diff --git a/internal/worldgen/gen_test.go b/internal/worldgen/gen_test.go index eb72265e..7008a229 100644 --- a/internal/worldgen/gen_test.go +++ b/internal/worldgen/gen_test.go @@ -103,20 +103,25 @@ func TestVillage(t *testing.T) { continue } cx, cz := floorDiv32(vx, 16), floorDiv32(vz, 16) - ch := g.Generate(cx, cz) + // 建筑跨区块(世界生成.md §4):统计中心 3×3 区块的木板/圆石总量 plankCnt, cobbleCnt := 0, 0 - snap := ch.Snapshot() - for i := 0; i < 16*16*256; i++ { - switch snap[i].ID() { - case planks: - plankCnt++ - case cobble: - cobbleCnt++ + for dcx := int32(-1); dcx <= 1; dcx++ { + for dcz := int32(-1); dcz <= 1; dcz++ { + ch := g.Generate(cx+dcx, cz+dcz) + snap := ch.Snapshot() + for i := 0; i < 16*16*256; i++ { + switch snap[i].ID() { + case planks: + plankCnt++ + case cobble: + cobbleCnt++ + } + } } } - // 建筑跨区块:中心区块至少包含水井(圆石)与部分房屋(木板) - if plankCnt < 10 || cobbleCnt == 0 { - t.Fatalf("村庄区块 (%d,%d) 建筑过少: 木板 %d 圆石 %d", cx, cz, plankCnt, cobbleCnt) + // 3 间房屋(每间约 70+ 木板)+ 水井(8 圆石) + if plankCnt < 150 || cobbleCnt < 8 { + t.Fatalf("村庄 (%d,%d) 建筑过少: 木板 %d 圆石 %d", cx, cz, plankCnt, cobbleCnt) } found++ } diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/t2embapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/t2embapi.h new file mode 100644 index 00000000..e38768fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/t2embapi.h @@ -0,0 +1,86 @@ +/* + * Copyright (c) 2009 Andrew Nguyen + * + * 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 __WINE_T2EMBAPI_H +#define __WINE_T2EMBAPI_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define CHARSET_UNICODE 1 +#define CHARSET_DEFAULT 1 +#define CHARSET_SYMBOL 2 +#define CHARSET_GLYPHIDX 3 + +#define LICENSE_INSTALLABLE 0x0000 +#define LICENSE_DEFAULT 0x0000 +#define LICENSE_NOEMBEDDING 0x0002 +#define LICENSE_PREVIEWPRINT 0x0004 +#define LICENSE_EDITABLE 0x0008 + +#define TTLOAD_PRIVATE 0x0001 + +/* Possible return values. */ +#define E_NONE __MSABI_LONG(0x0000) +#define E_API_NOTIMPL __MSABI_LONG(0x0001) +#define E_HDCINVALID __MSABI_LONG(0x0006) +#define E_NOFREEMEMORY __MSABI_LONG(0x0007) +#define E_NOTATRUETYPEFONT __MSABI_LONG(0x000a) +#define E_ERRORACCESSINGFONTDATA __MSABI_LONG(0x000c) +#define E_ERRORACCESSINGFACENAME __MSABI_LONG(0x000d) +#define E_FACENAMEINVALID __MSABI_LONG(0x0113) +#define E_PERMISSIONSINVALID __MSABI_LONG(0x0117) +#define E_PBENABLEDINVALID __MSABI_LONG(0x0118) + +typedef ULONG (WINAPIV * READEMBEDPROC)(void*,void*,ULONG); +typedef ULONG (WINAPIV * WRITEEMBEDPROC)(void*,void*,ULONG); + +typedef struct +{ + unsigned short usStructSize; + unsigned short usRefStrSize; + unsigned short *pusRefStr; +} TTLOADINFO; + +typedef struct +{ + unsigned short usStructSize; + unsigned short usRootStrSize; + unsigned short *pusRootStr; +} TTEMBEDINFO; + +LONG WINAPI TTLoadEmbeddedFont(HANDLE*,ULONG,ULONG*,ULONG,ULONG*,READEMBEDPROC, + LPVOID,LPWSTR,LPSTR,TTLOADINFO*); +LONG WINAPI TTDeleteEmbeddedFont(HANDLE,ULONG,ULONG*); + +/* embedding privileges */ +#define EMBED_PREVIEWPRINT 1 +#define EMBED_EDITABLE 2 +#define EMBED_INSTALLABLE 3 +#define EMBED_NOEMBEDDING 4 + +LONG WINAPI TTGetEmbeddingType(HDC, ULONG*); +LONG WINAPI TTIsEmbeddingEnabledForFacename(LPCSTR facename, WINBOOL *enabled); +LONG WINAPI TTIsEmbeddingEnabled(HDC hdc, WINBOOL *enabled); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tabflicks.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tabflicks.h new file mode 100644 index 00000000..553228f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tabflicks.h @@ -0,0 +1,73 @@ +/** + * 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_TABFLICKS +#define _INC_TABFLICKS +#if (_WIN32_WINNT >= 0x0600) +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum FLICKACTION_COMMANDCODE { + FLICKACTION_COMMANDCODE_NULL = 0, + FLICKACTION_COMMANDCODE_SCROLL = 1, + FLICKACTION_COMMANDCODE_APPCOMMAND = 2, + FLICKACTION_COMMANDCODE_CUSTOMKEY = 3, + FLICKACTION_COMMANDCODE_KEYMODIFIER = 4 +} FLICKACTION_COMMANDCODE; + +typedef enum FLICKDIRECTION { + FLICKDIRECTION_RIGHT = 0, + FLICKDIRECTION_UPRIGHT = 1, + FLICKDIRECTION_UP = 2, + FLICKDIRECTION_UPLEFT = 3, + FLICKDIRECTION_LEFT = 4, + FLICKDIRECTION_DOWN = 6, + FLICKDIRECTION_DOWNRIGHT = 7, + FLICKDIRECTION_INVALID = 8 +} FLICKDIRECTION; + +typedef enum FLICKMODE { + FLICKMODE_OFF = 0, + FLICKMODE_ON = 1 +} FLICKMODE; + +typedef enum KEYMODIFIER { + KEYMODIFIER_CONTROL = 1, + KEYMODIFIER_MENU = 2, + KEYMODIFIER_SHIFT = 4, + KEYMODIFIER_WIN = 8, + KEYMODIFIER_ALTGR = 16, + KEYMODIFIER_EXT = 32 +} KEYMODIFIER; + +typedef enum SCROLLDIRECTION { + SCROLLDIRECTION_UP = 0, + SCROLLDIRECTION_DOWN = 1 +} SCROLLDIRECTION; + +typedef struct FLICK_DATA { + FLICKACTION_COMMANDCODE iFlickActionCommandCode :5; + FLICKDIRECTION iFlickDirection :3; + WINBOOL fControlModifier :1; + WINBOOL fMenuModifier :1; + WINBOOL fAltGRModifier :1; + WINBOOL fWinModifier :1; + WINBOOL fShiftModifier :1; + INT iReserved :2; + WINBOOL fOnInkingSurface :1; + INT iActionArgument :16; +} FLICK_DATA; + +typedef struct FLICK_POINT { + INT x :16; + INT y :16; +} FLICK_POINT; + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /* _INC_TABFLICKS */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi.h new file mode 100644 index 00000000..9b3b061f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi.h @@ -0,0 +1,2331 @@ +/** + * 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 TAPI_H +#define TAPI_H + +#include <_mingw_unicode.h> + +#ifndef TAPI_CURRENT_VERSION +#define TAPI_CURRENT_VERSION 0x00030001 +#endif + +#include +#include +#include + +#pragma pack(1) + +#ifdef __cplusplus +extern "C" { +#endif + +#define DECLARE_OPAQUE32(name) typedef DWORD name + + DECLARE_OPAQUE32(HCALL); + typedef HCALL *LPHCALL; + + DECLARE_OPAQUE32(HCALLHUB); + typedef HCALLHUB *LPHCALLHUB; + + DECLARE_OPAQUE32(HLINE); + typedef HLINE *LPHLINE; + + DECLARE_OPAQUE32(HPHONE); + typedef HPHONE *LPHPHONE; + + DECLARE_OPAQUE32(HLINEAPP); + typedef HLINEAPP *LPHLINEAPP; + + DECLARE_OPAQUE32(HPHONEAPP); + typedef HPHONEAPP *LPHPHONEAPP; + + DECLARE_OPAQUE32(HAGENTSESSION); + typedef HAGENTSESSION *LPHAGENTSESSION; + + DECLARE_OPAQUE32(HAGENT); + typedef HAGENT *LPHAGENT; + + DECLARE_OPAQUE32(HPRIVATECHANNEL); + typedef HPRIVATECHANNEL *LPHPRIVATECHANNEL; + + typedef HICON *LPHICON; + + typedef void (CALLBACK *LINECALLBACK)(DWORD hDevice,DWORD dwMessage,DWORD_PTR dwInstance,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + typedef void (CALLBACK *PHONECALLBACK)(DWORD hDevice,DWORD dwMessage,DWORD_PTR dwInstance,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + +#define LINE_ADDRESSSTATE __MSABI_LONG(0) +#define LINE_CALLINFO __MSABI_LONG(1) +#define LINE_CALLSTATE __MSABI_LONG(2) +#define LINE_CLOSE __MSABI_LONG(3) +#define LINE_DEVSPECIFIC __MSABI_LONG(4) +#define LINE_DEVSPECIFICFEATURE __MSABI_LONG(5) +#define LINE_GATHERDIGITS __MSABI_LONG(6) +#define LINE_GENERATE __MSABI_LONG(7) +#define LINE_LINEDEVSTATE __MSABI_LONG(8) +#define LINE_MONITORDIGITS __MSABI_LONG(9) +#define LINE_MONITORMEDIA __MSABI_LONG(10) +#define LINE_MONITORTONE __MSABI_LONG(11) +#define LINE_REPLY __MSABI_LONG(12) +#define LINE_REQUEST __MSABI_LONG(13) +#define PHONE_BUTTON __MSABI_LONG(14) +#define PHONE_CLOSE __MSABI_LONG(15) +#define PHONE_DEVSPECIFIC __MSABI_LONG(16) +#define PHONE_REPLY __MSABI_LONG(17) +#define PHONE_STATE __MSABI_LONG(18) +#define LINE_CREATE __MSABI_LONG(19) +#define PHONE_CREATE __MSABI_LONG(20) +#define LINE_AGENTSPECIFIC __MSABI_LONG(21) +#define LINE_AGENTSTATUS __MSABI_LONG(22) +#define LINE_APPNEWCALL __MSABI_LONG(23) +#define LINE_PROXYREQUEST __MSABI_LONG(24) +#define LINE_REMOVE __MSABI_LONG(25) +#define PHONE_REMOVE __MSABI_LONG(26) + +#define LINE_AGENTSESSIONSTATUS __MSABI_LONG(27) +#define LINE_QUEUESTATUS __MSABI_LONG(28) +#define LINE_AGENTSTATUSEX __MSABI_LONG(29) +#define LINE_GROUPSTATUS __MSABI_LONG(30) +#define LINE_PROXYSTATUS __MSABI_LONG(31) + +#define LINE_APPNEWCALLHUB __MSABI_LONG(32) +#define LINE_CALLHUBCLOSE __MSABI_LONG(33) +#define LINE_DEVSPECIFICEX __MSABI_LONG(34) + +#define INITIALIZE_NEGOTIATION __MSABI_LONG(0xFFFFFFFFU) + +#define LINEADDRCAPFLAGS_FWDNUMRINGS 0x00000001 +#define LINEADDRCAPFLAGS_PICKUPGROUPID 0x00000002 +#define LINEADDRCAPFLAGS_SECURE 0x00000004 +#define LINEADDRCAPFLAGS_BLOCKIDDEFAULT 0x00000008 +#define LINEADDRCAPFLAGS_BLOCKIDOVERRIDE 0x00000010 +#define LINEADDRCAPFLAGS_DIALED 0x00000020 +#define LINEADDRCAPFLAGS_ORIGOFFHOOK 0x00000040 +#define LINEADDRCAPFLAGS_DESTOFFHOOK 0x00000080 +#define LINEADDRCAPFLAGS_FWDCONSULT 0x00000100 +#define LINEADDRCAPFLAGS_SETUPCONFNULL 0x00000200 +#define LINEADDRCAPFLAGS_AUTORECONNECT 0x00000400 +#define LINEADDRCAPFLAGS_COMPLETIONID 0x00000800 +#define LINEADDRCAPFLAGS_TRANSFERHELD 0x00001000 +#define LINEADDRCAPFLAGS_TRANSFERMAKE 0x00002000 +#define LINEADDRCAPFLAGS_CONFERENCEHELD 0x00004000 +#define LINEADDRCAPFLAGS_CONFERENCEMAKE 0x00008000 +#define LINEADDRCAPFLAGS_PARTIALDIAL 0x00010000 +#define LINEADDRCAPFLAGS_FWDSTATUSVALID 0x00020000 +#define LINEADDRCAPFLAGS_FWDINTEXTADDR 0x00040000 +#define LINEADDRCAPFLAGS_FWDBUSYNAADDR 0x00080000 +#define LINEADDRCAPFLAGS_ACCEPTTOALERT 0x00100000 +#define LINEADDRCAPFLAGS_CONFDROP 0x00200000 +#define LINEADDRCAPFLAGS_PICKUPCALLWAIT 0x00400000 +#define LINEADDRCAPFLAGS_PREDICTIVEDIALER 0x00800000 +#define LINEADDRCAPFLAGS_QUEUE 0x01000000 +#define LINEADDRCAPFLAGS_ROUTEPOINT 0x02000000 +#define LINEADDRCAPFLAGS_HOLDMAKESNEW 0x04000000 +#define LINEADDRCAPFLAGS_NOINTERNALCALLS 0x08000000 +#define LINEADDRCAPFLAGS_NOEXTERNALCALLS 0x10000000 +#define LINEADDRCAPFLAGS_SETCALLINGID 0x20000000 +#define LINEADDRCAPFLAGS_ACDGROUP 0x40000000 +#define LINEADDRCAPFLAGS_NOPSTNADDRESSTRANSLATION 0x80000000 + +#define LINEADDRESSMODE_ADDRESSID 0x00000001 +#define LINEADDRESSMODE_DIALABLEADDR 0x00000002 + +#define LINEADDRESSSHARING_PRIVATE 0x00000001 +#define LINEADDRESSSHARING_BRIDGEDEXCL 0x00000002 +#define LINEADDRESSSHARING_BRIDGEDNEW 0x00000004 +#define LINEADDRESSSHARING_BRIDGEDSHARED 0x00000008 +#define LINEADDRESSSHARING_MONITORED 0x00000010 + +#define LINEADDRESSSTATE_OTHER 0x00000001 +#define LINEADDRESSSTATE_DEVSPECIFIC 0x00000002 +#define LINEADDRESSSTATE_INUSEZERO 0x00000004 +#define LINEADDRESSSTATE_INUSEONE 0x00000008 +#define LINEADDRESSSTATE_INUSEMANY 0x00000010 +#define LINEADDRESSSTATE_NUMCALLS 0x00000020 +#define LINEADDRESSSTATE_FORWARD 0x00000040 +#define LINEADDRESSSTATE_TERMINALS 0x00000080 +#define LINEADDRESSSTATE_CAPSCHANGE 0x00000100 + +#define LINEADDRESSTYPE_PHONENUMBER 0x00000001 +#define LINEADDRESSTYPE_SDP 0x00000002 +#define LINEADDRESSTYPE_EMAILNAME 0x00000004 +#define LINEADDRESSTYPE_DOMAINNAME 0x00000008 +#define LINEADDRESSTYPE_IPADDRESS 0x00000010 + +#define LINEADDRFEATURE_FORWARD 0x00000001 +#define LINEADDRFEATURE_MAKECALL 0x00000002 +#define LINEADDRFEATURE_PICKUP 0x00000004 +#define LINEADDRFEATURE_SETMEDIACONTROL 0x00000008 +#define LINEADDRFEATURE_SETTERMINAL 0x00000010 +#define LINEADDRFEATURE_SETUPCONF 0x00000020 +#define LINEADDRFEATURE_UNCOMPLETECALL 0x00000040 +#define LINEADDRFEATURE_UNPARK 0x00000080 +#define LINEADDRFEATURE_PICKUPHELD 0x00000100 +#define LINEADDRFEATURE_PICKUPGROUP 0x00000200 +#define LINEADDRFEATURE_PICKUPDIRECT 0x00000400 +#define LINEADDRFEATURE_PICKUPWAITING 0x00000800 +#define LINEADDRFEATURE_FORWARDFWD 0x00001000 +#define LINEADDRFEATURE_FORWARDDND 0x00002000 + +#define LINEAGENTFEATURE_SETAGENTGROUP 0x00000001 +#define LINEAGENTFEATURE_SETAGENTSTATE 0x00000002 +#define LINEAGENTFEATURE_SETAGENTACTIVITY 0x00000004 +#define LINEAGENTFEATURE_AGENTSPECIFIC 0x00000008 +#define LINEAGENTFEATURE_GETAGENTACTIVITYLIST 0x00000010 +#define LINEAGENTFEATURE_GETAGENTGROUP 0x00000020 + +#define LINEAGENTSTATE_LOGGEDOFF 0x00000001 +#define LINEAGENTSTATE_NOTREADY 0x00000002 +#define LINEAGENTSTATE_READY 0x00000004 +#define LINEAGENTSTATE_BUSYACD 0x00000008 +#define LINEAGENTSTATE_BUSYINCOMING 0x00000010 +#define LINEAGENTSTATE_BUSYOUTBOUND 0x00000020 +#define LINEAGENTSTATE_BUSYOTHER 0x00000040 +#define LINEAGENTSTATE_WORKINGAFTERCALL 0x00000080 +#define LINEAGENTSTATE_UNKNOWN 0x00000100 +#define LINEAGENTSTATE_UNAVAIL 0x00000200 + +#define LINEAGENTSTATUS_GROUP 0x00000001 +#define LINEAGENTSTATUS_STATE 0x00000002 +#define LINEAGENTSTATUS_NEXTSTATE 0x00000004 +#define LINEAGENTSTATUS_ACTIVITY 0x00000008 +#define LINEAGENTSTATUS_ACTIVITYLIST 0x00000010 +#define LINEAGENTSTATUS_GROUPLIST 0x00000020 +#define LINEAGENTSTATUS_CAPSCHANGE 0x00000040 +#define LINEAGENTSTATUS_VALIDSTATES 0x00000080 +#define LINEAGENTSTATUS_VALIDNEXTSTATES 0x00000100 + +#define LINEAGENTSTATEEX_NOTREADY 0x00000001 +#define LINEAGENTSTATEEX_READY 0x00000002 +#define LINEAGENTSTATEEX_BUSYACD 0x00000004 +#define LINEAGENTSTATEEX_BUSYINCOMING 0x00000008 +#define LINEAGENTSTATEEX_BUSYOUTGOING 0x00000010 +#define LINEAGENTSTATEEX_UNKNOWN 0x00000020 +#define LINEAGENTSTATEEX_RELEASED 0x00000040 + +#define LINEAGENTSTATUSEX_NEWAGENT 0x00000001 +#define LINEAGENTSTATUSEX_STATE 0x00000002 +#define LINEAGENTSTATUSEX_UPDATEINFO 0x00000004 + +#define LINEAGENTSESSIONSTATE_NOTREADY 0x00000001 +#define LINEAGENTSESSIONSTATE_READY 0x00000002 +#define LINEAGENTSESSIONSTATE_BUSYONCALL 0x00000004 +#define LINEAGENTSESSIONSTATE_BUSYWRAPUP 0x00000008 +#define LINEAGENTSESSIONSTATE_ENDED 0x00000010 +#define LINEAGENTSESSIONSTATE_RELEASED 0x00000020 + +#define LINEAGENTSESSIONSTATUS_NEWSESSION 0x00000001 +#define LINEAGENTSESSIONSTATUS_STATE 0x00000002 +#define LINEAGENTSESSIONSTATUS_UPDATEINFO 0x00000004 + +#define LINEQUEUESTATUS_UPDATEINFO 0x00000001 +#define LINEQUEUESTATUS_NEWQUEUE 0x00000002 +#define LINEQUEUESTATUS_QUEUEREMOVED 0x00000004 + +#define LINEGROUPSTATUS_NEWGROUP 0x00000001 +#define LINEGROUPSTATUS_GROUPREMOVED 0x00000002 + +#define LINEPROXYSTATUS_OPEN 0x00000001 +#define LINEPROXYSTATUS_CLOSE 0x00000002 +#define LINEPROXYSTATUS_ALLOPENFORACD 0x00000004 + +#define LINEANSWERMODE_NONE 0x00000001 +#define LINEANSWERMODE_DROP 0x00000002 +#define LINEANSWERMODE_HOLD 0x00000004 + +#define LINEBEARERMODE_VOICE 0x00000001 +#define LINEBEARERMODE_SPEECH 0x00000002 +#define LINEBEARERMODE_MULTIUSE 0x00000004 +#define LINEBEARERMODE_DATA 0x00000008 +#define LINEBEARERMODE_ALTSPEECHDATA 0x00000010 +#define LINEBEARERMODE_NONCALLSIGNALING 0x00000020 +#define LINEBEARERMODE_PASSTHROUGH 0x00000040 +#define LINEBEARERMODE_RESTRICTEDDATA 0x00000080 + +#define LINEBUSYMODE_STATION 0x00000001 +#define LINEBUSYMODE_TRUNK 0x00000002 +#define LINEBUSYMODE_UNKNOWN 0x00000004 +#define LINEBUSYMODE_UNAVAIL 0x00000008 + +#define LINECALLCOMPLCOND_BUSY 0x00000001 +#define LINECALLCOMPLCOND_NOANSWER 0x00000002 + +#define LINECALLCOMPLMODE_CAMPON 0x00000001 +#define LINECALLCOMPLMODE_CALLBACK 0x00000002 +#define LINECALLCOMPLMODE_INTRUDE 0x00000004 +#define LINECALLCOMPLMODE_MESSAGE 0x00000008 + +#define LINECALLFEATURE_ACCEPT 0x00000001 +#define LINECALLFEATURE_ADDTOCONF 0x00000002 +#define LINECALLFEATURE_ANSWER 0x00000004 +#define LINECALLFEATURE_BLINDTRANSFER 0x00000008 +#define LINECALLFEATURE_COMPLETECALL 0x00000010 +#define LINECALLFEATURE_COMPLETETRANSF 0x00000020 +#define LINECALLFEATURE_DIAL 0x00000040 +#define LINECALLFEATURE_DROP 0x00000080 +#define LINECALLFEATURE_GATHERDIGITS 0x00000100 +#define LINECALLFEATURE_GENERATEDIGITS 0x00000200 +#define LINECALLFEATURE_GENERATETONE 0x00000400 +#define LINECALLFEATURE_HOLD 0x00000800 +#define LINECALLFEATURE_MONITORDIGITS 0x00001000 +#define LINECALLFEATURE_MONITORMEDIA 0x00002000 +#define LINECALLFEATURE_MONITORTONES 0x00004000 +#define LINECALLFEATURE_PARK 0x00008000 +#define LINECALLFEATURE_PREPAREADDCONF 0x00010000 +#define LINECALLFEATURE_REDIRECT 0x00020000 +#define LINECALLFEATURE_REMOVEFROMCONF 0x00040000 +#define LINECALLFEATURE_SECURECALL 0x00080000 +#define LINECALLFEATURE_SENDUSERUSER 0x00100000 +#define LINECALLFEATURE_SETCALLPARAMS 0x00200000 +#define LINECALLFEATURE_SETMEDIACONTROL 0x00400000 +#define LINECALLFEATURE_SETTERMINAL 0x00800000 +#define LINECALLFEATURE_SETUPCONF 0x01000000 +#define LINECALLFEATURE_SETUPTRANSFER 0x02000000 +#define LINECALLFEATURE_SWAPHOLD 0x04000000 +#define LINECALLFEATURE_UNHOLD 0x08000000 +#define LINECALLFEATURE_RELEASEUSERUSERINFO 0x10000000 +#define LINECALLFEATURE_SETTREATMENT 0x20000000 +#define LINECALLFEATURE_SETQOS 0x40000000 +#define LINECALLFEATURE_SETCALLDATA 0x80000000 +#define LINECALLFEATURE2_NOHOLDCONFERENCE 0x00000001 +#define LINECALLFEATURE2_ONESTEPTRANSFER 0x00000002 +#define LINECALLFEATURE2_COMPLCAMPON 0x00000004 +#define LINECALLFEATURE2_COMPLCALLBACK 0x00000008 +#define LINECALLFEATURE2_COMPLINTRUDE 0x00000010 +#define LINECALLFEATURE2_COMPLMESSAGE 0x00000020 +#define LINECALLFEATURE2_TRANSFERNORM 0x00000040 +#define LINECALLFEATURE2_TRANSFERCONF 0x00000080 +#define LINECALLFEATURE2_PARKDIRECT 0x00000100 +#define LINECALLFEATURE2_PARKNONDIRECT 0x00000200 + +#define LINECALLHUBTRACKING_NONE 0x00000000 +#define LINECALLHUBTRACKING_PROVIDERLEVEL 0x00000001 +#define LINECALLHUBTRACKING_ALLCALLS 0x00000002 + +#define LINECALLINFOSTATE_OTHER 0x00000001 +#define LINECALLINFOSTATE_DEVSPECIFIC 0x00000002 +#define LINECALLINFOSTATE_BEARERMODE 0x00000004 +#define LINECALLINFOSTATE_RATE 0x00000008 +#define LINECALLINFOSTATE_MEDIAMODE 0x00000010 +#define LINECALLINFOSTATE_APPSPECIFIC 0x00000020 +#define LINECALLINFOSTATE_CALLID 0x00000040 +#define LINECALLINFOSTATE_RELATEDCALLID 0x00000080 +#define LINECALLINFOSTATE_ORIGIN 0x00000100 +#define LINECALLINFOSTATE_REASON 0x00000200 +#define LINECALLINFOSTATE_COMPLETIONID 0x00000400 +#define LINECALLINFOSTATE_NUMOWNERINCR 0x00000800 +#define LINECALLINFOSTATE_NUMOWNERDECR 0x00001000 +#define LINECALLINFOSTATE_NUMMONITORS 0x00002000 +#define LINECALLINFOSTATE_TRUNK 0x00004000 +#define LINECALLINFOSTATE_CALLERID 0x00008000 +#define LINECALLINFOSTATE_CALLEDID 0x00010000 +#define LINECALLINFOSTATE_CONNECTEDID 0x00020000 +#define LINECALLINFOSTATE_REDIRECTIONID 0x00040000 +#define LINECALLINFOSTATE_REDIRECTINGID 0x00080000 +#define LINECALLINFOSTATE_DISPLAY 0x00100000 +#define LINECALLINFOSTATE_USERUSERINFO 0x00200000 +#define LINECALLINFOSTATE_HIGHLEVELCOMP 0x00400000 +#define LINECALLINFOSTATE_LOWLEVELCOMP 0x00800000 +#define LINECALLINFOSTATE_CHARGINGINFO 0x01000000 +#define LINECALLINFOSTATE_TERMINAL 0x02000000 +#define LINECALLINFOSTATE_DIALPARAMS 0x04000000 +#define LINECALLINFOSTATE_MONITORMODES 0x08000000 +#define LINECALLINFOSTATE_TREATMENT 0x10000000 +#define LINECALLINFOSTATE_QOS 0x20000000 +#define LINECALLINFOSTATE_CALLDATA 0x40000000 + +#define LINECALLORIGIN_OUTBOUND 0x00000001 +#define LINECALLORIGIN_INTERNAL 0x00000002 +#define LINECALLORIGIN_EXTERNAL 0x00000004 +#define LINECALLORIGIN_UNKNOWN 0x00000010 +#define LINECALLORIGIN_UNAVAIL 0x00000020 +#define LINECALLORIGIN_CONFERENCE 0x00000040 +#define LINECALLORIGIN_INBOUND 0x00000080 + +#define LINECALLPARAMFLAGS_SECURE 0x00000001 +#define LINECALLPARAMFLAGS_IDLE 0x00000002 +#define LINECALLPARAMFLAGS_BLOCKID 0x00000004 +#define LINECALLPARAMFLAGS_ORIGOFFHOOK 0x00000008 +#define LINECALLPARAMFLAGS_DESTOFFHOOK 0x00000010 +#define LINECALLPARAMFLAGS_NOHOLDCONFERENCE 0x00000020 +#define LINECALLPARAMFLAGS_PREDICTIVEDIAL 0x00000040 +#define LINECALLPARAMFLAGS_ONESTEPTRANSFER 0x00000080 + +#define LINECALLPARTYID_BLOCKED 0x00000001 +#define LINECALLPARTYID_OUTOFAREA 0x00000002 +#define LINECALLPARTYID_NAME 0x00000004 +#define LINECALLPARTYID_ADDRESS 0x00000008 +#define LINECALLPARTYID_PARTIAL 0x00000010 +#define LINECALLPARTYID_UNKNOWN 0x00000020 +#define LINECALLPARTYID_UNAVAIL 0x00000040 + +#define LINECALLPRIVILEGE_NONE 0x00000001 +#define LINECALLPRIVILEGE_MONITOR 0x00000002 +#define LINECALLPRIVILEGE_OWNER 0x00000004 + +#define LINECALLREASON_DIRECT 0x00000001 +#define LINECALLREASON_FWDBUSY 0x00000002 +#define LINECALLREASON_FWDNOANSWER 0x00000004 +#define LINECALLREASON_FWDUNCOND 0x00000008 +#define LINECALLREASON_PICKUP 0x00000010 +#define LINECALLREASON_UNPARK 0x00000020 +#define LINECALLREASON_REDIRECT 0x00000040 +#define LINECALLREASON_CALLCOMPLETION 0x00000080 +#define LINECALLREASON_TRANSFER 0x00000100 +#define LINECALLREASON_REMINDER 0x00000200 +#define LINECALLREASON_UNKNOWN 0x00000400 +#define LINECALLREASON_UNAVAIL 0x00000800 +#define LINECALLREASON_INTRUDE 0x00001000 +#define LINECALLREASON_PARKED 0x00002000 +#define LINECALLREASON_CAMPEDON 0x00004000 +#define LINECALLREASON_ROUTEREQUEST 0x00008000 + +#define LINECALLSELECT_LINE 0x00000001 +#define LINECALLSELECT_ADDRESS 0x00000002 +#define LINECALLSELECT_CALL 0x00000004 +#define LINECALLSELECT_DEVICEID 0x00000008 +#define LINECALLSELECT_CALLID 0x00000010 + +#define LINECALLSTATE_IDLE 0x00000001 +#define LINECALLSTATE_OFFERING 0x00000002 +#define LINECALLSTATE_ACCEPTED 0x00000004 +#define LINECALLSTATE_DIALTONE 0x00000008 +#define LINECALLSTATE_DIALING 0x00000010 +#define LINECALLSTATE_RINGBACK 0x00000020 +#define LINECALLSTATE_BUSY 0x00000040 +#define LINECALLSTATE_SPECIALINFO 0x00000080 +#define LINECALLSTATE_CONNECTED 0x00000100 +#define LINECALLSTATE_PROCEEDING 0x00000200 +#define LINECALLSTATE_ONHOLD 0x00000400 +#define LINECALLSTATE_CONFERENCED 0x00000800 +#define LINECALLSTATE_ONHOLDPENDCONF 0x00001000 +#define LINECALLSTATE_ONHOLDPENDTRANSFER 0x00002000 +#define LINECALLSTATE_DISCONNECTED 0x00004000 +#define LINECALLSTATE_UNKNOWN 0x00008000 + +#define LINECALLTREATMENT_SILENCE 0x00000001 +#define LINECALLTREATMENT_RINGBACK 0x00000002 +#define LINECALLTREATMENT_BUSY 0x00000003 +#define LINECALLTREATMENT_MUSIC 0x00000004 + +#define LINECARDOPTION_PREDEFINED 0x00000001 +#define LINECARDOPTION_HIDDEN 0x00000002 + +#define LINECONNECTEDMODE_ACTIVE 0x00000001 +#define LINECONNECTEDMODE_INACTIVE 0x00000002 +#define LINECONNECTEDMODE_ACTIVEHELD 0x00000004 +#define LINECONNECTEDMODE_INACTIVEHELD 0x00000008 +#define LINECONNECTEDMODE_CONFIRMED 0x00000010 + +#define LINEDEVCAPFLAGS_CROSSADDRCONF 0x00000001 +#define LINEDEVCAPFLAGS_HIGHLEVCOMP 0x00000002 +#define LINEDEVCAPFLAGS_LOWLEVCOMP 0x00000004 +#define LINEDEVCAPFLAGS_MEDIACONTROL 0x00000008 +#define LINEDEVCAPFLAGS_MULTIPLEADDR 0x00000010 +#define LINEDEVCAPFLAGS_CLOSEDROP 0x00000020 +#define LINEDEVCAPFLAGS_DIALBILLING 0x00000040 +#define LINEDEVCAPFLAGS_DIALQUIET 0x00000080 +#define LINEDEVCAPFLAGS_DIALDIALTONE 0x00000100 +#define LINEDEVCAPFLAGS_MSP 0x00000200 +#define LINEDEVCAPFLAGS_CALLHUB 0x00000400 +#define LINEDEVCAPFLAGS_CALLHUBTRACKING 0x00000800 +#define LINEDEVCAPFLAGS_PRIVATEOBJECTS 0x00001000 +#define LINEDEVCAPFLAGS_LOCAL 0x00002000 + +#define LINEDEVSTATE_OTHER 0x00000001 +#define LINEDEVSTATE_RINGING 0x00000002 +#define LINEDEVSTATE_CONNECTED 0x00000004 +#define LINEDEVSTATE_DISCONNECTED 0x00000008 +#define LINEDEVSTATE_MSGWAITON 0x00000010 +#define LINEDEVSTATE_MSGWAITOFF 0x00000020 +#define LINEDEVSTATE_INSERVICE 0x00000040 +#define LINEDEVSTATE_OUTOFSERVICE 0x00000080 +#define LINEDEVSTATE_MAINTENANCE 0x00000100 +#define LINEDEVSTATE_OPEN 0x00000200 +#define LINEDEVSTATE_CLOSE 0x00000400 +#define LINEDEVSTATE_NUMCALLS 0x00000800 +#define LINEDEVSTATE_NUMCOMPLETIONS 0x00001000 +#define LINEDEVSTATE_TERMINALS 0x00002000 +#define LINEDEVSTATE_ROAMMODE 0x00004000 +#define LINEDEVSTATE_BATTERY 0x00008000 +#define LINEDEVSTATE_SIGNAL 0x00010000 +#define LINEDEVSTATE_DEVSPECIFIC 0x00020000 +#define LINEDEVSTATE_REINIT 0x00040000 +#define LINEDEVSTATE_LOCK 0x00080000 +#define LINEDEVSTATE_CAPSCHANGE 0x00100000 +#define LINEDEVSTATE_CONFIGCHANGE 0x00200000 +#define LINEDEVSTATE_TRANSLATECHANGE 0x00400000 +#define LINEDEVSTATE_COMPLCANCEL 0x00800000 +#define LINEDEVSTATE_REMOVED 0x01000000 + +#define LINEDEVSTATUSFLAGS_CONNECTED 0x00000001 +#define LINEDEVSTATUSFLAGS_MSGWAIT 0x00000002 +#define LINEDEVSTATUSFLAGS_INSERVICE 0x00000004 +#define LINEDEVSTATUSFLAGS_LOCKED 0x00000008 + +#define LINEDIALTONEMODE_NORMAL 0x00000001 +#define LINEDIALTONEMODE_SPECIAL 0x00000002 +#define LINEDIALTONEMODE_INTERNAL 0x00000004 +#define LINEDIALTONEMODE_EXTERNAL 0x00000008 +#define LINEDIALTONEMODE_UNKNOWN 0x00000010 +#define LINEDIALTONEMODE_UNAVAIL 0x00000020 + +#define LINEDIGITMODE_PULSE 0x00000001 +#define LINEDIGITMODE_DTMF 0x00000002 +#define LINEDIGITMODE_DTMFEND 0x00000004 + +#define LINEDISCONNECTMODE_NORMAL 0x00000001 +#define LINEDISCONNECTMODE_UNKNOWN 0x00000002 +#define LINEDISCONNECTMODE_REJECT 0x00000004 +#define LINEDISCONNECTMODE_PICKUP 0x00000008 +#define LINEDISCONNECTMODE_FORWARDED 0x00000010 +#define LINEDISCONNECTMODE_BUSY 0x00000020 +#define LINEDISCONNECTMODE_NOANSWER 0x00000040 +#define LINEDISCONNECTMODE_BADADDRESS 0x00000080 +#define LINEDISCONNECTMODE_UNREACHABLE 0x00000100 +#define LINEDISCONNECTMODE_CONGESTION 0x00000200 +#define LINEDISCONNECTMODE_INCOMPATIBLE 0x00000400 +#define LINEDISCONNECTMODE_UNAVAIL 0x00000800 +#define LINEDISCONNECTMODE_NODIALTONE 0x00001000 +#define LINEDISCONNECTMODE_NUMBERCHANGED 0x00002000 +#define LINEDISCONNECTMODE_OUTOFORDER 0x00004000 +#define LINEDISCONNECTMODE_TEMPFAILURE 0x00008000 +#define LINEDISCONNECTMODE_QOSUNAVAIL 0x00010000 +#define LINEDISCONNECTMODE_BLOCKED 0x00020000 +#define LINEDISCONNECTMODE_DONOTDISTURB 0x00040000 +#define LINEDISCONNECTMODE_CANCELLED 0x00080000 + +#define LINEERR_ALLOCATED 0x80000001 +#define LINEERR_BADDEVICEID 0x80000002 +#define LINEERR_BEARERMODEUNAVAIL 0x80000003 +#define LINEERR_CALLUNAVAIL 0x80000005 +#define LINEERR_COMPLETIONOVERRUN 0x80000006 +#define LINEERR_CONFERENCEFULL 0x80000007 +#define LINEERR_DIALBILLING 0x80000008 +#define LINEERR_DIALDIALTONE 0x80000009 +#define LINEERR_DIALPROMPT 0x8000000A +#define LINEERR_DIALQUIET 0x8000000B +#define LINEERR_INCOMPATIBLEAPIVERSION 0x8000000C +#define LINEERR_INCOMPATIBLEEXTVERSION 0x8000000D +#define LINEERR_INIFILECORRUPT 0x8000000E +#define LINEERR_INUSE 0x8000000F +#define LINEERR_INVALADDRESS 0x80000010 +#define LINEERR_INVALADDRESSID 0x80000011 +#define LINEERR_INVALADDRESSMODE 0x80000012 +#define LINEERR_INVALADDRESSSTATE 0x80000013 +#define LINEERR_INVALAPPHANDLE 0x80000014 +#define LINEERR_INVALAPPNAME 0x80000015 +#define LINEERR_INVALBEARERMODE 0x80000016 +#define LINEERR_INVALCALLCOMPLMODE 0x80000017 +#define LINEERR_INVALCALLHANDLE 0x80000018 +#define LINEERR_INVALCALLPARAMS 0x80000019 +#define LINEERR_INVALCALLPRIVILEGE 0x8000001A +#define LINEERR_INVALCALLSELECT 0x8000001B +#define LINEERR_INVALCALLSTATE 0x8000001C +#define LINEERR_INVALCALLSTATELIST 0x8000001D +#define LINEERR_INVALCARD 0x8000001E +#define LINEERR_INVALCOMPLETIONID 0x8000001F +#define LINEERR_INVALCONFCALLHANDLE 0x80000020 +#define LINEERR_INVALCONSULTCALLHANDLE 0x80000021 +#define LINEERR_INVALCOUNTRYCODE 0x80000022 +#define LINEERR_INVALDEVICECLASS 0x80000023 +#define LINEERR_INVALDEVICEHANDLE 0x80000024 +#define LINEERR_INVALDIALPARAMS 0x80000025 +#define LINEERR_INVALDIGITLIST 0x80000026 +#define LINEERR_INVALDIGITMODE 0x80000027 +#define LINEERR_INVALDIGITS 0x80000028 +#define LINEERR_INVALEXTVERSION 0x80000029 +#define LINEERR_INVALGROUPID 0x8000002A +#define LINEERR_INVALLINEHANDLE 0x8000002B +#define LINEERR_INVALLINESTATE 0x8000002C +#define LINEERR_INVALLOCATION 0x8000002D +#define LINEERR_INVALMEDIALIST 0x8000002E +#define LINEERR_INVALMEDIAMODE 0x8000002F +#define LINEERR_INVALMESSAGEID 0x80000030 +#define LINEERR_INVALPARAM 0x80000032 +#define LINEERR_INVALPARKID 0x80000033 +#define LINEERR_INVALPARKMODE 0x80000034 +#define LINEERR_INVALPOINTER 0x80000035 +#define LINEERR_INVALPRIVSELECT 0x80000036 +#define LINEERR_INVALRATE 0x80000037 +#define LINEERR_INVALREQUESTMODE 0x80000038 +#define LINEERR_INVALTERMINALID 0x80000039 +#define LINEERR_INVALTERMINALMODE 0x8000003A +#define LINEERR_INVALTIMEOUT 0x8000003B +#define LINEERR_INVALTONE 0x8000003C +#define LINEERR_INVALTONELIST 0x8000003D +#define LINEERR_INVALTONEMODE 0x8000003E +#define LINEERR_INVALTRANSFERMODE 0x8000003F +#define LINEERR_LINEMAPPERFAILED 0x80000040 +#define LINEERR_NOCONFERENCE 0x80000041 +#define LINEERR_NODEVICE 0x80000042 +#define LINEERR_NODRIVER 0x80000043 +#define LINEERR_NOMEM 0x80000044 +#define LINEERR_NOREQUEST 0x80000045 +#define LINEERR_NOTOWNER 0x80000046 +#define LINEERR_NOTREGISTERED 0x80000047 +#define LINEERR_OPERATIONFAILED 0x80000048 +#define LINEERR_OPERATIONUNAVAIL 0x80000049 +#define LINEERR_RATEUNAVAIL 0x8000004A +#define LINEERR_RESOURCEUNAVAIL 0x8000004B +#define LINEERR_REQUESTOVERRUN 0x8000004C +#define LINEERR_STRUCTURETOOSMALL 0x8000004D +#define LINEERR_TARGETNOTFOUND 0x8000004E +#define LINEERR_TARGETSELF 0x8000004F +#define LINEERR_UNINITIALIZED 0x80000050 +#define LINEERR_USERUSERINFOTOOBIG 0x80000051 +#define LINEERR_REINIT 0x80000052 +#define LINEERR_ADDRESSBLOCKED 0x80000053 +#define LINEERR_BILLINGREJECTED 0x80000054 +#define LINEERR_INVALFEATURE 0x80000055 +#define LINEERR_NOMULTIPLEINSTANCE 0x80000056 +#define LINEERR_INVALAGENTID 0x80000057 +#define LINEERR_INVALAGENTGROUP 0x80000058 +#define LINEERR_INVALPASSWORD 0x80000059 +#define LINEERR_INVALAGENTSTATE 0x8000005A +#define LINEERR_INVALAGENTACTIVITY 0x8000005B +#define LINEERR_DIALVOICEDETECT 0x8000005C +#define LINEERR_USERCANCELLED 0x8000005D +#define LINEERR_INVALADDRESSTYPE 0x8000005E +#define LINEERR_INVALAGENTSESSIONSTATE 0x8000005F +#define LINEERR_DISCONNECTED 0X80000060 +#define LINEERR_SERVICE_NOT_RUNNING 0x80000061 + +#define LINEFEATURE_DEVSPECIFIC 0x00000001 +#define LINEFEATURE_DEVSPECIFICFEAT 0x00000002 +#define LINEFEATURE_FORWARD 0x00000004 +#define LINEFEATURE_MAKECALL 0x00000008 +#define LINEFEATURE_SETMEDIACONTROL 0x00000010 +#define LINEFEATURE_SETTERMINAL 0x00000020 +#define LINEFEATURE_SETDEVSTATUS 0x00000040 +#define LINEFEATURE_FORWARDFWD 0x00000080 +#define LINEFEATURE_FORWARDDND 0x00000100 + +#define LINEFORWARDMODE_UNCOND 0x00000001 +#define LINEFORWARDMODE_UNCONDINTERNAL 0x00000002 +#define LINEFORWARDMODE_UNCONDEXTERNAL 0x00000004 +#define LINEFORWARDMODE_UNCONDSPECIFIC 0x00000008 +#define LINEFORWARDMODE_BUSY 0x00000010 +#define LINEFORWARDMODE_BUSYINTERNAL 0x00000020 +#define LINEFORWARDMODE_BUSYEXTERNAL 0x00000040 +#define LINEFORWARDMODE_BUSYSPECIFIC 0x00000080 +#define LINEFORWARDMODE_NOANSW 0x00000100 +#define LINEFORWARDMODE_NOANSWINTERNAL 0x00000200 +#define LINEFORWARDMODE_NOANSWEXTERNAL 0x00000400 +#define LINEFORWARDMODE_NOANSWSPECIFIC 0x00000800 +#define LINEFORWARDMODE_BUSYNA 0x00001000 +#define LINEFORWARDMODE_BUSYNAINTERNAL 0x00002000 +#define LINEFORWARDMODE_BUSYNAEXTERNAL 0x00004000 +#define LINEFORWARDMODE_BUSYNASPECIFIC 0x00008000 +#define LINEFORWARDMODE_UNKNOWN 0x00010000 +#define LINEFORWARDMODE_UNAVAIL 0x00020000 + +#define LINEGATHERTERM_BUFFERFULL 0x00000001 +#define LINEGATHERTERM_TERMDIGIT 0x00000002 +#define LINEGATHERTERM_FIRSTTIMEOUT 0x00000004 +#define LINEGATHERTERM_INTERTIMEOUT 0x00000008 +#define LINEGATHERTERM_CANCEL 0x00000010 + +#define LINEGENERATETERM_DONE 0x00000001 +#define LINEGENERATETERM_CANCEL 0x00000002 + +#define LINEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 +#define LINEINITIALIZEEXOPTION_USEEVENT 0x00000002 +#define LINEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 +#define LINEINITIALIZEEXOPTION_CALLHUBTRACKING 0x80000000 +#define LINELOCATIONOPTION_PULSEDIAL 0x00000001 + +#define LINEMAPPER 0xFFFFFFFF + +#define LINEMEDIACONTROL_NONE 0x00000001 +#define LINEMEDIACONTROL_START 0x00000002 +#define LINEMEDIACONTROL_RESET 0x00000004 +#define LINEMEDIACONTROL_PAUSE 0x00000008 +#define LINEMEDIACONTROL_RESUME 0x00000010 +#define LINEMEDIACONTROL_RATEUP 0x00000020 +#define LINEMEDIACONTROL_RATEDOWN 0x00000040 +#define LINEMEDIACONTROL_RATENORMAL 0x00000080 +#define LINEMEDIACONTROL_VOLUMEUP 0x00000100 +#define LINEMEDIACONTROL_VOLUMEDOWN 0x00000200 +#define LINEMEDIACONTROL_VOLUMENORMAL 0x00000400 + +#define LINEMEDIAMODE_UNKNOWN 0x00000002 +#define LINEMEDIAMODE_INTERACTIVEVOICE 0x00000004 +#define LINEMEDIAMODE_AUTOMATEDVOICE 0x00000008 +#define LINEMEDIAMODE_DATAMODEM 0x00000010 +#define LINEMEDIAMODE_G3FAX 0x00000020 +#define LINEMEDIAMODE_TDD 0x00000040 +#define LINEMEDIAMODE_G4FAX 0x00000080 +#define LINEMEDIAMODE_DIGITALDATA 0x00000100 +#define LINEMEDIAMODE_TELETEX 0x00000200 +#define LINEMEDIAMODE_VIDEOTEX 0x00000400 +#define LINEMEDIAMODE_TELEX 0x00000800 +#define LINEMEDIAMODE_MIXED 0x00001000 +#define LINEMEDIAMODE_ADSI 0x00002000 +#define LINEMEDIAMODE_VOICEVIEW 0x00004000 +#define LINEMEDIAMODE_VIDEO 0x00008000 +#define LAST_LINEMEDIAMODE 0x00008000 + +#define LINEOFFERINGMODE_ACTIVE 0x00000001 +#define LINEOFFERINGMODE_INACTIVE 0x00000002 + +#define LINEOPENOPTION_SINGLEADDRESS 0x80000000 +#define LINEOPENOPTION_PROXY 0x40000000 + +#define LINEPARKMODE_DIRECTED 0x00000001 +#define LINEPARKMODE_NONDIRECTED 0x00000002 + +#define LINEPROXYREQUEST_SETAGENTGROUP 0x00000001 +#define LINEPROXYREQUEST_SETAGENTSTATE 0x00000002 +#define LINEPROXYREQUEST_SETAGENTACTIVITY 0x00000003 +#define LINEPROXYREQUEST_GETAGENTCAPS 0x00000004 +#define LINEPROXYREQUEST_GETAGENTSTATUS 0x00000005 +#define LINEPROXYREQUEST_AGENTSPECIFIC 0x00000006 +#define LINEPROXYREQUEST_GETAGENTACTIVITYLIST 0x00000007 +#define LINEPROXYREQUEST_GETAGENTGROUPLIST 0x00000008 + +#define LINEPROXYREQUEST_CREATEAGENT 0x00000009 +#define LINEPROXYREQUEST_SETAGENTMEASUREMENTPERIOD 0x0000000A +#define LINEPROXYREQUEST_GETAGENTINFO 0x0000000B +#define LINEPROXYREQUEST_CREATEAGENTSESSION 0x0000000C +#define LINEPROXYREQUEST_GETAGENTSESSIONLIST 0x0000000D +#define LINEPROXYREQUEST_SETAGENTSESSIONSTATE 0x0000000E +#define LINEPROXYREQUEST_GETAGENTSESSIONINFO 0x0000000F +#define LINEPROXYREQUEST_GETQUEUELIST 0x00000010 +#define LINEPROXYREQUEST_SETQUEUEMEASUREMENTPERIOD 0x00000011 +#define LINEPROXYREQUEST_GETQUEUEINFO 0x00000012 +#define LINEPROXYREQUEST_GETGROUPLIST 0x00000013 +#define LINEPROXYREQUEST_SETAGENTSTATEEX 0x00000014 + +#define LINEREMOVEFROMCONF_NONE 0x00000001 +#define LINEREMOVEFROMCONF_LAST 0x00000002 +#define LINEREMOVEFROMCONF_ANY 0x00000003 + +#define LINEREQUESTMODE_MAKECALL 0x00000001 +#define LINEREQUESTMODE_MEDIACALL 0x00000002 +#define LINEREQUESTMODE_DROP 0x00000004 +#define LAST_LINEREQUESTMODE LINEREQUESTMODE_MEDIACALL + +#define LINEROAMMODE_UNKNOWN 0x00000001 +#define LINEROAMMODE_UNAVAIL 0x00000002 +#define LINEROAMMODE_HOME 0x00000004 +#define LINEROAMMODE_ROAMA 0x00000008 +#define LINEROAMMODE_ROAMB 0x00000010 + +#define LINESPECIALINFO_NOCIRCUIT 0x00000001 +#define LINESPECIALINFO_CUSTIRREG 0x00000002 +#define LINESPECIALINFO_REORDER 0x00000004 +#define LINESPECIALINFO_UNKNOWN 0x00000008 +#define LINESPECIALINFO_UNAVAIL 0x00000010 + +#define LINETERMDEV_PHONE 0x00000001 +#define LINETERMDEV_HEADSET 0x00000002 +#define LINETERMDEV_SPEAKER 0x00000004 + +#define LINETERMMODE_BUTTONS 0x00000001 +#define LINETERMMODE_LAMPS 0x00000002 +#define LINETERMMODE_DISPLAY 0x00000004 +#define LINETERMMODE_RINGER 0x00000008 +#define LINETERMMODE_HOOKSWITCH 0x00000010 +#define LINETERMMODE_MEDIATOLINE 0x00000020 +#define LINETERMMODE_MEDIAFROMLINE 0x00000040 +#define LINETERMMODE_MEDIABIDIRECT 0x00000080 + +#define LINETERMSHARING_PRIVATE 0x00000001 +#define LINETERMSHARING_SHAREDEXCL 0x00000002 +#define LINETERMSHARING_SHAREDCONF 0x00000004 + +#define LINETOLLLISTOPTION_ADD 0x00000001 +#define LINETOLLLISTOPTION_REMOVE 0x00000002 + +#define LINETONEMODE_CUSTOM 0x00000001 +#define LINETONEMODE_RINGBACK 0x00000002 +#define LINETONEMODE_BUSY 0x00000004 +#define LINETONEMODE_BEEP 0x00000008 +#define LINETONEMODE_BILLING 0x00000010 + +#define LINETRANSFERMODE_TRANSFER 0x00000001 +#define LINETRANSFERMODE_CONFERENCE 0x00000002 + +#define LINETRANSLATEOPTION_CARDOVERRIDE 0x00000001 +#define LINETRANSLATEOPTION_CANCELCALLWAITING 0x00000002 +#define LINETRANSLATEOPTION_FORCELOCAL 0x00000004 +#define LINETRANSLATEOPTION_FORCELD 0x00000008 + +#define LINETRANSLATERESULT_CANONICAL 0x00000001 +#define LINETRANSLATERESULT_INTERNATIONAL 0x00000002 +#define LINETRANSLATERESULT_LONGDISTANCE 0x00000004 +#define LINETRANSLATERESULT_LOCAL 0x00000008 +#define LINETRANSLATERESULT_INTOLLLIST 0x00000010 +#define LINETRANSLATERESULT_NOTINTOLLLIST 0x00000020 +#define LINETRANSLATERESULT_DIALBILLING 0x00000040 +#define LINETRANSLATERESULT_DIALQUIET 0x00000080 +#define LINETRANSLATERESULT_DIALDIALTONE 0x00000100 +#define LINETRANSLATERESULT_DIALPROMPT 0x00000200 +#define LINETRANSLATERESULT_VOICEDETECT 0x00000400 +#define LINETRANSLATERESULT_NOTRANSLATION 0x00000800 + +#define PHONEBUTTONFUNCTION_UNKNOWN 0x00000000 +#define PHONEBUTTONFUNCTION_CONFERENCE 0x00000001 +#define PHONEBUTTONFUNCTION_TRANSFER 0x00000002 +#define PHONEBUTTONFUNCTION_DROP 0x00000003 +#define PHONEBUTTONFUNCTION_HOLD 0x00000004 +#define PHONEBUTTONFUNCTION_RECALL 0x00000005 +#define PHONEBUTTONFUNCTION_DISCONNECT 0x00000006 +#define PHONEBUTTONFUNCTION_CONNECT 0x00000007 +#define PHONEBUTTONFUNCTION_MSGWAITON 0x00000008 +#define PHONEBUTTONFUNCTION_MSGWAITOFF 0x00000009 +#define PHONEBUTTONFUNCTION_SELECTRING 0x0000000A +#define PHONEBUTTONFUNCTION_ABBREVDIAL 0x0000000B +#define PHONEBUTTONFUNCTION_FORWARD 0x0000000C +#define PHONEBUTTONFUNCTION_PICKUP 0x0000000D +#define PHONEBUTTONFUNCTION_RINGAGAIN 0x0000000E +#define PHONEBUTTONFUNCTION_PARK 0x0000000F +#define PHONEBUTTONFUNCTION_REJECT 0x00000010 +#define PHONEBUTTONFUNCTION_REDIRECT 0x00000011 +#define PHONEBUTTONFUNCTION_MUTE 0x00000012 +#define PHONEBUTTONFUNCTION_VOLUMEUP 0x00000013 +#define PHONEBUTTONFUNCTION_VOLUMEDOWN 0x00000014 +#define PHONEBUTTONFUNCTION_SPEAKERON 0x00000015 +#define PHONEBUTTONFUNCTION_SPEAKEROFF 0x00000016 +#define PHONEBUTTONFUNCTION_FLASH 0x00000017 +#define PHONEBUTTONFUNCTION_DATAON 0x00000018 +#define PHONEBUTTONFUNCTION_DATAOFF 0x00000019 +#define PHONEBUTTONFUNCTION_DONOTDISTURB 0x0000001A +#define PHONEBUTTONFUNCTION_INTERCOM 0x0000001B +#define PHONEBUTTONFUNCTION_BRIDGEDAPP 0x0000001C +#define PHONEBUTTONFUNCTION_BUSY 0x0000001D +#define PHONEBUTTONFUNCTION_CALLAPP 0x0000001E +#define PHONEBUTTONFUNCTION_DATETIME 0x0000001F +#define PHONEBUTTONFUNCTION_DIRECTORY 0x00000020 +#define PHONEBUTTONFUNCTION_COVER 0x00000021 +#define PHONEBUTTONFUNCTION_CALLID 0x00000022 +#define PHONEBUTTONFUNCTION_LASTNUM 0x00000023 +#define PHONEBUTTONFUNCTION_NIGHTSRV 0x00000024 +#define PHONEBUTTONFUNCTION_SENDCALLS 0x00000025 +#define PHONEBUTTONFUNCTION_MSGINDICATOR 0x00000026 +#define PHONEBUTTONFUNCTION_REPDIAL 0x00000027 +#define PHONEBUTTONFUNCTION_SETREPDIAL 0x00000028 +#define PHONEBUTTONFUNCTION_SYSTEMSPEED 0x00000029 +#define PHONEBUTTONFUNCTION_STATIONSPEED 0x0000002A +#define PHONEBUTTONFUNCTION_CAMPON 0x0000002B +#define PHONEBUTTONFUNCTION_SAVEREPEAT 0x0000002C +#define PHONEBUTTONFUNCTION_QUEUECALL 0x0000002D +#define PHONEBUTTONFUNCTION_NONE 0x0000002E +#define PHONEBUTTONFUNCTION_SEND 0x0000002F + +#define PHONEBUTTONMODE_DUMMY 0x00000001 +#define PHONEBUTTONMODE_CALL 0x00000002 +#define PHONEBUTTONMODE_FEATURE 0x00000004 +#define PHONEBUTTONMODE_KEYPAD 0x00000008 +#define PHONEBUTTONMODE_LOCAL 0x00000010 +#define PHONEBUTTONMODE_DISPLAY 0x00000020 + +#define PHONEBUTTONSTATE_UP 0x00000001 +#define PHONEBUTTONSTATE_DOWN 0x00000002 +#define PHONEBUTTONSTATE_UNKNOWN 0x00000004 +#define PHONEBUTTONSTATE_UNAVAIL 0x00000008 + +#define PHONEERR_ALLOCATED 0x90000001 +#define PHONEERR_BADDEVICEID 0x90000002 +#define PHONEERR_INCOMPATIBLEAPIVERSION 0x90000003 +#define PHONEERR_INCOMPATIBLEEXTVERSION 0x90000004 +#define PHONEERR_INIFILECORRUPT 0x90000005 +#define PHONEERR_INUSE 0x90000006 +#define PHONEERR_INVALAPPHANDLE 0x90000007 +#define PHONEERR_INVALAPPNAME 0x90000008 +#define PHONEERR_INVALBUTTONLAMPID 0x90000009 +#define PHONEERR_INVALBUTTONMODE 0x9000000A +#define PHONEERR_INVALBUTTONSTATE 0x9000000B +#define PHONEERR_INVALDATAID 0x9000000C +#define PHONEERR_INVALDEVICECLASS 0x9000000D +#define PHONEERR_INVALEXTVERSION 0x9000000E +#define PHONEERR_INVALHOOKSWITCHDEV 0x9000000F +#define PHONEERR_INVALHOOKSWITCHMODE 0x90000010 +#define PHONEERR_INVALLAMPMODE 0x90000011 +#define PHONEERR_INVALPARAM 0x90000012 +#define PHONEERR_INVALPHONEHANDLE 0x90000013 +#define PHONEERR_INVALPHONESTATE 0x90000014 +#define PHONEERR_INVALPOINTER 0x90000015 +#define PHONEERR_INVALPRIVILEGE 0x90000016 +#define PHONEERR_INVALRINGMODE 0x90000017 +#define PHONEERR_NODEVICE 0x90000018 +#define PHONEERR_NODRIVER 0x90000019 +#define PHONEERR_NOMEM 0x9000001A +#define PHONEERR_NOTOWNER 0x9000001B +#define PHONEERR_OPERATIONFAILED 0x9000001C +#define PHONEERR_OPERATIONUNAVAIL 0x9000001D +#define PHONEERR_RESOURCEUNAVAIL 0x9000001F +#define PHONEERR_REQUESTOVERRUN 0x90000020 +#define PHONEERR_STRUCTURETOOSMALL 0x90000021 +#define PHONEERR_UNINITIALIZED 0x90000022 +#define PHONEERR_REINIT 0x90000023 +#define PHONEERR_DISCONNECTED 0x90000024 +#define PHONEERR_SERVICE_NOT_RUNNING 0x90000025 + +#define PHONEFEATURE_GETBUTTONINFO 0x00000001 +#define PHONEFEATURE_GETDATA 0x00000002 +#define PHONEFEATURE_GETDISPLAY 0x00000004 +#define PHONEFEATURE_GETGAINHANDSET 0x00000008 +#define PHONEFEATURE_GETGAINSPEAKER 0x00000010 +#define PHONEFEATURE_GETGAINHEADSET 0x00000020 +#define PHONEFEATURE_GETHOOKSWITCHHANDSET 0x00000040 +#define PHONEFEATURE_GETHOOKSWITCHSPEAKER 0x00000080 +#define PHONEFEATURE_GETHOOKSWITCHHEADSET 0x00000100 +#define PHONEFEATURE_GETLAMP 0x00000200 +#define PHONEFEATURE_GETRING 0x00000400 +#define PHONEFEATURE_GETVOLUMEHANDSET 0x00000800 +#define PHONEFEATURE_GETVOLUMESPEAKER 0x00001000 +#define PHONEFEATURE_GETVOLUMEHEADSET 0x00002000 +#define PHONEFEATURE_SETBUTTONINFO 0x00004000 +#define PHONEFEATURE_SETDATA 0x00008000 +#define PHONEFEATURE_SETDISPLAY 0x00010000 +#define PHONEFEATURE_SETGAINHANDSET 0x00020000 +#define PHONEFEATURE_SETGAINSPEAKER 0x00040000 +#define PHONEFEATURE_SETGAINHEADSET 0x00080000 +#define PHONEFEATURE_SETHOOKSWITCHHANDSET 0x00100000 +#define PHONEFEATURE_SETHOOKSWITCHSPEAKER 0x00200000 +#define PHONEFEATURE_SETHOOKSWITCHHEADSET 0x00400000 +#define PHONEFEATURE_SETLAMP 0x00800000 +#define PHONEFEATURE_SETRING 0x01000000 +#define PHONEFEATURE_SETVOLUMEHANDSET 0x02000000 +#define PHONEFEATURE_SETVOLUMESPEAKER 0x04000000 +#define PHONEFEATURE_SETVOLUMEHEADSET 0x08000000 +#define PHONEFEATURE_GENERICPHONE 0x10000000 + +#define PHONEHOOKSWITCHDEV_HANDSET 0x00000001 +#define PHONEHOOKSWITCHDEV_SPEAKER 0x00000002 +#define PHONEHOOKSWITCHDEV_HEADSET 0x00000004 + +#define PHONEHOOKSWITCHMODE_ONHOOK 0x00000001 +#define PHONEHOOKSWITCHMODE_MIC 0x00000002 +#define PHONEHOOKSWITCHMODE_SPEAKER 0x00000004 +#define PHONEHOOKSWITCHMODE_MICSPEAKER 0x00000008 +#define PHONEHOOKSWITCHMODE_UNKNOWN 0x00000010 + +#define PHONEINITIALIZEEXOPTION_USEHIDDENWINDOW 0x00000001 +#define PHONEINITIALIZEEXOPTION_USEEVENT 0x00000002 +#define PHONEINITIALIZEEXOPTION_USECOMPLETIONPORT 0x00000003 + +#define PHONELAMPMODE_DUMMY 0x00000001 +#define PHONELAMPMODE_OFF 0x00000002 +#define PHONELAMPMODE_STEADY 0x00000004 +#define PHONELAMPMODE_WINK 0x00000008 +#define PHONELAMPMODE_FLASH 0x00000010 +#define PHONELAMPMODE_FLUTTER 0x00000020 +#define PHONELAMPMODE_BROKENFLUTTER 0x00000040 +#define PHONELAMPMODE_UNKNOWN 0x00000080 + +#define PHONEPRIVILEGE_MONITOR 0x00000001 +#define PHONEPRIVILEGE_OWNER 0x00000002 + +#define PHONESTATE_OTHER 0x00000001 +#define PHONESTATE_CONNECTED 0x00000002 +#define PHONESTATE_DISCONNECTED 0x00000004 +#define PHONESTATE_OWNER 0x00000008 +#define PHONESTATE_MONITORS 0x00000010 +#define PHONESTATE_DISPLAY 0x00000020 +#define PHONESTATE_LAMP 0x00000040 +#define PHONESTATE_RINGMODE 0x00000080 +#define PHONESTATE_RINGVOLUME 0x00000100 +#define PHONESTATE_HANDSETHOOKSWITCH 0x00000200 +#define PHONESTATE_HANDSETVOLUME 0x00000400 +#define PHONESTATE_HANDSETGAIN 0x00000800 +#define PHONESTATE_SPEAKERHOOKSWITCH 0x00001000 +#define PHONESTATE_SPEAKERVOLUME 0x00002000 +#define PHONESTATE_SPEAKERGAIN 0x00004000 +#define PHONESTATE_HEADSETHOOKSWITCH 0x00008000 +#define PHONESTATE_HEADSETVOLUME 0x00010000 +#define PHONESTATE_HEADSETGAIN 0x00020000 +#define PHONESTATE_SUSPEND 0x00040000 +#define PHONESTATE_RESUME 0x00080000 +#define PHONESTATE_DEVSPECIFIC 0x00100000 +#define PHONESTATE_REINIT 0x00200000 +#define PHONESTATE_CAPSCHANGE 0x00400000 +#define PHONESTATE_REMOVED 0x00800000 + +#define PHONESTATUSFLAGS_CONNECTED 0x00000001 +#define PHONESTATUSFLAGS_SUSPENDED 0x00000002 + +#define STRINGFORMAT_ASCII 0x00000001 +#define STRINGFORMAT_DBCS 0x00000002 +#define STRINGFORMAT_UNICODE 0x00000003 +#define STRINGFORMAT_BINARY 0x00000004 + +#define TAPI_REPLY WM_USER + 99 + +#define TAPIERR_CONNECTED __MSABI_LONG(0) +#define TAPIERR_DROPPED __MSABI_LONG(-1) +#define TAPIERR_NOREQUESTRECIPIENT __MSABI_LONG(-2) +#define TAPIERR_REQUESTQUEUEFULL __MSABI_LONG(-3) +#define TAPIERR_INVALDESTADDRESS __MSABI_LONG(-4) +#define TAPIERR_INVALWINDOWHANDLE __MSABI_LONG(-5) +#define TAPIERR_INVALDEVICECLASS __MSABI_LONG(-6) +#define TAPIERR_INVALDEVICEID __MSABI_LONG(-7) +#define TAPIERR_DEVICECLASSUNAVAIL __MSABI_LONG(-8) +#define TAPIERR_DEVICEIDUNAVAIL __MSABI_LONG(-9) +#define TAPIERR_DEVICEINUSE __MSABI_LONG(-10) +#define TAPIERR_DESTBUSY __MSABI_LONG(-11) +#define TAPIERR_DESTNOANSWER __MSABI_LONG(-12) +#define TAPIERR_DESTUNAVAIL __MSABI_LONG(-13) +#define TAPIERR_UNKNOWNWINHANDLE __MSABI_LONG(-14) +#define TAPIERR_UNKNOWNREQUESTID __MSABI_LONG(-15) +#define TAPIERR_REQUESTFAILED __MSABI_LONG(-16) +#define TAPIERR_REQUESTCANCELLED __MSABI_LONG(-17) +#define TAPIERR_INVALPOINTER __MSABI_LONG(-18) +#define TAPIERR_NOTADMIN __MSABI_LONG(-19) +#define TAPIERR_MMCWRITELOCKED __MSABI_LONG(-20) +#define TAPIERR_PROVIDERALREADYINSTALLED __MSABI_LONG(-21) +#define TAPIERR_SCP_ALREADY_EXISTS __MSABI_LONG(-22) +#define TAPIERR_SCP_DOES_NOT_EXIST __MSABI_LONG(-23) + +#define TAPIMAXDESTADDRESSSIZE __MSABI_LONG(80) +#define TAPIMAXAPPNAMESIZE __MSABI_LONG(40) +#define TAPIMAXCALLEDPARTYSIZE __MSABI_LONG(40) +#define TAPIMAXCOMMENTSIZE __MSABI_LONG(80) +#define TAPIMAXDEVICECLASSSIZE __MSABI_LONG(40) +#define TAPIMAXDEVICEIDSIZE __MSABI_LONG(40) + +#ifndef GUID_DEFINED +#define GUID_DEFINED + typedef struct _GUID { + unsigned __LONG32 Data1; + unsigned short Data2; + unsigned short Data3; + unsigned char Data4[8]; + } GUID; +#endif + +#ifndef __LPGUID_DEFINED__ +#define __LPGUID_DEFINED__ + typedef GUID *LPGUID; +#endif + + typedef struct lineaddresscaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwLineDeviceID; + DWORD dwAddressSize; + DWORD dwAddressOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwAddressSharing; + DWORD dwAddressStates; + DWORD dwCallInfoStates; + DWORD dwCallerIDFlags; + DWORD dwCalledIDFlags; + DWORD dwConnectedIDFlags; + DWORD dwRedirectionIDFlags; + DWORD dwRedirectingIDFlags; + DWORD dwCallStates; + DWORD dwDialToneModes; + DWORD dwBusyModes; + DWORD dwSpecialInfo; + DWORD dwDisconnectModes; + DWORD dwMaxNumActiveCalls; + DWORD dwMaxNumOnHoldCalls; + DWORD dwMaxNumOnHoldPendingCalls; + DWORD dwMaxNumConference; + DWORD dwMaxNumTransConf; + DWORD dwAddrCapFlags; + DWORD dwCallFeatures; + DWORD dwRemoveFromConfCaps; + DWORD dwRemoveFromConfState; + DWORD dwTransferModes; + DWORD dwParkModes; + DWORD dwForwardModes; + DWORD dwMaxForwardEntries; + DWORD dwMaxSpecificEntries; + DWORD dwMinFwdNumRings; + DWORD dwMaxFwdNumRings; + DWORD dwMaxCallCompletions; + DWORD dwCallCompletionConds; + DWORD dwCallCompletionModes; + DWORD dwNumCompletionMessages; + DWORD dwCompletionMsgTextEntrySize; + DWORD dwCompletionMsgTextSize; + DWORD dwCompletionMsgTextOffset; + DWORD dwAddressFeatures; + DWORD dwPredictiveAutoTransferStates; + DWORD dwNumCallTreatments; + DWORD dwCallTreatmentListSize; + DWORD dwCallTreatmentListOffset; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + DWORD dwMaxCallDataSize; + DWORD dwCallFeatures2; + DWORD dwMaxNoAnswerTimeout; + DWORD dwConnectedModes; + DWORD dwOfferingModes; + DWORD dwAvailableMediaModes; + } LINEADDRESSCAPS,*LPLINEADDRESSCAPS; + + typedef struct lineaddressstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumInUse; + DWORD dwNumActiveCalls; + DWORD dwNumOnHoldCalls; + DWORD dwNumOnHoldPendCalls; + DWORD dwAddressFeatures; + DWORD dwNumRingsNoAnswer; + DWORD dwForwardNumEntries; + DWORD dwForwardSize; + DWORD dwForwardOffset; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + } LINEADDRESSSTATUS,*LPLINEADDRESSSTATUS; + + typedef struct lineagentactivityentry_tag { + DWORD dwID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEAGENTACTIVITYENTRY,*LPLINEAGENTACTIVITYENTRY; + + typedef struct lineagentactivitylist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTACTIVITYLIST,*LPLINEAGENTACTIVITYLIST; + + typedef struct lineagentcaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentHandlerInfoSize; + DWORD dwAgentHandlerInfoOffset; + DWORD dwCapsVersion; + DWORD dwFeatures; + DWORD dwStates; + DWORD dwNextStates; + DWORD dwMaxNumGroupEntries; + DWORD dwAgentStatusMessages; + DWORD dwNumAgentExtensionIDs; + DWORD dwAgentExtensionIDListSize; + DWORD dwAgentExtensionIDListOffset; + GUID ProxyGUID; + } LINEAGENTCAPS,*LPLINEAGENTCAPS; + + typedef struct lineagentgroupentry_tag { + struct { + DWORD dwGroupID1; + DWORD dwGroupID2; + DWORD dwGroupID3; + DWORD dwGroupID4; + } GroupID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEAGENTGROUPENTRY,*LPLINEAGENTGROUPENTRY; + + typedef struct lineagentgrouplist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTGROUPLIST,*LPLINEAGENTGROUPLIST; + + typedef struct lineagentstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwGroupListSize; + DWORD dwGroupListOffset; + DWORD dwState; + DWORD dwNextState; + DWORD dwActivityID; + DWORD dwActivitySize; + DWORD dwActivityOffset; + DWORD dwAgentFeatures; + DWORD dwValidStates; + DWORD dwValidNextStates; + } LINEAGENTSTATUS,*LPLINEAGENTSTATUS; + + typedef struct lineappinfo_tag { + DWORD dwMachineNameSize; + DWORD dwMachineNameOffset; + DWORD dwUserNameSize; + DWORD dwUserNameOffset; + DWORD dwModuleFilenameSize; + DWORD dwModuleFilenameOffset; + DWORD dwFriendlyNameSize; + DWORD dwFriendlyNameOffset; + DWORD dwMediaModes; + DWORD dwAddressID; + } LINEAPPINFO,*LPLINEAPPINFO; + + typedef struct lineagententry_tag { + HAGENT hAgent; + DWORD dwNameSize; + DWORD dwNameOffset; + DWORD dwIDSize; + DWORD dwIDOffset; + DWORD dwPINSize; + DWORD dwPINOffset; + } LINEAGENTENTRY,*LPLINEAGENTENTRY; + + typedef struct lineagentlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTLIST,*LPLINEAGENTLIST; + + typedef struct lineagentinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentState; + DWORD dwNextAgentState; + DWORD dwMeasurementPeriod; + CURRENCY cyOverallCallRate; + DWORD dwNumberOfACDCalls; + DWORD dwNumberOfIncomingCalls; + DWORD dwNumberOfOutgoingCalls; + DWORD dwTotalACDTalkTime; + DWORD dwTotalACDCallTime; + DWORD dwTotalACDWrapUpTime; + } LINEAGENTINFO,*LPLINEAGENTINFO; + + typedef struct lineagentsession_tag { + HAGENTSESSION hAgentSession; + HAGENT hAgent; + GUID GroupID; + DWORD dwWorkingAddressID; + } LINEAGENTSESSIONENTRY ,*LPLINEAGENTSESSIONENTRY; + + typedef struct lineagentsessionlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEAGENTSESSIONLIST,*LPLINEAGENTSESSIONLIST; + + typedef struct lineagentsessioninfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAgentSessionState; + DWORD dwNextAgentSessionState; + DATE dateSessionStartTime; + DWORD dwSessionDuration; + DWORD dwNumberOfCalls; + DWORD dwTotalTalkTime; + DWORD dwAverageTalkTime; + DWORD dwTotalCallTime; + DWORD dwAverageCallTime; + DWORD dwTotalWrapUpTime; + DWORD dwAverageWrapUpTime; + CURRENCY cyACDCallRate; + DWORD dwLongestTimeToAnswer; + DWORD dwAverageTimeToAnswer; + } LINEAGENTSESSIONINFO,*LPLINEAGENTSESSIONINFO; + + typedef struct linequeueentry_tag { + DWORD dwQueueID; + DWORD dwNameSize; + DWORD dwNameOffset; + } LINEQUEUEENTRY,*LPLINEQUEUEENTRY; + + typedef struct linequeuelist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEQUEUELIST,*LPLINEQUEUELIST; + + typedef struct linequeueinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwMeasurementPeriod; + DWORD dwTotalCallsQueued; + DWORD dwCurrentCallsQueued; + DWORD dwTotalCallsAbandoned; + DWORD dwTotalCallsFlowedIn; + DWORD dwTotalCallsFlowedOut; + DWORD dwLongestEverWaitTime; + DWORD dwCurrentLongestWaitTime; + DWORD dwAverageWaitTime; + DWORD dwFinalDisposition; + } LINEQUEUEINFO,*LPLINEQUEUEINFO; + + typedef struct lineproxyrequestlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumEntries; + DWORD dwListSize; + DWORD dwListOffset; + } LINEPROXYREQUESTLIST,*LPLINEPROXYREQUESTLIST; + + typedef struct linecallhubtrackinginfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwAvailableTracking; + DWORD dwCurrentTracking; + } LINECALLHUBTRACKINGINFO,*LPLINECALLHUBTRACKINGINFO; + + typedef struct linedialparams_tag { + DWORD dwDialPause; + DWORD dwDialSpeed; + DWORD dwDigitDuration; + DWORD dwWaitForDialtone; + } LINEDIALPARAMS,*LPLINEDIALPARAMS; + + typedef struct linecallinfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + HLINE hLine; + DWORD dwLineDeviceID; + DWORD dwAddressID; + DWORD dwBearerMode; + DWORD dwRate; + DWORD dwMediaMode; + DWORD dwAppSpecific; + DWORD dwCallID; + DWORD dwRelatedCallID; + DWORD dwCallParamFlags; + DWORD dwCallStates; + DWORD dwMonitorDigitModes; + DWORD dwMonitorMediaModes; + LINEDIALPARAMS DialParams; + DWORD dwOrigin; + DWORD dwReason; + DWORD dwCompletionID; + DWORD dwNumOwners; + DWORD dwNumMonitors; + DWORD dwCountryCode; + DWORD dwTrunk; + DWORD dwCallerIDFlags; + DWORD dwCallerIDSize; + DWORD dwCallerIDOffset; + DWORD dwCallerIDNameSize; + DWORD dwCallerIDNameOffset; + DWORD dwCalledIDFlags; + DWORD dwCalledIDSize; + DWORD dwCalledIDOffset; + DWORD dwCalledIDNameSize; + DWORD dwCalledIDNameOffset; + DWORD dwConnectedIDFlags; + DWORD dwConnectedIDSize; + DWORD dwConnectedIDOffset; + DWORD dwConnectedIDNameSize; + DWORD dwConnectedIDNameOffset; + DWORD dwRedirectionIDFlags; + DWORD dwRedirectionIDSize; + DWORD dwRedirectionIDOffset; + DWORD dwRedirectionIDNameSize; + DWORD dwRedirectionIDNameOffset; + DWORD dwRedirectingIDFlags; + DWORD dwRedirectingIDSize; + DWORD dwRedirectingIDOffset; + DWORD dwRedirectingIDNameSize; + DWORD dwRedirectingIDNameOffset; + DWORD dwAppNameSize; + DWORD dwAppNameOffset; + DWORD dwDisplayableAddressSize; + DWORD dwDisplayableAddressOffset; + DWORD dwCalledPartySize; + DWORD dwCalledPartyOffset; + DWORD dwCommentSize; + DWORD dwCommentOffset; + DWORD dwDisplaySize; + DWORD dwDisplayOffset; + DWORD dwUserUserInfoSize; + DWORD dwUserUserInfoOffset; + DWORD dwHighLevelCompSize; + DWORD dwHighLevelCompOffset; + DWORD dwLowLevelCompSize; + DWORD dwLowLevelCompOffset; + DWORD dwChargingInfoSize; + DWORD dwChargingInfoOffset; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwCallTreatment; + DWORD dwCallDataSize; + DWORD dwCallDataOffset; + DWORD dwSendingFlowspecSize; + DWORD dwSendingFlowspecOffset; + DWORD dwReceivingFlowspecSize; + DWORD dwReceivingFlowspecOffset; + DWORD dwCallerIDAddressType; + DWORD dwCalledIDAddressType; + DWORD dwConnectedIDAddressType; + DWORD dwRedirectionIDAddressType; + DWORD dwRedirectingIDAddressType; + } LINECALLINFO,*LPLINECALLINFO; + + typedef struct linecalllist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwCallsNumEntries; + DWORD dwCallsSize; + DWORD dwCallsOffset; + } LINECALLLIST,*LPLINECALLLIST; + + typedef struct linecallparams_tag { + DWORD dwTotalSize; + DWORD dwBearerMode; + DWORD dwMinRate; + DWORD dwMaxRate; + DWORD dwMediaMode; + DWORD dwCallParamFlags; + DWORD dwAddressMode; + DWORD dwAddressID; + LINEDIALPARAMS DialParams; + DWORD dwOrigAddressSize; + DWORD dwOrigAddressOffset; + DWORD dwDisplayableAddressSize; + DWORD dwDisplayableAddressOffset; + DWORD dwCalledPartySize; + DWORD dwCalledPartyOffset; + DWORD dwCommentSize; + DWORD dwCommentOffset; + DWORD dwUserUserInfoSize; + DWORD dwUserUserInfoOffset; + DWORD dwHighLevelCompSize; + DWORD dwHighLevelCompOffset; + DWORD dwLowLevelCompSize; + DWORD dwLowLevelCompOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwPredictiveAutoTransferStates; + DWORD dwTargetAddressSize; + DWORD dwTargetAddressOffset; + DWORD dwSendingFlowspecSize; + DWORD dwSendingFlowspecOffset; + DWORD dwReceivingFlowspecSize; + DWORD dwReceivingFlowspecOffset; + DWORD dwDeviceClassSize; + DWORD dwDeviceClassOffset; + DWORD dwDeviceConfigSize; + DWORD dwDeviceConfigOffset; + DWORD dwCallDataSize; + DWORD dwCallDataOffset; + DWORD dwNoAnswerTimeout; + DWORD dwCallingPartyIDSize; + DWORD dwCallingPartyIDOffset; + DWORD dwAddressType; + } LINECALLPARAMS,*LPLINECALLPARAMS; + + typedef struct linecallstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwCallState; + DWORD dwCallStateMode; + DWORD dwCallPrivilege; + DWORD dwCallFeatures; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwCallFeatures2; + SYSTEMTIME tStateEntryTime; + } LINECALLSTATUS,*LPLINECALLSTATUS; + + typedef struct linecalltreatmententry_tag { + DWORD dwCallTreatmentID; + DWORD dwCallTreatmentNameSize; + DWORD dwCallTreatmentNameOffset; + } LINECALLTREATMENTENTRY,*LPLINECALLTREATMENTENTRY; + + typedef struct linecardentry_tag { + DWORD dwPermanentCardID; + DWORD dwCardNameSize; + DWORD dwCardNameOffset; + DWORD dwCardNumberDigits; + DWORD dwSameAreaRuleSize; + DWORD dwSameAreaRuleOffset; + DWORD dwLongDistanceRuleSize; + DWORD dwLongDistanceRuleOffset; + DWORD dwInternationalRuleSize; + DWORD dwInternationalRuleOffset; + DWORD dwOptions; + } LINECARDENTRY,*LPLINECARDENTRY; + + typedef struct linecountryentry_tag { + DWORD dwCountryID; + DWORD dwCountryCode; + DWORD dwNextCountryID; + DWORD dwCountryNameSize; + DWORD dwCountryNameOffset; + DWORD dwSameAreaRuleSize; + DWORD dwSameAreaRuleOffset; + DWORD dwLongDistanceRuleSize; + DWORD dwLongDistanceRuleOffset; + DWORD dwInternationalRuleSize; + DWORD dwInternationalRuleOffset; + } LINECOUNTRYENTRY,*LPLINECOUNTRYENTRY; + + typedef struct linecountrylist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumCountries; + DWORD dwCountryListSize; + DWORD dwCountryListOffset; + } LINECOUNTRYLIST,*LPLINECOUNTRYLIST; + + typedef struct linedevcaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwProviderInfoSize; + DWORD dwProviderInfoOffset; + DWORD dwSwitchInfoSize; + DWORD dwSwitchInfoOffset; + DWORD dwPermanentLineID; + DWORD dwLineNameSize; + DWORD dwLineNameOffset; + DWORD dwStringFormat; + DWORD dwAddressModes; + DWORD dwNumAddresses; + DWORD dwBearerModes; + DWORD dwMaxRate; + DWORD dwMediaModes; + DWORD dwGenerateToneModes; + DWORD dwGenerateToneMaxNumFreq; + DWORD dwGenerateDigitModes; + DWORD dwMonitorToneMaxNumFreq; + DWORD dwMonitorToneMaxNumEntries; + DWORD dwMonitorDigitModes; + DWORD dwGatherDigitsMinTimeout; + DWORD dwGatherDigitsMaxTimeout; + DWORD dwMedCtlDigitMaxListSize; + DWORD dwMedCtlMediaMaxListSize; + DWORD dwMedCtlToneMaxListSize; + DWORD dwMedCtlCallStateMaxListSize; + DWORD dwDevCapFlags; + DWORD dwMaxNumActiveCalls; + DWORD dwAnswerMode; + DWORD dwRingModes; + DWORD dwLineStates; + DWORD dwUUIAcceptSize; + DWORD dwUUIAnswerSize; + DWORD dwUUIMakeCallSize; + DWORD dwUUIDropSize; + DWORD dwUUISendUserUserInfoSize; + DWORD dwUUICallInfoSize; + LINEDIALPARAMS MinDialParams; + LINEDIALPARAMS MaxDialParams; + LINEDIALPARAMS DefaultDialParams; + DWORD dwNumTerminals; + DWORD dwTerminalCapsSize; + DWORD dwTerminalCapsOffset; + DWORD dwTerminalTextEntrySize; + DWORD dwTerminalTextSize; + DWORD dwTerminalTextOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwLineFeatures; + DWORD dwSettableDevStatus; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + GUID PermanentLineGuid; + DWORD dwAddressTypes; + GUID ProtocolGuid; + DWORD dwAvailableTracking; + } LINEDEVCAPS,*LPLINEDEVCAPS; + + typedef struct linedevstatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumOpens; + DWORD dwOpenMediaModes; + DWORD dwNumActiveCalls; + DWORD dwNumOnHoldCalls; + DWORD dwNumOnHoldPendCalls; + DWORD dwLineFeatures; + DWORD dwNumCallCompletions; + DWORD dwRingMode; + DWORD dwSignalLevel; + DWORD dwBatteryLevel; + DWORD dwRoamMode; + DWORD dwDevStatusFlags; + DWORD dwTerminalModesSize; + DWORD dwTerminalModesOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwAvailableMediaModes; + DWORD dwAppInfoSize; + DWORD dwAppInfoOffset; + } LINEDEVSTATUS,*LPLINEDEVSTATUS; + + typedef struct lineextensionid_tag { + DWORD dwExtensionID0; + DWORD dwExtensionID1; + DWORD dwExtensionID2; + DWORD dwExtensionID3; + } LINEEXTENSIONID,*LPLINEEXTENSIONID; + + typedef struct lineforward_tag { + DWORD dwForwardMode; + DWORD dwCallerAddressSize; + DWORD dwCallerAddressOffset; + DWORD dwDestCountryCode; + DWORD dwDestAddressSize; + DWORD dwDestAddressOffset; + DWORD dwCallerAddressType; + DWORD dwDestAddressType; + } LINEFORWARD,*LPLINEFORWARD; + + typedef struct lineforwardlist_tag { + DWORD dwTotalSize; + DWORD dwNumEntries; + LINEFORWARD ForwardList[1]; + } LINEFORWARDLIST,*LPLINEFORWARDLIST; + + typedef struct linegeneratetone_tag { + DWORD dwFrequency; + DWORD dwCadenceOn; + DWORD dwCadenceOff; + DWORD dwVolume; + } LINEGENERATETONE,*LPLINEGENERATETONE; + + typedef struct lineinitializeexparams_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwOptions; + union { + HANDLE hEvent; + HANDLE hCompletionPort; + } Handles; + DWORD dwCompletionKey; + } LINEINITIALIZEEXPARAMS,*LPLINEINITIALIZEEXPARAMS; + + typedef struct linelocationentry_tag { + DWORD dwPermanentLocationID; + DWORD dwLocationNameSize; + DWORD dwLocationNameOffset; + DWORD dwCountryCode; + DWORD dwCityCodeSize; + DWORD dwCityCodeOffset; + DWORD dwPreferredCardID; + DWORD dwLocalAccessCodeSize; + DWORD dwLocalAccessCodeOffset; + DWORD dwLongDistanceAccessCodeSize; + DWORD dwLongDistanceAccessCodeOffset; + DWORD dwTollPrefixListSize; + DWORD dwTollPrefixListOffset; + DWORD dwCountryID; + DWORD dwOptions; + DWORD dwCancelCallWaitingSize; + DWORD dwCancelCallWaitingOffset; + } LINELOCATIONENTRY,*LPLINELOCATIONENTRY; + + typedef struct linemediacontrolcallstate_tag { + DWORD dwCallStates; + DWORD dwMediaControl; + } LINEMEDIACONTROLCALLSTATE,*LPLINEMEDIACONTROLCALLSTATE; + + typedef struct linemediacontroldigit_tag { + DWORD dwDigit; + DWORD dwDigitModes; + DWORD dwMediaControl; + } LINEMEDIACONTROLDIGIT,*LPLINEMEDIACONTROLDIGIT; + + typedef struct linemediacontrolmedia_tag { + DWORD dwMediaModes; + DWORD dwDuration; + DWORD dwMediaControl; + } LINEMEDIACONTROLMEDIA,*LPLINEMEDIACONTROLMEDIA; + + typedef struct linemediacontroltone_tag { + DWORD dwAppSpecific; + DWORD dwDuration; + DWORD dwFrequency1; + DWORD dwFrequency2; + DWORD dwFrequency3; + DWORD dwMediaControl; + } LINEMEDIACONTROLTONE,*LPLINEMEDIACONTROLTONE; + + typedef struct linemessage_tag { + DWORD hDevice; + DWORD dwMessageID; + DWORD_PTR dwCallbackInstance; + DWORD_PTR dwParam1; + DWORD_PTR dwParam2; + DWORD_PTR dwParam3; + } LINEMESSAGE,*LPLINEMESSAGE; + + typedef struct linemonitortone_tag { + DWORD dwAppSpecific; + DWORD dwDuration; + DWORD dwFrequency1; + DWORD dwFrequency2; + DWORD dwFrequency3; + } LINEMONITORTONE,*LPLINEMONITORTONE; + + typedef struct lineproviderentry_tag { + DWORD dwPermanentProviderID; + DWORD dwProviderFilenameSize; + DWORD dwProviderFilenameOffset; + } LINEPROVIDERENTRY,*LPLINEPROVIDERENTRY; + + typedef struct lineproviderlist_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumProviders; + DWORD dwProviderListSize; + DWORD dwProviderListOffset; + } LINEPROVIDERLIST,*LPLINEPROVIDERLIST; + + typedef struct lineproxyrequest_tag { + DWORD dwSize; + DWORD dwClientMachineNameSize; + DWORD dwClientMachineNameOffset; + DWORD dwClientUserNameSize; + DWORD dwClientUserNameOffset; + DWORD dwClientAppAPIVersion; + DWORD dwRequestType; + __C89_NAMELESS union { + struct { + DWORD dwAddressID; + LINEAGENTGROUPLIST GroupList; + } SetAgentGroup; + struct { + DWORD dwAddressID; + DWORD dwAgentState; + DWORD dwNextAgentState; + } SetAgentState; + struct { + DWORD dwAddressID; + DWORD dwActivityID; + } SetAgentActivity; + struct { + DWORD dwAddressID; + LINEAGENTCAPS AgentCaps; + } GetAgentCaps; + struct { + DWORD dwAddressID; + LINEAGENTSTATUS AgentStatus; + } GetAgentStatus; + struct { + DWORD dwAddressID; + DWORD dwAgentExtensionIDIndex; + DWORD dwSize; + BYTE Params[1]; + } AgentSpecific; + struct { + DWORD dwAddressID; + LINEAGENTACTIVITYLIST ActivityList; + } GetAgentActivityList; + struct { + DWORD dwAddressID; + LINEAGENTGROUPLIST GroupList; + } GetAgentGroupList; + struct { + HAGENT hAgent; + DWORD dwAgentIDSize; + DWORD dwAgentIDOffset; + DWORD dwAgentPINSize; + DWORD dwAgentPINOffset; + } CreateAgent; + struct { + HAGENT hAgent; + DWORD dwAgentState; + DWORD dwNextAgentState; + } SetAgentStateEx; + struct { + HAGENT hAgent; + DWORD dwMeasurementPeriod; + } SetAgentMeasurementPeriod; + struct { + HAGENT hAgent; + LINEAGENTINFO AgentInfo; + } GetAgentInfo; + struct { + HAGENTSESSION hAgentSession; + DWORD dwAgentPINSize; + DWORD dwAgentPINOffset; + HAGENT hAgent; + GUID GroupID; + DWORD dwWorkingAddressID; + } CreateAgentSession; + struct { + HAGENT hAgent; + LINEAGENTSESSIONLIST SessionList; + } GetAgentSessionList; + struct { + HAGENTSESSION hAgentSession; + LINEAGENTSESSIONINFO SessionInfo; + } GetAgentSessionInfo; + struct { + HAGENTSESSION hAgentSession; + DWORD dwAgentSessionState; + DWORD dwNextAgentSessionState; + } SetAgentSessionState; + struct { + GUID GroupID; + LINEQUEUELIST QueueList; + } GetQueueList; + struct { + DWORD dwQueueID; + DWORD dwMeasurementPeriod; + } SetQueueMeasurementPeriod; + struct { + DWORD dwQueueID; + LINEQUEUEINFO QueueInfo; + } GetQueueInfo; + struct { + LINEAGENTGROUPLIST GroupList; + } GetGroupList; + }; + } LINEPROXYREQUEST,*LPLINEPROXYREQUEST; + + typedef struct linereqmakecall_tag { + char szDestAddress[TAPIMAXDESTADDRESSSIZE]; + char szAppName[TAPIMAXAPPNAMESIZE]; + char szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + char szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMAKECALL,*LPLINEREQMAKECALL; + + typedef struct linereqmakecallW_tag { + WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE]; + WCHAR szAppName[TAPIMAXAPPNAMESIZE]; + WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + WCHAR szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMAKECALLW,*LPLINEREQMAKECALLW; + +#if defined(UNICODE) +#define LINEREQMAKECALL LINEREQMAKECALLW +#endif + + typedef struct linereqmediacall_tag { + HWND hWnd; + WPARAM wRequestID; + char szDeviceClass[TAPIMAXDEVICECLASSSIZE]; + unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE]; + DWORD dwSize; + DWORD dwSecure; + char szDestAddress[TAPIMAXDESTADDRESSSIZE]; + char szAppName[TAPIMAXAPPNAMESIZE]; + char szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + char szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMEDIACALL,*LPLINEREQMEDIACALL; + + typedef struct linereqmediacallW_tag { + HWND hWnd; + WPARAM wRequestID; + WCHAR szDeviceClass[TAPIMAXDEVICECLASSSIZE]; + unsigned char ucDeviceID[TAPIMAXDEVICEIDSIZE]; + DWORD dwSize; + DWORD dwSecure; + WCHAR szDestAddress[TAPIMAXDESTADDRESSSIZE]; + WCHAR szAppName[TAPIMAXAPPNAMESIZE]; + WCHAR szCalledParty[TAPIMAXCALLEDPARTYSIZE]; + WCHAR szComment[TAPIMAXCOMMENTSIZE]; + } LINEREQMEDIACALLW,*LPLINEREQMEDIACALLW; + +#if defined(UNICODE) +#define LINEREQMEDIACALL LINEREQMEDIACALLW +#endif + + typedef struct linetermcaps_tag { + DWORD dwTermDev; + DWORD dwTermModes; + DWORD dwTermSharing; + } LINETERMCAPS,*LPLINETERMCAPS; + + typedef struct linetranslatecaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwNumLocations; + DWORD dwLocationListSize; + DWORD dwLocationListOffset; + DWORD dwCurrentLocationID; + DWORD dwNumCards; + DWORD dwCardListSize; + DWORD dwCardListOffset; + DWORD dwCurrentPreferredCardID; + } LINETRANSLATECAPS,*LPLINETRANSLATECAPS; + + typedef struct linetranslateoutput_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwDialableStringSize; + DWORD dwDialableStringOffset; + DWORD dwDisplayableStringSize; + DWORD dwDisplayableStringOffset; + DWORD dwCurrentCountry; + DWORD dwDestCountry; + DWORD dwTranslateResults; + } LINETRANSLATEOUTPUT,*LPLINETRANSLATEOUTPUT; + + typedef struct phonebuttoninfo_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwButtonMode; + DWORD dwButtonFunction; + DWORD dwButtonTextSize; + DWORD dwButtonTextOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwButtonState; + } PHONEBUTTONINFO,*LPPHONEBUTTONINFO; + + typedef struct phonecaps_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwProviderInfoSize; + DWORD dwProviderInfoOffset; + DWORD dwPhoneInfoSize; + DWORD dwPhoneInfoOffset; + DWORD dwPermanentPhoneID; + DWORD dwPhoneNameSize; + DWORD dwPhoneNameOffset; + DWORD dwStringFormat; + DWORD dwPhoneStates; + DWORD dwHookSwitchDevs; + DWORD dwHandsetHookSwitchModes; + DWORD dwSpeakerHookSwitchModes; + DWORD dwHeadsetHookSwitchModes; + DWORD dwVolumeFlags; + DWORD dwGainFlags; + DWORD dwDisplayNumRows; + DWORD dwDisplayNumColumns; + DWORD dwNumRingModes; + DWORD dwNumButtonLamps; + DWORD dwButtonModesSize; + DWORD dwButtonModesOffset; + DWORD dwButtonFunctionsSize; + DWORD dwButtonFunctionsOffset; + DWORD dwLampModesSize; + DWORD dwLampModesOffset; + DWORD dwNumSetData; + DWORD dwSetDataSize; + DWORD dwSetDataOffset; + DWORD dwNumGetData; + DWORD dwGetDataSize; + DWORD dwGetDataOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwDeviceClassesSize; + DWORD dwDeviceClassesOffset; + DWORD dwPhoneFeatures; + DWORD dwSettableHandsetHookSwitchModes; + DWORD dwSettableSpeakerHookSwitchModes; + DWORD dwSettableHeadsetHookSwitchModes; + DWORD dwMonitoredHandsetHookSwitchModes; + DWORD dwMonitoredSpeakerHookSwitchModes; + DWORD dwMonitoredHeadsetHookSwitchModes; + GUID PermanentPhoneGuid; + } PHONECAPS,*LPPHONECAPS; + + typedef struct phoneextensionid_tag { + DWORD dwExtensionID0; + DWORD dwExtensionID1; + DWORD dwExtensionID2; + DWORD dwExtensionID3; + } PHONEEXTENSIONID,*LPPHONEEXTENSIONID; + + typedef struct phoneinitializeexparams_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwOptions; + union { + HANDLE hEvent; + HANDLE hCompletionPort; + } Handles; + DWORD dwCompletionKey; + } PHONEINITIALIZEEXPARAMS,*LPPHONEINITIALIZEEXPARAMS; + + typedef struct phonemessage_tag { + DWORD hDevice; + DWORD dwMessageID; + DWORD_PTR dwCallbackInstance; + DWORD_PTR dwParam1; + DWORD_PTR dwParam2; + DWORD_PTR dwParam3; + } PHONEMESSAGE,*LPPHONEMESSAGE; + + typedef struct phonestatus_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwStatusFlags; + DWORD dwNumOwners; + DWORD dwNumMonitors; + DWORD dwRingMode; + DWORD dwRingVolume; + DWORD dwHandsetHookSwitchMode; + DWORD dwHandsetVolume; + DWORD dwHandsetGain; + DWORD dwSpeakerHookSwitchMode; + DWORD dwSpeakerVolume; + DWORD dwSpeakerGain; + DWORD dwHeadsetHookSwitchMode; + DWORD dwHeadsetVolume; + DWORD dwHeadsetGain; + DWORD dwDisplaySize; + DWORD dwDisplayOffset; + DWORD dwLampModesSize; + DWORD dwLampModesOffset; + DWORD dwOwnerNameSize; + DWORD dwOwnerNameOffset; + DWORD dwDevSpecificSize; + DWORD dwDevSpecificOffset; + DWORD dwPhoneFeatures; + } PHONESTATUS,*LPPHONESTATUS; + + typedef struct varstring_tag { + DWORD dwTotalSize; + DWORD dwNeededSize; + DWORD dwUsedSize; + DWORD dwStringFormat; + DWORD dwStringSize; + DWORD dwStringOffset; + } VARSTRING,*LPVARSTRING; + + LONG WINAPI lineAccept(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineAddProvider(LPCSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddProviderA(LPCSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddProviderW(LPCWSTR lpszProviderFilename,HWND hwndOwner,LPDWORD lpdwPermanentProviderID); + LONG WINAPI lineAddToConference(HCALL hConfCall,HCALL hConsultCall); + LONG WINAPI lineAgentSpecific(HLINE hLine,DWORD dwAddressID,DWORD dwAgentExtensionIDIndex,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineAnswer(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineBlindTransfer(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineBlindTransferA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineBlindTransferW(HCALL hCall,LPCWSTR lpszDestAddressW,DWORD dwCountryCode); + LONG WINAPI lineClose(HLINE hLine); + LONG WINAPI lineCompleteCall(HCALL hCall,LPDWORD lpdwCompletionID,DWORD dwCompletionMode,DWORD dwMessageID); + LONG WINAPI lineCompleteTransfer(HCALL hCall,HCALL hConsultCall,LPHCALL lphConfCall,DWORD dwTransferMode); + LONG WINAPI lineConfigDialog(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI lineConfigDialogEdit(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigDialogEditA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigDialogEditW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI lineConfigProvider(HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI lineCreateAgentW(HLINE hLine,LPWSTR lpszAgentID,LPWSTR lpszAgentPIN,LPHAGENT lphAgent); + LONG WINAPI lineCreateAgentA(HLINE hLine,LPSTR lpszAgentID,LPSTR lpszAgentPIN,LPHAGENT lphAgent); + LONG WINAPI lineCreateAgentSessionW(HLINE hLine,HAGENT hAgent,LPWSTR lpszAgentPIN,DWORD dwWorkingAddressID,LPGUID lpGroupID,LPHAGENTSESSION lphAgentSession); + LONG WINAPI lineCreateAgentSessionA(HLINE hLine,HAGENT hAgent,LPSTR lpszAgentPIN,DWORD dwWorkingAddressID,LPGUID lpGroupID,LPHAGENTSESSION lphAgentSession); + LONG WINAPI lineDeallocateCall(HCALL hCall); + LONG WINAPI lineDevSpecific(HLINE hLine,DWORD dwAddressID,HCALL hCall,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineDevSpecificFeature(HLINE hLine,DWORD dwFeature,LPVOID lpParams,DWORD dwSize); + LONG WINAPI lineDial(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDialA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDialW(HCALL hCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineDrop(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineForward(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineForwardA(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineForwardW(HLINE hLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineGatherDigits(HCALL hCall,DWORD dwDigitModes,LPSTR lpsDigits,DWORD dwNumDigits,LPCSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGatherDigitsA(HCALL hCall,DWORD dwDigitModes,LPSTR lpsDigits,DWORD dwNumDigits,LPCSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGatherDigitsW(HCALL hCall,DWORD dwDigitModes,LPWSTR lpsDigits,DWORD dwNumDigits,LPCWSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI lineGenerateDigits(HCALL hCall,DWORD dwDigitMode,LPCSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateDigitsA(HCALL hCall,DWORD dwDigitMode,LPCSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateDigitsW(HCALL hCall,DWORD dwDigitMode,LPCWSTR lpszDigits,DWORD dwDuration); + LONG WINAPI lineGenerateTone(HCALL hCall,DWORD dwToneMode,DWORD dwDuration,DWORD dwNumTones,LPLINEGENERATETONE const lpTones); + LONG WINAPI lineGetAddressCaps(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI lineGetAddressID(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressIDA(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressIDW(HLINE hLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCWSTR lpsAddress,DWORD dwSize); + LONG WINAPI lineGetAddressStatus(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAddressStatusA(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAddressStatusW(HLINE hLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI lineGetAgentActivityListA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTACTIVITYLIST lpAgentActivityList); + LONG WINAPI lineGetAgentActivityListW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTACTIVITYLIST lpAgentActivityList); + LONG WINAPI lineGetAgentCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAppAPIVersion,LPLINEAGENTCAPS lpAgentCaps); + LONG WINAPI lineGetAgentCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAddressID,DWORD dwAppAPIVersion,LPLINEAGENTCAPS lpAgentCaps); + LONG WINAPI lineGetAgentGroupListA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineGetAgentGroupListW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineGetAgentInfo(HLINE hLine,HAGENT hAgent,LPLINEAGENTINFO lpAgentInfo); + LONG WINAPI lineGetAgentSessionInfo(HLINE hLine,HAGENTSESSION hAgentSession,LPLINEAGENTSESSIONINFO lpAgentSessionInfo); + LONG WINAPI lineGetAgentSessionList(HLINE hLine,HAGENT hAgent,LPLINEAGENTSESSIONLIST lpAgentSessionList); + LONG WINAPI lineGetAgentStatusA(HLINE hLine,DWORD dwAddressID,LPLINEAGENTSTATUS lpAgentStatus); + LONG WINAPI lineGetAgentStatusW(HLINE hLine,DWORD dwAddressID,LPLINEAGENTSTATUS lpAgentStatus); + LONG WINAPI lineGetAppPriority(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetAppPriorityA(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetAppPriorityW(LPCWSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPVARSTRING lpExtensionName,LPDWORD lpdwPriority); + LONG WINAPI lineGetCallInfo(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallInfoA(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallInfoW(HCALL hCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI lineGetCallStatus(HCALL hCall,LPLINECALLSTATUS lpCallStatus); + LONG WINAPI lineGetConfRelatedCalls(HCALL hCall,LPLINECALLLIST lpCallList); + LONG WINAPI lineGetCountry(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetCountryA(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetCountryW(DWORD dwCountryID,DWORD dwAPIVersion,LPLINECOUNTRYLIST lpLineCountryList); + LONG WINAPI lineGetDevCaps(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevCapsA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevCapsW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI lineGetDevConfig(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetDevConfigA(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetDevConfigW(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCWSTR lpszDeviceClass); + LONG WINAPI lineGetGroupListA(HLINE hLine,LPLINEAGENTGROUPLIST lpGroupList); + LONG WINAPI lineGetGroupListW(HLINE hLine,LPLINEAGENTGROUPLIST lpGroupList); + LONG WINAPI lineGetIcon(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetIconA(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetIconW(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI lineGetID(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetIDA(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI lineGetIDW(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass); + LONG WINAPI lineGetLineDevStatus(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetLineDevStatusA(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetLineDevStatusW(HLINE hLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI lineGetMessage(HLINEAPP hLineApp,LPLINEMESSAGE lpMessage,DWORD dwTimeout); + LONG WINAPI lineGetNewCalls(HLINE hLine,DWORD dwAddressID,DWORD dwSelect,LPLINECALLLIST lpCallList); + LONG WINAPI lineGetNumRings(HLINE hLine,DWORD dwAddressID,LPDWORD lpdwNumRings); + LONG WINAPI lineGetProviderList(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProviderListA(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProviderListW(DWORD dwAPIVersion,LPLINEPROVIDERLIST lpProviderList); + LONG WINAPI lineGetProxyStatus(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAppAPIVersion,LPLINEPROXYREQUESTLIST lpLineProxyReqestList); + LONG WINAPI lineGetQueueInfo(HLINE hLine,DWORD dwQueueID,LPLINEQUEUEINFO lpLineQueueInfo); + LONG WINAPI lineGetQueueListA(HLINE hLine,LPGUID lpGroupID,LPLINEQUEUELIST lpQueueList); + LONG WINAPI lineGetQueueListW(HLINE hLine,LPGUID lpGroupID,LPLINEQUEUELIST lpQueueList); + LONG WINAPI lineGetRequest(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetRequestA(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetRequestW(HLINEAPP hLineApp,DWORD dwRequestMode,LPVOID lpRequestBuffer); + LONG WINAPI lineGetStatusMessages(HLINE hLine,LPDWORD lpdwLineStates,LPDWORD lpdwAddressStates); + LONG WINAPI lineGetTranslateCaps(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineGetTranslateCapsA(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineGetTranslateCapsW(HLINEAPP hLineApp,DWORD dwAPIVersion,LPLINETRANSLATECAPS lpTranslateCaps); + LONG WINAPI lineHandoff(HCALL hCall,LPCSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHandoffA(HCALL hCall,LPCSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHandoffW(HCALL hCall,LPCWSTR lpszFileName,DWORD dwMediaMode); + LONG WINAPI lineHold(HCALL hCall); + LONG WINAPI lineInitialize(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCSTR lpszAppName,LPDWORD lpdwNumDevs); + LONG WINAPI lineInitializeExA(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams); + LONG WINAPI lineInitializeExW(LPHLINEAPP lphLineApp,HINSTANCE hInstance,LINECALLBACK lpfnCallback,LPCWSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPLINEINITIALIZEEXPARAMS lpLineInitializeExParams); + LONG WINAPI lineMakeCall(HLINE hLine,LPHCALL lphCall,LPCSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMakeCallA(HLINE hLine,LPHCALL lphCall,LPCSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMakeCallW(HLINE hLine,LPHCALL lphCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineMonitorDigits(HCALL hCall,DWORD dwDigitModes); + LONG WINAPI lineMonitorMedia(HCALL hCall,DWORD dwMediaModes); + LONG WINAPI lineMonitorTones(HCALL hCall,LPLINEMONITORTONE const lpToneList,DWORD dwNumEntries); + LONG WINAPI lineNegotiateAPIVersion(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPILowVersion,DWORD dwAPIHighVersion,LPDWORD lpdwAPIVersion,LPLINEEXTENSIONID lpExtensionID); + LONG WINAPI lineNegotiateExtVersion(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtLowVersion,DWORD dwExtHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI lineOpen(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineOpenA(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineOpenW(HLINEAPP hLineApp,DWORD dwDeviceID,LPHLINE lphLine,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivileges,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePark(HCALL hCall,DWORD dwParkMode,LPCSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI lineParkA(HCALL hCall,DWORD dwParkMode,LPCSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI lineParkW(HCALL hCall,DWORD dwParkMode,LPCWSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI linePickup(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress,LPCSTR lpszGroupID); + LONG WINAPI linePickupA(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress,LPCSTR lpszGroupID); + LONG WINAPI linePickupW(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCWSTR lpszDestAddress,LPCWSTR lpszGroupID); + LONG WINAPI linePrepareAddToConference(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePrepareAddToConferenceA(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI linePrepareAddToConferenceW(HCALL hConfCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineProxyMessage(HLINE hLine,HCALL hCall,DWORD dwMsg,DWORD dwParam1,DWORD dwParam2,DWORD dwParam3); + LONG WINAPI lineProxyResponse(HLINE hLine,LPLINEPROXYREQUEST lpProxyRequest,DWORD dwResult); + LONG WINAPI lineRedirect(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRedirectA(HCALL hCall,LPCSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRedirectW(HCALL hCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI lineRegisterRequestRecipient(HLINEAPP hLineApp,DWORD dwRegistrationInstance,DWORD dwRequestMode,DWORD bEnable); + LONG WINAPI lineReleaseUserUserInfo(HCALL hCall); + LONG WINAPI lineRemoveFromConference(HCALL hCall); + LONG WINAPI lineRemoveProvider(DWORD dwPermanentProviderID,HWND hwndOwner); + LONG WINAPI lineSecureCall(HCALL hCall); + LONG WINAPI lineSendUserUserInfo(HCALL hCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI lineSetAgentActivity(HLINE hLine,DWORD dwAddressID,DWORD dwActivityID); + LONG WINAPI lineSetAgentGroup(HLINE hLine,DWORD dwAddressID,LPLINEAGENTGROUPLIST lpAgentGroupList); + LONG WINAPI lineSetAgentMeasurementPeriod(HLINE hLine,HAGENT hAgent,DWORD dwMeasurementPeriod); + LONG WINAPI lineSetAgentSessionState(HLINE hLine,HAGENTSESSION hAgentSession,DWORD dwAgentSessionState,DWORD dwNextAgentSessionState); + LONG WINAPI lineSetAgentStateEx(HLINE hLine,HAGENT hAgent,DWORD dwAgentState,DWORD dwNextAgentState); + LONG WINAPI lineSetAgentState(HLINE hLine,DWORD dwAddressID,DWORD dwAgentState,DWORD dwNextAgentState); + LONG WINAPI lineSetAppPriority(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppPriorityA(LPCSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppPriorityW(LPCWSTR lpszAppFilename,DWORD dwMediaMode,LPLINEEXTENSIONID lpExtensionID,DWORD dwRequestMode,LPCWSTR lpszExtensionName,DWORD dwPriority); + LONG WINAPI lineSetAppSpecific(HCALL hCall,DWORD dwAppSpecific); + LONG WINAPI lineSetCallData(HCALL hCall,LPVOID lpCallData,DWORD dwSize); + LONG WINAPI lineSetCallParams(HCALL hCall,DWORD dwBearerMode,DWORD dwMinRate,DWORD dwMaxRate,LPLINEDIALPARAMS const lpDialParams); + LONG WINAPI lineSetCallPrivilege(HCALL hCall,DWORD dwCallPrivilege); + LONG WINAPI lineSetCallQualityOfService(HCALL hCall,LPVOID lpSendingFlowspec,DWORD dwSendingFlowspecSize,LPVOID lpReceivingFlowspec,DWORD dwReceivingFlowspecSize); + LONG WINAPI lineSetCallTreatment(HCALL hCall,DWORD dwTreatment); + LONG WINAPI lineSetCurrentLocation(HLINEAPP hLineApp,DWORD dwLocation); + LONG WINAPI lineSetDevConfig(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCSTR lpszDeviceClass); + LONG WINAPI lineSetDevConfigA(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCSTR lpszDeviceClass); + LONG WINAPI lineSetDevConfigW(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCWSTR lpszDeviceClass); + LONG WINAPI lineSetLineDevStatus(HLINE hLine,DWORD dwStatusToChange,DWORD fStatus); + LONG WINAPI lineSetMediaControl(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,LPLINEMEDIACONTROLDIGIT const lpDigitList,DWORD dwDigitNumEntries,LPLINEMEDIACONTROLMEDIA const lpMediaList,DWORD dwMediaNumEntries,LPLINEMEDIACONTROLTONE const lpToneList,DWORD dwToneNumEntries,LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,DWORD dwCallStateNumEntries); + LONG WINAPI lineSetMediaMode(HCALL hCall,DWORD dwMediaModes); + LONG WINAPI lineSetQueueMeasurementPeriod(HLINE hLine,DWORD dwQueueID,DWORD dwMeasurementPeriod); + LONG WINAPI lineSetNumRings(HLINE hLine,DWORD dwAddressID,DWORD dwNumRings); + LONG WINAPI lineSetStatusMessages(HLINE hLine,DWORD dwLineStates,DWORD dwAddressStates); + LONG WINAPI lineSetTerminal(HLINE hLine,DWORD dwAddressID,HCALL hCall,DWORD dwSelect,DWORD dwTerminalModes,DWORD dwTerminalID,DWORD bEnable); + LONG WINAPI lineSetTollList(HLINEAPP hLineApp,DWORD dwDeviceID,LPCSTR lpszAddressIn,DWORD dwTollListOption); + LONG WINAPI lineSetTollListA(HLINEAPP hLineApp,DWORD dwDeviceID,LPCSTR lpszAddressIn,DWORD dwTollListOption); + LONG WINAPI lineSetTollListW(HLINEAPP hLineApp,DWORD dwDeviceID,LPCWSTR lpszAddressInW,DWORD dwTollListOption); + LONG WINAPI lineSetupConference(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupConferenceA(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupConferenceW(HCALL hCall,HLINE hLine,LPHCALL lphConfCall,LPHCALL lphConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransfer(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransferA(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineSetupTransferW(HCALL hCall,LPHCALL lphConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI lineShutdown(HLINEAPP hLineApp); + LONG WINAPI lineSwapHold(HCALL hActiveCall,HCALL hHeldCall); + LONG WINAPI lineTranslateAddress(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateAddressA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateAddressW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,LPCWSTR lpszAddressIn,DWORD dwCard,DWORD dwTranslateOptions,LPLINETRANSLATEOUTPUT lpTranslateOutput); + LONG WINAPI lineTranslateDialog(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCSTR lpszAddressIn); + LONG WINAPI lineTranslateDialogA(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCSTR lpszAddressIn); + LONG WINAPI lineTranslateDialogW(HLINEAPP hLineApp,DWORD dwDeviceID,DWORD dwAPIVersion,HWND hwndOwner,LPCWSTR lpszAddressIn); + LONG WINAPI lineUncompleteCall(HLINE hLine,DWORD dwCompletionID); + LONG WINAPI lineUnhold(HCALL hCall); + LONG WINAPI lineUnpark(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress); + LONG WINAPI lineUnparkA(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCSTR lpszDestAddress); + LONG WINAPI lineUnparkW(HLINE hLine,DWORD dwAddressID,LPHCALL lphCall,LPCWSTR lpszDestAddress); + LONG WINAPI phoneClose(HPHONE hPhone); + LONG WINAPI phoneConfigDialog(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI phoneConfigDialogA(DWORD dwDeviceID,HWND hwndOwner,LPCSTR lpszDeviceClass); + LONG WINAPI phoneConfigDialogW(DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI phoneDevSpecific(HPHONE hPhone,LPVOID lpParams,DWORD dwSize); + LONG WINAPI phoneGetButtonInfo(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetButtonInfoA(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetButtonInfoW(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI phoneGetData(HPHONE hPhone,DWORD dwDataID,LPVOID lpData,DWORD dwSize); + LONG WINAPI phoneGetDevCaps(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDevCapsA(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDevCapsW(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI phoneGetDisplay(HPHONE hPhone,LPVARSTRING lpDisplay); + LONG WINAPI phoneGetGain(HPHONE hPhone,DWORD dwHookSwitchDev,LPDWORD lpdwGain); + LONG WINAPI phoneGetHookSwitch(HPHONE hPhone,LPDWORD lpdwHookSwitchDevs); + LONG WINAPI phoneGetIcon(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetIconA(DWORD dwDeviceID,LPCSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetIconW(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI phoneGetID(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI phoneGetIDA(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCSTR lpszDeviceClass); + LONG WINAPI phoneGetIDW(HPHONE hPhone,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass); + LONG WINAPI phoneGetLamp(HPHONE hPhone,DWORD dwButtonLampID,LPDWORD lpdwLampMode); + LONG WINAPI phoneGetMessage(HPHONEAPP hPhoneApp,LPPHONEMESSAGE lpMessage,DWORD dwTimeout); + LONG WINAPI phoneGetRing(HPHONE hPhone,LPDWORD lpdwRingMode,LPDWORD lpdwVolume); + LONG WINAPI phoneGetStatus(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusA(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusW(HPHONE hPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI phoneGetStatusMessages(HPHONE hPhone,LPDWORD lpdwPhoneStates,LPDWORD lpdwButtonModes,LPDWORD lpdwButtonStates); + LONG WINAPI phoneGetVolume(HPHONE hPhone,DWORD dwHookSwitchDev,LPDWORD lpdwVolume); + LONG WINAPI phoneInitialize(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCSTR lpszAppName,LPDWORD lpdwNumDevs); + LONG WINAPI phoneInitializeExA(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams); + LONG WINAPI phoneInitializeExW(LPHPHONEAPP lphPhoneApp,HINSTANCE hInstance,PHONECALLBACK lpfnCallback,LPCWSTR lpszFriendlyAppName,LPDWORD lpdwNumDevs,LPDWORD lpdwAPIVersion,LPPHONEINITIALIZEEXPARAMS lpPhoneInitializeExParams); + LONG WINAPI phoneNegotiateAPIVersion(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPILowVersion,DWORD dwAPIHighVersion,LPDWORD lpdwAPIVersion,LPPHONEEXTENSIONID lpExtensionID); + LONG WINAPI phoneNegotiateExtVersion(HPHONEAPP hPhoneApp,DWORD dwDeviceID,DWORD dwAPIVersion,DWORD dwExtLowVersion,DWORD dwExtHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI phoneOpen(HPHONEAPP hPhoneApp,DWORD dwDeviceID,LPHPHONE lphPhone,DWORD dwAPIVersion,DWORD dwExtVersion,DWORD_PTR dwCallbackInstance,DWORD dwPrivilege); + LONG WINAPI phoneSetButtonInfo(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetButtonInfoA(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetButtonInfoW(HPHONE hPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI phoneSetData(HPHONE hPhone,DWORD dwDataID,LPVOID const lpData,DWORD dwSize); + LONG WINAPI phoneSetDisplay(HPHONE hPhone,DWORD dwRow,DWORD dwColumn,LPCSTR lpsDisplay,DWORD dwSize); + LONG WINAPI phoneSetGain(HPHONE hPhone,DWORD dwHookSwitchDev,DWORD dwGain); + LONG WINAPI phoneSetHookSwitch(HPHONE hPhone,DWORD dwHookSwitchDevs,DWORD dwHookSwitchMode); + LONG WINAPI phoneSetLamp(HPHONE hPhone,DWORD dwButtonLampID,DWORD dwLampMode); + LONG WINAPI phoneSetRing(HPHONE hPhone,DWORD dwRingMode,DWORD dwVolume); + LONG WINAPI phoneSetStatusMessages(HPHONE hPhone,DWORD dwPhoneStates,DWORD dwButtonModes,DWORD dwButtonStates); + LONG WINAPI phoneSetVolume(HPHONE hPhone,DWORD dwHookSwitchDev,DWORD dwVolume); + LONG WINAPI phoneShutdown(HPHONEAPP hPhoneApp); + LONG WINAPI tapiGetLocationInfo(LPSTR lpszCountryCode,LPSTR lpszCityCode); + LONG WINAPI tapiGetLocationInfoA(LPSTR lpszCountryCode,LPSTR lpszCityCode); + LONG WINAPI tapiGetLocationInfoW(LPWSTR lpszCountryCodeW,LPWSTR lpszCityCodeW); + LONG WINAPI tapiRequestDrop(HWND hwnd,WPARAM wRequestID); + LONG WINAPI tapiRequestMakeCall(LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMakeCallA(LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMakeCallW(LPCWSTR lpszDestAddress,LPCWSTR lpszAppName,LPCWSTR lpszCalledParty,LPCWSTR lpszComment); + LONG WINAPI tapiRequestMediaCall(HWND hwnd,WPARAM wRequestID,LPCSTR lpszDeviceClass,LPCSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMediaCallA(HWND hwnd,WPARAM wRequestID,LPCSTR lpszDeviceClass,LPCSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCSTR lpszDestAddress,LPCSTR lpszAppName,LPCSTR lpszCalledParty,LPCSTR lpszComment); + LONG WINAPI tapiRequestMediaCallW(HWND hwnd,WPARAM wRequestID,LPCWSTR lpszDeviceClass,LPCWSTR lpDeviceID,DWORD dwSize,DWORD dwSecure,LPCWSTR lpszDestAddress,LPCWSTR lpszAppName,LPCWSTR lpszCalledParty,LPCWSTR lpszComment); + +#if defined(UNICODE) || (TAPI_CURRENT_VERSION >= 0x00020000) +#define lineAddProvider __MINGW_NAME_AW(lineAddProvider) +#define lineBlindTransfer __MINGW_NAME_AW(lineBlindTransfer) +#define lineConfigDialog __MINGW_NAME_AW(lineConfigDialog) +#define lineConfigDialogEdit __MINGW_NAME_AW(lineConfigDialogEdit) +#define lineDial __MINGW_NAME_AW(lineDial) +#define lineGatherDigits __MINGW_NAME_AW(lineGatherDigits) +#define lineGenerateDigits __MINGW_NAME_AW(lineGenerateDigits) +#define lineGetAddressID __MINGW_NAME_AW(lineGetAddressID) +#define lineGetAppPriority __MINGW_NAME_AW(lineGetAppPriority) +#define lineGetDevConfig __MINGW_NAME_AW(lineGetDevConfig) +#define lineGetIcon __MINGW_NAME_AW(lineGetIcon) +#define lineGetID __MINGW_NAME_AW(lineGetID) +#define lineHandoff __MINGW_NAME_AW(lineHandoff) +#define lineMakeCall __MINGW_NAME_AW(lineMakeCall) +#define linePark __MINGW_NAME_AW(linePark) +#define linePickup __MINGW_NAME_AW(linePickup) +#define lineRedirect __MINGW_NAME_AW(lineRedirect) +#define lineSetAppPriority __MINGW_NAME_AW(lineSetAppPriority) +#define lineSetDevConfig __MINGW_NAME_AW(lineSetDevConfig) +#define lineSetTollList __MINGW_NAME_AW(lineSetTollList) +#define lineTranslateAddress __MINGW_NAME_AW(lineTranslateAddress) +#define lineTranslateDialog __MINGW_NAME_AW(lineTranslateDialog) +#define lineUnpark __MINGW_NAME_AW(lineUnpark) + +#define phoneConfigDialog __MINGW_NAME_AW(phoneConfigDialog) +#define phoneGetIcon __MINGW_NAME_AW(phoneGetIcon) +#define phoneGetID __MINGW_NAME_AW(phoneGetID) + +#define tapiGetLocationInfo __MINGW_NAME_AW(tapiGetLocationInfo) +#define tapiRequestMakeCall __MINGW_NAME_AW(tapiRequestMakeCall) +#define tapiRequestMediaCall __MINGW_NAME_AW(tapiRequestMediaCall) +#endif /* UNICODE || TAPI2 */ + +#define lineCreateAgent __MINGW_NAME_AW(lineCreateAgent) +#define lineCreateAgent __MINGW_NAME_AW(lineCreateAgent) +#define lineForward __MINGW_NAME_AW(lineForward) +#define lineGetAddressCaps __MINGW_NAME_AW(lineGetAddressCaps) +#define lineGetAddressStatus __MINGW_NAME_AW(lineGetAddressStatus) +#define lineGetAgentActivityList __MINGW_NAME_AW(lineGetAgentActivityList) +#define lineGetAgentCaps __MINGW_NAME_AW(lineGetAgentCaps) +#define lineGetAgentGroupList __MINGW_NAME_AW(lineGetAgentGroupList) +#define lineGetAgentStatus __MINGW_NAME_AW(lineGetAgentStatus) +#define lineGetCallInfo __MINGW_NAME_AW(lineGetCallInfo) +#define lineGetCountry __MINGW_NAME_AW(lineGetCountry) +#define lineGetDevCaps __MINGW_NAME_AW(lineGetDevCaps) +#define lineGetGroupList __MINGW_NAME_AW(lineGetGroupList) +#define lineGetDevStatus __MINGW_NAME_AW(lineGetDevStatus) +#define lineGetProviderList __MINGW_NAME_AW(lineGetProviderList) +#define lineGetQueueList __MINGW_NAME_AW(lineGetQueueList) +#define lineGetRequest __MINGW_NAME_AW(lineGetRequest) +#define lineGetTranslateCaps __MINGW_NAME_AW(lineGetTranslateCaps) +#define lineInitializeEx __MINGW_NAME_AW(lineInitializeEx) +#define lineOpen __MINGW_NAME_AW(lineOpen) +#define linePrepareAddToConference __MINGW_NAME_AW(linePrepareAddToConference) +#define lineSetupConference __MINGW_NAME_AW(lineSetupConference) +#define lineSetupTransfer __MINGW_NAME_AW(lineSetupTransfer) + +#define phoneGetButtonInfo __MINGW_NAME_AW(phoneGetButtonInfo) +#define phoneGetDevCaps __MINGW_NAME_AW(phoneGetDevCaps) +#define phoneGetStatus __MINGW_NAME_AW(phoneGetStatus) +#define phoneInitializeEx __MINGW_NAME_AW(phoneInitializeEx) +#define phoneSetButtonInfo __MINGW_NAME_AW(phoneSetButtonInfo) + +#define TAPIERROR_FORMATMESSAGE(__ErrCode__) (((__ErrCode__) > 0xFFFF0000) ? ((__ErrCode__) & 0x0000FFFF) : (((__ErrCode__) & 0x10000000) ? ((__ErrCode__) - 0x90000000 + 0xF000) : ((__ErrCode__) - 0x80000000 + 0xE000))) + +#ifdef __cplusplus +} +#endif + +#pragma pack() +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3.h new file mode 100644 index 00000000..6dbe4e79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3.h @@ -0,0 +1,1606 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __tapi3_h__ +#define __tapi3_h__ + +#ifndef __ITAgent_FWD_DEFINED__ +#define __ITAgent_FWD_DEFINED__ +typedef struct ITAgent ITAgent; +#endif + +#ifndef __ITAgentSession_FWD_DEFINED__ +#define __ITAgentSession_FWD_DEFINED__ +typedef struct ITAgentSession ITAgentSession; +#endif + +#ifndef __ITACDGroup_FWD_DEFINED__ +#define __ITACDGroup_FWD_DEFINED__ +typedef struct ITACDGroup ITACDGroup; +#endif + +#ifndef __ITQueue_FWD_DEFINED__ +#define __ITQueue_FWD_DEFINED__ +typedef struct ITQueue ITQueue; +#endif + +#ifndef __ITAgentEvent_FWD_DEFINED__ +#define __ITAgentEvent_FWD_DEFINED__ +typedef struct ITAgentEvent ITAgentEvent; +#endif + +#ifndef __ITAgentSessionEvent_FWD_DEFINED__ +#define __ITAgentSessionEvent_FWD_DEFINED__ +typedef struct ITAgentSessionEvent ITAgentSessionEvent; +#endif + +#ifndef __ITACDGroupEvent_FWD_DEFINED__ +#define __ITACDGroupEvent_FWD_DEFINED__ +typedef struct ITACDGroupEvent ITACDGroupEvent; +#endif + +#ifndef __ITQueueEvent_FWD_DEFINED__ +#define __ITQueueEvent_FWD_DEFINED__ +typedef struct ITQueueEvent ITQueueEvent; +#endif + +#ifndef __ITAgentHandlerEvent_FWD_DEFINED__ +#define __ITAgentHandlerEvent_FWD_DEFINED__ +typedef struct ITAgentHandlerEvent ITAgentHandlerEvent; +#endif + +#ifndef __ITTAPICallCenter_FWD_DEFINED__ +#define __ITTAPICallCenter_FWD_DEFINED__ +typedef struct ITTAPICallCenter ITTAPICallCenter; +#endif + +#ifndef __ITAgentHandler_FWD_DEFINED__ +#define __ITAgentHandler_FWD_DEFINED__ +typedef struct ITAgentHandler ITAgentHandler; +#endif + +#ifndef __IEnumAgent_FWD_DEFINED__ +#define __IEnumAgent_FWD_DEFINED__ +typedef struct IEnumAgent IEnumAgent; +#endif + +#ifndef __IEnumAgentSession_FWD_DEFINED__ +#define __IEnumAgentSession_FWD_DEFINED__ +typedef struct IEnumAgentSession IEnumAgentSession; +#endif + +#ifndef __IEnumQueue_FWD_DEFINED__ +#define __IEnumQueue_FWD_DEFINED__ +typedef struct IEnumQueue IEnumQueue; +#endif + +#ifndef __IEnumACDGroup_FWD_DEFINED__ +#define __IEnumACDGroup_FWD_DEFINED__ +typedef struct IEnumACDGroup IEnumACDGroup; +#endif + +#ifndef __IEnumAgentHandler_FWD_DEFINED__ +#define __IEnumAgentHandler_FWD_DEFINED__ +typedef struct IEnumAgentHandler IEnumAgentHandler; +#endif + +#ifndef __ITAMMediaFormat_FWD_DEFINED__ +#define __ITAMMediaFormat_FWD_DEFINED__ +typedef struct ITAMMediaFormat ITAMMediaFormat; +#endif + +#ifndef __ITAllocatorProperties_FWD_DEFINED__ +#define __ITAllocatorProperties_FWD_DEFINED__ +typedef struct ITAllocatorProperties ITAllocatorProperties; +#endif + +#ifndef __ITPluggableTerminalEventSink_FWD_DEFINED__ +#define __ITPluggableTerminalEventSink_FWD_DEFINED__ +typedef struct ITPluggableTerminalEventSink ITPluggableTerminalEventSink; +#endif + +#ifndef __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__ +#define __ITPluggableTerminalEventSinkRegistration_FWD_DEFINED__ +typedef struct ITPluggableTerminalEventSinkRegistration ITPluggableTerminalEventSinkRegistration; +#endif + +#ifndef __ITMSPAddress_FWD_DEFINED__ +#define __ITMSPAddress_FWD_DEFINED__ +typedef struct ITMSPAddress ITMSPAddress; +#endif + +#ifndef __ITAgent_FWD_DEFINED__ +#define __ITAgent_FWD_DEFINED__ +typedef struct ITAgent ITAgent; +#endif + +#ifndef __ITAgentEvent_FWD_DEFINED__ +#define __ITAgentEvent_FWD_DEFINED__ +typedef struct ITAgentEvent ITAgentEvent; +#endif + +#ifndef __ITAgentSession_FWD_DEFINED__ +#define __ITAgentSession_FWD_DEFINED__ +typedef struct ITAgentSession ITAgentSession; +#endif + +#ifndef __ITAgentSessionEvent_FWD_DEFINED__ +#define __ITAgentSessionEvent_FWD_DEFINED__ +typedef struct ITAgentSessionEvent ITAgentSessionEvent; +#endif + +#ifndef __ITACDGroup_FWD_DEFINED__ +#define __ITACDGroup_FWD_DEFINED__ +typedef struct ITACDGroup ITACDGroup; +#endif + +#ifndef __ITACDGroupEvent_FWD_DEFINED__ +#define __ITACDGroupEvent_FWD_DEFINED__ +typedef struct ITACDGroupEvent ITACDGroupEvent; +#endif + +#ifndef __ITQueue_FWD_DEFINED__ +#define __ITQueue_FWD_DEFINED__ +typedef struct ITQueue ITQueue; +#endif + +#ifndef __ITQueueEvent_FWD_DEFINED__ +#define __ITQueueEvent_FWD_DEFINED__ +typedef struct ITQueueEvent ITQueueEvent; +#endif + +#ifndef __ITTAPICallCenter_FWD_DEFINED__ +#define __ITTAPICallCenter_FWD_DEFINED__ +typedef struct ITTAPICallCenter ITTAPICallCenter; +#endif + +#ifndef __ITAgentHandler_FWD_DEFINED__ +#define __ITAgentHandler_FWD_DEFINED__ +typedef struct ITAgentHandler ITAgentHandler; +#endif + +#ifndef __ITAgentHandlerEvent_FWD_DEFINED__ +#define __ITAgentHandlerEvent_FWD_DEFINED__ +typedef struct ITAgentHandlerEvent ITAgentHandlerEvent; +#endif + +#ifndef __ITTAPIDispatchEventNotification_FWD_DEFINED__ +#define __ITTAPIDispatchEventNotification_FWD_DEFINED__ +typedef struct ITTAPIDispatchEventNotification ITTAPIDispatchEventNotification; +#endif + +#ifndef __TAPI_FWD_DEFINED__ +#define __TAPI_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class TAPI TAPI; +#else +typedef struct TAPI TAPI; +#endif +#endif + +#ifndef __DispatchMapper_FWD_DEFINED__ +#define __DispatchMapper_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DispatchMapper DispatchMapper; +#else +typedef struct DispatchMapper DispatchMapper; +#endif +#endif + +#ifndef __RequestMakeCall_FWD_DEFINED__ +#define __RequestMakeCall_FWD_DEFINED__ +#ifdef __cplusplus +typedef class RequestMakeCall RequestMakeCall; +#else +typedef struct RequestMakeCall RequestMakeCall; +#endif +#endif + +#ifndef __ITTAPIDispatchEventNotification_FWD_DEFINED__ +#define __ITTAPIDispatchEventNotification_FWD_DEFINED__ +typedef struct ITTAPIDispatchEventNotification ITTAPIDispatchEventNotification; +#endif + +#include "oaidl.h" +#include "ocidl.h" +#include "tapi3if.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + typedef enum AGENT_EVENT { + AE_NOT_READY = 0, + AE_READY,AE_BUSY_ACD,AE_BUSY_INCOMING,AE_BUSY_OUTGOING,AE_UNKNOWN + } AGENT_EVENT; + + typedef enum AGENT_STATE { + AS_NOT_READY = 0, + AS_READY,AS_BUSY_ACD,AS_BUSY_INCOMING,AS_BUSY_OUTGOING,AS_UNKNOWN + } AGENT_STATE; + + typedef enum AGENT_SESSION_EVENT { + ASE_NEW_SESSION = 0, + ASE_NOT_READY,ASE_READY,ASE_BUSY,ASE_WRAPUP,ASE_END + } AGENT_SESSION_EVENT; + + typedef enum AGENT_SESSION_STATE { + ASST_NOT_READY = 0, + ASST_READY,ASST_BUSY_ON_CALL,ASST_BUSY_WRAPUP,ASST_SESSION_ENDED + } AGENT_SESSION_STATE; + + typedef enum AGENTHANDLER_EVENT { + AHE_NEW_AGENTHANDLER = 0, + AHE_AGENTHANDLER_REMOVED + } AGENTHANDLER_EVENT; + + typedef enum ACDGROUP_EVENT { + ACDGE_NEW_GROUP = 0, + ACDGE_GROUP_REMOVED + } ACDGROUP_EVENT; + + typedef enum ACDQUEUE_EVENT { + ACDQE_NEW_QUEUE = 0, + ACDQE_QUEUE_REMOVED + } ACDQUEUE_EVENT; + + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0000_v0_0_s_ifspec; +#ifndef __ITAgent_INTERFACE_DEFINED__ +#define __ITAgent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgent : public IDispatch { + public: + virtual HRESULT WINAPI EnumerateAgentSessions(IEnumAgentSession **ppEnumAgentSession) = 0; + virtual HRESULT WINAPI CreateSession(ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession) = 0; + virtual HRESULT WINAPI CreateSessionWithPIN(ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession) = 0; + virtual HRESULT WINAPI get_ID(BSTR *ppID) = 0; + virtual HRESULT WINAPI get_User(BSTR *ppUser) = 0; + virtual HRESULT WINAPI put_State(AGENT_STATE AgentState) = 0; + virtual HRESULT WINAPI get_State(AGENT_STATE *pAgentState) = 0; + virtual HRESULT WINAPI put_MeasurementPeriod(__LONG32 lPeriod) = 0; + virtual HRESULT WINAPI get_MeasurementPeriod(__LONG32 *plPeriod) = 0; + virtual HRESULT WINAPI get_OverallCallRate(CURRENCY *pcyCallrate) = 0; + virtual HRESULT WINAPI get_NumberOfACDCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_NumberOfIncomingCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_NumberOfOutgoingCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalACDTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_TotalACDCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_TotalWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_AgentSessions(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAgentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgent *This); + ULONG (WINAPI *Release)(ITAgent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *EnumerateAgentSessions)(ITAgent *This,IEnumAgentSession **ppEnumAgentSession); + HRESULT (WINAPI *CreateSession)(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession); + HRESULT (WINAPI *CreateSessionWithPIN)(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession); + HRESULT (WINAPI *get_ID)(ITAgent *This,BSTR *ppID); + HRESULT (WINAPI *get_User)(ITAgent *This,BSTR *ppUser); + HRESULT (WINAPI *put_State)(ITAgent *This,AGENT_STATE AgentState); + HRESULT (WINAPI *get_State)(ITAgent *This,AGENT_STATE *pAgentState); + HRESULT (WINAPI *put_MeasurementPeriod)(ITAgent *This,__LONG32 lPeriod); + HRESULT (WINAPI *get_MeasurementPeriod)(ITAgent *This,__LONG32 *plPeriod); + HRESULT (WINAPI *get_OverallCallRate)(ITAgent *This,CURRENCY *pcyCallrate); + HRESULT (WINAPI *get_NumberOfACDCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_NumberOfIncomingCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_NumberOfOutgoingCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalACDTalkTime)(ITAgent *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_TotalACDCallTime)(ITAgent *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_TotalWrapUpTime)(ITAgent *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_AgentSessions)(ITAgent *This,VARIANT *pVariant); + END_INTERFACE + } ITAgentVtbl; + struct ITAgent { + CONST_VTBL struct ITAgentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgent_EnumerateAgentSessions(This,ppEnumAgentSession) (This)->lpVtbl->EnumerateAgentSessions(This,ppEnumAgentSession) +#define ITAgent_CreateSession(This,pACDGroup,pAddress,ppAgentSession) (This)->lpVtbl->CreateSession(This,pACDGroup,pAddress,ppAgentSession) +#define ITAgent_CreateSessionWithPIN(This,pACDGroup,pAddress,pPIN,ppAgentSession) (This)->lpVtbl->CreateSessionWithPIN(This,pACDGroup,pAddress,pPIN,ppAgentSession) +#define ITAgent_get_ID(This,ppID) (This)->lpVtbl->get_ID(This,ppID) +#define ITAgent_get_User(This,ppUser) (This)->lpVtbl->get_User(This,ppUser) +#define ITAgent_put_State(This,AgentState) (This)->lpVtbl->put_State(This,AgentState) +#define ITAgent_get_State(This,pAgentState) (This)->lpVtbl->get_State(This,pAgentState) +#define ITAgent_put_MeasurementPeriod(This,lPeriod) (This)->lpVtbl->put_MeasurementPeriod(This,lPeriod) +#define ITAgent_get_MeasurementPeriod(This,plPeriod) (This)->lpVtbl->get_MeasurementPeriod(This,plPeriod) +#define ITAgent_get_OverallCallRate(This,pcyCallrate) (This)->lpVtbl->get_OverallCallRate(This,pcyCallrate) +#define ITAgent_get_NumberOfACDCalls(This,plCalls) (This)->lpVtbl->get_NumberOfACDCalls(This,plCalls) +#define ITAgent_get_NumberOfIncomingCalls(This,plCalls) (This)->lpVtbl->get_NumberOfIncomingCalls(This,plCalls) +#define ITAgent_get_NumberOfOutgoingCalls(This,plCalls) (This)->lpVtbl->get_NumberOfOutgoingCalls(This,plCalls) +#define ITAgent_get_TotalACDTalkTime(This,plTalkTime) (This)->lpVtbl->get_TotalACDTalkTime(This,plTalkTime) +#define ITAgent_get_TotalACDCallTime(This,plCallTime) (This)->lpVtbl->get_TotalACDCallTime(This,plCallTime) +#define ITAgent_get_TotalWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_TotalWrapUpTime(This,plWrapUpTime) +#define ITAgent_get_AgentSessions(This,pVariant) (This)->lpVtbl->get_AgentSessions(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAgent_EnumerateAgentSessions_Proxy(ITAgent *This,IEnumAgentSession **ppEnumAgentSession); + void __RPC_STUB ITAgent_EnumerateAgentSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_CreateSession_Proxy(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession); + void __RPC_STUB ITAgent_CreateSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_CreateSessionWithPIN_Proxy(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession); + void __RPC_STUB ITAgent_CreateSessionWithPIN_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_ID_Proxy(ITAgent *This,BSTR *ppID); + void __RPC_STUB ITAgent_get_ID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_User_Proxy(ITAgent *This,BSTR *ppUser); + void __RPC_STUB ITAgent_get_User_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_put_State_Proxy(ITAgent *This,AGENT_STATE AgentState); + void __RPC_STUB ITAgent_put_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_State_Proxy(ITAgent *This,AGENT_STATE *pAgentState); + void __RPC_STUB ITAgent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_put_MeasurementPeriod_Proxy(ITAgent *This,__LONG32 lPeriod); + void __RPC_STUB ITAgent_put_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_MeasurementPeriod_Proxy(ITAgent *This,__LONG32 *plPeriod); + void __RPC_STUB ITAgent_get_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_OverallCallRate_Proxy(ITAgent *This,CURRENCY *pcyCallrate); + void __RPC_STUB ITAgent_get_OverallCallRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfACDCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfACDCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfIncomingCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfIncomingCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfOutgoingCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfOutgoingCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalACDTalkTime_Proxy(ITAgent *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgent_get_TotalACDTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalACDCallTime_Proxy(ITAgent *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgent_get_TotalACDCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalWrapUpTime_Proxy(ITAgent *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgent_get_TotalWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_AgentSessions_Proxy(ITAgent *This,VARIANT *pVariant); + void __RPC_STUB ITAgent_get_AgentSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentSession_INTERFACE_DEFINED__ +#define __ITAgentSession_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentSession; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentSession : public IDispatch { + public: + virtual HRESULT WINAPI get_Agent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_ACDGroup(ITACDGroup **ppACDGroup) = 0; + virtual HRESULT WINAPI put_State(AGENT_SESSION_STATE SessionState) = 0; + virtual HRESULT WINAPI get_State(AGENT_SESSION_STATE *pSessionState) = 0; + virtual HRESULT WINAPI get_SessionStartTime(DATE *pdateSessionStart) = 0; + virtual HRESULT WINAPI get_SessionDuration(__LONG32 *plDuration) = 0; + virtual HRESULT WINAPI get_NumberOfCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_AverageTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_TotalCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_AverageCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_TotalWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_AverageWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_ACDCallRate(CURRENCY *pcyCallrate) = 0; + virtual HRESULT WINAPI get_LongestTimeToAnswer(__LONG32 *plAnswerTime) = 0; + virtual HRESULT WINAPI get_AverageTimeToAnswer(__LONG32 *plAnswerTime) = 0; + }; +#else + typedef struct ITAgentSessionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentSession *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentSession *This); + ULONG (WINAPI *Release)(ITAgentSession *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentSession *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentSession *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentSession *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentSession *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Agent)(ITAgentSession *This,ITAgent **ppAgent); + HRESULT (WINAPI *get_Address)(ITAgentSession *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_ACDGroup)(ITAgentSession *This,ITACDGroup **ppACDGroup); + HRESULT (WINAPI *put_State)(ITAgentSession *This,AGENT_SESSION_STATE SessionState); + HRESULT (WINAPI *get_State)(ITAgentSession *This,AGENT_SESSION_STATE *pSessionState); + HRESULT (WINAPI *get_SessionStartTime)(ITAgentSession *This,DATE *pdateSessionStart); + HRESULT (WINAPI *get_SessionDuration)(ITAgentSession *This,__LONG32 *plDuration); + HRESULT (WINAPI *get_NumberOfCalls)(ITAgentSession *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalTalkTime)(ITAgentSession *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_AverageTalkTime)(ITAgentSession *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_TotalCallTime)(ITAgentSession *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_AverageCallTime)(ITAgentSession *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_TotalWrapUpTime)(ITAgentSession *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_AverageWrapUpTime)(ITAgentSession *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_ACDCallRate)(ITAgentSession *This,CURRENCY *pcyCallrate); + HRESULT (WINAPI *get_LongestTimeToAnswer)(ITAgentSession *This,__LONG32 *plAnswerTime); + HRESULT (WINAPI *get_AverageTimeToAnswer)(ITAgentSession *This,__LONG32 *plAnswerTime); + END_INTERFACE + } ITAgentSessionVtbl; + struct ITAgentSession { + CONST_VTBL struct ITAgentSessionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentSession_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentSession_get_Agent(This,ppAgent) (This)->lpVtbl->get_Agent(This,ppAgent) +#define ITAgentSession_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITAgentSession_get_ACDGroup(This,ppACDGroup) (This)->lpVtbl->get_ACDGroup(This,ppACDGroup) +#define ITAgentSession_put_State(This,SessionState) (This)->lpVtbl->put_State(This,SessionState) +#define ITAgentSession_get_State(This,pSessionState) (This)->lpVtbl->get_State(This,pSessionState) +#define ITAgentSession_get_SessionStartTime(This,pdateSessionStart) (This)->lpVtbl->get_SessionStartTime(This,pdateSessionStart) +#define ITAgentSession_get_SessionDuration(This,plDuration) (This)->lpVtbl->get_SessionDuration(This,plDuration) +#define ITAgentSession_get_NumberOfCalls(This,plCalls) (This)->lpVtbl->get_NumberOfCalls(This,plCalls) +#define ITAgentSession_get_TotalTalkTime(This,plTalkTime) (This)->lpVtbl->get_TotalTalkTime(This,plTalkTime) +#define ITAgentSession_get_AverageTalkTime(This,plTalkTime) (This)->lpVtbl->get_AverageTalkTime(This,plTalkTime) +#define ITAgentSession_get_TotalCallTime(This,plCallTime) (This)->lpVtbl->get_TotalCallTime(This,plCallTime) +#define ITAgentSession_get_AverageCallTime(This,plCallTime) (This)->lpVtbl->get_AverageCallTime(This,plCallTime) +#define ITAgentSession_get_TotalWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_TotalWrapUpTime(This,plWrapUpTime) +#define ITAgentSession_get_AverageWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_AverageWrapUpTime(This,plWrapUpTime) +#define ITAgentSession_get_ACDCallRate(This,pcyCallrate) (This)->lpVtbl->get_ACDCallRate(This,pcyCallrate) +#define ITAgentSession_get_LongestTimeToAnswer(This,plAnswerTime) (This)->lpVtbl->get_LongestTimeToAnswer(This,plAnswerTime) +#define ITAgentSession_get_AverageTimeToAnswer(This,plAnswerTime) (This)->lpVtbl->get_AverageTimeToAnswer(This,plAnswerTime) +#endif +#endif + HRESULT WINAPI ITAgentSession_get_Agent_Proxy(ITAgentSession *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentSession_get_Agent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_Address_Proxy(ITAgentSession *This,ITAddress **ppAddress); + void __RPC_STUB ITAgentSession_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_ACDGroup_Proxy(ITAgentSession *This,ITACDGroup **ppACDGroup); + void __RPC_STUB ITAgentSession_get_ACDGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_put_State_Proxy(ITAgentSession *This,AGENT_SESSION_STATE SessionState); + void __RPC_STUB ITAgentSession_put_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_State_Proxy(ITAgentSession *This,AGENT_SESSION_STATE *pSessionState); + void __RPC_STUB ITAgentSession_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_SessionStartTime_Proxy(ITAgentSession *This,DATE *pdateSessionStart); + void __RPC_STUB ITAgentSession_get_SessionStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_SessionDuration_Proxy(ITAgentSession *This,__LONG32 *plDuration); + void __RPC_STUB ITAgentSession_get_SessionDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_NumberOfCalls_Proxy(ITAgentSession *This,__LONG32 *plCalls); + void __RPC_STUB ITAgentSession_get_NumberOfCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalTalkTime_Proxy(ITAgentSession *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgentSession_get_TotalTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageTalkTime_Proxy(ITAgentSession *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgentSession_get_AverageTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalCallTime_Proxy(ITAgentSession *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgentSession_get_TotalCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageCallTime_Proxy(ITAgentSession *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgentSession_get_AverageCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalWrapUpTime_Proxy(ITAgentSession *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgentSession_get_TotalWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageWrapUpTime_Proxy(ITAgentSession *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgentSession_get_AverageWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_ACDCallRate_Proxy(ITAgentSession *This,CURRENCY *pcyCallrate); + void __RPC_STUB ITAgentSession_get_ACDCallRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_LongestTimeToAnswer_Proxy(ITAgentSession *This,__LONG32 *plAnswerTime); + void __RPC_STUB ITAgentSession_get_LongestTimeToAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageTimeToAnswer_Proxy(ITAgentSession *This,__LONG32 *plAnswerTime); + void __RPC_STUB ITAgentSession_get_AverageTimeToAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITACDGroup_INTERFACE_DEFINED__ +#define __ITACDGroup_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITACDGroup; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITACDGroup : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI EnumerateQueues(IEnumQueue **ppEnumQueue) = 0; + virtual HRESULT WINAPI get_Queues(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITACDGroupVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITACDGroup *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITACDGroup *This); + ULONG (WINAPI *Release)(ITACDGroup *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITACDGroup *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITACDGroup *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITACDGroup *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITACDGroup *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITACDGroup *This,BSTR *ppName); + HRESULT (WINAPI *EnumerateQueues)(ITACDGroup *This,IEnumQueue **ppEnumQueue); + HRESULT (WINAPI *get_Queues)(ITACDGroup *This,VARIANT *pVariant); + END_INTERFACE + } ITACDGroupVtbl; + struct ITACDGroup { + CONST_VTBL struct ITACDGroupVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITACDGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITACDGroup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITACDGroup_Release(This) (This)->lpVtbl->Release(This) +#define ITACDGroup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITACDGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITACDGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITACDGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITACDGroup_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITACDGroup_EnumerateQueues(This,ppEnumQueue) (This)->lpVtbl->EnumerateQueues(This,ppEnumQueue) +#define ITACDGroup_get_Queues(This,pVariant) (This)->lpVtbl->get_Queues(This,pVariant) +#endif +#endif + HRESULT WINAPI ITACDGroup_get_Name_Proxy(ITACDGroup *This,BSTR *ppName); + void __RPC_STUB ITACDGroup_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroup_EnumerateQueues_Proxy(ITACDGroup *This,IEnumQueue **ppEnumQueue); + void __RPC_STUB ITACDGroup_EnumerateQueues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroup_get_Queues_Proxy(ITACDGroup *This,VARIANT *pVariant); + void __RPC_STUB ITACDGroup_get_Queues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITQueue_INTERFACE_DEFINED__ +#define __ITQueue_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITQueue; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITQueue : public IDispatch { + public: + virtual HRESULT WINAPI put_MeasurementPeriod(__LONG32 lPeriod) = 0; + virtual HRESULT WINAPI get_MeasurementPeriod(__LONG32 *plPeriod) = 0; + virtual HRESULT WINAPI get_TotalCallsQueued(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_CurrentCallsQueued(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsAbandoned(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsFlowedIn(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsFlowedOut(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_LongestEverWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_CurrentLongestWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_AverageWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_FinalDisposition(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + }; +#else + typedef struct ITQueueVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITQueue *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITQueue *This); + ULONG (WINAPI *Release)(ITQueue *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITQueue *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITQueue *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITQueue *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITQueue *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_MeasurementPeriod)(ITQueue *This,__LONG32 lPeriod); + HRESULT (WINAPI *get_MeasurementPeriod)(ITQueue *This,__LONG32 *plPeriod); + HRESULT (WINAPI *get_TotalCallsQueued)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_CurrentCallsQueued)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsAbandoned)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsFlowedIn)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsFlowedOut)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_LongestEverWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_CurrentLongestWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_AverageWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_FinalDisposition)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_Name)(ITQueue *This,BSTR *ppName); + END_INTERFACE + } ITQueueVtbl; + struct ITQueue { + CONST_VTBL struct ITQueueVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITQueue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITQueue_Release(This) (This)->lpVtbl->Release(This) +#define ITQueue_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITQueue_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITQueue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITQueue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITQueue_put_MeasurementPeriod(This,lPeriod) (This)->lpVtbl->put_MeasurementPeriod(This,lPeriod) +#define ITQueue_get_MeasurementPeriod(This,plPeriod) (This)->lpVtbl->get_MeasurementPeriod(This,plPeriod) +#define ITQueue_get_TotalCallsQueued(This,plCalls) (This)->lpVtbl->get_TotalCallsQueued(This,plCalls) +#define ITQueue_get_CurrentCallsQueued(This,plCalls) (This)->lpVtbl->get_CurrentCallsQueued(This,plCalls) +#define ITQueue_get_TotalCallsAbandoned(This,plCalls) (This)->lpVtbl->get_TotalCallsAbandoned(This,plCalls) +#define ITQueue_get_TotalCallsFlowedIn(This,plCalls) (This)->lpVtbl->get_TotalCallsFlowedIn(This,plCalls) +#define ITQueue_get_TotalCallsFlowedOut(This,plCalls) (This)->lpVtbl->get_TotalCallsFlowedOut(This,plCalls) +#define ITQueue_get_LongestEverWaitTime(This,plWaitTime) (This)->lpVtbl->get_LongestEverWaitTime(This,plWaitTime) +#define ITQueue_get_CurrentLongestWaitTime(This,plWaitTime) (This)->lpVtbl->get_CurrentLongestWaitTime(This,plWaitTime) +#define ITQueue_get_AverageWaitTime(This,plWaitTime) (This)->lpVtbl->get_AverageWaitTime(This,plWaitTime) +#define ITQueue_get_FinalDisposition(This,plCalls) (This)->lpVtbl->get_FinalDisposition(This,plCalls) +#define ITQueue_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#endif +#endif + HRESULT WINAPI ITQueue_put_MeasurementPeriod_Proxy(ITQueue *This,__LONG32 lPeriod); + void __RPC_STUB ITQueue_put_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_MeasurementPeriod_Proxy(ITQueue *This,__LONG32 *plPeriod); + void __RPC_STUB ITQueue_get_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsQueued_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsQueued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_CurrentCallsQueued_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_CurrentCallsQueued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsAbandoned_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsAbandoned_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsFlowedIn_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsFlowedIn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsFlowedOut_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsFlowedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_LongestEverWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_LongestEverWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_CurrentLongestWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_CurrentLongestWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_AverageWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_AverageWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_FinalDisposition_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_FinalDisposition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_Name_Proxy(ITQueue *This,BSTR *ppName); + void __RPC_STUB ITQueue_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentEvent_INTERFACE_DEFINED__ +#define __ITAgentEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Agent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI get_Event(AGENT_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentEvent *This); + ULONG (WINAPI *Release)(ITAgentEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Agent)(ITAgentEvent *This,ITAgent **ppAgent); + HRESULT (WINAPI *get_Event)(ITAgentEvent *This,AGENT_EVENT *pEvent); + END_INTERFACE + } ITAgentEventVtbl; + struct ITAgentEvent { + CONST_VTBL struct ITAgentEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentEvent_get_Agent(This,ppAgent) (This)->lpVtbl->get_Agent(This,ppAgent) +#define ITAgentEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentEvent_get_Agent_Proxy(ITAgentEvent *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentEvent_get_Agent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentEvent_get_Event_Proxy(ITAgentEvent *This,AGENT_EVENT *pEvent); + void __RPC_STUB ITAgentEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentSessionEvent_INTERFACE_DEFINED__ +#define __ITAgentSessionEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentSessionEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentSessionEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Session(ITAgentSession **ppSession) = 0; + virtual HRESULT WINAPI get_Event(AGENT_SESSION_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentSessionEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentSessionEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentSessionEvent *This); + ULONG (WINAPI *Release)(ITAgentSessionEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentSessionEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentSessionEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentSessionEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentSessionEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Session)(ITAgentSessionEvent *This,ITAgentSession **ppSession); + HRESULT (WINAPI *get_Event)(ITAgentSessionEvent *This,AGENT_SESSION_EVENT *pEvent); + END_INTERFACE + } ITAgentSessionEventVtbl; + struct ITAgentSessionEvent { + CONST_VTBL struct ITAgentSessionEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentSessionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentSessionEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentSessionEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentSessionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentSessionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentSessionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentSessionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentSessionEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession) +#define ITAgentSessionEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentSessionEvent_get_Session_Proxy(ITAgentSessionEvent *This,ITAgentSession **ppSession); + void __RPC_STUB ITAgentSessionEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSessionEvent_get_Event_Proxy(ITAgentSessionEvent *This,AGENT_SESSION_EVENT *pEvent); + void __RPC_STUB ITAgentSessionEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITACDGroupEvent_INTERFACE_DEFINED__ +#define __ITACDGroupEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITACDGroupEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITACDGroupEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Group(ITACDGroup **ppGroup) = 0; + virtual HRESULT WINAPI get_Event(ACDGROUP_EVENT *pEvent) = 0; + }; +#else + typedef struct ITACDGroupEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITACDGroupEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITACDGroupEvent *This); + ULONG (WINAPI *Release)(ITACDGroupEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITACDGroupEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITACDGroupEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITACDGroupEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITACDGroupEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Group)(ITACDGroupEvent *This,ITACDGroup **ppGroup); + HRESULT (WINAPI *get_Event)(ITACDGroupEvent *This,ACDGROUP_EVENT *pEvent); + END_INTERFACE + } ITACDGroupEventVtbl; + struct ITACDGroupEvent { + CONST_VTBL struct ITACDGroupEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITACDGroupEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITACDGroupEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITACDGroupEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITACDGroupEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITACDGroupEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITACDGroupEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITACDGroupEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITACDGroupEvent_get_Group(This,ppGroup) (This)->lpVtbl->get_Group(This,ppGroup) +#define ITACDGroupEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITACDGroupEvent_get_Group_Proxy(ITACDGroupEvent *This,ITACDGroup **ppGroup); + void __RPC_STUB ITACDGroupEvent_get_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroupEvent_get_Event_Proxy(ITACDGroupEvent *This,ACDGROUP_EVENT *pEvent); + void __RPC_STUB ITACDGroupEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITQueueEvent_INTERFACE_DEFINED__ +#define __ITQueueEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITQueueEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITQueueEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Queue(ITQueue **ppQueue) = 0; + virtual HRESULT WINAPI get_Event(ACDQUEUE_EVENT *pEvent) = 0; + }; +#else + typedef struct ITQueueEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITQueueEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITQueueEvent *This); + ULONG (WINAPI *Release)(ITQueueEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITQueueEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITQueueEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITQueueEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITQueueEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Queue)(ITQueueEvent *This,ITQueue **ppQueue); + HRESULT (WINAPI *get_Event)(ITQueueEvent *This,ACDQUEUE_EVENT *pEvent); + END_INTERFACE + } ITQueueEventVtbl; + struct ITQueueEvent { + CONST_VTBL struct ITQueueEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITQueueEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITQueueEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITQueueEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITQueueEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITQueueEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITQueueEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITQueueEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITQueueEvent_get_Queue(This,ppQueue) (This)->lpVtbl->get_Queue(This,ppQueue) +#define ITQueueEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITQueueEvent_get_Queue_Proxy(ITQueueEvent *This,ITQueue **ppQueue); + void __RPC_STUB ITQueueEvent_get_Queue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueueEvent_get_Event_Proxy(ITQueueEvent *This,ACDQUEUE_EVENT *pEvent); + void __RPC_STUB ITQueueEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentHandlerEvent_INTERFACE_DEFINED__ +#define __ITAgentHandlerEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentHandlerEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentHandlerEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_AgentHandler(ITAgentHandler **ppAgentHandler) = 0; + virtual HRESULT WINAPI get_Event(AGENTHANDLER_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentHandlerEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentHandlerEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentHandlerEvent *This); + ULONG (WINAPI *Release)(ITAgentHandlerEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentHandlerEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentHandlerEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentHandlerEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentHandlerEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_AgentHandler)(ITAgentHandlerEvent *This,ITAgentHandler **ppAgentHandler); + HRESULT (WINAPI *get_Event)(ITAgentHandlerEvent *This,AGENTHANDLER_EVENT *pEvent); + END_INTERFACE + } ITAgentHandlerEventVtbl; + struct ITAgentHandlerEvent { + CONST_VTBL struct ITAgentHandlerEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentHandlerEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentHandlerEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentHandlerEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentHandlerEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentHandlerEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentHandlerEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentHandlerEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentHandlerEvent_get_AgentHandler(This,ppAgentHandler) (This)->lpVtbl->get_AgentHandler(This,ppAgentHandler) +#define ITAgentHandlerEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentHandlerEvent_get_AgentHandler_Proxy(ITAgentHandlerEvent *This,ITAgentHandler **ppAgentHandler); + void __RPC_STUB ITAgentHandlerEvent_get_AgentHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandlerEvent_get_Event_Proxy(ITAgentHandlerEvent *This,AGENTHANDLER_EVENT *pEvent); + void __RPC_STUB ITAgentHandlerEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPICallCenter_INTERFACE_DEFINED__ +#define __ITTAPICallCenter_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPICallCenter; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPICallCenter : public IDispatch { + public: + virtual HRESULT WINAPI EnumerateAgentHandlers(IEnumAgentHandler **ppEnumHandler) = 0; + virtual HRESULT WINAPI get_AgentHandlers(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITTAPICallCenterVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPICallCenter *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPICallCenter *This); + ULONG (WINAPI *Release)(ITTAPICallCenter *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPICallCenter *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPICallCenter *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPICallCenter *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPICallCenter *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *EnumerateAgentHandlers)(ITTAPICallCenter *This,IEnumAgentHandler **ppEnumHandler); + HRESULT (WINAPI *get_AgentHandlers)(ITTAPICallCenter *This,VARIANT *pVariant); + END_INTERFACE + } ITTAPICallCenterVtbl; + struct ITTAPICallCenter { + CONST_VTBL struct ITTAPICallCenterVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPICallCenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPICallCenter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPICallCenter_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPICallCenter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPICallCenter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPICallCenter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPICallCenter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPICallCenter_EnumerateAgentHandlers(This,ppEnumHandler) (This)->lpVtbl->EnumerateAgentHandlers(This,ppEnumHandler) +#define ITTAPICallCenter_get_AgentHandlers(This,pVariant) (This)->lpVtbl->get_AgentHandlers(This,pVariant) +#endif +#endif + HRESULT WINAPI ITTAPICallCenter_EnumerateAgentHandlers_Proxy(ITTAPICallCenter *This,IEnumAgentHandler **ppEnumHandler); + void __RPC_STUB ITTAPICallCenter_EnumerateAgentHandlers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPICallCenter_get_AgentHandlers_Proxy(ITTAPICallCenter *This,VARIANT *pVariant); + void __RPC_STUB ITTAPICallCenter_get_AgentHandlers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentHandler_INTERFACE_DEFINED__ +#define __ITAgentHandler_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentHandler; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentHandler : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI CreateAgent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI CreateAgentWithID(BSTR pID,BSTR pPIN,ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI EnumerateACDGroups(IEnumACDGroup **ppEnumACDGroup) = 0; + virtual HRESULT WINAPI EnumerateUsableAddresses(IEnumAddress **ppEnumAddress) = 0; + virtual HRESULT WINAPI get_ACDGroups(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI get_UsableAddresses(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAgentHandlerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentHandler *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentHandler *This); + ULONG (WINAPI *Release)(ITAgentHandler *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentHandler *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentHandler *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentHandler *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentHandler *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITAgentHandler *This,BSTR *ppName); + HRESULT (WINAPI *CreateAgent)(ITAgentHandler *This,ITAgent **ppAgent); + HRESULT (WINAPI *CreateAgentWithID)(ITAgentHandler *This,BSTR pID,BSTR pPIN,ITAgent **ppAgent); + HRESULT (WINAPI *EnumerateACDGroups)(ITAgentHandler *This,IEnumACDGroup **ppEnumACDGroup); + HRESULT (WINAPI *EnumerateUsableAddresses)(ITAgentHandler *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *get_ACDGroups)(ITAgentHandler *This,VARIANT *pVariant); + HRESULT (WINAPI *get_UsableAddresses)(ITAgentHandler *This,VARIANT *pVariant); + END_INTERFACE + } ITAgentHandlerVtbl; + struct ITAgentHandler { + CONST_VTBL struct ITAgentHandlerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentHandler_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentHandler_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentHandler_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentHandler_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentHandler_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentHandler_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITAgentHandler_CreateAgent(This,ppAgent) (This)->lpVtbl->CreateAgent(This,ppAgent) +#define ITAgentHandler_CreateAgentWithID(This,pID,pPIN,ppAgent) (This)->lpVtbl->CreateAgentWithID(This,pID,pPIN,ppAgent) +#define ITAgentHandler_EnumerateACDGroups(This,ppEnumACDGroup) (This)->lpVtbl->EnumerateACDGroups(This,ppEnumACDGroup) +#define ITAgentHandler_EnumerateUsableAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateUsableAddresses(This,ppEnumAddress) +#define ITAgentHandler_get_ACDGroups(This,pVariant) (This)->lpVtbl->get_ACDGroups(This,pVariant) +#define ITAgentHandler_get_UsableAddresses(This,pVariant) (This)->lpVtbl->get_UsableAddresses(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAgentHandler_get_Name_Proxy(ITAgentHandler *This,BSTR *ppName); + void __RPC_STUB ITAgentHandler_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_CreateAgent_Proxy(ITAgentHandler *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentHandler_CreateAgent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_CreateAgentWithID_Proxy(ITAgentHandler *This,BSTR pID,BSTR pPIN,ITAgent **ppAgent); + void __RPC_STUB ITAgentHandler_CreateAgentWithID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_EnumerateACDGroups_Proxy(ITAgentHandler *This,IEnumACDGroup **ppEnumACDGroup); + void __RPC_STUB ITAgentHandler_EnumerateACDGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_EnumerateUsableAddresses_Proxy(ITAgentHandler *This,IEnumAddress **ppEnumAddress); + void __RPC_STUB ITAgentHandler_EnumerateUsableAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_get_ACDGroups_Proxy(ITAgentHandler *This,VARIANT *pVariant); + void __RPC_STUB ITAgentHandler_get_ACDGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_get_UsableAddresses_Proxy(ITAgentHandler *This,VARIANT *pVariant); + void __RPC_STUB ITAgentHandler_get_UsableAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgent_INTERFACE_DEFINED__ +#define __IEnumAgent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgent : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgent **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgent **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgent *This); + ULONG (WINAPI *Release)(IEnumAgent *This); + HRESULT (WINAPI *Next)(IEnumAgent *This,ULONG celt,ITAgent **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgent *This); + HRESULT (WINAPI *Skip)(IEnumAgent *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgent *This,IEnumAgent **ppEnum); + END_INTERFACE + } IEnumAgentVtbl; + struct IEnumAgent { + CONST_VTBL struct IEnumAgentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgent_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgent_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgent_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgent_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgent_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgent_Next_Proxy(IEnumAgent *This,ULONG celt,ITAgent **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgent_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Reset_Proxy(IEnumAgent *This); + void __RPC_STUB IEnumAgent_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Skip_Proxy(IEnumAgent *This,ULONG celt); + void __RPC_STUB IEnumAgent_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Clone_Proxy(IEnumAgent *This,IEnumAgent **ppEnum); + void __RPC_STUB IEnumAgent_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgentSession_INTERFACE_DEFINED__ +#define __IEnumAgentSession_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgentSession; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgentSession : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgentSession **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentSessionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgentSession *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgentSession *This); + ULONG (WINAPI *Release)(IEnumAgentSession *This); + HRESULT (WINAPI *Next)(IEnumAgentSession *This,ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgentSession *This); + HRESULT (WINAPI *Skip)(IEnumAgentSession *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgentSession *This,IEnumAgentSession **ppEnum); + END_INTERFACE + } IEnumAgentSessionVtbl; + struct IEnumAgentSession { + CONST_VTBL struct IEnumAgentSessionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgentSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgentSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgentSession_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgentSession_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgentSession_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgentSession_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgentSession_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgentSession_Next_Proxy(IEnumAgentSession *This,ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgentSession_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Reset_Proxy(IEnumAgentSession *This); + void __RPC_STUB IEnumAgentSession_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Skip_Proxy(IEnumAgentSession *This,ULONG celt); + void __RPC_STUB IEnumAgentSession_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Clone_Proxy(IEnumAgentSession *This,IEnumAgentSession **ppEnum); + void __RPC_STUB IEnumAgentSession_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumQueue_INTERFACE_DEFINED__ +#define __IEnumQueue_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumQueue; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumQueue : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITQueue **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumQueue **ppEnum) = 0; + }; +#else + typedef struct IEnumQueueVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumQueue *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumQueue *This); + ULONG (WINAPI *Release)(IEnumQueue *This); + HRESULT (WINAPI *Next)(IEnumQueue *This,ULONG celt,ITQueue **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumQueue *This); + HRESULT (WINAPI *Skip)(IEnumQueue *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumQueue *This,IEnumQueue **ppEnum); + END_INTERFACE + } IEnumQueueVtbl; + struct IEnumQueue { + CONST_VTBL struct IEnumQueueVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumQueue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumQueue_Release(This) (This)->lpVtbl->Release(This) +#define IEnumQueue_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumQueue_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumQueue_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumQueue_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumQueue_Next_Proxy(IEnumQueue *This,ULONG celt,ITQueue **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumQueue_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Reset_Proxy(IEnumQueue *This); + void __RPC_STUB IEnumQueue_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Skip_Proxy(IEnumQueue *This,ULONG celt); + void __RPC_STUB IEnumQueue_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Clone_Proxy(IEnumQueue *This,IEnumQueue **ppEnum); + void __RPC_STUB IEnumQueue_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumACDGroup_INTERFACE_DEFINED__ +#define __IEnumACDGroup_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumACDGroup; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumACDGroup : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumACDGroup **ppEnum) = 0; + }; +#else + typedef struct IEnumACDGroupVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumACDGroup *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumACDGroup *This); + ULONG (WINAPI *Release)(IEnumACDGroup *This); + HRESULT (WINAPI *Next)(IEnumACDGroup *This,ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumACDGroup *This); + HRESULT (WINAPI *Skip)(IEnumACDGroup *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumACDGroup *This,IEnumACDGroup **ppEnum); + END_INTERFACE + } IEnumACDGroupVtbl; + struct IEnumACDGroup { + CONST_VTBL struct IEnumACDGroupVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumACDGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumACDGroup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumACDGroup_Release(This) (This)->lpVtbl->Release(This) +#define IEnumACDGroup_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumACDGroup_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumACDGroup_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumACDGroup_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumACDGroup_Next_Proxy(IEnumACDGroup *This,ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumACDGroup_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Reset_Proxy(IEnumACDGroup *This); + void __RPC_STUB IEnumACDGroup_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Skip_Proxy(IEnumACDGroup *This,ULONG celt); + void __RPC_STUB IEnumACDGroup_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Clone_Proxy(IEnumACDGroup *This,IEnumACDGroup **ppEnum); + void __RPC_STUB IEnumACDGroup_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgentHandler_INTERFACE_DEFINED__ +#define __IEnumAgentHandler_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgentHandler; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgentHandler : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgentHandler **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentHandlerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgentHandler *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgentHandler *This); + ULONG (WINAPI *Release)(IEnumAgentHandler *This); + HRESULT (WINAPI *Next)(IEnumAgentHandler *This,ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgentHandler *This); + HRESULT (WINAPI *Skip)(IEnumAgentHandler *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgentHandler *This,IEnumAgentHandler **ppEnum); + END_INTERFACE + } IEnumAgentHandlerVtbl; + struct IEnumAgentHandler { + CONST_VTBL struct IEnumAgentHandlerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgentHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgentHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgentHandler_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgentHandler_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgentHandler_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgentHandler_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgentHandler_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgentHandler_Next_Proxy(IEnumAgentHandler *This,ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgentHandler_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Reset_Proxy(IEnumAgentHandler *This); + void __RPC_STUB IEnumAgentHandler_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Skip_Proxy(IEnumAgentHandler *This,ULONG celt); + void __RPC_STUB IEnumAgentHandler_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Clone_Proxy(IEnumAgentHandler *This,IEnumAgentHandler **ppEnum); + void __RPC_STUB IEnumAgentHandler_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0520_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0520_v0_0_s_ifspec; +#ifndef __ITAMMediaFormat_INTERFACE_DEFINED__ +#define __ITAMMediaFormat_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAMMediaFormat; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAMMediaFormat : public IUnknown { + public: + virtual HRESULT WINAPI get_MediaFormat(AM_MEDIA_TYPE **ppmt) = 0; + virtual HRESULT WINAPI put_MediaFormat(const AM_MEDIA_TYPE *pmt) = 0; + }; +#else + typedef struct ITAMMediaFormatVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAMMediaFormat *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAMMediaFormat *This); + ULONG (WINAPI *Release)(ITAMMediaFormat *This); + HRESULT (WINAPI *get_MediaFormat)(ITAMMediaFormat *This,AM_MEDIA_TYPE **ppmt); + HRESULT (WINAPI *put_MediaFormat)(ITAMMediaFormat *This,const AM_MEDIA_TYPE *pmt); + END_INTERFACE + } ITAMMediaFormatVtbl; + struct ITAMMediaFormat { + CONST_VTBL struct ITAMMediaFormatVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAMMediaFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAMMediaFormat_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAMMediaFormat_Release(This) (This)->lpVtbl->Release(This) +#define ITAMMediaFormat_get_MediaFormat(This,ppmt) (This)->lpVtbl->get_MediaFormat(This,ppmt) +#define ITAMMediaFormat_put_MediaFormat(This,pmt) (This)->lpVtbl->put_MediaFormat(This,pmt) +#endif +#endif + HRESULT WINAPI ITAMMediaFormat_get_MediaFormat_Proxy(ITAMMediaFormat *This,AM_MEDIA_TYPE **ppmt); + void __RPC_STUB ITAMMediaFormat_get_MediaFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAMMediaFormat_put_MediaFormat_Proxy(ITAMMediaFormat *This,const AM_MEDIA_TYPE *pmt); + void __RPC_STUB ITAMMediaFormat_put_MediaFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAllocatorProperties_INTERFACE_DEFINED__ +#define __ITAllocatorProperties_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAllocatorProperties; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAllocatorProperties : public IUnknown { + public: + virtual HRESULT WINAPI SetAllocatorProperties(ALLOCATOR_PROPERTIES *pAllocProperties) = 0; + virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pAllocProperties) = 0; + virtual HRESULT WINAPI SetAllocateBuffers(WINBOOL bAllocBuffers) = 0; + virtual HRESULT WINAPI GetAllocateBuffers(WINBOOL *pbAllocBuffers) = 0; + virtual HRESULT WINAPI SetBufferSize(DWORD BufferSize) = 0; + virtual HRESULT WINAPI GetBufferSize(DWORD *pBufferSize) = 0; + }; +#else + typedef struct ITAllocatorPropertiesVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAllocatorProperties *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAllocatorProperties *This); + ULONG (WINAPI *Release)(ITAllocatorProperties *This); + HRESULT (WINAPI *SetAllocatorProperties)(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + HRESULT (WINAPI *GetAllocatorProperties)(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + HRESULT (WINAPI *SetAllocateBuffers)(ITAllocatorProperties *This,WINBOOL bAllocBuffers); + HRESULT (WINAPI *GetAllocateBuffers)(ITAllocatorProperties *This,WINBOOL *pbAllocBuffers); + HRESULT (WINAPI *SetBufferSize)(ITAllocatorProperties *This,DWORD BufferSize); + HRESULT (WINAPI *GetBufferSize)(ITAllocatorProperties *This,DWORD *pBufferSize); + END_INTERFACE + } ITAllocatorPropertiesVtbl; + struct ITAllocatorProperties { + CONST_VTBL struct ITAllocatorPropertiesVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAllocatorProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAllocatorProperties_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAllocatorProperties_Release(This) (This)->lpVtbl->Release(This) +#define ITAllocatorProperties_SetAllocatorProperties(This,pAllocProperties) (This)->lpVtbl->SetAllocatorProperties(This,pAllocProperties) +#define ITAllocatorProperties_GetAllocatorProperties(This,pAllocProperties) (This)->lpVtbl->GetAllocatorProperties(This,pAllocProperties) +#define ITAllocatorProperties_SetAllocateBuffers(This,bAllocBuffers) (This)->lpVtbl->SetAllocateBuffers(This,bAllocBuffers) +#define ITAllocatorProperties_GetAllocateBuffers(This,pbAllocBuffers) (This)->lpVtbl->GetAllocateBuffers(This,pbAllocBuffers) +#define ITAllocatorProperties_SetBufferSize(This,BufferSize) (This)->lpVtbl->SetBufferSize(This,BufferSize) +#define ITAllocatorProperties_GetBufferSize(This,pBufferSize) (This)->lpVtbl->GetBufferSize(This,pBufferSize) +#endif +#endif + HRESULT WINAPI ITAllocatorProperties_SetAllocatorProperties_Proxy(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + void __RPC_STUB ITAllocatorProperties_SetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetAllocatorProperties_Proxy(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + void __RPC_STUB ITAllocatorProperties_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_SetAllocateBuffers_Proxy(ITAllocatorProperties *This,WINBOOL bAllocBuffers); + void __RPC_STUB ITAllocatorProperties_SetAllocateBuffers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetAllocateBuffers_Proxy(ITAllocatorProperties *This,WINBOOL *pbAllocBuffers); + void __RPC_STUB ITAllocatorProperties_GetAllocateBuffers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_SetBufferSize_Proxy(ITAllocatorProperties *This,DWORD BufferSize); + void __RPC_STUB ITAllocatorProperties_SetBufferSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetBufferSize_Proxy(ITAllocatorProperties *This,DWORD *pBufferSize); + void __RPC_STUB ITAllocatorProperties_GetBufferSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + typedef __LONG32 *MSP_HANDLE; + + typedef enum __MIDL___MIDL_itf_tapi3_0524_0001 { + ADDRESS_TERMINAL_AVAILABLE = 0, + ADDRESS_TERMINAL_UNAVAILABLE + } MSP_ADDRESS_EVENT; + + typedef enum __MIDL___MIDL_itf_tapi3_0524_0002 { + CALL_NEW_STREAM = 0, + CALL_STREAM_FAIL,CALL_TERMINAL_FAIL,CALL_STREAM_NOT_USED,CALL_STREAM_ACTIVE, + CALL_STREAM_INACTIVE + } MSP_CALL_EVENT; + + typedef enum __MIDL___MIDL_itf_tapi3_0524_0003 { + CALL_CAUSE_UNKNOWN = 0, + CALL_CAUSE_BAD_DEVICE,CALL_CAUSE_CONNECT_FAIL,CALL_CAUSE_LOCAL_REQUEST,CALL_CAUSE_REMOTE_REQUEST, + CALL_CAUSE_MEDIA_TIMEOUT,CALL_CAUSE_MEDIA_RECOVERED,CALL_CAUSE_QUALITY_OF_SERVICE + } MSP_CALL_EVENT_CAUSE; + + typedef enum __MIDL___MIDL_itf_tapi3_0524_0004 { + ME_ADDRESS_EVENT = 0, + ME_CALL_EVENT,ME_TSP_DATA,ME_PRIVATE_EVENT,ME_ASR_TERMINAL_EVENT, + ME_TTS_TERMINAL_EVENT,ME_FILE_TERMINAL_EVENT,ME_TONE_TERMINAL_EVENT + } MSP_EVENT; + + typedef struct __MIDL___MIDL_itf_tapi3_0524_0005 { + DWORD dwSize; + MSP_EVENT Event; + MSP_HANDLE hCall; + __C89_NAMELESS union { + struct { + MSP_ADDRESS_EVENT Type; + ITTerminal *pTerminal; + } MSP_ADDRESS_EVENT_INFO; + struct { + MSP_CALL_EVENT Type; + MSP_CALL_EVENT_CAUSE Cause; + ITStream *pStream; + ITTerminal *pTerminal; + HRESULT hrError; + } MSP_CALL_EVENT_INFO; + struct { + DWORD dwBufferSize; + BYTE pBuffer[1 ]; + } MSP_TSP_DATA; + struct { + IDispatch *pEvent; + __LONG32 lEventCode; + } MSP_PRIVATE_EVENT_INFO; + struct { + ITTerminal *pParentFileTerminal; + ITFileTrack *pFileTrack; + TERMINAL_MEDIA_STATE TerminalMediaState; + FT_STATE_EVENT_CAUSE ftecEventCause; + HRESULT hrErrorCode; + } MSP_FILE_TERMINAL_EVENT_INFO; + struct { + ITTerminal *pASRTerminal; + HRESULT hrErrorCode; + } MSP_ASR_TERMINAL_EVENT_INFO; + struct { + ITTerminal *pTTSTerminal; + HRESULT hrErrorCode; + } MSP_TTS_TERMINAL_EVENT_INFO; + struct { + ITTerminal *pToneTerminal; + HRESULT hrErrorCode; + } MSP_TONE_TERMINAL_EVENT_INFO; + }; + } MSP_EVENT_INFO; + + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0524_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0524_v0_0_s_ifspec; +#ifndef __ITPluggableTerminalEventSink_INTERFACE_DEFINED__ +#define __ITPluggableTerminalEventSink_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalEventSink; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalEventSink : public IUnknown { + public: + virtual HRESULT WINAPI FireEvent(const MSP_EVENT_INFO *pMspEventInfo) = 0; + }; +#else + typedef struct ITPluggableTerminalEventSinkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSink *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSink *This); + ULONG (WINAPI *Release)(ITPluggableTerminalEventSink *This); + HRESULT (WINAPI *FireEvent)(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo); + END_INTERFACE + } ITPluggableTerminalEventSinkVtbl; + struct ITPluggableTerminalEventSink { + CONST_VTBL struct ITPluggableTerminalEventSinkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalEventSink_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalEventSink_FireEvent(This,pMspEventInfo) (This)->lpVtbl->FireEvent(This,pMspEventInfo) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalEventSink_FireEvent_Proxy(ITPluggableTerminalEventSink *This,const MSP_EVENT_INFO *pMspEventInfo); + void __RPC_STUB ITPluggableTerminalEventSink_FireEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__ +#define __ITPluggableTerminalEventSinkRegistration_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalEventSinkRegistration; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalEventSinkRegistration : public IUnknown { + public: + virtual HRESULT WINAPI RegisterSink(ITPluggableTerminalEventSink *pEventSink) = 0; + virtual HRESULT WINAPI UnregisterSink(void) = 0; + }; +#else + typedef struct ITPluggableTerminalEventSinkRegistrationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalEventSinkRegistration *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalEventSinkRegistration *This); + ULONG (WINAPI *Release)(ITPluggableTerminalEventSinkRegistration *This); + HRESULT (WINAPI *RegisterSink)(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink); + HRESULT (WINAPI *UnregisterSink)(ITPluggableTerminalEventSinkRegistration *This); + END_INTERFACE + } ITPluggableTerminalEventSinkRegistrationVtbl; + struct ITPluggableTerminalEventSinkRegistration { + CONST_VTBL struct ITPluggableTerminalEventSinkRegistrationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalEventSinkRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalEventSinkRegistration_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalEventSinkRegistration_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalEventSinkRegistration_RegisterSink(This,pEventSink) (This)->lpVtbl->RegisterSink(This,pEventSink) +#define ITPluggableTerminalEventSinkRegistration_UnregisterSink(This) (This)->lpVtbl->UnregisterSink(This) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_RegisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This,ITPluggableTerminalEventSink *pEventSink); + void __RPC_STUB ITPluggableTerminalEventSinkRegistration_RegisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalEventSinkRegistration_UnregisterSink_Proxy(ITPluggableTerminalEventSinkRegistration *This); + void __RPC_STUB ITPluggableTerminalEventSinkRegistration_UnregisterSink_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMSPAddress_INTERFACE_DEFINED__ +#define __ITMSPAddress_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMSPAddress; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMSPAddress : public IUnknown { + public: + virtual HRESULT WINAPI Initialize(MSP_HANDLE hEvent) = 0; + virtual HRESULT WINAPI Shutdown(void) = 0; + virtual HRESULT WINAPI CreateMSPCall(MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl) = 0; + virtual HRESULT WINAPI ShutdownMSPCall(IUnknown *pStreamControl) = 0; + virtual HRESULT WINAPI ReceiveTSPData(IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize) = 0; + virtual HRESULT WINAPI GetEvent(DWORD *pdwSize,byte *pEventBuffer) = 0; + }; +#else + typedef struct ITMSPAddressVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMSPAddress *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMSPAddress *This); + ULONG (WINAPI *Release)(ITMSPAddress *This); + HRESULT (WINAPI *Initialize)(ITMSPAddress *This,MSP_HANDLE hEvent); + HRESULT (WINAPI *Shutdown)(ITMSPAddress *This); + HRESULT (WINAPI *CreateMSPCall)(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl); + HRESULT (WINAPI *ShutdownMSPCall)(ITMSPAddress *This,IUnknown *pStreamControl); + HRESULT (WINAPI *ReceiveTSPData)(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize); + HRESULT (WINAPI *GetEvent)(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer); + END_INTERFACE + } ITMSPAddressVtbl; + struct ITMSPAddress { + CONST_VTBL struct ITMSPAddressVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMSPAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMSPAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMSPAddress_Release(This) (This)->lpVtbl->Release(This) +#define ITMSPAddress_Initialize(This,hEvent) (This)->lpVtbl->Initialize(This,hEvent) +#define ITMSPAddress_Shutdown(This) (This)->lpVtbl->Shutdown(This) +#define ITMSPAddress_CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) (This)->lpVtbl->CreateMSPCall(This,hCall,dwReserved,dwMediaType,pOuterUnknown,ppStreamControl) +#define ITMSPAddress_ShutdownMSPCall(This,pStreamControl) (This)->lpVtbl->ShutdownMSPCall(This,pStreamControl) +#define ITMSPAddress_ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) (This)->lpVtbl->ReceiveTSPData(This,pMSPCall,pBuffer,dwSize) +#define ITMSPAddress_GetEvent(This,pdwSize,pEventBuffer) (This)->lpVtbl->GetEvent(This,pdwSize,pEventBuffer) +#endif +#endif + HRESULT WINAPI ITMSPAddress_Initialize_Proxy(ITMSPAddress *This,MSP_HANDLE hEvent); + void __RPC_STUB ITMSPAddress_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMSPAddress_Shutdown_Proxy(ITMSPAddress *This); + void __RPC_STUB ITMSPAddress_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMSPAddress_CreateMSPCall_Proxy(ITMSPAddress *This,MSP_HANDLE hCall,DWORD dwReserved,DWORD dwMediaType,IUnknown *pOuterUnknown,IUnknown **ppStreamControl); + void __RPC_STUB ITMSPAddress_CreateMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMSPAddress_ShutdownMSPCall_Proxy(ITMSPAddress *This,IUnknown *pStreamControl); + void __RPC_STUB ITMSPAddress_ShutdownMSPCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMSPAddress_ReceiveTSPData_Proxy(ITMSPAddress *This,IUnknown *pMSPCall,BYTE *pBuffer,DWORD dwSize); + void __RPC_STUB ITMSPAddress_ReceiveTSPData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMSPAddress_GetEvent_Proxy(ITMSPAddress *This,DWORD *pdwSize,byte *pEventBuffer); + void __RPC_STUB ITMSPAddress_GetEvent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __TAPI3Lib_LIBRARY_DEFINED__ +#define __TAPI3Lib_LIBRARY_DEFINED__ + EXTERN_C const IID LIBID_TAPI3Lib; +#ifndef __ITTAPIDispatchEventNotification_DISPINTERFACE_DEFINED__ +#define __ITTAPIDispatchEventNotification_DISPINTERFACE_DEFINED__ + EXTERN_C const IID DIID_ITTAPIDispatchEventNotification; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPIDispatchEventNotification : public IDispatch { + }; +#else + typedef struct ITTAPIDispatchEventNotificationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPIDispatchEventNotification *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPIDispatchEventNotification *This); + ULONG (WINAPI *Release)(ITTAPIDispatchEventNotification *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPIDispatchEventNotification *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPIDispatchEventNotification *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPIDispatchEventNotification *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPIDispatchEventNotification *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + END_INTERFACE + } ITTAPIDispatchEventNotificationVtbl; + struct ITTAPIDispatchEventNotification { + CONST_VTBL struct ITTAPIDispatchEventNotificationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPIDispatchEventNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPIDispatchEventNotification_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPIDispatchEventNotification_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPIDispatchEventNotification_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPIDispatchEventNotification_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPIDispatchEventNotification_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPIDispatchEventNotification_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#endif +#endif +#endif + + EXTERN_C const CLSID CLSID_TAPI; +#ifdef __cplusplus + class TAPI; +#endif + EXTERN_C const CLSID CLSID_DispatchMapper; +#ifdef __cplusplus + class DispatchMapper; +#endif + EXTERN_C const CLSID CLSID_RequestMakeCall; +#ifdef __cplusplus + class RequestMakeCall; +#endif +#ifndef __TapiConstants_MODULE_DEFINED__ +#define __TapiConstants_MODULE_DEFINED__ + const BSTR CLSID_String_VideoWindowTerm = L"{F7438990-D6EB-11D0-82A6-00AA00B5CA1B}"; + const BSTR CLSID_String_VideoInputTerminal = L"{AAF578EC-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_HandsetTerminal = L"{AAF578EB-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_HeadsetTerminal = L"{AAF578ED-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_SpeakerphoneTerminal = L"{AAF578EE-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_MicrophoneTerminal = L"{AAF578EF-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_SpeakersTerminal = L"{AAF578F0-DC70-11D0-8ED3-00C04FB6809F}"; + const BSTR CLSID_String_MediaStreamTerminal = L"{E2F7AEF7-4971-11D1-A671-006097C9A2E8}"; + const BSTR CLSID_String_FileRecordingTerminal = L"{521F3D06-C3D0-4511-8617-86B9A783DA77}"; + const BSTR CLSID_String_FilePlaybackTerminal = L"{0CB9914C-79CD-47DC-ADB0-327F47CEFB20}"; + const BSTR TAPIPROTOCOL_String_PSTN = L"{831CE2D6-83B5-11D1-BB5C-00C04FB6809F}"; + const BSTR TAPIPROTOCOL_String_H323 = L"{831CE2D7-83B5-11D1-BB5C-00C04FB6809F}"; + const BSTR TAPIPROTOCOL_String_Multicast = L"{831CE2D8-83B5-11D1-BB5C-00C04FB6809F}"; + const __LONG32 LINEADDRESSTYPE_PHONENUMBER = 0x1; + const __LONG32 LINEADDRESSTYPE_SDP = 0x2; + const __LONG32 LINEADDRESSTYPE_EMAILNAME = 0x4; + const __LONG32 LINEADDRESSTYPE_DOMAINNAME = 0x8; + const __LONG32 LINEADDRESSTYPE_IPADDRESS = 0x10; + const __LONG32 LINEDIGITMODE_PULSE = 0x1; + const __LONG32 LINEDIGITMODE_DTMF = 0x2; + const __LONG32 LINEDIGITMODE_DTMFEND = 0x4; + const __LONG32 TAPIMEDIATYPE_AUDIO = 0x8; + const __LONG32 TAPIMEDIATYPE_VIDEO = 0x8000; + const __LONG32 TAPIMEDIATYPE_DATAMODEM = 0x10; + const __LONG32 TAPIMEDIATYPE_G3FAX = 0x20; + const __LONG32 TAPIMEDIATYPE_MULTITRACK = 0x10000; +#endif +#endif + +#define TAPI_CURRENT_VERSION 0x00030001 +#include +#include + + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0530_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3_0530_v0_0_s_ifspec; + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3cc.h new file mode 100644 index 00000000..fc25229d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3cc.h @@ -0,0 +1,1111 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __tapi3cc_h__ +#define __tapi3cc_h__ + +#ifndef __ITAgent_FWD_DEFINED__ +#define __ITAgent_FWD_DEFINED__ +typedef struct ITAgent ITAgent; +#endif + +#ifndef __ITAgentSession_FWD_DEFINED__ +#define __ITAgentSession_FWD_DEFINED__ +typedef struct ITAgentSession ITAgentSession; +#endif + +#ifndef __ITACDGroup_FWD_DEFINED__ +#define __ITACDGroup_FWD_DEFINED__ +typedef struct ITACDGroup ITACDGroup; +#endif + +#ifndef __ITQueue_FWD_DEFINED__ +#define __ITQueue_FWD_DEFINED__ +typedef struct ITQueue ITQueue; +#endif + +#ifndef __ITAgentEvent_FWD_DEFINED__ +#define __ITAgentEvent_FWD_DEFINED__ +typedef struct ITAgentEvent ITAgentEvent; +#endif + +#ifndef __ITAgentSessionEvent_FWD_DEFINED__ +#define __ITAgentSessionEvent_FWD_DEFINED__ +typedef struct ITAgentSessionEvent ITAgentSessionEvent; +#endif + +#ifndef __ITACDGroupEvent_FWD_DEFINED__ +#define __ITACDGroupEvent_FWD_DEFINED__ +typedef struct ITACDGroupEvent ITACDGroupEvent; +#endif + +#ifndef __ITQueueEvent_FWD_DEFINED__ +#define __ITQueueEvent_FWD_DEFINED__ +typedef struct ITQueueEvent ITQueueEvent; +#endif + +#ifndef __ITAgentHandlerEvent_FWD_DEFINED__ +#define __ITAgentHandlerEvent_FWD_DEFINED__ +typedef struct ITAgentHandlerEvent ITAgentHandlerEvent; +#endif + +#ifndef __ITTAPICallCenter_FWD_DEFINED__ +#define __ITTAPICallCenter_FWD_DEFINED__ +typedef struct ITTAPICallCenter ITTAPICallCenter; +#endif + +#ifndef __ITAgentHandler_FWD_DEFINED__ +#define __ITAgentHandler_FWD_DEFINED__ +typedef struct ITAgentHandler ITAgentHandler; +#endif + +#ifndef __IEnumAgent_FWD_DEFINED__ +#define __IEnumAgent_FWD_DEFINED__ +typedef struct IEnumAgent IEnumAgent; +#endif + +#ifndef __IEnumAgentSession_FWD_DEFINED__ +#define __IEnumAgentSession_FWD_DEFINED__ +typedef struct IEnumAgentSession IEnumAgentSession; +#endif + +#ifndef __IEnumQueue_FWD_DEFINED__ +#define __IEnumQueue_FWD_DEFINED__ +typedef struct IEnumQueue IEnumQueue; +#endif + +#ifndef __IEnumACDGroup_FWD_DEFINED__ +#define __IEnumACDGroup_FWD_DEFINED__ +typedef struct IEnumACDGroup IEnumACDGroup; +#endif + +#ifndef __IEnumAgentHandler_FWD_DEFINED__ +#define __IEnumAgentHandler_FWD_DEFINED__ +typedef struct IEnumAgentHandler IEnumAgentHandler; +#endif + +#include "oaidl.h" +#include "tapi3if.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + typedef enum AGENT_EVENT { + AE_NOT_READY = 0, + AE_READY,AE_BUSY_ACD,AE_BUSY_INCOMING,AE_BUSY_OUTGOING,AE_UNKNOWN + } AGENT_EVENT; + + typedef enum AGENT_STATE { + AS_NOT_READY = 0, + AS_READY,AS_BUSY_ACD,AS_BUSY_INCOMING,AS_BUSY_OUTGOING,AS_UNKNOWN + } AGENT_STATE; + + typedef enum AGENT_SESSION_EVENT { + ASE_NEW_SESSION = 0, + ASE_NOT_READY,ASE_READY,ASE_BUSY,ASE_WRAPUP,ASE_END + } AGENT_SESSION_EVENT; + + typedef enum AGENT_SESSION_STATE { + ASST_NOT_READY = 0, + ASST_READY,ASST_BUSY_ON_CALL,ASST_BUSY_WRAPUP,ASST_SESSION_ENDED + } AGENT_SESSION_STATE; + + typedef enum AGENTHANDLER_EVENT { + AHE_NEW_AGENTHANDLER = 0, + AHE_AGENTHANDLER_REMOVED + } AGENTHANDLER_EVENT; + + typedef enum ACDGROUP_EVENT { + ACDGE_NEW_GROUP = 0, + ACDGE_GROUP_REMOVED + } ACDGROUP_EVENT; + + typedef enum ACDQUEUE_EVENT { + ACDQE_NEW_QUEUE = 0, + ACDQE_QUEUE_REMOVED + } ACDQUEUE_EVENT; + + extern RPC_IF_HANDLE __MIDL_itf_tapi3cc_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3cc_0000_v0_0_s_ifspec; +#ifndef __ITAgent_INTERFACE_DEFINED__ +#define __ITAgent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgent : public IDispatch { + public: + virtual HRESULT WINAPI EnumerateAgentSessions(IEnumAgentSession **ppEnumAgentSession) = 0; + virtual HRESULT WINAPI CreateSession(ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession) = 0; + virtual HRESULT WINAPI CreateSessionWithPIN(ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession) = 0; + virtual HRESULT WINAPI get_ID(BSTR *ppID) = 0; + virtual HRESULT WINAPI get_User(BSTR *ppUser) = 0; + virtual HRESULT WINAPI put_State(AGENT_STATE AgentState) = 0; + virtual HRESULT WINAPI get_State(AGENT_STATE *pAgentState) = 0; + virtual HRESULT WINAPI put_MeasurementPeriod(__LONG32 lPeriod) = 0; + virtual HRESULT WINAPI get_MeasurementPeriod(__LONG32 *plPeriod) = 0; + virtual HRESULT WINAPI get_OverallCallRate(CURRENCY *pcyCallrate) = 0; + virtual HRESULT WINAPI get_NumberOfACDCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_NumberOfIncomingCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_NumberOfOutgoingCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalACDTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_TotalACDCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_TotalWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_AgentSessions(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAgentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgent *This); + ULONG (WINAPI *Release)(ITAgent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *EnumerateAgentSessions)(ITAgent *This,IEnumAgentSession **ppEnumAgentSession); + HRESULT (WINAPI *CreateSession)(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession); + HRESULT (WINAPI *CreateSessionWithPIN)(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession); + HRESULT (WINAPI *get_ID)(ITAgent *This,BSTR *ppID); + HRESULT (WINAPI *get_User)(ITAgent *This,BSTR *ppUser); + HRESULT (WINAPI *put_State)(ITAgent *This,AGENT_STATE AgentState); + HRESULT (WINAPI *get_State)(ITAgent *This,AGENT_STATE *pAgentState); + HRESULT (WINAPI *put_MeasurementPeriod)(ITAgent *This,__LONG32 lPeriod); + HRESULT (WINAPI *get_MeasurementPeriod)(ITAgent *This,__LONG32 *plPeriod); + HRESULT (WINAPI *get_OverallCallRate)(ITAgent *This,CURRENCY *pcyCallrate); + HRESULT (WINAPI *get_NumberOfACDCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_NumberOfIncomingCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_NumberOfOutgoingCalls)(ITAgent *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalACDTalkTime)(ITAgent *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_TotalACDCallTime)(ITAgent *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_TotalWrapUpTime)(ITAgent *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_AgentSessions)(ITAgent *This,VARIANT *pVariant); + END_INTERFACE + } ITAgentVtbl; + struct ITAgent { + CONST_VTBL struct ITAgentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgent_EnumerateAgentSessions(This,ppEnumAgentSession) (This)->lpVtbl->EnumerateAgentSessions(This,ppEnumAgentSession) +#define ITAgent_CreateSession(This,pACDGroup,pAddress,ppAgentSession) (This)->lpVtbl->CreateSession(This,pACDGroup,pAddress,ppAgentSession) +#define ITAgent_CreateSessionWithPIN(This,pACDGroup,pAddress,pPIN,ppAgentSession) (This)->lpVtbl->CreateSessionWithPIN(This,pACDGroup,pAddress,pPIN,ppAgentSession) +#define ITAgent_get_ID(This,ppID) (This)->lpVtbl->get_ID(This,ppID) +#define ITAgent_get_User(This,ppUser) (This)->lpVtbl->get_User(This,ppUser) +#define ITAgent_put_State(This,AgentState) (This)->lpVtbl->put_State(This,AgentState) +#define ITAgent_get_State(This,pAgentState) (This)->lpVtbl->get_State(This,pAgentState) +#define ITAgent_put_MeasurementPeriod(This,lPeriod) (This)->lpVtbl->put_MeasurementPeriod(This,lPeriod) +#define ITAgent_get_MeasurementPeriod(This,plPeriod) (This)->lpVtbl->get_MeasurementPeriod(This,plPeriod) +#define ITAgent_get_OverallCallRate(This,pcyCallrate) (This)->lpVtbl->get_OverallCallRate(This,pcyCallrate) +#define ITAgent_get_NumberOfACDCalls(This,plCalls) (This)->lpVtbl->get_NumberOfACDCalls(This,plCalls) +#define ITAgent_get_NumberOfIncomingCalls(This,plCalls) (This)->lpVtbl->get_NumberOfIncomingCalls(This,plCalls) +#define ITAgent_get_NumberOfOutgoingCalls(This,plCalls) (This)->lpVtbl->get_NumberOfOutgoingCalls(This,plCalls) +#define ITAgent_get_TotalACDTalkTime(This,plTalkTime) (This)->lpVtbl->get_TotalACDTalkTime(This,plTalkTime) +#define ITAgent_get_TotalACDCallTime(This,plCallTime) (This)->lpVtbl->get_TotalACDCallTime(This,plCallTime) +#define ITAgent_get_TotalWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_TotalWrapUpTime(This,plWrapUpTime) +#define ITAgent_get_AgentSessions(This,pVariant) (This)->lpVtbl->get_AgentSessions(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAgent_EnumerateAgentSessions_Proxy(ITAgent *This,IEnumAgentSession **ppEnumAgentSession); + void __RPC_STUB ITAgent_EnumerateAgentSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_CreateSession_Proxy(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,ITAgentSession **ppAgentSession); + void __RPC_STUB ITAgent_CreateSession_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_CreateSessionWithPIN_Proxy(ITAgent *This,ITACDGroup *pACDGroup,ITAddress *pAddress,BSTR pPIN,ITAgentSession **ppAgentSession); + void __RPC_STUB ITAgent_CreateSessionWithPIN_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_ID_Proxy(ITAgent *This,BSTR *ppID); + void __RPC_STUB ITAgent_get_ID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_User_Proxy(ITAgent *This,BSTR *ppUser); + void __RPC_STUB ITAgent_get_User_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_put_State_Proxy(ITAgent *This,AGENT_STATE AgentState); + void __RPC_STUB ITAgent_put_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_State_Proxy(ITAgent *This,AGENT_STATE *pAgentState); + void __RPC_STUB ITAgent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_put_MeasurementPeriod_Proxy(ITAgent *This,__LONG32 lPeriod); + void __RPC_STUB ITAgent_put_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_MeasurementPeriod_Proxy(ITAgent *This,__LONG32 *plPeriod); + void __RPC_STUB ITAgent_get_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_OverallCallRate_Proxy(ITAgent *This,CURRENCY *pcyCallrate); + void __RPC_STUB ITAgent_get_OverallCallRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfACDCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfACDCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfIncomingCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfIncomingCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_NumberOfOutgoingCalls_Proxy(ITAgent *This,__LONG32 *plCalls); + void __RPC_STUB ITAgent_get_NumberOfOutgoingCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalACDTalkTime_Proxy(ITAgent *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgent_get_TotalACDTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalACDCallTime_Proxy(ITAgent *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgent_get_TotalACDCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_TotalWrapUpTime_Proxy(ITAgent *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgent_get_TotalWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgent_get_AgentSessions_Proxy(ITAgent *This,VARIANT *pVariant); + void __RPC_STUB ITAgent_get_AgentSessions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentSession_INTERFACE_DEFINED__ +#define __ITAgentSession_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentSession; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentSession : public IDispatch { + public: + virtual HRESULT WINAPI get_Agent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_ACDGroup(ITACDGroup **ppACDGroup) = 0; + virtual HRESULT WINAPI put_State(AGENT_SESSION_STATE SessionState) = 0; + virtual HRESULT WINAPI get_State(AGENT_SESSION_STATE *pSessionState) = 0; + virtual HRESULT WINAPI get_SessionStartTime(DATE *pdateSessionStart) = 0; + virtual HRESULT WINAPI get_SessionDuration(__LONG32 *plDuration) = 0; + virtual HRESULT WINAPI get_NumberOfCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_AverageTalkTime(__LONG32 *plTalkTime) = 0; + virtual HRESULT WINAPI get_TotalCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_AverageCallTime(__LONG32 *plCallTime) = 0; + virtual HRESULT WINAPI get_TotalWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_AverageWrapUpTime(__LONG32 *plWrapUpTime) = 0; + virtual HRESULT WINAPI get_ACDCallRate(CURRENCY *pcyCallrate) = 0; + virtual HRESULT WINAPI get_LongestTimeToAnswer(__LONG32 *plAnswerTime) = 0; + virtual HRESULT WINAPI get_AverageTimeToAnswer(__LONG32 *plAnswerTime) = 0; + }; +#else + typedef struct ITAgentSessionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentSession *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentSession *This); + ULONG (WINAPI *Release)(ITAgentSession *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentSession *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentSession *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentSession *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentSession *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Agent)(ITAgentSession *This,ITAgent **ppAgent); + HRESULT (WINAPI *get_Address)(ITAgentSession *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_ACDGroup)(ITAgentSession *This,ITACDGroup **ppACDGroup); + HRESULT (WINAPI *put_State)(ITAgentSession *This,AGENT_SESSION_STATE SessionState); + HRESULT (WINAPI *get_State)(ITAgentSession *This,AGENT_SESSION_STATE *pSessionState); + HRESULT (WINAPI *get_SessionStartTime)(ITAgentSession *This,DATE *pdateSessionStart); + HRESULT (WINAPI *get_SessionDuration)(ITAgentSession *This,__LONG32 *plDuration); + HRESULT (WINAPI *get_NumberOfCalls)(ITAgentSession *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalTalkTime)(ITAgentSession *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_AverageTalkTime)(ITAgentSession *This,__LONG32 *plTalkTime); + HRESULT (WINAPI *get_TotalCallTime)(ITAgentSession *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_AverageCallTime)(ITAgentSession *This,__LONG32 *plCallTime); + HRESULT (WINAPI *get_TotalWrapUpTime)(ITAgentSession *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_AverageWrapUpTime)(ITAgentSession *This,__LONG32 *plWrapUpTime); + HRESULT (WINAPI *get_ACDCallRate)(ITAgentSession *This,CURRENCY *pcyCallrate); + HRESULT (WINAPI *get_LongestTimeToAnswer)(ITAgentSession *This,__LONG32 *plAnswerTime); + HRESULT (WINAPI *get_AverageTimeToAnswer)(ITAgentSession *This,__LONG32 *plAnswerTime); + END_INTERFACE + } ITAgentSessionVtbl; + struct ITAgentSession { + CONST_VTBL struct ITAgentSessionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentSession_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentSession_get_Agent(This,ppAgent) (This)->lpVtbl->get_Agent(This,ppAgent) +#define ITAgentSession_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITAgentSession_get_ACDGroup(This,ppACDGroup) (This)->lpVtbl->get_ACDGroup(This,ppACDGroup) +#define ITAgentSession_put_State(This,SessionState) (This)->lpVtbl->put_State(This,SessionState) +#define ITAgentSession_get_State(This,pSessionState) (This)->lpVtbl->get_State(This,pSessionState) +#define ITAgentSession_get_SessionStartTime(This,pdateSessionStart) (This)->lpVtbl->get_SessionStartTime(This,pdateSessionStart) +#define ITAgentSession_get_SessionDuration(This,plDuration) (This)->lpVtbl->get_SessionDuration(This,plDuration) +#define ITAgentSession_get_NumberOfCalls(This,plCalls) (This)->lpVtbl->get_NumberOfCalls(This,plCalls) +#define ITAgentSession_get_TotalTalkTime(This,plTalkTime) (This)->lpVtbl->get_TotalTalkTime(This,plTalkTime) +#define ITAgentSession_get_AverageTalkTime(This,plTalkTime) (This)->lpVtbl->get_AverageTalkTime(This,plTalkTime) +#define ITAgentSession_get_TotalCallTime(This,plCallTime) (This)->lpVtbl->get_TotalCallTime(This,plCallTime) +#define ITAgentSession_get_AverageCallTime(This,plCallTime) (This)->lpVtbl->get_AverageCallTime(This,plCallTime) +#define ITAgentSession_get_TotalWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_TotalWrapUpTime(This,plWrapUpTime) +#define ITAgentSession_get_AverageWrapUpTime(This,plWrapUpTime) (This)->lpVtbl->get_AverageWrapUpTime(This,plWrapUpTime) +#define ITAgentSession_get_ACDCallRate(This,pcyCallrate) (This)->lpVtbl->get_ACDCallRate(This,pcyCallrate) +#define ITAgentSession_get_LongestTimeToAnswer(This,plAnswerTime) (This)->lpVtbl->get_LongestTimeToAnswer(This,plAnswerTime) +#define ITAgentSession_get_AverageTimeToAnswer(This,plAnswerTime) (This)->lpVtbl->get_AverageTimeToAnswer(This,plAnswerTime) +#endif +#endif + HRESULT WINAPI ITAgentSession_get_Agent_Proxy(ITAgentSession *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentSession_get_Agent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_Address_Proxy(ITAgentSession *This,ITAddress **ppAddress); + void __RPC_STUB ITAgentSession_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_ACDGroup_Proxy(ITAgentSession *This,ITACDGroup **ppACDGroup); + void __RPC_STUB ITAgentSession_get_ACDGroup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_put_State_Proxy(ITAgentSession *This,AGENT_SESSION_STATE SessionState); + void __RPC_STUB ITAgentSession_put_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_State_Proxy(ITAgentSession *This,AGENT_SESSION_STATE *pSessionState); + void __RPC_STUB ITAgentSession_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_SessionStartTime_Proxy(ITAgentSession *This,DATE *pdateSessionStart); + void __RPC_STUB ITAgentSession_get_SessionStartTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_SessionDuration_Proxy(ITAgentSession *This,__LONG32 *plDuration); + void __RPC_STUB ITAgentSession_get_SessionDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_NumberOfCalls_Proxy(ITAgentSession *This,__LONG32 *plCalls); + void __RPC_STUB ITAgentSession_get_NumberOfCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalTalkTime_Proxy(ITAgentSession *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgentSession_get_TotalTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageTalkTime_Proxy(ITAgentSession *This,__LONG32 *plTalkTime); + void __RPC_STUB ITAgentSession_get_AverageTalkTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalCallTime_Proxy(ITAgentSession *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgentSession_get_TotalCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageCallTime_Proxy(ITAgentSession *This,__LONG32 *plCallTime); + void __RPC_STUB ITAgentSession_get_AverageCallTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_TotalWrapUpTime_Proxy(ITAgentSession *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgentSession_get_TotalWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageWrapUpTime_Proxy(ITAgentSession *This,__LONG32 *plWrapUpTime); + void __RPC_STUB ITAgentSession_get_AverageWrapUpTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_ACDCallRate_Proxy(ITAgentSession *This,CURRENCY *pcyCallrate); + void __RPC_STUB ITAgentSession_get_ACDCallRate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_LongestTimeToAnswer_Proxy(ITAgentSession *This,__LONG32 *plAnswerTime); + void __RPC_STUB ITAgentSession_get_LongestTimeToAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSession_get_AverageTimeToAnswer_Proxy(ITAgentSession *This,__LONG32 *plAnswerTime); + void __RPC_STUB ITAgentSession_get_AverageTimeToAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITACDGroup_INTERFACE_DEFINED__ +#define __ITACDGroup_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITACDGroup; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITACDGroup : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI EnumerateQueues(IEnumQueue **ppEnumQueue) = 0; + virtual HRESULT WINAPI get_Queues(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITACDGroupVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITACDGroup *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITACDGroup *This); + ULONG (WINAPI *Release)(ITACDGroup *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITACDGroup *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITACDGroup *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITACDGroup *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITACDGroup *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITACDGroup *This,BSTR *ppName); + HRESULT (WINAPI *EnumerateQueues)(ITACDGroup *This,IEnumQueue **ppEnumQueue); + HRESULT (WINAPI *get_Queues)(ITACDGroup *This,VARIANT *pVariant); + END_INTERFACE + } ITACDGroupVtbl; + struct ITACDGroup { + CONST_VTBL struct ITACDGroupVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITACDGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITACDGroup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITACDGroup_Release(This) (This)->lpVtbl->Release(This) +#define ITACDGroup_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITACDGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITACDGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITACDGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITACDGroup_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITACDGroup_EnumerateQueues(This,ppEnumQueue) (This)->lpVtbl->EnumerateQueues(This,ppEnumQueue) +#define ITACDGroup_get_Queues(This,pVariant) (This)->lpVtbl->get_Queues(This,pVariant) +#endif +#endif + HRESULT WINAPI ITACDGroup_get_Name_Proxy(ITACDGroup *This,BSTR *ppName); + void __RPC_STUB ITACDGroup_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroup_EnumerateQueues_Proxy(ITACDGroup *This,IEnumQueue **ppEnumQueue); + void __RPC_STUB ITACDGroup_EnumerateQueues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroup_get_Queues_Proxy(ITACDGroup *This,VARIANT *pVariant); + void __RPC_STUB ITACDGroup_get_Queues_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITQueue_INTERFACE_DEFINED__ +#define __ITQueue_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITQueue; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITQueue : public IDispatch { + public: + virtual HRESULT WINAPI put_MeasurementPeriod(__LONG32 lPeriod) = 0; + virtual HRESULT WINAPI get_MeasurementPeriod(__LONG32 *plPeriod) = 0; + virtual HRESULT WINAPI get_TotalCallsQueued(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_CurrentCallsQueued(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsAbandoned(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsFlowedIn(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_TotalCallsFlowedOut(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_LongestEverWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_CurrentLongestWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_AverageWaitTime(__LONG32 *plWaitTime) = 0; + virtual HRESULT WINAPI get_FinalDisposition(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + }; +#else + typedef struct ITQueueVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITQueue *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITQueue *This); + ULONG (WINAPI *Release)(ITQueue *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITQueue *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITQueue *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITQueue *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITQueue *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_MeasurementPeriod)(ITQueue *This,__LONG32 lPeriod); + HRESULT (WINAPI *get_MeasurementPeriod)(ITQueue *This,__LONG32 *plPeriod); + HRESULT (WINAPI *get_TotalCallsQueued)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_CurrentCallsQueued)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsAbandoned)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsFlowedIn)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_TotalCallsFlowedOut)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_LongestEverWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_CurrentLongestWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_AverageWaitTime)(ITQueue *This,__LONG32 *plWaitTime); + HRESULT (WINAPI *get_FinalDisposition)(ITQueue *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_Name)(ITQueue *This,BSTR *ppName); + END_INTERFACE + } ITQueueVtbl; + struct ITQueue { + CONST_VTBL struct ITQueueVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITQueue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITQueue_Release(This) (This)->lpVtbl->Release(This) +#define ITQueue_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITQueue_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITQueue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITQueue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITQueue_put_MeasurementPeriod(This,lPeriod) (This)->lpVtbl->put_MeasurementPeriod(This,lPeriod) +#define ITQueue_get_MeasurementPeriod(This,plPeriod) (This)->lpVtbl->get_MeasurementPeriod(This,plPeriod) +#define ITQueue_get_TotalCallsQueued(This,plCalls) (This)->lpVtbl->get_TotalCallsQueued(This,plCalls) +#define ITQueue_get_CurrentCallsQueued(This,plCalls) (This)->lpVtbl->get_CurrentCallsQueued(This,plCalls) +#define ITQueue_get_TotalCallsAbandoned(This,plCalls) (This)->lpVtbl->get_TotalCallsAbandoned(This,plCalls) +#define ITQueue_get_TotalCallsFlowedIn(This,plCalls) (This)->lpVtbl->get_TotalCallsFlowedIn(This,plCalls) +#define ITQueue_get_TotalCallsFlowedOut(This,plCalls) (This)->lpVtbl->get_TotalCallsFlowedOut(This,plCalls) +#define ITQueue_get_LongestEverWaitTime(This,plWaitTime) (This)->lpVtbl->get_LongestEverWaitTime(This,plWaitTime) +#define ITQueue_get_CurrentLongestWaitTime(This,plWaitTime) (This)->lpVtbl->get_CurrentLongestWaitTime(This,plWaitTime) +#define ITQueue_get_AverageWaitTime(This,plWaitTime) (This)->lpVtbl->get_AverageWaitTime(This,plWaitTime) +#define ITQueue_get_FinalDisposition(This,plCalls) (This)->lpVtbl->get_FinalDisposition(This,plCalls) +#define ITQueue_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#endif +#endif + HRESULT WINAPI ITQueue_put_MeasurementPeriod_Proxy(ITQueue *This,__LONG32 lPeriod); + void __RPC_STUB ITQueue_put_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_MeasurementPeriod_Proxy(ITQueue *This,__LONG32 *plPeriod); + void __RPC_STUB ITQueue_get_MeasurementPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsQueued_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsQueued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_CurrentCallsQueued_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_CurrentCallsQueued_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsAbandoned_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsAbandoned_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsFlowedIn_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsFlowedIn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_TotalCallsFlowedOut_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_TotalCallsFlowedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_LongestEverWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_LongestEverWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_CurrentLongestWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_CurrentLongestWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_AverageWaitTime_Proxy(ITQueue *This,__LONG32 *plWaitTime); + void __RPC_STUB ITQueue_get_AverageWaitTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_FinalDisposition_Proxy(ITQueue *This,__LONG32 *plCalls); + void __RPC_STUB ITQueue_get_FinalDisposition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueue_get_Name_Proxy(ITQueue *This,BSTR *ppName); + void __RPC_STUB ITQueue_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentEvent_INTERFACE_DEFINED__ +#define __ITAgentEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Agent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI get_Event(AGENT_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentEvent *This); + ULONG (WINAPI *Release)(ITAgentEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Agent)(ITAgentEvent *This,ITAgent **ppAgent); + HRESULT (WINAPI *get_Event)(ITAgentEvent *This,AGENT_EVENT *pEvent); + END_INTERFACE + } ITAgentEventVtbl; + struct ITAgentEvent { + CONST_VTBL struct ITAgentEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentEvent_get_Agent(This,ppAgent) (This)->lpVtbl->get_Agent(This,ppAgent) +#define ITAgentEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentEvent_get_Agent_Proxy(ITAgentEvent *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentEvent_get_Agent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentEvent_get_Event_Proxy(ITAgentEvent *This,AGENT_EVENT *pEvent); + void __RPC_STUB ITAgentEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentSessionEvent_INTERFACE_DEFINED__ +#define __ITAgentSessionEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentSessionEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentSessionEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Session(ITAgentSession **ppSession) = 0; + virtual HRESULT WINAPI get_Event(AGENT_SESSION_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentSessionEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentSessionEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentSessionEvent *This); + ULONG (WINAPI *Release)(ITAgentSessionEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentSessionEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentSessionEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentSessionEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentSessionEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Session)(ITAgentSessionEvent *This,ITAgentSession **ppSession); + HRESULT (WINAPI *get_Event)(ITAgentSessionEvent *This,AGENT_SESSION_EVENT *pEvent); + END_INTERFACE + } ITAgentSessionEventVtbl; + struct ITAgentSessionEvent { + CONST_VTBL struct ITAgentSessionEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentSessionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentSessionEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentSessionEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentSessionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentSessionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentSessionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentSessionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentSessionEvent_get_Session(This,ppSession) (This)->lpVtbl->get_Session(This,ppSession) +#define ITAgentSessionEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentSessionEvent_get_Session_Proxy(ITAgentSessionEvent *This,ITAgentSession **ppSession); + void __RPC_STUB ITAgentSessionEvent_get_Session_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentSessionEvent_get_Event_Proxy(ITAgentSessionEvent *This,AGENT_SESSION_EVENT *pEvent); + void __RPC_STUB ITAgentSessionEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITACDGroupEvent_INTERFACE_DEFINED__ +#define __ITACDGroupEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITACDGroupEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITACDGroupEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Group(ITACDGroup **ppGroup) = 0; + virtual HRESULT WINAPI get_Event(ACDGROUP_EVENT *pEvent) = 0; + }; +#else + typedef struct ITACDGroupEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITACDGroupEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITACDGroupEvent *This); + ULONG (WINAPI *Release)(ITACDGroupEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITACDGroupEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITACDGroupEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITACDGroupEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITACDGroupEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Group)(ITACDGroupEvent *This,ITACDGroup **ppGroup); + HRESULT (WINAPI *get_Event)(ITACDGroupEvent *This,ACDGROUP_EVENT *pEvent); + END_INTERFACE + } ITACDGroupEventVtbl; + struct ITACDGroupEvent { + CONST_VTBL struct ITACDGroupEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITACDGroupEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITACDGroupEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITACDGroupEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITACDGroupEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITACDGroupEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITACDGroupEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITACDGroupEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITACDGroupEvent_get_Group(This,ppGroup) (This)->lpVtbl->get_Group(This,ppGroup) +#define ITACDGroupEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITACDGroupEvent_get_Group_Proxy(ITACDGroupEvent *This,ITACDGroup **ppGroup); + void __RPC_STUB ITACDGroupEvent_get_Group_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITACDGroupEvent_get_Event_Proxy(ITACDGroupEvent *This,ACDGROUP_EVENT *pEvent); + void __RPC_STUB ITACDGroupEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITQueueEvent_INTERFACE_DEFINED__ +#define __ITQueueEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITQueueEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITQueueEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Queue(ITQueue **ppQueue) = 0; + virtual HRESULT WINAPI get_Event(ACDQUEUE_EVENT *pEvent) = 0; + }; +#else + typedef struct ITQueueEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITQueueEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITQueueEvent *This); + ULONG (WINAPI *Release)(ITQueueEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITQueueEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITQueueEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITQueueEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITQueueEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Queue)(ITQueueEvent *This,ITQueue **ppQueue); + HRESULT (WINAPI *get_Event)(ITQueueEvent *This,ACDQUEUE_EVENT *pEvent); + END_INTERFACE + } ITQueueEventVtbl; + struct ITQueueEvent { + CONST_VTBL struct ITQueueEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITQueueEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITQueueEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITQueueEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITQueueEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITQueueEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITQueueEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITQueueEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITQueueEvent_get_Queue(This,ppQueue) (This)->lpVtbl->get_Queue(This,ppQueue) +#define ITQueueEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITQueueEvent_get_Queue_Proxy(ITQueueEvent *This,ITQueue **ppQueue); + void __RPC_STUB ITQueueEvent_get_Queue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQueueEvent_get_Event_Proxy(ITQueueEvent *This,ACDQUEUE_EVENT *pEvent); + void __RPC_STUB ITQueueEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentHandlerEvent_INTERFACE_DEFINED__ +#define __ITAgentHandlerEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentHandlerEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentHandlerEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_AgentHandler(ITAgentHandler **ppAgentHandler) = 0; + virtual HRESULT WINAPI get_Event(AGENTHANDLER_EVENT *pEvent) = 0; + }; +#else + typedef struct ITAgentHandlerEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentHandlerEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentHandlerEvent *This); + ULONG (WINAPI *Release)(ITAgentHandlerEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentHandlerEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentHandlerEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentHandlerEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentHandlerEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_AgentHandler)(ITAgentHandlerEvent *This,ITAgentHandler **ppAgentHandler); + HRESULT (WINAPI *get_Event)(ITAgentHandlerEvent *This,AGENTHANDLER_EVENT *pEvent); + END_INTERFACE + } ITAgentHandlerEventVtbl; + struct ITAgentHandlerEvent { + CONST_VTBL struct ITAgentHandlerEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentHandlerEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentHandlerEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentHandlerEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentHandlerEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentHandlerEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentHandlerEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentHandlerEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentHandlerEvent_get_AgentHandler(This,ppAgentHandler) (This)->lpVtbl->get_AgentHandler(This,ppAgentHandler) +#define ITAgentHandlerEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#endif +#endif + HRESULT WINAPI ITAgentHandlerEvent_get_AgentHandler_Proxy(ITAgentHandlerEvent *This,ITAgentHandler **ppAgentHandler); + void __RPC_STUB ITAgentHandlerEvent_get_AgentHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandlerEvent_get_Event_Proxy(ITAgentHandlerEvent *This,AGENTHANDLER_EVENT *pEvent); + void __RPC_STUB ITAgentHandlerEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPICallCenter_INTERFACE_DEFINED__ +#define __ITTAPICallCenter_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPICallCenter; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPICallCenter : public IDispatch { + public: + virtual HRESULT WINAPI EnumerateAgentHandlers(IEnumAgentHandler **ppEnumHandler) = 0; + virtual HRESULT WINAPI get_AgentHandlers(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITTAPICallCenterVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPICallCenter *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPICallCenter *This); + ULONG (WINAPI *Release)(ITTAPICallCenter *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPICallCenter *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPICallCenter *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPICallCenter *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPICallCenter *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *EnumerateAgentHandlers)(ITTAPICallCenter *This,IEnumAgentHandler **ppEnumHandler); + HRESULT (WINAPI *get_AgentHandlers)(ITTAPICallCenter *This,VARIANT *pVariant); + END_INTERFACE + } ITTAPICallCenterVtbl; + struct ITTAPICallCenter { + CONST_VTBL struct ITTAPICallCenterVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPICallCenter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPICallCenter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPICallCenter_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPICallCenter_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPICallCenter_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPICallCenter_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPICallCenter_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPICallCenter_EnumerateAgentHandlers(This,ppEnumHandler) (This)->lpVtbl->EnumerateAgentHandlers(This,ppEnumHandler) +#define ITTAPICallCenter_get_AgentHandlers(This,pVariant) (This)->lpVtbl->get_AgentHandlers(This,pVariant) +#endif +#endif + HRESULT WINAPI ITTAPICallCenter_EnumerateAgentHandlers_Proxy(ITTAPICallCenter *This,IEnumAgentHandler **ppEnumHandler); + void __RPC_STUB ITTAPICallCenter_EnumerateAgentHandlers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPICallCenter_get_AgentHandlers_Proxy(ITTAPICallCenter *This,VARIANT *pVariant); + void __RPC_STUB ITTAPICallCenter_get_AgentHandlers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAgentHandler_INTERFACE_DEFINED__ +#define __ITAgentHandler_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAgentHandler; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAgentHandler : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI CreateAgent(ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI CreateAgentWithID(BSTR pID,BSTR pPIN,ITAgent **ppAgent) = 0; + virtual HRESULT WINAPI EnumerateACDGroups(IEnumACDGroup **ppEnumACDGroup) = 0; + virtual HRESULT WINAPI EnumerateUsableAddresses(IEnumAddress **ppEnumAddress) = 0; + virtual HRESULT WINAPI get_ACDGroups(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI get_UsableAddresses(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAgentHandlerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAgentHandler *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAgentHandler *This); + ULONG (WINAPI *Release)(ITAgentHandler *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAgentHandler *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAgentHandler *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAgentHandler *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAgentHandler *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITAgentHandler *This,BSTR *ppName); + HRESULT (WINAPI *CreateAgent)(ITAgentHandler *This,ITAgent **ppAgent); + HRESULT (WINAPI *CreateAgentWithID)(ITAgentHandler *This,BSTR pID,BSTR pPIN,ITAgent **ppAgent); + HRESULT (WINAPI *EnumerateACDGroups)(ITAgentHandler *This,IEnumACDGroup **ppEnumACDGroup); + HRESULT (WINAPI *EnumerateUsableAddresses)(ITAgentHandler *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *get_ACDGroups)(ITAgentHandler *This,VARIANT *pVariant); + HRESULT (WINAPI *get_UsableAddresses)(ITAgentHandler *This,VARIANT *pVariant); + END_INTERFACE + } ITAgentHandlerVtbl; + struct ITAgentHandler { + CONST_VTBL struct ITAgentHandlerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAgentHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAgentHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAgentHandler_Release(This) (This)->lpVtbl->Release(This) +#define ITAgentHandler_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAgentHandler_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAgentHandler_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAgentHandler_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAgentHandler_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITAgentHandler_CreateAgent(This,ppAgent) (This)->lpVtbl->CreateAgent(This,ppAgent) +#define ITAgentHandler_CreateAgentWithID(This,pID,pPIN,ppAgent) (This)->lpVtbl->CreateAgentWithID(This,pID,pPIN,ppAgent) +#define ITAgentHandler_EnumerateACDGroups(This,ppEnumACDGroup) (This)->lpVtbl->EnumerateACDGroups(This,ppEnumACDGroup) +#define ITAgentHandler_EnumerateUsableAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateUsableAddresses(This,ppEnumAddress) +#define ITAgentHandler_get_ACDGroups(This,pVariant) (This)->lpVtbl->get_ACDGroups(This,pVariant) +#define ITAgentHandler_get_UsableAddresses(This,pVariant) (This)->lpVtbl->get_UsableAddresses(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAgentHandler_get_Name_Proxy(ITAgentHandler *This,BSTR *ppName); + void __RPC_STUB ITAgentHandler_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_CreateAgent_Proxy(ITAgentHandler *This,ITAgent **ppAgent); + void __RPC_STUB ITAgentHandler_CreateAgent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_CreateAgentWithID_Proxy(ITAgentHandler *This,BSTR pID,BSTR pPIN,ITAgent **ppAgent); + void __RPC_STUB ITAgentHandler_CreateAgentWithID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_EnumerateACDGroups_Proxy(ITAgentHandler *This,IEnumACDGroup **ppEnumACDGroup); + void __RPC_STUB ITAgentHandler_EnumerateACDGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_EnumerateUsableAddresses_Proxy(ITAgentHandler *This,IEnumAddress **ppEnumAddress); + void __RPC_STUB ITAgentHandler_EnumerateUsableAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_get_ACDGroups_Proxy(ITAgentHandler *This,VARIANT *pVariant); + void __RPC_STUB ITAgentHandler_get_ACDGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAgentHandler_get_UsableAddresses_Proxy(ITAgentHandler *This,VARIANT *pVariant); + void __RPC_STUB ITAgentHandler_get_UsableAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgent_INTERFACE_DEFINED__ +#define __IEnumAgent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgent : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgent **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgent **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgent *This); + ULONG (WINAPI *Release)(IEnumAgent *This); + HRESULT (WINAPI *Next)(IEnumAgent *This,ULONG celt,ITAgent **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgent *This); + HRESULT (WINAPI *Skip)(IEnumAgent *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgent *This,IEnumAgent **ppEnum); + END_INTERFACE + } IEnumAgentVtbl; + struct IEnumAgent { + CONST_VTBL struct IEnumAgentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgent_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgent_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgent_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgent_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgent_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgent_Next_Proxy(IEnumAgent *This,ULONG celt,ITAgent **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgent_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Reset_Proxy(IEnumAgent *This); + void __RPC_STUB IEnumAgent_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Skip_Proxy(IEnumAgent *This,ULONG celt); + void __RPC_STUB IEnumAgent_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgent_Clone_Proxy(IEnumAgent *This,IEnumAgent **ppEnum); + void __RPC_STUB IEnumAgent_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgentSession_INTERFACE_DEFINED__ +#define __IEnumAgentSession_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgentSession; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgentSession : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgentSession **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentSessionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgentSession *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgentSession *This); + ULONG (WINAPI *Release)(IEnumAgentSession *This); + HRESULT (WINAPI *Next)(IEnumAgentSession *This,ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgentSession *This); + HRESULT (WINAPI *Skip)(IEnumAgentSession *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgentSession *This,IEnumAgentSession **ppEnum); + END_INTERFACE + } IEnumAgentSessionVtbl; + struct IEnumAgentSession { + CONST_VTBL struct IEnumAgentSessionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgentSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgentSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgentSession_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgentSession_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgentSession_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgentSession_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgentSession_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgentSession_Next_Proxy(IEnumAgentSession *This,ULONG celt,ITAgentSession **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgentSession_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Reset_Proxy(IEnumAgentSession *This); + void __RPC_STUB IEnumAgentSession_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Skip_Proxy(IEnumAgentSession *This,ULONG celt); + void __RPC_STUB IEnumAgentSession_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentSession_Clone_Proxy(IEnumAgentSession *This,IEnumAgentSession **ppEnum); + void __RPC_STUB IEnumAgentSession_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumQueue_INTERFACE_DEFINED__ +#define __IEnumQueue_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumQueue; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumQueue : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITQueue **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumQueue **ppEnum) = 0; + }; +#else + typedef struct IEnumQueueVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumQueue *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumQueue *This); + ULONG (WINAPI *Release)(IEnumQueue *This); + HRESULT (WINAPI *Next)(IEnumQueue *This,ULONG celt,ITQueue **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumQueue *This); + HRESULT (WINAPI *Skip)(IEnumQueue *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumQueue *This,IEnumQueue **ppEnum); + END_INTERFACE + } IEnumQueueVtbl; + struct IEnumQueue { + CONST_VTBL struct IEnumQueueVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumQueue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumQueue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumQueue_Release(This) (This)->lpVtbl->Release(This) +#define IEnumQueue_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumQueue_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumQueue_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumQueue_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumQueue_Next_Proxy(IEnumQueue *This,ULONG celt,ITQueue **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumQueue_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Reset_Proxy(IEnumQueue *This); + void __RPC_STUB IEnumQueue_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Skip_Proxy(IEnumQueue *This,ULONG celt); + void __RPC_STUB IEnumQueue_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumQueue_Clone_Proxy(IEnumQueue *This,IEnumQueue **ppEnum); + void __RPC_STUB IEnumQueue_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumACDGroup_INTERFACE_DEFINED__ +#define __IEnumACDGroup_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumACDGroup; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumACDGroup : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumACDGroup **ppEnum) = 0; + }; +#else + typedef struct IEnumACDGroupVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumACDGroup *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumACDGroup *This); + ULONG (WINAPI *Release)(IEnumACDGroup *This); + HRESULT (WINAPI *Next)(IEnumACDGroup *This,ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumACDGroup *This); + HRESULT (WINAPI *Skip)(IEnumACDGroup *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumACDGroup *This,IEnumACDGroup **ppEnum); + END_INTERFACE + } IEnumACDGroupVtbl; + struct IEnumACDGroup { + CONST_VTBL struct IEnumACDGroupVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumACDGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumACDGroup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumACDGroup_Release(This) (This)->lpVtbl->Release(This) +#define IEnumACDGroup_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumACDGroup_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumACDGroup_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumACDGroup_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumACDGroup_Next_Proxy(IEnumACDGroup *This,ULONG celt,ITACDGroup **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumACDGroup_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Reset_Proxy(IEnumACDGroup *This); + void __RPC_STUB IEnumACDGroup_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Skip_Proxy(IEnumACDGroup *This,ULONG celt); + void __RPC_STUB IEnumACDGroup_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumACDGroup_Clone_Proxy(IEnumACDGroup *This,IEnumACDGroup **ppEnum); + void __RPC_STUB IEnumACDGroup_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAgentHandler_INTERFACE_DEFINED__ +#define __IEnumAgentHandler_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAgentHandler; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAgentHandler : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAgentHandler **ppEnum) = 0; + }; +#else + typedef struct IEnumAgentHandlerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAgentHandler *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAgentHandler *This); + ULONG (WINAPI *Release)(IEnumAgentHandler *This); + HRESULT (WINAPI *Next)(IEnumAgentHandler *This,ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAgentHandler *This); + HRESULT (WINAPI *Skip)(IEnumAgentHandler *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAgentHandler *This,IEnumAgentHandler **ppEnum); + END_INTERFACE + } IEnumAgentHandlerVtbl; + struct IEnumAgentHandler { + CONST_VTBL struct IEnumAgentHandlerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAgentHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAgentHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAgentHandler_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAgentHandler_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAgentHandler_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAgentHandler_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAgentHandler_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAgentHandler_Next_Proxy(IEnumAgentHandler *This,ULONG celt,ITAgentHandler **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAgentHandler_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Reset_Proxy(IEnumAgentHandler *This); + void __RPC_STUB IEnumAgentHandler_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Skip_Proxy(IEnumAgentHandler *This,ULONG celt); + void __RPC_STUB IEnumAgentHandler_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAgentHandler_Clone_Proxy(IEnumAgentHandler *This,IEnumAgentHandler **ppEnum); + void __RPC_STUB IEnumAgentHandler_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3ds.h new file mode 100644 index 00000000..9eb10350 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3ds.h @@ -0,0 +1,145 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __tapi3ds_h__ +#define __tapi3ds_h__ + +#ifndef __ITAMMediaFormat_FWD_DEFINED__ +#define __ITAMMediaFormat_FWD_DEFINED__ +typedef struct ITAMMediaFormat ITAMMediaFormat; +#endif + +#ifndef __ITAllocatorProperties_FWD_DEFINED__ +#define __ITAllocatorProperties_FWD_DEFINED__ +typedef struct ITAllocatorProperties ITAllocatorProperties; +#endif + +#include "oaidl.h" +#include "strmif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + extern RPC_IF_HANDLE __MIDL_itf_tapi3ds_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3ds_0000_v0_0_s_ifspec; +#ifndef __ITAMMediaFormat_INTERFACE_DEFINED__ +#define __ITAMMediaFormat_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAMMediaFormat; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAMMediaFormat : public IUnknown { + public: + virtual HRESULT WINAPI get_MediaFormat(AM_MEDIA_TYPE **ppmt) = 0; + virtual HRESULT WINAPI put_MediaFormat(const AM_MEDIA_TYPE *pmt) = 0; + }; +#else + typedef struct ITAMMediaFormatVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAMMediaFormat *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAMMediaFormat *This); + ULONG (WINAPI *Release)(ITAMMediaFormat *This); + HRESULT (WINAPI *get_MediaFormat)(ITAMMediaFormat *This,AM_MEDIA_TYPE **ppmt); + HRESULT (WINAPI *put_MediaFormat)(ITAMMediaFormat *This,const AM_MEDIA_TYPE *pmt); + END_INTERFACE + } ITAMMediaFormatVtbl; + struct ITAMMediaFormat { + CONST_VTBL struct ITAMMediaFormatVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAMMediaFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAMMediaFormat_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAMMediaFormat_Release(This) (This)->lpVtbl->Release(This) +#define ITAMMediaFormat_get_MediaFormat(This,ppmt) (This)->lpVtbl->get_MediaFormat(This,ppmt) +#define ITAMMediaFormat_put_MediaFormat(This,pmt) (This)->lpVtbl->put_MediaFormat(This,pmt) +#endif +#endif + HRESULT WINAPI ITAMMediaFormat_get_MediaFormat_Proxy(ITAMMediaFormat *This,AM_MEDIA_TYPE **ppmt); + void __RPC_STUB ITAMMediaFormat_get_MediaFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAMMediaFormat_put_MediaFormat_Proxy(ITAMMediaFormat *This,const AM_MEDIA_TYPE *pmt); + void __RPC_STUB ITAMMediaFormat_put_MediaFormat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAllocatorProperties_INTERFACE_DEFINED__ +#define __ITAllocatorProperties_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAllocatorProperties; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAllocatorProperties : public IUnknown { + public: + virtual HRESULT WINAPI SetAllocatorProperties(ALLOCATOR_PROPERTIES *pAllocProperties) = 0; + virtual HRESULT WINAPI GetAllocatorProperties(ALLOCATOR_PROPERTIES *pAllocProperties) = 0; + virtual HRESULT WINAPI SetAllocateBuffers(WINBOOL bAllocBuffers) = 0; + virtual HRESULT WINAPI GetAllocateBuffers(WINBOOL *pbAllocBuffers) = 0; + virtual HRESULT WINAPI SetBufferSize(DWORD BufferSize) = 0; + virtual HRESULT WINAPI GetBufferSize(DWORD *pBufferSize) = 0; + }; +#else + typedef struct ITAllocatorPropertiesVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAllocatorProperties *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAllocatorProperties *This); + ULONG (WINAPI *Release)(ITAllocatorProperties *This); + HRESULT (WINAPI *SetAllocatorProperties)(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + HRESULT (WINAPI *GetAllocatorProperties)(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + HRESULT (WINAPI *SetAllocateBuffers)(ITAllocatorProperties *This,WINBOOL bAllocBuffers); + HRESULT (WINAPI *GetAllocateBuffers)(ITAllocatorProperties *This,WINBOOL *pbAllocBuffers); + HRESULT (WINAPI *SetBufferSize)(ITAllocatorProperties *This,DWORD BufferSize); + HRESULT (WINAPI *GetBufferSize)(ITAllocatorProperties *This,DWORD *pBufferSize); + END_INTERFACE + } ITAllocatorPropertiesVtbl; + struct ITAllocatorProperties { + CONST_VTBL struct ITAllocatorPropertiesVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAllocatorProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAllocatorProperties_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAllocatorProperties_Release(This) (This)->lpVtbl->Release(This) +#define ITAllocatorProperties_SetAllocatorProperties(This,pAllocProperties) (This)->lpVtbl->SetAllocatorProperties(This,pAllocProperties) +#define ITAllocatorProperties_GetAllocatorProperties(This,pAllocProperties) (This)->lpVtbl->GetAllocatorProperties(This,pAllocProperties) +#define ITAllocatorProperties_SetAllocateBuffers(This,bAllocBuffers) (This)->lpVtbl->SetAllocateBuffers(This,bAllocBuffers) +#define ITAllocatorProperties_GetAllocateBuffers(This,pbAllocBuffers) (This)->lpVtbl->GetAllocateBuffers(This,pbAllocBuffers) +#define ITAllocatorProperties_SetBufferSize(This,BufferSize) (This)->lpVtbl->SetBufferSize(This,BufferSize) +#define ITAllocatorProperties_GetBufferSize(This,pBufferSize) (This)->lpVtbl->GetBufferSize(This,pBufferSize) +#endif +#endif + HRESULT WINAPI ITAllocatorProperties_SetAllocatorProperties_Proxy(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + void __RPC_STUB ITAllocatorProperties_SetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetAllocatorProperties_Proxy(ITAllocatorProperties *This,ALLOCATOR_PROPERTIES *pAllocProperties); + void __RPC_STUB ITAllocatorProperties_GetAllocatorProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_SetAllocateBuffers_Proxy(ITAllocatorProperties *This,WINBOOL bAllocBuffers); + void __RPC_STUB ITAllocatorProperties_SetAllocateBuffers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetAllocateBuffers_Proxy(ITAllocatorProperties *This,WINBOOL *pbAllocBuffers); + void __RPC_STUB ITAllocatorProperties_GetAllocateBuffers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_SetBufferSize_Proxy(ITAllocatorProperties *This,DWORD BufferSize); + void __RPC_STUB ITAllocatorProperties_SetBufferSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAllocatorProperties_GetBufferSize_Proxy(ITAllocatorProperties *This,DWORD *pBufferSize); + void __RPC_STUB ITAllocatorProperties_GetBufferSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3err.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3err.h new file mode 100644 index 00000000..d8b084d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3err.h @@ -0,0 +1,99 @@ +/** + * 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 __TAPI3ERR_H__ +#define __TAPI3ERR_H__ + +#define TAPI_E_NOTENOUGHMEMORY ((HRESULT)0x80040001) +#define TAPI_E_NOITEMS ((HRESULT)0x80040002) +#define TAPI_E_NOTSUPPORTED ((HRESULT)0x80040003) +#define TAPI_E_INVALIDMEDIATYPE ((HRESULT)0x80040004) +#define TAPI_E_OPERATIONFAILED ((HRESULT)0x80040005) +#define TAPI_E_ALLOCATED ((HRESULT)0x80040006) +#define TAPI_E_CALLUNAVAIL ((HRESULT)0x80040007) +#define TAPI_E_COMPLETIONOVERRUN ((HRESULT)0x80040008) +#define TAPI_E_CONFERENCEFULL ((HRESULT)0x80040009) +#define TAPI_E_DIALMODIFIERNOTSUPPORTED ((HRESULT)0x8004000A) +#define TAPI_E_INUSE ((HRESULT)0x8004000B) +#define TAPI_E_INVALADDRESS ((HRESULT)0x8004000C) +#define TAPI_E_INVALADDRESSSTATE ((HRESULT)0x8004000D) +#define TAPI_E_INVALCALLPARAMS ((HRESULT)0x8004000E) +#define TAPI_E_INVALCALLPRIVILEGE ((HRESULT)0x8004000F) +#define TAPI_E_INVALCALLSTATE ((HRESULT)0x80040010) +#define TAPI_E_INVALCARD ((HRESULT)0x80040011) +#define TAPI_E_INVALCOMPLETIONID ((HRESULT)0x80040012) +#define TAPI_E_INVALCOUNTRYCODE ((HRESULT)0x80040013) +#define TAPI_E_INVALDEVICECLASS ((HRESULT)0x80040014) +#define TAPI_E_INVALDIALPARAMS ((HRESULT)0x80040015) +#define TAPI_E_INVALDIGITS ((HRESULT)0x80040016) +#define TAPI_E_INVALGROUPID ((HRESULT)0x80040017) +#define TAPI_E_INVALLOCATION ((HRESULT)0x80040018) +#define TAPI_E_INVALMESSAGEID ((HRESULT)0x80040019) +#define TAPI_E_INVALPARKID ((HRESULT)0x8004001A) +#define TAPI_E_INVALRATE ((HRESULT)0x8004001B) +#define TAPI_E_INVALTIMEOUT ((HRESULT)0x8004001C) +#define TAPI_E_INVALTONE ((HRESULT)0x8004001D) +#define TAPI_E_INVALLIST ((HRESULT)0x8004001E) +#define TAPI_E_INVALMODE ((HRESULT)0x8004001F) +#define TAPI_E_NOCONFERENCE ((HRESULT)0x80040020) +#define TAPI_E_NODEVICE ((HRESULT)0x80040021) +#define TAPI_E_NOREQUEST ((HRESULT)0x80040022) +#define TAPI_E_NOTOWNER ((HRESULT)0x80040023) +#define TAPI_E_NOTREGISTERED ((HRESULT)0x80040024) +#define TAPI_E_REQUESTOVERRUN ((HRESULT)0x80040025) +#define TAPI_E_TARGETNOTFOUND ((HRESULT)0x80040026) +#define TAPI_E_TARGETSELF ((HRESULT)0x80040027) +#define TAPI_E_USERUSERINFOTOOBIG ((HRESULT)0x80040028) +#define TAPI_E_REINIT ((HRESULT)0x80040029) +#define TAPI_E_ADDRESSBLOCKED ((HRESULT)0x8004002A) +#define TAPI_E_BILLINGREJECTED ((HRESULT)0x8004002B) +#define TAPI_E_INVALFEATURE ((HRESULT)0x8004002C) +#define TAPI_E_INVALBUTTONLAMPID ((HRESULT)0x8004002D) +#define TAPI_E_INVALBUTTONSTATE ((HRESULT)0x8004002E) +#define TAPI_E_INVALDATAID ((HRESULT)0x8004002F) +#define TAPI_E_INVALHOOKSWITCHDEV ((HRESULT)0x80040030) +#define TAPI_E_DROPPED ((HRESULT)0x80040031) +#define TAPI_E_NOREQUESTRECIPIENT ((HRESULT)0x80040032) +#define TAPI_E_REQUESTQUEUEFULL ((HRESULT)0x80040033) +#define TAPI_E_DESTBUSY ((HRESULT)0x80040034) +#define TAPI_E_DESTNOANSWER ((HRESULT)0x80040035) +#define TAPI_E_DESTUNAVAIL ((HRESULT)0x80040036) +#define TAPI_E_REQUESTFAILED ((HRESULT)0x80040037) +#define TAPI_E_REQUESTCANCELLED ((HRESULT)0x80040038) +#define TAPI_E_INVALPRIVILEGE ((HRESULT)0x80040039) +#define TAPI_E_INVALIDDIRECTION ((HRESULT)0x8004003A) +#define TAPI_E_INVALIDTERMINAL ((HRESULT)0x8004003B) +#define TAPI_E_INVALIDTERMINALCLASS ((HRESULT)0x8004003C) +#define TAPI_E_NODRIVER ((HRESULT)0x8004003D) +#define TAPI_E_MAXSTREAMS ((HRESULT)0x8004003E) +#define TAPI_E_NOTERMINALSELECTED ((HRESULT)0x8004003F) +#define TAPI_E_TERMINALINUSE ((HRESULT)0x80040040) +#define TAPI_E_NOTSTOPPED ((HRESULT)0x80040041) +#define TAPI_E_MAXTERMINALS ((HRESULT)0x80040042) +#define TAPI_E_INVALIDSTREAM ((HRESULT)0x80040043) +#define TAPI_E_TIMEOUT ((HRESULT)0x80040044) +#define TAPI_E_CALLCENTER_GROUP_REMOVED ((HRESULT)0x80040045) +#define TAPI_E_CALLCENTER_QUEUE_REMOVED ((HRESULT)0x80040046) +#define TAPI_E_CALLCENTER_NO_AGENT_ID ((HRESULT)0x80040047) +#define TAPI_E_CALLCENTER_INVALAGENTID ((HRESULT)0x80040048) +#define TAPI_E_CALLCENTER_INVALAGENTGROUP ((HRESULT)0x80040049) +#define TAPI_E_CALLCENTER_INVALPASSWORD ((HRESULT)0x8004004A) +#define TAPI_E_CALLCENTER_INVALAGENTSTATE ((HRESULT)0x8004004B) +#define TAPI_E_CALLCENTER_INVALAGENTACTIVITY ((HRESULT)0x8004004C) +#define TAPI_E_REGISTRY_SETTING_CORRUPT ((HRESULT)0x8004004D) +#define TAPI_E_TERMINAL_PEER ((HRESULT)0x8004004E) +#define TAPI_E_PEER_NOT_SET ((HRESULT)0x8004004F) +#define TAPI_E_NOEVENT ((HRESULT)0x80040050) +#define TAPI_E_INVALADDRESSTYPE ((HRESULT)0x80040051) +#define TAPI_E_RESOURCEUNAVAIL ((HRESULT)0x80040052) +#define TAPI_E_PHONENOTOPEN ((HRESULT)0x80040053) +#define TAPI_E_CALLNOTSELECTED ((HRESULT)0x80040054) +#define TAPI_E_WRONGEVENT ((HRESULT)0x80040055) +#define TAPI_E_NOFORMAT ((HRESULT)0x80040056) +#define TAPI_E_INVALIDSTREAMSTATE ((HRESULT)0x80040057) +#define TAPI_E_WRONG_STATE ((HRESULT)0x80040058) +#define TAPI_E_NOT_INITIALIZED ((HRESULT)0x80040059) +#define TAPI_E_SERVICE_NOT_RUNNING ((HRESULT)0x8004005A) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3if.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3if.h new file mode 100644 index 00000000..75cbfda1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tapi3if.h @@ -0,0 +1,6069 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __tapi3if_h__ +#define __tapi3if_h__ + +#ifndef __ITTAPI_FWD_DEFINED__ +#define __ITTAPI_FWD_DEFINED__ +typedef struct ITTAPI ITTAPI; +#endif + +#ifndef __ITTAPI2_FWD_DEFINED__ +#define __ITTAPI2_FWD_DEFINED__ +typedef struct ITTAPI2 ITTAPI2; +#endif + +#ifndef __ITMediaSupport_FWD_DEFINED__ +#define __ITMediaSupport_FWD_DEFINED__ +typedef struct ITMediaSupport ITMediaSupport; +#endif + +#ifndef __ITPluggableTerminalClassInfo_FWD_DEFINED__ +#define __ITPluggableTerminalClassInfo_FWD_DEFINED__ +typedef struct ITPluggableTerminalClassInfo ITPluggableTerminalClassInfo; +#endif + +#ifndef __ITPluggableTerminalSuperclassInfo_FWD_DEFINED__ +#define __ITPluggableTerminalSuperclassInfo_FWD_DEFINED__ +typedef struct ITPluggableTerminalSuperclassInfo ITPluggableTerminalSuperclassInfo; +#endif + +#ifndef __ITTerminalSupport_FWD_DEFINED__ +#define __ITTerminalSupport_FWD_DEFINED__ +typedef struct ITTerminalSupport ITTerminalSupport; +#endif + +#ifndef __ITTerminalSupport2_FWD_DEFINED__ +#define __ITTerminalSupport2_FWD_DEFINED__ +typedef struct ITTerminalSupport2 ITTerminalSupport2; +#endif + +#ifndef __ITAddress_FWD_DEFINED__ +#define __ITAddress_FWD_DEFINED__ +typedef struct ITAddress ITAddress; +#endif + +#ifndef __ITAddress2_FWD_DEFINED__ +#define __ITAddress2_FWD_DEFINED__ +typedef struct ITAddress2 ITAddress2; +#endif + +#ifndef __ITAddressCapabilities_FWD_DEFINED__ +#define __ITAddressCapabilities_FWD_DEFINED__ +typedef struct ITAddressCapabilities ITAddressCapabilities; +#endif + +#ifndef __ITPhone_FWD_DEFINED__ +#define __ITPhone_FWD_DEFINED__ +typedef struct ITPhone ITPhone; +#endif + +#ifndef __ITAutomatedPhoneControl_FWD_DEFINED__ +#define __ITAutomatedPhoneControl_FWD_DEFINED__ +typedef struct ITAutomatedPhoneControl ITAutomatedPhoneControl; +#endif + +#ifndef __ITBasicCallControl_FWD_DEFINED__ +#define __ITBasicCallControl_FWD_DEFINED__ +typedef struct ITBasicCallControl ITBasicCallControl; +#endif + +#ifndef __ITCallInfo_FWD_DEFINED__ +#define __ITCallInfo_FWD_DEFINED__ +typedef struct ITCallInfo ITCallInfo; +#endif + +#ifndef __ITCallInfo2_FWD_DEFINED__ +#define __ITCallInfo2_FWD_DEFINED__ +typedef struct ITCallInfo2 ITCallInfo2; +#endif + +#ifndef __ITTerminal_FWD_DEFINED__ +#define __ITTerminal_FWD_DEFINED__ +typedef struct ITTerminal ITTerminal; +#endif + +#ifndef __ITMultiTrackTerminal_FWD_DEFINED__ +#define __ITMultiTrackTerminal_FWD_DEFINED__ +typedef struct ITMultiTrackTerminal ITMultiTrackTerminal; +#endif + +#ifndef __ITFileTrack_FWD_DEFINED__ +#define __ITFileTrack_FWD_DEFINED__ +typedef struct ITFileTrack ITFileTrack; +#endif + +#ifndef __ITMediaPlayback_FWD_DEFINED__ +#define __ITMediaPlayback_FWD_DEFINED__ +typedef struct ITMediaPlayback ITMediaPlayback; +#endif + +#ifndef __ITMediaRecord_FWD_DEFINED__ +#define __ITMediaRecord_FWD_DEFINED__ +typedef struct ITMediaRecord ITMediaRecord; +#endif + +#ifndef __ITMediaControl_FWD_DEFINED__ +#define __ITMediaControl_FWD_DEFINED__ +typedef struct ITMediaControl ITMediaControl; +#endif + +#ifndef __ITBasicAudioTerminal_FWD_DEFINED__ +#define __ITBasicAudioTerminal_FWD_DEFINED__ +typedef struct ITBasicAudioTerminal ITBasicAudioTerminal; +#endif + +#ifndef __ITStaticAudioTerminal_FWD_DEFINED__ +#define __ITStaticAudioTerminal_FWD_DEFINED__ +typedef struct ITStaticAudioTerminal ITStaticAudioTerminal; +#endif + +#ifndef __ITCallHub_FWD_DEFINED__ +#define __ITCallHub_FWD_DEFINED__ +typedef struct ITCallHub ITCallHub; +#endif + +#ifndef __ITLegacyAddressMediaControl_FWD_DEFINED__ +#define __ITLegacyAddressMediaControl_FWD_DEFINED__ +typedef struct ITLegacyAddressMediaControl ITLegacyAddressMediaControl; +#endif + +#ifndef __ITPrivateEvent_FWD_DEFINED__ +#define __ITPrivateEvent_FWD_DEFINED__ +typedef struct ITPrivateEvent ITPrivateEvent; +#endif + +#ifndef __ITLegacyAddressMediaControl2_FWD_DEFINED__ +#define __ITLegacyAddressMediaControl2_FWD_DEFINED__ +typedef struct ITLegacyAddressMediaControl2 ITLegacyAddressMediaControl2; +#endif + +#ifndef __ITLegacyCallMediaControl_FWD_DEFINED__ +#define __ITLegacyCallMediaControl_FWD_DEFINED__ +typedef struct ITLegacyCallMediaControl ITLegacyCallMediaControl; +#endif + +#ifndef __ITLegacyCallMediaControl2_FWD_DEFINED__ +#define __ITLegacyCallMediaControl2_FWD_DEFINED__ +typedef struct ITLegacyCallMediaControl2 ITLegacyCallMediaControl2; +#endif + +#ifndef __ITDetectTone_FWD_DEFINED__ +#define __ITDetectTone_FWD_DEFINED__ +typedef struct ITDetectTone ITDetectTone; +#endif + +#ifndef __ITCustomTone_FWD_DEFINED__ +#define __ITCustomTone_FWD_DEFINED__ +typedef struct ITCustomTone ITCustomTone; +#endif + +#ifndef __IEnumPhone_FWD_DEFINED__ +#define __IEnumPhone_FWD_DEFINED__ +typedef struct IEnumPhone IEnumPhone; +#endif + +#ifndef __IEnumTerminal_FWD_DEFINED__ +#define __IEnumTerminal_FWD_DEFINED__ +typedef struct IEnumTerminal IEnumTerminal; +#endif + +#ifndef __IEnumTerminalClass_FWD_DEFINED__ +#define __IEnumTerminalClass_FWD_DEFINED__ +typedef struct IEnumTerminalClass IEnumTerminalClass; +#endif + +#ifndef __IEnumCall_FWD_DEFINED__ +#define __IEnumCall_FWD_DEFINED__ +typedef struct IEnumCall IEnumCall; +#endif + +#ifndef __IEnumAddress_FWD_DEFINED__ +#define __IEnumAddress_FWD_DEFINED__ +typedef struct IEnumAddress IEnumAddress; +#endif + +#ifndef __IEnumCallHub_FWD_DEFINED__ +#define __IEnumCallHub_FWD_DEFINED__ +typedef struct IEnumCallHub IEnumCallHub; +#endif + +#ifndef __IEnumBstr_FWD_DEFINED__ +#define __IEnumBstr_FWD_DEFINED__ +typedef struct IEnumBstr IEnumBstr; +#endif + +#ifndef __IEnumPluggableTerminalClassInfo_FWD_DEFINED__ +#define __IEnumPluggableTerminalClassInfo_FWD_DEFINED__ +typedef struct IEnumPluggableTerminalClassInfo IEnumPluggableTerminalClassInfo; +#endif + +#ifndef __IEnumPluggableSuperclassInfo_FWD_DEFINED__ +#define __IEnumPluggableSuperclassInfo_FWD_DEFINED__ +typedef struct IEnumPluggableSuperclassInfo IEnumPluggableSuperclassInfo; +#endif + +#ifndef __ITPhoneEvent_FWD_DEFINED__ +#define __ITPhoneEvent_FWD_DEFINED__ +typedef struct ITPhoneEvent ITPhoneEvent; +#endif + +#ifndef __ITCallStateEvent_FWD_DEFINED__ +#define __ITCallStateEvent_FWD_DEFINED__ +typedef struct ITCallStateEvent ITCallStateEvent; +#endif + +#ifndef __ITPhoneDeviceSpecificEvent_FWD_DEFINED__ +#define __ITPhoneDeviceSpecificEvent_FWD_DEFINED__ +typedef struct ITPhoneDeviceSpecificEvent ITPhoneDeviceSpecificEvent; +#endif + +#ifndef __ITCallMediaEvent_FWD_DEFINED__ +#define __ITCallMediaEvent_FWD_DEFINED__ +typedef struct ITCallMediaEvent ITCallMediaEvent; +#endif + +#ifndef __ITDigitDetectionEvent_FWD_DEFINED__ +#define __ITDigitDetectionEvent_FWD_DEFINED__ +typedef struct ITDigitDetectionEvent ITDigitDetectionEvent; +#endif + +#ifndef __ITDigitGenerationEvent_FWD_DEFINED__ +#define __ITDigitGenerationEvent_FWD_DEFINED__ +typedef struct ITDigitGenerationEvent ITDigitGenerationEvent; +#endif + +#ifndef __ITDigitsGatheredEvent_FWD_DEFINED__ +#define __ITDigitsGatheredEvent_FWD_DEFINED__ +typedef struct ITDigitsGatheredEvent ITDigitsGatheredEvent; +#endif + +#ifndef __ITToneDetectionEvent_FWD_DEFINED__ +#define __ITToneDetectionEvent_FWD_DEFINED__ +typedef struct ITToneDetectionEvent ITToneDetectionEvent; +#endif + +#ifndef __ITTAPIObjectEvent_FWD_DEFINED__ +#define __ITTAPIObjectEvent_FWD_DEFINED__ +typedef struct ITTAPIObjectEvent ITTAPIObjectEvent; +#endif + +#ifndef __ITTAPIObjectEvent2_FWD_DEFINED__ +#define __ITTAPIObjectEvent2_FWD_DEFINED__ +typedef struct ITTAPIObjectEvent2 ITTAPIObjectEvent2; +#endif + +#ifndef __ITTAPIEventNotification_FWD_DEFINED__ +#define __ITTAPIEventNotification_FWD_DEFINED__ +typedef struct ITTAPIEventNotification ITTAPIEventNotification; +#endif + +#ifndef __ITCallHubEvent_FWD_DEFINED__ +#define __ITCallHubEvent_FWD_DEFINED__ +typedef struct ITCallHubEvent ITCallHubEvent; +#endif + +#ifndef __ITAddressEvent_FWD_DEFINED__ +#define __ITAddressEvent_FWD_DEFINED__ +typedef struct ITAddressEvent ITAddressEvent; +#endif + +#ifndef __ITAddressDeviceSpecificEvent_FWD_DEFINED__ +#define __ITAddressDeviceSpecificEvent_FWD_DEFINED__ +typedef struct ITAddressDeviceSpecificEvent ITAddressDeviceSpecificEvent; +#endif + +#ifndef __ITFileTerminalEvent_FWD_DEFINED__ +#define __ITFileTerminalEvent_FWD_DEFINED__ +typedef struct ITFileTerminalEvent ITFileTerminalEvent; +#endif + +#ifndef __ITTTSTerminalEvent_FWD_DEFINED__ +#define __ITTTSTerminalEvent_FWD_DEFINED__ +typedef struct ITTTSTerminalEvent ITTTSTerminalEvent; +#endif + +#ifndef __ITASRTerminalEvent_FWD_DEFINED__ +#define __ITASRTerminalEvent_FWD_DEFINED__ +typedef struct ITASRTerminalEvent ITASRTerminalEvent; +#endif + +#ifndef __ITToneTerminalEvent_FWD_DEFINED__ +#define __ITToneTerminalEvent_FWD_DEFINED__ +typedef struct ITToneTerminalEvent ITToneTerminalEvent; +#endif + +#ifndef __ITQOSEvent_FWD_DEFINED__ +#define __ITQOSEvent_FWD_DEFINED__ +typedef struct ITQOSEvent ITQOSEvent; +#endif + +#ifndef __ITCallInfoChangeEvent_FWD_DEFINED__ +#define __ITCallInfoChangeEvent_FWD_DEFINED__ +typedef struct ITCallInfoChangeEvent ITCallInfoChangeEvent; +#endif + +#ifndef __ITRequest_FWD_DEFINED__ +#define __ITRequest_FWD_DEFINED__ +typedef struct ITRequest ITRequest; +#endif + +#ifndef __ITRequestEvent_FWD_DEFINED__ +#define __ITRequestEvent_FWD_DEFINED__ +typedef struct ITRequestEvent ITRequestEvent; +#endif + +#ifndef __ITCollection_FWD_DEFINED__ +#define __ITCollection_FWD_DEFINED__ +typedef struct ITCollection ITCollection; +#endif + +#ifndef __ITCollection2_FWD_DEFINED__ +#define __ITCollection2_FWD_DEFINED__ +typedef struct ITCollection2 ITCollection2; +#endif + +#ifndef __ITForwardInformation_FWD_DEFINED__ +#define __ITForwardInformation_FWD_DEFINED__ +typedef struct ITForwardInformation ITForwardInformation; +#endif + +#ifndef __ITForwardInformation2_FWD_DEFINED__ +#define __ITForwardInformation2_FWD_DEFINED__ +typedef struct ITForwardInformation2 ITForwardInformation2; +#endif + +#ifndef __ITAddressTranslation_FWD_DEFINED__ +#define __ITAddressTranslation_FWD_DEFINED__ +typedef struct ITAddressTranslation ITAddressTranslation; +#endif + +#ifndef __ITAddressTranslationInfo_FWD_DEFINED__ +#define __ITAddressTranslationInfo_FWD_DEFINED__ +typedef struct ITAddressTranslationInfo ITAddressTranslationInfo; +#endif + +#ifndef __ITLocationInfo_FWD_DEFINED__ +#define __ITLocationInfo_FWD_DEFINED__ +typedef struct ITLocationInfo ITLocationInfo; +#endif + +#ifndef __IEnumLocation_FWD_DEFINED__ +#define __IEnumLocation_FWD_DEFINED__ +typedef struct IEnumLocation IEnumLocation; +#endif + +#ifndef __ITCallingCard_FWD_DEFINED__ +#define __ITCallingCard_FWD_DEFINED__ +typedef struct ITCallingCard ITCallingCard; +#endif + +#ifndef __IEnumCallingCard_FWD_DEFINED__ +#define __IEnumCallingCard_FWD_DEFINED__ +typedef struct IEnumCallingCard IEnumCallingCard; +#endif + +#ifndef __ITCallNotificationEvent_FWD_DEFINED__ +#define __ITCallNotificationEvent_FWD_DEFINED__ +typedef struct ITCallNotificationEvent ITCallNotificationEvent; +#endif + +#ifndef __ITDispatchMapper_FWD_DEFINED__ +#define __ITDispatchMapper_FWD_DEFINED__ +typedef struct ITDispatchMapper ITDispatchMapper; +#endif + +#ifndef __ITStreamControl_FWD_DEFINED__ +#define __ITStreamControl_FWD_DEFINED__ +typedef struct ITStreamControl ITStreamControl; +#endif + +#ifndef __ITStream_FWD_DEFINED__ +#define __ITStream_FWD_DEFINED__ +typedef struct ITStream ITStream; +#endif + +#ifndef __IEnumStream_FWD_DEFINED__ +#define __IEnumStream_FWD_DEFINED__ +typedef struct IEnumStream IEnumStream; +#endif + +#ifndef __ITSubStreamControl_FWD_DEFINED__ +#define __ITSubStreamControl_FWD_DEFINED__ +typedef struct ITSubStreamControl ITSubStreamControl; +#endif + +#ifndef __ITSubStream_FWD_DEFINED__ +#define __ITSubStream_FWD_DEFINED__ +typedef struct ITSubStream ITSubStream; +#endif + +#ifndef __IEnumSubStream_FWD_DEFINED__ +#define __IEnumSubStream_FWD_DEFINED__ +typedef struct IEnumSubStream IEnumSubStream; +#endif + +#ifndef __ITLegacyWaveSupport_FWD_DEFINED__ +#define __ITLegacyWaveSupport_FWD_DEFINED__ +typedef struct ITLegacyWaveSupport ITLegacyWaveSupport; +#endif + +#ifndef __ITBasicCallControl2_FWD_DEFINED__ +#define __ITBasicCallControl2_FWD_DEFINED__ +typedef struct ITBasicCallControl2 ITBasicCallControl2; +#endif + +#ifndef __ITScriptableAudioFormat_FWD_DEFINED__ +#define __ITScriptableAudioFormat_FWD_DEFINED__ +typedef struct ITScriptableAudioFormat ITScriptableAudioFormat; +#endif + +#include "oaidl.h" +#include "strmif.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#ifdef _X86_ + typedef __LONG32 TAPIHWND; +#else + typedef LONGLONG TAPIHWND; +#endif + typedef __LONG32 TAPI_DIGITMODE; + + typedef enum TAPI_TONEMODE { + TTM_RINGBACK = 0x2,TTM_BUSY = 0x4,TTM_BEEP = 0x8,TTM_BILLING = 0x10 + } TAPI_TONEMODE; + + typedef enum TAPI_GATHERTERM { + TGT_BUFFERFULL = 0x1,TGT_TERMDIGIT = 0x2,TGT_FIRSTTIMEOUT = 0x4,TGT_INTERTIMEOUT = 0x8,TGT_CANCEL = 0x10 + } TAPI_GATHERTERM; + + typedef struct TAPI_CUSTOMTONE { + DWORD dwFrequency; + DWORD dwCadenceOn; + DWORD dwCadenceOff; + DWORD dwVolume; + } TAPI_CUSTOMTONE; + + typedef struct TAPI_CUSTOMTONE *LPTAPI_CUSTOMTONE; + + typedef struct TAPI_DETECTTONE { + DWORD dwAppSpecific; + DWORD dwDuration; + DWORD dwFrequency1; + DWORD dwFrequency2; + DWORD dwFrequency3; + } TAPI_DETECTTONE; + + typedef struct TAPI_DETECTTONE *LPTAPI_DETECTTONE; + + typedef enum ADDRESS_EVENT { + AE_STATE = 0, + AE_CAPSCHANGE,AE_RINGING,AE_CONFIGCHANGE,AE_FORWARD,AE_NEWTERMINAL, + AE_REMOVETERMINAL,AE_MSGWAITON,AE_MSGWAITOFF, + AE_LASTITEM = AE_MSGWAITOFF + } ADDRESS_EVENT; + + typedef enum ADDRESS_STATE { + AS_INSERVICE = 0, + AS_OUTOFSERVICE + } ADDRESS_STATE; + + typedef enum CALL_STATE { + CS_IDLE = 0, + CS_INPROGRESS,CS_CONNECTED,CS_DISCONNECTED,CS_OFFERING,CS_HOLD,CS_QUEUED, + CS_LASTITEM = CS_QUEUED + } CALL_STATE; + + typedef enum CALL_STATE_EVENT_CAUSE { + CEC_NONE = 0, + CEC_DISCONNECT_NORMAL,CEC_DISCONNECT_BUSY,CEC_DISCONNECT_BADADDRESS, + CEC_DISCONNECT_NOANSWER,CEC_DISCONNECT_CANCELLED,CEC_DISCONNECT_REJECTED, + CEC_DISCONNECT_FAILED,CEC_DISCONNECT_BLOCKED + } CALL_STATE_EVENT_CAUSE; + + typedef enum CALL_MEDIA_EVENT { + CME_NEW_STREAM = 0, + CME_STREAM_FAIL,CME_TERMINAL_FAIL,CME_STREAM_NOT_USED,CME_STREAM_ACTIVE, + CME_STREAM_INACTIVE, + CME_LASTITEM = CME_STREAM_INACTIVE + } CALL_MEDIA_EVENT; + + typedef enum CALL_MEDIA_EVENT_CAUSE { + CMC_UNKNOWN = 0, + CMC_BAD_DEVICE,CMC_CONNECT_FAIL,CMC_LOCAL_REQUEST,CMC_REMOTE_REQUEST, + CMC_MEDIA_TIMEOUT,CMC_MEDIA_RECOVERED,CMC_QUALITY_OF_SERVICE + } CALL_MEDIA_EVENT_CAUSE; + + typedef enum DISCONNECT_CODE { + DC_NORMAL = 0, + DC_NOANSWER,DC_REJECTED + } DISCONNECT_CODE; + + typedef enum TERMINAL_STATE { + TS_INUSE = 0, + TS_NOTINUSE + } TERMINAL_STATE; + + typedef enum TERMINAL_DIRECTION { + TD_CAPTURE = 0, + TD_RENDER,TD_BIDIRECTIONAL,TD_MULTITRACK_MIXED,TD_NONE + } TERMINAL_DIRECTION; + + typedef enum TERMINAL_TYPE { + TT_STATIC = 0, + TT_DYNAMIC + } TERMINAL_TYPE; + + typedef enum CALL_PRIVILEGE { + CP_OWNER = 0, + CP_MONITOR + } CALL_PRIVILEGE; + + typedef enum TAPI_EVENT { + TE_TAPIOBJECT = 0x1,TE_ADDRESS = 0x2,TE_CALLNOTIFICATION = 0x4,TE_CALLSTATE = 0x8, + TE_CALLMEDIA = 0x10,TE_CALLHUB = 0x20,TE_CALLINFOCHANGE = 0x40,TE_PRIVATE = 0x80, + TE_REQUEST = 0x100,TE_AGENT = 0x200,TE_AGENTSESSION = 0x400,TE_QOSEVENT = 0x800, + TE_AGENTHANDLER = 0x1000,TE_ACDGROUP = 0x2000,TE_QUEUE = 0x4000,TE_DIGITEVENT = 0x8000, + TE_GENERATEEVENT = 0x10000,TE_ASRTERMINAL = 0x20000,TE_TTSTERMINAL = 0x40000,TE_FILETERMINAL = 0x80000, + TE_TONETERMINAL = 0x100000,TE_PHONEEVENT = 0x200000,TE_TONEEVENT = 0x400000,TE_GATHERDIGITS = 0x800000, + TE_ADDRESSDEVSPECIFIC = 0x1000000,TE_PHONEDEVSPECIFIC = 0x2000000 + } TAPI_EVENT; + + typedef enum CALL_NOTIFICATION_EVENT { + CNE_OWNER = 0,CNE_MONITOR, + CNE_LASTITEM = CNE_MONITOR + } CALL_NOTIFICATION_EVENT; + + typedef enum CALLHUB_EVENT { + CHE_CALLJOIN = 0, + CHE_CALLLEAVE,CHE_CALLHUBNEW,CHE_CALLHUBIDLE, + CHE_LASTITEM = CHE_CALLHUBIDLE + } CALLHUB_EVENT; + + typedef enum CALLHUB_STATE { + CHS_ACTIVE = 0, + CHS_IDLE + } CALLHUB_STATE; + + typedef enum TAPIOBJECT_EVENT { + TE_ADDRESSCREATE = 0, + TE_ADDRESSREMOVE,TE_REINIT,TE_TRANSLATECHANGE,TE_ADDRESSCLOSE,TE_PHONECREATE, + TE_PHONEREMOVE + } TAPIOBJECT_EVENT; + + typedef enum TAPI_OBJECT_TYPE { + TOT_NONE = 0, + TOT_TAPI,TOT_ADDRESS,TOT_TERMINAL,TOT_CALL,TOT_CALLHUB,TOT_PHONE + } TAPI_OBJECT_TYPE; + + typedef enum QOS_SERVICE_LEVEL { + QSL_NEEDED = 1, + QSL_IF_AVAILABLE = 2, + QSL_BEST_EFFORT = 3 + } QOS_SERVICE_LEVEL; + + typedef enum QOS_EVENT { + QE_NOQOS = 1,QE_ADMISSIONFAILURE = 2,QE_POLICYFAILURE = 3,QE_GENERICERROR = 4, + QE_LASTITEM = QE_GENERICERROR + } QOS_EVENT; + + typedef enum CALLINFOCHANGE_CAUSE { + CIC_OTHER = 0, + CIC_DEVSPECIFIC,CIC_BEARERMODE,CIC_RATE,CIC_APPSPECIFIC,CIC_CALLID, + CIC_RELATEDCALLID,CIC_ORIGIN,CIC_REASON,CIC_COMPLETIONID,CIC_NUMOWNERINCR, + CIC_NUMOWNERDECR,CIC_NUMMONITORS,CIC_TRUNK,CIC_CALLERID,CIC_CALLEDID, + CIC_CONNECTEDID,CIC_REDIRECTIONID,CIC_REDIRECTINGID,CIC_USERUSERINFO, + CIC_HIGHLEVELCOMP,CIC_LOWLEVELCOMP,CIC_CHARGINGINFO,CIC_TREATMENT, + CIC_CALLDATA,CIC_PRIVILEGE,CIC_MEDIATYPE, + CIC_LASTITEM = CIC_MEDIATYPE + } CALLINFOCHANGE_CAUSE; + + typedef enum CALLINFO_LONG { + CIL_MEDIATYPESAVAILABLE = 0, + CIL_BEARERMODE,CIL_CALLERIDADDRESSTYPE,CIL_CALLEDIDADDRESSTYPE,CIL_CONNECTEDIDADDRESSTYPE, + CIL_REDIRECTIONIDADDRESSTYPE,CIL_REDIRECTINGIDADDRESSTYPE,CIL_ORIGIN, + CIL_REASON,CIL_APPSPECIFIC,CIL_CALLPARAMSFLAGS,CIL_CALLTREATMENT,CIL_MINRATE, + CIL_MAXRATE,CIL_COUNTRYCODE,CIL_CALLID,CIL_RELATEDCALLID,CIL_COMPLETIONID, + CIL_NUMBEROFOWNERS,CIL_NUMBEROFMONITORS,CIL_TRUNK,CIL_RATE,CIL_GENERATEDIGITDURATION, + CIL_MONITORDIGITMODES,CIL_MONITORMEDIAMODES + } CALLINFO_LONG; + + typedef enum CALLINFO_STRING { + CIS_CALLERIDNAME = 0, + CIS_CALLERIDNUMBER,CIS_CALLEDIDNAME,CIS_CALLEDIDNUMBER,CIS_CONNECTEDIDNAME, + CIS_CONNECTEDIDNUMBER,CIS_REDIRECTIONIDNAME,CIS_REDIRECTIONIDNUMBER, + CIS_REDIRECTINGIDNAME,CIS_REDIRECTINGIDNUMBER,CIS_CALLEDPARTYFRIENDLYNAME, + CIS_COMMENT,CIS_DISPLAYABLEADDRESS,CIS_CALLINGPARTYID + } CALLINFO_STRING; + + typedef enum CALLINFO_BUFFER { + CIB_USERUSERINFO = 0, + CIB_DEVSPECIFICBUFFER,CIB_CALLDATABUFFER,CIB_CHARGINGINFOBUFFER, + CIB_HIGHLEVELCOMPATIBILITYBUFFER,CIB_LOWLEVELCOMPATIBILITYBUFFER + } CALLINFO_BUFFER; + + typedef enum ADDRESS_CAPABILITY { + AC_ADDRESSTYPES = 0, + AC_BEARERMODES,AC_MAXACTIVECALLS,AC_MAXONHOLDCALLS, + AC_MAXONHOLDPENDINGCALLS,AC_MAXNUMCONFERENCE,AC_MAXNUMTRANSCONF, + AC_MONITORDIGITSUPPORT,AC_GENERATEDIGITSUPPORT,AC_GENERATETONEMODES, + AC_GENERATETONEMAXNUMFREQ,AC_MONITORTONEMAXNUMFREQ,AC_MONITORTONEMAXNUMENTRIES, + AC_DEVCAPFLAGS,AC_ANSWERMODES,AC_LINEFEATURES,AC_SETTABLEDEVSTATUS, + AC_PARKSUPPORT,AC_CALLERIDSUPPORT,AC_CALLEDIDSUPPORT,AC_CONNECTEDIDSUPPORT, + AC_REDIRECTIONIDSUPPORT,AC_REDIRECTINGIDSUPPORT,AC_ADDRESSCAPFLAGS, + AC_CALLFEATURES1,AC_CALLFEATURES2,AC_REMOVEFROMCONFCAPS,AC_REMOVEFROMCONFSTATE, + AC_TRANSFERMODES,AC_ADDRESSFEATURES,AC_PREDICTIVEAUTOTRANSFERSTATES, + AC_MAXCALLDATASIZE,AC_LINEID,AC_ADDRESSID,AC_FORWARDMODES,AC_MAXFORWARDENTRIES, + AC_MAXSPECIFICENTRIES,AC_MINFWDNUMRINGS,AC_MAXFWDNUMRINGS,AC_MAXCALLCOMPLETIONS, + AC_CALLCOMPLETIONCONDITIONS,AC_CALLCOMPLETIONMODES,AC_PERMANENTDEVICEID, + AC_GATHERDIGITSMINTIMEOUT,AC_GATHERDIGITSMAXTIMEOUT,AC_GENERATEDIGITMINDURATION, + AC_GENERATEDIGITMAXDURATION,AC_GENERATEDIGITDEFAULTDURATION + } ADDRESS_CAPABILITY; + + typedef enum ADDRESS_CAPABILITY_STRING { + ACS_PROTOCOL = 0, + ACS_ADDRESSDEVICESPECIFIC,ACS_LINEDEVICESPECIFIC, + ACS_PROVIDERSPECIFIC,ACS_SWITCHSPECIFIC,ACS_PERMANENTDEVICEGUID + } ADDRESS_CAPABILITY_STRING; + + typedef enum FULLDUPLEX_SUPPORT { + FDS_SUPPORTED = 0, + FDS_NOTSUPPORTED,FDS_UNKNOWN + } FULLDUPLEX_SUPPORT; + + typedef enum FINISH_MODE { + FM_ASTRANSFER = 0, + FM_ASCONFERENCE + } FINISH_MODE; + + typedef enum PHONE_PRIVILEGE { + PP_OWNER = 0, + PP_MONITOR + } PHONE_PRIVILEGE; + + typedef enum PHONE_HOOK_SWITCH_DEVICE { + PHSD_HANDSET = 0x1,PHSD_SPEAKERPHONE = 0x2,PHSD_HEADSET = 0x4 + } PHONE_HOOK_SWITCH_DEVICE; + + typedef enum PHONE_HOOK_SWITCH_STATE { + PHSS_ONHOOK = 0x1,PHSS_OFFHOOK_MIC_ONLY = 0x2,PHSS_OFFHOOK_SPEAKER_ONLY = 0x4,PHSS_OFFHOOK = 0x8 + } PHONE_HOOK_SWITCH_STATE; + + typedef enum PHONE_LAMP_MODE { + LM_DUMMY = 0x1,LM_OFF = 0x2,LM_STEADY = 0x4,LM_WINK = 0x8, + LM_FLASH = 0x10,LM_FLUTTER = 0x20,LM_BROKENFLUTTER = 0x40,LM_UNKNOWN = 0x80 + } PHONE_LAMP_MODE; + + typedef enum PHONECAPS_LONG { + PCL_HOOKSWITCHES = 0, + PCL_HANDSETHOOKSWITCHMODES,PCL_HEADSETHOOKSWITCHMODES,PCL_SPEAKERPHONEHOOKSWITCHMODES, + PCL_DISPLAYNUMROWS,PCL_DISPLAYNUMCOLUMNS,PCL_NUMRINGMODES,PCL_NUMBUTTONLAMPS, + PCL_GENERICPHONE + } PHONECAPS_LONG; + + typedef enum PHONECAPS_STRING { + PCS_PHONENAME = 0, + PCS_PHONEINFO,PCS_PROVIDERINFO + } PHONECAPS_STRING; + + typedef enum PHONECAPS_BUFFER { + PCB_DEVSPECIFICBUFFER = 0 + } PHONECAPS_BUFFER; + + typedef enum PHONE_BUTTON_STATE { + PBS_UP = 0x1,PBS_DOWN = 0x2,PBS_UNKNOWN = 0x4,PBS_UNAVAIL = 0x8 + } PHONE_BUTTON_STATE; + + typedef enum PHONE_BUTTON_MODE { + PBM_DUMMY = 0, + PBM_CALL,PBM_FEATURE,PBM_KEYPAD,PBM_LOCAL,PBM_DISPLAY + } PHONE_BUTTON_MODE; + + typedef enum PHONE_BUTTON_FUNCTION { + PBF_UNKNOWN = 0, + PBF_CONFERENCE,PBF_TRANSFER,PBF_DROP,PBF_HOLD,PBF_RECALL,PBF_DISCONNECT,PBF_CONNECT, + PBF_MSGWAITON,PBF_MSGWAITOFF,PBF_SELECTRING,PBF_ABBREVDIAL,PBF_FORWARD, + PBF_PICKUP,PBF_RINGAGAIN,PBF_PARK,PBF_REJECT,PBF_REDIRECT,PBF_MUTE, + PBF_VOLUMEUP,PBF_VOLUMEDOWN,PBF_SPEAKERON,PBF_SPEAKEROFF,PBF_FLASH, + PBF_DATAON,PBF_DATAOFF,PBF_DONOTDISTURB,PBF_INTERCOM,PBF_BRIDGEDAPP, + PBF_BUSY,PBF_CALLAPP,PBF_DATETIME,PBF_DIRECTORY,PBF_COVER,PBF_CALLID, + PBF_LASTNUM,PBF_NIGHTSRV,PBF_SENDCALLS,PBF_MSGINDICATOR,PBF_REPDIAL, + PBF_SETREPDIAL,PBF_SYSTEMSPEED,PBF_STATIONSPEED,PBF_CAMPON,PBF_SAVEREPEAT, + PBF_QUEUECALL,PBF_NONE,PBF_SEND + } PHONE_BUTTON_FUNCTION; + + typedef enum PHONE_TONE { + PT_KEYPADZERO = 0, + PT_KEYPADONE,PT_KEYPADTWO,PT_KEYPADTHREE,PT_KEYPADFOUR,PT_KEYPADFIVE,PT_KEYPADSIX, + PT_KEYPADSEVEN,PT_KEYPADEIGHT,PT_KEYPADNINE,PT_KEYPADSTAR,PT_KEYPADPOUND,PT_KEYPADA, + PT_KEYPADB,PT_KEYPADC,PT_KEYPADD,PT_NORMALDIALTONE,PT_EXTERNALDIALTONE,PT_BUSY, + PT_RINGBACK,PT_ERRORTONE,PT_SILENCE + } PHONE_TONE; + + typedef enum PHONE_EVENT { + PE_DISPLAY = 0, + PE_LAMPMODE,PE_RINGMODE,PE_RINGVOLUME,PE_HOOKSWITCH,PE_CAPSCHANGE,PE_BUTTON, + PE_CLOSE,PE_NUMBERGATHERED,PE_DIALING,PE_ANSWER,PE_DISCONNECT, + PE_LASTITEM = PE_DISCONNECT + } PHONE_EVENT; + +#define INTERFACEMASK (0xff0000) + +#define DISPIDMASK (0xffff) + +#define IDISPTAPI (0x10000) +#define IDISPTAPICALLCENTER (0x20000) +#define IDISPCALLINFO (0x10000) +#define IDISPBASICCALLCONTROL (0x20000) +#define IDISPLEGACYCALLMEDIACONTROL (0x30000) +#define IDISPAGGREGATEDMSPCALLOBJ (0x40000) +#define IDISPADDRESS (0x10000) +#define IDISPADDRESSCAPABILITIES (0x20000) +#define IDISPMEDIASUPPORT (0x30000) +#define IDISPADDRESSTRANSLATION (0x40000) +#define IDISPLEGACYADDRESSMEDIACONTROL (0x50000) +#define IDISPAGGREGATEDMSPADDRESSOBJ (0x60000) +#define IDISPPHONE (0x10000) +#define IDISPAPC (0x20000) +#define IDISPMULTITRACK (0x10000) +#define IDISPMEDIACONTROL (0x20000) +#define IDISPMEDIARECORD (0x30000) +#define IDISPMEDIAPLAYBACK (0x40000) +#define IDISPFILETRACK (0x10000) + + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0000_v0_0_s_ifspec; +#ifndef __ITTAPI_INTERFACE_DEFINED__ +#define __ITTAPI_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPI; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPI : public IDispatch { + public: + virtual HRESULT WINAPI Initialize(void) = 0; + virtual HRESULT WINAPI Shutdown(void) = 0; + virtual HRESULT WINAPI get_Addresses(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateAddresses(IEnumAddress **ppEnumAddress) = 0; + virtual HRESULT WINAPI RegisterCallNotifications(ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister) = 0; + virtual HRESULT WINAPI UnregisterNotifications(__LONG32 lRegister) = 0; + virtual HRESULT WINAPI get_CallHubs(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateCallHubs(IEnumCallHub **ppEnumCallHub) = 0; + virtual HRESULT WINAPI SetCallHubTracking(VARIANT pAddresses,VARIANT_BOOL bTracking) = 0; + virtual HRESULT WINAPI EnumeratePrivateTAPIObjects(IEnumUnknown **ppEnumUnknown) = 0; + virtual HRESULT WINAPI get_PrivateTAPIObjects(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI RegisterRequestRecipient(__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable) = 0; + virtual HRESULT WINAPI SetAssistedTelephonyPriority(BSTR pAppFilename,VARIANT_BOOL fPriority) = 0; + virtual HRESULT WINAPI SetApplicationPriority(BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority) = 0; + virtual HRESULT WINAPI put_EventFilter(__LONG32 lFilterMask) = 0; + virtual HRESULT WINAPI get_EventFilter(__LONG32 *plFilterMask) = 0; + }; +#else + typedef struct ITTAPIVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPI *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPI *This); + ULONG (WINAPI *Release)(ITTAPI *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPI *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPI *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPI *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPI *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Initialize)(ITTAPI *This); + HRESULT (WINAPI *Shutdown)(ITTAPI *This); + HRESULT (WINAPI *get_Addresses)(ITTAPI *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateAddresses)(ITTAPI *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *RegisterCallNotifications)(ITTAPI *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister); + HRESULT (WINAPI *UnregisterNotifications)(ITTAPI *This,__LONG32 lRegister); + HRESULT (WINAPI *get_CallHubs)(ITTAPI *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCallHubs)(ITTAPI *This,IEnumCallHub **ppEnumCallHub); + HRESULT (WINAPI *SetCallHubTracking)(ITTAPI *This,VARIANT pAddresses,VARIANT_BOOL bTracking); + HRESULT (WINAPI *EnumeratePrivateTAPIObjects)(ITTAPI *This,IEnumUnknown **ppEnumUnknown); + HRESULT (WINAPI *get_PrivateTAPIObjects)(ITTAPI *This,VARIANT *pVariant); + HRESULT (WINAPI *RegisterRequestRecipient)(ITTAPI *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable); + HRESULT (WINAPI *SetAssistedTelephonyPriority)(ITTAPI *This,BSTR pAppFilename,VARIANT_BOOL fPriority); + HRESULT (WINAPI *SetApplicationPriority)(ITTAPI *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority); + HRESULT (WINAPI *put_EventFilter)(ITTAPI *This,__LONG32 lFilterMask); + HRESULT (WINAPI *get_EventFilter)(ITTAPI *This,__LONG32 *plFilterMask); + END_INTERFACE + } ITTAPIVtbl; + struct ITTAPI { + CONST_VTBL struct ITTAPIVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPI_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPI_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPI_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPI_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPI_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPI_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPI_Initialize(This) (This)->lpVtbl->Initialize(This) +#define ITTAPI_Shutdown(This) (This)->lpVtbl->Shutdown(This) +#define ITTAPI_get_Addresses(This,pVariant) (This)->lpVtbl->get_Addresses(This,pVariant) +#define ITTAPI_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress) +#define ITTAPI_RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) (This)->lpVtbl->RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) +#define ITTAPI_UnregisterNotifications(This,lRegister) (This)->lpVtbl->UnregisterNotifications(This,lRegister) +#define ITTAPI_get_CallHubs(This,pVariant) (This)->lpVtbl->get_CallHubs(This,pVariant) +#define ITTAPI_EnumerateCallHubs(This,ppEnumCallHub) (This)->lpVtbl->EnumerateCallHubs(This,ppEnumCallHub) +#define ITTAPI_SetCallHubTracking(This,pAddresses,bTracking) (This)->lpVtbl->SetCallHubTracking(This,pAddresses,bTracking) +#define ITTAPI_EnumeratePrivateTAPIObjects(This,ppEnumUnknown) (This)->lpVtbl->EnumeratePrivateTAPIObjects(This,ppEnumUnknown) +#define ITTAPI_get_PrivateTAPIObjects(This,pVariant) (This)->lpVtbl->get_PrivateTAPIObjects(This,pVariant) +#define ITTAPI_RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) (This)->lpVtbl->RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) +#define ITTAPI_SetAssistedTelephonyPriority(This,pAppFilename,fPriority) (This)->lpVtbl->SetAssistedTelephonyPriority(This,pAppFilename,fPriority) +#define ITTAPI_SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) (This)->lpVtbl->SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) +#define ITTAPI_put_EventFilter(This,lFilterMask) (This)->lpVtbl->put_EventFilter(This,lFilterMask) +#define ITTAPI_get_EventFilter(This,plFilterMask) (This)->lpVtbl->get_EventFilter(This,plFilterMask) +#endif +#endif + HRESULT WINAPI ITTAPI_Initialize_Proxy(ITTAPI *This); + void __RPC_STUB ITTAPI_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_Shutdown_Proxy(ITTAPI *This); + void __RPC_STUB ITTAPI_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_get_Addresses_Proxy(ITTAPI *This,VARIANT *pVariant); + void __RPC_STUB ITTAPI_get_Addresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_EnumerateAddresses_Proxy(ITTAPI *This,IEnumAddress **ppEnumAddress); + void __RPC_STUB ITTAPI_EnumerateAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_RegisterCallNotifications_Proxy(ITTAPI *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister); + void __RPC_STUB ITTAPI_RegisterCallNotifications_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_UnregisterNotifications_Proxy(ITTAPI *This,__LONG32 lRegister); + void __RPC_STUB ITTAPI_UnregisterNotifications_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_get_CallHubs_Proxy(ITTAPI *This,VARIANT *pVariant); + void __RPC_STUB ITTAPI_get_CallHubs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_EnumerateCallHubs_Proxy(ITTAPI *This,IEnumCallHub **ppEnumCallHub); + void __RPC_STUB ITTAPI_EnumerateCallHubs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_SetCallHubTracking_Proxy(ITTAPI *This,VARIANT pAddresses,VARIANT_BOOL bTracking); + void __RPC_STUB ITTAPI_SetCallHubTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_EnumeratePrivateTAPIObjects_Proxy(ITTAPI *This,IEnumUnknown **ppEnumUnknown); + void __RPC_STUB ITTAPI_EnumeratePrivateTAPIObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_get_PrivateTAPIObjects_Proxy(ITTAPI *This,VARIANT *pVariant); + void __RPC_STUB ITTAPI_get_PrivateTAPIObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_RegisterRequestRecipient_Proxy(ITTAPI *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable); + void __RPC_STUB ITTAPI_RegisterRequestRecipient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_SetAssistedTelephonyPriority_Proxy(ITTAPI *This,BSTR pAppFilename,VARIANT_BOOL fPriority); + void __RPC_STUB ITTAPI_SetAssistedTelephonyPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_SetApplicationPriority_Proxy(ITTAPI *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority); + void __RPC_STUB ITTAPI_SetApplicationPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_put_EventFilter_Proxy(ITTAPI *This,__LONG32 lFilterMask); + void __RPC_STUB ITTAPI_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI_get_EventFilter_Proxy(ITTAPI *This,__LONG32 *plFilterMask); + void __RPC_STUB ITTAPI_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPI2_INTERFACE_DEFINED__ +#define __ITTAPI2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPI2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPI2 : public ITTAPI { + public: + virtual HRESULT WINAPI get_Phones(VARIANT *pPhones) = 0; + virtual HRESULT WINAPI EnumeratePhones(IEnumPhone **ppEnumPhone) = 0; + virtual HRESULT WINAPI CreateEmptyCollectionObject(ITCollection2 **ppCollection) = 0; + }; +#else + typedef struct ITTAPI2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPI2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPI2 *This); + ULONG (WINAPI *Release)(ITTAPI2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPI2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPI2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPI2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPI2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Initialize)(ITTAPI2 *This); + HRESULT (WINAPI *Shutdown)(ITTAPI2 *This); + HRESULT (WINAPI *get_Addresses)(ITTAPI2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateAddresses)(ITTAPI2 *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *RegisterCallNotifications)(ITTAPI2 *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister); + HRESULT (WINAPI *UnregisterNotifications)(ITTAPI2 *This,__LONG32 lRegister); + HRESULT (WINAPI *get_CallHubs)(ITTAPI2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCallHubs)(ITTAPI2 *This,IEnumCallHub **ppEnumCallHub); + HRESULT (WINAPI *SetCallHubTracking)(ITTAPI2 *This,VARIANT pAddresses,VARIANT_BOOL bTracking); + HRESULT (WINAPI *EnumeratePrivateTAPIObjects)(ITTAPI2 *This,IEnumUnknown **ppEnumUnknown); + HRESULT (WINAPI *get_PrivateTAPIObjects)(ITTAPI2 *This,VARIANT *pVariant); + HRESULT (WINAPI *RegisterRequestRecipient)(ITTAPI2 *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable); + HRESULT (WINAPI *SetAssistedTelephonyPriority)(ITTAPI2 *This,BSTR pAppFilename,VARIANT_BOOL fPriority); + HRESULT (WINAPI *SetApplicationPriority)(ITTAPI2 *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority); + HRESULT (WINAPI *put_EventFilter)(ITTAPI2 *This,__LONG32 lFilterMask); + HRESULT (WINAPI *get_EventFilter)(ITTAPI2 *This,__LONG32 *plFilterMask); + HRESULT (WINAPI *get_Phones)(ITTAPI2 *This,VARIANT *pPhones); + HRESULT (WINAPI *EnumeratePhones)(ITTAPI2 *This,IEnumPhone **ppEnumPhone); + HRESULT (WINAPI *CreateEmptyCollectionObject)(ITTAPI2 *This,ITCollection2 **ppCollection); + END_INTERFACE + } ITTAPI2Vtbl; + struct ITTAPI2 { + CONST_VTBL struct ITTAPI2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPI2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPI2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPI2_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPI2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPI2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPI2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPI2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPI2_Initialize(This) (This)->lpVtbl->Initialize(This) +#define ITTAPI2_Shutdown(This) (This)->lpVtbl->Shutdown(This) +#define ITTAPI2_get_Addresses(This,pVariant) (This)->lpVtbl->get_Addresses(This,pVariant) +#define ITTAPI2_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress) +#define ITTAPI2_RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) (This)->lpVtbl->RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) +#define ITTAPI2_UnregisterNotifications(This,lRegister) (This)->lpVtbl->UnregisterNotifications(This,lRegister) +#define ITTAPI2_get_CallHubs(This,pVariant) (This)->lpVtbl->get_CallHubs(This,pVariant) +#define ITTAPI2_EnumerateCallHubs(This,ppEnumCallHub) (This)->lpVtbl->EnumerateCallHubs(This,ppEnumCallHub) +#define ITTAPI2_SetCallHubTracking(This,pAddresses,bTracking) (This)->lpVtbl->SetCallHubTracking(This,pAddresses,bTracking) +#define ITTAPI2_EnumeratePrivateTAPIObjects(This,ppEnumUnknown) (This)->lpVtbl->EnumeratePrivateTAPIObjects(This,ppEnumUnknown) +#define ITTAPI2_get_PrivateTAPIObjects(This,pVariant) (This)->lpVtbl->get_PrivateTAPIObjects(This,pVariant) +#define ITTAPI2_RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) (This)->lpVtbl->RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) +#define ITTAPI2_SetAssistedTelephonyPriority(This,pAppFilename,fPriority) (This)->lpVtbl->SetAssistedTelephonyPriority(This,pAppFilename,fPriority) +#define ITTAPI2_SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) (This)->lpVtbl->SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) +#define ITTAPI2_put_EventFilter(This,lFilterMask) (This)->lpVtbl->put_EventFilter(This,lFilterMask) +#define ITTAPI2_get_EventFilter(This,plFilterMask) (This)->lpVtbl->get_EventFilter(This,plFilterMask) +#define ITTAPI2_get_Phones(This,pPhones) (This)->lpVtbl->get_Phones(This,pPhones) +#define ITTAPI2_EnumeratePhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePhones(This,ppEnumPhone) +#define ITTAPI2_CreateEmptyCollectionObject(This,ppCollection) (This)->lpVtbl->CreateEmptyCollectionObject(This,ppCollection) +#endif +#endif + HRESULT WINAPI ITTAPI2_get_Phones_Proxy(ITTAPI2 *This,VARIANT *pPhones); + void __RPC_STUB ITTAPI2_get_Phones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI2_EnumeratePhones_Proxy(ITTAPI2 *This,IEnumPhone **ppEnumPhone); + void __RPC_STUB ITTAPI2_EnumeratePhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPI2_CreateEmptyCollectionObject_Proxy(ITTAPI2 *This,ITCollection2 **ppCollection); + void __RPC_STUB ITTAPI2_CreateEmptyCollectionObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMediaSupport_INTERFACE_DEFINED__ +#define __ITMediaSupport_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMediaSupport; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMediaSupport : public IDispatch { + public: + virtual HRESULT WINAPI get_MediaTypes(__LONG32 *plMediaTypes) = 0; + virtual HRESULT WINAPI QueryMediaType(__LONG32 lMediaType,VARIANT_BOOL *pfSupport) = 0; + }; +#else + typedef struct ITMediaSupportVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMediaSupport *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMediaSupport *This); + ULONG (WINAPI *Release)(ITMediaSupport *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITMediaSupport *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITMediaSupport *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITMediaSupport *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITMediaSupport *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_MediaTypes)(ITMediaSupport *This,__LONG32 *plMediaTypes); + HRESULT (WINAPI *QueryMediaType)(ITMediaSupport *This,__LONG32 lMediaType,VARIANT_BOOL *pfSupport); + END_INTERFACE + } ITMediaSupportVtbl; + struct ITMediaSupport { + CONST_VTBL struct ITMediaSupportVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMediaSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMediaSupport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMediaSupport_Release(This) (This)->lpVtbl->Release(This) +#define ITMediaSupport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITMediaSupport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITMediaSupport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITMediaSupport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITMediaSupport_get_MediaTypes(This,plMediaTypes) (This)->lpVtbl->get_MediaTypes(This,plMediaTypes) +#define ITMediaSupport_QueryMediaType(This,lMediaType,pfSupport) (This)->lpVtbl->QueryMediaType(This,lMediaType,pfSupport) +#endif +#endif + HRESULT WINAPI ITMediaSupport_get_MediaTypes_Proxy(ITMediaSupport *This,__LONG32 *plMediaTypes); + void __RPC_STUB ITMediaSupport_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaSupport_QueryMediaType_Proxy(ITMediaSupport *This,__LONG32 lMediaType,VARIANT_BOOL *pfSupport); + void __RPC_STUB ITMediaSupport_QueryMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalClassInfo_INTERFACE_DEFINED__ +#define __ITPluggableTerminalClassInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalClassInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalClassInfo : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *pName) = 0; + virtual HRESULT WINAPI get_Company(BSTR *pCompany) = 0; + virtual HRESULT WINAPI get_Version(BSTR *pVersion) = 0; + virtual HRESULT WINAPI get_TerminalClass(BSTR *pTerminalClass) = 0; + virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0; + virtual HRESULT WINAPI get_Direction(TERMINAL_DIRECTION *pDirection) = 0; + virtual HRESULT WINAPI get_MediaTypes(__LONG32 *pMediaTypes) = 0; + }; +#else + typedef struct ITPluggableTerminalClassInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalClassInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalClassInfo *This); + ULONG (WINAPI *Release)(ITPluggableTerminalClassInfo *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalClassInfo *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalClassInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalClassInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPluggableTerminalClassInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITPluggableTerminalClassInfo *This,BSTR *pName); + HRESULT (WINAPI *get_Company)(ITPluggableTerminalClassInfo *This,BSTR *pCompany); + HRESULT (WINAPI *get_Version)(ITPluggableTerminalClassInfo *This,BSTR *pVersion); + HRESULT (WINAPI *get_TerminalClass)(ITPluggableTerminalClassInfo *This,BSTR *pTerminalClass); + HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalClassInfo *This,BSTR *pCLSID); + HRESULT (WINAPI *get_Direction)(ITPluggableTerminalClassInfo *This,TERMINAL_DIRECTION *pDirection); + HRESULT (WINAPI *get_MediaTypes)(ITPluggableTerminalClassInfo *This,__LONG32 *pMediaTypes); + END_INTERFACE + } ITPluggableTerminalClassInfoVtbl; + struct ITPluggableTerminalClassInfo { + CONST_VTBL struct ITPluggableTerminalClassInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalClassInfo_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalClassInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPluggableTerminalClassInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPluggableTerminalClassInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPluggableTerminalClassInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPluggableTerminalClassInfo_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName) +#define ITPluggableTerminalClassInfo_get_Company(This,pCompany) (This)->lpVtbl->get_Company(This,pCompany) +#define ITPluggableTerminalClassInfo_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion) +#define ITPluggableTerminalClassInfo_get_TerminalClass(This,pTerminalClass) (This)->lpVtbl->get_TerminalClass(This,pTerminalClass) +#define ITPluggableTerminalClassInfo_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID) +#define ITPluggableTerminalClassInfo_get_Direction(This,pDirection) (This)->lpVtbl->get_Direction(This,pDirection) +#define ITPluggableTerminalClassInfo_get_MediaTypes(This,pMediaTypes) (This)->lpVtbl->get_MediaTypes(This,pMediaTypes) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalClassInfo_get_Name_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pName); + void __RPC_STUB ITPluggableTerminalClassInfo_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_Company_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pCompany); + void __RPC_STUB ITPluggableTerminalClassInfo_get_Company_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_Version_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pVersion); + void __RPC_STUB ITPluggableTerminalClassInfo_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_TerminalClass_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pTerminalClass); + void __RPC_STUB ITPluggableTerminalClassInfo_get_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_CLSID_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pCLSID); + void __RPC_STUB ITPluggableTerminalClassInfo_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_Direction_Proxy(ITPluggableTerminalClassInfo *This,TERMINAL_DIRECTION *pDirection); + void __RPC_STUB ITPluggableTerminalClassInfo_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassInfo_get_MediaTypes_Proxy(ITPluggableTerminalClassInfo *This,__LONG32 *pMediaTypes); + void __RPC_STUB ITPluggableTerminalClassInfo_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalSuperclassInfo_INTERFACE_DEFINED__ +#define __ITPluggableTerminalSuperclassInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalSuperclassInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalSuperclassInfo : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *pName) = 0; + virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0; + }; +#else + typedef struct ITPluggableTerminalSuperclassInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalSuperclassInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalSuperclassInfo *This); + ULONG (WINAPI *Release)(ITPluggableTerminalSuperclassInfo *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalSuperclassInfo *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalSuperclassInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalSuperclassInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPluggableTerminalSuperclassInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITPluggableTerminalSuperclassInfo *This,BSTR *pName); + HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalSuperclassInfo *This,BSTR *pCLSID); + END_INTERFACE + } ITPluggableTerminalSuperclassInfoVtbl; + struct ITPluggableTerminalSuperclassInfo { + CONST_VTBL struct ITPluggableTerminalSuperclassInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalSuperclassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalSuperclassInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalSuperclassInfo_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalSuperclassInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPluggableTerminalSuperclassInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPluggableTerminalSuperclassInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPluggableTerminalSuperclassInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPluggableTerminalSuperclassInfo_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName) +#define ITPluggableTerminalSuperclassInfo_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalSuperclassInfo_get_Name_Proxy(ITPluggableTerminalSuperclassInfo *This,BSTR *pName); + void __RPC_STUB ITPluggableTerminalSuperclassInfo_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassInfo_get_CLSID_Proxy(ITPluggableTerminalSuperclassInfo *This,BSTR *pCLSID); + void __RPC_STUB ITPluggableTerminalSuperclassInfo_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTerminalSupport_INTERFACE_DEFINED__ +#define __ITTerminalSupport_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTerminalSupport; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminalSupport : public IDispatch { + public: + virtual HRESULT WINAPI get_StaticTerminals(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateStaticTerminals(IEnumTerminal **ppTerminalEnumerator) = 0; + virtual HRESULT WINAPI get_DynamicTerminalClasses(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateDynamicTerminalClasses(IEnumTerminalClass **ppTerminalClassEnumerator) = 0; + virtual HRESULT WINAPI CreateTerminal(BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI GetDefaultStaticTerminal(__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal) = 0; + }; +#else + typedef struct ITTerminalSupportVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminalSupport *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminalSupport *This); + ULONG (WINAPI *Release)(ITTerminalSupport *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTerminalSupport *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTerminalSupport *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTerminalSupport *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTerminalSupport *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_StaticTerminals)(ITTerminalSupport *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateStaticTerminals)(ITTerminalSupport *This,IEnumTerminal **ppTerminalEnumerator); + HRESULT (WINAPI *get_DynamicTerminalClasses)(ITTerminalSupport *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateDynamicTerminalClasses)(ITTerminalSupport *This,IEnumTerminalClass **ppTerminalClassEnumerator); + HRESULT (WINAPI *CreateTerminal)(ITTerminalSupport *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + HRESULT (WINAPI *GetDefaultStaticTerminal)(ITTerminalSupport *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + END_INTERFACE + } ITTerminalSupportVtbl; + struct ITTerminalSupport { + CONST_VTBL struct ITTerminalSupportVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminalSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminalSupport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminalSupport_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminalSupport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTerminalSupport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTerminalSupport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTerminalSupport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTerminalSupport_get_StaticTerminals(This,pVariant) (This)->lpVtbl->get_StaticTerminals(This,pVariant) +#define ITTerminalSupport_EnumerateStaticTerminals(This,ppTerminalEnumerator) (This)->lpVtbl->EnumerateStaticTerminals(This,ppTerminalEnumerator) +#define ITTerminalSupport_get_DynamicTerminalClasses(This,pVariant) (This)->lpVtbl->get_DynamicTerminalClasses(This,pVariant) +#define ITTerminalSupport_EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) (This)->lpVtbl->EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) +#define ITTerminalSupport_CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) (This)->lpVtbl->CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) +#define ITTerminalSupport_GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) (This)->lpVtbl->GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) +#endif +#endif + HRESULT WINAPI ITTerminalSupport_get_StaticTerminals_Proxy(ITTerminalSupport *This,VARIANT *pVariant); + void __RPC_STUB ITTerminalSupport_get_StaticTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport_EnumerateStaticTerminals_Proxy(ITTerminalSupport *This,IEnumTerminal **ppTerminalEnumerator); + void __RPC_STUB ITTerminalSupport_EnumerateStaticTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport_get_DynamicTerminalClasses_Proxy(ITTerminalSupport *This,VARIANT *pVariant); + void __RPC_STUB ITTerminalSupport_get_DynamicTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport_EnumerateDynamicTerminalClasses_Proxy(ITTerminalSupport *This,IEnumTerminalClass **ppTerminalClassEnumerator); + void __RPC_STUB ITTerminalSupport_EnumerateDynamicTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport_CreateTerminal_Proxy(ITTerminalSupport *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + void __RPC_STUB ITTerminalSupport_CreateTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport_GetDefaultStaticTerminal_Proxy(ITTerminalSupport *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + void __RPC_STUB ITTerminalSupport_GetDefaultStaticTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTerminalSupport2_INTERFACE_DEFINED__ +#define __ITTerminalSupport2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTerminalSupport2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminalSupport2 : public ITTerminalSupport { + public: + virtual HRESULT WINAPI get_PluggableSuperclasses(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumeratePluggableSuperclasses(IEnumPluggableSuperclassInfo **ppSuperclassEnumerator) = 0; + virtual HRESULT WINAPI get_PluggableTerminalClasses(BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumeratePluggableTerminalClasses(CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator) = 0; + }; +#else + typedef struct ITTerminalSupport2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminalSupport2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminalSupport2 *This); + ULONG (WINAPI *Release)(ITTerminalSupport2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTerminalSupport2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTerminalSupport2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTerminalSupport2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTerminalSupport2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_StaticTerminals)(ITTerminalSupport2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateStaticTerminals)(ITTerminalSupport2 *This,IEnumTerminal **ppTerminalEnumerator); + HRESULT (WINAPI *get_DynamicTerminalClasses)(ITTerminalSupport2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateDynamicTerminalClasses)(ITTerminalSupport2 *This,IEnumTerminalClass **ppTerminalClassEnumerator); + HRESULT (WINAPI *CreateTerminal)(ITTerminalSupport2 *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + HRESULT (WINAPI *GetDefaultStaticTerminal)(ITTerminalSupport2 *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_PluggableSuperclasses)(ITTerminalSupport2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumeratePluggableSuperclasses)(ITTerminalSupport2 *This,IEnumPluggableSuperclassInfo **ppSuperclassEnumerator); + HRESULT (WINAPI *get_PluggableTerminalClasses)(ITTerminalSupport2 *This,BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant); + HRESULT (WINAPI *EnumeratePluggableTerminalClasses)(ITTerminalSupport2 *This,CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator); + END_INTERFACE + } ITTerminalSupport2Vtbl; + struct ITTerminalSupport2 { + CONST_VTBL struct ITTerminalSupport2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminalSupport2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminalSupport2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminalSupport2_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminalSupport2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTerminalSupport2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTerminalSupport2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTerminalSupport2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTerminalSupport2_get_StaticTerminals(This,pVariant) (This)->lpVtbl->get_StaticTerminals(This,pVariant) +#define ITTerminalSupport2_EnumerateStaticTerminals(This,ppTerminalEnumerator) (This)->lpVtbl->EnumerateStaticTerminals(This,ppTerminalEnumerator) +#define ITTerminalSupport2_get_DynamicTerminalClasses(This,pVariant) (This)->lpVtbl->get_DynamicTerminalClasses(This,pVariant) +#define ITTerminalSupport2_EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) (This)->lpVtbl->EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) +#define ITTerminalSupport2_CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) (This)->lpVtbl->CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) +#define ITTerminalSupport2_GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) (This)->lpVtbl->GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) +#define ITTerminalSupport2_get_PluggableSuperclasses(This,pVariant) (This)->lpVtbl->get_PluggableSuperclasses(This,pVariant) +#define ITTerminalSupport2_EnumeratePluggableSuperclasses(This,ppSuperclassEnumerator) (This)->lpVtbl->EnumeratePluggableSuperclasses(This,ppSuperclassEnumerator) +#define ITTerminalSupport2_get_PluggableTerminalClasses(This,bstrTerminalSuperclass,lMediaType,pVariant) (This)->lpVtbl->get_PluggableTerminalClasses(This,bstrTerminalSuperclass,lMediaType,pVariant) +#define ITTerminalSupport2_EnumeratePluggableTerminalClasses(This,iidTerminalSuperclass,lMediaType,ppClassEnumerator) (This)->lpVtbl->EnumeratePluggableTerminalClasses(This,iidTerminalSuperclass,lMediaType,ppClassEnumerator) +#endif +#endif + HRESULT WINAPI ITTerminalSupport2_get_PluggableSuperclasses_Proxy(ITTerminalSupport2 *This,VARIANT *pVariant); + void __RPC_STUB ITTerminalSupport2_get_PluggableSuperclasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport2_EnumeratePluggableSuperclasses_Proxy(ITTerminalSupport2 *This,IEnumPluggableSuperclassInfo **ppSuperclassEnumerator); + void __RPC_STUB ITTerminalSupport2_EnumeratePluggableSuperclasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport2_get_PluggableTerminalClasses_Proxy(ITTerminalSupport2 *This,BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant); + void __RPC_STUB ITTerminalSupport2_get_PluggableTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalSupport2_EnumeratePluggableTerminalClasses_Proxy(ITTerminalSupport2 *This,CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator); + void __RPC_STUB ITTerminalSupport2_EnumeratePluggableTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddress_INTERFACE_DEFINED__ +#define __ITAddress_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddress; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddress : public IDispatch { + public: + virtual HRESULT WINAPI get_State(ADDRESS_STATE *pAddressState) = 0; + virtual HRESULT WINAPI get_AddressName(BSTR *ppName) = 0; + virtual HRESULT WINAPI get_ServiceProviderName(BSTR *ppName) = 0; + virtual HRESULT WINAPI get_TAPIObject(ITTAPI **ppTapiObject) = 0; + virtual HRESULT WINAPI CreateCall(BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall) = 0; + virtual HRESULT WINAPI get_Calls(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateCalls(IEnumCall **ppCallEnum) = 0; + virtual HRESULT WINAPI get_DialableAddress(BSTR *pDialableAddress) = 0; + virtual HRESULT WINAPI CreateForwardInfoObject(ITForwardInformation **ppForwardInfo) = 0; + virtual HRESULT WINAPI Forward(ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall) = 0; + virtual HRESULT WINAPI get_CurrentForwardInfo(ITForwardInformation **ppForwardInfo) = 0; + virtual HRESULT WINAPI put_MessageWaiting(VARIANT_BOOL fMessageWaiting) = 0; + virtual HRESULT WINAPI get_MessageWaiting(VARIANT_BOOL *pfMessageWaiting) = 0; + virtual HRESULT WINAPI put_DoNotDisturb(VARIANT_BOOL fDoNotDisturb) = 0; + virtual HRESULT WINAPI get_DoNotDisturb(VARIANT_BOOL *pfDoNotDisturb) = 0; + }; +#else + typedef struct ITAddressVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddress *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddress *This); + ULONG (WINAPI *Release)(ITAddress *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddress *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddress *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddress *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddress *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_State)(ITAddress *This,ADDRESS_STATE *pAddressState); + HRESULT (WINAPI *get_AddressName)(ITAddress *This,BSTR *ppName); + HRESULT (WINAPI *get_ServiceProviderName)(ITAddress *This,BSTR *ppName); + HRESULT (WINAPI *get_TAPIObject)(ITAddress *This,ITTAPI **ppTapiObject); + HRESULT (WINAPI *CreateCall)(ITAddress *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall); + HRESULT (WINAPI *get_Calls)(ITAddress *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCalls)(ITAddress *This,IEnumCall **ppCallEnum); + HRESULT (WINAPI *get_DialableAddress)(ITAddress *This,BSTR *pDialableAddress); + HRESULT (WINAPI *CreateForwardInfoObject)(ITAddress *This,ITForwardInformation **ppForwardInfo); + HRESULT (WINAPI *Forward)(ITAddress *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall); + HRESULT (WINAPI *get_CurrentForwardInfo)(ITAddress *This,ITForwardInformation **ppForwardInfo); + HRESULT (WINAPI *put_MessageWaiting)(ITAddress *This,VARIANT_BOOL fMessageWaiting); + HRESULT (WINAPI *get_MessageWaiting)(ITAddress *This,VARIANT_BOOL *pfMessageWaiting); + HRESULT (WINAPI *put_DoNotDisturb)(ITAddress *This,VARIANT_BOOL fDoNotDisturb); + HRESULT (WINAPI *get_DoNotDisturb)(ITAddress *This,VARIANT_BOOL *pfDoNotDisturb); + END_INTERFACE + } ITAddressVtbl; + struct ITAddress { + CONST_VTBL struct ITAddressVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddress_Release(This) (This)->lpVtbl->Release(This) +#define ITAddress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddress_get_State(This,pAddressState) (This)->lpVtbl->get_State(This,pAddressState) +#define ITAddress_get_AddressName(This,ppName) (This)->lpVtbl->get_AddressName(This,ppName) +#define ITAddress_get_ServiceProviderName(This,ppName) (This)->lpVtbl->get_ServiceProviderName(This,ppName) +#define ITAddress_get_TAPIObject(This,ppTapiObject) (This)->lpVtbl->get_TAPIObject(This,ppTapiObject) +#define ITAddress_CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) (This)->lpVtbl->CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) +#define ITAddress_get_Calls(This,pVariant) (This)->lpVtbl->get_Calls(This,pVariant) +#define ITAddress_EnumerateCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateCalls(This,ppCallEnum) +#define ITAddress_get_DialableAddress(This,pDialableAddress) (This)->lpVtbl->get_DialableAddress(This,pDialableAddress) +#define ITAddress_CreateForwardInfoObject(This,ppForwardInfo) (This)->lpVtbl->CreateForwardInfoObject(This,ppForwardInfo) +#define ITAddress_Forward(This,pForwardInfo,pCall) (This)->lpVtbl->Forward(This,pForwardInfo,pCall) +#define ITAddress_get_CurrentForwardInfo(This,ppForwardInfo) (This)->lpVtbl->get_CurrentForwardInfo(This,ppForwardInfo) +#define ITAddress_put_MessageWaiting(This,fMessageWaiting) (This)->lpVtbl->put_MessageWaiting(This,fMessageWaiting) +#define ITAddress_get_MessageWaiting(This,pfMessageWaiting) (This)->lpVtbl->get_MessageWaiting(This,pfMessageWaiting) +#define ITAddress_put_DoNotDisturb(This,fDoNotDisturb) (This)->lpVtbl->put_DoNotDisturb(This,fDoNotDisturb) +#define ITAddress_get_DoNotDisturb(This,pfDoNotDisturb) (This)->lpVtbl->get_DoNotDisturb(This,pfDoNotDisturb) +#endif +#endif + HRESULT WINAPI ITAddress_get_State_Proxy(ITAddress *This,ADDRESS_STATE *pAddressState); + void __RPC_STUB ITAddress_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_AddressName_Proxy(ITAddress *This,BSTR *ppName); + void __RPC_STUB ITAddress_get_AddressName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_ServiceProviderName_Proxy(ITAddress *This,BSTR *ppName); + void __RPC_STUB ITAddress_get_ServiceProviderName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_TAPIObject_Proxy(ITAddress *This,ITTAPI **ppTapiObject); + void __RPC_STUB ITAddress_get_TAPIObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_CreateCall_Proxy(ITAddress *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall); + void __RPC_STUB ITAddress_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_Calls_Proxy(ITAddress *This,VARIANT *pVariant); + void __RPC_STUB ITAddress_get_Calls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_EnumerateCalls_Proxy(ITAddress *This,IEnumCall **ppCallEnum); + void __RPC_STUB ITAddress_EnumerateCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_DialableAddress_Proxy(ITAddress *This,BSTR *pDialableAddress); + void __RPC_STUB ITAddress_get_DialableAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_CreateForwardInfoObject_Proxy(ITAddress *This,ITForwardInformation **ppForwardInfo); + void __RPC_STUB ITAddress_CreateForwardInfoObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_Forward_Proxy(ITAddress *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall); + void __RPC_STUB ITAddress_Forward_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_CurrentForwardInfo_Proxy(ITAddress *This,ITForwardInformation **ppForwardInfo); + void __RPC_STUB ITAddress_get_CurrentForwardInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_put_MessageWaiting_Proxy(ITAddress *This,VARIANT_BOOL fMessageWaiting); + void __RPC_STUB ITAddress_put_MessageWaiting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_MessageWaiting_Proxy(ITAddress *This,VARIANT_BOOL *pfMessageWaiting); + void __RPC_STUB ITAddress_get_MessageWaiting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_put_DoNotDisturb_Proxy(ITAddress *This,VARIANT_BOOL fDoNotDisturb); + void __RPC_STUB ITAddress_put_DoNotDisturb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress_get_DoNotDisturb_Proxy(ITAddress *This,VARIANT_BOOL *pfDoNotDisturb); + void __RPC_STUB ITAddress_get_DoNotDisturb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddress2_INTERFACE_DEFINED__ +#define __ITAddress2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddress2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddress2 : public ITAddress { + public: + virtual HRESULT WINAPI get_Phones(VARIANT *pPhones) = 0; + virtual HRESULT WINAPI EnumeratePhones(IEnumPhone **ppEnumPhone) = 0; + virtual HRESULT WINAPI GetPhoneFromTerminal(ITTerminal *pTerminal,ITPhone **ppPhone) = 0; + virtual HRESULT WINAPI get_PreferredPhones(VARIANT *pPhones) = 0; + virtual HRESULT WINAPI EnumeratePreferredPhones(IEnumPhone **ppEnumPhone) = 0; + virtual HRESULT WINAPI get_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable) = 0; + virtual HRESULT WINAPI put_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable) = 0; + virtual HRESULT WINAPI DeviceSpecific(ITCallInfo *pCall,BYTE *pParams,DWORD dwSize) = 0; + virtual HRESULT WINAPI DeviceSpecificVariant(ITCallInfo *pCall,VARIANT varDevSpecificByteArray) = 0; + virtual HRESULT WINAPI NegotiateExtVersion(__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion) = 0; + }; +#else + typedef struct ITAddress2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddress2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddress2 *This); + ULONG (WINAPI *Release)(ITAddress2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddress2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddress2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddress2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddress2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_State)(ITAddress2 *This,ADDRESS_STATE *pAddressState); + HRESULT (WINAPI *get_AddressName)(ITAddress2 *This,BSTR *ppName); + HRESULT (WINAPI *get_ServiceProviderName)(ITAddress2 *This,BSTR *ppName); + HRESULT (WINAPI *get_TAPIObject)(ITAddress2 *This,ITTAPI **ppTapiObject); + HRESULT (WINAPI *CreateCall)(ITAddress2 *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall); + HRESULT (WINAPI *get_Calls)(ITAddress2 *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCalls)(ITAddress2 *This,IEnumCall **ppCallEnum); + HRESULT (WINAPI *get_DialableAddress)(ITAddress2 *This,BSTR *pDialableAddress); + HRESULT (WINAPI *CreateForwardInfoObject)(ITAddress2 *This,ITForwardInformation **ppForwardInfo); + HRESULT (WINAPI *Forward)(ITAddress2 *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall); + HRESULT (WINAPI *get_CurrentForwardInfo)(ITAddress2 *This,ITForwardInformation **ppForwardInfo); + HRESULT (WINAPI *put_MessageWaiting)(ITAddress2 *This,VARIANT_BOOL fMessageWaiting); + HRESULT (WINAPI *get_MessageWaiting)(ITAddress2 *This,VARIANT_BOOL *pfMessageWaiting); + HRESULT (WINAPI *put_DoNotDisturb)(ITAddress2 *This,VARIANT_BOOL fDoNotDisturb); + HRESULT (WINAPI *get_DoNotDisturb)(ITAddress2 *This,VARIANT_BOOL *pfDoNotDisturb); + HRESULT (WINAPI *get_Phones)(ITAddress2 *This,VARIANT *pPhones); + HRESULT (WINAPI *EnumeratePhones)(ITAddress2 *This,IEnumPhone **ppEnumPhone); + HRESULT (WINAPI *GetPhoneFromTerminal)(ITAddress2 *This,ITTerminal *pTerminal,ITPhone **ppPhone); + HRESULT (WINAPI *get_PreferredPhones)(ITAddress2 *This,VARIANT *pPhones); + HRESULT (WINAPI *EnumeratePreferredPhones)(ITAddress2 *This,IEnumPhone **ppEnumPhone); + HRESULT (WINAPI *get_EventFilter)(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable); + HRESULT (WINAPI *put_EventFilter)(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable); + HRESULT (WINAPI *DeviceSpecific)(ITAddress2 *This,ITCallInfo *pCall,BYTE *pParams,DWORD dwSize); + HRESULT (WINAPI *DeviceSpecificVariant)(ITAddress2 *This,ITCallInfo *pCall,VARIANT varDevSpecificByteArray); + HRESULT (WINAPI *NegotiateExtVersion)(ITAddress2 *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion); + END_INTERFACE + } ITAddress2Vtbl; + struct ITAddress2 { + CONST_VTBL struct ITAddress2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddress2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddress2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddress2_Release(This) (This)->lpVtbl->Release(This) +#define ITAddress2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddress2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddress2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddress2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddress2_get_State(This,pAddressState) (This)->lpVtbl->get_State(This,pAddressState) +#define ITAddress2_get_AddressName(This,ppName) (This)->lpVtbl->get_AddressName(This,ppName) +#define ITAddress2_get_ServiceProviderName(This,ppName) (This)->lpVtbl->get_ServiceProviderName(This,ppName) +#define ITAddress2_get_TAPIObject(This,ppTapiObject) (This)->lpVtbl->get_TAPIObject(This,ppTapiObject) +#define ITAddress2_CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) (This)->lpVtbl->CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) +#define ITAddress2_get_Calls(This,pVariant) (This)->lpVtbl->get_Calls(This,pVariant) +#define ITAddress2_EnumerateCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateCalls(This,ppCallEnum) +#define ITAddress2_get_DialableAddress(This,pDialableAddress) (This)->lpVtbl->get_DialableAddress(This,pDialableAddress) +#define ITAddress2_CreateForwardInfoObject(This,ppForwardInfo) (This)->lpVtbl->CreateForwardInfoObject(This,ppForwardInfo) +#define ITAddress2_Forward(This,pForwardInfo,pCall) (This)->lpVtbl->Forward(This,pForwardInfo,pCall) +#define ITAddress2_get_CurrentForwardInfo(This,ppForwardInfo) (This)->lpVtbl->get_CurrentForwardInfo(This,ppForwardInfo) +#define ITAddress2_put_MessageWaiting(This,fMessageWaiting) (This)->lpVtbl->put_MessageWaiting(This,fMessageWaiting) +#define ITAddress2_get_MessageWaiting(This,pfMessageWaiting) (This)->lpVtbl->get_MessageWaiting(This,pfMessageWaiting) +#define ITAddress2_put_DoNotDisturb(This,fDoNotDisturb) (This)->lpVtbl->put_DoNotDisturb(This,fDoNotDisturb) +#define ITAddress2_get_DoNotDisturb(This,pfDoNotDisturb) (This)->lpVtbl->get_DoNotDisturb(This,pfDoNotDisturb) +#define ITAddress2_get_Phones(This,pPhones) (This)->lpVtbl->get_Phones(This,pPhones) +#define ITAddress2_EnumeratePhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePhones(This,ppEnumPhone) +#define ITAddress2_GetPhoneFromTerminal(This,pTerminal,ppPhone) (This)->lpVtbl->GetPhoneFromTerminal(This,pTerminal,ppPhone) +#define ITAddress2_get_PreferredPhones(This,pPhones) (This)->lpVtbl->get_PreferredPhones(This,pPhones) +#define ITAddress2_EnumeratePreferredPhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePreferredPhones(This,ppEnumPhone) +#define ITAddress2_get_EventFilter(This,TapiEvent,lSubEvent,pEnable) (This)->lpVtbl->get_EventFilter(This,TapiEvent,lSubEvent,pEnable) +#define ITAddress2_put_EventFilter(This,TapiEvent,lSubEvent,bEnable) (This)->lpVtbl->put_EventFilter(This,TapiEvent,lSubEvent,bEnable) +#define ITAddress2_DeviceSpecific(This,pCall,pParams,dwSize) (This)->lpVtbl->DeviceSpecific(This,pCall,pParams,dwSize) +#define ITAddress2_DeviceSpecificVariant(This,pCall,varDevSpecificByteArray) (This)->lpVtbl->DeviceSpecificVariant(This,pCall,varDevSpecificByteArray) +#define ITAddress2_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) (This)->lpVtbl->NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) +#endif +#endif + HRESULT WINAPI ITAddress2_get_Phones_Proxy(ITAddress2 *This,VARIANT *pPhones); + void __RPC_STUB ITAddress2_get_Phones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_EnumeratePhones_Proxy(ITAddress2 *This,IEnumPhone **ppEnumPhone); + void __RPC_STUB ITAddress2_EnumeratePhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_GetPhoneFromTerminal_Proxy(ITAddress2 *This,ITTerminal *pTerminal,ITPhone **ppPhone); + void __RPC_STUB ITAddress2_GetPhoneFromTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_get_PreferredPhones_Proxy(ITAddress2 *This,VARIANT *pPhones); + void __RPC_STUB ITAddress2_get_PreferredPhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_EnumeratePreferredPhones_Proxy(ITAddress2 *This,IEnumPhone **ppEnumPhone); + void __RPC_STUB ITAddress2_EnumeratePreferredPhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_get_EventFilter_Proxy(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable); + void __RPC_STUB ITAddress2_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_put_EventFilter_Proxy(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable); + void __RPC_STUB ITAddress2_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_DeviceSpecific_Proxy(ITAddress2 *This,ITCallInfo *pCall,BYTE *pParams,DWORD dwSize); + void __RPC_STUB ITAddress2_DeviceSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_DeviceSpecificVariant_Proxy(ITAddress2 *This,ITCallInfo *pCall,VARIANT varDevSpecificByteArray); + void __RPC_STUB ITAddress2_DeviceSpecificVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddress2_NegotiateExtVersion_Proxy(ITAddress2 *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion); + void __RPC_STUB ITAddress2_NegotiateExtVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddressCapabilities_INTERFACE_DEFINED__ +#define __ITAddressCapabilities_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddressCapabilities; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddressCapabilities : public IDispatch { + public: + virtual HRESULT WINAPI get_AddressCapability(ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability) = 0; + virtual HRESULT WINAPI get_AddressCapabilityString(ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString) = 0; + virtual HRESULT WINAPI get_CallTreatments(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateCallTreatments(IEnumBstr **ppEnumCallTreatment) = 0; + virtual HRESULT WINAPI get_CompletionMessages(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateCompletionMessages(IEnumBstr **ppEnumCompletionMessage) = 0; + virtual HRESULT WINAPI get_DeviceClasses(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateDeviceClasses(IEnumBstr **ppEnumDeviceClass) = 0; + }; +#else + typedef struct ITAddressCapabilitiesVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddressCapabilities *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddressCapabilities *This); + ULONG (WINAPI *Release)(ITAddressCapabilities *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddressCapabilities *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddressCapabilities *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddressCapabilities *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddressCapabilities *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_AddressCapability)(ITAddressCapabilities *This,ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability); + HRESULT (WINAPI *get_AddressCapabilityString)(ITAddressCapabilities *This,ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString); + HRESULT (WINAPI *get_CallTreatments)(ITAddressCapabilities *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCallTreatments)(ITAddressCapabilities *This,IEnumBstr **ppEnumCallTreatment); + HRESULT (WINAPI *get_CompletionMessages)(ITAddressCapabilities *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCompletionMessages)(ITAddressCapabilities *This,IEnumBstr **ppEnumCompletionMessage); + HRESULT (WINAPI *get_DeviceClasses)(ITAddressCapabilities *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateDeviceClasses)(ITAddressCapabilities *This,IEnumBstr **ppEnumDeviceClass); + END_INTERFACE + } ITAddressCapabilitiesVtbl; + struct ITAddressCapabilities { + CONST_VTBL struct ITAddressCapabilitiesVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddressCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddressCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddressCapabilities_Release(This) (This)->lpVtbl->Release(This) +#define ITAddressCapabilities_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddressCapabilities_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddressCapabilities_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddressCapabilities_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddressCapabilities_get_AddressCapability(This,AddressCap,plCapability) (This)->lpVtbl->get_AddressCapability(This,AddressCap,plCapability) +#define ITAddressCapabilities_get_AddressCapabilityString(This,AddressCapString,ppCapabilityString) (This)->lpVtbl->get_AddressCapabilityString(This,AddressCapString,ppCapabilityString) +#define ITAddressCapabilities_get_CallTreatments(This,pVariant) (This)->lpVtbl->get_CallTreatments(This,pVariant) +#define ITAddressCapabilities_EnumerateCallTreatments(This,ppEnumCallTreatment) (This)->lpVtbl->EnumerateCallTreatments(This,ppEnumCallTreatment) +#define ITAddressCapabilities_get_CompletionMessages(This,pVariant) (This)->lpVtbl->get_CompletionMessages(This,pVariant) +#define ITAddressCapabilities_EnumerateCompletionMessages(This,ppEnumCompletionMessage) (This)->lpVtbl->EnumerateCompletionMessages(This,ppEnumCompletionMessage) +#define ITAddressCapabilities_get_DeviceClasses(This,pVariant) (This)->lpVtbl->get_DeviceClasses(This,pVariant) +#define ITAddressCapabilities_EnumerateDeviceClasses(This,ppEnumDeviceClass) (This)->lpVtbl->EnumerateDeviceClasses(This,ppEnumDeviceClass) +#endif +#endif + HRESULT WINAPI ITAddressCapabilities_get_AddressCapability_Proxy(ITAddressCapabilities *This,ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability); + void __RPC_STUB ITAddressCapabilities_get_AddressCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_get_AddressCapabilityString_Proxy(ITAddressCapabilities *This,ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString); + void __RPC_STUB ITAddressCapabilities_get_AddressCapabilityString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_get_CallTreatments_Proxy(ITAddressCapabilities *This,VARIANT *pVariant); + void __RPC_STUB ITAddressCapabilities_get_CallTreatments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_EnumerateCallTreatments_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumCallTreatment); + void __RPC_STUB ITAddressCapabilities_EnumerateCallTreatments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_get_CompletionMessages_Proxy(ITAddressCapabilities *This,VARIANT *pVariant); + void __RPC_STUB ITAddressCapabilities_get_CompletionMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_EnumerateCompletionMessages_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumCompletionMessage); + void __RPC_STUB ITAddressCapabilities_EnumerateCompletionMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_get_DeviceClasses_Proxy(ITAddressCapabilities *This,VARIANT *pVariant); + void __RPC_STUB ITAddressCapabilities_get_DeviceClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressCapabilities_EnumerateDeviceClasses_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumDeviceClass); + void __RPC_STUB ITAddressCapabilities_EnumerateDeviceClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPhone_INTERFACE_DEFINED__ +#define __ITPhone_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPhone; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPhone : public IDispatch { + public: + virtual HRESULT WINAPI Open(PHONE_PRIVILEGE Privilege) = 0; + virtual HRESULT WINAPI Close(void) = 0; + virtual HRESULT WINAPI get_Addresses(VARIANT *pAddresses) = 0; + virtual HRESULT WINAPI EnumerateAddresses(IEnumAddress **ppEnumAddress) = 0; + virtual HRESULT WINAPI get_PhoneCapsLong(PHONECAPS_LONG pclCap,__LONG32 *plCapability) = 0; + virtual HRESULT WINAPI get_PhoneCapsString(PHONECAPS_STRING pcsCap,BSTR *ppCapability) = 0; + virtual HRESULT WINAPI get_Terminals(ITAddress *pAddress,VARIANT *pTerminals) = 0; + virtual HRESULT WINAPI EnumerateTerminals(ITAddress *pAddress,IEnumTerminal **ppEnumTerminal) = 0; + virtual HRESULT WINAPI get_ButtonMode(__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode) = 0; + virtual HRESULT WINAPI put_ButtonMode(__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode) = 0; + virtual HRESULT WINAPI get_ButtonFunction(__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction) = 0; + virtual HRESULT WINAPI put_ButtonFunction(__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction) = 0; + virtual HRESULT WINAPI get_ButtonText(__LONG32 lButtonID,BSTR *ppButtonText) = 0; + virtual HRESULT WINAPI put_ButtonText(__LONG32 lButtonID,BSTR bstrButtonText) = 0; + virtual HRESULT WINAPI get_ButtonState(__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState) = 0; + virtual HRESULT WINAPI get_HookSwitchState(PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState) = 0; + virtual HRESULT WINAPI put_HookSwitchState(PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState) = 0; + virtual HRESULT WINAPI put_RingMode(__LONG32 lRingMode) = 0; + virtual HRESULT WINAPI get_RingMode(__LONG32 *plRingMode) = 0; + virtual HRESULT WINAPI put_RingVolume(__LONG32 lRingVolume) = 0; + virtual HRESULT WINAPI get_RingVolume(__LONG32 *plRingVolume) = 0; + virtual HRESULT WINAPI get_Privilege(PHONE_PRIVILEGE *pPrivilege) = 0; + virtual HRESULT WINAPI GetPhoneCapsBuffer(PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer) = 0; + virtual HRESULT WINAPI get_PhoneCapsBuffer(PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer) = 0; + virtual HRESULT WINAPI get_LampMode(__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode) = 0; + virtual HRESULT WINAPI put_LampMode(__LONG32 lLampID,PHONE_LAMP_MODE LampMode) = 0; + virtual HRESULT WINAPI get_Display(BSTR *pbstrDisplay) = 0; + virtual HRESULT WINAPI SetDisplay(__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay) = 0; + virtual HRESULT WINAPI get_PreferredAddresses(VARIANT *pAddresses) = 0; + virtual HRESULT WINAPI EnumeratePreferredAddresses(IEnumAddress **ppEnumAddress) = 0; + virtual HRESULT WINAPI DeviceSpecific(BYTE *pParams,DWORD dwSize) = 0; + virtual HRESULT WINAPI DeviceSpecificVariant(VARIANT varDevSpecificByteArray) = 0; + virtual HRESULT WINAPI NegotiateExtVersion(__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion) = 0; + }; +#else + typedef struct ITPhoneVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPhone *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPhone *This); + ULONG (WINAPI *Release)(ITPhone *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPhone *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPhone *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPhone *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPhone *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Open)(ITPhone *This,PHONE_PRIVILEGE Privilege); + HRESULT (WINAPI *Close)(ITPhone *This); + HRESULT (WINAPI *get_Addresses)(ITPhone *This,VARIANT *pAddresses); + HRESULT (WINAPI *EnumerateAddresses)(ITPhone *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *get_PhoneCapsLong)(ITPhone *This,PHONECAPS_LONG pclCap,__LONG32 *plCapability); + HRESULT (WINAPI *get_PhoneCapsString)(ITPhone *This,PHONECAPS_STRING pcsCap,BSTR *ppCapability); + HRESULT (WINAPI *get_Terminals)(ITPhone *This,ITAddress *pAddress,VARIANT *pTerminals); + HRESULT (WINAPI *EnumerateTerminals)(ITPhone *This,ITAddress *pAddress,IEnumTerminal **ppEnumTerminal); + HRESULT (WINAPI *get_ButtonMode)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode); + HRESULT (WINAPI *put_ButtonMode)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode); + HRESULT (WINAPI *get_ButtonFunction)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction); + HRESULT (WINAPI *put_ButtonFunction)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction); + HRESULT (WINAPI *get_ButtonText)(ITPhone *This,__LONG32 lButtonID,BSTR *ppButtonText); + HRESULT (WINAPI *put_ButtonText)(ITPhone *This,__LONG32 lButtonID,BSTR bstrButtonText); + HRESULT (WINAPI *get_ButtonState)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState); + HRESULT (WINAPI *get_HookSwitchState)(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState); + HRESULT (WINAPI *put_HookSwitchState)(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState); + HRESULT (WINAPI *put_RingMode)(ITPhone *This,__LONG32 lRingMode); + HRESULT (WINAPI *get_RingMode)(ITPhone *This,__LONG32 *plRingMode); + HRESULT (WINAPI *put_RingVolume)(ITPhone *This,__LONG32 lRingVolume); + HRESULT (WINAPI *get_RingVolume)(ITPhone *This,__LONG32 *plRingVolume); + HRESULT (WINAPI *get_Privilege)(ITPhone *This,PHONE_PRIVILEGE *pPrivilege); + HRESULT (WINAPI *GetPhoneCapsBuffer)(ITPhone *This,PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer); + HRESULT (WINAPI *get_PhoneCapsBuffer)(ITPhone *This,PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer); + HRESULT (WINAPI *get_LampMode)(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode); + HRESULT (WINAPI *put_LampMode)(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE LampMode); + HRESULT (WINAPI *get_Display)(ITPhone *This,BSTR *pbstrDisplay); + HRESULT (WINAPI *SetDisplay)(ITPhone *This,__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay); + HRESULT (WINAPI *get_PreferredAddresses)(ITPhone *This,VARIANT *pAddresses); + HRESULT (WINAPI *EnumeratePreferredAddresses)(ITPhone *This,IEnumAddress **ppEnumAddress); + HRESULT (WINAPI *DeviceSpecific)(ITPhone *This,BYTE *pParams,DWORD dwSize); + HRESULT (WINAPI *DeviceSpecificVariant)(ITPhone *This,VARIANT varDevSpecificByteArray); + HRESULT (WINAPI *NegotiateExtVersion)(ITPhone *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion); + END_INTERFACE + } ITPhoneVtbl; + struct ITPhone { + CONST_VTBL struct ITPhoneVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPhone_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPhone_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPhone_Release(This) (This)->lpVtbl->Release(This) +#define ITPhone_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPhone_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPhone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPhone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPhone_Open(This,Privilege) (This)->lpVtbl->Open(This,Privilege) +#define ITPhone_Close(This) (This)->lpVtbl->Close(This) +#define ITPhone_get_Addresses(This,pAddresses) (This)->lpVtbl->get_Addresses(This,pAddresses) +#define ITPhone_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress) +#define ITPhone_get_PhoneCapsLong(This,pclCap,plCapability) (This)->lpVtbl->get_PhoneCapsLong(This,pclCap,plCapability) +#define ITPhone_get_PhoneCapsString(This,pcsCap,ppCapability) (This)->lpVtbl->get_PhoneCapsString(This,pcsCap,ppCapability) +#define ITPhone_get_Terminals(This,pAddress,pTerminals) (This)->lpVtbl->get_Terminals(This,pAddress,pTerminals) +#define ITPhone_EnumerateTerminals(This,pAddress,ppEnumTerminal) (This)->lpVtbl->EnumerateTerminals(This,pAddress,ppEnumTerminal) +#define ITPhone_get_ButtonMode(This,lButtonID,pButtonMode) (This)->lpVtbl->get_ButtonMode(This,lButtonID,pButtonMode) +#define ITPhone_put_ButtonMode(This,lButtonID,ButtonMode) (This)->lpVtbl->put_ButtonMode(This,lButtonID,ButtonMode) +#define ITPhone_get_ButtonFunction(This,lButtonID,pButtonFunction) (This)->lpVtbl->get_ButtonFunction(This,lButtonID,pButtonFunction) +#define ITPhone_put_ButtonFunction(This,lButtonID,ButtonFunction) (This)->lpVtbl->put_ButtonFunction(This,lButtonID,ButtonFunction) +#define ITPhone_get_ButtonText(This,lButtonID,ppButtonText) (This)->lpVtbl->get_ButtonText(This,lButtonID,ppButtonText) +#define ITPhone_put_ButtonText(This,lButtonID,bstrButtonText) (This)->lpVtbl->put_ButtonText(This,lButtonID,bstrButtonText) +#define ITPhone_get_ButtonState(This,lButtonID,pButtonState) (This)->lpVtbl->get_ButtonState(This,lButtonID,pButtonState) +#define ITPhone_get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState) (This)->lpVtbl->get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState) +#define ITPhone_put_HookSwitchState(This,HookSwitchDevice,HookSwitchState) (This)->lpVtbl->put_HookSwitchState(This,HookSwitchDevice,HookSwitchState) +#define ITPhone_put_RingMode(This,lRingMode) (This)->lpVtbl->put_RingMode(This,lRingMode) +#define ITPhone_get_RingMode(This,plRingMode) (This)->lpVtbl->get_RingMode(This,plRingMode) +#define ITPhone_put_RingVolume(This,lRingVolume) (This)->lpVtbl->put_RingVolume(This,lRingVolume) +#define ITPhone_get_RingVolume(This,plRingVolume) (This)->lpVtbl->get_RingVolume(This,plRingVolume) +#define ITPhone_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege) +#define ITPhone_GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer) (This)->lpVtbl->GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer) +#define ITPhone_get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer) (This)->lpVtbl->get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer) +#define ITPhone_get_LampMode(This,lLampID,pLampMode) (This)->lpVtbl->get_LampMode(This,lLampID,pLampMode) +#define ITPhone_put_LampMode(This,lLampID,LampMode) (This)->lpVtbl->put_LampMode(This,lLampID,LampMode) +#define ITPhone_get_Display(This,pbstrDisplay) (This)->lpVtbl->get_Display(This,pbstrDisplay) +#define ITPhone_SetDisplay(This,lRow,lColumn,bstrDisplay) (This)->lpVtbl->SetDisplay(This,lRow,lColumn,bstrDisplay) +#define ITPhone_get_PreferredAddresses(This,pAddresses) (This)->lpVtbl->get_PreferredAddresses(This,pAddresses) +#define ITPhone_EnumeratePreferredAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumeratePreferredAddresses(This,ppEnumAddress) +#define ITPhone_DeviceSpecific(This,pParams,dwSize) (This)->lpVtbl->DeviceSpecific(This,pParams,dwSize) +#define ITPhone_DeviceSpecificVariant(This,varDevSpecificByteArray) (This)->lpVtbl->DeviceSpecificVariant(This,varDevSpecificByteArray) +#define ITPhone_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) (This)->lpVtbl->NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) +#endif +#endif + HRESULT WINAPI ITPhone_Open_Proxy(ITPhone *This,PHONE_PRIVILEGE Privilege); + void __RPC_STUB ITPhone_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_Close_Proxy(ITPhone *This); + void __RPC_STUB ITPhone_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_Addresses_Proxy(ITPhone *This,VARIANT *pAddresses); + void __RPC_STUB ITPhone_get_Addresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_EnumerateAddresses_Proxy(ITPhone *This,IEnumAddress **ppEnumAddress); + void __RPC_STUB ITPhone_EnumerateAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_PhoneCapsLong_Proxy(ITPhone *This,PHONECAPS_LONG pclCap,__LONG32 *plCapability); + void __RPC_STUB ITPhone_get_PhoneCapsLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_PhoneCapsString_Proxy(ITPhone *This,PHONECAPS_STRING pcsCap,BSTR *ppCapability); + void __RPC_STUB ITPhone_get_PhoneCapsString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_Terminals_Proxy(ITPhone *This,ITAddress *pAddress,VARIANT *pTerminals); + void __RPC_STUB ITPhone_get_Terminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_EnumerateTerminals_Proxy(ITPhone *This,ITAddress *pAddress,IEnumTerminal **ppEnumTerminal); + void __RPC_STUB ITPhone_EnumerateTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_ButtonMode_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode); + void __RPC_STUB ITPhone_get_ButtonMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_ButtonMode_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode); + void __RPC_STUB ITPhone_put_ButtonMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_ButtonFunction_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction); + void __RPC_STUB ITPhone_get_ButtonFunction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_ButtonFunction_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction); + void __RPC_STUB ITPhone_put_ButtonFunction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_ButtonText_Proxy(ITPhone *This,__LONG32 lButtonID,BSTR *ppButtonText); + void __RPC_STUB ITPhone_get_ButtonText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_ButtonText_Proxy(ITPhone *This,__LONG32 lButtonID,BSTR bstrButtonText); + void __RPC_STUB ITPhone_put_ButtonText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_ButtonState_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState); + void __RPC_STUB ITPhone_get_ButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_HookSwitchState_Proxy(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState); + void __RPC_STUB ITPhone_get_HookSwitchState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_HookSwitchState_Proxy(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState); + void __RPC_STUB ITPhone_put_HookSwitchState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_RingMode_Proxy(ITPhone *This,__LONG32 lRingMode); + void __RPC_STUB ITPhone_put_RingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_RingMode_Proxy(ITPhone *This,__LONG32 *plRingMode); + void __RPC_STUB ITPhone_get_RingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_RingVolume_Proxy(ITPhone *This,__LONG32 lRingVolume); + void __RPC_STUB ITPhone_put_RingVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_RingVolume_Proxy(ITPhone *This,__LONG32 *plRingVolume); + void __RPC_STUB ITPhone_get_RingVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_Privilege_Proxy(ITPhone *This,PHONE_PRIVILEGE *pPrivilege); + void __RPC_STUB ITPhone_get_Privilege_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_GetPhoneCapsBuffer_Proxy(ITPhone *This,PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer); + void __RPC_STUB ITPhone_GetPhoneCapsBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_PhoneCapsBuffer_Proxy(ITPhone *This,PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer); + void __RPC_STUB ITPhone_get_PhoneCapsBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_LampMode_Proxy(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode); + void __RPC_STUB ITPhone_get_LampMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_put_LampMode_Proxy(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE LampMode); + void __RPC_STUB ITPhone_put_LampMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_Display_Proxy(ITPhone *This,BSTR *pbstrDisplay); + void __RPC_STUB ITPhone_get_Display_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_SetDisplay_Proxy(ITPhone *This,__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay); + void __RPC_STUB ITPhone_SetDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_get_PreferredAddresses_Proxy(ITPhone *This,VARIANT *pAddresses); + void __RPC_STUB ITPhone_get_PreferredAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_EnumeratePreferredAddresses_Proxy(ITPhone *This,IEnumAddress **ppEnumAddress); + void __RPC_STUB ITPhone_EnumeratePreferredAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_DeviceSpecific_Proxy(ITPhone *This,BYTE *pParams,DWORD dwSize); + void __RPC_STUB ITPhone_DeviceSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_DeviceSpecificVariant_Proxy(ITPhone *This,VARIANT varDevSpecificByteArray); + void __RPC_STUB ITPhone_DeviceSpecificVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhone_NegotiateExtVersion_Proxy(ITPhone *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion); + void __RPC_STUB ITPhone_NegotiateExtVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAutomatedPhoneControl_INTERFACE_DEFINED__ +#define __ITAutomatedPhoneControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAutomatedPhoneControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAutomatedPhoneControl : public IDispatch { + public: + virtual HRESULT WINAPI StartTone(PHONE_TONE Tone,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI StopTone(void) = 0; + virtual HRESULT WINAPI get_Tone(PHONE_TONE *pTone) = 0; + virtual HRESULT WINAPI StartRinger(__LONG32 lRingMode,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI StopRinger(void) = 0; + virtual HRESULT WINAPI get_Ringer(VARIANT_BOOL *pfRinging) = 0; + virtual HRESULT WINAPI put_PhoneHandlingEnabled(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_PhoneHandlingEnabled(VARIANT_BOOL *pfEnabled) = 0; + virtual HRESULT WINAPI put_AutoEndOfNumberTimeout(__LONG32 lTimeout) = 0; + virtual HRESULT WINAPI get_AutoEndOfNumberTimeout(__LONG32 *plTimeout) = 0; + virtual HRESULT WINAPI put_AutoDialtone(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_AutoDialtone(VARIANT_BOOL *pfEnabled) = 0; + virtual HRESULT WINAPI put_AutoStopTonesOnOnHook(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_AutoStopTonesOnOnHook(VARIANT_BOOL *pfEnabled) = 0; + virtual HRESULT WINAPI put_AutoStopRingOnOffHook(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_AutoStopRingOnOffHook(VARIANT_BOOL *pfEnabled) = 0; + virtual HRESULT WINAPI put_AutoKeypadTones(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_AutoKeypadTones(VARIANT_BOOL *pfEnabled) = 0; + virtual HRESULT WINAPI put_AutoKeypadTonesMinimumDuration(__LONG32 lDuration) = 0; + virtual HRESULT WINAPI get_AutoKeypadTonesMinimumDuration(__LONG32 *plDuration) = 0; + virtual HRESULT WINAPI put_AutoVolumeControl(VARIANT_BOOL fEnabled) = 0; + virtual HRESULT WINAPI get_AutoVolumeControl(VARIANT_BOOL *fEnabled) = 0; + virtual HRESULT WINAPI put_AutoVolumeControlStep(__LONG32 lStepSize) = 0; + virtual HRESULT WINAPI get_AutoVolumeControlStep(__LONG32 *plStepSize) = 0; + virtual HRESULT WINAPI put_AutoVolumeControlRepeatDelay(__LONG32 lDelay) = 0; + virtual HRESULT WINAPI get_AutoVolumeControlRepeatDelay(__LONG32 *plDelay) = 0; + virtual HRESULT WINAPI put_AutoVolumeControlRepeatPeriod(__LONG32 lPeriod) = 0; + virtual HRESULT WINAPI get_AutoVolumeControlRepeatPeriod(__LONG32 *plPeriod) = 0; + virtual HRESULT WINAPI SelectCall(ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals) = 0; + virtual HRESULT WINAPI UnselectCall(ITCallInfo *pCall) = 0; + virtual HRESULT WINAPI EnumerateSelectedCalls(IEnumCall **ppCallEnum) = 0; + virtual HRESULT WINAPI get_SelectedCalls(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAutomatedPhoneControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAutomatedPhoneControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAutomatedPhoneControl *This); + ULONG (WINAPI *Release)(ITAutomatedPhoneControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAutomatedPhoneControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAutomatedPhoneControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAutomatedPhoneControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAutomatedPhoneControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *StartTone)(ITAutomatedPhoneControl *This,PHONE_TONE Tone,__LONG32 lDuration); + HRESULT (WINAPI *StopTone)(ITAutomatedPhoneControl *This); + HRESULT (WINAPI *get_Tone)(ITAutomatedPhoneControl *This,PHONE_TONE *pTone); + HRESULT (WINAPI *StartRinger)(ITAutomatedPhoneControl *This,__LONG32 lRingMode,__LONG32 lDuration); + HRESULT (WINAPI *StopRinger)(ITAutomatedPhoneControl *This); + HRESULT (WINAPI *get_Ringer)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfRinging); + HRESULT (WINAPI *put_PhoneHandlingEnabled)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_PhoneHandlingEnabled)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + HRESULT (WINAPI *put_AutoEndOfNumberTimeout)(ITAutomatedPhoneControl *This,__LONG32 lTimeout); + HRESULT (WINAPI *get_AutoEndOfNumberTimeout)(ITAutomatedPhoneControl *This,__LONG32 *plTimeout); + HRESULT (WINAPI *put_AutoDialtone)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_AutoDialtone)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + HRESULT (WINAPI *put_AutoStopTonesOnOnHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_AutoStopTonesOnOnHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + HRESULT (WINAPI *put_AutoStopRingOnOffHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_AutoStopRingOnOffHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + HRESULT (WINAPI *put_AutoKeypadTones)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_AutoKeypadTones)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + HRESULT (WINAPI *put_AutoKeypadTonesMinimumDuration)(ITAutomatedPhoneControl *This,__LONG32 lDuration); + HRESULT (WINAPI *get_AutoKeypadTonesMinimumDuration)(ITAutomatedPhoneControl *This,__LONG32 *plDuration); + HRESULT (WINAPI *put_AutoVolumeControl)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + HRESULT (WINAPI *get_AutoVolumeControl)(ITAutomatedPhoneControl *This,VARIANT_BOOL *fEnabled); + HRESULT (WINAPI *put_AutoVolumeControlStep)(ITAutomatedPhoneControl *This,__LONG32 lStepSize); + HRESULT (WINAPI *get_AutoVolumeControlStep)(ITAutomatedPhoneControl *This,__LONG32 *plStepSize); + HRESULT (WINAPI *put_AutoVolumeControlRepeatDelay)(ITAutomatedPhoneControl *This,__LONG32 lDelay); + HRESULT (WINAPI *get_AutoVolumeControlRepeatDelay)(ITAutomatedPhoneControl *This,__LONG32 *plDelay); + HRESULT (WINAPI *put_AutoVolumeControlRepeatPeriod)(ITAutomatedPhoneControl *This,__LONG32 lPeriod); + HRESULT (WINAPI *get_AutoVolumeControlRepeatPeriod)(ITAutomatedPhoneControl *This,__LONG32 *plPeriod); + HRESULT (WINAPI *SelectCall)(ITAutomatedPhoneControl *This,ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals); + HRESULT (WINAPI *UnselectCall)(ITAutomatedPhoneControl *This,ITCallInfo *pCall); + HRESULT (WINAPI *EnumerateSelectedCalls)(ITAutomatedPhoneControl *This,IEnumCall **ppCallEnum); + HRESULT (WINAPI *get_SelectedCalls)(ITAutomatedPhoneControl *This,VARIANT *pVariant); + END_INTERFACE + } ITAutomatedPhoneControlVtbl; + struct ITAutomatedPhoneControl { + CONST_VTBL struct ITAutomatedPhoneControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAutomatedPhoneControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAutomatedPhoneControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAutomatedPhoneControl_Release(This) (This)->lpVtbl->Release(This) +#define ITAutomatedPhoneControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAutomatedPhoneControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAutomatedPhoneControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAutomatedPhoneControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAutomatedPhoneControl_StartTone(This,Tone,lDuration) (This)->lpVtbl->StartTone(This,Tone,lDuration) +#define ITAutomatedPhoneControl_StopTone(This) (This)->lpVtbl->StopTone(This) +#define ITAutomatedPhoneControl_get_Tone(This,pTone) (This)->lpVtbl->get_Tone(This,pTone) +#define ITAutomatedPhoneControl_StartRinger(This,lRingMode,lDuration) (This)->lpVtbl->StartRinger(This,lRingMode,lDuration) +#define ITAutomatedPhoneControl_StopRinger(This) (This)->lpVtbl->StopRinger(This) +#define ITAutomatedPhoneControl_get_Ringer(This,pfRinging) (This)->lpVtbl->get_Ringer(This,pfRinging) +#define ITAutomatedPhoneControl_put_PhoneHandlingEnabled(This,fEnabled) (This)->lpVtbl->put_PhoneHandlingEnabled(This,fEnabled) +#define ITAutomatedPhoneControl_get_PhoneHandlingEnabled(This,pfEnabled) (This)->lpVtbl->get_PhoneHandlingEnabled(This,pfEnabled) +#define ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout(This,lTimeout) (This)->lpVtbl->put_AutoEndOfNumberTimeout(This,lTimeout) +#define ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout(This,plTimeout) (This)->lpVtbl->get_AutoEndOfNumberTimeout(This,plTimeout) +#define ITAutomatedPhoneControl_put_AutoDialtone(This,fEnabled) (This)->lpVtbl->put_AutoDialtone(This,fEnabled) +#define ITAutomatedPhoneControl_get_AutoDialtone(This,pfEnabled) (This)->lpVtbl->get_AutoDialtone(This,pfEnabled) +#define ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook(This,fEnabled) (This)->lpVtbl->put_AutoStopTonesOnOnHook(This,fEnabled) +#define ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook(This,pfEnabled) (This)->lpVtbl->get_AutoStopTonesOnOnHook(This,pfEnabled) +#define ITAutomatedPhoneControl_put_AutoStopRingOnOffHook(This,fEnabled) (This)->lpVtbl->put_AutoStopRingOnOffHook(This,fEnabled) +#define ITAutomatedPhoneControl_get_AutoStopRingOnOffHook(This,pfEnabled) (This)->lpVtbl->get_AutoStopRingOnOffHook(This,pfEnabled) +#define ITAutomatedPhoneControl_put_AutoKeypadTones(This,fEnabled) (This)->lpVtbl->put_AutoKeypadTones(This,fEnabled) +#define ITAutomatedPhoneControl_get_AutoKeypadTones(This,pfEnabled) (This)->lpVtbl->get_AutoKeypadTones(This,pfEnabled) +#define ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration(This,lDuration) (This)->lpVtbl->put_AutoKeypadTonesMinimumDuration(This,lDuration) +#define ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration(This,plDuration) (This)->lpVtbl->get_AutoKeypadTonesMinimumDuration(This,plDuration) +#define ITAutomatedPhoneControl_put_AutoVolumeControl(This,fEnabled) (This)->lpVtbl->put_AutoVolumeControl(This,fEnabled) +#define ITAutomatedPhoneControl_get_AutoVolumeControl(This,fEnabled) (This)->lpVtbl->get_AutoVolumeControl(This,fEnabled) +#define ITAutomatedPhoneControl_put_AutoVolumeControlStep(This,lStepSize) (This)->lpVtbl->put_AutoVolumeControlStep(This,lStepSize) +#define ITAutomatedPhoneControl_get_AutoVolumeControlStep(This,plStepSize) (This)->lpVtbl->get_AutoVolumeControlStep(This,plStepSize) +#define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay(This,lDelay) (This)->lpVtbl->put_AutoVolumeControlRepeatDelay(This,lDelay) +#define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay(This,plDelay) (This)->lpVtbl->get_AutoVolumeControlRepeatDelay(This,plDelay) +#define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod(This,lPeriod) (This)->lpVtbl->put_AutoVolumeControlRepeatPeriod(This,lPeriod) +#define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod(This,plPeriod) (This)->lpVtbl->get_AutoVolumeControlRepeatPeriod(This,plPeriod) +#define ITAutomatedPhoneControl_SelectCall(This,pCall,fSelectDefaultTerminals) (This)->lpVtbl->SelectCall(This,pCall,fSelectDefaultTerminals) +#define ITAutomatedPhoneControl_UnselectCall(This,pCall) (This)->lpVtbl->UnselectCall(This,pCall) +#define ITAutomatedPhoneControl_EnumerateSelectedCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateSelectedCalls(This,ppCallEnum) +#define ITAutomatedPhoneControl_get_SelectedCalls(This,pVariant) (This)->lpVtbl->get_SelectedCalls(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAutomatedPhoneControl_StartTone_Proxy(ITAutomatedPhoneControl *This,PHONE_TONE Tone,__LONG32 lDuration); + void __RPC_STUB ITAutomatedPhoneControl_StartTone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_StopTone_Proxy(ITAutomatedPhoneControl *This); + void __RPC_STUB ITAutomatedPhoneControl_StopTone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_Tone_Proxy(ITAutomatedPhoneControl *This,PHONE_TONE *pTone); + void __RPC_STUB ITAutomatedPhoneControl_get_Tone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_StartRinger_Proxy(ITAutomatedPhoneControl *This,__LONG32 lRingMode,__LONG32 lDuration); + void __RPC_STUB ITAutomatedPhoneControl_StartRinger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_StopRinger_Proxy(ITAutomatedPhoneControl *This); + void __RPC_STUB ITAutomatedPhoneControl_StopRinger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_Ringer_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfRinging); + void __RPC_STUB ITAutomatedPhoneControl_get_Ringer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Proxy(ITAutomatedPhoneControl *This,__LONG32 lTimeout); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plTimeout); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoDialtone_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoDialtone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoDialtone_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoDialtone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoKeypadTones_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoKeypadTones_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Proxy(ITAutomatedPhoneControl *This,__LONG32 lDuration); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plDuration); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControl_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControl_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *fEnabled); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlStep_Proxy(ITAutomatedPhoneControl *This,__LONG32 lStepSize); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlStep_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plStepSize); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Proxy(ITAutomatedPhoneControl *This,__LONG32 lDelay); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plDelay); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Proxy(ITAutomatedPhoneControl *This,__LONG32 lPeriod); + void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plPeriod); + void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_SelectCall_Proxy(ITAutomatedPhoneControl *This,ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals); + void __RPC_STUB ITAutomatedPhoneControl_SelectCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_UnselectCall_Proxy(ITAutomatedPhoneControl *This,ITCallInfo *pCall); + void __RPC_STUB ITAutomatedPhoneControl_UnselectCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_EnumerateSelectedCalls_Proxy(ITAutomatedPhoneControl *This,IEnumCall **ppCallEnum); + void __RPC_STUB ITAutomatedPhoneControl_EnumerateSelectedCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAutomatedPhoneControl_get_SelectedCalls_Proxy(ITAutomatedPhoneControl *This,VARIANT *pVariant); + void __RPC_STUB ITAutomatedPhoneControl_get_SelectedCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITBasicCallControl_INTERFACE_DEFINED__ +#define __ITBasicCallControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITBasicCallControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITBasicCallControl : public IDispatch { + public: + virtual HRESULT WINAPI Connect(VARIANT_BOOL fSync) = 0; + virtual HRESULT WINAPI Answer(void) = 0; + virtual HRESULT WINAPI Disconnect(DISCONNECT_CODE code) = 0; + virtual HRESULT WINAPI Hold(VARIANT_BOOL fHold) = 0; + virtual HRESULT WINAPI HandoffDirect(BSTR pApplicationName) = 0; + virtual HRESULT WINAPI HandoffIndirect(__LONG32 lMediaType) = 0; + virtual HRESULT WINAPI Conference(ITBasicCallControl *pCall,VARIANT_BOOL fSync) = 0; + virtual HRESULT WINAPI Transfer(ITBasicCallControl *pCall,VARIANT_BOOL fSync) = 0; + virtual HRESULT WINAPI BlindTransfer(BSTR pDestAddress) = 0; + virtual HRESULT WINAPI SwapHold(ITBasicCallControl *pCall) = 0; + virtual HRESULT WINAPI ParkDirect(BSTR pParkAddress) = 0; + virtual HRESULT WINAPI ParkIndirect(BSTR *ppNonDirAddress) = 0; + virtual HRESULT WINAPI Unpark(void) = 0; + virtual HRESULT WINAPI SetQOS(__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel) = 0; + virtual HRESULT WINAPI Pickup(BSTR pGroupID) = 0; + virtual HRESULT WINAPI Dial(BSTR pDestAddress) = 0; + virtual HRESULT WINAPI Finish(FINISH_MODE finishMode) = 0; + virtual HRESULT WINAPI RemoveFromConference(void) = 0; + }; +#else + typedef struct ITBasicCallControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITBasicCallControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITBasicCallControl *This); + ULONG (WINAPI *Release)(ITBasicCallControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITBasicCallControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITBasicCallControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITBasicCallControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITBasicCallControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Connect)(ITBasicCallControl *This,VARIANT_BOOL fSync); + HRESULT (WINAPI *Answer)(ITBasicCallControl *This); + HRESULT (WINAPI *Disconnect)(ITBasicCallControl *This,DISCONNECT_CODE code); + HRESULT (WINAPI *Hold)(ITBasicCallControl *This,VARIANT_BOOL fHold); + HRESULT (WINAPI *HandoffDirect)(ITBasicCallControl *This,BSTR pApplicationName); + HRESULT (WINAPI *HandoffIndirect)(ITBasicCallControl *This,__LONG32 lMediaType); + HRESULT (WINAPI *Conference)(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + HRESULT (WINAPI *Transfer)(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + HRESULT (WINAPI *BlindTransfer)(ITBasicCallControl *This,BSTR pDestAddress); + HRESULT (WINAPI *SwapHold)(ITBasicCallControl *This,ITBasicCallControl *pCall); + HRESULT (WINAPI *ParkDirect)(ITBasicCallControl *This,BSTR pParkAddress); + HRESULT (WINAPI *ParkIndirect)(ITBasicCallControl *This,BSTR *ppNonDirAddress); + HRESULT (WINAPI *Unpark)(ITBasicCallControl *This); + HRESULT (WINAPI *SetQOS)(ITBasicCallControl *This,__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel); + HRESULT (WINAPI *Pickup)(ITBasicCallControl *This,BSTR pGroupID); + HRESULT (WINAPI *Dial)(ITBasicCallControl *This,BSTR pDestAddress); + HRESULT (WINAPI *Finish)(ITBasicCallControl *This,FINISH_MODE finishMode); + HRESULT (WINAPI *RemoveFromConference)(ITBasicCallControl *This); + END_INTERFACE + } ITBasicCallControlVtbl; + struct ITBasicCallControl { + CONST_VTBL struct ITBasicCallControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITBasicCallControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITBasicCallControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITBasicCallControl_Release(This) (This)->lpVtbl->Release(This) +#define ITBasicCallControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITBasicCallControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITBasicCallControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITBasicCallControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITBasicCallControl_Connect(This,fSync) (This)->lpVtbl->Connect(This,fSync) +#define ITBasicCallControl_Answer(This) (This)->lpVtbl->Answer(This) +#define ITBasicCallControl_Disconnect(This,code) (This)->lpVtbl->Disconnect(This,code) +#define ITBasicCallControl_Hold(This,fHold) (This)->lpVtbl->Hold(This,fHold) +#define ITBasicCallControl_HandoffDirect(This,pApplicationName) (This)->lpVtbl->HandoffDirect(This,pApplicationName) +#define ITBasicCallControl_HandoffIndirect(This,lMediaType) (This)->lpVtbl->HandoffIndirect(This,lMediaType) +#define ITBasicCallControl_Conference(This,pCall,fSync) (This)->lpVtbl->Conference(This,pCall,fSync) +#define ITBasicCallControl_Transfer(This,pCall,fSync) (This)->lpVtbl->Transfer(This,pCall,fSync) +#define ITBasicCallControl_BlindTransfer(This,pDestAddress) (This)->lpVtbl->BlindTransfer(This,pDestAddress) +#define ITBasicCallControl_SwapHold(This,pCall) (This)->lpVtbl->SwapHold(This,pCall) +#define ITBasicCallControl_ParkDirect(This,pParkAddress) (This)->lpVtbl->ParkDirect(This,pParkAddress) +#define ITBasicCallControl_ParkIndirect(This,ppNonDirAddress) (This)->lpVtbl->ParkIndirect(This,ppNonDirAddress) +#define ITBasicCallControl_Unpark(This) (This)->lpVtbl->Unpark(This) +#define ITBasicCallControl_SetQOS(This,lMediaType,ServiceLevel) (This)->lpVtbl->SetQOS(This,lMediaType,ServiceLevel) +#define ITBasicCallControl_Pickup(This,pGroupID) (This)->lpVtbl->Pickup(This,pGroupID) +#define ITBasicCallControl_Dial(This,pDestAddress) (This)->lpVtbl->Dial(This,pDestAddress) +#define ITBasicCallControl_Finish(This,finishMode) (This)->lpVtbl->Finish(This,finishMode) +#define ITBasicCallControl_RemoveFromConference(This) (This)->lpVtbl->RemoveFromConference(This) +#endif +#endif + HRESULT WINAPI ITBasicCallControl_Connect_Proxy(ITBasicCallControl *This,VARIANT_BOOL fSync); + void __RPC_STUB ITBasicCallControl_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Answer_Proxy(ITBasicCallControl *This); + void __RPC_STUB ITBasicCallControl_Answer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Disconnect_Proxy(ITBasicCallControl *This,DISCONNECT_CODE code); + void __RPC_STUB ITBasicCallControl_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Hold_Proxy(ITBasicCallControl *This,VARIANT_BOOL fHold); + void __RPC_STUB ITBasicCallControl_Hold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_HandoffDirect_Proxy(ITBasicCallControl *This,BSTR pApplicationName); + void __RPC_STUB ITBasicCallControl_HandoffDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_HandoffIndirect_Proxy(ITBasicCallControl *This,__LONG32 lMediaType); + void __RPC_STUB ITBasicCallControl_HandoffIndirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Conference_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + void __RPC_STUB ITBasicCallControl_Conference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Transfer_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + void __RPC_STUB ITBasicCallControl_Transfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_BlindTransfer_Proxy(ITBasicCallControl *This,BSTR pDestAddress); + void __RPC_STUB ITBasicCallControl_BlindTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_SwapHold_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall); + void __RPC_STUB ITBasicCallControl_SwapHold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_ParkDirect_Proxy(ITBasicCallControl *This,BSTR pParkAddress); + void __RPC_STUB ITBasicCallControl_ParkDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_ParkIndirect_Proxy(ITBasicCallControl *This,BSTR *ppNonDirAddress); + void __RPC_STUB ITBasicCallControl_ParkIndirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Unpark_Proxy(ITBasicCallControl *This); + void __RPC_STUB ITBasicCallControl_Unpark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_SetQOS_Proxy(ITBasicCallControl *This,__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel); + void __RPC_STUB ITBasicCallControl_SetQOS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Pickup_Proxy(ITBasicCallControl *This,BSTR pGroupID); + void __RPC_STUB ITBasicCallControl_Pickup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Dial_Proxy(ITBasicCallControl *This,BSTR pDestAddress); + void __RPC_STUB ITBasicCallControl_Dial_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_Finish_Proxy(ITBasicCallControl *This,FINISH_MODE finishMode); + void __RPC_STUB ITBasicCallControl_Finish_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl_RemoveFromConference_Proxy(ITBasicCallControl *This); + void __RPC_STUB ITBasicCallControl_RemoveFromConference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallInfo_INTERFACE_DEFINED__ +#define __ITCallInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallInfo : public IDispatch { + public: + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_CallState(CALL_STATE *pCallState) = 0; + virtual HRESULT WINAPI get_Privilege(CALL_PRIVILEGE *pPrivilege) = 0; + virtual HRESULT WINAPI get_CallHub(ITCallHub **ppCallHub) = 0; + virtual HRESULT WINAPI get_CallInfoLong(CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal) = 0; + virtual HRESULT WINAPI put_CallInfoLong(CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal) = 0; + virtual HRESULT WINAPI get_CallInfoString(CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString) = 0; + virtual HRESULT WINAPI put_CallInfoString(CALLINFO_STRING CallInfoString,BSTR pCallInfoString) = 0; + virtual HRESULT WINAPI get_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer) = 0; + virtual HRESULT WINAPI put_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer) = 0; + virtual HRESULT WINAPI GetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer) = 0; + virtual HRESULT WINAPI SetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer) = 0; + virtual HRESULT WINAPI ReleaseUserUserInfo(void) = 0; + }; +#else + typedef struct ITCallInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallInfo *This); + ULONG (WINAPI *Release)(ITCallInfo *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallInfo *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Address)(ITCallInfo *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_CallState)(ITCallInfo *This,CALL_STATE *pCallState); + HRESULT (WINAPI *get_Privilege)(ITCallInfo *This,CALL_PRIVILEGE *pPrivilege); + HRESULT (WINAPI *get_CallHub)(ITCallInfo *This,ITCallHub **ppCallHub); + HRESULT (WINAPI *get_CallInfoLong)(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal); + HRESULT (WINAPI *put_CallInfoLong)(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal); + HRESULT (WINAPI *get_CallInfoString)(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString); + HRESULT (WINAPI *put_CallInfoString)(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString); + HRESULT (WINAPI *get_CallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer); + HRESULT (WINAPI *put_CallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer); + HRESULT (WINAPI *GetCallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer); + HRESULT (WINAPI *SetCallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer); + HRESULT (WINAPI *ReleaseUserUserInfo)(ITCallInfo *This); + END_INTERFACE + } ITCallInfoVtbl; + struct ITCallInfo { + CONST_VTBL struct ITCallInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallInfo_Release(This) (This)->lpVtbl->Release(This) +#define ITCallInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallInfo_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITCallInfo_get_CallState(This,pCallState) (This)->lpVtbl->get_CallState(This,pCallState) +#define ITCallInfo_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege) +#define ITCallInfo_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub) +#define ITCallInfo_get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) (This)->lpVtbl->get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) +#define ITCallInfo_put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) (This)->lpVtbl->put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) +#define ITCallInfo_get_CallInfoString(This,CallInfoString,ppCallInfoString) (This)->lpVtbl->get_CallInfoString(This,CallInfoString,ppCallInfoString) +#define ITCallInfo_put_CallInfoString(This,CallInfoString,pCallInfoString) (This)->lpVtbl->put_CallInfoString(This,CallInfoString,pCallInfoString) +#define ITCallInfo_get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) (This)->lpVtbl->get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) +#define ITCallInfo_put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) (This)->lpVtbl->put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) +#define ITCallInfo_GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) (This)->lpVtbl->GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) +#define ITCallInfo_SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) (This)->lpVtbl->SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) +#define ITCallInfo_ReleaseUserUserInfo(This) (This)->lpVtbl->ReleaseUserUserInfo(This) +#endif +#endif + HRESULT WINAPI ITCallInfo_get_Address_Proxy(ITCallInfo *This,ITAddress **ppAddress); + void __RPC_STUB ITCallInfo_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_CallState_Proxy(ITCallInfo *This,CALL_STATE *pCallState); + void __RPC_STUB ITCallInfo_get_CallState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_Privilege_Proxy(ITCallInfo *This,CALL_PRIVILEGE *pPrivilege); + void __RPC_STUB ITCallInfo_get_Privilege_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_CallHub_Proxy(ITCallInfo *This,ITCallHub **ppCallHub); + void __RPC_STUB ITCallInfo_get_CallHub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_CallInfoLong_Proxy(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal); + void __RPC_STUB ITCallInfo_get_CallInfoLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_put_CallInfoLong_Proxy(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal); + void __RPC_STUB ITCallInfo_put_CallInfoLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_CallInfoString_Proxy(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString); + void __RPC_STUB ITCallInfo_get_CallInfoString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_put_CallInfoString_Proxy(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString); + void __RPC_STUB ITCallInfo_put_CallInfoString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_get_CallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer); + void __RPC_STUB ITCallInfo_get_CallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_put_CallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer); + void __RPC_STUB ITCallInfo_put_CallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_GetCallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer); + void __RPC_STUB ITCallInfo_GetCallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_SetCallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer); + void __RPC_STUB ITCallInfo_SetCallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo_ReleaseUserUserInfo_Proxy(ITCallInfo *This); + void __RPC_STUB ITCallInfo_ReleaseUserUserInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallInfo2_INTERFACE_DEFINED__ +#define __ITCallInfo2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallInfo2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallInfo2 : public ITCallInfo { + public: + virtual HRESULT WINAPI get_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable) = 0; + virtual HRESULT WINAPI put_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable) = 0; + }; +#else + typedef struct ITCallInfo2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallInfo2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallInfo2 *This); + ULONG (WINAPI *Release)(ITCallInfo2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallInfo2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallInfo2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallInfo2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallInfo2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Address)(ITCallInfo2 *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_CallState)(ITCallInfo2 *This,CALL_STATE *pCallState); + HRESULT (WINAPI *get_Privilege)(ITCallInfo2 *This,CALL_PRIVILEGE *pPrivilege); + HRESULT (WINAPI *get_CallHub)(ITCallInfo2 *This,ITCallHub **ppCallHub); + HRESULT (WINAPI *get_CallInfoLong)(ITCallInfo2 *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal); + HRESULT (WINAPI *put_CallInfoLong)(ITCallInfo2 *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal); + HRESULT (WINAPI *get_CallInfoString)(ITCallInfo2 *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString); + HRESULT (WINAPI *put_CallInfoString)(ITCallInfo2 *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString); + HRESULT (WINAPI *get_CallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer); + HRESULT (WINAPI *put_CallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer); + HRESULT (WINAPI *GetCallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer); + HRESULT (WINAPI *SetCallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer); + HRESULT (WINAPI *ReleaseUserUserInfo)(ITCallInfo2 *This); + HRESULT (WINAPI *get_EventFilter)(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable); + HRESULT (WINAPI *put_EventFilter)(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable); + END_INTERFACE + } ITCallInfo2Vtbl; + struct ITCallInfo2 { + CONST_VTBL struct ITCallInfo2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallInfo2_Release(This) (This)->lpVtbl->Release(This) +#define ITCallInfo2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallInfo2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallInfo2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallInfo2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallInfo2_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITCallInfo2_get_CallState(This,pCallState) (This)->lpVtbl->get_CallState(This,pCallState) +#define ITCallInfo2_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege) +#define ITCallInfo2_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub) +#define ITCallInfo2_get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) (This)->lpVtbl->get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) +#define ITCallInfo2_put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) (This)->lpVtbl->put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) +#define ITCallInfo2_get_CallInfoString(This,CallInfoString,ppCallInfoString) (This)->lpVtbl->get_CallInfoString(This,CallInfoString,ppCallInfoString) +#define ITCallInfo2_put_CallInfoString(This,CallInfoString,pCallInfoString) (This)->lpVtbl->put_CallInfoString(This,CallInfoString,pCallInfoString) +#define ITCallInfo2_get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) (This)->lpVtbl->get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) +#define ITCallInfo2_put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) (This)->lpVtbl->put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) +#define ITCallInfo2_GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) (This)->lpVtbl->GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) +#define ITCallInfo2_SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) (This)->lpVtbl->SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) +#define ITCallInfo2_ReleaseUserUserInfo(This) (This)->lpVtbl->ReleaseUserUserInfo(This) +#define ITCallInfo2_get_EventFilter(This,TapiEvent,lSubEvent,pEnable) (This)->lpVtbl->get_EventFilter(This,TapiEvent,lSubEvent,pEnable) +#define ITCallInfo2_put_EventFilter(This,TapiEvent,lSubEvent,bEnable) (This)->lpVtbl->put_EventFilter(This,TapiEvent,lSubEvent,bEnable) +#endif +#endif + HRESULT WINAPI ITCallInfo2_get_EventFilter_Proxy(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable); + void __RPC_STUB ITCallInfo2_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfo2_put_EventFilter_Proxy(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable); + void __RPC_STUB ITCallInfo2_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTerminal_INTERFACE_DEFINED__ +#define __ITTerminal_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTerminal; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminal : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI get_State(TERMINAL_STATE *pTerminalState) = 0; + virtual HRESULT WINAPI get_TerminalType(TERMINAL_TYPE *pType) = 0; + virtual HRESULT WINAPI get_TerminalClass(BSTR *ppTerminalClass) = 0; + virtual HRESULT WINAPI get_MediaType(__LONG32 *plMediaType) = 0; + virtual HRESULT WINAPI get_Direction(TERMINAL_DIRECTION *pDirection) = 0; + }; +#else + typedef struct ITTerminalVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminal *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminal *This); + ULONG (WINAPI *Release)(ITTerminal *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTerminal *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITTerminal *This,BSTR *ppName); + HRESULT (WINAPI *get_State)(ITTerminal *This,TERMINAL_STATE *pTerminalState); + HRESULT (WINAPI *get_TerminalType)(ITTerminal *This,TERMINAL_TYPE *pType); + HRESULT (WINAPI *get_TerminalClass)(ITTerminal *This,BSTR *ppTerminalClass); + HRESULT (WINAPI *get_MediaType)(ITTerminal *This,__LONG32 *plMediaType); + HRESULT (WINAPI *get_Direction)(ITTerminal *This,TERMINAL_DIRECTION *pDirection); + END_INTERFACE + } ITTerminalVtbl; + struct ITTerminal { + CONST_VTBL struct ITTerminalVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminal_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTerminal_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITTerminal_get_State(This,pTerminalState) (This)->lpVtbl->get_State(This,pTerminalState) +#define ITTerminal_get_TerminalType(This,pType) (This)->lpVtbl->get_TerminalType(This,pType) +#define ITTerminal_get_TerminalClass(This,ppTerminalClass) (This)->lpVtbl->get_TerminalClass(This,ppTerminalClass) +#define ITTerminal_get_MediaType(This,plMediaType) (This)->lpVtbl->get_MediaType(This,plMediaType) +#define ITTerminal_get_Direction(This,pDirection) (This)->lpVtbl->get_Direction(This,pDirection) +#endif +#endif + HRESULT WINAPI ITTerminal_get_Name_Proxy(ITTerminal *This,BSTR *ppName); + void __RPC_STUB ITTerminal_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminal_get_State_Proxy(ITTerminal *This,TERMINAL_STATE *pTerminalState); + void __RPC_STUB ITTerminal_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminal_get_TerminalType_Proxy(ITTerminal *This,TERMINAL_TYPE *pType); + void __RPC_STUB ITTerminal_get_TerminalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminal_get_TerminalClass_Proxy(ITTerminal *This,BSTR *ppTerminalClass); + void __RPC_STUB ITTerminal_get_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminal_get_MediaType_Proxy(ITTerminal *This,__LONG32 *plMediaType); + void __RPC_STUB ITTerminal_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminal_get_Direction_Proxy(ITTerminal *This,TERMINAL_DIRECTION *pDirection); + void __RPC_STUB ITTerminal_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMultiTrackTerminal_INTERFACE_DEFINED__ +#define __ITMultiTrackTerminal_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMultiTrackTerminal; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMultiTrackTerminal : public IDispatch { + public: + virtual HRESULT WINAPI get_TrackTerminals(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateTrackTerminals(IEnumTerminal **ppEnumTerminal) = 0; + virtual HRESULT WINAPI CreateTrackTerminal(__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_MediaTypesInUse(__LONG32 *plMediaTypesInUse) = 0; + virtual HRESULT WINAPI get_DirectionsInUse(TERMINAL_DIRECTION *plDirectionsInUsed) = 0; + virtual HRESULT WINAPI RemoveTrackTerminal(ITTerminal *pTrackTerminalToRemove) = 0; + }; +#else + typedef struct ITMultiTrackTerminalVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMultiTrackTerminal *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMultiTrackTerminal *This); + ULONG (WINAPI *Release)(ITMultiTrackTerminal *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITMultiTrackTerminal *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITMultiTrackTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITMultiTrackTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITMultiTrackTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_TrackTerminals)(ITMultiTrackTerminal *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateTrackTerminals)(ITMultiTrackTerminal *This,IEnumTerminal **ppEnumTerminal); + HRESULT (WINAPI *CreateTrackTerminal)(ITMultiTrackTerminal *This,__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_MediaTypesInUse)(ITMultiTrackTerminal *This,__LONG32 *plMediaTypesInUse); + HRESULT (WINAPI *get_DirectionsInUse)(ITMultiTrackTerminal *This,TERMINAL_DIRECTION *plDirectionsInUsed); + HRESULT (WINAPI *RemoveTrackTerminal)(ITMultiTrackTerminal *This,ITTerminal *pTrackTerminalToRemove); + END_INTERFACE + } ITMultiTrackTerminalVtbl; + struct ITMultiTrackTerminal { + CONST_VTBL struct ITMultiTrackTerminalVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMultiTrackTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMultiTrackTerminal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMultiTrackTerminal_Release(This) (This)->lpVtbl->Release(This) +#define ITMultiTrackTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITMultiTrackTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITMultiTrackTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITMultiTrackTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITMultiTrackTerminal_get_TrackTerminals(This,pVariant) (This)->lpVtbl->get_TrackTerminals(This,pVariant) +#define ITMultiTrackTerminal_EnumerateTrackTerminals(This,ppEnumTerminal) (This)->lpVtbl->EnumerateTrackTerminals(This,ppEnumTerminal) +#define ITMultiTrackTerminal_CreateTrackTerminal(This,MediaType,TerminalDirection,ppTerminal) (This)->lpVtbl->CreateTrackTerminal(This,MediaType,TerminalDirection,ppTerminal) +#define ITMultiTrackTerminal_get_MediaTypesInUse(This,plMediaTypesInUse) (This)->lpVtbl->get_MediaTypesInUse(This,plMediaTypesInUse) +#define ITMultiTrackTerminal_get_DirectionsInUse(This,plDirectionsInUsed) (This)->lpVtbl->get_DirectionsInUse(This,plDirectionsInUsed) +#define ITMultiTrackTerminal_RemoveTrackTerminal(This,pTrackTerminalToRemove) (This)->lpVtbl->RemoveTrackTerminal(This,pTrackTerminalToRemove) +#endif +#endif + HRESULT WINAPI ITMultiTrackTerminal_get_TrackTerminals_Proxy(ITMultiTrackTerminal *This,VARIANT *pVariant); + void __RPC_STUB ITMultiTrackTerminal_get_TrackTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMultiTrackTerminal_EnumerateTrackTerminals_Proxy(ITMultiTrackTerminal *This,IEnumTerminal **ppEnumTerminal); + void __RPC_STUB ITMultiTrackTerminal_EnumerateTrackTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMultiTrackTerminal_CreateTrackTerminal_Proxy(ITMultiTrackTerminal *This,__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal); + void __RPC_STUB ITMultiTrackTerminal_CreateTrackTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMultiTrackTerminal_get_MediaTypesInUse_Proxy(ITMultiTrackTerminal *This,__LONG32 *plMediaTypesInUse); + void __RPC_STUB ITMultiTrackTerminal_get_MediaTypesInUse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMultiTrackTerminal_get_DirectionsInUse_Proxy(ITMultiTrackTerminal *This,TERMINAL_DIRECTION *plDirectionsInUsed); + void __RPC_STUB ITMultiTrackTerminal_get_DirectionsInUse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMultiTrackTerminal_RemoveTrackTerminal_Proxy(ITMultiTrackTerminal *This,ITTerminal *pTrackTerminalToRemove); + void __RPC_STUB ITMultiTrackTerminal_RemoveTrackTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + typedef enum TERMINAL_MEDIA_STATE { + TMS_IDLE = 0, + TMS_ACTIVE,TMS_PAUSED, + TMS_LASTITEM = TMS_PAUSED + } TERMINAL_MEDIA_STATE; + + typedef enum FT_STATE_EVENT_CAUSE { + FTEC_NORMAL = 0, + FTEC_END_OF_FILE,FTEC_READ_ERROR,FTEC_WRITE_ERROR + } FT_STATE_EVENT_CAUSE; + + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0433_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0433_v0_0_s_ifspec; +#ifndef __ITFileTrack_INTERFACE_DEFINED__ +#define __ITFileTrack_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITFileTrack; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITFileTrack : public IDispatch { + public: + virtual HRESULT WINAPI get_Format(AM_MEDIA_TYPE **ppmt) = 0; + virtual HRESULT WINAPI put_Format(const AM_MEDIA_TYPE *pmt) = 0; + virtual HRESULT WINAPI get_ControllingTerminal(ITTerminal **ppControllingTerminal) = 0; + virtual HRESULT WINAPI get_AudioFormatForScripting(ITScriptableAudioFormat **ppAudioFormat) = 0; + virtual HRESULT WINAPI put_AudioFormatForScripting(ITScriptableAudioFormat *pAudioFormat) = 0; + virtual HRESULT WINAPI get_EmptyAudioFormatForScripting(ITScriptableAudioFormat **ppAudioFormat) = 0; + }; +#else + typedef struct ITFileTrackVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITFileTrack *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITFileTrack *This); + ULONG (WINAPI *Release)(ITFileTrack *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITFileTrack *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITFileTrack *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITFileTrack *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITFileTrack *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Format)(ITFileTrack *This,AM_MEDIA_TYPE **ppmt); + HRESULT (WINAPI *put_Format)(ITFileTrack *This,const AM_MEDIA_TYPE *pmt); + HRESULT (WINAPI *get_ControllingTerminal)(ITFileTrack *This,ITTerminal **ppControllingTerminal); + HRESULT (WINAPI *get_AudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat); + HRESULT (WINAPI *put_AudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat *pAudioFormat); + HRESULT (WINAPI *get_EmptyAudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat); + END_INTERFACE + } ITFileTrackVtbl; + struct ITFileTrack { + CONST_VTBL struct ITFileTrackVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITFileTrack_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITFileTrack_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITFileTrack_Release(This) (This)->lpVtbl->Release(This) +#define ITFileTrack_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITFileTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITFileTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITFileTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITFileTrack_get_Format(This,ppmt) (This)->lpVtbl->get_Format(This,ppmt) +#define ITFileTrack_put_Format(This,pmt) (This)->lpVtbl->put_Format(This,pmt) +#define ITFileTrack_get_ControllingTerminal(This,ppControllingTerminal) (This)->lpVtbl->get_ControllingTerminal(This,ppControllingTerminal) +#define ITFileTrack_get_AudioFormatForScripting(This,ppAudioFormat) (This)->lpVtbl->get_AudioFormatForScripting(This,ppAudioFormat) +#define ITFileTrack_put_AudioFormatForScripting(This,pAudioFormat) (This)->lpVtbl->put_AudioFormatForScripting(This,pAudioFormat) +#define ITFileTrack_get_EmptyAudioFormatForScripting(This,ppAudioFormat) (This)->lpVtbl->get_EmptyAudioFormatForScripting(This,ppAudioFormat) +#endif +#endif + HRESULT WINAPI ITFileTrack_get_Format_Proxy(ITFileTrack *This,AM_MEDIA_TYPE **ppmt); + void __RPC_STUB ITFileTrack_get_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTrack_put_Format_Proxy(ITFileTrack *This,const AM_MEDIA_TYPE *pmt); + void __RPC_STUB ITFileTrack_put_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTrack_get_ControllingTerminal_Proxy(ITFileTrack *This,ITTerminal **ppControllingTerminal); + void __RPC_STUB ITFileTrack_get_ControllingTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTrack_get_AudioFormatForScripting_Proxy(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat); + void __RPC_STUB ITFileTrack_get_AudioFormatForScripting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTrack_put_AudioFormatForScripting_Proxy(ITFileTrack *This,ITScriptableAudioFormat *pAudioFormat); + void __RPC_STUB ITFileTrack_put_AudioFormatForScripting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTrack_get_EmptyAudioFormatForScripting_Proxy(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat); + void __RPC_STUB ITFileTrack_get_EmptyAudioFormatForScripting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMediaPlayback_INTERFACE_DEFINED__ +#define __ITMediaPlayback_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMediaPlayback; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMediaPlayback : public IDispatch { + public: + virtual HRESULT WINAPI put_PlayList(VARIANTARG PlayListVariant) = 0; + virtual HRESULT WINAPI get_PlayList(VARIANTARG *pPlayListVariant) = 0; + }; +#else + typedef struct ITMediaPlaybackVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMediaPlayback *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMediaPlayback *This); + ULONG (WINAPI *Release)(ITMediaPlayback *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITMediaPlayback *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITMediaPlayback *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITMediaPlayback *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITMediaPlayback *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_PlayList)(ITMediaPlayback *This,VARIANTARG PlayListVariant); + HRESULT (WINAPI *get_PlayList)(ITMediaPlayback *This,VARIANTARG *pPlayListVariant); + END_INTERFACE + } ITMediaPlaybackVtbl; + struct ITMediaPlayback { + CONST_VTBL struct ITMediaPlaybackVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMediaPlayback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMediaPlayback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMediaPlayback_Release(This) (This)->lpVtbl->Release(This) +#define ITMediaPlayback_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITMediaPlayback_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITMediaPlayback_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITMediaPlayback_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITMediaPlayback_put_PlayList(This,PlayListVariant) (This)->lpVtbl->put_PlayList(This,PlayListVariant) +#define ITMediaPlayback_get_PlayList(This,pPlayListVariant) (This)->lpVtbl->get_PlayList(This,pPlayListVariant) +#endif +#endif + HRESULT WINAPI ITMediaPlayback_put_PlayList_Proxy(ITMediaPlayback *This,VARIANTARG PlayListVariant); + void __RPC_STUB ITMediaPlayback_put_PlayList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaPlayback_get_PlayList_Proxy(ITMediaPlayback *This,VARIANTARG *pPlayListVariant); + void __RPC_STUB ITMediaPlayback_get_PlayList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMediaRecord_INTERFACE_DEFINED__ +#define __ITMediaRecord_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMediaRecord; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMediaRecord : public IDispatch { + public: + virtual HRESULT WINAPI put_FileName(BSTR bstrFileName) = 0; + virtual HRESULT WINAPI get_FileName(BSTR *pbstrFileName) = 0; + }; +#else + typedef struct ITMediaRecordVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMediaRecord *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMediaRecord *This); + ULONG (WINAPI *Release)(ITMediaRecord *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITMediaRecord *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITMediaRecord *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITMediaRecord *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITMediaRecord *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_FileName)(ITMediaRecord *This,BSTR bstrFileName); + HRESULT (WINAPI *get_FileName)(ITMediaRecord *This,BSTR *pbstrFileName); + END_INTERFACE + } ITMediaRecordVtbl; + struct ITMediaRecord { + CONST_VTBL struct ITMediaRecordVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMediaRecord_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMediaRecord_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMediaRecord_Release(This) (This)->lpVtbl->Release(This) +#define ITMediaRecord_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITMediaRecord_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITMediaRecord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITMediaRecord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITMediaRecord_put_FileName(This,bstrFileName) (This)->lpVtbl->put_FileName(This,bstrFileName) +#define ITMediaRecord_get_FileName(This,pbstrFileName) (This)->lpVtbl->get_FileName(This,pbstrFileName) +#endif +#endif + HRESULT WINAPI ITMediaRecord_put_FileName_Proxy(ITMediaRecord *This,BSTR bstrFileName); + void __RPC_STUB ITMediaRecord_put_FileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaRecord_get_FileName_Proxy(ITMediaRecord *This,BSTR *pbstrFileName); + void __RPC_STUB ITMediaRecord_get_FileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITMediaControl_INTERFACE_DEFINED__ +#define __ITMediaControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITMediaControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITMediaControl : public IDispatch { + public: + virtual HRESULT WINAPI Start(void) = 0; + virtual HRESULT WINAPI Stop(void) = 0; + virtual HRESULT WINAPI Pause(void) = 0; + virtual HRESULT WINAPI get_MediaState(TERMINAL_MEDIA_STATE *pTerminalMediaState) = 0; + }; +#else + typedef struct ITMediaControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITMediaControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITMediaControl *This); + ULONG (WINAPI *Release)(ITMediaControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITMediaControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITMediaControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITMediaControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITMediaControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Start)(ITMediaControl *This); + HRESULT (WINAPI *Stop)(ITMediaControl *This); + HRESULT (WINAPI *Pause)(ITMediaControl *This); + HRESULT (WINAPI *get_MediaState)(ITMediaControl *This,TERMINAL_MEDIA_STATE *pTerminalMediaState); + END_INTERFACE + } ITMediaControlVtbl; + struct ITMediaControl { + CONST_VTBL struct ITMediaControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITMediaControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITMediaControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITMediaControl_Release(This) (This)->lpVtbl->Release(This) +#define ITMediaControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITMediaControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITMediaControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITMediaControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITMediaControl_Start(This) (This)->lpVtbl->Start(This) +#define ITMediaControl_Stop(This) (This)->lpVtbl->Stop(This) +#define ITMediaControl_Pause(This) (This)->lpVtbl->Pause(This) +#define ITMediaControl_get_MediaState(This,pTerminalMediaState) (This)->lpVtbl->get_MediaState(This,pTerminalMediaState) +#endif +#endif + HRESULT WINAPI ITMediaControl_Start_Proxy(ITMediaControl *This); + void __RPC_STUB ITMediaControl_Start_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaControl_Stop_Proxy(ITMediaControl *This); + void __RPC_STUB ITMediaControl_Stop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaControl_Pause_Proxy(ITMediaControl *This); + void __RPC_STUB ITMediaControl_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITMediaControl_get_MediaState_Proxy(ITMediaControl *This,TERMINAL_MEDIA_STATE *pTerminalMediaState); + void __RPC_STUB ITMediaControl_get_MediaState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITBasicAudioTerminal_INTERFACE_DEFINED__ +#define __ITBasicAudioTerminal_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITBasicAudioTerminal; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITBasicAudioTerminal : public IDispatch { + public: + virtual HRESULT WINAPI put_Volume(__LONG32 lVolume) = 0; + virtual HRESULT WINAPI get_Volume(__LONG32 *plVolume) = 0; + virtual HRESULT WINAPI put_Balance(__LONG32 lBalance) = 0; + virtual HRESULT WINAPI get_Balance(__LONG32 *plBalance) = 0; + }; +#else + typedef struct ITBasicAudioTerminalVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITBasicAudioTerminal *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITBasicAudioTerminal *This); + ULONG (WINAPI *Release)(ITBasicAudioTerminal *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITBasicAudioTerminal *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITBasicAudioTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITBasicAudioTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITBasicAudioTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_Volume)(ITBasicAudioTerminal *This,__LONG32 lVolume); + HRESULT (WINAPI *get_Volume)(ITBasicAudioTerminal *This,__LONG32 *plVolume); + HRESULT (WINAPI *put_Balance)(ITBasicAudioTerminal *This,__LONG32 lBalance); + HRESULT (WINAPI *get_Balance)(ITBasicAudioTerminal *This,__LONG32 *plBalance); + END_INTERFACE + } ITBasicAudioTerminalVtbl; + struct ITBasicAudioTerminal { + CONST_VTBL struct ITBasicAudioTerminalVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITBasicAudioTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITBasicAudioTerminal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITBasicAudioTerminal_Release(This) (This)->lpVtbl->Release(This) +#define ITBasicAudioTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITBasicAudioTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITBasicAudioTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITBasicAudioTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITBasicAudioTerminal_put_Volume(This,lVolume) (This)->lpVtbl->put_Volume(This,lVolume) +#define ITBasicAudioTerminal_get_Volume(This,plVolume) (This)->lpVtbl->get_Volume(This,plVolume) +#define ITBasicAudioTerminal_put_Balance(This,lBalance) (This)->lpVtbl->put_Balance(This,lBalance) +#define ITBasicAudioTerminal_get_Balance(This,plBalance) (This)->lpVtbl->get_Balance(This,plBalance) +#endif +#endif + HRESULT WINAPI ITBasicAudioTerminal_put_Volume_Proxy(ITBasicAudioTerminal *This,__LONG32 lVolume); + void __RPC_STUB ITBasicAudioTerminal_put_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicAudioTerminal_get_Volume_Proxy(ITBasicAudioTerminal *This,__LONG32 *plVolume); + void __RPC_STUB ITBasicAudioTerminal_get_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicAudioTerminal_put_Balance_Proxy(ITBasicAudioTerminal *This,__LONG32 lBalance); + void __RPC_STUB ITBasicAudioTerminal_put_Balance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicAudioTerminal_get_Balance_Proxy(ITBasicAudioTerminal *This,__LONG32 *plBalance); + void __RPC_STUB ITBasicAudioTerminal_get_Balance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITStaticAudioTerminal_INTERFACE_DEFINED__ +#define __ITStaticAudioTerminal_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITStaticAudioTerminal; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITStaticAudioTerminal : public IDispatch { + public: + virtual HRESULT WINAPI get_WaveId(__LONG32 *plWaveId) = 0; + }; +#else + typedef struct ITStaticAudioTerminalVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITStaticAudioTerminal *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITStaticAudioTerminal *This); + ULONG (WINAPI *Release)(ITStaticAudioTerminal *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITStaticAudioTerminal *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITStaticAudioTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITStaticAudioTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITStaticAudioTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_WaveId)(ITStaticAudioTerminal *This,__LONG32 *plWaveId); + END_INTERFACE + } ITStaticAudioTerminalVtbl; + struct ITStaticAudioTerminal { + CONST_VTBL struct ITStaticAudioTerminalVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITStaticAudioTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITStaticAudioTerminal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITStaticAudioTerminal_Release(This) (This)->lpVtbl->Release(This) +#define ITStaticAudioTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITStaticAudioTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITStaticAudioTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITStaticAudioTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITStaticAudioTerminal_get_WaveId(This,plWaveId) (This)->lpVtbl->get_WaveId(This,plWaveId) +#endif +#endif + HRESULT WINAPI ITStaticAudioTerminal_get_WaveId_Proxy(ITStaticAudioTerminal *This,__LONG32 *plWaveId); + void __RPC_STUB ITStaticAudioTerminal_get_WaveId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallHub_INTERFACE_DEFINED__ +#define __ITCallHub_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallHub; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallHub : public IDispatch { + public: + virtual HRESULT WINAPI Clear(void) = 0; + virtual HRESULT WINAPI EnumerateCalls(IEnumCall **ppEnumCall) = 0; + virtual HRESULT WINAPI get_Calls(VARIANT *pCalls) = 0; + virtual HRESULT WINAPI get_NumCalls(__LONG32 *plCalls) = 0; + virtual HRESULT WINAPI get_State(CALLHUB_STATE *pState) = 0; + }; +#else + typedef struct ITCallHubVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallHub *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallHub *This); + ULONG (WINAPI *Release)(ITCallHub *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallHub *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallHub *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallHub *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallHub *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Clear)(ITCallHub *This); + HRESULT (WINAPI *EnumerateCalls)(ITCallHub *This,IEnumCall **ppEnumCall); + HRESULT (WINAPI *get_Calls)(ITCallHub *This,VARIANT *pCalls); + HRESULT (WINAPI *get_NumCalls)(ITCallHub *This,__LONG32 *plCalls); + HRESULT (WINAPI *get_State)(ITCallHub *This,CALLHUB_STATE *pState); + END_INTERFACE + } ITCallHubVtbl; + struct ITCallHub { + CONST_VTBL struct ITCallHubVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallHub_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallHub_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallHub_Release(This) (This)->lpVtbl->Release(This) +#define ITCallHub_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallHub_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallHub_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallHub_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallHub_Clear(This) (This)->lpVtbl->Clear(This) +#define ITCallHub_EnumerateCalls(This,ppEnumCall) (This)->lpVtbl->EnumerateCalls(This,ppEnumCall) +#define ITCallHub_get_Calls(This,pCalls) (This)->lpVtbl->get_Calls(This,pCalls) +#define ITCallHub_get_NumCalls(This,plCalls) (This)->lpVtbl->get_NumCalls(This,plCalls) +#define ITCallHub_get_State(This,pState) (This)->lpVtbl->get_State(This,pState) +#endif +#endif + HRESULT WINAPI ITCallHub_Clear_Proxy(ITCallHub *This); + void __RPC_STUB ITCallHub_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHub_EnumerateCalls_Proxy(ITCallHub *This,IEnumCall **ppEnumCall); + void __RPC_STUB ITCallHub_EnumerateCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHub_get_Calls_Proxy(ITCallHub *This,VARIANT *pCalls); + void __RPC_STUB ITCallHub_get_Calls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHub_get_NumCalls_Proxy(ITCallHub *This,__LONG32 *plCalls); + void __RPC_STUB ITCallHub_get_NumCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHub_get_State_Proxy(ITCallHub *This,CALLHUB_STATE *pState); + void __RPC_STUB ITCallHub_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLegacyAddressMediaControl_INTERFACE_DEFINED__ +#define __ITLegacyAddressMediaControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLegacyAddressMediaControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLegacyAddressMediaControl : public IUnknown { + public: + virtual HRESULT WINAPI GetID(BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID) = 0; + virtual HRESULT WINAPI GetDevConfig(BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceConfig) = 0; + virtual HRESULT WINAPI SetDevConfig(BSTR pDeviceClass,DWORD dwSize,BYTE *pDeviceConfig) = 0; + }; +#else + typedef struct ITLegacyAddressMediaControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLegacyAddressMediaControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLegacyAddressMediaControl *This); + ULONG (WINAPI *Release)(ITLegacyAddressMediaControl *This); + HRESULT (WINAPI *GetID)(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + HRESULT (WINAPI *GetDevConfig)(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceConfig); + HRESULT (WINAPI *SetDevConfig)(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD dwSize,BYTE *pDeviceConfig); + END_INTERFACE + } ITLegacyAddressMediaControlVtbl; + struct ITLegacyAddressMediaControl { + CONST_VTBL struct ITLegacyAddressMediaControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLegacyAddressMediaControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLegacyAddressMediaControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLegacyAddressMediaControl_Release(This) (This)->lpVtbl->Release(This) +#define ITLegacyAddressMediaControl_GetID(This,pDeviceClass,pdwSize,ppDeviceID) (This)->lpVtbl->GetID(This,pDeviceClass,pdwSize,ppDeviceID) +#define ITLegacyAddressMediaControl_GetDevConfig(This,pDeviceClass,pdwSize,ppDeviceConfig) (This)->lpVtbl->GetDevConfig(This,pDeviceClass,pdwSize,ppDeviceConfig) +#define ITLegacyAddressMediaControl_SetDevConfig(This,pDeviceClass,dwSize,pDeviceConfig) (This)->lpVtbl->SetDevConfig(This,pDeviceClass,dwSize,pDeviceConfig) +#endif +#endif + HRESULT WINAPI ITLegacyAddressMediaControl_GetID_Proxy(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + void __RPC_STUB ITLegacyAddressMediaControl_GetID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyAddressMediaControl_GetDevConfig_Proxy(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceConfig); + void __RPC_STUB ITLegacyAddressMediaControl_GetDevConfig_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyAddressMediaControl_SetDevConfig_Proxy(ITLegacyAddressMediaControl *This,BSTR pDeviceClass,DWORD dwSize,BYTE *pDeviceConfig); + void __RPC_STUB ITLegacyAddressMediaControl_SetDevConfig_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPrivateEvent_INTERFACE_DEFINED__ +#define __ITPrivateEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPrivateEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPrivateEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_CallHub(ITCallHub **ppCallHub) = 0; + virtual HRESULT WINAPI get_EventCode(__LONG32 *plEventCode) = 0; + virtual HRESULT WINAPI get_EventInterface(IDispatch **pEventInterface) = 0; + }; +#else + typedef struct ITPrivateEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPrivateEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPrivateEvent *This); + ULONG (WINAPI *Release)(ITPrivateEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPrivateEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPrivateEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPrivateEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPrivateEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Address)(ITPrivateEvent *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_Call)(ITPrivateEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_CallHub)(ITPrivateEvent *This,ITCallHub **ppCallHub); + HRESULT (WINAPI *get_EventCode)(ITPrivateEvent *This,__LONG32 *plEventCode); + HRESULT (WINAPI *get_EventInterface)(ITPrivateEvent *This,IDispatch **pEventInterface); + END_INTERFACE + } ITPrivateEventVtbl; + struct ITPrivateEvent { + CONST_VTBL struct ITPrivateEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPrivateEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPrivateEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPrivateEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITPrivateEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPrivateEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPrivateEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPrivateEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPrivateEvent_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITPrivateEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITPrivateEvent_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub) +#define ITPrivateEvent_get_EventCode(This,plEventCode) (This)->lpVtbl->get_EventCode(This,plEventCode) +#define ITPrivateEvent_get_EventInterface(This,pEventInterface) (This)->lpVtbl->get_EventInterface(This,pEventInterface) +#endif +#endif + HRESULT WINAPI ITPrivateEvent_get_Address_Proxy(ITPrivateEvent *This,ITAddress **ppAddress); + void __RPC_STUB ITPrivateEvent_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPrivateEvent_get_Call_Proxy(ITPrivateEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITPrivateEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPrivateEvent_get_CallHub_Proxy(ITPrivateEvent *This,ITCallHub **ppCallHub); + void __RPC_STUB ITPrivateEvent_get_CallHub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPrivateEvent_get_EventCode_Proxy(ITPrivateEvent *This,__LONG32 *plEventCode); + void __RPC_STUB ITPrivateEvent_get_EventCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPrivateEvent_get_EventInterface_Proxy(ITPrivateEvent *This,IDispatch **pEventInterface); + void __RPC_STUB ITPrivateEvent_get_EventInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLegacyAddressMediaControl2_INTERFACE_DEFINED__ +#define __ITLegacyAddressMediaControl2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLegacyAddressMediaControl2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLegacyAddressMediaControl2 : public ITLegacyAddressMediaControl { + public: + virtual HRESULT WINAPI ConfigDialog(HWND hwndOwner,BSTR pDeviceClass) = 0; + virtual HRESULT WINAPI ConfigDialogEdit(HWND hwndOwner,BSTR pDeviceClass,DWORD dwSizeIn,BYTE *pDeviceConfigIn,DWORD *pdwSizeOut,BYTE **ppDeviceConfigOut) = 0; + }; +#else + typedef struct ITLegacyAddressMediaControl2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLegacyAddressMediaControl2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLegacyAddressMediaControl2 *This); + ULONG (WINAPI *Release)(ITLegacyAddressMediaControl2 *This); + HRESULT (WINAPI *GetID)(ITLegacyAddressMediaControl2 *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + HRESULT (WINAPI *GetDevConfig)(ITLegacyAddressMediaControl2 *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceConfig); + HRESULT (WINAPI *SetDevConfig)(ITLegacyAddressMediaControl2 *This,BSTR pDeviceClass,DWORD dwSize,BYTE *pDeviceConfig); + HRESULT (WINAPI *ConfigDialog)(ITLegacyAddressMediaControl2 *This,HWND hwndOwner,BSTR pDeviceClass); + HRESULT (WINAPI *ConfigDialogEdit)(ITLegacyAddressMediaControl2 *This,HWND hwndOwner,BSTR pDeviceClass,DWORD dwSizeIn,BYTE *pDeviceConfigIn,DWORD *pdwSizeOut,BYTE **ppDeviceConfigOut); + END_INTERFACE + } ITLegacyAddressMediaControl2Vtbl; + struct ITLegacyAddressMediaControl2 { + CONST_VTBL struct ITLegacyAddressMediaControl2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLegacyAddressMediaControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLegacyAddressMediaControl2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLegacyAddressMediaControl2_Release(This) (This)->lpVtbl->Release(This) +#define ITLegacyAddressMediaControl2_GetID(This,pDeviceClass,pdwSize,ppDeviceID) (This)->lpVtbl->GetID(This,pDeviceClass,pdwSize,ppDeviceID) +#define ITLegacyAddressMediaControl2_GetDevConfig(This,pDeviceClass,pdwSize,ppDeviceConfig) (This)->lpVtbl->GetDevConfig(This,pDeviceClass,pdwSize,ppDeviceConfig) +#define ITLegacyAddressMediaControl2_SetDevConfig(This,pDeviceClass,dwSize,pDeviceConfig) (This)->lpVtbl->SetDevConfig(This,pDeviceClass,dwSize,pDeviceConfig) +#define ITLegacyAddressMediaControl2_ConfigDialog(This,hwndOwner,pDeviceClass) (This)->lpVtbl->ConfigDialog(This,hwndOwner,pDeviceClass) +#define ITLegacyAddressMediaControl2_ConfigDialogEdit(This,hwndOwner,pDeviceClass,dwSizeIn,pDeviceConfigIn,pdwSizeOut,ppDeviceConfigOut) (This)->lpVtbl->ConfigDialogEdit(This,hwndOwner,pDeviceClass,dwSizeIn,pDeviceConfigIn,pdwSizeOut,ppDeviceConfigOut) +#endif +#endif + HRESULT WINAPI ITLegacyAddressMediaControl2_ConfigDialog_Proxy(ITLegacyAddressMediaControl2 *This,HWND hwndOwner,BSTR pDeviceClass); + void __RPC_STUB ITLegacyAddressMediaControl2_ConfigDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyAddressMediaControl2_ConfigDialogEdit_Proxy(ITLegacyAddressMediaControl2 *This,HWND hwndOwner,BSTR pDeviceClass,DWORD dwSizeIn,BYTE *pDeviceConfigIn,DWORD *pdwSizeOut,BYTE **ppDeviceConfigOut); + void __RPC_STUB ITLegacyAddressMediaControl2_ConfigDialogEdit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLegacyCallMediaControl_INTERFACE_DEFINED__ +#define __ITLegacyCallMediaControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLegacyCallMediaControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLegacyCallMediaControl : public IDispatch { + public: + virtual HRESULT WINAPI DetectDigits(TAPI_DIGITMODE DigitMode) = 0; + virtual HRESULT WINAPI GenerateDigits(BSTR pDigits,TAPI_DIGITMODE DigitMode) = 0; + virtual HRESULT WINAPI GetID(BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID) = 0; + virtual HRESULT WINAPI SetMediaType(__LONG32 lMediaType) = 0; + virtual HRESULT WINAPI MonitorMedia(__LONG32 lMediaType) = 0; + }; +#else + typedef struct ITLegacyCallMediaControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLegacyCallMediaControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLegacyCallMediaControl *This); + ULONG (WINAPI *Release)(ITLegacyCallMediaControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITLegacyCallMediaControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITLegacyCallMediaControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITLegacyCallMediaControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITLegacyCallMediaControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *DetectDigits)(ITLegacyCallMediaControl *This,TAPI_DIGITMODE DigitMode); + HRESULT (WINAPI *GenerateDigits)(ITLegacyCallMediaControl *This,BSTR pDigits,TAPI_DIGITMODE DigitMode); + HRESULT (WINAPI *GetID)(ITLegacyCallMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + HRESULT (WINAPI *SetMediaType)(ITLegacyCallMediaControl *This,__LONG32 lMediaType); + HRESULT (WINAPI *MonitorMedia)(ITLegacyCallMediaControl *This,__LONG32 lMediaType); + END_INTERFACE + } ITLegacyCallMediaControlVtbl; + struct ITLegacyCallMediaControl { + CONST_VTBL struct ITLegacyCallMediaControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLegacyCallMediaControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLegacyCallMediaControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLegacyCallMediaControl_Release(This) (This)->lpVtbl->Release(This) +#define ITLegacyCallMediaControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITLegacyCallMediaControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITLegacyCallMediaControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITLegacyCallMediaControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITLegacyCallMediaControl_DetectDigits(This,DigitMode) (This)->lpVtbl->DetectDigits(This,DigitMode) +#define ITLegacyCallMediaControl_GenerateDigits(This,pDigits,DigitMode) (This)->lpVtbl->GenerateDigits(This,pDigits,DigitMode) +#define ITLegacyCallMediaControl_GetID(This,pDeviceClass,pdwSize,ppDeviceID) (This)->lpVtbl->GetID(This,pDeviceClass,pdwSize,ppDeviceID) +#define ITLegacyCallMediaControl_SetMediaType(This,lMediaType) (This)->lpVtbl->SetMediaType(This,lMediaType) +#define ITLegacyCallMediaControl_MonitorMedia(This,lMediaType) (This)->lpVtbl->MonitorMedia(This,lMediaType) +#endif +#endif + HRESULT WINAPI ITLegacyCallMediaControl_DetectDigits_Proxy(ITLegacyCallMediaControl *This,TAPI_DIGITMODE DigitMode); + void __RPC_STUB ITLegacyCallMediaControl_DetectDigits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl_GenerateDigits_Proxy(ITLegacyCallMediaControl *This,BSTR pDigits,TAPI_DIGITMODE DigitMode); + void __RPC_STUB ITLegacyCallMediaControl_GenerateDigits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl_GetID_Proxy(ITLegacyCallMediaControl *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + void __RPC_STUB ITLegacyCallMediaControl_GetID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl_SetMediaType_Proxy(ITLegacyCallMediaControl *This,__LONG32 lMediaType); + void __RPC_STUB ITLegacyCallMediaControl_SetMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl_MonitorMedia_Proxy(ITLegacyCallMediaControl *This,__LONG32 lMediaType); + void __RPC_STUB ITLegacyCallMediaControl_MonitorMedia_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLegacyCallMediaControl2_INTERFACE_DEFINED__ +#define __ITLegacyCallMediaControl2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLegacyCallMediaControl2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLegacyCallMediaControl2 : public ITLegacyCallMediaControl { + public: + virtual HRESULT WINAPI GenerateDigits2(BSTR pDigits,TAPI_DIGITMODE DigitMode,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI GatherDigits(TAPI_DIGITMODE DigitMode,__LONG32 lNumDigits,BSTR pTerminationDigits,__LONG32 lFirstDigitTimeout,__LONG32 lInterDigitTimeout) = 0; + virtual HRESULT WINAPI DetectTones(TAPI_DETECTTONE *pToneList,__LONG32 lNumTones) = 0; + virtual HRESULT WINAPI DetectTonesByCollection(ITCollection2 *pDetectToneCollection) = 0; + virtual HRESULT WINAPI GenerateTone(TAPI_TONEMODE ToneMode,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI GenerateCustomTones(TAPI_CUSTOMTONE *pToneList,__LONG32 lNumTones,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI GenerateCustomTonesByCollection(ITCollection2 *pCustomToneCollection,__LONG32 lDuration) = 0; + virtual HRESULT WINAPI CreateDetectToneObject(ITDetectTone **ppDetectTone) = 0; + virtual HRESULT WINAPI CreateCustomToneObject(ITCustomTone **ppCustomTone) = 0; + virtual HRESULT WINAPI GetIDAsVariant(BSTR bstrDeviceClass,VARIANT *pVarDeviceID) = 0; + }; +#else + typedef struct ITLegacyCallMediaControl2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLegacyCallMediaControl2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLegacyCallMediaControl2 *This); + ULONG (WINAPI *Release)(ITLegacyCallMediaControl2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITLegacyCallMediaControl2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITLegacyCallMediaControl2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITLegacyCallMediaControl2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITLegacyCallMediaControl2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *DetectDigits)(ITLegacyCallMediaControl2 *This,TAPI_DIGITMODE DigitMode); + HRESULT (WINAPI *GenerateDigits)(ITLegacyCallMediaControl2 *This,BSTR pDigits,TAPI_DIGITMODE DigitMode); + HRESULT (WINAPI *GetID)(ITLegacyCallMediaControl2 *This,BSTR pDeviceClass,DWORD *pdwSize,BYTE **ppDeviceID); + HRESULT (WINAPI *SetMediaType)(ITLegacyCallMediaControl2 *This,__LONG32 lMediaType); + HRESULT (WINAPI *MonitorMedia)(ITLegacyCallMediaControl2 *This,__LONG32 lMediaType); + HRESULT (WINAPI *GenerateDigits2)(ITLegacyCallMediaControl2 *This,BSTR pDigits,TAPI_DIGITMODE DigitMode,__LONG32 lDuration); + HRESULT (WINAPI *GatherDigits)(ITLegacyCallMediaControl2 *This,TAPI_DIGITMODE DigitMode,__LONG32 lNumDigits,BSTR pTerminationDigits,__LONG32 lFirstDigitTimeout,__LONG32 lInterDigitTimeout); + HRESULT (WINAPI *DetectTones)(ITLegacyCallMediaControl2 *This,TAPI_DETECTTONE *pToneList,__LONG32 lNumTones); + HRESULT (WINAPI *DetectTonesByCollection)(ITLegacyCallMediaControl2 *This,ITCollection2 *pDetectToneCollection); + HRESULT (WINAPI *GenerateTone)(ITLegacyCallMediaControl2 *This,TAPI_TONEMODE ToneMode,__LONG32 lDuration); + HRESULT (WINAPI *GenerateCustomTones)(ITLegacyCallMediaControl2 *This,TAPI_CUSTOMTONE *pToneList,__LONG32 lNumTones,__LONG32 lDuration); + HRESULT (WINAPI *GenerateCustomTonesByCollection)(ITLegacyCallMediaControl2 *This,ITCollection2 *pCustomToneCollection,__LONG32 lDuration); + HRESULT (WINAPI *CreateDetectToneObject)(ITLegacyCallMediaControl2 *This,ITDetectTone **ppDetectTone); + HRESULT (WINAPI *CreateCustomToneObject)(ITLegacyCallMediaControl2 *This,ITCustomTone **ppCustomTone); + HRESULT (WINAPI *GetIDAsVariant)(ITLegacyCallMediaControl2 *This,BSTR bstrDeviceClass,VARIANT *pVarDeviceID); + END_INTERFACE + } ITLegacyCallMediaControl2Vtbl; + struct ITLegacyCallMediaControl2 { + CONST_VTBL struct ITLegacyCallMediaControl2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLegacyCallMediaControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLegacyCallMediaControl2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLegacyCallMediaControl2_Release(This) (This)->lpVtbl->Release(This) +#define ITLegacyCallMediaControl2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITLegacyCallMediaControl2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITLegacyCallMediaControl2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITLegacyCallMediaControl2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITLegacyCallMediaControl2_DetectDigits(This,DigitMode) (This)->lpVtbl->DetectDigits(This,DigitMode) +#define ITLegacyCallMediaControl2_GenerateDigits(This,pDigits,DigitMode) (This)->lpVtbl->GenerateDigits(This,pDigits,DigitMode) +#define ITLegacyCallMediaControl2_GetID(This,pDeviceClass,pdwSize,ppDeviceID) (This)->lpVtbl->GetID(This,pDeviceClass,pdwSize,ppDeviceID) +#define ITLegacyCallMediaControl2_SetMediaType(This,lMediaType) (This)->lpVtbl->SetMediaType(This,lMediaType) +#define ITLegacyCallMediaControl2_MonitorMedia(This,lMediaType) (This)->lpVtbl->MonitorMedia(This,lMediaType) +#define ITLegacyCallMediaControl2_GenerateDigits2(This,pDigits,DigitMode,lDuration) (This)->lpVtbl->GenerateDigits2(This,pDigits,DigitMode,lDuration) +#define ITLegacyCallMediaControl2_GatherDigits(This,DigitMode,lNumDigits,pTerminationDigits,lFirstDigitTimeout,lInterDigitTimeout) (This)->lpVtbl->GatherDigits(This,DigitMode,lNumDigits,pTerminationDigits,lFirstDigitTimeout,lInterDigitTimeout) +#define ITLegacyCallMediaControl2_DetectTones(This,pToneList,lNumTones) (This)->lpVtbl->DetectTones(This,pToneList,lNumTones) +#define ITLegacyCallMediaControl2_DetectTonesByCollection(This,pDetectToneCollection) (This)->lpVtbl->DetectTonesByCollection(This,pDetectToneCollection) +#define ITLegacyCallMediaControl2_GenerateTone(This,ToneMode,lDuration) (This)->lpVtbl->GenerateTone(This,ToneMode,lDuration) +#define ITLegacyCallMediaControl2_GenerateCustomTones(This,pToneList,lNumTones,lDuration) (This)->lpVtbl->GenerateCustomTones(This,pToneList,lNumTones,lDuration) +#define ITLegacyCallMediaControl2_GenerateCustomTonesByCollection(This,pCustomToneCollection,lDuration) (This)->lpVtbl->GenerateCustomTonesByCollection(This,pCustomToneCollection,lDuration) +#define ITLegacyCallMediaControl2_CreateDetectToneObject(This,ppDetectTone) (This)->lpVtbl->CreateDetectToneObject(This,ppDetectTone) +#define ITLegacyCallMediaControl2_CreateCustomToneObject(This,ppCustomTone) (This)->lpVtbl->CreateCustomToneObject(This,ppCustomTone) +#define ITLegacyCallMediaControl2_GetIDAsVariant(This,bstrDeviceClass,pVarDeviceID) (This)->lpVtbl->GetIDAsVariant(This,bstrDeviceClass,pVarDeviceID) +#endif +#endif + HRESULT WINAPI ITLegacyCallMediaControl2_GenerateDigits2_Proxy(ITLegacyCallMediaControl2 *This,BSTR pDigits,TAPI_DIGITMODE DigitMode,__LONG32 lDuration); + void __RPC_STUB ITLegacyCallMediaControl2_GenerateDigits2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_GatherDigits_Proxy(ITLegacyCallMediaControl2 *This,TAPI_DIGITMODE DigitMode,__LONG32 lNumDigits,BSTR pTerminationDigits,__LONG32 lFirstDigitTimeout,__LONG32 lInterDigitTimeout); + void __RPC_STUB ITLegacyCallMediaControl2_GatherDigits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_DetectTones_Proxy(ITLegacyCallMediaControl2 *This,TAPI_DETECTTONE *pToneList,__LONG32 lNumTones); + void __RPC_STUB ITLegacyCallMediaControl2_DetectTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_DetectTonesByCollection_Proxy(ITLegacyCallMediaControl2 *This,ITCollection2 *pDetectToneCollection); + void __RPC_STUB ITLegacyCallMediaControl2_DetectTonesByCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_GenerateTone_Proxy(ITLegacyCallMediaControl2 *This,TAPI_TONEMODE ToneMode,__LONG32 lDuration); + void __RPC_STUB ITLegacyCallMediaControl2_GenerateTone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_GenerateCustomTones_Proxy(ITLegacyCallMediaControl2 *This,TAPI_CUSTOMTONE *pToneList,__LONG32 lNumTones,__LONG32 lDuration); + void __RPC_STUB ITLegacyCallMediaControl2_GenerateCustomTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_GenerateCustomTonesByCollection_Proxy(ITLegacyCallMediaControl2 *This,ITCollection2 *pCustomToneCollection,__LONG32 lDuration); + void __RPC_STUB ITLegacyCallMediaControl2_GenerateCustomTonesByCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_CreateDetectToneObject_Proxy(ITLegacyCallMediaControl2 *This,ITDetectTone **ppDetectTone); + void __RPC_STUB ITLegacyCallMediaControl2_CreateDetectToneObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_CreateCustomToneObject_Proxy(ITLegacyCallMediaControl2 *This,ITCustomTone **ppCustomTone); + void __RPC_STUB ITLegacyCallMediaControl2_CreateCustomToneObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLegacyCallMediaControl2_GetIDAsVariant_Proxy(ITLegacyCallMediaControl2 *This,BSTR bstrDeviceClass,VARIANT *pVarDeviceID); + void __RPC_STUB ITLegacyCallMediaControl2_GetIDAsVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITDetectTone_INTERFACE_DEFINED__ +#define __ITDetectTone_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITDetectTone; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITDetectTone : public IDispatch { + public: + virtual HRESULT WINAPI get_AppSpecific(__LONG32 *plAppSpecific) = 0; + virtual HRESULT WINAPI put_AppSpecific(__LONG32 lAppSpecific) = 0; + virtual HRESULT WINAPI get_Duration(__LONG32 *plDuration) = 0; + virtual HRESULT WINAPI put_Duration(__LONG32 lDuration) = 0; + virtual HRESULT WINAPI get_Frequency(__LONG32 Index,__LONG32 *plFrequency) = 0; + virtual HRESULT WINAPI put_Frequency(__LONG32 Index,__LONG32 lFrequency) = 0; + }; +#else + typedef struct ITDetectToneVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITDetectTone *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITDetectTone *This); + ULONG (WINAPI *Release)(ITDetectTone *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITDetectTone *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITDetectTone *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITDetectTone *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITDetectTone *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_AppSpecific)(ITDetectTone *This,__LONG32 *plAppSpecific); + HRESULT (WINAPI *put_AppSpecific)(ITDetectTone *This,__LONG32 lAppSpecific); + HRESULT (WINAPI *get_Duration)(ITDetectTone *This,__LONG32 *plDuration); + HRESULT (WINAPI *put_Duration)(ITDetectTone *This,__LONG32 lDuration); + HRESULT (WINAPI *get_Frequency)(ITDetectTone *This,__LONG32 Index,__LONG32 *plFrequency); + HRESULT (WINAPI *put_Frequency)(ITDetectTone *This,__LONG32 Index,__LONG32 lFrequency); + END_INTERFACE + } ITDetectToneVtbl; + struct ITDetectTone { + CONST_VTBL struct ITDetectToneVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITDetectTone_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITDetectTone_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITDetectTone_Release(This) (This)->lpVtbl->Release(This) +#define ITDetectTone_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITDetectTone_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITDetectTone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITDetectTone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITDetectTone_get_AppSpecific(This,plAppSpecific) (This)->lpVtbl->get_AppSpecific(This,plAppSpecific) +#define ITDetectTone_put_AppSpecific(This,lAppSpecific) (This)->lpVtbl->put_AppSpecific(This,lAppSpecific) +#define ITDetectTone_get_Duration(This,plDuration) (This)->lpVtbl->get_Duration(This,plDuration) +#define ITDetectTone_put_Duration(This,lDuration) (This)->lpVtbl->put_Duration(This,lDuration) +#define ITDetectTone_get_Frequency(This,Index,plFrequency) (This)->lpVtbl->get_Frequency(This,Index,plFrequency) +#define ITDetectTone_put_Frequency(This,Index,lFrequency) (This)->lpVtbl->put_Frequency(This,Index,lFrequency) +#endif +#endif + HRESULT WINAPI ITDetectTone_get_AppSpecific_Proxy(ITDetectTone *This,__LONG32 *plAppSpecific); + void __RPC_STUB ITDetectTone_get_AppSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDetectTone_put_AppSpecific_Proxy(ITDetectTone *This,__LONG32 lAppSpecific); + void __RPC_STUB ITDetectTone_put_AppSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDetectTone_get_Duration_Proxy(ITDetectTone *This,__LONG32 *plDuration); + void __RPC_STUB ITDetectTone_get_Duration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDetectTone_put_Duration_Proxy(ITDetectTone *This,__LONG32 lDuration); + void __RPC_STUB ITDetectTone_put_Duration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDetectTone_get_Frequency_Proxy(ITDetectTone *This,__LONG32 Index,__LONG32 *plFrequency); + void __RPC_STUB ITDetectTone_get_Frequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDetectTone_put_Frequency_Proxy(ITDetectTone *This,__LONG32 Index,__LONG32 lFrequency); + void __RPC_STUB ITDetectTone_put_Frequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCustomTone_INTERFACE_DEFINED__ +#define __ITCustomTone_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCustomTone; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCustomTone : public IDispatch { + public: + virtual HRESULT WINAPI get_Frequency(__LONG32 *plFrequency) = 0; + virtual HRESULT WINAPI put_Frequency(__LONG32 lFrequency) = 0; + virtual HRESULT WINAPI get_CadenceOn(__LONG32 *plCadenceOn) = 0; + virtual HRESULT WINAPI put_CadenceOn(__LONG32 CadenceOn) = 0; + virtual HRESULT WINAPI get_CadenceOff(__LONG32 *plCadenceOff) = 0; + virtual HRESULT WINAPI put_CadenceOff(__LONG32 lCadenceOff) = 0; + virtual HRESULT WINAPI get_Volume(__LONG32 *plVolume) = 0; + virtual HRESULT WINAPI put_Volume(__LONG32 lVolume) = 0; + }; +#else + typedef struct ITCustomToneVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCustomTone *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCustomTone *This); + ULONG (WINAPI *Release)(ITCustomTone *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCustomTone *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCustomTone *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCustomTone *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCustomTone *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Frequency)(ITCustomTone *This,__LONG32 *plFrequency); + HRESULT (WINAPI *put_Frequency)(ITCustomTone *This,__LONG32 lFrequency); + HRESULT (WINAPI *get_CadenceOn)(ITCustomTone *This,__LONG32 *plCadenceOn); + HRESULT (WINAPI *put_CadenceOn)(ITCustomTone *This,__LONG32 CadenceOn); + HRESULT (WINAPI *get_CadenceOff)(ITCustomTone *This,__LONG32 *plCadenceOff); + HRESULT (WINAPI *put_CadenceOff)(ITCustomTone *This,__LONG32 lCadenceOff); + HRESULT (WINAPI *get_Volume)(ITCustomTone *This,__LONG32 *plVolume); + HRESULT (WINAPI *put_Volume)(ITCustomTone *This,__LONG32 lVolume); + END_INTERFACE + } ITCustomToneVtbl; + struct ITCustomTone { + CONST_VTBL struct ITCustomToneVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCustomTone_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCustomTone_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCustomTone_Release(This) (This)->lpVtbl->Release(This) +#define ITCustomTone_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCustomTone_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCustomTone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCustomTone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCustomTone_get_Frequency(This,plFrequency) (This)->lpVtbl->get_Frequency(This,plFrequency) +#define ITCustomTone_put_Frequency(This,lFrequency) (This)->lpVtbl->put_Frequency(This,lFrequency) +#define ITCustomTone_get_CadenceOn(This,plCadenceOn) (This)->lpVtbl->get_CadenceOn(This,plCadenceOn) +#define ITCustomTone_put_CadenceOn(This,CadenceOn) (This)->lpVtbl->put_CadenceOn(This,CadenceOn) +#define ITCustomTone_get_CadenceOff(This,plCadenceOff) (This)->lpVtbl->get_CadenceOff(This,plCadenceOff) +#define ITCustomTone_put_CadenceOff(This,lCadenceOff) (This)->lpVtbl->put_CadenceOff(This,lCadenceOff) +#define ITCustomTone_get_Volume(This,plVolume) (This)->lpVtbl->get_Volume(This,plVolume) +#define ITCustomTone_put_Volume(This,lVolume) (This)->lpVtbl->put_Volume(This,lVolume) +#endif +#endif + HRESULT WINAPI ITCustomTone_get_Frequency_Proxy(ITCustomTone *This,__LONG32 *plFrequency); + void __RPC_STUB ITCustomTone_get_Frequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_put_Frequency_Proxy(ITCustomTone *This,__LONG32 lFrequency); + void __RPC_STUB ITCustomTone_put_Frequency_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_get_CadenceOn_Proxy(ITCustomTone *This,__LONG32 *plCadenceOn); + void __RPC_STUB ITCustomTone_get_CadenceOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_put_CadenceOn_Proxy(ITCustomTone *This,__LONG32 CadenceOn); + void __RPC_STUB ITCustomTone_put_CadenceOn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_get_CadenceOff_Proxy(ITCustomTone *This,__LONG32 *plCadenceOff); + void __RPC_STUB ITCustomTone_get_CadenceOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_put_CadenceOff_Proxy(ITCustomTone *This,__LONG32 lCadenceOff); + void __RPC_STUB ITCustomTone_put_CadenceOff_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_get_Volume_Proxy(ITCustomTone *This,__LONG32 *plVolume); + void __RPC_STUB ITCustomTone_get_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCustomTone_put_Volume_Proxy(ITCustomTone *This,__LONG32 lVolume); + void __RPC_STUB ITCustomTone_put_Volume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumPhone_INTERFACE_DEFINED__ +#define __IEnumPhone_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumPhone; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumPhone : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITPhone **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumPhone **ppEnum) = 0; + }; +#else + typedef struct IEnumPhoneVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumPhone *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumPhone *This); + ULONG (WINAPI *Release)(IEnumPhone *This); + HRESULT (WINAPI *Next)(IEnumPhone *This,ULONG celt,ITPhone **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumPhone *This); + HRESULT (WINAPI *Skip)(IEnumPhone *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumPhone *This,IEnumPhone **ppEnum); + END_INTERFACE + } IEnumPhoneVtbl; + struct IEnumPhone { + CONST_VTBL struct IEnumPhoneVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumPhone_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumPhone_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumPhone_Release(This) (This)->lpVtbl->Release(This) +#define IEnumPhone_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumPhone_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumPhone_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumPhone_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumPhone_Next_Proxy(IEnumPhone *This,ULONG celt,ITPhone **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumPhone_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPhone_Reset_Proxy(IEnumPhone *This); + void __RPC_STUB IEnumPhone_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPhone_Skip_Proxy(IEnumPhone *This,ULONG celt); + void __RPC_STUB IEnumPhone_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPhone_Clone_Proxy(IEnumPhone *This,IEnumPhone **ppEnum); + void __RPC_STUB IEnumPhone_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumTerminal_INTERFACE_DEFINED__ +#define __IEnumTerminal_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumTerminal; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumTerminal : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITTerminal **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumTerminal **ppEnum) = 0; + }; +#else + typedef struct IEnumTerminalVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumTerminal *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumTerminal *This); + ULONG (WINAPI *Release)(IEnumTerminal *This); + HRESULT (WINAPI *Next)(IEnumTerminal *This,ULONG celt,ITTerminal **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumTerminal *This); + HRESULT (WINAPI *Skip)(IEnumTerminal *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumTerminal *This,IEnumTerminal **ppEnum); + END_INTERFACE + } IEnumTerminalVtbl; + struct IEnumTerminal { + CONST_VTBL struct IEnumTerminalVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumTerminal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumTerminal_Release(This) (This)->lpVtbl->Release(This) +#define IEnumTerminal_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumTerminal_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumTerminal_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumTerminal_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumTerminal_Next_Proxy(IEnumTerminal *This,ULONG celt,ITTerminal **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumTerminal_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminal_Reset_Proxy(IEnumTerminal *This); + void __RPC_STUB IEnumTerminal_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminal_Skip_Proxy(IEnumTerminal *This,ULONG celt); + void __RPC_STUB IEnumTerminal_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminal_Clone_Proxy(IEnumTerminal *This,IEnumTerminal **ppEnum); + void __RPC_STUB IEnumTerminal_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumTerminalClass_INTERFACE_DEFINED__ +#define __IEnumTerminalClass_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumTerminalClass; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumTerminalClass : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,GUID *pElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumTerminalClass **ppEnum) = 0; + }; +#else + typedef struct IEnumTerminalClassVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumTerminalClass *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumTerminalClass *This); + ULONG (WINAPI *Release)(IEnumTerminalClass *This); + HRESULT (WINAPI *Next)(IEnumTerminalClass *This,ULONG celt,GUID *pElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumTerminalClass *This); + HRESULT (WINAPI *Skip)(IEnumTerminalClass *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumTerminalClass *This,IEnumTerminalClass **ppEnum); + END_INTERFACE + } IEnumTerminalClassVtbl; + struct IEnumTerminalClass { + CONST_VTBL struct IEnumTerminalClassVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumTerminalClass_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumTerminalClass_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumTerminalClass_Release(This) (This)->lpVtbl->Release(This) +#define IEnumTerminalClass_Next(This,celt,pElements,pceltFetched) (This)->lpVtbl->Next(This,celt,pElements,pceltFetched) +#define IEnumTerminalClass_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumTerminalClass_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumTerminalClass_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumTerminalClass_Next_Proxy(IEnumTerminalClass *This,ULONG celt,GUID *pElements,ULONG *pceltFetched); + void __RPC_STUB IEnumTerminalClass_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminalClass_Reset_Proxy(IEnumTerminalClass *This); + void __RPC_STUB IEnumTerminalClass_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminalClass_Skip_Proxy(IEnumTerminalClass *This,ULONG celt); + void __RPC_STUB IEnumTerminalClass_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumTerminalClass_Clone_Proxy(IEnumTerminalClass *This,IEnumTerminalClass **ppEnum); + void __RPC_STUB IEnumTerminalClass_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumCall_INTERFACE_DEFINED__ +#define __IEnumCall_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumCall; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumCall : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITCallInfo **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumCall **ppEnum) = 0; + }; +#else + typedef struct IEnumCallVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumCall *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumCall *This); + ULONG (WINAPI *Release)(IEnumCall *This); + HRESULT (WINAPI *Next)(IEnumCall *This,ULONG celt,ITCallInfo **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumCall *This); + HRESULT (WINAPI *Skip)(IEnumCall *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumCall *This,IEnumCall **ppEnum); + END_INTERFACE + } IEnumCallVtbl; + struct IEnumCall { + CONST_VTBL struct IEnumCallVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumCall_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumCall_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumCall_Release(This) (This)->lpVtbl->Release(This) +#define IEnumCall_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumCall_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumCall_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumCall_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumCall_Next_Proxy(IEnumCall *This,ULONG celt,ITCallInfo **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumCall_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCall_Reset_Proxy(IEnumCall *This); + void __RPC_STUB IEnumCall_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCall_Skip_Proxy(IEnumCall *This,ULONG celt); + void __RPC_STUB IEnumCall_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCall_Clone_Proxy(IEnumCall *This,IEnumCall **ppEnum); + void __RPC_STUB IEnumCall_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumAddress_INTERFACE_DEFINED__ +#define __IEnumAddress_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumAddress; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumAddress : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITAddress **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumAddress **ppEnum) = 0; + }; +#else + typedef struct IEnumAddressVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumAddress *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumAddress *This); + ULONG (WINAPI *Release)(IEnumAddress *This); + HRESULT (WINAPI *Next)(IEnumAddress *This,ULONG celt,ITAddress **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumAddress *This); + HRESULT (WINAPI *Skip)(IEnumAddress *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumAddress *This,IEnumAddress **ppEnum); + END_INTERFACE + } IEnumAddressVtbl; + struct IEnumAddress { + CONST_VTBL struct IEnumAddressVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumAddress_Release(This) (This)->lpVtbl->Release(This) +#define IEnumAddress_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumAddress_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumAddress_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumAddress_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumAddress_Next_Proxy(IEnumAddress *This,ULONG celt,ITAddress **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumAddress_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAddress_Reset_Proxy(IEnumAddress *This); + void __RPC_STUB IEnumAddress_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAddress_Skip_Proxy(IEnumAddress *This,ULONG celt); + void __RPC_STUB IEnumAddress_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumAddress_Clone_Proxy(IEnumAddress *This,IEnumAddress **ppEnum); + void __RPC_STUB IEnumAddress_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumCallHub_INTERFACE_DEFINED__ +#define __IEnumCallHub_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumCallHub; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumCallHub : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITCallHub **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumCallHub **ppEnum) = 0; + }; +#else + typedef struct IEnumCallHubVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumCallHub *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumCallHub *This); + ULONG (WINAPI *Release)(IEnumCallHub *This); + HRESULT (WINAPI *Next)(IEnumCallHub *This,ULONG celt,ITCallHub **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumCallHub *This); + HRESULT (WINAPI *Skip)(IEnumCallHub *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumCallHub *This,IEnumCallHub **ppEnum); + END_INTERFACE + } IEnumCallHubVtbl; + struct IEnumCallHub { + CONST_VTBL struct IEnumCallHubVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumCallHub_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumCallHub_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumCallHub_Release(This) (This)->lpVtbl->Release(This) +#define IEnumCallHub_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumCallHub_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumCallHub_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumCallHub_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumCallHub_Next_Proxy(IEnumCallHub *This,ULONG celt,ITCallHub **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumCallHub_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallHub_Reset_Proxy(IEnumCallHub *This); + void __RPC_STUB IEnumCallHub_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallHub_Skip_Proxy(IEnumCallHub *This,ULONG celt); + void __RPC_STUB IEnumCallHub_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallHub_Clone_Proxy(IEnumCallHub *This,IEnumCallHub **ppEnum); + void __RPC_STUB IEnumCallHub_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumBstr_INTERFACE_DEFINED__ +#define __IEnumBstr_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumBstr; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumBstr : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,BSTR *ppStrings,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumBstr **ppEnum) = 0; + }; +#else + typedef struct IEnumBstrVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumBstr *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumBstr *This); + ULONG (WINAPI *Release)(IEnumBstr *This); + HRESULT (WINAPI *Next)(IEnumBstr *This,ULONG celt,BSTR *ppStrings,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumBstr *This); + HRESULT (WINAPI *Skip)(IEnumBstr *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumBstr *This,IEnumBstr **ppEnum); + END_INTERFACE + } IEnumBstrVtbl; + struct IEnumBstr { + CONST_VTBL struct IEnumBstrVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumBstr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumBstr_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumBstr_Release(This) (This)->lpVtbl->Release(This) +#define IEnumBstr_Next(This,celt,ppStrings,pceltFetched) (This)->lpVtbl->Next(This,celt,ppStrings,pceltFetched) +#define IEnumBstr_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumBstr_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumBstr_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumBstr_Next_Proxy(IEnumBstr *This,ULONG celt,BSTR *ppStrings,ULONG *pceltFetched); + void __RPC_STUB IEnumBstr_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumBstr_Reset_Proxy(IEnumBstr *This); + void __RPC_STUB IEnumBstr_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumBstr_Skip_Proxy(IEnumBstr *This,ULONG celt); + void __RPC_STUB IEnumBstr_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumBstr_Clone_Proxy(IEnumBstr *This,IEnumBstr **ppEnum); + void __RPC_STUB IEnumBstr_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumPluggableTerminalClassInfo_INTERFACE_DEFINED__ +#define __IEnumPluggableTerminalClassInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumPluggableTerminalClassInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumPluggableTerminalClassInfo : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITPluggableTerminalClassInfo **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumPluggableTerminalClassInfo **ppEnum) = 0; + }; +#else + typedef struct IEnumPluggableTerminalClassInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumPluggableTerminalClassInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumPluggableTerminalClassInfo *This); + ULONG (WINAPI *Release)(IEnumPluggableTerminalClassInfo *This); + HRESULT (WINAPI *Next)(IEnumPluggableTerminalClassInfo *This,ULONG celt,ITPluggableTerminalClassInfo **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumPluggableTerminalClassInfo *This); + HRESULT (WINAPI *Skip)(IEnumPluggableTerminalClassInfo *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumPluggableTerminalClassInfo *This,IEnumPluggableTerminalClassInfo **ppEnum); + END_INTERFACE + } IEnumPluggableTerminalClassInfoVtbl; + struct IEnumPluggableTerminalClassInfo { + CONST_VTBL struct IEnumPluggableTerminalClassInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumPluggableTerminalClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumPluggableTerminalClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumPluggableTerminalClassInfo_Release(This) (This)->lpVtbl->Release(This) +#define IEnumPluggableTerminalClassInfo_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumPluggableTerminalClassInfo_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumPluggableTerminalClassInfo_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumPluggableTerminalClassInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumPluggableTerminalClassInfo_Next_Proxy(IEnumPluggableTerminalClassInfo *This,ULONG celt,ITPluggableTerminalClassInfo **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumPluggableTerminalClassInfo_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableTerminalClassInfo_Reset_Proxy(IEnumPluggableTerminalClassInfo *This); + void __RPC_STUB IEnumPluggableTerminalClassInfo_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableTerminalClassInfo_Skip_Proxy(IEnumPluggableTerminalClassInfo *This,ULONG celt); + void __RPC_STUB IEnumPluggableTerminalClassInfo_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableTerminalClassInfo_Clone_Proxy(IEnumPluggableTerminalClassInfo *This,IEnumPluggableTerminalClassInfo **ppEnum); + void __RPC_STUB IEnumPluggableTerminalClassInfo_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumPluggableSuperclassInfo_INTERFACE_DEFINED__ +#define __IEnumPluggableSuperclassInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumPluggableSuperclassInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumPluggableSuperclassInfo : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITPluggableTerminalSuperclassInfo **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumPluggableSuperclassInfo **ppEnum) = 0; + }; +#else + typedef struct IEnumPluggableSuperclassInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumPluggableSuperclassInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumPluggableSuperclassInfo *This); + ULONG (WINAPI *Release)(IEnumPluggableSuperclassInfo *This); + HRESULT (WINAPI *Next)(IEnumPluggableSuperclassInfo *This,ULONG celt,ITPluggableTerminalSuperclassInfo **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumPluggableSuperclassInfo *This); + HRESULT (WINAPI *Skip)(IEnumPluggableSuperclassInfo *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumPluggableSuperclassInfo *This,IEnumPluggableSuperclassInfo **ppEnum); + END_INTERFACE + } IEnumPluggableSuperclassInfoVtbl; + struct IEnumPluggableSuperclassInfo { + CONST_VTBL struct IEnumPluggableSuperclassInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumPluggableSuperclassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumPluggableSuperclassInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumPluggableSuperclassInfo_Release(This) (This)->lpVtbl->Release(This) +#define IEnumPluggableSuperclassInfo_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumPluggableSuperclassInfo_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumPluggableSuperclassInfo_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumPluggableSuperclassInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumPluggableSuperclassInfo_Next_Proxy(IEnumPluggableSuperclassInfo *This,ULONG celt,ITPluggableTerminalSuperclassInfo **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumPluggableSuperclassInfo_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableSuperclassInfo_Reset_Proxy(IEnumPluggableSuperclassInfo *This); + void __RPC_STUB IEnumPluggableSuperclassInfo_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableSuperclassInfo_Skip_Proxy(IEnumPluggableSuperclassInfo *This,ULONG celt); + void __RPC_STUB IEnumPluggableSuperclassInfo_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumPluggableSuperclassInfo_Clone_Proxy(IEnumPluggableSuperclassInfo *This,IEnumPluggableSuperclassInfo **ppEnum); + void __RPC_STUB IEnumPluggableSuperclassInfo_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPhoneEvent_INTERFACE_DEFINED__ +#define __ITPhoneEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPhoneEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPhoneEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Phone(ITPhone **ppPhone) = 0; + virtual HRESULT WINAPI get_Event(PHONE_EVENT *pEvent) = 0; + virtual HRESULT WINAPI get_ButtonState(PHONE_BUTTON_STATE *pState) = 0; + virtual HRESULT WINAPI get_HookSwitchState(PHONE_HOOK_SWITCH_STATE *pState) = 0; + virtual HRESULT WINAPI get_HookSwitchDevice(PHONE_HOOK_SWITCH_DEVICE *pDevice) = 0; + virtual HRESULT WINAPI get_RingMode(__LONG32 *plRingMode) = 0; + virtual HRESULT WINAPI get_ButtonLampId(__LONG32 *plButtonLampId) = 0; + virtual HRESULT WINAPI get_NumberGathered(BSTR *ppNumber) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + }; +#else + typedef struct ITPhoneEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPhoneEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPhoneEvent *This); + ULONG (WINAPI *Release)(ITPhoneEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPhoneEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPhoneEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPhoneEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPhoneEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Phone)(ITPhoneEvent *This,ITPhone **ppPhone); + HRESULT (WINAPI *get_Event)(ITPhoneEvent *This,PHONE_EVENT *pEvent); + HRESULT (WINAPI *get_ButtonState)(ITPhoneEvent *This,PHONE_BUTTON_STATE *pState); + HRESULT (WINAPI *get_HookSwitchState)(ITPhoneEvent *This,PHONE_HOOK_SWITCH_STATE *pState); + HRESULT (WINAPI *get_HookSwitchDevice)(ITPhoneEvent *This,PHONE_HOOK_SWITCH_DEVICE *pDevice); + HRESULT (WINAPI *get_RingMode)(ITPhoneEvent *This,__LONG32 *plRingMode); + HRESULT (WINAPI *get_ButtonLampId)(ITPhoneEvent *This,__LONG32 *plButtonLampId); + HRESULT (WINAPI *get_NumberGathered)(ITPhoneEvent *This,BSTR *ppNumber); + HRESULT (WINAPI *get_Call)(ITPhoneEvent *This,ITCallInfo **ppCallInfo); + END_INTERFACE + } ITPhoneEventVtbl; + struct ITPhoneEvent { + CONST_VTBL struct ITPhoneEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPhoneEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPhoneEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPhoneEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITPhoneEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPhoneEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPhoneEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPhoneEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPhoneEvent_get_Phone(This,ppPhone) (This)->lpVtbl->get_Phone(This,ppPhone) +#define ITPhoneEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#define ITPhoneEvent_get_ButtonState(This,pState) (This)->lpVtbl->get_ButtonState(This,pState) +#define ITPhoneEvent_get_HookSwitchState(This,pState) (This)->lpVtbl->get_HookSwitchState(This,pState) +#define ITPhoneEvent_get_HookSwitchDevice(This,pDevice) (This)->lpVtbl->get_HookSwitchDevice(This,pDevice) +#define ITPhoneEvent_get_RingMode(This,plRingMode) (This)->lpVtbl->get_RingMode(This,plRingMode) +#define ITPhoneEvent_get_ButtonLampId(This,plButtonLampId) (This)->lpVtbl->get_ButtonLampId(This,plButtonLampId) +#define ITPhoneEvent_get_NumberGathered(This,ppNumber) (This)->lpVtbl->get_NumberGathered(This,ppNumber) +#define ITPhoneEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#endif +#endif + HRESULT WINAPI ITPhoneEvent_get_Phone_Proxy(ITPhoneEvent *This,ITPhone **ppPhone); + void __RPC_STUB ITPhoneEvent_get_Phone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_Event_Proxy(ITPhoneEvent *This,PHONE_EVENT *pEvent); + void __RPC_STUB ITPhoneEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_ButtonState_Proxy(ITPhoneEvent *This,PHONE_BUTTON_STATE *pState); + void __RPC_STUB ITPhoneEvent_get_ButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_HookSwitchState_Proxy(ITPhoneEvent *This,PHONE_HOOK_SWITCH_STATE *pState); + void __RPC_STUB ITPhoneEvent_get_HookSwitchState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_HookSwitchDevice_Proxy(ITPhoneEvent *This,PHONE_HOOK_SWITCH_DEVICE *pDevice); + void __RPC_STUB ITPhoneEvent_get_HookSwitchDevice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_RingMode_Proxy(ITPhoneEvent *This,__LONG32 *plRingMode); + void __RPC_STUB ITPhoneEvent_get_RingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_ButtonLampId_Proxy(ITPhoneEvent *This,__LONG32 *plButtonLampId); + void __RPC_STUB ITPhoneEvent_get_ButtonLampId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_NumberGathered_Proxy(ITPhoneEvent *This,BSTR *ppNumber); + void __RPC_STUB ITPhoneEvent_get_NumberGathered_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneEvent_get_Call_Proxy(ITPhoneEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITPhoneEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallStateEvent_INTERFACE_DEFINED__ +#define __ITCallStateEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallStateEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallStateEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_State(CALL_STATE *pCallState) = 0; + virtual HRESULT WINAPI get_Cause(CALL_STATE_EVENT_CAUSE *pCEC) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITCallStateEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallStateEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallStateEvent *This); + ULONG (WINAPI *Release)(ITCallStateEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallStateEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallStateEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallStateEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallStateEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITCallStateEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_State)(ITCallStateEvent *This,CALL_STATE *pCallState); + HRESULT (WINAPI *get_Cause)(ITCallStateEvent *This,CALL_STATE_EVENT_CAUSE *pCEC); + HRESULT (WINAPI *get_CallbackInstance)(ITCallStateEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITCallStateEventVtbl; + struct ITCallStateEvent { + CONST_VTBL struct ITCallStateEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallStateEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallStateEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallStateEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITCallStateEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallStateEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallStateEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallStateEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallStateEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITCallStateEvent_get_State(This,pCallState) (This)->lpVtbl->get_State(This,pCallState) +#define ITCallStateEvent_get_Cause(This,pCEC) (This)->lpVtbl->get_Cause(This,pCEC) +#define ITCallStateEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITCallStateEvent_get_Call_Proxy(ITCallStateEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITCallStateEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallStateEvent_get_State_Proxy(ITCallStateEvent *This,CALL_STATE *pCallState); + void __RPC_STUB ITCallStateEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallStateEvent_get_Cause_Proxy(ITCallStateEvent *This,CALL_STATE_EVENT_CAUSE *pCEC); + void __RPC_STUB ITCallStateEvent_get_Cause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallStateEvent_get_CallbackInstance_Proxy(ITCallStateEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITCallStateEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPhoneDeviceSpecificEvent_INTERFACE_DEFINED__ +#define __ITPhoneDeviceSpecificEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPhoneDeviceSpecificEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPhoneDeviceSpecificEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Phone(ITPhone **ppPhone) = 0; + virtual HRESULT WINAPI get_lParam1(__LONG32 *pParam1) = 0; + virtual HRESULT WINAPI get_lParam2(__LONG32 *pParam2) = 0; + virtual HRESULT WINAPI get_lParam3(__LONG32 *pParam3) = 0; + }; +#else + typedef struct ITPhoneDeviceSpecificEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPhoneDeviceSpecificEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPhoneDeviceSpecificEvent *This); + ULONG (WINAPI *Release)(ITPhoneDeviceSpecificEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPhoneDeviceSpecificEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPhoneDeviceSpecificEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPhoneDeviceSpecificEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPhoneDeviceSpecificEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Phone)(ITPhoneDeviceSpecificEvent *This,ITPhone **ppPhone); + HRESULT (WINAPI *get_lParam1)(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam1); + HRESULT (WINAPI *get_lParam2)(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam2); + HRESULT (WINAPI *get_lParam3)(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam3); + END_INTERFACE + } ITPhoneDeviceSpecificEventVtbl; + struct ITPhoneDeviceSpecificEvent { + CONST_VTBL struct ITPhoneDeviceSpecificEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPhoneDeviceSpecificEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPhoneDeviceSpecificEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPhoneDeviceSpecificEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITPhoneDeviceSpecificEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPhoneDeviceSpecificEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPhoneDeviceSpecificEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPhoneDeviceSpecificEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPhoneDeviceSpecificEvent_get_Phone(This,ppPhone) (This)->lpVtbl->get_Phone(This,ppPhone) +#define ITPhoneDeviceSpecificEvent_get_lParam1(This,pParam1) (This)->lpVtbl->get_lParam1(This,pParam1) +#define ITPhoneDeviceSpecificEvent_get_lParam2(This,pParam2) (This)->lpVtbl->get_lParam2(This,pParam2) +#define ITPhoneDeviceSpecificEvent_get_lParam3(This,pParam3) (This)->lpVtbl->get_lParam3(This,pParam3) +#endif +#endif + HRESULT WINAPI ITPhoneDeviceSpecificEvent_get_Phone_Proxy(ITPhoneDeviceSpecificEvent *This,ITPhone **ppPhone); + void __RPC_STUB ITPhoneDeviceSpecificEvent_get_Phone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneDeviceSpecificEvent_get_lParam1_Proxy(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam1); + void __RPC_STUB ITPhoneDeviceSpecificEvent_get_lParam1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneDeviceSpecificEvent_get_lParam2_Proxy(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam2); + void __RPC_STUB ITPhoneDeviceSpecificEvent_get_lParam2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPhoneDeviceSpecificEvent_get_lParam3_Proxy(ITPhoneDeviceSpecificEvent *This,__LONG32 *pParam3); + void __RPC_STUB ITPhoneDeviceSpecificEvent_get_lParam3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallMediaEvent_INTERFACE_DEFINED__ +#define __ITCallMediaEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallMediaEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallMediaEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_Event(CALL_MEDIA_EVENT *pCallMediaEvent) = 0; + virtual HRESULT WINAPI get_Error(HRESULT *phrError) = 0; + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_Stream(ITStream **ppStream) = 0; + virtual HRESULT WINAPI get_Cause(CALL_MEDIA_EVENT_CAUSE *pCause) = 0; + }; +#else + typedef struct ITCallMediaEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallMediaEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallMediaEvent *This); + ULONG (WINAPI *Release)(ITCallMediaEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallMediaEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallMediaEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallMediaEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallMediaEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITCallMediaEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_Event)(ITCallMediaEvent *This,CALL_MEDIA_EVENT *pCallMediaEvent); + HRESULT (WINAPI *get_Error)(ITCallMediaEvent *This,HRESULT *phrError); + HRESULT (WINAPI *get_Terminal)(ITCallMediaEvent *This,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_Stream)(ITCallMediaEvent *This,ITStream **ppStream); + HRESULT (WINAPI *get_Cause)(ITCallMediaEvent *This,CALL_MEDIA_EVENT_CAUSE *pCause); + END_INTERFACE + } ITCallMediaEventVtbl; + struct ITCallMediaEvent { + CONST_VTBL struct ITCallMediaEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallMediaEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallMediaEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallMediaEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITCallMediaEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallMediaEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallMediaEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallMediaEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallMediaEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITCallMediaEvent_get_Event(This,pCallMediaEvent) (This)->lpVtbl->get_Event(This,pCallMediaEvent) +#define ITCallMediaEvent_get_Error(This,phrError) (This)->lpVtbl->get_Error(This,phrError) +#define ITCallMediaEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#define ITCallMediaEvent_get_Stream(This,ppStream) (This)->lpVtbl->get_Stream(This,ppStream) +#define ITCallMediaEvent_get_Cause(This,pCause) (This)->lpVtbl->get_Cause(This,pCause) +#endif +#endif + HRESULT WINAPI ITCallMediaEvent_get_Call_Proxy(ITCallMediaEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITCallMediaEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallMediaEvent_get_Event_Proxy(ITCallMediaEvent *This,CALL_MEDIA_EVENT *pCallMediaEvent); + void __RPC_STUB ITCallMediaEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallMediaEvent_get_Error_Proxy(ITCallMediaEvent *This,HRESULT *phrError); + void __RPC_STUB ITCallMediaEvent_get_Error_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallMediaEvent_get_Terminal_Proxy(ITCallMediaEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITCallMediaEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallMediaEvent_get_Stream_Proxy(ITCallMediaEvent *This,ITStream **ppStream); + void __RPC_STUB ITCallMediaEvent_get_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallMediaEvent_get_Cause_Proxy(ITCallMediaEvent *This,CALL_MEDIA_EVENT_CAUSE *pCause); + void __RPC_STUB ITCallMediaEvent_get_Cause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITDigitDetectionEvent_INTERFACE_DEFINED__ +#define __ITDigitDetectionEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITDigitDetectionEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITDigitDetectionEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_Digit(unsigned char *pucDigit) = 0; + virtual HRESULT WINAPI get_DigitMode(TAPI_DIGITMODE *pDigitMode) = 0; + virtual HRESULT WINAPI get_TickCount(__LONG32 *plTickCount) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITDigitDetectionEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITDigitDetectionEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITDigitDetectionEvent *This); + ULONG (WINAPI *Release)(ITDigitDetectionEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITDigitDetectionEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITDigitDetectionEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITDigitDetectionEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITDigitDetectionEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITDigitDetectionEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_Digit)(ITDigitDetectionEvent *This,unsigned char *pucDigit); + HRESULT (WINAPI *get_DigitMode)(ITDigitDetectionEvent *This,TAPI_DIGITMODE *pDigitMode); + HRESULT (WINAPI *get_TickCount)(ITDigitDetectionEvent *This,__LONG32 *plTickCount); + HRESULT (WINAPI *get_CallbackInstance)(ITDigitDetectionEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITDigitDetectionEventVtbl; + struct ITDigitDetectionEvent { + CONST_VTBL struct ITDigitDetectionEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITDigitDetectionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITDigitDetectionEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITDigitDetectionEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITDigitDetectionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITDigitDetectionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITDigitDetectionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITDigitDetectionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITDigitDetectionEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITDigitDetectionEvent_get_Digit(This,pucDigit) (This)->lpVtbl->get_Digit(This,pucDigit) +#define ITDigitDetectionEvent_get_DigitMode(This,pDigitMode) (This)->lpVtbl->get_DigitMode(This,pDigitMode) +#define ITDigitDetectionEvent_get_TickCount(This,plTickCount) (This)->lpVtbl->get_TickCount(This,plTickCount) +#define ITDigitDetectionEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITDigitDetectionEvent_get_Call_Proxy(ITDigitDetectionEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITDigitDetectionEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitDetectionEvent_get_Digit_Proxy(ITDigitDetectionEvent *This,unsigned char *pucDigit); + void __RPC_STUB ITDigitDetectionEvent_get_Digit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitDetectionEvent_get_DigitMode_Proxy(ITDigitDetectionEvent *This,TAPI_DIGITMODE *pDigitMode); + void __RPC_STUB ITDigitDetectionEvent_get_DigitMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitDetectionEvent_get_TickCount_Proxy(ITDigitDetectionEvent *This,__LONG32 *plTickCount); + void __RPC_STUB ITDigitDetectionEvent_get_TickCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitDetectionEvent_get_CallbackInstance_Proxy(ITDigitDetectionEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITDigitDetectionEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITDigitGenerationEvent_INTERFACE_DEFINED__ +#define __ITDigitGenerationEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITDigitGenerationEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITDigitGenerationEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_GenerationTermination(__LONG32 *plGenerationTermination) = 0; + virtual HRESULT WINAPI get_TickCount(__LONG32 *plTickCount) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITDigitGenerationEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITDigitGenerationEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITDigitGenerationEvent *This); + ULONG (WINAPI *Release)(ITDigitGenerationEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITDigitGenerationEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITDigitGenerationEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITDigitGenerationEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITDigitGenerationEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITDigitGenerationEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_GenerationTermination)(ITDigitGenerationEvent *This,__LONG32 *plGenerationTermination); + HRESULT (WINAPI *get_TickCount)(ITDigitGenerationEvent *This,__LONG32 *plTickCount); + HRESULT (WINAPI *get_CallbackInstance)(ITDigitGenerationEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITDigitGenerationEventVtbl; + struct ITDigitGenerationEvent { + CONST_VTBL struct ITDigitGenerationEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITDigitGenerationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITDigitGenerationEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITDigitGenerationEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITDigitGenerationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITDigitGenerationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITDigitGenerationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITDigitGenerationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITDigitGenerationEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITDigitGenerationEvent_get_GenerationTermination(This,plGenerationTermination) (This)->lpVtbl->get_GenerationTermination(This,plGenerationTermination) +#define ITDigitGenerationEvent_get_TickCount(This,plTickCount) (This)->lpVtbl->get_TickCount(This,plTickCount) +#define ITDigitGenerationEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITDigitGenerationEvent_get_Call_Proxy(ITDigitGenerationEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITDigitGenerationEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitGenerationEvent_get_GenerationTermination_Proxy(ITDigitGenerationEvent *This,__LONG32 *plGenerationTermination); + void __RPC_STUB ITDigitGenerationEvent_get_GenerationTermination_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitGenerationEvent_get_TickCount_Proxy(ITDigitGenerationEvent *This,__LONG32 *plTickCount); + void __RPC_STUB ITDigitGenerationEvent_get_TickCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitGenerationEvent_get_CallbackInstance_Proxy(ITDigitGenerationEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITDigitGenerationEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITDigitsGatheredEvent_INTERFACE_DEFINED__ +#define __ITDigitsGatheredEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITDigitsGatheredEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITDigitsGatheredEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_Digits(BSTR *ppDigits) = 0; + virtual HRESULT WINAPI get_GatherTermination(TAPI_GATHERTERM *pGatherTermination) = 0; + virtual HRESULT WINAPI get_TickCount(__LONG32 *plTickCount) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITDigitsGatheredEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITDigitsGatheredEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITDigitsGatheredEvent *This); + ULONG (WINAPI *Release)(ITDigitsGatheredEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITDigitsGatheredEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITDigitsGatheredEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITDigitsGatheredEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITDigitsGatheredEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITDigitsGatheredEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_Digits)(ITDigitsGatheredEvent *This,BSTR *ppDigits); + HRESULT (WINAPI *get_GatherTermination)(ITDigitsGatheredEvent *This,TAPI_GATHERTERM *pGatherTermination); + HRESULT (WINAPI *get_TickCount)(ITDigitsGatheredEvent *This,__LONG32 *plTickCount); + HRESULT (WINAPI *get_CallbackInstance)(ITDigitsGatheredEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITDigitsGatheredEventVtbl; + struct ITDigitsGatheredEvent { + CONST_VTBL struct ITDigitsGatheredEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITDigitsGatheredEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITDigitsGatheredEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITDigitsGatheredEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITDigitsGatheredEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITDigitsGatheredEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITDigitsGatheredEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITDigitsGatheredEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITDigitsGatheredEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITDigitsGatheredEvent_get_Digits(This,ppDigits) (This)->lpVtbl->get_Digits(This,ppDigits) +#define ITDigitsGatheredEvent_get_GatherTermination(This,pGatherTermination) (This)->lpVtbl->get_GatherTermination(This,pGatherTermination) +#define ITDigitsGatheredEvent_get_TickCount(This,plTickCount) (This)->lpVtbl->get_TickCount(This,plTickCount) +#define ITDigitsGatheredEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITDigitsGatheredEvent_get_Call_Proxy(ITDigitsGatheredEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITDigitsGatheredEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitsGatheredEvent_get_Digits_Proxy(ITDigitsGatheredEvent *This,BSTR *ppDigits); + void __RPC_STUB ITDigitsGatheredEvent_get_Digits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitsGatheredEvent_get_GatherTermination_Proxy(ITDigitsGatheredEvent *This,TAPI_GATHERTERM *pGatherTermination); + void __RPC_STUB ITDigitsGatheredEvent_get_GatherTermination_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitsGatheredEvent_get_TickCount_Proxy(ITDigitsGatheredEvent *This,__LONG32 *plTickCount); + void __RPC_STUB ITDigitsGatheredEvent_get_TickCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITDigitsGatheredEvent_get_CallbackInstance_Proxy(ITDigitsGatheredEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITDigitsGatheredEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITToneDetectionEvent_INTERFACE_DEFINED__ +#define __ITToneDetectionEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITToneDetectionEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITToneDetectionEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCallInfo) = 0; + virtual HRESULT WINAPI get_AppSpecific(__LONG32 *plAppSpecific) = 0; + virtual HRESULT WINAPI get_TickCount(__LONG32 *plTickCount) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITToneDetectionEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITToneDetectionEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITToneDetectionEvent *This); + ULONG (WINAPI *Release)(ITToneDetectionEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITToneDetectionEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITToneDetectionEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITToneDetectionEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITToneDetectionEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITToneDetectionEvent *This,ITCallInfo **ppCallInfo); + HRESULT (WINAPI *get_AppSpecific)(ITToneDetectionEvent *This,__LONG32 *plAppSpecific); + HRESULT (WINAPI *get_TickCount)(ITToneDetectionEvent *This,__LONG32 *plTickCount); + HRESULT (WINAPI *get_CallbackInstance)(ITToneDetectionEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITToneDetectionEventVtbl; + struct ITToneDetectionEvent { + CONST_VTBL struct ITToneDetectionEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITToneDetectionEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITToneDetectionEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITToneDetectionEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITToneDetectionEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITToneDetectionEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITToneDetectionEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITToneDetectionEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITToneDetectionEvent_get_Call(This,ppCallInfo) (This)->lpVtbl->get_Call(This,ppCallInfo) +#define ITToneDetectionEvent_get_AppSpecific(This,plAppSpecific) (This)->lpVtbl->get_AppSpecific(This,plAppSpecific) +#define ITToneDetectionEvent_get_TickCount(This,plTickCount) (This)->lpVtbl->get_TickCount(This,plTickCount) +#define ITToneDetectionEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITToneDetectionEvent_get_Call_Proxy(ITToneDetectionEvent *This,ITCallInfo **ppCallInfo); + void __RPC_STUB ITToneDetectionEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITToneDetectionEvent_get_AppSpecific_Proxy(ITToneDetectionEvent *This,__LONG32 *plAppSpecific); + void __RPC_STUB ITToneDetectionEvent_get_AppSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITToneDetectionEvent_get_TickCount_Proxy(ITToneDetectionEvent *This,__LONG32 *plTickCount); + void __RPC_STUB ITToneDetectionEvent_get_TickCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITToneDetectionEvent_get_CallbackInstance_Proxy(ITToneDetectionEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITToneDetectionEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPIObjectEvent_INTERFACE_DEFINED__ +#define __ITTAPIObjectEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPIObjectEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPIObjectEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_TAPIObject(ITTAPI **ppTAPIObject) = 0; + virtual HRESULT WINAPI get_Event(TAPIOBJECT_EVENT *pEvent) = 0; + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITTAPIObjectEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPIObjectEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPIObjectEvent *This); + ULONG (WINAPI *Release)(ITTAPIObjectEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPIObjectEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPIObjectEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPIObjectEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPIObjectEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_TAPIObject)(ITTAPIObjectEvent *This,ITTAPI **ppTAPIObject); + HRESULT (WINAPI *get_Event)(ITTAPIObjectEvent *This,TAPIOBJECT_EVENT *pEvent); + HRESULT (WINAPI *get_Address)(ITTAPIObjectEvent *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_CallbackInstance)(ITTAPIObjectEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITTAPIObjectEventVtbl; + struct ITTAPIObjectEvent { + CONST_VTBL struct ITTAPIObjectEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPIObjectEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPIObjectEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPIObjectEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPIObjectEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPIObjectEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPIObjectEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPIObjectEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPIObjectEvent_get_TAPIObject(This,ppTAPIObject) (This)->lpVtbl->get_TAPIObject(This,ppTAPIObject) +#define ITTAPIObjectEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#define ITTAPIObjectEvent_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITTAPIObjectEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITTAPIObjectEvent_get_TAPIObject_Proxy(ITTAPIObjectEvent *This,ITTAPI **ppTAPIObject); + void __RPC_STUB ITTAPIObjectEvent_get_TAPIObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPIObjectEvent_get_Event_Proxy(ITTAPIObjectEvent *This,TAPIOBJECT_EVENT *pEvent); + void __RPC_STUB ITTAPIObjectEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPIObjectEvent_get_Address_Proxy(ITTAPIObjectEvent *This,ITAddress **ppAddress); + void __RPC_STUB ITTAPIObjectEvent_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTAPIObjectEvent_get_CallbackInstance_Proxy(ITTAPIObjectEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITTAPIObjectEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPIObjectEvent2_INTERFACE_DEFINED__ +#define __ITTAPIObjectEvent2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPIObjectEvent2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPIObjectEvent2 : public ITTAPIObjectEvent { + public: + virtual HRESULT WINAPI get_Phone(ITPhone **ppPhone) = 0; + }; +#else + typedef struct ITTAPIObjectEvent2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPIObjectEvent2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPIObjectEvent2 *This); + ULONG (WINAPI *Release)(ITTAPIObjectEvent2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTAPIObjectEvent2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTAPIObjectEvent2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTAPIObjectEvent2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTAPIObjectEvent2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_TAPIObject)(ITTAPIObjectEvent2 *This,ITTAPI **ppTAPIObject); + HRESULT (WINAPI *get_Event)(ITTAPIObjectEvent2 *This,TAPIOBJECT_EVENT *pEvent); + HRESULT (WINAPI *get_Address)(ITTAPIObjectEvent2 *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_CallbackInstance)(ITTAPIObjectEvent2 *This,__LONG32 *plCallbackInstance); + HRESULT (WINAPI *get_Phone)(ITTAPIObjectEvent2 *This,ITPhone **ppPhone); + END_INTERFACE + } ITTAPIObjectEvent2Vtbl; + struct ITTAPIObjectEvent2 { + CONST_VTBL struct ITTAPIObjectEvent2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPIObjectEvent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPIObjectEvent2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPIObjectEvent2_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPIObjectEvent2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTAPIObjectEvent2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTAPIObjectEvent2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTAPIObjectEvent2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTAPIObjectEvent2_get_TAPIObject(This,ppTAPIObject) (This)->lpVtbl->get_TAPIObject(This,ppTAPIObject) +#define ITTAPIObjectEvent2_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#define ITTAPIObjectEvent2_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITTAPIObjectEvent2_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#define ITTAPIObjectEvent2_get_Phone(This,ppPhone) (This)->lpVtbl->get_Phone(This,ppPhone) +#endif +#endif + HRESULT WINAPI ITTAPIObjectEvent2_get_Phone_Proxy(ITTAPIObjectEvent2 *This,ITPhone **ppPhone); + void __RPC_STUB ITTAPIObjectEvent2_get_Phone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTAPIEventNotification_INTERFACE_DEFINED__ +#define __ITTAPIEventNotification_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTAPIEventNotification; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTAPIEventNotification : public IUnknown { + public: + virtual HRESULT WINAPI Event(TAPI_EVENT TapiEvent,IDispatch *pEvent) = 0; + }; +#else + typedef struct ITTAPIEventNotificationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTAPIEventNotification *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTAPIEventNotification *This); + ULONG (WINAPI *Release)(ITTAPIEventNotification *This); + HRESULT (WINAPI *Event)(ITTAPIEventNotification *This,TAPI_EVENT TapiEvent,IDispatch *pEvent); + END_INTERFACE + } ITTAPIEventNotificationVtbl; + struct ITTAPIEventNotification { + CONST_VTBL struct ITTAPIEventNotificationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTAPIEventNotification_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTAPIEventNotification_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTAPIEventNotification_Release(This) (This)->lpVtbl->Release(This) +#define ITTAPIEventNotification_Event(This,TapiEvent,pEvent) (This)->lpVtbl->Event(This,TapiEvent,pEvent) +#endif +#endif + HRESULT WINAPI ITTAPIEventNotification_Event_Proxy(ITTAPIEventNotification *This,TAPI_EVENT TapiEvent,IDispatch *pEvent); + void __RPC_STUB ITTAPIEventNotification_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallHubEvent_INTERFACE_DEFINED__ +#define __ITCallHubEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallHubEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallHubEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Event(CALLHUB_EVENT *pEvent) = 0; + virtual HRESULT WINAPI get_CallHub(ITCallHub **ppCallHub) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + }; +#else + typedef struct ITCallHubEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallHubEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallHubEvent *This); + ULONG (WINAPI *Release)(ITCallHubEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallHubEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallHubEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallHubEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallHubEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Event)(ITCallHubEvent *This,CALLHUB_EVENT *pEvent); + HRESULT (WINAPI *get_CallHub)(ITCallHubEvent *This,ITCallHub **ppCallHub); + HRESULT (WINAPI *get_Call)(ITCallHubEvent *This,ITCallInfo **ppCall); + END_INTERFACE + } ITCallHubEventVtbl; + struct ITCallHubEvent { + CONST_VTBL struct ITCallHubEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallHubEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallHubEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallHubEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITCallHubEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallHubEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallHubEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallHubEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallHubEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#define ITCallHubEvent_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub) +#define ITCallHubEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#endif +#endif + HRESULT WINAPI ITCallHubEvent_get_Event_Proxy(ITCallHubEvent *This,CALLHUB_EVENT *pEvent); + void __RPC_STUB ITCallHubEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHubEvent_get_CallHub_Proxy(ITCallHubEvent *This,ITCallHub **ppCallHub); + void __RPC_STUB ITCallHubEvent_get_CallHub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallHubEvent_get_Call_Proxy(ITCallHubEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITCallHubEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddressEvent_INTERFACE_DEFINED__ +#define __ITAddressEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddressEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddressEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_Event(ADDRESS_EVENT *pEvent) = 0; + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + }; +#else + typedef struct ITAddressEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddressEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddressEvent *This); + ULONG (WINAPI *Release)(ITAddressEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddressEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddressEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddressEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddressEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Address)(ITAddressEvent *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_Event)(ITAddressEvent *This,ADDRESS_EVENT *pEvent); + HRESULT (WINAPI *get_Terminal)(ITAddressEvent *This,ITTerminal **ppTerminal); + END_INTERFACE + } ITAddressEventVtbl; + struct ITAddressEvent { + CONST_VTBL struct ITAddressEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddressEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddressEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddressEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAddressEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddressEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddressEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddressEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddressEvent_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITAddressEvent_get_Event(This,pEvent) (This)->lpVtbl->get_Event(This,pEvent) +#define ITAddressEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#endif +#endif + HRESULT WINAPI ITAddressEvent_get_Address_Proxy(ITAddressEvent *This,ITAddress **ppAddress); + void __RPC_STUB ITAddressEvent_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressEvent_get_Event_Proxy(ITAddressEvent *This,ADDRESS_EVENT *pEvent); + void __RPC_STUB ITAddressEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressEvent_get_Terminal_Proxy(ITAddressEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITAddressEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddressDeviceSpecificEvent_INTERFACE_DEFINED__ +#define __ITAddressDeviceSpecificEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddressDeviceSpecificEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddressDeviceSpecificEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_lParam1(__LONG32 *pParam1) = 0; + virtual HRESULT WINAPI get_lParam2(__LONG32 *pParam2) = 0; + virtual HRESULT WINAPI get_lParam3(__LONG32 *pParam3) = 0; + }; +#else + typedef struct ITAddressDeviceSpecificEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddressDeviceSpecificEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddressDeviceSpecificEvent *This); + ULONG (WINAPI *Release)(ITAddressDeviceSpecificEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddressDeviceSpecificEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddressDeviceSpecificEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddressDeviceSpecificEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddressDeviceSpecificEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Address)(ITAddressDeviceSpecificEvent *This,ITAddress **ppAddress); + HRESULT (WINAPI *get_Call)(ITAddressDeviceSpecificEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_lParam1)(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam1); + HRESULT (WINAPI *get_lParam2)(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam2); + HRESULT (WINAPI *get_lParam3)(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam3); + END_INTERFACE + } ITAddressDeviceSpecificEventVtbl; + struct ITAddressDeviceSpecificEvent { + CONST_VTBL struct ITAddressDeviceSpecificEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddressDeviceSpecificEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddressDeviceSpecificEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddressDeviceSpecificEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITAddressDeviceSpecificEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddressDeviceSpecificEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddressDeviceSpecificEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddressDeviceSpecificEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddressDeviceSpecificEvent_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress) +#define ITAddressDeviceSpecificEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITAddressDeviceSpecificEvent_get_lParam1(This,pParam1) (This)->lpVtbl->get_lParam1(This,pParam1) +#define ITAddressDeviceSpecificEvent_get_lParam2(This,pParam2) (This)->lpVtbl->get_lParam2(This,pParam2) +#define ITAddressDeviceSpecificEvent_get_lParam3(This,pParam3) (This)->lpVtbl->get_lParam3(This,pParam3) +#endif +#endif + HRESULT WINAPI ITAddressDeviceSpecificEvent_get_Address_Proxy(ITAddressDeviceSpecificEvent *This,ITAddress **ppAddress); + void __RPC_STUB ITAddressDeviceSpecificEvent_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressDeviceSpecificEvent_get_Call_Proxy(ITAddressDeviceSpecificEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITAddressDeviceSpecificEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressDeviceSpecificEvent_get_lParam1_Proxy(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam1); + void __RPC_STUB ITAddressDeviceSpecificEvent_get_lParam1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressDeviceSpecificEvent_get_lParam2_Proxy(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam2); + void __RPC_STUB ITAddressDeviceSpecificEvent_get_lParam2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressDeviceSpecificEvent_get_lParam3_Proxy(ITAddressDeviceSpecificEvent *This,__LONG32 *pParam3); + void __RPC_STUB ITAddressDeviceSpecificEvent_get_lParam3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITFileTerminalEvent_INTERFACE_DEFINED__ +#define __ITFileTerminalEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITFileTerminalEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITFileTerminalEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_Track(ITFileTrack **ppTrackTerminal) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_State(TERMINAL_MEDIA_STATE *pState) = 0; + virtual HRESULT WINAPI get_Cause(FT_STATE_EVENT_CAUSE *pCause) = 0; + virtual HRESULT WINAPI get_Error(HRESULT *phrErrorCode) = 0; + }; +#else + typedef struct ITFileTerminalEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITFileTerminalEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITFileTerminalEvent *This); + ULONG (WINAPI *Release)(ITFileTerminalEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITFileTerminalEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITFileTerminalEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITFileTerminalEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITFileTerminalEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Terminal)(ITFileTerminalEvent *This,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_Track)(ITFileTerminalEvent *This,ITFileTrack **ppTrackTerminal); + HRESULT (WINAPI *get_Call)(ITFileTerminalEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_State)(ITFileTerminalEvent *This,TERMINAL_MEDIA_STATE *pState); + HRESULT (WINAPI *get_Cause)(ITFileTerminalEvent *This,FT_STATE_EVENT_CAUSE *pCause); + HRESULT (WINAPI *get_Error)(ITFileTerminalEvent *This,HRESULT *phrErrorCode); + END_INTERFACE + } ITFileTerminalEventVtbl; + struct ITFileTerminalEvent { + CONST_VTBL struct ITFileTerminalEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITFileTerminalEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITFileTerminalEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITFileTerminalEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITFileTerminalEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITFileTerminalEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITFileTerminalEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITFileTerminalEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITFileTerminalEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#define ITFileTerminalEvent_get_Track(This,ppTrackTerminal) (This)->lpVtbl->get_Track(This,ppTrackTerminal) +#define ITFileTerminalEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITFileTerminalEvent_get_State(This,pState) (This)->lpVtbl->get_State(This,pState) +#define ITFileTerminalEvent_get_Cause(This,pCause) (This)->lpVtbl->get_Cause(This,pCause) +#define ITFileTerminalEvent_get_Error(This,phrErrorCode) (This)->lpVtbl->get_Error(This,phrErrorCode) +#endif +#endif + HRESULT WINAPI ITFileTerminalEvent_get_Terminal_Proxy(ITFileTerminalEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITFileTerminalEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTerminalEvent_get_Track_Proxy(ITFileTerminalEvent *This,ITFileTrack **ppTrackTerminal); + void __RPC_STUB ITFileTerminalEvent_get_Track_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTerminalEvent_get_Call_Proxy(ITFileTerminalEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITFileTerminalEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTerminalEvent_get_State_Proxy(ITFileTerminalEvent *This,TERMINAL_MEDIA_STATE *pState); + void __RPC_STUB ITFileTerminalEvent_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTerminalEvent_get_Cause_Proxy(ITFileTerminalEvent *This,FT_STATE_EVENT_CAUSE *pCause); + void __RPC_STUB ITFileTerminalEvent_get_Cause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITFileTerminalEvent_get_Error_Proxy(ITFileTerminalEvent *This,HRESULT *phrErrorCode); + void __RPC_STUB ITFileTerminalEvent_get_Error_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTTSTerminalEvent_INTERFACE_DEFINED__ +#define __ITTTSTerminalEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTTSTerminalEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTTSTerminalEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Error(HRESULT *phrErrorCode) = 0; + }; +#else + typedef struct ITTTSTerminalEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTTSTerminalEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTTSTerminalEvent *This); + ULONG (WINAPI *Release)(ITTTSTerminalEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITTTSTerminalEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITTTSTerminalEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITTTSTerminalEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITTTSTerminalEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Terminal)(ITTTSTerminalEvent *This,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_Call)(ITTTSTerminalEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Error)(ITTTSTerminalEvent *This,HRESULT *phrErrorCode); + END_INTERFACE + } ITTTSTerminalEventVtbl; + struct ITTTSTerminalEvent { + CONST_VTBL struct ITTTSTerminalEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTTSTerminalEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTTSTerminalEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTTSTerminalEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITTTSTerminalEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITTTSTerminalEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITTTSTerminalEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITTTSTerminalEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITTTSTerminalEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#define ITTTSTerminalEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITTTSTerminalEvent_get_Error(This,phrErrorCode) (This)->lpVtbl->get_Error(This,phrErrorCode) +#endif +#endif + HRESULT WINAPI ITTTSTerminalEvent_get_Terminal_Proxy(ITTTSTerminalEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITTTSTerminalEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTTSTerminalEvent_get_Call_Proxy(ITTTSTerminalEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITTTSTerminalEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTTSTerminalEvent_get_Error_Proxy(ITTTSTerminalEvent *This,HRESULT *phrErrorCode); + void __RPC_STUB ITTTSTerminalEvent_get_Error_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITASRTerminalEvent_INTERFACE_DEFINED__ +#define __ITASRTerminalEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITASRTerminalEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITASRTerminalEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Error(HRESULT *phrErrorCode) = 0; + }; +#else + typedef struct ITASRTerminalEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITASRTerminalEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITASRTerminalEvent *This); + ULONG (WINAPI *Release)(ITASRTerminalEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITASRTerminalEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITASRTerminalEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITASRTerminalEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITASRTerminalEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Terminal)(ITASRTerminalEvent *This,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_Call)(ITASRTerminalEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Error)(ITASRTerminalEvent *This,HRESULT *phrErrorCode); + END_INTERFACE + } ITASRTerminalEventVtbl; + struct ITASRTerminalEvent { + CONST_VTBL struct ITASRTerminalEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITASRTerminalEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITASRTerminalEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITASRTerminalEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITASRTerminalEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITASRTerminalEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITASRTerminalEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITASRTerminalEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITASRTerminalEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#define ITASRTerminalEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITASRTerminalEvent_get_Error(This,phrErrorCode) (This)->lpVtbl->get_Error(This,phrErrorCode) +#endif +#endif + HRESULT WINAPI ITASRTerminalEvent_get_Terminal_Proxy(ITASRTerminalEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITASRTerminalEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITASRTerminalEvent_get_Call_Proxy(ITASRTerminalEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITASRTerminalEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITASRTerminalEvent_get_Error_Proxy(ITASRTerminalEvent *This,HRESULT *phrErrorCode); + void __RPC_STUB ITASRTerminalEvent_get_Error_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITToneTerminalEvent_INTERFACE_DEFINED__ +#define __ITToneTerminalEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITToneTerminalEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITToneTerminalEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Terminal(ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Error(HRESULT *phrErrorCode) = 0; + }; +#else + typedef struct ITToneTerminalEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITToneTerminalEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITToneTerminalEvent *This); + ULONG (WINAPI *Release)(ITToneTerminalEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITToneTerminalEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITToneTerminalEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITToneTerminalEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITToneTerminalEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Terminal)(ITToneTerminalEvent *This,ITTerminal **ppTerminal); + HRESULT (WINAPI *get_Call)(ITToneTerminalEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Error)(ITToneTerminalEvent *This,HRESULT *phrErrorCode); + END_INTERFACE + } ITToneTerminalEventVtbl; + struct ITToneTerminalEvent { + CONST_VTBL struct ITToneTerminalEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITToneTerminalEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITToneTerminalEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITToneTerminalEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITToneTerminalEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITToneTerminalEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITToneTerminalEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITToneTerminalEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITToneTerminalEvent_get_Terminal(This,ppTerminal) (This)->lpVtbl->get_Terminal(This,ppTerminal) +#define ITToneTerminalEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITToneTerminalEvent_get_Error(This,phrErrorCode) (This)->lpVtbl->get_Error(This,phrErrorCode) +#endif +#endif + HRESULT WINAPI ITToneTerminalEvent_get_Terminal_Proxy(ITToneTerminalEvent *This,ITTerminal **ppTerminal); + void __RPC_STUB ITToneTerminalEvent_get_Terminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITToneTerminalEvent_get_Call_Proxy(ITToneTerminalEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITToneTerminalEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITToneTerminalEvent_get_Error_Proxy(ITToneTerminalEvent *This,HRESULT *phrErrorCode); + void __RPC_STUB ITToneTerminalEvent_get_Error_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITQOSEvent_INTERFACE_DEFINED__ +#define __ITQOSEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITQOSEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITQOSEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Event(QOS_EVENT *pQosEvent) = 0; + virtual HRESULT WINAPI get_MediaType(__LONG32 *plMediaType) = 0; + }; +#else + typedef struct ITQOSEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITQOSEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITQOSEvent *This); + ULONG (WINAPI *Release)(ITQOSEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITQOSEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITQOSEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITQOSEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITQOSEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITQOSEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Event)(ITQOSEvent *This,QOS_EVENT *pQosEvent); + HRESULT (WINAPI *get_MediaType)(ITQOSEvent *This,__LONG32 *plMediaType); + END_INTERFACE + } ITQOSEventVtbl; + struct ITQOSEvent { + CONST_VTBL struct ITQOSEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITQOSEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITQOSEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITQOSEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITQOSEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITQOSEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITQOSEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITQOSEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITQOSEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITQOSEvent_get_Event(This,pQosEvent) (This)->lpVtbl->get_Event(This,pQosEvent) +#define ITQOSEvent_get_MediaType(This,plMediaType) (This)->lpVtbl->get_MediaType(This,plMediaType) +#endif +#endif + HRESULT WINAPI ITQOSEvent_get_Call_Proxy(ITQOSEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITQOSEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQOSEvent_get_Event_Proxy(ITQOSEvent *This,QOS_EVENT *pQosEvent); + void __RPC_STUB ITQOSEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITQOSEvent_get_MediaType_Proxy(ITQOSEvent *This,__LONG32 *plMediaType); + void __RPC_STUB ITQOSEvent_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallInfoChangeEvent_INTERFACE_DEFINED__ +#define __ITCallInfoChangeEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallInfoChangeEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallInfoChangeEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Cause(CALLINFOCHANGE_CAUSE *pCIC) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITCallInfoChangeEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallInfoChangeEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallInfoChangeEvent *This); + ULONG (WINAPI *Release)(ITCallInfoChangeEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallInfoChangeEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallInfoChangeEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallInfoChangeEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallInfoChangeEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITCallInfoChangeEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Cause)(ITCallInfoChangeEvent *This,CALLINFOCHANGE_CAUSE *pCIC); + HRESULT (WINAPI *get_CallbackInstance)(ITCallInfoChangeEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITCallInfoChangeEventVtbl; + struct ITCallInfoChangeEvent { + CONST_VTBL struct ITCallInfoChangeEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallInfoChangeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallInfoChangeEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallInfoChangeEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITCallInfoChangeEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallInfoChangeEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallInfoChangeEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallInfoChangeEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallInfoChangeEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITCallInfoChangeEvent_get_Cause(This,pCIC) (This)->lpVtbl->get_Cause(This,pCIC) +#define ITCallInfoChangeEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITCallInfoChangeEvent_get_Call_Proxy(ITCallInfoChangeEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITCallInfoChangeEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfoChangeEvent_get_Cause_Proxy(ITCallInfoChangeEvent *This,CALLINFOCHANGE_CAUSE *pCIC); + void __RPC_STUB ITCallInfoChangeEvent_get_Cause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallInfoChangeEvent_get_CallbackInstance_Proxy(ITCallInfoChangeEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITCallInfoChangeEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITRequest_INTERFACE_DEFINED__ +#define __ITRequest_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITRequest; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITRequest : public IDispatch { + public: + virtual HRESULT WINAPI MakeCall(BSTR pDestAddress,BSTR pAppName,BSTR pCalledParty,BSTR pComment) = 0; + }; +#else + typedef struct ITRequestVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITRequest *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITRequest *This); + ULONG (WINAPI *Release)(ITRequest *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITRequest *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITRequest *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITRequest *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITRequest *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *MakeCall)(ITRequest *This,BSTR pDestAddress,BSTR pAppName,BSTR pCalledParty,BSTR pComment); + END_INTERFACE + } ITRequestVtbl; + struct ITRequest { + CONST_VTBL struct ITRequestVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITRequest_Release(This) (This)->lpVtbl->Release(This) +#define ITRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITRequest_MakeCall(This,pDestAddress,pAppName,pCalledParty,pComment) (This)->lpVtbl->MakeCall(This,pDestAddress,pAppName,pCalledParty,pComment) +#endif +#endif + HRESULT WINAPI ITRequest_MakeCall_Proxy(ITRequest *This,BSTR pDestAddress,BSTR pAppName,BSTR pCalledParty,BSTR pComment); + void __RPC_STUB ITRequest_MakeCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITRequestEvent_INTERFACE_DEFINED__ +#define __ITRequestEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITRequestEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITRequestEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_RegistrationInstance(__LONG32 *plRegistrationInstance) = 0; + virtual HRESULT WINAPI get_RequestMode(__LONG32 *plRequestMode) = 0; + virtual HRESULT WINAPI get_DestAddress(BSTR *ppDestAddress) = 0; + virtual HRESULT WINAPI get_AppName(BSTR *ppAppName) = 0; + virtual HRESULT WINAPI get_CalledParty(BSTR *ppCalledParty) = 0; + virtual HRESULT WINAPI get_Comment(BSTR *ppComment) = 0; + }; +#else + typedef struct ITRequestEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITRequestEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITRequestEvent *This); + ULONG (WINAPI *Release)(ITRequestEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITRequestEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITRequestEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITRequestEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITRequestEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_RegistrationInstance)(ITRequestEvent *This,__LONG32 *plRegistrationInstance); + HRESULT (WINAPI *get_RequestMode)(ITRequestEvent *This,__LONG32 *plRequestMode); + HRESULT (WINAPI *get_DestAddress)(ITRequestEvent *This,BSTR *ppDestAddress); + HRESULT (WINAPI *get_AppName)(ITRequestEvent *This,BSTR *ppAppName); + HRESULT (WINAPI *get_CalledParty)(ITRequestEvent *This,BSTR *ppCalledParty); + HRESULT (WINAPI *get_Comment)(ITRequestEvent *This,BSTR *ppComment); + END_INTERFACE + } ITRequestEventVtbl; + struct ITRequestEvent { + CONST_VTBL struct ITRequestEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITRequestEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITRequestEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITRequestEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITRequestEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITRequestEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITRequestEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITRequestEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITRequestEvent_get_RegistrationInstance(This,plRegistrationInstance) (This)->lpVtbl->get_RegistrationInstance(This,plRegistrationInstance) +#define ITRequestEvent_get_RequestMode(This,plRequestMode) (This)->lpVtbl->get_RequestMode(This,plRequestMode) +#define ITRequestEvent_get_DestAddress(This,ppDestAddress) (This)->lpVtbl->get_DestAddress(This,ppDestAddress) +#define ITRequestEvent_get_AppName(This,ppAppName) (This)->lpVtbl->get_AppName(This,ppAppName) +#define ITRequestEvent_get_CalledParty(This,ppCalledParty) (This)->lpVtbl->get_CalledParty(This,ppCalledParty) +#define ITRequestEvent_get_Comment(This,ppComment) (This)->lpVtbl->get_Comment(This,ppComment) +#endif +#endif + HRESULT WINAPI ITRequestEvent_get_RegistrationInstance_Proxy(ITRequestEvent *This,__LONG32 *plRegistrationInstance); + void __RPC_STUB ITRequestEvent_get_RegistrationInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITRequestEvent_get_RequestMode_Proxy(ITRequestEvent *This,__LONG32 *plRequestMode); + void __RPC_STUB ITRequestEvent_get_RequestMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITRequestEvent_get_DestAddress_Proxy(ITRequestEvent *This,BSTR *ppDestAddress); + void __RPC_STUB ITRequestEvent_get_DestAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITRequestEvent_get_AppName_Proxy(ITRequestEvent *This,BSTR *ppAppName); + void __RPC_STUB ITRequestEvent_get_AppName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITRequestEvent_get_CalledParty_Proxy(ITRequestEvent *This,BSTR *ppCalledParty); + void __RPC_STUB ITRequestEvent_get_CalledParty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITRequestEvent_get_Comment_Proxy(ITRequestEvent *This,BSTR *ppComment); + void __RPC_STUB ITRequestEvent_get_Comment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCollection_INTERFACE_DEFINED__ +#define __ITCollection_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCollection; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCollection : public IDispatch { + public: + virtual HRESULT WINAPI get_Count(__LONG32 *lCount) = 0; + virtual HRESULT WINAPI get_Item(__LONG32 Index,VARIANT *pVariant) = 0; + virtual HRESULT WINAPI get__NewEnum(IUnknown **ppNewEnum) = 0; + }; +#else + typedef struct ITCollectionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCollection *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCollection *This); + ULONG (WINAPI *Release)(ITCollection *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCollection *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCollection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCollection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCollection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Count)(ITCollection *This,__LONG32 *lCount); + HRESULT (WINAPI *get_Item)(ITCollection *This,__LONG32 Index,VARIANT *pVariant); + HRESULT (WINAPI *get__NewEnum)(ITCollection *This,IUnknown **ppNewEnum); + END_INTERFACE + } ITCollectionVtbl; + struct ITCollection { + CONST_VTBL struct ITCollectionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCollection_Release(This) (This)->lpVtbl->Release(This) +#define ITCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCollection_get_Count(This,lCount) (This)->lpVtbl->get_Count(This,lCount) +#define ITCollection_get_Item(This,Index,pVariant) (This)->lpVtbl->get_Item(This,Index,pVariant) +#define ITCollection_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum) +#endif +#endif + HRESULT WINAPI ITCollection_get_Count_Proxy(ITCollection *This,__LONG32 *lCount); + void __RPC_STUB ITCollection_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCollection_get_Item_Proxy(ITCollection *This,__LONG32 Index,VARIANT *pVariant); + void __RPC_STUB ITCollection_get_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCollection_get__NewEnum_Proxy(ITCollection *This,IUnknown **ppNewEnum); + void __RPC_STUB ITCollection_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCollection2_INTERFACE_DEFINED__ +#define __ITCollection2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCollection2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCollection2 : public ITCollection { + public: + virtual HRESULT WINAPI Add(__LONG32 Index,VARIANT *pVariant) = 0; + virtual HRESULT WINAPI Remove(__LONG32 Index) = 0; + }; +#else + typedef struct ITCollection2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCollection2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCollection2 *This); + ULONG (WINAPI *Release)(ITCollection2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCollection2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCollection2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCollection2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCollection2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Count)(ITCollection2 *This,__LONG32 *lCount); + HRESULT (WINAPI *get_Item)(ITCollection2 *This,__LONG32 Index,VARIANT *pVariant); + HRESULT (WINAPI *get__NewEnum)(ITCollection2 *This,IUnknown **ppNewEnum); + HRESULT (WINAPI *Add)(ITCollection2 *This,__LONG32 Index,VARIANT *pVariant); + HRESULT (WINAPI *Remove)(ITCollection2 *This,__LONG32 Index); + END_INTERFACE + } ITCollection2Vtbl; + struct ITCollection2 { + CONST_VTBL struct ITCollection2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCollection2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCollection2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCollection2_Release(This) (This)->lpVtbl->Release(This) +#define ITCollection2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCollection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCollection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCollection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCollection2_get_Count(This,lCount) (This)->lpVtbl->get_Count(This,lCount) +#define ITCollection2_get_Item(This,Index,pVariant) (This)->lpVtbl->get_Item(This,Index,pVariant) +#define ITCollection2_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum) +#define ITCollection2_Add(This,Index,pVariant) (This)->lpVtbl->Add(This,Index,pVariant) +#define ITCollection2_Remove(This,Index) (This)->lpVtbl->Remove(This,Index) +#endif +#endif + HRESULT WINAPI ITCollection2_Add_Proxy(ITCollection2 *This,__LONG32 Index,VARIANT *pVariant); + void __RPC_STUB ITCollection2_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCollection2_Remove_Proxy(ITCollection2 *This,__LONG32 Index); + void __RPC_STUB ITCollection2_Remove_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITForwardInformation_INTERFACE_DEFINED__ +#define __ITForwardInformation_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITForwardInformation; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITForwardInformation : public IDispatch { + public: + virtual HRESULT WINAPI put_NumRingsNoAnswer(__LONG32 lNumRings) = 0; + virtual HRESULT WINAPI get_NumRingsNoAnswer(__LONG32 *plNumRings) = 0; + virtual HRESULT WINAPI SetForwardType(__LONG32 ForwardType,BSTR pDestAddress,BSTR pCallerAddress) = 0; + virtual HRESULT WINAPI get_ForwardTypeDestination(__LONG32 ForwardType,BSTR *ppDestAddress) = 0; + virtual HRESULT WINAPI get_ForwardTypeCaller(__LONG32 Forwardtype,BSTR *ppCallerAddress) = 0; + virtual HRESULT WINAPI GetForwardType(__LONG32 ForwardType,BSTR *ppDestinationAddress,BSTR *ppCallerAddress) = 0; + virtual HRESULT WINAPI Clear(void) = 0; + }; +#else + typedef struct ITForwardInformationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITForwardInformation *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITForwardInformation *This); + ULONG (WINAPI *Release)(ITForwardInformation *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITForwardInformation *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITForwardInformation *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITForwardInformation *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITForwardInformation *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_NumRingsNoAnswer)(ITForwardInformation *This,__LONG32 lNumRings); + HRESULT (WINAPI *get_NumRingsNoAnswer)(ITForwardInformation *This,__LONG32 *plNumRings); + HRESULT (WINAPI *SetForwardType)(ITForwardInformation *This,__LONG32 ForwardType,BSTR pDestAddress,BSTR pCallerAddress); + HRESULT (WINAPI *get_ForwardTypeDestination)(ITForwardInformation *This,__LONG32 ForwardType,BSTR *ppDestAddress); + HRESULT (WINAPI *get_ForwardTypeCaller)(ITForwardInformation *This,__LONG32 Forwardtype,BSTR *ppCallerAddress); + HRESULT (WINAPI *GetForwardType)(ITForwardInformation *This,__LONG32 ForwardType,BSTR *ppDestinationAddress,BSTR *ppCallerAddress); + HRESULT (WINAPI *Clear)(ITForwardInformation *This); + END_INTERFACE + } ITForwardInformationVtbl; + struct ITForwardInformation { + CONST_VTBL struct ITForwardInformationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITForwardInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITForwardInformation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITForwardInformation_Release(This) (This)->lpVtbl->Release(This) +#define ITForwardInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITForwardInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITForwardInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITForwardInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITForwardInformation_put_NumRingsNoAnswer(This,lNumRings) (This)->lpVtbl->put_NumRingsNoAnswer(This,lNumRings) +#define ITForwardInformation_get_NumRingsNoAnswer(This,plNumRings) (This)->lpVtbl->get_NumRingsNoAnswer(This,plNumRings) +#define ITForwardInformation_SetForwardType(This,ForwardType,pDestAddress,pCallerAddress) (This)->lpVtbl->SetForwardType(This,ForwardType,pDestAddress,pCallerAddress) +#define ITForwardInformation_get_ForwardTypeDestination(This,ForwardType,ppDestAddress) (This)->lpVtbl->get_ForwardTypeDestination(This,ForwardType,ppDestAddress) +#define ITForwardInformation_get_ForwardTypeCaller(This,Forwardtype,ppCallerAddress) (This)->lpVtbl->get_ForwardTypeCaller(This,Forwardtype,ppCallerAddress) +#define ITForwardInformation_GetForwardType(This,ForwardType,ppDestinationAddress,ppCallerAddress) (This)->lpVtbl->GetForwardType(This,ForwardType,ppDestinationAddress,ppCallerAddress) +#define ITForwardInformation_Clear(This) (This)->lpVtbl->Clear(This) +#endif +#endif + HRESULT WINAPI ITForwardInformation_put_NumRingsNoAnswer_Proxy(ITForwardInformation *This,__LONG32 lNumRings); + void __RPC_STUB ITForwardInformation_put_NumRingsNoAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_get_NumRingsNoAnswer_Proxy(ITForwardInformation *This,__LONG32 *plNumRings); + void __RPC_STUB ITForwardInformation_get_NumRingsNoAnswer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_SetForwardType_Proxy(ITForwardInformation *This,__LONG32 ForwardType,BSTR pDestAddress,BSTR pCallerAddress); + void __RPC_STUB ITForwardInformation_SetForwardType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_get_ForwardTypeDestination_Proxy(ITForwardInformation *This,__LONG32 ForwardType,BSTR *ppDestAddress); + void __RPC_STUB ITForwardInformation_get_ForwardTypeDestination_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_get_ForwardTypeCaller_Proxy(ITForwardInformation *This,__LONG32 Forwardtype,BSTR *ppCallerAddress); + void __RPC_STUB ITForwardInformation_get_ForwardTypeCaller_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_GetForwardType_Proxy(ITForwardInformation *This,__LONG32 ForwardType,BSTR *ppDestinationAddress,BSTR *ppCallerAddress); + void __RPC_STUB ITForwardInformation_GetForwardType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation_Clear_Proxy(ITForwardInformation *This); + void __RPC_STUB ITForwardInformation_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITForwardInformation2_INTERFACE_DEFINED__ +#define __ITForwardInformation2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITForwardInformation2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITForwardInformation2 : public ITForwardInformation { + public: + virtual HRESULT WINAPI SetForwardType2(__LONG32 ForwardType,BSTR pDestAddress,__LONG32 DestAddressType,BSTR pCallerAddress,__LONG32 CallerAddressType) = 0; + virtual HRESULT WINAPI GetForwardType2(__LONG32 ForwardType,BSTR *ppDestinationAddress,__LONG32 *pDestAddressType,BSTR *ppCallerAddress,__LONG32 *pCallerAddressType) = 0; + virtual HRESULT WINAPI get_ForwardTypeDestinationAddressType(__LONG32 ForwardType,__LONG32 *pDestAddressType) = 0; + virtual HRESULT WINAPI get_ForwardTypeCallerAddressType(__LONG32 Forwardtype,__LONG32 *pCallerAddressType) = 0; + }; +#else + typedef struct ITForwardInformation2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITForwardInformation2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITForwardInformation2 *This); + ULONG (WINAPI *Release)(ITForwardInformation2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITForwardInformation2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITForwardInformation2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITForwardInformation2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITForwardInformation2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *put_NumRingsNoAnswer)(ITForwardInformation2 *This,__LONG32 lNumRings); + HRESULT (WINAPI *get_NumRingsNoAnswer)(ITForwardInformation2 *This,__LONG32 *plNumRings); + HRESULT (WINAPI *SetForwardType)(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR pDestAddress,BSTR pCallerAddress); + HRESULT (WINAPI *get_ForwardTypeDestination)(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR *ppDestAddress); + HRESULT (WINAPI *get_ForwardTypeCaller)(ITForwardInformation2 *This,__LONG32 Forwardtype,BSTR *ppCallerAddress); + HRESULT (WINAPI *GetForwardType)(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR *ppDestinationAddress,BSTR *ppCallerAddress); + HRESULT (WINAPI *Clear)(ITForwardInformation2 *This); + HRESULT (WINAPI *SetForwardType2)(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR pDestAddress,__LONG32 DestAddressType,BSTR pCallerAddress,__LONG32 CallerAddressType); + HRESULT (WINAPI *GetForwardType2)(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR *ppDestinationAddress,__LONG32 *pDestAddressType,BSTR *ppCallerAddress,__LONG32 *pCallerAddressType); + HRESULT (WINAPI *get_ForwardTypeDestinationAddressType)(ITForwardInformation2 *This,__LONG32 ForwardType,__LONG32 *pDestAddressType); + HRESULT (WINAPI *get_ForwardTypeCallerAddressType)(ITForwardInformation2 *This,__LONG32 Forwardtype,__LONG32 *pCallerAddressType); + END_INTERFACE + } ITForwardInformation2Vtbl; + struct ITForwardInformation2 { + CONST_VTBL struct ITForwardInformation2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITForwardInformation2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITForwardInformation2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITForwardInformation2_Release(This) (This)->lpVtbl->Release(This) +#define ITForwardInformation2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITForwardInformation2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITForwardInformation2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITForwardInformation2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITForwardInformation2_put_NumRingsNoAnswer(This,lNumRings) (This)->lpVtbl->put_NumRingsNoAnswer(This,lNumRings) +#define ITForwardInformation2_get_NumRingsNoAnswer(This,plNumRings) (This)->lpVtbl->get_NumRingsNoAnswer(This,plNumRings) +#define ITForwardInformation2_SetForwardType(This,ForwardType,pDestAddress,pCallerAddress) (This)->lpVtbl->SetForwardType(This,ForwardType,pDestAddress,pCallerAddress) +#define ITForwardInformation2_get_ForwardTypeDestination(This,ForwardType,ppDestAddress) (This)->lpVtbl->get_ForwardTypeDestination(This,ForwardType,ppDestAddress) +#define ITForwardInformation2_get_ForwardTypeCaller(This,Forwardtype,ppCallerAddress) (This)->lpVtbl->get_ForwardTypeCaller(This,Forwardtype,ppCallerAddress) +#define ITForwardInformation2_GetForwardType(This,ForwardType,ppDestinationAddress,ppCallerAddress) (This)->lpVtbl->GetForwardType(This,ForwardType,ppDestinationAddress,ppCallerAddress) +#define ITForwardInformation2_Clear(This) (This)->lpVtbl->Clear(This) +#define ITForwardInformation2_SetForwardType2(This,ForwardType,pDestAddress,DestAddressType,pCallerAddress,CallerAddressType) (This)->lpVtbl->SetForwardType2(This,ForwardType,pDestAddress,DestAddressType,pCallerAddress,CallerAddressType) +#define ITForwardInformation2_GetForwardType2(This,ForwardType,ppDestinationAddress,pDestAddressType,ppCallerAddress,pCallerAddressType) (This)->lpVtbl->GetForwardType2(This,ForwardType,ppDestinationAddress,pDestAddressType,ppCallerAddress,pCallerAddressType) +#define ITForwardInformation2_get_ForwardTypeDestinationAddressType(This,ForwardType,pDestAddressType) (This)->lpVtbl->get_ForwardTypeDestinationAddressType(This,ForwardType,pDestAddressType) +#define ITForwardInformation2_get_ForwardTypeCallerAddressType(This,Forwardtype,pCallerAddressType) (This)->lpVtbl->get_ForwardTypeCallerAddressType(This,Forwardtype,pCallerAddressType) +#endif +#endif + HRESULT WINAPI ITForwardInformation2_SetForwardType2_Proxy(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR pDestAddress,__LONG32 DestAddressType,BSTR pCallerAddress,__LONG32 CallerAddressType); + void __RPC_STUB ITForwardInformation2_SetForwardType2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation2_GetForwardType2_Proxy(ITForwardInformation2 *This,__LONG32 ForwardType,BSTR *ppDestinationAddress,__LONG32 *pDestAddressType,BSTR *ppCallerAddress,__LONG32 *pCallerAddressType); + void __RPC_STUB ITForwardInformation2_GetForwardType2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation2_get_ForwardTypeDestinationAddressType_Proxy(ITForwardInformation2 *This,__LONG32 ForwardType,__LONG32 *pDestAddressType); + void __RPC_STUB ITForwardInformation2_get_ForwardTypeDestinationAddressType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITForwardInformation2_get_ForwardTypeCallerAddressType_Proxy(ITForwardInformation2 *This,__LONG32 Forwardtype,__LONG32 *pCallerAddressType); + void __RPC_STUB ITForwardInformation2_get_ForwardTypeCallerAddressType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddressTranslation_INTERFACE_DEFINED__ +#define __ITAddressTranslation_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddressTranslation; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddressTranslation : public IDispatch { + public: + virtual HRESULT WINAPI TranslateAddress(BSTR pAddressToTranslate,__LONG32 lCard,__LONG32 lTranslateOptions,ITAddressTranslationInfo **ppTranslated) = 0; + virtual HRESULT WINAPI TranslateDialog(TAPIHWND hwndOwner,BSTR pAddressIn) = 0; + virtual HRESULT WINAPI EnumerateLocations(IEnumLocation **ppEnumLocation) = 0; + virtual HRESULT WINAPI get_Locations(VARIANT *pVariant) = 0; + virtual HRESULT WINAPI EnumerateCallingCards(IEnumCallingCard **ppEnumCallingCard) = 0; + virtual HRESULT WINAPI get_CallingCards(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITAddressTranslationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddressTranslation *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddressTranslation *This); + ULONG (WINAPI *Release)(ITAddressTranslation *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddressTranslation *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddressTranslation *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddressTranslation *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddressTranslation *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *TranslateAddress)(ITAddressTranslation *This,BSTR pAddressToTranslate,__LONG32 lCard,__LONG32 lTranslateOptions,ITAddressTranslationInfo **ppTranslated); + HRESULT (WINAPI *TranslateDialog)(ITAddressTranslation *This,TAPIHWND hwndOwner,BSTR pAddressIn); + HRESULT (WINAPI *EnumerateLocations)(ITAddressTranslation *This,IEnumLocation **ppEnumLocation); + HRESULT (WINAPI *get_Locations)(ITAddressTranslation *This,VARIANT *pVariant); + HRESULT (WINAPI *EnumerateCallingCards)(ITAddressTranslation *This,IEnumCallingCard **ppEnumCallingCard); + HRESULT (WINAPI *get_CallingCards)(ITAddressTranslation *This,VARIANT *pVariant); + END_INTERFACE + } ITAddressTranslationVtbl; + struct ITAddressTranslation { + CONST_VTBL struct ITAddressTranslationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddressTranslation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddressTranslation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddressTranslation_Release(This) (This)->lpVtbl->Release(This) +#define ITAddressTranslation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddressTranslation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddressTranslation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddressTranslation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddressTranslation_TranslateAddress(This,pAddressToTranslate,lCard,lTranslateOptions,ppTranslated) (This)->lpVtbl->TranslateAddress(This,pAddressToTranslate,lCard,lTranslateOptions,ppTranslated) +#define ITAddressTranslation_TranslateDialog(This,hwndOwner,pAddressIn) (This)->lpVtbl->TranslateDialog(This,hwndOwner,pAddressIn) +#define ITAddressTranslation_EnumerateLocations(This,ppEnumLocation) (This)->lpVtbl->EnumerateLocations(This,ppEnumLocation) +#define ITAddressTranslation_get_Locations(This,pVariant) (This)->lpVtbl->get_Locations(This,pVariant) +#define ITAddressTranslation_EnumerateCallingCards(This,ppEnumCallingCard) (This)->lpVtbl->EnumerateCallingCards(This,ppEnumCallingCard) +#define ITAddressTranslation_get_CallingCards(This,pVariant) (This)->lpVtbl->get_CallingCards(This,pVariant) +#endif +#endif + HRESULT WINAPI ITAddressTranslation_TranslateAddress_Proxy(ITAddressTranslation *This,BSTR pAddressToTranslate,__LONG32 lCard,__LONG32 lTranslateOptions,ITAddressTranslationInfo **ppTranslated); + void __RPC_STUB ITAddressTranslation_TranslateAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslation_TranslateDialog_Proxy(ITAddressTranslation *This,TAPIHWND hwndOwner,BSTR pAddressIn); + void __RPC_STUB ITAddressTranslation_TranslateDialog_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslation_EnumerateLocations_Proxy(ITAddressTranslation *This,IEnumLocation **ppEnumLocation); + void __RPC_STUB ITAddressTranslation_EnumerateLocations_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslation_get_Locations_Proxy(ITAddressTranslation *This,VARIANT *pVariant); + void __RPC_STUB ITAddressTranslation_get_Locations_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslation_EnumerateCallingCards_Proxy(ITAddressTranslation *This,IEnumCallingCard **ppEnumCallingCard); + void __RPC_STUB ITAddressTranslation_EnumerateCallingCards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslation_get_CallingCards_Proxy(ITAddressTranslation *This,VARIANT *pVariant); + void __RPC_STUB ITAddressTranslation_get_CallingCards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITAddressTranslationInfo_INTERFACE_DEFINED__ +#define __ITAddressTranslationInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITAddressTranslationInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITAddressTranslationInfo : public IDispatch { + public: + virtual HRESULT WINAPI get_DialableString(BSTR *ppDialableString) = 0; + virtual HRESULT WINAPI get_DisplayableString(BSTR *ppDisplayableString) = 0; + virtual HRESULT WINAPI get_CurrentCountryCode(__LONG32 *CountryCode) = 0; + virtual HRESULT WINAPI get_DestinationCountryCode(__LONG32 *CountryCode) = 0; + virtual HRESULT WINAPI get_TranslationResults(__LONG32 *plResults) = 0; + }; +#else + typedef struct ITAddressTranslationInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITAddressTranslationInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITAddressTranslationInfo *This); + ULONG (WINAPI *Release)(ITAddressTranslationInfo *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITAddressTranslationInfo *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITAddressTranslationInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITAddressTranslationInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITAddressTranslationInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_DialableString)(ITAddressTranslationInfo *This,BSTR *ppDialableString); + HRESULT (WINAPI *get_DisplayableString)(ITAddressTranslationInfo *This,BSTR *ppDisplayableString); + HRESULT (WINAPI *get_CurrentCountryCode)(ITAddressTranslationInfo *This,__LONG32 *CountryCode); + HRESULT (WINAPI *get_DestinationCountryCode)(ITAddressTranslationInfo *This,__LONG32 *CountryCode); + HRESULT (WINAPI *get_TranslationResults)(ITAddressTranslationInfo *This,__LONG32 *plResults); + END_INTERFACE + } ITAddressTranslationInfoVtbl; + struct ITAddressTranslationInfo { + CONST_VTBL struct ITAddressTranslationInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITAddressTranslationInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITAddressTranslationInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITAddressTranslationInfo_Release(This) (This)->lpVtbl->Release(This) +#define ITAddressTranslationInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITAddressTranslationInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITAddressTranslationInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITAddressTranslationInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITAddressTranslationInfo_get_DialableString(This,ppDialableString) (This)->lpVtbl->get_DialableString(This,ppDialableString) +#define ITAddressTranslationInfo_get_DisplayableString(This,ppDisplayableString) (This)->lpVtbl->get_DisplayableString(This,ppDisplayableString) +#define ITAddressTranslationInfo_get_CurrentCountryCode(This,CountryCode) (This)->lpVtbl->get_CurrentCountryCode(This,CountryCode) +#define ITAddressTranslationInfo_get_DestinationCountryCode(This,CountryCode) (This)->lpVtbl->get_DestinationCountryCode(This,CountryCode) +#define ITAddressTranslationInfo_get_TranslationResults(This,plResults) (This)->lpVtbl->get_TranslationResults(This,plResults) +#endif +#endif + HRESULT WINAPI ITAddressTranslationInfo_get_DialableString_Proxy(ITAddressTranslationInfo *This,BSTR *ppDialableString); + void __RPC_STUB ITAddressTranslationInfo_get_DialableString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslationInfo_get_DisplayableString_Proxy(ITAddressTranslationInfo *This,BSTR *ppDisplayableString); + void __RPC_STUB ITAddressTranslationInfo_get_DisplayableString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslationInfo_get_CurrentCountryCode_Proxy(ITAddressTranslationInfo *This,__LONG32 *CountryCode); + void __RPC_STUB ITAddressTranslationInfo_get_CurrentCountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslationInfo_get_DestinationCountryCode_Proxy(ITAddressTranslationInfo *This,__LONG32 *CountryCode); + void __RPC_STUB ITAddressTranslationInfo_get_DestinationCountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITAddressTranslationInfo_get_TranslationResults_Proxy(ITAddressTranslationInfo *This,__LONG32 *plResults); + void __RPC_STUB ITAddressTranslationInfo_get_TranslationResults_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLocationInfo_INTERFACE_DEFINED__ +#define __ITLocationInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLocationInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLocationInfo : public IDispatch { + public: + virtual HRESULT WINAPI get_PermanentLocationID(__LONG32 *plLocationID) = 0; + virtual HRESULT WINAPI get_CountryCode(__LONG32 *plCountryCode) = 0; + virtual HRESULT WINAPI get_CountryID(__LONG32 *plCountryID) = 0; + virtual HRESULT WINAPI get_Options(__LONG32 *plOptions) = 0; + virtual HRESULT WINAPI get_PreferredCardID(__LONG32 *plCardID) = 0; + virtual HRESULT WINAPI get_LocationName(BSTR *ppLocationName) = 0; + virtual HRESULT WINAPI get_CityCode(BSTR *ppCode) = 0; + virtual HRESULT WINAPI get_LocalAccessCode(BSTR *ppCode) = 0; + virtual HRESULT WINAPI get_LongDistanceAccessCode(BSTR *ppCode) = 0; + virtual HRESULT WINAPI get_TollPrefixList(BSTR *ppTollList) = 0; + virtual HRESULT WINAPI get_CancelCallWaitingCode(BSTR *ppCode) = 0; + }; +#else + typedef struct ITLocationInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLocationInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLocationInfo *This); + ULONG (WINAPI *Release)(ITLocationInfo *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITLocationInfo *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITLocationInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITLocationInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITLocationInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_PermanentLocationID)(ITLocationInfo *This,__LONG32 *plLocationID); + HRESULT (WINAPI *get_CountryCode)(ITLocationInfo *This,__LONG32 *plCountryCode); + HRESULT (WINAPI *get_CountryID)(ITLocationInfo *This,__LONG32 *plCountryID); + HRESULT (WINAPI *get_Options)(ITLocationInfo *This,__LONG32 *plOptions); + HRESULT (WINAPI *get_PreferredCardID)(ITLocationInfo *This,__LONG32 *plCardID); + HRESULT (WINAPI *get_LocationName)(ITLocationInfo *This,BSTR *ppLocationName); + HRESULT (WINAPI *get_CityCode)(ITLocationInfo *This,BSTR *ppCode); + HRESULT (WINAPI *get_LocalAccessCode)(ITLocationInfo *This,BSTR *ppCode); + HRESULT (WINAPI *get_LongDistanceAccessCode)(ITLocationInfo *This,BSTR *ppCode); + HRESULT (WINAPI *get_TollPrefixList)(ITLocationInfo *This,BSTR *ppTollList); + HRESULT (WINAPI *get_CancelCallWaitingCode)(ITLocationInfo *This,BSTR *ppCode); + END_INTERFACE + } ITLocationInfoVtbl; + struct ITLocationInfo { + CONST_VTBL struct ITLocationInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLocationInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLocationInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLocationInfo_Release(This) (This)->lpVtbl->Release(This) +#define ITLocationInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITLocationInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITLocationInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITLocationInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITLocationInfo_get_PermanentLocationID(This,plLocationID) (This)->lpVtbl->get_PermanentLocationID(This,plLocationID) +#define ITLocationInfo_get_CountryCode(This,plCountryCode) (This)->lpVtbl->get_CountryCode(This,plCountryCode) +#define ITLocationInfo_get_CountryID(This,plCountryID) (This)->lpVtbl->get_CountryID(This,plCountryID) +#define ITLocationInfo_get_Options(This,plOptions) (This)->lpVtbl->get_Options(This,plOptions) +#define ITLocationInfo_get_PreferredCardID(This,plCardID) (This)->lpVtbl->get_PreferredCardID(This,plCardID) +#define ITLocationInfo_get_LocationName(This,ppLocationName) (This)->lpVtbl->get_LocationName(This,ppLocationName) +#define ITLocationInfo_get_CityCode(This,ppCode) (This)->lpVtbl->get_CityCode(This,ppCode) +#define ITLocationInfo_get_LocalAccessCode(This,ppCode) (This)->lpVtbl->get_LocalAccessCode(This,ppCode) +#define ITLocationInfo_get_LongDistanceAccessCode(This,ppCode) (This)->lpVtbl->get_LongDistanceAccessCode(This,ppCode) +#define ITLocationInfo_get_TollPrefixList(This,ppTollList) (This)->lpVtbl->get_TollPrefixList(This,ppTollList) +#define ITLocationInfo_get_CancelCallWaitingCode(This,ppCode) (This)->lpVtbl->get_CancelCallWaitingCode(This,ppCode) +#endif +#endif + HRESULT WINAPI ITLocationInfo_get_PermanentLocationID_Proxy(ITLocationInfo *This,__LONG32 *plLocationID); + void __RPC_STUB ITLocationInfo_get_PermanentLocationID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_CountryCode_Proxy(ITLocationInfo *This,__LONG32 *plCountryCode); + void __RPC_STUB ITLocationInfo_get_CountryCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_CountryID_Proxy(ITLocationInfo *This,__LONG32 *plCountryID); + void __RPC_STUB ITLocationInfo_get_CountryID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_Options_Proxy(ITLocationInfo *This,__LONG32 *plOptions); + void __RPC_STUB ITLocationInfo_get_Options_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_PreferredCardID_Proxy(ITLocationInfo *This,__LONG32 *plCardID); + void __RPC_STUB ITLocationInfo_get_PreferredCardID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_LocationName_Proxy(ITLocationInfo *This,BSTR *ppLocationName); + void __RPC_STUB ITLocationInfo_get_LocationName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_CityCode_Proxy(ITLocationInfo *This,BSTR *ppCode); + void __RPC_STUB ITLocationInfo_get_CityCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_LocalAccessCode_Proxy(ITLocationInfo *This,BSTR *ppCode); + void __RPC_STUB ITLocationInfo_get_LocalAccessCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_LongDistanceAccessCode_Proxy(ITLocationInfo *This,BSTR *ppCode); + void __RPC_STUB ITLocationInfo_get_LongDistanceAccessCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_TollPrefixList_Proxy(ITLocationInfo *This,BSTR *ppTollList); + void __RPC_STUB ITLocationInfo_get_TollPrefixList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITLocationInfo_get_CancelCallWaitingCode_Proxy(ITLocationInfo *This,BSTR *ppCode); + void __RPC_STUB ITLocationInfo_get_CancelCallWaitingCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumLocation_INTERFACE_DEFINED__ +#define __IEnumLocation_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumLocation; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumLocation : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITLocationInfo **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumLocation **ppEnum) = 0; + }; +#else + typedef struct IEnumLocationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumLocation *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumLocation *This); + ULONG (WINAPI *Release)(IEnumLocation *This); + HRESULT (WINAPI *Next)(IEnumLocation *This,ULONG celt,ITLocationInfo **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumLocation *This); + HRESULT (WINAPI *Skip)(IEnumLocation *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumLocation *This,IEnumLocation **ppEnum); + END_INTERFACE + } IEnumLocationVtbl; + struct IEnumLocation { + CONST_VTBL struct IEnumLocationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumLocation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumLocation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumLocation_Release(This) (This)->lpVtbl->Release(This) +#define IEnumLocation_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumLocation_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumLocation_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumLocation_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumLocation_Next_Proxy(IEnumLocation *This,ULONG celt,ITLocationInfo **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumLocation_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumLocation_Reset_Proxy(IEnumLocation *This); + void __RPC_STUB IEnumLocation_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumLocation_Skip_Proxy(IEnumLocation *This,ULONG celt); + void __RPC_STUB IEnumLocation_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumLocation_Clone_Proxy(IEnumLocation *This,IEnumLocation **ppEnum); + void __RPC_STUB IEnumLocation_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallingCard_INTERFACE_DEFINED__ +#define __ITCallingCard_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallingCard; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallingCard : public IDispatch { + public: + virtual HRESULT WINAPI get_PermanentCardID(__LONG32 *plCardID) = 0; + virtual HRESULT WINAPI get_NumberOfDigits(__LONG32 *plDigits) = 0; + virtual HRESULT WINAPI get_Options(__LONG32 *plOptions) = 0; + virtual HRESULT WINAPI get_CardName(BSTR *ppCardName) = 0; + virtual HRESULT WINAPI get_SameAreaDialingRule(BSTR *ppRule) = 0; + virtual HRESULT WINAPI get_LongDistanceDialingRule(BSTR *ppRule) = 0; + virtual HRESULT WINAPI get_InternationalDialingRule(BSTR *ppRule) = 0; + }; +#else + typedef struct ITCallingCardVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallingCard *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallingCard *This); + ULONG (WINAPI *Release)(ITCallingCard *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallingCard *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallingCard *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallingCard *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallingCard *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_PermanentCardID)(ITCallingCard *This,__LONG32 *plCardID); + HRESULT (WINAPI *get_NumberOfDigits)(ITCallingCard *This,__LONG32 *plDigits); + HRESULT (WINAPI *get_Options)(ITCallingCard *This,__LONG32 *plOptions); + HRESULT (WINAPI *get_CardName)(ITCallingCard *This,BSTR *ppCardName); + HRESULT (WINAPI *get_SameAreaDialingRule)(ITCallingCard *This,BSTR *ppRule); + HRESULT (WINAPI *get_LongDistanceDialingRule)(ITCallingCard *This,BSTR *ppRule); + HRESULT (WINAPI *get_InternationalDialingRule)(ITCallingCard *This,BSTR *ppRule); + END_INTERFACE + } ITCallingCardVtbl; + struct ITCallingCard { + CONST_VTBL struct ITCallingCardVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallingCard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallingCard_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallingCard_Release(This) (This)->lpVtbl->Release(This) +#define ITCallingCard_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallingCard_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallingCard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallingCard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallingCard_get_PermanentCardID(This,plCardID) (This)->lpVtbl->get_PermanentCardID(This,plCardID) +#define ITCallingCard_get_NumberOfDigits(This,plDigits) (This)->lpVtbl->get_NumberOfDigits(This,plDigits) +#define ITCallingCard_get_Options(This,plOptions) (This)->lpVtbl->get_Options(This,plOptions) +#define ITCallingCard_get_CardName(This,ppCardName) (This)->lpVtbl->get_CardName(This,ppCardName) +#define ITCallingCard_get_SameAreaDialingRule(This,ppRule) (This)->lpVtbl->get_SameAreaDialingRule(This,ppRule) +#define ITCallingCard_get_LongDistanceDialingRule(This,ppRule) (This)->lpVtbl->get_LongDistanceDialingRule(This,ppRule) +#define ITCallingCard_get_InternationalDialingRule(This,ppRule) (This)->lpVtbl->get_InternationalDialingRule(This,ppRule) +#endif +#endif + HRESULT WINAPI ITCallingCard_get_PermanentCardID_Proxy(ITCallingCard *This,__LONG32 *plCardID); + void __RPC_STUB ITCallingCard_get_PermanentCardID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_NumberOfDigits_Proxy(ITCallingCard *This,__LONG32 *plDigits); + void __RPC_STUB ITCallingCard_get_NumberOfDigits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_Options_Proxy(ITCallingCard *This,__LONG32 *plOptions); + void __RPC_STUB ITCallingCard_get_Options_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_CardName_Proxy(ITCallingCard *This,BSTR *ppCardName); + void __RPC_STUB ITCallingCard_get_CardName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_SameAreaDialingRule_Proxy(ITCallingCard *This,BSTR *ppRule); + void __RPC_STUB ITCallingCard_get_SameAreaDialingRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_LongDistanceDialingRule_Proxy(ITCallingCard *This,BSTR *ppRule); + void __RPC_STUB ITCallingCard_get_LongDistanceDialingRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallingCard_get_InternationalDialingRule_Proxy(ITCallingCard *This,BSTR *ppRule); + void __RPC_STUB ITCallingCard_get_InternationalDialingRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumCallingCard_INTERFACE_DEFINED__ +#define __IEnumCallingCard_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumCallingCard; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumCallingCard : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITCallingCard **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumCallingCard **ppEnum) = 0; + }; +#else + typedef struct IEnumCallingCardVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumCallingCard *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumCallingCard *This); + ULONG (WINAPI *Release)(IEnumCallingCard *This); + HRESULT (WINAPI *Next)(IEnumCallingCard *This,ULONG celt,ITCallingCard **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumCallingCard *This); + HRESULT (WINAPI *Skip)(IEnumCallingCard *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumCallingCard *This,IEnumCallingCard **ppEnum); + END_INTERFACE + } IEnumCallingCardVtbl; + struct IEnumCallingCard { + CONST_VTBL struct IEnumCallingCardVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumCallingCard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumCallingCard_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumCallingCard_Release(This) (This)->lpVtbl->Release(This) +#define IEnumCallingCard_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumCallingCard_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumCallingCard_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumCallingCard_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumCallingCard_Next_Proxy(IEnumCallingCard *This,ULONG celt,ITCallingCard **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumCallingCard_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallingCard_Reset_Proxy(IEnumCallingCard *This); + void __RPC_STUB IEnumCallingCard_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallingCard_Skip_Proxy(IEnumCallingCard *This,ULONG celt); + void __RPC_STUB IEnumCallingCard_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumCallingCard_Clone_Proxy(IEnumCallingCard *This,IEnumCallingCard **ppEnum); + void __RPC_STUB IEnumCallingCard_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITCallNotificationEvent_INTERFACE_DEFINED__ +#define __ITCallNotificationEvent_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITCallNotificationEvent; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITCallNotificationEvent : public IDispatch { + public: + virtual HRESULT WINAPI get_Call(ITCallInfo **ppCall) = 0; + virtual HRESULT WINAPI get_Event(CALL_NOTIFICATION_EVENT *pCallNotificationEvent) = 0; + virtual HRESULT WINAPI get_CallbackInstance(__LONG32 *plCallbackInstance) = 0; + }; +#else + typedef struct ITCallNotificationEventVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITCallNotificationEvent *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITCallNotificationEvent *This); + ULONG (WINAPI *Release)(ITCallNotificationEvent *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITCallNotificationEvent *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITCallNotificationEvent *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITCallNotificationEvent *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITCallNotificationEvent *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Call)(ITCallNotificationEvent *This,ITCallInfo **ppCall); + HRESULT (WINAPI *get_Event)(ITCallNotificationEvent *This,CALL_NOTIFICATION_EVENT *pCallNotificationEvent); + HRESULT (WINAPI *get_CallbackInstance)(ITCallNotificationEvent *This,__LONG32 *plCallbackInstance); + END_INTERFACE + } ITCallNotificationEventVtbl; + struct ITCallNotificationEvent { + CONST_VTBL struct ITCallNotificationEventVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITCallNotificationEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITCallNotificationEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITCallNotificationEvent_Release(This) (This)->lpVtbl->Release(This) +#define ITCallNotificationEvent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITCallNotificationEvent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITCallNotificationEvent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITCallNotificationEvent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITCallNotificationEvent_get_Call(This,ppCall) (This)->lpVtbl->get_Call(This,ppCall) +#define ITCallNotificationEvent_get_Event(This,pCallNotificationEvent) (This)->lpVtbl->get_Event(This,pCallNotificationEvent) +#define ITCallNotificationEvent_get_CallbackInstance(This,plCallbackInstance) (This)->lpVtbl->get_CallbackInstance(This,plCallbackInstance) +#endif +#endif + HRESULT WINAPI ITCallNotificationEvent_get_Call_Proxy(ITCallNotificationEvent *This,ITCallInfo **ppCall); + void __RPC_STUB ITCallNotificationEvent_get_Call_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallNotificationEvent_get_Event_Proxy(ITCallNotificationEvent *This,CALL_NOTIFICATION_EVENT *pCallNotificationEvent); + void __RPC_STUB ITCallNotificationEvent_get_Event_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITCallNotificationEvent_get_CallbackInstance_Proxy(ITCallNotificationEvent *This,__LONG32 *plCallbackInstance); + void __RPC_STUB ITCallNotificationEvent_get_CallbackInstance_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITDispatchMapper_INTERFACE_DEFINED__ +#define __ITDispatchMapper_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITDispatchMapper; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITDispatchMapper : public IDispatch { + public: + virtual HRESULT WINAPI QueryDispatchInterface(BSTR pIID,IDispatch *pInterfaceToMap,IDispatch **ppReturnedInterface) = 0; + }; +#else + typedef struct ITDispatchMapperVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITDispatchMapper *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITDispatchMapper *This); + ULONG (WINAPI *Release)(ITDispatchMapper *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITDispatchMapper *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITDispatchMapper *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITDispatchMapper *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITDispatchMapper *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *QueryDispatchInterface)(ITDispatchMapper *This,BSTR pIID,IDispatch *pInterfaceToMap,IDispatch **ppReturnedInterface); + END_INTERFACE + } ITDispatchMapperVtbl; + struct ITDispatchMapper { + CONST_VTBL struct ITDispatchMapperVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITDispatchMapper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITDispatchMapper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITDispatchMapper_Release(This) (This)->lpVtbl->Release(This) +#define ITDispatchMapper_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITDispatchMapper_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITDispatchMapper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITDispatchMapper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITDispatchMapper_QueryDispatchInterface(This,pIID,pInterfaceToMap,ppReturnedInterface) (This)->lpVtbl->QueryDispatchInterface(This,pIID,pInterfaceToMap,ppReturnedInterface) +#endif +#endif + HRESULT WINAPI ITDispatchMapper_QueryDispatchInterface_Proxy(ITDispatchMapper *This,BSTR pIID,IDispatch *pInterfaceToMap,IDispatch **ppReturnedInterface); + void __RPC_STUB ITDispatchMapper_QueryDispatchInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITStreamControl_INTERFACE_DEFINED__ +#define __ITStreamControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITStreamControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITStreamControl : public IDispatch { + public: + virtual HRESULT WINAPI CreateStream(__LONG32 lMediaType,TERMINAL_DIRECTION td,ITStream **ppStream) = 0; + virtual HRESULT WINAPI RemoveStream(ITStream *pStream) = 0; + virtual HRESULT WINAPI EnumerateStreams(IEnumStream **ppEnumStream) = 0; + virtual HRESULT WINAPI get_Streams(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITStreamControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITStreamControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITStreamControl *This); + ULONG (WINAPI *Release)(ITStreamControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITStreamControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITStreamControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITStreamControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITStreamControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *CreateStream)(ITStreamControl *This,__LONG32 lMediaType,TERMINAL_DIRECTION td,ITStream **ppStream); + HRESULT (WINAPI *RemoveStream)(ITStreamControl *This,ITStream *pStream); + HRESULT (WINAPI *EnumerateStreams)(ITStreamControl *This,IEnumStream **ppEnumStream); + HRESULT (WINAPI *get_Streams)(ITStreamControl *This,VARIANT *pVariant); + END_INTERFACE + } ITStreamControlVtbl; + struct ITStreamControl { + CONST_VTBL struct ITStreamControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITStreamControl_Release(This) (This)->lpVtbl->Release(This) +#define ITStreamControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITStreamControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITStreamControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITStreamControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITStreamControl_CreateStream(This,lMediaType,td,ppStream) (This)->lpVtbl->CreateStream(This,lMediaType,td,ppStream) +#define ITStreamControl_RemoveStream(This,pStream) (This)->lpVtbl->RemoveStream(This,pStream) +#define ITStreamControl_EnumerateStreams(This,ppEnumStream) (This)->lpVtbl->EnumerateStreams(This,ppEnumStream) +#define ITStreamControl_get_Streams(This,pVariant) (This)->lpVtbl->get_Streams(This,pVariant) +#endif +#endif + HRESULT WINAPI ITStreamControl_CreateStream_Proxy(ITStreamControl *This,__LONG32 lMediaType,TERMINAL_DIRECTION td,ITStream **ppStream); + void __RPC_STUB ITStreamControl_CreateStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStreamControl_RemoveStream_Proxy(ITStreamControl *This,ITStream *pStream); + void __RPC_STUB ITStreamControl_RemoveStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStreamControl_EnumerateStreams_Proxy(ITStreamControl *This,IEnumStream **ppEnumStream); + void __RPC_STUB ITStreamControl_EnumerateStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStreamControl_get_Streams_Proxy(ITStreamControl *This,VARIANT *pVariant); + void __RPC_STUB ITStreamControl_get_Streams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITStream_INTERFACE_DEFINED__ +#define __ITStream_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITStream; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITStream : public IDispatch { + public: + virtual HRESULT WINAPI get_MediaType(__LONG32 *plMediaType) = 0; + virtual HRESULT WINAPI get_Direction(TERMINAL_DIRECTION *pTD) = 0; + virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0; + virtual HRESULT WINAPI StartStream(void) = 0; + virtual HRESULT WINAPI PauseStream(void) = 0; + virtual HRESULT WINAPI StopStream(void) = 0; + virtual HRESULT WINAPI SelectTerminal(ITTerminal *pTerminal) = 0; + virtual HRESULT WINAPI UnselectTerminal(ITTerminal *pTerminal) = 0; + virtual HRESULT WINAPI EnumerateTerminals(IEnumTerminal **ppEnumTerminal) = 0; + virtual HRESULT WINAPI get_Terminals(VARIANT *pTerminals) = 0; + }; +#else + typedef struct ITStreamVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITStream *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITStream *This); + ULONG (WINAPI *Release)(ITStream *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITStream *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITStream *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITStream *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITStream *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_MediaType)(ITStream *This,__LONG32 *plMediaType); + HRESULT (WINAPI *get_Direction)(ITStream *This,TERMINAL_DIRECTION *pTD); + HRESULT (WINAPI *get_Name)(ITStream *This,BSTR *ppName); + HRESULT (WINAPI *StartStream)(ITStream *This); + HRESULT (WINAPI *PauseStream)(ITStream *This); + HRESULT (WINAPI *StopStream)(ITStream *This); + HRESULT (WINAPI *SelectTerminal)(ITStream *This,ITTerminal *pTerminal); + HRESULT (WINAPI *UnselectTerminal)(ITStream *This,ITTerminal *pTerminal); + HRESULT (WINAPI *EnumerateTerminals)(ITStream *This,IEnumTerminal **ppEnumTerminal); + HRESULT (WINAPI *get_Terminals)(ITStream *This,VARIANT *pTerminals); + END_INTERFACE + } ITStreamVtbl; + struct ITStream { + CONST_VTBL struct ITStreamVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITStream_Release(This) (This)->lpVtbl->Release(This) +#define ITStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITStream_get_MediaType(This,plMediaType) (This)->lpVtbl->get_MediaType(This,plMediaType) +#define ITStream_get_Direction(This,pTD) (This)->lpVtbl->get_Direction(This,pTD) +#define ITStream_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName) +#define ITStream_StartStream(This) (This)->lpVtbl->StartStream(This) +#define ITStream_PauseStream(This) (This)->lpVtbl->PauseStream(This) +#define ITStream_StopStream(This) (This)->lpVtbl->StopStream(This) +#define ITStream_SelectTerminal(This,pTerminal) (This)->lpVtbl->SelectTerminal(This,pTerminal) +#define ITStream_UnselectTerminal(This,pTerminal) (This)->lpVtbl->UnselectTerminal(This,pTerminal) +#define ITStream_EnumerateTerminals(This,ppEnumTerminal) (This)->lpVtbl->EnumerateTerminals(This,ppEnumTerminal) +#define ITStream_get_Terminals(This,pTerminals) (This)->lpVtbl->get_Terminals(This,pTerminals) +#endif +#endif + HRESULT WINAPI ITStream_get_MediaType_Proxy(ITStream *This,__LONG32 *plMediaType); + void __RPC_STUB ITStream_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_get_Direction_Proxy(ITStream *This,TERMINAL_DIRECTION *pTD); + void __RPC_STUB ITStream_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_get_Name_Proxy(ITStream *This,BSTR *ppName); + void __RPC_STUB ITStream_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_StartStream_Proxy(ITStream *This); + void __RPC_STUB ITStream_StartStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_PauseStream_Proxy(ITStream *This); + void __RPC_STUB ITStream_PauseStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_StopStream_Proxy(ITStream *This); + void __RPC_STUB ITStream_StopStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_SelectTerminal_Proxy(ITStream *This,ITTerminal *pTerminal); + void __RPC_STUB ITStream_SelectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_UnselectTerminal_Proxy(ITStream *This,ITTerminal *pTerminal); + void __RPC_STUB ITStream_UnselectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_EnumerateTerminals_Proxy(ITStream *This,IEnumTerminal **ppEnumTerminal); + void __RPC_STUB ITStream_EnumerateTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITStream_get_Terminals_Proxy(ITStream *This,VARIANT *pTerminals); + void __RPC_STUB ITStream_get_Terminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumStream_INTERFACE_DEFINED__ +#define __IEnumStream_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumStream; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumStream : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITStream **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumStream **ppEnum) = 0; + }; +#else + typedef struct IEnumStreamVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumStream *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumStream *This); + ULONG (WINAPI *Release)(IEnumStream *This); + HRESULT (WINAPI *Next)(IEnumStream *This,ULONG celt,ITStream **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumStream *This); + HRESULT (WINAPI *Skip)(IEnumStream *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumStream *This,IEnumStream **ppEnum); + END_INTERFACE + } IEnumStreamVtbl; + struct IEnumStream { + CONST_VTBL struct IEnumStreamVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumStream_Release(This) (This)->lpVtbl->Release(This) +#define IEnumStream_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumStream_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumStream_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumStream_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumStream_Next_Proxy(IEnumStream *This,ULONG celt,ITStream **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumStream_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumStream_Reset_Proxy(IEnumStream *This); + void __RPC_STUB IEnumStream_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumStream_Skip_Proxy(IEnumStream *This,ULONG celt); + void __RPC_STUB IEnumStream_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumStream_Clone_Proxy(IEnumStream *This,IEnumStream **ppEnum); + void __RPC_STUB IEnumStream_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITSubStreamControl_INTERFACE_DEFINED__ +#define __ITSubStreamControl_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITSubStreamControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITSubStreamControl : public IDispatch { + public: + virtual HRESULT WINAPI CreateSubStream(ITSubStream **ppSubStream) = 0; + virtual HRESULT WINAPI RemoveSubStream(ITSubStream *pSubStream) = 0; + virtual HRESULT WINAPI EnumerateSubStreams(IEnumSubStream **ppEnumSubStream) = 0; + virtual HRESULT WINAPI get_SubStreams(VARIANT *pVariant) = 0; + }; +#else + typedef struct ITSubStreamControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITSubStreamControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITSubStreamControl *This); + ULONG (WINAPI *Release)(ITSubStreamControl *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITSubStreamControl *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITSubStreamControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITSubStreamControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITSubStreamControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *CreateSubStream)(ITSubStreamControl *This,ITSubStream **ppSubStream); + HRESULT (WINAPI *RemoveSubStream)(ITSubStreamControl *This,ITSubStream *pSubStream); + HRESULT (WINAPI *EnumerateSubStreams)(ITSubStreamControl *This,IEnumSubStream **ppEnumSubStream); + HRESULT (WINAPI *get_SubStreams)(ITSubStreamControl *This,VARIANT *pVariant); + END_INTERFACE + } ITSubStreamControlVtbl; + struct ITSubStreamControl { + CONST_VTBL struct ITSubStreamControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITSubStreamControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITSubStreamControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITSubStreamControl_Release(This) (This)->lpVtbl->Release(This) +#define ITSubStreamControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITSubStreamControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITSubStreamControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITSubStreamControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITSubStreamControl_CreateSubStream(This,ppSubStream) (This)->lpVtbl->CreateSubStream(This,ppSubStream) +#define ITSubStreamControl_RemoveSubStream(This,pSubStream) (This)->lpVtbl->RemoveSubStream(This,pSubStream) +#define ITSubStreamControl_EnumerateSubStreams(This,ppEnumSubStream) (This)->lpVtbl->EnumerateSubStreams(This,ppEnumSubStream) +#define ITSubStreamControl_get_SubStreams(This,pVariant) (This)->lpVtbl->get_SubStreams(This,pVariant) +#endif +#endif + HRESULT WINAPI ITSubStreamControl_CreateSubStream_Proxy(ITSubStreamControl *This,ITSubStream **ppSubStream); + void __RPC_STUB ITSubStreamControl_CreateSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStreamControl_RemoveSubStream_Proxy(ITSubStreamControl *This,ITSubStream *pSubStream); + void __RPC_STUB ITSubStreamControl_RemoveSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStreamControl_EnumerateSubStreams_Proxy(ITSubStreamControl *This,IEnumSubStream **ppEnumSubStream); + void __RPC_STUB ITSubStreamControl_EnumerateSubStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStreamControl_get_SubStreams_Proxy(ITSubStreamControl *This,VARIANT *pVariant); + void __RPC_STUB ITSubStreamControl_get_SubStreams_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITSubStream_INTERFACE_DEFINED__ +#define __ITSubStream_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITSubStream; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITSubStream : public IDispatch { + public: + virtual HRESULT WINAPI StartSubStream(void) = 0; + virtual HRESULT WINAPI PauseSubStream(void) = 0; + virtual HRESULT WINAPI StopSubStream(void) = 0; + virtual HRESULT WINAPI SelectTerminal(ITTerminal *pTerminal) = 0; + virtual HRESULT WINAPI UnselectTerminal(ITTerminal *pTerminal) = 0; + virtual HRESULT WINAPI EnumerateTerminals(IEnumTerminal **ppEnumTerminal) = 0; + virtual HRESULT WINAPI get_Terminals(VARIANT *pTerminals) = 0; + virtual HRESULT WINAPI get_Stream(ITStream **ppITStream) = 0; + }; +#else + typedef struct ITSubStreamVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITSubStream *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITSubStream *This); + ULONG (WINAPI *Release)(ITSubStream *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITSubStream *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITSubStream *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITSubStream *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITSubStream *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *StartSubStream)(ITSubStream *This); + HRESULT (WINAPI *PauseSubStream)(ITSubStream *This); + HRESULT (WINAPI *StopSubStream)(ITSubStream *This); + HRESULT (WINAPI *SelectTerminal)(ITSubStream *This,ITTerminal *pTerminal); + HRESULT (WINAPI *UnselectTerminal)(ITSubStream *This,ITTerminal *pTerminal); + HRESULT (WINAPI *EnumerateTerminals)(ITSubStream *This,IEnumTerminal **ppEnumTerminal); + HRESULT (WINAPI *get_Terminals)(ITSubStream *This,VARIANT *pTerminals); + HRESULT (WINAPI *get_Stream)(ITSubStream *This,ITStream **ppITStream); + END_INTERFACE + } ITSubStreamVtbl; + struct ITSubStream { + CONST_VTBL struct ITSubStreamVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITSubStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITSubStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITSubStream_Release(This) (This)->lpVtbl->Release(This) +#define ITSubStream_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITSubStream_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITSubStream_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITSubStream_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITSubStream_StartSubStream(This) (This)->lpVtbl->StartSubStream(This) +#define ITSubStream_PauseSubStream(This) (This)->lpVtbl->PauseSubStream(This) +#define ITSubStream_StopSubStream(This) (This)->lpVtbl->StopSubStream(This) +#define ITSubStream_SelectTerminal(This,pTerminal) (This)->lpVtbl->SelectTerminal(This,pTerminal) +#define ITSubStream_UnselectTerminal(This,pTerminal) (This)->lpVtbl->UnselectTerminal(This,pTerminal) +#define ITSubStream_EnumerateTerminals(This,ppEnumTerminal) (This)->lpVtbl->EnumerateTerminals(This,ppEnumTerminal) +#define ITSubStream_get_Terminals(This,pTerminals) (This)->lpVtbl->get_Terminals(This,pTerminals) +#define ITSubStream_get_Stream(This,ppITStream) (This)->lpVtbl->get_Stream(This,ppITStream) +#endif +#endif + HRESULT WINAPI ITSubStream_StartSubStream_Proxy(ITSubStream *This); + void __RPC_STUB ITSubStream_StartSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_PauseSubStream_Proxy(ITSubStream *This); + void __RPC_STUB ITSubStream_PauseSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_StopSubStream_Proxy(ITSubStream *This); + void __RPC_STUB ITSubStream_StopSubStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_SelectTerminal_Proxy(ITSubStream *This,ITTerminal *pTerminal); + void __RPC_STUB ITSubStream_SelectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_UnselectTerminal_Proxy(ITSubStream *This,ITTerminal *pTerminal); + void __RPC_STUB ITSubStream_UnselectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_EnumerateTerminals_Proxy(ITSubStream *This,IEnumTerminal **ppEnumTerminal); + void __RPC_STUB ITSubStream_EnumerateTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_get_Terminals_Proxy(ITSubStream *This,VARIANT *pTerminals); + void __RPC_STUB ITSubStream_get_Terminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITSubStream_get_Stream_Proxy(ITSubStream *This,ITStream **ppITStream); + void __RPC_STUB ITSubStream_get_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnumSubStream_INTERFACE_DEFINED__ +#define __IEnumSubStream_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IEnumSubStream; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IEnumSubStream : public IUnknown { + public: + virtual HRESULT WINAPI Next(ULONG celt,ITSubStream **ppElements,ULONG *pceltFetched) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI Skip(ULONG celt) = 0; + virtual HRESULT WINAPI Clone(IEnumSubStream **ppEnum) = 0; + }; +#else + typedef struct IEnumSubStreamVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnumSubStream *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnumSubStream *This); + ULONG (WINAPI *Release)(IEnumSubStream *This); + HRESULT (WINAPI *Next)(IEnumSubStream *This,ULONG celt,ITSubStream **ppElements,ULONG *pceltFetched); + HRESULT (WINAPI *Reset)(IEnumSubStream *This); + HRESULT (WINAPI *Skip)(IEnumSubStream *This,ULONG celt); + HRESULT (WINAPI *Clone)(IEnumSubStream *This,IEnumSubStream **ppEnum); + END_INTERFACE + } IEnumSubStreamVtbl; + struct IEnumSubStream { + CONST_VTBL struct IEnumSubStreamVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnumSubStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumSubStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumSubStream_Release(This) (This)->lpVtbl->Release(This) +#define IEnumSubStream_Next(This,celt,ppElements,pceltFetched) (This)->lpVtbl->Next(This,celt,ppElements,pceltFetched) +#define IEnumSubStream_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumSubStream_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumSubStream_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#endif +#endif + HRESULT WINAPI IEnumSubStream_Next_Proxy(IEnumSubStream *This,ULONG celt,ITSubStream **ppElements,ULONG *pceltFetched); + void __RPC_STUB IEnumSubStream_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumSubStream_Reset_Proxy(IEnumSubStream *This); + void __RPC_STUB IEnumSubStream_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumSubStream_Skip_Proxy(IEnumSubStream *This,ULONG celt); + void __RPC_STUB IEnumSubStream_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnumSubStream_Clone_Proxy(IEnumSubStream *This,IEnumSubStream **ppEnum); + void __RPC_STUB IEnumSubStream_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITLegacyWaveSupport_INTERFACE_DEFINED__ +#define __ITLegacyWaveSupport_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITLegacyWaveSupport; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITLegacyWaveSupport : public IDispatch { + public: + virtual HRESULT WINAPI IsFullDuplex(FULLDUPLEX_SUPPORT *pSupport) = 0; + }; +#else + typedef struct ITLegacyWaveSupportVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITLegacyWaveSupport *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITLegacyWaveSupport *This); + ULONG (WINAPI *Release)(ITLegacyWaveSupport *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITLegacyWaveSupport *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITLegacyWaveSupport *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITLegacyWaveSupport *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITLegacyWaveSupport *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *IsFullDuplex)(ITLegacyWaveSupport *This,FULLDUPLEX_SUPPORT *pSupport); + END_INTERFACE + } ITLegacyWaveSupportVtbl; + struct ITLegacyWaveSupport { + CONST_VTBL struct ITLegacyWaveSupportVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITLegacyWaveSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITLegacyWaveSupport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITLegacyWaveSupport_Release(This) (This)->lpVtbl->Release(This) +#define ITLegacyWaveSupport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITLegacyWaveSupport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITLegacyWaveSupport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITLegacyWaveSupport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITLegacyWaveSupport_IsFullDuplex(This,pSupport) (This)->lpVtbl->IsFullDuplex(This,pSupport) +#endif +#endif + HRESULT WINAPI ITLegacyWaveSupport_IsFullDuplex_Proxy(ITLegacyWaveSupport *This,FULLDUPLEX_SUPPORT *pSupport); + void __RPC_STUB ITLegacyWaveSupport_IsFullDuplex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITBasicCallControl2_INTERFACE_DEFINED__ +#define __ITBasicCallControl2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITBasicCallControl2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITBasicCallControl2 : public ITBasicCallControl { + public: + virtual HRESULT WINAPI RequestTerminal(BSTR bstrTerminalClassGUID,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal) = 0; + virtual HRESULT WINAPI SelectTerminalOnCall(ITTerminal *pTerminal) = 0; + virtual HRESULT WINAPI UnselectTerminalOnCall(ITTerminal *pTerminal) = 0; + }; +#else + typedef struct ITBasicCallControl2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITBasicCallControl2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITBasicCallControl2 *This); + ULONG (WINAPI *Release)(ITBasicCallControl2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITBasicCallControl2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITBasicCallControl2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITBasicCallControl2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITBasicCallControl2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *Connect)(ITBasicCallControl2 *This,VARIANT_BOOL fSync); + HRESULT (WINAPI *Answer)(ITBasicCallControl2 *This); + HRESULT (WINAPI *Disconnect)(ITBasicCallControl2 *This,DISCONNECT_CODE code); + HRESULT (WINAPI *Hold)(ITBasicCallControl2 *This,VARIANT_BOOL fHold); + HRESULT (WINAPI *HandoffDirect)(ITBasicCallControl2 *This,BSTR pApplicationName); + HRESULT (WINAPI *HandoffIndirect)(ITBasicCallControl2 *This,__LONG32 lMediaType); + HRESULT (WINAPI *Conference)(ITBasicCallControl2 *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + HRESULT (WINAPI *Transfer)(ITBasicCallControl2 *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync); + HRESULT (WINAPI *BlindTransfer)(ITBasicCallControl2 *This,BSTR pDestAddress); + HRESULT (WINAPI *SwapHold)(ITBasicCallControl2 *This,ITBasicCallControl *pCall); + HRESULT (WINAPI *ParkDirect)(ITBasicCallControl2 *This,BSTR pParkAddress); + HRESULT (WINAPI *ParkIndirect)(ITBasicCallControl2 *This,BSTR *ppNonDirAddress); + HRESULT (WINAPI *Unpark)(ITBasicCallControl2 *This); + HRESULT (WINAPI *SetQOS)(ITBasicCallControl2 *This,__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel); + HRESULT (WINAPI *Pickup)(ITBasicCallControl2 *This,BSTR pGroupID); + HRESULT (WINAPI *Dial)(ITBasicCallControl2 *This,BSTR pDestAddress); + HRESULT (WINAPI *Finish)(ITBasicCallControl2 *This,FINISH_MODE finishMode); + HRESULT (WINAPI *RemoveFromConference)(ITBasicCallControl2 *This); + HRESULT (WINAPI *RequestTerminal)(ITBasicCallControl2 *This,BSTR bstrTerminalClassGUID,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + HRESULT (WINAPI *SelectTerminalOnCall)(ITBasicCallControl2 *This,ITTerminal *pTerminal); + HRESULT (WINAPI *UnselectTerminalOnCall)(ITBasicCallControl2 *This,ITTerminal *pTerminal); + END_INTERFACE + } ITBasicCallControl2Vtbl; + struct ITBasicCallControl2 { + CONST_VTBL struct ITBasicCallControl2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITBasicCallControl2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITBasicCallControl2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITBasicCallControl2_Release(This) (This)->lpVtbl->Release(This) +#define ITBasicCallControl2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITBasicCallControl2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITBasicCallControl2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITBasicCallControl2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITBasicCallControl2_Connect(This,fSync) (This)->lpVtbl->Connect(This,fSync) +#define ITBasicCallControl2_Answer(This) (This)->lpVtbl->Answer(This) +#define ITBasicCallControl2_Disconnect(This,code) (This)->lpVtbl->Disconnect(This,code) +#define ITBasicCallControl2_Hold(This,fHold) (This)->lpVtbl->Hold(This,fHold) +#define ITBasicCallControl2_HandoffDirect(This,pApplicationName) (This)->lpVtbl->HandoffDirect(This,pApplicationName) +#define ITBasicCallControl2_HandoffIndirect(This,lMediaType) (This)->lpVtbl->HandoffIndirect(This,lMediaType) +#define ITBasicCallControl2_Conference(This,pCall,fSync) (This)->lpVtbl->Conference(This,pCall,fSync) +#define ITBasicCallControl2_Transfer(This,pCall,fSync) (This)->lpVtbl->Transfer(This,pCall,fSync) +#define ITBasicCallControl2_BlindTransfer(This,pDestAddress) (This)->lpVtbl->BlindTransfer(This,pDestAddress) +#define ITBasicCallControl2_SwapHold(This,pCall) (This)->lpVtbl->SwapHold(This,pCall) +#define ITBasicCallControl2_ParkDirect(This,pParkAddress) (This)->lpVtbl->ParkDirect(This,pParkAddress) +#define ITBasicCallControl2_ParkIndirect(This,ppNonDirAddress) (This)->lpVtbl->ParkIndirect(This,ppNonDirAddress) +#define ITBasicCallControl2_Unpark(This) (This)->lpVtbl->Unpark(This) +#define ITBasicCallControl2_SetQOS(This,lMediaType,ServiceLevel) (This)->lpVtbl->SetQOS(This,lMediaType,ServiceLevel) +#define ITBasicCallControl2_Pickup(This,pGroupID) (This)->lpVtbl->Pickup(This,pGroupID) +#define ITBasicCallControl2_Dial(This,pDestAddress) (This)->lpVtbl->Dial(This,pDestAddress) +#define ITBasicCallControl2_Finish(This,finishMode) (This)->lpVtbl->Finish(This,finishMode) +#define ITBasicCallControl2_RemoveFromConference(This) (This)->lpVtbl->RemoveFromConference(This) +#define ITBasicCallControl2_RequestTerminal(This,bstrTerminalClassGUID,lMediaType,Direction,ppTerminal) (This)->lpVtbl->RequestTerminal(This,bstrTerminalClassGUID,lMediaType,Direction,ppTerminal) +#define ITBasicCallControl2_SelectTerminalOnCall(This,pTerminal) (This)->lpVtbl->SelectTerminalOnCall(This,pTerminal) +#define ITBasicCallControl2_UnselectTerminalOnCall(This,pTerminal) (This)->lpVtbl->UnselectTerminalOnCall(This,pTerminal) +#endif +#endif + HRESULT WINAPI ITBasicCallControl2_RequestTerminal_Proxy(ITBasicCallControl2 *This,BSTR bstrTerminalClassGUID,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal); + void __RPC_STUB ITBasicCallControl2_RequestTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl2_SelectTerminalOnCall_Proxy(ITBasicCallControl2 *This,ITTerminal *pTerminal); + void __RPC_STUB ITBasicCallControl2_SelectTerminalOnCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITBasicCallControl2_UnselectTerminalOnCall_Proxy(ITBasicCallControl2 *This,ITTerminal *pTerminal); + void __RPC_STUB ITBasicCallControl2_UnselectTerminalOnCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITScriptableAudioFormat_INTERFACE_DEFINED__ +#define __ITScriptableAudioFormat_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITScriptableAudioFormat; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITScriptableAudioFormat : public IDispatch { + public: + virtual HRESULT WINAPI get_Channels(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_Channels(const __LONG32 nNewVal) = 0; + virtual HRESULT WINAPI get_SamplesPerSec(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_SamplesPerSec(const __LONG32 nNewVal) = 0; + virtual HRESULT WINAPI get_AvgBytesPerSec(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_AvgBytesPerSec(const __LONG32 nNewVal) = 0; + virtual HRESULT WINAPI get_BlockAlign(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_BlockAlign(const __LONG32 nNewVal) = 0; + virtual HRESULT WINAPI get_BitsPerSample(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_BitsPerSample(const __LONG32 nNewVal) = 0; + virtual HRESULT WINAPI get_FormatTag(__LONG32 *pVal) = 0; + virtual HRESULT WINAPI put_FormatTag(const __LONG32 nNewVal) = 0; + }; +#else + typedef struct ITScriptableAudioFormatVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITScriptableAudioFormat *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITScriptableAudioFormat *This); + ULONG (WINAPI *Release)(ITScriptableAudioFormat *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITScriptableAudioFormat *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITScriptableAudioFormat *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITScriptableAudioFormat *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITScriptableAudioFormat *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Channels)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_Channels)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + HRESULT (WINAPI *get_SamplesPerSec)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_SamplesPerSec)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + HRESULT (WINAPI *get_AvgBytesPerSec)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_AvgBytesPerSec)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + HRESULT (WINAPI *get_BlockAlign)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_BlockAlign)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + HRESULT (WINAPI *get_BitsPerSample)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_BitsPerSample)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + HRESULT (WINAPI *get_FormatTag)(ITScriptableAudioFormat *This,__LONG32 *pVal); + HRESULT (WINAPI *put_FormatTag)(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + END_INTERFACE + } ITScriptableAudioFormatVtbl; + struct ITScriptableAudioFormat { + CONST_VTBL struct ITScriptableAudioFormatVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITScriptableAudioFormat_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITScriptableAudioFormat_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITScriptableAudioFormat_Release(This) (This)->lpVtbl->Release(This) +#define ITScriptableAudioFormat_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITScriptableAudioFormat_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITScriptableAudioFormat_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITScriptableAudioFormat_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITScriptableAudioFormat_get_Channels(This,pVal) (This)->lpVtbl->get_Channels(This,pVal) +#define ITScriptableAudioFormat_put_Channels(This,nNewVal) (This)->lpVtbl->put_Channels(This,nNewVal) +#define ITScriptableAudioFormat_get_SamplesPerSec(This,pVal) (This)->lpVtbl->get_SamplesPerSec(This,pVal) +#define ITScriptableAudioFormat_put_SamplesPerSec(This,nNewVal) (This)->lpVtbl->put_SamplesPerSec(This,nNewVal) +#define ITScriptableAudioFormat_get_AvgBytesPerSec(This,pVal) (This)->lpVtbl->get_AvgBytesPerSec(This,pVal) +#define ITScriptableAudioFormat_put_AvgBytesPerSec(This,nNewVal) (This)->lpVtbl->put_AvgBytesPerSec(This,nNewVal) +#define ITScriptableAudioFormat_get_BlockAlign(This,pVal) (This)->lpVtbl->get_BlockAlign(This,pVal) +#define ITScriptableAudioFormat_put_BlockAlign(This,nNewVal) (This)->lpVtbl->put_BlockAlign(This,nNewVal) +#define ITScriptableAudioFormat_get_BitsPerSample(This,pVal) (This)->lpVtbl->get_BitsPerSample(This,pVal) +#define ITScriptableAudioFormat_put_BitsPerSample(This,nNewVal) (This)->lpVtbl->put_BitsPerSample(This,nNewVal) +#define ITScriptableAudioFormat_get_FormatTag(This,pVal) (This)->lpVtbl->get_FormatTag(This,pVal) +#define ITScriptableAudioFormat_put_FormatTag(This,nNewVal) (This)->lpVtbl->put_FormatTag(This,nNewVal) +#endif +#endif + HRESULT WINAPI ITScriptableAudioFormat_get_Channels_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_Channels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_Channels_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_Channels_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_get_SamplesPerSec_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_SamplesPerSec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_SamplesPerSec_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_SamplesPerSec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_get_AvgBytesPerSec_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_AvgBytesPerSec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_AvgBytesPerSec_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_AvgBytesPerSec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_get_BlockAlign_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_BlockAlign_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_BlockAlign_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_BlockAlign_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_get_BitsPerSample_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_BitsPerSample_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_BitsPerSample_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_BitsPerSample_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_get_FormatTag_Proxy(ITScriptableAudioFormat *This,__LONG32 *pVal); + void __RPC_STUB ITScriptableAudioFormat_get_FormatTag_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITScriptableAudioFormat_put_FormatTag_Proxy(ITScriptableAudioFormat *This,const __LONG32 nNewVal); + void __RPC_STUB ITScriptableAudioFormat_put_FormatTag_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + EXTERN_C const CLSID CLSID_VideoWindowTerm; + EXTERN_C const CLSID CLSID_VideoInputTerminal; + EXTERN_C const CLSID CLSID_HandsetTerminal; + EXTERN_C const CLSID CLSID_HeadsetTerminal; + EXTERN_C const CLSID CLSID_SpeakerphoneTerminal; + EXTERN_C const CLSID CLSID_MicrophoneTerminal; + EXTERN_C const CLSID CLSID_SpeakersTerminal; + EXTERN_C const CLSID CLSID_MediaStreamTerminal; + EXTERN_C const CLSID CLSID_FileRecordingTerminal; + EXTERN_C const CLSID CLSID_FileRecordingTrack; + EXTERN_C const CLSID CLSID_FilePlaybackTerminal; + +#define TAPIMEDIATYPE_AUDIO 0x8 +#define TAPIMEDIATYPE_VIDEO 0x8000 +#define TAPIMEDIATYPE_DATAMODEM 0x10 +#define TAPIMEDIATYPE_G3FAX 0x20 +#define TAPIMEDIATYPE_MULTITRACK 0x10000 + + EXTERN_C const CLSID TAPIPROTOCOL_PSTN; + EXTERN_C const CLSID TAPIPROTOCOL_H323; + EXTERN_C const CLSID TAPIPROTOCOL_Multicast; + +#define __TapiConstants_MODULE_DEFINED__ + + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0499_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0499_v0_0_s_ifspec; + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *); + unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *); + unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *); + void __RPC_API HWND_UserFree(ULONG *,HWND *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/taskschd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/taskschd.h new file mode 100644 index 00000000..801080b9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/taskschd.h @@ -0,0 +1,8435 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/taskschd.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 __taskschd_h__ +#define __taskschd_h__ + +/* Forward declarations */ + +#ifndef __ITaskService_FWD_DEFINED__ +#define __ITaskService_FWD_DEFINED__ +typedef interface ITaskService ITaskService; +#ifdef __cplusplus +interface ITaskService; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegisteredTask_FWD_DEFINED__ +#define __IRegisteredTask_FWD_DEFINED__ +typedef interface IRegisteredTask IRegisteredTask; +#ifdef __cplusplus +interface IRegisteredTask; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegisteredTaskCollection_FWD_DEFINED__ +#define __IRegisteredTaskCollection_FWD_DEFINED__ +typedef interface IRegisteredTaskCollection IRegisteredTaskCollection; +#ifdef __cplusplus +interface IRegisteredTaskCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegistrationInfo_FWD_DEFINED__ +#define __IRegistrationInfo_FWD_DEFINED__ +typedef interface IRegistrationInfo IRegistrationInfo; +#ifdef __cplusplus +interface IRegistrationInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskFolder_FWD_DEFINED__ +#define __ITaskFolder_FWD_DEFINED__ +typedef interface ITaskFolder ITaskFolder; +#ifdef __cplusplus +interface ITaskFolder; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskFolderCollection_FWD_DEFINED__ +#define __ITaskFolderCollection_FWD_DEFINED__ +typedef interface ITaskFolderCollection ITaskFolderCollection; +#ifdef __cplusplus +interface ITaskFolderCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskDefinition_FWD_DEFINED__ +#define __ITaskDefinition_FWD_DEFINED__ +typedef interface ITaskDefinition ITaskDefinition; +#ifdef __cplusplus +interface ITaskDefinition; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskSettings_FWD_DEFINED__ +#define __ITaskSettings_FWD_DEFINED__ +typedef interface ITaskSettings ITaskSettings; +#ifdef __cplusplus +interface ITaskSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IIdleSettings_FWD_DEFINED__ +#define __IIdleSettings_FWD_DEFINED__ +typedef interface IIdleSettings IIdleSettings; +#ifdef __cplusplus +interface IIdleSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IRunningTask_FWD_DEFINED__ +#define __IRunningTask_FWD_DEFINED__ +typedef interface IRunningTask IRunningTask; +#ifdef __cplusplus +interface IRunningTask; +#endif /* __cplusplus */ +#endif + +#ifndef __IRunningTaskCollection_FWD_DEFINED__ +#define __IRunningTaskCollection_FWD_DEFINED__ +typedef interface IRunningTaskCollection IRunningTaskCollection; +#ifdef __cplusplus +interface IRunningTaskCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskNamedValuePair_FWD_DEFINED__ +#define __ITaskNamedValuePair_FWD_DEFINED__ +typedef interface ITaskNamedValuePair ITaskNamedValuePair; +#ifdef __cplusplus +interface ITaskNamedValuePair; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskNamedValueCollection_FWD_DEFINED__ +#define __ITaskNamedValueCollection_FWD_DEFINED__ +typedef interface ITaskNamedValueCollection ITaskNamedValueCollection; +#ifdef __cplusplus +interface ITaskNamedValueCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITrigger_FWD_DEFINED__ +#define __ITrigger_FWD_DEFINED__ +typedef interface ITrigger ITrigger; +#ifdef __cplusplus +interface ITrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IIdleTrigger_FWD_DEFINED__ +#define __IIdleTrigger_FWD_DEFINED__ +typedef interface IIdleTrigger IIdleTrigger; +#ifdef __cplusplus +interface IIdleTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ILogonTrigger_FWD_DEFINED__ +#define __ILogonTrigger_FWD_DEFINED__ +typedef interface ILogonTrigger ILogonTrigger; +#ifdef __cplusplus +interface ILogonTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ISessionStateChangeTrigger_FWD_DEFINED__ +#define __ISessionStateChangeTrigger_FWD_DEFINED__ +typedef interface ISessionStateChangeTrigger ISessionStateChangeTrigger; +#ifdef __cplusplus +interface ISessionStateChangeTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IEventTrigger_FWD_DEFINED__ +#define __IEventTrigger_FWD_DEFINED__ +typedef interface IEventTrigger IEventTrigger; +#ifdef __cplusplus +interface IEventTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ITimeTrigger_FWD_DEFINED__ +#define __ITimeTrigger_FWD_DEFINED__ +typedef interface ITimeTrigger ITimeTrigger; +#ifdef __cplusplus +interface ITimeTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IDailyTrigger_FWD_DEFINED__ +#define __IDailyTrigger_FWD_DEFINED__ +typedef interface IDailyTrigger IDailyTrigger; +#ifdef __cplusplus +interface IDailyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IWeeklyTrigger_FWD_DEFINED__ +#define __IWeeklyTrigger_FWD_DEFINED__ +typedef interface IWeeklyTrigger IWeeklyTrigger; +#ifdef __cplusplus +interface IWeeklyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IMonthlyTrigger_FWD_DEFINED__ +#define __IMonthlyTrigger_FWD_DEFINED__ +typedef interface IMonthlyTrigger IMonthlyTrigger; +#ifdef __cplusplus +interface IMonthlyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IMonthlyDOWTrigger_FWD_DEFINED__ +#define __IMonthlyDOWTrigger_FWD_DEFINED__ +typedef interface IMonthlyDOWTrigger IMonthlyDOWTrigger; +#ifdef __cplusplus +interface IMonthlyDOWTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IBootTrigger_FWD_DEFINED__ +#define __IBootTrigger_FWD_DEFINED__ +typedef interface IBootTrigger IBootTrigger; +#ifdef __cplusplus +interface IBootTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegistrationTrigger_FWD_DEFINED__ +#define __IRegistrationTrigger_FWD_DEFINED__ +typedef interface IRegistrationTrigger IRegistrationTrigger; +#ifdef __cplusplus +interface IRegistrationTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ITriggerCollection_FWD_DEFINED__ +#define __ITriggerCollection_FWD_DEFINED__ +typedef interface ITriggerCollection ITriggerCollection; +#ifdef __cplusplus +interface ITriggerCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IRepetitionPattern_FWD_DEFINED__ +#define __IRepetitionPattern_FWD_DEFINED__ +typedef interface IRepetitionPattern IRepetitionPattern; +#ifdef __cplusplus +interface IRepetitionPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IAction_FWD_DEFINED__ +#define __IAction_FWD_DEFINED__ +typedef interface IAction IAction; +#ifdef __cplusplus +interface IAction; +#endif /* __cplusplus */ +#endif + +#ifndef __IActionCollection_FWD_DEFINED__ +#define __IActionCollection_FWD_DEFINED__ +typedef interface IActionCollection IActionCollection; +#ifdef __cplusplus +interface IActionCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IExecAction_FWD_DEFINED__ +#define __IExecAction_FWD_DEFINED__ +typedef interface IExecAction IExecAction; +#ifdef __cplusplus +interface IExecAction; +#endif /* __cplusplus */ +#endif + +#ifndef __INetworkSettings_FWD_DEFINED__ +#define __INetworkSettings_FWD_DEFINED__ +typedef interface INetworkSettings INetworkSettings; +#ifdef __cplusplus +interface INetworkSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IPrincipal_FWD_DEFINED__ +#define __IPrincipal_FWD_DEFINED__ +typedef interface IPrincipal IPrincipal; +#ifdef __cplusplus +interface IPrincipal; +#endif /* __cplusplus */ +#endif + +#ifndef __TaskScheduler_FWD_DEFINED__ +#define __TaskScheduler_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TaskScheduler TaskScheduler; +#else +typedef struct TaskScheduler TaskScheduler; +#endif /* defined __cplusplus */ +#endif /* defined __TaskScheduler_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __TaskScheduler_LIBRARY_DEFINED__ +#define __TaskScheduler_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_TaskScheduler, 0xe34cb9f1, 0xc7f7, 0x424c, 0xbe,0x29, 0x02,0x7d,0xcc,0x09,0x36,0x3a); + +typedef enum _TASK_STATE { + TASK_STATE_UNKNOWN = 0, + TASK_STATE_DISABLED = 1, + TASK_STATE_QUEUED = 2, + TASK_STATE_READY = 3, + TASK_STATE_RUNNING = 4 +} TASK_STATE; +typedef enum _TASK_ENUM_FLAGS { + TASK_ENUM_HIDDEN = 0x1 +} TASK_ENUM_FLAGS; +typedef enum _TASK_LOGON_TYPE { + TASK_LOGON_NONE = 0, + TASK_LOGON_PASSWORD = 1, + TASK_LOGON_S4U = 2, + TASK_LOGON_INTERACTIVE_TOKEN = 3, + TASK_LOGON_GROUP = 4, + TASK_LOGON_SERVICE_ACCOUNT = 5, + TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD = 6 +} TASK_LOGON_TYPE; +typedef enum _TASK_RUNLEVEL { + TASK_RUNLEVEL_LUA = 0, + TASK_RUNLEVEL_HIGHEST = 1 +} TASK_RUNLEVEL_TYPE; +typedef enum _TASK_TRIGGER_TYPE2 { + TASK_TRIGGER_EVENT = 0, + TASK_TRIGGER_TIME = 1, + TASK_TRIGGER_DAILY = 2, + TASK_TRIGGER_WEEKLY = 3, + TASK_TRIGGER_MONTHLY = 4, + TASK_TRIGGER_MONTHLYDOW = 5, + TASK_TRIGGER_IDLE = 6, + TASK_TRIGGER_REGISTRATION = 7, + TASK_TRIGGER_BOOT = 8, + TASK_TRIGGER_LOGON = 9, + TASK_TRIGGER_SESSION_STATE_CHANGE = 11, + TASK_TRIGGER_CUSTOM_TRIGGER_01 = 12 +} TASK_TRIGGER_TYPE2; +typedef enum _TASK_SESSION_STATE_CHANGE_TYPE { + TASK_CONSOLE_CONNECT = 1, + TASK_CONSOLE_DISCONNECT = 2, + TASK_REMOTE_CONNECT = 3, + TASK_REMOTE_DISCONNECT = 4, + TASK_SESSION_LOCK = 7, + TASK_SESSION_UNLOCK = 8 +} TASK_SESSION_STATE_CHANGE_TYPE; +typedef enum _TASK_ACTION_TYPE { + TASK_ACTION_EXEC = 0, + TASK_ACTION_COM_HANDLER = 5, + TASK_ACTION_SEND_EMAIL = 6, + TASK_ACTION_SHOW_MESSAGE = 7 +} TASK_ACTION_TYPE; +typedef enum _TASK_INSTANCES_POLICY { + TASK_INSTANCES_PARALLEL = 0, + TASK_INSTANCES_QUEUE = 1, + TASK_INSTANCES_IGNORE_NEW = 2, + TASK_INSTANCES_STOP_EXISTING = 3 +} TASK_INSTANCES_POLICY; +typedef enum _TASK_COMPATIBILITY { + TASK_COMPATIBILITY_AT = 0, + TASK_COMPATIBILITY_V1 = 1, + TASK_COMPATIBILITY_V2 = 2, + TASK_COMPATIBILITY_V2_1 = 3, + TASK_COMPATIBILITY_V2_2 = 4, + TASK_COMPATIBILITY_V2_3 = 5, + TASK_COMPATIBILITY_V2_4 = 6 +} TASK_COMPATIBILITY; +typedef enum _TASK_CREATION { + TASK_VALIDATE_ONLY = 1, + TASK_CREATE = 2, + TASK_UPDATE = 4, + TASK_CREATE_OR_UPDATE = 6, + TASK_DISABLE = 8, + TASK_DONT_ADD_PRINCIPAL_ACE = 16, + TASK_IGNORE_REGISTRATION_TRIGGERS = 32 +} TASK_CREATION; +#ifndef __ITaskService_FWD_DEFINED__ +#define __ITaskService_FWD_DEFINED__ +typedef interface ITaskService ITaskService; +#ifdef __cplusplus +interface ITaskService; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegisteredTask_FWD_DEFINED__ +#define __IRegisteredTask_FWD_DEFINED__ +typedef interface IRegisteredTask IRegisteredTask; +#ifdef __cplusplus +interface IRegisteredTask; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegisteredTaskCollection_FWD_DEFINED__ +#define __IRegisteredTaskCollection_FWD_DEFINED__ +typedef interface IRegisteredTaskCollection IRegisteredTaskCollection; +#ifdef __cplusplus +interface IRegisteredTaskCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegistrationInfo_FWD_DEFINED__ +#define __IRegistrationInfo_FWD_DEFINED__ +typedef interface IRegistrationInfo IRegistrationInfo; +#ifdef __cplusplus +interface IRegistrationInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskFolder_FWD_DEFINED__ +#define __ITaskFolder_FWD_DEFINED__ +typedef interface ITaskFolder ITaskFolder; +#ifdef __cplusplus +interface ITaskFolder; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskFolderCollection_FWD_DEFINED__ +#define __ITaskFolderCollection_FWD_DEFINED__ +typedef interface ITaskFolderCollection ITaskFolderCollection; +#ifdef __cplusplus +interface ITaskFolderCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskDefinition_FWD_DEFINED__ +#define __ITaskDefinition_FWD_DEFINED__ +typedef interface ITaskDefinition ITaskDefinition; +#ifdef __cplusplus +interface ITaskDefinition; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskSettings_FWD_DEFINED__ +#define __ITaskSettings_FWD_DEFINED__ +typedef interface ITaskSettings ITaskSettings; +#ifdef __cplusplus +interface ITaskSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IIdleSettings_FWD_DEFINED__ +#define __IIdleSettings_FWD_DEFINED__ +typedef interface IIdleSettings IIdleSettings; +#ifdef __cplusplus +interface IIdleSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IRunningTask_FWD_DEFINED__ +#define __IRunningTask_FWD_DEFINED__ +typedef interface IRunningTask IRunningTask; +#ifdef __cplusplus +interface IRunningTask; +#endif /* __cplusplus */ +#endif + +#ifndef __IRunningTaskCollection_FWD_DEFINED__ +#define __IRunningTaskCollection_FWD_DEFINED__ +typedef interface IRunningTaskCollection IRunningTaskCollection; +#ifdef __cplusplus +interface IRunningTaskCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskNamedValuePair_FWD_DEFINED__ +#define __ITaskNamedValuePair_FWD_DEFINED__ +typedef interface ITaskNamedValuePair ITaskNamedValuePair; +#ifdef __cplusplus +interface ITaskNamedValuePair; +#endif /* __cplusplus */ +#endif + +#ifndef __ITaskNamedValueCollection_FWD_DEFINED__ +#define __ITaskNamedValueCollection_FWD_DEFINED__ +typedef interface ITaskNamedValueCollection ITaskNamedValueCollection; +#ifdef __cplusplus +interface ITaskNamedValueCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ITrigger_FWD_DEFINED__ +#define __ITrigger_FWD_DEFINED__ +typedef interface ITrigger ITrigger; +#ifdef __cplusplus +interface ITrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ITriggerCollection_FWD_DEFINED__ +#define __ITriggerCollection_FWD_DEFINED__ +typedef interface ITriggerCollection ITriggerCollection; +#ifdef __cplusplus +interface ITriggerCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IIdleTrigger_FWD_DEFINED__ +#define __IIdleTrigger_FWD_DEFINED__ +typedef interface IIdleTrigger IIdleTrigger; +#ifdef __cplusplus +interface IIdleTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ILogonTrigger_FWD_DEFINED__ +#define __ILogonTrigger_FWD_DEFINED__ +typedef interface ILogonTrigger ILogonTrigger; +#ifdef __cplusplus +interface ILogonTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ISessionStateChangeTrigger_FWD_DEFINED__ +#define __ISessionStateChangeTrigger_FWD_DEFINED__ +typedef interface ISessionStateChangeTrigger ISessionStateChangeTrigger; +#ifdef __cplusplus +interface ISessionStateChangeTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IEventTrigger_FWD_DEFINED__ +#define __IEventTrigger_FWD_DEFINED__ +typedef interface IEventTrigger IEventTrigger; +#ifdef __cplusplus +interface IEventTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __ITimeTrigger_FWD_DEFINED__ +#define __ITimeTrigger_FWD_DEFINED__ +typedef interface ITimeTrigger ITimeTrigger; +#ifdef __cplusplus +interface ITimeTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IDailyTrigger_FWD_DEFINED__ +#define __IDailyTrigger_FWD_DEFINED__ +typedef interface IDailyTrigger IDailyTrigger; +#ifdef __cplusplus +interface IDailyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IWeeklyTrigger_FWD_DEFINED__ +#define __IWeeklyTrigger_FWD_DEFINED__ +typedef interface IWeeklyTrigger IWeeklyTrigger; +#ifdef __cplusplus +interface IWeeklyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IMonthlyTrigger_FWD_DEFINED__ +#define __IMonthlyTrigger_FWD_DEFINED__ +typedef interface IMonthlyTrigger IMonthlyTrigger; +#ifdef __cplusplus +interface IMonthlyTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IMonthlyDOWTrigger_FWD_DEFINED__ +#define __IMonthlyDOWTrigger_FWD_DEFINED__ +typedef interface IMonthlyDOWTrigger IMonthlyDOWTrigger; +#ifdef __cplusplus +interface IMonthlyDOWTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IBootTrigger_FWD_DEFINED__ +#define __IBootTrigger_FWD_DEFINED__ +typedef interface IBootTrigger IBootTrigger; +#ifdef __cplusplus +interface IBootTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegistrationTrigger_FWD_DEFINED__ +#define __IRegistrationTrigger_FWD_DEFINED__ +typedef interface IRegistrationTrigger IRegistrationTrigger; +#ifdef __cplusplus +interface IRegistrationTrigger; +#endif /* __cplusplus */ +#endif + +#ifndef __IRepetitionPattern_FWD_DEFINED__ +#define __IRepetitionPattern_FWD_DEFINED__ +typedef interface IRepetitionPattern IRepetitionPattern; +#ifdef __cplusplus +interface IRepetitionPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IAction_FWD_DEFINED__ +#define __IAction_FWD_DEFINED__ +typedef interface IAction IAction; +#ifdef __cplusplus +interface IAction; +#endif /* __cplusplus */ +#endif + +#ifndef __IActionCollection_FWD_DEFINED__ +#define __IActionCollection_FWD_DEFINED__ +typedef interface IActionCollection IActionCollection; +#ifdef __cplusplus +interface IActionCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IExecAction_FWD_DEFINED__ +#define __IExecAction_FWD_DEFINED__ +typedef interface IExecAction IExecAction; +#ifdef __cplusplus +interface IExecAction; +#endif /* __cplusplus */ +#endif + +#ifndef __INetworkSettings_FWD_DEFINED__ +#define __INetworkSettings_FWD_DEFINED__ +typedef interface INetworkSettings INetworkSettings; +#ifdef __cplusplus +interface INetworkSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IPrincipal_FWD_DEFINED__ +#define __IPrincipal_FWD_DEFINED__ +typedef interface IPrincipal IPrincipal; +#ifdef __cplusplus +interface IPrincipal; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * ITaskService interface + */ +#ifndef __ITaskService_INTERFACE_DEFINED__ +#define __ITaskService_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskService, 0x2faba4c7, 0x4da9, 0x4013, 0x96,0x97, 0x20,0xcc,0x3f,0xd4,0x0f,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2faba4c7-4da9-4013-9697-20cc3fd40f85") +ITaskService : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE GetFolder( + BSTR path, + ITaskFolder **folder) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRunningTasks( + LONG flags, + IRunningTaskCollection **tasks) = 0; + + virtual HRESULT STDMETHODCALLTYPE NewTask( + DWORD flags, + ITaskDefinition **definition) = 0; + + virtual HRESULT STDMETHODCALLTYPE Connect( + VARIANT server, + VARIANT user, + VARIANT domain, + VARIANT password) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Connected( + VARIANT_BOOL *connected) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TargetServer( + BSTR *server) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConnectedUser( + BSTR *user) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConnectedDomain( + BSTR *domain) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HighestVersion( + DWORD *version) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskService, 0x2faba4c7, 0x4da9, 0x4013, 0x96,0x97, 0x20,0xcc,0x3f,0xd4,0x0f,0x85) +#endif +#else +typedef struct ITaskServiceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskService *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskService *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskService *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskService *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskService *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskService *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskService *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskService methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFolder)( + ITaskService *This, + BSTR path, + ITaskFolder **folder); + + HRESULT (STDMETHODCALLTYPE *GetRunningTasks)( + ITaskService *This, + LONG flags, + IRunningTaskCollection **tasks); + + HRESULT (STDMETHODCALLTYPE *NewTask)( + ITaskService *This, + DWORD flags, + ITaskDefinition **definition); + + HRESULT (STDMETHODCALLTYPE *Connect)( + ITaskService *This, + VARIANT server, + VARIANT user, + VARIANT domain, + VARIANT password); + + HRESULT (STDMETHODCALLTYPE *get_Connected)( + ITaskService *This, + VARIANT_BOOL *connected); + + HRESULT (STDMETHODCALLTYPE *get_TargetServer)( + ITaskService *This, + BSTR *server); + + HRESULT (STDMETHODCALLTYPE *get_ConnectedUser)( + ITaskService *This, + BSTR *user); + + HRESULT (STDMETHODCALLTYPE *get_ConnectedDomain)( + ITaskService *This, + BSTR *domain); + + HRESULT (STDMETHODCALLTYPE *get_HighestVersion)( + ITaskService *This, + DWORD *version); + + END_INTERFACE +} ITaskServiceVtbl; + +interface ITaskService { + CONST_VTBL ITaskServiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskService_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskService_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskService_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskService_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskService_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskService_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskService methods ***/ +#define ITaskService_GetFolder(This,path,folder) (This)->lpVtbl->GetFolder(This,path,folder) +#define ITaskService_GetRunningTasks(This,flags,tasks) (This)->lpVtbl->GetRunningTasks(This,flags,tasks) +#define ITaskService_NewTask(This,flags,definition) (This)->lpVtbl->NewTask(This,flags,definition) +#define ITaskService_Connect(This,server,user,domain,password) (This)->lpVtbl->Connect(This,server,user,domain,password) +#define ITaskService_get_Connected(This,connected) (This)->lpVtbl->get_Connected(This,connected) +#define ITaskService_get_TargetServer(This,server) (This)->lpVtbl->get_TargetServer(This,server) +#define ITaskService_get_ConnectedUser(This,user) (This)->lpVtbl->get_ConnectedUser(This,user) +#define ITaskService_get_ConnectedDomain(This,domain) (This)->lpVtbl->get_ConnectedDomain(This,domain) +#define ITaskService_get_HighestVersion(This,version) (This)->lpVtbl->get_HighestVersion(This,version) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskService_QueryInterface(ITaskService* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskService_AddRef(ITaskService* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskService_Release(ITaskService* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskService_GetTypeInfoCount(ITaskService* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskService_GetTypeInfo(ITaskService* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskService_GetIDsOfNames(ITaskService* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskService_Invoke(ITaskService* 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); +} +/*** ITaskService methods ***/ +static inline HRESULT ITaskService_GetFolder(ITaskService* This,BSTR path,ITaskFolder **folder) { + return This->lpVtbl->GetFolder(This,path,folder); +} +static inline HRESULT ITaskService_GetRunningTasks(ITaskService* This,LONG flags,IRunningTaskCollection **tasks) { + return This->lpVtbl->GetRunningTasks(This,flags,tasks); +} +static inline HRESULT ITaskService_NewTask(ITaskService* This,DWORD flags,ITaskDefinition **definition) { + return This->lpVtbl->NewTask(This,flags,definition); +} +static inline HRESULT ITaskService_Connect(ITaskService* This,VARIANT server,VARIANT user,VARIANT domain,VARIANT password) { + return This->lpVtbl->Connect(This,server,user,domain,password); +} +static inline HRESULT ITaskService_get_Connected(ITaskService* This,VARIANT_BOOL *connected) { + return This->lpVtbl->get_Connected(This,connected); +} +static inline HRESULT ITaskService_get_TargetServer(ITaskService* This,BSTR *server) { + return This->lpVtbl->get_TargetServer(This,server); +} +static inline HRESULT ITaskService_get_ConnectedUser(ITaskService* This,BSTR *user) { + return This->lpVtbl->get_ConnectedUser(This,user); +} +static inline HRESULT ITaskService_get_ConnectedDomain(ITaskService* This,BSTR *domain) { + return This->lpVtbl->get_ConnectedDomain(This,domain); +} +static inline HRESULT ITaskService_get_HighestVersion(ITaskService* This,DWORD *version) { + return This->lpVtbl->get_HighestVersion(This,version); +} +#endif +#endif + +#endif + + +#endif /* __ITaskService_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRegisteredTask interface + */ +#ifndef __IRegisteredTask_INTERFACE_DEFINED__ +#define __IRegisteredTask_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRegisteredTask, 0x9c86f320, 0xdee3, 0x4dd1, 0xb9,0x72, 0xa3,0x03,0xf2,0x6b,0x06,0x1e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9c86f320-dee3-4dd1-b972-a303f26b061e") +IRegisteredTask : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Path( + BSTR *path) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_State( + TASK_STATE *state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Enabled( + VARIANT_BOOL *enabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Enabled( + VARIANT_BOOL enabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE Run( + VARIANT params, + IRunningTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE RunEx( + VARIANT params, + LONG flags, + LONG sessionID, + BSTR user, + IRunningTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInstances( + LONG flags, + IRunningTaskCollection **tasks) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LastRunTime( + DATE *date) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LastTaskResult( + LONG *result) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NumberOfMissedRuns( + LONG *runs) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NextRunTime( + DATE *date) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Definition( + ITaskDefinition **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Xml( + BSTR *xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSecurityDescriptor( + LONG info, + BSTR *sddl) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSecurityDescriptor( + BSTR sddl, + LONG flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Stop( + LONG flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRunTimes( + const LPSYSTEMTIME start, + const LPSYSTEMTIME end, + DWORD *count, + LPSYSTEMTIME *time) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRegisteredTask, 0x9c86f320, 0xdee3, 0x4dd1, 0xb9,0x72, 0xa3,0x03,0xf2,0x6b,0x06,0x1e) +#endif +#else +typedef struct IRegisteredTaskVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRegisteredTask *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRegisteredTask *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRegisteredTask *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRegisteredTask *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRegisteredTask *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRegisteredTask *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRegisteredTask *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRegisteredTask methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + IRegisteredTask *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_Path)( + IRegisteredTask *This, + BSTR *path); + + HRESULT (STDMETHODCALLTYPE *get_State)( + IRegisteredTask *This, + TASK_STATE *state); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IRegisteredTask *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IRegisteredTask *This, + VARIANT_BOOL enabled); + + HRESULT (STDMETHODCALLTYPE *Run)( + IRegisteredTask *This, + VARIANT params, + IRunningTask **task); + + HRESULT (STDMETHODCALLTYPE *RunEx)( + IRegisteredTask *This, + VARIANT params, + LONG flags, + LONG sessionID, + BSTR user, + IRunningTask **task); + + HRESULT (STDMETHODCALLTYPE *GetInstances)( + IRegisteredTask *This, + LONG flags, + IRunningTaskCollection **tasks); + + HRESULT (STDMETHODCALLTYPE *get_LastRunTime)( + IRegisteredTask *This, + DATE *date); + + HRESULT (STDMETHODCALLTYPE *get_LastTaskResult)( + IRegisteredTask *This, + LONG *result); + + HRESULT (STDMETHODCALLTYPE *get_NumberOfMissedRuns)( + IRegisteredTask *This, + LONG *runs); + + HRESULT (STDMETHODCALLTYPE *get_NextRunTime)( + IRegisteredTask *This, + DATE *date); + + HRESULT (STDMETHODCALLTYPE *get_Definition)( + IRegisteredTask *This, + ITaskDefinition **task); + + HRESULT (STDMETHODCALLTYPE *get_Xml)( + IRegisteredTask *This, + BSTR *xml); + + HRESULT (STDMETHODCALLTYPE *GetSecurityDescriptor)( + IRegisteredTask *This, + LONG info, + BSTR *sddl); + + HRESULT (STDMETHODCALLTYPE *SetSecurityDescriptor)( + IRegisteredTask *This, + BSTR sddl, + LONG flags); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IRegisteredTask *This, + LONG flags); + + HRESULT (STDMETHODCALLTYPE *GetRunTimes)( + IRegisteredTask *This, + const LPSYSTEMTIME start, + const LPSYSTEMTIME end, + DWORD *count, + LPSYSTEMTIME *time); + + END_INTERFACE +} IRegisteredTaskVtbl; + +interface IRegisteredTask { + CONST_VTBL IRegisteredTaskVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRegisteredTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRegisteredTask_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRegisteredTask_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRegisteredTask_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRegisteredTask_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRegisteredTask_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRegisteredTask_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRegisteredTask methods ***/ +#define IRegisteredTask_get_Name(This,name) (This)->lpVtbl->get_Name(This,name) +#define IRegisteredTask_get_Path(This,path) (This)->lpVtbl->get_Path(This,path) +#define IRegisteredTask_get_State(This,state) (This)->lpVtbl->get_State(This,state) +#define IRegisteredTask_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IRegisteredTask_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +#define IRegisteredTask_Run(This,params,task) (This)->lpVtbl->Run(This,params,task) +#define IRegisteredTask_RunEx(This,params,flags,sessionID,user,task) (This)->lpVtbl->RunEx(This,params,flags,sessionID,user,task) +#define IRegisteredTask_GetInstances(This,flags,tasks) (This)->lpVtbl->GetInstances(This,flags,tasks) +#define IRegisteredTask_get_LastRunTime(This,date) (This)->lpVtbl->get_LastRunTime(This,date) +#define IRegisteredTask_get_LastTaskResult(This,result) (This)->lpVtbl->get_LastTaskResult(This,result) +#define IRegisteredTask_get_NumberOfMissedRuns(This,runs) (This)->lpVtbl->get_NumberOfMissedRuns(This,runs) +#define IRegisteredTask_get_NextRunTime(This,date) (This)->lpVtbl->get_NextRunTime(This,date) +#define IRegisteredTask_get_Definition(This,task) (This)->lpVtbl->get_Definition(This,task) +#define IRegisteredTask_get_Xml(This,xml) (This)->lpVtbl->get_Xml(This,xml) +#define IRegisteredTask_GetSecurityDescriptor(This,info,sddl) (This)->lpVtbl->GetSecurityDescriptor(This,info,sddl) +#define IRegisteredTask_SetSecurityDescriptor(This,sddl,flags) (This)->lpVtbl->SetSecurityDescriptor(This,sddl,flags) +#define IRegisteredTask_Stop(This,flags) (This)->lpVtbl->Stop(This,flags) +#define IRegisteredTask_GetRunTimes(This,start,end,count,time) (This)->lpVtbl->GetRunTimes(This,start,end,count,time) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRegisteredTask_QueryInterface(IRegisteredTask* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRegisteredTask_AddRef(IRegisteredTask* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRegisteredTask_Release(IRegisteredTask* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRegisteredTask_GetTypeInfoCount(IRegisteredTask* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRegisteredTask_GetTypeInfo(IRegisteredTask* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRegisteredTask_GetIDsOfNames(IRegisteredTask* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRegisteredTask_Invoke(IRegisteredTask* 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); +} +/*** IRegisteredTask methods ***/ +static inline HRESULT IRegisteredTask_get_Name(IRegisteredTask* This,BSTR *name) { + return This->lpVtbl->get_Name(This,name); +} +static inline HRESULT IRegisteredTask_get_Path(IRegisteredTask* This,BSTR *path) { + return This->lpVtbl->get_Path(This,path); +} +static inline HRESULT IRegisteredTask_get_State(IRegisteredTask* This,TASK_STATE *state) { + return This->lpVtbl->get_State(This,state); +} +static inline HRESULT IRegisteredTask_get_Enabled(IRegisteredTask* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IRegisteredTask_put_Enabled(IRegisteredTask* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +static inline HRESULT IRegisteredTask_Run(IRegisteredTask* This,VARIANT params,IRunningTask **task) { + return This->lpVtbl->Run(This,params,task); +} +static inline HRESULT IRegisteredTask_RunEx(IRegisteredTask* This,VARIANT params,LONG flags,LONG sessionID,BSTR user,IRunningTask **task) { + return This->lpVtbl->RunEx(This,params,flags,sessionID,user,task); +} +static inline HRESULT IRegisteredTask_GetInstances(IRegisteredTask* This,LONG flags,IRunningTaskCollection **tasks) { + return This->lpVtbl->GetInstances(This,flags,tasks); +} +static inline HRESULT IRegisteredTask_get_LastRunTime(IRegisteredTask* This,DATE *date) { + return This->lpVtbl->get_LastRunTime(This,date); +} +static inline HRESULT IRegisteredTask_get_LastTaskResult(IRegisteredTask* This,LONG *result) { + return This->lpVtbl->get_LastTaskResult(This,result); +} +static inline HRESULT IRegisteredTask_get_NumberOfMissedRuns(IRegisteredTask* This,LONG *runs) { + return This->lpVtbl->get_NumberOfMissedRuns(This,runs); +} +static inline HRESULT IRegisteredTask_get_NextRunTime(IRegisteredTask* This,DATE *date) { + return This->lpVtbl->get_NextRunTime(This,date); +} +static inline HRESULT IRegisteredTask_get_Definition(IRegisteredTask* This,ITaskDefinition **task) { + return This->lpVtbl->get_Definition(This,task); +} +static inline HRESULT IRegisteredTask_get_Xml(IRegisteredTask* This,BSTR *xml) { + return This->lpVtbl->get_Xml(This,xml); +} +static inline HRESULT IRegisteredTask_GetSecurityDescriptor(IRegisteredTask* This,LONG info,BSTR *sddl) { + return This->lpVtbl->GetSecurityDescriptor(This,info,sddl); +} +static inline HRESULT IRegisteredTask_SetSecurityDescriptor(IRegisteredTask* This,BSTR sddl,LONG flags) { + return This->lpVtbl->SetSecurityDescriptor(This,sddl,flags); +} +static inline HRESULT IRegisteredTask_Stop(IRegisteredTask* This,LONG flags) { + return This->lpVtbl->Stop(This,flags); +} +static inline HRESULT IRegisteredTask_GetRunTimes(IRegisteredTask* This,const LPSYSTEMTIME start,const LPSYSTEMTIME end,DWORD *count,LPSYSTEMTIME *time) { + return This->lpVtbl->GetRunTimes(This,start,end,count,time); +} +#endif +#endif + +#endif + + +#endif /* __IRegisteredTask_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRegisteredTaskCollection interface + */ +#ifndef __IRegisteredTaskCollection_INTERFACE_DEFINED__ +#define __IRegisteredTaskCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRegisteredTaskCollection, 0x86627eb4, 0x42a7, 0x41e4, 0xa4,0xd9, 0xac,0x33,0xa7,0x2f,0x2d,0x52); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("86627eb4-42a7-41e4-a4d9-ac33a72f2d52") +IRegisteredTaskCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT index, + IRegisteredTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRegisteredTaskCollection, 0x86627eb4, 0x42a7, 0x41e4, 0xa4,0xd9, 0xac,0x33,0xa7,0x2f,0x2d,0x52) +#endif +#else +typedef struct IRegisteredTaskCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRegisteredTaskCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRegisteredTaskCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRegisteredTaskCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRegisteredTaskCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRegisteredTaskCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRegisteredTaskCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRegisteredTaskCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRegisteredTaskCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IRegisteredTaskCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IRegisteredTaskCollection *This, + VARIANT index, + IRegisteredTask **task); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IRegisteredTaskCollection *This, + IUnknown **penum); + + END_INTERFACE +} IRegisteredTaskCollectionVtbl; + +interface IRegisteredTaskCollection { + CONST_VTBL IRegisteredTaskCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRegisteredTaskCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRegisteredTaskCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRegisteredTaskCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRegisteredTaskCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRegisteredTaskCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRegisteredTaskCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRegisteredTaskCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRegisteredTaskCollection methods ***/ +#define IRegisteredTaskCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define IRegisteredTaskCollection_get_Item(This,index,task) (This)->lpVtbl->get_Item(This,index,task) +#define IRegisteredTaskCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRegisteredTaskCollection_QueryInterface(IRegisteredTaskCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRegisteredTaskCollection_AddRef(IRegisteredTaskCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRegisteredTaskCollection_Release(IRegisteredTaskCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRegisteredTaskCollection_GetTypeInfoCount(IRegisteredTaskCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRegisteredTaskCollection_GetTypeInfo(IRegisteredTaskCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRegisteredTaskCollection_GetIDsOfNames(IRegisteredTaskCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRegisteredTaskCollection_Invoke(IRegisteredTaskCollection* 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); +} +/*** IRegisteredTaskCollection methods ***/ +static inline HRESULT IRegisteredTaskCollection_get_Count(IRegisteredTaskCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT IRegisteredTaskCollection_get_Item(IRegisteredTaskCollection* This,VARIANT index,IRegisteredTask **task) { + return This->lpVtbl->get_Item(This,index,task); +} +static inline HRESULT IRegisteredTaskCollection_get__NewEnum(IRegisteredTaskCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +#endif +#endif + +#endif + + +#endif /* __IRegisteredTaskCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRegistrationInfo interface + */ +#ifndef __IRegistrationInfo_INTERFACE_DEFINED__ +#define __IRegistrationInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRegistrationInfo, 0x416d8b73, 0xcb41, 0x4ea1, 0x80,0x5c, 0x9b,0xe9,0xa5,0xac,0x4a,0x74); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("416d8b73-cb41-4ea1-805c-9be9a5ac4a74") +IRegistrationInfo : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *description) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Description( + BSTR description) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Author( + BSTR *author) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Author( + BSTR author) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Version( + BSTR *version) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Version( + BSTR version) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Date( + BSTR *date) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Date( + BSTR date) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Documentation( + BSTR *doc) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Documentation( + BSTR doc) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_XmlText( + BSTR *xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_XmlText( + BSTR xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_URI( + BSTR *uri) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_URI( + BSTR uri) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SecurityDescriptor( + VARIANT *sddl) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SecurityDescriptor( + VARIANT sddl) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Source( + BSTR *source) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Source( + BSTR source) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRegistrationInfo, 0x416d8b73, 0xcb41, 0x4ea1, 0x80,0x5c, 0x9b,0xe9,0xa5,0xac,0x4a,0x74) +#endif +#else +typedef struct IRegistrationInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRegistrationInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRegistrationInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRegistrationInfo *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRegistrationInfo *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRegistrationInfo *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRegistrationInfo *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRegistrationInfo *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRegistrationInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Description)( + IRegistrationInfo *This, + BSTR *description); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IRegistrationInfo *This, + BSTR description); + + HRESULT (STDMETHODCALLTYPE *get_Author)( + IRegistrationInfo *This, + BSTR *author); + + HRESULT (STDMETHODCALLTYPE *put_Author)( + IRegistrationInfo *This, + BSTR author); + + HRESULT (STDMETHODCALLTYPE *get_Version)( + IRegistrationInfo *This, + BSTR *version); + + HRESULT (STDMETHODCALLTYPE *put_Version)( + IRegistrationInfo *This, + BSTR version); + + HRESULT (STDMETHODCALLTYPE *get_Date)( + IRegistrationInfo *This, + BSTR *date); + + HRESULT (STDMETHODCALLTYPE *put_Date)( + IRegistrationInfo *This, + BSTR date); + + HRESULT (STDMETHODCALLTYPE *get_Documentation)( + IRegistrationInfo *This, + BSTR *doc); + + HRESULT (STDMETHODCALLTYPE *put_Documentation)( + IRegistrationInfo *This, + BSTR doc); + + HRESULT (STDMETHODCALLTYPE *get_XmlText)( + IRegistrationInfo *This, + BSTR *xml); + + HRESULT (STDMETHODCALLTYPE *put_XmlText)( + IRegistrationInfo *This, + BSTR xml); + + HRESULT (STDMETHODCALLTYPE *get_URI)( + IRegistrationInfo *This, + BSTR *uri); + + HRESULT (STDMETHODCALLTYPE *put_URI)( + IRegistrationInfo *This, + BSTR uri); + + HRESULT (STDMETHODCALLTYPE *get_SecurityDescriptor)( + IRegistrationInfo *This, + VARIANT *sddl); + + HRESULT (STDMETHODCALLTYPE *put_SecurityDescriptor)( + IRegistrationInfo *This, + VARIANT sddl); + + HRESULT (STDMETHODCALLTYPE *get_Source)( + IRegistrationInfo *This, + BSTR *source); + + HRESULT (STDMETHODCALLTYPE *put_Source)( + IRegistrationInfo *This, + BSTR source); + + END_INTERFACE +} IRegistrationInfoVtbl; + +interface IRegistrationInfo { + CONST_VTBL IRegistrationInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRegistrationInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRegistrationInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRegistrationInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRegistrationInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRegistrationInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRegistrationInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRegistrationInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRegistrationInfo methods ***/ +#define IRegistrationInfo_get_Description(This,description) (This)->lpVtbl->get_Description(This,description) +#define IRegistrationInfo_put_Description(This,description) (This)->lpVtbl->put_Description(This,description) +#define IRegistrationInfo_get_Author(This,author) (This)->lpVtbl->get_Author(This,author) +#define IRegistrationInfo_put_Author(This,author) (This)->lpVtbl->put_Author(This,author) +#define IRegistrationInfo_get_Version(This,version) (This)->lpVtbl->get_Version(This,version) +#define IRegistrationInfo_put_Version(This,version) (This)->lpVtbl->put_Version(This,version) +#define IRegistrationInfo_get_Date(This,date) (This)->lpVtbl->get_Date(This,date) +#define IRegistrationInfo_put_Date(This,date) (This)->lpVtbl->put_Date(This,date) +#define IRegistrationInfo_get_Documentation(This,doc) (This)->lpVtbl->get_Documentation(This,doc) +#define IRegistrationInfo_put_Documentation(This,doc) (This)->lpVtbl->put_Documentation(This,doc) +#define IRegistrationInfo_get_XmlText(This,xml) (This)->lpVtbl->get_XmlText(This,xml) +#define IRegistrationInfo_put_XmlText(This,xml) (This)->lpVtbl->put_XmlText(This,xml) +#define IRegistrationInfo_get_URI(This,uri) (This)->lpVtbl->get_URI(This,uri) +#define IRegistrationInfo_put_URI(This,uri) (This)->lpVtbl->put_URI(This,uri) +#define IRegistrationInfo_get_SecurityDescriptor(This,sddl) (This)->lpVtbl->get_SecurityDescriptor(This,sddl) +#define IRegistrationInfo_put_SecurityDescriptor(This,sddl) (This)->lpVtbl->put_SecurityDescriptor(This,sddl) +#define IRegistrationInfo_get_Source(This,source) (This)->lpVtbl->get_Source(This,source) +#define IRegistrationInfo_put_Source(This,source) (This)->lpVtbl->put_Source(This,source) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRegistrationInfo_QueryInterface(IRegistrationInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRegistrationInfo_AddRef(IRegistrationInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRegistrationInfo_Release(IRegistrationInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRegistrationInfo_GetTypeInfoCount(IRegistrationInfo* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRegistrationInfo_GetTypeInfo(IRegistrationInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRegistrationInfo_GetIDsOfNames(IRegistrationInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRegistrationInfo_Invoke(IRegistrationInfo* 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); +} +/*** IRegistrationInfo methods ***/ +static inline HRESULT IRegistrationInfo_get_Description(IRegistrationInfo* This,BSTR *description) { + return This->lpVtbl->get_Description(This,description); +} +static inline HRESULT IRegistrationInfo_put_Description(IRegistrationInfo* This,BSTR description) { + return This->lpVtbl->put_Description(This,description); +} +static inline HRESULT IRegistrationInfo_get_Author(IRegistrationInfo* This,BSTR *author) { + return This->lpVtbl->get_Author(This,author); +} +static inline HRESULT IRegistrationInfo_put_Author(IRegistrationInfo* This,BSTR author) { + return This->lpVtbl->put_Author(This,author); +} +static inline HRESULT IRegistrationInfo_get_Version(IRegistrationInfo* This,BSTR *version) { + return This->lpVtbl->get_Version(This,version); +} +static inline HRESULT IRegistrationInfo_put_Version(IRegistrationInfo* This,BSTR version) { + return This->lpVtbl->put_Version(This,version); +} +static inline HRESULT IRegistrationInfo_get_Date(IRegistrationInfo* This,BSTR *date) { + return This->lpVtbl->get_Date(This,date); +} +static inline HRESULT IRegistrationInfo_put_Date(IRegistrationInfo* This,BSTR date) { + return This->lpVtbl->put_Date(This,date); +} +static inline HRESULT IRegistrationInfo_get_Documentation(IRegistrationInfo* This,BSTR *doc) { + return This->lpVtbl->get_Documentation(This,doc); +} +static inline HRESULT IRegistrationInfo_put_Documentation(IRegistrationInfo* This,BSTR doc) { + return This->lpVtbl->put_Documentation(This,doc); +} +static inline HRESULT IRegistrationInfo_get_XmlText(IRegistrationInfo* This,BSTR *xml) { + return This->lpVtbl->get_XmlText(This,xml); +} +static inline HRESULT IRegistrationInfo_put_XmlText(IRegistrationInfo* This,BSTR xml) { + return This->lpVtbl->put_XmlText(This,xml); +} +static inline HRESULT IRegistrationInfo_get_URI(IRegistrationInfo* This,BSTR *uri) { + return This->lpVtbl->get_URI(This,uri); +} +static inline HRESULT IRegistrationInfo_put_URI(IRegistrationInfo* This,BSTR uri) { + return This->lpVtbl->put_URI(This,uri); +} +static inline HRESULT IRegistrationInfo_get_SecurityDescriptor(IRegistrationInfo* This,VARIANT *sddl) { + return This->lpVtbl->get_SecurityDescriptor(This,sddl); +} +static inline HRESULT IRegistrationInfo_put_SecurityDescriptor(IRegistrationInfo* This,VARIANT sddl) { + return This->lpVtbl->put_SecurityDescriptor(This,sddl); +} +static inline HRESULT IRegistrationInfo_get_Source(IRegistrationInfo* This,BSTR *source) { + return This->lpVtbl->get_Source(This,source); +} +static inline HRESULT IRegistrationInfo_put_Source(IRegistrationInfo* This,BSTR source) { + return This->lpVtbl->put_Source(This,source); +} +#endif +#endif + +#endif + + +#endif /* __IRegistrationInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskFolder interface + */ +#ifndef __ITaskFolder_INTERFACE_DEFINED__ +#define __ITaskFolder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskFolder, 0x8cfac062, 0xa080, 0x4c15, 0x9a,0x88, 0xaa,0x7c,0x2a,0xf8,0x0d,0xfc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8cfac062-a080-4c15-9a88-aa7c2af80dfc") +ITaskFolder : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Path( + BSTR *path) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFolder( + BSTR path, + ITaskFolder **folder) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFolders( + LONG flags, + ITaskFolderCollection **folders) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFolder( + BSTR name, + VARIANT sddl, + ITaskFolder **folder) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteFolder( + BSTR name, + LONG flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTask( + BSTR path, + IRegisteredTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTasks( + LONG flags, + IRegisteredTaskCollection **tasks) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteTask( + BSTR name, + LONG flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterTask( + BSTR path, + BSTR xml, + LONG flags, + VARIANT user, + VARIANT password, + TASK_LOGON_TYPE logonType, + VARIANT sddl, + IRegisteredTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterTaskDefinition( + BSTR path, + ITaskDefinition *definition, + LONG flags, + VARIANT user, + VARIANT password, + TASK_LOGON_TYPE logon, + VARIANT sddl, + IRegisteredTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSecurityDescriptor( + LONG info, + BSTR *sddl) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSecurityDescriptor( + BSTR sddl, + LONG flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskFolder, 0x8cfac062, 0xa080, 0x4c15, 0x9a,0x88, 0xaa,0x7c,0x2a,0xf8,0x0d,0xfc) +#endif +#else +typedef struct ITaskFolderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskFolder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskFolder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskFolder *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskFolder *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskFolder *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskFolder *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskFolder *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskFolder methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + ITaskFolder *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_Path)( + ITaskFolder *This, + BSTR *path); + + HRESULT (STDMETHODCALLTYPE *GetFolder)( + ITaskFolder *This, + BSTR path, + ITaskFolder **folder); + + HRESULT (STDMETHODCALLTYPE *GetFolders)( + ITaskFolder *This, + LONG flags, + ITaskFolderCollection **folders); + + HRESULT (STDMETHODCALLTYPE *CreateFolder)( + ITaskFolder *This, + BSTR name, + VARIANT sddl, + ITaskFolder **folder); + + HRESULT (STDMETHODCALLTYPE *DeleteFolder)( + ITaskFolder *This, + BSTR name, + LONG flags); + + HRESULT (STDMETHODCALLTYPE *GetTask)( + ITaskFolder *This, + BSTR path, + IRegisteredTask **task); + + HRESULT (STDMETHODCALLTYPE *GetTasks)( + ITaskFolder *This, + LONG flags, + IRegisteredTaskCollection **tasks); + + HRESULT (STDMETHODCALLTYPE *DeleteTask)( + ITaskFolder *This, + BSTR name, + LONG flags); + + HRESULT (STDMETHODCALLTYPE *RegisterTask)( + ITaskFolder *This, + BSTR path, + BSTR xml, + LONG flags, + VARIANT user, + VARIANT password, + TASK_LOGON_TYPE logonType, + VARIANT sddl, + IRegisteredTask **task); + + HRESULT (STDMETHODCALLTYPE *RegisterTaskDefinition)( + ITaskFolder *This, + BSTR path, + ITaskDefinition *definition, + LONG flags, + VARIANT user, + VARIANT password, + TASK_LOGON_TYPE logon, + VARIANT sddl, + IRegisteredTask **task); + + HRESULT (STDMETHODCALLTYPE *GetSecurityDescriptor)( + ITaskFolder *This, + LONG info, + BSTR *sddl); + + HRESULT (STDMETHODCALLTYPE *SetSecurityDescriptor)( + ITaskFolder *This, + BSTR sddl, + LONG flags); + + END_INTERFACE +} ITaskFolderVtbl; + +interface ITaskFolder { + CONST_VTBL ITaskFolderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskFolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskFolder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskFolder_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskFolder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskFolder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskFolder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskFolder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskFolder methods ***/ +#define ITaskFolder_get_Name(This,name) (This)->lpVtbl->get_Name(This,name) +#define ITaskFolder_get_Path(This,path) (This)->lpVtbl->get_Path(This,path) +#define ITaskFolder_GetFolder(This,path,folder) (This)->lpVtbl->GetFolder(This,path,folder) +#define ITaskFolder_GetFolders(This,flags,folders) (This)->lpVtbl->GetFolders(This,flags,folders) +#define ITaskFolder_CreateFolder(This,name,sddl,folder) (This)->lpVtbl->CreateFolder(This,name,sddl,folder) +#define ITaskFolder_DeleteFolder(This,name,flags) (This)->lpVtbl->DeleteFolder(This,name,flags) +#define ITaskFolder_GetTask(This,path,task) (This)->lpVtbl->GetTask(This,path,task) +#define ITaskFolder_GetTasks(This,flags,tasks) (This)->lpVtbl->GetTasks(This,flags,tasks) +#define ITaskFolder_DeleteTask(This,name,flags) (This)->lpVtbl->DeleteTask(This,name,flags) +#define ITaskFolder_RegisterTask(This,path,xml,flags,user,password,logonType,sddl,task) (This)->lpVtbl->RegisterTask(This,path,xml,flags,user,password,logonType,sddl,task) +#define ITaskFolder_RegisterTaskDefinition(This,path,definition,flags,user,password,logon,sddl,task) (This)->lpVtbl->RegisterTaskDefinition(This,path,definition,flags,user,password,logon,sddl,task) +#define ITaskFolder_GetSecurityDescriptor(This,info,sddl) (This)->lpVtbl->GetSecurityDescriptor(This,info,sddl) +#define ITaskFolder_SetSecurityDescriptor(This,sddl,flags) (This)->lpVtbl->SetSecurityDescriptor(This,sddl,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskFolder_QueryInterface(ITaskFolder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskFolder_AddRef(ITaskFolder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskFolder_Release(ITaskFolder* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskFolder_GetTypeInfoCount(ITaskFolder* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskFolder_GetTypeInfo(ITaskFolder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskFolder_GetIDsOfNames(ITaskFolder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskFolder_Invoke(ITaskFolder* 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); +} +/*** ITaskFolder methods ***/ +static inline HRESULT ITaskFolder_get_Name(ITaskFolder* This,BSTR *name) { + return This->lpVtbl->get_Name(This,name); +} +static inline HRESULT ITaskFolder_get_Path(ITaskFolder* This,BSTR *path) { + return This->lpVtbl->get_Path(This,path); +} +static inline HRESULT ITaskFolder_GetFolder(ITaskFolder* This,BSTR path,ITaskFolder **folder) { + return This->lpVtbl->GetFolder(This,path,folder); +} +static inline HRESULT ITaskFolder_GetFolders(ITaskFolder* This,LONG flags,ITaskFolderCollection **folders) { + return This->lpVtbl->GetFolders(This,flags,folders); +} +static inline HRESULT ITaskFolder_CreateFolder(ITaskFolder* This,BSTR name,VARIANT sddl,ITaskFolder **folder) { + return This->lpVtbl->CreateFolder(This,name,sddl,folder); +} +static inline HRESULT ITaskFolder_DeleteFolder(ITaskFolder* This,BSTR name,LONG flags) { + return This->lpVtbl->DeleteFolder(This,name,flags); +} +static inline HRESULT ITaskFolder_GetTask(ITaskFolder* This,BSTR path,IRegisteredTask **task) { + return This->lpVtbl->GetTask(This,path,task); +} +static inline HRESULT ITaskFolder_GetTasks(ITaskFolder* This,LONG flags,IRegisteredTaskCollection **tasks) { + return This->lpVtbl->GetTasks(This,flags,tasks); +} +static inline HRESULT ITaskFolder_DeleteTask(ITaskFolder* This,BSTR name,LONG flags) { + return This->lpVtbl->DeleteTask(This,name,flags); +} +static inline HRESULT ITaskFolder_RegisterTask(ITaskFolder* This,BSTR path,BSTR xml,LONG flags,VARIANT user,VARIANT password,TASK_LOGON_TYPE logonType,VARIANT sddl,IRegisteredTask **task) { + return This->lpVtbl->RegisterTask(This,path,xml,flags,user,password,logonType,sddl,task); +} +static inline HRESULT ITaskFolder_RegisterTaskDefinition(ITaskFolder* This,BSTR path,ITaskDefinition *definition,LONG flags,VARIANT user,VARIANT password,TASK_LOGON_TYPE logon,VARIANT sddl,IRegisteredTask **task) { + return This->lpVtbl->RegisterTaskDefinition(This,path,definition,flags,user,password,logon,sddl,task); +} +static inline HRESULT ITaskFolder_GetSecurityDescriptor(ITaskFolder* This,LONG info,BSTR *sddl) { + return This->lpVtbl->GetSecurityDescriptor(This,info,sddl); +} +static inline HRESULT ITaskFolder_SetSecurityDescriptor(ITaskFolder* This,BSTR sddl,LONG flags) { + return This->lpVtbl->SetSecurityDescriptor(This,sddl,flags); +} +#endif +#endif + +#endif + + +#endif /* __ITaskFolder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskFolderCollection interface + */ +#ifndef __ITaskFolderCollection_INTERFACE_DEFINED__ +#define __ITaskFolderCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskFolderCollection, 0x79184a66, 0x8664, 0x423f, 0x97,0xf1, 0x63,0x73,0x56,0xa5,0xd8,0x12); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79184a66-8664-423f-97f1-637356a5d812") +ITaskFolderCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT index, + ITaskFolder **folder) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskFolderCollection, 0x79184a66, 0x8664, 0x423f, 0x97,0xf1, 0x63,0x73,0x56,0xa5,0xd8,0x12) +#endif +#else +typedef struct ITaskFolderCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskFolderCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskFolderCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskFolderCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskFolderCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskFolderCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskFolderCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskFolderCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskFolderCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + ITaskFolderCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + ITaskFolderCollection *This, + VARIANT index, + ITaskFolder **folder); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ITaskFolderCollection *This, + IUnknown **penum); + + END_INTERFACE +} ITaskFolderCollectionVtbl; + +interface ITaskFolderCollection { + CONST_VTBL ITaskFolderCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskFolderCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskFolderCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskFolderCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskFolderCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskFolderCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskFolderCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskFolderCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskFolderCollection methods ***/ +#define ITaskFolderCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define ITaskFolderCollection_get_Item(This,index,folder) (This)->lpVtbl->get_Item(This,index,folder) +#define ITaskFolderCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskFolderCollection_QueryInterface(ITaskFolderCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskFolderCollection_AddRef(ITaskFolderCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskFolderCollection_Release(ITaskFolderCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskFolderCollection_GetTypeInfoCount(ITaskFolderCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskFolderCollection_GetTypeInfo(ITaskFolderCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskFolderCollection_GetIDsOfNames(ITaskFolderCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskFolderCollection_Invoke(ITaskFolderCollection* 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); +} +/*** ITaskFolderCollection methods ***/ +static inline HRESULT ITaskFolderCollection_get_Count(ITaskFolderCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT ITaskFolderCollection_get_Item(ITaskFolderCollection* This,VARIANT index,ITaskFolder **folder) { + return This->lpVtbl->get_Item(This,index,folder); +} +static inline HRESULT ITaskFolderCollection_get__NewEnum(ITaskFolderCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +#endif +#endif + +#endif + + +#endif /* __ITaskFolderCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskDefinition interface + */ +#ifndef __ITaskDefinition_INTERFACE_DEFINED__ +#define __ITaskDefinition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskDefinition, 0xf5bc8fc5, 0x536d, 0x4f77, 0xb8,0x52, 0xfb,0xc1,0x35,0x6f,0xde,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f5bc8fc5-536d-4f77-b852-fbc1356fdeb6") +ITaskDefinition : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_RegistrationInfo( + IRegistrationInfo **info) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RegistrationInfo( + IRegistrationInfo *info) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Triggers( + ITriggerCollection **triggers) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Triggers( + ITriggerCollection *triggers) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Settings( + ITaskSettings **settings) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Settings( + ITaskSettings *settings) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Data( + BSTR *data) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Data( + BSTR data) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Principal( + IPrincipal **principal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Principal( + IPrincipal *principal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Actions( + IActionCollection **actions) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Actions( + IActionCollection *actions) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_XmlText( + BSTR *xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_XmlText( + BSTR xml) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskDefinition, 0xf5bc8fc5, 0x536d, 0x4f77, 0xb8,0x52, 0xfb,0xc1,0x35,0x6f,0xde,0xb6) +#endif +#else +typedef struct ITaskDefinitionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskDefinition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskDefinition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskDefinition *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskDefinition *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskDefinition *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskDefinition *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskDefinition *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskDefinition methods ***/ + HRESULT (STDMETHODCALLTYPE *get_RegistrationInfo)( + ITaskDefinition *This, + IRegistrationInfo **info); + + HRESULT (STDMETHODCALLTYPE *put_RegistrationInfo)( + ITaskDefinition *This, + IRegistrationInfo *info); + + HRESULT (STDMETHODCALLTYPE *get_Triggers)( + ITaskDefinition *This, + ITriggerCollection **triggers); + + HRESULT (STDMETHODCALLTYPE *put_Triggers)( + ITaskDefinition *This, + ITriggerCollection *triggers); + + HRESULT (STDMETHODCALLTYPE *get_Settings)( + ITaskDefinition *This, + ITaskSettings **settings); + + HRESULT (STDMETHODCALLTYPE *put_Settings)( + ITaskDefinition *This, + ITaskSettings *settings); + + HRESULT (STDMETHODCALLTYPE *get_Data)( + ITaskDefinition *This, + BSTR *data); + + HRESULT (STDMETHODCALLTYPE *put_Data)( + ITaskDefinition *This, + BSTR data); + + HRESULT (STDMETHODCALLTYPE *get_Principal)( + ITaskDefinition *This, + IPrincipal **principal); + + HRESULT (STDMETHODCALLTYPE *put_Principal)( + ITaskDefinition *This, + IPrincipal *principal); + + HRESULT (STDMETHODCALLTYPE *get_Actions)( + ITaskDefinition *This, + IActionCollection **actions); + + HRESULT (STDMETHODCALLTYPE *put_Actions)( + ITaskDefinition *This, + IActionCollection *actions); + + HRESULT (STDMETHODCALLTYPE *get_XmlText)( + ITaskDefinition *This, + BSTR *xml); + + HRESULT (STDMETHODCALLTYPE *put_XmlText)( + ITaskDefinition *This, + BSTR xml); + + END_INTERFACE +} ITaskDefinitionVtbl; + +interface ITaskDefinition { + CONST_VTBL ITaskDefinitionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskDefinition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskDefinition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskDefinition_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskDefinition_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskDefinition_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskDefinition_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskDefinition_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskDefinition methods ***/ +#define ITaskDefinition_get_RegistrationInfo(This,info) (This)->lpVtbl->get_RegistrationInfo(This,info) +#define ITaskDefinition_put_RegistrationInfo(This,info) (This)->lpVtbl->put_RegistrationInfo(This,info) +#define ITaskDefinition_get_Triggers(This,triggers) (This)->lpVtbl->get_Triggers(This,triggers) +#define ITaskDefinition_put_Triggers(This,triggers) (This)->lpVtbl->put_Triggers(This,triggers) +#define ITaskDefinition_get_Settings(This,settings) (This)->lpVtbl->get_Settings(This,settings) +#define ITaskDefinition_put_Settings(This,settings) (This)->lpVtbl->put_Settings(This,settings) +#define ITaskDefinition_get_Data(This,data) (This)->lpVtbl->get_Data(This,data) +#define ITaskDefinition_put_Data(This,data) (This)->lpVtbl->put_Data(This,data) +#define ITaskDefinition_get_Principal(This,principal) (This)->lpVtbl->get_Principal(This,principal) +#define ITaskDefinition_put_Principal(This,principal) (This)->lpVtbl->put_Principal(This,principal) +#define ITaskDefinition_get_Actions(This,actions) (This)->lpVtbl->get_Actions(This,actions) +#define ITaskDefinition_put_Actions(This,actions) (This)->lpVtbl->put_Actions(This,actions) +#define ITaskDefinition_get_XmlText(This,xml) (This)->lpVtbl->get_XmlText(This,xml) +#define ITaskDefinition_put_XmlText(This,xml) (This)->lpVtbl->put_XmlText(This,xml) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskDefinition_QueryInterface(ITaskDefinition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskDefinition_AddRef(ITaskDefinition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskDefinition_Release(ITaskDefinition* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskDefinition_GetTypeInfoCount(ITaskDefinition* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskDefinition_GetTypeInfo(ITaskDefinition* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskDefinition_GetIDsOfNames(ITaskDefinition* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskDefinition_Invoke(ITaskDefinition* 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); +} +/*** ITaskDefinition methods ***/ +static inline HRESULT ITaskDefinition_get_RegistrationInfo(ITaskDefinition* This,IRegistrationInfo **info) { + return This->lpVtbl->get_RegistrationInfo(This,info); +} +static inline HRESULT ITaskDefinition_put_RegistrationInfo(ITaskDefinition* This,IRegistrationInfo *info) { + return This->lpVtbl->put_RegistrationInfo(This,info); +} +static inline HRESULT ITaskDefinition_get_Triggers(ITaskDefinition* This,ITriggerCollection **triggers) { + return This->lpVtbl->get_Triggers(This,triggers); +} +static inline HRESULT ITaskDefinition_put_Triggers(ITaskDefinition* This,ITriggerCollection *triggers) { + return This->lpVtbl->put_Triggers(This,triggers); +} +static inline HRESULT ITaskDefinition_get_Settings(ITaskDefinition* This,ITaskSettings **settings) { + return This->lpVtbl->get_Settings(This,settings); +} +static inline HRESULT ITaskDefinition_put_Settings(ITaskDefinition* This,ITaskSettings *settings) { + return This->lpVtbl->put_Settings(This,settings); +} +static inline HRESULT ITaskDefinition_get_Data(ITaskDefinition* This,BSTR *data) { + return This->lpVtbl->get_Data(This,data); +} +static inline HRESULT ITaskDefinition_put_Data(ITaskDefinition* This,BSTR data) { + return This->lpVtbl->put_Data(This,data); +} +static inline HRESULT ITaskDefinition_get_Principal(ITaskDefinition* This,IPrincipal **principal) { + return This->lpVtbl->get_Principal(This,principal); +} +static inline HRESULT ITaskDefinition_put_Principal(ITaskDefinition* This,IPrincipal *principal) { + return This->lpVtbl->put_Principal(This,principal); +} +static inline HRESULT ITaskDefinition_get_Actions(ITaskDefinition* This,IActionCollection **actions) { + return This->lpVtbl->get_Actions(This,actions); +} +static inline HRESULT ITaskDefinition_put_Actions(ITaskDefinition* This,IActionCollection *actions) { + return This->lpVtbl->put_Actions(This,actions); +} +static inline HRESULT ITaskDefinition_get_XmlText(ITaskDefinition* This,BSTR *xml) { + return This->lpVtbl->get_XmlText(This,xml); +} +static inline HRESULT ITaskDefinition_put_XmlText(ITaskDefinition* This,BSTR xml) { + return This->lpVtbl->put_XmlText(This,xml); +} +#endif +#endif + +#endif + + +#endif /* __ITaskDefinition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskSettings interface + */ +#ifndef __ITaskSettings_INTERFACE_DEFINED__ +#define __ITaskSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskSettings, 0x8fd4711d, 0x2d02, 0x4c8c, 0x87,0xe3, 0xef,0xf6,0x99,0xde,0x12,0x7e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8fd4711d-2d02-4c8c-87e3-eff699de127e") +ITaskSettings : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_AllowDemandStart( + VARIANT_BOOL *allow) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AllowDemandStart( + VARIANT_BOOL allow) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RestartInterval( + BSTR *interval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RestartInterval( + BSTR interval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RestartCount( + INT *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RestartCount( + INT count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MultipleInstances( + TASK_INSTANCES_POLICY *policy) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MultipleInstances( + TASK_INSTANCES_POLICY policy) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StopIfGoingOnBatteries( + VARIANT_BOOL *stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StopIfGoingOnBatteries( + VARIANT_BOOL stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DisallowStartIfOnBatteries( + VARIANT_BOOL *disallow) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DisallowStartIfOnBatteries( + VARIANT_BOOL disallow) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AllowHardTerminate( + VARIANT_BOOL *allow) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AllowHardTerminate( + VARIANT_BOOL allow) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StartWhenAvailable( + VARIANT_BOOL *start) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StartWhenAvailable( + VARIANT_BOOL start) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_XmlText( + BSTR *xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_XmlText( + BSTR xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RunOnlyIfNetworkAvailable( + VARIANT_BOOL *run) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RunOnlyIfNetworkAvailable( + VARIANT_BOOL run) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ExecutionTimeLimit( + BSTR *limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ExecutionTimeLimit( + BSTR limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Enabled( + VARIANT_BOOL *enabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Enabled( + VARIANT_BOOL enabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DeleteExpiredTaskAfter( + BSTR *delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DeleteExpiredTaskAfter( + BSTR delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Priority( + INT *priority) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Priority( + INT priority) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Compatibility( + TASK_COMPATIBILITY *level) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Compatibility( + TASK_COMPATIBILITY level) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Hidden( + VARIANT_BOOL *hidden) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Hidden( + VARIANT_BOOL hidden) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IdleSettings( + IIdleSettings **settings) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IdleSettings( + IIdleSettings *settings) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RunOnlyIfIdle( + VARIANT_BOOL *run) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RunOnlyIfIdle( + VARIANT_BOOL run) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WakeToRun( + VARIANT_BOOL *wake) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WakeToRun( + VARIANT_BOOL wake) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkSettings( + INetworkSettings **settings) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NetworkSettings( + INetworkSettings *settings) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskSettings, 0x8fd4711d, 0x2d02, 0x4c8c, 0x87,0xe3, 0xef,0xf6,0x99,0xde,0x12,0x7e) +#endif +#else +typedef struct ITaskSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskSettings *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskSettings *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskSettings *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskSettings *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskSettings *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AllowDemandStart)( + ITaskSettings *This, + VARIANT_BOOL *allow); + + HRESULT (STDMETHODCALLTYPE *put_AllowDemandStart)( + ITaskSettings *This, + VARIANT_BOOL allow); + + HRESULT (STDMETHODCALLTYPE *get_RestartInterval)( + ITaskSettings *This, + BSTR *interval); + + HRESULT (STDMETHODCALLTYPE *put_RestartInterval)( + ITaskSettings *This, + BSTR interval); + + HRESULT (STDMETHODCALLTYPE *get_RestartCount)( + ITaskSettings *This, + INT *count); + + HRESULT (STDMETHODCALLTYPE *put_RestartCount)( + ITaskSettings *This, + INT count); + + HRESULT (STDMETHODCALLTYPE *get_MultipleInstances)( + ITaskSettings *This, + TASK_INSTANCES_POLICY *policy); + + HRESULT (STDMETHODCALLTYPE *put_MultipleInstances)( + ITaskSettings *This, + TASK_INSTANCES_POLICY policy); + + HRESULT (STDMETHODCALLTYPE *get_StopIfGoingOnBatteries)( + ITaskSettings *This, + VARIANT_BOOL *stop); + + HRESULT (STDMETHODCALLTYPE *put_StopIfGoingOnBatteries)( + ITaskSettings *This, + VARIANT_BOOL stop); + + HRESULT (STDMETHODCALLTYPE *get_DisallowStartIfOnBatteries)( + ITaskSettings *This, + VARIANT_BOOL *disallow); + + HRESULT (STDMETHODCALLTYPE *put_DisallowStartIfOnBatteries)( + ITaskSettings *This, + VARIANT_BOOL disallow); + + HRESULT (STDMETHODCALLTYPE *get_AllowHardTerminate)( + ITaskSettings *This, + VARIANT_BOOL *allow); + + HRESULT (STDMETHODCALLTYPE *put_AllowHardTerminate)( + ITaskSettings *This, + VARIANT_BOOL allow); + + HRESULT (STDMETHODCALLTYPE *get_StartWhenAvailable)( + ITaskSettings *This, + VARIANT_BOOL *start); + + HRESULT (STDMETHODCALLTYPE *put_StartWhenAvailable)( + ITaskSettings *This, + VARIANT_BOOL start); + + HRESULT (STDMETHODCALLTYPE *get_XmlText)( + ITaskSettings *This, + BSTR *xml); + + HRESULT (STDMETHODCALLTYPE *put_XmlText)( + ITaskSettings *This, + BSTR xml); + + HRESULT (STDMETHODCALLTYPE *get_RunOnlyIfNetworkAvailable)( + ITaskSettings *This, + VARIANT_BOOL *run); + + HRESULT (STDMETHODCALLTYPE *put_RunOnlyIfNetworkAvailable)( + ITaskSettings *This, + VARIANT_BOOL run); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + ITaskSettings *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + ITaskSettings *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + ITaskSettings *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + ITaskSettings *This, + VARIANT_BOOL enabled); + + HRESULT (STDMETHODCALLTYPE *get_DeleteExpiredTaskAfter)( + ITaskSettings *This, + BSTR *delay); + + HRESULT (STDMETHODCALLTYPE *put_DeleteExpiredTaskAfter)( + ITaskSettings *This, + BSTR delay); + + HRESULT (STDMETHODCALLTYPE *get_Priority)( + ITaskSettings *This, + INT *priority); + + HRESULT (STDMETHODCALLTYPE *put_Priority)( + ITaskSettings *This, + INT priority); + + HRESULT (STDMETHODCALLTYPE *get_Compatibility)( + ITaskSettings *This, + TASK_COMPATIBILITY *level); + + HRESULT (STDMETHODCALLTYPE *put_Compatibility)( + ITaskSettings *This, + TASK_COMPATIBILITY level); + + HRESULT (STDMETHODCALLTYPE *get_Hidden)( + ITaskSettings *This, + VARIANT_BOOL *hidden); + + HRESULT (STDMETHODCALLTYPE *put_Hidden)( + ITaskSettings *This, + VARIANT_BOOL hidden); + + HRESULT (STDMETHODCALLTYPE *get_IdleSettings)( + ITaskSettings *This, + IIdleSettings **settings); + + HRESULT (STDMETHODCALLTYPE *put_IdleSettings)( + ITaskSettings *This, + IIdleSettings *settings); + + HRESULT (STDMETHODCALLTYPE *get_RunOnlyIfIdle)( + ITaskSettings *This, + VARIANT_BOOL *run); + + HRESULT (STDMETHODCALLTYPE *put_RunOnlyIfIdle)( + ITaskSettings *This, + VARIANT_BOOL run); + + HRESULT (STDMETHODCALLTYPE *get_WakeToRun)( + ITaskSettings *This, + VARIANT_BOOL *wake); + + HRESULT (STDMETHODCALLTYPE *put_WakeToRun)( + ITaskSettings *This, + VARIANT_BOOL wake); + + HRESULT (STDMETHODCALLTYPE *get_NetworkSettings)( + ITaskSettings *This, + INetworkSettings **settings); + + HRESULT (STDMETHODCALLTYPE *put_NetworkSettings)( + ITaskSettings *This, + INetworkSettings *settings); + + END_INTERFACE +} ITaskSettingsVtbl; + +interface ITaskSettings { + CONST_VTBL ITaskSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskSettings methods ***/ +#define ITaskSettings_get_AllowDemandStart(This,allow) (This)->lpVtbl->get_AllowDemandStart(This,allow) +#define ITaskSettings_put_AllowDemandStart(This,allow) (This)->lpVtbl->put_AllowDemandStart(This,allow) +#define ITaskSettings_get_RestartInterval(This,interval) (This)->lpVtbl->get_RestartInterval(This,interval) +#define ITaskSettings_put_RestartInterval(This,interval) (This)->lpVtbl->put_RestartInterval(This,interval) +#define ITaskSettings_get_RestartCount(This,count) (This)->lpVtbl->get_RestartCount(This,count) +#define ITaskSettings_put_RestartCount(This,count) (This)->lpVtbl->put_RestartCount(This,count) +#define ITaskSettings_get_MultipleInstances(This,policy) (This)->lpVtbl->get_MultipleInstances(This,policy) +#define ITaskSettings_put_MultipleInstances(This,policy) (This)->lpVtbl->put_MultipleInstances(This,policy) +#define ITaskSettings_get_StopIfGoingOnBatteries(This,stop) (This)->lpVtbl->get_StopIfGoingOnBatteries(This,stop) +#define ITaskSettings_put_StopIfGoingOnBatteries(This,stop) (This)->lpVtbl->put_StopIfGoingOnBatteries(This,stop) +#define ITaskSettings_get_DisallowStartIfOnBatteries(This,disallow) (This)->lpVtbl->get_DisallowStartIfOnBatteries(This,disallow) +#define ITaskSettings_put_DisallowStartIfOnBatteries(This,disallow) (This)->lpVtbl->put_DisallowStartIfOnBatteries(This,disallow) +#define ITaskSettings_get_AllowHardTerminate(This,allow) (This)->lpVtbl->get_AllowHardTerminate(This,allow) +#define ITaskSettings_put_AllowHardTerminate(This,allow) (This)->lpVtbl->put_AllowHardTerminate(This,allow) +#define ITaskSettings_get_StartWhenAvailable(This,start) (This)->lpVtbl->get_StartWhenAvailable(This,start) +#define ITaskSettings_put_StartWhenAvailable(This,start) (This)->lpVtbl->put_StartWhenAvailable(This,start) +#define ITaskSettings_get_XmlText(This,xml) (This)->lpVtbl->get_XmlText(This,xml) +#define ITaskSettings_put_XmlText(This,xml) (This)->lpVtbl->put_XmlText(This,xml) +#define ITaskSettings_get_RunOnlyIfNetworkAvailable(This,run) (This)->lpVtbl->get_RunOnlyIfNetworkAvailable(This,run) +#define ITaskSettings_put_RunOnlyIfNetworkAvailable(This,run) (This)->lpVtbl->put_RunOnlyIfNetworkAvailable(This,run) +#define ITaskSettings_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define ITaskSettings_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define ITaskSettings_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define ITaskSettings_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +#define ITaskSettings_get_DeleteExpiredTaskAfter(This,delay) (This)->lpVtbl->get_DeleteExpiredTaskAfter(This,delay) +#define ITaskSettings_put_DeleteExpiredTaskAfter(This,delay) (This)->lpVtbl->put_DeleteExpiredTaskAfter(This,delay) +#define ITaskSettings_get_Priority(This,priority) (This)->lpVtbl->get_Priority(This,priority) +#define ITaskSettings_put_Priority(This,priority) (This)->lpVtbl->put_Priority(This,priority) +#define ITaskSettings_get_Compatibility(This,level) (This)->lpVtbl->get_Compatibility(This,level) +#define ITaskSettings_put_Compatibility(This,level) (This)->lpVtbl->put_Compatibility(This,level) +#define ITaskSettings_get_Hidden(This,hidden) (This)->lpVtbl->get_Hidden(This,hidden) +#define ITaskSettings_put_Hidden(This,hidden) (This)->lpVtbl->put_Hidden(This,hidden) +#define ITaskSettings_get_IdleSettings(This,settings) (This)->lpVtbl->get_IdleSettings(This,settings) +#define ITaskSettings_put_IdleSettings(This,settings) (This)->lpVtbl->put_IdleSettings(This,settings) +#define ITaskSettings_get_RunOnlyIfIdle(This,run) (This)->lpVtbl->get_RunOnlyIfIdle(This,run) +#define ITaskSettings_put_RunOnlyIfIdle(This,run) (This)->lpVtbl->put_RunOnlyIfIdle(This,run) +#define ITaskSettings_get_WakeToRun(This,wake) (This)->lpVtbl->get_WakeToRun(This,wake) +#define ITaskSettings_put_WakeToRun(This,wake) (This)->lpVtbl->put_WakeToRun(This,wake) +#define ITaskSettings_get_NetworkSettings(This,settings) (This)->lpVtbl->get_NetworkSettings(This,settings) +#define ITaskSettings_put_NetworkSettings(This,settings) (This)->lpVtbl->put_NetworkSettings(This,settings) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskSettings_QueryInterface(ITaskSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskSettings_AddRef(ITaskSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskSettings_Release(ITaskSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskSettings_GetTypeInfoCount(ITaskSettings* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskSettings_GetTypeInfo(ITaskSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskSettings_GetIDsOfNames(ITaskSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskSettings_Invoke(ITaskSettings* 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); +} +/*** ITaskSettings methods ***/ +static inline HRESULT ITaskSettings_get_AllowDemandStart(ITaskSettings* This,VARIANT_BOOL *allow) { + return This->lpVtbl->get_AllowDemandStart(This,allow); +} +static inline HRESULT ITaskSettings_put_AllowDemandStart(ITaskSettings* This,VARIANT_BOOL allow) { + return This->lpVtbl->put_AllowDemandStart(This,allow); +} +static inline HRESULT ITaskSettings_get_RestartInterval(ITaskSettings* This,BSTR *interval) { + return This->lpVtbl->get_RestartInterval(This,interval); +} +static inline HRESULT ITaskSettings_put_RestartInterval(ITaskSettings* This,BSTR interval) { + return This->lpVtbl->put_RestartInterval(This,interval); +} +static inline HRESULT ITaskSettings_get_RestartCount(ITaskSettings* This,INT *count) { + return This->lpVtbl->get_RestartCount(This,count); +} +static inline HRESULT ITaskSettings_put_RestartCount(ITaskSettings* This,INT count) { + return This->lpVtbl->put_RestartCount(This,count); +} +static inline HRESULT ITaskSettings_get_MultipleInstances(ITaskSettings* This,TASK_INSTANCES_POLICY *policy) { + return This->lpVtbl->get_MultipleInstances(This,policy); +} +static inline HRESULT ITaskSettings_put_MultipleInstances(ITaskSettings* This,TASK_INSTANCES_POLICY policy) { + return This->lpVtbl->put_MultipleInstances(This,policy); +} +static inline HRESULT ITaskSettings_get_StopIfGoingOnBatteries(ITaskSettings* This,VARIANT_BOOL *stop) { + return This->lpVtbl->get_StopIfGoingOnBatteries(This,stop); +} +static inline HRESULT ITaskSettings_put_StopIfGoingOnBatteries(ITaskSettings* This,VARIANT_BOOL stop) { + return This->lpVtbl->put_StopIfGoingOnBatteries(This,stop); +} +static inline HRESULT ITaskSettings_get_DisallowStartIfOnBatteries(ITaskSettings* This,VARIANT_BOOL *disallow) { + return This->lpVtbl->get_DisallowStartIfOnBatteries(This,disallow); +} +static inline HRESULT ITaskSettings_put_DisallowStartIfOnBatteries(ITaskSettings* This,VARIANT_BOOL disallow) { + return This->lpVtbl->put_DisallowStartIfOnBatteries(This,disallow); +} +static inline HRESULT ITaskSettings_get_AllowHardTerminate(ITaskSettings* This,VARIANT_BOOL *allow) { + return This->lpVtbl->get_AllowHardTerminate(This,allow); +} +static inline HRESULT ITaskSettings_put_AllowHardTerminate(ITaskSettings* This,VARIANT_BOOL allow) { + return This->lpVtbl->put_AllowHardTerminate(This,allow); +} +static inline HRESULT ITaskSettings_get_StartWhenAvailable(ITaskSettings* This,VARIANT_BOOL *start) { + return This->lpVtbl->get_StartWhenAvailable(This,start); +} +static inline HRESULT ITaskSettings_put_StartWhenAvailable(ITaskSettings* This,VARIANT_BOOL start) { + return This->lpVtbl->put_StartWhenAvailable(This,start); +} +static inline HRESULT ITaskSettings_get_XmlText(ITaskSettings* This,BSTR *xml) { + return This->lpVtbl->get_XmlText(This,xml); +} +static inline HRESULT ITaskSettings_put_XmlText(ITaskSettings* This,BSTR xml) { + return This->lpVtbl->put_XmlText(This,xml); +} +static inline HRESULT ITaskSettings_get_RunOnlyIfNetworkAvailable(ITaskSettings* This,VARIANT_BOOL *run) { + return This->lpVtbl->get_RunOnlyIfNetworkAvailable(This,run); +} +static inline HRESULT ITaskSettings_put_RunOnlyIfNetworkAvailable(ITaskSettings* This,VARIANT_BOOL run) { + return This->lpVtbl->put_RunOnlyIfNetworkAvailable(This,run); +} +static inline HRESULT ITaskSettings_get_ExecutionTimeLimit(ITaskSettings* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITaskSettings_put_ExecutionTimeLimit(ITaskSettings* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITaskSettings_get_Enabled(ITaskSettings* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT ITaskSettings_put_Enabled(ITaskSettings* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +static inline HRESULT ITaskSettings_get_DeleteExpiredTaskAfter(ITaskSettings* This,BSTR *delay) { + return This->lpVtbl->get_DeleteExpiredTaskAfter(This,delay); +} +static inline HRESULT ITaskSettings_put_DeleteExpiredTaskAfter(ITaskSettings* This,BSTR delay) { + return This->lpVtbl->put_DeleteExpiredTaskAfter(This,delay); +} +static inline HRESULT ITaskSettings_get_Priority(ITaskSettings* This,INT *priority) { + return This->lpVtbl->get_Priority(This,priority); +} +static inline HRESULT ITaskSettings_put_Priority(ITaskSettings* This,INT priority) { + return This->lpVtbl->put_Priority(This,priority); +} +static inline HRESULT ITaskSettings_get_Compatibility(ITaskSettings* This,TASK_COMPATIBILITY *level) { + return This->lpVtbl->get_Compatibility(This,level); +} +static inline HRESULT ITaskSettings_put_Compatibility(ITaskSettings* This,TASK_COMPATIBILITY level) { + return This->lpVtbl->put_Compatibility(This,level); +} +static inline HRESULT ITaskSettings_get_Hidden(ITaskSettings* This,VARIANT_BOOL *hidden) { + return This->lpVtbl->get_Hidden(This,hidden); +} +static inline HRESULT ITaskSettings_put_Hidden(ITaskSettings* This,VARIANT_BOOL hidden) { + return This->lpVtbl->put_Hidden(This,hidden); +} +static inline HRESULT ITaskSettings_get_IdleSettings(ITaskSettings* This,IIdleSettings **settings) { + return This->lpVtbl->get_IdleSettings(This,settings); +} +static inline HRESULT ITaskSettings_put_IdleSettings(ITaskSettings* This,IIdleSettings *settings) { + return This->lpVtbl->put_IdleSettings(This,settings); +} +static inline HRESULT ITaskSettings_get_RunOnlyIfIdle(ITaskSettings* This,VARIANT_BOOL *run) { + return This->lpVtbl->get_RunOnlyIfIdle(This,run); +} +static inline HRESULT ITaskSettings_put_RunOnlyIfIdle(ITaskSettings* This,VARIANT_BOOL run) { + return This->lpVtbl->put_RunOnlyIfIdle(This,run); +} +static inline HRESULT ITaskSettings_get_WakeToRun(ITaskSettings* This,VARIANT_BOOL *wake) { + return This->lpVtbl->get_WakeToRun(This,wake); +} +static inline HRESULT ITaskSettings_put_WakeToRun(ITaskSettings* This,VARIANT_BOOL wake) { + return This->lpVtbl->put_WakeToRun(This,wake); +} +static inline HRESULT ITaskSettings_get_NetworkSettings(ITaskSettings* This,INetworkSettings **settings) { + return This->lpVtbl->get_NetworkSettings(This,settings); +} +static inline HRESULT ITaskSettings_put_NetworkSettings(ITaskSettings* This,INetworkSettings *settings) { + return This->lpVtbl->put_NetworkSettings(This,settings); +} +#endif +#endif + +#endif + + +#endif /* __ITaskSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IIdleSettings interface + */ +#ifndef __IIdleSettings_INTERFACE_DEFINED__ +#define __IIdleSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IIdleSettings, 0x84594461, 0x0053, 0x4342, 0xa8,0xfd, 0x08,0x8f,0xab,0xf1,0x1f,0x32); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("84594461-0053-4342-a8fd-088fabf11f32") +IIdleSettings : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_IdleDuration( + BSTR *delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IdleDuration( + BSTR delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WaitTimeout( + BSTR *timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WaitTimeout( + BSTR timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StopOnIdleEnd( + VARIANT_BOOL *stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StopOnIdleEnd( + VARIANT_BOOL stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RestartOnIdle( + VARIANT_BOOL *restart) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RestartOnIdle( + VARIANT_BOOL restart) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IIdleSettings, 0x84594461, 0x0053, 0x4342, 0xa8,0xfd, 0x08,0x8f,0xab,0xf1,0x1f,0x32) +#endif +#else +typedef struct IIdleSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IIdleSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IIdleSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IIdleSettings *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IIdleSettings *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IIdleSettings *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IIdleSettings *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IIdleSettings *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IIdleSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *get_IdleDuration)( + IIdleSettings *This, + BSTR *delay); + + HRESULT (STDMETHODCALLTYPE *put_IdleDuration)( + IIdleSettings *This, + BSTR delay); + + HRESULT (STDMETHODCALLTYPE *get_WaitTimeout)( + IIdleSettings *This, + BSTR *timeout); + + HRESULT (STDMETHODCALLTYPE *put_WaitTimeout)( + IIdleSettings *This, + BSTR timeout); + + HRESULT (STDMETHODCALLTYPE *get_StopOnIdleEnd)( + IIdleSettings *This, + VARIANT_BOOL *stop); + + HRESULT (STDMETHODCALLTYPE *put_StopOnIdleEnd)( + IIdleSettings *This, + VARIANT_BOOL stop); + + HRESULT (STDMETHODCALLTYPE *get_RestartOnIdle)( + IIdleSettings *This, + VARIANT_BOOL *restart); + + HRESULT (STDMETHODCALLTYPE *put_RestartOnIdle)( + IIdleSettings *This, + VARIANT_BOOL restart); + + END_INTERFACE +} IIdleSettingsVtbl; + +interface IIdleSettings { + CONST_VTBL IIdleSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IIdleSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IIdleSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IIdleSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IIdleSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IIdleSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IIdleSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IIdleSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IIdleSettings methods ***/ +#define IIdleSettings_get_IdleDuration(This,delay) (This)->lpVtbl->get_IdleDuration(This,delay) +#define IIdleSettings_put_IdleDuration(This,delay) (This)->lpVtbl->put_IdleDuration(This,delay) +#define IIdleSettings_get_WaitTimeout(This,timeout) (This)->lpVtbl->get_WaitTimeout(This,timeout) +#define IIdleSettings_put_WaitTimeout(This,timeout) (This)->lpVtbl->put_WaitTimeout(This,timeout) +#define IIdleSettings_get_StopOnIdleEnd(This,stop) (This)->lpVtbl->get_StopOnIdleEnd(This,stop) +#define IIdleSettings_put_StopOnIdleEnd(This,stop) (This)->lpVtbl->put_StopOnIdleEnd(This,stop) +#define IIdleSettings_get_RestartOnIdle(This,restart) (This)->lpVtbl->get_RestartOnIdle(This,restart) +#define IIdleSettings_put_RestartOnIdle(This,restart) (This)->lpVtbl->put_RestartOnIdle(This,restart) +#else +/*** IUnknown methods ***/ +static inline HRESULT IIdleSettings_QueryInterface(IIdleSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IIdleSettings_AddRef(IIdleSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IIdleSettings_Release(IIdleSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IIdleSettings_GetTypeInfoCount(IIdleSettings* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IIdleSettings_GetTypeInfo(IIdleSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IIdleSettings_GetIDsOfNames(IIdleSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IIdleSettings_Invoke(IIdleSettings* 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); +} +/*** IIdleSettings methods ***/ +static inline HRESULT IIdleSettings_get_IdleDuration(IIdleSettings* This,BSTR *delay) { + return This->lpVtbl->get_IdleDuration(This,delay); +} +static inline HRESULT IIdleSettings_put_IdleDuration(IIdleSettings* This,BSTR delay) { + return This->lpVtbl->put_IdleDuration(This,delay); +} +static inline HRESULT IIdleSettings_get_WaitTimeout(IIdleSettings* This,BSTR *timeout) { + return This->lpVtbl->get_WaitTimeout(This,timeout); +} +static inline HRESULT IIdleSettings_put_WaitTimeout(IIdleSettings* This,BSTR timeout) { + return This->lpVtbl->put_WaitTimeout(This,timeout); +} +static inline HRESULT IIdleSettings_get_StopOnIdleEnd(IIdleSettings* This,VARIANT_BOOL *stop) { + return This->lpVtbl->get_StopOnIdleEnd(This,stop); +} +static inline HRESULT IIdleSettings_put_StopOnIdleEnd(IIdleSettings* This,VARIANT_BOOL stop) { + return This->lpVtbl->put_StopOnIdleEnd(This,stop); +} +static inline HRESULT IIdleSettings_get_RestartOnIdle(IIdleSettings* This,VARIANT_BOOL *restart) { + return This->lpVtbl->get_RestartOnIdle(This,restart); +} +static inline HRESULT IIdleSettings_put_RestartOnIdle(IIdleSettings* This,VARIANT_BOOL restart) { + return This->lpVtbl->put_RestartOnIdle(This,restart); +} +#endif +#endif + +#endif + + +#endif /* __IIdleSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRunningTask interface + */ +#ifndef __IRunningTask_INTERFACE_DEFINED__ +#define __IRunningTask_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRunningTask, 0x653758fb, 0x7b9a, 0x4f1e, 0xa4,0x71, 0xbe,0xeb,0x8e,0x9b,0x83,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("653758fb-7b9a-4f1e-a471-beeb8e9b834e") +IRunningTask : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InstanceGuid( + BSTR *guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Path( + BSTR *path) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_State( + TASK_STATE *state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAction( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE Stop( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Refresh( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EnginePID( + DWORD *pid) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRunningTask, 0x653758fb, 0x7b9a, 0x4f1e, 0xa4,0x71, 0xbe,0xeb,0x8e,0x9b,0x83,0x4e) +#endif +#else +typedef struct IRunningTaskVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRunningTask *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRunningTask *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRunningTask *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRunningTask *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRunningTask *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRunningTask *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRunningTask *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRunningTask methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + IRunningTask *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_InstanceGuid)( + IRunningTask *This, + BSTR *guid); + + HRESULT (STDMETHODCALLTYPE *get_Path)( + IRunningTask *This, + BSTR *path); + + HRESULT (STDMETHODCALLTYPE *get_State)( + IRunningTask *This, + TASK_STATE *state); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAction)( + IRunningTask *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IRunningTask *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IRunningTask *This); + + HRESULT (STDMETHODCALLTYPE *get_EnginePID)( + IRunningTask *This, + DWORD *pid); + + END_INTERFACE +} IRunningTaskVtbl; + +interface IRunningTask { + CONST_VTBL IRunningTaskVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRunningTask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRunningTask_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRunningTask_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRunningTask_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRunningTask_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRunningTask_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRunningTask_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRunningTask methods ***/ +#define IRunningTask_get_Name(This,name) (This)->lpVtbl->get_Name(This,name) +#define IRunningTask_get_InstanceGuid(This,guid) (This)->lpVtbl->get_InstanceGuid(This,guid) +#define IRunningTask_get_Path(This,path) (This)->lpVtbl->get_Path(This,path) +#define IRunningTask_get_State(This,state) (This)->lpVtbl->get_State(This,state) +#define IRunningTask_get_CurrentAction(This,name) (This)->lpVtbl->get_CurrentAction(This,name) +#define IRunningTask_Stop(This) (This)->lpVtbl->Stop(This) +#define IRunningTask_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IRunningTask_get_EnginePID(This,pid) (This)->lpVtbl->get_EnginePID(This,pid) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRunningTask_QueryInterface(IRunningTask* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRunningTask_AddRef(IRunningTask* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRunningTask_Release(IRunningTask* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRunningTask_GetTypeInfoCount(IRunningTask* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRunningTask_GetTypeInfo(IRunningTask* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRunningTask_GetIDsOfNames(IRunningTask* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRunningTask_Invoke(IRunningTask* 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); +} +/*** IRunningTask methods ***/ +static inline HRESULT IRunningTask_get_Name(IRunningTask* This,BSTR *name) { + return This->lpVtbl->get_Name(This,name); +} +static inline HRESULT IRunningTask_get_InstanceGuid(IRunningTask* This,BSTR *guid) { + return This->lpVtbl->get_InstanceGuid(This,guid); +} +static inline HRESULT IRunningTask_get_Path(IRunningTask* This,BSTR *path) { + return This->lpVtbl->get_Path(This,path); +} +static inline HRESULT IRunningTask_get_State(IRunningTask* This,TASK_STATE *state) { + return This->lpVtbl->get_State(This,state); +} +static inline HRESULT IRunningTask_get_CurrentAction(IRunningTask* This,BSTR *name) { + return This->lpVtbl->get_CurrentAction(This,name); +} +static inline HRESULT IRunningTask_Stop(IRunningTask* This) { + return This->lpVtbl->Stop(This); +} +static inline HRESULT IRunningTask_Refresh(IRunningTask* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IRunningTask_get_EnginePID(IRunningTask* This,DWORD *pid) { + return This->lpVtbl->get_EnginePID(This,pid); +} +#endif +#endif + +#endif + + +#endif /* __IRunningTask_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRunningTaskCollection interface + */ +#ifndef __IRunningTaskCollection_INTERFACE_DEFINED__ +#define __IRunningTaskCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRunningTaskCollection, 0x6a67614b, 0x6828, 0x4fec, 0xaa,0x54, 0x6d,0x52,0xe8,0xf1,0xf2,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6a67614b-6828-4fec-aa54-6d52e8f1f2db") +IRunningTaskCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT index, + IRunningTask **task) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRunningTaskCollection, 0x6a67614b, 0x6828, 0x4fec, 0xaa,0x54, 0x6d,0x52,0xe8,0xf1,0xf2,0xdb) +#endif +#else +typedef struct IRunningTaskCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRunningTaskCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRunningTaskCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRunningTaskCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRunningTaskCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRunningTaskCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRunningTaskCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRunningTaskCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRunningTaskCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IRunningTaskCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IRunningTaskCollection *This, + VARIANT index, + IRunningTask **task); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IRunningTaskCollection *This, + IUnknown **penum); + + END_INTERFACE +} IRunningTaskCollectionVtbl; + +interface IRunningTaskCollection { + CONST_VTBL IRunningTaskCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRunningTaskCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRunningTaskCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRunningTaskCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRunningTaskCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRunningTaskCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRunningTaskCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRunningTaskCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRunningTaskCollection methods ***/ +#define IRunningTaskCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define IRunningTaskCollection_get_Item(This,index,task) (This)->lpVtbl->get_Item(This,index,task) +#define IRunningTaskCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRunningTaskCollection_QueryInterface(IRunningTaskCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRunningTaskCollection_AddRef(IRunningTaskCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRunningTaskCollection_Release(IRunningTaskCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRunningTaskCollection_GetTypeInfoCount(IRunningTaskCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRunningTaskCollection_GetTypeInfo(IRunningTaskCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRunningTaskCollection_GetIDsOfNames(IRunningTaskCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRunningTaskCollection_Invoke(IRunningTaskCollection* 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); +} +/*** IRunningTaskCollection methods ***/ +static inline HRESULT IRunningTaskCollection_get_Count(IRunningTaskCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT IRunningTaskCollection_get_Item(IRunningTaskCollection* This,VARIANT index,IRunningTask **task) { + return This->lpVtbl->get_Item(This,index,task); +} +static inline HRESULT IRunningTaskCollection_get__NewEnum(IRunningTaskCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +#endif +#endif + +#endif + + +#endif /* __IRunningTaskCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskNamedValuePair interface + */ +#ifndef __ITaskNamedValuePair_INTERFACE_DEFINED__ +#define __ITaskNamedValuePair_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskNamedValuePair, 0x39038068, 0x2b46, 0x4afd, 0x86,0x62, 0x7b,0xb6,0xf8,0x68,0xd2,0x21); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("39038068-2b46-4afd-8662-7bb6f868d221") +ITaskNamedValuePair : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Name( + BSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Value( + BSTR *pValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Value( + BSTR value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskNamedValuePair, 0x39038068, 0x2b46, 0x4afd, 0x86,0x62, 0x7b,0xb6,0xf8,0x68,0xd2,0x21) +#endif +#else +typedef struct ITaskNamedValuePairVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskNamedValuePair *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskNamedValuePair *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskNamedValuePair *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskNamedValuePair *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskNamedValuePair *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskNamedValuePair *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskNamedValuePair *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskNamedValuePair methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + ITaskNamedValuePair *This, + BSTR *pName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + ITaskNamedValuePair *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *get_Value)( + ITaskNamedValuePair *This, + BSTR *pValue); + + HRESULT (STDMETHODCALLTYPE *put_Value)( + ITaskNamedValuePair *This, + BSTR value); + + END_INTERFACE +} ITaskNamedValuePairVtbl; + +interface ITaskNamedValuePair { + CONST_VTBL ITaskNamedValuePairVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskNamedValuePair_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskNamedValuePair_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskNamedValuePair_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskNamedValuePair_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskNamedValuePair_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskNamedValuePair_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskNamedValuePair_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskNamedValuePair methods ***/ +#define ITaskNamedValuePair_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName) +#define ITaskNamedValuePair_put_Name(This,name) (This)->lpVtbl->put_Name(This,name) +#define ITaskNamedValuePair_get_Value(This,pValue) (This)->lpVtbl->get_Value(This,pValue) +#define ITaskNamedValuePair_put_Value(This,value) (This)->lpVtbl->put_Value(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskNamedValuePair_QueryInterface(ITaskNamedValuePair* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskNamedValuePair_AddRef(ITaskNamedValuePair* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskNamedValuePair_Release(ITaskNamedValuePair* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskNamedValuePair_GetTypeInfoCount(ITaskNamedValuePair* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskNamedValuePair_GetTypeInfo(ITaskNamedValuePair* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskNamedValuePair_GetIDsOfNames(ITaskNamedValuePair* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskNamedValuePair_Invoke(ITaskNamedValuePair* 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); +} +/*** ITaskNamedValuePair methods ***/ +static inline HRESULT ITaskNamedValuePair_get_Name(ITaskNamedValuePair* This,BSTR *pName) { + return This->lpVtbl->get_Name(This,pName); +} +static inline HRESULT ITaskNamedValuePair_put_Name(ITaskNamedValuePair* This,BSTR name) { + return This->lpVtbl->put_Name(This,name); +} +static inline HRESULT ITaskNamedValuePair_get_Value(ITaskNamedValuePair* This,BSTR *pValue) { + return This->lpVtbl->get_Value(This,pValue); +} +static inline HRESULT ITaskNamedValuePair_put_Value(ITaskNamedValuePair* This,BSTR value) { + return This->lpVtbl->put_Value(This,value); +} +#endif +#endif + +#endif + + +#endif /* __ITaskNamedValuePair_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITaskNamedValueCollection interface + */ +#ifndef __ITaskNamedValueCollection_INTERFACE_DEFINED__ +#define __ITaskNamedValueCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITaskNamedValueCollection, 0xb4ef826b, 0x63c3, 0x46e4, 0xa5,0x04, 0xef,0x69,0xe4,0xf7,0xea,0x4d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b4ef826b-63c3-46e4-a504-ef69e4f7ea4d") +ITaskNamedValueCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT index, + ITaskNamedValuePair **pair) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + + virtual HRESULT STDMETHODCALLTYPE Create( + BSTR name, + BSTR value, + ITaskNamedValuePair **pair) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + LONG index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITaskNamedValueCollection, 0xb4ef826b, 0x63c3, 0x46e4, 0xa5,0x04, 0xef,0x69,0xe4,0xf7,0xea,0x4d) +#endif +#else +typedef struct ITaskNamedValueCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITaskNamedValueCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITaskNamedValueCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITaskNamedValueCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITaskNamedValueCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITaskNamedValueCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITaskNamedValueCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITaskNamedValueCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITaskNamedValueCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + ITaskNamedValueCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + ITaskNamedValueCollection *This, + VARIANT index, + ITaskNamedValuePair **pair); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ITaskNamedValueCollection *This, + IUnknown **penum); + + HRESULT (STDMETHODCALLTYPE *Create)( + ITaskNamedValueCollection *This, + BSTR name, + BSTR value, + ITaskNamedValuePair **pair); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ITaskNamedValueCollection *This, + LONG index); + + HRESULT (STDMETHODCALLTYPE *Clear)( + ITaskNamedValueCollection *This); + + END_INTERFACE +} ITaskNamedValueCollectionVtbl; + +interface ITaskNamedValueCollection { + CONST_VTBL ITaskNamedValueCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITaskNamedValueCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITaskNamedValueCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITaskNamedValueCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITaskNamedValueCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITaskNamedValueCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITaskNamedValueCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITaskNamedValueCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITaskNamedValueCollection methods ***/ +#define ITaskNamedValueCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define ITaskNamedValueCollection_get_Item(This,index,pair) (This)->lpVtbl->get_Item(This,index,pair) +#define ITaskNamedValueCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#define ITaskNamedValueCollection_Create(This,name,value,pair) (This)->lpVtbl->Create(This,name,value,pair) +#define ITaskNamedValueCollection_Remove(This,index) (This)->lpVtbl->Remove(This,index) +#define ITaskNamedValueCollection_Clear(This) (This)->lpVtbl->Clear(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITaskNamedValueCollection_QueryInterface(ITaskNamedValueCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITaskNamedValueCollection_AddRef(ITaskNamedValueCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITaskNamedValueCollection_Release(ITaskNamedValueCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITaskNamedValueCollection_GetTypeInfoCount(ITaskNamedValueCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITaskNamedValueCollection_GetTypeInfo(ITaskNamedValueCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITaskNamedValueCollection_GetIDsOfNames(ITaskNamedValueCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITaskNamedValueCollection_Invoke(ITaskNamedValueCollection* 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); +} +/*** ITaskNamedValueCollection methods ***/ +static inline HRESULT ITaskNamedValueCollection_get_Count(ITaskNamedValueCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT ITaskNamedValueCollection_get_Item(ITaskNamedValueCollection* This,VARIANT index,ITaskNamedValuePair **pair) { + return This->lpVtbl->get_Item(This,index,pair); +} +static inline HRESULT ITaskNamedValueCollection_get__NewEnum(ITaskNamedValueCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +static inline HRESULT ITaskNamedValueCollection_Create(ITaskNamedValueCollection* This,BSTR name,BSTR value,ITaskNamedValuePair **pair) { + return This->lpVtbl->Create(This,name,value,pair); +} +static inline HRESULT ITaskNamedValueCollection_Remove(ITaskNamedValueCollection* This,LONG index) { + return This->lpVtbl->Remove(This,index); +} +static inline HRESULT ITaskNamedValueCollection_Clear(ITaskNamedValueCollection* This) { + return This->lpVtbl->Clear(This); +} +#endif +#endif + +#endif + + +#endif /* __ITaskNamedValueCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITrigger interface + */ +#ifndef __ITrigger_INTERFACE_DEFINED__ +#define __ITrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITrigger, 0x09941815, 0xea89, 0x4b5b, 0x89,0xe0, 0x2a,0x77,0x38,0x01,0xfa,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("09941815-ea89-4b5b-89e0-2a773801fac3") +ITrigger : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Type( + TASK_TRIGGER_TYPE2 *type) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + BSTR *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Id( + BSTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Repetition( + IRepetitionPattern **repeat) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Repetition( + IRepetitionPattern *repeat) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ExecutionTimeLimit( + BSTR *limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ExecutionTimeLimit( + BSTR limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StartBoundary( + BSTR *start) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StartBoundary( + BSTR start) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EndBoundary( + BSTR *end) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_EndBoundary( + BSTR end) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Enabled( + VARIANT_BOOL *enabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Enabled( + VARIANT_BOOL enabled) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITrigger, 0x09941815, 0xea89, 0x4b5b, 0x89,0xe0, 0x2a,0x77,0x38,0x01,0xfa,0xc3) +#endif +#else +typedef struct ITriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + ITrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + ITrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + ITrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + ITrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + ITrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + ITrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + ITrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + ITrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + ITrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + ITrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + ITrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + ITrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + ITrigger *This, + VARIANT_BOOL enabled); + + END_INTERFACE +} ITriggerVtbl; + +interface ITrigger { + CONST_VTBL ITriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define ITrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define ITrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define ITrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define ITrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define ITrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define ITrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define ITrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define ITrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define ITrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define ITrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define ITrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define ITrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define ITrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITrigger_QueryInterface(ITrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITrigger_AddRef(ITrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITrigger_Release(ITrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITrigger_GetTypeInfoCount(ITrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITrigger_GetTypeInfo(ITrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITrigger_GetIDsOfNames(ITrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITrigger_Invoke(ITrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT ITrigger_get_Type(ITrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT ITrigger_get_Id(ITrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT ITrigger_put_Id(ITrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT ITrigger_get_Repetition(ITrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT ITrigger_put_Repetition(ITrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT ITrigger_get_ExecutionTimeLimit(ITrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITrigger_put_ExecutionTimeLimit(ITrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITrigger_get_StartBoundary(ITrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT ITrigger_put_StartBoundary(ITrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT ITrigger_get_EndBoundary(ITrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT ITrigger_put_EndBoundary(ITrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT ITrigger_get_Enabled(ITrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT ITrigger_put_Enabled(ITrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +#endif +#endif + +#endif + + +#endif /* __ITrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IIdleTrigger interface + */ +#ifndef __IIdleTrigger_INTERFACE_DEFINED__ +#define __IIdleTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IIdleTrigger, 0xd537d2b0, 0x9fb3, 0x4d34, 0x97,0x39, 0x1f,0xf5,0xce,0x7b,0x1e,0xf3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d537d2b0-9fb3-4d34-9739-1ff5ce7b1ef3") +IIdleTrigger : public ITrigger +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IIdleTrigger, 0xd537d2b0, 0x9fb3, 0x4d34, 0x97,0x39, 0x1f,0xf5,0xce,0x7b,0x1e,0xf3) +#endif +#else +typedef struct IIdleTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IIdleTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IIdleTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IIdleTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IIdleTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IIdleTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IIdleTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IIdleTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IIdleTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IIdleTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IIdleTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IIdleTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IIdleTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IIdleTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IIdleTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IIdleTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IIdleTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IIdleTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IIdleTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IIdleTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IIdleTrigger *This, + VARIANT_BOOL enabled); + + END_INTERFACE +} IIdleTriggerVtbl; + +interface IIdleTrigger { + CONST_VTBL IIdleTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IIdleTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IIdleTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IIdleTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IIdleTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IIdleTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IIdleTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IIdleTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IIdleTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IIdleTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IIdleTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IIdleTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IIdleTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IIdleTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IIdleTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IIdleTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IIdleTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IIdleTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IIdleTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IIdleTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IIdleTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +#else +/*** IUnknown methods ***/ +static inline HRESULT IIdleTrigger_QueryInterface(IIdleTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IIdleTrigger_AddRef(IIdleTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IIdleTrigger_Release(IIdleTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IIdleTrigger_GetTypeInfoCount(IIdleTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IIdleTrigger_GetTypeInfo(IIdleTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IIdleTrigger_GetIDsOfNames(IIdleTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IIdleTrigger_Invoke(IIdleTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IIdleTrigger_get_Type(IIdleTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IIdleTrigger_get_Id(IIdleTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IIdleTrigger_put_Id(IIdleTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IIdleTrigger_get_Repetition(IIdleTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IIdleTrigger_put_Repetition(IIdleTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IIdleTrigger_get_ExecutionTimeLimit(IIdleTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IIdleTrigger_put_ExecutionTimeLimit(IIdleTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IIdleTrigger_get_StartBoundary(IIdleTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IIdleTrigger_put_StartBoundary(IIdleTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IIdleTrigger_get_EndBoundary(IIdleTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IIdleTrigger_put_EndBoundary(IIdleTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IIdleTrigger_get_Enabled(IIdleTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IIdleTrigger_put_Enabled(IIdleTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +#endif +#endif + +#endif + + +#endif /* __IIdleTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ILogonTrigger interface + */ +#ifndef __ILogonTrigger_INTERFACE_DEFINED__ +#define __ILogonTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ILogonTrigger, 0x72dade38, 0xfae4, 0x4b3e, 0xba,0xf4, 0x5d,0x00,0x9a,0xf0,0x2b,0x1c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("72dade38-fae4-4b3e-baf4-5d009af02b1c") +ILogonTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_Delay( + BSTR *pDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Delay( + BSTR delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UserId( + BSTR *pUser) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UserId( + BSTR user) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ILogonTrigger, 0x72dade38, 0xfae4, 0x4b3e, 0xba,0xf4, 0x5d,0x00,0x9a,0xf0,0x2b,0x1c) +#endif +#else +typedef struct ILogonTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ILogonTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ILogonTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ILogonTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ILogonTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ILogonTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ILogonTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ILogonTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + ILogonTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + ILogonTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + ILogonTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + ILogonTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + ILogonTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + ILogonTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + ILogonTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + ILogonTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + ILogonTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + ILogonTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + ILogonTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + ILogonTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + ILogonTrigger *This, + VARIANT_BOOL enabled); + + /*** ILogonTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Delay)( + ILogonTrigger *This, + BSTR *pDelay); + + HRESULT (STDMETHODCALLTYPE *put_Delay)( + ILogonTrigger *This, + BSTR delay); + + HRESULT (STDMETHODCALLTYPE *get_UserId)( + ILogonTrigger *This, + BSTR *pUser); + + HRESULT (STDMETHODCALLTYPE *put_UserId)( + ILogonTrigger *This, + BSTR user); + + END_INTERFACE +} ILogonTriggerVtbl; + +interface ILogonTrigger { + CONST_VTBL ILogonTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ILogonTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILogonTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILogonTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ILogonTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ILogonTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ILogonTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ILogonTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define ILogonTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define ILogonTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define ILogonTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define ILogonTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define ILogonTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define ILogonTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define ILogonTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define ILogonTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define ILogonTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define ILogonTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define ILogonTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define ILogonTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define ILogonTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** ILogonTrigger methods ***/ +#define ILogonTrigger_get_Delay(This,pDelay) (This)->lpVtbl->get_Delay(This,pDelay) +#define ILogonTrigger_put_Delay(This,delay) (This)->lpVtbl->put_Delay(This,delay) +#define ILogonTrigger_get_UserId(This,pUser) (This)->lpVtbl->get_UserId(This,pUser) +#define ILogonTrigger_put_UserId(This,user) (This)->lpVtbl->put_UserId(This,user) +#else +/*** IUnknown methods ***/ +static inline HRESULT ILogonTrigger_QueryInterface(ILogonTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ILogonTrigger_AddRef(ILogonTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ILogonTrigger_Release(ILogonTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ILogonTrigger_GetTypeInfoCount(ILogonTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ILogonTrigger_GetTypeInfo(ILogonTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ILogonTrigger_GetIDsOfNames(ILogonTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ILogonTrigger_Invoke(ILogonTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT ILogonTrigger_get_Type(ILogonTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT ILogonTrigger_get_Id(ILogonTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT ILogonTrigger_put_Id(ILogonTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT ILogonTrigger_get_Repetition(ILogonTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT ILogonTrigger_put_Repetition(ILogonTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT ILogonTrigger_get_ExecutionTimeLimit(ILogonTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ILogonTrigger_put_ExecutionTimeLimit(ILogonTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ILogonTrigger_get_StartBoundary(ILogonTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT ILogonTrigger_put_StartBoundary(ILogonTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT ILogonTrigger_get_EndBoundary(ILogonTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT ILogonTrigger_put_EndBoundary(ILogonTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT ILogonTrigger_get_Enabled(ILogonTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT ILogonTrigger_put_Enabled(ILogonTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** ILogonTrigger methods ***/ +static inline HRESULT ILogonTrigger_get_Delay(ILogonTrigger* This,BSTR *pDelay) { + return This->lpVtbl->get_Delay(This,pDelay); +} +static inline HRESULT ILogonTrigger_put_Delay(ILogonTrigger* This,BSTR delay) { + return This->lpVtbl->put_Delay(This,delay); +} +static inline HRESULT ILogonTrigger_get_UserId(ILogonTrigger* This,BSTR *pUser) { + return This->lpVtbl->get_UserId(This,pUser); +} +static inline HRESULT ILogonTrigger_put_UserId(ILogonTrigger* This,BSTR user) { + return This->lpVtbl->put_UserId(This,user); +} +#endif +#endif + +#endif + + +#endif /* __ILogonTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISessionStateChangeTrigger interface + */ +#ifndef __ISessionStateChangeTrigger_INTERFACE_DEFINED__ +#define __ISessionStateChangeTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISessionStateChangeTrigger, 0x754da71b, 0x4385, 0x4475, 0x9d,0xd9, 0x59,0x82,0x94,0xfa,0x36,0x41); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("754da71b-4385-4475-9dd9-598294fa3641") +ISessionStateChangeTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_Delay( + BSTR *pDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Delay( + BSTR delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UserId( + BSTR *pUser) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UserId( + BSTR user) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StateChange( + TASK_SESSION_STATE_CHANGE_TYPE *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StateChange( + TASK_SESSION_STATE_CHANGE_TYPE type) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISessionStateChangeTrigger, 0x754da71b, 0x4385, 0x4475, 0x9d,0xd9, 0x59,0x82,0x94,0xfa,0x36,0x41) +#endif +#else +typedef struct ISessionStateChangeTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISessionStateChangeTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISessionStateChangeTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISessionStateChangeTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISessionStateChangeTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISessionStateChangeTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISessionStateChangeTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISessionStateChangeTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + ISessionStateChangeTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + ISessionStateChangeTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + ISessionStateChangeTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + ISessionStateChangeTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + ISessionStateChangeTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + ISessionStateChangeTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + ISessionStateChangeTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + ISessionStateChangeTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + ISessionStateChangeTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + ISessionStateChangeTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + ISessionStateChangeTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + ISessionStateChangeTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + ISessionStateChangeTrigger *This, + VARIANT_BOOL enabled); + + /*** ISessionStateChangeTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Delay)( + ISessionStateChangeTrigger *This, + BSTR *pDelay); + + HRESULT (STDMETHODCALLTYPE *put_Delay)( + ISessionStateChangeTrigger *This, + BSTR delay); + + HRESULT (STDMETHODCALLTYPE *get_UserId)( + ISessionStateChangeTrigger *This, + BSTR *pUser); + + HRESULT (STDMETHODCALLTYPE *put_UserId)( + ISessionStateChangeTrigger *This, + BSTR user); + + HRESULT (STDMETHODCALLTYPE *get_StateChange)( + ISessionStateChangeTrigger *This, + TASK_SESSION_STATE_CHANGE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *put_StateChange)( + ISessionStateChangeTrigger *This, + TASK_SESSION_STATE_CHANGE_TYPE type); + + END_INTERFACE +} ISessionStateChangeTriggerVtbl; + +interface ISessionStateChangeTrigger { + CONST_VTBL ISessionStateChangeTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISessionStateChangeTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISessionStateChangeTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISessionStateChangeTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISessionStateChangeTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISessionStateChangeTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISessionStateChangeTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISessionStateChangeTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define ISessionStateChangeTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define ISessionStateChangeTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define ISessionStateChangeTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define ISessionStateChangeTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define ISessionStateChangeTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define ISessionStateChangeTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define ISessionStateChangeTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define ISessionStateChangeTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define ISessionStateChangeTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define ISessionStateChangeTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define ISessionStateChangeTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define ISessionStateChangeTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define ISessionStateChangeTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** ISessionStateChangeTrigger methods ***/ +#define ISessionStateChangeTrigger_get_Delay(This,pDelay) (This)->lpVtbl->get_Delay(This,pDelay) +#define ISessionStateChangeTrigger_put_Delay(This,delay) (This)->lpVtbl->put_Delay(This,delay) +#define ISessionStateChangeTrigger_get_UserId(This,pUser) (This)->lpVtbl->get_UserId(This,pUser) +#define ISessionStateChangeTrigger_put_UserId(This,user) (This)->lpVtbl->put_UserId(This,user) +#define ISessionStateChangeTrigger_get_StateChange(This,pType) (This)->lpVtbl->get_StateChange(This,pType) +#define ISessionStateChangeTrigger_put_StateChange(This,type) (This)->lpVtbl->put_StateChange(This,type) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISessionStateChangeTrigger_QueryInterface(ISessionStateChangeTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISessionStateChangeTrigger_AddRef(ISessionStateChangeTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISessionStateChangeTrigger_Release(ISessionStateChangeTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISessionStateChangeTrigger_GetTypeInfoCount(ISessionStateChangeTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISessionStateChangeTrigger_GetTypeInfo(ISessionStateChangeTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISessionStateChangeTrigger_GetIDsOfNames(ISessionStateChangeTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISessionStateChangeTrigger_Invoke(ISessionStateChangeTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT ISessionStateChangeTrigger_get_Type(ISessionStateChangeTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT ISessionStateChangeTrigger_get_Id(ISessionStateChangeTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT ISessionStateChangeTrigger_put_Id(ISessionStateChangeTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT ISessionStateChangeTrigger_get_Repetition(ISessionStateChangeTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT ISessionStateChangeTrigger_put_Repetition(ISessionStateChangeTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT ISessionStateChangeTrigger_get_ExecutionTimeLimit(ISessionStateChangeTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ISessionStateChangeTrigger_put_ExecutionTimeLimit(ISessionStateChangeTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ISessionStateChangeTrigger_get_StartBoundary(ISessionStateChangeTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT ISessionStateChangeTrigger_put_StartBoundary(ISessionStateChangeTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT ISessionStateChangeTrigger_get_EndBoundary(ISessionStateChangeTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT ISessionStateChangeTrigger_put_EndBoundary(ISessionStateChangeTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT ISessionStateChangeTrigger_get_Enabled(ISessionStateChangeTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT ISessionStateChangeTrigger_put_Enabled(ISessionStateChangeTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** ISessionStateChangeTrigger methods ***/ +static inline HRESULT ISessionStateChangeTrigger_get_Delay(ISessionStateChangeTrigger* This,BSTR *pDelay) { + return This->lpVtbl->get_Delay(This,pDelay); +} +static inline HRESULT ISessionStateChangeTrigger_put_Delay(ISessionStateChangeTrigger* This,BSTR delay) { + return This->lpVtbl->put_Delay(This,delay); +} +static inline HRESULT ISessionStateChangeTrigger_get_UserId(ISessionStateChangeTrigger* This,BSTR *pUser) { + return This->lpVtbl->get_UserId(This,pUser); +} +static inline HRESULT ISessionStateChangeTrigger_put_UserId(ISessionStateChangeTrigger* This,BSTR user) { + return This->lpVtbl->put_UserId(This,user); +} +static inline HRESULT ISessionStateChangeTrigger_get_StateChange(ISessionStateChangeTrigger* This,TASK_SESSION_STATE_CHANGE_TYPE *pType) { + return This->lpVtbl->get_StateChange(This,pType); +} +static inline HRESULT ISessionStateChangeTrigger_put_StateChange(ISessionStateChangeTrigger* This,TASK_SESSION_STATE_CHANGE_TYPE type) { + return This->lpVtbl->put_StateChange(This,type); +} +#endif +#endif + +#endif + + +#endif /* __ISessionStateChangeTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEventTrigger interface + */ +#ifndef __IEventTrigger_INTERFACE_DEFINED__ +#define __IEventTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEventTrigger, 0xd45b0167, 0x9653, 0x4eef, 0xb9,0x4f, 0x07,0x32,0xca,0x7a,0xf2,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d45b0167-9653-4eef-b94f-0732ca7af251") +IEventTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_Subscription( + BSTR *pQuery) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Subscription( + BSTR query) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Delay( + BSTR *pDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Delay( + BSTR delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ValueQueries( + ITaskNamedValueCollection **ppNamedXPaths) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ValueQueries( + ITaskNamedValueCollection *pNamedXPaths) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEventTrigger, 0xd45b0167, 0x9653, 0x4eef, 0xb9,0x4f, 0x07,0x32,0xca,0x7a,0xf2,0x51) +#endif +#else +typedef struct IEventTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEventTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEventTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEventTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IEventTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IEventTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IEventTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IEventTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IEventTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IEventTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IEventTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IEventTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IEventTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IEventTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IEventTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IEventTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IEventTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IEventTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IEventTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IEventTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IEventTrigger *This, + VARIANT_BOOL enabled); + + /*** IEventTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Subscription)( + IEventTrigger *This, + BSTR *pQuery); + + HRESULT (STDMETHODCALLTYPE *put_Subscription)( + IEventTrigger *This, + BSTR query); + + HRESULT (STDMETHODCALLTYPE *get_Delay)( + IEventTrigger *This, + BSTR *pDelay); + + HRESULT (STDMETHODCALLTYPE *put_Delay)( + IEventTrigger *This, + BSTR delay); + + HRESULT (STDMETHODCALLTYPE *get_ValueQueries)( + IEventTrigger *This, + ITaskNamedValueCollection **ppNamedXPaths); + + HRESULT (STDMETHODCALLTYPE *put_ValueQueries)( + IEventTrigger *This, + ITaskNamedValueCollection *pNamedXPaths); + + END_INTERFACE +} IEventTriggerVtbl; + +interface IEventTrigger { + CONST_VTBL IEventTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEventTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEventTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEventTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IEventTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IEventTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IEventTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IEventTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IEventTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IEventTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IEventTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IEventTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IEventTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IEventTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IEventTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IEventTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IEventTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IEventTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IEventTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IEventTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IEventTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IEventTrigger methods ***/ +#define IEventTrigger_get_Subscription(This,pQuery) (This)->lpVtbl->get_Subscription(This,pQuery) +#define IEventTrigger_put_Subscription(This,query) (This)->lpVtbl->put_Subscription(This,query) +#define IEventTrigger_get_Delay(This,pDelay) (This)->lpVtbl->get_Delay(This,pDelay) +#define IEventTrigger_put_Delay(This,delay) (This)->lpVtbl->put_Delay(This,delay) +#define IEventTrigger_get_ValueQueries(This,ppNamedXPaths) (This)->lpVtbl->get_ValueQueries(This,ppNamedXPaths) +#define IEventTrigger_put_ValueQueries(This,pNamedXPaths) (This)->lpVtbl->put_ValueQueries(This,pNamedXPaths) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEventTrigger_QueryInterface(IEventTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEventTrigger_AddRef(IEventTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEventTrigger_Release(IEventTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IEventTrigger_GetTypeInfoCount(IEventTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IEventTrigger_GetTypeInfo(IEventTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IEventTrigger_GetIDsOfNames(IEventTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IEventTrigger_Invoke(IEventTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IEventTrigger_get_Type(IEventTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IEventTrigger_get_Id(IEventTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IEventTrigger_put_Id(IEventTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IEventTrigger_get_Repetition(IEventTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IEventTrigger_put_Repetition(IEventTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IEventTrigger_get_ExecutionTimeLimit(IEventTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IEventTrigger_put_ExecutionTimeLimit(IEventTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IEventTrigger_get_StartBoundary(IEventTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IEventTrigger_put_StartBoundary(IEventTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IEventTrigger_get_EndBoundary(IEventTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IEventTrigger_put_EndBoundary(IEventTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IEventTrigger_get_Enabled(IEventTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IEventTrigger_put_Enabled(IEventTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IEventTrigger methods ***/ +static inline HRESULT IEventTrigger_get_Subscription(IEventTrigger* This,BSTR *pQuery) { + return This->lpVtbl->get_Subscription(This,pQuery); +} +static inline HRESULT IEventTrigger_put_Subscription(IEventTrigger* This,BSTR query) { + return This->lpVtbl->put_Subscription(This,query); +} +static inline HRESULT IEventTrigger_get_Delay(IEventTrigger* This,BSTR *pDelay) { + return This->lpVtbl->get_Delay(This,pDelay); +} +static inline HRESULT IEventTrigger_put_Delay(IEventTrigger* This,BSTR delay) { + return This->lpVtbl->put_Delay(This,delay); +} +static inline HRESULT IEventTrigger_get_ValueQueries(IEventTrigger* This,ITaskNamedValueCollection **ppNamedXPaths) { + return This->lpVtbl->get_ValueQueries(This,ppNamedXPaths); +} +static inline HRESULT IEventTrigger_put_ValueQueries(IEventTrigger* This,ITaskNamedValueCollection *pNamedXPaths) { + return This->lpVtbl->put_ValueQueries(This,pNamedXPaths); +} +#endif +#endif + +#endif + + +#endif /* __IEventTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITimeTrigger interface + */ +#ifndef __ITimeTrigger_INTERFACE_DEFINED__ +#define __ITimeTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITimeTrigger, 0xb45747e0, 0xeba7, 0x4276, 0x9f,0x29, 0x85,0xc5,0xbb,0x30,0x00,0x06); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b45747e0-eba7-4276-9f29-85c5bb300006") +ITimeTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_RandomDelay( + BSTR *delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RandomDelay( + BSTR delay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITimeTrigger, 0xb45747e0, 0xeba7, 0x4276, 0x9f,0x29, 0x85,0xc5,0xbb,0x30,0x00,0x06) +#endif +#else +typedef struct ITimeTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITimeTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITimeTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITimeTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITimeTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITimeTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITimeTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITimeTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + ITimeTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + ITimeTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + ITimeTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + ITimeTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + ITimeTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + ITimeTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + ITimeTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + ITimeTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + ITimeTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + ITimeTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + ITimeTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + ITimeTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + ITimeTrigger *This, + VARIANT_BOOL enabled); + + /*** ITimeTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_RandomDelay)( + ITimeTrigger *This, + BSTR *delay); + + HRESULT (STDMETHODCALLTYPE *put_RandomDelay)( + ITimeTrigger *This, + BSTR delay); + + END_INTERFACE +} ITimeTriggerVtbl; + +interface ITimeTrigger { + CONST_VTBL ITimeTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITimeTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITimeTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITimeTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITimeTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITimeTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITimeTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITimeTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define ITimeTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define ITimeTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define ITimeTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define ITimeTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define ITimeTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define ITimeTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define ITimeTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define ITimeTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define ITimeTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define ITimeTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define ITimeTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define ITimeTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define ITimeTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** ITimeTrigger methods ***/ +#define ITimeTrigger_get_RandomDelay(This,delay) (This)->lpVtbl->get_RandomDelay(This,delay) +#define ITimeTrigger_put_RandomDelay(This,delay) (This)->lpVtbl->put_RandomDelay(This,delay) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITimeTrigger_QueryInterface(ITimeTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITimeTrigger_AddRef(ITimeTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITimeTrigger_Release(ITimeTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITimeTrigger_GetTypeInfoCount(ITimeTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITimeTrigger_GetTypeInfo(ITimeTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITimeTrigger_GetIDsOfNames(ITimeTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITimeTrigger_Invoke(ITimeTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT ITimeTrigger_get_Type(ITimeTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT ITimeTrigger_get_Id(ITimeTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT ITimeTrigger_put_Id(ITimeTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT ITimeTrigger_get_Repetition(ITimeTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT ITimeTrigger_put_Repetition(ITimeTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT ITimeTrigger_get_ExecutionTimeLimit(ITimeTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITimeTrigger_put_ExecutionTimeLimit(ITimeTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT ITimeTrigger_get_StartBoundary(ITimeTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT ITimeTrigger_put_StartBoundary(ITimeTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT ITimeTrigger_get_EndBoundary(ITimeTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT ITimeTrigger_put_EndBoundary(ITimeTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT ITimeTrigger_get_Enabled(ITimeTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT ITimeTrigger_put_Enabled(ITimeTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** ITimeTrigger methods ***/ +static inline HRESULT ITimeTrigger_get_RandomDelay(ITimeTrigger* This,BSTR *delay) { + return This->lpVtbl->get_RandomDelay(This,delay); +} +static inline HRESULT ITimeTrigger_put_RandomDelay(ITimeTrigger* This,BSTR delay) { + return This->lpVtbl->put_RandomDelay(This,delay); +} +#endif +#endif + +#endif + + +#endif /* __ITimeTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDailyTrigger interface + */ +#ifndef __IDailyTrigger_INTERFACE_DEFINED__ +#define __IDailyTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDailyTrigger, 0x126c5cd8, 0xb288, 0x41d5, 0x8d,0xbf, 0xe4,0x91,0x44,0x6a,0xdc,0x5c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("126c5cd8-b288-41d5-8dbf-e491446adc5c") +IDailyTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_DaysInterval( + short *pDays) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DaysInterval( + short days) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RandomDelay( + BSTR *pRandomDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RandomDelay( + BSTR randomDelay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDailyTrigger, 0x126c5cd8, 0xb288, 0x41d5, 0x8d,0xbf, 0xe4,0x91,0x44,0x6a,0xdc,0x5c) +#endif +#else +typedef struct IDailyTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDailyTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDailyTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDailyTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDailyTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDailyTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDailyTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDailyTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IDailyTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IDailyTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IDailyTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IDailyTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IDailyTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IDailyTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IDailyTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IDailyTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IDailyTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IDailyTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IDailyTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IDailyTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IDailyTrigger *This, + VARIANT_BOOL enabled); + + /*** IDailyTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DaysInterval)( + IDailyTrigger *This, + short *pDays); + + HRESULT (STDMETHODCALLTYPE *put_DaysInterval)( + IDailyTrigger *This, + short days); + + HRESULT (STDMETHODCALLTYPE *get_RandomDelay)( + IDailyTrigger *This, + BSTR *pRandomDelay); + + HRESULT (STDMETHODCALLTYPE *put_RandomDelay)( + IDailyTrigger *This, + BSTR randomDelay); + + END_INTERFACE +} IDailyTriggerVtbl; + +interface IDailyTrigger { + CONST_VTBL IDailyTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDailyTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDailyTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDailyTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDailyTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDailyTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDailyTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDailyTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IDailyTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IDailyTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IDailyTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IDailyTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IDailyTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IDailyTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IDailyTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IDailyTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IDailyTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IDailyTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IDailyTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IDailyTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IDailyTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IDailyTrigger methods ***/ +#define IDailyTrigger_get_DaysInterval(This,pDays) (This)->lpVtbl->get_DaysInterval(This,pDays) +#define IDailyTrigger_put_DaysInterval(This,days) (This)->lpVtbl->put_DaysInterval(This,days) +#define IDailyTrigger_get_RandomDelay(This,pRandomDelay) (This)->lpVtbl->get_RandomDelay(This,pRandomDelay) +#define IDailyTrigger_put_RandomDelay(This,randomDelay) (This)->lpVtbl->put_RandomDelay(This,randomDelay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDailyTrigger_QueryInterface(IDailyTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDailyTrigger_AddRef(IDailyTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDailyTrigger_Release(IDailyTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDailyTrigger_GetTypeInfoCount(IDailyTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDailyTrigger_GetTypeInfo(IDailyTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDailyTrigger_GetIDsOfNames(IDailyTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDailyTrigger_Invoke(IDailyTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IDailyTrigger_get_Type(IDailyTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IDailyTrigger_get_Id(IDailyTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IDailyTrigger_put_Id(IDailyTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IDailyTrigger_get_Repetition(IDailyTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IDailyTrigger_put_Repetition(IDailyTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IDailyTrigger_get_ExecutionTimeLimit(IDailyTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IDailyTrigger_put_ExecutionTimeLimit(IDailyTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IDailyTrigger_get_StartBoundary(IDailyTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IDailyTrigger_put_StartBoundary(IDailyTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IDailyTrigger_get_EndBoundary(IDailyTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IDailyTrigger_put_EndBoundary(IDailyTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IDailyTrigger_get_Enabled(IDailyTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IDailyTrigger_put_Enabled(IDailyTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IDailyTrigger methods ***/ +static inline HRESULT IDailyTrigger_get_DaysInterval(IDailyTrigger* This,short *pDays) { + return This->lpVtbl->get_DaysInterval(This,pDays); +} +static inline HRESULT IDailyTrigger_put_DaysInterval(IDailyTrigger* This,short days) { + return This->lpVtbl->put_DaysInterval(This,days); +} +static inline HRESULT IDailyTrigger_get_RandomDelay(IDailyTrigger* This,BSTR *pRandomDelay) { + return This->lpVtbl->get_RandomDelay(This,pRandomDelay); +} +static inline HRESULT IDailyTrigger_put_RandomDelay(IDailyTrigger* This,BSTR randomDelay) { + return This->lpVtbl->put_RandomDelay(This,randomDelay); +} +#endif +#endif + +#endif + + +#endif /* __IDailyTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWeeklyTrigger interface + */ +#ifndef __IWeeklyTrigger_INTERFACE_DEFINED__ +#define __IWeeklyTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWeeklyTrigger, 0x5038fc98, 0x82ff, 0x436d, 0x87,0x28, 0xa5,0x12,0xa5,0x7c,0x9d,0xc1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5038fc98-82ff-436d-8728-a512a57c9dc1") +IWeeklyTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_DaysOfWeek( + short *pDays) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DaysOfWeek( + short days) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WeeksInterval( + short *pWeeks) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WeeksInterval( + short weeks) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RandomDelay( + BSTR *pRandomDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RandomDelay( + BSTR randomDelay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWeeklyTrigger, 0x5038fc98, 0x82ff, 0x436d, 0x87,0x28, 0xa5,0x12,0xa5,0x7c,0x9d,0xc1) +#endif +#else +typedef struct IWeeklyTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWeeklyTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWeeklyTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWeeklyTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWeeklyTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWeeklyTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWeeklyTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWeeklyTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWeeklyTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWeeklyTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IWeeklyTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IWeeklyTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IWeeklyTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IWeeklyTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IWeeklyTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IWeeklyTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IWeeklyTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IWeeklyTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IWeeklyTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IWeeklyTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IWeeklyTrigger *This, + VARIANT_BOOL enabled); + + /*** IWeeklyTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DaysOfWeek)( + IWeeklyTrigger *This, + short *pDays); + + HRESULT (STDMETHODCALLTYPE *put_DaysOfWeek)( + IWeeklyTrigger *This, + short days); + + HRESULT (STDMETHODCALLTYPE *get_WeeksInterval)( + IWeeklyTrigger *This, + short *pWeeks); + + HRESULT (STDMETHODCALLTYPE *put_WeeksInterval)( + IWeeklyTrigger *This, + short weeks); + + HRESULT (STDMETHODCALLTYPE *get_RandomDelay)( + IWeeklyTrigger *This, + BSTR *pRandomDelay); + + HRESULT (STDMETHODCALLTYPE *put_RandomDelay)( + IWeeklyTrigger *This, + BSTR randomDelay); + + END_INTERFACE +} IWeeklyTriggerVtbl; + +interface IWeeklyTrigger { + CONST_VTBL IWeeklyTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWeeklyTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWeeklyTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWeeklyTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWeeklyTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWeeklyTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWeeklyTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWeeklyTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IWeeklyTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IWeeklyTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IWeeklyTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IWeeklyTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IWeeklyTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IWeeklyTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IWeeklyTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IWeeklyTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IWeeklyTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IWeeklyTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IWeeklyTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IWeeklyTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IWeeklyTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IWeeklyTrigger methods ***/ +#define IWeeklyTrigger_get_DaysOfWeek(This,pDays) (This)->lpVtbl->get_DaysOfWeek(This,pDays) +#define IWeeklyTrigger_put_DaysOfWeek(This,days) (This)->lpVtbl->put_DaysOfWeek(This,days) +#define IWeeklyTrigger_get_WeeksInterval(This,pWeeks) (This)->lpVtbl->get_WeeksInterval(This,pWeeks) +#define IWeeklyTrigger_put_WeeksInterval(This,weeks) (This)->lpVtbl->put_WeeksInterval(This,weeks) +#define IWeeklyTrigger_get_RandomDelay(This,pRandomDelay) (This)->lpVtbl->get_RandomDelay(This,pRandomDelay) +#define IWeeklyTrigger_put_RandomDelay(This,randomDelay) (This)->lpVtbl->put_RandomDelay(This,randomDelay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWeeklyTrigger_QueryInterface(IWeeklyTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWeeklyTrigger_AddRef(IWeeklyTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWeeklyTrigger_Release(IWeeklyTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWeeklyTrigger_GetTypeInfoCount(IWeeklyTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWeeklyTrigger_GetTypeInfo(IWeeklyTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWeeklyTrigger_GetIDsOfNames(IWeeklyTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWeeklyTrigger_Invoke(IWeeklyTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IWeeklyTrigger_get_Type(IWeeklyTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IWeeklyTrigger_get_Id(IWeeklyTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IWeeklyTrigger_put_Id(IWeeklyTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IWeeklyTrigger_get_Repetition(IWeeklyTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IWeeklyTrigger_put_Repetition(IWeeklyTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IWeeklyTrigger_get_ExecutionTimeLimit(IWeeklyTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IWeeklyTrigger_put_ExecutionTimeLimit(IWeeklyTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IWeeklyTrigger_get_StartBoundary(IWeeklyTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IWeeklyTrigger_put_StartBoundary(IWeeklyTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IWeeklyTrigger_get_EndBoundary(IWeeklyTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IWeeklyTrigger_put_EndBoundary(IWeeklyTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IWeeklyTrigger_get_Enabled(IWeeklyTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IWeeklyTrigger_put_Enabled(IWeeklyTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IWeeklyTrigger methods ***/ +static inline HRESULT IWeeklyTrigger_get_DaysOfWeek(IWeeklyTrigger* This,short *pDays) { + return This->lpVtbl->get_DaysOfWeek(This,pDays); +} +static inline HRESULT IWeeklyTrigger_put_DaysOfWeek(IWeeklyTrigger* This,short days) { + return This->lpVtbl->put_DaysOfWeek(This,days); +} +static inline HRESULT IWeeklyTrigger_get_WeeksInterval(IWeeklyTrigger* This,short *pWeeks) { + return This->lpVtbl->get_WeeksInterval(This,pWeeks); +} +static inline HRESULT IWeeklyTrigger_put_WeeksInterval(IWeeklyTrigger* This,short weeks) { + return This->lpVtbl->put_WeeksInterval(This,weeks); +} +static inline HRESULT IWeeklyTrigger_get_RandomDelay(IWeeklyTrigger* This,BSTR *pRandomDelay) { + return This->lpVtbl->get_RandomDelay(This,pRandomDelay); +} +static inline HRESULT IWeeklyTrigger_put_RandomDelay(IWeeklyTrigger* This,BSTR randomDelay) { + return This->lpVtbl->put_RandomDelay(This,randomDelay); +} +#endif +#endif + +#endif + + +#endif /* __IWeeklyTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMonthlyTrigger interface + */ +#ifndef __IMonthlyTrigger_INTERFACE_DEFINED__ +#define __IMonthlyTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMonthlyTrigger, 0x97c45ef1, 0x6b02, 0x4a1a, 0x9c,0x0e, 0x1e,0xbf,0xba,0x15,0x00,0xac); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("97c45ef1-6b02-4a1a-9c0e-1ebfba1500ac") +IMonthlyTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_DaysOfMonth( + short *pDays) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DaysOfMonth( + short days) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MonthsOfYear( + short *pMonths) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MonthsOfYear( + short months) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RunOnLastDayOfMonth( + VARIANT_BOOL *pLastDay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RunOnLastDayOfMonth( + VARIANT_BOOL lastDay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RandomDelay( + BSTR *pRandomDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RandomDelay( + BSTR randomDelay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMonthlyTrigger, 0x97c45ef1, 0x6b02, 0x4a1a, 0x9c,0x0e, 0x1e,0xbf,0xba,0x15,0x00,0xac) +#endif +#else +typedef struct IMonthlyTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMonthlyTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMonthlyTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMonthlyTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMonthlyTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMonthlyTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMonthlyTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMonthlyTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IMonthlyTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IMonthlyTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IMonthlyTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IMonthlyTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IMonthlyTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IMonthlyTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IMonthlyTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IMonthlyTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IMonthlyTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IMonthlyTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IMonthlyTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IMonthlyTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IMonthlyTrigger *This, + VARIANT_BOOL enabled); + + /*** IMonthlyTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DaysOfMonth)( + IMonthlyTrigger *This, + short *pDays); + + HRESULT (STDMETHODCALLTYPE *put_DaysOfMonth)( + IMonthlyTrigger *This, + short days); + + HRESULT (STDMETHODCALLTYPE *get_MonthsOfYear)( + IMonthlyTrigger *This, + short *pMonths); + + HRESULT (STDMETHODCALLTYPE *put_MonthsOfYear)( + IMonthlyTrigger *This, + short months); + + HRESULT (STDMETHODCALLTYPE *get_RunOnLastDayOfMonth)( + IMonthlyTrigger *This, + VARIANT_BOOL *pLastDay); + + HRESULT (STDMETHODCALLTYPE *put_RunOnLastDayOfMonth)( + IMonthlyTrigger *This, + VARIANT_BOOL lastDay); + + HRESULT (STDMETHODCALLTYPE *get_RandomDelay)( + IMonthlyTrigger *This, + BSTR *pRandomDelay); + + HRESULT (STDMETHODCALLTYPE *put_RandomDelay)( + IMonthlyTrigger *This, + BSTR randomDelay); + + END_INTERFACE +} IMonthlyTriggerVtbl; + +interface IMonthlyTrigger { + CONST_VTBL IMonthlyTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMonthlyTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMonthlyTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMonthlyTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMonthlyTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMonthlyTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMonthlyTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMonthlyTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IMonthlyTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IMonthlyTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IMonthlyTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IMonthlyTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IMonthlyTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IMonthlyTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IMonthlyTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IMonthlyTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IMonthlyTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IMonthlyTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IMonthlyTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IMonthlyTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IMonthlyTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IMonthlyTrigger methods ***/ +#define IMonthlyTrigger_get_DaysOfMonth(This,pDays) (This)->lpVtbl->get_DaysOfMonth(This,pDays) +#define IMonthlyTrigger_put_DaysOfMonth(This,days) (This)->lpVtbl->put_DaysOfMonth(This,days) +#define IMonthlyTrigger_get_MonthsOfYear(This,pMonths) (This)->lpVtbl->get_MonthsOfYear(This,pMonths) +#define IMonthlyTrigger_put_MonthsOfYear(This,months) (This)->lpVtbl->put_MonthsOfYear(This,months) +#define IMonthlyTrigger_get_RunOnLastDayOfMonth(This,pLastDay) (This)->lpVtbl->get_RunOnLastDayOfMonth(This,pLastDay) +#define IMonthlyTrigger_put_RunOnLastDayOfMonth(This,lastDay) (This)->lpVtbl->put_RunOnLastDayOfMonth(This,lastDay) +#define IMonthlyTrigger_get_RandomDelay(This,pRandomDelay) (This)->lpVtbl->get_RandomDelay(This,pRandomDelay) +#define IMonthlyTrigger_put_RandomDelay(This,randomDelay) (This)->lpVtbl->put_RandomDelay(This,randomDelay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMonthlyTrigger_QueryInterface(IMonthlyTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMonthlyTrigger_AddRef(IMonthlyTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMonthlyTrigger_Release(IMonthlyTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMonthlyTrigger_GetTypeInfoCount(IMonthlyTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMonthlyTrigger_GetTypeInfo(IMonthlyTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMonthlyTrigger_GetIDsOfNames(IMonthlyTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMonthlyTrigger_Invoke(IMonthlyTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IMonthlyTrigger_get_Type(IMonthlyTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IMonthlyTrigger_get_Id(IMonthlyTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IMonthlyTrigger_put_Id(IMonthlyTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IMonthlyTrigger_get_Repetition(IMonthlyTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IMonthlyTrigger_put_Repetition(IMonthlyTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IMonthlyTrigger_get_ExecutionTimeLimit(IMonthlyTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IMonthlyTrigger_put_ExecutionTimeLimit(IMonthlyTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IMonthlyTrigger_get_StartBoundary(IMonthlyTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IMonthlyTrigger_put_StartBoundary(IMonthlyTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IMonthlyTrigger_get_EndBoundary(IMonthlyTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IMonthlyTrigger_put_EndBoundary(IMonthlyTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IMonthlyTrigger_get_Enabled(IMonthlyTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IMonthlyTrigger_put_Enabled(IMonthlyTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IMonthlyTrigger methods ***/ +static inline HRESULT IMonthlyTrigger_get_DaysOfMonth(IMonthlyTrigger* This,short *pDays) { + return This->lpVtbl->get_DaysOfMonth(This,pDays); +} +static inline HRESULT IMonthlyTrigger_put_DaysOfMonth(IMonthlyTrigger* This,short days) { + return This->lpVtbl->put_DaysOfMonth(This,days); +} +static inline HRESULT IMonthlyTrigger_get_MonthsOfYear(IMonthlyTrigger* This,short *pMonths) { + return This->lpVtbl->get_MonthsOfYear(This,pMonths); +} +static inline HRESULT IMonthlyTrigger_put_MonthsOfYear(IMonthlyTrigger* This,short months) { + return This->lpVtbl->put_MonthsOfYear(This,months); +} +static inline HRESULT IMonthlyTrigger_get_RunOnLastDayOfMonth(IMonthlyTrigger* This,VARIANT_BOOL *pLastDay) { + return This->lpVtbl->get_RunOnLastDayOfMonth(This,pLastDay); +} +static inline HRESULT IMonthlyTrigger_put_RunOnLastDayOfMonth(IMonthlyTrigger* This,VARIANT_BOOL lastDay) { + return This->lpVtbl->put_RunOnLastDayOfMonth(This,lastDay); +} +static inline HRESULT IMonthlyTrigger_get_RandomDelay(IMonthlyTrigger* This,BSTR *pRandomDelay) { + return This->lpVtbl->get_RandomDelay(This,pRandomDelay); +} +static inline HRESULT IMonthlyTrigger_put_RandomDelay(IMonthlyTrigger* This,BSTR randomDelay) { + return This->lpVtbl->put_RandomDelay(This,randomDelay); +} +#endif +#endif + +#endif + + +#endif /* __IMonthlyTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMonthlyDOWTrigger interface + */ +#ifndef __IMonthlyDOWTrigger_INTERFACE_DEFINED__ +#define __IMonthlyDOWTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMonthlyDOWTrigger, 0x77d025a3, 0x90fa, 0x43aa, 0xb5,0x2e, 0xcd,0xa5,0x49,0x9b,0x94,0x6a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("77d025a3-90fa-43aa-b52e-cda5499b946a") +IMonthlyDOWTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_DaysOfWeek( + short *pDays) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DaysOfWeek( + short days) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WeeksOfMonth( + short *pWeeks) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WeeksOfMonth( + short weeks) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MonthsOfYear( + short *pMonths) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MonthsOfYear( + short months) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RunOnLastWeekOfMonth( + VARIANT_BOOL *pLastWeek) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RunOnLastWeekOfMonth( + VARIANT_BOOL lastWeek) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RandomDelay( + BSTR *pRandomDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RandomDelay( + BSTR randomDelay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMonthlyDOWTrigger, 0x77d025a3, 0x90fa, 0x43aa, 0xb5,0x2e, 0xcd,0xa5,0x49,0x9b,0x94,0x6a) +#endif +#else +typedef struct IMonthlyDOWTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMonthlyDOWTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMonthlyDOWTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMonthlyDOWTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMonthlyDOWTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMonthlyDOWTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMonthlyDOWTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMonthlyDOWTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IMonthlyDOWTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IMonthlyDOWTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IMonthlyDOWTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IMonthlyDOWTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IMonthlyDOWTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IMonthlyDOWTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IMonthlyDOWTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IMonthlyDOWTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IMonthlyDOWTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IMonthlyDOWTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IMonthlyDOWTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IMonthlyDOWTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IMonthlyDOWTrigger *This, + VARIANT_BOOL enabled); + + /*** IMonthlyDOWTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DaysOfWeek)( + IMonthlyDOWTrigger *This, + short *pDays); + + HRESULT (STDMETHODCALLTYPE *put_DaysOfWeek)( + IMonthlyDOWTrigger *This, + short days); + + HRESULT (STDMETHODCALLTYPE *get_WeeksOfMonth)( + IMonthlyDOWTrigger *This, + short *pWeeks); + + HRESULT (STDMETHODCALLTYPE *put_WeeksOfMonth)( + IMonthlyDOWTrigger *This, + short weeks); + + HRESULT (STDMETHODCALLTYPE *get_MonthsOfYear)( + IMonthlyDOWTrigger *This, + short *pMonths); + + HRESULT (STDMETHODCALLTYPE *put_MonthsOfYear)( + IMonthlyDOWTrigger *This, + short months); + + HRESULT (STDMETHODCALLTYPE *get_RunOnLastWeekOfMonth)( + IMonthlyDOWTrigger *This, + VARIANT_BOOL *pLastWeek); + + HRESULT (STDMETHODCALLTYPE *put_RunOnLastWeekOfMonth)( + IMonthlyDOWTrigger *This, + VARIANT_BOOL lastWeek); + + HRESULT (STDMETHODCALLTYPE *get_RandomDelay)( + IMonthlyDOWTrigger *This, + BSTR *pRandomDelay); + + HRESULT (STDMETHODCALLTYPE *put_RandomDelay)( + IMonthlyDOWTrigger *This, + BSTR randomDelay); + + END_INTERFACE +} IMonthlyDOWTriggerVtbl; + +interface IMonthlyDOWTrigger { + CONST_VTBL IMonthlyDOWTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMonthlyDOWTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMonthlyDOWTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMonthlyDOWTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMonthlyDOWTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMonthlyDOWTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMonthlyDOWTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMonthlyDOWTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IMonthlyDOWTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IMonthlyDOWTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IMonthlyDOWTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IMonthlyDOWTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IMonthlyDOWTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IMonthlyDOWTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IMonthlyDOWTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IMonthlyDOWTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IMonthlyDOWTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IMonthlyDOWTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IMonthlyDOWTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IMonthlyDOWTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IMonthlyDOWTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IMonthlyDOWTrigger methods ***/ +#define IMonthlyDOWTrigger_get_DaysOfWeek(This,pDays) (This)->lpVtbl->get_DaysOfWeek(This,pDays) +#define IMonthlyDOWTrigger_put_DaysOfWeek(This,days) (This)->lpVtbl->put_DaysOfWeek(This,days) +#define IMonthlyDOWTrigger_get_WeeksOfMonth(This,pWeeks) (This)->lpVtbl->get_WeeksOfMonth(This,pWeeks) +#define IMonthlyDOWTrigger_put_WeeksOfMonth(This,weeks) (This)->lpVtbl->put_WeeksOfMonth(This,weeks) +#define IMonthlyDOWTrigger_get_MonthsOfYear(This,pMonths) (This)->lpVtbl->get_MonthsOfYear(This,pMonths) +#define IMonthlyDOWTrigger_put_MonthsOfYear(This,months) (This)->lpVtbl->put_MonthsOfYear(This,months) +#define IMonthlyDOWTrigger_get_RunOnLastWeekOfMonth(This,pLastWeek) (This)->lpVtbl->get_RunOnLastWeekOfMonth(This,pLastWeek) +#define IMonthlyDOWTrigger_put_RunOnLastWeekOfMonth(This,lastWeek) (This)->lpVtbl->put_RunOnLastWeekOfMonth(This,lastWeek) +#define IMonthlyDOWTrigger_get_RandomDelay(This,pRandomDelay) (This)->lpVtbl->get_RandomDelay(This,pRandomDelay) +#define IMonthlyDOWTrigger_put_RandomDelay(This,randomDelay) (This)->lpVtbl->put_RandomDelay(This,randomDelay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMonthlyDOWTrigger_QueryInterface(IMonthlyDOWTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMonthlyDOWTrigger_AddRef(IMonthlyDOWTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMonthlyDOWTrigger_Release(IMonthlyDOWTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMonthlyDOWTrigger_GetTypeInfoCount(IMonthlyDOWTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMonthlyDOWTrigger_GetTypeInfo(IMonthlyDOWTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMonthlyDOWTrigger_GetIDsOfNames(IMonthlyDOWTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMonthlyDOWTrigger_Invoke(IMonthlyDOWTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IMonthlyDOWTrigger_get_Type(IMonthlyDOWTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IMonthlyDOWTrigger_get_Id(IMonthlyDOWTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IMonthlyDOWTrigger_put_Id(IMonthlyDOWTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IMonthlyDOWTrigger_get_Repetition(IMonthlyDOWTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IMonthlyDOWTrigger_put_Repetition(IMonthlyDOWTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IMonthlyDOWTrigger_get_ExecutionTimeLimit(IMonthlyDOWTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IMonthlyDOWTrigger_put_ExecutionTimeLimit(IMonthlyDOWTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IMonthlyDOWTrigger_get_StartBoundary(IMonthlyDOWTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IMonthlyDOWTrigger_put_StartBoundary(IMonthlyDOWTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IMonthlyDOWTrigger_get_EndBoundary(IMonthlyDOWTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IMonthlyDOWTrigger_put_EndBoundary(IMonthlyDOWTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IMonthlyDOWTrigger_get_Enabled(IMonthlyDOWTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IMonthlyDOWTrigger_put_Enabled(IMonthlyDOWTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IMonthlyDOWTrigger methods ***/ +static inline HRESULT IMonthlyDOWTrigger_get_DaysOfWeek(IMonthlyDOWTrigger* This,short *pDays) { + return This->lpVtbl->get_DaysOfWeek(This,pDays); +} +static inline HRESULT IMonthlyDOWTrigger_put_DaysOfWeek(IMonthlyDOWTrigger* This,short days) { + return This->lpVtbl->put_DaysOfWeek(This,days); +} +static inline HRESULT IMonthlyDOWTrigger_get_WeeksOfMonth(IMonthlyDOWTrigger* This,short *pWeeks) { + return This->lpVtbl->get_WeeksOfMonth(This,pWeeks); +} +static inline HRESULT IMonthlyDOWTrigger_put_WeeksOfMonth(IMonthlyDOWTrigger* This,short weeks) { + return This->lpVtbl->put_WeeksOfMonth(This,weeks); +} +static inline HRESULT IMonthlyDOWTrigger_get_MonthsOfYear(IMonthlyDOWTrigger* This,short *pMonths) { + return This->lpVtbl->get_MonthsOfYear(This,pMonths); +} +static inline HRESULT IMonthlyDOWTrigger_put_MonthsOfYear(IMonthlyDOWTrigger* This,short months) { + return This->lpVtbl->put_MonthsOfYear(This,months); +} +static inline HRESULT IMonthlyDOWTrigger_get_RunOnLastWeekOfMonth(IMonthlyDOWTrigger* This,VARIANT_BOOL *pLastWeek) { + return This->lpVtbl->get_RunOnLastWeekOfMonth(This,pLastWeek); +} +static inline HRESULT IMonthlyDOWTrigger_put_RunOnLastWeekOfMonth(IMonthlyDOWTrigger* This,VARIANT_BOOL lastWeek) { + return This->lpVtbl->put_RunOnLastWeekOfMonth(This,lastWeek); +} +static inline HRESULT IMonthlyDOWTrigger_get_RandomDelay(IMonthlyDOWTrigger* This,BSTR *pRandomDelay) { + return This->lpVtbl->get_RandomDelay(This,pRandomDelay); +} +static inline HRESULT IMonthlyDOWTrigger_put_RandomDelay(IMonthlyDOWTrigger* This,BSTR randomDelay) { + return This->lpVtbl->put_RandomDelay(This,randomDelay); +} +#endif +#endif + +#endif + + +#endif /* __IMonthlyDOWTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBootTrigger interface + */ +#ifndef __IBootTrigger_INTERFACE_DEFINED__ +#define __IBootTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBootTrigger, 0x2a9c35da, 0xd357, 0x41f4, 0xbb,0xc1, 0x20,0x7a,0xc1,0xb1,0xf3,0xcb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2a9c35da-d357-41f4-bbc1-207ac1b1f3cb") +IBootTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_Delay( + BSTR *pDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Delay( + BSTR delay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBootTrigger, 0x2a9c35da, 0xd357, 0x41f4, 0xbb,0xc1, 0x20,0x7a,0xc1,0xb1,0xf3,0xcb) +#endif +#else +typedef struct IBootTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBootTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBootTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBootTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IBootTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IBootTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IBootTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IBootTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IBootTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IBootTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IBootTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IBootTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IBootTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IBootTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IBootTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IBootTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IBootTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IBootTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IBootTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IBootTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IBootTrigger *This, + VARIANT_BOOL enabled); + + /*** IBootTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Delay)( + IBootTrigger *This, + BSTR *pDelay); + + HRESULT (STDMETHODCALLTYPE *put_Delay)( + IBootTrigger *This, + BSTR delay); + + END_INTERFACE +} IBootTriggerVtbl; + +interface IBootTrigger { + CONST_VTBL IBootTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBootTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBootTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBootTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IBootTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IBootTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IBootTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IBootTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IBootTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IBootTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IBootTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IBootTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IBootTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IBootTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IBootTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IBootTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IBootTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IBootTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IBootTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IBootTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IBootTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IBootTrigger methods ***/ +#define IBootTrigger_get_Delay(This,pDelay) (This)->lpVtbl->get_Delay(This,pDelay) +#define IBootTrigger_put_Delay(This,delay) (This)->lpVtbl->put_Delay(This,delay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBootTrigger_QueryInterface(IBootTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBootTrigger_AddRef(IBootTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBootTrigger_Release(IBootTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IBootTrigger_GetTypeInfoCount(IBootTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IBootTrigger_GetTypeInfo(IBootTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IBootTrigger_GetIDsOfNames(IBootTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IBootTrigger_Invoke(IBootTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IBootTrigger_get_Type(IBootTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IBootTrigger_get_Id(IBootTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IBootTrigger_put_Id(IBootTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IBootTrigger_get_Repetition(IBootTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IBootTrigger_put_Repetition(IBootTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IBootTrigger_get_ExecutionTimeLimit(IBootTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IBootTrigger_put_ExecutionTimeLimit(IBootTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IBootTrigger_get_StartBoundary(IBootTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IBootTrigger_put_StartBoundary(IBootTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IBootTrigger_get_EndBoundary(IBootTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IBootTrigger_put_EndBoundary(IBootTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IBootTrigger_get_Enabled(IBootTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IBootTrigger_put_Enabled(IBootTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IBootTrigger methods ***/ +static inline HRESULT IBootTrigger_get_Delay(IBootTrigger* This,BSTR *pDelay) { + return This->lpVtbl->get_Delay(This,pDelay); +} +static inline HRESULT IBootTrigger_put_Delay(IBootTrigger* This,BSTR delay) { + return This->lpVtbl->put_Delay(This,delay); +} +#endif +#endif + +#endif + + +#endif /* __IBootTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRegistrationTrigger interface + */ +#ifndef __IRegistrationTrigger_INTERFACE_DEFINED__ +#define __IRegistrationTrigger_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRegistrationTrigger, 0x4c8fec3a, 0xc218, 0x4e0c, 0xb2,0x3d, 0x62,0x90,0x24,0xdb,0x91,0xa2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4c8fec3a-c218-4e0c-b23d-629024db91a2") +IRegistrationTrigger : public ITrigger +{ + virtual HRESULT STDMETHODCALLTYPE get_Delay( + BSTR *pDelay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Delay( + BSTR delay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRegistrationTrigger, 0x4c8fec3a, 0xc218, 0x4e0c, 0xb2,0x3d, 0x62,0x90,0x24,0xdb,0x91,0xa2) +#endif +#else +typedef struct IRegistrationTriggerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRegistrationTrigger *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRegistrationTrigger *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRegistrationTrigger *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRegistrationTrigger *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRegistrationTrigger *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRegistrationTrigger *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRegistrationTrigger *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IRegistrationTrigger *This, + TASK_TRIGGER_TYPE2 *type); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IRegistrationTrigger *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IRegistrationTrigger *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Repetition)( + IRegistrationTrigger *This, + IRepetitionPattern **repeat); + + HRESULT (STDMETHODCALLTYPE *put_Repetition)( + IRegistrationTrigger *This, + IRepetitionPattern *repeat); + + HRESULT (STDMETHODCALLTYPE *get_ExecutionTimeLimit)( + IRegistrationTrigger *This, + BSTR *limit); + + HRESULT (STDMETHODCALLTYPE *put_ExecutionTimeLimit)( + IRegistrationTrigger *This, + BSTR limit); + + HRESULT (STDMETHODCALLTYPE *get_StartBoundary)( + IRegistrationTrigger *This, + BSTR *start); + + HRESULT (STDMETHODCALLTYPE *put_StartBoundary)( + IRegistrationTrigger *This, + BSTR start); + + HRESULT (STDMETHODCALLTYPE *get_EndBoundary)( + IRegistrationTrigger *This, + BSTR *end); + + HRESULT (STDMETHODCALLTYPE *put_EndBoundary)( + IRegistrationTrigger *This, + BSTR end); + + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IRegistrationTrigger *This, + VARIANT_BOOL *enabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IRegistrationTrigger *This, + VARIANT_BOOL enabled); + + /*** IRegistrationTrigger methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Delay)( + IRegistrationTrigger *This, + BSTR *pDelay); + + HRESULT (STDMETHODCALLTYPE *put_Delay)( + IRegistrationTrigger *This, + BSTR delay); + + END_INTERFACE +} IRegistrationTriggerVtbl; + +interface IRegistrationTrigger { + CONST_VTBL IRegistrationTriggerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRegistrationTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRegistrationTrigger_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRegistrationTrigger_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRegistrationTrigger_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRegistrationTrigger_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRegistrationTrigger_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRegistrationTrigger_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITrigger methods ***/ +#define IRegistrationTrigger_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#define IRegistrationTrigger_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IRegistrationTrigger_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IRegistrationTrigger_get_Repetition(This,repeat) (This)->lpVtbl->get_Repetition(This,repeat) +#define IRegistrationTrigger_put_Repetition(This,repeat) (This)->lpVtbl->put_Repetition(This,repeat) +#define IRegistrationTrigger_get_ExecutionTimeLimit(This,limit) (This)->lpVtbl->get_ExecutionTimeLimit(This,limit) +#define IRegistrationTrigger_put_ExecutionTimeLimit(This,limit) (This)->lpVtbl->put_ExecutionTimeLimit(This,limit) +#define IRegistrationTrigger_get_StartBoundary(This,start) (This)->lpVtbl->get_StartBoundary(This,start) +#define IRegistrationTrigger_put_StartBoundary(This,start) (This)->lpVtbl->put_StartBoundary(This,start) +#define IRegistrationTrigger_get_EndBoundary(This,end) (This)->lpVtbl->get_EndBoundary(This,end) +#define IRegistrationTrigger_put_EndBoundary(This,end) (This)->lpVtbl->put_EndBoundary(This,end) +#define IRegistrationTrigger_get_Enabled(This,enabled) (This)->lpVtbl->get_Enabled(This,enabled) +#define IRegistrationTrigger_put_Enabled(This,enabled) (This)->lpVtbl->put_Enabled(This,enabled) +/*** IRegistrationTrigger methods ***/ +#define IRegistrationTrigger_get_Delay(This,pDelay) (This)->lpVtbl->get_Delay(This,pDelay) +#define IRegistrationTrigger_put_Delay(This,delay) (This)->lpVtbl->put_Delay(This,delay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRegistrationTrigger_QueryInterface(IRegistrationTrigger* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRegistrationTrigger_AddRef(IRegistrationTrigger* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRegistrationTrigger_Release(IRegistrationTrigger* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRegistrationTrigger_GetTypeInfoCount(IRegistrationTrigger* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRegistrationTrigger_GetTypeInfo(IRegistrationTrigger* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRegistrationTrigger_GetIDsOfNames(IRegistrationTrigger* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRegistrationTrigger_Invoke(IRegistrationTrigger* 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); +} +/*** ITrigger methods ***/ +static inline HRESULT IRegistrationTrigger_get_Type(IRegistrationTrigger* This,TASK_TRIGGER_TYPE2 *type) { + return This->lpVtbl->get_Type(This,type); +} +static inline HRESULT IRegistrationTrigger_get_Id(IRegistrationTrigger* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IRegistrationTrigger_put_Id(IRegistrationTrigger* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IRegistrationTrigger_get_Repetition(IRegistrationTrigger* This,IRepetitionPattern **repeat) { + return This->lpVtbl->get_Repetition(This,repeat); +} +static inline HRESULT IRegistrationTrigger_put_Repetition(IRegistrationTrigger* This,IRepetitionPattern *repeat) { + return This->lpVtbl->put_Repetition(This,repeat); +} +static inline HRESULT IRegistrationTrigger_get_ExecutionTimeLimit(IRegistrationTrigger* This,BSTR *limit) { + return This->lpVtbl->get_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IRegistrationTrigger_put_ExecutionTimeLimit(IRegistrationTrigger* This,BSTR limit) { + return This->lpVtbl->put_ExecutionTimeLimit(This,limit); +} +static inline HRESULT IRegistrationTrigger_get_StartBoundary(IRegistrationTrigger* This,BSTR *start) { + return This->lpVtbl->get_StartBoundary(This,start); +} +static inline HRESULT IRegistrationTrigger_put_StartBoundary(IRegistrationTrigger* This,BSTR start) { + return This->lpVtbl->put_StartBoundary(This,start); +} +static inline HRESULT IRegistrationTrigger_get_EndBoundary(IRegistrationTrigger* This,BSTR *end) { + return This->lpVtbl->get_EndBoundary(This,end); +} +static inline HRESULT IRegistrationTrigger_put_EndBoundary(IRegistrationTrigger* This,BSTR end) { + return This->lpVtbl->put_EndBoundary(This,end); +} +static inline HRESULT IRegistrationTrigger_get_Enabled(IRegistrationTrigger* This,VARIANT_BOOL *enabled) { + return This->lpVtbl->get_Enabled(This,enabled); +} +static inline HRESULT IRegistrationTrigger_put_Enabled(IRegistrationTrigger* This,VARIANT_BOOL enabled) { + return This->lpVtbl->put_Enabled(This,enabled); +} +/*** IRegistrationTrigger methods ***/ +static inline HRESULT IRegistrationTrigger_get_Delay(IRegistrationTrigger* This,BSTR *pDelay) { + return This->lpVtbl->get_Delay(This,pDelay); +} +static inline HRESULT IRegistrationTrigger_put_Delay(IRegistrationTrigger* This,BSTR delay) { + return This->lpVtbl->put_Delay(This,delay); +} +#endif +#endif + +#endif + + +#endif /* __IRegistrationTrigger_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITriggerCollection interface + */ +#ifndef __ITriggerCollection_INTERFACE_DEFINED__ +#define __ITriggerCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITriggerCollection, 0x85df5081, 0x1b24, 0x4f32, 0x87,0x8a, 0xd9,0xd1,0x4d,0xf4,0xcb,0x77); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("85df5081-1b24-4f32-878a-d9d14df4cb77") +ITriggerCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + ITrigger **trigger) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + + virtual HRESULT STDMETHODCALLTYPE Create( + TASK_TRIGGER_TYPE2 type, + ITrigger **trigger) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITriggerCollection, 0x85df5081, 0x1b24, 0x4f32, 0x87,0x8a, 0xd9,0xd1,0x4d,0xf4,0xcb,0x77) +#endif +#else +typedef struct ITriggerCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITriggerCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITriggerCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITriggerCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITriggerCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITriggerCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITriggerCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITriggerCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITriggerCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + ITriggerCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + ITriggerCollection *This, + LONG index, + ITrigger **trigger); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ITriggerCollection *This, + IUnknown **penum); + + HRESULT (STDMETHODCALLTYPE *Create)( + ITriggerCollection *This, + TASK_TRIGGER_TYPE2 type, + ITrigger **trigger); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ITriggerCollection *This, + VARIANT index); + + HRESULT (STDMETHODCALLTYPE *Clear)( + ITriggerCollection *This); + + END_INTERFACE +} ITriggerCollectionVtbl; + +interface ITriggerCollection { + CONST_VTBL ITriggerCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITriggerCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITriggerCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITriggerCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITriggerCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITriggerCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITriggerCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITriggerCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITriggerCollection methods ***/ +#define ITriggerCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define ITriggerCollection_get_Item(This,index,trigger) (This)->lpVtbl->get_Item(This,index,trigger) +#define ITriggerCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#define ITriggerCollection_Create(This,type,trigger) (This)->lpVtbl->Create(This,type,trigger) +#define ITriggerCollection_Remove(This,index) (This)->lpVtbl->Remove(This,index) +#define ITriggerCollection_Clear(This) (This)->lpVtbl->Clear(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITriggerCollection_QueryInterface(ITriggerCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITriggerCollection_AddRef(ITriggerCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITriggerCollection_Release(ITriggerCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITriggerCollection_GetTypeInfoCount(ITriggerCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITriggerCollection_GetTypeInfo(ITriggerCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITriggerCollection_GetIDsOfNames(ITriggerCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITriggerCollection_Invoke(ITriggerCollection* 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); +} +/*** ITriggerCollection methods ***/ +static inline HRESULT ITriggerCollection_get_Count(ITriggerCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT ITriggerCollection_get_Item(ITriggerCollection* This,LONG index,ITrigger **trigger) { + return This->lpVtbl->get_Item(This,index,trigger); +} +static inline HRESULT ITriggerCollection_get__NewEnum(ITriggerCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +static inline HRESULT ITriggerCollection_Create(ITriggerCollection* This,TASK_TRIGGER_TYPE2 type,ITrigger **trigger) { + return This->lpVtbl->Create(This,type,trigger); +} +static inline HRESULT ITriggerCollection_Remove(ITriggerCollection* This,VARIANT index) { + return This->lpVtbl->Remove(This,index); +} +static inline HRESULT ITriggerCollection_Clear(ITriggerCollection* This) { + return This->lpVtbl->Clear(This); +} +#endif +#endif + +#endif + + +#endif /* __ITriggerCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRepetitionPattern interface + */ +#ifndef __IRepetitionPattern_INTERFACE_DEFINED__ +#define __IRepetitionPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRepetitionPattern, 0x7fb9acf1, 0x26be, 0x400e, 0x85,0xb5, 0x29,0x4b,0x9c,0x75,0xdf,0xd6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7fb9acf1-26be-400e-85b5-294b9c75dfd6") +IRepetitionPattern : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Interval( + BSTR *interval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Interval( + BSTR interval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Duration( + BSTR *duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Duration( + BSTR duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StopAtDurationEnd( + VARIANT_BOOL *stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StopAtDurationEnd( + VARIANT_BOOL sop) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRepetitionPattern, 0x7fb9acf1, 0x26be, 0x400e, 0x85,0xb5, 0x29,0x4b,0x9c,0x75,0xdf,0xd6) +#endif +#else +typedef struct IRepetitionPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRepetitionPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRepetitionPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRepetitionPattern *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IRepetitionPattern *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IRepetitionPattern *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IRepetitionPattern *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IRepetitionPattern *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IRepetitionPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Interval)( + IRepetitionPattern *This, + BSTR *interval); + + HRESULT (STDMETHODCALLTYPE *put_Interval)( + IRepetitionPattern *This, + BSTR interval); + + HRESULT (STDMETHODCALLTYPE *get_Duration)( + IRepetitionPattern *This, + BSTR *duration); + + HRESULT (STDMETHODCALLTYPE *put_Duration)( + IRepetitionPattern *This, + BSTR duration); + + HRESULT (STDMETHODCALLTYPE *get_StopAtDurationEnd)( + IRepetitionPattern *This, + VARIANT_BOOL *stop); + + HRESULT (STDMETHODCALLTYPE *put_StopAtDurationEnd)( + IRepetitionPattern *This, + VARIANT_BOOL sop); + + END_INTERFACE +} IRepetitionPatternVtbl; + +interface IRepetitionPattern { + CONST_VTBL IRepetitionPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRepetitionPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRepetitionPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRepetitionPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IRepetitionPattern_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IRepetitionPattern_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IRepetitionPattern_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IRepetitionPattern_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IRepetitionPattern methods ***/ +#define IRepetitionPattern_get_Interval(This,interval) (This)->lpVtbl->get_Interval(This,interval) +#define IRepetitionPattern_put_Interval(This,interval) (This)->lpVtbl->put_Interval(This,interval) +#define IRepetitionPattern_get_Duration(This,duration) (This)->lpVtbl->get_Duration(This,duration) +#define IRepetitionPattern_put_Duration(This,duration) (This)->lpVtbl->put_Duration(This,duration) +#define IRepetitionPattern_get_StopAtDurationEnd(This,stop) (This)->lpVtbl->get_StopAtDurationEnd(This,stop) +#define IRepetitionPattern_put_StopAtDurationEnd(This,sop) (This)->lpVtbl->put_StopAtDurationEnd(This,sop) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRepetitionPattern_QueryInterface(IRepetitionPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRepetitionPattern_AddRef(IRepetitionPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRepetitionPattern_Release(IRepetitionPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IRepetitionPattern_GetTypeInfoCount(IRepetitionPattern* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IRepetitionPattern_GetTypeInfo(IRepetitionPattern* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IRepetitionPattern_GetIDsOfNames(IRepetitionPattern* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IRepetitionPattern_Invoke(IRepetitionPattern* 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); +} +/*** IRepetitionPattern methods ***/ +static inline HRESULT IRepetitionPattern_get_Interval(IRepetitionPattern* This,BSTR *interval) { + return This->lpVtbl->get_Interval(This,interval); +} +static inline HRESULT IRepetitionPattern_put_Interval(IRepetitionPattern* This,BSTR interval) { + return This->lpVtbl->put_Interval(This,interval); +} +static inline HRESULT IRepetitionPattern_get_Duration(IRepetitionPattern* This,BSTR *duration) { + return This->lpVtbl->get_Duration(This,duration); +} +static inline HRESULT IRepetitionPattern_put_Duration(IRepetitionPattern* This,BSTR duration) { + return This->lpVtbl->put_Duration(This,duration); +} +static inline HRESULT IRepetitionPattern_get_StopAtDurationEnd(IRepetitionPattern* This,VARIANT_BOOL *stop) { + return This->lpVtbl->get_StopAtDurationEnd(This,stop); +} +static inline HRESULT IRepetitionPattern_put_StopAtDurationEnd(IRepetitionPattern* This,VARIANT_BOOL sop) { + return This->lpVtbl->put_StopAtDurationEnd(This,sop); +} +#endif +#endif + +#endif + + +#endif /* __IRepetitionPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAction interface + */ +#ifndef __IAction_INTERFACE_DEFINED__ +#define __IAction_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAction, 0xbae54997, 0x48b1, 0x4cbe, 0x99,0x65, 0xd6,0xbe,0x26,0x3e,0xbe,0xa4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bae54997-48b1-4cbe-9965-d6be263ebea4") +IAction : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Id( + BSTR *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Id( + BSTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Type( + TASK_ACTION_TYPE *type) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAction, 0xbae54997, 0x48b1, 0x4cbe, 0x99,0x65, 0xd6,0xbe,0x26,0x3e,0xbe,0xa4) +#endif +#else +typedef struct IActionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAction *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAction *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAction *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAction *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAction *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAction *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAction *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IAction methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Id)( + IAction *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IAction *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Type)( + IAction *This, + TASK_ACTION_TYPE *type); + + END_INTERFACE +} IActionVtbl; + +interface IAction { + CONST_VTBL IActionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAction_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAction_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IAction methods ***/ +#define IAction_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IAction_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IAction_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAction_QueryInterface(IAction* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAction_AddRef(IAction* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAction_Release(IAction* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAction_GetTypeInfoCount(IAction* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAction_GetTypeInfo(IAction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAction_GetIDsOfNames(IAction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAction_Invoke(IAction* 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); +} +/*** IAction methods ***/ +static inline HRESULT IAction_get_Id(IAction* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IAction_put_Id(IAction* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IAction_get_Type(IAction* This,TASK_ACTION_TYPE *type) { + return This->lpVtbl->get_Type(This,type); +} +#endif +#endif + +#endif + + +#endif /* __IAction_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IActionCollection interface + */ +#ifndef __IActionCollection_INTERFACE_DEFINED__ +#define __IActionCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IActionCollection, 0x02820e19, 0x7b98, 0x4ed2, 0xb2,0xe8, 0xfd,0xcc,0xce,0xff,0x61,0x9b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("02820e19-7b98-4ed2-b2e8-fdccceff619b") +IActionCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + IAction **action) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **penum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_XmlText( + BSTR *xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_XmlText( + BSTR xml) = 0; + + virtual HRESULT STDMETHODCALLTYPE Create( + TASK_ACTION_TYPE Type, + IAction **action) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Context( + BSTR *ctx) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Context( + BSTR ctx) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IActionCollection, 0x02820e19, 0x7b98, 0x4ed2, 0xb2,0xe8, 0xfd,0xcc,0xce,0xff,0x61,0x9b) +#endif +#else +typedef struct IActionCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IActionCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IActionCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IActionCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IActionCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IActionCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IActionCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IActionCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IActionCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IActionCollection *This, + LONG *count); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IActionCollection *This, + LONG index, + IAction **action); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IActionCollection *This, + IUnknown **penum); + + HRESULT (STDMETHODCALLTYPE *get_XmlText)( + IActionCollection *This, + BSTR *xml); + + HRESULT (STDMETHODCALLTYPE *put_XmlText)( + IActionCollection *This, + BSTR xml); + + HRESULT (STDMETHODCALLTYPE *Create)( + IActionCollection *This, + TASK_ACTION_TYPE Type, + IAction **action); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IActionCollection *This, + VARIANT index); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IActionCollection *This); + + HRESULT (STDMETHODCALLTYPE *get_Context)( + IActionCollection *This, + BSTR *ctx); + + HRESULT (STDMETHODCALLTYPE *put_Context)( + IActionCollection *This, + BSTR ctx); + + END_INTERFACE +} IActionCollectionVtbl; + +interface IActionCollection { + CONST_VTBL IActionCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IActionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IActionCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IActionCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IActionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IActionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IActionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IActionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IActionCollection methods ***/ +#define IActionCollection_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define IActionCollection_get_Item(This,index,action) (This)->lpVtbl->get_Item(This,index,action) +#define IActionCollection_get__NewEnum(This,penum) (This)->lpVtbl->get__NewEnum(This,penum) +#define IActionCollection_get_XmlText(This,xml) (This)->lpVtbl->get_XmlText(This,xml) +#define IActionCollection_put_XmlText(This,xml) (This)->lpVtbl->put_XmlText(This,xml) +#define IActionCollection_Create(This,Type,action) (This)->lpVtbl->Create(This,Type,action) +#define IActionCollection_Remove(This,index) (This)->lpVtbl->Remove(This,index) +#define IActionCollection_Clear(This) (This)->lpVtbl->Clear(This) +#define IActionCollection_get_Context(This,ctx) (This)->lpVtbl->get_Context(This,ctx) +#define IActionCollection_put_Context(This,ctx) (This)->lpVtbl->put_Context(This,ctx) +#else +/*** IUnknown methods ***/ +static inline HRESULT IActionCollection_QueryInterface(IActionCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IActionCollection_AddRef(IActionCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IActionCollection_Release(IActionCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IActionCollection_GetTypeInfoCount(IActionCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IActionCollection_GetTypeInfo(IActionCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IActionCollection_GetIDsOfNames(IActionCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IActionCollection_Invoke(IActionCollection* 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); +} +/*** IActionCollection methods ***/ +static inline HRESULT IActionCollection_get_Count(IActionCollection* This,LONG *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT IActionCollection_get_Item(IActionCollection* This,LONG index,IAction **action) { + return This->lpVtbl->get_Item(This,index,action); +} +static inline HRESULT IActionCollection_get__NewEnum(IActionCollection* This,IUnknown **penum) { + return This->lpVtbl->get__NewEnum(This,penum); +} +static inline HRESULT IActionCollection_get_XmlText(IActionCollection* This,BSTR *xml) { + return This->lpVtbl->get_XmlText(This,xml); +} +static inline HRESULT IActionCollection_put_XmlText(IActionCollection* This,BSTR xml) { + return This->lpVtbl->put_XmlText(This,xml); +} +static inline HRESULT IActionCollection_Create(IActionCollection* This,TASK_ACTION_TYPE Type,IAction **action) { + return This->lpVtbl->Create(This,Type,action); +} +static inline HRESULT IActionCollection_Remove(IActionCollection* This,VARIANT index) { + return This->lpVtbl->Remove(This,index); +} +static inline HRESULT IActionCollection_Clear(IActionCollection* This) { + return This->lpVtbl->Clear(This); +} +static inline HRESULT IActionCollection_get_Context(IActionCollection* This,BSTR *ctx) { + return This->lpVtbl->get_Context(This,ctx); +} +static inline HRESULT IActionCollection_put_Context(IActionCollection* This,BSTR ctx) { + return This->lpVtbl->put_Context(This,ctx); +} +#endif +#endif + +#endif + + +#endif /* __IActionCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IExecAction interface + */ +#ifndef __IExecAction_INTERFACE_DEFINED__ +#define __IExecAction_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IExecAction, 0x4c3d624d, 0xfd6b, 0x49a3, 0xb9,0xb7, 0x09,0xcb,0x3c,0xd3,0xf0,0x47); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4c3d624d-fd6b-49a3-b9b7-09cb3cd3f047") +IExecAction : public IAction +{ + virtual HRESULT STDMETHODCALLTYPE get_Path( + BSTR *path) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Path( + BSTR path) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Arguments( + BSTR *argument) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Arguments( + BSTR argument) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WorkingDirectory( + BSTR *directory) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WorkingDirectory( + BSTR directory) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IExecAction, 0x4c3d624d, 0xfd6b, 0x49a3, 0xb9,0xb7, 0x09,0xcb,0x3c,0xd3,0xf0,0x47) +#endif +#else +typedef struct IExecActionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IExecAction *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IExecAction *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IExecAction *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IExecAction *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IExecAction *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IExecAction *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IExecAction *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IAction methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Id)( + IExecAction *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IExecAction *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_Type)( + IExecAction *This, + TASK_ACTION_TYPE *type); + + /*** IExecAction methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Path)( + IExecAction *This, + BSTR *path); + + HRESULT (STDMETHODCALLTYPE *put_Path)( + IExecAction *This, + BSTR path); + + HRESULT (STDMETHODCALLTYPE *get_Arguments)( + IExecAction *This, + BSTR *argument); + + HRESULT (STDMETHODCALLTYPE *put_Arguments)( + IExecAction *This, + BSTR argument); + + HRESULT (STDMETHODCALLTYPE *get_WorkingDirectory)( + IExecAction *This, + BSTR *directory); + + HRESULT (STDMETHODCALLTYPE *put_WorkingDirectory)( + IExecAction *This, + BSTR directory); + + END_INTERFACE +} IExecActionVtbl; + +interface IExecAction { + CONST_VTBL IExecActionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IExecAction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IExecAction_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IExecAction_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IExecAction_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IExecAction_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IExecAction_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IExecAction_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IAction methods ***/ +#define IExecAction_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IExecAction_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IExecAction_get_Type(This,type) (This)->lpVtbl->get_Type(This,type) +/*** IExecAction methods ***/ +#define IExecAction_get_Path(This,path) (This)->lpVtbl->get_Path(This,path) +#define IExecAction_put_Path(This,path) (This)->lpVtbl->put_Path(This,path) +#define IExecAction_get_Arguments(This,argument) (This)->lpVtbl->get_Arguments(This,argument) +#define IExecAction_put_Arguments(This,argument) (This)->lpVtbl->put_Arguments(This,argument) +#define IExecAction_get_WorkingDirectory(This,directory) (This)->lpVtbl->get_WorkingDirectory(This,directory) +#define IExecAction_put_WorkingDirectory(This,directory) (This)->lpVtbl->put_WorkingDirectory(This,directory) +#else +/*** IUnknown methods ***/ +static inline HRESULT IExecAction_QueryInterface(IExecAction* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IExecAction_AddRef(IExecAction* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IExecAction_Release(IExecAction* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IExecAction_GetTypeInfoCount(IExecAction* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IExecAction_GetTypeInfo(IExecAction* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IExecAction_GetIDsOfNames(IExecAction* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IExecAction_Invoke(IExecAction* 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); +} +/*** IAction methods ***/ +static inline HRESULT IExecAction_get_Id(IExecAction* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IExecAction_put_Id(IExecAction* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IExecAction_get_Type(IExecAction* This,TASK_ACTION_TYPE *type) { + return This->lpVtbl->get_Type(This,type); +} +/*** IExecAction methods ***/ +static inline HRESULT IExecAction_get_Path(IExecAction* This,BSTR *path) { + return This->lpVtbl->get_Path(This,path); +} +static inline HRESULT IExecAction_put_Path(IExecAction* This,BSTR path) { + return This->lpVtbl->put_Path(This,path); +} +static inline HRESULT IExecAction_get_Arguments(IExecAction* This,BSTR *argument) { + return This->lpVtbl->get_Arguments(This,argument); +} +static inline HRESULT IExecAction_put_Arguments(IExecAction* This,BSTR argument) { + return This->lpVtbl->put_Arguments(This,argument); +} +static inline HRESULT IExecAction_get_WorkingDirectory(IExecAction* This,BSTR *directory) { + return This->lpVtbl->get_WorkingDirectory(This,directory); +} +static inline HRESULT IExecAction_put_WorkingDirectory(IExecAction* This,BSTR directory) { + return This->lpVtbl->put_WorkingDirectory(This,directory); +} +#endif +#endif + +#endif + + +#endif /* __IExecAction_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * INetworkSettings interface + */ +#ifndef __INetworkSettings_INTERFACE_DEFINED__ +#define __INetworkSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_INetworkSettings, 0x9f7dea84, 0xc30b, 0x4245, 0x80,0xb6, 0x00,0xe9,0xf6,0x46,0xf1,0xb4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9f7dea84-c30b-4245-80b6-00e9f646f1b4") +INetworkSettings : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Name( + BSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + BSTR *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Id( + BSTR id) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(INetworkSettings, 0x9f7dea84, 0xc30b, 0x4245, 0x80,0xb6, 0x00,0xe9,0xf6,0x46,0xf1,0xb4) +#endif +#else +typedef struct INetworkSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + INetworkSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + INetworkSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + INetworkSettings *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + INetworkSettings *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + INetworkSettings *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + INetworkSettings *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + INetworkSettings *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** INetworkSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + INetworkSettings *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + INetworkSettings *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + INetworkSettings *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + INetworkSettings *This, + BSTR id); + + END_INTERFACE +} INetworkSettingsVtbl; + +interface INetworkSettings { + CONST_VTBL INetworkSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define INetworkSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define INetworkSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define INetworkSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define INetworkSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define INetworkSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define INetworkSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define INetworkSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** INetworkSettings methods ***/ +#define INetworkSettings_get_Name(This,name) (This)->lpVtbl->get_Name(This,name) +#define INetworkSettings_put_Name(This,name) (This)->lpVtbl->put_Name(This,name) +#define INetworkSettings_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define INetworkSettings_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#else +/*** IUnknown methods ***/ +static inline HRESULT INetworkSettings_QueryInterface(INetworkSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG INetworkSettings_AddRef(INetworkSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG INetworkSettings_Release(INetworkSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT INetworkSettings_GetTypeInfoCount(INetworkSettings* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT INetworkSettings_GetTypeInfo(INetworkSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT INetworkSettings_GetIDsOfNames(INetworkSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT INetworkSettings_Invoke(INetworkSettings* 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); +} +/*** INetworkSettings methods ***/ +static inline HRESULT INetworkSettings_get_Name(INetworkSettings* This,BSTR *name) { + return This->lpVtbl->get_Name(This,name); +} +static inline HRESULT INetworkSettings_put_Name(INetworkSettings* This,BSTR name) { + return This->lpVtbl->put_Name(This,name); +} +static inline HRESULT INetworkSettings_get_Id(INetworkSettings* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT INetworkSettings_put_Id(INetworkSettings* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +#endif +#endif + +#endif + + +#endif /* __INetworkSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IPrincipal interface + */ +#ifndef __IPrincipal_INTERFACE_DEFINED__ +#define __IPrincipal_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IPrincipal, 0xd98d51e5, 0xc9b4, 0x496a, 0xa9,0xc1, 0x18,0x98,0x02,0x61,0xcf,0x0f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d98d51e5-c9b4-496a-a9c1-18980261cf0f") +IPrincipal : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Id( + BSTR *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Id( + BSTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DisplayName( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DisplayName( + BSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UserId( + BSTR *user) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UserId( + BSTR user) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LogonType( + TASK_LOGON_TYPE *logon) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LogonType( + TASK_LOGON_TYPE logon) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_GroupId( + BSTR *group) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_GroupId( + BSTR group) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RunLevel( + TASK_RUNLEVEL_TYPE *level) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RunLevel( + TASK_RUNLEVEL_TYPE level) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IPrincipal, 0xd98d51e5, 0xc9b4, 0x496a, 0xa9,0xc1, 0x18,0x98,0x02,0x61,0xcf,0x0f) +#endif +#else +typedef struct IPrincipalVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPrincipal *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPrincipal *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPrincipal *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IPrincipal *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IPrincipal *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IPrincipal *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IPrincipal *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IPrincipal methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Id)( + IPrincipal *This, + BSTR *id); + + HRESULT (STDMETHODCALLTYPE *put_Id)( + IPrincipal *This, + BSTR id); + + HRESULT (STDMETHODCALLTYPE *get_DisplayName)( + IPrincipal *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_DisplayName)( + IPrincipal *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *get_UserId)( + IPrincipal *This, + BSTR *user); + + HRESULT (STDMETHODCALLTYPE *put_UserId)( + IPrincipal *This, + BSTR user); + + HRESULT (STDMETHODCALLTYPE *get_LogonType)( + IPrincipal *This, + TASK_LOGON_TYPE *logon); + + HRESULT (STDMETHODCALLTYPE *put_LogonType)( + IPrincipal *This, + TASK_LOGON_TYPE logon); + + HRESULT (STDMETHODCALLTYPE *get_GroupId)( + IPrincipal *This, + BSTR *group); + + HRESULT (STDMETHODCALLTYPE *put_GroupId)( + IPrincipal *This, + BSTR group); + + HRESULT (STDMETHODCALLTYPE *get_RunLevel)( + IPrincipal *This, + TASK_RUNLEVEL_TYPE *level); + + HRESULT (STDMETHODCALLTYPE *put_RunLevel)( + IPrincipal *This, + TASK_RUNLEVEL_TYPE level); + + END_INTERFACE +} IPrincipalVtbl; + +interface IPrincipal { + CONST_VTBL IPrincipalVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IPrincipal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPrincipal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPrincipal_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IPrincipal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IPrincipal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IPrincipal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IPrincipal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IPrincipal methods ***/ +#define IPrincipal_get_Id(This,id) (This)->lpVtbl->get_Id(This,id) +#define IPrincipal_put_Id(This,id) (This)->lpVtbl->put_Id(This,id) +#define IPrincipal_get_DisplayName(This,name) (This)->lpVtbl->get_DisplayName(This,name) +#define IPrincipal_put_DisplayName(This,name) (This)->lpVtbl->put_DisplayName(This,name) +#define IPrincipal_get_UserId(This,user) (This)->lpVtbl->get_UserId(This,user) +#define IPrincipal_put_UserId(This,user) (This)->lpVtbl->put_UserId(This,user) +#define IPrincipal_get_LogonType(This,logon) (This)->lpVtbl->get_LogonType(This,logon) +#define IPrincipal_put_LogonType(This,logon) (This)->lpVtbl->put_LogonType(This,logon) +#define IPrincipal_get_GroupId(This,group) (This)->lpVtbl->get_GroupId(This,group) +#define IPrincipal_put_GroupId(This,group) (This)->lpVtbl->put_GroupId(This,group) +#define IPrincipal_get_RunLevel(This,level) (This)->lpVtbl->get_RunLevel(This,level) +#define IPrincipal_put_RunLevel(This,level) (This)->lpVtbl->put_RunLevel(This,level) +#else +/*** IUnknown methods ***/ +static inline HRESULT IPrincipal_QueryInterface(IPrincipal* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IPrincipal_AddRef(IPrincipal* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IPrincipal_Release(IPrincipal* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IPrincipal_GetTypeInfoCount(IPrincipal* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IPrincipal_GetTypeInfo(IPrincipal* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IPrincipal_GetIDsOfNames(IPrincipal* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IPrincipal_Invoke(IPrincipal* 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); +} +/*** IPrincipal methods ***/ +static inline HRESULT IPrincipal_get_Id(IPrincipal* This,BSTR *id) { + return This->lpVtbl->get_Id(This,id); +} +static inline HRESULT IPrincipal_put_Id(IPrincipal* This,BSTR id) { + return This->lpVtbl->put_Id(This,id); +} +static inline HRESULT IPrincipal_get_DisplayName(IPrincipal* This,BSTR *name) { + return This->lpVtbl->get_DisplayName(This,name); +} +static inline HRESULT IPrincipal_put_DisplayName(IPrincipal* This,BSTR name) { + return This->lpVtbl->put_DisplayName(This,name); +} +static inline HRESULT IPrincipal_get_UserId(IPrincipal* This,BSTR *user) { + return This->lpVtbl->get_UserId(This,user); +} +static inline HRESULT IPrincipal_put_UserId(IPrincipal* This,BSTR user) { + return This->lpVtbl->put_UserId(This,user); +} +static inline HRESULT IPrincipal_get_LogonType(IPrincipal* This,TASK_LOGON_TYPE *logon) { + return This->lpVtbl->get_LogonType(This,logon); +} +static inline HRESULT IPrincipal_put_LogonType(IPrincipal* This,TASK_LOGON_TYPE logon) { + return This->lpVtbl->put_LogonType(This,logon); +} +static inline HRESULT IPrincipal_get_GroupId(IPrincipal* This,BSTR *group) { + return This->lpVtbl->get_GroupId(This,group); +} +static inline HRESULT IPrincipal_put_GroupId(IPrincipal* This,BSTR group) { + return This->lpVtbl->put_GroupId(This,group); +} +static inline HRESULT IPrincipal_get_RunLevel(IPrincipal* This,TASK_RUNLEVEL_TYPE *level) { + return This->lpVtbl->get_RunLevel(This,level); +} +static inline HRESULT IPrincipal_put_RunLevel(IPrincipal* This,TASK_RUNLEVEL_TYPE level) { + return This->lpVtbl->put_RunLevel(This,level); +} +#endif +#endif + +#endif + + +#endif /* __IPrincipal_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * TaskScheduler coclass + */ + +DEFINE_GUID(CLSID_TaskScheduler, 0x0f87369f, 0xa4e5, 0x4cfc, 0xbd,0x3e, 0x73,0xe6,0x15,0x45,0x72,0xdd); + +#ifdef __cplusplus +class DECLSPEC_UUID("0f87369f-a4e5-4cfc-bd3e-73e6154572dd") TaskScheduler; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TaskScheduler, 0x0f87369f, 0xa4e5, 0x4cfc, 0xbd,0x3e, 0x73,0xe6,0x15,0x45,0x72,0xdd) +#endif +#endif + +#endif /* __TaskScheduler_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + +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 *); +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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __taskschd_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tbs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tbs.h new file mode 100644 index 00000000..43d3cccb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tbs.h @@ -0,0 +1,192 @@ +/** + * 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 _TBS_H_ +#define _TBS_H_ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#if defined(__cplusplus) +extern "C" { +#endif + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#ifndef WINAPI +#define WINAPI __stdcall +#endif + +#define CONST const + +typedef signed int INT32, *PINT32; +typedef const INT32 *PCINT32; +typedef unsigned int UINT32, *PUINT32; +typedef const UINT32 *PCUINT32; + +#define VOID void +typedef VOID *PVOID; +typedef const VOID *PCVOID; + +typedef INT32 WINBOOL, *PBOOL; +typedef const WINBOOL *PCBOOL; + +typedef UINT8 BYTE, *PBYTE; +typedef const BYTE *PCBYTE; + +typedef WINBOOL TBS_BOOL; +typedef UINT32 TBS_RESULT; +typedef PVOID TBS_HCONTEXT, *PTBS_HCONTEXT; +typedef UINT32 TBS_COMMAND_PRIORITY; +typedef UINT32 TBS_COMMAND_LOCALITY; +typedef UINT32 TBS_OWNERAUTH_TYPE; +typedef UINT32 TBS_HANDLE; + +#define TBS_CONTEXT_VERSION_ONE 1 + +#define TBS_COMMAND_PRIORITY_LOW 100 +#define TBS_COMMAND_PRIORITY_NORMAL 200 +#define TBS_COMMAND_PRIORITY_HIGH 300 +#define TBS_COMMAND_PRIORITY_SYSTEM 400 +#define TBS_COMMAND_PRIORITY_MAX 0x80000000 + +#define TBS_COMMAND_LOCALITY_ZERO 0 +#define TBS_COMMAND_LOCALITY_ONE 1 +#define TBS_COMMAND_LOCALITY_TWO 2 +#define TBS_COMMAND_LOCALITY_THREE 3 +#define TBS_COMMAND_LOCALITY_FOUR 4 + +#define TBS_SUCCESS 0 + +#define TBS_IN_OUT_BUF_SIZE_MAX (256 * 1024) + +#define TBS_OWNERAUTH_TYPE_FULL 1 +#define TBS_OWNERAUTH_TYPE_ADMIN 2 +#define TBS_OWNERAUTH_TYPE_USER 3 +#define TBS_OWNERAUTH_TYPE_ENDORSEMENT 4 + +#define TBS_OWNERAUTH_TYPE_ENDORSEMENT_20 12 +#define TBS_OWNERAUTH_TYPE_STORAGE_20 13 + +typedef struct tdTBS_CONTEXT_PARAMS { + UINT32 version; +} TBS_CONTEXT_PARAMS, *PTBS_CONTEXT_PARAMS; +typedef const TBS_CONTEXT_PARAMS *PCTBS_CONTEXT_PARAMS; + +TBS_RESULT WINAPI Tbsi_Context_Create(PCTBS_CONTEXT_PARAMS pContextParams, PTBS_HCONTEXT phContext); +TBS_RESULT WINAPI Tbsip_Context_Close(TBS_HCONTEXT hContext); +TBS_RESULT WINAPI Tbsip_Submit_Command(TBS_HCONTEXT hContext, TBS_COMMAND_LOCALITY Locality, TBS_COMMAND_PRIORITY Priority, PCBYTE pabCommand, UINT32 cbCommand, PBYTE pabResult, PUINT32 pcbResult); +TBS_RESULT WINAPI Tbsip_Cancel_Commands(TBS_HCONTEXT hContext); +TBS_RESULT WINAPI Tbsi_Physical_Presence_Command(TBS_HCONTEXT hContext, PCBYTE pabInput, UINT32 cbInput, PBYTE pabOutput, PUINT32 pcbOutput); + +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +#if (NTDDI_VERSION >= NTDDI_VISTASP1) + +TBS_RESULT WINAPI Tbsi_Get_TCG_Log(TBS_HCONTEXT hContext, PBYTE pOutputBuf, PUINT32 pOutputBufLen); + +#endif /* _WIN32_WINNT_VISTASP1 */ + +#if (NTDDI_VERSION >= NTDDI_WIN8) + +#define TBS_CONTEXT_VERSION_TWO 2 + +typedef struct tdTBS_CONTEXT_PARAMS2 { + UINT32 version; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 requestRaw : 1; + UINT32 includeTpm12 : 1; + UINT32 includeTpm20 : 1; + }; + UINT32 asUINT32; + }; +} TBS_CONTEXT_PARAMS2, *PTBS_CONTEXT_PARAMS2; +typedef const TBS_CONTEXT_PARAMS2 *PCTBS_CONTEXT_PARAMS2; + +typedef struct tdTPM_WNF_PROVISIONING { + UINT32 status; + BYTE message[28]; +} TPM_WNF_PROVISIONING; + +#define TPM_WNF_INFO_CLEAR_SUCCESSFUL 0x00000001 +#define TPM_WNF_INFO_OWNERSHIP_SUCCESSFUL 0x00000002 + +#define TPM_WNF_INFO_NO_REBOOT_REQUIRED 1 + +#ifndef TPM_VERSION_UNKNOWN + +#define TPM_VERSION_UNKNOWN 0 +#define TPM_VERSION_12 1 +#define TPM_VERSION_20 2 + +#define TPM_IFTYPE_UNKNOWN 0 +#define TPM_IFTYPE_1 1 +#define TPM_IFTYPE_TRUSTZONE 2 +#define TPM_IFTYPE_HW 3 +#define TPM_IFTYPE_EMULATOR 4 +#define TPM_IFTYPE_SPB 5 + +typedef struct _TPM_DEVICE_INFO { + UINT32 structVersion; + UINT32 tpmVersion; + UINT32 tpmInterfaceType; + UINT32 tpmImpRevision; +} TPM_DEVICE_INFO, *PTPM_DEVICE_INFO; +typedef const TPM_DEVICE_INFO *PCTPM_DEVICE_INFO; + +#endif /* TPM_VERSION_UNKNOWN */ + +TBS_RESULT WINAPI Tbsi_GetDeviceInfo(UINT32 Size, PVOID Info); +TBS_RESULT WINAPI Tbsi_Get_OwnerAuth(TBS_HCONTEXT hContext, TBS_OWNERAUTH_TYPE ownerauthType, PBYTE pOutputBuf, PUINT32 pOutputBufLen); +TBS_RESULT WINAPI Tbsi_Revoke_Attestation(void); + +#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */ + +#if (NTDDI_VERSION >= NTDDI_WINBLUE) + +#ifndef _NTDDK_ + +HRESULT GetDeviceID(PBYTE pbWindowsAIK, UINT32 cbWindowsAIK, PUINT32 pcbResult, WINBOOL *pfProtectedByTPM); +HRESULT GetDeviceIDString(PWSTR pszWindowsAIK, UINT32 cchWindowsAIK, PUINT32 pcchResult, WINBOOL *pfProtectedByTPM); + +#endif /* ifndef _NTDDK_ */ + +#endif /* (NTDDI_VERSION >= NTDDI_WINBLUE) */ + +#if (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) + +TBS_RESULT WINAPI Tbsi_Create_Windows_Key(TBS_HANDLE keyHandle); + +#endif /* (NTDDI_VERSION >= NTDDI_WINTHRESHOLD) */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_RS4) + +#define TBS_TCGLOG_SRTM_CURRENT 0 +#define TBS_TCGLOG_DRTM_CURRENT 1 +#define TBS_TCGLOG_SRTM_BOOT 2 +#define TBS_TCGLOG_SRTM_RESUME 3 +#define TBS_TCGLOG_DRTM_BOOT 4 +#define TBS_TCGLOG_DRTM_RESUME 5 + +TBS_RESULT WINAPI Tbsi_Get_TCG_Log_Ex(UINT32 logType, PBYTE pbOutput, PUINT32 pcbOutput); + +#endif /* (NTDDI_VERSION >= NTDDI_WIN10_RS4) */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_NI) + +WINBOOL WINAPI Tbsi_Is_Tpm_Present(void); + +#endif /* (NTDDI_VERSION >= NTDDI_WIN10_NI) */ + +#if defined(__cplusplus) +} +#endif + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#endif /* _TBS_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcerror.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcerror.h new file mode 100644 index 00000000..205ba5dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcerror.h @@ -0,0 +1,33 @@ +/** + * 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 _TCERROR_H_ +#define _TCERROR_H_ + +#define TCBASE 7500 + +#define ERROR_INCOMPATIBLE_TCI_VERSION (TCBASE+1) +#define ERROR_INVALID_SERVICE_TYPE (TCBASE+2) +#define ERROR_INVALID_TOKEN_RATE (TCBASE+3) +#define ERROR_INVALID_PEAK_RATE (TCBASE+4) +#define ERROR_INVALID_SD_MODE (TCBASE+5) +#define ERROR_INVALID_QOS_PRIORITY (TCBASE+6) +#define ERROR_INVALID_TRAFFIC_CLASS (TCBASE+7) +#define ERROR_INVALID_ADDRESS_TYPE (TCBASE+8) +#define ERROR_DUPLICATE_FILTER (TCBASE+9) +#define ERROR_FILTER_CONFLICT (TCBASE+10) +#define ERROR_ADDRESS_TYPE_NOT_SUPPORTED (TCBASE+11) +#define ERROR_TC_SUPPORTED_OBJECTS_EXIST (TCBASE+12) +#define ERROR_INCOMPATABLE_QOS (TCBASE+13) +#define ERROR_TC_NOT_SUPPORTED (TCBASE+14) +#define ERROR_TC_OBJECT_LENGTH_INVALID (TCBASE+15) +#define ERROR_INVALID_FLOW_MODE (TCBASE+16) +#define ERROR_INVALID_DIFFSERV_FLOW (TCBASE+17) +#define ERROR_DS_MAPPING_EXISTS (TCBASE+18) +#define ERROR_INVALID_SHAPE_RATE (TCBASE+19) +#define ERROR_INVALID_DS_CLASS (TCBASE+20) +#define ERROR_TOO_MANY_CLIENTS (TCBASE+21) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcguid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcguid.h new file mode 100644 index 00000000..3cc848d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcguid.h @@ -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. + */ +#ifdef __cplusplus +extern "C" { +#endif + + DEFINE_GUID(GUID_QOS_REMAINING_BANDWIDTH,0xc4c51720,0x40ec,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_BESTEFFORT_BANDWIDTH,0xed885290,0x40ec,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_LATENCY,0xfc408ef0,0x40ec,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_FLOW_COUNT,0x1147f880,0x40ed,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_NON_BESTEFFORT_LIMIT,0x185c44e0,0x40ed,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_MAX_OUTSTANDING_SENDS,0x161ffa86,0x6120,0x11d1,0x2c,0x91,0x00,0xaa,0x00,0x57,0x49,0x15); + DEFINE_GUID(GUID_QOS_STATISTICS_BUFFER,0xbb2c0980,0xe900,0x11d1,0xb0,0x7e,0x00,0x80,0xc7,0x13,0x82,0xbf); + DEFINE_GUID(GUID_QOS_FLOW_MODE,0x5c82290a,0x515a,0x11d2,0x8e,0x58,0x00,0xc0,0x4f,0xc9,0xbf,0xcb); + DEFINE_GUID(GUID_QOS_ISSLOW_FLOW,0xabf273a4,0xee07,0x11d2,0xbe,0x1b,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_TIMER_RESOLUTION,0xba10cc88,0xf13e,0x11d2,0xbe,0x1b,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_FLOW_IP_CONFORMING,0x07f99a8b,0xfcd2,0x11d2,0xbe,0x1e,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_FLOW_IP_NONCONFORMING,0x087a5987,0xfcd2,0x11d2,0xbe,0x1e,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_FLOW_8021P_CONFORMING,0x08c1e013,0xfcd2,0x11d2,0xbe,0x1e,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_FLOW_8021P_NONCONFORMING,0x09023f91,0xfcd2,0x11d2,0xbe,0x1e,0x00,0xa0,0xc9,0x9e,0xe6,0x3b); + DEFINE_GUID(GUID_QOS_ENABLE_AVG_STATS,0xbafb6d11,0x27c4,0x4801,0xa4,0x6f,0xef,0x80,0x80,0xc1,0x88,0xc8); + DEFINE_GUID(GUID_QOS_ENABLE_WINDOW_ADJUSTMENT,0xaa966725,0xd3e9,0x4c55,0xb3,0x35,0x2a,0x0,0x27,0x9a,0x1e,0x64); + +#ifdef __cplusplus +} +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tchar.h new file mode 100644 index 00000000..42d6b1ae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tchar.h @@ -0,0 +1,1200 @@ +/** + * 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 + +#ifndef _INC_TCHAR +#define _INC_TCHAR + +#ifdef _STRSAFE_H_INCLUDED_ +#error Need to include strsafe.h after tchar.h +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __CYGWIN__ + +#define _ftcscat _tcscat +#define _ftcschr _tcschr +#define _ftcscpy _tcscpy +#define _ftcscspn _tcscspn +#define _ftcslen _tcslen +#define _ftcsncat _tcsncat +#define _ftcsncpy _tcsncpy +#define _ftcspbrk _tcspbrk +#define _ftcsrchr _tcsrchr +#define _ftcsspn _tcsspn +#define _ftcsstr _tcsstr +#define _ftcstok _tcstok + +#define _ftcsdup _tcsdup +#define _ftcsnset _tcsnset +#define _ftcsrev _tcsrev +#define _ftcsset _tcsset + +#define _ftcscmp _tcscmp +#define _ftcsicmp _tcsicmp +#define _ftcsnccmp _tcsnccmp +#define _ftcsncmp _tcsncmp +#define _ftcsncicmp _tcsncicmp +#define _ftcsnicmp _tcsnicmp + +#define _ftcscoll _tcscoll +#define _ftcsicoll _tcsicoll +#define _ftcsnccoll _tcsnccoll +#define _ftcsncoll _tcsncoll +#define _ftcsncicoll _tcsncicoll +#define _ftcsnicoll _tcsnicoll + +#define _ftcsclen _tcsclen +#define _ftcsnccat _tcsnccat +#define _ftcsnccpy _tcsnccpy +#define _ftcsncset _tcsncset + +#define _ftcsdec _tcsdec +#define _ftcsinc _tcsinc +#define _ftcsnbcnt _tcsnbcnt +#define _ftcsnccnt _tcsnccnt +#define _ftcsnextc _tcsnextc +#define _ftcsninc _tcsninc +#define _ftcsspnp _tcsspnp + +#define _ftcslwr _tcslwr +#define _ftcsupr _tcsupr + +#define _ftclen _tclen +#define _ftccpy _tccpy +#define _ftccmp _tccmp + +#ifndef _CONST_RETURN +#ifdef __cplusplus +#define _CONST_RETURN const +#define _CRT_CONST_CORRECT_OVERLOADS +#else +#define _CONST_RETURN +#endif +#endif + +#define _WConst_return _CONST_RETURN + +#endif /* __CYGWIN__ */ + +#ifdef _UNICODE + +#ifdef __cplusplus +} +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __CYGWIN__ + +#ifndef _WCTYPE_T_DEFINED +#define _WCTYPE_T_DEFINED + typedef unsigned short wint_t; + typedef unsigned short wctype_t; +#endif + +#endif /* __CYGWIN__ */ + +#ifndef __TCHAR_DEFINED +#define __TCHAR_DEFINED + typedef wchar_t _TCHAR; + typedef wchar_t _TSCHAR; + typedef wchar_t _TUCHAR; + typedef wchar_t _TXCHAR; + typedef wint_t _TINT; +#endif + +#ifndef NO_OLDNAMES +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED + typedef wchar_t TCHAR,*PTCHAR; + typedef wchar_t TBYTE,*PTBYTE; +#endif +#endif + +#define _TEOF WEOF + +#define __T(x) L##x + +#ifndef __CYGWIN__ + +#define _tmain wmain +#define _tWinMain wWinMain +#define _tenviron _wenviron +#define __targv __wargv + +#define _tprintf __ms_wprintf +#define _tprintf_l _wprintf_l +#define _tprintf_p _wprintf_p +#define _tprintf_p_l _wprintf_p_l +#define _tcprintf _cwprintf +#define _tcprintf_l _cwprintf_l +#define _tcprintf_p _cwprintf_p +#define _tcprintf_p_l _cwprintf_p_l +#define _vtcprintf _vcwprintf +#define _vtcprintf_l _vcwprintf_l +#define _vtcprintf_p _vcwprintf_p +#define _vtcprintf_p_l _vcwprintf_p_l +#define _ftprintf __ms_fwprintf +#define _ftprintf_l _fwprintf_l +#define _ftprintf_p _fwprintf_p +#define _ftprintf_p_l _fwprintf_p_l +#define _stprintf _swprintf +#define _stprintf_l __swprintf_l +#define _stprintf_p _swprintf_p +#define _stprintf_p_l _swprintf_p_l +#define _sctprintf _scwprintf +#define _sctprintf_l _scwprintf_l +#define _sctprintf_p _scwprintf_p +#define _sctprintf_p_l _scwprintf_p_l +#define _sntprintf _snwprintf +#define _sntprintf_l _snwprintf_l +#define _vtprintf __ms_vwprintf +#define _vtprintf_l _vwprintf_l +#define _vtprintf_p _vwprintf_p +#define _vtprintf_p_l _vwprintf_p_l +#define _vftprintf __ms_vfwprintf +#define _vftprintf_l _vfwprintf_l +#define _vftprintf_p _vfwprintf_p +#define _vftprintf_p_l _vfwprintf_p_l +#define _vstprintf _vswprintf +#define _vstprintf_l _vswprintf_l +#define _vstprintf_p _vswprintf_p +#define _vstprintf_p_l _vswprintf_p_l +#define _vsctprintf _vscwprintf +#define _vsctprintf_l _vscwprintf_l +#define _vsctprintf_p _vscwprintf_p +#define _vsctprintf_p_l _vscwprintf_p_l +#define _vsntprintf _vsnwprintf +#define _vsntprintf_l _vsnwprintf_l + +#define _tscanf __ms_wscanf +#define _tscanf_l _wscanf_l +#define _tcscanf _cwscanf +#define _tcscanf_l _cwscanf_l +#define _ftscanf __ms_fwscanf +#define _ftscanf_l _fwscanf_l +#define _stscanf __ms_swscanf +#define _stscanf_l _swscanf_l +#define _sntscanf _snwscanf +#define _sntscanf_l _snwscanf_l + +#define _fgettc fgetwc +#define _fgettchar _fgetwchar +#define _fgetts fgetws +#define _fputtc fputwc +#define _fputtchar _fputwchar +#define _fputts fputws +#define _cputts _cputws +#define _cgetts _cgetws +#define _gettc getwc +#define _gettch _getwch +#define _gettche _getwche +#define _gettchar getwchar +#define _getts _getws +#define _puttc putwc +#define _puttchar putwchar +#define _puttch _putwch +#define _putts _putws +#define _ungettc ungetwc +#define _ungettch _ungetwch + +#define _tcstof wcstof +#define _tcstod wcstod +#define _tcstold wcstold +#define _tcstol wcstol +#define _tcstoul wcstoul +#define _tcstoll wcstoll +#define _tcstoull wcstoull +#define _tcstoi64 _wcstoi64 +#define _tcstoui64 _wcstoui64 +#define _tcstoimax wcstoimax +#define _tcstoumax wcstoumax +#define _tstof _wtof +#define _tstol _wtol +#define _tstoi _wtoi +#define _tstoll _wtoll +#define _tstoi64 _wtoi64 +#define _tcstof_l _wcstof_l +#define _tcstod_l _wcstod_l +/* TODO: #define _tcstold_l _wcstold_l */ +#define _tcstol_l _wcstol_l +#define _tcstoul_l _wcstoul_l +#define _tcstoll_l _wcstoll_l +#define _tcstoull_l _wcstoull_l +#define _tcstoi64_l _wcstoi64_l +#define _tcstoui64_l _wcstoui64_l +#define _tcstoimax_l _wcstoimax_l +#define _tcstoumax_l _wcstoumax_l +#define _tstof_l _wtof_l +#define _tstol_l _wtol_l +#define _tstoll_l _wtoll_l +#define _tstoi_l _wtoi_l +#define _tstoi64_l _wtoi64_l + +#define _itot _itow +#define _ltot _ltow +#define _ultot _ultow +#define _ttof _wtof +#define _ttoi _wtoi +#define _ttol _wtol +#define _ttoll _wtoll + +#define _ttoi64 _wtoi64 +#define _i64tot _i64tow +#define _ui64tot _ui64tow + +#define _tcscat wcscat +#define _tcschr wcschr +#define _tcscpy wcscpy +#define _tcscspn wcscspn +#define _tcslen wcslen +#define _tcsnlen wcsnlen +#define _tcsncat wcsncat +#define _tcsncat_l _wcsncat_l +#define _tcsncpy wcsncpy +#define _tcsncpy_l _wcsncpy_l +#define _tcspbrk wcspbrk +#define _tcsrchr wcsrchr +#define _tcsspn wcsspn +#define _tcsstr wcsstr +#define _tcstok _wcstok +#define _tcstok_l _wcstok_l +#define _tcserror _wcserror +#define __tcserror __wcserror + +#define _tcsdup _wcsdup +#define _tcsdup_dbg _wcsdup_dbg +#define _tcsnset _wcsnset +#define _tcsnset_l _wcsnset_l +#define _tcsrev _wcsrev +#define _tcsset _wcsset +#define _tcsset_l _wcsset_l + +#define _tcscmp wcscmp +#define _tcsicmp _wcsicmp +#define _tcsicmp_l _wcsicmp_l +#define _tcsnccmp wcsncmp +#define _tcsncmp wcsncmp +#define _tcsncicmp _wcsnicmp +#define _tcsncicmp_l _wcsnicmp_l +#define _tcsnicmp _wcsnicmp +#define _tcsnicmp_l _wcsnicmp_l + +#define _tcscoll wcscoll +#define _tcscoll_l _wcscoll_l +#define _tcsicoll _wcsicoll +#define _tcsicoll_l _wcsicoll_l +#define _tcsnccoll _wcsncoll +#define _tcsnccoll_l _wcsncoll_l +#define _tcsncoll _wcsncoll +#define _tcsncoll_l _wcsncoll_l +#define _tcsncicoll _wcsnicoll +#define _tcsncicoll_l _wcsnicoll_l +#define _tcsnicoll _wcsnicoll +#define _tcsnicoll_l _wcsnicoll_l + +#define _texecl _wexecl +#define _texecle _wexecle +#define _texeclp _wexeclp +#define _texeclpe _wexeclpe +#define _texecv _wexecv +#define _texecve _wexecve +#define _texecvp _wexecvp +#define _texecvpe _wexecvpe + +#define _tspawnl _wspawnl +#define _tspawnle _wspawnle +#define _tspawnlp _wspawnlp +#define _tspawnlpe _wspawnlpe +#define _tspawnv _wspawnv +#define _tspawnve _wspawnve +#define _tspawnvp _wspawnvp +#define _tspawnvp _wspawnvp +#define _tspawnvpe _wspawnvpe + +#define _tsystem _wsystem + +#define _tasctime _wasctime +#define _tctime _wctime +#define _tctime32 _wctime32 +#define _tctime64 _wctime64 +#define _tstrdate _wstrdate +#define _tstrtime _wstrtime +#define _tutime _wutime +#define _tutime32 _wutime32 +#define _tutime64 _wutime64 +#define _tcsftime wcsftime +#define _tcsftime_l _wcsftime_l + +#define _tchdir _wchdir +#define _tgetcwd _wgetcwd +#define _tgetcwd_dbg _wgetcwd_dbg +#define _tgetdcwd _wgetdcwd +#define _tgetdcwd_dbg _wgetdcwd_dbg +#define _tgetdcwd_lk_dbg _wgetdcwd_lk_dbg +#define _tmkdir _wmkdir +#define _trmdir _wrmdir + +#define _tfullpath _wfullpath +#define _tfullpath_dbg _wfullpath_dbg +#define _tgetenv _wgetenv +#define _tmakepath _wmakepath +#define _tpgmptr _wpgmptr +#define _get_tpgmptr _get_wpgmptr +#define _tputenv _wputenv +#define _tsearchenv _wsearchenv +#define _tsplitpath _wsplitpath + +#define _tfdopen _wfdopen +#define _tfsopen _wfsopen +#define _tfopen _wfopen +#define _tfreopen _wfreopen +#define _tperror _wperror +#define _tpopen _wpopen +#define _ttempnam _wtempnam +#define _ttempnam_dbg _wtempnam_dbg +#define _ttmpnam _wtmpnam + +#define _taccess _waccess +#define _tchmod _wchmod +#define _tcreat _wcreat +#define _tfindfirst _wfindfirst +#define _tfindfirst32 _wfindfirst32 +#define _tfindfirst64 _wfindfirst64 +#define _tfindfirsti64 _wfindfirsti64 +#define _tfindfirst32i64 _wfindfirst32i64 +#define _tfindfirst64i32 _wfindfirst64i32 +#define _tfindnext _wfindnext +#define _tfindnext32 _wfindnext32 +#define _tfindnext64 _wfindnext64 +#define _tfindnexti64 _wfindnexti64 +#define _tfindnext32i64 _wfindnext32i64 +#define _tfindnext64i32 _wfindnext64i32 +#define _tmktemp _wmktemp +#define _topen _wopen +#define _tremove _wremove +#define _trename _wrename +#define _tsopen _wsopen +#define _tunlink _wunlink + +#define _tfinddata_t _wfinddata_t +#define _tfinddata32_t _wfinddata32_t +#define _tfinddata64_t _wfinddata64_t +#define _tfinddatai64_t _wfinddatai64_t +#define _tfinddata32i64_t _wfinddata32i64_t +#define _tfinddata64i32_t _wfinddata64i32_t + +#define _tstat _wstat +#define _tstat32 _wstat32 +#define _tstat32i64 _wstat32i64 +#define _tstat64 _wstat64 +#define _tstat64i32 _wstat64i32 +#define _tstati64 _wstati64 + +#define _tsetlocale _wsetlocale + +#if __MSVCRT_VERSION__ >= 0x800 +#define _fgettc_nolock _fgetwc_nolock +#define _fputtc_nolock _fputwc_nolock +#define _gettc_nolock _getwc_nolock +#define _gettch_nolock _getwch_nolock +#define _gettche_nolock _getwche_nolock +#define _gettchar_nolock _getwchar_nolock +#define _puttc_nolock _putwc_nolock +#define _puttchar_nolock _putwchar_nolock +#define _puttch_nolock _putwch_nolock +#define _ungettc_nolock _ungetwc_nolock +#define _ungettch_nolock _ungetwch_nolock +#define _tgetdcwd_nolock _wgetdcwd_nolock +#endif + +#define _tcsclen wcslen +#define _tcscnlen wcsnlen +#define _tcsclen_l(_String,_Locale) wcslen(_String) +#define _tcscnlen_l(_String,_Max_count,_Locale) wcsnlen_l((_String),(_Max_count)) +#define _tcsnccat wcsncat +#define _tcsnccat_l _wcsncat_l +#define _tcsnccpy wcsncpy +#define _tcsnccpy_l _wcsncpy_l +#define _tcsncset _wcsnset +#define _tcsncset_l _wcsnset_l + +#define _tcsdec _wcsdec +#define _tcsinc _wcsinc +#define _tcsnbcnt _wcsncnt +#define _tcsnccnt _wcsncnt +#define _tcsnextc _wcsnextc +#define _tcsninc _wcsninc +#define _tcsspnp _wcsspnp + +#define _tcslwr _wcslwr +#define _tcslwr_l _wcslwr_l +#define _tcsupr _wcsupr +#define _tcsupr_l _wcsupr_l +#define _tcsxfrm wcsxfrm +#define _tcsxfrm_l _wcsxfrm_l + +#define _tclen(_pc) (1) +#define _tccpy(_pc1,_cpc2) ((*(_pc1) = *(_cpc2))) +#define _tccmp(_cpc1,_cpc2) ((*(_cpc1))-(*(_cpc2))) + +#define _istalnum iswalnum +#define _istalnum_l _iswalnum_l +#define _istalpha iswalpha +#define _istalpha_l _iswalpha_l +#define _istascii iswascii +#define _istcntrl iswcntrl +#define _istcntrl_l _iswcntrl_l +#define _istdigit iswdigit +#define _istdigit_l _iswdigit_l +#define _istgraph iswgraph +#define _istgraph_l _iswgraph_l +#define _istlower iswlower +#define _istlower_l _iswlower_l +#define _istprint iswprint +#define _istprint_l _iswprint_l +#define _istpunct iswpunct +#define _istpunct_l _iswpunct_l +#define _istspace iswspace +#define _istspace_l _iswspace_l +#define _istupper iswupper +#define _istupper_l _iswupper_l +#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 +#define _totlower towlower +#define _totlower_l _towlower_l + +#define _istlegal(_Char) (1) +#define _istlead(_Char) (0) +#define _istleadbyte(_Char) (0) +#define _istleadbyte_l(_Char,_Locale) (0) + +#define _wcsdec(_cpc1,_cpc2) ((_cpc1)>=(_cpc2) ? NULL : (_cpc2)-1) +#define _wcsinc(_pc) ((_pc)+1) +#define _wcsnextc(_cpc) ((unsigned int) *(_cpc)) +#define _wcsninc(_pc,_sz) (((_pc)+(_sz))) + _CRTIMP size_t __cdecl __wcsncnt(const wchar_t *_Str,size_t _MaxCount); +#define _wcsncnt(_cpc,_sz) (__wcsncnt(_cpc,_sz)) +#define _wcsspnp(_cpc1,_cpc2) (!_cpc1 ? NULL : ((*((_cpc1)+wcsspn(_cpc1,_cpc2))) ? ((_cpc1)+wcsspn(_cpc1,_cpc2)) : NULL)) +#define _wcsncpy_l(_Destination,_Source,_Count,_Locale) (wcsncpy(_Destination,_Source,_Count)) +#define _wcsncat_l(_Destination,_Source,_Count,_Locale) (wcsncat(_Destination,_Source,_Count)) +#define _wcstok_l(_String,_Delimiters,_Locale) (_wcstok(_String,_Delimiters)) +#define _wcsnset_l(_Destination,_Value,_Count,_Locale) (_wcsnset(_Destination,_Value,_Count)) +#define _wcsset_l(_Destination,_Value,_Locale) (_wcsset(_Destination,_Value)) + + /* dirent structures and functions */ +#define _tdirent _wdirent +#define _TDIR _WDIR +#define _topendir _wopendir +#define _tclosedir _wclosedir +#define _treaddir _wreaddir +#define _trewinddir _wrewinddir +#define _ttelldir _wtelldir +#define _tseekdir _wseekdir + +#endif /* __CYGWIN__ */ + +#else /* _UNICODE */ + +#ifdef __cplusplus +} +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define _TEOF EOF + +#define __T(x) x + +#ifndef __CYGWIN__ + +#define _tmain main +#define _tWinMain WinMain +#ifdef _POSIX_ +#define _tenviron environ +#else +#define _tenviron _environ +#endif +#define __targv __argv + +#define _tprintf __ms_printf +#define _tprintf_l _printf_l +#define _tprintf_p _printf_p +#define _tprintf_p_l _printf_p_l +#define _tcprintf _cprintf +#define _tcprintf_l _cprintf_l +#define _tcprintf_p _cprintf_p +#define _tcprintf_p_l _cprintf_p_l +#define _vtcprintf _vcprintf +#define _vtcprintf_l _vcprintf_l +#define _vtcprintf_p _vcprintf_p +#define _vtcprintf_p_l _vcprintf_p_l +#define _ftprintf __ms_fprintf +#define _ftprintf_l _fprintf_l +#define _ftprintf_p _fprintf_p +#define _ftprintf_p_l _fprintf_p_l +#define _stprintf __ms_sprintf +#define _stprintf_l _sprintf_l +#define _stprintf_p _sprintf_p +#define _stprintf_p_l _sprintf_p_l +#define _sctprintf _scprintf +#define _sctprintf_l _scprintf_l +#define _sctprintf_p _scprintf_p +#define _sctprintf_p_l _scprintf_p_l +#define _sntprintf _snprintf +#define _sntprintf_l _snprintf_l +#define _vtprintf __ms_vprintf +#define _vtprintf_l _vprintf_l +#define _vtprintf_p _vprintf_p +#define _vtprintf_p_l _vprintf_p_l +#define _vftprintf __ms_vfprintf +#define _vftprintf_l _vfprintf_l +#define _vftprintf_p _vfprintf_p +#define _vftprintf_p_l _vfprintf_p_l +#define _vstprintf __ms_vsprintf +#define _vstprintf_l _vsprintf_l +#define _vstprintf_p _vsprintf_p +#define _vstprintf_p_l _vsprintf_p_l +#define _vsctprintf _vscprintf +#define _vsctprintf_l _vscprintf_l +#define _vsctprintf_p _vscprintf_p +#define _vsctprintf_p_l _vscprintf_p_l +#define _vsntprintf _vsnprintf +#define _vsntprintf_l _vsnprintf_l + +#define _tscanf __ms_scanf +#define _tscanf_l _scanf_l +#define _tcscanf _cscanf +#define _tcscanf_l _cscanf_l +#define _ftscanf __ms_fscanf +#define _ftscanf_l _fscanf_l +#define _stscanf __ms_sscanf +#define _stscanf_l _sscanf_l +#define _sntscanf _snscanf +#define _sntscanf_l _snscanf_l + +#define _fgettc fgetc +#define _fgettchar _fgetchar +#define _fgetts fgets +#define _fputtc fputc +#define _fputtchar _fputchar +#define _fputts fputs +#define _cputts _cputs +#define _gettc getc +#define _gettch _getch +#define _gettche _getche +#define _gettchar getchar +#define _getts gets +#define _cgetts _cgets +#define _puttc putc +#define _puttchar putchar +#define _puttch _putch +#define _putts puts +#define _ungettc ungetc +#define _ungettch _ungetch + +#define _tcstof strtof +#define _tcstod strtod +#define _tcstold strtold +#define _tcstol strtol +#define _tcstoul strtoul +#define _tcstoll strtoll +#define _tcstoull strtoull +#define _tstof atof +#define _tstol atol +#define _tstoll atoll +#define _tstoi atoi +#define _tstoi64 _atoi64 +#define _tcstof_l _strtof_l +#define _tcstod_l _strtod_l +/* TODO: #define _tcstold_l _strtold_l */ +#define _tcstol_l _strtol_l +#define _tcstoul_l _strtoul_l +#define _tcstoll_l _strtoll_l +#define _tcstoull_l _strtoull_l +#define _tstof_l _atof_l +#define _tstol_l _atol_l +#define _tstoi_l _atoi_l +#define _tstoll_l _atoll_l +#define _tstoi64_l _atoi64_l + +#define _itot _itoa +#define _ltot _ltoa +#define _ultot _ultoa +#define _ttof atof +#define _ttoi atoi +#define _ttol atol +#define _ttoll atoll + +#define _ttoi64 _atoi64 +#define _tcstoi64 _strtoi64 +#define _tcstoi64_l _strtoi64_l +#define _tcstoui64 _strtoui64 +#define _tcstoui64_l _strtoui64_l +#define _tcstoimax strtoimax +#define _tcstoumax strtoumax +#define _tcstoimax_l _strtoimax_l +#define _tcstoumax_l _strtoumax_l +#define _i64tot _i64toa +#define _ui64tot _ui64toa + +#define _tcscat strcat +#define _tcscpy strcpy +#define _tcsdup _strdup +#define _tcsdup_dbg _strdup_dbg +#define _tcslen strlen +#define _tcsnlen strnlen +#define _tcsxfrm strxfrm +#define _tcsxfrm_l _strxfrm_l +#define _tcserror strerror +#define __tcserror _strerror + +#define _texecl _execl +#define _texecle _execle +#define _texeclp _execlp +#define _texeclpe _execlpe +#define _texecv _execv +#define _texecve _execve +#define _texecvp _execvp +#define _texecvpe _execvpe + +#define _tspawnl _spawnl +#define _tspawnle _spawnle +#define _tspawnlp _spawnlp +#define _tspawnlpe _spawnlpe +#define _tspawnv _spawnv +#define _tspawnve _spawnve +#define _tspawnvp _spawnvp +#define _tspawnvpe _spawnvpe + +#define _tsystem system + +#define _tasctime asctime +#define _tctime ctime +#define _tctime32 _ctime32 +#define _tctime64 _ctime64 +#define _tstrdate _strdate +#define _tstrtime _strtime +#define _tutime _utime +#define _tutime32 _utime32 +#define _tutime64 _utime64 +#define _tcsftime strftime +#define _tcsftime_l _strftime_l + +#define _tchdir _chdir +#define _tgetcwd _getcwd +#define _tgetcwd_dbg _getcwd_dbg +#define _tgetdcwd _getdcwd +#define _tgetdcwd_dbg _getdcwd_dbg +#define _tgetdcwd_lk_dbg _getdcwd_lk_dbg +#define _tmkdir _mkdir +#define _trmdir _rmdir + +#define _tfullpath _fullpath +#define _tfullpath_dbg _fullpath_dbg +#define _tgetenv getenv +#define _tmakepath _makepath +#define _tpgmptr _pgmptr +#define _get_tpgmptr _get_pgmptr +#define _tputenv _putenv +#define _tsearchenv _searchenv +#define _tsplitpath _splitpath + +#ifdef _POSIX_ +#define _tfdopen fdopen +#else +#define _tfdopen _fdopen +#endif +#define _tfsopen _fsopen +#define _tfopen fopen +#define _tfreopen freopen +#define _tperror perror +#define _tpopen _popen +#define _ttempnam _tempnam +#define _ttempnam_dbg _tempnam_dbg +#define _ttmpnam tmpnam + +#define _tchmod _chmod +#define _tcreat _creat +#define _tfindfirst _findfirst +#define _tfindfirst32 _findfirst32 +#define _tfindfirst64 _findfirst64 +#define _tfindfirsti64 _findfirsti64 +#define _tfindfirst32i64 _findfirst32i64 +#define _tfindfirst64i32 _findfirst64i32 +#define _tfindnext _findnext +#define _tfindnext32 _findnext32 +#define _tfindnext64 _findnext64 +#define _tfindnexti64 _findnexti64 +#define _tfindnext32i64 _findnext32i64 +#define _tfindnext64i32 _findnext64i32 +#define _tmktemp _mktemp + +#ifdef _POSIX_ +#define _topen open +#define _taccess access +#else +#define _topen _open +#define _taccess _access +#endif + +#define _tremove remove +#define _trename rename +#define _tsopen _sopen +#define _tunlink _unlink + +#define _tfinddata_t _finddata_t +#define _tfinddata32_t _finddata32_t +#define _tfinddata64_t __finddata64_t +#define _tfinddatai64_t _finddatai64_t +#define _tfinddata32i64_t _finddata32i64_t +#define _tfinddata64i32_t _finddata64i32_t + +#define _istascii __isascii +#define _istcntrl iscntrl +#define _istcntrl_l _iscntrl_l +#define _istxdigit isxdigit +#define _istxdigit_l _isxdigit_l + +#define _tstat _stat +#define _tstat32 _stat32 +#define _tstat32i64 _stat32i64 +#define _tstat64 _stat64 +#define _tstat64i32 _stat64i32 +#define _tstati64 _stati64 + +#define _tsetlocale setlocale + +#if __MSVCRT_VERSION__ >= 0x800 +#define _fgettc_nolock _fgetc_nolock +#define _fputtc_nolock _fputc_nolock +#define _gettc_nolock _getc_nolock +#define _gettch_nolock _getch_nolock +#define _gettche_nolock _getche_nolock +#define _gettchar_nolock _getchar_nolock +#define _puttc_nolock _putc_nolock +#define _puttchar_nolock _putchar_nolock +#define _puttch_nolock _putch_nolock +#define _ungettc_nolock _ungetc_nolock +#define _ungettch_nolock _ungetch_nolock +#define _tgetdcwd_nolock _getdcwd_nolock +#endif + +#endif /* __CYGWIN__ */ + +#ifdef _MBCS + +#ifdef __cplusplus +} +#endif + +#ifndef __CYGWIN__ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __TCHAR_DEFINED + typedef char _TCHAR; + typedef signed char _TSCHAR; + typedef unsigned char _TUCHAR; + typedef unsigned char _TXCHAR; + typedef unsigned int _TINT; +#define __TCHAR_DEFINED +#endif + +#ifndef NO_OLDNAMES +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED + typedef char TCHAR,*PTCHAR; + typedef unsigned char TBYTE,*PTBYTE; +#endif +#endif + +#ifdef _MB_MAP_DIRECT + +#define _tcschr _mbschr +#define _tcscspn _mbscspn +#define _tcsncat _mbsnbcat +#define _tcsncat_l _mbsnbcat_l +#define _tcsncpy _mbsnbcpy +#define _tcsncpy_l _mbsnbcpy_l +#define _tcspbrk _mbspbrk +#define _tcsrchr _mbsrchr +#define _tcsspn _mbsspn +#define _tcsstr _mbsstr +#define _tcstok _mbstok +#define _tcstok_l _mbstok_l + +#define _tcsnset _mbsnbset +#define _tcsnset_l _mbsnbset_l +#define _tcsrev _mbsrev +#define _tcsset _mbsset +#define _tcsset_l _mbsset_l + +#define _tcscmp _mbscmp +#define _tcsicmp _mbsicmp +#define _tcsicmp_l _mbsicmp_l +#define _tcsnccmp _mbsncmp +#define _tcsncmp _mbsnbcmp +#define _tcsncicmp _mbsnicmp +#define _tcsncicmp_l _mbsnicmp_l +#define _tcsnicmp _mbsnbicmp +#define _tcsnicmp_l _mbsnbicmp_l + +#define _tcscoll _mbscoll +#define _tcscoll_l _mbscoll_l +#define _tcsicoll _mbsicoll +#define _tcsicoll_l _mbsicoll_l +#define _tcsnccoll _mbsncoll +#define _tcsnccoll_l _mbsncoll_l +#define _tcsncoll _mbsnbcoll +#define _tcsncoll_l _mbsnbcoll_l +#define _tcsncicoll _mbsnicoll +#define _tcsncicoll_l _mbsnicoll_l +#define _tcsnicoll _mbsnbicoll +#define _tcsnicoll_l _mbsnbicoll_l + +#define _tcsclen _mbslen +#define _tcscnlen _mbsnlen +#define _tcsclen_l _mbslen_l +#define _tcscnlen_l _mbsnlen_l +#define _tcsnccat _mbsncat +#define _tcsnccat_l _mbsncat_l +#define _tcsnccpy _mbsncpy +#define _tcsnccpy_l _mbsncpy_l +#define _tcsncset _mbsnset +#define _tcsncset_l _mbsnset_l + +#define _tcsdec _mbsdec +#define _tcsinc _mbsinc +#define _tcsnbcnt _mbsnbcnt +#define _tcsnccnt _mbsnccnt +#define _tcsnextc _mbsnextc +#define _tcsninc _mbsninc +#define _tcsspnp _mbsspnp + +#define _tcslwr _mbslwr +#define _tcslwr_l _mbslwr_l +#define _tcsupr _mbsupr +#define _tcsupr_l _mbsupr_l + +#define _tclen _mbclen +#define _tccpy _mbccpy +#define _tccpy_l _mbccpy_l +#else + + _CRTIMP _CONST_RETURN char *__cdecl _tcschr(const char *_Str,unsigned int _Val); + _CRTIMP size_t __cdecl _tcscspn(const char *_Str,const char *_Control); + _CRTIMP char *__cdecl _tcsncat(char *_Dst,const char *_Src,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsncat_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsncpy(char *_Dst,const char *_Src,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsncpy_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); + _CRTIMP _CONST_RETURN char *__cdecl _tcspbrk(const char *_Str,const char *_Control); + _CRTIMP _CONST_RETURN char *__cdecl _tcsrchr(const char *_Str,unsigned int _Ch); + _CRTIMP size_t __cdecl _tcsspn(const char *_Str,const char *_Control); + _CRTIMP _CONST_RETURN char *__cdecl _tcsstr(const char *_Str,const char *_Substr); + _CRTIMP char *__cdecl _tcstok(char *_Str,const char *_Delim); + _CRTIMP char *__cdecl _tcstok_l(char *_Str,const char *_Delim,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsnset(char *_Str,unsigned int _Val,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsrev(char *_Str); + _CRTIMP char *__cdecl _tcsset(char *_Str,unsigned int _Val); + _CRTIMP char *__cdecl _tcsset_l(char *_Str,unsigned int _Val,_locale_t _Locale); + _CRTIMP int __cdecl _tcscmp(const char *_Str1,const char *_Str); + _CRTIMP int __cdecl _tcsicmp(const char *_Str1,const char *_Str2); + _CRTIMP int __cdecl _tcsicmp_l(const char *_Str1,const char *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _tcsnccmp(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsncmp(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsncicmp(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsncicmp_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _tcsnicmp(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsnicmp_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _tcscoll(const char *_Str1,const char *_Str2); + _CRTIMP int __cdecl _tcscoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _tcsicoll(const char *_Str1,const char *_Str2); + _CRTIMP int __cdecl _tcsicoll_l(const char *_Str1,const char *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _tcsnccoll(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsnccoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _tcsncoll(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsncoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _tcsncicoll(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsncicoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _tcsnicoll(const char *_Str1,const char *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _tcsnicoll_l(const char *_Str1,const char *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP size_t __cdecl _tcsclen(const char *_Str); + _CRTIMP size_t __cdecl _tcscnlen(const char *_Str,size_t _MaxCount); + _CRTIMP size_t __cdecl _tcsclen_l(const char *_Str,_locale_t _Locale); + _CRTIMP size_t __cdecl _tcscnlen_l(const char *_Str,size_t _MaxCount,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsnccat(char *_Dst,const char *_Src,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsnccat_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsnccpy(char *_Dst,const char *_Src,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsnccpy_l(char *_Dst,const char *_Src,size_t _MaxCount,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsncset(char *_Str,unsigned int _Val,size_t _MaxCount); + _CRTIMP char *__cdecl _tcsncset_l(char *_Str,unsigned int _Val,size_t _MaxCount,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsdec(const char *_Start,const char *_Pos); + _CRTIMP char *__cdecl _tcsinc(const char *_Ptr); + _CRTIMP size_t __cdecl _tcsnbcnt(const char *_Str,size_t _MaxCount); + _CRTIMP size_t __cdecl _tcsnccnt(const char *_Str,size_t _MaxCount); + _CRTIMP unsigned int __cdecl _tcsnextc (const char *_Str); + _CRTIMP char *__cdecl _tcsninc(const char *_Ptr,size_t _Count); + _CRTIMP char *__cdecl _tcsspnp(const char *_Str1,const char *_Str2); + _CRTIMP char *__cdecl _tcslwr(char *_Str); + _CRTIMP char *__cdecl _tcslwr_l(char *_Str,_locale_t _Locale); + _CRTIMP char *__cdecl _tcsupr(char *_Str); + _CRTIMP char *__cdecl _tcsupr_l(char *_Str,_locale_t _Locale); + _CRTIMP size_t __cdecl _tclen(const char *_Str); + _CRTIMP void __cdecl _tccpy(char *_DstCh,const char *_SrcCh); + +#ifdef __cplusplus +#ifndef _CPP_TCHAR_INLINES_DEFINED +#define _CPP_TCHAR_INLINES_DEFINED + extern "C++" { + extern inline char *__cdecl _tcschr(char *_S,unsigned int _C) { return ((char *)_tcschr((const char *)_S,_C)); } + extern inline char *__cdecl _tcspbrk(char *_S,const char *_P) { return ((char *)_tcspbrk((const char *)_S,_P)); } + extern inline char *__cdecl _tcsrchr(char *_S,unsigned int _C) { return ((char *)_tcsrchr((const char *)_S,_C)); } + extern inline char *__cdecl _tcsstr(char *_S,const char *_P) { return ((char *)_tcsstr((const char *)_S,_P)); } + } +#endif +#endif +#endif + +#define _tccmp(_cp1,_cp2) _tcsnccmp(_cp1,_cp2,1) + +#define _istalnum _ismbcalnum +#define _istalnum_l _ismbcalnum_l +#define _istalpha _ismbcalpha +#define _istalpha_l _ismbcalpha_l +#define _istdigit _ismbcdigit +#define _istdigit_l _ismbcdigit_l +#define _istgraph _ismbcgraph +#define _istgraph_l _ismbcgraph_l +#define _istlegal _ismbclegal +#define _istlegal_l _ismbclegal_l +#define _istlower _ismbclower +#define _istlower_l _ismbclower_l +#define _istprint _ismbcprint +#define _istprint_l _ismbcprint_l +#define _istpunct _ismbcpunct +#define _istpunct_l _ismbcpunct_l +#define _istspace _ismbcspace +#define _istspace_l _ismbcspace_l +#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 +#define _totlower _mbctolower +#define _totlower_l _mbctolower_l + +#define _istlead _ismbblead +#define _istleadbyte isleadbyte +#define _istleadbyte_l _isleadbyte_l + +#endif /* __CYGWIN__ */ + +#else /* _MBCS */ + +#ifndef __TCHAR_DEFINED +#define __TCHAR_DEFINED + typedef char _TCHAR; + typedef signed char _TSCHAR; + typedef unsigned char _TUCHAR; + typedef char _TXCHAR; + typedef int _TINT; +#endif + +#ifndef NO_OLDNAMES +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED + typedef char TCHAR,*PTCHAR; + typedef unsigned char TBYTE,*PTBYTE; +#endif +#endif + +#ifndef __CYGWIN__ + +#define _tcschr strchr +#define _tcscspn strcspn +#define _tcsncat strncat +#define _tcsncat_l _strncat_l +#define _tcsncpy strncpy +#define _tcsncpy_l _strncpy_l +#define _tcspbrk strpbrk +#define _tcsrchr strrchr +#define _tcsspn strspn +#define _tcsstr strstr +#define _tcstok strtok +#define _tcstok_l _strtok_l + +#define _tcsnset _strnset +#define _tcsnset_l _strnset_l +#define _tcsrev _strrev +#define _tcsset _strset +#define _tcsset_l _strset_l + +#define _tcscmp strcmp +#define _tcsicmp _stricmp +#define _tcsicmp_l _stricmp_l +#define _tcsnccmp strncmp +#define _tcsncmp strncmp +#define _tcsncicmp _strnicmp +#define _tcsncicmp_l _strnicmp_l +#define _tcsnicmp _strnicmp +#define _tcsnicmp_l _strnicmp_l + +#define _tcscoll strcoll +#define _tcscoll_l _strcoll_l +#define _tcsicoll _stricoll +#define _tcsicoll_l _stricoll_l +#define _tcsnccoll _strncoll +#define _tcsnccoll_l _strncoll_l +#define _tcsncoll _strncoll +#define _tcsncoll_l _strncoll_l +#define _tcsncicoll _strnicoll +#define _tcsncicoll_l _strnicoll_l +#define _tcsnicoll _strnicoll +#define _tcsnicoll_l _strnicoll_l + +#define _tcsclen strlen +#define _tcscnlen strnlen +#define _tcsclen_l(_String,_Locale) strlen(_String) +#define _tcscnlen_l(_String,_Max_count,_Locale) strnlen_l((_String),(_Max_count)) +#define _tcsnccat strncat +#define _tcsnccat_l _strncat_l +#define _tcsnccpy strncpy +#define _tcsnccpy_l _strncpy_l +#define _tcsncset _strnset +#define _tcsncset_l _strnset_l + +#define _tcsdec _strdec +#define _tcsinc _strinc +#define _tcsnbcnt _strncnt +#define _tcsnccnt _strncnt +#define _tcsnextc _strnextc +#define _tcsninc _strninc +#define _tcsspnp _strspnp + +#define _tcslwr _strlwr +#define _tcslwr_l _strlwr_l +#define _tcsupr _strupr +#define _tcsupr_l _strupr_l +#define _tcsxfrm strxfrm +#define _tcsxfrm_l _strxfrm_l + +#define _istlead(_Char) (0) +#define _istleadbyte(_Char) (0) +#define _istleadbyte_l(_Char,_Locale) (0) + +#define _tclen(_pc) (1) +#define _tccpy(_pc1,_cpc2) (*(_pc1) = *(_cpc2)) +#define _tccmp(_cpc1,_cpc2) (((unsigned char)*(_cpc1))-((unsigned char)*(_cpc2))) + + /* dirent structures and functions */ +#define _tdirent dirent +#define _TDIR DIR +#define _topendir opendir +#define _tclosedir closedir +#define _treaddir readdir +#define _trewinddir rewinddir +#define _ttelldir telldir +#define _tseekdir seekdir + +#define _istalnum isalnum +#define _istalnum_l _isalnum_l +#define _istalpha isalpha +#define _istalpha_l _isalpha_l +#define _istdigit isdigit +#define _istdigit_l _isdigit_l +#define _istgraph isgraph +#define _istgraph_l _isgraph_l +#define _istlower islower +#define _istlower_l _islower_l +#define _istprint isprint +#define _istprint_l _isprint_l +#define _istpunct ispunct +#define _istpunct_l _ispunct_l +#define _istspace isspace +#define _istspace_l _isspace_l +#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 +#define _totlower tolower +#define _totlower_l _tolower_l + +#define _istlegal(_c) (1) + +#ifndef NULL +#ifdef __cplusplus +#ifndef _WIN64 +#define NULL 0 +#else +#define NULL 0LL +#endif /* W64 */ +#else +#define NULL ((void *)0) +#endif +#endif + +#define _strdec(_cpc1,_cpc2) ((_cpc1)>=(_cpc2) ? NULL : (_cpc2)-1) +#define _strinc(_pc) ((_pc)+1) +#define _strnextc(_cpc) ((unsigned int) *(const unsigned char *)(_cpc)) +#define _strninc(_pc,_sz) (((_pc)+(_sz))) + _CRTIMP size_t __cdecl __strncnt(const char *_Str,size_t _Cnt); +#define _strncnt(_cpc,_sz) (__strncnt(_cpc,_sz)) +#define _strspnp(_cpc1,_cpc2) (!_cpc1 ? NULL : ((*((_cpc1)+strspn(_cpc1,_cpc2))) ? ((_cpc1)+strspn(_cpc1,_cpc2)) : NULL)) + +#define _strncpy_l(_Destination,_Source,_Count,_Locale) (strncpy(_Destination,_Source,_Count)) +#define _strncat_l(_Destination,_Source,_Count,_Locale) (strncat(_Destination,_Source,_Count)) +#define _strtok_l(_String,_Delimiters,_Locale) (strtok(_String,_Delimiters)) +#define _strnset_l(_Destination,_Value,_Count,_Locale) (_strnset(_Destination,_Value,_Count)) +#define _strset_l(_Destination,_Value,_Locale) (_strset(_Destination,_Value)) +#endif +#endif /* _MBCS */ + +#endif /* _UNICODE */ + +#define _T(x) __T(x) +#define _TEXT(x) __T(x) + +#ifdef __cplusplus +} +#endif + +#ifndef __CYGWIN__ +#include +#endif /* __CYGWIN__ */ +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpestats.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpestats.h new file mode 100644 index 00000000..b68f64f2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpestats.h @@ -0,0 +1,212 @@ +/** + * 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_TCPESTATS +#define _INC_TCPESTATS + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _TCP_ESTATS_BANDWIDTH_ROD_v0 { + ULONG64 OutboundBandwidth; + ULONG64 InboundBandwidth; + ULONG64 OutboundInstability; + ULONG64 InboundInstability; + BOOLEAN OutboundBandwidthPeaked; + BOOLEAN InboundBandwidthPeaked; +} TCP_ESTATS_BANDWIDTH_ROD_v0, *PTCP_ESTATS_BANDWIDTH_ROD_v0; + +typedef enum _TCP_BOOLEAN_OPTIONAL { + TcpBoolOptDisabled = 0, + TcpBoolOptEnabled = 1, + TcpBoolOptUnchanged = -1 +} TCP_BOOLEAN_OPTIONAL; + +typedef struct _TCP_ESTATS_BANDWIDTH_RW_v0 { + TCP_BOOLEAN_OPTIONAL EnableCollectionOutbound; + TCP_BOOLEAN_OPTIONAL EnableCollectionInbound; +} TCP_ESTATS_BANDWIDTH_RW_v0, *PTCP_ESTATS_BANDWIDTH_RW_v0; + +typedef struct _TCP_ESTATS_DATA_ROD_v0 { + ULONG64 DataBytesOut; + ULONG64 DataSegsOut; + ULONG64 DataBytesIn; + ULONG64 DataSegsIn; + ULONG64 SegsOut; + ULONG64 SegsIn; + ULONG SoftErrors; + ULONG SoftErrorReason; + ULONG SndUna; + ULONG SndNxt; + ULONG SndMax; + ULONG64 ThruBytesAcked; + ULONG RcvNxt; + ULONG64 ThruBytesReceived; +} TCP_ESTATS_DATA_ROD_v0, *PTCP_ESTATS_DATA_ROD_v0; + +typedef struct _TCP_ESTATS_DATA_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_DATA_RW_v0, *PTCP_ESTATS_DATA_RW_v0; + +typedef struct _TCP_ESTATS_FINE_RTT_ROD_v0 { + ULONG RttVar; + ULONG MaxRtt; + ULONG MinRtt; + ULONG SumRtt; +} TCP_ESTATS_FINE_RTT_ROD_v0, *PTCP_ESTATS_FINE_RTT_ROD_v0; + +typedef struct _TCP_ESTATS_FINE_RTT_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_FINE_RTT_RW_v0, *PTCP_ESTATS_FINE_RTT_RW_v0; + +typedef struct _TCP_ESTATS_OBS_REC_ROD_v0 { + ULONG CurRwinRcvd; + ULONG MaxRwinRcvd; + ULONG MinRwinRcvd; + UCHAR WinScaleRcvd; +} TCP_ESTATS_OBS_REC_ROD_v0, *PTCP_ESTATS_OBS_REC_ROD_v0; + +typedef struct _TCP_ESTATS_OBS_REC_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_OBS_REC_RW_v0, *PTCP_ESTATS_OBS_REC_RW_v0; + +typedef struct _TCP_ESTATS_PATH_ROD_v0 { + ULONG FastRetran; + ULONG Timeouts; + ULONG SubsequentTimeouts; + ULONG CurTimeoutCount; + ULONG AbruptTimeouts; + ULONG PktsRetrans; + ULONG BytesRetrans; + ULONG DupAcksIn; + ULONG SacksRcvd; + ULONG SackBlocksRcvd; + ULONG CongSignals; + ULONG PreCongSumCwnd; + ULONG PreCongSumRtt; + ULONG PostCongSumRtt; + ULONG PostCongCountRtt; + ULONG EcnSignals; + ULONG EceRcvd; + ULONG SendStall; + ULONG QuenchRcvd; + ULONG RetranThresh; + ULONG SndDupAckEpisodes; + ULONG SumBytesReordered; + ULONG NonRecovDa; + ULONG NonRecovDaEpisodes; + ULONG AckAfterFr; + ULONG DsackDups; + ULONG SampleRtt; + ULONG SmoothedRtt; + ULONG RttVar; + ULONG MaxRtt; + ULONG MinRtt; + ULONG SumRtt; + ULONG CountRtt; + ULONG CurRto; + ULONG MaxRto; + ULONG MinRto; + ULONG CurMss; + ULONG MaxMss; + ULONG MinMss; + ULONG SpuriousRtoDetections; +} TCP_ESTATS_PATH_ROD_v0, *PTCP_ESTATS_PATH_ROD_v0; + +typedef struct _TCP_ESTATS_PATH_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_PATH_RW_v0, *PTCP_ESTATS_PATH_RW_v0; + +typedef struct _TCP_ESTATS_REC_ROD_v0 { + ULONG CurRwinSent; + ULONG MaxRwinSent; + ULONG MinRwinSent; + ULONG LimRwin; + ULONG DupAckEpisodes; + ULONG DupAcksOut; + ULONG CeRcvd; + ULONG EcnSent; + ULONG EcnNoncesRcvd; + ULONG CurReasmQueue; + ULONG MaxReasmQueue; + SIZE_T CurAppRQueue; + SIZE_T MaxAppRQueue; + UCHAR WinScaleSent; +} TCP_ESTATS_REC_ROD_v0, *PTCP_ESTATS_REC_ROD_v0; + +typedef struct _TCP_ESTATS_REC_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_REC_RW_v0, *PTCP_ESTATS_REC_RW_v0; + +typedef struct _TCP_ESTATS_SEND_BUFF_ROD_v0 { + SIZE_T CurRetxQueue; + SIZE_T MaxRetxQueue; + SIZE_T CurAppWQueue; + SIZE_T MaxAppWQueue; +} TCP_ESTATS_SEND_BUFF_ROD_v0, *PTCP_ESTATS_SEND_BUFF_ROD_v0; + +typedef struct _TCP_ESTATS_SEND_BUFF_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_SEND_BUFF_RW_v0, *PTCP_ESTATS_SEND_BUFF_RW_v0; + +typedef struct _TCP_ESTATS_SND_CONG_ROD_v0 { + ULONG SndLimTransRwin; + ULONG SndLimTimeRwin; + SIZE_T SndLimBytesRwin; + ULONG SndLimTransCwnd; + ULONG SndLimTimeCwnd; + SIZE_T SndLimBytesCwnd; + ULONG SndLimTransSnd; + ULONG SndLimTimeSnd; + SIZE_T SndLimBytesSnd; + ULONG SlowStart; + ULONG CongAvoid; + ULONG OtherReductions; + ULONG CurCwnd; + ULONG MaxSsCwnd; + ULONG MaxCaCwnd; + ULONG CurSsthresh; + ULONG MaxSsthresh; + ULONG MinSsthresh; +} TCP_ESTATS_SND_CONG_ROD_v0, *PTCP_ESTATS_SND_CONG_ROD_v0; + +typedef struct _TCP_ESTATS_SND_CONG_ROS_v0 { + ULONG LimCwnd; +} TCP_ESTATS_SND_CONG_ROS_v0, *PTCP_ESTATS_SND_CONG_ROS_v0; + +typedef struct _TCP_ESTATS_SND_CONG_RW_v0 { + BOOLEAN EnableCollection; +} TCP_ESTATS_SND_CONG_RW_v0, *PTCP_ESTATS_SND_CONG_RW_v0; + +typedef struct _TCP_ESTATS_SYN_OPTS_ROS_v0 { + BOOLEAN ActiveOpen; + ULONG MssRcvd; + ULONG MssSent; +} TCP_ESTATS_SYN_OPTS_ROS_v0, *PTCP_ESTATS_SYN_OPTS_ROS_v0; + +typedef enum _TCP_ESTATS_TYPE { + TcpConnectionEstatsSynOpts, + TcpConnectionEstatsData, + TcpConnectionEstatsSndCong, + TcpConnectionEstatsPath, + TcpConnectionEstatsSendBuff, + TcpConnectionEstatsRec, + TcpConnectionEstatsObsRec, + TcpConnectionEstatsBandwidth, + TcpConnectionEstatsFineRtt, + TcpConnectionEstatsMaximum +} TCP_ESTATS_TYPE; + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#endif /*_INC_TCPESTATS*/ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpmib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpmib.h new file mode 100644 index 00000000..4afcbe54 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpmib.h @@ -0,0 +1,85 @@ +/** + * 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_TCPMIB +#define _INC_TCPMIB + +#ifndef ANY_SIZE +#define ANY_SIZE 1 +#endif + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +/* As I read msdn on Vista the defines above were moved into + typedef enum { MIB_..., } MIB_TCP_STATE; + We simply typedef it to int. */ +typedef int MIB_TCP_STATE; + +typedef enum _TCP_CONNECTION_OFFLOAD_STATE { + TcpConnectionOffloadStateInHost = 0, + TcpConnectionOffloadStateOffloading = 1, + TcpConnectionOffloadStateOffloaded = 2, + TcpConnectionOffloadStateUploading = 3, + TcpConnectionOffloadStateMax = 4 +} TCP_CONNECTION_OFFLOAD_STATE; + +typedef struct _MIB_TCP6ROW { + MIB_TCP_STATE State; + IN6_ADDR LocalAddr; + DWORD dwLocalScopeId; + DWORD dwLocalPort; + IN6_ADDR RemoteAddr; + DWORD dwRemoteScopeId; + DWORD dwRemotePort; +} MIB_TCP6ROW, *PMIB_TCP6ROW; + +typedef struct _MIB_TCP6TABLE { + DWORD dwNumEntries; + MIB_TCP6ROW table[ANY_SIZE]; +} MIB_TCP6TABLE, *PMIB_TCP6TABLE; + +typedef struct _MIB_TCP6ROW2 { + IN6_ADDR LocalAddr; + DWORD dwLocalScopeId; + DWORD dwLocalPort; + IN6_ADDR RemoteAddr; + DWORD dwRemoteScopeId; + DWORD dwRemotePort; + MIB_TCP_STATE State; + DWORD dwOwningPid; + TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; +} MIB_TCP6ROW2, *PMIB_TCP6ROW2; + +typedef struct _MIB_TCP6TABLE2 { + DWORD dwNumEntries; + MIB_TCP6ROW2 table[ANY_SIZE]; +} MIB_TCP6TABLE2, *PMIB_TCP6TABLE2; + +typedef struct _MIB_TCPROW2 { + DWORD dwState; + DWORD dwLocalAddr; + DWORD dwLocalPort; + DWORD dwRemoteAddr; + DWORD dwRemotePort; + DWORD dwOwningPid; + TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; +} MIB_TCPROW2, *PMIB_TCPROW2; + +typedef struct _MIB_TCPTABLE2 { + DWORD dwNumEntries; + MIB_TCPROW2 table[ANY_SIZE]; +} MIB_TCPTABLE2, *PMIB_TCPTABLE2; + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#endif /*_INC_TCPMIB*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpxcv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpxcv.h new file mode 100644 index 00000000..a2bf4670 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tcpxcv.h @@ -0,0 +1,92 @@ +/** + * 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 _TCPXCV_ +#define _TCPXCV_ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#if !defined(UNKNOWN_PROTOCOL) +#define UNKNOWN_PROTOCOL 0 +#define PROTOCOL_UNKNOWN_TYPE UNKNOWN_PROTOCOL +#endif + +#if !defined(RAWTCP) +#define RAWTCP 1 +#define PROTOCOL_RAWTCP_TYPE RAWTCP +#endif + +#if !defined(LPR) +#define LPR 2 +#define PROTOCOL_LPR_TYPE LPR +#endif + +#define MAX_PORTNAME_LEN 64 +#define MAX_NETWORKNAME_LEN 49 +#define MAX_NETWORKNAME2_LEN 128 +#define MAX_SNMP_COMMUNITY_STR_LEN 33 +#define MAX_QUEUENAME_LEN 33 +#define MAX_IPADDR_STR_LEN 16 +#define MAX_ADDRESS_STR_LEN 13 +#define MAX_DEVICEDESCRIPTION_STR_LEN 257 + +typedef struct _PORT_DATA_1 { + WCHAR sztPortName[MAX_PORTNAME_LEN]; + DWORD dwVersion; + DWORD dwProtocol; + DWORD cbSize; + DWORD dwReserved; + WCHAR sztHostAddress[MAX_NETWORKNAME_LEN]; + WCHAR sztSNMPCommunity[MAX_SNMP_COMMUNITY_STR_LEN]; + DWORD dwDoubleSpool; + WCHAR sztQueue[MAX_QUEUENAME_LEN]; + WCHAR sztIPAddress[MAX_IPADDR_STR_LEN]; + BYTE Reserved[540]; + DWORD dwPortNumber; + DWORD dwSNMPEnabled; + DWORD dwSNMPDevIndex; +} PORT_DATA_1, *PPORT_DATA_1; + +typedef struct _PORT_DATA_2 { + WCHAR sztPortName[MAX_PORTNAME_LEN]; + DWORD dwVersion; + DWORD dwProtocol; + DWORD cbSize; + DWORD dwReserved; + WCHAR sztHostAddress [MAX_NETWORKNAME2_LEN]; + WCHAR sztSNMPCommunity[MAX_SNMP_COMMUNITY_STR_LEN]; + DWORD dwDoubleSpool; + WCHAR sztQueue[MAX_QUEUENAME_LEN]; + BYTE Reserved[514]; + DWORD dwPortNumber; + DWORD dwSNMPEnabled; + DWORD dwSNMPDevIndex; + DWORD dwPortMonitorMibIndex; +} PORT_DATA_2, *PPORT_DATA_2; + +typedef struct _PORT_DATA_LIST_1 { + DWORD dwVersion; + DWORD cPortData; + PORT_DATA_2 pPortData[1]; +} PORT_DATA_LIST_1, *PPORT_DATA_LIST_1; + +typedef struct _DELETE_PORT_DATA_1 { + WCHAR psztPortName[MAX_PORTNAME_LEN]; + BYTE Reserved[98]; + DWORD dwVersion; + DWORD dwReserved; +} DELETE_PORT_DATA_1, *PDELETE_PORT_DATA_1; + +typedef struct _CONFIG_INFO_DATA_1 { + BYTE Reserved[128]; + DWORD dwVersion; +} CONFIG_INFO_DATA_1, *PCONFIG_INFO_DATA_1; + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#endif /* _TCPXCV_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdh.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdh.h new file mode 100644 index 00000000..a76a7e4e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdh.h @@ -0,0 +1,242 @@ +/** + * 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_TDH +#define _INC_TDH +#include +#include +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum _EVENT_FIELD_TYPE { + EventKeywordInformation = 0, + EventLevelInformation = 1, + EventChannelInformation = 2, + EventTaskInformation = 3, + EventOpcodeInformation = 4, + EventInformationMax = 5 +} EVENT_FIELD_TYPE; + +typedef struct _EVENT_MAP_ENTRY { + ULONG OutputOffset; + __C89_NAMELESS union { + ULONG Value; + ULONG InputOffset; + }; +} EVENT_MAP_ENTRY, *PEVENT_MAP_ENTRY; + +typedef enum _MAP_VALUETYPE +{ + EVENTMAP_ENTRY_VALUETYPE_ULONG = 0, + EVENTMAP_ENTRY_VALUETYPE_STRING = 1 +} MAP_VALUETYPE; + +typedef enum _MAP_FLAGS { + EVENTMAP_INFO_FLAG_MANIFEST_VALUEMAP = 1, + EVENTMAP_INFO_FLAG_MANIFEST_BITMAP = 2, + EVENTMAP_INFO_FLAG_MANIFEST_PATTERNMAP = 4, + EVENTMAP_INFO_FLAG_WBEM_VALUEMAP = 8, + EVENTMAP_INFO_FLAG_WBEM_BITMAP = 16, + EVENTMAP_INFO_FLAG_WBEM_FLAG = 32, + EVENTMAP_INFO_FLAG_WBEM_NO_MAP = 64 +} MAP_FLAGS; + +typedef struct _EVENT_MAP_INFO { + ULONG NameOffset; + MAP_FLAGS Flag; + ULONG EntryCount; + __C89_NAMELESS union { + MAP_VALUETYPE MapEntryValueType; + ULONG FormatStringOffset; + }; + EVENT_MAP_ENTRY MapEntryArray[ANYSIZE_ARRAY]; +} EVENT_MAP_INFO, *PEVENT_MAP_INFO; + +typedef enum _PROPERTY_FLAGS { + PropertyStruct = 0x1, + PropertyParamLength = 0x2, + PropertyParamCount = 0x4, + PropertyWBEMXmlFragment = 0x8, + PropertyParamFixedLength = 0x10 +} PROPERTY_FLAGS; + +typedef struct _EVENT_PROPERTY_INFO { + PROPERTY_FLAGS Flags; + ULONG NameOffset; + __C89_NAMELESS union { + struct { + USHORT InType; + USHORT OutType; + ULONG MapNameOffset; + } nonStructType; + struct { + USHORT StructStartIndex; + USHORT NumOfStructMembers; + ULONG padding; + } structType; + }; + __C89_NAMELESS union { + USHORT count; + USHORT countPropertyIndex; + }; + __C89_NAMELESS union { + USHORT length; + USHORT lengthPropertyIndex; + }; + ULONG Reserved; +} EVENT_PROPERTY_INFO; + +typedef enum _DECODING_SOURCE { + DecodingSourceXMLFile = 0, + DecodingSourceWbem = 1, + DecodingSourceWPP = 2 +} DECODING_SOURCE; + +typedef enum _TDH_CONTEXT_TYPE { + TDH_CONTEXT_WPP_TMFFILE = 0, + TDH_CONTEXT_WPP_TMFSEARCHPATH = 1, + TDH_CONTEXT_WPP_GMT = 2, + TDH_CONTEXT_POINTERSIZE = 3, + TDH_CONTEXT_MAXIMUM = 4 +} TDH_CONTEXT_TYPE; + +typedef enum _TEMPLATE_FLAGS { + TEMPLATE_EVENT_DATA = 1, + TEMPLATE_USER_DATA = 2 +} TEMPLATE_FLAGS; + +typedef struct _TRACE_EVENT_INFO { + GUID ProviderGuid; + GUID EventGuid; + EVENT_DESCRIPTOR EventDescriptor; + DECODING_SOURCE DecodingSource; + ULONG ProviderNameOffset; + ULONG LevelNameOffset; + ULONG ChannelNameOffset; + ULONG KeywordsNameOffset; + ULONG TaskNameOffset; + ULONG OpcodeNameOffset; + ULONG EventMessageOffset; + ULONG ProviderMessageOffset; + ULONG BinaryXMLOffset; + ULONG BinaryXMLSize; + ULONG ActivityIDNameOffset; + ULONG RelatedActivityIDNameOffset; + ULONG PropertyCount; + ULONG TopLevelPropertyCount; + TEMPLATE_FLAGS Flags; + EVENT_PROPERTY_INFO EventPropertyInfoArray[ANYSIZE_ARRAY]; +} TRACE_EVENT_INFO, *PTRACE_EVENT_INFO; + +typedef struct _PROPERTY_DATA_DESCRIPTOR { + ULONGLONG PropertyName; + ULONG ArrayIndex; + ULONG Reserved; +} PROPERTY_DATA_DESCRIPTOR, *PPROPERTY_DATA_DESCRIPTOR; + +typedef struct _TRACE_PROVIDER_INFO { + GUID ProviderGuid; + ULONG SchemaSource; + ULONG ProviderNameOffset; +} TRACE_PROVIDER_INFO; + +typedef struct _PROVIDER_ENUMERATION_INFO { + ULONG NumberOfProviders; + ULONG Padding; + TRACE_PROVIDER_INFO TraceProviderInfoArray[ANYSIZE_ARRAY]; +} PROVIDER_ENUMERATION_INFO, *PPROVIDER_ENUMERATION_INFO; + +typedef struct _PROVIDER_FIELD_INFO { + ULONG NameOffset; + ULONG DescriptionOffset; + ULONGLONG Value; +} PROVIDER_FIELD_INFO; + +typedef struct _PROVIDER_FIELD_INFOARRAY { + ULONG NumberOfElements; + EVENT_FIELD_TYPE FieldType; + PROVIDER_FIELD_INFO FieldInfoArray[ANYSIZE_ARRAY]; +} PROVIDER_FIELD_INFOARRAY, *PPROVIDER_FIELD_INFOARRAY; + +typedef struct _TDH_CONTEXT { + ULONGLONG ParameterValue; + TDH_CONTEXT_TYPE ParameterType; + ULONG ParameterSize; +} TDH_CONTEXT, *PTDH_CONTEXT; + +ULONG __stdcall TdhEnumerateProviderFieldInformation( + LPGUID pGuid, + EVENT_FIELD_TYPE EventFieldType, + PPROVIDER_FIELD_INFOARRAY pBuffer, + ULONG *pBufferSize +); + +ULONG __stdcall TdhEnumerateProviders( + PPROVIDER_ENUMERATION_INFO pBuffer, + ULONG *pBufferSize +); + +ULONG __stdcall TdhGetEventInformation( + PEVENT_RECORD pEvent, + ULONG TdhContextCount, + PTDH_CONTEXT pTdhContext, + PTRACE_EVENT_INFO pBuffer, + ULONG *pBufferSize +); + +ULONG __stdcall TdhGetEventMapInformation( + PEVENT_RECORD pEvent, + LPWSTR pMapName, + PEVENT_MAP_INFO pBuffer, + ULONG *pBufferSize +); + +ULONG __stdcall TdhGetProperty( + PEVENT_RECORD pEvent, + ULONG TdhContextCount, + PTDH_CONTEXT pTdhContext, + ULONG PropertyDataCount, + PPROPERTY_DATA_DESCRIPTOR pPropertyData, + ULONG BufferSize, + PBYTE pBuffer +); + +ULONG __stdcall TdhGetPropertySize( + PEVENT_RECORD pEvent, + ULONG TdhContextCount, + PTDH_CONTEXT pTdhContext, + ULONG PropertyDataCount, + PPROPERTY_DATA_DESCRIPTOR pPropertyData, + ULONG *pPropertySize +); + +ULONG __stdcall TdhQueryProviderFieldInformation( + LPGUID pGuid, + ULONGLONG EventFieldValue, + EVENT_FIELD_TYPE EventFieldType, + PPROVIDER_FIELD_INFOARRAY pBuffer, + ULONG *pBufferSize +); + +#if (_WIN32_WINNT >= 0x0601) +typedef struct _PROVIDER_FILTER_INFO { + UCHAR Id; + UCHAR Version; + ULONG MessageOffset; + ULONG Reserved; + ULONG PropertyCount; + EVENT_PROPERTY_INFO EventPropertyInfoArray[ANYSIZE_ARRAY]; +} PROVIDER_FILTER_INFO, *PPROVIDER_FILTER_INFO; +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_TDH*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdi.h new file mode 100644 index 00000000..31200708 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdi.h @@ -0,0 +1,588 @@ +/* + * tdi.h + * + * TDI user mode definitions + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Casper S. Hornstrup + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef __TDI_H +#define __TDI_H + +#include "ntddtdi.h" +#include "tdistat.h" +#include "netpnp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* Basic types */ + +typedef LONG TDI_STATUS; +typedef PVOID CONNECTION_CONTEXT; + +typedef struct _TDI_CONNECTION_INFORMATION { + LONG UserDataLength; + PVOID UserData; + LONG OptionsLength; + PVOID Options; + LONG RemoteAddressLength; + PVOID RemoteAddress; +} TDI_CONNECTION_INFORMATION, *PTDI_CONNECTION_INFORMATION; + +typedef struct _TDI_REQUEST { + union { + HANDLE AddressHandle; + CONNECTION_CONTEXT ConnectionContext; + HANDLE ControlChannel; + } Handle; + PVOID RequestNotifyObject; + PVOID RequestContext; + TDI_STATUS TdiStatus; +} TDI_REQUEST, *PTDI_REQUEST; + +typedef struct _TDI_REQUEST_STATUS { + TDI_STATUS Status; + PVOID RequestContext; + ULONG BytesTransferred; +} TDI_REQUEST_STATUS, *PTDI_REQUEST_STATUS; + +typedef struct _TDI_CONNECT_REQUEST { + TDI_REQUEST Request; + PTDI_CONNECTION_INFORMATION RequestConnectionInformation; + PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; + LARGE_INTEGER Timeout; +} TDI_REQUEST_CONNECT, *PTDI_REQUEST_CONNECT; + +typedef struct _TDI_REQUEST_ACCEPT { + TDI_REQUEST Request; + PTDI_CONNECTION_INFORMATION RequestConnectionInformation; + PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; +} TDI_REQUEST_ACCEPT, *PTDI_REQUEST_ACCEPT; + +typedef struct _TDI_REQUEST_LISTEN { + TDI_REQUEST Request; + PTDI_CONNECTION_INFORMATION RequestConnectionInformation; + PTDI_CONNECTION_INFORMATION ReturnConnectionInformation; + USHORT ListenFlags; +} TDI_REQUEST_LISTEN, *PTDI_REQUEST_LISTEN; + +typedef struct _TDI_DISCONNECT_REQUEST { + TDI_REQUEST Request; + LARGE_INTEGER Timeout; +} TDI_REQUEST_DISCONNECT, *PTDI_REQUEST_DISCONNECT; + +typedef struct _TDI_REQUEST_SEND { + TDI_REQUEST Request; + USHORT SendFlags; +} TDI_REQUEST_SEND, *PTDI_REQUEST_SEND; + +typedef struct _TDI_REQUEST_RECEIVE { + TDI_REQUEST Request; + USHORT ReceiveFlags; +} TDI_REQUEST_RECEIVE, *PTDI_REQUEST_RECEIVE; + +typedef struct _TDI_REQUEST_SEND_DATAGRAM { + TDI_REQUEST Request; + PTDI_CONNECTION_INFORMATION SendDatagramInformation; +} TDI_REQUEST_SEND_DATAGRAM, *PTDI_REQUEST_SEND_DATAGRAM; + +typedef struct _TDI_REQUEST_RECEIVE_DATAGRAM { + TDI_REQUEST Request; + PTDI_CONNECTION_INFORMATION ReceiveDatagramInformation; + PTDI_CONNECTION_INFORMATION ReturnInformation; + USHORT ReceiveFlags; +} TDI_REQUEST_RECEIVE_DATAGRAM, *PTDI_REQUEST_RECEIVE_DATAGRAM; + +typedef struct _TDI_REQUEST_SET_EVENT { + TDI_REQUEST Request; + LONG EventType; + PVOID EventHandler; + PVOID EventContext; +} TDI_REQUEST_SET_EVENT_HANDLER, *PTDI_REQUEST_SET_EVENT_HANDLER; + +#define TDI_RECEIVE_BROADCAST 0x00000004 +#define TDI_RECEIVE_MULTICAST 0x00000008 +#define TDI_RECEIVE_PARTIAL 0x00000010 +#define TDI_RECEIVE_NORMAL 0x00000020 +#define TDI_RECEIVE_EXPEDITED 0x00000040 +#define TDI_RECEIVE_PEEK 0x00000080 +#define TDI_RECEIVE_NO_RESPONSE_EXP 0x00000100 +#define TDI_RECEIVE_COPY_LOOKAHEAD 0x00000200 +#define TDI_RECEIVE_ENTIRE_MESSAGE 0x00000400 +#define TDI_RECEIVE_AT_DISPATCH_LEVEL 0x00000800 +#define TDI_RECEIVE_CONTROL_INFO 0x00001000 + +/* Listen flags */ +#define TDI_QUERY_ACCEPT 0x00000001 + +/* Options used for both SendOptions and ReceiveIndicators */ +#define TDI_SEND_EXPEDITED 0x0020 +#define TDI_SEND_PARTIAL 0x0040 +#define TDI_SEND_NO_RESPONSE_EXPECTED 0x0080 +#define TDI_SEND_NON_BLOCKING 0x0100 +#define TDI_SEND_AND_DISCONNECT 0x0200 + +/* Disconnect Flags */ +#define TDI_DISCONNECT_WAIT 0x0001 +#define TDI_DISCONNECT_ABORT 0x0002 +#define TDI_DISCONNECT_RELEASE 0x0004 + +/* TdiRequest structure for TdiQueryInformation request */ +typedef struct _TDI_REQUEST_QUERY_INFORMATION { + TDI_REQUEST Request; + ULONG QueryType; + PTDI_CONNECTION_INFORMATION RequestConnectionInformation; +} TDI_REQUEST_QUERY_INFORMATION, *PTDI_REQUEST_QUERY_INFORMATION; + +/* TdiRequest structure for TdiSetInformation request */ +typedef struct _TDI_REQUEST_SET_INFORMATION { + TDI_REQUEST Request; + ULONG SetType; + PTDI_CONNECTION_INFORMATION RequestConnectionInformation; +} TDI_REQUEST_SET_INFORMATION, *PTDI_REQUEST_SET_INFORMATION; + +typedef TDI_REQUEST_SET_INFORMATION TDI_REQ_SET_INFORMATION, *PTDI_REQ_SET_INFORMATION; + +typedef union _TDI_REQUEST_TYPE { + TDI_REQUEST_ACCEPT TdiAccept; + TDI_REQUEST_CONNECT TdiConnect; + TDI_REQUEST_DISCONNECT TdiDisconnect; + TDI_REQUEST_LISTEN TdiListen; + TDI_REQUEST_QUERY_INFORMATION TdiQueryInformation; + TDI_REQUEST_RECEIVE TdiReceive; + TDI_REQUEST_RECEIVE_DATAGRAM TdiReceiveDatagram; + TDI_REQUEST_SEND TdiSend; + TDI_REQUEST_SEND_DATAGRAM TdiSendDatagram; + TDI_REQUEST_SET_EVENT_HANDLER TdiSetEventHandler; + TDI_REQUEST_SET_INFORMATION TdiSetInformation; +} TDI_REQUEST_TYPE, *PTDI_REQUEST_TYPE; + +/* Query information types */ + +/* Generic query info types that must be supported by all transports */ +#define TDI_QUERY_BROADCAST_ADDRESS 0x00000001 +#define TDI_QUERY_PROVIDER_INFO 0x00000002 +#define TDI_QUERY_ADDRESS_INFO 0x00000003 +#define TDI_QUERY_CONNECTION_INFO 0x00000004 +#define TDI_QUERY_PROVIDER_STATISTICS 0x00000005 +#define TDI_QUERY_DATAGRAM_INFO 0x00000006 +#define TDI_QUERY_DATA_LINK_ADDRESS 0x00000007 +#define TDI_QUERY_NETWORK_ADDRESS 0x00000008 +#define TDI_QUERY_MAX_DATAGRAM_INFO 0x00000009 + +/* Netbios specific query information types */ +#define TDI_QUERY_ADAPTER_STATUS 0x00000100 +#define TDI_QUERY_SESSION_STATUS 0x00000200 +#define TDI_QUERY_FIND_NAME 0x00000300 + +/* Structures used for TdiQueryInformation and TdiSetInformation */ + +typedef struct _TDI_ENDPOINT_INFO { + ULONG State; + ULONG Event; + ULONG TransmittedTsdus; + ULONG ReceivedTsdus; + ULONG TransmissionErrors; + ULONG ReceiveErrors; + ULONG MinimumLookaheadData; + ULONG MaximumLookaheadData; + ULONG PriorityLevel; + ULONG SecurityLevel; + ULONG SecurityCompartment; +} TDI_ENDPOINT_INFO, *PTDI_ENDPOINT_INFO; + +typedef struct _TDI_CONNECTION_INFO { + ULONG State; + ULONG Event; + ULONG TransmittedTsdus; + ULONG ReceivedTsdus; + ULONG TransmissionErrors; + ULONG ReceiveErrors; + LARGE_INTEGER Throughput; + LARGE_INTEGER Delay; + ULONG SendBufferSize; + ULONG ReceiveBufferSize; + BOOLEAN Unreliable; +} TDI_CONNECTION_INFO, *PTDI_CONNECTION_INFO; + +typedef struct _TDI_DATAGRAM_INFO { + ULONG MaximumDatagramBytes; + ULONG MaximumDatagramCount; +} TDI_DATAGRAM_INFO, *PTDI_DATAGRAM_INFO; + +typedef struct _TDI_MAX_DATAGRAM_INFO { + ULONG MaxDatagramSize; +} TDI_MAX_DATAGRAM_INFO, *PTDI_MAX_DATAGRAM_INFO; + +typedef struct _TDI_PROVIDER_INFO { + ULONG Version; + ULONG MaxSendSize; + ULONG MaxConnectionUserData; + ULONG MaxDatagramSize; + ULONG ServiceFlags; + ULONG MinimumLookaheadData; + ULONG MaximumLookaheadData; + ULONG NumberOfResources; + LARGE_INTEGER StartTime; +} TDI_PROVIDER_INFO, *PTDI_PROVIDER_INFO; + +#define TDI_SERVICE_CONNECTION_MODE 0x00000001 +#define TDI_SERVICE_ORDERLY_RELEASE 0x00000002 +#define TDI_SERVICE_CONNECTIONLESS_MODE 0x00000004 +#define TDI_SERVICE_ERROR_FREE_DELIVERY 0x00000008 +#define TDI_SERVICE_SECURITY_LEVEL 0x00000010 +#define TDI_SERVICE_BROADCAST_SUPPORTED 0x00000020 +#define TDI_SERVICE_MULTICAST_SUPPORTED 0x00000040 +#define TDI_SERVICE_DELAYED_ACCEPTANCE 0x00000080 +#define TDI_SERVICE_EXPEDITED_DATA 0x00000100 +#define TDI_SERVICE_INTERNAL_BUFFERING 0x00000200 +#define TDI_SERVICE_ROUTE_DIRECTED 0x00000400 +#define TDI_SERVICE_NO_ZERO_LENGTH 0x00000800 +#define TDI_SERVICE_POINT_TO_POINT 0x00001000 +#define TDI_SERVICE_MESSAGE_MODE 0x00002000 +#define TDI_SERVICE_HALF_DUPLEX 0x00004000 +#define TDI_SERVICE_DGRAM_CONNECTION 0x00008000 +#define TDI_SERVICE_FORCE_ACCESS_CHECK 0x00010000 +#define TDI_SERVICE_SEND_AND_DISCONNECT 0x00020000 +#define TDI_SERVICE_DIRECT_ACCEPT 0x00040000 +#define TDI_SERVICE_ACCEPT_LOCAL_ADDR 0x00080000 + +typedef struct _TDI_PROVIDER_RESOURCE_STATS { + ULONG ResourceId; + ULONG MaximumResourceUsed; + ULONG AverageResourceUsed; + ULONG ResourceExhausted; +} TDI_PROVIDER_RESOURCE_STATS, *PTDI_PROVIDER_RESOURCE_STATS; + +typedef struct _TDI_PROVIDER_STATISTICS { + ULONG Version; + ULONG OpenConnections; + ULONG ConnectionsAfterNoRetry; + ULONG ConnectionsAfterRetry; + ULONG LocalDisconnects; + ULONG RemoteDisconnects; + ULONG LinkFailures; + ULONG AdapterFailures; + ULONG SessionTimeouts; + ULONG CancelledConnections; + ULONG RemoteResourceFailures; + ULONG LocalResourceFailures; + ULONG NotFoundFailures; + ULONG NoListenFailures; + ULONG DatagramsSent; + LARGE_INTEGER DatagramBytesSent; + ULONG DatagramsReceived; + LARGE_INTEGER DatagramBytesReceived; + ULONG PacketsSent; + ULONG PacketsReceived; + ULONG DataFramesSent; + LARGE_INTEGER DataFrameBytesSent; + ULONG DataFramesReceived; + LARGE_INTEGER DataFrameBytesReceived; + ULONG DataFramesResent; + LARGE_INTEGER DataFrameBytesResent; + ULONG DataFramesRejected; + LARGE_INTEGER DataFrameBytesRejected; + ULONG ResponseTimerExpirations; + ULONG AckTimerExpirations; + ULONG MaximumSendWindow; + ULONG AverageSendWindow; + ULONG PiggybackAckQueued; + ULONG PiggybackAckTimeouts; + LARGE_INTEGER WastedPacketSpace; + ULONG WastedSpacePackets; + ULONG NumberOfResources; + TDI_PROVIDER_RESOURCE_STATS ResourceStats[1]; +} TDI_PROVIDER_STATISTICS, *PTDI_PROVIDER_STATISTICS; + +#define TDI_EVENT_CONNECT 0 +#define TDI_EVENT_DISCONNECT 1 +#define TDI_EVENT_ERROR 2 +#define TDI_EVENT_RECEIVE 3 +#define TDI_EVENT_RECEIVE_DATAGRAM 4 +#define TDI_EVENT_RECEIVE_EXPEDITED 5 +#define TDI_EVENT_SEND_POSSIBLE 6 + +typedef struct _TDI_REQUEST_ASSOCIATE { + TDI_REQUEST Request; + HANDLE AddressHandle; +} TDI_REQUEST_ASSOCIATE_ADDRESS, *PTDI_REQUEST_ASSOCIATE_ADDRESS; + +#define NDIS_PACKET_POOL_TAG_FOR_NWLNKIPX 'iPDN' +#define NDIS_PACKET_POOL_TAG_FOR_NWLNKSPX 'sPDN' +#define NDIS_PACKET_POOL_TAG_FOR_NWLNKNB 'nPDN' +#define NDIS_PACKET_POOL_TAG_FOR_TCPIP 'tPDN' +#define NDIS_PACKET_POOL_TAG_FOR_NBF 'bPDN' +#define NDIS_PACKET_POOL_TAG_FOR_APPLETALK 'aPDN' + +typedef struct _TA_ADDRESS { + USHORT AddressLength; + USHORT AddressType; + UCHAR Address[1]; +} TA_ADDRESS, *PTA_ADDRESS; + +#define TDI_ADDRESS_TYPE_UNSPEC 0 +#define TDI_ADDRESS_TYPE_UNIX 1 +#define TDI_ADDRESS_TYPE_IP 2 +#define TDI_ADDRESS_TYPE_IMPLINK 3 +#define TDI_ADDRESS_TYPE_PUP 4 +#define TDI_ADDRESS_TYPE_CHAOS 5 +#define TDI_ADDRESS_TYPE_NS 6 +#define TDI_ADDRESS_TYPE_IPX 6 +#define TDI_ADDRESS_TYPE_NBS 7 +#define TDI_ADDRESS_TYPE_ECMA 8 +#define TDI_ADDRESS_TYPE_DATAKIT 9 +#define TDI_ADDRESS_TYPE_CCITT 10 +#define TDI_ADDRESS_TYPE_SNA 11 +#define TDI_ADDRESS_TYPE_DECnet 12 +#define TDI_ADDRESS_TYPE_DLI 13 +#define TDI_ADDRESS_TYPE_LAT 14 +#define TDI_ADDRESS_TYPE_HYLINK 15 +#define TDI_ADDRESS_TYPE_APPLETALK 16 +#define TDI_ADDRESS_TYPE_NETBIOS 17 +#define TDI_ADDRESS_TYPE_8022 18 +#define TDI_ADDRESS_TYPE_OSI_TSAP 19 +#define TDI_ADDRESS_TYPE_NETONE 20 +#define TDI_ADDRESS_TYPE_VNS 21 +#define TDI_ADDRESS_TYPE_NETBIOS_EX 22 +#define TDI_ADDRESS_TYPE_IP6 23 +#define TDI_ADDRESS_TYPE_NETBIOS_UNICODE_EX 24 + +#define TdiTransportAddress "TransportAddress" +#define TdiConnectionContext "ConnectionContext" +#define TDI_TRANSPORT_ADDRESS_LENGTH (sizeof(TdiTransportAddress) - 1) +#define TDI_CONNECTION_CONTEXT_LENGTH (sizeof(TdiConnectionContext) - 1) + +typedef struct _TRANSPORT_ADDRESS { + LONG TAAddressCount; + TA_ADDRESS Address[1]; +} TRANSPORT_ADDRESS, *PTRANSPORT_ADDRESS; + +typedef struct _TDI_ACTION_HEADER { + ULONG TransportId; + USHORT ActionCode; + USHORT Reserved; +} TDI_ACTION_HEADER, *PTDI_ACTION_HEADER; + +typedef struct _TDI_ADDRESS_INFO { + ULONG ActivityCount; + TRANSPORT_ADDRESS Address; +} TDI_ADDRESS_INFO, *PTDI_ADDRESS_INFO; + +#include "pshpack1.h" + +typedef struct _TDI_ADDRESS_8022 { + UCHAR MACAddress[6]; +} TDI_ADDRESS_8022, *PTDI_ADDRESS_8022; + +#define TDI_ADDRESS_LENGTH_8022 sizeof(TDI_ADDRESS_8022); + +typedef struct _TDI_ADDRESS_APPLETALK { + USHORT Network; + UCHAR Node; + UCHAR Socket; +} TDI_ADDRESS_APPLETALK, *PTDI_ADDRESS_APPLETALK; + +#define TDI_ADDRESS_LENGTH_APPLETALK sizeof(TDI_ADDRESS_APPLETALK) + +typedef struct _TDI_ADDRESS_IP { + USHORT sin_port; + ULONG in_addr; + UCHAR sin_zero[8]; +} TDI_ADDRESS_IP, *PTDI_ADDRESS_IP; + +#define TDI_ADDRESS_LENGTH_IP sizeof(TDI_ADDRESS_IP) + +typedef struct _TDI_ADDRESS_IPX { + ULONG NetworkAddress; + UCHAR NodeAddress[6]; + USHORT Socket; +} TDI_ADDRESS_IPX, *PTDI_ADDRESS_IPX; + +#define TDI_ADDRESS_LENGTH_IPX sizeof(TDI_ADDRESS_IPX) + +/* TDI_ADDRESS_NETBIOS.NetbiosNameType constants */ +#define TDI_ADDRESS_NETBIOS_TYPE_UNIQUE 0x0000 +#define TDI_ADDRESS_NETBIOS_TYPE_GROUP 0x0001 +#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_UNIQUE 0x0002 +#define TDI_ADDRESS_NETBIOS_TYPE_QUICK_GROUP 0x0003 + +typedef struct _TDI_ADDRESS_NETBIOS { + USHORT NetbiosNameType; + UCHAR NetbiosName[16]; +} TDI_ADDRESS_NETBIOS, *PTDI_ADDRESS_NETBIOS; + +#define TDI_ADDRESS_LENGTH_NETBIOS sizeof(TDI_ADDRESS_NETBIOS) + +typedef struct _TDI_ADDRESS_NETBIOS_EX { + UCHAR EndpointName[16]; + TDI_ADDRESS_NETBIOS NetbiosAddress; +} TDI_ADDRESS_NETBIOS_EX, *PTDI_ADDRESS_NETBIOS_EX; + +#define TDI_ADDRESS_LENGTH_NETBIOS_EX sizeof(TDI_ADDRESS_NETBIOS_EX) + +/* TDI_ADDRESS_NETONE.NetoneNameType constants */ +#define TDI_ADDRESS_NETONE_TYPE_UNIQUE 0x0000 +#define TDI_ADDRESS_NETONE_TYPE_ROTORED 0x0001 + +typedef struct _TDI_ADDRESS_NETONE { + USHORT NetoneNameType; + UCHAR NetoneName[20]; +} TDI_ADDRESS_NETONE, *PTDI_ADDRESS_NETONE; + +#define TDI_ADDRESS_LENGTH_NETONE sizeof(TDI_ADDRESS_NETONE) + +typedef struct _TDI_ADDRESS_NS +{ + ULONG NetworkAddress; + UCHAR NodeAddress[6]; + USHORT Socket; +} TDI_ADDRESS_NS, *PTDI_ADDRESS_NS; + +#define TDI_ADDRESS_LENGTH_NS sizeof(TDI_ADDRESS_NS) + +#define ISO_MAX_ADDR_LENGTH 64 + +/* TDI_ADDRESS_OSI_TSAP.tp_addr_type constants */ +#define ISO_HIERARCHICAL 0 +#define ISO_NON_HIERARCHICAL 1 + +typedef struct _TDI_ADDRESS_OSI_TSAP { + USHORT tp_addr_type; + USHORT tp_taddr_len; + USHORT tp_tsel_len; + UCHAR tp_addr[ISO_MAX_ADDR_LENGTH]; +} TDI_ADDRESS_OSI_TSAP, *PTDI_ADDRESS_OSI_TSAP; + +#define TDI_ADDRESS_LENGTH_OSI_TSAP sizeof(TDI_ADDRESS_OSI_TSAP) + +typedef struct _TDI_ADDRESS_VNS { + UCHAR net_address[4]; + UCHAR subnet_addr[2]; + UCHAR port[2]; + UCHAR hops; + UCHAR filler[5]; +} TDI_ADDRESS_VNS, *PTDI_ADDRESS_VNS; + +#define TDI_ADDRESS_LENGTH_VNS sizeof(TDI_ADDRESS_VNS) + +typedef struct _TDI_ADDRESS_IP6 { + USHORT sin6_port; + ULONG sin6_flowinfo; + USHORT sin6_addr[8]; + ULONG sin6_scope_id; +} TDI_ADDRESS_IP6, *PTDI_ADDRESS_IP6; + +#define TDI_ADDRESS_LENGTH_IP6 sizeof(TDI_ADDRESS_IP6) + +enum eNameBufferType { + NBT_READONLY = 0, + NBT_WRITEONLY, + NBT_READWRITE, + NBT_WRITTEN +}; + +typedef struct _TDI_ADDRESS_NETBIOS_UNICODE_EX { + USHORT NetbiosNameType; + enum eNameBufferType NameBufferType; + UNICODE_STRING EndpointName; + UNICODE_STRING RemoteName; + WCHAR EndpointBuffer[17]; + WCHAR RemoteNameBuffer[1]; +} TDI_ADDRESS_NETBIOS_UNICODE_EX, *PTDI_ADDRESS_NETBIOS_UNICODE_EX; + +typedef struct _TA_APPLETALK_ADDR { + LONG TAAddressCount; + struct _AddrAtalk { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_APPLETALK Address[1]; + } Address[1]; +} TA_APPLETALK_ADDRESS, *PTA_APPLETALK_ADDRESS; + +typedef struct _TA_ADDRESS_IP { + LONG TAAddressCount; + struct _AddrIp { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_IP Address[1]; + } Address[1]; +} TA_IP_ADDRESS, *PTA_IP_ADDRESS; + +typedef struct _TA_ADDRESS_IPX { + LONG TAAddressCount; + struct _AddrIpx { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_IPX Address[1]; + } Address[1]; +} TA_IPX_ADDRESS, *PTA_IPX_ADDRESS; + +typedef struct _TA_NETBIOS_ADDRESS { + LONG TAAddressCount; + struct _Addr{ + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_NETBIOS Address[1]; + } Address[1]; +} TA_NETBIOS_ADDRESS, *PTA_NETBIOS_ADDRESS; + +typedef struct _TA_ADDRESS_NS { + LONG TAAddressCount; + struct _AddrNs { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_NS Address[1]; + } Address[1]; +} TA_NS_ADDRESS, *PTA_NS_ADDRESS; + +typedef struct _TA_ADDRESS_VNS { + LONG TAAddressCount; + struct _AddrVns { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_VNS Address[1]; + } Address[1]; +} TA_VNS_ADDRESS, *PTA_VNS_ADDRESS; + +typedef struct _TA_ADDRESS_IP6 { + LONG TAAddressCount; + struct _AddrIp6 { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_IP6 Address[1]; + } Address [1]; +} TA_IP6_ADDRESS, *PTA_IP6_ADDRESS; + +typedef struct _TA_ADDRESS_NETBIOS_UNICODE_EX { + LONG TAAddressCount; + struct _AddrNetbiosWCharEx { + USHORT AddressLength; + USHORT AddressType; + TDI_ADDRESS_NETBIOS_UNICODE_EX Address[1]; + } Address [1]; +} TA_NETBIOS_UNICODE_EX_ADDRESS, *PTA_NETBIOS_UNICODE_EX_ADDRESS; + +#include "poppack.h" + +#ifdef __cplusplus +} +#endif + +#endif /* __TDI_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdiinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdiinfo.h new file mode 100644 index 00000000..1249b8fb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tdiinfo.h @@ -0,0 +1,104 @@ +/* + * tdiinfo.h + * + * TDI set and query information interface + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Casper S. Hornstrup + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef __TDIINFO_H +#define __TDIINFO_H + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _TDIEntityID { + ULONG tei_entity; + ULONG tei_instance; +} TDIEntityID; + +#define MAX_TDI_ENTITIES 4096 +#define INVALID_ENTITY_INSTANCE -1 +#define GENERIC_ENTITY 0 +#define ENTITY_LIST_ID 0 +#define ENTITY_TYPE_ID 1 + +#define AT_ENTITY 0x280 +#define CL_NL_ENTITY 0x301 +#define CL_TL_ENTITY 0x401 +#define CO_NL_ENTITY 0x300 +#define CO_TL_ENTITY 0x400 +#define ER_ENTITY 0x380 +#define IF_ENTITY 0x200 + +#define AT_ARP 0x280 +#define AT_NULL 0x282 +#define CL_TL_NBF 0x401 +#define CL_TL_UDP 0x403 +#define CL_NL_IPX 0x301 +#define CL_NL_IP 0x303 +#define CO_TL_NBF 0x400 +#define CO_TL_SPX 0x402 +#define CO_TL_TCP 0x404 +#define CO_TL_SPP 0x406 +#define ER_ICMP 0x380 +#define IF_GENERIC 0x200 +#define IF_MIB 0x202 + +/* TDIObjectID.toi_class constants */ +#define INFO_CLASS_GENERIC 0x100 +#define INFO_CLASS_PROTOCOL 0x200 +#define INFO_CLASS_IMPLEMENTATION 0x300 + +/* TDIObjectID.toi_type constants */ +#define INFO_TYPE_PROVIDER 0x100 +#define INFO_TYPE_ADDRESS_OBJECT 0x200 +#define INFO_TYPE_CONNECTION 0x300 + +typedef struct _TDIObjectID { + TDIEntityID toi_entity; + ULONG toi_class; + ULONG toi_type; + ULONG toi_id; +} TDIObjectID; + +#define CONTEXT_SIZE 16 + +typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX { + TDIObjectID ID; + ULONG_PTR Context[CONTEXT_SIZE / sizeof(ULONG_PTR)]; +} TCP_REQUEST_QUERY_INFORMATION_EX, *PTCP_REQUEST_QUERY_INFORMATION_EX; + +#if defined(_WIN64) +typedef struct _TCP_REQUEST_QUERY_INFORMATION_EX32 { + TDIObjectID ID; + ULONG32 Context[CONTEXT_SIZE / sizeof(ULONG32)]; +} TCP_REQUEST_QUERY_INFORMATION_EX32, *PTCP_REQUEST_QUERY_INFORMATION_EX32; +#endif /* _WIN64 */ + +typedef struct _TCP_REQUEST_SET_INFORMATION_EX { + TDIObjectID ID; + unsigned int BufferSize; + unsigned char Buffer[1]; +} TCP_REQUEST_SET_INFORMATION_EX, *PTCP_REQUEST_SET_INFORMATION_EX; + +#ifdef __cplusplus +} +#endif + +#endif /* __TDIINFO_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/termmgr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/termmgr.h new file mode 100644 index 00000000..13463a72 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/termmgr.h @@ -0,0 +1,499 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __termmgr_h__ +#define __termmgr_h__ + +#ifndef __ITTerminalControl_FWD_DEFINED__ +#define __ITTerminalControl_FWD_DEFINED__ +typedef struct ITTerminalControl ITTerminalControl; +#endif + +#ifndef __ITPluggableTerminalInitialization_FWD_DEFINED__ +#define __ITPluggableTerminalInitialization_FWD_DEFINED__ +typedef struct ITPluggableTerminalInitialization ITPluggableTerminalInitialization; +#endif + +#ifndef __ITTerminalManager_FWD_DEFINED__ +#define __ITTerminalManager_FWD_DEFINED__ +typedef struct ITTerminalManager ITTerminalManager; +#endif + +#ifndef __ITTerminalManager2_FWD_DEFINED__ +#define __ITTerminalManager2_FWD_DEFINED__ +typedef struct ITTerminalManager2 ITTerminalManager2; +#endif + +#ifndef __ITPluggableTerminalClassRegistration_FWD_DEFINED__ +#define __ITPluggableTerminalClassRegistration_FWD_DEFINED__ +typedef struct ITPluggableTerminalClassRegistration ITPluggableTerminalClassRegistration; +#endif + +#ifndef __ITPluggableTerminalSuperclassRegistration_FWD_DEFINED__ +#define __ITPluggableTerminalSuperclassRegistration_FWD_DEFINED__ +typedef struct ITPluggableTerminalSuperclassRegistration ITPluggableTerminalSuperclassRegistration; +#endif + +#ifndef __TerminalManager_FWD_DEFINED__ +#define __TerminalManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TerminalManager TerminalManager; +#else +typedef struct TerminalManager TerminalManager; +#endif +#endif + +#ifndef __PluggableSuperclassRegistration_FWD_DEFINED__ +#define __PluggableSuperclassRegistration_FWD_DEFINED__ +#ifdef __cplusplus +typedef class PluggableSuperclassRegistration PluggableSuperclassRegistration; +#else +typedef struct PluggableSuperclassRegistration PluggableSuperclassRegistration; +#endif +#endif + +#ifndef __PluggableTerminalRegistration_FWD_DEFINED__ +#define __PluggableTerminalRegistration_FWD_DEFINED__ +#ifdef __cplusplus +typedef class PluggableTerminalRegistration PluggableTerminalRegistration; +#else +typedef struct PluggableTerminalRegistration PluggableTerminalRegistration; +#endif +#endif + +#include "Objsafe.h" +#include "tapi3if.h" +#include "tapi3ds.h" +#include "msp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + typedef enum __MIDL___MIDL_itf_termmgr_0000_0001 { + TMGR_TD_CAPTURE = 1,TMGR_TD_RENDER = 2,TMGR_TD_BOTH = 3 + } TMGR_DIRECTION; + +#define CLSID_String_VideoSuperclass (L"{714C6F8C-6244-4685-87B3-B91F3F9EADA7}") +#define CLSID_String_StreamingSuperclass (L"{214F4ACC-AE0B-4464-8405-07029003F8E2}") +#define CLSID_String_FileSuperclass (L"{B4790031-56DB-4d3e-88C8-6FFAAFA08A91}") + + extern RPC_IF_HANDLE __MIDL_itf_termmgr_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_termmgr_0000_v0_0_s_ifspec; + +#ifndef __ITTerminalControl_INTERFACE_DEFINED__ +#define __ITTerminalControl_INTERFACE_DEFINED__ + + EXTERN_C const IID IID_ITTerminalControl; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminalControl : public IUnknown { + public: + virtual HRESULT WINAPI get_AddressHandle(MSP_HANDLE *phtAddress) = 0; + virtual HRESULT WINAPI ConnectTerminal(IGraphBuilder *pGraph,DWORD dwTerminalDirection,DWORD *pdwNumPins,IPin **ppPins) = 0; + virtual HRESULT WINAPI CompleteConnectTerminal(void) = 0; + virtual HRESULT WINAPI DisconnectTerminal(IGraphBuilder *pGraph,DWORD dwReserved) = 0; + virtual HRESULT WINAPI RunRenderFilter(void) = 0; + virtual HRESULT WINAPI StopRenderFilter(void) = 0; + }; +#else + typedef struct ITTerminalControlVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminalControl *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminalControl *This); + ULONG (WINAPI *Release)(ITTerminalControl *This); + HRESULT (WINAPI *get_AddressHandle)(ITTerminalControl *This,MSP_HANDLE *phtAddress); + HRESULT (WINAPI *ConnectTerminal)(ITTerminalControl *This,IGraphBuilder *pGraph,DWORD dwTerminalDirection,DWORD *pdwNumPins,IPin **ppPins); + HRESULT (WINAPI *CompleteConnectTerminal)(ITTerminalControl *This); + HRESULT (WINAPI *DisconnectTerminal)(ITTerminalControl *This,IGraphBuilder *pGraph,DWORD dwReserved); + HRESULT (WINAPI *RunRenderFilter)(ITTerminalControl *This); + HRESULT (WINAPI *StopRenderFilter)(ITTerminalControl *This); + END_INTERFACE + } ITTerminalControlVtbl; + struct ITTerminalControl { + CONST_VTBL struct ITTerminalControlVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminalControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminalControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminalControl_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminalControl_get_AddressHandle(This,phtAddress) (This)->lpVtbl->get_AddressHandle(This,phtAddress) +#define ITTerminalControl_ConnectTerminal(This,pGraph,dwTerminalDirection,pdwNumPins,ppPins) (This)->lpVtbl->ConnectTerminal(This,pGraph,dwTerminalDirection,pdwNumPins,ppPins) +#define ITTerminalControl_CompleteConnectTerminal(This) (This)->lpVtbl->CompleteConnectTerminal(This) +#define ITTerminalControl_DisconnectTerminal(This,pGraph,dwReserved) (This)->lpVtbl->DisconnectTerminal(This,pGraph,dwReserved) +#define ITTerminalControl_RunRenderFilter(This) (This)->lpVtbl->RunRenderFilter(This) +#define ITTerminalControl_StopRenderFilter(This) (This)->lpVtbl->StopRenderFilter(This) +#endif +#endif + HRESULT WINAPI ITTerminalControl_get_AddressHandle_Proxy(ITTerminalControl *This,MSP_HANDLE *phtAddress); + void __RPC_STUB ITTerminalControl_get_AddressHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalControl_ConnectTerminal_Proxy(ITTerminalControl *This,IGraphBuilder *pGraph,DWORD dwTerminalDirection,DWORD *pdwNumPins,IPin **ppPins); + void __RPC_STUB ITTerminalControl_ConnectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalControl_CompleteConnectTerminal_Proxy(ITTerminalControl *This); + void __RPC_STUB ITTerminalControl_CompleteConnectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalControl_DisconnectTerminal_Proxy(ITTerminalControl *This,IGraphBuilder *pGraph,DWORD dwReserved); + void __RPC_STUB ITTerminalControl_DisconnectTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalControl_RunRenderFilter_Proxy(ITTerminalControl *This); + void __RPC_STUB ITTerminalControl_RunRenderFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalControl_StopRenderFilter_Proxy(ITTerminalControl *This); + void __RPC_STUB ITTerminalControl_StopRenderFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalInitialization_INTERFACE_DEFINED__ +#define __ITPluggableTerminalInitialization_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalInitialization; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalInitialization : public IUnknown { + public: + virtual HRESULT WINAPI InitializeDynamic(IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress) = 0; + }; +#else + typedef struct ITPluggableTerminalInitializationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalInitialization *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalInitialization *This); + ULONG (WINAPI *Release)(ITPluggableTerminalInitialization *This); + HRESULT (WINAPI *InitializeDynamic)(ITPluggableTerminalInitialization *This,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress); + END_INTERFACE + } ITPluggableTerminalInitializationVtbl; + struct ITPluggableTerminalInitialization { + CONST_VTBL struct ITPluggableTerminalInitializationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalInitialization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalInitialization_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalInitialization_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalInitialization_InitializeDynamic(This,iidTerminalClass,dwMediaType,Direction,htAddress) (This)->lpVtbl->InitializeDynamic(This,iidTerminalClass,dwMediaType,Direction,htAddress) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalInitialization_InitializeDynamic_Proxy(ITPluggableTerminalInitialization *This,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress); + void __RPC_STUB ITPluggableTerminalInitialization_InitializeDynamic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTerminalManager_INTERFACE_DEFINED__ +#define __ITTerminalManager_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTerminalManager; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminalManager : public IUnknown { + public: + virtual HRESULT WINAPI GetDynamicTerminalClasses(DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses) = 0; + virtual HRESULT WINAPI CreateDynamicTerminal(IUnknown *pOuterUnknown,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress,ITTerminal **ppTerminal) = 0; + }; +#else + typedef struct ITTerminalManagerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminalManager *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminalManager *This); + ULONG (WINAPI *Release)(ITTerminalManager *This); + HRESULT (WINAPI *GetDynamicTerminalClasses)(ITTerminalManager *This,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses); + HRESULT (WINAPI *CreateDynamicTerminal)(ITTerminalManager *This,IUnknown *pOuterUnknown,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress,ITTerminal **ppTerminal); + END_INTERFACE + } ITTerminalManagerVtbl; + struct ITTerminalManager { + CONST_VTBL struct ITTerminalManagerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminalManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminalManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminalManager_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminalManager_GetDynamicTerminalClasses(This,dwMediaTypes,pdwNumClasses,pTerminalClasses) (This)->lpVtbl->GetDynamicTerminalClasses(This,dwMediaTypes,pdwNumClasses,pTerminalClasses) +#define ITTerminalManager_CreateDynamicTerminal(This,pOuterUnknown,iidTerminalClass,dwMediaType,Direction,htAddress,ppTerminal) (This)->lpVtbl->CreateDynamicTerminal(This,pOuterUnknown,iidTerminalClass,dwMediaType,Direction,htAddress,ppTerminal) +#endif +#endif + HRESULT WINAPI ITTerminalManager_GetDynamicTerminalClasses_Proxy(ITTerminalManager *This,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses); + void __RPC_STUB ITTerminalManager_GetDynamicTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalManager_CreateDynamicTerminal_Proxy(ITTerminalManager *This,IUnknown *pOuterUnknown,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress,ITTerminal **ppTerminal); + void __RPC_STUB ITTerminalManager_CreateDynamicTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITTerminalManager2_INTERFACE_DEFINED__ +#define __ITTerminalManager2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITTerminalManager2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITTerminalManager2 : public ITTerminalManager { + public: + virtual HRESULT WINAPI GetPluggableSuperclasses(DWORD *pdwNumSuperclasses,IID *pSuperclasses) = 0; + virtual HRESULT WINAPI GetPluggableTerminalClasses(IID iidSuperclass,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses) = 0; + }; +#else + typedef struct ITTerminalManager2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITTerminalManager2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITTerminalManager2 *This); + ULONG (WINAPI *Release)(ITTerminalManager2 *This); + HRESULT (WINAPI *GetDynamicTerminalClasses)(ITTerminalManager2 *This,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses); + HRESULT (WINAPI *CreateDynamicTerminal)(ITTerminalManager2 *This,IUnknown *pOuterUnknown,IID iidTerminalClass,DWORD dwMediaType,TERMINAL_DIRECTION Direction,MSP_HANDLE htAddress,ITTerminal **ppTerminal); + HRESULT (WINAPI *GetPluggableSuperclasses)(ITTerminalManager2 *This,DWORD *pdwNumSuperclasses,IID *pSuperclasses); + HRESULT (WINAPI *GetPluggableTerminalClasses)(ITTerminalManager2 *This,IID iidSuperclass,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses); + END_INTERFACE + } ITTerminalManager2Vtbl; + struct ITTerminalManager2 { + CONST_VTBL struct ITTerminalManager2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITTerminalManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITTerminalManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITTerminalManager2_Release(This) (This)->lpVtbl->Release(This) +#define ITTerminalManager2_GetDynamicTerminalClasses(This,dwMediaTypes,pdwNumClasses,pTerminalClasses) (This)->lpVtbl->GetDynamicTerminalClasses(This,dwMediaTypes,pdwNumClasses,pTerminalClasses) +#define ITTerminalManager2_CreateDynamicTerminal(This,pOuterUnknown,iidTerminalClass,dwMediaType,Direction,htAddress,ppTerminal) (This)->lpVtbl->CreateDynamicTerminal(This,pOuterUnknown,iidTerminalClass,dwMediaType,Direction,htAddress,ppTerminal) +#define ITTerminalManager2_GetPluggableSuperclasses(This,pdwNumSuperclasses,pSuperclasses) (This)->lpVtbl->GetPluggableSuperclasses(This,pdwNumSuperclasses,pSuperclasses) +#define ITTerminalManager2_GetPluggableTerminalClasses(This,iidSuperclass,dwMediaTypes,pdwNumClasses,pTerminalClasses) (This)->lpVtbl->GetPluggableTerminalClasses(This,iidSuperclass,dwMediaTypes,pdwNumClasses,pTerminalClasses) +#endif +#endif + HRESULT WINAPI ITTerminalManager2_GetPluggableSuperclasses_Proxy(ITTerminalManager2 *This,DWORD *pdwNumSuperclasses,IID *pSuperclasses); + void __RPC_STUB ITTerminalManager2_GetPluggableSuperclasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITTerminalManager2_GetPluggableTerminalClasses_Proxy(ITTerminalManager2 *This,IID iidSuperclass,DWORD dwMediaTypes,DWORD *pdwNumClasses,IID *pTerminalClasses); + void __RPC_STUB ITTerminalManager2_GetPluggableTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalClassRegistration_INTERFACE_DEFINED__ +#define __ITPluggableTerminalClassRegistration_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalClassRegistration; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalClassRegistration : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *pName) = 0; + virtual HRESULT WINAPI put_Name(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_Company(BSTR *pCompany) = 0; + virtual HRESULT WINAPI put_Company(BSTR bstrCompany) = 0; + virtual HRESULT WINAPI get_Version(BSTR *pVersion) = 0; + virtual HRESULT WINAPI put_Version(BSTR bstrVersion) = 0; + virtual HRESULT WINAPI get_TerminalClass(BSTR *pTerminalClass) = 0; + virtual HRESULT WINAPI put_TerminalClass(BSTR bstrTerminalClass) = 0; + virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0; + virtual HRESULT WINAPI put_CLSID(BSTR bstrCLSID) = 0; + virtual HRESULT WINAPI get_Direction(TMGR_DIRECTION *pDirection) = 0; + virtual HRESULT WINAPI put_Direction(TMGR_DIRECTION nDirection) = 0; + virtual HRESULT WINAPI get_MediaTypes(__LONG32 *pMediaTypes) = 0; + virtual HRESULT WINAPI put_MediaTypes(__LONG32 nMediaTypes) = 0; + virtual HRESULT WINAPI Add(BSTR bstrSuperclass) = 0; + virtual HRESULT WINAPI Delete(BSTR bstrSuperclass) = 0; + virtual HRESULT WINAPI GetTerminalClassInfo(BSTR bstrSuperclass) = 0; + }; +#else + typedef struct ITPluggableTerminalClassRegistrationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalClassRegistration *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalClassRegistration *This); + ULONG (WINAPI *Release)(ITPluggableTerminalClassRegistration *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalClassRegistration *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalClassRegistration *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalClassRegistration *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPluggableTerminalClassRegistration *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITPluggableTerminalClassRegistration *This,BSTR *pName); + HRESULT (WINAPI *put_Name)(ITPluggableTerminalClassRegistration *This,BSTR bstrName); + HRESULT (WINAPI *get_Company)(ITPluggableTerminalClassRegistration *This,BSTR *pCompany); + HRESULT (WINAPI *put_Company)(ITPluggableTerminalClassRegistration *This,BSTR bstrCompany); + HRESULT (WINAPI *get_Version)(ITPluggableTerminalClassRegistration *This,BSTR *pVersion); + HRESULT (WINAPI *put_Version)(ITPluggableTerminalClassRegistration *This,BSTR bstrVersion); + HRESULT (WINAPI *get_TerminalClass)(ITPluggableTerminalClassRegistration *This,BSTR *pTerminalClass); + HRESULT (WINAPI *put_TerminalClass)(ITPluggableTerminalClassRegistration *This,BSTR bstrTerminalClass); + HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalClassRegistration *This,BSTR *pCLSID); + HRESULT (WINAPI *put_CLSID)(ITPluggableTerminalClassRegistration *This,BSTR bstrCLSID); + HRESULT (WINAPI *get_Direction)(ITPluggableTerminalClassRegistration *This,TMGR_DIRECTION *pDirection); + HRESULT (WINAPI *put_Direction)(ITPluggableTerminalClassRegistration *This,TMGR_DIRECTION nDirection); + HRESULT (WINAPI *get_MediaTypes)(ITPluggableTerminalClassRegistration *This,__LONG32 *pMediaTypes); + HRESULT (WINAPI *put_MediaTypes)(ITPluggableTerminalClassRegistration *This,__LONG32 nMediaTypes); + HRESULT (WINAPI *Add)(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + HRESULT (WINAPI *Delete)(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + HRESULT (WINAPI *GetTerminalClassInfo)(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + END_INTERFACE + } ITPluggableTerminalClassRegistrationVtbl; + struct ITPluggableTerminalClassRegistration { + CONST_VTBL struct ITPluggableTerminalClassRegistrationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalClassRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalClassRegistration_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalClassRegistration_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalClassRegistration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPluggableTerminalClassRegistration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPluggableTerminalClassRegistration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPluggableTerminalClassRegistration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPluggableTerminalClassRegistration_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName) +#define ITPluggableTerminalClassRegistration_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName) +#define ITPluggableTerminalClassRegistration_get_Company(This,pCompany) (This)->lpVtbl->get_Company(This,pCompany) +#define ITPluggableTerminalClassRegistration_put_Company(This,bstrCompany) (This)->lpVtbl->put_Company(This,bstrCompany) +#define ITPluggableTerminalClassRegistration_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion) +#define ITPluggableTerminalClassRegistration_put_Version(This,bstrVersion) (This)->lpVtbl->put_Version(This,bstrVersion) +#define ITPluggableTerminalClassRegistration_get_TerminalClass(This,pTerminalClass) (This)->lpVtbl->get_TerminalClass(This,pTerminalClass) +#define ITPluggableTerminalClassRegistration_put_TerminalClass(This,bstrTerminalClass) (This)->lpVtbl->put_TerminalClass(This,bstrTerminalClass) +#define ITPluggableTerminalClassRegistration_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID) +#define ITPluggableTerminalClassRegistration_put_CLSID(This,bstrCLSID) (This)->lpVtbl->put_CLSID(This,bstrCLSID) +#define ITPluggableTerminalClassRegistration_get_Direction(This,pDirection) (This)->lpVtbl->get_Direction(This,pDirection) +#define ITPluggableTerminalClassRegistration_put_Direction(This,nDirection) (This)->lpVtbl->put_Direction(This,nDirection) +#define ITPluggableTerminalClassRegistration_get_MediaTypes(This,pMediaTypes) (This)->lpVtbl->get_MediaTypes(This,pMediaTypes) +#define ITPluggableTerminalClassRegistration_put_MediaTypes(This,nMediaTypes) (This)->lpVtbl->put_MediaTypes(This,nMediaTypes) +#define ITPluggableTerminalClassRegistration_Add(This,bstrSuperclass) (This)->lpVtbl->Add(This,bstrSuperclass) +#define ITPluggableTerminalClassRegistration_Delete(This,bstrSuperclass) (This)->lpVtbl->Delete(This,bstrSuperclass) +#define ITPluggableTerminalClassRegistration_GetTerminalClassInfo(This,bstrSuperclass) (This)->lpVtbl->GetTerminalClassInfo(This,bstrSuperclass) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_Name_Proxy(ITPluggableTerminalClassRegistration *This,BSTR *pName); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_Name_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrName); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_Company_Proxy(ITPluggableTerminalClassRegistration *This,BSTR *pCompany); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_Company_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_Company_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrCompany); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_Company_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_Version_Proxy(ITPluggableTerminalClassRegistration *This,BSTR *pVersion); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_Version_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrVersion); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_TerminalClass_Proxy(ITPluggableTerminalClassRegistration *This,BSTR *pTerminalClass); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_TerminalClass_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrTerminalClass); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_CLSID_Proxy(ITPluggableTerminalClassRegistration *This,BSTR *pCLSID); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_CLSID_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrCLSID); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_Direction_Proxy(ITPluggableTerminalClassRegistration *This,TMGR_DIRECTION *pDirection); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_Direction_Proxy(ITPluggableTerminalClassRegistration *This,TMGR_DIRECTION nDirection); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_get_MediaTypes_Proxy(ITPluggableTerminalClassRegistration *This,__LONG32 *pMediaTypes); + void __RPC_STUB ITPluggableTerminalClassRegistration_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_put_MediaTypes_Proxy(ITPluggableTerminalClassRegistration *This,__LONG32 nMediaTypes); + void __RPC_STUB ITPluggableTerminalClassRegistration_put_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_Add_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + void __RPC_STUB ITPluggableTerminalClassRegistration_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_Delete_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + void __RPC_STUB ITPluggableTerminalClassRegistration_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalClassRegistration_GetTerminalClassInfo_Proxy(ITPluggableTerminalClassRegistration *This,BSTR bstrSuperclass); + void __RPC_STUB ITPluggableTerminalClassRegistration_GetTerminalClassInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITPluggableTerminalSuperclassRegistration_INTERFACE_DEFINED__ +#define __ITPluggableTerminalSuperclassRegistration_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITPluggableTerminalSuperclassRegistration; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITPluggableTerminalSuperclassRegistration : public IDispatch { + public: + virtual HRESULT WINAPI get_Name(BSTR *pName) = 0; + virtual HRESULT WINAPI put_Name(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0; + virtual HRESULT WINAPI put_CLSID(BSTR bstrCLSID) = 0; + virtual HRESULT WINAPI Add(void) = 0; + virtual HRESULT WINAPI Delete(void) = 0; + virtual HRESULT WINAPI GetTerminalSuperclassInfo(void) = 0; + virtual HRESULT WINAPI get_TerminalClasses(VARIANT *pTerminals) = 0; + virtual HRESULT WINAPI EnumerateTerminalClasses(IEnumTerminalClass **ppTerminals) = 0; + }; +#else + typedef struct ITPluggableTerminalSuperclassRegistrationVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalSuperclassRegistration *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITPluggableTerminalSuperclassRegistration *This); + ULONG (WINAPI *Release)(ITPluggableTerminalSuperclassRegistration *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalSuperclassRegistration *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalSuperclassRegistration *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalSuperclassRegistration *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITPluggableTerminalSuperclassRegistration *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_Name)(ITPluggableTerminalSuperclassRegistration *This,BSTR *pName); + HRESULT (WINAPI *put_Name)(ITPluggableTerminalSuperclassRegistration *This,BSTR bstrName); + HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalSuperclassRegistration *This,BSTR *pCLSID); + HRESULT (WINAPI *put_CLSID)(ITPluggableTerminalSuperclassRegistration *This,BSTR bstrCLSID); + HRESULT (WINAPI *Add)(ITPluggableTerminalSuperclassRegistration *This); + HRESULT (WINAPI *Delete)(ITPluggableTerminalSuperclassRegistration *This); + HRESULT (WINAPI *GetTerminalSuperclassInfo)(ITPluggableTerminalSuperclassRegistration *This); + HRESULT (WINAPI *get_TerminalClasses)(ITPluggableTerminalSuperclassRegistration *This,VARIANT *pTerminals); + HRESULT (WINAPI *EnumerateTerminalClasses)(ITPluggableTerminalSuperclassRegistration *This,IEnumTerminalClass **ppTerminals); + END_INTERFACE + } ITPluggableTerminalSuperclassRegistrationVtbl; + struct ITPluggableTerminalSuperclassRegistration { + CONST_VTBL struct ITPluggableTerminalSuperclassRegistrationVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITPluggableTerminalSuperclassRegistration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITPluggableTerminalSuperclassRegistration_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITPluggableTerminalSuperclassRegistration_Release(This) (This)->lpVtbl->Release(This) +#define ITPluggableTerminalSuperclassRegistration_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITPluggableTerminalSuperclassRegistration_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITPluggableTerminalSuperclassRegistration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITPluggableTerminalSuperclassRegistration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITPluggableTerminalSuperclassRegistration_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName) +#define ITPluggableTerminalSuperclassRegistration_put_Name(This,bstrName) (This)->lpVtbl->put_Name(This,bstrName) +#define ITPluggableTerminalSuperclassRegistration_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID) +#define ITPluggableTerminalSuperclassRegistration_put_CLSID(This,bstrCLSID) (This)->lpVtbl->put_CLSID(This,bstrCLSID) +#define ITPluggableTerminalSuperclassRegistration_Add(This) (This)->lpVtbl->Add(This) +#define ITPluggableTerminalSuperclassRegistration_Delete(This) (This)->lpVtbl->Delete(This) +#define ITPluggableTerminalSuperclassRegistration_GetTerminalSuperclassInfo(This) (This)->lpVtbl->GetTerminalSuperclassInfo(This) +#define ITPluggableTerminalSuperclassRegistration_get_TerminalClasses(This,pTerminals) (This)->lpVtbl->get_TerminalClasses(This,pTerminals) +#define ITPluggableTerminalSuperclassRegistration_EnumerateTerminalClasses(This,ppTerminals) (This)->lpVtbl->EnumerateTerminalClasses(This,ppTerminals) +#endif +#endif + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_get_Name_Proxy(ITPluggableTerminalSuperclassRegistration *This,BSTR *pName); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_put_Name_Proxy(ITPluggableTerminalSuperclassRegistration *This,BSTR bstrName); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_put_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_get_CLSID_Proxy(ITPluggableTerminalSuperclassRegistration *This,BSTR *pCLSID); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_put_CLSID_Proxy(ITPluggableTerminalSuperclassRegistration *This,BSTR bstrCLSID); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_put_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_Add_Proxy(ITPluggableTerminalSuperclassRegistration *This); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_Delete_Proxy(ITPluggableTerminalSuperclassRegistration *This); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_GetTerminalSuperclassInfo_Proxy(ITPluggableTerminalSuperclassRegistration *This); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_GetTerminalSuperclassInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_get_TerminalClasses_Proxy(ITPluggableTerminalSuperclassRegistration *This,VARIANT *pTerminals); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_get_TerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITPluggableTerminalSuperclassRegistration_EnumerateTerminalClasses_Proxy(ITPluggableTerminalSuperclassRegistration *This,IEnumTerminalClass **ppTerminals); + void __RPC_STUB ITPluggableTerminalSuperclassRegistration_EnumerateTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __TERMMGRLib_LIBRARY_DEFINED__ +#define __TERMMGRLib_LIBRARY_DEFINED__ + EXTERN_C const IID LIBID_TERMMGRLib; + EXTERN_C const CLSID CLSID_TerminalManager; +#ifdef __cplusplus + class TerminalManager; +#endif + EXTERN_C const CLSID CLSID_PluggableSuperclassRegistration; +#ifdef __cplusplus + class PluggableSuperclassRegistration; +#endif + EXTERN_C const CLSID CLSID_PluggableTerminalRegistration; +#ifdef __cplusplus + class PluggableTerminalRegistration; +#endif +#endif + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textserv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textserv.h new file mode 100644 index 00000000..fbde94d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textserv.h @@ -0,0 +1,131 @@ +/** + * 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 _TEXTSERV_H +#define _TEXTSERV_H + +EXTERN_C const IID IID_ITextServices; +EXTERN_C const IID IID_ITextHost; + +#define S_MSG_KEY_IGNORED MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_ITF,0x201) + +enum TXTBACKSTYLE { + TXTBACK_TRANSPARENT = 0,TXTBACK_OPAQUE +}; + +enum TXTHITRESULT { + TXTHITRESULT_NOHIT = 0,TXTHITRESULT_TRANSPARENT = 1,TXTHITRESULT_CLOSE = 2,TXTHITRESULT_HIT = 3 +}; + +enum TXTNATURALSIZE { + TXTNS_FITTOCONTENT = 1,TXTNS_ROUNDTOLINE = 2 +}; + +enum TXTVIEW { + TXTVIEW_ACTIVE = 0,TXTVIEW_INACTIVE = -1 +}; + +enum CHANGETYPE { + CN_GENERIC = 0,CN_TEXTCHANGED = 1,CN_NEWUNDO = 2,CN_NEWREDO = 4 +}; + +struct CHANGENOTIFY { + DWORD dwChangeType; + void *pvCookieData; +}; + +#define TXTBIT_RICHTEXT 1 +#define TXTBIT_MULTILINE 2 +#define TXTBIT_READONLY 4 +#define TXTBIT_SHOWACCELERATOR 8 +#define TXTBIT_USEPASSWORD 0x10 +#define TXTBIT_HIDESELECTION 0x20 +#define TXTBIT_SAVESELECTION 0x40 +#define TXTBIT_AUTOWORDSEL 0x80 +#define TXTBIT_VERTICAL 0x100 +#define TXTBIT_SELBARCHANGE 0x200 + +#define TXTBIT_WORDWRAP 0x400 + +#define TXTBIT_ALLOWBEEP 0x800 +#define TXTBIT_DISABLEDRAG 0x1000 +#define TXTBIT_VIEWINSETCHANGE 0x2000 +#define TXTBIT_BACKSTYLECHANGE 0x4000 +#define TXTBIT_MAXLENGTHCHANGE 0x8000 +#define TXTBIT_SCROLLBARCHANGE 0x10000 +#define TXTBIT_CHARFORMATCHANGE 0x20000 +#define TXTBIT_PARAFORMATCHANGE 0x40000 +#define TXTBIT_EXTENTCHANGE 0x80000 +#define TXTBIT_CLIENTRECTCHANGE 0x100000 +#define TXTBIT_USECURRENTBKG 0x200000 + +class ITextServices : public IUnknown { +public: + virtual HRESULT TxSendMessage(UINT msg,WPARAM wparam,LPARAM lparam,LRESULT *plresult) = 0; + virtual HRESULT TxDraw(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECTL lprcBounds,LPCRECTL lprcWBounds,LPRECT lprcUpdate,WINBOOL (CALLBACK *pfnContinue) (DWORD),DWORD dwContinue,LONG lViewId) = 0; + virtual HRESULT TxGetHScroll(LONG *plMin,LONG *plMax,LONG *plPos,LONG *plPage,WINBOOL *pfEnabled) = 0; + virtual HRESULT TxGetVScroll(LONG *plMin,LONG *plMax,LONG *plPos,LONG *plPage,WINBOOL *pfEnabled) = 0; + virtual HRESULT OnTxSetCursor(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECT lprcClient,INT x,INT y) = 0; + virtual HRESULT TxQueryHitPoint(DWORD dwDrawAspect,LONG lindex,void *pvAspect,DVTARGETDEVICE *ptd,HDC hdcDraw,HDC hicTargetDev,LPCRECT lprcClient,INT x,INT y,DWORD *pHitResult) = 0; + virtual HRESULT OnTxInPlaceActivate(LPCRECT prcClient) = 0; + virtual HRESULT OnTxInPlaceDeactivate() = 0; + virtual HRESULT OnTxUIActivate() = 0; + virtual HRESULT OnTxUIDeactivate() = 0; + virtual HRESULT TxGetText(BSTR *pbstrText) = 0; + virtual HRESULT TxSetText(LPCWSTR pszText) = 0; + virtual HRESULT TxGetCurTargetX(LONG *) = 0; + virtual HRESULT TxGetBaseLinePos(LONG *) = 0; + virtual HRESULT TxGetNaturalSize(DWORD dwAspect,HDC hdcDraw,HDC hicTargetDev,DVTARGETDEVICE *ptd,DWORD dwMode,const SIZEL *psizelExtent,LONG *pwidth,LONG *pheight) = 0; + virtual HRESULT TxGetDropTarget(IDropTarget **ppDropTarget) = 0; + virtual HRESULT OnTxPropertyBitsChange(DWORD dwMask,DWORD dwBits) = 0; + virtual HRESULT TxGetCachedSize(DWORD *pdwWidth,DWORD *pdwHeight)=0; +}; + +class ITextHost : public IUnknown { +public: + virtual HDC TxGetDC() = 0; + virtual INT TxReleaseDC(HDC hdc) = 0; + virtual WINBOOL TxShowScrollBar(INT fnBar,WINBOOL fShow) = 0; + virtual WINBOOL TxEnableScrollBar (INT fuSBFlags,INT fuArrowflags) = 0; + virtual WINBOOL TxSetScrollRange(INT fnBar,LONG nMinPos,INT nMaxPos,WINBOOL fRedraw) = 0; + virtual WINBOOL TxSetScrollPos (INT fnBar,INT nPos,WINBOOL fRedraw) = 0; + virtual void TxInvalidateRect(LPCRECT prc,WINBOOL fMode) = 0; + virtual void TxViewChange(WINBOOL fUpdate) = 0; + virtual WINBOOL TxCreateCaret(HBITMAP hbmp,INT xWidth,INT yHeight) = 0; + virtual WINBOOL TxShowCaret(WINBOOL fShow) = 0; + virtual WINBOOL TxSetCaretPos(INT x,INT y) = 0; + virtual WINBOOL TxSetTimer(UINT idTimer,UINT uTimeout) = 0; + virtual void TxKillTimer(UINT idTimer) = 0; + virtual void TxScrollWindowEx (INT dx,INT dy,LPCRECT lprcScroll,LPCRECT lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate,UINT fuScroll) = 0; + virtual void TxSetCapture(WINBOOL fCapture) = 0; + virtual void TxSetFocus() = 0; + virtual void TxSetCursor(HCURSOR hcur,WINBOOL fText) = 0; + virtual WINBOOL TxScreenToClient (LPPOINT lppt) = 0; + virtual WINBOOL TxClientToScreen (LPPOINT lppt) = 0; + virtual HRESULT TxActivate(LONG *plOldState) = 0; + virtual HRESULT TxDeactivate(LONG lNewState) = 0; + virtual HRESULT TxGetClientRect(LPRECT prc) = 0; + virtual HRESULT TxGetViewInset(LPRECT prc) = 0; + virtual HRESULT TxGetCharFormat(const CHARFORMATW **ppCF) = 0; + virtual HRESULT TxGetParaFormat(const PARAFORMAT **ppPF) = 0; + virtual COLORREF TxGetSysColor(int nIndex) = 0; + virtual HRESULT TxGetBackStyle(TXTBACKSTYLE *pstyle) = 0; + virtual HRESULT TxGetMaxLength(DWORD *plength) = 0; + virtual HRESULT TxGetScrollBars(DWORD *pdwScrollBar) = 0; + virtual HRESULT TxGetPasswordChar(TCHAR *pch) = 0; + virtual HRESULT TxGetAcceleratorPos(LONG *pcp) = 0; + virtual HRESULT TxGetExtent(LPSIZEL lpExtent) = 0; + virtual HRESULT OnTxCharFormatChange (const CHARFORMATW *pcf) = 0; + virtual HRESULT OnTxParaFormatChange (const PARAFORMAT *ppf) = 0; + virtual HRESULT TxGetPropertyBits(DWORD dwMask,DWORD *pdwBits) = 0; + virtual HRESULT TxNotify(DWORD iNotify,void *pv) = 0; + virtual HIMC TxImmGetContext() = 0; + virtual void TxImmReleaseContext(HIMC himc) = 0; + virtual HRESULT TxGetSelectionBarWidth (LONG *lSelBarWidth) = 0; +}; + +STDAPI CreateTextServices(IUnknown *punkOuter,ITextHost *pITextHost,IUnknown **ppUnk); +typedef HRESULT (WINAPI *PCreateTextServices)(IUnknown *punkOuter,ITextHost *pITextHost,IUnknown **ppUnk); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textstor.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textstor.h new file mode 100644 index 00000000..fff21396 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/textstor.h @@ -0,0 +1,857 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/textstor.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 __textstor_h__ +#define __textstor_h__ + +/* Forward declarations */ + +#ifndef __ITextStoreACPSink_FWD_DEFINED__ +#define __ITextStoreACPSink_FWD_DEFINED__ +typedef interface ITextStoreACPSink ITextStoreACPSink; +#ifdef __cplusplus +interface ITextStoreACPSink; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextStoreACP_FWD_DEFINED__ +#define __ITextStoreACP_FWD_DEFINED__ +typedef interface ITextStoreACP ITextStoreACP; +#ifdef __cplusplus +interface ITextStoreACP; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define TS_E_INVALIDPOS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0200) +#define TS_E_NOLOCK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0201) +#define TS_E_NOOBJECT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0202) +#define TS_E_NOSERVICE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0203) +#define TS_E_NOINTERFACE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0204) +#define TS_E_NOSELECTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0205) +#define TS_E_NOLAYOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0206) +#define TS_E_INVALIDPOINT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0207) +#define TS_E_SYNCHRONOUS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0208) +#define TS_E_READONLY MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x0209) +#define TS_E_FORMAT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x020a) +#define TS_S_ASYNC MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 0x0300) +#define TS_DEFAULT_SELECTION (~0u) + +#define TS_SD_READONLY (0x1) + +#define TS_SD_LOADING (0x2) + +#define TS_SD_RESERVED (0x4) + +#define TS_SD_TKBAUTOCORRECTENABLE (0x8) + +#define TS_SD_TKBPREDICTIONENABLE (0x10) + +#define TS_SD_UIINTEGRATIONENABLE (0x20) + +#define TS_SD_INPUTPANEMANUALDISPLAYENABLE (0x40) + +#define TS_SD_EMBEDDEDHANDWRITINGVIEW_ENABLED (0x80) + +#define TS_SD_EMBEDDEDHANDWRITINGVIEW_VISIBLE (0x100) + +#define TS_SD_MASKALL (TS_SD_READONLY | TS_SD_LOADING) + +#define TS_SS_DISJOINTSEL (0x1) + +#define TS_SS_REGIONS (0x2) + +#define TS_SS_TRANSITORY (0x4) + +#define TS_SS_NOHIDDENTEXT (0x8) + +#define TS_SS_TKBAUTOCORRECTENABLE (0x10) + +#define TS_SS_TKBPREDICTIONENABLE (0x20) + +#define TS_SS_UWPCONTROL (0x40) + +#define TS_AS_TEXT_CHANGE (0x1) + +#define TS_AS_SEL_CHANGE (0x2) + +#define TS_AS_LAYOUT_CHANGE (0x4) + +#define TS_AS_ATTR_CHANGE (0x8) + +#define TS_AS_STATUS_CHANGE (0x10) + +#define TS_AS_ALL_SINKS ((((TS_AS_TEXT_CHANGE | TS_AS_SEL_CHANGE) | TS_AS_LAYOUT_CHANGE) | TS_AS_ATTR_CHANGE) | TS_AS_STATUS_CHANGE) + +#define TS_LF_SYNC (0x1) + +#define TS_LF_READ (0x2) + +#define TS_LF_READWRITE (0x6) + +#define TS_CHAR_EMBEDDED (0xfffc) + +#define TS_CHAR_REGION (0x0) + +#define TS_CHAR_REPLACEMENT (0xfffd) + +#define TS_IAS_NOQUERY (0x1) + +#define TS_IAS_QUERYONLY (0x2) + +#define TS_ST_CORRECTION (0x1) + +#define GXFPF_ROUND_NEAREST (0x1) + +#define GXFPF_NEAREST (0x2) + +typedef enum __WIDL_textstor_generated_name_0000000F { + TS_AE_NONE = 0, + TS_AE_START = 1, + TS_AE_END = 2 +} TsActiveSelEnd; +typedef enum __WIDL_textstor_generated_name_00000010 { + TS_RT_PLAIN = 0, + TS_RT_HIDDEN = 1, + TS_RT_OPAQUE = 2 +} TsRunType; +typedef GUID TS_ATTRID; +typedef struct TS_STATUS { + DWORD dwDynamicFlags; + DWORD dwStaticFlags; +} TS_STATUS; +typedef struct TS_TEXTCHANGE { + LONG acpStart; + LONG acpOldEnd; + LONG acpNewEnd; +} TS_TEXTCHANGE; +typedef struct TS_SELECTIONSTYLE { + TsActiveSelEnd ase; + WINBOOL fInterimChar; +} TS_SELECTIONSTYLE; +typedef struct TS_SELECTION_ACP { + LONG acpStart; + LONG acpEnd; + TS_SELECTIONSTYLE style; +} TS_SELECTION_ACP; +typedef struct TS_RUNINFO { + ULONG uCount; + TsRunType type; +} TS_RUNINFO; +typedef struct TS_ATTRVAL { + TS_ATTRID idAttr; + DWORD dwOverlapId; + VARIANT varValue; +} TS_ATTRVAL; +#define TS_ATTR_FIND_BACKWARDS (0x1) + +#define TS_ATTR_FIND_WANT_OFFSET (0x2) + +#define TS_ATTR_FIND_UPDATESTART (0x4) + +#define TS_ATTR_FIND_WANT_VALUE (0x8) + +#define TS_ATTR_FIND_WANT_END (0x10) + +#define TS_ATTR_FIND_HIDDEN (0x20) + +typedef enum __WIDL_textstor_generated_name_00000011 { + TS_LC_CREATE = 0, + TS_LC_CHANGE = 1, + TS_LC_DESTROY = 2 +} TsLayoutCode; +typedef DWORD TsViewCookie; +/***************************************************************************** + * ITextStoreACPSink interface + */ +#ifndef __ITextStoreACPSink_INTERFACE_DEFINED__ +#define __ITextStoreACPSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextStoreACPSink, 0x22d44c94, 0xa419, 0x4542, 0xa2,0x72, 0xae,0x26,0x09,0x3e,0xce,0xcf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("22d44c94-a419-4542-a272-ae26093ececf") +ITextStoreACPSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnTextChange( + DWORD dwFlags, + const TS_TEXTCHANGE *pChange) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnSelectionChange( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLayoutChange( + TsLayoutCode lcode, + TsViewCookie vcView) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStatusChange( + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnAttrsChange( + LONG acpStart, + LONG acpEnd, + ULONG cAttrs, + const TS_ATTRID *paAttrs) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLockGranted( + DWORD dwLockFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStartEditTransaction( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnEndEditTransaction( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextStoreACPSink, 0x22d44c94, 0xa419, 0x4542, 0xa2,0x72, 0xae,0x26,0x09,0x3e,0xce,0xcf) +#endif +#else +typedef struct ITextStoreACPSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextStoreACPSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextStoreACPSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextStoreACPSink *This); + + /*** ITextStoreACPSink methods ***/ + HRESULT (STDMETHODCALLTYPE *OnTextChange)( + ITextStoreACPSink *This, + DWORD dwFlags, + const TS_TEXTCHANGE *pChange); + + HRESULT (STDMETHODCALLTYPE *OnSelectionChange)( + ITextStoreACPSink *This); + + HRESULT (STDMETHODCALLTYPE *OnLayoutChange)( + ITextStoreACPSink *This, + TsLayoutCode lcode, + TsViewCookie vcView); + + HRESULT (STDMETHODCALLTYPE *OnStatusChange)( + ITextStoreACPSink *This, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *OnAttrsChange)( + ITextStoreACPSink *This, + LONG acpStart, + LONG acpEnd, + ULONG cAttrs, + const TS_ATTRID *paAttrs); + + HRESULT (STDMETHODCALLTYPE *OnLockGranted)( + ITextStoreACPSink *This, + DWORD dwLockFlags); + + HRESULT (STDMETHODCALLTYPE *OnStartEditTransaction)( + ITextStoreACPSink *This); + + HRESULT (STDMETHODCALLTYPE *OnEndEditTransaction)( + ITextStoreACPSink *This); + + END_INTERFACE +} ITextStoreACPSinkVtbl; + +interface ITextStoreACPSink { + CONST_VTBL ITextStoreACPSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextStoreACPSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextStoreACPSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextStoreACPSink_Release(This) (This)->lpVtbl->Release(This) +/*** ITextStoreACPSink methods ***/ +#define ITextStoreACPSink_OnTextChange(This,dwFlags,pChange) (This)->lpVtbl->OnTextChange(This,dwFlags,pChange) +#define ITextStoreACPSink_OnSelectionChange(This) (This)->lpVtbl->OnSelectionChange(This) +#define ITextStoreACPSink_OnLayoutChange(This,lcode,vcView) (This)->lpVtbl->OnLayoutChange(This,lcode,vcView) +#define ITextStoreACPSink_OnStatusChange(This,dwFlags) (This)->lpVtbl->OnStatusChange(This,dwFlags) +#define ITextStoreACPSink_OnAttrsChange(This,acpStart,acpEnd,cAttrs,paAttrs) (This)->lpVtbl->OnAttrsChange(This,acpStart,acpEnd,cAttrs,paAttrs) +#define ITextStoreACPSink_OnLockGranted(This,dwLockFlags) (This)->lpVtbl->OnLockGranted(This,dwLockFlags) +#define ITextStoreACPSink_OnStartEditTransaction(This) (This)->lpVtbl->OnStartEditTransaction(This) +#define ITextStoreACPSink_OnEndEditTransaction(This) (This)->lpVtbl->OnEndEditTransaction(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextStoreACPSink_QueryInterface(ITextStoreACPSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextStoreACPSink_AddRef(ITextStoreACPSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextStoreACPSink_Release(ITextStoreACPSink* This) { + return This->lpVtbl->Release(This); +} +/*** ITextStoreACPSink methods ***/ +static inline HRESULT ITextStoreACPSink_OnTextChange(ITextStoreACPSink* This,DWORD dwFlags,const TS_TEXTCHANGE *pChange) { + return This->lpVtbl->OnTextChange(This,dwFlags,pChange); +} +static inline HRESULT ITextStoreACPSink_OnSelectionChange(ITextStoreACPSink* This) { + return This->lpVtbl->OnSelectionChange(This); +} +static inline HRESULT ITextStoreACPSink_OnLayoutChange(ITextStoreACPSink* This,TsLayoutCode lcode,TsViewCookie vcView) { + return This->lpVtbl->OnLayoutChange(This,lcode,vcView); +} +static inline HRESULT ITextStoreACPSink_OnStatusChange(ITextStoreACPSink* This,DWORD dwFlags) { + return This->lpVtbl->OnStatusChange(This,dwFlags); +} +static inline HRESULT ITextStoreACPSink_OnAttrsChange(ITextStoreACPSink* This,LONG acpStart,LONG acpEnd,ULONG cAttrs,const TS_ATTRID *paAttrs) { + return This->lpVtbl->OnAttrsChange(This,acpStart,acpEnd,cAttrs,paAttrs); +} +static inline HRESULT ITextStoreACPSink_OnLockGranted(ITextStoreACPSink* This,DWORD dwLockFlags) { + return This->lpVtbl->OnLockGranted(This,dwLockFlags); +} +static inline HRESULT ITextStoreACPSink_OnStartEditTransaction(ITextStoreACPSink* This) { + return This->lpVtbl->OnStartEditTransaction(This); +} +static inline HRESULT ITextStoreACPSink_OnEndEditTransaction(ITextStoreACPSink* This) { + return This->lpVtbl->OnEndEditTransaction(This); +} +#endif +#endif + +#endif + + +#endif /* __ITextStoreACPSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextStoreACP interface + */ +#ifndef __ITextStoreACP_INTERFACE_DEFINED__ +#define __ITextStoreACP_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextStoreACP, 0x28888fe3, 0xc2a0, 0x483a, 0xa3,0xea, 0x8c,0xb1,0xce,0x51,0xff,0x3d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("28888fe3-c2a0-483a-a3ea-8cb1ce51ff3d") +ITextStoreACP : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AdviseSink( + REFIID riid, + IUnknown *punk, + DWORD dwMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnadviseSink( + IUnknown *punk) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestLock( + DWORD dwLockFlags, + HRESULT *phrSession) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + TS_STATUS *pdcs) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryInsert( + LONG acpTestStart, + LONG acpTestEnd, + ULONG cch, + LONG *pacpResultStart, + LONG *pacpResultEnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSelection( + ULONG ulIndex, + ULONG ulCount, + TS_SELECTION_ACP *pSelection, + ULONG *pcFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSelection( + ULONG ulCount, + const TS_SELECTION_ACP *pSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetText( + LONG acpStart, + LONG acpEnd, + WCHAR *pchPlain, + ULONG cchPlainReq, + ULONG *pcchPlainRet, + TS_RUNINFO *prgRunInfo, + ULONG cRunInfoReq, + ULONG *pcRunInfoRet, + LONG *pacpNext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetText( + DWORD dwFlags, + LONG acpStart, + LONG acpEnd, + const WCHAR *pchText, + ULONG cch, + TS_TEXTCHANGE *pChange) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFormattedText( + LONG acpStart, + LONG acpEnd, + IDataObject **ppDataObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEmbedded( + LONG acpPos, + REFGUID rguidService, + REFIID riid, + IUnknown **ppunk) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryInsertEmbedded( + const GUID *pguidService, + const FORMATETC *pFormatEtc, + WINBOOL *pfInsertable) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertEmbedded( + DWORD dwFlags, + LONG acpStart, + LONG acpEnd, + IDataObject *pDataObject, + TS_TEXTCHANGE *pChange) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertTextAtSelection( + DWORD dwFlags, + const WCHAR *pchText, + ULONG cch, + LONG *pacpStart, + LONG *pacpEnd, + TS_TEXTCHANGE *pChange) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertEmbeddedAtSelection( + DWORD dwFlags, + IDataObject *pDataObject, + LONG *pacpStart, + LONG *pacpEnd, + TS_TEXTCHANGE *pChange) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestSupportedAttrs( + DWORD dwFlags, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestAttrsAtPosition( + LONG acpPos, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestAttrsTransitioningAtPosition( + LONG acpPos, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindNextAttrTransition( + LONG acpStart, + LONG acpHalt, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags, + LONG *pacpNext, + WINBOOL *pfFound, + LONG *plFoundOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveRequestedAttrs( + ULONG ulCount, + TS_ATTRVAL *paAttrVals, + ULONG *pcFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndACP( + LONG *pacp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetActiveView( + TsViewCookie *pvcView) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetACPFromPoint( + TsViewCookie vcView, + const POINT *ptScreen, + DWORD dwFlags, + LONG *pacp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTextExt( + TsViewCookie vcView, + LONG acpStart, + LONG acpEnd, + RECT *prc, + WINBOOL *pfClipped) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScreenExt( + TsViewCookie vcView, + RECT *prc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWnd( + TsViewCookie vcView, + HWND *phwnd) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextStoreACP, 0x28888fe3, 0xc2a0, 0x483a, 0xa3,0xea, 0x8c,0xb1,0xce,0x51,0xff,0x3d) +#endif +#else +typedef struct ITextStoreACPVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextStoreACP *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextStoreACP *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextStoreACP *This); + + /*** ITextStoreACP methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseSink)( + ITextStoreACP *This, + REFIID riid, + IUnknown *punk, + DWORD dwMask); + + HRESULT (STDMETHODCALLTYPE *UnadviseSink)( + ITextStoreACP *This, + IUnknown *punk); + + HRESULT (STDMETHODCALLTYPE *RequestLock)( + ITextStoreACP *This, + DWORD dwLockFlags, + HRESULT *phrSession); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + ITextStoreACP *This, + TS_STATUS *pdcs); + + HRESULT (STDMETHODCALLTYPE *QueryInsert)( + ITextStoreACP *This, + LONG acpTestStart, + LONG acpTestEnd, + ULONG cch, + LONG *pacpResultStart, + LONG *pacpResultEnd); + + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ITextStoreACP *This, + ULONG ulIndex, + ULONG ulCount, + TS_SELECTION_ACP *pSelection, + ULONG *pcFetched); + + HRESULT (STDMETHODCALLTYPE *SetSelection)( + ITextStoreACP *This, + ULONG ulCount, + const TS_SELECTION_ACP *pSelection); + + HRESULT (STDMETHODCALLTYPE *GetText)( + ITextStoreACP *This, + LONG acpStart, + LONG acpEnd, + WCHAR *pchPlain, + ULONG cchPlainReq, + ULONG *pcchPlainRet, + TS_RUNINFO *prgRunInfo, + ULONG cRunInfoReq, + ULONG *pcRunInfoRet, + LONG *pacpNext); + + HRESULT (STDMETHODCALLTYPE *SetText)( + ITextStoreACP *This, + DWORD dwFlags, + LONG acpStart, + LONG acpEnd, + const WCHAR *pchText, + ULONG cch, + TS_TEXTCHANGE *pChange); + + HRESULT (STDMETHODCALLTYPE *GetFormattedText)( + ITextStoreACP *This, + LONG acpStart, + LONG acpEnd, + IDataObject **ppDataObject); + + HRESULT (STDMETHODCALLTYPE *GetEmbedded)( + ITextStoreACP *This, + LONG acpPos, + REFGUID rguidService, + REFIID riid, + IUnknown **ppunk); + + HRESULT (STDMETHODCALLTYPE *QueryInsertEmbedded)( + ITextStoreACP *This, + const GUID *pguidService, + const FORMATETC *pFormatEtc, + WINBOOL *pfInsertable); + + HRESULT (STDMETHODCALLTYPE *InsertEmbedded)( + ITextStoreACP *This, + DWORD dwFlags, + LONG acpStart, + LONG acpEnd, + IDataObject *pDataObject, + TS_TEXTCHANGE *pChange); + + HRESULT (STDMETHODCALLTYPE *InsertTextAtSelection)( + ITextStoreACP *This, + DWORD dwFlags, + const WCHAR *pchText, + ULONG cch, + LONG *pacpStart, + LONG *pacpEnd, + TS_TEXTCHANGE *pChange); + + HRESULT (STDMETHODCALLTYPE *InsertEmbeddedAtSelection)( + ITextStoreACP *This, + DWORD dwFlags, + IDataObject *pDataObject, + LONG *pacpStart, + LONG *pacpEnd, + TS_TEXTCHANGE *pChange); + + HRESULT (STDMETHODCALLTYPE *RequestSupportedAttrs)( + ITextStoreACP *This, + DWORD dwFlags, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs); + + HRESULT (STDMETHODCALLTYPE *RequestAttrsAtPosition)( + ITextStoreACP *This, + LONG acpPos, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *RequestAttrsTransitioningAtPosition)( + ITextStoreACP *This, + LONG acpPos, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *FindNextAttrTransition)( + ITextStoreACP *This, + LONG acpStart, + LONG acpHalt, + ULONG cFilterAttrs, + const TS_ATTRID *paFilterAttrs, + DWORD dwFlags, + LONG *pacpNext, + WINBOOL *pfFound, + LONG *plFoundOffset); + + HRESULT (STDMETHODCALLTYPE *RetrieveRequestedAttrs)( + ITextStoreACP *This, + ULONG ulCount, + TS_ATTRVAL *paAttrVals, + ULONG *pcFetched); + + HRESULT (STDMETHODCALLTYPE *GetEndACP)( + ITextStoreACP *This, + LONG *pacp); + + HRESULT (STDMETHODCALLTYPE *GetActiveView)( + ITextStoreACP *This, + TsViewCookie *pvcView); + + HRESULT (STDMETHODCALLTYPE *GetACPFromPoint)( + ITextStoreACP *This, + TsViewCookie vcView, + const POINT *ptScreen, + DWORD dwFlags, + LONG *pacp); + + HRESULT (STDMETHODCALLTYPE *GetTextExt)( + ITextStoreACP *This, + TsViewCookie vcView, + LONG acpStart, + LONG acpEnd, + RECT *prc, + WINBOOL *pfClipped); + + HRESULT (STDMETHODCALLTYPE *GetScreenExt)( + ITextStoreACP *This, + TsViewCookie vcView, + RECT *prc); + + HRESULT (STDMETHODCALLTYPE *GetWnd)( + ITextStoreACP *This, + TsViewCookie vcView, + HWND *phwnd); + + END_INTERFACE +} ITextStoreACPVtbl; + +interface ITextStoreACP { + CONST_VTBL ITextStoreACPVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextStoreACP_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextStoreACP_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextStoreACP_Release(This) (This)->lpVtbl->Release(This) +/*** ITextStoreACP methods ***/ +#define ITextStoreACP_AdviseSink(This,riid,punk,dwMask) (This)->lpVtbl->AdviseSink(This,riid,punk,dwMask) +#define ITextStoreACP_UnadviseSink(This,punk) (This)->lpVtbl->UnadviseSink(This,punk) +#define ITextStoreACP_RequestLock(This,dwLockFlags,phrSession) (This)->lpVtbl->RequestLock(This,dwLockFlags,phrSession) +#define ITextStoreACP_GetStatus(This,pdcs) (This)->lpVtbl->GetStatus(This,pdcs) +#define ITextStoreACP_QueryInsert(This,acpTestStart,acpTestEnd,cch,pacpResultStart,pacpResultEnd) (This)->lpVtbl->QueryInsert(This,acpTestStart,acpTestEnd,cch,pacpResultStart,pacpResultEnd) +#define ITextStoreACP_GetSelection(This,ulIndex,ulCount,pSelection,pcFetched) (This)->lpVtbl->GetSelection(This,ulIndex,ulCount,pSelection,pcFetched) +#define ITextStoreACP_SetSelection(This,ulCount,pSelection) (This)->lpVtbl->SetSelection(This,ulCount,pSelection) +#define ITextStoreACP_GetText(This,acpStart,acpEnd,pchPlain,cchPlainReq,pcchPlainRet,prgRunInfo,cRunInfoReq,pcRunInfoRet,pacpNext) (This)->lpVtbl->GetText(This,acpStart,acpEnd,pchPlain,cchPlainReq,pcchPlainRet,prgRunInfo,cRunInfoReq,pcRunInfoRet,pacpNext) +#define ITextStoreACP_SetText(This,dwFlags,acpStart,acpEnd,pchText,cch,pChange) (This)->lpVtbl->SetText(This,dwFlags,acpStart,acpEnd,pchText,cch,pChange) +#define ITextStoreACP_GetFormattedText(This,acpStart,acpEnd,ppDataObject) (This)->lpVtbl->GetFormattedText(This,acpStart,acpEnd,ppDataObject) +#define ITextStoreACP_GetEmbedded(This,acpPos,rguidService,riid,ppunk) (This)->lpVtbl->GetEmbedded(This,acpPos,rguidService,riid,ppunk) +#define ITextStoreACP_QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable) (This)->lpVtbl->QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable) +#define ITextStoreACP_InsertEmbedded(This,dwFlags,acpStart,acpEnd,pDataObject,pChange) (This)->lpVtbl->InsertEmbedded(This,dwFlags,acpStart,acpEnd,pDataObject,pChange) +#define ITextStoreACP_InsertTextAtSelection(This,dwFlags,pchText,cch,pacpStart,pacpEnd,pChange) (This)->lpVtbl->InsertTextAtSelection(This,dwFlags,pchText,cch,pacpStart,pacpEnd,pChange) +#define ITextStoreACP_InsertEmbeddedAtSelection(This,dwFlags,pDataObject,pacpStart,pacpEnd,pChange) (This)->lpVtbl->InsertEmbeddedAtSelection(This,dwFlags,pDataObject,pacpStart,pacpEnd,pChange) +#define ITextStoreACP_RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs) (This)->lpVtbl->RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs) +#define ITextStoreACP_RequestAttrsAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags) (This)->lpVtbl->RequestAttrsAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags) +#define ITextStoreACP_RequestAttrsTransitioningAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags) (This)->lpVtbl->RequestAttrsTransitioningAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags) +#define ITextStoreACP_FindNextAttrTransition(This,acpStart,acpHalt,cFilterAttrs,paFilterAttrs,dwFlags,pacpNext,pfFound,plFoundOffset) (This)->lpVtbl->FindNextAttrTransition(This,acpStart,acpHalt,cFilterAttrs,paFilterAttrs,dwFlags,pacpNext,pfFound,plFoundOffset) +#define ITextStoreACP_RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched) (This)->lpVtbl->RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched) +#define ITextStoreACP_GetEndACP(This,pacp) (This)->lpVtbl->GetEndACP(This,pacp) +#define ITextStoreACP_GetActiveView(This,pvcView) (This)->lpVtbl->GetActiveView(This,pvcView) +#define ITextStoreACP_GetACPFromPoint(This,vcView,ptScreen,dwFlags,pacp) (This)->lpVtbl->GetACPFromPoint(This,vcView,ptScreen,dwFlags,pacp) +#define ITextStoreACP_GetTextExt(This,vcView,acpStart,acpEnd,prc,pfClipped) (This)->lpVtbl->GetTextExt(This,vcView,acpStart,acpEnd,prc,pfClipped) +#define ITextStoreACP_GetScreenExt(This,vcView,prc) (This)->lpVtbl->GetScreenExt(This,vcView,prc) +#define ITextStoreACP_GetWnd(This,vcView,phwnd) (This)->lpVtbl->GetWnd(This,vcView,phwnd) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextStoreACP_QueryInterface(ITextStoreACP* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextStoreACP_AddRef(ITextStoreACP* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextStoreACP_Release(ITextStoreACP* This) { + return This->lpVtbl->Release(This); +} +/*** ITextStoreACP methods ***/ +static inline HRESULT ITextStoreACP_AdviseSink(ITextStoreACP* This,REFIID riid,IUnknown *punk,DWORD dwMask) { + return This->lpVtbl->AdviseSink(This,riid,punk,dwMask); +} +static inline HRESULT ITextStoreACP_UnadviseSink(ITextStoreACP* This,IUnknown *punk) { + return This->lpVtbl->UnadviseSink(This,punk); +} +static inline HRESULT ITextStoreACP_RequestLock(ITextStoreACP* This,DWORD dwLockFlags,HRESULT *phrSession) { + return This->lpVtbl->RequestLock(This,dwLockFlags,phrSession); +} +static inline HRESULT ITextStoreACP_GetStatus(ITextStoreACP* This,TS_STATUS *pdcs) { + return This->lpVtbl->GetStatus(This,pdcs); +} +static inline HRESULT ITextStoreACP_QueryInsert(ITextStoreACP* This,LONG acpTestStart,LONG acpTestEnd,ULONG cch,LONG *pacpResultStart,LONG *pacpResultEnd) { + return This->lpVtbl->QueryInsert(This,acpTestStart,acpTestEnd,cch,pacpResultStart,pacpResultEnd); +} +static inline HRESULT ITextStoreACP_GetSelection(ITextStoreACP* This,ULONG ulIndex,ULONG ulCount,TS_SELECTION_ACP *pSelection,ULONG *pcFetched) { + return This->lpVtbl->GetSelection(This,ulIndex,ulCount,pSelection,pcFetched); +} +static inline HRESULT ITextStoreACP_SetSelection(ITextStoreACP* This,ULONG ulCount,const TS_SELECTION_ACP *pSelection) { + return This->lpVtbl->SetSelection(This,ulCount,pSelection); +} +static inline HRESULT ITextStoreACP_GetText(ITextStoreACP* This,LONG acpStart,LONG acpEnd,WCHAR *pchPlain,ULONG cchPlainReq,ULONG *pcchPlainRet,TS_RUNINFO *prgRunInfo,ULONG cRunInfoReq,ULONG *pcRunInfoRet,LONG *pacpNext) { + return This->lpVtbl->GetText(This,acpStart,acpEnd,pchPlain,cchPlainReq,pcchPlainRet,prgRunInfo,cRunInfoReq,pcRunInfoRet,pacpNext); +} +static inline HRESULT ITextStoreACP_SetText(ITextStoreACP* This,DWORD dwFlags,LONG acpStart,LONG acpEnd,const WCHAR *pchText,ULONG cch,TS_TEXTCHANGE *pChange) { + return This->lpVtbl->SetText(This,dwFlags,acpStart,acpEnd,pchText,cch,pChange); +} +static inline HRESULT ITextStoreACP_GetFormattedText(ITextStoreACP* This,LONG acpStart,LONG acpEnd,IDataObject **ppDataObject) { + return This->lpVtbl->GetFormattedText(This,acpStart,acpEnd,ppDataObject); +} +static inline HRESULT ITextStoreACP_GetEmbedded(ITextStoreACP* This,LONG acpPos,REFGUID rguidService,REFIID riid,IUnknown **ppunk) { + return This->lpVtbl->GetEmbedded(This,acpPos,rguidService,riid,ppunk); +} +static inline HRESULT ITextStoreACP_QueryInsertEmbedded(ITextStoreACP* This,const GUID *pguidService,const FORMATETC *pFormatEtc,WINBOOL *pfInsertable) { + return This->lpVtbl->QueryInsertEmbedded(This,pguidService,pFormatEtc,pfInsertable); +} +static inline HRESULT ITextStoreACP_InsertEmbedded(ITextStoreACP* This,DWORD dwFlags,LONG acpStart,LONG acpEnd,IDataObject *pDataObject,TS_TEXTCHANGE *pChange) { + return This->lpVtbl->InsertEmbedded(This,dwFlags,acpStart,acpEnd,pDataObject,pChange); +} +static inline HRESULT ITextStoreACP_InsertTextAtSelection(ITextStoreACP* This,DWORD dwFlags,const WCHAR *pchText,ULONG cch,LONG *pacpStart,LONG *pacpEnd,TS_TEXTCHANGE *pChange) { + return This->lpVtbl->InsertTextAtSelection(This,dwFlags,pchText,cch,pacpStart,pacpEnd,pChange); +} +static inline HRESULT ITextStoreACP_InsertEmbeddedAtSelection(ITextStoreACP* This,DWORD dwFlags,IDataObject *pDataObject,LONG *pacpStart,LONG *pacpEnd,TS_TEXTCHANGE *pChange) { + return This->lpVtbl->InsertEmbeddedAtSelection(This,dwFlags,pDataObject,pacpStart,pacpEnd,pChange); +} +static inline HRESULT ITextStoreACP_RequestSupportedAttrs(ITextStoreACP* This,DWORD dwFlags,ULONG cFilterAttrs,const TS_ATTRID *paFilterAttrs) { + return This->lpVtbl->RequestSupportedAttrs(This,dwFlags,cFilterAttrs,paFilterAttrs); +} +static inline HRESULT ITextStoreACP_RequestAttrsAtPosition(ITextStoreACP* This,LONG acpPos,ULONG cFilterAttrs,const TS_ATTRID *paFilterAttrs,DWORD dwFlags) { + return This->lpVtbl->RequestAttrsAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags); +} +static inline HRESULT ITextStoreACP_RequestAttrsTransitioningAtPosition(ITextStoreACP* This,LONG acpPos,ULONG cFilterAttrs,const TS_ATTRID *paFilterAttrs,DWORD dwFlags) { + return This->lpVtbl->RequestAttrsTransitioningAtPosition(This,acpPos,cFilterAttrs,paFilterAttrs,dwFlags); +} +static inline HRESULT ITextStoreACP_FindNextAttrTransition(ITextStoreACP* This,LONG acpStart,LONG acpHalt,ULONG cFilterAttrs,const TS_ATTRID *paFilterAttrs,DWORD dwFlags,LONG *pacpNext,WINBOOL *pfFound,LONG *plFoundOffset) { + return This->lpVtbl->FindNextAttrTransition(This,acpStart,acpHalt,cFilterAttrs,paFilterAttrs,dwFlags,pacpNext,pfFound,plFoundOffset); +} +static inline HRESULT ITextStoreACP_RetrieveRequestedAttrs(ITextStoreACP* This,ULONG ulCount,TS_ATTRVAL *paAttrVals,ULONG *pcFetched) { + return This->lpVtbl->RetrieveRequestedAttrs(This,ulCount,paAttrVals,pcFetched); +} +static inline HRESULT ITextStoreACP_GetEndACP(ITextStoreACP* This,LONG *pacp) { + return This->lpVtbl->GetEndACP(This,pacp); +} +static inline HRESULT ITextStoreACP_GetActiveView(ITextStoreACP* This,TsViewCookie *pvcView) { + return This->lpVtbl->GetActiveView(This,pvcView); +} +static inline HRESULT ITextStoreACP_GetACPFromPoint(ITextStoreACP* This,TsViewCookie vcView,const POINT *ptScreen,DWORD dwFlags,LONG *pacp) { + return This->lpVtbl->GetACPFromPoint(This,vcView,ptScreen,dwFlags,pacp); +} +static inline HRESULT ITextStoreACP_GetTextExt(ITextStoreACP* This,TsViewCookie vcView,LONG acpStart,LONG acpEnd,RECT *prc,WINBOOL *pfClipped) { + return This->lpVtbl->GetTextExt(This,vcView,acpStart,acpEnd,prc,pfClipped); +} +static inline HRESULT ITextStoreACP_GetScreenExt(ITextStoreACP* This,TsViewCookie vcView,RECT *prc) { + return This->lpVtbl->GetScreenExt(This,vcView,prc); +} +static inline HRESULT ITextStoreACP_GetWnd(ITextStoreACP* This,TsViewCookie vcView,HWND *phwnd) { + return This->lpVtbl->GetWnd(This,vcView,phwnd); +} +#endif +#endif + +#endif + + +#endif /* __ITextStoreACP_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *); +void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *); +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 HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __textstor_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoolapiset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoolapiset.h new file mode 100644 index 00000000..bdff00a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoolapiset.h @@ -0,0 +1,64 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _THREADPOOLAPISET_H_ +#define _THREADPOOLAPISET_H_ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef VOID (WINAPI *PTP_WIN32_IO_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PVOID Overlapped, ULONG IoResult, ULONG_PTR NumberOfBytesTransferred, PTP_IO Io); + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI PTP_POOL WINAPI CreateThreadpool (PVOID reserved); + WINBASEAPI VOID WINAPI SetThreadpoolThreadMaximum (PTP_POOL ptpp, DWORD cthrdMost); + WINBASEAPI WINBOOL WINAPI SetThreadpoolThreadMinimum (PTP_POOL ptpp, DWORD cthrdMic); + WINBASEAPI WINBOOL WINAPI SetThreadpoolStackInformation (PTP_POOL ptpp, PTP_POOL_STACK_INFORMATION ptpsi); + WINBASEAPI WINBOOL WINAPI QueryThreadpoolStackInformation (PTP_POOL ptpp, PTP_POOL_STACK_INFORMATION ptpsi); + WINBASEAPI VOID WINAPI CloseThreadpool (PTP_POOL ptpp); + WINBASEAPI PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup (VOID); + WINBASEAPI VOID WINAPI CloseThreadpoolCleanupGroupMembers (PTP_CLEANUP_GROUP ptpcg, WINBOOL fCancelPendingCallbacks, PVOID pvCleanupContext); + WINBASEAPI VOID WINAPI CloseThreadpoolCleanupGroup (PTP_CLEANUP_GROUP ptpcg); + WINBASEAPI VOID WINAPI SetEventWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE evt); + WINBASEAPI VOID WINAPI ReleaseSemaphoreWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE sem, DWORD crel); + WINBASEAPI VOID WINAPI ReleaseMutexWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HANDLE mut); + WINBASEAPI VOID WINAPI LeaveCriticalSectionWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, PCRITICAL_SECTION pcs); + WINBASEAPI VOID WINAPI FreeLibraryWhenCallbackReturns (PTP_CALLBACK_INSTANCE pci, HMODULE mod); + WINBASEAPI WINBOOL WINAPI CallbackMayRunLong (PTP_CALLBACK_INSTANCE pci); + WINBASEAPI VOID WINAPI DisassociateCurrentThreadFromCallback (PTP_CALLBACK_INSTANCE pci); + WINBASEAPI WINBOOL WINAPI TrySubmitThreadpoolCallback (PTP_SIMPLE_CALLBACK pfns, PVOID pv, PTP_CALLBACK_ENVIRON pcbe); + WINBASEAPI PTP_WORK WINAPI CreateThreadpoolWork (PTP_WORK_CALLBACK pfnwk, PVOID pv, PTP_CALLBACK_ENVIRON pcbe); + WINBASEAPI VOID WINAPI SubmitThreadpoolWork (PTP_WORK pwk); + WINBASEAPI VOID WINAPI WaitForThreadpoolWorkCallbacks (PTP_WORK pwk, WINBOOL fCancelPendingCallbacks); + WINBASEAPI VOID WINAPI CloseThreadpoolWork (PTP_WORK pwk); + WINBASEAPI PTP_TIMER WINAPI CreateThreadpoolTimer (PTP_TIMER_CALLBACK pfnti, PVOID pv, PTP_CALLBACK_ENVIRON pcbe); + WINBASEAPI VOID WINAPI SetThreadpoolTimer (PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength); + WINBASEAPI WINBOOL WINAPI IsThreadpoolTimerSet (PTP_TIMER pti); + WINBASEAPI VOID WINAPI WaitForThreadpoolTimerCallbacks (PTP_TIMER pti, WINBOOL fCancelPendingCallbacks); + WINBASEAPI VOID WINAPI CloseThreadpoolTimer (PTP_TIMER pti); + WINBASEAPI PTP_WAIT WINAPI CreateThreadpoolWait (PTP_WAIT_CALLBACK pfnwa, PVOID pv, PTP_CALLBACK_ENVIRON pcbe); + WINBASEAPI VOID WINAPI SetThreadpoolWait (PTP_WAIT pwa, HANDLE h, PFILETIME pftTimeout); + WINBASEAPI VOID WINAPI WaitForThreadpoolWaitCallbacks (PTP_WAIT pwa, WINBOOL fCancelPendingCallbacks); + WINBASEAPI VOID WINAPI CloseThreadpoolWait (PTP_WAIT pwa); + WINBASEAPI PTP_IO WINAPI CreateThreadpoolIo (HANDLE fl, PTP_WIN32_IO_CALLBACK pfnio, PVOID pv, PTP_CALLBACK_ENVIRON pcbe); + WINBASEAPI VOID WINAPI StartThreadpoolIo (PTP_IO pio); + WINBASEAPI VOID WINAPI CancelThreadpoolIo (PTP_IO pio); + WINBASEAPI VOID WINAPI WaitForThreadpoolIoCallbacks (PTP_IO pio, WINBOOL fCancelPendingCallbacks); + WINBASEAPI VOID WINAPI CloseThreadpoolIo (PTP_IO pio); + WINBASEAPI WINBOOL WINAPI SetThreadpoolTimerEx (PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength); + WINBASEAPI WINBOOL WINAPI SetThreadpoolWaitEx (PTP_WAIT pwa, HANDLE h, PFILETIME pftTimeout, PVOID Reserved); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoollegacyapiset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoollegacyapiset.h new file mode 100644 index 00000000..5fd07233 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/threadpoollegacyapiset.h @@ -0,0 +1,33 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _THREADPOOLLEGACYAPISET_H_ +#define _THREADPOOLLEGACYAPISET_H_ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) + WINBASEAPI WINBOOL WINAPI CreateTimerQueueTimer (PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags); + WINBASEAPI WINBOOL WINAPI DeleteTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI QueueUserWorkItem (LPTHREAD_START_ROUTINE Function, PVOID Context, ULONG Flags); + WINBASEAPI WINBOOL WINAPI UnregisterWaitEx (HANDLE WaitHandle, HANDLE CompletionEvent); + WINBASEAPI HANDLE WINAPI CreateTimerQueue (VOID); + WINBASEAPI WINBOOL WINAPI ChangeTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer, ULONG DueTime, ULONG Period); + WINBASEAPI WINBOOL WINAPI DeleteTimerQueueEx (HANDLE TimerQueue, HANDLE CompletionEvent); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/thumbcache.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/thumbcache.h new file mode 100644 index 00000000..6bf6c465 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/thumbcache.h @@ -0,0 +1,701 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/thumbcache.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 __thumbcache_h__ +#define __thumbcache_h__ + +/* Forward declarations */ + +#ifndef __ISharedBitmap_FWD_DEFINED__ +#define __ISharedBitmap_FWD_DEFINED__ +typedef interface ISharedBitmap ISharedBitmap; +#ifdef __cplusplus +interface ISharedBitmap; +#endif /* __cplusplus */ +#endif + +#ifndef __IThumbnailCache_FWD_DEFINED__ +#define __IThumbnailCache_FWD_DEFINED__ +typedef interface IThumbnailCache IThumbnailCache; +#ifdef __cplusplus +interface IThumbnailCache; +#endif /* __cplusplus */ +#endif + +#ifndef __IThumbnailProvider_FWD_DEFINED__ +#define __IThumbnailProvider_FWD_DEFINED__ +typedef interface IThumbnailProvider IThumbnailProvider; +#ifdef __cplusplus +interface IThumbnailProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IThumbnailSettings_FWD_DEFINED__ +#define __IThumbnailSettings_FWD_DEFINED__ +typedef interface IThumbnailSettings IThumbnailSettings; +#ifdef __cplusplus +interface IThumbnailSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IThumbnailCachePrimer_FWD_DEFINED__ +#define __IThumbnailCachePrimer_FWD_DEFINED__ +typedef interface IThumbnailCachePrimer IThumbnailCachePrimer; +#ifdef __cplusplus +interface IThumbnailCachePrimer; +#endif /* __cplusplus */ +#endif + +#ifndef __LocalThumbnailCache_FWD_DEFINED__ +#define __LocalThumbnailCache_FWD_DEFINED__ +#ifdef __cplusplus +typedef class LocalThumbnailCache LocalThumbnailCache; +#else +typedef struct LocalThumbnailCache LocalThumbnailCache; +#endif /* defined __cplusplus */ +#endif /* defined __LocalThumbnailCache_FWD_DEFINED__ */ + +#ifndef __SharedBitmap_FWD_DEFINED__ +#define __SharedBitmap_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SharedBitmap SharedBitmap; +#else +typedef struct SharedBitmap SharedBitmap; +#endif /* defined __cplusplus */ +#endif /* defined __SharedBitmap_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum WTS_FLAGS { + WTS_NONE = 0x0, + WTS_EXTRACT = 0x0, + WTS_INCACHEONLY = 0x1, + WTS_FASTEXTRACT = 0x2, + WTS_FORCEEXTRACTION = 0x4, + WTS_SLOWRECLAIM = 0x8, + WTS_EXTRACTDONOTCACHE = 0x20, + WTS_SCALETOREQUESTEDSIZE = 0x40, + WTS_SKIPFASTEXTRACT = 0x80, + WTS_EXTRACTINPROC = 0x100, + WTS_CROPTOSQUARE = 0x200, + WTS_INSTANCESURROGATE = 0x400, + WTS_REQUIRESURROGATE = 0x800, + WTS_APPSTYLE = 0x2000, + WTS_WIDETHUMBNAILS = 0x4000, + WTS_IDEALCACHESIZEONLY = 0x8000, + WTS_SCALEUP = 0x10000 +} WTS_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(WTS_FLAGS) +typedef enum WTS_CACHEFLAGS { + WTS_DEFAULT = 0x0, + WTS_LOWQUALITY = 0x1, + WTS_CACHED = 0x2 +} WTS_CACHEFLAGS; +DEFINE_ENUM_FLAG_OPERATORS(WTS_CACHEFLAGS) +typedef enum WTS_CONTEXTFLAGS { + WTSCF_DEFAULT = 0x0, + WTSCF_APPSTYLE = 0x1, + WTSCF_SQUARE = 0x2, + WTSCF_WIDE = 0x4, + WTSCF_FAST = 0x8 +} WTS_CONTEXTFLAGS; +DEFINE_ENUM_FLAG_OPERATORS(WTS_CONTEXTFLAGS) +typedef enum WTS_ALPHATYPE { + WTSAT_UNKNOWN = 0, + WTSAT_RGB = 1, + WTSAT_ARGB = 2 +} WTS_ALPHATYPE; +typedef struct WTS_THUMBNAILID { + BYTE rgbKey[16]; +} WTS_THUMBNAILID; +#define WTS_E_FAILEDEXTRACTION MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb200) +#define WTS_E_EXTRACTIONTIMEDOUT MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb201) +#define WTS_E_SURROGATEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb202) +#define WTS_E_FASTEXTRACTIONNOTSUPPORTED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb203) +#define WTS_E_DATAFILEUNAVAILABLE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb204) +#define WTS_E_EXTRACTIONPENDING MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb205) +#define WTS_E_EXTRACTIONBLOCKED MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0xb206) +/***************************************************************************** + * ISharedBitmap interface + */ +#ifndef __ISharedBitmap_INTERFACE_DEFINED__ +#define __ISharedBitmap_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISharedBitmap, 0x091162a4, 0xbc96, 0x411f, 0xaa,0xe8, 0xc5,0x12,0x2c,0xd0,0x33,0x63); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("091162a4-bc96-411f-aae8-c5122cd03363") +ISharedBitmap : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSharedBitmap( + HBITMAP *phbm) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSize( + SIZE *pSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFormat( + WTS_ALPHATYPE *pat) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeBitmap( + HBITMAP hbm, + WTS_ALPHATYPE wtsAT) = 0; + + virtual HRESULT STDMETHODCALLTYPE Detach( + HBITMAP *phbm) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISharedBitmap, 0x091162a4, 0xbc96, 0x411f, 0xaa,0xe8, 0xc5,0x12,0x2c,0xd0,0x33,0x63) +#endif +#else +typedef struct ISharedBitmapVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISharedBitmap *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISharedBitmap *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISharedBitmap *This); + + /*** ISharedBitmap methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSharedBitmap)( + ISharedBitmap *This, + HBITMAP *phbm); + + HRESULT (STDMETHODCALLTYPE *GetSize)( + ISharedBitmap *This, + SIZE *pSize); + + HRESULT (STDMETHODCALLTYPE *GetFormat)( + ISharedBitmap *This, + WTS_ALPHATYPE *pat); + + HRESULT (STDMETHODCALLTYPE *InitializeBitmap)( + ISharedBitmap *This, + HBITMAP hbm, + WTS_ALPHATYPE wtsAT); + + HRESULT (STDMETHODCALLTYPE *Detach)( + ISharedBitmap *This, + HBITMAP *phbm); + + END_INTERFACE +} ISharedBitmapVtbl; + +interface ISharedBitmap { + CONST_VTBL ISharedBitmapVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISharedBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISharedBitmap_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISharedBitmap_Release(This) (This)->lpVtbl->Release(This) +/*** ISharedBitmap methods ***/ +#define ISharedBitmap_GetSharedBitmap(This,phbm) (This)->lpVtbl->GetSharedBitmap(This,phbm) +#define ISharedBitmap_GetSize(This,pSize) (This)->lpVtbl->GetSize(This,pSize) +#define ISharedBitmap_GetFormat(This,pat) (This)->lpVtbl->GetFormat(This,pat) +#define ISharedBitmap_InitializeBitmap(This,hbm,wtsAT) (This)->lpVtbl->InitializeBitmap(This,hbm,wtsAT) +#define ISharedBitmap_Detach(This,phbm) (This)->lpVtbl->Detach(This,phbm) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISharedBitmap_QueryInterface(ISharedBitmap* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISharedBitmap_AddRef(ISharedBitmap* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISharedBitmap_Release(ISharedBitmap* This) { + return This->lpVtbl->Release(This); +} +/*** ISharedBitmap methods ***/ +static inline HRESULT ISharedBitmap_GetSharedBitmap(ISharedBitmap* This,HBITMAP *phbm) { + return This->lpVtbl->GetSharedBitmap(This,phbm); +} +static inline HRESULT ISharedBitmap_GetSize(ISharedBitmap* This,SIZE *pSize) { + return This->lpVtbl->GetSize(This,pSize); +} +static inline HRESULT ISharedBitmap_GetFormat(ISharedBitmap* This,WTS_ALPHATYPE *pat) { + return This->lpVtbl->GetFormat(This,pat); +} +static inline HRESULT ISharedBitmap_InitializeBitmap(ISharedBitmap* This,HBITMAP hbm,WTS_ALPHATYPE wtsAT) { + return This->lpVtbl->InitializeBitmap(This,hbm,wtsAT); +} +static inline HRESULT ISharedBitmap_Detach(ISharedBitmap* This,HBITMAP *phbm) { + return This->lpVtbl->Detach(This,phbm); +} +#endif +#endif + +#endif + + +#endif /* __ISharedBitmap_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThumbnailCache interface + */ +#ifndef __IThumbnailCache_INTERFACE_DEFINED__ +#define __IThumbnailCache_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThumbnailCache, 0xf676c15d, 0x596a, 0x4ce2, 0x82,0x34, 0x33,0x99,0x6f,0x44,0x5d,0xb1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f676c15d-596a-4ce2-8234-33996f445db1") +IThumbnailCache : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetThumbnail( + IShellItem *pShellItem, + UINT cxyRequestedThumbSize, + WTS_FLAGS flags, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags, + WTS_THUMBNAILID *pThumbnailID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThumbnailByID( + WTS_THUMBNAILID thumbnailID, + UINT cxyRequestedThumbSize, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThumbnailCache, 0xf676c15d, 0x596a, 0x4ce2, 0x82,0x34, 0x33,0x99,0x6f,0x44,0x5d,0xb1) +#endif +#else +typedef struct IThumbnailCacheVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThumbnailCache *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThumbnailCache *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThumbnailCache *This); + + /*** IThumbnailCache methods ***/ + HRESULT (STDMETHODCALLTYPE *GetThumbnail)( + IThumbnailCache *This, + IShellItem *pShellItem, + UINT cxyRequestedThumbSize, + WTS_FLAGS flags, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags, + WTS_THUMBNAILID *pThumbnailID); + + HRESULT (STDMETHODCALLTYPE *GetThumbnailByID)( + IThumbnailCache *This, + WTS_THUMBNAILID thumbnailID, + UINT cxyRequestedThumbSize, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags); + + END_INTERFACE +} IThumbnailCacheVtbl; + +interface IThumbnailCache { + CONST_VTBL IThumbnailCacheVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThumbnailCache_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThumbnailCache_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThumbnailCache_Release(This) (This)->lpVtbl->Release(This) +/*** IThumbnailCache methods ***/ +#define IThumbnailCache_GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID) (This)->lpVtbl->GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID) +#define IThumbnailCache_GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags) (This)->lpVtbl->GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IThumbnailCache_QueryInterface(IThumbnailCache* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IThumbnailCache_AddRef(IThumbnailCache* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IThumbnailCache_Release(IThumbnailCache* This) { + return This->lpVtbl->Release(This); +} +/*** IThumbnailCache methods ***/ +static inline HRESULT IThumbnailCache_GetThumbnail(IThumbnailCache* This,IShellItem *pShellItem,UINT cxyRequestedThumbSize,WTS_FLAGS flags,ISharedBitmap **ppvThumb,WTS_CACHEFLAGS *pOutFlags,WTS_THUMBNAILID *pThumbnailID) { + return This->lpVtbl->GetThumbnail(This,pShellItem,cxyRequestedThumbSize,flags,ppvThumb,pOutFlags,pThumbnailID); +} +static inline HRESULT IThumbnailCache_GetThumbnailByID(IThumbnailCache* This,WTS_THUMBNAILID thumbnailID,UINT cxyRequestedThumbSize,ISharedBitmap **ppvThumb,WTS_CACHEFLAGS *pOutFlags) { + return This->lpVtbl->GetThumbnailByID(This,thumbnailID,cxyRequestedThumbSize,ppvThumb,pOutFlags); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnail_Proxy( + IThumbnailCache* This, + IShellItem *pShellItem, + UINT cxyRequestedThumbSize, + WTS_FLAGS flags, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags, + WTS_THUMBNAILID *pThumbnailID); +void __RPC_STUB IThumbnailCache_RemoteGetThumbnail_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThumbnailCache_RemoteGetThumbnailByID_Proxy( + IThumbnailCache* This, + WTS_THUMBNAILID thumbnailID, + UINT cxyRequestedThumbSize, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags); +void __RPC_STUB IThumbnailCache_RemoteGetThumbnailByID_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IThumbnailCache_GetThumbnail_Proxy( + IThumbnailCache* This, + IShellItem *pShellItem, + UINT cxyRequestedThumbSize, + WTS_FLAGS flags, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags, + WTS_THUMBNAILID *pThumbnailID); +HRESULT __RPC_STUB IThumbnailCache_GetThumbnail_Stub( + IThumbnailCache* This, + IShellItem *pShellItem, + UINT cxyRequestedThumbSize, + WTS_FLAGS flags, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags, + WTS_THUMBNAILID *pThumbnailID); +HRESULT CALLBACK IThumbnailCache_GetThumbnailByID_Proxy( + IThumbnailCache* This, + WTS_THUMBNAILID thumbnailID, + UINT cxyRequestedThumbSize, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags); +HRESULT __RPC_STUB IThumbnailCache_GetThumbnailByID_Stub( + IThumbnailCache* This, + WTS_THUMBNAILID thumbnailID, + UINT cxyRequestedThumbSize, + ISharedBitmap **ppvThumb, + WTS_CACHEFLAGS *pOutFlags); + +#endif /* __IThumbnailCache_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThumbnailProvider interface + */ +#ifndef __IThumbnailProvider_INTERFACE_DEFINED__ +#define __IThumbnailProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThumbnailProvider, 0xe357fccd, 0xa995, 0x4576, 0xb0,0x1f, 0x23,0x46,0x30,0x15,0x4e,0x96); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e357fccd-a995-4576-b01f-234630154e96") +IThumbnailProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetThumbnail( + UINT cx, + HBITMAP *phbmp, + WTS_ALPHATYPE *pdwAlpha) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThumbnailProvider, 0xe357fccd, 0xa995, 0x4576, 0xb0,0x1f, 0x23,0x46,0x30,0x15,0x4e,0x96) +#endif +#else +typedef struct IThumbnailProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThumbnailProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThumbnailProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThumbnailProvider *This); + + /*** IThumbnailProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetThumbnail)( + IThumbnailProvider *This, + UINT cx, + HBITMAP *phbmp, + WTS_ALPHATYPE *pdwAlpha); + + END_INTERFACE +} IThumbnailProviderVtbl; + +interface IThumbnailProvider { + CONST_VTBL IThumbnailProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThumbnailProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThumbnailProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThumbnailProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IThumbnailProvider methods ***/ +#define IThumbnailProvider_GetThumbnail(This,cx,phbmp,pdwAlpha) (This)->lpVtbl->GetThumbnail(This,cx,phbmp,pdwAlpha) +#else +/*** IUnknown methods ***/ +static inline HRESULT IThumbnailProvider_QueryInterface(IThumbnailProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IThumbnailProvider_AddRef(IThumbnailProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IThumbnailProvider_Release(IThumbnailProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IThumbnailProvider methods ***/ +static inline HRESULT IThumbnailProvider_GetThumbnail(IThumbnailProvider* This,UINT cx,HBITMAP *phbmp,WTS_ALPHATYPE *pdwAlpha) { + return This->lpVtbl->GetThumbnail(This,cx,phbmp,pdwAlpha); +} +#endif +#endif + +#endif + + +#endif /* __IThumbnailProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThumbnailSettings interface + */ +#ifndef __IThumbnailSettings_INTERFACE_DEFINED__ +#define __IThumbnailSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThumbnailSettings, 0xf4376f00, 0xbef5, 0x4d45, 0x80,0xf3, 0x1e,0x02,0x3b,0xbf,0x12,0x09); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f4376f00-bef5-4d45-80f3-1e023bbf1209") +IThumbnailSettings : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetContext( + WTS_CONTEXTFLAGS dwContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThumbnailSettings, 0xf4376f00, 0xbef5, 0x4d45, 0x80,0xf3, 0x1e,0x02,0x3b,0xbf,0x12,0x09) +#endif +#else +typedef struct IThumbnailSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThumbnailSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThumbnailSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThumbnailSettings *This); + + /*** IThumbnailSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *SetContext)( + IThumbnailSettings *This, + WTS_CONTEXTFLAGS dwContext); + + END_INTERFACE +} IThumbnailSettingsVtbl; + +interface IThumbnailSettings { + CONST_VTBL IThumbnailSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThumbnailSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThumbnailSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThumbnailSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IThumbnailSettings methods ***/ +#define IThumbnailSettings_SetContext(This,dwContext) (This)->lpVtbl->SetContext(This,dwContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IThumbnailSettings_QueryInterface(IThumbnailSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IThumbnailSettings_AddRef(IThumbnailSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IThumbnailSettings_Release(IThumbnailSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IThumbnailSettings methods ***/ +static inline HRESULT IThumbnailSettings_SetContext(IThumbnailSettings* This,WTS_CONTEXTFLAGS dwContext) { + return This->lpVtbl->SetContext(This,dwContext); +} +#endif +#endif + +#endif + + +#endif /* __IThumbnailSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThumbnailCachePrimer interface + */ +#ifndef __IThumbnailCachePrimer_INTERFACE_DEFINED__ +#define __IThumbnailCachePrimer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThumbnailCachePrimer, 0x0f03f8fe, 0x2b26, 0x46f0, 0x96,0x5a, 0x21,0x2a,0xa8,0xd6,0x6b,0x76); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0f03f8fe-2b26-46f0-965a-212aa8d66b76") +IThumbnailCachePrimer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE PageInThumbnail( + IShellItem *psi, + WTS_FLAGS wtsFlags, + UINT cxyRequestedThumbSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThumbnailCachePrimer, 0x0f03f8fe, 0x2b26, 0x46f0, 0x96,0x5a, 0x21,0x2a,0xa8,0xd6,0x6b,0x76) +#endif +#else +typedef struct IThumbnailCachePrimerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThumbnailCachePrimer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThumbnailCachePrimer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThumbnailCachePrimer *This); + + /*** IThumbnailCachePrimer methods ***/ + HRESULT (STDMETHODCALLTYPE *PageInThumbnail)( + IThumbnailCachePrimer *This, + IShellItem *psi, + WTS_FLAGS wtsFlags, + UINT cxyRequestedThumbSize); + + END_INTERFACE +} IThumbnailCachePrimerVtbl; + +interface IThumbnailCachePrimer { + CONST_VTBL IThumbnailCachePrimerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThumbnailCachePrimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThumbnailCachePrimer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThumbnailCachePrimer_Release(This) (This)->lpVtbl->Release(This) +/*** IThumbnailCachePrimer methods ***/ +#define IThumbnailCachePrimer_PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize) (This)->lpVtbl->PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IThumbnailCachePrimer_QueryInterface(IThumbnailCachePrimer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IThumbnailCachePrimer_AddRef(IThumbnailCachePrimer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IThumbnailCachePrimer_Release(IThumbnailCachePrimer* This) { + return This->lpVtbl->Release(This); +} +/*** IThumbnailCachePrimer methods ***/ +static inline HRESULT IThumbnailCachePrimer_PageInThumbnail(IThumbnailCachePrimer* This,IShellItem *psi,WTS_FLAGS wtsFlags,UINT cxyRequestedThumbSize) { + return This->lpVtbl->PageInThumbnail(This,psi,wtsFlags,cxyRequestedThumbSize); +} +#endif +#endif + +#endif + + +#endif /* __IThumbnailCachePrimer_INTERFACE_DEFINED__ */ + +#ifndef __ThumbCacheLib_LIBRARY_DEFINED__ +#define __ThumbCacheLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_ThumbCacheLib, 0x4c857096, 0x0514, 0x4d4d, 0xab,0xd5, 0xdf,0xaa,0xa3,0xc3,0x26,0xd2); + +/***************************************************************************** + * LocalThumbnailCache coclass + */ + +DEFINE_GUID(CLSID_LocalThumbnailCache, 0x50ef4544, 0xac9f, 0x4a8e, 0xb2,0x1b, 0x8a,0x26,0x18,0x0d,0xb1,0x3f); + +#ifdef __cplusplus +class DECLSPEC_UUID("50ef4544-ac9f-4a8e-b21b-8a26180db13f") LocalThumbnailCache; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(LocalThumbnailCache, 0x50ef4544, 0xac9f, 0x4a8e, 0xb2,0x1b, 0x8a,0x26,0x18,0x0d,0xb1,0x3f) +#endif +#endif + +/***************************************************************************** + * SharedBitmap coclass + */ + +DEFINE_GUID(CLSID_SharedBitmap, 0x4db26476, 0x6787, 0x4046, 0xb8,0x36, 0xe8,0x41,0x2a,0x9e,0x8a,0x27); + +#ifdef __cplusplus +class DECLSPEC_UUID("4db26476-6787-4046-b836-e8412a9e8a27") SharedBitmap; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SharedBitmap, 0x4db26476, 0x6787, 0x4046, 0xb8,0x36, 0xe8,0x41,0x2a,0x9e,0x8a,0x27) +#endif +#endif + +#endif /* __ThumbCacheLib_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *); +unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *); +unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *); +void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __thumbcache_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/time.h new file mode 100644 index 00000000..2a475eef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/time.h @@ -0,0 +1,327 @@ +/** + * 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 _TIME_H_ +#define _TIME_H_ + +#include + +#ifndef _WIN32 +#error Only Win32 target is supported! +#endif + +#if defined(__LIBMSVCRT__) +/* When building mingw-w64, this should be blank. */ +#define _SECIMP +#else +#ifndef _SECIMP +#define _SECIMP __declspec(dllimport) +#endif /* _SECIMP */ +#endif /* defined(__LIBMSVCRT__) */ + +/* Adding timespec definition. */ +#include + +#pragma pack(push,_CRT_PACKING) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _CRTIMP +#define _CRTIMP __declspec(dllimport) +#endif + +#ifndef _WCHAR_T_DEFINED +#define _WCHAR_T_DEFINED + typedef unsigned short wchar_t; +#endif + +#ifndef _TIME32_T_DEFINED +#define _TIME32_T_DEFINED + typedef long __time32_t; +#endif + +#ifndef _TIME64_T_DEFINED +#define _TIME64_T_DEFINED + __MINGW_EXTENSION typedef __int64 __time64_t; +#endif + +#ifndef _TIME_T_DEFINED +#define _TIME_T_DEFINED +#ifdef _USE_32BIT_TIME_T + typedef __time32_t time_t; +#else + typedef __time64_t time_t; +#endif +#endif + +#ifndef _CLOCK_T_DEFINED +#define _CLOCK_T_DEFINED + typedef long clock_t; +#endif + +#ifndef _SIZE_T_DEFINED +#define _SIZE_T_DEFINED +#undef size_t +#ifdef _WIN64 + __MINGW_EXTENSION typedef unsigned __int64 size_t; +#else + typedef unsigned int size_t; +#endif +#endif + +#ifndef _SSIZE_T_DEFINED +#define _SSIZE_T_DEFINED +#undef ssize_t +#ifdef _WIN64 + __MINGW_EXTENSION typedef __int64 ssize_t; +#else + typedef int ssize_t; +#endif +#endif + +#ifndef NULL +#ifdef __cplusplus +#ifndef _WIN64 +#define NULL 0 +#else +#define NULL 0LL +#endif /* W64 */ +#else +#define NULL ((void *)0) +#endif +#endif + +#ifndef _TM_DEFINED +#define _TM_DEFINED + struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + }; +#endif + +#define CLOCKS_PER_SEC 1000 + +#ifdef _UCRT +#define TIME_UTC 1 +#endif + + _CRTIMP int *__cdecl __daylight(void); + _CRTIMP long *__cdecl __dstbias(void); + _CRTIMP long *__cdecl __timezone(void); + _CRTIMP char **__cdecl __tzname(void); +#define _daylight (* __daylight()) +#define _dstbias (* __dstbias()) +#define _timezone (* __timezone()) +#define _tzname (__tzname()) + +#undef __MINGW_STRFTIME_FORMAT + +#if defined(__clang__) +#define __MINGW_STRFTIME_FORMAT strftime +#elif defined(_UCRT) +#define __MINGW_STRFTIME_FORMAT gnu_strftime +#else +#define __MINGW_STRFTIME_FORMAT ms_strftime +#endif + + _CRTIMP errno_t __cdecl _get_daylight(int *_Daylight); + _CRTIMP errno_t __cdecl _get_dstbias(long *_Daylight_savings_bias); + _CRTIMP errno_t __cdecl _get_timezone(long *_Timezone); + _CRTIMP errno_t __cdecl _get_tzname(size_t *_ReturnValue,char *_Buffer,size_t _SizeInBytes,int _Index); + char *__cdecl asctime(const struct tm *_Tm) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl asctime_s (char *_Buf,size_t _SizeInWords,const struct tm *_Tm); + _CRTIMP char *__cdecl _ctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _ctime32_s (char *_Buf,size_t _SizeInBytes,const __time32_t *_Time); + clock_t __cdecl clock(void); + _CRTIMP double __cdecl _difftime32(__time32_t _Time1,__time32_t _Time2); + _CRTIMP struct tm *__cdecl _gmtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _gmtime32_s (struct tm *_Tm,const __time32_t *_Time); + _CRTIMP struct tm *__cdecl _localtime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _localtime32_s (struct tm *_Tm,const __time32_t *_Time); + size_t __cdecl strftime(char * __restrict__ _Buf,size_t _SizeInBytes,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm) __attribute__((__format__ (__MINGW_STRFTIME_FORMAT, 3, 0))); + _CRTIMP size_t __cdecl _strftime_l(char * __restrict__ _Buf,size_t _Max_size,const char * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); + _CRTIMP char *__cdecl _strdate(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _strdate_s (char *_Buf,size_t _SizeInBytes); + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _strdate_s, char, _Str) + _CRTIMP char *__cdecl _strtime(char *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _strtime_s (char *_Buf ,size_t _SizeInBytes); + __DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _strtime_s, char, _Str) + _CRTIMP __time32_t __cdecl _time32(__time32_t *_Time); +#ifdef _UCRT + _CRTIMP int __cdecl _timespec32_get(struct _timespec32 *_Ts, int _Base); +#endif + _CRTIMP __time32_t __cdecl _mktime32(struct tm *_Tm); + _CRTIMP __time32_t __cdecl _mkgmtime32(struct tm *_Tm); + +#if defined (_POSIX_) || defined(__GNUC__) + void __cdecl tzset(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#endif +#if !defined (_POSIX_) +#ifndef _UCRT + _CRTIMP +#endif + void __cdecl _tzset(void); +#endif + + _CRTIMP double __cdecl _difftime64(__time64_t _Time1,__time64_t _Time2); + _CRTIMP char *__cdecl _ctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _ctime64_s (char *_Buf,size_t _SizeInBytes,const __time64_t *_Time); + _CRTIMP struct tm *__cdecl _gmtime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _gmtime64_s (struct tm *_Tm,const __time64_t *_Time); + _CRTIMP struct tm *__cdecl _localtime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _localtime64_s (struct tm *_Tm,const __time64_t *_Time); + _CRTIMP __time64_t __cdecl _mktime64(struct tm *_Tm); + _CRTIMP __time64_t __cdecl _mkgmtime64(struct tm *_Tm); + _CRTIMP __time64_t __cdecl _time64(__time64_t *_Time); +#ifdef _UCRT + _CRTIMP int __cdecl _timespec64_get(struct _timespec64 *_Ts, int _Base); +#endif + unsigned __cdecl _getsystime(struct tm *_Tm); + unsigned __cdecl _setsystime(struct tm *_Tm,unsigned _MilliSec); + +#ifndef _WTIME_DEFINED + _CRTIMP wchar_t *__cdecl _wasctime(const struct tm *_Tm); + _SECIMP errno_t __cdecl _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm); + wchar_t *__cdecl _wctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time); + size_t __cdecl wcsftime(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm); + _CRTIMP size_t __cdecl _wcsftime_l(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); + _CRTIMP wchar_t *__cdecl _wstrdate(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords); + _CRTIMP wchar_t *__cdecl _wstrtime(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords); + _CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time); + +#if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) +#define _INC_WTIME_INL +#ifndef _USE_32BIT_TIME_T + wchar_t *__cdecl _wctime(const time_t *_Time) __MINGW_ASM_CALL(_wctime64) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#else + wchar_t *__cdecl _wctime(const time_t *_Time) __MINGW_ASM_CALL(_wctime32) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#endif +#endif + +#if !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) +#define _INC_WTIME_S_INL +#ifndef _USE_32BIT_TIME_T + errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) __MINGW_ASM_CALL(_wctime64_s); +#else + errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) __MINGW_ASM_CALL(_wctime32_s); +#endif +#endif + +#define _WTIME_DEFINED +#endif + +#ifndef RC_INVOKED + +#ifdef _USE_32BIT_TIME_T +time_t __CRTDECL time(time_t *_Time) __MINGW_ASM_CALL(_time32); +#ifdef _UCRT +int __CRTDECL timespec_get(struct timespec* _Ts, int _Base) __MINGW_ASM_CALL(_timespec32_get); +#endif +double __CRTDECL difftime(time_t _Time1,time_t _Time2) __MINGW_ASM_CALL(_difftime32); +struct tm *__CRTDECL localtime(const time_t *_Time) __MINGW_ASM_CALL(_localtime32); +errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) __MINGW_ASM_CALL(_localtime32_s); +struct tm *__CRTDECL gmtime(const time_t *_Time) __MINGW_ASM_CALL(_gmtime32); +errno_t __CRTDECL gmtime_s(struct tm *_Tm, const time_t *_Time) __MINGW_ASM_CALL(_gmtime32_s); +char *__CRTDECL ctime(const time_t *_Time) __MINGW_ASM_CALL(_ctime32); +errno_t __CRTDECL ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) __MINGW_ASM_CALL(_ctime32_s); +time_t __CRTDECL mktime(struct tm *_Tm) __MINGW_ASM_CALL(_mktime32); +time_t __CRTDECL _mkgmtime(struct tm *_Tm) __MINGW_ASM_CALL(_mkgmtime32); +#else +time_t __CRTDECL time(time_t *_Time) __MINGW_ASM_CALL(_time64); +#ifdef _UCRT +int __CRTDECL timespec_get(struct timespec* _Ts, int _Base) __MINGW_ASM_CALL(_timespec64_get); +#endif +double __CRTDECL difftime(time_t _Time1,time_t _Time2) __MINGW_ASM_CALL(_difftime64); +struct tm *__CRTDECL localtime(const time_t *_Time) __MINGW_ASM_CALL(_localtime64); +errno_t __CRTDECL localtime_s(struct tm *_Tm,const time_t *_Time) __MINGW_ASM_CALL(_localtime64_s); +struct tm *__CRTDECL gmtime(const time_t *_Time) __MINGW_ASM_CALL(_gmtime64); +errno_t __CRTDECL gmtime_s(struct tm *_Tm, const time_t *_Time) __MINGW_ASM_CALL(_gmtime64_s); +char *__CRTDECL ctime(const time_t *_Time) __MINGW_ASM_CALL(_ctime64); +errno_t __CRTDECL ctime_s(char *_Buf,size_t _SizeInBytes,const time_t *_Time) __MINGW_ASM_CALL(_ctime64_s); +time_t __CRTDECL mktime(struct tm *_Tm) __MINGW_ASM_CALL(_mktime64); +time_t __CRTDECL _mkgmtime(struct tm *_Tm) __MINGW_ASM_CALL(_mkgmtime64); +#endif + +#endif /* !RC_INVOKED */ + +#if !defined(NO_OLDNAMES) || defined(_POSIX) +#define CLK_TCK CLOCKS_PER_SEC + +#ifdef _UCRT +#define __MINGW_ATTRIB_DEPRECATED_UCRT \ + __MINGW_ATTRIB_DEPRECATED_MSG( \ + "Only provided for source compatibility; this variable might " \ + "not always be accurate when linking to UCRT.") +#else +#define __MINGW_ATTRIB_DEPRECATED_UCRT +#endif + + _CRTIMP extern int daylight __MINGW_ATTRIB_DEPRECATED_UCRT; + _CRTIMP extern long timezone __MINGW_ATTRIB_DEPRECATED_UCRT; + _CRTIMP extern char *tzname[2] __MINGW_ATTRIB_DEPRECATED_UCRT; + void __cdecl tzset(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#endif + +#include <_timeval.h> + +#ifndef _TIMEZONE_DEFINED /* also in sys/time.h */ +#define _TIMEZONE_DEFINED +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; + + extern int __cdecl mingw_gettimeofday (struct timeval *p, struct timezone *z); +#endif /* _TIMEZONE_DEFINED */ + +#pragma pack(pop) + +#if defined(_POSIX_C_SOURCE) && !defined(_POSIX_THREAD_SAFE_FUNCTIONS) +#define _POSIX_THREAD_SAFE_FUNCTIONS 200112L +#endif + +#ifdef _POSIX_THREAD_SAFE_FUNCTIONS +__forceinline struct tm *__CRTDECL localtime_r(const time_t *_Time, struct tm *_Tm) { + return localtime_s(_Tm, _Time) ? NULL : _Tm; +} +__forceinline struct tm *__CRTDECL gmtime_r(const time_t *_Time, struct tm *_Tm) { + return gmtime_s(_Tm, _Time) ? NULL : _Tm; +} +__forceinline char *__CRTDECL ctime_r(const time_t *_Time, char *_Str) { + return ctime_s(_Str, 0x7fffffff, _Time) ? NULL : _Str; +} +__forceinline char *__CRTDECL asctime_r(const struct tm *_Tm, char * _Str) { + return asctime_s(_Str, 0x7fffffff, _Tm) ? NULL : _Str; +} +#endif + +#ifdef __cplusplus +} +#endif + +/* POSIX 2008 says clock_gettime and timespec are defined in time.h header, + but other systems - like Linux, Solaris, etc - tend to declare such + recent extensions only if the following guards are met. */ +#if !defined(IN_WINPTHREAD) && \ + ((!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ + (_POSIX_C_SOURCE > 2) || defined(__EXTENSIONS__)) +#include +#endif + +#endif /* End _TIME_H_ */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeapi.h new file mode 100644 index 00000000..e40bbecd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeapi.h @@ -0,0 +1,56 @@ +/** + * 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 _TIMERAPI_H_ +#define _TIMERAPI_H_ + +#include +#include + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef MMNOTIMER + +#define TIMERR_NOERROR (0) +#define TIMERR_NOCANDO (TIMERR_BASE+1) +#define TIMERR_STRUCT (TIMERR_BASE+33) + +typedef struct timecaps_tag { + UINT wPeriodMin; + UINT wPeriodMax; +} TIMECAPS, *PTIMECAPS, *NPTIMECAPS, *LPTIMECAPS; + +WINMMAPI MMRESULT WINAPI timeGetSystemTime(LPMMTIME pmmt, UINT cbmmt); + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + +WINMMAPI DWORD WINAPI timeGetTime(void); + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +WINMMAPI MMRESULT WINAPI timeGetDevCaps(LPTIMECAPS ptc, UINT cbtc); +WINMMAPI MMRESULT WINAPI timeBeginPeriod(UINT uPeriod); +WINMMAPI MMRESULT WINAPI timeEndPeriod(UINT uPeriod); + +#endif /* ifndef MMNOTIMER */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#ifdef __cplusplus +} +#endif + +#endif /* _TIMERAPI_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeprov.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeprov.h new file mode 100644 index 00000000..3e969db3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timeprov.h @@ -0,0 +1,110 @@ +/** + * 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 TIMEPROV_H +#define TIMEPROV_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define wszW32TimeRegKeyTimeProviders L"System\\CurrentControlSet\\Services\\W32Time\\TimeProviders" +#define wszW32TimeRegKeyPolicyTimeProviders L"Software\\Policies\\Microsoft\\W32Time\\TimeProviders" +#define wszW32TimeRegValueEnabled L"Enabled" +#define wszW32TimeRegValueDllName L"DllName" +#define wszW32TimeRegValueInputProvider L"InputProvider" + +#define TSF_Hardware 0x00000001 +#define TSF_Authenticated 0x00000002 + + typedef enum TimeProvCmd { + TPC_TimeJumped,TPC_UpdateConfig,TPC_PollIntervalChanged,TPC_GetSamples,TPC_NetTopoChange,TPC_Query,TPC_Shutdown + } TimeProvCmd; + + typedef enum TimeSysInfo { + TSI_LastSyncTime,TSI_ClockTickSize,TSI_ClockPrecision,TSI_CurrentTime,TSI_PhaseOffset,TSI_TickCount,TSI_LeapFlags,TSI_Stratum, + TSI_ReferenceIdentifier,TSI_PollInterval,TSI_RootDelay,TSI_RootDispersion,TSI_TSFlags + } TimeSysInfo; + + typedef enum TimeJumpedFlags { + TJF_Default=0,TJF_UserRequested=1 + } TimeJumpedFlags; + + typedef enum NetTopoChangeFlags { + NTC_Default=0,NTC_UserRequested=1 + } NetTopoChangeFlags; + + typedef enum TimeProvState { + TPS_Running,TPS_Error + } TimeProvState; + + struct SetProviderStatusInfo; + + typedef void (WINAPI SetProviderStatusInfoFreeFunc)(struct SetProviderStatusInfo *pspsi); + + typedef struct SetProviderStatusInfo { + TimeProvState tpsCurrentState; + DWORD dwStratum; + LPWSTR wszProvName; + HANDLE hWaitEvent; + SetProviderStatusInfoFreeFunc *pfnFree; + HRESULT *pHr; + DWORD *pdwSysStratum; + } SetProviderStatusInfo; + + typedef HRESULT (WINAPI GetTimeSysInfoFunc)(TimeSysInfo eInfo,void *pvInfo); + typedef HRESULT (WINAPI LogTimeProvEventFunc)(WORD wType,WCHAR *wszProvName,WCHAR *wszMessage); + typedef HRESULT (WINAPI AlertSamplesAvailFunc)(void); + typedef HRESULT (WINAPI SetProviderStatusFunc)(SetProviderStatusInfo *pspsi); + + typedef struct TimeProvSysCallbacks { + DWORD dwSize; + GetTimeSysInfoFunc *pfnGetTimeSysInfo; + LogTimeProvEventFunc *pfnLogTimeProvEvent; + AlertSamplesAvailFunc *pfnAlertSamplesAvail; + SetProviderStatusFunc *pfnSetProviderStatus; + } TimeProvSysCallbacks; + + typedef void *TimeProvArgs; + + typedef struct TimeSample { + DWORD dwSize; + DWORD dwRefid; + __MINGW_EXTENSION signed __int64 toOffset; + __MINGW_EXTENSION signed __int64 toDelay; + __MINGW_EXTENSION unsigned __int64 tpDispersion; + __MINGW_EXTENSION unsigned __int64 nSysTickCount; + __MINGW_EXTENSION signed __int64 nSysPhaseOffset; + BYTE nLeapFlags; + BYTE nStratum; + DWORD dwTSFlags; + WCHAR wszUniqueName[256]; + } TimeSample; + + typedef struct TpcGetSamplesArgs { + BYTE *pbSampleBuf; + DWORD cbSampleBuf; + DWORD dwSamplesReturned; + DWORD dwSamplesAvailable; + } TpcGetSamplesArgs; + + typedef struct TpcTimeJumpedArgs { + TimeJumpedFlags tjfFlags; + } TpcTimeJumpedArgs; + + typedef struct TpcNetTopoChangeArgs { + NetTopoChangeFlags ntcfFlags; + } TpcNetTopoChangeArgs; + + typedef void *TimeProvHandle; + + HRESULT WINAPI TimeProvOpen(WCHAR *wszName,TimeProvSysCallbacks *pSysCallbacks,TimeProvHandle *phTimeProv); + HRESULT WINAPI TimeProvCommand(TimeProvHandle hTimeProv,TimeProvCmd eCmd,TimeProvArgs pvArgs); + HRESULT WINAPI TimeProvClose(TimeProvHandle hTimeProv); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timezoneapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timezoneapi.h new file mode 100644 index 00000000..3330e962 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/timezoneapi.h @@ -0,0 +1,73 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _TIMEZONEAPI_H_ +#define _TIMEZONEAPI_H_ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + +#define TIME_ZONE_ID_INVALID ((DWORD)0xffffffff) + + typedef struct _TIME_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; + } TIME_ZONE_INFORMATION,*PTIME_ZONE_INFORMATION,*LPTIME_ZONE_INFORMATION; + + typedef struct _TIME_DYNAMIC_ZONE_INFORMATION { + LONG Bias; + WCHAR StandardName[32]; + SYSTEMTIME StandardDate; + LONG StandardBias; + WCHAR DaylightName[32]; + SYSTEMTIME DaylightDate; + LONG DaylightBias; + WCHAR TimeZoneKeyName[128]; + BOOLEAN DynamicDaylightTimeDisabled; + } DYNAMIC_TIME_ZONE_INFORMATION,*PDYNAMIC_TIME_ZONE_INFORMATION; + + WINBASEAPI WINBOOL WINAPI SystemTimeToTzSpecificLocalTime (CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation, CONST SYSTEMTIME *lpUniversalTime, LPSYSTEMTIME lpLocalTime); + WINBASEAPI WINBOOL WINAPI TzSpecificLocalTimeToSystemTime (CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation, CONST SYSTEMTIME *lpLocalTime, LPSYSTEMTIME lpUniversalTime); + WINBASEAPI WINBOOL WINAPI FileTimeToSystemTime (CONST FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime); + WINBASEAPI WINBOOL WINAPI SystemTimeToFileTime (CONST SYSTEMTIME *lpSystemTime, LPFILETIME lpFileTime); + WINBASEAPI DWORD WINAPI GetTimeZoneInformation (LPTIME_ZONE_INFORMATION lpTimeZoneInformation); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformation (PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInformation); +#endif +#if _WIN32_WINNT >= 0x0601 + WINBOOL WINAPI GetTimeZoneInformationForYear (USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION pdtzi, LPTIME_ZONE_INFORMATION ptzi); +#endif +#if _WIN32_WINNT >= 0x0602 + WINBASEAPI DWORD WINAPI EnumDynamicTimeZoneInformation (CONST DWORD dwIndex, PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation); + WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformationEffectiveYears (CONST PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation, LPDWORD FirstYear, LPDWORD LastYear); + WINBASEAPI WINBOOL WINAPI SystemTimeToTzSpecificLocalTimeEx (CONST DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, CONST SYSTEMTIME *lpUniversalTime, LPSYSTEMTIME lpLocalTime); + WINBASEAPI WINBOOL WINAPI TzSpecificLocalTimeToSystemTimeEx (CONST DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation, CONST SYSTEMTIME *lpLocalTime, LPSYSTEMTIME lpUniversalTime); +#endif + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI SetTimeZoneInformation (CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI SetDynamicTimeZoneInformation (CONST DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlbref.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlbref.h new file mode 100644 index 00000000..7d285dc2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlbref.h @@ -0,0 +1,149 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/tlbref.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 __tlbref_h__ +#define __tlbref_h__ + +/* Forward declarations */ + +#ifndef __ITypeLibResolver_FWD_DEFINED__ +#define __ITypeLibResolver_FWD_DEFINED__ +typedef interface ITypeLibResolver ITypeLibResolver; +#ifdef __cplusplus +interface ITypeLibResolver; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * ITypeLibResolver interface + */ +#ifndef __ITypeLibResolver_INTERFACE_DEFINED__ +#define __ITypeLibResolver_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITypeLibResolver, 0x8f026edb, 0x785e, 0x4470, 0xa8,0xe1, 0xb4,0xe8,0x4e,0x9d,0x17,0x79); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8f026edb-785e-4470-a8e1-b4e84e9d1779") +ITypeLibResolver : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ResolveTypeLib( + BSTR bstrSimpleName, + GUID tlbid, + LCID lcid, + USHORT wMajorVersion, + USHORT wMinorVersion, + SYSKIND syskind, + BSTR *pbstrResolvedTlbName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITypeLibResolver, 0x8f026edb, 0x785e, 0x4470, 0xa8,0xe1, 0xb4,0xe8,0x4e,0x9d,0x17,0x79) +#endif +#else +typedef struct ITypeLibResolverVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITypeLibResolver *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITypeLibResolver *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITypeLibResolver *This); + + /*** ITypeLibResolver methods ***/ + HRESULT (STDMETHODCALLTYPE *ResolveTypeLib)( + ITypeLibResolver *This, + BSTR bstrSimpleName, + GUID tlbid, + LCID lcid, + USHORT wMajorVersion, + USHORT wMinorVersion, + SYSKIND syskind, + BSTR *pbstrResolvedTlbName); + + END_INTERFACE +} ITypeLibResolverVtbl; + +interface ITypeLibResolver { + CONST_VTBL ITypeLibResolverVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITypeLibResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITypeLibResolver_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITypeLibResolver_Release(This) (This)->lpVtbl->Release(This) +/*** ITypeLibResolver methods ***/ +#define ITypeLibResolver_ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName) (This)->lpVtbl->ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITypeLibResolver_QueryInterface(ITypeLibResolver* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITypeLibResolver_AddRef(ITypeLibResolver* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITypeLibResolver_Release(ITypeLibResolver* This) { + return This->lpVtbl->Release(This); +} +/*** ITypeLibResolver methods ***/ +static inline HRESULT ITypeLibResolver_ResolveTypeLib(ITypeLibResolver* This,BSTR bstrSimpleName,GUID tlbid,LCID lcid,USHORT wMajorVersion,USHORT wMinorVersion,SYSKIND syskind,BSTR *pbstrResolvedTlbName) { + return This->lpVtbl->ResolveTypeLib(This,bstrSimpleName,tlbid,lcid,wMajorVersion,wMinorVersion,syskind,pbstrResolvedTlbName); +} +#endif +#endif + +#endif + + +#endif /* __ITypeLibResolver_INTERFACE_DEFINED__ */ + +STDAPI LoadTypeLibWithResolver (LPCOLESTR szFile, REGKIND regkind, ITypeLibResolver *pTlbResolver, ITypeLib **pptlib); +STDAPI GetTypeLibInfo (LPWSTR szFile, GUID *pTypeLibID, LCID *pTypeLibLCID, SYSKIND *pTypeLibPlatform, USHORT *pTypeLibMajorVer, USHORT *pTypeLibMinorVer); +#endif +/* Begin additional prototypes for all interfaces */ + +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 /* __tlbref_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlhelp32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlhelp32.h new file mode 100644 index 00000000..9009fe69 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlhelp32.h @@ -0,0 +1,168 @@ +/** + * 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_TOOLHELP32 +#define _INC_TOOLHELP32 + +#ifdef __cplusplus +extern "C" { +#endif + +#define MAX_MODULE_NAME32 255 + + HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags,DWORD th32ProcessID); + +#define TH32CS_SNAPHEAPLIST 0x00000001 +#define TH32CS_SNAPPROCESS 0x00000002 +#define TH32CS_SNAPTHREAD 0x00000004 +#define TH32CS_SNAPMODULE 0x00000008 +#define TH32CS_SNAPMODULE32 0x00000010 +#define TH32CS_SNAPALL (TH32CS_SNAPHEAPLIST | TH32CS_SNAPPROCESS | TH32CS_SNAPTHREAD | TH32CS_SNAPMODULE) +#define TH32CS_INHERIT 0x80000000 + + typedef struct tagHEAPLIST32 { + SIZE_T dwSize; + DWORD th32ProcessID; + ULONG_PTR th32HeapID; + DWORD dwFlags; + } HEAPLIST32; + typedef HEAPLIST32 *PHEAPLIST32; + typedef HEAPLIST32 *LPHEAPLIST32; + +#define HF32_DEFAULT 1 +#define HF32_SHARED 2 + + WINBOOL WINAPI Heap32ListFirst(HANDLE hSnapshot,LPHEAPLIST32 lphl); + WINBOOL WINAPI Heap32ListNext(HANDLE hSnapshot,LPHEAPLIST32 lphl); + + typedef struct tagHEAPENTRY32 { + SIZE_T dwSize; + HANDLE hHandle; + ULONG_PTR dwAddress; + SIZE_T dwBlockSize; + DWORD dwFlags; + DWORD dwLockCount; + DWORD dwResvd; + DWORD th32ProcessID; + ULONG_PTR th32HeapID; + } HEAPENTRY32; + typedef HEAPENTRY32 *PHEAPENTRY32; + typedef HEAPENTRY32 *LPHEAPENTRY32; + +#define LF32_FIXED 0x00000001 +#define LF32_FREE 0x00000002 +#define LF32_MOVEABLE 0x00000004 + + WINBOOL WINAPI Heap32First(LPHEAPENTRY32 lphe,DWORD th32ProcessID,ULONG_PTR th32HeapID); + WINBOOL WINAPI Heap32Next(LPHEAPENTRY32 lphe); + WINBOOL WINAPI Toolhelp32ReadProcessMemory(DWORD th32ProcessID,LPCVOID lpBaseAddress,LPVOID lpBuffer,SIZE_T cbRead,SIZE_T *lpNumberOfBytesRead); + + typedef struct tagPROCESSENTRY32W { + DWORD dwSize; + DWORD cntUsage; + DWORD th32ProcessID; + ULONG_PTR th32DefaultHeapID; + DWORD th32ModuleID; + DWORD cntThreads; + DWORD th32ParentProcessID; + LONG pcPriClassBase; + DWORD dwFlags; + WCHAR szExeFile[MAX_PATH]; + } PROCESSENTRY32W; + typedef PROCESSENTRY32W *PPROCESSENTRY32W; + typedef PROCESSENTRY32W *LPPROCESSENTRY32W; + + WINBOOL WINAPI Process32FirstW(HANDLE hSnapshot,LPPROCESSENTRY32W lppe); + WINBOOL WINAPI Process32NextW(HANDLE hSnapshot,LPPROCESSENTRY32W lppe); + + typedef struct tagPROCESSENTRY32 { + DWORD dwSize; + DWORD cntUsage; + DWORD th32ProcessID; + ULONG_PTR th32DefaultHeapID; + DWORD th32ModuleID; + DWORD cntThreads; + DWORD th32ParentProcessID; + LONG pcPriClassBase; + DWORD dwFlags; + CHAR szExeFile[MAX_PATH]; + } PROCESSENTRY32; + typedef PROCESSENTRY32 *PPROCESSENTRY32; + typedef PROCESSENTRY32 *LPPROCESSENTRY32; + + WINBOOL WINAPI Process32First(HANDLE hSnapshot,LPPROCESSENTRY32 lppe); + WINBOOL WINAPI Process32Next(HANDLE hSnapshot,LPPROCESSENTRY32 lppe); + +#if defined(UNICODE) +#define Process32First Process32FirstW +#define Process32Next Process32NextW +#define PROCESSENTRY32 PROCESSENTRY32W +#define PPROCESSENTRY32 PPROCESSENTRY32W +#define LPPROCESSENTRY32 LPPROCESSENTRY32W +#endif + + typedef struct tagTHREADENTRY32 { + DWORD dwSize; + DWORD cntUsage; + DWORD th32ThreadID; + DWORD th32OwnerProcessID; + LONG tpBasePri; + LONG tpDeltaPri; + DWORD dwFlags; + } THREADENTRY32; + typedef THREADENTRY32 *PTHREADENTRY32; + typedef THREADENTRY32 *LPTHREADENTRY32; + + WINBOOL WINAPI Thread32First(HANDLE hSnapshot,LPTHREADENTRY32 lpte); + WINBOOL WINAPI Thread32Next(HANDLE hSnapshot,LPTHREADENTRY32 lpte); + + typedef struct tagMODULEENTRY32W { + DWORD dwSize; + DWORD th32ModuleID; + DWORD th32ProcessID; + DWORD GlblcntUsage; + DWORD ProccntUsage; + BYTE *modBaseAddr; + DWORD modBaseSize; + HMODULE hModule; + WCHAR szModule[MAX_MODULE_NAME32 + 1]; + WCHAR szExePath[MAX_PATH]; + } MODULEENTRY32W; + typedef MODULEENTRY32W *PMODULEENTRY32W; + typedef MODULEENTRY32W *LPMODULEENTRY32W; + + WINBOOL WINAPI Module32FirstW(HANDLE hSnapshot,LPMODULEENTRY32W lpme); + WINBOOL WINAPI Module32NextW(HANDLE hSnapshot,LPMODULEENTRY32W lpme); + + typedef struct tagMODULEENTRY32 { + DWORD dwSize; + DWORD th32ModuleID; + DWORD th32ProcessID; + DWORD GlblcntUsage; + DWORD ProccntUsage; + BYTE *modBaseAddr; + DWORD modBaseSize; + HMODULE hModule; + char szModule[MAX_MODULE_NAME32 + 1]; + char szExePath[MAX_PATH]; + } MODULEENTRY32; + typedef MODULEENTRY32 *PMODULEENTRY32; + typedef MODULEENTRY32 *LPMODULEENTRY32; + + WINBOOL WINAPI Module32First(HANDLE hSnapshot,LPMODULEENTRY32 lpme); + WINBOOL WINAPI Module32Next(HANDLE hSnapshot,LPMODULEENTRY32 lpme); + +#if defined(UNICODE) +#define Module32First Module32FirstW +#define Module32Next Module32NextW +#define MODULEENTRY32 MODULEENTRY32W +#define PMODULEENTRY32 PMODULEENTRY32W +#define LPMODULEENTRY32 LPMODULEENTRY32W +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlogstg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlogstg.h new file mode 100644 index 00000000..26104fe0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tlogstg.h @@ -0,0 +1,573 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/tlogstg.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 __tlogstg_h__ +#define __tlogstg_h__ + +/* Forward declarations */ + +#ifndef __ITravelLogEntry_FWD_DEFINED__ +#define __ITravelLogEntry_FWD_DEFINED__ +typedef interface ITravelLogEntry ITravelLogEntry; +#ifdef __cplusplus +interface ITravelLogEntry; +#endif /* __cplusplus */ +#endif + +#ifndef __ITravelLogClient_FWD_DEFINED__ +#define __ITravelLogClient_FWD_DEFINED__ +typedef interface ITravelLogClient ITravelLogClient; +#ifdef __cplusplus +interface ITravelLogClient; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumTravelLogEntry_FWD_DEFINED__ +#define __IEnumTravelLogEntry_FWD_DEFINED__ +typedef interface IEnumTravelLogEntry IEnumTravelLogEntry; +#ifdef __cplusplus +interface IEnumTravelLogEntry; +#endif /* __cplusplus */ +#endif + +#ifndef __ITravelLogStg_FWD_DEFINED__ +#define __ITravelLogStg_FWD_DEFINED__ +typedef interface ITravelLogStg ITravelLogStg; +#ifdef __cplusplus +interface ITravelLogStg; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#define SID_STravelLogCursor IID_ITravelLogStg +enum tagTLENUMF { + TLEF_RELATIVE_INCLUDE_CURRENT = 0x1, + TLEF_RELATIVE_BACK = 0x10, + TLEF_RELATIVE_FORE = 0x20, + TLEF_INCLUDE_UNINVOKEABLE = 0x40, + TLEF_ABSOLUTE = 0x31, + TLEF_EXCLUDE_SUBFRAME_ENTRIES = 0x80 +}; +typedef struct _WINDOWDATA { + DWORD dwWindowID; + UINT uiCP; + PIDLIST_ABSOLUTE pidl; + LPWSTR lpszUrl; + LPWSTR lpszUrlLocation; + LPWSTR lpszTitle; +} WINDOWDATA; +typedef DWORD TLENUMF; +typedef WINDOWDATA *LPWINDOWDATA; +typedef const WINDOWDATA *LPCWINDOWDATA; +/***************************************************************************** + * ITravelLogEntry interface + */ +#ifndef __ITravelLogEntry_INTERFACE_DEFINED__ +#define __ITravelLogEntry_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITravelLogEntry, 0x7ebfdd87, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7ebfdd87-ad18-11d3-a4c5-00c04f72d6b8") +ITravelLogEntry : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetTitle( + LPWSTR *ppszTitle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetURL( + LPWSTR *ppszURL) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITravelLogEntry, 0x7ebfdd87, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8) +#endif +#else +typedef struct ITravelLogEntryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITravelLogEntry *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITravelLogEntry *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITravelLogEntry *This); + + /*** ITravelLogEntry methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTitle)( + ITravelLogEntry *This, + LPWSTR *ppszTitle); + + HRESULT (STDMETHODCALLTYPE *GetURL)( + ITravelLogEntry *This, + LPWSTR *ppszURL); + + END_INTERFACE +} ITravelLogEntryVtbl; + +interface ITravelLogEntry { + CONST_VTBL ITravelLogEntryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITravelLogEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITravelLogEntry_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITravelLogEntry_Release(This) (This)->lpVtbl->Release(This) +/*** ITravelLogEntry methods ***/ +#define ITravelLogEntry_GetTitle(This,ppszTitle) (This)->lpVtbl->GetTitle(This,ppszTitle) +#define ITravelLogEntry_GetURL(This,ppszURL) (This)->lpVtbl->GetURL(This,ppszURL) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITravelLogEntry_QueryInterface(ITravelLogEntry* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITravelLogEntry_AddRef(ITravelLogEntry* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITravelLogEntry_Release(ITravelLogEntry* This) { + return This->lpVtbl->Release(This); +} +/*** ITravelLogEntry methods ***/ +static inline HRESULT ITravelLogEntry_GetTitle(ITravelLogEntry* This,LPWSTR *ppszTitle) { + return This->lpVtbl->GetTitle(This,ppszTitle); +} +static inline HRESULT ITravelLogEntry_GetURL(ITravelLogEntry* This,LPWSTR *ppszURL) { + return This->lpVtbl->GetURL(This,ppszURL); +} +#endif +#endif + +#endif + + +#endif /* __ITravelLogEntry_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITravelLogClient interface + */ +#ifndef __ITravelLogClient_INTERFACE_DEFINED__ +#define __ITravelLogClient_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITravelLogClient, 0x241c033e, 0xe659, 0x43da, 0xaa,0x4d, 0x40,0x86,0xdb,0xc4,0x75,0x8d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("241c033e-e659-43da-aa4d-4086dbc4758d") +ITravelLogClient : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FindWindowByIndex( + DWORD dwID, + IUnknown **ppunk) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWindowData( + IStream *pStream, + LPWINDOWDATA pWinData) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadHistoryPosition( + LPWSTR pszUrlLocation, + DWORD dwPosition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITravelLogClient, 0x241c033e, 0xe659, 0x43da, 0xaa,0x4d, 0x40,0x86,0xdb,0xc4,0x75,0x8d) +#endif +#else +typedef struct ITravelLogClientVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITravelLogClient *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITravelLogClient *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITravelLogClient *This); + + /*** ITravelLogClient methods ***/ + HRESULT (STDMETHODCALLTYPE *FindWindowByIndex)( + ITravelLogClient *This, + DWORD dwID, + IUnknown **ppunk); + + HRESULT (STDMETHODCALLTYPE *GetWindowData)( + ITravelLogClient *This, + IStream *pStream, + LPWINDOWDATA pWinData); + + HRESULT (STDMETHODCALLTYPE *LoadHistoryPosition)( + ITravelLogClient *This, + LPWSTR pszUrlLocation, + DWORD dwPosition); + + END_INTERFACE +} ITravelLogClientVtbl; + +interface ITravelLogClient { + CONST_VTBL ITravelLogClientVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITravelLogClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITravelLogClient_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITravelLogClient_Release(This) (This)->lpVtbl->Release(This) +/*** ITravelLogClient methods ***/ +#define ITravelLogClient_FindWindowByIndex(This,dwID,ppunk) (This)->lpVtbl->FindWindowByIndex(This,dwID,ppunk) +#define ITravelLogClient_GetWindowData(This,pStream,pWinData) (This)->lpVtbl->GetWindowData(This,pStream,pWinData) +#define ITravelLogClient_LoadHistoryPosition(This,pszUrlLocation,dwPosition) (This)->lpVtbl->LoadHistoryPosition(This,pszUrlLocation,dwPosition) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITravelLogClient_QueryInterface(ITravelLogClient* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITravelLogClient_AddRef(ITravelLogClient* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITravelLogClient_Release(ITravelLogClient* This) { + return This->lpVtbl->Release(This); +} +/*** ITravelLogClient methods ***/ +static inline HRESULT ITravelLogClient_FindWindowByIndex(ITravelLogClient* This,DWORD dwID,IUnknown **ppunk) { + return This->lpVtbl->FindWindowByIndex(This,dwID,ppunk); +} +static inline HRESULT ITravelLogClient_GetWindowData(ITravelLogClient* This,IStream *pStream,LPWINDOWDATA pWinData) { + return This->lpVtbl->GetWindowData(This,pStream,pWinData); +} +static inline HRESULT ITravelLogClient_LoadHistoryPosition(ITravelLogClient* This,LPWSTR pszUrlLocation,DWORD dwPosition) { + return This->lpVtbl->LoadHistoryPosition(This,pszUrlLocation,dwPosition); +} +#endif +#endif + +#endif + + +#endif /* __ITravelLogClient_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumTravelLogEntry interface + */ +#ifndef __IEnumTravelLogEntry_INTERFACE_DEFINED__ +#define __IEnumTravelLogEntry_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumTravelLogEntry, 0x7ebfdd85, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7ebfdd85-ad18-11d3-a4c5-00c04f72d6b8") +IEnumTravelLogEntry : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG cElt, + ITravelLogEntry **rgElt, + ULONG *pcEltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG cElt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumTravelLogEntry **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumTravelLogEntry, 0x7ebfdd85, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8) +#endif +#else +typedef struct IEnumTravelLogEntryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumTravelLogEntry *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumTravelLogEntry *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumTravelLogEntry *This); + + /*** IEnumTravelLogEntry methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumTravelLogEntry *This, + ULONG cElt, + ITravelLogEntry **rgElt, + ULONG *pcEltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumTravelLogEntry *This, + ULONG cElt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumTravelLogEntry *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumTravelLogEntry *This, + IEnumTravelLogEntry **ppEnum); + + END_INTERFACE +} IEnumTravelLogEntryVtbl; + +interface IEnumTravelLogEntry { + CONST_VTBL IEnumTravelLogEntryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumTravelLogEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumTravelLogEntry_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumTravelLogEntry_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumTravelLogEntry methods ***/ +#define IEnumTravelLogEntry_Next(This,cElt,rgElt,pcEltFetched) (This)->lpVtbl->Next(This,cElt,rgElt,pcEltFetched) +#define IEnumTravelLogEntry_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt) +#define IEnumTravelLogEntry_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumTravelLogEntry_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumTravelLogEntry_QueryInterface(IEnumTravelLogEntry* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumTravelLogEntry_AddRef(IEnumTravelLogEntry* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumTravelLogEntry_Release(IEnumTravelLogEntry* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumTravelLogEntry methods ***/ +static inline HRESULT IEnumTravelLogEntry_Next(IEnumTravelLogEntry* This,ULONG cElt,ITravelLogEntry **rgElt,ULONG *pcEltFetched) { + return This->lpVtbl->Next(This,cElt,rgElt,pcEltFetched); +} +static inline HRESULT IEnumTravelLogEntry_Skip(IEnumTravelLogEntry* This,ULONG cElt) { + return This->lpVtbl->Skip(This,cElt); +} +static inline HRESULT IEnumTravelLogEntry_Reset(IEnumTravelLogEntry* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumTravelLogEntry_Clone(IEnumTravelLogEntry* This,IEnumTravelLogEntry **ppEnum) { + return This->lpVtbl->Clone(This,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IEnumTravelLogEntry_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITravelLogStg interface + */ +#ifndef __ITravelLogStg_INTERFACE_DEFINED__ +#define __ITravelLogStg_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITravelLogStg, 0x7ebfdd80, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7ebfdd80-ad18-11d3-a4c5-00c04f72d6b8") +ITravelLogStg : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateEntry( + LPCWSTR pszUrl, + LPCWSTR pszTitle, + ITravelLogEntry *ptleRelativeTo, + WINBOOL fPrepend, + ITravelLogEntry **pptle) = 0; + + virtual HRESULT STDMETHODCALLTYPE TravelTo( + ITravelLogEntry *ptle) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumEntries( + TLENUMF flags, + IEnumTravelLogEntry **ppenum) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindEntries( + TLENUMF flags, + LPCWSTR pszUrl, + IEnumTravelLogEntry **ppenum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + TLENUMF flags, + DWORD *pcEntries) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveEntry( + ITravelLogEntry *ptle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRelativeEntry( + int iOffset, + ITravelLogEntry **ptle) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITravelLogStg, 0x7ebfdd80, 0xad18, 0x11d3, 0xa4,0xc5, 0x00,0xc0,0x4f,0x72,0xd6,0xb8) +#endif +#else +typedef struct ITravelLogStgVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITravelLogStg *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITravelLogStg *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITravelLogStg *This); + + /*** ITravelLogStg methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateEntry)( + ITravelLogStg *This, + LPCWSTR pszUrl, + LPCWSTR pszTitle, + ITravelLogEntry *ptleRelativeTo, + WINBOOL fPrepend, + ITravelLogEntry **pptle); + + HRESULT (STDMETHODCALLTYPE *TravelTo)( + ITravelLogStg *This, + ITravelLogEntry *ptle); + + HRESULT (STDMETHODCALLTYPE *EnumEntries)( + ITravelLogStg *This, + TLENUMF flags, + IEnumTravelLogEntry **ppenum); + + HRESULT (STDMETHODCALLTYPE *FindEntries)( + ITravelLogStg *This, + TLENUMF flags, + LPCWSTR pszUrl, + IEnumTravelLogEntry **ppenum); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + ITravelLogStg *This, + TLENUMF flags, + DWORD *pcEntries); + + HRESULT (STDMETHODCALLTYPE *RemoveEntry)( + ITravelLogStg *This, + ITravelLogEntry *ptle); + + HRESULT (STDMETHODCALLTYPE *GetRelativeEntry)( + ITravelLogStg *This, + int iOffset, + ITravelLogEntry **ptle); + + END_INTERFACE +} ITravelLogStgVtbl; + +interface ITravelLogStg { + CONST_VTBL ITravelLogStgVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITravelLogStg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITravelLogStg_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITravelLogStg_Release(This) (This)->lpVtbl->Release(This) +/*** ITravelLogStg methods ***/ +#define ITravelLogStg_CreateEntry(This,pszUrl,pszTitle,ptleRelativeTo,fPrepend,pptle) (This)->lpVtbl->CreateEntry(This,pszUrl,pszTitle,ptleRelativeTo,fPrepend,pptle) +#define ITravelLogStg_TravelTo(This,ptle) (This)->lpVtbl->TravelTo(This,ptle) +#define ITravelLogStg_EnumEntries(This,flags,ppenum) (This)->lpVtbl->EnumEntries(This,flags,ppenum) +#define ITravelLogStg_FindEntries(This,flags,pszUrl,ppenum) (This)->lpVtbl->FindEntries(This,flags,pszUrl,ppenum) +#define ITravelLogStg_GetCount(This,flags,pcEntries) (This)->lpVtbl->GetCount(This,flags,pcEntries) +#define ITravelLogStg_RemoveEntry(This,ptle) (This)->lpVtbl->RemoveEntry(This,ptle) +#define ITravelLogStg_GetRelativeEntry(This,iOffset,ptle) (This)->lpVtbl->GetRelativeEntry(This,iOffset,ptle) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITravelLogStg_QueryInterface(ITravelLogStg* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITravelLogStg_AddRef(ITravelLogStg* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITravelLogStg_Release(ITravelLogStg* This) { + return This->lpVtbl->Release(This); +} +/*** ITravelLogStg methods ***/ +static inline HRESULT ITravelLogStg_CreateEntry(ITravelLogStg* This,LPCWSTR pszUrl,LPCWSTR pszTitle,ITravelLogEntry *ptleRelativeTo,WINBOOL fPrepend,ITravelLogEntry **pptle) { + return This->lpVtbl->CreateEntry(This,pszUrl,pszTitle,ptleRelativeTo,fPrepend,pptle); +} +static inline HRESULT ITravelLogStg_TravelTo(ITravelLogStg* This,ITravelLogEntry *ptle) { + return This->lpVtbl->TravelTo(This,ptle); +} +static inline HRESULT ITravelLogStg_EnumEntries(ITravelLogStg* This,TLENUMF flags,IEnumTravelLogEntry **ppenum) { + return This->lpVtbl->EnumEntries(This,flags,ppenum); +} +static inline HRESULT ITravelLogStg_FindEntries(ITravelLogStg* This,TLENUMF flags,LPCWSTR pszUrl,IEnumTravelLogEntry **ppenum) { + return This->lpVtbl->FindEntries(This,flags,pszUrl,ppenum); +} +static inline HRESULT ITravelLogStg_GetCount(ITravelLogStg* This,TLENUMF flags,DWORD *pcEntries) { + return This->lpVtbl->GetCount(This,flags,pcEntries); +} +static inline HRESULT ITravelLogStg_RemoveEntry(ITravelLogStg* This,ITravelLogEntry *ptle) { + return This->lpVtbl->RemoveEntry(This,ptle); +} +static inline HRESULT ITravelLogStg_GetRelativeEntry(ITravelLogStg* This,int iOffset,ITravelLogEntry **ptle) { + return This->lpVtbl->GetRelativeEntry(This,iOffset,ptle); +} +#endif +#endif + +#endif + + +#endif /* __ITravelLogStg_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER PIDLIST_ABSOLUTE_UserSize (ULONG *, ULONG, PIDLIST_ABSOLUTE *); +unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserMarshal (ULONG *, unsigned char *, PIDLIST_ABSOLUTE *); +unsigned char * __RPC_USER PIDLIST_ABSOLUTE_UserUnmarshal(ULONG *, unsigned char *, PIDLIST_ABSOLUTE *); +void __RPC_USER PIDLIST_ABSOLUTE_UserFree (ULONG *, PIDLIST_ABSOLUTE *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __tlogstg_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tmschema.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tmschema.h new file mode 100644 index 00000000..5d0c609e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tmschema.h @@ -0,0 +1,1096 @@ +/** + * 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. + */ +#if (defined(SCHEMA_STRINGS)) || (! defined(TMSCHEMA_H)) + +#if (_WIN32_WINNT >= 0x0600 || defined __VSSYM32_H__) +#warning is obsolete, use instead. +#endif + +#define TMSCHEMA_H + +#include "schemadef.h" + +#define THEMEMGR_VERSION 1 + +BEGIN_TM_SCHEMA(ThemeMgrSchema) + +BEGIN_TM_ENUM(BGTYPE) +TM_ENUM(0,BT,IMAGEFILE) +TM_ENUM(1,BT,BORDERFILL) +TM_ENUM(2,BT,NONE) +END_TM_ENUM() + +BEGIN_TM_ENUM(IMAGELAYOUT) +TM_ENUM(0,IL,VERTICAL) +TM_ENUM(1,IL,HORIZONTAL) +END_TM_ENUM() + +BEGIN_TM_ENUM(BORDERTYPE) +TM_ENUM(0,BT,RECT) +TM_ENUM(1,BT,ROUNDRECT) +TM_ENUM(2,BT,ELLIPSE) +END_TM_ENUM() + +BEGIN_TM_ENUM(FILLTYPE) +TM_ENUM(0,FT,SOLID) +TM_ENUM(1,FT,VERTGRADIENT) +TM_ENUM(2,FT,HORZGRADIENT) +TM_ENUM(3,FT,RADIALGRADIENT) +TM_ENUM(4,FT,TILEIMAGE) +END_TM_ENUM() + +BEGIN_TM_ENUM(SIZINGTYPE) +TM_ENUM(0,ST,TRUESIZE) +TM_ENUM(1,ST,STRETCH) +TM_ENUM(2,ST,TILE) +END_TM_ENUM() + +BEGIN_TM_ENUM(HALIGN) +TM_ENUM(0,HA,LEFT) +TM_ENUM(1,HA,CENTER) +TM_ENUM(2,HA,RIGHT) +END_TM_ENUM() + +BEGIN_TM_ENUM(CONTENTALIGNMENT) +TM_ENUM(0,CA,LEFT) +TM_ENUM(1,CA,CENTER) +TM_ENUM(2,CA,RIGHT) +END_TM_ENUM() + +BEGIN_TM_ENUM(VALIGN) +TM_ENUM(0,VA,TOP) +TM_ENUM(1,VA,CENTER) +TM_ENUM(2,VA,BOTTOM) +END_TM_ENUM() + +BEGIN_TM_ENUM(OFFSETTYPE) +TM_ENUM(0,OT,TOPLEFT) +TM_ENUM(1,OT,TOPRIGHT) +TM_ENUM(2,OT,TOPMIDDLE) +TM_ENUM(3,OT,BOTTOMLEFT) +TM_ENUM(4,OT,BOTTOMRIGHT) +TM_ENUM(5,OT,BOTTOMMIDDLE) +TM_ENUM(6,OT,MIDDLELEFT) +TM_ENUM(7,OT,MIDDLERIGHT) +TM_ENUM(8,OT,LEFTOFCAPTION) +TM_ENUM(9,OT,RIGHTOFCAPTION) +TM_ENUM(10,OT,LEFTOFLASTBUTTON) +TM_ENUM(11,OT,RIGHTOFLASTBUTTON) +TM_ENUM(12,OT,ABOVELASTBUTTON) +TM_ENUM(13,OT,BELOWLASTBUTTON) +END_TM_ENUM() + +BEGIN_TM_ENUM(ICONEFFECT) +TM_ENUM(0,ICE,NONE) +TM_ENUM(1,ICE,GLOW) +TM_ENUM(2,ICE,SHADOW) +TM_ENUM(3,ICE,PULSE) +TM_ENUM(4,ICE,ALPHA) +END_TM_ENUM() + +BEGIN_TM_ENUM(TEXTSHADOWTYPE) +TM_ENUM(0,TST,NONE) +TM_ENUM(1,TST,SINGLE) +TM_ENUM(2,TST,CONTINUOUS) +END_TM_ENUM() + +BEGIN_TM_ENUM(GLYPHTYPE) +TM_ENUM(0,GT,NONE) +TM_ENUM(1,GT,IMAGEGLYPH) +TM_ENUM(2,GT,FONTGLYPH) +END_TM_ENUM() + +BEGIN_TM_ENUM(IMAGESELECTTYPE) +TM_ENUM(0,IST,NONE) +TM_ENUM(1,IST,SIZE) +TM_ENUM(2,IST,DPI) +END_TM_ENUM() + +BEGIN_TM_ENUM(TRUESIZESCALINGTYPE) +TM_ENUM(0,TSST,NONE) +TM_ENUM(1,TSST,SIZE) +TM_ENUM(2,TSST,DPI) +END_TM_ENUM() + +BEGIN_TM_ENUM(GLYPHFONTSIZINGTYPE) +TM_ENUM(0,GFST,NONE) +TM_ENUM(1,GFST,SIZE) +TM_ENUM(2,GFST,DPI) +END_TM_ENUM() + +BEGIN_TM_PROPS() + +TM_PROP(201,TMT,STRING,STRING) +TM_PROP(202,TMT,INT,INT) +TM_PROP(203,TMT,WINBOOL,WINBOOL) +TM_PROP(204,TMT,COLOR,COLOR) +TM_PROP(205,TMT,MARGINS,MARGINS) +TM_PROP(206,TMT,FILENAME,FILENAME) +TM_PROP(207,TMT,SIZE,SIZE) +TM_PROP(208,TMT,POSITION,POSITION) +TM_PROP(209,TMT,RECT,RECT) +TM_PROP(210,TMT,FONT,FONT) +TM_PROP(211,TMT,INTLIST,INTLIST) + +TM_PROP(401,TMT,COLORSCHEMES,STRING) +TM_PROP(402,TMT,SIZES,STRING) +TM_PROP(403,TMT,CHARSET,INT) + +#define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME +#define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION + +TM_PROP(601,TMT,DISPLAYNAME,STRING) +TM_PROP(602,TMT,TOOLTIP,STRING) +TM_PROP(603,TMT,COMPANY,STRING) +TM_PROP(604,TMT,AUTHOR,STRING) +TM_PROP(605,TMT,COPYRIGHT,STRING) +TM_PROP(606,TMT,URL,STRING) +TM_PROP(607,TMT,VERSION,STRING) +TM_PROP(608,TMT,DESCRIPTION,STRING) + +#define TMT_FIRSTFONT TMT_CAPTIONFONT +#define TMT_LASTFONT TMT_ICONTITLEFONT + +TM_PROP(801,TMT,CAPTIONFONT,FONT) +TM_PROP(802,TMT,SMALLCAPTIONFONT,FONT) +TM_PROP(803,TMT,MENUFONT,FONT) +TM_PROP(804,TMT,STATUSFONT,FONT) +TM_PROP(805,TMT,MSGBOXFONT,FONT) +TM_PROP(806,TMT,ICONTITLEFONT,FONT) + +#define TMT_FIRSTBOOL TMT_FLATMENUS +#define TMT_LASTBOOL TMT_FLATMENUS + +TM_PROP(1001,TMT,FLATMENUS,WINBOOL) + +#define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH +#define TMT_LASTSIZE TMT_MENUBARHEIGHT + +TM_PROP(1201,TMT,SIZINGBORDERWIDTH,SIZE) +TM_PROP(1202,TMT,SCROLLBARWIDTH,SIZE) +TM_PROP(1203,TMT,SCROLLBARHEIGHT,SIZE) +TM_PROP(1204,TMT,CAPTIONBARWIDTH,SIZE) +TM_PROP(1205,TMT,CAPTIONBARHEIGHT,SIZE) +TM_PROP(1206,TMT,SMCAPTIONBARWIDTH,SIZE) +TM_PROP(1207,TMT,SMCAPTIONBARHEIGHT,SIZE) +TM_PROP(1208,TMT,MENUBARWIDTH,SIZE) +TM_PROP(1209,TMT,MENUBARHEIGHT,SIZE) + +#define TMT_FIRSTINT TMT_MINCOLORDEPTH +#define TMT_LASTINT TMT_MINCOLORDEPTH + +TM_PROP(1301,TMT,MINCOLORDEPTH,INT) + +#define TMT_FIRSTSTRING TMT_CSSNAME +#define TMT_LASTSTRING TMT_XMLNAME + +TM_PROP(1401,TMT,CSSNAME,STRING) +TM_PROP(1402,TMT,XMLNAME,STRING) + +#define TMT_FIRSTCOLOR TMT_SCROLLBAR +#define TMT_LASTCOLOR TMT_MENUBAR + +TM_PROP(1601,TMT,SCROLLBAR,COLOR) +TM_PROP(1602,TMT,BACKGROUND,COLOR) +TM_PROP(1603,TMT,ACTIVECAPTION,COLOR) +TM_PROP(1604,TMT,INACTIVECAPTION,COLOR) +TM_PROP(1605,TMT,MENU,COLOR) +TM_PROP(1606,TMT,WINDOW,COLOR) +TM_PROP(1607,TMT,WINDOWFRAME,COLOR) +TM_PROP(1608,TMT,MENUTEXT,COLOR) +TM_PROP(1609,TMT,WINDOWTEXT,COLOR) +TM_PROP(1610,TMT,CAPTIONTEXT,COLOR) +TM_PROP(1611,TMT,ACTIVEBORDER,COLOR) +TM_PROP(1612,TMT,INACTIVEBORDER,COLOR) +TM_PROP(1613,TMT,APPWORKSPACE,COLOR) +TM_PROP(1614,TMT,HIGHLIGHT,COLOR) +TM_PROP(1615,TMT,HIGHLIGHTTEXT,COLOR) +TM_PROP(1616,TMT,BTNFACE,COLOR) +TM_PROP(1617,TMT,BTNSHADOW,COLOR) +TM_PROP(1618,TMT,GRAYTEXT,COLOR) +TM_PROP(1619,TMT,BTNTEXT,COLOR) +TM_PROP(1620,TMT,INACTIVECAPTIONTEXT,COLOR) +TM_PROP(1621,TMT,BTNHIGHLIGHT,COLOR) +TM_PROP(1622,TMT,DKSHADOW3D,COLOR) +TM_PROP(1623,TMT,LIGHT3D,COLOR) +TM_PROP(1624,TMT,INFOTEXT,COLOR) +TM_PROP(1625,TMT,INFOBK,COLOR) +TM_PROP(1626,TMT,BUTTONALTERNATEFACE,COLOR) +TM_PROP(1627,TMT,HOTTRACKING,COLOR) +TM_PROP(1628,TMT,GRADIENTACTIVECAPTION,COLOR) +TM_PROP(1629,TMT,GRADIENTINACTIVECAPTION,COLOR) +TM_PROP(1630,TMT,MENUHILIGHT,COLOR) +TM_PROP(1631,TMT,MENUBAR,COLOR) + +TM_PROP(1801,TMT,FROMHUE1,INT) +TM_PROP(1802,TMT,FROMHUE2,INT) +TM_PROP(1803,TMT,FROMHUE3,INT) +TM_PROP(1804,TMT,FROMHUE4,INT) +TM_PROP(1805,TMT,FROMHUE5,INT) +TM_PROP(1806,TMT,TOHUE1,INT) +TM_PROP(1807,TMT,TOHUE2,INT) +TM_PROP(1808,TMT,TOHUE3,INT) +TM_PROP(1809,TMT,TOHUE4,INT) +TM_PROP(1810,TMT,TOHUE5,INT) + +TM_PROP(2001,TMT,FROMCOLOR1,COLOR) +TM_PROP(2002,TMT,FROMCOLOR2,COLOR) +TM_PROP(2003,TMT,FROMCOLOR3,COLOR) +TM_PROP(2004,TMT,FROMCOLOR4,COLOR) +TM_PROP(2005,TMT,FROMCOLOR5,COLOR) +TM_PROP(2006,TMT,TOCOLOR1,COLOR) +TM_PROP(2007,TMT,TOCOLOR2,COLOR) +TM_PROP(2008,TMT,TOCOLOR3,COLOR) +TM_PROP(2009,TMT,TOCOLOR4,COLOR) +TM_PROP(2010,TMT,TOCOLOR5,COLOR) + +TM_PROP(2201,TMT,TRANSPARENT,WINBOOL) +TM_PROP(2202,TMT,AUTOSIZE,WINBOOL) +TM_PROP(2203,TMT,BORDERONLY,WINBOOL) +TM_PROP(2204,TMT,COMPOSITED,WINBOOL) +TM_PROP(2205,TMT,BGFILL,WINBOOL) +TM_PROP(2206,TMT,GLYPHTRANSPARENT,WINBOOL) +TM_PROP(2207,TMT,GLYPHONLY,WINBOOL) +TM_PROP(2208,TMT,ALWAYSSHOWSIZINGBAR,WINBOOL) +TM_PROP(2209,TMT,MIRRORIMAGE,WINBOOL) +TM_PROP(2210,TMT,UNIFORMSIZING,WINBOOL) +TM_PROP(2211,TMT,INTEGRALSIZING,WINBOOL) +TM_PROP(2212,TMT,SOURCEGROW,WINBOOL) +TM_PROP(2213,TMT,SOURCESHRINK,WINBOOL) + +TM_PROP(2401,TMT,IMAGECOUNT,INT) +TM_PROP(2402,TMT,ALPHALEVEL,INT) +TM_PROP(2403,TMT,BORDERSIZE,INT) +TM_PROP(2404,TMT,ROUNDCORNERWIDTH,INT) +TM_PROP(2405,TMT,ROUNDCORNERHEIGHT,INT) +TM_PROP(2406,TMT,GRADIENTRATIO1,INT) +TM_PROP(2407,TMT,GRADIENTRATIO2,INT) +TM_PROP(2408,TMT,GRADIENTRATIO3,INT) +TM_PROP(2409,TMT,GRADIENTRATIO4,INT) +TM_PROP(2410,TMT,GRADIENTRATIO5,INT) +TM_PROP(2411,TMT,PROGRESSCHUNKSIZE,INT) +TM_PROP(2412,TMT,PROGRESSSPACESIZE,INT) +TM_PROP(2413,TMT,SATURATION,INT) +TM_PROP(2414,TMT,TEXTBORDERSIZE,INT) +TM_PROP(2415,TMT,ALPHATHRESHOLD,INT) +TM_PROP(2416,TMT,WIDTH,SIZE) +TM_PROP(2417,TMT,HEIGHT,SIZE) +TM_PROP(2418,TMT,GLYPHINDEX,INT) +TM_PROP(2419,TMT,TRUESIZESTRETCHMARK,INT) +TM_PROP(2420,TMT,MINDPI1,INT) +TM_PROP(2421,TMT,MINDPI2,INT) +TM_PROP(2422,TMT,MINDPI3,INT) +TM_PROP(2423,TMT,MINDPI4,INT) +TM_PROP(2424,TMT,MINDPI5,INT) + +TM_PROP(2601,TMT,GLYPHFONT,FONT) + +TM_PROP(3001,TMT,IMAGEFILE,FILENAME) +TM_PROP(3002,TMT,IMAGEFILE1,FILENAME) +TM_PROP(3003,TMT,IMAGEFILE2,FILENAME) +TM_PROP(3004,TMT,IMAGEFILE3,FILENAME) +TM_PROP(3005,TMT,IMAGEFILE4,FILENAME) +TM_PROP(3006,TMT,IMAGEFILE5,FILENAME) +TM_PROP(3007,TMT,STOCKIMAGEFILE,FILENAME) +TM_PROP(3008,TMT,GLYPHIMAGEFILE,FILENAME) + +TM_PROP(3201,TMT,TEXT,STRING) + +TM_PROP(3401,TMT,OFFSET,POSITION) +TM_PROP(3402,TMT,TEXTSHADOWOFFSET,POSITION) +TM_PROP(3403,TMT,MINSIZE,POSITION) +TM_PROP(3404,TMT,MINSIZE1,POSITION) +TM_PROP(3405,TMT,MINSIZE2,POSITION) +TM_PROP(3406,TMT,MINSIZE3,POSITION) +TM_PROP(3407,TMT,MINSIZE4,POSITION) +TM_PROP(3408,TMT,MINSIZE5,POSITION) +TM_PROP(3409,TMT,NORMALSIZE,POSITION) + +TM_PROP(3601,TMT,SIZINGMARGINS,MARGINS) +TM_PROP(3602,TMT,CONTENTMARGINS,MARGINS) +TM_PROP(3603,TMT,CAPTIONMARGINS,MARGINS) + +TM_PROP(3801,TMT,BORDERCOLOR,COLOR) +TM_PROP(3802,TMT,FILLCOLOR,COLOR) +TM_PROP(3803,TMT,TEXTCOLOR,COLOR) +TM_PROP(3804,TMT,EDGELIGHTCOLOR,COLOR) +TM_PROP(3805,TMT,EDGEHIGHLIGHTCOLOR,COLOR) +TM_PROP(3806,TMT,EDGESHADOWCOLOR,COLOR) +TM_PROP(3807,TMT,EDGEDKSHADOWCOLOR,COLOR) +TM_PROP(3808,TMT,EDGEFILLCOLOR,COLOR) +TM_PROP(3809,TMT,TRANSPARENTCOLOR,COLOR) +TM_PROP(3810,TMT,GRADIENTCOLOR1,COLOR) +TM_PROP(3811,TMT,GRADIENTCOLOR2,COLOR) +TM_PROP(3812,TMT,GRADIENTCOLOR3,COLOR) +TM_PROP(3813,TMT,GRADIENTCOLOR4,COLOR) +TM_PROP(3814,TMT,GRADIENTCOLOR5,COLOR) +TM_PROP(3815,TMT,SHADOWCOLOR,COLOR) +TM_PROP(3816,TMT,GLOWCOLOR,COLOR) +TM_PROP(3817,TMT,TEXTBORDERCOLOR,COLOR) +TM_PROP(3818,TMT,TEXTSHADOWCOLOR,COLOR) +TM_PROP(3819,TMT,GLYPHTEXTCOLOR,COLOR) +TM_PROP(3820,TMT,GLYPHTRANSPARENTCOLOR,COLOR) +TM_PROP(3821,TMT,FILLCOLORHINT,COLOR) +TM_PROP(3822,TMT,BORDERCOLORHINT,COLOR) +TM_PROP(3823,TMT,ACCENTCOLORHINT,COLOR) + +TM_PROP(4001,TMT,BGTYPE,ENUM) +TM_PROP(4002,TMT,BORDERTYPE,ENUM) +TM_PROP(4003,TMT,FILLTYPE,ENUM) +TM_PROP(4004,TMT,SIZINGTYPE,ENUM) +TM_PROP(4005,TMT,HALIGN,ENUM) +TM_PROP(4006,TMT,CONTENTALIGNMENT,ENUM) +TM_PROP(4007,TMT,VALIGN,ENUM) +TM_PROP(4008,TMT,OFFSETTYPE,ENUM) +TM_PROP(4009,TMT,ICONEFFECT,ENUM) +TM_PROP(4010,TMT,TEXTSHADOWTYPE,ENUM) +TM_PROP(4011,TMT,IMAGELAYOUT,ENUM) +TM_PROP(4012,TMT,GLYPHTYPE,ENUM) +TM_PROP(4013,TMT,IMAGESELECTTYPE,ENUM) +TM_PROP(4014,TMT,GLYPHFONTSIZINGTYPE,ENUM) +TM_PROP(4015,TMT,TRUESIZESCALINGTYPE,ENUM) + +TM_PROP(5001,TMT,USERPICTURE,WINBOOL) +TM_PROP(5002,TMT,DEFAULTPANESIZE,RECT) +TM_PROP(5003,TMT,BLENDCOLOR,COLOR) + +END_TM_PROPS() + +BEGIN_TM_CLASS_PARTS(WINDOW) +TM_PART(1,WP,CAPTION) +TM_PART(2,WP,SMALLCAPTION) +TM_PART(3,WP,MINCAPTION) +TM_PART(4,WP,SMALLMINCAPTION) +TM_PART(5,WP,MAXCAPTION) +TM_PART(6,WP,SMALLMAXCAPTION) +TM_PART(7,WP,FRAMELEFT) +TM_PART(8,WP,FRAMERIGHT) +TM_PART(9,WP,FRAMEBOTTOM) +TM_PART(10,WP,SMALLFRAMELEFT) +TM_PART(11,WP,SMALLFRAMERIGHT) +TM_PART(12,WP,SMALLFRAMEBOTTOM) + +TM_PART(13,WP,SYSBUTTON) +TM_PART(14,WP,MDISYSBUTTON) +TM_PART(15,WP,MINBUTTON) +TM_PART(16,WP,MDIMINBUTTON) +TM_PART(17,WP,MAXBUTTON) +TM_PART(18,WP,CLOSEBUTTON) +TM_PART(19,WP,SMALLCLOSEBUTTON) +TM_PART(20,WP,MDICLOSEBUTTON) +TM_PART(21,WP,RESTOREBUTTON) +TM_PART(22,WP,MDIRESTOREBUTTON) +TM_PART(23,WP,HELPBUTTON) +TM_PART(24,WP,MDIHELPBUTTON) + +TM_PART(25,WP,HORZSCROLL) +TM_PART(26,WP,HORZTHUMB) +TM_PART(27,WP,VERTSCROLL) +TM_PART(28,WP,VERTTHUMB) + +TM_PART(29,WP,DIALOG) + +TM_PART(30,WP,CAPTIONSIZINGTEMPLATE) +TM_PART(31,WP,SMALLCAPTIONSIZINGTEMPLATE) +TM_PART(32,WP,FRAMELEFTSIZINGTEMPLATE) +TM_PART(33,WP,SMALLFRAMELEFTSIZINGTEMPLATE) +TM_PART(34,WP,FRAMERIGHTSIZINGTEMPLATE) +TM_PART(35,WP,SMALLFRAMERIGHTSIZINGTEMPLATE) +TM_PART(36,WP,FRAMEBOTTOMSIZINGTEMPLATE) +TM_PART(37,WP,SMALLFRAMEBOTTOMSIZINGTEMPLATE) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(FRAME) +TM_STATE(1,FS,ACTIVE) +TM_STATE(2,FS,INACTIVE) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(CAPTION) +TM_STATE(1,CS,ACTIVE) +TM_STATE(2,CS,INACTIVE) +TM_STATE(3,CS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(MAXCAPTION) +TM_STATE(1,MXCS,ACTIVE) +TM_STATE(2,MXCS,INACTIVE) +TM_STATE(3,MXCS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(MINCAPTION) +TM_STATE(1,MNCS,ACTIVE) +TM_STATE(2,MNCS,INACTIVE) +TM_STATE(3,MNCS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HORZSCROLL) +TM_STATE(1,HSS,NORMAL) +TM_STATE(2,HSS,HOT) +TM_STATE(3,HSS,PUSHED) +TM_STATE(4,HSS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HORZTHUMB) +TM_STATE(1,HTS,NORMAL) +TM_STATE(2,HTS,HOT) +TM_STATE(3,HTS,PUSHED) +TM_STATE(4,HTS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(VERTSCROLL) +TM_STATE(1,VSS,NORMAL) +TM_STATE(2,VSS,HOT) +TM_STATE(3,VSS,PUSHED) +TM_STATE(4,VSS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(VERTTHUMB) +TM_STATE(1,VTS,NORMAL) +TM_STATE(2,VTS,HOT) +TM_STATE(3,VTS,PUSHED) +TM_STATE(4,VTS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(SYSBUTTON) +TM_STATE(1,SBS,NORMAL) +TM_STATE(2,SBS,HOT) +TM_STATE(3,SBS,PUSHED) +TM_STATE(4,SBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(MINBUTTON) +TM_STATE(1,MINBS,NORMAL) +TM_STATE(2,MINBS,HOT) +TM_STATE(3,MINBS,PUSHED) +TM_STATE(4,MINBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(MAXBUTTON) +TM_STATE(1,MAXBS,NORMAL) +TM_STATE(2,MAXBS,HOT) +TM_STATE(3,MAXBS,PUSHED) +TM_STATE(4,MAXBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(RESTOREBUTTON) +TM_STATE(1,RBS,NORMAL) +TM_STATE(2,RBS,HOT) +TM_STATE(3,RBS,PUSHED) +TM_STATE(4,RBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HELPBUTTON) +TM_STATE(1,HBS,NORMAL) +TM_STATE(2,HBS,HOT) +TM_STATE(3,HBS,PUSHED) +TM_STATE(4,HBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(CLOSEBUTTON) +TM_STATE(1,CBS,NORMAL) +TM_STATE(2,CBS,HOT) +TM_STATE(3,CBS,PUSHED) +TM_STATE(4,CBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(BUTTON) +TM_PART(1,BP,PUSHBUTTON) +TM_PART(2,BP,RADIOBUTTON) +TM_PART(3,BP,CHECKBOX) +TM_PART(4,BP,GROUPBOX) +TM_PART(5,BP,USERBUTTON) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(PUSHBUTTON) +TM_STATE(1,PBS,NORMAL) +TM_STATE(2,PBS,HOT) +TM_STATE(3,PBS,PRESSED) +TM_STATE(4,PBS,DISABLED) +TM_STATE(5,PBS,DEFAULTED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(RADIOBUTTON) +TM_STATE(1,RBS,UNCHECKEDNORMAL) +TM_STATE(2,RBS,UNCHECKEDHOT) +TM_STATE(3,RBS,UNCHECKEDPRESSED) +TM_STATE(4,RBS,UNCHECKEDDISABLED) +TM_STATE(5,RBS,CHECKEDNORMAL) +TM_STATE(6,RBS,CHECKEDHOT) +TM_STATE(7,RBS,CHECKEDPRESSED) +TM_STATE(8,RBS,CHECKEDDISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(CHECKBOX) +TM_STATE(1,CBS,UNCHECKEDNORMAL) +TM_STATE(2,CBS,UNCHECKEDHOT) +TM_STATE(3,CBS,UNCHECKEDPRESSED) +TM_STATE(4,CBS,UNCHECKEDDISABLED) +TM_STATE(5,CBS,CHECKEDNORMAL) +TM_STATE(6,CBS,CHECKEDHOT) +TM_STATE(7,CBS,CHECKEDPRESSED) +TM_STATE(8,CBS,CHECKEDDISABLED) +TM_STATE(9,CBS,MIXEDNORMAL) +TM_STATE(10,CBS,MIXEDHOT) +TM_STATE(11,CBS,MIXEDPRESSED) +TM_STATE(12,CBS,MIXEDDISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(GROUPBOX) +TM_STATE(1,GBS,NORMAL) +TM_STATE(2,GBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(REBAR) +TM_PART(1,RP,GRIPPER) +TM_PART(2,RP,GRIPPERVERT) +TM_PART(3,RP,BAND) +TM_PART(4,RP,CHEVRON) +TM_PART(5,RP,CHEVRONVERT) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(CHEVRON) +TM_STATE(1,CHEVS,NORMAL) +TM_STATE(2,CHEVS,HOT) +TM_STATE(3,CHEVS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(TOOLBAR) +TM_PART(1,TP,BUTTON) +TM_PART(2,TP,DROPDOWNBUTTON) +TM_PART(3,TP,SPLITBUTTON) +TM_PART(4,TP,SPLITBUTTONDROPDOWN) +TM_PART(5,TP,SEPARATOR) +TM_PART(6,TP,SEPARATORVERT) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(TOOLBAR) +TM_STATE(1,TS,NORMAL) +TM_STATE(2,TS,HOT) +TM_STATE(3,TS,PRESSED) +TM_STATE(4,TS,DISABLED) +TM_STATE(5,TS,CHECKED) +TM_STATE(6,TS,HOTCHECKED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(STATUS) +TM_PART(1,SP,PANE) +TM_PART(2,SP,GRIPPERPANE) +TM_PART(3,SP,GRIPPER) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(MENU) +TM_PART(1,MP,MENUITEM) +TM_PART(2,MP,MENUDROPDOWN) +TM_PART(3,MP,MENUBARITEM) +TM_PART(4,MP,MENUBARDROPDOWN) +TM_PART(5,MP,CHEVRON) +TM_PART(6,MP,SEPARATOR) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(MENU) +TM_STATE(1,MS,NORMAL) +TM_STATE(2,MS,SELECTED) +TM_STATE(3,MS,DEMOTED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(LISTVIEW) +TM_PART(1,LVP,LISTITEM) +TM_PART(2,LVP,LISTGROUP) +TM_PART(3,LVP,LISTDETAIL) +TM_PART(4,LVP,LISTSORTEDDETAIL) +TM_PART(5,LVP,EMPTYTEXT) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(LISTITEM) +TM_STATE(1,LIS,NORMAL) +TM_STATE(2,LIS,HOT) +TM_STATE(3,LIS,SELECTED) +TM_STATE(4,LIS,DISABLED) +TM_STATE(5,LIS,SELECTEDNOTFOCUS) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(HEADER) +TM_PART(1,HP,HEADERITEM) +TM_PART(2,HP,HEADERITEMLEFT) +TM_PART(3,HP,HEADERITEMRIGHT) +TM_PART(4,HP,HEADERSORTARROW) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(HEADERITEM) +TM_STATE(1,HIS,NORMAL) +TM_STATE(2,HIS,HOT) +TM_STATE(3,HIS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HEADERITEMLEFT) +TM_STATE(1,HILS,NORMAL) +TM_STATE(2,HILS,HOT) +TM_STATE(3,HILS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HEADERITEMRIGHT) +TM_STATE(1,HIRS,NORMAL) +TM_STATE(2,HIRS,HOT) +TM_STATE(3,HIRS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HEADERSORTARROW) +TM_STATE(1,HSAS,SORTEDUP) +TM_STATE(2,HSAS,SORTEDDOWN) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(PROGRESS) +TM_PART(1,PP,BAR) +TM_PART(2,PP,BARVERT) +TM_PART(3,PP,CHUNK) +TM_PART(4,PP,CHUNKVERT) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(TAB) +TM_PART(1,TABP,TABITEM) +TM_PART(2,TABP,TABITEMLEFTEDGE) +TM_PART(3,TABP,TABITEMRIGHTEDGE) +TM_PART(4,TABP,TABITEMBOTHEDGE) +TM_PART(5,TABP,TOPTABITEM) +TM_PART(6,TABP,TOPTABITEMLEFTEDGE) +TM_PART(7,TABP,TOPTABITEMRIGHTEDGE) +TM_PART(8,TABP,TOPTABITEMBOTHEDGE) +TM_PART(9,TABP,PANE) +TM_PART(10,TABP,BODY) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(TABITEM) +TM_STATE(1,TIS,NORMAL) +TM_STATE(2,TIS,HOT) +TM_STATE(3,TIS,SELECTED) +TM_STATE(4,TIS,DISABLED) +TM_STATE(5,TIS,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TABITEMLEFTEDGE) +TM_STATE(1,TILES,NORMAL) +TM_STATE(2,TILES,HOT) +TM_STATE(3,TILES,SELECTED) +TM_STATE(4,TILES,DISABLED) +TM_STATE(5,TILES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TABITEMRIGHTEDGE) +TM_STATE(1,TIRES,NORMAL) +TM_STATE(2,TIRES,HOT) +TM_STATE(3,TIRES,SELECTED) +TM_STATE(4,TIRES,DISABLED) +TM_STATE(5,TIRES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TABITEMBOTHEDGES) +TM_STATE(1,TIBES,NORMAL) +TM_STATE(2,TIBES,HOT) +TM_STATE(3,TIBES,SELECTED) +TM_STATE(4,TIBES,DISABLED) +TM_STATE(5,TIBES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TOPTABITEM) +TM_STATE(1,TTIS,NORMAL) +TM_STATE(2,TTIS,HOT) +TM_STATE(3,TTIS,SELECTED) +TM_STATE(4,TTIS,DISABLED) +TM_STATE(5,TTIS,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TOPTABITEMLEFTEDGE) +TM_STATE(1,TTILES,NORMAL) +TM_STATE(2,TTILES,HOT) +TM_STATE(3,TTILES,SELECTED) +TM_STATE(4,TTILES,DISABLED) +TM_STATE(5,TTILES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TOPTABITEMRIGHTEDGE) +TM_STATE(1,TTIRES,NORMAL) +TM_STATE(2,TTIRES,HOT) +TM_STATE(3,TTIRES,SELECTED) +TM_STATE(4,TTIRES,DISABLED) +TM_STATE(5,TTIRES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TOPTABITEMBOTHEDGES) +TM_STATE(1,TTIBES,NORMAL) +TM_STATE(2,TTIBES,HOT) +TM_STATE(3,TTIBES,SELECTED) +TM_STATE(4,TTIBES,DISABLED) +TM_STATE(5,TTIBES,FOCUSED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(TRACKBAR) +TM_PART(1,TKP,TRACK) +TM_PART(2,TKP,TRACKVERT) +TM_PART(3,TKP,THUMB) +TM_PART(4,TKP,THUMBBOTTOM) +TM_PART(5,TKP,THUMBTOP) +TM_PART(6,TKP,THUMBVERT) +TM_PART(7,TKP,THUMBLEFT) +TM_PART(8,TKP,THUMBRIGHT) +TM_PART(9,TKP,TICS) +TM_PART(10,TKP,TICSVERT) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(TRACKBAR) +TM_STATE(1,TKS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TRACK) +TM_STATE(1,TRS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TRACKVERT) +TM_STATE(1,TRVS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMB) +TM_STATE(1,TUS,NORMAL) +TM_STATE(2,TUS,HOT) +TM_STATE(3,TUS,PRESSED) +TM_STATE(4,TUS,FOCUSED) +TM_STATE(5,TUS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMBBOTTOM) +TM_STATE(1,TUBS,NORMAL) +TM_STATE(2,TUBS,HOT) +TM_STATE(3,TUBS,PRESSED) +TM_STATE(4,TUBS,FOCUSED) +TM_STATE(5,TUBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMBTOP) +TM_STATE(1,TUTS,NORMAL) +TM_STATE(2,TUTS,HOT) +TM_STATE(3,TUTS,PRESSED) +TM_STATE(4,TUTS,FOCUSED) +TM_STATE(5,TUTS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMBVERT) +TM_STATE(1,TUVS,NORMAL) +TM_STATE(2,TUVS,HOT) +TM_STATE(3,TUVS,PRESSED) +TM_STATE(4,TUVS,FOCUSED) +TM_STATE(5,TUVS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMBLEFT) +TM_STATE(1,TUVLS,NORMAL) +TM_STATE(2,TUVLS,HOT) +TM_STATE(3,TUVLS,PRESSED) +TM_STATE(4,TUVLS,FOCUSED) +TM_STATE(5,TUVLS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(THUMBRIGHT) +TM_STATE(1,TUVRS,NORMAL) +TM_STATE(2,TUVRS,HOT) +TM_STATE(3,TUVRS,PRESSED) +TM_STATE(4,TUVRS,FOCUSED) +TM_STATE(5,TUVRS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TICS) +TM_STATE(1,TSS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(TICSVERT) +TM_STATE(1,TSVS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(TOOLTIP) +TM_PART(1,TTP,STANDARD) +TM_PART(2,TTP,STANDARDTITLE) +TM_PART(3,TTP,BALLOON) +TM_PART(4,TTP,BALLOONTITLE) +TM_PART(5,TTP,CLOSE) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(CLOSE) +TM_STATE(1,TTCS,NORMAL) +TM_STATE(2,TTCS,HOT) +TM_STATE(3,TTCS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(STANDARD) +TM_STATE(1,TTSS,NORMAL) +TM_STATE(2,TTSS,LINK) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(BALLOON) +TM_STATE(1,TTBS,NORMAL) +TM_STATE(2,TTBS,LINK) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(TREEVIEW) +TM_PART(1,TVP,TREEITEM) +TM_PART(2,TVP,GLYPH) +TM_PART(3,TVP,BRANCH) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(TREEITEM) +TM_STATE(1,TREIS,NORMAL) +TM_STATE(2,TREIS,HOT) +TM_STATE(3,TREIS,SELECTED) +TM_STATE(4,TREIS,DISABLED) +TM_STATE(5,TREIS,SELECTEDNOTFOCUS) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(GLYPH) +TM_STATE(1,GLPS,CLOSED) +TM_STATE(2,GLPS,OPENED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(SPIN) +TM_PART(1,SPNP,UP) +TM_PART(2,SPNP,DOWN) +TM_PART(3,SPNP,UPHORZ) +TM_PART(4,SPNP,DOWNHORZ) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(UP) +TM_STATE(1,UPS,NORMAL) +TM_STATE(2,UPS,HOT) +TM_STATE(3,UPS,PRESSED) +TM_STATE(4,UPS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(DOWN) +TM_STATE(1,DNS,NORMAL) +TM_STATE(2,DNS,HOT) +TM_STATE(3,DNS,PRESSED) +TM_STATE(4,DNS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(UPHORZ) +TM_STATE(1,UPHZS,NORMAL) +TM_STATE(2,UPHZS,HOT) +TM_STATE(3,UPHZS,PRESSED) +TM_STATE(4,UPHZS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(DOWNHORZ) +TM_STATE(1,DNHZS,NORMAL) +TM_STATE(2,DNHZS,HOT) +TM_STATE(3,DNHZS,PRESSED) +TM_STATE(4,DNHZS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(PAGE) +TM_PART(1,PGRP,UP) +TM_PART(2,PGRP,DOWN) +TM_PART(3,PGRP,UPHORZ) +TM_PART(4,PGRP,DOWNHORZ) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(SCROLLBAR) +TM_PART(1,SBP,ARROWBTN) +TM_PART(2,SBP,THUMBBTNHORZ) +TM_PART(3,SBP,THUMBBTNVERT) +TM_PART(4,SBP,LOWERTRACKHORZ) +TM_PART(5,SBP,UPPERTRACKHORZ) +TM_PART(6,SBP,LOWERTRACKVERT) +TM_PART(7,SBP,UPPERTRACKVERT) +TM_PART(8,SBP,GRIPPERHORZ) +TM_PART(9,SBP,GRIPPERVERT) +TM_PART(10,SBP,SIZEBOX) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(ARROWBTN) +TM_STATE(1,ABS,UPNORMAL) +TM_STATE(2,ABS,UPHOT) +TM_STATE(3,ABS,UPPRESSED) +TM_STATE(4,ABS,UPDISABLED) +TM_STATE(5,ABS,DOWNNORMAL) +TM_STATE(6,ABS,DOWNHOT) +TM_STATE(7,ABS,DOWNPRESSED) +TM_STATE(8,ABS,DOWNDISABLED) +TM_STATE(9,ABS,LEFTNORMAL) +TM_STATE(10,ABS,LEFTHOT) +TM_STATE(11,ABS,LEFTPRESSED) +TM_STATE(12,ABS,LEFTDISABLED) +TM_STATE(13,ABS,RIGHTNORMAL) +TM_STATE(14,ABS,RIGHTHOT) +TM_STATE(15,ABS,RIGHTPRESSED) +TM_STATE(16,ABS,RIGHTDISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(SCROLLBAR) +TM_STATE(1,SCRBS,NORMAL) +TM_STATE(2,SCRBS,HOT) +TM_STATE(3,SCRBS,PRESSED) +TM_STATE(4,SCRBS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(SIZEBOX) +TM_STATE(1,SZB,RIGHTALIGN) +TM_STATE(2,SZB,LEFTALIGN) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(EDIT) +TM_PART(1,EP,EDITTEXT) +TM_PART(2,EP,CARET) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(EDITTEXT) +TM_STATE(1,ETS,NORMAL) +TM_STATE(2,ETS,HOT) +TM_STATE(3,ETS,SELECTED) +TM_STATE(4,ETS,DISABLED) +TM_STATE(5,ETS,FOCUSED) +TM_STATE(6,ETS,READONLY) +TM_STATE(7,ETS,ASSIST) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(COMBOBOX) +TM_PART(1,CP,DROPDOWNBUTTON) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(COMBOBOX) +TM_STATE(1,CBXS,NORMAL) +TM_STATE(2,CBXS,HOT) +TM_STATE(3,CBXS,PRESSED) +TM_STATE(4,CBXS,DISABLED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(CLOCK) +TM_PART(1,CLP,TIME) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(CLOCK) +TM_STATE(1,CLS,NORMAL) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(TRAYNOTIFY) +TM_PART(1,TNP,BACKGROUND) +TM_PART(2,TNP,ANIMBACKGROUND) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(TASKBAR) +TM_PART(1,TBP,BACKGROUNDBOTTOM) +TM_PART(2,TBP,BACKGROUNDRIGHT) +TM_PART(3,TBP,BACKGROUNDTOP) +TM_PART(4,TBP,BACKGROUNDLEFT) +TM_PART(5,TBP,SIZINGBARBOTTOM) +TM_PART(6,TBP,SIZINGBARRIGHT) +TM_PART(7,TBP,SIZINGBARTOP) +TM_PART(8,TBP,SIZINGBARLEFT) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(TASKBAND) +TM_PART(1,TDP,GROUPCOUNT) +TM_PART(2,TDP,FLASHBUTTON) +TM_PART(3,TDP,FLASHBUTTONGROUPMENU) +END_TM_CLASS_PARTS() + +BEGIN_TM_CLASS_PARTS(STARTPANEL) +TM_PART(1,SPP,USERPANE) +TM_PART(2,SPP,MOREPROGRAMS) +TM_PART(3,SPP,MOREPROGRAMSARROW) +TM_PART(4,SPP,PROGLIST) +TM_PART(5,SPP,PROGLISTSEPARATOR) +TM_PART(6,SPP,PLACESLIST) +TM_PART(7,SPP,PLACESLISTSEPARATOR) +TM_PART(8,SPP,LOGOFF) +TM_PART(9,SPP,LOGOFFBUTTONS) +TM_PART(10,SPP,USERPICTURE) +TM_PART(11,SPP,PREVIEW) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(MOREPROGRAMSARROW) +TM_STATE(1,SPS,NORMAL) +TM_STATE(2,SPS,HOT) +TM_STATE(3,SPS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(LOGOFFBUTTONS) +TM_STATE(1,SPLS,NORMAL) +TM_STATE(2,SPLS,HOT) +TM_STATE(3,SPLS,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(EXPLORERBAR) +TM_PART(1,EBP,HEADERBACKGROUND) +TM_PART(2,EBP,HEADERCLOSE) +TM_PART(3,EBP,HEADERPIN) +TM_PART(4,EBP,IEBARMENU) +TM_PART(5,EBP,NORMALGROUPBACKGROUND) +TM_PART(6,EBP,NORMALGROUPCOLLAPSE) +TM_PART(7,EBP,NORMALGROUPEXPAND) +TM_PART(8,EBP,NORMALGROUPHEAD) +TM_PART(9,EBP,SPECIALGROUPBACKGROUND) +TM_PART(10,EBP,SPECIALGROUPCOLLAPSE) +TM_PART(11,EBP,SPECIALGROUPEXPAND) +TM_PART(12,EBP,SPECIALGROUPHEAD) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(HEADERCLOSE) +TM_STATE(1,EBHC,NORMAL) +TM_STATE(2,EBHC,HOT) +TM_STATE(3,EBHC,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(HEADERPIN) +TM_STATE(1,EBHP,NORMAL) +TM_STATE(2,EBHP,HOT) +TM_STATE(3,EBHP,PRESSED) +TM_STATE(4,EBHP,SELECTEDNORMAL) +TM_STATE(5,EBHP,SELECTEDHOT) +TM_STATE(6,EBHP,SELECTEDPRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(IEBARMENU) +TM_STATE(1,EBM,NORMAL) +TM_STATE(2,EBM,HOT) +TM_STATE(3,EBM,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(NORMALGROUPCOLLAPSE) +TM_STATE(1,EBNGC,NORMAL) +TM_STATE(2,EBNGC,HOT) +TM_STATE(3,EBNGC,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(NORMALGROUPEXPAND) +TM_STATE(1,EBNGE,NORMAL) +TM_STATE(2,EBNGE,HOT) +TM_STATE(3,EBNGE,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(SPECIALGROUPCOLLAPSE) +TM_STATE(1,EBSGC,NORMAL) +TM_STATE(2,EBSGC,HOT) +TM_STATE(3,EBSGC,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_PART_STATES(SPECIALGROUPEXPAND) +TM_STATE(1,EBSGE,NORMAL) +TM_STATE(2,EBSGE,HOT) +TM_STATE(3,EBSGE,PRESSED) +END_TM_PART_STATES() + +BEGIN_TM_CLASS_PARTS(MENUBAND) +TM_PART(1,MDP,NEWAPPBUTTON) +TM_PART(2,MDP,SEPERATOR) +END_TM_CLASS_PARTS() + +BEGIN_TM_PART_STATES(MENUBAND) +TM_STATE(1,MDS,NORMAL) +TM_STATE(2,MDS,HOT) +TM_STATE(3,MDS,PRESSED) +TM_STATE(4,MDS,DISABLED) +TM_STATE(5,MDS,CHECKED) +TM_STATE(6,MDS,HOTCHECKED) +END_TM_PART_STATES() + +END_TM_SCHEMA(ThemeMgrSchema) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tnef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tnef.h new file mode 100644 index 00000000..56ff22e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tnef.h @@ -0,0 +1,221 @@ +/** + * 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 TNEF_H +#define TNEF_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef BEGIN_INTERFACE +#define BEGIN_INTERFACE +#endif + + typedef struct _STnefProblem { + ULONG ulComponent; + ULONG ulAttribute; + ULONG ulPropTag; + SCODE scode; + } STnefProblem; + + typedef struct _STnefProblemArray { + ULONG cProblem; + STnefProblem aProblem[MAPI_DIM]; + } STnefProblemArray,*LPSTnefProblemArray; + +#define CbNewSTnefProblemArray(_cprob) (offsetof(STnefProblemArray,aProblem) + (_cprob)*sizeof(STnefProblem)) +#define CbSTnefProblemArray(_lparray) (offsetof(STnefProblemArray,aProblem) + (UINT) ((_lparray)->cProblem*sizeof(STnefProblem))) + + DECLARE_MAPI_INTERFACE_PTR(ITnef,LPITNEF); + +#define TNEF_DECODE ((ULONG) 0) +#define TNEF_ENCODE ((ULONG) 2) + +#define TNEF_PURE ((ULONG) 0x00010000) +#define TNEF_COMPATIBILITY ((ULONG) 0x00020000) +#define TNEF_BEST_DATA ((ULONG) 0x00040000) +#define TNEF_COMPONENT_ENCODING ((ULONG) 0x80000000) + +#define TNEF_PROP_INCLUDE ((ULONG) 0x00000001) +#define TNEF_PROP_EXCLUDE ((ULONG) 0x00000002) +#define TNEF_PROP_CONTAINED ((ULONG) 0x00000004) +#define TNEF_PROP_MESSAGE_ONLY ((ULONG) 0x00000008) +#define TNEF_PROP_ATTACHMENTS_ONLY ((ULONG) 0x00000010) +#define TNEF_PROP_CONTAINED_TNEF ((ULONG) 0x00000040) + +#define TNEF_COMPONENT_MESSAGE ((ULONG) 0x00001000) +#define TNEF_COMPONENT_ATTACHMENT ((ULONG) 0x00002000) + +#define MAPI_ITNEF_METHODS(IPURE) MAPIMETHOD(AddProps) (THIS_ ULONG ulFlags,ULONG ulElemID,LPVOID lpvData,LPSPropTagArray lpPropList) IPURE; MAPIMETHOD(ExtractProps) (THIS_ ULONG ulFlags,LPSPropTagArray lpPropList,LPSTnefProblemArray *lpProblems) IPURE; MAPIMETHOD(Finish) (THIS_ ULONG ulFlags,WORD *lpKey,LPSTnefProblemArray *lpProblems) IPURE; MAPIMETHOD(OpenTaggedBody) (THIS_ LPMESSAGE lpMessage,ULONG ulFlags,LPSTREAM *lppStream) IPURE; MAPIMETHOD(SetProps) (THIS_ ULONG ulFlags,ULONG ulElemID,ULONG cValues,LPSPropValue lpProps) IPURE; MAPIMETHOD(EncodeRecips) (THIS_ ULONG ulFlags,LPMAPITABLE lpRecipientTable) IPURE; MAPIMETHOD(FinishComponent) (THIS_ ULONG ulFlags,ULONG ulComponentID,LPSPropTagArray lpCustomPropList,LPSPropValue lpCustomProps,LPSPropTagArray lpPropList,LPSTnefProblemArray *lpProblems) IPURE; +#undef INTERFACE +#define INTERFACE ITnef + DECLARE_MAPI_INTERFACE_(ITnef,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_ITNEF_METHODS(PURE) + }; + + STDMETHODIMP OpenTnefStream(LPVOID lpvSupport,LPSTREAM lpStream,LPTSTR lpszStreamName,ULONG ulFlags,LPMESSAGE lpMessage,WORD wKeyVal,LPITNEF *lppTNEF); + typedef HRESULT (WINAPI *LPOPENTNEFSTREAM) (LPVOID lpvSupport,LPSTREAM lpStream,LPTSTR lpszStreamName,ULONG ulFlags,LPMESSAGE lpMessage,WORD wKeyVal,LPITNEF *lppTNEF); + STDMETHODIMP OpenTnefStreamEx(LPVOID lpvSupport,LPSTREAM lpStream,LPTSTR lpszStreamName,ULONG ulFlags,LPMESSAGE lpMessage,WORD wKeyVal,LPADRBOOK lpAdressBook,LPITNEF *lppTNEF); + typedef HRESULT (WINAPI *LPOPENTNEFSTREAMEX) (LPVOID lpvSupport,LPSTREAM lpStream,LPTSTR lpszStreamName,ULONG ulFlags,LPMESSAGE lpMessage,WORD wKeyVal,LPADRBOOK lpAdressBook,LPITNEF *lppTNEF); + STDMETHODIMP GetTnefStreamCodepage (LPSTREAM lpStream,ULONG *lpulCodepage,ULONG *lpulSubCodepage); + typedef HRESULT (WINAPI *LPGETTNEFSTREAMCODEPAGE) (LPSTREAM lpStream,ULONG *lpulCodepage,ULONG *lpulSubCodepage); + +#define OPENTNEFSTREAM "OpenTnefStream" +#define OPENTNEFSTREAMEX "OpenTnefStreamEx" +#define GETTNEFSTREAMCODEPAGE "GetTnefStreamCodePage" + +#define MAKE_TNEF_VERSION(_mj,_mn) (((ULONG)(0x0000FFFF & _mj) << 16) | (ULONG)(0x0000FFFF & _mn)) +#define TNEF_SIGNATURE ((ULONG) 0x223E9F78) +#define TNEF_VERSION ((ULONG) MAKE_TNEF_VERSION(1,0)) + + typedef WORD ATYP; + enum { atypNull,atypFile,atypOle,atypPicture,atypMax }; + +#define MAC_BINARY ((DWORD) 0x00000001) + +#include + typedef struct _renddata { + ATYP atyp; + ULONG ulPosition; + WORD dxWidth; + WORD dyHeight; + DWORD dwFlags; + } RENDDATA,*PRENDDATA; +#include + +#include + typedef struct _dtr { + WORD wYear; + WORD wMonth; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wDayOfWeek; + } DTR; +#include + +#define fmsNull ((BYTE) 0x00) +#define fmsModified ((BYTE) 0x01) +#define fmsLocal ((BYTE) 0x02) +#define fmsSubmitted ((BYTE) 0x04) +#define fmsRead ((BYTE) 0x20) +#define fmsHasAttach ((BYTE) 0x80) + +#define trpidNull ((WORD) 0x0000) +#define trpidUnresolved ((WORD) 0x0001) +#define trpidResolvedNSID ((WORD) 0x0002) +#define trpidResolvedAddress ((WORD) 0x0003) +#define trpidOneOff ((WORD) 0x0004) +#define trpidGroupNSID ((WORD) 0x0005) +#define trpidOffline ((WORD) 0x0006) +#define trpidIgnore ((WORD) 0x0007) +#define trpidClassEntry ((WORD) 0x0008) +#define trpidResolvedGroupAddress ((WORD) 0x0009) + typedef struct _trp { + WORD trpid; + WORD cbgrtrp; + WORD cch; + WORD cbRgb; + } TRP,*PTRP,*PGRTRP,*LPTRP; +#define CbOfTrp(_p) (sizeof(TRP) + (_p)->cch + (_p)->cbRgb) +#define LpszOfTrp(_p) ((LPSTR)(((LPTRP) (_p)) + 1)) +#define LpbOfTrp(_p) (((LPBYTE)(((LPTRP)(_p)) + 1)) + (_p)->cch) +#define LptrpNext(_p) ((LPTRP)((LPBYTE)(_p) + CbOfTrp(_p))) + + typedef DWORD XTYPE; +#define xtypeUnknown ((XTYPE) 0) +#define xtypeInternet ((XTYPE) 6) + +#define cbDisplayName 41 +#define cbEmailName 11 +#define cbSeverName 12 + typedef struct _ADDR_ALIAS { + char rgchName[cbDisplayName]; + char rgchEName[cbEmailName]; + char rgchSrvr[cbSeverName]; + ULONG dibDetail; + WORD type; + } ADDRALIAS,*LPADDRALIAS; +#define cbALIAS sizeof(ALIAS) + +#define cbTYPE 16 +#define cbMaxIdData 200 + typedef struct _NSID { + DWORD dwSize; + unsigned char uchType[cbTYPE]; + XTYPE xtype; + LONG lTime; + union { + ADDRALIAS alias; + char rgchInterNet[1]; + } address; + } NSID,*LPNSID; +#define cbNSID sizeof(NSID) + +#define prioLow 3 +#define prioNorm 2 +#define prioHigh 1 + +#define atpTriples ((WORD) 0x0000) +#define atpString ((WORD) 0x0001) +#define atpText ((WORD) 0x0002) +#define atpDate ((WORD) 0x0003) +#define atpShort ((WORD) 0x0004) +#define atpLong ((WORD) 0x0005) +#define atpByte ((WORD) 0x0006) +#define atpWord ((WORD) 0x0007) +#define atpDword ((WORD) 0x0008) +#define atpMax ((WORD) 0x0009) + +#define LVL_MESSAGE ((BYTE) 0x01) +#define LVL_ATTACHMENT ((BYTE) 0x02) + +#define ATT_ID(_att) ((WORD) ((_att) & 0x0000FFFF)) +#define ATT_TYPE(_att) ((WORD) (((_att) >> 16) & 0x0000FFFF)) +#define ATT(_atp,_id) ((((DWORD) (_atp)) << 16) | ((WORD) (_id))) + +#define attNull ATT(0,0x0000) +#define attFrom ATT(atpTriples,0x8000) +#define attSubject ATT(atpString,0x8004) +#define attDateSent ATT(atpDate,0x8005) +#define attDateRecd ATT(atpDate,0x8006) +#define attMessageStatus ATT(atpByte,0x8007) +#define attMessageClass ATT(atpWord,0x8008) +#define attMessageID ATT(atpString,0x8009) +#define attParentID ATT(atpString,0x800A) +#define attConversationID ATT(atpString,0x800B) +#define attBody ATT(atpText,0x800C) +#define attPriority ATT(atpShort,0x800D) +#define attAttachData ATT(atpByte,0x800F) +#define attAttachTitle ATT(atpString,0x8010) +#define attAttachMetaFile ATT(atpByte,0x8011) +#define attAttachCreateDate ATT(atpDate,0x8012) +#define attAttachModifyDate ATT(atpDate,0x8013) +#define attDateModified ATT(atpDate,0x8020) +#define attAttachTransportFilename ATT(atpByte,0x9001) +#define attAttachRenddata ATT(atpByte,0x9002) +#define attMAPIProps ATT(atpByte,0x9003) +#define attRecipTable ATT(atpByte,0x9004) +#define attAttachment ATT(atpByte,0x9005) +#define attTnefVersion ATT(atpDword,0x9006) +#define attOemCodepage ATT(atpByte,0x9007) +#define attOriginalMessageClass ATT(atpWord,0x0006) + +#define attOwner ATT(atpByte,0x0000) +#define attSentFor ATT(atpByte,0x0001) +#define attDelegate ATT(atpByte,0x0002) +#define attDateStart ATT(atpDate,0x0006) +#define attDateEnd ATT(atpDate,0x0007) +#define attAidOwner ATT(atpLong,0x0008) +#define attRequestRes ATT(atpShort,0x0009) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tom.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tom.h new file mode 100644 index 00000000..1bb75458 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tom.h @@ -0,0 +1,1619 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 440 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __tomtmp_h__ +#define __tomtmp_h__ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __ITextDocument_FWD_DEFINED__ +#define __ITextDocument_FWD_DEFINED__ + typedef struct ITextDocument ITextDocument; +#endif + +#ifndef __ITextRange_FWD_DEFINED__ +#define __ITextRange_FWD_DEFINED__ + typedef struct ITextRange ITextRange; +#endif + +#ifndef __ITextSelection_FWD_DEFINED__ +#define __ITextSelection_FWD_DEFINED__ + typedef struct ITextSelection ITextSelection; +#endif + +#ifndef __ITextFont_FWD_DEFINED__ +#define __ITextFont_FWD_DEFINED__ + typedef struct ITextFont ITextFont; +#endif + +#ifndef __ITextPara_FWD_DEFINED__ +#define __ITextPara_FWD_DEFINED__ + typedef struct ITextPara ITextPara; +#endif + +#ifndef __ITextStoryRanges_FWD_DEFINED__ +#define __ITextStoryRanges_FWD_DEFINED__ + typedef struct ITextStoryRanges ITextStoryRanges; +#endif + +#ifndef __ITextDocument2_FWD_DEFINED__ +#define __ITextDocument2_FWD_DEFINED__ + typedef struct ITextDocument2 ITextDocument2; +#endif + +#ifndef __ITextMsgFilter_FWD_DEFINED__ +#define __ITextMsgFilter_FWD_DEFINED__ + typedef struct ITextMsgFilter ITextMsgFilter; +#endif + +#ifndef __ITextDocument_FWD_DEFINED__ +#define __ITextDocument_FWD_DEFINED__ + typedef struct ITextDocument ITextDocument; +#endif + +#ifndef __ITextRange_FWD_DEFINED__ +#define __ITextRange_FWD_DEFINED__ + typedef struct ITextRange ITextRange; +#endif + +#ifndef __ITextSelection_FWD_DEFINED__ +#define __ITextSelection_FWD_DEFINED__ + typedef struct ITextSelection ITextSelection; +#endif + +#ifndef __ITextFont_FWD_DEFINED__ +#define __ITextFont_FWD_DEFINED__ + typedef struct ITextFont ITextFont; +#endif + +#ifndef __ITextPara_FWD_DEFINED__ +#define __ITextPara_FWD_DEFINED__ + typedef struct ITextPara ITextPara; +#endif + +#ifndef __ITextStoryRanges_FWD_DEFINED__ +#define __ITextStoryRanges_FWD_DEFINED__ + typedef struct ITextStoryRanges ITextStoryRanges; +#endif + +#ifndef __ITextDocument2_FWD_DEFINED__ +#define __ITextDocument2_FWD_DEFINED__ + typedef struct ITextDocument2 ITextDocument2; +#endif + +#ifndef __ITextMsgFilter_FWD_DEFINED__ +#define __ITextMsgFilter_FWD_DEFINED__ + typedef struct ITextMsgFilter ITextMsgFilter; +#endif + +#include "oaidl.h" +#include "ocidl.h" + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + extern RPC_IF_HANDLE __MIDL_itf_tom_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_tom_0000_v0_0_s_ifspec; + +#ifndef __tom_LIBRARY_DEFINED__ +#define __tom_LIBRARY_DEFINED__ + typedef enum __MIDL___MIDL_itf_tom_0000_0001 { + tomFalse = (int) 0,tomTrue = (int) -1,tomUndefined = (int) -9999999,tomToggle = (int) -9999998,tomAutoColor = (int) -9999997,tomDefault = (int) -9999996,tomSuspend = (int) -9999995, + tomResume = (int) -9999994,tomApplyNow = (int) 0,tomApplyLater = (int) 1,tomTrackParms = (int) 2,tomCacheParms = (int) 3,tomBackward = (int) 0xc0000001,tomForward = (int) 0x3fffffff, + tomMove = (int) 0,tomExtend = (int) 1,tomNoSelection = (int) 0,tomSelectionIP = (int) 1,tomSelectionNormal = (int) 2,tomSelectionFrame = (int) 3,tomSelectionColumn = (int) 4, + tomSelectionRow = (int) 5,tomSelectionBlock = (int) 6,tomSelectionInlineShape = (int) 7,tomSelectionShape = (int) 8,tomSelStartActive = (int) 1,tomSelAtEOL = (int) 2, + tomSelOvertype = (int) 4,tomSelActive = (int) 8,tomSelReplace = (int) 16,tomEnd = (int) 0,tomStart = (int) 32,tomCollapseEnd = (int) 0,tomCollapseStart = (int) 1,tomClientCoord = (int) 256, + tomNone = (int) 0,tomSingle = (int) 1,tomWords = (int) 2,tomDouble = (int) 3,tomDotted = (int) 4,tomDash = (int) 5,tomDashDot = (int) 6,tomDashDotDot = (int) 7,tomWave = (int) 8,tomThick = (int) 9, + tomHair = (int) 10,tomLineSpaceSingle = (int) 0,tomLineSpace1pt5 = (int) 1,tomLineSpaceDouble = (int) 2,tomLineSpaceAtLeast = (int) 3,tomLineSpaceExactly = (int) 4, + tomLineSpaceMultiple = (int) 5,tomAlignLeft = (int) 0,tomAlignCenter = (int) 1,tomAlignRight = (int) 2,tomAlignJustify = (int) 3,tomAlignDecimal = (int) 3,tomAlignBar = (int) 4, + tomAlignInterWord = (int) 3,tomAlignInterLetter = (int) 4,tomAlignScaled = (int) 5,tomAlignGlyphs = (int) 6,tomAlignSnapGrid = (int) 7,tomSpaces = (int) 0,tomDots = (int) 1,tomDashes = (int) 2, + tomLines = (int) 3,tomThickLines = (int) 4,tomEquals = (int) 5,tomTabBack = (int) -3,tomTabNext = (int) -2,tomTabHere = (int) -1,tomListNone = (int) 0,tomListBullet = (int) 1, + tomListNumberAsArabic = (int) 2,tomListNumberAsLCLetter = (int) 3,tomListNumberAsUCLetter = (int) 4,tomListNumberAsLCRoman = (int) 5,tomListNumberAsUCRoman = (int) 6, + tomListNumberAsSequence = (int) 7,tomListParentheses = (int) 0x10000,tomListPeriod = (int) 0x20000,tomListPlain = (int) 0x30000,tomCharacter = (int) 1,tomWord = (int) 2, + tomSentence = (int) 3,tomParagraph = (int) 4,tomLine = (int) 5,tomStory = (int) 6,tomScreen = (int) 7,tomSection = (int) 8,tomColumn = (int) 9,tomRow = (int) 10,tomWindow = (int) 11,tomCell = (int) 12, + tomCharFormat = (int) 13,tomParaFormat = (int) 14,tomTable = (int) 15,tomObject = (int) 16,tomMatchWord = (int) 2,tomMatchCase = (int) 4,tomMatchPattern = (int) 8,tomUnknownStory = (int) 0, + tomMainTextStory = (int) 1,tomFootnotesStory = (int) 2,tomEndnotesStory = (int) 3,tomCommentsStory = (int) 4,tomTextFrameStory = (int) 5,tomEvenPagesHeaderStory = (int) 6, + tomPrimaryHeaderStory = (int) 7,tomEvenPagesFooterStory = (int) 8,tomPrimaryFooterStory = (int) 9,tomFirstPageHeaderStory = (int) 10,tomFirstPageFooterStory = (int) 11, + tomNoAnimation = (int) 0,tomLasVegasLights = (int) 1,tomBlinkingBackground = (int) 2,tomSparkleText = (int) 3,tomMarchingBlackAnts = (int) 4,tomMarchingRedAnts = (int) 5, + tomShimmer = (int) 6,tomWipeDown = (int) 7,tomWipeRight = (int) 8,tomAnimationMax = (int) 8,tomLowerCase = (int) 0,tomUpperCase = (int) 1,tomTitleCase = (int) 2,tomSentenceCase = (int) 4, + tomToggleCase = (int) 5,tomReadOnly = (int) 0x100,tomShareDenyRead = (int) 0x200,tomShareDenyWrite = (int) 0x400,tomPasteFile = (int) 0x1000,tomCreateNew = (int) 0x10, + tomCreateAlways = (int) 0x20,tomOpenExisting = (int) 0x30,tomOpenAlways = (int) 0x40,tomTruncateExisting = (int) 0x50,tomRTF = (int) 0x1,tomText = (int) 0x2,tomHTML = (int) 0x3, + tomWordDocument = (int) 0x4,tomBold = (int) 0x80000001,tomItalic = (int) 0x80000002,tomUnderline = (int) 0x80000004,tomStrikeout = (int) 0x80000008,tomProtected = (int) 0x80000010, + tomLink = (int) 0x80000020,tomSmallCaps = (int) 0x80000040,tomAllCaps = (int) 0x80000080,tomHidden = (int) 0x80000100,tomOutline = (int) 0x80000200,tomShadow = (int) 0x80000400, + tomEmboss = (int) 0x80000800,tomImprint = (int) 0x80001000,tomDisabled = (int) 0x80002000,tomRevised = (int) 0x80004000,tomNormalCaret = (int) 0,tomKoreanBlockCaret = (int) 0x1, + tomIncludeInset = (int) 0x1,tomIgnoreCurrentFont = (int) 0,tomMatchFontCharset = (int) 0x1,tomMatchFontSignature = (int) 0x2,tomCharset = (int) 0x80000000,tomRE10Mode = (int) 0x1, + tomNoIME = (int) 0x80000,tomSelfIME = (int) 0x40000 + } tomConstants; + + EXTERN_C const IID LIBID_tom; +#ifndef __ITextDocument_INTERFACE_DEFINED__ +#define __ITextDocument_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextDocument; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextDocument : public IDispatch { + public: + virtual HRESULT WINAPI GetName(BSTR *pName) = 0; + virtual HRESULT WINAPI GetSelection(ITextSelection **ppSel) = 0; + virtual HRESULT WINAPI GetStoryCount(__LONG32 *pCount) = 0; + virtual HRESULT WINAPI GetStoryRanges(ITextStoryRanges **ppStories) = 0; + virtual HRESULT WINAPI GetSaved(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetSaved(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetDefaultTabStop(float *pValue) = 0; + virtual HRESULT WINAPI SetDefaultTabStop(float Value) = 0; + virtual HRESULT WINAPI New(void) = 0; + virtual HRESULT WINAPI Open(VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage) = 0; + virtual HRESULT WINAPI Save(VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage) = 0; + virtual HRESULT WINAPI Freeze(__LONG32 *pCount) = 0; + virtual HRESULT WINAPI Unfreeze(__LONG32 *pCount) = 0; + virtual HRESULT WINAPI BeginEditCollection(void) = 0; + virtual HRESULT WINAPI EndEditCollection(void) = 0; + virtual HRESULT WINAPI Undo(__LONG32 Count,__LONG32 *prop) = 0; + virtual HRESULT WINAPI Redo(__LONG32 Count,__LONG32 *prop) = 0; + virtual HRESULT WINAPI Range(__LONG32 cp1,__LONG32 cp2,ITextRange **ppRange) = 0; + virtual HRESULT WINAPI RangeFromPoint(__LONG32 x,__LONG32 y,ITextRange **ppRange) = 0; + }; +#else + typedef struct ITextDocumentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextDocument *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextDocument *This); + ULONG (WINAPI *Release)(ITextDocument *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextDocument *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextDocument *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextDocument *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextDocument *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetName)(ITextDocument *This,BSTR *pName); + HRESULT (WINAPI *GetSelection)(ITextDocument *This,ITextSelection **ppSel); + HRESULT (WINAPI *GetStoryCount)(ITextDocument *This,__LONG32 *pCount); + HRESULT (WINAPI *GetStoryRanges)(ITextDocument *This,ITextStoryRanges **ppStories); + HRESULT (WINAPI *GetSaved)(ITextDocument *This,__LONG32 *pValue); + HRESULT (WINAPI *SetSaved)(ITextDocument *This,__LONG32 Value); + HRESULT (WINAPI *GetDefaultTabStop)(ITextDocument *This,float *pValue); + HRESULT (WINAPI *SetDefaultTabStop)(ITextDocument *This,float Value); + HRESULT (WINAPI *New)(ITextDocument *This); + HRESULT (WINAPI *Open)(ITextDocument *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + HRESULT (WINAPI *Save)(ITextDocument *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + HRESULT (WINAPI *Freeze)(ITextDocument *This,__LONG32 *pCount); + HRESULT (WINAPI *Unfreeze)(ITextDocument *This,__LONG32 *pCount); + HRESULT (WINAPI *BeginEditCollection)(ITextDocument *This); + HRESULT (WINAPI *EndEditCollection)(ITextDocument *This); + HRESULT (WINAPI *Undo)(ITextDocument *This,__LONG32 Count,__LONG32 *prop); + HRESULT (WINAPI *Redo)(ITextDocument *This,__LONG32 Count,__LONG32 *prop); + HRESULT (WINAPI *Range)(ITextDocument *This,__LONG32 cp1,__LONG32 cp2,ITextRange **ppRange); + HRESULT (WINAPI *RangeFromPoint)(ITextDocument *This,__LONG32 x,__LONG32 y,ITextRange **ppRange); + END_INTERFACE + } ITextDocumentVtbl; + struct ITextDocument { + CONST_VTBL struct ITextDocumentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextDocument_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextDocument_Release(This) (This)->lpVtbl->Release(This) +#define ITextDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextDocument_GetName(This,pName) (This)->lpVtbl->GetName(This,pName) +#define ITextDocument_GetSelection(This,ppSel) (This)->lpVtbl->GetSelection(This,ppSel) +#define ITextDocument_GetStoryCount(This,pCount) (This)->lpVtbl->GetStoryCount(This,pCount) +#define ITextDocument_GetStoryRanges(This,ppStories) (This)->lpVtbl->GetStoryRanges(This,ppStories) +#define ITextDocument_GetSaved(This,pValue) (This)->lpVtbl->GetSaved(This,pValue) +#define ITextDocument_SetSaved(This,Value) (This)->lpVtbl->SetSaved(This,Value) +#define ITextDocument_GetDefaultTabStop(This,pValue) (This)->lpVtbl->GetDefaultTabStop(This,pValue) +#define ITextDocument_SetDefaultTabStop(This,Value) (This)->lpVtbl->SetDefaultTabStop(This,Value) +#define ITextDocument_New(This) (This)->lpVtbl->New(This) +#define ITextDocument_Open(This,pVar,Flags,CodePage) (This)->lpVtbl->Open(This,pVar,Flags,CodePage) +#define ITextDocument_Save(This,pVar,Flags,CodePage) (This)->lpVtbl->Save(This,pVar,Flags,CodePage) +#define ITextDocument_Freeze(This,pCount) (This)->lpVtbl->Freeze(This,pCount) +#define ITextDocument_Unfreeze(This,pCount) (This)->lpVtbl->Unfreeze(This,pCount) +#define ITextDocument_BeginEditCollection(This) (This)->lpVtbl->BeginEditCollection(This) +#define ITextDocument_EndEditCollection(This) (This)->lpVtbl->EndEditCollection(This) +#define ITextDocument_Undo(This,Count,prop) (This)->lpVtbl->Undo(This,Count,prop) +#define ITextDocument_Redo(This,Count,prop) (This)->lpVtbl->Redo(This,Count,prop) +#define ITextDocument_Range(This,cp1,cp2,ppRange) (This)->lpVtbl->Range(This,cp1,cp2,ppRange) +#define ITextDocument_RangeFromPoint(This,x,y,ppRange) (This)->lpVtbl->RangeFromPoint(This,x,y,ppRange) +#endif +#endif + HRESULT WINAPI ITextDocument_GetName_Proxy(ITextDocument *This,BSTR *pName); + void __RPC_STUB ITextDocument_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_GetSelection_Proxy(ITextDocument *This,ITextSelection **ppSel); + void __RPC_STUB ITextDocument_GetSelection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_GetStoryCount_Proxy(ITextDocument *This,__LONG32 *pCount); + void __RPC_STUB ITextDocument_GetStoryCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_GetStoryRanges_Proxy(ITextDocument *This,ITextStoryRanges **ppStories); + void __RPC_STUB ITextDocument_GetStoryRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_GetSaved_Proxy(ITextDocument *This,__LONG32 *pValue); + void __RPC_STUB ITextDocument_GetSaved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_SetSaved_Proxy(ITextDocument *This,__LONG32 Value); + void __RPC_STUB ITextDocument_SetSaved_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_GetDefaultTabStop_Proxy(ITextDocument *This,float *pValue); + void __RPC_STUB ITextDocument_GetDefaultTabStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_SetDefaultTabStop_Proxy(ITextDocument *This,float Value); + void __RPC_STUB ITextDocument_SetDefaultTabStop_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_New_Proxy(ITextDocument *This); + void __RPC_STUB ITextDocument_New_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Open_Proxy(ITextDocument *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + void __RPC_STUB ITextDocument_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Save_Proxy(ITextDocument *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + void __RPC_STUB ITextDocument_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Freeze_Proxy(ITextDocument *This,__LONG32 *pCount); + void __RPC_STUB ITextDocument_Freeze_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Unfreeze_Proxy(ITextDocument *This,__LONG32 *pCount); + void __RPC_STUB ITextDocument_Unfreeze_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_BeginEditCollection_Proxy(ITextDocument *This); + void __RPC_STUB ITextDocument_BeginEditCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_EndEditCollection_Proxy(ITextDocument *This); + void __RPC_STUB ITextDocument_EndEditCollection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Undo_Proxy(ITextDocument *This,__LONG32 Count,__LONG32 *prop); + void __RPC_STUB ITextDocument_Undo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Redo_Proxy(ITextDocument *This,__LONG32 Count,__LONG32 *prop); + void __RPC_STUB ITextDocument_Redo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_Range_Proxy(ITextDocument *This,__LONG32 cp1,__LONG32 cp2,ITextRange **ppRange); + void __RPC_STUB ITextDocument_Range_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument_RangeFromPoint_Proxy(ITextDocument *This,__LONG32 x,__LONG32 y,ITextRange **ppRange); + void __RPC_STUB ITextDocument_RangeFromPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextRange_INTERFACE_DEFINED__ +#define __ITextRange_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextRange; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextRange : public IDispatch { + public: + virtual HRESULT WINAPI GetText(BSTR *pbstr) = 0; + virtual HRESULT WINAPI SetText(BSTR bstr) = 0; + virtual HRESULT WINAPI GetChar(__LONG32 *pch) = 0; + virtual HRESULT WINAPI SetChar(__LONG32 ch) = 0; + virtual HRESULT WINAPI GetDuplicate(ITextRange **ppRange) = 0; + virtual HRESULT WINAPI GetFormattedText(ITextRange **ppRange) = 0; + virtual HRESULT WINAPI SetFormattedText(ITextRange *pRange) = 0; + virtual HRESULT WINAPI GetStart(__LONG32 *pcpFirst) = 0; + virtual HRESULT WINAPI SetStart(__LONG32 cpFirst) = 0; + virtual HRESULT WINAPI GetEnd(__LONG32 *pcpLim) = 0; + virtual HRESULT WINAPI SetEnd(__LONG32 cpLim) = 0; + virtual HRESULT WINAPI GetFont(ITextFont **pFont) = 0; + virtual HRESULT WINAPI SetFont(ITextFont *pFont) = 0; + virtual HRESULT WINAPI GetPara(ITextPara **pPara) = 0; + virtual HRESULT WINAPI SetPara(ITextPara *pPara) = 0; + virtual HRESULT WINAPI GetStoryLength(__LONG32 *pcch) = 0; + virtual HRESULT WINAPI GetStoryType(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI Collapse(__LONG32 bStart) = 0; + virtual HRESULT WINAPI Expand(__LONG32 Unit,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI GetIndex(__LONG32 Unit,__LONG32 *pIndex) = 0; + virtual HRESULT WINAPI SetIndex(__LONG32 Unit,__LONG32 Index,__LONG32 Extend) = 0; + virtual HRESULT WINAPI SetRange(__LONG32 cpActive,__LONG32 cpOther) = 0; + virtual HRESULT WINAPI InRange(ITextRange *pRange,__LONG32 *pb) = 0; + virtual HRESULT WINAPI InStory(ITextRange *pRange,__LONG32 *pb) = 0; + virtual HRESULT WINAPI IsEqual(ITextRange *pRange,__LONG32 *pb) = 0; + virtual HRESULT WINAPI Select(void) = 0; + virtual HRESULT WINAPI StartOf(__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI EndOf(__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI Move(__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveStart(__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveEnd(__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveWhile(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveStartWhile(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveEndWhile(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveUntil(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveStartUntil(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveEndUntil(VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI FindText(BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength) = 0; + virtual HRESULT WINAPI FindTextStart(BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength) = 0; + virtual HRESULT WINAPI FindTextEnd(BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength) = 0; + virtual HRESULT WINAPI Delete(__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI Cut(VARIANT *pVar) = 0; + virtual HRESULT WINAPI Copy(VARIANT *pVar) = 0; + virtual HRESULT WINAPI Paste(VARIANT *pVar,__LONG32 Format) = 0; + virtual HRESULT WINAPI CanPaste(VARIANT *pVar,__LONG32 Format,__LONG32 *pb) = 0; + virtual HRESULT WINAPI CanEdit(__LONG32 *pbCanEdit) = 0; + virtual HRESULT WINAPI ChangeCase(__LONG32 Type) = 0; + virtual HRESULT WINAPI GetPoint(__LONG32 Type,__LONG32 *px,__LONG32 *py) = 0; + virtual HRESULT WINAPI SetPoint(__LONG32 x,__LONG32 y,__LONG32 Type,__LONG32 Extend) = 0; + virtual HRESULT WINAPI ScrollIntoView(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetEmbeddedObject(IUnknown **ppv) = 0; + }; +#else + typedef struct ITextRangeVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextRange *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextRange *This); + ULONG (WINAPI *Release)(ITextRange *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextRange *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextRange *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextRange *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextRange *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetText)(ITextRange *This,BSTR *pbstr); + HRESULT (WINAPI *SetText)(ITextRange *This,BSTR bstr); + HRESULT (WINAPI *GetChar)(ITextRange *This,__LONG32 *pch); + HRESULT (WINAPI *SetChar)(ITextRange *This,__LONG32 ch); + HRESULT (WINAPI *GetDuplicate)(ITextRange *This,ITextRange **ppRange); + HRESULT (WINAPI *GetFormattedText)(ITextRange *This,ITextRange **ppRange); + HRESULT (WINAPI *SetFormattedText)(ITextRange *This,ITextRange *pRange); + HRESULT (WINAPI *GetStart)(ITextRange *This,__LONG32 *pcpFirst); + HRESULT (WINAPI *SetStart)(ITextRange *This,__LONG32 cpFirst); + HRESULT (WINAPI *GetEnd)(ITextRange *This,__LONG32 *pcpLim); + HRESULT (WINAPI *SetEnd)(ITextRange *This,__LONG32 cpLim); + HRESULT (WINAPI *GetFont)(ITextRange *This,ITextFont **pFont); + HRESULT (WINAPI *SetFont)(ITextRange *This,ITextFont *pFont); + HRESULT (WINAPI *GetPara)(ITextRange *This,ITextPara **pPara); + HRESULT (WINAPI *SetPara)(ITextRange *This,ITextPara *pPara); + HRESULT (WINAPI *GetStoryLength)(ITextRange *This,__LONG32 *pcch); + HRESULT (WINAPI *GetStoryType)(ITextRange *This,__LONG32 *pValue); + HRESULT (WINAPI *Collapse)(ITextRange *This,__LONG32 bStart); + HRESULT (WINAPI *Expand)(ITextRange *This,__LONG32 Unit,__LONG32 *pDelta); + HRESULT (WINAPI *GetIndex)(ITextRange *This,__LONG32 Unit,__LONG32 *pIndex); + HRESULT (WINAPI *SetIndex)(ITextRange *This,__LONG32 Unit,__LONG32 Index,__LONG32 Extend); + HRESULT (WINAPI *SetRange)(ITextRange *This,__LONG32 cpActive,__LONG32 cpOther); + HRESULT (WINAPI *InRange)(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *InStory)(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *IsEqual)(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *Select)(ITextRange *This); + HRESULT (WINAPI *StartOf)(ITextRange *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *EndOf)(ITextRange *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *Move)(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStart)(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEnd)(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveWhile)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStartWhile)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEndWhile)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveUntil)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStartUntil)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEndUntil)(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *FindText)(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *FindTextStart)(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *FindTextEnd)(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *Delete)(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *Cut)(ITextRange *This,VARIANT *pVar); + HRESULT (WINAPI *Copy)(ITextRange *This,VARIANT *pVar); + HRESULT (WINAPI *Paste)(ITextRange *This,VARIANT *pVar,__LONG32 Format); + HRESULT (WINAPI *CanPaste)(ITextRange *This,VARIANT *pVar,__LONG32 Format,__LONG32 *pb); + HRESULT (WINAPI *CanEdit)(ITextRange *This,__LONG32 *pbCanEdit); + HRESULT (WINAPI *ChangeCase)(ITextRange *This,__LONG32 Type); + HRESULT (WINAPI *GetPoint)(ITextRange *This,__LONG32 Type,__LONG32 *px,__LONG32 *py); + HRESULT (WINAPI *SetPoint)(ITextRange *This,__LONG32 x,__LONG32 y,__LONG32 Type,__LONG32 Extend); + HRESULT (WINAPI *ScrollIntoView)(ITextRange *This,__LONG32 Value); + HRESULT (WINAPI *GetEmbeddedObject)(ITextRange *This,IUnknown **ppv); + END_INTERFACE + } ITextRangeVtbl; + struct ITextRange { + CONST_VTBL struct ITextRangeVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextRange_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextRange_Release(This) (This)->lpVtbl->Release(This) +#define ITextRange_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextRange_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextRange_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextRange_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextRange_GetText(This,pbstr) (This)->lpVtbl->GetText(This,pbstr) +#define ITextRange_SetText(This,bstr) (This)->lpVtbl->SetText(This,bstr) +#define ITextRange_GetChar(This,pch) (This)->lpVtbl->GetChar(This,pch) +#define ITextRange_SetChar(This,ch) (This)->lpVtbl->SetChar(This,ch) +#define ITextRange_GetDuplicate(This,ppRange) (This)->lpVtbl->GetDuplicate(This,ppRange) +#define ITextRange_GetFormattedText(This,ppRange) (This)->lpVtbl->GetFormattedText(This,ppRange) +#define ITextRange_SetFormattedText(This,pRange) (This)->lpVtbl->SetFormattedText(This,pRange) +#define ITextRange_GetStart(This,pcpFirst) (This)->lpVtbl->GetStart(This,pcpFirst) +#define ITextRange_SetStart(This,cpFirst) (This)->lpVtbl->SetStart(This,cpFirst) +#define ITextRange_GetEnd(This,pcpLim) (This)->lpVtbl->GetEnd(This,pcpLim) +#define ITextRange_SetEnd(This,cpLim) (This)->lpVtbl->SetEnd(This,cpLim) +#define ITextRange_GetFont(This,pFont) (This)->lpVtbl->GetFont(This,pFont) +#define ITextRange_SetFont(This,pFont) (This)->lpVtbl->SetFont(This,pFont) +#define ITextRange_GetPara(This,pPara) (This)->lpVtbl->GetPara(This,pPara) +#define ITextRange_SetPara(This,pPara) (This)->lpVtbl->SetPara(This,pPara) +#define ITextRange_GetStoryLength(This,pcch) (This)->lpVtbl->GetStoryLength(This,pcch) +#define ITextRange_GetStoryType(This,pValue) (This)->lpVtbl->GetStoryType(This,pValue) +#define ITextRange_Collapse(This,bStart) (This)->lpVtbl->Collapse(This,bStart) +#define ITextRange_Expand(This,Unit,pDelta) (This)->lpVtbl->Expand(This,Unit,pDelta) +#define ITextRange_GetIndex(This,Unit,pIndex) (This)->lpVtbl->GetIndex(This,Unit,pIndex) +#define ITextRange_SetIndex(This,Unit,Index,Extend) (This)->lpVtbl->SetIndex(This,Unit,Index,Extend) +#define ITextRange_SetRange(This,cpActive,cpOther) (This)->lpVtbl->SetRange(This,cpActive,cpOther) +#define ITextRange_InRange(This,pRange,pb) (This)->lpVtbl->InRange(This,pRange,pb) +#define ITextRange_InStory(This,pRange,pb) (This)->lpVtbl->InStory(This,pRange,pb) +#define ITextRange_IsEqual(This,pRange,pb) (This)->lpVtbl->IsEqual(This,pRange,pb) +#define ITextRange_Select(This) (This)->lpVtbl->Select(This) +#define ITextRange_StartOf(This,Unit,Extend,pDelta) (This)->lpVtbl->StartOf(This,Unit,Extend,pDelta) +#define ITextRange_EndOf(This,Unit,Extend,pDelta) (This)->lpVtbl->EndOf(This,Unit,Extend,pDelta) +#define ITextRange_Move(This,Unit,Count,pDelta) (This)->lpVtbl->Move(This,Unit,Count,pDelta) +#define ITextRange_MoveStart(This,Unit,Count,pDelta) (This)->lpVtbl->MoveStart(This,Unit,Count,pDelta) +#define ITextRange_MoveEnd(This,Unit,Count,pDelta) (This)->lpVtbl->MoveEnd(This,Unit,Count,pDelta) +#define ITextRange_MoveWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveWhile(This,Cset,Count,pDelta) +#define ITextRange_MoveStartWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveStartWhile(This,Cset,Count,pDelta) +#define ITextRange_MoveEndWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveEndWhile(This,Cset,Count,pDelta) +#define ITextRange_MoveUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveUntil(This,Cset,Count,pDelta) +#define ITextRange_MoveStartUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveStartUntil(This,Cset,Count,pDelta) +#define ITextRange_MoveEndUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveEndUntil(This,Cset,Count,pDelta) +#define ITextRange_FindText(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindText(This,bstr,cch,Flags,pLength) +#define ITextRange_FindTextStart(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindTextStart(This,bstr,cch,Flags,pLength) +#define ITextRange_FindTextEnd(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindTextEnd(This,bstr,cch,Flags,pLength) +#define ITextRange_Delete(This,Unit,Count,pDelta) (This)->lpVtbl->Delete(This,Unit,Count,pDelta) +#define ITextRange_Cut(This,pVar) (This)->lpVtbl->Cut(This,pVar) +#define ITextRange_Copy(This,pVar) (This)->lpVtbl->Copy(This,pVar) +#define ITextRange_Paste(This,pVar,Format) (This)->lpVtbl->Paste(This,pVar,Format) +#define ITextRange_CanPaste(This,pVar,Format,pb) (This)->lpVtbl->CanPaste(This,pVar,Format,pb) +#define ITextRange_CanEdit(This,pbCanEdit) (This)->lpVtbl->CanEdit(This,pbCanEdit) +#define ITextRange_ChangeCase(This,Type) (This)->lpVtbl->ChangeCase(This,Type) +#define ITextRange_GetPoint(This,Type,px,py) (This)->lpVtbl->GetPoint(This,Type,px,py) +#define ITextRange_SetPoint(This,x,y,Type,Extend) (This)->lpVtbl->SetPoint(This,x,y,Type,Extend) +#define ITextRange_ScrollIntoView(This,Value) (This)->lpVtbl->ScrollIntoView(This,Value) +#define ITextRange_GetEmbeddedObject(This,ppv) (This)->lpVtbl->GetEmbeddedObject(This,ppv) +#endif +#endif + HRESULT WINAPI ITextRange_GetText_Proxy(ITextRange *This,BSTR *pbstr); + void __RPC_STUB ITextRange_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetText_Proxy(ITextRange *This,BSTR bstr); + void __RPC_STUB ITextRange_SetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetChar_Proxy(ITextRange *This,__LONG32 *pch); + void __RPC_STUB ITextRange_GetChar_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetChar_Proxy(ITextRange *This,__LONG32 ch); + void __RPC_STUB ITextRange_SetChar_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetDuplicate_Proxy(ITextRange *This,ITextRange **ppRange); + void __RPC_STUB ITextRange_GetDuplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetFormattedText_Proxy(ITextRange *This,ITextRange **ppRange); + void __RPC_STUB ITextRange_GetFormattedText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetFormattedText_Proxy(ITextRange *This,ITextRange *pRange); + void __RPC_STUB ITextRange_SetFormattedText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetStart_Proxy(ITextRange *This,__LONG32 *pcpFirst); + void __RPC_STUB ITextRange_GetStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetStart_Proxy(ITextRange *This,__LONG32 cpFirst); + void __RPC_STUB ITextRange_SetStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetEnd_Proxy(ITextRange *This,__LONG32 *pcpLim); + void __RPC_STUB ITextRange_GetEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetEnd_Proxy(ITextRange *This,__LONG32 cpLim); + void __RPC_STUB ITextRange_SetEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetFont_Proxy(ITextRange *This,ITextFont **pFont); + void __RPC_STUB ITextRange_GetFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetFont_Proxy(ITextRange *This,ITextFont *pFont); + void __RPC_STUB ITextRange_SetFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetPara_Proxy(ITextRange *This,ITextPara **pPara); + void __RPC_STUB ITextRange_GetPara_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetPara_Proxy(ITextRange *This,ITextPara *pPara); + void __RPC_STUB ITextRange_SetPara_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetStoryLength_Proxy(ITextRange *This,__LONG32 *pcch); + void __RPC_STUB ITextRange_GetStoryLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetStoryType_Proxy(ITextRange *This,__LONG32 *pValue); + void __RPC_STUB ITextRange_GetStoryType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Collapse_Proxy(ITextRange *This,__LONG32 bStart); + void __RPC_STUB ITextRange_Collapse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Expand_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 *pDelta); + void __RPC_STUB ITextRange_Expand_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetIndex_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 *pIndex); + void __RPC_STUB ITextRange_GetIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetIndex_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Index,__LONG32 Extend); + void __RPC_STUB ITextRange_SetIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetRange_Proxy(ITextRange *This,__LONG32 cpActive,__LONG32 cpOther); + void __RPC_STUB ITextRange_SetRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_InRange_Proxy(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + void __RPC_STUB ITextRange_InRange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_InStory_Proxy(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + void __RPC_STUB ITextRange_InStory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_IsEqual_Proxy(ITextRange *This,ITextRange *pRange,__LONG32 *pb); + void __RPC_STUB ITextRange_IsEqual_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Select_Proxy(ITextRange *This); + void __RPC_STUB ITextRange_Select_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_StartOf_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextRange_StartOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_EndOf_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextRange_EndOf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Move_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_Move_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveStart_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveEnd_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveWhile_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveWhile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveStartWhile_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveStartWhile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveEndWhile_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveEndWhile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveUntil_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveUntil_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveStartUntil_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveStartUntil_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_MoveEndUntil_Proxy(ITextRange *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_MoveEndUntil_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_FindText_Proxy(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + void __RPC_STUB ITextRange_FindText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_FindTextStart_Proxy(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + void __RPC_STUB ITextRange_FindTextStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_FindTextEnd_Proxy(ITextRange *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + void __RPC_STUB ITextRange_FindTextEnd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Delete_Proxy(ITextRange *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + void __RPC_STUB ITextRange_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Cut_Proxy(ITextRange *This,VARIANT *pVar); + void __RPC_STUB ITextRange_Cut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Copy_Proxy(ITextRange *This,VARIANT *pVar); + void __RPC_STUB ITextRange_Copy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_Paste_Proxy(ITextRange *This,VARIANT *pVar,__LONG32 Format); + void __RPC_STUB ITextRange_Paste_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_CanPaste_Proxy(ITextRange *This,VARIANT *pVar,__LONG32 Format,__LONG32 *pb); + void __RPC_STUB ITextRange_CanPaste_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_CanEdit_Proxy(ITextRange *This,__LONG32 *pbCanEdit); + void __RPC_STUB ITextRange_CanEdit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_ChangeCase_Proxy(ITextRange *This,__LONG32 Type); + void __RPC_STUB ITextRange_ChangeCase_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetPoint_Proxy(ITextRange *This,__LONG32 Type,__LONG32 *px,__LONG32 *py); + void __RPC_STUB ITextRange_GetPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_SetPoint_Proxy(ITextRange *This,__LONG32 x,__LONG32 y,__LONG32 Type,__LONG32 Extend); + void __RPC_STUB ITextRange_SetPoint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_ScrollIntoView_Proxy(ITextRange *This,__LONG32 Value); + void __RPC_STUB ITextRange_ScrollIntoView_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextRange_GetEmbeddedObject_Proxy(ITextRange *This,IUnknown **ppv); + void __RPC_STUB ITextRange_GetEmbeddedObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextSelection_INTERFACE_DEFINED__ +#define __ITextSelection_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextSelection; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextSelection : public ITextRange { + public: + virtual HRESULT WINAPI GetFlags(__LONG32 *pFlags) = 0; + virtual HRESULT WINAPI SetFlags(LONG Flags) = 0; + virtual HRESULT WINAPI GetType(__LONG32 *pType) = 0; + virtual HRESULT WINAPI MoveLeft(__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveRight(__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveUp(__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI MoveDown(__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI HomeKey(__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI EndKey(__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta) = 0; + virtual HRESULT WINAPI TypeText(BSTR bstr) = 0; + }; +#else + typedef struct ITextSelectionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextSelection *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextSelection *This); + ULONG (WINAPI *Release)(ITextSelection *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextSelection *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextSelection *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextSelection *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextSelection *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetText)(ITextSelection *This,BSTR *pbstr); + HRESULT (WINAPI *SetText)(ITextSelection *This,BSTR bstr); + HRESULT (WINAPI *GetChar)(ITextSelection *This,__LONG32 *pch); + HRESULT (WINAPI *SetChar)(ITextSelection *This,__LONG32 ch); + HRESULT (WINAPI *GetDuplicate)(ITextSelection *This,ITextRange **ppRange); + HRESULT (WINAPI *GetFormattedText)(ITextSelection *This,ITextRange **ppRange); + HRESULT (WINAPI *SetFormattedText)(ITextSelection *This,ITextRange *pRange); + HRESULT (WINAPI *GetStart)(ITextSelection *This,__LONG32 *pcpFirst); + HRESULT (WINAPI *SetStart)(ITextSelection *This,__LONG32 cpFirst); + HRESULT (WINAPI *GetEnd)(ITextSelection *This,__LONG32 *pcpLim); + HRESULT (WINAPI *SetEnd)(ITextSelection *This,__LONG32 cpLim); + HRESULT (WINAPI *GetFont)(ITextSelection *This,ITextFont **pFont); + HRESULT (WINAPI *SetFont)(ITextSelection *This,ITextFont *pFont); + HRESULT (WINAPI *GetPara)(ITextSelection *This,ITextPara **pPara); + HRESULT (WINAPI *SetPara)(ITextSelection *This,ITextPara *pPara); + HRESULT (WINAPI *GetStoryLength)(ITextSelection *This,__LONG32 *pcch); + HRESULT (WINAPI *GetStoryType)(ITextSelection *This,__LONG32 *pValue); + HRESULT (WINAPI *Collapse)(ITextSelection *This,__LONG32 bStart); + HRESULT (WINAPI *Expand)(ITextSelection *This,__LONG32 Unit,__LONG32 *pDelta); + HRESULT (WINAPI *GetIndex)(ITextSelection *This,__LONG32 Unit,__LONG32 *pIndex); + HRESULT (WINAPI *SetIndex)(ITextSelection *This,__LONG32 Unit,__LONG32 Index,__LONG32 Extend); + HRESULT (WINAPI *SetRange)(ITextSelection *This,__LONG32 cpActive,__LONG32 cpOther); + HRESULT (WINAPI *InRange)(ITextSelection *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *InStory)(ITextSelection *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *IsEqual)(ITextSelection *This,ITextRange *pRange,__LONG32 *pb); + HRESULT (WINAPI *Select)(ITextSelection *This); + HRESULT (WINAPI *StartOf)(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *EndOf)(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *Move)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStart)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEnd)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveWhile)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStartWhile)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEndWhile)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveUntil)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveStartUntil)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *MoveEndUntil)(ITextSelection *This,VARIANT *Cset,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *FindText)(ITextSelection *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *FindTextStart)(ITextSelection *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *FindTextEnd)(ITextSelection *This,BSTR bstr,__LONG32 cch,__LONG32 Flags,__LONG32 *pLength); + HRESULT (WINAPI *Delete)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 *pDelta); + HRESULT (WINAPI *Cut)(ITextSelection *This,VARIANT *pVar); + HRESULT (WINAPI *Copy)(ITextSelection *This,VARIANT *pVar); + HRESULT (WINAPI *Paste)(ITextSelection *This,VARIANT *pVar,__LONG32 Format); + HRESULT (WINAPI *CanPaste)(ITextSelection *This,VARIANT *pVar,__LONG32 Format,__LONG32 *pb); + HRESULT (WINAPI *CanEdit)(ITextSelection *This,__LONG32 *pbCanEdit); + HRESULT (WINAPI *ChangeCase)(ITextSelection *This,__LONG32 Type); + HRESULT (WINAPI *GetPoint)(ITextSelection *This,__LONG32 Type,__LONG32 *px,__LONG32 *py); + HRESULT (WINAPI *SetPoint)(ITextSelection *This,__LONG32 x,__LONG32 y,__LONG32 Type,__LONG32 Extend); + HRESULT (WINAPI *ScrollIntoView)(ITextSelection *This,__LONG32 Value); + HRESULT (WINAPI *GetEmbeddedObject)(ITextSelection *This,IUnknown **ppv); + HRESULT (WINAPI *GetFlags)(ITextSelection *This,__LONG32 *pFlags); + HRESULT (WINAPI *SetFlags)(ITextSelection *This,LONG Flags); + HRESULT (WINAPI *GetType)(ITextSelection *This,__LONG32 *pType); + HRESULT (WINAPI *MoveLeft)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *MoveRight)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *MoveUp)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *MoveDown)(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *HomeKey)(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *EndKey)(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + HRESULT (WINAPI *TypeText)(ITextSelection *This,BSTR bstr); + END_INTERFACE + } ITextSelectionVtbl; + + struct ITextSelection { + CONST_VTBL struct ITextSelectionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextSelection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextSelection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextSelection_Release(This) (This)->lpVtbl->Release(This) +#define ITextSelection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextSelection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextSelection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextSelection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextSelection_GetText(This,pbstr) (This)->lpVtbl->GetText(This,pbstr) +#define ITextSelection_SetText(This,bstr) (This)->lpVtbl->SetText(This,bstr) +#define ITextSelection_GetChar(This,pch) (This)->lpVtbl->GetChar(This,pch) +#define ITextSelection_SetChar(This,ch) (This)->lpVtbl->SetChar(This,ch) +#define ITextSelection_GetDuplicate(This,ppRange) (This)->lpVtbl->GetDuplicate(This,ppRange) +#define ITextSelection_GetFormattedText(This,ppRange) (This)->lpVtbl->GetFormattedText(This,ppRange) +#define ITextSelection_SetFormattedText(This,pRange) (This)->lpVtbl->SetFormattedText(This,pRange) +#define ITextSelection_GetStart(This,pcpFirst) (This)->lpVtbl->GetStart(This,pcpFirst) +#define ITextSelection_SetStart(This,cpFirst) (This)->lpVtbl->SetStart(This,cpFirst) +#define ITextSelection_GetEnd(This,pcpLim) (This)->lpVtbl->GetEnd(This,pcpLim) +#define ITextSelection_SetEnd(This,cpLim) (This)->lpVtbl->SetEnd(This,cpLim) +#define ITextSelection_GetFont(This,pFont) (This)->lpVtbl->GetFont(This,pFont) +#define ITextSelection_SetFont(This,pFont) (This)->lpVtbl->SetFont(This,pFont) +#define ITextSelection_GetPara(This,pPara) (This)->lpVtbl->GetPara(This,pPara) +#define ITextSelection_SetPara(This,pPara) (This)->lpVtbl->SetPara(This,pPara) +#define ITextSelection_GetStoryLength(This,pcch) (This)->lpVtbl->GetStoryLength(This,pcch) +#define ITextSelection_GetStoryType(This,pValue) (This)->lpVtbl->GetStoryType(This,pValue) +#define ITextSelection_Collapse(This,bStart) (This)->lpVtbl->Collapse(This,bStart) +#define ITextSelection_Expand(This,Unit,pDelta) (This)->lpVtbl->Expand(This,Unit,pDelta) +#define ITextSelection_GetIndex(This,Unit,pIndex) (This)->lpVtbl->GetIndex(This,Unit,pIndex) +#define ITextSelection_SetIndex(This,Unit,Index,Extend) (This)->lpVtbl->SetIndex(This,Unit,Index,Extend) +#define ITextSelection_SetRange(This,cpActive,cpOther) (This)->lpVtbl->SetRange(This,cpActive,cpOther) +#define ITextSelection_InRange(This,pRange,pb) (This)->lpVtbl->InRange(This,pRange,pb) +#define ITextSelection_InStory(This,pRange,pb) (This)->lpVtbl->InStory(This,pRange,pb) +#define ITextSelection_IsEqual(This,pRange,pb) (This)->lpVtbl->IsEqual(This,pRange,pb) +#define ITextSelection_Select(This) (This)->lpVtbl->Select(This) +#define ITextSelection_StartOf(This,Unit,Extend,pDelta) (This)->lpVtbl->StartOf(This,Unit,Extend,pDelta) +#define ITextSelection_EndOf(This,Unit,Extend,pDelta) (This)->lpVtbl->EndOf(This,Unit,Extend,pDelta) +#define ITextSelection_Move(This,Unit,Count,pDelta) (This)->lpVtbl->Move(This,Unit,Count,pDelta) +#define ITextSelection_MoveStart(This,Unit,Count,pDelta) (This)->lpVtbl->MoveStart(This,Unit,Count,pDelta) +#define ITextSelection_MoveEnd(This,Unit,Count,pDelta) (This)->lpVtbl->MoveEnd(This,Unit,Count,pDelta) +#define ITextSelection_MoveWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveWhile(This,Cset,Count,pDelta) +#define ITextSelection_MoveStartWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveStartWhile(This,Cset,Count,pDelta) +#define ITextSelection_MoveEndWhile(This,Cset,Count,pDelta) (This)->lpVtbl->MoveEndWhile(This,Cset,Count,pDelta) +#define ITextSelection_MoveUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveUntil(This,Cset,Count,pDelta) +#define ITextSelection_MoveStartUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveStartUntil(This,Cset,Count,pDelta) +#define ITextSelection_MoveEndUntil(This,Cset,Count,pDelta) (This)->lpVtbl->MoveEndUntil(This,Cset,Count,pDelta) +#define ITextSelection_FindText(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindText(This,bstr,cch,Flags,pLength) +#define ITextSelection_FindTextStart(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindTextStart(This,bstr,cch,Flags,pLength) +#define ITextSelection_FindTextEnd(This,bstr,cch,Flags,pLength) (This)->lpVtbl->FindTextEnd(This,bstr,cch,Flags,pLength) +#define ITextSelection_Delete(This,Unit,Count,pDelta) (This)->lpVtbl->Delete(This,Unit,Count,pDelta) +#define ITextSelection_Cut(This,pVar) (This)->lpVtbl->Cut(This,pVar) +#define ITextSelection_Copy(This,pVar) (This)->lpVtbl->Copy(This,pVar) +#define ITextSelection_Paste(This,pVar,Format) (This)->lpVtbl->Paste(This,pVar,Format) +#define ITextSelection_CanPaste(This,pVar,Format,pb) (This)->lpVtbl->CanPaste(This,pVar,Format,pb) +#define ITextSelection_CanEdit(This,pbCanEdit) (This)->lpVtbl->CanEdit(This,pbCanEdit) +#define ITextSelection_ChangeCase(This,Type) (This)->lpVtbl->ChangeCase(This,Type) +#define ITextSelection_GetPoint(This,Type,px,py) (This)->lpVtbl->GetPoint(This,Type,px,py) +#define ITextSelection_SetPoint(This,x,y,Type,Extend) (This)->lpVtbl->SetPoint(This,x,y,Type,Extend) +#define ITextSelection_ScrollIntoView(This,Value) (This)->lpVtbl->ScrollIntoView(This,Value) +#define ITextSelection_GetEmbeddedObject(This,ppv) (This)->lpVtbl->GetEmbeddedObject(This,ppv) +#define ITextSelection_GetFlags(This,pFlags) (This)->lpVtbl->GetFlags(This,pFlags) +#define ITextSelection_SetFlags(This,Flags) (This)->lpVtbl->SetFlags(This,Flags) +#define ITextSelection_GetType(This,pType) (This)->lpVtbl->GetType(This,pType) +#define ITextSelection_MoveLeft(This,Unit,Count,Extend,pDelta) (This)->lpVtbl->MoveLeft(This,Unit,Count,Extend,pDelta) +#define ITextSelection_MoveRight(This,Unit,Count,Extend,pDelta) (This)->lpVtbl->MoveRight(This,Unit,Count,Extend,pDelta) +#define ITextSelection_MoveUp(This,Unit,Count,Extend,pDelta) (This)->lpVtbl->MoveUp(This,Unit,Count,Extend,pDelta) +#define ITextSelection_MoveDown(This,Unit,Count,Extend,pDelta) (This)->lpVtbl->MoveDown(This,Unit,Count,Extend,pDelta) +#define ITextSelection_HomeKey(This,Unit,Extend,pDelta) (This)->lpVtbl->HomeKey(This,Unit,Extend,pDelta) +#define ITextSelection_EndKey(This,Unit,Extend,pDelta) (This)->lpVtbl->EndKey(This,Unit,Extend,pDelta) +#define ITextSelection_TypeText(This,bstr) (This)->lpVtbl->TypeText(This,bstr) +#endif +#endif + HRESULT WINAPI ITextSelection_GetFlags_Proxy(ITextSelection *This,__LONG32 *pFlags); + void __RPC_STUB ITextSelection_GetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_SetFlags_Proxy(ITextSelection *This,LONG Flags); + void __RPC_STUB ITextSelection_SetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_GetType_Proxy(ITextSelection *This,__LONG32 *pType); + void __RPC_STUB ITextSelection_GetType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_MoveLeft_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_MoveLeft_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_MoveRight_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_MoveRight_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_MoveUp_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_MoveUp_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_MoveDown_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Count,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_MoveDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_HomeKey_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_HomeKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_EndKey_Proxy(ITextSelection *This,__LONG32 Unit,__LONG32 Extend,__LONG32 *pDelta); + void __RPC_STUB ITextSelection_EndKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextSelection_TypeText_Proxy(ITextSelection *This,BSTR bstr); + void __RPC_STUB ITextSelection_TypeText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextFont_INTERFACE_DEFINED__ +#define __ITextFont_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextFont; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextFont : public IDispatch { + public: + virtual HRESULT WINAPI GetDuplicate(ITextFont **ppFont) = 0; + virtual HRESULT WINAPI SetDuplicate(ITextFont *pFont) = 0; + virtual HRESULT WINAPI CanChange(__LONG32 *pB) = 0; + virtual HRESULT WINAPI IsEqual(ITextFont *pFont,__LONG32 *pB) = 0; + virtual HRESULT WINAPI Reset(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetStyle(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetStyle(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetAllCaps(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetAllCaps(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetAnimation(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetAnimation(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetBackColor(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetBackColor(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetBold(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetBold(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetEmboss(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetEmboss(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetForeColor(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetForeColor(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetHidden(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetHidden(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetEngrave(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetEngrave(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetItalic(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetItalic(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetKerning(float *pValue) = 0; + virtual HRESULT WINAPI SetKerning(float Value) = 0; + virtual HRESULT WINAPI GetLanguageID(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetLanguageID(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetName(BSTR *pbstr) = 0; + virtual HRESULT WINAPI SetName(BSTR bstr) = 0; + virtual HRESULT WINAPI GetOutline(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetOutline(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetPosition(float *pValue) = 0; + virtual HRESULT WINAPI SetPosition(float Value) = 0; + virtual HRESULT WINAPI GetProtected(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetProtected(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetShadow(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetShadow(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetSize(float *pValue) = 0; + virtual HRESULT WINAPI SetSize(float Value) = 0; + virtual HRESULT WINAPI GetSmallCaps(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetSmallCaps(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetSpacing(float *pValue) = 0; + virtual HRESULT WINAPI SetSpacing(float Value) = 0; + virtual HRESULT WINAPI GetStrikeThrough(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetStrikeThrough(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetSubscript(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetSubscript(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetSuperscript(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetSuperscript(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetUnderline(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetUnderline(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetWeight(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetWeight(__LONG32 Value) = 0; + }; +#else + typedef struct ITextFontVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextFont *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextFont *This); + ULONG (WINAPI *Release)(ITextFont *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextFont *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextFont *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextFont *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextFont *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetDuplicate)(ITextFont *This,ITextFont **ppFont); + HRESULT (WINAPI *SetDuplicate)(ITextFont *This,ITextFont *pFont); + HRESULT (WINAPI *CanChange)(ITextFont *This,__LONG32 *pB); + HRESULT (WINAPI *IsEqual)(ITextFont *This,ITextFont *pFont,__LONG32 *pB); + HRESULT (WINAPI *Reset)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetStyle)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetStyle)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetAllCaps)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetAllCaps)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetAnimation)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetAnimation)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetBackColor)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetBackColor)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetBold)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetBold)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetEmboss)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetEmboss)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetForeColor)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetForeColor)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetHidden)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetHidden)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetEngrave)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetEngrave)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetItalic)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetItalic)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetKerning)(ITextFont *This,float *pValue); + HRESULT (WINAPI *SetKerning)(ITextFont *This,float Value); + HRESULT (WINAPI *GetLanguageID)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetLanguageID)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetName)(ITextFont *This,BSTR *pbstr); + HRESULT (WINAPI *SetName)(ITextFont *This,BSTR bstr); + HRESULT (WINAPI *GetOutline)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetOutline)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetPosition)(ITextFont *This,float *pValue); + HRESULT (WINAPI *SetPosition)(ITextFont *This,float Value); + HRESULT (WINAPI *GetProtected)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetProtected)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetShadow)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetShadow)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetSize)(ITextFont *This,float *pValue); + HRESULT (WINAPI *SetSize)(ITextFont *This,float Value); + HRESULT (WINAPI *GetSmallCaps)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetSmallCaps)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetSpacing)(ITextFont *This,float *pValue); + HRESULT (WINAPI *SetSpacing)(ITextFont *This,float Value); + HRESULT (WINAPI *GetStrikeThrough)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetStrikeThrough)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetSubscript)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetSubscript)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetSuperscript)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetSuperscript)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetUnderline)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetUnderline)(ITextFont *This,__LONG32 Value); + HRESULT (WINAPI *GetWeight)(ITextFont *This,__LONG32 *pValue); + HRESULT (WINAPI *SetWeight)(ITextFont *This,__LONG32 Value); + END_INTERFACE + } ITextFontVtbl; + struct ITextFont { + CONST_VTBL struct ITextFontVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextFont_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextFont_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextFont_Release(This) (This)->lpVtbl->Release(This) +#define ITextFont_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextFont_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextFont_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextFont_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextFont_GetDuplicate(This,ppFont) (This)->lpVtbl->GetDuplicate(This,ppFont) +#define ITextFont_SetDuplicate(This,pFont) (This)->lpVtbl->SetDuplicate(This,pFont) +#define ITextFont_CanChange(This,pB) (This)->lpVtbl->CanChange(This,pB) +#define ITextFont_IsEqual(This,pFont,pB) (This)->lpVtbl->IsEqual(This,pFont,pB) +#define ITextFont_Reset(This,Value) (This)->lpVtbl->Reset(This,Value) +#define ITextFont_GetStyle(This,pValue) (This)->lpVtbl->GetStyle(This,pValue) +#define ITextFont_SetStyle(This,Value) (This)->lpVtbl->SetStyle(This,Value) +#define ITextFont_GetAllCaps(This,pValue) (This)->lpVtbl->GetAllCaps(This,pValue) +#define ITextFont_SetAllCaps(This,Value) (This)->lpVtbl->SetAllCaps(This,Value) +#define ITextFont_GetAnimation(This,pValue) (This)->lpVtbl->GetAnimation(This,pValue) +#define ITextFont_SetAnimation(This,Value) (This)->lpVtbl->SetAnimation(This,Value) +#define ITextFont_GetBackColor(This,pValue) (This)->lpVtbl->GetBackColor(This,pValue) +#define ITextFont_SetBackColor(This,Value) (This)->lpVtbl->SetBackColor(This,Value) +#define ITextFont_GetBold(This,pValue) (This)->lpVtbl->GetBold(This,pValue) +#define ITextFont_SetBold(This,Value) (This)->lpVtbl->SetBold(This,Value) +#define ITextFont_GetEmboss(This,pValue) (This)->lpVtbl->GetEmboss(This,pValue) +#define ITextFont_SetEmboss(This,Value) (This)->lpVtbl->SetEmboss(This,Value) +#define ITextFont_GetForeColor(This,pValue) (This)->lpVtbl->GetForeColor(This,pValue) +#define ITextFont_SetForeColor(This,Value) (This)->lpVtbl->SetForeColor(This,Value) +#define ITextFont_GetHidden(This,pValue) (This)->lpVtbl->GetHidden(This,pValue) +#define ITextFont_SetHidden(This,Value) (This)->lpVtbl->SetHidden(This,Value) +#define ITextFont_GetEngrave(This,pValue) (This)->lpVtbl->GetEngrave(This,pValue) +#define ITextFont_SetEngrave(This,Value) (This)->lpVtbl->SetEngrave(This,Value) +#define ITextFont_GetItalic(This,pValue) (This)->lpVtbl->GetItalic(This,pValue) +#define ITextFont_SetItalic(This,Value) (This)->lpVtbl->SetItalic(This,Value) +#define ITextFont_GetKerning(This,pValue) (This)->lpVtbl->GetKerning(This,pValue) +#define ITextFont_SetKerning(This,Value) (This)->lpVtbl->SetKerning(This,Value) +#define ITextFont_GetLanguageID(This,pValue) (This)->lpVtbl->GetLanguageID(This,pValue) +#define ITextFont_SetLanguageID(This,Value) (This)->lpVtbl->SetLanguageID(This,Value) +#define ITextFont_GetName(This,pbstr) (This)->lpVtbl->GetName(This,pbstr) +#define ITextFont_SetName(This,bstr) (This)->lpVtbl->SetName(This,bstr) +#define ITextFont_GetOutline(This,pValue) (This)->lpVtbl->GetOutline(This,pValue) +#define ITextFont_SetOutline(This,Value) (This)->lpVtbl->SetOutline(This,Value) +#define ITextFont_GetPosition(This,pValue) (This)->lpVtbl->GetPosition(This,pValue) +#define ITextFont_SetPosition(This,Value) (This)->lpVtbl->SetPosition(This,Value) +#define ITextFont_GetProtected(This,pValue) (This)->lpVtbl->GetProtected(This,pValue) +#define ITextFont_SetProtected(This,Value) (This)->lpVtbl->SetProtected(This,Value) +#define ITextFont_GetShadow(This,pValue) (This)->lpVtbl->GetShadow(This,pValue) +#define ITextFont_SetShadow(This,Value) (This)->lpVtbl->SetShadow(This,Value) +#define ITextFont_GetSize(This,pValue) (This)->lpVtbl->GetSize(This,pValue) +#define ITextFont_SetSize(This,Value) (This)->lpVtbl->SetSize(This,Value) +#define ITextFont_GetSmallCaps(This,pValue) (This)->lpVtbl->GetSmallCaps(This,pValue) +#define ITextFont_SetSmallCaps(This,Value) (This)->lpVtbl->SetSmallCaps(This,Value) +#define ITextFont_GetSpacing(This,pValue) (This)->lpVtbl->GetSpacing(This,pValue) +#define ITextFont_SetSpacing(This,Value) (This)->lpVtbl->SetSpacing(This,Value) +#define ITextFont_GetStrikeThrough(This,pValue) (This)->lpVtbl->GetStrikeThrough(This,pValue) +#define ITextFont_SetStrikeThrough(This,Value) (This)->lpVtbl->SetStrikeThrough(This,Value) +#define ITextFont_GetSubscript(This,pValue) (This)->lpVtbl->GetSubscript(This,pValue) +#define ITextFont_SetSubscript(This,Value) (This)->lpVtbl->SetSubscript(This,Value) +#define ITextFont_GetSuperscript(This,pValue) (This)->lpVtbl->GetSuperscript(This,pValue) +#define ITextFont_SetSuperscript(This,Value) (This)->lpVtbl->SetSuperscript(This,Value) +#define ITextFont_GetUnderline(This,pValue) (This)->lpVtbl->GetUnderline(This,pValue) +#define ITextFont_SetUnderline(This,Value) (This)->lpVtbl->SetUnderline(This,Value) +#define ITextFont_GetWeight(This,pValue) (This)->lpVtbl->GetWeight(This,pValue) +#define ITextFont_SetWeight(This,Value) (This)->lpVtbl->SetWeight(This,Value) +#endif +#endif + HRESULT WINAPI ITextFont_GetDuplicate_Proxy(ITextFont *This,ITextFont **ppFont); + void __RPC_STUB ITextFont_GetDuplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetDuplicate_Proxy(ITextFont *This,ITextFont *pFont); + void __RPC_STUB ITextFont_SetDuplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_CanChange_Proxy(ITextFont *This,__LONG32 *pB); + void __RPC_STUB ITextFont_CanChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_IsEqual_Proxy(ITextFont *This,ITextFont *pFont,__LONG32 *pB); + void __RPC_STUB ITextFont_IsEqual_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_Reset_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetStyle_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetStyle_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetAllCaps_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetAllCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetAllCaps_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetAllCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetAnimation_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetAnimation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetAnimation_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetAnimation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetBackColor_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetBackColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetBackColor_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetBackColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetBold_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetBold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetBold_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetBold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetEmboss_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetEmboss_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetEmboss_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetEmboss_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetForeColor_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetForeColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetForeColor_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetForeColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetHidden_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetHidden_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetHidden_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetHidden_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetEngrave_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetEngrave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetEngrave_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetEngrave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetItalic_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetItalic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetItalic_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetItalic_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetKerning_Proxy(ITextFont *This,float *pValue); + void __RPC_STUB ITextFont_GetKerning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetKerning_Proxy(ITextFont *This,float Value); + void __RPC_STUB ITextFont_SetKerning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetLanguageID_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetLanguageID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetLanguageID_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetLanguageID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetName_Proxy(ITextFont *This,BSTR *pbstr); + void __RPC_STUB ITextFont_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetName_Proxy(ITextFont *This,BSTR bstr); + void __RPC_STUB ITextFont_SetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetOutline_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetOutline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetOutline_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetOutline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetPosition_Proxy(ITextFont *This,float *pValue); + void __RPC_STUB ITextFont_GetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetPosition_Proxy(ITextFont *This,float Value); + void __RPC_STUB ITextFont_SetPosition_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetProtected_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetProtected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetProtected_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetProtected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetShadow_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetShadow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetShadow_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetShadow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetSize_Proxy(ITextFont *This,float *pValue); + void __RPC_STUB ITextFont_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetSize_Proxy(ITextFont *This,float Value); + void __RPC_STUB ITextFont_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetSmallCaps_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetSmallCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetSmallCaps_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetSmallCaps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetSpacing_Proxy(ITextFont *This,float *pValue); + void __RPC_STUB ITextFont_GetSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetSpacing_Proxy(ITextFont *This,float Value); + void __RPC_STUB ITextFont_SetSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetStrikeThrough_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetStrikeThrough_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetStrikeThrough_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetStrikeThrough_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetSubscript_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetSubscript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetSubscript_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetSubscript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetSuperscript_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetSuperscript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetSuperscript_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetSuperscript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetUnderline_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetUnderline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetUnderline_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetUnderline_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_GetWeight_Proxy(ITextFont *This,__LONG32 *pValue); + void __RPC_STUB ITextFont_GetWeight_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextFont_SetWeight_Proxy(ITextFont *This,__LONG32 Value); + void __RPC_STUB ITextFont_SetWeight_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextPara_INTERFACE_DEFINED__ +#define __ITextPara_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextPara; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextPara : public IDispatch { + public: + virtual HRESULT WINAPI GetDuplicate(ITextPara **ppPara) = 0; + virtual HRESULT WINAPI SetDuplicate(ITextPara *pPara) = 0; + virtual HRESULT WINAPI CanChange(__LONG32 *pB) = 0; + virtual HRESULT WINAPI IsEqual(ITextPara *pPara,__LONG32 *pB) = 0; + virtual HRESULT WINAPI Reset(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetStyle(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetStyle(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetAlignment(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetAlignment(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetHyphenation(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetHyphenation(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetFirstLineIndent(float *pValue) = 0; + virtual HRESULT WINAPI GetKeepTogether(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetKeepTogether(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetKeepWithNext(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetKeepWithNext(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetLeftIndent(float *pValue) = 0; + virtual HRESULT WINAPI GetLineSpacing(float *pValue) = 0; + virtual HRESULT WINAPI GetLineSpacingRule(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI GetListAlignment(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetListAlignment(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetListLevelIndex(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetListLevelIndex(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetListStart(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetListStart(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetListTab(float *pValue) = 0; + virtual HRESULT WINAPI SetListTab(float Value) = 0; + virtual HRESULT WINAPI GetListType(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetListType(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetNoLineNumber(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetNoLineNumber(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetPageBreakBefore(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetPageBreakBefore(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetRightIndent(float *pValue) = 0; + virtual HRESULT WINAPI SetRightIndent(float Value) = 0; + virtual HRESULT WINAPI SetIndents(float StartIndent,float LeftIndent,float RightIndent) = 0; + virtual HRESULT WINAPI SetLineSpacing(__LONG32 LineSpacingRule,float LineSpacing) = 0; + virtual HRESULT WINAPI GetSpaceAfter(float *pValue) = 0; + virtual HRESULT WINAPI SetSpaceAfter(float Value) = 0; + virtual HRESULT WINAPI GetSpaceBefore(float *pValue) = 0; + virtual HRESULT WINAPI SetSpaceBefore(float Value) = 0; + virtual HRESULT WINAPI GetWidowControl(__LONG32 *pValue) = 0; + virtual HRESULT WINAPI SetWidowControl(__LONG32 Value) = 0; + virtual HRESULT WINAPI GetTabCount(__LONG32 *pCount) = 0; + virtual HRESULT WINAPI AddTab(float tbPos,__LONG32 tbAlign,__LONG32 tbLeader) = 0; + virtual HRESULT WINAPI ClearAllTabs(void) = 0; + virtual HRESULT WINAPI DeleteTab(float tbPos) = 0; + virtual HRESULT WINAPI GetTab(__LONG32 iTab,float *ptbPos,__LONG32 *ptbAlign,__LONG32 *ptbLeader) = 0; + }; +#else + typedef struct ITextParaVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextPara *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextPara *This); + ULONG (WINAPI *Release)(ITextPara *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextPara *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextPara *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextPara *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextPara *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetDuplicate)(ITextPara *This,ITextPara **ppPara); + HRESULT (WINAPI *SetDuplicate)(ITextPara *This,ITextPara *pPara); + HRESULT (WINAPI *CanChange)(ITextPara *This,__LONG32 *pB); + HRESULT (WINAPI *IsEqual)(ITextPara *This,ITextPara *pPara,__LONG32 *pB); + HRESULT (WINAPI *Reset)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetStyle)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetStyle)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetAlignment)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetAlignment)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetHyphenation)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetHyphenation)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetFirstLineIndent)(ITextPara *This,float *pValue); + HRESULT (WINAPI *GetKeepTogether)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetKeepTogether)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetKeepWithNext)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetKeepWithNext)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetLeftIndent)(ITextPara *This,float *pValue); + HRESULT (WINAPI *GetLineSpacing)(ITextPara *This,float *pValue); + HRESULT (WINAPI *GetLineSpacingRule)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *GetListAlignment)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetListAlignment)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetListLevelIndex)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetListLevelIndex)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetListStart)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetListStart)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetListTab)(ITextPara *This,float *pValue); + HRESULT (WINAPI *SetListTab)(ITextPara *This,float Value); + HRESULT (WINAPI *GetListType)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetListType)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetNoLineNumber)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetNoLineNumber)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetPageBreakBefore)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetPageBreakBefore)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetRightIndent)(ITextPara *This,float *pValue); + HRESULT (WINAPI *SetRightIndent)(ITextPara *This,float Value); + HRESULT (WINAPI *SetIndents)(ITextPara *This,float StartIndent,float LeftIndent,float RightIndent); + HRESULT (WINAPI *SetLineSpacing)(ITextPara *This,__LONG32 LineSpacingRule,float LineSpacing); + HRESULT (WINAPI *GetSpaceAfter)(ITextPara *This,float *pValue); + HRESULT (WINAPI *SetSpaceAfter)(ITextPara *This,float Value); + HRESULT (WINAPI *GetSpaceBefore)(ITextPara *This,float *pValue); + HRESULT (WINAPI *SetSpaceBefore)(ITextPara *This,float Value); + HRESULT (WINAPI *GetWidowControl)(ITextPara *This,__LONG32 *pValue); + HRESULT (WINAPI *SetWidowControl)(ITextPara *This,__LONG32 Value); + HRESULT (WINAPI *GetTabCount)(ITextPara *This,__LONG32 *pCount); + HRESULT (WINAPI *AddTab)(ITextPara *This,float tbPos,__LONG32 tbAlign,__LONG32 tbLeader); + HRESULT (WINAPI *ClearAllTabs)(ITextPara *This); + HRESULT (WINAPI *DeleteTab)(ITextPara *This,float tbPos); + HRESULT (WINAPI *GetTab)(ITextPara *This,__LONG32 iTab,float *ptbPos,__LONG32 *ptbAlign,__LONG32 *ptbLeader); + END_INTERFACE + } ITextParaVtbl; + struct ITextPara { + CONST_VTBL struct ITextParaVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextPara_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextPara_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextPara_Release(This) (This)->lpVtbl->Release(This) +#define ITextPara_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextPara_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextPara_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextPara_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextPara_GetDuplicate(This,ppPara) (This)->lpVtbl->GetDuplicate(This,ppPara) +#define ITextPara_SetDuplicate(This,pPara) (This)->lpVtbl->SetDuplicate(This,pPara) +#define ITextPara_CanChange(This,pB) (This)->lpVtbl->CanChange(This,pB) +#define ITextPara_IsEqual(This,pPara,pB) (This)->lpVtbl->IsEqual(This,pPara,pB) +#define ITextPara_Reset(This,Value) (This)->lpVtbl->Reset(This,Value) +#define ITextPara_GetStyle(This,pValue) (This)->lpVtbl->GetStyle(This,pValue) +#define ITextPara_SetStyle(This,Value) (This)->lpVtbl->SetStyle(This,Value) +#define ITextPara_GetAlignment(This,pValue) (This)->lpVtbl->GetAlignment(This,pValue) +#define ITextPara_SetAlignment(This,Value) (This)->lpVtbl->SetAlignment(This,Value) +#define ITextPara_GetHyphenation(This,pValue) (This)->lpVtbl->GetHyphenation(This,pValue) +#define ITextPara_SetHyphenation(This,Value) (This)->lpVtbl->SetHyphenation(This,Value) +#define ITextPara_GetFirstLineIndent(This,pValue) (This)->lpVtbl->GetFirstLineIndent(This,pValue) +#define ITextPara_GetKeepTogether(This,pValue) (This)->lpVtbl->GetKeepTogether(This,pValue) +#define ITextPara_SetKeepTogether(This,Value) (This)->lpVtbl->SetKeepTogether(This,Value) +#define ITextPara_GetKeepWithNext(This,pValue) (This)->lpVtbl->GetKeepWithNext(This,pValue) +#define ITextPara_SetKeepWithNext(This,Value) (This)->lpVtbl->SetKeepWithNext(This,Value) +#define ITextPara_GetLeftIndent(This,pValue) (This)->lpVtbl->GetLeftIndent(This,pValue) +#define ITextPara_GetLineSpacing(This,pValue) (This)->lpVtbl->GetLineSpacing(This,pValue) +#define ITextPara_GetLineSpacingRule(This,pValue) (This)->lpVtbl->GetLineSpacingRule(This,pValue) +#define ITextPara_GetListAlignment(This,pValue) (This)->lpVtbl->GetListAlignment(This,pValue) +#define ITextPara_SetListAlignment(This,Value) (This)->lpVtbl->SetListAlignment(This,Value) +#define ITextPara_GetListLevelIndex(This,pValue) (This)->lpVtbl->GetListLevelIndex(This,pValue) +#define ITextPara_SetListLevelIndex(This,Value) (This)->lpVtbl->SetListLevelIndex(This,Value) +#define ITextPara_GetListStart(This,pValue) (This)->lpVtbl->GetListStart(This,pValue) +#define ITextPara_SetListStart(This,Value) (This)->lpVtbl->SetListStart(This,Value) +#define ITextPara_GetListTab(This,pValue) (This)->lpVtbl->GetListTab(This,pValue) +#define ITextPara_SetListTab(This,Value) (This)->lpVtbl->SetListTab(This,Value) +#define ITextPara_GetListType(This,pValue) (This)->lpVtbl->GetListType(This,pValue) +#define ITextPara_SetListType(This,Value) (This)->lpVtbl->SetListType(This,Value) +#define ITextPara_GetNoLineNumber(This,pValue) (This)->lpVtbl->GetNoLineNumber(This,pValue) +#define ITextPara_SetNoLineNumber(This,Value) (This)->lpVtbl->SetNoLineNumber(This,Value) +#define ITextPara_GetPageBreakBefore(This,pValue) (This)->lpVtbl->GetPageBreakBefore(This,pValue) +#define ITextPara_SetPageBreakBefore(This,Value) (This)->lpVtbl->SetPageBreakBefore(This,Value) +#define ITextPara_GetRightIndent(This,pValue) (This)->lpVtbl->GetRightIndent(This,pValue) +#define ITextPara_SetRightIndent(This,Value) (This)->lpVtbl->SetRightIndent(This,Value) +#define ITextPara_SetIndents(This,StartIndent,LeftIndent,RightIndent) (This)->lpVtbl->SetIndents(This,StartIndent,LeftIndent,RightIndent) +#define ITextPara_SetLineSpacing(This,LineSpacingRule,LineSpacing) (This)->lpVtbl->SetLineSpacing(This,LineSpacingRule,LineSpacing) +#define ITextPara_GetSpaceAfter(This,pValue) (This)->lpVtbl->GetSpaceAfter(This,pValue) +#define ITextPara_SetSpaceAfter(This,Value) (This)->lpVtbl->SetSpaceAfter(This,Value) +#define ITextPara_GetSpaceBefore(This,pValue) (This)->lpVtbl->GetSpaceBefore(This,pValue) +#define ITextPara_SetSpaceBefore(This,Value) (This)->lpVtbl->SetSpaceBefore(This,Value) +#define ITextPara_GetWidowControl(This,pValue) (This)->lpVtbl->GetWidowControl(This,pValue) +#define ITextPara_SetWidowControl(This,Value) (This)->lpVtbl->SetWidowControl(This,Value) +#define ITextPara_GetTabCount(This,pCount) (This)->lpVtbl->GetTabCount(This,pCount) +#define ITextPara_AddTab(This,tbPos,tbAlign,tbLeader) (This)->lpVtbl->AddTab(This,tbPos,tbAlign,tbLeader) +#define ITextPara_ClearAllTabs(This) (This)->lpVtbl->ClearAllTabs(This) +#define ITextPara_DeleteTab(This,tbPos) (This)->lpVtbl->DeleteTab(This,tbPos) +#define ITextPara_GetTab(This,iTab,ptbPos,ptbAlign,ptbLeader) (This)->lpVtbl->GetTab(This,iTab,ptbPos,ptbAlign,ptbLeader) +#endif +#endif + HRESULT WINAPI ITextPara_GetDuplicate_Proxy(ITextPara *This,ITextPara **ppPara); + void __RPC_STUB ITextPara_GetDuplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetDuplicate_Proxy(ITextPara *This,ITextPara *pPara); + void __RPC_STUB ITextPara_SetDuplicate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_CanChange_Proxy(ITextPara *This,__LONG32 *pB); + void __RPC_STUB ITextPara_CanChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_IsEqual_Proxy(ITextPara *This,ITextPara *pPara,__LONG32 *pB); + void __RPC_STUB ITextPara_IsEqual_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_Reset_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetStyle_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetStyle_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetStyle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetAlignment_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetAlignment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetAlignment_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetAlignment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetHyphenation_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetHyphenation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetHyphenation_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetHyphenation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetFirstLineIndent_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetFirstLineIndent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetKeepTogether_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetKeepTogether_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetKeepTogether_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetKeepTogether_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetKeepWithNext_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetKeepWithNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetKeepWithNext_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetKeepWithNext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetLeftIndent_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetLeftIndent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetLineSpacing_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetLineSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetLineSpacingRule_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetLineSpacingRule_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetListAlignment_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetListAlignment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetListAlignment_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetListAlignment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetListLevelIndex_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetListLevelIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetListLevelIndex_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetListLevelIndex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetListStart_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetListStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetListStart_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetListStart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetListTab_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetListTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetListTab_Proxy(ITextPara *This,float Value); + void __RPC_STUB ITextPara_SetListTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetListType_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetListType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetListType_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetListType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetNoLineNumber_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetNoLineNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetNoLineNumber_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetNoLineNumber_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetPageBreakBefore_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetPageBreakBefore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetPageBreakBefore_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetPageBreakBefore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetRightIndent_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetRightIndent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetRightIndent_Proxy(ITextPara *This,float Value); + void __RPC_STUB ITextPara_SetRightIndent_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetIndents_Proxy(ITextPara *This,float StartIndent,float LeftIndent,float RightIndent); + void __RPC_STUB ITextPara_SetIndents_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetLineSpacing_Proxy(ITextPara *This,__LONG32 LineSpacingRule,float LineSpacing); + void __RPC_STUB ITextPara_SetLineSpacing_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetSpaceAfter_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetSpaceAfter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetSpaceAfter_Proxy(ITextPara *This,float Value); + void __RPC_STUB ITextPara_SetSpaceAfter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetSpaceBefore_Proxy(ITextPara *This,float *pValue); + void __RPC_STUB ITextPara_GetSpaceBefore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetSpaceBefore_Proxy(ITextPara *This,float Value); + void __RPC_STUB ITextPara_SetSpaceBefore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetWidowControl_Proxy(ITextPara *This,__LONG32 *pValue); + void __RPC_STUB ITextPara_GetWidowControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_SetWidowControl_Proxy(ITextPara *This,__LONG32 Value); + void __RPC_STUB ITextPara_SetWidowControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetTabCount_Proxy(ITextPara *This,__LONG32 *pCount); + void __RPC_STUB ITextPara_GetTabCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_AddTab_Proxy(ITextPara *This,float tbPos,__LONG32 tbAlign,__LONG32 tbLeader); + void __RPC_STUB ITextPara_AddTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_ClearAllTabs_Proxy(ITextPara *This); + void __RPC_STUB ITextPara_ClearAllTabs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_DeleteTab_Proxy(ITextPara *This,float tbPos); + void __RPC_STUB ITextPara_DeleteTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextPara_GetTab_Proxy(ITextPara *This,__LONG32 iTab,float *ptbPos,__LONG32 *ptbAlign,__LONG32 *ptbLeader); + void __RPC_STUB ITextPara_GetTab_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextStoryRanges_INTERFACE_DEFINED__ +#define __ITextStoryRanges_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextStoryRanges; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextStoryRanges : public IDispatch { + public: + virtual HRESULT WINAPI _NewEnum(IUnknown **ppunkEnum) = 0; + virtual HRESULT WINAPI Item(__LONG32 Index,ITextRange **ppRange) = 0; + virtual HRESULT WINAPI GetCount(__LONG32 *pCount) = 0; + }; +#else + typedef struct ITextStoryRangesVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextStoryRanges *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextStoryRanges *This); + ULONG (WINAPI *Release)(ITextStoryRanges *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextStoryRanges *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextStoryRanges *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextStoryRanges *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextStoryRanges *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *_NewEnum)(ITextStoryRanges *This,IUnknown **ppunkEnum); + HRESULT (WINAPI *Item)(ITextStoryRanges *This,__LONG32 Index,ITextRange **ppRange); + HRESULT (WINAPI *GetCount)(ITextStoryRanges *This,__LONG32 *pCount); + END_INTERFACE + } ITextStoryRangesVtbl; + struct ITextStoryRanges { + CONST_VTBL struct ITextStoryRangesVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextStoryRanges_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextStoryRanges_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextStoryRanges_Release(This) (This)->lpVtbl->Release(This) +#define ITextStoryRanges_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextStoryRanges_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextStoryRanges_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextStoryRanges_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextStoryRanges__NewEnum(This,ppunkEnum) (This)->lpVtbl->_NewEnum(This,ppunkEnum) +#define ITextStoryRanges_Item(This,Index,ppRange) (This)->lpVtbl->Item(This,Index,ppRange) +#define ITextStoryRanges_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount) +#endif +#endif + HRESULT WINAPI ITextStoryRanges__NewEnum_Proxy(ITextStoryRanges *This,IUnknown **ppunkEnum); + void __RPC_STUB ITextStoryRanges__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextStoryRanges_Item_Proxy(ITextStoryRanges *This,__LONG32 Index,ITextRange **ppRange); + void __RPC_STUB ITextStoryRanges_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextStoryRanges_GetCount_Proxy(ITextStoryRanges *This,__LONG32 *pCount); + void __RPC_STUB ITextStoryRanges_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextDocument2_INTERFACE_DEFINED__ +#define __ITextDocument2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextDocument2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextDocument2 : public ITextDocument { + public: + virtual HRESULT WINAPI AttachMsgFilter(IUnknown *pFilter) = 0; + virtual HRESULT WINAPI SetEffectColor(__LONG32 Index,COLORREF cr) = 0; + virtual HRESULT WINAPI GetEffectColor(__LONG32 Index,COLORREF *pcr) = 0; + virtual HRESULT WINAPI GetCaretType(__LONG32 *pCaretType) = 0; + virtual HRESULT WINAPI SetCaretType(__LONG32 CaretType) = 0; + virtual HRESULT WINAPI GetImmContext(__LONG32 *pContext) = 0; + virtual HRESULT WINAPI ReleaseImmContext(__LONG32 Context) = 0; + virtual HRESULT WINAPI GetPreferredFont(__LONG32 cp,__LONG32 CodePage,__LONG32 Option,__LONG32 curCodepage,__LONG32 curFontSize,BSTR *pbstr,__LONG32 *pPitchAndFamily,__LONG32 *pNewFontSize) = 0; + virtual HRESULT WINAPI GetNotificationMode(__LONG32 *pMode) = 0; + virtual HRESULT WINAPI SetNotificationMode(__LONG32 Mode) = 0; + virtual HRESULT WINAPI GetClientRect(__LONG32 Type,__LONG32 *pLeft,__LONG32 *pTop,__LONG32 *pRight,__LONG32 *pBottom) = 0; + virtual HRESULT WINAPI GetSelectionEx(ITextSelection **ppSel) = 0; + virtual HRESULT WINAPI GetWindow(__LONG32 *phWnd) = 0; + virtual HRESULT WINAPI GetFEFlags(__LONG32 *pFlags) = 0; + virtual HRESULT WINAPI UpdateWindow(void) = 0; + virtual HRESULT WINAPI CheckTextLimit(__LONG32 cch,__LONG32 *pcch) = 0; + virtual HRESULT WINAPI IMEInProgress(__LONG32 Mode) = 0; + virtual HRESULT WINAPI SysBeep(void) = 0; + virtual HRESULT WINAPI Update(__LONG32 Mode) = 0; + virtual HRESULT WINAPI Notify(__LONG32 Notify) = 0; + }; +#else + typedef struct ITextDocument2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextDocument2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextDocument2 *This); + ULONG (WINAPI *Release)(ITextDocument2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITextDocument2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITextDocument2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITextDocument2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITextDocument2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *GetName)(ITextDocument2 *This,BSTR *pName); + HRESULT (WINAPI *GetSelection)(ITextDocument2 *This,ITextSelection **ppSel); + HRESULT (WINAPI *GetStoryCount)(ITextDocument2 *This,__LONG32 *pCount); + HRESULT (WINAPI *GetStoryRanges)(ITextDocument2 *This,ITextStoryRanges **ppStories); + HRESULT (WINAPI *GetSaved)(ITextDocument2 *This,__LONG32 *pValue); + HRESULT (WINAPI *SetSaved)(ITextDocument2 *This,__LONG32 Value); + HRESULT (WINAPI *GetDefaultTabStop)(ITextDocument2 *This,float *pValue); + HRESULT (WINAPI *SetDefaultTabStop)(ITextDocument2 *This,float Value); + HRESULT (WINAPI *New)(ITextDocument2 *This); + HRESULT (WINAPI *Open)(ITextDocument2 *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + HRESULT (WINAPI *Save)(ITextDocument2 *This,VARIANT *pVar,__LONG32 Flags,__LONG32 CodePage); + HRESULT (WINAPI *Freeze)(ITextDocument2 *This,__LONG32 *pCount); + HRESULT (WINAPI *Unfreeze)(ITextDocument2 *This,__LONG32 *pCount); + HRESULT (WINAPI *BeginEditCollection)(ITextDocument2 *This); + HRESULT (WINAPI *EndEditCollection)(ITextDocument2 *This); + HRESULT (WINAPI *Undo)(ITextDocument2 *This,__LONG32 Count,__LONG32 *prop); + HRESULT (WINAPI *Redo)(ITextDocument2 *This,__LONG32 Count,__LONG32 *prop); + HRESULT (WINAPI *Range)(ITextDocument2 *This,__LONG32 cp1,__LONG32 cp2,ITextRange **ppRange); + HRESULT (WINAPI *RangeFromPoint)(ITextDocument2 *This,__LONG32 x,__LONG32 y,ITextRange **ppRange); + HRESULT (WINAPI *AttachMsgFilter)(ITextDocument2 *This,IUnknown *pFilter); + HRESULT (WINAPI *SetEffectColor)(ITextDocument2 *This,__LONG32 Index,COLORREF cr); + HRESULT (WINAPI *GetEffectColor)(ITextDocument2 *This,__LONG32 Index,COLORREF *pcr); + HRESULT (WINAPI *GetCaretType)(ITextDocument2 *This,__LONG32 *pCaretType); + HRESULT (WINAPI *SetCaretType)(ITextDocument2 *This,__LONG32 CaretType); + HRESULT (WINAPI *GetImmContext)(ITextDocument2 *This,__LONG32 *pContext); + HRESULT (WINAPI *ReleaseImmContext)(ITextDocument2 *This,__LONG32 Context); + HRESULT (WINAPI *GetPreferredFont)(ITextDocument2 *This,__LONG32 cp,__LONG32 CodePage,__LONG32 Option,__LONG32 curCodepage,__LONG32 curFontSize,BSTR *pbstr,__LONG32 *pPitchAndFamily,__LONG32 *pNewFontSize); + HRESULT (WINAPI *GetNotificationMode)(ITextDocument2 *This,__LONG32 *pMode); + HRESULT (WINAPI *SetNotificationMode)(ITextDocument2 *This,__LONG32 Mode); + HRESULT (WINAPI *GetClientRect)(ITextDocument2 *This,__LONG32 Type,__LONG32 *pLeft,__LONG32 *pTop,__LONG32 *pRight,__LONG32 *pBottom); + HRESULT (WINAPI *GetSelectionEx)(ITextDocument2 *This,ITextSelection **ppSel); + HRESULT (WINAPI *GetWindow)(ITextDocument2 *This,__LONG32 *phWnd); + HRESULT (WINAPI *GetFEFlags)(ITextDocument2 *This,__LONG32 *pFlags); + HRESULT (WINAPI *UpdateWindow)(ITextDocument2 *This); + HRESULT (WINAPI *CheckTextLimit)(ITextDocument2 *This,__LONG32 cch,__LONG32 *pcch); + HRESULT (WINAPI *IMEInProgress)(ITextDocument2 *This,__LONG32 Mode); + HRESULT (WINAPI *SysBeep)(ITextDocument2 *This); + HRESULT (WINAPI *Update)(ITextDocument2 *This,__LONG32 Mode); + HRESULT (WINAPI *Notify)(ITextDocument2 *This,__LONG32 Notify); + END_INTERFACE + } ITextDocument2Vtbl; + struct ITextDocument2 { + CONST_VTBL struct ITextDocument2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextDocument2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextDocument2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextDocument2_Release(This) (This)->lpVtbl->Release(This) +#define ITextDocument2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITextDocument2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITextDocument2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITextDocument2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITextDocument2_GetName(This,pName) (This)->lpVtbl->GetName(This,pName) +#define ITextDocument2_GetSelection(This,ppSel) (This)->lpVtbl->GetSelection(This,ppSel) +#define ITextDocument2_GetStoryCount(This,pCount) (This)->lpVtbl->GetStoryCount(This,pCount) +#define ITextDocument2_GetStoryRanges(This,ppStories) (This)->lpVtbl->GetStoryRanges(This,ppStories) +#define ITextDocument2_GetSaved(This,pValue) (This)->lpVtbl->GetSaved(This,pValue) +#define ITextDocument2_SetSaved(This,Value) (This)->lpVtbl->SetSaved(This,Value) +#define ITextDocument2_GetDefaultTabStop(This,pValue) (This)->lpVtbl->GetDefaultTabStop(This,pValue) +#define ITextDocument2_SetDefaultTabStop(This,Value) (This)->lpVtbl->SetDefaultTabStop(This,Value) +#define ITextDocument2_New(This) (This)->lpVtbl->New(This) +#define ITextDocument2_Open(This,pVar,Flags,CodePage) (This)->lpVtbl->Open(This,pVar,Flags,CodePage) +#define ITextDocument2_Save(This,pVar,Flags,CodePage) (This)->lpVtbl->Save(This,pVar,Flags,CodePage) +#define ITextDocument2_Freeze(This,pCount) (This)->lpVtbl->Freeze(This,pCount) +#define ITextDocument2_Unfreeze(This,pCount) (This)->lpVtbl->Unfreeze(This,pCount) +#define ITextDocument2_BeginEditCollection(This) (This)->lpVtbl->BeginEditCollection(This) +#define ITextDocument2_EndEditCollection(This) (This)->lpVtbl->EndEditCollection(This) +#define ITextDocument2_Undo(This,Count,prop) (This)->lpVtbl->Undo(This,Count,prop) +#define ITextDocument2_Redo(This,Count,prop) (This)->lpVtbl->Redo(This,Count,prop) +#define ITextDocument2_Range(This,cp1,cp2,ppRange) (This)->lpVtbl->Range(This,cp1,cp2,ppRange) +#define ITextDocument2_RangeFromPoint(This,x,y,ppRange) (This)->lpVtbl->RangeFromPoint(This,x,y,ppRange) +#define ITextDocument2_AttachMsgFilter(This,pFilter) (This)->lpVtbl->AttachMsgFilter(This,pFilter) +#define ITextDocument2_SetEffectColor(This,Index,cr) (This)->lpVtbl->SetEffectColor(This,Index,cr) +#define ITextDocument2_GetEffectColor(This,Index,pcr) (This)->lpVtbl->GetEffectColor(This,Index,pcr) +#define ITextDocument2_GetCaretType(This,pCaretType) (This)->lpVtbl->GetCaretType(This,pCaretType) +#define ITextDocument2_SetCaretType(This,CaretType) (This)->lpVtbl->SetCaretType(This,CaretType) +#define ITextDocument2_GetImmContext(This,pContext) (This)->lpVtbl->GetImmContext(This,pContext) +#define ITextDocument2_ReleaseImmContext(This,Context) (This)->lpVtbl->ReleaseImmContext(This,Context) +#define ITextDocument2_GetPreferredFont(This,cp,CodePage,Option,curCodepage,curFontSize,pbstr,pPitchAndFamily,pNewFontSize) (This)->lpVtbl->GetPreferredFont(This,cp,CodePage,Option,curCodepage,curFontSize,pbstr,pPitchAndFamily,pNewFontSize) +#define ITextDocument2_GetNotificationMode(This,pMode) (This)->lpVtbl->GetNotificationMode(This,pMode) +#define ITextDocument2_SetNotificationMode(This,Mode) (This)->lpVtbl->SetNotificationMode(This,Mode) +#define ITextDocument2_GetClientRect(This,Type,pLeft,pTop,pRight,pBottom) (This)->lpVtbl->GetClientRect(This,Type,pLeft,pTop,pRight,pBottom) +#define ITextDocument2_GetSelectionEx(This,ppSel) (This)->lpVtbl->GetSelectionEx(This,ppSel) +#define ITextDocument2_GetWindow(This,phWnd) (This)->lpVtbl->GetWindow(This,phWnd) +#define ITextDocument2_GetFEFlags(This,pFlags) (This)->lpVtbl->GetFEFlags(This,pFlags) +#define ITextDocument2_UpdateWindow(This) (This)->lpVtbl->UpdateWindow(This) +#define ITextDocument2_CheckTextLimit(This,cch,pcch) (This)->lpVtbl->CheckTextLimit(This,cch,pcch) +#define ITextDocument2_IMEInProgress(This,Mode) (This)->lpVtbl->IMEInProgress(This,Mode) +#define ITextDocument2_SysBeep(This) (This)->lpVtbl->SysBeep(This) +#define ITextDocument2_Update(This,Mode) (This)->lpVtbl->Update(This,Mode) +#define ITextDocument2_Notify(This,Notify) (This)->lpVtbl->Notify(This,Notify) +#endif +#endif + HRESULT WINAPI ITextDocument2_AttachMsgFilter_Proxy(ITextDocument2 *This,IUnknown *pFilter); + void __RPC_STUB ITextDocument2_AttachMsgFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_SetEffectColor_Proxy(ITextDocument2 *This,__LONG32 Index,COLORREF cr); + void __RPC_STUB ITextDocument2_SetEffectColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetEffectColor_Proxy(ITextDocument2 *This,__LONG32 Index,COLORREF *pcr); + void __RPC_STUB ITextDocument2_GetEffectColor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetCaretType_Proxy(ITextDocument2 *This,__LONG32 *pCaretType); + void __RPC_STUB ITextDocument2_GetCaretType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_SetCaretType_Proxy(ITextDocument2 *This,__LONG32 CaretType); + void __RPC_STUB ITextDocument2_SetCaretType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetImmContext_Proxy(ITextDocument2 *This,__LONG32 *pContext); + void __RPC_STUB ITextDocument2_GetImmContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_ReleaseImmContext_Proxy(ITextDocument2 *This,__LONG32 Context); + void __RPC_STUB ITextDocument2_ReleaseImmContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetPreferredFont_Proxy(ITextDocument2 *This,__LONG32 cp,__LONG32 CodePage,__LONG32 Option,__LONG32 curCodepage,__LONG32 curFontSize,BSTR *pbstr,__LONG32 *pPitchAndFamily,__LONG32 *pNewFontSize); + void __RPC_STUB ITextDocument2_GetPreferredFont_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetNotificationMode_Proxy(ITextDocument2 *This,__LONG32 *pMode); + void __RPC_STUB ITextDocument2_GetNotificationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_SetNotificationMode_Proxy(ITextDocument2 *This,__LONG32 Mode); + void __RPC_STUB ITextDocument2_SetNotificationMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetClientRect_Proxy(ITextDocument2 *This,__LONG32 Type,__LONG32 *pLeft,__LONG32 *pTop,__LONG32 *pRight,__LONG32 *pBottom); + void __RPC_STUB ITextDocument2_GetClientRect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetSelectionEx_Proxy(ITextDocument2 *This,ITextSelection **ppSel); + void __RPC_STUB ITextDocument2_GetSelectionEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetWindow_Proxy(ITextDocument2 *This,__LONG32 *phWnd); + void __RPC_STUB ITextDocument2_GetWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_GetFEFlags_Proxy(ITextDocument2 *This,__LONG32 *pFlags); + void __RPC_STUB ITextDocument2_GetFEFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_UpdateWindow_Proxy(ITextDocument2 *This); + void __RPC_STUB ITextDocument2_UpdateWindow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_CheckTextLimit_Proxy(ITextDocument2 *This,__LONG32 cch,__LONG32 *pcch); + void __RPC_STUB ITextDocument2_CheckTextLimit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_IMEInProgress_Proxy(ITextDocument2 *This,__LONG32 Mode); + void __RPC_STUB ITextDocument2_IMEInProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_SysBeep_Proxy(ITextDocument2 *This); + void __RPC_STUB ITextDocument2_SysBeep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_Update_Proxy(ITextDocument2 *This,__LONG32 Mode); + void __RPC_STUB ITextDocument2_Update_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextDocument2_Notify_Proxy(ITextDocument2 *This,__LONG32 Notify); + void __RPC_STUB ITextDocument2_Notify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITextMsgFilter_INTERFACE_DEFINED__ +#define __ITextMsgFilter_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITextMsgFilter; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITextMsgFilter : public IUnknown { + public: + virtual HRESULT WINAPI AttachDocument(HWND hwnd,ITextDocument2 *pTextDoc) = 0; + virtual HRESULT WINAPI HandleMessage(UINT *pmsg,WPARAM *pwparam,LPARAM *plparam,LRESULT *plres) = 0; + virtual HRESULT WINAPI AttachMsgFilter(ITextMsgFilter *pMsgFilter) = 0; + }; +#else + typedef struct ITextMsgFilterVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITextMsgFilter *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITextMsgFilter *This); + ULONG (WINAPI *Release)(ITextMsgFilter *This); + HRESULT (WINAPI *AttachDocument)(ITextMsgFilter *This,HWND hwnd,ITextDocument2 *pTextDoc); + HRESULT (WINAPI *HandleMessage)(ITextMsgFilter *This,UINT *pmsg,WPARAM *pwparam,LPARAM *plparam,LRESULT *plres); + HRESULT (WINAPI *AttachMsgFilter)(ITextMsgFilter *This,ITextMsgFilter *pMsgFilter); + END_INTERFACE + } ITextMsgFilterVtbl; + struct ITextMsgFilter { + CONST_VTBL struct ITextMsgFilterVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITextMsgFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextMsgFilter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextMsgFilter_Release(This) (This)->lpVtbl->Release(This) +#define ITextMsgFilter_AttachDocument(This,hwnd,pTextDoc) (This)->lpVtbl->AttachDocument(This,hwnd,pTextDoc) +#define ITextMsgFilter_HandleMessage(This,pmsg,pwparam,plparam,plres) (This)->lpVtbl->HandleMessage(This,pmsg,pwparam,plparam,plres) +#define ITextMsgFilter_AttachMsgFilter(This,pMsgFilter) (This)->lpVtbl->AttachMsgFilter(This,pMsgFilter) +#endif +#endif + HRESULT WINAPI ITextMsgFilter_AttachDocument_Proxy(ITextMsgFilter *This,HWND hwnd,ITextDocument2 *pTextDoc); + void __RPC_STUB ITextMsgFilter_AttachDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextMsgFilter_HandleMessage_Proxy(ITextMsgFilter *This,UINT *pmsg,WPARAM *pwparam,LPARAM *plparam,LRESULT *plres); + void __RPC_STUB ITextMsgFilter_HandleMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITextMsgFilter_AttachMsgFilter_Proxy(ITextMsgFilter *This,ITextMsgFilter *pMsgFilter); + void __RPC_STUB ITextMsgFilter_AttachMsgFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif +#endif + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *); + unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *); + unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *); + void __RPC_API HWND_UserFree(ULONG *,HWND *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tpcshrd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tpcshrd.h new file mode 100644 index 00000000..b471a77a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tpcshrd.h @@ -0,0 +1,68 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/tpcshrd.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 __tpcshrd_h__ +#define __tpcshrd_h__ + +/* Forward declarations */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define TABLET_DISABLE_PRESSANDHOLD 0x00000001 +#define TABLET_DISABLE_PENTAPFEEDBACK 0x00000008 +#define TABLET_DISABLE_PENBARRELFEEDBACK 0x00000010 +#define TABLET_DISABLE_TOUCHUIFORCEON 0x00000100 +#define TABLET_DISABLE_TOUCHUIFORCEOFF 0x00000200 +#define TABLET_DISABLE_TOUCHSWITCH 0x00008000 +#define TABLET_DISABLE_FLICKS 0x00010000 +#define TABLET_ENABLE_FLICKSONCONTEXT 0x00020000 +#define TABLET_ENABLE_FLICKLEARNINGMODE 0x00040000 +#define TABLET_DISABLE_SMOOTHSCROLLING 0x00080000 +#define TABLET_DISABLE_FLICKFALLBACKKEYS 0x00100000 +#define TABLET_ENABLE_MULTITOUCHDATA 0x01000000 +#define WM_TABLET_QUERYSYSTEMGESTURESTATUS 0x02CC +#define IP_CURSOR_DOWN 0x1 +#define IP_INVERTED 0x2 +#define IP_MARGIN 0x4 +typedef DWORD CURSOR_ID; +typedef USHORT SYSTEM_EVENT; +typedef DWORD TABLET_CONTEXT_ID; +#ifndef _XFORM_ +#define _XFORM_ +typedef struct tagXFORM { + float eM11; + float eM12; + float eM21; + float eM22; + float eDx; + float eDy; +} XFORM; +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __tpcshrd_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/traffic.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/traffic.h new file mode 100644 index 00000000..0ade238f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/traffic.h @@ -0,0 +1,198 @@ +/** + * 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 __TRAFFIC_H +#define __TRAFFIC_H + +#include <_mingw_unicode.h> +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define CURRENT_TCI_VERSION 0x0002 + +#define TC_NOTIFY_IFC_UP 1 +#define TC_NOTIFY_IFC_CLOSE 2 +#define TC_NOTIFY_IFC_CHANGE 3 +#define TC_NOTIFY_PARAM_CHANGED 4 +#define TC_NOTIFY_FLOW_CLOSE 5 +#define TC_INVALID_HANDLE ((HANDLE)0) + +#define MAX_STRING_LENGTH 256 + +#ifndef CALLBACK +#if defined(_ARM_) +#define CALLBACK +#else +#define CALLBACK __stdcall +#endif +#endif + +#ifndef WINAPI +#if defined(_ARM_) +#define WINAPI +#else +#define WINAPI __stdcall +#endif +#endif + +#ifndef APIENTRY +#define APIENTRY WINAPI +#endif + + typedef VOID (CALLBACK *TCI_NOTIFY_HANDLER)(HANDLE ClRegCtx,HANDLE ClIfcCtx,ULONG Event,HANDLE SubCode,ULONG BufSize,PVOID Buffer); + typedef VOID (CALLBACK *TCI_ADD_FLOW_COMPLETE_HANDLER)(HANDLE ClFlowCtx,ULONG Status); + typedef VOID (CALLBACK *TCI_MOD_FLOW_COMPLETE_HANDLER)(HANDLE ClFlowCtx,ULONG Status); + typedef VOID (CALLBACK *TCI_DEL_FLOW_COMPLETE_HANDLER)(HANDLE ClFlowCtx,ULONG Status); + + typedef struct _TCI_CLIENT_FUNC_LIST { + TCI_NOTIFY_HANDLER ClNotifyHandler; + TCI_ADD_FLOW_COMPLETE_HANDLER ClAddFlowCompleteHandler; + TCI_MOD_FLOW_COMPLETE_HANDLER ClModifyFlowCompleteHandler; + TCI_DEL_FLOW_COMPLETE_HANDLER ClDeleteFlowCompleteHandler; + } TCI_CLIENT_FUNC_LIST,*PTCI_CLIENT_FUNC_LIST; + + typedef struct _ADDRESS_LIST_DESCRIPTOR { + ULONG MediaType; + NETWORK_ADDRESS_LIST AddressList; + } ADDRESS_LIST_DESCRIPTOR,*PADDRESS_LIST_DESCRIPTOR; + + typedef struct _TC_IFC_DESCRIPTOR { + ULONG Length; + LPWSTR pInterfaceName; + LPWSTR pInterfaceID; + ADDRESS_LIST_DESCRIPTOR AddressListDesc; + } TC_IFC_DESCRIPTOR,*PTC_IFC_DESCRIPTOR; + + typedef struct _TC_SUPPORTED_INFO_BUFFER { + USHORT InstanceIDLength; + WCHAR InstanceID[MAX_STRING_LENGTH]; + ADDRESS_LIST_DESCRIPTOR AddrListDesc; + } TC_SUPPORTED_INFO_BUFFER,*PTC_SUPPORTED_INFO_BUFFER; + + typedef struct _TC_GEN_FILTER { + USHORT AddressType; + ULONG PatternSize; + PVOID Pattern; + PVOID Mask; + } TC_GEN_FILTER,*PTC_GEN_FILTER; + + typedef struct _TC_GEN_FLOW { + FLOWSPEC SendingFlowspec; + FLOWSPEC ReceivingFlowspec; + ULONG TcObjectsLength; + QOS_OBJECT_HDR TcObjects[1]; + } TC_GEN_FLOW,*PTC_GEN_FLOW; + + typedef struct _IP_PATTERN { + ULONG Reserved1; + ULONG Reserved2; + ULONG SrcAddr; + ULONG DstAddr; + union { + struct { USHORT s_srcport,s_dstport; } S_un_ports; + struct { UCHAR s_type,s_code; USHORT filler; } S_un_icmp; + ULONG S_Spi; + } S_un; + UCHAR ProtocolId; + UCHAR Reserved3[3]; + } IP_PATTERN,*PIP_PATTERN; + +#define tcSrcPort S_un.S_un_ports.s_srcport +#define tcDstPort S_un.S_un_ports.s_dstport +#define tcIcmpType S_un.S_un_icmp.s_type +#define tcIcmpCode S_un.S_un_icmp.s_code +#define tcSpi S_un.S_Spi + + typedef struct _IPX_PATTERN { + struct { + ULONG NetworkAddress; + UCHAR NodeAddress[6]; + USHORT Socket; + } Src,Dest; + } IPX_PATTERN,*PIPX_PATTERN; + + typedef struct _ENUMERATION_BUFFER { + ULONG Length; + ULONG OwnerProcessId; + USHORT FlowNameLength; + WCHAR FlowName[MAX_STRING_LENGTH]; + PTC_GEN_FLOW pFlow; + ULONG NumberOfFilters; + TC_GEN_FILTER GenericFilter[1]; + } ENUMERATION_BUFFER,*PENUMERATION_BUFFER; + +#define QOS_TRAFFIC_GENERAL_ID_BASE 4000 +#define QOS_OBJECT_DS_CLASS (0x00000001 + QOS_TRAFFIC_GENERAL_ID_BASE) +#define QOS_OBJECT_TRAFFIC_CLASS (0x00000002 + QOS_TRAFFIC_GENERAL_ID_BASE) +#define QOS_OBJECT_DIFFSERV (0x00000003 + QOS_TRAFFIC_GENERAL_ID_BASE) +#define QOS_OBJECT_TCP_TRAFFIC (0x00000004 + QOS_TRAFFIC_GENERAL_ID_BASE) +#define QOS_OBJECT_FRIENDLY_NAME (0x00000005 + QOS_TRAFFIC_GENERAL_ID_BASE) + + typedef struct _QOS_FRIENDLY_NAME { + QOS_OBJECT_HDR ObjectHdr; + WCHAR FriendlyName[MAX_STRING_LENGTH]; + } QOS_FRIENDLY_NAME,*LPQOS_FRIENDLY_NAME; + + typedef struct _QOS_TRAFFIC_CLASS { + QOS_OBJECT_HDR ObjectHdr; + ULONG TrafficClass; + } QOS_TRAFFIC_CLASS,*LPQOS_TRAFFIC_CLASS; + + typedef struct _QOS_DS_CLASS { + QOS_OBJECT_HDR ObjectHdr; + ULONG DSField; + } QOS_DS_CLASS,*LPQOS_DS_CLASS; + + typedef struct _QOS_DIFFSERV { + QOS_OBJECT_HDR ObjectHdr; + ULONG DSFieldCount; + UCHAR DiffservRule[1]; + } QOS_DIFFSERV,*LPQOS_DIFFSERV; + + typedef struct _QOS_DIFFSERV_RULE { + UCHAR InboundDSField; + UCHAR ConformingOutboundDSField; + UCHAR NonConformingOutboundDSField; + UCHAR ConformingUserPriority; + UCHAR NonConformingUserPriority; + } QOS_DIFFSERV_RULE,*LPQOS_DIFFSERV_RULE; + + typedef struct _QOS_TCP_TRAFFIC { + QOS_OBJECT_HDR ObjectHdr; + } QOS_TCP_TRAFFIC,*LPQOS_TCP_TRAFFIC; + +#define TcOpenInterface __MINGW_NAME_AW(TcOpenInterface) +#define TcQueryFlow __MINGW_NAME_AW(TcQueryFlow) +#define TcSetFlow __MINGW_NAME_AW(TcSetFlow) +#define TcGetFlowName __MINGW_NAME_AW(TcGetFlowName) + + ULONG WINAPI TcRegisterClient(ULONG TciVersion,HANDLE ClRegCtx,PTCI_CLIENT_FUNC_LIST ClientHandlerList,PHANDLE pClientHandle); + ULONG WINAPI TcEnumerateInterfaces(HANDLE ClientHandle,PULONG pBufferSize,PTC_IFC_DESCRIPTOR InterfaceBuffer); + ULONG WINAPI TcOpenInterfaceA(LPSTR pInterfaceName,HANDLE ClientHandle,HANDLE ClIfcCtx,PHANDLE pIfcHandle); + ULONG WINAPI TcOpenInterfaceW(LPWSTR pInterfaceName,HANDLE ClientHandle,HANDLE ClIfcCtx,PHANDLE pIfcHandle); + ULONG WINAPI TcCloseInterface(HANDLE IfcHandle); + ULONG WINAPI TcQueryInterface(HANDLE IfcHandle,LPGUID pGuidParam,BOOLEAN NotifyChange,PULONG pBufferSize,PVOID Buffer); + ULONG WINAPI TcSetInterface(HANDLE IfcHandle,LPGUID pGuidParam,ULONG BufferSize,PVOID Buffer); + ULONG WINAPI TcQueryFlowA(LPSTR pFlowName,LPGUID pGuidParam,PULONG pBufferSize,PVOID Buffer); + ULONG WINAPI TcQueryFlowW(LPWSTR pFlowName,LPGUID pGuidParam,PULONG pBufferSize,PVOID Buffer); + ULONG WINAPI TcSetFlowA(LPSTR pFlowName,LPGUID pGuidParam,ULONG BufferSize,PVOID Buffer); + ULONG WINAPI TcSetFlowW(LPWSTR pFlowName,LPGUID pGuidParam,ULONG BufferSize,PVOID Buffer); + ULONG WINAPI TcAddFlow(HANDLE IfcHandle,HANDLE ClFlowCtx,ULONG Flags,PTC_GEN_FLOW pGenericFlow,PHANDLE pFlowHandle); + ULONG WINAPI TcGetFlowNameA(HANDLE FlowHandle,ULONG StrSize,LPSTR pFlowName); + ULONG WINAPI TcGetFlowNameW(HANDLE FlowHandle,ULONG StrSize,LPWSTR pFlowName); + ULONG WINAPI TcModifyFlow(HANDLE FlowHandle,PTC_GEN_FLOW pGenericFlow); + ULONG WINAPI TcAddFilter(HANDLE FlowHandle,PTC_GEN_FILTER pGenericFilter,PHANDLE pFilterHandle); + ULONG WINAPI TcDeregisterClient(HANDLE ClientHandle); + ULONG WINAPI TcDeleteFlow(HANDLE FlowHandle); + ULONG WINAPI TcDeleteFilter(HANDLE FilterHandle); + ULONG WINAPI TcEnumerateFlows(HANDLE IfcHandle,PHANDLE pEnumHandle,PULONG pFlowCount,PULONG pBufSize,PENUMERATION_BUFFER Buffer); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/transact.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/transact.h new file mode 100644 index 00000000..722c1198 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/transact.h @@ -0,0 +1,441 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __transact_h__ +#define __transact_h__ + +#ifndef __ITransaction_FWD_DEFINED__ +#define __ITransaction_FWD_DEFINED__ +typedef struct ITransaction ITransaction; +#endif + +#ifndef __ITransactionCloner_FWD_DEFINED__ +#define __ITransactionCloner_FWD_DEFINED__ +typedef struct ITransactionCloner ITransactionCloner; +#endif + +#ifndef __ITransaction2_FWD_DEFINED__ +#define __ITransaction2_FWD_DEFINED__ +typedef struct ITransaction2 ITransaction2; +#endif + +#ifndef __ITransactionDispenser_FWD_DEFINED__ +#define __ITransactionDispenser_FWD_DEFINED__ +typedef struct ITransactionDispenser ITransactionDispenser; +#endif + +#ifndef __ITransactionOptions_FWD_DEFINED__ +#define __ITransactionOptions_FWD_DEFINED__ +typedef struct ITransactionOptions ITransactionOptions; +#endif + +#ifndef __ITransactionOutcomeEvents_FWD_DEFINED__ +#define __ITransactionOutcomeEvents_FWD_DEFINED__ +typedef struct ITransactionOutcomeEvents ITransactionOutcomeEvents; +#endif + +#ifndef __ITmNodeName_FWD_DEFINED__ +#define __ITmNodeName_FWD_DEFINED__ +typedef struct ITmNodeName ITmNodeName; +#endif + +#include "unknwn.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#include "winerror.h" + + extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_transact_0000_v0_0_s_ifspec; + +#ifndef __BasicTransactionTypes_INTERFACE_DEFINED__ +#define __BasicTransactionTypes_INTERFACE_DEFINED__ + + typedef struct BOID { + byte rgb[16 ]; + } BOID; + +#define BOID_NULL (*((BOID*)(&IID_NULL))) +#ifndef MAX_TRAN_DESC_DEFINED +#define MAX_TRAN_DESC_DEFINED + typedef enum TX_MISC_CONSTANTS { + MAX_TRAN_DESC = 40 + } TX_MISC_CONSTANTS; +#endif + typedef BOID XACTUOW; + typedef LONG ISOLEVEL; + + typedef enum ISOLATIONLEVEL { + ISOLATIONLEVEL_UNSPECIFIED = 0xffffffff,ISOLATIONLEVEL_CHAOS = 0x10,ISOLATIONLEVEL_READUNCOMMITTED = 0x100,ISOLATIONLEVEL_BROWSE = 0x100, + ISOLATIONLEVEL_CURSORSTABILITY = 0x1000,ISOLATIONLEVEL_READCOMMITTED = 0x1000,ISOLATIONLEVEL_REPEATABLEREAD = 0x10000, + ISOLATIONLEVEL_SERIALIZABLE = 0x100000,ISOLATIONLEVEL_ISOLATED = 0x100000 + } ISOLATIONLEVEL; + + typedef struct XACTTRANSINFO { + XACTUOW uow; + ISOLEVEL isoLevel; + ULONG isoFlags; + DWORD grfTCSupported; + DWORD grfRMSupported; + DWORD grfTCSupportedRetaining; + DWORD grfRMSupportedRetaining; + } XACTTRANSINFO; + + typedef struct XACTSTATS { + ULONG cOpen; + ULONG cCommitting; + ULONG cCommitted; + ULONG cAborting; + ULONG cAborted; + ULONG cInDoubt; + ULONG cHeuristicDecision; + FILETIME timeTransactionsUp; + } XACTSTATS; + + typedef enum ISOFLAG { + ISOFLAG_RETAIN_COMMIT_DC = 1,ISOFLAG_RETAIN_COMMIT = 2,ISOFLAG_RETAIN_COMMIT_NO = 3,ISOFLAG_RETAIN_ABORT_DC = 4,ISOFLAG_RETAIN_ABORT = 8, + ISOFLAG_RETAIN_ABORT_NO = 12,ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC, + ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT,ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO,ISOFLAG_OPTIMISTIC = 16,ISOFLAG_READONLY = 32 + } ISOFLAG; + + typedef enum XACTTC { + XACTTC_NONE = 0,XACTTC_SYNC_PHASEONE = 1,XACTTC_SYNC_PHASETWO = 2,XACTTC_SYNC = 2,XACTTC_ASYNC_PHASEONE = 4,XACTTC_ASYNC = 4 + } XACTTC; + + typedef enum XACTRM { + XACTRM_OPTIMISTICLASTWINS = 1,XACTRM_NOREADONLYPREPARES = 2 + } XACTRM; + + typedef enum XACTCONST { + XACTCONST_TIMEOUTINFINITE = 0 + } XACTCONST; + + typedef enum XACTHEURISTIC { + XACTHEURISTIC_ABORT = 1,XACTHEURISTIC_COMMIT = 2,XACTHEURISTIC_DAMAGE = 3,XACTHEURISTIC_DANGER = 4 + } XACTHEURISTIC; + + typedef enum XACTSTAT { + XACTSTAT_NONE = 0,XACTSTAT_OPENNORMAL = 0x1,XACTSTAT_OPENREFUSED = 0x2,XACTSTAT_PREPARING = 0x4,XACTSTAT_PREPARED = 0x8,XACTSTAT_PREPARERETAINING = 0x10,XACTSTAT_PREPARERETAINED = 0x20,XACTSTAT_COMMITTING = 0x40,XACTSTAT_COMMITRETAINING = 0x80,XACTSTAT_ABORTING = 0x100,XACTSTAT_ABORTED = 0x200,XACTSTAT_COMMITTED = 0x400,XACTSTAT_HEURISTIC_ABORT = 0x800,XACTSTAT_HEURISTIC_COMMIT = 0x1000,XACTSTAT_HEURISTIC_DAMAGE = 0x2000,XACTSTAT_HEURISTIC_DANGER = 0x4000,XACTSTAT_FORCED_ABORT = 0x8000,XACTSTAT_FORCED_COMMIT = 0x10000,XACTSTAT_INDOUBT = 0x20000,XACTSTAT_CLOSED = 0x40000,XACTSTAT_OPEN = 0x3,XACTSTAT_NOTPREPARED = 0x7ffc3,XACTSTAT_ALL = 0x7ffff + } XACTSTAT; + + typedef struct XACTOPT { + ULONG ulTimeout; + char szDescription[40 ]; + } XACTOPT; + + extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_c_ifspec; + extern RPC_IF_HANDLE BasicTransactionTypes_v0_0_s_ifspec; +#endif + +#ifndef __ITransaction_INTERFACE_DEFINED__ +#define __ITransaction_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransaction; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransaction : public IUnknown { + public: + virtual HRESULT WINAPI Commit(WINBOOL fRetaining,DWORD grfTC,DWORD grfRM) = 0; + virtual HRESULT WINAPI Abort(BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync) = 0; + virtual HRESULT WINAPI GetTransactionInfo(XACTTRANSINFO *pinfo) = 0; + }; +#else + typedef struct ITransactionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransaction *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransaction *This); + ULONG (WINAPI *Release)(ITransaction *This); + HRESULT (WINAPI *Commit)(ITransaction *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); + HRESULT (WINAPI *Abort)(ITransaction *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); + HRESULT (WINAPI *GetTransactionInfo)(ITransaction *This,XACTTRANSINFO *pinfo); + END_INTERFACE + } ITransactionVtbl; + struct ITransaction { + CONST_VTBL struct ITransactionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransaction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransaction_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransaction_Release(This) (This)->lpVtbl->Release(This) +#define ITransaction_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) +#define ITransaction_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) +#define ITransaction_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) +#endif +#endif + HRESULT WINAPI ITransaction_Commit_Proxy(ITransaction *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); + void __RPC_STUB ITransaction_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransaction_Abort_Proxy(ITransaction *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); + void __RPC_STUB ITransaction_Abort_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransaction_GetTransactionInfo_Proxy(ITransaction *This,XACTTRANSINFO *pinfo); + void __RPC_STUB ITransaction_GetTransactionInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionCloner_INTERFACE_DEFINED__ +#define __ITransactionCloner_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionCloner; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionCloner : public ITransaction { + public: + virtual HRESULT WINAPI CloneWithCommitDisabled(ITransaction **ppITransaction) = 0; + }; +#else + typedef struct ITransactionClonerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionCloner *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionCloner *This); + ULONG (WINAPI *Release)(ITransactionCloner *This); + HRESULT (WINAPI *Commit)(ITransactionCloner *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); + HRESULT (WINAPI *Abort)(ITransactionCloner *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); + HRESULT (WINAPI *GetTransactionInfo)(ITransactionCloner *This,XACTTRANSINFO *pinfo); + HRESULT (WINAPI *CloneWithCommitDisabled)(ITransactionCloner *This,ITransaction **ppITransaction); + END_INTERFACE + } ITransactionClonerVtbl; + struct ITransactionCloner { + CONST_VTBL struct ITransactionClonerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionCloner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionCloner_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionCloner_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionCloner_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) +#define ITransactionCloner_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) +#define ITransactionCloner_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) +#define ITransactionCloner_CloneWithCommitDisabled(This,ppITransaction) (This)->lpVtbl->CloneWithCommitDisabled(This,ppITransaction) +#endif +#endif + HRESULT WINAPI ITransactionCloner_CloneWithCommitDisabled_Proxy(ITransactionCloner *This,ITransaction **ppITransaction); + void __RPC_STUB ITransactionCloner_CloneWithCommitDisabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransaction2_INTERFACE_DEFINED__ +#define __ITransaction2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransaction2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransaction2 : public ITransactionCloner { + public: + virtual HRESULT WINAPI GetTransactionInfo2(XACTTRANSINFO *pinfo) = 0; + }; +#else + typedef struct ITransaction2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransaction2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransaction2 *This); + ULONG (WINAPI *Release)(ITransaction2 *This); + HRESULT (WINAPI *Commit)(ITransaction2 *This,WINBOOL fRetaining,DWORD grfTC,DWORD grfRM); + HRESULT (WINAPI *Abort)(ITransaction2 *This,BOID *pboidReason,WINBOOL fRetaining,WINBOOL fAsync); + HRESULT (WINAPI *GetTransactionInfo)(ITransaction2 *This,XACTTRANSINFO *pinfo); + HRESULT (WINAPI *CloneWithCommitDisabled)(ITransaction2 *This,ITransaction **ppITransaction); + HRESULT (WINAPI *GetTransactionInfo2)(ITransaction2 *This,XACTTRANSINFO *pinfo); + END_INTERFACE + } ITransaction2Vtbl; + struct ITransaction2 { + CONST_VTBL struct ITransaction2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransaction2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransaction2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransaction2_Release(This) (This)->lpVtbl->Release(This) +#define ITransaction2_Commit(This,fRetaining,grfTC,grfRM) (This)->lpVtbl->Commit(This,fRetaining,grfTC,grfRM) +#define ITransaction2_Abort(This,pboidReason,fRetaining,fAsync) (This)->lpVtbl->Abort(This,pboidReason,fRetaining,fAsync) +#define ITransaction2_GetTransactionInfo(This,pinfo) (This)->lpVtbl->GetTransactionInfo(This,pinfo) +#define ITransaction2_CloneWithCommitDisabled(This,ppITransaction) (This)->lpVtbl->CloneWithCommitDisabled(This,ppITransaction) +#define ITransaction2_GetTransactionInfo2(This,pinfo) (This)->lpVtbl->GetTransactionInfo2(This,pinfo) +#endif +#endif + HRESULT WINAPI ITransaction2_GetTransactionInfo2_Proxy(ITransaction2 *This,XACTTRANSINFO *pinfo); + void __RPC_STUB ITransaction2_GetTransactionInfo2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionDispenser_INTERFACE_DEFINED__ +#define __ITransactionDispenser_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionDispenser; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionDispenser : public IUnknown { + public: + virtual HRESULT WINAPI GetOptionsObject(ITransactionOptions **ppOptions) = 0; + virtual HRESULT WINAPI BeginTransaction(IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction) = 0; + }; +#else + typedef struct ITransactionDispenserVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionDispenser *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionDispenser *This); + ULONG (WINAPI *Release)(ITransactionDispenser *This); + HRESULT (WINAPI *GetOptionsObject)(ITransactionDispenser *This,ITransactionOptions **ppOptions); + HRESULT (WINAPI *BeginTransaction)(ITransactionDispenser *This,IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction); + END_INTERFACE + } ITransactionDispenserVtbl; + struct ITransactionDispenser { + CONST_VTBL struct ITransactionDispenserVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionDispenser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionDispenser_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionDispenser_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionDispenser_GetOptionsObject(This,ppOptions) (This)->lpVtbl->GetOptionsObject(This,ppOptions) +#define ITransactionDispenser_BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) (This)->lpVtbl->BeginTransaction(This,punkOuter,isoLevel,isoFlags,pOptions,ppTransaction) +#endif +#endif + HRESULT WINAPI ITransactionDispenser_GetOptionsObject_Proxy(ITransactionDispenser *This,ITransactionOptions **ppOptions); + void __RPC_STUB ITransactionDispenser_GetOptionsObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionDispenser_BeginTransaction_Proxy(ITransactionDispenser *This,IUnknown *punkOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction); + void __RPC_STUB ITransactionDispenser_BeginTransaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionOptions_INTERFACE_DEFINED__ +#define __ITransactionOptions_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionOptions; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionOptions : public IUnknown { + public: + virtual HRESULT WINAPI SetOptions(XACTOPT *pOptions) = 0; + virtual HRESULT WINAPI GetOptions(XACTOPT *pOptions) = 0; + }; +#else + typedef struct ITransactionOptionsVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionOptions *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionOptions *This); + ULONG (WINAPI *Release)(ITransactionOptions *This); + HRESULT (WINAPI *SetOptions)(ITransactionOptions *This,XACTOPT *pOptions); + HRESULT (WINAPI *GetOptions)(ITransactionOptions *This,XACTOPT *pOptions); + END_INTERFACE + } ITransactionOptionsVtbl; + struct ITransactionOptions { + CONST_VTBL struct ITransactionOptionsVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionOptions_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionOptions_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionOptions_SetOptions(This,pOptions) (This)->lpVtbl->SetOptions(This,pOptions) +#define ITransactionOptions_GetOptions(This,pOptions) (This)->lpVtbl->GetOptions(This,pOptions) +#endif +#endif + HRESULT WINAPI ITransactionOptions_SetOptions_Proxy(ITransactionOptions *This,XACTOPT *pOptions); + void __RPC_STUB ITransactionOptions_SetOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionOptions_GetOptions_Proxy(ITransactionOptions *This,XACTOPT *pOptions); + void __RPC_STUB ITransactionOptions_GetOptions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionOutcomeEvents_INTERFACE_DEFINED__ +#define __ITransactionOutcomeEvents_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionOutcomeEvents; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionOutcomeEvents : public IUnknown { + public: + virtual HRESULT WINAPI Committed(WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr) = 0; + virtual HRESULT WINAPI Aborted(BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr) = 0; + virtual HRESULT WINAPI HeuristicDecision(DWORD dwDecision,BOID *pboidReason,HRESULT hr) = 0; + virtual HRESULT WINAPI Indoubt(void) = 0; + }; +#else + typedef struct ITransactionOutcomeEventsVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionOutcomeEvents *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionOutcomeEvents *This); + ULONG (WINAPI *Release)(ITransactionOutcomeEvents *This); + HRESULT (WINAPI *Committed)(ITransactionOutcomeEvents *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + HRESULT (WINAPI *Aborted)(ITransactionOutcomeEvents *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + HRESULT (WINAPI *HeuristicDecision)(ITransactionOutcomeEvents *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr); + HRESULT (WINAPI *Indoubt)(ITransactionOutcomeEvents *This); + END_INTERFACE + } ITransactionOutcomeEventsVtbl; + struct ITransactionOutcomeEvents { + CONST_VTBL struct ITransactionOutcomeEventsVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionOutcomeEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionOutcomeEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionOutcomeEvents_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionOutcomeEvents_Committed(This,fRetaining,pNewUOW,hr) (This)->lpVtbl->Committed(This,fRetaining,pNewUOW,hr) +#define ITransactionOutcomeEvents_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) (This)->lpVtbl->Aborted(This,pboidReason,fRetaining,pNewUOW,hr) +#define ITransactionOutcomeEvents_HeuristicDecision(This,dwDecision,pboidReason,hr) (This)->lpVtbl->HeuristicDecision(This,dwDecision,pboidReason,hr) +#define ITransactionOutcomeEvents_Indoubt(This) (This)->lpVtbl->Indoubt(This) +#endif +#endif + HRESULT WINAPI ITransactionOutcomeEvents_Committed_Proxy(ITransactionOutcomeEvents *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + void __RPC_STUB ITransactionOutcomeEvents_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionOutcomeEvents_Aborted_Proxy(ITransactionOutcomeEvents *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + void __RPC_STUB ITransactionOutcomeEvents_Aborted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionOutcomeEvents_HeuristicDecision_Proxy(ITransactionOutcomeEvents *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr); + void __RPC_STUB ITransactionOutcomeEvents_HeuristicDecision_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionOutcomeEvents_Indoubt_Proxy(ITransactionOutcomeEvents *This); + void __RPC_STUB ITransactionOutcomeEvents_Indoubt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITmNodeName_INTERFACE_DEFINED__ +#define __ITmNodeName_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITmNodeName; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITmNodeName : public IUnknown { + public: + virtual HRESULT WINAPI GetNodeNameSize(ULONG *pcbNodeNameSize) = 0; + virtual HRESULT WINAPI GetNodeName(ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer) = 0; + }; +#else + typedef struct ITmNodeNameVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITmNodeName *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITmNodeName *This); + ULONG (WINAPI *Release)(ITmNodeName *This); + HRESULT (WINAPI *GetNodeNameSize)(ITmNodeName *This,ULONG *pcbNodeNameSize); + HRESULT (WINAPI *GetNodeName)(ITmNodeName *This,ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer); + END_INTERFACE + } ITmNodeNameVtbl; + struct ITmNodeName { + CONST_VTBL struct ITmNodeNameVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITmNodeName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITmNodeName_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITmNodeName_Release(This) (This)->lpVtbl->Release(This) +#define ITmNodeName_GetNodeNameSize(This,pcbNodeNameSize) (This)->lpVtbl->GetNodeNameSize(This,pcbNodeNameSize) +#define ITmNodeName_GetNodeName(This,cbNodeNameBufferSize,pNodeNameBuffer) (This)->lpVtbl->GetNodeName(This,cbNodeNameBufferSize,pNodeNameBuffer) +#endif +#endif + HRESULT WINAPI ITmNodeName_GetNodeNameSize_Proxy(ITmNodeName *This,ULONG *pcbNodeNameSize); + void __RPC_STUB ITmNodeName_GetNodeNameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITmNodeName_GetNodeName_Proxy(ITmNodeName *This,ULONG cbNodeNameBufferSize,LPWSTR pNodeNameBuffer); + void __RPC_STUB ITmNodeName_GetNodeName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + DEFINE_GUID(IID_ITransaction,0x0fb15084,0xaf41,0x11ce,0xbd,0x2b,0x20,0x4c,0x4f,0x4f,0x50,0x20); + DEFINE_GUID(IID_ITransactionCloner,0x02656950,0x2152,0x11d0,0x94,0x4C,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_ITransaction2,0x34021548,0x0065,0x11d3,0xba,0xc1,0x00,0xc0,0x4f,0x79,0x7b,0xe2); + DEFINE_GUID(IID_ITransactionDispenser,0x3A6AD9E1,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); + DEFINE_GUID(IID_ITransactionOptions,0x3A6AD9E0,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); + DEFINE_GUID(IID_ITransactionOutcomeEvents,0x3A6AD9E2,0x23B9,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); + DEFINE_GUID(IID_ITmNodeName,0x30274F88,0x6EE4,0x474e,0x9B,0x95,0x78,0x07,0xBC,0x9E,0xF8,0xCF); + + extern RPC_IF_HANDLE __MIDL_itf_transact_0016_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_transact_0016_v0_0_s_ifspec; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedcid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedcid.h new file mode 100644 index 00000000..458f2654 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedcid.h @@ -0,0 +1,78 @@ +/** + * 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 __TRIEDCID_H__ +#define __TRIEDCID_H__ + +#define IDM_TRIED_NUDGE_ELEMENT 2 +#define IDM_TRIED_SET_ALIGNMENT 3 +#define IDM_TRIED_MAKE_ABSOLUTE 4 +#define IDM_TRIED_LOCK_ELEMENT 5 +#define IDM_TRIED_SEND_TO_BACK 6 +#define IDM_TRIED_BRING_TO_FRONT 7 +#define IDM_TRIED_SEND_BACKWARD 8 +#define IDM_TRIED_BRING_FORWARD 9 +#define IDM_TRIED_SEND_BELOW_TEXT 10 +#define IDM_TRIED_BRING_ABOVE_TEXT 11 +#define IDM_TRIED_CONSTRAIN 12 +#define IDM_TRIED_ABSOLUTE_DROP_MODE 13 +#define IDM_TRIED_INSERTROW 14 +#define IDM_TRIED_INSERTCOL 15 +#define IDM_TRIED_DELETEROWS 16 +#define IDM_TRIED_DELETECOLS 17 +#define IDM_TRIED_MERGECELLS 18 +#define IDM_TRIED_SPLITCELL 19 +#define IDM_TRIED_INSERTCELL 20 +#define IDM_TRIED_DELETECELLS 21 +#define IDM_TRIED_INSERTTABLE 22 +#define IDM_TRIED_ACTIVATEACTIVEXCONTROLS 23 +#define IDM_TRIED_ACTIVATEAPPLETS 24 +#define IDM_TRIED_ACTIVATEDTCS 25 +#define IDM_TRIED_BACKCOLOR 26 +#define IDM_TRIED_BLOCKFMT 27 +#define IDM_TRIED_BOLD 28 +#define IDM_TRIED_BROWSEMODE 29 +#define IDM_TRIED_COPY 30 +#define IDM_TRIED_CUT 31 +#define IDM_TRIED_DELETE 32 +#define IDM_TRIED_EDITMODE 33 +#define IDM_TRIED_FIND 34 +#define IDM_TRIED_FONT 35 +#define IDM_TRIED_FONTNAME 36 +#define IDM_TRIED_FONTSIZE 37 +#define IDM_TRIED_FORECOLOR 38 +#define IDM_TRIED_GETBLOCKFMTS 39 +#define IDM_TRIED_HYPERLINK 40 +#define IDM_TRIED_IMAGE 41 +#define IDM_TRIED_INDENT 42 +#define IDM_TRIED_ITALIC 43 +#define IDM_TRIED_JUSTIFYCENTER 44 +#define IDM_TRIED_JUSTIFYLEFT 45 +#define IDM_TRIED_JUSTIFYRIGHT 46 +#define IDM_TRIED_ORDERLIST 47 +#define IDM_TRIED_OUTDENT 48 +#define IDM_TRIED_PASTE 50 +#define IDM_TRIED_PRINT 51 +#define IDM_TRIED_REDO 52 +#define IDM_TRIED_REMOVEFORMAT 53 +#define IDM_TRIED_SELECTALL 54 +#define IDM_TRIED_SHOWBORDERS 55 +#define IDM_TRIED_SHOWDETAILS 56 +#define IDM_TRIED_UNDERLINE 57 +#define IDM_TRIED_UNDO 58 +#define IDM_TRIED_UNLINK 59 +#define IDM_TRIED_UNORDERLIST 60 +#define IDM_TRIED_DOVERB 61 + +#define IDM_TRIED_LAST_CID IDM_TRIED_DOVERB + +#define IDM_TRIED_IS_1D_ELEMENT 0 +#define IDM_TRIED_IS_2D_ELEMENT 1 +#define IDM_TRIED_SEND_TO_FRONT IDM_TRIED_BRING_TO_FRONT +#define IDM_TRIED_SEND_FORWARD IDM_TRIED_BRING_FORWARD +#define IDM_TRIED_SEND_BEHIND_1D IDM_TRIED_SEND_BELOW_TEXT +#define IDM_TRIED_SEND_FRONT_1D IDM_TRIED_BRING_ABOVE_TEXT +#define IDM_TRIED_SET_2D_DROP_MODE IDM_TRIED_ABSOLUTE_DROP_MODE +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triediid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triediid.h new file mode 100644 index 00000000..2b100686 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triediid.h @@ -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. + */ +#ifndef _triediid_h_ +#define _triediid_h_ + +#ifdef __cplusplus +extern "C"{ +#endif + + EXTERN_C const GUID GUID_TriEditCommandGroup; + EXTERN_C const IID IID_ITriEditDocument; + EXTERN_C const IID LIBID_TRIEDITLib; + EXTERN_C const CLSID CLSID_TriEditDocument; + + DEFINE_GUID(GUID_TriEditCommandGroup,0x2582f1c0,0x084e,0x11d1,0x9a,0x0e,0x00,0x60,0x97,0xc9,0xb3,0x44); + DEFINE_GUID(IID_ITriEditDocument,0x438DA5DF,0xF171,0x11D0,0x98,0x4E,0x00,0x00,0xF8,0x02,0x70,0xF8); + DEFINE_GUID(LIBID_TRIEDITLib,0x438DA5D1,0xF171,0x11D0,0x98,0x4E,0x00,0x00,0xF8,0x02,0x70,0xF8); + DEFINE_GUID(CLSID_TriEditDocument,0x438DA5E0,0xF171,0x11D0,0x98,0x4E,0x00,0x00,0xF8,0x02,0x70,0xF8); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedit.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedit.h new file mode 100644 index 00000000..fb2979fb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/triedit.h @@ -0,0 +1,169 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 440 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __triedit_h__ +#define __triedit_h__ + +#ifdef __cplusplus +extern "C"{ +#endif + +#ifndef __ITriEditDocument_FWD_DEFINED__ +#define __ITriEditDocument_FWD_DEFINED__ + typedef struct ITriEditDocument ITriEditDocument; +#endif + +#ifndef __TriEditDocument_FWD_DEFINED__ +#define __TriEditDocument_FWD_DEFINED__ +#ifdef __cplusplus + typedef class TriEditDocument TriEditDocument; +#else + typedef struct TriEditDocument TriEditDocument; +#endif +#endif + +#ifndef __IDocHostDragDropHandler_FWD_DEFINED__ +#define __IDocHostDragDropHandler_FWD_DEFINED__ + typedef struct IDocHostDragDropHandler IDocHostDragDropHandler; +#endif + +#include "oaidl.h" +#include "ocidl.h" + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#define dwFilterDefaults 0x00000000 +#define dwFilterNone 0x00000001 +#define dwFilterDTCs 0x00000002 +#define dwFilterDTCsWithoutMetaTags 0x00000004 +#define dwFilterServerSideScripts 0x00000008 +#define dwPreserveSourceCode 0x00000010 +#define dwFilterSourceCode 0x00000020 +#define dwFilterMultiByteStream 0x10000000 +#define dwFilterUsePstmNew 0x20000000 + +#define E_FILTER_FRAMESET 0x80100001 +#define E_FILTER_SERVERSCRIPT 0x80100002 +#define E_FILTER_MULTIPLETAGS 0x80100004 +#define E_FILTER_SCRIPTLISTING 0x80100008 +#define E_FILTER_SCRIPTLABEL 0x80100010 +#define E_FILTER_SCRIPTTEXTAREA 0x80100020 +#define E_FILTER_SCRIPTSELECT 0x80100040 + + extern RPC_IF_HANDLE __MIDL_itf_triedit_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_triedit_0000_v0_0_s_ifspec; +#ifndef __ITriEditDocument_INTERFACE_DEFINED__ +#define __ITriEditDocument_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITriEditDocument; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITriEditDocument : public IDispatch { + public: + virtual HRESULT WINAPI FilterIn(IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL) = 0; + virtual HRESULT WINAPI FilterOut(IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL) = 0; + }; +#else + typedef struct ITriEditDocumentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITriEditDocument *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITriEditDocument *This); + ULONG (WINAPI *Release)(ITriEditDocument *This); + HRESULT (WINAPI *GetTypeInfoCount)(ITriEditDocument *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ITriEditDocument *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ITriEditDocument *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ITriEditDocument *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *FilterIn)(ITriEditDocument *This,IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL); + HRESULT (WINAPI *FilterOut)(ITriEditDocument *This,IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL); + END_INTERFACE + } ITriEditDocumentVtbl; + struct ITriEditDocument { + CONST_VTBL struct ITriEditDocumentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITriEditDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITriEditDocument_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITriEditDocument_Release(This) (This)->lpVtbl->Release(This) +#define ITriEditDocument_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITriEditDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITriEditDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITriEditDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ITriEditDocument_FilterIn(This,pStmOld,ppStmNew,dwFlags,bstrBaseURL) (This)->lpVtbl->FilterIn(This,pStmOld,ppStmNew,dwFlags,bstrBaseURL) +#define ITriEditDocument_FilterOut(This,pStmOld,ppStmNew,dwFlags,bstrBaseURL) (This)->lpVtbl->FilterOut(This,pStmOld,ppStmNew,dwFlags,bstrBaseURL) +#endif +#endif + HRESULT WINAPI ITriEditDocument_FilterIn_Proxy(ITriEditDocument *This,IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL); + void __RPC_STUB ITriEditDocument_FilterIn_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITriEditDocument_FilterOut_Proxy(ITriEditDocument *This,IUnknown *pStmOld,IUnknown **ppStmNew,DWORD dwFlags,BSTR bstrBaseURL); + void __RPC_STUB ITriEditDocument_FilterOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __TRIEDITLib_LIBRARY_DEFINED__ +#define __TRIEDITLib_LIBRARY_DEFINED__ + EXTERN_C const IID LIBID_TRIEDITLib; + EXTERN_C const CLSID CLSID_TriEditDocument; +#ifdef __cplusplus + class TriEditDocument; +#endif +#endif + +#ifndef __IDocHostDragDropHandler_INTERFACE_DEFINED__ +#define __IDocHostDragDropHandler_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDocHostDragDropHandler; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDocHostDragDropHandler : public IUnknown { + public: + virtual HRESULT WINAPI DrawDragFeedback(RECT *pRect) = 0; + }; +#else + typedef struct IDocHostDragDropHandlerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDocHostDragDropHandler *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDocHostDragDropHandler *This); + ULONG (WINAPI *Release)(IDocHostDragDropHandler *This); + HRESULT (WINAPI *DrawDragFeedback)(IDocHostDragDropHandler *This,RECT *pRect); + END_INTERFACE + } IDocHostDragDropHandlerVtbl; + struct IDocHostDragDropHandler { + CONST_VTBL struct IDocHostDragDropHandlerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDocHostDragDropHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDocHostDragDropHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDocHostDragDropHandler_Release(This) (This)->lpVtbl->Release(This) +#define IDocHostDragDropHandler_DrawDragFeedback(This,pRect) (This)->lpVtbl->DrawDragFeedback(This,pRect) +#endif +#endif + HRESULT WINAPI IDocHostDragDropHandler_DrawDragFeedback_Proxy(IDocHostDragDropHandler *This,RECT *pRect); + void __RPC_STUB IDocHostDragDropHandler_DrawDragFeedback_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsattrs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsattrs.h new file mode 100644 index 00000000..c119cbdf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsattrs.h @@ -0,0 +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 + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tspi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tspi.h new file mode 100644 index 00000000..5d895b2b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tspi.h @@ -0,0 +1,250 @@ +/** + * 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 TSPI_H +#define TSPI_H + +#include +#include "tapi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef DECLARE_OPAQUE +#define DECLARE_OPAQUE(name) struct name##__ { int unused; }; typedef const struct name##__ *name +#endif + +#ifndef TSPIAPI +#define TSPIAPI WINAPI +#endif + + DECLARE_OPAQUE(HDRVCALL); + DECLARE_OPAQUE(HDRVLINE); + DECLARE_OPAQUE(HDRVPHONE); + DECLARE_OPAQUE(HDRVMSPLINE); + DECLARE_OPAQUE(HDRVDIALOGINSTANCE); + + typedef HDRVCALL *LPHDRVCALL; + typedef HDRVLINE *LPHDRVLINE; + typedef HDRVPHONE *LPHDRVPHONE; + typedef HDRVDIALOGINSTANCE *LPHDRVDIALOGINSTANCE; + typedef HDRVMSPLINE *LPHDRVMSPLINE; + + DECLARE_OPAQUE(HTAPICALL); + DECLARE_OPAQUE(HTAPILINE); + DECLARE_OPAQUE(HTAPIPHONE); + DECLARE_OPAQUE32(HTAPIDIALOGINSTANCE); + DECLARE_OPAQUE32(HTAPIMSPLINE); + + typedef HTAPICALL *LPHTAPICALL; + typedef HTAPILINE *LPHTAPILINE; + typedef HTAPIPHONE *LPHTAPIPHONE; + typedef HTAPIDIALOGINSTANCE *LPHTAPIDIALOGINSTANCE; + typedef HTAPIMSPLINE *LPHTAPIMSPLINE; + + DECLARE_OPAQUE(HPROVIDER); + typedef HPROVIDER *LPHPROVIDER; + + typedef DWORD DRV_REQUESTID; + + typedef void (CALLBACK *ASYNC_COMPLETION)(DRV_REQUESTID dwRequestID,LONG lResult); + typedef void (CALLBACK *LINEEVENT)(HTAPILINE htLine,HTAPICALL htCall,DWORD dwMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + typedef void (CALLBACK *PHONEEVENT)(HTAPIPHONE htPhone,DWORD dwMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2,DWORD_PTR dwParam3); + typedef LONG (CALLBACK *TUISPIDLLCALLBACK)(DWORD_PTR dwObjectID,DWORD dwObjectType,LPVOID lpParams,DWORD dwSize); + + typedef struct tuispicreatedialoginstanceparams_tag { + DRV_REQUESTID dwRequestID; + HDRVDIALOGINSTANCE hdDlgInst; + HTAPIDIALOGINSTANCE htDlgInst; + LPCWSTR lpszUIDLLName; + LPVOID lpParams; + DWORD dwSize; + } TUISPICREATEDIALOGINSTANCEPARAMS,*LPTUISPICREATEDIALOGINSTANCEPARAMS; + +#define LINEQOSSTRUCT_KEY ((DWORD)'LQSK') + + typedef struct LINEQOSSERVICELEVEL_tag { + DWORD dwMediaMode; + DWORD dwQOSServiceLevel; + } LINEQOSSERVICELEVEL,*LPLINEQOSSERVICELEVEL; + + typedef struct LINECALLQOSINFO_tag { + DWORD dwKey; + DWORD dwTotalSize; + DWORD dwQOSRequestType; + __C89_NAMELESS union { + struct { + DWORD dwNumServiceLevelEntries; + LINEQOSSERVICELEVEL LineQOSServiceLevel[1]; + } SetQOSServiceLevel; + }; + } LINECALLQOSINFO,*LPLINECALLQOSINFO; + + EXTERN_C const CLSID TAPIPROTOCOL_PSTN; + EXTERN_C const CLSID TAPIPROTOCOL_H323; + EXTERN_C const CLSID TAPIPROTOCOL_Multicast; + +#define TSPI_MESSAGE_BASE 500 +#define LINE_NEWCALL ((__LONG32) TSPI_MESSAGE_BASE + 0) +#define LINE_CALLDEVSPECIFIC ((__LONG32) TSPI_MESSAGE_BASE + 1) +#define LINE_CALLDEVSPECIFICFEATURE ((__LONG32) TSPI_MESSAGE_BASE + 2) +#define LINE_CREATEDIALOGINSTANCE ((__LONG32) TSPI_MESSAGE_BASE + 3) +#define LINE_SENDDIALOGINSTANCEDATA ((__LONG32) TSPI_MESSAGE_BASE + 4) +#define LINE_SENDMSPDATA ((__LONG32) TSPI_MESSAGE_BASE + 5) +#define LINE_QOSINFO ((__LONG32) TSPI_MESSAGE_BASE + 6) + +#define LINETSPIOPTION_NONREENTRANT 0x00000001 + +#define TUISPIDLL_OBJECT_LINEID __MSABI_LONG(1) +#define TUISPIDLL_OBJECT_PHONEID __MSABI_LONG(2) +#define TUISPIDLL_OBJECT_PROVIDERID __MSABI_LONG(3) +#define TUISPIDLL_OBJECT_DIALOGINSTANCE __MSABI_LONG(4) + +#define PRIVATEOBJECT_NONE 0x00000001 +#define PRIVATEOBJECT_CALLID 0x00000002 +#define PRIVATEOBJECT_LINE 0x00000003 +#define PRIVATEOBJECT_CALL 0x00000004 +#define PRIVATEOBJECT_PHONE 0x00000005 +#define PRIVATEOBJECT_ADDRESS 0x00000006 + +#define LINEQOSREQUESTTYPE_SERVICELEVEL 0x00000001 + +#define LINEQOSSERVICELEVEL_NEEDED 0x00000001 +#define LINEQOSSERVICELEVEL_IFAVAILABLE 0x00000002 +#define LINEQOSSERVICELEVEL_BESTEFFORT 0x00000003 + +#define LINEEQOSINFO_NOQOS 0x00000001 +#define LINEEQOSINFO_ADMISSIONFAILURE 0x00000002 +#define LINEEQOSINFO_POLICYFAILURE 0x00000003 +#define LINEEQOSINFO_GENERICERROR 0x00000004 + + LONG WINAPI TSPI_lineAccept(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI TSPI_lineAddToConference(DRV_REQUESTID dwRequestID,HDRVCALL hdConfCall,HDRVCALL hdConsultCall); + LONG WINAPI TSPI_lineAnswer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI TSPI_lineBlindTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI TSPI_lineClose(HDRVLINE hdLine); + LONG WINAPI TSPI_lineCloseCall(HDRVCALL hdCall); + LONG WINAPI TSPI_lineCompleteCall(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPDWORD lpdwCompletionID,DWORD dwCompletionMode,DWORD dwMessageID); + LONG WINAPI TSPI_lineCompleteTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HDRVCALL hdConsultCall,HTAPICALL htConfCall,LPHDRVCALL lphdConfCall,DWORD dwTransferMode); + LONG WINAPI TSPI_lineConditionalMediaDetection(HDRVLINE hdLine,DWORD dwMediaModes,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineDevSpecific(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,LPVOID lpParams,DWORD dwSize); + LONG WINAPI TSPI_lineDevSpecificFeature(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwFeature,LPVOID lpParams,DWORD dwSize); + LONG WINAPI TSPI_lineDial(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI TSPI_lineDrop(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI TSPI_lineDropOnClose(HDRVCALL hdCall); + LONG WINAPI TSPI_lineDropNoOwner(HDRVCALL hdCall); + LONG WINAPI TSPI_lineForward(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD bAllAddresses,DWORD dwAddressID,LPLINEFORWARDLIST const lpForwardList,DWORD dwNumRingsNoAnswer,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineGatherDigits(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwDigitModes,LPWSTR lpsDigits,DWORD dwNumDigits,LPCWSTR lpszTerminationDigits,DWORD dwFirstDigitTimeout,DWORD dwInterDigitTimeout); + LONG WINAPI TSPI_lineGenerateDigits(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwDigitMode,LPCWSTR lpszDigits,DWORD dwDuration); + LONG WINAPI TSPI_lineGenerateTone(HDRVCALL hdCall,DWORD dwEndToEndID,DWORD dwToneMode,DWORD dwDuration,DWORD dwNumTones,LPLINEGENERATETONE const lpTones); + LONG WINAPI TSPI_lineGetAddressCaps(DWORD dwDeviceID,DWORD dwAddressID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPLINEADDRESSCAPS lpAddressCaps); + LONG WINAPI TSPI_lineGetAddressID(HDRVLINE hdLine,LPDWORD lpdwAddressID,DWORD dwAddressMode,LPCWSTR lpsAddress,DWORD dwSize); + LONG WINAPI TSPI_lineGetAddressStatus(HDRVLINE hdLine,DWORD dwAddressID,LPLINEADDRESSSTATUS lpAddressStatus); + LONG WINAPI TSPI_lineGetCallAddressID(HDRVCALL hdCall,LPDWORD lpdwAddressID); + LONG WINAPI TSPI_lineGetCallHubTracking(HDRVLINE hdLine,LPLINECALLHUBTRACKINGINFO lpTrackingInfo); + LONG WINAPI TSPI_lineGetCallIDs(HDRVCALL hdCall,LPDWORD lpdwAddressID,LPDWORD lpdwCallID,LPDWORD lpdwRelatedCallID); + LONG WINAPI TSPI_lineGetCallInfo(HDRVCALL hdCall,LPLINECALLINFO lpCallInfo); + LONG WINAPI TSPI_lineGetCallStatus(HDRVCALL hdCall,LPLINECALLSTATUS lpCallStatus); + LONG WINAPI TSPI_lineGetDevCaps(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPLINEDEVCAPS lpLineDevCaps); + LONG WINAPI TSPI_lineGetDevConfig(DWORD dwDeviceID,LPVARSTRING lpDeviceConfig,LPCWSTR lpszDeviceClass); + LONG WINAPI TSPI_lineGetExtensionID(DWORD dwDeviceID,DWORD dwTSPIVersion,LPLINEEXTENSIONID lpExtensionID); + LONG WINAPI TSPI_lineGetIcon(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI TSPI_lineGetID(HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass,HANDLE hTargetProcess); + LONG WINAPI TSPI_lineGetLineDevStatus(HDRVLINE hdLine,LPLINEDEVSTATUS lpLineDevStatus); + LONG WINAPI TSPI_lineGetNumAddressIDs(HDRVLINE hdLine,LPDWORD lpdwNumAddressIDs); + LONG WINAPI TSPI_lineHold(DRV_REQUESTID dwRequestID,HDRVCALL hdCall); + LONG WINAPI TSPI_lineMakeCall(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineMonitorDigits(HDRVCALL hdCall,DWORD dwDigitModes); + LONG WINAPI TSPI_lineMonitorMedia(HDRVCALL hdCall,DWORD dwMediaModes); + LONG WINAPI TSPI_lineMonitorTones(HDRVCALL hdCall,DWORD dwToneListID,LPLINEMONITORTONE const lpToneList,DWORD dwNumEntries); + LONG WINAPI TSPI_lineNegotiateExtVersion(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI TSPI_lineNegotiateTSPIVersion(DWORD dwDeviceID,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwTSPIVersion); + LONG WINAPI TSPI_lineOpen(DWORD dwDeviceID,HTAPILINE htLine,LPHDRVLINE lphdLine,DWORD dwTSPIVersion,LINEEVENT lpfnEventProc); + LONG WINAPI TSPI_linePark(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwParkMode,LPCWSTR lpszDirAddress,LPVARSTRING lpNonDirAddress); + LONG WINAPI TSPI_linePickup(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress,LPCWSTR lpszGroupID); + LONG WINAPI TSPI_linePrepareAddToConference(DRV_REQUESTID dwRequestID,HDRVCALL hdConfCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineRedirect(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCWSTR lpszDestAddress,DWORD dwCountryCode); + LONG WINAPI TSPI_lineReleaseUserUserInfo(DRV_REQUESTID dwRequestID,HDRVCALL hdCall); + LONG WINAPI TSPI_lineRemoveFromConference(DRV_REQUESTID dwRequestID,HDRVCALL hdCall); + LONG WINAPI TSPI_lineSecureCall(DRV_REQUESTID dwRequestID,HDRVCALL hdCall); + LONG WINAPI TSPI_lineSelectExtVersion(HDRVLINE hdLine,DWORD dwExtVersion); + LONG WINAPI TSPI_lineSendUserUserInfo(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPCSTR lpsUserUserInfo,DWORD dwSize); + LONG WINAPI TSPI_lineSetAppSpecific(HDRVCALL hdCall,DWORD dwAppSpecific); + LONG WINAPI TSPI_lineSetCallData(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPVOID lpCallData,DWORD dwSize); + LONG WINAPI TSPI_lineSetCallHubTracking(HDRVLINE hdLine,LPLINECALLHUBTRACKINGINFO lpTrackingInfo); + LONG WINAPI TSPI_lineSetCallParams(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwBearerMode,DWORD dwMinRate,DWORD dwMaxRate,LPLINEDIALPARAMS const lpDialParams); + LONG WINAPI TSPI_lineSetCallQualityOfService(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,LPVOID lpSendingFlowspec,DWORD dwSendingFlowspecSize,LPVOID lpReceivingFlowspec,DWORD dwReceivingFlowspecSize); + LONG WINAPI TSPI_lineSetCallTreatment(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,DWORD dwTreatment); + LONG WINAPI TSPI_lineSetCurrentLocation(DWORD dwLocation); + LONG WINAPI TSPI_lineSetDefaultMediaDetection(HDRVLINE hdLine,DWORD dwMediaModes); + LONG WINAPI TSPI_lineSetDevConfig(DWORD dwDeviceID,LPVOID const lpDeviceConfig,DWORD dwSize,LPCWSTR lpszDeviceClass); + LONG WINAPI TSPI_lineSetLineDevStatus(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwStatusToChange,DWORD fStatus); + LONG WINAPI TSPI_lineSetMediaControl(HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,LPLINEMEDIACONTROLDIGIT const lpDigitList,DWORD dwDigitNumEntries,LPLINEMEDIACONTROLMEDIA const lpMediaList,DWORD dwMediaNumEntries,LPLINEMEDIACONTROLTONE const lpToneList,DWORD dwToneNumEntries,LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,DWORD dwCallStateNumEntries); + LONG WINAPI TSPI_lineSetMediaMode(HDRVCALL hdCall,DWORD dwMediaMode); + LONG WINAPI TSPI_lineSetStatusMessages(HDRVLINE hdLine,DWORD dwLineStates,DWORD dwAddressStates); + LONG WINAPI TSPI_lineSetTerminal(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HDRVCALL hdCall,DWORD dwSelect,DWORD dwTerminalModes,DWORD dwTerminalID,DWORD bEnable); + LONG WINAPI TSPI_lineSetupConference(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HDRVLINE hdLine,HTAPICALL htConfCall,LPHDRVCALL lphdConfCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,DWORD dwNumParties,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineSetupTransfer(DRV_REQUESTID dwRequestID,HDRVCALL hdCall,HTAPICALL htConsultCall,LPHDRVCALL lphdConsultCall,LPLINECALLPARAMS const lpCallParams); + LONG WINAPI TSPI_lineSwapHold(DRV_REQUESTID dwRequestID,HDRVCALL hdActiveCall,HDRVCALL hdHeldCall); + LONG WINAPI TSPI_lineUncompleteCall(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwCompletionID); + LONG WINAPI TSPI_lineUnhold(DRV_REQUESTID dwRequestID,HDRVCALL hdCall); + LONG WINAPI TSPI_lineUnpark(DRV_REQUESTID dwRequestID,HDRVLINE hdLine,DWORD dwAddressID,HTAPICALL htCall,LPHDRVCALL lphdCall,LPCWSTR lpszDestAddress); + LONG WINAPI TSPI_phoneClose(HDRVPHONE hdPhone); + LONG WINAPI TSPI_phoneDevSpecific(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,LPVOID lpParams,DWORD dwSize); + LONG WINAPI TSPI_phoneGetButtonInfo(HDRVPHONE hdPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO lpButtonInfo); + LONG WINAPI TSPI_phoneGetData(HDRVPHONE hdPhone,DWORD dwDataID,LPVOID lpData,DWORD dwSize); + LONG WINAPI TSPI_phoneGetDevCaps(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwExtVersion,LPPHONECAPS lpPhoneCaps); + LONG WINAPI TSPI_phoneGetDisplay(HDRVPHONE hdPhone,LPVARSTRING lpDisplay); + LONG WINAPI TSPI_phoneGetExtensionID(DWORD dwDeviceID,DWORD dwTSPIVersion,LPPHONEEXTENSIONID lpExtensionID); + LONG WINAPI TSPI_phoneGetGain(HDRVPHONE hdPhone,DWORD dwHookSwitchDev,LPDWORD lpdwGain); + LONG WINAPI TSPI_phoneGetHookSwitch(HDRVPHONE hdPhone,LPDWORD lpdwHookSwitchDevs); + LONG WINAPI TSPI_phoneGetIcon(DWORD dwDeviceID,LPCWSTR lpszDeviceClass,LPHICON lphIcon); + LONG WINAPI TSPI_phoneGetID(HDRVPHONE hdPhone,LPVARSTRING lpDeviceID,LPCWSTR lpszDeviceClass,HANDLE hTargetProcess); + LONG WINAPI TSPI_phoneGetLamp(HDRVPHONE hdPhone,DWORD dwButtonLampID,LPDWORD lpdwLampMode); + LONG WINAPI TSPI_phoneGetRing(HDRVPHONE hdPhone,LPDWORD lpdwRingMode,LPDWORD lpdwVolume); + LONG WINAPI TSPI_phoneGetStatus(HDRVPHONE hdPhone,LPPHONESTATUS lpPhoneStatus); + LONG WINAPI TSPI_phoneGetVolume(HDRVPHONE hdPhone,DWORD dwHookSwitchDev,LPDWORD lpdwVolume); + LONG WINAPI TSPI_phoneNegotiateExtVersion(DWORD dwDeviceID,DWORD dwTSPIVersion,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwExtVersion); + LONG WINAPI TSPI_phoneNegotiateTSPIVersion(DWORD dwDeviceID,DWORD dwLowVersion,DWORD dwHighVersion,LPDWORD lpdwTSPIVersion); + LONG WINAPI TSPI_phoneOpen(DWORD dwDeviceID,HTAPIPHONE htPhone,LPHDRVPHONE lphdPhone,DWORD dwTSPIVersion,PHONEEVENT lpfnEventProc); + LONG WINAPI TSPI_phoneSelectExtVersion(HDRVPHONE hdPhone,DWORD dwExtVersion); + LONG WINAPI TSPI_phoneSetButtonInfo(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwButtonLampID,LPPHONEBUTTONINFO const lpButtonInfo); + LONG WINAPI TSPI_phoneSetData(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwDataID,LPVOID const lpData,DWORD dwSize); + LONG WINAPI TSPI_phoneSetDisplay(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwRow,DWORD dwColumn,LPCWSTR lpsDisplay,DWORD dwSize); + LONG WINAPI TSPI_phoneSetGain(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDev,DWORD dwGain); + LONG WINAPI TSPI_phoneSetHookSwitch(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDevs,DWORD dwHookSwitchMode); + LONG WINAPI TSPI_phoneSetLamp(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwButtonLampID,DWORD dwLampMode); + LONG WINAPI TSPI_phoneSetRing(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwRingMode,DWORD dwVolume); + LONG WINAPI TSPI_phoneSetStatusMessages(HDRVPHONE hdPhone,DWORD dwPhoneStates,DWORD dwButtonModes,DWORD dwButtonStates); + LONG WINAPI TSPI_phoneSetVolume(DRV_REQUESTID dwRequestID,HDRVPHONE hdPhone,DWORD dwHookSwitchDev,DWORD dwVolume); + LONG WINAPI TSPI_providerConfig(HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI TSPI_providerCreateLineDevice(DWORD_PTR dwTempID,DWORD dwDeviceID); + LONG WINAPI TSPI_providerCreatePhoneDevice(DWORD_PTR dwTempID,DWORD dwDeviceID); + LONG WINAPI TSPI_providerEnumDevices(DWORD dwPermanentProviderID,LPDWORD lpdwNumLines,LPDWORD lpdwNumPhones,HPROVIDER hProvider,LINEEVENT lpfnLineCreateProc,PHONEEVENT lpfnPhoneCreateProc); + LONG WINAPI TSPI_providerFreeDialogInstance(HDRVDIALOGINSTANCE hdDlgInst); + LONG WINAPI TSPI_providerGenericDialogData(DWORD_PTR dwObjectID,DWORD dwObjectType,LPVOID lpParams,DWORD dwSize); + LONG WINAPI TSPI_providerInit(DWORD dwTSPIVersion,DWORD dwPermanentProviderID,DWORD dwLineDeviceIDBase,DWORD dwPhoneDeviceIDBase,DWORD_PTR dwNumLines,DWORD_PTR dwNumPhones,ASYNC_COMPLETION lpfnCompletionProc,LPDWORD lpdwTSPIOptions); + LONG WINAPI TSPI_providerInstall(HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI TSPI_providerRemove(HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI TSPI_providerShutdown(DWORD dwTSPIVersion,DWORD dwPermanentProviderID); + LONG WINAPI TSPI_providerUIIdentify(LPWSTR lpszUIDLLName); + LONG WINAPI TSPI_lineMSPIdentify(DWORD dwDeviceID,GUID *pCLSID); + LONG WINAPI TSPI_lineCreateMSPInstance(HDRVLINE hdLine,DWORD dwAddressID,HTAPIMSPLINE htMSPLine,LPHDRVMSPLINE lphdMSPLine); + LONG WINAPI TSPI_lineCloseMSPInstance(HDRVMSPLINE hdMSPLine); + LONG WINAPI TSPI_lineReceiveMSPData(HDRVLINE hdLine,HDRVCALL hdCall,HDRVMSPLINE hdMSPLine,LPVOID pBuffer,DWORD dwSize); + LONG WINAPI TUISPI_lineConfigDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI TUISPI_lineConfigDialogEdit(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass,LPVOID const lpDeviceConfigIn,DWORD dwSize,LPVARSTRING lpDeviceConfigOut); + LONG WINAPI TUISPI_phoneConfigDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,DWORD dwDeviceID,HWND hwndOwner,LPCWSTR lpszDeviceClass); + LONG WINAPI TUISPI_providerConfig(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI TUISPI_providerGenericDialog(TUISPIDLLCALLBACK lpfnUIDLLCallback,HTAPIDIALOGINSTANCE htDlgInst,LPVOID lpParams,DWORD dwSize,HANDLE hEvent); + LONG WINAPI TUISPI_providerGenericDialogData(HTAPIDIALOGINSTANCE htDlgInst,LPVOID lpParams,DWORD dwSize); + LONG WINAPI TUISPI_providerInstall(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID); + LONG WINAPI TUISPI_providerRemove(TUISPIDLLCALLBACK lpfnUIDLLCallback,HWND hwndOwner,DWORD dwPermanentProviderID); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tssbx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tssbx.h new file mode 100644 index 00000000..f3038935 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tssbx.h @@ -0,0 +1,106 @@ +/** + * 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_TSSBX +#define _INC_TSSBX + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum _WTSSBX_ADDRESS_FAMILY { + WTSSBX_ADDRESS_FAMILY_AF_UNSPEC = 0, + WTSSBX_ADDRESS_FAMILY_AF_INET = 1, + WTSSBX_ADDRESS_FAMILY_AF_INET6 = 2, + WTSSBX_ADDRESS_FAMILY_AF_IPX = 3, + WTSSBX_ADDRESS_FAMILY_AF_NETBIOS = 4 +} WTSSBX_ADDRESS_FAMILY; + +typedef enum _WTSSBX_MACHINE_DRAIN { + WTSSBX_MACHINE_DRAIN_UNSPEC = 0, + WTSSBX_MACHINE_DRAIN_OFF = 1, + WTSSBX_MACHINE_DRAIN_ON = 2 +} WTSSBX_MACHINE_DRAIN; + +typedef enum _WTSSBX_NOTIFICATION_TYPE { + WTSSBX_MACHINE_SESSION_MODE_UNSPEC = 0, + WTSSBX_MACHINE_SESSION_MODE_SINGLE = 1, + WTSSBX_MACHINE_SESSION_MODE_MULTIPLE = 2 +} WTSSBX_NOTIFICATION_TYPE; + +typedef enum _WTSSBX_MACHINE_STATE { + WTSSBX_MACHINE_STATE_UNSPEC = 0, + WTSSBX_MACHINE_STATE_READY = 1, + WTSSBX_MACHINE_STATE_SYNCHRONIZING = 2 +} WTSSBX_MACHINE_STATE; + +typedef enum _WTSSBX_NOTIFICATION_TYPE { + WTSSBX_NOTIFICATION_REMOVED = 1, + WTSSBX_NOTIFICATION_CHANGED = 2, + WTSSBX_NOTIFICATION_ADDED = 4, + WTSSBX_NOTIFICATION_RESYNC = 8 +} WTSSBX_NOTIFICATION_TYPE; + +typedef enum _WTSSBX_SESSION_STATE { + WTSSBX_SESSION_STATE_UNSPEC = 0, + WTSSBX_SESSION_STATE_ACTIVE = 1, + WTSSBX_SESSION_STATE_DISCONNECTED = 2 +} WTSSBX_SESSION_STATE; + +typedef struct _WTSSBX_IP_ADDRESS { + WTSSBX_ADDRESS_FAMILY AddressFamily; + BYTE Address[16]; + unsigned short PortNumber; + DWORD dwScope; +} WTSSBX_IP_ADDRESS; + +#define MaxFQDN_Len 256 +#define MaxNetBiosName_Len 16 + +typedef struct _WTSSBX_MACHINE_CONNECT_INFO { + WCHAR wczMachineFQDN[MaxFQDN_Len + 1]; + WCHAR wczMachineNetBiosName[MaxNetBiosName_Len + 1]; + DWORD dwNumOfIPAddr; + WTSSBX_IP_ADDRESS IPaddr[MaxNumOfExposed_IPs]; +} WTSSBX_MACHINE_CONNECT_INFO; + +#define MaxFarm_Len 256 + +typedef struct _WTSSBX_MACHINE_INFO { + WTSSBX_MACHINE_CONNECT_INFO ClientConnectInfo; + WCHAR wczFarmName[MaxFarm_Len + 1]; + WTSSBX_IP_ADDRESS InternalIPAddress; + DWORD dwMaxSessionsLimit; + DWORD ServerWeight; + WTSSBX_MACHINE_SESSION_MODE SingleSessionMode; + WTSSBX_MACHINE_DRAIN InDrain; + WTSSBX_MACHINE_STATE MachineState; +} WTSSBX_MACHINE_INFO; + +#define MaxUserName_Len 104 +#define MaxDomainName_Len 256 +#define MaxAppName_Len 256 + +typedef struct _WTSSBX_SESSION_INFO { + WCHAR wszUserName[MaxUserName_Len + 1]; + WCHAR wszDomainName[MaxDomainName_Len + 1]; + WCHAR ApplicationType[MaxAppName_Len + 1]; + DWORD dwSessionId; + FILETIME CreateTime; + FILETIME DisconnectTime; + WTSSBX_SESSION_STATE SessionState; +} WTSSBX_SESSION_INFO; + +/* IID_IWTSSBPlugin is defined as DC44BE78-B18D-4399-B210-641BF67A002C */ + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#endif /*_INC_TSSBX*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex.h new file mode 100644 index 00000000..a85cef7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex.h @@ -0,0 +1,261 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef __tsuserex_h__ +#define __tsuserex_h__ + +#ifndef __TSUserExInterfaces_FWD_DEFINED__ +#define __TSUserExInterfaces_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TSUserExInterfaces TSUserExInterfaces; +#else +typedef struct TSUserExInterfaces TSUserExInterfaces; +#endif +#endif + +#ifndef __IADsTSUserEx_FWD_DEFINED__ +#define __IADsTSUserEx_FWD_DEFINED__ +typedef struct IADsTSUserEx IADsTSUserEx; +#endif + +#ifndef __ADsTSUserEx_FWD_DEFINED__ +#define __ADsTSUserEx_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class ADsTSUserEx ADsTSUserEx; +#else +typedef struct ADsTSUserEx ADsTSUserEx; +#endif +#endif + +#include "oaidl.h" +#include "ocidl.h" +#include "mmc.h" + +#ifdef __cplusplus +extern "C"{ +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#ifndef __TSUSEREXLib_LIBRARY_DEFINED__ +#define __TSUSEREXLib_LIBRARY_DEFINED__ + + EXTERN_C const IID LIBID_TSUSEREXLib; + EXTERN_C const CLSID CLSID_TSUserExInterfaces; + +#ifdef __cplusplus + class TSUserExInterfaces; +#endif + +#ifndef __IADsTSUserEx_INTERFACE_DEFINED__ +#define __IADsTSUserEx_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IADsTSUserEx; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IADsTSUserEx : public IDispatch { + public: + virtual HRESULT WINAPI get_TerminalServicesProfilePath(BSTR *pVal) = 0; + virtual HRESULT WINAPI put_TerminalServicesProfilePath(BSTR pNewVal) = 0; + virtual HRESULT WINAPI get_TerminalServicesHomeDirectory(BSTR *pVal) = 0; + virtual HRESULT WINAPI put_TerminalServicesHomeDirectory(BSTR pNewVal) = 0; + virtual HRESULT WINAPI get_TerminalServicesHomeDrive(BSTR *pVal) = 0; + virtual HRESULT WINAPI put_TerminalServicesHomeDrive(BSTR pNewVal) = 0; + virtual HRESULT WINAPI get_AllowLogon(LONG *pVal) = 0; + virtual HRESULT WINAPI put_AllowLogon(LONG NewVal) = 0; + virtual HRESULT WINAPI get_EnableRemoteControl(LONG *pVal) = 0; + virtual HRESULT WINAPI put_EnableRemoteControl(LONG NewVal) = 0; + virtual HRESULT WINAPI get_MaxDisconnectionTime(LONG *pVal) = 0; + virtual HRESULT WINAPI put_MaxDisconnectionTime(LONG NewVal) = 0; + virtual HRESULT WINAPI get_MaxConnectionTime(LONG *pVal) = 0; + virtual HRESULT WINAPI put_MaxConnectionTime(LONG NewVal) = 0; + virtual HRESULT WINAPI get_MaxIdleTime(LONG *pVal) = 0; + virtual HRESULT WINAPI put_MaxIdleTime(LONG NewVal) = 0; + virtual HRESULT WINAPI get_ReconnectionAction(LONG *pNewVal) = 0; + virtual HRESULT WINAPI put_ReconnectionAction(LONG NewVal) = 0; + virtual HRESULT WINAPI get_BrokenConnectionAction(LONG *pNewVal) = 0; + virtual HRESULT WINAPI put_BrokenConnectionAction(LONG NewVal) = 0; + virtual HRESULT WINAPI get_ConnectClientDrivesAtLogon(LONG *pNewVal) = 0; + virtual HRESULT WINAPI put_ConnectClientDrivesAtLogon(LONG NewVal) = 0; + virtual HRESULT WINAPI get_ConnectClientPrintersAtLogon(LONG *pVal) = 0; + virtual HRESULT WINAPI put_ConnectClientPrintersAtLogon(LONG NewVal) = 0; + virtual HRESULT WINAPI get_DefaultToMainPrinter(LONG *pVal) = 0; + virtual HRESULT WINAPI put_DefaultToMainPrinter(LONG NewVal) = 0; + virtual HRESULT WINAPI get_TerminalServicesWorkDirectory(BSTR *pVal) = 0; + virtual HRESULT WINAPI put_TerminalServicesWorkDirectory(BSTR pNewVal) = 0; + virtual HRESULT WINAPI get_TerminalServicesInitialProgram(BSTR *pVal) = 0; + virtual HRESULT WINAPI put_TerminalServicesInitialProgram(BSTR pNewVal) = 0; + }; +#else + typedef struct IADsTSUserExVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IADsTSUserEx *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IADsTSUserEx *This); + ULONG (WINAPI *Release)(IADsTSUserEx *This); + HRESULT (WINAPI *GetTypeInfoCount)(IADsTSUserEx *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(IADsTSUserEx *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(IADsTSUserEx *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(IADsTSUserEx *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_TerminalServicesProfilePath)(IADsTSUserEx *This,BSTR *pVal); + HRESULT (WINAPI *put_TerminalServicesProfilePath)(IADsTSUserEx *This,BSTR pNewVal); + HRESULT (WINAPI *get_TerminalServicesHomeDirectory)(IADsTSUserEx *This,BSTR *pVal); + HRESULT (WINAPI *put_TerminalServicesHomeDirectory)(IADsTSUserEx *This,BSTR pNewVal); + HRESULT (WINAPI *get_TerminalServicesHomeDrive)(IADsTSUserEx *This,BSTR *pVal); + HRESULT (WINAPI *put_TerminalServicesHomeDrive)(IADsTSUserEx *This,BSTR pNewVal); + HRESULT (WINAPI *get_AllowLogon)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_AllowLogon)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_EnableRemoteControl)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_EnableRemoteControl)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_MaxDisconnectionTime)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_MaxDisconnectionTime)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_MaxConnectionTime)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_MaxConnectionTime)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_MaxIdleTime)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_MaxIdleTime)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_ReconnectionAction)(IADsTSUserEx *This,LONG *pNewVal); + HRESULT (WINAPI *put_ReconnectionAction)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_BrokenConnectionAction)(IADsTSUserEx *This,LONG *pNewVal); + HRESULT (WINAPI *put_BrokenConnectionAction)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_ConnectClientDrivesAtLogon)(IADsTSUserEx *This,LONG *pNewVal); + HRESULT (WINAPI *put_ConnectClientDrivesAtLogon)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_ConnectClientPrintersAtLogon)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_ConnectClientPrintersAtLogon)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_DefaultToMainPrinter)(IADsTSUserEx *This,LONG *pVal); + HRESULT (WINAPI *put_DefaultToMainPrinter)(IADsTSUserEx *This,LONG NewVal); + HRESULT (WINAPI *get_TerminalServicesWorkDirectory)(IADsTSUserEx *This,BSTR *pVal); + HRESULT (WINAPI *put_TerminalServicesWorkDirectory)(IADsTSUserEx *This,BSTR pNewVal); + HRESULT (WINAPI *get_TerminalServicesInitialProgram)(IADsTSUserEx *This,BSTR *pVal); + HRESULT (WINAPI *put_TerminalServicesInitialProgram)(IADsTSUserEx *This,BSTR pNewVal); + END_INTERFACE + } IADsTSUserExVtbl; + struct IADsTSUserEx { + CONST_VTBL struct IADsTSUserExVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IADsTSUserEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IADsTSUserEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IADsTSUserEx_Release(This) (This)->lpVtbl->Release(This) +#define IADsTSUserEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IADsTSUserEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IADsTSUserEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IADsTSUserEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define IADsTSUserEx_get_TerminalServicesProfilePath(This,pVal) (This)->lpVtbl->get_TerminalServicesProfilePath(This,pVal) +#define IADsTSUserEx_put_TerminalServicesProfilePath(This,pNewVal) (This)->lpVtbl->put_TerminalServicesProfilePath(This,pNewVal) +#define IADsTSUserEx_get_TerminalServicesHomeDirectory(This,pVal) (This)->lpVtbl->get_TerminalServicesHomeDirectory(This,pVal) +#define IADsTSUserEx_put_TerminalServicesHomeDirectory(This,pNewVal) (This)->lpVtbl->put_TerminalServicesHomeDirectory(This,pNewVal) +#define IADsTSUserEx_get_TerminalServicesHomeDrive(This,pVal) (This)->lpVtbl->get_TerminalServicesHomeDrive(This,pVal) +#define IADsTSUserEx_put_TerminalServicesHomeDrive(This,pNewVal) (This)->lpVtbl->put_TerminalServicesHomeDrive(This,pNewVal) +#define IADsTSUserEx_get_AllowLogon(This,pVal) (This)->lpVtbl->get_AllowLogon(This,pVal) +#define IADsTSUserEx_put_AllowLogon(This,NewVal) (This)->lpVtbl->put_AllowLogon(This,NewVal) +#define IADsTSUserEx_get_EnableRemoteControl(This,pVal) (This)->lpVtbl->get_EnableRemoteControl(This,pVal) +#define IADsTSUserEx_put_EnableRemoteControl(This,NewVal) (This)->lpVtbl->put_EnableRemoteControl(This,NewVal) +#define IADsTSUserEx_get_MaxDisconnectionTime(This,pVal) (This)->lpVtbl->get_MaxDisconnectionTime(This,pVal) +#define IADsTSUserEx_put_MaxDisconnectionTime(This,NewVal) (This)->lpVtbl->put_MaxDisconnectionTime(This,NewVal) +#define IADsTSUserEx_get_MaxConnectionTime(This,pVal) (This)->lpVtbl->get_MaxConnectionTime(This,pVal) +#define IADsTSUserEx_put_MaxConnectionTime(This,NewVal) (This)->lpVtbl->put_MaxConnectionTime(This,NewVal) +#define IADsTSUserEx_get_MaxIdleTime(This,pVal) (This)->lpVtbl->get_MaxIdleTime(This,pVal) +#define IADsTSUserEx_put_MaxIdleTime(This,NewVal) (This)->lpVtbl->put_MaxIdleTime(This,NewVal) +#define IADsTSUserEx_get_ReconnectionAction(This,pNewVal) (This)->lpVtbl->get_ReconnectionAction(This,pNewVal) +#define IADsTSUserEx_put_ReconnectionAction(This,NewVal) (This)->lpVtbl->put_ReconnectionAction(This,NewVal) +#define IADsTSUserEx_get_BrokenConnectionAction(This,pNewVal) (This)->lpVtbl->get_BrokenConnectionAction(This,pNewVal) +#define IADsTSUserEx_put_BrokenConnectionAction(This,NewVal) (This)->lpVtbl->put_BrokenConnectionAction(This,NewVal) +#define IADsTSUserEx_get_ConnectClientDrivesAtLogon(This,pNewVal) (This)->lpVtbl->get_ConnectClientDrivesAtLogon(This,pNewVal) +#define IADsTSUserEx_put_ConnectClientDrivesAtLogon(This,NewVal) (This)->lpVtbl->put_ConnectClientDrivesAtLogon(This,NewVal) +#define IADsTSUserEx_get_ConnectClientPrintersAtLogon(This,pVal) (This)->lpVtbl->get_ConnectClientPrintersAtLogon(This,pVal) +#define IADsTSUserEx_put_ConnectClientPrintersAtLogon(This,NewVal) (This)->lpVtbl->put_ConnectClientPrintersAtLogon(This,NewVal) +#define IADsTSUserEx_get_DefaultToMainPrinter(This,pVal) (This)->lpVtbl->get_DefaultToMainPrinter(This,pVal) +#define IADsTSUserEx_put_DefaultToMainPrinter(This,NewVal) (This)->lpVtbl->put_DefaultToMainPrinter(This,NewVal) +#define IADsTSUserEx_get_TerminalServicesWorkDirectory(This,pVal) (This)->lpVtbl->get_TerminalServicesWorkDirectory(This,pVal) +#define IADsTSUserEx_put_TerminalServicesWorkDirectory(This,pNewVal) (This)->lpVtbl->put_TerminalServicesWorkDirectory(This,pNewVal) +#define IADsTSUserEx_get_TerminalServicesInitialProgram(This,pVal) (This)->lpVtbl->get_TerminalServicesInitialProgram(This,pVal) +#define IADsTSUserEx_put_TerminalServicesInitialProgram(This,pNewVal) (This)->lpVtbl->put_TerminalServicesInitialProgram(This,pNewVal) +#endif +#endif + HRESULT WINAPI IADsTSUserEx_get_TerminalServicesProfilePath_Proxy(IADsTSUserEx *This,BSTR *pVal); + void __RPC_STUB IADsTSUserEx_get_TerminalServicesProfilePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_TerminalServicesProfilePath_Proxy(IADsTSUserEx *This,BSTR pNewVal); + void __RPC_STUB IADsTSUserEx_put_TerminalServicesProfilePath_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_TerminalServicesHomeDirectory_Proxy(IADsTSUserEx *This,BSTR *pVal); + void __RPC_STUB IADsTSUserEx_get_TerminalServicesHomeDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_TerminalServicesHomeDirectory_Proxy(IADsTSUserEx *This,BSTR pNewVal); + void __RPC_STUB IADsTSUserEx_put_TerminalServicesHomeDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_TerminalServicesHomeDrive_Proxy(IADsTSUserEx *This,BSTR *pVal); + void __RPC_STUB IADsTSUserEx_get_TerminalServicesHomeDrive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_TerminalServicesHomeDrive_Proxy(IADsTSUserEx *This,BSTR pNewVal); + void __RPC_STUB IADsTSUserEx_put_TerminalServicesHomeDrive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_AllowLogon_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_AllowLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_AllowLogon_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_AllowLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_EnableRemoteControl_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_EnableRemoteControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_EnableRemoteControl_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_EnableRemoteControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_MaxDisconnectionTime_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_MaxDisconnectionTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_MaxDisconnectionTime_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_MaxDisconnectionTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_MaxConnectionTime_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_MaxConnectionTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_MaxConnectionTime_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_MaxConnectionTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_MaxIdleTime_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_MaxIdleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_MaxIdleTime_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_MaxIdleTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_ReconnectionAction_Proxy(IADsTSUserEx *This,LONG *pNewVal); + void __RPC_STUB IADsTSUserEx_get_ReconnectionAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_ReconnectionAction_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_ReconnectionAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_BrokenConnectionAction_Proxy(IADsTSUserEx *This,LONG *pNewVal); + void __RPC_STUB IADsTSUserEx_get_BrokenConnectionAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_BrokenConnectionAction_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_BrokenConnectionAction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_ConnectClientDrivesAtLogon_Proxy(IADsTSUserEx *This,LONG *pNewVal); + void __RPC_STUB IADsTSUserEx_get_ConnectClientDrivesAtLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_ConnectClientDrivesAtLogon_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_ConnectClientDrivesAtLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_ConnectClientPrintersAtLogon_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_ConnectClientPrintersAtLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_ConnectClientPrintersAtLogon_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_ConnectClientPrintersAtLogon_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_DefaultToMainPrinter_Proxy(IADsTSUserEx *This,LONG *pVal); + void __RPC_STUB IADsTSUserEx_get_DefaultToMainPrinter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_DefaultToMainPrinter_Proxy(IADsTSUserEx *This,LONG NewVal); + void __RPC_STUB IADsTSUserEx_put_DefaultToMainPrinter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_TerminalServicesWorkDirectory_Proxy(IADsTSUserEx *This,BSTR *pVal); + void __RPC_STUB IADsTSUserEx_get_TerminalServicesWorkDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_TerminalServicesWorkDirectory_Proxy(IADsTSUserEx *This,BSTR pNewVal); + void __RPC_STUB IADsTSUserEx_put_TerminalServicesWorkDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_get_TerminalServicesInitialProgram_Proxy(IADsTSUserEx *This,BSTR *pVal); + void __RPC_STUB IADsTSUserEx_get_TerminalServicesInitialProgram_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IADsTSUserEx_put_TerminalServicesInitialProgram_Proxy(IADsTSUserEx *This,BSTR pNewVal); + void __RPC_STUB IADsTSUserEx_put_TerminalServicesInitialProgram_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + EXTERN_C const CLSID CLSID_ADsTSUserEx; +#ifdef __cplusplus + class ADsTSUserEx; +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex_i.c b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex_i.c new file mode 100644 index 00000000..735d6b7d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsuserex_i.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. + */ +#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/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsvirtualchannels.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsvirtualchannels.h new file mode 100644 index 00000000..7d8339b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tsvirtualchannels.h @@ -0,0 +1,1060 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/tsvirtualchannels.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 __tsvirtualchannels_h__ +#define __tsvirtualchannels_h__ + +/* Forward declarations */ + +#ifndef __IWTSPlugin_FWD_DEFINED__ +#define __IWTSPlugin_FWD_DEFINED__ +typedef interface IWTSPlugin IWTSPlugin; +#ifdef __cplusplus +interface IWTSPlugin; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSListener_FWD_DEFINED__ +#define __IWTSListener_FWD_DEFINED__ +typedef interface IWTSListener IWTSListener; +#ifdef __cplusplus +interface IWTSListener; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSListenerCallback_FWD_DEFINED__ +#define __IWTSListenerCallback_FWD_DEFINED__ +typedef interface IWTSListenerCallback IWTSListenerCallback; +#ifdef __cplusplus +interface IWTSListenerCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__ +#define __IWTSVirtualChannelCallback_FWD_DEFINED__ +typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback; +#ifdef __cplusplus +interface IWTSVirtualChannelCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannelManager_FWD_DEFINED__ +#define __IWTSVirtualChannelManager_FWD_DEFINED__ +typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager; +#ifdef __cplusplus +interface IWTSVirtualChannelManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannel_FWD_DEFINED__ +#define __IWTSVirtualChannel_FWD_DEFINED__ +typedef interface IWTSVirtualChannel IWTSVirtualChannel; +#ifdef __cplusplus +interface IWTSVirtualChannel; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSPluginServiceProvider_FWD_DEFINED__ +#define __IWTSPluginServiceProvider_FWD_DEFINED__ +typedef interface IWTSPluginServiceProvider IWTSPluginServiceProvider; +#ifdef __cplusplus +interface IWTSPluginServiceProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSBitmapRenderer_FWD_DEFINED__ +#define __IWTSBitmapRenderer_FWD_DEFINED__ +typedef interface IWTSBitmapRenderer IWTSBitmapRenderer; +#ifdef __cplusplus +interface IWTSBitmapRenderer; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSBitmapRendererCallback_FWD_DEFINED__ +#define __IWTSBitmapRendererCallback_FWD_DEFINED__ +typedef interface IWTSBitmapRendererCallback IWTSBitmapRendererCallback; +#ifdef __cplusplus +interface IWTSBitmapRendererCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSBitmapRenderService_FWD_DEFINED__ +#define __IWTSBitmapRenderService_FWD_DEFINED__ +typedef interface IWTSBitmapRenderService IWTSBitmapRenderService; +#ifdef __cplusplus +interface IWTSBitmapRenderService; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __IWTSPlugin_FWD_DEFINED__ +#define __IWTSPlugin_FWD_DEFINED__ +typedef interface IWTSPlugin IWTSPlugin; +#ifdef __cplusplus +interface IWTSPlugin; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSListener_FWD_DEFINED__ +#define __IWTSListener_FWD_DEFINED__ +typedef interface IWTSListener IWTSListener; +#ifdef __cplusplus +interface IWTSListener; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSListenerCallback_FWD_DEFINED__ +#define __IWTSListenerCallback_FWD_DEFINED__ +typedef interface IWTSListenerCallback IWTSListenerCallback; +#ifdef __cplusplus +interface IWTSListenerCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannelCallback_FWD_DEFINED__ +#define __IWTSVirtualChannelCallback_FWD_DEFINED__ +typedef interface IWTSVirtualChannelCallback IWTSVirtualChannelCallback; +#ifdef __cplusplus +interface IWTSVirtualChannelCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannelManager_FWD_DEFINED__ +#define __IWTSVirtualChannelManager_FWD_DEFINED__ +typedef interface IWTSVirtualChannelManager IWTSVirtualChannelManager; +#ifdef __cplusplus +interface IWTSVirtualChannelManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWTSVirtualChannel_FWD_DEFINED__ +#define __IWTSVirtualChannel_FWD_DEFINED__ +typedef interface IWTSVirtualChannel IWTSVirtualChannel; +#ifdef __cplusplus +interface IWTSVirtualChannel; +#endif /* __cplusplus */ +#endif + +#define WTS_PROPERTY_DEFAULT_CONFIG L"DefaultConfig" +#define E_MAPPEDRENDERER_SHUTDOWN HRESULT_FROM_WIN32(ERROR_INVALID_STATE) +#define E_DUPLICATE_WINDOW_HINT HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS) +/***************************************************************************** + * IWTSPlugin interface + */ +#ifndef __IWTSPlugin_INTERFACE_DEFINED__ +#define __IWTSPlugin_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230201-1439-4e62-a414-190d0ac3d40e") +IWTSPlugin : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWTSVirtualChannelManager *pChannelMgr) = 0; + + virtual HRESULT STDMETHODCALLTYPE Connected( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Disconnected( + DWORD dwDisconnectCode) = 0; + + virtual HRESULT STDMETHODCALLTYPE Terminated( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSPlugin, 0xa1230201, 0x1439, 0x4e62, 0xa4,0x14, 0x19,0x0d,0x0a,0xc3,0xd4,0x0e) +#endif +#else +typedef struct IWTSPluginVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSPlugin *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSPlugin *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSPlugin *This); + + /*** IWTSPlugin methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWTSPlugin *This, + IWTSVirtualChannelManager *pChannelMgr); + + HRESULT (STDMETHODCALLTYPE *Connected)( + IWTSPlugin *This); + + HRESULT (STDMETHODCALLTYPE *Disconnected)( + IWTSPlugin *This, + DWORD dwDisconnectCode); + + HRESULT (STDMETHODCALLTYPE *Terminated)( + IWTSPlugin *This); + + END_INTERFACE +} IWTSPluginVtbl; + +interface IWTSPlugin { + CONST_VTBL IWTSPluginVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSPlugin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSPlugin_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSPlugin_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSPlugin methods ***/ +#define IWTSPlugin_Initialize(This,pChannelMgr) (This)->lpVtbl->Initialize(This,pChannelMgr) +#define IWTSPlugin_Connected(This) (This)->lpVtbl->Connected(This) +#define IWTSPlugin_Disconnected(This,dwDisconnectCode) (This)->lpVtbl->Disconnected(This,dwDisconnectCode) +#define IWTSPlugin_Terminated(This) (This)->lpVtbl->Terminated(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSPlugin_QueryInterface(IWTSPlugin* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSPlugin_AddRef(IWTSPlugin* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSPlugin_Release(IWTSPlugin* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSPlugin methods ***/ +static inline HRESULT IWTSPlugin_Initialize(IWTSPlugin* This,IWTSVirtualChannelManager *pChannelMgr) { + return This->lpVtbl->Initialize(This,pChannelMgr); +} +static inline HRESULT IWTSPlugin_Connected(IWTSPlugin* This) { + return This->lpVtbl->Connected(This); +} +static inline HRESULT IWTSPlugin_Disconnected(IWTSPlugin* This,DWORD dwDisconnectCode) { + return This->lpVtbl->Disconnected(This,dwDisconnectCode); +} +static inline HRESULT IWTSPlugin_Terminated(IWTSPlugin* This) { + return This->lpVtbl->Terminated(This); +} +#endif +#endif + +#endif + + +#endif /* __IWTSPlugin_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSListener interface + */ +#ifndef __IWTSListener_INTERFACE_DEFINED__ +#define __IWTSListener_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230206-9a39-4d58-8674-cdb4dff4e73b") +IWTSListener : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetConfiguration( + IPropertyBag **ppPropertyBag) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSListener, 0xa1230206, 0x9a39, 0x4d58, 0x86,0x74, 0xcd,0xb4,0xdf,0xf4,0xe7,0x3b) +#endif +#else +typedef struct IWTSListenerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSListener *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSListener *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSListener *This); + + /*** IWTSListener methods ***/ + HRESULT (STDMETHODCALLTYPE *GetConfiguration)( + IWTSListener *This, + IPropertyBag **ppPropertyBag); + + END_INTERFACE +} IWTSListenerVtbl; + +interface IWTSListener { + CONST_VTBL IWTSListenerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSListener_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSListener_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSListener_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSListener methods ***/ +#define IWTSListener_GetConfiguration(This,ppPropertyBag) (This)->lpVtbl->GetConfiguration(This,ppPropertyBag) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSListener_QueryInterface(IWTSListener* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSListener_AddRef(IWTSListener* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSListener_Release(IWTSListener* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSListener methods ***/ +static inline HRESULT IWTSListener_GetConfiguration(IWTSListener* This,IPropertyBag **ppPropertyBag) { + return This->lpVtbl->GetConfiguration(This,ppPropertyBag); +} +#endif +#endif + +#endif + + +#endif /* __IWTSListener_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSListenerCallback interface + */ +#ifndef __IWTSListenerCallback_INTERFACE_DEFINED__ +#define __IWTSListenerCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230203-d6a7-11d8-b9fd-000bdbd1f198") +IWTSListenerCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnNewChannelConnection( + IWTSVirtualChannel *pChannel, + BSTR data, + WINBOOL *pbAccept, + IWTSVirtualChannelCallback **ppCallback) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSListenerCallback, 0xa1230203, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98) +#endif +#else +typedef struct IWTSListenerCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSListenerCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSListenerCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSListenerCallback *This); + + /*** IWTSListenerCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnNewChannelConnection)( + IWTSListenerCallback *This, + IWTSVirtualChannel *pChannel, + BSTR data, + WINBOOL *pbAccept, + IWTSVirtualChannelCallback **ppCallback); + + END_INTERFACE +} IWTSListenerCallbackVtbl; + +interface IWTSListenerCallback { + CONST_VTBL IWTSListenerCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSListenerCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSListenerCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSListenerCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSListenerCallback methods ***/ +#define IWTSListenerCallback_OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback) (This)->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSListenerCallback_QueryInterface(IWTSListenerCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSListenerCallback_AddRef(IWTSListenerCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSListenerCallback_Release(IWTSListenerCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSListenerCallback methods ***/ +static inline HRESULT IWTSListenerCallback_OnNewChannelConnection(IWTSListenerCallback* This,IWTSVirtualChannel *pChannel,BSTR data,WINBOOL *pbAccept,IWTSVirtualChannelCallback **ppCallback) { + return This->lpVtbl->OnNewChannelConnection(This,pChannel,data,pbAccept,ppCallback); +} +#endif +#endif + +#endif + + +#endif /* __IWTSListenerCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSVirtualChannelCallback interface + */ +#ifndef __IWTSVirtualChannelCallback_INTERFACE_DEFINED__ +#define __IWTSVirtualChannelCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230204-d6a7-11d8-b9fd-000bdbd1f198") +IWTSVirtualChannelCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnDataReceived( + ULONG cbSize, + BYTE *pBuffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnClose( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSVirtualChannelCallback, 0xa1230204, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98) +#endif +#else +typedef struct IWTSVirtualChannelCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSVirtualChannelCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSVirtualChannelCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSVirtualChannelCallback *This); + + /*** IWTSVirtualChannelCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnDataReceived)( + IWTSVirtualChannelCallback *This, + ULONG cbSize, + BYTE *pBuffer); + + HRESULT (STDMETHODCALLTYPE *OnClose)( + IWTSVirtualChannelCallback *This); + + END_INTERFACE +} IWTSVirtualChannelCallbackVtbl; + +interface IWTSVirtualChannelCallback { + CONST_VTBL IWTSVirtualChannelCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSVirtualChannelCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSVirtualChannelCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSVirtualChannelCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSVirtualChannelCallback methods ***/ +#define IWTSVirtualChannelCallback_OnDataReceived(This,cbSize,pBuffer) (This)->lpVtbl->OnDataReceived(This,cbSize,pBuffer) +#define IWTSVirtualChannelCallback_OnClose(This) (This)->lpVtbl->OnClose(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSVirtualChannelCallback_QueryInterface(IWTSVirtualChannelCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSVirtualChannelCallback_AddRef(IWTSVirtualChannelCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSVirtualChannelCallback_Release(IWTSVirtualChannelCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSVirtualChannelCallback methods ***/ +static inline HRESULT IWTSVirtualChannelCallback_OnDataReceived(IWTSVirtualChannelCallback* This,ULONG cbSize,BYTE *pBuffer) { + return This->lpVtbl->OnDataReceived(This,cbSize,pBuffer); +} +static inline HRESULT IWTSVirtualChannelCallback_OnClose(IWTSVirtualChannelCallback* This) { + return This->lpVtbl->OnClose(This); +} +#endif +#endif + +#endif + + +#endif /* __IWTSVirtualChannelCallback_INTERFACE_DEFINED__ */ + +#define TS_VC_LISTENER_STATIC_CHANNEL 0x00000001 +/***************************************************************************** + * IWTSVirtualChannelManager interface + */ +#ifndef __IWTSVirtualChannelManager_INTERFACE_DEFINED__ +#define __IWTSVirtualChannelManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230205-d6a7-11d8-b9fd-000bdbd1f198") +IWTSVirtualChannelManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateListener( + const char *pszChannelName, + ULONG uFlags, + IWTSListenerCallback *pListenerCallback, + IWTSListener **ppListener) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSVirtualChannelManager, 0xa1230205, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98) +#endif +#else +typedef struct IWTSVirtualChannelManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSVirtualChannelManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSVirtualChannelManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSVirtualChannelManager *This); + + /*** IWTSVirtualChannelManager methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateListener)( + IWTSVirtualChannelManager *This, + const char *pszChannelName, + ULONG uFlags, + IWTSListenerCallback *pListenerCallback, + IWTSListener **ppListener); + + END_INTERFACE +} IWTSVirtualChannelManagerVtbl; + +interface IWTSVirtualChannelManager { + CONST_VTBL IWTSVirtualChannelManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSVirtualChannelManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSVirtualChannelManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSVirtualChannelManager_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSVirtualChannelManager methods ***/ +#define IWTSVirtualChannelManager_CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener) (This)->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSVirtualChannelManager_QueryInterface(IWTSVirtualChannelManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSVirtualChannelManager_AddRef(IWTSVirtualChannelManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSVirtualChannelManager_Release(IWTSVirtualChannelManager* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSVirtualChannelManager methods ***/ +static inline HRESULT IWTSVirtualChannelManager_CreateListener(IWTSVirtualChannelManager* This,const char *pszChannelName,ULONG uFlags,IWTSListenerCallback *pListenerCallback,IWTSListener **ppListener) { + return This->lpVtbl->CreateListener(This,pszChannelName,uFlags,pListenerCallback,ppListener); +} +#endif +#endif + +#endif + + +#endif /* __IWTSVirtualChannelManager_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSVirtualChannel interface + */ +#ifndef __IWTSVirtualChannel_INTERFACE_DEFINED__ +#define __IWTSVirtualChannel_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a1230207-d6a7-11d8-b9fd-000bdbd1f198") +IWTSVirtualChannel : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Write( + ULONG cbSize, + BYTE *pBuffer, + IUnknown *pReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSVirtualChannel, 0xa1230207, 0xd6a7, 0x11d8, 0xb9,0xfd, 0x00,0x0b,0xdb,0xd1,0xf1,0x98) +#endif +#else +typedef struct IWTSVirtualChannelVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSVirtualChannel *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSVirtualChannel *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSVirtualChannel *This); + + /*** IWTSVirtualChannel methods ***/ + HRESULT (STDMETHODCALLTYPE *Write)( + IWTSVirtualChannel *This, + ULONG cbSize, + BYTE *pBuffer, + IUnknown *pReserved); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWTSVirtualChannel *This); + + END_INTERFACE +} IWTSVirtualChannelVtbl; + +interface IWTSVirtualChannel { + CONST_VTBL IWTSVirtualChannelVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSVirtualChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSVirtualChannel_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSVirtualChannel_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSVirtualChannel methods ***/ +#define IWTSVirtualChannel_Write(This,cbSize,pBuffer,pReserved) (This)->lpVtbl->Write(This,cbSize,pBuffer,pReserved) +#define IWTSVirtualChannel_Close(This) (This)->lpVtbl->Close(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSVirtualChannel_QueryInterface(IWTSVirtualChannel* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSVirtualChannel_AddRef(IWTSVirtualChannel* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSVirtualChannel_Release(IWTSVirtualChannel* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSVirtualChannel methods ***/ +static inline HRESULT IWTSVirtualChannel_Write(IWTSVirtualChannel* This,ULONG cbSize,BYTE *pBuffer,IUnknown *pReserved) { + return This->lpVtbl->Write(This,cbSize,pBuffer,pReserved); +} +static inline HRESULT IWTSVirtualChannel_Close(IWTSVirtualChannel* This) { + return This->lpVtbl->Close(This); +} +#endif +#endif + +#endif + + +#endif /* __IWTSVirtualChannel_INTERFACE_DEFINED__ */ + +EXTERN_GUID( RDCLIENT_BITMAP_RENDER_SERVICE, 0xe4cc08cb, 0x942e, 0x4b19, 0x85, 0x4, 0xbd, 0x5a, 0x89, 0xa7, 0x47, 0xf5); +/***************************************************************************** + * IWTSPluginServiceProvider interface + */ +#ifndef __IWTSPluginServiceProvider_INTERFACE_DEFINED__ +#define __IWTSPluginServiceProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d3e07363-087c-476c-86a7-dbb15f46ddb4") +IWTSPluginServiceProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetService( + GUID ServiceId, + IUnknown **ppunkObject) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSPluginServiceProvider, 0xd3e07363, 0x087c, 0x476c, 0x86,0xa7, 0xdb,0xb1,0x5f,0x46,0xdd,0xb4) +#endif +#else +typedef struct IWTSPluginServiceProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSPluginServiceProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSPluginServiceProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSPluginServiceProvider *This); + + /*** IWTSPluginServiceProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetService)( + IWTSPluginServiceProvider *This, + GUID ServiceId, + IUnknown **ppunkObject); + + END_INTERFACE +} IWTSPluginServiceProviderVtbl; + +interface IWTSPluginServiceProvider { + CONST_VTBL IWTSPluginServiceProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSPluginServiceProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSPluginServiceProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSPluginServiceProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSPluginServiceProvider methods ***/ +#define IWTSPluginServiceProvider_GetService(This,ServiceId,ppunkObject) (This)->lpVtbl->GetService(This,ServiceId,ppunkObject) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSPluginServiceProvider_QueryInterface(IWTSPluginServiceProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSPluginServiceProvider_AddRef(IWTSPluginServiceProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSPluginServiceProvider_Release(IWTSPluginServiceProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSPluginServiceProvider methods ***/ +static inline HRESULT IWTSPluginServiceProvider_GetService(IWTSPluginServiceProvider* This,GUID ServiceId,IUnknown **ppunkObject) { + return This->lpVtbl->GetService(This,ServiceId,ppunkObject); +} +#endif +#endif + +#endif + + +#endif /* __IWTSPluginServiceProvider_INTERFACE_DEFINED__ */ + +typedef struct __BITMAP_RENDERER_STATISTICS { + DWORD dwFramesDelivered; + DWORD dwFramesDropped; +} BITMAP_RENDERER_STATISTICS; +typedef struct __BITMAP_RENDERER_STATISTICS *PBITMAP_RENDERER_STATISTICS; +/***************************************************************************** + * IWTSBitmapRenderer interface + */ +#ifndef __IWTSBitmapRenderer_INTERFACE_DEFINED__ +#define __IWTSBitmapRenderer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5b7acc97-f3c9-46f7-8c5b-fa685d3441b1") +IWTSBitmapRenderer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Render( + GUID imageFormat, + DWORD dwWidth, + DWORD dwHeight, + LONG cbStride, + DWORD cbImageBuffer, + BYTE *pImageBuffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRendererStatistics( + BITMAP_RENDERER_STATISTICS *pStatistics) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMapping( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSBitmapRenderer, 0x5b7acc97, 0xf3c9, 0x46f7, 0x8c,0x5b, 0xfa,0x68,0x5d,0x34,0x41,0xb1) +#endif +#else +typedef struct IWTSBitmapRendererVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSBitmapRenderer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSBitmapRenderer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSBitmapRenderer *This); + + /*** IWTSBitmapRenderer methods ***/ + HRESULT (STDMETHODCALLTYPE *Render)( + IWTSBitmapRenderer *This, + GUID imageFormat, + DWORD dwWidth, + DWORD dwHeight, + LONG cbStride, + DWORD cbImageBuffer, + BYTE *pImageBuffer); + + HRESULT (STDMETHODCALLTYPE *GetRendererStatistics)( + IWTSBitmapRenderer *This, + BITMAP_RENDERER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *RemoveMapping)( + IWTSBitmapRenderer *This); + + END_INTERFACE +} IWTSBitmapRendererVtbl; + +interface IWTSBitmapRenderer { + CONST_VTBL IWTSBitmapRendererVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSBitmapRenderer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSBitmapRenderer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSBitmapRenderer_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSBitmapRenderer methods ***/ +#define IWTSBitmapRenderer_Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer) (This)->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer) +#define IWTSBitmapRenderer_GetRendererStatistics(This,pStatistics) (This)->lpVtbl->GetRendererStatistics(This,pStatistics) +#define IWTSBitmapRenderer_RemoveMapping(This) (This)->lpVtbl->RemoveMapping(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSBitmapRenderer_QueryInterface(IWTSBitmapRenderer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSBitmapRenderer_AddRef(IWTSBitmapRenderer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSBitmapRenderer_Release(IWTSBitmapRenderer* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSBitmapRenderer methods ***/ +static inline HRESULT IWTSBitmapRenderer_Render(IWTSBitmapRenderer* This,GUID imageFormat,DWORD dwWidth,DWORD dwHeight,LONG cbStride,DWORD cbImageBuffer,BYTE *pImageBuffer) { + return This->lpVtbl->Render(This,imageFormat,dwWidth,dwHeight,cbStride,cbImageBuffer,pImageBuffer); +} +static inline HRESULT IWTSBitmapRenderer_GetRendererStatistics(IWTSBitmapRenderer* This,BITMAP_RENDERER_STATISTICS *pStatistics) { + return This->lpVtbl->GetRendererStatistics(This,pStatistics); +} +static inline HRESULT IWTSBitmapRenderer_RemoveMapping(IWTSBitmapRenderer* This) { + return This->lpVtbl->RemoveMapping(This); +} +#endif +#endif + +#endif + + +#endif /* __IWTSBitmapRenderer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSBitmapRendererCallback interface + */ +#ifndef __IWTSBitmapRendererCallback_INTERFACE_DEFINED__ +#define __IWTSBitmapRendererCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d782928e-fe4e-4e77-ae90-9cd0b3e3b353") +IWTSBitmapRendererCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnTargetSizeChanged( + RECT rcNewSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSBitmapRendererCallback, 0xd782928e, 0xfe4e, 0x4e77, 0xae,0x90, 0x9c,0xd0,0xb3,0xe3,0xb3,0x53) +#endif +#else +typedef struct IWTSBitmapRendererCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSBitmapRendererCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSBitmapRendererCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSBitmapRendererCallback *This); + + /*** IWTSBitmapRendererCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnTargetSizeChanged)( + IWTSBitmapRendererCallback *This, + RECT rcNewSize); + + END_INTERFACE +} IWTSBitmapRendererCallbackVtbl; + +interface IWTSBitmapRendererCallback { + CONST_VTBL IWTSBitmapRendererCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSBitmapRendererCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSBitmapRendererCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSBitmapRendererCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSBitmapRendererCallback methods ***/ +#define IWTSBitmapRendererCallback_OnTargetSizeChanged(This,rcNewSize) (This)->lpVtbl->OnTargetSizeChanged(This,rcNewSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSBitmapRendererCallback_QueryInterface(IWTSBitmapRendererCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSBitmapRendererCallback_AddRef(IWTSBitmapRendererCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSBitmapRendererCallback_Release(IWTSBitmapRendererCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSBitmapRendererCallback methods ***/ +static inline HRESULT IWTSBitmapRendererCallback_OnTargetSizeChanged(IWTSBitmapRendererCallback* This,RECT rcNewSize) { + return This->lpVtbl->OnTargetSizeChanged(This,rcNewSize); +} +#endif +#endif + +#endif + + +#endif /* __IWTSBitmapRendererCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWTSBitmapRenderService interface + */ +#ifndef __IWTSBitmapRenderService_INTERFACE_DEFINED__ +#define __IWTSBitmapRenderService_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ea326091-05fe-40c1-b49c-3d2ef4626a0e") +IWTSBitmapRenderService : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMappedRenderer( + UINT64 mappingId, + IWTSBitmapRendererCallback *pMappedRendererCallback, + IWTSBitmapRenderer **ppMappedRenderer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWTSBitmapRenderService, 0xea326091, 0x05fe, 0x40c1, 0xb4,0x9c, 0x3d,0x2e,0xf4,0x62,0x6a,0x0e) +#endif +#else +typedef struct IWTSBitmapRenderServiceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWTSBitmapRenderService *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWTSBitmapRenderService *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWTSBitmapRenderService *This); + + /*** IWTSBitmapRenderService methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMappedRenderer)( + IWTSBitmapRenderService *This, + UINT64 mappingId, + IWTSBitmapRendererCallback *pMappedRendererCallback, + IWTSBitmapRenderer **ppMappedRenderer); + + END_INTERFACE +} IWTSBitmapRenderServiceVtbl; + +interface IWTSBitmapRenderService { + CONST_VTBL IWTSBitmapRenderServiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWTSBitmapRenderService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWTSBitmapRenderService_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWTSBitmapRenderService_Release(This) (This)->lpVtbl->Release(This) +/*** IWTSBitmapRenderService methods ***/ +#define IWTSBitmapRenderService_GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer) (This)->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWTSBitmapRenderService_QueryInterface(IWTSBitmapRenderService* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWTSBitmapRenderService_AddRef(IWTSBitmapRenderService* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWTSBitmapRenderService_Release(IWTSBitmapRenderService* This) { + return This->lpVtbl->Release(This); +} +/*** IWTSBitmapRenderService methods ***/ +static inline HRESULT IWTSBitmapRenderService_GetMappedRenderer(IWTSBitmapRenderService* This,UINT64 mappingId,IWTSBitmapRendererCallback *pMappedRendererCallback,IWTSBitmapRenderer **ppMappedRenderer) { + return This->lpVtbl->GetMappedRenderer(This,mappingId,pMappedRendererCallback,ppMappedRenderer); +} +#endif +#endif + +#endif + + +#endif /* __IWTSBitmapRenderService_INTERFACE_DEFINED__ */ + +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + +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 /* __tsvirtualchannels_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tuner.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tuner.h new file mode 100644 index 00000000..e34cb57c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tuner.h @@ -0,0 +1,17749 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/tuner.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 __tuner_h__ +#define __tuner_h__ + +/* Forward declarations */ + +#ifndef __ITuningSpaces_FWD_DEFINED__ +#define __ITuningSpaces_FWD_DEFINED__ +typedef interface ITuningSpaces ITuningSpaces; +#ifdef __cplusplus +interface ITuningSpaces; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuningSpaceContainer_FWD_DEFINED__ +#define __ITuningSpaceContainer_FWD_DEFINED__ +typedef interface ITuningSpaceContainer ITuningSpaceContainer; +#ifdef __cplusplus +interface ITuningSpaceContainer; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuningSpace_FWD_DEFINED__ +#define __ITuningSpace_FWD_DEFINED__ +typedef interface ITuningSpace ITuningSpace; +#ifdef __cplusplus +interface ITuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumTuningSpaces_FWD_DEFINED__ +#define __IEnumTuningSpaces_FWD_DEFINED__ +typedef interface IEnumTuningSpaces IEnumTuningSpaces; +#ifdef __cplusplus +interface IEnumTuningSpaces; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTuningSpace_FWD_DEFINED__ +#define __IDVBTuningSpace_FWD_DEFINED__ +typedef interface IDVBTuningSpace IDVBTuningSpace; +#ifdef __cplusplus +interface IDVBTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTuningSpace2_FWD_DEFINED__ +#define __IDVBTuningSpace2_FWD_DEFINED__ +typedef interface IDVBTuningSpace2 IDVBTuningSpace2; +#ifdef __cplusplus +interface IDVBTuningSpace2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBSTuningSpace_FWD_DEFINED__ +#define __IDVBSTuningSpace_FWD_DEFINED__ +typedef interface IDVBSTuningSpace IDVBSTuningSpace; +#ifdef __cplusplus +interface IDVBSTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuxInTuningSpace_FWD_DEFINED__ +#define __IAuxInTuningSpace_FWD_DEFINED__ +typedef interface IAuxInTuningSpace IAuxInTuningSpace; +#ifdef __cplusplus +interface IAuxInTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuxInTuningSpace2_FWD_DEFINED__ +#define __IAuxInTuningSpace2_FWD_DEFINED__ +typedef interface IAuxInTuningSpace2 IAuxInTuningSpace2; +#ifdef __cplusplus +interface IAuxInTuningSpace2; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnalogTVTuningSpace_FWD_DEFINED__ +#define __IAnalogTVTuningSpace_FWD_DEFINED__ +typedef interface IAnalogTVTuningSpace IAnalogTVTuningSpace; +#ifdef __cplusplus +interface IAnalogTVTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCTuningSpace_FWD_DEFINED__ +#define __IATSCTuningSpace_FWD_DEFINED__ +typedef interface IATSCTuningSpace IATSCTuningSpace; +#ifdef __cplusplus +interface IATSCTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableTuningSpace_FWD_DEFINED__ +#define __IDigitalCableTuningSpace_FWD_DEFINED__ +typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace; +#ifdef __cplusplus +interface IDigitalCableTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnalogRadioTuningSpace_FWD_DEFINED__ +#define __IAnalogRadioTuningSpace_FWD_DEFINED__ +typedef interface IAnalogRadioTuningSpace IAnalogRadioTuningSpace; +#ifdef __cplusplus +interface IAnalogRadioTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnalogRadioTuningSpace2_FWD_DEFINED__ +#define __IAnalogRadioTuningSpace2_FWD_DEFINED__ +typedef interface IAnalogRadioTuningSpace2 IAnalogRadioTuningSpace2; +#ifdef __cplusplus +interface IAnalogRadioTuningSpace2; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuneRequest_FWD_DEFINED__ +#define __ITuneRequest_FWD_DEFINED__ +typedef interface ITuneRequest ITuneRequest; +#ifdef __cplusplus +interface ITuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IChannelIDTuneRequest_FWD_DEFINED__ +#define __IChannelIDTuneRequest_FWD_DEFINED__ +typedef interface IChannelIDTuneRequest IChannelIDTuneRequest; +#ifdef __cplusplus +interface IChannelIDTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IChannelTuneRequest_FWD_DEFINED__ +#define __IChannelTuneRequest_FWD_DEFINED__ +typedef interface IChannelTuneRequest IChannelTuneRequest; +#ifdef __cplusplus +interface IChannelTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCChannelTuneRequest_FWD_DEFINED__ +#define __IATSCChannelTuneRequest_FWD_DEFINED__ +typedef interface IATSCChannelTuneRequest IATSCChannelTuneRequest; +#ifdef __cplusplus +interface IATSCChannelTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableTuneRequest_FWD_DEFINED__ +#define __IDigitalCableTuneRequest_FWD_DEFINED__ +typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest; +#ifdef __cplusplus +interface IDigitalCableTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTuneRequest_FWD_DEFINED__ +#define __IDVBTuneRequest_FWD_DEFINED__ +typedef interface IDVBTuneRequest IDVBTuneRequest; +#ifdef __cplusplus +interface IDVBTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2TuneRequest_FWD_DEFINED__ +#define __IMPEG2TuneRequest_FWD_DEFINED__ +typedef interface IMPEG2TuneRequest IMPEG2TuneRequest; +#ifdef __cplusplus +interface IMPEG2TuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2TuneRequestFactory_FWD_DEFINED__ +#define __IMPEG2TuneRequestFactory_FWD_DEFINED__ +typedef interface IMPEG2TuneRequestFactory IMPEG2TuneRequestFactory; +#ifdef __cplusplus +interface IMPEG2TuneRequestFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2TuneRequestSupport_FWD_DEFINED__ +#define __IMPEG2TuneRequestSupport_FWD_DEFINED__ +typedef interface IMPEG2TuneRequestSupport IMPEG2TuneRequestSupport; +#ifdef __cplusplus +interface IMPEG2TuneRequestSupport; +#endif /* __cplusplus */ +#endif + +#ifndef __ITunerCap_FWD_DEFINED__ +#define __ITunerCap_FWD_DEFINED__ +typedef interface ITunerCap ITunerCap; +#ifdef __cplusplus +interface ITunerCap; +#endif /* __cplusplus */ +#endif + +#ifndef __ITunerCapEx_FWD_DEFINED__ +#define __ITunerCapEx_FWD_DEFINED__ +typedef interface ITunerCapEx ITunerCapEx; +#ifdef __cplusplus +interface ITunerCapEx; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuner_FWD_DEFINED__ +#define __ITuner_FWD_DEFINED__ +typedef interface ITuner ITuner; +#ifdef __cplusplus +interface ITuner; +#endif /* __cplusplus */ +#endif + +#ifndef __IScanningTuner_FWD_DEFINED__ +#define __IScanningTuner_FWD_DEFINED__ +typedef interface IScanningTuner IScanningTuner; +#ifdef __cplusplus +interface IScanningTuner; +#endif /* __cplusplus */ +#endif + +#ifndef __IScanningTunerEx_FWD_DEFINED__ +#define __IScanningTunerEx_FWD_DEFINED__ +typedef interface IScanningTunerEx IScanningTunerEx; +#ifdef __cplusplus +interface IScanningTunerEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponentType_FWD_DEFINED__ +#define __IComponentType_FWD_DEFINED__ +typedef interface IComponentType IComponentType; +#ifdef __cplusplus +interface IComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __ILanguageComponentType_FWD_DEFINED__ +#define __ILanguageComponentType_FWD_DEFINED__ +typedef interface ILanguageComponentType ILanguageComponentType; +#ifdef __cplusplus +interface ILanguageComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2ComponentType_FWD_DEFINED__ +#define __IMPEG2ComponentType_FWD_DEFINED__ +typedef interface IMPEG2ComponentType IMPEG2ComponentType; +#ifdef __cplusplus +interface IMPEG2ComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCComponentType_FWD_DEFINED__ +#define __IATSCComponentType_FWD_DEFINED__ +typedef interface IATSCComponentType IATSCComponentType; +#ifdef __cplusplus +interface IATSCComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumComponentTypes_FWD_DEFINED__ +#define __IEnumComponentTypes_FWD_DEFINED__ +typedef interface IEnumComponentTypes IEnumComponentTypes; +#ifdef __cplusplus +interface IEnumComponentTypes; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponentTypes_FWD_DEFINED__ +#define __IComponentTypes_FWD_DEFINED__ +typedef interface IComponentTypes IComponentTypes; +#ifdef __cplusplus +interface IComponentTypes; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponent_FWD_DEFINED__ +#define __IComponent_FWD_DEFINED__ +typedef interface IComponent IComponent; +#ifdef __cplusplus +interface IComponent; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnalogAudioComponentType_FWD_DEFINED__ +#define __IAnalogAudioComponentType_FWD_DEFINED__ +typedef interface IAnalogAudioComponentType IAnalogAudioComponentType; +#ifdef __cplusplus +interface IAnalogAudioComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2Component_FWD_DEFINED__ +#define __IMPEG2Component_FWD_DEFINED__ +typedef interface IMPEG2Component IMPEG2Component; +#ifdef __cplusplus +interface IMPEG2Component; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumComponents_FWD_DEFINED__ +#define __IEnumComponents_FWD_DEFINED__ +typedef interface IEnumComponents IEnumComponents; +#ifdef __cplusplus +interface IEnumComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponents_FWD_DEFINED__ +#define __IComponents_FWD_DEFINED__ +typedef interface IComponents IComponents; +#ifdef __cplusplus +interface IComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponentsOld_FWD_DEFINED__ +#define __IComponentsOld_FWD_DEFINED__ +typedef interface IComponentsOld IComponentsOld; +#ifdef __cplusplus +interface IComponentsOld; +#endif /* __cplusplus */ +#endif + +#ifndef __ILocator_FWD_DEFINED__ +#define __ILocator_FWD_DEFINED__ +typedef interface ILocator ILocator; +#ifdef __cplusplus +interface ILocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnalogLocator_FWD_DEFINED__ +#define __IAnalogLocator_FWD_DEFINED__ +typedef interface IAnalogLocator IAnalogLocator; +#ifdef __cplusplus +interface IAnalogLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalLocator_FWD_DEFINED__ +#define __IDigitalLocator_FWD_DEFINED__ +typedef interface IDigitalLocator IDigitalLocator; +#ifdef __cplusplus +interface IDigitalLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCLocator_FWD_DEFINED__ +#define __IATSCLocator_FWD_DEFINED__ +typedef interface IATSCLocator IATSCLocator; +#ifdef __cplusplus +interface IATSCLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCLocator2_FWD_DEFINED__ +#define __IATSCLocator2_FWD_DEFINED__ +typedef interface IATSCLocator2 IATSCLocator2; +#ifdef __cplusplus +interface IATSCLocator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableLocator_FWD_DEFINED__ +#define __IDigitalCableLocator_FWD_DEFINED__ +typedef interface IDigitalCableLocator IDigitalCableLocator; +#ifdef __cplusplus +interface IDigitalCableLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTLocator_FWD_DEFINED__ +#define __IDVBTLocator_FWD_DEFINED__ +typedef interface IDVBTLocator IDVBTLocator; +#ifdef __cplusplus +interface IDVBTLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTLocator2_FWD_DEFINED__ +#define __IDVBTLocator2_FWD_DEFINED__ +typedef interface IDVBTLocator2 IDVBTLocator2; +#ifdef __cplusplus +interface IDVBTLocator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBSLocator_FWD_DEFINED__ +#define __IDVBSLocator_FWD_DEFINED__ +typedef interface IDVBSLocator IDVBSLocator; +#ifdef __cplusplus +interface IDVBSLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBSLocator2_FWD_DEFINED__ +#define __IDVBSLocator2_FWD_DEFINED__ +typedef interface IDVBSLocator2 IDVBSLocator2; +#ifdef __cplusplus +interface IDVBSLocator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBCLocator_FWD_DEFINED__ +#define __IDVBCLocator_FWD_DEFINED__ +typedef interface IDVBCLocator IDVBCLocator; +#ifdef __cplusplus +interface IDVBCLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IISDBSLocator_FWD_DEFINED__ +#define __IISDBSLocator_FWD_DEFINED__ +typedef interface IISDBSLocator IISDBSLocator; +#ifdef __cplusplus +interface IISDBSLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IESEvent_FWD_DEFINED__ +#define __IESEvent_FWD_DEFINED__ +typedef interface IESEvent IESEvent; +#ifdef __cplusplus +interface IESEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESOpenMmiEvent_FWD_DEFINED__ +#define __IESOpenMmiEvent_FWD_DEFINED__ +typedef interface IESOpenMmiEvent IESOpenMmiEvent; +#ifdef __cplusplus +interface IESOpenMmiEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESCloseMmiEvent_FWD_DEFINED__ +#define __IESCloseMmiEvent_FWD_DEFINED__ +typedef interface IESCloseMmiEvent IESCloseMmiEvent; +#ifdef __cplusplus +interface IESCloseMmiEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESValueUpdatedEvent_FWD_DEFINED__ +#define __IESValueUpdatedEvent_FWD_DEFINED__ +typedef interface IESValueUpdatedEvent IESValueUpdatedEvent; +#ifdef __cplusplus +interface IESValueUpdatedEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESRequestTunerEvent_FWD_DEFINED__ +#define __IESRequestTunerEvent_FWD_DEFINED__ +typedef interface IESRequestTunerEvent IESRequestTunerEvent; +#ifdef __cplusplus +interface IESRequestTunerEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESIsdbCasResponseEvent_FWD_DEFINED__ +#define __IESIsdbCasResponseEvent_FWD_DEFINED__ +typedef interface IESIsdbCasResponseEvent IESIsdbCasResponseEvent; +#ifdef __cplusplus +interface IESIsdbCasResponseEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IGpnvsCommonBase_FWD_DEFINED__ +#define __IGpnvsCommonBase_FWD_DEFINED__ +typedef interface IGpnvsCommonBase IGpnvsCommonBase; +#ifdef __cplusplus +interface IGpnvsCommonBase; +#endif /* __cplusplus */ +#endif + +#ifndef __IESEventFactory_FWD_DEFINED__ +#define __IESEventFactory_FWD_DEFINED__ +typedef interface IESEventFactory IESEventFactory; +#ifdef __cplusplus +interface IESEventFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IESLicenseRenewalResultEvent_FWD_DEFINED__ +#define __IESLicenseRenewalResultEvent_FWD_DEFINED__ +typedef interface IESLicenseRenewalResultEvent IESLicenseRenewalResultEvent; +#ifdef __cplusplus +interface IESLicenseRenewalResultEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESFileExpiryDateEvent_FWD_DEFINED__ +#define __IESFileExpiryDateEvent_FWD_DEFINED__ +typedef interface IESFileExpiryDateEvent IESFileExpiryDateEvent; +#ifdef __cplusplus +interface IESFileExpiryDateEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IESEvents_FWD_DEFINED__ +#define __IESEvents_FWD_DEFINED__ +typedef interface IESEvents IESEvents; +#ifdef __cplusplus +interface IESEvents; +#endif /* __cplusplus */ +#endif + +#ifndef __IESEventService_FWD_DEFINED__ +#define __IESEventService_FWD_DEFINED__ +typedef interface IESEventService IESEventService; +#ifdef __cplusplus +interface IESEventService; +#endif /* __cplusplus */ +#endif + +#ifndef __IESEventServiceConfiguration_FWD_DEFINED__ +#define __IESEventServiceConfiguration_FWD_DEFINED__ +typedef interface IESEventServiceConfiguration IESEventServiceConfiguration; +#ifdef __cplusplus +interface IESEventServiceConfiguration; +#endif /* __cplusplus */ +#endif + +#ifndef __IBroadcastEvent_FWD_DEFINED__ +#define __IBroadcastEvent_FWD_DEFINED__ +typedef interface IBroadcastEvent IBroadcastEvent; +#ifdef __cplusplus +interface IBroadcastEvent; +#endif /* __cplusplus */ +#endif + +#ifndef __IBroadcastEventEx_FWD_DEFINED__ +#define __IBroadcastEventEx_FWD_DEFINED__ +typedef interface IBroadcastEventEx IBroadcastEventEx; +#ifdef __cplusplus +interface IBroadcastEventEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IRegisterTuner_FWD_DEFINED__ +#define __IRegisterTuner_FWD_DEFINED__ +typedef interface IRegisterTuner IRegisterTuner; +#ifdef __cplusplus +interface IRegisterTuner; +#endif /* __cplusplus */ +#endif + +#ifndef __IBDAComparable_FWD_DEFINED__ +#define __IBDAComparable_FWD_DEFINED__ +typedef interface IBDAComparable IBDAComparable; +#ifdef __cplusplus +interface IBDAComparable; +#endif /* __cplusplus */ +#endif + +#ifndef __IPersistTuneXml_FWD_DEFINED__ +#define __IPersistTuneXml_FWD_DEFINED__ +typedef interface IPersistTuneXml IPersistTuneXml; +#ifdef __cplusplus +interface IPersistTuneXml; +#endif /* __cplusplus */ +#endif + +#ifndef __IPersistTuneXmlUtility_FWD_DEFINED__ +#define __IPersistTuneXmlUtility_FWD_DEFINED__ +typedef interface IPersistTuneXmlUtility IPersistTuneXmlUtility; +#ifdef __cplusplus +interface IPersistTuneXmlUtility; +#endif /* __cplusplus */ +#endif + +#ifndef __IPersistTuneXmlUtility2_FWD_DEFINED__ +#define __IPersistTuneXmlUtility2_FWD_DEFINED__ +typedef interface IPersistTuneXmlUtility2 IPersistTuneXmlUtility2; +#ifdef __cplusplus +interface IPersistTuneXmlUtility2; +#endif /* __cplusplus */ +#endif + +#ifndef __IBDACreateTuneRequestEx_FWD_DEFINED__ +#define __IBDACreateTuneRequestEx_FWD_DEFINED__ +typedef interface IBDACreateTuneRequestEx IBDACreateTuneRequestEx; +#ifdef __cplusplus +interface IBDACreateTuneRequestEx; +#endif /* __cplusplus */ +#endif + +#ifndef __SystemTuningSpaces_FWD_DEFINED__ +#define __SystemTuningSpaces_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SystemTuningSpaces SystemTuningSpaces; +#else +typedef struct SystemTuningSpaces SystemTuningSpaces; +#endif /* defined __cplusplus */ +#endif /* defined __SystemTuningSpaces_FWD_DEFINED__ */ + +#ifndef __TuningSpace_FWD_DEFINED__ +#define __TuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TuningSpace TuningSpace; +#else +typedef struct TuningSpace TuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __TuningSpace_FWD_DEFINED__ */ + +#ifndef __ChannelIDTuningSpace_FWD_DEFINED__ +#define __ChannelIDTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ChannelIDTuningSpace ChannelIDTuningSpace; +#else +typedef struct ChannelIDTuningSpace ChannelIDTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __ChannelIDTuningSpace_FWD_DEFINED__ */ + +#ifndef __ATSCTuningSpace_FWD_DEFINED__ +#define __ATSCTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ATSCTuningSpace ATSCTuningSpace; +#else +typedef struct ATSCTuningSpace ATSCTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __ATSCTuningSpace_FWD_DEFINED__ */ + +#ifndef __DigitalCableTuningSpace_FWD_DEFINED__ +#define __DigitalCableTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DigitalCableTuningSpace DigitalCableTuningSpace; +#else +typedef struct DigitalCableTuningSpace DigitalCableTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __DigitalCableTuningSpace_FWD_DEFINED__ */ + +#ifndef __AnalogRadioTuningSpace_FWD_DEFINED__ +#define __AnalogRadioTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AnalogRadioTuningSpace AnalogRadioTuningSpace; +#else +typedef struct AnalogRadioTuningSpace AnalogRadioTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __AnalogRadioTuningSpace_FWD_DEFINED__ */ + +#ifndef __AuxInTuningSpace_FWD_DEFINED__ +#define __AuxInTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AuxInTuningSpace AuxInTuningSpace; +#else +typedef struct AuxInTuningSpace AuxInTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __AuxInTuningSpace_FWD_DEFINED__ */ + +#ifndef __AnalogTVTuningSpace_FWD_DEFINED__ +#define __AnalogTVTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AnalogTVTuningSpace AnalogTVTuningSpace; +#else +typedef struct AnalogTVTuningSpace AnalogTVTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __AnalogTVTuningSpace_FWD_DEFINED__ */ + +#ifndef __DVBTuningSpace_FWD_DEFINED__ +#define __DVBTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBTuningSpace DVBTuningSpace; +#else +typedef struct DVBTuningSpace DVBTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __DVBTuningSpace_FWD_DEFINED__ */ + +#ifndef __DVBSTuningSpace_FWD_DEFINED__ +#define __DVBSTuningSpace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBSTuningSpace DVBSTuningSpace; +#else +typedef struct DVBSTuningSpace DVBSTuningSpace; +#endif /* defined __cplusplus */ +#endif /* defined __DVBSTuningSpace_FWD_DEFINED__ */ + +#ifndef __ComponentTypes_FWD_DEFINED__ +#define __ComponentTypes_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ComponentTypes ComponentTypes; +#else +typedef struct ComponentTypes ComponentTypes; +#endif /* defined __cplusplus */ +#endif /* defined __ComponentTypes_FWD_DEFINED__ */ + +#ifndef __ComponentType_FWD_DEFINED__ +#define __ComponentType_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ComponentType ComponentType; +#else +typedef struct ComponentType ComponentType; +#endif /* defined __cplusplus */ +#endif /* defined __ComponentType_FWD_DEFINED__ */ + +#ifndef __LanguageComponentType_FWD_DEFINED__ +#define __LanguageComponentType_FWD_DEFINED__ +#ifdef __cplusplus +typedef class LanguageComponentType LanguageComponentType; +#else +typedef struct LanguageComponentType LanguageComponentType; +#endif /* defined __cplusplus */ +#endif /* defined __LanguageComponentType_FWD_DEFINED__ */ + +#ifndef __MPEG2ComponentType_FWD_DEFINED__ +#define __MPEG2ComponentType_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MPEG2ComponentType MPEG2ComponentType; +#else +typedef struct MPEG2ComponentType MPEG2ComponentType; +#endif /* defined __cplusplus */ +#endif /* defined __MPEG2ComponentType_FWD_DEFINED__ */ + +#ifndef __ATSCComponentType_FWD_DEFINED__ +#define __ATSCComponentType_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ATSCComponentType ATSCComponentType; +#else +typedef struct ATSCComponentType ATSCComponentType; +#endif /* defined __cplusplus */ +#endif /* defined __ATSCComponentType_FWD_DEFINED__ */ + +#ifndef __Components_FWD_DEFINED__ +#define __Components_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Components Components; +#else +typedef struct Components Components; +#endif /* defined __cplusplus */ +#endif /* defined __Components_FWD_DEFINED__ */ + +#ifndef __Component_FWD_DEFINED__ +#define __Component_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Component Component; +#else +typedef struct Component Component; +#endif /* defined __cplusplus */ +#endif /* defined __Component_FWD_DEFINED__ */ + +#ifndef __MPEG2Component_FWD_DEFINED__ +#define __MPEG2Component_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MPEG2Component MPEG2Component; +#else +typedef struct MPEG2Component MPEG2Component; +#endif /* defined __cplusplus */ +#endif /* defined __MPEG2Component_FWD_DEFINED__ */ + +#ifndef __AnalogAudioComponentType_FWD_DEFINED__ +#define __AnalogAudioComponentType_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AnalogAudioComponentType AnalogAudioComponentType; +#else +typedef struct AnalogAudioComponentType AnalogAudioComponentType; +#endif /* defined __cplusplus */ +#endif /* defined __AnalogAudioComponentType_FWD_DEFINED__ */ + +#ifndef __TuneRequest_FWD_DEFINED__ +#define __TuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TuneRequest TuneRequest; +#else +typedef struct TuneRequest TuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __TuneRequest_FWD_DEFINED__ */ + +#ifndef __ChannelIDTuneRequest_FWD_DEFINED__ +#define __ChannelIDTuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ChannelIDTuneRequest ChannelIDTuneRequest; +#else +typedef struct ChannelIDTuneRequest ChannelIDTuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __ChannelIDTuneRequest_FWD_DEFINED__ */ + +#ifndef __ChannelTuneRequest_FWD_DEFINED__ +#define __ChannelTuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ChannelTuneRequest ChannelTuneRequest; +#else +typedef struct ChannelTuneRequest ChannelTuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __ChannelTuneRequest_FWD_DEFINED__ */ + +#ifndef __ATSCChannelTuneRequest_FWD_DEFINED__ +#define __ATSCChannelTuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ATSCChannelTuneRequest ATSCChannelTuneRequest; +#else +typedef struct ATSCChannelTuneRequest ATSCChannelTuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __ATSCChannelTuneRequest_FWD_DEFINED__ */ + +#ifndef __DigitalCableTuneRequest_FWD_DEFINED__ +#define __DigitalCableTuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DigitalCableTuneRequest DigitalCableTuneRequest; +#else +typedef struct DigitalCableTuneRequest DigitalCableTuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __DigitalCableTuneRequest_FWD_DEFINED__ */ + +#ifndef __MPEG2TuneRequest_FWD_DEFINED__ +#define __MPEG2TuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MPEG2TuneRequest MPEG2TuneRequest; +#else +typedef struct MPEG2TuneRequest MPEG2TuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __MPEG2TuneRequest_FWD_DEFINED__ */ + +#ifndef __MPEG2TuneRequestFactory_FWD_DEFINED__ +#define __MPEG2TuneRequestFactory_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MPEG2TuneRequestFactory MPEG2TuneRequestFactory; +#else +typedef struct MPEG2TuneRequestFactory MPEG2TuneRequestFactory; +#endif /* defined __cplusplus */ +#endif /* defined __MPEG2TuneRequestFactory_FWD_DEFINED__ */ + +#ifndef __Locator_FWD_DEFINED__ +#define __Locator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class Locator Locator; +#else +typedef struct Locator Locator; +#endif /* defined __cplusplus */ +#endif /* defined __Locator_FWD_DEFINED__ */ + +#ifndef __DigitalLocator_FWD_DEFINED__ +#define __DigitalLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DigitalLocator DigitalLocator; +#else +typedef struct DigitalLocator DigitalLocator; +#endif /* defined __cplusplus */ +#endif /* defined __DigitalLocator_FWD_DEFINED__ */ + +#ifndef __AnalogLocator_FWD_DEFINED__ +#define __AnalogLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AnalogLocator AnalogLocator; +#else +typedef struct AnalogLocator AnalogLocator; +#endif /* defined __cplusplus */ +#endif /* defined __AnalogLocator_FWD_DEFINED__ */ + +#ifndef __ATSCLocator_FWD_DEFINED__ +#define __ATSCLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ATSCLocator ATSCLocator; +#else +typedef struct ATSCLocator ATSCLocator; +#endif /* defined __cplusplus */ +#endif /* defined __ATSCLocator_FWD_DEFINED__ */ + +#ifndef __DigitalCableLocator_FWD_DEFINED__ +#define __DigitalCableLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DigitalCableLocator DigitalCableLocator; +#else +typedef struct DigitalCableLocator DigitalCableLocator; +#endif /* defined __cplusplus */ +#endif /* defined __DigitalCableLocator_FWD_DEFINED__ */ + +#ifndef __DVBTLocator_FWD_DEFINED__ +#define __DVBTLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBTLocator DVBTLocator; +#else +typedef struct DVBTLocator DVBTLocator; +#endif /* defined __cplusplus */ +#endif /* defined __DVBTLocator_FWD_DEFINED__ */ + +#ifndef __DVBTLocator2_FWD_DEFINED__ +#define __DVBTLocator2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBTLocator2 DVBTLocator2; +#else +typedef struct DVBTLocator2 DVBTLocator2; +#endif /* defined __cplusplus */ +#endif /* defined __DVBTLocator2_FWD_DEFINED__ */ + +#ifndef __DVBSLocator_FWD_DEFINED__ +#define __DVBSLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBSLocator DVBSLocator; +#else +typedef struct DVBSLocator DVBSLocator; +#endif /* defined __cplusplus */ +#endif /* defined __DVBSLocator_FWD_DEFINED__ */ + +#ifndef __DVBCLocator_FWD_DEFINED__ +#define __DVBCLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBCLocator DVBCLocator; +#else +typedef struct DVBCLocator DVBCLocator; +#endif /* defined __cplusplus */ +#endif /* defined __DVBCLocator_FWD_DEFINED__ */ + +#ifndef __ISDBSLocator_FWD_DEFINED__ +#define __ISDBSLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ISDBSLocator ISDBSLocator; +#else +typedef struct ISDBSLocator ISDBSLocator; +#endif /* defined __cplusplus */ +#endif /* defined __ISDBSLocator_FWD_DEFINED__ */ + +#ifndef __DVBTuneRequest_FWD_DEFINED__ +#define __DVBTuneRequest_FWD_DEFINED__ +#ifdef __cplusplus +typedef class DVBTuneRequest DVBTuneRequest; +#else +typedef struct DVBTuneRequest DVBTuneRequest; +#endif /* defined __cplusplus */ +#endif /* defined __DVBTuneRequest_FWD_DEFINED__ */ + +#ifndef __CreatePropBagOnRegKey_FWD_DEFINED__ +#define __CreatePropBagOnRegKey_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CreatePropBagOnRegKey CreatePropBagOnRegKey; +#else +typedef struct CreatePropBagOnRegKey CreatePropBagOnRegKey; +#endif /* defined __cplusplus */ +#endif /* defined __CreatePropBagOnRegKey_FWD_DEFINED__ */ + +#ifndef __BroadcastEventService_FWD_DEFINED__ +#define __BroadcastEventService_FWD_DEFINED__ +#ifdef __cplusplus +typedef class BroadcastEventService BroadcastEventService; +#else +typedef struct BroadcastEventService BroadcastEventService; +#endif /* defined __cplusplus */ +#endif /* defined __BroadcastEventService_FWD_DEFINED__ */ + +#ifndef __TunerMarshaler_FWD_DEFINED__ +#define __TunerMarshaler_FWD_DEFINED__ +#ifdef __cplusplus +typedef class TunerMarshaler TunerMarshaler; +#else +typedef struct TunerMarshaler TunerMarshaler; +#endif /* defined __cplusplus */ +#endif /* defined __TunerMarshaler_FWD_DEFINED__ */ + +#ifndef __PersistTuneXmlUtility_FWD_DEFINED__ +#define __PersistTuneXmlUtility_FWD_DEFINED__ +#ifdef __cplusplus +typedef class PersistTuneXmlUtility PersistTuneXmlUtility; +#else +typedef struct PersistTuneXmlUtility PersistTuneXmlUtility; +#endif /* defined __cplusplus */ +#endif /* defined __PersistTuneXmlUtility_FWD_DEFINED__ */ + +#ifndef __ESEventService_FWD_DEFINED__ +#define __ESEventService_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ESEventService ESEventService; +#else +typedef struct ESEventService ESEventService; +#endif /* defined __cplusplus */ +#endif /* defined __ESEventService_FWD_DEFINED__ */ + +#ifndef __ESEventFactory_FWD_DEFINED__ +#define __ESEventFactory_FWD_DEFINED__ +#ifdef __cplusplus +typedef class ESEventFactory ESEventFactory; +#else +typedef struct ESEventFactory ESEventFactory; +#endif /* defined __cplusplus */ +#endif /* defined __ESEventFactory_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __IAnalogLocator_FWD_DEFINED__ +#define __IAnalogLocator_FWD_DEFINED__ +typedef interface IAnalogLocator IAnalogLocator; +#ifdef __cplusplus +interface IAnalogLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IATSCLocator_FWD_DEFINED__ +#define __IATSCLocator_FWD_DEFINED__ +typedef interface IATSCLocator IATSCLocator; +#ifdef __cplusplus +interface IATSCLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponent_FWD_DEFINED__ +#define __IComponent_FWD_DEFINED__ +typedef interface IComponent IComponent; +#ifdef __cplusplus +interface IComponent; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponents_FWD_DEFINED__ +#define __IComponents_FWD_DEFINED__ +typedef interface IComponents IComponents; +#ifdef __cplusplus +interface IComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponentType_FWD_DEFINED__ +#define __IComponentType_FWD_DEFINED__ +typedef interface IComponentType IComponentType; +#ifdef __cplusplus +interface IComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IComponentTypes_FWD_DEFINED__ +#define __IComponentTypes_FWD_DEFINED__ +typedef interface IComponentTypes IComponentTypes; +#ifdef __cplusplus +interface IComponentTypes; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableLocator_FWD_DEFINED__ +#define __IDigitalCableLocator_FWD_DEFINED__ +typedef interface IDigitalCableLocator IDigitalCableLocator; +#ifdef __cplusplus +interface IDigitalCableLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableTuneRequest_FWD_DEFINED__ +#define __IDigitalCableTuneRequest_FWD_DEFINED__ +typedef interface IDigitalCableTuneRequest IDigitalCableTuneRequest; +#ifdef __cplusplus +interface IDigitalCableTuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IDigitalCableTuningSpace_FWD_DEFINED__ +#define __IDigitalCableTuningSpace_FWD_DEFINED__ +typedef interface IDigitalCableTuningSpace IDigitalCableTuningSpace; +#ifdef __cplusplus +interface IDigitalCableTuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBCLocator_FWD_DEFINED__ +#define __IDVBCLocator_FWD_DEFINED__ +typedef interface IDVBCLocator IDVBCLocator; +#ifdef __cplusplus +interface IDVBCLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBSLocator_FWD_DEFINED__ +#define __IDVBSLocator_FWD_DEFINED__ +typedef interface IDVBSLocator IDVBSLocator; +#ifdef __cplusplus +interface IDVBSLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBSLocator2_FWD_DEFINED__ +#define __IDVBSLocator2_FWD_DEFINED__ +typedef interface IDVBSLocator2 IDVBSLocator2; +#ifdef __cplusplus +interface IDVBSLocator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTLocator_FWD_DEFINED__ +#define __IDVBTLocator_FWD_DEFINED__ +typedef interface IDVBTLocator IDVBTLocator; +#ifdef __cplusplus +interface IDVBTLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IDVBTLocator2_FWD_DEFINED__ +#define __IDVBTLocator2_FWD_DEFINED__ +typedef interface IDVBTLocator2 IDVBTLocator2; +#ifdef __cplusplus +interface IDVBTLocator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumComponents_FWD_DEFINED__ +#define __IEnumComponents_FWD_DEFINED__ +typedef interface IEnumComponents IEnumComponents; +#ifdef __cplusplus +interface IEnumComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumComponentTypes_FWD_DEFINED__ +#define __IEnumComponentTypes_FWD_DEFINED__ +typedef interface IEnumComponentTypes IEnumComponentTypes; +#ifdef __cplusplus +interface IEnumComponentTypes; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumTuningSpaces_FWD_DEFINED__ +#define __IEnumTuningSpaces_FWD_DEFINED__ +typedef interface IEnumTuningSpaces IEnumTuningSpaces; +#ifdef __cplusplus +interface IEnumTuningSpaces; +#endif /* __cplusplus */ +#endif + +#ifndef __IISDBSLocator_FWD_DEFINED__ +#define __IISDBSLocator_FWD_DEFINED__ +typedef interface IISDBSLocator IISDBSLocator; +#ifdef __cplusplus +interface IISDBSLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __ILanguageComponentType_FWD_DEFINED__ +#define __ILanguageComponentType_FWD_DEFINED__ +typedef interface ILanguageComponentType ILanguageComponentType; +#ifdef __cplusplus +interface ILanguageComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __ILocator_FWD_DEFINED__ +#define __ILocator_FWD_DEFINED__ +typedef interface ILocator ILocator; +#ifdef __cplusplus +interface ILocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2Component_FWD_DEFINED__ +#define __IMPEG2Component_FWD_DEFINED__ +typedef interface IMPEG2Component IMPEG2Component; +#ifdef __cplusplus +interface IMPEG2Component; +#endif /* __cplusplus */ +#endif + +#ifndef __IMPEG2ComponentType_FWD_DEFINED__ +#define __IMPEG2ComponentType_FWD_DEFINED__ +typedef interface IMPEG2ComponentType IMPEG2ComponentType; +#ifdef __cplusplus +interface IMPEG2ComponentType; +#endif /* __cplusplus */ +#endif + +#ifndef __IScanningTuner_FWD_DEFINED__ +#define __IScanningTuner_FWD_DEFINED__ +typedef interface IScanningTuner IScanningTuner; +#ifdef __cplusplus +interface IScanningTuner; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuneRequest_FWD_DEFINED__ +#define __ITuneRequest_FWD_DEFINED__ +typedef interface ITuneRequest ITuneRequest; +#ifdef __cplusplus +interface ITuneRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuner_FWD_DEFINED__ +#define __ITuner_FWD_DEFINED__ +typedef interface ITuner ITuner; +#ifdef __cplusplus +interface ITuner; +#endif /* __cplusplus */ +#endif + +#ifndef __ITunerCap_FWD_DEFINED__ +#define __ITunerCap_FWD_DEFINED__ +typedef interface ITunerCap ITunerCap; +#ifdef __cplusplus +interface ITunerCap; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuningSpace_FWD_DEFINED__ +#define __ITuningSpace_FWD_DEFINED__ +typedef interface ITuningSpace ITuningSpace; +#ifdef __cplusplus +interface ITuningSpace; +#endif /* __cplusplus */ +#endif + +#ifndef __ITuningSpaceContainer_FWD_DEFINED__ +#define __ITuningSpaceContainer_FWD_DEFINED__ +typedef interface ITuningSpaceContainer ITuningSpaceContainer; +#ifdef __cplusplus +interface ITuningSpaceContainer; +#endif /* __cplusplus */ +#endif + + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +enum { + DISPID_TUNER_TS_UNIQUENAME = 1, + DISPID_TUNER_TS_FRIENDLYNAME = 2, + DISPID_TUNER_TS_CLSID = 3, + DISPID_TUNER_TS_NETWORKTYPE = 4, + DISPID_TUNER_TS__NETWORKTYPE = 5, + DISPID_TUNER_TS_CREATETUNEREQUEST = 6, + DISPID_TUNER_TS_ENUMCATEGORYGUIDS = 7, + DISPID_TUNER_TS_ENUMDEVICEMONIKERS = 8, + DISPID_TUNER_TS_DEFAULTPREFERREDCOMPONENTTYPES = 9, + DISPID_TUNER_TS_FREQMAP = 10, + DISPID_TUNER_TS_DEFLOCATOR = 11, + DISPID_TUNER_TS_CLONE = 12, + DISPID_TUNER_TR_TUNINGSPACE = 1, + DISPID_TUNER_TR_COMPONENTS = 2, + DISPID_TUNER_TR_CLONE = 3, + DISPID_TUNER_TR_LOCATOR = 4, + DISPID_TUNER_CT_CATEGORY = 1, + DISPID_TUNER_CT_MEDIAMAJORTYPE = 2, + DISPID_TUNER_CT__MEDIAMAJORTYPE = 3, + DISPID_TUNER_CT_MEDIASUBTYPE = 4, + DISPID_TUNER_CT__MEDIASUBTYPE = 5, + DISPID_TUNER_CT_MEDIAFORMATTYPE = 6, + DISPID_TUNER_CT__MEDIAFORMATTYPE = 7, + DISPID_TUNER_CT_MEDIATYPE = 8, + DISPID_TUNER_CT_CLONE = 9, + DISPID_TUNER_LCT_LANGID = 100, + DISPID_TUNER_MP2CT_TYPE = 200, + DISPID_TUNER_ATSCCT_FLAGS = 300, + DISPID_TUNER_L_CARRFREQ = 1, + DISPID_TUNER_L_INNERFECMETHOD = 2, + DISPID_TUNER_L_INNERFECRATE = 3, + DISPID_TUNER_L_OUTERFECMETHOD = 4, + DISPID_TUNER_L_OUTERFECRATE = 5, + DISPID_TUNER_L_MOD = 6, + DISPID_TUNER_L_SYMRATE = 7, + DISPID_TUNER_L_CLONE = 8, + DISPID_TUNER_L_ATSC_PHYS_CHANNEL = 201, + DISPID_TUNER_L_ATSC_TSID = 202, + DISPID_TUNER_L_ATSC_MP2_PROGNO = 203, + DISPID_TUNER_L_DVBT_BANDWIDTH = 301, + DISPID_TUNER_L_DVBT_LPINNERFECMETHOD = 302, + DISPID_TUNER_L_DVBT_LPINNERFECRATE = 303, + DISPID_TUNER_L_DVBT_GUARDINTERVAL = 304, + DISPID_TUNER_L_DVBT_HALPHA = 305, + DISPID_TUNER_L_DVBT_TRANSMISSIONMODE = 306, + DISPID_TUNER_L_DVBT_INUSE = 307, + DISPID_TUNER_L_DVBT2_PHYSICALLAYERPIPEID = 351, + DISPID_TUNER_L_DVBS_POLARISATION = 401, + DISPID_TUNER_L_DVBS_WEST = 402, + DISPID_TUNER_L_DVBS_ORBITAL = 403, + DISPID_TUNER_L_DVBS_AZIMUTH = 404, + DISPID_TUNER_L_DVBS_ELEVATION = 405, + DISPID_TUNER_L_DVBS2_DISEQ_LNB_SOURCE = 406, + DISPID_TUNER_TS_DVBS2_LOW_OSC_FREQ_OVERRIDE = 407, + DISPID_TUNER_TS_DVBS2_HI_OSC_FREQ_OVERRIDE = 408, + DISPID_TUNER_TS_DVBS2_LNB_SWITCH_FREQ_OVERRIDE = 409, + DISPID_TUNER_TS_DVBS2_SPECTRAL_INVERSION_OVERRIDE = 410, + DISPID_TUNER_L_DVBS2_ROLLOFF = 411, + DISPID_TUNER_L_DVBS2_PILOT = 412, + DISPID_TUNER_L_ANALOG_STANDARD = 601, + DISPID_TUNER_L_DTV_O_MAJOR_CHANNEL = 701, + DISPID_TUNER_C_TYPE = 1, + DISPID_TUNER_C_STATUS = 2, + DISPID_TUNER_C_LANGID = 3, + DISPID_TUNER_C_DESCRIPTION = 4, + DISPID_TUNER_C_CLONE = 5, + DISPID_TUNER_C_MP2_PID = 101, + DISPID_TUNER_C_MP2_PCRPID = 102, + DISPID_TUNER_C_MP2_PROGNO = 103, + DISPID_TUNER_C_ANALOG_AUDIO = 201, + DISPID_TUNER_TS_DVB_SYSTEMTYPE = 101, + DISPID_TUNER_TS_DVB2_NETWORK_ID = 102, + DISPID_TUNER_TS_DVBS_LOW_OSC_FREQ = 1001, + DISPID_TUNER_TS_DVBS_HI_OSC_FREQ = 1002, + DISPID_TUNER_TS_DVBS_LNB_SWITCH_FREQ = 1003, + DISPID_TUNER_TS_DVBS_INPUT_RANGE = 1004, + DISPID_TUNER_TS_DVBS_SPECTRAL_INVERSION = 1005, + DISPID_TUNER_TS_AR_MINFREQUENCY = 101, + DISPID_TUNER_TS_AR_MAXFREQUENCY = 102, + DISPID_TUNER_TS_AR_STEP = 103, + DISPID_TUNER_TS_AR_COUNTRYCODE = 104, + DISPID_TUNER_TS_AUX_COUNTRYCODE = 101, + DISPID_TUNER_TS_ATV_MINCHANNEL = 101, + DISPID_TUNER_TS_ATV_MAXCHANNEL = 102, + DISPID_TUNER_TS_ATV_INPUTTYPE = 103, + DISPID_TUNER_TS_ATV_COUNTRYCODE = 104, + DISPID_TUNER_TS_ATSC_MINMINORCHANNEL = 201, + DISPID_TUNER_TS_ATSC_MAXMINORCHANNEL = 202, + DISPID_TUNER_TS_ATSC_MINPHYSCHANNEL = 203, + DISPID_TUNER_TS_ATSC_MAXPHYSCHANNEL = 204, + DISPID_TUNER_TS_DC_MINMAJORCHANNEL = 301, + DISPID_TUNER_TS_DC_MAXMAJORCHANNEL = 302, + DISPID_TUNER_TS_DC_MINSOURCEID = 303, + DISPID_TUNER_TS_DC_MAXSOURCEID = 304, + DISPID_CHTUNER_ATVAC_CHANNEL = 101, + DISPID_CHTUNER_ATVDC_SYSTEM = 101, + DISPID_CHTUNER_ATVDC_CONTENT = 102, + DISPID_CHTUNER_CIDTR_CHANNELID = 101, + DISPID_CHTUNER_CTR_CHANNEL = 101, + DISPID_CHTUNER_ACTR_MINOR_CHANNEL = 201, + DISPID_CHTUNER_DCTR_MAJOR_CHANNEL = 301, + DISPID_CHTUNER_DCTR_SRCID = 302, + DISPID_DVBTUNER_DVBC_ATTRIBUTESVALID = 101, + DISPID_DVBTUNER_DVBC_PID = 102, + DISPID_DVBTUNER_DVBC_TAG = 103, + DISPID_DVBTUNER_DVBC_COMPONENTTYPE = 104, + DISPID_DVBTUNER_ONID = 101, + DISPID_DVBTUNER_TSID = 102, + DISPID_DVBTUNER_SID = 103, + DISPID_MP2TUNER_TSID = 101, + DISPID_MP2TUNER_PROGNO = 102, + DISPID_MP2TUNERFACTORY_CREATETUNEREQUEST = 1 +}; + +#define SID_ESEventService CLSID_ESEventService +#define SID_ESEventFactory CLSID_ESEventFactory +#define SID_SBroadcastEventService CLSID_BroadcastEventService +#define SID_SContentTuneRequest IID_ITuner +#define SID_ScanningTuner IID_IScanningTuner +#define SID_ScanningTunerEx IID_IScanningTunerEx + +/***************************************************************************** + * ITuningSpaces interface + */ +#ifndef __ITuningSpaces_INTERFACE_DEFINED__ +#define __ITuningSpaces_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITuningSpaces, 0x901284e4, 0x33fe, 0x4b69, 0x8d,0x63, 0x63,0x4a,0x59,0x6f,0x37,0x56); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("901284e4-33fe-4b69-8d63-634a596f3756") +ITuningSpaces : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IEnumVARIANT **NewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT varIndex, + ITuningSpace **TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EnumTuningSpaces( + IEnumTuningSpaces **NewEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITuningSpaces, 0x901284e4, 0x33fe, 0x4b69, 0x8d,0x63, 0x63,0x4a,0x59,0x6f,0x37,0x56) +#endif +#else +typedef struct ITuningSpacesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITuningSpaces *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITuningSpaces *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITuningSpaces *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITuningSpaces *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITuningSpaces *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITuningSpaces *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITuningSpaces *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpaces methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + ITuningSpaces *This, + LONG *Count); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ITuningSpaces *This, + IEnumVARIANT **NewEnum); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + ITuningSpaces *This, + VARIANT varIndex, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_EnumTuningSpaces)( + ITuningSpaces *This, + IEnumTuningSpaces **NewEnum); + + END_INTERFACE +} ITuningSpacesVtbl; + +interface ITuningSpaces { + CONST_VTBL ITuningSpacesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITuningSpaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITuningSpaces_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITuningSpaces_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITuningSpaces_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITuningSpaces_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITuningSpaces_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITuningSpaces_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpaces methods ***/ +#define ITuningSpaces_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) +#define ITuningSpaces_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum) +#define ITuningSpaces_get_Item(This,varIndex,TuningSpace) (This)->lpVtbl->get_Item(This,varIndex,TuningSpace) +#define ITuningSpaces_get_EnumTuningSpaces(This,NewEnum) (This)->lpVtbl->get_EnumTuningSpaces(This,NewEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITuningSpaces_QueryInterface(ITuningSpaces* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITuningSpaces_AddRef(ITuningSpaces* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITuningSpaces_Release(ITuningSpaces* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITuningSpaces_GetTypeInfoCount(ITuningSpaces* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITuningSpaces_GetTypeInfo(ITuningSpaces* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITuningSpaces_GetIDsOfNames(ITuningSpaces* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITuningSpaces_Invoke(ITuningSpaces* 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); +} +/*** ITuningSpaces methods ***/ +static inline HRESULT ITuningSpaces_get_Count(ITuningSpaces* This,LONG *Count) { + return This->lpVtbl->get_Count(This,Count); +} +static inline HRESULT ITuningSpaces_get__NewEnum(ITuningSpaces* This,IEnumVARIANT **NewEnum) { + return This->lpVtbl->get__NewEnum(This,NewEnum); +} +static inline HRESULT ITuningSpaces_get_Item(ITuningSpaces* This,VARIANT varIndex,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_Item(This,varIndex,TuningSpace); +} +static inline HRESULT ITuningSpaces_get_EnumTuningSpaces(ITuningSpaces* This,IEnumTuningSpaces **NewEnum) { + return This->lpVtbl->get_EnumTuningSpaces(This,NewEnum); +} +#endif +#endif + +#endif + + +#endif /* __ITuningSpaces_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITuningSpaceContainer interface + */ +#ifndef __ITuningSpaceContainer_INTERFACE_DEFINED__ +#define __ITuningSpaceContainer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITuningSpaceContainer, 0x5b692e84, 0xe2f1, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5b692e84-e2f1-11d2-9493-00c04f72d980") +ITuningSpaceContainer : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IEnumVARIANT **NewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT varIndex, + ITuningSpace **TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Item( + VARIANT varIndex, + ITuningSpace *TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE TuningSpacesForCLSID( + BSTR SpaceCLSID, + ITuningSpaces **NewColl) = 0; + + virtual HRESULT STDMETHODCALLTYPE _TuningSpacesForCLSID( + REFCLSID SpaceCLSID, + ITuningSpaces **NewColl) = 0; + + virtual HRESULT STDMETHODCALLTYPE TuningSpacesForName( + BSTR Name, + ITuningSpaces **NewColl) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindID( + ITuningSpace *TuningSpace, + LONG *ID) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + ITuningSpace *TuningSpace, + VARIANT *NewIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EnumTuningSpaces( + IEnumTuningSpaces **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT Index) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxCount( + LONG *MaxCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxCount( + LONG MaxCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITuningSpaceContainer, 0x5b692e84, 0xe2f1, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct ITuningSpaceContainerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITuningSpaceContainer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITuningSpaceContainer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITuningSpaceContainer *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITuningSpaceContainer *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITuningSpaceContainer *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITuningSpaceContainer *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITuningSpaceContainer *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpaceContainer methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + ITuningSpaceContainer *This, + LONG *Count); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ITuningSpaceContainer *This, + IEnumVARIANT **NewEnum); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + ITuningSpaceContainer *This, + VARIANT varIndex, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *put_Item)( + ITuningSpaceContainer *This, + VARIANT varIndex, + ITuningSpace *TuningSpace); + + HRESULT (STDMETHODCALLTYPE *TuningSpacesForCLSID)( + ITuningSpaceContainer *This, + BSTR SpaceCLSID, + ITuningSpaces **NewColl); + + HRESULT (STDMETHODCALLTYPE *_TuningSpacesForCLSID)( + ITuningSpaceContainer *This, + REFCLSID SpaceCLSID, + ITuningSpaces **NewColl); + + HRESULT (STDMETHODCALLTYPE *TuningSpacesForName)( + ITuningSpaceContainer *This, + BSTR Name, + ITuningSpaces **NewColl); + + HRESULT (STDMETHODCALLTYPE *FindID)( + ITuningSpaceContainer *This, + ITuningSpace *TuningSpace, + LONG *ID); + + HRESULT (STDMETHODCALLTYPE *Add)( + ITuningSpaceContainer *This, + ITuningSpace *TuningSpace, + VARIANT *NewIndex); + + HRESULT (STDMETHODCALLTYPE *get_EnumTuningSpaces)( + ITuningSpaceContainer *This, + IEnumTuningSpaces **ppEnum); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ITuningSpaceContainer *This, + VARIANT Index); + + HRESULT (STDMETHODCALLTYPE *get_MaxCount)( + ITuningSpaceContainer *This, + LONG *MaxCount); + + HRESULT (STDMETHODCALLTYPE *put_MaxCount)( + ITuningSpaceContainer *This, + LONG MaxCount); + + END_INTERFACE +} ITuningSpaceContainerVtbl; + +interface ITuningSpaceContainer { + CONST_VTBL ITuningSpaceContainerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITuningSpaceContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITuningSpaceContainer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITuningSpaceContainer_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITuningSpaceContainer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITuningSpaceContainer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITuningSpaceContainer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITuningSpaceContainer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpaceContainer methods ***/ +#define ITuningSpaceContainer_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) +#define ITuningSpaceContainer_get__NewEnum(This,NewEnum) (This)->lpVtbl->get__NewEnum(This,NewEnum) +#define ITuningSpaceContainer_get_Item(This,varIndex,TuningSpace) (This)->lpVtbl->get_Item(This,varIndex,TuningSpace) +#define ITuningSpaceContainer_put_Item(This,varIndex,TuningSpace) (This)->lpVtbl->put_Item(This,varIndex,TuningSpace) +#define ITuningSpaceContainer_TuningSpacesForCLSID(This,SpaceCLSID,NewColl) (This)->lpVtbl->TuningSpacesForCLSID(This,SpaceCLSID,NewColl) +#define ITuningSpaceContainer__TuningSpacesForCLSID(This,SpaceCLSID,NewColl) (This)->lpVtbl->_TuningSpacesForCLSID(This,SpaceCLSID,NewColl) +#define ITuningSpaceContainer_TuningSpacesForName(This,Name,NewColl) (This)->lpVtbl->TuningSpacesForName(This,Name,NewColl) +#define ITuningSpaceContainer_FindID(This,TuningSpace,ID) (This)->lpVtbl->FindID(This,TuningSpace,ID) +#define ITuningSpaceContainer_Add(This,TuningSpace,NewIndex) (This)->lpVtbl->Add(This,TuningSpace,NewIndex) +#define ITuningSpaceContainer_get_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->get_EnumTuningSpaces(This,ppEnum) +#define ITuningSpaceContainer_Remove(This,Index) (This)->lpVtbl->Remove(This,Index) +#define ITuningSpaceContainer_get_MaxCount(This,MaxCount) (This)->lpVtbl->get_MaxCount(This,MaxCount) +#define ITuningSpaceContainer_put_MaxCount(This,MaxCount) (This)->lpVtbl->put_MaxCount(This,MaxCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITuningSpaceContainer_QueryInterface(ITuningSpaceContainer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITuningSpaceContainer_AddRef(ITuningSpaceContainer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITuningSpaceContainer_Release(ITuningSpaceContainer* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITuningSpaceContainer_GetTypeInfoCount(ITuningSpaceContainer* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITuningSpaceContainer_GetTypeInfo(ITuningSpaceContainer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITuningSpaceContainer_GetIDsOfNames(ITuningSpaceContainer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITuningSpaceContainer_Invoke(ITuningSpaceContainer* 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); +} +/*** ITuningSpaceContainer methods ***/ +static inline HRESULT ITuningSpaceContainer_get_Count(ITuningSpaceContainer* This,LONG *Count) { + return This->lpVtbl->get_Count(This,Count); +} +static inline HRESULT ITuningSpaceContainer_get__NewEnum(ITuningSpaceContainer* This,IEnumVARIANT **NewEnum) { + return This->lpVtbl->get__NewEnum(This,NewEnum); +} +static inline HRESULT ITuningSpaceContainer_get_Item(ITuningSpaceContainer* This,VARIANT varIndex,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_Item(This,varIndex,TuningSpace); +} +static inline HRESULT ITuningSpaceContainer_put_Item(ITuningSpaceContainer* This,VARIANT varIndex,ITuningSpace *TuningSpace) { + return This->lpVtbl->put_Item(This,varIndex,TuningSpace); +} +static inline HRESULT ITuningSpaceContainer_TuningSpacesForCLSID(ITuningSpaceContainer* This,BSTR SpaceCLSID,ITuningSpaces **NewColl) { + return This->lpVtbl->TuningSpacesForCLSID(This,SpaceCLSID,NewColl); +} +static inline HRESULT ITuningSpaceContainer__TuningSpacesForCLSID(ITuningSpaceContainer* This,REFCLSID SpaceCLSID,ITuningSpaces **NewColl) { + return This->lpVtbl->_TuningSpacesForCLSID(This,SpaceCLSID,NewColl); +} +static inline HRESULT ITuningSpaceContainer_TuningSpacesForName(ITuningSpaceContainer* This,BSTR Name,ITuningSpaces **NewColl) { + return This->lpVtbl->TuningSpacesForName(This,Name,NewColl); +} +static inline HRESULT ITuningSpaceContainer_FindID(ITuningSpaceContainer* This,ITuningSpace *TuningSpace,LONG *ID) { + return This->lpVtbl->FindID(This,TuningSpace,ID); +} +static inline HRESULT ITuningSpaceContainer_Add(ITuningSpaceContainer* This,ITuningSpace *TuningSpace,VARIANT *NewIndex) { + return This->lpVtbl->Add(This,TuningSpace,NewIndex); +} +static inline HRESULT ITuningSpaceContainer_get_EnumTuningSpaces(ITuningSpaceContainer* This,IEnumTuningSpaces **ppEnum) { + return This->lpVtbl->get_EnumTuningSpaces(This,ppEnum); +} +static inline HRESULT ITuningSpaceContainer_Remove(ITuningSpaceContainer* This,VARIANT Index) { + return This->lpVtbl->Remove(This,Index); +} +static inline HRESULT ITuningSpaceContainer_get_MaxCount(ITuningSpaceContainer* This,LONG *MaxCount) { + return This->lpVtbl->get_MaxCount(This,MaxCount); +} +static inline HRESULT ITuningSpaceContainer_put_MaxCount(ITuningSpaceContainer* This,LONG MaxCount) { + return This->lpVtbl->put_MaxCount(This,MaxCount); +} +#endif +#endif + +#endif + + +#endif /* __ITuningSpaceContainer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITuningSpace interface + */ +#ifndef __ITuningSpace_INTERFACE_DEFINED__ +#define __ITuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITuningSpace, 0x061c6e30, 0xe622, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("061c6e30-e622-11d2-9493-00c04f72d980") +ITuningSpace : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_UniqueName( + BSTR *Name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UniqueName( + BSTR Name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FriendlyName( + BSTR *Name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FriendlyName( + BSTR Name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CLSID( + BSTR *SpaceCLSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkType( + BSTR *NetworkTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NetworkType( + BSTR NetworkTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NetworkType( + GUID *NetworkTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE put__NetworkType( + REFCLSID NetworkTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateTuneRequest( + ITuneRequest **TuneRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumCategoryGUIDs( + IEnumGUID **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumDeviceMonikers( + IEnumMoniker **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DefaultPreferredComponentTypes( + IComponentTypes **ComponentTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DefaultPreferredComponentTypes( + IComponentTypes *NewComponentTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FrequencyMapping( + BSTR *pMapping) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FrequencyMapping( + BSTR Mapping) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DefaultLocator( + ILocator **LocatorVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DefaultLocator( + ILocator *LocatorVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + ITuningSpace **NewTS) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITuningSpace, 0x061c6e30, 0xe622, 0x11d2, 0x94,0x93, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct ITuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + ITuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + ITuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + ITuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + ITuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + ITuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + ITuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + ITuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + ITuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + ITuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + ITuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + ITuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + ITuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + ITuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + ITuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + ITuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + ITuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + ITuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + ITuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + ITuningSpace *This, + ITuningSpace **NewTS); + + END_INTERFACE +} ITuningSpaceVtbl; + +interface ITuningSpace { + CONST_VTBL ITuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define ITuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define ITuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define ITuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define ITuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define ITuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define ITuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define ITuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define ITuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define ITuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define ITuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define ITuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define ITuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define ITuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define ITuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define ITuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define ITuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define ITuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define ITuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define ITuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITuningSpace_QueryInterface(ITuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITuningSpace_AddRef(ITuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITuningSpace_Release(ITuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITuningSpace_GetTypeInfoCount(ITuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITuningSpace_GetTypeInfo(ITuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITuningSpace_GetIDsOfNames(ITuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITuningSpace_Invoke(ITuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT ITuningSpace_get_UniqueName(ITuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT ITuningSpace_put_UniqueName(ITuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT ITuningSpace_get_FriendlyName(ITuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT ITuningSpace_put_FriendlyName(ITuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT ITuningSpace_get_CLSID(ITuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT ITuningSpace_get_NetworkType(ITuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT ITuningSpace_put_NetworkType(ITuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT ITuningSpace_get__NetworkType(ITuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT ITuningSpace_put__NetworkType(ITuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT ITuningSpace_CreateTuneRequest(ITuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT ITuningSpace_EnumCategoryGUIDs(ITuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT ITuningSpace_EnumDeviceMonikers(ITuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT ITuningSpace_get_DefaultPreferredComponentTypes(ITuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT ITuningSpace_put_DefaultPreferredComponentTypes(ITuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT ITuningSpace_get_FrequencyMapping(ITuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT ITuningSpace_put_FrequencyMapping(ITuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT ITuningSpace_get_DefaultLocator(ITuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT ITuningSpace_put_DefaultLocator(ITuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT ITuningSpace_Clone(ITuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +#endif +#endif + +#endif + + +#endif /* __ITuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumTuningSpaces interface + */ +#ifndef __IEnumTuningSpaces_INTERFACE_DEFINED__ +#define __IEnumTuningSpaces_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumTuningSpaces, 0x8b8eb248, 0xfc2b, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8b8eb248-fc2b-11d2-9d8c-00c04f72d980") +IEnumTuningSpaces : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + ITuningSpace **rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumTuningSpaces **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumTuningSpaces, 0x8b8eb248, 0xfc2b, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IEnumTuningSpacesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumTuningSpaces *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumTuningSpaces *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumTuningSpaces *This); + + /*** IEnumTuningSpaces methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumTuningSpaces *This, + ULONG celt, + ITuningSpace **rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumTuningSpaces *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumTuningSpaces *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumTuningSpaces *This, + IEnumTuningSpaces **ppEnum); + + END_INTERFACE +} IEnumTuningSpacesVtbl; + +interface IEnumTuningSpaces { + CONST_VTBL IEnumTuningSpacesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumTuningSpaces_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumTuningSpaces_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumTuningSpaces_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumTuningSpaces methods ***/ +#define IEnumTuningSpaces_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumTuningSpaces_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumTuningSpaces_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumTuningSpaces_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumTuningSpaces_QueryInterface(IEnumTuningSpaces* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumTuningSpaces_AddRef(IEnumTuningSpaces* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumTuningSpaces_Release(IEnumTuningSpaces* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumTuningSpaces methods ***/ +static inline HRESULT IEnumTuningSpaces_Next(IEnumTuningSpaces* This,ULONG celt,ITuningSpace **rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumTuningSpaces_Skip(IEnumTuningSpaces* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumTuningSpaces_Reset(IEnumTuningSpaces* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumTuningSpaces_Clone(IEnumTuningSpaces* This,IEnumTuningSpaces **ppEnum) { + return This->lpVtbl->Clone(This,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IEnumTuningSpaces_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBTuningSpace interface + */ +#ifndef __IDVBTuningSpace_INTERFACE_DEFINED__ +#define __IDVBTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBTuningSpace, 0xada0b268, 0x3b19, 0x4e5b, 0xac,0xc4, 0x49,0xf8,0x52,0xbe,0x13,0xba); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ada0b268-3b19-4e5b-acc4-49f852be13ba") +IDVBTuningSpace : public ITuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_SystemType( + DVBSystemType *SysType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SystemType( + DVBSystemType SysType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBTuningSpace, 0xada0b268, 0x3b19, 0x4e5b, 0xac,0xc4, 0x49,0xf8,0x52,0xbe,0x13,0xba) +#endif +#else +typedef struct IDVBTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IDVBTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IDVBTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IDVBTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IDVBTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IDVBTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IDVBTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IDVBTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IDVBTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IDVBTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IDVBTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IDVBTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IDVBTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IDVBTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IDVBTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IDVBTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IDVBTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IDVBTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IDVBTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBTuningSpace *This, + ITuningSpace **NewTS); + + /*** IDVBTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SystemType)( + IDVBTuningSpace *This, + DVBSystemType *SysType); + + HRESULT (STDMETHODCALLTYPE *put_SystemType)( + IDVBTuningSpace *This, + DVBSystemType SysType); + + END_INTERFACE +} IDVBTuningSpaceVtbl; + +interface IDVBTuningSpace { + CONST_VTBL IDVBTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IDVBTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IDVBTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IDVBTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IDVBTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IDVBTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IDVBTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IDVBTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IDVBTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IDVBTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IDVBTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IDVBTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IDVBTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IDVBTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IDVBTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IDVBTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IDVBTuningSpace methods ***/ +#define IDVBTuningSpace_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType) +#define IDVBTuningSpace_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBTuningSpace_QueryInterface(IDVBTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBTuningSpace_AddRef(IDVBTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBTuningSpace_Release(IDVBTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBTuningSpace_GetTypeInfoCount(IDVBTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBTuningSpace_GetTypeInfo(IDVBTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBTuningSpace_GetIDsOfNames(IDVBTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBTuningSpace_Invoke(IDVBTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IDVBTuningSpace_get_UniqueName(IDVBTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IDVBTuningSpace_put_UniqueName(IDVBTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IDVBTuningSpace_get_FriendlyName(IDVBTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IDVBTuningSpace_put_FriendlyName(IDVBTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IDVBTuningSpace_get_CLSID(IDVBTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IDVBTuningSpace_get_NetworkType(IDVBTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace_put_NetworkType(IDVBTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace_get__NetworkType(IDVBTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace_put__NetworkType(IDVBTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace_CreateTuneRequest(IDVBTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IDVBTuningSpace_EnumCategoryGUIDs(IDVBTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IDVBTuningSpace_EnumDeviceMonikers(IDVBTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IDVBTuningSpace_get_DefaultPreferredComponentTypes(IDVBTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IDVBTuningSpace_put_DefaultPreferredComponentTypes(IDVBTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IDVBTuningSpace_get_FrequencyMapping(IDVBTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IDVBTuningSpace_put_FrequencyMapping(IDVBTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IDVBTuningSpace_get_DefaultLocator(IDVBTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBTuningSpace_put_DefaultLocator(IDVBTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBTuningSpace_Clone(IDVBTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IDVBTuningSpace methods ***/ +static inline HRESULT IDVBTuningSpace_get_SystemType(IDVBTuningSpace* This,DVBSystemType *SysType) { + return This->lpVtbl->get_SystemType(This,SysType); +} +static inline HRESULT IDVBTuningSpace_put_SystemType(IDVBTuningSpace* This,DVBSystemType SysType) { + return This->lpVtbl->put_SystemType(This,SysType); +} +#endif +#endif + +#endif + + +#endif /* __IDVBTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBTuningSpace2 interface + */ +#ifndef __IDVBTuningSpace2_INTERFACE_DEFINED__ +#define __IDVBTuningSpace2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBTuningSpace2, 0x843188b4, 0xce62, 0x43db, 0x96,0x6b, 0x81,0x45,0xa0,0x94,0xe0,0x40); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("843188b4-ce62-43db-966b-8145a094e040") +IDVBTuningSpace2 : public IDVBTuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_NetworkID( + LONG *NetworkID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NetworkID( + LONG NetworkID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBTuningSpace2, 0x843188b4, 0xce62, 0x43db, 0x96,0x6b, 0x81,0x45,0xa0,0x94,0xe0,0x40) +#endif +#else +typedef struct IDVBTuningSpace2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBTuningSpace2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBTuningSpace2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBTuningSpace2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBTuningSpace2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBTuningSpace2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBTuningSpace2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBTuningSpace2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IDVBTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IDVBTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IDVBTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IDVBTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IDVBTuningSpace2 *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IDVBTuningSpace2 *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IDVBTuningSpace2 *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IDVBTuningSpace2 *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IDVBTuningSpace2 *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IDVBTuningSpace2 *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IDVBTuningSpace2 *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IDVBTuningSpace2 *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IDVBTuningSpace2 *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IDVBTuningSpace2 *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IDVBTuningSpace2 *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IDVBTuningSpace2 *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IDVBTuningSpace2 *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IDVBTuningSpace2 *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBTuningSpace2 *This, + ITuningSpace **NewTS); + + /*** IDVBTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SystemType)( + IDVBTuningSpace2 *This, + DVBSystemType *SysType); + + HRESULT (STDMETHODCALLTYPE *put_SystemType)( + IDVBTuningSpace2 *This, + DVBSystemType SysType); + + /*** IDVBTuningSpace2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_NetworkID)( + IDVBTuningSpace2 *This, + LONG *NetworkID); + + HRESULT (STDMETHODCALLTYPE *put_NetworkID)( + IDVBTuningSpace2 *This, + LONG NetworkID); + + END_INTERFACE +} IDVBTuningSpace2Vtbl; + +interface IDVBTuningSpace2 { + CONST_VTBL IDVBTuningSpace2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBTuningSpace2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IDVBTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IDVBTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IDVBTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IDVBTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IDVBTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IDVBTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IDVBTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IDVBTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IDVBTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IDVBTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IDVBTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IDVBTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IDVBTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IDVBTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IDVBTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IDVBTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IDVBTuningSpace methods ***/ +#define IDVBTuningSpace2_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType) +#define IDVBTuningSpace2_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType) +/*** IDVBTuningSpace2 methods ***/ +#define IDVBTuningSpace2_get_NetworkID(This,NetworkID) (This)->lpVtbl->get_NetworkID(This,NetworkID) +#define IDVBTuningSpace2_put_NetworkID(This,NetworkID) (This)->lpVtbl->put_NetworkID(This,NetworkID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBTuningSpace2_QueryInterface(IDVBTuningSpace2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBTuningSpace2_AddRef(IDVBTuningSpace2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBTuningSpace2_Release(IDVBTuningSpace2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBTuningSpace2_GetTypeInfoCount(IDVBTuningSpace2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBTuningSpace2_GetTypeInfo(IDVBTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBTuningSpace2_GetIDsOfNames(IDVBTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBTuningSpace2_Invoke(IDVBTuningSpace2* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IDVBTuningSpace2_get_UniqueName(IDVBTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IDVBTuningSpace2_put_UniqueName(IDVBTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IDVBTuningSpace2_get_FriendlyName(IDVBTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IDVBTuningSpace2_put_FriendlyName(IDVBTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IDVBTuningSpace2_get_CLSID(IDVBTuningSpace2* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IDVBTuningSpace2_get_NetworkType(IDVBTuningSpace2* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace2_put_NetworkType(IDVBTuningSpace2* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace2_get__NetworkType(IDVBTuningSpace2* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace2_put__NetworkType(IDVBTuningSpace2* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBTuningSpace2_CreateTuneRequest(IDVBTuningSpace2* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IDVBTuningSpace2_EnumCategoryGUIDs(IDVBTuningSpace2* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IDVBTuningSpace2_EnumDeviceMonikers(IDVBTuningSpace2* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IDVBTuningSpace2_get_DefaultPreferredComponentTypes(IDVBTuningSpace2* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IDVBTuningSpace2_put_DefaultPreferredComponentTypes(IDVBTuningSpace2* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IDVBTuningSpace2_get_FrequencyMapping(IDVBTuningSpace2* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IDVBTuningSpace2_put_FrequencyMapping(IDVBTuningSpace2* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IDVBTuningSpace2_get_DefaultLocator(IDVBTuningSpace2* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBTuningSpace2_put_DefaultLocator(IDVBTuningSpace2* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBTuningSpace2_Clone(IDVBTuningSpace2* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IDVBTuningSpace methods ***/ +static inline HRESULT IDVBTuningSpace2_get_SystemType(IDVBTuningSpace2* This,DVBSystemType *SysType) { + return This->lpVtbl->get_SystemType(This,SysType); +} +static inline HRESULT IDVBTuningSpace2_put_SystemType(IDVBTuningSpace2* This,DVBSystemType SysType) { + return This->lpVtbl->put_SystemType(This,SysType); +} +/*** IDVBTuningSpace2 methods ***/ +static inline HRESULT IDVBTuningSpace2_get_NetworkID(IDVBTuningSpace2* This,LONG *NetworkID) { + return This->lpVtbl->get_NetworkID(This,NetworkID); +} +static inline HRESULT IDVBTuningSpace2_put_NetworkID(IDVBTuningSpace2* This,LONG NetworkID) { + return This->lpVtbl->put_NetworkID(This,NetworkID); +} +#endif +#endif + +#endif + + +#endif /* __IDVBTuningSpace2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBSTuningSpace interface + */ +#ifndef __IDVBSTuningSpace_INTERFACE_DEFINED__ +#define __IDVBSTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBSTuningSpace, 0xcdf7be60, 0xd954, 0x42fd, 0xa9,0x72, 0x78,0x97,0x19,0x58,0xe4,0x70); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cdf7be60-d954-42fd-a972-78971958e470") +IDVBSTuningSpace : public IDVBTuningSpace2 +{ + virtual HRESULT STDMETHODCALLTYPE get_LowOscillator( + LONG *LowOscillator) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LowOscillator( + LONG LowOscillator) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HighOscillator( + LONG *HighOscillator) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_HighOscillator( + LONG HighOscillator) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LNBSwitch( + LONG *LNBSwitch) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LNBSwitch( + LONG LNBSwitch) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InputRange( + BSTR *InputRange) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_InputRange( + BSTR InputRange) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SpectralInversion( + SpectralInversion *SpectralInversionVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SpectralInversion( + SpectralInversion SpectralInversionVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBSTuningSpace, 0xcdf7be60, 0xd954, 0x42fd, 0xa9,0x72, 0x78,0x97,0x19,0x58,0xe4,0x70) +#endif +#else +typedef struct IDVBSTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBSTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBSTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBSTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBSTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBSTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBSTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBSTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IDVBSTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IDVBSTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IDVBSTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IDVBSTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IDVBSTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IDVBSTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IDVBSTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IDVBSTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IDVBSTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IDVBSTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IDVBSTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IDVBSTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IDVBSTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IDVBSTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IDVBSTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IDVBSTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IDVBSTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IDVBSTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBSTuningSpace *This, + ITuningSpace **NewTS); + + /*** IDVBTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SystemType)( + IDVBSTuningSpace *This, + DVBSystemType *SysType); + + HRESULT (STDMETHODCALLTYPE *put_SystemType)( + IDVBSTuningSpace *This, + DVBSystemType SysType); + + /*** IDVBTuningSpace2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_NetworkID)( + IDVBSTuningSpace *This, + LONG *NetworkID); + + HRESULT (STDMETHODCALLTYPE *put_NetworkID)( + IDVBSTuningSpace *This, + LONG NetworkID); + + /*** IDVBSTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_LowOscillator)( + IDVBSTuningSpace *This, + LONG *LowOscillator); + + HRESULT (STDMETHODCALLTYPE *put_LowOscillator)( + IDVBSTuningSpace *This, + LONG LowOscillator); + + HRESULT (STDMETHODCALLTYPE *get_HighOscillator)( + IDVBSTuningSpace *This, + LONG *HighOscillator); + + HRESULT (STDMETHODCALLTYPE *put_HighOscillator)( + IDVBSTuningSpace *This, + LONG HighOscillator); + + HRESULT (STDMETHODCALLTYPE *get_LNBSwitch)( + IDVBSTuningSpace *This, + LONG *LNBSwitch); + + HRESULT (STDMETHODCALLTYPE *put_LNBSwitch)( + IDVBSTuningSpace *This, + LONG LNBSwitch); + + HRESULT (STDMETHODCALLTYPE *get_InputRange)( + IDVBSTuningSpace *This, + BSTR *InputRange); + + HRESULT (STDMETHODCALLTYPE *put_InputRange)( + IDVBSTuningSpace *This, + BSTR InputRange); + + HRESULT (STDMETHODCALLTYPE *get_SpectralInversion)( + IDVBSTuningSpace *This, + SpectralInversion *SpectralInversionVal); + + HRESULT (STDMETHODCALLTYPE *put_SpectralInversion)( + IDVBSTuningSpace *This, + SpectralInversion SpectralInversionVal); + + END_INTERFACE +} IDVBSTuningSpaceVtbl; + +interface IDVBSTuningSpace { + CONST_VTBL IDVBSTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBSTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBSTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBSTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBSTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBSTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBSTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBSTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IDVBSTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IDVBSTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IDVBSTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IDVBSTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IDVBSTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IDVBSTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IDVBSTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IDVBSTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IDVBSTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IDVBSTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IDVBSTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IDVBSTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IDVBSTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IDVBSTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IDVBSTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IDVBSTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IDVBSTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IDVBSTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IDVBSTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IDVBTuningSpace methods ***/ +#define IDVBSTuningSpace_get_SystemType(This,SysType) (This)->lpVtbl->get_SystemType(This,SysType) +#define IDVBSTuningSpace_put_SystemType(This,SysType) (This)->lpVtbl->put_SystemType(This,SysType) +/*** IDVBTuningSpace2 methods ***/ +#define IDVBSTuningSpace_get_NetworkID(This,NetworkID) (This)->lpVtbl->get_NetworkID(This,NetworkID) +#define IDVBSTuningSpace_put_NetworkID(This,NetworkID) (This)->lpVtbl->put_NetworkID(This,NetworkID) +/*** IDVBSTuningSpace methods ***/ +#define IDVBSTuningSpace_get_LowOscillator(This,LowOscillator) (This)->lpVtbl->get_LowOscillator(This,LowOscillator) +#define IDVBSTuningSpace_put_LowOscillator(This,LowOscillator) (This)->lpVtbl->put_LowOscillator(This,LowOscillator) +#define IDVBSTuningSpace_get_HighOscillator(This,HighOscillator) (This)->lpVtbl->get_HighOscillator(This,HighOscillator) +#define IDVBSTuningSpace_put_HighOscillator(This,HighOscillator) (This)->lpVtbl->put_HighOscillator(This,HighOscillator) +#define IDVBSTuningSpace_get_LNBSwitch(This,LNBSwitch) (This)->lpVtbl->get_LNBSwitch(This,LNBSwitch) +#define IDVBSTuningSpace_put_LNBSwitch(This,LNBSwitch) (This)->lpVtbl->put_LNBSwitch(This,LNBSwitch) +#define IDVBSTuningSpace_get_InputRange(This,InputRange) (This)->lpVtbl->get_InputRange(This,InputRange) +#define IDVBSTuningSpace_put_InputRange(This,InputRange) (This)->lpVtbl->put_InputRange(This,InputRange) +#define IDVBSTuningSpace_get_SpectralInversion(This,SpectralInversionVal) (This)->lpVtbl->get_SpectralInversion(This,SpectralInversionVal) +#define IDVBSTuningSpace_put_SpectralInversion(This,SpectralInversionVal) (This)->lpVtbl->put_SpectralInversion(This,SpectralInversionVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBSTuningSpace_QueryInterface(IDVBSTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBSTuningSpace_AddRef(IDVBSTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBSTuningSpace_Release(IDVBSTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBSTuningSpace_GetTypeInfoCount(IDVBSTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBSTuningSpace_GetTypeInfo(IDVBSTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBSTuningSpace_GetIDsOfNames(IDVBSTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBSTuningSpace_Invoke(IDVBSTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IDVBSTuningSpace_get_UniqueName(IDVBSTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IDVBSTuningSpace_put_UniqueName(IDVBSTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IDVBSTuningSpace_get_FriendlyName(IDVBSTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IDVBSTuningSpace_put_FriendlyName(IDVBSTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IDVBSTuningSpace_get_CLSID(IDVBSTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IDVBSTuningSpace_get_NetworkType(IDVBSTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBSTuningSpace_put_NetworkType(IDVBSTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBSTuningSpace_get__NetworkType(IDVBSTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBSTuningSpace_put__NetworkType(IDVBSTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDVBSTuningSpace_CreateTuneRequest(IDVBSTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IDVBSTuningSpace_EnumCategoryGUIDs(IDVBSTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IDVBSTuningSpace_EnumDeviceMonikers(IDVBSTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IDVBSTuningSpace_get_DefaultPreferredComponentTypes(IDVBSTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IDVBSTuningSpace_put_DefaultPreferredComponentTypes(IDVBSTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IDVBSTuningSpace_get_FrequencyMapping(IDVBSTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IDVBSTuningSpace_put_FrequencyMapping(IDVBSTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IDVBSTuningSpace_get_DefaultLocator(IDVBSTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBSTuningSpace_put_DefaultLocator(IDVBSTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDVBSTuningSpace_Clone(IDVBSTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IDVBTuningSpace methods ***/ +static inline HRESULT IDVBSTuningSpace_get_SystemType(IDVBSTuningSpace* This,DVBSystemType *SysType) { + return This->lpVtbl->get_SystemType(This,SysType); +} +static inline HRESULT IDVBSTuningSpace_put_SystemType(IDVBSTuningSpace* This,DVBSystemType SysType) { + return This->lpVtbl->put_SystemType(This,SysType); +} +/*** IDVBTuningSpace2 methods ***/ +static inline HRESULT IDVBSTuningSpace_get_NetworkID(IDVBSTuningSpace* This,LONG *NetworkID) { + return This->lpVtbl->get_NetworkID(This,NetworkID); +} +static inline HRESULT IDVBSTuningSpace_put_NetworkID(IDVBSTuningSpace* This,LONG NetworkID) { + return This->lpVtbl->put_NetworkID(This,NetworkID); +} +/*** IDVBSTuningSpace methods ***/ +static inline HRESULT IDVBSTuningSpace_get_LowOscillator(IDVBSTuningSpace* This,LONG *LowOscillator) { + return This->lpVtbl->get_LowOscillator(This,LowOscillator); +} +static inline HRESULT IDVBSTuningSpace_put_LowOscillator(IDVBSTuningSpace* This,LONG LowOscillator) { + return This->lpVtbl->put_LowOscillator(This,LowOscillator); +} +static inline HRESULT IDVBSTuningSpace_get_HighOscillator(IDVBSTuningSpace* This,LONG *HighOscillator) { + return This->lpVtbl->get_HighOscillator(This,HighOscillator); +} +static inline HRESULT IDVBSTuningSpace_put_HighOscillator(IDVBSTuningSpace* This,LONG HighOscillator) { + return This->lpVtbl->put_HighOscillator(This,HighOscillator); +} +static inline HRESULT IDVBSTuningSpace_get_LNBSwitch(IDVBSTuningSpace* This,LONG *LNBSwitch) { + return This->lpVtbl->get_LNBSwitch(This,LNBSwitch); +} +static inline HRESULT IDVBSTuningSpace_put_LNBSwitch(IDVBSTuningSpace* This,LONG LNBSwitch) { + return This->lpVtbl->put_LNBSwitch(This,LNBSwitch); +} +static inline HRESULT IDVBSTuningSpace_get_InputRange(IDVBSTuningSpace* This,BSTR *InputRange) { + return This->lpVtbl->get_InputRange(This,InputRange); +} +static inline HRESULT IDVBSTuningSpace_put_InputRange(IDVBSTuningSpace* This,BSTR InputRange) { + return This->lpVtbl->put_InputRange(This,InputRange); +} +static inline HRESULT IDVBSTuningSpace_get_SpectralInversion(IDVBSTuningSpace* This,SpectralInversion *SpectralInversionVal) { + return This->lpVtbl->get_SpectralInversion(This,SpectralInversionVal); +} +static inline HRESULT IDVBSTuningSpace_put_SpectralInversion(IDVBSTuningSpace* This,SpectralInversion SpectralInversionVal) { + return This->lpVtbl->put_SpectralInversion(This,SpectralInversionVal); +} +#endif +#endif + +#endif + + +#endif /* __IDVBSTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAuxInTuningSpace interface + */ +#ifndef __IAuxInTuningSpace_INTERFACE_DEFINED__ +#define __IAuxInTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAuxInTuningSpace, 0xe48244b8, 0x7e17, 0x4f76, 0xa7,0x63, 0x50,0x90,0xff,0x1e,0x2f,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e48244b8-7e17-4f76-a763-5090ff1e2f30") +IAuxInTuningSpace : public ITuningSpace +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAuxInTuningSpace, 0xe48244b8, 0x7e17, 0x4f76, 0xa7,0x63, 0x50,0x90,0xff,0x1e,0x2f,0x30) +#endif +#else +typedef struct IAuxInTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAuxInTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAuxInTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAuxInTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAuxInTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAuxInTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAuxInTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAuxInTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IAuxInTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IAuxInTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IAuxInTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IAuxInTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IAuxInTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IAuxInTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IAuxInTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IAuxInTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IAuxInTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IAuxInTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IAuxInTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IAuxInTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IAuxInTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IAuxInTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IAuxInTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IAuxInTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IAuxInTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IAuxInTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAuxInTuningSpace *This, + ITuningSpace **NewTS); + + END_INTERFACE +} IAuxInTuningSpaceVtbl; + +interface IAuxInTuningSpace { + CONST_VTBL IAuxInTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAuxInTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAuxInTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAuxInTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAuxInTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAuxInTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAuxInTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAuxInTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IAuxInTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IAuxInTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IAuxInTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IAuxInTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IAuxInTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IAuxInTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IAuxInTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IAuxInTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IAuxInTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IAuxInTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IAuxInTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IAuxInTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IAuxInTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IAuxInTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IAuxInTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAuxInTuningSpace_QueryInterface(IAuxInTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAuxInTuningSpace_AddRef(IAuxInTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAuxInTuningSpace_Release(IAuxInTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAuxInTuningSpace_GetTypeInfoCount(IAuxInTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAuxInTuningSpace_GetTypeInfo(IAuxInTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAuxInTuningSpace_GetIDsOfNames(IAuxInTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAuxInTuningSpace_Invoke(IAuxInTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IAuxInTuningSpace_get_UniqueName(IAuxInTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IAuxInTuningSpace_put_UniqueName(IAuxInTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IAuxInTuningSpace_get_FriendlyName(IAuxInTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IAuxInTuningSpace_put_FriendlyName(IAuxInTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IAuxInTuningSpace_get_CLSID(IAuxInTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IAuxInTuningSpace_get_NetworkType(IAuxInTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace_put_NetworkType(IAuxInTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace_get__NetworkType(IAuxInTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace_put__NetworkType(IAuxInTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace_CreateTuneRequest(IAuxInTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IAuxInTuningSpace_EnumCategoryGUIDs(IAuxInTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IAuxInTuningSpace_EnumDeviceMonikers(IAuxInTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IAuxInTuningSpace_get_DefaultPreferredComponentTypes(IAuxInTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IAuxInTuningSpace_put_DefaultPreferredComponentTypes(IAuxInTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IAuxInTuningSpace_get_FrequencyMapping(IAuxInTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IAuxInTuningSpace_put_FrequencyMapping(IAuxInTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IAuxInTuningSpace_get_DefaultLocator(IAuxInTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAuxInTuningSpace_put_DefaultLocator(IAuxInTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAuxInTuningSpace_Clone(IAuxInTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +#endif +#endif + +#endif + + +#endif /* __IAuxInTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAuxInTuningSpace2 interface + */ +#ifndef __IAuxInTuningSpace2_INTERFACE_DEFINED__ +#define __IAuxInTuningSpace2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAuxInTuningSpace2, 0xb10931ed, 0x8bfe, 0x4ab0, 0x9d,0xce, 0xe4,0x69,0xc2,0x9a,0x97,0x29); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b10931ed-8bfe-4ab0-9dce-e469c29a9729") +IAuxInTuningSpace2 : public IAuxInTuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_CountryCode( + LONG *CountryCodeVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CountryCode( + LONG NewCountryCodeVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAuxInTuningSpace2, 0xb10931ed, 0x8bfe, 0x4ab0, 0x9d,0xce, 0xe4,0x69,0xc2,0x9a,0x97,0x29) +#endif +#else +typedef struct IAuxInTuningSpace2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAuxInTuningSpace2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAuxInTuningSpace2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAuxInTuningSpace2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAuxInTuningSpace2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAuxInTuningSpace2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAuxInTuningSpace2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAuxInTuningSpace2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IAuxInTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IAuxInTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IAuxInTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IAuxInTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IAuxInTuningSpace2 *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IAuxInTuningSpace2 *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IAuxInTuningSpace2 *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IAuxInTuningSpace2 *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IAuxInTuningSpace2 *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IAuxInTuningSpace2 *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IAuxInTuningSpace2 *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IAuxInTuningSpace2 *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IAuxInTuningSpace2 *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IAuxInTuningSpace2 *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IAuxInTuningSpace2 *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IAuxInTuningSpace2 *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IAuxInTuningSpace2 *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IAuxInTuningSpace2 *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAuxInTuningSpace2 *This, + ITuningSpace **NewTS); + + /*** IAuxInTuningSpace2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CountryCode)( + IAuxInTuningSpace2 *This, + LONG *CountryCodeVal); + + HRESULT (STDMETHODCALLTYPE *put_CountryCode)( + IAuxInTuningSpace2 *This, + LONG NewCountryCodeVal); + + END_INTERFACE +} IAuxInTuningSpace2Vtbl; + +interface IAuxInTuningSpace2 { + CONST_VTBL IAuxInTuningSpace2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAuxInTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAuxInTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAuxInTuningSpace2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAuxInTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAuxInTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAuxInTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAuxInTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IAuxInTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IAuxInTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IAuxInTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IAuxInTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IAuxInTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IAuxInTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IAuxInTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IAuxInTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IAuxInTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IAuxInTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IAuxInTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IAuxInTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IAuxInTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IAuxInTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IAuxInTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IAuxInTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAuxInTuningSpace2 methods ***/ +#define IAuxInTuningSpace2_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal) +#define IAuxInTuningSpace2_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAuxInTuningSpace2_QueryInterface(IAuxInTuningSpace2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAuxInTuningSpace2_AddRef(IAuxInTuningSpace2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAuxInTuningSpace2_Release(IAuxInTuningSpace2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAuxInTuningSpace2_GetTypeInfoCount(IAuxInTuningSpace2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAuxInTuningSpace2_GetTypeInfo(IAuxInTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAuxInTuningSpace2_GetIDsOfNames(IAuxInTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAuxInTuningSpace2_Invoke(IAuxInTuningSpace2* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IAuxInTuningSpace2_get_UniqueName(IAuxInTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IAuxInTuningSpace2_put_UniqueName(IAuxInTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IAuxInTuningSpace2_get_FriendlyName(IAuxInTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IAuxInTuningSpace2_put_FriendlyName(IAuxInTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IAuxInTuningSpace2_get_CLSID(IAuxInTuningSpace2* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IAuxInTuningSpace2_get_NetworkType(IAuxInTuningSpace2* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace2_put_NetworkType(IAuxInTuningSpace2* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace2_get__NetworkType(IAuxInTuningSpace2* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace2_put__NetworkType(IAuxInTuningSpace2* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAuxInTuningSpace2_CreateTuneRequest(IAuxInTuningSpace2* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IAuxInTuningSpace2_EnumCategoryGUIDs(IAuxInTuningSpace2* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IAuxInTuningSpace2_EnumDeviceMonikers(IAuxInTuningSpace2* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IAuxInTuningSpace2_get_DefaultPreferredComponentTypes(IAuxInTuningSpace2* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IAuxInTuningSpace2_put_DefaultPreferredComponentTypes(IAuxInTuningSpace2* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IAuxInTuningSpace2_get_FrequencyMapping(IAuxInTuningSpace2* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IAuxInTuningSpace2_put_FrequencyMapping(IAuxInTuningSpace2* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IAuxInTuningSpace2_get_DefaultLocator(IAuxInTuningSpace2* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAuxInTuningSpace2_put_DefaultLocator(IAuxInTuningSpace2* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAuxInTuningSpace2_Clone(IAuxInTuningSpace2* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAuxInTuningSpace2 methods ***/ +static inline HRESULT IAuxInTuningSpace2_get_CountryCode(IAuxInTuningSpace2* This,LONG *CountryCodeVal) { + return This->lpVtbl->get_CountryCode(This,CountryCodeVal); +} +static inline HRESULT IAuxInTuningSpace2_put_CountryCode(IAuxInTuningSpace2* This,LONG NewCountryCodeVal) { + return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal); +} +#endif +#endif + +#endif + + +#endif /* __IAuxInTuningSpace2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnalogTVTuningSpace interface + */ +#ifndef __IAnalogTVTuningSpace_INTERFACE_DEFINED__ +#define __IAnalogTVTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnalogTVTuningSpace, 0x2a6e293c, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2a6e293c-2595-11d3-b64c-00c04f79498e") +IAnalogTVTuningSpace : public ITuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_MinChannel( + LONG *MinChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinChannel( + LONG NewMinChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxChannel( + LONG *MaxChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxChannel( + LONG NewMaxChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InputType( + TunerInputType *InputTypeVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_InputType( + TunerInputType NewInputTypeVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CountryCode( + LONG *CountryCodeVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CountryCode( + LONG NewCountryCodeVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnalogTVTuningSpace, 0x2a6e293c, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IAnalogTVTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnalogTVTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnalogTVTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnalogTVTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAnalogTVTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAnalogTVTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAnalogTVTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAnalogTVTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IAnalogTVTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IAnalogTVTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IAnalogTVTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IAnalogTVTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IAnalogTVTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IAnalogTVTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IAnalogTVTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IAnalogTVTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IAnalogTVTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IAnalogTVTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IAnalogTVTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IAnalogTVTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IAnalogTVTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IAnalogTVTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IAnalogTVTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IAnalogTVTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IAnalogTVTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IAnalogTVTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAnalogTVTuningSpace *This, + ITuningSpace **NewTS); + + /*** IAnalogTVTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinChannel)( + IAnalogTVTuningSpace *This, + LONG *MinChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinChannel)( + IAnalogTVTuningSpace *This, + LONG NewMinChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxChannel)( + IAnalogTVTuningSpace *This, + LONG *MaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxChannel)( + IAnalogTVTuningSpace *This, + LONG NewMaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_InputType)( + IAnalogTVTuningSpace *This, + TunerInputType *InputTypeVal); + + HRESULT (STDMETHODCALLTYPE *put_InputType)( + IAnalogTVTuningSpace *This, + TunerInputType NewInputTypeVal); + + HRESULT (STDMETHODCALLTYPE *get_CountryCode)( + IAnalogTVTuningSpace *This, + LONG *CountryCodeVal); + + HRESULT (STDMETHODCALLTYPE *put_CountryCode)( + IAnalogTVTuningSpace *This, + LONG NewCountryCodeVal); + + END_INTERFACE +} IAnalogTVTuningSpaceVtbl; + +interface IAnalogTVTuningSpace { + CONST_VTBL IAnalogTVTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnalogTVTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnalogTVTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnalogTVTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAnalogTVTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAnalogTVTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAnalogTVTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAnalogTVTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IAnalogTVTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IAnalogTVTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IAnalogTVTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IAnalogTVTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IAnalogTVTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IAnalogTVTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IAnalogTVTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IAnalogTVTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IAnalogTVTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IAnalogTVTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IAnalogTVTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IAnalogTVTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IAnalogTVTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IAnalogTVTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IAnalogTVTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IAnalogTVTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IAnalogTVTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IAnalogTVTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IAnalogTVTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAnalogTVTuningSpace methods ***/ +#define IAnalogTVTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal) +#define IAnalogTVTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal) +#define IAnalogTVTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal) +#define IAnalogTVTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal) +#define IAnalogTVTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal) +#define IAnalogTVTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal) +#define IAnalogTVTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal) +#define IAnalogTVTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnalogTVTuningSpace_QueryInterface(IAnalogTVTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnalogTVTuningSpace_AddRef(IAnalogTVTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnalogTVTuningSpace_Release(IAnalogTVTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAnalogTVTuningSpace_GetTypeInfoCount(IAnalogTVTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAnalogTVTuningSpace_GetTypeInfo(IAnalogTVTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAnalogTVTuningSpace_GetIDsOfNames(IAnalogTVTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAnalogTVTuningSpace_Invoke(IAnalogTVTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IAnalogTVTuningSpace_get_UniqueName(IAnalogTVTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IAnalogTVTuningSpace_put_UniqueName(IAnalogTVTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IAnalogTVTuningSpace_get_FriendlyName(IAnalogTVTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IAnalogTVTuningSpace_put_FriendlyName(IAnalogTVTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IAnalogTVTuningSpace_get_CLSID(IAnalogTVTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IAnalogTVTuningSpace_get_NetworkType(IAnalogTVTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogTVTuningSpace_put_NetworkType(IAnalogTVTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogTVTuningSpace_get__NetworkType(IAnalogTVTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogTVTuningSpace_put__NetworkType(IAnalogTVTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogTVTuningSpace_CreateTuneRequest(IAnalogTVTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IAnalogTVTuningSpace_EnumCategoryGUIDs(IAnalogTVTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IAnalogTVTuningSpace_EnumDeviceMonikers(IAnalogTVTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IAnalogTVTuningSpace_get_DefaultPreferredComponentTypes(IAnalogTVTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IAnalogTVTuningSpace_put_DefaultPreferredComponentTypes(IAnalogTVTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IAnalogTVTuningSpace_get_FrequencyMapping(IAnalogTVTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IAnalogTVTuningSpace_put_FrequencyMapping(IAnalogTVTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IAnalogTVTuningSpace_get_DefaultLocator(IAnalogTVTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogTVTuningSpace_put_DefaultLocator(IAnalogTVTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogTVTuningSpace_Clone(IAnalogTVTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAnalogTVTuningSpace methods ***/ +static inline HRESULT IAnalogTVTuningSpace_get_MinChannel(IAnalogTVTuningSpace* This,LONG *MinChannelVal) { + return This->lpVtbl->get_MinChannel(This,MinChannelVal); +} +static inline HRESULT IAnalogTVTuningSpace_put_MinChannel(IAnalogTVTuningSpace* This,LONG NewMinChannelVal) { + return This->lpVtbl->put_MinChannel(This,NewMinChannelVal); +} +static inline HRESULT IAnalogTVTuningSpace_get_MaxChannel(IAnalogTVTuningSpace* This,LONG *MaxChannelVal) { + return This->lpVtbl->get_MaxChannel(This,MaxChannelVal); +} +static inline HRESULT IAnalogTVTuningSpace_put_MaxChannel(IAnalogTVTuningSpace* This,LONG NewMaxChannelVal) { + return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal); +} +static inline HRESULT IAnalogTVTuningSpace_get_InputType(IAnalogTVTuningSpace* This,TunerInputType *InputTypeVal) { + return This->lpVtbl->get_InputType(This,InputTypeVal); +} +static inline HRESULT IAnalogTVTuningSpace_put_InputType(IAnalogTVTuningSpace* This,TunerInputType NewInputTypeVal) { + return This->lpVtbl->put_InputType(This,NewInputTypeVal); +} +static inline HRESULT IAnalogTVTuningSpace_get_CountryCode(IAnalogTVTuningSpace* This,LONG *CountryCodeVal) { + return This->lpVtbl->get_CountryCode(This,CountryCodeVal); +} +static inline HRESULT IAnalogTVTuningSpace_put_CountryCode(IAnalogTVTuningSpace* This,LONG NewCountryCodeVal) { + return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal); +} +#endif +#endif + +#endif + + +#endif /* __IAnalogTVTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IATSCTuningSpace interface + */ +#ifndef __IATSCTuningSpace_INTERFACE_DEFINED__ +#define __IATSCTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IATSCTuningSpace, 0x0369b4e2, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0369b4e2-45b6-11d3-b650-00c04f79498e") +IATSCTuningSpace : public IAnalogTVTuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_MinMinorChannel( + LONG *MinMinorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinMinorChannel( + LONG NewMinMinorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxMinorChannel( + LONG *MaxMinorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxMinorChannel( + LONG NewMaxMinorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MinPhysicalChannel( + LONG *MinPhysicalChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinPhysicalChannel( + LONG NewMinPhysicalChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxPhysicalChannel( + LONG *MaxPhysicalChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxPhysicalChannel( + LONG NewMaxPhysicalChannelVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IATSCTuningSpace, 0x0369b4e2, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IATSCTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IATSCTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IATSCTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IATSCTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IATSCTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IATSCTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IATSCTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IATSCTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IATSCTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IATSCTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IATSCTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IATSCTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IATSCTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IATSCTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IATSCTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IATSCTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IATSCTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IATSCTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IATSCTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IATSCTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IATSCTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IATSCTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IATSCTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IATSCTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IATSCTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IATSCTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IATSCTuningSpace *This, + ITuningSpace **NewTS); + + /*** IAnalogTVTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinChannel)( + IATSCTuningSpace *This, + LONG *MinChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinChannel)( + IATSCTuningSpace *This, + LONG NewMinChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxChannel)( + IATSCTuningSpace *This, + LONG *MaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxChannel)( + IATSCTuningSpace *This, + LONG NewMaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_InputType)( + IATSCTuningSpace *This, + TunerInputType *InputTypeVal); + + HRESULT (STDMETHODCALLTYPE *put_InputType)( + IATSCTuningSpace *This, + TunerInputType NewInputTypeVal); + + HRESULT (STDMETHODCALLTYPE *get_CountryCode)( + IATSCTuningSpace *This, + LONG *CountryCodeVal); + + HRESULT (STDMETHODCALLTYPE *put_CountryCode)( + IATSCTuningSpace *This, + LONG NewCountryCodeVal); + + /*** IATSCTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinMinorChannel)( + IATSCTuningSpace *This, + LONG *MinMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinMinorChannel)( + IATSCTuningSpace *This, + LONG NewMinMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxMinorChannel)( + IATSCTuningSpace *This, + LONG *MaxMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxMinorChannel)( + IATSCTuningSpace *This, + LONG NewMaxMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MinPhysicalChannel)( + IATSCTuningSpace *This, + LONG *MinPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinPhysicalChannel)( + IATSCTuningSpace *This, + LONG NewMinPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxPhysicalChannel)( + IATSCTuningSpace *This, + LONG *MaxPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxPhysicalChannel)( + IATSCTuningSpace *This, + LONG NewMaxPhysicalChannelVal); + + END_INTERFACE +} IATSCTuningSpaceVtbl; + +interface IATSCTuningSpace { + CONST_VTBL IATSCTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IATSCTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IATSCTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IATSCTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IATSCTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IATSCTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IATSCTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IATSCTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IATSCTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IATSCTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IATSCTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IATSCTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IATSCTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IATSCTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IATSCTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IATSCTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IATSCTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IATSCTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IATSCTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IATSCTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IATSCTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IATSCTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IATSCTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IATSCTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IATSCTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IATSCTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IATSCTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAnalogTVTuningSpace methods ***/ +#define IATSCTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal) +#define IATSCTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal) +#define IATSCTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal) +#define IATSCTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal) +#define IATSCTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal) +#define IATSCTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal) +#define IATSCTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal) +#define IATSCTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal) +/*** IATSCTuningSpace methods ***/ +#define IATSCTuningSpace_get_MinMinorChannel(This,MinMinorChannelVal) (This)->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal) +#define IATSCTuningSpace_put_MinMinorChannel(This,NewMinMinorChannelVal) (This)->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal) +#define IATSCTuningSpace_get_MaxMinorChannel(This,MaxMinorChannelVal) (This)->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal) +#define IATSCTuningSpace_put_MaxMinorChannel(This,NewMaxMinorChannelVal) (This)->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal) +#define IATSCTuningSpace_get_MinPhysicalChannel(This,MinPhysicalChannelVal) (This)->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal) +#define IATSCTuningSpace_put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) (This)->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) +#define IATSCTuningSpace_get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) (This)->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) +#define IATSCTuningSpace_put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) (This)->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IATSCTuningSpace_QueryInterface(IATSCTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IATSCTuningSpace_AddRef(IATSCTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IATSCTuningSpace_Release(IATSCTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IATSCTuningSpace_GetTypeInfoCount(IATSCTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IATSCTuningSpace_GetTypeInfo(IATSCTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IATSCTuningSpace_GetIDsOfNames(IATSCTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IATSCTuningSpace_Invoke(IATSCTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IATSCTuningSpace_get_UniqueName(IATSCTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IATSCTuningSpace_put_UniqueName(IATSCTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IATSCTuningSpace_get_FriendlyName(IATSCTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IATSCTuningSpace_put_FriendlyName(IATSCTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IATSCTuningSpace_get_CLSID(IATSCTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IATSCTuningSpace_get_NetworkType(IATSCTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IATSCTuningSpace_put_NetworkType(IATSCTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IATSCTuningSpace_get__NetworkType(IATSCTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IATSCTuningSpace_put__NetworkType(IATSCTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IATSCTuningSpace_CreateTuneRequest(IATSCTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IATSCTuningSpace_EnumCategoryGUIDs(IATSCTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IATSCTuningSpace_EnumDeviceMonikers(IATSCTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IATSCTuningSpace_get_DefaultPreferredComponentTypes(IATSCTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IATSCTuningSpace_put_DefaultPreferredComponentTypes(IATSCTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IATSCTuningSpace_get_FrequencyMapping(IATSCTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IATSCTuningSpace_put_FrequencyMapping(IATSCTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IATSCTuningSpace_get_DefaultLocator(IATSCTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IATSCTuningSpace_put_DefaultLocator(IATSCTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IATSCTuningSpace_Clone(IATSCTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAnalogTVTuningSpace methods ***/ +static inline HRESULT IATSCTuningSpace_get_MinChannel(IATSCTuningSpace* This,LONG *MinChannelVal) { + return This->lpVtbl->get_MinChannel(This,MinChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MinChannel(IATSCTuningSpace* This,LONG NewMinChannelVal) { + return This->lpVtbl->put_MinChannel(This,NewMinChannelVal); +} +static inline HRESULT IATSCTuningSpace_get_MaxChannel(IATSCTuningSpace* This,LONG *MaxChannelVal) { + return This->lpVtbl->get_MaxChannel(This,MaxChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MaxChannel(IATSCTuningSpace* This,LONG NewMaxChannelVal) { + return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal); +} +static inline HRESULT IATSCTuningSpace_get_InputType(IATSCTuningSpace* This,TunerInputType *InputTypeVal) { + return This->lpVtbl->get_InputType(This,InputTypeVal); +} +static inline HRESULT IATSCTuningSpace_put_InputType(IATSCTuningSpace* This,TunerInputType NewInputTypeVal) { + return This->lpVtbl->put_InputType(This,NewInputTypeVal); +} +static inline HRESULT IATSCTuningSpace_get_CountryCode(IATSCTuningSpace* This,LONG *CountryCodeVal) { + return This->lpVtbl->get_CountryCode(This,CountryCodeVal); +} +static inline HRESULT IATSCTuningSpace_put_CountryCode(IATSCTuningSpace* This,LONG NewCountryCodeVal) { + return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal); +} +/*** IATSCTuningSpace methods ***/ +static inline HRESULT IATSCTuningSpace_get_MinMinorChannel(IATSCTuningSpace* This,LONG *MinMinorChannelVal) { + return This->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MinMinorChannel(IATSCTuningSpace* This,LONG NewMinMinorChannelVal) { + return This->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal); +} +static inline HRESULT IATSCTuningSpace_get_MaxMinorChannel(IATSCTuningSpace* This,LONG *MaxMinorChannelVal) { + return This->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MaxMinorChannel(IATSCTuningSpace* This,LONG NewMaxMinorChannelVal) { + return This->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal); +} +static inline HRESULT IATSCTuningSpace_get_MinPhysicalChannel(IATSCTuningSpace* This,LONG *MinPhysicalChannelVal) { + return This->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MinPhysicalChannel(IATSCTuningSpace* This,LONG NewMinPhysicalChannelVal) { + return This->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal); +} +static inline HRESULT IATSCTuningSpace_get_MaxPhysicalChannel(IATSCTuningSpace* This,LONG *MaxPhysicalChannelVal) { + return This->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal); +} +static inline HRESULT IATSCTuningSpace_put_MaxPhysicalChannel(IATSCTuningSpace* This,LONG NewMaxPhysicalChannelVal) { + return This->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal); +} +#endif +#endif + +#endif + + +#endif /* __IATSCTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDigitalCableTuningSpace interface + */ +#ifndef __IDigitalCableTuningSpace_INTERFACE_DEFINED__ +#define __IDigitalCableTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDigitalCableTuningSpace, 0x013f9f9c, 0xb449, 0x4ec7, 0xa6,0xd2, 0x9d,0x4f,0x2f,0xc7,0x0a,0xe5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("013f9f9c-b449-4ec7-a6d2-9d4f2fc70ae5") +IDigitalCableTuningSpace : public IATSCTuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_MinMajorChannel( + LONG *MinMajorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinMajorChannel( + LONG NewMinMajorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxMajorChannel( + LONG *MaxMajorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxMajorChannel( + LONG NewMaxMajorChannelVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MinSourceID( + LONG *MinSourceIDVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinSourceID( + LONG NewMinSourceIDVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxSourceID( + LONG *MaxSourceIDVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxSourceID( + LONG NewMaxSourceIDVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDigitalCableTuningSpace, 0x013f9f9c, 0xb449, 0x4ec7, 0xa6,0xd2, 0x9d,0x4f,0x2f,0xc7,0x0a,0xe5) +#endif +#else +typedef struct IDigitalCableTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDigitalCableTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDigitalCableTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDigitalCableTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDigitalCableTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDigitalCableTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDigitalCableTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDigitalCableTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IDigitalCableTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IDigitalCableTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IDigitalCableTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IDigitalCableTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IDigitalCableTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IDigitalCableTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IDigitalCableTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IDigitalCableTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IDigitalCableTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IDigitalCableTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IDigitalCableTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IDigitalCableTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IDigitalCableTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IDigitalCableTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IDigitalCableTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IDigitalCableTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IDigitalCableTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IDigitalCableTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDigitalCableTuningSpace *This, + ITuningSpace **NewTS); + + /*** IAnalogTVTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinChannel)( + IDigitalCableTuningSpace *This, + LONG *MinChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinChannel)( + IDigitalCableTuningSpace *This, + LONG NewMinChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxChannel)( + IDigitalCableTuningSpace *This, + LONG *MaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxChannel)( + IDigitalCableTuningSpace *This, + LONG NewMaxChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_InputType)( + IDigitalCableTuningSpace *This, + TunerInputType *InputTypeVal); + + HRESULT (STDMETHODCALLTYPE *put_InputType)( + IDigitalCableTuningSpace *This, + TunerInputType NewInputTypeVal); + + HRESULT (STDMETHODCALLTYPE *get_CountryCode)( + IDigitalCableTuningSpace *This, + LONG *CountryCodeVal); + + HRESULT (STDMETHODCALLTYPE *put_CountryCode)( + IDigitalCableTuningSpace *This, + LONG NewCountryCodeVal); + + /*** IATSCTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinMinorChannel)( + IDigitalCableTuningSpace *This, + LONG *MinMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinMinorChannel)( + IDigitalCableTuningSpace *This, + LONG NewMinMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxMinorChannel)( + IDigitalCableTuningSpace *This, + LONG *MaxMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxMinorChannel)( + IDigitalCableTuningSpace *This, + LONG NewMaxMinorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MinPhysicalChannel)( + IDigitalCableTuningSpace *This, + LONG *MinPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinPhysicalChannel)( + IDigitalCableTuningSpace *This, + LONG NewMinPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxPhysicalChannel)( + IDigitalCableTuningSpace *This, + LONG *MaxPhysicalChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxPhysicalChannel)( + IDigitalCableTuningSpace *This, + LONG NewMaxPhysicalChannelVal); + + /*** IDigitalCableTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinMajorChannel)( + IDigitalCableTuningSpace *This, + LONG *MinMajorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MinMajorChannel)( + IDigitalCableTuningSpace *This, + LONG NewMinMajorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxMajorChannel)( + IDigitalCableTuningSpace *This, + LONG *MaxMajorChannelVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxMajorChannel)( + IDigitalCableTuningSpace *This, + LONG NewMaxMajorChannelVal); + + HRESULT (STDMETHODCALLTYPE *get_MinSourceID)( + IDigitalCableTuningSpace *This, + LONG *MinSourceIDVal); + + HRESULT (STDMETHODCALLTYPE *put_MinSourceID)( + IDigitalCableTuningSpace *This, + LONG NewMinSourceIDVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxSourceID)( + IDigitalCableTuningSpace *This, + LONG *MaxSourceIDVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxSourceID)( + IDigitalCableTuningSpace *This, + LONG NewMaxSourceIDVal); + + END_INTERFACE +} IDigitalCableTuningSpaceVtbl; + +interface IDigitalCableTuningSpace { + CONST_VTBL IDigitalCableTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDigitalCableTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDigitalCableTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDigitalCableTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDigitalCableTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDigitalCableTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDigitalCableTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDigitalCableTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IDigitalCableTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IDigitalCableTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IDigitalCableTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IDigitalCableTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IDigitalCableTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IDigitalCableTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IDigitalCableTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IDigitalCableTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IDigitalCableTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IDigitalCableTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IDigitalCableTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IDigitalCableTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IDigitalCableTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IDigitalCableTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IDigitalCableTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IDigitalCableTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IDigitalCableTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IDigitalCableTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IDigitalCableTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAnalogTVTuningSpace methods ***/ +#define IDigitalCableTuningSpace_get_MinChannel(This,MinChannelVal) (This)->lpVtbl->get_MinChannel(This,MinChannelVal) +#define IDigitalCableTuningSpace_put_MinChannel(This,NewMinChannelVal) (This)->lpVtbl->put_MinChannel(This,NewMinChannelVal) +#define IDigitalCableTuningSpace_get_MaxChannel(This,MaxChannelVal) (This)->lpVtbl->get_MaxChannel(This,MaxChannelVal) +#define IDigitalCableTuningSpace_put_MaxChannel(This,NewMaxChannelVal) (This)->lpVtbl->put_MaxChannel(This,NewMaxChannelVal) +#define IDigitalCableTuningSpace_get_InputType(This,InputTypeVal) (This)->lpVtbl->get_InputType(This,InputTypeVal) +#define IDigitalCableTuningSpace_put_InputType(This,NewInputTypeVal) (This)->lpVtbl->put_InputType(This,NewInputTypeVal) +#define IDigitalCableTuningSpace_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal) +#define IDigitalCableTuningSpace_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal) +/*** IATSCTuningSpace methods ***/ +#define IDigitalCableTuningSpace_get_MinMinorChannel(This,MinMinorChannelVal) (This)->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal) +#define IDigitalCableTuningSpace_put_MinMinorChannel(This,NewMinMinorChannelVal) (This)->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal) +#define IDigitalCableTuningSpace_get_MaxMinorChannel(This,MaxMinorChannelVal) (This)->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal) +#define IDigitalCableTuningSpace_put_MaxMinorChannel(This,NewMaxMinorChannelVal) (This)->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal) +#define IDigitalCableTuningSpace_get_MinPhysicalChannel(This,MinPhysicalChannelVal) (This)->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal) +#define IDigitalCableTuningSpace_put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) (This)->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal) +#define IDigitalCableTuningSpace_get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) (This)->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal) +#define IDigitalCableTuningSpace_put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) (This)->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal) +/*** IDigitalCableTuningSpace methods ***/ +#define IDigitalCableTuningSpace_get_MinMajorChannel(This,MinMajorChannelVal) (This)->lpVtbl->get_MinMajorChannel(This,MinMajorChannelVal) +#define IDigitalCableTuningSpace_put_MinMajorChannel(This,NewMinMajorChannelVal) (This)->lpVtbl->put_MinMajorChannel(This,NewMinMajorChannelVal) +#define IDigitalCableTuningSpace_get_MaxMajorChannel(This,MaxMajorChannelVal) (This)->lpVtbl->get_MaxMajorChannel(This,MaxMajorChannelVal) +#define IDigitalCableTuningSpace_put_MaxMajorChannel(This,NewMaxMajorChannelVal) (This)->lpVtbl->put_MaxMajorChannel(This,NewMaxMajorChannelVal) +#define IDigitalCableTuningSpace_get_MinSourceID(This,MinSourceIDVal) (This)->lpVtbl->get_MinSourceID(This,MinSourceIDVal) +#define IDigitalCableTuningSpace_put_MinSourceID(This,NewMinSourceIDVal) (This)->lpVtbl->put_MinSourceID(This,NewMinSourceIDVal) +#define IDigitalCableTuningSpace_get_MaxSourceID(This,MaxSourceIDVal) (This)->lpVtbl->get_MaxSourceID(This,MaxSourceIDVal) +#define IDigitalCableTuningSpace_put_MaxSourceID(This,NewMaxSourceIDVal) (This)->lpVtbl->put_MaxSourceID(This,NewMaxSourceIDVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDigitalCableTuningSpace_QueryInterface(IDigitalCableTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDigitalCableTuningSpace_AddRef(IDigitalCableTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDigitalCableTuningSpace_Release(IDigitalCableTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDigitalCableTuningSpace_GetTypeInfoCount(IDigitalCableTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDigitalCableTuningSpace_GetTypeInfo(IDigitalCableTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDigitalCableTuningSpace_GetIDsOfNames(IDigitalCableTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDigitalCableTuningSpace_Invoke(IDigitalCableTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IDigitalCableTuningSpace_get_UniqueName(IDigitalCableTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IDigitalCableTuningSpace_put_UniqueName(IDigitalCableTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IDigitalCableTuningSpace_get_FriendlyName(IDigitalCableTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IDigitalCableTuningSpace_put_FriendlyName(IDigitalCableTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IDigitalCableTuningSpace_get_CLSID(IDigitalCableTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IDigitalCableTuningSpace_get_NetworkType(IDigitalCableTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDigitalCableTuningSpace_put_NetworkType(IDigitalCableTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDigitalCableTuningSpace_get__NetworkType(IDigitalCableTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDigitalCableTuningSpace_put__NetworkType(IDigitalCableTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IDigitalCableTuningSpace_CreateTuneRequest(IDigitalCableTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IDigitalCableTuningSpace_EnumCategoryGUIDs(IDigitalCableTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IDigitalCableTuningSpace_EnumDeviceMonikers(IDigitalCableTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IDigitalCableTuningSpace_get_DefaultPreferredComponentTypes(IDigitalCableTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IDigitalCableTuningSpace_put_DefaultPreferredComponentTypes(IDigitalCableTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IDigitalCableTuningSpace_get_FrequencyMapping(IDigitalCableTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IDigitalCableTuningSpace_put_FrequencyMapping(IDigitalCableTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IDigitalCableTuningSpace_get_DefaultLocator(IDigitalCableTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_DefaultLocator(IDigitalCableTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IDigitalCableTuningSpace_Clone(IDigitalCableTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAnalogTVTuningSpace methods ***/ +static inline HRESULT IDigitalCableTuningSpace_get_MinChannel(IDigitalCableTuningSpace* This,LONG *MinChannelVal) { + return This->lpVtbl->get_MinChannel(This,MinChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MinChannel(IDigitalCableTuningSpace* This,LONG NewMinChannelVal) { + return This->lpVtbl->put_MinChannel(This,NewMinChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MaxChannel(IDigitalCableTuningSpace* This,LONG *MaxChannelVal) { + return This->lpVtbl->get_MaxChannel(This,MaxChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MaxChannel(IDigitalCableTuningSpace* This,LONG NewMaxChannelVal) { + return This->lpVtbl->put_MaxChannel(This,NewMaxChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_InputType(IDigitalCableTuningSpace* This,TunerInputType *InputTypeVal) { + return This->lpVtbl->get_InputType(This,InputTypeVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_InputType(IDigitalCableTuningSpace* This,TunerInputType NewInputTypeVal) { + return This->lpVtbl->put_InputType(This,NewInputTypeVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_CountryCode(IDigitalCableTuningSpace* This,LONG *CountryCodeVal) { + return This->lpVtbl->get_CountryCode(This,CountryCodeVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_CountryCode(IDigitalCableTuningSpace* This,LONG NewCountryCodeVal) { + return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal); +} +/*** IATSCTuningSpace methods ***/ +static inline HRESULT IDigitalCableTuningSpace_get_MinMinorChannel(IDigitalCableTuningSpace* This,LONG *MinMinorChannelVal) { + return This->lpVtbl->get_MinMinorChannel(This,MinMinorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MinMinorChannel(IDigitalCableTuningSpace* This,LONG NewMinMinorChannelVal) { + return This->lpVtbl->put_MinMinorChannel(This,NewMinMinorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MaxMinorChannel(IDigitalCableTuningSpace* This,LONG *MaxMinorChannelVal) { + return This->lpVtbl->get_MaxMinorChannel(This,MaxMinorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MaxMinorChannel(IDigitalCableTuningSpace* This,LONG NewMaxMinorChannelVal) { + return This->lpVtbl->put_MaxMinorChannel(This,NewMaxMinorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MinPhysicalChannel(IDigitalCableTuningSpace* This,LONG *MinPhysicalChannelVal) { + return This->lpVtbl->get_MinPhysicalChannel(This,MinPhysicalChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MinPhysicalChannel(IDigitalCableTuningSpace* This,LONG NewMinPhysicalChannelVal) { + return This->lpVtbl->put_MinPhysicalChannel(This,NewMinPhysicalChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MaxPhysicalChannel(IDigitalCableTuningSpace* This,LONG *MaxPhysicalChannelVal) { + return This->lpVtbl->get_MaxPhysicalChannel(This,MaxPhysicalChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MaxPhysicalChannel(IDigitalCableTuningSpace* This,LONG NewMaxPhysicalChannelVal) { + return This->lpVtbl->put_MaxPhysicalChannel(This,NewMaxPhysicalChannelVal); +} +/*** IDigitalCableTuningSpace methods ***/ +static inline HRESULT IDigitalCableTuningSpace_get_MinMajorChannel(IDigitalCableTuningSpace* This,LONG *MinMajorChannelVal) { + return This->lpVtbl->get_MinMajorChannel(This,MinMajorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MinMajorChannel(IDigitalCableTuningSpace* This,LONG NewMinMajorChannelVal) { + return This->lpVtbl->put_MinMajorChannel(This,NewMinMajorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MaxMajorChannel(IDigitalCableTuningSpace* This,LONG *MaxMajorChannelVal) { + return This->lpVtbl->get_MaxMajorChannel(This,MaxMajorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MaxMajorChannel(IDigitalCableTuningSpace* This,LONG NewMaxMajorChannelVal) { + return This->lpVtbl->put_MaxMajorChannel(This,NewMaxMajorChannelVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MinSourceID(IDigitalCableTuningSpace* This,LONG *MinSourceIDVal) { + return This->lpVtbl->get_MinSourceID(This,MinSourceIDVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MinSourceID(IDigitalCableTuningSpace* This,LONG NewMinSourceIDVal) { + return This->lpVtbl->put_MinSourceID(This,NewMinSourceIDVal); +} +static inline HRESULT IDigitalCableTuningSpace_get_MaxSourceID(IDigitalCableTuningSpace* This,LONG *MaxSourceIDVal) { + return This->lpVtbl->get_MaxSourceID(This,MaxSourceIDVal); +} +static inline HRESULT IDigitalCableTuningSpace_put_MaxSourceID(IDigitalCableTuningSpace* This,LONG NewMaxSourceIDVal) { + return This->lpVtbl->put_MaxSourceID(This,NewMaxSourceIDVal); +} +#endif +#endif + +#endif + + +#endif /* __IDigitalCableTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnalogRadioTuningSpace interface + */ +#ifndef __IAnalogRadioTuningSpace_INTERFACE_DEFINED__ +#define __IAnalogRadioTuningSpace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnalogRadioTuningSpace, 0x2a6e293b, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2a6e293b-2595-11d3-b64c-00c04f79498e") +IAnalogRadioTuningSpace : public ITuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_MinFrequency( + LONG *MinFrequencyVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinFrequency( + LONG NewMinFrequencyVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxFrequency( + LONG *MaxFrequencyVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MaxFrequency( + LONG NewMaxFrequencyVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Step( + LONG *StepVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Step( + LONG NewStepVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnalogRadioTuningSpace, 0x2a6e293b, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IAnalogRadioTuningSpaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnalogRadioTuningSpace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnalogRadioTuningSpace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnalogRadioTuningSpace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAnalogRadioTuningSpace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAnalogRadioTuningSpace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAnalogRadioTuningSpace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAnalogRadioTuningSpace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IAnalogRadioTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IAnalogRadioTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IAnalogRadioTuningSpace *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IAnalogRadioTuningSpace *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IAnalogRadioTuningSpace *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IAnalogRadioTuningSpace *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IAnalogRadioTuningSpace *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IAnalogRadioTuningSpace *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IAnalogRadioTuningSpace *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IAnalogRadioTuningSpace *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IAnalogRadioTuningSpace *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IAnalogRadioTuningSpace *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IAnalogRadioTuningSpace *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IAnalogRadioTuningSpace *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IAnalogRadioTuningSpace *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IAnalogRadioTuningSpace *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IAnalogRadioTuningSpace *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IAnalogRadioTuningSpace *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAnalogRadioTuningSpace *This, + ITuningSpace **NewTS); + + /*** IAnalogRadioTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinFrequency)( + IAnalogRadioTuningSpace *This, + LONG *MinFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *put_MinFrequency)( + IAnalogRadioTuningSpace *This, + LONG NewMinFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxFrequency)( + IAnalogRadioTuningSpace *This, + LONG *MaxFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxFrequency)( + IAnalogRadioTuningSpace *This, + LONG NewMaxFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *get_Step)( + IAnalogRadioTuningSpace *This, + LONG *StepVal); + + HRESULT (STDMETHODCALLTYPE *put_Step)( + IAnalogRadioTuningSpace *This, + LONG NewStepVal); + + END_INTERFACE +} IAnalogRadioTuningSpaceVtbl; + +interface IAnalogRadioTuningSpace { + CONST_VTBL IAnalogRadioTuningSpaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnalogRadioTuningSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnalogRadioTuningSpace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnalogRadioTuningSpace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAnalogRadioTuningSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAnalogRadioTuningSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAnalogRadioTuningSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAnalogRadioTuningSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IAnalogRadioTuningSpace_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IAnalogRadioTuningSpace_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IAnalogRadioTuningSpace_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IAnalogRadioTuningSpace_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IAnalogRadioTuningSpace_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IAnalogRadioTuningSpace_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IAnalogRadioTuningSpace_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IAnalogRadioTuningSpace_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IAnalogRadioTuningSpace_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IAnalogRadioTuningSpace_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IAnalogRadioTuningSpace_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IAnalogRadioTuningSpace_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IAnalogRadioTuningSpace_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IAnalogRadioTuningSpace_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IAnalogRadioTuningSpace_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAnalogRadioTuningSpace methods ***/ +#define IAnalogRadioTuningSpace_get_MinFrequency(This,MinFrequencyVal) (This)->lpVtbl->get_MinFrequency(This,MinFrequencyVal) +#define IAnalogRadioTuningSpace_put_MinFrequency(This,NewMinFrequencyVal) (This)->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal) +#define IAnalogRadioTuningSpace_get_MaxFrequency(This,MaxFrequencyVal) (This)->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal) +#define IAnalogRadioTuningSpace_put_MaxFrequency(This,NewMaxFrequencyVal) (This)->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal) +#define IAnalogRadioTuningSpace_get_Step(This,StepVal) (This)->lpVtbl->get_Step(This,StepVal) +#define IAnalogRadioTuningSpace_put_Step(This,NewStepVal) (This)->lpVtbl->put_Step(This,NewStepVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnalogRadioTuningSpace_QueryInterface(IAnalogRadioTuningSpace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnalogRadioTuningSpace_AddRef(IAnalogRadioTuningSpace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnalogRadioTuningSpace_Release(IAnalogRadioTuningSpace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAnalogRadioTuningSpace_GetTypeInfoCount(IAnalogRadioTuningSpace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAnalogRadioTuningSpace_GetTypeInfo(IAnalogRadioTuningSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAnalogRadioTuningSpace_GetIDsOfNames(IAnalogRadioTuningSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAnalogRadioTuningSpace_Invoke(IAnalogRadioTuningSpace* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IAnalogRadioTuningSpace_get_UniqueName(IAnalogRadioTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace_put_UniqueName(IAnalogRadioTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace_get_FriendlyName(IAnalogRadioTuningSpace* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace_put_FriendlyName(IAnalogRadioTuningSpace* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace_get_CLSID(IAnalogRadioTuningSpace* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IAnalogRadioTuningSpace_get_NetworkType(IAnalogRadioTuningSpace* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace_put_NetworkType(IAnalogRadioTuningSpace* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace_get__NetworkType(IAnalogRadioTuningSpace* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace_put__NetworkType(IAnalogRadioTuningSpace* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace_CreateTuneRequest(IAnalogRadioTuningSpace* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IAnalogRadioTuningSpace_EnumCategoryGUIDs(IAnalogRadioTuningSpace* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IAnalogRadioTuningSpace_EnumDeviceMonikers(IAnalogRadioTuningSpace* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IAnalogRadioTuningSpace_get_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IAnalogRadioTuningSpace_put_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IAnalogRadioTuningSpace_get_FrequencyMapping(IAnalogRadioTuningSpace* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IAnalogRadioTuningSpace_put_FrequencyMapping(IAnalogRadioTuningSpace* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IAnalogRadioTuningSpace_get_DefaultLocator(IAnalogRadioTuningSpace* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogRadioTuningSpace_put_DefaultLocator(IAnalogRadioTuningSpace* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogRadioTuningSpace_Clone(IAnalogRadioTuningSpace* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAnalogRadioTuningSpace methods ***/ +static inline HRESULT IAnalogRadioTuningSpace_get_MinFrequency(IAnalogRadioTuningSpace* This,LONG *MinFrequencyVal) { + return This->lpVtbl->get_MinFrequency(This,MinFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace_put_MinFrequency(IAnalogRadioTuningSpace* This,LONG NewMinFrequencyVal) { + return This->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace_get_MaxFrequency(IAnalogRadioTuningSpace* This,LONG *MaxFrequencyVal) { + return This->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace_put_MaxFrequency(IAnalogRadioTuningSpace* This,LONG NewMaxFrequencyVal) { + return This->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace_get_Step(IAnalogRadioTuningSpace* This,LONG *StepVal) { + return This->lpVtbl->get_Step(This,StepVal); +} +static inline HRESULT IAnalogRadioTuningSpace_put_Step(IAnalogRadioTuningSpace* This,LONG NewStepVal) { + return This->lpVtbl->put_Step(This,NewStepVal); +} +#endif +#endif + +#endif + + +#endif /* __IAnalogRadioTuningSpace_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnalogRadioTuningSpace2 interface + */ +#ifndef __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__ +#define __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnalogRadioTuningSpace2, 0x39dd45da, 0x2da8, 0x46ba, 0x8a,0x8a, 0x87,0xe2,0xb7,0x3d,0x98,0x3a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("39dd45da-2da8-46ba-8a8a-87e2b73d983a") +IAnalogRadioTuningSpace2 : public IAnalogRadioTuningSpace +{ + virtual HRESULT STDMETHODCALLTYPE get_CountryCode( + LONG *CountryCodeVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CountryCode( + LONG NewCountryCodeVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnalogRadioTuningSpace2, 0x39dd45da, 0x2da8, 0x46ba, 0x8a,0x8a, 0x87,0xe2,0xb7,0x3d,0x98,0x3a) +#endif +#else +typedef struct IAnalogRadioTuningSpace2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnalogRadioTuningSpace2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnalogRadioTuningSpace2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnalogRadioTuningSpace2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAnalogRadioTuningSpace2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAnalogRadioTuningSpace2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAnalogRadioTuningSpace2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAnalogRadioTuningSpace2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UniqueName)( + IAnalogRadioTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_UniqueName)( + IAnalogRadioTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IAnalogRadioTuningSpace2 *This, + BSTR *Name); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IAnalogRadioTuningSpace2 *This, + BSTR Name); + + HRESULT (STDMETHODCALLTYPE *get_CLSID)( + IAnalogRadioTuningSpace2 *This, + BSTR *SpaceCLSID); + + HRESULT (STDMETHODCALLTYPE *get_NetworkType)( + IAnalogRadioTuningSpace2 *This, + BSTR *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put_NetworkType)( + IAnalogRadioTuningSpace2 *This, + BSTR NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get__NetworkType)( + IAnalogRadioTuningSpace2 *This, + GUID *NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__NetworkType)( + IAnalogRadioTuningSpace2 *This, + REFCLSID NetworkTypeGuid); + + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IAnalogRadioTuningSpace2 *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *EnumCategoryGUIDs)( + IAnalogRadioTuningSpace2 *This, + IEnumGUID **ppEnum); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceMonikers)( + IAnalogRadioTuningSpace2 *This, + IEnumMoniker **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_DefaultPreferredComponentTypes)( + IAnalogRadioTuningSpace2 *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_DefaultPreferredComponentTypes)( + IAnalogRadioTuningSpace2 *This, + IComponentTypes *NewComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_FrequencyMapping)( + IAnalogRadioTuningSpace2 *This, + BSTR *pMapping); + + HRESULT (STDMETHODCALLTYPE *put_FrequencyMapping)( + IAnalogRadioTuningSpace2 *This, + BSTR Mapping); + + HRESULT (STDMETHODCALLTYPE *get_DefaultLocator)( + IAnalogRadioTuningSpace2 *This, + ILocator **LocatorVal); + + HRESULT (STDMETHODCALLTYPE *put_DefaultLocator)( + IAnalogRadioTuningSpace2 *This, + ILocator *LocatorVal); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAnalogRadioTuningSpace2 *This, + ITuningSpace **NewTS); + + /*** IAnalogRadioTuningSpace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinFrequency)( + IAnalogRadioTuningSpace2 *This, + LONG *MinFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *put_MinFrequency)( + IAnalogRadioTuningSpace2 *This, + LONG NewMinFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *get_MaxFrequency)( + IAnalogRadioTuningSpace2 *This, + LONG *MaxFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *put_MaxFrequency)( + IAnalogRadioTuningSpace2 *This, + LONG NewMaxFrequencyVal); + + HRESULT (STDMETHODCALLTYPE *get_Step)( + IAnalogRadioTuningSpace2 *This, + LONG *StepVal); + + HRESULT (STDMETHODCALLTYPE *put_Step)( + IAnalogRadioTuningSpace2 *This, + LONG NewStepVal); + + /*** IAnalogRadioTuningSpace2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CountryCode)( + IAnalogRadioTuningSpace2 *This, + LONG *CountryCodeVal); + + HRESULT (STDMETHODCALLTYPE *put_CountryCode)( + IAnalogRadioTuningSpace2 *This, + LONG NewCountryCodeVal); + + END_INTERFACE +} IAnalogRadioTuningSpace2Vtbl; + +interface IAnalogRadioTuningSpace2 { + CONST_VTBL IAnalogRadioTuningSpace2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnalogRadioTuningSpace2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnalogRadioTuningSpace2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnalogRadioTuningSpace2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAnalogRadioTuningSpace2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAnalogRadioTuningSpace2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAnalogRadioTuningSpace2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAnalogRadioTuningSpace2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuningSpace methods ***/ +#define IAnalogRadioTuningSpace2_get_UniqueName(This,Name) (This)->lpVtbl->get_UniqueName(This,Name) +#define IAnalogRadioTuningSpace2_put_UniqueName(This,Name) (This)->lpVtbl->put_UniqueName(This,Name) +#define IAnalogRadioTuningSpace2_get_FriendlyName(This,Name) (This)->lpVtbl->get_FriendlyName(This,Name) +#define IAnalogRadioTuningSpace2_put_FriendlyName(This,Name) (This)->lpVtbl->put_FriendlyName(This,Name) +#define IAnalogRadioTuningSpace2_get_CLSID(This,SpaceCLSID) (This)->lpVtbl->get_CLSID(This,SpaceCLSID) +#define IAnalogRadioTuningSpace2_get_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get_NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace2_put_NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put_NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace2_get__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->get__NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace2_put__NetworkType(This,NetworkTypeGuid) (This)->lpVtbl->put__NetworkType(This,NetworkTypeGuid) +#define IAnalogRadioTuningSpace2_CreateTuneRequest(This,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuneRequest) +#define IAnalogRadioTuningSpace2_EnumCategoryGUIDs(This,ppEnum) (This)->lpVtbl->EnumCategoryGUIDs(This,ppEnum) +#define IAnalogRadioTuningSpace2_EnumDeviceMonikers(This,ppEnum) (This)->lpVtbl->EnumDeviceMonikers(This,ppEnum) +#define IAnalogRadioTuningSpace2_get_DefaultPreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes) +#define IAnalogRadioTuningSpace2_put_DefaultPreferredComponentTypes(This,NewComponentTypes) (This)->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes) +#define IAnalogRadioTuningSpace2_get_FrequencyMapping(This,pMapping) (This)->lpVtbl->get_FrequencyMapping(This,pMapping) +#define IAnalogRadioTuningSpace2_put_FrequencyMapping(This,Mapping) (This)->lpVtbl->put_FrequencyMapping(This,Mapping) +#define IAnalogRadioTuningSpace2_get_DefaultLocator(This,LocatorVal) (This)->lpVtbl->get_DefaultLocator(This,LocatorVal) +#define IAnalogRadioTuningSpace2_put_DefaultLocator(This,LocatorVal) (This)->lpVtbl->put_DefaultLocator(This,LocatorVal) +#define IAnalogRadioTuningSpace2_Clone(This,NewTS) (This)->lpVtbl->Clone(This,NewTS) +/*** IAnalogRadioTuningSpace methods ***/ +#define IAnalogRadioTuningSpace2_get_MinFrequency(This,MinFrequencyVal) (This)->lpVtbl->get_MinFrequency(This,MinFrequencyVal) +#define IAnalogRadioTuningSpace2_put_MinFrequency(This,NewMinFrequencyVal) (This)->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal) +#define IAnalogRadioTuningSpace2_get_MaxFrequency(This,MaxFrequencyVal) (This)->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal) +#define IAnalogRadioTuningSpace2_put_MaxFrequency(This,NewMaxFrequencyVal) (This)->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal) +#define IAnalogRadioTuningSpace2_get_Step(This,StepVal) (This)->lpVtbl->get_Step(This,StepVal) +#define IAnalogRadioTuningSpace2_put_Step(This,NewStepVal) (This)->lpVtbl->put_Step(This,NewStepVal) +/*** IAnalogRadioTuningSpace2 methods ***/ +#define IAnalogRadioTuningSpace2_get_CountryCode(This,CountryCodeVal) (This)->lpVtbl->get_CountryCode(This,CountryCodeVal) +#define IAnalogRadioTuningSpace2_put_CountryCode(This,NewCountryCodeVal) (This)->lpVtbl->put_CountryCode(This,NewCountryCodeVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnalogRadioTuningSpace2_QueryInterface(IAnalogRadioTuningSpace2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnalogRadioTuningSpace2_AddRef(IAnalogRadioTuningSpace2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnalogRadioTuningSpace2_Release(IAnalogRadioTuningSpace2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAnalogRadioTuningSpace2_GetTypeInfoCount(IAnalogRadioTuningSpace2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAnalogRadioTuningSpace2_GetTypeInfo(IAnalogRadioTuningSpace2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAnalogRadioTuningSpace2_GetIDsOfNames(IAnalogRadioTuningSpace2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAnalogRadioTuningSpace2_Invoke(IAnalogRadioTuningSpace2* 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); +} +/*** ITuningSpace methods ***/ +static inline HRESULT IAnalogRadioTuningSpace2_get_UniqueName(IAnalogRadioTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_UniqueName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_UniqueName(IAnalogRadioTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_UniqueName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_FriendlyName(IAnalogRadioTuningSpace2* This,BSTR *Name) { + return This->lpVtbl->get_FriendlyName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_FriendlyName(IAnalogRadioTuningSpace2* This,BSTR Name) { + return This->lpVtbl->put_FriendlyName(This,Name); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_CLSID(IAnalogRadioTuningSpace2* This,BSTR *SpaceCLSID) { + return This->lpVtbl->get_CLSID(This,SpaceCLSID); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_NetworkType(IAnalogRadioTuningSpace2* This,BSTR *NetworkTypeGuid) { + return This->lpVtbl->get_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_NetworkType(IAnalogRadioTuningSpace2* This,BSTR NetworkTypeGuid) { + return This->lpVtbl->put_NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace2_get__NetworkType(IAnalogRadioTuningSpace2* This,GUID *NetworkTypeGuid) { + return This->lpVtbl->get__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace2_put__NetworkType(IAnalogRadioTuningSpace2* This,REFCLSID NetworkTypeGuid) { + return This->lpVtbl->put__NetworkType(This,NetworkTypeGuid); +} +static inline HRESULT IAnalogRadioTuningSpace2_CreateTuneRequest(IAnalogRadioTuningSpace2* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuneRequest); +} +static inline HRESULT IAnalogRadioTuningSpace2_EnumCategoryGUIDs(IAnalogRadioTuningSpace2* This,IEnumGUID **ppEnum) { + return This->lpVtbl->EnumCategoryGUIDs(This,ppEnum); +} +static inline HRESULT IAnalogRadioTuningSpace2_EnumDeviceMonikers(IAnalogRadioTuningSpace2* This,IEnumMoniker **ppEnum) { + return This->lpVtbl->EnumDeviceMonikers(This,ppEnum); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace2* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_DefaultPreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_DefaultPreferredComponentTypes(IAnalogRadioTuningSpace2* This,IComponentTypes *NewComponentTypes) { + return This->lpVtbl->put_DefaultPreferredComponentTypes(This,NewComponentTypes); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_FrequencyMapping(IAnalogRadioTuningSpace2* This,BSTR *pMapping) { + return This->lpVtbl->get_FrequencyMapping(This,pMapping); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_FrequencyMapping(IAnalogRadioTuningSpace2* This,BSTR Mapping) { + return This->lpVtbl->put_FrequencyMapping(This,Mapping); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_DefaultLocator(IAnalogRadioTuningSpace2* This,ILocator **LocatorVal) { + return This->lpVtbl->get_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_DefaultLocator(IAnalogRadioTuningSpace2* This,ILocator *LocatorVal) { + return This->lpVtbl->put_DefaultLocator(This,LocatorVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_Clone(IAnalogRadioTuningSpace2* This,ITuningSpace **NewTS) { + return This->lpVtbl->Clone(This,NewTS); +} +/*** IAnalogRadioTuningSpace methods ***/ +static inline HRESULT IAnalogRadioTuningSpace2_get_MinFrequency(IAnalogRadioTuningSpace2* This,LONG *MinFrequencyVal) { + return This->lpVtbl->get_MinFrequency(This,MinFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_MinFrequency(IAnalogRadioTuningSpace2* This,LONG NewMinFrequencyVal) { + return This->lpVtbl->put_MinFrequency(This,NewMinFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_MaxFrequency(IAnalogRadioTuningSpace2* This,LONG *MaxFrequencyVal) { + return This->lpVtbl->get_MaxFrequency(This,MaxFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_MaxFrequency(IAnalogRadioTuningSpace2* This,LONG NewMaxFrequencyVal) { + return This->lpVtbl->put_MaxFrequency(This,NewMaxFrequencyVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_get_Step(IAnalogRadioTuningSpace2* This,LONG *StepVal) { + return This->lpVtbl->get_Step(This,StepVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_Step(IAnalogRadioTuningSpace2* This,LONG NewStepVal) { + return This->lpVtbl->put_Step(This,NewStepVal); +} +/*** IAnalogRadioTuningSpace2 methods ***/ +static inline HRESULT IAnalogRadioTuningSpace2_get_CountryCode(IAnalogRadioTuningSpace2* This,LONG *CountryCodeVal) { + return This->lpVtbl->get_CountryCode(This,CountryCodeVal); +} +static inline HRESULT IAnalogRadioTuningSpace2_put_CountryCode(IAnalogRadioTuningSpace2* This,LONG NewCountryCodeVal) { + return This->lpVtbl->put_CountryCode(This,NewCountryCodeVal); +} +#endif +#endif + +#endif + + +#endif /* __IAnalogRadioTuningSpace2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITuneRequest interface + */ +#ifndef __ITuneRequest_INTERFACE_DEFINED__ +#define __ITuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITuneRequest, 0x07ddc146, 0xfc3d, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("07ddc146-fc3d-11d2-9d8c-00c04f72d980") +ITuneRequest : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( + ITuningSpace **TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Components( + IComponents **Components) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + ITuneRequest **NewTuneRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Locator( + ILocator **Locator) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Locator( + ILocator *Locator) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITuneRequest, 0x07ddc146, 0xfc3d, 0x11d2, 0x9d,0x8c, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct ITuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ITuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ITuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ITuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ITuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + ITuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + ITuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + ITuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + ITuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + ITuneRequest *This, + ILocator *Locator); + + END_INTERFACE +} ITuneRequestVtbl; + +interface ITuneRequest { + CONST_VTBL ITuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ITuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ITuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ITuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ITuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define ITuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define ITuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define ITuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define ITuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define ITuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITuneRequest_QueryInterface(ITuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITuneRequest_AddRef(ITuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITuneRequest_Release(ITuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ITuneRequest_GetTypeInfoCount(ITuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ITuneRequest_GetTypeInfo(ITuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ITuneRequest_GetIDsOfNames(ITuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ITuneRequest_Invoke(ITuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT ITuneRequest_get_TuningSpace(ITuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT ITuneRequest_get_Components(ITuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT ITuneRequest_Clone(ITuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT ITuneRequest_get_Locator(ITuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT ITuneRequest_put_Locator(ITuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +#endif +#endif + +#endif + + +#endif /* __ITuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IChannelIDTuneRequest interface + */ +#ifndef __IChannelIDTuneRequest_INTERFACE_DEFINED__ +#define __IChannelIDTuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IChannelIDTuneRequest, 0x156eff60, 0x86f4, 0x4e28, 0x89,0xfc, 0x10,0x97,0x99,0xfd,0x57,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("156eff60-86f4-4e28-89fc-109799fd57ee") +IChannelIDTuneRequest : public ITuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_ChannelID( + BSTR *ChannelID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ChannelID( + BSTR ChannelID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IChannelIDTuneRequest, 0x156eff60, 0x86f4, 0x4e28, 0x89,0xfc, 0x10,0x97,0x99,0xfd,0x57,0xee) +#endif +#else +typedef struct IChannelIDTuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IChannelIDTuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IChannelIDTuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IChannelIDTuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IChannelIDTuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IChannelIDTuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IChannelIDTuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IChannelIDTuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IChannelIDTuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IChannelIDTuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IChannelIDTuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IChannelIDTuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IChannelIDTuneRequest *This, + ILocator *Locator); + + /*** IChannelIDTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ChannelID)( + IChannelIDTuneRequest *This, + BSTR *ChannelID); + + HRESULT (STDMETHODCALLTYPE *put_ChannelID)( + IChannelIDTuneRequest *This, + BSTR ChannelID); + + END_INTERFACE +} IChannelIDTuneRequestVtbl; + +interface IChannelIDTuneRequest { + CONST_VTBL IChannelIDTuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IChannelIDTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IChannelIDTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IChannelIDTuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IChannelIDTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IChannelIDTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IChannelIDTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IChannelIDTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IChannelIDTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IChannelIDTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IChannelIDTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IChannelIDTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IChannelIDTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IChannelIDTuneRequest methods ***/ +#define IChannelIDTuneRequest_get_ChannelID(This,ChannelID) (This)->lpVtbl->get_ChannelID(This,ChannelID) +#define IChannelIDTuneRequest_put_ChannelID(This,ChannelID) (This)->lpVtbl->put_ChannelID(This,ChannelID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IChannelIDTuneRequest_QueryInterface(IChannelIDTuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IChannelIDTuneRequest_AddRef(IChannelIDTuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IChannelIDTuneRequest_Release(IChannelIDTuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IChannelIDTuneRequest_GetTypeInfoCount(IChannelIDTuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IChannelIDTuneRequest_GetTypeInfo(IChannelIDTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IChannelIDTuneRequest_GetIDsOfNames(IChannelIDTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IChannelIDTuneRequest_Invoke(IChannelIDTuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IChannelIDTuneRequest_get_TuningSpace(IChannelIDTuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IChannelIDTuneRequest_get_Components(IChannelIDTuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IChannelIDTuneRequest_Clone(IChannelIDTuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IChannelIDTuneRequest_get_Locator(IChannelIDTuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IChannelIDTuneRequest_put_Locator(IChannelIDTuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IChannelIDTuneRequest methods ***/ +static inline HRESULT IChannelIDTuneRequest_get_ChannelID(IChannelIDTuneRequest* This,BSTR *ChannelID) { + return This->lpVtbl->get_ChannelID(This,ChannelID); +} +static inline HRESULT IChannelIDTuneRequest_put_ChannelID(IChannelIDTuneRequest* This,BSTR ChannelID) { + return This->lpVtbl->put_ChannelID(This,ChannelID); +} +#endif +#endif + +#endif + + +#endif /* __IChannelIDTuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IChannelTuneRequest interface + */ +#ifndef __IChannelTuneRequest_INTERFACE_DEFINED__ +#define __IChannelTuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IChannelTuneRequest, 0x0369b4e0, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0369b4e0-45b6-11d3-b650-00c04f79498e") +IChannelTuneRequest : public ITuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_Channel( + LONG *Channel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Channel( + LONG Channel) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IChannelTuneRequest, 0x0369b4e0, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IChannelTuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IChannelTuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IChannelTuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IChannelTuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IChannelTuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IChannelTuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IChannelTuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IChannelTuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IChannelTuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IChannelTuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IChannelTuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IChannelTuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IChannelTuneRequest *This, + ILocator *Locator); + + /*** IChannelTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Channel)( + IChannelTuneRequest *This, + LONG *Channel); + + HRESULT (STDMETHODCALLTYPE *put_Channel)( + IChannelTuneRequest *This, + LONG Channel); + + END_INTERFACE +} IChannelTuneRequestVtbl; + +interface IChannelTuneRequest { + CONST_VTBL IChannelTuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IChannelTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IChannelTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IChannelTuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IChannelTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IChannelTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IChannelTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IChannelTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IChannelTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IChannelTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IChannelTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IChannelTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IChannelTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IChannelTuneRequest methods ***/ +#define IChannelTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel) +#define IChannelTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel) +#else +/*** IUnknown methods ***/ +static inline HRESULT IChannelTuneRequest_QueryInterface(IChannelTuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IChannelTuneRequest_AddRef(IChannelTuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IChannelTuneRequest_Release(IChannelTuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IChannelTuneRequest_GetTypeInfoCount(IChannelTuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IChannelTuneRequest_GetTypeInfo(IChannelTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IChannelTuneRequest_GetIDsOfNames(IChannelTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IChannelTuneRequest_Invoke(IChannelTuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IChannelTuneRequest_get_TuningSpace(IChannelTuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IChannelTuneRequest_get_Components(IChannelTuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IChannelTuneRequest_Clone(IChannelTuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IChannelTuneRequest_get_Locator(IChannelTuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IChannelTuneRequest_put_Locator(IChannelTuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IChannelTuneRequest methods ***/ +static inline HRESULT IChannelTuneRequest_get_Channel(IChannelTuneRequest* This,LONG *Channel) { + return This->lpVtbl->get_Channel(This,Channel); +} +static inline HRESULT IChannelTuneRequest_put_Channel(IChannelTuneRequest* This,LONG Channel) { + return This->lpVtbl->put_Channel(This,Channel); +} +#endif +#endif + +#endif + + +#endif /* __IChannelTuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IATSCChannelTuneRequest interface + */ +#ifndef __IATSCChannelTuneRequest_INTERFACE_DEFINED__ +#define __IATSCChannelTuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IATSCChannelTuneRequest, 0x0369b4e1, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0369b4e1-45b6-11d3-b650-00c04f79498e") +IATSCChannelTuneRequest : public IChannelTuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_MinorChannel( + LONG *MinorChannel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinorChannel( + LONG MinorChannel) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IATSCChannelTuneRequest, 0x0369b4e1, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IATSCChannelTuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IATSCChannelTuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IATSCChannelTuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IATSCChannelTuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IATSCChannelTuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IATSCChannelTuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IATSCChannelTuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IATSCChannelTuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IATSCChannelTuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IATSCChannelTuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IATSCChannelTuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IATSCChannelTuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IATSCChannelTuneRequest *This, + ILocator *Locator); + + /*** IChannelTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Channel)( + IATSCChannelTuneRequest *This, + LONG *Channel); + + HRESULT (STDMETHODCALLTYPE *put_Channel)( + IATSCChannelTuneRequest *This, + LONG Channel); + + /*** IATSCChannelTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinorChannel)( + IATSCChannelTuneRequest *This, + LONG *MinorChannel); + + HRESULT (STDMETHODCALLTYPE *put_MinorChannel)( + IATSCChannelTuneRequest *This, + LONG MinorChannel); + + END_INTERFACE +} IATSCChannelTuneRequestVtbl; + +interface IATSCChannelTuneRequest { + CONST_VTBL IATSCChannelTuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IATSCChannelTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IATSCChannelTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IATSCChannelTuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IATSCChannelTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IATSCChannelTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IATSCChannelTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IATSCChannelTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IATSCChannelTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IATSCChannelTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IATSCChannelTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IATSCChannelTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IATSCChannelTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IChannelTuneRequest methods ***/ +#define IATSCChannelTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel) +#define IATSCChannelTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel) +/*** IATSCChannelTuneRequest methods ***/ +#define IATSCChannelTuneRequest_get_MinorChannel(This,MinorChannel) (This)->lpVtbl->get_MinorChannel(This,MinorChannel) +#define IATSCChannelTuneRequest_put_MinorChannel(This,MinorChannel) (This)->lpVtbl->put_MinorChannel(This,MinorChannel) +#else +/*** IUnknown methods ***/ +static inline HRESULT IATSCChannelTuneRequest_QueryInterface(IATSCChannelTuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IATSCChannelTuneRequest_AddRef(IATSCChannelTuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IATSCChannelTuneRequest_Release(IATSCChannelTuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IATSCChannelTuneRequest_GetTypeInfoCount(IATSCChannelTuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IATSCChannelTuneRequest_GetTypeInfo(IATSCChannelTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IATSCChannelTuneRequest_GetIDsOfNames(IATSCChannelTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IATSCChannelTuneRequest_Invoke(IATSCChannelTuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IATSCChannelTuneRequest_get_TuningSpace(IATSCChannelTuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IATSCChannelTuneRequest_get_Components(IATSCChannelTuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IATSCChannelTuneRequest_Clone(IATSCChannelTuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IATSCChannelTuneRequest_get_Locator(IATSCChannelTuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IATSCChannelTuneRequest_put_Locator(IATSCChannelTuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IChannelTuneRequest methods ***/ +static inline HRESULT IATSCChannelTuneRequest_get_Channel(IATSCChannelTuneRequest* This,LONG *Channel) { + return This->lpVtbl->get_Channel(This,Channel); +} +static inline HRESULT IATSCChannelTuneRequest_put_Channel(IATSCChannelTuneRequest* This,LONG Channel) { + return This->lpVtbl->put_Channel(This,Channel); +} +/*** IATSCChannelTuneRequest methods ***/ +static inline HRESULT IATSCChannelTuneRequest_get_MinorChannel(IATSCChannelTuneRequest* This,LONG *MinorChannel) { + return This->lpVtbl->get_MinorChannel(This,MinorChannel); +} +static inline HRESULT IATSCChannelTuneRequest_put_MinorChannel(IATSCChannelTuneRequest* This,LONG MinorChannel) { + return This->lpVtbl->put_MinorChannel(This,MinorChannel); +} +#endif +#endif + +#endif + + +#endif /* __IATSCChannelTuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDigitalCableTuneRequest interface + */ +#ifndef __IDigitalCableTuneRequest_INTERFACE_DEFINED__ +#define __IDigitalCableTuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDigitalCableTuneRequest, 0xbad7753b, 0x6b37, 0x4810, 0xae,0x57, 0x3c,0xe0,0xc4,0xa9,0xe6,0xcb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bad7753b-6b37-4810-ae57-3ce0c4a9e6cb") +IDigitalCableTuneRequest : public IATSCChannelTuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_MajorChannel( + LONG *pMajorChannel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MajorChannel( + LONG MajorChannel) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SourceID( + LONG *pSourceID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SourceID( + LONG SourceID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDigitalCableTuneRequest, 0xbad7753b, 0x6b37, 0x4810, 0xae,0x57, 0x3c,0xe0,0xc4,0xa9,0xe6,0xcb) +#endif +#else +typedef struct IDigitalCableTuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDigitalCableTuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDigitalCableTuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDigitalCableTuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDigitalCableTuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDigitalCableTuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDigitalCableTuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDigitalCableTuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IDigitalCableTuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IDigitalCableTuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDigitalCableTuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IDigitalCableTuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IDigitalCableTuneRequest *This, + ILocator *Locator); + + /*** IChannelTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Channel)( + IDigitalCableTuneRequest *This, + LONG *Channel); + + HRESULT (STDMETHODCALLTYPE *put_Channel)( + IDigitalCableTuneRequest *This, + LONG Channel); + + /*** IATSCChannelTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinorChannel)( + IDigitalCableTuneRequest *This, + LONG *MinorChannel); + + HRESULT (STDMETHODCALLTYPE *put_MinorChannel)( + IDigitalCableTuneRequest *This, + LONG MinorChannel); + + /*** IDigitalCableTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MajorChannel)( + IDigitalCableTuneRequest *This, + LONG *pMajorChannel); + + HRESULT (STDMETHODCALLTYPE *put_MajorChannel)( + IDigitalCableTuneRequest *This, + LONG MajorChannel); + + HRESULT (STDMETHODCALLTYPE *get_SourceID)( + IDigitalCableTuneRequest *This, + LONG *pSourceID); + + HRESULT (STDMETHODCALLTYPE *put_SourceID)( + IDigitalCableTuneRequest *This, + LONG SourceID); + + END_INTERFACE +} IDigitalCableTuneRequestVtbl; + +interface IDigitalCableTuneRequest { + CONST_VTBL IDigitalCableTuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDigitalCableTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDigitalCableTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDigitalCableTuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDigitalCableTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDigitalCableTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDigitalCableTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDigitalCableTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IDigitalCableTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IDigitalCableTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IDigitalCableTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IDigitalCableTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IDigitalCableTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IChannelTuneRequest methods ***/ +#define IDigitalCableTuneRequest_get_Channel(This,Channel) (This)->lpVtbl->get_Channel(This,Channel) +#define IDigitalCableTuneRequest_put_Channel(This,Channel) (This)->lpVtbl->put_Channel(This,Channel) +/*** IATSCChannelTuneRequest methods ***/ +#define IDigitalCableTuneRequest_get_MinorChannel(This,MinorChannel) (This)->lpVtbl->get_MinorChannel(This,MinorChannel) +#define IDigitalCableTuneRequest_put_MinorChannel(This,MinorChannel) (This)->lpVtbl->put_MinorChannel(This,MinorChannel) +/*** IDigitalCableTuneRequest methods ***/ +#define IDigitalCableTuneRequest_get_MajorChannel(This,pMajorChannel) (This)->lpVtbl->get_MajorChannel(This,pMajorChannel) +#define IDigitalCableTuneRequest_put_MajorChannel(This,MajorChannel) (This)->lpVtbl->put_MajorChannel(This,MajorChannel) +#define IDigitalCableTuneRequest_get_SourceID(This,pSourceID) (This)->lpVtbl->get_SourceID(This,pSourceID) +#define IDigitalCableTuneRequest_put_SourceID(This,SourceID) (This)->lpVtbl->put_SourceID(This,SourceID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDigitalCableTuneRequest_QueryInterface(IDigitalCableTuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDigitalCableTuneRequest_AddRef(IDigitalCableTuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDigitalCableTuneRequest_Release(IDigitalCableTuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDigitalCableTuneRequest_GetTypeInfoCount(IDigitalCableTuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDigitalCableTuneRequest_GetTypeInfo(IDigitalCableTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDigitalCableTuneRequest_GetIDsOfNames(IDigitalCableTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDigitalCableTuneRequest_Invoke(IDigitalCableTuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IDigitalCableTuneRequest_get_TuningSpace(IDigitalCableTuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IDigitalCableTuneRequest_get_Components(IDigitalCableTuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IDigitalCableTuneRequest_Clone(IDigitalCableTuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IDigitalCableTuneRequest_get_Locator(IDigitalCableTuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IDigitalCableTuneRequest_put_Locator(IDigitalCableTuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IChannelTuneRequest methods ***/ +static inline HRESULT IDigitalCableTuneRequest_get_Channel(IDigitalCableTuneRequest* This,LONG *Channel) { + return This->lpVtbl->get_Channel(This,Channel); +} +static inline HRESULT IDigitalCableTuneRequest_put_Channel(IDigitalCableTuneRequest* This,LONG Channel) { + return This->lpVtbl->put_Channel(This,Channel); +} +/*** IATSCChannelTuneRequest methods ***/ +static inline HRESULT IDigitalCableTuneRequest_get_MinorChannel(IDigitalCableTuneRequest* This,LONG *MinorChannel) { + return This->lpVtbl->get_MinorChannel(This,MinorChannel); +} +static inline HRESULT IDigitalCableTuneRequest_put_MinorChannel(IDigitalCableTuneRequest* This,LONG MinorChannel) { + return This->lpVtbl->put_MinorChannel(This,MinorChannel); +} +/*** IDigitalCableTuneRequest methods ***/ +static inline HRESULT IDigitalCableTuneRequest_get_MajorChannel(IDigitalCableTuneRequest* This,LONG *pMajorChannel) { + return This->lpVtbl->get_MajorChannel(This,pMajorChannel); +} +static inline HRESULT IDigitalCableTuneRequest_put_MajorChannel(IDigitalCableTuneRequest* This,LONG MajorChannel) { + return This->lpVtbl->put_MajorChannel(This,MajorChannel); +} +static inline HRESULT IDigitalCableTuneRequest_get_SourceID(IDigitalCableTuneRequest* This,LONG *pSourceID) { + return This->lpVtbl->get_SourceID(This,pSourceID); +} +static inline HRESULT IDigitalCableTuneRequest_put_SourceID(IDigitalCableTuneRequest* This,LONG SourceID) { + return This->lpVtbl->put_SourceID(This,SourceID); +} +#endif +#endif + +#endif + + +#endif /* __IDigitalCableTuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBTuneRequest interface + */ +#ifndef __IDVBTuneRequest_INTERFACE_DEFINED__ +#define __IDVBTuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBTuneRequest, 0x0d6f567e, 0xa636, 0x42bb, 0x83,0xba, 0xce,0x4c,0x17,0x04,0xaf,0xa2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0d6f567e-a636-42bb-83ba-ce4c1704afa2") +IDVBTuneRequest : public ITuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_ONID( + LONG *ONID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ONID( + LONG ONID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TSID( + LONG *TSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TSID( + LONG TSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SID( + LONG *SID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SID( + LONG SID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBTuneRequest, 0x0d6f567e, 0xa636, 0x42bb, 0x83,0xba, 0xce,0x4c,0x17,0x04,0xaf,0xa2) +#endif +#else +typedef struct IDVBTuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBTuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBTuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBTuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBTuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBTuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBTuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBTuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IDVBTuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IDVBTuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBTuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IDVBTuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IDVBTuneRequest *This, + ILocator *Locator); + + /*** IDVBTuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ONID)( + IDVBTuneRequest *This, + LONG *ONID); + + HRESULT (STDMETHODCALLTYPE *put_ONID)( + IDVBTuneRequest *This, + LONG ONID); + + HRESULT (STDMETHODCALLTYPE *get_TSID)( + IDVBTuneRequest *This, + LONG *TSID); + + HRESULT (STDMETHODCALLTYPE *put_TSID)( + IDVBTuneRequest *This, + LONG TSID); + + HRESULT (STDMETHODCALLTYPE *get_SID)( + IDVBTuneRequest *This, + LONG *SID); + + HRESULT (STDMETHODCALLTYPE *put_SID)( + IDVBTuneRequest *This, + LONG SID); + + END_INTERFACE +} IDVBTuneRequestVtbl; + +interface IDVBTuneRequest { + CONST_VTBL IDVBTuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBTuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBTuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBTuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBTuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBTuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBTuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBTuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IDVBTuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IDVBTuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IDVBTuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IDVBTuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IDVBTuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IDVBTuneRequest methods ***/ +#define IDVBTuneRequest_get_ONID(This,ONID) (This)->lpVtbl->get_ONID(This,ONID) +#define IDVBTuneRequest_put_ONID(This,ONID) (This)->lpVtbl->put_ONID(This,ONID) +#define IDVBTuneRequest_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID) +#define IDVBTuneRequest_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID) +#define IDVBTuneRequest_get_SID(This,SID) (This)->lpVtbl->get_SID(This,SID) +#define IDVBTuneRequest_put_SID(This,SID) (This)->lpVtbl->put_SID(This,SID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBTuneRequest_QueryInterface(IDVBTuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBTuneRequest_AddRef(IDVBTuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBTuneRequest_Release(IDVBTuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBTuneRequest_GetTypeInfoCount(IDVBTuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBTuneRequest_GetTypeInfo(IDVBTuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBTuneRequest_GetIDsOfNames(IDVBTuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBTuneRequest_Invoke(IDVBTuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IDVBTuneRequest_get_TuningSpace(IDVBTuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IDVBTuneRequest_get_Components(IDVBTuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IDVBTuneRequest_Clone(IDVBTuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IDVBTuneRequest_get_Locator(IDVBTuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IDVBTuneRequest_put_Locator(IDVBTuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IDVBTuneRequest methods ***/ +static inline HRESULT IDVBTuneRequest_get_ONID(IDVBTuneRequest* This,LONG *ONID) { + return This->lpVtbl->get_ONID(This,ONID); +} +static inline HRESULT IDVBTuneRequest_put_ONID(IDVBTuneRequest* This,LONG ONID) { + return This->lpVtbl->put_ONID(This,ONID); +} +static inline HRESULT IDVBTuneRequest_get_TSID(IDVBTuneRequest* This,LONG *TSID) { + return This->lpVtbl->get_TSID(This,TSID); +} +static inline HRESULT IDVBTuneRequest_put_TSID(IDVBTuneRequest* This,LONG TSID) { + return This->lpVtbl->put_TSID(This,TSID); +} +static inline HRESULT IDVBTuneRequest_get_SID(IDVBTuneRequest* This,LONG *SID) { + return This->lpVtbl->get_SID(This,SID); +} +static inline HRESULT IDVBTuneRequest_put_SID(IDVBTuneRequest* This,LONG SID) { + return This->lpVtbl->put_SID(This,SID); +} +#endif +#endif + +#endif + + +#endif /* __IDVBTuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMPEG2TuneRequest interface + */ +#ifndef __IMPEG2TuneRequest_INTERFACE_DEFINED__ +#define __IMPEG2TuneRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMPEG2TuneRequest, 0xeb7d987f, 0x8a01, 0x42ad, 0xb8,0xae, 0x57,0x4d,0xee,0xe4,0x4d,0x1a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eb7d987f-8a01-42ad-b8ae-574deee44d1a") +IMPEG2TuneRequest : public ITuneRequest +{ + virtual HRESULT STDMETHODCALLTYPE get_TSID( + LONG *TSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TSID( + LONG TSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ProgNo( + LONG *ProgNo) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ProgNo( + LONG ProgNo) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMPEG2TuneRequest, 0xeb7d987f, 0x8a01, 0x42ad, 0xb8,0xae, 0x57,0x4d,0xee,0xe4,0x4d,0x1a) +#endif +#else +typedef struct IMPEG2TuneRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMPEG2TuneRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMPEG2TuneRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMPEG2TuneRequest *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMPEG2TuneRequest *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMPEG2TuneRequest *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMPEG2TuneRequest *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMPEG2TuneRequest *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ITuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IMPEG2TuneRequest *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IMPEG2TuneRequest *This, + IComponents **Components); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMPEG2TuneRequest *This, + ITuneRequest **NewTuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_Locator)( + IMPEG2TuneRequest *This, + ILocator **Locator); + + HRESULT (STDMETHODCALLTYPE *put_Locator)( + IMPEG2TuneRequest *This, + ILocator *Locator); + + /*** IMPEG2TuneRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TSID)( + IMPEG2TuneRequest *This, + LONG *TSID); + + HRESULT (STDMETHODCALLTYPE *put_TSID)( + IMPEG2TuneRequest *This, + LONG TSID); + + HRESULT (STDMETHODCALLTYPE *get_ProgNo)( + IMPEG2TuneRequest *This, + LONG *ProgNo); + + HRESULT (STDMETHODCALLTYPE *put_ProgNo)( + IMPEG2TuneRequest *This, + LONG ProgNo); + + END_INTERFACE +} IMPEG2TuneRequestVtbl; + +interface IMPEG2TuneRequest { + CONST_VTBL IMPEG2TuneRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMPEG2TuneRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMPEG2TuneRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMPEG2TuneRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMPEG2TuneRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMPEG2TuneRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMPEG2TuneRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMPEG2TuneRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ITuneRequest methods ***/ +#define IMPEG2TuneRequest_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IMPEG2TuneRequest_get_Components(This,Components) (This)->lpVtbl->get_Components(This,Components) +#define IMPEG2TuneRequest_Clone(This,NewTuneRequest) (This)->lpVtbl->Clone(This,NewTuneRequest) +#define IMPEG2TuneRequest_get_Locator(This,Locator) (This)->lpVtbl->get_Locator(This,Locator) +#define IMPEG2TuneRequest_put_Locator(This,Locator) (This)->lpVtbl->put_Locator(This,Locator) +/*** IMPEG2TuneRequest methods ***/ +#define IMPEG2TuneRequest_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID) +#define IMPEG2TuneRequest_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID) +#define IMPEG2TuneRequest_get_ProgNo(This,ProgNo) (This)->lpVtbl->get_ProgNo(This,ProgNo) +#define IMPEG2TuneRequest_put_ProgNo(This,ProgNo) (This)->lpVtbl->put_ProgNo(This,ProgNo) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMPEG2TuneRequest_QueryInterface(IMPEG2TuneRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMPEG2TuneRequest_AddRef(IMPEG2TuneRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMPEG2TuneRequest_Release(IMPEG2TuneRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMPEG2TuneRequest_GetTypeInfoCount(IMPEG2TuneRequest* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMPEG2TuneRequest_GetTypeInfo(IMPEG2TuneRequest* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMPEG2TuneRequest_GetIDsOfNames(IMPEG2TuneRequest* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMPEG2TuneRequest_Invoke(IMPEG2TuneRequest* 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); +} +/*** ITuneRequest methods ***/ +static inline HRESULT IMPEG2TuneRequest_get_TuningSpace(IMPEG2TuneRequest* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IMPEG2TuneRequest_get_Components(IMPEG2TuneRequest* This,IComponents **Components) { + return This->lpVtbl->get_Components(This,Components); +} +static inline HRESULT IMPEG2TuneRequest_Clone(IMPEG2TuneRequest* This,ITuneRequest **NewTuneRequest) { + return This->lpVtbl->Clone(This,NewTuneRequest); +} +static inline HRESULT IMPEG2TuneRequest_get_Locator(IMPEG2TuneRequest* This,ILocator **Locator) { + return This->lpVtbl->get_Locator(This,Locator); +} +static inline HRESULT IMPEG2TuneRequest_put_Locator(IMPEG2TuneRequest* This,ILocator *Locator) { + return This->lpVtbl->put_Locator(This,Locator); +} +/*** IMPEG2TuneRequest methods ***/ +static inline HRESULT IMPEG2TuneRequest_get_TSID(IMPEG2TuneRequest* This,LONG *TSID) { + return This->lpVtbl->get_TSID(This,TSID); +} +static inline HRESULT IMPEG2TuneRequest_put_TSID(IMPEG2TuneRequest* This,LONG TSID) { + return This->lpVtbl->put_TSID(This,TSID); +} +static inline HRESULT IMPEG2TuneRequest_get_ProgNo(IMPEG2TuneRequest* This,LONG *ProgNo) { + return This->lpVtbl->get_ProgNo(This,ProgNo); +} +static inline HRESULT IMPEG2TuneRequest_put_ProgNo(IMPEG2TuneRequest* This,LONG ProgNo) { + return This->lpVtbl->put_ProgNo(This,ProgNo); +} +#endif +#endif + +#endif + + +#endif /* __IMPEG2TuneRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMPEG2TuneRequestFactory interface + */ +#ifndef __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__ +#define __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMPEG2TuneRequestFactory, 0x14e11abd, 0xee37, 0x4893, 0x9e,0xa1, 0x69,0x64,0xde,0x93,0x3e,0x39); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("14e11abd-ee37-4893-9ea1-6964de933e39") +IMPEG2TuneRequestFactory : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE CreateTuneRequest( + ITuningSpace *TuningSpace, + IMPEG2TuneRequest **TuneRequest) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMPEG2TuneRequestFactory, 0x14e11abd, 0xee37, 0x4893, 0x9e,0xa1, 0x69,0x64,0xde,0x93,0x3e,0x39) +#endif +#else +typedef struct IMPEG2TuneRequestFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMPEG2TuneRequestFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMPEG2TuneRequestFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMPEG2TuneRequestFactory *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMPEG2TuneRequestFactory *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMPEG2TuneRequestFactory *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMPEG2TuneRequestFactory *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMPEG2TuneRequestFactory *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IMPEG2TuneRequestFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTuneRequest)( + IMPEG2TuneRequestFactory *This, + ITuningSpace *TuningSpace, + IMPEG2TuneRequest **TuneRequest); + + END_INTERFACE +} IMPEG2TuneRequestFactoryVtbl; + +interface IMPEG2TuneRequestFactory { + CONST_VTBL IMPEG2TuneRequestFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMPEG2TuneRequestFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMPEG2TuneRequestFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMPEG2TuneRequestFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMPEG2TuneRequestFactory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMPEG2TuneRequestFactory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMPEG2TuneRequestFactory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMPEG2TuneRequestFactory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IMPEG2TuneRequestFactory methods ***/ +#define IMPEG2TuneRequestFactory_CreateTuneRequest(This,TuningSpace,TuneRequest) (This)->lpVtbl->CreateTuneRequest(This,TuningSpace,TuneRequest) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMPEG2TuneRequestFactory_QueryInterface(IMPEG2TuneRequestFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMPEG2TuneRequestFactory_AddRef(IMPEG2TuneRequestFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMPEG2TuneRequestFactory_Release(IMPEG2TuneRequestFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMPEG2TuneRequestFactory_GetTypeInfoCount(IMPEG2TuneRequestFactory* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMPEG2TuneRequestFactory_GetTypeInfo(IMPEG2TuneRequestFactory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMPEG2TuneRequestFactory_GetIDsOfNames(IMPEG2TuneRequestFactory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMPEG2TuneRequestFactory_Invoke(IMPEG2TuneRequestFactory* 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); +} +/*** IMPEG2TuneRequestFactory methods ***/ +static inline HRESULT IMPEG2TuneRequestFactory_CreateTuneRequest(IMPEG2TuneRequestFactory* This,ITuningSpace *TuningSpace,IMPEG2TuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequest(This,TuningSpace,TuneRequest); +} +#endif +#endif + +#endif + + +#endif /* __IMPEG2TuneRequestFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMPEG2TuneRequestSupport interface + */ +#ifndef __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__ +#define __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMPEG2TuneRequestSupport, 0x1b9d5fc3, 0x5bbc, 0x4b6c, 0xbb,0x18, 0xb9,0xd1,0x0e,0x3e,0xee,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1b9d5fc3-5bbc-4b6c-bb18-b9d10e3eeebf") +IMPEG2TuneRequestSupport : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMPEG2TuneRequestSupport, 0x1b9d5fc3, 0x5bbc, 0x4b6c, 0xbb,0x18, 0xb9,0xd1,0x0e,0x3e,0xee,0xbf) +#endif +#else +typedef struct IMPEG2TuneRequestSupportVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMPEG2TuneRequestSupport *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMPEG2TuneRequestSupport *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMPEG2TuneRequestSupport *This); + + END_INTERFACE +} IMPEG2TuneRequestSupportVtbl; + +interface IMPEG2TuneRequestSupport { + CONST_VTBL IMPEG2TuneRequestSupportVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMPEG2TuneRequestSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMPEG2TuneRequestSupport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMPEG2TuneRequestSupport_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMPEG2TuneRequestSupport_QueryInterface(IMPEG2TuneRequestSupport* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMPEG2TuneRequestSupport_AddRef(IMPEG2TuneRequestSupport* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMPEG2TuneRequestSupport_Release(IMPEG2TuneRequestSupport* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IMPEG2TuneRequestSupport_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITunerCap interface + */ +#ifndef __ITunerCap_INTERFACE_DEFINED__ +#define __ITunerCap_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITunerCap, 0xe60dfa45, 0x8d56, 0x4e65, 0xa8,0xab, 0xd6,0xbe,0x94,0x12,0xc2,0x49); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e60dfa45-8d56-4e65-a8ab-d6be9412c249") +ITunerCap : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_SupportedNetworkTypes( + ULONG ulcNetworkTypesMax, + ULONG *pulcNetworkTypes, + GUID *pguidNetworkTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupportedVideoFormats( + ULONG *pulAMTunerModeType, + ULONG *pulAnalogVideoStandard) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AuxInputCount( + ULONG *pulCompositeCount, + ULONG *pulSvideoCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITunerCap, 0xe60dfa45, 0x8d56, 0x4e65, 0xa8,0xab, 0xd6,0xbe,0x94,0x12,0xc2,0x49) +#endif +#else +typedef struct ITunerCapVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITunerCap *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITunerCap *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITunerCap *This); + + /*** ITunerCap methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SupportedNetworkTypes)( + ITunerCap *This, + ULONG ulcNetworkTypesMax, + ULONG *pulcNetworkTypes, + GUID *pguidNetworkTypes); + + HRESULT (STDMETHODCALLTYPE *get_SupportedVideoFormats)( + ITunerCap *This, + ULONG *pulAMTunerModeType, + ULONG *pulAnalogVideoStandard); + + HRESULT (STDMETHODCALLTYPE *get_AuxInputCount)( + ITunerCap *This, + ULONG *pulCompositeCount, + ULONG *pulSvideoCount); + + END_INTERFACE +} ITunerCapVtbl; + +interface ITunerCap { + CONST_VTBL ITunerCapVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITunerCap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITunerCap_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITunerCap_Release(This) (This)->lpVtbl->Release(This) +/*** ITunerCap methods ***/ +#define ITunerCap_get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes) (This)->lpVtbl->get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes) +#define ITunerCap_get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard) (This)->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard) +#define ITunerCap_get_AuxInputCount(This,pulCompositeCount,pulSvideoCount) (This)->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITunerCap_QueryInterface(ITunerCap* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITunerCap_AddRef(ITunerCap* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITunerCap_Release(ITunerCap* This) { + return This->lpVtbl->Release(This); +} +/*** ITunerCap methods ***/ +static inline HRESULT ITunerCap_get_SupportedNetworkTypes(ITunerCap* This,ULONG ulcNetworkTypesMax,ULONG *pulcNetworkTypes,GUID *pguidNetworkTypes) { + return This->lpVtbl->get_SupportedNetworkTypes(This,ulcNetworkTypesMax,pulcNetworkTypes,pguidNetworkTypes); +} +static inline HRESULT ITunerCap_get_SupportedVideoFormats(ITunerCap* This,ULONG *pulAMTunerModeType,ULONG *pulAnalogVideoStandard) { + return This->lpVtbl->get_SupportedVideoFormats(This,pulAMTunerModeType,pulAnalogVideoStandard); +} +static inline HRESULT ITunerCap_get_AuxInputCount(ITunerCap* This,ULONG *pulCompositeCount,ULONG *pulSvideoCount) { + return This->lpVtbl->get_AuxInputCount(This,pulCompositeCount,pulSvideoCount); +} +#endif +#endif + +#endif + + +#endif /* __ITunerCap_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITunerCapEx interface + */ +#ifndef __ITunerCapEx_INTERFACE_DEFINED__ +#define __ITunerCapEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITunerCapEx, 0xed3e0c66, 0x18c8, 0x4ea6, 0x93,0x00, 0xf6,0x84,0x1f,0xdd,0x35,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ed3e0c66-18c8-4ea6-9300-f6841fdd35dc") +ITunerCapEx : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Has608_708Caption( + VARIANT_BOOL *pbHasCaption) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITunerCapEx, 0xed3e0c66, 0x18c8, 0x4ea6, 0x93,0x00, 0xf6,0x84,0x1f,0xdd,0x35,0xdc) +#endif +#else +typedef struct ITunerCapExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITunerCapEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITunerCapEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITunerCapEx *This); + + /*** ITunerCapEx methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Has608_708Caption)( + ITunerCapEx *This, + VARIANT_BOOL *pbHasCaption); + + END_INTERFACE +} ITunerCapExVtbl; + +interface ITunerCapEx { + CONST_VTBL ITunerCapExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITunerCapEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITunerCapEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITunerCapEx_Release(This) (This)->lpVtbl->Release(This) +/*** ITunerCapEx methods ***/ +#define ITunerCapEx_get_Has608_708Caption(This,pbHasCaption) (This)->lpVtbl->get_Has608_708Caption(This,pbHasCaption) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITunerCapEx_QueryInterface(ITunerCapEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITunerCapEx_AddRef(ITunerCapEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITunerCapEx_Release(ITunerCapEx* This) { + return This->lpVtbl->Release(This); +} +/*** ITunerCapEx methods ***/ +static inline HRESULT ITunerCapEx_get_Has608_708Caption(ITunerCapEx* This,VARIANT_BOOL *pbHasCaption) { + return This->lpVtbl->get_Has608_708Caption(This,pbHasCaption); +} +#endif +#endif + +#endif + + +#endif /* __ITunerCapEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITuner interface + */ +#ifndef __ITuner_INTERFACE_DEFINED__ +#define __ITuner_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITuner, 0x28c52640, 0x018a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("28c52640-018a-11d3-9d8e-00c04f72d980") +ITuner : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_TuningSpace( + ITuningSpace **TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TuningSpace( + ITuningSpace *TuningSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumTuningSpaces( + IEnumTuningSpaces **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TuneRequest( + ITuneRequest **TuneRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TuneRequest( + ITuneRequest *TuneRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE Validate( + ITuneRequest *TuneRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PreferredComponentTypes( + IComponentTypes **ComponentTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PreferredComponentTypes( + IComponentTypes *ComponentTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SignalStrength( + LONG *Strength) = 0; + + virtual HRESULT STDMETHODCALLTYPE TriggerSignalEvents( + LONG Interval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITuner, 0x28c52640, 0x018a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct ITunerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITuner *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITuner *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITuner *This); + + /*** ITuner methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + ITuner *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( + ITuner *This, + ITuningSpace *TuningSpace); + + HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)( + ITuner *This, + IEnumTuningSpaces **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_TuneRequest)( + ITuner *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *put_TuneRequest)( + ITuner *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *Validate)( + ITuner *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)( + ITuner *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)( + ITuner *This, + IComponentTypes *ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_SignalStrength)( + ITuner *This, + LONG *Strength); + + HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)( + ITuner *This, + LONG Interval); + + END_INTERFACE +} ITunerVtbl; + +interface ITuner { + CONST_VTBL ITunerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITuner_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITuner_Release(This) (This)->lpVtbl->Release(This) +/*** ITuner methods ***/ +#define ITuner_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define ITuner_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace) +#define ITuner_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum) +#define ITuner_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest) +#define ITuner_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest) +#define ITuner_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest) +#define ITuner_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes) +#define ITuner_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes) +#define ITuner_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength) +#define ITuner_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITuner_QueryInterface(ITuner* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITuner_AddRef(ITuner* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITuner_Release(ITuner* This) { + return This->lpVtbl->Release(This); +} +/*** ITuner methods ***/ +static inline HRESULT ITuner_get_TuningSpace(ITuner* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT ITuner_put_TuningSpace(ITuner* This,ITuningSpace *TuningSpace) { + return This->lpVtbl->put_TuningSpace(This,TuningSpace); +} +static inline HRESULT ITuner_EnumTuningSpaces(ITuner* This,IEnumTuningSpaces **ppEnum) { + return This->lpVtbl->EnumTuningSpaces(This,ppEnum); +} +static inline HRESULT ITuner_get_TuneRequest(ITuner* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->get_TuneRequest(This,TuneRequest); +} +static inline HRESULT ITuner_put_TuneRequest(ITuner* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->put_TuneRequest(This,TuneRequest); +} +static inline HRESULT ITuner_Validate(ITuner* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->Validate(This,TuneRequest); +} +static inline HRESULT ITuner_get_PreferredComponentTypes(ITuner* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT ITuner_put_PreferredComponentTypes(ITuner* This,IComponentTypes *ComponentTypes) { + return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT ITuner_get_SignalStrength(ITuner* This,LONG *Strength) { + return This->lpVtbl->get_SignalStrength(This,Strength); +} +static inline HRESULT ITuner_TriggerSignalEvents(ITuner* This,LONG Interval) { + return This->lpVtbl->TriggerSignalEvents(This,Interval); +} +#endif +#endif + +#endif + + +#endif /* __ITuner_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IScanningTuner interface + */ +#ifndef __IScanningTuner_INTERFACE_DEFINED__ +#define __IScanningTuner_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IScanningTuner, 0x1dfd0a5c, 0x0284, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1dfd0a5c-0284-11d3-9d8e-00c04f72d980") +IScanningTuner : public ITuner +{ + virtual HRESULT STDMETHODCALLTYPE SeekUp( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SeekDown( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScanUp( + LONG MillisecondsPause) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScanDown( + LONG MillisecondsPause) = 0; + + virtual HRESULT STDMETHODCALLTYPE AutoProgram( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IScanningTuner, 0x1dfd0a5c, 0x0284, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IScanningTunerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IScanningTuner *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IScanningTuner *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IScanningTuner *This); + + /*** ITuner methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IScanningTuner *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( + IScanningTuner *This, + ITuningSpace *TuningSpace); + + HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)( + IScanningTuner *This, + IEnumTuningSpaces **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_TuneRequest)( + IScanningTuner *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *put_TuneRequest)( + IScanningTuner *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *Validate)( + IScanningTuner *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)( + IScanningTuner *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)( + IScanningTuner *This, + IComponentTypes *ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_SignalStrength)( + IScanningTuner *This, + LONG *Strength); + + HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)( + IScanningTuner *This, + LONG Interval); + + /*** IScanningTuner methods ***/ + HRESULT (STDMETHODCALLTYPE *SeekUp)( + IScanningTuner *This); + + HRESULT (STDMETHODCALLTYPE *SeekDown)( + IScanningTuner *This); + + HRESULT (STDMETHODCALLTYPE *ScanUp)( + IScanningTuner *This, + LONG MillisecondsPause); + + HRESULT (STDMETHODCALLTYPE *ScanDown)( + IScanningTuner *This, + LONG MillisecondsPause); + + HRESULT (STDMETHODCALLTYPE *AutoProgram)( + IScanningTuner *This); + + END_INTERFACE +} IScanningTunerVtbl; + +interface IScanningTuner { + CONST_VTBL IScanningTunerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IScanningTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IScanningTuner_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IScanningTuner_Release(This) (This)->lpVtbl->Release(This) +/*** ITuner methods ***/ +#define IScanningTuner_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IScanningTuner_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace) +#define IScanningTuner_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum) +#define IScanningTuner_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest) +#define IScanningTuner_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest) +#define IScanningTuner_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest) +#define IScanningTuner_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes) +#define IScanningTuner_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes) +#define IScanningTuner_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength) +#define IScanningTuner_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval) +/*** IScanningTuner methods ***/ +#define IScanningTuner_SeekUp(This) (This)->lpVtbl->SeekUp(This) +#define IScanningTuner_SeekDown(This) (This)->lpVtbl->SeekDown(This) +#define IScanningTuner_ScanUp(This,MillisecondsPause) (This)->lpVtbl->ScanUp(This,MillisecondsPause) +#define IScanningTuner_ScanDown(This,MillisecondsPause) (This)->lpVtbl->ScanDown(This,MillisecondsPause) +#define IScanningTuner_AutoProgram(This) (This)->lpVtbl->AutoProgram(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IScanningTuner_QueryInterface(IScanningTuner* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IScanningTuner_AddRef(IScanningTuner* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IScanningTuner_Release(IScanningTuner* This) { + return This->lpVtbl->Release(This); +} +/*** ITuner methods ***/ +static inline HRESULT IScanningTuner_get_TuningSpace(IScanningTuner* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IScanningTuner_put_TuningSpace(IScanningTuner* This,ITuningSpace *TuningSpace) { + return This->lpVtbl->put_TuningSpace(This,TuningSpace); +} +static inline HRESULT IScanningTuner_EnumTuningSpaces(IScanningTuner* This,IEnumTuningSpaces **ppEnum) { + return This->lpVtbl->EnumTuningSpaces(This,ppEnum); +} +static inline HRESULT IScanningTuner_get_TuneRequest(IScanningTuner* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->get_TuneRequest(This,TuneRequest); +} +static inline HRESULT IScanningTuner_put_TuneRequest(IScanningTuner* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->put_TuneRequest(This,TuneRequest); +} +static inline HRESULT IScanningTuner_Validate(IScanningTuner* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->Validate(This,TuneRequest); +} +static inline HRESULT IScanningTuner_get_PreferredComponentTypes(IScanningTuner* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IScanningTuner_put_PreferredComponentTypes(IScanningTuner* This,IComponentTypes *ComponentTypes) { + return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IScanningTuner_get_SignalStrength(IScanningTuner* This,LONG *Strength) { + return This->lpVtbl->get_SignalStrength(This,Strength); +} +static inline HRESULT IScanningTuner_TriggerSignalEvents(IScanningTuner* This,LONG Interval) { + return This->lpVtbl->TriggerSignalEvents(This,Interval); +} +/*** IScanningTuner methods ***/ +static inline HRESULT IScanningTuner_SeekUp(IScanningTuner* This) { + return This->lpVtbl->SeekUp(This); +} +static inline HRESULT IScanningTuner_SeekDown(IScanningTuner* This) { + return This->lpVtbl->SeekDown(This); +} +static inline HRESULT IScanningTuner_ScanUp(IScanningTuner* This,LONG MillisecondsPause) { + return This->lpVtbl->ScanUp(This,MillisecondsPause); +} +static inline HRESULT IScanningTuner_ScanDown(IScanningTuner* This,LONG MillisecondsPause) { + return This->lpVtbl->ScanDown(This,MillisecondsPause); +} +static inline HRESULT IScanningTuner_AutoProgram(IScanningTuner* This) { + return This->lpVtbl->AutoProgram(This); +} +#endif +#endif + +#endif + + +#endif /* __IScanningTuner_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IScanningTunerEx interface + */ +#ifndef __IScanningTunerEx_INTERFACE_DEFINED__ +#define __IScanningTunerEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IScanningTunerEx, 0x04bbd195, 0x0e2d, 0x4593, 0x9b,0xd5, 0x4f,0x90,0x8b,0xc3,0x3c,0xf5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("04bbd195-0e2d-4593-9bd5-4f908bc33cf5") +IScanningTunerEx : public IScanningTuner +{ + virtual HRESULT STDMETHODCALLTYPE GetCurrentLocator( + ILocator **pILocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE PerformExhaustiveScan( + LONG dwLowerFreq, + LONG dwHigherFreq, + VARIANT_BOOL bFineTune, + HEVENT hEvent) = 0; + + virtual HRESULT STDMETHODCALLTYPE TerminateCurrentScan( + LONG *pcurrentFreq) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResumeCurrentScan( + HEVENT hEvent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTunerScanningCapability( + LONG *HardwareAssistedScanning, + LONG *NumStandardsSupported, + GUID *BroadcastStandards) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTunerStatus( + LONG *SecondsLeft, + LONG *CurrentLockType, + LONG *AutoDetect, + LONG *CurrentFreq) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentTunerStandardCapability( + GUID CurrentBroadcastStandard, + LONG *SettlingTime, + LONG *TvStandardsSupported) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScanSignalTypeFilter( + LONG ScanModulationTypes, + LONG AnalogVideoStandard) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IScanningTunerEx, 0x04bbd195, 0x0e2d, 0x4593, 0x9b,0xd5, 0x4f,0x90,0x8b,0xc3,0x3c,0xf5) +#endif +#else +typedef struct IScanningTunerExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IScanningTunerEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IScanningTunerEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IScanningTunerEx *This); + + /*** ITuner methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TuningSpace)( + IScanningTunerEx *This, + ITuningSpace **TuningSpace); + + HRESULT (STDMETHODCALLTYPE *put_TuningSpace)( + IScanningTunerEx *This, + ITuningSpace *TuningSpace); + + HRESULT (STDMETHODCALLTYPE *EnumTuningSpaces)( + IScanningTunerEx *This, + IEnumTuningSpaces **ppEnum); + + HRESULT (STDMETHODCALLTYPE *get_TuneRequest)( + IScanningTunerEx *This, + ITuneRequest **TuneRequest); + + HRESULT (STDMETHODCALLTYPE *put_TuneRequest)( + IScanningTunerEx *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *Validate)( + IScanningTunerEx *This, + ITuneRequest *TuneRequest); + + HRESULT (STDMETHODCALLTYPE *get_PreferredComponentTypes)( + IScanningTunerEx *This, + IComponentTypes **ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *put_PreferredComponentTypes)( + IScanningTunerEx *This, + IComponentTypes *ComponentTypes); + + HRESULT (STDMETHODCALLTYPE *get_SignalStrength)( + IScanningTunerEx *This, + LONG *Strength); + + HRESULT (STDMETHODCALLTYPE *TriggerSignalEvents)( + IScanningTunerEx *This, + LONG Interval); + + /*** IScanningTuner methods ***/ + HRESULT (STDMETHODCALLTYPE *SeekUp)( + IScanningTunerEx *This); + + HRESULT (STDMETHODCALLTYPE *SeekDown)( + IScanningTunerEx *This); + + HRESULT (STDMETHODCALLTYPE *ScanUp)( + IScanningTunerEx *This, + LONG MillisecondsPause); + + HRESULT (STDMETHODCALLTYPE *ScanDown)( + IScanningTunerEx *This, + LONG MillisecondsPause); + + HRESULT (STDMETHODCALLTYPE *AutoProgram)( + IScanningTunerEx *This); + + /*** IScanningTunerEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCurrentLocator)( + IScanningTunerEx *This, + ILocator **pILocator); + + HRESULT (STDMETHODCALLTYPE *PerformExhaustiveScan)( + IScanningTunerEx *This, + LONG dwLowerFreq, + LONG dwHigherFreq, + VARIANT_BOOL bFineTune, + HEVENT hEvent); + + HRESULT (STDMETHODCALLTYPE *TerminateCurrentScan)( + IScanningTunerEx *This, + LONG *pcurrentFreq); + + HRESULT (STDMETHODCALLTYPE *ResumeCurrentScan)( + IScanningTunerEx *This, + HEVENT hEvent); + + HRESULT (STDMETHODCALLTYPE *GetTunerScanningCapability)( + IScanningTunerEx *This, + LONG *HardwareAssistedScanning, + LONG *NumStandardsSupported, + GUID *BroadcastStandards); + + HRESULT (STDMETHODCALLTYPE *GetTunerStatus)( + IScanningTunerEx *This, + LONG *SecondsLeft, + LONG *CurrentLockType, + LONG *AutoDetect, + LONG *CurrentFreq); + + HRESULT (STDMETHODCALLTYPE *GetCurrentTunerStandardCapability)( + IScanningTunerEx *This, + GUID CurrentBroadcastStandard, + LONG *SettlingTime, + LONG *TvStandardsSupported); + + HRESULT (STDMETHODCALLTYPE *SetScanSignalTypeFilter)( + IScanningTunerEx *This, + LONG ScanModulationTypes, + LONG AnalogVideoStandard); + + END_INTERFACE +} IScanningTunerExVtbl; + +interface IScanningTunerEx { + CONST_VTBL IScanningTunerExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IScanningTunerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IScanningTunerEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IScanningTunerEx_Release(This) (This)->lpVtbl->Release(This) +/*** ITuner methods ***/ +#define IScanningTunerEx_get_TuningSpace(This,TuningSpace) (This)->lpVtbl->get_TuningSpace(This,TuningSpace) +#define IScanningTunerEx_put_TuningSpace(This,TuningSpace) (This)->lpVtbl->put_TuningSpace(This,TuningSpace) +#define IScanningTunerEx_EnumTuningSpaces(This,ppEnum) (This)->lpVtbl->EnumTuningSpaces(This,ppEnum) +#define IScanningTunerEx_get_TuneRequest(This,TuneRequest) (This)->lpVtbl->get_TuneRequest(This,TuneRequest) +#define IScanningTunerEx_put_TuneRequest(This,TuneRequest) (This)->lpVtbl->put_TuneRequest(This,TuneRequest) +#define IScanningTunerEx_Validate(This,TuneRequest) (This)->lpVtbl->Validate(This,TuneRequest) +#define IScanningTunerEx_get_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes) +#define IScanningTunerEx_put_PreferredComponentTypes(This,ComponentTypes) (This)->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes) +#define IScanningTunerEx_get_SignalStrength(This,Strength) (This)->lpVtbl->get_SignalStrength(This,Strength) +#define IScanningTunerEx_TriggerSignalEvents(This,Interval) (This)->lpVtbl->TriggerSignalEvents(This,Interval) +/*** IScanningTuner methods ***/ +#define IScanningTunerEx_SeekUp(This) (This)->lpVtbl->SeekUp(This) +#define IScanningTunerEx_SeekDown(This) (This)->lpVtbl->SeekDown(This) +#define IScanningTunerEx_ScanUp(This,MillisecondsPause) (This)->lpVtbl->ScanUp(This,MillisecondsPause) +#define IScanningTunerEx_ScanDown(This,MillisecondsPause) (This)->lpVtbl->ScanDown(This,MillisecondsPause) +#define IScanningTunerEx_AutoProgram(This) (This)->lpVtbl->AutoProgram(This) +/*** IScanningTunerEx methods ***/ +#define IScanningTunerEx_GetCurrentLocator(This,pILocator) (This)->lpVtbl->GetCurrentLocator(This,pILocator) +#define IScanningTunerEx_PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent) (This)->lpVtbl->PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent) +#define IScanningTunerEx_TerminateCurrentScan(This,pcurrentFreq) (This)->lpVtbl->TerminateCurrentScan(This,pcurrentFreq) +#define IScanningTunerEx_ResumeCurrentScan(This,hEvent) (This)->lpVtbl->ResumeCurrentScan(This,hEvent) +#define IScanningTunerEx_GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards) (This)->lpVtbl->GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards) +#define IScanningTunerEx_GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq) (This)->lpVtbl->GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq) +#define IScanningTunerEx_GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported) (This)->lpVtbl->GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported) +#define IScanningTunerEx_SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard) (This)->lpVtbl->SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard) +#else +/*** IUnknown methods ***/ +static inline HRESULT IScanningTunerEx_QueryInterface(IScanningTunerEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IScanningTunerEx_AddRef(IScanningTunerEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IScanningTunerEx_Release(IScanningTunerEx* This) { + return This->lpVtbl->Release(This); +} +/*** ITuner methods ***/ +static inline HRESULT IScanningTunerEx_get_TuningSpace(IScanningTunerEx* This,ITuningSpace **TuningSpace) { + return This->lpVtbl->get_TuningSpace(This,TuningSpace); +} +static inline HRESULT IScanningTunerEx_put_TuningSpace(IScanningTunerEx* This,ITuningSpace *TuningSpace) { + return This->lpVtbl->put_TuningSpace(This,TuningSpace); +} +static inline HRESULT IScanningTunerEx_EnumTuningSpaces(IScanningTunerEx* This,IEnumTuningSpaces **ppEnum) { + return This->lpVtbl->EnumTuningSpaces(This,ppEnum); +} +static inline HRESULT IScanningTunerEx_get_TuneRequest(IScanningTunerEx* This,ITuneRequest **TuneRequest) { + return This->lpVtbl->get_TuneRequest(This,TuneRequest); +} +static inline HRESULT IScanningTunerEx_put_TuneRequest(IScanningTunerEx* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->put_TuneRequest(This,TuneRequest); +} +static inline HRESULT IScanningTunerEx_Validate(IScanningTunerEx* This,ITuneRequest *TuneRequest) { + return This->lpVtbl->Validate(This,TuneRequest); +} +static inline HRESULT IScanningTunerEx_get_PreferredComponentTypes(IScanningTunerEx* This,IComponentTypes **ComponentTypes) { + return This->lpVtbl->get_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IScanningTunerEx_put_PreferredComponentTypes(IScanningTunerEx* This,IComponentTypes *ComponentTypes) { + return This->lpVtbl->put_PreferredComponentTypes(This,ComponentTypes); +} +static inline HRESULT IScanningTunerEx_get_SignalStrength(IScanningTunerEx* This,LONG *Strength) { + return This->lpVtbl->get_SignalStrength(This,Strength); +} +static inline HRESULT IScanningTunerEx_TriggerSignalEvents(IScanningTunerEx* This,LONG Interval) { + return This->lpVtbl->TriggerSignalEvents(This,Interval); +} +/*** IScanningTuner methods ***/ +static inline HRESULT IScanningTunerEx_SeekUp(IScanningTunerEx* This) { + return This->lpVtbl->SeekUp(This); +} +static inline HRESULT IScanningTunerEx_SeekDown(IScanningTunerEx* This) { + return This->lpVtbl->SeekDown(This); +} +static inline HRESULT IScanningTunerEx_ScanUp(IScanningTunerEx* This,LONG MillisecondsPause) { + return This->lpVtbl->ScanUp(This,MillisecondsPause); +} +static inline HRESULT IScanningTunerEx_ScanDown(IScanningTunerEx* This,LONG MillisecondsPause) { + return This->lpVtbl->ScanDown(This,MillisecondsPause); +} +static inline HRESULT IScanningTunerEx_AutoProgram(IScanningTunerEx* This) { + return This->lpVtbl->AutoProgram(This); +} +/*** IScanningTunerEx methods ***/ +static inline HRESULT IScanningTunerEx_GetCurrentLocator(IScanningTunerEx* This,ILocator **pILocator) { + return This->lpVtbl->GetCurrentLocator(This,pILocator); +} +static inline HRESULT IScanningTunerEx_PerformExhaustiveScan(IScanningTunerEx* This,LONG dwLowerFreq,LONG dwHigherFreq,VARIANT_BOOL bFineTune,HEVENT hEvent) { + return This->lpVtbl->PerformExhaustiveScan(This,dwLowerFreq,dwHigherFreq,bFineTune,hEvent); +} +static inline HRESULT IScanningTunerEx_TerminateCurrentScan(IScanningTunerEx* This,LONG *pcurrentFreq) { + return This->lpVtbl->TerminateCurrentScan(This,pcurrentFreq); +} +static inline HRESULT IScanningTunerEx_ResumeCurrentScan(IScanningTunerEx* This,HEVENT hEvent) { + return This->lpVtbl->ResumeCurrentScan(This,hEvent); +} +static inline HRESULT IScanningTunerEx_GetTunerScanningCapability(IScanningTunerEx* This,LONG *HardwareAssistedScanning,LONG *NumStandardsSupported,GUID *BroadcastStandards) { + return This->lpVtbl->GetTunerScanningCapability(This,HardwareAssistedScanning,NumStandardsSupported,BroadcastStandards); +} +static inline HRESULT IScanningTunerEx_GetTunerStatus(IScanningTunerEx* This,LONG *SecondsLeft,LONG *CurrentLockType,LONG *AutoDetect,LONG *CurrentFreq) { + return This->lpVtbl->GetTunerStatus(This,SecondsLeft,CurrentLockType,AutoDetect,CurrentFreq); +} +static inline HRESULT IScanningTunerEx_GetCurrentTunerStandardCapability(IScanningTunerEx* This,GUID CurrentBroadcastStandard,LONG *SettlingTime,LONG *TvStandardsSupported) { + return This->lpVtbl->GetCurrentTunerStandardCapability(This,CurrentBroadcastStandard,SettlingTime,TvStandardsSupported); +} +static inline HRESULT IScanningTunerEx_SetScanSignalTypeFilter(IScanningTunerEx* This,LONG ScanModulationTypes,LONG AnalogVideoStandard) { + return This->lpVtbl->SetScanSignalTypeFilter(This,ScanModulationTypes,AnalogVideoStandard); +} +#endif +#endif + +#endif + + +#endif /* __IScanningTunerEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IComponentType interface + */ +#ifndef __IComponentType_INTERFACE_DEFINED__ +#define __IComponentType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IComponentType, 0x6a340dc0, 0x0311, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6a340dc0-0311-11d3-9d8e-00c04f72d980") +IComponentType : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Category( + ComponentCategory *Category) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Category( + ComponentCategory Category) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MediaMajorType( + BSTR *MediaMajorType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MediaMajorType( + BSTR MediaMajorType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__MediaMajorType( + GUID *MediaMajorTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE put__MediaMajorType( + REFCLSID MediaMajorTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MediaSubType( + BSTR *MediaSubType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MediaSubType( + BSTR MediaSubType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__MediaSubType( + GUID *MediaSubTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE put__MediaSubType( + REFCLSID MediaSubTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MediaFormatType( + BSTR *MediaFormatType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MediaFormatType( + BSTR MediaFormatType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__MediaFormatType( + GUID *MediaFormatTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE put__MediaFormatType( + REFCLSID MediaFormatTypeGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MediaType( + AM_MEDIA_TYPE *MediaType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MediaType( + AM_MEDIA_TYPE *MediaType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IComponentType **NewCT) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IComponentType, 0x6a340dc0, 0x0311, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IComponentTypeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IComponentType *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IComponentType *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IComponentType *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IComponentType *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IComponentType *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IComponentType *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IComponentType *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Category)( + IComponentType *This, + ComponentCategory *Category); + + HRESULT (STDMETHODCALLTYPE *put_Category)( + IComponentType *This, + ComponentCategory Category); + + HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)( + IComponentType *This, + BSTR *MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)( + IComponentType *This, + BSTR MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)( + IComponentType *This, + GUID *MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)( + IComponentType *This, + REFCLSID MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaSubType)( + IComponentType *This, + BSTR *MediaSubType); + + HRESULT (STDMETHODCALLTYPE *put_MediaSubType)( + IComponentType *This, + BSTR MediaSubType); + + HRESULT (STDMETHODCALLTYPE *get__MediaSubType)( + IComponentType *This, + GUID *MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaSubType)( + IComponentType *This, + REFCLSID MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)( + IComponentType *This, + BSTR *MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)( + IComponentType *This, + BSTR MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)( + IComponentType *This, + GUID *MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)( + IComponentType *This, + REFCLSID MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaType)( + IComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *put_MediaType)( + IComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IComponentType *This, + IComponentType **NewCT); + + END_INTERFACE +} IComponentTypeVtbl; + +interface IComponentType { + CONST_VTBL IComponentTypeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IComponentType_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IComponentType_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentType methods ***/ +#define IComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category) +#define IComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category) +#define IComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType) +#define IComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType) +#define IComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid) +#define IComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid) +#define IComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType) +#define IComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType) +#define IComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid) +#define IComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid) +#define IComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType) +#define IComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType) +#define IComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid) +#define IComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid) +#define IComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType) +#define IComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType) +#define IComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT) +#else +/*** IUnknown methods ***/ +static inline HRESULT IComponentType_QueryInterface(IComponentType* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IComponentType_AddRef(IComponentType* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IComponentType_Release(IComponentType* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IComponentType_GetTypeInfoCount(IComponentType* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IComponentType_GetTypeInfo(IComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IComponentType_GetIDsOfNames(IComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IComponentType_Invoke(IComponentType* 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); +} +/*** IComponentType methods ***/ +static inline HRESULT IComponentType_get_Category(IComponentType* This,ComponentCategory *Category) { + return This->lpVtbl->get_Category(This,Category); +} +static inline HRESULT IComponentType_put_Category(IComponentType* This,ComponentCategory Category) { + return This->lpVtbl->put_Category(This,Category); +} +static inline HRESULT IComponentType_get_MediaMajorType(IComponentType* This,BSTR *MediaMajorType) { + return This->lpVtbl->get_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IComponentType_put_MediaMajorType(IComponentType* This,BSTR MediaMajorType) { + return This->lpVtbl->put_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IComponentType_get__MediaMajorType(IComponentType* This,GUID *MediaMajorTypeGuid) { + return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IComponentType_put__MediaMajorType(IComponentType* This,REFCLSID MediaMajorTypeGuid) { + return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IComponentType_get_MediaSubType(IComponentType* This,BSTR *MediaSubType) { + return This->lpVtbl->get_MediaSubType(This,MediaSubType); +} +static inline HRESULT IComponentType_put_MediaSubType(IComponentType* This,BSTR MediaSubType) { + return This->lpVtbl->put_MediaSubType(This,MediaSubType); +} +static inline HRESULT IComponentType_get__MediaSubType(IComponentType* This,GUID *MediaSubTypeGuid) { + return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IComponentType_put__MediaSubType(IComponentType* This,REFCLSID MediaSubTypeGuid) { + return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IComponentType_get_MediaFormatType(IComponentType* This,BSTR *MediaFormatType) { + return This->lpVtbl->get_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IComponentType_put_MediaFormatType(IComponentType* This,BSTR MediaFormatType) { + return This->lpVtbl->put_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IComponentType_get__MediaFormatType(IComponentType* This,GUID *MediaFormatTypeGuid) { + return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IComponentType_put__MediaFormatType(IComponentType* This,REFCLSID MediaFormatTypeGuid) { + return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IComponentType_get_MediaType(IComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->get_MediaType(This,MediaType); +} +static inline HRESULT IComponentType_put_MediaType(IComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->put_MediaType(This,MediaType); +} +static inline HRESULT IComponentType_Clone(IComponentType* This,IComponentType **NewCT) { + return This->lpVtbl->Clone(This,NewCT); +} +#endif +#endif + +#endif + + +#endif /* __IComponentType_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ILanguageComponentType interface + */ +#ifndef __ILanguageComponentType_INTERFACE_DEFINED__ +#define __ILanguageComponentType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ILanguageComponentType, 0xb874c8ba, 0x0fa2, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b874c8ba-0fa2-11d3-9d8e-00c04f72d980") +ILanguageComponentType : public IComponentType +{ + virtual HRESULT STDMETHODCALLTYPE get_LangID( + LONG *LangID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LangID( + LONG LangID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ILanguageComponentType, 0xb874c8ba, 0x0fa2, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct ILanguageComponentTypeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ILanguageComponentType *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ILanguageComponentType *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ILanguageComponentType *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ILanguageComponentType *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ILanguageComponentType *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ILanguageComponentType *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ILanguageComponentType *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Category)( + ILanguageComponentType *This, + ComponentCategory *Category); + + HRESULT (STDMETHODCALLTYPE *put_Category)( + ILanguageComponentType *This, + ComponentCategory Category); + + HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)( + ILanguageComponentType *This, + BSTR *MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)( + ILanguageComponentType *This, + BSTR MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)( + ILanguageComponentType *This, + GUID *MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)( + ILanguageComponentType *This, + REFCLSID MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaSubType)( + ILanguageComponentType *This, + BSTR *MediaSubType); + + HRESULT (STDMETHODCALLTYPE *put_MediaSubType)( + ILanguageComponentType *This, + BSTR MediaSubType); + + HRESULT (STDMETHODCALLTYPE *get__MediaSubType)( + ILanguageComponentType *This, + GUID *MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaSubType)( + ILanguageComponentType *This, + REFCLSID MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)( + ILanguageComponentType *This, + BSTR *MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)( + ILanguageComponentType *This, + BSTR MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)( + ILanguageComponentType *This, + GUID *MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)( + ILanguageComponentType *This, + REFCLSID MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaType)( + ILanguageComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *put_MediaType)( + ILanguageComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *Clone)( + ILanguageComponentType *This, + IComponentType **NewCT); + + /*** ILanguageComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_LangID)( + ILanguageComponentType *This, + LONG *LangID); + + HRESULT (STDMETHODCALLTYPE *put_LangID)( + ILanguageComponentType *This, + LONG LangID); + + END_INTERFACE +} ILanguageComponentTypeVtbl; + +interface ILanguageComponentType { + CONST_VTBL ILanguageComponentTypeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ILanguageComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILanguageComponentType_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILanguageComponentType_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ILanguageComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ILanguageComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ILanguageComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ILanguageComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentType methods ***/ +#define ILanguageComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category) +#define ILanguageComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category) +#define ILanguageComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType) +#define ILanguageComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType) +#define ILanguageComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid) +#define ILanguageComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid) +#define ILanguageComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType) +#define ILanguageComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType) +#define ILanguageComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid) +#define ILanguageComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid) +#define ILanguageComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType) +#define ILanguageComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType) +#define ILanguageComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid) +#define ILanguageComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid) +#define ILanguageComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType) +#define ILanguageComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType) +#define ILanguageComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT) +/*** ILanguageComponentType methods ***/ +#define ILanguageComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID) +#define ILanguageComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID) +#else +/*** IUnknown methods ***/ +static inline HRESULT ILanguageComponentType_QueryInterface(ILanguageComponentType* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ILanguageComponentType_AddRef(ILanguageComponentType* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ILanguageComponentType_Release(ILanguageComponentType* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ILanguageComponentType_GetTypeInfoCount(ILanguageComponentType* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ILanguageComponentType_GetTypeInfo(ILanguageComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ILanguageComponentType_GetIDsOfNames(ILanguageComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ILanguageComponentType_Invoke(ILanguageComponentType* 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); +} +/*** IComponentType methods ***/ +static inline HRESULT ILanguageComponentType_get_Category(ILanguageComponentType* This,ComponentCategory *Category) { + return This->lpVtbl->get_Category(This,Category); +} +static inline HRESULT ILanguageComponentType_put_Category(ILanguageComponentType* This,ComponentCategory Category) { + return This->lpVtbl->put_Category(This,Category); +} +static inline HRESULT ILanguageComponentType_get_MediaMajorType(ILanguageComponentType* This,BSTR *MediaMajorType) { + return This->lpVtbl->get_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT ILanguageComponentType_put_MediaMajorType(ILanguageComponentType* This,BSTR MediaMajorType) { + return This->lpVtbl->put_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT ILanguageComponentType_get__MediaMajorType(ILanguageComponentType* This,GUID *MediaMajorTypeGuid) { + return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT ILanguageComponentType_put__MediaMajorType(ILanguageComponentType* This,REFCLSID MediaMajorTypeGuid) { + return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT ILanguageComponentType_get_MediaSubType(ILanguageComponentType* This,BSTR *MediaSubType) { + return This->lpVtbl->get_MediaSubType(This,MediaSubType); +} +static inline HRESULT ILanguageComponentType_put_MediaSubType(ILanguageComponentType* This,BSTR MediaSubType) { + return This->lpVtbl->put_MediaSubType(This,MediaSubType); +} +static inline HRESULT ILanguageComponentType_get__MediaSubType(ILanguageComponentType* This,GUID *MediaSubTypeGuid) { + return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT ILanguageComponentType_put__MediaSubType(ILanguageComponentType* This,REFCLSID MediaSubTypeGuid) { + return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT ILanguageComponentType_get_MediaFormatType(ILanguageComponentType* This,BSTR *MediaFormatType) { + return This->lpVtbl->get_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT ILanguageComponentType_put_MediaFormatType(ILanguageComponentType* This,BSTR MediaFormatType) { + return This->lpVtbl->put_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT ILanguageComponentType_get__MediaFormatType(ILanguageComponentType* This,GUID *MediaFormatTypeGuid) { + return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT ILanguageComponentType_put__MediaFormatType(ILanguageComponentType* This,REFCLSID MediaFormatTypeGuid) { + return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT ILanguageComponentType_get_MediaType(ILanguageComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->get_MediaType(This,MediaType); +} +static inline HRESULT ILanguageComponentType_put_MediaType(ILanguageComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->put_MediaType(This,MediaType); +} +static inline HRESULT ILanguageComponentType_Clone(ILanguageComponentType* This,IComponentType **NewCT) { + return This->lpVtbl->Clone(This,NewCT); +} +/*** ILanguageComponentType methods ***/ +static inline HRESULT ILanguageComponentType_get_LangID(ILanguageComponentType* This,LONG *LangID) { + return This->lpVtbl->get_LangID(This,LangID); +} +static inline HRESULT ILanguageComponentType_put_LangID(ILanguageComponentType* This,LONG LangID) { + return This->lpVtbl->put_LangID(This,LangID); +} +#endif +#endif + +#endif + + +#endif /* __ILanguageComponentType_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMPEG2ComponentType interface + */ +#ifndef __IMPEG2ComponentType_INTERFACE_DEFINED__ +#define __IMPEG2ComponentType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMPEG2ComponentType, 0x2c073d84, 0xb51c, 0x48c9, 0xaa,0x9f, 0x68,0x97,0x1e,0x1f,0x6e,0x38); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2c073d84-b51c-48c9-aa9f-68971e1f6e38") +IMPEG2ComponentType : public ILanguageComponentType +{ + virtual HRESULT STDMETHODCALLTYPE get_StreamType( + MPEG2StreamType *MP2StreamType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StreamType( + MPEG2StreamType MP2StreamType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMPEG2ComponentType, 0x2c073d84, 0xb51c, 0x48c9, 0xaa,0x9f, 0x68,0x97,0x1e,0x1f,0x6e,0x38) +#endif +#else +typedef struct IMPEG2ComponentTypeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMPEG2ComponentType *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMPEG2ComponentType *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMPEG2ComponentType *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMPEG2ComponentType *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMPEG2ComponentType *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMPEG2ComponentType *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMPEG2ComponentType *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Category)( + IMPEG2ComponentType *This, + ComponentCategory *Category); + + HRESULT (STDMETHODCALLTYPE *put_Category)( + IMPEG2ComponentType *This, + ComponentCategory Category); + + HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)( + IMPEG2ComponentType *This, + BSTR *MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)( + IMPEG2ComponentType *This, + BSTR MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)( + IMPEG2ComponentType *This, + GUID *MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)( + IMPEG2ComponentType *This, + REFCLSID MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaSubType)( + IMPEG2ComponentType *This, + BSTR *MediaSubType); + + HRESULT (STDMETHODCALLTYPE *put_MediaSubType)( + IMPEG2ComponentType *This, + BSTR MediaSubType); + + HRESULT (STDMETHODCALLTYPE *get__MediaSubType)( + IMPEG2ComponentType *This, + GUID *MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaSubType)( + IMPEG2ComponentType *This, + REFCLSID MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)( + IMPEG2ComponentType *This, + BSTR *MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)( + IMPEG2ComponentType *This, + BSTR MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)( + IMPEG2ComponentType *This, + GUID *MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)( + IMPEG2ComponentType *This, + REFCLSID MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaType)( + IMPEG2ComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *put_MediaType)( + IMPEG2ComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMPEG2ComponentType *This, + IComponentType **NewCT); + + /*** ILanguageComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_LangID)( + IMPEG2ComponentType *This, + LONG *LangID); + + HRESULT (STDMETHODCALLTYPE *put_LangID)( + IMPEG2ComponentType *This, + LONG LangID); + + /*** IMPEG2ComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_StreamType)( + IMPEG2ComponentType *This, + MPEG2StreamType *MP2StreamType); + + HRESULT (STDMETHODCALLTYPE *put_StreamType)( + IMPEG2ComponentType *This, + MPEG2StreamType MP2StreamType); + + END_INTERFACE +} IMPEG2ComponentTypeVtbl; + +interface IMPEG2ComponentType { + CONST_VTBL IMPEG2ComponentTypeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMPEG2ComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMPEG2ComponentType_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMPEG2ComponentType_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMPEG2ComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMPEG2ComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMPEG2ComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMPEG2ComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentType methods ***/ +#define IMPEG2ComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category) +#define IMPEG2ComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category) +#define IMPEG2ComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType) +#define IMPEG2ComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType) +#define IMPEG2ComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid) +#define IMPEG2ComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid) +#define IMPEG2ComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType) +#define IMPEG2ComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType) +#define IMPEG2ComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid) +#define IMPEG2ComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid) +#define IMPEG2ComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType) +#define IMPEG2ComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType) +#define IMPEG2ComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid) +#define IMPEG2ComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid) +#define IMPEG2ComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType) +#define IMPEG2ComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType) +#define IMPEG2ComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT) +/*** ILanguageComponentType methods ***/ +#define IMPEG2ComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID) +#define IMPEG2ComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID) +/*** IMPEG2ComponentType methods ***/ +#define IMPEG2ComponentType_get_StreamType(This,MP2StreamType) (This)->lpVtbl->get_StreamType(This,MP2StreamType) +#define IMPEG2ComponentType_put_StreamType(This,MP2StreamType) (This)->lpVtbl->put_StreamType(This,MP2StreamType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMPEG2ComponentType_QueryInterface(IMPEG2ComponentType* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMPEG2ComponentType_AddRef(IMPEG2ComponentType* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMPEG2ComponentType_Release(IMPEG2ComponentType* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMPEG2ComponentType_GetTypeInfoCount(IMPEG2ComponentType* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMPEG2ComponentType_GetTypeInfo(IMPEG2ComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMPEG2ComponentType_GetIDsOfNames(IMPEG2ComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMPEG2ComponentType_Invoke(IMPEG2ComponentType* 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); +} +/*** IComponentType methods ***/ +static inline HRESULT IMPEG2ComponentType_get_Category(IMPEG2ComponentType* This,ComponentCategory *Category) { + return This->lpVtbl->get_Category(This,Category); +} +static inline HRESULT IMPEG2ComponentType_put_Category(IMPEG2ComponentType* This,ComponentCategory Category) { + return This->lpVtbl->put_Category(This,Category); +} +static inline HRESULT IMPEG2ComponentType_get_MediaMajorType(IMPEG2ComponentType* This,BSTR *MediaMajorType) { + return This->lpVtbl->get_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IMPEG2ComponentType_put_MediaMajorType(IMPEG2ComponentType* This,BSTR MediaMajorType) { + return This->lpVtbl->put_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IMPEG2ComponentType_get__MediaMajorType(IMPEG2ComponentType* This,GUID *MediaMajorTypeGuid) { + return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_put__MediaMajorType(IMPEG2ComponentType* This,REFCLSID MediaMajorTypeGuid) { + return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_get_MediaSubType(IMPEG2ComponentType* This,BSTR *MediaSubType) { + return This->lpVtbl->get_MediaSubType(This,MediaSubType); +} +static inline HRESULT IMPEG2ComponentType_put_MediaSubType(IMPEG2ComponentType* This,BSTR MediaSubType) { + return This->lpVtbl->put_MediaSubType(This,MediaSubType); +} +static inline HRESULT IMPEG2ComponentType_get__MediaSubType(IMPEG2ComponentType* This,GUID *MediaSubTypeGuid) { + return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_put__MediaSubType(IMPEG2ComponentType* This,REFCLSID MediaSubTypeGuid) { + return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_get_MediaFormatType(IMPEG2ComponentType* This,BSTR *MediaFormatType) { + return This->lpVtbl->get_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IMPEG2ComponentType_put_MediaFormatType(IMPEG2ComponentType* This,BSTR MediaFormatType) { + return This->lpVtbl->put_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IMPEG2ComponentType_get__MediaFormatType(IMPEG2ComponentType* This,GUID *MediaFormatTypeGuid) { + return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_put__MediaFormatType(IMPEG2ComponentType* This,REFCLSID MediaFormatTypeGuid) { + return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IMPEG2ComponentType_get_MediaType(IMPEG2ComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->get_MediaType(This,MediaType); +} +static inline HRESULT IMPEG2ComponentType_put_MediaType(IMPEG2ComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->put_MediaType(This,MediaType); +} +static inline HRESULT IMPEG2ComponentType_Clone(IMPEG2ComponentType* This,IComponentType **NewCT) { + return This->lpVtbl->Clone(This,NewCT); +} +/*** ILanguageComponentType methods ***/ +static inline HRESULT IMPEG2ComponentType_get_LangID(IMPEG2ComponentType* This,LONG *LangID) { + return This->lpVtbl->get_LangID(This,LangID); +} +static inline HRESULT IMPEG2ComponentType_put_LangID(IMPEG2ComponentType* This,LONG LangID) { + return This->lpVtbl->put_LangID(This,LangID); +} +/*** IMPEG2ComponentType methods ***/ +static inline HRESULT IMPEG2ComponentType_get_StreamType(IMPEG2ComponentType* This,MPEG2StreamType *MP2StreamType) { + return This->lpVtbl->get_StreamType(This,MP2StreamType); +} +static inline HRESULT IMPEG2ComponentType_put_StreamType(IMPEG2ComponentType* This,MPEG2StreamType MP2StreamType) { + return This->lpVtbl->put_StreamType(This,MP2StreamType); +} +#endif +#endif + +#endif + + +#endif /* __IMPEG2ComponentType_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IATSCComponentType interface + */ +#ifndef __IATSCComponentType_INTERFACE_DEFINED__ +#define __IATSCComponentType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IATSCComponentType, 0xfc189e4d, 0x7bd4, 0x4125, 0xb3,0xb3, 0x3a,0x76,0xa3,0x32,0xcc,0x96); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fc189e4d-7bd4-4125-b3b3-3a76a332cc96") +IATSCComponentType : public IMPEG2ComponentType +{ + virtual HRESULT STDMETHODCALLTYPE get_Flags( + LONG *Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Flags( + LONG flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IATSCComponentType, 0xfc189e4d, 0x7bd4, 0x4125, 0xb3,0xb3, 0x3a,0x76,0xa3,0x32,0xcc,0x96) +#endif +#else +typedef struct IATSCComponentTypeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IATSCComponentType *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IATSCComponentType *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IATSCComponentType *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IATSCComponentType *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IATSCComponentType *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IATSCComponentType *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IATSCComponentType *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Category)( + IATSCComponentType *This, + ComponentCategory *Category); + + HRESULT (STDMETHODCALLTYPE *put_Category)( + IATSCComponentType *This, + ComponentCategory Category); + + HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)( + IATSCComponentType *This, + BSTR *MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)( + IATSCComponentType *This, + BSTR MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)( + IATSCComponentType *This, + GUID *MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)( + IATSCComponentType *This, + REFCLSID MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaSubType)( + IATSCComponentType *This, + BSTR *MediaSubType); + + HRESULT (STDMETHODCALLTYPE *put_MediaSubType)( + IATSCComponentType *This, + BSTR MediaSubType); + + HRESULT (STDMETHODCALLTYPE *get__MediaSubType)( + IATSCComponentType *This, + GUID *MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaSubType)( + IATSCComponentType *This, + REFCLSID MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)( + IATSCComponentType *This, + BSTR *MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)( + IATSCComponentType *This, + BSTR MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)( + IATSCComponentType *This, + GUID *MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)( + IATSCComponentType *This, + REFCLSID MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaType)( + IATSCComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *put_MediaType)( + IATSCComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IATSCComponentType *This, + IComponentType **NewCT); + + /*** ILanguageComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_LangID)( + IATSCComponentType *This, + LONG *LangID); + + HRESULT (STDMETHODCALLTYPE *put_LangID)( + IATSCComponentType *This, + LONG LangID); + + /*** IMPEG2ComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_StreamType)( + IATSCComponentType *This, + MPEG2StreamType *MP2StreamType); + + HRESULT (STDMETHODCALLTYPE *put_StreamType)( + IATSCComponentType *This, + MPEG2StreamType MP2StreamType); + + /*** IATSCComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Flags)( + IATSCComponentType *This, + LONG *Flags); + + HRESULT (STDMETHODCALLTYPE *put_Flags)( + IATSCComponentType *This, + LONG flags); + + END_INTERFACE +} IATSCComponentTypeVtbl; + +interface IATSCComponentType { + CONST_VTBL IATSCComponentTypeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IATSCComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IATSCComponentType_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IATSCComponentType_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IATSCComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IATSCComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IATSCComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IATSCComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentType methods ***/ +#define IATSCComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category) +#define IATSCComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category) +#define IATSCComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType) +#define IATSCComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType) +#define IATSCComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid) +#define IATSCComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid) +#define IATSCComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType) +#define IATSCComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType) +#define IATSCComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid) +#define IATSCComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid) +#define IATSCComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType) +#define IATSCComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType) +#define IATSCComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid) +#define IATSCComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid) +#define IATSCComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType) +#define IATSCComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType) +#define IATSCComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT) +/*** ILanguageComponentType methods ***/ +#define IATSCComponentType_get_LangID(This,LangID) (This)->lpVtbl->get_LangID(This,LangID) +#define IATSCComponentType_put_LangID(This,LangID) (This)->lpVtbl->put_LangID(This,LangID) +/*** IMPEG2ComponentType methods ***/ +#define IATSCComponentType_get_StreamType(This,MP2StreamType) (This)->lpVtbl->get_StreamType(This,MP2StreamType) +#define IATSCComponentType_put_StreamType(This,MP2StreamType) (This)->lpVtbl->put_StreamType(This,MP2StreamType) +/*** IATSCComponentType methods ***/ +#define IATSCComponentType_get_Flags(This,Flags) (This)->lpVtbl->get_Flags(This,Flags) +#define IATSCComponentType_put_Flags(This,flags) (This)->lpVtbl->put_Flags(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IATSCComponentType_QueryInterface(IATSCComponentType* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IATSCComponentType_AddRef(IATSCComponentType* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IATSCComponentType_Release(IATSCComponentType* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IATSCComponentType_GetTypeInfoCount(IATSCComponentType* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IATSCComponentType_GetTypeInfo(IATSCComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IATSCComponentType_GetIDsOfNames(IATSCComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IATSCComponentType_Invoke(IATSCComponentType* 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); +} +/*** IComponentType methods ***/ +static inline HRESULT IATSCComponentType_get_Category(IATSCComponentType* This,ComponentCategory *Category) { + return This->lpVtbl->get_Category(This,Category); +} +static inline HRESULT IATSCComponentType_put_Category(IATSCComponentType* This,ComponentCategory Category) { + return This->lpVtbl->put_Category(This,Category); +} +static inline HRESULT IATSCComponentType_get_MediaMajorType(IATSCComponentType* This,BSTR *MediaMajorType) { + return This->lpVtbl->get_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IATSCComponentType_put_MediaMajorType(IATSCComponentType* This,BSTR MediaMajorType) { + return This->lpVtbl->put_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IATSCComponentType_get__MediaMajorType(IATSCComponentType* This,GUID *MediaMajorTypeGuid) { + return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IATSCComponentType_put__MediaMajorType(IATSCComponentType* This,REFCLSID MediaMajorTypeGuid) { + return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IATSCComponentType_get_MediaSubType(IATSCComponentType* This,BSTR *MediaSubType) { + return This->lpVtbl->get_MediaSubType(This,MediaSubType); +} +static inline HRESULT IATSCComponentType_put_MediaSubType(IATSCComponentType* This,BSTR MediaSubType) { + return This->lpVtbl->put_MediaSubType(This,MediaSubType); +} +static inline HRESULT IATSCComponentType_get__MediaSubType(IATSCComponentType* This,GUID *MediaSubTypeGuid) { + return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IATSCComponentType_put__MediaSubType(IATSCComponentType* This,REFCLSID MediaSubTypeGuid) { + return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IATSCComponentType_get_MediaFormatType(IATSCComponentType* This,BSTR *MediaFormatType) { + return This->lpVtbl->get_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IATSCComponentType_put_MediaFormatType(IATSCComponentType* This,BSTR MediaFormatType) { + return This->lpVtbl->put_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IATSCComponentType_get__MediaFormatType(IATSCComponentType* This,GUID *MediaFormatTypeGuid) { + return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IATSCComponentType_put__MediaFormatType(IATSCComponentType* This,REFCLSID MediaFormatTypeGuid) { + return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IATSCComponentType_get_MediaType(IATSCComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->get_MediaType(This,MediaType); +} +static inline HRESULT IATSCComponentType_put_MediaType(IATSCComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->put_MediaType(This,MediaType); +} +static inline HRESULT IATSCComponentType_Clone(IATSCComponentType* This,IComponentType **NewCT) { + return This->lpVtbl->Clone(This,NewCT); +} +/*** ILanguageComponentType methods ***/ +static inline HRESULT IATSCComponentType_get_LangID(IATSCComponentType* This,LONG *LangID) { + return This->lpVtbl->get_LangID(This,LangID); +} +static inline HRESULT IATSCComponentType_put_LangID(IATSCComponentType* This,LONG LangID) { + return This->lpVtbl->put_LangID(This,LangID); +} +/*** IMPEG2ComponentType methods ***/ +static inline HRESULT IATSCComponentType_get_StreamType(IATSCComponentType* This,MPEG2StreamType *MP2StreamType) { + return This->lpVtbl->get_StreamType(This,MP2StreamType); +} +static inline HRESULT IATSCComponentType_put_StreamType(IATSCComponentType* This,MPEG2StreamType MP2StreamType) { + return This->lpVtbl->put_StreamType(This,MP2StreamType); +} +/*** IATSCComponentType methods ***/ +static inline HRESULT IATSCComponentType_get_Flags(IATSCComponentType* This,LONG *Flags) { + return This->lpVtbl->get_Flags(This,Flags); +} +static inline HRESULT IATSCComponentType_put_Flags(IATSCComponentType* This,LONG flags) { + return This->lpVtbl->put_Flags(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IATSCComponentType_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumComponentTypes interface + */ +#ifndef __IEnumComponentTypes_INTERFACE_DEFINED__ +#define __IEnumComponentTypes_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumComponentTypes, 0x8a674b4a, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8a674b4a-1f63-11d3-b64c-00c04f79498e") +IEnumComponentTypes : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + IComponentType **rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumComponentTypes **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumComponentTypes, 0x8a674b4a, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IEnumComponentTypesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumComponentTypes *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumComponentTypes *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumComponentTypes *This); + + /*** IEnumComponentTypes methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumComponentTypes *This, + ULONG celt, + IComponentType **rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumComponentTypes *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumComponentTypes *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumComponentTypes *This, + IEnumComponentTypes **ppEnum); + + END_INTERFACE +} IEnumComponentTypesVtbl; + +interface IEnumComponentTypes { + CONST_VTBL IEnumComponentTypesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumComponentTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumComponentTypes_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumComponentTypes_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumComponentTypes methods ***/ +#define IEnumComponentTypes_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumComponentTypes_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumComponentTypes_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumComponentTypes_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumComponentTypes_QueryInterface(IEnumComponentTypes* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumComponentTypes_AddRef(IEnumComponentTypes* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumComponentTypes_Release(IEnumComponentTypes* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumComponentTypes methods ***/ +static inline HRESULT IEnumComponentTypes_Next(IEnumComponentTypes* This,ULONG celt,IComponentType **rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumComponentTypes_Skip(IEnumComponentTypes* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumComponentTypes_Reset(IEnumComponentTypes* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumComponentTypes_Clone(IEnumComponentTypes* This,IEnumComponentTypes **ppEnum) { + return This->lpVtbl->Clone(This,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IEnumComponentTypes_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IComponentTypes interface + */ +#ifndef __IComponentTypes_INTERFACE_DEFINED__ +#define __IComponentTypes_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IComponentTypes, 0x0dc13d4a, 0x0313, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0dc13d4a-0313-11d3-9d8e-00c04f72d980") +IComponentTypes : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IEnumVARIANT **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumComponentTypes( + IEnumComponentTypes **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT Index, + IComponentType **ComponentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Item( + VARIANT Index, + IComponentType *ComponentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + IComponentType *ComponentType, + VARIANT *NewIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT Index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IComponentTypes **NewList) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IComponentTypes, 0x0dc13d4a, 0x0313, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IComponentTypesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IComponentTypes *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IComponentTypes *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IComponentTypes *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IComponentTypes *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IComponentTypes *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IComponentTypes *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IComponentTypes *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentTypes methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IComponentTypes *This, + LONG *Count); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IComponentTypes *This, + IEnumVARIANT **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *EnumComponentTypes)( + IComponentTypes *This, + IEnumComponentTypes **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IComponentTypes *This, + VARIANT Index, + IComponentType **ComponentType); + + HRESULT (STDMETHODCALLTYPE *put_Item)( + IComponentTypes *This, + VARIANT Index, + IComponentType *ComponentType); + + HRESULT (STDMETHODCALLTYPE *Add)( + IComponentTypes *This, + IComponentType *ComponentType, + VARIANT *NewIndex); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IComponentTypes *This, + VARIANT Index); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IComponentTypes *This, + IComponentTypes **NewList); + + END_INTERFACE +} IComponentTypesVtbl; + +interface IComponentTypes { + CONST_VTBL IComponentTypesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IComponentTypes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IComponentTypes_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IComponentTypes_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IComponentTypes_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IComponentTypes_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IComponentTypes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IComponentTypes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentTypes methods ***/ +#define IComponentTypes_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) +#define IComponentTypes_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum) +#define IComponentTypes_EnumComponentTypes(This,ppNewEnum) (This)->lpVtbl->EnumComponentTypes(This,ppNewEnum) +#define IComponentTypes_get_Item(This,Index,ComponentType) (This)->lpVtbl->get_Item(This,Index,ComponentType) +#define IComponentTypes_put_Item(This,Index,ComponentType) (This)->lpVtbl->put_Item(This,Index,ComponentType) +#define IComponentTypes_Add(This,ComponentType,NewIndex) (This)->lpVtbl->Add(This,ComponentType,NewIndex) +#define IComponentTypes_Remove(This,Index) (This)->lpVtbl->Remove(This,Index) +#define IComponentTypes_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList) +#else +/*** IUnknown methods ***/ +static inline HRESULT IComponentTypes_QueryInterface(IComponentTypes* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IComponentTypes_AddRef(IComponentTypes* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IComponentTypes_Release(IComponentTypes* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IComponentTypes_GetTypeInfoCount(IComponentTypes* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IComponentTypes_GetTypeInfo(IComponentTypes* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IComponentTypes_GetIDsOfNames(IComponentTypes* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IComponentTypes_Invoke(IComponentTypes* 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); +} +/*** IComponentTypes methods ***/ +static inline HRESULT IComponentTypes_get_Count(IComponentTypes* This,LONG *Count) { + return This->lpVtbl->get_Count(This,Count); +} +static inline HRESULT IComponentTypes_get__NewEnum(IComponentTypes* This,IEnumVARIANT **ppNewEnum) { + return This->lpVtbl->get__NewEnum(This,ppNewEnum); +} +static inline HRESULT IComponentTypes_EnumComponentTypes(IComponentTypes* This,IEnumComponentTypes **ppNewEnum) { + return This->lpVtbl->EnumComponentTypes(This,ppNewEnum); +} +static inline HRESULT IComponentTypes_get_Item(IComponentTypes* This,VARIANT Index,IComponentType **ComponentType) { + return This->lpVtbl->get_Item(This,Index,ComponentType); +} +static inline HRESULT IComponentTypes_put_Item(IComponentTypes* This,VARIANT Index,IComponentType *ComponentType) { + return This->lpVtbl->put_Item(This,Index,ComponentType); +} +static inline HRESULT IComponentTypes_Add(IComponentTypes* This,IComponentType *ComponentType,VARIANT *NewIndex) { + return This->lpVtbl->Add(This,ComponentType,NewIndex); +} +static inline HRESULT IComponentTypes_Remove(IComponentTypes* This,VARIANT Index) { + return This->lpVtbl->Remove(This,Index); +} +static inline HRESULT IComponentTypes_Clone(IComponentTypes* This,IComponentTypes **NewList) { + return This->lpVtbl->Clone(This,NewList); +} +#endif +#endif + +#endif + + +#endif /* __IComponentTypes_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IComponent interface + */ +#ifndef __IComponent_INTERFACE_DEFINED__ +#define __IComponent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IComponent, 0x1a5576fc, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1a5576fc-0e19-11d3-9d8e-00c04f72d980") +IComponent : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Type( + IComponentType **CT) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Type( + IComponentType *CT) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DescLangID( + LONG *LangID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DescLangID( + LONG LangID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Status( + ComponentStatus *Status) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Status( + ComponentStatus Status) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *Description) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Description( + BSTR Description) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IComponent **NewComponent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IComponent, 0x1a5576fc, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IComponentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IComponent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IComponent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IComponent *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IComponent *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IComponent *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IComponent *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IComponent *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IComponent *This, + IComponentType **CT); + + HRESULT (STDMETHODCALLTYPE *put_Type)( + IComponent *This, + IComponentType *CT); + + HRESULT (STDMETHODCALLTYPE *get_DescLangID)( + IComponent *This, + LONG *LangID); + + HRESULT (STDMETHODCALLTYPE *put_DescLangID)( + IComponent *This, + LONG LangID); + + HRESULT (STDMETHODCALLTYPE *get_Status)( + IComponent *This, + ComponentStatus *Status); + + HRESULT (STDMETHODCALLTYPE *put_Status)( + IComponent *This, + ComponentStatus Status); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IComponent *This, + BSTR *Description); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IComponent *This, + BSTR Description); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IComponent *This, + IComponent **NewComponent); + + END_INTERFACE +} IComponentVtbl; + +interface IComponent { + CONST_VTBL IComponentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IComponent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IComponent_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IComponent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IComponent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IComponent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IComponent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponent methods ***/ +#define IComponent_get_Type(This,CT) (This)->lpVtbl->get_Type(This,CT) +#define IComponent_put_Type(This,CT) (This)->lpVtbl->put_Type(This,CT) +#define IComponent_get_DescLangID(This,LangID) (This)->lpVtbl->get_DescLangID(This,LangID) +#define IComponent_put_DescLangID(This,LangID) (This)->lpVtbl->put_DescLangID(This,LangID) +#define IComponent_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status) +#define IComponent_put_Status(This,Status) (This)->lpVtbl->put_Status(This,Status) +#define IComponent_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description) +#define IComponent_put_Description(This,Description) (This)->lpVtbl->put_Description(This,Description) +#define IComponent_Clone(This,NewComponent) (This)->lpVtbl->Clone(This,NewComponent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IComponent_QueryInterface(IComponent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IComponent_AddRef(IComponent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IComponent_Release(IComponent* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IComponent_GetTypeInfoCount(IComponent* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IComponent_GetTypeInfo(IComponent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IComponent_GetIDsOfNames(IComponent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IComponent_Invoke(IComponent* 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); +} +/*** IComponent methods ***/ +static inline HRESULT IComponent_get_Type(IComponent* This,IComponentType **CT) { + return This->lpVtbl->get_Type(This,CT); +} +static inline HRESULT IComponent_put_Type(IComponent* This,IComponentType *CT) { + return This->lpVtbl->put_Type(This,CT); +} +static inline HRESULT IComponent_get_DescLangID(IComponent* This,LONG *LangID) { + return This->lpVtbl->get_DescLangID(This,LangID); +} +static inline HRESULT IComponent_put_DescLangID(IComponent* This,LONG LangID) { + return This->lpVtbl->put_DescLangID(This,LangID); +} +static inline HRESULT IComponent_get_Status(IComponent* This,ComponentStatus *Status) { + return This->lpVtbl->get_Status(This,Status); +} +static inline HRESULT IComponent_put_Status(IComponent* This,ComponentStatus Status) { + return This->lpVtbl->put_Status(This,Status); +} +static inline HRESULT IComponent_get_Description(IComponent* This,BSTR *Description) { + return This->lpVtbl->get_Description(This,Description); +} +static inline HRESULT IComponent_put_Description(IComponent* This,BSTR Description) { + return This->lpVtbl->put_Description(This,Description); +} +static inline HRESULT IComponent_Clone(IComponent* This,IComponent **NewComponent) { + return This->lpVtbl->Clone(This,NewComponent); +} +#endif +#endif + +#endif + + +#endif /* __IComponent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnalogAudioComponentType interface + */ +#ifndef __IAnalogAudioComponentType_INTERFACE_DEFINED__ +#define __IAnalogAudioComponentType_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnalogAudioComponentType, 0x2cfeb2a8, 0x1787, 0x4a24, 0xa9,0x41, 0xc6,0xea,0xec,0x39,0xc8,0x42); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2cfeb2a8-1787-4a24-a941-c6eaec39c842") +IAnalogAudioComponentType : public IComponentType +{ + virtual HRESULT STDMETHODCALLTYPE get_AnalogAudioMode( + TVAudioMode *Mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AnalogAudioMode( + TVAudioMode Mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnalogAudioComponentType, 0x2cfeb2a8, 0x1787, 0x4a24, 0xa9,0x41, 0xc6,0xea,0xec,0x39,0xc8,0x42) +#endif +#else +typedef struct IAnalogAudioComponentTypeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnalogAudioComponentType *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnalogAudioComponentType *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnalogAudioComponentType *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAnalogAudioComponentType *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAnalogAudioComponentType *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAnalogAudioComponentType *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAnalogAudioComponentType *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Category)( + IAnalogAudioComponentType *This, + ComponentCategory *Category); + + HRESULT (STDMETHODCALLTYPE *put_Category)( + IAnalogAudioComponentType *This, + ComponentCategory Category); + + HRESULT (STDMETHODCALLTYPE *get_MediaMajorType)( + IAnalogAudioComponentType *This, + BSTR *MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *put_MediaMajorType)( + IAnalogAudioComponentType *This, + BSTR MediaMajorType); + + HRESULT (STDMETHODCALLTYPE *get__MediaMajorType)( + IAnalogAudioComponentType *This, + GUID *MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaMajorType)( + IAnalogAudioComponentType *This, + REFCLSID MediaMajorTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaSubType)( + IAnalogAudioComponentType *This, + BSTR *MediaSubType); + + HRESULT (STDMETHODCALLTYPE *put_MediaSubType)( + IAnalogAudioComponentType *This, + BSTR MediaSubType); + + HRESULT (STDMETHODCALLTYPE *get__MediaSubType)( + IAnalogAudioComponentType *This, + GUID *MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaSubType)( + IAnalogAudioComponentType *This, + REFCLSID MediaSubTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaFormatType)( + IAnalogAudioComponentType *This, + BSTR *MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *put_MediaFormatType)( + IAnalogAudioComponentType *This, + BSTR MediaFormatType); + + HRESULT (STDMETHODCALLTYPE *get__MediaFormatType)( + IAnalogAudioComponentType *This, + GUID *MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *put__MediaFormatType)( + IAnalogAudioComponentType *This, + REFCLSID MediaFormatTypeGuid); + + HRESULT (STDMETHODCALLTYPE *get_MediaType)( + IAnalogAudioComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *put_MediaType)( + IAnalogAudioComponentType *This, + AM_MEDIA_TYPE *MediaType); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAnalogAudioComponentType *This, + IComponentType **NewCT); + + /*** IAnalogAudioComponentType methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AnalogAudioMode)( + IAnalogAudioComponentType *This, + TVAudioMode *Mode); + + HRESULT (STDMETHODCALLTYPE *put_AnalogAudioMode)( + IAnalogAudioComponentType *This, + TVAudioMode Mode); + + END_INTERFACE +} IAnalogAudioComponentTypeVtbl; + +interface IAnalogAudioComponentType { + CONST_VTBL IAnalogAudioComponentTypeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnalogAudioComponentType_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnalogAudioComponentType_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnalogAudioComponentType_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAnalogAudioComponentType_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAnalogAudioComponentType_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAnalogAudioComponentType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAnalogAudioComponentType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentType methods ***/ +#define IAnalogAudioComponentType_get_Category(This,Category) (This)->lpVtbl->get_Category(This,Category) +#define IAnalogAudioComponentType_put_Category(This,Category) (This)->lpVtbl->put_Category(This,Category) +#define IAnalogAudioComponentType_get_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->get_MediaMajorType(This,MediaMajorType) +#define IAnalogAudioComponentType_put_MediaMajorType(This,MediaMajorType) (This)->lpVtbl->put_MediaMajorType(This,MediaMajorType) +#define IAnalogAudioComponentType_get__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid) +#define IAnalogAudioComponentType_put__MediaMajorType(This,MediaMajorTypeGuid) (This)->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid) +#define IAnalogAudioComponentType_get_MediaSubType(This,MediaSubType) (This)->lpVtbl->get_MediaSubType(This,MediaSubType) +#define IAnalogAudioComponentType_put_MediaSubType(This,MediaSubType) (This)->lpVtbl->put_MediaSubType(This,MediaSubType) +#define IAnalogAudioComponentType_get__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid) +#define IAnalogAudioComponentType_put__MediaSubType(This,MediaSubTypeGuid) (This)->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid) +#define IAnalogAudioComponentType_get_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->get_MediaFormatType(This,MediaFormatType) +#define IAnalogAudioComponentType_put_MediaFormatType(This,MediaFormatType) (This)->lpVtbl->put_MediaFormatType(This,MediaFormatType) +#define IAnalogAudioComponentType_get__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid) +#define IAnalogAudioComponentType_put__MediaFormatType(This,MediaFormatTypeGuid) (This)->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid) +#define IAnalogAudioComponentType_get_MediaType(This,MediaType) (This)->lpVtbl->get_MediaType(This,MediaType) +#define IAnalogAudioComponentType_put_MediaType(This,MediaType) (This)->lpVtbl->put_MediaType(This,MediaType) +#define IAnalogAudioComponentType_Clone(This,NewCT) (This)->lpVtbl->Clone(This,NewCT) +/*** IAnalogAudioComponentType methods ***/ +#define IAnalogAudioComponentType_get_AnalogAudioMode(This,Mode) (This)->lpVtbl->get_AnalogAudioMode(This,Mode) +#define IAnalogAudioComponentType_put_AnalogAudioMode(This,Mode) (This)->lpVtbl->put_AnalogAudioMode(This,Mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnalogAudioComponentType_QueryInterface(IAnalogAudioComponentType* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnalogAudioComponentType_AddRef(IAnalogAudioComponentType* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnalogAudioComponentType_Release(IAnalogAudioComponentType* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAnalogAudioComponentType_GetTypeInfoCount(IAnalogAudioComponentType* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAnalogAudioComponentType_GetTypeInfo(IAnalogAudioComponentType* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAnalogAudioComponentType_GetIDsOfNames(IAnalogAudioComponentType* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAnalogAudioComponentType_Invoke(IAnalogAudioComponentType* 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); +} +/*** IComponentType methods ***/ +static inline HRESULT IAnalogAudioComponentType_get_Category(IAnalogAudioComponentType* This,ComponentCategory *Category) { + return This->lpVtbl->get_Category(This,Category); +} +static inline HRESULT IAnalogAudioComponentType_put_Category(IAnalogAudioComponentType* This,ComponentCategory Category) { + return This->lpVtbl->put_Category(This,Category); +} +static inline HRESULT IAnalogAudioComponentType_get_MediaMajorType(IAnalogAudioComponentType* This,BSTR *MediaMajorType) { + return This->lpVtbl->get_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IAnalogAudioComponentType_put_MediaMajorType(IAnalogAudioComponentType* This,BSTR MediaMajorType) { + return This->lpVtbl->put_MediaMajorType(This,MediaMajorType); +} +static inline HRESULT IAnalogAudioComponentType_get__MediaMajorType(IAnalogAudioComponentType* This,GUID *MediaMajorTypeGuid) { + return This->lpVtbl->get__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_put__MediaMajorType(IAnalogAudioComponentType* This,REFCLSID MediaMajorTypeGuid) { + return This->lpVtbl->put__MediaMajorType(This,MediaMajorTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_get_MediaSubType(IAnalogAudioComponentType* This,BSTR *MediaSubType) { + return This->lpVtbl->get_MediaSubType(This,MediaSubType); +} +static inline HRESULT IAnalogAudioComponentType_put_MediaSubType(IAnalogAudioComponentType* This,BSTR MediaSubType) { + return This->lpVtbl->put_MediaSubType(This,MediaSubType); +} +static inline HRESULT IAnalogAudioComponentType_get__MediaSubType(IAnalogAudioComponentType* This,GUID *MediaSubTypeGuid) { + return This->lpVtbl->get__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_put__MediaSubType(IAnalogAudioComponentType* This,REFCLSID MediaSubTypeGuid) { + return This->lpVtbl->put__MediaSubType(This,MediaSubTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_get_MediaFormatType(IAnalogAudioComponentType* This,BSTR *MediaFormatType) { + return This->lpVtbl->get_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IAnalogAudioComponentType_put_MediaFormatType(IAnalogAudioComponentType* This,BSTR MediaFormatType) { + return This->lpVtbl->put_MediaFormatType(This,MediaFormatType); +} +static inline HRESULT IAnalogAudioComponentType_get__MediaFormatType(IAnalogAudioComponentType* This,GUID *MediaFormatTypeGuid) { + return This->lpVtbl->get__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_put__MediaFormatType(IAnalogAudioComponentType* This,REFCLSID MediaFormatTypeGuid) { + return This->lpVtbl->put__MediaFormatType(This,MediaFormatTypeGuid); +} +static inline HRESULT IAnalogAudioComponentType_get_MediaType(IAnalogAudioComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->get_MediaType(This,MediaType); +} +static inline HRESULT IAnalogAudioComponentType_put_MediaType(IAnalogAudioComponentType* This,AM_MEDIA_TYPE *MediaType) { + return This->lpVtbl->put_MediaType(This,MediaType); +} +static inline HRESULT IAnalogAudioComponentType_Clone(IAnalogAudioComponentType* This,IComponentType **NewCT) { + return This->lpVtbl->Clone(This,NewCT); +} +/*** IAnalogAudioComponentType methods ***/ +static inline HRESULT IAnalogAudioComponentType_get_AnalogAudioMode(IAnalogAudioComponentType* This,TVAudioMode *Mode) { + return This->lpVtbl->get_AnalogAudioMode(This,Mode); +} +static inline HRESULT IAnalogAudioComponentType_put_AnalogAudioMode(IAnalogAudioComponentType* This,TVAudioMode Mode) { + return This->lpVtbl->put_AnalogAudioMode(This,Mode); +} +#endif +#endif + +#endif + + +#endif /* __IAnalogAudioComponentType_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMPEG2Component interface + */ +#ifndef __IMPEG2Component_INTERFACE_DEFINED__ +#define __IMPEG2Component_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMPEG2Component, 0x1493e353, 0x1eb6, 0x473c, 0x80,0x2d, 0x8e,0x6b,0x8e,0xc9,0xd2,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1493e353-1eb6-473c-802d-8e6b8ec9d2a9") +IMPEG2Component : public IComponent +{ + virtual HRESULT STDMETHODCALLTYPE get_PID( + LONG *PID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PID( + LONG PID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PCRPID( + LONG *PCRPID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PCRPID( + LONG PCRPID) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ProgramNumber( + LONG *ProgramNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ProgramNumber( + LONG ProgramNumber) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMPEG2Component, 0x1493e353, 0x1eb6, 0x473c, 0x80,0x2d, 0x8e,0x6b,0x8e,0xc9,0xd2,0xa9) +#endif +#else +typedef struct IMPEG2ComponentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMPEG2Component *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMPEG2Component *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMPEG2Component *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IMPEG2Component *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IMPEG2Component *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IMPEG2Component *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IMPEG2Component *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IMPEG2Component *This, + IComponentType **CT); + + HRESULT (STDMETHODCALLTYPE *put_Type)( + IMPEG2Component *This, + IComponentType *CT); + + HRESULT (STDMETHODCALLTYPE *get_DescLangID)( + IMPEG2Component *This, + LONG *LangID); + + HRESULT (STDMETHODCALLTYPE *put_DescLangID)( + IMPEG2Component *This, + LONG LangID); + + HRESULT (STDMETHODCALLTYPE *get_Status)( + IMPEG2Component *This, + ComponentStatus *Status); + + HRESULT (STDMETHODCALLTYPE *put_Status)( + IMPEG2Component *This, + ComponentStatus Status); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IMPEG2Component *This, + BSTR *Description); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IMPEG2Component *This, + BSTR Description); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMPEG2Component *This, + IComponent **NewComponent); + + /*** IMPEG2Component methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PID)( + IMPEG2Component *This, + LONG *PID); + + HRESULT (STDMETHODCALLTYPE *put_PID)( + IMPEG2Component *This, + LONG PID); + + HRESULT (STDMETHODCALLTYPE *get_PCRPID)( + IMPEG2Component *This, + LONG *PCRPID); + + HRESULT (STDMETHODCALLTYPE *put_PCRPID)( + IMPEG2Component *This, + LONG PCRPID); + + HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)( + IMPEG2Component *This, + LONG *ProgramNumber); + + HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)( + IMPEG2Component *This, + LONG ProgramNumber); + + END_INTERFACE +} IMPEG2ComponentVtbl; + +interface IMPEG2Component { + CONST_VTBL IMPEG2ComponentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMPEG2Component_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMPEG2Component_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMPEG2Component_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IMPEG2Component_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IMPEG2Component_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IMPEG2Component_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IMPEG2Component_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponent methods ***/ +#define IMPEG2Component_get_Type(This,CT) (This)->lpVtbl->get_Type(This,CT) +#define IMPEG2Component_put_Type(This,CT) (This)->lpVtbl->put_Type(This,CT) +#define IMPEG2Component_get_DescLangID(This,LangID) (This)->lpVtbl->get_DescLangID(This,LangID) +#define IMPEG2Component_put_DescLangID(This,LangID) (This)->lpVtbl->put_DescLangID(This,LangID) +#define IMPEG2Component_get_Status(This,Status) (This)->lpVtbl->get_Status(This,Status) +#define IMPEG2Component_put_Status(This,Status) (This)->lpVtbl->put_Status(This,Status) +#define IMPEG2Component_get_Description(This,Description) (This)->lpVtbl->get_Description(This,Description) +#define IMPEG2Component_put_Description(This,Description) (This)->lpVtbl->put_Description(This,Description) +#define IMPEG2Component_Clone(This,NewComponent) (This)->lpVtbl->Clone(This,NewComponent) +/*** IMPEG2Component methods ***/ +#define IMPEG2Component_get_PID(This,PID) (This)->lpVtbl->get_PID(This,PID) +#define IMPEG2Component_put_PID(This,PID) (This)->lpVtbl->put_PID(This,PID) +#define IMPEG2Component_get_PCRPID(This,PCRPID) (This)->lpVtbl->get_PCRPID(This,PCRPID) +#define IMPEG2Component_put_PCRPID(This,PCRPID) (This)->lpVtbl->put_PCRPID(This,PCRPID) +#define IMPEG2Component_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber) +#define IMPEG2Component_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMPEG2Component_QueryInterface(IMPEG2Component* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMPEG2Component_AddRef(IMPEG2Component* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMPEG2Component_Release(IMPEG2Component* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IMPEG2Component_GetTypeInfoCount(IMPEG2Component* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IMPEG2Component_GetTypeInfo(IMPEG2Component* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IMPEG2Component_GetIDsOfNames(IMPEG2Component* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IMPEG2Component_Invoke(IMPEG2Component* 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); +} +/*** IComponent methods ***/ +static inline HRESULT IMPEG2Component_get_Type(IMPEG2Component* This,IComponentType **CT) { + return This->lpVtbl->get_Type(This,CT); +} +static inline HRESULT IMPEG2Component_put_Type(IMPEG2Component* This,IComponentType *CT) { + return This->lpVtbl->put_Type(This,CT); +} +static inline HRESULT IMPEG2Component_get_DescLangID(IMPEG2Component* This,LONG *LangID) { + return This->lpVtbl->get_DescLangID(This,LangID); +} +static inline HRESULT IMPEG2Component_put_DescLangID(IMPEG2Component* This,LONG LangID) { + return This->lpVtbl->put_DescLangID(This,LangID); +} +static inline HRESULT IMPEG2Component_get_Status(IMPEG2Component* This,ComponentStatus *Status) { + return This->lpVtbl->get_Status(This,Status); +} +static inline HRESULT IMPEG2Component_put_Status(IMPEG2Component* This,ComponentStatus Status) { + return This->lpVtbl->put_Status(This,Status); +} +static inline HRESULT IMPEG2Component_get_Description(IMPEG2Component* This,BSTR *Description) { + return This->lpVtbl->get_Description(This,Description); +} +static inline HRESULT IMPEG2Component_put_Description(IMPEG2Component* This,BSTR Description) { + return This->lpVtbl->put_Description(This,Description); +} +static inline HRESULT IMPEG2Component_Clone(IMPEG2Component* This,IComponent **NewComponent) { + return This->lpVtbl->Clone(This,NewComponent); +} +/*** IMPEG2Component methods ***/ +static inline HRESULT IMPEG2Component_get_PID(IMPEG2Component* This,LONG *PID) { + return This->lpVtbl->get_PID(This,PID); +} +static inline HRESULT IMPEG2Component_put_PID(IMPEG2Component* This,LONG PID) { + return This->lpVtbl->put_PID(This,PID); +} +static inline HRESULT IMPEG2Component_get_PCRPID(IMPEG2Component* This,LONG *PCRPID) { + return This->lpVtbl->get_PCRPID(This,PCRPID); +} +static inline HRESULT IMPEG2Component_put_PCRPID(IMPEG2Component* This,LONG PCRPID) { + return This->lpVtbl->put_PCRPID(This,PCRPID); +} +static inline HRESULT IMPEG2Component_get_ProgramNumber(IMPEG2Component* This,LONG *ProgramNumber) { + return This->lpVtbl->get_ProgramNumber(This,ProgramNumber); +} +static inline HRESULT IMPEG2Component_put_ProgramNumber(IMPEG2Component* This,LONG ProgramNumber) { + return This->lpVtbl->put_ProgramNumber(This,ProgramNumber); +} +#endif +#endif + +#endif + + +#endif /* __IMPEG2Component_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumComponents interface + */ +#ifndef __IEnumComponents_INTERFACE_DEFINED__ +#define __IEnumComponents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumComponents, 0x2a6e2939, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2a6e2939-2595-11d3-b64c-00c04f79498e") +IEnumComponents : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + IComponent **rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumComponents **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumComponents, 0x2a6e2939, 0x2595, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#else +typedef struct IEnumComponentsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumComponents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumComponents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumComponents *This); + + /*** IEnumComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumComponents *This, + ULONG celt, + IComponent **rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumComponents *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumComponents *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumComponents *This, + IEnumComponents **ppEnum); + + END_INTERFACE +} IEnumComponentsVtbl; + +interface IEnumComponents { + CONST_VTBL IEnumComponentsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumComponents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumComponents_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumComponents methods ***/ +#define IEnumComponents_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumComponents_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumComponents_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumComponents_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumComponents_QueryInterface(IEnumComponents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumComponents_AddRef(IEnumComponents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumComponents_Release(IEnumComponents* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumComponents methods ***/ +static inline HRESULT IEnumComponents_Next(IEnumComponents* This,ULONG celt,IComponent **rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumComponents_Skip(IEnumComponents* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumComponents_Reset(IEnumComponents* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumComponents_Clone(IEnumComponents* This,IEnumComponents **ppEnum) { + return This->lpVtbl->Clone(This,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IEnumComponents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IComponents interface + */ +#ifndef __IComponents_INTERFACE_DEFINED__ +#define __IComponents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IComponents, 0x39a48091, 0xfffe, 0x4182, 0xa1,0x61, 0x3f,0xf8,0x02,0x64,0x0e,0x26); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("39a48091-fffe-4182-a161-3ff802640e26") +IComponents : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IEnumVARIANT **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumComponents( + IEnumComponents **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT Index, + IComponent **ppComponent) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + IComponent *Component, + VARIANT *NewIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT Index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IComponents **NewList) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Item( + VARIANT Index, + IComponent *ppComponent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IComponents, 0x39a48091, 0xfffe, 0x4182, 0xa1,0x61, 0x3f,0xf8,0x02,0x64,0x0e,0x26) +#endif +#else +typedef struct IComponentsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IComponents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IComponents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IComponents *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IComponents *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IComponents *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IComponents *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IComponents *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IComponents *This, + LONG *Count); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IComponents *This, + IEnumVARIANT **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *EnumComponents)( + IComponents *This, + IEnumComponents **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IComponents *This, + VARIANT Index, + IComponent **ppComponent); + + HRESULT (STDMETHODCALLTYPE *Add)( + IComponents *This, + IComponent *Component, + VARIANT *NewIndex); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IComponents *This, + VARIANT Index); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IComponents *This, + IComponents **NewList); + + HRESULT (STDMETHODCALLTYPE *put_Item)( + IComponents *This, + VARIANT Index, + IComponent *ppComponent); + + END_INTERFACE +} IComponentsVtbl; + +interface IComponents { + CONST_VTBL IComponentsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IComponents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IComponents_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IComponents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IComponents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IComponents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IComponents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponents methods ***/ +#define IComponents_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) +#define IComponents_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum) +#define IComponents_EnumComponents(This,ppNewEnum) (This)->lpVtbl->EnumComponents(This,ppNewEnum) +#define IComponents_get_Item(This,Index,ppComponent) (This)->lpVtbl->get_Item(This,Index,ppComponent) +#define IComponents_Add(This,Component,NewIndex) (This)->lpVtbl->Add(This,Component,NewIndex) +#define IComponents_Remove(This,Index) (This)->lpVtbl->Remove(This,Index) +#define IComponents_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList) +#define IComponents_put_Item(This,Index,ppComponent) (This)->lpVtbl->put_Item(This,Index,ppComponent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IComponents_QueryInterface(IComponents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IComponents_AddRef(IComponents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IComponents_Release(IComponents* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IComponents_GetTypeInfoCount(IComponents* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IComponents_GetTypeInfo(IComponents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IComponents_GetIDsOfNames(IComponents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IComponents_Invoke(IComponents* 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); +} +/*** IComponents methods ***/ +static inline HRESULT IComponents_get_Count(IComponents* This,LONG *Count) { + return This->lpVtbl->get_Count(This,Count); +} +static inline HRESULT IComponents_get__NewEnum(IComponents* This,IEnumVARIANT **ppNewEnum) { + return This->lpVtbl->get__NewEnum(This,ppNewEnum); +} +static inline HRESULT IComponents_EnumComponents(IComponents* This,IEnumComponents **ppNewEnum) { + return This->lpVtbl->EnumComponents(This,ppNewEnum); +} +static inline HRESULT IComponents_get_Item(IComponents* This,VARIANT Index,IComponent **ppComponent) { + return This->lpVtbl->get_Item(This,Index,ppComponent); +} +static inline HRESULT IComponents_Add(IComponents* This,IComponent *Component,VARIANT *NewIndex) { + return This->lpVtbl->Add(This,Component,NewIndex); +} +static inline HRESULT IComponents_Remove(IComponents* This,VARIANT Index) { + return This->lpVtbl->Remove(This,Index); +} +static inline HRESULT IComponents_Clone(IComponents* This,IComponents **NewList) { + return This->lpVtbl->Clone(This,NewList); +} +static inline HRESULT IComponents_put_Item(IComponents* This,VARIANT Index,IComponent *ppComponent) { + return This->lpVtbl->put_Item(This,Index,ppComponent); +} +#endif +#endif + +#endif + + +#endif /* __IComponents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IComponentsOld interface + */ +#ifndef __IComponentsOld_INTERFACE_DEFINED__ +#define __IComponentsOld_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IComponentsOld, 0xfcd01846, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fcd01846-0e19-11d3-9d8e-00c04f72d980") +IComponentsOld : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *Count) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IEnumVARIANT **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumComponents( + IEnumComponents **ppNewEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + VARIANT Index, + IComponent **ppComponent) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + IComponent *Component, + VARIANT *NewIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + VARIANT Index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IComponents **NewList) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IComponentsOld, 0xfcd01846, 0x0e19, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#else +typedef struct IComponentsOldVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IComponentsOld *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IComponentsOld *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IComponentsOld *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IComponentsOld *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IComponentsOld *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IComponentsOld *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IComponentsOld *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IComponentsOld methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IComponentsOld *This, + LONG *Count); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IComponentsOld *This, + IEnumVARIANT **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *EnumComponents)( + IComponentsOld *This, + IEnumComponents **ppNewEnum); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IComponentsOld *This, + VARIANT Index, + IComponent **ppComponent); + + HRESULT (STDMETHODCALLTYPE *Add)( + IComponentsOld *This, + IComponent *Component, + VARIANT *NewIndex); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IComponentsOld *This, + VARIANT Index); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IComponentsOld *This, + IComponents **NewList); + + END_INTERFACE +} IComponentsOldVtbl; + +interface IComponentsOld { + CONST_VTBL IComponentsOldVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IComponentsOld_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IComponentsOld_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IComponentsOld_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IComponentsOld_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IComponentsOld_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IComponentsOld_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IComponentsOld_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IComponentsOld methods ***/ +#define IComponentsOld_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count) +#define IComponentsOld_get__NewEnum(This,ppNewEnum) (This)->lpVtbl->get__NewEnum(This,ppNewEnum) +#define IComponentsOld_EnumComponents(This,ppNewEnum) (This)->lpVtbl->EnumComponents(This,ppNewEnum) +#define IComponentsOld_get_Item(This,Index,ppComponent) (This)->lpVtbl->get_Item(This,Index,ppComponent) +#define IComponentsOld_Add(This,Component,NewIndex) (This)->lpVtbl->Add(This,Component,NewIndex) +#define IComponentsOld_Remove(This,Index) (This)->lpVtbl->Remove(This,Index) +#define IComponentsOld_Clone(This,NewList) (This)->lpVtbl->Clone(This,NewList) +#else +/*** IUnknown methods ***/ +static inline HRESULT IComponentsOld_QueryInterface(IComponentsOld* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IComponentsOld_AddRef(IComponentsOld* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IComponentsOld_Release(IComponentsOld* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IComponentsOld_GetTypeInfoCount(IComponentsOld* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IComponentsOld_GetTypeInfo(IComponentsOld* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IComponentsOld_GetIDsOfNames(IComponentsOld* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IComponentsOld_Invoke(IComponentsOld* 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); +} +/*** IComponentsOld methods ***/ +static inline HRESULT IComponentsOld_get_Count(IComponentsOld* This,LONG *Count) { + return This->lpVtbl->get_Count(This,Count); +} +static inline HRESULT IComponentsOld_get__NewEnum(IComponentsOld* This,IEnumVARIANT **ppNewEnum) { + return This->lpVtbl->get__NewEnum(This,ppNewEnum); +} +static inline HRESULT IComponentsOld_EnumComponents(IComponentsOld* This,IEnumComponents **ppNewEnum) { + return This->lpVtbl->EnumComponents(This,ppNewEnum); +} +static inline HRESULT IComponentsOld_get_Item(IComponentsOld* This,VARIANT Index,IComponent **ppComponent) { + return This->lpVtbl->get_Item(This,Index,ppComponent); +} +static inline HRESULT IComponentsOld_Add(IComponentsOld* This,IComponent *Component,VARIANT *NewIndex) { + return This->lpVtbl->Add(This,Component,NewIndex); +} +static inline HRESULT IComponentsOld_Remove(IComponentsOld* This,VARIANT Index) { + return This->lpVtbl->Remove(This,Index); +} +static inline HRESULT IComponentsOld_Clone(IComponentsOld* This,IComponents **NewList) { + return This->lpVtbl->Clone(This,NewList); +} +#endif +#endif + +#endif + + +#endif /* __IComponentsOld_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ILocator interface + */ +#ifndef __ILocator_INTERFACE_DEFINED__ +#define __ILocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ILocator, 0x286d7f89, 0x760c, 0x4f89, 0x80,0xc4, 0x66,0x84,0x1d,0x25,0x07,0xaa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("286d7f89-760c-4f89-80c4-66841d2507aa") +ILocator : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_CarrierFrequency( + LONG *Frequency) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CarrierFrequency( + LONG Frequency) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InnerFEC( + FECMethod *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_InnerFEC( + FECMethod FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InnerFECRate( + BinaryConvolutionCodeRate *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_InnerFECRate( + BinaryConvolutionCodeRate FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_OuterFEC( + FECMethod *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_OuterFEC( + FECMethod FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_OuterFECRate( + BinaryConvolutionCodeRate *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_OuterFECRate( + BinaryConvolutionCodeRate FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Modulation( + ModulationType *Modulation) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Modulation( + ModulationType Modulation) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SymbolRate( + LONG *Rate) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SymbolRate( + LONG Rate) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + ILocator **NewLocator) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ILocator, 0x286d7f89, 0x760c, 0x4f89, 0x80,0xc4, 0x66,0x84,0x1d,0x25,0x07,0xaa) +#endif +#else +typedef struct ILocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ILocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ILocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ILocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ILocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ILocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ILocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ILocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + ILocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + ILocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + ILocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + ILocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + ILocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + ILocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + ILocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + ILocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + ILocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + ILocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + ILocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + ILocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + ILocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + ILocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + ILocator *This, + ILocator **NewLocator); + + END_INTERFACE +} ILocatorVtbl; + +interface ILocator { + CONST_VTBL ILocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ILocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ILocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ILocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ILocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ILocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define ILocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define ILocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define ILocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define ILocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define ILocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define ILocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define ILocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define ILocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define ILocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define ILocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define ILocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define ILocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define ILocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define ILocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define ILocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +#else +/*** IUnknown methods ***/ +static inline HRESULT ILocator_QueryInterface(ILocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ILocator_AddRef(ILocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ILocator_Release(ILocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ILocator_GetTypeInfoCount(ILocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ILocator_GetTypeInfo(ILocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ILocator_GetIDsOfNames(ILocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ILocator_Invoke(ILocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT ILocator_get_CarrierFrequency(ILocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT ILocator_put_CarrierFrequency(ILocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT ILocator_get_InnerFEC(ILocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT ILocator_put_InnerFEC(ILocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT ILocator_get_InnerFECRate(ILocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT ILocator_put_InnerFECRate(ILocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT ILocator_get_OuterFEC(ILocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT ILocator_put_OuterFEC(ILocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT ILocator_get_OuterFECRate(ILocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT ILocator_put_OuterFECRate(ILocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT ILocator_get_Modulation(ILocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT ILocator_put_Modulation(ILocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT ILocator_get_SymbolRate(ILocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT ILocator_put_SymbolRate(ILocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT ILocator_Clone(ILocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +#endif +#endif + +#endif + + +#endif /* __ILocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnalogLocator interface + */ +#ifndef __IAnalogLocator_INTERFACE_DEFINED__ +#define __IAnalogLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnalogLocator, 0x34d1f26b, 0xe339, 0x430d, 0xab,0xce, 0x73,0x8c,0xb4,0x89,0x84,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("34d1f26b-e339-430d-abce-738cb48984dc") +IAnalogLocator : public ILocator +{ + virtual HRESULT STDMETHODCALLTYPE get_VideoStandard( + AnalogVideoStandard *AVS) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_VideoStandard( + AnalogVideoStandard AVS) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnalogLocator, 0x34d1f26b, 0xe339, 0x430d, 0xab,0xce, 0x73,0x8c,0xb4,0x89,0x84,0xdc) +#endif +#else +typedef struct IAnalogLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnalogLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnalogLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnalogLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAnalogLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAnalogLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAnalogLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAnalogLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IAnalogLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IAnalogLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IAnalogLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IAnalogLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IAnalogLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IAnalogLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IAnalogLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IAnalogLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IAnalogLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IAnalogLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IAnalogLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IAnalogLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IAnalogLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IAnalogLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IAnalogLocator *This, + ILocator **NewLocator); + + /*** IAnalogLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_VideoStandard)( + IAnalogLocator *This, + AnalogVideoStandard *AVS); + + HRESULT (STDMETHODCALLTYPE *put_VideoStandard)( + IAnalogLocator *This, + AnalogVideoStandard AVS); + + END_INTERFACE +} IAnalogLocatorVtbl; + +interface IAnalogLocator { + CONST_VTBL IAnalogLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnalogLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnalogLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnalogLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAnalogLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAnalogLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAnalogLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAnalogLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IAnalogLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IAnalogLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IAnalogLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IAnalogLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IAnalogLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IAnalogLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IAnalogLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IAnalogLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IAnalogLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IAnalogLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IAnalogLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IAnalogLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IAnalogLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IAnalogLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IAnalogLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IAnalogLocator methods ***/ +#define IAnalogLocator_get_VideoStandard(This,AVS) (This)->lpVtbl->get_VideoStandard(This,AVS) +#define IAnalogLocator_put_VideoStandard(This,AVS) (This)->lpVtbl->put_VideoStandard(This,AVS) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnalogLocator_QueryInterface(IAnalogLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnalogLocator_AddRef(IAnalogLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnalogLocator_Release(IAnalogLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAnalogLocator_GetTypeInfoCount(IAnalogLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAnalogLocator_GetTypeInfo(IAnalogLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAnalogLocator_GetIDsOfNames(IAnalogLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAnalogLocator_Invoke(IAnalogLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IAnalogLocator_get_CarrierFrequency(IAnalogLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IAnalogLocator_put_CarrierFrequency(IAnalogLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IAnalogLocator_get_InnerFEC(IAnalogLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IAnalogLocator_put_InnerFEC(IAnalogLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IAnalogLocator_get_InnerFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IAnalogLocator_put_InnerFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IAnalogLocator_get_OuterFEC(IAnalogLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IAnalogLocator_put_OuterFEC(IAnalogLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IAnalogLocator_get_OuterFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IAnalogLocator_put_OuterFECRate(IAnalogLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IAnalogLocator_get_Modulation(IAnalogLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IAnalogLocator_put_Modulation(IAnalogLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IAnalogLocator_get_SymbolRate(IAnalogLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IAnalogLocator_put_SymbolRate(IAnalogLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IAnalogLocator_Clone(IAnalogLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IAnalogLocator methods ***/ +static inline HRESULT IAnalogLocator_get_VideoStandard(IAnalogLocator* This,AnalogVideoStandard *AVS) { + return This->lpVtbl->get_VideoStandard(This,AVS); +} +static inline HRESULT IAnalogLocator_put_VideoStandard(IAnalogLocator* This,AnalogVideoStandard AVS) { + return This->lpVtbl->put_VideoStandard(This,AVS); +} +#endif +#endif + +#endif + + +#endif /* __IAnalogLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDigitalLocator interface + */ +#ifndef __IDigitalLocator_INTERFACE_DEFINED__ +#define __IDigitalLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDigitalLocator, 0x19b595d8, 0x839a, 0x47f0, 0x96,0xdf, 0x4f,0x19,0x4f,0x3c,0x76,0x8c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("19b595d8-839a-47f0-96df-4f194f3c768c") +IDigitalLocator : public ILocator +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDigitalLocator, 0x19b595d8, 0x839a, 0x47f0, 0x96,0xdf, 0x4f,0x19,0x4f,0x3c,0x76,0x8c) +#endif +#else +typedef struct IDigitalLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDigitalLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDigitalLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDigitalLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDigitalLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDigitalLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDigitalLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDigitalLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDigitalLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDigitalLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDigitalLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDigitalLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDigitalLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDigitalLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDigitalLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDigitalLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDigitalLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDigitalLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDigitalLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDigitalLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDigitalLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDigitalLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDigitalLocator *This, + ILocator **NewLocator); + + END_INTERFACE +} IDigitalLocatorVtbl; + +interface IDigitalLocator { + CONST_VTBL IDigitalLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDigitalLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDigitalLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDigitalLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDigitalLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDigitalLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDigitalLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDigitalLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDigitalLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDigitalLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDigitalLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDigitalLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDigitalLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDigitalLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDigitalLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDigitalLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDigitalLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDigitalLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDigitalLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDigitalLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDigitalLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDigitalLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDigitalLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDigitalLocator_QueryInterface(IDigitalLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDigitalLocator_AddRef(IDigitalLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDigitalLocator_Release(IDigitalLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDigitalLocator_GetTypeInfoCount(IDigitalLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDigitalLocator_GetTypeInfo(IDigitalLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDigitalLocator_GetIDsOfNames(IDigitalLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDigitalLocator_Invoke(IDigitalLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDigitalLocator_get_CarrierFrequency(IDigitalLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDigitalLocator_put_CarrierFrequency(IDigitalLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDigitalLocator_get_InnerFEC(IDigitalLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDigitalLocator_put_InnerFEC(IDigitalLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDigitalLocator_get_InnerFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDigitalLocator_put_InnerFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDigitalLocator_get_OuterFEC(IDigitalLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDigitalLocator_put_OuterFEC(IDigitalLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDigitalLocator_get_OuterFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDigitalLocator_put_OuterFECRate(IDigitalLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDigitalLocator_get_Modulation(IDigitalLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDigitalLocator_put_Modulation(IDigitalLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDigitalLocator_get_SymbolRate(IDigitalLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDigitalLocator_put_SymbolRate(IDigitalLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDigitalLocator_Clone(IDigitalLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +#endif +#endif + +#endif + + +#endif /* __IDigitalLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IATSCLocator interface + */ +#ifndef __IATSCLocator_INTERFACE_DEFINED__ +#define __IATSCLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IATSCLocator, 0xbf8d986f, 0x8c2b, 0x4131, 0x94,0xd7, 0x4d,0x3d,0x9f,0xcc,0x21,0xef); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bf8d986f-8c2b-4131-94d7-4d3d9fcc21ef") +IATSCLocator : public IDigitalLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_PhysicalChannel( + LONG *PhysicalChannel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PhysicalChannel( + LONG PhysicalChannel) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TSID( + LONG *TSID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TSID( + LONG TSID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IATSCLocator, 0xbf8d986f, 0x8c2b, 0x4131, 0x94,0xd7, 0x4d,0x3d,0x9f,0xcc,0x21,0xef) +#endif +#else +typedef struct IATSCLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IATSCLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IATSCLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IATSCLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IATSCLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IATSCLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IATSCLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IATSCLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IATSCLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IATSCLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IATSCLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IATSCLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IATSCLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IATSCLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IATSCLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IATSCLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IATSCLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IATSCLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IATSCLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IATSCLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IATSCLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IATSCLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IATSCLocator *This, + ILocator **NewLocator); + + /*** IATSCLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)( + IATSCLocator *This, + LONG *PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)( + IATSCLocator *This, + LONG PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *get_TSID)( + IATSCLocator *This, + LONG *TSID); + + HRESULT (STDMETHODCALLTYPE *put_TSID)( + IATSCLocator *This, + LONG TSID); + + END_INTERFACE +} IATSCLocatorVtbl; + +interface IATSCLocator { + CONST_VTBL IATSCLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IATSCLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IATSCLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IATSCLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IATSCLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IATSCLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IATSCLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IATSCLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IATSCLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IATSCLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IATSCLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IATSCLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IATSCLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IATSCLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IATSCLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IATSCLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IATSCLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IATSCLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IATSCLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IATSCLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IATSCLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IATSCLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IATSCLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IATSCLocator methods ***/ +#define IATSCLocator_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel) +#define IATSCLocator_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel) +#define IATSCLocator_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID) +#define IATSCLocator_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IATSCLocator_QueryInterface(IATSCLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IATSCLocator_AddRef(IATSCLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IATSCLocator_Release(IATSCLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IATSCLocator_GetTypeInfoCount(IATSCLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IATSCLocator_GetTypeInfo(IATSCLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IATSCLocator_GetIDsOfNames(IATSCLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IATSCLocator_Invoke(IATSCLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IATSCLocator_get_CarrierFrequency(IATSCLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IATSCLocator_put_CarrierFrequency(IATSCLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IATSCLocator_get_InnerFEC(IATSCLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IATSCLocator_put_InnerFEC(IATSCLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IATSCLocator_get_InnerFECRate(IATSCLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IATSCLocator_put_InnerFECRate(IATSCLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IATSCLocator_get_OuterFEC(IATSCLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IATSCLocator_put_OuterFEC(IATSCLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IATSCLocator_get_OuterFECRate(IATSCLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IATSCLocator_put_OuterFECRate(IATSCLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IATSCLocator_get_Modulation(IATSCLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IATSCLocator_put_Modulation(IATSCLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IATSCLocator_get_SymbolRate(IATSCLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IATSCLocator_put_SymbolRate(IATSCLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IATSCLocator_Clone(IATSCLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IATSCLocator methods ***/ +static inline HRESULT IATSCLocator_get_PhysicalChannel(IATSCLocator* This,LONG *PhysicalChannel) { + return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IATSCLocator_put_PhysicalChannel(IATSCLocator* This,LONG PhysicalChannel) { + return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IATSCLocator_get_TSID(IATSCLocator* This,LONG *TSID) { + return This->lpVtbl->get_TSID(This,TSID); +} +static inline HRESULT IATSCLocator_put_TSID(IATSCLocator* This,LONG TSID) { + return This->lpVtbl->put_TSID(This,TSID); +} +#endif +#endif + +#endif + + +#endif /* __IATSCLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IATSCLocator2 interface + */ +#ifndef __IATSCLocator2_INTERFACE_DEFINED__ +#define __IATSCLocator2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IATSCLocator2, 0x612aa885, 0x66cf, 0x4090, 0xba,0x0a, 0x56,0x6f,0x53,0x12,0xe4,0xca); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("612aa885-66cf-4090-ba0a-566f5312e4ca") +IATSCLocator2 : public IATSCLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_ProgramNumber( + LONG *ProgramNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ProgramNumber( + LONG ProgramNumber) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IATSCLocator2, 0x612aa885, 0x66cf, 0x4090, 0xba,0x0a, 0x56,0x6f,0x53,0x12,0xe4,0xca) +#endif +#else +typedef struct IATSCLocator2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IATSCLocator2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IATSCLocator2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IATSCLocator2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IATSCLocator2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IATSCLocator2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IATSCLocator2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IATSCLocator2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IATSCLocator2 *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IATSCLocator2 *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IATSCLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IATSCLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IATSCLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IATSCLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IATSCLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IATSCLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IATSCLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IATSCLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IATSCLocator2 *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IATSCLocator2 *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IATSCLocator2 *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IATSCLocator2 *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IATSCLocator2 *This, + ILocator **NewLocator); + + /*** IATSCLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)( + IATSCLocator2 *This, + LONG *PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)( + IATSCLocator2 *This, + LONG PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *get_TSID)( + IATSCLocator2 *This, + LONG *TSID); + + HRESULT (STDMETHODCALLTYPE *put_TSID)( + IATSCLocator2 *This, + LONG TSID); + + /*** IATSCLocator2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)( + IATSCLocator2 *This, + LONG *ProgramNumber); + + HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)( + IATSCLocator2 *This, + LONG ProgramNumber); + + END_INTERFACE +} IATSCLocator2Vtbl; + +interface IATSCLocator2 { + CONST_VTBL IATSCLocator2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IATSCLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IATSCLocator2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IATSCLocator2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IATSCLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IATSCLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IATSCLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IATSCLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IATSCLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IATSCLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IATSCLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IATSCLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IATSCLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IATSCLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IATSCLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IATSCLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IATSCLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IATSCLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IATSCLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IATSCLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IATSCLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IATSCLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IATSCLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IATSCLocator methods ***/ +#define IATSCLocator2_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel) +#define IATSCLocator2_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel) +#define IATSCLocator2_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID) +#define IATSCLocator2_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID) +/*** IATSCLocator2 methods ***/ +#define IATSCLocator2_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber) +#define IATSCLocator2_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber) +#else +/*** IUnknown methods ***/ +static inline HRESULT IATSCLocator2_QueryInterface(IATSCLocator2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IATSCLocator2_AddRef(IATSCLocator2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IATSCLocator2_Release(IATSCLocator2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IATSCLocator2_GetTypeInfoCount(IATSCLocator2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IATSCLocator2_GetTypeInfo(IATSCLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IATSCLocator2_GetIDsOfNames(IATSCLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IATSCLocator2_Invoke(IATSCLocator2* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IATSCLocator2_get_CarrierFrequency(IATSCLocator2* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IATSCLocator2_put_CarrierFrequency(IATSCLocator2* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IATSCLocator2_get_InnerFEC(IATSCLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IATSCLocator2_put_InnerFEC(IATSCLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IATSCLocator2_get_InnerFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IATSCLocator2_put_InnerFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IATSCLocator2_get_OuterFEC(IATSCLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IATSCLocator2_put_OuterFEC(IATSCLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IATSCLocator2_get_OuterFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IATSCLocator2_put_OuterFECRate(IATSCLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IATSCLocator2_get_Modulation(IATSCLocator2* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IATSCLocator2_put_Modulation(IATSCLocator2* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IATSCLocator2_get_SymbolRate(IATSCLocator2* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IATSCLocator2_put_SymbolRate(IATSCLocator2* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IATSCLocator2_Clone(IATSCLocator2* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IATSCLocator methods ***/ +static inline HRESULT IATSCLocator2_get_PhysicalChannel(IATSCLocator2* This,LONG *PhysicalChannel) { + return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IATSCLocator2_put_PhysicalChannel(IATSCLocator2* This,LONG PhysicalChannel) { + return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IATSCLocator2_get_TSID(IATSCLocator2* This,LONG *TSID) { + return This->lpVtbl->get_TSID(This,TSID); +} +static inline HRESULT IATSCLocator2_put_TSID(IATSCLocator2* This,LONG TSID) { + return This->lpVtbl->put_TSID(This,TSID); +} +/*** IATSCLocator2 methods ***/ +static inline HRESULT IATSCLocator2_get_ProgramNumber(IATSCLocator2* This,LONG *ProgramNumber) { + return This->lpVtbl->get_ProgramNumber(This,ProgramNumber); +} +static inline HRESULT IATSCLocator2_put_ProgramNumber(IATSCLocator2* This,LONG ProgramNumber) { + return This->lpVtbl->put_ProgramNumber(This,ProgramNumber); +} +#endif +#endif + +#endif + + +#endif /* __IATSCLocator2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDigitalCableLocator interface + */ +#ifndef __IDigitalCableLocator_INTERFACE_DEFINED__ +#define __IDigitalCableLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDigitalCableLocator, 0x48f66a11, 0x171a, 0x419a, 0x95,0x25, 0xbe,0xee,0xcd,0x51,0x58,0x4c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("48f66a11-171a-419a-9525-beeecd51584c") +IDigitalCableLocator : public IATSCLocator2 +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDigitalCableLocator, 0x48f66a11, 0x171a, 0x419a, 0x95,0x25, 0xbe,0xee,0xcd,0x51,0x58,0x4c) +#endif +#else +typedef struct IDigitalCableLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDigitalCableLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDigitalCableLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDigitalCableLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDigitalCableLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDigitalCableLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDigitalCableLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDigitalCableLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDigitalCableLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDigitalCableLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDigitalCableLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDigitalCableLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDigitalCableLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDigitalCableLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDigitalCableLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDigitalCableLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDigitalCableLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDigitalCableLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDigitalCableLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDigitalCableLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDigitalCableLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDigitalCableLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDigitalCableLocator *This, + ILocator **NewLocator); + + /*** IATSCLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PhysicalChannel)( + IDigitalCableLocator *This, + LONG *PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *put_PhysicalChannel)( + IDigitalCableLocator *This, + LONG PhysicalChannel); + + HRESULT (STDMETHODCALLTYPE *get_TSID)( + IDigitalCableLocator *This, + LONG *TSID); + + HRESULT (STDMETHODCALLTYPE *put_TSID)( + IDigitalCableLocator *This, + LONG TSID); + + /*** IATSCLocator2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProgramNumber)( + IDigitalCableLocator *This, + LONG *ProgramNumber); + + HRESULT (STDMETHODCALLTYPE *put_ProgramNumber)( + IDigitalCableLocator *This, + LONG ProgramNumber); + + END_INTERFACE +} IDigitalCableLocatorVtbl; + +interface IDigitalCableLocator { + CONST_VTBL IDigitalCableLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDigitalCableLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDigitalCableLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDigitalCableLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDigitalCableLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDigitalCableLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDigitalCableLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDigitalCableLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDigitalCableLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDigitalCableLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDigitalCableLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDigitalCableLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDigitalCableLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDigitalCableLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDigitalCableLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDigitalCableLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDigitalCableLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDigitalCableLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDigitalCableLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDigitalCableLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDigitalCableLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDigitalCableLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDigitalCableLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IATSCLocator methods ***/ +#define IDigitalCableLocator_get_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->get_PhysicalChannel(This,PhysicalChannel) +#define IDigitalCableLocator_put_PhysicalChannel(This,PhysicalChannel) (This)->lpVtbl->put_PhysicalChannel(This,PhysicalChannel) +#define IDigitalCableLocator_get_TSID(This,TSID) (This)->lpVtbl->get_TSID(This,TSID) +#define IDigitalCableLocator_put_TSID(This,TSID) (This)->lpVtbl->put_TSID(This,TSID) +/*** IATSCLocator2 methods ***/ +#define IDigitalCableLocator_get_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->get_ProgramNumber(This,ProgramNumber) +#define IDigitalCableLocator_put_ProgramNumber(This,ProgramNumber) (This)->lpVtbl->put_ProgramNumber(This,ProgramNumber) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDigitalCableLocator_QueryInterface(IDigitalCableLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDigitalCableLocator_AddRef(IDigitalCableLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDigitalCableLocator_Release(IDigitalCableLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDigitalCableLocator_GetTypeInfoCount(IDigitalCableLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDigitalCableLocator_GetTypeInfo(IDigitalCableLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDigitalCableLocator_GetIDsOfNames(IDigitalCableLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDigitalCableLocator_Invoke(IDigitalCableLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDigitalCableLocator_get_CarrierFrequency(IDigitalCableLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDigitalCableLocator_put_CarrierFrequency(IDigitalCableLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDigitalCableLocator_get_InnerFEC(IDigitalCableLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDigitalCableLocator_put_InnerFEC(IDigitalCableLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDigitalCableLocator_get_InnerFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDigitalCableLocator_put_InnerFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDigitalCableLocator_get_OuterFEC(IDigitalCableLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDigitalCableLocator_put_OuterFEC(IDigitalCableLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDigitalCableLocator_get_OuterFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDigitalCableLocator_put_OuterFECRate(IDigitalCableLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDigitalCableLocator_get_Modulation(IDigitalCableLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDigitalCableLocator_put_Modulation(IDigitalCableLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDigitalCableLocator_get_SymbolRate(IDigitalCableLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDigitalCableLocator_put_SymbolRate(IDigitalCableLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDigitalCableLocator_Clone(IDigitalCableLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IATSCLocator methods ***/ +static inline HRESULT IDigitalCableLocator_get_PhysicalChannel(IDigitalCableLocator* This,LONG *PhysicalChannel) { + return This->lpVtbl->get_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IDigitalCableLocator_put_PhysicalChannel(IDigitalCableLocator* This,LONG PhysicalChannel) { + return This->lpVtbl->put_PhysicalChannel(This,PhysicalChannel); +} +static inline HRESULT IDigitalCableLocator_get_TSID(IDigitalCableLocator* This,LONG *TSID) { + return This->lpVtbl->get_TSID(This,TSID); +} +static inline HRESULT IDigitalCableLocator_put_TSID(IDigitalCableLocator* This,LONG TSID) { + return This->lpVtbl->put_TSID(This,TSID); +} +/*** IATSCLocator2 methods ***/ +static inline HRESULT IDigitalCableLocator_get_ProgramNumber(IDigitalCableLocator* This,LONG *ProgramNumber) { + return This->lpVtbl->get_ProgramNumber(This,ProgramNumber); +} +static inline HRESULT IDigitalCableLocator_put_ProgramNumber(IDigitalCableLocator* This,LONG ProgramNumber) { + return This->lpVtbl->put_ProgramNumber(This,ProgramNumber); +} +#endif +#endif + +#endif + + +#endif /* __IDigitalCableLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBTLocator interface + */ +#ifndef __IDVBTLocator_INTERFACE_DEFINED__ +#define __IDVBTLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBTLocator, 0x8664da16, 0xdda2, 0x42ac, 0x92,0x6a, 0xc1,0x8f,0x91,0x27,0xc3,0x02); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8664da16-dda2-42ac-926a-c18f9127c302") +IDVBTLocator : public IDigitalLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_Bandwidth( + LONG *BandWidthVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Bandwidth( + LONG BandwidthVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LPInnerFEC( + FECMethod *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LPInnerFEC( + FECMethod FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LPInnerFECRate( + BinaryConvolutionCodeRate *FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LPInnerFECRate( + BinaryConvolutionCodeRate FEC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HAlpha( + HierarchyAlpha *Alpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_HAlpha( + HierarchyAlpha Alpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Guard( + GuardInterval *GI) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Guard( + GuardInterval GI) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Mode( + TransmissionMode *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Mode( + TransmissionMode mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_OtherFrequencyInUse( + VARIANT_BOOL *OtherFrequencyInUseVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_OtherFrequencyInUse( + VARIANT_BOOL OtherFrequencyInUseVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBTLocator, 0x8664da16, 0xdda2, 0x42ac, 0x92,0x6a, 0xc1,0x8f,0x91,0x27,0xc3,0x02) +#endif +#else +typedef struct IDVBTLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBTLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBTLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBTLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBTLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBTLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBTLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBTLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDVBTLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDVBTLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDVBTLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDVBTLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDVBTLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDVBTLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDVBTLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDVBTLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDVBTLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDVBTLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBTLocator *This, + ILocator **NewLocator); + + /*** IDVBTLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Bandwidth)( + IDVBTLocator *This, + LONG *BandWidthVal); + + HRESULT (STDMETHODCALLTYPE *put_Bandwidth)( + IDVBTLocator *This, + LONG BandwidthVal); + + HRESULT (STDMETHODCALLTYPE *get_LPInnerFEC)( + IDVBTLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_LPInnerFEC)( + IDVBTLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_LPInnerFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_LPInnerFECRate)( + IDVBTLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_HAlpha)( + IDVBTLocator *This, + HierarchyAlpha *Alpha); + + HRESULT (STDMETHODCALLTYPE *put_HAlpha)( + IDVBTLocator *This, + HierarchyAlpha Alpha); + + HRESULT (STDMETHODCALLTYPE *get_Guard)( + IDVBTLocator *This, + GuardInterval *GI); + + HRESULT (STDMETHODCALLTYPE *put_Guard)( + IDVBTLocator *This, + GuardInterval GI); + + HRESULT (STDMETHODCALLTYPE *get_Mode)( + IDVBTLocator *This, + TransmissionMode *mode); + + HRESULT (STDMETHODCALLTYPE *put_Mode)( + IDVBTLocator *This, + TransmissionMode mode); + + HRESULT (STDMETHODCALLTYPE *get_OtherFrequencyInUse)( + IDVBTLocator *This, + VARIANT_BOOL *OtherFrequencyInUseVal); + + HRESULT (STDMETHODCALLTYPE *put_OtherFrequencyInUse)( + IDVBTLocator *This, + VARIANT_BOOL OtherFrequencyInUseVal); + + END_INTERFACE +} IDVBTLocatorVtbl; + +interface IDVBTLocator { + CONST_VTBL IDVBTLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBTLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBTLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBTLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBTLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBTLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBTLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBTLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDVBTLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDVBTLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDVBTLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDVBTLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDVBTLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDVBTLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDVBTLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDVBTLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDVBTLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDVBTLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDVBTLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDVBTLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDVBTLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDVBTLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDVBTLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IDVBTLocator methods ***/ +#define IDVBTLocator_get_Bandwidth(This,BandWidthVal) (This)->lpVtbl->get_Bandwidth(This,BandWidthVal) +#define IDVBTLocator_put_Bandwidth(This,BandwidthVal) (This)->lpVtbl->put_Bandwidth(This,BandwidthVal) +#define IDVBTLocator_get_LPInnerFEC(This,FEC) (This)->lpVtbl->get_LPInnerFEC(This,FEC) +#define IDVBTLocator_put_LPInnerFEC(This,FEC) (This)->lpVtbl->put_LPInnerFEC(This,FEC) +#define IDVBTLocator_get_LPInnerFECRate(This,FEC) (This)->lpVtbl->get_LPInnerFECRate(This,FEC) +#define IDVBTLocator_put_LPInnerFECRate(This,FEC) (This)->lpVtbl->put_LPInnerFECRate(This,FEC) +#define IDVBTLocator_get_HAlpha(This,Alpha) (This)->lpVtbl->get_HAlpha(This,Alpha) +#define IDVBTLocator_put_HAlpha(This,Alpha) (This)->lpVtbl->put_HAlpha(This,Alpha) +#define IDVBTLocator_get_Guard(This,GI) (This)->lpVtbl->get_Guard(This,GI) +#define IDVBTLocator_put_Guard(This,GI) (This)->lpVtbl->put_Guard(This,GI) +#define IDVBTLocator_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) +#define IDVBTLocator_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) +#define IDVBTLocator_get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) +#define IDVBTLocator_put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBTLocator_QueryInterface(IDVBTLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBTLocator_AddRef(IDVBTLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBTLocator_Release(IDVBTLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBTLocator_GetTypeInfoCount(IDVBTLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBTLocator_GetTypeInfo(IDVBTLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBTLocator_GetIDsOfNames(IDVBTLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBTLocator_Invoke(IDVBTLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDVBTLocator_get_CarrierFrequency(IDVBTLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBTLocator_put_CarrierFrequency(IDVBTLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBTLocator_get_InnerFEC(IDVBTLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_put_InnerFEC(IDVBTLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_get_InnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_put_InnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_get_OuterFEC(IDVBTLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_put_OuterFEC(IDVBTLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_get_OuterFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_put_OuterFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_get_Modulation(IDVBTLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDVBTLocator_put_Modulation(IDVBTLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDVBTLocator_get_SymbolRate(IDVBTLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDVBTLocator_put_SymbolRate(IDVBTLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDVBTLocator_Clone(IDVBTLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IDVBTLocator methods ***/ +static inline HRESULT IDVBTLocator_get_Bandwidth(IDVBTLocator* This,LONG *BandWidthVal) { + return This->lpVtbl->get_Bandwidth(This,BandWidthVal); +} +static inline HRESULT IDVBTLocator_put_Bandwidth(IDVBTLocator* This,LONG BandwidthVal) { + return This->lpVtbl->put_Bandwidth(This,BandwidthVal); +} +static inline HRESULT IDVBTLocator_get_LPInnerFEC(IDVBTLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_LPInnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_put_LPInnerFEC(IDVBTLocator* This,FECMethod FEC) { + return This->lpVtbl->put_LPInnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator_get_LPInnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_LPInnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_put_LPInnerFECRate(IDVBTLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_LPInnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator_get_HAlpha(IDVBTLocator* This,HierarchyAlpha *Alpha) { + return This->lpVtbl->get_HAlpha(This,Alpha); +} +static inline HRESULT IDVBTLocator_put_HAlpha(IDVBTLocator* This,HierarchyAlpha Alpha) { + return This->lpVtbl->put_HAlpha(This,Alpha); +} +static inline HRESULT IDVBTLocator_get_Guard(IDVBTLocator* This,GuardInterval *GI) { + return This->lpVtbl->get_Guard(This,GI); +} +static inline HRESULT IDVBTLocator_put_Guard(IDVBTLocator* This,GuardInterval GI) { + return This->lpVtbl->put_Guard(This,GI); +} +static inline HRESULT IDVBTLocator_get_Mode(IDVBTLocator* This,TransmissionMode *mode) { + return This->lpVtbl->get_Mode(This,mode); +} +static inline HRESULT IDVBTLocator_put_Mode(IDVBTLocator* This,TransmissionMode mode) { + return This->lpVtbl->put_Mode(This,mode); +} +static inline HRESULT IDVBTLocator_get_OtherFrequencyInUse(IDVBTLocator* This,VARIANT_BOOL *OtherFrequencyInUseVal) { + return This->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal); +} +static inline HRESULT IDVBTLocator_put_OtherFrequencyInUse(IDVBTLocator* This,VARIANT_BOOL OtherFrequencyInUseVal) { + return This->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal); +} +#endif +#endif + +#endif + + +#endif /* __IDVBTLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBTLocator2 interface + */ +#ifndef __IDVBTLocator2_INTERFACE_DEFINED__ +#define __IDVBTLocator2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBTLocator2, 0x448a2edf, 0xae95, 0x4b43, 0xa3,0xcc, 0x74,0x78,0x43,0xc4,0x53,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("448a2edf-ae95-4b43-a3cc-747843c453d4") +IDVBTLocator2 : public IDVBTLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_PhysicalLayerPipeId( + LONG *PhysicalLayerPipeIdVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PhysicalLayerPipeId( + LONG PhysicalLayerPipeIdVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBTLocator2, 0x448a2edf, 0xae95, 0x4b43, 0xa3,0xcc, 0x74,0x78,0x43,0xc4,0x53,0xd4) +#endif +#else +typedef struct IDVBTLocator2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBTLocator2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBTLocator2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBTLocator2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBTLocator2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBTLocator2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBTLocator2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBTLocator2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDVBTLocator2 *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDVBTLocator2 *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDVBTLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDVBTLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDVBTLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDVBTLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDVBTLocator2 *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDVBTLocator2 *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDVBTLocator2 *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDVBTLocator2 *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBTLocator2 *This, + ILocator **NewLocator); + + /*** IDVBTLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Bandwidth)( + IDVBTLocator2 *This, + LONG *BandWidthVal); + + HRESULT (STDMETHODCALLTYPE *put_Bandwidth)( + IDVBTLocator2 *This, + LONG BandwidthVal); + + HRESULT (STDMETHODCALLTYPE *get_LPInnerFEC)( + IDVBTLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_LPInnerFEC)( + IDVBTLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_LPInnerFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_LPInnerFECRate)( + IDVBTLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_HAlpha)( + IDVBTLocator2 *This, + HierarchyAlpha *Alpha); + + HRESULT (STDMETHODCALLTYPE *put_HAlpha)( + IDVBTLocator2 *This, + HierarchyAlpha Alpha); + + HRESULT (STDMETHODCALLTYPE *get_Guard)( + IDVBTLocator2 *This, + GuardInterval *GI); + + HRESULT (STDMETHODCALLTYPE *put_Guard)( + IDVBTLocator2 *This, + GuardInterval GI); + + HRESULT (STDMETHODCALLTYPE *get_Mode)( + IDVBTLocator2 *This, + TransmissionMode *mode); + + HRESULT (STDMETHODCALLTYPE *put_Mode)( + IDVBTLocator2 *This, + TransmissionMode mode); + + HRESULT (STDMETHODCALLTYPE *get_OtherFrequencyInUse)( + IDVBTLocator2 *This, + VARIANT_BOOL *OtherFrequencyInUseVal); + + HRESULT (STDMETHODCALLTYPE *put_OtherFrequencyInUse)( + IDVBTLocator2 *This, + VARIANT_BOOL OtherFrequencyInUseVal); + + /*** IDVBTLocator2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PhysicalLayerPipeId)( + IDVBTLocator2 *This, + LONG *PhysicalLayerPipeIdVal); + + HRESULT (STDMETHODCALLTYPE *put_PhysicalLayerPipeId)( + IDVBTLocator2 *This, + LONG PhysicalLayerPipeIdVal); + + END_INTERFACE +} IDVBTLocator2Vtbl; + +interface IDVBTLocator2 { + CONST_VTBL IDVBTLocator2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBTLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBTLocator2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBTLocator2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBTLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBTLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBTLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBTLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDVBTLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDVBTLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDVBTLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDVBTLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDVBTLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDVBTLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDVBTLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDVBTLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDVBTLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDVBTLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDVBTLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDVBTLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDVBTLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDVBTLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDVBTLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IDVBTLocator methods ***/ +#define IDVBTLocator2_get_Bandwidth(This,BandWidthVal) (This)->lpVtbl->get_Bandwidth(This,BandWidthVal) +#define IDVBTLocator2_put_Bandwidth(This,BandwidthVal) (This)->lpVtbl->put_Bandwidth(This,BandwidthVal) +#define IDVBTLocator2_get_LPInnerFEC(This,FEC) (This)->lpVtbl->get_LPInnerFEC(This,FEC) +#define IDVBTLocator2_put_LPInnerFEC(This,FEC) (This)->lpVtbl->put_LPInnerFEC(This,FEC) +#define IDVBTLocator2_get_LPInnerFECRate(This,FEC) (This)->lpVtbl->get_LPInnerFECRate(This,FEC) +#define IDVBTLocator2_put_LPInnerFECRate(This,FEC) (This)->lpVtbl->put_LPInnerFECRate(This,FEC) +#define IDVBTLocator2_get_HAlpha(This,Alpha) (This)->lpVtbl->get_HAlpha(This,Alpha) +#define IDVBTLocator2_put_HAlpha(This,Alpha) (This)->lpVtbl->put_HAlpha(This,Alpha) +#define IDVBTLocator2_get_Guard(This,GI) (This)->lpVtbl->get_Guard(This,GI) +#define IDVBTLocator2_put_Guard(This,GI) (This)->lpVtbl->put_Guard(This,GI) +#define IDVBTLocator2_get_Mode(This,mode) (This)->lpVtbl->get_Mode(This,mode) +#define IDVBTLocator2_put_Mode(This,mode) (This)->lpVtbl->put_Mode(This,mode) +#define IDVBTLocator2_get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal) +#define IDVBTLocator2_put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) (This)->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal) +/*** IDVBTLocator2 methods ***/ +#define IDVBTLocator2_get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) (This)->lpVtbl->get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) +#define IDVBTLocator2_put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) (This)->lpVtbl->put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBTLocator2_QueryInterface(IDVBTLocator2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBTLocator2_AddRef(IDVBTLocator2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBTLocator2_Release(IDVBTLocator2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBTLocator2_GetTypeInfoCount(IDVBTLocator2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBTLocator2_GetTypeInfo(IDVBTLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBTLocator2_GetIDsOfNames(IDVBTLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBTLocator2_Invoke(IDVBTLocator2* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDVBTLocator2_get_CarrierFrequency(IDVBTLocator2* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBTLocator2_put_CarrierFrequency(IDVBTLocator2* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBTLocator2_get_InnerFEC(IDVBTLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_InnerFEC(IDVBTLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_InnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_InnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_OuterFEC(IDVBTLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_OuterFEC(IDVBTLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_OuterFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_OuterFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_Modulation(IDVBTLocator2* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDVBTLocator2_put_Modulation(IDVBTLocator2* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDVBTLocator2_get_SymbolRate(IDVBTLocator2* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDVBTLocator2_put_SymbolRate(IDVBTLocator2* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDVBTLocator2_Clone(IDVBTLocator2* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IDVBTLocator methods ***/ +static inline HRESULT IDVBTLocator2_get_Bandwidth(IDVBTLocator2* This,LONG *BandWidthVal) { + return This->lpVtbl->get_Bandwidth(This,BandWidthVal); +} +static inline HRESULT IDVBTLocator2_put_Bandwidth(IDVBTLocator2* This,LONG BandwidthVal) { + return This->lpVtbl->put_Bandwidth(This,BandwidthVal); +} +static inline HRESULT IDVBTLocator2_get_LPInnerFEC(IDVBTLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_LPInnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_LPInnerFEC(IDVBTLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_LPInnerFEC(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_LPInnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_LPInnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_put_LPInnerFECRate(IDVBTLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_LPInnerFECRate(This,FEC); +} +static inline HRESULT IDVBTLocator2_get_HAlpha(IDVBTLocator2* This,HierarchyAlpha *Alpha) { + return This->lpVtbl->get_HAlpha(This,Alpha); +} +static inline HRESULT IDVBTLocator2_put_HAlpha(IDVBTLocator2* This,HierarchyAlpha Alpha) { + return This->lpVtbl->put_HAlpha(This,Alpha); +} +static inline HRESULT IDVBTLocator2_get_Guard(IDVBTLocator2* This,GuardInterval *GI) { + return This->lpVtbl->get_Guard(This,GI); +} +static inline HRESULT IDVBTLocator2_put_Guard(IDVBTLocator2* This,GuardInterval GI) { + return This->lpVtbl->put_Guard(This,GI); +} +static inline HRESULT IDVBTLocator2_get_Mode(IDVBTLocator2* This,TransmissionMode *mode) { + return This->lpVtbl->get_Mode(This,mode); +} +static inline HRESULT IDVBTLocator2_put_Mode(IDVBTLocator2* This,TransmissionMode mode) { + return This->lpVtbl->put_Mode(This,mode); +} +static inline HRESULT IDVBTLocator2_get_OtherFrequencyInUse(IDVBTLocator2* This,VARIANT_BOOL *OtherFrequencyInUseVal) { + return This->lpVtbl->get_OtherFrequencyInUse(This,OtherFrequencyInUseVal); +} +static inline HRESULT IDVBTLocator2_put_OtherFrequencyInUse(IDVBTLocator2* This,VARIANT_BOOL OtherFrequencyInUseVal) { + return This->lpVtbl->put_OtherFrequencyInUse(This,OtherFrequencyInUseVal); +} +/*** IDVBTLocator2 methods ***/ +static inline HRESULT IDVBTLocator2_get_PhysicalLayerPipeId(IDVBTLocator2* This,LONG *PhysicalLayerPipeIdVal) { + return This->lpVtbl->get_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal); +} +static inline HRESULT IDVBTLocator2_put_PhysicalLayerPipeId(IDVBTLocator2* This,LONG PhysicalLayerPipeIdVal) { + return This->lpVtbl->put_PhysicalLayerPipeId(This,PhysicalLayerPipeIdVal); +} +#endif +#endif + +#endif + + +#endif /* __IDVBTLocator2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBSLocator interface + */ +#ifndef __IDVBSLocator_INTERFACE_DEFINED__ +#define __IDVBSLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBSLocator, 0x3d7c353c, 0x0d04, 0x45f1, 0xa7,0x42, 0xf9,0x7c,0xc1,0x18,0x8d,0xc8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3d7c353c-0d04-45f1-a742-f97cc1188dc8") +IDVBSLocator : public IDigitalLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_SignalPolarisation( + Polarisation *PolarisationVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SignalPolarisation( + Polarisation PolarisationVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WestPosition( + VARIANT_BOOL *WestLongitude) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WestPosition( + VARIANT_BOOL WestLongitude) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_OrbitalPosition( + LONG *longitude) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_OrbitalPosition( + LONG longitude) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Azimuth( + LONG *Azimuth) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Azimuth( + LONG Azimuth) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Elevation( + LONG *Elevation) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Elevation( + LONG Elevation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBSLocator, 0x3d7c353c, 0x0d04, 0x45f1, 0xa7,0x42, 0xf9,0x7c,0xc1,0x18,0x8d,0xc8) +#endif +#else +typedef struct IDVBSLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBSLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBSLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBSLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBSLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBSLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBSLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBSLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDVBSLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDVBSLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDVBSLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDVBSLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDVBSLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDVBSLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDVBSLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDVBSLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDVBSLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDVBSLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDVBSLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDVBSLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDVBSLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDVBSLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBSLocator *This, + ILocator **NewLocator); + + /*** IDVBSLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)( + IDVBSLocator *This, + Polarisation *PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)( + IDVBSLocator *This, + Polarisation PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *get_WestPosition)( + IDVBSLocator *This, + VARIANT_BOOL *WestLongitude); + + HRESULT (STDMETHODCALLTYPE *put_WestPosition)( + IDVBSLocator *This, + VARIANT_BOOL WestLongitude); + + HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)( + IDVBSLocator *This, + LONG *longitude); + + HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)( + IDVBSLocator *This, + LONG longitude); + + HRESULT (STDMETHODCALLTYPE *get_Azimuth)( + IDVBSLocator *This, + LONG *Azimuth); + + HRESULT (STDMETHODCALLTYPE *put_Azimuth)( + IDVBSLocator *This, + LONG Azimuth); + + HRESULT (STDMETHODCALLTYPE *get_Elevation)( + IDVBSLocator *This, + LONG *Elevation); + + HRESULT (STDMETHODCALLTYPE *put_Elevation)( + IDVBSLocator *This, + LONG Elevation); + + END_INTERFACE +} IDVBSLocatorVtbl; + +interface IDVBSLocator { + CONST_VTBL IDVBSLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBSLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBSLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBSLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBSLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBSLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBSLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBSLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDVBSLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDVBSLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDVBSLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDVBSLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDVBSLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDVBSLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDVBSLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDVBSLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDVBSLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDVBSLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDVBSLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDVBSLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDVBSLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDVBSLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDVBSLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IDVBSLocator methods ***/ +#define IDVBSLocator_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal) +#define IDVBSLocator_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal) +#define IDVBSLocator_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude) +#define IDVBSLocator_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude) +#define IDVBSLocator_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude) +#define IDVBSLocator_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude) +#define IDVBSLocator_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth) +#define IDVBSLocator_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth) +#define IDVBSLocator_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation) +#define IDVBSLocator_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBSLocator_QueryInterface(IDVBSLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBSLocator_AddRef(IDVBSLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBSLocator_Release(IDVBSLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBSLocator_GetTypeInfoCount(IDVBSLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBSLocator_GetTypeInfo(IDVBSLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBSLocator_GetIDsOfNames(IDVBSLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBSLocator_Invoke(IDVBSLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDVBSLocator_get_CarrierFrequency(IDVBSLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBSLocator_put_CarrierFrequency(IDVBSLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBSLocator_get_InnerFEC(IDVBSLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDVBSLocator_put_InnerFEC(IDVBSLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDVBSLocator_get_InnerFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator_put_InnerFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator_get_OuterFEC(IDVBSLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDVBSLocator_put_OuterFEC(IDVBSLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDVBSLocator_get_OuterFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator_put_OuterFECRate(IDVBSLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator_get_Modulation(IDVBSLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDVBSLocator_put_Modulation(IDVBSLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDVBSLocator_get_SymbolRate(IDVBSLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDVBSLocator_put_SymbolRate(IDVBSLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDVBSLocator_Clone(IDVBSLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IDVBSLocator methods ***/ +static inline HRESULT IDVBSLocator_get_SignalPolarisation(IDVBSLocator* This,Polarisation *PolarisationVal) { + return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IDVBSLocator_put_SignalPolarisation(IDVBSLocator* This,Polarisation PolarisationVal) { + return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IDVBSLocator_get_WestPosition(IDVBSLocator* This,VARIANT_BOOL *WestLongitude) { + return This->lpVtbl->get_WestPosition(This,WestLongitude); +} +static inline HRESULT IDVBSLocator_put_WestPosition(IDVBSLocator* This,VARIANT_BOOL WestLongitude) { + return This->lpVtbl->put_WestPosition(This,WestLongitude); +} +static inline HRESULT IDVBSLocator_get_OrbitalPosition(IDVBSLocator* This,LONG *longitude) { + return This->lpVtbl->get_OrbitalPosition(This,longitude); +} +static inline HRESULT IDVBSLocator_put_OrbitalPosition(IDVBSLocator* This,LONG longitude) { + return This->lpVtbl->put_OrbitalPosition(This,longitude); +} +static inline HRESULT IDVBSLocator_get_Azimuth(IDVBSLocator* This,LONG *Azimuth) { + return This->lpVtbl->get_Azimuth(This,Azimuth); +} +static inline HRESULT IDVBSLocator_put_Azimuth(IDVBSLocator* This,LONG Azimuth) { + return This->lpVtbl->put_Azimuth(This,Azimuth); +} +static inline HRESULT IDVBSLocator_get_Elevation(IDVBSLocator* This,LONG *Elevation) { + return This->lpVtbl->get_Elevation(This,Elevation); +} +static inline HRESULT IDVBSLocator_put_Elevation(IDVBSLocator* This,LONG Elevation) { + return This->lpVtbl->put_Elevation(This,Elevation); +} +#endif +#endif + +#endif + + +#endif /* __IDVBSLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBSLocator2 interface + */ +#ifndef __IDVBSLocator2_INTERFACE_DEFINED__ +#define __IDVBSLocator2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBSLocator2, 0x6044634a, 0x1733, 0x4f99, 0xb9,0x82, 0x5f,0xb1,0x2a,0xfc,0xe4,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6044634a-1733-4f99-b982-5fb12afce4f0") +IDVBSLocator2 : public IDVBSLocator +{ + virtual HRESULT STDMETHODCALLTYPE get_DiseqLNBSource( + LNB_Source *DiseqLNBSourceVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DiseqLNBSource( + LNB_Source DiseqLNBSourceVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LocalOscillatorOverrideLow( + LONG *LocalOscillatorOverrideLowVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LocalOscillatorOverrideLow( + LONG LocalOscillatorOverrideLowVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LocalOscillatorOverrideHigh( + LONG *LocalOscillatorOverrideHighVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LocalOscillatorOverrideHigh( + LONG LocalOscillatorOverrideHighVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LocalLNBSwitchOverride( + LONG *LocalLNBSwitchOverrideVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LocalLNBSwitchOverride( + LONG LocalLNBSwitchOverrideVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LocalSpectralInversionOverride( + SpectralInversion *LocalSpectralInversionOverrideVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_LocalSpectralInversionOverride( + SpectralInversion LocalSpectralInversionOverrideVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SignalRollOff( + RollOff *RollOffVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SignalRollOff( + RollOff RollOffVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SignalPilot( + Pilot *PilotVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SignalPilot( + Pilot PilotVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBSLocator2, 0x6044634a, 0x1733, 0x4f99, 0xb9,0x82, 0x5f,0xb1,0x2a,0xfc,0xe4,0xf0) +#endif +#else +typedef struct IDVBSLocator2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBSLocator2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBSLocator2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBSLocator2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBSLocator2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBSLocator2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBSLocator2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBSLocator2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDVBSLocator2 *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDVBSLocator2 *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDVBSLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDVBSLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDVBSLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDVBSLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDVBSLocator2 *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDVBSLocator2 *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDVBSLocator2 *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDVBSLocator2 *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDVBSLocator2 *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDVBSLocator2 *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDVBSLocator2 *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDVBSLocator2 *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBSLocator2 *This, + ILocator **NewLocator); + + /*** IDVBSLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)( + IDVBSLocator2 *This, + Polarisation *PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)( + IDVBSLocator2 *This, + Polarisation PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *get_WestPosition)( + IDVBSLocator2 *This, + VARIANT_BOOL *WestLongitude); + + HRESULT (STDMETHODCALLTYPE *put_WestPosition)( + IDVBSLocator2 *This, + VARIANT_BOOL WestLongitude); + + HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)( + IDVBSLocator2 *This, + LONG *longitude); + + HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)( + IDVBSLocator2 *This, + LONG longitude); + + HRESULT (STDMETHODCALLTYPE *get_Azimuth)( + IDVBSLocator2 *This, + LONG *Azimuth); + + HRESULT (STDMETHODCALLTYPE *put_Azimuth)( + IDVBSLocator2 *This, + LONG Azimuth); + + HRESULT (STDMETHODCALLTYPE *get_Elevation)( + IDVBSLocator2 *This, + LONG *Elevation); + + HRESULT (STDMETHODCALLTYPE *put_Elevation)( + IDVBSLocator2 *This, + LONG Elevation); + + /*** IDVBSLocator2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DiseqLNBSource)( + IDVBSLocator2 *This, + LNB_Source *DiseqLNBSourceVal); + + HRESULT (STDMETHODCALLTYPE *put_DiseqLNBSource)( + IDVBSLocator2 *This, + LNB_Source DiseqLNBSourceVal); + + HRESULT (STDMETHODCALLTYPE *get_LocalOscillatorOverrideLow)( + IDVBSLocator2 *This, + LONG *LocalOscillatorOverrideLowVal); + + HRESULT (STDMETHODCALLTYPE *put_LocalOscillatorOverrideLow)( + IDVBSLocator2 *This, + LONG LocalOscillatorOverrideLowVal); + + HRESULT (STDMETHODCALLTYPE *get_LocalOscillatorOverrideHigh)( + IDVBSLocator2 *This, + LONG *LocalOscillatorOverrideHighVal); + + HRESULT (STDMETHODCALLTYPE *put_LocalOscillatorOverrideHigh)( + IDVBSLocator2 *This, + LONG LocalOscillatorOverrideHighVal); + + HRESULT (STDMETHODCALLTYPE *get_LocalLNBSwitchOverride)( + IDVBSLocator2 *This, + LONG *LocalLNBSwitchOverrideVal); + + HRESULT (STDMETHODCALLTYPE *put_LocalLNBSwitchOverride)( + IDVBSLocator2 *This, + LONG LocalLNBSwitchOverrideVal); + + HRESULT (STDMETHODCALLTYPE *get_LocalSpectralInversionOverride)( + IDVBSLocator2 *This, + SpectralInversion *LocalSpectralInversionOverrideVal); + + HRESULT (STDMETHODCALLTYPE *put_LocalSpectralInversionOverride)( + IDVBSLocator2 *This, + SpectralInversion LocalSpectralInversionOverrideVal); + + HRESULT (STDMETHODCALLTYPE *get_SignalRollOff)( + IDVBSLocator2 *This, + RollOff *RollOffVal); + + HRESULT (STDMETHODCALLTYPE *put_SignalRollOff)( + IDVBSLocator2 *This, + RollOff RollOffVal); + + HRESULT (STDMETHODCALLTYPE *get_SignalPilot)( + IDVBSLocator2 *This, + Pilot *PilotVal); + + HRESULT (STDMETHODCALLTYPE *put_SignalPilot)( + IDVBSLocator2 *This, + Pilot PilotVal); + + END_INTERFACE +} IDVBSLocator2Vtbl; + +interface IDVBSLocator2 { + CONST_VTBL IDVBSLocator2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBSLocator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBSLocator2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBSLocator2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBSLocator2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBSLocator2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBSLocator2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBSLocator2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDVBSLocator2_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDVBSLocator2_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDVBSLocator2_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDVBSLocator2_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDVBSLocator2_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDVBSLocator2_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDVBSLocator2_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDVBSLocator2_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDVBSLocator2_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDVBSLocator2_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDVBSLocator2_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDVBSLocator2_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDVBSLocator2_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDVBSLocator2_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDVBSLocator2_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IDVBSLocator methods ***/ +#define IDVBSLocator2_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal) +#define IDVBSLocator2_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal) +#define IDVBSLocator2_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude) +#define IDVBSLocator2_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude) +#define IDVBSLocator2_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude) +#define IDVBSLocator2_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude) +#define IDVBSLocator2_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth) +#define IDVBSLocator2_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth) +#define IDVBSLocator2_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation) +#define IDVBSLocator2_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation) +/*** IDVBSLocator2 methods ***/ +#define IDVBSLocator2_get_DiseqLNBSource(This,DiseqLNBSourceVal) (This)->lpVtbl->get_DiseqLNBSource(This,DiseqLNBSourceVal) +#define IDVBSLocator2_put_DiseqLNBSource(This,DiseqLNBSourceVal) (This)->lpVtbl->put_DiseqLNBSource(This,DiseqLNBSourceVal) +#define IDVBSLocator2_get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) (This)->lpVtbl->get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) +#define IDVBSLocator2_put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) (This)->lpVtbl->put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal) +#define IDVBSLocator2_get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) (This)->lpVtbl->get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) +#define IDVBSLocator2_put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) (This)->lpVtbl->put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal) +#define IDVBSLocator2_get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) (This)->lpVtbl->get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) +#define IDVBSLocator2_put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) (This)->lpVtbl->put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal) +#define IDVBSLocator2_get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) (This)->lpVtbl->get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) +#define IDVBSLocator2_put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) (This)->lpVtbl->put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal) +#define IDVBSLocator2_get_SignalRollOff(This,RollOffVal) (This)->lpVtbl->get_SignalRollOff(This,RollOffVal) +#define IDVBSLocator2_put_SignalRollOff(This,RollOffVal) (This)->lpVtbl->put_SignalRollOff(This,RollOffVal) +#define IDVBSLocator2_get_SignalPilot(This,PilotVal) (This)->lpVtbl->get_SignalPilot(This,PilotVal) +#define IDVBSLocator2_put_SignalPilot(This,PilotVal) (This)->lpVtbl->put_SignalPilot(This,PilotVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBSLocator2_QueryInterface(IDVBSLocator2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBSLocator2_AddRef(IDVBSLocator2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBSLocator2_Release(IDVBSLocator2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBSLocator2_GetTypeInfoCount(IDVBSLocator2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBSLocator2_GetTypeInfo(IDVBSLocator2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBSLocator2_GetIDsOfNames(IDVBSLocator2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBSLocator2_Invoke(IDVBSLocator2* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDVBSLocator2_get_CarrierFrequency(IDVBSLocator2* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBSLocator2_put_CarrierFrequency(IDVBSLocator2* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBSLocator2_get_InnerFEC(IDVBSLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDVBSLocator2_put_InnerFEC(IDVBSLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDVBSLocator2_get_InnerFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator2_put_InnerFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator2_get_OuterFEC(IDVBSLocator2* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDVBSLocator2_put_OuterFEC(IDVBSLocator2* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDVBSLocator2_get_OuterFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator2_put_OuterFECRate(IDVBSLocator2* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBSLocator2_get_Modulation(IDVBSLocator2* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDVBSLocator2_put_Modulation(IDVBSLocator2* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDVBSLocator2_get_SymbolRate(IDVBSLocator2* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDVBSLocator2_put_SymbolRate(IDVBSLocator2* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDVBSLocator2_Clone(IDVBSLocator2* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IDVBSLocator methods ***/ +static inline HRESULT IDVBSLocator2_get_SignalPolarisation(IDVBSLocator2* This,Polarisation *PolarisationVal) { + return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IDVBSLocator2_put_SignalPolarisation(IDVBSLocator2* This,Polarisation PolarisationVal) { + return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IDVBSLocator2_get_WestPosition(IDVBSLocator2* This,VARIANT_BOOL *WestLongitude) { + return This->lpVtbl->get_WestPosition(This,WestLongitude); +} +static inline HRESULT IDVBSLocator2_put_WestPosition(IDVBSLocator2* This,VARIANT_BOOL WestLongitude) { + return This->lpVtbl->put_WestPosition(This,WestLongitude); +} +static inline HRESULT IDVBSLocator2_get_OrbitalPosition(IDVBSLocator2* This,LONG *longitude) { + return This->lpVtbl->get_OrbitalPosition(This,longitude); +} +static inline HRESULT IDVBSLocator2_put_OrbitalPosition(IDVBSLocator2* This,LONG longitude) { + return This->lpVtbl->put_OrbitalPosition(This,longitude); +} +static inline HRESULT IDVBSLocator2_get_Azimuth(IDVBSLocator2* This,LONG *Azimuth) { + return This->lpVtbl->get_Azimuth(This,Azimuth); +} +static inline HRESULT IDVBSLocator2_put_Azimuth(IDVBSLocator2* This,LONG Azimuth) { + return This->lpVtbl->put_Azimuth(This,Azimuth); +} +static inline HRESULT IDVBSLocator2_get_Elevation(IDVBSLocator2* This,LONG *Elevation) { + return This->lpVtbl->get_Elevation(This,Elevation); +} +static inline HRESULT IDVBSLocator2_put_Elevation(IDVBSLocator2* This,LONG Elevation) { + return This->lpVtbl->put_Elevation(This,Elevation); +} +/*** IDVBSLocator2 methods ***/ +static inline HRESULT IDVBSLocator2_get_DiseqLNBSource(IDVBSLocator2* This,LNB_Source *DiseqLNBSourceVal) { + return This->lpVtbl->get_DiseqLNBSource(This,DiseqLNBSourceVal); +} +static inline HRESULT IDVBSLocator2_put_DiseqLNBSource(IDVBSLocator2* This,LNB_Source DiseqLNBSourceVal) { + return This->lpVtbl->put_DiseqLNBSource(This,DiseqLNBSourceVal); +} +static inline HRESULT IDVBSLocator2_get_LocalOscillatorOverrideLow(IDVBSLocator2* This,LONG *LocalOscillatorOverrideLowVal) { + return This->lpVtbl->get_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal); +} +static inline HRESULT IDVBSLocator2_put_LocalOscillatorOverrideLow(IDVBSLocator2* This,LONG LocalOscillatorOverrideLowVal) { + return This->lpVtbl->put_LocalOscillatorOverrideLow(This,LocalOscillatorOverrideLowVal); +} +static inline HRESULT IDVBSLocator2_get_LocalOscillatorOverrideHigh(IDVBSLocator2* This,LONG *LocalOscillatorOverrideHighVal) { + return This->lpVtbl->get_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal); +} +static inline HRESULT IDVBSLocator2_put_LocalOscillatorOverrideHigh(IDVBSLocator2* This,LONG LocalOscillatorOverrideHighVal) { + return This->lpVtbl->put_LocalOscillatorOverrideHigh(This,LocalOscillatorOverrideHighVal); +} +static inline HRESULT IDVBSLocator2_get_LocalLNBSwitchOverride(IDVBSLocator2* This,LONG *LocalLNBSwitchOverrideVal) { + return This->lpVtbl->get_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal); +} +static inline HRESULT IDVBSLocator2_put_LocalLNBSwitchOverride(IDVBSLocator2* This,LONG LocalLNBSwitchOverrideVal) { + return This->lpVtbl->put_LocalLNBSwitchOverride(This,LocalLNBSwitchOverrideVal); +} +static inline HRESULT IDVBSLocator2_get_LocalSpectralInversionOverride(IDVBSLocator2* This,SpectralInversion *LocalSpectralInversionOverrideVal) { + return This->lpVtbl->get_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal); +} +static inline HRESULT IDVBSLocator2_put_LocalSpectralInversionOverride(IDVBSLocator2* This,SpectralInversion LocalSpectralInversionOverrideVal) { + return This->lpVtbl->put_LocalSpectralInversionOverride(This,LocalSpectralInversionOverrideVal); +} +static inline HRESULT IDVBSLocator2_get_SignalRollOff(IDVBSLocator2* This,RollOff *RollOffVal) { + return This->lpVtbl->get_SignalRollOff(This,RollOffVal); +} +static inline HRESULT IDVBSLocator2_put_SignalRollOff(IDVBSLocator2* This,RollOff RollOffVal) { + return This->lpVtbl->put_SignalRollOff(This,RollOffVal); +} +static inline HRESULT IDVBSLocator2_get_SignalPilot(IDVBSLocator2* This,Pilot *PilotVal) { + return This->lpVtbl->get_SignalPilot(This,PilotVal); +} +static inline HRESULT IDVBSLocator2_put_SignalPilot(IDVBSLocator2* This,Pilot PilotVal) { + return This->lpVtbl->put_SignalPilot(This,PilotVal); +} +#endif +#endif + +#endif + + +#endif /* __IDVBSLocator2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDVBCLocator interface + */ +#ifndef __IDVBCLocator_INTERFACE_DEFINED__ +#define __IDVBCLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDVBCLocator, 0x6e42f36e, 0x1dd2, 0x43c4, 0x9f,0x78, 0x69,0xd2,0x5a,0xe3,0x90,0x34); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6e42f36e-1dd2-43c4-9f78-69d25ae39034") +IDVBCLocator : public IDigitalLocator +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDVBCLocator, 0x6e42f36e, 0x1dd2, 0x43c4, 0x9f,0x78, 0x69,0xd2,0x5a,0xe3,0x90,0x34) +#endif +#else +typedef struct IDVBCLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDVBCLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDVBCLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDVBCLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDVBCLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDVBCLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDVBCLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDVBCLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IDVBCLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IDVBCLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IDVBCLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IDVBCLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IDVBCLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IDVBCLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IDVBCLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IDVBCLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IDVBCLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IDVBCLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IDVBCLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IDVBCLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IDVBCLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IDVBCLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IDVBCLocator *This, + ILocator **NewLocator); + + END_INTERFACE +} IDVBCLocatorVtbl; + +interface IDVBCLocator { + CONST_VTBL IDVBCLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDVBCLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDVBCLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDVBCLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDVBCLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDVBCLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDVBCLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDVBCLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IDVBCLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IDVBCLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IDVBCLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IDVBCLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IDVBCLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IDVBCLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IDVBCLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IDVBCLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IDVBCLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IDVBCLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IDVBCLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IDVBCLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IDVBCLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IDVBCLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IDVBCLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDVBCLocator_QueryInterface(IDVBCLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDVBCLocator_AddRef(IDVBCLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDVBCLocator_Release(IDVBCLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDVBCLocator_GetTypeInfoCount(IDVBCLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDVBCLocator_GetTypeInfo(IDVBCLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDVBCLocator_GetIDsOfNames(IDVBCLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDVBCLocator_Invoke(IDVBCLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IDVBCLocator_get_CarrierFrequency(IDVBCLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBCLocator_put_CarrierFrequency(IDVBCLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IDVBCLocator_get_InnerFEC(IDVBCLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IDVBCLocator_put_InnerFEC(IDVBCLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IDVBCLocator_get_InnerFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBCLocator_put_InnerFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IDVBCLocator_get_OuterFEC(IDVBCLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IDVBCLocator_put_OuterFEC(IDVBCLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IDVBCLocator_get_OuterFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBCLocator_put_OuterFECRate(IDVBCLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IDVBCLocator_get_Modulation(IDVBCLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IDVBCLocator_put_Modulation(IDVBCLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IDVBCLocator_get_SymbolRate(IDVBCLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IDVBCLocator_put_SymbolRate(IDVBCLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IDVBCLocator_Clone(IDVBCLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +#endif +#endif + +#endif + + +#endif /* __IDVBCLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IISDBSLocator interface + */ +#ifndef __IISDBSLocator_INTERFACE_DEFINED__ +#define __IISDBSLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IISDBSLocator, 0xc9897087, 0xe29c, 0x473f, 0x9e,0x4b, 0x70,0x72,0x12,0x3d,0xea,0x14); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c9897087-e29c-473f-9e4b-7072123dea14") +IISDBSLocator : public IDVBSLocator +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IISDBSLocator, 0xc9897087, 0xe29c, 0x473f, 0x9e,0x4b, 0x70,0x72,0x12,0x3d,0xea,0x14) +#endif +#else +typedef struct IISDBSLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IISDBSLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IISDBSLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IISDBSLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IISDBSLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IISDBSLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IISDBSLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IISDBSLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ILocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CarrierFrequency)( + IISDBSLocator *This, + LONG *Frequency); + + HRESULT (STDMETHODCALLTYPE *put_CarrierFrequency)( + IISDBSLocator *This, + LONG Frequency); + + HRESULT (STDMETHODCALLTYPE *get_InnerFEC)( + IISDBSLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFEC)( + IISDBSLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_InnerFECRate)( + IISDBSLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_InnerFECRate)( + IISDBSLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFEC)( + IISDBSLocator *This, + FECMethod *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFEC)( + IISDBSLocator *This, + FECMethod FEC); + + HRESULT (STDMETHODCALLTYPE *get_OuterFECRate)( + IISDBSLocator *This, + BinaryConvolutionCodeRate *FEC); + + HRESULT (STDMETHODCALLTYPE *put_OuterFECRate)( + IISDBSLocator *This, + BinaryConvolutionCodeRate FEC); + + HRESULT (STDMETHODCALLTYPE *get_Modulation)( + IISDBSLocator *This, + ModulationType *Modulation); + + HRESULT (STDMETHODCALLTYPE *put_Modulation)( + IISDBSLocator *This, + ModulationType Modulation); + + HRESULT (STDMETHODCALLTYPE *get_SymbolRate)( + IISDBSLocator *This, + LONG *Rate); + + HRESULT (STDMETHODCALLTYPE *put_SymbolRate)( + IISDBSLocator *This, + LONG Rate); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IISDBSLocator *This, + ILocator **NewLocator); + + /*** IDVBSLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SignalPolarisation)( + IISDBSLocator *This, + Polarisation *PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *put_SignalPolarisation)( + IISDBSLocator *This, + Polarisation PolarisationVal); + + HRESULT (STDMETHODCALLTYPE *get_WestPosition)( + IISDBSLocator *This, + VARIANT_BOOL *WestLongitude); + + HRESULT (STDMETHODCALLTYPE *put_WestPosition)( + IISDBSLocator *This, + VARIANT_BOOL WestLongitude); + + HRESULT (STDMETHODCALLTYPE *get_OrbitalPosition)( + IISDBSLocator *This, + LONG *longitude); + + HRESULT (STDMETHODCALLTYPE *put_OrbitalPosition)( + IISDBSLocator *This, + LONG longitude); + + HRESULT (STDMETHODCALLTYPE *get_Azimuth)( + IISDBSLocator *This, + LONG *Azimuth); + + HRESULT (STDMETHODCALLTYPE *put_Azimuth)( + IISDBSLocator *This, + LONG Azimuth); + + HRESULT (STDMETHODCALLTYPE *get_Elevation)( + IISDBSLocator *This, + LONG *Elevation); + + HRESULT (STDMETHODCALLTYPE *put_Elevation)( + IISDBSLocator *This, + LONG Elevation); + + END_INTERFACE +} IISDBSLocatorVtbl; + +interface IISDBSLocator { + CONST_VTBL IISDBSLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IISDBSLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IISDBSLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IISDBSLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IISDBSLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IISDBSLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IISDBSLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IISDBSLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ILocator methods ***/ +#define IISDBSLocator_get_CarrierFrequency(This,Frequency) (This)->lpVtbl->get_CarrierFrequency(This,Frequency) +#define IISDBSLocator_put_CarrierFrequency(This,Frequency) (This)->lpVtbl->put_CarrierFrequency(This,Frequency) +#define IISDBSLocator_get_InnerFEC(This,FEC) (This)->lpVtbl->get_InnerFEC(This,FEC) +#define IISDBSLocator_put_InnerFEC(This,FEC) (This)->lpVtbl->put_InnerFEC(This,FEC) +#define IISDBSLocator_get_InnerFECRate(This,FEC) (This)->lpVtbl->get_InnerFECRate(This,FEC) +#define IISDBSLocator_put_InnerFECRate(This,FEC) (This)->lpVtbl->put_InnerFECRate(This,FEC) +#define IISDBSLocator_get_OuterFEC(This,FEC) (This)->lpVtbl->get_OuterFEC(This,FEC) +#define IISDBSLocator_put_OuterFEC(This,FEC) (This)->lpVtbl->put_OuterFEC(This,FEC) +#define IISDBSLocator_get_OuterFECRate(This,FEC) (This)->lpVtbl->get_OuterFECRate(This,FEC) +#define IISDBSLocator_put_OuterFECRate(This,FEC) (This)->lpVtbl->put_OuterFECRate(This,FEC) +#define IISDBSLocator_get_Modulation(This,Modulation) (This)->lpVtbl->get_Modulation(This,Modulation) +#define IISDBSLocator_put_Modulation(This,Modulation) (This)->lpVtbl->put_Modulation(This,Modulation) +#define IISDBSLocator_get_SymbolRate(This,Rate) (This)->lpVtbl->get_SymbolRate(This,Rate) +#define IISDBSLocator_put_SymbolRate(This,Rate) (This)->lpVtbl->put_SymbolRate(This,Rate) +#define IISDBSLocator_Clone(This,NewLocator) (This)->lpVtbl->Clone(This,NewLocator) +/*** IDVBSLocator methods ***/ +#define IISDBSLocator_get_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->get_SignalPolarisation(This,PolarisationVal) +#define IISDBSLocator_put_SignalPolarisation(This,PolarisationVal) (This)->lpVtbl->put_SignalPolarisation(This,PolarisationVal) +#define IISDBSLocator_get_WestPosition(This,WestLongitude) (This)->lpVtbl->get_WestPosition(This,WestLongitude) +#define IISDBSLocator_put_WestPosition(This,WestLongitude) (This)->lpVtbl->put_WestPosition(This,WestLongitude) +#define IISDBSLocator_get_OrbitalPosition(This,longitude) (This)->lpVtbl->get_OrbitalPosition(This,longitude) +#define IISDBSLocator_put_OrbitalPosition(This,longitude) (This)->lpVtbl->put_OrbitalPosition(This,longitude) +#define IISDBSLocator_get_Azimuth(This,Azimuth) (This)->lpVtbl->get_Azimuth(This,Azimuth) +#define IISDBSLocator_put_Azimuth(This,Azimuth) (This)->lpVtbl->put_Azimuth(This,Azimuth) +#define IISDBSLocator_get_Elevation(This,Elevation) (This)->lpVtbl->get_Elevation(This,Elevation) +#define IISDBSLocator_put_Elevation(This,Elevation) (This)->lpVtbl->put_Elevation(This,Elevation) +#else +/*** IUnknown methods ***/ +static inline HRESULT IISDBSLocator_QueryInterface(IISDBSLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IISDBSLocator_AddRef(IISDBSLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IISDBSLocator_Release(IISDBSLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IISDBSLocator_GetTypeInfoCount(IISDBSLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IISDBSLocator_GetTypeInfo(IISDBSLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IISDBSLocator_GetIDsOfNames(IISDBSLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IISDBSLocator_Invoke(IISDBSLocator* 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); +} +/*** ILocator methods ***/ +static inline HRESULT IISDBSLocator_get_CarrierFrequency(IISDBSLocator* This,LONG *Frequency) { + return This->lpVtbl->get_CarrierFrequency(This,Frequency); +} +static inline HRESULT IISDBSLocator_put_CarrierFrequency(IISDBSLocator* This,LONG Frequency) { + return This->lpVtbl->put_CarrierFrequency(This,Frequency); +} +static inline HRESULT IISDBSLocator_get_InnerFEC(IISDBSLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_InnerFEC(This,FEC); +} +static inline HRESULT IISDBSLocator_put_InnerFEC(IISDBSLocator* This,FECMethod FEC) { + return This->lpVtbl->put_InnerFEC(This,FEC); +} +static inline HRESULT IISDBSLocator_get_InnerFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_InnerFECRate(This,FEC); +} +static inline HRESULT IISDBSLocator_put_InnerFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_InnerFECRate(This,FEC); +} +static inline HRESULT IISDBSLocator_get_OuterFEC(IISDBSLocator* This,FECMethod *FEC) { + return This->lpVtbl->get_OuterFEC(This,FEC); +} +static inline HRESULT IISDBSLocator_put_OuterFEC(IISDBSLocator* This,FECMethod FEC) { + return This->lpVtbl->put_OuterFEC(This,FEC); +} +static inline HRESULT IISDBSLocator_get_OuterFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate *FEC) { + return This->lpVtbl->get_OuterFECRate(This,FEC); +} +static inline HRESULT IISDBSLocator_put_OuterFECRate(IISDBSLocator* This,BinaryConvolutionCodeRate FEC) { + return This->lpVtbl->put_OuterFECRate(This,FEC); +} +static inline HRESULT IISDBSLocator_get_Modulation(IISDBSLocator* This,ModulationType *Modulation) { + return This->lpVtbl->get_Modulation(This,Modulation); +} +static inline HRESULT IISDBSLocator_put_Modulation(IISDBSLocator* This,ModulationType Modulation) { + return This->lpVtbl->put_Modulation(This,Modulation); +} +static inline HRESULT IISDBSLocator_get_SymbolRate(IISDBSLocator* This,LONG *Rate) { + return This->lpVtbl->get_SymbolRate(This,Rate); +} +static inline HRESULT IISDBSLocator_put_SymbolRate(IISDBSLocator* This,LONG Rate) { + return This->lpVtbl->put_SymbolRate(This,Rate); +} +static inline HRESULT IISDBSLocator_Clone(IISDBSLocator* This,ILocator **NewLocator) { + return This->lpVtbl->Clone(This,NewLocator); +} +/*** IDVBSLocator methods ***/ +static inline HRESULT IISDBSLocator_get_SignalPolarisation(IISDBSLocator* This,Polarisation *PolarisationVal) { + return This->lpVtbl->get_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IISDBSLocator_put_SignalPolarisation(IISDBSLocator* This,Polarisation PolarisationVal) { + return This->lpVtbl->put_SignalPolarisation(This,PolarisationVal); +} +static inline HRESULT IISDBSLocator_get_WestPosition(IISDBSLocator* This,VARIANT_BOOL *WestLongitude) { + return This->lpVtbl->get_WestPosition(This,WestLongitude); +} +static inline HRESULT IISDBSLocator_put_WestPosition(IISDBSLocator* This,VARIANT_BOOL WestLongitude) { + return This->lpVtbl->put_WestPosition(This,WestLongitude); +} +static inline HRESULT IISDBSLocator_get_OrbitalPosition(IISDBSLocator* This,LONG *longitude) { + return This->lpVtbl->get_OrbitalPosition(This,longitude); +} +static inline HRESULT IISDBSLocator_put_OrbitalPosition(IISDBSLocator* This,LONG longitude) { + return This->lpVtbl->put_OrbitalPosition(This,longitude); +} +static inline HRESULT IISDBSLocator_get_Azimuth(IISDBSLocator* This,LONG *Azimuth) { + return This->lpVtbl->get_Azimuth(This,Azimuth); +} +static inline HRESULT IISDBSLocator_put_Azimuth(IISDBSLocator* This,LONG Azimuth) { + return This->lpVtbl->put_Azimuth(This,Azimuth); +} +static inline HRESULT IISDBSLocator_get_Elevation(IISDBSLocator* This,LONG *Elevation) { + return This->lpVtbl->get_Elevation(This,Elevation); +} +static inline HRESULT IISDBSLocator_put_Elevation(IISDBSLocator* This,LONG Elevation) { + return This->lpVtbl->put_Elevation(This,Elevation); +} +#endif +#endif + +#endif + + +#endif /* __IISDBSLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESEvent interface + */ +#ifndef __IESEvent_INTERFACE_DEFINED__ +#define __IESEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESEvent, 0x1f0e5357, 0xaf43, 0x44e6, 0x85,0x47, 0x65,0x4c,0x64,0x51,0x45,0xd2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1f0e5357-af43-44e6-8547-654c645145d2") +IESEvent : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetEventId( + DWORD *pdwEventId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEventType( + GUID *pguidEventType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCompletionStatus( + DWORD dwResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetData( + SAFEARRAY **pbData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStringData( + BSTR *pbstrData) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESEvent, 0x1f0e5357, 0xaf43, 0x44e6, 0x85,0x47, 0x65,0x4c,0x64,0x51,0x45,0xd2) +#endif +#else +typedef struct IESEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESEvent *This, + BSTR *pbstrData); + + END_INTERFACE +} IESEventVtbl; + +interface IESEvent { + CONST_VTBL IESEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESEvent_QueryInterface(IESEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESEvent_AddRef(IESEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESEvent_Release(IESEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESEvent_GetEventId(IESEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESEvent_GetEventType(IESEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESEvent_SetCompletionStatus(IESEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESEvent_GetData(IESEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESEvent_GetStringData(IESEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +#endif +#endif + +#endif + + +#endif /* __IESEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESOpenMmiEvent interface + */ +#ifndef __IESOpenMmiEvent_INTERFACE_DEFINED__ +#define __IESOpenMmiEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESOpenMmiEvent, 0xba4b6526, 0x1a35, 0x4635, 0x8b,0x56, 0x3e,0xc6,0x12,0x74,0x6a,0x8c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ba4b6526-1a35-4635-8b56-3ec612746a8c") +IESOpenMmiEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetDialogNumber( + DWORD *pDialogRequest, + DWORD *pDialogNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDialogType( + GUID *guidDialogType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDialogData( + SAFEARRAY **pbData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDialogStringData( + BSTR *pbstrBaseUrl, + BSTR *pbstrData) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESOpenMmiEvent, 0xba4b6526, 0x1a35, 0x4635, 0x8b,0x56, 0x3e,0xc6,0x12,0x74,0x6a,0x8c) +#endif +#else +typedef struct IESOpenMmiEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESOpenMmiEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESOpenMmiEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESOpenMmiEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESOpenMmiEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESOpenMmiEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESOpenMmiEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESOpenMmiEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESOpenMmiEvent *This, + BSTR *pbstrData); + + /*** IESOpenMmiEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDialogNumber)( + IESOpenMmiEvent *This, + DWORD *pDialogRequest, + DWORD *pDialogNumber); + + HRESULT (STDMETHODCALLTYPE *GetDialogType)( + IESOpenMmiEvent *This, + GUID *guidDialogType); + + HRESULT (STDMETHODCALLTYPE *GetDialogData)( + IESOpenMmiEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetDialogStringData)( + IESOpenMmiEvent *This, + BSTR *pbstrBaseUrl, + BSTR *pbstrData); + + END_INTERFACE +} IESOpenMmiEventVtbl; + +interface IESOpenMmiEvent { + CONST_VTBL IESOpenMmiEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESOpenMmiEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESOpenMmiEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESOpenMmiEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESOpenMmiEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESOpenMmiEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESOpenMmiEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESOpenMmiEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESOpenMmiEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESOpenMmiEvent methods ***/ +#define IESOpenMmiEvent_GetDialogNumber(This,pDialogRequest,pDialogNumber) (This)->lpVtbl->GetDialogNumber(This,pDialogRequest,pDialogNumber) +#define IESOpenMmiEvent_GetDialogType(This,guidDialogType) (This)->lpVtbl->GetDialogType(This,guidDialogType) +#define IESOpenMmiEvent_GetDialogData(This,pbData) (This)->lpVtbl->GetDialogData(This,pbData) +#define IESOpenMmiEvent_GetDialogStringData(This,pbstrBaseUrl,pbstrData) (This)->lpVtbl->GetDialogStringData(This,pbstrBaseUrl,pbstrData) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESOpenMmiEvent_QueryInterface(IESOpenMmiEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESOpenMmiEvent_AddRef(IESOpenMmiEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESOpenMmiEvent_Release(IESOpenMmiEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESOpenMmiEvent_GetEventId(IESOpenMmiEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESOpenMmiEvent_GetEventType(IESOpenMmiEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESOpenMmiEvent_SetCompletionStatus(IESOpenMmiEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESOpenMmiEvent_GetData(IESOpenMmiEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESOpenMmiEvent_GetStringData(IESOpenMmiEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESOpenMmiEvent methods ***/ +static inline HRESULT IESOpenMmiEvent_GetDialogNumber(IESOpenMmiEvent* This,DWORD *pDialogRequest,DWORD *pDialogNumber) { + return This->lpVtbl->GetDialogNumber(This,pDialogRequest,pDialogNumber); +} +static inline HRESULT IESOpenMmiEvent_GetDialogType(IESOpenMmiEvent* This,GUID *guidDialogType) { + return This->lpVtbl->GetDialogType(This,guidDialogType); +} +static inline HRESULT IESOpenMmiEvent_GetDialogData(IESOpenMmiEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetDialogData(This,pbData); +} +static inline HRESULT IESOpenMmiEvent_GetDialogStringData(IESOpenMmiEvent* This,BSTR *pbstrBaseUrl,BSTR *pbstrData) { + return This->lpVtbl->GetDialogStringData(This,pbstrBaseUrl,pbstrData); +} +#endif +#endif + +#endif + + +#endif /* __IESOpenMmiEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESCloseMmiEvent interface + */ +#ifndef __IESCloseMmiEvent_INTERFACE_DEFINED__ +#define __IESCloseMmiEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESCloseMmiEvent, 0x6b80e96f, 0x55e2, 0x45aa, 0xb7,0x54, 0x0c,0x23,0xc8,0xe7,0xd5,0xc1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6b80e96f-55e2-45aa-b754-0c23c8e7d5c1") +IESCloseMmiEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetDialogNumber( + DWORD *pDialogNumber) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESCloseMmiEvent, 0x6b80e96f, 0x55e2, 0x45aa, 0xb7,0x54, 0x0c,0x23,0xc8,0xe7,0xd5,0xc1) +#endif +#else +typedef struct IESCloseMmiEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESCloseMmiEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESCloseMmiEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESCloseMmiEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESCloseMmiEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESCloseMmiEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESCloseMmiEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESCloseMmiEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESCloseMmiEvent *This, + BSTR *pbstrData); + + /*** IESCloseMmiEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDialogNumber)( + IESCloseMmiEvent *This, + DWORD *pDialogNumber); + + END_INTERFACE +} IESCloseMmiEventVtbl; + +interface IESCloseMmiEvent { + CONST_VTBL IESCloseMmiEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESCloseMmiEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESCloseMmiEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESCloseMmiEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESCloseMmiEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESCloseMmiEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESCloseMmiEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESCloseMmiEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESCloseMmiEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESCloseMmiEvent methods ***/ +#define IESCloseMmiEvent_GetDialogNumber(This,pDialogNumber) (This)->lpVtbl->GetDialogNumber(This,pDialogNumber) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESCloseMmiEvent_QueryInterface(IESCloseMmiEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESCloseMmiEvent_AddRef(IESCloseMmiEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESCloseMmiEvent_Release(IESCloseMmiEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESCloseMmiEvent_GetEventId(IESCloseMmiEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESCloseMmiEvent_GetEventType(IESCloseMmiEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESCloseMmiEvent_SetCompletionStatus(IESCloseMmiEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESCloseMmiEvent_GetData(IESCloseMmiEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESCloseMmiEvent_GetStringData(IESCloseMmiEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESCloseMmiEvent methods ***/ +static inline HRESULT IESCloseMmiEvent_GetDialogNumber(IESCloseMmiEvent* This,DWORD *pDialogNumber) { + return This->lpVtbl->GetDialogNumber(This,pDialogNumber); +} +#endif +#endif + +#endif + + +#endif /* __IESCloseMmiEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESValueUpdatedEvent interface + */ +#ifndef __IESValueUpdatedEvent_INTERFACE_DEFINED__ +#define __IESValueUpdatedEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESValueUpdatedEvent, 0x8a24c46e, 0xbb63, 0x4664, 0x86,0x02, 0x5d,0x9c,0x71,0x8c,0x14,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8a24c46e-bb63-4664-8602-5d9c718c146d") +IESValueUpdatedEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetValueNames( + SAFEARRAY **pbstrNames) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESValueUpdatedEvent, 0x8a24c46e, 0xbb63, 0x4664, 0x86,0x02, 0x5d,0x9c,0x71,0x8c,0x14,0x6d) +#endif +#else +typedef struct IESValueUpdatedEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESValueUpdatedEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESValueUpdatedEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESValueUpdatedEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESValueUpdatedEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESValueUpdatedEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESValueUpdatedEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESValueUpdatedEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESValueUpdatedEvent *This, + BSTR *pbstrData); + + /*** IESValueUpdatedEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetValueNames)( + IESValueUpdatedEvent *This, + SAFEARRAY **pbstrNames); + + END_INTERFACE +} IESValueUpdatedEventVtbl; + +interface IESValueUpdatedEvent { + CONST_VTBL IESValueUpdatedEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESValueUpdatedEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESValueUpdatedEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESValueUpdatedEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESValueUpdatedEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESValueUpdatedEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESValueUpdatedEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESValueUpdatedEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESValueUpdatedEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESValueUpdatedEvent methods ***/ +#define IESValueUpdatedEvent_GetValueNames(This,pbstrNames) (This)->lpVtbl->GetValueNames(This,pbstrNames) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESValueUpdatedEvent_QueryInterface(IESValueUpdatedEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESValueUpdatedEvent_AddRef(IESValueUpdatedEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESValueUpdatedEvent_Release(IESValueUpdatedEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESValueUpdatedEvent_GetEventId(IESValueUpdatedEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESValueUpdatedEvent_GetEventType(IESValueUpdatedEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESValueUpdatedEvent_SetCompletionStatus(IESValueUpdatedEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESValueUpdatedEvent_GetData(IESValueUpdatedEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESValueUpdatedEvent_GetStringData(IESValueUpdatedEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESValueUpdatedEvent methods ***/ +static inline HRESULT IESValueUpdatedEvent_GetValueNames(IESValueUpdatedEvent* This,SAFEARRAY **pbstrNames) { + return This->lpVtbl->GetValueNames(This,pbstrNames); +} +#endif +#endif + +#endif + + +#endif /* __IESValueUpdatedEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESRequestTunerEvent interface + */ +#ifndef __IESRequestTunerEvent_INTERFACE_DEFINED__ +#define __IESRequestTunerEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESRequestTunerEvent, 0x54c7a5e8, 0xc3bb, 0x4f51, 0xaf,0x14, 0xe0,0xe2,0xc0,0xe3,0x4c,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("54c7a5e8-c3bb-4f51-af14-e0e2c0e34c6d") +IESRequestTunerEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetPriority( + BYTE *pbyPriority) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReason( + BYTE *pbyReason) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConsequences( + BYTE *pbyConsequences) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEstimatedTime( + DWORD *pdwEstimatedTime) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESRequestTunerEvent, 0x54c7a5e8, 0xc3bb, 0x4f51, 0xaf,0x14, 0xe0,0xe2,0xc0,0xe3,0x4c,0x6d) +#endif +#else +typedef struct IESRequestTunerEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESRequestTunerEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESRequestTunerEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESRequestTunerEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESRequestTunerEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESRequestTunerEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESRequestTunerEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESRequestTunerEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESRequestTunerEvent *This, + BSTR *pbstrData); + + /*** IESRequestTunerEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPriority)( + IESRequestTunerEvent *This, + BYTE *pbyPriority); + + HRESULT (STDMETHODCALLTYPE *GetReason)( + IESRequestTunerEvent *This, + BYTE *pbyReason); + + HRESULT (STDMETHODCALLTYPE *GetConsequences)( + IESRequestTunerEvent *This, + BYTE *pbyConsequences); + + HRESULT (STDMETHODCALLTYPE *GetEstimatedTime)( + IESRequestTunerEvent *This, + DWORD *pdwEstimatedTime); + + END_INTERFACE +} IESRequestTunerEventVtbl; + +interface IESRequestTunerEvent { + CONST_VTBL IESRequestTunerEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESRequestTunerEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESRequestTunerEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESRequestTunerEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESRequestTunerEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESRequestTunerEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESRequestTunerEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESRequestTunerEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESRequestTunerEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESRequestTunerEvent methods ***/ +#define IESRequestTunerEvent_GetPriority(This,pbyPriority) (This)->lpVtbl->GetPriority(This,pbyPriority) +#define IESRequestTunerEvent_GetReason(This,pbyReason) (This)->lpVtbl->GetReason(This,pbyReason) +#define IESRequestTunerEvent_GetConsequences(This,pbyConsequences) (This)->lpVtbl->GetConsequences(This,pbyConsequences) +#define IESRequestTunerEvent_GetEstimatedTime(This,pdwEstimatedTime) (This)->lpVtbl->GetEstimatedTime(This,pdwEstimatedTime) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESRequestTunerEvent_QueryInterface(IESRequestTunerEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESRequestTunerEvent_AddRef(IESRequestTunerEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESRequestTunerEvent_Release(IESRequestTunerEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESRequestTunerEvent_GetEventId(IESRequestTunerEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESRequestTunerEvent_GetEventType(IESRequestTunerEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESRequestTunerEvent_SetCompletionStatus(IESRequestTunerEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESRequestTunerEvent_GetData(IESRequestTunerEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESRequestTunerEvent_GetStringData(IESRequestTunerEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESRequestTunerEvent methods ***/ +static inline HRESULT IESRequestTunerEvent_GetPriority(IESRequestTunerEvent* This,BYTE *pbyPriority) { + return This->lpVtbl->GetPriority(This,pbyPriority); +} +static inline HRESULT IESRequestTunerEvent_GetReason(IESRequestTunerEvent* This,BYTE *pbyReason) { + return This->lpVtbl->GetReason(This,pbyReason); +} +static inline HRESULT IESRequestTunerEvent_GetConsequences(IESRequestTunerEvent* This,BYTE *pbyConsequences) { + return This->lpVtbl->GetConsequences(This,pbyConsequences); +} +static inline HRESULT IESRequestTunerEvent_GetEstimatedTime(IESRequestTunerEvent* This,DWORD *pdwEstimatedTime) { + return This->lpVtbl->GetEstimatedTime(This,pdwEstimatedTime); +} +#endif +#endif + +#endif + + +#endif /* __IESRequestTunerEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESIsdbCasResponseEvent interface + */ +#ifndef __IESIsdbCasResponseEvent_INTERFACE_DEFINED__ +#define __IESIsdbCasResponseEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESIsdbCasResponseEvent, 0x2017cb03, 0xdc0f, 0x4c24, 0x83,0xca, 0x36,0x30,0x7b,0x2c,0xd1,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2017cb03-dc0f-4c24-83ca-36307b2cd19f") +IESIsdbCasResponseEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetRequestId( + DWORD *pRequestId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + DWORD *pStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDataLength( + DWORD *pRequestLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetResponseData( + SAFEARRAY **pbData) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESIsdbCasResponseEvent, 0x2017cb03, 0xdc0f, 0x4c24, 0x83,0xca, 0x36,0x30,0x7b,0x2c,0xd1,0x9f) +#endif +#else +typedef struct IESIsdbCasResponseEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESIsdbCasResponseEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESIsdbCasResponseEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESIsdbCasResponseEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESIsdbCasResponseEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESIsdbCasResponseEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESIsdbCasResponseEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESIsdbCasResponseEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESIsdbCasResponseEvent *This, + BSTR *pbstrData); + + /*** IESIsdbCasResponseEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRequestId)( + IESIsdbCasResponseEvent *This, + DWORD *pRequestId); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + IESIsdbCasResponseEvent *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetDataLength)( + IESIsdbCasResponseEvent *This, + DWORD *pRequestLength); + + HRESULT (STDMETHODCALLTYPE *GetResponseData)( + IESIsdbCasResponseEvent *This, + SAFEARRAY **pbData); + + END_INTERFACE +} IESIsdbCasResponseEventVtbl; + +interface IESIsdbCasResponseEvent { + CONST_VTBL IESIsdbCasResponseEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESIsdbCasResponseEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESIsdbCasResponseEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESIsdbCasResponseEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESIsdbCasResponseEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESIsdbCasResponseEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESIsdbCasResponseEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESIsdbCasResponseEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESIsdbCasResponseEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESIsdbCasResponseEvent methods ***/ +#define IESIsdbCasResponseEvent_GetRequestId(This,pRequestId) (This)->lpVtbl->GetRequestId(This,pRequestId) +#define IESIsdbCasResponseEvent_GetStatus(This,pStatus) (This)->lpVtbl->GetStatus(This,pStatus) +#define IESIsdbCasResponseEvent_GetDataLength(This,pRequestLength) (This)->lpVtbl->GetDataLength(This,pRequestLength) +#define IESIsdbCasResponseEvent_GetResponseData(This,pbData) (This)->lpVtbl->GetResponseData(This,pbData) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESIsdbCasResponseEvent_QueryInterface(IESIsdbCasResponseEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESIsdbCasResponseEvent_AddRef(IESIsdbCasResponseEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESIsdbCasResponseEvent_Release(IESIsdbCasResponseEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESIsdbCasResponseEvent_GetEventId(IESIsdbCasResponseEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESIsdbCasResponseEvent_GetEventType(IESIsdbCasResponseEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESIsdbCasResponseEvent_SetCompletionStatus(IESIsdbCasResponseEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESIsdbCasResponseEvent_GetData(IESIsdbCasResponseEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESIsdbCasResponseEvent_GetStringData(IESIsdbCasResponseEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESIsdbCasResponseEvent methods ***/ +static inline HRESULT IESIsdbCasResponseEvent_GetRequestId(IESIsdbCasResponseEvent* This,DWORD *pRequestId) { + return This->lpVtbl->GetRequestId(This,pRequestId); +} +static inline HRESULT IESIsdbCasResponseEvent_GetStatus(IESIsdbCasResponseEvent* This,DWORD *pStatus) { + return This->lpVtbl->GetStatus(This,pStatus); +} +static inline HRESULT IESIsdbCasResponseEvent_GetDataLength(IESIsdbCasResponseEvent* This,DWORD *pRequestLength) { + return This->lpVtbl->GetDataLength(This,pRequestLength); +} +static inline HRESULT IESIsdbCasResponseEvent_GetResponseData(IESIsdbCasResponseEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetResponseData(This,pbData); +} +#endif +#endif + +#endif + + +#endif /* __IESIsdbCasResponseEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IGpnvsCommonBase interface + */ +#ifndef __IGpnvsCommonBase_INTERFACE_DEFINED__ +#define __IGpnvsCommonBase_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IGpnvsCommonBase, 0x907e0b5c, 0xe42d, 0x4f04, 0x91,0xf0, 0x26,0xf4,0x01,0xf3,0x69,0x07); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("907e0b5c-e42d-4f04-91f0-26f401f36907") +IGpnvsCommonBase : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetValueUpdateName( + BSTR *pbstrName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGpnvsCommonBase, 0x907e0b5c, 0xe42d, 0x4f04, 0x91,0xf0, 0x26,0xf4,0x01,0xf3,0x69,0x07) +#endif +#else +typedef struct IGpnvsCommonBaseVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IGpnvsCommonBase *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IGpnvsCommonBase *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IGpnvsCommonBase *This); + + /*** IGpnvsCommonBase methods ***/ + HRESULT (STDMETHODCALLTYPE *GetValueUpdateName)( + IGpnvsCommonBase *This, + BSTR *pbstrName); + + END_INTERFACE +} IGpnvsCommonBaseVtbl; + +interface IGpnvsCommonBase { + CONST_VTBL IGpnvsCommonBaseVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IGpnvsCommonBase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IGpnvsCommonBase_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IGpnvsCommonBase_Release(This) (This)->lpVtbl->Release(This) +/*** IGpnvsCommonBase methods ***/ +#define IGpnvsCommonBase_GetValueUpdateName(This,pbstrName) (This)->lpVtbl->GetValueUpdateName(This,pbstrName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IGpnvsCommonBase_QueryInterface(IGpnvsCommonBase* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IGpnvsCommonBase_AddRef(IGpnvsCommonBase* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IGpnvsCommonBase_Release(IGpnvsCommonBase* This) { + return This->lpVtbl->Release(This); +} +/*** IGpnvsCommonBase methods ***/ +static inline HRESULT IGpnvsCommonBase_GetValueUpdateName(IGpnvsCommonBase* This,BSTR *pbstrName) { + return This->lpVtbl->GetValueUpdateName(This,pbstrName); +} +#endif +#endif + +#endif + + +#endif /* __IGpnvsCommonBase_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESEventFactory interface + */ +#ifndef __IESEventFactory_INTERFACE_DEFINED__ +#define __IESEventFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESEventFactory, 0x506a09b8, 0x7f86, 0x4e04, 0xac,0x05, 0x33,0x03,0xbf,0xe8,0xfc,0x49); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("506a09b8-7f86-4e04-ac05-3303bfe8fc49") +IESEventFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateESEvent( + IUnknown *pServiceProvider, + DWORD dwEventId, + GUID guidEventType, + DWORD dwEventDataLength, + BYTE *pEventData, + BSTR bstrBaseUrl, + IUnknown *pInitContext, + IESEvent **ppESEvent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESEventFactory, 0x506a09b8, 0x7f86, 0x4e04, 0xac,0x05, 0x33,0x03,0xbf,0xe8,0xfc,0x49) +#endif +#else +typedef struct IESEventFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESEventFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESEventFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESEventFactory *This); + + /*** IESEventFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateESEvent)( + IESEventFactory *This, + IUnknown *pServiceProvider, + DWORD dwEventId, + GUID guidEventType, + DWORD dwEventDataLength, + BYTE *pEventData, + BSTR bstrBaseUrl, + IUnknown *pInitContext, + IESEvent **ppESEvent); + + END_INTERFACE +} IESEventFactoryVtbl; + +interface IESEventFactory { + CONST_VTBL IESEventFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESEventFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESEventFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESEventFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IESEventFactory methods ***/ +#define IESEventFactory_CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent) (This)->lpVtbl->CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESEventFactory_QueryInterface(IESEventFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESEventFactory_AddRef(IESEventFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESEventFactory_Release(IESEventFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IESEventFactory methods ***/ +static inline HRESULT IESEventFactory_CreateESEvent(IESEventFactory* This,IUnknown *pServiceProvider,DWORD dwEventId,GUID guidEventType,DWORD dwEventDataLength,BYTE *pEventData,BSTR bstrBaseUrl,IUnknown *pInitContext,IESEvent **ppESEvent) { + return This->lpVtbl->CreateESEvent(This,pServiceProvider,dwEventId,guidEventType,dwEventDataLength,pEventData,bstrBaseUrl,pInitContext,ppESEvent); +} +#endif +#endif + +#endif + + +#endif /* __IESEventFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESLicenseRenewalResultEvent interface + */ +#ifndef __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__ +#define __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESLicenseRenewalResultEvent, 0xd5a48ef5, 0xa81b, 0x4df0, 0xac,0xaa, 0x5e,0x35,0xe7,0xea,0x45,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d5a48ef5-a81b-4df0-acaa-5e35e7ea45d4") +IESLicenseRenewalResultEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetCallersId( + DWORD *pdwCallersId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileName( + BSTR *pbstrFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsRenewalSuccessful( + WINBOOL *pfRenewalSuccessful) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsCheckEntitlementCallRequired( + WINBOOL *pfCheckEntTokenCallNeeded) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDescrambledStatus( + DWORD *pDescrambledStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenewalResultCode( + DWORD *pdwRenewalResultCode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCASFailureCode( + DWORD *pdwCASFailureCode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenewalHResult( + HRESULT *phr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEntitlementTokenLength( + DWORD *pdwLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEntitlementToken( + SAFEARRAY **pbData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExpiryDate( + DWORD64 *pqwExpiryDate) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESLicenseRenewalResultEvent, 0xd5a48ef5, 0xa81b, 0x4df0, 0xac,0xaa, 0x5e,0x35,0xe7,0xea,0x45,0xd4) +#endif +#else +typedef struct IESLicenseRenewalResultEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESLicenseRenewalResultEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESLicenseRenewalResultEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESLicenseRenewalResultEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESLicenseRenewalResultEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESLicenseRenewalResultEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESLicenseRenewalResultEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESLicenseRenewalResultEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESLicenseRenewalResultEvent *This, + BSTR *pbstrData); + + /*** IESLicenseRenewalResultEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCallersId)( + IESLicenseRenewalResultEvent *This, + DWORD *pdwCallersId); + + HRESULT (STDMETHODCALLTYPE *GetFileName)( + IESLicenseRenewalResultEvent *This, + BSTR *pbstrFilename); + + HRESULT (STDMETHODCALLTYPE *IsRenewalSuccessful)( + IESLicenseRenewalResultEvent *This, + WINBOOL *pfRenewalSuccessful); + + HRESULT (STDMETHODCALLTYPE *IsCheckEntitlementCallRequired)( + IESLicenseRenewalResultEvent *This, + WINBOOL *pfCheckEntTokenCallNeeded); + + HRESULT (STDMETHODCALLTYPE *GetDescrambledStatus)( + IESLicenseRenewalResultEvent *This, + DWORD *pDescrambledStatus); + + HRESULT (STDMETHODCALLTYPE *GetRenewalResultCode)( + IESLicenseRenewalResultEvent *This, + DWORD *pdwRenewalResultCode); + + HRESULT (STDMETHODCALLTYPE *GetCASFailureCode)( + IESLicenseRenewalResultEvent *This, + DWORD *pdwCASFailureCode); + + HRESULT (STDMETHODCALLTYPE *GetRenewalHResult)( + IESLicenseRenewalResultEvent *This, + HRESULT *phr); + + HRESULT (STDMETHODCALLTYPE *GetEntitlementTokenLength)( + IESLicenseRenewalResultEvent *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetEntitlementToken)( + IESLicenseRenewalResultEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetExpiryDate)( + IESLicenseRenewalResultEvent *This, + DWORD64 *pqwExpiryDate); + + END_INTERFACE +} IESLicenseRenewalResultEventVtbl; + +interface IESLicenseRenewalResultEvent { + CONST_VTBL IESLicenseRenewalResultEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESLicenseRenewalResultEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESLicenseRenewalResultEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESLicenseRenewalResultEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESLicenseRenewalResultEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESLicenseRenewalResultEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESLicenseRenewalResultEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESLicenseRenewalResultEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESLicenseRenewalResultEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESLicenseRenewalResultEvent methods ***/ +#define IESLicenseRenewalResultEvent_GetCallersId(This,pdwCallersId) (This)->lpVtbl->GetCallersId(This,pdwCallersId) +#define IESLicenseRenewalResultEvent_GetFileName(This,pbstrFilename) (This)->lpVtbl->GetFileName(This,pbstrFilename) +#define IESLicenseRenewalResultEvent_IsRenewalSuccessful(This,pfRenewalSuccessful) (This)->lpVtbl->IsRenewalSuccessful(This,pfRenewalSuccessful) +#define IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded) (This)->lpVtbl->IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded) +#define IESLicenseRenewalResultEvent_GetDescrambledStatus(This,pDescrambledStatus) (This)->lpVtbl->GetDescrambledStatus(This,pDescrambledStatus) +#define IESLicenseRenewalResultEvent_GetRenewalResultCode(This,pdwRenewalResultCode) (This)->lpVtbl->GetRenewalResultCode(This,pdwRenewalResultCode) +#define IESLicenseRenewalResultEvent_GetCASFailureCode(This,pdwCASFailureCode) (This)->lpVtbl->GetCASFailureCode(This,pdwCASFailureCode) +#define IESLicenseRenewalResultEvent_GetRenewalHResult(This,phr) (This)->lpVtbl->GetRenewalHResult(This,phr) +#define IESLicenseRenewalResultEvent_GetEntitlementTokenLength(This,pdwLength) (This)->lpVtbl->GetEntitlementTokenLength(This,pdwLength) +#define IESLicenseRenewalResultEvent_GetEntitlementToken(This,pbData) (This)->lpVtbl->GetEntitlementToken(This,pbData) +#define IESLicenseRenewalResultEvent_GetExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetExpiryDate(This,pqwExpiryDate) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESLicenseRenewalResultEvent_QueryInterface(IESLicenseRenewalResultEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESLicenseRenewalResultEvent_AddRef(IESLicenseRenewalResultEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESLicenseRenewalResultEvent_Release(IESLicenseRenewalResultEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESLicenseRenewalResultEvent_GetEventId(IESLicenseRenewalResultEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetEventType(IESLicenseRenewalResultEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESLicenseRenewalResultEvent_SetCompletionStatus(IESLicenseRenewalResultEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetData(IESLicenseRenewalResultEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetStringData(IESLicenseRenewalResultEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESLicenseRenewalResultEvent methods ***/ +static inline HRESULT IESLicenseRenewalResultEvent_GetCallersId(IESLicenseRenewalResultEvent* This,DWORD *pdwCallersId) { + return This->lpVtbl->GetCallersId(This,pdwCallersId); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetFileName(IESLicenseRenewalResultEvent* This,BSTR *pbstrFilename) { + return This->lpVtbl->GetFileName(This,pbstrFilename); +} +static inline HRESULT IESLicenseRenewalResultEvent_IsRenewalSuccessful(IESLicenseRenewalResultEvent* This,WINBOOL *pfRenewalSuccessful) { + return This->lpVtbl->IsRenewalSuccessful(This,pfRenewalSuccessful); +} +static inline HRESULT IESLicenseRenewalResultEvent_IsCheckEntitlementCallRequired(IESLicenseRenewalResultEvent* This,WINBOOL *pfCheckEntTokenCallNeeded) { + return This->lpVtbl->IsCheckEntitlementCallRequired(This,pfCheckEntTokenCallNeeded); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetDescrambledStatus(IESLicenseRenewalResultEvent* This,DWORD *pDescrambledStatus) { + return This->lpVtbl->GetDescrambledStatus(This,pDescrambledStatus); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetRenewalResultCode(IESLicenseRenewalResultEvent* This,DWORD *pdwRenewalResultCode) { + return This->lpVtbl->GetRenewalResultCode(This,pdwRenewalResultCode); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetCASFailureCode(IESLicenseRenewalResultEvent* This,DWORD *pdwCASFailureCode) { + return This->lpVtbl->GetCASFailureCode(This,pdwCASFailureCode); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetRenewalHResult(IESLicenseRenewalResultEvent* This,HRESULT *phr) { + return This->lpVtbl->GetRenewalHResult(This,phr); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetEntitlementTokenLength(IESLicenseRenewalResultEvent* This,DWORD *pdwLength) { + return This->lpVtbl->GetEntitlementTokenLength(This,pdwLength); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetEntitlementToken(IESLicenseRenewalResultEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetEntitlementToken(This,pbData); +} +static inline HRESULT IESLicenseRenewalResultEvent_GetExpiryDate(IESLicenseRenewalResultEvent* This,DWORD64 *pqwExpiryDate) { + return This->lpVtbl->GetExpiryDate(This,pqwExpiryDate); +} +#endif +#endif + +#endif + + +#endif /* __IESLicenseRenewalResultEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESFileExpiryDateEvent interface + */ +#ifndef __IESFileExpiryDateEvent_INTERFACE_DEFINED__ +#define __IESFileExpiryDateEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESFileExpiryDateEvent, 0xba9edcb6, 0x4d36, 0x4cfe, 0x8c,0x56, 0x87,0xa6,0xb0,0xca,0x48,0xe1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ba9edcb6-4d36-4cfe-8c56-87a6b0ca48e1") +IESFileExpiryDateEvent : public IESEvent +{ + virtual HRESULT STDMETHODCALLTYPE GetTunerId( + GUID *pguidTunerId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExpiryDate( + DWORD64 *pqwExpiryDate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalExpiryDate( + DWORD64 *pqwExpiryDate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxRenewalCount( + DWORD *dwMaxRenewalCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsEntitlementTokenPresent( + WINBOOL *pfEntTokenPresent) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesExpireAfterFirstUse( + WINBOOL *pfExpireAfterFirstUse) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESFileExpiryDateEvent, 0xba9edcb6, 0x4d36, 0x4cfe, 0x8c,0x56, 0x87,0xa6,0xb0,0xca,0x48,0xe1) +#endif +#else +typedef struct IESFileExpiryDateEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESFileExpiryDateEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESFileExpiryDateEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESFileExpiryDateEvent *This); + + /*** IESEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEventId)( + IESFileExpiryDateEvent *This, + DWORD *pdwEventId); + + HRESULT (STDMETHODCALLTYPE *GetEventType)( + IESFileExpiryDateEvent *This, + GUID *pguidEventType); + + HRESULT (STDMETHODCALLTYPE *SetCompletionStatus)( + IESFileExpiryDateEvent *This, + DWORD dwResult); + + HRESULT (STDMETHODCALLTYPE *GetData)( + IESFileExpiryDateEvent *This, + SAFEARRAY **pbData); + + HRESULT (STDMETHODCALLTYPE *GetStringData)( + IESFileExpiryDateEvent *This, + BSTR *pbstrData); + + /*** IESFileExpiryDateEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTunerId)( + IESFileExpiryDateEvent *This, + GUID *pguidTunerId); + + HRESULT (STDMETHODCALLTYPE *GetExpiryDate)( + IESFileExpiryDateEvent *This, + DWORD64 *pqwExpiryDate); + + HRESULT (STDMETHODCALLTYPE *GetFinalExpiryDate)( + IESFileExpiryDateEvent *This, + DWORD64 *pqwExpiryDate); + + HRESULT (STDMETHODCALLTYPE *GetMaxRenewalCount)( + IESFileExpiryDateEvent *This, + DWORD *dwMaxRenewalCount); + + HRESULT (STDMETHODCALLTYPE *IsEntitlementTokenPresent)( + IESFileExpiryDateEvent *This, + WINBOOL *pfEntTokenPresent); + + HRESULT (STDMETHODCALLTYPE *DoesExpireAfterFirstUse)( + IESFileExpiryDateEvent *This, + WINBOOL *pfExpireAfterFirstUse); + + END_INTERFACE +} IESFileExpiryDateEventVtbl; + +interface IESFileExpiryDateEvent { + CONST_VTBL IESFileExpiryDateEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESFileExpiryDateEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESFileExpiryDateEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESFileExpiryDateEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvent methods ***/ +#define IESFileExpiryDateEvent_GetEventId(This,pdwEventId) (This)->lpVtbl->GetEventId(This,pdwEventId) +#define IESFileExpiryDateEvent_GetEventType(This,pguidEventType) (This)->lpVtbl->GetEventType(This,pguidEventType) +#define IESFileExpiryDateEvent_SetCompletionStatus(This,dwResult) (This)->lpVtbl->SetCompletionStatus(This,dwResult) +#define IESFileExpiryDateEvent_GetData(This,pbData) (This)->lpVtbl->GetData(This,pbData) +#define IESFileExpiryDateEvent_GetStringData(This,pbstrData) (This)->lpVtbl->GetStringData(This,pbstrData) +/*** IESFileExpiryDateEvent methods ***/ +#define IESFileExpiryDateEvent_GetTunerId(This,pguidTunerId) (This)->lpVtbl->GetTunerId(This,pguidTunerId) +#define IESFileExpiryDateEvent_GetExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetExpiryDate(This,pqwExpiryDate) +#define IESFileExpiryDateEvent_GetFinalExpiryDate(This,pqwExpiryDate) (This)->lpVtbl->GetFinalExpiryDate(This,pqwExpiryDate) +#define IESFileExpiryDateEvent_GetMaxRenewalCount(This,dwMaxRenewalCount) (This)->lpVtbl->GetMaxRenewalCount(This,dwMaxRenewalCount) +#define IESFileExpiryDateEvent_IsEntitlementTokenPresent(This,pfEntTokenPresent) (This)->lpVtbl->IsEntitlementTokenPresent(This,pfEntTokenPresent) +#define IESFileExpiryDateEvent_DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse) (This)->lpVtbl->DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESFileExpiryDateEvent_QueryInterface(IESFileExpiryDateEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESFileExpiryDateEvent_AddRef(IESFileExpiryDateEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESFileExpiryDateEvent_Release(IESFileExpiryDateEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvent methods ***/ +static inline HRESULT IESFileExpiryDateEvent_GetEventId(IESFileExpiryDateEvent* This,DWORD *pdwEventId) { + return This->lpVtbl->GetEventId(This,pdwEventId); +} +static inline HRESULT IESFileExpiryDateEvent_GetEventType(IESFileExpiryDateEvent* This,GUID *pguidEventType) { + return This->lpVtbl->GetEventType(This,pguidEventType); +} +static inline HRESULT IESFileExpiryDateEvent_SetCompletionStatus(IESFileExpiryDateEvent* This,DWORD dwResult) { + return This->lpVtbl->SetCompletionStatus(This,dwResult); +} +static inline HRESULT IESFileExpiryDateEvent_GetData(IESFileExpiryDateEvent* This,SAFEARRAY **pbData) { + return This->lpVtbl->GetData(This,pbData); +} +static inline HRESULT IESFileExpiryDateEvent_GetStringData(IESFileExpiryDateEvent* This,BSTR *pbstrData) { + return This->lpVtbl->GetStringData(This,pbstrData); +} +/*** IESFileExpiryDateEvent methods ***/ +static inline HRESULT IESFileExpiryDateEvent_GetTunerId(IESFileExpiryDateEvent* This,GUID *pguidTunerId) { + return This->lpVtbl->GetTunerId(This,pguidTunerId); +} +static inline HRESULT IESFileExpiryDateEvent_GetExpiryDate(IESFileExpiryDateEvent* This,DWORD64 *pqwExpiryDate) { + return This->lpVtbl->GetExpiryDate(This,pqwExpiryDate); +} +static inline HRESULT IESFileExpiryDateEvent_GetFinalExpiryDate(IESFileExpiryDateEvent* This,DWORD64 *pqwExpiryDate) { + return This->lpVtbl->GetFinalExpiryDate(This,pqwExpiryDate); +} +static inline HRESULT IESFileExpiryDateEvent_GetMaxRenewalCount(IESFileExpiryDateEvent* This,DWORD *dwMaxRenewalCount) { + return This->lpVtbl->GetMaxRenewalCount(This,dwMaxRenewalCount); +} +static inline HRESULT IESFileExpiryDateEvent_IsEntitlementTokenPresent(IESFileExpiryDateEvent* This,WINBOOL *pfEntTokenPresent) { + return This->lpVtbl->IsEntitlementTokenPresent(This,pfEntTokenPresent); +} +static inline HRESULT IESFileExpiryDateEvent_DoesExpireAfterFirstUse(IESFileExpiryDateEvent* This,WINBOOL *pfExpireAfterFirstUse) { + return This->lpVtbl->DoesExpireAfterFirstUse(This,pfExpireAfterFirstUse); +} +#endif +#endif + +#endif + + +#endif /* __IESFileExpiryDateEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESEvents interface + */ +#ifndef __IESEvents_INTERFACE_DEFINED__ +#define __IESEvents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESEvents, 0xabd414bf, 0xcfe5, 0x4e5e, 0xaf,0x5b, 0x4b,0x4e,0x49,0xc5,0xbf,0xeb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("abd414bf-cfe5-4e5e-af5b-4b4e49c5bfeb") +IESEvents : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnESEventReceived( + GUID guidEventType, + IESEvent *pESEvent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESEvents, 0xabd414bf, 0xcfe5, 0x4e5e, 0xaf,0x5b, 0x4b,0x4e,0x49,0xc5,0xbf,0xeb) +#endif +#else +typedef struct IESEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESEvents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESEvents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESEvents *This); + + /*** IESEvents methods ***/ + HRESULT (STDMETHODCALLTYPE *OnESEventReceived)( + IESEvents *This, + GUID guidEventType, + IESEvent *pESEvent); + + END_INTERFACE +} IESEventsVtbl; + +interface IESEvents { + CONST_VTBL IESEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESEvents_Release(This) (This)->lpVtbl->Release(This) +/*** IESEvents methods ***/ +#define IESEvents_OnESEventReceived(This,guidEventType,pESEvent) (This)->lpVtbl->OnESEventReceived(This,guidEventType,pESEvent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESEvents_QueryInterface(IESEvents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESEvents_AddRef(IESEvents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESEvents_Release(IESEvents* This) { + return This->lpVtbl->Release(This); +} +/*** IESEvents methods ***/ +static inline HRESULT IESEvents_OnESEventReceived(IESEvents* This,GUID guidEventType,IESEvent *pESEvent) { + return This->lpVtbl->OnESEventReceived(This,guidEventType,pESEvent); +} +#endif +#endif + +#endif + + +#endif /* __IESEvents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESEventService interface + */ +#ifndef __IESEventService_INTERFACE_DEFINED__ +#define __IESEventService_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESEventService, 0xed89a619, 0x4c06, 0x4b2f, 0x99,0xeb, 0xc7,0x66,0x9b,0x13,0x04,0x7c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ed89a619-4c06-4b2f-99eb-c7669b13047c") +IESEventService : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FireESEvent( + IESEvent *pESEvent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESEventService, 0xed89a619, 0x4c06, 0x4b2f, 0x99,0xeb, 0xc7,0x66,0x9b,0x13,0x04,0x7c) +#endif +#else +typedef struct IESEventServiceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESEventService *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESEventService *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESEventService *This); + + /*** IESEventService methods ***/ + HRESULT (STDMETHODCALLTYPE *FireESEvent)( + IESEventService *This, + IESEvent *pESEvent); + + END_INTERFACE +} IESEventServiceVtbl; + +interface IESEventService { + CONST_VTBL IESEventServiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESEventService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESEventService_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESEventService_Release(This) (This)->lpVtbl->Release(This) +/*** IESEventService methods ***/ +#define IESEventService_FireESEvent(This,pESEvent) (This)->lpVtbl->FireESEvent(This,pESEvent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESEventService_QueryInterface(IESEventService* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESEventService_AddRef(IESEventService* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESEventService_Release(IESEventService* This) { + return This->lpVtbl->Release(This); +} +/*** IESEventService methods ***/ +static inline HRESULT IESEventService_FireESEvent(IESEventService* This,IESEvent *pESEvent) { + return This->lpVtbl->FireESEvent(This,pESEvent); +} +#endif +#endif + +#endif + + +#endif /* __IESEventService_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IESEventServiceConfiguration interface + */ +#ifndef __IESEventServiceConfiguration_INTERFACE_DEFINED__ +#define __IESEventServiceConfiguration_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IESEventServiceConfiguration, 0x33b9daae, 0x9309, 0x491d, 0xa0,0x51, 0xbc,0xad,0x2a,0x70,0xcd,0x66); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("33b9daae-9309-491d-a051-bcad2a70cd66") +IESEventServiceConfiguration : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetParent( + IESEventService *pEventService) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveParent( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOwner( + IESEvents *pESEvents) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveOwner( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGraph( + IFilterGraph *pGraph) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveGraph( + IFilterGraph *pGraph) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IESEventServiceConfiguration, 0x33b9daae, 0x9309, 0x491d, 0xa0,0x51, 0xbc,0xad,0x2a,0x70,0xcd,0x66) +#endif +#else +typedef struct IESEventServiceConfigurationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IESEventServiceConfiguration *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IESEventServiceConfiguration *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IESEventServiceConfiguration *This); + + /*** IESEventServiceConfiguration methods ***/ + HRESULT (STDMETHODCALLTYPE *SetParent)( + IESEventServiceConfiguration *This, + IESEventService *pEventService); + + HRESULT (STDMETHODCALLTYPE *RemoveParent)( + IESEventServiceConfiguration *This); + + HRESULT (STDMETHODCALLTYPE *SetOwner)( + IESEventServiceConfiguration *This, + IESEvents *pESEvents); + + HRESULT (STDMETHODCALLTYPE *RemoveOwner)( + IESEventServiceConfiguration *This); + + HRESULT (STDMETHODCALLTYPE *SetGraph)( + IESEventServiceConfiguration *This, + IFilterGraph *pGraph); + + HRESULT (STDMETHODCALLTYPE *RemoveGraph)( + IESEventServiceConfiguration *This, + IFilterGraph *pGraph); + + END_INTERFACE +} IESEventServiceConfigurationVtbl; + +interface IESEventServiceConfiguration { + CONST_VTBL IESEventServiceConfigurationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IESEventServiceConfiguration_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IESEventServiceConfiguration_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IESEventServiceConfiguration_Release(This) (This)->lpVtbl->Release(This) +/*** IESEventServiceConfiguration methods ***/ +#define IESEventServiceConfiguration_SetParent(This,pEventService) (This)->lpVtbl->SetParent(This,pEventService) +#define IESEventServiceConfiguration_RemoveParent(This) (This)->lpVtbl->RemoveParent(This) +#define IESEventServiceConfiguration_SetOwner(This,pESEvents) (This)->lpVtbl->SetOwner(This,pESEvents) +#define IESEventServiceConfiguration_RemoveOwner(This) (This)->lpVtbl->RemoveOwner(This) +#define IESEventServiceConfiguration_SetGraph(This,pGraph) (This)->lpVtbl->SetGraph(This,pGraph) +#define IESEventServiceConfiguration_RemoveGraph(This,pGraph) (This)->lpVtbl->RemoveGraph(This,pGraph) +#else +/*** IUnknown methods ***/ +static inline HRESULT IESEventServiceConfiguration_QueryInterface(IESEventServiceConfiguration* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IESEventServiceConfiguration_AddRef(IESEventServiceConfiguration* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IESEventServiceConfiguration_Release(IESEventServiceConfiguration* This) { + return This->lpVtbl->Release(This); +} +/*** IESEventServiceConfiguration methods ***/ +static inline HRESULT IESEventServiceConfiguration_SetParent(IESEventServiceConfiguration* This,IESEventService *pEventService) { + return This->lpVtbl->SetParent(This,pEventService); +} +static inline HRESULT IESEventServiceConfiguration_RemoveParent(IESEventServiceConfiguration* This) { + return This->lpVtbl->RemoveParent(This); +} +static inline HRESULT IESEventServiceConfiguration_SetOwner(IESEventServiceConfiguration* This,IESEvents *pESEvents) { + return This->lpVtbl->SetOwner(This,pESEvents); +} +static inline HRESULT IESEventServiceConfiguration_RemoveOwner(IESEventServiceConfiguration* This) { + return This->lpVtbl->RemoveOwner(This); +} +static inline HRESULT IESEventServiceConfiguration_SetGraph(IESEventServiceConfiguration* This,IFilterGraph *pGraph) { + return This->lpVtbl->SetGraph(This,pGraph); +} +static inline HRESULT IESEventServiceConfiguration_RemoveGraph(IESEventServiceConfiguration* This,IFilterGraph *pGraph) { + return This->lpVtbl->RemoveGraph(This,pGraph); +} +#endif +#endif + +#endif + + +#endif /* __IESEventServiceConfiguration_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBroadcastEvent interface + */ +#ifndef __IBroadcastEvent_INTERFACE_DEFINED__ +#define __IBroadcastEvent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBroadcastEvent, 0x3b21263f, 0x26e8, 0x489d, 0xaa,0xc4, 0x92,0x4f,0x7e,0xfd,0x95,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3b21263f-26e8-489d-aac4-924f7efd9511") +IBroadcastEvent : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Fire( + GUID EventID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBroadcastEvent, 0x3b21263f, 0x26e8, 0x489d, 0xaa,0xc4, 0x92,0x4f,0x7e,0xfd,0x95,0x11) +#endif +#else +typedef struct IBroadcastEventVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBroadcastEvent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBroadcastEvent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBroadcastEvent *This); + + /*** IBroadcastEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *Fire)( + IBroadcastEvent *This, + GUID EventID); + + END_INTERFACE +} IBroadcastEventVtbl; + +interface IBroadcastEvent { + CONST_VTBL IBroadcastEventVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBroadcastEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBroadcastEvent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBroadcastEvent_Release(This) (This)->lpVtbl->Release(This) +/*** IBroadcastEvent methods ***/ +#define IBroadcastEvent_Fire(This,EventID) (This)->lpVtbl->Fire(This,EventID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBroadcastEvent_QueryInterface(IBroadcastEvent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBroadcastEvent_AddRef(IBroadcastEvent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBroadcastEvent_Release(IBroadcastEvent* This) { + return This->lpVtbl->Release(This); +} +/*** IBroadcastEvent methods ***/ +static inline HRESULT IBroadcastEvent_Fire(IBroadcastEvent* This,GUID EventID) { + return This->lpVtbl->Fire(This,EventID); +} +#endif +#endif + +#endif + + +#endif /* __IBroadcastEvent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBroadcastEventEx interface + */ +#ifndef __IBroadcastEventEx_INTERFACE_DEFINED__ +#define __IBroadcastEventEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBroadcastEventEx, 0x3d9e3887, 0x1929, 0x423f, 0x80,0x21, 0x43,0x68,0x2d,0xe9,0x54,0x48); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3d9e3887-1929-423f-8021-43682de95448") +IBroadcastEventEx : public IBroadcastEvent +{ + virtual HRESULT STDMETHODCALLTYPE FireEx( + GUID EventID, + ULONG Param1, + ULONG Param2, + ULONG Param3, + ULONG Param4) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBroadcastEventEx, 0x3d9e3887, 0x1929, 0x423f, 0x80,0x21, 0x43,0x68,0x2d,0xe9,0x54,0x48) +#endif +#else +typedef struct IBroadcastEventExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBroadcastEventEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBroadcastEventEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBroadcastEventEx *This); + + /*** IBroadcastEvent methods ***/ + HRESULT (STDMETHODCALLTYPE *Fire)( + IBroadcastEventEx *This, + GUID EventID); + + /*** IBroadcastEventEx methods ***/ + HRESULT (STDMETHODCALLTYPE *FireEx)( + IBroadcastEventEx *This, + GUID EventID, + ULONG Param1, + ULONG Param2, + ULONG Param3, + ULONG Param4); + + END_INTERFACE +} IBroadcastEventExVtbl; + +interface IBroadcastEventEx { + CONST_VTBL IBroadcastEventExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBroadcastEventEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBroadcastEventEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBroadcastEventEx_Release(This) (This)->lpVtbl->Release(This) +/*** IBroadcastEvent methods ***/ +#define IBroadcastEventEx_Fire(This,EventID) (This)->lpVtbl->Fire(This,EventID) +/*** IBroadcastEventEx methods ***/ +#define IBroadcastEventEx_FireEx(This,EventID,Param1,Param2,Param3,Param4) (This)->lpVtbl->FireEx(This,EventID,Param1,Param2,Param3,Param4) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBroadcastEventEx_QueryInterface(IBroadcastEventEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBroadcastEventEx_AddRef(IBroadcastEventEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBroadcastEventEx_Release(IBroadcastEventEx* This) { + return This->lpVtbl->Release(This); +} +/*** IBroadcastEvent methods ***/ +static inline HRESULT IBroadcastEventEx_Fire(IBroadcastEventEx* This,GUID EventID) { + return This->lpVtbl->Fire(This,EventID); +} +/*** IBroadcastEventEx methods ***/ +static inline HRESULT IBroadcastEventEx_FireEx(IBroadcastEventEx* This,GUID EventID,ULONG Param1,ULONG Param2,ULONG Param3,ULONG Param4) { + return This->lpVtbl->FireEx(This,EventID,Param1,Param2,Param3,Param4); +} +#endif +#endif + +#endif + + +#endif /* __IBroadcastEventEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRegisterTuner interface + */ +#ifndef __IRegisterTuner_INTERFACE_DEFINED__ +#define __IRegisterTuner_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRegisterTuner, 0x359b3901, 0x572c, 0x4854, 0xbb,0x49, 0xcd,0xef,0x66,0x60,0x6a,0x25); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("359b3901-572c-4854-bb49-cdef66606a25") +IRegisterTuner : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Register( + ITuner *pTuner, + IGraphBuilder *pGraph) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unregister( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRegisterTuner, 0x359b3901, 0x572c, 0x4854, 0xbb,0x49, 0xcd,0xef,0x66,0x60,0x6a,0x25) +#endif +#else +typedef struct IRegisterTunerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRegisterTuner *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRegisterTuner *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRegisterTuner *This); + + /*** IRegisterTuner methods ***/ + HRESULT (STDMETHODCALLTYPE *Register)( + IRegisterTuner *This, + ITuner *pTuner, + IGraphBuilder *pGraph); + + HRESULT (STDMETHODCALLTYPE *Unregister)( + IRegisterTuner *This); + + END_INTERFACE +} IRegisterTunerVtbl; + +interface IRegisterTuner { + CONST_VTBL IRegisterTunerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRegisterTuner_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRegisterTuner_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRegisterTuner_Release(This) (This)->lpVtbl->Release(This) +/*** IRegisterTuner methods ***/ +#define IRegisterTuner_Register(This,pTuner,pGraph) (This)->lpVtbl->Register(This,pTuner,pGraph) +#define IRegisterTuner_Unregister(This) (This)->lpVtbl->Unregister(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRegisterTuner_QueryInterface(IRegisterTuner* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRegisterTuner_AddRef(IRegisterTuner* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRegisterTuner_Release(IRegisterTuner* This) { + return This->lpVtbl->Release(This); +} +/*** IRegisterTuner methods ***/ +static inline HRESULT IRegisterTuner_Register(IRegisterTuner* This,ITuner *pTuner,IGraphBuilder *pGraph) { + return This->lpVtbl->Register(This,pTuner,pGraph); +} +static inline HRESULT IRegisterTuner_Unregister(IRegisterTuner* This) { + return This->lpVtbl->Unregister(This); +} +#endif +#endif + +#endif + + +#endif /* __IRegisterTuner_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBDAComparable interface + */ +#ifndef __IBDAComparable_INTERFACE_DEFINED__ +#define __IBDAComparable_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBDAComparable, 0xb34505e0, 0x2f0e, 0x497b, 0x80,0xbc, 0xd4,0x3f,0x3b,0x24,0xed,0x7f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b34505e0-2f0e-497b-80bc-d43f3b24ed7f") +IBDAComparable : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CompareExact( + IDispatch *CompareTo, + LONG *Result) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareEquivalent( + IDispatch *CompareTo, + DWORD dwFlags, + LONG *Result) = 0; + + virtual HRESULT STDMETHODCALLTYPE HashExact( + INT64 *Result) = 0; + + virtual HRESULT STDMETHODCALLTYPE HashExactIncremental( + INT64 PartialResult, + INT64 *Result) = 0; + + virtual HRESULT STDMETHODCALLTYPE HashEquivalent( + DWORD dwFlags, + INT64 *Result) = 0; + + virtual HRESULT STDMETHODCALLTYPE HashEquivalentIncremental( + INT64 PartialResult, + DWORD dwFlags, + INT64 *Result) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBDAComparable, 0xb34505e0, 0x2f0e, 0x497b, 0x80,0xbc, 0xd4,0x3f,0x3b,0x24,0xed,0x7f) +#endif +#else +typedef struct IBDAComparableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBDAComparable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBDAComparable *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBDAComparable *This); + + /*** IBDAComparable methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareExact)( + IBDAComparable *This, + IDispatch *CompareTo, + LONG *Result); + + HRESULT (STDMETHODCALLTYPE *CompareEquivalent)( + IBDAComparable *This, + IDispatch *CompareTo, + DWORD dwFlags, + LONG *Result); + + HRESULT (STDMETHODCALLTYPE *HashExact)( + IBDAComparable *This, + INT64 *Result); + + HRESULT (STDMETHODCALLTYPE *HashExactIncremental)( + IBDAComparable *This, + INT64 PartialResult, + INT64 *Result); + + HRESULT (STDMETHODCALLTYPE *HashEquivalent)( + IBDAComparable *This, + DWORD dwFlags, + INT64 *Result); + + HRESULT (STDMETHODCALLTYPE *HashEquivalentIncremental)( + IBDAComparable *This, + INT64 PartialResult, + DWORD dwFlags, + INT64 *Result); + + END_INTERFACE +} IBDAComparableVtbl; + +interface IBDAComparable { + CONST_VTBL IBDAComparableVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBDAComparable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBDAComparable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBDAComparable_Release(This) (This)->lpVtbl->Release(This) +/*** IBDAComparable methods ***/ +#define IBDAComparable_CompareExact(This,CompareTo,Result) (This)->lpVtbl->CompareExact(This,CompareTo,Result) +#define IBDAComparable_CompareEquivalent(This,CompareTo,dwFlags,Result) (This)->lpVtbl->CompareEquivalent(This,CompareTo,dwFlags,Result) +#define IBDAComparable_HashExact(This,Result) (This)->lpVtbl->HashExact(This,Result) +#define IBDAComparable_HashExactIncremental(This,PartialResult,Result) (This)->lpVtbl->HashExactIncremental(This,PartialResult,Result) +#define IBDAComparable_HashEquivalent(This,dwFlags,Result) (This)->lpVtbl->HashEquivalent(This,dwFlags,Result) +#define IBDAComparable_HashEquivalentIncremental(This,PartialResult,dwFlags,Result) (This)->lpVtbl->HashEquivalentIncremental(This,PartialResult,dwFlags,Result) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBDAComparable_QueryInterface(IBDAComparable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBDAComparable_AddRef(IBDAComparable* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBDAComparable_Release(IBDAComparable* This) { + return This->lpVtbl->Release(This); +} +/*** IBDAComparable methods ***/ +static inline HRESULT IBDAComparable_CompareExact(IBDAComparable* This,IDispatch *CompareTo,LONG *Result) { + return This->lpVtbl->CompareExact(This,CompareTo,Result); +} +static inline HRESULT IBDAComparable_CompareEquivalent(IBDAComparable* This,IDispatch *CompareTo,DWORD dwFlags,LONG *Result) { + return This->lpVtbl->CompareEquivalent(This,CompareTo,dwFlags,Result); +} +static inline HRESULT IBDAComparable_HashExact(IBDAComparable* This,INT64 *Result) { + return This->lpVtbl->HashExact(This,Result); +} +static inline HRESULT IBDAComparable_HashExactIncremental(IBDAComparable* This,INT64 PartialResult,INT64 *Result) { + return This->lpVtbl->HashExactIncremental(This,PartialResult,Result); +} +static inline HRESULT IBDAComparable_HashEquivalent(IBDAComparable* This,DWORD dwFlags,INT64 *Result) { + return This->lpVtbl->HashEquivalent(This,dwFlags,Result); +} +static inline HRESULT IBDAComparable_HashEquivalentIncremental(IBDAComparable* This,INT64 PartialResult,DWORD dwFlags,INT64 *Result) { + return This->lpVtbl->HashEquivalentIncremental(This,PartialResult,dwFlags,Result); +} +#endif +#endif + +#endif + + +#endif /* __IBDAComparable_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IPersistTuneXml interface + */ +#ifndef __IPersistTuneXml_INTERFACE_DEFINED__ +#define __IPersistTuneXml_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IPersistTuneXml, 0x0754cd31, 0x8d15, 0x47a9, 0x82,0x15, 0xd2,0x00,0x64,0x15,0x72,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0754cd31-8d15-47a9-8215-d20064157244") +IPersistTuneXml : public IPersist +{ + virtual HRESULT STDMETHODCALLTYPE InitNew( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Load( + VARIANT varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE Save( + VARIANT *pvarFragment) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IPersistTuneXml, 0x0754cd31, 0x8d15, 0x47a9, 0x82,0x15, 0xd2,0x00,0x64,0x15,0x72,0x44) +#endif +#else +typedef struct IPersistTuneXmlVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPersistTuneXml *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPersistTuneXml *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPersistTuneXml *This); + + /*** IPersist methods ***/ + HRESULT (STDMETHODCALLTYPE *GetClassID)( + IPersistTuneXml *This, + CLSID *pClassID); + + /*** IPersistTuneXml methods ***/ + HRESULT (STDMETHODCALLTYPE *InitNew)( + IPersistTuneXml *This); + + HRESULT (STDMETHODCALLTYPE *Load)( + IPersistTuneXml *This, + VARIANT varValue); + + HRESULT (STDMETHODCALLTYPE *Save)( + IPersistTuneXml *This, + VARIANT *pvarFragment); + + END_INTERFACE +} IPersistTuneXmlVtbl; + +interface IPersistTuneXml { + CONST_VTBL IPersistTuneXmlVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IPersistTuneXml_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistTuneXml_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistTuneXml_Release(This) (This)->lpVtbl->Release(This) +/*** IPersist methods ***/ +#define IPersistTuneXml_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +/*** IPersistTuneXml methods ***/ +#define IPersistTuneXml_InitNew(This) (This)->lpVtbl->InitNew(This) +#define IPersistTuneXml_Load(This,varValue) (This)->lpVtbl->Load(This,varValue) +#define IPersistTuneXml_Save(This,pvarFragment) (This)->lpVtbl->Save(This,pvarFragment) +#else +/*** IUnknown methods ***/ +static inline HRESULT IPersistTuneXml_QueryInterface(IPersistTuneXml* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IPersistTuneXml_AddRef(IPersistTuneXml* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IPersistTuneXml_Release(IPersistTuneXml* This) { + return This->lpVtbl->Release(This); +} +/*** IPersist methods ***/ +static inline HRESULT IPersistTuneXml_GetClassID(IPersistTuneXml* This,CLSID *pClassID) { + return This->lpVtbl->GetClassID(This,pClassID); +} +/*** IPersistTuneXml methods ***/ +static inline HRESULT IPersistTuneXml_InitNew(IPersistTuneXml* This) { + return This->lpVtbl->InitNew(This); +} +static inline HRESULT IPersistTuneXml_Load(IPersistTuneXml* This,VARIANT varValue) { + return This->lpVtbl->Load(This,varValue); +} +static inline HRESULT IPersistTuneXml_Save(IPersistTuneXml* This,VARIANT *pvarFragment) { + return This->lpVtbl->Save(This,pvarFragment); +} +#endif +#endif + +#endif + + +#endif /* __IPersistTuneXml_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IPersistTuneXmlUtility interface + */ +#ifndef __IPersistTuneXmlUtility_INTERFACE_DEFINED__ +#define __IPersistTuneXmlUtility_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IPersistTuneXmlUtility, 0x990237ae, 0xac11, 0x4614, 0xbe,0x8f, 0xdd,0x21,0x7a,0x4c,0xb4,0xcb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("990237ae-ac11-4614-be8f-dd217a4cb4cb") +IPersistTuneXmlUtility : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Deserialize( + VARIANT varValue, + IUnknown **ppObject) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IPersistTuneXmlUtility, 0x990237ae, 0xac11, 0x4614, 0xbe,0x8f, 0xdd,0x21,0x7a,0x4c,0xb4,0xcb) +#endif +#else +typedef struct IPersistTuneXmlUtilityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPersistTuneXmlUtility *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPersistTuneXmlUtility *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPersistTuneXmlUtility *This); + + /*** IPersistTuneXmlUtility methods ***/ + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IPersistTuneXmlUtility *This, + VARIANT varValue, + IUnknown **ppObject); + + END_INTERFACE +} IPersistTuneXmlUtilityVtbl; + +interface IPersistTuneXmlUtility { + CONST_VTBL IPersistTuneXmlUtilityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IPersistTuneXmlUtility_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistTuneXmlUtility_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistTuneXmlUtility_Release(This) (This)->lpVtbl->Release(This) +/*** IPersistTuneXmlUtility methods ***/ +#define IPersistTuneXmlUtility_Deserialize(This,varValue,ppObject) (This)->lpVtbl->Deserialize(This,varValue,ppObject) +#else +/*** IUnknown methods ***/ +static inline HRESULT IPersistTuneXmlUtility_QueryInterface(IPersistTuneXmlUtility* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IPersistTuneXmlUtility_AddRef(IPersistTuneXmlUtility* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IPersistTuneXmlUtility_Release(IPersistTuneXmlUtility* This) { + return This->lpVtbl->Release(This); +} +/*** IPersistTuneXmlUtility methods ***/ +static inline HRESULT IPersistTuneXmlUtility_Deserialize(IPersistTuneXmlUtility* This,VARIANT varValue,IUnknown **ppObject) { + return This->lpVtbl->Deserialize(This,varValue,ppObject); +} +#endif +#endif + +#endif + + +#endif /* __IPersistTuneXmlUtility_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IPersistTuneXmlUtility2 interface + */ +#ifndef __IPersistTuneXmlUtility2_INTERFACE_DEFINED__ +#define __IPersistTuneXmlUtility2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IPersistTuneXmlUtility2, 0x992e165f, 0xea24, 0x4b2f, 0x9a,0x1d, 0x00,0x9d,0x92,0x12,0x04,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("992e165f-ea24-4b2f-9a1d-009d92120451") +IPersistTuneXmlUtility2 : public IPersistTuneXmlUtility +{ + virtual HRESULT STDMETHODCALLTYPE Serialize( + ITuneRequest *piTuneRequest, + BSTR *pString) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IPersistTuneXmlUtility2, 0x992e165f, 0xea24, 0x4b2f, 0x9a,0x1d, 0x00,0x9d,0x92,0x12,0x04,0x51) +#endif +#else +typedef struct IPersistTuneXmlUtility2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPersistTuneXmlUtility2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPersistTuneXmlUtility2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPersistTuneXmlUtility2 *This); + + /*** IPersistTuneXmlUtility methods ***/ + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IPersistTuneXmlUtility2 *This, + VARIANT varValue, + IUnknown **ppObject); + + /*** IPersistTuneXmlUtility2 methods ***/ + HRESULT (STDMETHODCALLTYPE *Serialize)( + IPersistTuneXmlUtility2 *This, + ITuneRequest *piTuneRequest, + BSTR *pString); + + END_INTERFACE +} IPersistTuneXmlUtility2Vtbl; + +interface IPersistTuneXmlUtility2 { + CONST_VTBL IPersistTuneXmlUtility2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IPersistTuneXmlUtility2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistTuneXmlUtility2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistTuneXmlUtility2_Release(This) (This)->lpVtbl->Release(This) +/*** IPersistTuneXmlUtility methods ***/ +#define IPersistTuneXmlUtility2_Deserialize(This,varValue,ppObject) (This)->lpVtbl->Deserialize(This,varValue,ppObject) +/*** IPersistTuneXmlUtility2 methods ***/ +#define IPersistTuneXmlUtility2_Serialize(This,piTuneRequest,pString) (This)->lpVtbl->Serialize(This,piTuneRequest,pString) +#else +/*** IUnknown methods ***/ +static inline HRESULT IPersistTuneXmlUtility2_QueryInterface(IPersistTuneXmlUtility2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IPersistTuneXmlUtility2_AddRef(IPersistTuneXmlUtility2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IPersistTuneXmlUtility2_Release(IPersistTuneXmlUtility2* This) { + return This->lpVtbl->Release(This); +} +/*** IPersistTuneXmlUtility methods ***/ +static inline HRESULT IPersistTuneXmlUtility2_Deserialize(IPersistTuneXmlUtility2* This,VARIANT varValue,IUnknown **ppObject) { + return This->lpVtbl->Deserialize(This,varValue,ppObject); +} +/*** IPersistTuneXmlUtility2 methods ***/ +static inline HRESULT IPersistTuneXmlUtility2_Serialize(IPersistTuneXmlUtility2* This,ITuneRequest *piTuneRequest,BSTR *pString) { + return This->lpVtbl->Serialize(This,piTuneRequest,pString); +} +#endif +#endif + +#endif + + +#endif /* __IPersistTuneXmlUtility2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBDACreateTuneRequestEx interface + */ +#ifndef __IBDACreateTuneRequestEx_INTERFACE_DEFINED__ +#define __IBDACreateTuneRequestEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBDACreateTuneRequestEx, 0xc0a4a1d4, 0x2b3c, 0x491a, 0xba,0x22, 0x49,0x9f,0xba,0xdd,0x4d,0x12); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c0a4a1d4-2b3c-491a-ba22-499fbadd4d12") +IBDACreateTuneRequestEx : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateTuneRequestEx( + REFCLSID TuneRequestIID, + ITuneRequest **TuneRequest) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBDACreateTuneRequestEx, 0xc0a4a1d4, 0x2b3c, 0x491a, 0xba,0x22, 0x49,0x9f,0xba,0xdd,0x4d,0x12) +#endif +#else +typedef struct IBDACreateTuneRequestExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBDACreateTuneRequestEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBDACreateTuneRequestEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBDACreateTuneRequestEx *This); + + /*** IBDACreateTuneRequestEx methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTuneRequestEx)( + IBDACreateTuneRequestEx *This, + REFCLSID TuneRequestIID, + ITuneRequest **TuneRequest); + + END_INTERFACE +} IBDACreateTuneRequestExVtbl; + +interface IBDACreateTuneRequestEx { + CONST_VTBL IBDACreateTuneRequestExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBDACreateTuneRequestEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBDACreateTuneRequestEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBDACreateTuneRequestEx_Release(This) (This)->lpVtbl->Release(This) +/*** IBDACreateTuneRequestEx methods ***/ +#define IBDACreateTuneRequestEx_CreateTuneRequestEx(This,TuneRequestIID,TuneRequest) (This)->lpVtbl->CreateTuneRequestEx(This,TuneRequestIID,TuneRequest) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBDACreateTuneRequestEx_QueryInterface(IBDACreateTuneRequestEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBDACreateTuneRequestEx_AddRef(IBDACreateTuneRequestEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBDACreateTuneRequestEx_Release(IBDACreateTuneRequestEx* This) { + return This->lpVtbl->Release(This); +} +/*** IBDACreateTuneRequestEx methods ***/ +static inline HRESULT IBDACreateTuneRequestEx_CreateTuneRequestEx(IBDACreateTuneRequestEx* This,REFCLSID TuneRequestIID,ITuneRequest **TuneRequest) { + return This->lpVtbl->CreateTuneRequestEx(This,TuneRequestIID,TuneRequest); +} +#endif +#endif + +#endif + + +#endif /* __IBDACreateTuneRequestEx_INTERFACE_DEFINED__ */ + +#ifndef __TunerLib_LIBRARY_DEFINED__ +#define __TunerLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_TunerLib, 0x9b085638, 0x018e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +/***************************************************************************** + * SystemTuningSpaces coclass + */ + +DEFINE_GUID(CLSID_SystemTuningSpaces, 0xd02aac50, 0x027e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +#ifdef __cplusplus +class DECLSPEC_UUID("d02aac50-027e-11d3-9d8e-00c04f72d980") SystemTuningSpaces; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SystemTuningSpaces, 0xd02aac50, 0x027e, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#endif + +/***************************************************************************** + * TuningSpace coclass + */ + +DEFINE_GUID(CLSID_TuningSpace, 0x5ffdc5e6, 0xb83a, 0x4b55, 0xb6,0xe8, 0xc6,0x9e,0x76,0x5f,0xe9,0xdb); + +#ifdef __cplusplus +class DECLSPEC_UUID("5ffdc5e6-b83a-4b55-b6e8-c69e765fe9db") TuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TuningSpace, 0x5ffdc5e6, 0xb83a, 0x4b55, 0xb6,0xe8, 0xc6,0x9e,0x76,0x5f,0xe9,0xdb) +#endif +#endif + +/***************************************************************************** + * ChannelIDTuningSpace coclass + */ + +DEFINE_GUID(CLSID_ChannelIDTuningSpace, 0xcc829a2f, 0x3365, 0x463f, 0xaf,0x13, 0x81,0xdb,0xb6,0xf3,0xa5,0x55); + +#ifdef __cplusplus +class DECLSPEC_UUID("cc829a2f-3365-463f-af13-81dbb6f3a555") ChannelIDTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ChannelIDTuningSpace, 0xcc829a2f, 0x3365, 0x463f, 0xaf,0x13, 0x81,0xdb,0xb6,0xf3,0xa5,0x55) +#endif +#endif + +/***************************************************************************** + * ATSCTuningSpace coclass + */ + +DEFINE_GUID(CLSID_ATSCTuningSpace, 0xa2e30750, 0x6c3d, 0x11d3, 0xb6,0x53, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("a2e30750-6c3d-11d3-b653-00c04f79498e") ATSCTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ATSCTuningSpace, 0xa2e30750, 0x6c3d, 0x11d3, 0xb6,0x53, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * DigitalCableTuningSpace coclass + */ + +DEFINE_GUID(CLSID_DigitalCableTuningSpace, 0xd9bb4cee, 0xb87a, 0x47f1, 0xac,0x92, 0xb0,0x8d,0x9c,0x78,0x13,0xfc); + +#ifdef __cplusplus +class DECLSPEC_UUID("d9bb4cee-b87a-47f1-ac92-b08d9c7813fc") DigitalCableTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DigitalCableTuningSpace, 0xd9bb4cee, 0xb87a, 0x47f1, 0xac,0x92, 0xb0,0x8d,0x9c,0x78,0x13,0xfc) +#endif +#endif + +/***************************************************************************** + * AnalogRadioTuningSpace coclass + */ + +DEFINE_GUID(CLSID_AnalogRadioTuningSpace, 0x8a674b4c, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("8a674b4c-1f63-11d3-b64c-00c04f79498e") AnalogRadioTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AnalogRadioTuningSpace, 0x8a674b4c, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * AuxInTuningSpace coclass + */ + +DEFINE_GUID(CLSID_AuxInTuningSpace, 0xf9769a06, 0x7aca, 0x4e39, 0x9c,0xfb, 0x97,0xbb,0x35,0xf0,0xe7,0x7e); + +#ifdef __cplusplus +class DECLSPEC_UUID("f9769a06-7aca-4e39-9cfb-97bb35f0e77e") AuxInTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AuxInTuningSpace, 0xf9769a06, 0x7aca, 0x4e39, 0x9c,0xfb, 0x97,0xbb,0x35,0xf0,0xe7,0x7e) +#endif +#endif + +/***************************************************************************** + * AnalogTVTuningSpace coclass + */ + +DEFINE_GUID(CLSID_AnalogTVTuningSpace, 0x8a674b4d, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("8a674b4d-1f63-11d3-b64c-00c04f79498e") AnalogTVTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AnalogTVTuningSpace, 0x8a674b4d, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * DVBTuningSpace coclass + */ + +DEFINE_GUID(CLSID_DVBTuningSpace, 0xc6b14b32, 0x76aa, 0x4a86, 0xa7,0xac, 0x5c,0x79,0xaa,0xf5,0x8d,0xa7); + +#ifdef __cplusplus +class DECLSPEC_UUID("c6b14b32-76aa-4a86-a7ac-5c79aaf58da7") DVBTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBTuningSpace, 0xc6b14b32, 0x76aa, 0x4a86, 0xa7,0xac, 0x5c,0x79,0xaa,0xf5,0x8d,0xa7) +#endif +#endif + +/***************************************************************************** + * DVBSTuningSpace coclass + */ + +DEFINE_GUID(CLSID_DVBSTuningSpace, 0xb64016f3, 0xc9a2, 0x4066, 0x96,0xf0, 0xbd,0x95,0x63,0x31,0x47,0x26); + +#ifdef __cplusplus +class DECLSPEC_UUID("b64016f3-c9a2-4066-96f0-bd9563314726") DVBSTuningSpace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBSTuningSpace, 0xb64016f3, 0xc9a2, 0x4066, 0x96,0xf0, 0xbd,0x95,0x63,0x31,0x47,0x26) +#endif +#endif + +/***************************************************************************** + * ComponentTypes coclass + */ + +DEFINE_GUID(CLSID_ComponentTypes, 0xa1a2b1c4, 0x0e3a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +#ifdef __cplusplus +class DECLSPEC_UUID("a1a2b1c4-0e3a-11d3-9d8e-00c04f72d980") ComponentTypes; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ComponentTypes, 0xa1a2b1c4, 0x0e3a, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#endif + +/***************************************************************************** + * ComponentType coclass + */ + +DEFINE_GUID(CLSID_ComponentType, 0x823535a0, 0x0318, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +#ifdef __cplusplus +class DECLSPEC_UUID("823535a0-0318-11d3-9d8e-00c04f72d980") ComponentType; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ComponentType, 0x823535a0, 0x0318, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#endif + +/***************************************************************************** + * LanguageComponentType coclass + */ + +DEFINE_GUID(CLSID_LanguageComponentType, 0x1be49f30, 0x0e1b, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +#ifdef __cplusplus +class DECLSPEC_UUID("1be49f30-0e1b-11d3-9d8e-00c04f72d980") LanguageComponentType; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(LanguageComponentType, 0x1be49f30, 0x0e1b, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#endif + +/***************************************************************************** + * MPEG2ComponentType coclass + */ + +DEFINE_GUID(CLSID_MPEG2ComponentType, 0x418008f3, 0xcf67, 0x4668, 0x96,0x28, 0x10,0xdc,0x52,0xbe,0x1d,0x08); + +#ifdef __cplusplus +class DECLSPEC_UUID("418008f3-cf67-4668-9628-10dc52be1d08") MPEG2ComponentType; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MPEG2ComponentType, 0x418008f3, 0xcf67, 0x4668, 0x96,0x28, 0x10,0xdc,0x52,0xbe,0x1d,0x08) +#endif +#endif + +/***************************************************************************** + * ATSCComponentType coclass + */ + +DEFINE_GUID(CLSID_ATSCComponentType, 0xa8dcf3d5, 0x0780, 0x4ef4, 0x8a,0x83, 0x2c,0xff,0xaa,0xcb,0x8a,0xce); + +#ifdef __cplusplus +class DECLSPEC_UUID("a8dcf3d5-0780-4ef4-8a83-2cffaacb8ace") ATSCComponentType; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ATSCComponentType, 0xa8dcf3d5, 0x0780, 0x4ef4, 0x8a,0x83, 0x2c,0xff,0xaa,0xcb,0x8a,0xce) +#endif +#endif + +/***************************************************************************** + * Components coclass + */ + +DEFINE_GUID(CLSID_Components, 0x809b6661, 0x94c4, 0x49e6, 0xb6,0xec, 0x3f,0x0f,0x86,0x22,0x15,0xaa); + +#ifdef __cplusplus +class DECLSPEC_UUID("809b6661-94c4-49e6-b6ec-3f0f862215aa") Components; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Components, 0x809b6661, 0x94c4, 0x49e6, 0xb6,0xec, 0x3f,0x0f,0x86,0x22,0x15,0xaa) +#endif +#endif + +/***************************************************************************** + * Component coclass + */ + +DEFINE_GUID(CLSID_Component, 0x59dc47a8, 0x116c, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80); + +#ifdef __cplusplus +class DECLSPEC_UUID("59dc47a8-116c-11d3-9d8e-00c04f72d980") Component; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Component, 0x59dc47a8, 0x116c, 0x11d3, 0x9d,0x8e, 0x00,0xc0,0x4f,0x72,0xd9,0x80) +#endif +#endif + +/***************************************************************************** + * MPEG2Component coclass + */ + +DEFINE_GUID(CLSID_MPEG2Component, 0x055cb2d7, 0x2969, 0x45cd, 0x91,0x4b, 0x76,0x89,0x07,0x22,0xf1,0x12); + +#ifdef __cplusplus +class DECLSPEC_UUID("055cb2d7-2969-45cd-914b-76890722f112") MPEG2Component; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MPEG2Component, 0x055cb2d7, 0x2969, 0x45cd, 0x91,0x4b, 0x76,0x89,0x07,0x22,0xf1,0x12) +#endif +#endif + +/***************************************************************************** + * AnalogAudioComponentType coclass + */ + +DEFINE_GUID(CLSID_AnalogAudioComponentType, 0x28ab0005, 0xe845, 0x4ffa, 0xaa,0x9b, 0xf4,0x66,0x52,0x36,0x14,0x1c); + +#ifdef __cplusplus +class DECLSPEC_UUID("28ab0005-e845-4ffa-aa9b-f4665236141c") AnalogAudioComponentType; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AnalogAudioComponentType, 0x28ab0005, 0xe845, 0x4ffa, 0xaa,0x9b, 0xf4,0x66,0x52,0x36,0x14,0x1c) +#endif +#endif + +/***************************************************************************** + * TuneRequest coclass + */ + +DEFINE_GUID(CLSID_TuneRequest, 0xb46e0d38, 0xab35, 0x4a06, 0xa1,0x37, 0x70,0x57,0x6b,0x01,0xb3,0x9f); + +#ifdef __cplusplus +class DECLSPEC_UUID("b46e0d38-ab35-4a06-a137-70576b01b39f") TuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TuneRequest, 0xb46e0d38, 0xab35, 0x4a06, 0xa1,0x37, 0x70,0x57,0x6b,0x01,0xb3,0x9f) +#endif +#endif + +/***************************************************************************** + * ChannelIDTuneRequest coclass + */ + +DEFINE_GUID(CLSID_ChannelIDTuneRequest, 0x3a9428a7, 0x31a4, 0x45e9, 0x9e,0xfb, 0xe0,0x55,0xbf,0x7b,0xb3,0xdb); + +#ifdef __cplusplus +class DECLSPEC_UUID("3a9428a7-31a4-45e9-9efb-e055bf7bb3db") ChannelIDTuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ChannelIDTuneRequest, 0x3a9428a7, 0x31a4, 0x45e9, 0x9e,0xfb, 0xe0,0x55,0xbf,0x7b,0xb3,0xdb) +#endif +#endif + +/***************************************************************************** + * ChannelTuneRequest coclass + */ + +DEFINE_GUID(CLSID_ChannelTuneRequest, 0x0369b4e5, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("0369b4e5-45b6-11d3-b650-00c04f79498e") ChannelTuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ChannelTuneRequest, 0x0369b4e5, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * ATSCChannelTuneRequest coclass + */ + +DEFINE_GUID(CLSID_ATSCChannelTuneRequest, 0x0369b4e6, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("0369b4e6-45b6-11d3-b650-00c04f79498e") ATSCChannelTuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ATSCChannelTuneRequest, 0x0369b4e6, 0x45b6, 0x11d3, 0xb6,0x50, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * DigitalCableTuneRequest coclass + */ + +DEFINE_GUID(CLSID_DigitalCableTuneRequest, 0x26ec0b63, 0xaa90, 0x458a, 0x8d,0xf4, 0x56,0x59,0xf2,0xc8,0xa1,0x8a); + +#ifdef __cplusplus +class DECLSPEC_UUID("26ec0b63-aa90-458a-8df4-5659f2c8a18a") DigitalCableTuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DigitalCableTuneRequest, 0x26ec0b63, 0xaa90, 0x458a, 0x8d,0xf4, 0x56,0x59,0xf2,0xc8,0xa1,0x8a) +#endif +#endif + +/***************************************************************************** + * MPEG2TuneRequest coclass + */ + +DEFINE_GUID(CLSID_MPEG2TuneRequest, 0x0955ac62, 0xbf2e, 0x4cba, 0xa2,0xb9, 0xa6,0x3f,0x77,0x2d,0x46,0xcf); + +#ifdef __cplusplus +class DECLSPEC_UUID("0955ac62-bf2e-4cba-a2b9-a63f772d46cf") MPEG2TuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MPEG2TuneRequest, 0x0955ac62, 0xbf2e, 0x4cba, 0xa2,0xb9, 0xa6,0x3f,0x77,0x2d,0x46,0xcf) +#endif +#endif + +/***************************************************************************** + * MPEG2TuneRequestFactory coclass + */ + +DEFINE_GUID(CLSID_MPEG2TuneRequestFactory, 0x2c63e4eb, 0x4cea, 0x41b8, 0x91,0x9c, 0xe9,0x47,0xea,0x19,0xa7,0x7c); + +#ifdef __cplusplus +class DECLSPEC_UUID("2c63e4eb-4cea-41b8-919c-e947ea19a77c") MPEG2TuneRequestFactory; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MPEG2TuneRequestFactory, 0x2c63e4eb, 0x4cea, 0x41b8, 0x91,0x9c, 0xe9,0x47,0xea,0x19,0xa7,0x7c) +#endif +#endif + +/***************************************************************************** + * Locator coclass + */ + +DEFINE_GUID(CLSID_Locator, 0x0888c883, 0xac4f, 0x4943, 0xb5,0x16, 0x2c,0x38,0xd9,0xb3,0x45,0x62); + +#ifdef __cplusplus +class DECLSPEC_UUID("0888c883-ac4f-4943-b516-2c38d9b34562") Locator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(Locator, 0x0888c883, 0xac4f, 0x4943, 0xb5,0x16, 0x2c,0x38,0xd9,0xb3,0x45,0x62) +#endif +#endif + +/***************************************************************************** + * DigitalLocator coclass + */ + +DEFINE_GUID(CLSID_DigitalLocator, 0x6e50cc0d, 0xc19b, 0x4bf6, 0x81,0x0b, 0x5b,0xd6,0x07,0x61,0xf5,0xcc); + +#ifdef __cplusplus +class DECLSPEC_UUID("6e50cc0d-c19b-4bf6-810b-5bd60761f5cc") DigitalLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DigitalLocator, 0x6e50cc0d, 0xc19b, 0x4bf6, 0x81,0x0b, 0x5b,0xd6,0x07,0x61,0xf5,0xcc) +#endif +#endif + +/***************************************************************************** + * AnalogLocator coclass + */ + +DEFINE_GUID(CLSID_AnalogLocator, 0x49638b91, 0x48ab, 0x48b7, 0xa4,0x7a, 0x7d,0x0e,0x75,0xa0,0x8e,0xde); + +#ifdef __cplusplus +class DECLSPEC_UUID("49638b91-48ab-48b7-a47a-7d0e75a08ede") AnalogLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AnalogLocator, 0x49638b91, 0x48ab, 0x48b7, 0xa4,0x7a, 0x7d,0x0e,0x75,0xa0,0x8e,0xde) +#endif +#endif + +/***************************************************************************** + * ATSCLocator coclass + */ + +DEFINE_GUID(CLSID_ATSCLocator, 0x8872ff1b, 0x98fa, 0x4d7a, 0x8d,0x93, 0xc9,0xf1,0x05,0x5f,0x85,0xbb); + +#ifdef __cplusplus +class DECLSPEC_UUID("8872ff1b-98fa-4d7a-8d93-c9f1055f85bb") ATSCLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ATSCLocator, 0x8872ff1b, 0x98fa, 0x4d7a, 0x8d,0x93, 0xc9,0xf1,0x05,0x5f,0x85,0xbb) +#endif +#endif + +/***************************************************************************** + * DigitalCableLocator coclass + */ + +DEFINE_GUID(CLSID_DigitalCableLocator, 0x03c06416, 0xd127, 0x407a, 0xab,0x4c, 0xfd,0xd2,0x79,0xab,0xbe,0x5d); + +#ifdef __cplusplus +class DECLSPEC_UUID("03c06416-d127-407a-ab4c-fdd279abbe5d") DigitalCableLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DigitalCableLocator, 0x03c06416, 0xd127, 0x407a, 0xab,0x4c, 0xfd,0xd2,0x79,0xab,0xbe,0x5d) +#endif +#endif + +/***************************************************************************** + * DVBTLocator coclass + */ + +DEFINE_GUID(CLSID_DVBTLocator, 0x9cd64701, 0xbdf3, 0x4d14, 0x8e,0x03, 0xf1,0x29,0x83,0xd8,0x66,0x64); + +#ifdef __cplusplus +class DECLSPEC_UUID("9cd64701-bdf3-4d14-8e03-f12983d86664") DVBTLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBTLocator, 0x9cd64701, 0xbdf3, 0x4d14, 0x8e,0x03, 0xf1,0x29,0x83,0xd8,0x66,0x64) +#endif +#endif + +/***************************************************************************** + * DVBTLocator2 coclass + */ + +DEFINE_GUID(CLSID_DVBTLocator2, 0xefe3fa02, 0x45d7, 0x4920, 0xbe,0x96, 0x53,0xfa,0x7f,0x35,0xb0,0xe6); + +#ifdef __cplusplus +class DECLSPEC_UUID("efe3fa02-45d7-4920-be96-53fa7f35b0e6") DVBTLocator2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBTLocator2, 0xefe3fa02, 0x45d7, 0x4920, 0xbe,0x96, 0x53,0xfa,0x7f,0x35,0xb0,0xe6) +#endif +#endif + +/***************************************************************************** + * DVBSLocator coclass + */ + +DEFINE_GUID(CLSID_DVBSLocator, 0x1df7d126, 0x4050, 0x47f0, 0xa7,0xcf, 0x4c,0x4c,0xa9,0x24,0x13,0x33); + +#ifdef __cplusplus +class DECLSPEC_UUID("1df7d126-4050-47f0-a7cf-4c4ca9241333") DVBSLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBSLocator, 0x1df7d126, 0x4050, 0x47f0, 0xa7,0xcf, 0x4c,0x4c,0xa9,0x24,0x13,0x33) +#endif +#endif + +/***************************************************************************** + * DVBCLocator coclass + */ + +DEFINE_GUID(CLSID_DVBCLocator, 0xc531d9fd, 0x9685, 0x4028, 0x8b,0x68, 0x6e,0x12,0x32,0x07,0x9f,0x1e); + +#ifdef __cplusplus +class DECLSPEC_UUID("c531d9fd-9685-4028-8b68-6e1232079f1e") DVBCLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBCLocator, 0xc531d9fd, 0x9685, 0x4028, 0x8b,0x68, 0x6e,0x12,0x32,0x07,0x9f,0x1e) +#endif +#endif + +/***************************************************************************** + * ISDBSLocator coclass + */ + +DEFINE_GUID(CLSID_ISDBSLocator, 0x6504afed, 0xa629, 0x455c, 0xa7,0xf1, 0x04,0x96,0x4d,0xea,0x5c,0xc4); + +#ifdef __cplusplus +class DECLSPEC_UUID("6504afed-a629-455c-a7f1-04964dea5cc4") ISDBSLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISDBSLocator, 0x6504afed, 0xa629, 0x455c, 0xa7,0xf1, 0x04,0x96,0x4d,0xea,0x5c,0xc4) +#endif +#endif + +/***************************************************************************** + * DVBTuneRequest coclass + */ + +DEFINE_GUID(CLSID_DVBTuneRequest, 0x15d6504a, 0x5494, 0x499c, 0x88,0x6c, 0x97,0x3c,0x9e,0x53,0xb9,0xf1); + +#ifdef __cplusplus +class DECLSPEC_UUID("15d6504a-5494-499c-886c-973c9e53b9f1") DVBTuneRequest; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(DVBTuneRequest, 0x15d6504a, 0x5494, 0x499c, 0x88,0x6c, 0x97,0x3c,0x9e,0x53,0xb9,0xf1) +#endif +#endif + +/***************************************************************************** + * CreatePropBagOnRegKey coclass + */ + +DEFINE_GUID(CLSID_CreatePropBagOnRegKey, 0x8a674b49, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e); + +#ifdef __cplusplus +class DECLSPEC_UUID("8a674b49-1f63-11d3-b64c-00c04f79498e") CreatePropBagOnRegKey; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CreatePropBagOnRegKey, 0x8a674b49, 0x1f63, 0x11d3, 0xb6,0x4c, 0x00,0xc0,0x4f,0x79,0x49,0x8e) +#endif +#endif + +/***************************************************************************** + * BroadcastEventService coclass + */ + +DEFINE_GUID(CLSID_BroadcastEventService, 0x0b3ffb92, 0x0919, 0x4934, 0x9d,0x5b, 0x61,0x9c,0x71,0x9d,0x02,0x02); + +#ifdef __cplusplus +class DECLSPEC_UUID("0b3ffb92-0919-4934-9d5b-619c719d0202") BroadcastEventService; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(BroadcastEventService, 0x0b3ffb92, 0x0919, 0x4934, 0x9d,0x5b, 0x61,0x9c,0x71,0x9d,0x02,0x02) +#endif +#endif + +/***************************************************************************** + * TunerMarshaler coclass + */ + +DEFINE_GUID(CLSID_TunerMarshaler, 0x6438570b, 0x0c08, 0x4a25, 0x95,0x04, 0x80,0x12,0xbb,0x4d,0x50,0xcf); + +#ifdef __cplusplus +class DECLSPEC_UUID("6438570b-0c08-4a25-9504-8012bb4d50cf") TunerMarshaler; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TunerMarshaler, 0x6438570b, 0x0c08, 0x4a25, 0x95,0x04, 0x80,0x12,0xbb,0x4d,0x50,0xcf) +#endif +#endif + +/***************************************************************************** + * PersistTuneXmlUtility coclass + */ + +DEFINE_GUID(CLSID_PersistTuneXmlUtility, 0xe77026b0, 0xb97f, 0x4cbb, 0xb7,0xfb, 0xf4,0xf0,0x3a,0xd6,0x9f,0x11); + +#ifdef __cplusplus +class DECLSPEC_UUID("e77026b0-b97f-4cbb-b7fb-f4f03ad69f11") PersistTuneXmlUtility; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(PersistTuneXmlUtility, 0xe77026b0, 0xb97f, 0x4cbb, 0xb7,0xfb, 0xf4,0xf0,0x3a,0xd6,0x9f,0x11) +#endif +#endif + +/***************************************************************************** + * ESEventService coclass + */ + +DEFINE_GUID(CLSID_ESEventService, 0xc20447fc, 0xec60, 0x475e, 0x81,0x3f, 0xd2,0xb0,0xa6,0xde,0xce,0xfe); + +#ifdef __cplusplus +class DECLSPEC_UUID("c20447fc-ec60-475e-813f-d2b0a6decefe") ESEventService; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ESEventService, 0xc20447fc, 0xec60, 0x475e, 0x81,0x3f, 0xd2,0xb0,0xa6,0xde,0xce,0xfe) +#endif +#endif + +/***************************************************************************** + * ESEventFactory coclass + */ + +DEFINE_GUID(CLSID_ESEventFactory, 0x8e8a07da, 0x71f8, 0x40c1, 0xa9,0x29, 0x5e,0x3a,0x86,0x8a,0xc2,0xc6); + +#ifdef __cplusplus +class DECLSPEC_UUID("8e8a07da-71f8-40c1-a929-5e3a868ac2c6") ESEventFactory; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ESEventFactory, 0x8e8a07da, 0x71f8, 0x40c1, 0xa9,0x29, 0x5e,0x3a,0x86,0x8a,0xc2,0xc6) +#endif +#endif + +#endif /* __TunerLib_LIBRARY_DEFINED__ */ +#endif +/* 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 /* __tuner_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tvout.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tvout.h new file mode 100644 index 00000000..fb5c2ea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/tvout.h @@ -0,0 +1,79 @@ +/** + * 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 __TVOUT__ +#define __TVOUT__ + +#include + +typedef struct _VIDEOPARAMETERS { + GUID Guid; + ULONG dwOffset; + ULONG dwCommand; + ULONG dwFlags; + ULONG dwMode; + ULONG dwTVStandard; + ULONG dwAvailableModes; + ULONG dwAvailableTVStandard; + ULONG dwFlickerFilter; + ULONG dwOverScanX; + ULONG dwOverScanY; + ULONG dwMaxUnscaledX; + ULONG dwMaxUnscaledY; + ULONG dwPositionX; + ULONG dwPositionY; + ULONG dwBrightness; + ULONG dwContrast; + ULONG dwCPType; + ULONG dwCPCommand; + ULONG dwCPStandard; + ULONG dwCPKey; + ULONG bCP_APSTriggerBits; + UCHAR bOEMCopyProtection[256]; +} VIDEOPARAMETERS,*PVIDEOPARAMETERS,*LPVIDEOPARAMETERS; + +#define VP_COMMAND_GET 0x0001 +#define VP_COMMAND_SET 0x0002 + +#define VP_FLAGS_TV_MODE 0x0001 +#define VP_FLAGS_TV_STANDARD 0x0002 +#define VP_FLAGS_FLICKER 0x0004 +#define VP_FLAGS_OVERSCAN 0x0008 +#define VP_FLAGS_MAX_UNSCALED 0x0010 +#define VP_FLAGS_POSITION 0x0020 +#define VP_FLAGS_BRIGHTNESS 0x0040 +#define VP_FLAGS_CONTRAST 0x0080 +#define VP_FLAGS_COPYPROTECT 0x0100 + +#define VP_MODE_WIN_GRAPHICS 0x0001 +#define VP_MODE_TV_PLAYBACK 0x0002 + +#define VP_TV_STANDARD_NTSC_M 0x0001 +#define VP_TV_STANDARD_NTSC_M_J 0x0002 +#define VP_TV_STANDARD_PAL_B 0x0004 +#define VP_TV_STANDARD_PAL_D 0x0008 +#define VP_TV_STANDARD_PAL_H 0x0010 +#define VP_TV_STANDARD_PAL_I 0x0020 +#define VP_TV_STANDARD_PAL_M 0x0040 +#define VP_TV_STANDARD_PAL_N 0x0080 +#define VP_TV_STANDARD_SECAM_B 0x0100 +#define VP_TV_STANDARD_SECAM_D 0x0200 +#define VP_TV_STANDARD_SECAM_G 0x0400 +#define VP_TV_STANDARD_SECAM_H 0x0800 +#define VP_TV_STANDARD_SECAM_K 0x1000 +#define VP_TV_STANDARD_SECAM_K1 0x2000 +#define VP_TV_STANDARD_SECAM_L 0x4000 +#define VP_TV_STANDARD_WIN_VGA 0x8000 +#define VP_TV_STANDARD_NTSC_433 0x00010000 +#define VP_TV_STANDARD_PAL_G 0x00020000 +#define VP_TV_STANDARD_PAL_60 0x00040000 +#define VP_TV_STANDARD_SECAM_L1 0x00080000 + +#define VP_CP_TYPE_APS_TRIGGER 0x0001 +#define VP_CP_TYPE_MACROVISION 0x0002 +#define VP_CP_CMD_ACTIVATE 0x0001 +#define VP_CP_CMD_DEACTIVATE 0x0002 +#define VP_CP_CMD_CHANGE 0x0004 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txcoord.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txcoord.h new file mode 100644 index 00000000..fee18fe5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txcoord.h @@ -0,0 +1,764 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __txcoord_h__ +#define __txcoord_h__ + +#ifndef __ITransactionResourceAsync_FWD_DEFINED__ +#define __ITransactionResourceAsync_FWD_DEFINED__ +typedef struct ITransactionResourceAsync ITransactionResourceAsync; +#endif + +#ifndef __ITransactionLastResourceAsync_FWD_DEFINED__ +#define __ITransactionLastResourceAsync_FWD_DEFINED__ +typedef struct ITransactionLastResourceAsync ITransactionLastResourceAsync; +#endif + +#ifndef __ITransactionResource_FWD_DEFINED__ +#define __ITransactionResource_FWD_DEFINED__ +typedef struct ITransactionResource ITransactionResource; +#endif + +#ifndef __ITransactionEnlistmentAsync_FWD_DEFINED__ +#define __ITransactionEnlistmentAsync_FWD_DEFINED__ +typedef struct ITransactionEnlistmentAsync ITransactionEnlistmentAsync; +#endif + +#ifndef __ITransactionLastEnlistmentAsync_FWD_DEFINED__ +#define __ITransactionLastEnlistmentAsync_FWD_DEFINED__ +typedef struct ITransactionLastEnlistmentAsync ITransactionLastEnlistmentAsync; +#endif + +#ifndef __ITransactionExportFactory_FWD_DEFINED__ +#define __ITransactionExportFactory_FWD_DEFINED__ +typedef struct ITransactionExportFactory ITransactionExportFactory; +#endif + +#ifndef __ITransactionImportWhereabouts_FWD_DEFINED__ +#define __ITransactionImportWhereabouts_FWD_DEFINED__ +typedef struct ITransactionImportWhereabouts ITransactionImportWhereabouts; +#endif + +#ifndef __ITransactionExport_FWD_DEFINED__ +#define __ITransactionExport_FWD_DEFINED__ +typedef struct ITransactionExport ITransactionExport; +#endif + +#ifndef __ITransactionImport_FWD_DEFINED__ +#define __ITransactionImport_FWD_DEFINED__ +typedef struct ITransactionImport ITransactionImport; +#endif + +#ifndef __ITipTransaction_FWD_DEFINED__ +#define __ITipTransaction_FWD_DEFINED__ +typedef struct ITipTransaction ITipTransaction; +#endif + +#ifndef __ITipHelper_FWD_DEFINED__ +#define __ITipHelper_FWD_DEFINED__ +typedef struct ITipHelper ITipHelper; +#endif + +#ifndef __ITipPullSink_FWD_DEFINED__ +#define __ITipPullSink_FWD_DEFINED__ +typedef struct ITipPullSink ITipPullSink; +#endif + +#ifndef __IDtcNetworkAccessConfig_FWD_DEFINED__ +#define __IDtcNetworkAccessConfig_FWD_DEFINED__ +typedef struct IDtcNetworkAccessConfig IDtcNetworkAccessConfig; +#endif + +#ifndef __IDtcNetworkAccessConfig2_FWD_DEFINED__ +#define __IDtcNetworkAccessConfig2_FWD_DEFINED__ +typedef struct IDtcNetworkAccessConfig2 IDtcNetworkAccessConfig2; +#endif + +#include "transact.h" +#include "objidl.h" +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0000_v0_0_s_ifspec; + +#ifndef __ITransactionResourceAsync_INTERFACE_DEFINED__ +#define __ITransactionResourceAsync_INTERFACE_DEFINED__ + + EXTERN_C const IID IID_ITransactionResourceAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionResourceAsync : public IUnknown { + public: + virtual HRESULT WINAPI PrepareRequest(WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase) = 0; + virtual HRESULT WINAPI CommitRequest(DWORD grfRM,XACTUOW *pNewUOW) = 0; + virtual HRESULT WINAPI AbortRequest(BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW) = 0; + virtual HRESULT WINAPI TMDown(void) = 0; + }; +#else + typedef struct ITransactionResourceAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionResourceAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionResourceAsync *This); + ULONG (WINAPI *Release)(ITransactionResourceAsync *This); + HRESULT (WINAPI *PrepareRequest)(ITransactionResourceAsync *This,WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase); + HRESULT (WINAPI *CommitRequest)(ITransactionResourceAsync *This,DWORD grfRM,XACTUOW *pNewUOW); + HRESULT (WINAPI *AbortRequest)(ITransactionResourceAsync *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW); + HRESULT (WINAPI *TMDown)(ITransactionResourceAsync *This); + END_INTERFACE + } ITransactionResourceAsyncVtbl; + struct ITransactionResourceAsync { + CONST_VTBL struct ITransactionResourceAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionResourceAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionResourceAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionResourceAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionResourceAsync_PrepareRequest(This,fRetaining,grfRM,fWantMoniker,fSinglePhase) (This)->lpVtbl->PrepareRequest(This,fRetaining,grfRM,fWantMoniker,fSinglePhase) +#define ITransactionResourceAsync_CommitRequest(This,grfRM,pNewUOW) (This)->lpVtbl->CommitRequest(This,grfRM,pNewUOW) +#define ITransactionResourceAsync_AbortRequest(This,pboidReason,fRetaining,pNewUOW) (This)->lpVtbl->AbortRequest(This,pboidReason,fRetaining,pNewUOW) +#define ITransactionResourceAsync_TMDown(This) (This)->lpVtbl->TMDown(This) +#endif +#endif + HRESULT WINAPI ITransactionResourceAsync_PrepareRequest_Proxy(ITransactionResourceAsync *This,WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase); + void __RPC_STUB ITransactionResourceAsync_PrepareRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResourceAsync_CommitRequest_Proxy(ITransactionResourceAsync *This,DWORD grfRM,XACTUOW *pNewUOW); + void __RPC_STUB ITransactionResourceAsync_CommitRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResourceAsync_AbortRequest_Proxy(ITransactionResourceAsync *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW); + void __RPC_STUB ITransactionResourceAsync_AbortRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResourceAsync_TMDown_Proxy(ITransactionResourceAsync *This); + void __RPC_STUB ITransactionResourceAsync_TMDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionLastResourceAsync_INTERFACE_DEFINED__ +#define __ITransactionLastResourceAsync_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionLastResourceAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionLastResourceAsync : public IUnknown { + public: + virtual HRESULT WINAPI DelegateCommit(DWORD grfRM) = 0; + virtual HRESULT WINAPI ForgetRequest(XACTUOW *pNewUOW) = 0; + }; +#else + typedef struct ITransactionLastResourceAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionLastResourceAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionLastResourceAsync *This); + ULONG (WINAPI *Release)(ITransactionLastResourceAsync *This); + HRESULT (WINAPI *DelegateCommit)(ITransactionLastResourceAsync *This,DWORD grfRM); + HRESULT (WINAPI *ForgetRequest)(ITransactionLastResourceAsync *This,XACTUOW *pNewUOW); + END_INTERFACE + } ITransactionLastResourceAsyncVtbl; + struct ITransactionLastResourceAsync { + CONST_VTBL struct ITransactionLastResourceAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionLastResourceAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionLastResourceAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionLastResourceAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionLastResourceAsync_DelegateCommit(This,grfRM) (This)->lpVtbl->DelegateCommit(This,grfRM) +#define ITransactionLastResourceAsync_ForgetRequest(This,pNewUOW) (This)->lpVtbl->ForgetRequest(This,pNewUOW) +#endif +#endif + HRESULT WINAPI ITransactionLastResourceAsync_DelegateCommit_Proxy(ITransactionLastResourceAsync *This,DWORD grfRM); + void __RPC_STUB ITransactionLastResourceAsync_DelegateCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionLastResourceAsync_ForgetRequest_Proxy(ITransactionLastResourceAsync *This,XACTUOW *pNewUOW); + void __RPC_STUB ITransactionLastResourceAsync_ForgetRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionResource_INTERFACE_DEFINED__ +#define __ITransactionResource_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionResource; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionResource : public IUnknown { + public: + virtual HRESULT WINAPI PrepareRequest(WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase) = 0; + virtual HRESULT WINAPI CommitRequest(DWORD grfRM,XACTUOW *pNewUOW) = 0; + virtual HRESULT WINAPI AbortRequest(BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW) = 0; + virtual HRESULT WINAPI TMDown(void) = 0; + }; +#else + typedef struct ITransactionResourceVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionResource *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionResource *This); + ULONG (WINAPI *Release)(ITransactionResource *This); + HRESULT (WINAPI *PrepareRequest)(ITransactionResource *This,WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase); + HRESULT (WINAPI *CommitRequest)(ITransactionResource *This,DWORD grfRM,XACTUOW *pNewUOW); + HRESULT (WINAPI *AbortRequest)(ITransactionResource *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW); + HRESULT (WINAPI *TMDown)(ITransactionResource *This); + END_INTERFACE + } ITransactionResourceVtbl; + struct ITransactionResource { + CONST_VTBL struct ITransactionResourceVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionResource_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionResource_PrepareRequest(This,fRetaining,grfRM,fWantMoniker,fSinglePhase) (This)->lpVtbl->PrepareRequest(This,fRetaining,grfRM,fWantMoniker,fSinglePhase) +#define ITransactionResource_CommitRequest(This,grfRM,pNewUOW) (This)->lpVtbl->CommitRequest(This,grfRM,pNewUOW) +#define ITransactionResource_AbortRequest(This,pboidReason,fRetaining,pNewUOW) (This)->lpVtbl->AbortRequest(This,pboidReason,fRetaining,pNewUOW) +#define ITransactionResource_TMDown(This) (This)->lpVtbl->TMDown(This) +#endif +#endif + HRESULT WINAPI ITransactionResource_PrepareRequest_Proxy(ITransactionResource *This,WINBOOL fRetaining,DWORD grfRM,WINBOOL fWantMoniker,WINBOOL fSinglePhase); + void __RPC_STUB ITransactionResource_PrepareRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResource_CommitRequest_Proxy(ITransactionResource *This,DWORD grfRM,XACTUOW *pNewUOW); + void __RPC_STUB ITransactionResource_CommitRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResource_AbortRequest_Proxy(ITransactionResource *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW); + void __RPC_STUB ITransactionResource_AbortRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionResource_TMDown_Proxy(ITransactionResource *This); + void __RPC_STUB ITransactionResource_TMDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionEnlistmentAsync_INTERFACE_DEFINED__ +#define __ITransactionEnlistmentAsync_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionEnlistmentAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionEnlistmentAsync : public IUnknown { + public: + virtual HRESULT WINAPI PrepareRequestDone(HRESULT hr,IMoniker *pmk,BOID *pboidReason) = 0; + virtual HRESULT WINAPI CommitRequestDone(HRESULT hr) = 0; + virtual HRESULT WINAPI AbortRequestDone(HRESULT hr) = 0; + }; +#else + typedef struct ITransactionEnlistmentAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionEnlistmentAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionEnlistmentAsync *This); + ULONG (WINAPI *Release)(ITransactionEnlistmentAsync *This); + HRESULT (WINAPI *PrepareRequestDone)(ITransactionEnlistmentAsync *This,HRESULT hr,IMoniker *pmk,BOID *pboidReason); + HRESULT (WINAPI *CommitRequestDone)(ITransactionEnlistmentAsync *This,HRESULT hr); + HRESULT (WINAPI *AbortRequestDone)(ITransactionEnlistmentAsync *This,HRESULT hr); + END_INTERFACE + } ITransactionEnlistmentAsyncVtbl; + struct ITransactionEnlistmentAsync { + CONST_VTBL struct ITransactionEnlistmentAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionEnlistmentAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionEnlistmentAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionEnlistmentAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionEnlistmentAsync_PrepareRequestDone(This,hr,pmk,pboidReason) (This)->lpVtbl->PrepareRequestDone(This,hr,pmk,pboidReason) +#define ITransactionEnlistmentAsync_CommitRequestDone(This,hr) (This)->lpVtbl->CommitRequestDone(This,hr) +#define ITransactionEnlistmentAsync_AbortRequestDone(This,hr) (This)->lpVtbl->AbortRequestDone(This,hr) +#endif +#endif + HRESULT WINAPI ITransactionEnlistmentAsync_PrepareRequestDone_Proxy(ITransactionEnlistmentAsync *This,HRESULT hr,IMoniker *pmk,BOID *pboidReason); + void __RPC_STUB ITransactionEnlistmentAsync_PrepareRequestDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionEnlistmentAsync_CommitRequestDone_Proxy(ITransactionEnlistmentAsync *This,HRESULT hr); + void __RPC_STUB ITransactionEnlistmentAsync_CommitRequestDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionEnlistmentAsync_AbortRequestDone_Proxy(ITransactionEnlistmentAsync *This,HRESULT hr); + void __RPC_STUB ITransactionEnlistmentAsync_AbortRequestDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionLastEnlistmentAsync_INTERFACE_DEFINED__ +#define __ITransactionLastEnlistmentAsync_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionLastEnlistmentAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionLastEnlistmentAsync : public IUnknown { + public: + virtual HRESULT WINAPI TransactionOutcome(XACTSTAT XactStat,BOID *pboidReason) = 0; + }; +#else + typedef struct ITransactionLastEnlistmentAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionLastEnlistmentAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionLastEnlistmentAsync *This); + ULONG (WINAPI *Release)(ITransactionLastEnlistmentAsync *This); + HRESULT (WINAPI *TransactionOutcome)(ITransactionLastEnlistmentAsync *This,XACTSTAT XactStat,BOID *pboidReason); + END_INTERFACE + } ITransactionLastEnlistmentAsyncVtbl; + struct ITransactionLastEnlistmentAsync { + CONST_VTBL struct ITransactionLastEnlistmentAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS + define ITransactionLastEnlistmentAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionLastEnlistmentAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionLastEnlistmentAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionLastEnlistmentAsync_TransactionOutcome(This,XactStat,pboidReason) (This)->lpVtbl->TransactionOutcome(This,XactStat,pboidReason) +#endif +#endif + HRESULT WINAPI ITransactionLastEnlistmentAsync_TransactionOutcome_Proxy(ITransactionLastEnlistmentAsync *This,XACTSTAT XactStat,BOID *pboidReason); + void __RPC_STUB ITransactionLastEnlistmentAsync_TransactionOutcome_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionExportFactory_INTERFACE_DEFINED__ +#define __ITransactionExportFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionExportFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionExportFactory : public IUnknown { + public: + virtual HRESULT WINAPI GetRemoteClassId(CLSID *pclsid) = 0; + virtual HRESULT WINAPI Create(ULONG cbWhereabouts,byte *rgbWhereabouts,ITransactionExport **ppExport) = 0; + }; +#else + typedef struct ITransactionExportFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionExportFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionExportFactory *This); + ULONG (WINAPI *Release)(ITransactionExportFactory *This); + HRESULT (WINAPI *GetRemoteClassId)(ITransactionExportFactory *This,CLSID *pclsid); + HRESULT (WINAPI *Create)(ITransactionExportFactory *This,ULONG cbWhereabouts,byte *rgbWhereabouts,ITransactionExport **ppExport); + END_INTERFACE + } ITransactionExportFactoryVtbl; + struct ITransactionExportFactory { + CONST_VTBL struct ITransactionExportFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionExportFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionExportFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionExportFactory_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionExportFactory_GetRemoteClassId(This,pclsid) (This)->lpVtbl->GetRemoteClassId(This,pclsid) +#define ITransactionExportFactory_Create(This,cbWhereabouts,rgbWhereabouts,ppExport) (This)->lpVtbl->Create(This,cbWhereabouts,rgbWhereabouts,ppExport) +#endif +#endif + HRESULT WINAPI ITransactionExportFactory_GetRemoteClassId_Proxy(ITransactionExportFactory *This,CLSID *pclsid); + void __RPC_STUB ITransactionExportFactory_GetRemoteClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionExportFactory_Create_Proxy(ITransactionExportFactory *This,ULONG cbWhereabouts,byte *rgbWhereabouts,ITransactionExport **ppExport); + void __RPC_STUB ITransactionExportFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionImportWhereabouts_INTERFACE_DEFINED__ +#define __ITransactionImportWhereabouts_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionImportWhereabouts; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionImportWhereabouts : public IUnknown { + public: + virtual HRESULT WINAPI GetWhereaboutsSize(ULONG *pcbWhereabouts) = 0; + virtual HRESULT WINAPI GetWhereabouts(ULONG cbWhereabouts,byte *rgbWhereabouts,ULONG *pcbUsed) = 0; + }; +#else + typedef struct ITransactionImportWhereaboutsVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionImportWhereabouts *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionImportWhereabouts *This); + ULONG (WINAPI *Release)(ITransactionImportWhereabouts *This); + HRESULT (WINAPI *GetWhereaboutsSize)(ITransactionImportWhereabouts *This,ULONG *pcbWhereabouts); + HRESULT (WINAPI *GetWhereabouts)(ITransactionImportWhereabouts *This,ULONG cbWhereabouts,byte *rgbWhereabouts,ULONG *pcbUsed); + END_INTERFACE + } ITransactionImportWhereaboutsVtbl; + struct ITransactionImportWhereabouts { + CONST_VTBL struct ITransactionImportWhereaboutsVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionImportWhereabouts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionImportWhereabouts_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionImportWhereabouts_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionImportWhereabouts_GetWhereaboutsSize(This,pcbWhereabouts) (This)->lpVtbl->GetWhereaboutsSize(This,pcbWhereabouts) +#define ITransactionImportWhereabouts_GetWhereabouts(This,cbWhereabouts,rgbWhereabouts,pcbUsed) (This)->lpVtbl->GetWhereabouts(This,cbWhereabouts,rgbWhereabouts,pcbUsed) +#endif +#endif + HRESULT WINAPI ITransactionImportWhereabouts_GetWhereaboutsSize_Proxy(ITransactionImportWhereabouts *This,ULONG *pcbWhereabouts); + void __RPC_STUB ITransactionImportWhereabouts_GetWhereaboutsSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionImportWhereabouts_RemoteGetWhereabouts_Proxy(ITransactionImportWhereabouts *This,ULONG *pcbUsed,ULONG cbWhereabouts,byte *rgbWhereabouts); + void __RPC_STUB ITransactionImportWhereabouts_RemoteGetWhereabouts_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionExport_INTERFACE_DEFINED__ +#define __ITransactionExport_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionExport; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionExport : public IUnknown { + public: + virtual HRESULT WINAPI Export(IUnknown *punkTransaction,ULONG *pcbTransactionCookie) = 0; + virtual HRESULT WINAPI GetTransactionCookie(IUnknown *punkTransaction,ULONG cbTransactionCookie,byte *rgbTransactionCookie,ULONG *pcbUsed) = 0; + }; +#else + typedef struct ITransactionExportVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionExport *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionExport *This); + ULONG (WINAPI *Release)(ITransactionExport *This); + HRESULT (WINAPI *Export)(ITransactionExport *This,IUnknown *punkTransaction,ULONG *pcbTransactionCookie); + HRESULT (WINAPI *GetTransactionCookie)(ITransactionExport *This,IUnknown *punkTransaction,ULONG cbTransactionCookie,byte *rgbTransactionCookie,ULONG *pcbUsed); + END_INTERFACE + } ITransactionExportVtbl; + struct ITransactionExport { + CONST_VTBL struct ITransactionExportVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionExport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionExport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionExport_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionExport_Export(This,punkTransaction,pcbTransactionCookie) (This)->lpVtbl->Export(This,punkTransaction,pcbTransactionCookie) +#define ITransactionExport_GetTransactionCookie(This,punkTransaction,cbTransactionCookie,rgbTransactionCookie,pcbUsed) (This)->lpVtbl->GetTransactionCookie(This,punkTransaction,cbTransactionCookie,rgbTransactionCookie,pcbUsed) +#endif +#endif + HRESULT WINAPI ITransactionExport_Export_Proxy(ITransactionExport *This,IUnknown *punkTransaction,ULONG *pcbTransactionCookie); + void __RPC_STUB ITransactionExport_Export_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionExport_RemoteGetTransactionCookie_Proxy(ITransactionExport *This,IUnknown *punkTransaction,ULONG *pcbUsed,ULONG cbTransactionCookie,byte *rgbTransactionCookie); + void __RPC_STUB ITransactionExport_RemoteGetTransactionCookie_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionImport_INTERFACE_DEFINED__ +#define __ITransactionImport_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionImport; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionImport : public IUnknown { + public: + virtual HRESULT WINAPI Import(ULONG cbTransactionCookie,byte *rgbTransactionCookie,IID *piid,void **ppvTransaction) = 0; + }; +#else + typedef struct ITransactionImportVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionImport *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionImport *This); + ULONG (WINAPI *Release)(ITransactionImport *This); + HRESULT (WINAPI *Import)(ITransactionImport *This,ULONG cbTransactionCookie,byte *rgbTransactionCookie,IID *piid,void **ppvTransaction); + END_INTERFACE + } ITransactionImportVtbl; + struct ITransactionImport { + CONST_VTBL struct ITransactionImportVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionImport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionImport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionImport_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionImport_Import(This,cbTransactionCookie,rgbTransactionCookie,piid,ppvTransaction) (This)->lpVtbl->Import(This,cbTransactionCookie,rgbTransactionCookie,piid,ppvTransaction) +#endif +#endif + HRESULT WINAPI ITransactionImport_Import_Proxy(ITransactionImport *This,ULONG cbTransactionCookie,byte *rgbTransactionCookie,IID *piid,void **ppvTransaction); + void __RPC_STUB ITransactionImport_Import_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITipTransaction_INTERFACE_DEFINED__ +#define __ITipTransaction_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITipTransaction; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITipTransaction : public IUnknown { + public: + virtual HRESULT WINAPI Push(char *i_pszRemoteTmUrl,char **o_ppszRemoteTxUrl) = 0; + virtual HRESULT WINAPI GetTransactionUrl(char **o_ppszLocalTxUrl) = 0; + }; +#else + typedef struct ITipTransactionVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITipTransaction *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITipTransaction *This); + ULONG (WINAPI *Release)(ITipTransaction *This); + HRESULT (WINAPI *Push)(ITipTransaction *This,char *i_pszRemoteTmUrl,char **o_ppszRemoteTxUrl); + HRESULT (WINAPI *GetTransactionUrl)(ITipTransaction *This,char **o_ppszLocalTxUrl); + END_INTERFACE + } ITipTransactionVtbl; + struct ITipTransaction { + CONST_VTBL struct ITipTransactionVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITipTransaction_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITipTransaction_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITipTransaction_Release(This) (This)->lpVtbl->Release(This) +#define ITipTransaction_Push(This,i_pszRemoteTmUrl,o_ppszRemoteTxUrl) (This)->lpVtbl->Push(This,i_pszRemoteTmUrl,o_ppszRemoteTxUrl) +#define ITipTransaction_GetTransactionUrl(This,o_ppszLocalTxUrl) (This)->lpVtbl->GetTransactionUrl(This,o_ppszLocalTxUrl) +#endif +#endif + HRESULT WINAPI ITipTransaction_Push_Proxy(ITipTransaction *This,char *i_pszRemoteTmUrl,char **o_ppszRemoteTxUrl); + void __RPC_STUB ITipTransaction_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITipTransaction_GetTransactionUrl_Proxy(ITipTransaction *This,char **o_ppszLocalTxUrl); + void __RPC_STUB ITipTransaction_GetTransactionUrl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITipHelper_INTERFACE_DEFINED__ +#define __ITipHelper_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITipHelper; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITipHelper : public IUnknown { + public: + virtual HRESULT WINAPI Pull(char *i_pszTxUrl,ITransaction **o_ppITransaction) = 0; + virtual HRESULT WINAPI PullAsync(char *i_pszTxUrl,ITipPullSink *i_pTipPullSink,ITransaction **o_ppITransaction) = 0; + virtual HRESULT WINAPI GetLocalTmUrl(char **o_ppszLocalTmUrl) = 0; + }; +#else + typedef struct ITipHelperVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITipHelper *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITipHelper *This); + ULONG (WINAPI *Release)(ITipHelper *This); + HRESULT (WINAPI *Pull)(ITipHelper *This,char *i_pszTxUrl,ITransaction **o_ppITransaction); + HRESULT (WINAPI *PullAsync)(ITipHelper *This,char *i_pszTxUrl,ITipPullSink *i_pTipPullSink,ITransaction **o_ppITransaction); + HRESULT (WINAPI *GetLocalTmUrl)(ITipHelper *This,char **o_ppszLocalTmUrl); + END_INTERFACE + } ITipHelperVtbl; + struct ITipHelper { + CONST_VTBL struct ITipHelperVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITipHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITipHelper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITipHelper_Release(This) (This)->lpVtbl->Release(This) +#define ITipHelper_Pull(This,i_pszTxUrl,o_ppITransaction) (This)->lpVtbl->Pull(This,i_pszTxUrl,o_ppITransaction) +#define ITipHelper_PullAsync(This,i_pszTxUrl,i_pTipPullSink,o_ppITransaction) (This)->lpVtbl->PullAsync(This,i_pszTxUrl,i_pTipPullSink,o_ppITransaction) +#define ITipHelper_GetLocalTmUrl(This,o_ppszLocalTmUrl) (This)->lpVtbl->GetLocalTmUrl(This,o_ppszLocalTmUrl) +#endif +#endif + HRESULT WINAPI ITipHelper_Pull_Proxy(ITipHelper *This,char *i_pszTxUrl,ITransaction **o_ppITransaction); + void __RPC_STUB ITipHelper_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITipHelper_PullAsync_Proxy(ITipHelper *This,char *i_pszTxUrl,ITipPullSink *i_pTipPullSink,ITransaction **o_ppITransaction); + void __RPC_STUB ITipHelper_PullAsync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITipHelper_GetLocalTmUrl_Proxy(ITipHelper *This,char **o_ppszLocalTmUrl); + void __RPC_STUB ITipHelper_GetLocalTmUrl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITipPullSink_INTERFACE_DEFINED__ +#define __ITipPullSink_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITipPullSink; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITipPullSink : public IUnknown { + public: + virtual HRESULT WINAPI PullComplete(HRESULT i_hrPull) = 0; + }; +#else + typedef struct ITipPullSinkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITipPullSink *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITipPullSink *This); + ULONG (WINAPI *Release)(ITipPullSink *This); + HRESULT (WINAPI *PullComplete)(ITipPullSink *This,HRESULT i_hrPull); + END_INTERFACE + } ITipPullSinkVtbl; + struct ITipPullSink { + CONST_VTBL struct ITipPullSinkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITipPullSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITipPullSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITipPullSink_Release(This) (This)->lpVtbl->Release(This) +#define ITipPullSink_PullComplete(This,i_hrPull) (This)->lpVtbl->PullComplete(This,i_hrPull) +#endif +#endif + HRESULT WINAPI ITipPullSink_PullComplete_Proxy(ITipPullSink *This,HRESULT i_hrPull); + void __RPC_STUB ITipPullSink_PullComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcNetworkAccessConfig_INTERFACE_DEFINED__ +#define __IDtcNetworkAccessConfig_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcNetworkAccessConfig; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcNetworkAccessConfig : public IUnknown { + public: + virtual HRESULT WINAPI GetAnyNetworkAccess(WINBOOL *pbAnyNetworkAccess) = 0; + virtual HRESULT WINAPI SetAnyNetworkAccess(WINBOOL bAnyNetworkAccess) = 0; + virtual HRESULT WINAPI GetNetworkAdministrationAccess(WINBOOL *pbNetworkAdministrationAccess) = 0; + virtual HRESULT WINAPI SetNetworkAdministrationAccess(WINBOOL bNetworkAdministrationAccess) = 0; + virtual HRESULT WINAPI GetNetworkTransactionAccess(WINBOOL *pbNetworkTransactionAccess) = 0; + virtual HRESULT WINAPI SetNetworkTransactionAccess(WINBOOL bNetworkTransactionAccess) = 0; + virtual HRESULT WINAPI GetNetworkClientAccess(WINBOOL *pbNetworkClientAccess) = 0; + virtual HRESULT WINAPI SetNetworkClientAccess(WINBOOL bNetworkClientAccess) = 0; + virtual HRESULT WINAPI GetNetworkTIPAccess(WINBOOL *pbNetworkTIPAccess) = 0; + virtual HRESULT WINAPI SetNetworkTIPAccess(WINBOOL bNetworkTIPAccess) = 0; + virtual HRESULT WINAPI GetXAAccess(WINBOOL *pbXAAccess) = 0; + virtual HRESULT WINAPI SetXAAccess(WINBOOL bXAAccess) = 0; + virtual HRESULT WINAPI RestartDtcService(void) = 0; + }; +#else + typedef struct IDtcNetworkAccessConfigVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcNetworkAccessConfig *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcNetworkAccessConfig *This); + ULONG (WINAPI *Release)(IDtcNetworkAccessConfig *This); + HRESULT (WINAPI *GetAnyNetworkAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbAnyNetworkAccess); + HRESULT (WINAPI *SetAnyNetworkAccess)(IDtcNetworkAccessConfig *This,WINBOOL bAnyNetworkAccess); + HRESULT (WINAPI *GetNetworkAdministrationAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkAdministrationAccess); + HRESULT (WINAPI *SetNetworkAdministrationAccess)(IDtcNetworkAccessConfig *This,WINBOOL bNetworkAdministrationAccess); + HRESULT (WINAPI *GetNetworkTransactionAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkTransactionAccess); + HRESULT (WINAPI *SetNetworkTransactionAccess)(IDtcNetworkAccessConfig *This,WINBOOL bNetworkTransactionAccess); + HRESULT (WINAPI *GetNetworkClientAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkClientAccess); + HRESULT (WINAPI *SetNetworkClientAccess)(IDtcNetworkAccessConfig *This,WINBOOL bNetworkClientAccess); + HRESULT (WINAPI *GetNetworkTIPAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkTIPAccess); + HRESULT (WINAPI *SetNetworkTIPAccess)(IDtcNetworkAccessConfig *This,WINBOOL bNetworkTIPAccess); + HRESULT (WINAPI *GetXAAccess)(IDtcNetworkAccessConfig *This,WINBOOL *pbXAAccess); + HRESULT (WINAPI *SetXAAccess)(IDtcNetworkAccessConfig *This,WINBOOL bXAAccess); + HRESULT (WINAPI *RestartDtcService)(IDtcNetworkAccessConfig *This); + END_INTERFACE + } IDtcNetworkAccessConfigVtbl; + struct IDtcNetworkAccessConfig { + CONST_VTBL struct IDtcNetworkAccessConfigVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcNetworkAccessConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcNetworkAccessConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcNetworkAccessConfig_Release(This) (This)->lpVtbl->Release(This) +#define IDtcNetworkAccessConfig_GetAnyNetworkAccess(This,pbAnyNetworkAccess) (This)->lpVtbl->GetAnyNetworkAccess(This,pbAnyNetworkAccess) +#define IDtcNetworkAccessConfig_SetAnyNetworkAccess(This,bAnyNetworkAccess) (This)->lpVtbl->SetAnyNetworkAccess(This,bAnyNetworkAccess) +#define IDtcNetworkAccessConfig_GetNetworkAdministrationAccess(This,pbNetworkAdministrationAccess) (This)->lpVtbl->GetNetworkAdministrationAccess(This,pbNetworkAdministrationAccess) +#define IDtcNetworkAccessConfig_SetNetworkAdministrationAccess(This,bNetworkAdministrationAccess) (This)->lpVtbl->SetNetworkAdministrationAccess(This,bNetworkAdministrationAccess) +#define IDtcNetworkAccessConfig_GetNetworkTransactionAccess(This,pbNetworkTransactionAccess) (This)->lpVtbl->GetNetworkTransactionAccess(This,pbNetworkTransactionAccess) +#define IDtcNetworkAccessConfig_SetNetworkTransactionAccess(This,bNetworkTransactionAccess) (This)->lpVtbl->SetNetworkTransactionAccess(This,bNetworkTransactionAccess) +#define IDtcNetworkAccessConfig_GetNetworkClientAccess(This,pbNetworkClientAccess) (This)->lpVtbl->GetNetworkClientAccess(This,pbNetworkClientAccess) +#define IDtcNetworkAccessConfig_SetNetworkClientAccess(This,bNetworkClientAccess) (This)->lpVtbl->SetNetworkClientAccess(This,bNetworkClientAccess) +#define IDtcNetworkAccessConfig_GetNetworkTIPAccess(This,pbNetworkTIPAccess) (This)->lpVtbl->GetNetworkTIPAccess(This,pbNetworkTIPAccess) +#define IDtcNetworkAccessConfig_SetNetworkTIPAccess(This,bNetworkTIPAccess) (This)->lpVtbl->SetNetworkTIPAccess(This,bNetworkTIPAccess) +#define IDtcNetworkAccessConfig_GetXAAccess(This,pbXAAccess) (This)->lpVtbl->GetXAAccess(This,pbXAAccess) +#define IDtcNetworkAccessConfig_SetXAAccess(This,bXAAccess) (This)->lpVtbl->SetXAAccess(This,bXAAccess) +#define IDtcNetworkAccessConfig_RestartDtcService(This) (This)->lpVtbl->RestartDtcService(This) +#endif +#endif + HRESULT WINAPI IDtcNetworkAccessConfig_GetAnyNetworkAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbAnyNetworkAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetAnyNetworkAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetAnyNetworkAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bAnyNetworkAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetAnyNetworkAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_GetNetworkAdministrationAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkAdministrationAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetNetworkAdministrationAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetNetworkAdministrationAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bNetworkAdministrationAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetNetworkAdministrationAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_GetNetworkTransactionAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkTransactionAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetNetworkTransactionAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetNetworkTransactionAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bNetworkTransactionAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetNetworkTransactionAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_GetNetworkClientAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkClientAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetNetworkClientAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetNetworkClientAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bNetworkClientAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetNetworkClientAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_GetNetworkTIPAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbNetworkTIPAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetNetworkTIPAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetNetworkTIPAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bNetworkTIPAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetNetworkTIPAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_GetXAAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL *pbXAAccess); + void __RPC_STUB IDtcNetworkAccessConfig_GetXAAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_SetXAAccess_Proxy(IDtcNetworkAccessConfig *This,WINBOOL bXAAccess); + void __RPC_STUB IDtcNetworkAccessConfig_SetXAAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig_RestartDtcService_Proxy(IDtcNetworkAccessConfig *This); + void __RPC_STUB IDtcNetworkAccessConfig_RestartDtcService_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + typedef enum AUTHENTICATION_LEVEL { + NO_AUTHENTICATION_REQUIRED = 0,INCOMING_AUTHENTICATION_REQUIRED = 1,MUTUAL_AUTHENTICATION_REQUIRED = 2 + } AUTHENTICATION_LEVEL; + + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0115_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0115_v0_0_s_ifspec; + +#ifndef __IDtcNetworkAccessConfig2_INTERFACE_DEFINED__ +#define __IDtcNetworkAccessConfig2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcNetworkAccessConfig2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcNetworkAccessConfig2 : public IDtcNetworkAccessConfig { + public: + virtual HRESULT WINAPI GetNetworkInboundAccess(WINBOOL *pbInbound) = 0; + virtual HRESULT WINAPI GetNetworkOutboundAccess(WINBOOL *pbOutbound) = 0; + virtual HRESULT WINAPI SetNetworkInboundAccess(WINBOOL bInbound) = 0; + virtual HRESULT WINAPI SetNetworkOutboundAccess(WINBOOL bOutbound) = 0; + virtual HRESULT WINAPI GetAuthenticationLevel(AUTHENTICATION_LEVEL *pAuthLevel) = 0; + virtual HRESULT WINAPI SetAuthenticationLevel(AUTHENTICATION_LEVEL AuthLevel) = 0; + }; +#else + typedef struct IDtcNetworkAccessConfig2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcNetworkAccessConfig2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcNetworkAccessConfig2 *This); + ULONG (WINAPI *Release)(IDtcNetworkAccessConfig2 *This); + HRESULT (WINAPI *GetAnyNetworkAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbAnyNetworkAccess); + HRESULT (WINAPI *SetAnyNetworkAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bAnyNetworkAccess); + HRESULT (WINAPI *GetNetworkAdministrationAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbNetworkAdministrationAccess); + HRESULT (WINAPI *SetNetworkAdministrationAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bNetworkAdministrationAccess); + HRESULT (WINAPI *GetNetworkTransactionAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbNetworkTransactionAccess); + HRESULT (WINAPI *SetNetworkTransactionAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bNetworkTransactionAccess); + HRESULT (WINAPI *GetNetworkClientAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbNetworkClientAccess); + HRESULT (WINAPI *SetNetworkClientAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bNetworkClientAccess); + HRESULT (WINAPI *GetNetworkTIPAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbNetworkTIPAccess); + HRESULT (WINAPI *SetNetworkTIPAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bNetworkTIPAccess); + HRESULT (WINAPI *GetXAAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbXAAccess); + HRESULT (WINAPI *SetXAAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bXAAccess); + HRESULT (WINAPI *RestartDtcService)(IDtcNetworkAccessConfig2 *This); + HRESULT (WINAPI *GetNetworkInboundAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbInbound); + HRESULT (WINAPI *GetNetworkOutboundAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL *pbOutbound); + HRESULT (WINAPI *SetNetworkInboundAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bInbound); + HRESULT (WINAPI *SetNetworkOutboundAccess)(IDtcNetworkAccessConfig2 *This,WINBOOL bOutbound); + HRESULT (WINAPI *GetAuthenticationLevel)(IDtcNetworkAccessConfig2 *This,AUTHENTICATION_LEVEL *pAuthLevel); + HRESULT (WINAPI *SetAuthenticationLevel)(IDtcNetworkAccessConfig2 *This,AUTHENTICATION_LEVEL AuthLevel); + END_INTERFACE + } IDtcNetworkAccessConfig2Vtbl; + struct IDtcNetworkAccessConfig2 { + CONST_VTBL struct IDtcNetworkAccessConfig2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcNetworkAccessConfig2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcNetworkAccessConfig2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcNetworkAccessConfig2_Release(This) (This)->lpVtbl->Release(This) +#define IDtcNetworkAccessConfig2_GetAnyNetworkAccess(This,pbAnyNetworkAccess) (This)->lpVtbl->GetAnyNetworkAccess(This,pbAnyNetworkAccess) +#define IDtcNetworkAccessConfig2_SetAnyNetworkAccess(This,bAnyNetworkAccess) (This)->lpVtbl->SetAnyNetworkAccess(This,bAnyNetworkAccess) +#define IDtcNetworkAccessConfig2_GetNetworkAdministrationAccess(This,pbNetworkAdministrationAccess) (This)->lpVtbl->GetNetworkAdministrationAccess(This,pbNetworkAdministrationAccess) +#define IDtcNetworkAccessConfig2_SetNetworkAdministrationAccess(This,bNetworkAdministrationAccess) (This)->lpVtbl->SetNetworkAdministrationAccess(This,bNetworkAdministrationAccess) +#define IDtcNetworkAccessConfig2_GetNetworkTransactionAccess(This,pbNetworkTransactionAccess) (This)->lpVtbl->GetNetworkTransactionAccess(This,pbNetworkTransactionAccess) +#define IDtcNetworkAccessConfig2_SetNetworkTransactionAccess(This,bNetworkTransactionAccess) (This)->lpVtbl->SetNetworkTransactionAccess(This,bNetworkTransactionAccess) +#define IDtcNetworkAccessConfig2_GetNetworkClientAccess(This,pbNetworkClientAccess) (This)->lpVtbl->GetNetworkClientAccess(This,pbNetworkClientAccess) +#define IDtcNetworkAccessConfig2_SetNetworkClientAccess(This,bNetworkClientAccess) (This)->lpVtbl->SetNetworkClientAccess(This,bNetworkClientAccess) +#define IDtcNetworkAccessConfig2_GetNetworkTIPAccess(This,pbNetworkTIPAccess) (This)->lpVtbl->GetNetworkTIPAccess(This,pbNetworkTIPAccess) +#define IDtcNetworkAccessConfig2_SetNetworkTIPAccess(This,bNetworkTIPAccess) (This)->lpVtbl->SetNetworkTIPAccess(This,bNetworkTIPAccess) +#define IDtcNetworkAccessConfig2_GetXAAccess(This,pbXAAccess) (This)->lpVtbl->GetXAAccess(This,pbXAAccess) +#define IDtcNetworkAccessConfig2_SetXAAccess(This,bXAAccess) (This)->lpVtbl->SetXAAccess(This,bXAAccess) +#define IDtcNetworkAccessConfig2_RestartDtcService(This) (This)->lpVtbl->RestartDtcService(This) +#define IDtcNetworkAccessConfig2_GetNetworkInboundAccess(This,pbInbound) (This)->lpVtbl->GetNetworkInboundAccess(This,pbInbound) +#define IDtcNetworkAccessConfig2_GetNetworkOutboundAccess(This,pbOutbound) (This)->lpVtbl->GetNetworkOutboundAccess(This,pbOutbound) +#define IDtcNetworkAccessConfig2_SetNetworkInboundAccess(This,bInbound) (This)->lpVtbl->SetNetworkInboundAccess(This,bInbound) +#define IDtcNetworkAccessConfig2_SetNetworkOutboundAccess(This,bOutbound) (This)->lpVtbl->SetNetworkOutboundAccess(This,bOutbound) +#define IDtcNetworkAccessConfig2_GetAuthenticationLevel(This,pAuthLevel) (This)->lpVtbl->GetAuthenticationLevel(This,pAuthLevel) +#define IDtcNetworkAccessConfig2_SetAuthenticationLevel(This,AuthLevel) (This)->lpVtbl->SetAuthenticationLevel(This,AuthLevel) +#endif +#endif + HRESULT WINAPI IDtcNetworkAccessConfig2_GetNetworkInboundAccess_Proxy(IDtcNetworkAccessConfig2 *This,WINBOOL *pbInbound); + void __RPC_STUB IDtcNetworkAccessConfig2_GetNetworkInboundAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig2_GetNetworkOutboundAccess_Proxy(IDtcNetworkAccessConfig2 *This,WINBOOL *pbOutbound); + void __RPC_STUB IDtcNetworkAccessConfig2_GetNetworkOutboundAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig2_SetNetworkInboundAccess_Proxy(IDtcNetworkAccessConfig2 *This,WINBOOL bInbound); + void __RPC_STUB IDtcNetworkAccessConfig2_SetNetworkInboundAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig2_SetNetworkOutboundAccess_Proxy(IDtcNetworkAccessConfig2 *This,WINBOOL bOutbound); + void __RPC_STUB IDtcNetworkAccessConfig2_SetNetworkOutboundAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig2_GetAuthenticationLevel_Proxy(IDtcNetworkAccessConfig2 *This,AUTHENTICATION_LEVEL *pAuthLevel); + void __RPC_STUB IDtcNetworkAccessConfig2_GetAuthenticationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcNetworkAccessConfig2_SetAuthenticationLevel_Proxy(IDtcNetworkAccessConfig2 *This,AUTHENTICATION_LEVEL AuthLevel); + void __RPC_STUB IDtcNetworkAccessConfig2_SetAuthenticationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + DEFINE_GUID(IID_ITransactionResourceAsync,0x69E971F0,0x23CE,0x11cf,0xAD,0x60,0x00,0xAA,0x00,0xA7,0x4C,0xCD); + DEFINE_GUID(IID_ITransactionLastResourceAsync,0xC82BD532,0x5B30,0x11D3,0x8A,0x91,0x00,0xC0,0x4F,0x79,0xEB,0x6D); + DEFINE_GUID(IID_ITransactionResource,0xEE5FF7B3,0x4572,0x11d0,0x94,0x52,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_ITransactionEnlistmentAsync,0x0fb15081,0xaf41,0x11ce,0xbd,0x2b,0x20,0x4c,0x4f,0x4f,0x50,0x20); + DEFINE_GUID(IID_ITransactionLastEnlistmentAsync,0xC82BD533,0x5B30,0x11D3,0x8A,0x91,0x00,0xC0,0x4F,0x79,0xEB,0x6D); + DEFINE_GUID(IID_ITransactionExportFactory,0xE1CF9B53,0x8745,0x11ce,0xA9,0xBA,0x00,0xAA,0x00,0x6C,0x37,0x06); + DEFINE_GUID(IID_ITransactionImportWhereabouts,0x0141fda4,0x8fc0,0x11ce,0xbd,0x18,0x20,0x4c,0x4f,0x4f,0x50,0x20); + DEFINE_GUID(IID_ITransactionExport,0x0141fda5,0x8fc0,0x11ce,0xbd,0x18,0x20,0x4c,0x4f,0x4f,0x50,0x20); + DEFINE_GUID(IID_ITransactionImport,0xE1CF9B5A,0x8745,0x11ce,0xA9,0xBA,0x00,0xAA,0x00,0x6C,0x37,0x06); + DEFINE_GUID(IID_ITipTransaction,0x17cf72d0,0xbac5,0x11d1,0xb1,0xbf,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_ITipHelper,0x17cf72d1,0xbac5,0x11d1,0xb1,0xbf,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_ITipPullSink,0x17cf72d2,0xbac5,0x11d1,0xb1,0xbf,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_IDtcNetworkAccessConfig,0x9797c15d,0xa428,0x4291,0x87,0xb6,0x9,0x95,0x3,0x1a,0x67,0x8d); + DEFINE_GUID(IID_IDtcNetworkAccessConfig2,0xa7aa013b,0xeb7d,0x4f42,0xb4,0x1c,0xb2,0xde,0xc0,0x9a,0xe0,0x34); + + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0116_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txcoord_0116_v0_0_s_ifspec; + + HRESULT WINAPI ITransactionImportWhereabouts_GetWhereabouts_Proxy(ITransactionImportWhereabouts *This,ULONG cbWhereabouts,byte *rgbWhereabouts,ULONG *pcbUsed); + HRESULT WINAPI ITransactionImportWhereabouts_GetWhereabouts_Stub(ITransactionImportWhereabouts *This,ULONG *pcbUsed,ULONG cbWhereabouts,byte *rgbWhereabouts); + HRESULT WINAPI ITransactionExport_GetTransactionCookie_Proxy(ITransactionExport *This,IUnknown *punkTransaction,ULONG cbTransactionCookie,byte *rgbTransactionCookie,ULONG *pcbUsed); + HRESULT WINAPI ITransactionExport_GetTransactionCookie_Stub(ITransactionExport *This,IUnknown *punkTransaction,ULONG *pcbUsed,ULONG cbTransactionCookie,byte *rgbTransactionCookie); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txctx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txctx.h new file mode 100644 index 00000000..d3e0557d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txctx.h @@ -0,0 +1,6 @@ +/** + * 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 "comsvcs.h" diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txdtc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txdtc.h new file mode 100644 index 00000000..93d5f93c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txdtc.h @@ -0,0 +1,1894 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __txdtc_h__ +#define __txdtc_h__ + +#ifndef __IXATransLookup_FWD_DEFINED__ +#define __IXATransLookup_FWD_DEFINED__ +typedef struct IXATransLookup IXATransLookup; +#endif + +#ifndef __IXATransLookup2_FWD_DEFINED__ +#define __IXATransLookup2_FWD_DEFINED__ +typedef struct IXATransLookup2 IXATransLookup2; +#endif + +#ifndef __IResourceManagerSink_FWD_DEFINED__ +#define __IResourceManagerSink_FWD_DEFINED__ +typedef struct IResourceManagerSink IResourceManagerSink; +#endif + +#ifndef __IResourceManager_FWD_DEFINED__ +#define __IResourceManager_FWD_DEFINED__ +typedef struct IResourceManager IResourceManager; +#endif + +#ifndef __ILastResourceManager_FWD_DEFINED__ +#define __ILastResourceManager_FWD_DEFINED__ +typedef struct ILastResourceManager ILastResourceManager; +#endif + +#ifndef __IResourceManager2_FWD_DEFINED__ +#define __IResourceManager2_FWD_DEFINED__ +typedef struct IResourceManager2 IResourceManager2; +#endif + +#ifndef __IXAConfig_FWD_DEFINED__ +#define __IXAConfig_FWD_DEFINED__ +typedef struct IXAConfig IXAConfig; +#endif + +#ifndef __IRMHelper_FWD_DEFINED__ +#define __IRMHelper_FWD_DEFINED__ +typedef struct IRMHelper IRMHelper; +#endif + +#ifndef __IXAObtainRMInfo_FWD_DEFINED__ +#define __IXAObtainRMInfo_FWD_DEFINED__ +typedef struct IXAObtainRMInfo IXAObtainRMInfo; +#endif + +#ifndef __IResourceManagerFactory_FWD_DEFINED__ +#define __IResourceManagerFactory_FWD_DEFINED__ +typedef struct IResourceManagerFactory IResourceManagerFactory; +#endif + +#ifndef __IResourceManagerFactory2_FWD_DEFINED__ +#define __IResourceManagerFactory2_FWD_DEFINED__ +typedef struct IResourceManagerFactory2 IResourceManagerFactory2; +#endif + +#ifndef __IPrepareInfo_FWD_DEFINED__ +#define __IPrepareInfo_FWD_DEFINED__ +typedef struct IPrepareInfo IPrepareInfo; +#endif + +#ifndef __IPrepareInfo2_FWD_DEFINED__ +#define __IPrepareInfo2_FWD_DEFINED__ +typedef struct IPrepareInfo2 IPrepareInfo2; +#endif + +#ifndef __IGetDispenser_FWD_DEFINED__ +#define __IGetDispenser_FWD_DEFINED__ +typedef struct IGetDispenser IGetDispenser; +#endif + +#ifndef __ITransactionVoterBallotAsync2_FWD_DEFINED__ +#define __ITransactionVoterBallotAsync2_FWD_DEFINED__ +typedef struct ITransactionVoterBallotAsync2 ITransactionVoterBallotAsync2; +#endif + +#ifndef __ITransactionVoterNotifyAsync2_FWD_DEFINED__ +#define __ITransactionVoterNotifyAsync2_FWD_DEFINED__ +typedef struct ITransactionVoterNotifyAsync2 ITransactionVoterNotifyAsync2; +#endif + +#ifndef __ITransactionVoterFactory2_FWD_DEFINED__ +#define __ITransactionVoterFactory2_FWD_DEFINED__ +typedef struct ITransactionVoterFactory2 ITransactionVoterFactory2; +#endif + +#ifndef __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__ +#define __ITransactionPhase0EnlistmentAsync_FWD_DEFINED__ +typedef struct ITransactionPhase0EnlistmentAsync ITransactionPhase0EnlistmentAsync; +#endif + +#ifndef __ITransactionPhase0NotifyAsync_FWD_DEFINED__ +#define __ITransactionPhase0NotifyAsync_FWD_DEFINED__ +typedef struct ITransactionPhase0NotifyAsync ITransactionPhase0NotifyAsync; +#endif + +#ifndef __ITransactionPhase0Factory_FWD_DEFINED__ +#define __ITransactionPhase0Factory_FWD_DEFINED__ +typedef struct ITransactionPhase0Factory ITransactionPhase0Factory; +#endif + +#ifndef __ITransactionTransmitter_FWD_DEFINED__ +#define __ITransactionTransmitter_FWD_DEFINED__ +typedef struct ITransactionTransmitter ITransactionTransmitter; +#endif + +#ifndef __ITransactionTransmitterFactory_FWD_DEFINED__ +#define __ITransactionTransmitterFactory_FWD_DEFINED__ +typedef struct ITransactionTransmitterFactory ITransactionTransmitterFactory; +#endif + +#ifndef __ITransactionReceiver_FWD_DEFINED__ +#define __ITransactionReceiver_FWD_DEFINED__ +typedef struct ITransactionReceiver ITransactionReceiver; +#endif + +#ifndef __ITransactionReceiverFactory_FWD_DEFINED__ +#define __ITransactionReceiverFactory_FWD_DEFINED__ +typedef struct ITransactionReceiverFactory ITransactionReceiverFactory; +#endif + +#ifndef __IDtcLuConfigure_FWD_DEFINED__ +#define __IDtcLuConfigure_FWD_DEFINED__ +typedef struct IDtcLuConfigure IDtcLuConfigure; +#endif + +#ifndef __IDtcLuRecovery_FWD_DEFINED__ +#define __IDtcLuRecovery_FWD_DEFINED__ +typedef struct IDtcLuRecovery IDtcLuRecovery; +#endif + +#ifndef __IDtcLuRecoveryFactory_FWD_DEFINED__ +#define __IDtcLuRecoveryFactory_FWD_DEFINED__ +typedef struct IDtcLuRecoveryFactory IDtcLuRecoveryFactory; +#endif + +#ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtcTransWork_FWD_DEFINED__ +typedef struct IDtcLuRecoveryInitiatedByDtcTransWork IDtcLuRecoveryInitiatedByDtcTransWork; +#endif + +#ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtcStatusWork_FWD_DEFINED__ +typedef struct IDtcLuRecoveryInitiatedByDtcStatusWork IDtcLuRecoveryInitiatedByDtcStatusWork; +#endif + +#ifndef __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtc_FWD_DEFINED__ +typedef struct IDtcLuRecoveryInitiatedByDtc IDtcLuRecoveryInitiatedByDtc; +#endif + +#ifndef __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__ +#define __IDtcLuRecoveryInitiatedByLuWork_FWD_DEFINED__ +typedef struct IDtcLuRecoveryInitiatedByLuWork IDtcLuRecoveryInitiatedByLuWork; +#endif + +#ifndef __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__ +#define __IDtcLuRecoveryInitiatedByLu_FWD_DEFINED__ +typedef struct IDtcLuRecoveryInitiatedByLu IDtcLuRecoveryInitiatedByLu; +#endif + +#ifndef __IDtcLuRmEnlistment_FWD_DEFINED__ +#define __IDtcLuRmEnlistment_FWD_DEFINED__ +typedef struct IDtcLuRmEnlistment IDtcLuRmEnlistment; +#endif + +#ifndef __IDtcLuRmEnlistmentSink_FWD_DEFINED__ +#define __IDtcLuRmEnlistmentSink_FWD_DEFINED__ +typedef struct IDtcLuRmEnlistmentSink IDtcLuRmEnlistmentSink; +#endif + +#ifndef __IDtcLuRmEnlistmentFactory_FWD_DEFINED__ +#define __IDtcLuRmEnlistmentFactory_FWD_DEFINED__ +typedef struct IDtcLuRmEnlistmentFactory IDtcLuRmEnlistmentFactory; +#endif + +#ifndef __IDtcLuSubordinateDtc_FWD_DEFINED__ +#define __IDtcLuSubordinateDtc_FWD_DEFINED__ +typedef struct IDtcLuSubordinateDtc IDtcLuSubordinateDtc; +#endif + +#ifndef __IDtcLuSubordinateDtcSink_FWD_DEFINED__ +#define __IDtcLuSubordinateDtcSink_FWD_DEFINED__ +typedef struct IDtcLuSubordinateDtcSink IDtcLuSubordinateDtcSink; +#endif + +#ifndef __IDtcLuSubordinateDtcFactory_FWD_DEFINED__ +#define __IDtcLuSubordinateDtcFactory_FWD_DEFINED__ +typedef struct IDtcLuSubordinateDtcFactory IDtcLuSubordinateDtcFactory; +#endif + +#include "txcoord.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#define XACTTOMSG(dwXact) (dwXact-0x00040000+0x40000000) + typedef enum XACT_DTC_CONSTANTS { + XACT_E_CONNECTION_REQUEST_DENIED = 0x8004d100,XACT_E_TOOMANY_ENLISTMENTS = 0x8004d101,XACT_E_DUPLICATE_GUID = 0x8004d102, + XACT_E_NOTSINGLEPHASE = 0x8004d103,XACT_E_RECOVERYALREADYDONE = 0x8004d104,XACT_E_PROTOCOL = 0x8004d105,XACT_E_RM_FAILURE = 0x8004d106, + XACT_E_RECOVERY_FAILED = 0x8004d107,XACT_E_LU_NOT_FOUND = 0x8004d108,XACT_E_DUPLICATE_LU = 0x8004d109,XACT_E_LU_NOT_CONNECTED = 0x8004d10a, + XACT_E_DUPLICATE_TRANSID = 0x8004d10b,XACT_E_LU_BUSY = 0x8004d10c,XACT_E_LU_NO_RECOVERY_PROCESS = 0x8004d10d,XACT_E_LU_DOWN = 0x8004d10e, + XACT_E_LU_RECOVERING = 0x8004d10f,XACT_E_LU_RECOVERY_MISMATCH = 0x8004d110,XACT_E_RM_UNAVAILABLE = 0x8004d111, + XACT_E_LRMRECOVERYALREADYDONE = 0x8004d112,XACT_E_NOLASTRESOURCEINTERFACE = 0x8004d113,XACT_S_NONOTIFY = 0x4d100,XACT_OK_NONOTIFY = 0x4d101, + dwUSER_MS_SQLSERVER = 0xffff + } XACT_DTC_CONSTANTS; + +#ifndef _XID_T_DEFINED +#define _XID_T_DEFINED + typedef struct xid_t { + __LONG32 formatID; + __LONG32 gtrid_length; + __LONG32 bqual_length; + char data[128 ]; + } XID; +#endif +#ifndef _XA_SWITCH_T_DEFINED +#define _XA_SWITCH_T_DEFINED + typedef struct xa_switch_t { + char name[32 ]; + __LONG32 flags; + __LONG32 version; + int (__cdecl *xa_open_entry)(char *__MIDL_0004,int __MIDL_0005,__LONG32 __MIDL_0006); + int (__cdecl *xa_close_entry)(char *__MIDL_0008,int __MIDL_0009,__LONG32 __MIDL_0010); + int (__cdecl *xa_start_entry)(XID *__MIDL_0012,int __MIDL_0013,__LONG32 __MIDL_0014); + int (__cdecl *xa_end_entry)(XID *__MIDL_0016,int __MIDL_0017,__LONG32 __MIDL_0018); + int (__cdecl *xa_rollback_entry)(XID *__MIDL_0020,int __MIDL_0021,__LONG32 __MIDL_0022); + int (__cdecl *xa_prepare_entry)(XID *__MIDL_0024,int __MIDL_0025,__LONG32 __MIDL_0026); + int (__cdecl *xa_commit_entry)(XID *__MIDL_0028,int __MIDL_0029,__LONG32 __MIDL_0030); + int (__cdecl *xa_recover_entry)(XID *__MIDL_0032,__LONG32 __MIDL_0033,int __MIDL_0034,__LONG32 __MIDL_0035); + int (__cdecl *xa_forget_entry)(XID *__MIDL_0037,int __MIDL_0038,__LONG32 __MIDL_0039); + int (__cdecl *xa_complete_entry)(int *__MIDL_0041,int *__MIDL_0042,int __MIDL_0043,__LONG32 __MIDL_0044); + } xa_switch_t; +#endif + + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0000_v0_0_s_ifspec; +#ifndef __IXATransLookup_INTERFACE_DEFINED__ +#define __IXATransLookup_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IXATransLookup; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IXATransLookup : public IUnknown { + public: + virtual HRESULT WINAPI Lookup(ITransaction **ppTransaction) = 0; + }; +#else + typedef struct IXATransLookupVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IXATransLookup *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IXATransLookup *This); + ULONG (WINAPI *Release)(IXATransLookup *This); + HRESULT (WINAPI *Lookup)(IXATransLookup *This,ITransaction **ppTransaction); + END_INTERFACE + } IXATransLookupVtbl; + struct IXATransLookup { + CONST_VTBL struct IXATransLookupVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IXATransLookup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXATransLookup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXATransLookup_Release(This) (This)->lpVtbl->Release(This) +#define IXATransLookup_Lookup(This,ppTransaction) (This)->lpVtbl->Lookup(This,ppTransaction) +#endif +#endif + HRESULT WINAPI IXATransLookup_Lookup_Proxy(IXATransLookup *This,ITransaction **ppTransaction); + void __RPC_STUB IXATransLookup_Lookup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IXATransLookup2_INTERFACE_DEFINED__ +#define __IXATransLookup2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IXATransLookup2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IXATransLookup2 : public IUnknown { + public: + virtual HRESULT WINAPI Lookup(XID *pXID,ITransaction **ppTransaction) = 0; + }; +#else + typedef struct IXATransLookup2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IXATransLookup2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IXATransLookup2 *This); + ULONG (WINAPI *Release)(IXATransLookup2 *This); + HRESULT (WINAPI *Lookup)(IXATransLookup2 *This,XID *pXID,ITransaction **ppTransaction); + END_INTERFACE + } IXATransLookup2Vtbl; + struct IXATransLookup2 { + CONST_VTBL struct IXATransLookup2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IXATransLookup2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXATransLookup2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXATransLookup2_Release(This) (This)->lpVtbl->Release(This) +#define IXATransLookup2_Lookup(This,pXID,ppTransaction) (This)->lpVtbl->Lookup(This,pXID,ppTransaction) +#endif +#endif + HRESULT WINAPI IXATransLookup2_Lookup_Proxy(IXATransLookup2 *This,XID *pXID,ITransaction **ppTransaction); + void __RPC_STUB IXATransLookup2_Lookup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IResourceManagerSink_INTERFACE_DEFINED__ +#define __IResourceManagerSink_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IResourceManagerSink; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IResourceManagerSink : public IUnknown { + public: + virtual HRESULT WINAPI TMDown(void) = 0; + }; +#else + typedef struct IResourceManagerSinkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IResourceManagerSink *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IResourceManagerSink *This); + ULONG (WINAPI *Release)(IResourceManagerSink *This); + HRESULT (WINAPI *TMDown)(IResourceManagerSink *This); + END_INTERFACE + } IResourceManagerSinkVtbl; + struct IResourceManagerSink { + CONST_VTBL struct IResourceManagerSinkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IResourceManagerSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IResourceManagerSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IResourceManagerSink_Release(This) (This)->lpVtbl->Release(This) +#define IResourceManagerSink_TMDown(This) (This)->lpVtbl->TMDown(This) +#endif +#endif + HRESULT WINAPI IResourceManagerSink_TMDown_Proxy(IResourceManagerSink *This); + void __RPC_STUB IResourceManagerSink_TMDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif +#ifndef __IResourceManager_INTERFACE_DEFINED__ +#define __IResourceManager_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IResourceManager; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IResourceManager : public IUnknown { + public: + virtual HRESULT WINAPI Enlist(ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist) = 0; + virtual HRESULT WINAPI Reenlist(byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat) = 0; + virtual HRESULT WINAPI ReenlistmentComplete(void) = 0; + virtual HRESULT WINAPI GetDistributedTransactionManager(REFIID iid,void **ppvObject) = 0; + }; +#else + typedef struct IResourceManagerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IResourceManager *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IResourceManager *This); + ULONG (WINAPI *Release)(IResourceManager *This); + HRESULT (WINAPI *Enlist)(IResourceManager *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist); + HRESULT (WINAPI *Reenlist)(IResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat); + HRESULT (WINAPI *ReenlistmentComplete)(IResourceManager *This); + HRESULT (WINAPI *GetDistributedTransactionManager)(IResourceManager *This,REFIID iid,void **ppvObject); + END_INTERFACE + } IResourceManagerVtbl; + struct IResourceManager { + CONST_VTBL struct IResourceManagerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IResourceManager_Release(This) (This)->lpVtbl->Release(This) +#define IResourceManager_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) (This)->lpVtbl->Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) +#define IResourceManager_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) (This)->lpVtbl->Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) +#define IResourceManager_ReenlistmentComplete(This) (This)->lpVtbl->ReenlistmentComplete(This) +#define IResourceManager_GetDistributedTransactionManager(This,iid,ppvObject) (This)->lpVtbl->GetDistributedTransactionManager(This,iid,ppvObject) +#endif +#endif + HRESULT WINAPI IResourceManager_Enlist_Proxy(IResourceManager *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist); + void __RPC_STUB IResourceManager_Enlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IResourceManager_Reenlist_Proxy(IResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat); + void __RPC_STUB IResourceManager_Reenlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IResourceManager_ReenlistmentComplete_Proxy(IResourceManager *This); + void __RPC_STUB IResourceManager_ReenlistmentComplete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IResourceManager_GetDistributedTransactionManager_Proxy(IResourceManager *This,REFIID iid,void **ppvObject); + void __RPC_STUB IResourceManager_GetDistributedTransactionManager_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ILastResourceManager_INTERFACE_DEFINED__ +#define __ILastResourceManager_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ILastResourceManager; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ILastResourceManager : public IUnknown { + public: + virtual HRESULT WINAPI TransactionCommitted(byte *pPrepInfo,ULONG cbPrepInfo) = 0; + virtual HRESULT WINAPI RecoveryDone(void) = 0; + }; +#else + typedef struct ILastResourceManagerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ILastResourceManager *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ILastResourceManager *This); + ULONG (WINAPI *Release)(ILastResourceManager *This); + HRESULT (WINAPI *TransactionCommitted)(ILastResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo); + HRESULT (WINAPI *RecoveryDone)(ILastResourceManager *This); + END_INTERFACE + } ILastResourceManagerVtbl; + struct ILastResourceManager { + CONST_VTBL struct ILastResourceManagerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ILastResourceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILastResourceManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILastResourceManager_Release(This) (This)->lpVtbl->Release(This) +#define ILastResourceManager_TransactionCommitted(This,pPrepInfo,cbPrepInfo) (This)->lpVtbl->TransactionCommitted(This,pPrepInfo,cbPrepInfo) +#define ILastResourceManager_RecoveryDone(This) (This)->lpVtbl->RecoveryDone(This) +#endif +#endif + HRESULT WINAPI ILastResourceManager_TransactionCommitted_Proxy(ILastResourceManager *This,byte *pPrepInfo,ULONG cbPrepInfo); + void __RPC_STUB ILastResourceManager_TransactionCommitted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ILastResourceManager_RecoveryDone_Proxy(ILastResourceManager *This); + void __RPC_STUB ILastResourceManager_RecoveryDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IResourceManager2_INTERFACE_DEFINED__ +#define __IResourceManager2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IResourceManager2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IResourceManager2 : public IResourceManager { + public: + virtual HRESULT WINAPI Enlist2(ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist) = 0; + virtual HRESULT WINAPI Reenlist2(XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat) = 0; + }; +#else + typedef struct IResourceManager2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IResourceManager2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IResourceManager2 *This); + ULONG (WINAPI *Release)(IResourceManager2 *This); + HRESULT (WINAPI *Enlist)(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pRes,XACTUOW *pUOW,LONG *pisoLevel,ITransactionEnlistmentAsync **ppEnlist); + HRESULT (WINAPI *Reenlist)(IResourceManager2 *This,byte *pPrepInfo,ULONG cbPrepInfo,DWORD lTimeout,XACTSTAT *pXactStat); + HRESULT (WINAPI *ReenlistmentComplete)(IResourceManager2 *This); + HRESULT (WINAPI *GetDistributedTransactionManager)(IResourceManager2 *This,REFIID iid,void **ppvObject); + HRESULT (WINAPI *Enlist2)(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist); + HRESULT (WINAPI *Reenlist2)(IResourceManager2 *This,XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat); + END_INTERFACE + } IResourceManager2Vtbl; + struct IResourceManager2 { + CONST_VTBL struct IResourceManager2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IResourceManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IResourceManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IResourceManager2_Release(This) (This)->lpVtbl->Release(This) +#define IResourceManager2_Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) (This)->lpVtbl->Enlist(This,pTransaction,pRes,pUOW,pisoLevel,ppEnlist) +#define IResourceManager2_Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) (This)->lpVtbl->Reenlist(This,pPrepInfo,cbPrepInfo,lTimeout,pXactStat) +#define IResourceManager2_ReenlistmentComplete(This) (This)->lpVtbl->ReenlistmentComplete(This) +#define IResourceManager2_GetDistributedTransactionManager(This,iid,ppvObject) (This)->lpVtbl->GetDistributedTransactionManager(This,iid,ppvObject) +#define IResourceManager2_Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist) (This)->lpVtbl->Enlist2(This,pTransaction,pResAsync,pUOW,pisoLevel,pXid,ppEnlist) +#define IResourceManager2_Reenlist2(This,pXid,dwTimeout,pXactStat) (This)->lpVtbl->Reenlist2(This,pXid,dwTimeout,pXactStat) +#endif +#endif + HRESULT WINAPI IResourceManager2_Enlist2_Proxy(IResourceManager2 *This,ITransaction *pTransaction,ITransactionResourceAsync *pResAsync,XACTUOW *pUOW,LONG *pisoLevel,XID *pXid,ITransactionEnlistmentAsync **ppEnlist); + void __RPC_STUB IResourceManager2_Enlist2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IResourceManager2_Reenlist2_Proxy(IResourceManager2 *This,XID *pXid,DWORD dwTimeout,XACTSTAT *pXactStat); + void __RPC_STUB IResourceManager2_Reenlist2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IXAConfig_INTERFACE_DEFINED__ +#define __IXAConfig_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IXAConfig; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IXAConfig : public IUnknown { + public: + virtual HRESULT WINAPI Initialize(GUID clsidHelperDll) = 0; + virtual HRESULT WINAPI Terminate(void) = 0; + }; +#else + typedef struct IXAConfigVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IXAConfig *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IXAConfig *This); + ULONG (WINAPI *Release)(IXAConfig *This); + HRESULT (WINAPI *Initialize)(IXAConfig *This,GUID clsidHelperDll); + HRESULT (WINAPI *Terminate)(IXAConfig *This); + END_INTERFACE + } IXAConfigVtbl; + struct IXAConfig { + CONST_VTBL struct IXAConfigVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IXAConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAConfig_Release(This) (This)->lpVtbl->Release(This) +#define IXAConfig_Initialize(This,clsidHelperDll) (This)->lpVtbl->Initialize(This,clsidHelperDll) +#define IXAConfig_Terminate(This) (This)->lpVtbl->Terminate(This) +#endif +#endif + HRESULT WINAPI IXAConfig_Initialize_Proxy(IXAConfig *This,GUID clsidHelperDll); + void __RPC_STUB IXAConfig_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IXAConfig_Terminate_Proxy(IXAConfig *This); + void __RPC_STUB IXAConfig_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IRMHelper_INTERFACE_DEFINED__ +#define __IRMHelper_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IRMHelper; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IRMHelper : public IUnknown { + public: + virtual HRESULT WINAPI RMCount(DWORD dwcTotalNumberOfRMs) = 0; + virtual HRESULT WINAPI RMInfo(xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery) = 0; + }; +#else + typedef struct IRMHelperVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IRMHelper *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IRMHelper *This); + ULONG (WINAPI *Release)(IRMHelper *This); + HRESULT (WINAPI *RMCount)(IRMHelper *This,DWORD dwcTotalNumberOfRMs); + HRESULT (WINAPI *RMInfo)(IRMHelper *This,xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery); + END_INTERFACE + } IRMHelperVtbl; + struct IRMHelper { + CONST_VTBL struct IRMHelperVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IRMHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRMHelper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRMHelper_Release(This) (This)->lpVtbl->Release(This) +#define IRMHelper_RMCount(This,dwcTotalNumberOfRMs) (This)->lpVtbl->RMCount(This,dwcTotalNumberOfRMs) +#define IRMHelper_RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery) (This)->lpVtbl->RMInfo(This,pXa_Switch,fCDeclCallingConv,pszOpenString,pszCloseString,guidRMRecovery) +#endif +#endif + HRESULT WINAPI IRMHelper_RMCount_Proxy(IRMHelper *This,DWORD dwcTotalNumberOfRMs); + void __RPC_STUB IRMHelper_RMCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IRMHelper_RMInfo_Proxy(IRMHelper *This,xa_switch_t *pXa_Switch,WINBOOL fCDeclCallingConv,char *pszOpenString,char *pszCloseString,GUID guidRMRecovery); + void __RPC_STUB IRMHelper_RMInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IXAObtainRMInfo_INTERFACE_DEFINED__ +#define __IXAObtainRMInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IXAObtainRMInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IXAObtainRMInfo : public IUnknown { + public: + virtual HRESULT WINAPI ObtainRMInfo(IRMHelper *pIRMHelper) = 0; + }; +#else + typedef struct IXAObtainRMInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IXAObtainRMInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IXAObtainRMInfo *This); + ULONG (WINAPI *Release)(IXAObtainRMInfo *This); + HRESULT (WINAPI *ObtainRMInfo)(IXAObtainRMInfo *This,IRMHelper *pIRMHelper); + END_INTERFACE + } IXAObtainRMInfoVtbl; + struct IXAObtainRMInfo { + CONST_VTBL struct IXAObtainRMInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IXAObtainRMInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAObtainRMInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAObtainRMInfo_Release(This) (This)->lpVtbl->Release(This) +#define IXAObtainRMInfo_ObtainRMInfo(This,pIRMHelper) (This)->lpVtbl->ObtainRMInfo(This,pIRMHelper) +#endif +#endif + HRESULT WINAPI IXAObtainRMInfo_ObtainRMInfo_Proxy(IXAObtainRMInfo *This,IRMHelper *pIRMHelper); + void __RPC_STUB IXAObtainRMInfo_ObtainRMInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IResourceManagerFactory_INTERFACE_DEFINED__ +#define __IResourceManagerFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IResourceManagerFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IResourceManagerFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr) = 0; + }; +#else + typedef struct IResourceManagerFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IResourceManagerFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IResourceManagerFactory *This); + ULONG (WINAPI *Release)(IResourceManagerFactory *This); + HRESULT (WINAPI *Create)(IResourceManagerFactory *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr); + END_INTERFACE + } IResourceManagerFactoryVtbl; + struct IResourceManagerFactory { + CONST_VTBL struct IResourceManagerFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IResourceManagerFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IResourceManagerFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IResourceManagerFactory_Release(This) (This)->lpVtbl->Release(This) +#define IResourceManagerFactory_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) (This)->lpVtbl->Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) +#endif +#endif + HRESULT WINAPI IResourceManagerFactory_Create_Proxy(IResourceManagerFactory *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr); + void __RPC_STUB IResourceManagerFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IResourceManagerFactory2_INTERFACE_DEFINED__ +#define __IResourceManagerFactory2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IResourceManagerFactory2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IResourceManagerFactory2 : public IResourceManagerFactory { + public: + virtual HRESULT WINAPI CreateEx(GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr) = 0; + }; +#else + typedef struct IResourceManagerFactory2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IResourceManagerFactory2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IResourceManagerFactory2 *This); + ULONG (WINAPI *Release)(IResourceManagerFactory2 *This); + HRESULT (WINAPI *Create)(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,IResourceManager **ppResMgr); + HRESULT (WINAPI *CreateEx)(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr); + END_INTERFACE + } IResourceManagerFactory2Vtbl; + struct IResourceManagerFactory2 { + CONST_VTBL struct IResourceManagerFactory2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IResourceManagerFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IResourceManagerFactory2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IResourceManagerFactory2_Release(This) (This)->lpVtbl->Release(This) +#define IResourceManagerFactory2_Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) (This)->lpVtbl->Create(This,pguidRM,pszRMName,pIResMgrSink,ppResMgr) +#define IResourceManagerFactory2_CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr) (This)->lpVtbl->CreateEx(This,pguidRM,pszRMName,pIResMgrSink,riidRequested,ppvResMgr) +#endif +#endif + HRESULT WINAPI IResourceManagerFactory2_CreateEx_Proxy(IResourceManagerFactory2 *This,GUID *pguidRM,CHAR *pszRMName,IResourceManagerSink *pIResMgrSink,REFIID riidRequested,void **ppvResMgr); + void __RPC_STUB IResourceManagerFactory2_CreateEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IPrepareInfo_INTERFACE_DEFINED__ +#define __IPrepareInfo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IPrepareInfo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IPrepareInfo : public IUnknown { + public: + virtual HRESULT WINAPI GetPrepareInfoSize(ULONG *pcbPrepInfo) = 0; + virtual HRESULT WINAPI GetPrepareInfo(byte *pPrepInfo) = 0; + }; +#else + typedef struct IPrepareInfoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IPrepareInfo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IPrepareInfo *This); + ULONG (WINAPI *Release)(IPrepareInfo *This); + HRESULT (WINAPI *GetPrepareInfoSize)(IPrepareInfo *This,ULONG *pcbPrepInfo); + HRESULT (WINAPI *GetPrepareInfo)(IPrepareInfo *This,byte *pPrepInfo); + END_INTERFACE + } IPrepareInfoVtbl; + struct IPrepareInfo { + CONST_VTBL struct IPrepareInfoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IPrepareInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPrepareInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPrepareInfo_Release(This) (This)->lpVtbl->Release(This) +#define IPrepareInfo_GetPrepareInfoSize(This,pcbPrepInfo) (This)->lpVtbl->GetPrepareInfoSize(This,pcbPrepInfo) +#define IPrepareInfo_GetPrepareInfo(This,pPrepInfo) (This)->lpVtbl->GetPrepareInfo(This,pPrepInfo) +#endif +#endif + HRESULT WINAPI IPrepareInfo_GetPrepareInfoSize_Proxy(IPrepareInfo *This,ULONG *pcbPrepInfo); + void __RPC_STUB IPrepareInfo_GetPrepareInfoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IPrepareInfo_GetPrepareInfo_Proxy(IPrepareInfo *This,byte *pPrepInfo); + void __RPC_STUB IPrepareInfo_GetPrepareInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IPrepareInfo2_INTERFACE_DEFINED__ +#define __IPrepareInfo2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IPrepareInfo2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IPrepareInfo2 : public IUnknown { + public: + virtual HRESULT WINAPI GetPrepareInfoSize(ULONG *pcbPrepInfo) = 0; + virtual HRESULT WINAPI GetPrepareInfo(ULONG cbPrepareInfo,byte *pPrepInfo) = 0; + }; +#else + typedef struct IPrepareInfo2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IPrepareInfo2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IPrepareInfo2 *This); + ULONG (WINAPI *Release)(IPrepareInfo2 *This); + HRESULT (WINAPI *GetPrepareInfoSize)(IPrepareInfo2 *This,ULONG *pcbPrepInfo); + HRESULT (WINAPI *GetPrepareInfo)(IPrepareInfo2 *This,ULONG cbPrepareInfo,byte *pPrepInfo); + END_INTERFACE + } IPrepareInfo2Vtbl; + struct IPrepareInfo2 { + CONST_VTBL struct IPrepareInfo2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IPrepareInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPrepareInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPrepareInfo2_Release(This) (This)->lpVtbl->Release(This) +#define IPrepareInfo2_GetPrepareInfoSize(This,pcbPrepInfo) (This)->lpVtbl->GetPrepareInfoSize(This,pcbPrepInfo) +#define IPrepareInfo2_GetPrepareInfo(This,cbPrepareInfo,pPrepInfo) (This)->lpVtbl->GetPrepareInfo(This,cbPrepareInfo,pPrepInfo) +#endif +#endif + HRESULT WINAPI IPrepareInfo2_GetPrepareInfoSize_Proxy(IPrepareInfo2 *This,ULONG *pcbPrepInfo); + void __RPC_STUB IPrepareInfo2_GetPrepareInfoSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IPrepareInfo2_GetPrepareInfo_Proxy(IPrepareInfo2 *This,ULONG cbPrepareInfo,byte *pPrepInfo); + void __RPC_STUB IPrepareInfo2_GetPrepareInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IGetDispenser_INTERFACE_DEFINED__ +#define __IGetDispenser_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IGetDispenser; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IGetDispenser : public IUnknown { + public: + virtual HRESULT WINAPI GetDispenser(REFIID iid,void **ppvObject) = 0; + }; +#else + typedef struct IGetDispenserVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IGetDispenser *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IGetDispenser *This); + ULONG (WINAPI *Release)(IGetDispenser *This); + HRESULT (WINAPI *GetDispenser)(IGetDispenser *This,REFIID iid,void **ppvObject); + END_INTERFACE + } IGetDispenserVtbl; + struct IGetDispenser { + CONST_VTBL struct IGetDispenserVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IGetDispenser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IGetDispenser_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IGetDispenser_Release(This) (This)->lpVtbl->Release(This) +#define IGetDispenser_GetDispenser(This,iid,ppvObject) (This)->lpVtbl->GetDispenser(This,iid,ppvObject) +#endif +#endif + HRESULT WINAPI IGetDispenser_GetDispenser_Proxy(IGetDispenser *This,REFIID iid,void **ppvObject); + void __RPC_STUB IGetDispenser_GetDispenser_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__ +#define __ITransactionVoterBallotAsync2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionVoterBallotAsync2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionVoterBallotAsync2 : public IUnknown { + public: + virtual HRESULT WINAPI VoteRequestDone(HRESULT hr,BOID *pboidReason) = 0; + }; +#else + typedef struct ITransactionVoterBallotAsync2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionVoterBallotAsync2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionVoterBallotAsync2 *This); + ULONG (WINAPI *Release)(ITransactionVoterBallotAsync2 *This); + HRESULT (WINAPI *VoteRequestDone)(ITransactionVoterBallotAsync2 *This,HRESULT hr,BOID *pboidReason); + END_INTERFACE + } ITransactionVoterBallotAsync2Vtbl; + struct ITransactionVoterBallotAsync2 { + CONST_VTBL struct ITransactionVoterBallotAsync2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionVoterBallotAsync2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionVoterBallotAsync2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionVoterBallotAsync2_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionVoterBallotAsync2_VoteRequestDone(This,hr,pboidReason) (This)->lpVtbl->VoteRequestDone(This,hr,pboidReason) +#endif +#endif + HRESULT WINAPI ITransactionVoterBallotAsync2_VoteRequestDone_Proxy(ITransactionVoterBallotAsync2 *This,HRESULT hr,BOID *pboidReason); + void __RPC_STUB ITransactionVoterBallotAsync2_VoteRequestDone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__ +#define __ITransactionVoterNotifyAsync2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionVoterNotifyAsync2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionVoterNotifyAsync2 : public ITransactionOutcomeEvents { + public: + virtual HRESULT WINAPI VoteRequest(void) = 0; + }; +#else + typedef struct ITransactionVoterNotifyAsync2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionVoterNotifyAsync2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionVoterNotifyAsync2 *This); + ULONG (WINAPI *Release)(ITransactionVoterNotifyAsync2 *This); + HRESULT (WINAPI *Committed)(ITransactionVoterNotifyAsync2 *This,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + HRESULT (WINAPI *Aborted)(ITransactionVoterNotifyAsync2 *This,BOID *pboidReason,WINBOOL fRetaining,XACTUOW *pNewUOW,HRESULT hr); + HRESULT (WINAPI *HeuristicDecision)(ITransactionVoterNotifyAsync2 *This,DWORD dwDecision,BOID *pboidReason,HRESULT hr); + HRESULT (WINAPI *Indoubt)(ITransactionVoterNotifyAsync2 *This); + HRESULT (WINAPI *VoteRequest)(ITransactionVoterNotifyAsync2 *This); + END_INTERFACE + } ITransactionVoterNotifyAsync2Vtbl; + struct ITransactionVoterNotifyAsync2 { + CONST_VTBL struct ITransactionVoterNotifyAsync2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionVoterNotifyAsync2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionVoterNotifyAsync2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionVoterNotifyAsync2_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionVoterNotifyAsync2_Committed(This,fRetaining,pNewUOW,hr) (This)->lpVtbl->Committed(This,fRetaining,pNewUOW,hr) +#define ITransactionVoterNotifyAsync2_Aborted(This,pboidReason,fRetaining,pNewUOW,hr) (This)->lpVtbl->Aborted(This,pboidReason,fRetaining,pNewUOW,hr) +#define ITransactionVoterNotifyAsync2_HeuristicDecision(This,dwDecision,pboidReason,hr) (This)->lpVtbl->HeuristicDecision(This,dwDecision,pboidReason,hr) +#define ITransactionVoterNotifyAsync2_Indoubt(This) (This)->lpVtbl->Indoubt(This) +#define ITransactionVoterNotifyAsync2_VoteRequest(This) (This)->lpVtbl->VoteRequest(This) +#endif +#endif + HRESULT WINAPI ITransactionVoterNotifyAsync2_VoteRequest_Proxy(ITransactionVoterNotifyAsync2 *This); + void __RPC_STUB ITransactionVoterNotifyAsync2_VoteRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionVoterFactory2_INTERFACE_DEFINED__ +#define __ITransactionVoterFactory2_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionVoterFactory2; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionVoterFactory2 : public IUnknown { + public: + virtual HRESULT WINAPI Create(ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot) = 0; + }; +#else + typedef struct ITransactionVoterFactory2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionVoterFactory2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionVoterFactory2 *This); + ULONG (WINAPI *Release)(ITransactionVoterFactory2 *This); + HRESULT (WINAPI *Create)(ITransactionVoterFactory2 *This,ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot); + END_INTERFACE + } ITransactionVoterFactory2Vtbl; + struct ITransactionVoterFactory2 { + CONST_VTBL struct ITransactionVoterFactory2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionVoterFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionVoterFactory2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionVoterFactory2_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionVoterFactory2_Create(This,pTransaction,pVoterNotify,ppVoterBallot) (This)->lpVtbl->Create(This,pTransaction,pVoterNotify,ppVoterBallot) +#endif +#endif + HRESULT WINAPI ITransactionVoterFactory2_Create_Proxy(ITransactionVoterFactory2 *This,ITransaction *pTransaction,ITransactionVoterNotifyAsync2 *pVoterNotify,ITransactionVoterBallotAsync2 **ppVoterBallot); + void __RPC_STUB ITransactionVoterFactory2_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__ +#define __ITransactionPhase0EnlistmentAsync_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionPhase0EnlistmentAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionPhase0EnlistmentAsync : public IUnknown { + public: + virtual HRESULT WINAPI Enable(void) = 0; + virtual HRESULT WINAPI WaitForEnlistment(void) = 0; + virtual HRESULT WINAPI Phase0Done(void) = 0; + virtual HRESULT WINAPI Unenlist(void) = 0; + virtual HRESULT WINAPI GetTransaction(ITransaction **ppITransaction) = 0; + }; +#else + typedef struct ITransactionPhase0EnlistmentAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionPhase0EnlistmentAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionPhase0EnlistmentAsync *This); + ULONG (WINAPI *Release)(ITransactionPhase0EnlistmentAsync *This); + HRESULT (WINAPI *Enable)(ITransactionPhase0EnlistmentAsync *This); + HRESULT (WINAPI *WaitForEnlistment)(ITransactionPhase0EnlistmentAsync *This); + HRESULT (WINAPI *Phase0Done)(ITransactionPhase0EnlistmentAsync *This); + HRESULT (WINAPI *Unenlist)(ITransactionPhase0EnlistmentAsync *This); + HRESULT (WINAPI *GetTransaction)(ITransactionPhase0EnlistmentAsync *This,ITransaction **ppITransaction); + END_INTERFACE + } ITransactionPhase0EnlistmentAsyncVtbl; + struct ITransactionPhase0EnlistmentAsync { + CONST_VTBL struct ITransactionPhase0EnlistmentAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionPhase0EnlistmentAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionPhase0EnlistmentAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionPhase0EnlistmentAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionPhase0EnlistmentAsync_Enable(This) (This)->lpVtbl->Enable(This) +#define ITransactionPhase0EnlistmentAsync_WaitForEnlistment(This) (This)->lpVtbl->WaitForEnlistment(This) +#define ITransactionPhase0EnlistmentAsync_Phase0Done(This) (This)->lpVtbl->Phase0Done(This) +#define ITransactionPhase0EnlistmentAsync_Unenlist(This) (This)->lpVtbl->Unenlist(This) +#define ITransactionPhase0EnlistmentAsync_GetTransaction(This,ppITransaction) (This)->lpVtbl->GetTransaction(This,ppITransaction) +#endif +#endif + HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Enable_Proxy(ITransactionPhase0EnlistmentAsync *This); + void __RPC_STUB ITransactionPhase0EnlistmentAsync_Enable_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Proxy(ITransactionPhase0EnlistmentAsync *This); + void __RPC_STUB ITransactionPhase0EnlistmentAsync_WaitForEnlistment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Phase0Done_Proxy(ITransactionPhase0EnlistmentAsync *This); + void __RPC_STUB ITransactionPhase0EnlistmentAsync_Phase0Done_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionPhase0EnlistmentAsync_Unenlist_Proxy(ITransactionPhase0EnlistmentAsync *This); + void __RPC_STUB ITransactionPhase0EnlistmentAsync_Unenlist_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionPhase0EnlistmentAsync_GetTransaction_Proxy(ITransactionPhase0EnlistmentAsync *This,ITransaction **ppITransaction); + void __RPC_STUB ITransactionPhase0EnlistmentAsync_GetTransaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__ +#define __ITransactionPhase0NotifyAsync_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionPhase0NotifyAsync; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionPhase0NotifyAsync : public IUnknown { + public: + virtual HRESULT WINAPI Phase0Request(WINBOOL fAbortingHint) = 0; + virtual HRESULT WINAPI EnlistCompleted(HRESULT status) = 0; + }; +#else + typedef struct ITransactionPhase0NotifyAsyncVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionPhase0NotifyAsync *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionPhase0NotifyAsync *This); + ULONG (WINAPI *Release)(ITransactionPhase0NotifyAsync *This); + HRESULT (WINAPI *Phase0Request)(ITransactionPhase0NotifyAsync *This,WINBOOL fAbortingHint); + HRESULT (WINAPI *EnlistCompleted)(ITransactionPhase0NotifyAsync *This,HRESULT status); + END_INTERFACE + } ITransactionPhase0NotifyAsyncVtbl; + struct ITransactionPhase0NotifyAsync { + CONST_VTBL struct ITransactionPhase0NotifyAsyncVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionPhase0NotifyAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionPhase0NotifyAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionPhase0NotifyAsync_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionPhase0NotifyAsync_Phase0Request(This,fAbortingHint) (This)->lpVtbl->Phase0Request(This,fAbortingHint) +#define ITransactionPhase0NotifyAsync_EnlistCompleted(This,status) (This)->lpVtbl->EnlistCompleted(This,status) +#endif +#endif + HRESULT WINAPI ITransactionPhase0NotifyAsync_Phase0Request_Proxy(ITransactionPhase0NotifyAsync *This,WINBOOL fAbortingHint); + void __RPC_STUB ITransactionPhase0NotifyAsync_Phase0Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionPhase0NotifyAsync_EnlistCompleted_Proxy(ITransactionPhase0NotifyAsync *This,HRESULT status); + void __RPC_STUB ITransactionPhase0NotifyAsync_EnlistCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionPhase0Factory_INTERFACE_DEFINED__ +#define __ITransactionPhase0Factory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionPhase0Factory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionPhase0Factory : public IUnknown { + public: + virtual HRESULT WINAPI Create(ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment) = 0; + }; +#else + typedef struct ITransactionPhase0FactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionPhase0Factory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionPhase0Factory *This); + ULONG (WINAPI *Release)(ITransactionPhase0Factory *This); + HRESULT (WINAPI *Create)(ITransactionPhase0Factory *This,ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment); + END_INTERFACE + } ITransactionPhase0FactoryVtbl; + struct ITransactionPhase0Factory { + CONST_VTBL struct ITransactionPhase0FactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionPhase0Factory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionPhase0Factory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionPhase0Factory_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionPhase0Factory_Create(This,pPhase0Notify,ppPhase0Enlistment) (This)->lpVtbl->Create(This,pPhase0Notify,ppPhase0Enlistment) +#endif +#endif + HRESULT WINAPI ITransactionPhase0Factory_Create_Proxy(ITransactionPhase0Factory *This,ITransactionPhase0NotifyAsync *pPhase0Notify,ITransactionPhase0EnlistmentAsync **ppPhase0Enlistment); + void __RPC_STUB ITransactionPhase0Factory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionTransmitter_INTERFACE_DEFINED__ +#define __ITransactionTransmitter_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionTransmitter; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionTransmitter : public IUnknown { + public: + virtual HRESULT WINAPI Set(ITransaction *pTransaction) = 0; + virtual HRESULT WINAPI GetPropagationTokenSize(ULONG *pcbToken) = 0; + virtual HRESULT WINAPI MarshalPropagationToken(ULONG cbToken,byte *rgbToken,ULONG *pcbUsed) = 0; + virtual HRESULT WINAPI UnmarshalReturnToken(ULONG cbReturnToken,byte *rgbReturnToken) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + }; +#else + typedef struct ITransactionTransmitterVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionTransmitter *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionTransmitter *This); + ULONG (WINAPI *Release)(ITransactionTransmitter *This); + HRESULT (WINAPI *Set)(ITransactionTransmitter *This,ITransaction *pTransaction); + HRESULT (WINAPI *GetPropagationTokenSize)(ITransactionTransmitter *This,ULONG *pcbToken); + HRESULT (WINAPI *MarshalPropagationToken)(ITransactionTransmitter *This,ULONG cbToken,byte *rgbToken,ULONG *pcbUsed); + HRESULT (WINAPI *UnmarshalReturnToken)(ITransactionTransmitter *This,ULONG cbReturnToken,byte *rgbReturnToken); + HRESULT (WINAPI *Reset)(ITransactionTransmitter *This); + END_INTERFACE + } ITransactionTransmitterVtbl; + struct ITransactionTransmitter { + CONST_VTBL struct ITransactionTransmitterVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionTransmitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionTransmitter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionTransmitter_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionTransmitter_Set(This,pTransaction) (This)->lpVtbl->Set(This,pTransaction) +#define ITransactionTransmitter_GetPropagationTokenSize(This,pcbToken) (This)->lpVtbl->GetPropagationTokenSize(This,pcbToken) +#define ITransactionTransmitter_MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed) (This)->lpVtbl->MarshalPropagationToken(This,cbToken,rgbToken,pcbUsed) +#define ITransactionTransmitter_UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken) (This)->lpVtbl->UnmarshalReturnToken(This,cbReturnToken,rgbReturnToken) +#define ITransactionTransmitter_Reset(This) (This)->lpVtbl->Reset(This) +#endif +#endif + HRESULT WINAPI ITransactionTransmitter_Set_Proxy(ITransactionTransmitter *This,ITransaction *pTransaction); + void __RPC_STUB ITransactionTransmitter_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionTransmitter_GetPropagationTokenSize_Proxy(ITransactionTransmitter *This,ULONG *pcbToken); + void __RPC_STUB ITransactionTransmitter_GetPropagationTokenSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionTransmitter_MarshalPropagationToken_Proxy(ITransactionTransmitter *This,ULONG cbToken,byte *rgbToken,ULONG *pcbUsed); + void __RPC_STUB ITransactionTransmitter_MarshalPropagationToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionTransmitter_UnmarshalReturnToken_Proxy(ITransactionTransmitter *This,ULONG cbReturnToken,byte *rgbReturnToken); + void __RPC_STUB ITransactionTransmitter_UnmarshalReturnToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionTransmitter_Reset_Proxy(ITransactionTransmitter *This); + void __RPC_STUB ITransactionTransmitter_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionTransmitterFactory_INTERFACE_DEFINED__ +#define __ITransactionTransmitterFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionTransmitterFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionTransmitterFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(ITransactionTransmitter **ppTransmitter) = 0; + }; +#else + typedef struct ITransactionTransmitterFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionTransmitterFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionTransmitterFactory *This); + ULONG (WINAPI *Release)(ITransactionTransmitterFactory *This); + HRESULT (WINAPI *Create)(ITransactionTransmitterFactory *This,ITransactionTransmitter **ppTransmitter); + END_INTERFACE + } ITransactionTransmitterFactoryVtbl; + struct ITransactionTransmitterFactory { + CONST_VTBL struct ITransactionTransmitterFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionTransmitterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionTransmitterFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionTransmitterFactory_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionTransmitterFactory_Create(This,ppTransmitter) (This)->lpVtbl->Create(This,ppTransmitter) +#endif +#endif + HRESULT WINAPI ITransactionTransmitterFactory_Create_Proxy(ITransactionTransmitterFactory *This,ITransactionTransmitter **ppTransmitter); + void __RPC_STUB ITransactionTransmitterFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionReceiver_INTERFACE_DEFINED__ +#define __ITransactionReceiver_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionReceiver; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionReceiver : public IUnknown { + public: + virtual HRESULT WINAPI UnmarshalPropagationToken(ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction) = 0; + virtual HRESULT WINAPI GetReturnTokenSize(ULONG *pcbReturnToken) = 0; + virtual HRESULT WINAPI MarshalReturnToken(ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + }; +#else + typedef struct ITransactionReceiverVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionReceiver *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionReceiver *This); + ULONG (WINAPI *Release)(ITransactionReceiver *This); + HRESULT (WINAPI *UnmarshalPropagationToken)(ITransactionReceiver *This,ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction); + HRESULT (WINAPI *GetReturnTokenSize)(ITransactionReceiver *This,ULONG *pcbReturnToken); + HRESULT (WINAPI *MarshalReturnToken)(ITransactionReceiver *This,ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed); + HRESULT (WINAPI *Reset)(ITransactionReceiver *This); + END_INTERFACE + } ITransactionReceiverVtbl; + struct ITransactionReceiver { + CONST_VTBL struct ITransactionReceiverVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionReceiver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionReceiver_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionReceiver_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionReceiver_UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction) (This)->lpVtbl->UnmarshalPropagationToken(This,cbToken,rgbToken,ppTransaction) +#define ITransactionReceiver_GetReturnTokenSize(This,pcbReturnToken) (This)->lpVtbl->GetReturnTokenSize(This,pcbReturnToken) +#define ITransactionReceiver_MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed) (This)->lpVtbl->MarshalReturnToken(This,cbReturnToken,rgbReturnToken,pcbUsed) +#define ITransactionReceiver_Reset(This) (This)->lpVtbl->Reset(This) +#endif +#endif + HRESULT WINAPI ITransactionReceiver_UnmarshalPropagationToken_Proxy(ITransactionReceiver *This,ULONG cbToken,byte *rgbToken,ITransaction **ppTransaction); + void __RPC_STUB ITransactionReceiver_UnmarshalPropagationToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionReceiver_GetReturnTokenSize_Proxy(ITransactionReceiver *This,ULONG *pcbReturnToken); + void __RPC_STUB ITransactionReceiver_GetReturnTokenSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionReceiver_MarshalReturnToken_Proxy(ITransactionReceiver *This,ULONG cbReturnToken,byte *rgbReturnToken,ULONG *pcbUsed); + void __RPC_STUB ITransactionReceiver_MarshalReturnToken_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ITransactionReceiver_Reset_Proxy(ITransactionReceiver *This); + void __RPC_STUB ITransactionReceiver_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ITransactionReceiverFactory_INTERFACE_DEFINED__ +#define __ITransactionReceiverFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ITransactionReceiverFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ITransactionReceiverFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(ITransactionReceiver **ppReceiver) = 0; + }; +#else + typedef struct ITransactionReceiverFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ITransactionReceiverFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ITransactionReceiverFactory *This); + ULONG (WINAPI *Release)(ITransactionReceiverFactory *This); + HRESULT (WINAPI *Create)(ITransactionReceiverFactory *This,ITransactionReceiver **ppReceiver); + END_INTERFACE + } ITransactionReceiverFactoryVtbl; + struct ITransactionReceiverFactory { + CONST_VTBL struct ITransactionReceiverFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ITransactionReceiverFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransactionReceiverFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransactionReceiverFactory_Release(This) (This)->lpVtbl->Release(This) +#define ITransactionReceiverFactory_Create(This,ppReceiver) (This)->lpVtbl->Create(This,ppReceiver) +#endif +#endif + HRESULT WINAPI ITransactionReceiverFactory_Create_Proxy(ITransactionReceiverFactory *This,ITransactionReceiver **ppReceiver); + void __RPC_STUB ITransactionReceiverFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + typedef struct _ProxyConfigParams { + WORD wcThreadsMax; + } PROXY_CONFIG_PARAMS; + + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0141_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0141_v0_0_s_ifspec; +#ifndef __IDtcLuConfigure_INTERFACE_DEFINED__ +#define __IDtcLuConfigure_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuConfigure; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuConfigure : public IUnknown { + public: + virtual HRESULT WINAPI Add(byte *pucLuPair,DWORD cbLuPair) = 0; + virtual HRESULT WINAPI Delete(byte *pucLuPair,DWORD cbLuPair) = 0; + }; +#else + typedef struct IDtcLuConfigureVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuConfigure *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuConfigure *This); + ULONG (WINAPI *Release)(IDtcLuConfigure *This); + HRESULT (WINAPI *Add)(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair); + HRESULT (WINAPI *Delete)(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair); + END_INTERFACE + } IDtcLuConfigureVtbl; + struct IDtcLuConfigure { + CONST_VTBL struct IDtcLuConfigureVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuConfigure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuConfigure_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuConfigure_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuConfigure_Add(This,pucLuPair,cbLuPair) (This)->lpVtbl->Add(This,pucLuPair,cbLuPair) +#define IDtcLuConfigure_Delete(This,pucLuPair,cbLuPair) (This)->lpVtbl->Delete(This,pucLuPair,cbLuPair) +#endif +#endif + HRESULT WINAPI IDtcLuConfigure_Add_Proxy(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair); + void __RPC_STUB IDtcLuConfigure_Add_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuConfigure_Delete_Proxy(IDtcLuConfigure *This,byte *pucLuPair,DWORD cbLuPair); + void __RPC_STUB IDtcLuConfigure_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRecovery_INTERFACE_DEFINED__ +#define __IDtcLuRecovery_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecovery; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecovery : public IUnknown { + }; +#else + typedef struct IDtcLuRecoveryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecovery *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecovery *This); + ULONG (WINAPI *Release)(IDtcLuRecovery *This); + END_INTERFACE + } IDtcLuRecoveryVtbl; + struct IDtcLuRecovery { + CONST_VTBL struct IDtcLuRecoveryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecovery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecovery_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecovery_Release(This) (This)->lpVtbl->Release(This) +#endif +#endif +#endif + +#ifndef __IDtcLuRecoveryFactory_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery) = 0; + }; +#else + typedef struct IDtcLuRecoveryFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryFactory *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryFactory *This); + HRESULT (WINAPI *Create)(IDtcLuRecoveryFactory *This,byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery); + END_INTERFACE + } IDtcLuRecoveryFactoryVtbl; + struct IDtcLuRecoveryFactory { + CONST_VTBL struct IDtcLuRecoveryFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryFactory_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryFactory_Create(This,pucLuPair,cbLuPair,ppRecovery) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,ppRecovery) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryFactory_Create_Proxy(IDtcLuRecoveryFactory *This,byte *pucLuPair,DWORD cbLuPair,IDtcLuRecovery **ppRecovery); + void __RPC_STUB IDtcLuRecoveryFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + typedef enum _DtcLu_LocalRecovery_Work { + DTCINITIATEDRECOVERYWORK_CHECKLUSTATUS = 1, + DTCINITIATEDRECOVERYWORK_TRANS,DTCINITIATEDRECOVERYWORK_TMDOWN + } DTCINITIATEDRECOVERYWORK; + + typedef enum _DtcLu_Xln { + DTCLUXLN_COLD = 1,DTCLUXLN_WARM + } DTCLUXLN; + + typedef enum _DtcLu_Xln_Confirmation { + DTCLUXLNCONFIRMATION_CONFIRM = 1, + DTCLUXLNCONFIRMATION_LOGNAMEMISMATCH,DTCLUXLNCONFIRMATION_COLDWARMMISMATCH, + DTCLUXLNCONFIRMATION_OBSOLETE + } DTCLUXLNCONFIRMATION; + + typedef enum _DtcLu_Xln_Response { + DTCLUXLNRESPONSE_OK_SENDOURXLNBACK = 1, + DTCLUXLNRESPONSE_OK_SENDCONFIRMATION,DTCLUXLNRESPONSE_LOGNAMEMISMATCH, + DTCLUXLNRESPONSE_COLDWARMMISMATCH + } DTCLUXLNRESPONSE; + + typedef enum _DtcLu_Xln_Error { + DTCLUXLNERROR_PROTOCOL = 1, + DTCLUXLNERROR_LOGNAMEMISMATCH,DTCLUXLNERROR_COLDWARMMISMATCH + } DTCLUXLNERROR; + + typedef enum _DtcLu_CompareState { + DTCLUCOMPARESTATE_COMMITTED = 1, + DTCLUCOMPARESTATE_HEURISTICCOMMITTED,DTCLUCOMPARESTATE_HEURISTICMIXED, + DTCLUCOMPARESTATE_HEURISTICRESET,DTCLUCOMPARESTATE_INDOUBT,DTCLUCOMPARESTATE_RESET + } DTCLUCOMPARESTATE; + + typedef enum _DtcLu_CompareStates_Confirmation { + DTCLUCOMPARESTATESCONFIRMATION_CONFIRM = 1, + DTCLUCOMPARESTATESCONFIRMATION_PROTOCOL + } DTCLUCOMPARESTATESCONFIRMATION; + + typedef enum _DtcLu_CompareStates_Error { + DTCLUCOMPARESTATESERROR_PROTOCOL = 1 + } DTCLUCOMPARESTATESERROR; + + typedef enum _DtcLu_CompareStates_Response { + DTCLUCOMPARESTATESRESPONSE_OK = 1, + DTCLUCOMPARESTATESRESPONSE_PROTOCOL + } DTCLUCOMPARESTATESRESPONSE; + + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0144_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0144_v0_0_s_ifspec; +#ifndef __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtcTransWork_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcTransWork; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryInitiatedByDtcTransWork : public IUnknown { + public: + virtual HRESULT WINAPI GetLogNameSizes(DWORD *pcbOurLogName,DWORD *pcbRemoteLogName) = 0; + virtual HRESULT WINAPI GetOurXln(DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol) = 0; + virtual HRESULT WINAPI HandleConfirmationFromOurXln(DTCLUXLNCONFIRMATION Confirmation) = 0; + virtual HRESULT WINAPI HandleTheirXlnResponse(DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation) = 0; + virtual HRESULT WINAPI HandleErrorFromOurXln(DTCLUXLNERROR Error) = 0; + virtual HRESULT WINAPI CheckForCompareStates(WINBOOL *fCompareStates) = 0; + virtual HRESULT WINAPI GetOurTransIdSize(DWORD *pcbOurTransId) = 0; + virtual HRESULT WINAPI GetOurCompareStates(unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState) = 0; + virtual HRESULT WINAPI HandleTheirCompareStatesResponse(DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation) = 0; + virtual HRESULT WINAPI HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error) = 0; + virtual HRESULT WINAPI ConversationLost(void) = 0; + virtual HRESULT WINAPI GetRecoverySeqNum(LONG *plRecoverySeqNum) = 0; + virtual HRESULT WINAPI ObsoleteRecoverySeqNum(LONG lNewRecoverySeqNum) = 0; + }; +#else + typedef struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtcTransWork *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtcTransWork *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtcTransWork *This); + HRESULT (WINAPI *GetLogNameSizes)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurLogName,DWORD *pcbRemoteLogName); + HRESULT (WINAPI *GetOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol); + HRESULT (WINAPI *HandleConfirmationFromOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNCONFIRMATION Confirmation); + HRESULT (WINAPI *HandleTheirXlnResponse)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation); + HRESULT (WINAPI *HandleErrorFromOurXln)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNERROR Error); + HRESULT (WINAPI *CheckForCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,WINBOOL *fCompareStates); + HRESULT (WINAPI *GetOurTransIdSize)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurTransId); + HRESULT (WINAPI *GetOurCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState); + HRESULT (WINAPI *HandleTheirCompareStatesResponse)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation); + HRESULT (WINAPI *HandleErrorFromOurCompareStates)(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATESERROR Error); + HRESULT (WINAPI *ConversationLost)(IDtcLuRecoveryInitiatedByDtcTransWork *This); + HRESULT (WINAPI *GetRecoverySeqNum)(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG *plRecoverySeqNum); + HRESULT (WINAPI *ObsoleteRecoverySeqNum)(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG lNewRecoverySeqNum); + END_INTERFACE + } IDtcLuRecoveryInitiatedByDtcTransWorkVtbl; + struct IDtcLuRecoveryInitiatedByDtcTransWork { + CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcTransWorkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryInitiatedByDtcTransWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryInitiatedByDtcTransWork_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryInitiatedByDtcTransWork_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName) (This)->lpVtbl->GetLogNameSizes(This,pcbOurLogName,pcbRemoteLogName) +#define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol) (This)->lpVtbl->GetOurXln(This,pXln,pOurLogName,pRemoteLogName,pdwProtocol) +#define IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln(This,Confirmation) (This)->lpVtbl->HandleConfirmationFromOurXln(This,Confirmation) +#define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation) (This)->lpVtbl->HandleTheirXlnResponse(This,Xln,pRemoteLogName,cbRemoteLogName,dwProtocol,pConfirmation) +#define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln(This,Error) (This)->lpVtbl->HandleErrorFromOurXln(This,Error) +#define IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates(This,fCompareStates) (This)->lpVtbl->CheckForCompareStates(This,fCompareStates) +#define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize(This,pcbOurTransId) (This)->lpVtbl->GetOurTransIdSize(This,pcbOurTransId) +#define IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates(This,pOurTransId,pCompareState) (This)->lpVtbl->GetOurCompareStates(This,pOurTransId,pCompareState) +#define IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse(This,CompareState,pConfirmation) (This)->lpVtbl->HandleTheirCompareStatesResponse(This,CompareState,pConfirmation) +#define IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates(This,Error) (This)->lpVtbl->HandleErrorFromOurCompareStates(This,Error) +#define IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost(This) (This)->lpVtbl->ConversationLost(This) +#define IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum(This,plRecoverySeqNum) (This)->lpVtbl->GetRecoverySeqNum(This,plRecoverySeqNum) +#define IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum) (This)->lpVtbl->ObsoleteRecoverySeqNum(This,lNewRecoverySeqNum) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurLogName,DWORD *pcbRemoteLogName); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetLogNameSizes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,unsigned char *pRemoteLogName,DWORD *pdwProtocol); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNCONFIRMATION Confirmation); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleConfirmationFromOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,DWORD dwProtocol,DTCLUXLNCONFIRMATION *pConfirmation); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirXlnResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUXLNERROR Error); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,WINBOOL *fCompareStates); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_CheckForCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DWORD *pcbOurTransId); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurTransIdSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,unsigned char *pOurTransId,DTCLUCOMPARESTATE *pCompareState); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESCONFIRMATION *pConfirmation); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleTheirCompareStatesResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,DTCLUCOMPARESTATESERROR Error); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_HandleErrorFromOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ConversationLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG *plRecoverySeqNum); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_GetRecoverySeqNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Proxy(IDtcLuRecoveryInitiatedByDtcTransWork *This,LONG lNewRecoverySeqNum); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcTransWork_ObsoleteRecoverySeqNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtcStatusWork_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtcStatusWork; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryInitiatedByDtcStatusWork : public IUnknown { + public: + virtual HRESULT WINAPI HandleCheckLuStatus(LONG lRecoverySeqNum) = 0; + }; +#else + typedef struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtcStatusWork *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtcStatusWork *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtcStatusWork *This); + HRESULT (WINAPI *HandleCheckLuStatus)(IDtcLuRecoveryInitiatedByDtcStatusWork *This,LONG lRecoverySeqNum); + END_INTERFACE + } IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl; + struct IDtcLuRecoveryInitiatedByDtcStatusWork { + CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcStatusWorkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryInitiatedByDtcStatusWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryInitiatedByDtcStatusWork_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryInitiatedByDtcStatusWork_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus(This,lRecoverySeqNum) (This)->lpVtbl->HandleCheckLuStatus(This,lRecoverySeqNum) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Proxy(IDtcLuRecoveryInitiatedByDtcStatusWork *This,LONG lRecoverySeqNum); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtcStatusWork_HandleCheckLuStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryInitiatedByDtc_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByDtc; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryInitiatedByDtc : public IUnknown { + public: + virtual HRESULT WINAPI GetWork(DTCINITIATEDRECOVERYWORK *pWork,void **ppv) = 0; + }; +#else + typedef struct IDtcLuRecoveryInitiatedByDtcVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByDtc *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByDtc *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByDtc *This); + HRESULT (WINAPI *GetWork)(IDtcLuRecoveryInitiatedByDtc *This,DTCINITIATEDRECOVERYWORK *pWork,void **ppv); + END_INTERFACE + } IDtcLuRecoveryInitiatedByDtcVtbl; + struct IDtcLuRecoveryInitiatedByDtc { + CONST_VTBL struct IDtcLuRecoveryInitiatedByDtcVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryInitiatedByDtc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryInitiatedByDtc_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryInitiatedByDtc_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryInitiatedByDtc_GetWork(This,pWork,ppv) (This)->lpVtbl->GetWork(This,pWork,ppv) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryInitiatedByDtc_GetWork_Proxy(IDtcLuRecoveryInitiatedByDtc *This,DTCINITIATEDRECOVERYWORK *pWork,void **ppv); + void __RPC_STUB IDtcLuRecoveryInitiatedByDtc_GetWork_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryInitiatedByLuWork_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLuWork; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryInitiatedByLuWork : public IUnknown { + public: + virtual HRESULT WINAPI HandleTheirXln(LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse) = 0; + virtual HRESULT WINAPI GetOurLogNameSize(DWORD *pcbOurLogName) = 0; + virtual HRESULT WINAPI GetOurXln(DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol) = 0; + virtual HRESULT WINAPI HandleConfirmationOfOurXln(DTCLUXLNCONFIRMATION Confirmation) = 0; + virtual HRESULT WINAPI HandleTheirCompareStates(unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState) = 0; + virtual HRESULT WINAPI HandleConfirmationOfOurCompareStates(DTCLUCOMPARESTATESCONFIRMATION Confirmation) = 0; + virtual HRESULT WINAPI HandleErrorFromOurCompareStates(DTCLUCOMPARESTATESERROR Error) = 0; + virtual HRESULT WINAPI ConversationLost(void) = 0; + }; +#else + typedef struct IDtcLuRecoveryInitiatedByLuWorkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByLuWork *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByLuWork *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByLuWork *This); + HRESULT (WINAPI *HandleTheirXln)(IDtcLuRecoveryInitiatedByLuWork *This,LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse); + HRESULT (WINAPI *GetOurLogNameSize)(IDtcLuRecoveryInitiatedByLuWork *This,DWORD *pcbOurLogName); + HRESULT (WINAPI *GetOurXln)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol); + HRESULT (WINAPI *HandleConfirmationOfOurXln)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLNCONFIRMATION Confirmation); + HRESULT (WINAPI *HandleTheirCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState); + HRESULT (WINAPI *HandleConfirmationOfOurCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESCONFIRMATION Confirmation); + HRESULT (WINAPI *HandleErrorFromOurCompareStates)(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESERROR Error); + HRESULT (WINAPI *ConversationLost)(IDtcLuRecoveryInitiatedByLuWork *This); + END_INTERFACE + } IDtcLuRecoveryInitiatedByLuWorkVtbl; + struct IDtcLuRecoveryInitiatedByLuWork { + CONST_VTBL struct IDtcLuRecoveryInitiatedByLuWorkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryInitiatedByLuWork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryInitiatedByLuWork_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryInitiatedByLuWork_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse) (This)->lpVtbl->HandleTheirXln(This,lRecoverySeqNum,Xln,pRemoteLogName,cbRemoteLogName,pOurLogName,cbOurLogName,dwProtocol,pResponse) +#define IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize(This,pcbOurLogName) (This)->lpVtbl->GetOurLogNameSize(This,pcbOurLogName) +#define IDtcLuRecoveryInitiatedByLuWork_GetOurXln(This,pXln,pOurLogName,pdwProtocol) (This)->lpVtbl->GetOurXln(This,pXln,pOurLogName,pdwProtocol) +#define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln(This,Confirmation) (This)->lpVtbl->HandleConfirmationOfOurXln(This,Confirmation) +#define IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState) (This)->lpVtbl->HandleTheirCompareStates(This,pRemoteTransId,cbRemoteTransId,CompareState,pResponse,pCompareState) +#define IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates(This,Confirmation) (This)->lpVtbl->HandleConfirmationOfOurCompareStates(This,Confirmation) +#define IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates(This,Error) (This)->lpVtbl->HandleErrorFromOurCompareStates(This,Error) +#define IDtcLuRecoveryInitiatedByLuWork_ConversationLost(This) (This)->lpVtbl->ConversationLost(This) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,LONG lRecoverySeqNum,DTCLUXLN Xln,unsigned char *pRemoteLogName,DWORD cbRemoteLogName,unsigned char *pOurLogName,DWORD cbOurLogName,DWORD dwProtocol,DTCLUXLNRESPONSE *pResponse); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DWORD *pcbOurLogName); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurLogNameSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLN *pXln,unsigned char *pOurLogName,DWORD *pdwProtocol); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_GetOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUXLNCONFIRMATION Confirmation); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurXln_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,unsigned char *pRemoteTransId,DWORD cbRemoteTransId,DTCLUCOMPARESTATE CompareState,DTCLUCOMPARESTATESRESPONSE *pResponse,DTCLUCOMPARESTATE *pCompareState); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleTheirCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESCONFIRMATION Confirmation); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleConfirmationOfOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Proxy(IDtcLuRecoveryInitiatedByLuWork *This,DTCLUCOMPARESTATESERROR Error); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_HandleErrorFromOurCompareStates_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Proxy(IDtcLuRecoveryInitiatedByLuWork *This); + void __RPC_STUB IDtcLuRecoveryInitiatedByLuWork_ConversationLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__ +#define __IDtcLuRecoveryInitiatedByLu_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRecoveryInitiatedByLu; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRecoveryInitiatedByLu : public IUnknown { + public: + virtual HRESULT WINAPI GetObjectToHandleWorkFromLu(IDtcLuRecoveryInitiatedByLuWork **ppWork) = 0; + }; +#else + typedef struct IDtcLuRecoveryInitiatedByLuVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRecoveryInitiatedByLu *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRecoveryInitiatedByLu *This); + ULONG (WINAPI *Release)(IDtcLuRecoveryInitiatedByLu *This); + HRESULT (WINAPI *GetObjectToHandleWorkFromLu)(IDtcLuRecoveryInitiatedByLu *This,IDtcLuRecoveryInitiatedByLuWork **ppWork); + END_INTERFACE + } IDtcLuRecoveryInitiatedByLuVtbl; + struct IDtcLuRecoveryInitiatedByLu { + CONST_VTBL struct IDtcLuRecoveryInitiatedByLuVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRecoveryInitiatedByLu_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRecoveryInitiatedByLu_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRecoveryInitiatedByLu_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu(This,ppWork) (This)->lpVtbl->GetObjectToHandleWorkFromLu(This,ppWork) +#endif +#endif + HRESULT WINAPI IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Proxy(IDtcLuRecoveryInitiatedByLu *This,IDtcLuRecoveryInitiatedByLuWork **ppWork); + void __RPC_STUB IDtcLuRecoveryInitiatedByLu_GetObjectToHandleWorkFromLu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRmEnlistment_INTERFACE_DEFINED__ +#define __IDtcLuRmEnlistment_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRmEnlistment; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRmEnlistment : public IUnknown { + public: + virtual HRESULT WINAPI Unplug(WINBOOL fConversationLost) = 0; + virtual HRESULT WINAPI BackedOut(void) = 0; + virtual HRESULT WINAPI BackOut(void) = 0; + virtual HRESULT WINAPI Committed(void) = 0; + virtual HRESULT WINAPI Forget(void) = 0; + virtual HRESULT WINAPI RequestCommit(void) = 0; + }; +#else + typedef struct IDtcLuRmEnlistmentVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistment *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRmEnlistment *This); + ULONG (WINAPI *Release)(IDtcLuRmEnlistment *This); + HRESULT (WINAPI *Unplug)(IDtcLuRmEnlistment *This,WINBOOL fConversationLost); + HRESULT (WINAPI *BackedOut)(IDtcLuRmEnlistment *This); + HRESULT (WINAPI *BackOut)(IDtcLuRmEnlistment *This); + HRESULT (WINAPI *Committed)(IDtcLuRmEnlistment *This); + HRESULT (WINAPI *Forget)(IDtcLuRmEnlistment *This); + HRESULT (WINAPI *RequestCommit)(IDtcLuRmEnlistment *This); + END_INTERFACE + } IDtcLuRmEnlistmentVtbl; + struct IDtcLuRmEnlistment { + CONST_VTBL struct IDtcLuRmEnlistmentVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRmEnlistment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRmEnlistment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRmEnlistment_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRmEnlistment_Unplug(This,fConversationLost) (This)->lpVtbl->Unplug(This,fConversationLost) +#define IDtcLuRmEnlistment_BackedOut(This) (This)->lpVtbl->BackedOut(This) +#define IDtcLuRmEnlistment_BackOut(This) (This)->lpVtbl->BackOut(This) +#define IDtcLuRmEnlistment_Committed(This) (This)->lpVtbl->Committed(This) +#define IDtcLuRmEnlistment_Forget(This) (This)->lpVtbl->Forget(This) +#define IDtcLuRmEnlistment_RequestCommit(This) (This)->lpVtbl->RequestCommit(This) +#endif +#endif + HRESULT WINAPI IDtcLuRmEnlistment_Unplug_Proxy(IDtcLuRmEnlistment *This,WINBOOL fConversationLost); + void __RPC_STUB IDtcLuRmEnlistment_Unplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistment_BackedOut_Proxy(IDtcLuRmEnlistment *This); + void __RPC_STUB IDtcLuRmEnlistment_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistment_BackOut_Proxy(IDtcLuRmEnlistment *This); + void __RPC_STUB IDtcLuRmEnlistment_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistment_Committed_Proxy(IDtcLuRmEnlistment *This); + void __RPC_STUB IDtcLuRmEnlistment_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistment_Forget_Proxy(IDtcLuRmEnlistment *This); + void __RPC_STUB IDtcLuRmEnlistment_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistment_RequestCommit_Proxy(IDtcLuRmEnlistment *This); + void __RPC_STUB IDtcLuRmEnlistment_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__ +#define __IDtcLuRmEnlistmentSink_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRmEnlistmentSink; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRmEnlistmentSink : public IUnknown { + public: + virtual HRESULT WINAPI AckUnplug(void) = 0; + virtual HRESULT WINAPI TmDown(void) = 0; + virtual HRESULT WINAPI SessionLost(void) = 0; + virtual HRESULT WINAPI BackedOut(void) = 0; + virtual HRESULT WINAPI BackOut(void) = 0; + virtual HRESULT WINAPI Committed(void) = 0; + virtual HRESULT WINAPI Forget(void) = 0; + virtual HRESULT WINAPI Prepare(void) = 0; + virtual HRESULT WINAPI RequestCommit(void) = 0; + }; +#else + typedef struct IDtcLuRmEnlistmentSinkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistmentSink *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRmEnlistmentSink *This); + ULONG (WINAPI *Release)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *AckUnplug)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *TmDown)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *SessionLost)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *BackedOut)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *BackOut)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *Committed)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *Forget)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *Prepare)(IDtcLuRmEnlistmentSink *This); + HRESULT (WINAPI *RequestCommit)(IDtcLuRmEnlistmentSink *This); + END_INTERFACE + } IDtcLuRmEnlistmentSinkVtbl; + struct IDtcLuRmEnlistmentSink { + CONST_VTBL struct IDtcLuRmEnlistmentSinkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRmEnlistmentSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRmEnlistmentSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRmEnlistmentSink_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRmEnlistmentSink_AckUnplug(This) (This)->lpVtbl->AckUnplug(This) +#define IDtcLuRmEnlistmentSink_TmDown(This) (This)->lpVtbl->TmDown(This) +#define IDtcLuRmEnlistmentSink_SessionLost(This) (This)->lpVtbl->SessionLost(This) +#define IDtcLuRmEnlistmentSink_BackedOut(This) (This)->lpVtbl->BackedOut(This) +#define IDtcLuRmEnlistmentSink_BackOut(This) (This)->lpVtbl->BackOut(This) +#define IDtcLuRmEnlistmentSink_Committed(This) (This)->lpVtbl->Committed(This) +#define IDtcLuRmEnlistmentSink_Forget(This) (This)->lpVtbl->Forget(This) +#define IDtcLuRmEnlistmentSink_Prepare(This) (This)->lpVtbl->Prepare(This) +#define IDtcLuRmEnlistmentSink_RequestCommit(This) (This)->lpVtbl->RequestCommit(This) +#endif +#endif + HRESULT WINAPI IDtcLuRmEnlistmentSink_AckUnplug_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_AckUnplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_TmDown_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_TmDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_SessionLost_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_SessionLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_BackedOut_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_BackOut_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_Committed_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_Forget_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_Prepare_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuRmEnlistmentSink_RequestCommit_Proxy(IDtcLuRmEnlistmentSink *This); + void __RPC_STUB IDtcLuRmEnlistmentSink_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__ +#define __IDtcLuRmEnlistmentFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuRmEnlistmentFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuRmEnlistmentFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment) = 0; + }; +#else + typedef struct IDtcLuRmEnlistmentFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuRmEnlistmentFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuRmEnlistmentFactory *This); + ULONG (WINAPI *Release)(IDtcLuRmEnlistmentFactory *This); + HRESULT (WINAPI *Create)(IDtcLuRmEnlistmentFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment); + END_INTERFACE + } IDtcLuRmEnlistmentFactoryVtbl; + struct IDtcLuRmEnlistmentFactory { + CONST_VTBL struct IDtcLuRmEnlistmentFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuRmEnlistmentFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuRmEnlistmentFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuRmEnlistmentFactory_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuRmEnlistmentFactory_Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,pITransaction,pTransId,cbTransId,pRmEnlistmentSink,ppRmEnlistment) +#endif +#endif + HRESULT WINAPI IDtcLuRmEnlistmentFactory_Create_Proxy(IDtcLuRmEnlistmentFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,ITransaction *pITransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuRmEnlistmentSink *pRmEnlistmentSink,IDtcLuRmEnlistment **ppRmEnlistment); + void __RPC_STUB IDtcLuRmEnlistmentFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuSubordinateDtc_INTERFACE_DEFINED__ +#define __IDtcLuSubordinateDtc_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuSubordinateDtc; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuSubordinateDtc : public IUnknown { + public: + virtual HRESULT WINAPI Unplug(WINBOOL fConversationLost) = 0; + virtual HRESULT WINAPI BackedOut(void) = 0; + virtual HRESULT WINAPI BackOut(void) = 0; + virtual HRESULT WINAPI Committed(void) = 0; + virtual HRESULT WINAPI Forget(void) = 0; + virtual HRESULT WINAPI Prepare(void) = 0; + virtual HRESULT WINAPI RequestCommit(void) = 0; + }; +#else + typedef struct IDtcLuSubordinateDtcVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtc *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtc *This); + ULONG (WINAPI *Release)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *Unplug)(IDtcLuSubordinateDtc *This,WINBOOL fConversationLost); + HRESULT (WINAPI *BackedOut)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *BackOut)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *Committed)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *Forget)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *Prepare)(IDtcLuSubordinateDtc *This); + HRESULT (WINAPI *RequestCommit)(IDtcLuSubordinateDtc *This); + END_INTERFACE + } IDtcLuSubordinateDtcVtbl; + struct IDtcLuSubordinateDtc { + CONST_VTBL struct IDtcLuSubordinateDtcVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuSubordinateDtc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuSubordinateDtc_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuSubordinateDtc_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuSubordinateDtc_Unplug(This,fConversationLost) (This)->lpVtbl->Unplug(This,fConversationLost) +#define IDtcLuSubordinateDtc_BackedOut(This) (This)->lpVtbl->BackedOut(This) +#define IDtcLuSubordinateDtc_BackOut(This) (This)->lpVtbl->BackOut(This) +#define IDtcLuSubordinateDtc_Committed(This) (This)->lpVtbl->Committed(This) +#define IDtcLuSubordinateDtc_Forget(This) (This)->lpVtbl->Forget(This) +#define IDtcLuSubordinateDtc_Prepare(This) (This)->lpVtbl->Prepare(This) +#define IDtcLuSubordinateDtc_RequestCommit(This) (This)->lpVtbl->RequestCommit(This) +#endif +#endif + HRESULT WINAPI IDtcLuSubordinateDtc_Unplug_Proxy(IDtcLuSubordinateDtc *This,WINBOOL fConversationLost); + void __RPC_STUB IDtcLuSubordinateDtc_Unplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_BackedOut_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_BackOut_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_Committed_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_Forget_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_Prepare_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_Prepare_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtc_RequestCommit_Proxy(IDtcLuSubordinateDtc *This); + void __RPC_STUB IDtcLuSubordinateDtc_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__ +#define __IDtcLuSubordinateDtcSink_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuSubordinateDtcSink; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuSubordinateDtcSink : public IUnknown { + public: + virtual HRESULT WINAPI AckUnplug(void) = 0; + virtual HRESULT WINAPI TmDown(void) = 0; + virtual HRESULT WINAPI SessionLost(void) = 0; + virtual HRESULT WINAPI BackedOut(void) = 0; + virtual HRESULT WINAPI BackOut(void) = 0; + virtual HRESULT WINAPI Committed(void) = 0; + virtual HRESULT WINAPI Forget(void) = 0; + virtual HRESULT WINAPI RequestCommit(void) = 0; + }; +#else + typedef struct IDtcLuSubordinateDtcSinkVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtcSink *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtcSink *This); + ULONG (WINAPI *Release)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *AckUnplug)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *TmDown)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *SessionLost)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *BackedOut)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *BackOut)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *Committed)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *Forget)(IDtcLuSubordinateDtcSink *This); + HRESULT (WINAPI *RequestCommit)(IDtcLuSubordinateDtcSink *This); + END_INTERFACE + } IDtcLuSubordinateDtcSinkVtbl; + struct IDtcLuSubordinateDtcSink { + CONST_VTBL struct IDtcLuSubordinateDtcSinkVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuSubordinateDtcSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuSubordinateDtcSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuSubordinateDtcSink_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuSubordinateDtcSink_AckUnplug(This) (This)->lpVtbl->AckUnplug(This) +#define IDtcLuSubordinateDtcSink_TmDown(This) (This)->lpVtbl->TmDown(This) +#define IDtcLuSubordinateDtcSink_SessionLost(This) (This)->lpVtbl->SessionLost(This) +#define IDtcLuSubordinateDtcSink_BackedOut(This) (This)->lpVtbl->BackedOut(This) +#define IDtcLuSubordinateDtcSink_BackOut(This) (This)->lpVtbl->BackOut(This) +#define IDtcLuSubordinateDtcSink_Committed(This) (This)->lpVtbl->Committed(This) +#define IDtcLuSubordinateDtcSink_Forget(This) (This)->lpVtbl->Forget(This) +#define IDtcLuSubordinateDtcSink_RequestCommit(This) (This)->lpVtbl->RequestCommit(This) +#endif +#endif + HRESULT WINAPI IDtcLuSubordinateDtcSink_AckUnplug_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_AckUnplug_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_TmDown_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_TmDown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_SessionLost_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_SessionLost_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_BackedOut_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_BackedOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_BackOut_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_BackOut_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_Committed_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_Committed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_Forget_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_Forget_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IDtcLuSubordinateDtcSink_RequestCommit_Proxy(IDtcLuSubordinateDtcSink *This); + void __RPC_STUB IDtcLuSubordinateDtcSink_RequestCommit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__ +#define __IDtcLuSubordinateDtcFactory_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IDtcLuSubordinateDtcFactory; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IDtcLuSubordinateDtcFactory : public IUnknown { + public: + virtual HRESULT WINAPI Create(unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc) = 0; + }; +#else + typedef struct IDtcLuSubordinateDtcFactoryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IDtcLuSubordinateDtcFactory *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IDtcLuSubordinateDtcFactory *This); + ULONG (WINAPI *Release)(IDtcLuSubordinateDtcFactory *This); + HRESULT (WINAPI *Create)(IDtcLuSubordinateDtcFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc); + END_INTERFACE + } IDtcLuSubordinateDtcFactoryVtbl; + struct IDtcLuSubordinateDtcFactory { + CONST_VTBL struct IDtcLuSubordinateDtcFactoryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IDtcLuSubordinateDtcFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDtcLuSubordinateDtcFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDtcLuSubordinateDtcFactory_Release(This) (This)->lpVtbl->Release(This) +#define IDtcLuSubordinateDtcFactory_Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc) (This)->lpVtbl->Create(This,pucLuPair,cbLuPair,punkTransactionOuter,isoLevel,isoFlags,pOptions,ppTransaction,pTransId,cbTransId,pSubordinateDtcSink,ppSubordinateDtc) +#endif +#endif + HRESULT WINAPI IDtcLuSubordinateDtcFactory_Create_Proxy(IDtcLuSubordinateDtcFactory *This,unsigned char *pucLuPair,DWORD cbLuPair,IUnknown *punkTransactionOuter,ISOLEVEL isoLevel,ULONG isoFlags,ITransactionOptions *pOptions,ITransaction **ppTransaction,unsigned char *pTransId,DWORD cbTransId,IDtcLuSubordinateDtcSink *pSubordinateDtcSink,IDtcLuSubordinateDtc **ppSubordinateDtc); + void __RPC_STUB IDtcLuSubordinateDtcFactory_Create_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + DEFINE_GUID(IID_IXATransLookup,0xF3B1F131,0xEEDA,0x11ce,0xAE,0xD4,0x00,0xAA,0x00,0x51,0xE2,0xC4); + DEFINE_GUID(IID_IXATransLookup2,0xbf193c85,0xd1a,0x4290,0xb8,0x8f,0xd2,0xcb,0x88,0x73,0xd1,0xe7); + DEFINE_GUID(IID_IResourceManagerSink,0x0D563181,0xDEFB,0x11ce,0xAE,0xD1,0x00,0xAA,0x00,0x51,0xE2,0xC4); + DEFINE_GUID(IID_IResourceManager,0x3741d21,0x87eb,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e); + DEFINE_GUID(IID_IResourceManager2,0xd136c69a,0xf749,0x11d1,0x8f,0x47,0x0,0xc0,0x4f,0x8e,0xe5,0x7d); + DEFINE_GUID(IID_ILastResourceManager,0x4d964ad4,0x5b33,0x11d3,0x8a,0x91,0x00,0xc0,0x4f,0x79,0xeb,0x6d); + DEFINE_GUID(IID_IXAConfig,0xC8A6E3A1,0x9A8C,0x11cf,0xA3,0x08,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IRMHelper,0xE793F6D1,0xF53D,0x11cf,0xA6,0x0D,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IXAObtainRMInfo,0xE793F6D2,0xF53D,0x11cf,0xA6,0x0D,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IXAResourceManager,0x4131E751,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IXAResourceManagerFactory,0x4131E750,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IXATransaction,0x4131E752,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IResourceManagerFactory,0x13741d20,0x87eb,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e); + DEFINE_GUID(IID_IResourceManagerFactory2,0x6b369c21,0xfbd2,0x11d1,0x8f,0x47,0x0,0xc0,0x4f,0x8e,0xe5,0x7d); + DEFINE_GUID(IID_IPrepareInfo,0x80c7bfd0,0x87ee,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e); + DEFINE_GUID(IID_IPrepareInfo2,0x5FAB2547,0x9779,0x11d1,0xB8,0x86,0x00,0xC0,0x4F,0xB9,0x61,0x8A); + DEFINE_GUID(IID_IGetDispenser,0xc23cc370,0x87ef,0x11ce,0x80,0x81,0x00,0x80,0xc7,0x58,0x52,0x7e); + DEFINE_GUID(IID_ITransactionVoterNotifyAsync2,0x5433376b,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_ITransactionVoterBallotAsync2,0x5433376c,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_ITransactionVoterFactory2,0x5433376a,0x414d,0x11d3,0xb2,0x6,0x0,0xc0,0x4f,0xc2,0xf3,0xef); + DEFINE_GUID(IID_ITransactionPhase0EnlistmentAsync,0x82DC88E1,0xA954,0x11d1,0x8F,0x88,0x00,0x60,0x08,0x95,0xE7,0xD5); + DEFINE_GUID(IID_ITransactionPhase0NotifyAsync,0xEF081809,0x0C76,0x11d2,0x87,0xA6,0x00,0xC0,0x4F,0x99,0x0F,0x34); + DEFINE_GUID(IID_ITransactionPhase0Factory,0x82DC88E0,0xA954,0x11d1,0x8F,0x88,0x00,0x60,0x08,0x95,0xE7,0xD5); + DEFINE_GUID(IID_ITransactionTransmitter,0x59313E01,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3); + DEFINE_GUID(IID_ITransactionTransmitterFactory,0x59313E00,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3); + DEFINE_GUID(IID_ITransactionReceiver,0x59313E03,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3); + DEFINE_GUID(IID_ITransactionReceiverFactory,0x59313E02,0xB36C,0x11cf,0xA5,0x39,0x00,0xAA,0x00,0x68,0x87,0xC3); + DEFINE_GUID(IID_IDtcLuConfigure,0x4131E760,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRecovery,0xac2b8ad2,0xd6f0,0x11d0,0xb3,0x86,0x0,0xa0,0xc9,0x8,0x33,0x65); + DEFINE_GUID(IID_IDtcLuRecoveryFactory,0x4131E762,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcTransWork,0x4131E765,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtcStatusWork,0x4131E766,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByDtc,0x4131E764,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLuWork,0xac2b8ad1,0xd6f0,0x11d0,0xb3,0x86,0x0,0xa0,0xc9,0x8,0x33,0x65); + DEFINE_GUID(IID_IDtcLuRecoveryInitiatedByLu,0x4131E768,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRmEnlistment,0x4131E769,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRmEnlistmentSink,0x4131E770,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuRmEnlistmentFactory,0x4131E771,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuSubordinateDtc,0x4131E773,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuSubordinateDtcSink,0x4131E774,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + DEFINE_GUID(IID_IDtcLuSubordinateDtcFactory,0x4131E775,0x1AEA,0x11d0,0x94,0x4B,0x00,0xA0,0xC9,0x05,0x41,0x6E); + + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0155_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_txdtc_0155_v0_0_s_ifspec; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txfw32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txfw32.h new file mode 100644 index 00000000..11620c5f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/txfw32.h @@ -0,0 +1,92 @@ +/** + * 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_TXFW32 +#define _INC_TXFW32 +#include +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _TXF_ID { + __C89_NAMELESS struct { + LONGLONG LowPart; + LONGLONG HighPart; + } DUMMYSTRUCTNAME; +} TXF_ID, *PTXF_ID; + +typedef struct _TXF_LOG_RECORD_AFFECTED_FILE { + USHORT Version; + ULONG RecordLength; + ULONG Flags; + TXF_ID TxfFileId; + UUID KtmGuid; + ULONG FileNameLength; + ULONG FileNameByteOffsetInStructure; +} TXF_LOG_RECORD_AFFECTED_FILE, *PTXF_LOG_RECORD_AFFECTED_FILE; + +typedef struct _TXF_LOG_RECORD_TRUNCATE { + USHORT Version; + USHORT RecordType; + ULONG RecordLength; + ULONG Flags; + TXF_ID TxfFileId; + UUID KtmGuid; + LONGLONG NewFileSize; + ULONG FileNameLength; + ULONG FileNameByteOffsetInStructure; +} TXF_LOG_RECORD_TRUNCATE, *PTXF_LOG_RECORD_TRUNCATE; + +typedef struct _TXF_LOG_RECORD_WRITE { + USHORT Version; + USHORT RecordType; + ULONG RecordLength; + ULONG Flags; + TXF_ID TxfFileId; + UUID KtmGuid; + LONGLONG ByteOffsetInFile; + ULONG NumBytesWritten; + ULONG ByteOffsetInStructure; + ULONG FileNameLength; + ULONG FileNameByteOffsetInStructure; +} TXF_LOG_RECORD_WRITE, *PTXF_LOG_RECORD_WRITE; + +#define TXF_LOG_RECORD_TYPE_WRITE 1 +#define TXF_LOG_RECORD_TYPE_TRUNCATE 2 +#define TXF_LOG_RECORD_TYPE_AFFECTED_FILE 4 + +typedef struct _TXF_LOG_RECORD_BASE { + USHORT Version; + USHORT RecordType; + ULONG RecordLength; +} TXF_LOG_RECORD_BASE, *PTXF_LOG_RECORD_BASE; + +WINBOOL WINAPI TxfLogCreateFileReadContext( + LPCWSTR LogPath, + CLFS_LSN BeginningLsn, + CLFS_LSN EndingLSN, + PTXF_ID TxfFileId, + PVOID *TxfLogContext +); + +WINBOOL WINAPI TxfLogDestroyReadContext( + PVOID TxfLogContext +); + +WINBOOL WINAPI TxfLogReadRecords( + PVOID TxfLogContext, + ULONG BufferLength, + PVOID Buffer, + PULONG BytesUsed, + PULONG RecordCount +); + +#ifdef __cplusplus +} +#endif +#endif /* (_WIN32_WINNT >= 0x0600) */ +#endif /*_INC_TXFW32*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/typeinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/typeinfo.h new file mode 100644 index 00000000..21a4d214 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/typeinfo.h @@ -0,0 +1,32 @@ +/** + * 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 + +#ifndef _INC_TYPEINFO +#define _INC_TYPEINFO + +#pragma pack(push,_CRT_PACKING) + +#ifndef RC_INVOKED + +#ifndef __cplusplus +#error This header requires a C++ compiler ... +#endif + +#include + +#ifdef __RTTI_OLDNAMES +using std::bad_cast; +using std::bad_typeid; + +typedef type_info Type_info; +typedef bad_cast Bad_cast; +typedef bad_typeid Bad_typeid; +#endif +#endif + +#pragma pack(pop) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uastrfnc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uastrfnc.h new file mode 100644 index 00000000..4bea6ac8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uastrfnc.h @@ -0,0 +1,50 @@ +/** + * 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 _UASTRFNC_H_ +#define _UASTRFNC_H_ + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _X86_ +#define ALIGNMENT_MACHINE +#endif + +#ifdef ALIGNMENT_MACHINE +#define IS_ALIGNED(p) (((ULONG_PTR)(p) & (sizeof(*(p))-1))==0) + + UNALIGNED WCHAR *ualstrcpynW(UNALIGNED WCHAR *lpString1,UNALIGNED const WCHAR *lpString2,int iMaxLength); + int ualstrcmpiW(UNALIGNED const WCHAR *dst,UNALIGNED const WCHAR *src); + int ualstrcmpW(UNALIGNED const WCHAR *src,UNALIGNED const WCHAR *dst); + size_t ualstrlenW(UNALIGNED const WCHAR *wcs); + UNALIGNED WCHAR *ualstrcpyW(UNALIGNED WCHAR *dst,UNALIGNED const WCHAR *src); +#else +#define ualstrcpynW StrCpyNW +#define ualstrcmpiW StrCmpIW +#define ualstrcmpW StrCmpW +#define ualstrlenW lstrlenW +#define ualstrcpyW StrCpyW +#endif + +#define ualstrcpynA lstrcpynA +#define ualstrcmpiA lstrcmpiA +#define ualstrcmpA lstrcmpA +#define ualstrlenA lstrlenA +#define ualstrcpyA lstrcpyA + +#define ualstrcpyn __MINGW_NAME_AW(ualstrcpyn) +#define ualstrcmpi __MINGW_NAME_AW(ualstrcmpi) +#define ualstrcmp __MINGW_NAME_AW(ualstrcmp) +#define ualstrlen __MINGW_NAME_AW(ualstrlen) +#define ualstrcpy __MINGW_NAME_AW(ualstrcpy) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uchar.h new file mode 100644 index 00000000..7c32e702 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uchar.h @@ -0,0 +1,77 @@ +/** + * 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. + */ + +/* ISO C1x Unicode utilities + * Based on ISO/IEC SC22/WG14 9899 TR 19769 (SC22 N1326) + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * Date: 2011-09-27 + */ + +#ifndef __UCHAR_H +#define __UCHAR_H + +#include /* size_t */ +#include /* uint_leastXX_t */ +#include /* mbstate_t */ + +/* Remember that g++ >= 4.4 defines these types only in c++0x mode */ +#if !(defined(__cplusplus) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \ + !defined(__GNUC__) || \ + (!defined(__clang__) && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4))) +typedef uint_least16_t char16_t; +typedef uint_least32_t char32_t; +#endif + +#ifndef __STDC_UTF_16__ +#define __STDC_UTF_16__ 1 +#endif + +#ifndef __STDC_UTF_32__ +#define __STDC_UTF_32__ 1 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _UCRT + +size_t mbrtoc16 (char16_t *__restrict__ pc16, + const char *__restrict__ s, + size_t n, + mbstate_t *__restrict__ ps); + +size_t c16rtomb (char *__restrict__ s, + char16_t c16, + mbstate_t *__restrict__ ps); + +size_t mbrtoc32 (char32_t *__restrict__ pc32, + const char *__restrict__ s, + size_t n, + mbstate_t *__restrict__ ps); + +size_t c32rtomb (char *__restrict__ s, + char32_t c32, + mbstate_t *__restrict__ ps); + +#endif /* _UCRT */ + +#ifdef __cplusplus +} +#endif + +#endif /* __UCHAR_H */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/udpmib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/udpmib.h new file mode 100644 index 00000000..e94f54b7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/udpmib.h @@ -0,0 +1,36 @@ +/** + * 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_UDPMIB +#define _INC_UDPMIB + +#ifndef ANY_SIZE +#define ANY_SIZE 1 +#endif + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _MIB_UDP6ROW { + IN6_ADDR dwLocalAddr; + DWORD dwLocalScopeId; + DWORD dwLocalPort; +} MIB_UDP6ROW, *PMIB_UDP6ROW; + +typedef struct _MIB_UDP6TABLE { + DWORD dwNumEntries; + MIB_UDP6ROW table[ANY_SIZE]; +} MIB_UDP6TABLE, *PMIB_UDP6TABLE; + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#endif /*_INC_UDPMIB*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uianimation.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uianimation.h new file mode 100644 index 00000000..df02ca0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uianimation.h @@ -0,0 +1,5644 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/uianimation.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 __uianimation_h__ +#define __uianimation_h__ + +/* Forward declarations */ + +#ifndef __UIAnimationManager_FWD_DEFINED__ +#define __UIAnimationManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationManager UIAnimationManager; +#else +typedef struct UIAnimationManager UIAnimationManager; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationManager_FWD_DEFINED__ */ + +#ifndef __UIAnimationManager2_FWD_DEFINED__ +#define __UIAnimationManager2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationManager2 UIAnimationManager2; +#else +typedef struct UIAnimationManager2 UIAnimationManager2; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationManager2_FWD_DEFINED__ */ + +#ifndef __UIAnimationTransitionLibrary_FWD_DEFINED__ +#define __UIAnimationTransitionLibrary_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationTransitionLibrary UIAnimationTransitionLibrary; +#else +typedef struct UIAnimationTransitionLibrary UIAnimationTransitionLibrary; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationTransitionLibrary_FWD_DEFINED__ */ + +#ifndef __UIAnimationTransitionLibrary2_FWD_DEFINED__ +#define __UIAnimationTransitionLibrary2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationTransitionLibrary2 UIAnimationTransitionLibrary2; +#else +typedef struct UIAnimationTransitionLibrary2 UIAnimationTransitionLibrary2; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationTransitionLibrary2_FWD_DEFINED__ */ + +#ifndef __UIAnimationTransitionFactory_FWD_DEFINED__ +#define __UIAnimationTransitionFactory_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationTransitionFactory UIAnimationTransitionFactory; +#else +typedef struct UIAnimationTransitionFactory UIAnimationTransitionFactory; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationTransitionFactory_FWD_DEFINED__ */ + +#ifndef __UIAnimationTransitionFactory2_FWD_DEFINED__ +#define __UIAnimationTransitionFactory2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationTransitionFactory2 UIAnimationTransitionFactory2; +#else +typedef struct UIAnimationTransitionFactory2 UIAnimationTransitionFactory2; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationTransitionFactory2_FWD_DEFINED__ */ + +#ifndef __UIAnimationTimer_FWD_DEFINED__ +#define __UIAnimationTimer_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UIAnimationTimer UIAnimationTimer; +#else +typedef struct UIAnimationTimer UIAnimationTimer; +#endif /* defined __cplusplus */ +#endif /* defined __UIAnimationTimer_FWD_DEFINED__ */ + +#ifndef __IUIAnimationManager_FWD_DEFINED__ +#define __IUIAnimationManager_FWD_DEFINED__ +typedef interface IUIAnimationManager IUIAnimationManager; +#ifdef __cplusplus +interface IUIAnimationManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariable_FWD_DEFINED__ +#define __IUIAnimationVariable_FWD_DEFINED__ +typedef interface IUIAnimationVariable IUIAnimationVariable; +#ifdef __cplusplus +interface IUIAnimationVariable; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboard_FWD_DEFINED__ +#define __IUIAnimationStoryboard_FWD_DEFINED__ +typedef interface IUIAnimationStoryboard IUIAnimationStoryboard; +#ifdef __cplusplus +interface IUIAnimationStoryboard; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransition_FWD_DEFINED__ +#define __IUIAnimationTransition_FWD_DEFINED__ +typedef interface IUIAnimationTransition IUIAnimationTransition; +#ifdef __cplusplus +interface IUIAnimationTransition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__ +#define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler; +#ifdef __cplusplus +interface IUIAnimationStoryboardEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__ +#define __IUIAnimationVariableChangeHandler_FWD_DEFINED__ +typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler; +#ifdef __cplusplus +interface IUIAnimationVariableChangeHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__ +typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler; +#ifdef __cplusplus +interface IUIAnimationVariableIntegerChangeHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__ +#define __IUIAnimationManagerEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler; +#ifdef __cplusplus +interface IUIAnimationManagerEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__ +#define __IUIAnimationPriorityComparison_FWD_DEFINED__ +typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison; +#ifdef __cplusplus +interface IUIAnimationPriorityComparison; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManager2_FWD_DEFINED__ +#define __IUIAnimationManager2_FWD_DEFINED__ +typedef interface IUIAnimationManager2 IUIAnimationManager2; +#ifdef __cplusplus +interface IUIAnimationManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariable2_FWD_DEFINED__ +#define __IUIAnimationVariable2_FWD_DEFINED__ +typedef interface IUIAnimationVariable2 IUIAnimationVariable2; +#ifdef __cplusplus +interface IUIAnimationVariable2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDCompositionAnimation_FWD_DEFINED__ +#define __IDCompositionAnimation_FWD_DEFINED__ +typedef interface IDCompositionAnimation IDCompositionAnimation; +#ifdef __cplusplus +interface IDCompositionAnimation; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboard2_FWD_DEFINED__ +#define __IUIAnimationStoryboard2_FWD_DEFINED__ +typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2; +#ifdef __cplusplus +interface IUIAnimationStoryboard2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransition2_FWD_DEFINED__ +#define __IUIAnimationTransition2_FWD_DEFINED__ +typedef interface IUIAnimationTransition2 IUIAnimationTransition2; +#ifdef __cplusplus +interface IUIAnimationTransition2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationLoopIterationChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__ +#define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__ +typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2; +#ifdef __cplusplus +interface IUIAnimationStoryboardEventHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableIntegerChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableCurveChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__ +#define __IUIAnimationManagerEventHandler2_FWD_DEFINED__ +typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2; +#ifdef __cplusplus +interface IUIAnimationManagerEventHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__ +#define __IUIAnimationPriorityComparison2_FWD_DEFINED__ +typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2; +#ifdef __cplusplus +interface IUIAnimationPriorityComparison2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__ +#define __IUIAnimationTransitionLibrary_FWD_DEFINED__ +typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary; +#ifdef __cplusplus +interface IUIAnimationTransitionLibrary; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__ +#define __IUIAnimationTransitionLibrary2_FWD_DEFINED__ +typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2; +#ifdef __cplusplus +interface IUIAnimationTransitionLibrary2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__ +#define __IUIAnimationTransitionFactory_FWD_DEFINED__ +typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory; +#ifdef __cplusplus +interface IUIAnimationTransitionFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationInterpolator_FWD_DEFINED__ +#define __IUIAnimationInterpolator_FWD_DEFINED__ +typedef interface IUIAnimationInterpolator IUIAnimationInterpolator; +#ifdef __cplusplus +interface IUIAnimationInterpolator; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__ +#define __IUIAnimationTransitionFactory2_FWD_DEFINED__ +typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2; +#ifdef __cplusplus +interface IUIAnimationTransitionFactory2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationInterpolator2_FWD_DEFINED__ +#define __IUIAnimationInterpolator2_FWD_DEFINED__ +typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2; +#ifdef __cplusplus +interface IUIAnimationInterpolator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__ +#define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__ +typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation; +#ifdef __cplusplus +interface IUIAnimationPrimitiveInterpolation; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimer_FWD_DEFINED__ +#define __IUIAnimationTimer_FWD_DEFINED__ +typedef interface IUIAnimationTimer IUIAnimationTimer; +#ifdef __cplusplus +interface IUIAnimationTimer; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__ +#define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler; +#ifdef __cplusplus +interface IUIAnimationTimerUpdateHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__ +#define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler; +#ifdef __cplusplus +interface IUIAnimationTimerClientEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__ +#define __IUIAnimationTimerEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler; +#ifdef __cplusplus +interface IUIAnimationTimerEventHandler; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __IUIAnimationManager_FWD_DEFINED__ +#define __IUIAnimationManager_FWD_DEFINED__ +typedef interface IUIAnimationManager IUIAnimationManager; +#ifdef __cplusplus +interface IUIAnimationManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariable_FWD_DEFINED__ +#define __IUIAnimationVariable_FWD_DEFINED__ +typedef interface IUIAnimationVariable IUIAnimationVariable; +#ifdef __cplusplus +interface IUIAnimationVariable; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboard_FWD_DEFINED__ +#define __IUIAnimationStoryboard_FWD_DEFINED__ +typedef interface IUIAnimationStoryboard IUIAnimationStoryboard; +#ifdef __cplusplus +interface IUIAnimationStoryboard; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransition_FWD_DEFINED__ +#define __IUIAnimationTransition_FWD_DEFINED__ +typedef interface IUIAnimationTransition IUIAnimationTransition; +#ifdef __cplusplus +interface IUIAnimationTransition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboardEventHandler_FWD_DEFINED__ +#define __IUIAnimationStoryboardEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationStoryboardEventHandler IUIAnimationStoryboardEventHandler; +#ifdef __cplusplus +interface IUIAnimationStoryboardEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableChangeHandler_FWD_DEFINED__ +#define __IUIAnimationVariableChangeHandler_FWD_DEFINED__ +typedef interface IUIAnimationVariableChangeHandler IUIAnimationVariableChangeHandler; +#ifdef __cplusplus +interface IUIAnimationVariableChangeHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler_FWD_DEFINED__ +typedef interface IUIAnimationVariableIntegerChangeHandler IUIAnimationVariableIntegerChangeHandler; +#ifdef __cplusplus +interface IUIAnimationVariableIntegerChangeHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManagerEventHandler_FWD_DEFINED__ +#define __IUIAnimationManagerEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationManagerEventHandler IUIAnimationManagerEventHandler; +#ifdef __cplusplus +interface IUIAnimationManagerEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPriorityComparison_FWD_DEFINED__ +#define __IUIAnimationPriorityComparison_FWD_DEFINED__ +typedef interface IUIAnimationPriorityComparison IUIAnimationPriorityComparison; +#ifdef __cplusplus +interface IUIAnimationPriorityComparison; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManager2_FWD_DEFINED__ +#define __IUIAnimationManager2_FWD_DEFINED__ +typedef interface IUIAnimationManager2 IUIAnimationManager2; +#ifdef __cplusplus +interface IUIAnimationManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariable2_FWD_DEFINED__ +#define __IUIAnimationVariable2_FWD_DEFINED__ +typedef interface IUIAnimationVariable2 IUIAnimationVariable2; +#ifdef __cplusplus +interface IUIAnimationVariable2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDCompositionAnimation_FWD_DEFINED__ +#define __IDCompositionAnimation_FWD_DEFINED__ +typedef interface IDCompositionAnimation IDCompositionAnimation; +#ifdef __cplusplus +interface IDCompositionAnimation; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboard2_FWD_DEFINED__ +#define __IUIAnimationStoryboard2_FWD_DEFINED__ +typedef interface IUIAnimationStoryboard2 IUIAnimationStoryboard2; +#ifdef __cplusplus +interface IUIAnimationStoryboard2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransition2_FWD_DEFINED__ +#define __IUIAnimationTransition2_FWD_DEFINED__ +typedef interface IUIAnimationTransition2 IUIAnimationTransition2; +#ifdef __cplusplus +interface IUIAnimationTransition2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationLoopIterationChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationLoopIterationChangeHandler2 IUIAnimationLoopIterationChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationLoopIterationChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__ +#define __IUIAnimationStoryboardEventHandler2_FWD_DEFINED__ +typedef interface IUIAnimationStoryboardEventHandler2 IUIAnimationStoryboardEventHandler2; +#ifdef __cplusplus +interface IUIAnimationStoryboardEventHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableChangeHandler2 IUIAnimationVariableChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableIntegerChangeHandler2 IUIAnimationVariableIntegerChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableIntegerChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__ +#define __IUIAnimationVariableCurveChangeHandler2_FWD_DEFINED__ +typedef interface IUIAnimationVariableCurveChangeHandler2 IUIAnimationVariableCurveChangeHandler2; +#ifdef __cplusplus +interface IUIAnimationVariableCurveChangeHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationManagerEventHandler2_FWD_DEFINED__ +#define __IUIAnimationManagerEventHandler2_FWD_DEFINED__ +typedef interface IUIAnimationManagerEventHandler2 IUIAnimationManagerEventHandler2; +#ifdef __cplusplus +interface IUIAnimationManagerEventHandler2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPriorityComparison2_FWD_DEFINED__ +#define __IUIAnimationPriorityComparison2_FWD_DEFINED__ +typedef interface IUIAnimationPriorityComparison2 IUIAnimationPriorityComparison2; +#ifdef __cplusplus +interface IUIAnimationPriorityComparison2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionLibrary_FWD_DEFINED__ +#define __IUIAnimationTransitionLibrary_FWD_DEFINED__ +typedef interface IUIAnimationTransitionLibrary IUIAnimationTransitionLibrary; +#ifdef __cplusplus +interface IUIAnimationTransitionLibrary; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionLibrary2_FWD_DEFINED__ +#define __IUIAnimationTransitionLibrary2_FWD_DEFINED__ +typedef interface IUIAnimationTransitionLibrary2 IUIAnimationTransitionLibrary2; +#ifdef __cplusplus +interface IUIAnimationTransitionLibrary2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionFactory_FWD_DEFINED__ +#define __IUIAnimationTransitionFactory_FWD_DEFINED__ +typedef interface IUIAnimationTransitionFactory IUIAnimationTransitionFactory; +#ifdef __cplusplus +interface IUIAnimationTransitionFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationInterpolator_FWD_DEFINED__ +#define __IUIAnimationInterpolator_FWD_DEFINED__ +typedef interface IUIAnimationInterpolator IUIAnimationInterpolator; +#ifdef __cplusplus +interface IUIAnimationInterpolator; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTransitionFactory2_FWD_DEFINED__ +#define __IUIAnimationTransitionFactory2_FWD_DEFINED__ +typedef interface IUIAnimationTransitionFactory2 IUIAnimationTransitionFactory2; +#ifdef __cplusplus +interface IUIAnimationTransitionFactory2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationInterpolator2_FWD_DEFINED__ +#define __IUIAnimationInterpolator2_FWD_DEFINED__ +typedef interface IUIAnimationInterpolator2 IUIAnimationInterpolator2; +#ifdef __cplusplus +interface IUIAnimationInterpolator2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__ +#define __IUIAnimationPrimitiveInterpolation_FWD_DEFINED__ +typedef interface IUIAnimationPrimitiveInterpolation IUIAnimationPrimitiveInterpolation; +#ifdef __cplusplus +interface IUIAnimationPrimitiveInterpolation; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimer_FWD_DEFINED__ +#define __IUIAnimationTimer_FWD_DEFINED__ +typedef interface IUIAnimationTimer IUIAnimationTimer; +#ifdef __cplusplus +interface IUIAnimationTimer; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerUpdateHandler_FWD_DEFINED__ +#define __IUIAnimationTimerUpdateHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerUpdateHandler IUIAnimationTimerUpdateHandler; +#ifdef __cplusplus +interface IUIAnimationTimerUpdateHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerClientEventHandler_FWD_DEFINED__ +#define __IUIAnimationTimerClientEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerClientEventHandler IUIAnimationTimerClientEventHandler; +#ifdef __cplusplus +interface IUIAnimationTimerClientEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAnimationTimerEventHandler_FWD_DEFINED__ +#define __IUIAnimationTimerEventHandler_FWD_DEFINED__ +typedef interface IUIAnimationTimerEventHandler IUIAnimationTimerEventHandler; +#ifdef __cplusplus +interface IUIAnimationTimerEventHandler; +#endif /* __cplusplus */ +#endif + +typedef DOUBLE UI_ANIMATION_SECONDS; +typedef enum __WIDL_uianimation_generated_name_0000000C { + UI_ANIMATION_SCHEDULING_UNEXPECTED_FAILURE = 0, + UI_ANIMATION_SCHEDULING_INSUFFICIENT_PRIORITY = 1, + UI_ANIMATION_SCHEDULING_ALREADY_SCHEDULED = 2, + UI_ANIMATION_SCHEDULING_SUCCEEDED = 3, + UI_ANIMATION_SCHEDULING_DEFERRED = 4 +} UI_ANIMATION_SCHEDULING_RESULT; +typedef enum __WIDL_uianimation_generated_name_0000000D { + UI_ANIMATION_STORYBOARD_BUILDING = 0, + UI_ANIMATION_STORYBOARD_SCHEDULED = 1, + UI_ANIMATION_STORYBOARD_CANCELLED = 2, + UI_ANIMATION_STORYBOARD_PLAYING = 3, + UI_ANIMATION_STORYBOARD_TRUNCATED = 4, + UI_ANIMATION_STORYBOARD_FINISHED = 5, + UI_ANIMATION_STORYBOARD_READY = 6, + UI_ANIMATION_STORYBOARD_INSUFFICIENT_PRIORITY = 7 +} UI_ANIMATION_STORYBOARD_STATUS; +typedef enum __WIDL_uianimation_generated_name_0000000E { + UI_ANIMATION_ROUNDING_NEAREST = 0, + UI_ANIMATION_ROUNDING_FLOOR = 1, + UI_ANIMATION_ROUNDING_CEILING = 2 +} UI_ANIMATION_ROUNDING_MODE; +typedef enum __WIDL_uianimation_generated_name_0000000F { + UI_ANIMATION_UPDATE_NO_CHANGE = 0, + UI_ANIMATION_UPDATE_VARIABLES_CHANGED = 1 +} UI_ANIMATION_UPDATE_RESULT; +typedef enum __WIDL_uianimation_generated_name_00000010 { + UI_ANIMATION_MANAGER_IDLE = 0, + UI_ANIMATION_MANAGER_BUSY = 1 +} UI_ANIMATION_MANAGER_STATUS; +typedef enum __WIDL_uianimation_generated_name_00000011 { + UI_ANIMATION_MODE_DISABLED = 0, + UI_ANIMATION_MODE_SYSTEM_DEFAULT = 1, + UI_ANIMATION_MODE_ENABLED = 2 +} UI_ANIMATION_MODE; +typedef enum __WIDL_uianimation_generated_name_00000012 { + UI_ANIMATION_PRIORITY_EFFECT_FAILURE = 0, + UI_ANIMATION_PRIORITY_EFFECT_DELAY = 1 +} UI_ANIMATION_PRIORITY_EFFECT; +typedef enum __WIDL_uianimation_generated_name_00000013 { + UI_ANIMATION_REPEAT_MODE_NORMAL = 0, + UI_ANIMATION_REPEAT_MODE_ALTERNATE = 1 +} UI_ANIMATION_REPEAT_MODE; +typedef enum __WIDL_uianimation_generated_name_00000014 { + UI_ANIMATION_SLOPE_INCREASING = 0, + UI_ANIMATION_SLOPE_DECREASING = 1 +} UI_ANIMATION_SLOPE; +typedef enum __WIDL_uianimation_generated_name_00000015 { + UI_ANIMATION_DEPENDENCY_NONE = 0, + UI_ANIMATION_DEPENDENCY_INTERMEDIATE_VALUES = 0x1, + UI_ANIMATION_DEPENDENCY_FINAL_VALUE = 0x2, + UI_ANIMATION_DEPENDENCY_FINAL_VELOCITY = 0x4, + UI_ANIMATION_DEPENDENCY_DURATION = 0x8 +} UI_ANIMATION_DEPENDENCIES; +typedef enum __WIDL_uianimation_generated_name_00000016 { + UI_ANIMATION_TIMER_CLIENT_IDLE = 0, + UI_ANIMATION_TIMER_CLIENT_BUSY = 1 +} UI_ANIMATION_TIMER_CLIENT_STATUS; +typedef enum __WIDL_uianimation_generated_name_00000017 { + UI_ANIMATION_IDLE_BEHAVIOR_CONTINUE = 0, + UI_ANIMATION_IDLE_BEHAVIOR_DISABLE = 1 +} UI_ANIMATION_IDLE_BEHAVIOR; +typedef struct __WIDL_uianimation_generated_name_00000018 { + int _; +} *UI_ANIMATION_KEYFRAME; +#define UI_ANIMATION_KEYFRAME_STORYBOARD_START ((UI_ANIMATION_KEYFRAME)-1) + +#define UI_ANIMATION_REPEAT_INDEFINITELY (-1) + +#define UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_END (UI_ANIMATION_REPEAT_INDEFINITELY) + +#define UI_ANIMATION_REPEAT_INDEFINITELY_CONCLUDE_AT_START (-2) + +#ifndef __uianimation_LIBRARY_DEFINED__ +#define __uianimation_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_uianimation, 0x44ca24db, 0x1a92, 0x4149, 0xba,0xb5, 0xfb,0x14,0xd6,0x4b,0x40,0x1e); + +/***************************************************************************** + * UIAnimationManager coclass + */ + +DEFINE_GUID(CLSID_UIAnimationManager, 0x4c1fc63a, 0x695c, 0x47e8, 0xa3,0x39, 0x1a,0x19,0x4b,0xe3,0xd0,0xb8); + +#ifdef __cplusplus +class DECLSPEC_UUID("4c1fc63a-695c-47e8-a339-1a194be3d0b8") UIAnimationManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationManager, 0x4c1fc63a, 0x695c, 0x47e8, 0xa3,0x39, 0x1a,0x19,0x4b,0xe3,0xd0,0xb8) +#endif +#endif + +/***************************************************************************** + * UIAnimationManager2 coclass + */ + +DEFINE_GUID(CLSID_UIAnimationManager2, 0xd25d8842, 0x8884, 0x4a4a, 0xb3,0x21, 0x09,0x13,0x14,0x37,0x9b,0xdd); + +#ifdef __cplusplus +class DECLSPEC_UUID("d25d8842-8884-4a4a-b321-091314379bdd") UIAnimationManager2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationManager2, 0xd25d8842, 0x8884, 0x4a4a, 0xb3,0x21, 0x09,0x13,0x14,0x37,0x9b,0xdd) +#endif +#endif + +/***************************************************************************** + * UIAnimationTransitionLibrary coclass + */ + +DEFINE_GUID(CLSID_UIAnimationTransitionLibrary, 0x1d6322ad, 0xaa85, 0x4ef5, 0xa8,0x28, 0x86,0xd7,0x10,0x67,0xd1,0x45); + +#ifdef __cplusplus +class DECLSPEC_UUID("1d6322ad-aa85-4ef5-a828-86d71067d145") UIAnimationTransitionLibrary; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationTransitionLibrary, 0x1d6322ad, 0xaa85, 0x4ef5, 0xa8,0x28, 0x86,0xd7,0x10,0x67,0xd1,0x45) +#endif +#endif + +/***************************************************************************** + * UIAnimationTransitionLibrary2 coclass + */ + +DEFINE_GUID(CLSID_UIAnimationTransitionLibrary2, 0x812f944a, 0xc5c8, 0x4cd9, 0xb0,0xa6, 0xb3,0xda,0x80,0x2f,0x22,0x8d); + +#ifdef __cplusplus +class DECLSPEC_UUID("812f944a-c5c8-4cd9-b0a6-b3da802f228d") UIAnimationTransitionLibrary2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationTransitionLibrary2, 0x812f944a, 0xc5c8, 0x4cd9, 0xb0,0xa6, 0xb3,0xda,0x80,0x2f,0x22,0x8d) +#endif +#endif + +/***************************************************************************** + * UIAnimationTransitionFactory coclass + */ + +DEFINE_GUID(CLSID_UIAnimationTransitionFactory, 0x8a9b1cdd, 0xfcd7, 0x419c, 0x8b,0x44, 0x42,0xfd,0x17,0xdb,0x18,0x87); + +#ifdef __cplusplus +class DECLSPEC_UUID("8a9b1cdd-fcd7-419c-8b44-42fd17db1887") UIAnimationTransitionFactory; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationTransitionFactory, 0x8a9b1cdd, 0xfcd7, 0x419c, 0x8b,0x44, 0x42,0xfd,0x17,0xdb,0x18,0x87) +#endif +#endif + +/***************************************************************************** + * UIAnimationTransitionFactory2 coclass + */ + +DEFINE_GUID(CLSID_UIAnimationTransitionFactory2, 0x84302f97, 0x7f7b, 0x4040, 0xb1,0x90, 0x72,0xac,0x9d,0x18,0xe4,0x20); + +#ifdef __cplusplus +class DECLSPEC_UUID("84302f97-7f7b-4040-b190-72ac9d18e420") UIAnimationTransitionFactory2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationTransitionFactory2, 0x84302f97, 0x7f7b, 0x4040, 0xb1,0x90, 0x72,0xac,0x9d,0x18,0xe4,0x20) +#endif +#endif + +/***************************************************************************** + * UIAnimationTimer coclass + */ + +DEFINE_GUID(CLSID_UIAnimationTimer, 0xbfcd4a0c, 0x06b6, 0x4384, 0xb7,0x68, 0x0d,0xaa,0x79,0x2c,0x38,0x0e); + +#ifdef __cplusplus +class DECLSPEC_UUID("bfcd4a0c-06b6-4384-b768-0daa792c380e") UIAnimationTimer; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UIAnimationTimer, 0xbfcd4a0c, 0x06b6, 0x4384, 0xb7,0x68, 0x0d,0xaa,0x79,0x2c,0x38,0x0e) +#endif +#endif + +#endif /* __uianimation_LIBRARY_DEFINED__ */ +/***************************************************************************** + * IUIAnimationManager interface + */ +#ifndef __IUIAnimationManager_INTERFACE_DEFINED__ +#define __IUIAnimationManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationManager, 0x9169896c, 0xac8d, 0x4e7d, 0x94,0xe5, 0x67,0xfa,0x4d,0xc2,0xf2,0xe8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9169896c-ac8d-4e7d-94e5-67fa4dc2f2e8") +IUIAnimationManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateAnimationVariable( + double initialValue, + IUIAnimationVariable **variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScheduleTransition( + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + double timeNow) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStoryboard( + IUIAnimationStoryboard **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE FinishAllStoryboards( + double completionDeadline) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbandonAllStoryboards( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Update( + double timeNow, + UI_ANIMATION_UPDATE_RESULT *updateResult = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVariableFromTag( + IUnknown *object, + UINT32 id, + IUIAnimationVariable **variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStoryboardFromTag( + IUnknown *object, + UINT32 id, + IUIAnimationStoryboard **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + UI_ANIMATION_MANAGER_STATUS *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAnimationMode( + UI_ANIMATION_MODE mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE Pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetManagerEventHandler( + IUIAnimationManagerEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCancelPriorityComparison( + IUIAnimationPriorityComparison *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTrimPriorityComparison( + IUIAnimationPriorityComparison *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCompressPriorityComparison( + IUIAnimationPriorityComparison *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetConcludePriorityComparison( + IUIAnimationPriorityComparison *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDefaultLongestAcceptableDelay( + double delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE Shutdown( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationManager, 0x9169896c, 0xac8d, 0x4e7d, 0x94,0xe5, 0x67,0xfa,0x4d,0xc2,0xf2,0xe8) +#endif +#else +typedef struct IUIAnimationManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationManager *This); + + /*** IUIAnimationManager methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateAnimationVariable)( + IUIAnimationManager *This, + double initialValue, + IUIAnimationVariable **variable); + + HRESULT (STDMETHODCALLTYPE *ScheduleTransition)( + IUIAnimationManager *This, + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + double timeNow); + + HRESULT (STDMETHODCALLTYPE *CreateStoryboard)( + IUIAnimationManager *This, + IUIAnimationStoryboard **storyboard); + + HRESULT (STDMETHODCALLTYPE *FinishAllStoryboards)( + IUIAnimationManager *This, + double completionDeadline); + + HRESULT (STDMETHODCALLTYPE *AbandonAllStoryboards)( + IUIAnimationManager *This); + + HRESULT (STDMETHODCALLTYPE *Update)( + IUIAnimationManager *This, + double timeNow, + UI_ANIMATION_UPDATE_RESULT *updateResult); + + HRESULT (STDMETHODCALLTYPE *GetVariableFromTag)( + IUIAnimationManager *This, + IUnknown *object, + UINT32 id, + IUIAnimationVariable **variable); + + HRESULT (STDMETHODCALLTYPE *GetStoryboardFromTag)( + IUIAnimationManager *This, + IUnknown *object, + UINT32 id, + IUIAnimationStoryboard **storyboard); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + IUIAnimationManager *This, + UI_ANIMATION_MANAGER_STATUS *status); + + HRESULT (STDMETHODCALLTYPE *SetAnimationMode)( + IUIAnimationManager *This, + UI_ANIMATION_MODE mode); + + HRESULT (STDMETHODCALLTYPE *Pause)( + IUIAnimationManager *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IUIAnimationManager *This); + + HRESULT (STDMETHODCALLTYPE *SetManagerEventHandler)( + IUIAnimationManager *This, + IUIAnimationManagerEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *SetCancelPriorityComparison)( + IUIAnimationManager *This, + IUIAnimationPriorityComparison *comparison); + + HRESULT (STDMETHODCALLTYPE *SetTrimPriorityComparison)( + IUIAnimationManager *This, + IUIAnimationPriorityComparison *comparison); + + HRESULT (STDMETHODCALLTYPE *SetCompressPriorityComparison)( + IUIAnimationManager *This, + IUIAnimationPriorityComparison *comparison); + + HRESULT (STDMETHODCALLTYPE *SetConcludePriorityComparison)( + IUIAnimationManager *This, + IUIAnimationPriorityComparison *comparison); + + HRESULT (STDMETHODCALLTYPE *SetDefaultLongestAcceptableDelay)( + IUIAnimationManager *This, + double delay); + + HRESULT (STDMETHODCALLTYPE *Shutdown)( + IUIAnimationManager *This); + + END_INTERFACE +} IUIAnimationManagerVtbl; + +interface IUIAnimationManager { + CONST_VTBL IUIAnimationManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationManager_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationManager methods ***/ +#define IUIAnimationManager_CreateAnimationVariable(This,initialValue,variable) (This)->lpVtbl->CreateAnimationVariable(This,initialValue,variable) +#define IUIAnimationManager_ScheduleTransition(This,variable,transition,timeNow) (This)->lpVtbl->ScheduleTransition(This,variable,transition,timeNow) +#define IUIAnimationManager_CreateStoryboard(This,storyboard) (This)->lpVtbl->CreateStoryboard(This,storyboard) +#define IUIAnimationManager_FinishAllStoryboards(This,completionDeadline) (This)->lpVtbl->FinishAllStoryboards(This,completionDeadline) +#define IUIAnimationManager_AbandonAllStoryboards(This) (This)->lpVtbl->AbandonAllStoryboards(This) +#define IUIAnimationManager_Update(This,timeNow,updateResult) (This)->lpVtbl->Update(This,timeNow,updateResult) +#define IUIAnimationManager_GetVariableFromTag(This,object,id,variable) (This)->lpVtbl->GetVariableFromTag(This,object,id,variable) +#define IUIAnimationManager_GetStoryboardFromTag(This,object,id,storyboard) (This)->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard) +#define IUIAnimationManager_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status) +#define IUIAnimationManager_SetAnimationMode(This,mode) (This)->lpVtbl->SetAnimationMode(This,mode) +#define IUIAnimationManager_Pause(This) (This)->lpVtbl->Pause(This) +#define IUIAnimationManager_Resume(This) (This)->lpVtbl->Resume(This) +#define IUIAnimationManager_SetManagerEventHandler(This,handler) (This)->lpVtbl->SetManagerEventHandler(This,handler) +#define IUIAnimationManager_SetCancelPriorityComparison(This,comparison) (This)->lpVtbl->SetCancelPriorityComparison(This,comparison) +#define IUIAnimationManager_SetTrimPriorityComparison(This,comparison) (This)->lpVtbl->SetTrimPriorityComparison(This,comparison) +#define IUIAnimationManager_SetCompressPriorityComparison(This,comparison) (This)->lpVtbl->SetCompressPriorityComparison(This,comparison) +#define IUIAnimationManager_SetConcludePriorityComparison(This,comparison) (This)->lpVtbl->SetConcludePriorityComparison(This,comparison) +#define IUIAnimationManager_SetDefaultLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay) +#define IUIAnimationManager_Shutdown(This) (This)->lpVtbl->Shutdown(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationManager_QueryInterface(IUIAnimationManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationManager_AddRef(IUIAnimationManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationManager_Release(IUIAnimationManager* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationManager methods ***/ +static inline HRESULT IUIAnimationManager_CreateAnimationVariable(IUIAnimationManager* This,double initialValue,IUIAnimationVariable **variable) { + return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable); +} +static inline HRESULT IUIAnimationManager_ScheduleTransition(IUIAnimationManager* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,double timeNow) { + return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow); +} +static inline HRESULT IUIAnimationManager_CreateStoryboard(IUIAnimationManager* This,IUIAnimationStoryboard **storyboard) { + return This->lpVtbl->CreateStoryboard(This,storyboard); +} +static inline HRESULT IUIAnimationManager_FinishAllStoryboards(IUIAnimationManager* This,double completionDeadline) { + return This->lpVtbl->FinishAllStoryboards(This,completionDeadline); +} +static inline HRESULT IUIAnimationManager_AbandonAllStoryboards(IUIAnimationManager* This) { + return This->lpVtbl->AbandonAllStoryboards(This); +} +static inline HRESULT IUIAnimationManager_Update(IUIAnimationManager* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) { + return This->lpVtbl->Update(This,timeNow,updateResult); +} +static inline HRESULT IUIAnimationManager_GetVariableFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationVariable **variable) { + return This->lpVtbl->GetVariableFromTag(This,object,id,variable); +} +static inline HRESULT IUIAnimationManager_GetStoryboardFromTag(IUIAnimationManager* This,IUnknown *object,UINT32 id,IUIAnimationStoryboard **storyboard) { + return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard); +} +static inline HRESULT IUIAnimationManager_GetStatus(IUIAnimationManager* This,UI_ANIMATION_MANAGER_STATUS *status) { + return This->lpVtbl->GetStatus(This,status); +} +static inline HRESULT IUIAnimationManager_SetAnimationMode(IUIAnimationManager* This,UI_ANIMATION_MODE mode) { + return This->lpVtbl->SetAnimationMode(This,mode); +} +static inline HRESULT IUIAnimationManager_Pause(IUIAnimationManager* This) { + return This->lpVtbl->Pause(This); +} +static inline HRESULT IUIAnimationManager_Resume(IUIAnimationManager* This) { + return This->lpVtbl->Resume(This); +} +static inline HRESULT IUIAnimationManager_SetManagerEventHandler(IUIAnimationManager* This,IUIAnimationManagerEventHandler *handler) { + return This->lpVtbl->SetManagerEventHandler(This,handler); +} +static inline HRESULT IUIAnimationManager_SetCancelPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) { + return This->lpVtbl->SetCancelPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager_SetTrimPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) { + return This->lpVtbl->SetTrimPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager_SetCompressPriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) { + return This->lpVtbl->SetCompressPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager_SetConcludePriorityComparison(IUIAnimationManager* This,IUIAnimationPriorityComparison *comparison) { + return This->lpVtbl->SetConcludePriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager_SetDefaultLongestAcceptableDelay(IUIAnimationManager* This,double delay) { + return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay); +} +static inline HRESULT IUIAnimationManager_Shutdown(IUIAnimationManager* This) { + return This->lpVtbl->Shutdown(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationManager_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariable interface + */ +#ifndef __IUIAnimationVariable_INTERFACE_DEFINED__ +#define __IUIAnimationVariable_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariable, 0x8ceeb155, 0x2849, 0x4ce5, 0x94,0x48, 0x91,0xff,0x70,0xe1,0xe4,0xd9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8ceeb155-2849-4ce5-9448-91ff70e1e4d9") +IUIAnimationVariable : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetValue( + double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalValue( + double *finalValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousValue( + double *previousValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIntegerValue( + int *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerValue( + int *finalValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerValue( + int *previousValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentStoryboard( + IUIAnimationStoryboard **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLowerBound( + double bound) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUpperBound( + double bound) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRoundingMode( + UI_ANIMATION_ROUNDING_MODE mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTag( + IUnknown *object, + unsigned int id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTag( + IUnknown **object, + unsigned int *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVariableChangeHandler( + IUIAnimationVariableChangeHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVariableIntegerChangeHandler( + IUIAnimationVariableIntegerChangeHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariable, 0x8ceeb155, 0x2849, 0x4ce5, 0x94,0x48, 0x91,0xff,0x70,0xe1,0xe4,0xd9) +#endif +#else +typedef struct IUIAnimationVariableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariable *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariable *This); + + /*** IUIAnimationVariable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetValue)( + IUIAnimationVariable *This, + double *value); + + HRESULT (STDMETHODCALLTYPE *GetFinalValue)( + IUIAnimationVariable *This, + double *finalValue); + + HRESULT (STDMETHODCALLTYPE *GetPreviousValue)( + IUIAnimationVariable *This, + double *previousValue); + + HRESULT (STDMETHODCALLTYPE *GetIntegerValue)( + IUIAnimationVariable *This, + int *value); + + HRESULT (STDMETHODCALLTYPE *GetFinalIntegerValue)( + IUIAnimationVariable *This, + int *finalValue); + + HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerValue)( + IUIAnimationVariable *This, + int *previousValue); + + HRESULT (STDMETHODCALLTYPE *GetCurrentStoryboard)( + IUIAnimationVariable *This, + IUIAnimationStoryboard **storyboard); + + HRESULT (STDMETHODCALLTYPE *SetLowerBound)( + IUIAnimationVariable *This, + double bound); + + HRESULT (STDMETHODCALLTYPE *SetUpperBound)( + IUIAnimationVariable *This, + double bound); + + HRESULT (STDMETHODCALLTYPE *SetRoundingMode)( + IUIAnimationVariable *This, + UI_ANIMATION_ROUNDING_MODE mode); + + HRESULT (STDMETHODCALLTYPE *SetTag)( + IUIAnimationVariable *This, + IUnknown *object, + unsigned int id); + + HRESULT (STDMETHODCALLTYPE *GetTag)( + IUIAnimationVariable *This, + IUnknown **object, + unsigned int *id); + + HRESULT (STDMETHODCALLTYPE *SetVariableChangeHandler)( + IUIAnimationVariable *This, + IUIAnimationVariableChangeHandler *handler); + + HRESULT (STDMETHODCALLTYPE *SetVariableIntegerChangeHandler)( + IUIAnimationVariable *This, + IUIAnimationVariableIntegerChangeHandler *handler); + + END_INTERFACE +} IUIAnimationVariableVtbl; + +interface IUIAnimationVariable { + CONST_VTBL IUIAnimationVariableVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariable_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariable methods ***/ +#define IUIAnimationVariable_GetValue(This,value) (This)->lpVtbl->GetValue(This,value) +#define IUIAnimationVariable_GetFinalValue(This,finalValue) (This)->lpVtbl->GetFinalValue(This,finalValue) +#define IUIAnimationVariable_GetPreviousValue(This,previousValue) (This)->lpVtbl->GetPreviousValue(This,previousValue) +#define IUIAnimationVariable_GetIntegerValue(This,value) (This)->lpVtbl->GetIntegerValue(This,value) +#define IUIAnimationVariable_GetFinalIntegerValue(This,finalValue) (This)->lpVtbl->GetFinalIntegerValue(This,finalValue) +#define IUIAnimationVariable_GetPreviousIntegerValue(This,previousValue) (This)->lpVtbl->GetPreviousIntegerValue(This,previousValue) +#define IUIAnimationVariable_GetCurrentStoryboard(This,storyboard) (This)->lpVtbl->GetCurrentStoryboard(This,storyboard) +#define IUIAnimationVariable_SetLowerBound(This,bound) (This)->lpVtbl->SetLowerBound(This,bound) +#define IUIAnimationVariable_SetUpperBound(This,bound) (This)->lpVtbl->SetUpperBound(This,bound) +#define IUIAnimationVariable_SetRoundingMode(This,mode) (This)->lpVtbl->SetRoundingMode(This,mode) +#define IUIAnimationVariable_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id) +#define IUIAnimationVariable_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id) +#define IUIAnimationVariable_SetVariableChangeHandler(This,handler) (This)->lpVtbl->SetVariableChangeHandler(This,handler) +#define IUIAnimationVariable_SetVariableIntegerChangeHandler(This,handler) (This)->lpVtbl->SetVariableIntegerChangeHandler(This,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariable_QueryInterface(IUIAnimationVariable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariable_AddRef(IUIAnimationVariable* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariable_Release(IUIAnimationVariable* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariable methods ***/ +static inline HRESULT IUIAnimationVariable_GetValue(IUIAnimationVariable* This,double *value) { + return This->lpVtbl->GetValue(This,value); +} +static inline HRESULT IUIAnimationVariable_GetFinalValue(IUIAnimationVariable* This,double *finalValue) { + return This->lpVtbl->GetFinalValue(This,finalValue); +} +static inline HRESULT IUIAnimationVariable_GetPreviousValue(IUIAnimationVariable* This,double *previousValue) { + return This->lpVtbl->GetPreviousValue(This,previousValue); +} +static inline HRESULT IUIAnimationVariable_GetIntegerValue(IUIAnimationVariable* This,int *value) { + return This->lpVtbl->GetIntegerValue(This,value); +} +static inline HRESULT IUIAnimationVariable_GetFinalIntegerValue(IUIAnimationVariable* This,int *finalValue) { + return This->lpVtbl->GetFinalIntegerValue(This,finalValue); +} +static inline HRESULT IUIAnimationVariable_GetPreviousIntegerValue(IUIAnimationVariable* This,int *previousValue) { + return This->lpVtbl->GetPreviousIntegerValue(This,previousValue); +} +static inline HRESULT IUIAnimationVariable_GetCurrentStoryboard(IUIAnimationVariable* This,IUIAnimationStoryboard **storyboard) { + return This->lpVtbl->GetCurrentStoryboard(This,storyboard); +} +static inline HRESULT IUIAnimationVariable_SetLowerBound(IUIAnimationVariable* This,double bound) { + return This->lpVtbl->SetLowerBound(This,bound); +} +static inline HRESULT IUIAnimationVariable_SetUpperBound(IUIAnimationVariable* This,double bound) { + return This->lpVtbl->SetUpperBound(This,bound); +} +static inline HRESULT IUIAnimationVariable_SetRoundingMode(IUIAnimationVariable* This,UI_ANIMATION_ROUNDING_MODE mode) { + return This->lpVtbl->SetRoundingMode(This,mode); +} +static inline HRESULT IUIAnimationVariable_SetTag(IUIAnimationVariable* This,IUnknown *object,unsigned int id) { + return This->lpVtbl->SetTag(This,object,id); +} +static inline HRESULT IUIAnimationVariable_GetTag(IUIAnimationVariable* This,IUnknown **object,unsigned int *id) { + return This->lpVtbl->GetTag(This,object,id); +} +static inline HRESULT IUIAnimationVariable_SetVariableChangeHandler(IUIAnimationVariable* This,IUIAnimationVariableChangeHandler *handler) { + return This->lpVtbl->SetVariableChangeHandler(This,handler); +} +static inline HRESULT IUIAnimationVariable_SetVariableIntegerChangeHandler(IUIAnimationVariable* This,IUIAnimationVariableIntegerChangeHandler *handler) { + return This->lpVtbl->SetVariableIntegerChangeHandler(This,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariable_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationStoryboard interface + */ +#ifndef __IUIAnimationStoryboard_INTERFACE_DEFINED__ +#define __IUIAnimationStoryboard_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationStoryboard, 0xa8ff128f, 0x9bf9, 0x4af1, 0x9e,0x67, 0xe5,0xe4,0x10,0xde,0xfb,0x84); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a8ff128f-9bf9-4af1-9e67-e5e410defb84") +IUIAnimationStoryboard : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddTransition( + IUIAnimationVariable *variable, + IUIAnimationTransition *transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddKeyframeAtOffset( + UI_ANIMATION_KEYFRAME existingKeyframe, + double offset, + UI_ANIMATION_KEYFRAME *keyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddKeyframeAfterTransition( + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME *keyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTransitionAtKeyframe( + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME startKeyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTransitionBetweenKeyframes( + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE RepeatBetweenKeyframes( + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe, + int repetitionCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE HoldVariable( + IUIAnimationVariable *variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLongestAcceptableDelay( + double delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE Schedule( + double timeNow, + UI_ANIMATION_SCHEDULING_RESULT *schedulingResult = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Conclude( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Finish( + double completionDeadline) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abandon( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTag( + IUnknown *object, + unsigned int id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTag( + IUnknown **object, + unsigned int *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + UI_ANIMATION_STORYBOARD_STATUS *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetElapsedTime( + double *elapsedTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStoryboardEventHandler( + IUIAnimationStoryboardEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationStoryboard, 0xa8ff128f, 0x9bf9, 0x4af1, 0x9e,0x67, 0xe5,0xe4,0x10,0xde,0xfb,0x84) +#endif +#else +typedef struct IUIAnimationStoryboardVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationStoryboard *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationStoryboard *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationStoryboard *This); + + /*** IUIAnimationStoryboard methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTransition)( + IUIAnimationStoryboard *This, + IUIAnimationVariable *variable, + IUIAnimationTransition *transition); + + HRESULT (STDMETHODCALLTYPE *AddKeyframeAtOffset)( + IUIAnimationStoryboard *This, + UI_ANIMATION_KEYFRAME existingKeyframe, + double offset, + UI_ANIMATION_KEYFRAME *keyframe); + + HRESULT (STDMETHODCALLTYPE *AddKeyframeAfterTransition)( + IUIAnimationStoryboard *This, + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME *keyframe); + + HRESULT (STDMETHODCALLTYPE *AddTransitionAtKeyframe)( + IUIAnimationStoryboard *This, + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME startKeyframe); + + HRESULT (STDMETHODCALLTYPE *AddTransitionBetweenKeyframes)( + IUIAnimationStoryboard *This, + IUIAnimationVariable *variable, + IUIAnimationTransition *transition, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe); + + HRESULT (STDMETHODCALLTYPE *RepeatBetweenKeyframes)( + IUIAnimationStoryboard *This, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe, + int repetitionCount); + + HRESULT (STDMETHODCALLTYPE *HoldVariable)( + IUIAnimationStoryboard *This, + IUIAnimationVariable *variable); + + HRESULT (STDMETHODCALLTYPE *SetLongestAcceptableDelay)( + IUIAnimationStoryboard *This, + double delay); + + HRESULT (STDMETHODCALLTYPE *Schedule)( + IUIAnimationStoryboard *This, + double timeNow, + UI_ANIMATION_SCHEDULING_RESULT *schedulingResult); + + HRESULT (STDMETHODCALLTYPE *Conclude)( + IUIAnimationStoryboard *This); + + HRESULT (STDMETHODCALLTYPE *Finish)( + IUIAnimationStoryboard *This, + double completionDeadline); + + HRESULT (STDMETHODCALLTYPE *Abandon)( + IUIAnimationStoryboard *This); + + HRESULT (STDMETHODCALLTYPE *SetTag)( + IUIAnimationStoryboard *This, + IUnknown *object, + unsigned int id); + + HRESULT (STDMETHODCALLTYPE *GetTag)( + IUIAnimationStoryboard *This, + IUnknown **object, + unsigned int *id); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + IUIAnimationStoryboard *This, + UI_ANIMATION_STORYBOARD_STATUS *status); + + HRESULT (STDMETHODCALLTYPE *GetElapsedTime)( + IUIAnimationStoryboard *This, + double *elapsedTime); + + HRESULT (STDMETHODCALLTYPE *SetStoryboardEventHandler)( + IUIAnimationStoryboard *This, + IUIAnimationStoryboardEventHandler *handler); + + END_INTERFACE +} IUIAnimationStoryboardVtbl; + +interface IUIAnimationStoryboard { + CONST_VTBL IUIAnimationStoryboardVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationStoryboard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationStoryboard_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationStoryboard_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationStoryboard methods ***/ +#define IUIAnimationStoryboard_AddTransition(This,variable,transition) (This)->lpVtbl->AddTransition(This,variable,transition) +#define IUIAnimationStoryboard_AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) (This)->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) +#define IUIAnimationStoryboard_AddKeyframeAfterTransition(This,transition,keyframe) (This)->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe) +#define IUIAnimationStoryboard_AddTransitionAtKeyframe(This,variable,transition,startKeyframe) (This)->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe) +#define IUIAnimationStoryboard_AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) (This)->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) +#define IUIAnimationStoryboard_RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount) (This)->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount) +#define IUIAnimationStoryboard_HoldVariable(This,variable) (This)->lpVtbl->HoldVariable(This,variable) +#define IUIAnimationStoryboard_SetLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetLongestAcceptableDelay(This,delay) +#define IUIAnimationStoryboard_Schedule(This,timeNow,schedulingResult) (This)->lpVtbl->Schedule(This,timeNow,schedulingResult) +#define IUIAnimationStoryboard_Conclude(This) (This)->lpVtbl->Conclude(This) +#define IUIAnimationStoryboard_Finish(This,completionDeadline) (This)->lpVtbl->Finish(This,completionDeadline) +#define IUIAnimationStoryboard_Abandon(This) (This)->lpVtbl->Abandon(This) +#define IUIAnimationStoryboard_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id) +#define IUIAnimationStoryboard_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id) +#define IUIAnimationStoryboard_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status) +#define IUIAnimationStoryboard_GetElapsedTime(This,elapsedTime) (This)->lpVtbl->GetElapsedTime(This,elapsedTime) +#define IUIAnimationStoryboard_SetStoryboardEventHandler(This,handler) (This)->lpVtbl->SetStoryboardEventHandler(This,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationStoryboard_QueryInterface(IUIAnimationStoryboard* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationStoryboard_AddRef(IUIAnimationStoryboard* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationStoryboard_Release(IUIAnimationStoryboard* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationStoryboard methods ***/ +static inline HRESULT IUIAnimationStoryboard_AddTransition(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition) { + return This->lpVtbl->AddTransition(This,variable,transition); +} +static inline HRESULT IUIAnimationStoryboard_AddKeyframeAtOffset(IUIAnimationStoryboard* This,UI_ANIMATION_KEYFRAME existingKeyframe,double offset,UI_ANIMATION_KEYFRAME *keyframe) { + return This->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe); +} +static inline HRESULT IUIAnimationStoryboard_AddKeyframeAfterTransition(IUIAnimationStoryboard* This,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME *keyframe) { + return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe); +} +static inline HRESULT IUIAnimationStoryboard_AddTransitionAtKeyframe(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME startKeyframe) { + return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe); +} +static inline HRESULT IUIAnimationStoryboard_AddTransitionBetweenKeyframes(IUIAnimationStoryboard* This,IUIAnimationVariable *variable,IUIAnimationTransition *transition,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe) { + return This->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe); +} +static inline HRESULT IUIAnimationStoryboard_RepeatBetweenKeyframes(IUIAnimationStoryboard* This,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe,int repetitionCount) { + return This->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,repetitionCount); +} +static inline HRESULT IUIAnimationStoryboard_HoldVariable(IUIAnimationStoryboard* This,IUIAnimationVariable *variable) { + return This->lpVtbl->HoldVariable(This,variable); +} +static inline HRESULT IUIAnimationStoryboard_SetLongestAcceptableDelay(IUIAnimationStoryboard* This,double delay) { + return This->lpVtbl->SetLongestAcceptableDelay(This,delay); +} +static inline HRESULT IUIAnimationStoryboard_Schedule(IUIAnimationStoryboard* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) { + return This->lpVtbl->Schedule(This,timeNow,schedulingResult); +} +static inline HRESULT IUIAnimationStoryboard_Conclude(IUIAnimationStoryboard* This) { + return This->lpVtbl->Conclude(This); +} +static inline HRESULT IUIAnimationStoryboard_Finish(IUIAnimationStoryboard* This,double completionDeadline) { + return This->lpVtbl->Finish(This,completionDeadline); +} +static inline HRESULT IUIAnimationStoryboard_Abandon(IUIAnimationStoryboard* This) { + return This->lpVtbl->Abandon(This); +} +static inline HRESULT IUIAnimationStoryboard_SetTag(IUIAnimationStoryboard* This,IUnknown *object,unsigned int id) { + return This->lpVtbl->SetTag(This,object,id); +} +static inline HRESULT IUIAnimationStoryboard_GetTag(IUIAnimationStoryboard* This,IUnknown **object,unsigned int *id) { + return This->lpVtbl->GetTag(This,object,id); +} +static inline HRESULT IUIAnimationStoryboard_GetStatus(IUIAnimationStoryboard* This,UI_ANIMATION_STORYBOARD_STATUS *status) { + return This->lpVtbl->GetStatus(This,status); +} +static inline HRESULT IUIAnimationStoryboard_GetElapsedTime(IUIAnimationStoryboard* This,double *elapsedTime) { + return This->lpVtbl->GetElapsedTime(This,elapsedTime); +} +static inline HRESULT IUIAnimationStoryboard_SetStoryboardEventHandler(IUIAnimationStoryboard* This,IUIAnimationStoryboardEventHandler *handler) { + return This->lpVtbl->SetStoryboardEventHandler(This,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationStoryboard_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransition interface + */ +#ifndef __IUIAnimationTransition_INTERFACE_DEFINED__ +#define __IUIAnimationTransition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransition, 0xdc6ce252, 0xf731, 0x41cf, 0xb6,0x10, 0x61,0x4b,0x6c,0xa0,0x49,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dc6ce252-f731-41cf-b610-614b6ca049ad") +IUIAnimationTransition : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetInitialValue( + double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialVelocity( + double velocity) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsDurationKnown( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDuration( + double *duration) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransition, 0xdc6ce252, 0xf731, 0x41cf, 0xb6,0x10, 0x61,0x4b,0x6c,0xa0,0x49,0xad) +#endif +#else +typedef struct IUIAnimationTransitionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransition *This); + + /*** IUIAnimationTransition methods ***/ + HRESULT (STDMETHODCALLTYPE *SetInitialValue)( + IUIAnimationTransition *This, + double value); + + HRESULT (STDMETHODCALLTYPE *SetInitialVelocity)( + IUIAnimationTransition *This, + double velocity); + + HRESULT (STDMETHODCALLTYPE *IsDurationKnown)( + IUIAnimationTransition *This); + + HRESULT (STDMETHODCALLTYPE *GetDuration)( + IUIAnimationTransition *This, + double *duration); + + END_INTERFACE +} IUIAnimationTransitionVtbl; + +interface IUIAnimationTransition { + CONST_VTBL IUIAnimationTransitionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransition methods ***/ +#define IUIAnimationTransition_SetInitialValue(This,value) (This)->lpVtbl->SetInitialValue(This,value) +#define IUIAnimationTransition_SetInitialVelocity(This,velocity) (This)->lpVtbl->SetInitialVelocity(This,velocity) +#define IUIAnimationTransition_IsDurationKnown(This) (This)->lpVtbl->IsDurationKnown(This) +#define IUIAnimationTransition_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransition_QueryInterface(IUIAnimationTransition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransition_AddRef(IUIAnimationTransition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransition_Release(IUIAnimationTransition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransition methods ***/ +static inline HRESULT IUIAnimationTransition_SetInitialValue(IUIAnimationTransition* This,double value) { + return This->lpVtbl->SetInitialValue(This,value); +} +static inline HRESULT IUIAnimationTransition_SetInitialVelocity(IUIAnimationTransition* This,double velocity) { + return This->lpVtbl->SetInitialVelocity(This,velocity); +} +static inline HRESULT IUIAnimationTransition_IsDurationKnown(IUIAnimationTransition* This) { + return This->lpVtbl->IsDurationKnown(This); +} +static inline HRESULT IUIAnimationTransition_GetDuration(IUIAnimationTransition* This,double *duration) { + return This->lpVtbl->GetDuration(This,duration); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationStoryboardEventHandler interface + */ +#ifndef __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__ +#define __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler, 0x3d5c9008, 0xec7c, 0x4364, 0x9f,0x8a, 0x9a,0xf3,0xc5,0x8c,0xba,0xe6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3d5c9008-ec7c-4364-9f8a-9af3c58cbae6") +IUIAnimationStoryboardEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnStoryboardStatusChanged( + IUIAnimationStoryboard *storyboard, + UI_ANIMATION_STORYBOARD_STATUS newStatus, + UI_ANIMATION_STORYBOARD_STATUS previousStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStoryboardUpdated( + IUIAnimationStoryboard *storyboard) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationStoryboardEventHandler, 0x3d5c9008, 0xec7c, 0x4364, 0x9f,0x8a, 0x9a,0xf3,0xc5,0x8c,0xba,0xe6) +#endif +#else +typedef struct IUIAnimationStoryboardEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationStoryboardEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationStoryboardEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationStoryboardEventHandler *This); + + /*** IUIAnimationStoryboardEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStoryboardStatusChanged)( + IUIAnimationStoryboardEventHandler *This, + IUIAnimationStoryboard *storyboard, + UI_ANIMATION_STORYBOARD_STATUS newStatus, + UI_ANIMATION_STORYBOARD_STATUS previousStatus); + + HRESULT (STDMETHODCALLTYPE *OnStoryboardUpdated)( + IUIAnimationStoryboardEventHandler *This, + IUIAnimationStoryboard *storyboard); + + END_INTERFACE +} IUIAnimationStoryboardEventHandlerVtbl; + +interface IUIAnimationStoryboardEventHandler { + CONST_VTBL IUIAnimationStoryboardEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationStoryboardEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationStoryboardEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationStoryboardEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationStoryboardEventHandler methods ***/ +#define IUIAnimationStoryboardEventHandler_OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) (This)->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) +#define IUIAnimationStoryboardEventHandler_OnStoryboardUpdated(This,storyboard) (This)->lpVtbl->OnStoryboardUpdated(This,storyboard) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationStoryboardEventHandler_QueryInterface(IUIAnimationStoryboardEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationStoryboardEventHandler_AddRef(IUIAnimationStoryboardEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationStoryboardEventHandler_Release(IUIAnimationStoryboardEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationStoryboardEventHandler methods ***/ +static inline HRESULT IUIAnimationStoryboardEventHandler_OnStoryboardStatusChanged(IUIAnimationStoryboardEventHandler* This,IUIAnimationStoryboard *storyboard,UI_ANIMATION_STORYBOARD_STATUS newStatus,UI_ANIMATION_STORYBOARD_STATUS previousStatus) { + return This->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus); +} +static inline HRESULT IUIAnimationStoryboardEventHandler_OnStoryboardUpdated(IUIAnimationStoryboardEventHandler* This,IUIAnimationStoryboard *storyboard) { + return This->lpVtbl->OnStoryboardUpdated(This,storyboard); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationStoryboardEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariableChangeHandler interface + */ +#ifndef __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__ +#define __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariableChangeHandler, 0x6358b7ba, 0x87d2, 0x42d5, 0xbf,0x71, 0x82,0xe9,0x19,0xdd,0x58,0x62); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6358b7ba-87d2-42d5-bf71-82e919dd5862") +IUIAnimationVariableChangeHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnValueChanged( + IUIAnimationStoryboard *storyboard, + IUIAnimationVariable *variable, + double newValue, + double previousValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariableChangeHandler, 0x6358b7ba, 0x87d2, 0x42d5, 0xbf,0x71, 0x82,0xe9,0x19,0xdd,0x58,0x62) +#endif +#else +typedef struct IUIAnimationVariableChangeHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariableChangeHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariableChangeHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariableChangeHandler *This); + + /*** IUIAnimationVariableChangeHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnValueChanged)( + IUIAnimationVariableChangeHandler *This, + IUIAnimationStoryboard *storyboard, + IUIAnimationVariable *variable, + double newValue, + double previousValue); + + END_INTERFACE +} IUIAnimationVariableChangeHandlerVtbl; + +interface IUIAnimationVariableChangeHandler { + CONST_VTBL IUIAnimationVariableChangeHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariableChangeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariableChangeHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariableChangeHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariableChangeHandler methods ***/ +#define IUIAnimationVariableChangeHandler_OnValueChanged(This,storyboard,variable,newValue,previousValue) (This)->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariableChangeHandler_QueryInterface(IUIAnimationVariableChangeHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariableChangeHandler_AddRef(IUIAnimationVariableChangeHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariableChangeHandler_Release(IUIAnimationVariableChangeHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariableChangeHandler methods ***/ +static inline HRESULT IUIAnimationVariableChangeHandler_OnValueChanged(IUIAnimationVariableChangeHandler* This,IUIAnimationStoryboard *storyboard,IUIAnimationVariable *variable,double newValue,double previousValue) { + return This->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariableChangeHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariableIntegerChangeHandler interface + */ +#ifndef __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler, 0xbb3e1550, 0x356e, 0x44b0, 0x99,0xda, 0x85,0xac,0x60,0x17,0x86,0x5e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bb3e1550-356e-44b0-99da-85ac6017865e") +IUIAnimationVariableIntegerChangeHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnIntegerValueChanged( + IUIAnimationStoryboard *storyboard, + IUIAnimationVariable *variable, + int newValue, + int previousValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariableIntegerChangeHandler, 0xbb3e1550, 0x356e, 0x44b0, 0x99,0xda, 0x85,0xac,0x60,0x17,0x86,0x5e) +#endif +#else +typedef struct IUIAnimationVariableIntegerChangeHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariableIntegerChangeHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariableIntegerChangeHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariableIntegerChangeHandler *This); + + /*** IUIAnimationVariableIntegerChangeHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnIntegerValueChanged)( + IUIAnimationVariableIntegerChangeHandler *This, + IUIAnimationStoryboard *storyboard, + IUIAnimationVariable *variable, + int newValue, + int previousValue); + + END_INTERFACE +} IUIAnimationVariableIntegerChangeHandlerVtbl; + +interface IUIAnimationVariableIntegerChangeHandler { + CONST_VTBL IUIAnimationVariableIntegerChangeHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariableIntegerChangeHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariableIntegerChangeHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariableIntegerChangeHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariableIntegerChangeHandler methods ***/ +#define IUIAnimationVariableIntegerChangeHandler_OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue) (This)->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariableIntegerChangeHandler_QueryInterface(IUIAnimationVariableIntegerChangeHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariableIntegerChangeHandler_AddRef(IUIAnimationVariableIntegerChangeHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariableIntegerChangeHandler_Release(IUIAnimationVariableIntegerChangeHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariableIntegerChangeHandler methods ***/ +static inline HRESULT IUIAnimationVariableIntegerChangeHandler_OnIntegerValueChanged(IUIAnimationVariableIntegerChangeHandler* This,IUIAnimationStoryboard *storyboard,IUIAnimationVariable *variable,int newValue,int previousValue) { + return This->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariableIntegerChangeHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationManagerEventHandler interface + */ +#ifndef __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__ +#define __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationManagerEventHandler, 0x783321ed, 0x78a3, 0x4366, 0xb5,0x74, 0x6a,0xf6,0x07,0xa6,0x47,0x88); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("783321ed-78a3-4366-b574-6af607a64788") +IUIAnimationManagerEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnManagerStatusChanged( + UI_ANIMATION_MANAGER_STATUS newStatus, + UI_ANIMATION_MANAGER_STATUS previousStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationManagerEventHandler, 0x783321ed, 0x78a3, 0x4366, 0xb5,0x74, 0x6a,0xf6,0x07,0xa6,0x47,0x88) +#endif +#else +typedef struct IUIAnimationManagerEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationManagerEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationManagerEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationManagerEventHandler *This); + + /*** IUIAnimationManagerEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnManagerStatusChanged)( + IUIAnimationManagerEventHandler *This, + UI_ANIMATION_MANAGER_STATUS newStatus, + UI_ANIMATION_MANAGER_STATUS previousStatus); + + END_INTERFACE +} IUIAnimationManagerEventHandlerVtbl; + +interface IUIAnimationManagerEventHandler { + CONST_VTBL IUIAnimationManagerEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationManagerEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationManagerEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationManagerEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationManagerEventHandler methods ***/ +#define IUIAnimationManagerEventHandler_OnManagerStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationManagerEventHandler_QueryInterface(IUIAnimationManagerEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationManagerEventHandler_AddRef(IUIAnimationManagerEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationManagerEventHandler_Release(IUIAnimationManagerEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationManagerEventHandler methods ***/ +static inline HRESULT IUIAnimationManagerEventHandler_OnManagerStatusChanged(IUIAnimationManagerEventHandler* This,UI_ANIMATION_MANAGER_STATUS newStatus,UI_ANIMATION_MANAGER_STATUS previousStatus) { + return This->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationManagerEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationPriorityComparison interface + */ +#ifndef __IUIAnimationPriorityComparison_INTERFACE_DEFINED__ +#define __IUIAnimationPriorityComparison_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationPriorityComparison, 0x83fa9b74, 0x5f86, 0x4618, 0xbc,0x6a, 0xa2,0xfa,0xc1,0x9b,0x3f,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("83fa9b74-5f86-4618-bc6a-a2fac19b3f44") +IUIAnimationPriorityComparison : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HasPriority( + IUIAnimationStoryboard *scheduledStoryboard, + IUIAnimationStoryboard *newStoryboard, + UI_ANIMATION_PRIORITY_EFFECT priorityEffect) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationPriorityComparison, 0x83fa9b74, 0x5f86, 0x4618, 0xbc,0x6a, 0xa2,0xfa,0xc1,0x9b,0x3f,0x44) +#endif +#else +typedef struct IUIAnimationPriorityComparisonVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationPriorityComparison *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationPriorityComparison *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationPriorityComparison *This); + + /*** IUIAnimationPriorityComparison methods ***/ + HRESULT (STDMETHODCALLTYPE *HasPriority)( + IUIAnimationPriorityComparison *This, + IUIAnimationStoryboard *scheduledStoryboard, + IUIAnimationStoryboard *newStoryboard, + UI_ANIMATION_PRIORITY_EFFECT priorityEffect); + + END_INTERFACE +} IUIAnimationPriorityComparisonVtbl; + +interface IUIAnimationPriorityComparison { + CONST_VTBL IUIAnimationPriorityComparisonVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationPriorityComparison_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationPriorityComparison_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationPriorityComparison_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationPriorityComparison methods ***/ +#define IUIAnimationPriorityComparison_HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) (This)->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationPriorityComparison_QueryInterface(IUIAnimationPriorityComparison* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationPriorityComparison_AddRef(IUIAnimationPriorityComparison* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationPriorityComparison_Release(IUIAnimationPriorityComparison* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationPriorityComparison methods ***/ +static inline HRESULT IUIAnimationPriorityComparison_HasPriority(IUIAnimationPriorityComparison* This,IUIAnimationStoryboard *scheduledStoryboard,IUIAnimationStoryboard *newStoryboard,UI_ANIMATION_PRIORITY_EFFECT priorityEffect) { + return This->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationPriorityComparison_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationManager2 interface + */ +#ifndef __IUIAnimationManager2_INTERFACE_DEFINED__ +#define __IUIAnimationManager2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationManager2, 0xd8b6f7d4, 0x4109, 0x4d3f, 0xac,0xee, 0x87,0x99,0x26,0x96,0x8c,0xb1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d8b6f7d4-4109-4d3f-acee-879926968cb1") +IUIAnimationManager2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateAnimationVectorVariable( + double *initialValue, + unsigned int cDimension, + IUIAnimationVariable2 **variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAnimationVariable( + double initialValue, + IUIAnimationVariable2 **variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScheduleTransition( + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + double timeNow) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStoryboard( + IUIAnimationStoryboard2 **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE FinishAllStoryboards( + double completionDeadline) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbandonAllStoryboards( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Update( + double timeNow, + UI_ANIMATION_UPDATE_RESULT *updateResult = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVariableFromTag( + IUnknown *object, + UINT32 id, + IUIAnimationVariable2 **variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStoryboardFromTag( + IUnknown *object, + unsigned int id, + IUIAnimationStoryboard2 **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE EstimateNextEventTime( + double *seconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + UI_ANIMATION_MANAGER_STATUS *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAnimationMode( + UI_ANIMATION_MODE mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE Pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetManagerEventHandler( + IUIAnimationManagerEventHandler2 *handler, + LONG fRegisterForNextAnimationEvent = FALSE) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCancelPriorityComparison( + IUIAnimationPriorityComparison2 *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTrimPriorityComparison( + IUIAnimationPriorityComparison2 *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCompressPriorityComparison( + IUIAnimationPriorityComparison2 *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetConcludePriorityComparison( + IUIAnimationPriorityComparison2 *comparison) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDefaultLongestAcceptableDelay( + double delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE Shutdown( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationManager2, 0xd8b6f7d4, 0x4109, 0x4d3f, 0xac,0xee, 0x87,0x99,0x26,0x96,0x8c,0xb1) +#endif +#else +typedef struct IUIAnimationManager2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationManager2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationManager2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationManager2 *This); + + /*** IUIAnimationManager2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateAnimationVectorVariable)( + IUIAnimationManager2 *This, + double *initialValue, + unsigned int cDimension, + IUIAnimationVariable2 **variable); + + HRESULT (STDMETHODCALLTYPE *CreateAnimationVariable)( + IUIAnimationManager2 *This, + double initialValue, + IUIAnimationVariable2 **variable); + + HRESULT (STDMETHODCALLTYPE *ScheduleTransition)( + IUIAnimationManager2 *This, + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + double timeNow); + + HRESULT (STDMETHODCALLTYPE *CreateStoryboard)( + IUIAnimationManager2 *This, + IUIAnimationStoryboard2 **storyboard); + + HRESULT (STDMETHODCALLTYPE *FinishAllStoryboards)( + IUIAnimationManager2 *This, + double completionDeadline); + + HRESULT (STDMETHODCALLTYPE *AbandonAllStoryboards)( + IUIAnimationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *Update)( + IUIAnimationManager2 *This, + double timeNow, + UI_ANIMATION_UPDATE_RESULT *updateResult); + + HRESULT (STDMETHODCALLTYPE *GetVariableFromTag)( + IUIAnimationManager2 *This, + IUnknown *object, + UINT32 id, + IUIAnimationVariable2 **variable); + + HRESULT (STDMETHODCALLTYPE *GetStoryboardFromTag)( + IUIAnimationManager2 *This, + IUnknown *object, + unsigned int id, + IUIAnimationStoryboard2 **storyboard); + + HRESULT (STDMETHODCALLTYPE *EstimateNextEventTime)( + IUIAnimationManager2 *This, + double *seconds); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + IUIAnimationManager2 *This, + UI_ANIMATION_MANAGER_STATUS *status); + + HRESULT (STDMETHODCALLTYPE *SetAnimationMode)( + IUIAnimationManager2 *This, + UI_ANIMATION_MODE mode); + + HRESULT (STDMETHODCALLTYPE *Pause)( + IUIAnimationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IUIAnimationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *SetManagerEventHandler)( + IUIAnimationManager2 *This, + IUIAnimationManagerEventHandler2 *handler, + LONG fRegisterForNextAnimationEvent); + + HRESULT (STDMETHODCALLTYPE *SetCancelPriorityComparison)( + IUIAnimationManager2 *This, + IUIAnimationPriorityComparison2 *comparison); + + HRESULT (STDMETHODCALLTYPE *SetTrimPriorityComparison)( + IUIAnimationManager2 *This, + IUIAnimationPriorityComparison2 *comparison); + + HRESULT (STDMETHODCALLTYPE *SetCompressPriorityComparison)( + IUIAnimationManager2 *This, + IUIAnimationPriorityComparison2 *comparison); + + HRESULT (STDMETHODCALLTYPE *SetConcludePriorityComparison)( + IUIAnimationManager2 *This, + IUIAnimationPriorityComparison2 *comparison); + + HRESULT (STDMETHODCALLTYPE *SetDefaultLongestAcceptableDelay)( + IUIAnimationManager2 *This, + double delay); + + HRESULT (STDMETHODCALLTYPE *Shutdown)( + IUIAnimationManager2 *This); + + END_INTERFACE +} IUIAnimationManager2Vtbl; + +interface IUIAnimationManager2 { + CONST_VTBL IUIAnimationManager2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationManager2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationManager2 methods ***/ +#define IUIAnimationManager2_CreateAnimationVectorVariable(This,initialValue,cDimension,variable) (This)->lpVtbl->CreateAnimationVectorVariable(This,initialValue,cDimension,variable) +#define IUIAnimationManager2_CreateAnimationVariable(This,initialValue,variable) (This)->lpVtbl->CreateAnimationVariable(This,initialValue,variable) +#define IUIAnimationManager2_ScheduleTransition(This,variable,transition,timeNow) (This)->lpVtbl->ScheduleTransition(This,variable,transition,timeNow) +#define IUIAnimationManager2_CreateStoryboard(This,storyboard) (This)->lpVtbl->CreateStoryboard(This,storyboard) +#define IUIAnimationManager2_FinishAllStoryboards(This,completionDeadline) (This)->lpVtbl->FinishAllStoryboards(This,completionDeadline) +#define IUIAnimationManager2_AbandonAllStoryboards(This) (This)->lpVtbl->AbandonAllStoryboards(This) +#define IUIAnimationManager2_Update(This,timeNow,updateResult) (This)->lpVtbl->Update(This,timeNow,updateResult) +#define IUIAnimationManager2_GetVariableFromTag(This,object,id,variable) (This)->lpVtbl->GetVariableFromTag(This,object,id,variable) +#define IUIAnimationManager2_GetStoryboardFromTag(This,object,id,storyboard) (This)->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard) +#define IUIAnimationManager2_EstimateNextEventTime(This,seconds) (This)->lpVtbl->EstimateNextEventTime(This,seconds) +#define IUIAnimationManager2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status) +#define IUIAnimationManager2_SetAnimationMode(This,mode) (This)->lpVtbl->SetAnimationMode(This,mode) +#define IUIAnimationManager2_Pause(This) (This)->lpVtbl->Pause(This) +#define IUIAnimationManager2_Resume(This) (This)->lpVtbl->Resume(This) +#define IUIAnimationManager2_SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent) +#define IUIAnimationManager2_SetCancelPriorityComparison(This,comparison) (This)->lpVtbl->SetCancelPriorityComparison(This,comparison) +#define IUIAnimationManager2_SetTrimPriorityComparison(This,comparison) (This)->lpVtbl->SetTrimPriorityComparison(This,comparison) +#define IUIAnimationManager2_SetCompressPriorityComparison(This,comparison) (This)->lpVtbl->SetCompressPriorityComparison(This,comparison) +#define IUIAnimationManager2_SetConcludePriorityComparison(This,comparison) (This)->lpVtbl->SetConcludePriorityComparison(This,comparison) +#define IUIAnimationManager2_SetDefaultLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay) +#define IUIAnimationManager2_Shutdown(This) (This)->lpVtbl->Shutdown(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationManager2_QueryInterface(IUIAnimationManager2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationManager2_AddRef(IUIAnimationManager2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationManager2_Release(IUIAnimationManager2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationManager2 methods ***/ +static inline HRESULT IUIAnimationManager2_CreateAnimationVectorVariable(IUIAnimationManager2* This,double *initialValue,unsigned int cDimension,IUIAnimationVariable2 **variable) { + return This->lpVtbl->CreateAnimationVectorVariable(This,initialValue,cDimension,variable); +} +static inline HRESULT IUIAnimationManager2_CreateAnimationVariable(IUIAnimationManager2* This,double initialValue,IUIAnimationVariable2 **variable) { + return This->lpVtbl->CreateAnimationVariable(This,initialValue,variable); +} +static inline HRESULT IUIAnimationManager2_ScheduleTransition(IUIAnimationManager2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,double timeNow) { + return This->lpVtbl->ScheduleTransition(This,variable,transition,timeNow); +} +static inline HRESULT IUIAnimationManager2_CreateStoryboard(IUIAnimationManager2* This,IUIAnimationStoryboard2 **storyboard) { + return This->lpVtbl->CreateStoryboard(This,storyboard); +} +static inline HRESULT IUIAnimationManager2_FinishAllStoryboards(IUIAnimationManager2* This,double completionDeadline) { + return This->lpVtbl->FinishAllStoryboards(This,completionDeadline); +} +static inline HRESULT IUIAnimationManager2_AbandonAllStoryboards(IUIAnimationManager2* This) { + return This->lpVtbl->AbandonAllStoryboards(This); +} +static inline HRESULT IUIAnimationManager2_Update(IUIAnimationManager2* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *updateResult) { + return This->lpVtbl->Update(This,timeNow,updateResult); +} +static inline HRESULT IUIAnimationManager2_GetVariableFromTag(IUIAnimationManager2* This,IUnknown *object,UINT32 id,IUIAnimationVariable2 **variable) { + return This->lpVtbl->GetVariableFromTag(This,object,id,variable); +} +static inline HRESULT IUIAnimationManager2_GetStoryboardFromTag(IUIAnimationManager2* This,IUnknown *object,unsigned int id,IUIAnimationStoryboard2 **storyboard) { + return This->lpVtbl->GetStoryboardFromTag(This,object,id,storyboard); +} +static inline HRESULT IUIAnimationManager2_EstimateNextEventTime(IUIAnimationManager2* This,double *seconds) { + return This->lpVtbl->EstimateNextEventTime(This,seconds); +} +static inline HRESULT IUIAnimationManager2_GetStatus(IUIAnimationManager2* This,UI_ANIMATION_MANAGER_STATUS *status) { + return This->lpVtbl->GetStatus(This,status); +} +static inline HRESULT IUIAnimationManager2_SetAnimationMode(IUIAnimationManager2* This,UI_ANIMATION_MODE mode) { + return This->lpVtbl->SetAnimationMode(This,mode); +} +static inline HRESULT IUIAnimationManager2_Pause(IUIAnimationManager2* This) { + return This->lpVtbl->Pause(This); +} +static inline HRESULT IUIAnimationManager2_Resume(IUIAnimationManager2* This) { + return This->lpVtbl->Resume(This); +} +static inline HRESULT IUIAnimationManager2_SetManagerEventHandler(IUIAnimationManager2* This,IUIAnimationManagerEventHandler2 *handler,LONG fRegisterForNextAnimationEvent) { + return This->lpVtbl->SetManagerEventHandler(This,handler,fRegisterForNextAnimationEvent); +} +static inline HRESULT IUIAnimationManager2_SetCancelPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) { + return This->lpVtbl->SetCancelPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager2_SetTrimPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) { + return This->lpVtbl->SetTrimPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager2_SetCompressPriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) { + return This->lpVtbl->SetCompressPriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager2_SetConcludePriorityComparison(IUIAnimationManager2* This,IUIAnimationPriorityComparison2 *comparison) { + return This->lpVtbl->SetConcludePriorityComparison(This,comparison); +} +static inline HRESULT IUIAnimationManager2_SetDefaultLongestAcceptableDelay(IUIAnimationManager2* This,double delay) { + return This->lpVtbl->SetDefaultLongestAcceptableDelay(This,delay); +} +static inline HRESULT IUIAnimationManager2_Shutdown(IUIAnimationManager2* This) { + return This->lpVtbl->Shutdown(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationManager2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariable2 interface + */ +#ifndef __IUIAnimationVariable2_INTERFACE_DEFINED__ +#define __IUIAnimationVariable2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariable2, 0x4914b304, 0x96ab, 0x44d9, 0x9e,0x77, 0xd5,0x10,0x9b,0x7e,0x74,0x66); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4914b304-96ab-44d9-9e77-d5109b7e7466") +IUIAnimationVariable2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDimension( + unsigned int *dimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetValue( + double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVectorValue( + double *value, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurve( + IDCompositionAnimation *animation) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVectorCurve( + IDCompositionAnimation **animation, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalValue( + double *finalValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalVectorValue( + double *finalValue, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousValue( + double *previousValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousVectorValue( + double *previousValue, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIntegerValue( + int *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIntegerVectorValue( + int *value, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerValue( + int *finalValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalIntegerVectorValue( + int *finalValue, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerValue( + int *previousValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousIntegerVectorValue( + int *previousValue, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentStoryboard( + IUIAnimationStoryboard2 **storyboard) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLowerBound( + double bound) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLowerBoundVector( + double *bound, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUpperBound( + double bound) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUpperBoundVector( + double *bound, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRoundingMode( + UI_ANIMATION_ROUNDING_MODE mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTag( + IUnknown *object, + unsigned int id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTag( + IUnknown **object, + unsigned int *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVariableChangeHandler( + IUIAnimationVariableChangeHandler2 *handler, + LONG fRegisterForNextAnimationEvent = FALSE) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVariableIntegerChangeHandler( + IUIAnimationVariableIntegerChangeHandler2 *handler, + LONG fRegisterForNextAnimationEvent = FALSE) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVariableCurveChangeHandler( + IUIAnimationVariableCurveChangeHandler2 *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariable2, 0x4914b304, 0x96ab, 0x44d9, 0x9e,0x77, 0xd5,0x10,0x9b,0x7e,0x74,0x66) +#endif +#else +typedef struct IUIAnimationVariable2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariable2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariable2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariable2 *This); + + /*** IUIAnimationVariable2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDimension)( + IUIAnimationVariable2 *This, + unsigned int *dimension); + + HRESULT (STDMETHODCALLTYPE *GetValue)( + IUIAnimationVariable2 *This, + double *value); + + HRESULT (STDMETHODCALLTYPE *GetVectorValue)( + IUIAnimationVariable2 *This, + double *value, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetCurve)( + IUIAnimationVariable2 *This, + IDCompositionAnimation *animation); + + HRESULT (STDMETHODCALLTYPE *GetVectorCurve)( + IUIAnimationVariable2 *This, + IDCompositionAnimation **animation, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetFinalValue)( + IUIAnimationVariable2 *This, + double *finalValue); + + HRESULT (STDMETHODCALLTYPE *GetFinalVectorValue)( + IUIAnimationVariable2 *This, + double *finalValue, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetPreviousValue)( + IUIAnimationVariable2 *This, + double *previousValue); + + HRESULT (STDMETHODCALLTYPE *GetPreviousVectorValue)( + IUIAnimationVariable2 *This, + double *previousValue, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetIntegerValue)( + IUIAnimationVariable2 *This, + int *value); + + HRESULT (STDMETHODCALLTYPE *GetIntegerVectorValue)( + IUIAnimationVariable2 *This, + int *value, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetFinalIntegerValue)( + IUIAnimationVariable2 *This, + int *finalValue); + + HRESULT (STDMETHODCALLTYPE *GetFinalIntegerVectorValue)( + IUIAnimationVariable2 *This, + int *finalValue, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerValue)( + IUIAnimationVariable2 *This, + int *previousValue); + + HRESULT (STDMETHODCALLTYPE *GetPreviousIntegerVectorValue)( + IUIAnimationVariable2 *This, + int *previousValue, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetCurrentStoryboard)( + IUIAnimationVariable2 *This, + IUIAnimationStoryboard2 **storyboard); + + HRESULT (STDMETHODCALLTYPE *SetLowerBound)( + IUIAnimationVariable2 *This, + double bound); + + HRESULT (STDMETHODCALLTYPE *SetLowerBoundVector)( + IUIAnimationVariable2 *This, + double *bound, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *SetUpperBound)( + IUIAnimationVariable2 *This, + double bound); + + HRESULT (STDMETHODCALLTYPE *SetUpperBoundVector)( + IUIAnimationVariable2 *This, + double *bound, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *SetRoundingMode)( + IUIAnimationVariable2 *This, + UI_ANIMATION_ROUNDING_MODE mode); + + HRESULT (STDMETHODCALLTYPE *SetTag)( + IUIAnimationVariable2 *This, + IUnknown *object, + unsigned int id); + + HRESULT (STDMETHODCALLTYPE *GetTag)( + IUIAnimationVariable2 *This, + IUnknown **object, + unsigned int *id); + + HRESULT (STDMETHODCALLTYPE *SetVariableChangeHandler)( + IUIAnimationVariable2 *This, + IUIAnimationVariableChangeHandler2 *handler, + LONG fRegisterForNextAnimationEvent); + + HRESULT (STDMETHODCALLTYPE *SetVariableIntegerChangeHandler)( + IUIAnimationVariable2 *This, + IUIAnimationVariableIntegerChangeHandler2 *handler, + LONG fRegisterForNextAnimationEvent); + + HRESULT (STDMETHODCALLTYPE *SetVariableCurveChangeHandler)( + IUIAnimationVariable2 *This, + IUIAnimationVariableCurveChangeHandler2 *handler); + + END_INTERFACE +} IUIAnimationVariable2Vtbl; + +interface IUIAnimationVariable2 { + CONST_VTBL IUIAnimationVariable2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariable2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariable2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariable2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariable2 methods ***/ +#define IUIAnimationVariable2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension) +#define IUIAnimationVariable2_GetValue(This,value) (This)->lpVtbl->GetValue(This,value) +#define IUIAnimationVariable2_GetVectorValue(This,value,cDimension) (This)->lpVtbl->GetVectorValue(This,value,cDimension) +#define IUIAnimationVariable2_GetCurve(This,animation) (This)->lpVtbl->GetCurve(This,animation) +#define IUIAnimationVariable2_GetVectorCurve(This,animation,cDimension) (This)->lpVtbl->GetVectorCurve(This,animation,cDimension) +#define IUIAnimationVariable2_GetFinalValue(This,finalValue) (This)->lpVtbl->GetFinalValue(This,finalValue) +#define IUIAnimationVariable2_GetFinalVectorValue(This,finalValue,cDimension) (This)->lpVtbl->GetFinalVectorValue(This,finalValue,cDimension) +#define IUIAnimationVariable2_GetPreviousValue(This,previousValue) (This)->lpVtbl->GetPreviousValue(This,previousValue) +#define IUIAnimationVariable2_GetPreviousVectorValue(This,previousValue,cDimension) (This)->lpVtbl->GetPreviousVectorValue(This,previousValue,cDimension) +#define IUIAnimationVariable2_GetIntegerValue(This,value) (This)->lpVtbl->GetIntegerValue(This,value) +#define IUIAnimationVariable2_GetIntegerVectorValue(This,value,cDimension) (This)->lpVtbl->GetIntegerVectorValue(This,value,cDimension) +#define IUIAnimationVariable2_GetFinalIntegerValue(This,finalValue) (This)->lpVtbl->GetFinalIntegerValue(This,finalValue) +#define IUIAnimationVariable2_GetFinalIntegerVectorValue(This,finalValue,cDimension) (This)->lpVtbl->GetFinalIntegerVectorValue(This,finalValue,cDimension) +#define IUIAnimationVariable2_GetPreviousIntegerValue(This,previousValue) (This)->lpVtbl->GetPreviousIntegerValue(This,previousValue) +#define IUIAnimationVariable2_GetPreviousIntegerVectorValue(This,previousValue,cDimension) (This)->lpVtbl->GetPreviousIntegerVectorValue(This,previousValue,cDimension) +#define IUIAnimationVariable2_GetCurrentStoryboard(This,storyboard) (This)->lpVtbl->GetCurrentStoryboard(This,storyboard) +#define IUIAnimationVariable2_SetLowerBound(This,bound) (This)->lpVtbl->SetLowerBound(This,bound) +#define IUIAnimationVariable2_SetLowerBoundVector(This,bound,cDimension) (This)->lpVtbl->SetLowerBoundVector(This,bound,cDimension) +#define IUIAnimationVariable2_SetUpperBound(This,bound) (This)->lpVtbl->SetUpperBound(This,bound) +#define IUIAnimationVariable2_SetUpperBoundVector(This,bound,cDimension) (This)->lpVtbl->SetUpperBoundVector(This,bound,cDimension) +#define IUIAnimationVariable2_SetRoundingMode(This,mode) (This)->lpVtbl->SetRoundingMode(This,mode) +#define IUIAnimationVariable2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id) +#define IUIAnimationVariable2_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id) +#define IUIAnimationVariable2_SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent) +#define IUIAnimationVariable2_SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent) (This)->lpVtbl->SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent) +#define IUIAnimationVariable2_SetVariableCurveChangeHandler(This,handler) (This)->lpVtbl->SetVariableCurveChangeHandler(This,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariable2_QueryInterface(IUIAnimationVariable2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariable2_AddRef(IUIAnimationVariable2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariable2_Release(IUIAnimationVariable2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariable2 methods ***/ +static inline HRESULT IUIAnimationVariable2_GetDimension(IUIAnimationVariable2* This,unsigned int *dimension) { + return This->lpVtbl->GetDimension(This,dimension); +} +static inline HRESULT IUIAnimationVariable2_GetValue(IUIAnimationVariable2* This,double *value) { + return This->lpVtbl->GetValue(This,value); +} +static inline HRESULT IUIAnimationVariable2_GetVectorValue(IUIAnimationVariable2* This,double *value,unsigned int cDimension) { + return This->lpVtbl->GetVectorValue(This,value,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetCurve(IUIAnimationVariable2* This,IDCompositionAnimation *animation) { + return This->lpVtbl->GetCurve(This,animation); +} +static inline HRESULT IUIAnimationVariable2_GetVectorCurve(IUIAnimationVariable2* This,IDCompositionAnimation **animation,unsigned int cDimension) { + return This->lpVtbl->GetVectorCurve(This,animation,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetFinalValue(IUIAnimationVariable2* This,double *finalValue) { + return This->lpVtbl->GetFinalValue(This,finalValue); +} +static inline HRESULT IUIAnimationVariable2_GetFinalVectorValue(IUIAnimationVariable2* This,double *finalValue,unsigned int cDimension) { + return This->lpVtbl->GetFinalVectorValue(This,finalValue,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetPreviousValue(IUIAnimationVariable2* This,double *previousValue) { + return This->lpVtbl->GetPreviousValue(This,previousValue); +} +static inline HRESULT IUIAnimationVariable2_GetPreviousVectorValue(IUIAnimationVariable2* This,double *previousValue,unsigned int cDimension) { + return This->lpVtbl->GetPreviousVectorValue(This,previousValue,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetIntegerValue(IUIAnimationVariable2* This,int *value) { + return This->lpVtbl->GetIntegerValue(This,value); +} +static inline HRESULT IUIAnimationVariable2_GetIntegerVectorValue(IUIAnimationVariable2* This,int *value,unsigned int cDimension) { + return This->lpVtbl->GetIntegerVectorValue(This,value,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetFinalIntegerValue(IUIAnimationVariable2* This,int *finalValue) { + return This->lpVtbl->GetFinalIntegerValue(This,finalValue); +} +static inline HRESULT IUIAnimationVariable2_GetFinalIntegerVectorValue(IUIAnimationVariable2* This,int *finalValue,unsigned int cDimension) { + return This->lpVtbl->GetFinalIntegerVectorValue(This,finalValue,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetPreviousIntegerValue(IUIAnimationVariable2* This,int *previousValue) { + return This->lpVtbl->GetPreviousIntegerValue(This,previousValue); +} +static inline HRESULT IUIAnimationVariable2_GetPreviousIntegerVectorValue(IUIAnimationVariable2* This,int *previousValue,unsigned int cDimension) { + return This->lpVtbl->GetPreviousIntegerVectorValue(This,previousValue,cDimension); +} +static inline HRESULT IUIAnimationVariable2_GetCurrentStoryboard(IUIAnimationVariable2* This,IUIAnimationStoryboard2 **storyboard) { + return This->lpVtbl->GetCurrentStoryboard(This,storyboard); +} +static inline HRESULT IUIAnimationVariable2_SetLowerBound(IUIAnimationVariable2* This,double bound) { + return This->lpVtbl->SetLowerBound(This,bound); +} +static inline HRESULT IUIAnimationVariable2_SetLowerBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) { + return This->lpVtbl->SetLowerBoundVector(This,bound,cDimension); +} +static inline HRESULT IUIAnimationVariable2_SetUpperBound(IUIAnimationVariable2* This,double bound) { + return This->lpVtbl->SetUpperBound(This,bound); +} +static inline HRESULT IUIAnimationVariable2_SetUpperBoundVector(IUIAnimationVariable2* This,double *bound,unsigned int cDimension) { + return This->lpVtbl->SetUpperBoundVector(This,bound,cDimension); +} +static inline HRESULT IUIAnimationVariable2_SetRoundingMode(IUIAnimationVariable2* This,UI_ANIMATION_ROUNDING_MODE mode) { + return This->lpVtbl->SetRoundingMode(This,mode); +} +static inline HRESULT IUIAnimationVariable2_SetTag(IUIAnimationVariable2* This,IUnknown *object,unsigned int id) { + return This->lpVtbl->SetTag(This,object,id); +} +static inline HRESULT IUIAnimationVariable2_GetTag(IUIAnimationVariable2* This,IUnknown **object,unsigned int *id) { + return This->lpVtbl->GetTag(This,object,id); +} +static inline HRESULT IUIAnimationVariable2_SetVariableChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) { + return This->lpVtbl->SetVariableChangeHandler(This,handler,fRegisterForNextAnimationEvent); +} +static inline HRESULT IUIAnimationVariable2_SetVariableIntegerChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableIntegerChangeHandler2 *handler,LONG fRegisterForNextAnimationEvent) { + return This->lpVtbl->SetVariableIntegerChangeHandler(This,handler,fRegisterForNextAnimationEvent); +} +static inline HRESULT IUIAnimationVariable2_SetVariableCurveChangeHandler(IUIAnimationVariable2* This,IUIAnimationVariableCurveChangeHandler2 *handler) { + return This->lpVtbl->SetVariableCurveChangeHandler(This,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariable2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDCompositionAnimation interface + */ +#ifndef __IDCompositionAnimation_INTERFACE_DEFINED__ +#define __IDCompositionAnimation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cbfd91d9-51b2-45e4-b3de-d19ccfb863c5") +IDCompositionAnimation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAbsoluteBeginTime( + LARGE_INTEGER beginTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddCubic( + double beginOffset, + float constantCoefficient, + float linearCoefficient, + float quadraticCoefficient, + float cubicCoefficient) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSinusoidal( + double beginOffset, + float bias, + float amplitude, + float frequency, + float phase) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRepeat( + double beginOffset, + double durationToRepeat) = 0; + + virtual HRESULT STDMETHODCALLTYPE End( + double endOffset, + float endValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDCompositionAnimation, 0xcbfd91d9, 0x51b2, 0x45e4, 0xb3,0xde, 0xd1,0x9c,0xcf,0xb8,0x63,0xc5) +#endif +#else +typedef struct IDCompositionAnimationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDCompositionAnimation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDCompositionAnimation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDCompositionAnimation *This); + + /*** IDCompositionAnimation methods ***/ + HRESULT (STDMETHODCALLTYPE *Reset)( + IDCompositionAnimation *This); + + HRESULT (STDMETHODCALLTYPE *SetAbsoluteBeginTime)( + IDCompositionAnimation *This, + LARGE_INTEGER beginTime); + + HRESULT (STDMETHODCALLTYPE *AddCubic)( + IDCompositionAnimation *This, + double beginOffset, + float constantCoefficient, + float linearCoefficient, + float quadraticCoefficient, + float cubicCoefficient); + + HRESULT (STDMETHODCALLTYPE *AddSinusoidal)( + IDCompositionAnimation *This, + double beginOffset, + float bias, + float amplitude, + float frequency, + float phase); + + HRESULT (STDMETHODCALLTYPE *AddRepeat)( + IDCompositionAnimation *This, + double beginOffset, + double durationToRepeat); + + HRESULT (STDMETHODCALLTYPE *End)( + IDCompositionAnimation *This, + double endOffset, + float endValue); + + END_INTERFACE +} IDCompositionAnimationVtbl; + +interface IDCompositionAnimation { + CONST_VTBL IDCompositionAnimationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDCompositionAnimation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDCompositionAnimation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDCompositionAnimation_Release(This) (This)->lpVtbl->Release(This) +/*** IDCompositionAnimation methods ***/ +#define IDCompositionAnimation_Reset(This) (This)->lpVtbl->Reset(This) +#define IDCompositionAnimation_SetAbsoluteBeginTime(This,beginTime) (This)->lpVtbl->SetAbsoluteBeginTime(This,beginTime) +#define IDCompositionAnimation_AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) (This)->lpVtbl->AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) +#define IDCompositionAnimation_AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase) (This)->lpVtbl->AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase) +#define IDCompositionAnimation_AddRepeat(This,beginOffset,durationToRepeat) (This)->lpVtbl->AddRepeat(This,beginOffset,durationToRepeat) +#define IDCompositionAnimation_End(This,endOffset,endValue) (This)->lpVtbl->End(This,endOffset,endValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDCompositionAnimation_QueryInterface(IDCompositionAnimation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDCompositionAnimation_AddRef(IDCompositionAnimation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDCompositionAnimation_Release(IDCompositionAnimation* This) { + return This->lpVtbl->Release(This); +} +/*** IDCompositionAnimation methods ***/ +static inline HRESULT IDCompositionAnimation_Reset(IDCompositionAnimation* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IDCompositionAnimation_SetAbsoluteBeginTime(IDCompositionAnimation* This,LARGE_INTEGER beginTime) { + return This->lpVtbl->SetAbsoluteBeginTime(This,beginTime); +} +static inline HRESULT IDCompositionAnimation_AddCubic(IDCompositionAnimation* This,double beginOffset,float constantCoefficient,float linearCoefficient,float quadraticCoefficient,float cubicCoefficient) { + return This->lpVtbl->AddCubic(This,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient); +} +static inline HRESULT IDCompositionAnimation_AddSinusoidal(IDCompositionAnimation* This,double beginOffset,float bias,float amplitude,float frequency,float phase) { + return This->lpVtbl->AddSinusoidal(This,beginOffset,bias,amplitude,frequency,phase); +} +static inline HRESULT IDCompositionAnimation_AddRepeat(IDCompositionAnimation* This,double beginOffset,double durationToRepeat) { + return This->lpVtbl->AddRepeat(This,beginOffset,durationToRepeat); +} +static inline HRESULT IDCompositionAnimation_End(IDCompositionAnimation* This,double endOffset,float endValue) { + return This->lpVtbl->End(This,endOffset,endValue); +} +#endif +#endif + +#endif + + +#endif /* __IDCompositionAnimation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationStoryboard2 interface + */ +#ifndef __IUIAnimationStoryboard2_INTERFACE_DEFINED__ +#define __IUIAnimationStoryboard2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationStoryboard2, 0xae289cd2, 0x12d4, 0x4945, 0x94,0x19, 0x9e,0x41,0xbe,0x03,0x4d,0xf2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae289cd2-12d4-4945-9419-9e41be034df2") +IUIAnimationStoryboard2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddTransition( + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddKeyframeAtOffset( + UI_ANIMATION_KEYFRAME existingKeyframe, + double offset, + UI_ANIMATION_KEYFRAME *keyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddKeyframeAfterTransition( + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME *keyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTransitionAtKeyframe( + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME startKeyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTransitionBetweenKeyframes( + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE RepeatBetweenKeyframes( + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe, + double cRepetition, + UI_ANIMATION_REPEAT_MODE repeatMode, + IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler = 0, + UINT_PTR id = 0, + LONG fRegisterForNextAnimationEvent = FALSE) = 0; + + virtual HRESULT STDMETHODCALLTYPE HoldVariable( + IUIAnimationVariable2 *variable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLongestAcceptableDelay( + double delay) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSkipDuration( + double secondsDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE Schedule( + double timeNow, + UI_ANIMATION_SCHEDULING_RESULT *schedulingResult = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Conclude( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Finish( + double completionDeadline) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abandon( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTag( + IUnknown *object, + unsigned int id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTag( + IUnknown **object, + unsigned int *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatus( + UI_ANIMATION_STORYBOARD_STATUS *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetElapsedTime( + double *elapsedTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStoryboardEventHandler( + IUIAnimationStoryboardEventHandler2 *handler, + LONG fRegisterStatusChangeForNextAnimationEvent = FALSE, + LONG fRegisterUpdateForNextAnimationEvent = FALSE) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationStoryboard2, 0xae289cd2, 0x12d4, 0x4945, 0x94,0x19, 0x9e,0x41,0xbe,0x03,0x4d,0xf2) +#endif +#else +typedef struct IUIAnimationStoryboard2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationStoryboard2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationStoryboard2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationStoryboard2 *This); + + /*** IUIAnimationStoryboard2 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTransition)( + IUIAnimationStoryboard2 *This, + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition); + + HRESULT (STDMETHODCALLTYPE *AddKeyframeAtOffset)( + IUIAnimationStoryboard2 *This, + UI_ANIMATION_KEYFRAME existingKeyframe, + double offset, + UI_ANIMATION_KEYFRAME *keyframe); + + HRESULT (STDMETHODCALLTYPE *AddKeyframeAfterTransition)( + IUIAnimationStoryboard2 *This, + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME *keyframe); + + HRESULT (STDMETHODCALLTYPE *AddTransitionAtKeyframe)( + IUIAnimationStoryboard2 *This, + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME startKeyframe); + + HRESULT (STDMETHODCALLTYPE *AddTransitionBetweenKeyframes)( + IUIAnimationStoryboard2 *This, + IUIAnimationVariable2 *variable, + IUIAnimationTransition2 *transition, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe); + + HRESULT (STDMETHODCALLTYPE *RepeatBetweenKeyframes)( + IUIAnimationStoryboard2 *This, + UI_ANIMATION_KEYFRAME startKeyframe, + UI_ANIMATION_KEYFRAME endKeyframe, + double cRepetition, + UI_ANIMATION_REPEAT_MODE repeatMode, + IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler, + UINT_PTR id, + LONG fRegisterForNextAnimationEvent); + + HRESULT (STDMETHODCALLTYPE *HoldVariable)( + IUIAnimationStoryboard2 *This, + IUIAnimationVariable2 *variable); + + HRESULT (STDMETHODCALLTYPE *SetLongestAcceptableDelay)( + IUIAnimationStoryboard2 *This, + double delay); + + HRESULT (STDMETHODCALLTYPE *SetSkipDuration)( + IUIAnimationStoryboard2 *This, + double secondsDuration); + + HRESULT (STDMETHODCALLTYPE *Schedule)( + IUIAnimationStoryboard2 *This, + double timeNow, + UI_ANIMATION_SCHEDULING_RESULT *schedulingResult); + + HRESULT (STDMETHODCALLTYPE *Conclude)( + IUIAnimationStoryboard2 *This); + + HRESULT (STDMETHODCALLTYPE *Finish)( + IUIAnimationStoryboard2 *This, + double completionDeadline); + + HRESULT (STDMETHODCALLTYPE *Abandon)( + IUIAnimationStoryboard2 *This); + + HRESULT (STDMETHODCALLTYPE *SetTag)( + IUIAnimationStoryboard2 *This, + IUnknown *object, + unsigned int id); + + HRESULT (STDMETHODCALLTYPE *GetTag)( + IUIAnimationStoryboard2 *This, + IUnknown **object, + unsigned int *id); + + HRESULT (STDMETHODCALLTYPE *GetStatus)( + IUIAnimationStoryboard2 *This, + UI_ANIMATION_STORYBOARD_STATUS *status); + + HRESULT (STDMETHODCALLTYPE *GetElapsedTime)( + IUIAnimationStoryboard2 *This, + double *elapsedTime); + + HRESULT (STDMETHODCALLTYPE *SetStoryboardEventHandler)( + IUIAnimationStoryboard2 *This, + IUIAnimationStoryboardEventHandler2 *handler, + LONG fRegisterStatusChangeForNextAnimationEvent, + LONG fRegisterUpdateForNextAnimationEvent); + + END_INTERFACE +} IUIAnimationStoryboard2Vtbl; + +interface IUIAnimationStoryboard2 { + CONST_VTBL IUIAnimationStoryboard2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationStoryboard2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationStoryboard2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationStoryboard2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationStoryboard2 methods ***/ +#define IUIAnimationStoryboard2_AddTransition(This,variable,transition) (This)->lpVtbl->AddTransition(This,variable,transition) +#define IUIAnimationStoryboard2_AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) (This)->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe) +#define IUIAnimationStoryboard2_AddKeyframeAfterTransition(This,transition,keyframe) (This)->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe) +#define IUIAnimationStoryboard2_AddTransitionAtKeyframe(This,variable,transition,startKeyframe) (This)->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe) +#define IUIAnimationStoryboard2_AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) (This)->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe) +#define IUIAnimationStoryboard2_RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent) (This)->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent) +#define IUIAnimationStoryboard2_HoldVariable(This,variable) (This)->lpVtbl->HoldVariable(This,variable) +#define IUIAnimationStoryboard2_SetLongestAcceptableDelay(This,delay) (This)->lpVtbl->SetLongestAcceptableDelay(This,delay) +#define IUIAnimationStoryboard2_SetSkipDuration(This,secondsDuration) (This)->lpVtbl->SetSkipDuration(This,secondsDuration) +#define IUIAnimationStoryboard2_Schedule(This,timeNow,schedulingResult) (This)->lpVtbl->Schedule(This,timeNow,schedulingResult) +#define IUIAnimationStoryboard2_Conclude(This) (This)->lpVtbl->Conclude(This) +#define IUIAnimationStoryboard2_Finish(This,completionDeadline) (This)->lpVtbl->Finish(This,completionDeadline) +#define IUIAnimationStoryboard2_Abandon(This) (This)->lpVtbl->Abandon(This) +#define IUIAnimationStoryboard2_SetTag(This,object,id) (This)->lpVtbl->SetTag(This,object,id) +#define IUIAnimationStoryboard2_GetTag(This,object,id) (This)->lpVtbl->GetTag(This,object,id) +#define IUIAnimationStoryboard2_GetStatus(This,status) (This)->lpVtbl->GetStatus(This,status) +#define IUIAnimationStoryboard2_GetElapsedTime(This,elapsedTime) (This)->lpVtbl->GetElapsedTime(This,elapsedTime) +#define IUIAnimationStoryboard2_SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent) (This)->lpVtbl->SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationStoryboard2_QueryInterface(IUIAnimationStoryboard2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationStoryboard2_AddRef(IUIAnimationStoryboard2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationStoryboard2_Release(IUIAnimationStoryboard2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationStoryboard2 methods ***/ +static inline HRESULT IUIAnimationStoryboard2_AddTransition(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition) { + return This->lpVtbl->AddTransition(This,variable,transition); +} +static inline HRESULT IUIAnimationStoryboard2_AddKeyframeAtOffset(IUIAnimationStoryboard2* This,UI_ANIMATION_KEYFRAME existingKeyframe,double offset,UI_ANIMATION_KEYFRAME *keyframe) { + return This->lpVtbl->AddKeyframeAtOffset(This,existingKeyframe,offset,keyframe); +} +static inline HRESULT IUIAnimationStoryboard2_AddKeyframeAfterTransition(IUIAnimationStoryboard2* This,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME *keyframe) { + return This->lpVtbl->AddKeyframeAfterTransition(This,transition,keyframe); +} +static inline HRESULT IUIAnimationStoryboard2_AddTransitionAtKeyframe(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME startKeyframe) { + return This->lpVtbl->AddTransitionAtKeyframe(This,variable,transition,startKeyframe); +} +static inline HRESULT IUIAnimationStoryboard2_AddTransitionBetweenKeyframes(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable,IUIAnimationTransition2 *transition,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe) { + return This->lpVtbl->AddTransitionBetweenKeyframes(This,variable,transition,startKeyframe,endKeyframe); +} +static inline HRESULT IUIAnimationStoryboard2_RepeatBetweenKeyframes(IUIAnimationStoryboard2* This,UI_ANIMATION_KEYFRAME startKeyframe,UI_ANIMATION_KEYFRAME endKeyframe,double cRepetition,UI_ANIMATION_REPEAT_MODE repeatMode,IUIAnimationLoopIterationChangeHandler2 *pIterationChangeHandler,UINT_PTR id,LONG fRegisterForNextAnimationEvent) { + return This->lpVtbl->RepeatBetweenKeyframes(This,startKeyframe,endKeyframe,cRepetition,repeatMode,pIterationChangeHandler,id,fRegisterForNextAnimationEvent); +} +static inline HRESULT IUIAnimationStoryboard2_HoldVariable(IUIAnimationStoryboard2* This,IUIAnimationVariable2 *variable) { + return This->lpVtbl->HoldVariable(This,variable); +} +static inline HRESULT IUIAnimationStoryboard2_SetLongestAcceptableDelay(IUIAnimationStoryboard2* This,double delay) { + return This->lpVtbl->SetLongestAcceptableDelay(This,delay); +} +static inline HRESULT IUIAnimationStoryboard2_SetSkipDuration(IUIAnimationStoryboard2* This,double secondsDuration) { + return This->lpVtbl->SetSkipDuration(This,secondsDuration); +} +static inline HRESULT IUIAnimationStoryboard2_Schedule(IUIAnimationStoryboard2* This,double timeNow,UI_ANIMATION_SCHEDULING_RESULT *schedulingResult) { + return This->lpVtbl->Schedule(This,timeNow,schedulingResult); +} +static inline HRESULT IUIAnimationStoryboard2_Conclude(IUIAnimationStoryboard2* This) { + return This->lpVtbl->Conclude(This); +} +static inline HRESULT IUIAnimationStoryboard2_Finish(IUIAnimationStoryboard2* This,double completionDeadline) { + return This->lpVtbl->Finish(This,completionDeadline); +} +static inline HRESULT IUIAnimationStoryboard2_Abandon(IUIAnimationStoryboard2* This) { + return This->lpVtbl->Abandon(This); +} +static inline HRESULT IUIAnimationStoryboard2_SetTag(IUIAnimationStoryboard2* This,IUnknown *object,unsigned int id) { + return This->lpVtbl->SetTag(This,object,id); +} +static inline HRESULT IUIAnimationStoryboard2_GetTag(IUIAnimationStoryboard2* This,IUnknown **object,unsigned int *id) { + return This->lpVtbl->GetTag(This,object,id); +} +static inline HRESULT IUIAnimationStoryboard2_GetStatus(IUIAnimationStoryboard2* This,UI_ANIMATION_STORYBOARD_STATUS *status) { + return This->lpVtbl->GetStatus(This,status); +} +static inline HRESULT IUIAnimationStoryboard2_GetElapsedTime(IUIAnimationStoryboard2* This,double *elapsedTime) { + return This->lpVtbl->GetElapsedTime(This,elapsedTime); +} +static inline HRESULT IUIAnimationStoryboard2_SetStoryboardEventHandler(IUIAnimationStoryboard2* This,IUIAnimationStoryboardEventHandler2 *handler,LONG fRegisterStatusChangeForNextAnimationEvent,LONG fRegisterUpdateForNextAnimationEvent) { + return This->lpVtbl->SetStoryboardEventHandler(This,handler,fRegisterStatusChangeForNextAnimationEvent,fRegisterUpdateForNextAnimationEvent); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationStoryboard2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransition2 interface + */ +#ifndef __IUIAnimationTransition2_INTERFACE_DEFINED__ +#define __IUIAnimationTransition2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransition2, 0x62ff9123, 0xa85a, 0x4e9b, 0xa2,0x18, 0x43,0x5a,0x93,0xe2,0x68,0xfd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("62ff9123-a85a-4e9b-a218-435a93e268fd") +IUIAnimationTransition2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDimension( + unsigned int *dimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialValue( + double value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialVectorValue( + double *value, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialVelocity( + double velocity) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialVectorVelocity( + double *velocity, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsDurationKnown( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDuration( + double *duration) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransition2, 0x62ff9123, 0xa85a, 0x4e9b, 0xa2,0x18, 0x43,0x5a,0x93,0xe2,0x68,0xfd) +#endif +#else +typedef struct IUIAnimationTransition2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransition2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransition2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransition2 *This); + + /*** IUIAnimationTransition2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDimension)( + IUIAnimationTransition2 *This, + unsigned int *dimension); + + HRESULT (STDMETHODCALLTYPE *SetInitialValue)( + IUIAnimationTransition2 *This, + double value); + + HRESULT (STDMETHODCALLTYPE *SetInitialVectorValue)( + IUIAnimationTransition2 *This, + double *value, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *SetInitialVelocity)( + IUIAnimationTransition2 *This, + double velocity); + + HRESULT (STDMETHODCALLTYPE *SetInitialVectorVelocity)( + IUIAnimationTransition2 *This, + double *velocity, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *IsDurationKnown)( + IUIAnimationTransition2 *This); + + HRESULT (STDMETHODCALLTYPE *GetDuration)( + IUIAnimationTransition2 *This, + double *duration); + + END_INTERFACE +} IUIAnimationTransition2Vtbl; + +interface IUIAnimationTransition2 { + CONST_VTBL IUIAnimationTransition2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransition2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransition2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransition2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransition2 methods ***/ +#define IUIAnimationTransition2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension) +#define IUIAnimationTransition2_SetInitialValue(This,value) (This)->lpVtbl->SetInitialValue(This,value) +#define IUIAnimationTransition2_SetInitialVectorValue(This,value,cDimension) (This)->lpVtbl->SetInitialVectorValue(This,value,cDimension) +#define IUIAnimationTransition2_SetInitialVelocity(This,velocity) (This)->lpVtbl->SetInitialVelocity(This,velocity) +#define IUIAnimationTransition2_SetInitialVectorVelocity(This,velocity,cDimension) (This)->lpVtbl->SetInitialVectorVelocity(This,velocity,cDimension) +#define IUIAnimationTransition2_IsDurationKnown(This) (This)->lpVtbl->IsDurationKnown(This) +#define IUIAnimationTransition2_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransition2_QueryInterface(IUIAnimationTransition2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransition2_AddRef(IUIAnimationTransition2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransition2_Release(IUIAnimationTransition2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransition2 methods ***/ +static inline HRESULT IUIAnimationTransition2_GetDimension(IUIAnimationTransition2* This,unsigned int *dimension) { + return This->lpVtbl->GetDimension(This,dimension); +} +static inline HRESULT IUIAnimationTransition2_SetInitialValue(IUIAnimationTransition2* This,double value) { + return This->lpVtbl->SetInitialValue(This,value); +} +static inline HRESULT IUIAnimationTransition2_SetInitialVectorValue(IUIAnimationTransition2* This,double *value,unsigned int cDimension) { + return This->lpVtbl->SetInitialVectorValue(This,value,cDimension); +} +static inline HRESULT IUIAnimationTransition2_SetInitialVelocity(IUIAnimationTransition2* This,double velocity) { + return This->lpVtbl->SetInitialVelocity(This,velocity); +} +static inline HRESULT IUIAnimationTransition2_SetInitialVectorVelocity(IUIAnimationTransition2* This,double *velocity,unsigned int cDimension) { + return This->lpVtbl->SetInitialVectorVelocity(This,velocity,cDimension); +} +static inline HRESULT IUIAnimationTransition2_IsDurationKnown(IUIAnimationTransition2* This) { + return This->lpVtbl->IsDurationKnown(This); +} +static inline HRESULT IUIAnimationTransition2_GetDuration(IUIAnimationTransition2* This,double *duration) { + return This->lpVtbl->GetDuration(This,duration); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransition2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationLoopIterationChangeHandler2 interface + */ +#ifndef __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationLoopIterationChangeHandler2, 0x2d3b15a4, 0x4762, 0x47ab, 0xa0,0x30, 0xb2,0x32,0x21,0xdf,0x3a,0xe0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2d3b15a4-4762-47ab-a030-b23221df3ae0") +IUIAnimationLoopIterationChangeHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnLoopIterationChanged( + IUIAnimationStoryboard2 *storyboard, + UINT_PTR id, + unsigned int newIterationCount, + unsigned int oldIterationCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationLoopIterationChangeHandler2, 0x2d3b15a4, 0x4762, 0x47ab, 0xa0,0x30, 0xb2,0x32,0x21,0xdf,0x3a,0xe0) +#endif +#else +typedef struct IUIAnimationLoopIterationChangeHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationLoopIterationChangeHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationLoopIterationChangeHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationLoopIterationChangeHandler2 *This); + + /*** IUIAnimationLoopIterationChangeHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnLoopIterationChanged)( + IUIAnimationLoopIterationChangeHandler2 *This, + IUIAnimationStoryboard2 *storyboard, + UINT_PTR id, + unsigned int newIterationCount, + unsigned int oldIterationCount); + + END_INTERFACE +} IUIAnimationLoopIterationChangeHandler2Vtbl; + +interface IUIAnimationLoopIterationChangeHandler2 { + CONST_VTBL IUIAnimationLoopIterationChangeHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationLoopIterationChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationLoopIterationChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationLoopIterationChangeHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationLoopIterationChangeHandler2 methods ***/ +#define IUIAnimationLoopIterationChangeHandler2_OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount) (This)->lpVtbl->OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationLoopIterationChangeHandler2_QueryInterface(IUIAnimationLoopIterationChangeHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationLoopIterationChangeHandler2_AddRef(IUIAnimationLoopIterationChangeHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationLoopIterationChangeHandler2_Release(IUIAnimationLoopIterationChangeHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationLoopIterationChangeHandler2 methods ***/ +static inline HRESULT IUIAnimationLoopIterationChangeHandler2_OnLoopIterationChanged(IUIAnimationLoopIterationChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,UINT_PTR id,unsigned int newIterationCount,unsigned int oldIterationCount) { + return This->lpVtbl->OnLoopIterationChanged(This,storyboard,id,newIterationCount,oldIterationCount); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationLoopIterationChangeHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationStoryboardEventHandler2 interface + */ +#ifndef __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationStoryboardEventHandler2, 0xbac5f55a, 0xba7c, 0x414c, 0xb5,0x99, 0xfb,0xf8,0x50,0xf5,0x53,0xc6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bac5f55a-ba7c-414c-b599-fbf850f553c6") +IUIAnimationStoryboardEventHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnStoryboardStatusChanged( + IUIAnimationStoryboard2 *storyboard, + UI_ANIMATION_STORYBOARD_STATUS newStatus, + UI_ANIMATION_STORYBOARD_STATUS previousStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStoryboardUpdated( + IUIAnimationStoryboard2 *storyboard) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationStoryboardEventHandler2, 0xbac5f55a, 0xba7c, 0x414c, 0xb5,0x99, 0xfb,0xf8,0x50,0xf5,0x53,0xc6) +#endif +#else +typedef struct IUIAnimationStoryboardEventHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationStoryboardEventHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationStoryboardEventHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationStoryboardEventHandler2 *This); + + /*** IUIAnimationStoryboardEventHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStoryboardStatusChanged)( + IUIAnimationStoryboardEventHandler2 *This, + IUIAnimationStoryboard2 *storyboard, + UI_ANIMATION_STORYBOARD_STATUS newStatus, + UI_ANIMATION_STORYBOARD_STATUS previousStatus); + + HRESULT (STDMETHODCALLTYPE *OnStoryboardUpdated)( + IUIAnimationStoryboardEventHandler2 *This, + IUIAnimationStoryboard2 *storyboard); + + END_INTERFACE +} IUIAnimationStoryboardEventHandler2Vtbl; + +interface IUIAnimationStoryboardEventHandler2 { + CONST_VTBL IUIAnimationStoryboardEventHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationStoryboardEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationStoryboardEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationStoryboardEventHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationStoryboardEventHandler2 methods ***/ +#define IUIAnimationStoryboardEventHandler2_OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) (This)->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus) +#define IUIAnimationStoryboardEventHandler2_OnStoryboardUpdated(This,storyboard) (This)->lpVtbl->OnStoryboardUpdated(This,storyboard) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationStoryboardEventHandler2_QueryInterface(IUIAnimationStoryboardEventHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationStoryboardEventHandler2_AddRef(IUIAnimationStoryboardEventHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationStoryboardEventHandler2_Release(IUIAnimationStoryboardEventHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationStoryboardEventHandler2 methods ***/ +static inline HRESULT IUIAnimationStoryboardEventHandler2_OnStoryboardStatusChanged(IUIAnimationStoryboardEventHandler2* This,IUIAnimationStoryboard2 *storyboard,UI_ANIMATION_STORYBOARD_STATUS newStatus,UI_ANIMATION_STORYBOARD_STATUS previousStatus) { + return This->lpVtbl->OnStoryboardStatusChanged(This,storyboard,newStatus,previousStatus); +} +static inline HRESULT IUIAnimationStoryboardEventHandler2_OnStoryboardUpdated(IUIAnimationStoryboardEventHandler2* This,IUIAnimationStoryboard2 *storyboard) { + return This->lpVtbl->OnStoryboardUpdated(This,storyboard); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationStoryboardEventHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariableChangeHandler2 interface + */ +#ifndef __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariableChangeHandler2, 0x63acc8d2, 0x6eae, 0x4bb0, 0xb8,0x79, 0x58,0x6d,0xd8,0xcf,0xbe,0x42); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("63acc8d2-6eae-4bb0-b879-586dd8cfbe42") +IUIAnimationVariableChangeHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnValueChanged( + IUIAnimationStoryboard2 *storyboard, + IUIAnimationVariable2 *variable, + double *newValue, + double *previousValue, + unsigned int cDimension) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariableChangeHandler2, 0x63acc8d2, 0x6eae, 0x4bb0, 0xb8,0x79, 0x58,0x6d,0xd8,0xcf,0xbe,0x42) +#endif +#else +typedef struct IUIAnimationVariableChangeHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariableChangeHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariableChangeHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariableChangeHandler2 *This); + + /*** IUIAnimationVariableChangeHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnValueChanged)( + IUIAnimationVariableChangeHandler2 *This, + IUIAnimationStoryboard2 *storyboard, + IUIAnimationVariable2 *variable, + double *newValue, + double *previousValue, + unsigned int cDimension); + + END_INTERFACE +} IUIAnimationVariableChangeHandler2Vtbl; + +interface IUIAnimationVariableChangeHandler2 { + CONST_VTBL IUIAnimationVariableChangeHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariableChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariableChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariableChangeHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariableChangeHandler2 methods ***/ +#define IUIAnimationVariableChangeHandler2_OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) (This)->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariableChangeHandler2_QueryInterface(IUIAnimationVariableChangeHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariableChangeHandler2_AddRef(IUIAnimationVariableChangeHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariableChangeHandler2_Release(IUIAnimationVariableChangeHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariableChangeHandler2 methods ***/ +static inline HRESULT IUIAnimationVariableChangeHandler2_OnValueChanged(IUIAnimationVariableChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,IUIAnimationVariable2 *variable,double *newValue,double *previousValue,unsigned int cDimension) { + return This->lpVtbl->OnValueChanged(This,storyboard,variable,newValue,previousValue,cDimension); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariableChangeHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariableIntegerChangeHandler2 interface + */ +#ifndef __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariableIntegerChangeHandler2, 0x829b6cf1, 0x4f3a, 0x4412, 0xae,0x09, 0xb2,0x43,0xeb,0x4c,0x6b,0x58); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("829b6cf1-4f3a-4412-ae09-b243eb4c6b58") +IUIAnimationVariableIntegerChangeHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnIntegerValueChanged( + IUIAnimationStoryboard2 *storyboard, + IUIAnimationVariable2 *variable, + int *newValue, + int *previousValue, + unsigned int cDimension) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariableIntegerChangeHandler2, 0x829b6cf1, 0x4f3a, 0x4412, 0xae,0x09, 0xb2,0x43,0xeb,0x4c,0x6b,0x58) +#endif +#else +typedef struct IUIAnimationVariableIntegerChangeHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariableIntegerChangeHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariableIntegerChangeHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariableIntegerChangeHandler2 *This); + + /*** IUIAnimationVariableIntegerChangeHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnIntegerValueChanged)( + IUIAnimationVariableIntegerChangeHandler2 *This, + IUIAnimationStoryboard2 *storyboard, + IUIAnimationVariable2 *variable, + int *newValue, + int *previousValue, + unsigned int cDimension); + + END_INTERFACE +} IUIAnimationVariableIntegerChangeHandler2Vtbl; + +interface IUIAnimationVariableIntegerChangeHandler2 { + CONST_VTBL IUIAnimationVariableIntegerChangeHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariableIntegerChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariableIntegerChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariableIntegerChangeHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariableIntegerChangeHandler2 methods ***/ +#define IUIAnimationVariableIntegerChangeHandler2_OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) (This)->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariableIntegerChangeHandler2_QueryInterface(IUIAnimationVariableIntegerChangeHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariableIntegerChangeHandler2_AddRef(IUIAnimationVariableIntegerChangeHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariableIntegerChangeHandler2_Release(IUIAnimationVariableIntegerChangeHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariableIntegerChangeHandler2 methods ***/ +static inline HRESULT IUIAnimationVariableIntegerChangeHandler2_OnIntegerValueChanged(IUIAnimationVariableIntegerChangeHandler2* This,IUIAnimationStoryboard2 *storyboard,IUIAnimationVariable2 *variable,int *newValue,int *previousValue,unsigned int cDimension) { + return This->lpVtbl->OnIntegerValueChanged(This,storyboard,variable,newValue,previousValue,cDimension); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariableIntegerChangeHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationVariableCurveChangeHandler2 interface + */ +#ifndef __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationVariableCurveChangeHandler2, 0x72895e91, 0x0145, 0x4c21, 0x91,0x92, 0x5a,0xab,0x40,0xed,0xdf,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("72895e91-0145-4c21-9192-5aab40eddf80") +IUIAnimationVariableCurveChangeHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnCurveChanged( + IUIAnimationVariable2 *variable) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationVariableCurveChangeHandler2, 0x72895e91, 0x0145, 0x4c21, 0x91,0x92, 0x5a,0xab,0x40,0xed,0xdf,0x80) +#endif +#else +typedef struct IUIAnimationVariableCurveChangeHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationVariableCurveChangeHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationVariableCurveChangeHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationVariableCurveChangeHandler2 *This); + + /*** IUIAnimationVariableCurveChangeHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnCurveChanged)( + IUIAnimationVariableCurveChangeHandler2 *This, + IUIAnimationVariable2 *variable); + + END_INTERFACE +} IUIAnimationVariableCurveChangeHandler2Vtbl; + +interface IUIAnimationVariableCurveChangeHandler2 { + CONST_VTBL IUIAnimationVariableCurveChangeHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationVariableCurveChangeHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationVariableCurveChangeHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationVariableCurveChangeHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationVariableCurveChangeHandler2 methods ***/ +#define IUIAnimationVariableCurveChangeHandler2_OnCurveChanged(This,variable) (This)->lpVtbl->OnCurveChanged(This,variable) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationVariableCurveChangeHandler2_QueryInterface(IUIAnimationVariableCurveChangeHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationVariableCurveChangeHandler2_AddRef(IUIAnimationVariableCurveChangeHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationVariableCurveChangeHandler2_Release(IUIAnimationVariableCurveChangeHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationVariableCurveChangeHandler2 methods ***/ +static inline HRESULT IUIAnimationVariableCurveChangeHandler2_OnCurveChanged(IUIAnimationVariableCurveChangeHandler2* This,IUIAnimationVariable2 *variable) { + return This->lpVtbl->OnCurveChanged(This,variable); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationVariableCurveChangeHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationManagerEventHandler2 interface + */ +#ifndef __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__ +#define __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationManagerEventHandler2, 0xf6e022ba, 0xbff3, 0x42ec, 0x90,0x33, 0xe0,0x73,0xf3,0x3e,0x83,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f6e022ba-bff3-42ec-9033-e073f33e83c3") +IUIAnimationManagerEventHandler2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnManagerStatusChanged( + UI_ANIMATION_MANAGER_STATUS newStatus, + UI_ANIMATION_MANAGER_STATUS previousStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationManagerEventHandler2, 0xf6e022ba, 0xbff3, 0x42ec, 0x90,0x33, 0xe0,0x73,0xf3,0x3e,0x83,0xc3) +#endif +#else +typedef struct IUIAnimationManagerEventHandler2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationManagerEventHandler2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationManagerEventHandler2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationManagerEventHandler2 *This); + + /*** IUIAnimationManagerEventHandler2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnManagerStatusChanged)( + IUIAnimationManagerEventHandler2 *This, + UI_ANIMATION_MANAGER_STATUS newStatus, + UI_ANIMATION_MANAGER_STATUS previousStatus); + + END_INTERFACE +} IUIAnimationManagerEventHandler2Vtbl; + +interface IUIAnimationManagerEventHandler2 { + CONST_VTBL IUIAnimationManagerEventHandler2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationManagerEventHandler2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationManagerEventHandler2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationManagerEventHandler2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationManagerEventHandler2 methods ***/ +#define IUIAnimationManagerEventHandler2_OnManagerStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationManagerEventHandler2_QueryInterface(IUIAnimationManagerEventHandler2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationManagerEventHandler2_AddRef(IUIAnimationManagerEventHandler2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationManagerEventHandler2_Release(IUIAnimationManagerEventHandler2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationManagerEventHandler2 methods ***/ +static inline HRESULT IUIAnimationManagerEventHandler2_OnManagerStatusChanged(IUIAnimationManagerEventHandler2* This,UI_ANIMATION_MANAGER_STATUS newStatus,UI_ANIMATION_MANAGER_STATUS previousStatus) { + return This->lpVtbl->OnManagerStatusChanged(This,newStatus,previousStatus); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationManagerEventHandler2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationPriorityComparison2 interface + */ +#ifndef __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__ +#define __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationPriorityComparison2, 0x5b6d7a37, 0x4621, 0x467c, 0x8b,0x05, 0x70,0x13,0x1d,0xe6,0x2d,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5b6d7a37-4621-467c-8b05-70131de62ddb") +IUIAnimationPriorityComparison2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HasPriority( + IUIAnimationStoryboard2 *scheduledStoryboard, + IUIAnimationStoryboard2 *newStoryboard, + UI_ANIMATION_PRIORITY_EFFECT priorityEffect) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationPriorityComparison2, 0x5b6d7a37, 0x4621, 0x467c, 0x8b,0x05, 0x70,0x13,0x1d,0xe6,0x2d,0xdb) +#endif +#else +typedef struct IUIAnimationPriorityComparison2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationPriorityComparison2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationPriorityComparison2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationPriorityComparison2 *This); + + /*** IUIAnimationPriorityComparison2 methods ***/ + HRESULT (STDMETHODCALLTYPE *HasPriority)( + IUIAnimationPriorityComparison2 *This, + IUIAnimationStoryboard2 *scheduledStoryboard, + IUIAnimationStoryboard2 *newStoryboard, + UI_ANIMATION_PRIORITY_EFFECT priorityEffect); + + END_INTERFACE +} IUIAnimationPriorityComparison2Vtbl; + +interface IUIAnimationPriorityComparison2 { + CONST_VTBL IUIAnimationPriorityComparison2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationPriorityComparison2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationPriorityComparison2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationPriorityComparison2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationPriorityComparison2 methods ***/ +#define IUIAnimationPriorityComparison2_HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) (This)->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationPriorityComparison2_QueryInterface(IUIAnimationPriorityComparison2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationPriorityComparison2_AddRef(IUIAnimationPriorityComparison2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationPriorityComparison2_Release(IUIAnimationPriorityComparison2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationPriorityComparison2 methods ***/ +static inline HRESULT IUIAnimationPriorityComparison2_HasPriority(IUIAnimationPriorityComparison2* This,IUIAnimationStoryboard2 *scheduledStoryboard,IUIAnimationStoryboard2 *newStoryboard,UI_ANIMATION_PRIORITY_EFFECT priorityEffect) { + return This->lpVtbl->HasPriority(This,scheduledStoryboard,newStoryboard,priorityEffect); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationPriorityComparison2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransitionLibrary interface + */ +#ifndef __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__ +#define __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransitionLibrary, 0xca5a14b1, 0xd24f, 0x48b8, 0x8f,0xe4, 0xc7,0x81,0x69,0xba,0x95,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ca5a14b1-d24f-48b8-8fe4-c78169ba954e") +IUIAnimationTransitionLibrary : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousTransition( + double finalValue, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateConstantTransition( + double duration, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDiscreteTransition( + double delay, + double finalValue, + double hold, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearTransition( + double duration, + double finalValue, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearTransitionFromSpeed( + double speed, + double finalValue, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromVelocity( + double duration, + double period, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromRange( + double duration, + double minimumValue, + double maximumValue, + double period, + UI_ANIMATION_SLOPE slope, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAccelerateDecelerateTransition( + double duration, + double finalValue, + double accelerationRatio, + double decelerationRatio, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateReversalTransition( + double duration, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCubicTransition( + double duration, + double finalValue, + double finalVelocity, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSmoothStopTransition( + double maximumDuration, + double finalValue, + IUIAnimationTransition **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateParabolicTransitionFromAcceleration( + double finalValue, + double finalVelocity, + double acceleration, + IUIAnimationTransition **transition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransitionLibrary, 0xca5a14b1, 0xd24f, 0x48b8, 0x8f,0xe4, 0xc7,0x81,0x69,0xba,0x95,0x4e) +#endif +#else +typedef struct IUIAnimationTransitionLibraryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransitionLibrary *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransitionLibrary *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransitionLibrary *This); + + /*** IUIAnimationTransitionLibrary methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateInstantaneousTransition)( + IUIAnimationTransitionLibrary *This, + double finalValue, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateConstantTransition)( + IUIAnimationTransitionLibrary *This, + double duration, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateDiscreteTransition)( + IUIAnimationTransitionLibrary *This, + double delay, + double finalValue, + double hold, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearTransition)( + IUIAnimationTransitionLibrary *This, + double duration, + double finalValue, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearTransitionFromSpeed)( + IUIAnimationTransitionLibrary *This, + double speed, + double finalValue, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromVelocity)( + IUIAnimationTransitionLibrary *This, + double duration, + double period, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromRange)( + IUIAnimationTransitionLibrary *This, + double duration, + double minimumValue, + double maximumValue, + double period, + UI_ANIMATION_SLOPE slope, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateAccelerateDecelerateTransition)( + IUIAnimationTransitionLibrary *This, + double duration, + double finalValue, + double accelerationRatio, + double decelerationRatio, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateReversalTransition)( + IUIAnimationTransitionLibrary *This, + double duration, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateCubicTransition)( + IUIAnimationTransitionLibrary *This, + double duration, + double finalValue, + double finalVelocity, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSmoothStopTransition)( + IUIAnimationTransitionLibrary *This, + double maximumDuration, + double finalValue, + IUIAnimationTransition **transition); + + HRESULT (STDMETHODCALLTYPE *CreateParabolicTransitionFromAcceleration)( + IUIAnimationTransitionLibrary *This, + double finalValue, + double finalVelocity, + double acceleration, + IUIAnimationTransition **transition); + + END_INTERFACE +} IUIAnimationTransitionLibraryVtbl; + +interface IUIAnimationTransitionLibrary { + CONST_VTBL IUIAnimationTransitionLibraryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransitionLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransitionLibrary_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransitionLibrary_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransitionLibrary methods ***/ +#define IUIAnimationTransitionLibrary_CreateInstantaneousTransition(This,finalValue,transition) (This)->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition) +#define IUIAnimationTransitionLibrary_CreateConstantTransition(This,duration,transition) (This)->lpVtbl->CreateConstantTransition(This,duration,transition) +#define IUIAnimationTransitionLibrary_CreateDiscreteTransition(This,delay,finalValue,hold,transition) (This)->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition) +#define IUIAnimationTransitionLibrary_CreateLinearTransition(This,duration,finalValue,transition) (This)->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition) +#define IUIAnimationTransitionLibrary_CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) (This)->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) +#define IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) +#define IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) +#define IUIAnimationTransitionLibrary_CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) (This)->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) +#define IUIAnimationTransitionLibrary_CreateReversalTransition(This,duration,transition) (This)->lpVtbl->CreateReversalTransition(This,duration,transition) +#define IUIAnimationTransitionLibrary_CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) (This)->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) +#define IUIAnimationTransitionLibrary_CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) (This)->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) +#define IUIAnimationTransitionLibrary_CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) (This)->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransitionLibrary_QueryInterface(IUIAnimationTransitionLibrary* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransitionLibrary_AddRef(IUIAnimationTransitionLibrary* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransitionLibrary_Release(IUIAnimationTransitionLibrary* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransitionLibrary methods ***/ +static inline HRESULT IUIAnimationTransitionLibrary_CreateInstantaneousTransition(IUIAnimationTransitionLibrary* This,double finalValue,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateConstantTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateConstantTransition(This,duration,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateDiscreteTransition(IUIAnimationTransitionLibrary* This,double delay,double finalValue,double hold,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateLinearTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary* This,double speed,double finalValue,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary* This,double duration,double period,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateSinusoidalTransitionFromRange(IUIAnimationTransitionLibrary* This,double duration,double minimumValue,double maximumValue,double period,UI_ANIMATION_SLOPE slope,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateAccelerateDecelerateTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,double accelerationRatio,double decelerationRatio,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateReversalTransition(IUIAnimationTransitionLibrary* This,double duration,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateReversalTransition(This,duration,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateCubicTransition(IUIAnimationTransitionLibrary* This,double duration,double finalValue,double finalVelocity,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateSmoothStopTransition(IUIAnimationTransitionLibrary* This,double maximumDuration,double finalValue,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary_CreateParabolicTransitionFromAcceleration(IUIAnimationTransitionLibrary* This,double finalValue,double finalVelocity,double acceleration,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransitionLibrary_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransitionLibrary2 interface + */ +#ifndef __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__ +#define __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransitionLibrary2, 0x03cfae53, 0x9580, 0x4ee3, 0xb3,0x63, 0x2e,0xce,0x51,0xb4,0xaf,0x6a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("03cfae53-9580-4ee3-b363-2ece51b4af6a") +IUIAnimationTransitionLibrary2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousTransition( + double finalValue, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstantaneousVectorTransition( + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateConstantTransition( + double duration, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDiscreteTransition( + double delay, + double finalValue, + double hold, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDiscreteVectorTransition( + double delay, + double *finalValue, + unsigned int cDimension, + double hold, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearTransition( + double duration, + double finalValue, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearVectorTransition( + double duration, + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearTransitionFromSpeed( + double speed, + double finalValue, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearVectorTransitionFromSpeed( + double speed, + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromVelocity( + double duration, + double period, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSinusoidalTransitionFromRange( + double duration, + double minimumValue, + double maximumValue, + double period, + UI_ANIMATION_SLOPE slope, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAccelerateDecelerateTransition( + double duration, + double finalValue, + double accelerationRatio, + double decelerationRatio, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateReversalTransition( + double duration, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCubicTransition( + double duration, + double finalValue, + double finalVelocity, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCubicVectorTransition( + double duration, + double *finalValue, + double *finalVelocity, + unsigned int cDimension, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSmoothStopTransition( + double maximumDuration, + double finalValue, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateParabolicTransitionFromAcceleration( + double finalValue, + double finalVelocity, + double acceleration, + IUIAnimationTransition2 **transition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierLinearTransition( + double duration, + double finalValue, + double x1, + double y1, + double x2, + double y2, + IUIAnimationTransition2 **ppTransition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCubicBezierLinearVectorTransition( + double duration, + double *finalValue, + unsigned int cDimension, + double x1, + double y1, + double x2, + double y2, + IUIAnimationTransition2 **ppTransition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransitionLibrary2, 0x03cfae53, 0x9580, 0x4ee3, 0xb3,0x63, 0x2e,0xce,0x51,0xb4,0xaf,0x6a) +#endif +#else +typedef struct IUIAnimationTransitionLibrary2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransitionLibrary2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransitionLibrary2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransitionLibrary2 *This); + + /*** IUIAnimationTransitionLibrary2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateInstantaneousTransition)( + IUIAnimationTransitionLibrary2 *This, + double finalValue, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateInstantaneousVectorTransition)( + IUIAnimationTransitionLibrary2 *This, + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateConstantTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateDiscreteTransition)( + IUIAnimationTransitionLibrary2 *This, + double delay, + double finalValue, + double hold, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateDiscreteVectorTransition)( + IUIAnimationTransitionLibrary2 *This, + double delay, + double *finalValue, + unsigned int cDimension, + double hold, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double finalValue, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearVectorTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearTransitionFromSpeed)( + IUIAnimationTransitionLibrary2 *This, + double speed, + double finalValue, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateLinearVectorTransitionFromSpeed)( + IUIAnimationTransitionLibrary2 *This, + double speed, + double *finalValue, + unsigned int cDimension, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromVelocity)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double period, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSinusoidalTransitionFromRange)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double minimumValue, + double maximumValue, + double period, + UI_ANIMATION_SLOPE slope, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateAccelerateDecelerateTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double finalValue, + double accelerationRatio, + double decelerationRatio, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateReversalTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateCubicTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double finalValue, + double finalVelocity, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateCubicVectorTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double *finalValue, + double *finalVelocity, + unsigned int cDimension, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateSmoothStopTransition)( + IUIAnimationTransitionLibrary2 *This, + double maximumDuration, + double finalValue, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateParabolicTransitionFromAcceleration)( + IUIAnimationTransitionLibrary2 *This, + double finalValue, + double finalVelocity, + double acceleration, + IUIAnimationTransition2 **transition); + + HRESULT (STDMETHODCALLTYPE *CreateCubicBezierLinearTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double finalValue, + double x1, + double y1, + double x2, + double y2, + IUIAnimationTransition2 **ppTransition); + + HRESULT (STDMETHODCALLTYPE *CreateCubicBezierLinearVectorTransition)( + IUIAnimationTransitionLibrary2 *This, + double duration, + double *finalValue, + unsigned int cDimension, + double x1, + double y1, + double x2, + double y2, + IUIAnimationTransition2 **ppTransition); + + END_INTERFACE +} IUIAnimationTransitionLibrary2Vtbl; + +interface IUIAnimationTransitionLibrary2 { + CONST_VTBL IUIAnimationTransitionLibrary2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransitionLibrary2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransitionLibrary2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransitionLibrary2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransitionLibrary2 methods ***/ +#define IUIAnimationTransitionLibrary2_CreateInstantaneousTransition(This,finalValue,transition) (This)->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition) +#define IUIAnimationTransitionLibrary2_CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition) (This)->lpVtbl->CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition) +#define IUIAnimationTransitionLibrary2_CreateConstantTransition(This,duration,transition) (This)->lpVtbl->CreateConstantTransition(This,duration,transition) +#define IUIAnimationTransitionLibrary2_CreateDiscreteTransition(This,delay,finalValue,hold,transition) (This)->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition) +#define IUIAnimationTransitionLibrary2_CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition) (This)->lpVtbl->CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition) +#define IUIAnimationTransitionLibrary2_CreateLinearTransition(This,duration,finalValue,transition) (This)->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition) +#define IUIAnimationTransitionLibrary2_CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition) (This)->lpVtbl->CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition) +#define IUIAnimationTransitionLibrary2_CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) (This)->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition) +#define IUIAnimationTransitionLibrary2_CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition) (This)->lpVtbl->CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition) +#define IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition) +#define IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) (This)->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition) +#define IUIAnimationTransitionLibrary2_CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) (This)->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition) +#define IUIAnimationTransitionLibrary2_CreateReversalTransition(This,duration,transition) (This)->lpVtbl->CreateReversalTransition(This,duration,transition) +#define IUIAnimationTransitionLibrary2_CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) (This)->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition) +#define IUIAnimationTransitionLibrary2_CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition) (This)->lpVtbl->CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition) +#define IUIAnimationTransitionLibrary2_CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) (This)->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition) +#define IUIAnimationTransitionLibrary2_CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) (This)->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition) +#define IUIAnimationTransitionLibrary2_CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition) (This)->lpVtbl->CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition) +#define IUIAnimationTransitionLibrary2_CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition) (This)->lpVtbl->CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransitionLibrary2_QueryInterface(IUIAnimationTransitionLibrary2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransitionLibrary2_AddRef(IUIAnimationTransitionLibrary2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransitionLibrary2_Release(IUIAnimationTransitionLibrary2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransitionLibrary2 methods ***/ +static inline HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousTransition(IUIAnimationTransitionLibrary2* This,double finalValue,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateInstantaneousTransition(This,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateInstantaneousVectorTransition(IUIAnimationTransitionLibrary2* This,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateInstantaneousVectorTransition(This,finalValue,cDimension,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateConstantTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateConstantTransition(This,duration,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateDiscreteTransition(IUIAnimationTransitionLibrary2* This,double delay,double finalValue,double hold,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateDiscreteTransition(This,delay,finalValue,hold,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateDiscreteVectorTransition(IUIAnimationTransitionLibrary2* This,double delay,double *finalValue,unsigned int cDimension,double hold,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateDiscreteVectorTransition(This,delay,finalValue,cDimension,hold,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateLinearTransition(This,duration,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateLinearVectorTransition(This,duration,finalValue,cDimension,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearTransitionFromSpeed(IUIAnimationTransitionLibrary2* This,double speed,double finalValue,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateLinearTransitionFromSpeed(This,speed,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateLinearVectorTransitionFromSpeed(IUIAnimationTransitionLibrary2* This,double speed,double *finalValue,unsigned int cDimension,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateLinearVectorTransitionFromSpeed(This,speed,finalValue,cDimension,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromVelocity(IUIAnimationTransitionLibrary2* This,double duration,double period,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateSinusoidalTransitionFromVelocity(This,duration,period,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateSinusoidalTransitionFromRange(IUIAnimationTransitionLibrary2* This,double duration,double minimumValue,double maximumValue,double period,UI_ANIMATION_SLOPE slope,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateSinusoidalTransitionFromRange(This,duration,minimumValue,maximumValue,period,slope,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateAccelerateDecelerateTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double accelerationRatio,double decelerationRatio,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateAccelerateDecelerateTransition(This,duration,finalValue,accelerationRatio,decelerationRatio,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateReversalTransition(IUIAnimationTransitionLibrary2* This,double duration,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateReversalTransition(This,duration,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateCubicTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double finalVelocity,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateCubicTransition(This,duration,finalValue,finalVelocity,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateCubicVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,double *finalVelocity,unsigned int cDimension,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateCubicVectorTransition(This,duration,finalValue,finalVelocity,cDimension,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateSmoothStopTransition(IUIAnimationTransitionLibrary2* This,double maximumDuration,double finalValue,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateSmoothStopTransition(This,maximumDuration,finalValue,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateParabolicTransitionFromAcceleration(IUIAnimationTransitionLibrary2* This,double finalValue,double finalVelocity,double acceleration,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateParabolicTransitionFromAcceleration(This,finalValue,finalVelocity,acceleration,transition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateCubicBezierLinearTransition(IUIAnimationTransitionLibrary2* This,double duration,double finalValue,double x1,double y1,double x2,double y2,IUIAnimationTransition2 **ppTransition) { + return This->lpVtbl->CreateCubicBezierLinearTransition(This,duration,finalValue,x1,y1,x2,y2,ppTransition); +} +static inline HRESULT IUIAnimationTransitionLibrary2_CreateCubicBezierLinearVectorTransition(IUIAnimationTransitionLibrary2* This,double duration,double *finalValue,unsigned int cDimension,double x1,double y1,double x2,double y2,IUIAnimationTransition2 **ppTransition) { + return This->lpVtbl->CreateCubicBezierLinearVectorTransition(This,duration,finalValue,cDimension,x1,y1,x2,y2,ppTransition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransitionLibrary2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransitionFactory interface + */ +#ifndef __IUIAnimationTransitionFactory_INTERFACE_DEFINED__ +#define __IUIAnimationTransitionFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransitionFactory, 0xfcd91e03, 0x3e3b, 0x45ad, 0xbb,0xb1, 0x6d,0xfc,0x81,0x53,0x74,0x3d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fcd91e03-3e3b-45ad-bbb1-6dfc8153743d") +IUIAnimationTransitionFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateTransition( + IUIAnimationInterpolator *interpolator, + IUIAnimationTransition **transition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransitionFactory, 0xfcd91e03, 0x3e3b, 0x45ad, 0xbb,0xb1, 0x6d,0xfc,0x81,0x53,0x74,0x3d) +#endif +#else +typedef struct IUIAnimationTransitionFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransitionFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransitionFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransitionFactory *This); + + /*** IUIAnimationTransitionFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTransition)( + IUIAnimationTransitionFactory *This, + IUIAnimationInterpolator *interpolator, + IUIAnimationTransition **transition); + + END_INTERFACE +} IUIAnimationTransitionFactoryVtbl; + +interface IUIAnimationTransitionFactory { + CONST_VTBL IUIAnimationTransitionFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransitionFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransitionFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransitionFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransitionFactory methods ***/ +#define IUIAnimationTransitionFactory_CreateTransition(This,interpolator,transition) (This)->lpVtbl->CreateTransition(This,interpolator,transition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransitionFactory_QueryInterface(IUIAnimationTransitionFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransitionFactory_AddRef(IUIAnimationTransitionFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransitionFactory_Release(IUIAnimationTransitionFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransitionFactory methods ***/ +static inline HRESULT IUIAnimationTransitionFactory_CreateTransition(IUIAnimationTransitionFactory* This,IUIAnimationInterpolator *interpolator,IUIAnimationTransition **transition) { + return This->lpVtbl->CreateTransition(This,interpolator,transition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransitionFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationInterpolator interface + */ +#ifndef __IUIAnimationInterpolator_INTERFACE_DEFINED__ +#define __IUIAnimationInterpolator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationInterpolator, 0x7815cbba, 0xddf7, 0x478c, 0xa4,0x6c, 0x7b,0x6c,0x73,0x8b,0x79,0x78); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7815cbba-ddf7-478c-a46c-7b6c738b7978") +IUIAnimationInterpolator : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetInitialValueAndVelocity( + double initialValue, + double initialVelocity) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDuration( + double duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDuration( + double *duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalValue( + double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE InterpolateValue( + double offset, + double *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE InterpolateVelocity( + double offset, + double *velocity) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDependencies( + UI_ANIMATION_DEPENDENCIES *initialValueDependencies, + UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies, + UI_ANIMATION_DEPENDENCIES *durationDependencies) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationInterpolator, 0x7815cbba, 0xddf7, 0x478c, 0xa4,0x6c, 0x7b,0x6c,0x73,0x8b,0x79,0x78) +#endif +#else +typedef struct IUIAnimationInterpolatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationInterpolator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationInterpolator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationInterpolator *This); + + /*** IUIAnimationInterpolator methods ***/ + HRESULT (STDMETHODCALLTYPE *SetInitialValueAndVelocity)( + IUIAnimationInterpolator *This, + double initialValue, + double initialVelocity); + + HRESULT (STDMETHODCALLTYPE *SetDuration)( + IUIAnimationInterpolator *This, + double duration); + + HRESULT (STDMETHODCALLTYPE *GetDuration)( + IUIAnimationInterpolator *This, + double *duration); + + HRESULT (STDMETHODCALLTYPE *GetFinalValue)( + IUIAnimationInterpolator *This, + double *value); + + HRESULT (STDMETHODCALLTYPE *InterpolateValue)( + IUIAnimationInterpolator *This, + double offset, + double *value); + + HRESULT (STDMETHODCALLTYPE *InterpolateVelocity)( + IUIAnimationInterpolator *This, + double offset, + double *velocity); + + HRESULT (STDMETHODCALLTYPE *GetDependencies)( + IUIAnimationInterpolator *This, + UI_ANIMATION_DEPENDENCIES *initialValueDependencies, + UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies, + UI_ANIMATION_DEPENDENCIES *durationDependencies); + + END_INTERFACE +} IUIAnimationInterpolatorVtbl; + +interface IUIAnimationInterpolator { + CONST_VTBL IUIAnimationInterpolatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationInterpolator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationInterpolator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationInterpolator_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationInterpolator methods ***/ +#define IUIAnimationInterpolator_SetInitialValueAndVelocity(This,initialValue,initialVelocity) (This)->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity) +#define IUIAnimationInterpolator_SetDuration(This,duration) (This)->lpVtbl->SetDuration(This,duration) +#define IUIAnimationInterpolator_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration) +#define IUIAnimationInterpolator_GetFinalValue(This,value) (This)->lpVtbl->GetFinalValue(This,value) +#define IUIAnimationInterpolator_InterpolateValue(This,offset,value) (This)->lpVtbl->InterpolateValue(This,offset,value) +#define IUIAnimationInterpolator_InterpolateVelocity(This,offset,velocity) (This)->lpVtbl->InterpolateVelocity(This,offset,velocity) +#define IUIAnimationInterpolator_GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) (This)->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationInterpolator_QueryInterface(IUIAnimationInterpolator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationInterpolator_AddRef(IUIAnimationInterpolator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationInterpolator_Release(IUIAnimationInterpolator* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationInterpolator methods ***/ +static inline HRESULT IUIAnimationInterpolator_SetInitialValueAndVelocity(IUIAnimationInterpolator* This,double initialValue,double initialVelocity) { + return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity); +} +static inline HRESULT IUIAnimationInterpolator_SetDuration(IUIAnimationInterpolator* This,double duration) { + return This->lpVtbl->SetDuration(This,duration); +} +static inline HRESULT IUIAnimationInterpolator_GetDuration(IUIAnimationInterpolator* This,double *duration) { + return This->lpVtbl->GetDuration(This,duration); +} +static inline HRESULT IUIAnimationInterpolator_GetFinalValue(IUIAnimationInterpolator* This,double *value) { + return This->lpVtbl->GetFinalValue(This,value); +} +static inline HRESULT IUIAnimationInterpolator_InterpolateValue(IUIAnimationInterpolator* This,double offset,double *value) { + return This->lpVtbl->InterpolateValue(This,offset,value); +} +static inline HRESULT IUIAnimationInterpolator_InterpolateVelocity(IUIAnimationInterpolator* This,double offset,double *velocity) { + return This->lpVtbl->InterpolateVelocity(This,offset,velocity); +} +static inline HRESULT IUIAnimationInterpolator_GetDependencies(IUIAnimationInterpolator* This,UI_ANIMATION_DEPENDENCIES *initialValueDependencies,UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,UI_ANIMATION_DEPENDENCIES *durationDependencies) { + return This->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationInterpolator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTransitionFactory2 interface + */ +#ifndef __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__ +#define __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTransitionFactory2, 0x937d4916, 0xc1a6, 0x42d5, 0x88,0xd8, 0x30,0x34,0x4d,0x6e,0xfe,0x31); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("937d4916-c1a6-42d5-88d8-30344d6efe31") +IUIAnimationTransitionFactory2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateTransition( + IUIAnimationInterpolator2 *interpolator, + IUIAnimationTransition2 **transition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTransitionFactory2, 0x937d4916, 0xc1a6, 0x42d5, 0x88,0xd8, 0x30,0x34,0x4d,0x6e,0xfe,0x31) +#endif +#else +typedef struct IUIAnimationTransitionFactory2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTransitionFactory2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTransitionFactory2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTransitionFactory2 *This); + + /*** IUIAnimationTransitionFactory2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateTransition)( + IUIAnimationTransitionFactory2 *This, + IUIAnimationInterpolator2 *interpolator, + IUIAnimationTransition2 **transition); + + END_INTERFACE +} IUIAnimationTransitionFactory2Vtbl; + +interface IUIAnimationTransitionFactory2 { + CONST_VTBL IUIAnimationTransitionFactory2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTransitionFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTransitionFactory2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTransitionFactory2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTransitionFactory2 methods ***/ +#define IUIAnimationTransitionFactory2_CreateTransition(This,interpolator,transition) (This)->lpVtbl->CreateTransition(This,interpolator,transition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTransitionFactory2_QueryInterface(IUIAnimationTransitionFactory2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTransitionFactory2_AddRef(IUIAnimationTransitionFactory2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTransitionFactory2_Release(IUIAnimationTransitionFactory2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTransitionFactory2 methods ***/ +static inline HRESULT IUIAnimationTransitionFactory2_CreateTransition(IUIAnimationTransitionFactory2* This,IUIAnimationInterpolator2 *interpolator,IUIAnimationTransition2 **transition) { + return This->lpVtbl->CreateTransition(This,interpolator,transition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTransitionFactory2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationInterpolator2 interface + */ +#ifndef __IUIAnimationInterpolator2_INTERFACE_DEFINED__ +#define __IUIAnimationInterpolator2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationInterpolator2, 0xea76aff8, 0xea22, 0x4a23, 0xa0,0xef, 0xa6,0xa9,0x66,0x70,0x35,0x18); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ea76aff8-ea22-4a23-a0ef-a6a966703518") +IUIAnimationInterpolator2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDimension( + unsigned int *dimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInitialValueAndVelocity( + double *initialValue, + double *initialVelocity, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDuration( + double duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDuration( + double *duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFinalValue( + double *value, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE InterpolateValue( + double offset, + double *value, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE InterpolateVelocity( + double offset, + double *velocity, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrimitiveInterpolation( + IUIAnimationPrimitiveInterpolation *interpolation, + unsigned int cDimension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDependencies( + UI_ANIMATION_DEPENDENCIES *initialValueDependencies, + UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies, + UI_ANIMATION_DEPENDENCIES *durationDependencies) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationInterpolator2, 0xea76aff8, 0xea22, 0x4a23, 0xa0,0xef, 0xa6,0xa9,0x66,0x70,0x35,0x18) +#endif +#else +typedef struct IUIAnimationInterpolator2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationInterpolator2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationInterpolator2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationInterpolator2 *This); + + /*** IUIAnimationInterpolator2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDimension)( + IUIAnimationInterpolator2 *This, + unsigned int *dimension); + + HRESULT (STDMETHODCALLTYPE *SetInitialValueAndVelocity)( + IUIAnimationInterpolator2 *This, + double *initialValue, + double *initialVelocity, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *SetDuration)( + IUIAnimationInterpolator2 *This, + double duration); + + HRESULT (STDMETHODCALLTYPE *GetDuration)( + IUIAnimationInterpolator2 *This, + double *duration); + + HRESULT (STDMETHODCALLTYPE *GetFinalValue)( + IUIAnimationInterpolator2 *This, + double *value, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *InterpolateValue)( + IUIAnimationInterpolator2 *This, + double offset, + double *value, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *InterpolateVelocity)( + IUIAnimationInterpolator2 *This, + double offset, + double *velocity, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetPrimitiveInterpolation)( + IUIAnimationInterpolator2 *This, + IUIAnimationPrimitiveInterpolation *interpolation, + unsigned int cDimension); + + HRESULT (STDMETHODCALLTYPE *GetDependencies)( + IUIAnimationInterpolator2 *This, + UI_ANIMATION_DEPENDENCIES *initialValueDependencies, + UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies, + UI_ANIMATION_DEPENDENCIES *durationDependencies); + + END_INTERFACE +} IUIAnimationInterpolator2Vtbl; + +interface IUIAnimationInterpolator2 { + CONST_VTBL IUIAnimationInterpolator2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationInterpolator2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationInterpolator2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationInterpolator2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationInterpolator2 methods ***/ +#define IUIAnimationInterpolator2_GetDimension(This,dimension) (This)->lpVtbl->GetDimension(This,dimension) +#define IUIAnimationInterpolator2_SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension) (This)->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension) +#define IUIAnimationInterpolator2_SetDuration(This,duration) (This)->lpVtbl->SetDuration(This,duration) +#define IUIAnimationInterpolator2_GetDuration(This,duration) (This)->lpVtbl->GetDuration(This,duration) +#define IUIAnimationInterpolator2_GetFinalValue(This,value,cDimension) (This)->lpVtbl->GetFinalValue(This,value,cDimension) +#define IUIAnimationInterpolator2_InterpolateValue(This,offset,value,cDimension) (This)->lpVtbl->InterpolateValue(This,offset,value,cDimension) +#define IUIAnimationInterpolator2_InterpolateVelocity(This,offset,velocity,cDimension) (This)->lpVtbl->InterpolateVelocity(This,offset,velocity,cDimension) +#define IUIAnimationInterpolator2_GetPrimitiveInterpolation(This,interpolation,cDimension) (This)->lpVtbl->GetPrimitiveInterpolation(This,interpolation,cDimension) +#define IUIAnimationInterpolator2_GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) (This)->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationInterpolator2_QueryInterface(IUIAnimationInterpolator2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationInterpolator2_AddRef(IUIAnimationInterpolator2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationInterpolator2_Release(IUIAnimationInterpolator2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationInterpolator2 methods ***/ +static inline HRESULT IUIAnimationInterpolator2_GetDimension(IUIAnimationInterpolator2* This,unsigned int *dimension) { + return This->lpVtbl->GetDimension(This,dimension); +} +static inline HRESULT IUIAnimationInterpolator2_SetInitialValueAndVelocity(IUIAnimationInterpolator2* This,double *initialValue,double *initialVelocity,unsigned int cDimension) { + return This->lpVtbl->SetInitialValueAndVelocity(This,initialValue,initialVelocity,cDimension); +} +static inline HRESULT IUIAnimationInterpolator2_SetDuration(IUIAnimationInterpolator2* This,double duration) { + return This->lpVtbl->SetDuration(This,duration); +} +static inline HRESULT IUIAnimationInterpolator2_GetDuration(IUIAnimationInterpolator2* This,double *duration) { + return This->lpVtbl->GetDuration(This,duration); +} +static inline HRESULT IUIAnimationInterpolator2_GetFinalValue(IUIAnimationInterpolator2* This,double *value,unsigned int cDimension) { + return This->lpVtbl->GetFinalValue(This,value,cDimension); +} +static inline HRESULT IUIAnimationInterpolator2_InterpolateValue(IUIAnimationInterpolator2* This,double offset,double *value,unsigned int cDimension) { + return This->lpVtbl->InterpolateValue(This,offset,value,cDimension); +} +static inline HRESULT IUIAnimationInterpolator2_InterpolateVelocity(IUIAnimationInterpolator2* This,double offset,double *velocity,unsigned int cDimension) { + return This->lpVtbl->InterpolateVelocity(This,offset,velocity,cDimension); +} +static inline HRESULT IUIAnimationInterpolator2_GetPrimitiveInterpolation(IUIAnimationInterpolator2* This,IUIAnimationPrimitiveInterpolation *interpolation,unsigned int cDimension) { + return This->lpVtbl->GetPrimitiveInterpolation(This,interpolation,cDimension); +} +static inline HRESULT IUIAnimationInterpolator2_GetDependencies(IUIAnimationInterpolator2* This,UI_ANIMATION_DEPENDENCIES *initialValueDependencies,UI_ANIMATION_DEPENDENCIES *initialVelocityDependencies,UI_ANIMATION_DEPENDENCIES *durationDependencies) { + return This->lpVtbl->GetDependencies(This,initialValueDependencies,initialVelocityDependencies,durationDependencies); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationInterpolator2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationPrimitiveInterpolation interface + */ +#ifndef __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__ +#define __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationPrimitiveInterpolation, 0xbab20d63, 0x4361, 0x45da, 0xa2,0x4f, 0xab,0x85,0x08,0x84,0x6b,0x5b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bab20d63-4361-45da-a24f-ab8508846b5b") +IUIAnimationPrimitiveInterpolation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddCubic( + unsigned int dimension, + double beginOffset, + float constantCoefficient, + float linearCoefficient, + float quadraticCoefficient, + float cubicCoefficient) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSinusoidal( + unsigned int dimension, + double beginOffset, + float bias, + float amplitude, + float frequency, + float phase) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationPrimitiveInterpolation, 0xbab20d63, 0x4361, 0x45da, 0xa2,0x4f, 0xab,0x85,0x08,0x84,0x6b,0x5b) +#endif +#else +typedef struct IUIAnimationPrimitiveInterpolationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationPrimitiveInterpolation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationPrimitiveInterpolation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationPrimitiveInterpolation *This); + + /*** IUIAnimationPrimitiveInterpolation methods ***/ + HRESULT (STDMETHODCALLTYPE *AddCubic)( + IUIAnimationPrimitiveInterpolation *This, + unsigned int dimension, + double beginOffset, + float constantCoefficient, + float linearCoefficient, + float quadraticCoefficient, + float cubicCoefficient); + + HRESULT (STDMETHODCALLTYPE *AddSinusoidal)( + IUIAnimationPrimitiveInterpolation *This, + unsigned int dimension, + double beginOffset, + float bias, + float amplitude, + float frequency, + float phase); + + END_INTERFACE +} IUIAnimationPrimitiveInterpolationVtbl; + +interface IUIAnimationPrimitiveInterpolation { + CONST_VTBL IUIAnimationPrimitiveInterpolationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationPrimitiveInterpolation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationPrimitiveInterpolation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationPrimitiveInterpolation_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationPrimitiveInterpolation methods ***/ +#define IUIAnimationPrimitiveInterpolation_AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) (This)->lpVtbl->AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient) +#define IUIAnimationPrimitiveInterpolation_AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase) (This)->lpVtbl->AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationPrimitiveInterpolation_QueryInterface(IUIAnimationPrimitiveInterpolation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationPrimitiveInterpolation_AddRef(IUIAnimationPrimitiveInterpolation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationPrimitiveInterpolation_Release(IUIAnimationPrimitiveInterpolation* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationPrimitiveInterpolation methods ***/ +static inline HRESULT IUIAnimationPrimitiveInterpolation_AddCubic(IUIAnimationPrimitiveInterpolation* This,unsigned int dimension,double beginOffset,float constantCoefficient,float linearCoefficient,float quadraticCoefficient,float cubicCoefficient) { + return This->lpVtbl->AddCubic(This,dimension,beginOffset,constantCoefficient,linearCoefficient,quadraticCoefficient,cubicCoefficient); +} +static inline HRESULT IUIAnimationPrimitiveInterpolation_AddSinusoidal(IUIAnimationPrimitiveInterpolation* This,unsigned int dimension,double beginOffset,float bias,float amplitude,float frequency,float phase) { + return This->lpVtbl->AddSinusoidal(This,dimension,beginOffset,bias,amplitude,frequency,phase); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationPrimitiveInterpolation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTimer interface + */ +#ifndef __IUIAnimationTimer_INTERFACE_DEFINED__ +#define __IUIAnimationTimer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTimer, 0x6b0efad1, 0xa053, 0x41d6, 0x90,0x85, 0x33,0xa6,0x89,0x14,0x46,0x65); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6b0efad1-a053-41d6-9085-33a689144665") +IUIAnimationTimer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetTimerUpdateHandler( + IUIAnimationTimerUpdateHandler *updateHandler, + UI_ANIMATION_IDLE_BEHAVIOR idleBehavior) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTimerEventHandler( + IUIAnimationTimerEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE Enable( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Disable( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsEnabled( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTime( + double *seconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFrameRateThreshold( + unsigned int framesPerSecond) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTimer, 0x6b0efad1, 0xa053, 0x41d6, 0x90,0x85, 0x33,0xa6,0x89,0x14,0x46,0x65) +#endif +#else +typedef struct IUIAnimationTimerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTimer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTimer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTimer *This); + + /*** IUIAnimationTimer methods ***/ + HRESULT (STDMETHODCALLTYPE *SetTimerUpdateHandler)( + IUIAnimationTimer *This, + IUIAnimationTimerUpdateHandler *updateHandler, + UI_ANIMATION_IDLE_BEHAVIOR idleBehavior); + + HRESULT (STDMETHODCALLTYPE *SetTimerEventHandler)( + IUIAnimationTimer *This, + IUIAnimationTimerEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *Enable)( + IUIAnimationTimer *This); + + HRESULT (STDMETHODCALLTYPE *Disable)( + IUIAnimationTimer *This); + + HRESULT (STDMETHODCALLTYPE *IsEnabled)( + IUIAnimationTimer *This); + + HRESULT (STDMETHODCALLTYPE *GetTime)( + IUIAnimationTimer *This, + double *seconds); + + HRESULT (STDMETHODCALLTYPE *SetFrameRateThreshold)( + IUIAnimationTimer *This, + unsigned int framesPerSecond); + + END_INTERFACE +} IUIAnimationTimerVtbl; + +interface IUIAnimationTimer { + CONST_VTBL IUIAnimationTimerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTimer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTimer_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTimer methods ***/ +#define IUIAnimationTimer_SetTimerUpdateHandler(This,updateHandler,idleBehavior) (This)->lpVtbl->SetTimerUpdateHandler(This,updateHandler,idleBehavior) +#define IUIAnimationTimer_SetTimerEventHandler(This,handler) (This)->lpVtbl->SetTimerEventHandler(This,handler) +#define IUIAnimationTimer_Enable(This) (This)->lpVtbl->Enable(This) +#define IUIAnimationTimer_Disable(This) (This)->lpVtbl->Disable(This) +#define IUIAnimationTimer_IsEnabled(This) (This)->lpVtbl->IsEnabled(This) +#define IUIAnimationTimer_GetTime(This,seconds) (This)->lpVtbl->GetTime(This,seconds) +#define IUIAnimationTimer_SetFrameRateThreshold(This,framesPerSecond) (This)->lpVtbl->SetFrameRateThreshold(This,framesPerSecond) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTimer_QueryInterface(IUIAnimationTimer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTimer_AddRef(IUIAnimationTimer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTimer_Release(IUIAnimationTimer* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTimer methods ***/ +static inline HRESULT IUIAnimationTimer_SetTimerUpdateHandler(IUIAnimationTimer* This,IUIAnimationTimerUpdateHandler *updateHandler,UI_ANIMATION_IDLE_BEHAVIOR idleBehavior) { + return This->lpVtbl->SetTimerUpdateHandler(This,updateHandler,idleBehavior); +} +static inline HRESULT IUIAnimationTimer_SetTimerEventHandler(IUIAnimationTimer* This,IUIAnimationTimerEventHandler *handler) { + return This->lpVtbl->SetTimerEventHandler(This,handler); +} +static inline HRESULT IUIAnimationTimer_Enable(IUIAnimationTimer* This) { + return This->lpVtbl->Enable(This); +} +static inline HRESULT IUIAnimationTimer_Disable(IUIAnimationTimer* This) { + return This->lpVtbl->Disable(This); +} +static inline HRESULT IUIAnimationTimer_IsEnabled(IUIAnimationTimer* This) { + return This->lpVtbl->IsEnabled(This); +} +static inline HRESULT IUIAnimationTimer_GetTime(IUIAnimationTimer* This,double *seconds) { + return This->lpVtbl->GetTime(This,seconds); +} +static inline HRESULT IUIAnimationTimer_SetFrameRateThreshold(IUIAnimationTimer* This,unsigned int framesPerSecond) { + return This->lpVtbl->SetFrameRateThreshold(This,framesPerSecond); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTimer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTimerUpdateHandler interface + */ +#ifndef __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__ +#define __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTimerUpdateHandler, 0x195509b7, 0x5d5e, 0x4e3e, 0xb2,0x78, 0xee,0x37,0x59,0xb3,0x67,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("195509b7-5d5e-4e3e-b278-ee3759b367ad") +IUIAnimationTimerUpdateHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnUpdate( + double timeNow, + UI_ANIMATION_UPDATE_RESULT *result) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTimerClientEventHandler( + IUIAnimationTimerClientEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearTimerClientEventHandler( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTimerUpdateHandler, 0x195509b7, 0x5d5e, 0x4e3e, 0xb2,0x78, 0xee,0x37,0x59,0xb3,0x67,0xad) +#endif +#else +typedef struct IUIAnimationTimerUpdateHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTimerUpdateHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTimerUpdateHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTimerUpdateHandler *This); + + /*** IUIAnimationTimerUpdateHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnUpdate)( + IUIAnimationTimerUpdateHandler *This, + double timeNow, + UI_ANIMATION_UPDATE_RESULT *result); + + HRESULT (STDMETHODCALLTYPE *SetTimerClientEventHandler)( + IUIAnimationTimerUpdateHandler *This, + IUIAnimationTimerClientEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *ClearTimerClientEventHandler)( + IUIAnimationTimerUpdateHandler *This); + + END_INTERFACE +} IUIAnimationTimerUpdateHandlerVtbl; + +interface IUIAnimationTimerUpdateHandler { + CONST_VTBL IUIAnimationTimerUpdateHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTimerUpdateHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTimerUpdateHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTimerUpdateHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTimerUpdateHandler methods ***/ +#define IUIAnimationTimerUpdateHandler_OnUpdate(This,timeNow,result) (This)->lpVtbl->OnUpdate(This,timeNow,result) +#define IUIAnimationTimerUpdateHandler_SetTimerClientEventHandler(This,handler) (This)->lpVtbl->SetTimerClientEventHandler(This,handler) +#define IUIAnimationTimerUpdateHandler_ClearTimerClientEventHandler(This) (This)->lpVtbl->ClearTimerClientEventHandler(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTimerUpdateHandler_QueryInterface(IUIAnimationTimerUpdateHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTimerUpdateHandler_AddRef(IUIAnimationTimerUpdateHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTimerUpdateHandler_Release(IUIAnimationTimerUpdateHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTimerUpdateHandler methods ***/ +static inline HRESULT IUIAnimationTimerUpdateHandler_OnUpdate(IUIAnimationTimerUpdateHandler* This,double timeNow,UI_ANIMATION_UPDATE_RESULT *result) { + return This->lpVtbl->OnUpdate(This,timeNow,result); +} +static inline HRESULT IUIAnimationTimerUpdateHandler_SetTimerClientEventHandler(IUIAnimationTimerUpdateHandler* This,IUIAnimationTimerClientEventHandler *handler) { + return This->lpVtbl->SetTimerClientEventHandler(This,handler); +} +static inline HRESULT IUIAnimationTimerUpdateHandler_ClearTimerClientEventHandler(IUIAnimationTimerUpdateHandler* This) { + return This->lpVtbl->ClearTimerClientEventHandler(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTimerUpdateHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTimerClientEventHandler interface + */ +#ifndef __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__ +#define __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTimerClientEventHandler, 0xbedb4db6, 0x94fa, 0x4bfb, 0xa4,0x7f, 0xef,0x2d,0x9e,0x40,0x8c,0x25); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bedb4db6-94fa-4bfb-a47f-ef2d9e408c25") +IUIAnimationTimerClientEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnTimerClientStatusChanged( + UI_ANIMATION_TIMER_CLIENT_STATUS newStatus, + UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTimerClientEventHandler, 0xbedb4db6, 0x94fa, 0x4bfb, 0xa4,0x7f, 0xef,0x2d,0x9e,0x40,0x8c,0x25) +#endif +#else +typedef struct IUIAnimationTimerClientEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTimerClientEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTimerClientEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTimerClientEventHandler *This); + + /*** IUIAnimationTimerClientEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnTimerClientStatusChanged)( + IUIAnimationTimerClientEventHandler *This, + UI_ANIMATION_TIMER_CLIENT_STATUS newStatus, + UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus); + + END_INTERFACE +} IUIAnimationTimerClientEventHandlerVtbl; + +interface IUIAnimationTimerClientEventHandler { + CONST_VTBL IUIAnimationTimerClientEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTimerClientEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTimerClientEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTimerClientEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTimerClientEventHandler methods ***/ +#define IUIAnimationTimerClientEventHandler_OnTimerClientStatusChanged(This,newStatus,previousStatus) (This)->lpVtbl->OnTimerClientStatusChanged(This,newStatus,previousStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTimerClientEventHandler_QueryInterface(IUIAnimationTimerClientEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTimerClientEventHandler_AddRef(IUIAnimationTimerClientEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTimerClientEventHandler_Release(IUIAnimationTimerClientEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTimerClientEventHandler methods ***/ +static inline HRESULT IUIAnimationTimerClientEventHandler_OnTimerClientStatusChanged(IUIAnimationTimerClientEventHandler* This,UI_ANIMATION_TIMER_CLIENT_STATUS newStatus,UI_ANIMATION_TIMER_CLIENT_STATUS previousStatus) { + return This->lpVtbl->OnTimerClientStatusChanged(This,newStatus,previousStatus); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTimerClientEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAnimationTimerEventHandler interface + */ +#ifndef __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__ +#define __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAnimationTimerEventHandler, 0x274a7dea, 0xd771, 0x4095, 0xab,0xbd, 0x8d,0xf7,0xab,0xd2,0x3c,0xe3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("274a7dea-d771-4095-abbd-8df7abd23ce3") +IUIAnimationTimerEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnPreUpdate( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnPostUpdate( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnRenderingTooSlow( + UINT32 framesPerSecond) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAnimationTimerEventHandler, 0x274a7dea, 0xd771, 0x4095, 0xab,0xbd, 0x8d,0xf7,0xab,0xd2,0x3c,0xe3) +#endif +#else +typedef struct IUIAnimationTimerEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAnimationTimerEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAnimationTimerEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAnimationTimerEventHandler *This); + + /*** IUIAnimationTimerEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *OnPreUpdate)( + IUIAnimationTimerEventHandler *This); + + HRESULT (STDMETHODCALLTYPE *OnPostUpdate)( + IUIAnimationTimerEventHandler *This); + + HRESULT (STDMETHODCALLTYPE *OnRenderingTooSlow)( + IUIAnimationTimerEventHandler *This, + UINT32 framesPerSecond); + + END_INTERFACE +} IUIAnimationTimerEventHandlerVtbl; + +interface IUIAnimationTimerEventHandler { + CONST_VTBL IUIAnimationTimerEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAnimationTimerEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAnimationTimerEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAnimationTimerEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAnimationTimerEventHandler methods ***/ +#define IUIAnimationTimerEventHandler_OnPreUpdate(This) (This)->lpVtbl->OnPreUpdate(This) +#define IUIAnimationTimerEventHandler_OnPostUpdate(This) (This)->lpVtbl->OnPostUpdate(This) +#define IUIAnimationTimerEventHandler_OnRenderingTooSlow(This,framesPerSecond) (This)->lpVtbl->OnRenderingTooSlow(This,framesPerSecond) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAnimationTimerEventHandler_QueryInterface(IUIAnimationTimerEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAnimationTimerEventHandler_AddRef(IUIAnimationTimerEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAnimationTimerEventHandler_Release(IUIAnimationTimerEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAnimationTimerEventHandler methods ***/ +static inline HRESULT IUIAnimationTimerEventHandler_OnPreUpdate(IUIAnimationTimerEventHandler* This) { + return This->lpVtbl->OnPreUpdate(This); +} +static inline HRESULT IUIAnimationTimerEventHandler_OnPostUpdate(IUIAnimationTimerEventHandler* This) { + return This->lpVtbl->OnPostUpdate(This); +} +static inline HRESULT IUIAnimationTimerEventHandler_OnRenderingTooSlow(IUIAnimationTimerEventHandler* This,UINT32 framesPerSecond) { + return This->lpVtbl->OnRenderingTooSlow(This,framesPerSecond); +} +#endif +#endif + +#endif + + +#endif /* __IUIAnimationTimerEventHandler_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __uianimation_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomation.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomation.h new file mode 100644 index 00000000..b58c4e63 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomation.h @@ -0,0 +1,21 @@ +/* + * Copyright 2012 Jacek Caban for CodeWeavers + * + * 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 + */ + +#include +#include +#include diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationclient.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationclient.h new file mode 100644 index 00000000..bff5b3e1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationclient.h @@ -0,0 +1,22226 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationclient.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 __uiautomationclient_h__ +#define __uiautomationclient_h__ + +/* Forward declarations */ + +#ifndef __IUIAutomationCondition_FWD_DEFINED__ +#define __IUIAutomationCondition_FWD_DEFINED__ +typedef interface IUIAutomationCondition IUIAutomationCondition; +#ifdef __cplusplus +interface IUIAutomationCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationBoolCondition_FWD_DEFINED__ +#define __IUIAutomationBoolCondition_FWD_DEFINED__ +typedef interface IUIAutomationBoolCondition IUIAutomationBoolCondition; +#ifdef __cplusplus +interface IUIAutomationBoolCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationPropertyCondition_FWD_DEFINED__ +#define __IUIAutomationPropertyCondition_FWD_DEFINED__ +typedef interface IUIAutomationPropertyCondition IUIAutomationPropertyCondition; +#ifdef __cplusplus +interface IUIAutomationPropertyCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationAndCondition_FWD_DEFINED__ +#define __IUIAutomationAndCondition_FWD_DEFINED__ +typedef interface IUIAutomationAndCondition IUIAutomationAndCondition; +#ifdef __cplusplus +interface IUIAutomationAndCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationOrCondition_FWD_DEFINED__ +#define __IUIAutomationOrCondition_FWD_DEFINED__ +typedef interface IUIAutomationOrCondition IUIAutomationOrCondition; +#ifdef __cplusplus +interface IUIAutomationOrCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationNotCondition_FWD_DEFINED__ +#define __IUIAutomationNotCondition_FWD_DEFINED__ +typedef interface IUIAutomationNotCondition IUIAutomationNotCondition; +#ifdef __cplusplus +interface IUIAutomationNotCondition; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationCacheRequest_FWD_DEFINED__ +#define __IUIAutomationCacheRequest_FWD_DEFINED__ +typedef interface IUIAutomationCacheRequest IUIAutomationCacheRequest; +#ifdef __cplusplus +interface IUIAutomationCacheRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTreeWalker_FWD_DEFINED__ +#define __IUIAutomationTreeWalker_FWD_DEFINED__ +typedef interface IUIAutomationTreeWalker IUIAutomationTreeWalker; +#ifdef __cplusplus +interface IUIAutomationTreeWalker; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationEventHandler_FWD_DEFINED__ +#define __IUIAutomationEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationEventHandler IUIAutomationEventHandler; +#ifdef __cplusplus +interface IUIAutomationEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationPropertyChangedEventHandler_FWD_DEFINED__ +#define __IUIAutomationPropertyChangedEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationPropertyChangedEventHandler IUIAutomationPropertyChangedEventHandler; +#ifdef __cplusplus +interface IUIAutomationPropertyChangedEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationStructureChangedEventHandler_FWD_DEFINED__ +#define __IUIAutomationStructureChangedEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationStructureChangedEventHandler IUIAutomationStructureChangedEventHandler; +#ifdef __cplusplus +interface IUIAutomationStructureChangedEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationFocusChangedEventHandler_FWD_DEFINED__ +#define __IUIAutomationFocusChangedEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationFocusChangedEventHandler IUIAutomationFocusChangedEventHandler; +#ifdef __cplusplus +interface IUIAutomationFocusChangedEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextEditTextChangedEventHandler_FWD_DEFINED__ +#define __IUIAutomationTextEditTextChangedEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationTextEditTextChangedEventHandler IUIAutomationTextEditTextChangedEventHandler; +#ifdef __cplusplus +interface IUIAutomationTextEditTextChangedEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationChangesEventHandler_FWD_DEFINED__ +#define __IUIAutomationChangesEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationChangesEventHandler IUIAutomationChangesEventHandler; +#ifdef __cplusplus +interface IUIAutomationChangesEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationNotificationEventHandler_FWD_DEFINED__ +#define __IUIAutomationNotificationEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationNotificationEventHandler IUIAutomationNotificationEventHandler; +#ifdef __cplusplus +interface IUIAutomationNotificationEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationInvokePattern_FWD_DEFINED__ +#define __IUIAutomationInvokePattern_FWD_DEFINED__ +typedef interface IUIAutomationInvokePattern IUIAutomationInvokePattern; +#ifdef __cplusplus +interface IUIAutomationInvokePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationDockPattern_FWD_DEFINED__ +#define __IUIAutomationDockPattern_FWD_DEFINED__ +typedef interface IUIAutomationDockPattern IUIAutomationDockPattern; +#ifdef __cplusplus +interface IUIAutomationDockPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationExpandCollapsePattern_FWD_DEFINED__ +#define __IUIAutomationExpandCollapsePattern_FWD_DEFINED__ +typedef interface IUIAutomationExpandCollapsePattern IUIAutomationExpandCollapsePattern; +#ifdef __cplusplus +interface IUIAutomationExpandCollapsePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationGridPattern_FWD_DEFINED__ +#define __IUIAutomationGridPattern_FWD_DEFINED__ +typedef interface IUIAutomationGridPattern IUIAutomationGridPattern; +#ifdef __cplusplus +interface IUIAutomationGridPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationGridItemPattern_FWD_DEFINED__ +#define __IUIAutomationGridItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationGridItemPattern IUIAutomationGridItemPattern; +#ifdef __cplusplus +interface IUIAutomationGridItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationMultipleViewPattern_FWD_DEFINED__ +#define __IUIAutomationMultipleViewPattern_FWD_DEFINED__ +typedef interface IUIAutomationMultipleViewPattern IUIAutomationMultipleViewPattern; +#ifdef __cplusplus +interface IUIAutomationMultipleViewPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationObjectModelPattern_FWD_DEFINED__ +#define __IUIAutomationObjectModelPattern_FWD_DEFINED__ +typedef interface IUIAutomationObjectModelPattern IUIAutomationObjectModelPattern; +#ifdef __cplusplus +interface IUIAutomationObjectModelPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationRangeValuePattern_FWD_DEFINED__ +#define __IUIAutomationRangeValuePattern_FWD_DEFINED__ +typedef interface IUIAutomationRangeValuePattern IUIAutomationRangeValuePattern; +#ifdef __cplusplus +interface IUIAutomationRangeValuePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationScrollPattern_FWD_DEFINED__ +#define __IUIAutomationScrollPattern_FWD_DEFINED__ +typedef interface IUIAutomationScrollPattern IUIAutomationScrollPattern; +#ifdef __cplusplus +interface IUIAutomationScrollPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationScrollItemPattern_FWD_DEFINED__ +#define __IUIAutomationScrollItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationScrollItemPattern IUIAutomationScrollItemPattern; +#ifdef __cplusplus +interface IUIAutomationScrollItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationSelectionPattern_FWD_DEFINED__ +#define __IUIAutomationSelectionPattern_FWD_DEFINED__ +typedef interface IUIAutomationSelectionPattern IUIAutomationSelectionPattern; +#ifdef __cplusplus +interface IUIAutomationSelectionPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationSelectionItemPattern_FWD_DEFINED__ +#define __IUIAutomationSelectionItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationSelectionItemPattern IUIAutomationSelectionItemPattern; +#ifdef __cplusplus +interface IUIAutomationSelectionItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationSynchronizedInputPattern_FWD_DEFINED__ +#define __IUIAutomationSynchronizedInputPattern_FWD_DEFINED__ +typedef interface IUIAutomationSynchronizedInputPattern IUIAutomationSynchronizedInputPattern; +#ifdef __cplusplus +interface IUIAutomationSynchronizedInputPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTablePattern_FWD_DEFINED__ +#define __IUIAutomationTablePattern_FWD_DEFINED__ +typedef interface IUIAutomationTablePattern IUIAutomationTablePattern; +#ifdef __cplusplus +interface IUIAutomationTablePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTableItemPattern_FWD_DEFINED__ +#define __IUIAutomationTableItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationTableItemPattern IUIAutomationTableItemPattern; +#ifdef __cplusplus +interface IUIAutomationTableItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTogglePattern_FWD_DEFINED__ +#define __IUIAutomationTogglePattern_FWD_DEFINED__ +typedef interface IUIAutomationTogglePattern IUIAutomationTogglePattern; +#ifdef __cplusplus +interface IUIAutomationTogglePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTransformPattern_FWD_DEFINED__ +#define __IUIAutomationTransformPattern_FWD_DEFINED__ +typedef interface IUIAutomationTransformPattern IUIAutomationTransformPattern; +#ifdef __cplusplus +interface IUIAutomationTransformPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationValuePattern_FWD_DEFINED__ +#define __IUIAutomationValuePattern_FWD_DEFINED__ +typedef interface IUIAutomationValuePattern IUIAutomationValuePattern; +#ifdef __cplusplus +interface IUIAutomationValuePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationWindowPattern_FWD_DEFINED__ +#define __IUIAutomationWindowPattern_FWD_DEFINED__ +typedef interface IUIAutomationWindowPattern IUIAutomationWindowPattern; +#ifdef __cplusplus +interface IUIAutomationWindowPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextRange_FWD_DEFINED__ +#define __IUIAutomationTextRange_FWD_DEFINED__ +typedef interface IUIAutomationTextRange IUIAutomationTextRange; +#ifdef __cplusplus +interface IUIAutomationTextRange; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextRange2_FWD_DEFINED__ +#define __IUIAutomationTextRange2_FWD_DEFINED__ +typedef interface IUIAutomationTextRange2 IUIAutomationTextRange2; +#ifdef __cplusplus +interface IUIAutomationTextRange2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextRangeArray_FWD_DEFINED__ +#define __IUIAutomationTextRangeArray_FWD_DEFINED__ +typedef interface IUIAutomationTextRangeArray IUIAutomationTextRangeArray; +#ifdef __cplusplus +interface IUIAutomationTextRangeArray; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextPattern_FWD_DEFINED__ +#define __IUIAutomationTextPattern_FWD_DEFINED__ +typedef interface IUIAutomationTextPattern IUIAutomationTextPattern; +#ifdef __cplusplus +interface IUIAutomationTextPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextPattern2_FWD_DEFINED__ +#define __IUIAutomationTextPattern2_FWD_DEFINED__ +typedef interface IUIAutomationTextPattern2 IUIAutomationTextPattern2; +#ifdef __cplusplus +interface IUIAutomationTextPattern2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextEditPattern_FWD_DEFINED__ +#define __IUIAutomationTextEditPattern_FWD_DEFINED__ +typedef interface IUIAutomationTextEditPattern IUIAutomationTextEditPattern; +#ifdef __cplusplus +interface IUIAutomationTextEditPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationCustomNavigationPattern_FWD_DEFINED__ +#define __IUIAutomationCustomNavigationPattern_FWD_DEFINED__ +typedef interface IUIAutomationCustomNavigationPattern IUIAutomationCustomNavigationPattern; +#ifdef __cplusplus +interface IUIAutomationCustomNavigationPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationActiveTextPositionChangedEventHandler_FWD_DEFINED__ +#define __IUIAutomationActiveTextPositionChangedEventHandler_FWD_DEFINED__ +typedef interface IUIAutomationActiveTextPositionChangedEventHandler IUIAutomationActiveTextPositionChangedEventHandler; +#ifdef __cplusplus +interface IUIAutomationActiveTextPositionChangedEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationLegacyIAccessiblePattern_FWD_DEFINED__ +#define __IUIAutomationLegacyIAccessiblePattern_FWD_DEFINED__ +typedef interface IUIAutomationLegacyIAccessiblePattern IUIAutomationLegacyIAccessiblePattern; +#ifdef __cplusplus +interface IUIAutomationLegacyIAccessiblePattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationItemContainerPattern_FWD_DEFINED__ +#define __IUIAutomationItemContainerPattern_FWD_DEFINED__ +typedef interface IUIAutomationItemContainerPattern IUIAutomationItemContainerPattern; +#ifdef __cplusplus +interface IUIAutomationItemContainerPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationVirtualizedItemPattern_FWD_DEFINED__ +#define __IUIAutomationVirtualizedItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationVirtualizedItemPattern IUIAutomationVirtualizedItemPattern; +#ifdef __cplusplus +interface IUIAutomationVirtualizedItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationAnnotationPattern_FWD_DEFINED__ +#define __IUIAutomationAnnotationPattern_FWD_DEFINED__ +typedef interface IUIAutomationAnnotationPattern IUIAutomationAnnotationPattern; +#ifdef __cplusplus +interface IUIAutomationAnnotationPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationStylesPattern_FWD_DEFINED__ +#define __IUIAutomationStylesPattern_FWD_DEFINED__ +typedef interface IUIAutomationStylesPattern IUIAutomationStylesPattern; +#ifdef __cplusplus +interface IUIAutomationStylesPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationSpreadsheetPattern_FWD_DEFINED__ +#define __IUIAutomationSpreadsheetPattern_FWD_DEFINED__ +typedef interface IUIAutomationSpreadsheetPattern IUIAutomationSpreadsheetPattern; +#ifdef __cplusplus +interface IUIAutomationSpreadsheetPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationSpreadsheetItemPattern_FWD_DEFINED__ +#define __IUIAutomationSpreadsheetItemPattern_FWD_DEFINED__ +typedef interface IUIAutomationSpreadsheetItemPattern IUIAutomationSpreadsheetItemPattern; +#ifdef __cplusplus +interface IUIAutomationSpreadsheetItemPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTransformPattern2_FWD_DEFINED__ +#define __IUIAutomationTransformPattern2_FWD_DEFINED__ +typedef interface IUIAutomationTransformPattern2 IUIAutomationTransformPattern2; +#ifdef __cplusplus +interface IUIAutomationTransformPattern2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationTextChildPattern_FWD_DEFINED__ +#define __IUIAutomationTextChildPattern_FWD_DEFINED__ +typedef interface IUIAutomationTextChildPattern IUIAutomationTextChildPattern; +#ifdef __cplusplus +interface IUIAutomationTextChildPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationDragPattern_FWD_DEFINED__ +#define __IUIAutomationDragPattern_FWD_DEFINED__ +typedef interface IUIAutomationDragPattern IUIAutomationDragPattern; +#ifdef __cplusplus +interface IUIAutomationDragPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationDropTargetPattern_FWD_DEFINED__ +#define __IUIAutomationDropTargetPattern_FWD_DEFINED__ +typedef interface IUIAutomationDropTargetPattern IUIAutomationDropTargetPattern; +#ifdef __cplusplus +interface IUIAutomationDropTargetPattern; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement_FWD_DEFINED__ +#define __IUIAutomationElement_FWD_DEFINED__ +typedef interface IUIAutomationElement IUIAutomationElement; +#ifdef __cplusplus +interface IUIAutomationElement; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement2_FWD_DEFINED__ +#define __IUIAutomationElement2_FWD_DEFINED__ +typedef interface IUIAutomationElement2 IUIAutomationElement2; +#ifdef __cplusplus +interface IUIAutomationElement2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement3_FWD_DEFINED__ +#define __IUIAutomationElement3_FWD_DEFINED__ +typedef interface IUIAutomationElement3 IUIAutomationElement3; +#ifdef __cplusplus +interface IUIAutomationElement3; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement4_FWD_DEFINED__ +#define __IUIAutomationElement4_FWD_DEFINED__ +typedef interface IUIAutomationElement4 IUIAutomationElement4; +#ifdef __cplusplus +interface IUIAutomationElement4; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement5_FWD_DEFINED__ +#define __IUIAutomationElement5_FWD_DEFINED__ +typedef interface IUIAutomationElement5 IUIAutomationElement5; +#ifdef __cplusplus +interface IUIAutomationElement5; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement6_FWD_DEFINED__ +#define __IUIAutomationElement6_FWD_DEFINED__ +typedef interface IUIAutomationElement6 IUIAutomationElement6; +#ifdef __cplusplus +interface IUIAutomationElement6; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement7_FWD_DEFINED__ +#define __IUIAutomationElement7_FWD_DEFINED__ +typedef interface IUIAutomationElement7 IUIAutomationElement7; +#ifdef __cplusplus +interface IUIAutomationElement7; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement8_FWD_DEFINED__ +#define __IUIAutomationElement8_FWD_DEFINED__ +typedef interface IUIAutomationElement8 IUIAutomationElement8; +#ifdef __cplusplus +interface IUIAutomationElement8; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElement9_FWD_DEFINED__ +#define __IUIAutomationElement9_FWD_DEFINED__ +typedef interface IUIAutomationElement9 IUIAutomationElement9; +#ifdef __cplusplus +interface IUIAutomationElement9; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElementArray_FWD_DEFINED__ +#define __IUIAutomationElementArray_FWD_DEFINED__ +typedef interface IUIAutomationElementArray IUIAutomationElementArray; +#ifdef __cplusplus +interface IUIAutomationElementArray; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationProxyFactory_FWD_DEFINED__ +#define __IUIAutomationProxyFactory_FWD_DEFINED__ +typedef interface IUIAutomationProxyFactory IUIAutomationProxyFactory; +#ifdef __cplusplus +interface IUIAutomationProxyFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationProxyFactoryEntry_FWD_DEFINED__ +#define __IUIAutomationProxyFactoryEntry_FWD_DEFINED__ +typedef interface IUIAutomationProxyFactoryEntry IUIAutomationProxyFactoryEntry; +#ifdef __cplusplus +interface IUIAutomationProxyFactoryEntry; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationProxyFactoryMapping_FWD_DEFINED__ +#define __IUIAutomationProxyFactoryMapping_FWD_DEFINED__ +typedef interface IUIAutomationProxyFactoryMapping IUIAutomationProxyFactoryMapping; +#ifdef __cplusplus +interface IUIAutomationProxyFactoryMapping; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationEventHandlerGroup_FWD_DEFINED__ +#define __IUIAutomationEventHandlerGroup_FWD_DEFINED__ +typedef interface IUIAutomationEventHandlerGroup IUIAutomationEventHandlerGroup; +#ifdef __cplusplus +interface IUIAutomationEventHandlerGroup; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation_FWD_DEFINED__ +#define __IUIAutomation_FWD_DEFINED__ +typedef interface IUIAutomation IUIAutomation; +#ifdef __cplusplus +interface IUIAutomation; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation2_FWD_DEFINED__ +#define __IUIAutomation2_FWD_DEFINED__ +typedef interface IUIAutomation2 IUIAutomation2; +#ifdef __cplusplus +interface IUIAutomation2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation3_FWD_DEFINED__ +#define __IUIAutomation3_FWD_DEFINED__ +typedef interface IUIAutomation3 IUIAutomation3; +#ifdef __cplusplus +interface IUIAutomation3; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation4_FWD_DEFINED__ +#define __IUIAutomation4_FWD_DEFINED__ +typedef interface IUIAutomation4 IUIAutomation4; +#ifdef __cplusplus +interface IUIAutomation4; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation5_FWD_DEFINED__ +#define __IUIAutomation5_FWD_DEFINED__ +typedef interface IUIAutomation5 IUIAutomation5; +#ifdef __cplusplus +interface IUIAutomation5; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomation6_FWD_DEFINED__ +#define __IUIAutomation6_FWD_DEFINED__ +typedef interface IUIAutomation6 IUIAutomation6; +#ifdef __cplusplus +interface IUIAutomation6; +#endif /* __cplusplus */ +#endif + +#ifndef __CUIAutomation_FWD_DEFINED__ +#define __CUIAutomation_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CUIAutomation CUIAutomation; +#else +typedef struct CUIAutomation CUIAutomation; +#endif /* defined __cplusplus */ +#endif /* defined __CUIAutomation_FWD_DEFINED__ */ + +#ifndef __CUIAutomation8_FWD_DEFINED__ +#define __CUIAutomation8_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CUIAutomation8 CUIAutomation8; +#else +typedef struct CUIAutomation8 CUIAutomation8; +#endif /* defined __cplusplus */ +#endif /* defined __CUIAutomation8_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _INC_UIAUTOMATIONCOREAPI +enum TreeScope { + TreeScope_Element = 0x1, + TreeScope_Children = 0x2, + TreeScope_Descendants = 0x4, + TreeScope_Parent = 0x8, + TreeScope_Ancestors = 0x10, + TreeScope_Subtree = (TreeScope_Element | TreeScope_Children) | TreeScope_Descendants +}; +enum PropertyConditionFlags { + PropertyConditionFlags_None = 0x0, + PropertyConditionFlags_IgnoreCase = 0x1 +}; +enum AutomationElementMode { + AutomationElementMode_None = 0x0, + AutomationElementMode_Full = 0x1 +}; +enum TreeTraversalOptions { + TreeTraversalOptions_Default = 0x0, + TreeTraversalOptions_PostOrder = 0x1, + TreeTraversalOptions_LastToFirstOrder = 0x2 +}; +enum ConnectionRecoveryBehaviorOptions { + ConnectionRecoveryBehaviorOptions_Disabled = 0x0, + ConnectionRecoveryBehaviorOptions_Enabled = 0x1 +}; +enum CoalesceEventsOptions { + CoalesceEventsOptions_Disabled = 0x0, + CoalesceEventsOptions_Enabled = 0x1 +}; +#endif +struct ExtendedProperty { + BSTR PropertyName; + BSTR PropertyValue; +}; +typedef void *UIA_HWND; +#ifndef __UIAutomationClient_LIBRARY_DEFINED__ +#define __UIAutomationClient_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_UIAutomationClient, 0x944de083, 0x8fb8, 0x45cf, 0xbc,0xb7, 0xc4,0x77,0xac,0xb2,0xf8,0x97); + +#ifndef __UIA_PatternIds_MODULE_DEFINED__ +#define __UIA_PatternIds_MODULE_DEFINED__ +#define UIA_InvokePatternId (10000) + +#define UIA_SelectionPatternId (10001) + +#define UIA_ValuePatternId (10002) + +#define UIA_RangeValuePatternId (10003) + +#define UIA_ScrollPatternId (10004) + +#define UIA_ExpandCollapsePatternId (10005) + +#define UIA_GridPatternId (10006) + +#define UIA_GridItemPatternId (10007) + +#define UIA_MultipleViewPatternId (10008) + +#define UIA_WindowPatternId (10009) + +#define UIA_SelectionItemPatternId (10010) + +#define UIA_DockPatternId (10011) + +#define UIA_TablePatternId (10012) + +#define UIA_TableItemPatternId (10013) + +#define UIA_TextPatternId (10014) + +#define UIA_TogglePatternId (10015) + +#define UIA_TransformPatternId (10016) + +#define UIA_ScrollItemPatternId (10017) + +#define UIA_LegacyIAccessiblePatternId (10018) + +#define UIA_ItemContainerPatternId (10019) + +#define UIA_VirtualizedItemPatternId (10020) + +#define UIA_SynchronizedInputPatternId (10021) + +#define UIA_ObjectModelPatternId (10022) + +#define UIA_AnnotationPatternId (10023) + +#define UIA_TextPattern2Id (10024) + +#define UIA_StylesPatternId (10025) + +#define UIA_SpreadsheetPatternId (10026) + +#define UIA_SpreadsheetItemPatternId (10027) + +#define UIA_TransformPattern2Id (10028) + +#define UIA_TextChildPatternId (10029) + +#define UIA_DragPatternId (10030) + +#define UIA_DropTargetPatternId (10031) + +#define UIA_TextEditPatternId (10032) + +#define UIA_CustomNavigationPatternId (10033) + +#endif /* __UIA_PatternIds_MODULE_DEFINED__ */ +#ifndef __UIA_EventIds_MODULE_DEFINED__ +#define __UIA_EventIds_MODULE_DEFINED__ +#define UIA_ToolTipOpenedEventId (20000) + +#define UIA_ToolTipClosedEventId (20001) + +#define UIA_StructureChangedEventId (20002) + +#define UIA_MenuOpenedEventId (20003) + +#define UIA_AutomationPropertyChangedEventId (20004) + +#define UIA_AutomationFocusChangedEventId (20005) + +#define UIA_AsyncContentLoadedEventId (20006) + +#define UIA_MenuClosedEventId (20007) + +#define UIA_LayoutInvalidatedEventId (20008) + +#define UIA_Invoke_InvokedEventId (20009) + +#define UIA_SelectionItem_ElementAddedToSelectionEventId (20010) + +#define UIA_SelectionItem_ElementRemovedFromSelectionEventId (20011) + +#define UIA_SelectionItem_ElementSelectedEventId (20012) + +#define UIA_Selection_InvalidatedEventId (20013) + +#define UIA_Text_TextSelectionChangedEventId (20014) + +#define UIA_Text_TextChangedEventId (20015) + +#define UIA_Window_WindowOpenedEventId (20016) + +#define UIA_Window_WindowClosedEventId (20017) + +#define UIA_MenuModeStartEventId (20018) + +#define UIA_MenuModeEndEventId (20019) + +#define UIA_InputReachedTargetEventId (20020) + +#define UIA_InputReachedOtherElementEventId (20021) + +#define UIA_InputDiscardedEventId (20022) + +#define UIA_SystemAlertEventId (20023) + +#define UIA_LiveRegionChangedEventId (20024) + +#define UIA_HostedFragmentRootsInvalidatedEventId (20025) + +#define UIA_Drag_DragStartEventId (20026) + +#define UIA_Drag_DragCancelEventId (20027) + +#define UIA_Drag_DragCompleteEventId (20028) + +#define UIA_DropTarget_DragEnterEventId (20029) + +#define UIA_DropTarget_DragLeaveEventId (20030) + +#define UIA_DropTarget_DroppedEventId (20031) + +#define UIA_TextEdit_TextChangedEventId (20032) + +#define UIA_TextEdit_ConversionTargetChangedEventId (20033) + +#define UIA_ChangesEventId (20034) + +#define UIA_NotificationEventId (20035) + +#endif /* __UIA_EventIds_MODULE_DEFINED__ */ +#ifndef __UIA_PropertyIds_MODULE_DEFINED__ +#define __UIA_PropertyIds_MODULE_DEFINED__ +#define UIA_RuntimeIdPropertyId (30000) + +#define UIA_BoundingRectanglePropertyId (30001) + +#define UIA_ProcessIdPropertyId (30002) + +#define UIA_ControlTypePropertyId (30003) + +#define UIA_LocalizedControlTypePropertyId (30004) + +#define UIA_NamePropertyId (30005) + +#define UIA_AcceleratorKeyPropertyId (30006) + +#define UIA_AccessKeyPropertyId (30007) + +#define UIA_HasKeyboardFocusPropertyId (30008) + +#define UIA_IsKeyboardFocusablePropertyId (30009) + +#define UIA_IsEnabledPropertyId (30010) + +#define UIA_AutomationIdPropertyId (30011) + +#define UIA_ClassNamePropertyId (30012) + +#define UIA_HelpTextPropertyId (30013) + +#define UIA_ClickablePointPropertyId (30014) + +#define UIA_CulturePropertyId (30015) + +#define UIA_IsControlElementPropertyId (30016) + +#define UIA_IsContentElementPropertyId (30017) + +#define UIA_LabeledByPropertyId (30018) + +#define UIA_IsPasswordPropertyId (30019) + +#define UIA_NativeWindowHandlePropertyId (30020) + +#define UIA_ItemTypePropertyId (30021) + +#define UIA_IsOffscreenPropertyId (30022) + +#define UIA_OrientationPropertyId (30023) + +#define UIA_FrameworkIdPropertyId (30024) + +#define UIA_IsRequiredForFormPropertyId (30025) + +#define UIA_ItemStatusPropertyId (30026) + +#define UIA_IsDockPatternAvailablePropertyId (30027) + +#define UIA_IsExpandCollapsePatternAvailablePropertyId (30028) + +#define UIA_IsGridItemPatternAvailablePropertyId (30029) + +#define UIA_IsGridPatternAvailablePropertyId (30030) + +#define UIA_IsInvokePatternAvailablePropertyId (30031) + +#define UIA_IsMultipleViewPatternAvailablePropertyId (30032) + +#define UIA_IsRangeValuePatternAvailablePropertyId (30033) + +#define UIA_IsScrollPatternAvailablePropertyId (30034) + +#define UIA_IsScrollItemPatternAvailablePropertyId (30035) + +#define UIA_IsSelectionItemPatternAvailablePropertyId (30036) + +#define UIA_IsSelectionPatternAvailablePropertyId (30037) + +#define UIA_IsTablePatternAvailablePropertyId (30038) + +#define UIA_IsTableItemPatternAvailablePropertyId (30039) + +#define UIA_IsTextPatternAvailablePropertyId (30040) + +#define UIA_IsTogglePatternAvailablePropertyId (30041) + +#define UIA_IsTransformPatternAvailablePropertyId (30042) + +#define UIA_IsValuePatternAvailablePropertyId (30043) + +#define UIA_IsWindowPatternAvailablePropertyId (30044) + +#define UIA_ValueValuePropertyId (30045) + +#define UIA_ValueIsReadOnlyPropertyId (30046) + +#define UIA_RangeValueValuePropertyId (30047) + +#define UIA_RangeValueIsReadOnlyPropertyId (30048) + +#define UIA_RangeValueMinimumPropertyId (30049) + +#define UIA_RangeValueMaximumPropertyId (30050) + +#define UIA_RangeValueLargeChangePropertyId (30051) + +#define UIA_RangeValueSmallChangePropertyId (30052) + +#define UIA_ScrollHorizontalScrollPercentPropertyId (30053) + +#define UIA_ScrollHorizontalViewSizePropertyId (30054) + +#define UIA_ScrollVerticalScrollPercentPropertyId (30055) + +#define UIA_ScrollVerticalViewSizePropertyId (30056) + +#define UIA_ScrollHorizontallyScrollablePropertyId (30057) + +#define UIA_ScrollVerticallyScrollablePropertyId (30058) + +#define UIA_SelectionSelectionPropertyId (30059) + +#define UIA_SelectionCanSelectMultiplePropertyId (30060) + +#define UIA_SelectionIsSelectionRequiredPropertyId (30061) + +#define UIA_GridRowCountPropertyId (30062) + +#define UIA_GridColumnCountPropertyId (30063) + +#define UIA_GridItemRowPropertyId (30064) + +#define UIA_GridItemColumnPropertyId (30065) + +#define UIA_GridItemRowSpanPropertyId (30066) + +#define UIA_GridItemColumnSpanPropertyId (30067) + +#define UIA_GridItemContainingGridPropertyId (30068) + +#define UIA_DockDockPositionPropertyId (30069) + +#define UIA_ExpandCollapseExpandCollapseStatePropertyId (30070) + +#define UIA_MultipleViewCurrentViewPropertyId (30071) + +#define UIA_MultipleViewSupportedViewsPropertyId (30072) + +#define UIA_WindowCanMaximizePropertyId (30073) + +#define UIA_WindowCanMinimizePropertyId (30074) + +#define UIA_WindowWindowVisualStatePropertyId (30075) + +#define UIA_WindowWindowInteractionStatePropertyId (30076) + +#define UIA_WindowIsModalPropertyId (30077) + +#define UIA_WindowIsTopmostPropertyId (30078) + +#define UIA_SelectionItemIsSelectedPropertyId (30079) + +#define UIA_SelectionItemSelectionContainerPropertyId (30080) + +#define UIA_TableRowHeadersPropertyId (30081) + +#define UIA_TableColumnHeadersPropertyId (30082) + +#define UIA_TableRowOrColumnMajorPropertyId (30083) + +#define UIA_TableItemRowHeaderItemsPropertyId (30084) + +#define UIA_TableItemColumnHeaderItemsPropertyId (30085) + +#define UIA_ToggleToggleStatePropertyId (30086) + +#define UIA_TransformCanMovePropertyId (30087) + +#define UIA_TransformCanResizePropertyId (30088) + +#define UIA_TransformCanRotatePropertyId (30089) + +#define UIA_IsLegacyIAccessiblePatternAvailablePropertyId (30090) + +#define UIA_LegacyIAccessibleChildIdPropertyId (30091) + +#define UIA_LegacyIAccessibleNamePropertyId (30092) + +#define UIA_LegacyIAccessibleValuePropertyId (30093) + +#define UIA_LegacyIAccessibleDescriptionPropertyId (30094) + +#define UIA_LegacyIAccessibleRolePropertyId (30095) + +#define UIA_LegacyIAccessibleStatePropertyId (30096) + +#define UIA_LegacyIAccessibleHelpPropertyId (30097) + +#define UIA_LegacyIAccessibleKeyboardShortcutPropertyId (30098) + +#define UIA_LegacyIAccessibleSelectionPropertyId (30099) + +#define UIA_LegacyIAccessibleDefaultActionPropertyId (30100) + +#define UIA_AriaRolePropertyId (30101) + +#define UIA_AriaPropertiesPropertyId (30102) + +#define UIA_IsDataValidForFormPropertyId (30103) + +#define UIA_ControllerForPropertyId (30104) + +#define UIA_DescribedByPropertyId (30105) + +#define UIA_FlowsToPropertyId (30106) + +#define UIA_ProviderDescriptionPropertyId (30107) + +#define UIA_IsItemContainerPatternAvailablePropertyId (30108) + +#define UIA_IsVirtualizedItemPatternAvailablePropertyId (30109) + +#define UIA_IsSynchronizedInputPatternAvailablePropertyId (30110) + +#define UIA_OptimizeForVisualContentPropertyId (30111) + +#define UIA_IsObjectModelPatternAvailablePropertyId (30112) + +#define UIA_AnnotationAnnotationTypeIdPropertyId (30113) + +#define UIA_AnnotationAnnotationTypeNamePropertyId (30114) + +#define UIA_AnnotationAuthorPropertyId (30115) + +#define UIA_AnnotationDateTimePropertyId (30116) + +#define UIA_AnnotationTargetPropertyId (30117) + +#define UIA_IsAnnotationPatternAvailablePropertyId (30118) + +#define UIA_IsTextPattern2AvailablePropertyId (30119) + +#define UIA_StylesStyleIdPropertyId (30120) + +#define UIA_StylesStyleNamePropertyId (30121) + +#define UIA_StylesFillColorPropertyId (30122) + +#define UIA_StylesFillPatternStylePropertyId (30123) + +#define UIA_StylesShapePropertyId (30124) + +#define UIA_StylesFillPatternColorPropertyId (30125) + +#define UIA_StylesExtendedPropertiesPropertyId (30126) + +#define UIA_IsStylesPatternAvailablePropertyId (30127) + +#define UIA_IsSpreadsheetPatternAvailablePropertyId (30128) + +#define UIA_SpreadsheetItemFormulaPropertyId (30129) + +#define UIA_SpreadsheetItemAnnotationObjectsPropertyId (30130) + +#define UIA_SpreadsheetItemAnnotationTypesPropertyId (30131) + +#define UIA_IsSpreadsheetItemPatternAvailablePropertyId (30132) + +#define UIA_Transform2CanZoomPropertyId (30133) + +#define UIA_IsTransformPattern2AvailablePropertyId (30134) + +#define UIA_LiveSettingPropertyId (30135) + +#define UIA_IsTextChildPatternAvailablePropertyId (30136) + +#define UIA_IsDragPatternAvailablePropertyId (30137) + +#define UIA_DragIsGrabbedPropertyId (30138) + +#define UIA_DragDropEffectPropertyId (30139) + +#define UIA_DragDropEffectsPropertyId (30140) + +#define UIA_IsDropTargetPatternAvailablePropertyId (30141) + +#define UIA_DropTargetDropTargetEffectPropertyId (30142) + +#define UIA_DropTargetDropTargetEffectsPropertyId (30143) + +#define UIA_DragGrabbedItemsPropertyId (30144) + +#define UIA_Transform2ZoomLevelPropertyId (30145) + +#define UIA_Transform2ZoomMinimumPropertyId (30146) + +#define UIA_Transform2ZoomMaximumPropertyId (30147) + +#define UIA_FlowsFromPropertyId (30148) + +#define UIA_IsTextEditPatternAvailablePropertyId (30149) + +#define UIA_IsPeripheralPropertyId (30150) + +#define UIA_IsCustomNavigationPatternAvailablePropertyId (30151) + +#define UIA_PositionInSetPropertyId (30152) + +#define UIA_SizeOfSetPropertyId (30153) + +#define UIA_LevelPropertyId (30154) + +#define UIA_AnnotationTypesPropertyId (30155) + +#define UIA_AnnotationObjectsPropertyId (30156) + +#define UIA_LandmarkTypePropertyId (30157) + +#define UIA_LocalizedLandmarkTypePropertyId (30158) + +#define UIA_FullDescriptionPropertyId (30159) + +#define UIA_FillColorPropertyId (30160) + +#define UIA_OutlineColorPropertyId (30161) + +#define UIA_FillTypePropertyId (30162) + +#define UIA_VisualEffectsPropertyId (30163) + +#define UIA_OutlineThicknessPropertyId (30164) + +#define UIA_CenterPointPropertyId (30165) + +#define UIA_RotationPropertyId (30166) + +#define UIA_SizePropertyId (30167) + +#define UIA_IsSelectionPattern2AvailablePropertyId (30168) + +#define UIA_Selection2FirstSelectedItemPropertyId (30169) + +#define UIA_Selection2LastSelectedItemPropertyId (30170) + +#define UIA_Selection2CurrentSelectedItemPropertyId (30171) + +#define UIA_Selection2ItemCountPropertyId (30172) + +#define UIA_HeadingLevelPropertyId (30173) + +#define UIA_IsDialogPropertyId (30174) + +#endif /* __UIA_PropertyIds_MODULE_DEFINED__ */ +#ifndef __UIA_TextAttributeIds_MODULE_DEFINED__ +#define __UIA_TextAttributeIds_MODULE_DEFINED__ +#define UIA_AnimationStyleAttributeId (40000) + +#define UIA_BackgroundColorAttributeId (40001) + +#define UIA_BulletStyleAttributeId (40002) + +#define UIA_CapStyleAttributeId (40003) + +#define UIA_CultureAttributeId (40004) + +#define UIA_FontNameAttributeId (40005) + +#define UIA_FontSizeAttributeId (40006) + +#define UIA_FontWeightAttributeId (40007) + +#define UIA_ForegroundColorAttributeId (40008) + +#define UIA_HorizontalTextAlignmentAttributeId (40009) + +#define UIA_IndentationFirstLineAttributeId (40010) + +#define UIA_IndentationLeadingAttributeId (40011) + +#define UIA_IndentationTrailingAttributeId (40012) + +#define UIA_IsHiddenAttributeId (40013) + +#define UIA_IsItalicAttributeId (40014) + +#define UIA_IsReadOnlyAttributeId (40015) + +#define UIA_IsSubscriptAttributeId (40016) + +#define UIA_IsSuperscriptAttributeId (40017) + +#define UIA_MarginBottomAttributeId (40018) + +#define UIA_MarginLeadingAttributeId (40019) + +#define UIA_MarginTopAttributeId (40020) + +#define UIA_MarginTrailingAttributeId (40021) + +#define UIA_OutlineStylesAttributeId (40022) + +#define UIA_OverlineColorAttributeId (40023) + +#define UIA_OverlineStyleAttributeId (40024) + +#define UIA_StrikethroughColorAttributeId (40025) + +#define UIA_StrikethroughStyleAttributeId (40026) + +#define UIA_TabsAttributeId (40027) + +#define UIA_TextFlowDirectionsAttributeId (40028) + +#define UIA_UnderlineColorAttributeId (40029) + +#define UIA_UnderlineStyleAttributeId (40030) + +#define UIA_AnnotationTypesAttributeId (40031) + +#define UIA_AnnotationObjectsAttributeId (40032) + +#define UIA_StyleNameAttributeId (40033) + +#define UIA_StyleIdAttributeId (40034) + +#define UIA_LinkAttributeId (40035) + +#define UIA_IsActiveAttributeId (40036) + +#define UIA_SelectionActiveEndAttributeId (40037) + +#define UIA_CaretPositionAttributeId (40038) + +#define UIA_CaretBidiModeAttributeId (40039) + +#define UIA_LineSpacingAttributeId (40040) + +#define UIA_BeforeParagraphSpacingAttributeId (40041) + +#define UIA_AfterParagraphSpacingAttributeId (40042) + +#define UIA_SayAsInterpretAsAttributeId (40043) + +#endif /* __UIA_TextAttributeIds_MODULE_DEFINED__ */ +#ifndef __UIA_ControlTypeIds_MODULE_DEFINED__ +#define __UIA_ControlTypeIds_MODULE_DEFINED__ +#define UIA_ButtonControlTypeId (50000) + +#define UIA_CalendarControlTypeId (50001) + +#define UIA_CheckBoxControlTypeId (50002) + +#define UIA_ComboBoxControlTypeId (50003) + +#define UIA_EditControlTypeId (50004) + +#define UIA_HyperlinkControlTypeId (50005) + +#define UIA_ImageControlTypeId (50006) + +#define UIA_ListItemControlTypeId (50007) + +#define UIA_ListControlTypeId (50008) + +#define UIA_MenuControlTypeId (50009) + +#define UIA_MenuBarControlTypeId (50010) + +#define UIA_MenuItemControlTypeId (50011) + +#define UIA_ProgressBarControlTypeId (50012) + +#define UIA_RadioButtonControlTypeId (50013) + +#define UIA_ScrollBarControlTypeId (50014) + +#define UIA_SliderControlTypeId (50015) + +#define UIA_SpinnerControlTypeId (50016) + +#define UIA_StatusBarControlTypeId (50017) + +#define UIA_TabControlTypeId (50018) + +#define UIA_TabItemControlTypeId (50019) + +#define UIA_TextControlTypeId (50020) + +#define UIA_ToolBarControlTypeId (50021) + +#define UIA_ToolTipControlTypeId (50022) + +#define UIA_TreeControlTypeId (50023) + +#define UIA_TreeItemControlTypeId (50024) + +#define UIA_CustomControlTypeId (50025) + +#define UIA_GroupControlTypeId (50026) + +#define UIA_ThumbControlTypeId (50027) + +#define UIA_DataGridControlTypeId (50028) + +#define UIA_DataItemControlTypeId (50029) + +#define UIA_DocumentControlTypeId (50030) + +#define UIA_SplitButtonControlTypeId (50031) + +#define UIA_WindowControlTypeId (50032) + +#define UIA_PaneControlTypeId (50033) + +#define UIA_HeaderControlTypeId (50034) + +#define UIA_HeaderItemControlTypeId (50035) + +#define UIA_TableControlTypeId (50036) + +#define UIA_TitleBarControlTypeId (50037) + +#define UIA_SeparatorControlTypeId (50038) + +#define UIA_SemanticZoomControlTypeId (50039) + +#define UIA_AppBarControlTypeId (50040) + +#endif /* __UIA_ControlTypeIds_MODULE_DEFINED__ */ +#ifndef __UIA_AnnotationTypes_MODULE_DEFINED__ +#define __UIA_AnnotationTypes_MODULE_DEFINED__ +#define AnnotationType_Unknown (60000) + +#define AnnotationType_SpellingError (60001) + +#define AnnotationType_GrammarError (60002) + +#define AnnotationType_Comment (60003) + +#define AnnotationType_FormulaError (60004) + +#define AnnotationType_TrackChanges (60005) + +#define AnnotationType_Header (60006) + +#define AnnotationType_Footer (60007) + +#define AnnotationType_Highlighted (60008) + +#define AnnotationType_Endnote (60009) + +#define AnnotationType_Footnote (60010) + +#define AnnotationType_InsertionChange (60011) + +#define AnnotationType_DeletionChange (60012) + +#define AnnotationType_MoveChange (60013) + +#define AnnotationType_FormatChange (60014) + +#define AnnotationType_UnsyncedChange (60015) + +#define AnnotationType_EditingLockedChange (60016) + +#define AnnotationType_ExternalChange (60017) + +#define AnnotationType_ConflictingChange (60018) + +#define AnnotationType_Author (60019) + +#define AnnotationType_AdvancedProofingIssue (60020) + +#define AnnotationType_DataValidationError (60021) + +#define AnnotationType_CircularReferenceError (60022) + +#define AnnotationType_Mathematics (60023) + +#define AnnotationType_Sensitive (60024) + +#endif /* __UIA_AnnotationTypes_MODULE_DEFINED__ */ +#ifndef __UIA_StyleIds_MODULE_DEFINED__ +#define __UIA_StyleIds_MODULE_DEFINED__ +#define StyleId_Custom (70000) + +#define StyleId_Heading1 (70001) + +#define StyleId_Heading2 (70002) + +#define StyleId_Heading3 (70003) + +#define StyleId_Heading4 (70004) + +#define StyleId_Heading5 (70005) + +#define StyleId_Heading6 (70006) + +#define StyleId_Heading7 (70007) + +#define StyleId_Heading8 (70008) + +#define StyleId_Heading9 (70009) + +#define StyleId_Title (70010) + +#define StyleId_Subtitle (70011) + +#define StyleId_Normal (70012) + +#define StyleId_Emphasis (70013) + +#define StyleId_Quote (70014) + +#define StyleId_BulletedList (70015) + +#define StyleId_NumberedList (70016) + +#endif /* __UIA_StyleIds_MODULE_DEFINED__ */ +#ifndef __UIA_LandmarkTypeIds_MODULE_DEFINED__ +#define __UIA_LandmarkTypeIds_MODULE_DEFINED__ +#define UIA_CustomLandmarkTypeId (80000) + +#define UIA_FormLandmarkTypeId (80001) + +#define UIA_MainLandmarkTypeId (80002) + +#define UIA_NavigationLandmarkTypeId (80003) + +#define UIA_SearchLandmarkTypeId (80004) + +#endif /* __UIA_LandmarkTypeIds_MODULE_DEFINED__ */ +#ifndef __IUIAutomationElement_FWD_DEFINED__ +#define __IUIAutomationElement_FWD_DEFINED__ +typedef interface IUIAutomationElement IUIAutomationElement; +#ifdef __cplusplus +interface IUIAutomationElement; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationElementArray_FWD_DEFINED__ +#define __IUIAutomationElementArray_FWD_DEFINED__ +typedef interface IUIAutomationElementArray IUIAutomationElementArray; +#ifdef __cplusplus +interface IUIAutomationElementArray; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IUIAutomationCondition interface + */ +#ifndef __IUIAutomationCondition_INTERFACE_DEFINED__ +#define __IUIAutomationCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationCondition, 0x352ffba8, 0x0973, 0x437c, 0xa6,0x1f, 0xf6,0x4c,0xaf,0xd8,0x1d,0xf9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("352ffba8-0973-437c-a61f-f64cafd81df9") +IUIAutomationCondition : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationCondition, 0x352ffba8, 0x0973, 0x437c, 0xa6,0x1f, 0xf6,0x4c,0xaf,0xd8,0x1d,0xf9) +#endif +#else +typedef struct IUIAutomationConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationCondition *This); + + END_INTERFACE +} IUIAutomationConditionVtbl; + +interface IUIAutomationCondition { + CONST_VTBL IUIAutomationConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationCondition_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationCondition_QueryInterface(IUIAutomationCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationCondition_AddRef(IUIAutomationCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationCondition_Release(IUIAutomationCondition* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationBoolCondition interface + */ +#ifndef __IUIAutomationBoolCondition_INTERFACE_DEFINED__ +#define __IUIAutomationBoolCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationBoolCondition, 0x1b4e1f2e, 0x75eb, 0x4d0b, 0x89,0x52, 0x5a,0x69,0x98,0x8e,0x23,0x07); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1b4e1f2e-75eb-4d0b-8952-5a69988e2307") +IUIAutomationBoolCondition : public IUIAutomationCondition +{ + virtual HRESULT STDMETHODCALLTYPE get_BooleanValue( + WINBOOL *boolVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationBoolCondition, 0x1b4e1f2e, 0x75eb, 0x4d0b, 0x89,0x52, 0x5a,0x69,0x98,0x8e,0x23,0x07) +#endif +#else +typedef struct IUIAutomationBoolConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationBoolCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationBoolCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationBoolCondition *This); + + /*** IUIAutomationBoolCondition methods ***/ + HRESULT (STDMETHODCALLTYPE *get_BooleanValue)( + IUIAutomationBoolCondition *This, + WINBOOL *boolVal); + + END_INTERFACE +} IUIAutomationBoolConditionVtbl; + +interface IUIAutomationBoolCondition { + CONST_VTBL IUIAutomationBoolConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationBoolCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationBoolCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationBoolCondition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationBoolCondition methods ***/ +#define IUIAutomationBoolCondition_get_BooleanValue(This,boolVal) (This)->lpVtbl->get_BooleanValue(This,boolVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationBoolCondition_QueryInterface(IUIAutomationBoolCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationBoolCondition_AddRef(IUIAutomationBoolCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationBoolCondition_Release(IUIAutomationBoolCondition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationBoolCondition methods ***/ +static inline HRESULT IUIAutomationBoolCondition_get_BooleanValue(IUIAutomationBoolCondition* This,WINBOOL *boolVal) { + return This->lpVtbl->get_BooleanValue(This,boolVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationBoolCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationPropertyCondition interface + */ +#ifndef __IUIAutomationPropertyCondition_INTERFACE_DEFINED__ +#define __IUIAutomationPropertyCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationPropertyCondition, 0x99ebf2cb, 0x5578, 0x4267, 0x9a,0xd4, 0xaf,0xd6,0xea,0x77,0xe9,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("99ebf2cb-5578-4267-9ad4-afd6ea77e94b") +IUIAutomationPropertyCondition : public IUIAutomationCondition +{ + virtual HRESULT STDMETHODCALLTYPE get_PropertyId( + PROPERTYID *propertyId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PropertyValue( + VARIANT *propertyValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PropertyConditionFlags( + enum PropertyConditionFlags *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationPropertyCondition, 0x99ebf2cb, 0x5578, 0x4267, 0x9a,0xd4, 0xaf,0xd6,0xea,0x77,0xe9,0x4b) +#endif +#else +typedef struct IUIAutomationPropertyConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationPropertyCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationPropertyCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationPropertyCondition *This); + + /*** IUIAutomationPropertyCondition methods ***/ + HRESULT (STDMETHODCALLTYPE *get_PropertyId)( + IUIAutomationPropertyCondition *This, + PROPERTYID *propertyId); + + HRESULT (STDMETHODCALLTYPE *get_PropertyValue)( + IUIAutomationPropertyCondition *This, + VARIANT *propertyValue); + + HRESULT (STDMETHODCALLTYPE *get_PropertyConditionFlags)( + IUIAutomationPropertyCondition *This, + enum PropertyConditionFlags *flags); + + END_INTERFACE +} IUIAutomationPropertyConditionVtbl; + +interface IUIAutomationPropertyCondition { + CONST_VTBL IUIAutomationPropertyConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationPropertyCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationPropertyCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationPropertyCondition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationPropertyCondition methods ***/ +#define IUIAutomationPropertyCondition_get_PropertyId(This,propertyId) (This)->lpVtbl->get_PropertyId(This,propertyId) +#define IUIAutomationPropertyCondition_get_PropertyValue(This,propertyValue) (This)->lpVtbl->get_PropertyValue(This,propertyValue) +#define IUIAutomationPropertyCondition_get_PropertyConditionFlags(This,flags) (This)->lpVtbl->get_PropertyConditionFlags(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationPropertyCondition_QueryInterface(IUIAutomationPropertyCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationPropertyCondition_AddRef(IUIAutomationPropertyCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationPropertyCondition_Release(IUIAutomationPropertyCondition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationPropertyCondition methods ***/ +static inline HRESULT IUIAutomationPropertyCondition_get_PropertyId(IUIAutomationPropertyCondition* This,PROPERTYID *propertyId) { + return This->lpVtbl->get_PropertyId(This,propertyId); +} +static inline HRESULT IUIAutomationPropertyCondition_get_PropertyValue(IUIAutomationPropertyCondition* This,VARIANT *propertyValue) { + return This->lpVtbl->get_PropertyValue(This,propertyValue); +} +static inline HRESULT IUIAutomationPropertyCondition_get_PropertyConditionFlags(IUIAutomationPropertyCondition* This,enum PropertyConditionFlags *flags) { + return This->lpVtbl->get_PropertyConditionFlags(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationPropertyCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationAndCondition interface + */ +#ifndef __IUIAutomationAndCondition_INTERFACE_DEFINED__ +#define __IUIAutomationAndCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationAndCondition, 0xa7d0af36, 0xb912, 0x45fe, 0x98,0x55, 0x09,0x1d,0xdc,0x17,0x4a,0xec); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a7d0af36-b912-45fe-9855-091ddc174aec") +IUIAutomationAndCondition : public IUIAutomationCondition +{ + virtual HRESULT STDMETHODCALLTYPE get_ChildCount( + int *childCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildrenAsNativeArray( + IUIAutomationCondition ***childArray, + int *childArrayCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildren( + SAFEARRAY **childArray) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationAndCondition, 0xa7d0af36, 0xb912, 0x45fe, 0x98,0x55, 0x09,0x1d,0xdc,0x17,0x4a,0xec) +#endif +#else +typedef struct IUIAutomationAndConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationAndCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationAndCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationAndCondition *This); + + /*** IUIAutomationAndCondition methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ChildCount)( + IUIAutomationAndCondition *This, + int *childCount); + + HRESULT (STDMETHODCALLTYPE *GetChildrenAsNativeArray)( + IUIAutomationAndCondition *This, + IUIAutomationCondition ***childArray, + int *childArrayCount); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + IUIAutomationAndCondition *This, + SAFEARRAY **childArray); + + END_INTERFACE +} IUIAutomationAndConditionVtbl; + +interface IUIAutomationAndCondition { + CONST_VTBL IUIAutomationAndConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationAndCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationAndCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationAndCondition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationAndCondition methods ***/ +#define IUIAutomationAndCondition_get_ChildCount(This,childCount) (This)->lpVtbl->get_ChildCount(This,childCount) +#define IUIAutomationAndCondition_GetChildrenAsNativeArray(This,childArray,childArrayCount) (This)->lpVtbl->GetChildrenAsNativeArray(This,childArray,childArrayCount) +#define IUIAutomationAndCondition_GetChildren(This,childArray) (This)->lpVtbl->GetChildren(This,childArray) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationAndCondition_QueryInterface(IUIAutomationAndCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationAndCondition_AddRef(IUIAutomationAndCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationAndCondition_Release(IUIAutomationAndCondition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationAndCondition methods ***/ +static inline HRESULT IUIAutomationAndCondition_get_ChildCount(IUIAutomationAndCondition* This,int *childCount) { + return This->lpVtbl->get_ChildCount(This,childCount); +} +static inline HRESULT IUIAutomationAndCondition_GetChildrenAsNativeArray(IUIAutomationAndCondition* This,IUIAutomationCondition ***childArray,int *childArrayCount) { + return This->lpVtbl->GetChildrenAsNativeArray(This,childArray,childArrayCount); +} +static inline HRESULT IUIAutomationAndCondition_GetChildren(IUIAutomationAndCondition* This,SAFEARRAY **childArray) { + return This->lpVtbl->GetChildren(This,childArray); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationAndCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationOrCondition interface + */ +#ifndef __IUIAutomationOrCondition_INTERFACE_DEFINED__ +#define __IUIAutomationOrCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationOrCondition, 0x8753f032, 0x3db1, 0x47b5, 0xa1,0xfc, 0x6e,0x34,0xa2,0x66,0xc7,0x12); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8753f032-3db1-47b5-a1fc-6e34a266c712") +IUIAutomationOrCondition : public IUIAutomationCondition +{ + virtual HRESULT STDMETHODCALLTYPE get_ChildCount( + int *childCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildrenAsNativeArray( + IUIAutomationCondition ***childArray, + int *childArrayCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildren( + SAFEARRAY **childArray) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationOrCondition, 0x8753f032, 0x3db1, 0x47b5, 0xa1,0xfc, 0x6e,0x34,0xa2,0x66,0xc7,0x12) +#endif +#else +typedef struct IUIAutomationOrConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationOrCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationOrCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationOrCondition *This); + + /*** IUIAutomationOrCondition methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ChildCount)( + IUIAutomationOrCondition *This, + int *childCount); + + HRESULT (STDMETHODCALLTYPE *GetChildrenAsNativeArray)( + IUIAutomationOrCondition *This, + IUIAutomationCondition ***childArray, + int *childArrayCount); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + IUIAutomationOrCondition *This, + SAFEARRAY **childArray); + + END_INTERFACE +} IUIAutomationOrConditionVtbl; + +interface IUIAutomationOrCondition { + CONST_VTBL IUIAutomationOrConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationOrCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationOrCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationOrCondition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationOrCondition methods ***/ +#define IUIAutomationOrCondition_get_ChildCount(This,childCount) (This)->lpVtbl->get_ChildCount(This,childCount) +#define IUIAutomationOrCondition_GetChildrenAsNativeArray(This,childArray,childArrayCount) (This)->lpVtbl->GetChildrenAsNativeArray(This,childArray,childArrayCount) +#define IUIAutomationOrCondition_GetChildren(This,childArray) (This)->lpVtbl->GetChildren(This,childArray) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationOrCondition_QueryInterface(IUIAutomationOrCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationOrCondition_AddRef(IUIAutomationOrCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationOrCondition_Release(IUIAutomationOrCondition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationOrCondition methods ***/ +static inline HRESULT IUIAutomationOrCondition_get_ChildCount(IUIAutomationOrCondition* This,int *childCount) { + return This->lpVtbl->get_ChildCount(This,childCount); +} +static inline HRESULT IUIAutomationOrCondition_GetChildrenAsNativeArray(IUIAutomationOrCondition* This,IUIAutomationCondition ***childArray,int *childArrayCount) { + return This->lpVtbl->GetChildrenAsNativeArray(This,childArray,childArrayCount); +} +static inline HRESULT IUIAutomationOrCondition_GetChildren(IUIAutomationOrCondition* This,SAFEARRAY **childArray) { + return This->lpVtbl->GetChildren(This,childArray); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationOrCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationNotCondition interface + */ +#ifndef __IUIAutomationNotCondition_INTERFACE_DEFINED__ +#define __IUIAutomationNotCondition_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationNotCondition, 0xf528b657, 0x847b, 0x498c, 0x88,0x96, 0xd5,0x2b,0x56,0x54,0x07,0xa1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f528b657-847b-498c-8896-d52b565407a1") +IUIAutomationNotCondition : public IUIAutomationCondition +{ + virtual HRESULT STDMETHODCALLTYPE GetChild( + IUIAutomationCondition **condition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationNotCondition, 0xf528b657, 0x847b, 0x498c, 0x88,0x96, 0xd5,0x2b,0x56,0x54,0x07,0xa1) +#endif +#else +typedef struct IUIAutomationNotConditionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationNotCondition *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationNotCondition *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationNotCondition *This); + + /*** IUIAutomationNotCondition methods ***/ + HRESULT (STDMETHODCALLTYPE *GetChild)( + IUIAutomationNotCondition *This, + IUIAutomationCondition **condition); + + END_INTERFACE +} IUIAutomationNotConditionVtbl; + +interface IUIAutomationNotCondition { + CONST_VTBL IUIAutomationNotConditionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationNotCondition_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationNotCondition_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationNotCondition_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationNotCondition methods ***/ +#define IUIAutomationNotCondition_GetChild(This,condition) (This)->lpVtbl->GetChild(This,condition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationNotCondition_QueryInterface(IUIAutomationNotCondition* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationNotCondition_AddRef(IUIAutomationNotCondition* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationNotCondition_Release(IUIAutomationNotCondition* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationNotCondition methods ***/ +static inline HRESULT IUIAutomationNotCondition_GetChild(IUIAutomationNotCondition* This,IUIAutomationCondition **condition) { + return This->lpVtbl->GetChild(This,condition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationNotCondition_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationCacheRequest interface + */ +#ifndef __IUIAutomationCacheRequest_INTERFACE_DEFINED__ +#define __IUIAutomationCacheRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationCacheRequest, 0xb32a92b5, 0xbc25, 0x4078, 0x9c,0x08, 0xd7,0xee,0x95,0xc4,0x8e,0x03); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b32a92b5-bc25-4078-9c08-d7ee95c48e03") +IUIAutomationCacheRequest : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddProperty( + PROPERTYID propertyId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPattern( + PATTERNID patternId) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IUIAutomationCacheRequest **clonedRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TreeScope( + enum TreeScope *scope) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TreeScope( + enum TreeScope scope) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TreeFilter( + IUIAutomationCondition **filter) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TreeFilter( + IUIAutomationCondition *filter) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AutomationElementMode( + enum AutomationElementMode *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AutomationElementMode( + enum AutomationElementMode mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationCacheRequest, 0xb32a92b5, 0xbc25, 0x4078, 0x9c,0x08, 0xd7,0xee,0x95,0xc4,0x8e,0x03) +#endif +#else +typedef struct IUIAutomationCacheRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationCacheRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationCacheRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationCacheRequest *This); + + /*** IUIAutomationCacheRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *AddProperty)( + IUIAutomationCacheRequest *This, + PROPERTYID propertyId); + + HRESULT (STDMETHODCALLTYPE *AddPattern)( + IUIAutomationCacheRequest *This, + PATTERNID patternId); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IUIAutomationCacheRequest *This, + IUIAutomationCacheRequest **clonedRequest); + + HRESULT (STDMETHODCALLTYPE *get_TreeScope)( + IUIAutomationCacheRequest *This, + enum TreeScope *scope); + + HRESULT (STDMETHODCALLTYPE *put_TreeScope)( + IUIAutomationCacheRequest *This, + enum TreeScope scope); + + HRESULT (STDMETHODCALLTYPE *get_TreeFilter)( + IUIAutomationCacheRequest *This, + IUIAutomationCondition **filter); + + HRESULT (STDMETHODCALLTYPE *put_TreeFilter)( + IUIAutomationCacheRequest *This, + IUIAutomationCondition *filter); + + HRESULT (STDMETHODCALLTYPE *get_AutomationElementMode)( + IUIAutomationCacheRequest *This, + enum AutomationElementMode *mode); + + HRESULT (STDMETHODCALLTYPE *put_AutomationElementMode)( + IUIAutomationCacheRequest *This, + enum AutomationElementMode mode); + + END_INTERFACE +} IUIAutomationCacheRequestVtbl; + +interface IUIAutomationCacheRequest { + CONST_VTBL IUIAutomationCacheRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationCacheRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationCacheRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationCacheRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationCacheRequest methods ***/ +#define IUIAutomationCacheRequest_AddProperty(This,propertyId) (This)->lpVtbl->AddProperty(This,propertyId) +#define IUIAutomationCacheRequest_AddPattern(This,patternId) (This)->lpVtbl->AddPattern(This,patternId) +#define IUIAutomationCacheRequest_Clone(This,clonedRequest) (This)->lpVtbl->Clone(This,clonedRequest) +#define IUIAutomationCacheRequest_get_TreeScope(This,scope) (This)->lpVtbl->get_TreeScope(This,scope) +#define IUIAutomationCacheRequest_put_TreeScope(This,scope) (This)->lpVtbl->put_TreeScope(This,scope) +#define IUIAutomationCacheRequest_get_TreeFilter(This,filter) (This)->lpVtbl->get_TreeFilter(This,filter) +#define IUIAutomationCacheRequest_put_TreeFilter(This,filter) (This)->lpVtbl->put_TreeFilter(This,filter) +#define IUIAutomationCacheRequest_get_AutomationElementMode(This,mode) (This)->lpVtbl->get_AutomationElementMode(This,mode) +#define IUIAutomationCacheRequest_put_AutomationElementMode(This,mode) (This)->lpVtbl->put_AutomationElementMode(This,mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationCacheRequest_QueryInterface(IUIAutomationCacheRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationCacheRequest_AddRef(IUIAutomationCacheRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationCacheRequest_Release(IUIAutomationCacheRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationCacheRequest methods ***/ +static inline HRESULT IUIAutomationCacheRequest_AddProperty(IUIAutomationCacheRequest* This,PROPERTYID propertyId) { + return This->lpVtbl->AddProperty(This,propertyId); +} +static inline HRESULT IUIAutomationCacheRequest_AddPattern(IUIAutomationCacheRequest* This,PATTERNID patternId) { + return This->lpVtbl->AddPattern(This,patternId); +} +static inline HRESULT IUIAutomationCacheRequest_Clone(IUIAutomationCacheRequest* This,IUIAutomationCacheRequest **clonedRequest) { + return This->lpVtbl->Clone(This,clonedRequest); +} +static inline HRESULT IUIAutomationCacheRequest_get_TreeScope(IUIAutomationCacheRequest* This,enum TreeScope *scope) { + return This->lpVtbl->get_TreeScope(This,scope); +} +static inline HRESULT IUIAutomationCacheRequest_put_TreeScope(IUIAutomationCacheRequest* This,enum TreeScope scope) { + return This->lpVtbl->put_TreeScope(This,scope); +} +static inline HRESULT IUIAutomationCacheRequest_get_TreeFilter(IUIAutomationCacheRequest* This,IUIAutomationCondition **filter) { + return This->lpVtbl->get_TreeFilter(This,filter); +} +static inline HRESULT IUIAutomationCacheRequest_put_TreeFilter(IUIAutomationCacheRequest* This,IUIAutomationCondition *filter) { + return This->lpVtbl->put_TreeFilter(This,filter); +} +static inline HRESULT IUIAutomationCacheRequest_get_AutomationElementMode(IUIAutomationCacheRequest* This,enum AutomationElementMode *mode) { + return This->lpVtbl->get_AutomationElementMode(This,mode); +} +static inline HRESULT IUIAutomationCacheRequest_put_AutomationElementMode(IUIAutomationCacheRequest* This,enum AutomationElementMode mode) { + return This->lpVtbl->put_AutomationElementMode(This,mode); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationCacheRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTreeWalker interface + */ +#ifndef __IUIAutomationTreeWalker_INTERFACE_DEFINED__ +#define __IUIAutomationTreeWalker_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4042c624-389c-4afc-a630-9df854a541fc") +IUIAutomationTreeWalker : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetParentElement( + IUIAutomationElement *element, + IUIAutomationElement **parent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFirstChildElement( + IUIAutomationElement *element, + IUIAutomationElement **first) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastChildElement( + IUIAutomationElement *element, + IUIAutomationElement **last) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElement( + IUIAutomationElement *element, + IUIAutomationElement **next) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElement( + IUIAutomationElement *element, + IUIAutomationElement **previous) = 0; + + virtual HRESULT STDMETHODCALLTYPE NormalizeElement( + IUIAutomationElement *element, + IUIAutomationElement **normalized) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetParentElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **parent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFirstChildElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **first) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastChildElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **last) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextSiblingElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **next) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousSiblingElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **previous) = 0; + + virtual HRESULT STDMETHODCALLTYPE NormalizeElementBuildCache( + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **normalized) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Condition( + IUIAutomationCondition **condition) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTreeWalker, 0x4042c624, 0x389c, 0x4afc, 0xa6,0x30, 0x9d,0xf8,0x54,0xa5,0x41,0xfc) +#endif +#else +typedef struct IUIAutomationTreeWalkerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTreeWalker *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTreeWalker *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTreeWalker *This); + + /*** IUIAutomationTreeWalker methods ***/ + HRESULT (STDMETHODCALLTYPE *GetParentElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetFirstChildElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **first); + + HRESULT (STDMETHODCALLTYPE *GetLastChildElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **last); + + HRESULT (STDMETHODCALLTYPE *GetNextSiblingElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **next); + + HRESULT (STDMETHODCALLTYPE *GetPreviousSiblingElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **previous); + + HRESULT (STDMETHODCALLTYPE *NormalizeElement)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationElement **normalized); + + HRESULT (STDMETHODCALLTYPE *GetParentElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetFirstChildElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **first); + + HRESULT (STDMETHODCALLTYPE *GetLastChildElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **last); + + HRESULT (STDMETHODCALLTYPE *GetNextSiblingElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **next); + + HRESULT (STDMETHODCALLTYPE *GetPreviousSiblingElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **previous); + + HRESULT (STDMETHODCALLTYPE *NormalizeElementBuildCache)( + IUIAutomationTreeWalker *This, + IUIAutomationElement *element, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **normalized); + + HRESULT (STDMETHODCALLTYPE *get_Condition)( + IUIAutomationTreeWalker *This, + IUIAutomationCondition **condition); + + END_INTERFACE +} IUIAutomationTreeWalkerVtbl; + +interface IUIAutomationTreeWalker { + CONST_VTBL IUIAutomationTreeWalkerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTreeWalker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTreeWalker_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTreeWalker_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTreeWalker methods ***/ +#define IUIAutomationTreeWalker_GetParentElement(This,element,parent) (This)->lpVtbl->GetParentElement(This,element,parent) +#define IUIAutomationTreeWalker_GetFirstChildElement(This,element,first) (This)->lpVtbl->GetFirstChildElement(This,element,first) +#define IUIAutomationTreeWalker_GetLastChildElement(This,element,last) (This)->lpVtbl->GetLastChildElement(This,element,last) +#define IUIAutomationTreeWalker_GetNextSiblingElement(This,element,next) (This)->lpVtbl->GetNextSiblingElement(This,element,next) +#define IUIAutomationTreeWalker_GetPreviousSiblingElement(This,element,previous) (This)->lpVtbl->GetPreviousSiblingElement(This,element,previous) +#define IUIAutomationTreeWalker_NormalizeElement(This,element,normalized) (This)->lpVtbl->NormalizeElement(This,element,normalized) +#define IUIAutomationTreeWalker_GetParentElementBuildCache(This,element,cacheRequest,parent) (This)->lpVtbl->GetParentElementBuildCache(This,element,cacheRequest,parent) +#define IUIAutomationTreeWalker_GetFirstChildElementBuildCache(This,element,cacheRequest,first) (This)->lpVtbl->GetFirstChildElementBuildCache(This,element,cacheRequest,first) +#define IUIAutomationTreeWalker_GetLastChildElementBuildCache(This,element,cacheRequest,last) (This)->lpVtbl->GetLastChildElementBuildCache(This,element,cacheRequest,last) +#define IUIAutomationTreeWalker_GetNextSiblingElementBuildCache(This,element,cacheRequest,next) (This)->lpVtbl->GetNextSiblingElementBuildCache(This,element,cacheRequest,next) +#define IUIAutomationTreeWalker_GetPreviousSiblingElementBuildCache(This,element,cacheRequest,previous) (This)->lpVtbl->GetPreviousSiblingElementBuildCache(This,element,cacheRequest,previous) +#define IUIAutomationTreeWalker_NormalizeElementBuildCache(This,element,cacheRequest,normalized) (This)->lpVtbl->NormalizeElementBuildCache(This,element,cacheRequest,normalized) +#define IUIAutomationTreeWalker_get_Condition(This,condition) (This)->lpVtbl->get_Condition(This,condition) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTreeWalker_QueryInterface(IUIAutomationTreeWalker* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTreeWalker_AddRef(IUIAutomationTreeWalker* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTreeWalker_Release(IUIAutomationTreeWalker* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTreeWalker methods ***/ +static inline HRESULT IUIAutomationTreeWalker_GetParentElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **parent) { + return This->lpVtbl->GetParentElement(This,element,parent); +} +static inline HRESULT IUIAutomationTreeWalker_GetFirstChildElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **first) { + return This->lpVtbl->GetFirstChildElement(This,element,first); +} +static inline HRESULT IUIAutomationTreeWalker_GetLastChildElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **last) { + return This->lpVtbl->GetLastChildElement(This,element,last); +} +static inline HRESULT IUIAutomationTreeWalker_GetNextSiblingElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **next) { + return This->lpVtbl->GetNextSiblingElement(This,element,next); +} +static inline HRESULT IUIAutomationTreeWalker_GetPreviousSiblingElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **previous) { + return This->lpVtbl->GetPreviousSiblingElement(This,element,previous); +} +static inline HRESULT IUIAutomationTreeWalker_NormalizeElement(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationElement **normalized) { + return This->lpVtbl->NormalizeElement(This,element,normalized); +} +static inline HRESULT IUIAutomationTreeWalker_GetParentElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **parent) { + return This->lpVtbl->GetParentElementBuildCache(This,element,cacheRequest,parent); +} +static inline HRESULT IUIAutomationTreeWalker_GetFirstChildElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **first) { + return This->lpVtbl->GetFirstChildElementBuildCache(This,element,cacheRequest,first); +} +static inline HRESULT IUIAutomationTreeWalker_GetLastChildElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **last) { + return This->lpVtbl->GetLastChildElementBuildCache(This,element,cacheRequest,last); +} +static inline HRESULT IUIAutomationTreeWalker_GetNextSiblingElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **next) { + return This->lpVtbl->GetNextSiblingElementBuildCache(This,element,cacheRequest,next); +} +static inline HRESULT IUIAutomationTreeWalker_GetPreviousSiblingElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **previous) { + return This->lpVtbl->GetPreviousSiblingElementBuildCache(This,element,cacheRequest,previous); +} +static inline HRESULT IUIAutomationTreeWalker_NormalizeElementBuildCache(IUIAutomationTreeWalker* This,IUIAutomationElement *element,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **normalized) { + return This->lpVtbl->NormalizeElementBuildCache(This,element,cacheRequest,normalized); +} +static inline HRESULT IUIAutomationTreeWalker_get_Condition(IUIAutomationTreeWalker* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_Condition(This,condition); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTreeWalker_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationEventHandler interface + */ +#ifndef __IUIAutomationEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationEventHandler, 0x146c3c17, 0xf12e, 0x4e22, 0x8c,0x27, 0xf8,0x94,0xb9,0xb7,0x9c,0x69); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("146c3c17-f12e-4e22-8c27-f894b9b79c69") +IUIAutomationEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleAutomationEvent( + IUIAutomationElement *sender, + EVENTID eventId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationEventHandler, 0x146c3c17, 0xf12e, 0x4e22, 0x8c,0x27, 0xf8,0x94,0xb9,0xb7,0x9c,0x69) +#endif +#else +typedef struct IUIAutomationEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationEventHandler *This); + + /*** IUIAutomationEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleAutomationEvent)( + IUIAutomationEventHandler *This, + IUIAutomationElement *sender, + EVENTID eventId); + + END_INTERFACE +} IUIAutomationEventHandlerVtbl; + +interface IUIAutomationEventHandler { + CONST_VTBL IUIAutomationEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationEventHandler methods ***/ +#define IUIAutomationEventHandler_HandleAutomationEvent(This,sender,eventId) (This)->lpVtbl->HandleAutomationEvent(This,sender,eventId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationEventHandler_QueryInterface(IUIAutomationEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationEventHandler_AddRef(IUIAutomationEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationEventHandler_Release(IUIAutomationEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationEventHandler methods ***/ +static inline HRESULT IUIAutomationEventHandler_HandleAutomationEvent(IUIAutomationEventHandler* This,IUIAutomationElement *sender,EVENTID eventId) { + return This->lpVtbl->HandleAutomationEvent(This,sender,eventId); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationPropertyChangedEventHandler interface + */ +#ifndef __IUIAutomationPropertyChangedEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationPropertyChangedEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationPropertyChangedEventHandler, 0x40cd37d4, 0xc756, 0x4b0c, 0x8c,0x6f, 0xbd,0xdf,0xee,0xb1,0x3b,0x50); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("40cd37d4-c756-4b0c-8c6f-bddfeeb13b50") +IUIAutomationPropertyChangedEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandlePropertyChangedEvent( + IUIAutomationElement *sender, + PROPERTYID propertyId, + VARIANT newValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationPropertyChangedEventHandler, 0x40cd37d4, 0xc756, 0x4b0c, 0x8c,0x6f, 0xbd,0xdf,0xee,0xb1,0x3b,0x50) +#endif +#else +typedef struct IUIAutomationPropertyChangedEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationPropertyChangedEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationPropertyChangedEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationPropertyChangedEventHandler *This); + + /*** IUIAutomationPropertyChangedEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandlePropertyChangedEvent)( + IUIAutomationPropertyChangedEventHandler *This, + IUIAutomationElement *sender, + PROPERTYID propertyId, + VARIANT newValue); + + END_INTERFACE +} IUIAutomationPropertyChangedEventHandlerVtbl; + +interface IUIAutomationPropertyChangedEventHandler { + CONST_VTBL IUIAutomationPropertyChangedEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationPropertyChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationPropertyChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationPropertyChangedEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationPropertyChangedEventHandler methods ***/ +#define IUIAutomationPropertyChangedEventHandler_HandlePropertyChangedEvent(This,sender,propertyId,newValue) (This)->lpVtbl->HandlePropertyChangedEvent(This,sender,propertyId,newValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationPropertyChangedEventHandler_QueryInterface(IUIAutomationPropertyChangedEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationPropertyChangedEventHandler_AddRef(IUIAutomationPropertyChangedEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationPropertyChangedEventHandler_Release(IUIAutomationPropertyChangedEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationPropertyChangedEventHandler methods ***/ +static inline HRESULT IUIAutomationPropertyChangedEventHandler_HandlePropertyChangedEvent(IUIAutomationPropertyChangedEventHandler* This,IUIAutomationElement *sender,PROPERTYID propertyId,VARIANT newValue) { + return This->lpVtbl->HandlePropertyChangedEvent(This,sender,propertyId,newValue); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationPropertyChangedEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationStructureChangedEventHandler interface + */ +#ifndef __IUIAutomationStructureChangedEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationStructureChangedEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationStructureChangedEventHandler, 0xe81d1b4e, 0x11c5, 0x42f8, 0x97,0x54, 0xe7,0x03,0x6c,0x79,0xf0,0x54); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e81d1b4e-11c5-42f8-9754-e7036c79f054") +IUIAutomationStructureChangedEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleStructureChangedEvent( + IUIAutomationElement *sender, + enum StructureChangeType changeType, + SAFEARRAY *runtimeId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationStructureChangedEventHandler, 0xe81d1b4e, 0x11c5, 0x42f8, 0x97,0x54, 0xe7,0x03,0x6c,0x79,0xf0,0x54) +#endif +#else +typedef struct IUIAutomationStructureChangedEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationStructureChangedEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationStructureChangedEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationStructureChangedEventHandler *This); + + /*** IUIAutomationStructureChangedEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleStructureChangedEvent)( + IUIAutomationStructureChangedEventHandler *This, + IUIAutomationElement *sender, + enum StructureChangeType changeType, + SAFEARRAY *runtimeId); + + END_INTERFACE +} IUIAutomationStructureChangedEventHandlerVtbl; + +interface IUIAutomationStructureChangedEventHandler { + CONST_VTBL IUIAutomationStructureChangedEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationStructureChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationStructureChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationStructureChangedEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationStructureChangedEventHandler methods ***/ +#define IUIAutomationStructureChangedEventHandler_HandleStructureChangedEvent(This,sender,changeType,runtimeId) (This)->lpVtbl->HandleStructureChangedEvent(This,sender,changeType,runtimeId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationStructureChangedEventHandler_QueryInterface(IUIAutomationStructureChangedEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationStructureChangedEventHandler_AddRef(IUIAutomationStructureChangedEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationStructureChangedEventHandler_Release(IUIAutomationStructureChangedEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationStructureChangedEventHandler methods ***/ +static inline HRESULT IUIAutomationStructureChangedEventHandler_HandleStructureChangedEvent(IUIAutomationStructureChangedEventHandler* This,IUIAutomationElement *sender,enum StructureChangeType changeType,SAFEARRAY *runtimeId) { + return This->lpVtbl->HandleStructureChangedEvent(This,sender,changeType,runtimeId); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationStructureChangedEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationFocusChangedEventHandler interface + */ +#ifndef __IUIAutomationFocusChangedEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationFocusChangedEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationFocusChangedEventHandler, 0xc270f6b5, 0x5c69, 0x4290, 0x97,0x45, 0x7a,0x7f,0x97,0x16,0x94,0x68); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c270f6b5-5c69-4290-9745-7a7f97169468") +IUIAutomationFocusChangedEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleFocusChangedEvent( + IUIAutomationElement *sender) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationFocusChangedEventHandler, 0xc270f6b5, 0x5c69, 0x4290, 0x97,0x45, 0x7a,0x7f,0x97,0x16,0x94,0x68) +#endif +#else +typedef struct IUIAutomationFocusChangedEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationFocusChangedEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationFocusChangedEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationFocusChangedEventHandler *This); + + /*** IUIAutomationFocusChangedEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleFocusChangedEvent)( + IUIAutomationFocusChangedEventHandler *This, + IUIAutomationElement *sender); + + END_INTERFACE +} IUIAutomationFocusChangedEventHandlerVtbl; + +interface IUIAutomationFocusChangedEventHandler { + CONST_VTBL IUIAutomationFocusChangedEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationFocusChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationFocusChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationFocusChangedEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationFocusChangedEventHandler methods ***/ +#define IUIAutomationFocusChangedEventHandler_HandleFocusChangedEvent(This,sender) (This)->lpVtbl->HandleFocusChangedEvent(This,sender) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationFocusChangedEventHandler_QueryInterface(IUIAutomationFocusChangedEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationFocusChangedEventHandler_AddRef(IUIAutomationFocusChangedEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationFocusChangedEventHandler_Release(IUIAutomationFocusChangedEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationFocusChangedEventHandler methods ***/ +static inline HRESULT IUIAutomationFocusChangedEventHandler_HandleFocusChangedEvent(IUIAutomationFocusChangedEventHandler* This,IUIAutomationElement *sender) { + return This->lpVtbl->HandleFocusChangedEvent(This,sender); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationFocusChangedEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextEditTextChangedEventHandler interface + */ +#ifndef __IUIAutomationTextEditTextChangedEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationTextEditTextChangedEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextEditTextChangedEventHandler, 0x92faa680, 0xe704, 0x4156, 0x93,0x1a, 0xe3,0x2d,0x5b,0xb3,0x8f,0x3f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("92faa680-e704-4156-931a-e32d5bb38f3f") +IUIAutomationTextEditTextChangedEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleTextEditTextChangedEvent( + IUIAutomationElement *sender, + enum TextEditChangeType textEditChangeType, + SAFEARRAY *eventStrings) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextEditTextChangedEventHandler, 0x92faa680, 0xe704, 0x4156, 0x93,0x1a, 0xe3,0x2d,0x5b,0xb3,0x8f,0x3f) +#endif +#else +typedef struct IUIAutomationTextEditTextChangedEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextEditTextChangedEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextEditTextChangedEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextEditTextChangedEventHandler *This); + + /*** IUIAutomationTextEditTextChangedEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleTextEditTextChangedEvent)( + IUIAutomationTextEditTextChangedEventHandler *This, + IUIAutomationElement *sender, + enum TextEditChangeType textEditChangeType, + SAFEARRAY *eventStrings); + + END_INTERFACE +} IUIAutomationTextEditTextChangedEventHandlerVtbl; + +interface IUIAutomationTextEditTextChangedEventHandler { + CONST_VTBL IUIAutomationTextEditTextChangedEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextEditTextChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextEditTextChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextEditTextChangedEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextEditTextChangedEventHandler methods ***/ +#define IUIAutomationTextEditTextChangedEventHandler_HandleTextEditTextChangedEvent(This,sender,textEditChangeType,eventStrings) (This)->lpVtbl->HandleTextEditTextChangedEvent(This,sender,textEditChangeType,eventStrings) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextEditTextChangedEventHandler_QueryInterface(IUIAutomationTextEditTextChangedEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextEditTextChangedEventHandler_AddRef(IUIAutomationTextEditTextChangedEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextEditTextChangedEventHandler_Release(IUIAutomationTextEditTextChangedEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextEditTextChangedEventHandler methods ***/ +static inline HRESULT IUIAutomationTextEditTextChangedEventHandler_HandleTextEditTextChangedEvent(IUIAutomationTextEditTextChangedEventHandler* This,IUIAutomationElement *sender,enum TextEditChangeType textEditChangeType,SAFEARRAY *eventStrings) { + return This->lpVtbl->HandleTextEditTextChangedEvent(This,sender,textEditChangeType,eventStrings); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextEditTextChangedEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationChangesEventHandler interface + */ +#ifndef __IUIAutomationChangesEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationChangesEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationChangesEventHandler, 0x58edca55, 0x2c3e, 0x4980, 0xb1,0xb9, 0x56,0xc1,0x7f,0x27,0xa2,0xa0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("58edca55-2c3e-4980-b1b9-56c17f27a2a0") +IUIAutomationChangesEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleChangesEvent( + IUIAutomationElement *sender, + struct UiaChangeInfo *uiaChanges, + int changesCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationChangesEventHandler, 0x58edca55, 0x2c3e, 0x4980, 0xb1,0xb9, 0x56,0xc1,0x7f,0x27,0xa2,0xa0) +#endif +#else +typedef struct IUIAutomationChangesEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationChangesEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationChangesEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationChangesEventHandler *This); + + /*** IUIAutomationChangesEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleChangesEvent)( + IUIAutomationChangesEventHandler *This, + IUIAutomationElement *sender, + struct UiaChangeInfo *uiaChanges, + int changesCount); + + END_INTERFACE +} IUIAutomationChangesEventHandlerVtbl; + +interface IUIAutomationChangesEventHandler { + CONST_VTBL IUIAutomationChangesEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationChangesEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationChangesEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationChangesEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationChangesEventHandler methods ***/ +#define IUIAutomationChangesEventHandler_HandleChangesEvent(This,sender,uiaChanges,changesCount) (This)->lpVtbl->HandleChangesEvent(This,sender,uiaChanges,changesCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationChangesEventHandler_QueryInterface(IUIAutomationChangesEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationChangesEventHandler_AddRef(IUIAutomationChangesEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationChangesEventHandler_Release(IUIAutomationChangesEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationChangesEventHandler methods ***/ +static inline HRESULT IUIAutomationChangesEventHandler_HandleChangesEvent(IUIAutomationChangesEventHandler* This,IUIAutomationElement *sender,struct UiaChangeInfo *uiaChanges,int changesCount) { + return This->lpVtbl->HandleChangesEvent(This,sender,uiaChanges,changesCount); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationChangesEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationNotificationEventHandler interface + */ +#ifndef __IUIAutomationNotificationEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationNotificationEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationNotificationEventHandler, 0xc7cb2637, 0xe6c2, 0x4d0c, 0x85,0xde, 0x49,0x48,0xc0,0x21,0x75,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c7cb2637-e6c2-4d0c-85de-4948c02175c7") +IUIAutomationNotificationEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleNotificationEvent( + IUIAutomationElement *sender, + enum NotificationKind notificationKind, + enum NotificationProcessing notificationProcessing, + BSTR displayString, + BSTR activityId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationNotificationEventHandler, 0xc7cb2637, 0xe6c2, 0x4d0c, 0x85,0xde, 0x49,0x48,0xc0,0x21,0x75,0xc7) +#endif +#else +typedef struct IUIAutomationNotificationEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationNotificationEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationNotificationEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationNotificationEventHandler *This); + + /*** IUIAutomationNotificationEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleNotificationEvent)( + IUIAutomationNotificationEventHandler *This, + IUIAutomationElement *sender, + enum NotificationKind notificationKind, + enum NotificationProcessing notificationProcessing, + BSTR displayString, + BSTR activityId); + + END_INTERFACE +} IUIAutomationNotificationEventHandlerVtbl; + +interface IUIAutomationNotificationEventHandler { + CONST_VTBL IUIAutomationNotificationEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationNotificationEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationNotificationEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationNotificationEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationNotificationEventHandler methods ***/ +#define IUIAutomationNotificationEventHandler_HandleNotificationEvent(This,sender,notificationKind,notificationProcessing,displayString,activityId) (This)->lpVtbl->HandleNotificationEvent(This,sender,notificationKind,notificationProcessing,displayString,activityId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationNotificationEventHandler_QueryInterface(IUIAutomationNotificationEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationNotificationEventHandler_AddRef(IUIAutomationNotificationEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationNotificationEventHandler_Release(IUIAutomationNotificationEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationNotificationEventHandler methods ***/ +static inline HRESULT IUIAutomationNotificationEventHandler_HandleNotificationEvent(IUIAutomationNotificationEventHandler* This,IUIAutomationElement *sender,enum NotificationKind notificationKind,enum NotificationProcessing notificationProcessing,BSTR displayString,BSTR activityId) { + return This->lpVtbl->HandleNotificationEvent(This,sender,notificationKind,notificationProcessing,displayString,activityId); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationNotificationEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationInvokePattern interface + */ +#ifndef __IUIAutomationInvokePattern_INTERFACE_DEFINED__ +#define __IUIAutomationInvokePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationInvokePattern, 0xfb377fbe, 0x8ea6, 0x46d5, 0x9c,0x73, 0x64,0x99,0x64,0x2d,0x30,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fb377fbe-8ea6-46d5-9c73-6499642d3059") +IUIAutomationInvokePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Invoke( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationInvokePattern, 0xfb377fbe, 0x8ea6, 0x46d5, 0x9c,0x73, 0x64,0x99,0x64,0x2d,0x30,0x59) +#endif +#else +typedef struct IUIAutomationInvokePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationInvokePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationInvokePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationInvokePattern *This); + + /*** IUIAutomationInvokePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUIAutomationInvokePattern *This); + + END_INTERFACE +} IUIAutomationInvokePatternVtbl; + +interface IUIAutomationInvokePattern { + CONST_VTBL IUIAutomationInvokePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationInvokePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationInvokePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationInvokePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationInvokePattern methods ***/ +#define IUIAutomationInvokePattern_Invoke(This) (This)->lpVtbl->Invoke(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationInvokePattern_QueryInterface(IUIAutomationInvokePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationInvokePattern_AddRef(IUIAutomationInvokePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationInvokePattern_Release(IUIAutomationInvokePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationInvokePattern methods ***/ +static inline HRESULT IUIAutomationInvokePattern_Invoke(IUIAutomationInvokePattern* This) { + return This->lpVtbl->Invoke(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationInvokePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationDockPattern interface + */ +#ifndef __IUIAutomationDockPattern_INTERFACE_DEFINED__ +#define __IUIAutomationDockPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationDockPattern, 0xfde5ef97, 0x1464, 0x48f6, 0x90,0xbf, 0x43,0xd0,0x94,0x8e,0x86,0xec); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fde5ef97-1464-48f6-90bf-43d0948e86ec") +IUIAutomationDockPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetDockPosition( + enum DockPosition dockPos) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDockPosition( + enum DockPosition *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDockPosition( + enum DockPosition *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationDockPattern, 0xfde5ef97, 0x1464, 0x48f6, 0x90,0xbf, 0x43,0xd0,0x94,0x8e,0x86,0xec) +#endif +#else +typedef struct IUIAutomationDockPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationDockPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationDockPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationDockPattern *This); + + /*** IUIAutomationDockPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *SetDockPosition)( + IUIAutomationDockPattern *This, + enum DockPosition dockPos); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDockPosition)( + IUIAutomationDockPattern *This, + enum DockPosition *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDockPosition)( + IUIAutomationDockPattern *This, + enum DockPosition *retVal); + + END_INTERFACE +} IUIAutomationDockPatternVtbl; + +interface IUIAutomationDockPattern { + CONST_VTBL IUIAutomationDockPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationDockPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationDockPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationDockPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationDockPattern methods ***/ +#define IUIAutomationDockPattern_SetDockPosition(This,dockPos) (This)->lpVtbl->SetDockPosition(This,dockPos) +#define IUIAutomationDockPattern_get_CurrentDockPosition(This,retVal) (This)->lpVtbl->get_CurrentDockPosition(This,retVal) +#define IUIAutomationDockPattern_get_CachedDockPosition(This,retVal) (This)->lpVtbl->get_CachedDockPosition(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationDockPattern_QueryInterface(IUIAutomationDockPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationDockPattern_AddRef(IUIAutomationDockPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationDockPattern_Release(IUIAutomationDockPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationDockPattern methods ***/ +static inline HRESULT IUIAutomationDockPattern_SetDockPosition(IUIAutomationDockPattern* This,enum DockPosition dockPos) { + return This->lpVtbl->SetDockPosition(This,dockPos); +} +static inline HRESULT IUIAutomationDockPattern_get_CurrentDockPosition(IUIAutomationDockPattern* This,enum DockPosition *retVal) { + return This->lpVtbl->get_CurrentDockPosition(This,retVal); +} +static inline HRESULT IUIAutomationDockPattern_get_CachedDockPosition(IUIAutomationDockPattern* This,enum DockPosition *retVal) { + return This->lpVtbl->get_CachedDockPosition(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationDockPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationExpandCollapsePattern interface + */ +#ifndef __IUIAutomationExpandCollapsePattern_INTERFACE_DEFINED__ +#define __IUIAutomationExpandCollapsePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationExpandCollapsePattern, 0x619be086, 0x1f4e, 0x4ee4, 0xba,0xfa, 0x21,0x01,0x28,0x73,0x87,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("619be086-1f4e-4ee4-bafa-210128738730") +IUIAutomationExpandCollapsePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Expand( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Collapse( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentExpandCollapseState( + enum ExpandCollapseState *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedExpandCollapseState( + enum ExpandCollapseState *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationExpandCollapsePattern, 0x619be086, 0x1f4e, 0x4ee4, 0xba,0xfa, 0x21,0x01,0x28,0x73,0x87,0x30) +#endif +#else +typedef struct IUIAutomationExpandCollapsePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationExpandCollapsePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationExpandCollapsePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationExpandCollapsePattern *This); + + /*** IUIAutomationExpandCollapsePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Expand)( + IUIAutomationExpandCollapsePattern *This); + + HRESULT (STDMETHODCALLTYPE *Collapse)( + IUIAutomationExpandCollapsePattern *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentExpandCollapseState)( + IUIAutomationExpandCollapsePattern *This, + enum ExpandCollapseState *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedExpandCollapseState)( + IUIAutomationExpandCollapsePattern *This, + enum ExpandCollapseState *retVal); + + END_INTERFACE +} IUIAutomationExpandCollapsePatternVtbl; + +interface IUIAutomationExpandCollapsePattern { + CONST_VTBL IUIAutomationExpandCollapsePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationExpandCollapsePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationExpandCollapsePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationExpandCollapsePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationExpandCollapsePattern methods ***/ +#define IUIAutomationExpandCollapsePattern_Expand(This) (This)->lpVtbl->Expand(This) +#define IUIAutomationExpandCollapsePattern_Collapse(This) (This)->lpVtbl->Collapse(This) +#define IUIAutomationExpandCollapsePattern_get_CurrentExpandCollapseState(This,retVal) (This)->lpVtbl->get_CurrentExpandCollapseState(This,retVal) +#define IUIAutomationExpandCollapsePattern_get_CachedExpandCollapseState(This,retVal) (This)->lpVtbl->get_CachedExpandCollapseState(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationExpandCollapsePattern_QueryInterface(IUIAutomationExpandCollapsePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationExpandCollapsePattern_AddRef(IUIAutomationExpandCollapsePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationExpandCollapsePattern_Release(IUIAutomationExpandCollapsePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationExpandCollapsePattern methods ***/ +static inline HRESULT IUIAutomationExpandCollapsePattern_Expand(IUIAutomationExpandCollapsePattern* This) { + return This->lpVtbl->Expand(This); +} +static inline HRESULT IUIAutomationExpandCollapsePattern_Collapse(IUIAutomationExpandCollapsePattern* This) { + return This->lpVtbl->Collapse(This); +} +static inline HRESULT IUIAutomationExpandCollapsePattern_get_CurrentExpandCollapseState(IUIAutomationExpandCollapsePattern* This,enum ExpandCollapseState *retVal) { + return This->lpVtbl->get_CurrentExpandCollapseState(This,retVal); +} +static inline HRESULT IUIAutomationExpandCollapsePattern_get_CachedExpandCollapseState(IUIAutomationExpandCollapsePattern* This,enum ExpandCollapseState *retVal) { + return This->lpVtbl->get_CachedExpandCollapseState(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationExpandCollapsePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationGridPattern interface + */ +#ifndef __IUIAutomationGridPattern_INTERFACE_DEFINED__ +#define __IUIAutomationGridPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationGridPattern, 0x414c3cdc, 0x856b, 0x4f5b, 0x85,0x38, 0x31,0x31,0xc6,0x30,0x25,0x50); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("414c3cdc-856b-4f5b-8538-3131c6302550") +IUIAutomationGridPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetItem( + int row, + int column, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentRowCount( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentColumnCount( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedRowCount( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedColumnCount( + int *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationGridPattern, 0x414c3cdc, 0x856b, 0x4f5b, 0x85,0x38, 0x31,0x31,0xc6,0x30,0x25,0x50) +#endif +#else +typedef struct IUIAutomationGridPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationGridPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationGridPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationGridPattern *This); + + /*** IUIAutomationGridPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItem)( + IUIAutomationGridPattern *This, + int row, + int column, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *get_CurrentRowCount)( + IUIAutomationGridPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentColumnCount)( + IUIAutomationGridPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedRowCount)( + IUIAutomationGridPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedColumnCount)( + IUIAutomationGridPattern *This, + int *retVal); + + END_INTERFACE +} IUIAutomationGridPatternVtbl; + +interface IUIAutomationGridPattern { + CONST_VTBL IUIAutomationGridPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationGridPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationGridPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationGridPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationGridPattern methods ***/ +#define IUIAutomationGridPattern_GetItem(This,row,column,element) (This)->lpVtbl->GetItem(This,row,column,element) +#define IUIAutomationGridPattern_get_CurrentRowCount(This,retVal) (This)->lpVtbl->get_CurrentRowCount(This,retVal) +#define IUIAutomationGridPattern_get_CurrentColumnCount(This,retVal) (This)->lpVtbl->get_CurrentColumnCount(This,retVal) +#define IUIAutomationGridPattern_get_CachedRowCount(This,retVal) (This)->lpVtbl->get_CachedRowCount(This,retVal) +#define IUIAutomationGridPattern_get_CachedColumnCount(This,retVal) (This)->lpVtbl->get_CachedColumnCount(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationGridPattern_QueryInterface(IUIAutomationGridPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationGridPattern_AddRef(IUIAutomationGridPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationGridPattern_Release(IUIAutomationGridPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationGridPattern methods ***/ +static inline HRESULT IUIAutomationGridPattern_GetItem(IUIAutomationGridPattern* This,int row,int column,IUIAutomationElement **element) { + return This->lpVtbl->GetItem(This,row,column,element); +} +static inline HRESULT IUIAutomationGridPattern_get_CurrentRowCount(IUIAutomationGridPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentRowCount(This,retVal); +} +static inline HRESULT IUIAutomationGridPattern_get_CurrentColumnCount(IUIAutomationGridPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentColumnCount(This,retVal); +} +static inline HRESULT IUIAutomationGridPattern_get_CachedRowCount(IUIAutomationGridPattern* This,int *retVal) { + return This->lpVtbl->get_CachedRowCount(This,retVal); +} +static inline HRESULT IUIAutomationGridPattern_get_CachedColumnCount(IUIAutomationGridPattern* This,int *retVal) { + return This->lpVtbl->get_CachedColumnCount(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationGridPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationGridItemPattern interface + */ +#ifndef __IUIAutomationGridItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationGridItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationGridItemPattern, 0x78f8ef57, 0x66c3, 0x4e09, 0xbd,0x7c, 0xe7,0x9b,0x20,0x04,0x89,0x4d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("78f8ef57-66c3-4e09-bd7c-e79b2004894d") +IUIAutomationGridItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentContainingGrid( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentRow( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentColumn( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentRowSpan( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentColumnSpan( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedContainingGrid( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedRow( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedColumn( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedRowSpan( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedColumnSpan( + int *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationGridItemPattern, 0x78f8ef57, 0x66c3, 0x4e09, 0xbd,0x7c, 0xe7,0x9b,0x20,0x04,0x89,0x4d) +#endif +#else +typedef struct IUIAutomationGridItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationGridItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationGridItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationGridItemPattern *This); + + /*** IUIAutomationGridItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentContainingGrid)( + IUIAutomationGridItemPattern *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentRow)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentColumn)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentRowSpan)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentColumnSpan)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedContainingGrid)( + IUIAutomationGridItemPattern *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedRow)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedColumn)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedRowSpan)( + IUIAutomationGridItemPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedColumnSpan)( + IUIAutomationGridItemPattern *This, + int *retVal); + + END_INTERFACE +} IUIAutomationGridItemPatternVtbl; + +interface IUIAutomationGridItemPattern { + CONST_VTBL IUIAutomationGridItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationGridItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationGridItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationGridItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationGridItemPattern methods ***/ +#define IUIAutomationGridItemPattern_get_CurrentContainingGrid(This,retVal) (This)->lpVtbl->get_CurrentContainingGrid(This,retVal) +#define IUIAutomationGridItemPattern_get_CurrentRow(This,retVal) (This)->lpVtbl->get_CurrentRow(This,retVal) +#define IUIAutomationGridItemPattern_get_CurrentColumn(This,retVal) (This)->lpVtbl->get_CurrentColumn(This,retVal) +#define IUIAutomationGridItemPattern_get_CurrentRowSpan(This,retVal) (This)->lpVtbl->get_CurrentRowSpan(This,retVal) +#define IUIAutomationGridItemPattern_get_CurrentColumnSpan(This,retVal) (This)->lpVtbl->get_CurrentColumnSpan(This,retVal) +#define IUIAutomationGridItemPattern_get_CachedContainingGrid(This,retVal) (This)->lpVtbl->get_CachedContainingGrid(This,retVal) +#define IUIAutomationGridItemPattern_get_CachedRow(This,retVal) (This)->lpVtbl->get_CachedRow(This,retVal) +#define IUIAutomationGridItemPattern_get_CachedColumn(This,retVal) (This)->lpVtbl->get_CachedColumn(This,retVal) +#define IUIAutomationGridItemPattern_get_CachedRowSpan(This,retVal) (This)->lpVtbl->get_CachedRowSpan(This,retVal) +#define IUIAutomationGridItemPattern_get_CachedColumnSpan(This,retVal) (This)->lpVtbl->get_CachedColumnSpan(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationGridItemPattern_QueryInterface(IUIAutomationGridItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationGridItemPattern_AddRef(IUIAutomationGridItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationGridItemPattern_Release(IUIAutomationGridItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationGridItemPattern methods ***/ +static inline HRESULT IUIAutomationGridItemPattern_get_CurrentContainingGrid(IUIAutomationGridItemPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentContainingGrid(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CurrentRow(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentRow(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CurrentColumn(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentColumn(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CurrentRowSpan(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentRowSpan(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CurrentColumnSpan(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentColumnSpan(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CachedContainingGrid(IUIAutomationGridItemPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedContainingGrid(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CachedRow(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CachedRow(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CachedColumn(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CachedColumn(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CachedRowSpan(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CachedRowSpan(This,retVal); +} +static inline HRESULT IUIAutomationGridItemPattern_get_CachedColumnSpan(IUIAutomationGridItemPattern* This,int *retVal) { + return This->lpVtbl->get_CachedColumnSpan(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationGridItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationMultipleViewPattern interface + */ +#ifndef __IUIAutomationMultipleViewPattern_INTERFACE_DEFINED__ +#define __IUIAutomationMultipleViewPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationMultipleViewPattern, 0x8d253c91, 0x1dc5, 0x4bb5, 0xb1,0x8f, 0xad,0xe1,0x6f,0xa4,0x95,0xe8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8d253c91-1dc5-4bb5-b18f-ade16fa495e8") +IUIAutomationMultipleViewPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetViewName( + int view, + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCurrentView( + int view) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCurrentView( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentSupportedViews( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCurrentView( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedSupportedViews( + SAFEARRAY **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationMultipleViewPattern, 0x8d253c91, 0x1dc5, 0x4bb5, 0xb1,0x8f, 0xad,0xe1,0x6f,0xa4,0x95,0xe8) +#endif +#else +typedef struct IUIAutomationMultipleViewPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationMultipleViewPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationMultipleViewPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationMultipleViewPattern *This); + + /*** IUIAutomationMultipleViewPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetViewName)( + IUIAutomationMultipleViewPattern *This, + int view, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetCurrentView)( + IUIAutomationMultipleViewPattern *This, + int view); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCurrentView)( + IUIAutomationMultipleViewPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentSupportedViews)( + IUIAutomationMultipleViewPattern *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCurrentView)( + IUIAutomationMultipleViewPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedSupportedViews)( + IUIAutomationMultipleViewPattern *This, + SAFEARRAY **retVal); + + END_INTERFACE +} IUIAutomationMultipleViewPatternVtbl; + +interface IUIAutomationMultipleViewPattern { + CONST_VTBL IUIAutomationMultipleViewPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationMultipleViewPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationMultipleViewPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationMultipleViewPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationMultipleViewPattern methods ***/ +#define IUIAutomationMultipleViewPattern_GetViewName(This,view,name) (This)->lpVtbl->GetViewName(This,view,name) +#define IUIAutomationMultipleViewPattern_SetCurrentView(This,view) (This)->lpVtbl->SetCurrentView(This,view) +#define IUIAutomationMultipleViewPattern_get_CurrentCurrentView(This,retVal) (This)->lpVtbl->get_CurrentCurrentView(This,retVal) +#define IUIAutomationMultipleViewPattern_GetCurrentSupportedViews(This,retVal) (This)->lpVtbl->GetCurrentSupportedViews(This,retVal) +#define IUIAutomationMultipleViewPattern_get_CachedCurrentView(This,retVal) (This)->lpVtbl->get_CachedCurrentView(This,retVal) +#define IUIAutomationMultipleViewPattern_GetCachedSupportedViews(This,retVal) (This)->lpVtbl->GetCachedSupportedViews(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationMultipleViewPattern_QueryInterface(IUIAutomationMultipleViewPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationMultipleViewPattern_AddRef(IUIAutomationMultipleViewPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationMultipleViewPattern_Release(IUIAutomationMultipleViewPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationMultipleViewPattern methods ***/ +static inline HRESULT IUIAutomationMultipleViewPattern_GetViewName(IUIAutomationMultipleViewPattern* This,int view,BSTR *name) { + return This->lpVtbl->GetViewName(This,view,name); +} +static inline HRESULT IUIAutomationMultipleViewPattern_SetCurrentView(IUIAutomationMultipleViewPattern* This,int view) { + return This->lpVtbl->SetCurrentView(This,view); +} +static inline HRESULT IUIAutomationMultipleViewPattern_get_CurrentCurrentView(IUIAutomationMultipleViewPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentCurrentView(This,retVal); +} +static inline HRESULT IUIAutomationMultipleViewPattern_GetCurrentSupportedViews(IUIAutomationMultipleViewPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->GetCurrentSupportedViews(This,retVal); +} +static inline HRESULT IUIAutomationMultipleViewPattern_get_CachedCurrentView(IUIAutomationMultipleViewPattern* This,int *retVal) { + return This->lpVtbl->get_CachedCurrentView(This,retVal); +} +static inline HRESULT IUIAutomationMultipleViewPattern_GetCachedSupportedViews(IUIAutomationMultipleViewPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->GetCachedSupportedViews(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationMultipleViewPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationObjectModelPattern interface + */ +#ifndef __IUIAutomationObjectModelPattern_INTERFACE_DEFINED__ +#define __IUIAutomationObjectModelPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationObjectModelPattern, 0x71c284b3, 0xc14d, 0x4d14, 0x98,0x1e, 0x19,0x75,0x1b,0x0d,0x75,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("71c284b3-c14d-4d14-981e-19751b0d756d") +IUIAutomationObjectModelPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetUnderlyingObjectModel( + IUnknown **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationObjectModelPattern, 0x71c284b3, 0xc14d, 0x4d14, 0x98,0x1e, 0x19,0x75,0x1b,0x0d,0x75,0x6d) +#endif +#else +typedef struct IUIAutomationObjectModelPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationObjectModelPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationObjectModelPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationObjectModelPattern *This); + + /*** IUIAutomationObjectModelPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetUnderlyingObjectModel)( + IUIAutomationObjectModelPattern *This, + IUnknown **retVal); + + END_INTERFACE +} IUIAutomationObjectModelPatternVtbl; + +interface IUIAutomationObjectModelPattern { + CONST_VTBL IUIAutomationObjectModelPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationObjectModelPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationObjectModelPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationObjectModelPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationObjectModelPattern methods ***/ +#define IUIAutomationObjectModelPattern_GetUnderlyingObjectModel(This,retVal) (This)->lpVtbl->GetUnderlyingObjectModel(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationObjectModelPattern_QueryInterface(IUIAutomationObjectModelPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationObjectModelPattern_AddRef(IUIAutomationObjectModelPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationObjectModelPattern_Release(IUIAutomationObjectModelPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationObjectModelPattern methods ***/ +static inline HRESULT IUIAutomationObjectModelPattern_GetUnderlyingObjectModel(IUIAutomationObjectModelPattern* This,IUnknown **retVal) { + return This->lpVtbl->GetUnderlyingObjectModel(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationObjectModelPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationRangeValuePattern interface + */ +#ifndef __IUIAutomationRangeValuePattern_INTERFACE_DEFINED__ +#define __IUIAutomationRangeValuePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationRangeValuePattern, 0x59213f4f, 0x7346, 0x49e5, 0xb1,0x20, 0x80,0x55,0x59,0x87,0xa1,0x48); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("59213f4f-7346-49e5-b120-80555987a148") +IUIAutomationRangeValuePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetValue( + double val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentValue( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsReadOnly( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentMaximum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentMinimum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLargeChange( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentSmallChange( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedValue( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsReadOnly( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedMaximum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedMinimum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLargeChange( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedSmallChange( + double *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationRangeValuePattern, 0x59213f4f, 0x7346, 0x49e5, 0xb1,0x20, 0x80,0x55,0x59,0x87,0xa1,0x48) +#endif +#else +typedef struct IUIAutomationRangeValuePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationRangeValuePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationRangeValuePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationRangeValuePattern *This); + + /*** IUIAutomationRangeValuePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *SetValue)( + IUIAutomationRangeValuePattern *This, + double val); + + HRESULT (STDMETHODCALLTYPE *get_CurrentValue)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsReadOnly)( + IUIAutomationRangeValuePattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentMaximum)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentMinimum)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLargeChange)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSmallChange)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedValue)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsReadOnly)( + IUIAutomationRangeValuePattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedMaximum)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedMinimum)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLargeChange)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSmallChange)( + IUIAutomationRangeValuePattern *This, + double *retVal); + + END_INTERFACE +} IUIAutomationRangeValuePatternVtbl; + +interface IUIAutomationRangeValuePattern { + CONST_VTBL IUIAutomationRangeValuePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationRangeValuePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationRangeValuePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationRangeValuePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationRangeValuePattern methods ***/ +#define IUIAutomationRangeValuePattern_SetValue(This,val) (This)->lpVtbl->SetValue(This,val) +#define IUIAutomationRangeValuePattern_get_CurrentValue(This,retVal) (This)->lpVtbl->get_CurrentValue(This,retVal) +#define IUIAutomationRangeValuePattern_get_CurrentIsReadOnly(This,retVal) (This)->lpVtbl->get_CurrentIsReadOnly(This,retVal) +#define IUIAutomationRangeValuePattern_get_CurrentMaximum(This,retVal) (This)->lpVtbl->get_CurrentMaximum(This,retVal) +#define IUIAutomationRangeValuePattern_get_CurrentMinimum(This,retVal) (This)->lpVtbl->get_CurrentMinimum(This,retVal) +#define IUIAutomationRangeValuePattern_get_CurrentLargeChange(This,retVal) (This)->lpVtbl->get_CurrentLargeChange(This,retVal) +#define IUIAutomationRangeValuePattern_get_CurrentSmallChange(This,retVal) (This)->lpVtbl->get_CurrentSmallChange(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedValue(This,retVal) (This)->lpVtbl->get_CachedValue(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedIsReadOnly(This,retVal) (This)->lpVtbl->get_CachedIsReadOnly(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedMaximum(This,retVal) (This)->lpVtbl->get_CachedMaximum(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedMinimum(This,retVal) (This)->lpVtbl->get_CachedMinimum(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedLargeChange(This,retVal) (This)->lpVtbl->get_CachedLargeChange(This,retVal) +#define IUIAutomationRangeValuePattern_get_CachedSmallChange(This,retVal) (This)->lpVtbl->get_CachedSmallChange(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationRangeValuePattern_QueryInterface(IUIAutomationRangeValuePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationRangeValuePattern_AddRef(IUIAutomationRangeValuePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationRangeValuePattern_Release(IUIAutomationRangeValuePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationRangeValuePattern methods ***/ +static inline HRESULT IUIAutomationRangeValuePattern_SetValue(IUIAutomationRangeValuePattern* This,double val) { + return This->lpVtbl->SetValue(This,val); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentValue(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CurrentValue(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentIsReadOnly(IUIAutomationRangeValuePattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsReadOnly(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentMaximum(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CurrentMaximum(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentMinimum(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CurrentMinimum(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentLargeChange(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CurrentLargeChange(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CurrentSmallChange(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CurrentSmallChange(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedValue(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CachedValue(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedIsReadOnly(IUIAutomationRangeValuePattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsReadOnly(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedMaximum(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CachedMaximum(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedMinimum(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CachedMinimum(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedLargeChange(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CachedLargeChange(This,retVal); +} +static inline HRESULT IUIAutomationRangeValuePattern_get_CachedSmallChange(IUIAutomationRangeValuePattern* This,double *retVal) { + return This->lpVtbl->get_CachedSmallChange(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationRangeValuePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationScrollPattern interface + */ +#ifndef __IUIAutomationScrollPattern_INTERFACE_DEFINED__ +#define __IUIAutomationScrollPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationScrollPattern, 0x88f4d42a, 0xe881, 0x459d, 0xa7,0x7c, 0x73,0xbb,0xbb,0x7e,0x02,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("88f4d42a-e881-459d-a77c-73bbbb7e02dc") +IUIAutomationScrollPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Scroll( + enum ScrollAmount horizontalAmount, + enum ScrollAmount verticalAmount) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScrollPercent( + double horizontalPercent, + double verticalPercent) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHorizontalScrollPercent( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentVerticalScrollPercent( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHorizontalViewSize( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentVerticalViewSize( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHorizontallyScrollable( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentVerticallyScrollable( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHorizontalScrollPercent( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedVerticalScrollPercent( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHorizontalViewSize( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedVerticalViewSize( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHorizontallyScrollable( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedVerticallyScrollable( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationScrollPattern, 0x88f4d42a, 0xe881, 0x459d, 0xa7,0x7c, 0x73,0xbb,0xbb,0x7e,0x02,0xdc) +#endif +#else +typedef struct IUIAutomationScrollPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationScrollPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationScrollPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationScrollPattern *This); + + /*** IUIAutomationScrollPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Scroll)( + IUIAutomationScrollPattern *This, + enum ScrollAmount horizontalAmount, + enum ScrollAmount verticalAmount); + + HRESULT (STDMETHODCALLTYPE *SetScrollPercent)( + IUIAutomationScrollPattern *This, + double horizontalPercent, + double verticalPercent); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHorizontalScrollPercent)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentVerticalScrollPercent)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHorizontalViewSize)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentVerticalViewSize)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHorizontallyScrollable)( + IUIAutomationScrollPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentVerticallyScrollable)( + IUIAutomationScrollPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHorizontalScrollPercent)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedVerticalScrollPercent)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHorizontalViewSize)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedVerticalViewSize)( + IUIAutomationScrollPattern *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHorizontallyScrollable)( + IUIAutomationScrollPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedVerticallyScrollable)( + IUIAutomationScrollPattern *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationScrollPatternVtbl; + +interface IUIAutomationScrollPattern { + CONST_VTBL IUIAutomationScrollPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationScrollPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationScrollPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationScrollPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationScrollPattern methods ***/ +#define IUIAutomationScrollPattern_Scroll(This,horizontalAmount,verticalAmount) (This)->lpVtbl->Scroll(This,horizontalAmount,verticalAmount) +#define IUIAutomationScrollPattern_SetScrollPercent(This,horizontalPercent,verticalPercent) (This)->lpVtbl->SetScrollPercent(This,horizontalPercent,verticalPercent) +#define IUIAutomationScrollPattern_get_CurrentHorizontalScrollPercent(This,retVal) (This)->lpVtbl->get_CurrentHorizontalScrollPercent(This,retVal) +#define IUIAutomationScrollPattern_get_CurrentVerticalScrollPercent(This,retVal) (This)->lpVtbl->get_CurrentVerticalScrollPercent(This,retVal) +#define IUIAutomationScrollPattern_get_CurrentHorizontalViewSize(This,retVal) (This)->lpVtbl->get_CurrentHorizontalViewSize(This,retVal) +#define IUIAutomationScrollPattern_get_CurrentVerticalViewSize(This,retVal) (This)->lpVtbl->get_CurrentVerticalViewSize(This,retVal) +#define IUIAutomationScrollPattern_get_CurrentHorizontallyScrollable(This,retVal) (This)->lpVtbl->get_CurrentHorizontallyScrollable(This,retVal) +#define IUIAutomationScrollPattern_get_CurrentVerticallyScrollable(This,retVal) (This)->lpVtbl->get_CurrentVerticallyScrollable(This,retVal) +#define IUIAutomationScrollPattern_get_CachedHorizontalScrollPercent(This,retVal) (This)->lpVtbl->get_CachedHorizontalScrollPercent(This,retVal) +#define IUIAutomationScrollPattern_get_CachedVerticalScrollPercent(This,retVal) (This)->lpVtbl->get_CachedVerticalScrollPercent(This,retVal) +#define IUIAutomationScrollPattern_get_CachedHorizontalViewSize(This,retVal) (This)->lpVtbl->get_CachedHorizontalViewSize(This,retVal) +#define IUIAutomationScrollPattern_get_CachedVerticalViewSize(This,retVal) (This)->lpVtbl->get_CachedVerticalViewSize(This,retVal) +#define IUIAutomationScrollPattern_get_CachedHorizontallyScrollable(This,retVal) (This)->lpVtbl->get_CachedHorizontallyScrollable(This,retVal) +#define IUIAutomationScrollPattern_get_CachedVerticallyScrollable(This,retVal) (This)->lpVtbl->get_CachedVerticallyScrollable(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationScrollPattern_QueryInterface(IUIAutomationScrollPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationScrollPattern_AddRef(IUIAutomationScrollPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationScrollPattern_Release(IUIAutomationScrollPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationScrollPattern methods ***/ +static inline HRESULT IUIAutomationScrollPattern_Scroll(IUIAutomationScrollPattern* This,enum ScrollAmount horizontalAmount,enum ScrollAmount verticalAmount) { + return This->lpVtbl->Scroll(This,horizontalAmount,verticalAmount); +} +static inline HRESULT IUIAutomationScrollPattern_SetScrollPercent(IUIAutomationScrollPattern* This,double horizontalPercent,double verticalPercent) { + return This->lpVtbl->SetScrollPercent(This,horizontalPercent,verticalPercent); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentHorizontalScrollPercent(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CurrentHorizontalScrollPercent(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentVerticalScrollPercent(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CurrentVerticalScrollPercent(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentHorizontalViewSize(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CurrentHorizontalViewSize(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentVerticalViewSize(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CurrentVerticalViewSize(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentHorizontallyScrollable(IUIAutomationScrollPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHorizontallyScrollable(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CurrentVerticallyScrollable(IUIAutomationScrollPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentVerticallyScrollable(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedHorizontalScrollPercent(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CachedHorizontalScrollPercent(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedVerticalScrollPercent(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CachedVerticalScrollPercent(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedHorizontalViewSize(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CachedHorizontalViewSize(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedVerticalViewSize(IUIAutomationScrollPattern* This,double *retVal) { + return This->lpVtbl->get_CachedVerticalViewSize(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedHorizontallyScrollable(IUIAutomationScrollPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHorizontallyScrollable(This,retVal); +} +static inline HRESULT IUIAutomationScrollPattern_get_CachedVerticallyScrollable(IUIAutomationScrollPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedVerticallyScrollable(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationScrollPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationScrollItemPattern interface + */ +#ifndef __IUIAutomationScrollItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationScrollItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationScrollItemPattern, 0xb488300f, 0xd015, 0x4f19, 0x9c,0x29, 0xbb,0x59,0x5e,0x36,0x45,0xef); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b488300f-d015-4f19-9c29-bb595e3645ef") +IUIAutomationScrollItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationScrollItemPattern, 0xb488300f, 0xd015, 0x4f19, 0x9c,0x29, 0xbb,0x59,0x5e,0x36,0x45,0xef) +#endif +#else +typedef struct IUIAutomationScrollItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationScrollItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationScrollItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationScrollItemPattern *This); + + /*** IUIAutomationScrollItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + IUIAutomationScrollItemPattern *This); + + END_INTERFACE +} IUIAutomationScrollItemPatternVtbl; + +interface IUIAutomationScrollItemPattern { + CONST_VTBL IUIAutomationScrollItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationScrollItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationScrollItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationScrollItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationScrollItemPattern methods ***/ +#define IUIAutomationScrollItemPattern_ScrollIntoView(This) (This)->lpVtbl->ScrollIntoView(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationScrollItemPattern_QueryInterface(IUIAutomationScrollItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationScrollItemPattern_AddRef(IUIAutomationScrollItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationScrollItemPattern_Release(IUIAutomationScrollItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationScrollItemPattern methods ***/ +static inline HRESULT IUIAutomationScrollItemPattern_ScrollIntoView(IUIAutomationScrollItemPattern* This) { + return This->lpVtbl->ScrollIntoView(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationScrollItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationSelectionPattern interface + */ +#ifndef __IUIAutomationSelectionPattern_INTERFACE_DEFINED__ +#define __IUIAutomationSelectionPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationSelectionPattern, 0x5ed5202e, 0xb2ac, 0x47a6, 0xb6,0x38, 0x4b,0x0b,0xf1,0x40,0xd7,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5ed5202e-b2ac-47a6-b638-4b0bf140d78e") +IUIAutomationSelectionPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanSelectMultiple( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsSelectionRequired( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedSelection( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanSelectMultiple( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsSelectionRequired( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationSelectionPattern, 0x5ed5202e, 0xb2ac, 0x47a6, 0xb6,0x38, 0x4b,0x0b,0xf1,0x40,0xd7,0x8e) +#endif +#else +typedef struct IUIAutomationSelectionPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationSelectionPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationSelectionPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationSelectionPattern *This); + + /*** IUIAutomationSelectionPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( + IUIAutomationSelectionPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanSelectMultiple)( + IUIAutomationSelectionPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsSelectionRequired)( + IUIAutomationSelectionPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedSelection)( + IUIAutomationSelectionPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanSelectMultiple)( + IUIAutomationSelectionPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsSelectionRequired)( + IUIAutomationSelectionPattern *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationSelectionPatternVtbl; + +interface IUIAutomationSelectionPattern { + CONST_VTBL IUIAutomationSelectionPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationSelectionPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationSelectionPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationSelectionPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationSelectionPattern methods ***/ +#define IUIAutomationSelectionPattern_GetCurrentSelection(This,retVal) (This)->lpVtbl->GetCurrentSelection(This,retVal) +#define IUIAutomationSelectionPattern_get_CurrentCanSelectMultiple(This,retVal) (This)->lpVtbl->get_CurrentCanSelectMultiple(This,retVal) +#define IUIAutomationSelectionPattern_get_CurrentIsSelectionRequired(This,retVal) (This)->lpVtbl->get_CurrentIsSelectionRequired(This,retVal) +#define IUIAutomationSelectionPattern_GetCachedSelection(This,retVal) (This)->lpVtbl->GetCachedSelection(This,retVal) +#define IUIAutomationSelectionPattern_get_CachedCanSelectMultiple(This,retVal) (This)->lpVtbl->get_CachedCanSelectMultiple(This,retVal) +#define IUIAutomationSelectionPattern_get_CachedIsSelectionRequired(This,retVal) (This)->lpVtbl->get_CachedIsSelectionRequired(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationSelectionPattern_QueryInterface(IUIAutomationSelectionPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationSelectionPattern_AddRef(IUIAutomationSelectionPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationSelectionPattern_Release(IUIAutomationSelectionPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationSelectionPattern methods ***/ +static inline HRESULT IUIAutomationSelectionPattern_GetCurrentSelection(IUIAutomationSelectionPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentSelection(This,retVal); +} +static inline HRESULT IUIAutomationSelectionPattern_get_CurrentCanSelectMultiple(IUIAutomationSelectionPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanSelectMultiple(This,retVal); +} +static inline HRESULT IUIAutomationSelectionPattern_get_CurrentIsSelectionRequired(IUIAutomationSelectionPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsSelectionRequired(This,retVal); +} +static inline HRESULT IUIAutomationSelectionPattern_GetCachedSelection(IUIAutomationSelectionPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedSelection(This,retVal); +} +static inline HRESULT IUIAutomationSelectionPattern_get_CachedCanSelectMultiple(IUIAutomationSelectionPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanSelectMultiple(This,retVal); +} +static inline HRESULT IUIAutomationSelectionPattern_get_CachedIsSelectionRequired(IUIAutomationSelectionPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsSelectionRequired(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationSelectionPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationSelectionItemPattern interface + */ +#ifndef __IUIAutomationSelectionItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationSelectionItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationSelectionItemPattern, 0xa8efa66a, 0x0fda, 0x421a, 0x91,0x94, 0x38,0x02,0x1f,0x35,0x78,0xea); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a8efa66a-0fda-421a-9194-38021f3578ea") +IUIAutomationSelectionItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Select( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddToSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsSelected( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentSelectionContainer( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsSelected( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedSelectionContainer( + IUIAutomationElement **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationSelectionItemPattern, 0xa8efa66a, 0x0fda, 0x421a, 0x91,0x94, 0x38,0x02,0x1f,0x35,0x78,0xea) +#endif +#else +typedef struct IUIAutomationSelectionItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationSelectionItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationSelectionItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationSelectionItemPattern *This); + + /*** IUIAutomationSelectionItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Select)( + IUIAutomationSelectionItemPattern *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + IUIAutomationSelectionItemPattern *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + IUIAutomationSelectionItemPattern *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsSelected)( + IUIAutomationSelectionItemPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSelectionContainer)( + IUIAutomationSelectionItemPattern *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsSelected)( + IUIAutomationSelectionItemPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSelectionContainer)( + IUIAutomationSelectionItemPattern *This, + IUIAutomationElement **retVal); + + END_INTERFACE +} IUIAutomationSelectionItemPatternVtbl; + +interface IUIAutomationSelectionItemPattern { + CONST_VTBL IUIAutomationSelectionItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationSelectionItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationSelectionItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationSelectionItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationSelectionItemPattern methods ***/ +#define IUIAutomationSelectionItemPattern_Select(This) (This)->lpVtbl->Select(This) +#define IUIAutomationSelectionItemPattern_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define IUIAutomationSelectionItemPattern_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define IUIAutomationSelectionItemPattern_get_CurrentIsSelected(This,retVal) (This)->lpVtbl->get_CurrentIsSelected(This,retVal) +#define IUIAutomationSelectionItemPattern_get_CurrentSelectionContainer(This,retVal) (This)->lpVtbl->get_CurrentSelectionContainer(This,retVal) +#define IUIAutomationSelectionItemPattern_get_CachedIsSelected(This,retVal) (This)->lpVtbl->get_CachedIsSelected(This,retVal) +#define IUIAutomationSelectionItemPattern_get_CachedSelectionContainer(This,retVal) (This)->lpVtbl->get_CachedSelectionContainer(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationSelectionItemPattern_QueryInterface(IUIAutomationSelectionItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationSelectionItemPattern_AddRef(IUIAutomationSelectionItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationSelectionItemPattern_Release(IUIAutomationSelectionItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationSelectionItemPattern methods ***/ +static inline HRESULT IUIAutomationSelectionItemPattern_Select(IUIAutomationSelectionItemPattern* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT IUIAutomationSelectionItemPattern_AddToSelection(IUIAutomationSelectionItemPattern* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT IUIAutomationSelectionItemPattern_RemoveFromSelection(IUIAutomationSelectionItemPattern* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT IUIAutomationSelectionItemPattern_get_CurrentIsSelected(IUIAutomationSelectionItemPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsSelected(This,retVal); +} +static inline HRESULT IUIAutomationSelectionItemPattern_get_CurrentSelectionContainer(IUIAutomationSelectionItemPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentSelectionContainer(This,retVal); +} +static inline HRESULT IUIAutomationSelectionItemPattern_get_CachedIsSelected(IUIAutomationSelectionItemPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsSelected(This,retVal); +} +static inline HRESULT IUIAutomationSelectionItemPattern_get_CachedSelectionContainer(IUIAutomationSelectionItemPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedSelectionContainer(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationSelectionItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationSynchronizedInputPattern interface + */ +#ifndef __IUIAutomationSynchronizedInputPattern_INTERFACE_DEFINED__ +#define __IUIAutomationSynchronizedInputPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationSynchronizedInputPattern, 0x2233be0b, 0xafb7, 0x448b, 0x9f,0xda, 0x3b,0x37,0x8a,0xa5,0xea,0xe1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2233be0b-afb7-448b-9fda-3b378aa5eae1") +IUIAutomationSynchronizedInputPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE StartListening( + enum SynchronizedInputType inputType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationSynchronizedInputPattern, 0x2233be0b, 0xafb7, 0x448b, 0x9f,0xda, 0x3b,0x37,0x8a,0xa5,0xea,0xe1) +#endif +#else +typedef struct IUIAutomationSynchronizedInputPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationSynchronizedInputPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationSynchronizedInputPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationSynchronizedInputPattern *This); + + /*** IUIAutomationSynchronizedInputPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *StartListening)( + IUIAutomationSynchronizedInputPattern *This, + enum SynchronizedInputType inputType); + + HRESULT (STDMETHODCALLTYPE *Cancel)( + IUIAutomationSynchronizedInputPattern *This); + + END_INTERFACE +} IUIAutomationSynchronizedInputPatternVtbl; + +interface IUIAutomationSynchronizedInputPattern { + CONST_VTBL IUIAutomationSynchronizedInputPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationSynchronizedInputPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationSynchronizedInputPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationSynchronizedInputPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationSynchronizedInputPattern methods ***/ +#define IUIAutomationSynchronizedInputPattern_StartListening(This,inputType) (This)->lpVtbl->StartListening(This,inputType) +#define IUIAutomationSynchronizedInputPattern_Cancel(This) (This)->lpVtbl->Cancel(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationSynchronizedInputPattern_QueryInterface(IUIAutomationSynchronizedInputPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationSynchronizedInputPattern_AddRef(IUIAutomationSynchronizedInputPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationSynchronizedInputPattern_Release(IUIAutomationSynchronizedInputPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationSynchronizedInputPattern methods ***/ +static inline HRESULT IUIAutomationSynchronizedInputPattern_StartListening(IUIAutomationSynchronizedInputPattern* This,enum SynchronizedInputType inputType) { + return This->lpVtbl->StartListening(This,inputType); +} +static inline HRESULT IUIAutomationSynchronizedInputPattern_Cancel(IUIAutomationSynchronizedInputPattern* This) { + return This->lpVtbl->Cancel(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationSynchronizedInputPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTablePattern interface + */ +#ifndef __IUIAutomationTablePattern_INTERFACE_DEFINED__ +#define __IUIAutomationTablePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTablePattern, 0x620e691c, 0xea96, 0x4710, 0xa8,0x50, 0x75,0x4b,0x24,0xce,0x24,0x17); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("620e691c-ea96-4710-a850-754b24ce2417") +IUIAutomationTablePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCurrentRowHeaders( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentColumnHeaders( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentRowOrColumnMajor( + enum RowOrColumnMajor *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedRowHeaders( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedColumnHeaders( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedRowOrColumnMajor( + enum RowOrColumnMajor *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTablePattern, 0x620e691c, 0xea96, 0x4710, 0xa8,0x50, 0x75,0x4b,0x24,0xce,0x24,0x17) +#endif +#else +typedef struct IUIAutomationTablePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTablePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTablePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTablePattern *This); + + /*** IUIAutomationTablePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCurrentRowHeaders)( + IUIAutomationTablePattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentColumnHeaders)( + IUIAutomationTablePattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentRowOrColumnMajor)( + IUIAutomationTablePattern *This, + enum RowOrColumnMajor *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedRowHeaders)( + IUIAutomationTablePattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedColumnHeaders)( + IUIAutomationTablePattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedRowOrColumnMajor)( + IUIAutomationTablePattern *This, + enum RowOrColumnMajor *retVal); + + END_INTERFACE +} IUIAutomationTablePatternVtbl; + +interface IUIAutomationTablePattern { + CONST_VTBL IUIAutomationTablePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTablePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTablePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTablePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTablePattern methods ***/ +#define IUIAutomationTablePattern_GetCurrentRowHeaders(This,retVal) (This)->lpVtbl->GetCurrentRowHeaders(This,retVal) +#define IUIAutomationTablePattern_GetCurrentColumnHeaders(This,retVal) (This)->lpVtbl->GetCurrentColumnHeaders(This,retVal) +#define IUIAutomationTablePattern_get_CurrentRowOrColumnMajor(This,retVal) (This)->lpVtbl->get_CurrentRowOrColumnMajor(This,retVal) +#define IUIAutomationTablePattern_GetCachedRowHeaders(This,retVal) (This)->lpVtbl->GetCachedRowHeaders(This,retVal) +#define IUIAutomationTablePattern_GetCachedColumnHeaders(This,retVal) (This)->lpVtbl->GetCachedColumnHeaders(This,retVal) +#define IUIAutomationTablePattern_get_CachedRowOrColumnMajor(This,retVal) (This)->lpVtbl->get_CachedRowOrColumnMajor(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTablePattern_QueryInterface(IUIAutomationTablePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTablePattern_AddRef(IUIAutomationTablePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTablePattern_Release(IUIAutomationTablePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTablePattern methods ***/ +static inline HRESULT IUIAutomationTablePattern_GetCurrentRowHeaders(IUIAutomationTablePattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentRowHeaders(This,retVal); +} +static inline HRESULT IUIAutomationTablePattern_GetCurrentColumnHeaders(IUIAutomationTablePattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentColumnHeaders(This,retVal); +} +static inline HRESULT IUIAutomationTablePattern_get_CurrentRowOrColumnMajor(IUIAutomationTablePattern* This,enum RowOrColumnMajor *retVal) { + return This->lpVtbl->get_CurrentRowOrColumnMajor(This,retVal); +} +static inline HRESULT IUIAutomationTablePattern_GetCachedRowHeaders(IUIAutomationTablePattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedRowHeaders(This,retVal); +} +static inline HRESULT IUIAutomationTablePattern_GetCachedColumnHeaders(IUIAutomationTablePattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedColumnHeaders(This,retVal); +} +static inline HRESULT IUIAutomationTablePattern_get_CachedRowOrColumnMajor(IUIAutomationTablePattern* This,enum RowOrColumnMajor *retVal) { + return This->lpVtbl->get_CachedRowOrColumnMajor(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTablePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTableItemPattern interface + */ +#ifndef __IUIAutomationTableItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationTableItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTableItemPattern, 0x0b964eb3, 0xef2e, 0x4464, 0x9c,0x79, 0x61,0xd6,0x17,0x37,0xa2,0x7e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0b964eb3-ef2e-4464-9c79-61d61737a27e") +IUIAutomationTableItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCurrentRowHeaderItems( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentColumnHeaderItems( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedRowHeaderItems( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedColumnHeaderItems( + IUIAutomationElementArray **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTableItemPattern, 0x0b964eb3, 0xef2e, 0x4464, 0x9c,0x79, 0x61,0xd6,0x17,0x37,0xa2,0x7e) +#endif +#else +typedef struct IUIAutomationTableItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTableItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTableItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTableItemPattern *This); + + /*** IUIAutomationTableItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCurrentRowHeaderItems)( + IUIAutomationTableItemPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentColumnHeaderItems)( + IUIAutomationTableItemPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedRowHeaderItems)( + IUIAutomationTableItemPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedColumnHeaderItems)( + IUIAutomationTableItemPattern *This, + IUIAutomationElementArray **retVal); + + END_INTERFACE +} IUIAutomationTableItemPatternVtbl; + +interface IUIAutomationTableItemPattern { + CONST_VTBL IUIAutomationTableItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTableItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTableItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTableItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTableItemPattern methods ***/ +#define IUIAutomationTableItemPattern_GetCurrentRowHeaderItems(This,retVal) (This)->lpVtbl->GetCurrentRowHeaderItems(This,retVal) +#define IUIAutomationTableItemPattern_GetCurrentColumnHeaderItems(This,retVal) (This)->lpVtbl->GetCurrentColumnHeaderItems(This,retVal) +#define IUIAutomationTableItemPattern_GetCachedRowHeaderItems(This,retVal) (This)->lpVtbl->GetCachedRowHeaderItems(This,retVal) +#define IUIAutomationTableItemPattern_GetCachedColumnHeaderItems(This,retVal) (This)->lpVtbl->GetCachedColumnHeaderItems(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTableItemPattern_QueryInterface(IUIAutomationTableItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTableItemPattern_AddRef(IUIAutomationTableItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTableItemPattern_Release(IUIAutomationTableItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTableItemPattern methods ***/ +static inline HRESULT IUIAutomationTableItemPattern_GetCurrentRowHeaderItems(IUIAutomationTableItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentRowHeaderItems(This,retVal); +} +static inline HRESULT IUIAutomationTableItemPattern_GetCurrentColumnHeaderItems(IUIAutomationTableItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentColumnHeaderItems(This,retVal); +} +static inline HRESULT IUIAutomationTableItemPattern_GetCachedRowHeaderItems(IUIAutomationTableItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedRowHeaderItems(This,retVal); +} +static inline HRESULT IUIAutomationTableItemPattern_GetCachedColumnHeaderItems(IUIAutomationTableItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedColumnHeaderItems(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTableItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTogglePattern interface + */ +#ifndef __IUIAutomationTogglePattern_INTERFACE_DEFINED__ +#define __IUIAutomationTogglePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTogglePattern, 0x94cf8058, 0x9b8d, 0x4ab9, 0x8b,0xfd, 0x4c,0xd0,0xa3,0x3c,0x8c,0x70); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94cf8058-9b8d-4ab9-8bfd-4cd0a33c8c70") +IUIAutomationTogglePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Toggle( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentToggleState( + enum ToggleState *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedToggleState( + enum ToggleState *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTogglePattern, 0x94cf8058, 0x9b8d, 0x4ab9, 0x8b,0xfd, 0x4c,0xd0,0xa3,0x3c,0x8c,0x70) +#endif +#else +typedef struct IUIAutomationTogglePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTogglePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTogglePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTogglePattern *This); + + /*** IUIAutomationTogglePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Toggle)( + IUIAutomationTogglePattern *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentToggleState)( + IUIAutomationTogglePattern *This, + enum ToggleState *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedToggleState)( + IUIAutomationTogglePattern *This, + enum ToggleState *retVal); + + END_INTERFACE +} IUIAutomationTogglePatternVtbl; + +interface IUIAutomationTogglePattern { + CONST_VTBL IUIAutomationTogglePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTogglePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTogglePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTogglePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTogglePattern methods ***/ +#define IUIAutomationTogglePattern_Toggle(This) (This)->lpVtbl->Toggle(This) +#define IUIAutomationTogglePattern_get_CurrentToggleState(This,retVal) (This)->lpVtbl->get_CurrentToggleState(This,retVal) +#define IUIAutomationTogglePattern_get_CachedToggleState(This,retVal) (This)->lpVtbl->get_CachedToggleState(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTogglePattern_QueryInterface(IUIAutomationTogglePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTogglePattern_AddRef(IUIAutomationTogglePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTogglePattern_Release(IUIAutomationTogglePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTogglePattern methods ***/ +static inline HRESULT IUIAutomationTogglePattern_Toggle(IUIAutomationTogglePattern* This) { + return This->lpVtbl->Toggle(This); +} +static inline HRESULT IUIAutomationTogglePattern_get_CurrentToggleState(IUIAutomationTogglePattern* This,enum ToggleState *retVal) { + return This->lpVtbl->get_CurrentToggleState(This,retVal); +} +static inline HRESULT IUIAutomationTogglePattern_get_CachedToggleState(IUIAutomationTogglePattern* This,enum ToggleState *retVal) { + return This->lpVtbl->get_CachedToggleState(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTogglePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTransformPattern interface + */ +#ifndef __IUIAutomationTransformPattern_INTERFACE_DEFINED__ +#define __IUIAutomationTransformPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTransformPattern, 0xa9b55844, 0xa55d, 0x4ef0, 0x92,0x6d, 0x56,0x9c,0x16,0xff,0x89,0xbb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a9b55844-a55d-4ef0-926d-569c16ff89bb") +IUIAutomationTransformPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Move( + double x, + double y) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resize( + double width, + double height) = 0; + + virtual HRESULT STDMETHODCALLTYPE Rotate( + double degrees) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanMove( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanResize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanRotate( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanMove( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanResize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanRotate( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTransformPattern, 0xa9b55844, 0xa55d, 0x4ef0, 0x92,0x6d, 0x56,0x9c,0x16,0xff,0x89,0xbb) +#endif +#else +typedef struct IUIAutomationTransformPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTransformPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTransformPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTransformPattern *This); + + /*** IUIAutomationTransformPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Move)( + IUIAutomationTransformPattern *This, + double x, + double y); + + HRESULT (STDMETHODCALLTYPE *Resize)( + IUIAutomationTransformPattern *This, + double width, + double height); + + HRESULT (STDMETHODCALLTYPE *Rotate)( + IUIAutomationTransformPattern *This, + double degrees); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanMove)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanResize)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanRotate)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanMove)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanResize)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanRotate)( + IUIAutomationTransformPattern *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationTransformPatternVtbl; + +interface IUIAutomationTransformPattern { + CONST_VTBL IUIAutomationTransformPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTransformPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTransformPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTransformPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTransformPattern methods ***/ +#define IUIAutomationTransformPattern_Move(This,x,y) (This)->lpVtbl->Move(This,x,y) +#define IUIAutomationTransformPattern_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) +#define IUIAutomationTransformPattern_Rotate(This,degrees) (This)->lpVtbl->Rotate(This,degrees) +#define IUIAutomationTransformPattern_get_CurrentCanMove(This,retVal) (This)->lpVtbl->get_CurrentCanMove(This,retVal) +#define IUIAutomationTransformPattern_get_CurrentCanResize(This,retVal) (This)->lpVtbl->get_CurrentCanResize(This,retVal) +#define IUIAutomationTransformPattern_get_CurrentCanRotate(This,retVal) (This)->lpVtbl->get_CurrentCanRotate(This,retVal) +#define IUIAutomationTransformPattern_get_CachedCanMove(This,retVal) (This)->lpVtbl->get_CachedCanMove(This,retVal) +#define IUIAutomationTransformPattern_get_CachedCanResize(This,retVal) (This)->lpVtbl->get_CachedCanResize(This,retVal) +#define IUIAutomationTransformPattern_get_CachedCanRotate(This,retVal) (This)->lpVtbl->get_CachedCanRotate(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTransformPattern_QueryInterface(IUIAutomationTransformPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTransformPattern_AddRef(IUIAutomationTransformPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTransformPattern_Release(IUIAutomationTransformPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTransformPattern methods ***/ +static inline HRESULT IUIAutomationTransformPattern_Move(IUIAutomationTransformPattern* This,double x,double y) { + return This->lpVtbl->Move(This,x,y); +} +static inline HRESULT IUIAutomationTransformPattern_Resize(IUIAutomationTransformPattern* This,double width,double height) { + return This->lpVtbl->Resize(This,width,height); +} +static inline HRESULT IUIAutomationTransformPattern_Rotate(IUIAutomationTransformPattern* This,double degrees) { + return This->lpVtbl->Rotate(This,degrees); +} +static inline HRESULT IUIAutomationTransformPattern_get_CurrentCanMove(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanMove(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern_get_CurrentCanResize(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanResize(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern_get_CurrentCanRotate(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanRotate(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern_get_CachedCanMove(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanMove(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern_get_CachedCanResize(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanResize(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern_get_CachedCanRotate(IUIAutomationTransformPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanRotate(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTransformPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationValuePattern interface + */ +#ifndef __IUIAutomationValuePattern_INTERFACE_DEFINED__ +#define __IUIAutomationValuePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationValuePattern, 0xa94cd8b1, 0x0844, 0x4cd6, 0x9d,0x2d, 0x64,0x05,0x37,0xab,0x39,0xe9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a94cd8b1-0844-4cd6-9d2d-640537ab39e9") +IUIAutomationValuePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetValue( + BSTR val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentValue( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsReadOnly( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedValue( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsReadOnly( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationValuePattern, 0xa94cd8b1, 0x0844, 0x4cd6, 0x9d,0x2d, 0x64,0x05,0x37,0xab,0x39,0xe9) +#endif +#else +typedef struct IUIAutomationValuePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationValuePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationValuePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationValuePattern *This); + + /*** IUIAutomationValuePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *SetValue)( + IUIAutomationValuePattern *This, + BSTR val); + + HRESULT (STDMETHODCALLTYPE *get_CurrentValue)( + IUIAutomationValuePattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsReadOnly)( + IUIAutomationValuePattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedValue)( + IUIAutomationValuePattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsReadOnly)( + IUIAutomationValuePattern *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationValuePatternVtbl; + +interface IUIAutomationValuePattern { + CONST_VTBL IUIAutomationValuePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationValuePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationValuePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationValuePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationValuePattern methods ***/ +#define IUIAutomationValuePattern_SetValue(This,val) (This)->lpVtbl->SetValue(This,val) +#define IUIAutomationValuePattern_get_CurrentValue(This,retVal) (This)->lpVtbl->get_CurrentValue(This,retVal) +#define IUIAutomationValuePattern_get_CurrentIsReadOnly(This,retVal) (This)->lpVtbl->get_CurrentIsReadOnly(This,retVal) +#define IUIAutomationValuePattern_get_CachedValue(This,retVal) (This)->lpVtbl->get_CachedValue(This,retVal) +#define IUIAutomationValuePattern_get_CachedIsReadOnly(This,retVal) (This)->lpVtbl->get_CachedIsReadOnly(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationValuePattern_QueryInterface(IUIAutomationValuePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationValuePattern_AddRef(IUIAutomationValuePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationValuePattern_Release(IUIAutomationValuePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationValuePattern methods ***/ +static inline HRESULT IUIAutomationValuePattern_SetValue(IUIAutomationValuePattern* This,BSTR val) { + return This->lpVtbl->SetValue(This,val); +} +static inline HRESULT IUIAutomationValuePattern_get_CurrentValue(IUIAutomationValuePattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentValue(This,retVal); +} +static inline HRESULT IUIAutomationValuePattern_get_CurrentIsReadOnly(IUIAutomationValuePattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsReadOnly(This,retVal); +} +static inline HRESULT IUIAutomationValuePattern_get_CachedValue(IUIAutomationValuePattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedValue(This,retVal); +} +static inline HRESULT IUIAutomationValuePattern_get_CachedIsReadOnly(IUIAutomationValuePattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsReadOnly(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationValuePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationWindowPattern interface + */ +#ifndef __IUIAutomationWindowPattern_INTERFACE_DEFINED__ +#define __IUIAutomationWindowPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationWindowPattern, 0x0faef453, 0x9208, 0x43ef, 0xbb,0xb2, 0x3b,0x48,0x51,0x77,0x86,0x4f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0faef453-9208-43ef-bbb2-3b485177864f") +IUIAutomationWindowPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WaitForInputIdle( + int milliseconds, + WINBOOL *success) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWindowVisualState( + enum WindowVisualState state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanMaximize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanMinimize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsModal( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsTopmost( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentWindowVisualState( + enum WindowVisualState *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentWindowInteractionState( + enum WindowInteractionState *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanMaximize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanMinimize( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsModal( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsTopmost( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedWindowVisualState( + enum WindowVisualState *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedWindowInteractionState( + enum WindowInteractionState *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationWindowPattern, 0x0faef453, 0x9208, 0x43ef, 0xbb,0xb2, 0x3b,0x48,0x51,0x77,0x86,0x4f) +#endif +#else +typedef struct IUIAutomationWindowPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationWindowPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationWindowPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationWindowPattern *This); + + /*** IUIAutomationWindowPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + IUIAutomationWindowPattern *This); + + HRESULT (STDMETHODCALLTYPE *WaitForInputIdle)( + IUIAutomationWindowPattern *This, + int milliseconds, + WINBOOL *success); + + HRESULT (STDMETHODCALLTYPE *SetWindowVisualState)( + IUIAutomationWindowPattern *This, + enum WindowVisualState state); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanMaximize)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanMinimize)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsModal)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsTopmost)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentWindowVisualState)( + IUIAutomationWindowPattern *This, + enum WindowVisualState *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentWindowInteractionState)( + IUIAutomationWindowPattern *This, + enum WindowInteractionState *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanMaximize)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanMinimize)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsModal)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsTopmost)( + IUIAutomationWindowPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedWindowVisualState)( + IUIAutomationWindowPattern *This, + enum WindowVisualState *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedWindowInteractionState)( + IUIAutomationWindowPattern *This, + enum WindowInteractionState *retVal); + + END_INTERFACE +} IUIAutomationWindowPatternVtbl; + +interface IUIAutomationWindowPattern { + CONST_VTBL IUIAutomationWindowPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationWindowPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationWindowPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationWindowPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationWindowPattern methods ***/ +#define IUIAutomationWindowPattern_Close(This) (This)->lpVtbl->Close(This) +#define IUIAutomationWindowPattern_WaitForInputIdle(This,milliseconds,success) (This)->lpVtbl->WaitForInputIdle(This,milliseconds,success) +#define IUIAutomationWindowPattern_SetWindowVisualState(This,state) (This)->lpVtbl->SetWindowVisualState(This,state) +#define IUIAutomationWindowPattern_get_CurrentCanMaximize(This,retVal) (This)->lpVtbl->get_CurrentCanMaximize(This,retVal) +#define IUIAutomationWindowPattern_get_CurrentCanMinimize(This,retVal) (This)->lpVtbl->get_CurrentCanMinimize(This,retVal) +#define IUIAutomationWindowPattern_get_CurrentIsModal(This,retVal) (This)->lpVtbl->get_CurrentIsModal(This,retVal) +#define IUIAutomationWindowPattern_get_CurrentIsTopmost(This,retVal) (This)->lpVtbl->get_CurrentIsTopmost(This,retVal) +#define IUIAutomationWindowPattern_get_CurrentWindowVisualState(This,retVal) (This)->lpVtbl->get_CurrentWindowVisualState(This,retVal) +#define IUIAutomationWindowPattern_get_CurrentWindowInteractionState(This,retVal) (This)->lpVtbl->get_CurrentWindowInteractionState(This,retVal) +#define IUIAutomationWindowPattern_get_CachedCanMaximize(This,retVal) (This)->lpVtbl->get_CachedCanMaximize(This,retVal) +#define IUIAutomationWindowPattern_get_CachedCanMinimize(This,retVal) (This)->lpVtbl->get_CachedCanMinimize(This,retVal) +#define IUIAutomationWindowPattern_get_CachedIsModal(This,retVal) (This)->lpVtbl->get_CachedIsModal(This,retVal) +#define IUIAutomationWindowPattern_get_CachedIsTopmost(This,retVal) (This)->lpVtbl->get_CachedIsTopmost(This,retVal) +#define IUIAutomationWindowPattern_get_CachedWindowVisualState(This,retVal) (This)->lpVtbl->get_CachedWindowVisualState(This,retVal) +#define IUIAutomationWindowPattern_get_CachedWindowInteractionState(This,retVal) (This)->lpVtbl->get_CachedWindowInteractionState(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationWindowPattern_QueryInterface(IUIAutomationWindowPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationWindowPattern_AddRef(IUIAutomationWindowPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationWindowPattern_Release(IUIAutomationWindowPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationWindowPattern methods ***/ +static inline HRESULT IUIAutomationWindowPattern_Close(IUIAutomationWindowPattern* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IUIAutomationWindowPattern_WaitForInputIdle(IUIAutomationWindowPattern* This,int milliseconds,WINBOOL *success) { + return This->lpVtbl->WaitForInputIdle(This,milliseconds,success); +} +static inline HRESULT IUIAutomationWindowPattern_SetWindowVisualState(IUIAutomationWindowPattern* This,enum WindowVisualState state) { + return This->lpVtbl->SetWindowVisualState(This,state); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentCanMaximize(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanMaximize(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentCanMinimize(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanMinimize(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentIsModal(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsModal(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentIsTopmost(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsTopmost(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentWindowVisualState(IUIAutomationWindowPattern* This,enum WindowVisualState *retVal) { + return This->lpVtbl->get_CurrentWindowVisualState(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CurrentWindowInteractionState(IUIAutomationWindowPattern* This,enum WindowInteractionState *retVal) { + return This->lpVtbl->get_CurrentWindowInteractionState(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedCanMaximize(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanMaximize(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedCanMinimize(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanMinimize(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedIsModal(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsModal(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedIsTopmost(IUIAutomationWindowPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsTopmost(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedWindowVisualState(IUIAutomationWindowPattern* This,enum WindowVisualState *retVal) { + return This->lpVtbl->get_CachedWindowVisualState(This,retVal); +} +static inline HRESULT IUIAutomationWindowPattern_get_CachedWindowInteractionState(IUIAutomationWindowPattern* This,enum WindowInteractionState *retVal) { + return This->lpVtbl->get_CachedWindowInteractionState(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationWindowPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextRange interface + */ +#ifndef __IUIAutomationTextRange_INTERFACE_DEFINED__ +#define __IUIAutomationTextRange_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextRange, 0xa543cc6a, 0xf4ae, 0x494b, 0x82,0x39, 0xc8,0x14,0x48,0x11,0x87,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a543cc6a-f4ae-494b-8239-c814481187a8") +IUIAutomationTextRange : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Clone( + IUIAutomationTextRange **clonedRange) = 0; + + virtual HRESULT STDMETHODCALLTYPE Compare( + IUIAutomationTextRange *range, + WINBOOL *areSame) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareEndpoints( + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint, + int *compValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExpandToEnclosingUnit( + enum TextUnit textUnit) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAttribute( + TEXTATTRIBUTEID attr, + VARIANT val, + WINBOOL backward, + IUIAutomationTextRange **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindText( + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + IUIAutomationTextRange **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeValue( + TEXTATTRIBUTEID attr, + VARIANT *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBoundingRectangles( + SAFEARRAY **boundingRects) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnclosingElement( + IUIAutomationElement **enclosingElement) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetText( + int maxLength, + BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE Move( + enum TextUnit unit, + int count, + int *moved) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByUnit( + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *moved) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByRange( + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE Select( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddToSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( + WINBOOL alignToTop) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildren( + IUIAutomationElementArray **children) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextRange, 0xa543cc6a, 0xf4ae, 0x494b, 0x82,0x39, 0xc8,0x14,0x48,0x11,0x87,0xa8) +#endif +#else +typedef struct IUIAutomationTextRangeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextRange *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextRange *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextRange *This); + + /*** IUIAutomationTextRange methods ***/ + HRESULT (STDMETHODCALLTYPE *Clone)( + IUIAutomationTextRange *This, + IUIAutomationTextRange **clonedRange); + + HRESULT (STDMETHODCALLTYPE *Compare)( + IUIAutomationTextRange *This, + IUIAutomationTextRange *range, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareEndpoints)( + IUIAutomationTextRange *This, + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint, + int *compValue); + + HRESULT (STDMETHODCALLTYPE *ExpandToEnclosingUnit)( + IUIAutomationTextRange *This, + enum TextUnit textUnit); + + HRESULT (STDMETHODCALLTYPE *FindAttribute)( + IUIAutomationTextRange *This, + TEXTATTRIBUTEID attr, + VARIANT val, + WINBOOL backward, + IUIAutomationTextRange **found); + + HRESULT (STDMETHODCALLTYPE *FindText)( + IUIAutomationTextRange *This, + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + IUIAutomationTextRange **found); + + HRESULT (STDMETHODCALLTYPE *GetAttributeValue)( + IUIAutomationTextRange *This, + TEXTATTRIBUTEID attr, + VARIANT *value); + + HRESULT (STDMETHODCALLTYPE *GetBoundingRectangles)( + IUIAutomationTextRange *This, + SAFEARRAY **boundingRects); + + HRESULT (STDMETHODCALLTYPE *GetEnclosingElement)( + IUIAutomationTextRange *This, + IUIAutomationElement **enclosingElement); + + HRESULT (STDMETHODCALLTYPE *GetText)( + IUIAutomationTextRange *This, + int maxLength, + BSTR *text); + + HRESULT (STDMETHODCALLTYPE *Move)( + IUIAutomationTextRange *This, + enum TextUnit unit, + int count, + int *moved); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByUnit)( + IUIAutomationTextRange *This, + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *moved); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByRange)( + IUIAutomationTextRange *This, + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint); + + HRESULT (STDMETHODCALLTYPE *Select)( + IUIAutomationTextRange *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + IUIAutomationTextRange *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + IUIAutomationTextRange *This); + + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + IUIAutomationTextRange *This, + WINBOOL alignToTop); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + IUIAutomationTextRange *This, + IUIAutomationElementArray **children); + + END_INTERFACE +} IUIAutomationTextRangeVtbl; + +interface IUIAutomationTextRange { + CONST_VTBL IUIAutomationTextRangeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextRange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextRange_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextRange_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextRange methods ***/ +#define IUIAutomationTextRange_Clone(This,clonedRange) (This)->lpVtbl->Clone(This,clonedRange) +#define IUIAutomationTextRange_Compare(This,range,areSame) (This)->lpVtbl->Compare(This,range,areSame) +#define IUIAutomationTextRange_CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue) (This)->lpVtbl->CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue) +#define IUIAutomationTextRange_ExpandToEnclosingUnit(This,textUnit) (This)->lpVtbl->ExpandToEnclosingUnit(This,textUnit) +#define IUIAutomationTextRange_FindAttribute(This,attr,val,backward,found) (This)->lpVtbl->FindAttribute(This,attr,val,backward,found) +#define IUIAutomationTextRange_FindText(This,text,backward,ignoreCase,found) (This)->lpVtbl->FindText(This,text,backward,ignoreCase,found) +#define IUIAutomationTextRange_GetAttributeValue(This,attr,value) (This)->lpVtbl->GetAttributeValue(This,attr,value) +#define IUIAutomationTextRange_GetBoundingRectangles(This,boundingRects) (This)->lpVtbl->GetBoundingRectangles(This,boundingRects) +#define IUIAutomationTextRange_GetEnclosingElement(This,enclosingElement) (This)->lpVtbl->GetEnclosingElement(This,enclosingElement) +#define IUIAutomationTextRange_GetText(This,maxLength,text) (This)->lpVtbl->GetText(This,maxLength,text) +#define IUIAutomationTextRange_Move(This,unit,count,moved) (This)->lpVtbl->Move(This,unit,count,moved) +#define IUIAutomationTextRange_MoveEndpointByUnit(This,endpoint,unit,count,moved) (This)->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,moved) +#define IUIAutomationTextRange_MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint) (This)->lpVtbl->MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint) +#define IUIAutomationTextRange_Select(This) (This)->lpVtbl->Select(This) +#define IUIAutomationTextRange_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define IUIAutomationTextRange_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define IUIAutomationTextRange_ScrollIntoView(This,alignToTop) (This)->lpVtbl->ScrollIntoView(This,alignToTop) +#define IUIAutomationTextRange_GetChildren(This,children) (This)->lpVtbl->GetChildren(This,children) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextRange_QueryInterface(IUIAutomationTextRange* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextRange_AddRef(IUIAutomationTextRange* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextRange_Release(IUIAutomationTextRange* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextRange methods ***/ +static inline HRESULT IUIAutomationTextRange_Clone(IUIAutomationTextRange* This,IUIAutomationTextRange **clonedRange) { + return This->lpVtbl->Clone(This,clonedRange); +} +static inline HRESULT IUIAutomationTextRange_Compare(IUIAutomationTextRange* This,IUIAutomationTextRange *range,WINBOOL *areSame) { + return This->lpVtbl->Compare(This,range,areSame); +} +static inline HRESULT IUIAutomationTextRange_CompareEndpoints(IUIAutomationTextRange* This,enum TextPatternRangeEndpoint srcEndPoint,IUIAutomationTextRange *range,enum TextPatternRangeEndpoint targetEndPoint,int *compValue) { + return This->lpVtbl->CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue); +} +static inline HRESULT IUIAutomationTextRange_ExpandToEnclosingUnit(IUIAutomationTextRange* This,enum TextUnit textUnit) { + return This->lpVtbl->ExpandToEnclosingUnit(This,textUnit); +} +static inline HRESULT IUIAutomationTextRange_FindAttribute(IUIAutomationTextRange* This,TEXTATTRIBUTEID attr,VARIANT val,WINBOOL backward,IUIAutomationTextRange **found) { + return This->lpVtbl->FindAttribute(This,attr,val,backward,found); +} +static inline HRESULT IUIAutomationTextRange_FindText(IUIAutomationTextRange* This,BSTR text,WINBOOL backward,WINBOOL ignoreCase,IUIAutomationTextRange **found) { + return This->lpVtbl->FindText(This,text,backward,ignoreCase,found); +} +static inline HRESULT IUIAutomationTextRange_GetAttributeValue(IUIAutomationTextRange* This,TEXTATTRIBUTEID attr,VARIANT *value) { + return This->lpVtbl->GetAttributeValue(This,attr,value); +} +static inline HRESULT IUIAutomationTextRange_GetBoundingRectangles(IUIAutomationTextRange* This,SAFEARRAY **boundingRects) { + return This->lpVtbl->GetBoundingRectangles(This,boundingRects); +} +static inline HRESULT IUIAutomationTextRange_GetEnclosingElement(IUIAutomationTextRange* This,IUIAutomationElement **enclosingElement) { + return This->lpVtbl->GetEnclosingElement(This,enclosingElement); +} +static inline HRESULT IUIAutomationTextRange_GetText(IUIAutomationTextRange* This,int maxLength,BSTR *text) { + return This->lpVtbl->GetText(This,maxLength,text); +} +static inline HRESULT IUIAutomationTextRange_Move(IUIAutomationTextRange* This,enum TextUnit unit,int count,int *moved) { + return This->lpVtbl->Move(This,unit,count,moved); +} +static inline HRESULT IUIAutomationTextRange_MoveEndpointByUnit(IUIAutomationTextRange* This,enum TextPatternRangeEndpoint endpoint,enum TextUnit unit,int count,int *moved) { + return This->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,moved); +} +static inline HRESULT IUIAutomationTextRange_MoveEndpointByRange(IUIAutomationTextRange* This,enum TextPatternRangeEndpoint srcEndPoint,IUIAutomationTextRange *range,enum TextPatternRangeEndpoint targetEndPoint) { + return This->lpVtbl->MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint); +} +static inline HRESULT IUIAutomationTextRange_Select(IUIAutomationTextRange* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT IUIAutomationTextRange_AddToSelection(IUIAutomationTextRange* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT IUIAutomationTextRange_RemoveFromSelection(IUIAutomationTextRange* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT IUIAutomationTextRange_ScrollIntoView(IUIAutomationTextRange* This,WINBOOL alignToTop) { + return This->lpVtbl->ScrollIntoView(This,alignToTop); +} +static inline HRESULT IUIAutomationTextRange_GetChildren(IUIAutomationTextRange* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetChildren(This,children); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextRange_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextRange2 interface + */ +#ifndef __IUIAutomationTextRange2_INTERFACE_DEFINED__ +#define __IUIAutomationTextRange2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextRange2, 0xbb9b40e0, 0x5e04, 0x46bd, 0x9b,0xe0, 0x4b,0x60,0x1b,0x9a,0xfa,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bb9b40e0-5e04-46bd-9be0-4b601b9afad4") +IUIAutomationTextRange2 : public IUIAutomationTextRange +{ + virtual HRESULT STDMETHODCALLTYPE ShowContextMenu( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextRange2, 0xbb9b40e0, 0x5e04, 0x46bd, 0x9b,0xe0, 0x4b,0x60,0x1b,0x9a,0xfa,0xd4) +#endif +#else +typedef struct IUIAutomationTextRange2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextRange2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextRange2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextRange2 *This); + + /*** IUIAutomationTextRange methods ***/ + HRESULT (STDMETHODCALLTYPE *Clone)( + IUIAutomationTextRange2 *This, + IUIAutomationTextRange **clonedRange); + + HRESULT (STDMETHODCALLTYPE *Compare)( + IUIAutomationTextRange2 *This, + IUIAutomationTextRange *range, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareEndpoints)( + IUIAutomationTextRange2 *This, + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint, + int *compValue); + + HRESULT (STDMETHODCALLTYPE *ExpandToEnclosingUnit)( + IUIAutomationTextRange2 *This, + enum TextUnit textUnit); + + HRESULT (STDMETHODCALLTYPE *FindAttribute)( + IUIAutomationTextRange2 *This, + TEXTATTRIBUTEID attr, + VARIANT val, + WINBOOL backward, + IUIAutomationTextRange **found); + + HRESULT (STDMETHODCALLTYPE *FindText)( + IUIAutomationTextRange2 *This, + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + IUIAutomationTextRange **found); + + HRESULT (STDMETHODCALLTYPE *GetAttributeValue)( + IUIAutomationTextRange2 *This, + TEXTATTRIBUTEID attr, + VARIANT *value); + + HRESULT (STDMETHODCALLTYPE *GetBoundingRectangles)( + IUIAutomationTextRange2 *This, + SAFEARRAY **boundingRects); + + HRESULT (STDMETHODCALLTYPE *GetEnclosingElement)( + IUIAutomationTextRange2 *This, + IUIAutomationElement **enclosingElement); + + HRESULT (STDMETHODCALLTYPE *GetText)( + IUIAutomationTextRange2 *This, + int maxLength, + BSTR *text); + + HRESULT (STDMETHODCALLTYPE *Move)( + IUIAutomationTextRange2 *This, + enum TextUnit unit, + int count, + int *moved); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByUnit)( + IUIAutomationTextRange2 *This, + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *moved); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByRange)( + IUIAutomationTextRange2 *This, + enum TextPatternRangeEndpoint srcEndPoint, + IUIAutomationTextRange *range, + enum TextPatternRangeEndpoint targetEndPoint); + + HRESULT (STDMETHODCALLTYPE *Select)( + IUIAutomationTextRange2 *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + IUIAutomationTextRange2 *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + IUIAutomationTextRange2 *This); + + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + IUIAutomationTextRange2 *This, + WINBOOL alignToTop); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + IUIAutomationTextRange2 *This, + IUIAutomationElementArray **children); + + /*** IUIAutomationTextRange2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationTextRange2 *This); + + END_INTERFACE +} IUIAutomationTextRange2Vtbl; + +interface IUIAutomationTextRange2 { + CONST_VTBL IUIAutomationTextRange2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextRange2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextRange2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextRange2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextRange methods ***/ +#define IUIAutomationTextRange2_Clone(This,clonedRange) (This)->lpVtbl->Clone(This,clonedRange) +#define IUIAutomationTextRange2_Compare(This,range,areSame) (This)->lpVtbl->Compare(This,range,areSame) +#define IUIAutomationTextRange2_CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue) (This)->lpVtbl->CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue) +#define IUIAutomationTextRange2_ExpandToEnclosingUnit(This,textUnit) (This)->lpVtbl->ExpandToEnclosingUnit(This,textUnit) +#define IUIAutomationTextRange2_FindAttribute(This,attr,val,backward,found) (This)->lpVtbl->FindAttribute(This,attr,val,backward,found) +#define IUIAutomationTextRange2_FindText(This,text,backward,ignoreCase,found) (This)->lpVtbl->FindText(This,text,backward,ignoreCase,found) +#define IUIAutomationTextRange2_GetAttributeValue(This,attr,value) (This)->lpVtbl->GetAttributeValue(This,attr,value) +#define IUIAutomationTextRange2_GetBoundingRectangles(This,boundingRects) (This)->lpVtbl->GetBoundingRectangles(This,boundingRects) +#define IUIAutomationTextRange2_GetEnclosingElement(This,enclosingElement) (This)->lpVtbl->GetEnclosingElement(This,enclosingElement) +#define IUIAutomationTextRange2_GetText(This,maxLength,text) (This)->lpVtbl->GetText(This,maxLength,text) +#define IUIAutomationTextRange2_Move(This,unit,count,moved) (This)->lpVtbl->Move(This,unit,count,moved) +#define IUIAutomationTextRange2_MoveEndpointByUnit(This,endpoint,unit,count,moved) (This)->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,moved) +#define IUIAutomationTextRange2_MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint) (This)->lpVtbl->MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint) +#define IUIAutomationTextRange2_Select(This) (This)->lpVtbl->Select(This) +#define IUIAutomationTextRange2_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define IUIAutomationTextRange2_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define IUIAutomationTextRange2_ScrollIntoView(This,alignToTop) (This)->lpVtbl->ScrollIntoView(This,alignToTop) +#define IUIAutomationTextRange2_GetChildren(This,children) (This)->lpVtbl->GetChildren(This,children) +/*** IUIAutomationTextRange2 methods ***/ +#define IUIAutomationTextRange2_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextRange2_QueryInterface(IUIAutomationTextRange2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextRange2_AddRef(IUIAutomationTextRange2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextRange2_Release(IUIAutomationTextRange2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextRange methods ***/ +static inline HRESULT IUIAutomationTextRange2_Clone(IUIAutomationTextRange2* This,IUIAutomationTextRange **clonedRange) { + return This->lpVtbl->Clone(This,clonedRange); +} +static inline HRESULT IUIAutomationTextRange2_Compare(IUIAutomationTextRange2* This,IUIAutomationTextRange *range,WINBOOL *areSame) { + return This->lpVtbl->Compare(This,range,areSame); +} +static inline HRESULT IUIAutomationTextRange2_CompareEndpoints(IUIAutomationTextRange2* This,enum TextPatternRangeEndpoint srcEndPoint,IUIAutomationTextRange *range,enum TextPatternRangeEndpoint targetEndPoint,int *compValue) { + return This->lpVtbl->CompareEndpoints(This,srcEndPoint,range,targetEndPoint,compValue); +} +static inline HRESULT IUIAutomationTextRange2_ExpandToEnclosingUnit(IUIAutomationTextRange2* This,enum TextUnit textUnit) { + return This->lpVtbl->ExpandToEnclosingUnit(This,textUnit); +} +static inline HRESULT IUIAutomationTextRange2_FindAttribute(IUIAutomationTextRange2* This,TEXTATTRIBUTEID attr,VARIANT val,WINBOOL backward,IUIAutomationTextRange **found) { + return This->lpVtbl->FindAttribute(This,attr,val,backward,found); +} +static inline HRESULT IUIAutomationTextRange2_FindText(IUIAutomationTextRange2* This,BSTR text,WINBOOL backward,WINBOOL ignoreCase,IUIAutomationTextRange **found) { + return This->lpVtbl->FindText(This,text,backward,ignoreCase,found); +} +static inline HRESULT IUIAutomationTextRange2_GetAttributeValue(IUIAutomationTextRange2* This,TEXTATTRIBUTEID attr,VARIANT *value) { + return This->lpVtbl->GetAttributeValue(This,attr,value); +} +static inline HRESULT IUIAutomationTextRange2_GetBoundingRectangles(IUIAutomationTextRange2* This,SAFEARRAY **boundingRects) { + return This->lpVtbl->GetBoundingRectangles(This,boundingRects); +} +static inline HRESULT IUIAutomationTextRange2_GetEnclosingElement(IUIAutomationTextRange2* This,IUIAutomationElement **enclosingElement) { + return This->lpVtbl->GetEnclosingElement(This,enclosingElement); +} +static inline HRESULT IUIAutomationTextRange2_GetText(IUIAutomationTextRange2* This,int maxLength,BSTR *text) { + return This->lpVtbl->GetText(This,maxLength,text); +} +static inline HRESULT IUIAutomationTextRange2_Move(IUIAutomationTextRange2* This,enum TextUnit unit,int count,int *moved) { + return This->lpVtbl->Move(This,unit,count,moved); +} +static inline HRESULT IUIAutomationTextRange2_MoveEndpointByUnit(IUIAutomationTextRange2* This,enum TextPatternRangeEndpoint endpoint,enum TextUnit unit,int count,int *moved) { + return This->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,moved); +} +static inline HRESULT IUIAutomationTextRange2_MoveEndpointByRange(IUIAutomationTextRange2* This,enum TextPatternRangeEndpoint srcEndPoint,IUIAutomationTextRange *range,enum TextPatternRangeEndpoint targetEndPoint) { + return This->lpVtbl->MoveEndpointByRange(This,srcEndPoint,range,targetEndPoint); +} +static inline HRESULT IUIAutomationTextRange2_Select(IUIAutomationTextRange2* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT IUIAutomationTextRange2_AddToSelection(IUIAutomationTextRange2* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT IUIAutomationTextRange2_RemoveFromSelection(IUIAutomationTextRange2* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT IUIAutomationTextRange2_ScrollIntoView(IUIAutomationTextRange2* This,WINBOOL alignToTop) { + return This->lpVtbl->ScrollIntoView(This,alignToTop); +} +static inline HRESULT IUIAutomationTextRange2_GetChildren(IUIAutomationTextRange2* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetChildren(This,children); +} +/*** IUIAutomationTextRange2 methods ***/ +static inline HRESULT IUIAutomationTextRange2_ShowContextMenu(IUIAutomationTextRange2* This) { + return This->lpVtbl->ShowContextMenu(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextRange2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextRangeArray interface + */ +#ifndef __IUIAutomationTextRangeArray_INTERFACE_DEFINED__ +#define __IUIAutomationTextRangeArray_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextRangeArray, 0xce4ae76a, 0xe717, 0x4c98, 0x81,0xea, 0x47,0x37,0x1d,0x02,0x8e,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ce4ae76a-e717-4c98-81ea-47371d028eb6") +IUIAutomationTextRangeArray : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Length( + int *length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetElement( + int index, + IUIAutomationTextRange **element) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextRangeArray, 0xce4ae76a, 0xe717, 0x4c98, 0x81,0xea, 0x47,0x37,0x1d,0x02,0x8e,0xb6) +#endif +#else +typedef struct IUIAutomationTextRangeArrayVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextRangeArray *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextRangeArray *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextRangeArray *This); + + /*** IUIAutomationTextRangeArray methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Length)( + IUIAutomationTextRangeArray *This, + int *length); + + HRESULT (STDMETHODCALLTYPE *GetElement)( + IUIAutomationTextRangeArray *This, + int index, + IUIAutomationTextRange **element); + + END_INTERFACE +} IUIAutomationTextRangeArrayVtbl; + +interface IUIAutomationTextRangeArray { + CONST_VTBL IUIAutomationTextRangeArrayVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextRangeArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextRangeArray_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextRangeArray_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextRangeArray methods ***/ +#define IUIAutomationTextRangeArray_get_Length(This,length) (This)->lpVtbl->get_Length(This,length) +#define IUIAutomationTextRangeArray_GetElement(This,index,element) (This)->lpVtbl->GetElement(This,index,element) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextRangeArray_QueryInterface(IUIAutomationTextRangeArray* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextRangeArray_AddRef(IUIAutomationTextRangeArray* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextRangeArray_Release(IUIAutomationTextRangeArray* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextRangeArray methods ***/ +static inline HRESULT IUIAutomationTextRangeArray_get_Length(IUIAutomationTextRangeArray* This,int *length) { + return This->lpVtbl->get_Length(This,length); +} +static inline HRESULT IUIAutomationTextRangeArray_GetElement(IUIAutomationTextRangeArray* This,int index,IUIAutomationTextRange **element) { + return This->lpVtbl->GetElement(This,index,element); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextRangeArray_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextPattern interface + */ +#ifndef __IUIAutomationTextPattern_INTERFACE_DEFINED__ +#define __IUIAutomationTextPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextPattern, 0x32eba289, 0x3583, 0x42c9, 0x9c,0x59, 0x3b,0x6d,0x9a,0x1e,0x9b,0x6a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("32eba289-3583-42c9-9c59-3b6d9a1e9b6a") +IUIAutomationTextPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RangeFromPoint( + POINT pt, + IUIAutomationTextRange **range) = 0; + + virtual HRESULT STDMETHODCALLTYPE RangeFromChild( + IUIAutomationElement *child, + IUIAutomationTextRange **range) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSelection( + IUIAutomationTextRangeArray **ranges) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisibleRanges( + IUIAutomationTextRangeArray **ranges) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DocumentRange( + IUIAutomationTextRange **range) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupportedTextSelection( + enum SupportedTextSelection *supportedTextSelection) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextPattern, 0x32eba289, 0x3583, 0x42c9, 0x9c,0x59, 0x3b,0x6d,0x9a,0x1e,0x9b,0x6a) +#endif +#else +typedef struct IUIAutomationTextPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextPattern *This); + + /*** IUIAutomationTextPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + IUIAutomationTextPattern *This, + POINT pt, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + IUIAutomationTextPattern *This, + IUIAutomationElement *child, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *GetSelection)( + IUIAutomationTextPattern *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + IUIAutomationTextPattern *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + IUIAutomationTextPattern *This, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + IUIAutomationTextPattern *This, + enum SupportedTextSelection *supportedTextSelection); + + END_INTERFACE +} IUIAutomationTextPatternVtbl; + +interface IUIAutomationTextPattern { + CONST_VTBL IUIAutomationTextPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextPattern methods ***/ +#define IUIAutomationTextPattern_RangeFromPoint(This,pt,range) (This)->lpVtbl->RangeFromPoint(This,pt,range) +#define IUIAutomationTextPattern_RangeFromChild(This,child,range) (This)->lpVtbl->RangeFromChild(This,child,range) +#define IUIAutomationTextPattern_GetSelection(This,ranges) (This)->lpVtbl->GetSelection(This,ranges) +#define IUIAutomationTextPattern_GetVisibleRanges(This,ranges) (This)->lpVtbl->GetVisibleRanges(This,ranges) +#define IUIAutomationTextPattern_get_DocumentRange(This,range) (This)->lpVtbl->get_DocumentRange(This,range) +#define IUIAutomationTextPattern_get_SupportedTextSelection(This,supportedTextSelection) (This)->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextPattern_QueryInterface(IUIAutomationTextPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextPattern_AddRef(IUIAutomationTextPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextPattern_Release(IUIAutomationTextPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextPattern methods ***/ +static inline HRESULT IUIAutomationTextPattern_RangeFromPoint(IUIAutomationTextPattern* This,POINT pt,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromPoint(This,pt,range); +} +static inline HRESULT IUIAutomationTextPattern_RangeFromChild(IUIAutomationTextPattern* This,IUIAutomationElement *child,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromChild(This,child,range); +} +static inline HRESULT IUIAutomationTextPattern_GetSelection(IUIAutomationTextPattern* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetSelection(This,ranges); +} +static inline HRESULT IUIAutomationTextPattern_GetVisibleRanges(IUIAutomationTextPattern* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetVisibleRanges(This,ranges); +} +static inline HRESULT IUIAutomationTextPattern_get_DocumentRange(IUIAutomationTextPattern* This,IUIAutomationTextRange **range) { + return This->lpVtbl->get_DocumentRange(This,range); +} +static inline HRESULT IUIAutomationTextPattern_get_SupportedTextSelection(IUIAutomationTextPattern* This,enum SupportedTextSelection *supportedTextSelection) { + return This->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextPattern2 interface + */ +#ifndef __IUIAutomationTextPattern2_INTERFACE_DEFINED__ +#define __IUIAutomationTextPattern2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextPattern2, 0x506a921a, 0xfcc9, 0x409f, 0xb2,0x3b, 0x37,0xeb,0x74,0x10,0x68,0x72); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("506a921a-fcc9-409f-b23b-37eb74106872") +IUIAutomationTextPattern2 : public IUIAutomationTextPattern +{ + virtual HRESULT STDMETHODCALLTYPE RangeFromAnnotation( + IUIAutomationElement *annotation, + IUIAutomationTextRange **range) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCaretRange( + WINBOOL *isActive, + IUIAutomationTextRange **range) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextPattern2, 0x506a921a, 0xfcc9, 0x409f, 0xb2,0x3b, 0x37,0xeb,0x74,0x10,0x68,0x72) +#endif +#else +typedef struct IUIAutomationTextPattern2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextPattern2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextPattern2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextPattern2 *This); + + /*** IUIAutomationTextPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + IUIAutomationTextPattern2 *This, + POINT pt, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + IUIAutomationTextPattern2 *This, + IUIAutomationElement *child, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *GetSelection)( + IUIAutomationTextPattern2 *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + IUIAutomationTextPattern2 *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + IUIAutomationTextPattern2 *This, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + IUIAutomationTextPattern2 *This, + enum SupportedTextSelection *supportedTextSelection); + + /*** IUIAutomationTextPattern2 methods ***/ + HRESULT (STDMETHODCALLTYPE *RangeFromAnnotation)( + IUIAutomationTextPattern2 *This, + IUIAutomationElement *annotation, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *GetCaretRange)( + IUIAutomationTextPattern2 *This, + WINBOOL *isActive, + IUIAutomationTextRange **range); + + END_INTERFACE +} IUIAutomationTextPattern2Vtbl; + +interface IUIAutomationTextPattern2 { + CONST_VTBL IUIAutomationTextPattern2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextPattern2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextPattern2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextPattern2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextPattern methods ***/ +#define IUIAutomationTextPattern2_RangeFromPoint(This,pt,range) (This)->lpVtbl->RangeFromPoint(This,pt,range) +#define IUIAutomationTextPattern2_RangeFromChild(This,child,range) (This)->lpVtbl->RangeFromChild(This,child,range) +#define IUIAutomationTextPattern2_GetSelection(This,ranges) (This)->lpVtbl->GetSelection(This,ranges) +#define IUIAutomationTextPattern2_GetVisibleRanges(This,ranges) (This)->lpVtbl->GetVisibleRanges(This,ranges) +#define IUIAutomationTextPattern2_get_DocumentRange(This,range) (This)->lpVtbl->get_DocumentRange(This,range) +#define IUIAutomationTextPattern2_get_SupportedTextSelection(This,supportedTextSelection) (This)->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection) +/*** IUIAutomationTextPattern2 methods ***/ +#define IUIAutomationTextPattern2_RangeFromAnnotation(This,annotation,range) (This)->lpVtbl->RangeFromAnnotation(This,annotation,range) +#define IUIAutomationTextPattern2_GetCaretRange(This,isActive,range) (This)->lpVtbl->GetCaretRange(This,isActive,range) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextPattern2_QueryInterface(IUIAutomationTextPattern2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextPattern2_AddRef(IUIAutomationTextPattern2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextPattern2_Release(IUIAutomationTextPattern2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextPattern methods ***/ +static inline HRESULT IUIAutomationTextPattern2_RangeFromPoint(IUIAutomationTextPattern2* This,POINT pt,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromPoint(This,pt,range); +} +static inline HRESULT IUIAutomationTextPattern2_RangeFromChild(IUIAutomationTextPattern2* This,IUIAutomationElement *child,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromChild(This,child,range); +} +static inline HRESULT IUIAutomationTextPattern2_GetSelection(IUIAutomationTextPattern2* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetSelection(This,ranges); +} +static inline HRESULT IUIAutomationTextPattern2_GetVisibleRanges(IUIAutomationTextPattern2* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetVisibleRanges(This,ranges); +} +static inline HRESULT IUIAutomationTextPattern2_get_DocumentRange(IUIAutomationTextPattern2* This,IUIAutomationTextRange **range) { + return This->lpVtbl->get_DocumentRange(This,range); +} +static inline HRESULT IUIAutomationTextPattern2_get_SupportedTextSelection(IUIAutomationTextPattern2* This,enum SupportedTextSelection *supportedTextSelection) { + return This->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection); +} +/*** IUIAutomationTextPattern2 methods ***/ +static inline HRESULT IUIAutomationTextPattern2_RangeFromAnnotation(IUIAutomationTextPattern2* This,IUIAutomationElement *annotation,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromAnnotation(This,annotation,range); +} +static inline HRESULT IUIAutomationTextPattern2_GetCaretRange(IUIAutomationTextPattern2* This,WINBOOL *isActive,IUIAutomationTextRange **range) { + return This->lpVtbl->GetCaretRange(This,isActive,range); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextPattern2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextEditPattern interface + */ +#ifndef __IUIAutomationTextEditPattern_INTERFACE_DEFINED__ +#define __IUIAutomationTextEditPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextEditPattern, 0x17e21576, 0x996c, 0x4870, 0x99,0xd9, 0xbf,0xf3,0x23,0x38,0x0c,0x06); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("17e21576-996c-4870-99d9-bff323380c06") +IUIAutomationTextEditPattern : public IUIAutomationTextPattern +{ + virtual HRESULT STDMETHODCALLTYPE GetActiveComposition( + IUIAutomationTextRange **range) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConversionTarget( + IUIAutomationTextRange **range) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextEditPattern, 0x17e21576, 0x996c, 0x4870, 0x99,0xd9, 0xbf,0xf3,0x23,0x38,0x0c,0x06) +#endif +#else +typedef struct IUIAutomationTextEditPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextEditPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextEditPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextEditPattern *This); + + /*** IUIAutomationTextPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + IUIAutomationTextEditPattern *This, + POINT pt, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + IUIAutomationTextEditPattern *This, + IUIAutomationElement *child, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *GetSelection)( + IUIAutomationTextEditPattern *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + IUIAutomationTextEditPattern *This, + IUIAutomationTextRangeArray **ranges); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + IUIAutomationTextEditPattern *This, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + IUIAutomationTextEditPattern *This, + enum SupportedTextSelection *supportedTextSelection); + + /*** IUIAutomationTextEditPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetActiveComposition)( + IUIAutomationTextEditPattern *This, + IUIAutomationTextRange **range); + + HRESULT (STDMETHODCALLTYPE *GetConversionTarget)( + IUIAutomationTextEditPattern *This, + IUIAutomationTextRange **range); + + END_INTERFACE +} IUIAutomationTextEditPatternVtbl; + +interface IUIAutomationTextEditPattern { + CONST_VTBL IUIAutomationTextEditPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextEditPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextEditPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextEditPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextPattern methods ***/ +#define IUIAutomationTextEditPattern_RangeFromPoint(This,pt,range) (This)->lpVtbl->RangeFromPoint(This,pt,range) +#define IUIAutomationTextEditPattern_RangeFromChild(This,child,range) (This)->lpVtbl->RangeFromChild(This,child,range) +#define IUIAutomationTextEditPattern_GetSelection(This,ranges) (This)->lpVtbl->GetSelection(This,ranges) +#define IUIAutomationTextEditPattern_GetVisibleRanges(This,ranges) (This)->lpVtbl->GetVisibleRanges(This,ranges) +#define IUIAutomationTextEditPattern_get_DocumentRange(This,range) (This)->lpVtbl->get_DocumentRange(This,range) +#define IUIAutomationTextEditPattern_get_SupportedTextSelection(This,supportedTextSelection) (This)->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection) +/*** IUIAutomationTextEditPattern methods ***/ +#define IUIAutomationTextEditPattern_GetActiveComposition(This,range) (This)->lpVtbl->GetActiveComposition(This,range) +#define IUIAutomationTextEditPattern_GetConversionTarget(This,range) (This)->lpVtbl->GetConversionTarget(This,range) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextEditPattern_QueryInterface(IUIAutomationTextEditPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextEditPattern_AddRef(IUIAutomationTextEditPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextEditPattern_Release(IUIAutomationTextEditPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextPattern methods ***/ +static inline HRESULT IUIAutomationTextEditPattern_RangeFromPoint(IUIAutomationTextEditPattern* This,POINT pt,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromPoint(This,pt,range); +} +static inline HRESULT IUIAutomationTextEditPattern_RangeFromChild(IUIAutomationTextEditPattern* This,IUIAutomationElement *child,IUIAutomationTextRange **range) { + return This->lpVtbl->RangeFromChild(This,child,range); +} +static inline HRESULT IUIAutomationTextEditPattern_GetSelection(IUIAutomationTextEditPattern* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetSelection(This,ranges); +} +static inline HRESULT IUIAutomationTextEditPattern_GetVisibleRanges(IUIAutomationTextEditPattern* This,IUIAutomationTextRangeArray **ranges) { + return This->lpVtbl->GetVisibleRanges(This,ranges); +} +static inline HRESULT IUIAutomationTextEditPattern_get_DocumentRange(IUIAutomationTextEditPattern* This,IUIAutomationTextRange **range) { + return This->lpVtbl->get_DocumentRange(This,range); +} +static inline HRESULT IUIAutomationTextEditPattern_get_SupportedTextSelection(IUIAutomationTextEditPattern* This,enum SupportedTextSelection *supportedTextSelection) { + return This->lpVtbl->get_SupportedTextSelection(This,supportedTextSelection); +} +/*** IUIAutomationTextEditPattern methods ***/ +static inline HRESULT IUIAutomationTextEditPattern_GetActiveComposition(IUIAutomationTextEditPattern* This,IUIAutomationTextRange **range) { + return This->lpVtbl->GetActiveComposition(This,range); +} +static inline HRESULT IUIAutomationTextEditPattern_GetConversionTarget(IUIAutomationTextEditPattern* This,IUIAutomationTextRange **range) { + return This->lpVtbl->GetConversionTarget(This,range); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextEditPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationCustomNavigationPattern interface + */ +#ifndef __IUIAutomationCustomNavigationPattern_INTERFACE_DEFINED__ +#define __IUIAutomationCustomNavigationPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationCustomNavigationPattern, 0x01ea217a, 0x1766, 0x47ed, 0xa6,0xcc, 0xac,0xf4,0x92,0x85,0x4b,0x1f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("01ea217a-1766-47ed-a6cc-acf492854b1f") +IUIAutomationCustomNavigationPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Navigate( + enum NavigateDirection direction, + IUIAutomationElement **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationCustomNavigationPattern, 0x01ea217a, 0x1766, 0x47ed, 0xa6,0xcc, 0xac,0xf4,0x92,0x85,0x4b,0x1f) +#endif +#else +typedef struct IUIAutomationCustomNavigationPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationCustomNavigationPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationCustomNavigationPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationCustomNavigationPattern *This); + + /*** IUIAutomationCustomNavigationPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Navigate)( + IUIAutomationCustomNavigationPattern *This, + enum NavigateDirection direction, + IUIAutomationElement **pRetVal); + + END_INTERFACE +} IUIAutomationCustomNavigationPatternVtbl; + +interface IUIAutomationCustomNavigationPattern { + CONST_VTBL IUIAutomationCustomNavigationPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationCustomNavigationPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationCustomNavigationPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationCustomNavigationPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationCustomNavigationPattern methods ***/ +#define IUIAutomationCustomNavigationPattern_Navigate(This,direction,pRetVal) (This)->lpVtbl->Navigate(This,direction,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationCustomNavigationPattern_QueryInterface(IUIAutomationCustomNavigationPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationCustomNavigationPattern_AddRef(IUIAutomationCustomNavigationPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationCustomNavigationPattern_Release(IUIAutomationCustomNavigationPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationCustomNavigationPattern methods ***/ +static inline HRESULT IUIAutomationCustomNavigationPattern_Navigate(IUIAutomationCustomNavigationPattern* This,enum NavigateDirection direction,IUIAutomationElement **pRetVal) { + return This->lpVtbl->Navigate(This,direction,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationCustomNavigationPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationActiveTextPositionChangedEventHandler interface + */ +#ifndef __IUIAutomationActiveTextPositionChangedEventHandler_INTERFACE_DEFINED__ +#define __IUIAutomationActiveTextPositionChangedEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationActiveTextPositionChangedEventHandler, 0xf97933b0, 0x8dae, 0x4496, 0x89,0x97, 0x5b,0xa0,0x15,0xfe,0x0d,0x82); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f97933b0-8dae-4496-8997-5ba015fe0d82") +IUIAutomationActiveTextPositionChangedEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE HandleActiveTextPositionChangedEvent( + IUIAutomationElement *sender, + IUIAutomationTextRange *range) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationActiveTextPositionChangedEventHandler, 0xf97933b0, 0x8dae, 0x4496, 0x89,0x97, 0x5b,0xa0,0x15,0xfe,0x0d,0x82) +#endif +#else +typedef struct IUIAutomationActiveTextPositionChangedEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationActiveTextPositionChangedEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationActiveTextPositionChangedEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationActiveTextPositionChangedEventHandler *This); + + /*** IUIAutomationActiveTextPositionChangedEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *HandleActiveTextPositionChangedEvent)( + IUIAutomationActiveTextPositionChangedEventHandler *This, + IUIAutomationElement *sender, + IUIAutomationTextRange *range); + + END_INTERFACE +} IUIAutomationActiveTextPositionChangedEventHandlerVtbl; + +interface IUIAutomationActiveTextPositionChangedEventHandler { + CONST_VTBL IUIAutomationActiveTextPositionChangedEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationActiveTextPositionChangedEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationActiveTextPositionChangedEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationActiveTextPositionChangedEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationActiveTextPositionChangedEventHandler methods ***/ +#define IUIAutomationActiveTextPositionChangedEventHandler_HandleActiveTextPositionChangedEvent(This,sender,range) (This)->lpVtbl->HandleActiveTextPositionChangedEvent(This,sender,range) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationActiveTextPositionChangedEventHandler_QueryInterface(IUIAutomationActiveTextPositionChangedEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationActiveTextPositionChangedEventHandler_AddRef(IUIAutomationActiveTextPositionChangedEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationActiveTextPositionChangedEventHandler_Release(IUIAutomationActiveTextPositionChangedEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationActiveTextPositionChangedEventHandler methods ***/ +static inline HRESULT IUIAutomationActiveTextPositionChangedEventHandler_HandleActiveTextPositionChangedEvent(IUIAutomationActiveTextPositionChangedEventHandler* This,IUIAutomationElement *sender,IUIAutomationTextRange *range) { + return This->lpVtbl->HandleActiveTextPositionChangedEvent(This,sender,range); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationActiveTextPositionChangedEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationLegacyIAccessiblePattern interface + */ +#ifndef __IUIAutomationLegacyIAccessiblePattern_INTERFACE_DEFINED__ +#define __IUIAutomationLegacyIAccessiblePattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationLegacyIAccessiblePattern, 0x828055ad, 0x355b, 0x4435, 0x86,0xd5, 0x3b,0x51,0xc1,0x4a,0x9b,0x1b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("828055ad-355b-4435-86d5-3b51c14a9b1b") +IUIAutomationLegacyIAccessiblePattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Select( + LONG flagsSelect) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoDefaultAction( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetValue( + LPCWSTR szValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentChildId( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentName( + BSTR *pszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentValue( + BSTR *pszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDescription( + BSTR *pszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentRole( + DWORD *pdwRole) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentState( + DWORD *pdwState) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHelp( + BSTR *pszHelp) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentKeyboardShortcut( + BSTR *pszKeyboardShortcut) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentSelection( + IUIAutomationElementArray **pvarSelectedChildren) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDefaultAction( + BSTR *pszDefaultAction) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedChildId( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedName( + BSTR *pszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedValue( + BSTR *pszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDescription( + BSTR *pszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedRole( + DWORD *pdwRole) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedState( + DWORD *pdwState) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHelp( + BSTR *pszHelp) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedKeyboardShortcut( + BSTR *pszKeyboardShortcut) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedSelection( + IUIAutomationElementArray **pvarSelectedChildren) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDefaultAction( + BSTR *pszDefaultAction) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIAccessible( + IAccessible **ppAccessible) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationLegacyIAccessiblePattern, 0x828055ad, 0x355b, 0x4435, 0x86,0xd5, 0x3b,0x51,0xc1,0x4a,0x9b,0x1b) +#endif +#else +typedef struct IUIAutomationLegacyIAccessiblePatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationLegacyIAccessiblePattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationLegacyIAccessiblePattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationLegacyIAccessiblePattern *This); + + /*** IUIAutomationLegacyIAccessiblePattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Select)( + IUIAutomationLegacyIAccessiblePattern *This, + LONG flagsSelect); + + HRESULT (STDMETHODCALLTYPE *DoDefaultAction)( + IUIAutomationLegacyIAccessiblePattern *This); + + HRESULT (STDMETHODCALLTYPE *SetValue)( + IUIAutomationLegacyIAccessiblePattern *This, + LPCWSTR szValue); + + HRESULT (STDMETHODCALLTYPE *get_CurrentChildId)( + IUIAutomationLegacyIAccessiblePattern *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszName); + + HRESULT (STDMETHODCALLTYPE *get_CurrentValue)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszValue); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescription)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszDescription); + + HRESULT (STDMETHODCALLTYPE *get_CurrentRole)( + IUIAutomationLegacyIAccessiblePattern *This, + DWORD *pdwRole); + + HRESULT (STDMETHODCALLTYPE *get_CurrentState)( + IUIAutomationLegacyIAccessiblePattern *This, + DWORD *pdwState); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelp)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszHelp); + + HRESULT (STDMETHODCALLTYPE *get_CurrentKeyboardShortcut)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszKeyboardShortcut); + + HRESULT (STDMETHODCALLTYPE *GetCurrentSelection)( + IUIAutomationLegacyIAccessiblePattern *This, + IUIAutomationElementArray **pvarSelectedChildren); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDefaultAction)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszDefaultAction); + + HRESULT (STDMETHODCALLTYPE *get_CachedChildId)( + IUIAutomationLegacyIAccessiblePattern *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszName); + + HRESULT (STDMETHODCALLTYPE *get_CachedValue)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszValue); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescription)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszDescription); + + HRESULT (STDMETHODCALLTYPE *get_CachedRole)( + IUIAutomationLegacyIAccessiblePattern *This, + DWORD *pdwRole); + + HRESULT (STDMETHODCALLTYPE *get_CachedState)( + IUIAutomationLegacyIAccessiblePattern *This, + DWORD *pdwState); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelp)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszHelp); + + HRESULT (STDMETHODCALLTYPE *get_CachedKeyboardShortcut)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszKeyboardShortcut); + + HRESULT (STDMETHODCALLTYPE *GetCachedSelection)( + IUIAutomationLegacyIAccessiblePattern *This, + IUIAutomationElementArray **pvarSelectedChildren); + + HRESULT (STDMETHODCALLTYPE *get_CachedDefaultAction)( + IUIAutomationLegacyIAccessiblePattern *This, + BSTR *pszDefaultAction); + + HRESULT (STDMETHODCALLTYPE *GetIAccessible)( + IUIAutomationLegacyIAccessiblePattern *This, + IAccessible **ppAccessible); + + END_INTERFACE +} IUIAutomationLegacyIAccessiblePatternVtbl; + +interface IUIAutomationLegacyIAccessiblePattern { + CONST_VTBL IUIAutomationLegacyIAccessiblePatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationLegacyIAccessiblePattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationLegacyIAccessiblePattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationLegacyIAccessiblePattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationLegacyIAccessiblePattern methods ***/ +#define IUIAutomationLegacyIAccessiblePattern_Select(This,flagsSelect) (This)->lpVtbl->Select(This,flagsSelect) +#define IUIAutomationLegacyIAccessiblePattern_DoDefaultAction(This) (This)->lpVtbl->DoDefaultAction(This) +#define IUIAutomationLegacyIAccessiblePattern_SetValue(This,szValue) (This)->lpVtbl->SetValue(This,szValue) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentChildId(This,pRetVal) (This)->lpVtbl->get_CurrentChildId(This,pRetVal) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentName(This,pszName) (This)->lpVtbl->get_CurrentName(This,pszName) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentValue(This,pszValue) (This)->lpVtbl->get_CurrentValue(This,pszValue) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentDescription(This,pszDescription) (This)->lpVtbl->get_CurrentDescription(This,pszDescription) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentRole(This,pdwRole) (This)->lpVtbl->get_CurrentRole(This,pdwRole) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentState(This,pdwState) (This)->lpVtbl->get_CurrentState(This,pdwState) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentHelp(This,pszHelp) (This)->lpVtbl->get_CurrentHelp(This,pszHelp) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentKeyboardShortcut(This,pszKeyboardShortcut) (This)->lpVtbl->get_CurrentKeyboardShortcut(This,pszKeyboardShortcut) +#define IUIAutomationLegacyIAccessiblePattern_GetCurrentSelection(This,pvarSelectedChildren) (This)->lpVtbl->GetCurrentSelection(This,pvarSelectedChildren) +#define IUIAutomationLegacyIAccessiblePattern_get_CurrentDefaultAction(This,pszDefaultAction) (This)->lpVtbl->get_CurrentDefaultAction(This,pszDefaultAction) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedChildId(This,pRetVal) (This)->lpVtbl->get_CachedChildId(This,pRetVal) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedName(This,pszName) (This)->lpVtbl->get_CachedName(This,pszName) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedValue(This,pszValue) (This)->lpVtbl->get_CachedValue(This,pszValue) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedDescription(This,pszDescription) (This)->lpVtbl->get_CachedDescription(This,pszDescription) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedRole(This,pdwRole) (This)->lpVtbl->get_CachedRole(This,pdwRole) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedState(This,pdwState) (This)->lpVtbl->get_CachedState(This,pdwState) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedHelp(This,pszHelp) (This)->lpVtbl->get_CachedHelp(This,pszHelp) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedKeyboardShortcut(This,pszKeyboardShortcut) (This)->lpVtbl->get_CachedKeyboardShortcut(This,pszKeyboardShortcut) +#define IUIAutomationLegacyIAccessiblePattern_GetCachedSelection(This,pvarSelectedChildren) (This)->lpVtbl->GetCachedSelection(This,pvarSelectedChildren) +#define IUIAutomationLegacyIAccessiblePattern_get_CachedDefaultAction(This,pszDefaultAction) (This)->lpVtbl->get_CachedDefaultAction(This,pszDefaultAction) +#define IUIAutomationLegacyIAccessiblePattern_GetIAccessible(This,ppAccessible) (This)->lpVtbl->GetIAccessible(This,ppAccessible) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_QueryInterface(IUIAutomationLegacyIAccessiblePattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationLegacyIAccessiblePattern_AddRef(IUIAutomationLegacyIAccessiblePattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationLegacyIAccessiblePattern_Release(IUIAutomationLegacyIAccessiblePattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationLegacyIAccessiblePattern methods ***/ +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_Select(IUIAutomationLegacyIAccessiblePattern* This,LONG flagsSelect) { + return This->lpVtbl->Select(This,flagsSelect); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_DoDefaultAction(IUIAutomationLegacyIAccessiblePattern* This) { + return This->lpVtbl->DoDefaultAction(This); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_SetValue(IUIAutomationLegacyIAccessiblePattern* This,LPCWSTR szValue) { + return This->lpVtbl->SetValue(This,szValue); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentChildId(IUIAutomationLegacyIAccessiblePattern* This,int *pRetVal) { + return This->lpVtbl->get_CurrentChildId(This,pRetVal); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentName(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszName) { + return This->lpVtbl->get_CurrentName(This,pszName); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentValue(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszValue) { + return This->lpVtbl->get_CurrentValue(This,pszValue); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentDescription(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszDescription) { + return This->lpVtbl->get_CurrentDescription(This,pszDescription); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentRole(IUIAutomationLegacyIAccessiblePattern* This,DWORD *pdwRole) { + return This->lpVtbl->get_CurrentRole(This,pdwRole); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentState(IUIAutomationLegacyIAccessiblePattern* This,DWORD *pdwState) { + return This->lpVtbl->get_CurrentState(This,pdwState); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentHelp(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszHelp) { + return This->lpVtbl->get_CurrentHelp(This,pszHelp); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentKeyboardShortcut(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszKeyboardShortcut) { + return This->lpVtbl->get_CurrentKeyboardShortcut(This,pszKeyboardShortcut); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_GetCurrentSelection(IUIAutomationLegacyIAccessiblePattern* This,IUIAutomationElementArray **pvarSelectedChildren) { + return This->lpVtbl->GetCurrentSelection(This,pvarSelectedChildren); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CurrentDefaultAction(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszDefaultAction) { + return This->lpVtbl->get_CurrentDefaultAction(This,pszDefaultAction); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedChildId(IUIAutomationLegacyIAccessiblePattern* This,int *pRetVal) { + return This->lpVtbl->get_CachedChildId(This,pRetVal); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedName(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszName) { + return This->lpVtbl->get_CachedName(This,pszName); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedValue(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszValue) { + return This->lpVtbl->get_CachedValue(This,pszValue); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedDescription(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszDescription) { + return This->lpVtbl->get_CachedDescription(This,pszDescription); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedRole(IUIAutomationLegacyIAccessiblePattern* This,DWORD *pdwRole) { + return This->lpVtbl->get_CachedRole(This,pdwRole); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedState(IUIAutomationLegacyIAccessiblePattern* This,DWORD *pdwState) { + return This->lpVtbl->get_CachedState(This,pdwState); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedHelp(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszHelp) { + return This->lpVtbl->get_CachedHelp(This,pszHelp); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedKeyboardShortcut(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszKeyboardShortcut) { + return This->lpVtbl->get_CachedKeyboardShortcut(This,pszKeyboardShortcut); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_GetCachedSelection(IUIAutomationLegacyIAccessiblePattern* This,IUIAutomationElementArray **pvarSelectedChildren) { + return This->lpVtbl->GetCachedSelection(This,pvarSelectedChildren); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_get_CachedDefaultAction(IUIAutomationLegacyIAccessiblePattern* This,BSTR *pszDefaultAction) { + return This->lpVtbl->get_CachedDefaultAction(This,pszDefaultAction); +} +static inline HRESULT IUIAutomationLegacyIAccessiblePattern_GetIAccessible(IUIAutomationLegacyIAccessiblePattern* This,IAccessible **ppAccessible) { + return This->lpVtbl->GetIAccessible(This,ppAccessible); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationLegacyIAccessiblePattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationItemContainerPattern interface + */ +#ifndef __IUIAutomationItemContainerPattern_INTERFACE_DEFINED__ +#define __IUIAutomationItemContainerPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationItemContainerPattern, 0xc690fdb2, 0x27a8, 0x423c, 0x81,0x2d, 0x42,0x97,0x73,0xc9,0x08,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c690fdb2-27a8-423c-812d-429773c9084e") +IUIAutomationItemContainerPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FindItemByProperty( + IUIAutomationElement *pStartAfter, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationElement **pFound) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationItemContainerPattern, 0xc690fdb2, 0x27a8, 0x423c, 0x81,0x2d, 0x42,0x97,0x73,0xc9,0x08,0x4e) +#endif +#else +typedef struct IUIAutomationItemContainerPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationItemContainerPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationItemContainerPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationItemContainerPattern *This); + + /*** IUIAutomationItemContainerPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *FindItemByProperty)( + IUIAutomationItemContainerPattern *This, + IUIAutomationElement *pStartAfter, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationElement **pFound); + + END_INTERFACE +} IUIAutomationItemContainerPatternVtbl; + +interface IUIAutomationItemContainerPattern { + CONST_VTBL IUIAutomationItemContainerPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationItemContainerPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationItemContainerPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationItemContainerPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationItemContainerPattern methods ***/ +#define IUIAutomationItemContainerPattern_FindItemByProperty(This,pStartAfter,propertyId,value,pFound) (This)->lpVtbl->FindItemByProperty(This,pStartAfter,propertyId,value,pFound) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationItemContainerPattern_QueryInterface(IUIAutomationItemContainerPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationItemContainerPattern_AddRef(IUIAutomationItemContainerPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationItemContainerPattern_Release(IUIAutomationItemContainerPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationItemContainerPattern methods ***/ +static inline HRESULT IUIAutomationItemContainerPattern_FindItemByProperty(IUIAutomationItemContainerPattern* This,IUIAutomationElement *pStartAfter,PROPERTYID propertyId,VARIANT value,IUIAutomationElement **pFound) { + return This->lpVtbl->FindItemByProperty(This,pStartAfter,propertyId,value,pFound); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationItemContainerPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationVirtualizedItemPattern interface + */ +#ifndef __IUIAutomationVirtualizedItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationVirtualizedItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationVirtualizedItemPattern, 0x6ba3d7a6, 0x04cf, 0x4f11, 0x87,0x93, 0xa8,0xd1,0xcd,0xe9,0x96,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6ba3d7a6-04cf-4f11-8793-a8d1cde9969f") +IUIAutomationVirtualizedItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Realize( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationVirtualizedItemPattern, 0x6ba3d7a6, 0x04cf, 0x4f11, 0x87,0x93, 0xa8,0xd1,0xcd,0xe9,0x96,0x9f) +#endif +#else +typedef struct IUIAutomationVirtualizedItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationVirtualizedItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationVirtualizedItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationVirtualizedItemPattern *This); + + /*** IUIAutomationVirtualizedItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Realize)( + IUIAutomationVirtualizedItemPattern *This); + + END_INTERFACE +} IUIAutomationVirtualizedItemPatternVtbl; + +interface IUIAutomationVirtualizedItemPattern { + CONST_VTBL IUIAutomationVirtualizedItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationVirtualizedItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationVirtualizedItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationVirtualizedItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationVirtualizedItemPattern methods ***/ +#define IUIAutomationVirtualizedItemPattern_Realize(This) (This)->lpVtbl->Realize(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationVirtualizedItemPattern_QueryInterface(IUIAutomationVirtualizedItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationVirtualizedItemPattern_AddRef(IUIAutomationVirtualizedItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationVirtualizedItemPattern_Release(IUIAutomationVirtualizedItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationVirtualizedItemPattern methods ***/ +static inline HRESULT IUIAutomationVirtualizedItemPattern_Realize(IUIAutomationVirtualizedItemPattern* This) { + return This->lpVtbl->Realize(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationVirtualizedItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationAnnotationPattern interface + */ +#ifndef __IUIAutomationAnnotationPattern_INTERFACE_DEFINED__ +#define __IUIAutomationAnnotationPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationAnnotationPattern, 0x9a175b21, 0x339e, 0x41b1, 0x8e,0x8b, 0x62,0x3f,0x6b,0x68,0x10,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9a175b21-339e-41b1-8e8b-623f6b681098") +IUIAutomationAnnotationPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentAnnotationTypeId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAnnotationTypeName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAuthor( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDateTime( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentTarget( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAnnotationTypeId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAnnotationTypeName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAuthor( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDateTime( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedTarget( + IUIAutomationElement **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationAnnotationPattern, 0x9a175b21, 0x339e, 0x41b1, 0x8e,0x8b, 0x62,0x3f,0x6b,0x68,0x10,0x98) +#endif +#else +typedef struct IUIAutomationAnnotationPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationAnnotationPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationAnnotationPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationAnnotationPattern *This); + + /*** IUIAutomationAnnotationPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypeId)( + IUIAutomationAnnotationPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypeName)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAuthor)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDateTime)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentTarget)( + IUIAutomationAnnotationPattern *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypeId)( + IUIAutomationAnnotationPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypeName)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAuthor)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDateTime)( + IUIAutomationAnnotationPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedTarget)( + IUIAutomationAnnotationPattern *This, + IUIAutomationElement **retVal); + + END_INTERFACE +} IUIAutomationAnnotationPatternVtbl; + +interface IUIAutomationAnnotationPattern { + CONST_VTBL IUIAutomationAnnotationPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationAnnotationPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationAnnotationPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationAnnotationPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationAnnotationPattern methods ***/ +#define IUIAutomationAnnotationPattern_get_CurrentAnnotationTypeId(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypeId(This,retVal) +#define IUIAutomationAnnotationPattern_get_CurrentAnnotationTypeName(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypeName(This,retVal) +#define IUIAutomationAnnotationPattern_get_CurrentAuthor(This,retVal) (This)->lpVtbl->get_CurrentAuthor(This,retVal) +#define IUIAutomationAnnotationPattern_get_CurrentDateTime(This,retVal) (This)->lpVtbl->get_CurrentDateTime(This,retVal) +#define IUIAutomationAnnotationPattern_get_CurrentTarget(This,retVal) (This)->lpVtbl->get_CurrentTarget(This,retVal) +#define IUIAutomationAnnotationPattern_get_CachedAnnotationTypeId(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypeId(This,retVal) +#define IUIAutomationAnnotationPattern_get_CachedAnnotationTypeName(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypeName(This,retVal) +#define IUIAutomationAnnotationPattern_get_CachedAuthor(This,retVal) (This)->lpVtbl->get_CachedAuthor(This,retVal) +#define IUIAutomationAnnotationPattern_get_CachedDateTime(This,retVal) (This)->lpVtbl->get_CachedDateTime(This,retVal) +#define IUIAutomationAnnotationPattern_get_CachedTarget(This,retVal) (This)->lpVtbl->get_CachedTarget(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationAnnotationPattern_QueryInterface(IUIAutomationAnnotationPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationAnnotationPattern_AddRef(IUIAutomationAnnotationPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationAnnotationPattern_Release(IUIAutomationAnnotationPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationAnnotationPattern methods ***/ +static inline HRESULT IUIAutomationAnnotationPattern_get_CurrentAnnotationTypeId(IUIAutomationAnnotationPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentAnnotationTypeId(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CurrentAnnotationTypeName(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAnnotationTypeName(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CurrentAuthor(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAuthor(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CurrentDateTime(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentDateTime(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CurrentTarget(IUIAutomationAnnotationPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentTarget(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CachedAnnotationTypeId(IUIAutomationAnnotationPattern* This,int *retVal) { + return This->lpVtbl->get_CachedAnnotationTypeId(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CachedAnnotationTypeName(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAnnotationTypeName(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CachedAuthor(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAuthor(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CachedDateTime(IUIAutomationAnnotationPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedDateTime(This,retVal); +} +static inline HRESULT IUIAutomationAnnotationPattern_get_CachedTarget(IUIAutomationAnnotationPattern* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedTarget(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationAnnotationPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationStylesPattern interface + */ +#ifndef __IUIAutomationStylesPattern_INTERFACE_DEFINED__ +#define __IUIAutomationStylesPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationStylesPattern, 0x85b5f0a2, 0xbd79, 0x484a, 0xad,0x2b, 0x38,0x8c,0x98,0x38,0xd5,0xfb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("85b5f0a2-bd79-484a-ad2b-388c9838d5fb") +IUIAutomationStylesPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentStyleId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentStyleName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFillColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFillPatternStyle( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentShape( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFillPatternColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentExtendedProperties( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentExtendedPropertiesAsArray( + struct ExtendedProperty **propertyArray, + int *propertyCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedStyleId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedStyleName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFillColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFillPatternStyle( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedShape( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFillPatternColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedExtendedProperties( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedExtendedPropertiesAsArray( + struct ExtendedProperty **propertyArray, + int *propertyCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationStylesPattern, 0x85b5f0a2, 0xbd79, 0x484a, 0xad,0x2b, 0x38,0x8c,0x98,0x38,0xd5,0xfb) +#endif +#else +typedef struct IUIAutomationStylesPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationStylesPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationStylesPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationStylesPattern *This); + + /*** IUIAutomationStylesPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentStyleId)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentStyleName)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFillColor)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFillPatternStyle)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentShape)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFillPatternColor)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentExtendedProperties)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentExtendedPropertiesAsArray)( + IUIAutomationStylesPattern *This, + struct ExtendedProperty **propertyArray, + int *propertyCount); + + HRESULT (STDMETHODCALLTYPE *get_CachedStyleId)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedStyleName)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFillColor)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFillPatternStyle)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedShape)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFillPatternColor)( + IUIAutomationStylesPattern *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedExtendedProperties)( + IUIAutomationStylesPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedExtendedPropertiesAsArray)( + IUIAutomationStylesPattern *This, + struct ExtendedProperty **propertyArray, + int *propertyCount); + + END_INTERFACE +} IUIAutomationStylesPatternVtbl; + +interface IUIAutomationStylesPattern { + CONST_VTBL IUIAutomationStylesPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationStylesPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationStylesPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationStylesPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationStylesPattern methods ***/ +#define IUIAutomationStylesPattern_get_CurrentStyleId(This,retVal) (This)->lpVtbl->get_CurrentStyleId(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentStyleName(This,retVal) (This)->lpVtbl->get_CurrentStyleName(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentFillColor(This,retVal) (This)->lpVtbl->get_CurrentFillColor(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentFillPatternStyle(This,retVal) (This)->lpVtbl->get_CurrentFillPatternStyle(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentShape(This,retVal) (This)->lpVtbl->get_CurrentShape(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentFillPatternColor(This,retVal) (This)->lpVtbl->get_CurrentFillPatternColor(This,retVal) +#define IUIAutomationStylesPattern_get_CurrentExtendedProperties(This,retVal) (This)->lpVtbl->get_CurrentExtendedProperties(This,retVal) +#define IUIAutomationStylesPattern_GetCurrentExtendedPropertiesAsArray(This,propertyArray,propertyCount) (This)->lpVtbl->GetCurrentExtendedPropertiesAsArray(This,propertyArray,propertyCount) +#define IUIAutomationStylesPattern_get_CachedStyleId(This,retVal) (This)->lpVtbl->get_CachedStyleId(This,retVal) +#define IUIAutomationStylesPattern_get_CachedStyleName(This,retVal) (This)->lpVtbl->get_CachedStyleName(This,retVal) +#define IUIAutomationStylesPattern_get_CachedFillColor(This,retVal) (This)->lpVtbl->get_CachedFillColor(This,retVal) +#define IUIAutomationStylesPattern_get_CachedFillPatternStyle(This,retVal) (This)->lpVtbl->get_CachedFillPatternStyle(This,retVal) +#define IUIAutomationStylesPattern_get_CachedShape(This,retVal) (This)->lpVtbl->get_CachedShape(This,retVal) +#define IUIAutomationStylesPattern_get_CachedFillPatternColor(This,retVal) (This)->lpVtbl->get_CachedFillPatternColor(This,retVal) +#define IUIAutomationStylesPattern_get_CachedExtendedProperties(This,retVal) (This)->lpVtbl->get_CachedExtendedProperties(This,retVal) +#define IUIAutomationStylesPattern_GetCachedExtendedPropertiesAsArray(This,propertyArray,propertyCount) (This)->lpVtbl->GetCachedExtendedPropertiesAsArray(This,propertyArray,propertyCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationStylesPattern_QueryInterface(IUIAutomationStylesPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationStylesPattern_AddRef(IUIAutomationStylesPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationStylesPattern_Release(IUIAutomationStylesPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationStylesPattern methods ***/ +static inline HRESULT IUIAutomationStylesPattern_get_CurrentStyleId(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentStyleId(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentStyleName(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentStyleName(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentFillColor(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentFillColor(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentFillPatternStyle(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFillPatternStyle(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentShape(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentShape(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentFillPatternColor(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CurrentFillPatternColor(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CurrentExtendedProperties(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentExtendedProperties(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_GetCurrentExtendedPropertiesAsArray(IUIAutomationStylesPattern* This,struct ExtendedProperty **propertyArray,int *propertyCount) { + return This->lpVtbl->GetCurrentExtendedPropertiesAsArray(This,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedStyleId(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CachedStyleId(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedStyleName(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedStyleName(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedFillColor(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CachedFillColor(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedFillPatternStyle(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFillPatternStyle(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedShape(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedShape(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedFillPatternColor(IUIAutomationStylesPattern* This,int *retVal) { + return This->lpVtbl->get_CachedFillPatternColor(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_get_CachedExtendedProperties(IUIAutomationStylesPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedExtendedProperties(This,retVal); +} +static inline HRESULT IUIAutomationStylesPattern_GetCachedExtendedPropertiesAsArray(IUIAutomationStylesPattern* This,struct ExtendedProperty **propertyArray,int *propertyCount) { + return This->lpVtbl->GetCachedExtendedPropertiesAsArray(This,propertyArray,propertyCount); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationStylesPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationSpreadsheetPattern interface + */ +#ifndef __IUIAutomationSpreadsheetPattern_INTERFACE_DEFINED__ +#define __IUIAutomationSpreadsheetPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationSpreadsheetPattern, 0x7517a7c8, 0xfaae, 0x4de9, 0x9f,0x08, 0x29,0xb9,0x1e,0x85,0x95,0xc1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7517a7c8-faae-4de9-9f08-29b91e8595c1") +IUIAutomationSpreadsheetPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetItemByName( + BSTR name, + IUIAutomationElement **element) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationSpreadsheetPattern, 0x7517a7c8, 0xfaae, 0x4de9, 0x9f,0x08, 0x29,0xb9,0x1e,0x85,0x95,0xc1) +#endif +#else +typedef struct IUIAutomationSpreadsheetPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationSpreadsheetPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationSpreadsheetPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationSpreadsheetPattern *This); + + /*** IUIAutomationSpreadsheetPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItemByName)( + IUIAutomationSpreadsheetPattern *This, + BSTR name, + IUIAutomationElement **element); + + END_INTERFACE +} IUIAutomationSpreadsheetPatternVtbl; + +interface IUIAutomationSpreadsheetPattern { + CONST_VTBL IUIAutomationSpreadsheetPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationSpreadsheetPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationSpreadsheetPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationSpreadsheetPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationSpreadsheetPattern methods ***/ +#define IUIAutomationSpreadsheetPattern_GetItemByName(This,name,element) (This)->lpVtbl->GetItemByName(This,name,element) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationSpreadsheetPattern_QueryInterface(IUIAutomationSpreadsheetPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationSpreadsheetPattern_AddRef(IUIAutomationSpreadsheetPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationSpreadsheetPattern_Release(IUIAutomationSpreadsheetPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationSpreadsheetPattern methods ***/ +static inline HRESULT IUIAutomationSpreadsheetPattern_GetItemByName(IUIAutomationSpreadsheetPattern* This,BSTR name,IUIAutomationElement **element) { + return This->lpVtbl->GetItemByName(This,name,element); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationSpreadsheetPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationSpreadsheetItemPattern interface + */ +#ifndef __IUIAutomationSpreadsheetItemPattern_INTERFACE_DEFINED__ +#define __IUIAutomationSpreadsheetItemPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationSpreadsheetItemPattern, 0x7d4fb86c, 0x8d34, 0x40e1, 0x8e,0x83, 0x62,0xc1,0x52,0x04,0xe3,0x35); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7d4fb86c-8d34-40e1-8e83-62c15204e335") +IUIAutomationSpreadsheetItemPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentFormula( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentAnnotationObjects( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentAnnotationTypes( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFormula( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedAnnotationObjects( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedAnnotationTypes( + SAFEARRAY **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationSpreadsheetItemPattern, 0x7d4fb86c, 0x8d34, 0x40e1, 0x8e,0x83, 0x62,0xc1,0x52,0x04,0xe3,0x35) +#endif +#else +typedef struct IUIAutomationSpreadsheetItemPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationSpreadsheetItemPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationSpreadsheetItemPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationSpreadsheetItemPattern *This); + + /*** IUIAutomationSpreadsheetItemPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentFormula)( + IUIAutomationSpreadsheetItemPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentAnnotationObjects)( + IUIAutomationSpreadsheetItemPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentAnnotationTypes)( + IUIAutomationSpreadsheetItemPattern *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFormula)( + IUIAutomationSpreadsheetItemPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedAnnotationObjects)( + IUIAutomationSpreadsheetItemPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedAnnotationTypes)( + IUIAutomationSpreadsheetItemPattern *This, + SAFEARRAY **retVal); + + END_INTERFACE +} IUIAutomationSpreadsheetItemPatternVtbl; + +interface IUIAutomationSpreadsheetItemPattern { + CONST_VTBL IUIAutomationSpreadsheetItemPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationSpreadsheetItemPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationSpreadsheetItemPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationSpreadsheetItemPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationSpreadsheetItemPattern methods ***/ +#define IUIAutomationSpreadsheetItemPattern_get_CurrentFormula(This,retVal) (This)->lpVtbl->get_CurrentFormula(This,retVal) +#define IUIAutomationSpreadsheetItemPattern_GetCurrentAnnotationObjects(This,retVal) (This)->lpVtbl->GetCurrentAnnotationObjects(This,retVal) +#define IUIAutomationSpreadsheetItemPattern_GetCurrentAnnotationTypes(This,retVal) (This)->lpVtbl->GetCurrentAnnotationTypes(This,retVal) +#define IUIAutomationSpreadsheetItemPattern_get_CachedFormula(This,retVal) (This)->lpVtbl->get_CachedFormula(This,retVal) +#define IUIAutomationSpreadsheetItemPattern_GetCachedAnnotationObjects(This,retVal) (This)->lpVtbl->GetCachedAnnotationObjects(This,retVal) +#define IUIAutomationSpreadsheetItemPattern_GetCachedAnnotationTypes(This,retVal) (This)->lpVtbl->GetCachedAnnotationTypes(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationSpreadsheetItemPattern_QueryInterface(IUIAutomationSpreadsheetItemPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationSpreadsheetItemPattern_AddRef(IUIAutomationSpreadsheetItemPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationSpreadsheetItemPattern_Release(IUIAutomationSpreadsheetItemPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationSpreadsheetItemPattern methods ***/ +static inline HRESULT IUIAutomationSpreadsheetItemPattern_get_CurrentFormula(IUIAutomationSpreadsheetItemPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFormula(This,retVal); +} +static inline HRESULT IUIAutomationSpreadsheetItemPattern_GetCurrentAnnotationObjects(IUIAutomationSpreadsheetItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationSpreadsheetItemPattern_GetCurrentAnnotationTypes(IUIAutomationSpreadsheetItemPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->GetCurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationSpreadsheetItemPattern_get_CachedFormula(IUIAutomationSpreadsheetItemPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFormula(This,retVal); +} +static inline HRESULT IUIAutomationSpreadsheetItemPattern_GetCachedAnnotationObjects(IUIAutomationSpreadsheetItemPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationSpreadsheetItemPattern_GetCachedAnnotationTypes(IUIAutomationSpreadsheetItemPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->GetCachedAnnotationTypes(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationSpreadsheetItemPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTransformPattern2 interface + */ +#ifndef __IUIAutomationTransformPattern2_INTERFACE_DEFINED__ +#define __IUIAutomationTransformPattern2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTransformPattern2, 0x6d74d017, 0x6ecb, 0x4381, 0xb3,0x8b, 0x3c,0x17,0xa4,0x8f,0xf1,0xc2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6d74d017-6ecb-4381-b38b-3c17a48ff1c2") +IUIAutomationTransformPattern2 : public IUIAutomationTransformPattern +{ + virtual HRESULT STDMETHODCALLTYPE Zoom( + double zoomValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE ZoomByUnit( + enum ZoomUnit zoomUnit) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCanZoom( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCanZoom( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentZoomLevel( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedZoomLevel( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentZoomMinimum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedZoomMinimum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentZoomMaximum( + double *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedZoomMaximum( + double *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTransformPattern2, 0x6d74d017, 0x6ecb, 0x4381, 0xb3,0x8b, 0x3c,0x17,0xa4,0x8f,0xf1,0xc2) +#endif +#else +typedef struct IUIAutomationTransformPattern2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTransformPattern2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTransformPattern2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTransformPattern2 *This); + + /*** IUIAutomationTransformPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *Move)( + IUIAutomationTransformPattern2 *This, + double x, + double y); + + HRESULT (STDMETHODCALLTYPE *Resize)( + IUIAutomationTransformPattern2 *This, + double width, + double height); + + HRESULT (STDMETHODCALLTYPE *Rotate)( + IUIAutomationTransformPattern2 *This, + double degrees); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanMove)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanResize)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanRotate)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanMove)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanResize)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanRotate)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + /*** IUIAutomationTransformPattern2 methods ***/ + HRESULT (STDMETHODCALLTYPE *Zoom)( + IUIAutomationTransformPattern2 *This, + double zoomValue); + + HRESULT (STDMETHODCALLTYPE *ZoomByUnit)( + IUIAutomationTransformPattern2 *This, + enum ZoomUnit zoomUnit); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCanZoom)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCanZoom)( + IUIAutomationTransformPattern2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentZoomLevel)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedZoomLevel)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentZoomMinimum)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedZoomMinimum)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentZoomMaximum)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedZoomMaximum)( + IUIAutomationTransformPattern2 *This, + double *retVal); + + END_INTERFACE +} IUIAutomationTransformPattern2Vtbl; + +interface IUIAutomationTransformPattern2 { + CONST_VTBL IUIAutomationTransformPattern2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTransformPattern2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTransformPattern2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTransformPattern2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTransformPattern methods ***/ +#define IUIAutomationTransformPattern2_Move(This,x,y) (This)->lpVtbl->Move(This,x,y) +#define IUIAutomationTransformPattern2_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) +#define IUIAutomationTransformPattern2_Rotate(This,degrees) (This)->lpVtbl->Rotate(This,degrees) +#define IUIAutomationTransformPattern2_get_CurrentCanMove(This,retVal) (This)->lpVtbl->get_CurrentCanMove(This,retVal) +#define IUIAutomationTransformPattern2_get_CurrentCanResize(This,retVal) (This)->lpVtbl->get_CurrentCanResize(This,retVal) +#define IUIAutomationTransformPattern2_get_CurrentCanRotate(This,retVal) (This)->lpVtbl->get_CurrentCanRotate(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedCanMove(This,retVal) (This)->lpVtbl->get_CachedCanMove(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedCanResize(This,retVal) (This)->lpVtbl->get_CachedCanResize(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedCanRotate(This,retVal) (This)->lpVtbl->get_CachedCanRotate(This,retVal) +/*** IUIAutomationTransformPattern2 methods ***/ +#define IUIAutomationTransformPattern2_Zoom(This,zoomValue) (This)->lpVtbl->Zoom(This,zoomValue) +#define IUIAutomationTransformPattern2_ZoomByUnit(This,zoomUnit) (This)->lpVtbl->ZoomByUnit(This,zoomUnit) +#define IUIAutomationTransformPattern2_get_CurrentCanZoom(This,retVal) (This)->lpVtbl->get_CurrentCanZoom(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedCanZoom(This,retVal) (This)->lpVtbl->get_CachedCanZoom(This,retVal) +#define IUIAutomationTransformPattern2_get_CurrentZoomLevel(This,retVal) (This)->lpVtbl->get_CurrentZoomLevel(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedZoomLevel(This,retVal) (This)->lpVtbl->get_CachedZoomLevel(This,retVal) +#define IUIAutomationTransformPattern2_get_CurrentZoomMinimum(This,retVal) (This)->lpVtbl->get_CurrentZoomMinimum(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedZoomMinimum(This,retVal) (This)->lpVtbl->get_CachedZoomMinimum(This,retVal) +#define IUIAutomationTransformPattern2_get_CurrentZoomMaximum(This,retVal) (This)->lpVtbl->get_CurrentZoomMaximum(This,retVal) +#define IUIAutomationTransformPattern2_get_CachedZoomMaximum(This,retVal) (This)->lpVtbl->get_CachedZoomMaximum(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTransformPattern2_QueryInterface(IUIAutomationTransformPattern2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTransformPattern2_AddRef(IUIAutomationTransformPattern2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTransformPattern2_Release(IUIAutomationTransformPattern2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTransformPattern methods ***/ +static inline HRESULT IUIAutomationTransformPattern2_Move(IUIAutomationTransformPattern2* This,double x,double y) { + return This->lpVtbl->Move(This,x,y); +} +static inline HRESULT IUIAutomationTransformPattern2_Resize(IUIAutomationTransformPattern2* This,double width,double height) { + return This->lpVtbl->Resize(This,width,height); +} +static inline HRESULT IUIAutomationTransformPattern2_Rotate(IUIAutomationTransformPattern2* This,double degrees) { + return This->lpVtbl->Rotate(This,degrees); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentCanMove(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanMove(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentCanResize(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanResize(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentCanRotate(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanRotate(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedCanMove(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanMove(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedCanResize(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanResize(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedCanRotate(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanRotate(This,retVal); +} +/*** IUIAutomationTransformPattern2 methods ***/ +static inline HRESULT IUIAutomationTransformPattern2_Zoom(IUIAutomationTransformPattern2* This,double zoomValue) { + return This->lpVtbl->Zoom(This,zoomValue); +} +static inline HRESULT IUIAutomationTransformPattern2_ZoomByUnit(IUIAutomationTransformPattern2* This,enum ZoomUnit zoomUnit) { + return This->lpVtbl->ZoomByUnit(This,zoomUnit); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentCanZoom(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentCanZoom(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedCanZoom(IUIAutomationTransformPattern2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedCanZoom(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentZoomLevel(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CurrentZoomLevel(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedZoomLevel(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CachedZoomLevel(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentZoomMinimum(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CurrentZoomMinimum(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedZoomMinimum(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CachedZoomMinimum(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CurrentZoomMaximum(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CurrentZoomMaximum(This,retVal); +} +static inline HRESULT IUIAutomationTransformPattern2_get_CachedZoomMaximum(IUIAutomationTransformPattern2* This,double *retVal) { + return This->lpVtbl->get_CachedZoomMaximum(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTransformPattern2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationTextChildPattern interface + */ +#ifndef __IUIAutomationTextChildPattern_INTERFACE_DEFINED__ +#define __IUIAutomationTextChildPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationTextChildPattern, 0x6552b038, 0xae05, 0x40c8, 0xab,0xfd, 0xaa,0x08,0x35,0x2a,0xab,0x86); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6552b038-ae05-40c8-abfd-aa08352aab86") +IUIAutomationTextChildPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_TextContainer( + IUIAutomationElement **container) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TextRange( + IUIAutomationTextRange **range) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationTextChildPattern, 0x6552b038, 0xae05, 0x40c8, 0xab,0xfd, 0xaa,0x08,0x35,0x2a,0xab,0x86) +#endif +#else +typedef struct IUIAutomationTextChildPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationTextChildPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationTextChildPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationTextChildPattern *This); + + /*** IUIAutomationTextChildPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TextContainer)( + IUIAutomationTextChildPattern *This, + IUIAutomationElement **container); + + HRESULT (STDMETHODCALLTYPE *get_TextRange)( + IUIAutomationTextChildPattern *This, + IUIAutomationTextRange **range); + + END_INTERFACE +} IUIAutomationTextChildPatternVtbl; + +interface IUIAutomationTextChildPattern { + CONST_VTBL IUIAutomationTextChildPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationTextChildPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationTextChildPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationTextChildPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationTextChildPattern methods ***/ +#define IUIAutomationTextChildPattern_get_TextContainer(This,container) (This)->lpVtbl->get_TextContainer(This,container) +#define IUIAutomationTextChildPattern_get_TextRange(This,range) (This)->lpVtbl->get_TextRange(This,range) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationTextChildPattern_QueryInterface(IUIAutomationTextChildPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationTextChildPattern_AddRef(IUIAutomationTextChildPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationTextChildPattern_Release(IUIAutomationTextChildPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationTextChildPattern methods ***/ +static inline HRESULT IUIAutomationTextChildPattern_get_TextContainer(IUIAutomationTextChildPattern* This,IUIAutomationElement **container) { + return This->lpVtbl->get_TextContainer(This,container); +} +static inline HRESULT IUIAutomationTextChildPattern_get_TextRange(IUIAutomationTextChildPattern* This,IUIAutomationTextRange **range) { + return This->lpVtbl->get_TextRange(This,range); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationTextChildPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationDragPattern interface + */ +#ifndef __IUIAutomationDragPattern_INTERFACE_DEFINED__ +#define __IUIAutomationDragPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationDragPattern, 0x1dc7b570, 0x1f54, 0x4bad, 0xbc,0xda, 0xd3,0x6a,0x72,0x2f,0xb7,0xbd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1dc7b570-1f54-4bad-bcda-d36a722fb7bd") +IUIAutomationDragPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsGrabbed( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsGrabbed( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDropEffect( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDropEffect( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDropEffects( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDropEffects( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentGrabbedItems( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedGrabbedItems( + IUIAutomationElementArray **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationDragPattern, 0x1dc7b570, 0x1f54, 0x4bad, 0xbc,0xda, 0xd3,0x6a,0x72,0x2f,0xb7,0xbd) +#endif +#else +typedef struct IUIAutomationDragPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationDragPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationDragPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationDragPattern *This); + + /*** IUIAutomationDragPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentIsGrabbed)( + IUIAutomationDragPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsGrabbed)( + IUIAutomationDragPattern *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDropEffect)( + IUIAutomationDragPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDropEffect)( + IUIAutomationDragPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDropEffects)( + IUIAutomationDragPattern *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDropEffects)( + IUIAutomationDragPattern *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentGrabbedItems)( + IUIAutomationDragPattern *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedGrabbedItems)( + IUIAutomationDragPattern *This, + IUIAutomationElementArray **retVal); + + END_INTERFACE +} IUIAutomationDragPatternVtbl; + +interface IUIAutomationDragPattern { + CONST_VTBL IUIAutomationDragPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationDragPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationDragPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationDragPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationDragPattern methods ***/ +#define IUIAutomationDragPattern_get_CurrentIsGrabbed(This,retVal) (This)->lpVtbl->get_CurrentIsGrabbed(This,retVal) +#define IUIAutomationDragPattern_get_CachedIsGrabbed(This,retVal) (This)->lpVtbl->get_CachedIsGrabbed(This,retVal) +#define IUIAutomationDragPattern_get_CurrentDropEffect(This,retVal) (This)->lpVtbl->get_CurrentDropEffect(This,retVal) +#define IUIAutomationDragPattern_get_CachedDropEffect(This,retVal) (This)->lpVtbl->get_CachedDropEffect(This,retVal) +#define IUIAutomationDragPattern_get_CurrentDropEffects(This,retVal) (This)->lpVtbl->get_CurrentDropEffects(This,retVal) +#define IUIAutomationDragPattern_get_CachedDropEffects(This,retVal) (This)->lpVtbl->get_CachedDropEffects(This,retVal) +#define IUIAutomationDragPattern_GetCurrentGrabbedItems(This,retVal) (This)->lpVtbl->GetCurrentGrabbedItems(This,retVal) +#define IUIAutomationDragPattern_GetCachedGrabbedItems(This,retVal) (This)->lpVtbl->GetCachedGrabbedItems(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationDragPattern_QueryInterface(IUIAutomationDragPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationDragPattern_AddRef(IUIAutomationDragPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationDragPattern_Release(IUIAutomationDragPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationDragPattern methods ***/ +static inline HRESULT IUIAutomationDragPattern_get_CurrentIsGrabbed(IUIAutomationDragPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsGrabbed(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_get_CachedIsGrabbed(IUIAutomationDragPattern* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsGrabbed(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_get_CurrentDropEffect(IUIAutomationDragPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentDropEffect(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_get_CachedDropEffect(IUIAutomationDragPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedDropEffect(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_get_CurrentDropEffects(IUIAutomationDragPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentDropEffects(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_get_CachedDropEffects(IUIAutomationDragPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedDropEffects(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_GetCurrentGrabbedItems(IUIAutomationDragPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCurrentGrabbedItems(This,retVal); +} +static inline HRESULT IUIAutomationDragPattern_GetCachedGrabbedItems(IUIAutomationDragPattern* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->GetCachedGrabbedItems(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationDragPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationDropTargetPattern interface + */ +#ifndef __IUIAutomationDropTargetPattern_INTERFACE_DEFINED__ +#define __IUIAutomationDropTargetPattern_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationDropTargetPattern, 0x69a095f7, 0xeee4, 0x430e, 0xa4,0x6b, 0xfb,0x73,0xb1,0xae,0x39,0xa5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("69a095f7-eee4-430e-a46b-fb73b1ae39a5") +IUIAutomationDropTargetPattern : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentDropTargetEffect( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDropTargetEffect( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDropTargetEffects( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDropTargetEffects( + SAFEARRAY **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationDropTargetPattern, 0x69a095f7, 0xeee4, 0x430e, 0xa4,0x6b, 0xfb,0x73,0xb1,0xae,0x39,0xa5) +#endif +#else +typedef struct IUIAutomationDropTargetPatternVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationDropTargetPattern *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationDropTargetPattern *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationDropTargetPattern *This); + + /*** IUIAutomationDropTargetPattern methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentDropTargetEffect)( + IUIAutomationDropTargetPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDropTargetEffect)( + IUIAutomationDropTargetPattern *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDropTargetEffects)( + IUIAutomationDropTargetPattern *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDropTargetEffects)( + IUIAutomationDropTargetPattern *This, + SAFEARRAY **retVal); + + END_INTERFACE +} IUIAutomationDropTargetPatternVtbl; + +interface IUIAutomationDropTargetPattern { + CONST_VTBL IUIAutomationDropTargetPatternVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationDropTargetPattern_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationDropTargetPattern_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationDropTargetPattern_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationDropTargetPattern methods ***/ +#define IUIAutomationDropTargetPattern_get_CurrentDropTargetEffect(This,retVal) (This)->lpVtbl->get_CurrentDropTargetEffect(This,retVal) +#define IUIAutomationDropTargetPattern_get_CachedDropTargetEffect(This,retVal) (This)->lpVtbl->get_CachedDropTargetEffect(This,retVal) +#define IUIAutomationDropTargetPattern_get_CurrentDropTargetEffects(This,retVal) (This)->lpVtbl->get_CurrentDropTargetEffects(This,retVal) +#define IUIAutomationDropTargetPattern_get_CachedDropTargetEffects(This,retVal) (This)->lpVtbl->get_CachedDropTargetEffects(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationDropTargetPattern_QueryInterface(IUIAutomationDropTargetPattern* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationDropTargetPattern_AddRef(IUIAutomationDropTargetPattern* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationDropTargetPattern_Release(IUIAutomationDropTargetPattern* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationDropTargetPattern methods ***/ +static inline HRESULT IUIAutomationDropTargetPattern_get_CurrentDropTargetEffect(IUIAutomationDropTargetPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentDropTargetEffect(This,retVal); +} +static inline HRESULT IUIAutomationDropTargetPattern_get_CachedDropTargetEffect(IUIAutomationDropTargetPattern* This,BSTR *retVal) { + return This->lpVtbl->get_CachedDropTargetEffect(This,retVal); +} +static inline HRESULT IUIAutomationDropTargetPattern_get_CurrentDropTargetEffects(IUIAutomationDropTargetPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentDropTargetEffects(This,retVal); +} +static inline HRESULT IUIAutomationDropTargetPattern_get_CachedDropTargetEffects(IUIAutomationDropTargetPattern* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedDropTargetEffects(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationDropTargetPattern_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement interface + */ +#ifndef __IUIAutomationElement_INTERFACE_DEFINED__ +#define __IUIAutomationElement_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d22108aa-8ac5-49a5-837b-37bbb3d7591e") +IUIAutomationElement : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetFocus( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeId( + SAFEARRAY **runtimeId) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindFirst( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAll( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindFirstBuildCache( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAllBuildCache( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE BuildUpdatedCache( + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValue( + PROPERTYID propertyId, + VARIANT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentPropertyValueEx( + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValue( + PROPERTYID propertyId, + VARIANT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedPropertyValueEx( + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentPatternAs( + PATTERNID patternId, + REFIID riid, + void **patternObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedPatternAs( + PATTERNID patternId, + REFIID riid, + void **patternObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentPattern( + PATTERNID patternId, + IUnknown **patternObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedPattern( + PATTERNID patternId, + IUnknown **patternObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedParent( + IUIAutomationElement **parent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCachedChildren( + IUIAutomationElementArray **children) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentProcessId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentControlType( + CONTROLTYPEID *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLocalizedControlType( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAcceleratorKey( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAccessKey( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHasKeyboardFocus( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsKeyboardFocusable( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsEnabled( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAutomationId( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentClassName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentHelpText( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentCulture( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsControlElement( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsContentElement( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsPassword( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentNativeWindowHandle( + UIA_HWND *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentItemType( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsOffscreen( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentOrientation( + enum OrientationType *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFrameworkId( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsRequiredForForm( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentItemStatus( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentBoundingRectangle( + RECT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLabeledBy( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaRole( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAriaProperties( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsDataValidForForm( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentControllerFor( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentDescribedBy( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFlowsTo( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentProviderDescription( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedProcessId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedControlType( + CONTROLTYPEID *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLocalizedControlType( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAcceleratorKey( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAccessKey( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHasKeyboardFocus( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsKeyboardFocusable( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsEnabled( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAutomationId( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedClassName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHelpText( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedCulture( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsControlElement( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsContentElement( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsPassword( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedNativeWindowHandle( + UIA_HWND *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedItemType( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsOffscreen( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedOrientation( + enum OrientationType *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFrameworkId( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsRequiredForForm( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedItemStatus( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedBoundingRectangle( + RECT *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLabeledBy( + IUIAutomationElement **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAriaRole( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAriaProperties( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsDataValidForForm( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedControllerFor( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedDescribedBy( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFlowsTo( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedProviderDescription( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetClickablePoint( + POINT *clickable, + WINBOOL *gotClickable) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement, 0xd22108aa, 0x8ac5, 0x49a5, 0x83,0x7b, 0x37,0xbb,0xb3,0xd7,0x59,0x1e) +#endif +#else +typedef struct IUIAutomationElementVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement *This, + POINT *clickable, + WINBOOL *gotClickable); + + END_INTERFACE +} IUIAutomationElementVtbl; + +interface IUIAutomationElement { + CONST_VTBL IUIAutomationElementVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement_QueryInterface(IUIAutomationElement* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement_AddRef(IUIAutomationElement* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement_Release(IUIAutomationElement* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement_SetFocus(IUIAutomationElement* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement_GetRuntimeId(IUIAutomationElement* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement_FindFirst(IUIAutomationElement* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement_FindAll(IUIAutomationElement* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement_FindFirstBuildCache(IUIAutomationElement* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement_FindAllBuildCache(IUIAutomationElement* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement_BuildUpdatedCache(IUIAutomationElement* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement_GetCurrentPropertyValue(IUIAutomationElement* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement_GetCurrentPropertyValueEx(IUIAutomationElement* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement_GetCachedPropertyValue(IUIAutomationElement* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement_GetCachedPropertyValueEx(IUIAutomationElement* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement_GetCurrentPatternAs(IUIAutomationElement* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement_GetCachedPatternAs(IUIAutomationElement* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement_GetCurrentPattern(IUIAutomationElement* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement_GetCachedPattern(IUIAutomationElement* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement_GetCachedParent(IUIAutomationElement* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement_GetCachedChildren(IUIAutomationElement* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement_get_CurrentProcessId(IUIAutomationElement* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentControlType(IUIAutomationElement* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentLocalizedControlType(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentName(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentAcceleratorKey(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentAccessKey(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentHasKeyboardFocus(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsKeyboardFocusable(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsEnabled(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentAutomationId(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentClassName(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentHelpText(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentCulture(IUIAutomationElement* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsControlElement(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsContentElement(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsPassword(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentNativeWindowHandle(IUIAutomationElement* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentItemType(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsOffscreen(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentOrientation(IUIAutomationElement* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentFrameworkId(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsRequiredForForm(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentItemStatus(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentBoundingRectangle(IUIAutomationElement* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentLabeledBy(IUIAutomationElement* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentAriaRole(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentAriaProperties(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentIsDataValidForForm(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentControllerFor(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentDescribedBy(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentFlowsTo(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CurrentProviderDescription(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedProcessId(IUIAutomationElement* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedControlType(IUIAutomationElement* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedLocalizedControlType(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedName(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedAcceleratorKey(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedAccessKey(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedHasKeyboardFocus(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsKeyboardFocusable(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsEnabled(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedAutomationId(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedClassName(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedHelpText(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedCulture(IUIAutomationElement* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsControlElement(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsContentElement(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsPassword(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedNativeWindowHandle(IUIAutomationElement* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedItemType(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsOffscreen(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedOrientation(IUIAutomationElement* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedFrameworkId(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsRequiredForForm(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedItemStatus(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedBoundingRectangle(IUIAutomationElement* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedLabeledBy(IUIAutomationElement* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedAriaRole(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedAriaProperties(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedIsDataValidForForm(IUIAutomationElement* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedControllerFor(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedDescribedBy(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedFlowsTo(IUIAutomationElement* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement_get_CachedProviderDescription(IUIAutomationElement* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement_GetClickablePoint(IUIAutomationElement* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement2 interface + */ +#ifndef __IUIAutomationElement2_INTERFACE_DEFINED__ +#define __IUIAutomationElement2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement2, 0x6749c683, 0xf70d, 0x4487, 0xa6,0x98, 0x5f,0x79,0xd5,0x52,0x90,0xd6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6749c683-f70d-4487-a698-5f79d55290d6") +IUIAutomationElement2 : public IUIAutomationElement +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentOptimizeForVisualContent( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedOptimizeForVisualContent( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLiveSetting( + enum LiveSetting *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLiveSetting( + enum LiveSetting *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFlowsFrom( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFlowsFrom( + IUIAutomationElementArray **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement2, 0x6749c683, 0xf70d, 0x4487, 0xa6,0x98, 0x5f,0x79,0xd5,0x52,0x90,0xd6) +#endif +#else +typedef struct IUIAutomationElement2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement2 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement2 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement2 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement2 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement2 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement2 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement2 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement2 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement2 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement2 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement2 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement2 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement2 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement2 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement2 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement2 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement2 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement2 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement2 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement2 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement2 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement2 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement2 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement2 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement2 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement2 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement2 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement2 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement2 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement2 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement2 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement2 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement2 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement2 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement2 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement2 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement2 *This, + IUIAutomationElementArray **retVal); + + END_INTERFACE +} IUIAutomationElement2Vtbl; + +interface IUIAutomationElement2 { + CONST_VTBL IUIAutomationElement2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement2_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement2_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement2_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement2_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement2_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement2_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement2_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement2_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement2_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement2_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement2_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement2_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement2_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement2_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement2_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement2_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement2_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement2_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement2_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement2_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement2_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement2_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement2_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement2_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement2_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement2_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement2_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement2_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement2_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement2_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement2_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement2_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement2_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement2_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement2_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement2_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement2_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement2_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement2_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement2_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement2_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement2_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement2_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement2_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement2_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement2_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement2_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement2_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement2_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement2_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement2_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement2_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement2_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement2_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement2_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement2_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement2_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement2_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement2_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement2_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement2_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement2_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement2_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement2_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement2_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement2_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement2_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement2_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement2_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement2_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement2_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement2_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement2_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement2_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement2_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement2_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement2_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement2_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement2_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement2_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement2_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement2_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement2_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement2_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement2_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement2_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement2_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement2_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement2_QueryInterface(IUIAutomationElement2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement2_AddRef(IUIAutomationElement2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement2_Release(IUIAutomationElement2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement2_SetFocus(IUIAutomationElement2* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement2_GetRuntimeId(IUIAutomationElement2* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement2_FindFirst(IUIAutomationElement2* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement2_FindAll(IUIAutomationElement2* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement2_FindFirstBuildCache(IUIAutomationElement2* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement2_FindAllBuildCache(IUIAutomationElement2* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement2_BuildUpdatedCache(IUIAutomationElement2* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement2_GetCurrentPropertyValue(IUIAutomationElement2* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement2_GetCurrentPropertyValueEx(IUIAutomationElement2* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement2_GetCachedPropertyValue(IUIAutomationElement2* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement2_GetCachedPropertyValueEx(IUIAutomationElement2* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement2_GetCurrentPatternAs(IUIAutomationElement2* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement2_GetCachedPatternAs(IUIAutomationElement2* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement2_GetCurrentPattern(IUIAutomationElement2* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement2_GetCachedPattern(IUIAutomationElement2* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement2_GetCachedParent(IUIAutomationElement2* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement2_GetCachedChildren(IUIAutomationElement2* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement2_get_CurrentProcessId(IUIAutomationElement2* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentControlType(IUIAutomationElement2* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentLocalizedControlType(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentName(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentAcceleratorKey(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentAccessKey(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentHasKeyboardFocus(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsKeyboardFocusable(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsEnabled(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentAutomationId(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentClassName(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentHelpText(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentCulture(IUIAutomationElement2* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsControlElement(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsContentElement(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsPassword(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentNativeWindowHandle(IUIAutomationElement2* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentItemType(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsOffscreen(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentOrientation(IUIAutomationElement2* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentFrameworkId(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsRequiredForForm(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentItemStatus(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentBoundingRectangle(IUIAutomationElement2* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentLabeledBy(IUIAutomationElement2* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentAriaRole(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentAriaProperties(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentIsDataValidForForm(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentControllerFor(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentDescribedBy(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentFlowsTo(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentProviderDescription(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedProcessId(IUIAutomationElement2* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedControlType(IUIAutomationElement2* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedLocalizedControlType(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedName(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedAcceleratorKey(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedAccessKey(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedHasKeyboardFocus(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsKeyboardFocusable(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsEnabled(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedAutomationId(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedClassName(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedHelpText(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedCulture(IUIAutomationElement2* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsControlElement(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsContentElement(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsPassword(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedNativeWindowHandle(IUIAutomationElement2* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedItemType(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsOffscreen(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedOrientation(IUIAutomationElement2* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedFrameworkId(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsRequiredForForm(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedItemStatus(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedBoundingRectangle(IUIAutomationElement2* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedLabeledBy(IUIAutomationElement2* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedAriaRole(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedAriaProperties(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedIsDataValidForForm(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedControllerFor(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedDescribedBy(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedFlowsTo(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedProviderDescription(IUIAutomationElement2* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement2_GetClickablePoint(IUIAutomationElement2* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement2_get_CurrentOptimizeForVisualContent(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedOptimizeForVisualContent(IUIAutomationElement2* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentLiveSetting(IUIAutomationElement2* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedLiveSetting(IUIAutomationElement2* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CurrentFlowsFrom(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement2_get_CachedFlowsFrom(IUIAutomationElement2* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement3 interface + */ +#ifndef __IUIAutomationElement3_INTERFACE_DEFINED__ +#define __IUIAutomationElement3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement3, 0x8471df34, 0xaee0, 0x4a01, 0xa7,0xde, 0x7d,0xb9,0xaf,0x12,0xc2,0x96); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8471df34-aee0-4a01-a7de-7db9af12c296") +IUIAutomationElement3 : public IUIAutomationElement2 +{ + virtual HRESULT STDMETHODCALLTYPE ShowContextMenu( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsPeripheral( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsPeripheral( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement3, 0x8471df34, 0xaee0, 0x4a01, 0xa7,0xde, 0x7d,0xb9,0xaf,0x12,0xc2,0x96) +#endif +#else +typedef struct IUIAutomationElement3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement3 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement3 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement3 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement3 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement3 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement3 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement3 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement3 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement3 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement3 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement3 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement3 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement3 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement3 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement3 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement3 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement3 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement3 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement3 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement3 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement3 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement3 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement3 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement3 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement3 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement3 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement3 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement3 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement3 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement3 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement3 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement3 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement3 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement3 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement3 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement3 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement3 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement3 *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationElement3Vtbl; + +interface IUIAutomationElement3 { + CONST_VTBL IUIAutomationElement3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement3_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement3_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement3_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement3_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement3_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement3_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement3_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement3_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement3_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement3_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement3_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement3_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement3_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement3_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement3_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement3_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement3_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement3_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement3_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement3_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement3_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement3_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement3_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement3_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement3_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement3_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement3_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement3_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement3_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement3_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement3_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement3_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement3_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement3_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement3_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement3_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement3_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement3_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement3_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement3_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement3_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement3_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement3_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement3_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement3_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement3_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement3_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement3_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement3_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement3_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement3_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement3_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement3_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement3_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement3_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement3_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement3_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement3_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement3_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement3_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement3_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement3_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement3_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement3_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement3_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement3_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement3_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement3_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement3_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement3_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement3_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement3_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement3_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement3_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement3_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement3_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement3_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement3_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement3_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement3_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement3_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement3_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement3_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement3_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement3_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement3_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement3_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement3_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement3_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement3_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement3_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement3_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement3_QueryInterface(IUIAutomationElement3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement3_AddRef(IUIAutomationElement3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement3_Release(IUIAutomationElement3* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement3_SetFocus(IUIAutomationElement3* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement3_GetRuntimeId(IUIAutomationElement3* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement3_FindFirst(IUIAutomationElement3* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement3_FindAll(IUIAutomationElement3* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement3_FindFirstBuildCache(IUIAutomationElement3* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement3_FindAllBuildCache(IUIAutomationElement3* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement3_BuildUpdatedCache(IUIAutomationElement3* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement3_GetCurrentPropertyValue(IUIAutomationElement3* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement3_GetCurrentPropertyValueEx(IUIAutomationElement3* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement3_GetCachedPropertyValue(IUIAutomationElement3* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement3_GetCachedPropertyValueEx(IUIAutomationElement3* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement3_GetCurrentPatternAs(IUIAutomationElement3* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement3_GetCachedPatternAs(IUIAutomationElement3* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement3_GetCurrentPattern(IUIAutomationElement3* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement3_GetCachedPattern(IUIAutomationElement3* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement3_GetCachedParent(IUIAutomationElement3* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement3_GetCachedChildren(IUIAutomationElement3* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement3_get_CurrentProcessId(IUIAutomationElement3* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentControlType(IUIAutomationElement3* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentLocalizedControlType(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentName(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentAcceleratorKey(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentAccessKey(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentHasKeyboardFocus(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsKeyboardFocusable(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsEnabled(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentAutomationId(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentClassName(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentHelpText(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentCulture(IUIAutomationElement3* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsControlElement(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsContentElement(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsPassword(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentNativeWindowHandle(IUIAutomationElement3* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentItemType(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsOffscreen(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentOrientation(IUIAutomationElement3* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentFrameworkId(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsRequiredForForm(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentItemStatus(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentBoundingRectangle(IUIAutomationElement3* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentLabeledBy(IUIAutomationElement3* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentAriaRole(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentAriaProperties(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsDataValidForForm(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentControllerFor(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentDescribedBy(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentFlowsTo(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentProviderDescription(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedProcessId(IUIAutomationElement3* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedControlType(IUIAutomationElement3* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedLocalizedControlType(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedName(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedAcceleratorKey(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedAccessKey(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedHasKeyboardFocus(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsKeyboardFocusable(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsEnabled(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedAutomationId(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedClassName(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedHelpText(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedCulture(IUIAutomationElement3* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsControlElement(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsContentElement(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsPassword(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedNativeWindowHandle(IUIAutomationElement3* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedItemType(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsOffscreen(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedOrientation(IUIAutomationElement3* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedFrameworkId(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsRequiredForForm(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedItemStatus(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedBoundingRectangle(IUIAutomationElement3* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedLabeledBy(IUIAutomationElement3* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedAriaRole(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedAriaProperties(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsDataValidForForm(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedControllerFor(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedDescribedBy(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedFlowsTo(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedProviderDescription(IUIAutomationElement3* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement3_GetClickablePoint(IUIAutomationElement3* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement3_get_CurrentOptimizeForVisualContent(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedOptimizeForVisualContent(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentLiveSetting(IUIAutomationElement3* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedLiveSetting(IUIAutomationElement3* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CurrentFlowsFrom(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedFlowsFrom(IUIAutomationElement3* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement3_ShowContextMenu(IUIAutomationElement3* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement3_get_CurrentIsPeripheral(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement3_get_CachedIsPeripheral(IUIAutomationElement3* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement4 interface + */ +#ifndef __IUIAutomationElement4_INTERFACE_DEFINED__ +#define __IUIAutomationElement4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement4, 0x3b6e233c, 0x52fb, 0x4063, 0xa4,0xc9, 0x77,0xc0,0x75,0xc2,0xa0,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3b6e233c-52fb-4063-a4c9-77c075c2a06b") +IUIAutomationElement4 : public IUIAutomationElement3 +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentPositionInSet( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentSizeOfSet( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLevel( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAnnotationTypes( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentAnnotationObjects( + IUIAutomationElementArray **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedPositionInSet( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedSizeOfSet( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLevel( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAnnotationTypes( + SAFEARRAY **retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedAnnotationObjects( + IUIAutomationElementArray **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement4, 0x3b6e233c, 0x52fb, 0x4063, 0xa4,0xc9, 0x77,0xc0,0x75,0xc2,0xa0,0x6b) +#endif +#else +typedef struct IUIAutomationElement4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement4 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement4 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement4 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement4 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement4 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement4 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement4 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement4 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement4 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement4 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement4 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement4 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement4 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement4 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement4 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement4 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement4 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement4 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement4 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement4 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement4 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement4 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement4 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement4 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement4 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement4 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement4 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement4 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement4 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement4 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement4 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement4 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement4 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement4 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement4 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement4 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement4 *This, + IUIAutomationElementArray **retVal); + + END_INTERFACE +} IUIAutomationElement4Vtbl; + +interface IUIAutomationElement4 { + CONST_VTBL IUIAutomationElement4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement4_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement4_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement4_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement4_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement4_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement4_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement4_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement4_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement4_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement4_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement4_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement4_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement4_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement4_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement4_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement4_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement4_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement4_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement4_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement4_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement4_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement4_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement4_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement4_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement4_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement4_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement4_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement4_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement4_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement4_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement4_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement4_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement4_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement4_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement4_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement4_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement4_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement4_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement4_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement4_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement4_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement4_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement4_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement4_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement4_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement4_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement4_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement4_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement4_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement4_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement4_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement4_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement4_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement4_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement4_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement4_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement4_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement4_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement4_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement4_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement4_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement4_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement4_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement4_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement4_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement4_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement4_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement4_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement4_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement4_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement4_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement4_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement4_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement4_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement4_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement4_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement4_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement4_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement4_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement4_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement4_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement4_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement4_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement4_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement4_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement4_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement4_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement4_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement4_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement4_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement4_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement4_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement4_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement4_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement4_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement4_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement4_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement4_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement4_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement4_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement4_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement4_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement4_QueryInterface(IUIAutomationElement4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement4_AddRef(IUIAutomationElement4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement4_Release(IUIAutomationElement4* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement4_SetFocus(IUIAutomationElement4* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement4_GetRuntimeId(IUIAutomationElement4* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement4_FindFirst(IUIAutomationElement4* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement4_FindAll(IUIAutomationElement4* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement4_FindFirstBuildCache(IUIAutomationElement4* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement4_FindAllBuildCache(IUIAutomationElement4* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement4_BuildUpdatedCache(IUIAutomationElement4* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement4_GetCurrentPropertyValue(IUIAutomationElement4* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement4_GetCurrentPropertyValueEx(IUIAutomationElement4* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement4_GetCachedPropertyValue(IUIAutomationElement4* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement4_GetCachedPropertyValueEx(IUIAutomationElement4* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement4_GetCurrentPatternAs(IUIAutomationElement4* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement4_GetCachedPatternAs(IUIAutomationElement4* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement4_GetCurrentPattern(IUIAutomationElement4* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement4_GetCachedPattern(IUIAutomationElement4* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement4_GetCachedParent(IUIAutomationElement4* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement4_GetCachedChildren(IUIAutomationElement4* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement4_get_CurrentProcessId(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentControlType(IUIAutomationElement4* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentLocalizedControlType(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentName(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAcceleratorKey(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAccessKey(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentHasKeyboardFocus(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsKeyboardFocusable(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsEnabled(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAutomationId(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentClassName(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentHelpText(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentCulture(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsControlElement(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsContentElement(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsPassword(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentNativeWindowHandle(IUIAutomationElement4* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentItemType(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsOffscreen(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentOrientation(IUIAutomationElement4* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentFrameworkId(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsRequiredForForm(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentItemStatus(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentBoundingRectangle(IUIAutomationElement4* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentLabeledBy(IUIAutomationElement4* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAriaRole(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAriaProperties(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsDataValidForForm(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentControllerFor(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentDescribedBy(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentFlowsTo(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentProviderDescription(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedProcessId(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedControlType(IUIAutomationElement4* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedLocalizedControlType(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedName(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAcceleratorKey(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAccessKey(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedHasKeyboardFocus(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsKeyboardFocusable(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsEnabled(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAutomationId(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedClassName(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedHelpText(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedCulture(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsControlElement(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsContentElement(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsPassword(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedNativeWindowHandle(IUIAutomationElement4* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedItemType(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsOffscreen(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedOrientation(IUIAutomationElement4* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedFrameworkId(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsRequiredForForm(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedItemStatus(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedBoundingRectangle(IUIAutomationElement4* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedLabeledBy(IUIAutomationElement4* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAriaRole(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAriaProperties(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsDataValidForForm(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedControllerFor(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedDescribedBy(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedFlowsTo(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedProviderDescription(IUIAutomationElement4* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement4_GetClickablePoint(IUIAutomationElement4* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement4_get_CurrentOptimizeForVisualContent(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedOptimizeForVisualContent(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentLiveSetting(IUIAutomationElement4* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedLiveSetting(IUIAutomationElement4* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentFlowsFrom(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedFlowsFrom(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement4_ShowContextMenu(IUIAutomationElement4* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement4_get_CurrentIsPeripheral(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedIsPeripheral(IUIAutomationElement4* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement4_get_CurrentPositionInSet(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentSizeOfSet(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentLevel(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAnnotationTypes(IUIAutomationElement4* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CurrentAnnotationObjects(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedPositionInSet(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedSizeOfSet(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedLevel(IUIAutomationElement4* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAnnotationTypes(IUIAutomationElement4* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement4_get_CachedAnnotationObjects(IUIAutomationElement4* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement5 interface + */ +#ifndef __IUIAutomationElement5_INTERFACE_DEFINED__ +#define __IUIAutomationElement5_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement5, 0x98141c1d, 0x0d0e, 0x4175, 0xbb,0xe2, 0x6b,0xff,0x45,0x58,0x42,0xa7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("98141c1d-0d0e-4175-bbe2-6bff455842a7") +IUIAutomationElement5 : public IUIAutomationElement4 +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentLandmarkType( + LANDMARKTYPEID *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentLocalizedLandmarkType( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLandmarkType( + LANDMARKTYPEID *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedLocalizedLandmarkType( + BSTR *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement5, 0x98141c1d, 0x0d0e, 0x4175, 0xbb,0xe2, 0x6b,0xff,0x45,0x58,0x42,0xa7) +#endif +#else +typedef struct IUIAutomationElement5Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement5 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement5 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement5 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement5 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement5 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement5 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement5 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement5 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement5 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement5 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement5 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement5 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement5 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement5 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement5 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement5 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement5 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement5 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement5 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement5 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement5 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement5 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement5 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement5 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement5 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement5 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement5 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement5 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement5 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement5 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement5 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement5 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement5 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement5 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement5 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement5 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement5 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement5 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement5 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentLandmarkType)( + IUIAutomationElement5 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedLandmarkType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLandmarkType)( + IUIAutomationElement5 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedLandmarkType)( + IUIAutomationElement5 *This, + BSTR *retVal); + + END_INTERFACE +} IUIAutomationElement5Vtbl; + +interface IUIAutomationElement5 { + CONST_VTBL IUIAutomationElement5Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement5_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement5_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement5_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement5_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement5_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement5_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement5_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement5_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement5_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement5_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement5_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement5_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement5_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement5_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement5_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement5_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement5_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement5_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement5_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement5_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement5_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement5_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement5_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement5_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement5_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement5_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement5_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement5_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement5_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement5_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement5_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement5_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement5_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement5_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement5_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement5_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement5_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement5_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement5_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement5_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement5_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement5_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement5_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement5_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement5_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement5_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement5_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement5_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement5_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement5_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement5_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement5_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement5_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement5_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement5_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement5_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement5_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement5_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement5_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement5_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement5_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement5_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement5_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement5_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement5_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement5_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement5_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement5_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement5_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement5_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement5_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement5_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement5_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement5_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement5_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement5_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement5_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement5_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement5_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement5_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement5_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement5_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement5_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement5_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement5_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement5_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement5_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement5_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement5_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement5_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement5_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement5_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement5_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement5_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement5_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement5_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement5_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement5_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement5_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement5_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement5_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement5_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +/*** IUIAutomationElement5 methods ***/ +#define IUIAutomationElement5_get_CurrentLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLandmarkType(This,retVal) +#define IUIAutomationElement5_get_CurrentLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal) +#define IUIAutomationElement5_get_CachedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLandmarkType(This,retVal) +#define IUIAutomationElement5_get_CachedLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement5_QueryInterface(IUIAutomationElement5* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement5_AddRef(IUIAutomationElement5* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement5_Release(IUIAutomationElement5* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement5_SetFocus(IUIAutomationElement5* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement5_GetRuntimeId(IUIAutomationElement5* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement5_FindFirst(IUIAutomationElement5* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement5_FindAll(IUIAutomationElement5* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement5_FindFirstBuildCache(IUIAutomationElement5* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement5_FindAllBuildCache(IUIAutomationElement5* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement5_BuildUpdatedCache(IUIAutomationElement5* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement5_GetCurrentPropertyValue(IUIAutomationElement5* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement5_GetCurrentPropertyValueEx(IUIAutomationElement5* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement5_GetCachedPropertyValue(IUIAutomationElement5* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement5_GetCachedPropertyValueEx(IUIAutomationElement5* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement5_GetCurrentPatternAs(IUIAutomationElement5* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement5_GetCachedPatternAs(IUIAutomationElement5* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement5_GetCurrentPattern(IUIAutomationElement5* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement5_GetCachedPattern(IUIAutomationElement5* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement5_GetCachedParent(IUIAutomationElement5* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement5_GetCachedChildren(IUIAutomationElement5* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement5_get_CurrentProcessId(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentControlType(IUIAutomationElement5* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentLocalizedControlType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentName(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAcceleratorKey(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAccessKey(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentHasKeyboardFocus(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsKeyboardFocusable(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsEnabled(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAutomationId(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentClassName(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentHelpText(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentCulture(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsControlElement(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsContentElement(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsPassword(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentNativeWindowHandle(IUIAutomationElement5* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentItemType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsOffscreen(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentOrientation(IUIAutomationElement5* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentFrameworkId(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsRequiredForForm(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentItemStatus(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentBoundingRectangle(IUIAutomationElement5* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentLabeledBy(IUIAutomationElement5* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAriaRole(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAriaProperties(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsDataValidForForm(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentControllerFor(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentDescribedBy(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentFlowsTo(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentProviderDescription(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedProcessId(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedControlType(IUIAutomationElement5* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLocalizedControlType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedName(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAcceleratorKey(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAccessKey(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedHasKeyboardFocus(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsKeyboardFocusable(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsEnabled(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAutomationId(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedClassName(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedHelpText(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedCulture(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsControlElement(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsContentElement(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsPassword(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedNativeWindowHandle(IUIAutomationElement5* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedItemType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsOffscreen(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedOrientation(IUIAutomationElement5* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedFrameworkId(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsRequiredForForm(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedItemStatus(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedBoundingRectangle(IUIAutomationElement5* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLabeledBy(IUIAutomationElement5* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAriaRole(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAriaProperties(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsDataValidForForm(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedControllerFor(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedDescribedBy(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedFlowsTo(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedProviderDescription(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement5_GetClickablePoint(IUIAutomationElement5* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement5_get_CurrentOptimizeForVisualContent(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedOptimizeForVisualContent(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentLiveSetting(IUIAutomationElement5* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLiveSetting(IUIAutomationElement5* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentFlowsFrom(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedFlowsFrom(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement5_ShowContextMenu(IUIAutomationElement5* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement5_get_CurrentIsPeripheral(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedIsPeripheral(IUIAutomationElement5* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement5_get_CurrentPositionInSet(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentSizeOfSet(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentLevel(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAnnotationTypes(IUIAutomationElement5* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentAnnotationObjects(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedPositionInSet(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedSizeOfSet(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLevel(IUIAutomationElement5* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAnnotationTypes(IUIAutomationElement5* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedAnnotationObjects(IUIAutomationElement5* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +/*** IUIAutomationElement5 methods ***/ +static inline HRESULT IUIAutomationElement5_get_CurrentLandmarkType(IUIAutomationElement5* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CurrentLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CurrentLocalizedLandmarkType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLandmarkType(IUIAutomationElement5* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CachedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement5_get_CachedLocalizedLandmarkType(IUIAutomationElement5* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement5_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement6 interface + */ +#ifndef __IUIAutomationElement6_INTERFACE_DEFINED__ +#define __IUIAutomationElement6_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement6, 0x4780d450, 0x8bca, 0x4977, 0xaf,0xa5, 0xa4,0xa5,0x17,0xf5,0x55,0xe3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4780d450-8bca-4977-afa5-a4a517f555e3") +IUIAutomationElement6 : public IUIAutomationElement5 +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentFullDescription( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedFullDescription( + BSTR *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement6, 0x4780d450, 0x8bca, 0x4977, 0xaf,0xa5, 0xa4,0xa5,0x17,0xf5,0x55,0xe3) +#endif +#else +typedef struct IUIAutomationElement6Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement6 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement6 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement6 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement6 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement6 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement6 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement6 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement6 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement6 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement6 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement6 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement6 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement6 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement6 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement6 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement6 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement6 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement6 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement6 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement6 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement6 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement6 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement6 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement6 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement6 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement6 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement6 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement6 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement6 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement6 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement6 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement6 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement6 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement6 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement6 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement6 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement6 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement6 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement5 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentLandmarkType)( + IUIAutomationElement6 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedLandmarkType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLandmarkType)( + IUIAutomationElement6 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedLandmarkType)( + IUIAutomationElement6 *This, + BSTR *retVal); + + /*** IUIAutomationElement6 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentFullDescription)( + IUIAutomationElement6 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFullDescription)( + IUIAutomationElement6 *This, + BSTR *retVal); + + END_INTERFACE +} IUIAutomationElement6Vtbl; + +interface IUIAutomationElement6 { + CONST_VTBL IUIAutomationElement6Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement6_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement6_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement6_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement6_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement6_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement6_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement6_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement6_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement6_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement6_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement6_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement6_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement6_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement6_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement6_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement6_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement6_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement6_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement6_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement6_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement6_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement6_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement6_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement6_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement6_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement6_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement6_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement6_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement6_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement6_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement6_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement6_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement6_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement6_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement6_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement6_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement6_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement6_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement6_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement6_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement6_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement6_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement6_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement6_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement6_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement6_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement6_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement6_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement6_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement6_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement6_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement6_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement6_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement6_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement6_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement6_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement6_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement6_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement6_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement6_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement6_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement6_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement6_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement6_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement6_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement6_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement6_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement6_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement6_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement6_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement6_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement6_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement6_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement6_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement6_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement6_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement6_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement6_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement6_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement6_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement6_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement6_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement6_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement6_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement6_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement6_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement6_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement6_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement6_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement6_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement6_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement6_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement6_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement6_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement6_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement6_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement6_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement6_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement6_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement6_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement6_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement6_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement6_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +/*** IUIAutomationElement5 methods ***/ +#define IUIAutomationElement6_get_CurrentLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLandmarkType(This,retVal) +#define IUIAutomationElement6_get_CurrentLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal) +#define IUIAutomationElement6_get_CachedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLandmarkType(This,retVal) +#define IUIAutomationElement6_get_CachedLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal) +/*** IUIAutomationElement6 methods ***/ +#define IUIAutomationElement6_get_CurrentFullDescription(This,retVal) (This)->lpVtbl->get_CurrentFullDescription(This,retVal) +#define IUIAutomationElement6_get_CachedFullDescription(This,retVal) (This)->lpVtbl->get_CachedFullDescription(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement6_QueryInterface(IUIAutomationElement6* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement6_AddRef(IUIAutomationElement6* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement6_Release(IUIAutomationElement6* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement6_SetFocus(IUIAutomationElement6* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement6_GetRuntimeId(IUIAutomationElement6* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement6_FindFirst(IUIAutomationElement6* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement6_FindAll(IUIAutomationElement6* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement6_FindFirstBuildCache(IUIAutomationElement6* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement6_FindAllBuildCache(IUIAutomationElement6* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement6_BuildUpdatedCache(IUIAutomationElement6* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement6_GetCurrentPropertyValue(IUIAutomationElement6* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement6_GetCurrentPropertyValueEx(IUIAutomationElement6* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement6_GetCachedPropertyValue(IUIAutomationElement6* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement6_GetCachedPropertyValueEx(IUIAutomationElement6* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement6_GetCurrentPatternAs(IUIAutomationElement6* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement6_GetCachedPatternAs(IUIAutomationElement6* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement6_GetCurrentPattern(IUIAutomationElement6* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement6_GetCachedPattern(IUIAutomationElement6* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement6_GetCachedParent(IUIAutomationElement6* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement6_GetCachedChildren(IUIAutomationElement6* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement6_get_CurrentProcessId(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentControlType(IUIAutomationElement6* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentLocalizedControlType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentName(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAcceleratorKey(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAccessKey(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentHasKeyboardFocus(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsKeyboardFocusable(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsEnabled(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAutomationId(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentClassName(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentHelpText(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentCulture(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsControlElement(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsContentElement(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsPassword(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentNativeWindowHandle(IUIAutomationElement6* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentItemType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsOffscreen(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentOrientation(IUIAutomationElement6* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentFrameworkId(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsRequiredForForm(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentItemStatus(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentBoundingRectangle(IUIAutomationElement6* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentLabeledBy(IUIAutomationElement6* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAriaRole(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAriaProperties(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsDataValidForForm(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentControllerFor(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentDescribedBy(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentFlowsTo(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentProviderDescription(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedProcessId(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedControlType(IUIAutomationElement6* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLocalizedControlType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedName(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAcceleratorKey(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAccessKey(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedHasKeyboardFocus(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsKeyboardFocusable(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsEnabled(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAutomationId(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedClassName(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedHelpText(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedCulture(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsControlElement(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsContentElement(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsPassword(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedNativeWindowHandle(IUIAutomationElement6* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedItemType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsOffscreen(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedOrientation(IUIAutomationElement6* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedFrameworkId(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsRequiredForForm(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedItemStatus(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedBoundingRectangle(IUIAutomationElement6* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLabeledBy(IUIAutomationElement6* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAriaRole(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAriaProperties(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsDataValidForForm(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedControllerFor(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedDescribedBy(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedFlowsTo(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedProviderDescription(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement6_GetClickablePoint(IUIAutomationElement6* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement6_get_CurrentOptimizeForVisualContent(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedOptimizeForVisualContent(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentLiveSetting(IUIAutomationElement6* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLiveSetting(IUIAutomationElement6* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentFlowsFrom(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedFlowsFrom(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement6_ShowContextMenu(IUIAutomationElement6* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement6_get_CurrentIsPeripheral(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedIsPeripheral(IUIAutomationElement6* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement6_get_CurrentPositionInSet(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentSizeOfSet(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentLevel(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAnnotationTypes(IUIAutomationElement6* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentAnnotationObjects(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedPositionInSet(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedSizeOfSet(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLevel(IUIAutomationElement6* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAnnotationTypes(IUIAutomationElement6* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedAnnotationObjects(IUIAutomationElement6* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +/*** IUIAutomationElement5 methods ***/ +static inline HRESULT IUIAutomationElement6_get_CurrentLandmarkType(IUIAutomationElement6* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CurrentLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CurrentLocalizedLandmarkType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLandmarkType(IUIAutomationElement6* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CachedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedLocalizedLandmarkType(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal); +} +/*** IUIAutomationElement6 methods ***/ +static inline HRESULT IUIAutomationElement6_get_CurrentFullDescription(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFullDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement6_get_CachedFullDescription(IUIAutomationElement6* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFullDescription(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement6_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement7 interface + */ +#ifndef __IUIAutomationElement7_INTERFACE_DEFINED__ +#define __IUIAutomationElement7_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement7, 0x204e8572, 0xcfc3, 0x4c11, 0xb0,0xc8, 0x7d,0xa7,0x42,0x07,0x50,0xb7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("204e8572-cfc3-4c11-b0c8-7da7420750b7") +IUIAutomationElement7 : public IUIAutomationElement6 +{ + virtual HRESULT STDMETHODCALLTYPE FindFirstWithOptions( + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAllWithOptions( + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindFirstWithOptionsBuildCache( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAllWithOptionsBuildCache( + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentMetadataValue( + int targetId, + METADATAID metadataId, + VARIANT *returnVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement7, 0x204e8572, 0xcfc3, 0x4c11, 0xb0,0xc8, 0x7d,0xa7,0x42,0x07,0x50,0xb7) +#endif +#else +typedef struct IUIAutomationElement7Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement7 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement7 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement7 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement7 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement7 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement7 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement7 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement7 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement7 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement7 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement7 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement7 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement7 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement7 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement7 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement7 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement7 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement7 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement7 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement7 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement7 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement7 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement7 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement7 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement7 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement7 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement7 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement7 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement7 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement7 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement7 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement7 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement7 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement7 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement5 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentLandmarkType)( + IUIAutomationElement7 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedLandmarkType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLandmarkType)( + IUIAutomationElement7 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedLandmarkType)( + IUIAutomationElement7 *This, + BSTR *retVal); + + /*** IUIAutomationElement6 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentFullDescription)( + IUIAutomationElement7 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFullDescription)( + IUIAutomationElement7 *This, + BSTR *retVal); + + /*** IUIAutomationElement7 methods ***/ + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptions)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptions)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptionsBuildCache)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptionsBuildCache)( + IUIAutomationElement7 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *GetCurrentMetadataValue)( + IUIAutomationElement7 *This, + int targetId, + METADATAID metadataId, + VARIANT *returnVal); + + END_INTERFACE +} IUIAutomationElement7Vtbl; + +interface IUIAutomationElement7 { + CONST_VTBL IUIAutomationElement7Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement7_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement7_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement7_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement7_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement7_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement7_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement7_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement7_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement7_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement7_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement7_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement7_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement7_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement7_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement7_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement7_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement7_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement7_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement7_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement7_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement7_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement7_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement7_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement7_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement7_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement7_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement7_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement7_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement7_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement7_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement7_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement7_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement7_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement7_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement7_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement7_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement7_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement7_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement7_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement7_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement7_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement7_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement7_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement7_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement7_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement7_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement7_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement7_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement7_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement7_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement7_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement7_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement7_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement7_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement7_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement7_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement7_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement7_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement7_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement7_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement7_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement7_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement7_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement7_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement7_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement7_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement7_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement7_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement7_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement7_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement7_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement7_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement7_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement7_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement7_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement7_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement7_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement7_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement7_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement7_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement7_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement7_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement7_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement7_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement7_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement7_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement7_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement7_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement7_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement7_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement7_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement7_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement7_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement7_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement7_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement7_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement7_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement7_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement7_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement7_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement7_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement7_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement7_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement7_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +/*** IUIAutomationElement5 methods ***/ +#define IUIAutomationElement7_get_CurrentLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLandmarkType(This,retVal) +#define IUIAutomationElement7_get_CurrentLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal) +#define IUIAutomationElement7_get_CachedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLandmarkType(This,retVal) +#define IUIAutomationElement7_get_CachedLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal) +/*** IUIAutomationElement6 methods ***/ +#define IUIAutomationElement7_get_CurrentFullDescription(This,retVal) (This)->lpVtbl->get_CurrentFullDescription(This,retVal) +#define IUIAutomationElement7_get_CachedFullDescription(This,retVal) (This)->lpVtbl->get_CachedFullDescription(This,retVal) +/*** IUIAutomationElement7 methods ***/ +#define IUIAutomationElement7_FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement7_FindAllWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement7_FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement7_FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement7_GetCurrentMetadataValue(This,targetId,metadataId,returnVal) (This)->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement7_QueryInterface(IUIAutomationElement7* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement7_AddRef(IUIAutomationElement7* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement7_Release(IUIAutomationElement7* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement7_SetFocus(IUIAutomationElement7* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement7_GetRuntimeId(IUIAutomationElement7* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement7_FindFirst(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement7_FindAll(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement7_FindFirstBuildCache(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement7_FindAllBuildCache(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement7_BuildUpdatedCache(IUIAutomationElement7* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement7_GetCurrentPropertyValue(IUIAutomationElement7* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement7_GetCurrentPropertyValueEx(IUIAutomationElement7* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement7_GetCachedPropertyValue(IUIAutomationElement7* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement7_GetCachedPropertyValueEx(IUIAutomationElement7* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement7_GetCurrentPatternAs(IUIAutomationElement7* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement7_GetCachedPatternAs(IUIAutomationElement7* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement7_GetCurrentPattern(IUIAutomationElement7* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement7_GetCachedPattern(IUIAutomationElement7* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement7_GetCachedParent(IUIAutomationElement7* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement7_GetCachedChildren(IUIAutomationElement7* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement7_get_CurrentProcessId(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentControlType(IUIAutomationElement7* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentLocalizedControlType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentName(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAcceleratorKey(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAccessKey(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentHasKeyboardFocus(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsKeyboardFocusable(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsEnabled(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAutomationId(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentClassName(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentHelpText(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentCulture(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsControlElement(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsContentElement(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsPassword(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentNativeWindowHandle(IUIAutomationElement7* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentItemType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsOffscreen(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentOrientation(IUIAutomationElement7* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentFrameworkId(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsRequiredForForm(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentItemStatus(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentBoundingRectangle(IUIAutomationElement7* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentLabeledBy(IUIAutomationElement7* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAriaRole(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAriaProperties(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsDataValidForForm(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentControllerFor(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentDescribedBy(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentFlowsTo(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentProviderDescription(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedProcessId(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedControlType(IUIAutomationElement7* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLocalizedControlType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedName(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAcceleratorKey(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAccessKey(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedHasKeyboardFocus(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsKeyboardFocusable(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsEnabled(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAutomationId(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedClassName(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedHelpText(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedCulture(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsControlElement(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsContentElement(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsPassword(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedNativeWindowHandle(IUIAutomationElement7* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedItemType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsOffscreen(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedOrientation(IUIAutomationElement7* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedFrameworkId(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsRequiredForForm(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedItemStatus(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedBoundingRectangle(IUIAutomationElement7* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLabeledBy(IUIAutomationElement7* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAriaRole(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAriaProperties(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsDataValidForForm(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedControllerFor(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedDescribedBy(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedFlowsTo(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedProviderDescription(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement7_GetClickablePoint(IUIAutomationElement7* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement7_get_CurrentOptimizeForVisualContent(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedOptimizeForVisualContent(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentLiveSetting(IUIAutomationElement7* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLiveSetting(IUIAutomationElement7* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentFlowsFrom(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedFlowsFrom(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement7_ShowContextMenu(IUIAutomationElement7* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement7_get_CurrentIsPeripheral(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedIsPeripheral(IUIAutomationElement7* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement7_get_CurrentPositionInSet(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentSizeOfSet(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentLevel(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAnnotationTypes(IUIAutomationElement7* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentAnnotationObjects(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedPositionInSet(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedSizeOfSet(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLevel(IUIAutomationElement7* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAnnotationTypes(IUIAutomationElement7* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedAnnotationObjects(IUIAutomationElement7* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +/*** IUIAutomationElement5 methods ***/ +static inline HRESULT IUIAutomationElement7_get_CurrentLandmarkType(IUIAutomationElement7* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CurrentLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CurrentLocalizedLandmarkType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLandmarkType(IUIAutomationElement7* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CachedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedLocalizedLandmarkType(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal); +} +/*** IUIAutomationElement6 methods ***/ +static inline HRESULT IUIAutomationElement7_get_CurrentFullDescription(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFullDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement7_get_CachedFullDescription(IUIAutomationElement7* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFullDescription(This,retVal); +} +/*** IUIAutomationElement7 methods ***/ +static inline HRESULT IUIAutomationElement7_FindFirstWithOptions(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement7_FindAllWithOptions(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement7_FindFirstWithOptionsBuildCache(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement7_FindAllWithOptionsBuildCache(IUIAutomationElement7* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement7_GetCurrentMetadataValue(IUIAutomationElement7* This,int targetId,METADATAID metadataId,VARIANT *returnVal) { + return This->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement7_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement8 interface + */ +#ifndef __IUIAutomationElement8_INTERFACE_DEFINED__ +#define __IUIAutomationElement8_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement8, 0x8c60217d, 0x5411, 0x4cde, 0xbc,0xc0, 0x1c,0xed,0xa2,0x23,0x83,0x0c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8c60217d-5411-4cde-bcc0-1ceda223830c") +IUIAutomationElement8 : public IUIAutomationElement7 +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentHeadingLevel( + HEADINGLEVELID *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedHeadingLevel( + HEADINGLEVELID *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement8, 0x8c60217d, 0x5411, 0x4cde, 0xbc,0xc0, 0x1c,0xed,0xa2,0x23,0x83,0x0c) +#endif +#else +typedef struct IUIAutomationElement8Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement8 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement8 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement8 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement8 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement8 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement8 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement8 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement8 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement8 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement8 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement8 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement8 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement8 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement8 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement8 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement8 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement8 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement8 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement8 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement8 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement8 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement8 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement8 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement8 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement8 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement8 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement8 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement8 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement8 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement8 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement8 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement8 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement8 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement8 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement5 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentLandmarkType)( + IUIAutomationElement8 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedLandmarkType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLandmarkType)( + IUIAutomationElement8 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedLandmarkType)( + IUIAutomationElement8 *This, + BSTR *retVal); + + /*** IUIAutomationElement6 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentFullDescription)( + IUIAutomationElement8 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFullDescription)( + IUIAutomationElement8 *This, + BSTR *retVal); + + /*** IUIAutomationElement7 methods ***/ + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptions)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptions)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptionsBuildCache)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptionsBuildCache)( + IUIAutomationElement8 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *GetCurrentMetadataValue)( + IUIAutomationElement8 *This, + int targetId, + METADATAID metadataId, + VARIANT *returnVal); + + /*** IUIAutomationElement8 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentHeadingLevel)( + IUIAutomationElement8 *This, + HEADINGLEVELID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHeadingLevel)( + IUIAutomationElement8 *This, + HEADINGLEVELID *retVal); + + END_INTERFACE +} IUIAutomationElement8Vtbl; + +interface IUIAutomationElement8 { + CONST_VTBL IUIAutomationElement8Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement8_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement8_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement8_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement8_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement8_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement8_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement8_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement8_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement8_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement8_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement8_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement8_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement8_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement8_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement8_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement8_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement8_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement8_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement8_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement8_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement8_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement8_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement8_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement8_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement8_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement8_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement8_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement8_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement8_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement8_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement8_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement8_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement8_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement8_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement8_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement8_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement8_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement8_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement8_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement8_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement8_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement8_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement8_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement8_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement8_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement8_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement8_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement8_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement8_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement8_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement8_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement8_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement8_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement8_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement8_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement8_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement8_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement8_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement8_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement8_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement8_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement8_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement8_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement8_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement8_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement8_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement8_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement8_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement8_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement8_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement8_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement8_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement8_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement8_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement8_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement8_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement8_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement8_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement8_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement8_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement8_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement8_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement8_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement8_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement8_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement8_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement8_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement8_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement8_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement8_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement8_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement8_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement8_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement8_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement8_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement8_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement8_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement8_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement8_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement8_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement8_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement8_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement8_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement8_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +/*** IUIAutomationElement5 methods ***/ +#define IUIAutomationElement8_get_CurrentLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLandmarkType(This,retVal) +#define IUIAutomationElement8_get_CurrentLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal) +#define IUIAutomationElement8_get_CachedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLandmarkType(This,retVal) +#define IUIAutomationElement8_get_CachedLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal) +/*** IUIAutomationElement6 methods ***/ +#define IUIAutomationElement8_get_CurrentFullDescription(This,retVal) (This)->lpVtbl->get_CurrentFullDescription(This,retVal) +#define IUIAutomationElement8_get_CachedFullDescription(This,retVal) (This)->lpVtbl->get_CachedFullDescription(This,retVal) +/*** IUIAutomationElement7 methods ***/ +#define IUIAutomationElement8_FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement8_FindAllWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement8_FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement8_FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement8_GetCurrentMetadataValue(This,targetId,metadataId,returnVal) (This)->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal) +/*** IUIAutomationElement8 methods ***/ +#define IUIAutomationElement8_get_CurrentHeadingLevel(This,retVal) (This)->lpVtbl->get_CurrentHeadingLevel(This,retVal) +#define IUIAutomationElement8_get_CachedHeadingLevel(This,retVal) (This)->lpVtbl->get_CachedHeadingLevel(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement8_QueryInterface(IUIAutomationElement8* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement8_AddRef(IUIAutomationElement8* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement8_Release(IUIAutomationElement8* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement8_SetFocus(IUIAutomationElement8* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement8_GetRuntimeId(IUIAutomationElement8* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement8_FindFirst(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement8_FindAll(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement8_FindFirstBuildCache(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement8_FindAllBuildCache(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement8_BuildUpdatedCache(IUIAutomationElement8* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement8_GetCurrentPropertyValue(IUIAutomationElement8* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement8_GetCurrentPropertyValueEx(IUIAutomationElement8* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement8_GetCachedPropertyValue(IUIAutomationElement8* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement8_GetCachedPropertyValueEx(IUIAutomationElement8* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement8_GetCurrentPatternAs(IUIAutomationElement8* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement8_GetCachedPatternAs(IUIAutomationElement8* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement8_GetCurrentPattern(IUIAutomationElement8* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement8_GetCachedPattern(IUIAutomationElement8* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement8_GetCachedParent(IUIAutomationElement8* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement8_GetCachedChildren(IUIAutomationElement8* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement8_get_CurrentProcessId(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentControlType(IUIAutomationElement8* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentLocalizedControlType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentName(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAcceleratorKey(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAccessKey(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentHasKeyboardFocus(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsKeyboardFocusable(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsEnabled(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAutomationId(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentClassName(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentHelpText(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentCulture(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsControlElement(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsContentElement(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsPassword(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentNativeWindowHandle(IUIAutomationElement8* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentItemType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsOffscreen(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentOrientation(IUIAutomationElement8* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentFrameworkId(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsRequiredForForm(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentItemStatus(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentBoundingRectangle(IUIAutomationElement8* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentLabeledBy(IUIAutomationElement8* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAriaRole(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAriaProperties(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsDataValidForForm(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentControllerFor(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentDescribedBy(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentFlowsTo(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentProviderDescription(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedProcessId(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedControlType(IUIAutomationElement8* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLocalizedControlType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedName(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAcceleratorKey(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAccessKey(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedHasKeyboardFocus(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsKeyboardFocusable(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsEnabled(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAutomationId(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedClassName(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedHelpText(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedCulture(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsControlElement(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsContentElement(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsPassword(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedNativeWindowHandle(IUIAutomationElement8* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedItemType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsOffscreen(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedOrientation(IUIAutomationElement8* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedFrameworkId(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsRequiredForForm(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedItemStatus(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedBoundingRectangle(IUIAutomationElement8* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLabeledBy(IUIAutomationElement8* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAriaRole(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAriaProperties(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsDataValidForForm(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedControllerFor(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedDescribedBy(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedFlowsTo(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedProviderDescription(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement8_GetClickablePoint(IUIAutomationElement8* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement8_get_CurrentOptimizeForVisualContent(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedOptimizeForVisualContent(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentLiveSetting(IUIAutomationElement8* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLiveSetting(IUIAutomationElement8* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentFlowsFrom(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedFlowsFrom(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement8_ShowContextMenu(IUIAutomationElement8* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement8_get_CurrentIsPeripheral(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedIsPeripheral(IUIAutomationElement8* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement8_get_CurrentPositionInSet(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentSizeOfSet(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentLevel(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAnnotationTypes(IUIAutomationElement8* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentAnnotationObjects(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedPositionInSet(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedSizeOfSet(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLevel(IUIAutomationElement8* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAnnotationTypes(IUIAutomationElement8* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedAnnotationObjects(IUIAutomationElement8* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +/*** IUIAutomationElement5 methods ***/ +static inline HRESULT IUIAutomationElement8_get_CurrentLandmarkType(IUIAutomationElement8* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CurrentLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CurrentLocalizedLandmarkType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLandmarkType(IUIAutomationElement8* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CachedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedLocalizedLandmarkType(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal); +} +/*** IUIAutomationElement6 methods ***/ +static inline HRESULT IUIAutomationElement8_get_CurrentFullDescription(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFullDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedFullDescription(IUIAutomationElement8* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFullDescription(This,retVal); +} +/*** IUIAutomationElement7 methods ***/ +static inline HRESULT IUIAutomationElement8_FindFirstWithOptions(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement8_FindAllWithOptions(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement8_FindFirstWithOptionsBuildCache(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement8_FindAllWithOptionsBuildCache(IUIAutomationElement8* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement8_GetCurrentMetadataValue(IUIAutomationElement8* This,int targetId,METADATAID metadataId,VARIANT *returnVal) { + return This->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal); +} +/*** IUIAutomationElement8 methods ***/ +static inline HRESULT IUIAutomationElement8_get_CurrentHeadingLevel(IUIAutomationElement8* This,HEADINGLEVELID *retVal) { + return This->lpVtbl->get_CurrentHeadingLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement8_get_CachedHeadingLevel(IUIAutomationElement8* This,HEADINGLEVELID *retVal) { + return This->lpVtbl->get_CachedHeadingLevel(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement8_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElement9 interface + */ +#ifndef __IUIAutomationElement9_INTERFACE_DEFINED__ +#define __IUIAutomationElement9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElement9, 0x39325fac, 0x039d, 0x440e, 0xa3,0xa3, 0x5e,0xb8,0x1a,0x5c,0xec,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("39325fac-039d-440e-a3a3-5eb81a5cecc3") +IUIAutomationElement9 : public IUIAutomationElement8 +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentIsDialog( + WINBOOL *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CachedIsDialog( + WINBOOL *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElement9, 0x39325fac, 0x039d, 0x440e, 0xa3,0xa3, 0x5e,0xb8,0x1a,0x5c,0xec,0xc3) +#endif +#else +typedef struct IUIAutomationElement9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElement9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElement9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElement9 *This); + + /*** IUIAutomationElement methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IUIAutomationElement9 *This); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IUIAutomationElement9 *This, + SAFEARRAY **runtimeId); + + HRESULT (STDMETHODCALLTYPE *FindFirst)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAll)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstBuildCache)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllBuildCache)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *BuildUpdatedCache)( + IUIAutomationElement9 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **updatedElement); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValue)( + IUIAutomationElement9 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPropertyValueEx)( + IUIAutomationElement9 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValue)( + IUIAutomationElement9 *This, + PROPERTYID propertyId, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCachedPropertyValueEx)( + IUIAutomationElement9 *This, + PROPERTYID propertyId, + WINBOOL ignoreDefaultValue, + VARIANT *retVal); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPatternAs)( + IUIAutomationElement9 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPatternAs)( + IUIAutomationElement9 *This, + PATTERNID patternId, + REFIID riid, + void **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCurrentPattern)( + IUIAutomationElement9 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedPattern)( + IUIAutomationElement9 *This, + PATTERNID patternId, + IUnknown **patternObject); + + HRESULT (STDMETHODCALLTYPE *GetCachedParent)( + IUIAutomationElement9 *This, + IUIAutomationElement **parent); + + HRESULT (STDMETHODCALLTYPE *GetCachedChildren)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **children); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProcessId)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControlType)( + IUIAutomationElement9 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedControlType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentName)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAcceleratorKey)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAccessKey)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHasKeyboardFocus)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsKeyboardFocusable)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsEnabled)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAutomationId)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentClassName)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentHelpText)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentCulture)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsControlElement)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsContentElement)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPassword)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentNativeWindowHandle)( + IUIAutomationElement9 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsOffscreen)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentOrientation)( + IUIAutomationElement9 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFrameworkId)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsRequiredForForm)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentItemStatus)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentBoundingRectangle)( + IUIAutomationElement9 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLabeledBy)( + IUIAutomationElement9 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaRole)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAriaProperties)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDataValidForForm)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentControllerFor)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentDescribedBy)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsTo)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentProviderDescription)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProcessId)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControlType)( + IUIAutomationElement9 *This, + CONTROLTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedControlType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedName)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAcceleratorKey)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAccessKey)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHasKeyboardFocus)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsKeyboardFocusable)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsEnabled)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAutomationId)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedClassName)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHelpText)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedCulture)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsControlElement)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsContentElement)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPassword)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedNativeWindowHandle)( + IUIAutomationElement9 *This, + UIA_HWND *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsOffscreen)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOrientation)( + IUIAutomationElement9 *This, + enum OrientationType *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFrameworkId)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsRequiredForForm)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedItemStatus)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedBoundingRectangle)( + IUIAutomationElement9 *This, + RECT *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLabeledBy)( + IUIAutomationElement9 *This, + IUIAutomationElement **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaRole)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAriaProperties)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDataValidForForm)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedControllerFor)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedDescribedBy)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsTo)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedProviderDescription)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *GetClickablePoint)( + IUIAutomationElement9 *This, + POINT *clickable, + WINBOOL *gotClickable); + + /*** IUIAutomationElement2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentOptimizeForVisualContent)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedOptimizeForVisualContent)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLiveSetting)( + IUIAutomationElement9 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLiveSetting)( + IUIAutomationElement9 *This, + enum LiveSetting *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFlowsFrom)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFlowsFrom)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IUIAutomationElement9 *This); + + HRESULT (STDMETHODCALLTYPE *get_CurrentIsPeripheral)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsPeripheral)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + /*** IUIAutomationElement4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentPositionInSet)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSizeOfSet)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLevel)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationTypes)( + IUIAutomationElement9 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentAnnotationObjects)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedPositionInSet)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedSizeOfSet)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLevel)( + IUIAutomationElement9 *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationTypes)( + IUIAutomationElement9 *This, + SAFEARRAY **retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedAnnotationObjects)( + IUIAutomationElement9 *This, + IUIAutomationElementArray **retVal); + + /*** IUIAutomationElement5 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentLandmarkType)( + IUIAutomationElement9 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CurrentLocalizedLandmarkType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLandmarkType)( + IUIAutomationElement9 *This, + LANDMARKTYPEID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedLocalizedLandmarkType)( + IUIAutomationElement9 *This, + BSTR *retVal); + + /*** IUIAutomationElement6 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentFullDescription)( + IUIAutomationElement9 *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedFullDescription)( + IUIAutomationElement9 *This, + BSTR *retVal); + + /*** IUIAutomationElement7 methods ***/ + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptions)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptions)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *FindFirstWithOptionsBuildCache)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElement **found); + + HRESULT (STDMETHODCALLTYPE *FindAllWithOptionsBuildCache)( + IUIAutomationElement9 *This, + enum TreeScope scope, + IUIAutomationCondition *condition, + IUIAutomationCacheRequest *cacheRequest, + enum TreeTraversalOptions traversalOptions, + IUIAutomationElement *root, + IUIAutomationElementArray **found); + + HRESULT (STDMETHODCALLTYPE *GetCurrentMetadataValue)( + IUIAutomationElement9 *This, + int targetId, + METADATAID metadataId, + VARIANT *returnVal); + + /*** IUIAutomationElement8 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentHeadingLevel)( + IUIAutomationElement9 *This, + HEADINGLEVELID *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedHeadingLevel)( + IUIAutomationElement9 *This, + HEADINGLEVELID *retVal); + + /*** IUIAutomationElement9 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentIsDialog)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + HRESULT (STDMETHODCALLTYPE *get_CachedIsDialog)( + IUIAutomationElement9 *This, + WINBOOL *retVal); + + END_INTERFACE +} IUIAutomationElement9Vtbl; + +interface IUIAutomationElement9 { + CONST_VTBL IUIAutomationElement9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElement9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElement9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElement9_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElement methods ***/ +#define IUIAutomationElement9_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IUIAutomationElement9_GetRuntimeId(This,runtimeId) (This)->lpVtbl->GetRuntimeId(This,runtimeId) +#define IUIAutomationElement9_FindFirst(This,scope,condition,found) (This)->lpVtbl->FindFirst(This,scope,condition,found) +#define IUIAutomationElement9_FindAll(This,scope,condition,found) (This)->lpVtbl->FindAll(This,scope,condition,found) +#define IUIAutomationElement9_FindFirstBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement9_FindAllBuildCache(This,scope,condition,cacheRequest,found) (This)->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found) +#define IUIAutomationElement9_BuildUpdatedCache(This,cacheRequest,updatedElement) (This)->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement) +#define IUIAutomationElement9_GetCurrentPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement9_GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement9_GetCachedPropertyValue(This,propertyId,retVal) (This)->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal) +#define IUIAutomationElement9_GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) (This)->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal) +#define IUIAutomationElement9_GetCurrentPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement9_GetCachedPatternAs(This,patternId,riid,patternObject) (This)->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject) +#define IUIAutomationElement9_GetCurrentPattern(This,patternId,patternObject) (This)->lpVtbl->GetCurrentPattern(This,patternId,patternObject) +#define IUIAutomationElement9_GetCachedPattern(This,patternId,patternObject) (This)->lpVtbl->GetCachedPattern(This,patternId,patternObject) +#define IUIAutomationElement9_GetCachedParent(This,parent) (This)->lpVtbl->GetCachedParent(This,parent) +#define IUIAutomationElement9_GetCachedChildren(This,children) (This)->lpVtbl->GetCachedChildren(This,children) +#define IUIAutomationElement9_get_CurrentProcessId(This,retVal) (This)->lpVtbl->get_CurrentProcessId(This,retVal) +#define IUIAutomationElement9_get_CurrentControlType(This,retVal) (This)->lpVtbl->get_CurrentControlType(This,retVal) +#define IUIAutomationElement9_get_CurrentLocalizedControlType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedControlType(This,retVal) +#define IUIAutomationElement9_get_CurrentName(This,retVal) (This)->lpVtbl->get_CurrentName(This,retVal) +#define IUIAutomationElement9_get_CurrentAcceleratorKey(This,retVal) (This)->lpVtbl->get_CurrentAcceleratorKey(This,retVal) +#define IUIAutomationElement9_get_CurrentAccessKey(This,retVal) (This)->lpVtbl->get_CurrentAccessKey(This,retVal) +#define IUIAutomationElement9_get_CurrentHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal) +#define IUIAutomationElement9_get_CurrentIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement9_get_CurrentIsEnabled(This,retVal) (This)->lpVtbl->get_CurrentIsEnabled(This,retVal) +#define IUIAutomationElement9_get_CurrentAutomationId(This,retVal) (This)->lpVtbl->get_CurrentAutomationId(This,retVal) +#define IUIAutomationElement9_get_CurrentClassName(This,retVal) (This)->lpVtbl->get_CurrentClassName(This,retVal) +#define IUIAutomationElement9_get_CurrentHelpText(This,retVal) (This)->lpVtbl->get_CurrentHelpText(This,retVal) +#define IUIAutomationElement9_get_CurrentCulture(This,retVal) (This)->lpVtbl->get_CurrentCulture(This,retVal) +#define IUIAutomationElement9_get_CurrentIsControlElement(This,retVal) (This)->lpVtbl->get_CurrentIsControlElement(This,retVal) +#define IUIAutomationElement9_get_CurrentIsContentElement(This,retVal) (This)->lpVtbl->get_CurrentIsContentElement(This,retVal) +#define IUIAutomationElement9_get_CurrentIsPassword(This,retVal) (This)->lpVtbl->get_CurrentIsPassword(This,retVal) +#define IUIAutomationElement9_get_CurrentNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CurrentNativeWindowHandle(This,retVal) +#define IUIAutomationElement9_get_CurrentItemType(This,retVal) (This)->lpVtbl->get_CurrentItemType(This,retVal) +#define IUIAutomationElement9_get_CurrentIsOffscreen(This,retVal) (This)->lpVtbl->get_CurrentIsOffscreen(This,retVal) +#define IUIAutomationElement9_get_CurrentOrientation(This,retVal) (This)->lpVtbl->get_CurrentOrientation(This,retVal) +#define IUIAutomationElement9_get_CurrentFrameworkId(This,retVal) (This)->lpVtbl->get_CurrentFrameworkId(This,retVal) +#define IUIAutomationElement9_get_CurrentIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CurrentIsRequiredForForm(This,retVal) +#define IUIAutomationElement9_get_CurrentItemStatus(This,retVal) (This)->lpVtbl->get_CurrentItemStatus(This,retVal) +#define IUIAutomationElement9_get_CurrentBoundingRectangle(This,retVal) (This)->lpVtbl->get_CurrentBoundingRectangle(This,retVal) +#define IUIAutomationElement9_get_CurrentLabeledBy(This,retVal) (This)->lpVtbl->get_CurrentLabeledBy(This,retVal) +#define IUIAutomationElement9_get_CurrentAriaRole(This,retVal) (This)->lpVtbl->get_CurrentAriaRole(This,retVal) +#define IUIAutomationElement9_get_CurrentAriaProperties(This,retVal) (This)->lpVtbl->get_CurrentAriaProperties(This,retVal) +#define IUIAutomationElement9_get_CurrentIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CurrentIsDataValidForForm(This,retVal) +#define IUIAutomationElement9_get_CurrentControllerFor(This,retVal) (This)->lpVtbl->get_CurrentControllerFor(This,retVal) +#define IUIAutomationElement9_get_CurrentDescribedBy(This,retVal) (This)->lpVtbl->get_CurrentDescribedBy(This,retVal) +#define IUIAutomationElement9_get_CurrentFlowsTo(This,retVal) (This)->lpVtbl->get_CurrentFlowsTo(This,retVal) +#define IUIAutomationElement9_get_CurrentProviderDescription(This,retVal) (This)->lpVtbl->get_CurrentProviderDescription(This,retVal) +#define IUIAutomationElement9_get_CachedProcessId(This,retVal) (This)->lpVtbl->get_CachedProcessId(This,retVal) +#define IUIAutomationElement9_get_CachedControlType(This,retVal) (This)->lpVtbl->get_CachedControlType(This,retVal) +#define IUIAutomationElement9_get_CachedLocalizedControlType(This,retVal) (This)->lpVtbl->get_CachedLocalizedControlType(This,retVal) +#define IUIAutomationElement9_get_CachedName(This,retVal) (This)->lpVtbl->get_CachedName(This,retVal) +#define IUIAutomationElement9_get_CachedAcceleratorKey(This,retVal) (This)->lpVtbl->get_CachedAcceleratorKey(This,retVal) +#define IUIAutomationElement9_get_CachedAccessKey(This,retVal) (This)->lpVtbl->get_CachedAccessKey(This,retVal) +#define IUIAutomationElement9_get_CachedHasKeyboardFocus(This,retVal) (This)->lpVtbl->get_CachedHasKeyboardFocus(This,retVal) +#define IUIAutomationElement9_get_CachedIsKeyboardFocusable(This,retVal) (This)->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal) +#define IUIAutomationElement9_get_CachedIsEnabled(This,retVal) (This)->lpVtbl->get_CachedIsEnabled(This,retVal) +#define IUIAutomationElement9_get_CachedAutomationId(This,retVal) (This)->lpVtbl->get_CachedAutomationId(This,retVal) +#define IUIAutomationElement9_get_CachedClassName(This,retVal) (This)->lpVtbl->get_CachedClassName(This,retVal) +#define IUIAutomationElement9_get_CachedHelpText(This,retVal) (This)->lpVtbl->get_CachedHelpText(This,retVal) +#define IUIAutomationElement9_get_CachedCulture(This,retVal) (This)->lpVtbl->get_CachedCulture(This,retVal) +#define IUIAutomationElement9_get_CachedIsControlElement(This,retVal) (This)->lpVtbl->get_CachedIsControlElement(This,retVal) +#define IUIAutomationElement9_get_CachedIsContentElement(This,retVal) (This)->lpVtbl->get_CachedIsContentElement(This,retVal) +#define IUIAutomationElement9_get_CachedIsPassword(This,retVal) (This)->lpVtbl->get_CachedIsPassword(This,retVal) +#define IUIAutomationElement9_get_CachedNativeWindowHandle(This,retVal) (This)->lpVtbl->get_CachedNativeWindowHandle(This,retVal) +#define IUIAutomationElement9_get_CachedItemType(This,retVal) (This)->lpVtbl->get_CachedItemType(This,retVal) +#define IUIAutomationElement9_get_CachedIsOffscreen(This,retVal) (This)->lpVtbl->get_CachedIsOffscreen(This,retVal) +#define IUIAutomationElement9_get_CachedOrientation(This,retVal) (This)->lpVtbl->get_CachedOrientation(This,retVal) +#define IUIAutomationElement9_get_CachedFrameworkId(This,retVal) (This)->lpVtbl->get_CachedFrameworkId(This,retVal) +#define IUIAutomationElement9_get_CachedIsRequiredForForm(This,retVal) (This)->lpVtbl->get_CachedIsRequiredForForm(This,retVal) +#define IUIAutomationElement9_get_CachedItemStatus(This,retVal) (This)->lpVtbl->get_CachedItemStatus(This,retVal) +#define IUIAutomationElement9_get_CachedBoundingRectangle(This,retVal) (This)->lpVtbl->get_CachedBoundingRectangle(This,retVal) +#define IUIAutomationElement9_get_CachedLabeledBy(This,retVal) (This)->lpVtbl->get_CachedLabeledBy(This,retVal) +#define IUIAutomationElement9_get_CachedAriaRole(This,retVal) (This)->lpVtbl->get_CachedAriaRole(This,retVal) +#define IUIAutomationElement9_get_CachedAriaProperties(This,retVal) (This)->lpVtbl->get_CachedAriaProperties(This,retVal) +#define IUIAutomationElement9_get_CachedIsDataValidForForm(This,retVal) (This)->lpVtbl->get_CachedIsDataValidForForm(This,retVal) +#define IUIAutomationElement9_get_CachedControllerFor(This,retVal) (This)->lpVtbl->get_CachedControllerFor(This,retVal) +#define IUIAutomationElement9_get_CachedDescribedBy(This,retVal) (This)->lpVtbl->get_CachedDescribedBy(This,retVal) +#define IUIAutomationElement9_get_CachedFlowsTo(This,retVal) (This)->lpVtbl->get_CachedFlowsTo(This,retVal) +#define IUIAutomationElement9_get_CachedProviderDescription(This,retVal) (This)->lpVtbl->get_CachedProviderDescription(This,retVal) +#define IUIAutomationElement9_GetClickablePoint(This,clickable,gotClickable) (This)->lpVtbl->GetClickablePoint(This,clickable,gotClickable) +/*** IUIAutomationElement2 methods ***/ +#define IUIAutomationElement9_get_CurrentOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement9_get_CachedOptimizeForVisualContent(This,retVal) (This)->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal) +#define IUIAutomationElement9_get_CurrentLiveSetting(This,retVal) (This)->lpVtbl->get_CurrentLiveSetting(This,retVal) +#define IUIAutomationElement9_get_CachedLiveSetting(This,retVal) (This)->lpVtbl->get_CachedLiveSetting(This,retVal) +#define IUIAutomationElement9_get_CurrentFlowsFrom(This,retVal) (This)->lpVtbl->get_CurrentFlowsFrom(This,retVal) +#define IUIAutomationElement9_get_CachedFlowsFrom(This,retVal) (This)->lpVtbl->get_CachedFlowsFrom(This,retVal) +/*** IUIAutomationElement3 methods ***/ +#define IUIAutomationElement9_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#define IUIAutomationElement9_get_CurrentIsPeripheral(This,retVal) (This)->lpVtbl->get_CurrentIsPeripheral(This,retVal) +#define IUIAutomationElement9_get_CachedIsPeripheral(This,retVal) (This)->lpVtbl->get_CachedIsPeripheral(This,retVal) +/*** IUIAutomationElement4 methods ***/ +#define IUIAutomationElement9_get_CurrentPositionInSet(This,retVal) (This)->lpVtbl->get_CurrentPositionInSet(This,retVal) +#define IUIAutomationElement9_get_CurrentSizeOfSet(This,retVal) (This)->lpVtbl->get_CurrentSizeOfSet(This,retVal) +#define IUIAutomationElement9_get_CurrentLevel(This,retVal) (This)->lpVtbl->get_CurrentLevel(This,retVal) +#define IUIAutomationElement9_get_CurrentAnnotationTypes(This,retVal) (This)->lpVtbl->get_CurrentAnnotationTypes(This,retVal) +#define IUIAutomationElement9_get_CurrentAnnotationObjects(This,retVal) (This)->lpVtbl->get_CurrentAnnotationObjects(This,retVal) +#define IUIAutomationElement9_get_CachedPositionInSet(This,retVal) (This)->lpVtbl->get_CachedPositionInSet(This,retVal) +#define IUIAutomationElement9_get_CachedSizeOfSet(This,retVal) (This)->lpVtbl->get_CachedSizeOfSet(This,retVal) +#define IUIAutomationElement9_get_CachedLevel(This,retVal) (This)->lpVtbl->get_CachedLevel(This,retVal) +#define IUIAutomationElement9_get_CachedAnnotationTypes(This,retVal) (This)->lpVtbl->get_CachedAnnotationTypes(This,retVal) +#define IUIAutomationElement9_get_CachedAnnotationObjects(This,retVal) (This)->lpVtbl->get_CachedAnnotationObjects(This,retVal) +/*** IUIAutomationElement5 methods ***/ +#define IUIAutomationElement9_get_CurrentLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLandmarkType(This,retVal) +#define IUIAutomationElement9_get_CurrentLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal) +#define IUIAutomationElement9_get_CachedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLandmarkType(This,retVal) +#define IUIAutomationElement9_get_CachedLocalizedLandmarkType(This,retVal) (This)->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal) +/*** IUIAutomationElement6 methods ***/ +#define IUIAutomationElement9_get_CurrentFullDescription(This,retVal) (This)->lpVtbl->get_CurrentFullDescription(This,retVal) +#define IUIAutomationElement9_get_CachedFullDescription(This,retVal) (This)->lpVtbl->get_CachedFullDescription(This,retVal) +/*** IUIAutomationElement7 methods ***/ +#define IUIAutomationElement9_FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement9_FindAllWithOptions(This,scope,condition,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found) +#define IUIAutomationElement9_FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement9_FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) (This)->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found) +#define IUIAutomationElement9_GetCurrentMetadataValue(This,targetId,metadataId,returnVal) (This)->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal) +/*** IUIAutomationElement8 methods ***/ +#define IUIAutomationElement9_get_CurrentHeadingLevel(This,retVal) (This)->lpVtbl->get_CurrentHeadingLevel(This,retVal) +#define IUIAutomationElement9_get_CachedHeadingLevel(This,retVal) (This)->lpVtbl->get_CachedHeadingLevel(This,retVal) +/*** IUIAutomationElement9 methods ***/ +#define IUIAutomationElement9_get_CurrentIsDialog(This,retVal) (This)->lpVtbl->get_CurrentIsDialog(This,retVal) +#define IUIAutomationElement9_get_CachedIsDialog(This,retVal) (This)->lpVtbl->get_CachedIsDialog(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElement9_QueryInterface(IUIAutomationElement9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElement9_AddRef(IUIAutomationElement9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElement9_Release(IUIAutomationElement9* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElement methods ***/ +static inline HRESULT IUIAutomationElement9_SetFocus(IUIAutomationElement9* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IUIAutomationElement9_GetRuntimeId(IUIAutomationElement9* This,SAFEARRAY **runtimeId) { + return This->lpVtbl->GetRuntimeId(This,runtimeId); +} +static inline HRESULT IUIAutomationElement9_FindFirst(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElement **found) { + return This->lpVtbl->FindFirst(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement9_FindAll(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAll(This,scope,condition,found); +} +static inline HRESULT IUIAutomationElement9_FindFirstBuildCache(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement9_FindAllBuildCache(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllBuildCache(This,scope,condition,cacheRequest,found); +} +static inline HRESULT IUIAutomationElement9_BuildUpdatedCache(IUIAutomationElement9* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **updatedElement) { + return This->lpVtbl->BuildUpdatedCache(This,cacheRequest,updatedElement); +} +static inline HRESULT IUIAutomationElement9_GetCurrentPropertyValue(IUIAutomationElement9* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement9_GetCurrentPropertyValueEx(IUIAutomationElement9* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCurrentPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement9_GetCachedPropertyValue(IUIAutomationElement9* This,PROPERTYID propertyId,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValue(This,propertyId,retVal); +} +static inline HRESULT IUIAutomationElement9_GetCachedPropertyValueEx(IUIAutomationElement9* This,PROPERTYID propertyId,WINBOOL ignoreDefaultValue,VARIANT *retVal) { + return This->lpVtbl->GetCachedPropertyValueEx(This,propertyId,ignoreDefaultValue,retVal); +} +static inline HRESULT IUIAutomationElement9_GetCurrentPatternAs(IUIAutomationElement9* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCurrentPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement9_GetCachedPatternAs(IUIAutomationElement9* This,PATTERNID patternId,REFIID riid,void **patternObject) { + return This->lpVtbl->GetCachedPatternAs(This,patternId,riid,patternObject); +} +static inline HRESULT IUIAutomationElement9_GetCurrentPattern(IUIAutomationElement9* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCurrentPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement9_GetCachedPattern(IUIAutomationElement9* This,PATTERNID patternId,IUnknown **patternObject) { + return This->lpVtbl->GetCachedPattern(This,patternId,patternObject); +} +static inline HRESULT IUIAutomationElement9_GetCachedParent(IUIAutomationElement9* This,IUIAutomationElement **parent) { + return This->lpVtbl->GetCachedParent(This,parent); +} +static inline HRESULT IUIAutomationElement9_GetCachedChildren(IUIAutomationElement9* This,IUIAutomationElementArray **children) { + return This->lpVtbl->GetCachedChildren(This,children); +} +static inline HRESULT IUIAutomationElement9_get_CurrentProcessId(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CurrentProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentControlType(IUIAutomationElement9* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CurrentControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentLocalizedControlType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentName(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentName(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAcceleratorKey(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAccessKey(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentHasKeyboardFocus(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsKeyboardFocusable(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsEnabled(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAutomationId(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentClassName(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentHelpText(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentCulture(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CurrentCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsControlElement(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsContentElement(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsPassword(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentNativeWindowHandle(IUIAutomationElement9* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CurrentNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentItemType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsOffscreen(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentOrientation(IUIAutomationElement9* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CurrentOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentFrameworkId(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsRequiredForForm(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentItemStatus(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentBoundingRectangle(IUIAutomationElement9* This,RECT *retVal) { + return This->lpVtbl->get_CurrentBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentLabeledBy(IUIAutomationElement9* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CurrentLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAriaRole(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAriaProperties(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsDataValidForForm(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentControllerFor(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentDescribedBy(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentFlowsTo(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentProviderDescription(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedProcessId(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CachedProcessId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedControlType(IUIAutomationElement9* This,CONTROLTYPEID *retVal) { + return This->lpVtbl->get_CachedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLocalizedControlType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedControlType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedName(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedName(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAcceleratorKey(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAcceleratorKey(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAccessKey(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAccessKey(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedHasKeyboardFocus(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedHasKeyboardFocus(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsKeyboardFocusable(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsKeyboardFocusable(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsEnabled(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsEnabled(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAutomationId(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAutomationId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedClassName(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedClassName(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedHelpText(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedHelpText(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedCulture(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CachedCulture(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsControlElement(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsControlElement(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsContentElement(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsContentElement(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsPassword(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPassword(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedNativeWindowHandle(IUIAutomationElement9* This,UIA_HWND *retVal) { + return This->lpVtbl->get_CachedNativeWindowHandle(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedItemType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsOffscreen(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsOffscreen(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedOrientation(IUIAutomationElement9* This,enum OrientationType *retVal) { + return This->lpVtbl->get_CachedOrientation(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedFrameworkId(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFrameworkId(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsRequiredForForm(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsRequiredForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedItemStatus(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedItemStatus(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedBoundingRectangle(IUIAutomationElement9* This,RECT *retVal) { + return This->lpVtbl->get_CachedBoundingRectangle(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLabeledBy(IUIAutomationElement9* This,IUIAutomationElement **retVal) { + return This->lpVtbl->get_CachedLabeledBy(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAriaRole(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaRole(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAriaProperties(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedAriaProperties(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsDataValidForForm(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDataValidForForm(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedControllerFor(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedControllerFor(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedDescribedBy(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedDescribedBy(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedFlowsTo(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsTo(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedProviderDescription(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedProviderDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement9_GetClickablePoint(IUIAutomationElement9* This,POINT *clickable,WINBOOL *gotClickable) { + return This->lpVtbl->GetClickablePoint(This,clickable,gotClickable); +} +/*** IUIAutomationElement2 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentOptimizeForVisualContent(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedOptimizeForVisualContent(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedOptimizeForVisualContent(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentLiveSetting(IUIAutomationElement9* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CurrentLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLiveSetting(IUIAutomationElement9* This,enum LiveSetting *retVal) { + return This->lpVtbl->get_CachedLiveSetting(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentFlowsFrom(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentFlowsFrom(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedFlowsFrom(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedFlowsFrom(This,retVal); +} +/*** IUIAutomationElement3 methods ***/ +static inline HRESULT IUIAutomationElement9_ShowContextMenu(IUIAutomationElement9* This) { + return This->lpVtbl->ShowContextMenu(This); +} +static inline HRESULT IUIAutomationElement9_get_CurrentIsPeripheral(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsPeripheral(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsPeripheral(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsPeripheral(This,retVal); +} +/*** IUIAutomationElement4 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentPositionInSet(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CurrentPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentSizeOfSet(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CurrentSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentLevel(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CurrentLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAnnotationTypes(IUIAutomationElement9* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CurrentAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentAnnotationObjects(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CurrentAnnotationObjects(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedPositionInSet(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CachedPositionInSet(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedSizeOfSet(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CachedSizeOfSet(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLevel(IUIAutomationElement9* This,int *retVal) { + return This->lpVtbl->get_CachedLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAnnotationTypes(IUIAutomationElement9* This,SAFEARRAY **retVal) { + return This->lpVtbl->get_CachedAnnotationTypes(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedAnnotationObjects(IUIAutomationElement9* This,IUIAutomationElementArray **retVal) { + return This->lpVtbl->get_CachedAnnotationObjects(This,retVal); +} +/*** IUIAutomationElement5 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentLandmarkType(IUIAutomationElement9* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CurrentLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CurrentLocalizedLandmarkType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentLocalizedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLandmarkType(IUIAutomationElement9* This,LANDMARKTYPEID *retVal) { + return This->lpVtbl->get_CachedLandmarkType(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedLocalizedLandmarkType(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedLocalizedLandmarkType(This,retVal); +} +/*** IUIAutomationElement6 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentFullDescription(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CurrentFullDescription(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedFullDescription(IUIAutomationElement9* This,BSTR *retVal) { + return This->lpVtbl->get_CachedFullDescription(This,retVal); +} +/*** IUIAutomationElement7 methods ***/ +static inline HRESULT IUIAutomationElement9_FindFirstWithOptions(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement9_FindAllWithOptions(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptions(This,scope,condition,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement9_FindFirstWithOptionsBuildCache(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElement **found) { + return This->lpVtbl->FindFirstWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement9_FindAllWithOptionsBuildCache(IUIAutomationElement9* This,enum TreeScope scope,IUIAutomationCondition *condition,IUIAutomationCacheRequest *cacheRequest,enum TreeTraversalOptions traversalOptions,IUIAutomationElement *root,IUIAutomationElementArray **found) { + return This->lpVtbl->FindAllWithOptionsBuildCache(This,scope,condition,cacheRequest,traversalOptions,root,found); +} +static inline HRESULT IUIAutomationElement9_GetCurrentMetadataValue(IUIAutomationElement9* This,int targetId,METADATAID metadataId,VARIANT *returnVal) { + return This->lpVtbl->GetCurrentMetadataValue(This,targetId,metadataId,returnVal); +} +/*** IUIAutomationElement8 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentHeadingLevel(IUIAutomationElement9* This,HEADINGLEVELID *retVal) { + return This->lpVtbl->get_CurrentHeadingLevel(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedHeadingLevel(IUIAutomationElement9* This,HEADINGLEVELID *retVal) { + return This->lpVtbl->get_CachedHeadingLevel(This,retVal); +} +/*** IUIAutomationElement9 methods ***/ +static inline HRESULT IUIAutomationElement9_get_CurrentIsDialog(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CurrentIsDialog(This,retVal); +} +static inline HRESULT IUIAutomationElement9_get_CachedIsDialog(IUIAutomationElement9* This,WINBOOL *retVal) { + return This->lpVtbl->get_CachedIsDialog(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElement9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationElementArray interface + */ +#ifndef __IUIAutomationElementArray_INTERFACE_DEFINED__ +#define __IUIAutomationElementArray_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationElementArray, 0x14314595, 0xb4bc, 0x4055, 0x95,0xf2, 0x58,0xf2,0xe4,0x2c,0x98,0x55); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("14314595-b4bc-4055-95f2-58f2e42c9855") +IUIAutomationElementArray : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Length( + int *length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetElement( + int index, + IUIAutomationElement **element) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationElementArray, 0x14314595, 0xb4bc, 0x4055, 0x95,0xf2, 0x58,0xf2,0xe4,0x2c,0x98,0x55) +#endif +#else +typedef struct IUIAutomationElementArrayVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationElementArray *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationElementArray *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationElementArray *This); + + /*** IUIAutomationElementArray methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Length)( + IUIAutomationElementArray *This, + int *length); + + HRESULT (STDMETHODCALLTYPE *GetElement)( + IUIAutomationElementArray *This, + int index, + IUIAutomationElement **element); + + END_INTERFACE +} IUIAutomationElementArrayVtbl; + +interface IUIAutomationElementArray { + CONST_VTBL IUIAutomationElementArrayVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationElementArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationElementArray_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationElementArray_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationElementArray methods ***/ +#define IUIAutomationElementArray_get_Length(This,length) (This)->lpVtbl->get_Length(This,length) +#define IUIAutomationElementArray_GetElement(This,index,element) (This)->lpVtbl->GetElement(This,index,element) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationElementArray_QueryInterface(IUIAutomationElementArray* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationElementArray_AddRef(IUIAutomationElementArray* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationElementArray_Release(IUIAutomationElementArray* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationElementArray methods ***/ +static inline HRESULT IUIAutomationElementArray_get_Length(IUIAutomationElementArray* This,int *length) { + return This->lpVtbl->get_Length(This,length); +} +static inline HRESULT IUIAutomationElementArray_GetElement(IUIAutomationElementArray* This,int index,IUIAutomationElement **element) { + return This->lpVtbl->GetElement(This,index,element); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationElementArray_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationProxyFactory interface + */ +#ifndef __IUIAutomationProxyFactory_INTERFACE_DEFINED__ +#define __IUIAutomationProxyFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationProxyFactory, 0x85b94ecd, 0x849d, 0x42b6, 0xb9,0x4d, 0xd6,0xdb,0x23,0xfd,0xf5,0xa4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("85b94ecd-849d-42b6-b94d-d6db23fdf5a4") +IUIAutomationProxyFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateProvider( + UIA_HWND hwnd, + LONG idObject, + LONG idChild, + IRawElementProviderSimple **provider) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ProxyFactoryId( + BSTR *factoryId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationProxyFactory, 0x85b94ecd, 0x849d, 0x42b6, 0xb9,0x4d, 0xd6,0xdb,0x23,0xfd,0xf5,0xa4) +#endif +#else +typedef struct IUIAutomationProxyFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationProxyFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationProxyFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationProxyFactory *This); + + /*** IUIAutomationProxyFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateProvider)( + IUIAutomationProxyFactory *This, + UIA_HWND hwnd, + LONG idObject, + LONG idChild, + IRawElementProviderSimple **provider); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryId)( + IUIAutomationProxyFactory *This, + BSTR *factoryId); + + END_INTERFACE +} IUIAutomationProxyFactoryVtbl; + +interface IUIAutomationProxyFactory { + CONST_VTBL IUIAutomationProxyFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationProxyFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationProxyFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationProxyFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationProxyFactory methods ***/ +#define IUIAutomationProxyFactory_CreateProvider(This,hwnd,idObject,idChild,provider) (This)->lpVtbl->CreateProvider(This,hwnd,idObject,idChild,provider) +#define IUIAutomationProxyFactory_get_ProxyFactoryId(This,factoryId) (This)->lpVtbl->get_ProxyFactoryId(This,factoryId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationProxyFactory_QueryInterface(IUIAutomationProxyFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationProxyFactory_AddRef(IUIAutomationProxyFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationProxyFactory_Release(IUIAutomationProxyFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationProxyFactory methods ***/ +static inline HRESULT IUIAutomationProxyFactory_CreateProvider(IUIAutomationProxyFactory* This,UIA_HWND hwnd,LONG idObject,LONG idChild,IRawElementProviderSimple **provider) { + return This->lpVtbl->CreateProvider(This,hwnd,idObject,idChild,provider); +} +static inline HRESULT IUIAutomationProxyFactory_get_ProxyFactoryId(IUIAutomationProxyFactory* This,BSTR *factoryId) { + return This->lpVtbl->get_ProxyFactoryId(This,factoryId); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationProxyFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationProxyFactoryEntry interface + */ +#ifndef __IUIAutomationProxyFactoryEntry_INTERFACE_DEFINED__ +#define __IUIAutomationProxyFactoryEntry_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationProxyFactoryEntry, 0xd50e472e, 0xb64b, 0x490c, 0xbc,0xa1, 0xd3,0x06,0x96,0xf9,0xf2,0x89); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d50e472e-b64b-490c-bca1-d30696f9f289") +IUIAutomationProxyFactoryEntry : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_ProxyFactory( + IUIAutomationProxyFactory **factory) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ClassName( + BSTR *className) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ImageName( + BSTR *imageName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AllowSubstringMatch( + WINBOOL *allowSubstringMatch) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanCheckBaseClass( + WINBOOL *canCheckBaseClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NeedsAdviseEvents( + WINBOOL *adviseEvents) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ClassName( + LPCWSTR className) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ImageName( + LPCWSTR imageName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AllowSubstringMatch( + WINBOOL allowSubstringMatch) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CanCheckBaseClass( + WINBOOL canCheckBaseClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NeedsAdviseEvents( + WINBOOL adviseEvents) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWinEventsForAutomationEvent( + EVENTID eventId, + PROPERTYID propertyId, + SAFEARRAY *winEvents) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWinEventsForAutomationEvent( + EVENTID eventId, + PROPERTYID propertyId, + SAFEARRAY **winEvents) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationProxyFactoryEntry, 0xd50e472e, 0xb64b, 0x490c, 0xbc,0xa1, 0xd3,0x06,0x96,0xf9,0xf2,0x89) +#endif +#else +typedef struct IUIAutomationProxyFactoryEntryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationProxyFactoryEntry *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationProxyFactoryEntry *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationProxyFactoryEntry *This); + + /*** IUIAutomationProxyFactoryEntry methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProxyFactory)( + IUIAutomationProxyFactoryEntry *This, + IUIAutomationProxyFactory **factory); + + HRESULT (STDMETHODCALLTYPE *get_ClassName)( + IUIAutomationProxyFactoryEntry *This, + BSTR *className); + + HRESULT (STDMETHODCALLTYPE *get_ImageName)( + IUIAutomationProxyFactoryEntry *This, + BSTR *imageName); + + HRESULT (STDMETHODCALLTYPE *get_AllowSubstringMatch)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL *allowSubstringMatch); + + HRESULT (STDMETHODCALLTYPE *get_CanCheckBaseClass)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL *canCheckBaseClass); + + HRESULT (STDMETHODCALLTYPE *get_NeedsAdviseEvents)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL *adviseEvents); + + HRESULT (STDMETHODCALLTYPE *put_ClassName)( + IUIAutomationProxyFactoryEntry *This, + LPCWSTR className); + + HRESULT (STDMETHODCALLTYPE *put_ImageName)( + IUIAutomationProxyFactoryEntry *This, + LPCWSTR imageName); + + HRESULT (STDMETHODCALLTYPE *put_AllowSubstringMatch)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL allowSubstringMatch); + + HRESULT (STDMETHODCALLTYPE *put_CanCheckBaseClass)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL canCheckBaseClass); + + HRESULT (STDMETHODCALLTYPE *put_NeedsAdviseEvents)( + IUIAutomationProxyFactoryEntry *This, + WINBOOL adviseEvents); + + HRESULT (STDMETHODCALLTYPE *SetWinEventsForAutomationEvent)( + IUIAutomationProxyFactoryEntry *This, + EVENTID eventId, + PROPERTYID propertyId, + SAFEARRAY *winEvents); + + HRESULT (STDMETHODCALLTYPE *GetWinEventsForAutomationEvent)( + IUIAutomationProxyFactoryEntry *This, + EVENTID eventId, + PROPERTYID propertyId, + SAFEARRAY **winEvents); + + END_INTERFACE +} IUIAutomationProxyFactoryEntryVtbl; + +interface IUIAutomationProxyFactoryEntry { + CONST_VTBL IUIAutomationProxyFactoryEntryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationProxyFactoryEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationProxyFactoryEntry_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationProxyFactoryEntry_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationProxyFactoryEntry methods ***/ +#define IUIAutomationProxyFactoryEntry_get_ProxyFactory(This,factory) (This)->lpVtbl->get_ProxyFactory(This,factory) +#define IUIAutomationProxyFactoryEntry_get_ClassName(This,className) (This)->lpVtbl->get_ClassName(This,className) +#define IUIAutomationProxyFactoryEntry_get_ImageName(This,imageName) (This)->lpVtbl->get_ImageName(This,imageName) +#define IUIAutomationProxyFactoryEntry_get_AllowSubstringMatch(This,allowSubstringMatch) (This)->lpVtbl->get_AllowSubstringMatch(This,allowSubstringMatch) +#define IUIAutomationProxyFactoryEntry_get_CanCheckBaseClass(This,canCheckBaseClass) (This)->lpVtbl->get_CanCheckBaseClass(This,canCheckBaseClass) +#define IUIAutomationProxyFactoryEntry_get_NeedsAdviseEvents(This,adviseEvents) (This)->lpVtbl->get_NeedsAdviseEvents(This,adviseEvents) +#define IUIAutomationProxyFactoryEntry_put_ClassName(This,className) (This)->lpVtbl->put_ClassName(This,className) +#define IUIAutomationProxyFactoryEntry_put_ImageName(This,imageName) (This)->lpVtbl->put_ImageName(This,imageName) +#define IUIAutomationProxyFactoryEntry_put_AllowSubstringMatch(This,allowSubstringMatch) (This)->lpVtbl->put_AllowSubstringMatch(This,allowSubstringMatch) +#define IUIAutomationProxyFactoryEntry_put_CanCheckBaseClass(This,canCheckBaseClass) (This)->lpVtbl->put_CanCheckBaseClass(This,canCheckBaseClass) +#define IUIAutomationProxyFactoryEntry_put_NeedsAdviseEvents(This,adviseEvents) (This)->lpVtbl->put_NeedsAdviseEvents(This,adviseEvents) +#define IUIAutomationProxyFactoryEntry_SetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents) (This)->lpVtbl->SetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents) +#define IUIAutomationProxyFactoryEntry_GetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents) (This)->lpVtbl->GetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationProxyFactoryEntry_QueryInterface(IUIAutomationProxyFactoryEntry* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationProxyFactoryEntry_AddRef(IUIAutomationProxyFactoryEntry* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationProxyFactoryEntry_Release(IUIAutomationProxyFactoryEntry* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationProxyFactoryEntry methods ***/ +static inline HRESULT IUIAutomationProxyFactoryEntry_get_ProxyFactory(IUIAutomationProxyFactoryEntry* This,IUIAutomationProxyFactory **factory) { + return This->lpVtbl->get_ProxyFactory(This,factory); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_get_ClassName(IUIAutomationProxyFactoryEntry* This,BSTR *className) { + return This->lpVtbl->get_ClassName(This,className); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_get_ImageName(IUIAutomationProxyFactoryEntry* This,BSTR *imageName) { + return This->lpVtbl->get_ImageName(This,imageName); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_get_AllowSubstringMatch(IUIAutomationProxyFactoryEntry* This,WINBOOL *allowSubstringMatch) { + return This->lpVtbl->get_AllowSubstringMatch(This,allowSubstringMatch); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_get_CanCheckBaseClass(IUIAutomationProxyFactoryEntry* This,WINBOOL *canCheckBaseClass) { + return This->lpVtbl->get_CanCheckBaseClass(This,canCheckBaseClass); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_get_NeedsAdviseEvents(IUIAutomationProxyFactoryEntry* This,WINBOOL *adviseEvents) { + return This->lpVtbl->get_NeedsAdviseEvents(This,adviseEvents); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_put_ClassName(IUIAutomationProxyFactoryEntry* This,LPCWSTR className) { + return This->lpVtbl->put_ClassName(This,className); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_put_ImageName(IUIAutomationProxyFactoryEntry* This,LPCWSTR imageName) { + return This->lpVtbl->put_ImageName(This,imageName); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_put_AllowSubstringMatch(IUIAutomationProxyFactoryEntry* This,WINBOOL allowSubstringMatch) { + return This->lpVtbl->put_AllowSubstringMatch(This,allowSubstringMatch); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_put_CanCheckBaseClass(IUIAutomationProxyFactoryEntry* This,WINBOOL canCheckBaseClass) { + return This->lpVtbl->put_CanCheckBaseClass(This,canCheckBaseClass); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_put_NeedsAdviseEvents(IUIAutomationProxyFactoryEntry* This,WINBOOL adviseEvents) { + return This->lpVtbl->put_NeedsAdviseEvents(This,adviseEvents); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_SetWinEventsForAutomationEvent(IUIAutomationProxyFactoryEntry* This,EVENTID eventId,PROPERTYID propertyId,SAFEARRAY *winEvents) { + return This->lpVtbl->SetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents); +} +static inline HRESULT IUIAutomationProxyFactoryEntry_GetWinEventsForAutomationEvent(IUIAutomationProxyFactoryEntry* This,EVENTID eventId,PROPERTYID propertyId,SAFEARRAY **winEvents) { + return This->lpVtbl->GetWinEventsForAutomationEvent(This,eventId,propertyId,winEvents); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationProxyFactoryEntry_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationProxyFactoryMapping interface + */ +#ifndef __IUIAutomationProxyFactoryMapping_INTERFACE_DEFINED__ +#define __IUIAutomationProxyFactoryMapping_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationProxyFactoryMapping, 0x09e31e18, 0x872d, 0x4873, 0x93,0xd1, 0x1e,0x54,0x1e,0xc1,0x33,0xfd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("09e31e18-872d-4873-93d1-1e541ec133fd") +IUIAutomationProxyFactoryMapping : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + UINT *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTable( + SAFEARRAY **table) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEntry( + UINT index, + IUIAutomationProxyFactoryEntry **entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTable( + SAFEARRAY *factoryList) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertEntries( + UINT before, + SAFEARRAY *factoryList) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertEntry( + UINT before, + IUIAutomationProxyFactoryEntry *factory) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveEntry( + UINT index) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearTable( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RestoreDefaultTable( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationProxyFactoryMapping, 0x09e31e18, 0x872d, 0x4873, 0x93,0xd1, 0x1e,0x54,0x1e,0xc1,0x33,0xfd) +#endif +#else +typedef struct IUIAutomationProxyFactoryMappingVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationProxyFactoryMapping *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationProxyFactoryMapping *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationProxyFactoryMapping *This); + + /*** IUIAutomationProxyFactoryMapping methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IUIAutomationProxyFactoryMapping *This, + UINT *count); + + HRESULT (STDMETHODCALLTYPE *GetTable)( + IUIAutomationProxyFactoryMapping *This, + SAFEARRAY **table); + + HRESULT (STDMETHODCALLTYPE *GetEntry)( + IUIAutomationProxyFactoryMapping *This, + UINT index, + IUIAutomationProxyFactoryEntry **entry); + + HRESULT (STDMETHODCALLTYPE *SetTable)( + IUIAutomationProxyFactoryMapping *This, + SAFEARRAY *factoryList); + + HRESULT (STDMETHODCALLTYPE *InsertEntries)( + IUIAutomationProxyFactoryMapping *This, + UINT before, + SAFEARRAY *factoryList); + + HRESULT (STDMETHODCALLTYPE *InsertEntry)( + IUIAutomationProxyFactoryMapping *This, + UINT before, + IUIAutomationProxyFactoryEntry *factory); + + HRESULT (STDMETHODCALLTYPE *RemoveEntry)( + IUIAutomationProxyFactoryMapping *This, + UINT index); + + HRESULT (STDMETHODCALLTYPE *ClearTable)( + IUIAutomationProxyFactoryMapping *This); + + HRESULT (STDMETHODCALLTYPE *RestoreDefaultTable)( + IUIAutomationProxyFactoryMapping *This); + + END_INTERFACE +} IUIAutomationProxyFactoryMappingVtbl; + +interface IUIAutomationProxyFactoryMapping { + CONST_VTBL IUIAutomationProxyFactoryMappingVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationProxyFactoryMapping_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationProxyFactoryMapping_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationProxyFactoryMapping_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationProxyFactoryMapping methods ***/ +#define IUIAutomationProxyFactoryMapping_get_Count(This,count) (This)->lpVtbl->get_Count(This,count) +#define IUIAutomationProxyFactoryMapping_GetTable(This,table) (This)->lpVtbl->GetTable(This,table) +#define IUIAutomationProxyFactoryMapping_GetEntry(This,index,entry) (This)->lpVtbl->GetEntry(This,index,entry) +#define IUIAutomationProxyFactoryMapping_SetTable(This,factoryList) (This)->lpVtbl->SetTable(This,factoryList) +#define IUIAutomationProxyFactoryMapping_InsertEntries(This,before,factoryList) (This)->lpVtbl->InsertEntries(This,before,factoryList) +#define IUIAutomationProxyFactoryMapping_InsertEntry(This,before,factory) (This)->lpVtbl->InsertEntry(This,before,factory) +#define IUIAutomationProxyFactoryMapping_RemoveEntry(This,index) (This)->lpVtbl->RemoveEntry(This,index) +#define IUIAutomationProxyFactoryMapping_ClearTable(This) (This)->lpVtbl->ClearTable(This) +#define IUIAutomationProxyFactoryMapping_RestoreDefaultTable(This) (This)->lpVtbl->RestoreDefaultTable(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationProxyFactoryMapping_QueryInterface(IUIAutomationProxyFactoryMapping* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationProxyFactoryMapping_AddRef(IUIAutomationProxyFactoryMapping* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationProxyFactoryMapping_Release(IUIAutomationProxyFactoryMapping* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationProxyFactoryMapping methods ***/ +static inline HRESULT IUIAutomationProxyFactoryMapping_get_Count(IUIAutomationProxyFactoryMapping* This,UINT *count) { + return This->lpVtbl->get_Count(This,count); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_GetTable(IUIAutomationProxyFactoryMapping* This,SAFEARRAY **table) { + return This->lpVtbl->GetTable(This,table); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_GetEntry(IUIAutomationProxyFactoryMapping* This,UINT index,IUIAutomationProxyFactoryEntry **entry) { + return This->lpVtbl->GetEntry(This,index,entry); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_SetTable(IUIAutomationProxyFactoryMapping* This,SAFEARRAY *factoryList) { + return This->lpVtbl->SetTable(This,factoryList); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_InsertEntries(IUIAutomationProxyFactoryMapping* This,UINT before,SAFEARRAY *factoryList) { + return This->lpVtbl->InsertEntries(This,before,factoryList); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_InsertEntry(IUIAutomationProxyFactoryMapping* This,UINT before,IUIAutomationProxyFactoryEntry *factory) { + return This->lpVtbl->InsertEntry(This,before,factory); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_RemoveEntry(IUIAutomationProxyFactoryMapping* This,UINT index) { + return This->lpVtbl->RemoveEntry(This,index); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_ClearTable(IUIAutomationProxyFactoryMapping* This) { + return This->lpVtbl->ClearTable(This); +} +static inline HRESULT IUIAutomationProxyFactoryMapping_RestoreDefaultTable(IUIAutomationProxyFactoryMapping* This) { + return This->lpVtbl->RestoreDefaultTable(This); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationProxyFactoryMapping_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationEventHandlerGroup interface + */ +#ifndef __IUIAutomationEventHandlerGroup_INTERFACE_DEFINED__ +#define __IUIAutomationEventHandlerGroup_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationEventHandlerGroup, 0xc9ee12f2, 0xc13b, 0x4408, 0x99,0x7c, 0x63,0x99,0x14,0x37,0x7f,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c9ee12f2-c13b-4408-997c-639914377f4e") +IUIAutomationEventHandlerGroup : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddActiveTextPositionChangedEventHandler( + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationActiveTextPositionChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAutomationEventHandler( + EVENTID eventId, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddChangesEventHandler( + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationChangesEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddNotificationEventHandler( + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationNotificationEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandler( + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStructureChangedEventHandler( + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddTextEditTextChangedEventHandler( + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationEventHandlerGroup, 0xc9ee12f2, 0xc13b, 0x4408, 0x99,0x7c, 0x63,0x99,0x14,0x37,0x7f,0x4e) +#endif +#else +typedef struct IUIAutomationEventHandlerGroupVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationEventHandlerGroup *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationEventHandlerGroup *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationEventHandlerGroup *This); + + /*** IUIAutomationEventHandlerGroup methods ***/ + HRESULT (STDMETHODCALLTYPE *AddActiveTextPositionChangedEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationActiveTextPositionChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomationEventHandlerGroup *This, + EVENTID eventId, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddChangesEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationChangesEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddNotificationEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationNotificationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddTextEditTextChangedEventHandler)( + IUIAutomationEventHandlerGroup *This, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler); + + END_INTERFACE +} IUIAutomationEventHandlerGroupVtbl; + +interface IUIAutomationEventHandlerGroup { + CONST_VTBL IUIAutomationEventHandlerGroupVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationEventHandlerGroup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationEventHandlerGroup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationEventHandlerGroup_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationEventHandlerGroup methods ***/ +#define IUIAutomationEventHandlerGroup_AddActiveTextPositionChangedEventHandler(This,scope,cacheRequest,handler) (This)->lpVtbl->AddActiveTextPositionChangedEventHandler(This,scope,cacheRequest,handler) +#define IUIAutomationEventHandlerGroup_AddAutomationEventHandler(This,eventId,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,scope,cacheRequest,handler) +#define IUIAutomationEventHandlerGroup_AddChangesEventHandler(This,scope,changeTypes,changesCount,cacheRequest,handler) (This)->lpVtbl->AddChangesEventHandler(This,scope,changeTypes,changesCount,cacheRequest,handler) +#define IUIAutomationEventHandlerGroup_AddNotificationEventHandler(This,scope,cacheRequest,handler) (This)->lpVtbl->AddNotificationEventHandler(This,scope,cacheRequest,handler) +#define IUIAutomationEventHandlerGroup_AddPropertyChangedEventHandler(This,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandler(This,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomationEventHandlerGroup_AddStructureChangedEventHandler(This,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,scope,cacheRequest,handler) +#define IUIAutomationEventHandlerGroup_AddTextEditTextChangedEventHandler(This,scope,textEditChangeType,cacheRequest,handler) (This)->lpVtbl->AddTextEditTextChangedEventHandler(This,scope,textEditChangeType,cacheRequest,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationEventHandlerGroup_QueryInterface(IUIAutomationEventHandlerGroup* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationEventHandlerGroup_AddRef(IUIAutomationEventHandlerGroup* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationEventHandlerGroup_Release(IUIAutomationEventHandlerGroup* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationEventHandlerGroup methods ***/ +static inline HRESULT IUIAutomationEventHandlerGroup_AddActiveTextPositionChangedEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationActiveTextPositionChangedEventHandler *handler) { + return This->lpVtbl->AddActiveTextPositionChangedEventHandler(This,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddAutomationEventHandler(IUIAutomationEventHandlerGroup* This,EVENTID eventId,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddChangesEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,int *changeTypes,int changesCount,IUIAutomationCacheRequest *cacheRequest,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->AddChangesEventHandler(This,scope,changeTypes,changesCount,cacheRequest,handler); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddNotificationEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationNotificationEventHandler *handler) { + return This->lpVtbl->AddNotificationEventHandler(This,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddPropertyChangedEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddStructureChangedEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomationEventHandlerGroup_AddTextEditTextChangedEventHandler(IUIAutomationEventHandlerGroup* This,enum TreeScope scope,enum TextEditChangeType textEditChangeType,IUIAutomationCacheRequest *cacheRequest,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->AddTextEditTextChangedEventHandler(This,scope,textEditChangeType,cacheRequest,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationEventHandlerGroup_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation interface + */ +#ifndef __IUIAutomation_INTERFACE_DEFINED__ +#define __IUIAutomation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("30cbe57d-d9d0-452a-ab13-7ac5ac4825ee") +IUIAutomation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CompareElements( + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareRuntimeIds( + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRootElement( + IUIAutomationElement **root) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromHandle( + UIA_HWND hwnd, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromPoint( + POINT pt, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFocusedElement( + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRootElementBuildCache( + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromHandleBuildCache( + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromPointBuildCache( + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFocusedElementBuildCache( + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateTreeWalker( + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ControlViewWalker( + IUIAutomationTreeWalker **walker) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContentViewWalker( + IUIAutomationTreeWalker **walker) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RawViewWalker( + IUIAutomationTreeWalker **walker) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RawViewCondition( + IUIAutomationCondition **condition) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ControlViewCondition( + IUIAutomationCondition **condition) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContentViewCondition( + IUIAutomationCondition **condition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCacheRequest( + IUIAutomationCacheRequest **cacheRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateTrueCondition( + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFalseCondition( + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePropertyCondition( + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePropertyConditionEx( + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAndCondition( + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromArray( + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateAndConditionFromNativeArray( + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateOrCondition( + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromArray( + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateOrConditionFromNativeArray( + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNotCondition( + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAutomationEventHandler( + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAutomationEventHandler( + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandlerNativeArray( + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPropertyChangedEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemovePropertyChangedEventHandler( + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStructureChangedEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStructureChangedEventHandler( + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddFocusChangedEventHandler( + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveFocusChangedEventHandler( + IUIAutomationFocusChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAllEventHandlers( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE IntNativeArrayToSafeArray( + int *array, + int arrayCount, + SAFEARRAY **safeArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE IntSafeArrayToNativeArray( + SAFEARRAY *intArray, + int **array, + int *arrayCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE RectToVariant( + RECT rc, + VARIANT *var) = 0; + + virtual HRESULT STDMETHODCALLTYPE VariantToRect( + VARIANT var, + RECT *rc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SafeArrayToRectNativeArray( + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateProxyFactoryEntry( + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ProxyFactoryMapping( + IUIAutomationProxyFactoryMapping **factoryMapping) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyProgrammaticName( + PROPERTYID property, + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPatternProgrammaticName( + PATTERNID pattern, + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedPatterns( + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE PollForPotentialSupportedProperties( + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE CheckNotSupported( + VARIANT value, + WINBOOL *isNotSupported) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReservedNotSupportedValue( + IUnknown **notSupportedValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReservedMixedAttributeValue( + IUnknown **mixedAttributeValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessible( + IAccessible *accessible, + int childId, + IUIAutomationElement **element) = 0; + + virtual HRESULT STDMETHODCALLTYPE ElementFromIAccessibleBuildCache( + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation, 0x30cbe57d, 0xd9d0, 0x452a, 0xab,0x13, 0x7a,0xc5,0xac,0x48,0x25,0xee) +#endif +#else +typedef struct IUIAutomationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + END_INTERFACE +} IUIAutomationVtbl; + +interface IUIAutomation { + CONST_VTBL IUIAutomationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation_QueryInterface(IUIAutomation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation_AddRef(IUIAutomation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation_Release(IUIAutomation* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation_CompareElements(IUIAutomation* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation_CompareRuntimeIds(IUIAutomation* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation_GetRootElement(IUIAutomation* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation_ElementFromHandle(IUIAutomation* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation_ElementFromPoint(IUIAutomation* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation_GetFocusedElement(IUIAutomation* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation_GetRootElementBuildCache(IUIAutomation* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation_ElementFromHandleBuildCache(IUIAutomation* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation_ElementFromPointBuildCache(IUIAutomation* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation_GetFocusedElementBuildCache(IUIAutomation* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation_CreateTreeWalker(IUIAutomation* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation_get_ControlViewWalker(IUIAutomation* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation_get_ContentViewWalker(IUIAutomation* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation_get_RawViewWalker(IUIAutomation* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation_get_RawViewCondition(IUIAutomation* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation_get_ControlViewCondition(IUIAutomation* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation_get_ContentViewCondition(IUIAutomation* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation_CreateCacheRequest(IUIAutomation* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation_CreateTrueCondition(IUIAutomation* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation_CreateFalseCondition(IUIAutomation* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation_CreatePropertyCondition(IUIAutomation* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation_CreatePropertyConditionEx(IUIAutomation* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation_CreateAndCondition(IUIAutomation* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation_CreateAndConditionFromArray(IUIAutomation* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation_CreateAndConditionFromNativeArray(IUIAutomation* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation_CreateOrCondition(IUIAutomation* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation_CreateOrConditionFromArray(IUIAutomation* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation_CreateOrConditionFromNativeArray(IUIAutomation* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation_CreateNotCondition(IUIAutomation* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation_AddAutomationEventHandler(IUIAutomation* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation_RemoveAutomationEventHandler(IUIAutomation* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation_AddPropertyChangedEventHandlerNativeArray(IUIAutomation* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation_AddPropertyChangedEventHandler(IUIAutomation* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation_RemovePropertyChangedEventHandler(IUIAutomation* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation_AddStructureChangedEventHandler(IUIAutomation* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation_RemoveStructureChangedEventHandler(IUIAutomation* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation_AddFocusChangedEventHandler(IUIAutomation* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation_RemoveFocusChangedEventHandler(IUIAutomation* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation_RemoveAllEventHandlers(IUIAutomation* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation_IntNativeArrayToSafeArray(IUIAutomation* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation_IntSafeArrayToNativeArray(IUIAutomation* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation_RectToVariant(IUIAutomation* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation_VariantToRect(IUIAutomation* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation_SafeArrayToRectNativeArray(IUIAutomation* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation_CreateProxyFactoryEntry(IUIAutomation* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation_get_ProxyFactoryMapping(IUIAutomation* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation_GetPropertyProgrammaticName(IUIAutomation* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation_GetPatternProgrammaticName(IUIAutomation* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation_PollForPotentialSupportedPatterns(IUIAutomation* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation_PollForPotentialSupportedProperties(IUIAutomation* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation_CheckNotSupported(IUIAutomation* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation_get_ReservedNotSupportedValue(IUIAutomation* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation_get_ReservedMixedAttributeValue(IUIAutomation* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation_ElementFromIAccessible(IUIAutomation* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation_ElementFromIAccessibleBuildCache(IUIAutomation* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation2 interface + */ +#ifndef __IUIAutomation2_INTERFACE_DEFINED__ +#define __IUIAutomation2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation2, 0x34723aff, 0x0c9d, 0x49d0, 0x98,0x96, 0x7a,0xb5,0x2d,0xf8,0xcd,0x8a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("34723aff-0c9d-49d0-9896-7ab52df8cd8a") +IUIAutomation2 : public IUIAutomation +{ + virtual HRESULT STDMETHODCALLTYPE get_AutoSetFocus( + WINBOOL *autoSetFocus) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AutoSetFocus( + WINBOOL autoSetFocus) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConnectionTimeout( + DWORD *timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ConnectionTimeout( + DWORD timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TransactionTimeout( + DWORD *timeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TransactionTimeout( + DWORD timeout) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation2, 0x34723aff, 0x0c9d, 0x49d0, 0x98,0x96, 0x7a,0xb5,0x2d,0xf8,0xcd,0x8a) +#endif +#else +typedef struct IUIAutomation2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation2 *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation2 *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation2 *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation2 *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation2 *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation2 *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation2 *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation2 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation2 *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation2 *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation2 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation2 *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation2 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation2 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation2 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation2 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation2 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation2 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation2 *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation2 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation2 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation2 *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation2 *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation2 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation2 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation2 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation2 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation2 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation2 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation2 *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation2 *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation2 *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation2 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation2 *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation2 *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation2 *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation2 *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation2 *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation2 *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation2 *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation2 *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation2 *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation2 *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation2 *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation2 *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation2 *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation2 *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation2 *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation2 *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation2 *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation2 *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + /*** IUIAutomation2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AutoSetFocus)( + IUIAutomation2 *This, + WINBOOL *autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *put_AutoSetFocus)( + IUIAutomation2 *This, + WINBOOL autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionTimeout)( + IUIAutomation2 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionTimeout)( + IUIAutomation2 *This, + DWORD timeout); + + HRESULT (STDMETHODCALLTYPE *get_TransactionTimeout)( + IUIAutomation2 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_TransactionTimeout)( + IUIAutomation2 *This, + DWORD timeout); + + END_INTERFACE +} IUIAutomation2Vtbl; + +interface IUIAutomation2 { + CONST_VTBL IUIAutomation2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation2_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation2_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation2_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation2_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation2_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation2_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation2_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation2_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation2_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation2_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation2_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation2_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation2_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation2_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation2_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation2_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation2_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation2_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation2_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation2_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation2_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation2_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation2_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation2_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation2_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation2_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation2_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation2_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation2_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation2_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation2_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation2_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation2_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation2_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation2_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation2_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation2_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation2_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation2_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation2_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation2_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation2_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation2_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation2_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation2_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation2_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation2_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation2_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation2_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation2_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation2_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation2_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation2_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation2_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation2_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation2_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +/*** IUIAutomation2 methods ***/ +#define IUIAutomation2_get_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->get_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation2_put_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->put_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation2_get_ConnectionTimeout(This,timeout) (This)->lpVtbl->get_ConnectionTimeout(This,timeout) +#define IUIAutomation2_put_ConnectionTimeout(This,timeout) (This)->lpVtbl->put_ConnectionTimeout(This,timeout) +#define IUIAutomation2_get_TransactionTimeout(This,timeout) (This)->lpVtbl->get_TransactionTimeout(This,timeout) +#define IUIAutomation2_put_TransactionTimeout(This,timeout) (This)->lpVtbl->put_TransactionTimeout(This,timeout) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation2_QueryInterface(IUIAutomation2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation2_AddRef(IUIAutomation2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation2_Release(IUIAutomation2* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation2_CompareElements(IUIAutomation2* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation2_CompareRuntimeIds(IUIAutomation2* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation2_GetRootElement(IUIAutomation2* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation2_ElementFromHandle(IUIAutomation2* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation2_ElementFromPoint(IUIAutomation2* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation2_GetFocusedElement(IUIAutomation2* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation2_GetRootElementBuildCache(IUIAutomation2* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation2_ElementFromHandleBuildCache(IUIAutomation2* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation2_ElementFromPointBuildCache(IUIAutomation2* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation2_GetFocusedElementBuildCache(IUIAutomation2* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation2_CreateTreeWalker(IUIAutomation2* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation2_get_ControlViewWalker(IUIAutomation2* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation2_get_ContentViewWalker(IUIAutomation2* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation2_get_RawViewWalker(IUIAutomation2* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation2_get_RawViewCondition(IUIAutomation2* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation2_get_ControlViewCondition(IUIAutomation2* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation2_get_ContentViewCondition(IUIAutomation2* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation2_CreateCacheRequest(IUIAutomation2* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation2_CreateTrueCondition(IUIAutomation2* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation2_CreateFalseCondition(IUIAutomation2* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation2_CreatePropertyCondition(IUIAutomation2* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation2_CreatePropertyConditionEx(IUIAutomation2* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation2_CreateAndCondition(IUIAutomation2* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation2_CreateAndConditionFromArray(IUIAutomation2* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation2_CreateAndConditionFromNativeArray(IUIAutomation2* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation2_CreateOrCondition(IUIAutomation2* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation2_CreateOrConditionFromArray(IUIAutomation2* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation2_CreateOrConditionFromNativeArray(IUIAutomation2* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation2_CreateNotCondition(IUIAutomation2* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation2_AddAutomationEventHandler(IUIAutomation2* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation2_RemoveAutomationEventHandler(IUIAutomation2* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation2_AddPropertyChangedEventHandlerNativeArray(IUIAutomation2* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation2_AddPropertyChangedEventHandler(IUIAutomation2* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation2_RemovePropertyChangedEventHandler(IUIAutomation2* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation2_AddStructureChangedEventHandler(IUIAutomation2* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation2_RemoveStructureChangedEventHandler(IUIAutomation2* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation2_AddFocusChangedEventHandler(IUIAutomation2* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation2_RemoveFocusChangedEventHandler(IUIAutomation2* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation2_RemoveAllEventHandlers(IUIAutomation2* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation2_IntNativeArrayToSafeArray(IUIAutomation2* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation2_IntSafeArrayToNativeArray(IUIAutomation2* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation2_RectToVariant(IUIAutomation2* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation2_VariantToRect(IUIAutomation2* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation2_SafeArrayToRectNativeArray(IUIAutomation2* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation2_CreateProxyFactoryEntry(IUIAutomation2* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation2_get_ProxyFactoryMapping(IUIAutomation2* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation2_GetPropertyProgrammaticName(IUIAutomation2* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation2_GetPatternProgrammaticName(IUIAutomation2* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation2_PollForPotentialSupportedPatterns(IUIAutomation2* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation2_PollForPotentialSupportedProperties(IUIAutomation2* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation2_CheckNotSupported(IUIAutomation2* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation2_get_ReservedNotSupportedValue(IUIAutomation2* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation2_get_ReservedMixedAttributeValue(IUIAutomation2* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation2_ElementFromIAccessible(IUIAutomation2* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation2_ElementFromIAccessibleBuildCache(IUIAutomation2* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +/*** IUIAutomation2 methods ***/ +static inline HRESULT IUIAutomation2_get_AutoSetFocus(IUIAutomation2* This,WINBOOL *autoSetFocus) { + return This->lpVtbl->get_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation2_put_AutoSetFocus(IUIAutomation2* This,WINBOOL autoSetFocus) { + return This->lpVtbl->put_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation2_get_ConnectionTimeout(IUIAutomation2* This,DWORD *timeout) { + return This->lpVtbl->get_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation2_put_ConnectionTimeout(IUIAutomation2* This,DWORD timeout) { + return This->lpVtbl->put_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation2_get_TransactionTimeout(IUIAutomation2* This,DWORD *timeout) { + return This->lpVtbl->get_TransactionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation2_put_TransactionTimeout(IUIAutomation2* This,DWORD timeout) { + return This->lpVtbl->put_TransactionTimeout(This,timeout); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation3 interface + */ +#ifndef __IUIAutomation3_INTERFACE_DEFINED__ +#define __IUIAutomation3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation3, 0x73d768da, 0x9b51, 0x4b89, 0x93,0x6e, 0xc2,0x09,0x29,0x09,0x73,0xe7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("73d768da-9b51-4b89-936e-c209290973e7") +IUIAutomation3 : public IUIAutomation2 +{ + virtual HRESULT STDMETHODCALLTYPE AddTextEditTextChangedEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveTextEditTextChangedEventHandler( + IUIAutomationElement *element, + IUIAutomationTextEditTextChangedEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation3, 0x73d768da, 0x9b51, 0x4b89, 0x93,0x6e, 0xc2,0x09,0x29,0x09,0x73,0xe7) +#endif +#else +typedef struct IUIAutomation3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation3 *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation3 *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation3 *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation3 *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation3 *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation3 *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation3 *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation3 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation3 *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation3 *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation3 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation3 *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation3 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation3 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation3 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation3 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation3 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation3 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation3 *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation3 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation3 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation3 *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation3 *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation3 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation3 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation3 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation3 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation3 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation3 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation3 *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation3 *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation3 *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation3 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation3 *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation3 *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation3 *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation3 *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation3 *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation3 *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation3 *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation3 *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation3 *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation3 *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation3 *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation3 *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation3 *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation3 *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation3 *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation3 *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation3 *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + /*** IUIAutomation2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AutoSetFocus)( + IUIAutomation3 *This, + WINBOOL *autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *put_AutoSetFocus)( + IUIAutomation3 *This, + WINBOOL autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionTimeout)( + IUIAutomation3 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionTimeout)( + IUIAutomation3 *This, + DWORD timeout); + + HRESULT (STDMETHODCALLTYPE *get_TransactionTimeout)( + IUIAutomation3 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_TransactionTimeout)( + IUIAutomation3 *This, + DWORD timeout); + + /*** IUIAutomation3 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTextEditTextChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveTextEditTextChangedEventHandler)( + IUIAutomation3 *This, + IUIAutomationElement *element, + IUIAutomationTextEditTextChangedEventHandler *handler); + + END_INTERFACE +} IUIAutomation3Vtbl; + +interface IUIAutomation3 { + CONST_VTBL IUIAutomation3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation3_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation3_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation3_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation3_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation3_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation3_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation3_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation3_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation3_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation3_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation3_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation3_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation3_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation3_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation3_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation3_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation3_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation3_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation3_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation3_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation3_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation3_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation3_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation3_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation3_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation3_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation3_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation3_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation3_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation3_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation3_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation3_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation3_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation3_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation3_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation3_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation3_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation3_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation3_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation3_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation3_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation3_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation3_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation3_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation3_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation3_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation3_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation3_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation3_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation3_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation3_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation3_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation3_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation3_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation3_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation3_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +/*** IUIAutomation2 methods ***/ +#define IUIAutomation3_get_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->get_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation3_put_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->put_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation3_get_ConnectionTimeout(This,timeout) (This)->lpVtbl->get_ConnectionTimeout(This,timeout) +#define IUIAutomation3_put_ConnectionTimeout(This,timeout) (This)->lpVtbl->put_ConnectionTimeout(This,timeout) +#define IUIAutomation3_get_TransactionTimeout(This,timeout) (This)->lpVtbl->get_TransactionTimeout(This,timeout) +#define IUIAutomation3_put_TransactionTimeout(This,timeout) (This)->lpVtbl->put_TransactionTimeout(This,timeout) +/*** IUIAutomation3 methods ***/ +#define IUIAutomation3_AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) (This)->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) +#define IUIAutomation3_RemoveTextEditTextChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation3_QueryInterface(IUIAutomation3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation3_AddRef(IUIAutomation3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation3_Release(IUIAutomation3* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation3_CompareElements(IUIAutomation3* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation3_CompareRuntimeIds(IUIAutomation3* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation3_GetRootElement(IUIAutomation3* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation3_ElementFromHandle(IUIAutomation3* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation3_ElementFromPoint(IUIAutomation3* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation3_GetFocusedElement(IUIAutomation3* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation3_GetRootElementBuildCache(IUIAutomation3* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation3_ElementFromHandleBuildCache(IUIAutomation3* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation3_ElementFromPointBuildCache(IUIAutomation3* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation3_GetFocusedElementBuildCache(IUIAutomation3* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation3_CreateTreeWalker(IUIAutomation3* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation3_get_ControlViewWalker(IUIAutomation3* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation3_get_ContentViewWalker(IUIAutomation3* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation3_get_RawViewWalker(IUIAutomation3* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation3_get_RawViewCondition(IUIAutomation3* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation3_get_ControlViewCondition(IUIAutomation3* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation3_get_ContentViewCondition(IUIAutomation3* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation3_CreateCacheRequest(IUIAutomation3* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation3_CreateTrueCondition(IUIAutomation3* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation3_CreateFalseCondition(IUIAutomation3* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation3_CreatePropertyCondition(IUIAutomation3* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation3_CreatePropertyConditionEx(IUIAutomation3* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation3_CreateAndCondition(IUIAutomation3* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation3_CreateAndConditionFromArray(IUIAutomation3* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation3_CreateAndConditionFromNativeArray(IUIAutomation3* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation3_CreateOrCondition(IUIAutomation3* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation3_CreateOrConditionFromArray(IUIAutomation3* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation3_CreateOrConditionFromNativeArray(IUIAutomation3* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation3_CreateNotCondition(IUIAutomation3* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation3_AddAutomationEventHandler(IUIAutomation3* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation3_RemoveAutomationEventHandler(IUIAutomation3* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation3_AddPropertyChangedEventHandlerNativeArray(IUIAutomation3* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation3_AddPropertyChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation3_RemovePropertyChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation3_AddStructureChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation3_RemoveStructureChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation3_AddFocusChangedEventHandler(IUIAutomation3* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation3_RemoveFocusChangedEventHandler(IUIAutomation3* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation3_RemoveAllEventHandlers(IUIAutomation3* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation3_IntNativeArrayToSafeArray(IUIAutomation3* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation3_IntSafeArrayToNativeArray(IUIAutomation3* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation3_RectToVariant(IUIAutomation3* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation3_VariantToRect(IUIAutomation3* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation3_SafeArrayToRectNativeArray(IUIAutomation3* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation3_CreateProxyFactoryEntry(IUIAutomation3* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation3_get_ProxyFactoryMapping(IUIAutomation3* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation3_GetPropertyProgrammaticName(IUIAutomation3* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation3_GetPatternProgrammaticName(IUIAutomation3* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation3_PollForPotentialSupportedPatterns(IUIAutomation3* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation3_PollForPotentialSupportedProperties(IUIAutomation3* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation3_CheckNotSupported(IUIAutomation3* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation3_get_ReservedNotSupportedValue(IUIAutomation3* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation3_get_ReservedMixedAttributeValue(IUIAutomation3* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation3_ElementFromIAccessible(IUIAutomation3* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation3_ElementFromIAccessibleBuildCache(IUIAutomation3* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +/*** IUIAutomation2 methods ***/ +static inline HRESULT IUIAutomation3_get_AutoSetFocus(IUIAutomation3* This,WINBOOL *autoSetFocus) { + return This->lpVtbl->get_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation3_put_AutoSetFocus(IUIAutomation3* This,WINBOOL autoSetFocus) { + return This->lpVtbl->put_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation3_get_ConnectionTimeout(IUIAutomation3* This,DWORD *timeout) { + return This->lpVtbl->get_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation3_put_ConnectionTimeout(IUIAutomation3* This,DWORD timeout) { + return This->lpVtbl->put_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation3_get_TransactionTimeout(IUIAutomation3* This,DWORD *timeout) { + return This->lpVtbl->get_TransactionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation3_put_TransactionTimeout(IUIAutomation3* This,DWORD timeout) { + return This->lpVtbl->put_TransactionTimeout(This,timeout); +} +/*** IUIAutomation3 methods ***/ +static inline HRESULT IUIAutomation3_AddTextEditTextChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,enum TreeScope scope,enum TextEditChangeType textEditChangeType,IUIAutomationCacheRequest *cacheRequest,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler); +} +static inline HRESULT IUIAutomation3_RemoveTextEditTextChangedEventHandler(IUIAutomation3* This,IUIAutomationElement *element,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation4 interface + */ +#ifndef __IUIAutomation4_INTERFACE_DEFINED__ +#define __IUIAutomation4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation4, 0x1189c02a, 0x05f8, 0x4319, 0x8e,0x21, 0xe8,0x17,0xe3,0xdb,0x28,0x60); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1189c02a-05f8-4319-8e21-e817e3db2860") +IUIAutomation4 : public IUIAutomation3 +{ + virtual HRESULT STDMETHODCALLTYPE AddChangesEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *pCacheRequest, + IUIAutomationChangesEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveChangesEventHandler( + IUIAutomationElement *element, + IUIAutomationChangesEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation4, 0x1189c02a, 0x05f8, 0x4319, 0x8e,0x21, 0xe8,0x17,0xe3,0xdb,0x28,0x60) +#endif +#else +typedef struct IUIAutomation4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation4 *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation4 *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation4 *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation4 *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation4 *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation4 *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation4 *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation4 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation4 *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation4 *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation4 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation4 *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation4 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation4 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation4 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation4 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation4 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation4 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation4 *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation4 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation4 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation4 *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation4 *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation4 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation4 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation4 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation4 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation4 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation4 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation4 *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation4 *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation4 *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation4 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation4 *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation4 *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation4 *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation4 *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation4 *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation4 *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation4 *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation4 *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation4 *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation4 *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation4 *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation4 *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation4 *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation4 *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation4 *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation4 *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation4 *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + /*** IUIAutomation2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AutoSetFocus)( + IUIAutomation4 *This, + WINBOOL *autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *put_AutoSetFocus)( + IUIAutomation4 *This, + WINBOOL autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionTimeout)( + IUIAutomation4 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionTimeout)( + IUIAutomation4 *This, + DWORD timeout); + + HRESULT (STDMETHODCALLTYPE *get_TransactionTimeout)( + IUIAutomation4 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_TransactionTimeout)( + IUIAutomation4 *This, + DWORD timeout); + + /*** IUIAutomation3 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTextEditTextChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveTextEditTextChangedEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + IUIAutomationTextEditTextChangedEventHandler *handler); + + /*** IUIAutomation4 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddChangesEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *pCacheRequest, + IUIAutomationChangesEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveChangesEventHandler)( + IUIAutomation4 *This, + IUIAutomationElement *element, + IUIAutomationChangesEventHandler *handler); + + END_INTERFACE +} IUIAutomation4Vtbl; + +interface IUIAutomation4 { + CONST_VTBL IUIAutomation4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation4_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation4_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation4_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation4_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation4_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation4_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation4_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation4_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation4_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation4_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation4_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation4_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation4_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation4_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation4_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation4_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation4_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation4_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation4_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation4_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation4_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation4_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation4_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation4_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation4_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation4_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation4_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation4_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation4_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation4_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation4_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation4_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation4_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation4_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation4_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation4_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation4_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation4_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation4_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation4_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation4_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation4_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation4_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation4_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation4_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation4_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation4_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation4_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation4_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation4_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation4_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation4_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation4_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation4_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation4_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation4_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +/*** IUIAutomation2 methods ***/ +#define IUIAutomation4_get_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->get_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation4_put_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->put_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation4_get_ConnectionTimeout(This,timeout) (This)->lpVtbl->get_ConnectionTimeout(This,timeout) +#define IUIAutomation4_put_ConnectionTimeout(This,timeout) (This)->lpVtbl->put_ConnectionTimeout(This,timeout) +#define IUIAutomation4_get_TransactionTimeout(This,timeout) (This)->lpVtbl->get_TransactionTimeout(This,timeout) +#define IUIAutomation4_put_TransactionTimeout(This,timeout) (This)->lpVtbl->put_TransactionTimeout(This,timeout) +/*** IUIAutomation3 methods ***/ +#define IUIAutomation4_AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) (This)->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) +#define IUIAutomation4_RemoveTextEditTextChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler) +/*** IUIAutomation4 methods ***/ +#define IUIAutomation4_AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) (This)->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) +#define IUIAutomation4_RemoveChangesEventHandler(This,element,handler) (This)->lpVtbl->RemoveChangesEventHandler(This,element,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation4_QueryInterface(IUIAutomation4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation4_AddRef(IUIAutomation4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation4_Release(IUIAutomation4* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation4_CompareElements(IUIAutomation4* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation4_CompareRuntimeIds(IUIAutomation4* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation4_GetRootElement(IUIAutomation4* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation4_ElementFromHandle(IUIAutomation4* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation4_ElementFromPoint(IUIAutomation4* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation4_GetFocusedElement(IUIAutomation4* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation4_GetRootElementBuildCache(IUIAutomation4* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation4_ElementFromHandleBuildCache(IUIAutomation4* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation4_ElementFromPointBuildCache(IUIAutomation4* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation4_GetFocusedElementBuildCache(IUIAutomation4* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation4_CreateTreeWalker(IUIAutomation4* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation4_get_ControlViewWalker(IUIAutomation4* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation4_get_ContentViewWalker(IUIAutomation4* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation4_get_RawViewWalker(IUIAutomation4* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation4_get_RawViewCondition(IUIAutomation4* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation4_get_ControlViewCondition(IUIAutomation4* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation4_get_ContentViewCondition(IUIAutomation4* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation4_CreateCacheRequest(IUIAutomation4* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation4_CreateTrueCondition(IUIAutomation4* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation4_CreateFalseCondition(IUIAutomation4* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation4_CreatePropertyCondition(IUIAutomation4* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation4_CreatePropertyConditionEx(IUIAutomation4* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation4_CreateAndCondition(IUIAutomation4* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation4_CreateAndConditionFromArray(IUIAutomation4* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation4_CreateAndConditionFromNativeArray(IUIAutomation4* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation4_CreateOrCondition(IUIAutomation4* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation4_CreateOrConditionFromArray(IUIAutomation4* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation4_CreateOrConditionFromNativeArray(IUIAutomation4* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation4_CreateNotCondition(IUIAutomation4* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation4_AddAutomationEventHandler(IUIAutomation4* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation4_RemoveAutomationEventHandler(IUIAutomation4* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation4_AddPropertyChangedEventHandlerNativeArray(IUIAutomation4* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation4_AddPropertyChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation4_RemovePropertyChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation4_AddStructureChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation4_RemoveStructureChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation4_AddFocusChangedEventHandler(IUIAutomation4* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation4_RemoveFocusChangedEventHandler(IUIAutomation4* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation4_RemoveAllEventHandlers(IUIAutomation4* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation4_IntNativeArrayToSafeArray(IUIAutomation4* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation4_IntSafeArrayToNativeArray(IUIAutomation4* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation4_RectToVariant(IUIAutomation4* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation4_VariantToRect(IUIAutomation4* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation4_SafeArrayToRectNativeArray(IUIAutomation4* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation4_CreateProxyFactoryEntry(IUIAutomation4* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation4_get_ProxyFactoryMapping(IUIAutomation4* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation4_GetPropertyProgrammaticName(IUIAutomation4* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation4_GetPatternProgrammaticName(IUIAutomation4* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation4_PollForPotentialSupportedPatterns(IUIAutomation4* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation4_PollForPotentialSupportedProperties(IUIAutomation4* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation4_CheckNotSupported(IUIAutomation4* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation4_get_ReservedNotSupportedValue(IUIAutomation4* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation4_get_ReservedMixedAttributeValue(IUIAutomation4* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation4_ElementFromIAccessible(IUIAutomation4* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation4_ElementFromIAccessibleBuildCache(IUIAutomation4* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +/*** IUIAutomation2 methods ***/ +static inline HRESULT IUIAutomation4_get_AutoSetFocus(IUIAutomation4* This,WINBOOL *autoSetFocus) { + return This->lpVtbl->get_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation4_put_AutoSetFocus(IUIAutomation4* This,WINBOOL autoSetFocus) { + return This->lpVtbl->put_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation4_get_ConnectionTimeout(IUIAutomation4* This,DWORD *timeout) { + return This->lpVtbl->get_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation4_put_ConnectionTimeout(IUIAutomation4* This,DWORD timeout) { + return This->lpVtbl->put_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation4_get_TransactionTimeout(IUIAutomation4* This,DWORD *timeout) { + return This->lpVtbl->get_TransactionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation4_put_TransactionTimeout(IUIAutomation4* This,DWORD timeout) { + return This->lpVtbl->put_TransactionTimeout(This,timeout); +} +/*** IUIAutomation3 methods ***/ +static inline HRESULT IUIAutomation4_AddTextEditTextChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,enum TreeScope scope,enum TextEditChangeType textEditChangeType,IUIAutomationCacheRequest *cacheRequest,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler); +} +static inline HRESULT IUIAutomation4_RemoveTextEditTextChangedEventHandler(IUIAutomation4* This,IUIAutomationElement *element,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler); +} +/*** IUIAutomation4 methods ***/ +static inline HRESULT IUIAutomation4_AddChangesEventHandler(IUIAutomation4* This,IUIAutomationElement *element,enum TreeScope scope,int *changeTypes,int changesCount,IUIAutomationCacheRequest *pCacheRequest,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler); +} +static inline HRESULT IUIAutomation4_RemoveChangesEventHandler(IUIAutomation4* This,IUIAutomationElement *element,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->RemoveChangesEventHandler(This,element,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation5 interface + */ +#ifndef __IUIAutomation5_INTERFACE_DEFINED__ +#define __IUIAutomation5_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation5, 0x25f700c8, 0xd816, 0x4057, 0xa9,0xdc, 0x3c,0xbd,0xee,0x77,0xe2,0x56); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("25f700c8-d816-4057-a9dc-3cbdee77e256") +IUIAutomation5 : public IUIAutomation4 +{ + virtual HRESULT STDMETHODCALLTYPE AddNotificationEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationNotificationEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveNotificationEventHandler( + IUIAutomationElement *element, + IUIAutomationNotificationEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation5, 0x25f700c8, 0xd816, 0x4057, 0xa9,0xdc, 0x3c,0xbd,0xee,0x77,0xe2,0x56) +#endif +#else +typedef struct IUIAutomation5Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation5 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation5 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation5 *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation5 *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation5 *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation5 *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation5 *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation5 *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation5 *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation5 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation5 *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation5 *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation5 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation5 *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation5 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation5 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation5 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation5 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation5 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation5 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation5 *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation5 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation5 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation5 *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation5 *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation5 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation5 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation5 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation5 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation5 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation5 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation5 *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation5 *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation5 *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation5 *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation5 *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation5 *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation5 *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation5 *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation5 *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation5 *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation5 *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation5 *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation5 *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation5 *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation5 *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation5 *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation5 *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation5 *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation5 *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation5 *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + /*** IUIAutomation2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AutoSetFocus)( + IUIAutomation5 *This, + WINBOOL *autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *put_AutoSetFocus)( + IUIAutomation5 *This, + WINBOOL autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionTimeout)( + IUIAutomation5 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionTimeout)( + IUIAutomation5 *This, + DWORD timeout); + + HRESULT (STDMETHODCALLTYPE *get_TransactionTimeout)( + IUIAutomation5 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_TransactionTimeout)( + IUIAutomation5 *This, + DWORD timeout); + + /*** IUIAutomation3 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTextEditTextChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveTextEditTextChangedEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + IUIAutomationTextEditTextChangedEventHandler *handler); + + /*** IUIAutomation4 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddChangesEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *pCacheRequest, + IUIAutomationChangesEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveChangesEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + IUIAutomationChangesEventHandler *handler); + + /*** IUIAutomation5 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddNotificationEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationNotificationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveNotificationEventHandler)( + IUIAutomation5 *This, + IUIAutomationElement *element, + IUIAutomationNotificationEventHandler *handler); + + END_INTERFACE +} IUIAutomation5Vtbl; + +interface IUIAutomation5 { + CONST_VTBL IUIAutomation5Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation5_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation5_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation5_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation5_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation5_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation5_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation5_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation5_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation5_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation5_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation5_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation5_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation5_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation5_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation5_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation5_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation5_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation5_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation5_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation5_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation5_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation5_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation5_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation5_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation5_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation5_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation5_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation5_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation5_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation5_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation5_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation5_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation5_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation5_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation5_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation5_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation5_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation5_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation5_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation5_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation5_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation5_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation5_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation5_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation5_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation5_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation5_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation5_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation5_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation5_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation5_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation5_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation5_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation5_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation5_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation5_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +/*** IUIAutomation2 methods ***/ +#define IUIAutomation5_get_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->get_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation5_put_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->put_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation5_get_ConnectionTimeout(This,timeout) (This)->lpVtbl->get_ConnectionTimeout(This,timeout) +#define IUIAutomation5_put_ConnectionTimeout(This,timeout) (This)->lpVtbl->put_ConnectionTimeout(This,timeout) +#define IUIAutomation5_get_TransactionTimeout(This,timeout) (This)->lpVtbl->get_TransactionTimeout(This,timeout) +#define IUIAutomation5_put_TransactionTimeout(This,timeout) (This)->lpVtbl->put_TransactionTimeout(This,timeout) +/*** IUIAutomation3 methods ***/ +#define IUIAutomation5_AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) (This)->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) +#define IUIAutomation5_RemoveTextEditTextChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler) +/*** IUIAutomation4 methods ***/ +#define IUIAutomation5_AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) (This)->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) +#define IUIAutomation5_RemoveChangesEventHandler(This,element,handler) (This)->lpVtbl->RemoveChangesEventHandler(This,element,handler) +/*** IUIAutomation5 methods ***/ +#define IUIAutomation5_AddNotificationEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddNotificationEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation5_RemoveNotificationEventHandler(This,element,handler) (This)->lpVtbl->RemoveNotificationEventHandler(This,element,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation5_QueryInterface(IUIAutomation5* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation5_AddRef(IUIAutomation5* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation5_Release(IUIAutomation5* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation5_CompareElements(IUIAutomation5* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation5_CompareRuntimeIds(IUIAutomation5* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation5_GetRootElement(IUIAutomation5* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation5_ElementFromHandle(IUIAutomation5* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation5_ElementFromPoint(IUIAutomation5* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation5_GetFocusedElement(IUIAutomation5* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation5_GetRootElementBuildCache(IUIAutomation5* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation5_ElementFromHandleBuildCache(IUIAutomation5* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation5_ElementFromPointBuildCache(IUIAutomation5* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation5_GetFocusedElementBuildCache(IUIAutomation5* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation5_CreateTreeWalker(IUIAutomation5* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation5_get_ControlViewWalker(IUIAutomation5* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation5_get_ContentViewWalker(IUIAutomation5* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation5_get_RawViewWalker(IUIAutomation5* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation5_get_RawViewCondition(IUIAutomation5* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation5_get_ControlViewCondition(IUIAutomation5* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation5_get_ContentViewCondition(IUIAutomation5* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation5_CreateCacheRequest(IUIAutomation5* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation5_CreateTrueCondition(IUIAutomation5* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation5_CreateFalseCondition(IUIAutomation5* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation5_CreatePropertyCondition(IUIAutomation5* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation5_CreatePropertyConditionEx(IUIAutomation5* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation5_CreateAndCondition(IUIAutomation5* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation5_CreateAndConditionFromArray(IUIAutomation5* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation5_CreateAndConditionFromNativeArray(IUIAutomation5* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation5_CreateOrCondition(IUIAutomation5* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation5_CreateOrConditionFromArray(IUIAutomation5* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation5_CreateOrConditionFromNativeArray(IUIAutomation5* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation5_CreateNotCondition(IUIAutomation5* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation5_AddAutomationEventHandler(IUIAutomation5* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveAutomationEventHandler(IUIAutomation5* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation5_AddPropertyChangedEventHandlerNativeArray(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation5_AddPropertyChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation5_RemovePropertyChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation5_AddStructureChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveStructureChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation5_AddFocusChangedEventHandler(IUIAutomation5* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveFocusChangedEventHandler(IUIAutomation5* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation5_RemoveAllEventHandlers(IUIAutomation5* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation5_IntNativeArrayToSafeArray(IUIAutomation5* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation5_IntSafeArrayToNativeArray(IUIAutomation5* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation5_RectToVariant(IUIAutomation5* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation5_VariantToRect(IUIAutomation5* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation5_SafeArrayToRectNativeArray(IUIAutomation5* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation5_CreateProxyFactoryEntry(IUIAutomation5* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation5_get_ProxyFactoryMapping(IUIAutomation5* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation5_GetPropertyProgrammaticName(IUIAutomation5* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation5_GetPatternProgrammaticName(IUIAutomation5* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation5_PollForPotentialSupportedPatterns(IUIAutomation5* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation5_PollForPotentialSupportedProperties(IUIAutomation5* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation5_CheckNotSupported(IUIAutomation5* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation5_get_ReservedNotSupportedValue(IUIAutomation5* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation5_get_ReservedMixedAttributeValue(IUIAutomation5* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation5_ElementFromIAccessible(IUIAutomation5* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation5_ElementFromIAccessibleBuildCache(IUIAutomation5* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +/*** IUIAutomation2 methods ***/ +static inline HRESULT IUIAutomation5_get_AutoSetFocus(IUIAutomation5* This,WINBOOL *autoSetFocus) { + return This->lpVtbl->get_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation5_put_AutoSetFocus(IUIAutomation5* This,WINBOOL autoSetFocus) { + return This->lpVtbl->put_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation5_get_ConnectionTimeout(IUIAutomation5* This,DWORD *timeout) { + return This->lpVtbl->get_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation5_put_ConnectionTimeout(IUIAutomation5* This,DWORD timeout) { + return This->lpVtbl->put_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation5_get_TransactionTimeout(IUIAutomation5* This,DWORD *timeout) { + return This->lpVtbl->get_TransactionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation5_put_TransactionTimeout(IUIAutomation5* This,DWORD timeout) { + return This->lpVtbl->put_TransactionTimeout(This,timeout); +} +/*** IUIAutomation3 methods ***/ +static inline HRESULT IUIAutomation5_AddTextEditTextChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,enum TextEditChangeType textEditChangeType,IUIAutomationCacheRequest *cacheRequest,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveTextEditTextChangedEventHandler(IUIAutomation5* This,IUIAutomationElement *element,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler); +} +/*** IUIAutomation4 methods ***/ +static inline HRESULT IUIAutomation5_AddChangesEventHandler(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,int *changeTypes,int changesCount,IUIAutomationCacheRequest *pCacheRequest,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveChangesEventHandler(IUIAutomation5* This,IUIAutomationElement *element,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->RemoveChangesEventHandler(This,element,handler); +} +/*** IUIAutomation5 methods ***/ +static inline HRESULT IUIAutomation5_AddNotificationEventHandler(IUIAutomation5* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationNotificationEventHandler *handler) { + return This->lpVtbl->AddNotificationEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation5_RemoveNotificationEventHandler(IUIAutomation5* This,IUIAutomationElement *element,IUIAutomationNotificationEventHandler *handler) { + return This->lpVtbl->RemoveNotificationEventHandler(This,element,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation5_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomation6 interface + */ +#ifndef __IUIAutomation6_INTERFACE_DEFINED__ +#define __IUIAutomation6_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomation6, 0xaae072da, 0x29e3, 0x413d, 0x87,0xa7, 0x19,0x2d,0xbf,0x81,0xed,0x10); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aae072da-29e3-413d-87a7-192dbf81ed10") +IUIAutomation6 : public IUIAutomation5 +{ + virtual HRESULT STDMETHODCALLTYPE CreateEventHandlerGroup( + IUIAutomationEventHandlerGroup **handlerGroup) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddEventHandlerGroup( + IUIAutomationElement *element, + IUIAutomationEventHandlerGroup *handlerGroup) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveEventHandlerGroup( + IUIAutomationElement *element, + IUIAutomationEventHandlerGroup *handlerGroup) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConnectionRecoveryBehavior( + enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ConnectionRecoveryBehavior( + enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CoalesceEvents( + enum CoalesceEventsOptions *coalesceEventsOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CoalesceEvents( + enum CoalesceEventsOptions coalesceEventsOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddActiveTextPositionChangedEventHandler( + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationActiveTextPositionChangedEventHandler *handler) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveActiveTextPositionChangedEventHandler( + IUIAutomationElement *element, + IUIAutomationActiveTextPositionChangedEventHandler *handler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomation6, 0xaae072da, 0x29e3, 0x413d, 0x87,0xa7, 0x19,0x2d,0xbf,0x81,0xed,0x10) +#endif +#else +typedef struct IUIAutomation6Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomation6 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomation6 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomation6 *This); + + /*** IUIAutomation methods ***/ + HRESULT (STDMETHODCALLTYPE *CompareElements)( + IUIAutomation6 *This, + IUIAutomationElement *el1, + IUIAutomationElement *el2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *CompareRuntimeIds)( + IUIAutomation6 *This, + SAFEARRAY *runtimeId1, + SAFEARRAY *runtimeId2, + WINBOOL *areSame); + + HRESULT (STDMETHODCALLTYPE *GetRootElement)( + IUIAutomation6 *This, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandle)( + IUIAutomation6 *This, + UIA_HWND hwnd, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPoint)( + IUIAutomation6 *This, + POINT pt, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElement)( + IUIAutomation6 *This, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetRootElementBuildCache)( + IUIAutomation6 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **root); + + HRESULT (STDMETHODCALLTYPE *ElementFromHandleBuildCache)( + IUIAutomation6 *This, + UIA_HWND hwnd, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromPointBuildCache)( + IUIAutomation6 *This, + POINT pt, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *GetFocusedElementBuildCache)( + IUIAutomation6 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *CreateTreeWalker)( + IUIAutomation6 *This, + IUIAutomationCondition *pCondition, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewWalker)( + IUIAutomation6 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewWalker)( + IUIAutomation6 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewWalker)( + IUIAutomation6 *This, + IUIAutomationTreeWalker **walker); + + HRESULT (STDMETHODCALLTYPE *get_RawViewCondition)( + IUIAutomation6 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ControlViewCondition)( + IUIAutomation6 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *get_ContentViewCondition)( + IUIAutomation6 *This, + IUIAutomationCondition **condition); + + HRESULT (STDMETHODCALLTYPE *CreateCacheRequest)( + IUIAutomation6 *This, + IUIAutomationCacheRequest **cacheRequest); + + HRESULT (STDMETHODCALLTYPE *CreateTrueCondition)( + IUIAutomation6 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateFalseCondition)( + IUIAutomation6 *This, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyCondition)( + IUIAutomation6 *This, + PROPERTYID propertyId, + VARIANT value, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreatePropertyConditionEx)( + IUIAutomation6 *This, + PROPERTYID propertyId, + VARIANT value, + enum PropertyConditionFlags flags, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndCondition)( + IUIAutomation6 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromArray)( + IUIAutomation6 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateAndConditionFromNativeArray)( + IUIAutomation6 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrCondition)( + IUIAutomation6 *This, + IUIAutomationCondition *condition1, + IUIAutomationCondition *condition2, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromArray)( + IUIAutomation6 *This, + SAFEARRAY *conditions, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateOrConditionFromNativeArray)( + IUIAutomation6 *This, + IUIAutomationCondition **conditions, + int conditionCount, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *CreateNotCondition)( + IUIAutomation6 *This, + IUIAutomationCondition *condition, + IUIAutomationCondition **newCondition); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEventHandler)( + IUIAutomation6 *This, + EVENTID eventId, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAutomationEventHandler)( + IUIAutomation6 *This, + EVENTID eventId, + IUIAutomationElement *element, + IUIAutomationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandlerNativeArray)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + PROPERTYID *propertyArray, + int propertyCount); + + HRESULT (STDMETHODCALLTYPE *AddPropertyChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationPropertyChangedEventHandler *handler, + SAFEARRAY *propertyArray); + + HRESULT (STDMETHODCALLTYPE *RemovePropertyChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationPropertyChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveStructureChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationStructureChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *AddFocusChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveFocusChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationFocusChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveAllEventHandlers)( + IUIAutomation6 *This); + + HRESULT (STDMETHODCALLTYPE *IntNativeArrayToSafeArray)( + IUIAutomation6 *This, + int *array, + int arrayCount, + SAFEARRAY **safeArray); + + HRESULT (STDMETHODCALLTYPE *IntSafeArrayToNativeArray)( + IUIAutomation6 *This, + SAFEARRAY *intArray, + int **array, + int *arrayCount); + + HRESULT (STDMETHODCALLTYPE *RectToVariant)( + IUIAutomation6 *This, + RECT rc, + VARIANT *var); + + HRESULT (STDMETHODCALLTYPE *VariantToRect)( + IUIAutomation6 *This, + VARIANT var, + RECT *rc); + + HRESULT (STDMETHODCALLTYPE *SafeArrayToRectNativeArray)( + IUIAutomation6 *This, + SAFEARRAY *rects, + RECT **rectArray, + int *rectArrayCount); + + HRESULT (STDMETHODCALLTYPE *CreateProxyFactoryEntry)( + IUIAutomation6 *This, + IUIAutomationProxyFactory *factory, + IUIAutomationProxyFactoryEntry **factoryEntry); + + HRESULT (STDMETHODCALLTYPE *get_ProxyFactoryMapping)( + IUIAutomation6 *This, + IUIAutomationProxyFactoryMapping **factoryMapping); + + HRESULT (STDMETHODCALLTYPE *GetPropertyProgrammaticName)( + IUIAutomation6 *This, + PROPERTYID property, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetPatternProgrammaticName)( + IUIAutomation6 *This, + PATTERNID pattern, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedPatterns)( + IUIAutomation6 *This, + IUIAutomationElement *pElement, + SAFEARRAY **patternIds, + SAFEARRAY **patternNames); + + HRESULT (STDMETHODCALLTYPE *PollForPotentialSupportedProperties)( + IUIAutomation6 *This, + IUIAutomationElement *pElement, + SAFEARRAY **propertyIds, + SAFEARRAY **propertyNames); + + HRESULT (STDMETHODCALLTYPE *CheckNotSupported)( + IUIAutomation6 *This, + VARIANT value, + WINBOOL *isNotSupported); + + HRESULT (STDMETHODCALLTYPE *get_ReservedNotSupportedValue)( + IUIAutomation6 *This, + IUnknown **notSupportedValue); + + HRESULT (STDMETHODCALLTYPE *get_ReservedMixedAttributeValue)( + IUIAutomation6 *This, + IUnknown **mixedAttributeValue); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessible)( + IUIAutomation6 *This, + IAccessible *accessible, + int childId, + IUIAutomationElement **element); + + HRESULT (STDMETHODCALLTYPE *ElementFromIAccessibleBuildCache)( + IUIAutomation6 *This, + IAccessible *accessible, + int childId, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationElement **element); + + /*** IUIAutomation2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AutoSetFocus)( + IUIAutomation6 *This, + WINBOOL *autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *put_AutoSetFocus)( + IUIAutomation6 *This, + WINBOOL autoSetFocus); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionTimeout)( + IUIAutomation6 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionTimeout)( + IUIAutomation6 *This, + DWORD timeout); + + HRESULT (STDMETHODCALLTYPE *get_TransactionTimeout)( + IUIAutomation6 *This, + DWORD *timeout); + + HRESULT (STDMETHODCALLTYPE *put_TransactionTimeout)( + IUIAutomation6 *This, + DWORD timeout); + + /*** IUIAutomation3 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddTextEditTextChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + enum TextEditChangeType textEditChangeType, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationTextEditTextChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveTextEditTextChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationTextEditTextChangedEventHandler *handler); + + /*** IUIAutomation4 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddChangesEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + int *changeTypes, + int changesCount, + IUIAutomationCacheRequest *pCacheRequest, + IUIAutomationChangesEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveChangesEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationChangesEventHandler *handler); + + /*** IUIAutomation5 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddNotificationEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationNotificationEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveNotificationEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationNotificationEventHandler *handler); + + /*** IUIAutomation6 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateEventHandlerGroup)( + IUIAutomation6 *This, + IUIAutomationEventHandlerGroup **handlerGroup); + + HRESULT (STDMETHODCALLTYPE *AddEventHandlerGroup)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationEventHandlerGroup *handlerGroup); + + HRESULT (STDMETHODCALLTYPE *RemoveEventHandlerGroup)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationEventHandlerGroup *handlerGroup); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionRecoveryBehavior)( + IUIAutomation6 *This, + enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions); + + HRESULT (STDMETHODCALLTYPE *put_ConnectionRecoveryBehavior)( + IUIAutomation6 *This, + enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions); + + HRESULT (STDMETHODCALLTYPE *get_CoalesceEvents)( + IUIAutomation6 *This, + enum CoalesceEventsOptions *coalesceEventsOptions); + + HRESULT (STDMETHODCALLTYPE *put_CoalesceEvents)( + IUIAutomation6 *This, + enum CoalesceEventsOptions coalesceEventsOptions); + + HRESULT (STDMETHODCALLTYPE *AddActiveTextPositionChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + enum TreeScope scope, + IUIAutomationCacheRequest *cacheRequest, + IUIAutomationActiveTextPositionChangedEventHandler *handler); + + HRESULT (STDMETHODCALLTYPE *RemoveActiveTextPositionChangedEventHandler)( + IUIAutomation6 *This, + IUIAutomationElement *element, + IUIAutomationActiveTextPositionChangedEventHandler *handler); + + END_INTERFACE +} IUIAutomation6Vtbl; + +interface IUIAutomation6 { + CONST_VTBL IUIAutomation6Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomation6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomation6_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomation6_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomation methods ***/ +#define IUIAutomation6_CompareElements(This,el1,el2,areSame) (This)->lpVtbl->CompareElements(This,el1,el2,areSame) +#define IUIAutomation6_CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) (This)->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame) +#define IUIAutomation6_GetRootElement(This,root) (This)->lpVtbl->GetRootElement(This,root) +#define IUIAutomation6_ElementFromHandle(This,hwnd,element) (This)->lpVtbl->ElementFromHandle(This,hwnd,element) +#define IUIAutomation6_ElementFromPoint(This,pt,element) (This)->lpVtbl->ElementFromPoint(This,pt,element) +#define IUIAutomation6_GetFocusedElement(This,element) (This)->lpVtbl->GetFocusedElement(This,element) +#define IUIAutomation6_GetRootElementBuildCache(This,cacheRequest,root) (This)->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root) +#define IUIAutomation6_ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) (This)->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element) +#define IUIAutomation6_ElementFromPointBuildCache(This,pt,cacheRequest,element) (This)->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element) +#define IUIAutomation6_GetFocusedElementBuildCache(This,cacheRequest,element) (This)->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element) +#define IUIAutomation6_CreateTreeWalker(This,pCondition,walker) (This)->lpVtbl->CreateTreeWalker(This,pCondition,walker) +#define IUIAutomation6_get_ControlViewWalker(This,walker) (This)->lpVtbl->get_ControlViewWalker(This,walker) +#define IUIAutomation6_get_ContentViewWalker(This,walker) (This)->lpVtbl->get_ContentViewWalker(This,walker) +#define IUIAutomation6_get_RawViewWalker(This,walker) (This)->lpVtbl->get_RawViewWalker(This,walker) +#define IUIAutomation6_get_RawViewCondition(This,condition) (This)->lpVtbl->get_RawViewCondition(This,condition) +#define IUIAutomation6_get_ControlViewCondition(This,condition) (This)->lpVtbl->get_ControlViewCondition(This,condition) +#define IUIAutomation6_get_ContentViewCondition(This,condition) (This)->lpVtbl->get_ContentViewCondition(This,condition) +#define IUIAutomation6_CreateCacheRequest(This,cacheRequest) (This)->lpVtbl->CreateCacheRequest(This,cacheRequest) +#define IUIAutomation6_CreateTrueCondition(This,newCondition) (This)->lpVtbl->CreateTrueCondition(This,newCondition) +#define IUIAutomation6_CreateFalseCondition(This,newCondition) (This)->lpVtbl->CreateFalseCondition(This,newCondition) +#define IUIAutomation6_CreatePropertyCondition(This,propertyId,value,newCondition) (This)->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition) +#define IUIAutomation6_CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) (This)->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition) +#define IUIAutomation6_CreateAndCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition) +#define IUIAutomation6_CreateAndConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition) +#define IUIAutomation6_CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation6_CreateOrCondition(This,condition1,condition2,newCondition) (This)->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition) +#define IUIAutomation6_CreateOrConditionFromArray(This,conditions,newCondition) (This)->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition) +#define IUIAutomation6_CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) (This)->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition) +#define IUIAutomation6_CreateNotCondition(This,condition,newCondition) (This)->lpVtbl->CreateNotCondition(This,condition,newCondition) +#define IUIAutomation6_AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) (This)->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler) +#define IUIAutomation6_RemoveAutomationEventHandler(This,eventId,element,handler) (This)->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler) +#define IUIAutomation6_AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) (This)->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount) +#define IUIAutomation6_AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) (This)->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray) +#define IUIAutomation6_RemovePropertyChangedEventHandler(This,element,handler) (This)->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler) +#define IUIAutomation6_AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation6_RemoveStructureChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler) +#define IUIAutomation6_AddFocusChangedEventHandler(This,cacheRequest,handler) (This)->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler) +#define IUIAutomation6_RemoveFocusChangedEventHandler(This,handler) (This)->lpVtbl->RemoveFocusChangedEventHandler(This,handler) +#define IUIAutomation6_RemoveAllEventHandlers(This) (This)->lpVtbl->RemoveAllEventHandlers(This) +#define IUIAutomation6_IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) (This)->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray) +#define IUIAutomation6_IntSafeArrayToNativeArray(This,intArray,array,arrayCount) (This)->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount) +#define IUIAutomation6_RectToVariant(This,rc,var) (This)->lpVtbl->RectToVariant(This,rc,var) +#define IUIAutomation6_VariantToRect(This,var,rc) (This)->lpVtbl->VariantToRect(This,var,rc) +#define IUIAutomation6_SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) (This)->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount) +#define IUIAutomation6_CreateProxyFactoryEntry(This,factory,factoryEntry) (This)->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry) +#define IUIAutomation6_get_ProxyFactoryMapping(This,factoryMapping) (This)->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping) +#define IUIAutomation6_GetPropertyProgrammaticName(This,property,name) (This)->lpVtbl->GetPropertyProgrammaticName(This,property,name) +#define IUIAutomation6_GetPatternProgrammaticName(This,pattern,name) (This)->lpVtbl->GetPatternProgrammaticName(This,pattern,name) +#define IUIAutomation6_PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) (This)->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames) +#define IUIAutomation6_PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) (This)->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames) +#define IUIAutomation6_CheckNotSupported(This,value,isNotSupported) (This)->lpVtbl->CheckNotSupported(This,value,isNotSupported) +#define IUIAutomation6_get_ReservedNotSupportedValue(This,notSupportedValue) (This)->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue) +#define IUIAutomation6_get_ReservedMixedAttributeValue(This,mixedAttributeValue) (This)->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue) +#define IUIAutomation6_ElementFromIAccessible(This,accessible,childId,element) (This)->lpVtbl->ElementFromIAccessible(This,accessible,childId,element) +#define IUIAutomation6_ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) (This)->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element) +/*** IUIAutomation2 methods ***/ +#define IUIAutomation6_get_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->get_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation6_put_AutoSetFocus(This,autoSetFocus) (This)->lpVtbl->put_AutoSetFocus(This,autoSetFocus) +#define IUIAutomation6_get_ConnectionTimeout(This,timeout) (This)->lpVtbl->get_ConnectionTimeout(This,timeout) +#define IUIAutomation6_put_ConnectionTimeout(This,timeout) (This)->lpVtbl->put_ConnectionTimeout(This,timeout) +#define IUIAutomation6_get_TransactionTimeout(This,timeout) (This)->lpVtbl->get_TransactionTimeout(This,timeout) +#define IUIAutomation6_put_TransactionTimeout(This,timeout) (This)->lpVtbl->put_TransactionTimeout(This,timeout) +/*** IUIAutomation3 methods ***/ +#define IUIAutomation6_AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) (This)->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler) +#define IUIAutomation6_RemoveTextEditTextChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler) +/*** IUIAutomation4 methods ***/ +#define IUIAutomation6_AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) (This)->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler) +#define IUIAutomation6_RemoveChangesEventHandler(This,element,handler) (This)->lpVtbl->RemoveChangesEventHandler(This,element,handler) +/*** IUIAutomation5 methods ***/ +#define IUIAutomation6_AddNotificationEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddNotificationEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation6_RemoveNotificationEventHandler(This,element,handler) (This)->lpVtbl->RemoveNotificationEventHandler(This,element,handler) +/*** IUIAutomation6 methods ***/ +#define IUIAutomation6_CreateEventHandlerGroup(This,handlerGroup) (This)->lpVtbl->CreateEventHandlerGroup(This,handlerGroup) +#define IUIAutomation6_AddEventHandlerGroup(This,element,handlerGroup) (This)->lpVtbl->AddEventHandlerGroup(This,element,handlerGroup) +#define IUIAutomation6_RemoveEventHandlerGroup(This,element,handlerGroup) (This)->lpVtbl->RemoveEventHandlerGroup(This,element,handlerGroup) +#define IUIAutomation6_get_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions) (This)->lpVtbl->get_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions) +#define IUIAutomation6_put_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions) (This)->lpVtbl->put_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions) +#define IUIAutomation6_get_CoalesceEvents(This,coalesceEventsOptions) (This)->lpVtbl->get_CoalesceEvents(This,coalesceEventsOptions) +#define IUIAutomation6_put_CoalesceEvents(This,coalesceEventsOptions) (This)->lpVtbl->put_CoalesceEvents(This,coalesceEventsOptions) +#define IUIAutomation6_AddActiveTextPositionChangedEventHandler(This,element,scope,cacheRequest,handler) (This)->lpVtbl->AddActiveTextPositionChangedEventHandler(This,element,scope,cacheRequest,handler) +#define IUIAutomation6_RemoveActiveTextPositionChangedEventHandler(This,element,handler) (This)->lpVtbl->RemoveActiveTextPositionChangedEventHandler(This,element,handler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomation6_QueryInterface(IUIAutomation6* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomation6_AddRef(IUIAutomation6* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomation6_Release(IUIAutomation6* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomation methods ***/ +static inline HRESULT IUIAutomation6_CompareElements(IUIAutomation6* This,IUIAutomationElement *el1,IUIAutomationElement *el2,WINBOOL *areSame) { + return This->lpVtbl->CompareElements(This,el1,el2,areSame); +} +static inline HRESULT IUIAutomation6_CompareRuntimeIds(IUIAutomation6* This,SAFEARRAY *runtimeId1,SAFEARRAY *runtimeId2,WINBOOL *areSame) { + return This->lpVtbl->CompareRuntimeIds(This,runtimeId1,runtimeId2,areSame); +} +static inline HRESULT IUIAutomation6_GetRootElement(IUIAutomation6* This,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElement(This,root); +} +static inline HRESULT IUIAutomation6_ElementFromHandle(IUIAutomation6* This,UIA_HWND hwnd,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandle(This,hwnd,element); +} +static inline HRESULT IUIAutomation6_ElementFromPoint(IUIAutomation6* This,POINT pt,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPoint(This,pt,element); +} +static inline HRESULT IUIAutomation6_GetFocusedElement(IUIAutomation6* This,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElement(This,element); +} +static inline HRESULT IUIAutomation6_GetRootElementBuildCache(IUIAutomation6* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **root) { + return This->lpVtbl->GetRootElementBuildCache(This,cacheRequest,root); +} +static inline HRESULT IUIAutomation6_ElementFromHandleBuildCache(IUIAutomation6* This,UIA_HWND hwnd,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromHandleBuildCache(This,hwnd,cacheRequest,element); +} +static inline HRESULT IUIAutomation6_ElementFromPointBuildCache(IUIAutomation6* This,POINT pt,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromPointBuildCache(This,pt,cacheRequest,element); +} +static inline HRESULT IUIAutomation6_GetFocusedElementBuildCache(IUIAutomation6* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->GetFocusedElementBuildCache(This,cacheRequest,element); +} +static inline HRESULT IUIAutomation6_CreateTreeWalker(IUIAutomation6* This,IUIAutomationCondition *pCondition,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->CreateTreeWalker(This,pCondition,walker); +} +static inline HRESULT IUIAutomation6_get_ControlViewWalker(IUIAutomation6* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ControlViewWalker(This,walker); +} +static inline HRESULT IUIAutomation6_get_ContentViewWalker(IUIAutomation6* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_ContentViewWalker(This,walker); +} +static inline HRESULT IUIAutomation6_get_RawViewWalker(IUIAutomation6* This,IUIAutomationTreeWalker **walker) { + return This->lpVtbl->get_RawViewWalker(This,walker); +} +static inline HRESULT IUIAutomation6_get_RawViewCondition(IUIAutomation6* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_RawViewCondition(This,condition); +} +static inline HRESULT IUIAutomation6_get_ControlViewCondition(IUIAutomation6* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ControlViewCondition(This,condition); +} +static inline HRESULT IUIAutomation6_get_ContentViewCondition(IUIAutomation6* This,IUIAutomationCondition **condition) { + return This->lpVtbl->get_ContentViewCondition(This,condition); +} +static inline HRESULT IUIAutomation6_CreateCacheRequest(IUIAutomation6* This,IUIAutomationCacheRequest **cacheRequest) { + return This->lpVtbl->CreateCacheRequest(This,cacheRequest); +} +static inline HRESULT IUIAutomation6_CreateTrueCondition(IUIAutomation6* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateTrueCondition(This,newCondition); +} +static inline HRESULT IUIAutomation6_CreateFalseCondition(IUIAutomation6* This,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateFalseCondition(This,newCondition); +} +static inline HRESULT IUIAutomation6_CreatePropertyCondition(IUIAutomation6* This,PROPERTYID propertyId,VARIANT value,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyCondition(This,propertyId,value,newCondition); +} +static inline HRESULT IUIAutomation6_CreatePropertyConditionEx(IUIAutomation6* This,PROPERTYID propertyId,VARIANT value,enum PropertyConditionFlags flags,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreatePropertyConditionEx(This,propertyId,value,flags,newCondition); +} +static inline HRESULT IUIAutomation6_CreateAndCondition(IUIAutomation6* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation6_CreateAndConditionFromArray(IUIAutomation6* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation6_CreateAndConditionFromNativeArray(IUIAutomation6* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateAndConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation6_CreateOrCondition(IUIAutomation6* This,IUIAutomationCondition *condition1,IUIAutomationCondition *condition2,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrCondition(This,condition1,condition2,newCondition); +} +static inline HRESULT IUIAutomation6_CreateOrConditionFromArray(IUIAutomation6* This,SAFEARRAY *conditions,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromArray(This,conditions,newCondition); +} +static inline HRESULT IUIAutomation6_CreateOrConditionFromNativeArray(IUIAutomation6* This,IUIAutomationCondition **conditions,int conditionCount,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateOrConditionFromNativeArray(This,conditions,conditionCount,newCondition); +} +static inline HRESULT IUIAutomation6_CreateNotCondition(IUIAutomation6* This,IUIAutomationCondition *condition,IUIAutomationCondition **newCondition) { + return This->lpVtbl->CreateNotCondition(This,condition,newCondition); +} +static inline HRESULT IUIAutomation6_AddAutomationEventHandler(IUIAutomation6* This,EVENTID eventId,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationEventHandler *handler) { + return This->lpVtbl->AddAutomationEventHandler(This,eventId,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveAutomationEventHandler(IUIAutomation6* This,EVENTID eventId,IUIAutomationElement *element,IUIAutomationEventHandler *handler) { + return This->lpVtbl->RemoveAutomationEventHandler(This,eventId,element,handler); +} +static inline HRESULT IUIAutomation6_AddPropertyChangedEventHandlerNativeArray(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,PROPERTYID *propertyArray,int propertyCount) { + return This->lpVtbl->AddPropertyChangedEventHandlerNativeArray(This,element,scope,cacheRequest,handler,propertyArray,propertyCount); +} +static inline HRESULT IUIAutomation6_AddPropertyChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationPropertyChangedEventHandler *handler,SAFEARRAY *propertyArray) { + return This->lpVtbl->AddPropertyChangedEventHandler(This,element,scope,cacheRequest,handler,propertyArray); +} +static inline HRESULT IUIAutomation6_RemovePropertyChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationPropertyChangedEventHandler *handler) { + return This->lpVtbl->RemovePropertyChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation6_AddStructureChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->AddStructureChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveStructureChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationStructureChangedEventHandler *handler) { + return This->lpVtbl->RemoveStructureChangedEventHandler(This,element,handler); +} +static inline HRESULT IUIAutomation6_AddFocusChangedEventHandler(IUIAutomation6* This,IUIAutomationCacheRequest *cacheRequest,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->AddFocusChangedEventHandler(This,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveFocusChangedEventHandler(IUIAutomation6* This,IUIAutomationFocusChangedEventHandler *handler) { + return This->lpVtbl->RemoveFocusChangedEventHandler(This,handler); +} +static inline HRESULT IUIAutomation6_RemoveAllEventHandlers(IUIAutomation6* This) { + return This->lpVtbl->RemoveAllEventHandlers(This); +} +static inline HRESULT IUIAutomation6_IntNativeArrayToSafeArray(IUIAutomation6* This,int *array,int arrayCount,SAFEARRAY **safeArray) { + return This->lpVtbl->IntNativeArrayToSafeArray(This,array,arrayCount,safeArray); +} +static inline HRESULT IUIAutomation6_IntSafeArrayToNativeArray(IUIAutomation6* This,SAFEARRAY *intArray,int **array,int *arrayCount) { + return This->lpVtbl->IntSafeArrayToNativeArray(This,intArray,array,arrayCount); +} +static inline HRESULT IUIAutomation6_RectToVariant(IUIAutomation6* This,RECT rc,VARIANT *var) { + return This->lpVtbl->RectToVariant(This,rc,var); +} +static inline HRESULT IUIAutomation6_VariantToRect(IUIAutomation6* This,VARIANT var,RECT *rc) { + return This->lpVtbl->VariantToRect(This,var,rc); +} +static inline HRESULT IUIAutomation6_SafeArrayToRectNativeArray(IUIAutomation6* This,SAFEARRAY *rects,RECT **rectArray,int *rectArrayCount) { + return This->lpVtbl->SafeArrayToRectNativeArray(This,rects,rectArray,rectArrayCount); +} +static inline HRESULT IUIAutomation6_CreateProxyFactoryEntry(IUIAutomation6* This,IUIAutomationProxyFactory *factory,IUIAutomationProxyFactoryEntry **factoryEntry) { + return This->lpVtbl->CreateProxyFactoryEntry(This,factory,factoryEntry); +} +static inline HRESULT IUIAutomation6_get_ProxyFactoryMapping(IUIAutomation6* This,IUIAutomationProxyFactoryMapping **factoryMapping) { + return This->lpVtbl->get_ProxyFactoryMapping(This,factoryMapping); +} +static inline HRESULT IUIAutomation6_GetPropertyProgrammaticName(IUIAutomation6* This,PROPERTYID property,BSTR *name) { + return This->lpVtbl->GetPropertyProgrammaticName(This,property,name); +} +static inline HRESULT IUIAutomation6_GetPatternProgrammaticName(IUIAutomation6* This,PATTERNID pattern,BSTR *name) { + return This->lpVtbl->GetPatternProgrammaticName(This,pattern,name); +} +static inline HRESULT IUIAutomation6_PollForPotentialSupportedPatterns(IUIAutomation6* This,IUIAutomationElement *pElement,SAFEARRAY **patternIds,SAFEARRAY **patternNames) { + return This->lpVtbl->PollForPotentialSupportedPatterns(This,pElement,patternIds,patternNames); +} +static inline HRESULT IUIAutomation6_PollForPotentialSupportedProperties(IUIAutomation6* This,IUIAutomationElement *pElement,SAFEARRAY **propertyIds,SAFEARRAY **propertyNames) { + return This->lpVtbl->PollForPotentialSupportedProperties(This,pElement,propertyIds,propertyNames); +} +static inline HRESULT IUIAutomation6_CheckNotSupported(IUIAutomation6* This,VARIANT value,WINBOOL *isNotSupported) { + return This->lpVtbl->CheckNotSupported(This,value,isNotSupported); +} +static inline HRESULT IUIAutomation6_get_ReservedNotSupportedValue(IUIAutomation6* This,IUnknown **notSupportedValue) { + return This->lpVtbl->get_ReservedNotSupportedValue(This,notSupportedValue); +} +static inline HRESULT IUIAutomation6_get_ReservedMixedAttributeValue(IUIAutomation6* This,IUnknown **mixedAttributeValue) { + return This->lpVtbl->get_ReservedMixedAttributeValue(This,mixedAttributeValue); +} +static inline HRESULT IUIAutomation6_ElementFromIAccessible(IUIAutomation6* This,IAccessible *accessible,int childId,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessible(This,accessible,childId,element); +} +static inline HRESULT IUIAutomation6_ElementFromIAccessibleBuildCache(IUIAutomation6* This,IAccessible *accessible,int childId,IUIAutomationCacheRequest *cacheRequest,IUIAutomationElement **element) { + return This->lpVtbl->ElementFromIAccessibleBuildCache(This,accessible,childId,cacheRequest,element); +} +/*** IUIAutomation2 methods ***/ +static inline HRESULT IUIAutomation6_get_AutoSetFocus(IUIAutomation6* This,WINBOOL *autoSetFocus) { + return This->lpVtbl->get_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation6_put_AutoSetFocus(IUIAutomation6* This,WINBOOL autoSetFocus) { + return This->lpVtbl->put_AutoSetFocus(This,autoSetFocus); +} +static inline HRESULT IUIAutomation6_get_ConnectionTimeout(IUIAutomation6* This,DWORD *timeout) { + return This->lpVtbl->get_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation6_put_ConnectionTimeout(IUIAutomation6* This,DWORD timeout) { + return This->lpVtbl->put_ConnectionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation6_get_TransactionTimeout(IUIAutomation6* This,DWORD *timeout) { + return This->lpVtbl->get_TransactionTimeout(This,timeout); +} +static inline HRESULT IUIAutomation6_put_TransactionTimeout(IUIAutomation6* This,DWORD timeout) { + return This->lpVtbl->put_TransactionTimeout(This,timeout); +} +/*** IUIAutomation3 methods ***/ +static inline HRESULT IUIAutomation6_AddTextEditTextChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,enum TextEditChangeType textEditChangeType,IUIAutomationCacheRequest *cacheRequest,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->AddTextEditTextChangedEventHandler(This,element,scope,textEditChangeType,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveTextEditTextChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationTextEditTextChangedEventHandler *handler) { + return This->lpVtbl->RemoveTextEditTextChangedEventHandler(This,element,handler); +} +/*** IUIAutomation4 methods ***/ +static inline HRESULT IUIAutomation6_AddChangesEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,int *changeTypes,int changesCount,IUIAutomationCacheRequest *pCacheRequest,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->AddChangesEventHandler(This,element,scope,changeTypes,changesCount,pCacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveChangesEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationChangesEventHandler *handler) { + return This->lpVtbl->RemoveChangesEventHandler(This,element,handler); +} +/*** IUIAutomation5 methods ***/ +static inline HRESULT IUIAutomation6_AddNotificationEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationNotificationEventHandler *handler) { + return This->lpVtbl->AddNotificationEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveNotificationEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationNotificationEventHandler *handler) { + return This->lpVtbl->RemoveNotificationEventHandler(This,element,handler); +} +/*** IUIAutomation6 methods ***/ +static inline HRESULT IUIAutomation6_CreateEventHandlerGroup(IUIAutomation6* This,IUIAutomationEventHandlerGroup **handlerGroup) { + return This->lpVtbl->CreateEventHandlerGroup(This,handlerGroup); +} +static inline HRESULT IUIAutomation6_AddEventHandlerGroup(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationEventHandlerGroup *handlerGroup) { + return This->lpVtbl->AddEventHandlerGroup(This,element,handlerGroup); +} +static inline HRESULT IUIAutomation6_RemoveEventHandlerGroup(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationEventHandlerGroup *handlerGroup) { + return This->lpVtbl->RemoveEventHandlerGroup(This,element,handlerGroup); +} +static inline HRESULT IUIAutomation6_get_ConnectionRecoveryBehavior(IUIAutomation6* This,enum ConnectionRecoveryBehaviorOptions *connectionRecoveryBehaviorOptions) { + return This->lpVtbl->get_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions); +} +static inline HRESULT IUIAutomation6_put_ConnectionRecoveryBehavior(IUIAutomation6* This,enum ConnectionRecoveryBehaviorOptions connectionRecoveryBehaviorOptions) { + return This->lpVtbl->put_ConnectionRecoveryBehavior(This,connectionRecoveryBehaviorOptions); +} +static inline HRESULT IUIAutomation6_get_CoalesceEvents(IUIAutomation6* This,enum CoalesceEventsOptions *coalesceEventsOptions) { + return This->lpVtbl->get_CoalesceEvents(This,coalesceEventsOptions); +} +static inline HRESULT IUIAutomation6_put_CoalesceEvents(IUIAutomation6* This,enum CoalesceEventsOptions coalesceEventsOptions) { + return This->lpVtbl->put_CoalesceEvents(This,coalesceEventsOptions); +} +static inline HRESULT IUIAutomation6_AddActiveTextPositionChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,enum TreeScope scope,IUIAutomationCacheRequest *cacheRequest,IUIAutomationActiveTextPositionChangedEventHandler *handler) { + return This->lpVtbl->AddActiveTextPositionChangedEventHandler(This,element,scope,cacheRequest,handler); +} +static inline HRESULT IUIAutomation6_RemoveActiveTextPositionChangedEventHandler(IUIAutomation6* This,IUIAutomationElement *element,IUIAutomationActiveTextPositionChangedEventHandler *handler) { + return This->lpVtbl->RemoveActiveTextPositionChangedEventHandler(This,element,handler); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomation6_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * CUIAutomation coclass + */ + +DEFINE_GUID(CLSID_CUIAutomation, 0xff48dba4, 0x60ef, 0x4201, 0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e); + +#ifdef __cplusplus +class DECLSPEC_UUID("ff48dba4-60ef-4201-aa87-54103eef594e") CUIAutomation; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CUIAutomation, 0xff48dba4, 0x60ef, 0x4201, 0xaa,0x87, 0x54,0x10,0x3e,0xef,0x59,0x4e) +#endif +#endif + +/***************************************************************************** + * CUIAutomation8 coclass + */ + +DEFINE_GUID(CLSID_CUIAutomation8, 0xe22ad333, 0xb25f, 0x460c, 0x83,0xd0, 0x05,0x81,0x10,0x73,0x95,0xc9); + +#ifdef __cplusplus +class DECLSPEC_UUID("e22ad333-b25f-460c-83d0-0581107395c9") CUIAutomation8; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CUIAutomation8, 0xe22ad333, 0xb25f, 0x460c, 0x83,0xd0, 0x05,0x81,0x10,0x73,0x95,0xc9) +#endif +#endif + +#endif /* __UIAutomationClient_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 /* __uiautomationclient_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcore.h new file mode 100644 index 00000000..775e5e25 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcore.h @@ -0,0 +1,6867 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/uiautomationcore.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 __uiautomationcore_h__ +#define __uiautomationcore_h__ + +/* Forward declarations */ + +#ifndef __IRawElementProviderSimple_FWD_DEFINED__ +#define __IRawElementProviderSimple_FWD_DEFINED__ +typedef interface IRawElementProviderSimple IRawElementProviderSimple; +#ifdef __cplusplus +interface IRawElementProviderSimple; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderSimple2_FWD_DEFINED__ +#define __IRawElementProviderSimple2_FWD_DEFINED__ +typedef interface IRawElementProviderSimple2 IRawElementProviderSimple2; +#ifdef __cplusplus +interface IRawElementProviderSimple2; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderSimple3_FWD_DEFINED__ +#define __IRawElementProviderSimple3_FWD_DEFINED__ +typedef interface IRawElementProviderSimple3 IRawElementProviderSimple3; +#ifdef __cplusplus +interface IRawElementProviderSimple3; +#endif /* __cplusplus */ +#endif + +#ifndef __IAccessibleEx_FWD_DEFINED__ +#define __IAccessibleEx_FWD_DEFINED__ +typedef interface IAccessibleEx IAccessibleEx; +#ifdef __cplusplus +interface IAccessibleEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderFragment_FWD_DEFINED__ +#define __IRawElementProviderFragment_FWD_DEFINED__ +typedef interface IRawElementProviderFragment IRawElementProviderFragment; +#ifdef __cplusplus +interface IRawElementProviderFragment; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__ +#define __IRawElementProviderFragmentRoot_FWD_DEFINED__ +typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot; +#ifdef __cplusplus +interface IRawElementProviderFragmentRoot; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderHwndOverride_FWD_DEFINED__ +#define __IRawElementProviderHwndOverride_FWD_DEFINED__ +typedef interface IRawElementProviderHwndOverride IRawElementProviderHwndOverride; +#ifdef __cplusplus +interface IRawElementProviderHwndOverride; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderAdviseEvents_FWD_DEFINED__ +#define __IRawElementProviderAdviseEvents_FWD_DEFINED__ +typedef interface IRawElementProviderAdviseEvents IRawElementProviderAdviseEvents; +#ifdef __cplusplus +interface IRawElementProviderAdviseEvents; +#endif /* __cplusplus */ +#endif + +#ifndef __IProxyProviderWinEventSink_FWD_DEFINED__ +#define __IProxyProviderWinEventSink_FWD_DEFINED__ +typedef interface IProxyProviderWinEventSink IProxyProviderWinEventSink; +#ifdef __cplusplus +interface IProxyProviderWinEventSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IProxyProviderWinEventHandler_FWD_DEFINED__ +#define __IProxyProviderWinEventHandler_FWD_DEFINED__ +typedef interface IProxyProviderWinEventHandler IProxyProviderWinEventHandler; +#ifdef __cplusplus +interface IProxyProviderWinEventHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderWindowlessSite_FWD_DEFINED__ +#define __IRawElementProviderWindowlessSite_FWD_DEFINED__ +typedef interface IRawElementProviderWindowlessSite IRawElementProviderWindowlessSite; +#ifdef __cplusplus +interface IRawElementProviderWindowlessSite; +#endif /* __cplusplus */ +#endif + +#ifndef __IAccessibleHostingElementProviders_FWD_DEFINED__ +#define __IAccessibleHostingElementProviders_FWD_DEFINED__ +typedef interface IAccessibleHostingElementProviders IAccessibleHostingElementProviders; +#ifdef __cplusplus +interface IAccessibleHostingElementProviders; +#endif /* __cplusplus */ +#endif + +#ifndef __IRawElementProviderHostingAccessibles_FWD_DEFINED__ +#define __IRawElementProviderHostingAccessibles_FWD_DEFINED__ +typedef interface IRawElementProviderHostingAccessibles IRawElementProviderHostingAccessibles; +#ifdef __cplusplus +interface IRawElementProviderHostingAccessibles; +#endif /* __cplusplus */ +#endif + +#ifndef __ILegacyIAccessibleProvider_FWD_DEFINED__ +#define __ILegacyIAccessibleProvider_FWD_DEFINED__ +typedef interface ILegacyIAccessibleProvider ILegacyIAccessibleProvider; +#ifdef __cplusplus +interface ILegacyIAccessibleProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IDockProvider_FWD_DEFINED__ +#define __IDockProvider_FWD_DEFINED__ +typedef interface IDockProvider IDockProvider; +#ifdef __cplusplus +interface IDockProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IExpandCollapseProvider_FWD_DEFINED__ +#define __IExpandCollapseProvider_FWD_DEFINED__ +typedef interface IExpandCollapseProvider IExpandCollapseProvider; +#ifdef __cplusplus +interface IExpandCollapseProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IGridProvider_FWD_DEFINED__ +#define __IGridProvider_FWD_DEFINED__ +typedef interface IGridProvider IGridProvider; +#ifdef __cplusplus +interface IGridProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IGridItemProvider_FWD_DEFINED__ +#define __IGridItemProvider_FWD_DEFINED__ +typedef interface IGridItemProvider IGridItemProvider; +#ifdef __cplusplus +interface IGridItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IInvokeProvider_FWD_DEFINED__ +#define __IInvokeProvider_FWD_DEFINED__ +typedef interface IInvokeProvider IInvokeProvider; +#ifdef __cplusplus +interface IInvokeProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IMultipleViewProvider_FWD_DEFINED__ +#define __IMultipleViewProvider_FWD_DEFINED__ +typedef interface IMultipleViewProvider IMultipleViewProvider; +#ifdef __cplusplus +interface IMultipleViewProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IRangeValueProvider_FWD_DEFINED__ +#define __IRangeValueProvider_FWD_DEFINED__ +typedef interface IRangeValueProvider IRangeValueProvider; +#ifdef __cplusplus +interface IRangeValueProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IScrollItemProvider_FWD_DEFINED__ +#define __IScrollItemProvider_FWD_DEFINED__ +typedef interface IScrollItemProvider IScrollItemProvider; +#ifdef __cplusplus +interface IScrollItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISelectionProvider_FWD_DEFINED__ +#define __ISelectionProvider_FWD_DEFINED__ +typedef interface ISelectionProvider ISelectionProvider; +#ifdef __cplusplus +interface ISelectionProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISelectionProvider2_FWD_DEFINED__ +#define __ISelectionProvider2_FWD_DEFINED__ +typedef interface ISelectionProvider2 ISelectionProvider2; +#ifdef __cplusplus +interface ISelectionProvider2; +#endif /* __cplusplus */ +#endif + +#ifndef __IScrollProvider_FWD_DEFINED__ +#define __IScrollProvider_FWD_DEFINED__ +typedef interface IScrollProvider IScrollProvider; +#ifdef __cplusplus +interface IScrollProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISelectionItemProvider_FWD_DEFINED__ +#define __ISelectionItemProvider_FWD_DEFINED__ +typedef interface ISelectionItemProvider ISelectionItemProvider; +#ifdef __cplusplus +interface ISelectionItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISynchronizedInputProvider_FWD_DEFINED__ +#define __ISynchronizedInputProvider_FWD_DEFINED__ +typedef interface ISynchronizedInputProvider ISynchronizedInputProvider; +#ifdef __cplusplus +interface ISynchronizedInputProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITableProvider_FWD_DEFINED__ +#define __ITableProvider_FWD_DEFINED__ +typedef interface ITableProvider ITableProvider; +#ifdef __cplusplus +interface ITableProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITableItemProvider_FWD_DEFINED__ +#define __ITableItemProvider_FWD_DEFINED__ +typedef interface ITableItemProvider ITableItemProvider; +#ifdef __cplusplus +interface ITableItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IToggleProvider_FWD_DEFINED__ +#define __IToggleProvider_FWD_DEFINED__ +typedef interface IToggleProvider IToggleProvider; +#ifdef __cplusplus +interface IToggleProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITransformProvider_FWD_DEFINED__ +#define __ITransformProvider_FWD_DEFINED__ +typedef interface ITransformProvider ITransformProvider; +#ifdef __cplusplus +interface ITransformProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IValueProvider_FWD_DEFINED__ +#define __IValueProvider_FWD_DEFINED__ +typedef interface IValueProvider IValueProvider; +#ifdef __cplusplus +interface IValueProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowProvider_FWD_DEFINED__ +#define __IWindowProvider_FWD_DEFINED__ +typedef interface IWindowProvider IWindowProvider; +#ifdef __cplusplus +interface IWindowProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IItemContainerProvider_FWD_DEFINED__ +#define __IItemContainerProvider_FWD_DEFINED__ +typedef interface IItemContainerProvider IItemContainerProvider; +#ifdef __cplusplus +interface IItemContainerProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IVirtualizedItemProvider_FWD_DEFINED__ +#define __IVirtualizedItemProvider_FWD_DEFINED__ +typedef interface IVirtualizedItemProvider IVirtualizedItemProvider; +#ifdef __cplusplus +interface IVirtualizedItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IObjectModelProvider_FWD_DEFINED__ +#define __IObjectModelProvider_FWD_DEFINED__ +typedef interface IObjectModelProvider IObjectModelProvider; +#ifdef __cplusplus +interface IObjectModelProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IAnnotationProvider_FWD_DEFINED__ +#define __IAnnotationProvider_FWD_DEFINED__ +typedef interface IAnnotationProvider IAnnotationProvider; +#ifdef __cplusplus +interface IAnnotationProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IStylesProvider_FWD_DEFINED__ +#define __IStylesProvider_FWD_DEFINED__ +typedef interface IStylesProvider IStylesProvider; +#ifdef __cplusplus +interface IStylesProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISpreadsheetProvider_FWD_DEFINED__ +#define __ISpreadsheetProvider_FWD_DEFINED__ +typedef interface ISpreadsheetProvider ISpreadsheetProvider; +#ifdef __cplusplus +interface ISpreadsheetProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ISpreadsheetItemProvider_FWD_DEFINED__ +#define __ISpreadsheetItemProvider_FWD_DEFINED__ +typedef interface ISpreadsheetItemProvider ISpreadsheetItemProvider; +#ifdef __cplusplus +interface ISpreadsheetItemProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITransformProvider2_FWD_DEFINED__ +#define __ITransformProvider2_FWD_DEFINED__ +typedef interface ITransformProvider2 ITransformProvider2; +#ifdef __cplusplus +interface ITransformProvider2; +#endif /* __cplusplus */ +#endif + +#ifndef __IDragProvider_FWD_DEFINED__ +#define __IDragProvider_FWD_DEFINED__ +typedef interface IDragProvider IDragProvider; +#ifdef __cplusplus +interface IDragProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IDropTargetProvider_FWD_DEFINED__ +#define __IDropTargetProvider_FWD_DEFINED__ +typedef interface IDropTargetProvider IDropTargetProvider; +#ifdef __cplusplus +interface IDropTargetProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextProvider_FWD_DEFINED__ +#define __ITextProvider_FWD_DEFINED__ +typedef interface ITextProvider ITextProvider; +#ifdef __cplusplus +interface ITextProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextProvider2_FWD_DEFINED__ +#define __ITextProvider2_FWD_DEFINED__ +typedef interface ITextProvider2 ITextProvider2; +#ifdef __cplusplus +interface ITextProvider2; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextEditProvider_FWD_DEFINED__ +#define __ITextEditProvider_FWD_DEFINED__ +typedef interface ITextEditProvider ITextEditProvider; +#ifdef __cplusplus +interface ITextEditProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextRangeProvider_FWD_DEFINED__ +#define __ITextRangeProvider_FWD_DEFINED__ +typedef interface ITextRangeProvider ITextRangeProvider; +#ifdef __cplusplus +interface ITextRangeProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextRangeProvider2_FWD_DEFINED__ +#define __ITextRangeProvider2_FWD_DEFINED__ +typedef interface ITextRangeProvider2 ITextRangeProvider2; +#ifdef __cplusplus +interface ITextRangeProvider2; +#endif /* __cplusplus */ +#endif + +#ifndef __ITextChildProvider_FWD_DEFINED__ +#define __ITextChildProvider_FWD_DEFINED__ +typedef interface ITextChildProvider ITextChildProvider; +#ifdef __cplusplus +interface ITextChildProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __ICustomNavigationProvider_FWD_DEFINED__ +#define __ICustomNavigationProvider_FWD_DEFINED__ +typedef interface ICustomNavigationProvider ICustomNavigationProvider; +#ifdef __cplusplus +interface ICustomNavigationProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationPatternInstance_FWD_DEFINED__ +#define __IUIAutomationPatternInstance_FWD_DEFINED__ +typedef interface IUIAutomationPatternInstance IUIAutomationPatternInstance; +#ifdef __cplusplus +interface IUIAutomationPatternInstance; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationPatternHandler_FWD_DEFINED__ +#define __IUIAutomationPatternHandler_FWD_DEFINED__ +typedef interface IUIAutomationPatternHandler IUIAutomationPatternHandler; +#ifdef __cplusplus +interface IUIAutomationPatternHandler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUIAutomationRegistrar_FWD_DEFINED__ +#define __IUIAutomationRegistrar_FWD_DEFINED__ +typedef interface IUIAutomationRegistrar IUIAutomationRegistrar; +#ifdef __cplusplus +interface IUIAutomationRegistrar; +#endif /* __cplusplus */ +#endif + +#ifndef __CUIAutomationRegistrar_FWD_DEFINED__ +#define __CUIAutomationRegistrar_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CUIAutomationRegistrar CUIAutomationRegistrar; +#else +typedef struct CUIAutomationRegistrar CUIAutomationRegistrar; +#endif /* defined __cplusplus */ +#endif /* defined __CUIAutomationRegistrar_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +enum NavigateDirection { + NavigateDirection_Parent = 0x0, + NavigateDirection_NextSibling = 0x1, + NavigateDirection_PreviousSibling = 0x2, + NavigateDirection_FirstChild = 0x3, + NavigateDirection_LastChild = 0x4 +}; +enum ProviderOptions { + ProviderOptions_ClientSideProvider = 0x1, + ProviderOptions_ServerSideProvider = 0x2, + ProviderOptions_NonClientAreaProvider = 0x4, + ProviderOptions_OverrideProvider = 0x8, + ProviderOptions_ProviderOwnsSetFocus = 0x10, + ProviderOptions_UseComThreading = 0x20, + ProviderOptions_RefuseNonClientSupport = 0x40, + ProviderOptions_HasNativeIAccessible = 0x80, + ProviderOptions_UseClientCoordinates = 0x100 +}; +enum StructureChangeType { + StructureChangeType_ChildAdded = 0x0, + StructureChangeType_ChildRemoved = 0x1, + StructureChangeType_ChildrenInvalidated = 0x2, + StructureChangeType_ChildrenBulkAdded = 0x3, + StructureChangeType_ChildrenBulkRemoved = 0x4, + StructureChangeType_ChildrenReordered = 0x5 +}; +enum TextEditChangeType { + TextEditChangeType_None = 0x0, + TextEditChangeType_AutoCorrect = 0x1, + TextEditChangeType_Composition = 0x2, + TextEditChangeType_CompositionFinalized = 0x3, + TextEditChangeType_AutoComplete = 0x4 +}; +enum OrientationType { + OrientationType_None = 0x0, + OrientationType_Horizontal = 0x1, + OrientationType_Vertical = 0x2 +}; +enum DockPosition { + DockPosition_Top = 0x0, + DockPosition_Left = 0x1, + DockPosition_Bottom = 0x2, + DockPosition_Right = 0x3, + DockPosition_Fill = 0x4, + DockPosition_None = 0x5 +}; +enum ExpandCollapseState { + ExpandCollapseState_Collapsed = 0x0, + ExpandCollapseState_Expanded = 0x1, + ExpandCollapseState_PartiallyExpanded = 0x2, + ExpandCollapseState_LeafNode = 0x3 +}; +enum ScrollAmount { + ScrollAmount_LargeDecrement = 0x0, + ScrollAmount_SmallDecrement = 0x1, + ScrollAmount_NoAmount = 0x2, + ScrollAmount_LargeIncrement = 0x3, + ScrollAmount_SmallIncrement = 0x4 +}; +enum RowOrColumnMajor { + RowOrColumnMajor_RowMajor = 0x0, + RowOrColumnMajor_ColumnMajor = 0x1, + RowOrColumnMajor_Indeterminate = 0x2 +}; +enum ToggleState { + ToggleState_Off = 0x0, + ToggleState_On = 0x1, + ToggleState_Indeterminate = 0x2 +}; +enum WindowVisualState { + WindowVisualState_Normal = 0x0, + WindowVisualState_Maximized = 0x1, + WindowVisualState_Minimized = 0x2 +}; +enum SynchronizedInputType { + SynchronizedInputType_KeyUp = 0x1, + SynchronizedInputType_KeyDown = 0x2, + SynchronizedInputType_LeftMouseUp = 0x4, + SynchronizedInputType_LeftMouseDown = 0x8, + SynchronizedInputType_RightMouseUp = 0x10, + SynchronizedInputType_RightMouseDown = 0x20 +}; +DEFINE_ENUM_FLAG_OPERATORS(SynchronizedInputType) +enum WindowInteractionState { + WindowInteractionState_Running = 0x0, + WindowInteractionState_Closing = 0x1, + WindowInteractionState_ReadyForUserInteraction = 0x2, + WindowInteractionState_BlockedByModalWindow = 0x3, + WindowInteractionState_NotResponding = 0x4 +}; +enum TextUnit { + TextUnit_Character = 0x0, + TextUnit_Format = 0x1, + TextUnit_Word = 0x2, + TextUnit_Line = 0x3, + TextUnit_Paragraph = 0x4, + TextUnit_Page = 0x5, + TextUnit_Document = 0x6 +}; +enum TextPatternRangeEndpoint { + TextPatternRangeEndpoint_Start = 0x0, + TextPatternRangeEndpoint_End = 0x1 +}; +enum SupportedTextSelection { + SupportedTextSelection_None = 0x0, + SupportedTextSelection_Single = 0x1, + SupportedTextSelection_Multiple = 0x2 +}; +enum LiveSetting { + Off = 0x0, + Polite = 0x1, + Assertive = 0x2 +}; +enum ZoomUnit { + ZoomUnit_NoAmount = 0x0, + ZoomUnit_LargeDecrement = 0x1, + ZoomUnit_SmallDecrement = 0x2, + ZoomUnit_LargeIncrement = 0x3, + ZoomUnit_SmallIncrement = 0x4 +}; +enum NotificationProcessing { + NotificationProcessing_ImportantAll = 0x0, + NotificationProcessing_ImportantMostRecent = 0x1, + NotificationProcessing_All = 0x2, + NotificationProcessing_MostRecent = 0x3, + NotificationProcessing_CurrentThenMostRecent = 0x4 +}; +enum NotificationKind { + NotificationKind_ItemAdded = 0x0, + NotificationKind_ItemRemoved = 0x1, + NotificationKind_ActionCompleted = 0x2, + NotificationKind_ActionAborted = 0x3, + NotificationKind_Other = 0x4 +}; +typedef int PROPERTYID; +typedef int PATTERNID; +typedef int EVENTID; +typedef int TEXTATTRIBUTEID; +typedef int CONTROLTYPEID; +typedef int LANDMARKTYPEID; +typedef int METADATAID; +typedef int HEADINGLEVELID; +struct UiaRect { + double left; + double top; + double width; + double height; +}; +struct UiaPoint { + double x; + double y; +}; +struct UiaChangeInfo { + int uiaId; + VARIANT payload; + VARIANT extraInfo; +}; +#ifndef __UIA_LIBRARY_DEFINED__ +#define __UIA_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_UIA, 0x930299ce, 0x9965, 0x4dec, 0xb0,0xf4, 0xa5,0x48,0x48,0xd4,0xb6,0x67); + +/***************************************************************************** + * IRawElementProviderSimple interface + */ +#ifndef __IRawElementProviderSimple_INTERFACE_DEFINED__ +#define __IRawElementProviderSimple_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d6dd68d1-86fd-4332-8666-9abedea2d24c") +IRawElementProviderSimple : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_ProviderOptions( + enum ProviderOptions *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPatternProvider( + PATTERNID patternId, + IUnknown **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyValue( + PROPERTYID propertyId, + VARIANT *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HostRawElementProvider( + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderSimple, 0xd6dd68d1, 0x86fd, 0x4332, 0x86,0x66, 0x9a,0xbe,0xde,0xa2,0xd2,0x4c) +#endif +#else +typedef struct IRawElementProviderSimpleVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderSimple *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderSimple *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderSimple *This); + + /*** IRawElementProviderSimple methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProviderOptions)( + IRawElementProviderSimple *This, + enum ProviderOptions *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPatternProvider)( + IRawElementProviderSimple *This, + PATTERNID patternId, + IUnknown **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValue)( + IRawElementProviderSimple *This, + PROPERTYID propertyId, + VARIANT *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_HostRawElementProvider)( + IRawElementProviderSimple *This, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} IRawElementProviderSimpleVtbl; + +interface IRawElementProviderSimple { + CONST_VTBL IRawElementProviderSimpleVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderSimple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderSimple_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderSimple_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderSimple methods ***/ +#define IRawElementProviderSimple_get_ProviderOptions(This,pRetVal) (This)->lpVtbl->get_ProviderOptions(This,pRetVal) +#define IRawElementProviderSimple_GetPatternProvider(This,patternId,pRetVal) (This)->lpVtbl->GetPatternProvider(This,patternId,pRetVal) +#define IRawElementProviderSimple_GetPropertyValue(This,propertyId,pRetVal) (This)->lpVtbl->GetPropertyValue(This,propertyId,pRetVal) +#define IRawElementProviderSimple_get_HostRawElementProvider(This,pRetVal) (This)->lpVtbl->get_HostRawElementProvider(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderSimple_QueryInterface(IRawElementProviderSimple* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderSimple_AddRef(IRawElementProviderSimple* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderSimple_Release(IRawElementProviderSimple* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderSimple methods ***/ +static inline HRESULT IRawElementProviderSimple_get_ProviderOptions(IRawElementProviderSimple* This,enum ProviderOptions *pRetVal) { + return This->lpVtbl->get_ProviderOptions(This,pRetVal); +} +static inline HRESULT IRawElementProviderSimple_GetPatternProvider(IRawElementProviderSimple* This,PATTERNID patternId,IUnknown **pRetVal) { + return This->lpVtbl->GetPatternProvider(This,patternId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple_GetPropertyValue(IRawElementProviderSimple* This,PROPERTYID propertyId,VARIANT *pRetVal) { + return This->lpVtbl->GetPropertyValue(This,propertyId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple_get_HostRawElementProvider(IRawElementProviderSimple* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_HostRawElementProvider(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderSimple_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderSimple2 interface + */ +#ifndef __IRawElementProviderSimple2_INTERFACE_DEFINED__ +#define __IRawElementProviderSimple2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderSimple2, 0xa0a839a9, 0x8da1, 0x4a82, 0x80,0x6a, 0x8e,0x0d,0x44,0xe7,0x9f,0x56); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a0a839a9-8da1-4a82-806a-8e0d44e79f56") +IRawElementProviderSimple2 : public IRawElementProviderSimple +{ + virtual HRESULT STDMETHODCALLTYPE ShowContextMenu( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderSimple2, 0xa0a839a9, 0x8da1, 0x4a82, 0x80,0x6a, 0x8e,0x0d,0x44,0xe7,0x9f,0x56) +#endif +#else +typedef struct IRawElementProviderSimple2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderSimple2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderSimple2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderSimple2 *This); + + /*** IRawElementProviderSimple methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProviderOptions)( + IRawElementProviderSimple2 *This, + enum ProviderOptions *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPatternProvider)( + IRawElementProviderSimple2 *This, + PATTERNID patternId, + IUnknown **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValue)( + IRawElementProviderSimple2 *This, + PROPERTYID propertyId, + VARIANT *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_HostRawElementProvider)( + IRawElementProviderSimple2 *This, + IRawElementProviderSimple **pRetVal); + + /*** IRawElementProviderSimple2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IRawElementProviderSimple2 *This); + + END_INTERFACE +} IRawElementProviderSimple2Vtbl; + +interface IRawElementProviderSimple2 { + CONST_VTBL IRawElementProviderSimple2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderSimple2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderSimple2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderSimple2_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderSimple methods ***/ +#define IRawElementProviderSimple2_get_ProviderOptions(This,pRetVal) (This)->lpVtbl->get_ProviderOptions(This,pRetVal) +#define IRawElementProviderSimple2_GetPatternProvider(This,patternId,pRetVal) (This)->lpVtbl->GetPatternProvider(This,patternId,pRetVal) +#define IRawElementProviderSimple2_GetPropertyValue(This,propertyId,pRetVal) (This)->lpVtbl->GetPropertyValue(This,propertyId,pRetVal) +#define IRawElementProviderSimple2_get_HostRawElementProvider(This,pRetVal) (This)->lpVtbl->get_HostRawElementProvider(This,pRetVal) +/*** IRawElementProviderSimple2 methods ***/ +#define IRawElementProviderSimple2_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderSimple2_QueryInterface(IRawElementProviderSimple2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderSimple2_AddRef(IRawElementProviderSimple2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderSimple2_Release(IRawElementProviderSimple2* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderSimple methods ***/ +static inline HRESULT IRawElementProviderSimple2_get_ProviderOptions(IRawElementProviderSimple2* This,enum ProviderOptions *pRetVal) { + return This->lpVtbl->get_ProviderOptions(This,pRetVal); +} +static inline HRESULT IRawElementProviderSimple2_GetPatternProvider(IRawElementProviderSimple2* This,PATTERNID patternId,IUnknown **pRetVal) { + return This->lpVtbl->GetPatternProvider(This,patternId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple2_GetPropertyValue(IRawElementProviderSimple2* This,PROPERTYID propertyId,VARIANT *pRetVal) { + return This->lpVtbl->GetPropertyValue(This,propertyId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple2_get_HostRawElementProvider(IRawElementProviderSimple2* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_HostRawElementProvider(This,pRetVal); +} +/*** IRawElementProviderSimple2 methods ***/ +static inline HRESULT IRawElementProviderSimple2_ShowContextMenu(IRawElementProviderSimple2* This) { + return This->lpVtbl->ShowContextMenu(This); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderSimple2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderSimple3 interface + */ +#ifndef __IRawElementProviderSimple3_INTERFACE_DEFINED__ +#define __IRawElementProviderSimple3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderSimple3, 0xfcf5d820, 0xd7ec, 0x4613, 0xbd,0xf6, 0x42,0xa8,0x4c,0xe7,0xda,0xaf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fcf5d820-d7ec-4613-bdf6-42a84ce7daaf") +IRawElementProviderSimple3 : public IRawElementProviderSimple2 +{ + virtual HRESULT STDMETHODCALLTYPE GetMetadataValue( + int targetId, + METADATAID metadataId, + VARIANT *returnVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderSimple3, 0xfcf5d820, 0xd7ec, 0x4613, 0xbd,0xf6, 0x42,0xa8,0x4c,0xe7,0xda,0xaf) +#endif +#else +typedef struct IRawElementProviderSimple3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderSimple3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderSimple3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderSimple3 *This); + + /*** IRawElementProviderSimple methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ProviderOptions)( + IRawElementProviderSimple3 *This, + enum ProviderOptions *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPatternProvider)( + IRawElementProviderSimple3 *This, + PATTERNID patternId, + IUnknown **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValue)( + IRawElementProviderSimple3 *This, + PROPERTYID propertyId, + VARIANT *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_HostRawElementProvider)( + IRawElementProviderSimple3 *This, + IRawElementProviderSimple **pRetVal); + + /*** IRawElementProviderSimple2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + IRawElementProviderSimple3 *This); + + /*** IRawElementProviderSimple3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataValue)( + IRawElementProviderSimple3 *This, + int targetId, + METADATAID metadataId, + VARIANT *returnVal); + + END_INTERFACE +} IRawElementProviderSimple3Vtbl; + +interface IRawElementProviderSimple3 { + CONST_VTBL IRawElementProviderSimple3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderSimple3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderSimple3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderSimple3_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderSimple methods ***/ +#define IRawElementProviderSimple3_get_ProviderOptions(This,pRetVal) (This)->lpVtbl->get_ProviderOptions(This,pRetVal) +#define IRawElementProviderSimple3_GetPatternProvider(This,patternId,pRetVal) (This)->lpVtbl->GetPatternProvider(This,patternId,pRetVal) +#define IRawElementProviderSimple3_GetPropertyValue(This,propertyId,pRetVal) (This)->lpVtbl->GetPropertyValue(This,propertyId,pRetVal) +#define IRawElementProviderSimple3_get_HostRawElementProvider(This,pRetVal) (This)->lpVtbl->get_HostRawElementProvider(This,pRetVal) +/*** IRawElementProviderSimple2 methods ***/ +#define IRawElementProviderSimple3_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +/*** IRawElementProviderSimple3 methods ***/ +#define IRawElementProviderSimple3_GetMetadataValue(This,targetId,metadataId,returnVal) (This)->lpVtbl->GetMetadataValue(This,targetId,metadataId,returnVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderSimple3_QueryInterface(IRawElementProviderSimple3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderSimple3_AddRef(IRawElementProviderSimple3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderSimple3_Release(IRawElementProviderSimple3* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderSimple methods ***/ +static inline HRESULT IRawElementProviderSimple3_get_ProviderOptions(IRawElementProviderSimple3* This,enum ProviderOptions *pRetVal) { + return This->lpVtbl->get_ProviderOptions(This,pRetVal); +} +static inline HRESULT IRawElementProviderSimple3_GetPatternProvider(IRawElementProviderSimple3* This,PATTERNID patternId,IUnknown **pRetVal) { + return This->lpVtbl->GetPatternProvider(This,patternId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple3_GetPropertyValue(IRawElementProviderSimple3* This,PROPERTYID propertyId,VARIANT *pRetVal) { + return This->lpVtbl->GetPropertyValue(This,propertyId,pRetVal); +} +static inline HRESULT IRawElementProviderSimple3_get_HostRawElementProvider(IRawElementProviderSimple3* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_HostRawElementProvider(This,pRetVal); +} +/*** IRawElementProviderSimple2 methods ***/ +static inline HRESULT IRawElementProviderSimple3_ShowContextMenu(IRawElementProviderSimple3* This) { + return This->lpVtbl->ShowContextMenu(This); +} +/*** IRawElementProviderSimple3 methods ***/ +static inline HRESULT IRawElementProviderSimple3_GetMetadataValue(IRawElementProviderSimple3* This,int targetId,METADATAID metadataId,VARIANT *returnVal) { + return This->lpVtbl->GetMetadataValue(This,targetId,metadataId,returnVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderSimple3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAccessibleEx interface + */ +#ifndef __IAccessibleEx_INTERFACE_DEFINED__ +#define __IAccessibleEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f8b80ada-2c44-48d0-89be-5ff23c9cd875") +IAccessibleEx : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetObjectForChild( + LONG idChild, + IAccessibleEx **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIAccessiblePair( + IAccessible **ppAcc, + LONG *pidChild) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeId( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE ConvertReturnedElement( + IRawElementProviderSimple *pIn, + IAccessibleEx **ppRetValOut) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAccessibleEx, 0xf8b80ada, 0x2c44, 0x48d0, 0x89,0xbe, 0x5f,0xf2,0x3c,0x9c,0xd8,0x75) +#endif +#else +typedef struct IAccessibleExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAccessibleEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAccessibleEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAccessibleEx *This); + + /*** IAccessibleEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetObjectForChild)( + IAccessibleEx *This, + LONG idChild, + IAccessibleEx **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetIAccessiblePair)( + IAccessibleEx *This, + IAccessible **ppAcc, + LONG *pidChild); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IAccessibleEx *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *ConvertReturnedElement)( + IAccessibleEx *This, + IRawElementProviderSimple *pIn, + IAccessibleEx **ppRetValOut); + + END_INTERFACE +} IAccessibleExVtbl; + +interface IAccessibleEx { + CONST_VTBL IAccessibleExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAccessibleEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAccessibleEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAccessibleEx_Release(This) (This)->lpVtbl->Release(This) +/*** IAccessibleEx methods ***/ +#define IAccessibleEx_GetObjectForChild(This,idChild,pRetVal) (This)->lpVtbl->GetObjectForChild(This,idChild,pRetVal) +#define IAccessibleEx_GetIAccessiblePair(This,ppAcc,pidChild) (This)->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild) +#define IAccessibleEx_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal) +#define IAccessibleEx_ConvertReturnedElement(This,pIn,ppRetValOut) (This)->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAccessibleEx_QueryInterface(IAccessibleEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAccessibleEx_AddRef(IAccessibleEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAccessibleEx_Release(IAccessibleEx* This) { + return This->lpVtbl->Release(This); +} +/*** IAccessibleEx methods ***/ +static inline HRESULT IAccessibleEx_GetObjectForChild(IAccessibleEx* This,LONG idChild,IAccessibleEx **pRetVal) { + return This->lpVtbl->GetObjectForChild(This,idChild,pRetVal); +} +static inline HRESULT IAccessibleEx_GetIAccessiblePair(IAccessibleEx* This,IAccessible **ppAcc,LONG *pidChild) { + return This->lpVtbl->GetIAccessiblePair(This,ppAcc,pidChild); +} +static inline HRESULT IAccessibleEx_GetRuntimeId(IAccessibleEx* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetRuntimeId(This,pRetVal); +} +static inline HRESULT IAccessibleEx_ConvertReturnedElement(IAccessibleEx* This,IRawElementProviderSimple *pIn,IAccessibleEx **ppRetValOut) { + return This->lpVtbl->ConvertReturnedElement(This,pIn,ppRetValOut); +} +#endif +#endif + +#endif + + +#endif /* __IAccessibleEx_INTERFACE_DEFINED__ */ + +#ifndef __IRawElementProviderFragmentRoot_FWD_DEFINED__ +#define __IRawElementProviderFragmentRoot_FWD_DEFINED__ +typedef interface IRawElementProviderFragmentRoot IRawElementProviderFragmentRoot; +#ifdef __cplusplus +interface IRawElementProviderFragmentRoot; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IRawElementProviderFragment interface + */ +#ifndef __IRawElementProviderFragment_INTERFACE_DEFINED__ +#define __IRawElementProviderFragment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f7063da8-8359-439c-9297-bbc5299a7d87") +IRawElementProviderFragment : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Navigate( + enum NavigateDirection direction, + IRawElementProviderFragment **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeId( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BoundingRectangle( + struct UiaRect *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFocus( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FragmentRoot( + IRawElementProviderFragmentRoot **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderFragment, 0xf7063da8, 0x8359, 0x439c, 0x92,0x97, 0xbb,0xc5,0x29,0x9a,0x7d,0x87) +#endif +#else +typedef struct IRawElementProviderFragmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderFragment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderFragment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderFragment *This); + + /*** IRawElementProviderFragment methods ***/ + HRESULT (STDMETHODCALLTYPE *Navigate)( + IRawElementProviderFragment *This, + enum NavigateDirection direction, + IRawElementProviderFragment **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeId)( + IRawElementProviderFragment *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_BoundingRectangle)( + IRawElementProviderFragment *This, + struct UiaRect *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetEmbeddedFragmentRoots)( + IRawElementProviderFragment *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *SetFocus)( + IRawElementProviderFragment *This); + + HRESULT (STDMETHODCALLTYPE *get_FragmentRoot)( + IRawElementProviderFragment *This, + IRawElementProviderFragmentRoot **pRetVal); + + END_INTERFACE +} IRawElementProviderFragmentVtbl; + +interface IRawElementProviderFragment { + CONST_VTBL IRawElementProviderFragmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderFragment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderFragment_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderFragment methods ***/ +#define IRawElementProviderFragment_Navigate(This,direction,pRetVal) (This)->lpVtbl->Navigate(This,direction,pRetVal) +#define IRawElementProviderFragment_GetRuntimeId(This,pRetVal) (This)->lpVtbl->GetRuntimeId(This,pRetVal) +#define IRawElementProviderFragment_get_BoundingRectangle(This,pRetVal) (This)->lpVtbl->get_BoundingRectangle(This,pRetVal) +#define IRawElementProviderFragment_GetEmbeddedFragmentRoots(This,pRetVal) (This)->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal) +#define IRawElementProviderFragment_SetFocus(This) (This)->lpVtbl->SetFocus(This) +#define IRawElementProviderFragment_get_FragmentRoot(This,pRetVal) (This)->lpVtbl->get_FragmentRoot(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderFragment_QueryInterface(IRawElementProviderFragment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderFragment_AddRef(IRawElementProviderFragment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderFragment_Release(IRawElementProviderFragment* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderFragment methods ***/ +static inline HRESULT IRawElementProviderFragment_Navigate(IRawElementProviderFragment* This,enum NavigateDirection direction,IRawElementProviderFragment **pRetVal) { + return This->lpVtbl->Navigate(This,direction,pRetVal); +} +static inline HRESULT IRawElementProviderFragment_GetRuntimeId(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetRuntimeId(This,pRetVal); +} +static inline HRESULT IRawElementProviderFragment_get_BoundingRectangle(IRawElementProviderFragment* This,struct UiaRect *pRetVal) { + return This->lpVtbl->get_BoundingRectangle(This,pRetVal); +} +static inline HRESULT IRawElementProviderFragment_GetEmbeddedFragmentRoots(IRawElementProviderFragment* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal); +} +static inline HRESULT IRawElementProviderFragment_SetFocus(IRawElementProviderFragment* This) { + return This->lpVtbl->SetFocus(This); +} +static inline HRESULT IRawElementProviderFragment_get_FragmentRoot(IRawElementProviderFragment* This,IRawElementProviderFragmentRoot **pRetVal) { + return This->lpVtbl->get_FragmentRoot(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderFragment_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderFragmentRoot interface + */ +#ifndef __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ +#define __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("620ce2a5-ab8f-40a9-86cb-de3c75599b58") +IRawElementProviderFragmentRoot : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ElementProviderFromPoint( + double x, + double y, + IRawElementProviderFragment **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFocus( + IRawElementProviderFragment **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderFragmentRoot, 0x620ce2a5, 0xab8f, 0x40a9, 0x86,0xcb, 0xde,0x3c,0x75,0x59,0x9b,0x58) +#endif +#else +typedef struct IRawElementProviderFragmentRootVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderFragmentRoot *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderFragmentRoot *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderFragmentRoot *This); + + /*** IRawElementProviderFragmentRoot methods ***/ + HRESULT (STDMETHODCALLTYPE *ElementProviderFromPoint)( + IRawElementProviderFragmentRoot *This, + double x, + double y, + IRawElementProviderFragment **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetFocus)( + IRawElementProviderFragmentRoot *This, + IRawElementProviderFragment **pRetVal); + + END_INTERFACE +} IRawElementProviderFragmentRootVtbl; + +interface IRawElementProviderFragmentRoot { + CONST_VTBL IRawElementProviderFragmentRootVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderFragmentRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderFragmentRoot_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderFragmentRoot_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderFragmentRoot methods ***/ +#define IRawElementProviderFragmentRoot_ElementProviderFromPoint(This,x,y,pRetVal) (This)->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal) +#define IRawElementProviderFragmentRoot_GetFocus(This,pRetVal) (This)->lpVtbl->GetFocus(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderFragmentRoot_QueryInterface(IRawElementProviderFragmentRoot* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderFragmentRoot_AddRef(IRawElementProviderFragmentRoot* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderFragmentRoot_Release(IRawElementProviderFragmentRoot* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderFragmentRoot methods ***/ +static inline HRESULT IRawElementProviderFragmentRoot_ElementProviderFromPoint(IRawElementProviderFragmentRoot* This,double x,double y,IRawElementProviderFragment **pRetVal) { + return This->lpVtbl->ElementProviderFromPoint(This,x,y,pRetVal); +} +static inline HRESULT IRawElementProviderFragmentRoot_GetFocus(IRawElementProviderFragmentRoot* This,IRawElementProviderFragment **pRetVal) { + return This->lpVtbl->GetFocus(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderFragmentRoot_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderHwndOverride interface + */ +#ifndef __IRawElementProviderHwndOverride_INTERFACE_DEFINED__ +#define __IRawElementProviderHwndOverride_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderHwndOverride, 0x1d5df27c, 0x8947, 0x4425, 0xb8,0xd9, 0x79,0x78,0x7b,0xb4,0x60,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1d5df27c-8947-4425-b8d9-79787bb460b8") +IRawElementProviderHwndOverride : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOverrideProviderForHwnd( + HWND hwnd, + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderHwndOverride, 0x1d5df27c, 0x8947, 0x4425, 0xb8,0xd9, 0x79,0x78,0x7b,0xb4,0x60,0xb8) +#endif +#else +typedef struct IRawElementProviderHwndOverrideVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderHwndOverride *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderHwndOverride *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderHwndOverride *This); + + /*** IRawElementProviderHwndOverride methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOverrideProviderForHwnd)( + IRawElementProviderHwndOverride *This, + HWND hwnd, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} IRawElementProviderHwndOverrideVtbl; + +interface IRawElementProviderHwndOverride { + CONST_VTBL IRawElementProviderHwndOverrideVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderHwndOverride_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderHwndOverride_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderHwndOverride_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderHwndOverride methods ***/ +#define IRawElementProviderHwndOverride_GetOverrideProviderForHwnd(This,hwnd,pRetVal) (This)->lpVtbl->GetOverrideProviderForHwnd(This,hwnd,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderHwndOverride_QueryInterface(IRawElementProviderHwndOverride* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderHwndOverride_AddRef(IRawElementProviderHwndOverride* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderHwndOverride_Release(IRawElementProviderHwndOverride* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderHwndOverride methods ***/ +static inline HRESULT IRawElementProviderHwndOverride_GetOverrideProviderForHwnd(IRawElementProviderHwndOverride* This,HWND hwnd,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->GetOverrideProviderForHwnd(This,hwnd,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderHwndOverride_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderAdviseEvents interface + */ +#ifndef __IRawElementProviderAdviseEvents_INTERFACE_DEFINED__ +#define __IRawElementProviderAdviseEvents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderAdviseEvents, 0xa407b27b, 0x0f6d, 0x4427, 0x92,0x92, 0x47,0x3c,0x7b,0xf9,0x32,0x58); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a407b27b-0f6d-4427-9292-473c7bf93258") +IRawElementProviderAdviseEvents : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AdviseEventAdded( + EVENTID eventId, + SAFEARRAY *propertyIDs) = 0; + + virtual HRESULT STDMETHODCALLTYPE AdviseEventRemoved( + EVENTID eventId, + SAFEARRAY *propertyIDs) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderAdviseEvents, 0xa407b27b, 0x0f6d, 0x4427, 0x92,0x92, 0x47,0x3c,0x7b,0xf9,0x32,0x58) +#endif +#else +typedef struct IRawElementProviderAdviseEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderAdviseEvents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderAdviseEvents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderAdviseEvents *This); + + /*** IRawElementProviderAdviseEvents methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseEventAdded)( + IRawElementProviderAdviseEvents *This, + EVENTID eventId, + SAFEARRAY *propertyIDs); + + HRESULT (STDMETHODCALLTYPE *AdviseEventRemoved)( + IRawElementProviderAdviseEvents *This, + EVENTID eventId, + SAFEARRAY *propertyIDs); + + END_INTERFACE +} IRawElementProviderAdviseEventsVtbl; + +interface IRawElementProviderAdviseEvents { + CONST_VTBL IRawElementProviderAdviseEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderAdviseEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderAdviseEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderAdviseEvents_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderAdviseEvents methods ***/ +#define IRawElementProviderAdviseEvents_AdviseEventAdded(This,eventId,propertyIDs) (This)->lpVtbl->AdviseEventAdded(This,eventId,propertyIDs) +#define IRawElementProviderAdviseEvents_AdviseEventRemoved(This,eventId,propertyIDs) (This)->lpVtbl->AdviseEventRemoved(This,eventId,propertyIDs) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderAdviseEvents_QueryInterface(IRawElementProviderAdviseEvents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderAdviseEvents_AddRef(IRawElementProviderAdviseEvents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderAdviseEvents_Release(IRawElementProviderAdviseEvents* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderAdviseEvents methods ***/ +static inline HRESULT IRawElementProviderAdviseEvents_AdviseEventAdded(IRawElementProviderAdviseEvents* This,EVENTID eventId,SAFEARRAY *propertyIDs) { + return This->lpVtbl->AdviseEventAdded(This,eventId,propertyIDs); +} +static inline HRESULT IRawElementProviderAdviseEvents_AdviseEventRemoved(IRawElementProviderAdviseEvents* This,EVENTID eventId,SAFEARRAY *propertyIDs) { + return This->lpVtbl->AdviseEventRemoved(This,eventId,propertyIDs); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderAdviseEvents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IProxyProviderWinEventSink interface + */ +#ifndef __IProxyProviderWinEventSink_INTERFACE_DEFINED__ +#define __IProxyProviderWinEventSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IProxyProviderWinEventSink, 0x4fd82b78, 0xa43e, 0x46ac, 0x98,0x03, 0x0a,0x69,0x69,0xc7,0xc1,0x83); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4fd82b78-a43e-46ac-9803-0a6969c7c183") +IProxyProviderWinEventSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddAutomationPropertyChangedEvent( + IRawElementProviderSimple *pProvider, + PROPERTYID id, + VARIANT newValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAutomationEvent( + IRawElementProviderSimple *pProvider, + EVENTID id) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStructureChangedEvent( + IRawElementProviderSimple *pProvider, + enum StructureChangeType structureChangeType, + SAFEARRAY *runtimeId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IProxyProviderWinEventSink, 0x4fd82b78, 0xa43e, 0x46ac, 0x98,0x03, 0x0a,0x69,0x69,0xc7,0xc1,0x83) +#endif +#else +typedef struct IProxyProviderWinEventSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IProxyProviderWinEventSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IProxyProviderWinEventSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IProxyProviderWinEventSink *This); + + /*** IProxyProviderWinEventSink methods ***/ + HRESULT (STDMETHODCALLTYPE *AddAutomationPropertyChangedEvent)( + IProxyProviderWinEventSink *This, + IRawElementProviderSimple *pProvider, + PROPERTYID id, + VARIANT newValue); + + HRESULT (STDMETHODCALLTYPE *AddAutomationEvent)( + IProxyProviderWinEventSink *This, + IRawElementProviderSimple *pProvider, + EVENTID id); + + HRESULT (STDMETHODCALLTYPE *AddStructureChangedEvent)( + IProxyProviderWinEventSink *This, + IRawElementProviderSimple *pProvider, + enum StructureChangeType structureChangeType, + SAFEARRAY *runtimeId); + + END_INTERFACE +} IProxyProviderWinEventSinkVtbl; + +interface IProxyProviderWinEventSink { + CONST_VTBL IProxyProviderWinEventSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IProxyProviderWinEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IProxyProviderWinEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IProxyProviderWinEventSink_Release(This) (This)->lpVtbl->Release(This) +/*** IProxyProviderWinEventSink methods ***/ +#define IProxyProviderWinEventSink_AddAutomationPropertyChangedEvent(This,pProvider,id,newValue) (This)->lpVtbl->AddAutomationPropertyChangedEvent(This,pProvider,id,newValue) +#define IProxyProviderWinEventSink_AddAutomationEvent(This,pProvider,id) (This)->lpVtbl->AddAutomationEvent(This,pProvider,id) +#define IProxyProviderWinEventSink_AddStructureChangedEvent(This,pProvider,structureChangeType,runtimeId) (This)->lpVtbl->AddStructureChangedEvent(This,pProvider,structureChangeType,runtimeId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IProxyProviderWinEventSink_QueryInterface(IProxyProviderWinEventSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IProxyProviderWinEventSink_AddRef(IProxyProviderWinEventSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IProxyProviderWinEventSink_Release(IProxyProviderWinEventSink* This) { + return This->lpVtbl->Release(This); +} +/*** IProxyProviderWinEventSink methods ***/ +static inline HRESULT IProxyProviderWinEventSink_AddAutomationPropertyChangedEvent(IProxyProviderWinEventSink* This,IRawElementProviderSimple *pProvider,PROPERTYID id,VARIANT newValue) { + return This->lpVtbl->AddAutomationPropertyChangedEvent(This,pProvider,id,newValue); +} +static inline HRESULT IProxyProviderWinEventSink_AddAutomationEvent(IProxyProviderWinEventSink* This,IRawElementProviderSimple *pProvider,EVENTID id) { + return This->lpVtbl->AddAutomationEvent(This,pProvider,id); +} +static inline HRESULT IProxyProviderWinEventSink_AddStructureChangedEvent(IProxyProviderWinEventSink* This,IRawElementProviderSimple *pProvider,enum StructureChangeType structureChangeType,SAFEARRAY *runtimeId) { + return This->lpVtbl->AddStructureChangedEvent(This,pProvider,structureChangeType,runtimeId); +} +#endif +#endif + +#endif + + +#endif /* __IProxyProviderWinEventSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IProxyProviderWinEventHandler interface + */ +#ifndef __IProxyProviderWinEventHandler_INTERFACE_DEFINED__ +#define __IProxyProviderWinEventHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IProxyProviderWinEventHandler, 0x89592ad4, 0xf4e0, 0x43d5, 0xa3,0xb6, 0xba,0xd7,0xe1,0x11,0xb4,0x35); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("89592ad4-f4e0-43d5-a3b6-bad7e111b435") +IProxyProviderWinEventHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RespondToWinEvent( + DWORD idWinEvent, + HWND hwnd, + LONG idObject, + LONG idChild, + IProxyProviderWinEventSink *pSink) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IProxyProviderWinEventHandler, 0x89592ad4, 0xf4e0, 0x43d5, 0xa3,0xb6, 0xba,0xd7,0xe1,0x11,0xb4,0x35) +#endif +#else +typedef struct IProxyProviderWinEventHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IProxyProviderWinEventHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IProxyProviderWinEventHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IProxyProviderWinEventHandler *This); + + /*** IProxyProviderWinEventHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *RespondToWinEvent)( + IProxyProviderWinEventHandler *This, + DWORD idWinEvent, + HWND hwnd, + LONG idObject, + LONG idChild, + IProxyProviderWinEventSink *pSink); + + END_INTERFACE +} IProxyProviderWinEventHandlerVtbl; + +interface IProxyProviderWinEventHandler { + CONST_VTBL IProxyProviderWinEventHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IProxyProviderWinEventHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IProxyProviderWinEventHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IProxyProviderWinEventHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IProxyProviderWinEventHandler methods ***/ +#define IProxyProviderWinEventHandler_RespondToWinEvent(This,idWinEvent,hwnd,idObject,idChild,pSink) (This)->lpVtbl->RespondToWinEvent(This,idWinEvent,hwnd,idObject,idChild,pSink) +#else +/*** IUnknown methods ***/ +static inline HRESULT IProxyProviderWinEventHandler_QueryInterface(IProxyProviderWinEventHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IProxyProviderWinEventHandler_AddRef(IProxyProviderWinEventHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IProxyProviderWinEventHandler_Release(IProxyProviderWinEventHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IProxyProviderWinEventHandler methods ***/ +static inline HRESULT IProxyProviderWinEventHandler_RespondToWinEvent(IProxyProviderWinEventHandler* This,DWORD idWinEvent,HWND hwnd,LONG idObject,LONG idChild,IProxyProviderWinEventSink *pSink) { + return This->lpVtbl->RespondToWinEvent(This,idWinEvent,hwnd,idObject,idChild,pSink); +} +#endif +#endif + +#endif + + +#endif /* __IProxyProviderWinEventHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderWindowlessSite interface + */ +#ifndef __IRawElementProviderWindowlessSite_INTERFACE_DEFINED__ +#define __IRawElementProviderWindowlessSite_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderWindowlessSite, 0x0a2a93cc, 0xbfad, 0x42ac, 0x9b,0x2e, 0x09,0x91,0xfb,0x0d,0x3e,0xa0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0a2a93cc-bfad-42ac-9b2e-0991fb0d3ea0") +IRawElementProviderWindowlessSite : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetAdjacentFragment( + enum NavigateDirection direction, + IRawElementProviderFragment **ppParent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRuntimeIdPrefix( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderWindowlessSite, 0x0a2a93cc, 0xbfad, 0x42ac, 0x9b,0x2e, 0x09,0x91,0xfb,0x0d,0x3e,0xa0) +#endif +#else +typedef struct IRawElementProviderWindowlessSiteVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderWindowlessSite *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderWindowlessSite *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderWindowlessSite *This); + + /*** IRawElementProviderWindowlessSite methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAdjacentFragment)( + IRawElementProviderWindowlessSite *This, + enum NavigateDirection direction, + IRawElementProviderFragment **ppParent); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeIdPrefix)( + IRawElementProviderWindowlessSite *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} IRawElementProviderWindowlessSiteVtbl; + +interface IRawElementProviderWindowlessSite { + CONST_VTBL IRawElementProviderWindowlessSiteVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderWindowlessSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderWindowlessSite_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderWindowlessSite_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderWindowlessSite methods ***/ +#define IRawElementProviderWindowlessSite_GetAdjacentFragment(This,direction,ppParent) (This)->lpVtbl->GetAdjacentFragment(This,direction,ppParent) +#define IRawElementProviderWindowlessSite_GetRuntimeIdPrefix(This,pRetVal) (This)->lpVtbl->GetRuntimeIdPrefix(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderWindowlessSite_QueryInterface(IRawElementProviderWindowlessSite* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderWindowlessSite_AddRef(IRawElementProviderWindowlessSite* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderWindowlessSite_Release(IRawElementProviderWindowlessSite* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderWindowlessSite methods ***/ +static inline HRESULT IRawElementProviderWindowlessSite_GetAdjacentFragment(IRawElementProviderWindowlessSite* This,enum NavigateDirection direction,IRawElementProviderFragment **ppParent) { + return This->lpVtbl->GetAdjacentFragment(This,direction,ppParent); +} +static inline HRESULT IRawElementProviderWindowlessSite_GetRuntimeIdPrefix(IRawElementProviderWindowlessSite* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetRuntimeIdPrefix(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderWindowlessSite_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAccessibleHostingElementProviders interface + */ +#ifndef __IAccessibleHostingElementProviders_INTERFACE_DEFINED__ +#define __IAccessibleHostingElementProviders_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAccessibleHostingElementProviders, 0x33ac331b, 0x943e, 0x4020, 0xb2,0x95, 0xdb,0x37,0x78,0x49,0x74,0xa3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("33ac331b-943e-4020-b295-db37784974a3") +IAccessibleHostingElementProviders : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetEmbeddedFragmentRoots( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjectIdForProvider( + IRawElementProviderSimple *pProvider, + LONG *pidObject) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAccessibleHostingElementProviders, 0x33ac331b, 0x943e, 0x4020, 0xb2,0x95, 0xdb,0x37,0x78,0x49,0x74,0xa3) +#endif +#else +typedef struct IAccessibleHostingElementProvidersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAccessibleHostingElementProviders *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAccessibleHostingElementProviders *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAccessibleHostingElementProviders *This); + + /*** IAccessibleHostingElementProviders methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEmbeddedFragmentRoots)( + IAccessibleHostingElementProviders *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetObjectIdForProvider)( + IAccessibleHostingElementProviders *This, + IRawElementProviderSimple *pProvider, + LONG *pidObject); + + END_INTERFACE +} IAccessibleHostingElementProvidersVtbl; + +interface IAccessibleHostingElementProviders { + CONST_VTBL IAccessibleHostingElementProvidersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAccessibleHostingElementProviders_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAccessibleHostingElementProviders_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAccessibleHostingElementProviders_Release(This) (This)->lpVtbl->Release(This) +/*** IAccessibleHostingElementProviders methods ***/ +#define IAccessibleHostingElementProviders_GetEmbeddedFragmentRoots(This,pRetVal) (This)->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal) +#define IAccessibleHostingElementProviders_GetObjectIdForProvider(This,pProvider,pidObject) (This)->lpVtbl->GetObjectIdForProvider(This,pProvider,pidObject) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAccessibleHostingElementProviders_QueryInterface(IAccessibleHostingElementProviders* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAccessibleHostingElementProviders_AddRef(IAccessibleHostingElementProviders* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAccessibleHostingElementProviders_Release(IAccessibleHostingElementProviders* This) { + return This->lpVtbl->Release(This); +} +/*** IAccessibleHostingElementProviders methods ***/ +static inline HRESULT IAccessibleHostingElementProviders_GetEmbeddedFragmentRoots(IAccessibleHostingElementProviders* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetEmbeddedFragmentRoots(This,pRetVal); +} +static inline HRESULT IAccessibleHostingElementProviders_GetObjectIdForProvider(IAccessibleHostingElementProviders* This,IRawElementProviderSimple *pProvider,LONG *pidObject) { + return This->lpVtbl->GetObjectIdForProvider(This,pProvider,pidObject); +} +#endif +#endif + +#endif + + +#endif /* __IAccessibleHostingElementProviders_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRawElementProviderHostingAccessibles interface + */ +#ifndef __IRawElementProviderHostingAccessibles_INTERFACE_DEFINED__ +#define __IRawElementProviderHostingAccessibles_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRawElementProviderHostingAccessibles, 0x24be0b07, 0xd37d, 0x487a, 0x98,0xcf, 0xa1,0x3e,0xd4,0x65,0xe9,0xb3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("24be0b07-d37d-487a-98cf-a13ed465e9b3") +IRawElementProviderHostingAccessibles : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetEmbeddedAccessibles( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRawElementProviderHostingAccessibles, 0x24be0b07, 0xd37d, 0x487a, 0x98,0xcf, 0xa1,0x3e,0xd4,0x65,0xe9,0xb3) +#endif +#else +typedef struct IRawElementProviderHostingAccessiblesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRawElementProviderHostingAccessibles *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRawElementProviderHostingAccessibles *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRawElementProviderHostingAccessibles *This); + + /*** IRawElementProviderHostingAccessibles methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEmbeddedAccessibles)( + IRawElementProviderHostingAccessibles *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} IRawElementProviderHostingAccessiblesVtbl; + +interface IRawElementProviderHostingAccessibles { + CONST_VTBL IRawElementProviderHostingAccessiblesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRawElementProviderHostingAccessibles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRawElementProviderHostingAccessibles_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRawElementProviderHostingAccessibles_Release(This) (This)->lpVtbl->Release(This) +/*** IRawElementProviderHostingAccessibles methods ***/ +#define IRawElementProviderHostingAccessibles_GetEmbeddedAccessibles(This,pRetVal) (This)->lpVtbl->GetEmbeddedAccessibles(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRawElementProviderHostingAccessibles_QueryInterface(IRawElementProviderHostingAccessibles* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRawElementProviderHostingAccessibles_AddRef(IRawElementProviderHostingAccessibles* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRawElementProviderHostingAccessibles_Release(IRawElementProviderHostingAccessibles* This) { + return This->lpVtbl->Release(This); +} +/*** IRawElementProviderHostingAccessibles methods ***/ +static inline HRESULT IRawElementProviderHostingAccessibles_GetEmbeddedAccessibles(IRawElementProviderHostingAccessibles* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetEmbeddedAccessibles(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRawElementProviderHostingAccessibles_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ILegacyIAccessibleProvider interface + */ +#ifndef __ILegacyIAccessibleProvider_INTERFACE_DEFINED__ +#define __ILegacyIAccessibleProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ILegacyIAccessibleProvider, 0xe44c3566, 0x915d, 0x4070, 0x99,0xc6, 0x04,0x7b,0xff,0x5a,0x08,0xf5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e44c3566-915d-4070-99c6-047bff5a08f5") +ILegacyIAccessibleProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Select( + LONG flagsSelect) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoDefaultAction( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetValue( + LPCWSTR szValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIAccessible( + IAccessible **ppAccessible) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ChildId( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Value( + BSTR *pszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *pszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Role( + DWORD *pdwRole) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_State( + DWORD *pdwState) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Help( + BSTR *pszHelp) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_KeyboardShortcut( + BSTR *pszKeyboardShortcut) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSelection( + SAFEARRAY **pvarSelectedChildren) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DefaultAction( + BSTR *pszDefaultAction) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ILegacyIAccessibleProvider, 0xe44c3566, 0x915d, 0x4070, 0x99,0xc6, 0x04,0x7b,0xff,0x5a,0x08,0xf5) +#endif +#else +typedef struct ILegacyIAccessibleProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ILegacyIAccessibleProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ILegacyIAccessibleProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ILegacyIAccessibleProvider *This); + + /*** ILegacyIAccessibleProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Select)( + ILegacyIAccessibleProvider *This, + LONG flagsSelect); + + HRESULT (STDMETHODCALLTYPE *DoDefaultAction)( + ILegacyIAccessibleProvider *This); + + HRESULT (STDMETHODCALLTYPE *SetValue)( + ILegacyIAccessibleProvider *This, + LPCWSTR szValue); + + HRESULT (STDMETHODCALLTYPE *GetIAccessible)( + ILegacyIAccessibleProvider *This, + IAccessible **ppAccessible); + + HRESULT (STDMETHODCALLTYPE *get_ChildId)( + ILegacyIAccessibleProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + ILegacyIAccessibleProvider *This, + BSTR *pszName); + + HRESULT (STDMETHODCALLTYPE *get_Value)( + ILegacyIAccessibleProvider *This, + BSTR *pszValue); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + ILegacyIAccessibleProvider *This, + BSTR *pszDescription); + + HRESULT (STDMETHODCALLTYPE *get_Role)( + ILegacyIAccessibleProvider *This, + DWORD *pdwRole); + + HRESULT (STDMETHODCALLTYPE *get_State)( + ILegacyIAccessibleProvider *This, + DWORD *pdwState); + + HRESULT (STDMETHODCALLTYPE *get_Help)( + ILegacyIAccessibleProvider *This, + BSTR *pszHelp); + + HRESULT (STDMETHODCALLTYPE *get_KeyboardShortcut)( + ILegacyIAccessibleProvider *This, + BSTR *pszKeyboardShortcut); + + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ILegacyIAccessibleProvider *This, + SAFEARRAY **pvarSelectedChildren); + + HRESULT (STDMETHODCALLTYPE *get_DefaultAction)( + ILegacyIAccessibleProvider *This, + BSTR *pszDefaultAction); + + END_INTERFACE +} ILegacyIAccessibleProviderVtbl; + +interface ILegacyIAccessibleProvider { + CONST_VTBL ILegacyIAccessibleProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ILegacyIAccessibleProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILegacyIAccessibleProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILegacyIAccessibleProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ILegacyIAccessibleProvider methods ***/ +#define ILegacyIAccessibleProvider_Select(This,flagsSelect) (This)->lpVtbl->Select(This,flagsSelect) +#define ILegacyIAccessibleProvider_DoDefaultAction(This) (This)->lpVtbl->DoDefaultAction(This) +#define ILegacyIAccessibleProvider_SetValue(This,szValue) (This)->lpVtbl->SetValue(This,szValue) +#define ILegacyIAccessibleProvider_GetIAccessible(This,ppAccessible) (This)->lpVtbl->GetIAccessible(This,ppAccessible) +#define ILegacyIAccessibleProvider_get_ChildId(This,pRetVal) (This)->lpVtbl->get_ChildId(This,pRetVal) +#define ILegacyIAccessibleProvider_get_Name(This,pszName) (This)->lpVtbl->get_Name(This,pszName) +#define ILegacyIAccessibleProvider_get_Value(This,pszValue) (This)->lpVtbl->get_Value(This,pszValue) +#define ILegacyIAccessibleProvider_get_Description(This,pszDescription) (This)->lpVtbl->get_Description(This,pszDescription) +#define ILegacyIAccessibleProvider_get_Role(This,pdwRole) (This)->lpVtbl->get_Role(This,pdwRole) +#define ILegacyIAccessibleProvider_get_State(This,pdwState) (This)->lpVtbl->get_State(This,pdwState) +#define ILegacyIAccessibleProvider_get_Help(This,pszHelp) (This)->lpVtbl->get_Help(This,pszHelp) +#define ILegacyIAccessibleProvider_get_KeyboardShortcut(This,pszKeyboardShortcut) (This)->lpVtbl->get_KeyboardShortcut(This,pszKeyboardShortcut) +#define ILegacyIAccessibleProvider_GetSelection(This,pvarSelectedChildren) (This)->lpVtbl->GetSelection(This,pvarSelectedChildren) +#define ILegacyIAccessibleProvider_get_DefaultAction(This,pszDefaultAction) (This)->lpVtbl->get_DefaultAction(This,pszDefaultAction) +#else +/*** IUnknown methods ***/ +static inline HRESULT ILegacyIAccessibleProvider_QueryInterface(ILegacyIAccessibleProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ILegacyIAccessibleProvider_AddRef(ILegacyIAccessibleProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ILegacyIAccessibleProvider_Release(ILegacyIAccessibleProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ILegacyIAccessibleProvider methods ***/ +static inline HRESULT ILegacyIAccessibleProvider_Select(ILegacyIAccessibleProvider* This,LONG flagsSelect) { + return This->lpVtbl->Select(This,flagsSelect); +} +static inline HRESULT ILegacyIAccessibleProvider_DoDefaultAction(ILegacyIAccessibleProvider* This) { + return This->lpVtbl->DoDefaultAction(This); +} +static inline HRESULT ILegacyIAccessibleProvider_SetValue(ILegacyIAccessibleProvider* This,LPCWSTR szValue) { + return This->lpVtbl->SetValue(This,szValue); +} +static inline HRESULT ILegacyIAccessibleProvider_GetIAccessible(ILegacyIAccessibleProvider* This,IAccessible **ppAccessible) { + return This->lpVtbl->GetIAccessible(This,ppAccessible); +} +static inline HRESULT ILegacyIAccessibleProvider_get_ChildId(ILegacyIAccessibleProvider* This,int *pRetVal) { + return This->lpVtbl->get_ChildId(This,pRetVal); +} +static inline HRESULT ILegacyIAccessibleProvider_get_Name(ILegacyIAccessibleProvider* This,BSTR *pszName) { + return This->lpVtbl->get_Name(This,pszName); +} +static inline HRESULT ILegacyIAccessibleProvider_get_Value(ILegacyIAccessibleProvider* This,BSTR *pszValue) { + return This->lpVtbl->get_Value(This,pszValue); +} +static inline HRESULT ILegacyIAccessibleProvider_get_Description(ILegacyIAccessibleProvider* This,BSTR *pszDescription) { + return This->lpVtbl->get_Description(This,pszDescription); +} +static inline HRESULT ILegacyIAccessibleProvider_get_Role(ILegacyIAccessibleProvider* This,DWORD *pdwRole) { + return This->lpVtbl->get_Role(This,pdwRole); +} +static inline HRESULT ILegacyIAccessibleProvider_get_State(ILegacyIAccessibleProvider* This,DWORD *pdwState) { + return This->lpVtbl->get_State(This,pdwState); +} +static inline HRESULT ILegacyIAccessibleProvider_get_Help(ILegacyIAccessibleProvider* This,BSTR *pszHelp) { + return This->lpVtbl->get_Help(This,pszHelp); +} +static inline HRESULT ILegacyIAccessibleProvider_get_KeyboardShortcut(ILegacyIAccessibleProvider* This,BSTR *pszKeyboardShortcut) { + return This->lpVtbl->get_KeyboardShortcut(This,pszKeyboardShortcut); +} +static inline HRESULT ILegacyIAccessibleProvider_GetSelection(ILegacyIAccessibleProvider* This,SAFEARRAY **pvarSelectedChildren) { + return This->lpVtbl->GetSelection(This,pvarSelectedChildren); +} +static inline HRESULT ILegacyIAccessibleProvider_get_DefaultAction(ILegacyIAccessibleProvider* This,BSTR *pszDefaultAction) { + return This->lpVtbl->get_DefaultAction(This,pszDefaultAction); +} +#endif +#endif + +#endif + + +#endif /* __ILegacyIAccessibleProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDockProvider interface + */ +#ifndef __IDockProvider_INTERFACE_DEFINED__ +#define __IDockProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDockProvider, 0x159bc72c, 0x4ad3, 0x485e, 0x96,0x37, 0xd7,0x05,0x2e,0xdf,0x01,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("159bc72c-4ad3-485e-9637-d7052edf0146") +IDockProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetDockPosition( + enum DockPosition dockPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DockPosition( + enum DockPosition *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDockProvider, 0x159bc72c, 0x4ad3, 0x485e, 0x96,0x37, 0xd7,0x05,0x2e,0xdf,0x01,0x46) +#endif +#else +typedef struct IDockProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDockProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDockProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDockProvider *This); + + /*** IDockProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetDockPosition)( + IDockProvider *This, + enum DockPosition dockPosition); + + HRESULT (STDMETHODCALLTYPE *get_DockPosition)( + IDockProvider *This, + enum DockPosition *pRetVal); + + END_INTERFACE +} IDockProviderVtbl; + +interface IDockProvider { + CONST_VTBL IDockProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDockProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDockProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDockProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IDockProvider methods ***/ +#define IDockProvider_SetDockPosition(This,dockPosition) (This)->lpVtbl->SetDockPosition(This,dockPosition) +#define IDockProvider_get_DockPosition(This,pRetVal) (This)->lpVtbl->get_DockPosition(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDockProvider_QueryInterface(IDockProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDockProvider_AddRef(IDockProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDockProvider_Release(IDockProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IDockProvider methods ***/ +static inline HRESULT IDockProvider_SetDockPosition(IDockProvider* This,enum DockPosition dockPosition) { + return This->lpVtbl->SetDockPosition(This,dockPosition); +} +static inline HRESULT IDockProvider_get_DockPosition(IDockProvider* This,enum DockPosition *pRetVal) { + return This->lpVtbl->get_DockPosition(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IDockProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IExpandCollapseProvider interface + */ +#ifndef __IExpandCollapseProvider_INTERFACE_DEFINED__ +#define __IExpandCollapseProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d847d3a5-cab0-4a98-8c32-ecb45c59ad24") +IExpandCollapseProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Expand( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Collapse( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ExpandCollapseState( + enum ExpandCollapseState *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IExpandCollapseProvider, 0xd847d3a5, 0xcab0, 0x4a98, 0x8c,0x32, 0xec,0xb4,0x5c,0x59,0xad,0x24) +#endif +#else +typedef struct IExpandCollapseProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IExpandCollapseProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IExpandCollapseProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IExpandCollapseProvider *This); + + /*** IExpandCollapseProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Expand)( + IExpandCollapseProvider *This); + + HRESULT (STDMETHODCALLTYPE *Collapse)( + IExpandCollapseProvider *This); + + HRESULT (STDMETHODCALLTYPE *get_ExpandCollapseState)( + IExpandCollapseProvider *This, + enum ExpandCollapseState *pRetVal); + + END_INTERFACE +} IExpandCollapseProviderVtbl; + +interface IExpandCollapseProvider { + CONST_VTBL IExpandCollapseProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IExpandCollapseProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IExpandCollapseProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IExpandCollapseProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IExpandCollapseProvider methods ***/ +#define IExpandCollapseProvider_Expand(This) (This)->lpVtbl->Expand(This) +#define IExpandCollapseProvider_Collapse(This) (This)->lpVtbl->Collapse(This) +#define IExpandCollapseProvider_get_ExpandCollapseState(This,pRetVal) (This)->lpVtbl->get_ExpandCollapseState(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IExpandCollapseProvider_QueryInterface(IExpandCollapseProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IExpandCollapseProvider_AddRef(IExpandCollapseProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IExpandCollapseProvider_Release(IExpandCollapseProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IExpandCollapseProvider methods ***/ +static inline HRESULT IExpandCollapseProvider_Expand(IExpandCollapseProvider* This) { + return This->lpVtbl->Expand(This); +} +static inline HRESULT IExpandCollapseProvider_Collapse(IExpandCollapseProvider* This) { + return This->lpVtbl->Collapse(This); +} +static inline HRESULT IExpandCollapseProvider_get_ExpandCollapseState(IExpandCollapseProvider* This,enum ExpandCollapseState *pRetVal) { + return This->lpVtbl->get_ExpandCollapseState(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IExpandCollapseProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IGridProvider interface + */ +#ifndef __IGridProvider_INTERFACE_DEFINED__ +#define __IGridProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b17d6187-0907-464b-a168-0ef17a1572b1") +IGridProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetItem( + int row, + int column, + IRawElementProviderSimple **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RowCount( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ColumnCount( + int *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGridProvider, 0xb17d6187, 0x0907, 0x464b, 0xa1,0x68, 0x0e,0xf1,0x7a,0x15,0x72,0xb1) +#endif +#else +typedef struct IGridProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IGridProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IGridProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IGridProvider *This); + + /*** IGridProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItem)( + IGridProvider *This, + int row, + int column, + IRawElementProviderSimple **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_RowCount)( + IGridProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ColumnCount)( + IGridProvider *This, + int *pRetVal); + + END_INTERFACE +} IGridProviderVtbl; + +interface IGridProvider { + CONST_VTBL IGridProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IGridProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IGridProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IGridProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IGridProvider methods ***/ +#define IGridProvider_GetItem(This,row,column,pRetVal) (This)->lpVtbl->GetItem(This,row,column,pRetVal) +#define IGridProvider_get_RowCount(This,pRetVal) (This)->lpVtbl->get_RowCount(This,pRetVal) +#define IGridProvider_get_ColumnCount(This,pRetVal) (This)->lpVtbl->get_ColumnCount(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IGridProvider_QueryInterface(IGridProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IGridProvider_AddRef(IGridProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IGridProvider_Release(IGridProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IGridProvider methods ***/ +static inline HRESULT IGridProvider_GetItem(IGridProvider* This,int row,int column,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->GetItem(This,row,column,pRetVal); +} +static inline HRESULT IGridProvider_get_RowCount(IGridProvider* This,int *pRetVal) { + return This->lpVtbl->get_RowCount(This,pRetVal); +} +static inline HRESULT IGridProvider_get_ColumnCount(IGridProvider* This,int *pRetVal) { + return This->lpVtbl->get_ColumnCount(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IGridProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IGridItemProvider interface + */ +#ifndef __IGridItemProvider_INTERFACE_DEFINED__ +#define __IGridItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d02541f1-fb81-4d64-ae32-f520f8a6dbd1") +IGridItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Row( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Column( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RowSpan( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ColumnSpan( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContainingGrid( + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGridItemProvider, 0xd02541f1, 0xfb81, 0x4d64, 0xae,0x32, 0xf5,0x20,0xf8,0xa6,0xdb,0xd1) +#endif +#else +typedef struct IGridItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IGridItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IGridItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IGridItemProvider *This); + + /*** IGridItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Row)( + IGridItemProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_Column)( + IGridItemProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_RowSpan)( + IGridItemProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ColumnSpan)( + IGridItemProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ContainingGrid)( + IGridItemProvider *This, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} IGridItemProviderVtbl; + +interface IGridItemProvider { + CONST_VTBL IGridItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IGridItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IGridItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IGridItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IGridItemProvider methods ***/ +#define IGridItemProvider_get_Row(This,pRetVal) (This)->lpVtbl->get_Row(This,pRetVal) +#define IGridItemProvider_get_Column(This,pRetVal) (This)->lpVtbl->get_Column(This,pRetVal) +#define IGridItemProvider_get_RowSpan(This,pRetVal) (This)->lpVtbl->get_RowSpan(This,pRetVal) +#define IGridItemProvider_get_ColumnSpan(This,pRetVal) (This)->lpVtbl->get_ColumnSpan(This,pRetVal) +#define IGridItemProvider_get_ContainingGrid(This,pRetVal) (This)->lpVtbl->get_ContainingGrid(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IGridItemProvider_QueryInterface(IGridItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IGridItemProvider_AddRef(IGridItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IGridItemProvider_Release(IGridItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IGridItemProvider methods ***/ +static inline HRESULT IGridItemProvider_get_Row(IGridItemProvider* This,int *pRetVal) { + return This->lpVtbl->get_Row(This,pRetVal); +} +static inline HRESULT IGridItemProvider_get_Column(IGridItemProvider* This,int *pRetVal) { + return This->lpVtbl->get_Column(This,pRetVal); +} +static inline HRESULT IGridItemProvider_get_RowSpan(IGridItemProvider* This,int *pRetVal) { + return This->lpVtbl->get_RowSpan(This,pRetVal); +} +static inline HRESULT IGridItemProvider_get_ColumnSpan(IGridItemProvider* This,int *pRetVal) { + return This->lpVtbl->get_ColumnSpan(This,pRetVal); +} +static inline HRESULT IGridItemProvider_get_ContainingGrid(IGridItemProvider* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_ContainingGrid(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IGridItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IInvokeProvider interface + */ +#ifndef __IInvokeProvider_INTERFACE_DEFINED__ +#define __IInvokeProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("54fcb24b-e18e-47a2-b4d3-eccbe77599a2") +IInvokeProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Invoke( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInvokeProvider, 0x54fcb24b, 0xe18e, 0x47a2, 0xb4,0xd3, 0xec,0xcb,0xe7,0x75,0x99,0xa2) +#endif +#else +typedef struct IInvokeProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInvokeProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInvokeProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInvokeProvider *This); + + /*** IInvokeProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Invoke)( + IInvokeProvider *This); + + END_INTERFACE +} IInvokeProviderVtbl; + +interface IInvokeProvider { + CONST_VTBL IInvokeProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInvokeProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInvokeProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInvokeProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IInvokeProvider methods ***/ +#define IInvokeProvider_Invoke(This) (This)->lpVtbl->Invoke(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInvokeProvider_QueryInterface(IInvokeProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInvokeProvider_AddRef(IInvokeProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInvokeProvider_Release(IInvokeProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IInvokeProvider methods ***/ +static inline HRESULT IInvokeProvider_Invoke(IInvokeProvider* This) { + return This->lpVtbl->Invoke(This); +} +#endif +#endif + +#endif + + +#endif /* __IInvokeProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMultipleViewProvider interface + */ +#ifndef __IMultipleViewProvider_INTERFACE_DEFINED__ +#define __IMultipleViewProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMultipleViewProvider, 0x6278cab1, 0xb556, 0x4a1a, 0xb4,0xe0, 0x41,0x8a,0xcc,0x52,0x32,0x01); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6278cab1-b556-4a1a-b4e0-418acc523201") +IMultipleViewProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetViewName( + int viewId, + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCurrentView( + int viewId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentView( + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSupportedViews( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMultipleViewProvider, 0x6278cab1, 0xb556, 0x4a1a, 0xb4,0xe0, 0x41,0x8a,0xcc,0x52,0x32,0x01) +#endif +#else +typedef struct IMultipleViewProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMultipleViewProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMultipleViewProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMultipleViewProvider *This); + + /*** IMultipleViewProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetViewName)( + IMultipleViewProvider *This, + int viewId, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *SetCurrentView)( + IMultipleViewProvider *This, + int viewId); + + HRESULT (STDMETHODCALLTYPE *get_CurrentView)( + IMultipleViewProvider *This, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetSupportedViews)( + IMultipleViewProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} IMultipleViewProviderVtbl; + +interface IMultipleViewProvider { + CONST_VTBL IMultipleViewProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMultipleViewProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMultipleViewProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMultipleViewProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IMultipleViewProvider methods ***/ +#define IMultipleViewProvider_GetViewName(This,viewId,pRetVal) (This)->lpVtbl->GetViewName(This,viewId,pRetVal) +#define IMultipleViewProvider_SetCurrentView(This,viewId) (This)->lpVtbl->SetCurrentView(This,viewId) +#define IMultipleViewProvider_get_CurrentView(This,pRetVal) (This)->lpVtbl->get_CurrentView(This,pRetVal) +#define IMultipleViewProvider_GetSupportedViews(This,pRetVal) (This)->lpVtbl->GetSupportedViews(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMultipleViewProvider_QueryInterface(IMultipleViewProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMultipleViewProvider_AddRef(IMultipleViewProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMultipleViewProvider_Release(IMultipleViewProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IMultipleViewProvider methods ***/ +static inline HRESULT IMultipleViewProvider_GetViewName(IMultipleViewProvider* This,int viewId,BSTR *pRetVal) { + return This->lpVtbl->GetViewName(This,viewId,pRetVal); +} +static inline HRESULT IMultipleViewProvider_SetCurrentView(IMultipleViewProvider* This,int viewId) { + return This->lpVtbl->SetCurrentView(This,viewId); +} +static inline HRESULT IMultipleViewProvider_get_CurrentView(IMultipleViewProvider* This,int *pRetVal) { + return This->lpVtbl->get_CurrentView(This,pRetVal); +} +static inline HRESULT IMultipleViewProvider_GetSupportedViews(IMultipleViewProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSupportedViews(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IMultipleViewProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IRangeValueProvider interface + */ +#ifndef __IRangeValueProvider_INTERFACE_DEFINED__ +#define __IRangeValueProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("36dc7aef-33e6-4691-afe1-2be7274b3d33") +IRangeValueProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetValue( + double val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Value( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Maximum( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Minimum( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LargeChange( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SmallChange( + double *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IRangeValueProvider, 0x36dc7aef, 0x33e6, 0x4691, 0xaf,0xe1, 0x2b,0xe7,0x27,0x4b,0x3d,0x33) +#endif +#else +typedef struct IRangeValueProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IRangeValueProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IRangeValueProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IRangeValueProvider *This); + + /*** IRangeValueProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetValue)( + IRangeValueProvider *This, + double val); + + HRESULT (STDMETHODCALLTYPE *get_Value)( + IRangeValueProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsReadOnly)( + IRangeValueProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_Maximum)( + IRangeValueProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_Minimum)( + IRangeValueProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_LargeChange)( + IRangeValueProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_SmallChange)( + IRangeValueProvider *This, + double *pRetVal); + + END_INTERFACE +} IRangeValueProviderVtbl; + +interface IRangeValueProvider { + CONST_VTBL IRangeValueProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IRangeValueProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRangeValueProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRangeValueProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IRangeValueProvider methods ***/ +#define IRangeValueProvider_SetValue(This,val) (This)->lpVtbl->SetValue(This,val) +#define IRangeValueProvider_get_Value(This,pRetVal) (This)->lpVtbl->get_Value(This,pRetVal) +#define IRangeValueProvider_get_IsReadOnly(This,pRetVal) (This)->lpVtbl->get_IsReadOnly(This,pRetVal) +#define IRangeValueProvider_get_Maximum(This,pRetVal) (This)->lpVtbl->get_Maximum(This,pRetVal) +#define IRangeValueProvider_get_Minimum(This,pRetVal) (This)->lpVtbl->get_Minimum(This,pRetVal) +#define IRangeValueProvider_get_LargeChange(This,pRetVal) (This)->lpVtbl->get_LargeChange(This,pRetVal) +#define IRangeValueProvider_get_SmallChange(This,pRetVal) (This)->lpVtbl->get_SmallChange(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IRangeValueProvider_QueryInterface(IRangeValueProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IRangeValueProvider_AddRef(IRangeValueProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IRangeValueProvider_Release(IRangeValueProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IRangeValueProvider methods ***/ +static inline HRESULT IRangeValueProvider_SetValue(IRangeValueProvider* This,double val) { + return This->lpVtbl->SetValue(This,val); +} +static inline HRESULT IRangeValueProvider_get_Value(IRangeValueProvider* This,double *pRetVal) { + return This->lpVtbl->get_Value(This,pRetVal); +} +static inline HRESULT IRangeValueProvider_get_IsReadOnly(IRangeValueProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsReadOnly(This,pRetVal); +} +static inline HRESULT IRangeValueProvider_get_Maximum(IRangeValueProvider* This,double *pRetVal) { + return This->lpVtbl->get_Maximum(This,pRetVal); +} +static inline HRESULT IRangeValueProvider_get_Minimum(IRangeValueProvider* This,double *pRetVal) { + return This->lpVtbl->get_Minimum(This,pRetVal); +} +static inline HRESULT IRangeValueProvider_get_LargeChange(IRangeValueProvider* This,double *pRetVal) { + return This->lpVtbl->get_LargeChange(This,pRetVal); +} +static inline HRESULT IRangeValueProvider_get_SmallChange(IRangeValueProvider* This,double *pRetVal) { + return This->lpVtbl->get_SmallChange(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IRangeValueProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IScrollItemProvider interface + */ +#ifndef __IScrollItemProvider_INTERFACE_DEFINED__ +#define __IScrollItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IScrollItemProvider, 0x2360c714, 0x4bf1, 0x4b26, 0xba,0x65, 0x9b,0x21,0x31,0x61,0x27,0xeb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2360c714-4bf1-4b26-ba65-9b21316127eb") +IScrollItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IScrollItemProvider, 0x2360c714, 0x4bf1, 0x4b26, 0xba,0x65, 0x9b,0x21,0x31,0x61,0x27,0xeb) +#endif +#else +typedef struct IScrollItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IScrollItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IScrollItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IScrollItemProvider *This); + + /*** IScrollItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + IScrollItemProvider *This); + + END_INTERFACE +} IScrollItemProviderVtbl; + +interface IScrollItemProvider { + CONST_VTBL IScrollItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IScrollItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IScrollItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IScrollItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IScrollItemProvider methods ***/ +#define IScrollItemProvider_ScrollIntoView(This) (This)->lpVtbl->ScrollIntoView(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IScrollItemProvider_QueryInterface(IScrollItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IScrollItemProvider_AddRef(IScrollItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IScrollItemProvider_Release(IScrollItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IScrollItemProvider methods ***/ +static inline HRESULT IScrollItemProvider_ScrollIntoView(IScrollItemProvider* This) { + return This->lpVtbl->ScrollIntoView(This); +} +#endif +#endif + +#endif + + +#endif /* __IScrollItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISelectionProvider interface + */ +#ifndef __ISelectionProvider_INTERFACE_DEFINED__ +#define __ISelectionProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fb8b03af-3bdf-48d4-bd36-1a65793be168") +ISelectionProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSelection( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanSelectMultiple( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsSelectionRequired( + WINBOOL *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelectionProvider, 0xfb8b03af, 0x3bdf, 0x48d4, 0xbd,0x36, 0x1a,0x65,0x79,0x3b,0xe1,0x68) +#endif +#else +typedef struct ISelectionProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISelectionProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISelectionProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISelectionProvider *This); + + /*** ISelectionProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ISelectionProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanSelectMultiple)( + ISelectionProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsSelectionRequired)( + ISelectionProvider *This, + WINBOOL *pRetVal); + + END_INTERFACE +} ISelectionProviderVtbl; + +interface ISelectionProvider { + CONST_VTBL ISelectionProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISelectionProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISelectionProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISelectionProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ISelectionProvider methods ***/ +#define ISelectionProvider_GetSelection(This,pRetVal) (This)->lpVtbl->GetSelection(This,pRetVal) +#define ISelectionProvider_get_CanSelectMultiple(This,pRetVal) (This)->lpVtbl->get_CanSelectMultiple(This,pRetVal) +#define ISelectionProvider_get_IsSelectionRequired(This,pRetVal) (This)->lpVtbl->get_IsSelectionRequired(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISelectionProvider_QueryInterface(ISelectionProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISelectionProvider_AddRef(ISelectionProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISelectionProvider_Release(ISelectionProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ISelectionProvider methods ***/ +static inline HRESULT ISelectionProvider_GetSelection(ISelectionProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSelection(This,pRetVal); +} +static inline HRESULT ISelectionProvider_get_CanSelectMultiple(ISelectionProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanSelectMultiple(This,pRetVal); +} +static inline HRESULT ISelectionProvider_get_IsSelectionRequired(ISelectionProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsSelectionRequired(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ISelectionProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISelectionProvider2 interface + */ +#ifndef __ISelectionProvider2_INTERFACE_DEFINED__ +#define __ISelectionProvider2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISelectionProvider2, 0x14f68475, 0xee1c, 0x44f6, 0xa8,0x69, 0xd2,0x39,0x38,0x1f,0x0f,0xe7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("14f68475-ee1c-44f6-a869-d239381f0fe7") +ISelectionProvider2 : public ISelectionProvider +{ + virtual HRESULT STDMETHODCALLTYPE get_FirstSelectedItem( + IRawElementProviderSimple **val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LastSelectedItem( + IRawElementProviderSimple **val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentSelectedItem( + IRawElementProviderSimple **val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ItemCount( + int *val) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelectionProvider2, 0x14f68475, 0xee1c, 0x44f6, 0xa8,0x69, 0xd2,0x39,0x38,0x1f,0x0f,0xe7) +#endif +#else +typedef struct ISelectionProvider2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISelectionProvider2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISelectionProvider2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISelectionProvider2 *This); + + /*** ISelectionProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ISelectionProvider2 *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanSelectMultiple)( + ISelectionProvider2 *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsSelectionRequired)( + ISelectionProvider2 *This, + WINBOOL *pRetVal); + + /*** ISelectionProvider2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_FirstSelectedItem)( + ISelectionProvider2 *This, + IRawElementProviderSimple **val); + + HRESULT (STDMETHODCALLTYPE *get_LastSelectedItem)( + ISelectionProvider2 *This, + IRawElementProviderSimple **val); + + HRESULT (STDMETHODCALLTYPE *get_CurrentSelectedItem)( + ISelectionProvider2 *This, + IRawElementProviderSimple **val); + + HRESULT (STDMETHODCALLTYPE *get_ItemCount)( + ISelectionProvider2 *This, + int *val); + + END_INTERFACE +} ISelectionProvider2Vtbl; + +interface ISelectionProvider2 { + CONST_VTBL ISelectionProvider2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISelectionProvider2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISelectionProvider2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISelectionProvider2_Release(This) (This)->lpVtbl->Release(This) +/*** ISelectionProvider methods ***/ +#define ISelectionProvider2_GetSelection(This,pRetVal) (This)->lpVtbl->GetSelection(This,pRetVal) +#define ISelectionProvider2_get_CanSelectMultiple(This,pRetVal) (This)->lpVtbl->get_CanSelectMultiple(This,pRetVal) +#define ISelectionProvider2_get_IsSelectionRequired(This,pRetVal) (This)->lpVtbl->get_IsSelectionRequired(This,pRetVal) +/*** ISelectionProvider2 methods ***/ +#define ISelectionProvider2_get_FirstSelectedItem(This,val) (This)->lpVtbl->get_FirstSelectedItem(This,val) +#define ISelectionProvider2_get_LastSelectedItem(This,val) (This)->lpVtbl->get_LastSelectedItem(This,val) +#define ISelectionProvider2_get_CurrentSelectedItem(This,val) (This)->lpVtbl->get_CurrentSelectedItem(This,val) +#define ISelectionProvider2_get_ItemCount(This,val) (This)->lpVtbl->get_ItemCount(This,val) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISelectionProvider2_QueryInterface(ISelectionProvider2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISelectionProvider2_AddRef(ISelectionProvider2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISelectionProvider2_Release(ISelectionProvider2* This) { + return This->lpVtbl->Release(This); +} +/*** ISelectionProvider methods ***/ +static inline HRESULT ISelectionProvider2_GetSelection(ISelectionProvider2* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSelection(This,pRetVal); +} +static inline HRESULT ISelectionProvider2_get_CanSelectMultiple(ISelectionProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanSelectMultiple(This,pRetVal); +} +static inline HRESULT ISelectionProvider2_get_IsSelectionRequired(ISelectionProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsSelectionRequired(This,pRetVal); +} +/*** ISelectionProvider2 methods ***/ +static inline HRESULT ISelectionProvider2_get_FirstSelectedItem(ISelectionProvider2* This,IRawElementProviderSimple **val) { + return This->lpVtbl->get_FirstSelectedItem(This,val); +} +static inline HRESULT ISelectionProvider2_get_LastSelectedItem(ISelectionProvider2* This,IRawElementProviderSimple **val) { + return This->lpVtbl->get_LastSelectedItem(This,val); +} +static inline HRESULT ISelectionProvider2_get_CurrentSelectedItem(ISelectionProvider2* This,IRawElementProviderSimple **val) { + return This->lpVtbl->get_CurrentSelectedItem(This,val); +} +static inline HRESULT ISelectionProvider2_get_ItemCount(ISelectionProvider2* This,int *val) { + return This->lpVtbl->get_ItemCount(This,val); +} +#endif +#endif + +#endif + + +#endif /* __ISelectionProvider2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IScrollProvider interface + */ +#ifndef __IScrollProvider_INTERFACE_DEFINED__ +#define __IScrollProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IScrollProvider, 0xb38b8077, 0x1fc3, 0x42a5, 0x8c,0xae, 0xd4,0x0c,0x22,0x15,0x05,0x5a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b38b8077-1fc3-42a5-8cae-d40c2215055a") +IScrollProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Scroll( + enum ScrollAmount horizontalAmount, + enum ScrollAmount verticalAmount) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetScrollPercent( + double horizontalPercent, + double verticalPercent) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HorizontalScrollPercent( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_VerticalScrollPercent( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HorizontalViewSize( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_VerticalViewSize( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HorizontallyScrollable( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_VerticallyScrollable( + WINBOOL *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IScrollProvider, 0xb38b8077, 0x1fc3, 0x42a5, 0x8c,0xae, 0xd4,0x0c,0x22,0x15,0x05,0x5a) +#endif +#else +typedef struct IScrollProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IScrollProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IScrollProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IScrollProvider *This); + + /*** IScrollProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Scroll)( + IScrollProvider *This, + enum ScrollAmount horizontalAmount, + enum ScrollAmount verticalAmount); + + HRESULT (STDMETHODCALLTYPE *SetScrollPercent)( + IScrollProvider *This, + double horizontalPercent, + double verticalPercent); + + HRESULT (STDMETHODCALLTYPE *get_HorizontalScrollPercent)( + IScrollProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_VerticalScrollPercent)( + IScrollProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_HorizontalViewSize)( + IScrollProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_VerticalViewSize)( + IScrollProvider *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_HorizontallyScrollable)( + IScrollProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_VerticallyScrollable)( + IScrollProvider *This, + WINBOOL *pRetVal); + + END_INTERFACE +} IScrollProviderVtbl; + +interface IScrollProvider { + CONST_VTBL IScrollProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IScrollProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IScrollProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IScrollProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IScrollProvider methods ***/ +#define IScrollProvider_Scroll(This,horizontalAmount,verticalAmount) (This)->lpVtbl->Scroll(This,horizontalAmount,verticalAmount) +#define IScrollProvider_SetScrollPercent(This,horizontalPercent,verticalPercent) (This)->lpVtbl->SetScrollPercent(This,horizontalPercent,verticalPercent) +#define IScrollProvider_get_HorizontalScrollPercent(This,pRetVal) (This)->lpVtbl->get_HorizontalScrollPercent(This,pRetVal) +#define IScrollProvider_get_VerticalScrollPercent(This,pRetVal) (This)->lpVtbl->get_VerticalScrollPercent(This,pRetVal) +#define IScrollProvider_get_HorizontalViewSize(This,pRetVal) (This)->lpVtbl->get_HorizontalViewSize(This,pRetVal) +#define IScrollProvider_get_VerticalViewSize(This,pRetVal) (This)->lpVtbl->get_VerticalViewSize(This,pRetVal) +#define IScrollProvider_get_HorizontallyScrollable(This,pRetVal) (This)->lpVtbl->get_HorizontallyScrollable(This,pRetVal) +#define IScrollProvider_get_VerticallyScrollable(This,pRetVal) (This)->lpVtbl->get_VerticallyScrollable(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IScrollProvider_QueryInterface(IScrollProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IScrollProvider_AddRef(IScrollProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IScrollProvider_Release(IScrollProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IScrollProvider methods ***/ +static inline HRESULT IScrollProvider_Scroll(IScrollProvider* This,enum ScrollAmount horizontalAmount,enum ScrollAmount verticalAmount) { + return This->lpVtbl->Scroll(This,horizontalAmount,verticalAmount); +} +static inline HRESULT IScrollProvider_SetScrollPercent(IScrollProvider* This,double horizontalPercent,double verticalPercent) { + return This->lpVtbl->SetScrollPercent(This,horizontalPercent,verticalPercent); +} +static inline HRESULT IScrollProvider_get_HorizontalScrollPercent(IScrollProvider* This,double *pRetVal) { + return This->lpVtbl->get_HorizontalScrollPercent(This,pRetVal); +} +static inline HRESULT IScrollProvider_get_VerticalScrollPercent(IScrollProvider* This,double *pRetVal) { + return This->lpVtbl->get_VerticalScrollPercent(This,pRetVal); +} +static inline HRESULT IScrollProvider_get_HorizontalViewSize(IScrollProvider* This,double *pRetVal) { + return This->lpVtbl->get_HorizontalViewSize(This,pRetVal); +} +static inline HRESULT IScrollProvider_get_VerticalViewSize(IScrollProvider* This,double *pRetVal) { + return This->lpVtbl->get_VerticalViewSize(This,pRetVal); +} +static inline HRESULT IScrollProvider_get_HorizontallyScrollable(IScrollProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_HorizontallyScrollable(This,pRetVal); +} +static inline HRESULT IScrollProvider_get_VerticallyScrollable(IScrollProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_VerticallyScrollable(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IScrollProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISelectionItemProvider interface + */ +#ifndef __ISelectionItemProvider_INTERFACE_DEFINED__ +#define __ISelectionItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2acad808-b2d4-452d-a407-91ff1ad167b2") +ISelectionItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Select( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddToSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsSelected( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SelectionContainer( + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelectionItemProvider, 0x2acad808, 0xb2d4, 0x452d, 0xa4,0x07, 0x91,0xff,0x1a,0xd1,0x67,0xb2) +#endif +#else +typedef struct ISelectionItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISelectionItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISelectionItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISelectionItemProvider *This); + + /*** ISelectionItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Select)( + ISelectionItemProvider *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + ISelectionItemProvider *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + ISelectionItemProvider *This); + + HRESULT (STDMETHODCALLTYPE *get_IsSelected)( + ISelectionItemProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_SelectionContainer)( + ISelectionItemProvider *This, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} ISelectionItemProviderVtbl; + +interface ISelectionItemProvider { + CONST_VTBL ISelectionItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISelectionItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISelectionItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISelectionItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ISelectionItemProvider methods ***/ +#define ISelectionItemProvider_Select(This) (This)->lpVtbl->Select(This) +#define ISelectionItemProvider_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define ISelectionItemProvider_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define ISelectionItemProvider_get_IsSelected(This,pRetVal) (This)->lpVtbl->get_IsSelected(This,pRetVal) +#define ISelectionItemProvider_get_SelectionContainer(This,pRetVal) (This)->lpVtbl->get_SelectionContainer(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISelectionItemProvider_QueryInterface(ISelectionItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISelectionItemProvider_AddRef(ISelectionItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISelectionItemProvider_Release(ISelectionItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ISelectionItemProvider methods ***/ +static inline HRESULT ISelectionItemProvider_Select(ISelectionItemProvider* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT ISelectionItemProvider_AddToSelection(ISelectionItemProvider* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT ISelectionItemProvider_RemoveFromSelection(ISelectionItemProvider* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT ISelectionItemProvider_get_IsSelected(ISelectionItemProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsSelected(This,pRetVal); +} +static inline HRESULT ISelectionItemProvider_get_SelectionContainer(ISelectionItemProvider* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_SelectionContainer(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ISelectionItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISynchronizedInputProvider interface + */ +#ifndef __ISynchronizedInputProvider_INTERFACE_DEFINED__ +#define __ISynchronizedInputProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISynchronizedInputProvider, 0x29db1a06, 0x02ce, 0x4cf7, 0x9b,0x42, 0x56,0x5d,0x4f,0xab,0x20,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("29db1a06-02ce-4cf7-9b42-565d4fab20ee") +ISynchronizedInputProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE StartListening( + enum SynchronizedInputType inputType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISynchronizedInputProvider, 0x29db1a06, 0x02ce, 0x4cf7, 0x9b,0x42, 0x56,0x5d,0x4f,0xab,0x20,0xee) +#endif +#else +typedef struct ISynchronizedInputProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISynchronizedInputProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISynchronizedInputProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISynchronizedInputProvider *This); + + /*** ISynchronizedInputProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *StartListening)( + ISynchronizedInputProvider *This, + enum SynchronizedInputType inputType); + + HRESULT (STDMETHODCALLTYPE *Cancel)( + ISynchronizedInputProvider *This); + + END_INTERFACE +} ISynchronizedInputProviderVtbl; + +interface ISynchronizedInputProvider { + CONST_VTBL ISynchronizedInputProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISynchronizedInputProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISynchronizedInputProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISynchronizedInputProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ISynchronizedInputProvider methods ***/ +#define ISynchronizedInputProvider_StartListening(This,inputType) (This)->lpVtbl->StartListening(This,inputType) +#define ISynchronizedInputProvider_Cancel(This) (This)->lpVtbl->Cancel(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISynchronizedInputProvider_QueryInterface(ISynchronizedInputProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISynchronizedInputProvider_AddRef(ISynchronizedInputProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISynchronizedInputProvider_Release(ISynchronizedInputProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ISynchronizedInputProvider methods ***/ +static inline HRESULT ISynchronizedInputProvider_StartListening(ISynchronizedInputProvider* This,enum SynchronizedInputType inputType) { + return This->lpVtbl->StartListening(This,inputType); +} +static inline HRESULT ISynchronizedInputProvider_Cancel(ISynchronizedInputProvider* This) { + return This->lpVtbl->Cancel(This); +} +#endif +#endif + +#endif + + +#endif /* __ISynchronizedInputProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITableProvider interface + */ +#ifndef __ITableProvider_INTERFACE_DEFINED__ +#define __ITableProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9c860395-97b3-490a-b52a-858cc22af166") +ITableProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetRowHeaders( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColumnHeaders( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RowOrColumnMajor( + enum RowOrColumnMajor *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITableProvider, 0x9c860395, 0x97b3, 0x490a, 0xb5,0x2a, 0x85,0x8c,0xc2,0x2a,0xf1,0x66) +#endif +#else +typedef struct ITableProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITableProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITableProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITableProvider *This); + + /*** ITableProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRowHeaders)( + ITableProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetColumnHeaders)( + ITableProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_RowOrColumnMajor)( + ITableProvider *This, + enum RowOrColumnMajor *pRetVal); + + END_INTERFACE +} ITableProviderVtbl; + +interface ITableProvider { + CONST_VTBL ITableProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITableProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITableProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITableProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITableProvider methods ***/ +#define ITableProvider_GetRowHeaders(This,pRetVal) (This)->lpVtbl->GetRowHeaders(This,pRetVal) +#define ITableProvider_GetColumnHeaders(This,pRetVal) (This)->lpVtbl->GetColumnHeaders(This,pRetVal) +#define ITableProvider_get_RowOrColumnMajor(This,pRetVal) (This)->lpVtbl->get_RowOrColumnMajor(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITableProvider_QueryInterface(ITableProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITableProvider_AddRef(ITableProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITableProvider_Release(ITableProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITableProvider methods ***/ +static inline HRESULT ITableProvider_GetRowHeaders(ITableProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetRowHeaders(This,pRetVal); +} +static inline HRESULT ITableProvider_GetColumnHeaders(ITableProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetColumnHeaders(This,pRetVal); +} +static inline HRESULT ITableProvider_get_RowOrColumnMajor(ITableProvider* This,enum RowOrColumnMajor *pRetVal) { + return This->lpVtbl->get_RowOrColumnMajor(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITableProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITableItemProvider interface + */ +#ifndef __ITableItemProvider_INTERFACE_DEFINED__ +#define __ITableItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b9734fa6-771f-4d78-9c90-2517999349cd") +ITableItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetRowHeaderItems( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColumnHeaderItems( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITableItemProvider, 0xb9734fa6, 0x771f, 0x4d78, 0x9c,0x90, 0x25,0x17,0x99,0x93,0x49,0xcd) +#endif +#else +typedef struct ITableItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITableItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITableItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITableItemProvider *This); + + /*** ITableItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRowHeaderItems)( + ITableItemProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetColumnHeaderItems)( + ITableItemProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} ITableItemProviderVtbl; + +interface ITableItemProvider { + CONST_VTBL ITableItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITableItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITableItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITableItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITableItemProvider methods ***/ +#define ITableItemProvider_GetRowHeaderItems(This,pRetVal) (This)->lpVtbl->GetRowHeaderItems(This,pRetVal) +#define ITableItemProvider_GetColumnHeaderItems(This,pRetVal) (This)->lpVtbl->GetColumnHeaderItems(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITableItemProvider_QueryInterface(ITableItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITableItemProvider_AddRef(ITableItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITableItemProvider_Release(ITableItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITableItemProvider methods ***/ +static inline HRESULT ITableItemProvider_GetRowHeaderItems(ITableItemProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetRowHeaderItems(This,pRetVal); +} +static inline HRESULT ITableItemProvider_GetColumnHeaderItems(ITableItemProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetColumnHeaderItems(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITableItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IToggleProvider interface + */ +#ifndef __IToggleProvider_INTERFACE_DEFINED__ +#define __IToggleProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("56d00bd0-c4f4-433c-a836-1a52a57e0892") +IToggleProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Toggle( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ToggleState( + enum ToggleState *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IToggleProvider, 0x56d00bd0, 0xc4f4, 0x433c, 0xa8,0x36, 0x1a,0x52,0xa5,0x7e,0x08,0x92) +#endif +#else +typedef struct IToggleProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IToggleProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IToggleProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IToggleProvider *This); + + /*** IToggleProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Toggle)( + IToggleProvider *This); + + HRESULT (STDMETHODCALLTYPE *get_ToggleState)( + IToggleProvider *This, + enum ToggleState *pRetVal); + + END_INTERFACE +} IToggleProviderVtbl; + +interface IToggleProvider { + CONST_VTBL IToggleProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IToggleProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IToggleProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IToggleProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IToggleProvider methods ***/ +#define IToggleProvider_Toggle(This) (This)->lpVtbl->Toggle(This) +#define IToggleProvider_get_ToggleState(This,pRetVal) (This)->lpVtbl->get_ToggleState(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IToggleProvider_QueryInterface(IToggleProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IToggleProvider_AddRef(IToggleProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IToggleProvider_Release(IToggleProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IToggleProvider methods ***/ +static inline HRESULT IToggleProvider_Toggle(IToggleProvider* This) { + return This->lpVtbl->Toggle(This); +} +static inline HRESULT IToggleProvider_get_ToggleState(IToggleProvider* This,enum ToggleState *pRetVal) { + return This->lpVtbl->get_ToggleState(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IToggleProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITransformProvider interface + */ +#ifndef __ITransformProvider_INTERFACE_DEFINED__ +#define __ITransformProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITransformProvider, 0x6829ddc4, 0x4f91, 0x4ffa, 0xb8,0x6f, 0xbd,0x3e,0x29,0x87,0xcb,0x4c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6829ddc4-4f91-4ffa-b86f-bd3e2987cb4c") +ITransformProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Move( + double x, + double y) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resize( + double width, + double height) = 0; + + virtual HRESULT STDMETHODCALLTYPE Rotate( + double degrees) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanMove( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanResize( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanRotate( + WINBOOL *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITransformProvider, 0x6829ddc4, 0x4f91, 0x4ffa, 0xb8,0x6f, 0xbd,0x3e,0x29,0x87,0xcb,0x4c) +#endif +#else +typedef struct ITransformProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITransformProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITransformProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITransformProvider *This); + + /*** ITransformProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Move)( + ITransformProvider *This, + double x, + double y); + + HRESULT (STDMETHODCALLTYPE *Resize)( + ITransformProvider *This, + double width, + double height); + + HRESULT (STDMETHODCALLTYPE *Rotate)( + ITransformProvider *This, + double degrees); + + HRESULT (STDMETHODCALLTYPE *get_CanMove)( + ITransformProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanResize)( + ITransformProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanRotate)( + ITransformProvider *This, + WINBOOL *pRetVal); + + END_INTERFACE +} ITransformProviderVtbl; + +interface ITransformProvider { + CONST_VTBL ITransformProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITransformProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransformProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransformProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITransformProvider methods ***/ +#define ITransformProvider_Move(This,x,y) (This)->lpVtbl->Move(This,x,y) +#define ITransformProvider_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) +#define ITransformProvider_Rotate(This,degrees) (This)->lpVtbl->Rotate(This,degrees) +#define ITransformProvider_get_CanMove(This,pRetVal) (This)->lpVtbl->get_CanMove(This,pRetVal) +#define ITransformProvider_get_CanResize(This,pRetVal) (This)->lpVtbl->get_CanResize(This,pRetVal) +#define ITransformProvider_get_CanRotate(This,pRetVal) (This)->lpVtbl->get_CanRotate(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITransformProvider_QueryInterface(ITransformProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITransformProvider_AddRef(ITransformProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITransformProvider_Release(ITransformProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITransformProvider methods ***/ +static inline HRESULT ITransformProvider_Move(ITransformProvider* This,double x,double y) { + return This->lpVtbl->Move(This,x,y); +} +static inline HRESULT ITransformProvider_Resize(ITransformProvider* This,double width,double height) { + return This->lpVtbl->Resize(This,width,height); +} +static inline HRESULT ITransformProvider_Rotate(ITransformProvider* This,double degrees) { + return This->lpVtbl->Rotate(This,degrees); +} +static inline HRESULT ITransformProvider_get_CanMove(ITransformProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanMove(This,pRetVal); +} +static inline HRESULT ITransformProvider_get_CanResize(ITransformProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanResize(This,pRetVal); +} +static inline HRESULT ITransformProvider_get_CanRotate(ITransformProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanRotate(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITransformProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IValueProvider interface + */ +#ifndef __IValueProvider_INTERFACE_DEFINED__ +#define __IValueProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c7935180-6fb3-4201-b174-7df73adbf64a") +IValueProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetValue( + LPCWSTR val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Value( + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsReadOnly( + WINBOOL *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IValueProvider, 0xc7935180, 0x6fb3, 0x4201, 0xb1,0x74, 0x7d,0xf7,0x3a,0xdb,0xf6,0x4a) +#endif +#else +typedef struct IValueProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IValueProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IValueProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IValueProvider *This); + + /*** IValueProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetValue)( + IValueProvider *This, + LPCWSTR val); + + HRESULT (STDMETHODCALLTYPE *get_Value)( + IValueProvider *This, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsReadOnly)( + IValueProvider *This, + WINBOOL *pRetVal); + + END_INTERFACE +} IValueProviderVtbl; + +interface IValueProvider { + CONST_VTBL IValueProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IValueProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IValueProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IValueProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IValueProvider methods ***/ +#define IValueProvider_SetValue(This,val) (This)->lpVtbl->SetValue(This,val) +#define IValueProvider_get_Value(This,pRetVal) (This)->lpVtbl->get_Value(This,pRetVal) +#define IValueProvider_get_IsReadOnly(This,pRetVal) (This)->lpVtbl->get_IsReadOnly(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IValueProvider_QueryInterface(IValueProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IValueProvider_AddRef(IValueProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IValueProvider_Release(IValueProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IValueProvider methods ***/ +static inline HRESULT IValueProvider_SetValue(IValueProvider* This,LPCWSTR val) { + return This->lpVtbl->SetValue(This,val); +} +static inline HRESULT IValueProvider_get_Value(IValueProvider* This,BSTR *pRetVal) { + return This->lpVtbl->get_Value(This,pRetVal); +} +static inline HRESULT IValueProvider_get_IsReadOnly(IValueProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsReadOnly(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IValueProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWindowProvider interface + */ +#ifndef __IWindowProvider_INTERFACE_DEFINED__ +#define __IWindowProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("987df77b-db06-4d77-8f8a-86a9c3bb90b9") +IWindowProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetVisualState( + enum WindowVisualState state) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WaitForInputIdle( + int milliseconds, + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanMaximize( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanMinimize( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsModal( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WindowVisualState( + enum WindowVisualState *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WindowInteractionState( + enum WindowInteractionState *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsTopmost( + WINBOOL *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowProvider, 0x987df77b, 0xdb06, 0x4d77, 0x8f,0x8a, 0x86,0xa9,0xc3,0xbb,0x90,0xb9) +#endif +#else +typedef struct IWindowProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWindowProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWindowProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWindowProvider *This); + + /*** IWindowProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetVisualState)( + IWindowProvider *This, + enum WindowVisualState state); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWindowProvider *This); + + HRESULT (STDMETHODCALLTYPE *WaitForInputIdle)( + IWindowProvider *This, + int milliseconds, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanMaximize)( + IWindowProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanMinimize)( + IWindowProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsModal)( + IWindowProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_WindowVisualState)( + IWindowProvider *This, + enum WindowVisualState *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_WindowInteractionState)( + IWindowProvider *This, + enum WindowInteractionState *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_IsTopmost)( + IWindowProvider *This, + WINBOOL *pRetVal); + + END_INTERFACE +} IWindowProviderVtbl; + +interface IWindowProvider { + CONST_VTBL IWindowProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWindowProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWindowProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWindowProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowProvider methods ***/ +#define IWindowProvider_SetVisualState(This,state) (This)->lpVtbl->SetVisualState(This,state) +#define IWindowProvider_Close(This) (This)->lpVtbl->Close(This) +#define IWindowProvider_WaitForInputIdle(This,milliseconds,pRetVal) (This)->lpVtbl->WaitForInputIdle(This,milliseconds,pRetVal) +#define IWindowProvider_get_CanMaximize(This,pRetVal) (This)->lpVtbl->get_CanMaximize(This,pRetVal) +#define IWindowProvider_get_CanMinimize(This,pRetVal) (This)->lpVtbl->get_CanMinimize(This,pRetVal) +#define IWindowProvider_get_IsModal(This,pRetVal) (This)->lpVtbl->get_IsModal(This,pRetVal) +#define IWindowProvider_get_WindowVisualState(This,pRetVal) (This)->lpVtbl->get_WindowVisualState(This,pRetVal) +#define IWindowProvider_get_WindowInteractionState(This,pRetVal) (This)->lpVtbl->get_WindowInteractionState(This,pRetVal) +#define IWindowProvider_get_IsTopmost(This,pRetVal) (This)->lpVtbl->get_IsTopmost(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWindowProvider_QueryInterface(IWindowProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWindowProvider_AddRef(IWindowProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWindowProvider_Release(IWindowProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowProvider methods ***/ +static inline HRESULT IWindowProvider_SetVisualState(IWindowProvider* This,enum WindowVisualState state) { + return This->lpVtbl->SetVisualState(This,state); +} +static inline HRESULT IWindowProvider_Close(IWindowProvider* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWindowProvider_WaitForInputIdle(IWindowProvider* This,int milliseconds,WINBOOL *pRetVal) { + return This->lpVtbl->WaitForInputIdle(This,milliseconds,pRetVal); +} +static inline HRESULT IWindowProvider_get_CanMaximize(IWindowProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanMaximize(This,pRetVal); +} +static inline HRESULT IWindowProvider_get_CanMinimize(IWindowProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanMinimize(This,pRetVal); +} +static inline HRESULT IWindowProvider_get_IsModal(IWindowProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsModal(This,pRetVal); +} +static inline HRESULT IWindowProvider_get_WindowVisualState(IWindowProvider* This,enum WindowVisualState *pRetVal) { + return This->lpVtbl->get_WindowVisualState(This,pRetVal); +} +static inline HRESULT IWindowProvider_get_WindowInteractionState(IWindowProvider* This,enum WindowInteractionState *pRetVal) { + return This->lpVtbl->get_WindowInteractionState(This,pRetVal); +} +static inline HRESULT IWindowProvider_get_IsTopmost(IWindowProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsTopmost(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IWindowProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IItemContainerProvider interface + */ +#ifndef __IItemContainerProvider_INTERFACE_DEFINED__ +#define __IItemContainerProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IItemContainerProvider, 0xe747770b, 0x39ce, 0x4382, 0xab,0x30, 0xd8,0xfb,0x3f,0x33,0x6f,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e747770b-39ce-4382-ab30-d8fb3f336f24") +IItemContainerProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FindItemByProperty( + IRawElementProviderSimple *pStartAfter, + PROPERTYID propertyId, + VARIANT value, + IRawElementProviderSimple **pFound) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IItemContainerProvider, 0xe747770b, 0x39ce, 0x4382, 0xab,0x30, 0xd8,0xfb,0x3f,0x33,0x6f,0x24) +#endif +#else +typedef struct IItemContainerProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IItemContainerProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IItemContainerProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IItemContainerProvider *This); + + /*** IItemContainerProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *FindItemByProperty)( + IItemContainerProvider *This, + IRawElementProviderSimple *pStartAfter, + PROPERTYID propertyId, + VARIANT value, + IRawElementProviderSimple **pFound); + + END_INTERFACE +} IItemContainerProviderVtbl; + +interface IItemContainerProvider { + CONST_VTBL IItemContainerProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IItemContainerProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IItemContainerProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IItemContainerProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IItemContainerProvider methods ***/ +#define IItemContainerProvider_FindItemByProperty(This,pStartAfter,propertyId,value,pFound) (This)->lpVtbl->FindItemByProperty(This,pStartAfter,propertyId,value,pFound) +#else +/*** IUnknown methods ***/ +static inline HRESULT IItemContainerProvider_QueryInterface(IItemContainerProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IItemContainerProvider_AddRef(IItemContainerProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IItemContainerProvider_Release(IItemContainerProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IItemContainerProvider methods ***/ +static inline HRESULT IItemContainerProvider_FindItemByProperty(IItemContainerProvider* This,IRawElementProviderSimple *pStartAfter,PROPERTYID propertyId,VARIANT value,IRawElementProviderSimple **pFound) { + return This->lpVtbl->FindItemByProperty(This,pStartAfter,propertyId,value,pFound); +} +#endif +#endif + +#endif + + +#endif /* __IItemContainerProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVirtualizedItemProvider interface + */ +#ifndef __IVirtualizedItemProvider_INTERFACE_DEFINED__ +#define __IVirtualizedItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVirtualizedItemProvider, 0xcb98b665, 0x2d35, 0x4fac, 0xad,0x35, 0xf3,0xc6,0x0d,0x0c,0x0b,0x8b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cb98b665-2d35-4fac-ad35-f3c60d0c0b8b") +IVirtualizedItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Realize( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVirtualizedItemProvider, 0xcb98b665, 0x2d35, 0x4fac, 0xad,0x35, 0xf3,0xc6,0x0d,0x0c,0x0b,0x8b) +#endif +#else +typedef struct IVirtualizedItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVirtualizedItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVirtualizedItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVirtualizedItemProvider *This); + + /*** IVirtualizedItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Realize)( + IVirtualizedItemProvider *This); + + END_INTERFACE +} IVirtualizedItemProviderVtbl; + +interface IVirtualizedItemProvider { + CONST_VTBL IVirtualizedItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVirtualizedItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVirtualizedItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVirtualizedItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IVirtualizedItemProvider methods ***/ +#define IVirtualizedItemProvider_Realize(This) (This)->lpVtbl->Realize(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVirtualizedItemProvider_QueryInterface(IVirtualizedItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVirtualizedItemProvider_AddRef(IVirtualizedItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVirtualizedItemProvider_Release(IVirtualizedItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IVirtualizedItemProvider methods ***/ +static inline HRESULT IVirtualizedItemProvider_Realize(IVirtualizedItemProvider* This) { + return This->lpVtbl->Realize(This); +} +#endif +#endif + +#endif + + +#endif /* __IVirtualizedItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IObjectModelProvider interface + */ +#ifndef __IObjectModelProvider_INTERFACE_DEFINED__ +#define __IObjectModelProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IObjectModelProvider, 0x3ad86ebd, 0xf5ef, 0x483d, 0xbb,0x18, 0xb1,0x04,0x2a,0x47,0x5d,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3ad86ebd-f5ef-483d-bb18-b1042a475d64") +IObjectModelProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetUnderlyingObjectModel( + IUnknown **ppUnknown) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IObjectModelProvider, 0x3ad86ebd, 0xf5ef, 0x483d, 0xbb,0x18, 0xb1,0x04,0x2a,0x47,0x5d,0x64) +#endif +#else +typedef struct IObjectModelProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IObjectModelProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IObjectModelProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IObjectModelProvider *This); + + /*** IObjectModelProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetUnderlyingObjectModel)( + IObjectModelProvider *This, + IUnknown **ppUnknown); + + END_INTERFACE +} IObjectModelProviderVtbl; + +interface IObjectModelProvider { + CONST_VTBL IObjectModelProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IObjectModelProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IObjectModelProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IObjectModelProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IObjectModelProvider methods ***/ +#define IObjectModelProvider_GetUnderlyingObjectModel(This,ppUnknown) (This)->lpVtbl->GetUnderlyingObjectModel(This,ppUnknown) +#else +/*** IUnknown methods ***/ +static inline HRESULT IObjectModelProvider_QueryInterface(IObjectModelProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IObjectModelProvider_AddRef(IObjectModelProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IObjectModelProvider_Release(IObjectModelProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IObjectModelProvider methods ***/ +static inline HRESULT IObjectModelProvider_GetUnderlyingObjectModel(IObjectModelProvider* This,IUnknown **ppUnknown) { + return This->lpVtbl->GetUnderlyingObjectModel(This,ppUnknown); +} +#endif +#endif + +#endif + + +#endif /* __IObjectModelProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAnnotationProvider interface + */ +#ifndef __IAnnotationProvider_INTERFACE_DEFINED__ +#define __IAnnotationProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAnnotationProvider, 0xf95c7e80, 0xbd63, 0x4601, 0x97,0x82, 0x44,0x5e,0xbf,0xf0,0x11,0xfc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f95c7e80-bd63-4601-9782-445ebff011fc") +IAnnotationProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_AnnotationTypeId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AnnotationTypeName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Author( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DateTime( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Target( + IRawElementProviderSimple **retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAnnotationProvider, 0xf95c7e80, 0xbd63, 0x4601, 0x97,0x82, 0x44,0x5e,0xbf,0xf0,0x11,0xfc) +#endif +#else +typedef struct IAnnotationProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAnnotationProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAnnotationProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAnnotationProvider *This); + + /*** IAnnotationProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AnnotationTypeId)( + IAnnotationProvider *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_AnnotationTypeName)( + IAnnotationProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_Author)( + IAnnotationProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_DateTime)( + IAnnotationProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_Target)( + IAnnotationProvider *This, + IRawElementProviderSimple **retVal); + + END_INTERFACE +} IAnnotationProviderVtbl; + +interface IAnnotationProvider { + CONST_VTBL IAnnotationProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAnnotationProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAnnotationProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAnnotationProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IAnnotationProvider methods ***/ +#define IAnnotationProvider_get_AnnotationTypeId(This,retVal) (This)->lpVtbl->get_AnnotationTypeId(This,retVal) +#define IAnnotationProvider_get_AnnotationTypeName(This,retVal) (This)->lpVtbl->get_AnnotationTypeName(This,retVal) +#define IAnnotationProvider_get_Author(This,retVal) (This)->lpVtbl->get_Author(This,retVal) +#define IAnnotationProvider_get_DateTime(This,retVal) (This)->lpVtbl->get_DateTime(This,retVal) +#define IAnnotationProvider_get_Target(This,retVal) (This)->lpVtbl->get_Target(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAnnotationProvider_QueryInterface(IAnnotationProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAnnotationProvider_AddRef(IAnnotationProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAnnotationProvider_Release(IAnnotationProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IAnnotationProvider methods ***/ +static inline HRESULT IAnnotationProvider_get_AnnotationTypeId(IAnnotationProvider* This,int *retVal) { + return This->lpVtbl->get_AnnotationTypeId(This,retVal); +} +static inline HRESULT IAnnotationProvider_get_AnnotationTypeName(IAnnotationProvider* This,BSTR *retVal) { + return This->lpVtbl->get_AnnotationTypeName(This,retVal); +} +static inline HRESULT IAnnotationProvider_get_Author(IAnnotationProvider* This,BSTR *retVal) { + return This->lpVtbl->get_Author(This,retVal); +} +static inline HRESULT IAnnotationProvider_get_DateTime(IAnnotationProvider* This,BSTR *retVal) { + return This->lpVtbl->get_DateTime(This,retVal); +} +static inline HRESULT IAnnotationProvider_get_Target(IAnnotationProvider* This,IRawElementProviderSimple **retVal) { + return This->lpVtbl->get_Target(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IAnnotationProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IStylesProvider interface + */ +#ifndef __IStylesProvider_INTERFACE_DEFINED__ +#define __IStylesProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IStylesProvider, 0x19b6b649, 0xf5d7, 0x4a6d, 0xbd,0xcb, 0x12,0x92,0x52,0xbe,0x58,0x8a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("19b6b649-f5d7-4a6d-bdcb-129252be588a") +IStylesProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_StyleId( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StyleName( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FillColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FillPatternStyle( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Shape( + BSTR *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FillPatternColor( + int *retVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ExtendedProperties( + BSTR *retVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IStylesProvider, 0x19b6b649, 0xf5d7, 0x4a6d, 0xbd,0xcb, 0x12,0x92,0x52,0xbe,0x58,0x8a) +#endif +#else +typedef struct IStylesProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IStylesProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IStylesProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IStylesProvider *This); + + /*** IStylesProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_StyleId)( + IStylesProvider *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_StyleName)( + IStylesProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_FillColor)( + IStylesProvider *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_FillPatternStyle)( + IStylesProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_Shape)( + IStylesProvider *This, + BSTR *retVal); + + HRESULT (STDMETHODCALLTYPE *get_FillPatternColor)( + IStylesProvider *This, + int *retVal); + + HRESULT (STDMETHODCALLTYPE *get_ExtendedProperties)( + IStylesProvider *This, + BSTR *retVal); + + END_INTERFACE +} IStylesProviderVtbl; + +interface IStylesProvider { + CONST_VTBL IStylesProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IStylesProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IStylesProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStylesProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IStylesProvider methods ***/ +#define IStylesProvider_get_StyleId(This,retVal) (This)->lpVtbl->get_StyleId(This,retVal) +#define IStylesProvider_get_StyleName(This,retVal) (This)->lpVtbl->get_StyleName(This,retVal) +#define IStylesProvider_get_FillColor(This,retVal) (This)->lpVtbl->get_FillColor(This,retVal) +#define IStylesProvider_get_FillPatternStyle(This,retVal) (This)->lpVtbl->get_FillPatternStyle(This,retVal) +#define IStylesProvider_get_Shape(This,retVal) (This)->lpVtbl->get_Shape(This,retVal) +#define IStylesProvider_get_FillPatternColor(This,retVal) (This)->lpVtbl->get_FillPatternColor(This,retVal) +#define IStylesProvider_get_ExtendedProperties(This,retVal) (This)->lpVtbl->get_ExtendedProperties(This,retVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IStylesProvider_QueryInterface(IStylesProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IStylesProvider_AddRef(IStylesProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IStylesProvider_Release(IStylesProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IStylesProvider methods ***/ +static inline HRESULT IStylesProvider_get_StyleId(IStylesProvider* This,int *retVal) { + return This->lpVtbl->get_StyleId(This,retVal); +} +static inline HRESULT IStylesProvider_get_StyleName(IStylesProvider* This,BSTR *retVal) { + return This->lpVtbl->get_StyleName(This,retVal); +} +static inline HRESULT IStylesProvider_get_FillColor(IStylesProvider* This,int *retVal) { + return This->lpVtbl->get_FillColor(This,retVal); +} +static inline HRESULT IStylesProvider_get_FillPatternStyle(IStylesProvider* This,BSTR *retVal) { + return This->lpVtbl->get_FillPatternStyle(This,retVal); +} +static inline HRESULT IStylesProvider_get_Shape(IStylesProvider* This,BSTR *retVal) { + return This->lpVtbl->get_Shape(This,retVal); +} +static inline HRESULT IStylesProvider_get_FillPatternColor(IStylesProvider* This,int *retVal) { + return This->lpVtbl->get_FillPatternColor(This,retVal); +} +static inline HRESULT IStylesProvider_get_ExtendedProperties(IStylesProvider* This,BSTR *retVal) { + return This->lpVtbl->get_ExtendedProperties(This,retVal); +} +#endif +#endif + +#endif + + +#endif /* __IStylesProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISpreadsheetProvider interface + */ +#ifndef __ISpreadsheetProvider_INTERFACE_DEFINED__ +#define __ISpreadsheetProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISpreadsheetProvider, 0x6f6b5d35, 0x5525, 0x4f80, 0xb7,0x58, 0x85,0x47,0x38,0x32,0xff,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6f6b5d35-5525-4f80-b758-85473832ffc7") +ISpreadsheetProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetItemByName( + LPCWSTR name, + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISpreadsheetProvider, 0x6f6b5d35, 0x5525, 0x4f80, 0xb7,0x58, 0x85,0x47,0x38,0x32,0xff,0xc7) +#endif +#else +typedef struct ISpreadsheetProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISpreadsheetProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISpreadsheetProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISpreadsheetProvider *This); + + /*** ISpreadsheetProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItemByName)( + ISpreadsheetProvider *This, + LPCWSTR name, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} ISpreadsheetProviderVtbl; + +interface ISpreadsheetProvider { + CONST_VTBL ISpreadsheetProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISpreadsheetProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISpreadsheetProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISpreadsheetProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ISpreadsheetProvider methods ***/ +#define ISpreadsheetProvider_GetItemByName(This,name,pRetVal) (This)->lpVtbl->GetItemByName(This,name,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISpreadsheetProvider_QueryInterface(ISpreadsheetProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISpreadsheetProvider_AddRef(ISpreadsheetProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISpreadsheetProvider_Release(ISpreadsheetProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ISpreadsheetProvider methods ***/ +static inline HRESULT ISpreadsheetProvider_GetItemByName(ISpreadsheetProvider* This,LPCWSTR name,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->GetItemByName(This,name,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ISpreadsheetProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISpreadsheetItemProvider interface + */ +#ifndef __ISpreadsheetItemProvider_INTERFACE_DEFINED__ +#define __ISpreadsheetItemProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISpreadsheetItemProvider, 0xeaed4660, 0x7b3d, 0x4879, 0xa2,0xe6, 0x36,0x5c,0xe6,0x03,0xf3,0xd0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eaed4660-7b3d-4879-a2e6-365ce603f3d0") +ISpreadsheetItemProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Formula( + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAnnotationObjects( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAnnotationTypes( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISpreadsheetItemProvider, 0xeaed4660, 0x7b3d, 0x4879, 0xa2,0xe6, 0x36,0x5c,0xe6,0x03,0xf3,0xd0) +#endif +#else +typedef struct ISpreadsheetItemProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISpreadsheetItemProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISpreadsheetItemProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISpreadsheetItemProvider *This); + + /*** ISpreadsheetItemProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Formula)( + ISpreadsheetItemProvider *This, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetAnnotationObjects)( + ISpreadsheetItemProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetAnnotationTypes)( + ISpreadsheetItemProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} ISpreadsheetItemProviderVtbl; + +interface ISpreadsheetItemProvider { + CONST_VTBL ISpreadsheetItemProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISpreadsheetItemProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISpreadsheetItemProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISpreadsheetItemProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ISpreadsheetItemProvider methods ***/ +#define ISpreadsheetItemProvider_get_Formula(This,pRetVal) (This)->lpVtbl->get_Formula(This,pRetVal) +#define ISpreadsheetItemProvider_GetAnnotationObjects(This,pRetVal) (This)->lpVtbl->GetAnnotationObjects(This,pRetVal) +#define ISpreadsheetItemProvider_GetAnnotationTypes(This,pRetVal) (This)->lpVtbl->GetAnnotationTypes(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISpreadsheetItemProvider_QueryInterface(ISpreadsheetItemProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISpreadsheetItemProvider_AddRef(ISpreadsheetItemProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISpreadsheetItemProvider_Release(ISpreadsheetItemProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ISpreadsheetItemProvider methods ***/ +static inline HRESULT ISpreadsheetItemProvider_get_Formula(ISpreadsheetItemProvider* This,BSTR *pRetVal) { + return This->lpVtbl->get_Formula(This,pRetVal); +} +static inline HRESULT ISpreadsheetItemProvider_GetAnnotationObjects(ISpreadsheetItemProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetAnnotationObjects(This,pRetVal); +} +static inline HRESULT ISpreadsheetItemProvider_GetAnnotationTypes(ISpreadsheetItemProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetAnnotationTypes(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ISpreadsheetItemProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITransformProvider2 interface + */ +#ifndef __ITransformProvider2_INTERFACE_DEFINED__ +#define __ITransformProvider2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITransformProvider2, 0x4758742f, 0x7ac2, 0x460c, 0xbc,0x48, 0x09,0xfc,0x09,0x30,0x8a,0x93); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4758742f-7ac2-460c-bc48-09fc09308a93") +ITransformProvider2 : public ITransformProvider +{ + virtual HRESULT STDMETHODCALLTYPE Zoom( + double zoom) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanZoom( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ZoomLevel( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ZoomMinimum( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ZoomMaximum( + double *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE ZoomByUnit( + enum ZoomUnit zoomUnit) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITransformProvider2, 0x4758742f, 0x7ac2, 0x460c, 0xbc,0x48, 0x09,0xfc,0x09,0x30,0x8a,0x93) +#endif +#else +typedef struct ITransformProvider2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITransformProvider2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITransformProvider2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITransformProvider2 *This); + + /*** ITransformProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Move)( + ITransformProvider2 *This, + double x, + double y); + + HRESULT (STDMETHODCALLTYPE *Resize)( + ITransformProvider2 *This, + double width, + double height); + + HRESULT (STDMETHODCALLTYPE *Rotate)( + ITransformProvider2 *This, + double degrees); + + HRESULT (STDMETHODCALLTYPE *get_CanMove)( + ITransformProvider2 *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanResize)( + ITransformProvider2 *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_CanRotate)( + ITransformProvider2 *This, + WINBOOL *pRetVal); + + /*** ITransformProvider2 methods ***/ + HRESULT (STDMETHODCALLTYPE *Zoom)( + ITransformProvider2 *This, + double zoom); + + HRESULT (STDMETHODCALLTYPE *get_CanZoom)( + ITransformProvider2 *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ZoomLevel)( + ITransformProvider2 *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ZoomMinimum)( + ITransformProvider2 *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_ZoomMaximum)( + ITransformProvider2 *This, + double *pRetVal); + + HRESULT (STDMETHODCALLTYPE *ZoomByUnit)( + ITransformProvider2 *This, + enum ZoomUnit zoomUnit); + + END_INTERFACE +} ITransformProvider2Vtbl; + +interface ITransformProvider2 { + CONST_VTBL ITransformProvider2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITransformProvider2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITransformProvider2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITransformProvider2_Release(This) (This)->lpVtbl->Release(This) +/*** ITransformProvider methods ***/ +#define ITransformProvider2_Move(This,x,y) (This)->lpVtbl->Move(This,x,y) +#define ITransformProvider2_Resize(This,width,height) (This)->lpVtbl->Resize(This,width,height) +#define ITransformProvider2_Rotate(This,degrees) (This)->lpVtbl->Rotate(This,degrees) +#define ITransformProvider2_get_CanMove(This,pRetVal) (This)->lpVtbl->get_CanMove(This,pRetVal) +#define ITransformProvider2_get_CanResize(This,pRetVal) (This)->lpVtbl->get_CanResize(This,pRetVal) +#define ITransformProvider2_get_CanRotate(This,pRetVal) (This)->lpVtbl->get_CanRotate(This,pRetVal) +/*** ITransformProvider2 methods ***/ +#define ITransformProvider2_Zoom(This,zoom) (This)->lpVtbl->Zoom(This,zoom) +#define ITransformProvider2_get_CanZoom(This,pRetVal) (This)->lpVtbl->get_CanZoom(This,pRetVal) +#define ITransformProvider2_get_ZoomLevel(This,pRetVal) (This)->lpVtbl->get_ZoomLevel(This,pRetVal) +#define ITransformProvider2_get_ZoomMinimum(This,pRetVal) (This)->lpVtbl->get_ZoomMinimum(This,pRetVal) +#define ITransformProvider2_get_ZoomMaximum(This,pRetVal) (This)->lpVtbl->get_ZoomMaximum(This,pRetVal) +#define ITransformProvider2_ZoomByUnit(This,zoomUnit) (This)->lpVtbl->ZoomByUnit(This,zoomUnit) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITransformProvider2_QueryInterface(ITransformProvider2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITransformProvider2_AddRef(ITransformProvider2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITransformProvider2_Release(ITransformProvider2* This) { + return This->lpVtbl->Release(This); +} +/*** ITransformProvider methods ***/ +static inline HRESULT ITransformProvider2_Move(ITransformProvider2* This,double x,double y) { + return This->lpVtbl->Move(This,x,y); +} +static inline HRESULT ITransformProvider2_Resize(ITransformProvider2* This,double width,double height) { + return This->lpVtbl->Resize(This,width,height); +} +static inline HRESULT ITransformProvider2_Rotate(ITransformProvider2* This,double degrees) { + return This->lpVtbl->Rotate(This,degrees); +} +static inline HRESULT ITransformProvider2_get_CanMove(ITransformProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanMove(This,pRetVal); +} +static inline HRESULT ITransformProvider2_get_CanResize(ITransformProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanResize(This,pRetVal); +} +static inline HRESULT ITransformProvider2_get_CanRotate(ITransformProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanRotate(This,pRetVal); +} +/*** ITransformProvider2 methods ***/ +static inline HRESULT ITransformProvider2_Zoom(ITransformProvider2* This,double zoom) { + return This->lpVtbl->Zoom(This,zoom); +} +static inline HRESULT ITransformProvider2_get_CanZoom(ITransformProvider2* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_CanZoom(This,pRetVal); +} +static inline HRESULT ITransformProvider2_get_ZoomLevel(ITransformProvider2* This,double *pRetVal) { + return This->lpVtbl->get_ZoomLevel(This,pRetVal); +} +static inline HRESULT ITransformProvider2_get_ZoomMinimum(ITransformProvider2* This,double *pRetVal) { + return This->lpVtbl->get_ZoomMinimum(This,pRetVal); +} +static inline HRESULT ITransformProvider2_get_ZoomMaximum(ITransformProvider2* This,double *pRetVal) { + return This->lpVtbl->get_ZoomMaximum(This,pRetVal); +} +static inline HRESULT ITransformProvider2_ZoomByUnit(ITransformProvider2* This,enum ZoomUnit zoomUnit) { + return This->lpVtbl->ZoomByUnit(This,zoomUnit); +} +#endif +#endif + +#endif + + +#endif /* __ITransformProvider2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDragProvider interface + */ +#ifndef __IDragProvider_INTERFACE_DEFINED__ +#define __IDragProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDragProvider, 0x6aa7bbbb, 0x7ff9, 0x497d, 0x90,0x4f, 0xd2,0x0b,0x89,0x79,0x29,0xd8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6aa7bbbb-7ff9-497d-904f-d20b897929d8") +IDragProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_IsGrabbed( + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DropEffect( + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DropEffects( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGrabbedItems( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDragProvider, 0x6aa7bbbb, 0x7ff9, 0x497d, 0x90,0x4f, 0xd2,0x0b,0x89,0x79,0x29,0xd8) +#endif +#else +typedef struct IDragProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDragProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDragProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDragProvider *This); + + /*** IDragProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_IsGrabbed)( + IDragProvider *This, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DropEffect)( + IDragProvider *This, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DropEffects)( + IDragProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetGrabbedItems)( + IDragProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} IDragProviderVtbl; + +interface IDragProvider { + CONST_VTBL IDragProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDragProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDragProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDragProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IDragProvider methods ***/ +#define IDragProvider_get_IsGrabbed(This,pRetVal) (This)->lpVtbl->get_IsGrabbed(This,pRetVal) +#define IDragProvider_get_DropEffect(This,pRetVal) (This)->lpVtbl->get_DropEffect(This,pRetVal) +#define IDragProvider_get_DropEffects(This,pRetVal) (This)->lpVtbl->get_DropEffects(This,pRetVal) +#define IDragProvider_GetGrabbedItems(This,pRetVal) (This)->lpVtbl->GetGrabbedItems(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDragProvider_QueryInterface(IDragProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDragProvider_AddRef(IDragProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDragProvider_Release(IDragProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IDragProvider methods ***/ +static inline HRESULT IDragProvider_get_IsGrabbed(IDragProvider* This,WINBOOL *pRetVal) { + return This->lpVtbl->get_IsGrabbed(This,pRetVal); +} +static inline HRESULT IDragProvider_get_DropEffect(IDragProvider* This,BSTR *pRetVal) { + return This->lpVtbl->get_DropEffect(This,pRetVal); +} +static inline HRESULT IDragProvider_get_DropEffects(IDragProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->get_DropEffects(This,pRetVal); +} +static inline HRESULT IDragProvider_GetGrabbedItems(IDragProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetGrabbedItems(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IDragProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDropTargetProvider interface + */ +#ifndef __IDropTargetProvider_INTERFACE_DEFINED__ +#define __IDropTargetProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDropTargetProvider, 0xbae82bfd, 0x358a, 0x481c, 0x85,0xa0, 0xd8,0xb4,0xd9,0x0a,0x5d,0x61); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bae82bfd-358a-481c-85a0-d8b4d90a5d61") +IDropTargetProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_DropTargetEffect( + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DropTargetEffects( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDropTargetProvider, 0xbae82bfd, 0x358a, 0x481c, 0x85,0xa0, 0xd8,0xb4,0xd9,0x0a,0x5d,0x61) +#endif +#else +typedef struct IDropTargetProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDropTargetProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDropTargetProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDropTargetProvider *This); + + /*** IDropTargetProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DropTargetEffect)( + IDropTargetProvider *This, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DropTargetEffects)( + IDropTargetProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} IDropTargetProviderVtbl; + +interface IDropTargetProvider { + CONST_VTBL IDropTargetProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDropTargetProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDropTargetProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDropTargetProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IDropTargetProvider methods ***/ +#define IDropTargetProvider_get_DropTargetEffect(This,pRetVal) (This)->lpVtbl->get_DropTargetEffect(This,pRetVal) +#define IDropTargetProvider_get_DropTargetEffects(This,pRetVal) (This)->lpVtbl->get_DropTargetEffects(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDropTargetProvider_QueryInterface(IDropTargetProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDropTargetProvider_AddRef(IDropTargetProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDropTargetProvider_Release(IDropTargetProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IDropTargetProvider methods ***/ +static inline HRESULT IDropTargetProvider_get_DropTargetEffect(IDropTargetProvider* This,BSTR *pRetVal) { + return This->lpVtbl->get_DropTargetEffect(This,pRetVal); +} +static inline HRESULT IDropTargetProvider_get_DropTargetEffects(IDropTargetProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->get_DropTargetEffects(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __IDropTargetProvider_INTERFACE_DEFINED__ */ + +#ifndef __ITextRangeProvider_FWD_DEFINED__ +#define __ITextRangeProvider_FWD_DEFINED__ +typedef interface ITextRangeProvider ITextRangeProvider; +#ifdef __cplusplus +interface ITextRangeProvider; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * ITextProvider interface + */ +#ifndef __ITextProvider_INTERFACE_DEFINED__ +#define __ITextProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3589c92c-63f3-4367-99bb-ada653b77cf2") +ITextProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSelection( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisibleRanges( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE RangeFromChild( + IRawElementProviderSimple *childElement, + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE RangeFromPoint( + struct UiaPoint point, + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DocumentRange( + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupportedTextSelection( + enum SupportedTextSelection *pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextProvider, 0x3589c92c, 0x63f3, 0x4367, 0x99,0xbb, 0xad,0xa6,0x53,0xb7,0x7c,0xf2) +#endif +#else +typedef struct ITextProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextProvider *This); + + /*** ITextProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ITextProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + ITextProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + ITextProvider *This, + IRawElementProviderSimple *childElement, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + ITextProvider *This, + struct UiaPoint point, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + ITextProvider *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + ITextProvider *This, + enum SupportedTextSelection *pRetVal); + + END_INTERFACE +} ITextProviderVtbl; + +interface ITextProvider { + CONST_VTBL ITextProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITextProvider methods ***/ +#define ITextProvider_GetSelection(This,pRetVal) (This)->lpVtbl->GetSelection(This,pRetVal) +#define ITextProvider_GetVisibleRanges(This,pRetVal) (This)->lpVtbl->GetVisibleRanges(This,pRetVal) +#define ITextProvider_RangeFromChild(This,childElement,pRetVal) (This)->lpVtbl->RangeFromChild(This,childElement,pRetVal) +#define ITextProvider_RangeFromPoint(This,point,pRetVal) (This)->lpVtbl->RangeFromPoint(This,point,pRetVal) +#define ITextProvider_get_DocumentRange(This,pRetVal) (This)->lpVtbl->get_DocumentRange(This,pRetVal) +#define ITextProvider_get_SupportedTextSelection(This,pRetVal) (This)->lpVtbl->get_SupportedTextSelection(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextProvider_QueryInterface(ITextProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextProvider_AddRef(ITextProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextProvider_Release(ITextProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITextProvider methods ***/ +static inline HRESULT ITextProvider_GetSelection(ITextProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSelection(This,pRetVal); +} +static inline HRESULT ITextProvider_GetVisibleRanges(ITextProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetVisibleRanges(This,pRetVal); +} +static inline HRESULT ITextProvider_RangeFromChild(ITextProvider* This,IRawElementProviderSimple *childElement,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromChild(This,childElement,pRetVal); +} +static inline HRESULT ITextProvider_RangeFromPoint(ITextProvider* This,struct UiaPoint point,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromPoint(This,point,pRetVal); +} +static inline HRESULT ITextProvider_get_DocumentRange(ITextProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->get_DocumentRange(This,pRetVal); +} +static inline HRESULT ITextProvider_get_SupportedTextSelection(ITextProvider* This,enum SupportedTextSelection *pRetVal) { + return This->lpVtbl->get_SupportedTextSelection(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITextProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextProvider2 interface + */ +#ifndef __ITextProvider2_INTERFACE_DEFINED__ +#define __ITextProvider2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0dc5e6ed-3e16-4bf1-8f9a-a979878bc195") +ITextProvider2 : public ITextProvider +{ + virtual HRESULT STDMETHODCALLTYPE RangeFromAnnotation( + IRawElementProviderSimple *annotationElement, + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCaretRange( + WINBOOL *isActive, + ITextRangeProvider **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextProvider2, 0x0dc5e6ed, 0x3e16, 0x4bf1, 0x8f,0x9a, 0xa9,0x79,0x87,0x8b,0xc1,0x95) +#endif +#else +typedef struct ITextProvider2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextProvider2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextProvider2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextProvider2 *This); + + /*** ITextProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ITextProvider2 *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + ITextProvider2 *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + ITextProvider2 *This, + IRawElementProviderSimple *childElement, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + ITextProvider2 *This, + struct UiaPoint point, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + ITextProvider2 *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + ITextProvider2 *This, + enum SupportedTextSelection *pRetVal); + + /*** ITextProvider2 methods ***/ + HRESULT (STDMETHODCALLTYPE *RangeFromAnnotation)( + ITextProvider2 *This, + IRawElementProviderSimple *annotationElement, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetCaretRange)( + ITextProvider2 *This, + WINBOOL *isActive, + ITextRangeProvider **pRetVal); + + END_INTERFACE +} ITextProvider2Vtbl; + +interface ITextProvider2 { + CONST_VTBL ITextProvider2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextProvider2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextProvider2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextProvider2_Release(This) (This)->lpVtbl->Release(This) +/*** ITextProvider methods ***/ +#define ITextProvider2_GetSelection(This,pRetVal) (This)->lpVtbl->GetSelection(This,pRetVal) +#define ITextProvider2_GetVisibleRanges(This,pRetVal) (This)->lpVtbl->GetVisibleRanges(This,pRetVal) +#define ITextProvider2_RangeFromChild(This,childElement,pRetVal) (This)->lpVtbl->RangeFromChild(This,childElement,pRetVal) +#define ITextProvider2_RangeFromPoint(This,point,pRetVal) (This)->lpVtbl->RangeFromPoint(This,point,pRetVal) +#define ITextProvider2_get_DocumentRange(This,pRetVal) (This)->lpVtbl->get_DocumentRange(This,pRetVal) +#define ITextProvider2_get_SupportedTextSelection(This,pRetVal) (This)->lpVtbl->get_SupportedTextSelection(This,pRetVal) +/*** ITextProvider2 methods ***/ +#define ITextProvider2_RangeFromAnnotation(This,annotationElement,pRetVal) (This)->lpVtbl->RangeFromAnnotation(This,annotationElement,pRetVal) +#define ITextProvider2_GetCaretRange(This,isActive,pRetVal) (This)->lpVtbl->GetCaretRange(This,isActive,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextProvider2_QueryInterface(ITextProvider2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextProvider2_AddRef(ITextProvider2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextProvider2_Release(ITextProvider2* This) { + return This->lpVtbl->Release(This); +} +/*** ITextProvider methods ***/ +static inline HRESULT ITextProvider2_GetSelection(ITextProvider2* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSelection(This,pRetVal); +} +static inline HRESULT ITextProvider2_GetVisibleRanges(ITextProvider2* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetVisibleRanges(This,pRetVal); +} +static inline HRESULT ITextProvider2_RangeFromChild(ITextProvider2* This,IRawElementProviderSimple *childElement,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromChild(This,childElement,pRetVal); +} +static inline HRESULT ITextProvider2_RangeFromPoint(ITextProvider2* This,struct UiaPoint point,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromPoint(This,point,pRetVal); +} +static inline HRESULT ITextProvider2_get_DocumentRange(ITextProvider2* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->get_DocumentRange(This,pRetVal); +} +static inline HRESULT ITextProvider2_get_SupportedTextSelection(ITextProvider2* This,enum SupportedTextSelection *pRetVal) { + return This->lpVtbl->get_SupportedTextSelection(This,pRetVal); +} +/*** ITextProvider2 methods ***/ +static inline HRESULT ITextProvider2_RangeFromAnnotation(ITextProvider2* This,IRawElementProviderSimple *annotationElement,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromAnnotation(This,annotationElement,pRetVal); +} +static inline HRESULT ITextProvider2_GetCaretRange(ITextProvider2* This,WINBOOL *isActive,ITextRangeProvider **pRetVal) { + return This->lpVtbl->GetCaretRange(This,isActive,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITextProvider2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextEditProvider interface + */ +#ifndef __ITextEditProvider_INTERFACE_DEFINED__ +#define __ITextEditProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextEditProvider, 0xea3605b4, 0x3a05, 0x400e, 0xb5,0xf9, 0x4e,0x91,0xb4,0x0f,0x61,0x76); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ea3605b4-3a05-400e-b5f9-4e91b40f6176") +ITextEditProvider : public ITextProvider +{ + virtual HRESULT STDMETHODCALLTYPE GetActiveComposition( + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConversionTarget( + ITextRangeProvider **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextEditProvider, 0xea3605b4, 0x3a05, 0x400e, 0xb5,0xf9, 0x4e,0x91,0xb4,0x0f,0x61,0x76) +#endif +#else +typedef struct ITextEditProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextEditProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextEditProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextEditProvider *This); + + /*** ITextProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSelection)( + ITextEditProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetVisibleRanges)( + ITextEditProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromChild)( + ITextEditProvider *This, + IRawElementProviderSimple *childElement, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *RangeFromPoint)( + ITextEditProvider *This, + struct UiaPoint point, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_DocumentRange)( + ITextEditProvider *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_SupportedTextSelection)( + ITextEditProvider *This, + enum SupportedTextSelection *pRetVal); + + /*** ITextEditProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetActiveComposition)( + ITextEditProvider *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetConversionTarget)( + ITextEditProvider *This, + ITextRangeProvider **pRetVal); + + END_INTERFACE +} ITextEditProviderVtbl; + +interface ITextEditProvider { + CONST_VTBL ITextEditProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextEditProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextEditProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextEditProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITextProvider methods ***/ +#define ITextEditProvider_GetSelection(This,pRetVal) (This)->lpVtbl->GetSelection(This,pRetVal) +#define ITextEditProvider_GetVisibleRanges(This,pRetVal) (This)->lpVtbl->GetVisibleRanges(This,pRetVal) +#define ITextEditProvider_RangeFromChild(This,childElement,pRetVal) (This)->lpVtbl->RangeFromChild(This,childElement,pRetVal) +#define ITextEditProvider_RangeFromPoint(This,point,pRetVal) (This)->lpVtbl->RangeFromPoint(This,point,pRetVal) +#define ITextEditProvider_get_DocumentRange(This,pRetVal) (This)->lpVtbl->get_DocumentRange(This,pRetVal) +#define ITextEditProvider_get_SupportedTextSelection(This,pRetVal) (This)->lpVtbl->get_SupportedTextSelection(This,pRetVal) +/*** ITextEditProvider methods ***/ +#define ITextEditProvider_GetActiveComposition(This,pRetVal) (This)->lpVtbl->GetActiveComposition(This,pRetVal) +#define ITextEditProvider_GetConversionTarget(This,pRetVal) (This)->lpVtbl->GetConversionTarget(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextEditProvider_QueryInterface(ITextEditProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextEditProvider_AddRef(ITextEditProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextEditProvider_Release(ITextEditProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITextProvider methods ***/ +static inline HRESULT ITextEditProvider_GetSelection(ITextEditProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetSelection(This,pRetVal); +} +static inline HRESULT ITextEditProvider_GetVisibleRanges(ITextEditProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetVisibleRanges(This,pRetVal); +} +static inline HRESULT ITextEditProvider_RangeFromChild(ITextEditProvider* This,IRawElementProviderSimple *childElement,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromChild(This,childElement,pRetVal); +} +static inline HRESULT ITextEditProvider_RangeFromPoint(ITextEditProvider* This,struct UiaPoint point,ITextRangeProvider **pRetVal) { + return This->lpVtbl->RangeFromPoint(This,point,pRetVal); +} +static inline HRESULT ITextEditProvider_get_DocumentRange(ITextEditProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->get_DocumentRange(This,pRetVal); +} +static inline HRESULT ITextEditProvider_get_SupportedTextSelection(ITextEditProvider* This,enum SupportedTextSelection *pRetVal) { + return This->lpVtbl->get_SupportedTextSelection(This,pRetVal); +} +/*** ITextEditProvider methods ***/ +static inline HRESULT ITextEditProvider_GetActiveComposition(ITextEditProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->GetActiveComposition(This,pRetVal); +} +static inline HRESULT ITextEditProvider_GetConversionTarget(ITextEditProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->GetConversionTarget(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITextEditProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextRangeProvider interface + */ +#ifndef __ITextRangeProvider_INTERFACE_DEFINED__ +#define __ITextRangeProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5347ad7b-c355-46f8-aff5-909033582f63") +ITextRangeProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Clone( + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE Compare( + ITextRangeProvider *range, + WINBOOL *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareEndpoints( + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint, + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExpandToEnclosingUnit( + enum TextUnit unit) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindAttribute( + TEXTATTRIBUTEID attributeId, + VARIANT val, + WINBOOL backward, + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindText( + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + ITextRangeProvider **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeValue( + TEXTATTRIBUTEID attributeId, + VARIANT *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBoundingRectangles( + SAFEARRAY **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnclosingElement( + IRawElementProviderSimple **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetText( + int maxLength, + BSTR *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE Move( + enum TextUnit unit, + int count, + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByUnit( + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveEndpointByRange( + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE Select( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddToSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveFromSelection( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ScrollIntoView( + WINBOOL alignToTop) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChildren( + SAFEARRAY **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextRangeProvider, 0x5347ad7b, 0xc355, 0x46f8, 0xaf,0xf5, 0x90,0x90,0x33,0x58,0x2f,0x63) +#endif +#else +typedef struct ITextRangeProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextRangeProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextRangeProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextRangeProvider *This); + + /*** ITextRangeProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Clone)( + ITextRangeProvider *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *Compare)( + ITextRangeProvider *This, + ITextRangeProvider *range, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *CompareEndpoints)( + ITextRangeProvider *This, + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *ExpandToEnclosingUnit)( + ITextRangeProvider *This, + enum TextUnit unit); + + HRESULT (STDMETHODCALLTYPE *FindAttribute)( + ITextRangeProvider *This, + TEXTATTRIBUTEID attributeId, + VARIANT val, + WINBOOL backward, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *FindText)( + ITextRangeProvider *This, + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetAttributeValue)( + ITextRangeProvider *This, + TEXTATTRIBUTEID attributeId, + VARIANT *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetBoundingRectangles)( + ITextRangeProvider *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetEnclosingElement)( + ITextRangeProvider *This, + IRawElementProviderSimple **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetText)( + ITextRangeProvider *This, + int maxLength, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *Move)( + ITextRangeProvider *This, + enum TextUnit unit, + int count, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByUnit)( + ITextRangeProvider *This, + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByRange)( + ITextRangeProvider *This, + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint); + + HRESULT (STDMETHODCALLTYPE *Select)( + ITextRangeProvider *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + ITextRangeProvider *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + ITextRangeProvider *This); + + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + ITextRangeProvider *This, + WINBOOL alignToTop); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + ITextRangeProvider *This, + SAFEARRAY **pRetVal); + + END_INTERFACE +} ITextRangeProviderVtbl; + +interface ITextRangeProvider { + CONST_VTBL ITextRangeProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextRangeProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextRangeProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextRangeProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITextRangeProvider methods ***/ +#define ITextRangeProvider_Clone(This,pRetVal) (This)->lpVtbl->Clone(This,pRetVal) +#define ITextRangeProvider_Compare(This,range,pRetVal) (This)->lpVtbl->Compare(This,range,pRetVal) +#define ITextRangeProvider_CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal) (This)->lpVtbl->CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal) +#define ITextRangeProvider_ExpandToEnclosingUnit(This,unit) (This)->lpVtbl->ExpandToEnclosingUnit(This,unit) +#define ITextRangeProvider_FindAttribute(This,attributeId,val,backward,pRetVal) (This)->lpVtbl->FindAttribute(This,attributeId,val,backward,pRetVal) +#define ITextRangeProvider_FindText(This,text,backward,ignoreCase,pRetVal) (This)->lpVtbl->FindText(This,text,backward,ignoreCase,pRetVal) +#define ITextRangeProvider_GetAttributeValue(This,attributeId,pRetVal) (This)->lpVtbl->GetAttributeValue(This,attributeId,pRetVal) +#define ITextRangeProvider_GetBoundingRectangles(This,pRetVal) (This)->lpVtbl->GetBoundingRectangles(This,pRetVal) +#define ITextRangeProvider_GetEnclosingElement(This,pRetVal) (This)->lpVtbl->GetEnclosingElement(This,pRetVal) +#define ITextRangeProvider_GetText(This,maxLength,pRetVal) (This)->lpVtbl->GetText(This,maxLength,pRetVal) +#define ITextRangeProvider_Move(This,unit,count,pRetVal) (This)->lpVtbl->Move(This,unit,count,pRetVal) +#define ITextRangeProvider_MoveEndpointByUnit(This,endpoint,unit,count,pRetVal) (This)->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,pRetVal) +#define ITextRangeProvider_MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint) (This)->lpVtbl->MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint) +#define ITextRangeProvider_Select(This) (This)->lpVtbl->Select(This) +#define ITextRangeProvider_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define ITextRangeProvider_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define ITextRangeProvider_ScrollIntoView(This,alignToTop) (This)->lpVtbl->ScrollIntoView(This,alignToTop) +#define ITextRangeProvider_GetChildren(This,pRetVal) (This)->lpVtbl->GetChildren(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextRangeProvider_QueryInterface(ITextRangeProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextRangeProvider_AddRef(ITextRangeProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextRangeProvider_Release(ITextRangeProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITextRangeProvider methods ***/ +static inline HRESULT ITextRangeProvider_Clone(ITextRangeProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->Clone(This,pRetVal); +} +static inline HRESULT ITextRangeProvider_Compare(ITextRangeProvider* This,ITextRangeProvider *range,WINBOOL *pRetVal) { + return This->lpVtbl->Compare(This,range,pRetVal); +} +static inline HRESULT ITextRangeProvider_CompareEndpoints(ITextRangeProvider* This,enum TextPatternRangeEndpoint endpoint,ITextRangeProvider *targetRange,enum TextPatternRangeEndpoint targetEndpoint,int *pRetVal) { + return This->lpVtbl->CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal); +} +static inline HRESULT ITextRangeProvider_ExpandToEnclosingUnit(ITextRangeProvider* This,enum TextUnit unit) { + return This->lpVtbl->ExpandToEnclosingUnit(This,unit); +} +static inline HRESULT ITextRangeProvider_FindAttribute(ITextRangeProvider* This,TEXTATTRIBUTEID attributeId,VARIANT val,WINBOOL backward,ITextRangeProvider **pRetVal) { + return This->lpVtbl->FindAttribute(This,attributeId,val,backward,pRetVal); +} +static inline HRESULT ITextRangeProvider_FindText(ITextRangeProvider* This,BSTR text,WINBOOL backward,WINBOOL ignoreCase,ITextRangeProvider **pRetVal) { + return This->lpVtbl->FindText(This,text,backward,ignoreCase,pRetVal); +} +static inline HRESULT ITextRangeProvider_GetAttributeValue(ITextRangeProvider* This,TEXTATTRIBUTEID attributeId,VARIANT *pRetVal) { + return This->lpVtbl->GetAttributeValue(This,attributeId,pRetVal); +} +static inline HRESULT ITextRangeProvider_GetBoundingRectangles(ITextRangeProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetBoundingRectangles(This,pRetVal); +} +static inline HRESULT ITextRangeProvider_GetEnclosingElement(ITextRangeProvider* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->GetEnclosingElement(This,pRetVal); +} +static inline HRESULT ITextRangeProvider_GetText(ITextRangeProvider* This,int maxLength,BSTR *pRetVal) { + return This->lpVtbl->GetText(This,maxLength,pRetVal); +} +static inline HRESULT ITextRangeProvider_Move(ITextRangeProvider* This,enum TextUnit unit,int count,int *pRetVal) { + return This->lpVtbl->Move(This,unit,count,pRetVal); +} +static inline HRESULT ITextRangeProvider_MoveEndpointByUnit(ITextRangeProvider* This,enum TextPatternRangeEndpoint endpoint,enum TextUnit unit,int count,int *pRetVal) { + return This->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,pRetVal); +} +static inline HRESULT ITextRangeProvider_MoveEndpointByRange(ITextRangeProvider* This,enum TextPatternRangeEndpoint endpoint,ITextRangeProvider *targetRange,enum TextPatternRangeEndpoint targetEndpoint) { + return This->lpVtbl->MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint); +} +static inline HRESULT ITextRangeProvider_Select(ITextRangeProvider* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT ITextRangeProvider_AddToSelection(ITextRangeProvider* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT ITextRangeProvider_RemoveFromSelection(ITextRangeProvider* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT ITextRangeProvider_ScrollIntoView(ITextRangeProvider* This,WINBOOL alignToTop) { + return This->lpVtbl->ScrollIntoView(This,alignToTop); +} +static inline HRESULT ITextRangeProvider_GetChildren(ITextRangeProvider* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetChildren(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITextRangeProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextRangeProvider2 interface + */ +#ifndef __ITextRangeProvider2_INTERFACE_DEFINED__ +#define __ITextRangeProvider2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextRangeProvider2, 0x9bbce42c, 0x1921, 0x4f18, 0x89,0xca, 0xdb,0xa1,0x91,0x0a,0x03,0x86); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9bbce42c-1921-4f18-89ca-dba1910a0386") +ITextRangeProvider2 : public ITextRangeProvider +{ + virtual HRESULT STDMETHODCALLTYPE ShowContextMenu( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextRangeProvider2, 0x9bbce42c, 0x1921, 0x4f18, 0x89,0xca, 0xdb,0xa1,0x91,0x0a,0x03,0x86) +#endif +#else +typedef struct ITextRangeProvider2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextRangeProvider2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextRangeProvider2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextRangeProvider2 *This); + + /*** ITextRangeProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Clone)( + ITextRangeProvider2 *This, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *Compare)( + ITextRangeProvider2 *This, + ITextRangeProvider *range, + WINBOOL *pRetVal); + + HRESULT (STDMETHODCALLTYPE *CompareEndpoints)( + ITextRangeProvider2 *This, + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *ExpandToEnclosingUnit)( + ITextRangeProvider2 *This, + enum TextUnit unit); + + HRESULT (STDMETHODCALLTYPE *FindAttribute)( + ITextRangeProvider2 *This, + TEXTATTRIBUTEID attributeId, + VARIANT val, + WINBOOL backward, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *FindText)( + ITextRangeProvider2 *This, + BSTR text, + WINBOOL backward, + WINBOOL ignoreCase, + ITextRangeProvider **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetAttributeValue)( + ITextRangeProvider2 *This, + TEXTATTRIBUTEID attributeId, + VARIANT *pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetBoundingRectangles)( + ITextRangeProvider2 *This, + SAFEARRAY **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetEnclosingElement)( + ITextRangeProvider2 *This, + IRawElementProviderSimple **pRetVal); + + HRESULT (STDMETHODCALLTYPE *GetText)( + ITextRangeProvider2 *This, + int maxLength, + BSTR *pRetVal); + + HRESULT (STDMETHODCALLTYPE *Move)( + ITextRangeProvider2 *This, + enum TextUnit unit, + int count, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByUnit)( + ITextRangeProvider2 *This, + enum TextPatternRangeEndpoint endpoint, + enum TextUnit unit, + int count, + int *pRetVal); + + HRESULT (STDMETHODCALLTYPE *MoveEndpointByRange)( + ITextRangeProvider2 *This, + enum TextPatternRangeEndpoint endpoint, + ITextRangeProvider *targetRange, + enum TextPatternRangeEndpoint targetEndpoint); + + HRESULT (STDMETHODCALLTYPE *Select)( + ITextRangeProvider2 *This); + + HRESULT (STDMETHODCALLTYPE *AddToSelection)( + ITextRangeProvider2 *This); + + HRESULT (STDMETHODCALLTYPE *RemoveFromSelection)( + ITextRangeProvider2 *This); + + HRESULT (STDMETHODCALLTYPE *ScrollIntoView)( + ITextRangeProvider2 *This, + WINBOOL alignToTop); + + HRESULT (STDMETHODCALLTYPE *GetChildren)( + ITextRangeProvider2 *This, + SAFEARRAY **pRetVal); + + /*** ITextRangeProvider2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ShowContextMenu)( + ITextRangeProvider2 *This); + + END_INTERFACE +} ITextRangeProvider2Vtbl; + +interface ITextRangeProvider2 { + CONST_VTBL ITextRangeProvider2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextRangeProvider2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextRangeProvider2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextRangeProvider2_Release(This) (This)->lpVtbl->Release(This) +/*** ITextRangeProvider methods ***/ +#define ITextRangeProvider2_Clone(This,pRetVal) (This)->lpVtbl->Clone(This,pRetVal) +#define ITextRangeProvider2_Compare(This,range,pRetVal) (This)->lpVtbl->Compare(This,range,pRetVal) +#define ITextRangeProvider2_CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal) (This)->lpVtbl->CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal) +#define ITextRangeProvider2_ExpandToEnclosingUnit(This,unit) (This)->lpVtbl->ExpandToEnclosingUnit(This,unit) +#define ITextRangeProvider2_FindAttribute(This,attributeId,val,backward,pRetVal) (This)->lpVtbl->FindAttribute(This,attributeId,val,backward,pRetVal) +#define ITextRangeProvider2_FindText(This,text,backward,ignoreCase,pRetVal) (This)->lpVtbl->FindText(This,text,backward,ignoreCase,pRetVal) +#define ITextRangeProvider2_GetAttributeValue(This,attributeId,pRetVal) (This)->lpVtbl->GetAttributeValue(This,attributeId,pRetVal) +#define ITextRangeProvider2_GetBoundingRectangles(This,pRetVal) (This)->lpVtbl->GetBoundingRectangles(This,pRetVal) +#define ITextRangeProvider2_GetEnclosingElement(This,pRetVal) (This)->lpVtbl->GetEnclosingElement(This,pRetVal) +#define ITextRangeProvider2_GetText(This,maxLength,pRetVal) (This)->lpVtbl->GetText(This,maxLength,pRetVal) +#define ITextRangeProvider2_Move(This,unit,count,pRetVal) (This)->lpVtbl->Move(This,unit,count,pRetVal) +#define ITextRangeProvider2_MoveEndpointByUnit(This,endpoint,unit,count,pRetVal) (This)->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,pRetVal) +#define ITextRangeProvider2_MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint) (This)->lpVtbl->MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint) +#define ITextRangeProvider2_Select(This) (This)->lpVtbl->Select(This) +#define ITextRangeProvider2_AddToSelection(This) (This)->lpVtbl->AddToSelection(This) +#define ITextRangeProvider2_RemoveFromSelection(This) (This)->lpVtbl->RemoveFromSelection(This) +#define ITextRangeProvider2_ScrollIntoView(This,alignToTop) (This)->lpVtbl->ScrollIntoView(This,alignToTop) +#define ITextRangeProvider2_GetChildren(This,pRetVal) (This)->lpVtbl->GetChildren(This,pRetVal) +/*** ITextRangeProvider2 methods ***/ +#define ITextRangeProvider2_ShowContextMenu(This) (This)->lpVtbl->ShowContextMenu(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextRangeProvider2_QueryInterface(ITextRangeProvider2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextRangeProvider2_AddRef(ITextRangeProvider2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextRangeProvider2_Release(ITextRangeProvider2* This) { + return This->lpVtbl->Release(This); +} +/*** ITextRangeProvider methods ***/ +static inline HRESULT ITextRangeProvider2_Clone(ITextRangeProvider2* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->Clone(This,pRetVal); +} +static inline HRESULT ITextRangeProvider2_Compare(ITextRangeProvider2* This,ITextRangeProvider *range,WINBOOL *pRetVal) { + return This->lpVtbl->Compare(This,range,pRetVal); +} +static inline HRESULT ITextRangeProvider2_CompareEndpoints(ITextRangeProvider2* This,enum TextPatternRangeEndpoint endpoint,ITextRangeProvider *targetRange,enum TextPatternRangeEndpoint targetEndpoint,int *pRetVal) { + return This->lpVtbl->CompareEndpoints(This,endpoint,targetRange,targetEndpoint,pRetVal); +} +static inline HRESULT ITextRangeProvider2_ExpandToEnclosingUnit(ITextRangeProvider2* This,enum TextUnit unit) { + return This->lpVtbl->ExpandToEnclosingUnit(This,unit); +} +static inline HRESULT ITextRangeProvider2_FindAttribute(ITextRangeProvider2* This,TEXTATTRIBUTEID attributeId,VARIANT val,WINBOOL backward,ITextRangeProvider **pRetVal) { + return This->lpVtbl->FindAttribute(This,attributeId,val,backward,pRetVal); +} +static inline HRESULT ITextRangeProvider2_FindText(ITextRangeProvider2* This,BSTR text,WINBOOL backward,WINBOOL ignoreCase,ITextRangeProvider **pRetVal) { + return This->lpVtbl->FindText(This,text,backward,ignoreCase,pRetVal); +} +static inline HRESULT ITextRangeProvider2_GetAttributeValue(ITextRangeProvider2* This,TEXTATTRIBUTEID attributeId,VARIANT *pRetVal) { + return This->lpVtbl->GetAttributeValue(This,attributeId,pRetVal); +} +static inline HRESULT ITextRangeProvider2_GetBoundingRectangles(ITextRangeProvider2* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetBoundingRectangles(This,pRetVal); +} +static inline HRESULT ITextRangeProvider2_GetEnclosingElement(ITextRangeProvider2* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->GetEnclosingElement(This,pRetVal); +} +static inline HRESULT ITextRangeProvider2_GetText(ITextRangeProvider2* This,int maxLength,BSTR *pRetVal) { + return This->lpVtbl->GetText(This,maxLength,pRetVal); +} +static inline HRESULT ITextRangeProvider2_Move(ITextRangeProvider2* This,enum TextUnit unit,int count,int *pRetVal) { + return This->lpVtbl->Move(This,unit,count,pRetVal); +} +static inline HRESULT ITextRangeProvider2_MoveEndpointByUnit(ITextRangeProvider2* This,enum TextPatternRangeEndpoint endpoint,enum TextUnit unit,int count,int *pRetVal) { + return This->lpVtbl->MoveEndpointByUnit(This,endpoint,unit,count,pRetVal); +} +static inline HRESULT ITextRangeProvider2_MoveEndpointByRange(ITextRangeProvider2* This,enum TextPatternRangeEndpoint endpoint,ITextRangeProvider *targetRange,enum TextPatternRangeEndpoint targetEndpoint) { + return This->lpVtbl->MoveEndpointByRange(This,endpoint,targetRange,targetEndpoint); +} +static inline HRESULT ITextRangeProvider2_Select(ITextRangeProvider2* This) { + return This->lpVtbl->Select(This); +} +static inline HRESULT ITextRangeProvider2_AddToSelection(ITextRangeProvider2* This) { + return This->lpVtbl->AddToSelection(This); +} +static inline HRESULT ITextRangeProvider2_RemoveFromSelection(ITextRangeProvider2* This) { + return This->lpVtbl->RemoveFromSelection(This); +} +static inline HRESULT ITextRangeProvider2_ScrollIntoView(ITextRangeProvider2* This,WINBOOL alignToTop) { + return This->lpVtbl->ScrollIntoView(This,alignToTop); +} +static inline HRESULT ITextRangeProvider2_GetChildren(ITextRangeProvider2* This,SAFEARRAY **pRetVal) { + return This->lpVtbl->GetChildren(This,pRetVal); +} +/*** ITextRangeProvider2 methods ***/ +static inline HRESULT ITextRangeProvider2_ShowContextMenu(ITextRangeProvider2* This) { + return This->lpVtbl->ShowContextMenu(This); +} +#endif +#endif + +#endif + + +#endif /* __ITextRangeProvider2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ITextChildProvider interface + */ +#ifndef __ITextChildProvider_INTERFACE_DEFINED__ +#define __ITextChildProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ITextChildProvider, 0x4c2de2b9, 0xc88f, 0x4f88, 0xa1,0x11, 0xf1,0xd3,0x36,0xb7,0xd1,0xa9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4c2de2b9-c88f-4f88-a111-f1d336b7d1a9") +ITextChildProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_TextContainer( + IRawElementProviderSimple **pRetVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TextRange( + ITextRangeProvider **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ITextChildProvider, 0x4c2de2b9, 0xc88f, 0x4f88, 0xa1,0x11, 0xf1,0xd3,0x36,0xb7,0xd1,0xa9) +#endif +#else +typedef struct ITextChildProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ITextChildProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ITextChildProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ITextChildProvider *This); + + /*** ITextChildProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TextContainer)( + ITextChildProvider *This, + IRawElementProviderSimple **pRetVal); + + HRESULT (STDMETHODCALLTYPE *get_TextRange)( + ITextChildProvider *This, + ITextRangeProvider **pRetVal); + + END_INTERFACE +} ITextChildProviderVtbl; + +interface ITextChildProvider { + CONST_VTBL ITextChildProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ITextChildProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ITextChildProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ITextChildProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ITextChildProvider methods ***/ +#define ITextChildProvider_get_TextContainer(This,pRetVal) (This)->lpVtbl->get_TextContainer(This,pRetVal) +#define ITextChildProvider_get_TextRange(This,pRetVal) (This)->lpVtbl->get_TextRange(This,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ITextChildProvider_QueryInterface(ITextChildProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ITextChildProvider_AddRef(ITextChildProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ITextChildProvider_Release(ITextChildProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ITextChildProvider methods ***/ +static inline HRESULT ITextChildProvider_get_TextContainer(ITextChildProvider* This,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->get_TextContainer(This,pRetVal); +} +static inline HRESULT ITextChildProvider_get_TextRange(ITextChildProvider* This,ITextRangeProvider **pRetVal) { + return This->lpVtbl->get_TextRange(This,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ITextChildProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICustomNavigationProvider interface + */ +#ifndef __ICustomNavigationProvider_INTERFACE_DEFINED__ +#define __ICustomNavigationProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICustomNavigationProvider, 0x2062a28a, 0x8c07, 0x4b94, 0x8e,0x12, 0x70,0x37,0xc6,0x22,0xae,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2062a28a-8c07-4b94-8e12-7037c622aeb8") +ICustomNavigationProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Navigate( + enum NavigateDirection direction, + IRawElementProviderSimple **pRetVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICustomNavigationProvider, 0x2062a28a, 0x8c07, 0x4b94, 0x8e,0x12, 0x70,0x37,0xc6,0x22,0xae,0xb8) +#endif +#else +typedef struct ICustomNavigationProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICustomNavigationProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICustomNavigationProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICustomNavigationProvider *This); + + /*** ICustomNavigationProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *Navigate)( + ICustomNavigationProvider *This, + enum NavigateDirection direction, + IRawElementProviderSimple **pRetVal); + + END_INTERFACE +} ICustomNavigationProviderVtbl; + +interface ICustomNavigationProvider { + CONST_VTBL ICustomNavigationProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICustomNavigationProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICustomNavigationProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICustomNavigationProvider_Release(This) (This)->lpVtbl->Release(This) +/*** ICustomNavigationProvider methods ***/ +#define ICustomNavigationProvider_Navigate(This,direction,pRetVal) (This)->lpVtbl->Navigate(This,direction,pRetVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICustomNavigationProvider_QueryInterface(ICustomNavigationProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICustomNavigationProvider_AddRef(ICustomNavigationProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICustomNavigationProvider_Release(ICustomNavigationProvider* This) { + return This->lpVtbl->Release(This); +} +/*** ICustomNavigationProvider methods ***/ +static inline HRESULT ICustomNavigationProvider_Navigate(ICustomNavigationProvider* This,enum NavigateDirection direction,IRawElementProviderSimple **pRetVal) { + return This->lpVtbl->Navigate(This,direction,pRetVal); +} +#endif +#endif + +#endif + + +#endif /* __ICustomNavigationProvider_INTERFACE_DEFINED__ */ + +enum UIAutomationType { + UIAutomationType_Int = 0x1, + UIAutomationType_Bool = 0x2, + UIAutomationType_String = 0x3, + UIAutomationType_Double = 0x4, + UIAutomationType_Point = 0x5, + UIAutomationType_Rect = 0x6, + UIAutomationType_Element = 0x7, + UIAutomationType_Array = 0x10000, + UIAutomationType_Out = 0x20000, + UIAutomationType_IntArray = UIAutomationType_Int | UIAutomationType_Array, + UIAutomationType_BoolArray = UIAutomationType_Bool | UIAutomationType_Array, + UIAutomationType_StringArray = UIAutomationType_String | UIAutomationType_Array, + UIAutomationType_DoubleArray = UIAutomationType_Double | UIAutomationType_Array, + UIAutomationType_PointArray = UIAutomationType_Point | UIAutomationType_Array, + UIAutomationType_RectArray = UIAutomationType_Rect | UIAutomationType_Array, + UIAutomationType_ElementArray = UIAutomationType_Element | UIAutomationType_Array, + UIAutomationType_OutInt = UIAutomationType_Int | UIAutomationType_Out, + UIAutomationType_OutBool = UIAutomationType_Bool | UIAutomationType_Out, + UIAutomationType_OutString = UIAutomationType_String | UIAutomationType_Out, + UIAutomationType_OutDouble = UIAutomationType_Double | UIAutomationType_Out, + UIAutomationType_OutPoint = UIAutomationType_Point | UIAutomationType_Out, + UIAutomationType_OutRect = UIAutomationType_Rect | UIAutomationType_Out, + UIAutomationType_OutElement = UIAutomationType_Element | UIAutomationType_Out, + UIAutomationType_OutIntArray = (UIAutomationType_Int | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutBoolArray = (UIAutomationType_Bool | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutStringArray = (UIAutomationType_String | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutDoubleArray = (UIAutomationType_Double | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutPointArray = (UIAutomationType_Point | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutRectArray = (UIAutomationType_Rect | UIAutomationType_Array) | UIAutomationType_Out, + UIAutomationType_OutElementArray = (UIAutomationType_Element | UIAutomationType_Array) | UIAutomationType_Out +}; +DEFINE_ENUM_FLAG_OPERATORS(UIAutomationType) +struct UIAutomationParameter { + enum UIAutomationType type; + void *pData; +}; +struct UIAutomationPropertyInfo { + GUID guid; + LPCWSTR pProgrammaticName; + enum UIAutomationType type; +}; +struct UIAutomationEventInfo { + GUID guid; + LPCWSTR pProgrammaticName; +}; +struct UIAutomationMethodInfo { + LPCWSTR pProgrammaticName; + WINBOOL doSetFocus; + UINT cInParameters; + UINT cOutParameters; + enum UIAutomationType *pParameterTypes; + LPCWSTR *pParameterNames; +}; +/***************************************************************************** + * IUIAutomationPatternInstance interface + */ +#ifndef __IUIAutomationPatternInstance_INTERFACE_DEFINED__ +#define __IUIAutomationPatternInstance_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationPatternInstance, 0xc03a7fe4, 0x9431, 0x409f, 0xbe,0xd8, 0xae,0x7c,0x22,0x99,0xbc,0x8d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c03a7fe4-9431-409f-bed8-ae7c2299bc8d") +IUIAutomationPatternInstance : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetProperty( + UINT index, + WINBOOL cached, + enum UIAutomationType type, + void *pPtr) = 0; + + virtual HRESULT STDMETHODCALLTYPE CallMethod( + UINT index, + const struct UIAutomationParameter *pParams, + UINT cParams) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationPatternInstance, 0xc03a7fe4, 0x9431, 0x409f, 0xbe,0xd8, 0xae,0x7c,0x22,0x99,0xbc,0x8d) +#endif +#else +typedef struct IUIAutomationPatternInstanceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationPatternInstance *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationPatternInstance *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationPatternInstance *This); + + /*** IUIAutomationPatternInstance methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IUIAutomationPatternInstance *This, + UINT index, + WINBOOL cached, + enum UIAutomationType type, + void *pPtr); + + HRESULT (STDMETHODCALLTYPE *CallMethod)( + IUIAutomationPatternInstance *This, + UINT index, + const struct UIAutomationParameter *pParams, + UINT cParams); + + END_INTERFACE +} IUIAutomationPatternInstanceVtbl; + +interface IUIAutomationPatternInstance { + CONST_VTBL IUIAutomationPatternInstanceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationPatternInstance_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationPatternInstance_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationPatternInstance_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationPatternInstance methods ***/ +#define IUIAutomationPatternInstance_GetProperty(This,index,cached,type,pPtr) (This)->lpVtbl->GetProperty(This,index,cached,type,pPtr) +#define IUIAutomationPatternInstance_CallMethod(This,index,pParams,cParams) (This)->lpVtbl->CallMethod(This,index,pParams,cParams) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationPatternInstance_QueryInterface(IUIAutomationPatternInstance* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationPatternInstance_AddRef(IUIAutomationPatternInstance* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationPatternInstance_Release(IUIAutomationPatternInstance* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationPatternInstance methods ***/ +static inline HRESULT IUIAutomationPatternInstance_GetProperty(IUIAutomationPatternInstance* This,UINT index,WINBOOL cached,enum UIAutomationType type,void *pPtr) { + return This->lpVtbl->GetProperty(This,index,cached,type,pPtr); +} +static inline HRESULT IUIAutomationPatternInstance_CallMethod(IUIAutomationPatternInstance* This,UINT index,const struct UIAutomationParameter *pParams,UINT cParams) { + return This->lpVtbl->CallMethod(This,index,pParams,cParams); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationPatternInstance_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUIAutomationPatternHandler interface + */ +#ifndef __IUIAutomationPatternHandler_INTERFACE_DEFINED__ +#define __IUIAutomationPatternHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationPatternHandler, 0xd97022f3, 0xa947, 0x465e, 0x8b,0x2a, 0xac,0x43,0x15,0xfa,0x54,0xe8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d97022f3-a947-465e-8b2a-ac4315fa54e8") +IUIAutomationPatternHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateClientWrapper( + IUIAutomationPatternInstance *pPatternInstance, + IUnknown **pClientWrapper) = 0; + + virtual HRESULT STDMETHODCALLTYPE Dispatch( + IUnknown *pTarget, + UINT index, + const struct UIAutomationParameter *pParams, + UINT cParams) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationPatternHandler, 0xd97022f3, 0xa947, 0x465e, 0x8b,0x2a, 0xac,0x43,0x15,0xfa,0x54,0xe8) +#endif +#else +typedef struct IUIAutomationPatternHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationPatternHandler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationPatternHandler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationPatternHandler *This); + + /*** IUIAutomationPatternHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateClientWrapper)( + IUIAutomationPatternHandler *This, + IUIAutomationPatternInstance *pPatternInstance, + IUnknown **pClientWrapper); + + HRESULT (STDMETHODCALLTYPE *Dispatch)( + IUIAutomationPatternHandler *This, + IUnknown *pTarget, + UINT index, + const struct UIAutomationParameter *pParams, + UINT cParams); + + END_INTERFACE +} IUIAutomationPatternHandlerVtbl; + +interface IUIAutomationPatternHandler { + CONST_VTBL IUIAutomationPatternHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationPatternHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationPatternHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationPatternHandler_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationPatternHandler methods ***/ +#define IUIAutomationPatternHandler_CreateClientWrapper(This,pPatternInstance,pClientWrapper) (This)->lpVtbl->CreateClientWrapper(This,pPatternInstance,pClientWrapper) +#define IUIAutomationPatternHandler_Dispatch(This,pTarget,index,pParams,cParams) (This)->lpVtbl->Dispatch(This,pTarget,index,pParams,cParams) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationPatternHandler_QueryInterface(IUIAutomationPatternHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationPatternHandler_AddRef(IUIAutomationPatternHandler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationPatternHandler_Release(IUIAutomationPatternHandler* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationPatternHandler methods ***/ +static inline HRESULT IUIAutomationPatternHandler_CreateClientWrapper(IUIAutomationPatternHandler* This,IUIAutomationPatternInstance *pPatternInstance,IUnknown **pClientWrapper) { + return This->lpVtbl->CreateClientWrapper(This,pPatternInstance,pClientWrapper); +} +static inline HRESULT IUIAutomationPatternHandler_Dispatch(IUIAutomationPatternHandler* This,IUnknown *pTarget,UINT index,const struct UIAutomationParameter *pParams,UINT cParams) { + return This->lpVtbl->Dispatch(This,pTarget,index,pParams,cParams); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationPatternHandler_INTERFACE_DEFINED__ */ + +struct UIAutomationPatternInfo { + GUID guid; + LPCWSTR pProgrammaticName; + GUID providerInterfaceId; + GUID clientInterfaceId; + UINT cProperties; + struct UIAutomationPropertyInfo *pProperties; + UINT cMethods; + struct UIAutomationMethodInfo *pMethods; + UINT cEvents; + struct UIAutomationEventInfo *pEvents; + IUIAutomationPatternHandler *pPatternHandler; +}; +/***************************************************************************** + * IUIAutomationRegistrar interface + */ +#ifndef __IUIAutomationRegistrar_INTERFACE_DEFINED__ +#define __IUIAutomationRegistrar_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIAutomationRegistrar, 0x8609c4ec, 0x4a1a, 0x4d88, 0xa3,0x57, 0x5a,0x66,0xe0,0x60,0xe1,0xcf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8609c4ec-4a1a-4d88-a357-5a66e060e1cf") +IUIAutomationRegistrar : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RegisterProperty( + const struct UIAutomationPropertyInfo *property, + PROPERTYID *propertyId) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEvent( + const struct UIAutomationEventInfo *event, + EVENTID *eventId) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterPattern( + const struct UIAutomationPatternInfo *pattern, + PATTERNID *pPatternId, + PROPERTYID *pPatternAvailablePropertyId, + UINT propertyIdCount, + PROPERTYID *pPropertyIds, + UINT eventIdCount, + EVENTID *pEventIds) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIAutomationRegistrar, 0x8609c4ec, 0x4a1a, 0x4d88, 0xa3,0x57, 0x5a,0x66,0xe0,0x60,0xe1,0xcf) +#endif +#else +typedef struct IUIAutomationRegistrarVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIAutomationRegistrar *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIAutomationRegistrar *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIAutomationRegistrar *This); + + /*** IUIAutomationRegistrar methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterProperty)( + IUIAutomationRegistrar *This, + const struct UIAutomationPropertyInfo *property, + PROPERTYID *propertyId); + + HRESULT (STDMETHODCALLTYPE *RegisterEvent)( + IUIAutomationRegistrar *This, + const struct UIAutomationEventInfo *event, + EVENTID *eventId); + + HRESULT (STDMETHODCALLTYPE *RegisterPattern)( + IUIAutomationRegistrar *This, + const struct UIAutomationPatternInfo *pattern, + PATTERNID *pPatternId, + PROPERTYID *pPatternAvailablePropertyId, + UINT propertyIdCount, + PROPERTYID *pPropertyIds, + UINT eventIdCount, + EVENTID *pEventIds); + + END_INTERFACE +} IUIAutomationRegistrarVtbl; + +interface IUIAutomationRegistrar { + CONST_VTBL IUIAutomationRegistrarVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIAutomationRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIAutomationRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIAutomationRegistrar_Release(This) (This)->lpVtbl->Release(This) +/*** IUIAutomationRegistrar methods ***/ +#define IUIAutomationRegistrar_RegisterProperty(This,property,propertyId) (This)->lpVtbl->RegisterProperty(This,property,propertyId) +#define IUIAutomationRegistrar_RegisterEvent(This,event,eventId) (This)->lpVtbl->RegisterEvent(This,event,eventId) +#define IUIAutomationRegistrar_RegisterPattern(This,pattern,pPatternId,pPatternAvailablePropertyId,propertyIdCount,pPropertyIds,eventIdCount,pEventIds) (This)->lpVtbl->RegisterPattern(This,pattern,pPatternId,pPatternAvailablePropertyId,propertyIdCount,pPropertyIds,eventIdCount,pEventIds) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIAutomationRegistrar_QueryInterface(IUIAutomationRegistrar* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIAutomationRegistrar_AddRef(IUIAutomationRegistrar* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIAutomationRegistrar_Release(IUIAutomationRegistrar* This) { + return This->lpVtbl->Release(This); +} +/*** IUIAutomationRegistrar methods ***/ +static inline HRESULT IUIAutomationRegistrar_RegisterProperty(IUIAutomationRegistrar* This,const struct UIAutomationPropertyInfo *property,PROPERTYID *propertyId) { + return This->lpVtbl->RegisterProperty(This,property,propertyId); +} +static inline HRESULT IUIAutomationRegistrar_RegisterEvent(IUIAutomationRegistrar* This,const struct UIAutomationEventInfo *event,EVENTID *eventId) { + return This->lpVtbl->RegisterEvent(This,event,eventId); +} +static inline HRESULT IUIAutomationRegistrar_RegisterPattern(IUIAutomationRegistrar* This,const struct UIAutomationPatternInfo *pattern,PATTERNID *pPatternId,PROPERTYID *pPatternAvailablePropertyId,UINT propertyIdCount,PROPERTYID *pPropertyIds,UINT eventIdCount,EVENTID *pEventIds) { + return This->lpVtbl->RegisterPattern(This,pattern,pPatternId,pPatternAvailablePropertyId,propertyIdCount,pPropertyIds,eventIdCount,pEventIds); +} +#endif +#endif + +#endif + + +#endif /* __IUIAutomationRegistrar_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * CUIAutomationRegistrar coclass + */ + +DEFINE_GUID(CLSID_CUIAutomationRegistrar, 0x6e29fabf, 0x9977, 0x42d1, 0x8d,0x0e, 0xca,0x7e,0x61,0xad,0x87,0xe6); + +#ifdef __cplusplus +class DECLSPEC_UUID("6e29fabf-9977-42d1-8d0e-ca7e61ad87e6") CUIAutomationRegistrar; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CUIAutomationRegistrar, 0x6e29fabf, 0x9977, 0x42d1, 0x8d,0x0e, 0xca,0x7e,0x61,0xad,0x87,0xe6) +#endif +#endif + +#endif /* __UIA_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 HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); +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 /* __uiautomationcore_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcoreapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcoreapi.h new file mode 100644 index 00000000..9135458f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiautomationcoreapi.h @@ -0,0 +1,568 @@ +/* + * Copyright 2012 Jacek Caban for CodeWeavers + * + * 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_UIAUTOMATIONCOREAPI +#define _INC_UIAUTOMATIONCOREAPI + +#ifdef __cplusplus +extern "C" { +#endif + +#define UIA_E_ELEMENTNOTENABLED 0x80040200 +#define UIA_E_ELEMENTNOTAVAILABLE 0x80040201 +#define UIA_E_NOCLICKABLEPOINT 0x80040202 +#define UIA_E_PROXYASSEMBLYNOTLOADED 0x80040203 +#define UIA_E_NOTSUPPORTED 0x80040204 +#define UIA_E_INVALIDOPERATION 0x80131509 +#define UIA_E_TIMEOUT 0x80131505 + +#define UiaAppendRuntimeId 3 +#define UiaRootObjectId -25 + +#define UIA_PFIA_DEFAULT 0x00 +#define UIA_PFIA_UNWRAP_BRIDGE 0x01 + +DECLARE_HANDLE(HUIANODE); +DECLARE_HANDLE(HUIAPATTERNOBJECT); +DECLARE_HANDLE(HUIATEXTRANGE); +DECLARE_HANDLE(HUIAEVENT); + +/* + * AutomationIdentifierType_Property GUIDs. + */ +DEFINE_GUID(RuntimeId_Property_GUID, 0xa39eebfa,0x7fba,0x4c89,0xb4,0xd4,0xb9,0x9e,0x2d,0xe7,0xd1,0x60); +DEFINE_GUID(BoundingRectangle_Property_GUID, 0x7bbfe8b2,0x3bfc,0x48dd,0xb7,0x29,0xc7,0x94,0xb8,0x46,0xe9,0xa1); +DEFINE_GUID(ProcessId_Property_GUID, 0x40499998,0x9c31,0x4245,0xa4,0x03,0x87,0x32,0x0e,0x59,0xea,0xf6); +DEFINE_GUID(ControlType_Property_GUID, 0xca774fea,0x28ac,0x4bc2,0x94,0xca,0xac,0xec,0x6d,0x6c,0x10,0xa3); +DEFINE_GUID(LocalizedControlType_Property_GUID, 0x8763404f,0xa1bd,0x452a,0x89,0xc4,0x3f,0x01,0xd3,0x83,0x38,0x06); +DEFINE_GUID(Name_Property_GUID, 0xc3a6921b,0x4a99,0x44f1,0xbc,0xa6,0x61,0x18,0x70,0x52,0xc4,0x31); +DEFINE_GUID(AcceleratorKey_Property_GUID, 0x514865df,0x2557,0x4cb9,0xae,0xed,0x6c,0xed,0x08,0x4c,0xe5,0x2c); +DEFINE_GUID(AccessKey_Property_GUID, 0x06827b12,0xa7f9,0x4a15,0x91,0x7c,0xff,0xa5,0xad,0x3e,0xb0,0xa7); +DEFINE_GUID(HasKeyboardFocus_Property_GUID, 0xcf8afd39,0x3f46,0x4800,0x96,0x56,0xb2,0xbf,0x12,0x52,0x99,0x05); +DEFINE_GUID(IsKeyboardFocusable_Property_GUID, 0xf7b8552a,0x0859,0x4b37,0xb9,0xcb,0x51,0xe7,0x20,0x92,0xf2,0x9f); +DEFINE_GUID(IsEnabled_Property_GUID, 0x2109427f,0xda60,0x4fed,0xbf,0x1b,0x26,0x4b,0xdc,0xe6,0xeb,0x3a); +DEFINE_GUID(AutomationId_Property_GUID, 0xc82c0500,0xb60e,0x4310,0xa2,0x67,0x30,0x3c,0x53,0x1f,0x8e,0xe5); +DEFINE_GUID(ClassName_Property_GUID, 0x157b7215,0x894f,0x4b65,0x84,0xe2,0xaa,0xc0,0xda,0x08,0xb1,0x6b); +DEFINE_GUID(HelpText_Property_GUID, 0x08555685,0x0977,0x45c7,0xa7,0xa6,0xab,0xaf,0x56,0x84,0x12,0x1a); +DEFINE_GUID(ClickablePoint_Property_GUID, 0x0196903b,0xb203,0x4818,0xa9,0xf3,0xf0,0x8e,0x67,0x5f,0x23,0x41); +DEFINE_GUID(Culture_Property_GUID, 0xe2d74f27,0x3d79,0x4dc2,0xb8,0x8b,0x30,0x44,0x96,0x3a,0x8a,0xfb); +DEFINE_GUID(IsControlElement_Property_GUID, 0x95f35085,0xabcc,0x4afd,0xa5,0xf4,0xdb,0xb4,0x6c,0x23,0x0f,0xdb); +DEFINE_GUID(IsContentElement_Property_GUID, 0x4bda64a8,0xf5d8,0x480b,0x81,0x55,0xef,0x2e,0x89,0xad,0xb6,0x72); +DEFINE_GUID(LabeledBy_Property_GUID, 0xe5b8924b,0xfc8a,0x4a35,0x80,0x31,0xcf,0x78,0xac,0x43,0xe5,0x5e); +DEFINE_GUID(IsPassword_Property_GUID, 0xe8482eb1,0x687c,0x497b,0xbe,0xbc,0x03,0xbe,0x53,0xec,0x14,0x54); +DEFINE_GUID(NewNativeWindowHandle_Property_GUID, 0x5196b33b,0x380a,0x4982,0x95,0xe1,0x91,0xf3,0xef,0x60,0xe0,0x24); +DEFINE_GUID(ItemType_Property_GUID, 0xcdda434d,0x6222,0x413b,0xa6,0x8a,0x32,0x5d,0xd1,0xd4,0x0f,0x39); +DEFINE_GUID(IsOffscreen_Property_GUID, 0x03c3d160,0xdb79,0x42db,0xa2,0xef,0x1c,0x23,0x1e,0xed,0xe5,0x07); +DEFINE_GUID(Orientation_Property_GUID, 0xa01eee62,0x3884,0x4415,0x88,0x7e,0x67,0x8e,0xc2,0x1e,0x39,0xba); +DEFINE_GUID(FrameworkId_Property_GUID, 0xdbfd9900,0x7e1a,0x4f58,0xb6,0x1b,0x70,0x63,0x12,0x0f,0x77,0x3b); +DEFINE_GUID(IsRequiredForForm_Property_GUID, 0x4f5f43cf,0x59fb,0x4bde,0xa2,0x70,0x60,0x2e,0x5e,0x11,0x41,0xe9); +DEFINE_GUID(ItemStatus_Property_GUID, 0x51de0321,0x3973,0x43e7,0x89,0x13,0x0b,0x08,0xe8,0x13,0xc3,0x7f); +DEFINE_GUID(IsDockPatternAvailable_Property_GUID, 0x2600a4c4,0x2ff8,0x4c96,0xae,0x31,0x8f,0xe6,0x19,0xa1,0x3c,0x6c); +DEFINE_GUID(IsExpandCollapsePatternAvailable_Property_GUID, 0x929d3806,0x5287,0x4725,0xaa,0x16,0x22,0x2a,0xfc,0x63,0xd5,0x95); +DEFINE_GUID(IsGridItemPatternAvailable_Property_GUID, 0x5a43e524,0xf9a2,0x4b12,0x84,0xc8,0xb4,0x8a,0x3e,0xfe,0xdd,0x34); +DEFINE_GUID(IsGridPatternAvailable_Property_GUID, 0x5622c26c,0xf0ef,0x4f3b,0x97,0xcb,0x71,0x4c,0x08,0x68,0x58,0x8b); +DEFINE_GUID(IsInvokePatternAvailable_Property_GUID, 0x4e725738,0x8364,0x4679,0xaa,0x6c,0xf3,0xf4,0x19,0x31,0xf7,0x50); +DEFINE_GUID(IsMultipleViewPatternAvailable_Property_GUID, 0xff0a31eb,0x8e25,0x469d,0x8d,0x6e,0xe7,0x71,0xa2,0x7c,0x1b,0x90); +DEFINE_GUID(IsRangeValuePatternAvailable_Property_GUID, 0xfda4244a,0xeb4d,0x43ff,0xb5,0xad,0xed,0x36,0xd3,0x73,0xec,0x4c); +DEFINE_GUID(IsScrollPatternAvailable_Property_GUID, 0x3ebb7b4a,0x828a,0x4b57,0x9d,0x22,0x2f,0xea,0x16,0x32,0xed,0x0d); +DEFINE_GUID(IsScrollItemPatternAvailable_Property_GUID, 0x1cad1a05,0x0927,0x4b76,0x97,0xe1,0x0f,0xcd,0xb2,0x09,0xb9,0x8a); +DEFINE_GUID(IsSelectionItemPatternAvailable_Property_GUID, 0x8becd62d,0x0bc3,0x4109,0xbe,0xe2,0x8e,0x67,0x15,0x29,0x0e,0x68); +DEFINE_GUID(IsSelectionPatternAvailable_Property_GUID, 0xf588acbe,0xc769,0x4838,0x9a,0x60,0x26,0x86,0xdc,0x11,0x88,0xc4); +DEFINE_GUID(IsTablePatternAvailable_Property_GUID, 0xcb83575f,0x45c2,0x4048,0x9c,0x76,0x15,0x97,0x15,0xa1,0x39,0xdf); +DEFINE_GUID(IsTableItemPatternAvailable_Property_GUID, 0xeb36b40d,0x8ea4,0x489b,0xa0,0x13,0xe6,0x0d,0x59,0x51,0xfe,0x34); +DEFINE_GUID(IsTextPatternAvailable_Property_GUID, 0xfbe2d69d,0xaff6,0x4a45,0x82,0xe2,0xfc,0x92,0xa8,0x2f,0x59,0x17); +DEFINE_GUID(IsTogglePatternAvailable_Property_GUID, 0x78686d53,0xfcd0,0x4b83,0x9b,0x78,0x58,0x32,0xce,0x63,0xbb,0x5b); +DEFINE_GUID(IsTransformPatternAvailable_Property_GUID, 0xa7f78804,0xd68b,0x4077,0xa5,0xc6,0x7a,0x5e,0xa1,0xac,0x31,0xc5); +DEFINE_GUID(IsValuePatternAvailable_Property_GUID, 0x0b5020a7,0x2119,0x473b,0xbe,0x37,0x5c,0xeb,0x98,0xbb,0xfb,0x22); +DEFINE_GUID(IsWindowPatternAvailable_Property_GUID, 0xe7a57bb1,0x5888,0x4155,0x98,0xdc,0xb4,0x22,0xfd,0x57,0xf2,0xbc); +DEFINE_GUID(Value_Value_Property_GUID, 0xe95f5e64,0x269f,0x4a85,0xba,0x99,0x40,0x92,0xc3,0xea,0x29,0x86); +DEFINE_GUID(Value_IsReadOnly_Property_GUID, 0xeb090f30,0xe24c,0x4799,0xa7,0x05,0x0d,0x24,0x7b,0xc0,0x37,0xf8); +DEFINE_GUID(RangeValue_Value_Property_GUID, 0x131f5d98,0xc50c,0x489d,0xab,0xe5,0xae,0x22,0x08,0x98,0xc5,0xf7); +DEFINE_GUID(RangeValue_IsReadOnly_Property_GUID, 0x25fa1055,0xdebf,0x4373,0xa7,0x9e,0x1f,0x1a,0x19,0x08,0xd3,0xc4); +DEFINE_GUID(RangeValue_Minimum_Property_GUID, 0x78cbd3b2,0x684d,0x4860,0xaf,0x93,0xd1,0xf9,0x5c,0xb0,0x22,0xfd); +DEFINE_GUID(RangeValue_Maximum_Property_GUID, 0x19319914,0xf979,0x4b35,0xa1,0xa6,0xd3,0x7e,0x05,0x43,0x34,0x73); +DEFINE_GUID(RangeValue_LargeChange_Property_GUID, 0xa1f96325,0x3a3d,0x4b44,0x8e,0x1f,0x4a,0x46,0xd9,0x84,0x40,0x19); +DEFINE_GUID(RangeValue_SmallChange_Property_GUID, 0x81c2c457,0x3941,0x4107,0x99,0x75,0x13,0x97,0x60,0xf7,0xc0,0x72); +DEFINE_GUID(Scroll_HorizontalScrollPercent_Property_GUID, 0xc7c13c0e,0xeb21,0x47ff,0xac,0xc4,0xb5,0xa3,0x35,0x0f,0x51,0x91); +DEFINE_GUID(Scroll_HorizontalViewSize_Property_GUID, 0x70c2e5d4,0xfcb0,0x4713,0xa9,0xaa,0xaf,0x92,0xff,0x79,0xe4,0xcd); +DEFINE_GUID(Scroll_VerticalScrollPercent_Property_GUID, 0x6c8d7099,0xb2a8,0x4948,0xbf,0xf7,0x3c,0xf9,0x05,0x8b,0xfe,0xfb); +DEFINE_GUID(Scroll_VerticalViewSize_Property_GUID, 0xde6a2e22,0xd8c7,0x40c5,0x83,0xba,0xe5,0xf6,0x81,0xd5,0x31,0x08); +DEFINE_GUID(Scroll_HorizontallyScrollable_Property_GUID, 0x8b925147,0x28cd,0x49ae,0xbd,0x63,0xf4,0x41,0x18,0xd2,0xe7,0x19); +DEFINE_GUID(Scroll_VerticallyScrollable_Property_GUID, 0x89164798,0x0068,0x4315,0xb8,0x9a,0x1e,0x7c,0xfb,0xbc,0x3d,0xfc); +DEFINE_GUID(Selection_Selection_Property_GUID, 0xaa6dc2a2,0x0e2b,0x4d38,0x96,0xd5,0x34,0xe4,0x70,0xb8,0x18,0x53); +DEFINE_GUID(Selection_CanSelectMultiple_Property_GUID, 0x49d73da5,0xc883,0x4500,0x88,0x3d,0x8f,0xcf,0x8d,0xaf,0x6c,0xbe); +DEFINE_GUID(Selection_IsSelectionRequired_Property_GUID, 0xb1ae4422,0x63fe,0x44e7,0xa5,0xa5,0xa7,0x38,0xc8,0x29,0xb1,0x9a); +DEFINE_GUID(Grid_RowCount_Property_GUID, 0x2a9505bf,0xc2eb,0x4fb6,0xb3,0x56,0x82,0x45,0xae,0x53,0x70,0x3e); +DEFINE_GUID(Grid_ColumnCount_Property_GUID, 0xfe96f375,0x44aa,0x4536,0xac,0x7a,0x2a,0x75,0xd7,0x1a,0x3e,0xfc); +DEFINE_GUID(GridItem_Row_Property_GUID, 0x6223972a,0xc945,0x4563,0x93,0x29,0xfd,0xc9,0x74,0xaf,0x25,0x53); +DEFINE_GUID(GridItem_Column_Property_GUID, 0xc774c15c,0x62c0,0x4519,0x8b,0xdc,0x47,0xbe,0x57,0x3c,0x8a,0xd5); +DEFINE_GUID(GridItem_RowSpan_Property_GUID, 0x4582291c,0x466b,0x4e93,0x8e,0x83,0x3d,0x17,0x15,0xec,0x0c,0x5e); +DEFINE_GUID(GridItem_ColumnSpan_Property_GUID, 0x583ea3f5,0x86d0,0x4b08,0xa6,0xec,0x2c,0x54,0x63,0xff,0xc1,0x09); +DEFINE_GUID(GridItem_Parent_Property_GUID, 0x9d912252,0xb97f,0x4ecc,0x85,0x10,0xea,0x0e,0x33,0x42,0x7c,0x72); +DEFINE_GUID(Dock_DockPosition_Property_GUID, 0x6d67f02e,0xc0b0,0x4b10,0xb5,0xb9,0x18,0xd6,0xec,0xf9,0x87,0x60); +DEFINE_GUID(ExpandCollapse_ExpandCollapseState_Property_GUID, 0x275a4c48,0x85a7,0x4f69,0xab,0xa0,0xaf,0x15,0x76,0x10,0x00,0x2b); +DEFINE_GUID(MultipleView_CurrentView_Property_GUID, 0x7a81a67a,0xb94f,0x4875,0x91,0x8b,0x65,0xc8,0xd2,0xf9,0x98,0xe5); +DEFINE_GUID(MultipleView_SupportedViews_Property_GUID, 0x8d5db9fd,0xce3c,0x4ae7,0xb7,0x88,0x40,0x0a,0x3c,0x64,0x55,0x47); +DEFINE_GUID(Window_CanMaximize_Property_GUID, 0x64fff53f,0x635d,0x41c1,0x95,0x0c,0xcb,0x5a,0xdf,0xbe,0x28,0xe3); +DEFINE_GUID(Window_CanMinimize_Property_GUID, 0xb73b4625,0x5988,0x4b97,0xb4,0xc2,0xa6,0xfe,0x6e,0x78,0xc8,0xc6); +DEFINE_GUID(Window_WindowVisualState_Property_GUID, 0x4ab7905f,0xe860,0x453e,0xa3,0x0a,0xf6,0x43,0x1e,0x5d,0xaa,0xd5); +DEFINE_GUID(Window_WindowInteractionState_Property_GUID, 0x4fed26a4,0x0455,0x4fa2,0xb2,0x1c,0xc4,0xda,0x2d,0xb1,0xff,0x9c); +DEFINE_GUID(Window_IsModal_Property_GUID, 0xff4e6892,0x37b9,0x4fca,0x85,0x32,0xff,0xe6,0x74,0xec,0xfe,0xed); +DEFINE_GUID(Window_IsTopmost_Property_GUID, 0xef7d85d3,0x0937,0x4962,0x92,0x41,0xb6,0x23,0x45,0xf2,0x40,0x41); +DEFINE_GUID(SelectionItem_IsSelected_Property_GUID, 0xf122835f,0xcd5f,0x43df,0xb7,0x9d,0x4b,0x84,0x9e,0x9e,0x60,0x20); +DEFINE_GUID(SelectionItem_SelectionContainer_Property_GUID, 0xa4365b6e,0x9c1e,0x4b63,0x8b,0x53,0xc2,0x42,0x1d,0xd1,0xe8,0xfb); +DEFINE_GUID(Table_RowHeaders_Property_GUID, 0xd9e35b87,0x6eb8,0x4562,0xaa,0xc6,0xa8,0xa9,0x07,0x52,0x36,0xa8); +DEFINE_GUID(Table_ColumnHeaders_Property_GUID, 0xaff1d72b,0x968d,0x42b1,0xb4,0x59,0x15,0x0b,0x29,0x9d,0xa6,0x64); +DEFINE_GUID(Table_RowOrColumnMajor_Property_GUID, 0x83be75c3,0x29fe,0x4a30,0x85,0xe1,0x2a,0x62,0x77,0xfd,0x10,0x6e); +DEFINE_GUID(TableItem_RowHeaderItems_Property_GUID, 0xb3f853a0,0x0574,0x4cd8,0xbc,0xd7,0xed,0x59,0x23,0x57,0x2d,0x97); +DEFINE_GUID(TableItem_ColumnHeaderItems_Property_GUID, 0x967a56a3,0x74b6,0x431e,0x8d,0xe6,0x99,0xc4,0x11,0x03,0x1c,0x58); +DEFINE_GUID(Toggle_ToggleState_Property_GUID, 0xb23cdc52,0x22c2,0x4c6c,0x9d,0xed,0xf5,0xc4,0x22,0x47,0x9e,0xde); +DEFINE_GUID(Transform_CanMove_Property_GUID, 0x1b75824d,0x208b,0x4fdf,0xbc,0xcd,0xf1,0xf4,0xe5,0x74,0x1f,0x4f); +DEFINE_GUID(Transform_CanResize_Property_GUID, 0xbb98dca5,0x4c1a,0x41d4,0xa4,0xf6,0xeb,0xc1,0x28,0x64,0x41,0x80); +DEFINE_GUID(Transform_CanRotate_Property_GUID, 0x10079b48,0x3849,0x476f,0xac,0x96,0x44,0xa9,0x5c,0x84,0x40,0xd9); +DEFINE_GUID(IsLegacyIAccessiblePatternAvailable_Property_GUID, 0xd8ebd0c7,0x929a,0x4ee7,0x8d,0x3a,0xd3,0xd9,0x44,0x13,0x02,0x7b); +DEFINE_GUID(LegacyIAccessible_ChildId_Property_GUID, 0x9a191b5d,0x9ef2,0x4787,0xa4,0x59,0xdc,0xde,0x88,0x5d,0xd4,0xe8); +DEFINE_GUID(LegacyIAccessible_Name_Property_GUID, 0xcaeb063d,0x40ae,0x4869,0xaa,0x5a,0x1b,0x8e,0x5d,0x66,0x67,0x39); +DEFINE_GUID(LegacyIAccessible_Value_Property_GUID, 0xb5c5b0b6,0x8217,0x4a77,0x97,0xa5,0x19,0x0a,0x85,0xed,0x01,0x56); +DEFINE_GUID(LegacyIAccessible_Description_Property_GUID, 0x46448418,0x7d70,0x4ea9,0x9d,0x27,0xb7,0xe7,0x75,0xcf,0x2a,0xd7); +DEFINE_GUID(LegacyIAccessible_Role_Property_GUID, 0x6856e59f,0xcbaf,0x4e31,0x93,0xe8,0xbc,0xbf,0x6f,0x7e,0x49,0x1c); +DEFINE_GUID(LegacyIAccessible_State_Property_GUID, 0xdf985854,0x2281,0x4340,0xab,0x9c,0xc6,0x0e,0x2c,0x58,0x03,0xf6); +DEFINE_GUID(LegacyIAccessible_Help_Property_GUID, 0x94402352,0x161c,0x4b77,0xa9,0x8d,0xa8,0x72,0xcc,0x33,0x94,0x7a); +DEFINE_GUID(LegacyIAccessible_KeyboardShortcut_Property_GUID, 0x8f6909ac,0x00b8,0x4259,0xa4,0x1c,0x96,0x62,0x66,0xd4,0x3a,0x8a); +DEFINE_GUID(LegacyIAccessible_Selection_Property_GUID, 0x8aa8b1e0,0x0891,0x40cc,0x8b,0x06,0x90,0xd7,0xd4,0x16,0x62,0x19); +DEFINE_GUID(LegacyIAccessible_DefaultAction_Property_GUID, 0x3b331729,0xeaad,0x4502,0xb8,0x5f,0x92,0x61,0x56,0x22,0x91,0x3c); +DEFINE_GUID(AriaRole_Property_GUID, 0xdd207b95,0xbe4a,0x4e0d,0xb7,0x27,0x63,0xac,0xe9,0x4b,0x69,0x16); +DEFINE_GUID(AriaProperties_Property_GUID, 0x4213678c,0xe025,0x4922,0xbe,0xb5,0xe4,0x3b,0xa0,0x8e,0x62,0x21); +DEFINE_GUID(IsDataValidForForm_Property_GUID, 0x445ac684,0xc3fc,0x4dd9,0xac,0xf8,0x84,0x5a,0x57,0x92,0x96,0xba); +DEFINE_GUID(ControllerFor_Property_GUID, 0x51124c8a,0xa5d2,0x4f13,0x9b,0xe6,0x7f,0xa8,0xba,0x9d,0x3a,0x90); +DEFINE_GUID(DescribedBy_Property_GUID, 0x7c5865b8,0x9992,0x40fd,0x8d,0xb0,0x6b,0xf1,0xd3,0x17,0xf9,0x98); +DEFINE_GUID(FlowsTo_Property_GUID, 0xe4f33d20,0x559a,0x47fb,0xa8,0x30,0xf9,0xcb,0x4f,0xf1,0xa7,0x0a); +DEFINE_GUID(ProviderDescription_Property_GUID, 0xdca5708a,0xc16b,0x4cd9,0xb8,0x89,0xbe,0xb1,0x6a,0x80,0x49,0x04); +DEFINE_GUID(IsItemContainerPatternAvailable_Property_GUID, 0x624b5ca7,0xfe40,0x4957,0xa0,0x19,0x20,0xc4,0xcf,0x11,0x92,0x0f); +DEFINE_GUID(IsVirtualizedItemPatternAvailable_Property_GUID, 0x302cb151,0x2ac8,0x45d6,0x97,0x7b,0xd2,0xb3,0xa5,0xa5,0x3f,0x20); +DEFINE_GUID(IsSynchronizedInputPatternAvailable_Property_GUID, 0x75d69cc5,0xd2bf,0x4943,0x87,0x6e,0xb4,0x5b,0x62,0xa6,0xcc,0x66); +DEFINE_GUID(OptimizeForVisualContent_Property_GUID, 0x6a852250,0xc75a,0x4e5d,0xb8,0x58,0xe3,0x81,0xb0,0xf7,0x88,0x61); +DEFINE_GUID(IsObjectModelPatternAvailable_Property_GUID, 0x6b21d89b,0x2841,0x412f,0x8e,0xf2,0x15,0xca,0x95,0x23,0x18,0xba); +DEFINE_GUID(Annotation_AnnotationTypeId_Property_GUID, 0x20ae484f,0x69ef,0x4c48,0x8f,0x5b,0xc4,0x93,0x8b,0x20,0x6a,0xc7); +DEFINE_GUID(Annotation_AnnotationTypeName_Property_GUID, 0x9b818892,0x5ac9,0x4af9,0xaa,0x96,0xf5,0x8a,0x77,0xb0,0x58,0xe3); +DEFINE_GUID(Annotation_Author_Property_GUID, 0x7a528462,0x9c5c,0x4a03,0xa9,0x74,0x8b,0x30,0x7a,0x99,0x37,0xf2); +DEFINE_GUID(Annotation_DateTime_Property_GUID, 0x99b5ca5d,0x1acf,0x414b,0xa4,0xd0,0x6b,0x35,0x0b,0x04,0x75,0x78); +DEFINE_GUID(Annotation_Target_Property_GUID, 0xb71b302d,0x2104,0x44ad,0x9c,0x5c,0x09,0x2b,0x49,0x07,0xd7,0x0f); +DEFINE_GUID(IsAnnotationPatternAvailable_Property_GUID, 0x0b5b3238,0x6d5c,0x41b6,0xbc,0xc4,0x5e,0x80,0x7f,0x65,0x51,0xc4); +DEFINE_GUID(IsTextPattern2Available_Property_GUID, 0x41cf921d,0xe3f1,0x4b22,0x9c,0x81,0xe1,0xc3,0xed,0x33,0x1c,0x22); +DEFINE_GUID(Styles_StyleId_Property_GUID, 0xda82852f,0x3817,0x4233,0x82,0xaf,0x02,0x27,0x9e,0x72,0xcc,0x77); +DEFINE_GUID(Styles_StyleName_Property_GUID, 0x1c12b035,0x05d1,0x4f55,0x9e,0x8e,0x14,0x89,0xf3,0xff,0x55,0x0d); +DEFINE_GUID(Styles_FillColor_Property_GUID, 0x63eff97a,0xa1c5,0x4b1d,0x84,0xeb,0xb7,0x65,0xf2,0xed,0xd6,0x32); +DEFINE_GUID(Styles_FillPatternStyle_Property_GUID, 0x81cf651f,0x482b,0x4451,0xa3,0x0a,0xe1,0x54,0x5e,0x55,0x4f,0xb8); +DEFINE_GUID(Styles_Shape_Property_GUID, 0xc71a23f8,0x778c,0x400d,0x84,0x58,0x3b,0x54,0x3e,0x52,0x69,0x84); +DEFINE_GUID(Styles_FillPatternColor_Property_GUID, 0x939a59fe,0x8fbd,0x4e75,0xa2,0x71,0xac,0x45,0x95,0x19,0x51,0x63); +DEFINE_GUID(Styles_ExtendedProperties_Property_GUID, 0xf451cda0,0xba0a,0x4681,0xb0,0xb0,0x0d,0xbd,0xb5,0x3e,0x58,0xf3); +DEFINE_GUID(IsStylesPatternAvailable_Property_GUID, 0x27f353d3,0x459c,0x4b59,0xa4,0x90,0x50,0x61,0x1d,0xac,0xaf,0xb5); +DEFINE_GUID(IsSpreadsheetPatternAvailable_Property_GUID, 0x6ff43732,0xe4b4,0x4555,0x97,0xbc,0xec,0xdb,0xbc,0x4d,0x18,0x88); +DEFINE_GUID(SpreadsheetItem_Formula_Property_GUID, 0xe602e47d,0x1b47,0x4bea,0x87,0xcf,0x3b,0x0b,0x0b,0x5c,0x15,0xb6); +DEFINE_GUID(SpreadsheetItem_AnnotationObjects_Property_GUID, 0xa3194c38,0xc9bc,0x4604,0x93,0x96,0xae,0x3f,0x9f,0x45,0x7f,0x7b); +DEFINE_GUID(SpreadsheetItem_AnnotationTypes_Property_GUID, 0xc70c51d0,0xd602,0x4b45,0xaf,0xbc,0xb4,0x71,0x2b,0x96,0xd7,0x2b); +DEFINE_GUID(IsSpreadsheetItemPatternAvailable_Property_GUID, 0x9fe79b2a,0x2f94,0x43fd,0x99,0x6b,0x54,0x9e,0x31,0x6f,0x4a,0xcd); +DEFINE_GUID(Transform2_CanZoom_Property_GUID, 0xf357e890,0xa756,0x4359,0x9c,0xa6,0x86,0x70,0x2b,0xf8,0xf3,0x81); +DEFINE_GUID(IsTransformPattern2Available_Property_GUID, 0x25980b4b,0xbe04,0x4710,0xab,0x4a,0xfd,0xa3,0x1d,0xbd,0x28,0x95); +DEFINE_GUID(LiveSetting_Property_GUID, 0xc12bcd8e,0x2a8e,0x4950,0x8a,0xe7,0x36,0x25,0x11,0x1d,0x58,0xeb); +DEFINE_GUID(IsTextChildPatternAvailable_Property_GUID, 0x559e65df,0x30ff,0x43b5,0xb5,0xed,0x5b,0x28,0x3b,0x80,0xc7,0xe9); +DEFINE_GUID(IsDragPatternAvailable_Property_GUID, 0xe997a7b7,0x1d39,0x4ca7,0xbe,0x0f,0x27,0x7f,0xcf,0x56,0x05,0xcc); +DEFINE_GUID(Drag_IsGrabbed_Property_GUID, 0x45f206f3,0x75cc,0x4cca,0xa9,0xb9,0xfc,0xdf,0xb9,0x82,0xd8,0xa2); +DEFINE_GUID(Drag_DropEffect_Property_GUID, 0x646f2779,0x48d3,0x4b23,0x89,0x02,0x4b,0xf1,0x00,0x00,0x5d,0xf3); +DEFINE_GUID(Drag_DropEffects_Property_GUID, 0xf5d61156,0x7ce6,0x49be,0xa8,0x36,0x92,0x69,0xdc,0xec,0x92,0x0f); +DEFINE_GUID(IsDropTargetPatternAvailable_Property_GUID, 0x0686b62e,0x8e19,0x4aaf,0x87,0x3d,0x38,0x4f,0x6d,0x3b,0x92,0xbe); +DEFINE_GUID(DropTarget_DropTargetEffect_Property_GUID, 0x8bb75975,0xa0ca,0x4981,0xb8,0x18,0x87,0xfc,0x66,0xe9,0x50,0x9d); +DEFINE_GUID(DropTarget_DropTargetEffects_Property_GUID, 0xbc1dd4ed,0xcb89,0x45f1,0xa5,0x92,0xe0,0x3b,0x08,0xae,0x79,0x0f); +DEFINE_GUID(Drag_GrabbedItems_Property_GUID, 0x77c1562c,0x7b86,0x4b21,0x9e,0xd7,0x3c,0xef,0xda,0x6f,0x4c,0x43); +DEFINE_GUID(Transform2_ZoomLevel_Property_GUID, 0xeee29f1a,0xf4a2,0x4b5b,0xac,0x65,0x95,0xcf,0x93,0x28,0x33,0x87); +DEFINE_GUID(Transform2_ZoomMinimum_Property_GUID, 0x742ccc16,0x4ad1,0x4e07,0x96,0xfe,0xb1,0x22,0xc6,0xe6,0xb2,0x2b); +DEFINE_GUID(Transform2_ZoomMaximum_Property_GUID, 0x42ab6b77,0xceb0,0x4eca,0xb8,0x2a,0x6c,0xfa,0x5f,0xa1,0xfc,0x08); +DEFINE_GUID(FlowsFrom_Property_GUID, 0x05c6844f,0x19de,0x48f8,0x95,0xfa,0x88,0x0d,0x5b,0x0f,0xd6,0x15); +DEFINE_GUID(IsTextEditPatternAvailable_Property_GUID, 0x7843425c,0x8b32,0x484c,0x9a,0xb5,0xe3,0x20,0x05,0x71,0xff,0xda); +DEFINE_GUID(IsPeripheral_Property_GUID, 0xda758276,0x7ed5,0x49d4,0x8e,0x68,0xec,0xc9,0xa2,0xd3,0x00,0xdd); +DEFINE_GUID(IsCustomNavigationPatternAvailable_Property_GUID, 0x8f8e80d4,0x2351,0x48e0,0x87,0x4a,0x54,0xaa,0x73,0x13,0x88,0x9a); +DEFINE_GUID(PositionInSet_Property_GUID, 0x33d1dc54,0x641e,0x4d76,0xa6,0xb1,0x13,0xf3,0x41,0xc1,0xf8,0x96); +DEFINE_GUID(SizeOfSet_Property_GUID, 0x1600d33c,0x3b9f,0x4369,0x94,0x31,0xaa,0x29,0x3f,0x34,0x4c,0xf1); +DEFINE_GUID(Level_Property_GUID, 0x242ac529,0xcd36,0x400f,0xaa,0xd9,0x78,0x76,0xef,0x3a,0xf6,0x27); +DEFINE_GUID(AnnotationTypes_Property_GUID, 0x64b71f76,0x53c4,0x4696,0xa2,0x19,0x20,0xe9,0x40,0xc9,0xa1,0x76); +DEFINE_GUID(AnnotationObjects_Property_GUID, 0x310910c8,0x7c6e,0x4f20,0xbe,0xcd,0x4a,0xaf,0x6d,0x19,0x11,0x56); +DEFINE_GUID(LandmarkType_Property_GUID, 0x454045f2,0x6f61,0x49f7,0xa4,0xf8,0xb5,0xf0,0xcf,0x82,0xda,0x1e); +DEFINE_GUID(LocalizedLandmarkType_Property_GUID, 0x7ac81980,0xeafb,0x4fb2,0xbf,0x91,0xf4,0x85,0xbe,0xf5,0xe8,0xe1); +DEFINE_GUID(FullDescription_Property_GUID, 0x0d4450ff,0x6aef,0x4f33,0x95,0xdd,0x7b,0xef,0xa7,0x2a,0x43,0x91); +DEFINE_GUID(FillColor_Property_GUID , 0x6e0ec4d0,0xe2a8,0x4a56,0x9d,0xe7,0x95,0x33,0x89,0x93,0x3b,0x39); +DEFINE_GUID(OutlineColor_Property_GUID, 0xc395d6c0,0x4b55,0x4762,0xa0,0x73,0xfd,0x30,0x3a,0x63,0x4f,0x52); +DEFINE_GUID(FillType_Property_GUID, 0xc6fc74e4,0x8cb9,0x429c,0xa9,0xe1,0x9b,0xc4,0xac,0x37,0x2b,0x62); +DEFINE_GUID(VisualEffects_Property_GUID, 0xe61a8565,0xaad9,0x46d7,0x9e,0x70,0x4e,0x8a,0x84,0x20,0xd4,0x20); +DEFINE_GUID(OutlineThickness_Property_GUID, 0x13e67cc7,0xdac2,0x4888,0xbd,0xd3,0x37,0x5c,0x62,0xfa,0x96,0x18); +DEFINE_GUID(CenterPoint_Property_GUID, 0x0cb00c08,0x540c,0x4edb,0x94,0x45,0x26,0x35,0x9e,0xa6,0x97,0x85); +DEFINE_GUID(Rotation_Property_GUID, 0x767cdc7d,0xaec0,0x4110,0xad,0x32,0x30,0xed,0xd4,0x03,0x49,0x2e); +DEFINE_GUID(Size_Property_GUID, 0x2b5f761d,0xf885,0x4404,0x97,0x3f,0x9b,0x1d,0x98,0xe3,0x6d,0x8f); +DEFINE_GUID(IsSelectionPattern2Available_Property_GUID, 0x490806fb,0x6e89,0x4a47,0x83,0x19,0xd2,0x66,0xe5,0x11,0xf0,0x21); +DEFINE_GUID(Selection2_FirstSelectedItem_Property_GUID, 0xcc24ea67,0x369c,0x4e55,0x9f,0xf7,0x38,0xda,0x69,0x54,0x0c,0x29); +DEFINE_GUID(Selection2_LastSelectedItem_Property_GUID, 0xcf7bda90,0x2d83,0x49f8,0x86,0x0c,0x9c,0xe3,0x94,0xcf,0x89,0xb4); +DEFINE_GUID(Selection2_CurrentSelectedItem_Property_GUID, 0x34257c26,0x83b5,0x41a6,0x93,0x9c,0xae,0x84,0x1c,0x13,0x62,0x36); +DEFINE_GUID(Selection2_ItemCount_Property_GUID, 0xbb49eb9f,0x456d,0x4048,0xb5,0x91,0x9c,0x20,0x26,0xb8,0x46,0x36); +DEFINE_GUID(HeadingLevel_Property_GUID, 0x29084272,0xaaaf,0x4a30,0x87,0x96,0x3c,0x12,0xf6,0x2b,0x6b,0xbb); +DEFINE_GUID(IsDialog_Property_GUID, 0x9d0dfb9b,0x8436,0x4501,0xbb,0xbb,0xe5,0x34,0xa4,0xfb,0x3b,0x3f); + +/* + * AutomationIdentifierType_Event GUIDs. + */ +DEFINE_GUID(ToolTipOpened_Event_GUID, 0x3f4b97ff,0x2edc,0x451d,0xbc,0xa4,0x95,0xa3,0x18,0x8d,0x5b,0x03); +DEFINE_GUID(ToolTipClosed_Event_GUID, 0x276d71ef,0x24a9,0x49b6,0x8e,0x97,0xda,0x98,0xb4,0x01,0xbb,0xcd); +DEFINE_GUID(StructureChanged_Event_GUID, 0x59977961,0x3edd,0x4b11,0xb1,0x3b,0x67,0x6b,0x2a,0x2a,0x6c,0xa9); +DEFINE_GUID(MenuOpened_Event_GUID, 0xebe2e945,0x66ca,0x4ed1,0x9f,0xf8,0x2a,0xd7,0xdf,0x0a,0x1b,0x08); +DEFINE_GUID(AutomationPropertyChanged_Event_GUID, 0x2527fba1,0x8d7a,0x4630,0xa4,0xcc,0xe6,0x63,0x15,0x94,0x2f,0x52); +DEFINE_GUID(AutomationFocusChanged_Event_GUID, 0xb68a1f17,0xf60d,0x41a7,0xa3,0xcc,0xb0,0x52,0x92,0x15,0x5f,0xe0); +DEFINE_GUID(AsyncContentLoaded_Event_GUID, 0x5fdee11c,0xd2fa,0x4fb9,0x90,0x4e,0x5c,0xbe,0xe8,0x94,0xd5,0xef); +DEFINE_GUID(MenuClosed_Event_GUID, 0x3cf1266e,0x1582,0x4041,0xac,0xd7,0x88,0xa3,0x5a,0x96,0x52,0x97); +DEFINE_GUID(LayoutInvalidated_Event_GUID, 0xed7d6544,0xa6bd,0x4595,0x9b,0xae,0x3d,0x28,0x94,0x6c,0xc7,0x15); +DEFINE_GUID(Invoke_Invoked_Event_GUID, 0xdfd699f0,0xc915,0x49dd,0xb4,0x22,0xdd,0xe7,0x85,0xc3,0xd2,0x4b); +DEFINE_GUID(SelectionItem_ElementAddedToSelectionEvent_Event_GUID, 0x3c822dd1,0xc407,0x4dba,0x91,0xdd,0x79,0xd4,0xae,0xd0,0xae,0xc6); +DEFINE_GUID(SelectionItem_ElementRemovedFromSelectionEvent_Event_GUID, 0x097fa8a9,0x7079,0x41af,0x8b,0x9c,0x09,0x34,0xd8,0x30,0x5e,0x5c); +DEFINE_GUID(SelectionItem_ElementSelectedEvent_Event_GUID, 0xb9c7dbfb,0x4ebe,0x4532,0xaa,0xf4,0x00,0x8c,0xf6,0x47,0x23,0x3c); +DEFINE_GUID(Selection_InvalidatedEvent_Event_GUID, 0xcac14904,0x16b4,0x4b53,0x8e,0x47,0x4c,0xb1,0xdf,0x26,0x7b,0xb7); +DEFINE_GUID(Text_TextSelectionChangedEvent_Event_GUID, 0x918edaa1,0x71b3,0x49ae,0x97,0x41,0x79,0xbe,0xb8,0xd3,0x58,0xf3); +DEFINE_GUID(Text_TextChangedEvent_Event_GUID, 0x4a342082,0xf483,0x48c4,0xac,0x11,0xa8,0x4b,0x43,0x5e,0x2a,0x84); +DEFINE_GUID(Window_WindowOpened_Event_GUID, 0xd3e81d06,0xde45,0x4f2f,0x96,0x33,0xde,0x9e,0x02,0xfb,0x65,0xaf); +DEFINE_GUID(Window_WindowClosed_Event_GUID, 0xedf141f8,0xfa67,0x4e22,0xbb,0xf7,0x94,0x4e,0x05,0x73,0x5e,0xe2); +DEFINE_GUID(MenuModeStart_Event_GUID, 0x18d7c631,0x166a,0x4ac9,0xae,0x3b,0xef,0x4b,0x54,0x20,0xe6,0x81); +DEFINE_GUID(MenuModeEnd_Event_GUID, 0x9ecd4c9f,0x80dd,0x47b8,0x82,0x67,0x5a,0xec,0x06,0xbb,0x2c,0xff); +DEFINE_GUID(InputReachedTarget_Event_GUID, 0x93ed549a,0x0549,0x40f0,0xbe,0xdb,0x28,0xe4,0x4f,0x7d,0xe2,0xa3); +DEFINE_GUID(InputReachedOtherElement_Event_GUID, 0xed201d8a,0x4e6c,0x415e,0xa8,0x74,0x24,0x60,0xc9,0xb6,0x6b,0xa8); +DEFINE_GUID(InputDiscarded_Event_GUID, 0x7f36c367,0x7b18,0x417c,0x97,0xe3,0x9d,0x58,0xdd,0xc9,0x44,0xab); +DEFINE_GUID(SystemAlert_Event_GUID, 0xd271545d,0x7a3a,0x47a7,0x84,0x74,0x81,0xd2,0x9a,0x24,0x51,0xc9); +DEFINE_GUID(LiveRegionChanged_Event_GUID, 0x102d5e90,0xe6a9,0x41b6,0xb1,0xc5,0xa9,0xb1,0x92,0x9d,0x95,0x10); +DEFINE_GUID(HostedFragmentRootsInvalidated_Event_GUID, 0xe6bdb03e,0x0921,0x4ec5,0x8d,0xcf,0xea,0xe8,0x77,0xb0,0x42,0x6b); +DEFINE_GUID(Drag_DragStart_Event_GUID, 0x883a480b,0x3aa9,0x429d,0x95,0xe4,0xd9,0xc8,0xd0,0x11,0xf0,0xdd); +DEFINE_GUID(Drag_DragCancel_Event_GUID, 0xc3ede6fa,0x3451,0x4e0f,0x9e,0x71,0xdf,0x9c,0x28,0x0a,0x46,0x57); +DEFINE_GUID(Drag_DragComplete_Event_GUID, 0x38e96188,0xef1f,0x463e,0x91,0xca,0x3a,0x77,0x92,0xc2,0x9c,0xaf); +DEFINE_GUID(DropTarget_DragEnter_Event_GUID, 0xaad9319b,0x032c,0x4a88,0x96,0x1d,0x1c,0xf5,0x79,0x58,0x1e,0x34); +DEFINE_GUID(DropTarget_DragLeave_Event_GUID, 0x0f82eb15,0x24a2,0x4988,0x92,0x17,0xde,0x16,0x2a,0xee,0x27,0x2b); +DEFINE_GUID(DropTarget_Dropped_Event_GUID, 0x622cead8,0x1edb,0x4a3d,0xab,0xbc,0xbe,0x22,0x11,0xff,0x68,0xb5); +DEFINE_GUID(TextEdit_TextChanged_Event_GUID, 0x120b0308,0xec22,0x4eb8,0x9c,0x98,0x98,0x67,0xcd,0xa1,0xb1,0x65); +DEFINE_GUID(TextEdit_ConversionTargetChanged_Event_GUID, 0x3388c183,0xed4f,0x4c8b,0x9b,0xaa,0x36,0x4d,0x51,0xd8,0x84,0x7f); +DEFINE_GUID(Changes_Event_GUID, 0x7df26714,0x614f,0x4e05,0x94,0x88,0x71,0x6c,0x5b,0xa1,0x94,0x36); +DEFINE_GUID(Notification_Event_GUID, 0x72c5a2f7,0x9788,0x480f,0xb8,0xeb,0x4d,0xee,0x00,0xf6,0x18,0x6f); + +/* + * AutomationIdentifierType_Pattern GUIDs. + */ +DEFINE_GUID(Invoke_Pattern_GUID, 0xd976c2fc,0x66ea,0x4a6e,0xb2,0x8f,0xc2,0x4c,0x75,0x46,0xad,0x37); +DEFINE_GUID(Selection_Pattern_GUID, 0x66e3b7e8,0xd821,0x4d25,0x87,0x61,0x43,0x5d,0x2c,0x8b,0x25,0x3f); +DEFINE_GUID(Value_Pattern_GUID, 0x17faad9e,0xc877,0x475b,0xb9,0x33,0x77,0x33,0x27,0x79,0xb6,0x37); +DEFINE_GUID(RangeValue_Pattern_GUID, 0x18b00d87,0xb1c9,0x476a,0xbf,0xbd,0x5f,0x0b,0xdb,0x92,0x6f,0x63); +DEFINE_GUID(Scroll_Pattern_GUID, 0x895fa4b4,0x759d,0x4c50,0x8e,0x15,0x03,0x46,0x06,0x72,0x00,0x3c); +DEFINE_GUID(ExpandCollapse_Pattern_GUID, 0xae05efa2,0xf9d1,0x428a,0x83,0x4c,0x53,0xa5,0xc5,0x2f,0x9b,0x8b); +DEFINE_GUID(Grid_Pattern_GUID, 0x260a2ccb,0x93a8,0x4e44,0xa4,0xc1,0x3d,0xf3,0x97,0xf2,0xb0,0x2b); +DEFINE_GUID(GridItem_Pattern_GUID, 0xf2d5c877,0xa462,0x4957,0xa2,0xa5,0x2c,0x96,0xb3,0x03,0xbc,0x63); +DEFINE_GUID(MultipleView_Pattern_GUID, 0x547a6ae4,0x113f,0x47c4,0x85,0x0f,0xdb,0x4d,0xfa,0x46,0x6b,0x1d); +DEFINE_GUID(Window_Pattern_GUID, 0x27901735,0xc760,0x4994,0xad,0x11,0x59,0x19,0xe6,0x06,0xb1,0x10); +DEFINE_GUID(SelectionItem_Pattern_GUID, 0x9bc64eeb,0x87c7,0x4b28,0x94,0xbb,0x4d,0x9f,0xa4,0x37,0xb6,0xef); +DEFINE_GUID(Dock_Pattern_GUID, 0x9cbaa846,0x83c8,0x428d,0x82,0x7f,0x7e,0x60,0x63,0xfe,0x06,0x20); +DEFINE_GUID(Table_Pattern_GUID, 0xc415218e,0xa028,0x461e,0xaa,0x92,0x8f,0x92,0x5c,0xf7,0x93,0x51); +DEFINE_GUID(TableItem_Pattern_GUID, 0xdf1343bd,0x1888,0x4a29,0xa5,0x0c,0xb9,0x2e,0x6d,0xe3,0x7f,0x6f); +DEFINE_GUID(Text_Pattern_GUID, 0x8615f05d,0x7de5,0x44fd,0xa6,0x79,0x2c,0xa4,0xb4,0x60,0x33,0xa8); +DEFINE_GUID(Toggle_Pattern_GUID, 0x0b419760,0xe2f4,0x43ff,0x8c,0x5f,0x94,0x57,0xc8,0x2b,0x56,0xe9); +DEFINE_GUID(Transform_Pattern_GUID, 0x24b46fdb,0x587e,0x49f1,0x9c,0x4a,0xd8,0xe9,0x8b,0x66,0x4b,0x7b); +DEFINE_GUID(ScrollItem_Pattern_GUID, 0x4591d005,0xa803,0x4d5c,0xb4,0xd5,0x8d,0x28,0x00,0xf9,0x06,0xa7); +DEFINE_GUID(LegacyIAccessible_Pattern_GUID, 0x54cc0a9f,0x3395,0x48af,0xba,0x8d,0x73,0xf8,0x56,0x90,0xf3,0xe0); +DEFINE_GUID(ItemContainer_Pattern_GUID, 0x3d13da0f,0x8b9a,0x4a99,0x85,0xfa,0xc5,0xc9,0xa6,0x9f,0x1e,0xd4); +DEFINE_GUID(VirtualizedItem_Pattern_GUID, 0xf510173e,0x2e71,0x45e9,0xa6,0xe5,0x62,0xf6,0xed,0x82,0x89,0xd5); +DEFINE_GUID(SynchronizedInput_Pattern_GUID, 0x05c288a6,0xc47b,0x488b,0xb6,0x53,0x33,0x97,0x7a,0x55,0x1b,0x8b); +DEFINE_GUID(ObjectModel_Pattern_GUID, 0x3e04acfe,0x08fc,0x47ec,0x96,0xbc,0x35,0x3f,0xa3,0xb3,0x4a,0xa7); +DEFINE_GUID(Annotation_Pattern_GUID, 0xf6c72ad7,0x356c,0x4850,0x92,0x91,0x31,0x6f,0x60,0x8a,0x8c,0x84); +DEFINE_GUID(Text_Pattern2_GUID, 0x498479a2,0x5b22,0x448d,0xb6,0xe4,0x64,0x74,0x90,0x86,0x06,0x98); +DEFINE_GUID(Styles_Pattern_GUID, 0x1ae62655,0xda72,0x4d60,0xa1,0x53,0xe5,0xaa,0x69,0x88,0xe3,0xbf); +DEFINE_GUID(Spreadsheet_Pattern_GUID, 0x6a5b24c9,0x9d1e,0x4b85,0x9e,0x44,0xc0,0x2e,0x31,0x69,0xb1,0x0b); +DEFINE_GUID(SpreadsheetItem_Pattern_GUID, 0x32cf83ff,0xf1a8,0x4a8c,0x86,0x58,0xd4,0x7b,0xa7,0x4e,0x20,0xba); +DEFINE_GUID(Tranform_Pattern2_GUID, 0x8afcfd07,0xa369,0x44de,0x98,0x8b,0x2f,0x7f,0xf4,0x9f,0xb8,0xa8); +DEFINE_GUID(TextChild_Pattern_GUID, 0x7533cab7,0x3bfe,0x41ef,0x9e,0x85,0xe2,0x63,0x8c,0xbe,0x16,0x9e); +DEFINE_GUID(Drag_Pattern_GUID, 0xc0bee21f,0xccb3,0x4fed,0x99,0x5b,0x11,0x4f,0x6e,0x3d,0x27,0x28); +DEFINE_GUID(DropTarget_Pattern_GUID, 0x0bcbec56,0xbd34,0x4b7b,0x9f,0xd5,0x26,0x59,0x90,0x5e,0xa3,0xdc); +DEFINE_GUID(TextEdit_Pattern_GUID, 0x69f3ff89,0x5af9,0x4c75,0x93,0x40,0xf2,0xde,0x29,0x2e,0x45,0x91); +DEFINE_GUID(CustomNavigation_Pattern_GUID, 0xafea938a,0x621e,0x4054,0xbb,0x2c,0x2f,0x46,0x11,0x4d,0xac,0x3f); + +/* + * AutomationIdentifierType_ControlType GUIDs. + */ +DEFINE_GUID(Button_Control_GUID, 0x5a78e369,0xc6a1,0x4f33,0xa9,0xd7,0x79,0xf2,0x0d,0x0c,0x78,0x8e); +DEFINE_GUID(Calendar_Control_GUID, 0x8913eb88,0x00e5,0x46bc,0x8e,0x4e,0x14,0xa7,0x86,0xe1,0x65,0xa1); +DEFINE_GUID(CheckBox_Control_GUID, 0xfb50f922,0xa3db,0x49c0,0x8b,0xc3,0x06,0xda,0xd5,0x57,0x78,0xe2); +DEFINE_GUID(ComboBox_Control_GUID, 0x54cb426c,0x2f33,0x4fff,0xaa,0xa1,0xae,0xf6,0x0d,0xac,0x5d,0xeb); +DEFINE_GUID(Edit_Control_GUID, 0x6504a5c8,0x2c86,0x4f87,0xae,0x7b,0x1a,0xbd,0xdc,0x81,0x0c,0xf9); +DEFINE_GUID(Hyperlink_Control_GUID, 0x8a56022c,0xb00d,0x4d15,0x8f,0xf0,0x5b,0x6b,0x26,0x6e,0x5e,0x02); +DEFINE_GUID(Image_Control_GUID, 0x2d3736e4,0x6b16,0x4c57,0xa9,0x62,0xf9,0x32,0x60,0xa7,0x52,0x43); +DEFINE_GUID(ListItem_Control_GUID, 0x7b3717f2,0x44d1,0x4a58,0x98,0xa8,0xf1,0x2a,0x9b,0x8f,0x78,0xe2); +DEFINE_GUID(List_Control_GUID, 0x9b149ee1,0x7cca,0x4cfc,0x9a,0xf1,0xca,0xc7,0xbd,0xdd,0x30,0x31); +DEFINE_GUID(Menu_Control_GUID, 0x2e9b1440,0x0ea8,0x41fd,0xb3,0x74,0xc1,0xea,0x6f,0x50,0x3c,0xd1); +DEFINE_GUID(MenuBar_Control_GUID, 0xcc384250,0x0e7b,0x4ae8,0x95,0xae,0xa0,0x8f,0x26,0x1b,0x52,0xee); +DEFINE_GUID(MenuItem_Control_GUID, 0xf45225d3,0xd0a0,0x49d8,0x98,0x34,0x9a,0x00,0x0d,0x2a,0xed,0xdc); +DEFINE_GUID(ProgressBar_Control_GUID, 0x228c9f86,0xc36c,0x47bb,0x9f,0xb6,0xa5,0x83,0x4b,0xfc,0x53,0xa4); +DEFINE_GUID(RadioButton_Control_GUID, 0x3bdb49db,0xfe2c,0x4483,0xb3,0xe1,0xe5,0x7f,0x21,0x94,0x40,0xc6); +DEFINE_GUID(ScrollBar_Control_GUID, 0xdaf34b36,0x5065,0x4946,0xb2,0x2f,0x92,0x59,0x5f,0xc0,0x75,0x1a); +DEFINE_GUID(Slider_Control_GUID, 0xb033c24b,0x3b35,0x4cea,0xb6,0x09,0x76,0x36,0x82,0xfa,0x66,0x0b); +DEFINE_GUID(Spinner_Control_GUID, 0x60cc4b38,0x3cb1,0x4161,0xb4,0x42,0xc6,0xb7,0x26,0xc1,0x78,0x25); +DEFINE_GUID(StatusBar_Control_GUID, 0xd45e7d1b,0x5873,0x475f,0x95,0xa4,0x04,0x33,0xe1,0xf1,0xb0,0x0a); +DEFINE_GUID(Tab_Control_GUID, 0x38cd1f2d,0x337a,0x4bd2,0xa5,0xe3,0xad,0xb4,0x69,0xe3,0x0b,0xd3); +DEFINE_GUID(TabItem_Control_GUID, 0x2c6a634f,0x921b,0x4e6e,0xb2,0x6e,0x08,0xfc,0xb0,0x79,0x8f,0x4c); +DEFINE_GUID(Text_Control_GUID, 0xae9772dc,0xd331,0x4f09,0xbe,0x20,0x7e,0x6d,0xfa,0xf0,0x7b,0x0a); +DEFINE_GUID(ToolBar_Control_GUID, 0x8f06b751,0xe182,0x4e98,0x88,0x93,0x22,0x84,0x54,0x3a,0x7d,0xce); +DEFINE_GUID(ToolTip_Control_GUID, 0x05ddc6d1,0x2137,0x4768,0x98,0xea,0x73,0xf5,0x2f,0x71,0x34,0xf3); +DEFINE_GUID(Tree_Control_GUID, 0x7561349c,0xd241,0x43f4,0x99,0x08,0xb5,0xf0,0x91,0xbe,0xe6,0x11); +DEFINE_GUID(TreeItem_Control_GUID, 0x62c9feb9,0x8ffc,0x4878,0xa3,0xa4,0x96,0xb0,0x30,0x31,0x5c,0x18); +DEFINE_GUID(Custom_Control_GUID, 0xf29ea0c3,0xadb7,0x430a,0xba,0x90,0xe5,0x2c,0x73,0x13,0xe6,0xed); +DEFINE_GUID(Group_Control_GUID, 0xad50aa1c,0xe8c8,0x4774,0xae,0x1b,0xdd,0x86,0xdf,0x0b,0x3b,0xdc); +DEFINE_GUID(Thumb_Control_GUID, 0x701ca877,0xe310,0x4dd6,0xb6,0x44,0x79,0x7e,0x4f,0xae,0xa2,0x13); +DEFINE_GUID(DataGrid_Control_GUID, 0x84b783af,0xd103,0x4b0a,0x84,0x15,0xe7,0x39,0x42,0x41,0x0f,0x4b); +DEFINE_GUID(DataItem_Control_GUID, 0xa0177842,0xd94f,0x42a5,0x81,0x4b,0x60,0x68,0xad,0xdc,0x8d,0xa5); +DEFINE_GUID(Document_Control_GUID, 0x3cd6bb6f,0x6f08,0x4562,0xb2,0x29,0xe4,0xe2,0xfc,0x7a,0x9e,0xb4); +DEFINE_GUID(SplitButton_Control_GUID, 0x7011f01f,0x4ace,0x4901,0xb4,0x61,0x92,0x0a,0x6f,0x1c,0xa6,0x50); +DEFINE_GUID(Window_Control_GUID, 0xe13a7242,0xf462,0x4f4d,0xae,0xc1,0x53,0xb2,0x8d,0x6c,0x32,0x90); +DEFINE_GUID(Pane_Control_GUID, 0x5c2b3f5b,0x9182,0x42a3,0x8d,0xec,0x8c,0x04,0xc1,0xee,0x63,0x4d); +DEFINE_GUID(Header_Control_GUID, 0x5b90cbce,0x78fb,0x4614,0x82,0xb6,0x55,0x4d,0x74,0x71,0x8e,0x67); +DEFINE_GUID(HeaderItem_Control_GUID, 0xe6bc12cb,0x7c8e,0x49cf,0xb1,0x68,0x4a,0x93,0xa3,0x2b,0xeb,0xb0); +DEFINE_GUID(Table_Control_GUID, 0x773bfa0e,0x5bc4,0x4deb,0x92,0x1b,0xde,0x7b,0x32,0x06,0x22,0x9e); +DEFINE_GUID(TitleBar_Control_GUID, 0x98aa55bf,0x3bb0,0x4b65,0x83,0x6e,0x2e,0xa3,0x0d,0xbc,0x17,0x1f); +DEFINE_GUID(Separator_Control_GUID, 0x8767eba3,0x2a63,0x4ab0,0xac,0x8d,0xaa,0x50,0xe2,0x3d,0xe9,0x78); +DEFINE_GUID(SemanticZoom_Control_GUID, 0x5fd34a43,0x061e,0x42c8,0xb5,0x89,0x9d,0xcc,0xf7,0x4b,0xc4,0x3a); +DEFINE_GUID(AppBar_Control_GUID, 0x6114908d,0xcc02,0x4d37,0x87,0x5b,0xb5,0x30,0xc7,0x13,0x95,0x54); + +enum AutomationIdentifierType +{ + AutomationIdentifierType_Property, + AutomationIdentifierType_Pattern, + AutomationIdentifierType_Event, + AutomationIdentifierType_ControlType, + AutomationIdentifierType_TextAttribute, + AutomationIdentifierType_LandmarkType, + AutomationIdentifierType_Annotation, + AutomationIdentifierType_Changes, + AutomationIdentifierType_Style +}; + +enum ProviderType +{ + ProviderType_BaseHwnd, + ProviderType_Proxy, + ProviderType_NonClientArea, +}; + +#ifndef __uiautomationclient_h__ +enum TreeScope { + TreeScope_Element = 0x01, + TreeScope_Children = 0x02, + TreeScope_Descendants = 0x04, + TreeScope_Parent = 0x08, + TreeScope_Ancestors = 0x10, + TreeScope_Subtree = TreeScope_Element | TreeScope_Children | TreeScope_Descendants, +}; + +enum PropertyConditionFlags { + PropertyConditionFlags_None = 0x00, + PropertyConditionFlags_IgnoreCase = 0x01, + PropertyConditionFlags_MatchSubstring = 0x02, +}; + +enum AutomationElementMode { + AutomationElementMode_None = 0x00, + AutomationElementMode_Full = 0x01, +}; +#endif + +enum ConditionType { + ConditionType_True = 0x00, + ConditionType_False = 0x01, + ConditionType_Property = 0x02, + ConditionType_And = 0x03, + ConditionType_Or = 0x04, + ConditionType_Not = 0x05, +}; + +struct UiaCondition { + enum ConditionType ConditionType; +}; + +struct UiaPropertyCondition { + enum ConditionType ConditionType; + PROPERTYID PropertyId; + VARIANT Value; + enum PropertyConditionFlags Flags; +}; + +struct UiaAndOrCondition { + enum ConditionType ConditionType; + struct UiaCondition **ppConditions; + int cConditions; +}; + +struct UiaNotCondition { + enum ConditionType ConditionType; + struct UiaCondition *pConditions; +}; + +struct UiaCacheRequest { + struct UiaCondition *pViewCondition; + enum TreeScope Scope; + + PROPERTYID *pProperties; + int cProperties; + PATTERNID *pPatterns; + int cPatterns; + + enum AutomationElementMode automationElementMode; +}; + +enum EventArgsType { + EventArgsType_Simple = 0x00, + EventArgsType_PropertyChanged = 0x01, + EventArgsType_StructureChanged = 0x02, + EventArgsType_AsyncContentLoaded = 0x03, + EventArgsType_WindowClosed = 0x04, + EventArgsType_TextEditTextChanged = 0x05, + EventArgsType_Changes = 0x06, + EventArgsType_Notification = 0x07, +}; + +enum AsyncContentLoadedState { + AsyncContentLoadedState_Beginning = 0x00, + AsyncContentLoadedState_Progress = 0x01, + AsyncContentLoadedState_Completed = 0x02, +}; + +enum NormalizeState { + NormalizeState_None = 0x00, + NormalizeState_View = 0x01, + NormalizeState_Custom = 0x02, +}; + +struct UiaEventArgs { + enum EventArgsType Type; + int EventId; +}; + +struct UiaPropertyChangedEventArgs { + enum EventArgsType Type; + int EventId; + + PROPERTYID PropertyId; + VARIANT OldValue; + VARIANT NewValue; +}; + +struct UiaStructureChangedEventArgs { + enum EventArgsType Type; + int EventId; + + enum StructureChangeType StructureChangeType; + int *pRuntimeId; + int cRuntimeIdLen; +}; + +struct UiaTextEditTextChangedEventArgs { + enum EventArgsType Type; + int EventId; + + enum TextEditChangeType TextEditChangeType; + SAFEARRAY *pTextChange; +}; + +struct UiaChangesEventArgs { + enum EventArgsType Type; + int EventId; + + int EventIdCount; + struct UiaChangeInfo *pUiaChanges; +}; + +struct UiaAsyncContentLoadedEventArgs { + enum EventArgsType Type; + int EventId; + + enum AsyncContentLoadedState AsyncContentLoadedState; + double percentComplete; +}; + +struct UiaWindowClosedEventArgs { + enum EventArgsType Type; + int EventId; + + int *pRuntimeId; + int cRuntimeIdLen; +}; + +struct UiaFindParams { + int MaxDepth; + WINBOOL FindFirst; + WINBOOL ExcludeRoot; + struct UiaCondition *pFindCondition; +}; + +typedef SAFEARRAY * WINAPI UiaProviderCallback(HWND hwnd,enum ProviderType providerType); +typedef void WINAPI UiaEventCallback(struct UiaEventArgs *pArgs,SAFEARRAY *pRequestedData,BSTR pTreeStructure); + +HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value); +HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value); +int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid); +WINBOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj); +HRESULT WINAPI UiaRaiseAsyncContentLoadedEvent(IRawElementProviderSimple *provider, + enum AsyncContentLoadedState async_content_loaded_state, double percent_complete); +HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id); +HRESULT WINAPI UiaRaiseAutomationPropertyChangedEvent(IRawElementProviderSimple *, PROPERTYID, VARIANT, VARIANT); +HRESULT WINAPI UiaRaiseChangesEvent(IRawElementProviderSimple *provider, int event_id_count, + struct UiaChangeInfo *uia_changes); +HRESULT WINAPI UiaRaiseNotificationEvent(IRawElementProviderSimple *provider, enum NotificationKind notification_kind, + enum NotificationProcessing notification_processing, BSTR display_str, BSTR activity_id); +HRESULT WINAPI UiaRaiseStructureChangedEvent(IRawElementProviderSimple *provider, enum StructureChangeType struct_change_type, + int *runtime_id, int runtime_id_len); +HRESULT WINAPI UiaRaiseTextEditTextChangedEvent(IRawElementProviderSimple *provider, enum TextEditChangeType text_edit_change_type, + SAFEARRAY *changed_data); +void WINAPI UiaRegisterProviderCallback(UiaProviderCallback *pCallback); +LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov); +WINBOOL WINAPI UiaTextRangeRelease(HUIATEXTRANGE hobj); +HRESULT WINAPI UiaHostProviderFromHwnd(HWND hwnd, IRawElementProviderSimple **elprov); +HRESULT WINAPI UiaProviderFromIAccessible(IAccessible *acc, LONG child_id, DWORD flags, IRawElementProviderSimple **elprov); +HRESULT WINAPI UiaGetPropertyValue(HUIANODE huianode, PROPERTYID prop_id, VARIANT *out_val); +HRESULT WINAPI UiaNodeFromProvider(IRawElementProviderSimple *elprov, HUIANODE *huianode); +WINBOOL WINAPI UiaNodeRelease(HUIANODE huianode); +HRESULT WINAPI UiaGetRuntimeId(HUIANODE huianode, SAFEARRAY **runtime_id); +HRESULT WINAPI UiaHUiaNodeFromVariant(VARIANT *in_val, HUIANODE *huianode); +HRESULT WINAPI UiaNodeFromHandle(HWND hwnd, HUIANODE *huianode); +HRESULT WINAPI UiaGetRootNode(HUIANODE *huianode); +HRESULT WINAPI UiaNodeFromFocus(struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, BSTR *tree_struct); +HRESULT WINAPI UiaDisconnectProvider(IRawElementProviderSimple *elprov); +HRESULT WINAPI UiaGetUpdatedCache(HUIANODE huianode, struct UiaCacheRequest *cache_req, enum NormalizeState normalize_state, + struct UiaCondition *normalize_cond, SAFEARRAY **out_req, BSTR *tree_struct); +HRESULT WINAPI UiaNavigate(HUIANODE huianode, enum NavigateDirection dir, struct UiaCondition *nav_condition, + struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, BSTR *tree_struct); +HRESULT WINAPI UiaFind(HUIANODE huianode, struct UiaFindParams *find_params, struct UiaCacheRequest *cache_req, SAFEARRAY **out_req, + SAFEARRAY **out_offsets, SAFEARRAY **out_tree_structs); +HRESULT WINAPI UiaAddEvent(HUIANODE huianode, EVENTID event_id, UiaEventCallback *callback, enum TreeScope scope, + PROPERTYID *prop_ids, int prop_ids_count, struct UiaCacheRequest *cache_req, HUIAEVENT *huiaevent); +HRESULT WINAPI UiaRemoveEvent(HUIAEVENT huiaevent); +HRESULT WINAPI UiaEventAddWindow(HUIAEVENT huiaevent, HWND hwnd); +HRESULT WINAPI UiaEventRemoveWindow(HUIAEVENT huiaevent, HWND hwnd); +WINBOOL WINAPI UiaHasServerSideProvider(HWND hwnd); +WINBOOL WINAPI UiaClientsAreListening(void); + +#ifdef __cplusplus +} +#endif + +#endif /* _INC_UIAUTOMATIONCOREAPI */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiviewsettingsinterop.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiviewsettingsinterop.h new file mode 100644 index 00000000..eeefdd5b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uiviewsettingsinterop.h @@ -0,0 +1,159 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/uiviewsettingsinterop.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 __uiviewsettingsinterop_h__ +#define __uiviewsettingsinterop_h__ + +/* Forward declarations */ + +#ifndef __IUIViewSettingsInterop_FWD_DEFINED__ +#define __IUIViewSettingsInterop_FWD_DEFINED__ +typedef interface IUIViewSettingsInterop IUIViewSettingsInterop; +#ifdef __cplusplus +interface IUIViewSettingsInterop; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IUIViewSettingsInterop interface + */ +#ifndef __IUIViewSettingsInterop_INTERFACE_DEFINED__ +#define __IUIViewSettingsInterop_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUIViewSettingsInterop, 0x3694dbf9, 0x8f68, 0x44be, 0x8f,0xf5, 0x19,0x5c,0x98,0xed,0xe8,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3694dbf9-8f68-44be-8ff5-195c98ede8a6") +IUIViewSettingsInterop : public IInspectable +{ + virtual HRESULT STDMETHODCALLTYPE GetForWindow( + HWND hwnd, + REFIID riid, + void **ppv) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUIViewSettingsInterop, 0x3694dbf9, 0x8f68, 0x44be, 0x8f,0xf5, 0x19,0x5c,0x98,0xed,0xe8,0xa6) +#endif +#else +typedef struct IUIViewSettingsInteropVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUIViewSettingsInterop *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUIViewSettingsInterop *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUIViewSettingsInterop *This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + IUIViewSettingsInterop *This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + IUIViewSettingsInterop *This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + IUIViewSettingsInterop *This, + TrustLevel *trustLevel); + + /*** IUIViewSettingsInterop methods ***/ + HRESULT (STDMETHODCALLTYPE *GetForWindow)( + IUIViewSettingsInterop *This, + HWND hwnd, + REFIID riid, + void **ppv); + + END_INTERFACE +} IUIViewSettingsInteropVtbl; + +interface IUIViewSettingsInterop { + CONST_VTBL IUIViewSettingsInteropVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUIViewSettingsInterop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUIViewSettingsInterop_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUIViewSettingsInterop_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define IUIViewSettingsInterop_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define IUIViewSettingsInterop_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define IUIViewSettingsInterop_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IUIViewSettingsInterop methods ***/ +#define IUIViewSettingsInterop_GetForWindow(This,hwnd,riid,ppv) (This)->lpVtbl->GetForWindow(This,hwnd,riid,ppv) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUIViewSettingsInterop_QueryInterface(IUIViewSettingsInterop* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUIViewSettingsInterop_AddRef(IUIViewSettingsInterop* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUIViewSettingsInterop_Release(IUIViewSettingsInterop* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static inline HRESULT IUIViewSettingsInterop_GetIids(IUIViewSettingsInterop* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static inline HRESULT IUIViewSettingsInterop_GetRuntimeClassName(IUIViewSettingsInterop* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static inline HRESULT IUIViewSettingsInterop_GetTrustLevel(IUIViewSettingsInterop* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IUIViewSettingsInterop methods ***/ +static inline HRESULT IUIViewSettingsInterop_GetForWindow(IUIViewSettingsInterop* This,HWND hwnd,REFIID riid,void **ppv) { + return This->lpVtbl->GetForWindow(This,hwnd,riid,ppv); +} +#endif +#endif + +#endif + + +#endif /* __IUIViewSettingsInterop_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __uiviewsettingsinterop_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/umx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/umx.h new file mode 100644 index 00000000..5b05dbd3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/umx.h @@ -0,0 +1,175 @@ +/** + * 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 _UMX_H_ +#define _UMX_H_ + +#include <_mingw_unicode.h> + +#define UME_MENU_TEXT_LEN 50 +#define UME_VERSION 0 + +#define UMS_LISTBOX_USERS 0 +#define UMS_LISTBOX_GROUPS 1 + +#define UM_GETSELCOUNT (WM_USER + 1000) +#define UM_GETUSERSELA (WM_USER + 1001) +#define UM_GETUSERSELW (WM_USER + 1002) +#define UM_GETGROUPSELA (WM_USER + 1003) +#define UM_GETGROUPSELW (WM_USER + 1004) +#define UM_GETCURFOCUSA (WM_USER + 1005) +#define UM_GETCURFOCUSW (WM_USER + 1006) +#define UM_GETOPTIONS (WM_USER + 1007) +#define UM_GETOPTIONS2 (WM_USER + 1008) + +#define UM_GETUSERSEL __MINGW_NAME_AW(UM_GETUSERSEL) +#define UM_GETGROUPSEL __MINGW_NAME_AW(UM_GETGROUPSEL) +#define UM_GETCURFOCUS __MINGW_NAME_AW(UM_GETCURFOCUS) + +typedef struct _UMS_LOADMENUA { + DWORD dwVersion; + CHAR szMenuName[UME_MENU_TEXT_LEN + 1]; + HMENU hMenu; + CHAR szHelpFileName[MAX_PATH]; + DWORD dwMenuDelta; +} UMS_LOADMENUA,*PUMS_LOADMENUA; + +typedef struct _UMS_LOADMENUW { + DWORD dwVersion; + WCHAR szMenuName[UME_MENU_TEXT_LEN + 1]; + HMENU hMenu; + WCHAR szHelpFileName[MAX_PATH]; + DWORD dwMenuDelta; +} UMS_LOADMENUW,*PUMS_LOADMENUW; + +#define UMS_LOADMENU __MINGW_NAME_AW(UMS_LOADMENU) +#define PUMS_LOADMENU __MINGW_NAME_AW(PUMS_LOADMENU) + +#define UM_SELTYPE_USER 0x10 +#define UM_SELTYPE_NORMALUSER 0x1 | UM_SELTYPE_USER +#define UM_SELTYPE_REMOTEUSER 0x2 | UM_SELTYPE_USER +#define UM_SELTYPE_GROUP 0x20 +#define UM_SELTYPE_LOCALGROUP 0x4 | UM_SELTYPE_GROUP +#define UM_SELTYPE_GLOBALGROUP 0x8 | UM_SELTYPE_GROUP + +typedef struct _UMS_GETSELA { + DWORD dwRID; + LPSTR pchName; + DWORD dwSelType; + LPSTR pchFullName; + LPSTR pchComment; +} UMS_GETSELA,*PUMS_GETSELA; + +typedef struct _UMS_GETSELW { + DWORD dwRID; + LPWSTR pchName; + DWORD dwSelType; + LPWSTR pchFullName; + LPWSTR pchComment; +} UMS_GETSELW,*PUMS_GETSELW; + +#define UMS_GETSEL __MINGW_NAME_AW(UMS_GETSEL) +#define PUMS_GETSEL __MINGW_NAME_AW(PUMS_GETSEL) + +typedef struct _UMS_GETSELCOUNT { + DWORD dwItems; +} UMS_GETSELCOUNT,*PUMS_GETSELCOUNT; + +#define UM_FOCUS_TYPE_DOMAIN 1 +#define UM_FOCUS_TYPE_WINNT 2 +#define UM_FOCUS_TYPE_LM 3 +#define UM_FOCUS_TYPE_UNKNOWN 4 + +typedef struct _UMS_GETCURFOCUSA { + CHAR szFocus[MAX_PATH]; + DWORD dwFocusType; + CHAR szFocusPDC[MAX_PATH]; + PVOID psidFocus; +} UMS_GETCURFOCUSA,*PUMS_GETCURFOCUSA; + +typedef struct _UMS_GETCURFOCUSW { + WCHAR szFocus[MAX_PATH]; + DWORD dwFocusType; + WCHAR szFocusPDC[MAX_PATH]; + PVOID psidFocus; +} UMS_GETCURFOCUSW,*PUMS_GETCURFOCUSW; + +#define UMS_GETCURFOCUS __MINGW_NAME_AW(UMS_GETCURFOCUS) +#define PUMS_GETCURFOCUS __MINGW_NAME_AW(PUMS_GETCURFOCUS) + +typedef struct _UMS_GETOPTIONS { + WINBOOL fSaveSettingsOnExit; + WINBOOL fConfirmation; + WINBOOL fSortByFullName; +} UMS_GETOPTIONS,*PUMS_GETOPTIONS; + +typedef struct _UMS_GETOPTIONS2 { + WINBOOL fSaveSettingsOnExit; + WINBOOL fConfirmation; + WINBOOL fSortByFullName; + WINBOOL fMiniUserManager; + WINBOOL fLowSpeedConnection; +} UMS_GETOPTIONS2,*PUMS_GETOPTIONS2; + +#define SZ_UME_UNLOADMENU "UMEUnloadMenu" +#define SZ_UME_INITIALIZEMENU "UMEInitializeMenu" +#define SZ_UME_REFRESH "UMERefresh" +#define SZ_UME_MENUACTION "UMEMenuAction" + +#define SZ_UME_LOADMENUW "UMELoadMenuW" +#define SZ_UME_GETEXTENDEDERRORSTRINGW "UMEGetExtendedErrorStringW" +#define SZ_UME_CREATEW "UMECreateW" +#define SZ_UME_DELETEW "UMEDeleteW" +#define SZ_UME_RENAMEW "UMERenameW" + +#define SZ_UME_LOADMENUA "UMELoadMenuA" +#define SZ_UME_GETEXTENDEDERRORSTRINGA "UMEGetExtendedErrorStringA" +#define SZ_UME_CREATEA "UMECreateA" +#define SZ_UME_DELETEA "UMEDeleteA" +#define SZ_UME_RENAMEA "UMERenameA" + +#define SZ_UME_LOADMENU __MINGW_NAME_AW(SZ_UME_LOADMENU) +#define SZ_UME_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(SZ_UME_GETEXTENDEDERRORSTRING) +#define SZ_UME_CREATE __MINGW_NAME_AW(SZ_UME_CREATE) +#define SZ_UME_DELETE __MINGW_NAME_AW(SZ_UME_DELETE) +#define SZ_UME_RENAME __MINGW_NAME_AW(SZ_UME_RENAME) + +typedef DWORD (WINAPI *PUMX_LOADMENUW)(HWND hWnd,PUMS_LOADMENUW pumsload); +typedef DWORD (WINAPI *PUMX_LOADMENUA)(HWND hWnd,PUMS_LOADMENUA pumsload); + +typedef LPWSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGW)(VOID); +typedef LPSTR (WINAPI *PUMX_GETEXTENDEDERRORSTRINGA)(VOID); +typedef VOID (WINAPI *PUMX_UNLOADMENU)(VOID); +typedef VOID (WINAPI *PUMX_INITIALIZEMENU)(VOID); +typedef VOID (WINAPI *PUMX_REFRESH)(HWND hwndParent); +typedef VOID (WINAPI *PUMX_MENUACTION)(HWND hwndParent,DWORD dwEventId); +typedef VOID (WINAPI *PUMX_CREATEW)(HWND hwndParent,PUMS_GETSELW pumsSelection); +typedef VOID (WINAPI *PUMX_CREATEA)(HWND hwndParent,PUMS_GETSELA pumsSelection); +typedef VOID (WINAPI *PUMX_DELETEW)(HWND hwndParent,PUMS_GETSELW pumsSelection); +typedef VOID (WINAPI *PUMX_DELETEA)(HWND hwndParent,PUMS_GETSELA pumsSelection); +typedef VOID (WINAPI *PUMX_RENAMEW)(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName); +typedef VOID (WINAPI *PUMX_RENAMEA)(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName); + +#define PUMX_LOADMENU __MINGW_NAME_AW(PUMX_LOADMENU) +#define PUMX_GETEXTENDEDERRORSTRING __MINGW_NAME_AW(PUMX_GETEXTENDEDERRORSTRING) +#define PUMX_CREATE __MINGW_NAME_AW(PUMX_CREATE) +#define PUMX_DELETE __MINGW_NAME_AW(PUMX_DELETE) +#define PUMX_RENAME __MINGW_NAME_AW(PUMX_RENAME) + +DWORD WINAPI UMELoadMenuA(HWND hwndMessage,PUMS_LOADMENUA pumsload); +DWORD WINAPI UMELoadMenuW(HWND hwndMessage,PUMS_LOADMENUW pumsload); +LPSTR WINAPI UMEGetExtendedErrorStringA(VOID); +LPWSTR WINAPI UMEGetExtendedErrorStringW(VOID); +VOID WINAPI UMEUnloadMenu(VOID); +VOID WINAPI UMEInitializeMenu(VOID); +VOID WINAPI UMERefresh(HWND hwndParent); +VOID WINAPI UMEMenuAction(HWND hwndParent,DWORD dwEventId); +VOID WINAPI UMECreateA(HWND hwndParent,PUMS_GETSELA pumsSelection); +VOID WINAPI UMECreateW(HWND hwndParent,PUMS_GETSELW pumsSelection); +VOID WINAPI UMEDeleteA(HWND hwndParent,PUMS_GETSELA pumsSelection); +VOID WINAPI UMEDeleteW(HWND hwndParent,PUMS_GETSELW pumsSelection); +VOID WINAPI UMERenameA(HWND hwndParent,PUMS_GETSELA pumsSelection,LPSTR pchNewName); +VOID WINAPI UMERenameW(HWND hwndParent,PUMS_GETSELW pumsSelection,LPWSTR pchNewName); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unistd.h new file mode 100644 index 00000000..af59cb96 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unistd.h @@ -0,0 +1,111 @@ +/** + * 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 _UNISTD_H +#define _UNISTD_H +#define __UNISTD_H_SOURCED__ 1 + +#include +#include +#include + +/* These are also defined in stdio.h. */ +#ifndef SEEK_SET +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#endif + +/* These are also defined in stdio.h. */ +#ifndef STDIN_FILENO +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 +#endif + +/* Used by shutdown(2). */ +#ifdef _POSIX_SOURCE + +/* MySql connector already defined SHUT_RDWR. */ +#ifndef SHUT_RDWR +#define SHUT_RD 0x00 +#define SHUT_WR 0x01 +#define SHUT_RDWR 0x02 +#endif + +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#pragma push_macro("sleep") +#undef sleep +unsigned int __cdecl sleep (unsigned int); +#pragma pop_macro("sleep") + +#if !defined __NO_ISOCEXT +#include /* For useconds_t. */ + +int __cdecl __MINGW_NOTHROW usleep(useconds_t); +#endif /* Not __NO_ISOCEXT */ + +#ifndef FTRUNCATE_DEFINED +#define FTRUNCATE_DEFINED +/* This is defined as a real library function to allow autoconf + to verify its existence. */ +#if !defined(NO_OLDNAMES) || defined(_POSIX) +int ftruncate(int, off32_t); +int ftruncate64(int, off64_t); +int truncate(const char *, off32_t); +int truncate64(const char *, off64_t); +#ifndef __CRT__NO_INLINE +__CRT_INLINE int ftruncate(int __fd, off32_t __length) +{ + return _chsize (__fd, __length); +} +#endif /* !__CRT__NO_INLINE */ +#else +int ftruncate(int, _off_t); +int ftruncate64(int, _off64_t); +int truncate(const char *, _off_t); +int truncate64(const char *, _off64_t); +#ifndef __CRT__NO_INLINE +__CRT_INLINE int ftruncate(int __fd, _off_t __length) +{ + return _chsize (__fd, __length); +} +#endif /* !__CRT__NO_INLINE */ +#endif +#endif /* FTRUNCATE_DEFINED */ + +#ifndef _FILE_OFFSET_BITS_SET_FTRUNCATE +#define _FILE_OFFSET_BITS_SET_FTRUNCATE +#if (defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)) +#define ftruncate ftruncate64 +#endif /* _FILE_OFFSET_BITS_SET_FTRUNCATE */ +#endif /* _FILE_OFFSET_BITS_SET_FTRUNCATE */ + +#ifndef _CRT_SWAB_DEFINED +#define _CRT_SWAB_DEFINED /* Also in stdlib.h */ + void __cdecl swab(char *_Buf1,char *_Buf2,int _SizeInBytes) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#endif + +#if defined(_CRT_USE_WINAPI_FAMILY_DESKTOP_APP) || defined(WINSTORECOMPAT) +#ifndef _CRT_GETPID_DEFINED +#define _CRT_GETPID_DEFINED /* Also in process.h */ + int __cdecl getpid(void) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#endif +#endif /* _CRT_USE_WINAPI_FAMILY_DESKTOP_APP || WINSTORECOMPAT */ + +#ifdef __cplusplus +} +#endif + +#include + +#undef __UNISTD_H_SOURCED__ +#endif /* _UNISTD_H */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknown.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknown.h new file mode 100644 index 00000000..55affb28 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknown.h @@ -0,0 +1,74 @@ +/* + * unknown.h + * + * Contributors: + * Created by Magnus Olsen + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _UNKNOWN_H_ +#define _UNKNOWN_H_ + +#ifdef __cplusplus +extern "C" { +#include +} +#else +#include +#endif + +#include +#define COM_NO_WINDOWS_H +#include +#ifdef PUT_GUIDS_HERE +#include +#endif + +DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); +#if defined(__cplusplus) && _MSC_VER >= 1100 +struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) IUnknown; +#endif + +#undef INTERFACE +#define INTERFACE IUnknown +DECLARE_INTERFACE(IUnknown) +{ + STDMETHOD(QueryInterface) + ( THIS_ + REFIID, + PVOID* + ) PURE; + + STDMETHOD_(ULONG,AddRef) + ( THIS + ) PURE; + + STDMETHOD_(ULONG,Release) + ( THIS + ) PURE; +}; +#undef INTERFACE + +typedef IUnknown *PUNKNOWN; +typedef +HRESULT +(NTAPI *PFNCREATEINSTANCE) +( + PUNKNOWN * Unknown, + REFCLSID ClassId, + PUNKNOWN OuterUnknown, + POOL_TYPE PoolType +); + +#endif /* _UNKNOWN_H_ */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwn.h new file mode 100644 index 00000000..a2cc43d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwn.h @@ -0,0 +1,444 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/unknwn.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 __unknwn_h__ +#define __unknwn_h__ + +/* Forward declarations */ + +#ifndef __IUnknown_FWD_DEFINED__ +#define __IUnknown_FWD_DEFINED__ +typedef interface IUnknown IUnknown; +#ifdef __cplusplus +interface IUnknown; +#endif /* __cplusplus */ +#endif + +#ifndef __AsyncIUnknown_FWD_DEFINED__ +#define __AsyncIUnknown_FWD_DEFINED__ +typedef interface AsyncIUnknown AsyncIUnknown; +#ifdef __cplusplus +interface AsyncIUnknown; +#endif /* __cplusplus */ +#endif + +#ifndef __IClassFactory_FWD_DEFINED__ +#define __IClassFactory_FWD_DEFINED__ +typedef interface IClassFactory IClassFactory; +#ifdef __cplusplus +interface IClassFactory; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * 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. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * IUnknown interface + */ +#ifndef __IUnknown_INTERFACE_DEFINED__ +#define __IUnknown_INTERFACE_DEFINED__ + +typedef IUnknown *LPUNKNOWN; + +#if defined(__cplusplus) && !defined(CINTERFACE) +EXTERN_C const IID IID_IUnknown; + +extern "C++" { + MIDL_INTERFACE("00000000-0000-0000-C000-000000000046") + IUnknown { + public: + BEGIN_INTERFACE + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) = 0; + virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0; + virtual ULONG STDMETHODCALLTYPE Release(void) = 0; + + template + HRESULT STDMETHODCALLTYPE QueryInterface(Q **pp) { + return QueryInterface(__uuidof(Q), (void **)pp); + } + END_INTERFACE + }; +} +__CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#else +DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-c000-000000000046") +IUnknown +{ + + BEGIN_INTERFACE + + virtual HRESULT STDMETHODCALLTYPE QueryInterface( + REFIID riid, + void **ppvObject) = 0; + + virtual ULONG STDMETHODCALLTYPE AddRef( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Release( + ) = 0; + + END_INTERFACE + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IUnknownVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUnknown *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUnknown *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUnknown *This); + + END_INTERFACE +} IUnknownVtbl; + +interface IUnknown { + CONST_VTBL IUnknownVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUnknown_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUnknown_QueryInterface(IUnknown* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUnknown_AddRef(IUnknown* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUnknown_Release(IUnknown* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IUnknown_INTERFACE_DEFINED__ */ + +#endif +HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject); +void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This); +void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This); +void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * AsyncIUnknown interface + */ +#ifndef __AsyncIUnknown_INTERFACE_DEFINED__ +#define __AsyncIUnknown_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("000e0000-0000-0000-c000-000000000046") +AsyncIUnknown : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Begin_QueryInterface( + REFIID riid) = 0; + + virtual HRESULT STDMETHODCALLTYPE Finish_QueryInterface( + void **ppvObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE Begin_AddRef( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Finish_AddRef( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Begin_Release( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Finish_Release( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct AsyncIUnknownVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + AsyncIUnknown *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Release)( + AsyncIUnknown *This); + + /*** AsyncIUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *Begin_QueryInterface)( + AsyncIUnknown *This, + REFIID riid); + + HRESULT (STDMETHODCALLTYPE *Finish_QueryInterface)( + AsyncIUnknown *This, + void **ppvObject); + + HRESULT (STDMETHODCALLTYPE *Begin_AddRef)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Finish_AddRef)( + AsyncIUnknown *This); + + HRESULT (STDMETHODCALLTYPE *Begin_Release)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Finish_Release)( + AsyncIUnknown *This); + + END_INTERFACE +} AsyncIUnknownVtbl; + +interface AsyncIUnknown { + CONST_VTBL AsyncIUnknownVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define AsyncIUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define AsyncIUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define AsyncIUnknown_Release(This) (This)->lpVtbl->Release(This) +/*** AsyncIUnknown methods ***/ +#define AsyncIUnknown_Begin_QueryInterface(This,riid) (This)->lpVtbl->Begin_QueryInterface(This,riid) +#define AsyncIUnknown_Finish_QueryInterface(This,ppvObject) (This)->lpVtbl->Finish_QueryInterface(This,ppvObject) +#define AsyncIUnknown_Begin_AddRef(This) (This)->lpVtbl->Begin_AddRef(This) +#define AsyncIUnknown_Finish_AddRef(This) (This)->lpVtbl->Finish_AddRef(This) +#define AsyncIUnknown_Begin_Release(This) (This)->lpVtbl->Begin_Release(This) +#define AsyncIUnknown_Finish_Release(This) (This)->lpVtbl->Finish_Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT AsyncIUnknown_QueryInterface(AsyncIUnknown* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG AsyncIUnknown_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG AsyncIUnknown_Release(AsyncIUnknown* This) { + return This->lpVtbl->Release(This); +} +/*** AsyncIUnknown methods ***/ +static inline HRESULT AsyncIUnknown_Begin_QueryInterface(AsyncIUnknown* This,REFIID riid) { + return This->lpVtbl->Begin_QueryInterface(This,riid); +} +static inline HRESULT AsyncIUnknown_Finish_QueryInterface(AsyncIUnknown* This,void **ppvObject) { + return This->lpVtbl->Finish_QueryInterface(This,ppvObject); +} +static inline HRESULT AsyncIUnknown_Begin_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->Begin_AddRef(This); +} +static inline ULONG AsyncIUnknown_Finish_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->Finish_AddRef(This); +} +static inline HRESULT AsyncIUnknown_Begin_Release(AsyncIUnknown* This) { + return This->lpVtbl->Begin_Release(This); +} +static inline ULONG AsyncIUnknown_Finish_Release(AsyncIUnknown* This) { + return This->lpVtbl->Finish_Release(This); +} +#endif +#endif + +#endif + + +#endif /* __AsyncIUnknown_INTERFACE_DEFINED__ */ + +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * IClassFactory interface + */ +#ifndef __IClassFactory_INTERFACE_DEFINED__ +#define __IClassFactory_INTERFACE_DEFINED__ + +typedef IClassFactory *LPCLASSFACTORY; + +DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000001-0000-0000-c000-000000000046") +IClassFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockServer( + WINBOOL fLock) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IClassFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IClassFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IClassFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IClassFactory *This); + + /*** IClassFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IClassFactory *This, + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject); + + HRESULT (STDMETHODCALLTYPE *LockServer)( + IClassFactory *This, + WINBOOL fLock); + + END_INTERFACE +} IClassFactoryVtbl; + +interface IClassFactory { + CONST_VTBL IClassFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IClassFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IClassFactory methods ***/ +#define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject) +#define IClassFactory_LockServer(This,fLock) (This)->lpVtbl->LockServer(This,fLock) +#else +/*** IUnknown methods ***/ +static inline HRESULT IClassFactory_QueryInterface(IClassFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IClassFactory_AddRef(IClassFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IClassFactory_Release(IClassFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IClassFactory methods ***/ +static inline HRESULT IClassFactory_CreateInstance(IClassFactory* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) { + return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject); +} +static inline HRESULT IClassFactory_LockServer(IClassFactory* This,WINBOOL fLock) { + return This->lpVtbl->LockServer(This,fLock); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy( + IClassFactory* This, + REFIID riid, + IUnknown **ppvObject); +void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy( + IClassFactory* This, + WINBOOL fLock); +void __RPC_STUB IClassFactory_RemoteLockServer_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IClassFactory_CreateInstance_Proxy( + IClassFactory* This, + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject); +HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub( + IClassFactory* This, + REFIID riid, + IUnknown **ppvObject); +HRESULT CALLBACK IClassFactory_LockServer_Proxy( + IClassFactory* This, + WINBOOL fLock); +HRESULT __RPC_STUB IClassFactory_LockServer_Stub( + IClassFactory* This, + WINBOOL fLock); + +#endif /* __IClassFactory_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __unknwn_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwnbase.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwnbase.h new file mode 100644 index 00000000..b587289d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/unknwnbase.h @@ -0,0 +1,440 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/unknwnbase.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 __unknwnbase_h__ +#define __unknwnbase_h__ + +/* Forward declarations */ + +#ifndef __IUnknown_FWD_DEFINED__ +#define __IUnknown_FWD_DEFINED__ +typedef interface IUnknown IUnknown; +#ifdef __cplusplus +interface IUnknown; +#endif /* __cplusplus */ +#endif + +#ifndef __AsyncIUnknown_FWD_DEFINED__ +#define __AsyncIUnknown_FWD_DEFINED__ +typedef interface AsyncIUnknown AsyncIUnknown; +#ifdef __cplusplus +interface AsyncIUnknown; +#endif /* __cplusplus */ +#endif + +#ifndef __IClassFactory_FWD_DEFINED__ +#define __IClassFactory_FWD_DEFINED__ +typedef interface IClassFactory IClassFactory; +#ifdef __cplusplus +interface IClassFactory; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * IUnknown interface + */ +#ifndef __IUnknown_INTERFACE_DEFINED__ +#define __IUnknown_INTERFACE_DEFINED__ + +typedef IUnknown *LPUNKNOWN; + +#if defined(__cplusplus) && !defined(CINTERFACE) +EXTERN_C const IID IID_IUnknown; + +extern "C++" { + MIDL_INTERFACE("00000000-0000-0000-C000-000000000046") + IUnknown { + public: + BEGIN_INTERFACE + virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void **ppvObject) = 0; + virtual ULONG STDMETHODCALLTYPE AddRef(void) = 0; + virtual ULONG STDMETHODCALLTYPE Release(void) = 0; + + template + HRESULT STDMETHODCALLTYPE QueryInterface(Q **pp) { + return QueryInterface(__uuidof(Q), (void **)pp); + } + END_INTERFACE + }; +} +__CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#else +DEFINE_GUID(IID_IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-c000-000000000046") +IUnknown +{ + + BEGIN_INTERFACE + + virtual HRESULT STDMETHODCALLTYPE QueryInterface( + REFIID riid, + void **ppvObject) = 0; + + virtual ULONG STDMETHODCALLTYPE AddRef( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Release( + ) = 0; + + END_INTERFACE + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUnknown, 0x00000000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IUnknownVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUnknown *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUnknown *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUnknown *This); + + END_INTERFACE +} IUnknownVtbl; + +interface IUnknown { + CONST_VTBL IUnknownVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUnknown_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUnknown_QueryInterface(IUnknown* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUnknown_AddRef(IUnknown* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUnknown_Release(IUnknown* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IUnknown_INTERFACE_DEFINED__ */ + +#endif +HRESULT STDMETHODCALLTYPE IUnknown_QueryInterface_Proxy(IUnknown *This, REFIID riid, void **ppvObject); +void __RPC_STUB IUnknown_QueryInterface_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +ULONG STDMETHODCALLTYPE IUnknown_AddRef_Proxy(IUnknown *This); +void __RPC_STUB IUnknown_AddRef_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +ULONG STDMETHODCALLTYPE IUnknown_Release_Proxy(IUnknown *This); +void __RPC_STUB IUnknown_Release_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * AsyncIUnknown interface + */ +#ifndef __AsyncIUnknown_INTERFACE_DEFINED__ +#define __AsyncIUnknown_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("000e0000-0000-0000-c000-000000000046") +AsyncIUnknown : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Begin_QueryInterface( + REFIID riid) = 0; + + virtual HRESULT STDMETHODCALLTYPE Finish_QueryInterface( + void **ppvObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE Begin_AddRef( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Finish_AddRef( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Begin_Release( + ) = 0; + + virtual ULONG STDMETHODCALLTYPE Finish_Release( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AsyncIUnknown, 0x000e0000, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct AsyncIUnknownVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + AsyncIUnknown *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Release)( + AsyncIUnknown *This); + + /*** AsyncIUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *Begin_QueryInterface)( + AsyncIUnknown *This, + REFIID riid); + + HRESULT (STDMETHODCALLTYPE *Finish_QueryInterface)( + AsyncIUnknown *This, + void **ppvObject); + + HRESULT (STDMETHODCALLTYPE *Begin_AddRef)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Finish_AddRef)( + AsyncIUnknown *This); + + HRESULT (STDMETHODCALLTYPE *Begin_Release)( + AsyncIUnknown *This); + + ULONG (STDMETHODCALLTYPE *Finish_Release)( + AsyncIUnknown *This); + + END_INTERFACE +} AsyncIUnknownVtbl; + +interface AsyncIUnknown { + CONST_VTBL AsyncIUnknownVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define AsyncIUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define AsyncIUnknown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define AsyncIUnknown_Release(This) (This)->lpVtbl->Release(This) +/*** AsyncIUnknown methods ***/ +#define AsyncIUnknown_Begin_QueryInterface(This,riid) (This)->lpVtbl->Begin_QueryInterface(This,riid) +#define AsyncIUnknown_Finish_QueryInterface(This,ppvObject) (This)->lpVtbl->Finish_QueryInterface(This,ppvObject) +#define AsyncIUnknown_Begin_AddRef(This) (This)->lpVtbl->Begin_AddRef(This) +#define AsyncIUnknown_Finish_AddRef(This) (This)->lpVtbl->Finish_AddRef(This) +#define AsyncIUnknown_Begin_Release(This) (This)->lpVtbl->Begin_Release(This) +#define AsyncIUnknown_Finish_Release(This) (This)->lpVtbl->Finish_Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT AsyncIUnknown_QueryInterface(AsyncIUnknown* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG AsyncIUnknown_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG AsyncIUnknown_Release(AsyncIUnknown* This) { + return This->lpVtbl->Release(This); +} +/*** AsyncIUnknown methods ***/ +static inline HRESULT AsyncIUnknown_Begin_QueryInterface(AsyncIUnknown* This,REFIID riid) { + return This->lpVtbl->Begin_QueryInterface(This,riid); +} +static inline HRESULT AsyncIUnknown_Finish_QueryInterface(AsyncIUnknown* This,void **ppvObject) { + return This->lpVtbl->Finish_QueryInterface(This,ppvObject); +} +static inline HRESULT AsyncIUnknown_Begin_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->Begin_AddRef(This); +} +static inline ULONG AsyncIUnknown_Finish_AddRef(AsyncIUnknown* This) { + return This->lpVtbl->Finish_AddRef(This); +} +static inline HRESULT AsyncIUnknown_Begin_Release(AsyncIUnknown* This) { + return This->lpVtbl->Begin_Release(This); +} +static inline ULONG AsyncIUnknown_Finish_Release(AsyncIUnknown* This) { + return This->lpVtbl->Finish_Release(This); +} +#endif +#endif + +#endif + + +#endif /* __AsyncIUnknown_INTERFACE_DEFINED__ */ + +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * IClassFactory interface + */ +#ifndef __IClassFactory_INTERFACE_DEFINED__ +#define __IClassFactory_INTERFACE_DEFINED__ + +typedef IClassFactory *LPCLASSFACTORY; + +DEFINE_GUID(IID_IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000001-0000-0000-c000-000000000046") +IClassFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockServer( + WINBOOL fLock) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IClassFactory, 0x00000001, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IClassFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IClassFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IClassFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IClassFactory *This); + + /*** IClassFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IClassFactory *This, + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject); + + HRESULT (STDMETHODCALLTYPE *LockServer)( + IClassFactory *This, + WINBOOL fLock); + + END_INTERFACE +} IClassFactoryVtbl; + +interface IClassFactory { + CONST_VTBL IClassFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IClassFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IClassFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IClassFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IClassFactory methods ***/ +#define IClassFactory_CreateInstance(This,pUnkOuter,riid,ppvObject) (This)->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject) +#define IClassFactory_LockServer(This,fLock) (This)->lpVtbl->LockServer(This,fLock) +#else +/*** IUnknown methods ***/ +static inline HRESULT IClassFactory_QueryInterface(IClassFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IClassFactory_AddRef(IClassFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IClassFactory_Release(IClassFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IClassFactory methods ***/ +static inline HRESULT IClassFactory_CreateInstance(IClassFactory* This,IUnknown *pUnkOuter,REFIID riid,void **ppvObject) { + return This->lpVtbl->CreateInstance(This,pUnkOuter,riid,ppvObject); +} +static inline HRESULT IClassFactory_LockServer(IClassFactory* This,WINBOOL fLock) { + return This->lpVtbl->LockServer(This,fLock); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IClassFactory_RemoteCreateInstance_Proxy( + IClassFactory* This, + REFIID riid, + IUnknown **ppvObject); +void __RPC_STUB IClassFactory_RemoteCreateInstance_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy( + IClassFactory* This, + WINBOOL fLock); +void __RPC_STUB IClassFactory_RemoteLockServer_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IClassFactory_CreateInstance_Proxy( + IClassFactory* This, + IUnknown *pUnkOuter, + REFIID riid, + void **ppvObject); +HRESULT __RPC_STUB IClassFactory_CreateInstance_Stub( + IClassFactory* This, + REFIID riid, + IUnknown **ppvObject); +HRESULT CALLBACK IClassFactory_LockServer_Proxy( + IClassFactory* This, + WINBOOL fLock); +HRESULT __RPC_STUB IClassFactory_LockServer_Stub( + IClassFactory* This, + WINBOOL fLock); + +#endif /* __IClassFactory_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __unknwnbase_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlhist.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlhist.h new file mode 100644 index 00000000..5dc1ad9f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlhist.h @@ -0,0 +1,596 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/urlhist.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 __urlhist_h__ +#define __urlhist_h__ + +/* Forward declarations */ + +#ifndef __IEnumSTATURL_FWD_DEFINED__ +#define __IEnumSTATURL_FWD_DEFINED__ +typedef interface IEnumSTATURL IEnumSTATURL; +#ifdef __cplusplus +interface IEnumSTATURL; +#endif /* __cplusplus */ +#endif + +#ifndef __IUrlHistoryStg_FWD_DEFINED__ +#define __IUrlHistoryStg_FWD_DEFINED__ +typedef interface IUrlHistoryStg IUrlHistoryStg; +#ifdef __cplusplus +interface IUrlHistoryStg; +#endif /* __cplusplus */ +#endif + +#ifndef __IUrlHistoryStg2_FWD_DEFINED__ +#define __IUrlHistoryStg2_FWD_DEFINED__ +typedef interface IUrlHistoryStg2 IUrlHistoryStg2; +#ifdef __cplusplus +interface IUrlHistoryStg2; +#endif /* __cplusplus */ +#endif + +#ifndef __IUrlHistoryNotify_FWD_DEFINED__ +#define __IUrlHistoryNotify_FWD_DEFINED__ +typedef interface IUrlHistoryNotify IUrlHistoryNotify; +#ifdef __cplusplus +interface IUrlHistoryNotify; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define STATURL_QUERYFLAG_ISCACHED 0x010000 +#define STATURL_QUERYFLAG_NOURL 0x020000 +#define STATURL_QUERYFLAG_NOTITLE 0x040000 +#define STATURL_QUERYFLAG_TOPLEVEL 0x080000 +#define STATURLFLAG_ISCACHED 0x0001 +#define STATURLFLAG_ISTOPLEVEL 0x0002 +typedef enum _ADDURL_FLAG { + ADDURL_FIRST = 0, + ADDURL_ADDTOHISTORYANDCACHE = 0, + ADDURL_ADDTOCACHE = 1, + ADDURL_Max = 0x7fffffff +} ADDURL_FLAG; +/***************************************************************************** + * IEnumSTATURL interface + */ +#ifndef __IEnumSTATURL_INTERFACE_DEFINED__ +#define __IEnumSTATURL_INTERFACE_DEFINED__ + +typedef IEnumSTATURL *LPENUMSTATURL; +typedef struct _STATURL { + DWORD cbSize; + LPWSTR pwcsUrl; + LPWSTR pwcsTitle; + FILETIME ftLastVisited; + FILETIME ftLastUpdated; + FILETIME ftExpires; + DWORD dwFlags; +} STATURL; +typedef struct _STATURL *LPSTATURL; +DEFINE_GUID(IID_IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3c374a42-bae4-11cf-bf7d-00aa006946ee") +IEnumSTATURL : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + LPSTATURL rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumSTATURL **ppenum) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFilter( + LPCOLESTR poszFilter, + DWORD dwFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumSTATURL, 0x3c374a42, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee) +#endif +#else +typedef struct IEnumSTATURLVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumSTATURL *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumSTATURL *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumSTATURL *This); + + /*** IEnumSTATURL methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumSTATURL *This, + ULONG celt, + LPSTATURL rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumSTATURL *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumSTATURL *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumSTATURL *This, + IEnumSTATURL **ppenum); + + HRESULT (STDMETHODCALLTYPE *SetFilter)( + IEnumSTATURL *This, + LPCOLESTR poszFilter, + DWORD dwFlags); + + END_INTERFACE +} IEnumSTATURLVtbl; + +interface IEnumSTATURL { + CONST_VTBL IEnumSTATURLVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumSTATURL_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumSTATURL_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumSTATURL_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumSTATURL methods ***/ +#define IEnumSTATURL_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumSTATURL_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumSTATURL_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumSTATURL_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#define IEnumSTATURL_SetFilter(This,poszFilter,dwFlags) (This)->lpVtbl->SetFilter(This,poszFilter,dwFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumSTATURL_QueryInterface(IEnumSTATURL* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumSTATURL_AddRef(IEnumSTATURL* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumSTATURL_Release(IEnumSTATURL* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumSTATURL methods ***/ +static inline HRESULT IEnumSTATURL_Next(IEnumSTATURL* This,ULONG celt,LPSTATURL rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumSTATURL_Skip(IEnumSTATURL* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumSTATURL_Reset(IEnumSTATURL* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumSTATURL_Clone(IEnumSTATURL* This,IEnumSTATURL **ppenum) { + return This->lpVtbl->Clone(This,ppenum); +} +static inline HRESULT IEnumSTATURL_SetFilter(IEnumSTATURL* This,LPCOLESTR poszFilter,DWORD dwFlags) { + return This->lpVtbl->SetFilter(This,poszFilter,dwFlags); +} +#endif +#endif + +#endif + + +#endif /* __IEnumSTATURL_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUrlHistoryStg interface + */ +#ifndef __IUrlHistoryStg_INTERFACE_DEFINED__ +#define __IUrlHistoryStg_INTERFACE_DEFINED__ + +typedef IUrlHistoryStg *LPURLHISTORYSTG; +DEFINE_GUID(IID_IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3c374a41-bae4-11cf-bf7d-00aa006946ee") +IUrlHistoryStg : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddUrl( + LPCOLESTR pocsUrl, + LPCOLESTR pocsTitle, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteUrl( + LPCOLESTR pocsUrl, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryUrl( + LPCOLESTR pocsUrl, + DWORD dwFlags, + LPSTATURL lpSTATURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE BindToObject( + LPCOLESTR pocsUrl, + REFIID riid, + void **ppvOut) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumUrls( + IEnumSTATURL **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUrlHistoryStg, 0x3c374a41, 0xbae4, 0x11cf, 0xbf,0x7d, 0x00,0xaa,0x00,0x69,0x46,0xee) +#endif +#else +typedef struct IUrlHistoryStgVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUrlHistoryStg *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUrlHistoryStg *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUrlHistoryStg *This); + + /*** IUrlHistoryStg methods ***/ + HRESULT (STDMETHODCALLTYPE *AddUrl)( + IUrlHistoryStg *This, + LPCOLESTR pocsUrl, + LPCOLESTR pocsTitle, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *DeleteUrl)( + IUrlHistoryStg *This, + LPCOLESTR pocsUrl, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *QueryUrl)( + IUrlHistoryStg *This, + LPCOLESTR pocsUrl, + DWORD dwFlags, + LPSTATURL lpSTATURL); + + HRESULT (STDMETHODCALLTYPE *BindToObject)( + IUrlHistoryStg *This, + LPCOLESTR pocsUrl, + REFIID riid, + void **ppvOut); + + HRESULT (STDMETHODCALLTYPE *EnumUrls)( + IUrlHistoryStg *This, + IEnumSTATURL **ppEnum); + + END_INTERFACE +} IUrlHistoryStgVtbl; + +interface IUrlHistoryStg { + CONST_VTBL IUrlHistoryStgVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUrlHistoryStg_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUrlHistoryStg_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUrlHistoryStg_Release(This) (This)->lpVtbl->Release(This) +/*** IUrlHistoryStg methods ***/ +#define IUrlHistoryStg_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags) +#define IUrlHistoryStg_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags) +#define IUrlHistoryStg_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) +#define IUrlHistoryStg_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut) +#define IUrlHistoryStg_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUrlHistoryStg_QueryInterface(IUrlHistoryStg* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUrlHistoryStg_AddRef(IUrlHistoryStg* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUrlHistoryStg_Release(IUrlHistoryStg* This) { + return This->lpVtbl->Release(This); +} +/*** IUrlHistoryStg methods ***/ +static inline HRESULT IUrlHistoryStg_AddUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) { + return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags); +} +static inline HRESULT IUrlHistoryStg_DeleteUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags) { + return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags); +} +static inline HRESULT IUrlHistoryStg_QueryUrl(IUrlHistoryStg* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) { + return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL); +} +static inline HRESULT IUrlHistoryStg_BindToObject(IUrlHistoryStg* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) { + return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut); +} +static inline HRESULT IUrlHistoryStg_EnumUrls(IUrlHistoryStg* This,IEnumSTATURL **ppEnum) { + return This->lpVtbl->EnumUrls(This,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IUrlHistoryStg_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUrlHistoryStg2 interface + */ +#ifndef __IUrlHistoryStg2_INTERFACE_DEFINED__ +#define __IUrlHistoryStg2_INTERFACE_DEFINED__ + +typedef IUrlHistoryStg2 *LPURLHISTORYSTG2; +DEFINE_GUID(IID_IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("afa0dc11-c313-11d0-831a-00c04fd5ae38") +IUrlHistoryStg2 : public IUrlHistoryStg +{ + virtual HRESULT STDMETHODCALLTYPE AddUrlAndNotify( + LPCOLESTR pocsUrl, + LPCOLESTR pocsTitle, + DWORD dwFlags, + WINBOOL fWriteHistory, + IOleCommandTarget *poctNotify, + IUnknown *punkISFolder) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearHistory( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUrlHistoryStg2, 0xafa0dc11, 0xc313, 0x11d0, 0x83,0x1a, 0x00,0xc0,0x4f,0xd5,0xae,0x38) +#endif +#else +typedef struct IUrlHistoryStg2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUrlHistoryStg2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUrlHistoryStg2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUrlHistoryStg2 *This); + + /*** IUrlHistoryStg methods ***/ + HRESULT (STDMETHODCALLTYPE *AddUrl)( + IUrlHistoryStg2 *This, + LPCOLESTR pocsUrl, + LPCOLESTR pocsTitle, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *DeleteUrl)( + IUrlHistoryStg2 *This, + LPCOLESTR pocsUrl, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *QueryUrl)( + IUrlHistoryStg2 *This, + LPCOLESTR pocsUrl, + DWORD dwFlags, + LPSTATURL lpSTATURL); + + HRESULT (STDMETHODCALLTYPE *BindToObject)( + IUrlHistoryStg2 *This, + LPCOLESTR pocsUrl, + REFIID riid, + void **ppvOut); + + HRESULT (STDMETHODCALLTYPE *EnumUrls)( + IUrlHistoryStg2 *This, + IEnumSTATURL **ppEnum); + + /*** IUrlHistoryStg2 methods ***/ + HRESULT (STDMETHODCALLTYPE *AddUrlAndNotify)( + IUrlHistoryStg2 *This, + LPCOLESTR pocsUrl, + LPCOLESTR pocsTitle, + DWORD dwFlags, + WINBOOL fWriteHistory, + IOleCommandTarget *poctNotify, + IUnknown *punkISFolder); + + HRESULT (STDMETHODCALLTYPE *ClearHistory)( + IUrlHistoryStg2 *This); + + END_INTERFACE +} IUrlHistoryStg2Vtbl; + +interface IUrlHistoryStg2 { + CONST_VTBL IUrlHistoryStg2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUrlHistoryStg2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUrlHistoryStg2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUrlHistoryStg2_Release(This) (This)->lpVtbl->Release(This) +/*** IUrlHistoryStg methods ***/ +#define IUrlHistoryStg2_AddUrl(This,pocsUrl,pocsTitle,dwFlags) (This)->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags) +#define IUrlHistoryStg2_DeleteUrl(This,pocsUrl,dwFlags) (This)->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags) +#define IUrlHistoryStg2_QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) (This)->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL) +#define IUrlHistoryStg2_BindToObject(This,pocsUrl,riid,ppvOut) (This)->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut) +#define IUrlHistoryStg2_EnumUrls(This,ppEnum) (This)->lpVtbl->EnumUrls(This,ppEnum) +/*** IUrlHistoryStg2 methods ***/ +#define IUrlHistoryStg2_AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder) (This)->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder) +#define IUrlHistoryStg2_ClearHistory(This) (This)->lpVtbl->ClearHistory(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUrlHistoryStg2_QueryInterface(IUrlHistoryStg2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUrlHistoryStg2_AddRef(IUrlHistoryStg2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUrlHistoryStg2_Release(IUrlHistoryStg2* This) { + return This->lpVtbl->Release(This); +} +/*** IUrlHistoryStg methods ***/ +static inline HRESULT IUrlHistoryStg2_AddUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags) { + return This->lpVtbl->AddUrl(This,pocsUrl,pocsTitle,dwFlags); +} +static inline HRESULT IUrlHistoryStg2_DeleteUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags) { + return This->lpVtbl->DeleteUrl(This,pocsUrl,dwFlags); +} +static inline HRESULT IUrlHistoryStg2_QueryUrl(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,DWORD dwFlags,LPSTATURL lpSTATURL) { + return This->lpVtbl->QueryUrl(This,pocsUrl,dwFlags,lpSTATURL); +} +static inline HRESULT IUrlHistoryStg2_BindToObject(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,REFIID riid,void **ppvOut) { + return This->lpVtbl->BindToObject(This,pocsUrl,riid,ppvOut); +} +static inline HRESULT IUrlHistoryStg2_EnumUrls(IUrlHistoryStg2* This,IEnumSTATURL **ppEnum) { + return This->lpVtbl->EnumUrls(This,ppEnum); +} +/*** IUrlHistoryStg2 methods ***/ +static inline HRESULT IUrlHistoryStg2_AddUrlAndNotify(IUrlHistoryStg2* This,LPCOLESTR pocsUrl,LPCOLESTR pocsTitle,DWORD dwFlags,WINBOOL fWriteHistory,IOleCommandTarget *poctNotify,IUnknown *punkISFolder) { + return This->lpVtbl->AddUrlAndNotify(This,pocsUrl,pocsTitle,dwFlags,fWriteHistory,poctNotify,punkISFolder); +} +static inline HRESULT IUrlHistoryStg2_ClearHistory(IUrlHistoryStg2* This) { + return This->lpVtbl->ClearHistory(This); +} +#endif +#endif + +#endif + + +#endif /* __IUrlHistoryStg2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUrlHistoryNotify interface + */ +#ifndef __IUrlHistoryNotify_INTERFACE_DEFINED__ +#define __IUrlHistoryNotify_INTERFACE_DEFINED__ + +typedef IUrlHistoryNotify *LPURLHISTORYNOTIFY; +DEFINE_GUID(IID_IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bc40bec1-c493-11d0-831b-00c04fd5ae38") +IUrlHistoryNotify : public IOleCommandTarget +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUrlHistoryNotify, 0xbc40bec1, 0xc493, 0x11d0, 0x83,0x1b, 0x00,0xc0,0x4f,0xd5,0xae,0x38) +#endif +#else +typedef struct IUrlHistoryNotifyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUrlHistoryNotify *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUrlHistoryNotify *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUrlHistoryNotify *This); + + /*** IOleCommandTarget methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryStatus)( + IUrlHistoryNotify *This, + const GUID *pguidCmdGroup, + ULONG cCmds, + OLECMD prgCmds[], + OLECMDTEXT *pCmdText); + + HRESULT (STDMETHODCALLTYPE *Exec)( + IUrlHistoryNotify *This, + const GUID *pguidCmdGroup, + DWORD nCmdID, + DWORD nCmdexecopt, + VARIANT *pvaIn, + VARIANT *pvaOut); + + END_INTERFACE +} IUrlHistoryNotifyVtbl; + +interface IUrlHistoryNotify { + CONST_VTBL IUrlHistoryNotifyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUrlHistoryNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUrlHistoryNotify_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUrlHistoryNotify_Release(This) (This)->lpVtbl->Release(This) +/*** IOleCommandTarget methods ***/ +#define IUrlHistoryNotify_QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText) (This)->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText) +#define IUrlHistoryNotify_Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut) (This)->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUrlHistoryNotify_QueryInterface(IUrlHistoryNotify* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUrlHistoryNotify_AddRef(IUrlHistoryNotify* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUrlHistoryNotify_Release(IUrlHistoryNotify* This) { + return This->lpVtbl->Release(This); +} +/*** IOleCommandTarget methods ***/ +static inline HRESULT IUrlHistoryNotify_QueryStatus(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,ULONG cCmds,OLECMD prgCmds[],OLECMDTEXT *pCmdText) { + return This->lpVtbl->QueryStatus(This,pguidCmdGroup,cCmds,prgCmds,pCmdText); +} +static inline HRESULT IUrlHistoryNotify_Exec(IUrlHistoryNotify* This,const GUID *pguidCmdGroup,DWORD nCmdID,DWORD nCmdexecopt,VARIANT *pvaIn,VARIANT *pvaOut) { + return This->lpVtbl->Exec(This,pguidCmdGroup,nCmdID,nCmdexecopt,pvaIn,pvaOut); +} +#endif +#endif + +#endif + + +#endif /* __IUrlHistoryNotify_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __urlhist_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlmon.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlmon.h new file mode 100644 index 00000000..015c7342 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/urlmon.h @@ -0,0 +1,9495 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/urlmon.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 __urlmon_h__ +#define __urlmon_h__ + +/* Forward declarations */ + +#ifndef __IPersistMoniker_FWD_DEFINED__ +#define __IPersistMoniker_FWD_DEFINED__ +typedef interface IPersistMoniker IPersistMoniker; +#ifdef __cplusplus +interface IPersistMoniker; +#endif /* __cplusplus */ +#endif + +#ifndef __IMonikerProp_FWD_DEFINED__ +#define __IMonikerProp_FWD_DEFINED__ +typedef interface IMonikerProp IMonikerProp; +#ifdef __cplusplus +interface IMonikerProp; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindProtocol_FWD_DEFINED__ +#define __IBindProtocol_FWD_DEFINED__ +typedef interface IBindProtocol IBindProtocol; +#ifdef __cplusplus +interface IBindProtocol; +#endif /* __cplusplus */ +#endif + +#ifndef __IBinding_FWD_DEFINED__ +#define __IBinding_FWD_DEFINED__ +typedef interface IBinding IBinding; +#ifdef __cplusplus +interface IBinding; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindStatusCallback_FWD_DEFINED__ +#define __IBindStatusCallback_FWD_DEFINED__ +typedef interface IBindStatusCallback IBindStatusCallback; +#ifdef __cplusplus +interface IBindStatusCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindStatusCallbackEx_FWD_DEFINED__ +#define __IBindStatusCallbackEx_FWD_DEFINED__ +typedef interface IBindStatusCallbackEx IBindStatusCallbackEx; +#ifdef __cplusplus +interface IBindStatusCallbackEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuthenticate_FWD_DEFINED__ +#define __IAuthenticate_FWD_DEFINED__ +typedef interface IAuthenticate IAuthenticate; +#ifdef __cplusplus +interface IAuthenticate; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuthenticateEx_FWD_DEFINED__ +#define __IAuthenticateEx_FWD_DEFINED__ +typedef interface IAuthenticateEx IAuthenticateEx; +#ifdef __cplusplus +interface IAuthenticateEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate_FWD_DEFINED__ +#define __IHttpNegotiate_FWD_DEFINED__ +typedef interface IHttpNegotiate IHttpNegotiate; +#ifdef __cplusplus +interface IHttpNegotiate; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate2_FWD_DEFINED__ +#define __IHttpNegotiate2_FWD_DEFINED__ +typedef interface IHttpNegotiate2 IHttpNegotiate2; +#ifdef __cplusplus +interface IHttpNegotiate2; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate3_FWD_DEFINED__ +#define __IHttpNegotiate3_FWD_DEFINED__ +typedef interface IHttpNegotiate3 IHttpNegotiate3; +#ifdef __cplusplus +interface IHttpNegotiate3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetFileStream_FWD_DEFINED__ +#define __IWinInetFileStream_FWD_DEFINED__ +typedef interface IWinInetFileStream IWinInetFileStream; +#ifdef __cplusplus +interface IWinInetFileStream; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowForBindingUI_FWD_DEFINED__ +#define __IWindowForBindingUI_FWD_DEFINED__ +typedef interface IWindowForBindingUI IWindowForBindingUI; +#ifdef __cplusplus +interface IWindowForBindingUI; +#endif /* __cplusplus */ +#endif + +#ifndef __ICodeInstall_FWD_DEFINED__ +#define __ICodeInstall_FWD_DEFINED__ +typedef interface ICodeInstall ICodeInstall; +#ifdef __cplusplus +interface ICodeInstall; +#endif /* __cplusplus */ +#endif + +#ifndef __IUri_FWD_DEFINED__ +#define __IUri_FWD_DEFINED__ +typedef interface IUri IUri; +#ifdef __cplusplus +interface IUri; +#endif /* __cplusplus */ +#endif + +#ifndef __IUriContainer_FWD_DEFINED__ +#define __IUriContainer_FWD_DEFINED__ +typedef interface IUriContainer IUriContainer; +#ifdef __cplusplus +interface IUriContainer; +#endif /* __cplusplus */ +#endif + +#ifndef __IUriBuilder_FWD_DEFINED__ +#define __IUriBuilder_FWD_DEFINED__ +typedef interface IUriBuilder IUriBuilder; +#ifdef __cplusplus +interface IUriBuilder; +#endif /* __cplusplus */ +#endif + +#ifndef __IUriBuilderFactory_FWD_DEFINED__ +#define __IUriBuilderFactory_FWD_DEFINED__ +typedef interface IUriBuilderFactory IUriBuilderFactory; +#ifdef __cplusplus +interface IUriBuilderFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetInfo_FWD_DEFINED__ +#define __IWinInetInfo_FWD_DEFINED__ +typedef interface IWinInetInfo IWinInetInfo; +#ifdef __cplusplus +interface IWinInetInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpSecurity_FWD_DEFINED__ +#define __IHttpSecurity_FWD_DEFINED__ +typedef interface IHttpSecurity IHttpSecurity; +#ifdef __cplusplus +interface IHttpSecurity; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetHttpInfo_FWD_DEFINED__ +#define __IWinInetHttpInfo_FWD_DEFINED__ +typedef interface IWinInetHttpInfo IWinInetHttpInfo; +#ifdef __cplusplus +interface IWinInetHttpInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetHttpTimeouts_FWD_DEFINED__ +#define __IWinInetHttpTimeouts_FWD_DEFINED__ +typedef interface IWinInetHttpTimeouts IWinInetHttpTimeouts; +#ifdef __cplusplus +interface IWinInetHttpTimeouts; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetCacheHints_FWD_DEFINED__ +#define __IWinInetCacheHints_FWD_DEFINED__ +typedef interface IWinInetCacheHints IWinInetCacheHints; +#ifdef __cplusplus +interface IWinInetCacheHints; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetCacheHints2_FWD_DEFINED__ +#define __IWinInetCacheHints2_FWD_DEFINED__ +typedef interface IWinInetCacheHints2 IWinInetCacheHints2; +#ifdef __cplusplus +interface IWinInetCacheHints2; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindHost_FWD_DEFINED__ +#define __IBindHost_FWD_DEFINED__ +typedef interface IBindHost IBindHost; +#ifdef __cplusplus +interface IBindHost; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternet_FWD_DEFINED__ +#define __IInternet_FWD_DEFINED__ +typedef interface IInternet IInternet; +#ifdef __cplusplus +interface IInternet; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetBindInfo_FWD_DEFINED__ +#define __IInternetBindInfo_FWD_DEFINED__ +typedef interface IInternetBindInfo IInternetBindInfo; +#ifdef __cplusplus +interface IInternetBindInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetBindInfoEx_FWD_DEFINED__ +#define __IInternetBindInfoEx_FWD_DEFINED__ +typedef interface IInternetBindInfoEx IInternetBindInfoEx; +#ifdef __cplusplus +interface IInternetBindInfoEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolRoot_FWD_DEFINED__ +#define __IInternetProtocolRoot_FWD_DEFINED__ +typedef interface IInternetProtocolRoot IInternetProtocolRoot; +#ifdef __cplusplus +interface IInternetProtocolRoot; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocol_FWD_DEFINED__ +#define __IInternetProtocol_FWD_DEFINED__ +typedef interface IInternetProtocol IInternetProtocol; +#ifdef __cplusplus +interface IInternetProtocol; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolEx_FWD_DEFINED__ +#define __IInternetProtocolEx_FWD_DEFINED__ +typedef interface IInternetProtocolEx IInternetProtocolEx; +#ifdef __cplusplus +interface IInternetProtocolEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolSink_FWD_DEFINED__ +#define __IInternetProtocolSink_FWD_DEFINED__ +typedef interface IInternetProtocolSink IInternetProtocolSink; +#ifdef __cplusplus +interface IInternetProtocolSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__ +#define __IInternetProtocolSinkStackable_FWD_DEFINED__ +typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable; +#ifdef __cplusplus +interface IInternetProtocolSinkStackable; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSession_FWD_DEFINED__ +#define __IInternetSession_FWD_DEFINED__ +typedef interface IInternetSession IInternetSession; +#ifdef __cplusplus +interface IInternetSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetThreadSwitch_FWD_DEFINED__ +#define __IInternetThreadSwitch_FWD_DEFINED__ +typedef interface IInternetThreadSwitch IInternetThreadSwitch; +#ifdef __cplusplus +interface IInternetThreadSwitch; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetPriority_FWD_DEFINED__ +#define __IInternetPriority_FWD_DEFINED__ +typedef interface IInternetPriority IInternetPriority; +#ifdef __cplusplus +interface IInternetPriority; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolInfo_FWD_DEFINED__ +#define __IInternetProtocolInfo_FWD_DEFINED__ +typedef interface IInternetProtocolInfo IInternetProtocolInfo; +#ifdef __cplusplus +interface IInternetProtocolInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSecurityMgrSite_FWD_DEFINED__ +#define __IInternetSecurityMgrSite_FWD_DEFINED__ +typedef interface IInternetSecurityMgrSite IInternetSecurityMgrSite; +#ifdef __cplusplus +interface IInternetSecurityMgrSite; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSecurityManager_FWD_DEFINED__ +#define __IInternetSecurityManager_FWD_DEFINED__ +typedef interface IInternetSecurityManager IInternetSecurityManager; +#ifdef __cplusplus +interface IInternetSecurityManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSecurityManagerEx_FWD_DEFINED__ +#define __IInternetSecurityManagerEx_FWD_DEFINED__ +typedef interface IInternetSecurityManagerEx IInternetSecurityManagerEx; +#ifdef __cplusplus +interface IInternetSecurityManagerEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSecurityManagerEx2_FWD_DEFINED__ +#define __IInternetSecurityManagerEx2_FWD_DEFINED__ +typedef interface IInternetSecurityManagerEx2 IInternetSecurityManagerEx2; +#ifdef __cplusplus +interface IInternetSecurityManagerEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IZoneIdentifier_FWD_DEFINED__ +#define __IZoneIdentifier_FWD_DEFINED__ +typedef interface IZoneIdentifier IZoneIdentifier; +#ifdef __cplusplus +interface IZoneIdentifier; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetHostSecurityManager_FWD_DEFINED__ +#define __IInternetHostSecurityManager_FWD_DEFINED__ +typedef interface IInternetHostSecurityManager IInternetHostSecurityManager; +#ifdef __cplusplus +interface IInternetHostSecurityManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetZoneManager_FWD_DEFINED__ +#define __IInternetZoneManager_FWD_DEFINED__ +typedef interface IInternetZoneManager IInternetZoneManager; +#ifdef __cplusplus +interface IInternetZoneManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetZoneManagerEx_FWD_DEFINED__ +#define __IInternetZoneManagerEx_FWD_DEFINED__ +typedef interface IInternetZoneManagerEx IInternetZoneManagerEx; +#ifdef __cplusplus +interface IInternetZoneManagerEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetZoneManagerEx2_FWD_DEFINED__ +#define __IInternetZoneManagerEx2_FWD_DEFINED__ +typedef interface IInternetZoneManagerEx2 IInternetZoneManagerEx2; +#ifdef __cplusplus +interface IInternetZoneManagerEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __ISoftDistExt_FWD_DEFINED__ +#define __ISoftDistExt_FWD_DEFINED__ +typedef interface ISoftDistExt ISoftDistExt; +#ifdef __cplusplus +interface ISoftDistExt; +#endif /* __cplusplus */ +#endif + +#ifndef __ICatalogFileInfo_FWD_DEFINED__ +#define __ICatalogFileInfo_FWD_DEFINED__ +typedef interface ICatalogFileInfo ICatalogFileInfo; +#ifdef __cplusplus +interface ICatalogFileInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IDataFilter_FWD_DEFINED__ +#define __IDataFilter_FWD_DEFINED__ +typedef interface IDataFilter IDataFilter; +#ifdef __cplusplus +interface IDataFilter; +#endif /* __cplusplus */ +#endif + +#ifndef __IEncodingFilterFactory_FWD_DEFINED__ +#define __IEncodingFilterFactory_FWD_DEFINED__ +typedef interface IEncodingFilterFactory IEncodingFilterFactory; +#ifdef __cplusplus +interface IEncodingFilterFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IWrappedProtocol_FWD_DEFINED__ +#define __IWrappedProtocol_FWD_DEFINED__ +typedef interface IWrappedProtocol IWrappedProtocol; +#ifdef __cplusplus +interface IWrappedProtocol; +#endif /* __cplusplus */ +#endif + +#ifndef __IGetBindHandle_FWD_DEFINED__ +#define __IGetBindHandle_FWD_DEFINED__ +typedef interface IGetBindHandle IGetBindHandle; +#ifdef __cplusplus +interface IGetBindHandle; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindCallbackRedirect_FWD_DEFINED__ +#define __IBindCallbackRedirect_FWD_DEFINED__ +typedef interface IBindCallbackRedirect IBindCallbackRedirect; +#ifdef __cplusplus +interface IBindCallbackRedirect; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + + +#ifndef __IPersistMoniker_FWD_DEFINED__ +#define __IPersistMoniker_FWD_DEFINED__ +typedef interface IPersistMoniker IPersistMoniker; +#ifdef __cplusplus +interface IPersistMoniker; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindProtocol_FWD_DEFINED__ +#define __IBindProtocol_FWD_DEFINED__ +typedef interface IBindProtocol IBindProtocol; +#ifdef __cplusplus +interface IBindProtocol; +#endif /* __cplusplus */ +#endif + +#ifndef __IBinding_FWD_DEFINED__ +#define __IBinding_FWD_DEFINED__ +typedef interface IBinding IBinding; +#ifdef __cplusplus +interface IBinding; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindStatusCallback_FWD_DEFINED__ +#define __IBindStatusCallback_FWD_DEFINED__ +typedef interface IBindStatusCallback IBindStatusCallback; +#ifdef __cplusplus +interface IBindStatusCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindStatusCallbackEx_FWD_DEFINED__ +#define __IBindStatusCallbackEx_FWD_DEFINED__ +typedef interface IBindStatusCallbackEx IBindStatusCallbackEx; +#ifdef __cplusplus +interface IBindStatusCallbackEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IBindStatusCallbackMsg_FWD_DEFINED__ +#define __IBindStatusCallbackMsg_FWD_DEFINED__ +typedef interface IBindStatusCallbackMsg IBindStatusCallbackMsg; +#ifdef __cplusplus +interface IBindStatusCallbackMsg; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuthenticate_FWD_DEFINED__ +#define __IAuthenticate_FWD_DEFINED__ +typedef interface IAuthenticate IAuthenticate; +#ifdef __cplusplus +interface IAuthenticate; +#endif /* __cplusplus */ +#endif + +#ifndef __IAuthenticateEx_FWD_DEFINED__ +#define __IAuthenticateEx_FWD_DEFINED__ +typedef interface IAuthenticateEx IAuthenticateEx; +#ifdef __cplusplus +interface IAuthenticateEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowForBindingUI_FWD_DEFINED__ +#define __IWindowForBindingUI_FWD_DEFINED__ +typedef interface IWindowForBindingUI IWindowForBindingUI; +#ifdef __cplusplus +interface IWindowForBindingUI; +#endif /* __cplusplus */ +#endif + +#ifndef __ICodeInstall_FWD_DEFINED__ +#define __ICodeInstall_FWD_DEFINED__ +typedef interface ICodeInstall ICodeInstall; +#ifdef __cplusplus +interface ICodeInstall; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate_FWD_DEFINED__ +#define __IHttpNegotiate_FWD_DEFINED__ +typedef interface IHttpNegotiate IHttpNegotiate; +#ifdef __cplusplus +interface IHttpNegotiate; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate2_FWD_DEFINED__ +#define __IHttpNegotiate2_FWD_DEFINED__ +typedef interface IHttpNegotiate2 IHttpNegotiate2; +#ifdef __cplusplus +interface IHttpNegotiate2; +#endif /* __cplusplus */ +#endif + +#ifndef __IHttpNegotiate3_FWD_DEFINED__ +#define __IHttpNegotiate3_FWD_DEFINED__ +typedef interface IHttpNegotiate3 IHttpNegotiate3; +#ifdef __cplusplus +interface IHttpNegotiate3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWinInetFileStream_FWD_DEFINED__ +#define __IWinInetFileStream_FWD_DEFINED__ +typedef interface IWinInetFileStream IWinInetFileStream; +#ifdef __cplusplus +interface IWinInetFileStream; +#endif /* __cplusplus */ +#endif + +#ifndef __IXMLElement_FWD_DEFINED__ +#define __IXMLElement_FWD_DEFINED__ +typedef interface IXMLElement IXMLElement; +#ifdef __cplusplus +interface IXMLElement; +#endif /* __cplusplus */ +#endif + + +EXTERN_C const IID CLSID_SBS_StdURLMoniker; +EXTERN_C const IID CLSID_SBS_HttpProtocol; +EXTERN_C const IID CLSID_SBS_FtpProtocol; +EXTERN_C const IID CLSID_SBS_GopherProtocol; +EXTERN_C const IID CLSID_SBS_HttpSProtocol; +EXTERN_C const IID CLSID_SBS_FileProtocol; +EXTERN_C const IID CLSID_SBS_MkProtocol; +EXTERN_C const IID CLSID_SBS_UrlMkBindCtx; +EXTERN_C const IID CLSID_SBS_SoftDistExt; +EXTERN_C const IID CLSID_SBS_CdlProtocol; +EXTERN_C const IID CLSID_SBS_ClassInstallFilter; +EXTERN_C const IID CLSID_SBS_InternetSecurityManager; +EXTERN_C const IID CLSID_SBS_InternetZoneManager; + +#define BINDF_DONTUSECACHE BINDF_GETNEWESTVERSION +#define BINDF_DONTPUTINCACHE BINDF_NOWRITECACHE +#define BINDF_NOCOPYDATA BINDF_PULLDATA +#define INVALID_P_ROOT_SECURITY_ID ((BYTE*)-1) + +#define PI_DOCFILECLSIDLOOKUP PI_CLSIDLOOKUP + +EXTERN_C const IID IID_IAsyncMoniker; +EXTERN_C const IID CLSID_StdURLMoniker; +EXTERN_C const IID CLSID_HttpProtocol; +EXTERN_C const IID CLSID_FtpProtocol; +EXTERN_C const IID CLSID_GopherProtocol; +EXTERN_C const IID CLSID_HttpSProtocol; +EXTERN_C const IID CLSID_FileProtocol; +EXTERN_C const IID CLSID_MkProtocol; +EXTERN_C const IID CLSID_StdURLProtocol; +EXTERN_C const IID CLSID_UrlMkBindCtx; +EXTERN_C const IID CLSID_CdlProtocol; +EXTERN_C const IID CLSID_ClassInstallFilter; +EXTERN_C const IID IID_IAsyncBindCtx; + +#define SZ_URLCONTEXT OLESTR("URL Context") +#define SZ_ASYNC_CALLEE OLESTR("AsyncCallee") + +#define MKSYS_URLMONIKER 6 +#define URL_MK_LEGACY 0 +#define URL_MK_UNIFORM 1 +#define URL_MK_NO_CANONICALIZE 2 + +STDAPI CreateURLMoniker(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk); +STDAPI CreateURLMonikerEx(LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER *ppmk, DWORD dwFlags); +STDAPI GetClassURL(LPCWSTR szURL, CLSID *pClsID); +STDAPI CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEFetc, IBindCtx **ppBC); +#if (_WIN32_IE >= _WIN32_IE_IE70) +STDAPI CreateURLMonikerEx2(LPMONIKER pMkCtx, IUri *pUri, LPMONIKER *ppmk, DWORD dwFlags); +#endif +STDAPI CreateAsyncBindCtxEx(IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, IBindCtx **ppBC, DWORD reserved); +STDAPI MkParseDisplayNameEx(IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk); +STDAPI RegisterBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb, IBindStatusCallback **ppBSCBPrev, DWORD dwReserved); +STDAPI RevokeBindStatusCallback(LPBC pBC, IBindStatusCallback *pBSCb); +STDAPI GetClassFileOrMime(LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); +STDAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved); +STDAPI CoGetClassObjectFromURL(REFCLSID rCLASSID, LPCWSTR szCODE, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szTYPE, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, REFIID riid, LPVOID *ppv); +STDAPI IEInstallScope(LPDWORD pdwScope); +STDAPI FaultInIEFeature(HWND hWnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD dwFlags); +STDAPI GetComponentIDFromCLSSPEC(uCLSSPEC *pClassspec, LPSTR *ppszComponentID); + +#define FIEF_FLAG_FORCE_JITUI 0x1 +#define FIEF_FLAG_PEEK 0x2 +#define FIEF_FLAG_SKIP_INSTALLED_VERSION_CHECK 0x4 + +STDAPI IsAsyncMoniker(IMoniker *pmk); +STDAPI CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg); +STDAPI RegisterMediaTypes(UINT ctypes, const LPCSTR *rgszTypes, CLIPFORMAT *rgcfTypes); +STDAPI FindMediaType(LPCSTR rgszTypes, CLIPFORMAT *rgcfTypes); +STDAPI CreateFormatEnumerator(UINT cfmtetc, FORMATETC *rgfmtetc, IEnumFORMATETC **ppenumfmtetc); +STDAPI RegisterFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved); +STDAPI RevokeFormatEnumerator(LPBC pBC, IEnumFORMATETC *pEFetc); +STDAPI RegisterMediaTypeClass(LPBC pBC,UINT ctypes, const LPCSTR *rgszTypes, CLSID *rgclsID, DWORD reserved); +STDAPI FindMediaTypeClass(LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved); +STDAPI UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved); +STDAPI UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLengthOut, DWORD dwReserved); +STDAPI FindMimeFromData(LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved); + +#define FMFD_DEFAULT 0x0 +#define FMFD_URLASFILENAME 0x1 +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define FMFD_ENABLEMIMESNIFFING 0x2 +#define FMFD_IGNOREMIMETEXTPLAIN 0x4 +#endif + +#define FMFD_SERVERMIME 0x8 +#define FMFD_RESPECTTEXTPLAIN 0x10 +#define FMFD_RETURNUPDATEDIMGMIMES 0x20 +#define UAS_EXACTLEGACY 0x1000 + +STDAPI ObtainUserAgentString(DWORD dwOption, LPSTR pszUAOut, DWORD *cbSize); +STDAPI CompareSecurityIds(BYTE *pbSecurityId1, DWORD dwLen1, BYTE *pbSecurityId2, DWORD dwLen2, DWORD dwReserved); +STDAPI CompatFlagsFromClsid(CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags); + +#define URLMON_OPTION_USERAGENT 0x10000001 +#define URLMON_OPTION_USERAGENT_REFRESH 0x10000002 +#define URLMON_OPTION_URL_ENCODING 0x10000004 +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define URLMON_OPTION_USE_BINDSTRINGCREDS 0x10000008 +#endif +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define URLMON_OPTION_USE_BROWSERAPPSDOCUMENTS 0x10000010 +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define CF_NULL 0 +#define CFSTR_MIME_NULL NULL + +#define CFSTR_MIME_TEXT (TEXT("text/plain")) +#define CFSTR_MIME_RICHTEXT (TEXT("text/richtext")) +#define CFSTR_MIME_MANIFEST (TEXT("text/cache-manifest")) +#define CFSTR_MIME_WEBVTT (TEXT("text/vtt")) +#define CFSTR_MIME_X_BITMAP (TEXT("image/x-xbitmap")) +#define CFSTR_MIME_POSTSCRIPT (TEXT("application/postscript")) +#define CFSTR_MIME_AIFF (TEXT("audio/aiff")) +#define CFSTR_MIME_BASICAUDIO (TEXT("audio/basic")) +#define CFSTR_MIME_WAV (TEXT("audio/wav")) +#define CFSTR_MIME_X_WAV (TEXT("audio/x-wav")) +#define CFSTR_MIME_GIF (TEXT("image/gif")) +#define CFSTR_MIME_PJPEG (TEXT("image/pjpeg")) +#define CFSTR_MIME_JPEG (TEXT("image/jpeg")) +#define CFSTR_MIME_TIFF (TEXT("image/tiff")) +#define CFSTR_MIME_JPEG_XR (TEXT("image/vnd.ms-photo")) +#define CFSTR_MIME_PNG (TEXT("image/png")) +#define CFSTR_MIME_X_PNG (TEXT("image/x-png")) +#define CFSTR_MIME_X_ICON (TEXT("image/x-icon")) +#define CFSTR_MIME_SVG_XML (TEXT("image/svg+xml")) +#define CFSTR_MIME_BMP (TEXT("image/bmp")) +#define CFSTR_MIME_X_EMF (TEXT("image/x-emf")) +#define CFSTR_MIME_X_WMF (TEXT("image/x-wmf")) +#define CFSTR_MIME_AVI (TEXT("video/avi")) +#define CFSTR_MIME_MPEG (TEXT("video/mpeg")) +#define CFSTR_MIME_FRACTALS (TEXT("application/fractals")) +#define CFSTR_MIME_RAWDATA (TEXT("application/octet-stream")) +#define CFSTR_MIME_RAWDATASTRM (TEXT("application/octet-stream")) +#define CFSTR_MIME_PDF (TEXT("application/pdf")) +#define CFSTR_MIME_HTA (TEXT("application/hta")) +#define CFSTR_MIME_APP_XML (TEXT("application/xml")) +#define CFSTR_MIME_XHTML (TEXT("application/xhtml+xml")) +#define CFSTR_MIME_X_AIFF (TEXT("audio/x-aiff")) +#define CFSTR_MIME_X_REALAUDIO (TEXT("audio/x-pn-realaudio")) +#define CFSTR_MIME_XBM (TEXT("image/xbm")) +#define CFSTR_MIME_QUICKTIME (TEXT("video/quicktime")) +#define CFSTR_MIME_X_MSVIDEO (TEXT("video/x-msvideo")) +#define CFSTR_MIME_X_SGI_MOVIE (TEXT("video/x-sgi-movie")) +#define CFSTR_MIME_HTML (TEXT("text/html")) +#define CFSTR_MIME_XML (TEXT("text/xml")) +#define CFSTR_MIME_TTML (TEXT("application/ttml+xml")) +#define CFSTR_MIME_TTAF (TEXT("application/ttaf+xml")) + +#define MK_S_ASYNCHRONOUS _HRESULT_TYPEDEF_(0x401E8L) +#ifndef S_ASYNCHRONOUS +#define S_ASYNCHRONOUS MK_S_ASYNCHRONOUS +#endif + +#ifndef E_PENDING +#define E_PENDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x8000000a)) +#endif +#define INET_E_INVALID_URL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002)) +#define INET_E_NO_SESSION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0003)) +#define INET_E_CANNOT_CONNECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0004)) +#define INET_E_RESOURCE_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0005)) +#define INET_E_OBJECT_NOT_FOUND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0006)) +#define INET_E_DATA_NOT_AVAILABLE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0007)) +#define INET_E_DOWNLOAD_FAILURE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0008)) +#define INET_E_AUTHENTICATION_REQUIRED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0009)) +#define INET_E_NO_VALID_MEDIA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000A)) +#define INET_E_CONNECTION_TIMEOUT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000B)) +#define INET_E_INVALID_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000C)) +#define INET_E_UNKNOWN_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000D)) +#define INET_E_SECURITY_PROBLEM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000E)) +#define INET_E_CANNOT_LOAD_DATA _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C000F)) +#define INET_E_CANNOT_INSTANTIATE_OBJECT _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0010)) +#define INET_E_INVALID_CERTIFICATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0019)) +#define INET_E_REDIRECT_FAILED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014)) +#define INET_E_REDIRECT_TO_DIR _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0015)) +#define INET_E_CANNOT_LOCK_REQUEST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0016)) +#define INET_E_USE_EXTEND_BINDING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0017)) +#define INET_E_TERMINATED_BIND _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0018)) +#define INET_E_RESERVED_1 _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001A)) +#define INET_E_BLOCKED_REDIRECT_XSECURITYID _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001B)) +#define INET_E_DOMINJECTIONVALIDATION _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C001C)) +#define INET_E_ERROR_FIRST _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0002)) +#define INET_E_CODE_DOWNLOAD_DECLINED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0100)) +#define INET_E_RESULT_DISPATCHED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0200)) +#define INET_E_CANNOT_REPLACE_SFP_FILE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0300)) +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define INET_E_CODE_INSTALL_SUPPRESSED _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0400)) +#endif +#define INET_E_CODE_INSTALL_BLOCKED_BY_HASH_POLICY _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0500)) +#define INET_E_DOWNLOAD_BLOCKED_BY_INPRIVATE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0501)) +#define INET_E_CODE_INSTALL_BLOCKED_IMMERSIVE _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0502)) +#define INET_E_FORBIDFRAMING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0503)) +#define INET_E_CODE_INSTALL_BLOCKED_ARM _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0504)) +#define INET_E_BLOCKED_PLUGGABLE_PROTOCOL _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0505)) +#define INET_E_ERROR_LAST INET_E_BLOCKED_PLUGGABLE_PROTOCOL +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef _LPPERSISTMONIKER_DEFINED +#define _LPPERSISTMONIKER_DEFINED +/***************************************************************************** + * IPersistMoniker interface + */ +#ifndef __IPersistMoniker_INTERFACE_DEFINED__ +#define __IPersistMoniker_INTERFACE_DEFINED__ + +typedef IPersistMoniker *LPPERSISTMONIKER; + +DEFINE_GUID(IID_IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9c9-baf9-11ce-8c82-00aa004ba90b") +IPersistMoniker : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetClassID( + CLSID *pClassID) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsDirty( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Load( + WINBOOL fFullyAvailable, + IMoniker *pimkName, + LPBC pibc, + DWORD grfMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE Save( + IMoniker *pimkName, + LPBC pbc, + WINBOOL fRemember) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveCompleted( + IMoniker *pimkName, + LPBC pibc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurMoniker( + IMoniker **ppimkName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IPersistMoniker, 0x79eac9c9, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IPersistMonikerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IPersistMoniker *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IPersistMoniker *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IPersistMoniker *This); + + /*** IPersistMoniker methods ***/ + HRESULT (STDMETHODCALLTYPE *GetClassID)( + IPersistMoniker *This, + CLSID *pClassID); + + HRESULT (STDMETHODCALLTYPE *IsDirty)( + IPersistMoniker *This); + + HRESULT (STDMETHODCALLTYPE *Load)( + IPersistMoniker *This, + WINBOOL fFullyAvailable, + IMoniker *pimkName, + LPBC pibc, + DWORD grfMode); + + HRESULT (STDMETHODCALLTYPE *Save)( + IPersistMoniker *This, + IMoniker *pimkName, + LPBC pbc, + WINBOOL fRemember); + + HRESULT (STDMETHODCALLTYPE *SaveCompleted)( + IPersistMoniker *This, + IMoniker *pimkName, + LPBC pibc); + + HRESULT (STDMETHODCALLTYPE *GetCurMoniker)( + IPersistMoniker *This, + IMoniker **ppimkName); + + END_INTERFACE +} IPersistMonikerVtbl; + +interface IPersistMoniker { + CONST_VTBL IPersistMonikerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IPersistMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IPersistMoniker_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IPersistMoniker_Release(This) (This)->lpVtbl->Release(This) +/*** IPersistMoniker methods ***/ +#define IPersistMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +#define IPersistMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IPersistMoniker_Load(This,fFullyAvailable,pimkName,pibc,grfMode) (This)->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode) +#define IPersistMoniker_Save(This,pimkName,pbc,fRemember) (This)->lpVtbl->Save(This,pimkName,pbc,fRemember) +#define IPersistMoniker_SaveCompleted(This,pimkName,pibc) (This)->lpVtbl->SaveCompleted(This,pimkName,pibc) +#define IPersistMoniker_GetCurMoniker(This,ppimkName) (This)->lpVtbl->GetCurMoniker(This,ppimkName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IPersistMoniker_QueryInterface(IPersistMoniker* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IPersistMoniker_AddRef(IPersistMoniker* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IPersistMoniker_Release(IPersistMoniker* This) { + return This->lpVtbl->Release(This); +} +/*** IPersistMoniker methods ***/ +static inline HRESULT IPersistMoniker_GetClassID(IPersistMoniker* This,CLSID *pClassID) { + return This->lpVtbl->GetClassID(This,pClassID); +} +static inline HRESULT IPersistMoniker_IsDirty(IPersistMoniker* This) { + return This->lpVtbl->IsDirty(This); +} +static inline HRESULT IPersistMoniker_Load(IPersistMoniker* This,WINBOOL fFullyAvailable,IMoniker *pimkName,LPBC pibc,DWORD grfMode) { + return This->lpVtbl->Load(This,fFullyAvailable,pimkName,pibc,grfMode); +} +static inline HRESULT IPersistMoniker_Save(IPersistMoniker* This,IMoniker *pimkName,LPBC pbc,WINBOOL fRemember) { + return This->lpVtbl->Save(This,pimkName,pbc,fRemember); +} +static inline HRESULT IPersistMoniker_SaveCompleted(IPersistMoniker* This,IMoniker *pimkName,LPBC pibc) { + return This->lpVtbl->SaveCompleted(This,pimkName,pibc); +} +static inline HRESULT IPersistMoniker_GetCurMoniker(IPersistMoniker* This,IMoniker **ppimkName) { + return This->lpVtbl->GetCurMoniker(This,ppimkName); +} +#endif +#endif + +#endif + + +#endif /* __IPersistMoniker_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPMONIKERPROP_DEFINED +#define _LPMONIKERPROP_DEFINED +/***************************************************************************** + * IMonikerProp interface + */ +#ifndef __IMonikerProp_INTERFACE_DEFINED__ +#define __IMonikerProp_INTERFACE_DEFINED__ + +typedef IMonikerProp *LPMONIKERPROP; + +typedef enum __WIDL_urlmon_generated_name_0000000F { + MIMETYPEPROP = 0x0, + USE_SRC_URL = 0x1, + CLASSIDPROP = 0x2, + TRUSTEDDOWNLOADPROP = 0x3, + POPUPLEVELPROP = 0x4 +} MONIKERPROPERTY; + +DEFINE_GUID(IID_IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a5ca5f7f-1847-4d87-9c5b-918509f7511d") +IMonikerProp : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE PutProperty( + MONIKERPROPERTY mkp, + LPCWSTR val) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMonikerProp, 0xa5ca5f7f, 0x1847, 0x4d87, 0x9c,0x5b, 0x91,0x85,0x09,0xf7,0x51,0x1d) +#endif +#else +typedef struct IMonikerPropVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMonikerProp *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMonikerProp *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMonikerProp *This); + + /*** IMonikerProp methods ***/ + HRESULT (STDMETHODCALLTYPE *PutProperty)( + IMonikerProp *This, + MONIKERPROPERTY mkp, + LPCWSTR val); + + END_INTERFACE +} IMonikerPropVtbl; + +interface IMonikerProp { + CONST_VTBL IMonikerPropVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMonikerProp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMonikerProp_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMonikerProp_Release(This) (This)->lpVtbl->Release(This) +/*** IMonikerProp methods ***/ +#define IMonikerProp_PutProperty(This,mkp,val) (This)->lpVtbl->PutProperty(This,mkp,val) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMonikerProp_QueryInterface(IMonikerProp* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMonikerProp_AddRef(IMonikerProp* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMonikerProp_Release(IMonikerProp* This) { + return This->lpVtbl->Release(This); +} +/*** IMonikerProp methods ***/ +static inline HRESULT IMonikerProp_PutProperty(IMonikerProp* This,MONIKERPROPERTY mkp,LPCWSTR val) { + return This->lpVtbl->PutProperty(This,mkp,val); +} +#endif +#endif + +#endif + + +#endif /* __IMonikerProp_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPBINDPROTOCOL_DEFINED +#define _LPBINDPROTOCOL_DEFINED + +/***************************************************************************** + * IBindProtocol interface + */ +#ifndef __IBindProtocol_INTERFACE_DEFINED__ +#define __IBindProtocol_INTERFACE_DEFINED__ + +typedef IBindProtocol *LPBINDPROTOCOL; + +DEFINE_GUID(IID_IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9cd-baf9-11ce-8c82-00aa004ba90b") +IBindProtocol : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateBinding( + LPCWSTR szUrl, + IBindCtx *pbc, + IBinding **ppb) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBindProtocol, 0x79eac9cd, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IBindProtocolVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBindProtocol *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBindProtocol *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBindProtocol *This); + + /*** IBindProtocol methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateBinding)( + IBindProtocol *This, + LPCWSTR szUrl, + IBindCtx *pbc, + IBinding **ppb); + + END_INTERFACE +} IBindProtocolVtbl; + +interface IBindProtocol { + CONST_VTBL IBindProtocolVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBindProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBindProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindProtocol_Release(This) (This)->lpVtbl->Release(This) +/*** IBindProtocol methods ***/ +#define IBindProtocol_CreateBinding(This,szUrl,pbc,ppb) (This)->lpVtbl->CreateBinding(This,szUrl,pbc,ppb) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBindProtocol_QueryInterface(IBindProtocol* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBindProtocol_AddRef(IBindProtocol* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBindProtocol_Release(IBindProtocol* This) { + return This->lpVtbl->Release(This); +} +/*** IBindProtocol methods ***/ +static inline HRESULT IBindProtocol_CreateBinding(IBindProtocol* This,LPCWSTR szUrl,IBindCtx *pbc,IBinding **ppb) { + return This->lpVtbl->CreateBinding(This,szUrl,pbc,ppb); +} +#endif +#endif + +#endif + + +#endif /* __IBindProtocol_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPBINDING_DEFINED +#define _LPBINDING_DEFINED + +/***************************************************************************** + * IBinding interface + */ +#ifndef __IBinding_INTERFACE_DEFINED__ +#define __IBinding_INTERFACE_DEFINED__ + +typedef IBinding *LPBINDING; + +DEFINE_GUID(IID_IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9c0-baf9-11ce-8c82-00aa004ba90b") +IBinding : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Abort( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Suspend( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPriority( + LONG nPriority) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPriority( + LONG *pnPriority) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBindResult( + CLSID *pclsidProtocol, + DWORD *pdwResult, + LPOLESTR *pszResult, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBinding, 0x79eac9c0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IBindingVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBinding *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBinding *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBinding *This); + + /*** IBinding methods ***/ + HRESULT (STDMETHODCALLTYPE *Abort)( + IBinding *This); + + HRESULT (STDMETHODCALLTYPE *Suspend)( + IBinding *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IBinding *This); + + HRESULT (STDMETHODCALLTYPE *SetPriority)( + IBinding *This, + LONG nPriority); + + HRESULT (STDMETHODCALLTYPE *GetPriority)( + IBinding *This, + LONG *pnPriority); + + HRESULT (STDMETHODCALLTYPE *GetBindResult)( + IBinding *This, + CLSID *pclsidProtocol, + DWORD *pdwResult, + LPOLESTR *pszResult, + DWORD *pdwReserved); + + END_INTERFACE +} IBindingVtbl; + +interface IBinding { + CONST_VTBL IBindingVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBinding_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBinding_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBinding_Release(This) (This)->lpVtbl->Release(This) +/*** IBinding methods ***/ +#define IBinding_Abort(This) (This)->lpVtbl->Abort(This) +#define IBinding_Suspend(This) (This)->lpVtbl->Suspend(This) +#define IBinding_Resume(This) (This)->lpVtbl->Resume(This) +#define IBinding_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority) +#define IBinding_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) +#define IBinding_GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) (This)->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBinding_QueryInterface(IBinding* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBinding_AddRef(IBinding* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBinding_Release(IBinding* This) { + return This->lpVtbl->Release(This); +} +/*** IBinding methods ***/ +static inline HRESULT IBinding_Abort(IBinding* This) { + return This->lpVtbl->Abort(This); +} +static inline HRESULT IBinding_Suspend(IBinding* This) { + return This->lpVtbl->Suspend(This); +} +static inline HRESULT IBinding_Resume(IBinding* This) { + return This->lpVtbl->Resume(This); +} +static inline HRESULT IBinding_SetPriority(IBinding* This,LONG nPriority) { + return This->lpVtbl->SetPriority(This,nPriority); +} +static inline HRESULT IBinding_GetPriority(IBinding* This,LONG *pnPriority) { + return This->lpVtbl->GetPriority(This,pnPriority); +} +static inline HRESULT IBinding_GetBindResult(IBinding* This,CLSID *pclsidProtocol,DWORD *pdwResult,LPOLESTR *pszResult,DWORD *pdwReserved) { + return This->lpVtbl->GetBindResult(This,pclsidProtocol,pdwResult,pszResult,pdwReserved); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IBinding_RemoteGetBindResult_Proxy( + IBinding* This, + CLSID *pclsidProtocol, + DWORD *pdwResult, + LPOLESTR *pszResult, + DWORD dwReserved); +void __RPC_STUB IBinding_RemoteGetBindResult_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IBinding_GetBindResult_Proxy( + IBinding* This, + CLSID *pclsidProtocol, + DWORD *pdwResult, + LPOLESTR *pszResult, + DWORD *pdwReserved); +HRESULT __RPC_STUB IBinding_GetBindResult_Stub( + IBinding* This, + CLSID *pclsidProtocol, + DWORD *pdwResult, + LPOLESTR *pszResult, + DWORD dwReserved); + +#endif /* __IBinding_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#ifndef _LPBINDSTATUSCALLBACK_DEFINED +#define _LPBINDSTATUSCALLBACK_DEFINED + +/***************************************************************************** + * IBindStatusCallback interface + */ +#ifndef __IBindStatusCallback_INTERFACE_DEFINED__ +#define __IBindStatusCallback_INTERFACE_DEFINED__ + +typedef IBindStatusCallback *LPBINDSTATUSCALLBACK; + +typedef enum __WIDL_urlmon_generated_name_00000010 { + BINDVERB_GET = 0x0, + BINDVERB_POST = 0x1, + BINDVERB_PUT = 0x2, + BINDVERB_CUSTOM = 0x3, + BINDVERB_RESERVED1 = 0x4 +} BINDVERB; + +typedef enum __WIDL_urlmon_generated_name_00000011 { + BINDINFOF_URLENCODESTGMEDDATA = 0x1, + BINDINFOF_URLENCODEDEXTRAINFO = 0x2 +} BINDINFOF; + +typedef enum __WIDL_urlmon_generated_name_00000012 { + BINDF_ASYNCHRONOUS = 0x1, + BINDF_ASYNCSTORAGE = 0x2, + BINDF_NOPROGRESSIVERENDERING = 0x4, + BINDF_OFFLINEOPERATION = 0x8, + BINDF_GETNEWESTVERSION = 0x10, + BINDF_NOWRITECACHE = 0x20, + BINDF_NEEDFILE = 0x40, + BINDF_PULLDATA = 0x80, + BINDF_IGNORESECURITYPROBLEM = 0x100, + BINDF_RESYNCHRONIZE = 0x200, + BINDF_HYPERLINK = 0x400, + BINDF_NO_UI = 0x800, + BINDF_SILENTOPERATION = 0x1000, + BINDF_PRAGMA_NO_CACHE = 0x2000, + BINDF_GETCLASSOBJECT = 0x4000, + BINDF_RESERVED_1 = 0x8000, + BINDF_FREE_THREADED = 0x10000, + BINDF_DIRECT_READ = 0x20000, + BINDF_FORMS_SUBMIT = 0x40000, + BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000, + BINDF_FROMURLMON = 0x100000, + BINDF_FWD_BACK = 0x200000, + BINDF_PREFERDEFAULTHANDLER = 0x400000, + BINDF_ENFORCERESTRICTED = 0x800000, + BINDF_RESERVED_2 = 0x80000000, + BINDF_RESERVED_3 = 0x1000000, + BINDF_RESERVED_4 = 0x2000000, + BINDF_RESERVED_5 = 0x4000000, + BINDF_RESERVED_6 = 0x8000000, + BINDF_RESERVED_7 = 0x40000000, + BINDF_RESERVED_8 = 0x20000000 +} BINDF; + +typedef enum __WIDL_urlmon_generated_name_00000013 { + URL_ENCODING_NONE = 0x0, + URL_ENCODING_ENABLE_UTF8 = 0x10000000, + URL_ENCODING_DISABLE_UTF8 = 0x20000000 +} URL_ENCODING; + +typedef struct _tagBINDINFO { + ULONG cbSize; + LPWSTR szExtraInfo; + STGMEDIUM stgmedData; + DWORD grfBindInfoF; + DWORD dwBindVerb; + LPWSTR szCustomVerb; + DWORD cbstgmedData; + DWORD dwOptions; + DWORD dwOptionsFlags; + DWORD dwCodePage; + SECURITY_ATTRIBUTES securityAttributes; + IID iid; + IUnknown *pUnk; + DWORD dwReserved; +} BINDINFO; + +typedef struct _REMSECURITY_ATTRIBUTES { + DWORD nLength; + DWORD lpSecurityDescriptor; + WINBOOL bInheritHandle; +} REMSECURITY_ATTRIBUTES; +typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES; +typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES; + +typedef struct _tagRemBINDINFO { + ULONG cbSize; + LPWSTR szExtraInfo; + DWORD grfBindInfoF; + DWORD dwBindVerb; + LPWSTR szCustomVerb; + DWORD cbstgmedData; + DWORD dwOptions; + DWORD dwOptionsFlags; + DWORD dwCodePage; + REMSECURITY_ATTRIBUTES securityAttributes; + IID iid; + IUnknown *pUnk; + DWORD dwReserved; +} RemBINDINFO; + +typedef struct tagRemFORMATETC { + DWORD cfFormat; + DWORD ptd; + DWORD dwAspect; + LONG lindex; + DWORD tymed; +} RemFORMATETC; +typedef struct tagRemFORMATETC *LPREMFORMATETC; + +typedef enum __WIDL_urlmon_generated_name_00000014 { + BINDINFO_OPTIONS_WININETFLAG = 0x10000, + BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000, + BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000, + BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000, + BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000, + BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000, + BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000, + BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000, + BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000, + BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x2000000, + BINDINFO_WPC_DOWNLOADBLOCKED = 0x8000000, + BINDINFO_WPC_LOGGING_ENABLED = 0x10000000, + BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000, + BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000, + BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = (int)0x80000000 +} BINDINFO_OPTIONS; + +typedef enum __WIDL_urlmon_generated_name_00000015 { + BSCF_FIRSTDATANOTIFICATION = 0x1, + BSCF_INTERMEDIATEDATANOTIFICATION = 0x2, + BSCF_LASTDATANOTIFICATION = 0x4, + BSCF_DATAFULLYAVAILABLE = 0x8, + BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10, + BSCF_SKIPDRAINDATAFORFILEURLS = 0x20, + BSCF_64BITLENGTHDOWNLOAD = 0x40 +} BSCF; + +typedef enum tagBINDSTATUS { + BINDSTATUS_FINDINGRESOURCE = 1, + BINDSTATUS_CONNECTING = 2, + BINDSTATUS_REDIRECTING = 3, + BINDSTATUS_BEGINDOWNLOADDATA = 4, + BINDSTATUS_DOWNLOADINGDATA = 5, + BINDSTATUS_ENDDOWNLOADDATA = 6, + BINDSTATUS_BEGINDOWNLOADCOMPONENTS = 7, + BINDSTATUS_INSTALLINGCOMPONENTS = 8, + BINDSTATUS_ENDDOWNLOADCOMPONENTS = 9, + BINDSTATUS_USINGCACHEDCOPY = 10, + BINDSTATUS_SENDINGREQUEST = 11, + BINDSTATUS_CLASSIDAVAILABLE = 12, + BINDSTATUS_MIMETYPEAVAILABLE = 13, + BINDSTATUS_CACHEFILENAMEAVAILABLE = 14, + BINDSTATUS_BEGINSYNCOPERATION = 15, + BINDSTATUS_ENDSYNCOPERATION = 16, + BINDSTATUS_BEGINUPLOADDATA = 17, + BINDSTATUS_UPLOADINGDATA = 18, + BINDSTATUS_ENDUPLOADDATA = 19, + BINDSTATUS_PROTOCOLCLASSID = 20, + BINDSTATUS_ENCODING = 21, + BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = 22, + BINDSTATUS_CLASSINSTALLLOCATION = 23, + BINDSTATUS_DECODING = 24, + BINDSTATUS_LOADINGMIMEHANDLER = 25, + BINDSTATUS_CONTENTDISPOSITIONATTACH = 26, + BINDSTATUS_FILTERREPORTMIMETYPE = 27, + BINDSTATUS_CLSIDCANINSTANTIATE = 28, + BINDSTATUS_IUNKNOWNAVAILABLE = 29, + BINDSTATUS_DIRECTBIND = 30, + BINDSTATUS_RAWMIMETYPE = 31, + BINDSTATUS_PROXYDETECTING = 32, + BINDSTATUS_ACCEPTRANGES = 33, + BINDSTATUS_COOKIE_SENT = 34, + BINDSTATUS_COMPACT_POLICY_RECEIVED = 35, + BINDSTATUS_COOKIE_SUPPRESSED = 36, + BINDSTATUS_COOKIE_STATE_UNKNOWN = 37, + BINDSTATUS_COOKIE_STATE_ACCEPT = 38, + BINDSTATUS_COOKIE_STATE_REJECT = 39, + BINDSTATUS_COOKIE_STATE_PROMPT = 40, + BINDSTATUS_COOKIE_STATE_LEASH = 41, + BINDSTATUS_COOKIE_STATE_DOWNGRADE = 42, + BINDSTATUS_POLICY_HREF = 43, + BINDSTATUS_P3P_HEADER = 44, + BINDSTATUS_SESSION_COOKIE_RECEIVED = 45, + BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = 46, + BINDSTATUS_SESSION_COOKIES_ALLOWED = 47, + BINDSTATUS_CACHECONTROL = 48, + BINDSTATUS_CONTENTDISPOSITIONFILENAME = 49, + BINDSTATUS_MIMETEXTPLAINMISMATCH = 50, + BINDSTATUS_PUBLISHERAVAILABLE = 51, + BINDSTATUS_DISPLAYNAMEAVAILABLE = 52, + BINDSTATUS_SSLUX_NAVBLOCKED = 53, + BINDSTATUS_SERVER_MIMETYPEAVAILABLE = 54, + BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = 55, + BINDSTATUS_64BIT_PROGRESS = 56, + BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS, + BINDSTATUS_RESERVED_0 = 57, + BINDSTATUS_RESERVED_1 = 58, + BINDSTATUS_RESERVED_2 = 59, + BINDSTATUS_RESERVED_3 = 60, + BINDSTATUS_RESERVED_4 = 61, + BINDSTATUS_RESERVED_5 = 62, + BINDSTATUS_RESERVED_6 = 63, + BINDSTATUS_RESERVED_7 = 64, + BINDSTATUS_RESERVED_8 = 65, + BINDSTATUS_RESERVED_9 = 66, + BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_9 +} BINDSTATUS; + +DEFINE_GUID(IID_IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9c1-baf9-11ce-8c82-00aa004ba90b") +IBindStatusCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnStartBinding( + DWORD dwReserved, + IBinding *pib) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPriority( + LONG *pnPriority) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLowResource( + DWORD reserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnProgress( + ULONG ulProgress, + ULONG ulProgressMax, + ULONG ulStatusCode, + LPCWSTR szStatusText) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStopBinding( + HRESULT hresult, + LPCWSTR szError) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBindInfo( + DWORD *grfBINDF, + BINDINFO *pbindinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnDataAvailable( + DWORD grfBSCF, + DWORD dwSize, + FORMATETC *pformatetc, + STGMEDIUM *pstgmed) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnObjectAvailable( + REFIID riid, + IUnknown *punk) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBindStatusCallback, 0x79eac9c1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IBindStatusCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBindStatusCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBindStatusCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBindStatusCallback *This); + + /*** IBindStatusCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStartBinding)( + IBindStatusCallback *This, + DWORD dwReserved, + IBinding *pib); + + HRESULT (STDMETHODCALLTYPE *GetPriority)( + IBindStatusCallback *This, + LONG *pnPriority); + + HRESULT (STDMETHODCALLTYPE *OnLowResource)( + IBindStatusCallback *This, + DWORD reserved); + + HRESULT (STDMETHODCALLTYPE *OnProgress)( + IBindStatusCallback *This, + ULONG ulProgress, + ULONG ulProgressMax, + ULONG ulStatusCode, + LPCWSTR szStatusText); + + HRESULT (STDMETHODCALLTYPE *OnStopBinding)( + IBindStatusCallback *This, + HRESULT hresult, + LPCWSTR szError); + + HRESULT (STDMETHODCALLTYPE *GetBindInfo)( + IBindStatusCallback *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo); + + HRESULT (STDMETHODCALLTYPE *OnDataAvailable)( + IBindStatusCallback *This, + DWORD grfBSCF, + DWORD dwSize, + FORMATETC *pformatetc, + STGMEDIUM *pstgmed); + + HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)( + IBindStatusCallback *This, + REFIID riid, + IUnknown *punk); + + END_INTERFACE +} IBindStatusCallbackVtbl; + +interface IBindStatusCallback { + CONST_VTBL IBindStatusCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBindStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBindStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindStatusCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IBindStatusCallback methods ***/ +#define IBindStatusCallback_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib) +#define IBindStatusCallback_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) +#define IBindStatusCallback_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved) +#define IBindStatusCallback_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) +#define IBindStatusCallback_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError) +#define IBindStatusCallback_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) +#define IBindStatusCallback_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) +#define IBindStatusCallback_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBindStatusCallback_QueryInterface(IBindStatusCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBindStatusCallback_AddRef(IBindStatusCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBindStatusCallback_Release(IBindStatusCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IBindStatusCallback methods ***/ +static inline HRESULT IBindStatusCallback_OnStartBinding(IBindStatusCallback* This,DWORD dwReserved,IBinding *pib) { + return This->lpVtbl->OnStartBinding(This,dwReserved,pib); +} +static inline HRESULT IBindStatusCallback_GetPriority(IBindStatusCallback* This,LONG *pnPriority) { + return This->lpVtbl->GetPriority(This,pnPriority); +} +static inline HRESULT IBindStatusCallback_OnLowResource(IBindStatusCallback* This,DWORD reserved) { + return This->lpVtbl->OnLowResource(This,reserved); +} +static inline HRESULT IBindStatusCallback_OnProgress(IBindStatusCallback* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) { + return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText); +} +static inline HRESULT IBindStatusCallback_OnStopBinding(IBindStatusCallback* This,HRESULT hresult,LPCWSTR szError) { + return This->lpVtbl->OnStopBinding(This,hresult,szError); +} +static inline HRESULT IBindStatusCallback_GetBindInfo(IBindStatusCallback* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { + return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); +} +static inline HRESULT IBindStatusCallback_OnDataAvailable(IBindStatusCallback* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) { + return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed); +} +static inline HRESULT IBindStatusCallback_OnObjectAvailable(IBindStatusCallback* This,REFIID riid,IUnknown *punk) { + return This->lpVtbl->OnObjectAvailable(This,riid,punk); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteGetBindInfo_Proxy( + IBindStatusCallback* This, + DWORD *grfBINDF, + RemBINDINFO *pbindinfo, + RemSTGMEDIUM *pstgmed); +void __RPC_STUB IBindStatusCallback_RemoteGetBindInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IBindStatusCallback_RemoteOnDataAvailable_Proxy( + IBindStatusCallback* This, + DWORD grfBSCF, + DWORD dwSize, + RemFORMATETC *pformatetc, + RemSTGMEDIUM *pstgmed); +void __RPC_STUB IBindStatusCallback_RemoteOnDataAvailable_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IBindStatusCallback_GetBindInfo_Proxy( + IBindStatusCallback* This, + DWORD *grfBINDF, + BINDINFO *pbindinfo); +HRESULT __RPC_STUB IBindStatusCallback_GetBindInfo_Stub( + IBindStatusCallback* This, + DWORD *grfBINDF, + RemBINDINFO *pbindinfo, + RemSTGMEDIUM *pstgmed); +HRESULT CALLBACK IBindStatusCallback_OnDataAvailable_Proxy( + IBindStatusCallback* This, + DWORD grfBSCF, + DWORD dwSize, + FORMATETC *pformatetc, + STGMEDIUM *pstgmed); +HRESULT __RPC_STUB IBindStatusCallback_OnDataAvailable_Stub( + IBindStatusCallback* This, + DWORD grfBSCF, + DWORD dwSize, + RemFORMATETC *pformatetc, + RemSTGMEDIUM *pstgmed); + +#endif /* __IBindStatusCallback_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef _LPBINDSTATUSCALLBACKEX_DEFINED +#define _LPBINDSTATUSCALLBACKEX_DEFINED + +/***************************************************************************** + * IBindStatusCallbackEx interface + */ +#ifndef __IBindStatusCallbackEx_INTERFACE_DEFINED__ +#define __IBindStatusCallbackEx_INTERFACE_DEFINED__ + +typedef IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX; + +typedef enum __WIDL_urlmon_generated_name_00000016 { + BINDF2_DISABLEBASICOVERHTTP = 0x1, + BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x2, + BINDF2_READ_DATA_GREATER_THAN_4GB = 0x4, + BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x8, + BINDF2_SETDOWNLOADMODE = 0x20, + BINDF2_DISABLE_HTTP_REDIRECT_CACHING = 0x40, + BINDF2_KEEP_CALLBACK_MODULE_LOADED = 0x80, + BINDF2_ALLOW_PROXY_CRED_PROMPT = 0x100, + BINDF2_RESERVED_F = 0x20000, + BINDF2_RESERVED_E = 0x40000, + BINDF2_RESERVED_D = 0x80000, + BINDF2_RESERVED_C = 0x100000, + BINDF2_RESERVED_B = 0x200000, + BINDF2_RESERVED_A = 0x400000, + BINDF2_RESERVED_9 = 0x800000, + BINDF2_RESERVED_8 = 0x1000000, + BINDF2_RESERVED_7 = 0x2000000, + BINDF2_RESERVED_6 = 0x4000000, + BINDF2_RESERVED_5 = 0x8000000, + BINDF2_RESERVED_4 = 0x10000000, + BINDF2_RESERVED_3 = 0x20000000, + BINDF2_RESERVED_2 = 0x40000000, + BINDF2_RESERVED_1 = 0x80000000 +} BINDF2; + +DEFINE_GUID(IID_IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aaa74ef9-8ee7-4659-88d9-f8c504da73cc") +IBindStatusCallbackEx : public IBindStatusCallback +{ + virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx( + DWORD *grfBINDF, + BINDINFO *pbindinfo, + DWORD *grfBINDF2, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBindStatusCallbackEx, 0xaaa74ef9, 0x8ee7, 0x4659, 0x88,0xd9, 0xf8,0xc5,0x04,0xda,0x73,0xcc) +#endif +#else +typedef struct IBindStatusCallbackExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBindStatusCallbackEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBindStatusCallbackEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBindStatusCallbackEx *This); + + /*** IBindStatusCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStartBinding)( + IBindStatusCallbackEx *This, + DWORD dwReserved, + IBinding *pib); + + HRESULT (STDMETHODCALLTYPE *GetPriority)( + IBindStatusCallbackEx *This, + LONG *pnPriority); + + HRESULT (STDMETHODCALLTYPE *OnLowResource)( + IBindStatusCallbackEx *This, + DWORD reserved); + + HRESULT (STDMETHODCALLTYPE *OnProgress)( + IBindStatusCallbackEx *This, + ULONG ulProgress, + ULONG ulProgressMax, + ULONG ulStatusCode, + LPCWSTR szStatusText); + + HRESULT (STDMETHODCALLTYPE *OnStopBinding)( + IBindStatusCallbackEx *This, + HRESULT hresult, + LPCWSTR szError); + + HRESULT (STDMETHODCALLTYPE *GetBindInfo)( + IBindStatusCallbackEx *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo); + + HRESULT (STDMETHODCALLTYPE *OnDataAvailable)( + IBindStatusCallbackEx *This, + DWORD grfBSCF, + DWORD dwSize, + FORMATETC *pformatetc, + STGMEDIUM *pstgmed); + + HRESULT (STDMETHODCALLTYPE *OnObjectAvailable)( + IBindStatusCallbackEx *This, + REFIID riid, + IUnknown *punk); + + /*** IBindStatusCallbackEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)( + IBindStatusCallbackEx *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo, + DWORD *grfBINDF2, + DWORD *pdwReserved); + + END_INTERFACE +} IBindStatusCallbackExVtbl; + +interface IBindStatusCallbackEx { + CONST_VTBL IBindStatusCallbackExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBindStatusCallbackEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBindStatusCallbackEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindStatusCallbackEx_Release(This) (This)->lpVtbl->Release(This) +/*** IBindStatusCallback methods ***/ +#define IBindStatusCallbackEx_OnStartBinding(This,dwReserved,pib) (This)->lpVtbl->OnStartBinding(This,dwReserved,pib) +#define IBindStatusCallbackEx_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) +#define IBindStatusCallbackEx_OnLowResource(This,reserved) (This)->lpVtbl->OnLowResource(This,reserved) +#define IBindStatusCallbackEx_OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) (This)->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText) +#define IBindStatusCallbackEx_OnStopBinding(This,hresult,szError) (This)->lpVtbl->OnStopBinding(This,hresult,szError) +#define IBindStatusCallbackEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) +#define IBindStatusCallbackEx_OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) (This)->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed) +#define IBindStatusCallbackEx_OnObjectAvailable(This,riid,punk) (This)->lpVtbl->OnObjectAvailable(This,riid,punk) +/*** IBindStatusCallbackEx methods ***/ +#define IBindStatusCallbackEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBindStatusCallbackEx_QueryInterface(IBindStatusCallbackEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBindStatusCallbackEx_AddRef(IBindStatusCallbackEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBindStatusCallbackEx_Release(IBindStatusCallbackEx* This) { + return This->lpVtbl->Release(This); +} +/*** IBindStatusCallback methods ***/ +static inline HRESULT IBindStatusCallbackEx_OnStartBinding(IBindStatusCallbackEx* This,DWORD dwReserved,IBinding *pib) { + return This->lpVtbl->OnStartBinding(This,dwReserved,pib); +} +static inline HRESULT IBindStatusCallbackEx_GetPriority(IBindStatusCallbackEx* This,LONG *pnPriority) { + return This->lpVtbl->GetPriority(This,pnPriority); +} +static inline HRESULT IBindStatusCallbackEx_OnLowResource(IBindStatusCallbackEx* This,DWORD reserved) { + return This->lpVtbl->OnLowResource(This,reserved); +} +static inline HRESULT IBindStatusCallbackEx_OnProgress(IBindStatusCallbackEx* This,ULONG ulProgress,ULONG ulProgressMax,ULONG ulStatusCode,LPCWSTR szStatusText) { + return This->lpVtbl->OnProgress(This,ulProgress,ulProgressMax,ulStatusCode,szStatusText); +} +static inline HRESULT IBindStatusCallbackEx_OnStopBinding(IBindStatusCallbackEx* This,HRESULT hresult,LPCWSTR szError) { + return This->lpVtbl->OnStopBinding(This,hresult,szError); +} +static inline HRESULT IBindStatusCallbackEx_GetBindInfo(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { + return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); +} +static inline HRESULT IBindStatusCallbackEx_OnDataAvailable(IBindStatusCallbackEx* This,DWORD grfBSCF,DWORD dwSize,FORMATETC *pformatetc,STGMEDIUM *pstgmed) { + return This->lpVtbl->OnDataAvailable(This,grfBSCF,dwSize,pformatetc,pstgmed); +} +static inline HRESULT IBindStatusCallbackEx_OnObjectAvailable(IBindStatusCallbackEx* This,REFIID riid,IUnknown *punk) { + return This->lpVtbl->OnObjectAvailable(This,riid,punk); +} +/*** IBindStatusCallbackEx methods ***/ +static inline HRESULT IBindStatusCallbackEx_GetBindInfoEx(IBindStatusCallbackEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) { + return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy( + IBindStatusCallbackEx* This, + DWORD *grfBINDF, + RemBINDINFO *pbindinfo, + RemSTGMEDIUM *pstgmed, + DWORD *grfBINDF2, + DWORD *pdwReserved); +void __RPC_STUB IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IBindStatusCallbackEx_GetBindInfoEx_Proxy( + IBindStatusCallbackEx* This, + DWORD *grfBINDF, + BINDINFO *pbindinfo, + DWORD *grfBINDF2, + DWORD *pdwReserved); +HRESULT __RPC_STUB IBindStatusCallbackEx_GetBindInfoEx_Stub( + IBindStatusCallbackEx* This, + DWORD *grfBINDF, + RemBINDINFO *pbindinfo, + RemSTGMEDIUM *pstgmed, + DWORD *grfBINDF2, + DWORD *pdwReserved); + +#endif /* __IBindStatusCallbackEx_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPAUTHENTICATION_DEFINED +#define _LPAUTHENTICATION_DEFINED + +/***************************************************************************** + * IAuthenticate interface + */ +#ifndef __IAuthenticate_INTERFACE_DEFINED__ +#define __IAuthenticate_INTERFACE_DEFINED__ + +typedef IAuthenticate *LPAUTHENTICATION; + +DEFINE_GUID(IID_IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d0-baf9-11ce-8c82-00aa004ba90b") +IAuthenticate : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Authenticate( + HWND *phwnd, + LPWSTR *pszUsername, + LPWSTR *pszPassword) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAuthenticate, 0x79eac9d0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IAuthenticateVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAuthenticate *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAuthenticate *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAuthenticate *This); + + /*** IAuthenticate methods ***/ + HRESULT (STDMETHODCALLTYPE *Authenticate)( + IAuthenticate *This, + HWND *phwnd, + LPWSTR *pszUsername, + LPWSTR *pszPassword); + + END_INTERFACE +} IAuthenticateVtbl; + +interface IAuthenticate { + CONST_VTBL IAuthenticateVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAuthenticate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAuthenticate_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAuthenticate_Release(This) (This)->lpVtbl->Release(This) +/*** IAuthenticate methods ***/ +#define IAuthenticate_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAuthenticate_QueryInterface(IAuthenticate* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAuthenticate_AddRef(IAuthenticate* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAuthenticate_Release(IAuthenticate* This) { + return This->lpVtbl->Release(This); +} +/*** IAuthenticate methods ***/ +static inline HRESULT IAuthenticate_Authenticate(IAuthenticate* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) { + return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword); +} +#endif +#endif + +#endif + + +#endif /* __IAuthenticate_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPAUTHENTICATIONEX_DEFINED +#define _LPAUTHENTICATIONEX_DEFINED + +/***************************************************************************** + * IAuthenticateEx interface + */ +#ifndef __IAuthenticateEx_INTERFACE_DEFINED__ +#define __IAuthenticateEx_INTERFACE_DEFINED__ + +typedef IAuthenticateEx *LPAUTHENTICATIONEX; + +typedef enum __WIDL_urlmon_generated_name_00000017 { + AUTHENTICATEF_PROXY = 0x1, + AUTHENTICATEF_BASIC = 0x2, + AUTHENTICATEF_HTTP = 0x4 +} AUTHENTICATEF; + +typedef struct _tagAUTHENTICATEINFO { + DWORD dwFlags; + DWORD dwReserved; +} AUTHENTICATEINFO; + +DEFINE_GUID(IID_IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2ad1edaf-d83d-48b5-9adf-03dbe19f53bd") +IAuthenticateEx : public IAuthenticate +{ + virtual HRESULT STDMETHODCALLTYPE AuthenticateEx( + HWND *phwnd, + LPWSTR *pszUsername, + LPWSTR *pszPassword, + AUTHENTICATEINFO *pauthinfo) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAuthenticateEx, 0x2ad1edaf, 0xd83d, 0x48b5, 0x9a,0xdf, 0x03,0xdb,0xe1,0x9f,0x53,0xbd) +#endif +#else +typedef struct IAuthenticateExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAuthenticateEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAuthenticateEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAuthenticateEx *This); + + /*** IAuthenticate methods ***/ + HRESULT (STDMETHODCALLTYPE *Authenticate)( + IAuthenticateEx *This, + HWND *phwnd, + LPWSTR *pszUsername, + LPWSTR *pszPassword); + + /*** IAuthenticateEx methods ***/ + HRESULT (STDMETHODCALLTYPE *AuthenticateEx)( + IAuthenticateEx *This, + HWND *phwnd, + LPWSTR *pszUsername, + LPWSTR *pszPassword, + AUTHENTICATEINFO *pauthinfo); + + END_INTERFACE +} IAuthenticateExVtbl; + +interface IAuthenticateEx { + CONST_VTBL IAuthenticateExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAuthenticateEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAuthenticateEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAuthenticateEx_Release(This) (This)->lpVtbl->Release(This) +/*** IAuthenticate methods ***/ +#define IAuthenticateEx_Authenticate(This,phwnd,pszUsername,pszPassword) (This)->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword) +/*** IAuthenticateEx methods ***/ +#define IAuthenticateEx_AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo) (This)->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAuthenticateEx_QueryInterface(IAuthenticateEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAuthenticateEx_AddRef(IAuthenticateEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAuthenticateEx_Release(IAuthenticateEx* This) { + return This->lpVtbl->Release(This); +} +/*** IAuthenticate methods ***/ +static inline HRESULT IAuthenticateEx_Authenticate(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword) { + return This->lpVtbl->Authenticate(This,phwnd,pszUsername,pszPassword); +} +/*** IAuthenticateEx methods ***/ +static inline HRESULT IAuthenticateEx_AuthenticateEx(IAuthenticateEx* This,HWND *phwnd,LPWSTR *pszUsername,LPWSTR *pszPassword,AUTHENTICATEINFO *pauthinfo) { + return This->lpVtbl->AuthenticateEx(This,phwnd,pszUsername,pszPassword,pauthinfo); +} +#endif +#endif + +#endif + + +#endif /* __IAuthenticateEx_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPHTTPNEGOTIATE_DEFINED +#define _LPHTTPNEGOTIATE_DEFINED + +/***************************************************************************** + * IHttpNegotiate interface + */ +#ifndef __IHttpNegotiate_INTERFACE_DEFINED__ +#define __IHttpNegotiate_INTERFACE_DEFINED__ + +typedef IHttpNegotiate *LPHTTPNEGOTIATE; + +DEFINE_GUID(IID_IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d2-baf9-11ce-8c82-00aa004ba90b") +IHttpNegotiate : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE BeginningTransaction( + LPCWSTR szURL, + LPCWSTR szHeaders, + DWORD dwReserved, + LPWSTR *pszAdditionalHeaders) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnResponse( + DWORD dwResponseCode, + LPCWSTR szResponseHeaders, + LPCWSTR szRequestHeaders, + LPWSTR *pszAdditionalRequestHeaders) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IHttpNegotiate, 0x79eac9d2, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IHttpNegotiateVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IHttpNegotiate *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IHttpNegotiate *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IHttpNegotiate *This); + + /*** IHttpNegotiate methods ***/ + HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( + IHttpNegotiate *This, + LPCWSTR szURL, + LPCWSTR szHeaders, + DWORD dwReserved, + LPWSTR *pszAdditionalHeaders); + + HRESULT (STDMETHODCALLTYPE *OnResponse)( + IHttpNegotiate *This, + DWORD dwResponseCode, + LPCWSTR szResponseHeaders, + LPCWSTR szRequestHeaders, + LPWSTR *pszAdditionalRequestHeaders); + + END_INTERFACE +} IHttpNegotiateVtbl; + +interface IHttpNegotiate { + CONST_VTBL IHttpNegotiateVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IHttpNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IHttpNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IHttpNegotiate_Release(This) (This)->lpVtbl->Release(This) +/*** IHttpNegotiate methods ***/ +#define IHttpNegotiate_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) +#define IHttpNegotiate_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) +#else +/*** IUnknown methods ***/ +static inline HRESULT IHttpNegotiate_QueryInterface(IHttpNegotiate* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IHttpNegotiate_AddRef(IHttpNegotiate* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IHttpNegotiate_Release(IHttpNegotiate* This) { + return This->lpVtbl->Release(This); +} +/*** IHttpNegotiate methods ***/ +static inline HRESULT IHttpNegotiate_BeginningTransaction(IHttpNegotiate* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { + return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); +} +static inline HRESULT IHttpNegotiate_OnResponse(IHttpNegotiate* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { + return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); +} +#endif +#endif + +#endif + + +#endif /* __IHttpNegotiate_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPHTTPNEGOTIATE2_DEFINED +#define _LPHTTPNEGOTIATE2_DEFINED + +/***************************************************************************** + * IHttpNegotiate2 interface + */ +#ifndef __IHttpNegotiate2_INTERFACE_DEFINED__ +#define __IHttpNegotiate2_INTERFACE_DEFINED__ + +typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2; + +DEFINE_GUID(IID_IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4f9f9fcb-e0f4-48eb-b7ab-fa2ea9365cb4") +IHttpNegotiate2 : public IHttpNegotiate +{ + virtual HRESULT STDMETHODCALLTYPE GetRootSecurityId( + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IHttpNegotiate2, 0x4f9f9fcb, 0xe0f4, 0x48eb, 0xb7,0xab, 0xfa,0x2e,0xa9,0x36,0x5c,0xb4) +#endif +#else +typedef struct IHttpNegotiate2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IHttpNegotiate2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IHttpNegotiate2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IHttpNegotiate2 *This); + + /*** IHttpNegotiate methods ***/ + HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( + IHttpNegotiate2 *This, + LPCWSTR szURL, + LPCWSTR szHeaders, + DWORD dwReserved, + LPWSTR *pszAdditionalHeaders); + + HRESULT (STDMETHODCALLTYPE *OnResponse)( + IHttpNegotiate2 *This, + DWORD dwResponseCode, + LPCWSTR szResponseHeaders, + LPCWSTR szRequestHeaders, + LPWSTR *pszAdditionalRequestHeaders); + + /*** IHttpNegotiate2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)( + IHttpNegotiate2 *This, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + END_INTERFACE +} IHttpNegotiate2Vtbl; + +interface IHttpNegotiate2 { + CONST_VTBL IHttpNegotiate2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IHttpNegotiate2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IHttpNegotiate2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IHttpNegotiate2_Release(This) (This)->lpVtbl->Release(This) +/*** IHttpNegotiate methods ***/ +#define IHttpNegotiate2_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) +#define IHttpNegotiate2_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) +/*** IHttpNegotiate2 methods ***/ +#define IHttpNegotiate2_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IHttpNegotiate2_QueryInterface(IHttpNegotiate2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IHttpNegotiate2_AddRef(IHttpNegotiate2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IHttpNegotiate2_Release(IHttpNegotiate2* This) { + return This->lpVtbl->Release(This); +} +/*** IHttpNegotiate methods ***/ +static inline HRESULT IHttpNegotiate2_BeginningTransaction(IHttpNegotiate2* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { + return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); +} +static inline HRESULT IHttpNegotiate2_OnResponse(IHttpNegotiate2* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { + return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); +} +/*** IHttpNegotiate2 methods ***/ +static inline HRESULT IHttpNegotiate2_GetRootSecurityId(IHttpNegotiate2* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IHttpNegotiate2_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPHTTPNEGOTIATE3_DEFINED +#define _LPHTTPNEGOTIATE3_DEFINED + +/***************************************************************************** + * IHttpNegotiate3 interface + */ +#ifndef __IHttpNegotiate3_INTERFACE_DEFINED__ +#define __IHttpNegotiate3_INTERFACE_DEFINED__ + +typedef IHttpNegotiate3 *LPHTTPNEGOTIATE3; + +DEFINE_GUID(IID_IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("57b6c80a-34c2-4602-bc26-66a02fc57153") +IHttpNegotiate3 : public IHttpNegotiate2 +{ + virtual HRESULT STDMETHODCALLTYPE GetSerializedClientCertContext( + BYTE **ppbCert, + DWORD *pcbCert) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IHttpNegotiate3, 0x57b6c80a, 0x34c2, 0x4602, 0xbc,0x26, 0x66,0xa0,0x2f,0xc5,0x71,0x53) +#endif +#else +typedef struct IHttpNegotiate3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IHttpNegotiate3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IHttpNegotiate3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IHttpNegotiate3 *This); + + /*** IHttpNegotiate methods ***/ + HRESULT (STDMETHODCALLTYPE *BeginningTransaction)( + IHttpNegotiate3 *This, + LPCWSTR szURL, + LPCWSTR szHeaders, + DWORD dwReserved, + LPWSTR *pszAdditionalHeaders); + + HRESULT (STDMETHODCALLTYPE *OnResponse)( + IHttpNegotiate3 *This, + DWORD dwResponseCode, + LPCWSTR szResponseHeaders, + LPCWSTR szRequestHeaders, + LPWSTR *pszAdditionalRequestHeaders); + + /*** IHttpNegotiate2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRootSecurityId)( + IHttpNegotiate3 *This, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + /*** IHttpNegotiate3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSerializedClientCertContext)( + IHttpNegotiate3 *This, + BYTE **ppbCert, + DWORD *pcbCert); + + END_INTERFACE +} IHttpNegotiate3Vtbl; + +interface IHttpNegotiate3 { + CONST_VTBL IHttpNegotiate3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IHttpNegotiate3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IHttpNegotiate3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IHttpNegotiate3_Release(This) (This)->lpVtbl->Release(This) +/*** IHttpNegotiate methods ***/ +#define IHttpNegotiate3_BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) (This)->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders) +#define IHttpNegotiate3_OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) (This)->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders) +/*** IHttpNegotiate2 methods ***/ +#define IHttpNegotiate3_GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) +/*** IHttpNegotiate3 methods ***/ +#define IHttpNegotiate3_GetSerializedClientCertContext(This,ppbCert,pcbCert) (This)->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert) +#else +/*** IUnknown methods ***/ +static inline HRESULT IHttpNegotiate3_QueryInterface(IHttpNegotiate3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IHttpNegotiate3_AddRef(IHttpNegotiate3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IHttpNegotiate3_Release(IHttpNegotiate3* This) { + return This->lpVtbl->Release(This); +} +/*** IHttpNegotiate methods ***/ +static inline HRESULT IHttpNegotiate3_BeginningTransaction(IHttpNegotiate3* This,LPCWSTR szURL,LPCWSTR szHeaders,DWORD dwReserved,LPWSTR *pszAdditionalHeaders) { + return This->lpVtbl->BeginningTransaction(This,szURL,szHeaders,dwReserved,pszAdditionalHeaders); +} +static inline HRESULT IHttpNegotiate3_OnResponse(IHttpNegotiate3* This,DWORD dwResponseCode,LPCWSTR szResponseHeaders,LPCWSTR szRequestHeaders,LPWSTR *pszAdditionalRequestHeaders) { + return This->lpVtbl->OnResponse(This,dwResponseCode,szResponseHeaders,szRequestHeaders,pszAdditionalRequestHeaders); +} +/*** IHttpNegotiate2 methods ***/ +static inline HRESULT IHttpNegotiate3_GetRootSecurityId(IHttpNegotiate3* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetRootSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); +} +/*** IHttpNegotiate3 methods ***/ +static inline HRESULT IHttpNegotiate3_GetSerializedClientCertContext(IHttpNegotiate3* This,BYTE **ppbCert,DWORD *pcbCert) { + return This->lpVtbl->GetSerializedClientCertContext(This,ppbCert,pcbCert); +} +#endif +#endif + +#endif + + +#endif /* __IHttpNegotiate3_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPWININETFILESTREAM_DEFINED +#define _LPWININETFILESTREAM_DEFINED + +/***************************************************************************** + * IWinInetFileStream interface + */ +#ifndef __IWinInetFileStream_INTERFACE_DEFINED__ +#define __IWinInetFileStream_INTERFACE_DEFINED__ + +typedef IWinInetFileStream *LPWININETFILESTREAM; + +DEFINE_GUID(IID_IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f134c4b7-b1f8-4e75-b886-74b90943becb") +IWinInetFileStream : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetHandleForUnlock( + DWORD_PTR hWinInetLockHandle, + DWORD_PTR dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeleteFile( + DWORD_PTR dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetFileStream, 0xf134c4b7, 0xb1f8, 0x4e75, 0xb8,0x86, 0x74,0xb9,0x09,0x43,0xbe,0xcb) +#endif +#else +typedef struct IWinInetFileStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetFileStream *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetFileStream *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetFileStream *This); + + /*** IWinInetFileStream methods ***/ + HRESULT (STDMETHODCALLTYPE *SetHandleForUnlock)( + IWinInetFileStream *This, + DWORD_PTR hWinInetLockHandle, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *SetDeleteFile)( + IWinInetFileStream *This, + DWORD_PTR dwReserved); + + END_INTERFACE +} IWinInetFileStreamVtbl; + +interface IWinInetFileStream { + CONST_VTBL IWinInetFileStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetFileStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetFileStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetFileStream_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetFileStream methods ***/ +#define IWinInetFileStream_SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) (This)->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved) +#define IWinInetFileStream_SetDeleteFile(This,dwReserved) (This)->lpVtbl->SetDeleteFile(This,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetFileStream_QueryInterface(IWinInetFileStream* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetFileStream_AddRef(IWinInetFileStream* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetFileStream_Release(IWinInetFileStream* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetFileStream methods ***/ +static inline HRESULT IWinInetFileStream_SetHandleForUnlock(IWinInetFileStream* This,DWORD_PTR hWinInetLockHandle,DWORD_PTR dwReserved) { + return This->lpVtbl->SetHandleForUnlock(This,hWinInetLockHandle,dwReserved); +} +static inline HRESULT IWinInetFileStream_SetDeleteFile(IWinInetFileStream* This,DWORD_PTR dwReserved) { + return This->lpVtbl->SetDeleteFile(This,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWinInetFileStream_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPWINDOWFORBINDINGUI_DEFINED +#define _LPWINDOWFORBINDINGUI_DEFINED + +/***************************************************************************** + * IWindowForBindingUI interface + */ +#ifndef __IWindowForBindingUI_INTERFACE_DEFINED__ +#define __IWindowForBindingUI_INTERFACE_DEFINED__ + +typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI; + +DEFINE_GUID(IID_IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d5-bafa-11ce-8c82-00aa004ba90b") +IWindowForBindingUI : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWindow( + REFGUID rguidReason, + HWND *phwnd) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowForBindingUI, 0x79eac9d5, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IWindowForBindingUIVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWindowForBindingUI *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWindowForBindingUI *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWindowForBindingUI *This); + + /*** IWindowForBindingUI methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWindow)( + IWindowForBindingUI *This, + REFGUID rguidReason, + HWND *phwnd); + + END_INTERFACE +} IWindowForBindingUIVtbl; + +interface IWindowForBindingUI { + CONST_VTBL IWindowForBindingUIVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWindowForBindingUI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWindowForBindingUI_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWindowForBindingUI_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowForBindingUI methods ***/ +#define IWindowForBindingUI_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWindowForBindingUI_QueryInterface(IWindowForBindingUI* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWindowForBindingUI_AddRef(IWindowForBindingUI* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWindowForBindingUI_Release(IWindowForBindingUI* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowForBindingUI methods ***/ +static inline HRESULT IWindowForBindingUI_GetWindow(IWindowForBindingUI* This,REFGUID rguidReason,HWND *phwnd) { + return This->lpVtbl->GetWindow(This,rguidReason,phwnd); +} +#endif +#endif + +#endif + + +#endif /* __IWindowForBindingUI_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPCODEINSTALL_DEFINED +#define _LPCODEINSTALL_DEFINED + +/***************************************************************************** + * ICodeInstall interface + */ +#ifndef __ICodeInstall_INTERFACE_DEFINED__ +#define __ICodeInstall_INTERFACE_DEFINED__ + +typedef ICodeInstall *LPCODEINSTALL; + +typedef enum __WIDL_urlmon_generated_name_00000018 { + CIP_DISK_FULL = 0, + CIP_ACCESS_DENIED = 1, + CIP_NEWER_VERSION_EXISTS = 2, + CIP_OLDER_VERSION_EXISTS = 3, + CIP_NAME_CONFLICT = 4, + CIP_TRUST_VERIFICATION_COMPONENT_MISSING = 5, + CIP_EXE_SELF_REGISTERATION_TIMEOUT = 6, + CIP_UNSAFE_TO_ABORT = 7, + CIP_NEED_REBOOT = 8, + CIP_NEED_REBOOT_UI_PERMISSION = 9 +} CIP_STATUS; + +DEFINE_GUID(IID_ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d1-baf9-11ce-8c82-00aa004ba90b") +ICodeInstall : public IWindowForBindingUI +{ + virtual HRESULT STDMETHODCALLTYPE OnCodeInstallProblem( + ULONG ulStatusCode, + LPCWSTR szDestination, + LPCWSTR szSource, + DWORD dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICodeInstall, 0x79eac9d1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct ICodeInstallVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICodeInstall *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICodeInstall *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICodeInstall *This); + + /*** IWindowForBindingUI methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWindow)( + ICodeInstall *This, + REFGUID rguidReason, + HWND *phwnd); + + /*** ICodeInstall methods ***/ + HRESULT (STDMETHODCALLTYPE *OnCodeInstallProblem)( + ICodeInstall *This, + ULONG ulStatusCode, + LPCWSTR szDestination, + LPCWSTR szSource, + DWORD dwReserved); + + END_INTERFACE +} ICodeInstallVtbl; + +interface ICodeInstall { + CONST_VTBL ICodeInstallVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICodeInstall_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICodeInstall_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICodeInstall_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowForBindingUI methods ***/ +#define ICodeInstall_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) +/*** ICodeInstall methods ***/ +#define ICodeInstall_OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) (This)->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICodeInstall_QueryInterface(ICodeInstall* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICodeInstall_AddRef(ICodeInstall* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICodeInstall_Release(ICodeInstall* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowForBindingUI methods ***/ +static inline HRESULT ICodeInstall_GetWindow(ICodeInstall* This,REFGUID rguidReason,HWND *phwnd) { + return This->lpVtbl->GetWindow(This,rguidReason,phwnd); +} +/*** ICodeInstall methods ***/ +static inline HRESULT ICodeInstall_OnCodeInstallProblem(ICodeInstall* This,ULONG ulStatusCode,LPCWSTR szDestination,LPCWSTR szSource,DWORD dwReserved) { + return This->lpVtbl->OnCodeInstallProblem(This,ulStatusCode,szDestination,szSource,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __ICodeInstall_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#ifndef _LPUri_DEFINED +#define _LPUri_DEFINED +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * IUri interface + */ +#ifndef __IUri_INTERFACE_DEFINED__ +#define __IUri_INTERFACE_DEFINED__ + +typedef enum __WIDL_urlmon_generated_name_00000019 { + Uri_PROPERTY_ABSOLUTE_URI = 0, + Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI, + Uri_PROPERTY_AUTHORITY = 1, + Uri_PROPERTY_DISPLAY_URI = 2, + Uri_PROPERTY_DOMAIN = 3, + Uri_PROPERTY_EXTENSION = 4, + Uri_PROPERTY_FRAGMENT = 5, + Uri_PROPERTY_HOST = 6, + Uri_PROPERTY_PASSWORD = 7, + Uri_PROPERTY_PATH = 8, + Uri_PROPERTY_PATH_AND_QUERY = 9, + Uri_PROPERTY_QUERY = 10, + Uri_PROPERTY_RAW_URI = 11, + Uri_PROPERTY_SCHEME_NAME = 12, + Uri_PROPERTY_USER_INFO = 13, + Uri_PROPERTY_USER_NAME = 14, + Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME, + Uri_PROPERTY_HOST_TYPE = 15, + Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE, + Uri_PROPERTY_PORT = 16, + Uri_PROPERTY_SCHEME = 17, + Uri_PROPERTY_ZONE = 18, + Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE +} Uri_PROPERTY; + +typedef enum __WIDL_urlmon_generated_name_0000001A { + Uri_HOST_UNKNOWN = 0, + Uri_HOST_DNS = 1, + Uri_HOST_IPV4 = 2, + Uri_HOST_IPV6 = 3, + Uri_HOST_IDN = 4 +} Uri_HOST_TYPE; + +DEFINE_GUID(IID_IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a39ee748-6a27-4817-a6f2-13914bef5890") +IUri : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPropertyBSTR( + Uri_PROPERTY uriProp, + BSTR *pbstrProperty, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyLength( + Uri_PROPERTY uriProp, + DWORD *pcchProperty, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyDWORD( + Uri_PROPERTY uriProp, + DWORD *pdwProperty, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE HasProperty( + Uri_PROPERTY uriProp, + WINBOOL *pfHasProperty) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAbsoluteUri( + BSTR *pbstrAbsoluteUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAuthority( + BSTR *pbstrAuthority) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDisplayUri( + BSTR *pbstrDisplayString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDomain( + BSTR *pbstrDomain) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExtension( + BSTR *pbstrExtension) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFragment( + BSTR *pbstrFragment) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHost( + BSTR *pbstrHost) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPassword( + BSTR *pbstrPassword) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPath( + BSTR *pbstrPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPathAndQuery( + BSTR *pbstrPathAndQuery) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetQuery( + BSTR *pbstrQuery) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRawUri( + BSTR *pbstrRawUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSchemeName( + BSTR *pbstrSchemeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUserInfo( + BSTR *pbstrUserInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUserName( + BSTR *pbstrUserName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHostType( + DWORD *pdwHostType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPort( + DWORD *pdwPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScheme( + DWORD *pdwScheme) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZone( + DWORD *pdwZone) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProperties( + LPDWORD pdwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsEqual( + IUri *pUri, + WINBOOL *pfEqual) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUri, 0xa39ee748, 0x6a27, 0x4817, 0xa6,0xf2, 0x13,0x91,0x4b,0xef,0x58,0x90) +#endif +#else +typedef struct IUriVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUri *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUri *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUri *This); + + /*** IUri methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPropertyBSTR)( + IUri *This, + Uri_PROPERTY uriProp, + BSTR *pbstrProperty, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetPropertyLength)( + IUri *This, + Uri_PROPERTY uriProp, + DWORD *pcchProperty, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetPropertyDWORD)( + IUri *This, + Uri_PROPERTY uriProp, + DWORD *pdwProperty, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *HasProperty)( + IUri *This, + Uri_PROPERTY uriProp, + WINBOOL *pfHasProperty); + + HRESULT (STDMETHODCALLTYPE *GetAbsoluteUri)( + IUri *This, + BSTR *pbstrAbsoluteUri); + + HRESULT (STDMETHODCALLTYPE *GetAuthority)( + IUri *This, + BSTR *pbstrAuthority); + + HRESULT (STDMETHODCALLTYPE *GetDisplayUri)( + IUri *This, + BSTR *pbstrDisplayString); + + HRESULT (STDMETHODCALLTYPE *GetDomain)( + IUri *This, + BSTR *pbstrDomain); + + HRESULT (STDMETHODCALLTYPE *GetExtension)( + IUri *This, + BSTR *pbstrExtension); + + HRESULT (STDMETHODCALLTYPE *GetFragment)( + IUri *This, + BSTR *pbstrFragment); + + HRESULT (STDMETHODCALLTYPE *GetHost)( + IUri *This, + BSTR *pbstrHost); + + HRESULT (STDMETHODCALLTYPE *GetPassword)( + IUri *This, + BSTR *pbstrPassword); + + HRESULT (STDMETHODCALLTYPE *GetPath)( + IUri *This, + BSTR *pbstrPath); + + HRESULT (STDMETHODCALLTYPE *GetPathAndQuery)( + IUri *This, + BSTR *pbstrPathAndQuery); + + HRESULT (STDMETHODCALLTYPE *GetQuery)( + IUri *This, + BSTR *pbstrQuery); + + HRESULT (STDMETHODCALLTYPE *GetRawUri)( + IUri *This, + BSTR *pbstrRawUri); + + HRESULT (STDMETHODCALLTYPE *GetSchemeName)( + IUri *This, + BSTR *pbstrSchemeName); + + HRESULT (STDMETHODCALLTYPE *GetUserInfo)( + IUri *This, + BSTR *pbstrUserInfo); + + HRESULT (STDMETHODCALLTYPE *GetUserName)( + IUri *This, + BSTR *pbstrUserName); + + HRESULT (STDMETHODCALLTYPE *GetHostType)( + IUri *This, + DWORD *pdwHostType); + + HRESULT (STDMETHODCALLTYPE *GetPort)( + IUri *This, + DWORD *pdwPort); + + HRESULT (STDMETHODCALLTYPE *GetScheme)( + IUri *This, + DWORD *pdwScheme); + + HRESULT (STDMETHODCALLTYPE *GetZone)( + IUri *This, + DWORD *pdwZone); + + HRESULT (STDMETHODCALLTYPE *GetProperties)( + IUri *This, + LPDWORD pdwFlags); + + HRESULT (STDMETHODCALLTYPE *IsEqual)( + IUri *This, + IUri *pUri, + WINBOOL *pfEqual); + + END_INTERFACE +} IUriVtbl; + +interface IUri { + CONST_VTBL IUriVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUri_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUri_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUri_Release(This) (This)->lpVtbl->Release(This) +/*** IUri methods ***/ +#define IUri_GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) (This)->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags) +#define IUri_GetPropertyLength(This,uriProp,pcchProperty,dwFlags) (This)->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags) +#define IUri_GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) (This)->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags) +#define IUri_HasProperty(This,uriProp,pfHasProperty) (This)->lpVtbl->HasProperty(This,uriProp,pfHasProperty) +#define IUri_GetAbsoluteUri(This,pbstrAbsoluteUri) (This)->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri) +#define IUri_GetAuthority(This,pbstrAuthority) (This)->lpVtbl->GetAuthority(This,pbstrAuthority) +#define IUri_GetDisplayUri(This,pbstrDisplayString) (This)->lpVtbl->GetDisplayUri(This,pbstrDisplayString) +#define IUri_GetDomain(This,pbstrDomain) (This)->lpVtbl->GetDomain(This,pbstrDomain) +#define IUri_GetExtension(This,pbstrExtension) (This)->lpVtbl->GetExtension(This,pbstrExtension) +#define IUri_GetFragment(This,pbstrFragment) (This)->lpVtbl->GetFragment(This,pbstrFragment) +#define IUri_GetHost(This,pbstrHost) (This)->lpVtbl->GetHost(This,pbstrHost) +#define IUri_GetPassword(This,pbstrPassword) (This)->lpVtbl->GetPassword(This,pbstrPassword) +#define IUri_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath) +#define IUri_GetPathAndQuery(This,pbstrPathAndQuery) (This)->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery) +#define IUri_GetQuery(This,pbstrQuery) (This)->lpVtbl->GetQuery(This,pbstrQuery) +#define IUri_GetRawUri(This,pbstrRawUri) (This)->lpVtbl->GetRawUri(This,pbstrRawUri) +#define IUri_GetSchemeName(This,pbstrSchemeName) (This)->lpVtbl->GetSchemeName(This,pbstrSchemeName) +#define IUri_GetUserInfo(This,pbstrUserInfo) (This)->lpVtbl->GetUserInfo(This,pbstrUserInfo) +#define IUri_GetUserName(This,pbstrUserName) (This)->lpVtbl->GetUserName(This,pbstrUserName) +#define IUri_GetHostType(This,pdwHostType) (This)->lpVtbl->GetHostType(This,pdwHostType) +#define IUri_GetPort(This,pdwPort) (This)->lpVtbl->GetPort(This,pdwPort) +#define IUri_GetScheme(This,pdwScheme) (This)->lpVtbl->GetScheme(This,pdwScheme) +#define IUri_GetZone(This,pdwZone) (This)->lpVtbl->GetZone(This,pdwZone) +#define IUri_GetProperties(This,pdwFlags) (This)->lpVtbl->GetProperties(This,pdwFlags) +#define IUri_IsEqual(This,pUri,pfEqual) (This)->lpVtbl->IsEqual(This,pUri,pfEqual) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUri_QueryInterface(IUri* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUri_AddRef(IUri* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUri_Release(IUri* This) { + return This->lpVtbl->Release(This); +} +/*** IUri methods ***/ +static inline HRESULT IUri_GetPropertyBSTR(IUri* This,Uri_PROPERTY uriProp,BSTR *pbstrProperty,DWORD dwFlags) { + return This->lpVtbl->GetPropertyBSTR(This,uriProp,pbstrProperty,dwFlags); +} +static inline HRESULT IUri_GetPropertyLength(IUri* This,Uri_PROPERTY uriProp,DWORD *pcchProperty,DWORD dwFlags) { + return This->lpVtbl->GetPropertyLength(This,uriProp,pcchProperty,dwFlags); +} +static inline HRESULT IUri_GetPropertyDWORD(IUri* This,Uri_PROPERTY uriProp,DWORD *pdwProperty,DWORD dwFlags) { + return This->lpVtbl->GetPropertyDWORD(This,uriProp,pdwProperty,dwFlags); +} +static inline HRESULT IUri_HasProperty(IUri* This,Uri_PROPERTY uriProp,WINBOOL *pfHasProperty) { + return This->lpVtbl->HasProperty(This,uriProp,pfHasProperty); +} +static inline HRESULT IUri_GetAbsoluteUri(IUri* This,BSTR *pbstrAbsoluteUri) { + return This->lpVtbl->GetAbsoluteUri(This,pbstrAbsoluteUri); +} +static inline HRESULT IUri_GetAuthority(IUri* This,BSTR *pbstrAuthority) { + return This->lpVtbl->GetAuthority(This,pbstrAuthority); +} +static inline HRESULT IUri_GetDisplayUri(IUri* This,BSTR *pbstrDisplayString) { + return This->lpVtbl->GetDisplayUri(This,pbstrDisplayString); +} +static inline HRESULT IUri_GetDomain(IUri* This,BSTR *pbstrDomain) { + return This->lpVtbl->GetDomain(This,pbstrDomain); +} +static inline HRESULT IUri_GetExtension(IUri* This,BSTR *pbstrExtension) { + return This->lpVtbl->GetExtension(This,pbstrExtension); +} +static inline HRESULT IUri_GetFragment(IUri* This,BSTR *pbstrFragment) { + return This->lpVtbl->GetFragment(This,pbstrFragment); +} +static inline HRESULT IUri_GetHost(IUri* This,BSTR *pbstrHost) { + return This->lpVtbl->GetHost(This,pbstrHost); +} +static inline HRESULT IUri_GetPassword(IUri* This,BSTR *pbstrPassword) { + return This->lpVtbl->GetPassword(This,pbstrPassword); +} +static inline HRESULT IUri_GetPath(IUri* This,BSTR *pbstrPath) { + return This->lpVtbl->GetPath(This,pbstrPath); +} +static inline HRESULT IUri_GetPathAndQuery(IUri* This,BSTR *pbstrPathAndQuery) { + return This->lpVtbl->GetPathAndQuery(This,pbstrPathAndQuery); +} +static inline HRESULT IUri_GetQuery(IUri* This,BSTR *pbstrQuery) { + return This->lpVtbl->GetQuery(This,pbstrQuery); +} +static inline HRESULT IUri_GetRawUri(IUri* This,BSTR *pbstrRawUri) { + return This->lpVtbl->GetRawUri(This,pbstrRawUri); +} +static inline HRESULT IUri_GetSchemeName(IUri* This,BSTR *pbstrSchemeName) { + return This->lpVtbl->GetSchemeName(This,pbstrSchemeName); +} +static inline HRESULT IUri_GetUserInfo(IUri* This,BSTR *pbstrUserInfo) { + return This->lpVtbl->GetUserInfo(This,pbstrUserInfo); +} +static inline HRESULT IUri_GetUserName(IUri* This,BSTR *pbstrUserName) { + return This->lpVtbl->GetUserName(This,pbstrUserName); +} +static inline HRESULT IUri_GetHostType(IUri* This,DWORD *pdwHostType) { + return This->lpVtbl->GetHostType(This,pdwHostType); +} +static inline HRESULT IUri_GetPort(IUri* This,DWORD *pdwPort) { + return This->lpVtbl->GetPort(This,pdwPort); +} +static inline HRESULT IUri_GetScheme(IUri* This,DWORD *pdwScheme) { + return This->lpVtbl->GetScheme(This,pdwScheme); +} +static inline HRESULT IUri_GetZone(IUri* This,DWORD *pdwZone) { + return This->lpVtbl->GetZone(This,pdwZone); +} +static inline HRESULT IUri_GetProperties(IUri* This,LPDWORD pdwFlags) { + return This->lpVtbl->GetProperties(This,pdwFlags); +} +static inline HRESULT IUri_IsEqual(IUri* This,IUri *pUri,WINBOOL *pfEqual) { + return This->lpVtbl->IsEqual(This,pUri,pfEqual); +} +#endif +#endif + +#endif + + +#endif /* __IUri_INTERFACE_DEFINED__ */ + + +STDAPI CreateUri(LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI); +STDAPI CreateUriWithFragment( +LPCWSTR pwzURI, LPCWSTR pwzFragment, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI); +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +STDAPI CreateUriFromMultiByteString(LPCSTR pszANSIInputUri, DWORD dwEncodingFlags, DWORD dwCodePage, DWORD dwCreateFlags, DWORD_PTR dwReserved, IUri **ppUri); +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define Uri_HAS_ABSOLUTE_URI (1 << Uri_PROPERTY_ABSOLUTE_URI) +#define Uri_HAS_AUTHORITY (1 << Uri_PROPERTY_AUTHORITY) +#define Uri_HAS_DISPLAY_URI (1 << Uri_PROPERTY_DISPLAY_URI) +#define Uri_HAS_DOMAIN (1 << Uri_PROPERTY_DOMAIN) +#define Uri_HAS_EXTENSION (1 << Uri_PROPERTY_EXTENSION) +#define Uri_HAS_FRAGMENT (1 << Uri_PROPERTY_FRAGMENT) +#define Uri_HAS_HOST (1 << Uri_PROPERTY_HOST) +#define Uri_HAS_PASSWORD (1 << Uri_PROPERTY_PASSWORD) +#define Uri_HAS_PATH (1 << Uri_PROPERTY_PATH) +#define Uri_HAS_QUERY (1 << Uri_PROPERTY_QUERY) +#define Uri_HAS_RAW_URI (1 << Uri_PROPERTY_RAW_URI) +#define Uri_HAS_SCHEME_NAME (1 << Uri_PROPERTY_SCHEME_NAME) +#define Uri_HAS_USER_NAME (1 << Uri_PROPERTY_USER_NAME) +#define Uri_HAS_PATH_AND_QUERY (1 << Uri_PROPERTY_PATH_AND_QUERY) +#define Uri_HAS_USER_INFO (1 << Uri_PROPERTY_USER_INFO) +#define Uri_HAS_HOST_TYPE (1 << Uri_PROPERTY_HOST_TYPE) +#define Uri_HAS_PORT (1 << Uri_PROPERTY_PORT) +#define Uri_HAS_SCHEME (1 << Uri_PROPERTY_SCHEME) +#define Uri_HAS_ZONE (1 << Uri_PROPERTY_ZONE) + +#define Uri_CREATE_ALLOW_RELATIVE 0x1 +#define Uri_CREATE_ALLOW_IMPLICIT_WILDCARD_SCHEME 0x2 +#define Uri_CREATE_ALLOW_IMPLICIT_FILE_SCHEME 0x4 +#define Uri_CREATE_NOFRAG 0x8 +#define Uri_CREATE_NO_CANONICALIZE 0x10 +#define Uri_CREATE_CANONICALIZE 0x100 +#define Uri_CREATE_FILE_USE_DOS_PATH 0x20 +#define Uri_CREATE_DECODE_EXTRA_INFO 0x40 +#define Uri_CREATE_NO_DECODE_EXTRA_INFO 0x80 +#define Uri_CREATE_CRACK_UNKNOWN_SCHEMES 0x200 +#define Uri_CREATE_NO_CRACK_UNKNOWN_SCHEMES 0x400 +#define Uri_CREATE_PRE_PROCESS_HTML_URI 0x800 +#define Uri_CREATE_NO_PRE_PROCESS_HTML_URI 0x1000 +#define Uri_CREATE_IE_SETTINGS 0x2000 +#define Uri_CREATE_NO_IE_SETTINGS 0x4000 +#define Uri_CREATE_NO_ENCODE_FORBIDDEN_CHARACTERS 0x8000 +#define Uri_CREATE_NORMALIZE_INTL_CHARACTERS 0x10000 +#define Uri_CREATE_CANONICALIZE_ABSOLUTE 0x20000 + +#define Uri_DISPLAY_NO_FRAGMENT 0x1 +#define Uri_PUNYCODE_IDN_HOST 0x2 +#define Uri_DISPLAY_IDN_HOST 0x4 +#define Uri_DISPLAY_NO_PUNYCODE 0x8 + +#define Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 0x1 +#define Uri_ENCODING_USER_INFO_AND_PATH_IS_CP 0x2 +#define Uri_ENCODING_HOST_IS_IDN 0x4 +#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 0x8 +#define Uri_ENCODING_HOST_IS_PERCENT_ENCODED_CP 0x10 +#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8 0x20 +#define Uri_ENCODING_QUERY_AND_FRAGMENT_IS_CP 0x40 + +#define Uri_ENCODING_RFC (Uri_ENCODING_USER_INFO_AND_PATH_IS_PERCENT_ENCODED_UTF8 | Uri_ENCODING_HOST_IS_PERCENT_ENCODED_UTF8 | Uri_ENCODING_QUERY_AND_FRAGMENT_IS_PERCENT_ENCODED_UTF8) + +#define UriBuilder_USE_ORIGINAL_FLAGS 0x1 +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * IUriContainer interface + */ +#ifndef __IUriContainer_INTERFACE_DEFINED__ +#define __IUriContainer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a158a630-ed6f-45fb-b987-f68676f57752") +IUriContainer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetIUri( + IUri **ppIUri) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUriContainer, 0xa158a630, 0xed6f, 0x45fb, 0xb9,0x87, 0xf6,0x86,0x76,0xf5,0x77,0x52) +#endif +#else +typedef struct IUriContainerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUriContainer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUriContainer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUriContainer *This); + + /*** IUriContainer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIUri)( + IUriContainer *This, + IUri **ppIUri); + + END_INTERFACE +} IUriContainerVtbl; + +interface IUriContainer { + CONST_VTBL IUriContainerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUriContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUriContainer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUriContainer_Release(This) (This)->lpVtbl->Release(This) +/*** IUriContainer methods ***/ +#define IUriContainer_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUriContainer_QueryInterface(IUriContainer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUriContainer_AddRef(IUriContainer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUriContainer_Release(IUriContainer* This) { + return This->lpVtbl->Release(This); +} +/*** IUriContainer methods ***/ +static inline HRESULT IUriContainer_GetIUri(IUriContainer* This,IUri **ppIUri) { + return This->lpVtbl->GetIUri(This,ppIUri); +} +#endif +#endif + +#endif + + +#endif /* __IUriContainer_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IUriBuilder interface + */ +#ifndef __IUriBuilder_INTERFACE_DEFINED__ +#define __IUriBuilder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4221b2e1-8955-46c0-bd5b-de9897565de7") +IUriBuilder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateUriSimple( + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateUri( + DWORD dwCreateFlags, + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateUriWithFlags( + DWORD dwCreateFlags, + DWORD dwUriBuilderFlags, + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIUri( + IUri **ppIUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIUri( + IUri *pIUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFragment( + DWORD *pcchFragment, + LPCWSTR *ppwzFragment) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHost( + DWORD *pcchHost, + LPCWSTR *ppwzHost) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPassword( + DWORD *pcchPassword, + LPCWSTR *ppwzPassword) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPath( + DWORD *pcchPath, + LPCWSTR *ppwzPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPort( + WINBOOL *pfHasPort, + DWORD *pdwPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetQuery( + DWORD *pcchQuery, + LPCWSTR *ppwzQuery) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSchemeName( + DWORD *pcchSchemeName, + LPCWSTR *ppwzSchemeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUserName( + DWORD *pcchUserName, + LPCWSTR *ppwzUserName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFragment( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHost( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPassword( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPath( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPort( + WINBOOL fHasPort, + DWORD dwNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetQuery( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSchemeName( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUserName( + LPCWSTR pwzNewValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveProperties( + DWORD dwPropertyMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE HasBeenModified( + WINBOOL *pfModified) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUriBuilder, 0x4221b2e1, 0x8955, 0x46c0, 0xbd,0x5b, 0xde,0x98,0x97,0x56,0x5d,0xe7) +#endif +#else +typedef struct IUriBuilderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUriBuilder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUriBuilder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUriBuilder *This); + + /*** IUriBuilder methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateUriSimple)( + IUriBuilder *This, + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri); + + HRESULT (STDMETHODCALLTYPE *CreateUri)( + IUriBuilder *This, + DWORD dwCreateFlags, + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri); + + HRESULT (STDMETHODCALLTYPE *CreateUriWithFlags)( + IUriBuilder *This, + DWORD dwCreateFlags, + DWORD dwUriBuilderFlags, + DWORD dwAllowEncodingPropertyMask, + DWORD_PTR dwReserved, + IUri **ppIUri); + + HRESULT (STDMETHODCALLTYPE *GetIUri)( + IUriBuilder *This, + IUri **ppIUri); + + HRESULT (STDMETHODCALLTYPE *SetIUri)( + IUriBuilder *This, + IUri *pIUri); + + HRESULT (STDMETHODCALLTYPE *GetFragment)( + IUriBuilder *This, + DWORD *pcchFragment, + LPCWSTR *ppwzFragment); + + HRESULT (STDMETHODCALLTYPE *GetHost)( + IUriBuilder *This, + DWORD *pcchHost, + LPCWSTR *ppwzHost); + + HRESULT (STDMETHODCALLTYPE *GetPassword)( + IUriBuilder *This, + DWORD *pcchPassword, + LPCWSTR *ppwzPassword); + + HRESULT (STDMETHODCALLTYPE *GetPath)( + IUriBuilder *This, + DWORD *pcchPath, + LPCWSTR *ppwzPath); + + HRESULT (STDMETHODCALLTYPE *GetPort)( + IUriBuilder *This, + WINBOOL *pfHasPort, + DWORD *pdwPort); + + HRESULT (STDMETHODCALLTYPE *GetQuery)( + IUriBuilder *This, + DWORD *pcchQuery, + LPCWSTR *ppwzQuery); + + HRESULT (STDMETHODCALLTYPE *GetSchemeName)( + IUriBuilder *This, + DWORD *pcchSchemeName, + LPCWSTR *ppwzSchemeName); + + HRESULT (STDMETHODCALLTYPE *GetUserName)( + IUriBuilder *This, + DWORD *pcchUserName, + LPCWSTR *ppwzUserName); + + HRESULT (STDMETHODCALLTYPE *SetFragment)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetHost)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetPassword)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetPath)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetPort)( + IUriBuilder *This, + WINBOOL fHasPort, + DWORD dwNewValue); + + HRESULT (STDMETHODCALLTYPE *SetQuery)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetSchemeName)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *SetUserName)( + IUriBuilder *This, + LPCWSTR pwzNewValue); + + HRESULT (STDMETHODCALLTYPE *RemoveProperties)( + IUriBuilder *This, + DWORD dwPropertyMask); + + HRESULT (STDMETHODCALLTYPE *HasBeenModified)( + IUriBuilder *This, + WINBOOL *pfModified); + + END_INTERFACE +} IUriBuilderVtbl; + +interface IUriBuilder { + CONST_VTBL IUriBuilderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUriBuilder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUriBuilder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUriBuilder_Release(This) (This)->lpVtbl->Release(This) +/*** IUriBuilder methods ***/ +#define IUriBuilder_CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri) +#define IUriBuilder_CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) +#define IUriBuilder_CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) (This)->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri) +#define IUriBuilder_GetIUri(This,ppIUri) (This)->lpVtbl->GetIUri(This,ppIUri) +#define IUriBuilder_SetIUri(This,pIUri) (This)->lpVtbl->SetIUri(This,pIUri) +#define IUriBuilder_GetFragment(This,pcchFragment,ppwzFragment) (This)->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment) +#define IUriBuilder_GetHost(This,pcchHost,ppwzHost) (This)->lpVtbl->GetHost(This,pcchHost,ppwzHost) +#define IUriBuilder_GetPassword(This,pcchPassword,ppwzPassword) (This)->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword) +#define IUriBuilder_GetPath(This,pcchPath,ppwzPath) (This)->lpVtbl->GetPath(This,pcchPath,ppwzPath) +#define IUriBuilder_GetPort(This,pfHasPort,pdwPort) (This)->lpVtbl->GetPort(This,pfHasPort,pdwPort) +#define IUriBuilder_GetQuery(This,pcchQuery,ppwzQuery) (This)->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery) +#define IUriBuilder_GetSchemeName(This,pcchSchemeName,ppwzSchemeName) (This)->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName) +#define IUriBuilder_GetUserName(This,pcchUserName,ppwzUserName) (This)->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName) +#define IUriBuilder_SetFragment(This,pwzNewValue) (This)->lpVtbl->SetFragment(This,pwzNewValue) +#define IUriBuilder_SetHost(This,pwzNewValue) (This)->lpVtbl->SetHost(This,pwzNewValue) +#define IUriBuilder_SetPassword(This,pwzNewValue) (This)->lpVtbl->SetPassword(This,pwzNewValue) +#define IUriBuilder_SetPath(This,pwzNewValue) (This)->lpVtbl->SetPath(This,pwzNewValue) +#define IUriBuilder_SetPort(This,fHasPort,dwNewValue) (This)->lpVtbl->SetPort(This,fHasPort,dwNewValue) +#define IUriBuilder_SetQuery(This,pwzNewValue) (This)->lpVtbl->SetQuery(This,pwzNewValue) +#define IUriBuilder_SetSchemeName(This,pwzNewValue) (This)->lpVtbl->SetSchemeName(This,pwzNewValue) +#define IUriBuilder_SetUserName(This,pwzNewValue) (This)->lpVtbl->SetUserName(This,pwzNewValue) +#define IUriBuilder_RemoveProperties(This,dwPropertyMask) (This)->lpVtbl->RemoveProperties(This,dwPropertyMask) +#define IUriBuilder_HasBeenModified(This,pfModified) (This)->lpVtbl->HasBeenModified(This,pfModified) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUriBuilder_QueryInterface(IUriBuilder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUriBuilder_AddRef(IUriBuilder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUriBuilder_Release(IUriBuilder* This) { + return This->lpVtbl->Release(This); +} +/*** IUriBuilder methods ***/ +static inline HRESULT IUriBuilder_CreateUriSimple(IUriBuilder* This,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { + return This->lpVtbl->CreateUriSimple(This,dwAllowEncodingPropertyMask,dwReserved,ppIUri); +} +static inline HRESULT IUriBuilder_CreateUri(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { + return This->lpVtbl->CreateUri(This,dwCreateFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri); +} +static inline HRESULT IUriBuilder_CreateUriWithFlags(IUriBuilder* This,DWORD dwCreateFlags,DWORD dwUriBuilderFlags,DWORD dwAllowEncodingPropertyMask,DWORD_PTR dwReserved,IUri **ppIUri) { + return This->lpVtbl->CreateUriWithFlags(This,dwCreateFlags,dwUriBuilderFlags,dwAllowEncodingPropertyMask,dwReserved,ppIUri); +} +static inline HRESULT IUriBuilder_GetIUri(IUriBuilder* This,IUri **ppIUri) { + return This->lpVtbl->GetIUri(This,ppIUri); +} +static inline HRESULT IUriBuilder_SetIUri(IUriBuilder* This,IUri *pIUri) { + return This->lpVtbl->SetIUri(This,pIUri); +} +static inline HRESULT IUriBuilder_GetFragment(IUriBuilder* This,DWORD *pcchFragment,LPCWSTR *ppwzFragment) { + return This->lpVtbl->GetFragment(This,pcchFragment,ppwzFragment); +} +static inline HRESULT IUriBuilder_GetHost(IUriBuilder* This,DWORD *pcchHost,LPCWSTR *ppwzHost) { + return This->lpVtbl->GetHost(This,pcchHost,ppwzHost); +} +static inline HRESULT IUriBuilder_GetPassword(IUriBuilder* This,DWORD *pcchPassword,LPCWSTR *ppwzPassword) { + return This->lpVtbl->GetPassword(This,pcchPassword,ppwzPassword); +} +static inline HRESULT IUriBuilder_GetPath(IUriBuilder* This,DWORD *pcchPath,LPCWSTR *ppwzPath) { + return This->lpVtbl->GetPath(This,pcchPath,ppwzPath); +} +static inline HRESULT IUriBuilder_GetPort(IUriBuilder* This,WINBOOL *pfHasPort,DWORD *pdwPort) { + return This->lpVtbl->GetPort(This,pfHasPort,pdwPort); +} +static inline HRESULT IUriBuilder_GetQuery(IUriBuilder* This,DWORD *pcchQuery,LPCWSTR *ppwzQuery) { + return This->lpVtbl->GetQuery(This,pcchQuery,ppwzQuery); +} +static inline HRESULT IUriBuilder_GetSchemeName(IUriBuilder* This,DWORD *pcchSchemeName,LPCWSTR *ppwzSchemeName) { + return This->lpVtbl->GetSchemeName(This,pcchSchemeName,ppwzSchemeName); +} +static inline HRESULT IUriBuilder_GetUserName(IUriBuilder* This,DWORD *pcchUserName,LPCWSTR *ppwzUserName) { + return This->lpVtbl->GetUserName(This,pcchUserName,ppwzUserName); +} +static inline HRESULT IUriBuilder_SetFragment(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetFragment(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetHost(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetHost(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetPassword(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetPassword(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetPath(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetPath(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetPort(IUriBuilder* This,WINBOOL fHasPort,DWORD dwNewValue) { + return This->lpVtbl->SetPort(This,fHasPort,dwNewValue); +} +static inline HRESULT IUriBuilder_SetQuery(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetQuery(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetSchemeName(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetSchemeName(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_SetUserName(IUriBuilder* This,LPCWSTR pwzNewValue) { + return This->lpVtbl->SetUserName(This,pwzNewValue); +} +static inline HRESULT IUriBuilder_RemoveProperties(IUriBuilder* This,DWORD dwPropertyMask) { + return This->lpVtbl->RemoveProperties(This,dwPropertyMask); +} +static inline HRESULT IUriBuilder_HasBeenModified(IUriBuilder* This,WINBOOL *pfModified) { + return This->lpVtbl->HasBeenModified(This,pfModified); +} +#endif +#endif + +#endif + + +#endif /* __IUriBuilder_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IUriBuilderFactory interface + */ +#ifndef __IUriBuilderFactory_INTERFACE_DEFINED__ +#define __IUriBuilderFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e982ce48-0b96-440c-bc37-0c869b27a29e") +IUriBuilderFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateIUriBuilder( + DWORD dwFlags, + DWORD_PTR dwReserved, + IUriBuilder **ppIUriBuilder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInitializedIUriBuilder( + DWORD dwFlags, + DWORD_PTR dwReserved, + IUriBuilder **ppIUriBuilder) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUriBuilderFactory, 0xe982ce48, 0x0b96, 0x440c, 0xbc,0x37, 0x0c,0x86,0x9b,0x27,0xa2,0x9e) +#endif +#else +typedef struct IUriBuilderFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUriBuilderFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUriBuilderFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUriBuilderFactory *This); + + /*** IUriBuilderFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateIUriBuilder)( + IUriBuilderFactory *This, + DWORD dwFlags, + DWORD_PTR dwReserved, + IUriBuilder **ppIUriBuilder); + + HRESULT (STDMETHODCALLTYPE *CreateInitializedIUriBuilder)( + IUriBuilderFactory *This, + DWORD dwFlags, + DWORD_PTR dwReserved, + IUriBuilder **ppIUriBuilder); + + END_INTERFACE +} IUriBuilderFactoryVtbl; + +interface IUriBuilderFactory { + CONST_VTBL IUriBuilderFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUriBuilderFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUriBuilderFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUriBuilderFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IUriBuilderFactory methods ***/ +#define IUriBuilderFactory_CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) +#define IUriBuilderFactory_CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) (This)->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUriBuilderFactory_QueryInterface(IUriBuilderFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUriBuilderFactory_AddRef(IUriBuilderFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUriBuilderFactory_Release(IUriBuilderFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IUriBuilderFactory methods ***/ +static inline HRESULT IUriBuilderFactory_CreateIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) { + return This->lpVtbl->CreateIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder); +} +static inline HRESULT IUriBuilderFactory_CreateInitializedIUriBuilder(IUriBuilderFactory* This,DWORD dwFlags,DWORD_PTR dwReserved,IUriBuilder **ppIUriBuilder) { + return This->lpVtbl->CreateInitializedIUriBuilder(This,dwFlags,dwReserved,ppIUriBuilder); +} +#endif +#endif + +#endif + + +#endif /* __IUriBuilderFactory_INTERFACE_DEFINED__ */ + + +STDAPI CreateIUriBuilder(IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef _LPWININETINFO_DEFINED +#define _LPWININETINFO_DEFINED + +/***************************************************************************** + * IWinInetInfo interface + */ +#ifndef __IWinInetInfo_INTERFACE_DEFINED__ +#define __IWinInetInfo_INTERFACE_DEFINED__ + +typedef IWinInetInfo *LPWININETINFO; +DEFINE_GUID(IID_IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d6-bafa-11ce-8c82-00aa004ba90b") +IWinInetInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryOption( + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetInfo, 0x79eac9d6, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IWinInetInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetInfo *This); + + /*** IWinInetInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryOption)( + IWinInetInfo *This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf); + + END_INTERFACE +} IWinInetInfoVtbl; + +interface IWinInetInfo { + CONST_VTBL IWinInetInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetInfo methods ***/ +#define IWinInetInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetInfo_QueryInterface(IWinInetInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetInfo_AddRef(IWinInetInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetInfo_Release(IWinInetInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetInfo methods ***/ +static inline HRESULT IWinInetInfo_QueryOption(IWinInetInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) { + return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IWinInetInfo_RemoteQueryOption_Proxy( + IWinInetInfo* This, + DWORD dwOption, + BYTE *pBuffer, + DWORD *pcbBuf); +void __RPC_STUB IWinInetInfo_RemoteQueryOption_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IWinInetInfo_QueryOption_Proxy( + IWinInetInfo* This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf); +HRESULT __RPC_STUB IWinInetInfo_QueryOption_Stub( + IWinInetInfo* This, + DWORD dwOption, + BYTE *pBuffer, + DWORD *pcbBuf); + +#endif /* __IWinInetInfo_INTERFACE_DEFINED__ */ + +#endif + +#define WININETINFO_OPTION_LOCK_HANDLE 65534 + +#ifndef _LPHTTPSECURITY_DEFINED +#define _LPHTTPSECURITY_DEFINED + +/***************************************************************************** + * IHttpSecurity interface + */ +#ifndef __IHttpSecurity_INTERFACE_DEFINED__ +#define __IHttpSecurity_INTERFACE_DEFINED__ + +typedef IHttpSecurity *LPHTTPSECURITY; + +DEFINE_GUID(IID_IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d7-bafa-11ce-8c82-00aa004ba90b") +IHttpSecurity : public IWindowForBindingUI +{ + virtual HRESULT STDMETHODCALLTYPE OnSecurityProblem( + DWORD dwProblem) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IHttpSecurity, 0x79eac9d7, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IHttpSecurityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IHttpSecurity *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IHttpSecurity *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IHttpSecurity *This); + + /*** IWindowForBindingUI methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWindow)( + IHttpSecurity *This, + REFGUID rguidReason, + HWND *phwnd); + + /*** IHttpSecurity methods ***/ + HRESULT (STDMETHODCALLTYPE *OnSecurityProblem)( + IHttpSecurity *This, + DWORD dwProblem); + + END_INTERFACE +} IHttpSecurityVtbl; + +interface IHttpSecurity { + CONST_VTBL IHttpSecurityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IHttpSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IHttpSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IHttpSecurity_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowForBindingUI methods ***/ +#define IHttpSecurity_GetWindow(This,rguidReason,phwnd) (This)->lpVtbl->GetWindow(This,rguidReason,phwnd) +/*** IHttpSecurity methods ***/ +#define IHttpSecurity_OnSecurityProblem(This,dwProblem) (This)->lpVtbl->OnSecurityProblem(This,dwProblem) +#else +/*** IUnknown methods ***/ +static inline HRESULT IHttpSecurity_QueryInterface(IHttpSecurity* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IHttpSecurity_AddRef(IHttpSecurity* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IHttpSecurity_Release(IHttpSecurity* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowForBindingUI methods ***/ +static inline HRESULT IHttpSecurity_GetWindow(IHttpSecurity* This,REFGUID rguidReason,HWND *phwnd) { + return This->lpVtbl->GetWindow(This,rguidReason,phwnd); +} +/*** IHttpSecurity methods ***/ +static inline HRESULT IHttpSecurity_OnSecurityProblem(IHttpSecurity* This,DWORD dwProblem) { + return This->lpVtbl->OnSecurityProblem(This,dwProblem); +} +#endif +#endif + +#endif + + +#endif /* __IHttpSecurity_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPWININETHTTPINFO_DEFINED +#define _LPWININETHTTPINFO_DEFINED + +/***************************************************************************** + * IWinInetHttpInfo interface + */ +#ifndef __IWinInetHttpInfo_INTERFACE_DEFINED__ +#define __IWinInetHttpInfo_INTERFACE_DEFINED__ + +typedef IWinInetHttpInfo *LPWININETHTTPINFO; + +DEFINE_GUID(IID_IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9d8-bafa-11ce-8c82-00aa004ba90b") +IWinInetHttpInfo : public IWinInetInfo +{ + virtual HRESULT STDMETHODCALLTYPE QueryInfo( + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf, + DWORD *pdwFlags, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetHttpInfo, 0x79eac9d8, 0xbafa, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IWinInetHttpInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetHttpInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetHttpInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetHttpInfo *This); + + /*** IWinInetInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryOption)( + IWinInetHttpInfo *This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf); + + /*** IWinInetHttpInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInfo)( + IWinInetHttpInfo *This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf, + DWORD *pdwFlags, + DWORD *pdwReserved); + + END_INTERFACE +} IWinInetHttpInfoVtbl; + +interface IWinInetHttpInfo { + CONST_VTBL IWinInetHttpInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetHttpInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetHttpInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetHttpInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetInfo methods ***/ +#define IWinInetHttpInfo_QueryOption(This,dwOption,pBuffer,pcbBuf) (This)->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf) +/*** IWinInetHttpInfo methods ***/ +#define IWinInetHttpInfo_QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) (This)->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetHttpInfo_QueryInterface(IWinInetHttpInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetHttpInfo_AddRef(IWinInetHttpInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetHttpInfo_Release(IWinInetHttpInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetInfo methods ***/ +static inline HRESULT IWinInetHttpInfo_QueryOption(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf) { + return This->lpVtbl->QueryOption(This,dwOption,pBuffer,pcbBuf); +} +/*** IWinInetHttpInfo methods ***/ +static inline HRESULT IWinInetHttpInfo_QueryInfo(IWinInetHttpInfo* This,DWORD dwOption,LPVOID pBuffer,DWORD *pcbBuf,DWORD *pdwFlags,DWORD *pdwReserved) { + return This->lpVtbl->QueryInfo(This,dwOption,pBuffer,pcbBuf,pdwFlags,pdwReserved); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IWinInetHttpInfo_RemoteQueryInfo_Proxy( + IWinInetHttpInfo* This, + DWORD dwOption, + BYTE *pBuffer, + DWORD *pcbBuf, + DWORD *pdwFlags, + DWORD *pdwReserved); +void __RPC_STUB IWinInetHttpInfo_RemoteQueryInfo_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IWinInetHttpInfo_QueryInfo_Proxy( + IWinInetHttpInfo* This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pcbBuf, + DWORD *pdwFlags, + DWORD *pdwReserved); +HRESULT __RPC_STUB IWinInetHttpInfo_QueryInfo_Stub( + IWinInetHttpInfo* This, + DWORD dwOption, + BYTE *pBuffer, + DWORD *pcbBuf, + DWORD *pdwFlags, + DWORD *pdwReserved); + +#endif /* __IWinInetHttpInfo_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPWININETHTTPTIMEOUTS_DEFINED +#define _LPWININETHTTPTIMEOUTS_DEFINED +/***************************************************************************** + * IWinInetHttpTimeouts interface + */ +#ifndef __IWinInetHttpTimeouts_INTERFACE_DEFINED__ +#define __IWinInetHttpTimeouts_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f286fa56-c1fd-4270-8e67-b3eb790a81e8") +IWinInetHttpTimeouts : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetRequestTimeouts( + DWORD *pdwConnectTimeout, + DWORD *pdwSendTimeout, + DWORD *pdwReceiveTimeout) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetHttpTimeouts, 0xf286fa56, 0xc1fd, 0x4270, 0x8e,0x67, 0xb3,0xeb,0x79,0x0a,0x81,0xe8) +#endif +#else +typedef struct IWinInetHttpTimeoutsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetHttpTimeouts *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetHttpTimeouts *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetHttpTimeouts *This); + + /*** IWinInetHttpTimeouts methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRequestTimeouts)( + IWinInetHttpTimeouts *This, + DWORD *pdwConnectTimeout, + DWORD *pdwSendTimeout, + DWORD *pdwReceiveTimeout); + + END_INTERFACE +} IWinInetHttpTimeoutsVtbl; + +interface IWinInetHttpTimeouts { + CONST_VTBL IWinInetHttpTimeoutsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetHttpTimeouts_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetHttpTimeouts_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetHttpTimeouts_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetHttpTimeouts methods ***/ +#define IWinInetHttpTimeouts_GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout) (This)->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetHttpTimeouts_QueryInterface(IWinInetHttpTimeouts* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetHttpTimeouts_AddRef(IWinInetHttpTimeouts* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetHttpTimeouts_Release(IWinInetHttpTimeouts* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetHttpTimeouts methods ***/ +static inline HRESULT IWinInetHttpTimeouts_GetRequestTimeouts(IWinInetHttpTimeouts* This,DWORD *pdwConnectTimeout,DWORD *pdwSendTimeout,DWORD *pdwReceiveTimeout) { + return This->lpVtbl->GetRequestTimeouts(This,pdwConnectTimeout,pdwSendTimeout,pdwReceiveTimeout); +} +#endif +#endif + +#endif + + +#endif /* __IWinInetHttpTimeouts_INTERFACE_DEFINED__ */ + +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#ifndef _LPWININETCACHEHINTS_DEFINED +#define _LPWININETCACHEHINTS_DEFINED + +/***************************************************************************** + * IWinInetCacheHints interface + */ +#ifndef __IWinInetCacheHints_INTERFACE_DEFINED__ +#define __IWinInetCacheHints_INTERFACE_DEFINED__ + +typedef IWinInetCacheHints *LPWININETCACHEHINTS; + +DEFINE_GUID(IID_IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dd1ec3b3-8391-4fdb-a9e6-347c3caaa7dd") +IWinInetCacheHints : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetCacheExtension( + LPCWSTR pwzExt, + LPVOID pszCacheFile, + DWORD *pcbCacheFile, + DWORD *pdwWinInetError, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetCacheHints, 0xdd1ec3b3, 0x8391, 0x4fdb, 0xa9,0xe6, 0x34,0x7c,0x3c,0xaa,0xa7,0xdd) +#endif +#else +typedef struct IWinInetCacheHintsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetCacheHints *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetCacheHints *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetCacheHints *This); + + /*** IWinInetCacheHints methods ***/ + HRESULT (STDMETHODCALLTYPE *SetCacheExtension)( + IWinInetCacheHints *This, + LPCWSTR pwzExt, + LPVOID pszCacheFile, + DWORD *pcbCacheFile, + DWORD *pdwWinInetError, + DWORD *pdwReserved); + + END_INTERFACE +} IWinInetCacheHintsVtbl; + +interface IWinInetCacheHints { + CONST_VTBL IWinInetCacheHintsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetCacheHints_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetCacheHints_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetCacheHints_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetCacheHints methods ***/ +#define IWinInetCacheHints_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetCacheHints_QueryInterface(IWinInetCacheHints* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetCacheHints_AddRef(IWinInetCacheHints* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetCacheHints_Release(IWinInetCacheHints* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetCacheHints methods ***/ +static inline HRESULT IWinInetCacheHints_SetCacheExtension(IWinInetCacheHints* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { + return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWinInetCacheHints_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#ifndef _LPWININETCACHEHINTS2_DEFINED +#define _LPWININETCACHEHINTS2_DEFINED + +/***************************************************************************** + * IWinInetCacheHints2 interface + */ +#ifndef __IWinInetCacheHints2_INTERFACE_DEFINED__ +#define __IWinInetCacheHints2_INTERFACE_DEFINED__ + +typedef IWinInetCacheHints2 *LPWININETCACHEHINTS2; + +DEFINE_GUID(IID_IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7857aeac-d31f-49bf-884e-dd46df36780a") +IWinInetCacheHints2 : public IWinInetCacheHints +{ + virtual HRESULT STDMETHODCALLTYPE SetCacheExtension2( + LPCWSTR pwzExt, + WCHAR *pwzCacheFile, + DWORD *pcchCacheFile, + DWORD *pdwWinInetError, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWinInetCacheHints2, 0x7857aeac, 0xd31f, 0x49bf, 0x88,0x4e, 0xdd,0x46,0xdf,0x36,0x78,0x0a) +#endif +#else +typedef struct IWinInetCacheHints2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWinInetCacheHints2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWinInetCacheHints2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWinInetCacheHints2 *This); + + /*** IWinInetCacheHints methods ***/ + HRESULT (STDMETHODCALLTYPE *SetCacheExtension)( + IWinInetCacheHints2 *This, + LPCWSTR pwzExt, + LPVOID pszCacheFile, + DWORD *pcbCacheFile, + DWORD *pdwWinInetError, + DWORD *pdwReserved); + + /*** IWinInetCacheHints2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetCacheExtension2)( + IWinInetCacheHints2 *This, + LPCWSTR pwzExt, + WCHAR *pwzCacheFile, + DWORD *pcchCacheFile, + DWORD *pdwWinInetError, + DWORD *pdwReserved); + + END_INTERFACE +} IWinInetCacheHints2Vtbl; + +interface IWinInetCacheHints2 { + CONST_VTBL IWinInetCacheHints2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWinInetCacheHints2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWinInetCacheHints2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWinInetCacheHints2_Release(This) (This)->lpVtbl->Release(This) +/*** IWinInetCacheHints methods ***/ +#define IWinInetCacheHints2_SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved) +/*** IWinInetCacheHints2 methods ***/ +#define IWinInetCacheHints2_SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved) (This)->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWinInetCacheHints2_QueryInterface(IWinInetCacheHints2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWinInetCacheHints2_AddRef(IWinInetCacheHints2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWinInetCacheHints2_Release(IWinInetCacheHints2* This) { + return This->lpVtbl->Release(This); +} +/*** IWinInetCacheHints methods ***/ +static inline HRESULT IWinInetCacheHints2_SetCacheExtension(IWinInetCacheHints2* This,LPCWSTR pwzExt,LPVOID pszCacheFile,DWORD *pcbCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { + return This->lpVtbl->SetCacheExtension(This,pwzExt,pszCacheFile,pcbCacheFile,pdwWinInetError,pdwReserved); +} +/*** IWinInetCacheHints2 methods ***/ +static inline HRESULT IWinInetCacheHints2_SetCacheExtension2(IWinInetCacheHints2* This,LPCWSTR pwzExt,WCHAR *pwzCacheFile,DWORD *pcchCacheFile,DWORD *pdwWinInetError,DWORD *pdwReserved) { + return This->lpVtbl->SetCacheExtension2(This,pwzExt,pwzCacheFile,pcchCacheFile,pdwWinInetError,pdwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWinInetCacheHints2_INTERFACE_DEFINED__ */ + +#endif +#endif + +#define SID_IBindHost IID_IBindHost +#define SID_SBindHost IID_IBindHost + +#ifndef _LPBINDHOST_DEFINED +#define _LPBINDHOST_DEFINED + +EXTERN_C const GUID SID_BindHost; + +/***************************************************************************** + * IBindHost interface + */ +#ifndef __IBindHost_INTERFACE_DEFINED__ +#define __IBindHost_INTERFACE_DEFINED__ + +typedef IBindHost *LPBINDHOST; + +DEFINE_GUID(IID_IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fc4801a1-2ba9-11cf-a229-00aa003d7352") +IBindHost : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateMoniker( + LPOLESTR szName, + IBindCtx *pBC, + IMoniker **ppmk, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE MonikerBindToStorage( + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj) = 0; + + virtual HRESULT STDMETHODCALLTYPE MonikerBindToObject( + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBindHost, 0xfc4801a1, 0x2ba9, 0x11cf, 0xa2,0x29, 0x00,0xaa,0x00,0x3d,0x73,0x52) +#endif +#else +typedef struct IBindHostVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBindHost *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBindHost *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBindHost *This); + + /*** IBindHost methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateMoniker)( + IBindHost *This, + LPOLESTR szName, + IBindCtx *pBC, + IMoniker **ppmk, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *MonikerBindToStorage)( + IBindHost *This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj); + + HRESULT (STDMETHODCALLTYPE *MonikerBindToObject)( + IBindHost *This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj); + + END_INTERFACE +} IBindHostVtbl; + +interface IBindHost { + CONST_VTBL IBindHostVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBindHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBindHost_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindHost_Release(This) (This)->lpVtbl->Release(This) +/*** IBindHost methods ***/ +#define IBindHost_CreateMoniker(This,szName,pBC,ppmk,dwReserved) (This)->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved) +#define IBindHost_MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj) +#define IBindHost_MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) (This)->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBindHost_QueryInterface(IBindHost* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBindHost_AddRef(IBindHost* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBindHost_Release(IBindHost* This) { + return This->lpVtbl->Release(This); +} +/*** IBindHost methods ***/ +static inline HRESULT IBindHost_CreateMoniker(IBindHost* This,LPOLESTR szName,IBindCtx *pBC,IMoniker **ppmk,DWORD dwReserved) { + return This->lpVtbl->CreateMoniker(This,szName,pBC,ppmk,dwReserved); +} +static inline HRESULT IBindHost_MonikerBindToStorage(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) { + return This->lpVtbl->MonikerBindToStorage(This,pMk,pBC,pBSC,riid,ppvObj); +} +static inline HRESULT IBindHost_MonikerBindToObject(IBindHost* This,IMoniker *pMk,IBindCtx *pBC,IBindStatusCallback *pBSC,REFIID riid,void **ppvObj) { + return This->lpVtbl->MonikerBindToObject(This,pMk,pBC,pBSC,riid,ppvObj); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToStorage_Proxy( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + IUnknown **ppvObj); +void __RPC_STUB IBindHost_RemoteMonikerBindToStorage_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IBindHost_RemoteMonikerBindToObject_Proxy( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + IUnknown **ppvObj); +void __RPC_STUB IBindHost_RemoteMonikerBindToObject_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT CALLBACK IBindHost_MonikerBindToStorage_Proxy( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj); +HRESULT __RPC_STUB IBindHost_MonikerBindToStorage_Stub( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + IUnknown **ppvObj); +HRESULT CALLBACK IBindHost_MonikerBindToObject_Proxy( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + void **ppvObj); +HRESULT __RPC_STUB IBindHost_MonikerBindToObject_Stub( + IBindHost* This, + IMoniker *pMk, + IBindCtx *pBC, + IBindStatusCallback *pBSC, + REFIID riid, + IUnknown **ppvObj); + +#endif /* __IBindHost_INTERFACE_DEFINED__ */ + +#endif + +#define URLOSTRM_USECACHEDCOPY_ONLY 0x1 +#define URLOSTRM_USECACHEDCOPY 0x2 +#define URLOSTRM_GETNEWESTVERSION 0x3 + +struct IBindStatusCallback; +STDAPI HlinkSimpleNavigateToString(LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved); +STDAPI HlinkSimpleNavigateToMoniker(IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved); +STDAPI URLOpenStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLOpenStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLOpenPullStreamA(LPUNKNOWN,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLOpenPullStreamW(LPUNKNOWN,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLDownloadToFileA(LPUNKNOWN,LPCSTR,LPCSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLDownloadToFileW(LPUNKNOWN,LPCWSTR,LPCWSTR,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLDownloadToCacheFileA(LPUNKNOWN, LPCSTR, LPSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK); +STDAPI URLDownloadToCacheFileW(LPUNKNOWN, LPCWSTR, LPWSTR, DWORD, DWORD, LPBINDSTATUSCALLBACK); +STDAPI URLOpenBlockingStreamA(LPUNKNOWN,LPCSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); +STDAPI URLOpenBlockingStreamW(LPUNKNOWN,LPCWSTR,LPSTREAM*,DWORD,LPBINDSTATUSCALLBACK); + +#define URLOpenStream __MINGW_NAME_AW(URLOpenStream) +#define URLOpenPullStream __MINGW_NAME_AW(URLOpenPullStream) +#define URLDownloadToFile __MINGW_NAME_AW(URLDownloadToFile) +#define URLDownloadToCacheFile __MINGW_NAME_AW(URLDownloadToCacheFile) +#define URLOpenBlockingStream __MINGW_NAME_AW(URLOpenBlockingStream) + +STDAPI HlinkGoBack(IUnknown *pUnk); +STDAPI HlinkGoForward(IUnknown *pUnk); +STDAPI HlinkNavigateString(IUnknown *pUnk, LPCWSTR szTarget); +STDAPI HlinkNavigateMoniker(IUnknown *pUnk, IMoniker *pmkTarget); + +#ifndef _URLMON_NO_ASYNC_PLUGABLE_PROTOCOLS_ +#ifndef __IInternet_FWD_DEFINED__ +#define __IInternet_FWD_DEFINED__ +typedef interface IInternet IInternet; +#ifdef __cplusplus +interface IInternet; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetBindInfo_FWD_DEFINED__ +#define __IInternetBindInfo_FWD_DEFINED__ +typedef interface IInternetBindInfo IInternetBindInfo; +#ifdef __cplusplus +interface IInternetBindInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetBindInfoEx_FWD_DEFINED__ +#define __IInternetBindInfoEx_FWD_DEFINED__ +typedef interface IInternetBindInfoEx IInternetBindInfoEx; +#ifdef __cplusplus +interface IInternetBindInfoEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolRoot_FWD_DEFINED__ +#define __IInternetProtocolRoot_FWD_DEFINED__ +typedef interface IInternetProtocolRoot IInternetProtocolRoot; +#ifdef __cplusplus +interface IInternetProtocolRoot; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocol_FWD_DEFINED__ +#define __IInternetProtocol_FWD_DEFINED__ +typedef interface IInternetProtocol IInternetProtocol; +#ifdef __cplusplus +interface IInternetProtocol; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolEx_FWD_DEFINED__ +#define __IInternetProtocolEx_FWD_DEFINED__ +typedef interface IInternetProtocolEx IInternetProtocolEx; +#ifdef __cplusplus +interface IInternetProtocolEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolSink_FWD_DEFINED__ +#define __IInternetProtocolSink_FWD_DEFINED__ +typedef interface IInternetProtocolSink IInternetProtocolSink; +#ifdef __cplusplus +interface IInternetProtocolSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolInfo_FWD_DEFINED__ +#define __IInternetProtocolInfo_FWD_DEFINED__ +typedef interface IInternetProtocolInfo IInternetProtocolInfo; +#ifdef __cplusplus +interface IInternetProtocolInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetSession_FWD_DEFINED__ +#define __IInternetSession_FWD_DEFINED__ +typedef interface IInternetSession IInternetSession; +#ifdef __cplusplus +interface IInternetSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IInternetProtocolSinkStackable_FWD_DEFINED__ +#define __IInternetProtocolSinkStackable_FWD_DEFINED__ +typedef interface IInternetProtocolSinkStackable IInternetProtocolSinkStackable; +#ifdef __cplusplus +interface IInternetProtocolSinkStackable; +#endif /* __cplusplus */ +#endif + + +#ifndef _LPIINTERNET +#define _LPIINTERNET + +/***************************************************************************** + * IInternet interface + */ +#ifndef __IInternet_INTERFACE_DEFINED__ +#define __IInternet_INTERFACE_DEFINED__ + +typedef IInternet *LPIINTERNET; +DEFINE_GUID(IID_IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e0-baf9-11ce-8c82-00aa004ba90b") +IInternet : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternet, 0x79eac9e0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternet *This); + + END_INTERFACE +} IInternetVtbl; + +interface IInternet { + CONST_VTBL IInternetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternet_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternet_QueryInterface(IInternet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternet_AddRef(IInternet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternet_Release(IInternet* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternet_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETBINDINFO +#define _LPIINTERNETBINDINFO + +/***************************************************************************** + * IInternetBindInfo interface + */ +#ifndef __IInternetBindInfo_INTERFACE_DEFINED__ +#define __IInternetBindInfo_INTERFACE_DEFINED__ + +typedef IInternetBindInfo *LPIINTERNETBINDINFO; + +typedef enum tagBINDSTRING { + BINDSTRING_HEADERS = 1, + BINDSTRING_ACCEPT_MIMES = 2, + BINDSTRING_EXTRA_URL = 3, + BINDSTRING_LANGUAGE = 4, + BINDSTRING_USERNAME = 5, + BINDSTRING_PASSWORD = 6, + BINDSTRING_UA_PIXELS = 7, + BINDSTRING_UA_COLOR = 8, + BINDSTRING_OS = 9, + BINDSTRING_USER_AGENT = 10, + BINDSTRING_ACCEPT_ENCODINGS = 11, + BINDSTRING_POST_COOKIE = 12, + BINDSTRING_POST_DATA_MIME = 13, + BINDSTRING_URL = 14, + BINDSTRING_IID = 15, + BINDSTRING_FLAG_BIND_TO_OBJECT = 16, + BINDSTRING_PTR_BIND_CONTEXT = 17, + BINDSTRING_XDR_ORIGIN = 18, + BINDSTRING_DOWNLOADPATH = 19, + BINDSTRING_ROOTDOC_URL = 20, + BINDSTRING_INITIAL_FILENAME = 21, + BINDSTRING_PROXY_USERNAME = 22, + BINDSTRING_PROXY_PASSWORD = 23 +} BINDSTRING; + +DEFINE_GUID(IID_IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e1-baf9-11ce-8c82-00aa004ba90b") +IInternetBindInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetBindInfo( + DWORD *grfBINDF, + BINDINFO *pbindinfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBindString( + ULONG ulStringType, + LPOLESTR *ppwzStr, + ULONG cEl, + ULONG *pcElFetched) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetBindInfo, 0x79eac9e1, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetBindInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetBindInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetBindInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetBindInfo *This); + + /*** IInternetBindInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBindInfo)( + IInternetBindInfo *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo); + + HRESULT (STDMETHODCALLTYPE *GetBindString)( + IInternetBindInfo *This, + ULONG ulStringType, + LPOLESTR *ppwzStr, + ULONG cEl, + ULONG *pcElFetched); + + END_INTERFACE +} IInternetBindInfoVtbl; + +interface IInternetBindInfo { + CONST_VTBL IInternetBindInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetBindInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetBindInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetBindInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetBindInfo methods ***/ +#define IInternetBindInfo_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) +#define IInternetBindInfo_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetBindInfo_QueryInterface(IInternetBindInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetBindInfo_AddRef(IInternetBindInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetBindInfo_Release(IInternetBindInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetBindInfo methods ***/ +static inline HRESULT IInternetBindInfo_GetBindInfo(IInternetBindInfo* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { + return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); +} +static inline HRESULT IInternetBindInfo_GetBindString(IInternetBindInfo* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) { + return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched); +} +#endif +#endif + +#endif + + +#endif /* __IInternetBindInfo_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETBINDINFOEX +#define _LPIINTERNETBINDINFOEX + +/***************************************************************************** + * IInternetBindInfoEx interface + */ +#ifndef __IInternetBindInfoEx_INTERFACE_DEFINED__ +#define __IInternetBindInfoEx_INTERFACE_DEFINED__ + +typedef IInternetBindInfoEx *LPIINTERNETBINDINFOEX; + +DEFINE_GUID(IID_IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a3e015b7-a82c-4dcd-a150-569aeeed36ab") +IInternetBindInfoEx : public IInternetBindInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetBindInfoEx( + DWORD *grfBINDF, + BINDINFO *pbindinfo, + DWORD *grfBINDF2, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetBindInfoEx, 0xa3e015b7, 0xa82c, 0x4dcd, 0xa1,0x50, 0x56,0x9a,0xee,0xed,0x36,0xab) +#endif +#else +typedef struct IInternetBindInfoExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetBindInfoEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetBindInfoEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetBindInfoEx *This); + + /*** IInternetBindInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBindInfo)( + IInternetBindInfoEx *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo); + + HRESULT (STDMETHODCALLTYPE *GetBindString)( + IInternetBindInfoEx *This, + ULONG ulStringType, + LPOLESTR *ppwzStr, + ULONG cEl, + ULONG *pcElFetched); + + /*** IInternetBindInfoEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBindInfoEx)( + IInternetBindInfoEx *This, + DWORD *grfBINDF, + BINDINFO *pbindinfo, + DWORD *grfBINDF2, + DWORD *pdwReserved); + + END_INTERFACE +} IInternetBindInfoExVtbl; + +interface IInternetBindInfoEx { + CONST_VTBL IInternetBindInfoExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetBindInfoEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetBindInfoEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetBindInfoEx_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetBindInfo methods ***/ +#define IInternetBindInfoEx_GetBindInfo(This,grfBINDF,pbindinfo) (This)->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo) +#define IInternetBindInfoEx_GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) (This)->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched) +/*** IInternetBindInfoEx methods ***/ +#define IInternetBindInfoEx_GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) (This)->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetBindInfoEx_QueryInterface(IInternetBindInfoEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetBindInfoEx_AddRef(IInternetBindInfoEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetBindInfoEx_Release(IInternetBindInfoEx* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetBindInfo methods ***/ +static inline HRESULT IInternetBindInfoEx_GetBindInfo(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo) { + return This->lpVtbl->GetBindInfo(This,grfBINDF,pbindinfo); +} +static inline HRESULT IInternetBindInfoEx_GetBindString(IInternetBindInfoEx* This,ULONG ulStringType,LPOLESTR *ppwzStr,ULONG cEl,ULONG *pcElFetched) { + return This->lpVtbl->GetBindString(This,ulStringType,ppwzStr,cEl,pcElFetched); +} +/*** IInternetBindInfoEx methods ***/ +static inline HRESULT IInternetBindInfoEx_GetBindInfoEx(IInternetBindInfoEx* This,DWORD *grfBINDF,BINDINFO *pbindinfo,DWORD *grfBINDF2,DWORD *pdwReserved) { + return This->lpVtbl->GetBindInfoEx(This,grfBINDF,pbindinfo,grfBINDF2,pdwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetBindInfoEx_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETPROTOCOLROOT_DEFINED +#define _LPIINTERNETPROTOCOLROOT_DEFINED + +/***************************************************************************** + * IInternetProtocolRoot interface + */ +#ifndef __IInternetProtocolRoot_INTERFACE_DEFINED__ +#define __IInternetProtocolRoot_INTERFACE_DEFINED__ + +typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT; + +typedef enum _tagPI_FLAGS { + PI_PARSE_URL = 0x1, + PI_FILTER_MODE = 0x2, + PI_FORCE_ASYNC = 0x4, + PI_USE_WORKERTHREAD = 0x8, + PI_MIMEVERIFICATION = 0x10, + PI_CLSIDLOOKUP = 0x20, + PI_DATAPROGRESS = 0x40, + PI_SYNCHRONOUS = 0x80, + PI_APARTMENTTHREADED = 0x100, + PI_CLASSINSTALL = 0x200, + PI_PASSONBINDCTX = 0x2000, + PI_NOMIMEHANDLER = 0x8000, + PI_LOADAPPDIRECT = 0x4000, + PD_FORCE_SWITCH = 0x10000, + PI_PREFERDEFAULTHANDLER = 0x20000 +} PI_FLAGS; +typedef struct _tagPROTOCOLDATA { + DWORD grfFlags; + DWORD dwState; + LPVOID pData; + ULONG cbData; +} PROTOCOLDATA; + +typedef struct _tagStartParam { + IID iid; + IBindCtx *pIBindCtx; + IUnknown *pItf; +} StartParam; + +DEFINE_GUID(IID_IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e3-baf9-11ce-8c82-00aa004ba90b") +IInternetProtocolRoot : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Start( + LPCWSTR szUrl, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE Continue( + PROTOCOLDATA *pProtocolData) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abort( + HRESULT hrReason, + DWORD dwOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE Terminate( + DWORD dwOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE Suspend( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocolRoot, 0x79eac9e3, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetProtocolRootVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocolRoot *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocolRoot *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocolRoot *This); + + /*** IInternetProtocolRoot methods ***/ + HRESULT (STDMETHODCALLTYPE *Start)( + IInternetProtocolRoot *This, + LPCWSTR szUrl, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *Continue)( + IInternetProtocolRoot *This, + PROTOCOLDATA *pProtocolData); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IInternetProtocolRoot *This, + HRESULT hrReason, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IInternetProtocolRoot *This, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Suspend)( + IInternetProtocolRoot *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IInternetProtocolRoot *This); + + END_INTERFACE +} IInternetProtocolRootVtbl; + +interface IInternetProtocolRoot { + CONST_VTBL IInternetProtocolRootVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocolRoot_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocolRoot_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocolRoot_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolRoot methods ***/ +#define IInternetProtocolRoot_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) +#define IInternetProtocolRoot_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) +#define IInternetProtocolRoot_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) +#define IInternetProtocolRoot_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) +#define IInternetProtocolRoot_Suspend(This) (This)->lpVtbl->Suspend(This) +#define IInternetProtocolRoot_Resume(This) (This)->lpVtbl->Resume(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocolRoot_QueryInterface(IInternetProtocolRoot* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocolRoot_AddRef(IInternetProtocolRoot* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocolRoot_Release(IInternetProtocolRoot* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolRoot methods ***/ +static inline HRESULT IInternetProtocolRoot_Start(IInternetProtocolRoot* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { + return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); +} +static inline HRESULT IInternetProtocolRoot_Continue(IInternetProtocolRoot* This,PROTOCOLDATA *pProtocolData) { + return This->lpVtbl->Continue(This,pProtocolData); +} +static inline HRESULT IInternetProtocolRoot_Abort(IInternetProtocolRoot* This,HRESULT hrReason,DWORD dwOptions) { + return This->lpVtbl->Abort(This,hrReason,dwOptions); +} +static inline HRESULT IInternetProtocolRoot_Terminate(IInternetProtocolRoot* This,DWORD dwOptions) { + return This->lpVtbl->Terminate(This,dwOptions); +} +static inline HRESULT IInternetProtocolRoot_Suspend(IInternetProtocolRoot* This) { + return This->lpVtbl->Suspend(This); +} +static inline HRESULT IInternetProtocolRoot_Resume(IInternetProtocolRoot* This) { + return This->lpVtbl->Resume(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocolRoot_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETPROTOCOL_DEFINED +#define _LPIINTERNETPROTOCOL_DEFINED + +/***************************************************************************** + * IInternetProtocol interface + */ +#ifndef __IInternetProtocol_INTERFACE_DEFINED__ +#define __IInternetProtocol_INTERFACE_DEFINED__ + +typedef IInternetProtocol *LPIINTERNETPROTOCOL; + +DEFINE_GUID(IID_IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e4-baf9-11ce-8c82-00aa004ba90b") +IInternetProtocol : public IInternetProtocolRoot +{ + virtual HRESULT STDMETHODCALLTYPE Read( + void *pv, + ULONG cb, + ULONG *pcbRead) = 0; + + virtual HRESULT STDMETHODCALLTYPE Seek( + LARGE_INTEGER dlibMove, + DWORD dwOrigin, + ULARGE_INTEGER *plibNewPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockRequest( + DWORD dwOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnlockRequest( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocol, 0x79eac9e4, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetProtocolVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocol *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocol *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocol *This); + + /*** IInternetProtocolRoot methods ***/ + HRESULT (STDMETHODCALLTYPE *Start)( + IInternetProtocol *This, + LPCWSTR szUrl, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *Continue)( + IInternetProtocol *This, + PROTOCOLDATA *pProtocolData); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IInternetProtocol *This, + HRESULT hrReason, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IInternetProtocol *This, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Suspend)( + IInternetProtocol *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IInternetProtocol *This); + + /*** IInternetProtocol methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IInternetProtocol *This, + void *pv, + ULONG cb, + ULONG *pcbRead); + + HRESULT (STDMETHODCALLTYPE *Seek)( + IInternetProtocol *This, + LARGE_INTEGER dlibMove, + DWORD dwOrigin, + ULARGE_INTEGER *plibNewPosition); + + HRESULT (STDMETHODCALLTYPE *LockRequest)( + IInternetProtocol *This, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *UnlockRequest)( + IInternetProtocol *This); + + END_INTERFACE +} IInternetProtocolVtbl; + +interface IInternetProtocol { + CONST_VTBL IInternetProtocolVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocol_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolRoot methods ***/ +#define IInternetProtocol_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) +#define IInternetProtocol_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) +#define IInternetProtocol_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) +#define IInternetProtocol_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) +#define IInternetProtocol_Suspend(This) (This)->lpVtbl->Suspend(This) +#define IInternetProtocol_Resume(This) (This)->lpVtbl->Resume(This) +/*** IInternetProtocol methods ***/ +#define IInternetProtocol_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) +#define IInternetProtocol_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) +#define IInternetProtocol_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions) +#define IInternetProtocol_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocol_QueryInterface(IInternetProtocol* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocol_AddRef(IInternetProtocol* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocol_Release(IInternetProtocol* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolRoot methods ***/ +static inline HRESULT IInternetProtocol_Start(IInternetProtocol* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { + return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); +} +static inline HRESULT IInternetProtocol_Continue(IInternetProtocol* This,PROTOCOLDATA *pProtocolData) { + return This->lpVtbl->Continue(This,pProtocolData); +} +static inline HRESULT IInternetProtocol_Abort(IInternetProtocol* This,HRESULT hrReason,DWORD dwOptions) { + return This->lpVtbl->Abort(This,hrReason,dwOptions); +} +static inline HRESULT IInternetProtocol_Terminate(IInternetProtocol* This,DWORD dwOptions) { + return This->lpVtbl->Terminate(This,dwOptions); +} +static inline HRESULT IInternetProtocol_Suspend(IInternetProtocol* This) { + return This->lpVtbl->Suspend(This); +} +static inline HRESULT IInternetProtocol_Resume(IInternetProtocol* This) { + return This->lpVtbl->Resume(This); +} +/*** IInternetProtocol methods ***/ +static inline HRESULT IInternetProtocol_Read(IInternetProtocol* This,void *pv,ULONG cb,ULONG *pcbRead) { + return This->lpVtbl->Read(This,pv,cb,pcbRead); +} +static inline HRESULT IInternetProtocol_Seek(IInternetProtocol* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { + return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); +} +static inline HRESULT IInternetProtocol_LockRequest(IInternetProtocol* This,DWORD dwOptions) { + return This->lpVtbl->LockRequest(This,dwOptions); +} +static inline HRESULT IInternetProtocol_UnlockRequest(IInternetProtocol* This) { + return This->lpVtbl->UnlockRequest(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocol_INTERFACE_DEFINED__ */ + +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#ifndef _LPIINTERNETPROTOCOLEX_DEFINED +#define _LPIINTERNETPROTOCOLEX_DEFINED + +/***************************************************************************** + * IInternetProtocolEx interface + */ +#ifndef __IInternetProtocolEx_INTERFACE_DEFINED__ +#define __IInternetProtocolEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c7a98e66-1010-492c-a1c8-c809e1f75905") +IInternetProtocolEx : public IInternetProtocol +{ + virtual HRESULT STDMETHODCALLTYPE StartEx( + IUri *pUri, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocolEx, 0xc7a98e66, 0x1010, 0x492c, 0xa1,0xc8, 0xc8,0x09,0xe1,0xf7,0x59,0x05) +#endif +#else +typedef struct IInternetProtocolExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocolEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocolEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocolEx *This); + + /*** IInternetProtocolRoot methods ***/ + HRESULT (STDMETHODCALLTYPE *Start)( + IInternetProtocolEx *This, + LPCWSTR szUrl, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *Continue)( + IInternetProtocolEx *This, + PROTOCOLDATA *pProtocolData); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IInternetProtocolEx *This, + HRESULT hrReason, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IInternetProtocolEx *This, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *Suspend)( + IInternetProtocolEx *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IInternetProtocolEx *This); + + /*** IInternetProtocol methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IInternetProtocolEx *This, + void *pv, + ULONG cb, + ULONG *pcbRead); + + HRESULT (STDMETHODCALLTYPE *Seek)( + IInternetProtocolEx *This, + LARGE_INTEGER dlibMove, + DWORD dwOrigin, + ULARGE_INTEGER *plibNewPosition); + + HRESULT (STDMETHODCALLTYPE *LockRequest)( + IInternetProtocolEx *This, + DWORD dwOptions); + + HRESULT (STDMETHODCALLTYPE *UnlockRequest)( + IInternetProtocolEx *This); + + /*** IInternetProtocolEx methods ***/ + HRESULT (STDMETHODCALLTYPE *StartEx)( + IInternetProtocolEx *This, + IUri *pUri, + IInternetProtocolSink *pOIProtSink, + IInternetBindInfo *pOIBindInfo, + DWORD grfPI, + HANDLE_PTR dwReserved); + + END_INTERFACE +} IInternetProtocolExVtbl; + +interface IInternetProtocolEx { + CONST_VTBL IInternetProtocolExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocolEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocolEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocolEx_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolRoot methods ***/ +#define IInternetProtocolEx_Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved) +#define IInternetProtocolEx_Continue(This,pProtocolData) (This)->lpVtbl->Continue(This,pProtocolData) +#define IInternetProtocolEx_Abort(This,hrReason,dwOptions) (This)->lpVtbl->Abort(This,hrReason,dwOptions) +#define IInternetProtocolEx_Terminate(This,dwOptions) (This)->lpVtbl->Terminate(This,dwOptions) +#define IInternetProtocolEx_Suspend(This) (This)->lpVtbl->Suspend(This) +#define IInternetProtocolEx_Resume(This) (This)->lpVtbl->Resume(This) +/*** IInternetProtocol methods ***/ +#define IInternetProtocolEx_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) +#define IInternetProtocolEx_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) +#define IInternetProtocolEx_LockRequest(This,dwOptions) (This)->lpVtbl->LockRequest(This,dwOptions) +#define IInternetProtocolEx_UnlockRequest(This) (This)->lpVtbl->UnlockRequest(This) +/*** IInternetProtocolEx methods ***/ +#define IInternetProtocolEx_StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved) (This)->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocolEx_QueryInterface(IInternetProtocolEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocolEx_AddRef(IInternetProtocolEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocolEx_Release(IInternetProtocolEx* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolRoot methods ***/ +static inline HRESULT IInternetProtocolEx_Start(IInternetProtocolEx* This,LPCWSTR szUrl,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { + return This->lpVtbl->Start(This,szUrl,pOIProtSink,pOIBindInfo,grfPI,dwReserved); +} +static inline HRESULT IInternetProtocolEx_Continue(IInternetProtocolEx* This,PROTOCOLDATA *pProtocolData) { + return This->lpVtbl->Continue(This,pProtocolData); +} +static inline HRESULT IInternetProtocolEx_Abort(IInternetProtocolEx* This,HRESULT hrReason,DWORD dwOptions) { + return This->lpVtbl->Abort(This,hrReason,dwOptions); +} +static inline HRESULT IInternetProtocolEx_Terminate(IInternetProtocolEx* This,DWORD dwOptions) { + return This->lpVtbl->Terminate(This,dwOptions); +} +static inline HRESULT IInternetProtocolEx_Suspend(IInternetProtocolEx* This) { + return This->lpVtbl->Suspend(This); +} +static inline HRESULT IInternetProtocolEx_Resume(IInternetProtocolEx* This) { + return This->lpVtbl->Resume(This); +} +/*** IInternetProtocol methods ***/ +static inline HRESULT IInternetProtocolEx_Read(IInternetProtocolEx* This,void *pv,ULONG cb,ULONG *pcbRead) { + return This->lpVtbl->Read(This,pv,cb,pcbRead); +} +static inline HRESULT IInternetProtocolEx_Seek(IInternetProtocolEx* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { + return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); +} +static inline HRESULT IInternetProtocolEx_LockRequest(IInternetProtocolEx* This,DWORD dwOptions) { + return This->lpVtbl->LockRequest(This,dwOptions); +} +static inline HRESULT IInternetProtocolEx_UnlockRequest(IInternetProtocolEx* This) { + return This->lpVtbl->UnlockRequest(This); +} +/*** IInternetProtocolEx methods ***/ +static inline HRESULT IInternetProtocolEx_StartEx(IInternetProtocolEx* This,IUri *pUri,IInternetProtocolSink *pOIProtSink,IInternetBindInfo *pOIBindInfo,DWORD grfPI,HANDLE_PTR dwReserved) { + return This->lpVtbl->StartEx(This,pUri,pOIProtSink,pOIBindInfo,grfPI,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocolEx_INTERFACE_DEFINED__ */ + +#endif +#endif + +#ifndef _LPIINTERNETPROTOCOLSINK_DEFINED +#define _LPIINTERNETPROTOCOLSINK_DEFINED +/***************************************************************************** + * IInternetProtocolSink interface + */ +#ifndef __IInternetProtocolSink_INTERFACE_DEFINED__ +#define __IInternetProtocolSink_INTERFACE_DEFINED__ + +typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK; + +DEFINE_GUID(IID_IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e5-baf9-11ce-8c82-00aa004ba90b") +IInternetProtocolSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Switch( + PROTOCOLDATA *pProtocolData) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReportProgress( + ULONG ulStatusCode, + LPCWSTR szStatusText) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReportData( + DWORD grfBSCF, + ULONG ulProgress, + ULONG ulProgressMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReportResult( + HRESULT hrResult, + DWORD dwError, + LPCWSTR szResult) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocolSink, 0x79eac9e5, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetProtocolSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocolSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocolSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocolSink *This); + + /*** IInternetProtocolSink methods ***/ + HRESULT (STDMETHODCALLTYPE *Switch)( + IInternetProtocolSink *This, + PROTOCOLDATA *pProtocolData); + + HRESULT (STDMETHODCALLTYPE *ReportProgress)( + IInternetProtocolSink *This, + ULONG ulStatusCode, + LPCWSTR szStatusText); + + HRESULT (STDMETHODCALLTYPE *ReportData)( + IInternetProtocolSink *This, + DWORD grfBSCF, + ULONG ulProgress, + ULONG ulProgressMax); + + HRESULT (STDMETHODCALLTYPE *ReportResult)( + IInternetProtocolSink *This, + HRESULT hrResult, + DWORD dwError, + LPCWSTR szResult); + + END_INTERFACE +} IInternetProtocolSinkVtbl; + +interface IInternetProtocolSink { + CONST_VTBL IInternetProtocolSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocolSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocolSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocolSink_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolSink methods ***/ +#define IInternetProtocolSink_Switch(This,pProtocolData) (This)->lpVtbl->Switch(This,pProtocolData) +#define IInternetProtocolSink_ReportProgress(This,ulStatusCode,szStatusText) (This)->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText) +#define IInternetProtocolSink_ReportData(This,grfBSCF,ulProgress,ulProgressMax) (This)->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax) +#define IInternetProtocolSink_ReportResult(This,hrResult,dwError,szResult) (This)->lpVtbl->ReportResult(This,hrResult,dwError,szResult) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocolSink_QueryInterface(IInternetProtocolSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocolSink_AddRef(IInternetProtocolSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocolSink_Release(IInternetProtocolSink* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolSink methods ***/ +static inline HRESULT IInternetProtocolSink_Switch(IInternetProtocolSink* This,PROTOCOLDATA *pProtocolData) { + return This->lpVtbl->Switch(This,pProtocolData); +} +static inline HRESULT IInternetProtocolSink_ReportProgress(IInternetProtocolSink* This,ULONG ulStatusCode,LPCWSTR szStatusText) { + return This->lpVtbl->ReportProgress(This,ulStatusCode,szStatusText); +} +static inline HRESULT IInternetProtocolSink_ReportData(IInternetProtocolSink* This,DWORD grfBSCF,ULONG ulProgress,ULONG ulProgressMax) { + return This->lpVtbl->ReportData(This,grfBSCF,ulProgress,ulProgressMax); +} +static inline HRESULT IInternetProtocolSink_ReportResult(IInternetProtocolSink* This,HRESULT hrResult,DWORD dwError,LPCWSTR szResult) { + return This->lpVtbl->ReportResult(This,hrResult,dwError,szResult); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocolSink_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED +#define _LPIINTERNETPROTOCOLSINKSTACKABLE_DEFINED + +/***************************************************************************** + * IInternetProtocolSinkStackable interface + */ +#ifndef __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ +#define __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ + +typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable; + +DEFINE_GUID(IID_IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9f0-baf9-11ce-8c82-00aa004ba90b") +IInternetProtocolSinkStackable : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SwitchSink( + IInternetProtocolSink *pOIProtSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE CommitSwitch( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RollbackSwitch( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocolSinkStackable, 0x79eac9f0, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetProtocolSinkStackableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocolSinkStackable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocolSinkStackable *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocolSinkStackable *This); + + /*** IInternetProtocolSinkStackable methods ***/ + HRESULT (STDMETHODCALLTYPE *SwitchSink)( + IInternetProtocolSinkStackable *This, + IInternetProtocolSink *pOIProtSink); + + HRESULT (STDMETHODCALLTYPE *CommitSwitch)( + IInternetProtocolSinkStackable *This); + + HRESULT (STDMETHODCALLTYPE *RollbackSwitch)( + IInternetProtocolSinkStackable *This); + + END_INTERFACE +} IInternetProtocolSinkStackableVtbl; + +interface IInternetProtocolSinkStackable { + CONST_VTBL IInternetProtocolSinkStackableVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocolSinkStackable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocolSinkStackable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocolSinkStackable_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolSinkStackable methods ***/ +#define IInternetProtocolSinkStackable_SwitchSink(This,pOIProtSink) (This)->lpVtbl->SwitchSink(This,pOIProtSink) +#define IInternetProtocolSinkStackable_CommitSwitch(This) (This)->lpVtbl->CommitSwitch(This) +#define IInternetProtocolSinkStackable_RollbackSwitch(This) (This)->lpVtbl->RollbackSwitch(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocolSinkStackable_QueryInterface(IInternetProtocolSinkStackable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocolSinkStackable_AddRef(IInternetProtocolSinkStackable* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocolSinkStackable_Release(IInternetProtocolSinkStackable* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolSinkStackable methods ***/ +static inline HRESULT IInternetProtocolSinkStackable_SwitchSink(IInternetProtocolSinkStackable* This,IInternetProtocolSink *pOIProtSink) { + return This->lpVtbl->SwitchSink(This,pOIProtSink); +} +static inline HRESULT IInternetProtocolSinkStackable_CommitSwitch(IInternetProtocolSinkStackable* This) { + return This->lpVtbl->CommitSwitch(This); +} +static inline HRESULT IInternetProtocolSinkStackable_RollbackSwitch(IInternetProtocolSinkStackable* This) { + return This->lpVtbl->RollbackSwitch(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocolSinkStackable_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETSESSION_DEFINED +#define _LPIINTERNETSESSION_DEFINED + +/***************************************************************************** + * IInternetSession interface + */ +#ifndef __IInternetSession_INTERFACE_DEFINED__ +#define __IInternetSession_INTERFACE_DEFINED__ + +typedef IInternetSession *LPIINTERNETSESSION; + +typedef enum _tagOIBDG_FLAGS { + OIBDG_APARTMENTTHREADED = 0x100, + OIBDG_DATAONLY = 0x1000 +} OIBDG_FLAGS; + +DEFINE_GUID(IID_IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e7-baf9-11ce-8c82-00aa004ba90b") +IInternetSession : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RegisterNameSpace( + IClassFactory *pCF, + REFCLSID rclsid, + LPCWSTR pwzProtocol, + ULONG cPatterns, + const LPCWSTR *ppwzPatterns, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterNameSpace( + IClassFactory *pCF, + LPCWSTR pszProtocol) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterMimeFilter( + IClassFactory *pCF, + REFCLSID rclsid, + LPCWSTR pwzType) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterMimeFilter( + IClassFactory *pCF, + LPCWSTR pwzType) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBinding( + LPBC pBC, + LPCWSTR szUrl, + IUnknown *pUnkOuter, + IUnknown **ppUnk, + IInternetProtocol **ppOInetProt, + DWORD dwOption) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSessionOption( + DWORD dwOption, + LPVOID pBuffer, + DWORD dwBufferLength, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSessionOption( + DWORD dwOption, + LPVOID pBuffer, + DWORD *pdwBufferLength, + DWORD dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetSession, 0x79eac9e7, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetSession *This); + + /*** IInternetSession methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterNameSpace)( + IInternetSession *This, + IClassFactory *pCF, + REFCLSID rclsid, + LPCWSTR pwzProtocol, + ULONG cPatterns, + const LPCWSTR *ppwzPatterns, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *UnregisterNameSpace)( + IInternetSession *This, + IClassFactory *pCF, + LPCWSTR pszProtocol); + + HRESULT (STDMETHODCALLTYPE *RegisterMimeFilter)( + IInternetSession *This, + IClassFactory *pCF, + REFCLSID rclsid, + LPCWSTR pwzType); + + HRESULT (STDMETHODCALLTYPE *UnregisterMimeFilter)( + IInternetSession *This, + IClassFactory *pCF, + LPCWSTR pwzType); + + HRESULT (STDMETHODCALLTYPE *CreateBinding)( + IInternetSession *This, + LPBC pBC, + LPCWSTR szUrl, + IUnknown *pUnkOuter, + IUnknown **ppUnk, + IInternetProtocol **ppOInetProt, + DWORD dwOption); + + HRESULT (STDMETHODCALLTYPE *SetSessionOption)( + IInternetSession *This, + DWORD dwOption, + LPVOID pBuffer, + DWORD dwBufferLength, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *GetSessionOption)( + IInternetSession *This, + DWORD dwOption, + LPVOID pBuffer, + DWORD *pdwBufferLength, + DWORD dwReserved); + + END_INTERFACE +} IInternetSessionVtbl; + +interface IInternetSession { + CONST_VTBL IInternetSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetSession_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetSession methods ***/ +#define IInternetSession_RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) (This)->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved) +#define IInternetSession_UnregisterNameSpace(This,pCF,pszProtocol) (This)->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol) +#define IInternetSession_RegisterMimeFilter(This,pCF,rclsid,pwzType) (This)->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType) +#define IInternetSession_UnregisterMimeFilter(This,pCF,pwzType) (This)->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType) +#define IInternetSession_CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) (This)->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption) +#define IInternetSession_SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) (This)->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved) +#define IInternetSession_GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) (This)->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetSession_QueryInterface(IInternetSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetSession_AddRef(IInternetSession* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetSession_Release(IInternetSession* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetSession methods ***/ +static inline HRESULT IInternetSession_RegisterNameSpace(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzProtocol,ULONG cPatterns,const LPCWSTR *ppwzPatterns,DWORD dwReserved) { + return This->lpVtbl->RegisterNameSpace(This,pCF,rclsid,pwzProtocol,cPatterns,ppwzPatterns,dwReserved); +} +static inline HRESULT IInternetSession_UnregisterNameSpace(IInternetSession* This,IClassFactory *pCF,LPCWSTR pszProtocol) { + return This->lpVtbl->UnregisterNameSpace(This,pCF,pszProtocol); +} +static inline HRESULT IInternetSession_RegisterMimeFilter(IInternetSession* This,IClassFactory *pCF,REFCLSID rclsid,LPCWSTR pwzType) { + return This->lpVtbl->RegisterMimeFilter(This,pCF,rclsid,pwzType); +} +static inline HRESULT IInternetSession_UnregisterMimeFilter(IInternetSession* This,IClassFactory *pCF,LPCWSTR pwzType) { + return This->lpVtbl->UnregisterMimeFilter(This,pCF,pwzType); +} +static inline HRESULT IInternetSession_CreateBinding(IInternetSession* This,LPBC pBC,LPCWSTR szUrl,IUnknown *pUnkOuter,IUnknown **ppUnk,IInternetProtocol **ppOInetProt,DWORD dwOption) { + return This->lpVtbl->CreateBinding(This,pBC,szUrl,pUnkOuter,ppUnk,ppOInetProt,dwOption); +} +static inline HRESULT IInternetSession_SetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD dwBufferLength,DWORD dwReserved) { + return This->lpVtbl->SetSessionOption(This,dwOption,pBuffer,dwBufferLength,dwReserved); +} +static inline HRESULT IInternetSession_GetSessionOption(IInternetSession* This,DWORD dwOption,LPVOID pBuffer,DWORD *pdwBufferLength,DWORD dwReserved) { + return This->lpVtbl->GetSessionOption(This,dwOption,pBuffer,pdwBufferLength,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetSession_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETTHREADSWITCH_DEFINED +#define _LPIINTERNETTHREADSWITCH_DEFINED + +/***************************************************************************** + * IInternetThreadSwitch interface + */ +#ifndef __IInternetThreadSwitch_INTERFACE_DEFINED__ +#define __IInternetThreadSwitch_INTERFACE_DEFINED__ + +typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH; + +DEFINE_GUID(IID_IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9e8-baf9-11ce-8c82-00aa004ba90b") +IInternetThreadSwitch : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Prepare( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Continue( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetThreadSwitch, 0x79eac9e8, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetThreadSwitchVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetThreadSwitch *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetThreadSwitch *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetThreadSwitch *This); + + /*** IInternetThreadSwitch methods ***/ + HRESULT (STDMETHODCALLTYPE *Prepare)( + IInternetThreadSwitch *This); + + HRESULT (STDMETHODCALLTYPE *Continue)( + IInternetThreadSwitch *This); + + END_INTERFACE +} IInternetThreadSwitchVtbl; + +interface IInternetThreadSwitch { + CONST_VTBL IInternetThreadSwitchVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetThreadSwitch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetThreadSwitch_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetThreadSwitch_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetThreadSwitch methods ***/ +#define IInternetThreadSwitch_Prepare(This) (This)->lpVtbl->Prepare(This) +#define IInternetThreadSwitch_Continue(This) (This)->lpVtbl->Continue(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetThreadSwitch_QueryInterface(IInternetThreadSwitch* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetThreadSwitch_AddRef(IInternetThreadSwitch* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetThreadSwitch_Release(IInternetThreadSwitch* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetThreadSwitch methods ***/ +static inline HRESULT IInternetThreadSwitch_Prepare(IInternetThreadSwitch* This) { + return This->lpVtbl->Prepare(This); +} +static inline HRESULT IInternetThreadSwitch_Continue(IInternetThreadSwitch* This) { + return This->lpVtbl->Continue(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternetThreadSwitch_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETPRIORITY_DEFINED +#define _LPIINTERNETPRIORITY_DEFINED + +/***************************************************************************** + * IInternetPriority interface + */ +#ifndef __IInternetPriority_INTERFACE_DEFINED__ +#define __IInternetPriority_INTERFACE_DEFINED__ + +typedef IInternetPriority *LPIINTERNETPRIORITY; + +DEFINE_GUID(IID_IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9eb-baf9-11ce-8c82-00aa004ba90b") +IInternetPriority : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetPriority( + LONG nPriority) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPriority( + LONG *pnPriority) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetPriority, 0x79eac9eb, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetPriorityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetPriority *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetPriority *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetPriority *This); + + /*** IInternetPriority methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPriority)( + IInternetPriority *This, + LONG nPriority); + + HRESULT (STDMETHODCALLTYPE *GetPriority)( + IInternetPriority *This, + LONG *pnPriority); + + END_INTERFACE +} IInternetPriorityVtbl; + +interface IInternetPriority { + CONST_VTBL IInternetPriorityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetPriority_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetPriority_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetPriority_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetPriority methods ***/ +#define IInternetPriority_SetPriority(This,nPriority) (This)->lpVtbl->SetPriority(This,nPriority) +#define IInternetPriority_GetPriority(This,pnPriority) (This)->lpVtbl->GetPriority(This,pnPriority) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetPriority_QueryInterface(IInternetPriority* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetPriority_AddRef(IInternetPriority* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetPriority_Release(IInternetPriority* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetPriority methods ***/ +static inline HRESULT IInternetPriority_SetPriority(IInternetPriority* This,LONG nPriority) { + return This->lpVtbl->SetPriority(This,nPriority); +} +static inline HRESULT IInternetPriority_GetPriority(IInternetPriority* This,LONG *pnPriority) { + return This->lpVtbl->GetPriority(This,pnPriority); +} +#endif +#endif + +#endif + + +#endif /* __IInternetPriority_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPIINTERNETPROTOCOLINFO_DEFINED +#define _LPIINTERNETPROTOCOLINFO_DEFINED + +/***************************************************************************** + * IInternetProtocolInfo interface + */ +#ifndef __IInternetProtocolInfo_INTERFACE_DEFINED__ +#define __IInternetProtocolInfo_INTERFACE_DEFINED__ + +typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO; + +typedef enum _tagPARSEACTION { + PARSE_CANONICALIZE = 1, + PARSE_FRIENDLY = 2, + PARSE_SECURITY_URL = 3, + PARSE_ROOTDOCUMENT = 4, + PARSE_DOCUMENT = 5, + PARSE_ANCHOR = 6, + PARSE_ENCODE_IS_UNESCAPE = 7, + PARSE_DECODE_IS_ESCAPE = 8, + PARSE_PATH_FROM_URL = 9, + PARSE_URL_FROM_PATH = 10, + PARSE_MIME = 11, + PARSE_SERVER = 12, + PARSE_SCHEMA = 13, + PARSE_SITE = 14, + PARSE_DOMAIN = 15, + PARSE_LOCATION = 16, + PARSE_SECURITY_DOMAIN = 17, + PARSE_ESCAPE = 18, + PARSE_UNESCAPE = 19 +} PARSEACTION; + +typedef enum _tagPSUACTION { + PSU_DEFAULT = 1, + PSU_SECURITY_URL_ONLY = 2 +} PSUACTION; + +typedef enum _tagQUERYOPTION { + QUERY_EXPIRATION_DATE = 1, + QUERY_TIME_OF_LAST_CHANGE = 2, + QUERY_CONTENT_ENCODING = 3, + QUERY_CONTENT_TYPE = 4, + QUERY_REFRESH = 5, + QUERY_RECOMBINE = 6, + QUERY_CAN_NAVIGATE = 7, + QUERY_USES_NETWORK = 8, + QUERY_IS_CACHED = 9, + QUERY_IS_INSTALLEDENTRY = 10, + QUERY_IS_CACHED_OR_MAPPED = 11, + QUERY_USES_CACHE = 12, + QUERY_IS_SECURE = 13, + QUERY_IS_SAFE = 14, + QUERY_USES_HISTORYFOLDER = 15, + QUERY_IS_CACHED_AND_USABLE_OFFLINE = 16 +} QUERYOPTION; + +DEFINE_GUID(IID_IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9ec-baf9-11ce-8c82-00aa004ba90b") +IInternetProtocolInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ParseUrl( + LPCWSTR pwzUrl, + PARSEACTION ParseAction, + DWORD dwParseFlags, + LPWSTR pwzResult, + DWORD cchResult, + DWORD *pcchResult, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE CombineUrl( + LPCWSTR pwzBaseUrl, + LPCWSTR pwzRelativeUrl, + DWORD dwCombineFlags, + LPWSTR pwzResult, + DWORD cchResult, + DWORD *pcchResult, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareUrl( + LPCWSTR pwzUrl1, + LPCWSTR pwzUrl2, + DWORD dwCompareFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryInfo( + LPCWSTR pwzUrl, + QUERYOPTION OueryOption, + DWORD dwQueryFlags, + LPVOID pBuffer, + DWORD cbBuffer, + DWORD *pcbBuf, + DWORD dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetProtocolInfo, 0x79eac9ec, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetProtocolInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetProtocolInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetProtocolInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetProtocolInfo *This); + + /*** IInternetProtocolInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *ParseUrl)( + IInternetProtocolInfo *This, + LPCWSTR pwzUrl, + PARSEACTION ParseAction, + DWORD dwParseFlags, + LPWSTR pwzResult, + DWORD cchResult, + DWORD *pcchResult, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *CombineUrl)( + IInternetProtocolInfo *This, + LPCWSTR pwzBaseUrl, + LPCWSTR pwzRelativeUrl, + DWORD dwCombineFlags, + LPWSTR pwzResult, + DWORD cchResult, + DWORD *pcchResult, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *CompareUrl)( + IInternetProtocolInfo *This, + LPCWSTR pwzUrl1, + LPCWSTR pwzUrl2, + DWORD dwCompareFlags); + + HRESULT (STDMETHODCALLTYPE *QueryInfo)( + IInternetProtocolInfo *This, + LPCWSTR pwzUrl, + QUERYOPTION OueryOption, + DWORD dwQueryFlags, + LPVOID pBuffer, + DWORD cbBuffer, + DWORD *pcbBuf, + DWORD dwReserved); + + END_INTERFACE +} IInternetProtocolInfoVtbl; + +interface IInternetProtocolInfo { + CONST_VTBL IInternetProtocolInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetProtocolInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetProtocolInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetProtocolInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetProtocolInfo methods ***/ +#define IInternetProtocolInfo_ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved) +#define IInternetProtocolInfo_CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) (This)->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved) +#define IInternetProtocolInfo_CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) (This)->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags) +#define IInternetProtocolInfo_QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) (This)->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetProtocolInfo_QueryInterface(IInternetProtocolInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetProtocolInfo_AddRef(IInternetProtocolInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetProtocolInfo_Release(IInternetProtocolInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetProtocolInfo methods ***/ +static inline HRESULT IInternetProtocolInfo_ParseUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl,PARSEACTION ParseAction,DWORD dwParseFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) { + return This->lpVtbl->ParseUrl(This,pwzUrl,ParseAction,dwParseFlags,pwzResult,cchResult,pcchResult,dwReserved); +} +static inline HRESULT IInternetProtocolInfo_CombineUrl(IInternetProtocolInfo* This,LPCWSTR pwzBaseUrl,LPCWSTR pwzRelativeUrl,DWORD dwCombineFlags,LPWSTR pwzResult,DWORD cchResult,DWORD *pcchResult,DWORD dwReserved) { + return This->lpVtbl->CombineUrl(This,pwzBaseUrl,pwzRelativeUrl,dwCombineFlags,pwzResult,cchResult,pcchResult,dwReserved); +} +static inline HRESULT IInternetProtocolInfo_CompareUrl(IInternetProtocolInfo* This,LPCWSTR pwzUrl1,LPCWSTR pwzUrl2,DWORD dwCompareFlags) { + return This->lpVtbl->CompareUrl(This,pwzUrl1,pwzUrl2,dwCompareFlags); +} +static inline HRESULT IInternetProtocolInfo_QueryInfo(IInternetProtocolInfo* This,LPCWSTR pwzUrl,QUERYOPTION OueryOption,DWORD dwQueryFlags,LPVOID pBuffer,DWORD cbBuffer,DWORD *pcbBuf,DWORD dwReserved) { + return This->lpVtbl->QueryInfo(This,pwzUrl,OueryOption,dwQueryFlags,pBuffer,cbBuffer,pcbBuf,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetProtocolInfo_INTERFACE_DEFINED__ */ + + +#ifndef URLMON_STRICT +#define PARSE_ENCODE PARSE_ENCODE_IS_UNESCAPE +#define PARSE_DECODE PARSE_DECODE_IS_ESCAPE +#endif +#endif + +#define IOInet IInternet +#define IOInetBindInfo IInternetBindInfo +#define IOInetBindInfoEx IInternetBindInfoEx +#define IOInetProtocolRoot IInternetProtocolRoot +#define IOInetProtocol IInternetProtocol + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define IOInetProtocolEx IInternetProtocolEx +#endif +#define IOInetProtocolSink IInternetProtocolSink +#define IOInetProtocolInfo IInternetProtocolInfo +#define IOInetSession IInternetSession +#define IOInetPriority IInternetPriority +#define IOInetThreadSwitch IInternetThreadSwitch +#define IOInetProtocolSinkStackable IInternetProtocolSinkStackable + +#define LPOINET LPIINTERNET +#define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO +#define LPOINETBINDINFO LPIINTERNETBINDINFO +#define LPOINETPROTOCOLROOT LPIINTERNETPROTOCOLROOT +#define LPOINETPROTOCOL LPIINTERNETPROTOCOL + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define LPOINETPROTOCOLEX LPIINTERNETPROTOCOLEX +#endif +#define LPOINETPROTOCOLSINK LPIINTERNETPROTOCOLSINK +#define LPOINETSESSION LPIINTERNETSESSION +#define LPOINETTHREADSWITCH LPIINTERNETTHREADSWITCH +#define LPOINETPRIORITY LPIINTERNETPRIORITY +#define LPOINETPROTOCOLINFO LPIINTERNETPROTOCOLINFO +#define LPOINETPROTOCOLSINKSTACKABLE LPIINTERNETPROTOCOLSINKSTACKABLE + +#define IID_IOInet IID_IInternet +#define IID_IOInetBindInfo IID_IInternetBindInfo +#define IID_IOInetBindInfoEx IID_IInternetBindInfoEx +#define IID_IOInetProtocolRoot IID_IInternetProtocolRoot +#define IID_IOInetProtocol IID_IInternetProtocol + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define IID_IOInetProtocolEx IID_IInternetProtocolEx +#endif +#define IID_IOInetProtocolSink IID_IInternetProtocolSink +#define IID_IOInetProtocolInfo IID_IInternetProtocolInfo +#define IID_IOInetSession IID_IInternetSession +#define IID_IOInetPriority IID_IInternetPriority +#define IID_IOInetThreadSwitch IID_IInternetThreadSwitch +#define IID_IOInetProtocolSinkStackable IID_IInternetProtocolSinkStackable + +STDAPI CoInternetParseUrl(LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved); +#if (_WIN32_IE >= _WIN32_IE_IE70) +STDAPI CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved); +#endif +STDAPI CoInternetCombineUrl(LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved); +#if (_WIN32_IE >= _WIN32_IE_IE70) +STDAPI CoInternetCombineUrlEx(IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved); +STDAPI CoInternetCombineIUri (IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved); +#endif +STDAPI CoInternetCompareUrl(LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwFlags); +STDAPI CoInternetGetProtocolFlags(LPCWSTR pwzUrl, DWORD *pdwFlags, DWORD dwReserved); +STDAPI CoInternetQueryInfo(LPCWSTR pwzUrl, QUERYOPTION QueryOptions, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved); +STDAPI CoInternetGetSession(DWORD dwSessionMode, IInternetSession **ppIInternetSession, DWORD dwReserved); +STDAPI CoInternetGetSecurityUrl(LPCWSTR pwszUrl, LPWSTR *ppwszSecUrl, PSUACTION psuAction, DWORD dwReserved); +STDAPI AsyncInstallDistributionUnit(LPCWSTR szDistUnit, LPCWSTR szTYPE, LPCWSTR szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szURL,IBindCtx *pbc, LPVOID pvReserved,DWORD flags); +#if (_WIN32_IE >= _WIN32_IE_IE70) +STDAPI CoInternetGetSecurityUrlEx(IUri *pUri, IUri **ppSecUri, PSUACTION psuAction, DWORD_PTR dwReserved); +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#ifndef _INTERNETFEATURELIST_DEFINED +#define _INTERNETFEATURELIST_DEFINED + +typedef enum _tagINTERNETFEATURELIST { + FEATURE_OBJECT_CACHING = 0, + FEATURE_ZONE_ELEVATION = 1, + FEATURE_MIME_HANDLING = 2, + FEATURE_MIME_SNIFFING = 3, + FEATURE_WINDOW_RESTRICTIONS = 4, + FEATURE_WEBOC_POPUPMANAGEMENT = 5, + FEATURE_BEHAVIORS = 6, + FEATURE_DISABLE_MK_PROTOCOL = 7, + FEATURE_LOCALMACHINE_LOCKDOWN = 8, + FEATURE_SECURITYBAND = 9, + FEATURE_RESTRICT_ACTIVEXINSTALL = 10, + FEATURE_VALIDATE_NAVIGATE_URL = 11, + FEATURE_RESTRICT_FILEDOWNLOAD = 12, + FEATURE_ADDON_MANAGEMENT = 13, + FEATURE_PROTOCOL_LOCKDOWN = 14, + FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = 15, + FEATURE_SAFE_BINDTOOBJECT = 16, + FEATURE_UNC_SAVEDFILECHECK = 17, + FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = 18, + FEATURE_TABBED_BROWSING = 19, + FEATURE_SSLUX = 20, + FEATURE_DISABLE_NAVIGATION_SOUNDS = 21, + FEATURE_DISABLE_LEGACY_COMPRESSION = 22, + FEATURE_FORCE_ADDR_AND_STATUS = 23, + FEATURE_XMLHTTP = 24, + FEATURE_DISABLE_TELNET_PROTOCOL = 25, + FEATURE_FEEDS = 26, + FEATURE_BLOCK_INPUT_PROMPTS = 27, + FEATURE_ENTRY_COUNT = 28 +} INTERNETFEATURELIST; + +#define SET_FEATURE_ON_THREAD 0x1 +#define SET_FEATURE_ON_PROCESS 0x2 +#define SET_FEATURE_IN_REGISTRY 0x4 +#define SET_FEATURE_ON_THREAD_LOCALMACHINE 0x8 +#define SET_FEATURE_ON_THREAD_INTRANET 0x10 +#define SET_FEATURE_ON_THREAD_TRUSTED 0x20 +#define SET_FEATURE_ON_THREAD_INTERNET 0x40 +#define SET_FEATURE_ON_THREAD_RESTRICTED 0x80 + +#define GET_FEATURE_FROM_THREAD 0x1 +#define GET_FEATURE_FROM_PROCESS 0x2 +#define GET_FEATURE_FROM_REGISTRY 0x4 +#define GET_FEATURE_FROM_THREAD_LOCALMACHINE 0x8 +#define GET_FEATURE_FROM_THREAD_INTRANET 0x10 +#define GET_FEATURE_FROM_THREAD_TRUSTED 0x20 +#define GET_FEATURE_FROM_THREAD_INTERNET 0x40 +#define GET_FEATURE_FROM_THREAD_RESTRICTED 0x80 +#endif + +STDAPI CoInternetSetFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, WINBOOL fEnable); +STDAPI CoInternetIsFeatureEnabled(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags); +STDAPI CoInternetIsFeatureEnabledForUrl(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, LPCWSTR szURL, IInternetSecurityManager *pSecMgr); +STDAPI CoInternetIsFeatureEnabledForIUri(INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, IUri *pIUri, IInternetSecurityManagerEx2 *pSecMgr); +STDAPI CoInternetIsFeatureZoneElevationEnabled(LPCWSTR szFromURL, LPCWSTR szToURL, IInternetSecurityManager *pSecMgr, DWORD dwFlags); +#endif +STDAPI CopyStgMedium(const STGMEDIUM *pcstgmedSrc, STGMEDIUM *pstgmedDest); +STDAPI CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pbiDest); +STDAPI_(void) ReleaseBindInfo(BINDINFO *pbindinfo); + +#define INET_E_USE_DEFAULT_PROTOCOLHANDLER _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0011)) +#define INET_E_USE_DEFAULT_SETTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0012)) +#define INET_E_DEFAULT_ACTION INET_E_USE_DEFAULT_PROTOCOLHANDLER +#define INET_E_QUERYOPTION_UNKNOWN _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0013)) +#define INET_E_REDIRECTING _HRESULT_TYPEDEF_(__MSABI_LONG(0x800C0014)) + +#define OInetParseUrl CoInternetParseUrl +#define OInetCombineUrl CoInternetCombineUrl +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define OInetCombineUrlEx CoInternetCombineUrlEx +#define OInetCombineIUri CoInternetCombineIUri +#endif +#define OInetCompareUrl CoInternetCompareUrl +#define OInetQueryInfo CoInternetQueryInfo +#define OInetGetSession CoInternetGetSession +#endif + +#define PROTOCOLFLAG_NO_PICS_CHECK 0x1 + +STDAPI CoInternetCreateSecurityManager(IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved); +STDAPI CoInternetCreateZoneManager(IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved); + +EXTERN_C const IID CLSID_InternetSecurityManager; +EXTERN_C const IID CLSID_InternetZoneManager; + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +EXTERN_C const IID CLSID_PersistentZoneIdentifier; +#endif + +#define SID_SInternetSecurityManager IID_IInternetSecurityManager +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define SID_SInternetSecurityManagerEx IID_IInternetSecurityManagerEx +#endif +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define SID_SInternetSecurityManagerEx2 IID_IInternetSecurityManagerEx2 +#endif +#define SID_SInternetHostSecurityManager IID_IInternetHostSecurityManager + +#ifndef _LPINTERNETSECURITYMGRSITE_DEFINED +#define _LPINTERNETSECURITYMGRSITE_DEFINED + +/***************************************************************************** + * IInternetSecurityMgrSite interface + */ +#ifndef __IInternetSecurityMgrSite_INTERFACE_DEFINED__ +#define __IInternetSecurityMgrSite_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9ed-baf9-11ce-8c82-00aa004ba90b") +IInternetSecurityMgrSite : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWindow( + HWND *phwnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableModeless( + WINBOOL fEnable) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetSecurityMgrSite, 0x79eac9ed, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetSecurityMgrSiteVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetSecurityMgrSite *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetSecurityMgrSite *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetSecurityMgrSite *This); + + /*** IInternetSecurityMgrSite methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWindow)( + IInternetSecurityMgrSite *This, + HWND *phwnd); + + HRESULT (STDMETHODCALLTYPE *EnableModeless)( + IInternetSecurityMgrSite *This, + WINBOOL fEnable); + + END_INTERFACE +} IInternetSecurityMgrSiteVtbl; + +interface IInternetSecurityMgrSite { + CONST_VTBL IInternetSecurityMgrSiteVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetSecurityMgrSite_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetSecurityMgrSite_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetSecurityMgrSite_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetSecurityMgrSite methods ***/ +#define IInternetSecurityMgrSite_GetWindow(This,phwnd) (This)->lpVtbl->GetWindow(This,phwnd) +#define IInternetSecurityMgrSite_EnableModeless(This,fEnable) (This)->lpVtbl->EnableModeless(This,fEnable) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetSecurityMgrSite_QueryInterface(IInternetSecurityMgrSite* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetSecurityMgrSite_AddRef(IInternetSecurityMgrSite* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetSecurityMgrSite_Release(IInternetSecurityMgrSite* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetSecurityMgrSite methods ***/ +static inline HRESULT IInternetSecurityMgrSite_GetWindow(IInternetSecurityMgrSite* This,HWND *phwnd) { + return This->lpVtbl->GetWindow(This,phwnd); +} +static inline HRESULT IInternetSecurityMgrSite_EnableModeless(IInternetSecurityMgrSite* This,WINBOOL fEnable) { + return This->lpVtbl->EnableModeless(This,fEnable); +} +#endif +#endif + +#endif + + +#endif /* __IInternetSecurityMgrSite_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPINTERNETSECURITYMANANGER_DEFINED +#define _LPINTERNETSECURITYMANANGER_DEFINED + +/***************************************************************************** + * IInternetSecurityManager interface + */ +#ifndef __IInternetSecurityManager_INTERFACE_DEFINED__ +#define __IInternetSecurityManager_INTERFACE_DEFINED__ + + +#define MUTZ_NOSAVEDFILECHECK 0x1 +#define MUTZ_ISFILE 0x2 +#define MUTZ_ACCEPT_WILDCARD_SCHEME 0x80 +#define MUTZ_ENFORCERESTRICTED 0x100 +#define MUTZ_RESERVED 0x200 +#define MUTZ_REQUIRESAVEDFILECHECK 0x400 +#define MUTZ_DONT_UNESCAPE 0x800 +#define MUTZ_DONT_USE_CACHE 0x1000 +#define MUTZ_FORCE_INTRANET_FLAGS 0x2000 +#define MUTZ_IGNORE_ZONE_MAPPINGS 0x4000 + + +#define MAX_SIZE_SECURITY_ID 512 + + +typedef enum __WIDL_urlmon_generated_name_0000001B { + PUAF_DEFAULT = 0x0, + PUAF_NOUI = 0x1, + PUAF_ISFILE = 0x2, + PUAF_WARN_IF_DENIED = 0x4, + PUAF_FORCEUI_FOREGROUND = 0x8, + PUAF_CHECK_TIFS = 0x10, + PUAF_DONTCHECKBOXINDIALOG = 0x20, + PUAF_TRUSTED = 0x40, + PUAF_ACCEPT_WILDCARD_SCHEME = 0x80, + PUAF_ENFORCERESTRICTED = 0x100, + PUAF_NOSAVEDFILECHECK = 0x200, + PUAF_REQUIRESAVEDFILECHECK = 0x400, + PUAF_DONT_USE_CACHE = 0x1000, + PUAF_RESERVED1 = 0x2000, + PUAF_RESERVED2 = 0x4000, + PUAF_LMZ_UNLOCKED = 0x10000, + PUAF_LMZ_LOCKED = 0x20000, + PUAF_DEFAULTZONEPOL = 0x40000, + PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000, + PUAF_NOUIIFLOCKED = 0x100000, + PUAF_DRAGPROTOCOLCHECK = 0x200000 +} PUAF; +typedef enum __WIDL_urlmon_generated_name_0000001C { + PUAFOUT_DEFAULT = 0x0, + PUAFOUT_ISLOCKZONEPOLICY = 0x1 +} PUAFOUT; + + +typedef enum __WIDL_urlmon_generated_name_0000001D { + SZM_CREATE = 0x0, + SZM_DELETE = 0x1 +} SZM_FLAGS; + +DEFINE_GUID(IID_IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9ee-baf9-11ce-8c82-00aa004ba90b") +IInternetSecurityManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetSecuritySite( + IInternetSecurityMgrSite *pSite) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSecuritySite( + IInternetSecurityMgrSite **ppSite) = 0; + + virtual HRESULT STDMETHODCALLTYPE MapUrlToZone( + LPCWSTR pwszUrl, + DWORD *pdwZone, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSecurityId( + LPCWSTR pwszUrl, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( + LPCWSTR pwszUrl, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZoneMapping( + DWORD dwZone, + LPCWSTR lpszPattern, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZoneMappings( + DWORD dwZone, + IEnumString **ppenumString, + DWORD dwFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetSecurityManager, 0x79eac9ee, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetSecurityManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetSecurityManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetSecurityManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetSecurityManager *This); + + /*** IInternetSecurityManager methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( + IInternetSecurityManager *This, + IInternetSecurityMgrSite *pSite); + + HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( + IInternetSecurityManager *This, + IInternetSecurityMgrSite **ppSite); + + HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( + IInternetSecurityManager *This, + LPCWSTR pwszUrl, + DWORD *pdwZone, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetSecurityId)( + IInternetSecurityManager *This, + LPCWSTR pwszUrl, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( + IInternetSecurityManager *This, + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( + IInternetSecurityManager *This, + LPCWSTR pwszUrl, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( + IInternetSecurityManager *This, + DWORD dwZone, + LPCWSTR lpszPattern, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( + IInternetSecurityManager *This, + DWORD dwZone, + IEnumString **ppenumString, + DWORD dwFlags); + + END_INTERFACE +} IInternetSecurityManagerVtbl; + +interface IInternetSecurityManager { + CONST_VTBL IInternetSecurityManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetSecurityManager_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetSecurityManager methods ***/ +#define IInternetSecurityManager_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) +#define IInternetSecurityManager_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) +#define IInternetSecurityManager_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) +#define IInternetSecurityManager_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) +#define IInternetSecurityManager_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) +#define IInternetSecurityManager_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) +#define IInternetSecurityManager_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) +#define IInternetSecurityManager_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetSecurityManager_QueryInterface(IInternetSecurityManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetSecurityManager_AddRef(IInternetSecurityManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetSecurityManager_Release(IInternetSecurityManager* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetSecurityManager methods ***/ +static inline HRESULT IInternetSecurityManager_SetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite *pSite) { + return This->lpVtbl->SetSecuritySite(This,pSite); +} +static inline HRESULT IInternetSecurityManager_GetSecuritySite(IInternetSecurityManager* This,IInternetSecurityMgrSite **ppSite) { + return This->lpVtbl->GetSecuritySite(This,ppSite); +} +static inline HRESULT IInternetSecurityManager_MapUrlToZone(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { + return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); +} +static inline HRESULT IInternetSecurityManager_GetSecurityId(IInternetSecurityManager* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); +} +static inline HRESULT IInternetSecurityManager_ProcessUrlAction(IInternetSecurityManager* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { + return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); +} +static inline HRESULT IInternetSecurityManager_QueryCustomPolicy(IInternetSecurityManager* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { + return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); +} +static inline HRESULT IInternetSecurityManager_SetZoneMapping(IInternetSecurityManager* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { + return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); +} +static inline HRESULT IInternetSecurityManager_GetZoneMappings(IInternetSecurityManager* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { + return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); +} +#endif +#endif + +#endif + + +#endif /* __IInternetSecurityManager_INTERFACE_DEFINED__ */ + +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#ifndef _LPINTERNETSECURITYMANANGEREX_DEFINED +#define _LPINTERNETSECURITYMANANGEREX_DEFINED + +/***************************************************************************** + * IInternetSecurityManagerEx interface + */ +#ifndef __IInternetSecurityManagerEx_INTERFACE_DEFINED__ +#define __IInternetSecurityManagerEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f164edf1-cc7c-4f0d-9a94-34222625c393") +IInternetSecurityManagerEx : public IInternetSecurityManager +{ + virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx( + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved, + DWORD *pdwOutFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetSecurityManagerEx, 0xf164edf1, 0xcc7c, 0x4f0d, 0x9a,0x94, 0x34,0x22,0x26,0x25,0xc3,0x93) +#endif +#else +typedef struct IInternetSecurityManagerExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetSecurityManagerEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetSecurityManagerEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetSecurityManagerEx *This); + + /*** IInternetSecurityManager methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( + IInternetSecurityManagerEx *This, + IInternetSecurityMgrSite *pSite); + + HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( + IInternetSecurityManagerEx *This, + IInternetSecurityMgrSite **ppSite); + + HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( + IInternetSecurityManagerEx *This, + LPCWSTR pwszUrl, + DWORD *pdwZone, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetSecurityId)( + IInternetSecurityManagerEx *This, + LPCWSTR pwszUrl, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( + IInternetSecurityManagerEx *This, + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( + IInternetSecurityManagerEx *This, + LPCWSTR pwszUrl, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( + IInternetSecurityManagerEx *This, + DWORD dwZone, + LPCWSTR lpszPattern, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( + IInternetSecurityManagerEx *This, + DWORD dwZone, + IEnumString **ppenumString, + DWORD dwFlags); + + /*** IInternetSecurityManagerEx methods ***/ + HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)( + IInternetSecurityManagerEx *This, + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved, + DWORD *pdwOutFlags); + + END_INTERFACE +} IInternetSecurityManagerExVtbl; + +interface IInternetSecurityManagerEx { + CONST_VTBL IInternetSecurityManagerExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetSecurityManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetSecurityManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetSecurityManagerEx_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetSecurityManager methods ***/ +#define IInternetSecurityManagerEx_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) +#define IInternetSecurityManagerEx_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) +#define IInternetSecurityManagerEx_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) +#define IInternetSecurityManagerEx_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) +#define IInternetSecurityManagerEx_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) +#define IInternetSecurityManagerEx_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) +#define IInternetSecurityManagerEx_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) +#define IInternetSecurityManagerEx_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) +/*** IInternetSecurityManagerEx methods ***/ +#define IInternetSecurityManagerEx_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetSecurityManagerEx_QueryInterface(IInternetSecurityManagerEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetSecurityManagerEx_AddRef(IInternetSecurityManagerEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetSecurityManagerEx_Release(IInternetSecurityManagerEx* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetSecurityManager methods ***/ +static inline HRESULT IInternetSecurityManagerEx_SetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite *pSite) { + return This->lpVtbl->SetSecuritySite(This,pSite); +} +static inline HRESULT IInternetSecurityManagerEx_GetSecuritySite(IInternetSecurityManagerEx* This,IInternetSecurityMgrSite **ppSite) { + return This->lpVtbl->GetSecuritySite(This,ppSite); +} +static inline HRESULT IInternetSecurityManagerEx_MapUrlToZone(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { + return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); +} +static inline HRESULT IInternetSecurityManagerEx_GetSecurityId(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx_ProcessUrlAction(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { + return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx_QueryCustomPolicy(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { + return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx_SetZoneMapping(IInternetSecurityManagerEx* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { + return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); +} +static inline HRESULT IInternetSecurityManagerEx_GetZoneMappings(IInternetSecurityManagerEx* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { + return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); +} +/*** IInternetSecurityManagerEx methods ***/ +static inline HRESULT IInternetSecurityManagerEx_ProcessUrlActionEx(IInternetSecurityManagerEx* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) { + return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); +} +#endif +#endif + +#endif + + +#endif /* __IInternetSecurityManagerEx_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#ifndef _LPINTERNETSECURITYMANANGEREx2_DEFINED +#define _LPINTERNETSECURITYMANANGEREx2_DEFINED + +/***************************************************************************** + * IInternetSecurityManagerEx2 interface + */ +#ifndef __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ +#define __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f1e50292-a795-4117-8e09-2b560a72ac60") +IInternetSecurityManagerEx2 : public IInternetSecurityManagerEx +{ + virtual HRESULT STDMETHODCALLTYPE MapUrlToZoneEx2( + IUri *pUri, + DWORD *pdwZone, + DWORD dwFlags, + LPWSTR *ppwszMappedUrl, + DWORD *pdwOutFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessUrlActionEx2( + IUri *pUri, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD_PTR dwReserved, + DWORD *pdwOutFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSecurityIdEx2( + IUri *pUri, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicyEx2( + IUri *pUri, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD_PTR dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetSecurityManagerEx2, 0xf1e50292, 0xa795, 0x4117, 0x8e,0x09, 0x2b,0x56,0x0a,0x72,0xac,0x60) +#endif +#else +typedef struct IInternetSecurityManagerEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetSecurityManagerEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetSecurityManagerEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetSecurityManagerEx2 *This); + + /*** IInternetSecurityManager methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSecuritySite)( + IInternetSecurityManagerEx2 *This, + IInternetSecurityMgrSite *pSite); + + HRESULT (STDMETHODCALLTYPE *GetSecuritySite)( + IInternetSecurityManagerEx2 *This, + IInternetSecurityMgrSite **ppSite); + + HRESULT (STDMETHODCALLTYPE *MapUrlToZone)( + IInternetSecurityManagerEx2 *This, + LPCWSTR pwszUrl, + DWORD *pdwZone, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetSecurityId)( + IInternetSecurityManagerEx2 *This, + LPCWSTR pwszUrl, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( + IInternetSecurityManagerEx2 *This, + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( + IInternetSecurityManagerEx2 *This, + LPCWSTR pwszUrl, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *SetZoneMapping)( + IInternetSecurityManagerEx2 *This, + DWORD dwZone, + LPCWSTR lpszPattern, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneMappings)( + IInternetSecurityManagerEx2 *This, + DWORD dwZone, + IEnumString **ppenumString, + DWORD dwFlags); + + /*** IInternetSecurityManagerEx methods ***/ + HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx)( + IInternetSecurityManagerEx2 *This, + LPCWSTR pwszUrl, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved, + DWORD *pdwOutFlags); + + /*** IInternetSecurityManagerEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *MapUrlToZoneEx2)( + IInternetSecurityManagerEx2 *This, + IUri *pUri, + DWORD *pdwZone, + DWORD dwFlags, + LPWSTR *ppwszMappedUrl, + DWORD *pdwOutFlags); + + HRESULT (STDMETHODCALLTYPE *ProcessUrlActionEx2)( + IInternetSecurityManagerEx2 *This, + IUri *pUri, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD_PTR dwReserved, + DWORD *pdwOutFlags); + + HRESULT (STDMETHODCALLTYPE *GetSecurityIdEx2)( + IInternetSecurityManagerEx2 *This, + IUri *pUri, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *QueryCustomPolicyEx2)( + IInternetSecurityManagerEx2 *This, + IUri *pUri, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD_PTR dwReserved); + + END_INTERFACE +} IInternetSecurityManagerEx2Vtbl; + +interface IInternetSecurityManagerEx2 { + CONST_VTBL IInternetSecurityManagerEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetSecurityManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetSecurityManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetSecurityManagerEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetSecurityManager methods ***/ +#define IInternetSecurityManagerEx2_SetSecuritySite(This,pSite) (This)->lpVtbl->SetSecuritySite(This,pSite) +#define IInternetSecurityManagerEx2_GetSecuritySite(This,ppSite) (This)->lpVtbl->GetSecuritySite(This,ppSite) +#define IInternetSecurityManagerEx2_MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) (This)->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags) +#define IInternetSecurityManagerEx2_GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved) +#define IInternetSecurityManagerEx2_ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) +#define IInternetSecurityManagerEx2_QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) +#define IInternetSecurityManagerEx2_SetZoneMapping(This,dwZone,lpszPattern,dwFlags) (This)->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags) +#define IInternetSecurityManagerEx2_GetZoneMappings(This,dwZone,ppenumString,dwFlags) (This)->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags) +/*** IInternetSecurityManagerEx methods ***/ +#define IInternetSecurityManagerEx2_ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) +/*** IInternetSecurityManagerEx2 methods ***/ +#define IInternetSecurityManagerEx2_MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags) (This)->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags) +#define IInternetSecurityManagerEx2_ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) (This)->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags) +#define IInternetSecurityManagerEx2_GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved) +#define IInternetSecurityManagerEx2_QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetSecurityManagerEx2_QueryInterface(IInternetSecurityManagerEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetSecurityManagerEx2_AddRef(IInternetSecurityManagerEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetSecurityManagerEx2_Release(IInternetSecurityManagerEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetSecurityManager methods ***/ +static inline HRESULT IInternetSecurityManagerEx2_SetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite *pSite) { + return This->lpVtbl->SetSecuritySite(This,pSite); +} +static inline HRESULT IInternetSecurityManagerEx2_GetSecuritySite(IInternetSecurityManagerEx2* This,IInternetSecurityMgrSite **ppSite) { + return This->lpVtbl->GetSecuritySite(This,ppSite); +} +static inline HRESULT IInternetSecurityManagerEx2_MapUrlToZone(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD *pdwZone,DWORD dwFlags) { + return This->lpVtbl->MapUrlToZone(This,pwszUrl,pdwZone,dwFlags); +} +static inline HRESULT IInternetSecurityManagerEx2_GetSecurityId(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetSecurityId(This,pwszUrl,pbSecurityId,pcbSecurityId,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlAction(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { + return This->lpVtbl->ProcessUrlAction(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx2_QueryCustomPolicy(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { + return This->lpVtbl->QueryCustomPolicy(This,pwszUrl,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx2_SetZoneMapping(IInternetSecurityManagerEx2* This,DWORD dwZone,LPCWSTR lpszPattern,DWORD dwFlags) { + return This->lpVtbl->SetZoneMapping(This,dwZone,lpszPattern,dwFlags); +} +static inline HRESULT IInternetSecurityManagerEx2_GetZoneMappings(IInternetSecurityManagerEx2* This,DWORD dwZone,IEnumString **ppenumString,DWORD dwFlags) { + return This->lpVtbl->GetZoneMappings(This,dwZone,ppenumString,dwFlags); +} +/*** IInternetSecurityManagerEx methods ***/ +static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx(IInternetSecurityManagerEx2* This,LPCWSTR pwszUrl,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved,DWORD *pdwOutFlags) { + return This->lpVtbl->ProcessUrlActionEx(This,pwszUrl,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); +} +/*** IInternetSecurityManagerEx2 methods ***/ +static inline HRESULT IInternetSecurityManagerEx2_MapUrlToZoneEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD *pdwZone,DWORD dwFlags,LPWSTR *ppwszMappedUrl,DWORD *pdwOutFlags) { + return This->lpVtbl->MapUrlToZoneEx2(This,pUri,pdwZone,dwFlags,ppwszMappedUrl,pdwOutFlags); +} +static inline HRESULT IInternetSecurityManagerEx2_ProcessUrlActionEx2(IInternetSecurityManagerEx2* This,IUri *pUri,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD_PTR dwReserved,DWORD *pdwOutFlags) { + return This->lpVtbl->ProcessUrlActionEx2(This,pUri,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved,pdwOutFlags); +} +static inline HRESULT IInternetSecurityManagerEx2_GetSecurityIdEx2(IInternetSecurityManagerEx2* This,IUri *pUri,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetSecurityIdEx2(This,pUri,pbSecurityId,pcbSecurityId,dwReserved); +} +static inline HRESULT IInternetSecurityManagerEx2_QueryCustomPolicyEx2(IInternetSecurityManagerEx2* This,IUri *pUri,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD_PTR dwReserved) { + return This->lpVtbl->QueryCustomPolicyEx2(This,pUri,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetSecurityManagerEx2_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +/***************************************************************************** + * IZoneIdentifier interface + */ +#ifndef __IZoneIdentifier_INTERFACE_DEFINED__ +#define __IZoneIdentifier_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cd45f185-1b21-48e2-967b-ead743a8914e") +IZoneIdentifier : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetId( + DWORD *pdwZone) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetId( + DWORD dwZone) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IZoneIdentifier, 0xcd45f185, 0x1b21, 0x48e2, 0x96,0x7b, 0xea,0xd7,0x43,0xa8,0x91,0x4e) +#endif +#else +typedef struct IZoneIdentifierVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IZoneIdentifier *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IZoneIdentifier *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IZoneIdentifier *This); + + /*** IZoneIdentifier methods ***/ + HRESULT (STDMETHODCALLTYPE *GetId)( + IZoneIdentifier *This, + DWORD *pdwZone); + + HRESULT (STDMETHODCALLTYPE *SetId)( + IZoneIdentifier *This, + DWORD dwZone); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IZoneIdentifier *This); + + END_INTERFACE +} IZoneIdentifierVtbl; + +interface IZoneIdentifier { + CONST_VTBL IZoneIdentifierVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IZoneIdentifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IZoneIdentifier_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IZoneIdentifier_Release(This) (This)->lpVtbl->Release(This) +/*** IZoneIdentifier methods ***/ +#define IZoneIdentifier_GetId(This,pdwZone) (This)->lpVtbl->GetId(This,pdwZone) +#define IZoneIdentifier_SetId(This,dwZone) (This)->lpVtbl->SetId(This,dwZone) +#define IZoneIdentifier_Remove(This) (This)->lpVtbl->Remove(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IZoneIdentifier_QueryInterface(IZoneIdentifier* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IZoneIdentifier_AddRef(IZoneIdentifier* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IZoneIdentifier_Release(IZoneIdentifier* This) { + return This->lpVtbl->Release(This); +} +/*** IZoneIdentifier methods ***/ +static inline HRESULT IZoneIdentifier_GetId(IZoneIdentifier* This,DWORD *pdwZone) { + return This->lpVtbl->GetId(This,pdwZone); +} +static inline HRESULT IZoneIdentifier_SetId(IZoneIdentifier* This,DWORD dwZone) { + return This->lpVtbl->SetId(This,dwZone); +} +static inline HRESULT IZoneIdentifier_Remove(IZoneIdentifier* This) { + return This->lpVtbl->Remove(This); +} +#endif +#endif + +#endif + + +#endif /* __IZoneIdentifier_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPINTERNETHOSTSECURITYMANANGER_DEFINED +#define _LPINTERNETHOSTSECURITYMANANGER_DEFINED + +/***************************************************************************** + * IInternetHostSecurityManager interface + */ +#ifndef __IInternetHostSecurityManager_INTERFACE_DEFINED__ +#define __IInternetHostSecurityManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3af280b6-cb3f-11d0-891e-00c04fb6bfc4") +IInternetHostSecurityManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSecurityId( + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessUrlAction( + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryCustomPolicy( + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetHostSecurityManager, 0x3af280b6, 0xcb3f, 0x11d0, 0x89,0x1e, 0x00,0xc0,0x4f,0xb6,0xbf,0xc4) +#endif +#else +typedef struct IInternetHostSecurityManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetHostSecurityManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetHostSecurityManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetHostSecurityManager *This); + + /*** IInternetHostSecurityManager methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSecurityId)( + IInternetHostSecurityManager *This, + BYTE *pbSecurityId, + DWORD *pcbSecurityId, + DWORD_PTR dwReserved); + + HRESULT (STDMETHODCALLTYPE *ProcessUrlAction)( + IInternetHostSecurityManager *This, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwFlags, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *QueryCustomPolicy)( + IInternetHostSecurityManager *This, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + BYTE *pContext, + DWORD cbContext, + DWORD dwReserved); + + END_INTERFACE +} IInternetHostSecurityManagerVtbl; + +interface IInternetHostSecurityManager { + CONST_VTBL IInternetHostSecurityManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetHostSecurityManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetHostSecurityManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetHostSecurityManager_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetHostSecurityManager methods ***/ +#define IInternetHostSecurityManager_GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) (This)->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved) +#define IInternetHostSecurityManager_ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) (This)->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved) +#define IInternetHostSecurityManager_QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) (This)->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetHostSecurityManager_AddRef(IInternetHostSecurityManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetHostSecurityManager_Release(IInternetHostSecurityManager* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetHostSecurityManager methods ***/ +static inline HRESULT IInternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager* This,BYTE *pbSecurityId,DWORD *pcbSecurityId,DWORD_PTR dwReserved) { + return This->lpVtbl->GetSecurityId(This,pbSecurityId,pcbSecurityId,dwReserved); +} +static inline HRESULT IInternetHostSecurityManager_ProcessUrlAction(IInternetHostSecurityManager* This,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwFlags,DWORD dwReserved) { + return This->lpVtbl->ProcessUrlAction(This,dwAction,pPolicy,cbPolicy,pContext,cbContext,dwFlags,dwReserved); +} +static inline HRESULT IInternetHostSecurityManager_QueryCustomPolicy(IInternetHostSecurityManager* This,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,BYTE *pContext,DWORD cbContext,DWORD dwReserved) { + return This->lpVtbl->QueryCustomPolicy(This,guidKey,ppPolicy,pcbPolicy,pContext,cbContext,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetHostSecurityManager_INTERFACE_DEFINED__ */ + +#endif + +#define URLACTION_MIN 0x1000 + +#define URLACTION_DOWNLOAD_MIN 0x1000 +#define URLACTION_DOWNLOAD_SIGNED_ACTIVEX 0x1001 +#define URLACTION_DOWNLOAD_UNSIGNED_ACTIVEX 0x1004 +#define URLACTION_DOWNLOAD_CURR_MAX 0x1004 +#define URLACTION_DOWNLOAD_MAX 0x11FF + +#define URLACTION_ACTIVEX_MIN 0x1200 +#define URLACTION_ACTIVEX_RUN 0x1200 +#define URLPOLICY_ACTIVEX_CHECK_LIST 0x10000 +#define URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY 0x1201 +#define URLACTION_ACTIVEX_OVERRIDE_DATA_SAFETY 0x1202 +#define URLACTION_ACTIVEX_OVERRIDE_SCRIPT_SAFETY 0x1203 +#define URLACTION_SCRIPT_OVERRIDE_SAFETY 0x1401 +#define URLACTION_ACTIVEX_CONFIRM_NOOBJECTSAFETY 0x1204 +#define URLACTION_ACTIVEX_TREATASUNTRUSTED 0x1205 +#define URLACTION_ACTIVEX_NO_WEBOC_SCRIPT 0x1206 +#define URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION 0x1207 +#define URLACTION_ACTIVEX_OVERRIDE_OPTIN 0x1208 +#define URLACTION_ACTIVEX_SCRIPTLET_RUN 0x1209 +#define URLACTION_ACTIVEX_DYNSRC_VIDEO_AND_ANIMATION 0x120A +#define URLACTION_ACTIVEX_OVERRIDE_DOMAINLIST 0x120B +#define URLACTION_ACTIVEX_CURR_MAX 0x120B +#define URLACTION_ACTIVEX_MAX 0x13ff + +#define URLACTION_SCRIPT_MIN 0x1400 +#define URLACTION_SCRIPT_RUN 0x1400 +#define URLACTION_SCRIPT_JAVA_USE 0x1402 +#define URLACTION_SCRIPT_SAFE_ACTIVEX 0x1405 +#define URLACTION_CROSS_DOMAIN_DATA 0x1406 +#define URLACTION_SCRIPT_PASTE 0x1407 +#define URLACTION_ALLOW_XDOMAIN_SUBFRAME_RESIZE 0x1408 +#define URLACTION_SCRIPT_XSSFILTER 0x1409 +#define URLACTION_SCRIPT_NAVIGATE 0x140A +#define URLACTION_PLUGGABLE_PROTOCOL_XHR 0x140B +#define URLACTION_SCRIPT_CURR_MAX 0x140B +#define URLACTION_SCRIPT_MAX 0x15ff + +#define URLACTION_HTML_MIN 0x1600 +#define URLACTION_HTML_SUBMIT_FORMS 0x1601 +#define URLACTION_HTML_SUBMIT_FORMS_FROM 0x1602 +#define URLACTION_HTML_SUBMIT_FORMS_TO 0x1603 +#define URLACTION_HTML_FONT_DOWNLOAD 0x1604 +#define URLACTION_HTML_JAVA_RUN 0x1605 +#define URLACTION_HTML_USERDATA_SAVE 0x1606 +#define URLACTION_HTML_SUBFRAME_NAVIGATE 0x1607 +#define URLACTION_HTML_META_REFRESH 0x1608 +#define URLACTION_HTML_MIXED_CONTENT 0x1609 +#define URLACTION_HTML_INCLUDE_FILE_PATH 0x160A +#define URLACTION_HTML_ALLOW_INJECTED_DYNAMIC_HTML 0x160B +#define URLACTION_HTML_REQUIRE_UTF8_DOCUMENT_CODEPAGE 0x160C +#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_CANVAS 0x160D +#define URLACTION_HTML_ALLOW_WINDOW_CLOSE 0x160E +#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_WEBWORKER 0x160F +#define URLACTION_HTML_ALLOW_CROSS_DOMAIN_TEXTTRACK 0x1610 +#define URLACTION_HTML_ALLOW_INDEXEDDB 0x1611 + +#define URLACTION_HTML_MAX 0x17ff + +#define URLACTION_SHELL_MIN 0x1800 +#define URLACTION_SHELL_INSTALL_DTITEMS 0x1800 +#define URLACTION_SHELL_MOVE_OR_COPY 0x1802 +#define URLACTION_SHELL_FILE_DOWNLOAD 0x1803 +#define URLACTION_SHELL_VERB 0x1804 +#define URLACTION_SHELL_WEBVIEW_VERB 0x1805 +#define URLACTION_SHELL_SHELLEXECUTE 0x1806 + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define URLACTION_SHELL_EXECUTE_HIGHRISK 0x1806 +#define URLACTION_SHELL_EXECUTE_MODRISK 0x1807 +#define URLACTION_SHELL_EXECUTE_LOWRISK 0x1808 +#define URLACTION_SHELL_POPUPMGR 0x1809 +#define URLACTION_SHELL_RTF_OBJECTS_LOAD 0x180A +#define URLACTION_SHELL_ENHANCED_DRAGDROP_SECURITY 0x180B +#define URLACTION_SHELL_EXTENSIONSECURITY 0x180C +#define URLACTION_SHELL_SECURE_DRAGSOURCE 0x180D +#endif +#if (_WIN32_IE >= _WIN32_IE_WIN7) +#define URLACTION_SHELL_REMOTEQUERY 0x180E +#define URLACTION_SHELL_PREVIEW 0x180F +#define URLACTION_SHELL_SHARE 0x1810 +#define URLACTION_SHELL_ALLOW_CROSS_SITE_SHARE 0x1811 +#endif +#define URLACTION_SHELL_CURR_MAX 0x1811 +#define URLACTION_SHELL_MAX 0x19ff + +#define URLACTION_NETWORK_MIN 0x1A00 + +#define URLACTION_CREDENTIALS_USE 0x1A00 +#define URLPOLICY_CREDENTIALS_SILENT_LOGON_OK 0x0 +#define URLPOLICY_CREDENTIALS_MUST_PROMPT_USER 0x10000 +#define URLPOLICY_CREDENTIALS_CONDITIONAL_PROMPT 0x20000 +#define URLPOLICY_CREDENTIALS_ANONYMOUS_ONLY 0x30000 + +#define URLACTION_AUTHENTICATE_CLIENT 0x1A01 +#define URLPOLICY_AUTHENTICATE_CLEARTEXT_OK 0x0 +#define URLPOLICY_AUTHENTICATE_CHALLENGE_RESPONSE 0x10000 +#define URLPOLICY_AUTHENTICATE_MUTUAL_ONLY 0x30000 + +#define URLACTION_COOKIES 0x1A02 +#define URLACTION_COOKIES_SESSION 0x1A03 + +#define URLACTION_CLIENT_CERT_PROMPT 0x1A04 + +#define URLACTION_COOKIES_THIRD_PARTY 0x1A05 +#define URLACTION_COOKIES_SESSION_THIRD_PARTY 0x1A06 + +#define URLACTION_COOKIES_ENABLED 0x1A10 + +#define URLACTION_NETWORK_CURR_MAX 0x1A10 +#define URLACTION_NETWORK_MAX 0x1Bff + +#define URLACTION_JAVA_MIN 0x1C00 +#define URLACTION_JAVA_PERMISSIONS 0x1C00 +#define URLPOLICY_JAVA_PROHIBIT 0x0 +#define URLPOLICY_JAVA_HIGH 0x10000 +#define URLPOLICY_JAVA_MEDIUM 0x20000 +#define URLPOLICY_JAVA_LOW 0x30000 +#define URLPOLICY_JAVA_CUSTOM 0x800000 +#define URLACTION_JAVA_CURR_MAX 0x1C00 +#define URLACTION_JAVA_MAX 0x1Cff + +#define URLACTION_INFODELIVERY_MIN 0x1D00 +#define URLACTION_INFODELIVERY_NO_ADDING_CHANNELS 0x1D00 +#define URLACTION_INFODELIVERY_NO_EDITING_CHANNELS 0x1D01 +#define URLACTION_INFODELIVERY_NO_REMOVING_CHANNELS 0x1D02 +#define URLACTION_INFODELIVERY_NO_ADDING_SUBSCRIPTIONS 0x1D03 +#define URLACTION_INFODELIVERY_NO_EDITING_SUBSCRIPTIONS 0x1D04 +#define URLACTION_INFODELIVERY_NO_REMOVING_SUBSCRIPTIONS 0x1D05 +#define URLACTION_INFODELIVERY_NO_CHANNEL_LOGGING 0x1D06 +#define URLACTION_INFODELIVERY_CURR_MAX 0x1D06 +#define URLACTION_INFODELIVERY_MAX 0x1Dff +#define URLACTION_CHANNEL_SOFTDIST_MIN 0x1E00 +#define URLACTION_CHANNEL_SOFTDIST_PERMISSIONS 0x1E05 +#define URLPOLICY_CHANNEL_SOFTDIST_PROHIBIT 0x10000 +#define URLPOLICY_CHANNEL_SOFTDIST_PRECACHE 0x20000 +#define URLPOLICY_CHANNEL_SOFTDIST_AUTOINSTALL 0x30000 +#define URLACTION_CHANNEL_SOFTDIST_MAX 0x1Eff +#if (_WIN32_IE >= _WIN32_IE_IE80) +#define URLACTION_DOTNET_USERCONTROLS 0x2005 +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#define URLACTION_BEHAVIOR_MIN 0x2000 +#define URLACTION_BEHAVIOR_RUN 0x2000 +#define URLPOLICY_BEHAVIOR_CHECK_LIST 0x10000 + +#define URLACTION_FEATURE_MIN 0x2100 +#define URLACTION_FEATURE_MIME_SNIFFING 0x2100 +#define URLACTION_FEATURE_ZONE_ELEVATION 0x2101 +#define URLACTION_FEATURE_WINDOW_RESTRICTIONS 0x2102 +#define URLACTION_FEATURE_SCRIPT_STATUS_BAR 0x2103 +#define URLACTION_FEATURE_FORCE_ADDR_AND_STATUS 0x2104 +#define URLACTION_FEATURE_BLOCK_INPUT_PROMPTS 0x2105 +#define URLACTION_FEATURE_DATA_BINDING 0x2106 +#define URLACTION_FEATURE_CROSSDOMAIN_FOCUS_CHANGE 0x2107 + +#define URLACTION_AUTOMATIC_DOWNLOAD_UI_MIN 0x2200 +#define URLACTION_AUTOMATIC_DOWNLOAD_UI 0x2200 +#define URLACTION_AUTOMATIC_ACTIVEX_UI 0x2201 + +#define URLACTION_ALLOW_RESTRICTEDPROTOCOLS 0x2300 +#endif +#if (_WIN32_IE >= _WIN32_IE_IE70) +#define URLACTION_ALLOW_APEVALUATION 0x2301 +#define URLACTION_ALLOW_XHR_EVALUATION 0x2302 +#define URLACTION_WINDOWS_BROWSER_APPLICATIONS 0x2400 +#define URLACTION_XPS_DOCUMENTS 0x2401 +#define URLACTION_LOOSE_XAML 0x2402 +#define URLACTION_LOWRIGHTS 0x2500 +#define URLACTION_WINFX_SETUP 0x2600 +#define URLACTION_INPRIVATE_BLOCKING 0x2700 +#endif +#define URLACTION_ALLOW_AUDIO_VIDEO 0x2701 +#define URLACTION_ALLOW_ACTIVEX_FILTERING 0x2702 +#define URLACTION_ALLOW_STRUCTURED_STORAGE_SNIFFING 0x2703 +#define URLACTION_ALLOW_AUDIO_VIDEO_PLUGINS 0x2704 +#define URLACTION_ALLOW_ZONE_ELEVATION_VIA_OPT_OUT 0x2705 +#define URLACTION_ALLOW_ZONE_ELEVATION_OPT_OUT_ADDITION 0x2706 +#define URLACTION_ALLOW_CROSSDOMAIN_DROP_WITHIN_WINDOW 0x2708 +#define URLACTION_ALLOW_CROSSDOMAIN_DROP_ACROSS_WINDOWS 0x2709 +#define URLACTION_ALLOW_CROSSDOMAIN_APPCACHE_MANIFEST 0x270A +#define URLACTION_ALLOW_RENDER_LEGACY_DXTFILTERS 0x270B + +#define URLPOLICY_ALLOW 0x0 +#define URLPOLICY_QUERY 0x1 +#define URLPOLICY_DISALLOW 0x3 +#define URLPOLICY_NOTIFY_ON_ALLOW 0x10 +#define URLPOLICY_NOTIFY_ON_DISALLOW 0x20 +#define URLPOLICY_LOG_ON_ALLOW 0x40 +#define URLPOLICY_LOG_ON_DISALLOW 0x80 + +#define URLPOLICY_MASK_PERMISSIONS 0x0f +#define GetUrlPolicyPermissions(dw) (dw & URLPOLICY_MASK_PERMISSIONS) +#define SetUrlPolicyPermissions(dw,dw2) ((dw) = ((dw) & ~(URLPOLICY_MASK_PERMISSIONS)) | (dw2)) + +#define URLPOLICY_DONTCHECKDLGBOX 0x100 + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +EXTERN_C const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED; +#endif + +#ifndef _LPINTERNETZONEMANAGER_DEFINED +#define _LPINTERNETZONEMANAGER_DEFINED + +/***************************************************************************** + * IInternetZoneManager interface + */ +#ifndef __IInternetZoneManager_INTERFACE_DEFINED__ +#define __IInternetZoneManager_INTERFACE_DEFINED__ + +typedef IInternetZoneManager *LPURLZONEMANAGER; + +typedef enum tagURLZONE { + URLZONE_INVALID = -1, + URLZONE_PREDEFINED_MIN = 0, + URLZONE_LOCAL_MACHINE = 0, + URLZONE_INTRANET = 1, + URLZONE_TRUSTED = 2, + URLZONE_INTERNET = 3, + URLZONE_UNTRUSTED = 4, + URLZONE_PREDEFINED_MAX = 999, + URLZONE_USER_MIN = 1000, + URLZONE_USER_MAX = 10000 +} URLZONE; + +#define URLZONE_ESC_FLAG 0x100 + +typedef enum tagURLTEMPLATE { + URLTEMPLATE_CUSTOM = 0x0, + URLTEMPLATE_PREDEFINED_MIN = 0x10000, + URLTEMPLATE_LOW = 0x10000, + URLTEMPLATE_MEDLOW = 0x10500, + URLTEMPLATE_MEDIUM = 0x11000, + URLTEMPLATE_MEDHIGH = 0x11500, + URLTEMPLATE_HIGH = 0x12000, + URLTEMPLATE_PREDEFINED_MAX = 0x20000 +} URLTEMPLATE; + +enum { + MAX_ZONE_PATH = 260, + MAX_ZONE_DESCRIPTION = 200 +}; + +typedef enum __WIDL_urlmon_generated_name_0000001E { + ZAFLAGS_CUSTOM_EDIT = 0x1, + ZAFLAGS_ADD_SITES = 0x2, + ZAFLAGS_REQUIRE_VERIFICATION = 0x4, + ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8, + ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10, + ZAFLAGS_NO_UI = 0x20, + ZAFLAGS_SUPPORTS_VERIFICATION = 0x40, + ZAFLAGS_UNC_AS_INTRANET = 0x80, + ZAFLAGS_DETECT_INTRANET = 0x100, + ZAFLAGS_USE_LOCKED_ZONES = 0x10000, + ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x20000, + ZAFLAGS_NO_CACHE = 0x40000 +} ZAFLAGS; + +typedef struct _ZONEATTRIBUTES { + ULONG cbSize; + WCHAR szDisplayName[260]; + WCHAR szDescription[200]; + WCHAR szIconPath[260]; + DWORD dwTemplateMinLevel; + DWORD dwTemplateRecommended; + DWORD dwTemplateCurrentLevel; + DWORD dwFlags; +} ZONEATTRIBUTES; +typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES; + + +typedef enum _URLZONEREG { + URLZONEREG_DEFAULT = 0, + URLZONEREG_HKLM = 1, + URLZONEREG_HKCU = 2 +} URLZONEREG; + +DEFINE_GUID(IID_IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79eac9ef-baf9-11ce-8c82-00aa004ba90b") +IInternetZoneManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetZoneAttributes( + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZoneAttributes( + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZoneCustomPolicy( + DWORD dwZone, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + URLZONEREG urlZoneReg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZoneCustomPolicy( + DWORD dwZone, + REFGUID guidKey, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicy( + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicy( + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg) = 0; + + virtual HRESULT STDMETHODCALLTYPE PromptAction( + DWORD dwAction, + HWND hwndParent, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwPromptFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE LogAction( + DWORD dwAction, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwLogFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateZoneEnumerator( + DWORD *pdwEnum, + DWORD *pdwCount, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZoneAt( + DWORD dwEnum, + DWORD dwIndex, + DWORD *pdwZone) = 0; + + virtual HRESULT STDMETHODCALLTYPE DestroyZoneEnumerator( + DWORD dwEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyTemplatePoliciesToZone( + DWORD dwTemplate, + DWORD dwZone, + DWORD dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetZoneManager, 0x79eac9ef, 0xbaf9, 0x11ce, 0x8c,0x82, 0x00,0xaa,0x00,0x4b,0xa9,0x0b) +#endif +#else +typedef struct IInternetZoneManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetZoneManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetZoneManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetZoneManager *This); + + /*** IInternetZoneManager methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( + IInternetZoneManager *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( + IInternetZoneManager *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( + IInternetZoneManager *This, + DWORD dwZone, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( + IInternetZoneManager *This, + DWORD dwZone, + REFGUID guidKey, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( + IInternetZoneManager *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( + IInternetZoneManager *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *PromptAction)( + IInternetZoneManager *This, + DWORD dwAction, + HWND hwndParent, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwPromptFlags); + + HRESULT (STDMETHODCALLTYPE *LogAction)( + IInternetZoneManager *This, + DWORD dwAction, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwLogFlags); + + HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( + IInternetZoneManager *This, + DWORD *pdwEnum, + DWORD *pdwCount, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneAt)( + IInternetZoneManager *This, + DWORD dwEnum, + DWORD dwIndex, + DWORD *pdwZone); + + HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( + IInternetZoneManager *This, + DWORD dwEnum); + + HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( + IInternetZoneManager *This, + DWORD dwTemplate, + DWORD dwZone, + DWORD dwReserved); + + END_INTERFACE +} IInternetZoneManagerVtbl; + +interface IInternetZoneManager { + CONST_VTBL IInternetZoneManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetZoneManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetZoneManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetZoneManager_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetZoneManager methods ***/ +#define IInternetZoneManager_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManager_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManager_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) +#define IInternetZoneManager_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManager_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManager_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManager_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) +#define IInternetZoneManager_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) +#define IInternetZoneManager_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) +#define IInternetZoneManager_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) +#define IInternetZoneManager_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) +#define IInternetZoneManager_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetZoneManager_QueryInterface(IInternetZoneManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetZoneManager_AddRef(IInternetZoneManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetZoneManager_Release(IInternetZoneManager* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetZoneManager methods ***/ +static inline HRESULT IInternetZoneManager_GetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManager_SetZoneAttributes(IInternetZoneManager* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManager_GetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManager_SetZoneCustomPolicy(IInternetZoneManager* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManager_GetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManager_SetZoneActionPolicy(IInternetZoneManager* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManager_PromptAction(IInternetZoneManager* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { + return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); +} +static inline HRESULT IInternetZoneManager_LogAction(IInternetZoneManager* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { + return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); +} +static inline HRESULT IInternetZoneManager_CreateZoneEnumerator(IInternetZoneManager* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { + return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); +} +static inline HRESULT IInternetZoneManager_GetZoneAt(IInternetZoneManager* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { + return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); +} +static inline HRESULT IInternetZoneManager_DestroyZoneEnumerator(IInternetZoneManager* This,DWORD dwEnum) { + return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); +} +static inline HRESULT IInternetZoneManager_CopyTemplatePoliciesToZone(IInternetZoneManager* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { + return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IInternetZoneManager_INTERFACE_DEFINED__ */ + +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE60SP2) +#ifndef _LPINTERNETZONEMANAGEREX_DEFINED +#define _LPINTERNETZONEMANAGEREX_DEFINED + +/***************************************************************************** + * IInternetZoneManagerEx interface + */ +#ifndef __IInternetZoneManagerEx_INTERFACE_DEFINED__ +#define __IInternetZoneManagerEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a4c23339-8e06-431e-9bf4-7e711c085648") +IInternetZoneManagerEx : public IInternetZoneManager +{ + virtual HRESULT STDMETHODCALLTYPE GetZoneActionPolicyEx( + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZoneActionPolicyEx( + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetZoneManagerEx, 0xa4c23339, 0x8e06, 0x431e, 0x9b,0xf4, 0x7e,0x71,0x1c,0x08,0x56,0x48) +#endif +#else +typedef struct IInternetZoneManagerExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetZoneManagerEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetZoneManagerEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetZoneManagerEx *This); + + /*** IInternetZoneManager methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( + IInternetZoneManagerEx *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( + IInternetZoneManagerEx *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( + IInternetZoneManagerEx *This, + DWORD dwZone, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( + IInternetZoneManagerEx *This, + DWORD dwZone, + REFGUID guidKey, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( + IInternetZoneManagerEx *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( + IInternetZoneManagerEx *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *PromptAction)( + IInternetZoneManagerEx *This, + DWORD dwAction, + HWND hwndParent, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwPromptFlags); + + HRESULT (STDMETHODCALLTYPE *LogAction)( + IInternetZoneManagerEx *This, + DWORD dwAction, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwLogFlags); + + HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( + IInternetZoneManagerEx *This, + DWORD *pdwEnum, + DWORD *pdwCount, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneAt)( + IInternetZoneManagerEx *This, + DWORD dwEnum, + DWORD dwIndex, + DWORD *pdwZone); + + HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( + IInternetZoneManagerEx *This, + DWORD dwEnum); + + HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( + IInternetZoneManagerEx *This, + DWORD dwTemplate, + DWORD dwZone, + DWORD dwReserved); + + /*** IInternetZoneManagerEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)( + IInternetZoneManagerEx *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)( + IInternetZoneManagerEx *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags); + + END_INTERFACE +} IInternetZoneManagerExVtbl; + +interface IInternetZoneManagerEx { + CONST_VTBL IInternetZoneManagerExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetZoneManagerEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetZoneManagerEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetZoneManagerEx_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetZoneManager methods ***/ +#define IInternetZoneManagerEx_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManagerEx_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManagerEx_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) +#define IInternetZoneManagerEx_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) +#define IInternetZoneManagerEx_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) +#define IInternetZoneManagerEx_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) +#define IInternetZoneManagerEx_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) +#define IInternetZoneManagerEx_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) +#define IInternetZoneManagerEx_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) +/*** IInternetZoneManagerEx methods ***/ +#define IInternetZoneManagerEx_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) +#define IInternetZoneManagerEx_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetZoneManagerEx_QueryInterface(IInternetZoneManagerEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetZoneManagerEx_AddRef(IInternetZoneManagerEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetZoneManagerEx_Release(IInternetZoneManagerEx* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetZoneManager methods ***/ +static inline HRESULT IInternetZoneManagerEx_GetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManagerEx_SetZoneAttributes(IInternetZoneManagerEx* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManagerEx_GetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx_SetZoneCustomPolicy(IInternetZoneManagerEx* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx_GetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx_SetZoneActionPolicy(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx_PromptAction(IInternetZoneManagerEx* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { + return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); +} +static inline HRESULT IInternetZoneManagerEx_LogAction(IInternetZoneManagerEx* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { + return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); +} +static inline HRESULT IInternetZoneManagerEx_CreateZoneEnumerator(IInternetZoneManagerEx* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { + return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); +} +static inline HRESULT IInternetZoneManagerEx_GetZoneAt(IInternetZoneManagerEx* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { + return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); +} +static inline HRESULT IInternetZoneManagerEx_DestroyZoneEnumerator(IInternetZoneManagerEx* This,DWORD dwEnum) { + return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); +} +static inline HRESULT IInternetZoneManagerEx_CopyTemplatePoliciesToZone(IInternetZoneManagerEx* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { + return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); +} +/*** IInternetZoneManagerEx methods ***/ +static inline HRESULT IInternetZoneManagerEx_GetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { + return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); +} +static inline HRESULT IInternetZoneManagerEx_SetZoneActionPolicyEx(IInternetZoneManagerEx* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { + return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); +} +#endif +#endif + +#endif + + +#endif /* __IInternetZoneManagerEx_INTERFACE_DEFINED__ */ + +#endif +#endif + +#if (_WIN32_IE >= _WIN32_IE_IE70) +#ifndef _LPINTERNETZONEMANAGEREX2_DEFINED +#define _LPINTERNETZONEMANAGEREX2_DEFINED + +#define SECURITY_IE_STATE_GREEN 0x0 +#define SECURITY_IE_STATE_RED 0x1 + +/***************************************************************************** + * IInternetZoneManagerEx2 interface + */ +#ifndef __IInternetZoneManagerEx2_INTERFACE_DEFINED__ +#define __IInternetZoneManagerEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("edc17559-dd5d-4846-8eef-8becba5a4abf") +IInternetZoneManagerEx2 : public IInternetZoneManagerEx +{ + virtual HRESULT STDMETHODCALLTYPE GetZoneAttributesEx( + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZoneSecurityState( + DWORD dwZoneIndex, + WINBOOL fRespectPolicy, + LPDWORD pdwState, + WINBOOL *pfPolicyEncountered) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIESecurityState( + WINBOOL fRespectPolicy, + LPDWORD pdwState, + WINBOOL *pfPolicyEncountered, + WINBOOL fNoCache) = 0; + + virtual HRESULT STDMETHODCALLTYPE FixUnsecureSettings( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInternetZoneManagerEx2, 0xedc17559, 0xdd5d, 0x4846, 0x8e,0xef, 0x8b,0xec,0xba,0x5a,0x4a,0xbf) +#endif +#else +typedef struct IInternetZoneManagerEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInternetZoneManagerEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInternetZoneManagerEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInternetZoneManagerEx2 *This); + + /*** IInternetZoneManager methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneAttributes)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *SetZoneAttributes)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes); + + HRESULT (STDMETHODCALLTYPE *GetZoneCustomPolicy)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + REFGUID guidKey, + BYTE **ppPolicy, + DWORD *pcbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneCustomPolicy)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + REFGUID guidKey, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicy)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicy)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg); + + HRESULT (STDMETHODCALLTYPE *PromptAction)( + IInternetZoneManagerEx2 *This, + DWORD dwAction, + HWND hwndParent, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwPromptFlags); + + HRESULT (STDMETHODCALLTYPE *LogAction)( + IInternetZoneManagerEx2 *This, + DWORD dwAction, + LPCWSTR pwszUrl, + LPCWSTR pwszText, + DWORD dwLogFlags); + + HRESULT (STDMETHODCALLTYPE *CreateZoneEnumerator)( + IInternetZoneManagerEx2 *This, + DWORD *pdwEnum, + DWORD *pdwCount, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneAt)( + IInternetZoneManagerEx2 *This, + DWORD dwEnum, + DWORD dwIndex, + DWORD *pdwZone); + + HRESULT (STDMETHODCALLTYPE *DestroyZoneEnumerator)( + IInternetZoneManagerEx2 *This, + DWORD dwEnum); + + HRESULT (STDMETHODCALLTYPE *CopyTemplatePoliciesToZone)( + IInternetZoneManagerEx2 *This, + DWORD dwTemplate, + DWORD dwZone, + DWORD dwReserved); + + /*** IInternetZoneManagerEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneActionPolicyEx)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *SetZoneActionPolicyEx)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + DWORD dwAction, + BYTE *pPolicy, + DWORD cbPolicy, + URLZONEREG urlZoneReg, + DWORD dwFlags); + + /*** IInternetZoneManagerEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetZoneAttributesEx)( + IInternetZoneManagerEx2 *This, + DWORD dwZone, + ZONEATTRIBUTES *pZoneAttributes, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetZoneSecurityState)( + IInternetZoneManagerEx2 *This, + DWORD dwZoneIndex, + WINBOOL fRespectPolicy, + LPDWORD pdwState, + WINBOOL *pfPolicyEncountered); + + HRESULT (STDMETHODCALLTYPE *GetIESecurityState)( + IInternetZoneManagerEx2 *This, + WINBOOL fRespectPolicy, + LPDWORD pdwState, + WINBOOL *pfPolicyEncountered, + WINBOOL fNoCache); + + HRESULT (STDMETHODCALLTYPE *FixUnsecureSettings)( + IInternetZoneManagerEx2 *This); + + END_INTERFACE +} IInternetZoneManagerEx2Vtbl; + +interface IInternetZoneManagerEx2 { + CONST_VTBL IInternetZoneManagerEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInternetZoneManagerEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInternetZoneManagerEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInternetZoneManagerEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IInternetZoneManager methods ***/ +#define IInternetZoneManagerEx2_GetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManagerEx2_SetZoneAttributes(This,dwZone,pZoneAttributes) (This)->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes) +#define IInternetZoneManagerEx2_GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg) +#define IInternetZoneManagerEx2_SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx2_GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx2_SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) (This)->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg) +#define IInternetZoneManagerEx2_PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) (This)->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags) +#define IInternetZoneManagerEx2_LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) (This)->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags) +#define IInternetZoneManagerEx2_CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) (This)->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags) +#define IInternetZoneManagerEx2_GetZoneAt(This,dwEnum,dwIndex,pdwZone) (This)->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone) +#define IInternetZoneManagerEx2_DestroyZoneEnumerator(This,dwEnum) (This)->lpVtbl->DestroyZoneEnumerator(This,dwEnum) +#define IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) (This)->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved) +/*** IInternetZoneManagerEx methods ***/ +#define IInternetZoneManagerEx2_GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) +#define IInternetZoneManagerEx2_SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) (This)->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags) +/*** IInternetZoneManagerEx2 methods ***/ +#define IInternetZoneManagerEx2_GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags) (This)->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags) +#define IInternetZoneManagerEx2_GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered) (This)->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered) +#define IInternetZoneManagerEx2_GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache) (This)->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache) +#define IInternetZoneManagerEx2_FixUnsecureSettings(This) (This)->lpVtbl->FixUnsecureSettings(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInternetZoneManagerEx2_QueryInterface(IInternetZoneManagerEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInternetZoneManagerEx2_AddRef(IInternetZoneManagerEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInternetZoneManagerEx2_Release(IInternetZoneManagerEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IInternetZoneManager methods ***/ +static inline HRESULT IInternetZoneManagerEx2_GetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->GetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManagerEx2_SetZoneAttributes(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes) { + return This->lpVtbl->SetZoneAttributes(This,dwZone,pZoneAttributes); +} +static inline HRESULT IInternetZoneManagerEx2_GetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE **ppPolicy,DWORD *pcbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneCustomPolicy(This,dwZone,guidKey,ppPolicy,pcbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx2_SetZoneCustomPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,REFGUID guidKey,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneCustomPolicy(This,dwZone,guidKey,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx2_GetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->GetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx2_SetZoneActionPolicy(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg) { + return This->lpVtbl->SetZoneActionPolicy(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg); +} +static inline HRESULT IInternetZoneManagerEx2_PromptAction(IInternetZoneManagerEx2* This,DWORD dwAction,HWND hwndParent,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwPromptFlags) { + return This->lpVtbl->PromptAction(This,dwAction,hwndParent,pwszUrl,pwszText,dwPromptFlags); +} +static inline HRESULT IInternetZoneManagerEx2_LogAction(IInternetZoneManagerEx2* This,DWORD dwAction,LPCWSTR pwszUrl,LPCWSTR pwszText,DWORD dwLogFlags) { + return This->lpVtbl->LogAction(This,dwAction,pwszUrl,pwszText,dwLogFlags); +} +static inline HRESULT IInternetZoneManagerEx2_CreateZoneEnumerator(IInternetZoneManagerEx2* This,DWORD *pdwEnum,DWORD *pdwCount,DWORD dwFlags) { + return This->lpVtbl->CreateZoneEnumerator(This,pdwEnum,pdwCount,dwFlags); +} +static inline HRESULT IInternetZoneManagerEx2_GetZoneAt(IInternetZoneManagerEx2* This,DWORD dwEnum,DWORD dwIndex,DWORD *pdwZone) { + return This->lpVtbl->GetZoneAt(This,dwEnum,dwIndex,pdwZone); +} +static inline HRESULT IInternetZoneManagerEx2_DestroyZoneEnumerator(IInternetZoneManagerEx2* This,DWORD dwEnum) { + return This->lpVtbl->DestroyZoneEnumerator(This,dwEnum); +} +static inline HRESULT IInternetZoneManagerEx2_CopyTemplatePoliciesToZone(IInternetZoneManagerEx2* This,DWORD dwTemplate,DWORD dwZone,DWORD dwReserved) { + return This->lpVtbl->CopyTemplatePoliciesToZone(This,dwTemplate,dwZone,dwReserved); +} +/*** IInternetZoneManagerEx methods ***/ +static inline HRESULT IInternetZoneManagerEx2_GetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { + return This->lpVtbl->GetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); +} +static inline HRESULT IInternetZoneManagerEx2_SetZoneActionPolicyEx(IInternetZoneManagerEx2* This,DWORD dwZone,DWORD dwAction,BYTE *pPolicy,DWORD cbPolicy,URLZONEREG urlZoneReg,DWORD dwFlags) { + return This->lpVtbl->SetZoneActionPolicyEx(This,dwZone,dwAction,pPolicy,cbPolicy,urlZoneReg,dwFlags); +} +/*** IInternetZoneManagerEx2 methods ***/ +static inline HRESULT IInternetZoneManagerEx2_GetZoneAttributesEx(IInternetZoneManagerEx2* This,DWORD dwZone,ZONEATTRIBUTES *pZoneAttributes,DWORD dwFlags) { + return This->lpVtbl->GetZoneAttributesEx(This,dwZone,pZoneAttributes,dwFlags); +} +static inline HRESULT IInternetZoneManagerEx2_GetZoneSecurityState(IInternetZoneManagerEx2* This,DWORD dwZoneIndex,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered) { + return This->lpVtbl->GetZoneSecurityState(This,dwZoneIndex,fRespectPolicy,pdwState,pfPolicyEncountered); +} +static inline HRESULT IInternetZoneManagerEx2_GetIESecurityState(IInternetZoneManagerEx2* This,WINBOOL fRespectPolicy,LPDWORD pdwState,WINBOOL *pfPolicyEncountered,WINBOOL fNoCache) { + return This->lpVtbl->GetIESecurityState(This,fRespectPolicy,pdwState,pfPolicyEncountered,fNoCache); +} +static inline HRESULT IInternetZoneManagerEx2_FixUnsecureSettings(IInternetZoneManagerEx2* This) { + return This->lpVtbl->FixUnsecureSettings(This); +} +#endif +#endif + +#endif + + +#endif /* __IInternetZoneManagerEx2_INTERFACE_DEFINED__ */ + +#endif +#endif + +EXTERN_C const IID CLSID_SoftDistExt; + +#ifndef _LPSOFTDISTEXT_DEFINED +#define _LPSOFTDISTEXT_DEFINED + +#define SOFTDIST_FLAG_USAGE_EMAIL 0x1 +#define SOFTDIST_FLAG_USAGE_PRECACHE 0x2 +#define SOFTDIST_FLAG_USAGE_AUTOINSTALL 0x4 +#define SOFTDIST_FLAG_DELETE_SUBSCRIPTION 0x8 + +#define SOFTDIST_ADSTATE_NONE 0x0 +#define SOFTDIST_ADSTATE_AVAILABLE 0x1 +#define SOFTDIST_ADSTATE_DOWNLOADED 0x2 +#define SOFTDIST_ADSTATE_INSTALLED 0x3 + +typedef struct _tagCODEBASEHOLD { + ULONG cbSize; + LPWSTR szDistUnit; + LPWSTR szCodeBase; + DWORD dwVersionMS; + DWORD dwVersionLS; + DWORD dwStyle; +} CODEBASEHOLD; +typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD; + +typedef struct _tagSOFTDISTINFO { + ULONG cbSize; + DWORD dwFlags; + DWORD dwAdState; + LPWSTR szTitle; + LPWSTR szAbstract; + LPWSTR szHREF; + DWORD dwInstalledVersionMS; + DWORD dwInstalledVersionLS; + DWORD dwUpdateVersionMS; + DWORD dwUpdateVersionLS; + DWORD dwAdvertisedVersionMS; + DWORD dwAdvertisedVersionLS; + DWORD dwReserved; +} SOFTDISTINFO; +typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO; + +/***************************************************************************** + * ISoftDistExt interface + */ +#ifndef __ISoftDistExt_INTERFACE_DEFINED__ +#define __ISoftDistExt_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b15b8dc1-c7e1-11d0-8680-00aa00bdcb71") +ISoftDistExt : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ProcessSoftDist( + LPCWSTR szCDFURL, + IXMLElement *pSoftDistElement, + LPSOFTDISTINFO lpsdi) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFirstCodeBase( + LPWSTR *szCodeBase, + LPDWORD dwMaxSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextCodeBase( + LPWSTR *szCodeBase, + LPDWORD dwMaxSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE AsyncInstallDistributionUnit( + IBindCtx *pbc, + LPVOID pvReserved, + DWORD flags, + LPCODEBASEHOLD lpcbh) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISoftDistExt, 0xb15b8dc1, 0xc7e1, 0x11d0, 0x86,0x80, 0x00,0xaa,0x00,0xbd,0xcb,0x71) +#endif +#else +typedef struct ISoftDistExtVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISoftDistExt *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISoftDistExt *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISoftDistExt *This); + + /*** ISoftDistExt methods ***/ + HRESULT (STDMETHODCALLTYPE *ProcessSoftDist)( + ISoftDistExt *This, + LPCWSTR szCDFURL, + IXMLElement *pSoftDistElement, + LPSOFTDISTINFO lpsdi); + + HRESULT (STDMETHODCALLTYPE *GetFirstCodeBase)( + ISoftDistExt *This, + LPWSTR *szCodeBase, + LPDWORD dwMaxSize); + + HRESULT (STDMETHODCALLTYPE *GetNextCodeBase)( + ISoftDistExt *This, + LPWSTR *szCodeBase, + LPDWORD dwMaxSize); + + HRESULT (STDMETHODCALLTYPE *AsyncInstallDistributionUnit)( + ISoftDistExt *This, + IBindCtx *pbc, + LPVOID pvReserved, + DWORD flags, + LPCODEBASEHOLD lpcbh); + + END_INTERFACE +} ISoftDistExtVtbl; + +interface ISoftDistExt { + CONST_VTBL ISoftDistExtVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISoftDistExt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISoftDistExt_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISoftDistExt_Release(This) (This)->lpVtbl->Release(This) +/*** ISoftDistExt methods ***/ +#define ISoftDistExt_ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) (This)->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi) +#define ISoftDistExt_GetFirstCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize) +#define ISoftDistExt_GetNextCodeBase(This,szCodeBase,dwMaxSize) (This)->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize) +#define ISoftDistExt_AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) (This)->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISoftDistExt_QueryInterface(ISoftDistExt* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISoftDistExt_AddRef(ISoftDistExt* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISoftDistExt_Release(ISoftDistExt* This) { + return This->lpVtbl->Release(This); +} +/*** ISoftDistExt methods ***/ +static inline HRESULT ISoftDistExt_ProcessSoftDist(ISoftDistExt* This,LPCWSTR szCDFURL,IXMLElement *pSoftDistElement,LPSOFTDISTINFO lpsdi) { + return This->lpVtbl->ProcessSoftDist(This,szCDFURL,pSoftDistElement,lpsdi); +} +static inline HRESULT ISoftDistExt_GetFirstCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) { + return This->lpVtbl->GetFirstCodeBase(This,szCodeBase,dwMaxSize); +} +static inline HRESULT ISoftDistExt_GetNextCodeBase(ISoftDistExt* This,LPWSTR *szCodeBase,LPDWORD dwMaxSize) { + return This->lpVtbl->GetNextCodeBase(This,szCodeBase,dwMaxSize); +} +static inline HRESULT ISoftDistExt_AsyncInstallDistributionUnit(ISoftDistExt* This,IBindCtx *pbc,LPVOID pvReserved,DWORD flags,LPCODEBASEHOLD lpcbh) { + return This->lpVtbl->AsyncInstallDistributionUnit(This,pbc,pvReserved,flags,lpcbh); +} +#endif +#endif + +#endif + + +#endif /* __ISoftDistExt_INTERFACE_DEFINED__ */ + + +STDAPI GetSoftwareUpdateInfo(LPCWSTR szDistUnit, LPSOFTDISTINFO psdi); +STDAPI SetSoftwareUpdateAdvertisementState(LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS); +#endif + +#ifndef _LPCATALOGFILEINFO_DEFINED +#define _LPCATALOGFILEINFO_DEFINED + +/***************************************************************************** + * ICatalogFileInfo interface + */ +#ifndef __ICatalogFileInfo_INTERFACE_DEFINED__ +#define __ICatalogFileInfo_INTERFACE_DEFINED__ + +typedef ICatalogFileInfo *LPCATALOGFILEINFO; + +DEFINE_GUID(IID_ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("711c7600-6b48-11d1-b403-00aa00b92af1") +ICatalogFileInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCatalogFile( + LPSTR *ppszCatalogFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetJavaTrust( + void **ppJavaTrust) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICatalogFileInfo, 0x711c7600, 0x6b48, 0x11d1, 0xb4,0x03, 0x00,0xaa,0x00,0xb9,0x2a,0xf1) +#endif +#else +typedef struct ICatalogFileInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICatalogFileInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICatalogFileInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICatalogFileInfo *This); + + /*** ICatalogFileInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCatalogFile)( + ICatalogFileInfo *This, + LPSTR *ppszCatalogFile); + + HRESULT (STDMETHODCALLTYPE *GetJavaTrust)( + ICatalogFileInfo *This, + void **ppJavaTrust); + + END_INTERFACE +} ICatalogFileInfoVtbl; + +interface ICatalogFileInfo { + CONST_VTBL ICatalogFileInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICatalogFileInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICatalogFileInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICatalogFileInfo_Release(This) (This)->lpVtbl->Release(This) +/*** ICatalogFileInfo methods ***/ +#define ICatalogFileInfo_GetCatalogFile(This,ppszCatalogFile) (This)->lpVtbl->GetCatalogFile(This,ppszCatalogFile) +#define ICatalogFileInfo_GetJavaTrust(This,ppJavaTrust) (This)->lpVtbl->GetJavaTrust(This,ppJavaTrust) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICatalogFileInfo_QueryInterface(ICatalogFileInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICatalogFileInfo_AddRef(ICatalogFileInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICatalogFileInfo_Release(ICatalogFileInfo* This) { + return This->lpVtbl->Release(This); +} +/*** ICatalogFileInfo methods ***/ +static inline HRESULT ICatalogFileInfo_GetCatalogFile(ICatalogFileInfo* This,LPSTR *ppszCatalogFile) { + return This->lpVtbl->GetCatalogFile(This,ppszCatalogFile); +} +static inline HRESULT ICatalogFileInfo_GetJavaTrust(ICatalogFileInfo* This,void **ppJavaTrust) { + return This->lpVtbl->GetJavaTrust(This,ppJavaTrust); +} +#endif +#endif + +#endif + + +#endif /* __ICatalogFileInfo_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPDATAFILTER_DEFINED +#define _LPDATAFILTER_DEFINED + +/***************************************************************************** + * IDataFilter interface + */ +#ifndef __IDataFilter_INTERFACE_DEFINED__ +#define __IDataFilter_INTERFACE_DEFINED__ + +typedef IDataFilter *LPDATAFILTER; + +DEFINE_GUID(IID_IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("69d14c80-c18e-11d0-a9ce-006097942311") +IDataFilter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE DoEncode( + DWORD dwFlags, + LONG lInBufferSize, + BYTE *pbInBuffer, + LONG lOutBufferSize, + BYTE *pbOutBuffer, + LONG lInBytesAvailable, + LONG *plInBytesRead, + LONG *plOutBytesWritten, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoDecode( + DWORD dwFlags, + LONG lInBufferSize, + BYTE *pbInBuffer, + LONG lOutBufferSize, + BYTE *pbOutBuffer, + LONG lInBytesAvailable, + LONG *plInBytesRead, + LONG *plOutBytesWritten, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEncodingLevel( + DWORD dwEncLevel) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDataFilter, 0x69d14c80, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11) +#endif +#else +typedef struct IDataFilterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDataFilter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDataFilter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDataFilter *This); + + /*** IDataFilter methods ***/ + HRESULT (STDMETHODCALLTYPE *DoEncode)( + IDataFilter *This, + DWORD dwFlags, + LONG lInBufferSize, + BYTE *pbInBuffer, + LONG lOutBufferSize, + BYTE *pbOutBuffer, + LONG lInBytesAvailable, + LONG *plInBytesRead, + LONG *plOutBytesWritten, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *DoDecode)( + IDataFilter *This, + DWORD dwFlags, + LONG lInBufferSize, + BYTE *pbInBuffer, + LONG lOutBufferSize, + BYTE *pbOutBuffer, + LONG lInBytesAvailable, + LONG *plInBytesRead, + LONG *plOutBytesWritten, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *SetEncodingLevel)( + IDataFilter *This, + DWORD dwEncLevel); + + END_INTERFACE +} IDataFilterVtbl; + +interface IDataFilter { + CONST_VTBL IDataFilterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDataFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDataFilter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDataFilter_Release(This) (This)->lpVtbl->Release(This) +/*** IDataFilter methods ***/ +#define IDataFilter_DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) +#define IDataFilter_DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) (This)->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved) +#define IDataFilter_SetEncodingLevel(This,dwEncLevel) (This)->lpVtbl->SetEncodingLevel(This,dwEncLevel) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDataFilter_QueryInterface(IDataFilter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDataFilter_AddRef(IDataFilter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDataFilter_Release(IDataFilter* This) { + return This->lpVtbl->Release(This); +} +/*** IDataFilter methods ***/ +static inline HRESULT IDataFilter_DoEncode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) { + return This->lpVtbl->DoEncode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved); +} +static inline HRESULT IDataFilter_DoDecode(IDataFilter* This,DWORD dwFlags,LONG lInBufferSize,BYTE *pbInBuffer,LONG lOutBufferSize,BYTE *pbOutBuffer,LONG lInBytesAvailable,LONG *plInBytesRead,LONG *plOutBytesWritten,DWORD dwReserved) { + return This->lpVtbl->DoDecode(This,dwFlags,lInBufferSize,pbInBuffer,lOutBufferSize,pbOutBuffer,lInBytesAvailable,plInBytesRead,plOutBytesWritten,dwReserved); +} +static inline HRESULT IDataFilter_SetEncodingLevel(IDataFilter* This,DWORD dwEncLevel) { + return This->lpVtbl->SetEncodingLevel(This,dwEncLevel); +} +#endif +#endif + +#endif + + +#endif /* __IDataFilter_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPENCODINGFILTERFACTORY_DEFINED +#define _LPENCODINGFILTERFACTORY_DEFINED + +typedef struct _tagPROTOCOLFILTERDATA { + DWORD cbSize; + IInternetProtocolSink *pProtocolSink; + IInternetProtocol *pProtocol; + IUnknown *pUnk; + DWORD dwFilterFlags; +} PROTOCOLFILTERDATA; + +/***************************************************************************** + * IEncodingFilterFactory interface + */ +#ifndef __IEncodingFilterFactory_INTERFACE_DEFINED__ +#define __IEncodingFilterFactory_INTERFACE_DEFINED__ + +typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY; + +typedef struct _tagDATAINFO { + ULONG ulTotalSize; + ULONG ulavrPacketSize; + ULONG ulConnectSpeed; + ULONG ulProcessorSpeed; +} DATAINFO; + +DEFINE_GUID(IID_IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("70bdde00-c18e-11d0-a9ce-006097942311") +IEncodingFilterFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FindBestFilter( + LPCWSTR pwzCodeIn, + LPCWSTR pwzCodeOut, + DATAINFO info, + IDataFilter **ppDF) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDefaultFilter( + LPCWSTR pwzCodeIn, + LPCWSTR pwzCodeOut, + IDataFilter **ppDF) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEncodingFilterFactory, 0x70bdde00, 0xc18e, 0x11d0, 0xa9,0xce, 0x00,0x60,0x97,0x94,0x23,0x11) +#endif +#else +typedef struct IEncodingFilterFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEncodingFilterFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEncodingFilterFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEncodingFilterFactory *This); + + /*** IEncodingFilterFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *FindBestFilter)( + IEncodingFilterFactory *This, + LPCWSTR pwzCodeIn, + LPCWSTR pwzCodeOut, + DATAINFO info, + IDataFilter **ppDF); + + HRESULT (STDMETHODCALLTYPE *GetDefaultFilter)( + IEncodingFilterFactory *This, + LPCWSTR pwzCodeIn, + LPCWSTR pwzCodeOut, + IDataFilter **ppDF); + + END_INTERFACE +} IEncodingFilterFactoryVtbl; + +interface IEncodingFilterFactory { + CONST_VTBL IEncodingFilterFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEncodingFilterFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEncodingFilterFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEncodingFilterFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IEncodingFilterFactory methods ***/ +#define IEncodingFilterFactory_FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) (This)->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF) +#define IEncodingFilterFactory_GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) (This)->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEncodingFilterFactory_QueryInterface(IEncodingFilterFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEncodingFilterFactory_AddRef(IEncodingFilterFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEncodingFilterFactory_Release(IEncodingFilterFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IEncodingFilterFactory methods ***/ +static inline HRESULT IEncodingFilterFactory_FindBestFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,DATAINFO info,IDataFilter **ppDF) { + return This->lpVtbl->FindBestFilter(This,pwzCodeIn,pwzCodeOut,info,ppDF); +} +static inline HRESULT IEncodingFilterFactory_GetDefaultFilter(IEncodingFilterFactory* This,LPCWSTR pwzCodeIn,LPCWSTR pwzCodeOut,IDataFilter **ppDF) { + return This->lpVtbl->GetDefaultFilter(This,pwzCodeIn,pwzCodeOut,ppDF); +} +#endif +#endif + +#endif + + +#endif /* __IEncodingFilterFactory_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _HITLOGGING_DEFINED +#define _HITLOGGING_DEFINED + +WINBOOL WINAPI IsLoggingEnabledA(LPCSTR pszUrl); +WINBOOL WINAPI IsLoggingEnabledW(LPCWSTR pwszUrl); + +#define IsLoggingEnabled __MINGW_NAME_AW(IsLoggingEnabled) +typedef struct _tagHIT_LOGGING_INFO { + DWORD dwStructSize; + LPSTR lpszLoggedUrlName; + SYSTEMTIME StartTime; + SYSTEMTIME EndTime; + LPSTR lpszExtendedInfo; +} HIT_LOGGING_INFO; +typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO; + +WINBOOL WINAPI WriteHitLogging(LPHIT_LOGGING_INFO lpLogginginfo); + +#define CONFIRMSAFETYACTION_LOADOBJECT 0x1 + +struct CONFIRMSAFETY { + CLSID clsid; + IUnknown *pUnk; + DWORD dwFlags; +}; + +EXTERN_C const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY; +#endif + +#ifndef _LPIWRAPPEDPROTOCOL_DEFINED +#define _LPIWRAPPEDPROTOCOL_DEFINED + +/***************************************************************************** + * IWrappedProtocol interface + */ +#ifndef __IWrappedProtocol_INTERFACE_DEFINED__ +#define __IWrappedProtocol_INTERFACE_DEFINED__ + +typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL; + +DEFINE_GUID(IID_IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("53c84785-8425-4dc5-971b-e58d9c19f9b6") +IWrappedProtocol : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWrapperCode( + LONG *pnCode, + DWORD_PTR dwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWrappedProtocol, 0x53c84785, 0x8425, 0x4dc5, 0x97,0x1b, 0xe5,0x8d,0x9c,0x19,0xf9,0xb6) +#endif +#else +typedef struct IWrappedProtocolVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWrappedProtocol *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWrappedProtocol *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWrappedProtocol *This); + + /*** IWrappedProtocol methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWrapperCode)( + IWrappedProtocol *This, + LONG *pnCode, + DWORD_PTR dwReserved); + + END_INTERFACE +} IWrappedProtocolVtbl; + +interface IWrappedProtocol { + CONST_VTBL IWrappedProtocolVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWrappedProtocol_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWrappedProtocol_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWrappedProtocol_Release(This) (This)->lpVtbl->Release(This) +/*** IWrappedProtocol methods ***/ +#define IWrappedProtocol_GetWrapperCode(This,pnCode,dwReserved) (This)->lpVtbl->GetWrapperCode(This,pnCode,dwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWrappedProtocol_QueryInterface(IWrappedProtocol* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWrappedProtocol_AddRef(IWrappedProtocol* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWrappedProtocol_Release(IWrappedProtocol* This) { + return This->lpVtbl->Release(This); +} +/*** IWrappedProtocol methods ***/ +static inline HRESULT IWrappedProtocol_GetWrapperCode(IWrappedProtocol* This,LONG *pnCode,DWORD_PTR dwReserved) { + return This->lpVtbl->GetWrapperCode(This,pnCode,dwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWrappedProtocol_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _LPGETBINDHANDLE_DEFINED +#define _LPGETBINDHANDLE_DEFINED + +/***************************************************************************** + * IGetBindHandle interface + */ +#ifndef __IGetBindHandle_INTERFACE_DEFINED__ +#define __IGetBindHandle_INTERFACE_DEFINED__ + +typedef IGetBindHandle *LPGETBINDHANDLE; + +typedef enum __WIDL_urlmon_generated_name_0000001F { + BINDHANDLETYPES_APPCACHE = 0x0, + BINDHANDLETYPES_DEPENDENCY = 0x1, + BINDHANDLETYPES_COUNT = 0x2 +} BINDHANDLETYPES; + +DEFINE_GUID(IID_IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("af0ff408-129d-4b20-91f0-02bd23d88352") +IGetBindHandle : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetBindHandle( + BINDHANDLETYPES enumRequestedHandle, + HANDLE *pRetHandle) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IGetBindHandle, 0xaf0ff408, 0x129d, 0x4b20, 0x91,0xf0, 0x02,0xbd,0x23,0xd8,0x83,0x52) +#endif +#else +typedef struct IGetBindHandleVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IGetBindHandle *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IGetBindHandle *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IGetBindHandle *This); + + /*** IGetBindHandle methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBindHandle)( + IGetBindHandle *This, + BINDHANDLETYPES enumRequestedHandle, + HANDLE *pRetHandle); + + END_INTERFACE +} IGetBindHandleVtbl; + +interface IGetBindHandle { + CONST_VTBL IGetBindHandleVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IGetBindHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IGetBindHandle_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IGetBindHandle_Release(This) (This)->lpVtbl->Release(This) +/*** IGetBindHandle methods ***/ +#define IGetBindHandle_GetBindHandle(This,enumRequestedHandle,pRetHandle) (This)->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle) +#else +/*** IUnknown methods ***/ +static inline HRESULT IGetBindHandle_QueryInterface(IGetBindHandle* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IGetBindHandle_AddRef(IGetBindHandle* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IGetBindHandle_Release(IGetBindHandle* This) { + return This->lpVtbl->Release(This); +} +/*** IGetBindHandle methods ***/ +static inline HRESULT IGetBindHandle_GetBindHandle(IGetBindHandle* This,BINDHANDLETYPES enumRequestedHandle,HANDLE *pRetHandle) { + return This->lpVtbl->GetBindHandle(This,enumRequestedHandle,pRetHandle); +} +#endif +#endif + +#endif + + +#endif /* __IGetBindHandle_INTERFACE_DEFINED__ */ + +#endif + +#ifndef _XHRPLUGGABLEPROTOCOL_DEFINED +#define _XHRPLUGGABLEPROTOCOL_DEFINED + +typedef struct _tagPROTOCOL_ARGUMENT { + LPCWSTR szMethod; + LPCWSTR szTargetUrl; +} PROTOCOL_ARGUMENT; +typedef struct _tagPROTOCOL_ARGUMENT *LPPROTOCOL_ARGUMENT; +#endif + +#ifndef _LPBINDCALLBACKREDIRECT_DEFINED +#define _LPBINDCALLBACKREDIRECT_DEFINED + +/***************************************************************************** + * IBindCallbackRedirect interface + */ +#ifndef __IBindCallbackRedirect_INTERFACE_DEFINED__ +#define __IBindCallbackRedirect_INTERFACE_DEFINED__ + +typedef IBindCallbackRedirect *LPBINDCALLBACKREDIRECT; + +DEFINE_GUID(IID_IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("11c81bc2-121e-4ed5-b9c4-b430bd54f2c0") +IBindCallbackRedirect : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Redirect( + LPCWSTR lpcUrl, + VARIANT_BOOL *vbCancel) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBindCallbackRedirect, 0x11c81bc2, 0x121e, 0x4ed5, 0xb9,0xc4, 0xb4,0x30,0xbd,0x54,0xf2,0xc0) +#endif +#else +typedef struct IBindCallbackRedirectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBindCallbackRedirect *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBindCallbackRedirect *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBindCallbackRedirect *This); + + /*** IBindCallbackRedirect methods ***/ + HRESULT (STDMETHODCALLTYPE *Redirect)( + IBindCallbackRedirect *This, + LPCWSTR lpcUrl, + VARIANT_BOOL *vbCancel); + + END_INTERFACE +} IBindCallbackRedirectVtbl; + +interface IBindCallbackRedirect { + CONST_VTBL IBindCallbackRedirectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBindCallbackRedirect_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBindCallbackRedirect_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBindCallbackRedirect_Release(This) (This)->lpVtbl->Release(This) +/*** IBindCallbackRedirect methods ***/ +#define IBindCallbackRedirect_Redirect(This,lpcUrl,vbCancel) (This)->lpVtbl->Redirect(This,lpcUrl,vbCancel) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBindCallbackRedirect_QueryInterface(IBindCallbackRedirect* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBindCallbackRedirect_AddRef(IBindCallbackRedirect* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBindCallbackRedirect_Release(IBindCallbackRedirect* This) { + return This->lpVtbl->Release(This); +} +/*** IBindCallbackRedirect methods ***/ +static inline HRESULT IBindCallbackRedirect_Redirect(IBindCallbackRedirect* This,LPCWSTR lpcUrl,VARIANT_BOOL *vbCancel) { + return This->lpVtbl->Redirect(This,lpcUrl,vbCancel); +} +#endif +#endif + +#endif + + +#endif /* __IBindCallbackRedirect_INTERFACE_DEFINED__ */ + +#endif + +#endif +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *); +unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *); +unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *); +void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *); +ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *); +void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *); +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); +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 /* __urlmon_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb.h new file mode 100644 index 00000000..33640948 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb.h @@ -0,0 +1,563 @@ +/* + * usb.h + * + * 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 based on the ReactOS PSDK package file usb.h header. + * It was contributors by Casper S. Hornstrup + * + * Additions for Windows 8 and winapi-family by Kai Tietz. + * Replace dependecy of usb200.h header by usbspec.h header. + */ + +#ifdef OSR21_COMPAT +#pragma message("WARNING: OSR21_COMPAT SWITCH NOT SUPPORTED") +#endif + +#ifndef __USB_H__ +#define __USB_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifndef _NTDDK_ +#ifndef _WDMDDK_ +typedef PVOID PIRP; +typedef PVOID PMDL; +#endif +#endif + +#define USBDI_VERSION 0x00000600 + +#include "usbspec.h" +#include "usb200.h" + +#define USB_PORTATTR_NO_CONNECTOR 0x00000001 +#define USB_PORTATTR_SHARED_USB2 0x00000002 +#define USB_PORTATTR_MINI_CONNECTOR 0x00000004 +#define USB_PORTATTR_OEM_CONNECTOR 0x00000008 +#define USB_PORTATTR_OWNED_BY_CC 0x01000000 +#define USB_PORTATTR_NO_OVERCURRENT_UI 0x02000000 + +typedef enum _USB_CONTROLLER_FLAVOR { + USB_HcGeneric = 0, + OHCI_Generic = 100, + OHCI_Hydra, + OHCI_NEC, + UHCI_Generic = 200, + UHCI_Piix4 = 201, + UHCI_Piix3 = 202, + UHCI_Ich2 = 203, + UHCI_Reserved204 = 204, + UHCI_Ich1 = 205, + UHCI_Ich3m = 206, + UHCI_Ich4 = 207, + UHCI_Ich5 = 208, + UHCI_Ich6 = 209, + UHCI_Intel = 249, + UHCI_VIA = 250, + UHCI_VIA_x01 = 251, + UHCI_VIA_x02 = 252, + UHCI_VIA_x03 = 253, + UHCI_VIA_x04 = 254, + UHCI_VIA_x0E_FIFO = 264, + EHCI_Generic = 1000, + EHCI_NEC = 2000, + EHCI_Lucent = 3000, + EHCI_NVIDIA_Tegra2 = 4000, + EHCI_NVIDIA_Tegra3 = 4001, + EHCI_Intel_Medfield = 5001 +} USB_CONTROLLER_FLAVOR; + +#define USB_DEFAULT_DEVICE_ADDRESS 0 +#define USB_DEFAULT_ENDPOINT_ADDRESS 0 + +#define USB_DEFAULT_MAX_PACKET 64 + +#define URB_FROM_IRP(Irp) ((IoGetCurrentIrpStackLocation (Irp))->Parameters.Others.Argument1) + +#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000 +#define URB_FUNCTION_SELECT_INTERFACE 0x0001 +#define URB_FUNCTION_ABORT_PIPE 0x0002 +#define URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL 0x0003 +#define URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL 0x0004 +#define URB_FUNCTION_GET_FRAME_LENGTH 0x0005 +#define URB_FUNCTION_SET_FRAME_LENGTH 0x0006 +#define URB_FUNCTION_GET_CURRENT_FRAME_NUMBER 0x0007 +#define URB_FUNCTION_CONTROL_TRANSFER 0x0008 +#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER 0x0009 +#define URB_FUNCTION_ISOCH_TRANSFER 0x000a +#define URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE 0x000b +#define URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE 0x000c +#define URB_FUNCTION_SET_FEATURE_TO_DEVICE 0x000d +#define URB_FUNCTION_SET_FEATURE_TO_INTERFACE 0x000e +#define URB_FUNCTION_SET_FEATURE_TO_ENDPOINT 0x000f +#define URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE 0x0010 +#define URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE 0x0011 +#define URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT 0x0012 +#define URB_FUNCTION_GET_STATUS_FROM_DEVICE 0x0013 +#define URB_FUNCTION_GET_STATUS_FROM_INTERFACE 0x0014 +#define URB_FUNCTION_GET_STATUS_FROM_ENDPOINT 0x0015 +#define URB_FUNCTION_RESERVED_0X0016 0x0016 +#define URB_FUNCTION_VENDOR_DEVICE 0x0017 +#define URB_FUNCTION_VENDOR_INTERFACE 0x0018 +#define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 +#define URB_FUNCTION_CLASS_DEVICE 0x001a +#define URB_FUNCTION_CLASS_INTERFACE 0x001b +#define URB_FUNCTION_CLASS_ENDPOINT 0x001c +#define URB_FUNCTION_RESERVE_0X001D 0x001d +#define URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL 0x001e +#define URB_FUNCTION_CLASS_OTHER 0x001f +#define URB_FUNCTION_VENDOR_OTHER 0x0020 +#define URB_FUNCTION_GET_STATUS_FROM_OTHER 0x0021 +#define URB_FUNCTION_CLEAR_FEATURE_TO_OTHER 0x0022 +#define URB_FUNCTION_SET_FEATURE_TO_OTHER 0x0023 +#define URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT 0x0024 +#define URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT 0x0025 +#define URB_FUNCTION_GET_CONFIGURATION 0x0026 +#define URB_FUNCTION_GET_INTERFACE 0x0027 +#define URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE 0x0028 +#define URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE 0x0029 +#define URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR 0x002a +#define URB_FUNCTION_RESERVE_0X002B 0x002b +#define URB_FUNCTION_RESERVE_0X002C 0x002c +#define URB_FUNCTION_RESERVE_0X002D 0x002d +#define URB_FUNCTION_RESERVE_0X002E 0x002e +#define URB_FUNCTION_RESERVE_0X002F 0x002f +#define URB_FUNCTION_SYNC_RESET_PIPE 0x0030 +#define URB_FUNCTION_SYNC_CLEAR_STALL 0x0031 +#if _WIN32_WINNT >= 0x0600 +#define URB_FUNCTION_CONTROL_TRANSFER_EX 0x0032 +#define URB_FUNCTION_RESERVE_0X0033 0x0033 +#define URB_FUNCTION_RESERVE_0X0034 0x0034 +#endif +#if NTDDI_VERSION >= 0x06020000 +#define URB_FUNCTION_OPEN_STATIC_STREAMS 0x0035 +#define URB_FUNCTION_CLOSE_STATIC_STREAMS 0x0036 +#define URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL 0x0037 +#define URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL 0x0038 +#endif + +#define URB_FUNCTION_RESET_PIPE URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL + +#define USBD_TRANSFER_DIRECTION 0x00000001 +#define USBD_SHORT_TRANSFER_OK 0x00000002 +#define USBD_START_ISO_TRANSFER_ASAP 0x00000004 +#define USBD_DEFAULT_PIPE_TRANSFER 0x00000008 +#define USBD_TRANSFER_DIRECTION_FLAG(flags) ((flags) &USBD_TRANSFER_DIRECTION) + +#define USBD_TRANSFER_DIRECTION_OUT 0 +#define USBD_TRANSFER_DIRECTION_IN 1 +#define VALID_TRANSFER_FLAGS_MASK (USBD_SHORT_TRANSFER_OK | USBD_TRANSFER_DIRECTION | USBD_START_ISO_TRANSFER_ASAP | USBD_DEFAULT_PIPE_TRANSFER) +#define USBD_ISO_START_FRAME_RANGE 1024 + +typedef LONG USBD_STATUS; + +#define USBD_SUCCESS(Status) ((USBD_STATUS) (Status) >= 0) +#define USBD_PENDING(Status) ((ULONG) (Status) >> 30 == 1) +#define USBD_ERROR(Status) ((USBD_STATUS) (Status) < 0) +#define USBD_STATUS_SUCCESS ((USBD_STATUS) 0x00000000) +#define USBD_STATUS_PENDING ((USBD_STATUS) 0x40000000) +#define USBD_STATUS_CRC ((USBD_STATUS) 0xc0000001) +#define USBD_STATUS_BTSTUFF ((USBD_STATUS) 0xc0000002) +#define USBD_STATUS_DATA_TOGGLE_MISMATCH ((USBD_STATUS) 0xc0000003) +#define USBD_STATUS_STALL_PID ((USBD_STATUS) 0xc0000004) +#define USBD_STATUS_DEV_NOT_RESPONDING ((USBD_STATUS) 0xc0000005) +#define USBD_STATUS_PID_CHECK_FAILURE ((USBD_STATUS) 0xc0000006) +#define USBD_STATUS_UNEXPECTED_PID ((USBD_STATUS) 0xc0000007) +#define USBD_STATUS_DATA_OVERRUN ((USBD_STATUS) 0xc0000008) +#define USBD_STATUS_DATA_UNDERRUN ((USBD_STATUS) 0xc0000009) +#define USBD_STATUS_RESERVED1 ((USBD_STATUS) 0xc000000a) +#define USBD_STATUS_RESERVED2 ((USBD_STATUS) 0xc000000b) +#define USBD_STATUS_BUFFER_OVERRUN ((USBD_STATUS) 0xc000000c) +#define USBD_STATUS_BUFFER_UNDERRUN ((USBD_STATUS) 0xc000000d) +#define USBD_STATUS_NOT_ACCESSED ((USBD_STATUS) 0xc000000f) +#define USBD_STATUS_FIFO ((USBD_STATUS) 0xc0000010) +#define USBD_STATUS_XACT_ERROR ((USBD_STATUS) 0xc0000011) +#define USBD_STATUS_BABBLE_DETECTED ((USBD_STATUS) 0xc0000012) +#define USBD_STATUS_DATA_BUFFER_ERROR ((USBD_STATUS) 0xc0000013) +#define USBD_STATUS_NO_PING_RESPONSE ((USBD_STATUS) 0xc0000014) +#define USBD_STATUS_INVALID_STREAM_TYPE ((USBD_STATUS) 0xc0000015) +#define USBD_STATUS_INVALID_STREAM_ID ((USBD_STATUS) 0xc0000016) +#define USBD_STATUS_ENDPOINT_HALTED ((USBD_STATUS) 0xc0000030) +#define USBD_STATUS_INVALID_URB_FUNCTION ((USBD_STATUS) 0x80000200) +#define USBD_STATUS_INVALID_PARAMETER ((USBD_STATUS) 0x80000300) +#define USBD_STATUS_ERROR_BUSY ((USBD_STATUS) 0x80000400) +#define USBD_STATUS_INVALID_PIPE_HANDLE ((USBD_STATUS) 0x80000600) +#define USBD_STATUS_NO_BANDWIDTH ((USBD_STATUS) 0x80000700) +#define USBD_STATUS_INTERNAL_HC_ERROR ((USBD_STATUS) 0x80000800) +#define USBD_STATUS_ERROR_SHORT_TRANSFER ((USBD_STATUS) 0x80000900) +#define USBD_STATUS_BAD_START_FRAME ((USBD_STATUS) 0xc0000a00) +#define USBD_STATUS_ISOCH_REQUEST_FAILED ((USBD_STATUS) 0xc0000b00) +#define USBD_STATUS_FRAME_CONTROL_OWNED ((USBD_STATUS) 0xc0000c00) +#define USBD_STATUS_FRAME_CONTROL_NOT_OWNED ((USBD_STATUS) 0xc0000d00) +#define USBD_STATUS_NOT_SUPPORTED ((USBD_STATUS) 0xc0000e00) +#define USBD_STATUS_INAVLID_CONFIGURATION_DESCRIPTOR ((USBD_STATUS) 0xc0000f00) +#define USBD_STATUS_INSUFFICIENT_RESOURCES ((USBD_STATUS) 0xc0001000) +#define USBD_STATUS_SET_CONFIG_FAILED ((USBD_STATUS) 0xc0002000) +#define USBD_STATUS_BUFFER_TOO_SMALL ((USBD_STATUS) 0xc0003000) +#define USBD_STATUS_INTERFACE_NOT_FOUND ((USBD_STATUS) 0xc0004000) +#define USBD_STATUS_INAVLID_PIPE_FLAGS ((USBD_STATUS) 0xc0005000) +#define USBD_STATUS_TIMEOUT ((USBD_STATUS) 0xc0006000) +#define USBD_STATUS_DEVICE_GONE ((USBD_STATUS) 0xc0007000) +#define USBD_STATUS_STATUS_NOT_MAPPED ((USBD_STATUS) 0xc0008000) +#define USBD_STATUS_HUB_INTERNAL_ERROR ((USBD_STATUS) 0xc0009000) +#define USBD_STATUS_CANCELED ((USBD_STATUS) 0xc0010000) +#define USBD_STATUS_ISO_NOT_ACCESSED_BY_HW ((USBD_STATUS) 0xc0020000) +#define USBD_STATUS_ISO_TD_ERROR ((USBD_STATUS) 0xc0030000) +#define USBD_STATUS_ISO_NA_LATE_USBPORT ((USBD_STATUS) 0xc0040000) +#define USBD_STATUS_ISO_NOT_ACCESSED_LATE ((USBD_STATUS) 0xc0050000) +#define USBD_STATUS_BAD_DESCRIPTOR ((USBD_STATUS) 0xc0100000) +#define USBD_STATUS_BAD_DESCRIPTOR_BLEN ((USBD_STATUS) 0xc0100001) +#define USBD_STATUS_BAD_DESCRIPTOR_TYPE ((USBD_STATUS) 0xc0100002) +#define USBD_STATUS_BAD_INTERFACE_DESCRIPTOR ((USBD_STATUS) 0xc0100003) +#define USBD_STATUS_BAD_ENDPOINT_DESCRIPTOR ((USBD_STATUS) 0xc0100004) +#define USBD_STATUS_BAD_INTERFACE_ASSOC_DESCRIPTOR ((USBD_STATUS) 0xc0100005) +#define USBD_STATUS_BAD_CONFIG_DESC_LENGTH ((USBD_STATUS) 0xc0100006) +#define USBD_STATUS_BAD_NUMBER_OF_INTERFACES ((USBD_STATUS) 0xc0100007) +#define USBD_STATUS_BAD_NUMBER_OF_ENDPOINTS ((USBD_STATUS) 0xc0100008) +#define USBD_STATUS_BAD_ENDPOINT_ADDRESS ((USBD_STATUS) 0xc0100009) + +typedef PVOID USBD_PIPE_HANDLE; +typedef PVOID USBD_CONFIGURATION_HANDLE; +typedef PVOID USBD_INTERFACE_HANDLE; + +#define USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE 0xffffffff + +typedef struct _USBD_VERSION_INFORMATION { + ULONG USBDI_Version; + ULONG Supported_USB_Version; +} USBD_VERSION_INFORMATION,*PUSBD_VERSION_INFORMATION; + +typedef enum _USBD_PIPE_TYPE { + UsbdPipeTypeControl, + UsbdPipeTypeIsochronous, + UsbdPipeTypeBulk, + UsbdPipeTypeInterrupt +} USBD_PIPE_TYPE; + +#define USBD_PIPE_DIRECTION_IN(pipeInformation) ((pipeInformation)->EndpointAddress &USB_ENDPOINT_DIRECTION_MASK) + +typedef struct _USBD_DEVICE_INFORMATION { + ULONG OffsetNext; + PVOID UsbdDeviceHandle; + USB_DEVICE_DESCRIPTOR DeviceDescriptor; +} USBD_DEVICE_INFORMATION,*PUSBD_DEVICE_INFORMATION; + +typedef struct _USBD_PIPE_INFORMATION { + USHORT MaximumPacketSize; + UCHAR EndpointAddress; + UCHAR Interval; + USBD_PIPE_TYPE PipeType; + USBD_PIPE_HANDLE PipeHandle; + ULONG MaximumTransferSize; + ULONG PipeFlags; +} USBD_PIPE_INFORMATION,*PUSBD_PIPE_INFORMATION; + +#define USBD_PF_CHANGE_MAX_PACKET 0x00000001 +#define USBD_PF_SHORT_PACKET_OPT 0x00000002 +#define USBD_PF_ENABLE_RT_THREAD_ACCESS 0x00000004 +#define USBD_PF_MAP_ADD_TRANSFERS 0x00000008 +#define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | USBD_PF_SHORT_PACKET_OPT | USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS) + +typedef struct _USBD_INTERFACE_INFORMATION { + USHORT Length; + UCHAR InterfaceNumber; + UCHAR AlternateSetting; + UCHAR Class; + UCHAR SubClass; + UCHAR Protocol; + UCHAR Reserved; + USBD_INTERFACE_HANDLE InterfaceHandle; + ULONG NumberOfPipes; + USBD_PIPE_INFORMATION Pipes[1]; +} USBD_INTERFACE_INFORMATION,*PUSBD_INTERFACE_INFORMATION; + +struct _URB_HCD_AREA { + PVOID Reserved8[8]; +}; + +struct _URB_HEADER { + USHORT Length; + USHORT Function; + USBD_STATUS Status; + PVOID UsbdDeviceHandle; + ULONG UsbdFlags; +}; + +struct _URB_SELECT_INTERFACE { + struct _URB_HEADER Hdr; + USBD_CONFIGURATION_HANDLE ConfigurationHandle; + USBD_INTERFACE_INFORMATION Interface; +}; + +struct _URB_SELECT_CONFIGURATION { + struct _URB_HEADER Hdr; + PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor; + USBD_CONFIGURATION_HANDLE ConfigurationHandle; + USBD_INTERFACE_INFORMATION Interface; +}; + +struct _URB_PIPE_REQUEST { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG Reserved; +}; + +struct _URB_FRAME_LENGTH_CONTROL { + struct _URB_HEADER Hdr; +}; + +struct _URB_GET_FRAME_LENGTH { + struct _URB_HEADER Hdr; + ULONG FrameLength; + ULONG FrameNumber; +}; + +struct _URB_SET_FRAME_LENGTH { + struct _URB_HEADER Hdr; + LONG FrameLengthDelta; +}; + +struct _URB_GET_CURRENT_FRAME_NUMBER { + struct _URB_HEADER Hdr; + ULONG FrameNumber; +}; + +struct _URB_CONTROL_DESCRIPTOR_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved0; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + USHORT Reserved1; + UCHAR Index; + UCHAR DescriptorType; + USHORT LanguageId; + USHORT Reserved2; +}; + +struct _URB_CONTROL_GET_STATUS_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved0; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR Reserved1[4]; + USHORT Index; + USHORT Reserved2; +}; + +struct _URB_CONTROL_FEATURE_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved2; + ULONG Reserved3; + PVOID Reserved4; + PMDL Reserved5; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + USHORT Reserved0; + USHORT FeatureSelector; + USHORT Index; + USHORT Reserved1; +}; + +struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG TransferFlags; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR RequestTypeReservedBits; + UCHAR Request; + USHORT Value; + USHORT Index; + USHORT Reserved1; +}; + +struct _URB_CONTROL_GET_INTERFACE_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved0; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR Reserved1[4]; + USHORT Interface; + USHORT Reserved2; +}; + +struct _URB_CONTROL_GET_CONFIGURATION_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved0; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR Reserved1[8]; +}; + +#define OS_STRING_DESCRIPTOR_INDEX 0xee + +#define MS_GENRE_DESCRIPTOR_INDEX 0x0001 +#define MS_POWER_DESCRIPTOR_INDEX 0x0002 + +#define MS_OS_STRING_SIGNATURE L"MSFT100" + +#define MS_OS_FLAGS_CONTAINERID 0x02 + +typedef struct _OS_STRING { + UCHAR bLength; + UCHAR bDescriptorType; + WCHAR MicrosoftString[7]; + UCHAR bVendorCode; + __C89_NAMELESS union { + UCHAR bPad; + UCHAR bFlags; + }; +} OS_STRING,*POS_STRING; + +struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST { + struct _URB_HEADER Hdr; + PVOID Reserved; + ULONG Reserved0; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR Recipient:5; + UCHAR Reserved1:3; + UCHAR Reserved2; + UCHAR InterfaceNumber; + UCHAR MS_PageIndex; + USHORT MS_FeatureDescriptorIndex; + USHORT Reserved3; +}; + +struct _URB_CONTROL_TRANSFER { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG TransferFlags; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + UCHAR SetupPacket[8]; +}; + +#if _WIN32_WINNT >= 0x0600 +struct _URB_CONTROL_TRANSFER_EX { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG TransferFlags; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + ULONG Timeout; +#ifdef _WIN64 + ULONG Pad; +#endif + struct _URB_HCD_AREA hca; + UCHAR SetupPacket[8]; +}; +#endif + +struct _URB_BULK_OR_INTERRUPT_TRANSFER { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG TransferFlags; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; +}; + +typedef struct _USBD_ISO_PACKET_DESCRIPTOR { + ULONG Offset; + ULONG Length; + USBD_STATUS Status; +} USBD_ISO_PACKET_DESCRIPTOR,*PUSBD_ISO_PACKET_DESCRIPTOR; + +struct _URB_ISOCH_TRANSFER { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG TransferFlags; + ULONG TransferBufferLength; + PVOID TransferBuffer; + PMDL TransferBufferMDL; + struct _URB *UrbLink; + struct _URB_HCD_AREA hca; + ULONG StartFrame; + ULONG NumberOfPackets; + ULONG ErrorCount; + USBD_ISO_PACKET_DESCRIPTOR IsoPacket[1]; +}; + +#if NTDDI_VERSION >= 0x06020000 +#define URB_OPEN_STATIC_STREAMS_VERSION_100 0x100 + +typedef struct _USBD_STREAM_INFORMATION { + USBD_PIPE_HANDLE PipeHandle; + ULONG StreamID; + ULONG MaximumTransferSize; + ULONG PipeFlags; +} USBD_STREAM_INFORMATION,*PUSBD_STREAM_INFORMATION; +struct _URB_OPEN_STATIC_STREAMS { + struct _URB_HEADER Hdr; + USBD_PIPE_HANDLE PipeHandle; + ULONG NumberOfStreams; + USHORT StreamInfoVersion; + USHORT StreamInfoSize; + PUSBD_STREAM_INFORMATION Streams; +}; +#endif + +typedef struct _URB { + __C89_NAMELESS union { + struct _URB_HEADER UrbHeader; + struct _URB_SELECT_INTERFACE UrbSelectInterface; + struct _URB_SELECT_CONFIGURATION UrbSelectConfiguration; + struct _URB_PIPE_REQUEST UrbPipeRequest; + struct _URB_FRAME_LENGTH_CONTROL UrbFrameLengthControl; + struct _URB_GET_FRAME_LENGTH UrbGetFrameLength; + struct _URB_SET_FRAME_LENGTH UrbSetFrameLength; + struct _URB_GET_CURRENT_FRAME_NUMBER UrbGetCurrentFrameNumber; + struct _URB_CONTROL_TRANSFER UrbControlTransfer; +#if _WIN32_WINNT >= 0x0600 + struct _URB_CONTROL_TRANSFER_EX UrbControlTransferEx; +#endif + struct _URB_BULK_OR_INTERRUPT_TRANSFER UrbBulkOrInterruptTransfer; + struct _URB_ISOCH_TRANSFER UrbIsochronousTransfer; + struct _URB_CONTROL_DESCRIPTOR_REQUEST UrbControlDescriptorRequest; + struct _URB_CONTROL_GET_STATUS_REQUEST UrbControlGetStatusRequest; + struct _URB_CONTROL_FEATURE_REQUEST UrbControlFeatureRequest; + struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST UrbControlVendorClassRequest; + struct _URB_CONTROL_GET_INTERFACE_REQUEST UrbControlGetInterfaceRequest; + struct _URB_CONTROL_GET_CONFIGURATION_REQUEST UrbControlGetConfigurationRequest; + struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST UrbOSFeatureDescriptorRequest; +#if NTDDI_VERSION >= 0x06020000 + struct _URB_OPEN_STATIC_STREAMS UrbOpenStaticStreams; +#endif + }; +} URB,*PURB; +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb100.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb100.h new file mode 100644 index 00000000..721da95f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb100.h @@ -0,0 +1,24 @@ +/** + * usb100.h + * + * USB 1.0 support + * + * 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 based on the ReactOS PSDK package file usb100.h header. + * Original contributors by Casper S. Hornstrup + * + * Add winap-family check and move content into usbspec.h header by Kai Tietz. + */ + +#ifndef __USB100_H__ +#define __USB100_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#include "usbspec.h" +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb200.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb200.h new file mode 100644 index 00000000..90de3d2f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usb200.h @@ -0,0 +1,23 @@ +/* + * usb100.h + * + * USB 2.0 support + * + * 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 based on the ReactOS PSDK package file usb100.h header. + * Original contributors by Magnus Olsen. + * + * Winapi-family check and replace header by usbspec.h header by Kai Tietz. + */ + +#ifndef __USB200_H__ +#define __USB200_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#include "usbspec.h" +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbcamdi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbcamdi.h new file mode 100644 index 00000000..0b36d71a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbcamdi.h @@ -0,0 +1,384 @@ +/* + * usbcamdi.h + * + * USB Camera driver interface. + * + * This file is part of the ReactOS PSDK package. + * + * Contributors: + * Created by Casper S. Hornstrup + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#if !defined(__USB_H) && !defined(__USBDI_H) + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(_BATTERYCLASS_) +# define USBCAMAPI +#else +# define USBCAMAPI DECLSPEC_IMPORT +#endif + +typedef struct _pipe_config_descriptor { + CHAR StreamAssociation; + UCHAR PipeConfigFlags; +} USBCAMD_Pipe_Config_Descriptor, *PUSBCAMD_Pipe_Config_Descriptor; + +#define USBCAMD_DATA_PIPE 0x0001 +#define USBCAMD_MULTIPLEX_PIPE 0x0002 +#define USBCAMD_SYNC_PIPE 0x0004 +#define USBCAMD_DONT_CARE_PIPE 0x0008 + +#define USBCAMD_VIDEO_STREAM 0x1 +#define USBCAMD_STILL_STREAM 0x2 +#define USBCAMD_VIDEO_STILL_STREAM (USBCAMD_VIDEO_STREAM | USBCAMD_STILL_STREAM) + +#define USBCAMD_PROCESSPACKETEX_DropFrame 0x0002 +#define USBCAMD_PROCESSPACKETEX_NextFrameIsStill 0x0004 +#define USBCAMD_PROCESSPACKETEX_CurrentFrameIsStill 0x0008 + +#define USBCAMD_STOP_STREAM 0x00000001 +#define USBCAMD_START_STREAM 0x00000000 + +typedef enum { + USBCAMD_CamControlFlag_NoVideoRawProcessing = 1, + USBCAMD_CamControlFlag_NoStillRawProcessing = 2, + USBCAMD_CamControlFlag_AssociatedFormat = 4, + USBCAMD_CamControlFlag_EnableDeviceEvents = 8 +} USBCAMD_CamControlFlags; + +typedef NTSTATUS +(NTAPI *PCOMMAND_COMPLETE_FUNCTION)( + PVOID DeviceContext, + PVOID CommandContext, + NTSTATUS NtStatus); + +typedef VOID +(NTAPI *PSTREAM_RECEIVE_PACKET)( + PVOID Srb, + PVOID DeviceContext, + PBOOLEAN Completed); + +typedef NTSTATUS +(NTAPI *PCAM_INITIALIZE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_CONFIGURE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PUSBD_INTERFACE_INFORMATION Interface, + PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, + PLONG DataPipeIndex, + PLONG SyncPipeIndex); + +typedef NTSTATUS +(NTAPI *PCAM_CONFIGURE_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PUSBD_INTERFACE_INFORMATION Interface, + PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, + ULONG PipeConfigListSize, + PUSBCAMD_Pipe_Config_Descriptor PipeConfig, + PUSB_DEVICE_DESCRIPTOR DeviceDescriptor); + +typedef NTSTATUS +(NTAPI *PCAM_START_CAPTURE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_START_CAPTURE_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + ULONG StreamNumber); + +typedef NTSTATUS +(NTAPI *PCAM_ALLOCATE_BW_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PULONG RawFrameLength, + PVOID Format); + +typedef NTSTATUS +(NTAPI *PCAM_ALLOCATE_BW_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PULONG RawFrameLength, + PVOID Format, + ULONG StreamNumber); + +typedef NTSTATUS +(NTAPI *PCAM_FREE_BW_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_FREE_BW_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + ULONG StreamNumber); + +typedef VOID +(NTAPI *PADAPTER_RECEIVE_PACKET_ROUTINE)( + PHW_STREAM_REQUEST_BLOCK Srb); + +typedef NTSTATUS +(NTAPI *PCAM_STOP_CAPTURE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext); + +typedef NTSTATUS +(NTAPI *PCAM_STOP_CAPTURE_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + ULONG StreamNumber); + +typedef ULONG +(NTAPI *PCAM_PROCESS_PACKET_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PVOID CurrentFrameContext, + PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket, + PVOID SyncBuffer, + PUSBD_ISO_PACKET_DESCRIPTOR DataPacket, + PVOID DataBuffer, + PBOOLEAN FrameComplete, + PBOOLEAN NextFrameIsStill); + +typedef ULONG +(NTAPI *PCAM_PROCESS_PACKET_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PVOID CurrentFrameContext, + PUSBD_ISO_PACKET_DESCRIPTOR SyncPacket, + PVOID SyncBuffer, + PUSBD_ISO_PACKET_DESCRIPTOR DataPacket, + PVOID DataBuffer, + PBOOLEAN FrameComplete, + PULONG PacketFlag, + PULONG ValidDataOffset); + +typedef VOID +(NTAPI *PCAM_NEW_FRAME_ROUTINE)( + PVOID DeviceContext, + PVOID FrameContext); + +typedef VOID +(NTAPI *PCAM_NEW_FRAME_ROUTINE_EX)( + PVOID DeviceContext, + PVOID FrameContext, + ULONG StreamNumber, + PULONG FrameLength); + +typedef NTSTATUS +(NTAPI *PCAM_PROCESS_RAW_FRAME_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PVOID FrameContext, + PVOID FrameBuffer, + ULONG FrameLength, + PVOID RawFrameBuffer, + ULONG RawFrameLength, + ULONG NumberOfPackets, + PULONG BytesReturned); + +typedef NTSTATUS +(NTAPI *PCAM_PROCESS_RAW_FRAME_ROUTINE_EX)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext, + PVOID FrameContext, + PVOID FrameBuffer, + ULONG FrameLength, + PVOID RawFrameBuffer, + ULONG RawFrameLength, + ULONG NumberOfPackets, + PULONG BytesReturned, + ULONG ActualRawFrameLength, + ULONG StreamNumber); + +typedef NTSTATUS +(NTAPI *PCAM_STATE_ROUTINE)( + PDEVICE_OBJECT BusDeviceObject, + PVOID DeviceContext); + +#if defined(DEBUG_LOG) + +USBCAMAPI +VOID +NTAPI +USBCAMD_Debug_LogEntry( + CHAR *Name, + ULONG Info1, + ULONG Info2, + ULONG Info3); + +#define ILOGENTRY(sig, info1, info2, info3) \ + USBCAMD_Debug_LogEntry(sig, (ULONG)info1, (ULONG)info2, (ULONG)info3) + +#else + +#define ILOGENTRY(sig, info1, info2, info3) + +#endif /* DEBUG_LOG */ + +typedef struct _USBCAMD_DEVICE_DATA { + ULONG Sig; + PCAM_INITIALIZE_ROUTINE CamInitialize; + PCAM_INITIALIZE_ROUTINE CamUnInitialize; + PCAM_PROCESS_PACKET_ROUTINE CamProcessUSBPacket; + PCAM_NEW_FRAME_ROUTINE CamNewVideoFrame; + PCAM_PROCESS_RAW_FRAME_ROUTINE CamProcessRawVideoFrame; + PCAM_START_CAPTURE_ROUTINE CamStartCapture; + PCAM_STOP_CAPTURE_ROUTINE CamStopCapture; + PCAM_CONFIGURE_ROUTINE CamConfigure; + PCAM_STATE_ROUTINE CamSaveState; + PCAM_STATE_ROUTINE CamRestoreState; + PCAM_ALLOCATE_BW_ROUTINE CamAllocateBandwidth; + PCAM_FREE_BW_ROUTINE CamFreeBandwidth; +} USBCAMD_DEVICE_DATA, *PUSBCAMD_DEVICE_DATA; + +typedef struct _USBCAMD_DEVICE_DATA2 { + ULONG Sig; + PCAM_INITIALIZE_ROUTINE CamInitialize; + PCAM_INITIALIZE_ROUTINE CamUnInitialize; + PCAM_PROCESS_PACKET_ROUTINE_EX CamProcessUSBPacketEx; + PCAM_NEW_FRAME_ROUTINE_EX CamNewVideoFrameEx; + PCAM_PROCESS_RAW_FRAME_ROUTINE_EX CamProcessRawVideoFrameEx; + PCAM_START_CAPTURE_ROUTINE_EX CamStartCaptureEx; + PCAM_STOP_CAPTURE_ROUTINE_EX CamStopCaptureEx; + PCAM_CONFIGURE_ROUTINE_EX CamConfigureEx; + PCAM_STATE_ROUTINE CamSaveState; + PCAM_STATE_ROUTINE CamRestoreState; + PCAM_ALLOCATE_BW_ROUTINE_EX CamAllocateBandwidthEx; + PCAM_FREE_BW_ROUTINE_EX CamFreeBandwidthEx; +} USBCAMD_DEVICE_DATA2, *PUSBCAMD_DEVICE_DATA2; + +DEFINE_GUID(GUID_USBCAMD_INTERFACE, + 0x2bcb75c0, 0xb27f, 0x11d1, 0xba, 0x41, 0x0, 0xa0, 0xc9, 0xd, 0x2b, 0x5); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_SetVideoFormat)( + PVOID DeviceContext, + PHW_STREAM_REQUEST_BLOCK pSrb); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_WaitOnDeviceEvent)( + PVOID DeviceContext, + ULONG PipeIndex, + PVOID Buffer, + ULONG BufferLength, + PCOMMAND_COMPLETE_FUNCTION EventComplete, + PVOID EventContext, + BOOLEAN LoopBack); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_CancelBulkReadWrite)( + PVOID DeviceContext, + ULONG PipeIndex); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_SetIsoPipeState)( + PVOID DeviceContext, + ULONG PipeStateFlags); + +typedef NTSTATUS +(NTAPI *PFNUSBCAMD_BulkReadWrite)( + PVOID DeviceContext, + USHORT PipeIndex, + PVOID Buffer, + ULONG BufferLength, + PCOMMAND_COMPLETE_FUNCTION CommandComplete, + PVOID CommandContext); + +#define USBCAMD_VERSION_200 0x200 + +typedef struct _USBCAMD_INTERFACE { + INTERFACE Interface; + PFNUSBCAMD_WaitOnDeviceEvent USBCAMD_WaitOnDeviceEvent; + PFNUSBCAMD_BulkReadWrite USBCAMD_BulkReadWrite; + PFNUSBCAMD_SetVideoFormat USBCAMD_SetVideoFormat; + PFNUSBCAMD_SetIsoPipeState USBCAMD_SetIsoPipeState; + PFNUSBCAMD_CancelBulkReadWrite USBCAMD_CancelBulkReadWrite; +} USBCAMD_INTERFACE, *PUSBCAMD_INTERFACE; + +/* FIXME : Do we need USBCAMAPI here ? */ + +USBCAMAPI +ULONG +NTAPI +USBCAMD_DriverEntry( + PVOID Context1, + PVOID Context2, + ULONG DeviceContextSize, + ULONG FrameContextSize, + PADAPTER_RECEIVE_PACKET_ROUTINE ReceivePacket); + +USBCAMAPI +PVOID +NTAPI +USBCAMD_AdapterReceivePacket( + PHW_STREAM_REQUEST_BLOCK Srb, + PUSBCAMD_DEVICE_DATA DeviceData, + PDEVICE_OBJECT *DeviceObject, + BOOLEAN NeedsCompletion); + +USBCAMAPI +NTSTATUS +NTAPI +USBCAMD_ControlVendorCommand( + PVOID DeviceContext, + UCHAR Request, + USHORT Value, + USHORT Index, + PVOID Buffer, + PULONG BufferLength, + BOOLEAN GetData, + PCOMMAND_COMPLETE_FUNCTION CommandComplete, + PVOID CommandContext); + +USBCAMAPI +NTSTATUS +NTAPI +USBCAMD_SelectAlternateInterface( + PVOID DeviceContext, + PUSBD_INTERFACE_INFORMATION RequestInterface); + +USBCAMAPI +NTSTATUS +NTAPI +USBCAMD_GetRegistryKeyValue( + HANDLE Handle, + PWCHAR KeyNameString, + ULONG KeyNameStringLength, + PVOID Data, + ULONG DataLength); + +USBCAMAPI +ULONG +NTAPI +USBCAMD_InitializeNewInterface( + PVOID DeviceContext, + PVOID DeviceData, + ULONG Version, + ULONG CamControlFlag); + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(__USB_H) && !defined(__USBDI_H) */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbdi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbdi.h new file mode 100644 index 00000000..e47a2874 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbdi.h @@ -0,0 +1,58 @@ +/** + * usbdi.h + * + * USBD and USB device driver definitions + * + * FIXME : Obsolete header.. Use usb.h instead. + * + * 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 based on the ReactOS PSDK file usbdi.h header. + * Original contributed by Casper S. Hornstrup + * + * Added winapi-family check by Kai Tietz. + */ + +#ifndef __USBDI_H__ +#define __USBDI_H__ +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include +#include + +#define USBD_STATUS_CANCELLING ((USBD_STATUS) 0x00020000) +#define USBD_STATUS_CANCELING ((USBD_STATUS) 0x00020000) +#define USBD_STATUS_NO_MEMORY ((USBD_STATUS) 0x80000100) +#define USBD_STATUS_ERROR ((USBD_STATUS) 0x80000000) +#define USBD_STATUS_REQUEST_FAILED ((USBD_STATUS) 0x80000500) +#define USBD_STATUS_HALTED ((USBD_STATUS) 0xc0000000) + +#define USBD_HALTED(Status) ((ULONG) (Status) >> 30 == 3) +#define USBD_STATUS(Status) ((ULONG) (Status) & __MSABI_LONG (0x0fffffff)) + +#define URB_FUNCTION_RESERVED0 0x0016 +#define URB_FUNCTION_RESERVED 0x001d +#define URB_FUNCTION_LAST 0x0029 + +#define USBD_PF_DOUBLE_BUFFER 0x00000002 + +#ifdef USBD_PF_VALID_MASK +#undef USBD_PF_VALID_MASK +#endif + +#define USBD_PF_VALID_MASK (USBD_PF_CHANGE_MAX_PACKET | USBD_PF_DOUBLE_BUFFER | USBD_PF_ENABLE_RT_THREAD_ACCESS | USBD_PF_MAP_ADD_TRANSFERS) + +#define USBD_TRANSFER_DIRECTION_BIT 0 +#define USBD_SHORT_TRANSFER_OK_BIT 1 +#define USBD_START_ISO_TRANSFER_ASAP_BIT 2 + +#ifdef USBD_TRANSFER_DIRECTION +#undef USBD_TRANSFER_DIRECTION +#endif + +#define USBD_TRANSFER_DIRECTION(x) ((x) & USBD_TRANSFER_DIRECTION_IN) +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbioctl.h new file mode 100644 index 00000000..5bdc1976 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbioctl.h @@ -0,0 +1,597 @@ +/** + * usbioctl.h + * + * USB IOCTL interface.#ifndef __USBIOCTL_H__ + * + * 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 based on the ReactOS PSDK file usbdi.h header. + * Original contributed by Casper S. Hornstrup + * + * Added winapi-family check, Windows 8 additions by Kai Tietz. + */ + +#ifndef __USBIOCTL_H__ +#define __USBIOCTL_H__ + +#include +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifndef FAR +#define FAR +#endif + +#include "usb200.h" +#include "usbiodef.h" + +#define IOCTL_INTERNAL_USB_SUBMIT_URB CTL_CODE (FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_RESET_PORT CTL_CODE (FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO CTL_CODE (FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS) + +#define USBD_PORT_ENABLED 0x00000001 +#define USBD_PORT_CONNECTED 0x00000002 + +#define IOCTL_INTERNAL_USB_GET_PORT_STATUS CTL_CODE (FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_ENABLE_PORT CTL_CODE (FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_HUB_COUNT CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_CYCLE_PORT CTL_CODE (FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_HUB_NAME CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_BUS_INFO CTL_CODE (FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME CTL_CODE (FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO CTL_CODE (FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO CTL_CODE (FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION CTL_CODE (FILE_DEVICE_USB, USB_IDLE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE CTL_CODE (FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS) + +#if _WIN32_WINNT >= 0x0600 +#define IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY CTL_CODE (FILE_DEVICE_USB, USB_IDLE_NOTIFICATION_EX, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND CTL_CODE (FILE_DEVICE_USB, USB_REQ_GLOBAL_SUSPEND, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME CTL_CODE (FILE_DEVICE_USB, USB_REQ_GLOBAL_RESUME, METHOD_NEITHER, FILE_ANY_ACCESS) + +#ifdef USB20_API +typedef struct _USB_START_FAILDATA { + ULONG LengthInBytes; + NTSTATUS NtStatus; + USBD_STATUS UsbdStatus; + ULONG ConnectStatus; + UCHAR DriverData[4]; +} USB_START_FAILDATA,*PUSB_START_FAILDATA; +#endif + +#define IOCTL_INTERNAL_USB_RECORD_FAILURE CTL_CODE (FILE_DEVICE_USB, USB_RECORD_FAILURE, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX CTL_CODE (FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE_EX, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE CTL_CODE (FILE_DEVICE_USB, USB_GET_TT_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS) + +typedef struct _USB_TOPOLOGY_ADDRESS { + ULONG PciBusNumber; + ULONG PciDeviceNumber; + ULONG PciFunctionNumber; + ULONG Reserved; + USHORT RootHubPortNumber; + USHORT HubPortNumber[5]; + USHORT Reserved2; +} USB_TOPOLOGY_ADDRESS,*PUSB_TOPOLOGY_ADDRESS; + +#define IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS CTL_CODE (FILE_DEVICE_USB, USB_GET_TOPOLOGY_ADDRESS, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_CONFIG_INFO, METHOD_NEITHER, FILE_ANY_ACCESS) +#endif +#if NTDDI_VERSION >= 0x06020000 +#define IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE CTL_CODE (FILE_DEVICE_USBEX, USB_REGISTER_COMPOSITE_DEVICE, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE CTL_CODE (FILE_DEVICE_USBEX, USB_UNREGISTER_COMPOSITE_DEVICE, METHOD_NEITHER, FILE_ANY_ACCESS) +#define IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION CTL_CODE (FILE_DEVICE_USBEX, USB_REQUEST_REMOTE_WAKE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS) +#endif + +#ifndef USB_KERNEL_IOCTL +#define IOCTL_USB_HCD_GET_STATS_1 CTL_CODE (FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_HCD_GET_STATS_2 CTL_CODE (FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_HCD_DISABLE_PORT CTL_CODE (FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_HCD_ENABLE_PORT CTL_CODE (FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) +#ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON +#define IOCTL_USB_DIAGNOSTIC_MODE_ON CTL_CODE (FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF +#define IOCTL_USB_DIAGNOSTIC_MODE_OFF CTL_CODE (FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#ifndef IOCTL_USB_GET_ROOT_HUB_NAME +#define IOCTL_USB_GET_ROOT_HUB_NAME CTL_CODE (FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#ifndef IOCTL_GET_HCD_DRIVERKEY_NAME +#define IOCTL_GET_HCD_DRIVERKEY_NAME CTL_CODE (FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#define IOCTL_USB_GET_NODE_INFORMATION CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION CTL_CODE (FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_NAME CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_DIAG_IGNORE_HUBS_ON CTL_CODE (FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF CTL_CODE (FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_HUB_CAPABILITIES CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_HUB_CYCLE_PORT CTL_CODE (FILE_DEVICE_USB, USB_HUB_CYCLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_ATTRIBUTES, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION_EX, METHOD_BUFFERED, FILE_ANY_ACCESS) +#if _WIN32_WINNT >= 0x0600 +#define IOCTL_USB_RESET_HUB CTL_CODE (FILE_DEVICE_USB, USB_RESET_HUB, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_HUB_CAPABILITIES_EX CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES_EX, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if NTDDI_VERSION >= 0x06020000 +#define IOCTL_USB_GET_HUB_INFORMATION_EX CTL_CODE (FILE_DEVICE_USB, USB_GET_HUB_INFORMATION_EX, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES CTL_CODE (FILE_DEVICE_USB, USB_GET_PORT_CONNECTOR_PROPERTIES, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 CTL_CODE (FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION_EX_V2, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif + +#include + +typedef enum _USB_HUB_NODE { + UsbHub, + UsbMIParent +} USB_HUB_NODE; + +typedef struct _USB_HUB_INFORMATION { + USB_HUB_DESCRIPTOR HubDescriptor; + BOOLEAN HubIsBusPowered; +} USB_HUB_INFORMATION,*PUSB_HUB_INFORMATION; + +typedef struct _USB_MI_PARENT_INFORMATION { + ULONG NumberOfInterfaces; +} USB_MI_PARENT_INFORMATION,*PUSB_MI_PARENT_INFORMATION; + +typedef struct _USB_NODE_INFORMATION { + USB_HUB_NODE NodeType; + union { + USB_HUB_INFORMATION HubInformation; + USB_MI_PARENT_INFORMATION MiParentInformation; + } u; +} USB_NODE_INFORMATION,*PUSB_NODE_INFORMATION; + +typedef struct _USB_PIPE_INFO { + USB_ENDPOINT_DESCRIPTOR EndpointDescriptor; + ULONG ScheduleOffset; +} USB_PIPE_INFO,*PUSB_PIPE_INFO; + +#if _WIN32_WINNT >= 0x0600 +typedef enum _USB_CONNECTION_STATUS { + NoDeviceConnected, + DeviceConnected, + DeviceFailedEnumeration, + DeviceGeneralFailure, + DeviceCausedOvercurrent, + DeviceNotEnoughPower, + DeviceNotEnoughBandwidth, + DeviceHubNestedTooDeeply, + DeviceInLegacyHub, + DeviceEnumerating, + DeviceReset +} USB_CONNECTION_STATUS,*PUSB_CONNECTION_STATUS; +#else +typedef enum _USB_CONNECTION_STATUS { + NoDeviceConnected, + DeviceConnected, + + DeviceFailedEnumeration, + DeviceGeneralFailure, + DeviceCausedOvercurrent, + DeviceNotEnoughPower, + DeviceNotEnoughBandwidth, + DeviceHubNestedTooDeeply, + DeviceInLegacyHub +} USB_CONNECTION_STATUS,*PUSB_CONNECTION_STATUS; +#endif + +typedef struct _USB_NODE_CONNECTION_INFORMATION { + ULONG ConnectionIndex; + USB_DEVICE_DESCRIPTOR DeviceDescriptor; + UCHAR CurrentConfigurationValue; + BOOLEAN LowSpeed; + BOOLEAN DeviceIsHub; + USHORT DeviceAddress; + ULONG NumberOfOpenPipes; + USB_CONNECTION_STATUS ConnectionStatus; + USB_PIPE_INFO PipeList[0]; +} USB_NODE_CONNECTION_INFORMATION,*PUSB_NODE_CONNECTION_INFORMATION; + +typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME { + ULONG ConnectionIndex; + ULONG ActualLength; + WCHAR DriverKeyName[1]; +} USB_NODE_CONNECTION_DRIVERKEY_NAME,*PUSB_NODE_CONNECTION_DRIVERKEY_NAME; + +typedef struct _USB_NODE_CONNECTION_NAME { + ULONG ConnectionIndex; + ULONG ActualLength; + WCHAR NodeName[1]; +} USB_NODE_CONNECTION_NAME,*PUSB_NODE_CONNECTION_NAME; + +typedef struct _USB_HUB_NAME { + ULONG ActualLength; + WCHAR HubName[1]; +} USB_HUB_NAME,*PUSB_HUB_NAME; + +typedef struct _USB_ROOT_HUB_NAME { + ULONG ActualLength; + WCHAR RootHubName[1]; +} USB_ROOT_HUB_NAME,*PUSB_ROOT_HUB_NAME; + +typedef struct _USB_HCD_DRIVERKEY_NAME { + ULONG ActualLength; + WCHAR DriverKeyName[1]; +} USB_HCD_DRIVERKEY_NAME,*PUSB_HCD_DRIVERKEY_NAME; + +typedef struct _USB_DESCRIPTOR_REQUEST { + ULONG ConnectionIndex; + struct { + UCHAR bmRequest; + UCHAR bRequest; + USHORT wValue; + USHORT wIndex; + USHORT wLength; + } SetupPacket; + UCHAR Data[0]; +} USB_DESCRIPTOR_REQUEST,*PUSB_DESCRIPTOR_REQUEST; + +typedef struct _USB_HUB_CAPABILITIES { + ULONG HubIs2xCapable:1; +} USB_HUB_CAPABILITIES,*PUSB_HUB_CAPABILITIES; + +typedef struct _USB_NODE_CONNECTION_ATTRIBUTES { + ULONG ConnectionIndex; + USB_CONNECTION_STATUS ConnectionStatus; + ULONG PortAttributes; +} USB_NODE_CONNECTION_ATTRIBUTES,*PUSB_NODE_CONNECTION_ATTRIBUTES; + +typedef struct _USB_NODE_CONNECTION_INFORMATION_EX { + ULONG ConnectionIndex; + USB_DEVICE_DESCRIPTOR DeviceDescriptor; + UCHAR CurrentConfigurationValue; + UCHAR Speed; + BOOLEAN DeviceIsHub; + USHORT DeviceAddress; + ULONG NumberOfOpenPipes; + USB_CONNECTION_STATUS ConnectionStatus; + USB_PIPE_INFO PipeList[0]; +} USB_NODE_CONNECTION_INFORMATION_EX,*PUSB_NODE_CONNECTION_INFORMATION_EX; + +#if _WIN32_WINNT >= 0x0600 +typedef union _USB_HUB_CAP_FLAGS { + ULONG ul; + __C89_NAMELESS struct { + ULONG HubIsHighSpeedCapable:1; + ULONG HubIsHighSpeed:1; + ULONG HubIsMultiTtCapable:1; + ULONG HubIsMultiTt:1; + ULONG HubIsRoot:1; + ULONG HubIsArmedWakeOnConnect:1; + ULONG HubIsBusPowered:1; + ULONG ReservedMBZ:25; + }; +} USB_HUB_CAP_FLAGS,*PUSB_HUB_CAP_FLAGS; + +typedef struct _USB_HUB_CAPABILITIES_EX { + USB_HUB_CAP_FLAGS CapabilityFlags; +} USB_HUB_CAPABILITIES_EX,*PUSB_HUB_CAPABILITIES_EX; + +typedef struct _USB_CYCLE_PORT_PARAMS { + ULONG ConnectionIndex; + ULONG StatusReturned; +} USB_CYCLE_PORT_PARAMS,*PUSB_CYCLE_PORT_PARAMS; + +typedef struct _USB_ID_STRING { + USHORT LanguageId; + USHORT Pad; + ULONG LengthInBytes; + PWCHAR Buffer; +} USB_ID_STRING,*PUSB_ID_STRING; + +typedef struct _USB_HUB_DEVICE_UXD_SETTINGS { + ULONG Version; + GUID PnpGuid; + GUID OwnerGuid; + ULONG DeleteOnShutdown; + ULONG DeleteOnReload; + ULONG DeleteOnDisconnect; + ULONG Reserved[5]; +} USB_HUB_DEVICE_UXD_SETTINGS,*PUSB_HUB_DEVICE_UXD_SETTINGS; + +typedef struct _HUB_DEVICE_CONFIG_INFO_V1 { + ULONG Version; + ULONG Length; + USB_HUB_CAP_FLAGS HubFlags; + USB_ID_STRING HardwareIds; + USB_ID_STRING CompatibleIds; + USB_ID_STRING DeviceDescription; + ULONG Reserved[19]; + USB_HUB_DEVICE_UXD_SETTINGS UxdSettings; +} HUB_DEVICE_CONFIG_INFO,*PHUB_DEVICE_CONFIG_INFO; +#endif + +typedef struct _HCD_STAT_COUNTERS { + ULONG BytesTransferred; + USHORT IsoMissedCount; + USHORT DataOverrunErrorCount; + USHORT CrcErrorCount; + USHORT ScheduleOverrunCount; + USHORT TimeoutErrorCount; + USHORT InternalHcErrorCount; + USHORT BufferOverrunErrorCount; + USHORT SWErrorCount; + USHORT StallPidCount; + USHORT PortDisableCount; +} HCD_STAT_COUNTERS,*PHCD_STAT_COUNTERS; + +typedef struct _HCD_ISO_STAT_COUNTERS { + USHORT LateUrbs; + USHORT DoubleBufferedPackets; + USHORT TransfersCF_5ms; + USHORT TransfersCF_2ms; + USHORT TransfersCF_1ms; + USHORT MaxInterruptLatency; + USHORT BadStartFrame; + USHORT StaleUrbs; + USHORT IsoPacketNotAccesed; + USHORT IsoPacketHWError; + USHORT SmallestUrbPacketCount; + USHORT LargestUrbPacketCount; + USHORT IsoCRC_Error; + USHORT IsoOVERRUN_Error; + USHORT IsoINTERNAL_Error; + USHORT IsoUNKNOWN_Error; + ULONG IsoBytesTransferred; + USHORT LateMissedCount; + USHORT HWIsoMissedCount; + ULONG Reserved7[8]; +} HCD_ISO_STAT_COUNTERS,*PHCD_ISO_STAT_COUNTERS; + +typedef struct _HCD_STAT_INFORMATION_1 { + ULONG Reserved1; + ULONG Reserved2; + ULONG ResetCounters; + LARGE_INTEGER TimeRead; + HCD_STAT_COUNTERS Counters; +} HCD_STAT_INFORMATION_1,*PHCD_STAT_INFORMATION_1; + +typedef struct _HCD_STAT_INFORMATION_2 { + ULONG Reserved1; + ULONG Reserved2; + ULONG ResetCounters; + LARGE_INTEGER TimeRead; + LONG LockedMemoryUsed; + HCD_STAT_COUNTERS Counters; + HCD_ISO_STAT_COUNTERS IsoCounters; +} HCD_STAT_INFORMATION_2,*PHCD_STAT_INFORMATION_2; + +#define WMI_USB_DRIVER_INFORMATION 0 +#define WMI_USB_DRIVER_NOTIFICATION 1 +#define WMI_USB_POWER_DEVICE_ENABLE 2 +#define WMI_USB_HUB_NODE_INFORMATION 4 + +#define WMI_USB_PERFORMANCE_INFORMATION 1 +#define WMI_USB_DEVICE_NODE_INFORMATION 2 + +typedef enum _USB_NOTIFICATION_TYPE { + EnumerationFailure = 0, + InsufficentBandwidth, + InsufficentPower, + OverCurrent, + ResetOvercurrent, + AcquireBusInfo, + AcquireHubName, + AcquireControllerName, + HubOvercurrent, + HubPowerChange, + HubNestedTooDeeply, + ModernDeviceInLegacyHub +} USB_NOTIFICATION_TYPE; + +typedef struct _USB_NOTIFICATION { + USB_NOTIFICATION_TYPE NotificationType; +} USB_NOTIFICATION,*PUSB_NOTIFICATION; + +typedef struct _USB_CONNECTION_NOTIFICATION { + USB_NOTIFICATION_TYPE NotificationType; + ULONG ConnectionNumber; + ULONG RequestedBandwidth; + ULONG EnumerationFailReason; + ULONG PowerRequested; + ULONG HubNameLength; +} USB_CONNECTION_NOTIFICATION,*PUSB_CONNECTION_NOTIFICATION; + +typedef struct _USB_BUS_NOTIFICATION { + USB_NOTIFICATION_TYPE NotificationType; + ULONG TotalBandwidth; + ULONG ConsumedBandwidth; + ULONG ControllerNameLength; +} USB_BUS_NOTIFICATION,*PUSB_BUS_NOTIFICATION; + +typedef struct _USB_ACQUIRE_INFO { + USB_NOTIFICATION_TYPE NotificationType; + ULONG TotalSize; + WCHAR Buffer[1]; +} USB_ACQUIRE_INFO,*PUSB_ACQUIRE_INFO; + +#if _WIN32_WINNT >= 0x0600 +#define USB_NODE_INFO_SIG 'USBN' + +typedef enum _USB_WMI_DEVICE_NODE_TYPE { + UsbDevice, + HubDevice, + CompositeDevice, + UsbController +} USB_WMI_DEVICE_NODE_TYPE,*PUSB_WMI_DEVICE_NODE_TYPE; + +typedef struct _USB_DEVICE_STATE { + ULONG DeviceConnected:1; + ULONG DeviceStarted:1; +} USB_DEVICE_STATE,*PUSB_DEVICE_STATE; + +typedef struct _USB_HUB_PORT_INFORMATION { + USB_DEVICE_STATE DeviceState; + USHORT PortNumber; + USHORT DeviceAddress; + ULONG ConnectionIndex; + USB_CONNECTION_STATUS ConnectionStatus; +} USB_HUB_PORT_INFORMATION,*PUSB_HUB_PORT_INFORMATION; + +typedef struct _USB_HUB_DEVICE_INFO { + USB_HUB_DESCRIPTOR HubDescriptor; + ULONG HubNumber; + USHORT DeviceAddress; + BOOLEAN HubIsSelfPowered; + BOOLEAN HubIsRootHub; + USB_HUB_CAPABILITIES HubCapabilities; + ULONG NumberOfHubPorts; + USB_HUB_PORT_INFORMATION PortInfo[1]; +} USB_HUB_DEVICE_INFO,*PUSB_HUB_DEVICE_INFO; + +typedef struct _USB_COMPOSITE_FUNCTION_INFO { + UCHAR FunctionNumber; + UCHAR BaseInterfaceNumber; + UCHAR NumberOfInterfaces; + BOOLEAN FunctionIsIdle; +} USB_COMPOSITE_FUNCTION_INFO,*PUSB_COMPOSITE_FUNCTION_INFO; + +typedef struct _USB_COMPOSITE_DEVICE_INFO { + USB_DEVICE_DESCRIPTOR DeviceDescriptor; + USB_CONFIGURATION_DESCRIPTOR CurrentConfigDescriptor; + UCHAR CurrentConfigurationValue; + UCHAR NumberOfFunctions; + USB_COMPOSITE_FUNCTION_INFO FunctionInfo[1]; +} USB_COMPOSITE_DEVICE_INFO,*PUSB_COMPOSITE_DEVICE_INFO; + +typedef struct _USB_CONTROLLER_DEVICE_INFO { + ULONG PciVendorId; + ULONG PciDeviceId; + ULONG PciRevision; + ULONG NumberOfRootPorts; + ULONG HcFeatureFlags; +} USB_CONTROLLER_DEVICE_INFO,*PUSB_CONTROLLER_DEVICE_INFO; + +typedef struct _USB_DEVICE_INFO { + USB_DEVICE_STATE DeviceState; + USHORT PortNumber; + USB_DEVICE_DESCRIPTOR DeviceDescriptor; + UCHAR CurrentConfigurationValue; + USB_DEVICE_SPEED Speed; + USHORT DeviceAddress; + ULONG ConnectionIndex; + USB_CONNECTION_STATUS ConnectionStatus; + WCHAR PnpHardwareId[128]; + WCHAR PnpCompatibleId[128]; + WCHAR SerialNumberId[128]; + WCHAR PnpDeviceDescription[128]; + ULONG NumberOfOpenPipes; + USB_PIPE_INFO PipeList[1]; +} USB_DEVICE_INFO,*PUSB_DEVICE_INFO; + +typedef struct _USB_DEVICE_NODE_INFO { + ULONG Sig; + ULONG LengthInBytes; + WCHAR DeviceDescription[40]; + USB_WMI_DEVICE_NODE_TYPE NodeType; + USB_TOPOLOGY_ADDRESS BusAddress; + __C89_NAMELESS union { + USB_DEVICE_INFO UsbDeviceInfo; + USB_HUB_DEVICE_INFO HubDeviceInfo; + USB_COMPOSITE_DEVICE_INFO CompositeDeviceInfo; + USB_CONTROLLER_DEVICE_INFO ControllerDeviceInfo; + UCHAR DeviceInformation[4]; + }; +} USB_DEVICE_NODE_INFO,*PUSB_DEVICE_NODE_INFO; + +typedef struct _USB_DEVICE_PERFORMANCE_INFO { + ULONG BulkBytes; + ULONG ControlDataBytes; + ULONG IsoBytes; + ULONG InterruptBytes; + ULONG BulkUrbCount; + ULONG ControlUrbCount; + ULONG IsoUrbCount; + ULONG InterruptUrbCount; + ULONG AllocedInterrupt[6]; + ULONG AllocedIso; + ULONG Total32secBandwidth; + ULONG TotalTtBandwidth; + WCHAR DeviceDescription[60]; + USB_DEVICE_SPEED DeviceSpeed; + ULONG TotalIsoLatency; + ULONG DroppedIsoPackets; + ULONG TransferErrors; + ULONG PciInterruptCount; + ULONG HcIdleState; + ULONG HcAsyncIdleState; + ULONG HcAsyncCacheFlushCount; + ULONG HcPeriodicIdleState; + ULONG HcPeriodicCacheFlushCount; +} USB_DEVICE_PERFORMANCE_INFO,*PUSB_DEVICE_PERFORMANCE_INFO; +#endif + +#if NTDDI_VERSION >= 0x06020000 +typedef enum _USB_HUB_TYPE { + UsbRootHub = 1, + Usb20Hub = 2, + Usb30Hub = 3 +} USB_HUB_TYPE; + +typedef struct _USB_HUB_INFORMATION_EX { + USB_HUB_TYPE HubType; + USHORT HighestPortNumber; + union { + USB_HUB_DESCRIPTOR UsbHubDescriptor; + USB_30_HUB_DESCRIPTOR Usb30HubDescriptor; + } u; +} USB_HUB_INFORMATION_EX,*PUSB_HUB_INFORMATION_EX; + +typedef union _USB_PORT_PROPERTIES { + ULONG ul; + __C89_NAMELESS struct { + ULONG PortIsUserConnectable :1; + ULONG PortIsDebugCapable :1; + ULONG ReservedMBZ :30; + }; +} USB_PORT_PROPERTIES,*PUSB_PORT_PROPERTIES; + +typedef struct _USB_PORT_CONNECTOR_PROPERTIES { + ULONG ConnectionIndex; + ULONG ActualLength; + USB_PORT_PROPERTIES UsbPortProperties; + USHORT CompanionIndex; + USHORT CompanionPortNumber; + WCHAR CompanionHubSymbolicLinkName[1]; +} USB_PORT_CONNECTOR_PROPERTIES,*PUSB_PORT_CONNECTOR_PROPERTIES; + +typedef union _USB_PROTOCOLS { + ULONG ul; + __C89_NAMELESS struct { + ULONG Usb110 :1; + ULONG Usb200 :1; + ULONG Usb300 :1; + ULONG ReservedMBZ :29; + }; +} USB_PROTOCOLS,*PUSB_PROTOCOLS; + +typedef union _USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS { + ULONG ul; + __C89_NAMELESS struct { + ULONG DeviceIsOperatingAtSuperSpeedOrHigher :1; + ULONG DeviceIsSuperSpeedCapableOrHigher :1; + ULONG DeviceIsOperatingAtSuperSpeedPlusOrHigher :1; + ULONG DeviceIsSuperSpeedPlusCapableOrHigher :1; + ULONG ReservedMBZ :28; + }; +} USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS,*PUSB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS; + +typedef struct _USB_NODE_CONNECTION_INFORMATION_EX_V2 { + ULONG ConnectionIndex; + ULONG Length; + USB_PROTOCOLS SupportedUsbProtocols; + USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS Flags; +} USB_NODE_CONNECTION_INFORMATION_EX_V2,*PUSB_NODE_CONNECTION_INFORMATION_EX_V2; +#endif + +#include + +#endif + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbiodef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbiodef.h new file mode 100644 index 00000000..09ee974e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbiodef.h @@ -0,0 +1,108 @@ +/* + * usbiodef.h + * + * 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 based on the ReactOS PSDK file usbiodef.h header. + * Original contributed by Casper S. Hornstrup + * + * Added winapi-family check, Windows 8 additions by Kai Tietz. + */ + +#ifndef __USBIODEF_H__ +#define __USBIODEF_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define USB_SUBMIT_URB 0 +#define USB_RESET_PORT 1 +#define USB_GET_ROOTHUB_PDO 3 +#define USB_GET_PORT_STATUS 4 +#define USB_ENABLE_PORT 5 +#define USB_GET_HUB_COUNT 6 +#define USB_CYCLE_PORT 7 +#define USB_GET_HUB_NAME 8 +#define USB_IDLE_NOTIFICATION 9 +#define USB_RECORD_FAILURE 10 + +#define USB_GET_BUS_INFO 264 +#define USB_GET_CONTROLLER_NAME 265 +#define USB_GET_BUSGUID_INFO 266 +#define USB_GET_PARENT_HUB_INFO 267 +#define USB_GET_DEVICE_HANDLE 268 +#define USB_GET_DEVICE_HANDLE_EX 269 +#define USB_GET_TT_DEVICE_HANDLE 270 +#define USB_GET_TOPOLOGY_ADDRESS 271 +#define USB_IDLE_NOTIFICATION_EX 272 +#define USB_REQ_GLOBAL_SUSPEND 273 +#define USB_REQ_GLOBAL_RESUME 274 +#define USB_GET_HUB_CONFIG_INFO 275 + +#define USB_REGISTER_COMPOSITE_DEVICE 0 +#define USB_UNREGISTER_COMPOSITE_DEVICE 1 +#define USB_REQUEST_REMOTE_WAKE_NOTIFICATION 2 + +#define HCD_GET_STATS_1 255 +#define HCD_DIAGNOSTIC_MODE_ON 256 +#define HCD_DIAGNOSTIC_MODE_OFF 257 +#define HCD_GET_ROOT_HUB_NAME 258 +#define HCD_GET_DRIVERKEY_NAME 265 +#define HCD_GET_STATS_2 266 +#define HCD_DISABLE_PORT 268 +#define HCD_ENABLE_PORT 269 +#define HCD_USER_REQUEST 270 +#define HCD_TRACE_READ_REQUEST 275 + +#define USB_GET_NODE_INFORMATION 258 +#define USB_GET_NODE_CONNECTION_INFORMATION 259 +#define USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION 260 +#define USB_GET_NODE_CONNECTION_NAME 261 +#define USB_DIAG_IGNORE_HUBS_ON 262 +#define USB_DIAG_IGNORE_HUBS_OFF 263 +#define USB_GET_NODE_CONNECTION_DRIVERKEY_NAME 264 +#define USB_GET_HUB_CAPABILITIES 271 +#define USB_GET_NODE_CONNECTION_ATTRIBUTES 272 +#define USB_HUB_CYCLE_PORT 273 +#define USB_GET_NODE_CONNECTION_INFORMATION_EX 274 +#define USB_RESET_HUB 275 +#define USB_GET_HUB_CAPABILITIES_EX 276 +#define USB_GET_HUB_INFORMATION_EX 277 +#define USB_GET_PORT_CONNECTOR_PROPERTIES 278 +#define USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 279 + +#define GUID_CLASS_USBHUB GUID_DEVINTERFACE_USB_HUB +#define GUID_CLASS_USB_DEVICE GUID_DEVINTERFACE_USB_DEVICE +#define GUID_CLASS_USB_HOST_CONTROLLER GUID_DEVINTERFACE_USB_HOST_CONTROLLER + +#define FILE_DEVICE_USB FILE_DEVICE_UNKNOWN +#define USB_CTL(id) CTL_CODE (FILE_DEVICE_USB,(id), METHOD_BUFFERED, FILE_ANY_ACCESS) +#define USB_KERNEL_CTL(id) CTL_CODE (FILE_DEVICE_USB,(id), METHOD_NEITHER, FILE_ANY_ACCESS) +#define USB_KERNEL_CTL_BUFFERED(id) CTL_CODE (FILE_DEVICE_USB,(id), METHOD_BUFFERED, FILE_ANY_ACCESS) + +DEFINE_GUID (GUID_DEVINTERFACE_USB_HUB, 0xf18a0e88, 0xc30c, 0x11d0, 0x88, 0x15, 0x00, 0xa0, 0xc9, 0x06, 0xbe, 0xd8); +DEFINE_GUID (GUID_DEVINTERFACE_USB_DEVICE, 0xa5dcbf10, 0x6530, 0x11d2, 0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed); +DEFINE_GUID (GUID_DEVINTERFACE_USB_HOST_CONTROLLER, 0x3abf6f2d, 0x71c4, 0x462a, 0x8a, 0x92, 0x1e, 0x68, 0x61, 0xe6, 0xaf, 0x27); +DEFINE_GUID (GUID_USB_WMI_STD_DATA, 0x4e623b20, 0xcb14, 0x11d1, 0xb3, 0x31, 0x00, 0xa0, 0xc9, 0x59, 0xbb, 0xd2); +DEFINE_GUID (GUID_USB_WMI_STD_NOTIFICATION, 0x4e623b20, 0xcb14, 0x11d1, 0xb3, 0x31, 0x00, 0xa0, 0xc9, 0x59, 0xbb, 0xd2); +#if _WIN32_WINNT >= 0x0600 +DEFINE_GUID (GUID_USB_WMI_DEVICE_PERF_INFO, 0x66c1aa3c, 0x499f, 0x49a0, 0xa9, 0xa5, 0x61, 0xe2, 0x35, 0x9f, 0x64, 0x7); +DEFINE_GUID (GUID_USB_WMI_NODE_INFO, 0x9c179357, 0xdc7a, 0x4f41, 0xb6, 0x6b, 0x32, 0x3b, 0x9d, 0xdc, 0xb5, 0xb1); +DEFINE_GUID (GUID_USB_WMI_TRACING, 0x3a61881b, 0xb4e6, 0x4bf9, 0xae, 0xf, 0x3c, 0xd8, 0xf3, 0x94, 0xe5, 0x2f); +DEFINE_GUID (GUID_USB_TRANSFER_TRACING, 0x681eb8aa, 0x403d, 0x452c, 0x9f, 0x8a, 0xf0, 0x61, 0x6f, 0xac, 0x95, 0x40); +DEFINE_GUID (GUID_USB_PERFORMANCE_TRACING, 0xd5de77a6, 0x6ae9, 0x425c, 0xb1, 0xe2, 0xf5, 0x61, 0x5f, 0xd3, 0x48, 0xa9); +DEFINE_GUID (GUID_USB_WMI_SURPRISE_REMOVAL_NOTIFICATION, 0x9bbbf831, 0xa2f2, 0x43b4, 0x96, 0xd1, 0x86, 0x94, 0x4b, 0x59, 0x14, 0xb3); +#endif + +typedef VOID (*USB_IDLE_CALLBACK) (PVOID Context); + +typedef struct _USB_IDLE_CALLBACK_INFO { + USB_IDLE_CALLBACK IdleCallback; + PVOID IdleContext; +} USB_IDLE_CALLBACK_INFO,*PUSB_IDLE_CALLBACK_INFO; + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbprint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbprint.h new file mode 100644 index 00000000..ce5bb1a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbprint.h @@ -0,0 +1,19 @@ +/* + * usbprint.h + * + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define USBPRINT_IOCTL_INDEX 0x0000 +#define IOCTL_USBPRINT_GET_LPT_STATUS CTL_CODE (FILE_DEVICE_UNKNOWN, USBPRINT_IOCTL_INDEX+12, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USBPRINT_GET_1284_ID CTL_CODE (FILE_DEVICE_UNKNOWN, USBPRINT_IOCTL_INDEX+13, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USBPRINT_VENDOR_SET_COMMAND CTL_CODE (FILE_DEVICE_UNKNOWN, USBPRINT_IOCTL_INDEX+14, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USBPRINT_VENDOR_GET_COMMAND CTL_CODE (FILE_DEVICE_UNKNOWN, USBPRINT_IOCTL_INDEX+15, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_USBPRINT_SOFT_RESET CTL_CODE (FILE_DEVICE_UNKNOWN, USBPRINT_IOCTL_INDEX+16, METHOD_BUFFERED, FILE_ANY_ACCESS) + +DEFINE_GUID (GUID_DEVINTERFACE_USBPRINT, 0x28d78fad, 0x5a12, 0x11d1, 0xae, 0x5b, 0x0, 0x0, 0xf8, 0x3, 0xa8, 0xc2); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbrpmif.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbrpmif.h new file mode 100644 index 00000000..b442d9cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbrpmif.h @@ -0,0 +1,84 @@ +/* + * usbrpmif.h + * + * This file is part of the ReactOS PSDK package. + * + * Contributors: + * Created by Amine Khaldi + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#pragma once + +#include "windef.h" +#include "usb100.h" + +#if !defined(_USBRPM_DRIVER_) +#define USBRPMAPI DECLSPEC_IMPORT +#else +#define USBRPMAPI +#endif + +typedef struct _USBRPM_DEVICE_INFORMATION { + ULONG64 HubId; + ULONG ConnectionIndex; + UCHAR DeviceClass; + USHORT VendorId; + USHORT ProductId; + WCHAR ManufacturerString[MAXIMUM_USB_STRING_LENGTH]; + WCHAR ProductString[MAXIMUM_USB_STRING_LENGTH]; + WCHAR HubSymbolicLinkName[MAX_PATH]; +} USBRPM_DEVICE_INFORMATION, *PUSBRPM_DEVICE_INFORMATION; + +typedef struct _USBRPM_DEVICE_LIST { + ULONG NumberOfDevices; + USBRPM_DEVICE_INFORMATION Device[0]; +} USBRPM_DEVICE_LIST, *PUSBRPM_DEVICE_LIST; + +USBRPMAPI +NTSTATUS +NTAPI +RPMRegisterAlternateDriver( + PDRIVER_OBJECT DriverObject, + LPCWSTR CompatibleId, + PHANDLE RegisteredDriver); + +USBRPMAPI +NTSTATUS +NTAPI +RPMUnregisterAlternateDriver( + HANDLE RegisteredDriver); + +USBRPMAPI +NTSTATUS +RPMGetAvailableDevices( + HANDLE RegisteredDriver, + USHORT Locale, + PUSBRPM_DEVICE_LIST *DeviceList); + +USBRPMAPI +NTSTATUS +NTAPI +RPMLoadAlternateDriverForDevice( + HANDLE RegisteredDriver, + ULONG64 HubID, + ULONG ConnectionIndex, + REFGUID OwnerGuid); + +USBRPMAPI +NTSTATUS +NTAPI +RPMUnloadAlternateDriverForDevice( + HANDLE RegisteredDriver, + ULONG64 HubID, + ULONG ConnectionIndex); diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbscan.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbscan.h new file mode 100644 index 00000000..ab6a1a3f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbscan.h @@ -0,0 +1,117 @@ +/* + * usbscan.h + * + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _USBSCAN_H_ +#define _USBSCAN_H_ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifndef MAX_NUM_PIPES +#define MAX_NUM_PIPES 8 +#endif + +#define BULKIN_FLAG 0x80 + +#pragma pack(push, 8) +typedef struct _DRV_VERSION { + unsigned major; + unsigned minor; + unsigned internal; +} DRV_VERSION,*PDRV_VERSION; + +typedef struct _IO_BLOCK { + unsigned uOffset; + unsigned uLength; + PUCHAR pbyData; + unsigned uIndex; +} IO_BLOCK,*PIO_BLOCK; + +typedef struct _IO_BLOCK_EX { + unsigned uOffset; + unsigned uLength; + PUCHAR pbyData; + unsigned uIndex; + UCHAR bRequest; + UCHAR bmRequestType; + UCHAR fTransferDirectionIn; +} IO_BLOCK_EX,*PIO_BLOCK_EX; + +typedef struct _CHANNEL_INFO { + unsigned EventChannelSize; + unsigned uReadDataAlignment; + unsigned uWriteDataAlignment; +} CHANNEL_INFO,*PCHANNEL_INFO; + +typedef enum { + EVENT_PIPE, + READ_DATA_PIPE, + WRITE_DATA_PIPE, + ALL_PIPE +} PIPE_TYPE; + +typedef struct _USBSCAN_GET_DESCRIPTOR { + UCHAR DescriptorType; + UCHAR Index; + USHORT LanguageId; +} USBSCAN_GET_DESCRIPTOR,*PUSBSCAN_GET_DESCRIPTOR; + +typedef struct _DEVICE_DESCRIPTOR { + USHORT usVendorId; + USHORT usProductId; + USHORT usBcdDevice; + USHORT usLanguageId; +} DEVICE_DESCRIPTOR,*PDEVICE_DESCRIPTOR; + +typedef enum _RAW_PIPE_TYPE { + USBSCAN_PIPE_CONTROL, + USBSCAN_PIPE_ISOCHRONOUS, + USBSCAN_PIPE_BULK, + USBSCAN_PIPE_INTERRUPT +} RAW_PIPE_TYPE; + +typedef struct _USBSCAN_PIPE_INFORMATION { + USHORT MaximumPacketSize; + UCHAR EndpointAddress; + UCHAR Interval; + RAW_PIPE_TYPE PipeType; +} USBSCAN_PIPE_INFORMATION,*PUSBSCAN_PIPE_INFORMATION; + +typedef struct _USBSCAN_PIPE_CONFIGURATION { + ULONG NumberOfPipes; + USBSCAN_PIPE_INFORMATION PipeInfo[MAX_NUM_PIPES]; +} USBSCAN_PIPE_CONFIGURATION,*PUSBSCAN_PIPE_CONFIGURATION; + +typedef struct _USBSCAN_TIMEOUT { + ULONG TimeoutRead; + ULONG TimeoutWrite; + ULONG TimeoutEvent; +} USBSCAN_TIMEOUT,*PUSBSCAN_TIMEOUT; +#pragma pack(pop) + +#define FILE_DEVICE_USB_SCAN 0x8000 +#define IOCTL_INDEX 0x0800 +#define ALL ALL_PIPE +#define IOCTL_ABORT_PIPE IOCTL_CANCEL_IO + +#define IOCTL_GET_VERSION CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_CANCEL_IO CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+1, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_WAIT_ON_DEVICE_EVENT CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+2, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_READ_REGISTERS CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+3, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_WRITE_REGISTERS CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+4, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_GET_CHANNEL_ALIGN_RQST CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+5, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_GET_DEVICE_DESCRIPTOR CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+6, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_RESET_PIPE CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+7, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_GET_USB_DESCRIPTOR CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+8, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_SEND_USB_REQUEST CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+9, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_GET_PIPE_CONFIGURATION CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+10, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_SET_TIMEOUT CTL_CODE (FILE_DEVICE_USB_SCAN, IOCTL_INDEX+11, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbspec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbspec.h new file mode 100644 index 00000000..4b1abf1f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbspec.h @@ -0,0 +1,839 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef __USBSPEC_H__ +#define __USBSPEC_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#include + +typedef enum _USB_DEVICE_SPEED { + UsbLowSpeed = 0, + UsbFullSpeed, + UsbHighSpeed, + UsbSuperSpeed +} USB_DEVICE_SPEED; + +typedef enum _USB_DEVICE_TYPE { + Usb11Device = 0, + Usb20Device +} USB_DEVICE_TYPE; + +typedef union _BM_REQUEST_TYPE { + __C89_NAMELESS struct _BM { + UCHAR Recipient:2; + UCHAR Reserved:3; + UCHAR Type:2; + UCHAR Dir:1; + }; + UCHAR B; +} BM_REQUEST_TYPE,*PBM_REQUEST_TYPE; + +typedef struct _USB_DEFAULT_PIPE_SETUP_PACKET { + BM_REQUEST_TYPE bmRequestType; + UCHAR bRequest; + union _wValue { + __C89_NAMELESS struct { + UCHAR LowByte; + UCHAR HiByte; + }; + USHORT W; + } wValue; + union _wIndex { + __C89_NAMELESS struct { + UCHAR LowByte; + UCHAR HiByte; + }; + USHORT W; + } wIndex; + USHORT wLength; +} USB_DEFAULT_PIPE_SETUP_PACKET,*PUSB_DEFAULT_PIPE_SETUP_PACKET; + +#define BMREQUEST_HOST_TO_DEVICE 0 +#define BMREQUEST_DEVICE_TO_HOST 1 + +#define BMREQUEST_STANDARD 0 +#define BMREQUEST_CLASS 1 +#define BMREQUEST_VENDOR 2 + +#define BMREQUEST_TO_DEVICE 0 +#define BMREQUEST_TO_INTERFACE 1 +#define BMREQUEST_TO_ENDPOINT 2 +#define BMREQUEST_TO_OTHER 3 + +#define USB_DESCRIPTOR_MAKE_TYPE_AND_INDEX(d, i) ((USHORT) (((USHORT) d) << 8 | i)) + +#define USB_REQUEST_GET_STATUS 0x00 +#define USB_REQUEST_CLEAR_FEATURE 0x01 +#define USB_REQUEST_SET_FEATURE 0x03 +#define USB_REQUEST_SET_ADDRESS 0x05 +#define USB_REQUEST_GET_DESCRIPTOR 0x06 +#define USB_REQUEST_SET_DESCRIPTOR 0x07 +#define USB_REQUEST_GET_CONFIGURATION 0x08 +#define USB_REQUEST_SET_CONFIGURATION 0x09 +#define USB_REQUEST_GET_INTERFACE 0x0a +#define USB_REQUEST_SET_INTERFACE 0x0b +#define USB_REQUEST_SYNC_FRAME 0x0c + +#define USB_REQUEST_SET_SEL 0x30 +#define USB_REQUEST_ISOCH_DELAY 0x31 + +#define USB_DEVICE_DESCRIPTOR_TYPE 0x01 +#define USB_CONFIGURATION_DESCRIPTOR_TYPE 0x02 +#define USB_STRING_DESCRIPTOR_TYPE 0x03 +#define USB_INTERFACE_DESCRIPTOR_TYPE 0x04 +#define USB_ENDPOINT_DESCRIPTOR_TYPE 0x05 +#define USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE 0x06 +#define USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE 0x07 +#define USB_INTERFACE_POWER_DESCRIPTOR_TYPE 0x08 +#define USB_OTG_DESCRIPTOR_TYPE 0x09 +#define USB_DEBUG_DESCRIPTOR_TYPE 0x0a +#define USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE 0x0b +#define USB_BOS_DESCRIPTOR_TYPE 0x0f +#define USB_DEVICE_CAPABILITY_DESCRIPTOR_TYPE 0x10 +#define USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_TYPE 0x30 +#define USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR_TYPE 0x31 + +#define USB_RESERVED_DESCRIPTOR_TYPE 0x06 +#define USB_CONFIG_POWER_DESCRIPTOR_TYPE 0x07 + +#define USB_FEATURE_ENDPOINT_STALL 0x00 +#define USB_FEATURE_REMOTE_WAKEUP 0x01 +#define USB_FEATURE_TEST_MODE 0x02 + +#define USB_FEATURE_FUNCTION_SUSPEND 0x00 +#define USB_FEATURE_U1_ENABLE 0x30 +#define USB_FEATURE_U2_ENABLE 0x31 +#define USB_FEATURE_LTM_ENABLE 0x32 +#define USB_FEATURE_LDM_ENABLE 0x35 + +#define USB_FEATURE_BATTERY_WAKE_MASK 0x28 +#define USB_FEATURE_OS_IS_PD_AWARE 0x29 +#define USB_FEATURE_POLICY_MODE 0x2A +#define USB_FEATURE_CHARGING_POLICY 0x36 + +#define USB_CHARGING_POLICY_DEFAULT 0x00 +#define USB_CHARGING_POLICY_ICCHPF 0x01 +#define USB_CHARGING_POLICY_ICCLPF 0x02 +#define USB_CHARGING_POLICY_NO_POWER 0x03 + +#define USB_STATUS_PORT_STATUS 0x00 +#define USB_STATUS_PD_STATUS 0x01 +#define USB_STATUS_EXT_PORT_STATUS 0x02 + +#define USB_GETSTATUS_SELF_POWERED 0x01 +#define USB_GETSTATUS_REMOTE_WAKEUP_ENABLED 0x02 + +#define USB_GETSTATUS_U1_ENABLE 0x04 +#define USB_GETSTATUS_U2_ENABLE 0x08 +#define USB_GETSTATUS_LTM_ENABLE 0x10 + +typedef union _USB_DEVICE_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT SelfPowered : 1; + USHORT RemoteWakeup : 1; + USHORT U1Enable : 1; + USHORT U2Enable : 1; + USHORT LtmEnable : 1; + USHORT Reserved : 11; + }; +} USB_DEVICE_STATUS,*PUSB_DEVICE_STATUS; + +typedef union _USB_INTERFACE_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT RemoteWakeupCapable : 1; + USHORT RemoteWakeupEnabled : 1; + USHORT Reserved : 14; + }; +} USB_INTERFACE_STATUS,*PUSB_INTERFACE_STATUS; + +typedef union _USB_ENDPOINT_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT Halt : 1; + USHORT Reserved : 15; + }; +} USB_ENDPOINT_STATUS,*PUSB_ENDPOINT_STATUS; + +typedef struct _USB_COMMON_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; +} USB_COMMON_DESCRIPTOR,*PUSB_COMMON_DESCRIPTOR; + +typedef struct _USB_DEVICE_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + USHORT bcdUSB; + UCHAR bDeviceClass; + UCHAR bDeviceSubClass; + UCHAR bDeviceProtocol; + UCHAR bMaxPacketSize0; + USHORT idVendor; + USHORT idProduct; + USHORT bcdDevice; + UCHAR iManufacturer; + UCHAR iProduct; + UCHAR iSerialNumber; + UCHAR bNumConfigurations; +} USB_DEVICE_DESCRIPTOR,*PUSB_DEVICE_DESCRIPTOR; + +#define USB_DEVICE_CLASS_RESERVED 0x00 +#define USB_DEVICE_CLASS_AUDIO 0x01 +#define USB_DEVICE_CLASS_COMMUNICATIONS 0x02 +#define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03 +#define USB_DEVICE_CLASS_MONITOR 0x04 +#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05 +#define USB_DEVICE_CLASS_POWER 0x06 +#define USB_DEVICE_CLASS_IMAGE 0x06 +#define USB_DEVICE_CLASS_PRINTER 0x07 +#define USB_DEVICE_CLASS_STORAGE 0x08 +#define USB_DEVICE_CLASS_HUB 0x09 +#define USB_DEVICE_CLASS_CDC_DATA 0x0a +#define USB_DEVICE_CLASS_SMART_CARD 0x0b +#define USB_DEVICE_CLASS_CONTENT_SECURITY 0x0d +#define USB_DEVICE_CLASS_VIDEO 0x0e +#define USB_DEVICE_CLASS_PERSONAL_HEALTHCARE 0x0f +#define USB_DEVICE_CLASS_AUDIO_VIDEO 0x10 +#define USB_DEVICE_CLASS_BILLBOARD 0x11 +#define USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE 0xdc +#define USB_DEVICE_CLASS_WIRELESS_CONTROLLER 0xe0 +#define USB_DEVICE_CLASS_MISCELLANEOUS 0xef +#define USB_DEVICE_CLASS_APPLICATION_SPECIFIC 0xfe +#define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xff + +typedef struct _USB_DEVICE_QUALIFIER_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + USHORT bcdUSB; + UCHAR bDeviceClass; + UCHAR bDeviceSubClass; + UCHAR bDeviceProtocol; + UCHAR bMaxPacketSize0; + UCHAR bNumConfigurations; + UCHAR bReserved; +} USB_DEVICE_QUALIFIER_DESCRIPTOR,*PUSB_DEVICE_QUALIFIER_DESCRIPTOR; + +typedef struct _USB_BOS_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + USHORT wTotalLength; + UCHAR bNumDeviceCaps; +} USB_BOS_DESCRIPTOR,*PUSB_BOS_DESCRIPTOR; + +#define USB_DEVICE_CAPABILITY_WIRELESS_USB 0x01 +#define USB_DEVICE_CAPABILITY_USB20_EXTENSION 0x02 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_USB 0x03 +#define USB_DEVICE_CAPABILITY_CONTAINER_ID 0x04 +#define USB_DEVICE_CAPABILITY_PLATFORM 0x05 +#define USB_DEVICE_CAPABILITY_POWER_DELIVERY 0x06 +#define USB_DEVICE_CAPABILITY_BATTERY_INFO 0x07 +#define USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT 0x08 +#define USB_DEVICE_CAPABILITY_PD_PROVIDER_PORT 0x09 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB 0x0A +#define USB_DEVICE_CAPABILITY_PRECISION_TIME_MEASUREMENT 0x0B +#define USB_DEVICE_CAPABILITY_BILLBOARD 0x0D + +typedef struct _USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + union { + ULONG AsUlong; + __C89_NAMELESS struct { + ULONG Reserved:1; + ULONG LPMCapable:1; + ULONG BESLAndAlternateHIRDSupported:1; + ULONG BaselineBESLValid:1; + ULONG DeepBESLValid:1; + ULONG Reserved1:3; + ULONG BaselineBESL:4; + ULONG DeepBESL:4; + ULONG Reserved2:16; + }; + } bmAttributes; +} USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR; + +#define USB_DEVICE_CAPABILITY_USB20_EXTENSION_BMATTRIBUTES_RESERVED_MASK 0xffff00e1 + +typedef struct _USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + union { + ULONG AsUlong; + __C89_NAMELESS struct { + ULONG Reserved1:1; + ULONG BatteryCharging:1; + ULONG USBPowerDelivery:1; + ULONG Provider:1; + ULONG Consumer:1; + ULONG ChargingPolicy:1; + ULONG TypeCCurrent:1; + ULONG Reserved2:1; + ULONG ACSupply:1; + ULONG Battery:1; + ULONG Other:1; + ULONG NumBatteries:3; + ULONG UsesVbus:1; + ULONG Reserved3:17; + }; + } bmAttributes; + USHORT bmProviderPorts; + USHORT bmConsumerPorts; + USHORT bcdBCVersion; + USHORT bcdPDVersion; + USHORT bcdUSBTypeCVersion; +} USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + union { + USHORT AsUshort; + __C89_NAMELESS struct { + USHORT BatteryCharging:1; + USHORT USBPowerDelivery:1; + USHORT USBTypeCCurrent:1; + USHORT Reserved:13; + }; + } bmCapabilities; + USHORT wMinVoltage; + USHORT wMaxVoltage; + USHORT wReserved; + ULONG dwMaxOperatingPower; + ULONG dwMaxPeakPower; + ULONG dwMaxPeakPowerTime; +} USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bmAttributes; + USHORT wSpeedsSupported; + UCHAR bFunctionalitySupport; + UCHAR bU1DevExitLat; + USHORT wU2DevExitLat; +} USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR; + +#define USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_RESERVED_MASK 0xfd +#define USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_LTM_CAPABLE 0x02 + +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_RESERVED_MASK 0xfff0 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_LOW 0x0001 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_FULL 0x0002 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_HIGH 0x0004 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_SUPER 0x0008 + +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_LOW 0x0001 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_FULL 0x0002 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_HIGH 0x0004 +#define USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_SUPER 0x0008 + +#define USB_DEVICE_CAPABILITY_SUPERSPEED_U1_DEVICE_EXIT_MAX_VALUE 0x0a + +#define USB_DEVICE_CAPABILITY_SUPERSPEED_U2_DEVICE_EXIT_MAX_VALUE 0x07ff + +#define USB_DEVICE_CAPABILITY_MAX_U1_LATENCY 0x0a +#define USB_DEVICE_CAPABILITY_MAX_U2_LATENCY 0x07ff + +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_BPS 0 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_KBPS 1 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_MBPS 2 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_GBPS 3 + +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_SYMMETRIC 0 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_ASYMMETRIC 1 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_RX 0 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_TX 1 + +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SS 0 +#define USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SSP 1 + +typedef union _USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED { + ULONG AsUlong32; + __C89_NAMELESS struct { + ULONG SublinkSpeedAttrID:4; + ULONG LaneSpeedExponent:2; + ULONG SublinkTypeMode:1; + ULONG SublinkTypeDir:1; + ULONG Reserved:6; + ULONG LinkProtocol:2; + ULONG LaneSpeedMantissa:16; + }; +} USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED,*PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED; + +typedef struct _USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + union { + ULONG AsUlong; + __C89_NAMELESS struct { + ULONG SublinkSpeedAttrCount:5; + ULONG SublinkSpeedIDCount:4; + ULONG Reserved:23; + }; + } bmAttributes; + union { + USHORT AsUshort; + __C89_NAMELESS struct { + USHORT SublinkSpeedAttrID:4; + USHORT Reserved:4; + USHORT MinRxLaneCount:4; + USHORT MinTxLaneCount:4; + }; + } wFunctionalitySupport; + USHORT wReserved; + USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED bmSublinkSpeedAttr[1]; +} USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + UCHAR ContainerID[16]; +} USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR bReserved; + GUID PlatformCapabilityUuid; + UCHAR CapabililityData[1]; +} USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR; + +typedef struct _USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; + UCHAR iAddtionalInfoURL; + UCHAR bNumberOfAlternateModes; + UCHAR bPreferredAlternateMode; + union { + USHORT AsUshort; + __C89_NAMELESS struct { + USHORT VConnPowerNeededForFullFunctionality:3; + USHORT Reserved:12; + USHORT NoVconnPowerRequired:1; + }; + } VconnPower; + UCHAR bmConfigured[32]; + ULONG bReserved; + __C89_NAMELESS struct { + USHORT wSVID; + UCHAR bAlternateMode; + UCHAR iAlternateModeSetting; + } AlternateMode[1]; +} USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR; + +DEFINE_GUID(GUID_USB_MSOS20_PLATFORM_CAPABILITY_ID, 0xD8DD60DF, 0x4589, 0x4CC7, 0x9C, 0xD2, 0x65, 0x9D, 0x9E, 0x64, 0x8A, 0x9F); + +typedef struct _USB_DEVICE_CAPABILITY_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bDevCapabilityType; +} USB_DEVICE_CAPABILITY_DESCRIPTOR,*PUSB_DEVICE_CAPABILITY_DESCRIPTOR; + +typedef struct _USB_CONFIGURATION_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + USHORT wTotalLength; + UCHAR bNumInterfaces; + UCHAR bConfigurationValue; + UCHAR iConfiguration; + UCHAR bmAttributes; + UCHAR MaxPower; +} USB_CONFIGURATION_DESCRIPTOR,*PUSB_CONFIGURATION_DESCRIPTOR; + +#define USB_CONFIG_POWERED_MASK 0xc0 +#define USB_CONFIG_BUS_POWERED 0x80 +#define USB_CONFIG_SELF_POWERED 0x40 +#define USB_CONFIG_REMOTE_WAKEUP 0x20 +#define USB_CONFIG_RESERVED 0x1f + +typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bFirstInterface; + UCHAR bInterfaceCount; + UCHAR bFunctionClass; + UCHAR bFunctionSubClass; + UCHAR bFunctionProtocol; + UCHAR iFunction; +} USB_INTERFACE_ASSOCIATION_DESCRIPTOR,*PUSB_INTERFACE_ASSOCIATION_DESCRIPTOR; + +typedef struct _USB_INTERFACE_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bInterfaceNumber; + UCHAR bAlternateSetting; + UCHAR bNumEndpoints; + UCHAR bInterfaceClass; + UCHAR bInterfaceSubClass; + UCHAR bInterfaceProtocol; + UCHAR iInterface; +} USB_INTERFACE_DESCRIPTOR,*PUSB_INTERFACE_DESCRIPTOR; + +typedef struct _USB_ENDPOINT_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bEndpointAddress; + UCHAR bmAttributes; + USHORT wMaxPacketSize; + UCHAR bInterval; +} USB_ENDPOINT_DESCRIPTOR,*PUSB_ENDPOINT_DESCRIPTOR; + +#define USB_ENDPOINT_DIRECTION_MASK 0x80 +#define USB_ENDPOINT_DIRECTION_OUT(addr) (! ((addr) & USB_ENDPOINT_DIRECTION_MASK)) +#define USB_ENDPOINT_DIRECTION_IN(addr) ((addr) & USB_ENDPOINT_DIRECTION_MASK) + +#define USB_ENDPOINT_ADDRESS_MASK 0x0f + +#define USB_ENDPOINT_TYPE_MASK 0x03 +#define USB_ENDPOINT_TYPE_CONTROL 0x00 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS 0x01 +#define USB_ENDPOINT_TYPE_BULK 0x02 +#define USB_ENDPOINT_TYPE_INTERRUPT 0x03 + +#define USB_ENDPOINT_TYPE_BULK_RESERVED_MASK 0xfc +#define USB_ENDPOINT_TYPE_CONTROL_RESERVED_MASK 0xfc +#define USB_20_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK 0xfc +#define USB_30_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK 0xcc +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_RESERVED_MASK 0xc0 + +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK 0x30 +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_PERIODIC 0x00 +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_NOTIFICATION 0x10 +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED10 0x20 +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED11 0x30 +#define USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE(bmAttr) (bmAttr &USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK) + +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK 0x0c +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_NO_SYNCHRONIZATION 0x00 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ASYNCHRONOUS 0x04 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ADAPTIVE 0x08 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_SYNCHRONOUS 0x0c +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION(bmAttr) (bmAttr &USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK) + +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK 0x30 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_DATA_ENDOINT 0x00 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_FEEDBACK_ENDPOINT 0x10 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_IMPLICIT_FEEDBACK_DATA_ENDPOINT 0x20 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_RESERVED 0x30 +#define USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE(bmAttr) (bmAttr &USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK) + +typedef union _USB_HIGH_SPEED_MAXPACKET { + __C89_NAMELESS struct _MP { + USHORT MaxPacket : 11; + USHORT HSmux : 2; + USHORT Reserved : 3; + }; + USHORT us; +} USB_HIGH_SPEED_MAXPACKET,*PUSB_HIGH_SPEED_MAXPACKET; + +#define USB_ENDPOINT_SUPERSPEED_BULK_MAX_PACKET_SIZE 1024 +#define USB_ENDPOINT_SUPERSPEED_CONTROL_MAX_PACKET_SIZE 512 +#define USB_ENDPOINT_SUPERSPEED_ISO_MAX_PACKET_SIZE 1024 +#define USB_ENDPOINT_SUPERSPEED_INTERRUPT_MAX_PACKET_SIZE 1024 + +typedef struct _USB_STRING_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + WCHAR bString[1]; +} USB_STRING_DESCRIPTOR,*PUSB_STRING_DESCRIPTOR; + +#define MAXIMUM_USB_STRING_LENGTH 255 + +typedef struct _USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bMaxBurst; + union { + UCHAR AsUchar; + struct { + UCHAR MaxStreams:5; + UCHAR Reserved1:3; + } Bulk; + struct { + UCHAR Mult:2; + UCHAR Reserved2:5; + UCHAR SspCompanion:1; + } Isochronous; + } bmAttributes; + USHORT wBytesPerInterval; +} USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR,*PUSB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR; + +#define USB_SUPERSPEED_ISOCHRONOUS_MAX_MULTIPLIER 2 + +typedef struct _USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + USHORT wReserved; + ULONG dwBytesPerInterval; +} USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR,*PUSB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR; + +#define USB_SUPERSPEEDPLUS_ISOCHRONOUS_MIN_BYTESPERINTERVAL 0xc001 +#define USB_SUPERSPEEDPLUS_ISOCHRONOUS_MAX_BYTESPERINTERVAL 0xffffff + +typedef struct _USB_HUB_DESCRIPTOR { + UCHAR bDescriptorLength; + UCHAR bDescriptorType; + UCHAR bNumberOfPorts; + USHORT wHubCharacteristics; + UCHAR bPowerOnToPowerGood; + UCHAR bHubControlCurrent; + UCHAR bRemoveAndPowerMask[64]; +} USB_HUB_DESCRIPTOR,*PUSB_HUB_DESCRIPTOR; + +#define USB_20_HUB_DESCRIPTOR_TYPE 0x29 + +typedef struct _USB_30_HUB_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bNumberOfPorts; + USHORT wHubCharacteristics; + UCHAR bPowerOnToPowerGood; + UCHAR bHubControlCurrent; + UCHAR bHubHdrDecLat; + USHORT wHubDelay; + USHORT DeviceRemovable; +} USB_30_HUB_DESCRIPTOR,*PUSB_30_HUB_DESCRIPTOR; + +#define USB_30_HUB_DESCRIPTOR_TYPE 0x2a + +#define USB_REQUEST_GET_STATE 0x02 + +#define USB_REQUEST_CLEAR_TT_BUFFER 0x08 +#define USB_REQUEST_RESET_TT 0x09 +#define USB_REQUEST_GET_TT_STATE 0x0a +#define USB_REQUEST_STOP_TT 0x0b + +#define USB_REQUEST_SET_HUB_DEPTH 0x0c +#define USB_REQUEST_GET_PORT_ERR_COUNT 0x0d + +typedef union _USB_HUB_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT LocalPowerLost:1; + USHORT OverCurrent:1; + USHORT Reserved:14; + }; +} USB_HUB_STATUS,*PUSB_HUB_STATUS; + +typedef union _USB_HUB_CHANGE { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT LocalPowerChange:1; + USHORT OverCurrentChange:1; + USHORT Reserved:14; + }; +} USB_HUB_CHANGE,*PUSB_HUB_CHANGE; + +typedef union _USB_HUB_STATUS_AND_CHANGE { + ULONG AsUlong32; + __C89_NAMELESS struct { + USB_HUB_STATUS HubStatus; + USB_HUB_CHANGE HubChange; + }; +} USB_HUB_STATUS_AND_CHANGE,*PUSB_HUB_STATUS_AND_CHANGE; + +typedef union _USB_20_PORT_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT CurrentConnectStatus:1; + USHORT PortEnabledDisabled:1; + USHORT Suspend:1; + USHORT OverCurrent:1; + USHORT Reset:1; + USHORT Reserved0:3; + USHORT PortPower:1; + USHORT LowSpeedDeviceAttached:1; + USHORT HighSpeedDeviceAttached:1; + USHORT PortTestMode:1; + USHORT PortIndicatorControl:1; + USHORT Reserved1:3; + }; +} USB_20_PORT_STATUS,*PUSB_20_PORT_STATUS; + +#define USB_PORT_STATUS_CONNECT 0x0001 +#define USB_PORT_STATUS_ENABLE 0x0002 +#define USB_PORT_STATUS_SUSPEND 0x0004 +#define USB_PORT_STATUS_OVER_CURRENT 0x0008 +#define USB_PORT_STATUS_RESET 0x0010 +#define USB_PORT_STATUS_POWER 0x0100 +#define USB_PORT_STATUS_LOW_SPEED 0x0200 +#define USB_PORT_STATUS_HIGH_SPEED 0x0400 + +typedef union _USB_20_PORT_CHANGE { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT ConnectStatusChange:1; + USHORT PortEnableDisableChange:1; + USHORT SuspendChange:1; + USHORT OverCurrentIndicatorChange:1; + USHORT ResetChange:1; + USHORT Reserved2:11; + }; +} USB_20_PORT_CHANGE,*PUSB_20_PORT_CHANGE; + +typedef union _USB_30_PORT_STATUS { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT CurrentConnectStatus:1; + USHORT PortEnabledDisabled:1; + USHORT Reserved0:1; + USHORT OverCurrent:1; + USHORT Reset:1; + USHORT PortLinkState:4; + USHORT PortPower:1; + USHORT NegotiatedDeviceSpeed:3; + USHORT Reserved1:3; + }; +} USB_30_PORT_STATUS,*PUSB_30_PORT_STATUS; + +#define PORT_LINK_STATE_U0 0 +#define PORT_LINK_STATE_U1 1 +#define PORT_LINK_STATE_U2 2 +#define PORT_LINK_STATE_U3 3 +#define PORT_LINK_STATE_DISABLED 4 +#define PORT_LINK_STATE_RX_DETECT 5 +#define PORT_LINK_STATE_INACTIVE 6 +#define PORT_LINK_STATE_POLLING 7 +#define PORT_LINK_STATE_RECOVERY 8 +#define PORT_LINK_STATE_HOT_RESET 9 +#define PORT_LINK_STATE_COMPLIANCE_MODE 10 +#define PORT_LINK_STATE_LOOPBACK 11 +#define PORT_LINK_STATE_TEST_MODE 11 + +typedef union _USB_30_PORT_CHANGE { + USHORT AsUshort16; + __C89_NAMELESS struct { + USHORT ConnectStatusChange:1; + USHORT Reserved2:2; + USHORT OverCurrentIndicatorChange:1; + USHORT ResetChange:1; + USHORT BHResetChange:1; + USHORT PortLinkStateChange:1; + USHORT PortConfigErrorChange:1; + USHORT Reserved3:8; + }; +} USB_30_PORT_CHANGE,*PUSB_30_PORT_CHANGE; + +typedef union _USB_PORT_STATUS { + USHORT AsUshort16; + USB_20_PORT_STATUS Usb20PortStatus; + USB_30_PORT_STATUS Usb30PortStatus; +} USB_PORT_STATUS,*PUSB_PORT_STATUS; + +typedef union _USB_PORT_CHANGE { + USHORT AsUshort16; + USB_20_PORT_CHANGE Usb20PortChange; + USB_30_PORT_CHANGE Usb30PortChange; +} USB_PORT_CHANGE,*PUSB_PORT_CHANGE; + +typedef union _USB_PORT_EXT_STATUS { + ULONG AsUlong32; + __C89_NAMELESS struct { + ULONG RxSublinkSpeedID:4; + ULONG TxSublinkSpeedID:4; + ULONG RxLaneCount:4; + ULONG TxLaneCount:4; + ULONG Reserved:16; + }; +} USB_PORT_EXT_STATUS,*PUSB_PORT_EXT_STATUS; + +typedef union _USB_PORT_STATUS_AND_CHANGE { + ULONG AsUlong32; + __C89_NAMELESS struct { + USB_PORT_STATUS PortStatus; + USB_PORT_CHANGE PortChange; + }; +} USB_PORT_STATUS_AND_CHANGE,*PUSB_PORT_STATUS_AND_CHANGE; + +typedef union _USB_PORT_EXT_STATUS_AND_CHANGE { + ULONG64 AsUlong64; + __C89_NAMELESS struct { + USB_PORT_STATUS_AND_CHANGE PortStatusChange; + USB_PORT_EXT_STATUS PortExtStatus; + }; +} USB_PORT_EXT_STATUS_AND_CHANGE,*PUSB_PORT_EXT_STATUS_AND_CHANGE; + +typedef union _USB_HUB_30_PORT_REMOTE_WAKE_MASK { + UCHAR AsUchar8; + __C89_NAMELESS struct { + UCHAR ConnectRemoteWakeEnable:1; + UCHAR DisconnectRemoteWakeEnable:1; + UCHAR OverCurrentRemoteWakeEnable:1; + UCHAR Reserved0:5; + }; +} USB_HUB_30_PORT_REMOTE_WAKE_MASK,*PUSB_HUB_30_PORT_REMOTE_WAKE_MASK; + +typedef union _USB_FUNCTION_SUSPEND_OPTIONS { + UCHAR AsUchar; + __C89_NAMELESS struct { + UCHAR PowerState:1; + UCHAR RemoteWakeEnabled:1; + UCHAR Reserved:6; + }; +} USB_FUNCTION_SUSPEND_OPTIONS,*PUSB_FUNCTION_SUSPEND_OPTIONS; + +#define USB_FEATURE_INTERFACE_POWER_D0 0x0002 +#define USB_FEATURE_INTERFACE_POWER_D1 0x0003 +#define USB_FEATURE_INTERFACE_POWER_D2 0x0004 +#define USB_FEATURE_INTERFACE_POWER_D3 0x0005 + +#define USB_SUPPORT_D0_COMMAND 0x01 +#define USB_SUPPORT_D1_COMMAND 0x02 +#define USB_SUPPORT_D2_COMMAND 0x04 +#define USB_SUPPORT_D3_COMMAND 0x08 +#define USB_SUPPORT_D1_WAKEUP 0x10 +#define USB_SUPPORT_D2_WAKEUP 0x20 + +typedef struct _USB_CONFIGURATION_POWER_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR SelfPowerConsumedD0[3]; + UCHAR bPowerSummaryId; + UCHAR bBusPowerSavingD1; + UCHAR bSelfPowerSavingD1; + UCHAR bBusPowerSavingD2; + UCHAR bSelfPowerSavingD2; + UCHAR bBusPowerSavingD3; + UCHAR bSelfPowerSavingD3; + USHORT TransitionTimeFromD1; + USHORT TransitionTimeFromD2; + USHORT TransitionTimeFromD3; +} USB_CONFIGURATION_POWER_DESCRIPTOR,*PUSB_CONFIGURATION_POWER_DESCRIPTOR; + +typedef struct _USB_INTERFACE_POWER_DESCRIPTOR { + UCHAR bLength; + UCHAR bDescriptorType; + UCHAR bmCapabilitiesFlags; + UCHAR bBusPowerSavingD1; + UCHAR bSelfPowerSavingD1; + UCHAR bBusPowerSavingD2; + UCHAR bSelfPowerSavingD2; + UCHAR bBusPowerSavingD3; + UCHAR bSelfPowerSavingD3; + USHORT TransitionTimeFromD1; + USHORT TransitionTimeFromD2; + USHORT TransitionTimeFromD3; +} USB_INTERFACE_POWER_DESCRIPTOR,*PUSB_INTERFACE_POWER_DESCRIPTOR; + +#include + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbuser.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbuser.h new file mode 100644 index 00000000..a48d29e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usbuser.h @@ -0,0 +1,345 @@ +/** + * usbuser.h + * + * USB user mode IOCTL interface + * + * 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 based on the ReactOS PSDK file usbuser.h. + * Original contributed by Casper S. Hornstrup + */ + +#ifndef __USBUSER_H__ +#define __USBUSER_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include "usbiodef.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define USBUSER_VERSION 0x00000004 + +#define IOCTL_USB_USER_REQUEST USB_CTL (HCD_USER_REQUEST) + +#ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON +#define IOCTL_USB_DIAGNOSTIC_MODE_ON USB_CTL (HCD_DIAGNOSTIC_MODE_ON) +#endif +#ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF +#define IOCTL_USB_DIAGNOSTIC_MODE_OFF USB_CTL (HCD_DIAGNOSTIC_MODE_OFF) +#endif + +#ifndef IOCTL_USB_GET_ROOT_HUB_NAME +#define IOCTL_USB_GET_ROOT_HUB_NAME USB_CTL (HCD_GET_ROOT_HUB_NAME) +#endif +#ifndef IOCTL_GET_HCD_DRIVERKEY_NAME +#define IOCTL_GET_HCD_DRIVERKEY_NAME USB_CTL (HCD_GET_DRIVERKEY_NAME) +#endif + +typedef enum _USB_USER_ERROR_CODE { + UsbUserSuccess = 0, + UsbUserNotSupported, + UsbUserInvalidRequestCode, + UsbUserFeatureDisabled, + UsbUserInvalidHeaderParameter, + UsbUserInvalidParameter, + UsbUserMiniportError, + UsbUserBufferTooSmall, + UsbUserErrorNotMapped, + UsbUserDeviceNotStarted, + UsbUserNoDeviceConnected +} USB_USER_ERROR_CODE; + +#define USBUSER_GET_CONTROLLER_INFO_0 0x00000001 +#define USBUSER_GET_CONTROLLER_DRIVER_KEY 0x00000002 +#define USBUSER_PASS_THRU 0x00000003 +#define USBUSER_GET_POWER_STATE_MAP 0x00000004 +#define USBUSER_GET_BANDWIDTH_INFORMATION 0x00000005 +#define USBUSER_GET_BUS_STATISTICS_0 0x00000006 +#define USBUSER_GET_ROOTHUB_SYMBOLIC_NAME 0x00000007 +#define USBUSER_GET_USB_DRIVER_VERSION 0x00000008 +#define USBUSER_GET_USB2_HW_VERSION 0x00000009 +#define USBUSER_USB_REFRESH_HCT_REG 0x0000000a + +#define USBUSER_OP_SEND_ONE_PACKET 0x10000001 + +#define USBUSER_OP_RAW_RESET_PORT 0x20000001 +#define USBUSER_OP_OPEN_RAW_DEVICE 0x20000002 +#define USBUSER_OP_CLOSE_RAW_DEVICE 0x20000003 +#define USBUSER_OP_SEND_RAW_COMMAND 0x20000004 +#define USBUSER_SET_ROOTPORT_FEATURE 0x20000005 +#define USBUSER_CLEAR_ROOTPORT_FEATURE 0x20000006 +#define USBUSER_GET_ROOTPORT_STATUS 0x20000007 + +#define USBUSER_INVALID_REQUEST 0xfffffff0 + +#define USBUSER_OP_MASK_DEVONLY_API 0x10000000 +#define USBUSER_OP_MASK_HCTEST_API 0x20000000 + +#define USB_PACKETFLAG_LOW_SPEED 0x00000001 +#define USB_PACKETFLAG_FULL_SPEED 0x00000002 +#define USB_PACKETFLAG_HIGH_SPEED 0x00000004 +#define USB_PACKETFLAG_ASYNC_IN 0x00000008 +#define USB_PACKETFLAG_ASYNC_OUT 0x00000010 +#define USB_PACKETFLAG_ISO_IN 0x00000020 +#define USB_PACKETFLAG_ISO_OUT 0x00000040 +#define USB_PACKETFLAG_SETUP 0x00000080 +#define USB_PACKETFLAG_TOGGLE0 0x00000100 +#define USB_PACKETFLAG_TOGGLE1 0x00000200 + +typedef struct _USBUSER_REQUEST_HEADER { + ULONG UsbUserRequest; + USB_USER_ERROR_CODE UsbUserStatusCode; + ULONG RequestBufferLength; + ULONG ActualBufferLength; +} USBUSER_REQUEST_HEADER, *PUSBUSER_REQUEST_HEADER; + +typedef struct _PACKET_PARAMETERS { + UCHAR DeviceAddress; + UCHAR EndpointAddress; + USHORT MaximumPacketSize; + ULONG Timeout; + ULONG Flags; + ULONG DataLength; + USHORT HubDeviceAddress; + USHORT PortTTNumber; + UCHAR ErrorCount; + UCHAR Pad[3]; + USBD_STATUS UsbdStatusCode; + UCHAR Data[4]; +} PACKET_PARAMETERS, *PPACKET_PARAMETERS; + +typedef struct _USBUSER_SEND_ONE_PACKET { + USBUSER_REQUEST_HEADER Header; + PACKET_PARAMETERS PacketParameters; +} USBUSER_SEND_ONE_PACKET, *PUSBUSER_SEND_ONE_PACKET; + +typedef struct _RAW_RESET_PORT_PARAMETERS { + USHORT PortNumber; + USHORT PortStatus; +} RAW_RESET_PORT_PARAMETERS, *PRAW_RESET_PORT_PARAMETERS; + +typedef struct _USBUSER_RAW_RESET_ROOT_PORT { + USBUSER_REQUEST_HEADER Header; + RAW_RESET_PORT_PARAMETERS Parameters; +} USBUSER_RAW_RESET_ROOT_PORT, *PUSBUSER_RAW_RESET_ROOT_PORT; + +typedef struct _RAW_ROOTPORT_FEATURE { + USHORT PortNumber; + USHORT PortFeature; + USHORT PortStatus; +} RAW_ROOTPORT_FEATURE, *PRAW_ROOTPORT_FEATURE; + +typedef struct _USBUSER_ROOTPORT_FEATURE_REQUEST { + USBUSER_REQUEST_HEADER Header; + RAW_ROOTPORT_FEATURE Parameters; +} USBUSER_ROOTPORT_FEATURE_REQUEST, *PUSBUSER_ROOTPORT_FEATURE_REQUEST; + +typedef struct _RAW_ROOTPORT_PARAMETERS { + USHORT PortNumber; + USHORT PortStatus; +} RAW_ROOTPORT_PARAMETERS, *PRAW_ROOTPORT_PARAMETERS; + +typedef struct _USBUSER_ROOTPORT_PARAMETERS { + USBUSER_REQUEST_HEADER Header; + RAW_ROOTPORT_PARAMETERS Parameters; +} USBUSER_ROOTPORT_PARAMETERS, *PUSBUSER_ROOTPORT_PARAMETERS; + +#define USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING 0x00000001 +#define USB_HC_FEATURE_FLAG_SEL_SUSPEND 0x00000002 +#define USB_HC_FEATURE_LEGACY_BIOS 0x00000004 + +typedef struct _USB_CONTROLLER_INFO_0 { + ULONG PciVendorId; + ULONG PciDeviceId; + ULONG PciRevision; + ULONG NumberOfRootPorts; + USB_CONTROLLER_FLAVOR ControllerFlavor; + ULONG HcFeatureFlags; +} USB_CONTROLLER_INFO_0, *PUSB_CONTROLLER_INFO_0; + +typedef struct _USBUSER_CONTROLLER_INFO_0 { + USBUSER_REQUEST_HEADER Header; + USB_CONTROLLER_INFO_0 Info0; +} USBUSER_CONTROLLER_INFO_0, *PUSBUSER_CONTROLLER_INFO_0; + +typedef struct _USB_UNICODE_NAME { + ULONG Length; + WCHAR String[1]; +} USB_UNICODE_NAME, *PUSB_UNICODE_NAME; + +typedef struct _USBUSER_CONTROLLER_UNICODE_NAME { + USBUSER_REQUEST_HEADER Header; + USB_UNICODE_NAME UnicodeName; +} USBUSER_CONTROLLER_UNICODE_NAME, *PUSBUSER_CONTROLLER_UNICODE_NAME; + +typedef struct _USB_PASS_THRU_PARAMETERS { + GUID FunctionGUID; + ULONG ParameterLength; + UCHAR Parameters[4]; +} USB_PASS_THRU_PARAMETERS, *PUSB_PASS_THRU_PARAMETERS; + +typedef struct _USBUSER_PASS_THRU_REQUEST { + USBUSER_REQUEST_HEADER Header; + USB_PASS_THRU_PARAMETERS PassThru; +} USBUSER_PASS_THRU_REQUEST, *PUSBUSER_PASS_THRU_REQUEST; + +typedef enum _WDMUSB_POWER_STATE { + WdmUsbPowerNotMapped = 0, + WdmUsbPowerSystemUnspecified = 100, + WdmUsbPowerSystemWorking, + WdmUsbPowerSystemSleeping1, + WdmUsbPowerSystemSleeping2, + WdmUsbPowerSystemSleeping3, + WdmUsbPowerSystemHibernate, + WdmUsbPowerSystemShutdown, + WdmUsbPowerDeviceUnspecified = 200, + WdmUsbPowerDeviceD0, + WdmUsbPowerDeviceD1, + WdmUsbPowerDeviceD2, + WdmUsbPowerDeviceD3 +} WDMUSB_POWER_STATE; + +typedef struct _USB_POWER_INFO { + WDMUSB_POWER_STATE SystemState; + WDMUSB_POWER_STATE HcDevicePowerState; + WDMUSB_POWER_STATE HcDeviceWake; + WDMUSB_POWER_STATE HcSystemWake; + WDMUSB_POWER_STATE RhDevicePowerState; + WDMUSB_POWER_STATE RhDeviceWake; + WDMUSB_POWER_STATE RhSystemWake; + WDMUSB_POWER_STATE LastSystemSleepState; + BOOLEAN CanWakeup; + BOOLEAN IsPowered; +} USB_POWER_INFO, *PUSB_POWER_INFO; + +typedef struct _USBUSER_POWER_INFO_REQUEST { + USBUSER_REQUEST_HEADER Header; + USB_POWER_INFO PowerInformation; +} USBUSER_POWER_INFO_REQUEST, *PUSBUSER_POWER_INFO_REQUEST; + +typedef struct _USB_OPEN_RAW_DEVICE_PARAMETERS { + USHORT PortStatus; + USHORT MaxPacketEp0; +} USB_OPEN_RAW_DEVICE_PARAMETERS, *PUSB_OPEN_RAW_DEVICE_PARAMETERS; + +typedef struct _USBUSER_OPEN_RAW_DEVICE { + USBUSER_REQUEST_HEADER Header; + USB_OPEN_RAW_DEVICE_PARAMETERS Parameters; +} USBUSER_OPEN_RAW_DEVICE, *PUSBUSER_OPEN_RAW_DEVICE; + +typedef struct _USB_CLOSE_RAW_DEVICE_PARAMETERS { + ULONG xxx; +} USB_CLOSE_RAW_DEVICE_PARAMETERS, *PUSB_CLOSE_RAW_DEVICE_PARAMETERS; + +typedef struct _USBUSER_CLOSE_RAW_DEVICE { + USBUSER_REQUEST_HEADER Header; + USB_CLOSE_RAW_DEVICE_PARAMETERS Parameters; +} USBUSER_CLOSE_RAW_DEVICE, *PUSBUSER_CLOSE_RAW_DEVICE; + +typedef struct _USB_SEND_RAW_COMMAND_PARAMETERS { + UCHAR Usb_bmRequest; + UCHAR Usb_bRequest; + USHORT Usb_wVlaue; + USHORT Usb_wIndex; + USHORT Usb_wLength; + USHORT DeviceAddress; + USHORT MaximumPacketSize; + ULONG Timeout; + ULONG DataLength; + USBD_STATUS UsbdStatusCode; + UCHAR Data[4]; +} USB_SEND_RAW_COMMAND_PARAMETERS, *PUSB_SEND_RAW_COMMAND_PARAMETERS; + +typedef struct _USBUSER_SEND_RAW_COMMAND { + USBUSER_REQUEST_HEADER Header; + USB_SEND_RAW_COMMAND_PARAMETERS Parameters; +} USBUSER_SEND_RAW_COMMAND, *PUSBUSER_SEND_RAW_COMMAND; + +typedef struct _USB_BANDWIDTH_INFO { + ULONG DeviceCount; + ULONG TotalBusBandwidth; + ULONG Total32secBandwidth; + ULONG AllocedBulkAndControl; + ULONG AllocedIso; + ULONG AllocedInterrupt_1ms; + ULONG AllocedInterrupt_2ms; + ULONG AllocedInterrupt_4ms; + ULONG AllocedInterrupt_8ms; + ULONG AllocedInterrupt_16ms; + ULONG AllocedInterrupt_32ms; +} USB_BANDWIDTH_INFO, *PUSB_BANDWIDTH_INFO; + +typedef struct _USBUSER_BANDWIDTH_INFO_REQUEST { + USBUSER_REQUEST_HEADER Header; + USB_BANDWIDTH_INFO BandwidthInformation; +} USBUSER_BANDWIDTH_INFO_REQUEST, *PUSBUSER_BANDWIDTH_INFO_REQUEST; + +typedef struct _USB_BUS_STATISTICS_0 { + ULONG DeviceCount; + LARGE_INTEGER CurrentSystemTime; + ULONG CurrentUsbFrame; + ULONG BulkBytes; + ULONG IsoBytes; + ULONG InterruptBytes; + ULONG ControlDataBytes; + ULONG PciInterruptCount; + ULONG HardResetCount; + ULONG WorkerSignalCount; + ULONG CommonBufferBytes; + ULONG WorkerIdleTimeMs; + BOOLEAN RootHubEnabled; + UCHAR RootHubDevicePowerState; + UCHAR Unused; + UCHAR NameIndex; +} USB_BUS_STATISTICS_0, *PUSB_BUS_STATISTICS_0; + +typedef struct _USBUSER_BUS_STATISTICS_0_REQUEST { + USBUSER_REQUEST_HEADER Header; + USB_BUS_STATISTICS_0 BusStatistics0; +} USBUSER_BUS_STATISTICS_0_REQUEST, *PUSBUSER_BUS_STATISTICS_0_REQUEST; + +typedef struct _USB_DRIVER_VERSION_PARAMETERS { + ULONG DriverTrackingCode; + ULONG USBDI_Version; + ULONG USBUSER_Version; + BOOLEAN CheckedPortDriver; + BOOLEAN CheckedMiniportDriver; + USHORT USB_Version; +} USB_DRIVER_VERSION_PARAMETERS, *PUSB_DRIVER_VERSION_PARAMETERS; + +typedef struct _USBUSER_GET_DRIVER_VERSION { + USBUSER_REQUEST_HEADER Header; + USB_DRIVER_VERSION_PARAMETERS Parameters; +} USBUSER_GET_DRIVER_VERSION, *PUSBUSER_GET_DRIVER_VERSION; + +typedef struct _USB_USB2HW_VERSION_PARAMETERS { + UCHAR Usb2HwRevision; +} USB_USB2HW_VERSION_PARAMETERS, *PUSB_USB2HW_VERSION_PARAMETERS; + +typedef struct _USBUSER_GET_USB2HW_VERSION { + USBUSER_REQUEST_HEADER Header; + USB_USB2HW_VERSION_PARAMETERS Parameters; +} USBUSER_GET_USB2HW_VERSION, *PUSBUSER_GET_USB2HW_VERSION; + +typedef struct _USBUSER_REFRESH_HCT_REG { + USBUSER_REQUEST_HEADER Header; + ULONG Flags; +} USBUSER_REFRESH_HCT_REG, *PUSBUSER_REFRESH_HCT_REG; + +#include + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/userenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/userenv.h new file mode 100644 index 00000000..ce2a67d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/userenv.h @@ -0,0 +1,247 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_USERENV +#define _INC_USERENV + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include <_mingw_unicode.h> +#include + +#if !defined (_USERENV_) +#define USERENVAPI DECLSPEC_IMPORT +#else +#define USERENVAPI +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define PI_NOUI 0x00000001 +#define PI_APPLYPOLICY 0x00000002 + +#define PT_TEMPORARY 0x00000001 +#define PT_ROAMING 0x00000002 +#define PT_MANDATORY 0x00000004 + +#define RP_FORCE 1 +#define RP_SYNC 2 + +#define GPC_BLOCK_POLICY 0x00000001 + +#define GPO_FLAG_DISABLE 0x00000001 +#define GPO_FLAG_FORCE 0x00000002 + +#define LoadUserProfile __MINGW_NAME_AW(LoadUserProfile) +#define GetProfilesDirectory __MINGW_NAME_AW(GetProfilesDirectory) +#define DeleteProfile __MINGW_NAME_AW(DeleteProfile) +#define GetDefaultUserProfileDirectory __MINGW_NAME_AW(GetDefaultUserProfileDirectory) +#define GetAllUsersProfileDirectory __MINGW_NAME_AW(GetAllUsersProfileDirectory) +#define GetUserProfileDirectory __MINGW_NAME_AW(GetUserProfileDirectory) +#define ExpandEnvironmentStringsForUser __MINGW_NAME_AW(ExpandEnvironmentStringsForUser) + + USERENVAPI WINBOOL WINAPI LoadUserProfileA (HANDLE hToken, LPPROFILEINFOA lpProfileInfo); + USERENVAPI WINBOOL WINAPI LoadUserProfileW (HANDLE hToken, LPPROFILEINFOW lpProfileInfo); + USERENVAPI WINBOOL WINAPI UnloadUserProfile (HANDLE hToken, HANDLE hProfile); + USERENVAPI WINBOOL WINAPI GetProfilesDirectoryA (LPSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetProfilesDirectoryW (LPWSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetProfileType (DWORD *dwFlags); + USERENVAPI WINBOOL WINAPI DeleteProfileA (LPCSTR lpSidString, LPCSTR lpProfilePath, LPCSTR lpComputerName); + USERENVAPI WINBOOL WINAPI DeleteProfileW (LPCWSTR lpSidString, LPCWSTR lpProfilePath, LPCWSTR lpComputerName); + USERENVAPI WINBOOL WINAPI GetDefaultUserProfileDirectoryA (LPSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetDefaultUserProfileDirectoryW (LPWSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetAllUsersProfileDirectoryA (LPSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetAllUsersProfileDirectoryW (LPWSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetUserProfileDirectoryA (HANDLE hToken, LPSTR lpProfileDir, LPDWORD lpcchSize); + USERENVAPI WINBOOL WINAPI GetUserProfileDirectoryW (HANDLE hToken, LPWSTR lpProfileDir, LPDWORD lpcchSize); + WINBOOL WINAPI CreateEnvironmentBlock (LPVOID *lpEnvironment, HANDLE hToken, WINBOOL bInherit); + WINBOOL WINAPI DestroyEnvironmentBlock (LPVOID lpEnvironment); + USERENVAPI WINBOOL WINAPI ExpandEnvironmentStringsForUserA (HANDLE hToken, LPCSTR lpSrc, LPSTR lpDest, DWORD dwSize); + USERENVAPI WINBOOL WINAPI ExpandEnvironmentStringsForUserW (HANDLE hToken, LPCWSTR lpSrc, LPWSTR lpDest, DWORD dwSize); + USERENVAPI WINBOOL WINAPI RefreshPolicy (WINBOOL bMachine); + USERENVAPI WINBOOL WINAPI RefreshPolicyEx (WINBOOL bMachine, DWORD dwOptions); + USERENVAPI HANDLE WINAPI EnterCriticalPolicySection (WINBOOL bMachine); + USERENVAPI WINBOOL WINAPI LeaveCriticalPolicySection (HANDLE hSection); + USERENVAPI WINBOOL WINAPI RegisterGPNotification (HANDLE hEvent, WINBOOL bMachine); + USERENVAPI WINBOOL WINAPI UnregisterGPNotification (HANDLE hEvent); +#if WINVER >= 0x0600 + USERENVAPI HRESULT WINAPI CreateProfile (LPCWSTR pszUserSid, LPCWSTR pszUserName, LPWSTR pszProfilePath, DWORD cchProfilePath); +#endif + + typedef enum _GPO_LINK { + GPLinkUnknown = 0, + GPLinkMachine, + GPLinkSite, + GPLinkDomain, + GPLinkOrganizationalUnit + } GPO_LINK, *PGPO_LINK; + + typedef struct _GROUP_POLICY_OBJECTA { + DWORD dwOptions; + DWORD dwVersion; + LPSTR lpDSPath; + LPSTR lpFileSysPath; + LPSTR lpDisplayName; + CHAR szGPOName[50]; + GPO_LINK GPOLink; + LPARAM lParam; + struct _GROUP_POLICY_OBJECTA *pNext; + struct _GROUP_POLICY_OBJECTA *pPrev; + LPSTR lpExtensions; + LPARAM lParam2; + LPSTR lpLink; + } GROUP_POLICY_OBJECTA, *PGROUP_POLICY_OBJECTA; + + typedef struct _GROUP_POLICY_OBJECTW { + DWORD dwOptions; + DWORD dwVersion; + LPWSTR lpDSPath; + LPWSTR lpFileSysPath; + LPWSTR lpDisplayName; + WCHAR szGPOName[50]; + GPO_LINK GPOLink; + LPARAM lParam; + struct _GROUP_POLICY_OBJECTW *pNext; + struct _GROUP_POLICY_OBJECTW *pPrev; + LPWSTR lpExtensions; + LPARAM lParam2; + LPWSTR lpLink; + } GROUP_POLICY_OBJECTW,*PGROUP_POLICY_OBJECTW; + + __MINGW_TYPEDEF_AW(GROUP_POLICY_OBJECT) + __MINGW_TYPEDEF_AW(PGROUP_POLICY_OBJECT) + +#define GPO_LIST_FLAG_MACHINE 0x00000001 +#define GPO_LIST_FLAG_SITEONLY 0x00000002 +#define GPO_LIST_FLAG_NO_WMIFILTERS 0x00000004 +#define GPO_LIST_FLAG_NO_SECURITYFILTERS 0x00000008 + +#define GetGPOList __MINGW_NAME_AW(GetGPOList) +#define FreeGPOList __MINGW_NAME_AW(FreeGPOList) +#define GetAppliedGPOList __MINGW_NAME_AW(GetAppliedGPOList) + + USERENVAPI WINBOOL WINAPI GetGPOListA (HANDLE hToken, LPCSTR lpName, LPCSTR lpHostName, LPCSTR lpComputerName, DWORD dwFlags, PGROUP_POLICY_OBJECTA *pGPOList); + USERENVAPI WINBOOL WINAPI GetGPOListW (HANDLE hToken, LPCWSTR lpName, LPCWSTR lpHostName, LPCWSTR lpComputerName, DWORD dwFlags, PGROUP_POLICY_OBJECTW *pGPOList); + USERENVAPI WINBOOL WINAPI FreeGPOListA (PGROUP_POLICY_OBJECTA pGPOList); + USERENVAPI WINBOOL WINAPI FreeGPOListW (PGROUP_POLICY_OBJECTW pGPOList); + USERENVAPI DWORD WINAPI GetAppliedGPOListA (DWORD dwFlags, LPCSTR pMachineName, PSID pSidUser, GUID *pGuidExtension, PGROUP_POLICY_OBJECTA *ppGPOList); + USERENVAPI DWORD WINAPI GetAppliedGPOListW (DWORD dwFlags, LPCWSTR pMachineName, PSID pSidUser, GUID *pGuidExtension, PGROUP_POLICY_OBJECTW *ppGPOList); + +#define GP_DLLNAME TEXT ("DllName") +#define GP_ENABLEASYNCHRONOUSPROCESSING TEXT ("EnableAsynchronousProcessing") +#define GP_MAXNOGPOLISTCHANGESINTERVAL TEXT ("MaxNoGPOListChangesInterval") +#define GP_NOBACKGROUNDPOLICY TEXT ("NoBackgroundPolicy") +#define GP_NOGPOLISTCHANGES TEXT ("NoGPOListChanges") +#define GP_NOMACHINEPOLICY TEXT ("NoMachinePolicy") +#define GP_NOSLOWLINK TEXT ("NoSlowLink") +#define GP_NOTIFYLINKTRANSITION TEXT ("NotifyLinkTransition") +#define GP_NOUSERPOLICY TEXT ("NoUserPolicy") +#define GP_PERUSERLOCALSETTINGS TEXT ("PerUserLocalSettings") +#define GP_PROCESSGROUPPOLICY TEXT ("ProcessGroupPolicy") +#define GP_REQUIRESSUCCESSFULREGISTRY TEXT ("RequiresSuccessfulRegistry") + +#define GPO_INFO_FLAG_MACHINE 0x00000001 +#define GPO_INFO_FLAG_BACKGROUND 0x00000010 +#define GPO_INFO_FLAG_SLOWLINK 0x00000020 +#define GPO_INFO_FLAG_VERBOSE 0x00000040 +#define GPO_INFO_FLAG_NOCHANGES 0x00000080 +#define GPO_INFO_FLAG_LINKTRANSITION 0x00000100 +#define GPO_INFO_FLAG_LOGRSOP_TRANSITION 0x00000200 +#define GPO_INFO_FLAG_FORCED_REFRESH 0x00000400 +#define GPO_INFO_FLAG_SAFEMODE_BOOT 0x00000800 +#define GPO_INFO_FLAG_ASYNC_FOREGROUND 0x00001000 + + typedef UINT_PTR ASYNCCOMPLETIONHANDLE; + typedef DWORD (*PFNSTATUSMESSAGECALLBACK) (WINBOOL bVerbose, LPWSTR lpMessage); + typedef DWORD (*PFNPROCESSGROUPPOLICY) (DWORD dwFlags, HANDLE hToken, HKEY hKeyRoot, PGROUP_POLICY_OBJECT pDeletedGPOList, PGROUP_POLICY_OBJECT pChangedGPOList, ASYNCCOMPLETIONHANDLE pHandle, WINBOOL *pbAbort, PFNSTATUSMESSAGECALLBACK pStatusCallback); + typedef DWORD (*PFNPROCESSGROUPPOLICYEX) (DWORD dwFlags, HANDLE hToken, HKEY hKeyRoot, PGROUP_POLICY_OBJECT pDeletedGPOList, PGROUP_POLICY_OBJECT pChangedGPOList, ASYNCCOMPLETIONHANDLE pHandle, WINBOOL *pbAbort, PFNSTATUSMESSAGECALLBACK pStatusCallback, IWbemServices *pWbemServices, HRESULT *pRsopStatus); + typedef PVOID PRSOPTOKEN; + + typedef struct _RSOP_TARGET { + WCHAR *pwszAccountName; + WCHAR *pwszNewSOM; + SAFEARRAY *psaSecurityGroups; + PRSOPTOKEN pRsopToken; + PGROUP_POLICY_OBJECT pGPOList; + IWbemServices *pWbemServices; + } RSOP_TARGET, *PRSOP_TARGET; + + typedef DWORD (*PFNGENERATEGROUPPOLICY) (DWORD dwFlags, WINBOOL *pbAbort, WCHAR *pwszSite, PRSOP_TARGET pComputerTarget, PRSOP_TARGET pUserTarget); + +#define REGISTRY_EXTENSION_GUID { 0x35378eac, 0x683f, 0x11d2, 0xa8, 0x9a, 0x00, 0xc0, 0x4f, 0xbb, 0xcf, 0xa2 } + +#define GROUP_POLICY_TRIGGER_EVENT_PROVIDER_GUID { 0xbd2f4252, 0x5e1e, 0x49fc, 0x9a, 0x30, 0xf3, 0x97, 0x8a, 0xd8, 0x9e, 0xe2 } +#define MACHINE_POLICY_PRESENT_TRIGGER_GUID { 0x659fcae6, 0x5bdb, 0x4da9, 0xb1, 0xff, 0xca, 0x2a, 0x17, 0x8d, 0x46, 0xe0 } +#define USER_POLICY_PRESENT_TRIGGER_GUID { 0x54fb46c8, 0xf089, 0x464c, 0xb1, 0xfd, 0x59, 0xd1, 0xb6, 0x2c, 0x3b, 0x50 } + + typedef GUID *REFGPEXTENSIONID; + + USERENVAPI DWORD WINAPI ProcessGroupPolicyCompleted (REFGPEXTENSIONID extensionId, ASYNCCOMPLETIONHANDLE pAsyncHandle, DWORD dwStatus); + USERENVAPI DWORD WINAPI ProcessGroupPolicyCompletedEx (REFGPEXTENSIONID extensionId, ASYNCCOMPLETIONHANDLE pAsyncHandle, DWORD dwStatus, HRESULT RsopStatus); + USERENVAPI HRESULT WINAPI RsopAccessCheckByType (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pPrincipalSelfSid, PRSOPTOKEN pRsopToken, DWORD dwDesiredAccessMask, POBJECT_TYPE_LIST pObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING pGenericMapping, PPRIVILEGE_SET pPrivilegeSet, LPDWORD pdwPrivilegeSetLength, LPDWORD pdwGrantedAccessMask, LPBOOL pbAccessStatus); + USERENVAPI HRESULT WINAPI RsopFileAccessCheck (LPWSTR pszFileName, PRSOPTOKEN pRsopToken, DWORD dwDesiredAccessMask, LPDWORD pdwGrantedAccessMask, LPBOOL pbAccessStatus); + + typedef enum _SETTINGSTATUS { + RSOPUnspecified = 0, + RSOPApplied, + RSOPIgnored, + RSOPFailed, + RSOPSubsettingFailed + } SETTINGSTATUS; + + typedef struct _POLICYSETTINGSTATUSINFO { + LPWSTR szKey; + LPWSTR szEventSource; + LPWSTR szEventLogName; + DWORD dwEventID; + DWORD dwErrorCode; + SETTINGSTATUS status; + SYSTEMTIME timeLogged; + } POLICYSETTINGSTATUSINFO,*LPPOLICYSETTINGSTATUSINFO; + + USERENVAPI HRESULT WINAPI RsopSetPolicySettingStatus (DWORD dwFlags, IWbemServices *pServices, IWbemClassObject *pSettingInstance, DWORD nInfo, POLICYSETTINGSTATUSINFO *pStatus); + USERENVAPI HRESULT WINAPI RsopResetPolicySettingStatus (DWORD dwFlags, IWbemServices *pServices, IWbemClassObject *pSettingInstance); + +#define FLAG_NO_GPO_FILTER 0x80000000 +#define FLAG_NO_CSE_INVOKE 0x40000000 +#define FLAG_ASSUME_SLOW_LINK 0x20000000 +#define FLAG_LOOPBACK_MERGE 0x10000000 +#define FLAG_LOOPBACK_REPLACE 0x08000000 +#define FLAG_ASSUME_USER_WQLFILTER_TRUE 0x04000000 +#define FLAG_ASSUME_COMP_WQLFILTER_TRUE 0x02000000 +#define FLAG_PLANNING_MODE 0x01000000 + +#define FLAG_NO_USER 0x00000001 +#define FLAG_NO_COMPUTER 0x00000002 +#define FLAG_FORCE_CREATENAMESPACE 0x00000004 + +#define RSOP_USER_ACCESS_DENIED 0x00000001 +#define RSOP_COMPUTER_ACCESS_DENIED 0x00000002 +#define RSOP_TEMPNAMESPACE_EXISTS 0x00000004 + +#if WINVER >= 0x0600 + USERENVAPI DWORD WINAPI GenerateGPNotification (WINBOOL bMachine, LPCWSTR lpwszMgmtProduct, DWORD dwMgmtProductOptions); +#endif +#if WINVER >= 0x0602 + USERENVAPI HRESULT WINAPI CreateAppContainerProfile (PCWSTR pszAppContainerName, PCWSTR pszDisplayName, PCWSTR pszDescription, PSID_AND_ATTRIBUTES pCapabilities, DWORD dwCapabilityCount, PSID *ppSidAppContainerSid); + USERENVAPI HRESULT WINAPI DeleteAppContainerProfile (PCWSTR pszAppContainerName); + USERENVAPI HRESULT WINAPI GetAppContainerRegistryLocation (REGSAM desiredAccess, PHKEY phAppContainerKey); + USERENVAPI HRESULT WINAPI GetAppContainerFolderPath (PCWSTR pszAppContainerSid, PWSTR *ppszPath); + USERENVAPI HRESULT WINAPI DeriveAppContainerSidFromAppContainerName (PCWSTR pszAppContainerName, PSID *ppsidAppContainerSid); +#endif + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usp10.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usp10.h new file mode 100644 index 00000000..c276f480 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/usp10.h @@ -0,0 +1,272 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef __usp10__ +#define __usp10__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define USPBUILD 0400 +#define SCRIPT_UNDEFINED 0 + +#if !defined (UNISCRIBE_OPENTYPE) && (_WIN32_WINNT >= 0x0600) +#define UNISCRIBE_OPENTYPE 0x0100 +#endif + +#if UNISCRIBE_OPENTYPE >= 0x0100 +#define SCRIPT_TAG_UNKNOWN 0x00000000 +#endif + +#define USP_E_SCRIPT_NOT_IN_FONT MAKE_HRESULT (SEVERITY_ERROR, FACILITY_ITF, 0x200) + +#define SGCM_RTL 0x00000001 + +#define SSA_PASSWORD 0x00000001 +#define SSA_TAB 0x00000002 +#define SSA_CLIP 0x00000004 +#define SSA_FIT 0x00000008 +#define SSA_DZWG 0x00000010 +#define SSA_FALLBACK 0x00000020 +#define SSA_BREAK 0x00000040 +#define SSA_GLYPHS 0x00000080 +#define SSA_RTL 0x00000100 +#define SSA_GCP 0x00000200 +#define SSA_HOTKEY 0x00000400 +#define SSA_METAFILE 0x00000800 +#define SSA_LINK 0x00001000 +#define SSA_HIDEHOTKEY 0x00002000 +#define SSA_HOTKEYONLY 0x00002400 +#define SSA_FULLMEASURE 0x04000000 +#define SSA_LPKANSIFALLBACK 0x08000000 +#define SSA_PIDX 0x10000000 +#define SSA_LAYOUTRTL 0x20000000 +#define SSA_DONTGLYPH 0x40000000 +#define SSA_NOKASHIDA 0x80000000 + +#define SIC_COMPLEX 1 +#define SIC_ASCIIDIGIT 2 +#define SIC_NEUTRAL 4 + +#define SCRIPT_DIGITSUBSTITUTE_CONTEXT 0 +#define SCRIPT_DIGITSUBSTITUTE_NONE 1 +#define SCRIPT_DIGITSUBSTITUTE_NATIONAL 2 +#define SCRIPT_DIGITSUBSTITUTE_TRADITIONAL 3 + + typedef void *SCRIPT_CACHE; + typedef void *SCRIPT_STRING_ANALYSIS; +#if UNISCRIBE_OPENTYPE >= 0x0100 + typedef ULONG OPENTYPE_TAG; +#endif + + typedef struct tag_SCRIPT_CONTROL { + DWORD uDefaultLanguage :16; + DWORD fContextDigits :1; + DWORD fInvertPreBoundDir :1; + DWORD fInvertPostBoundDir :1; + DWORD fLinkStringBefore :1; + DWORD fLinkStringAfter :1; + DWORD fNeutralOverride :1; + DWORD fNumericOverride :1; + DWORD fLegacyBidiClass :1; + DWORD fMergeNeutralItems :1; + DWORD fUseStandardBidi :1; + DWORD fReserved :6; + } SCRIPT_CONTROL; + + typedef struct tag_SCRIPT_STATE { + WORD uBidiLevel :5; + WORD fOverrideDirection :1; + WORD fInhibitSymSwap :1; + WORD fCharShape :1; + WORD fDigitSubstitute :1; + WORD fInhibitLigate :1; + WORD fDisplayZWG :1; + WORD fArabicNumContext :1; + WORD fGcpClusters :1; + WORD fReserved :1; + WORD fEngineReserved :2; + } SCRIPT_STATE; + + typedef struct tag_SCRIPT_ANALYSIS { + WORD eScript :10; + WORD fRTL :1; + WORD fLayoutRTL :1; + WORD fLinkBefore :1; + WORD fLinkAfter :1; + WORD fLogicalOrder :1; + WORD fNoGlyphIndex :1; + SCRIPT_STATE s; + } SCRIPT_ANALYSIS; + + typedef struct tag_SCRIPT_ITEM { + int iCharPos; + SCRIPT_ANALYSIS a; + } SCRIPT_ITEM; + + typedef enum tag_SCRIPT_JUSTIFY { + SCRIPT_JUSTIFY_NONE = 0, + SCRIPT_JUSTIFY_ARABIC_BLANK = 1, + SCRIPT_JUSTIFY_CHARACTER = 2, + SCRIPT_JUSTIFY_RESERVED1 = 3, + SCRIPT_JUSTIFY_BLANK = 4, + SCRIPT_JUSTIFY_RESERVED2 = 5, + SCRIPT_JUSTIFY_RESERVED3 = 6, + SCRIPT_JUSTIFY_ARABIC_NORMAL = 7, + SCRIPT_JUSTIFY_ARABIC_KASHIDA = 8, + SCRIPT_JUSTIFY_ARABIC_ALEF = 9, + SCRIPT_JUSTIFY_ARABIC_HA = 10, + SCRIPT_JUSTIFY_ARABIC_RA = 11, + SCRIPT_JUSTIFY_ARABIC_BA = 12, + SCRIPT_JUSTIFY_ARABIC_BARA = 13, + SCRIPT_JUSTIFY_ARABIC_SEEN = 14, + SCRIPT_JUSTIFY_ARABIC_SEEN_M = 15, + } SCRIPT_JUSTIFY; + + typedef struct tag_SCRIPT_VISATTR { + WORD uJustification :4; + WORD fClusterStart :1; + WORD fDiacritic :1; + WORD fZeroWidth :1; + WORD fReserved :1; + WORD fShapeReserved :8; + } SCRIPT_VISATTR; + +#ifndef LSDEFS_DEFINED + typedef struct tagGOFFSET { + LONG du; + LONG dv; + } GOFFSET; +#endif + + typedef struct tag_SCRIPT_LOGATTR { + BYTE fSoftBreak :1; + BYTE fWhiteSpace :1; + BYTE fCharStop :1; + BYTE fWordStop :1; + BYTE fInvalid :1; + BYTE fReserved :3; + } SCRIPT_LOGATTR; + + typedef struct { + DWORD langid :16; + DWORD fNumeric :1; + DWORD fComplex :1; + DWORD fNeedsWordBreaking :1; + DWORD fNeedsCaretInfo :1; + DWORD bCharSet :8; + DWORD fControl :1; + DWORD fPrivateUseArea :1; + DWORD fNeedsCharacterJustify :1; + DWORD fInvalidGlyph :1; + DWORD fInvalidLogAttr :1; + DWORD fCDM :1; + DWORD fAmbiguousCharSet :1; + DWORD fClusterSizeVaries :1; + DWORD fRejectInvalid :1; + } SCRIPT_PROPERTIES; + + typedef struct { + int cBytes; + WORD wgBlank; + WORD wgDefault; + WORD wgInvalid; + WORD wgKashida; + int iKashidaWidth; + } SCRIPT_FONTPROPERTIES; + + typedef struct tag_SCRIPT_TABDEF { + int cTabStops; + int iScale; + int *pTabStops; + int iTabOrigin; + } SCRIPT_TABDEF; + + typedef struct tag_SCRIPT_DIGITSUBSTITUTE { + DWORD NationalDigitLanguage :16; + DWORD TraditionalDigitLanguage :16; + DWORD DigitSubstitute :8; + DWORD dwReserved; + } SCRIPT_DIGITSUBSTITUTE; + +#if UNISCRIBE_OPENTYPE >= 0x0100 + typedef struct opentype_feature_record { + OPENTYPE_TAG tagFeature; + LONG lParameter; + } OPENTYPE_FEATURE_RECORD; + + typedef struct textrange_properties { + OPENTYPE_FEATURE_RECORD *potfRecords; + int cotfRecords; + } TEXTRANGE_PROPERTIES; + + typedef struct script_charprop { + WORD fCanGlyphAlone : 1; + WORD reserved : 15; + } SCRIPT_CHARPROP; + + typedef struct script_glyphprop { + SCRIPT_VISATTR sva; + WORD reserved; + } SCRIPT_GLYPHPROP; +#endif + + HRESULT WINAPI ScriptFreeCache (SCRIPT_CACHE *psc); + HRESULT WINAPI ScriptItemize (const WCHAR *pwcInChars, int cInChars, int cMaxItems, const SCRIPT_CONTROL *psControl, const SCRIPT_STATE *psState, SCRIPT_ITEM *pItems, int *pcItems); + HRESULT WINAPI ScriptLayout (int cRuns, const BYTE *pbLevel, int *piVisualToLogical, int *piLogicalToVisual); + HRESULT WINAPI ScriptShape (HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcChars, int cChars, int cMaxGlyphs, SCRIPT_ANALYSIS *psa, WORD *pwOutGlyphs, WORD *pwLogClust, SCRIPT_VISATTR *psva, int *pcGlyphs); + HRESULT WINAPI ScriptPlace (HDC hdc, SCRIPT_CACHE *psc, const WORD *pwGlyphs, int cGlyphs, const SCRIPT_VISATTR *psva, SCRIPT_ANALYSIS *psa, int *piAdvance, GOFFSET *pGoffset, ABC *pABC); + HRESULT WINAPI ScriptTextOut (const HDC hdc, SCRIPT_CACHE *psc, int x, int y, UINT fuOptions, const RECT *lprc, const SCRIPT_ANALYSIS *psa, const WCHAR *pwcReserved, int iReserved, const WORD *pwGlyphs, int cGlyphs, const int *piAdvance, const int *piJustify, const GOFFSET *pGoffset); + HRESULT WINAPI ScriptJustify (const SCRIPT_VISATTR *psva, const int *piAdvance, int cGlyphs, int iDx, int iMinKashida, int *piJustify); + HRESULT WINAPI ScriptBreak (const WCHAR *pwcChars, int cChars, const SCRIPT_ANALYSIS *psa, SCRIPT_LOGATTR *psla); + HRESULT WINAPI ScriptCPtoX (int iCP, WINBOOL fTrailing, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva, const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piX); + HRESULT WINAPI ScriptXtoCP (int iX, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva, const int *piAdvance, const SCRIPT_ANALYSIS *psa, int *piCP, int *piTrailing); + HRESULT WINAPI ScriptGetLogicalWidths (const SCRIPT_ANALYSIS *psa, int cChars, int cGlyphs, const int *piGlyphWidth, const WORD *pwLogClust, const SCRIPT_VISATTR *psva, int *piDx); + HRESULT WINAPI ScriptApplyLogicalWidth (const int *piDx, int cChars, int cGlyphs, const WORD *pwLogClust, const SCRIPT_VISATTR *psva, const int *piAdvance, const SCRIPT_ANALYSIS *psa, ABC *pABC, int *piJustify); + HRESULT WINAPI ScriptGetCMap (HDC hdc, SCRIPT_CACHE *psc, const WCHAR *pwcInChars, int cChars, DWORD dwFlags, WORD *pwOutGlyphs); + HRESULT WINAPI ScriptGetGlyphABCWidth (HDC hdc, SCRIPT_CACHE *psc, WORD wGlyph, ABC *pABC); + HRESULT WINAPI ScriptGetProperties (const SCRIPT_PROPERTIES ***ppSp, int *piNumScripts); + HRESULT WINAPI ScriptGetFontProperties (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_FONTPROPERTIES *sfp); + HRESULT WINAPI ScriptCacheGetHeight (HDC hdc, SCRIPT_CACHE *psc, long *tmHeight); + HRESULT WINAPI ScriptStringAnalyse (HDC hdc, const void *pString, int cString, int cGlyphs, int iCharset, DWORD dwFlags, int iReqWidth, SCRIPT_CONTROL *psControl, SCRIPT_STATE *psState, const int *piDx, SCRIPT_TABDEF *pTabdef, const BYTE *pbInClass, SCRIPT_STRING_ANALYSIS *pssa); + HRESULT WINAPI ScriptStringFree (SCRIPT_STRING_ANALYSIS *pssa); + const SIZE *WINAPI ScriptString_pSize (SCRIPT_STRING_ANALYSIS ssa); + const int *WINAPI ScriptString_pcOutChars (SCRIPT_STRING_ANALYSIS ssa); + const SCRIPT_LOGATTR *WINAPI ScriptString_pLogAttr (SCRIPT_STRING_ANALYSIS ssa); + HRESULT WINAPI ScriptStringGetOrder (SCRIPT_STRING_ANALYSIS ssa, UINT *puOrder); + HRESULT WINAPI ScriptStringCPtoX (SCRIPT_STRING_ANALYSIS ssa, int icp, WINBOOL fTrailing, int *pX); + HRESULT WINAPI ScriptStringXtoCP (SCRIPT_STRING_ANALYSIS ssa, int iX, int *piCh, int *piTrailing); + HRESULT WINAPI ScriptStringGetLogicalWidths (SCRIPT_STRING_ANALYSIS ssa, int *piDx); + HRESULT WINAPI ScriptStringValidate (SCRIPT_STRING_ANALYSIS ssa); + HRESULT WINAPI ScriptStringOut (SCRIPT_STRING_ANALYSIS ssa, int iX, int iY, UINT uOptions, const RECT *prc, int iMinSel, int iMaxSel, WINBOOL fDisabled); + HRESULT WINAPI ScriptIsComplex (const WCHAR *pwcInChars, int cInChars, DWORD dwFlags); + HRESULT WINAPI ScriptRecordDigitSubstitution (LCID Locale, SCRIPT_DIGITSUBSTITUTE *psds); + HRESULT WINAPI ScriptApplyDigitSubstitution (const SCRIPT_DIGITSUBSTITUTE *psds, SCRIPT_CONTROL *psc, SCRIPT_STATE *pss); +#if UNISCRIBE_OPENTYPE >= 0x0100 + HRESULT WINAPI ScriptShapeOpenType (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, int *rcRangeChars, TEXTRANGE_PROPERTIES **rpRangeProperties, int cRanges, const WCHAR *pwcChars, int cChars, int cMaxGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProps, WORD *pwOutGlyphs, SCRIPT_GLYPHPROP *pOutGlyphProps, int *pcGlyphs); + HRESULT WINAPI ScriptPlaceOpenType (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, int *rcRangeChars, TEXTRANGE_PROPERTIES **rpRangeProperties, int cRanges, const WCHAR *pwcChars, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProps, int cChars, const WORD *pwGlyphs, const SCRIPT_GLYPHPROP *pGlyphProps, int cGlyphs, int *piAdvance, GOFFSET *pGoffset, ABC *pABC); + HRESULT WINAPI ScriptItemizeOpenType (const WCHAR *pwcInChars, int cInChars, int cMaxItems, const SCRIPT_CONTROL *psControl, const SCRIPT_STATE *psState, SCRIPT_ITEM *pItems, OPENTYPE_TAG *pScriptTags, int *pcItems); + HRESULT WINAPI ScriptGetFontScriptTags (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, int cMaxTags, OPENTYPE_TAG *pScriptTags, int *pcTags); + HRESULT WINAPI ScriptGetFontLanguageTags (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, int cMaxTags, OPENTYPE_TAG *pLangsysTags, int *pcTags); + HRESULT WINAPI ScriptGetFontFeatureTags (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, int cMaxTags, OPENTYPE_TAG *pFeatureTags, int *pcTags); + HRESULT WINAPI ScriptGetFontAlternateGlyphs (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, OPENTYPE_TAG tagFeature, WORD wGlyphId, int cMaxAlternates, WORD *pAlternateGlyphs, int *pcAlternates); + HRESULT WINAPI ScriptSubstituteSingleGlyph (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, OPENTYPE_TAG tagFeature, LONG lParameter, WORD wGlyphId, WORD *pwOutGlyphId); + HRESULT WINAPI ScriptPositionSingleGlyph (HDC hdc, SCRIPT_CACHE *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, OPENTYPE_TAG tagFeature, LONG lParameter, WORD wGlyphId, int iAdvance, GOFFSET GOffset, int *piOutAdvance, GOFFSET *pOutGoffset); +#endif + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utilapiset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utilapiset.h new file mode 100644 index 00000000..f08f3e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utilapiset.h @@ -0,0 +1,32 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _APISETUTIL_ +#define _APISETUTIL_ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI PVOID WINAPI EncodePointer (PVOID Ptr); + WINBASEAPI PVOID WINAPI DecodePointer (PVOID Ptr); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI PVOID WINAPI EncodeSystemPointer (PVOID Ptr); + WINBASEAPI PVOID WINAPI DecodeSystemPointer (PVOID Ptr); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI Beep (DWORD dwFreq, DWORD dwDuration); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utime.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utime.h new file mode 100644 index 00000000..903fae48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/utime.h @@ -0,0 +1,6 @@ +/** + * 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 diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uuids.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uuids.h new file mode 100644 index 00000000..1af246a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uuids.h @@ -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. + */ +#ifndef OUR_GUID_ENTRY +#define OUR_GUID_ENTRY(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); +#endif + +#define MEDIATYPE_NULL GUID_NULL +#define MEDIASUBTYPE_NULL GUID_NULL + +OUR_GUID_ENTRY(MEDIASUBTYPE_None,0xe436eb8e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIATYPE_Video,0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_Audio,0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_Text,0x73747874,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_Midi,0x7364696D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_Stream,0xe436eb83,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIATYPE_Interleaved,0x73766169,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_File,0x656c6966,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_ScriptCommand,0x73636d64,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_AUXLine21Data,0x670aea80,0x3a82,0x11d0,0xb7,0x9b,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(MEDIATYPE_VBI,0xf72a76e1,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(MEDIATYPE_Timecode,0x482dee3,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIATYPE_LMRT,0x74726c6d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIATYPE_URL_STREAM,0x736c7275,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_CLPL,0x4C504C43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_YUYV,0x56595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IYUV,0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_YVU9,0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Y411,0x31313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Y41P,0x50313459,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_YUY2,0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_YVYU,0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_UYVY,0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Y211,0x31313259,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_CLJR,0x524a4c43,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IF09,0x39304649,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_CPLA,0x414c5043,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_MJPG,0x47504A4D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_TVMJ,0x4A4D5654,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_WAKE,0x454B4157,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_CFCC,0x43434643,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IJPG,0x47504A49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Plum,0x6D756C50,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_DVCS,0x53435644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_DVSD,0x44535644,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_MDVF,0x4656444D,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB1,0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB4,0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB8,0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB565,0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB555,0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB24,0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32,0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555,0x297c55af,0xe209,0x4cb3,0xb7,0x57,0xc7,0x6d,0x6b,0x9c,0x88,0xa8) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444,0x6e6415e6,0x5c24,0x425f,0x93,0xcd,0x80,0x10,0x2b,0x3d,0x1c,0xca) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32,0x773c9ac0,0x3274,0x11d0,0xb7,0x24,0x0,0xaa,0x0,0x6c,0x1a,0x1) +OUR_GUID_ENTRY(MEDIASUBTYPE_A2R10G10B10,0x2f8bb76d,0xb644,0x4550,0xac,0xf3,0xd3,0x0c,0xaa,0x65,0xd5,0xc5) +OUR_GUID_ENTRY(MEDIASUBTYPE_A2B10G10R10,0x576f7893,0xbdf6,0x48c4,0x87,0x5f,0xae,0x7b,0x81,0x83,0x45,0x67) +OUR_GUID_ENTRY(MEDIASUBTYPE_AYUV,0x56555941,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_AI44,0x34344941,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IA44,0x34344149,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32_D3D_DX7_RT,0x32335237,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB16_D3D_DX7_RT,0x36315237,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32_D3D_DX7_RT,0x38384137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444_D3D_DX7_RT,0x34344137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555_D3D_DX7_RT,0x35314137,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB32_D3D_DX9_RT,0x32335239,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RGB16_D3D_DX9_RT,0x36315239,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB32_D3D_DX9_RT,0x38384139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB4444_D3D_DX9_RT,0x34344139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_ARGB1555_D3D_DX9_RT,0x35314139,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) + +#define MEDIASUBTYPE_HASALPHA(mt) (((mt).subtype==MEDIASUBTYPE_ARGB4444) || ((mt).subtype==MEDIASUBTYPE_ARGB32) || ((mt).subtype==MEDIASUBTYPE_AYUV) || ((mt).subtype==MEDIASUBTYPE_AI44) || ((mt).subtype==MEDIASUBTYPE_IA44) || ((mt).subtype==MEDIASUBTYPE_ARGB1555) || ((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT)) +#define MEDIASUBTYPE_HASALPHA7(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT)) +#define MEDIASUBTYPE_D3D_DX7_RT(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_RGB32_D3D_DX7_RT) || ((mt).subtype==MEDIASUBTYPE_RGB16_D3D_DX7_RT)) +#define MEDIASUBTYPE_HASALPHA9(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT)) +#define MEDIASUBTYPE_D3D_DX9_RT(mt) (((mt).subtype==MEDIASUBTYPE_ARGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB4444_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_ARGB1555_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_RGB32_D3D_DX9_RT) || ((mt).subtype==MEDIASUBTYPE_RGB16_D3D_DX9_RT)) + +OUR_GUID_ENTRY(MEDIASUBTYPE_YV12,0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_NV12,0x3231564E,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IMC1,0x31434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IMC2,0x32434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IMC3,0x33434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IMC4,0x34434D49,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_S340,0x30343353,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_S342,0x32343353,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Overlay,0xe436eb7f,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Packet,0xe436eb80,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Payload,0xe436eb81,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1AudioPayload,0x00000050,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71) +OUR_GUID_ENTRY(MEDIATYPE_MPEG1SystemStream,0xe436eb82,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1System,0xe436eb84,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1VideoCD,0xe436eb85,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Video,0xe436eb86,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_MPEG1Audio,0xe436eb87,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_Avi,0xe436eb88,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_Asf,0x3db80f90,0x9412,0x11d1,0xad,0xed,0x0,0x0,0xf8,0x75,0x4b,0x99) +OUR_GUID_ENTRY(MEDIASUBTYPE_QTMovie,0xe436eb89,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_QTRpza,0x617a7072,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_QTSmc,0x20636d73,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_QTRle,0x20656c72,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_QTJpeg,0x6765706a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_PCMAudio_Obsolete,0xe436eb8a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_PCM,0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_WAVE,0xe436eb8b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_AU,0xe436eb8c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_AIFF,0xe436eb8d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(MEDIASUBTYPE_dvsd,0x64737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_dvhd,0x64687664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_dvsl,0x6c737664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_dv25,0x35327664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_dv50,0x30357664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_dvh1,0x31687664,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_BytePair,0x6e8d4a22,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_GOPPacket,0x6e8d4a23,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(MEDIASUBTYPE_Line21_VBIRawData,0x6e8d4a24,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(MEDIASUBTYPE_TELETEXT,0xf72a76e3,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(MEDIASUBTYPE_WSS,0x2791D576,0x8E7A,0x466F,0x9E,0x90,0x5D,0x3F,0x30,0x83,0x73,0x8B) +OUR_GUID_ENTRY(MEDIASUBTYPE_VPS,0xa1b3f620,0x9792,0x4d8d,0x81,0xa4,0x86,0xaf,0x25,0x77,0x20,0x90) +OUR_GUID_ENTRY(MEDIASUBTYPE_DRM_Audio,0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_IEEE_FLOAT,0x00000003,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_DOLBY_AC3_SPDIF,0x00000092,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_RAW_SPORT,0x00000240,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_SPDIF_TAG_241h,0x00000241,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71) +OUR_GUID_ENTRY(MEDIASUBTYPE_DssVideo,0xa0af4f81,0xe163,0x11d0,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(MEDIASUBTYPE_DssAudio,0xa0af4f82,0xe163,0x11d0,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(MEDIASUBTYPE_VPVideo,0x5a9b6a40,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(MEDIASUBTYPE_VPVBI,0x5a9b6a41,0x1a22,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder,0xBF87B6E0,0x8C27,0x11d0,0xB3,0xF0,0x0,0xAA,0x00,0x37,0x61,0xC5) +OUR_GUID_ENTRY(CLSID_CaptureGraphBuilder2,0xBF87B6E1,0x8C27,0x11d0,0xB3,0xF0,0x0,0xAA,0x00,0x37,0x61,0xC5) +OUR_GUID_ENTRY(CLSID_ProtoFilterGraph,0xe436ebb0,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_SystemClock,0xe436ebb1,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_FilterMapper,0xe436ebb2,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_FilterGraph,0xe436ebb3,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_FilterGraphNoThread,0xe436ebb8,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_MPEG1Doc,0xe4bbd160,0x4269,0x11ce,0x83,0x8d,0x0,0xaa,0x0,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_FileSource,0x701722e0,0x8ae3,0x11ce,0xa8,0x5c,0x00,0xaa,0x00,0x2f,0xea,0xb5) +OUR_GUID_ENTRY(CLSID_MPEG1PacketPlayer,0x26c25940,0x4ca9,0x11ce,0xa8,0x28,0x0,0xaa,0x0,0x2f,0xea,0xb5) +OUR_GUID_ENTRY(CLSID_MPEG1Splitter,0x336475d0,0x942a,0x11ce,0xa8,0x70,0x00,0xaa,0x00,0x2f,0xea,0xb5) +OUR_GUID_ENTRY(CLSID_CMpegVideoCodec,0xfeb50740,0x7bef,0x11ce,0x9b,0xd9,0x0,0x0,0xe2,0x2,0x59,0x9c) +OUR_GUID_ENTRY(CLSID_CMpegAudioCodec,0x4a2286e0,0x7bef,0x11ce,0x9b,0xd9,0x0,0x0,0xe2,0x2,0x59,0x9c) +OUR_GUID_ENTRY(CLSID_TextRender,0xe30629d3,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66) +OUR_GUID_ENTRY(CLSID_InfTee,0xf8388a40,0xd5bb,0x11d0,0xbe,0x5a,0x0,0x80,0xc7,0x6,0x56,0x8e) +OUR_GUID_ENTRY(CLSID_AviSplitter,0x1b544c20,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e) +OUR_GUID_ENTRY(CLSID_AviReader,0x1b544c21,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e) +OUR_GUID_ENTRY(CLSID_VfwCapture,0x1b544c22,0xfd0b,0x11ce,0x8c,0x63,0x0,0xaa,0x00,0x44,0xb5,0x1e) +OUR_GUID_ENTRY(CLSID_CaptureProperties,0x1B544c22,0xFD0B,0x11ce,0x8C,0x63,0x00,0xAA,0x00,0x44,0xB5,0x1F) +OUR_GUID_ENTRY(CLSID_FGControl,0xe436ebb4,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_MOVReader,0x44584800,0xf8ee,0x11ce,0xb2,0xd4,0x00,0xdd,0x1,0x10,0x1b,0x85) +OUR_GUID_ENTRY(CLSID_QuickTimeParser,0xd51bd5a0,0x7548,0x11cf,0xa5,0x20,0x0,0x80,0xc7,0x7e,0xf5,0x8a) +OUR_GUID_ENTRY(CLSID_QTDec,0xfdfe9681,0x74a3,0x11d0,0xaf,0xa7,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_AVIDoc,0xd3588ab0,0x0781,0x11ce,0xb0,0x3a,0x00,0x20,0xaf,0xb,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_VideoRenderer,0x70e102b0,0x5556,0x11ce,0x97,0xc0,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_Colour,0x1643e180,0x90f5,0x11ce,0x97,0xd5,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_Dither,0x1da08500,0x9edc,0x11cf,0xbc,0x10,0x00,0xaa,0x00,0xac,0x74,0xf6) +OUR_GUID_ENTRY(CLSID_ModexRenderer,0x7167665,0x5011,0x11cf,0xbf,0x33,0x0,0xaa,0x0,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_AudioRender,0xe30629d1,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66) +OUR_GUID_ENTRY(CLSID_AudioProperties,0x05589faf,0xc356,0x11ce,0xbf,0x01,0x0,0xaa,0x0,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_DSoundRender,0x79376820,0x07D0,0x11CF,0xA2,0x4D,0x0,0x20,0xAF,0xD7,0x97,0x67) +OUR_GUID_ENTRY(CLSID_AudioRecord,0xe30629d2,0x27e5,0x11ce,0x87,0x5d,0x0,0x60,0x8c,0xb7,0x80,0x66) +OUR_GUID_ENTRY(CLSID_AudioInputMixerProperties,0x2ca8ca52,0x3c3f,0x11d2,0xb7,0x3d,0x0,0xc0,0x4f,0xb6,0xbd,0x3d) +OUR_GUID_ENTRY(CLSID_AVIDec,0xcf49d4e0,0x1115,0x11ce,0xb0,0x3a,0x0,0x20,0xaf,0xb,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_AVIDraw,0xa888df60,0x1e90,0x11cf,0xac,0x98,0x0,0xaa,0x0,0x4c,0xf,0xa9) +OUR_GUID_ENTRY(CLSID_ACMWrapper,0x6a08cf80,0x0e18,0x11cf,0xa2,0x4d,0x0,0x20,0xaf,0xd7,0x97,0x67) +OUR_GUID_ENTRY(CLSID_AsyncReader,0xe436ebb5,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_URLReader,0xe436ebb6,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_PersistMonikerPID,0xe436ebb7,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70) +OUR_GUID_ENTRY(CLSID_AVICo,0xd76e2820,0x1563,0x11cf,0xac,0x98,0x0,0xaa,0x0,0x4c,0xf,0xa9) +OUR_GUID_ENTRY(CLSID_FileWriter,0x8596e5f0,0xda5,0x11d0,0xbd,0x21,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AviDest,0xe2510970,0xf137,0x11ce,0x8b,0x67,0x0,0xaa,0x0,0xa3,0xf1,0xa6) +OUR_GUID_ENTRY(CLSID_AviMuxProptyPage,0xc647b5c0,0x157c,0x11d0,0xbd,0x23,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AviMuxProptyPage1,0xa9ae910,0x85c0,0x11d0,0xbd,0x42,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AVIMIDIRender,0x07b65360,0xc445,0x11ce,0xaf,0xde,0x00,0xaa,0x00,0x6c,0x14,0xf4) +OUR_GUID_ENTRY(CLSID_WMAsfReader,0x187463a0,0x5bb7,0x11d3,0xac,0xbe,0x0,0x80,0xc7,0x5e,0x24,0x6e) +OUR_GUID_ENTRY(CLSID_WMAsfWriter,0x7c23220e,0x55bb,0x11d3,0x8b,0x16,0x0,0xc0,0x4f,0xb6,0xbd,0x3d) +OUR_GUID_ENTRY(CLSID_MPEG2Demultiplexer,0xafb6c280,0x2c41,0x11d3,0x8a,0x60,0x00,0x00,0xf8,0x1e,0x0e,0x4a) +OUR_GUID_ENTRY(CLSID_MMSPLITTER,0x3ae86b20,0x7be8,0x11d1,0xab,0xe6,0x00,0xa0,0xc9,0x05,0xf3,0x75) +OUR_GUID_ENTRY(CLSID_StreamBufferSink,0x2db47ae5,0xcf39,0x43c2,0xb4,0xd6,0xc,0xd8,0xd9,0x9,0x46,0xf4) +OUR_GUID_ENTRY(CLSID_StreamBufferSource,0xc9f5fe02,0xf851,0x4eb5,0x99,0xee,0xad,0x60,0x2a,0xf1,0xe6,0x19) +OUR_GUID_ENTRY(CLSID_StreamBufferConfig,0xfa8a68b2,0xc864,0x4ba2,0xad,0x53,0xd3,0x87,0x6a,0x87,0x49,0x4b) +OUR_GUID_ENTRY(CLSID_Mpeg2VideoStreamAnalyzer,0x6cfad761,0x735d,0x4aa5,0x8a,0xfc,0xaf,0x91,0xa7,0xd6,0x1e,0xba) +OUR_GUID_ENTRY(CLSID_StreamBufferRecordingAttributes,0xccaa63ac,0x1057,0x4778,0xae,0x92,0x12,0x6,0xab,0x9a,0xce,0xe6) +OUR_GUID_ENTRY(CLSID_StreamBufferComposeRecording,0xd682c4ba,0xa90a,0x42fe,0xb9,0xe1,0x3,0x10,0x98,0x49,0xc4,0x23) +OUR_GUID_ENTRY(CLSID_DVVideoCodec,0xb1b77c00,0xc3e4,0x11cf,0xaf,0x79,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_DVVideoEnc,0x13aa3650,0xbb6f,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_DVSplitter,0x4eb31670,0x9fc6,0x11cf,0xaf,0x6e,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_DVMux,0x129d7e40,0xc10d,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_SeekingPassThru,0x60af76c,0x68dd,0x11d0,0x8f,0xc1,0x0,0xc0,0x4f,0xd9,0x18,0x9d) +OUR_GUID_ENTRY(CLSID_Line21Decoder,0x6e8d4a20,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(CLSID_Line21Decoder2,0xe4206432,0x01a1,0x4bee,0xb3,0xe1,0x37,0x02,0xc8,0xed,0xc5,0x74) +OUR_GUID_ENTRY(CLSID_OverlayMixer,0xcd8743a1,0x3736,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(CLSID_VBISurfaces,0x814b9800,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(CLSID_WSTDecoder,0x70bc06e0,0x5666,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33) +OUR_GUID_ENTRY(CLSID_MjpegDec,0x301056d0,0x6dff,0x11d2,0x9e,0xeb,0x0,0x60,0x8,0x3,0x9e,0x37) +OUR_GUID_ENTRY(CLSID_MJPGEnc,0xb80ab0a0,0x7416,0x11d2,0x9e,0xeb,0x0,0x60,0x8,0x3,0x9e,0x37) +OUR_GUID_ENTRY(CLSID_SystemDeviceEnum,0x62BE5D10,0x60EB,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_CDeviceMoniker,0x4315D437,0x5B8C,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_VideoInputDeviceCategory,0x860BB310,0x5D01,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_CVidCapClassManager,0x860BB310,0x5D01,0x11d0,0xBD,0x3B,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_LegacyAmFilterCategory,0x083863F1,0x70DE,0x11d0,0xBD,0x40,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_CQzFilterClassManager,0x083863F1,0x70DE,0x11d0,0xBD,0x40,0x00,0xA0,0xC9,0x11,0xCE,0x86) +OUR_GUID_ENTRY(CLSID_VideoCompressorCategory,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_CIcmCoClassManager,0x33d9a760,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AudioCompressorCategory,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_CAcmCoClassManager,0x33d9a761,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AudioInputDeviceCategory,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_CWaveinClassManager,0x33d9a762,0x90c8,0x11d0,0xbd,0x43,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_AudioRendererCategory,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_CWaveOutClassManager,0xe0f158e1,0xcb04,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_MidiRendererCategory,0x4EfE2452,0x168A,0x11d1,0xBC,0x76,0x0,0xc0,0x4F,0xB9,0x45,0x3B) +OUR_GUID_ENTRY(CLSID_CMidiOutClassManager,0x4EfE2452,0x168A,0x11d1,0xBC,0x76,0x0,0xc0,0x4F,0xB9,0x45,0x3B) +OUR_GUID_ENTRY(CLSID_TransmitCategory,0xcc7bfb41,0xf175,0x11d1,0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59) +OUR_GUID_ENTRY(CLSID_DeviceControlCategory,0xcc7bfb46,0xf175,0x11d1,0xa3,0x92,0x0,0xe0,0x29,0x1f,0x39,0x59) +OUR_GUID_ENTRY(CLSID_ActiveMovieCategories,0xda4e3da0,0xd07d,0x11d0,0xbd,0x50,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_DVDHWDecodersCategory,0x2721AE20,0x7E70,0x11D0,0xA5,0xD6,0x28,0xDB,0x04,0xC1,0x00,0x00) +OUR_GUID_ENTRY(CLSID_MediaEncoderCategory,0x7D22E920,0x5CA9,0x4787,0x8C,0x2B,0xA6,0x77,0x9B,0xD1,0x17,0x81) +OUR_GUID_ENTRY(CLSID_MediaMultiplexerCategory,0x236C9559,0xADCE,0x4736,0xBF,0x72,0xBA,0xB3,0x4E,0x39,0x21,0x96) +OUR_GUID_ENTRY(CLSID_FilterMapper2,0xcda42200,0xbd88,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_MemoryAllocator,0x1e651cc0,0xb199,0x11d0,0x82,0x12,0x00,0xc0,0x4f,0xc3,0x2c,0x45) +OUR_GUID_ENTRY(CLSID_MediaPropertyBag,0xcdbd8d00,0xc193,0x11d0,0xbd,0x4e,0x0,0xa0,0xc9,0x11,0xce,0x86) +OUR_GUID_ENTRY(CLSID_DvdGraphBuilder,0xFCC152B7,0xF372,0x11d0,0x8E,0x00,0x00,0xC0,0x4F,0xD7,0xC0,0x8B) +OUR_GUID_ENTRY(CLSID_DVDNavigator,0x9b8c4620,0x2c1a,0x11d0,0x84,0x93,0x0,0xa0,0x24,0x38,0xad,0x48) +OUR_GUID_ENTRY(CLSID_DVDState,0xf963c5cf,0xa659,0x4a93,0x96,0x38,0xca,0xf3,0xcd,0x27,0x7d,0x13) +OUR_GUID_ENTRY(CLSID_SmartTee,0xcc58e280,0x8aa1,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5) +OUR_GUID_ENTRY(FORMAT_None,0x0F6417D6,0xc318,0x11d0,0xa4,0x3f,0x00,0xa0,0xc9,0x22,0x31,0x96) +OUR_GUID_ENTRY(FORMAT_VideoInfo,0x05589f80,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(FORMAT_VideoInfo2,0xf72a76A0,0xeb0a,0x11d0,0xac,0xe4,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(FORMAT_WaveFormatEx,0x05589f81,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(FORMAT_MPEGVideo,0x05589f82,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(FORMAT_MPEGStreams,0x05589f83,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(FORMAT_DvInfo,0x05589f84,0xc356,0x11ce,0xbf,0x01,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_DirectDrawProperties,0x944d4c00,0xdd52,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(CLSID_PerformanceProperties,0x59ce6880,0xacf8,0x11cf,0xb5,0x6e,0x00,0x80,0xc7,0xc4,0xb6,0x8a) +OUR_GUID_ENTRY(CLSID_QualityProperties,0x418afb70,0xf8b8,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3) +OUR_GUID_ENTRY(IID_IBaseVideoMixer,0x61ded640,0xe912,0x11ce,0xa0,0x99,0x00,0xaa,0x00,0x47,0x9a,0x58) +OUR_GUID_ENTRY(IID_IDirectDrawVideo,0x36d39eb0,0xdd75,0x11ce,0xbf,0x0e,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(IID_IQualProp,0x1bd0ecb0,0xf8e2,0x11ce,0xaa,0xc6,0x00,0x20,0xaf,0x0b,0x99,0xa3) +OUR_GUID_ENTRY(CLSID_VPObject,0xce292861,0xfc88,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IVPObject,0xce292862,0xfc88,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IVPControl,0x25df12c1,0x3de0,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(CLSID_VPVBIObject,0x814b9801,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(IID_IVPVBIObject,0x814b9802,0x1c88,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(IID_IVPConfig,0xbc29a660,0x30e3,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IVPNotify,0xc76794a1,0xd6c5,0x11d0,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IVPNotify2,0xebf47183,0x8764,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IVPVBIConfig,0xec529b00,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(IID_IVPVBINotify,0xec529b01,0x1a1f,0x11d1,0xba,0xd9,0x0,0x60,0x97,0x44,0x11,0x1a) +OUR_GUID_ENTRY(IID_IMixerPinConfig,0x593cdde1,0x759,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +OUR_GUID_ENTRY(IID_IMixerPinConfig2,0xebf47182,0x8764,0x11d1,0x9e,0x69,0x0,0xc0,0x4f,0xd7,0xc1,0x5b) +#ifndef __DDRAW_INCLUDED__ +OUR_GUID_ENTRY(CLSID_DirectDraw,0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35) +OUR_GUID_ENTRY(CLSID_DirectDrawClipper,0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56) +OUR_GUID_ENTRY(IID_IDirectDraw,0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60) +OUR_GUID_ENTRY(IID_IDirectDraw2,0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56) +OUR_GUID_ENTRY(IID_IDirectDrawSurface,0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60) +OUR_GUID_ENTRY(IID_IDirectDrawSurface2,0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27) +OUR_GUID_ENTRY(IID_IDirectDrawSurface3,0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB) +OUR_GUID_ENTRY(IID_IDirectDrawSurface4,0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B) +OUR_GUID_ENTRY(IID_IDirectDrawSurface7,0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b) +OUR_GUID_ENTRY(IID_IDirectDrawPalette,0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60) +OUR_GUID_ENTRY(IID_IDirectDrawClipper,0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60) +OUR_GUID_ENTRY(IID_IDirectDrawColorControl,0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8) +#endif +#ifndef __DVP_INCLUDED__ +OUR_GUID_ENTRY(IID_IDDVideoPortContainer,0x6C142760,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60) +#endif +#ifndef __DDKM_INCLUDED__ +OUR_GUID_ENTRY(IID_IDirectDrawKernel,0x8D56C120,0x6A08,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8) +OUR_GUID_ENTRY(IID_IDirectDrawSurfaceKernel,0x60755DA0,0x6A40,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8) +#endif +OUR_GUID_ENTRY(CLSID_ModexProperties,0x0618aa30,0x6bc4,0x11cf,0xbf,0x36,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(IID_IFullScreenVideo,0xdd1d7110,0x7836,0x11cf,0xbf,0x47,0x00,0xaa,0x00,0x55,0x59,0x5a) +OUR_GUID_ENTRY(IID_IFullScreenVideoEx,0x53479470,0xf1dd,0x11cf,0xbc,0x42,0x00,0xaa,0x00,0xac,0x74,0xf6) +OUR_GUID_ENTRY(CLSID_DVDecPropertiesPage,0x101193c0,0xbfe,0x11d0,0xaf,0x91,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_DVEncPropertiesPage,0x4150f050,0xbb6f,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(CLSID_DVMuxPropertyPage,0x4db880e0,0xc10d,0x11d0,0xaf,0xb9,0x0,0xaa,0x0,0xb6,0x7a,0x42) +OUR_GUID_ENTRY(IID_IAMDirectSound,0x546f4260,0xd53e,0x11cf,0xb3,0xf0,0x0,0xaa,0x0,0x37,0x61,0xc5) +OUR_GUID_ENTRY(IID_IMpegAudioDecoder,0xb45dd570,0x3c77,0x11d1,0xab,0xe1,0x00,0xa0,0xc9,0x05,0xf3,0x75) +OUR_GUID_ENTRY(IID_IAMLine21Decoder,0x6e8d4a21,0x310c,0x11d0,0xb7,0x9a,0x0,0xaa,0x0,0x37,0x67,0xa7) +OUR_GUID_ENTRY(IID_IAMWstDecoder,0xc056de21,0x75c2,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33) +OUR_GUID_ENTRY(CLSID_WstDecoderPropertyPage,0x4e27f80,0x91e4,0x11d3,0xa1,0x84,0x0,0x10,0x5a,0xef,0x9f,0x33) +OUR_GUID_ENTRY(FORMAT_AnalogVideo,0x482dde0,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIATYPE_AnalogVideo,0x482dde1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_NTSC_M,0x482dde2,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_B,0x482dde5,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_D,0x482dde6,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_G,0x482dde7,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_H,0x482dde8,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_I,0x482dde9,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_M,0x482ddea,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_N,0x482ddeb,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_PAL_N_COMBO,0x482ddec,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_B,0x482ddf0,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_D,0x482ddf1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_G,0x482ddf2,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_H,0x482ddf3,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_K,0x482ddf4,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_K1,0x482ddf5,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIASUBTYPE_AnalogVideo_SECAM_L,0x482ddf6,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(MEDIATYPE_AnalogAudio,0x482dee1,0x7817,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) + +#include "ksuuids.h" + +OUR_GUID_ENTRY(TIME_FORMAT_NONE,0,0,0,0,0,0,0,0,0,0,0) +OUR_GUID_ENTRY(TIME_FORMAT_FRAME,0x7b785570,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6) +OUR_GUID_ENTRY(TIME_FORMAT_BYTE,0x7b785571,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6) +OUR_GUID_ENTRY(TIME_FORMAT_SAMPLE,0x7b785572,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6) +OUR_GUID_ENTRY(TIME_FORMAT_FIELD,0x7b785573,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6) +OUR_GUID_ENTRY(TIME_FORMAT_MEDIA_TIME,0x7b785574,0x8c82,0x11cf,0xbc,0xc,0x0,0xaa,0x0,0xac,0x74,0xf6) +OUR_GUID_ENTRY(AMPROPSETID_Pin,0x9b00f101,0x1567,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5) +OUR_GUID_ENTRY(PIN_CATEGORY_CAPTURE,0xfb6c4281,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_PREVIEW,0xfb6c4282,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_ANALOGVIDEOIN,0xfb6c4283,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_VBI,0xfb6c4284,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_VIDEOPORT,0xfb6c4285,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_NABTS,0xfb6c4286,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_EDS,0xfb6c4287,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_TELETEXT,0xfb6c4288,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_CC,0xfb6c4289,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_STILL,0xfb6c428a,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_TIMECODE,0xfb6c428b,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(PIN_CATEGORY_VIDEOPORT_VBI,0xfb6c428c,0x0353,0x11d1,0x90,0x5f,0x00,0x00,0xc0,0xcc,0x16,0xba) +OUR_GUID_ENTRY(LOOK_UPSTREAM_ONLY,0xac798be0,0x98e3,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5) +OUR_GUID_ENTRY(LOOK_DOWNSTREAM_ONLY,0xac798be1,0x98e3,0x11d1,0xb3,0xf1,0x0,0xaa,0x0,0x37,0x61,0xc5) +OUR_GUID_ENTRY(CLSID_TVTunerFilterPropertyPage,0x266eee41,0x6c63,0x11cf,0x8a,0x3,0x0,0xaa,0x0,0x6e,0xcb,0x65) +OUR_GUID_ENTRY(CLSID_CrossbarFilterPropertyPage,0x71f96461,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_TVAudioFilterPropertyPage,0x71f96463,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_VideoProcAmpPropertyPage,0x71f96464,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_CameraControlPropertyPage,0x71f96465,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_AnalogVideoDecoderPropertyPage,0x71f96466,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_VideoStreamConfigPropertyPage,0x71f96467,0x78f3,0x11d0,0xa1,0x8c,0x0,0xa0,0xc9,0x11,0x89,0x56) +OUR_GUID_ENTRY(CLSID_AudioRendererAdvancedProperties,0x37e92a92,0xd9aa,0x11d2,0xbf,0x84,0x8e,0xf2,0xb1,0x55,0x5a,0xed) +OUR_GUID_ENTRY(CLSID_VideoMixingRenderer,0xB87BEB7B,0x8D29,0x423f,0xAE,0x4D,0x65,0x82,0xC1,0x01,0x75,0xAC) +OUR_GUID_ENTRY(CLSID_VideoRendererDefault,0x6BC1CFFA,0x8FC1,0x4261,0xAC,0x22,0xCF,0xB4,0xCC,0x38,0xDB,0x50) +OUR_GUID_ENTRY(CLSID_AllocPresenter,0x99d54f63,0x1a69,0x41ae,0xaa,0x4d,0xc9,0x76,0xeb,0x3f,0x07,0x13) +OUR_GUID_ENTRY(CLSID_AllocPresenterDDXclMode,0x4444ac9e,0x242e,0x471b,0xa3,0xc7,0x45,0xdc,0xd4,0x63,0x52,0xbc) +OUR_GUID_ENTRY(CLSID_VideoPortManager,0x6f26a6cd,0x967b,0x47fd,0x87,0x4a,0x7a,0xed,0x2c,0x9d,0x25,0xa2) +OUR_GUID_ENTRY(CLSID_VideoMixingRenderer9,0x51b4abf3,0x748f,0x4e3b,0xa2,0x76,0xc8,0x28,0x33,0x0e,0x92,0x6a) +OUR_GUID_ENTRY(CLSID_ATSCNetworkProvider,0x0dad2fdd,0x5fd7,0x11d3,0x8f,0x50,0x00,0xc0,0x4f,0x79,0x71,0xe2) +OUR_GUID_ENTRY(CLSID_ATSCNetworkPropertyPage,0xe3444d16,0x5ac4,0x4386,0x88,0xdf,0x13,0xfd,0x23,0x0e,0x1d,0xda) +OUR_GUID_ENTRY(CLSID_DVBSNetworkProvider,0xfa4b375a,0x45b4,0x4d45,0x84,0x40,0x26,0x39,0x57,0xb1,0x16,0x23) +OUR_GUID_ENTRY(CLSID_DVBTNetworkProvider,0x216c62df,0x6d7f,0x4e9a,0x85,0x71,0x5,0xf1,0x4e,0xdb,0x76,0x6a) +OUR_GUID_ENTRY(CLSID_DVBCNetworkProvider,0xdc0c0fe7,0x485,0x4266,0xb9,0x3f,0x68,0xfb,0xf8,0xe,0xd8,0x34) +OUR_GUID_ENTRY(CLSID_DShowTVEFilter,0x05500280,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8) +OUR_GUID_ENTRY(CLSID_TVEFilterTuneProperties,0x05500281,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8) +OUR_GUID_ENTRY(CLSID_TVEFilterCCProperties,0x05500282,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8) +OUR_GUID_ENTRY(CLSID_TVEFilterStatsProperties,0x05500283,0xFAA5,0x4DF9,0x82,0x46,0xBF,0xC2,0x3A,0xC5,0xCE,0xA8) +OUR_GUID_ENTRY(CLSID_IVideoEncoderProxy,0xb43c4eec,0x8c32,0x4791,0x91,0x2,0x50,0x8a,0xda,0x5e,0xe8,0xe7) +OUR_GUID_ENTRY(CLSID_ICodecAPIProxy,0x7ff0997a,0x1999,0x4286,0xa7,0x3c,0x62,0x2b,0x88,0x14,0xe7,0xeb) +OUR_GUID_ENTRY(CLSID_IVideoEncoderCodecAPIProxy,0xb05dabd9,0x56e5,0x4fdc,0xaf,0xa4,0x8a,0x47,0xe9,0x1f,0x1c,0x9c) + +#ifndef __ENCODER_API_GUIDS__ +#define __ENCODER_API_GUIDS__ +OUR_GUID_ENTRY(ENCAPIPARAM_BITRATE,0x49cc4c43,0xca83,0x4ad4,0xa9,0xaf,0xf3,0x69,0x6a,0xf6,0x66,0xdf) +OUR_GUID_ENTRY(ENCAPIPARAM_PEAK_BITRATE,0x703f16a9,0x3d48,0x44a1,0xb0,0x77,0x1,0x8d,0xff,0x91,0x5d,0x19) +OUR_GUID_ENTRY(ENCAPIPARAM_BITRATE_MODE,0xee5fb25c,0xc713,0x40d1,0x9d,0x58,0xc0,0xd7,0x24,0x1e,0x25,0xf) +OUR_GUID_ENTRY(CODECAPI_CHANGELISTS,0x62b12acf,0xf6b0,0x47d9,0x94,0x56,0x96,0xf2,0x2c,0x4e,0x0b,0x9d) +OUR_GUID_ENTRY(CODECAPI_VIDEO_ENCODER,0x7112e8e1,0x3d03,0x47ef,0x8e,0x60,0x03,0xf1,0xcf,0x53,0x73,0x01) +OUR_GUID_ENTRY(CODECAPI_AUDIO_ENCODER,0xb9d19a3e,0xf897,0x429c,0xbc,0x46,0x81,0x38,0xb7,0x27,0x2b,0x2d) +OUR_GUID_ENTRY(CODECAPI_SETALLDEFAULTS,0x6c5e6a7c,0xacf8,0x4f55,0xa9,0x99,0x1a,0x62,0x81,0x09,0x05,0x1b) +OUR_GUID_ENTRY(CODECAPI_ALLSETTINGS,0x6a577e92,0x83e1,0x4113,0xad,0xc2,0x4f,0xce,0xc3,0x2f,0x83,0xa1) +OUR_GUID_ENTRY(CODECAPI_SUPPORTSEVENTS,0x0581af97,0x7693,0x4dbd,0x9d,0xca,0x3f,0x9e,0xbd,0x65,0x85,0xa1) +OUR_GUID_ENTRY(CODECAPI_CURRENTCHANGELIST,0x1cb14e83,0x7d72,0x4657,0x83,0xfd,0x47,0xa2,0xc5,0xb9,0xd1,0x3d) + +#ifdef INITGUID +#define UUID_GEN +#include +#endif +#endif + +#undef OUR_GUID_ENTRY diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uxtheme.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uxtheme.h new file mode 100644 index 00000000..d4f43c98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/uxtheme.h @@ -0,0 +1,419 @@ +/** + * 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 _UXTHEME_H_ +#define _UXTHEME_H_ + +#include + +#ifndef THEMEAPI +#if !defined(_UXTHEME_) +#define THEMEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI +#define THEMEAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI +#else +#define THEMEAPI STDAPI +#define THEMEAPI_(type) STDAPI_(type) +#endif +#endif + +typedef HANDLE HTHEME; + +#if (NTDDI_VERSION >= NTDDI_VISTA) +#define MAX_THEMECOLOR 64 +#define MAX_THEMESIZE 64 +#endif + +#if (NTDDI_VERSION >= NTDDI_WIN7) +THEMEAPI_(WINBOOL) BeginPanningFeedback(HWND hwnd); +THEMEAPI_(WINBOOL) UpdatePanningFeedback(HWND hwnd,LONG lTotalOverpanOffsetX,LONG lTotalOverpanOffsetY,WINBOOL fInInertia); +THEMEAPI_(WINBOOL) EndPanningFeedback(HWND hwnd,WINBOOL fAnimateBack); +#endif + +#if (NTDDI_VERSION >= NTDDI_WIN8) + +typedef enum TA_PROPERTY { + TAP_FLAGS, + TAP_TRANSFORMCOUNT, + TAP_STAGGERDELAY, + TAP_STAGGERDELAYCAP, + TAP_STAGGERDELAYFACTOR, + TAP_ZORDER, +} TA_PROPERTY; + +typedef enum TA_PROPERTY_FLAG { + TAPF_NONE = 0x0, + TAPF_HASSTAGGER = 0x1, + TAPF_ISRTLAWARE = 0x2, + TAPF_ALLOWCOLLECTION = 0x4, + TAPF_HASBACKGROUND = 0x8, + TAPF_HASPERSPECTIVE = 0x10, +} TA_PROPERTY_FLAG; + +THEMEAPI GetThemeAnimationProperty(HTHEME hTheme, int iStoryboardId, int iTargetId, TA_PROPERTY eProperty, VOID *pvProperty, DWORD cbSize, DWORD *pcbSizeOut); + +typedef enum TA_TRANSFORM_TYPE { + TATT_TRANSLATE_2D, + TATT_SCALE_2D, + TATT_OPACITY, + TATT_CLIP, +} TA_TRANSFORM_TYPE; + +typedef enum TA_TRANSFORM_FLAG { + TATF_NONE = 0x0, + TATF_TARGETVALUES_USER = 0x1, + TATF_HASINITIALVALUES = 0x2, + TATF_HASORIGINVALUES = 0x4, +} TA_TRANSFORM_FLAG; + +typedef struct TA_TRANSFORM { + TA_TRANSFORM_TYPE eTransformType; + DWORD dwTimingFunctionId; + DWORD dwStartTime; + DWORD dwDurationTime; + TA_TRANSFORM_FLAG eFlags; +} TA_TRANSFORM, *PTA_TRANSFORM; + +typedef struct TA_TRANSFORM_2D { + TA_TRANSFORM header; + float rX; + float rY; + float rInitialX; + float rInitialY; + float rOriginX; + float rOriginY; +} TA_TRANSFORM_2D, *PTA_TRANSFORM_2D; + +typedef struct TA_TRANSFORM_OPACITY { + TA_TRANSFORM header; + float rOpacity; + float rInitialOpacity; +} TA_TRANSFORM_OPACITY, *PTA_TRANSFORM_OPACITY; + +typedef struct TA_TRANSFORM_CLIP { + TA_TRANSFORM header; + float rLeft; + float rTop; + float rRight; + float rBottom; + float rInitialLeft; + float rInitialTop; + float rInitialRight; + float rInitialBottom; +} TA_TRANSFORM_CLIP, *PTA_TRANSFORM_CLIP; + +THEMEAPI GetThemeAnimationTransform(HTHEME hTheme, int iStoryboardId, int iTargetId, DWORD dwTransformIndex, TA_TRANSFORM *pTransform, DWORD cbSize, DWORD *pcbSizeOut); + +typedef enum TA_TIMINGFUNCTION_TYPE { + TTFT_UNDEFINED, + TTFT_CUBIC_BEZIER, +} TA_TIMINGFUNCTION_TYPE; + +typedef struct TA_TIMINGFUNCTION { + TA_TIMINGFUNCTION_TYPE eTimingFunctionType; +} TA_TIMINGFUNCTION, *PTA_TIMINGFUNCTION; + +typedef struct TA_CUBIC_BEZIER { + TA_TIMINGFUNCTION header; + float rX0; + float rY0; + float rX1; + float rY1; +} TA_CUBIC_BEZIER, *PTA_CUBIC_BEZIER; + +THEMEAPI GetThemeTimingFunction(HTHEME hTheme, int iTimingFunctionId, TA_TIMINGFUNCTION *pTimingFunction, DWORD cbSize, DWORD *pcbSizeOut); + +#endif + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#define GBF_DIRECT 0x00000001 +#define GBF_COPY 0x00000002 +#define GBF_VALIDBITS (GBF_DIRECT | GBF_COPY) + +THEMEAPI GetThemeBitmap(HTHEME hTheme,int iPartId,int iStateId,int iPropId,ULONG dwFlags,HBITMAP *phBitmap); +THEMEAPI GetThemeStream(HTHEME hTheme,int iPartId,int iStateId,int iPropId,VOID **ppvStream,DWORD *pcbStream,HINSTANCE hInst); +THEMEAPI GetThemeTransitionDuration(HTHEME hTheme,int iPartId,int iStateIdFrom,int iStateIdTo,int iPropId,DWORD *pdwDuration); + +DECLARE_HANDLE(HPAINTBUFFER); + +typedef enum _BP_BUFFERFORMAT { + BPBF_COMPATIBLEBITMAP, + BPBF_DIB, + BPBF_TOPDOWNDIB, + BPBF_TOPDOWNMONODIB +} BP_BUFFERFORMAT; + +#define BPBF_COMPOSITED BPBF_TOPDOWNDIB + +#define BPPF_ERASE 0x00000001 +#define BPPF_NOCLIP 0x00000002 +#define BPPF_NONCLIENT 0x00000004 + +typedef struct _BP_PAINTPARAMS { + DWORD cbSize; + DWORD dwFlags; + const RECT *prcExclude; + const BLENDFUNCTION *pBlendFunction; +} BP_PAINTPARAMS, *PBP_PAINTPARAMS; + +THEMEAPI_(HPAINTBUFFER) BeginBufferedPaint(HDC hdcTarget,const RECT *prcTarget,BP_BUFFERFORMAT dwFormat,BP_PAINTPARAMS *pPaintParams,HDC *phdc); +THEMEAPI_(HRESULT) EndBufferedPaint(HPAINTBUFFER hBufferedPaint,WINBOOL fUpdateTarget); +THEMEAPI_(HRESULT) GetBufferedPaintTargetRect(HPAINTBUFFER hBufferedPaint,RECT *prc); +THEMEAPI_(HDC) GetBufferedPaintTargetDC(HPAINTBUFFER hBufferedPaint); +THEMEAPI_(HDC) GetBufferedPaintDC(HPAINTBUFFER hBufferedPaint); +THEMEAPI_(HRESULT) GetBufferedPaintBits(HPAINTBUFFER hBufferedPaint,RGBQUAD **ppbBuffer,int *pcxRow); +THEMEAPI_(HRESULT) BufferedPaintClear(HPAINTBUFFER hBufferedPaint,const RECT *prc); +THEMEAPI_(HRESULT) BufferedPaintSetAlpha(HPAINTBUFFER hBufferedPaint,const RECT *prc,BYTE alpha); +#define BufferedPaintMakeOpaque(hBufferedPaint, prc) BufferedPaintSetAlpha(hBufferedPaint, prc, 255) +THEMEAPI_(HRESULT) BufferedPaintInit(VOID); +THEMEAPI_(HRESULT) BufferedPaintUnInit(VOID); + +DECLARE_HANDLE(HANIMATIONBUFFER); + +typedef enum _BP_ANIMATIONSTYLE { + BPAS_NONE, + BPAS_LINEAR, + BPAS_CUBIC, + BPAS_SINE +} BP_ANIMATIONSTYLE; + +typedef struct _BP_ANIMATIONPARAMS { + DWORD cbSize; + DWORD dwFlags; + BP_ANIMATIONSTYLE style; + DWORD dwDuration; +} BP_ANIMATIONPARAMS, *PBP_ANIMATIONPARAMS; + +THEMEAPI_(HANIMATIONBUFFER) BeginBufferedAnimation(HWND hwnd,HDC hdcTarget,const RECT *rcTarget,BP_BUFFERFORMAT dwFormat,BP_PAINTPARAMS *pPaintParams,BP_ANIMATIONPARAMS *pAnimationParams,HDC *phdcFrom,HDC *phdcTo); +THEMEAPI EndBufferedAnimation(HANIMATIONBUFFER hbpAnimation,WINBOOL fUpdateTarget); +THEMEAPI_(WINBOOL) BufferedPaintRenderAnimation(HWND hwnd,HDC hdcTarget); +THEMEAPI BufferedPaintStopAllAnimations(HWND hwnd); +THEMEAPI_(WINBOOL) IsCompositionActive(void); + +typedef enum WINDOWTHEMEATTRIBUTETYPE { + WTA_NONCLIENT = 1 +} WINDOWTHEMEATTRIBUTETYPE; + +typedef struct _WTA_OPTIONS { + DWORD dwFlags; + DWORD dwMask; +} WTA_OPTIONS, *PWTA_OPTIONS; + +#define WTNCA_NODRAWCAPTION 0x00000001 +#define WTNCA_NODRAWICON 0x00000002 +#define WTNCA_NOSYSMENU 0x00000004 +#define WTNCA_NOMIRRORHELP 0x00000008 +#define WTNCA_VALIDBITS (WTNCA_NODRAWCAPTION | WTNCA_NODRAWICON | WTNCA_NOSYSMENU | WTNCA_NOMIRRORHELP) + +THEMEAPI SetWindowThemeAttribute(HWND hwnd,enum WINDOWTHEMEATTRIBUTETYPE eAttribute,PVOID pvAttribute,DWORD cbAttribute); + +static __inline HRESULT SetWindowThemeNonClientAttributes(HWND hwnd,DWORD dwMask,DWORD dwAttributes) +{ + WTA_OPTIONS wta = { dwAttributes, dwMask }; + return SetWindowThemeAttribute(hwnd, WTA_NONCLIENT, &wta, sizeof(WTA_OPTIONS)); +} + +#endif + +THEMEAPI_(HTHEME) OpenThemeData(HWND hwnd,LPCWSTR pszClassList); + +#define OTD_FORCE_RECT_SIZING 0x00000001 +#define OTD_NONCLIENT 0x00000002 +#define OTD_VALIDBITS (OTD_FORCE_RECT_SIZING | OTD_NONCLIENT) +THEMEAPI_(HTHEME) OpenThemeDataForDpi(HWND hwnd, LPCWSTR pszClassList, UINT dpi); +THEMEAPI_(HTHEME) OpenThemeDataEx(HWND hwnd,LPCWSTR pszClassList,DWORD dwFlags); +THEMEAPI CloseThemeData(HTHEME hTheme); +THEMEAPI DrawThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const RECT *pClipRect); + +#define DTT_GRAYED 0x00000001 +#define DTT_FLAGS2VALIDBITS DTT_GRAYED + +THEMEAPI DrawThemeText(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,DWORD dwTextFlags2,const RECT *pRect); + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#define DTT_TEXTCOLOR (__MSABI_LONG(1U) << 0) +#define DTT_BORDERCOLOR (__MSABI_LONG(1U) << 1) +#define DTT_SHADOWCOLOR (__MSABI_LONG(1U) << 2) +#define DTT_SHADOWTYPE (__MSABI_LONG(1U) << 3) +#define DTT_SHADOWOFFSET (__MSABI_LONG(1U) << 4) +#define DTT_BORDERSIZE (__MSABI_LONG(1U) << 5) +#define DTT_FONTPROP (__MSABI_LONG(1U) << 6) +#define DTT_COLORPROP (__MSABI_LONG(1U) << 7) +#define DTT_STATEID (__MSABI_LONG(1U) << 8) +#define DTT_CALCRECT (__MSABI_LONG(1U) << 9) +#define DTT_APPLYOVERLAY (__MSABI_LONG(1U) << 10) +#define DTT_GLOWSIZE (__MSABI_LONG(1U) << 11) +#define DTT_CALLBACK (__MSABI_LONG(1U) << 12) +#define DTT_COMPOSITED (__MSABI_LONG(1U) << 13) +#define DTT_VALIDBITS (DTT_TEXTCOLOR | DTT_BORDERCOLOR | DTT_SHADOWCOLOR | DTT_SHADOWTYPE | DTT_SHADOWOFFSET | DTT_BORDERSIZE | \ + DTT_FONTPROP | DTT_COLORPROP | DTT_STATEID | DTT_CALCRECT | DTT_APPLYOVERLAY | DTT_GLOWSIZE | DTT_COMPOSITED) + +typedef int (WINAPI *DTT_CALLBACK_PROC)(HDC hdc,LPWSTR pszText,int cchText,LPRECT prc,UINT dwFlags,LPARAM lParam); + +typedef struct _DTTOPTS { + DWORD dwSize; + DWORD dwFlags; + COLORREF crText; + COLORREF crBorder; + COLORREF crShadow; + int iTextShadowType; + POINT ptShadowOffset; + int iBorderSize; + int iFontPropId; + int iColorPropId; + int iStateId; + WINBOOL fApplyOverlay; + int iGlowSize; + DTT_CALLBACK_PROC pfnDrawTextCallback; + LPARAM lParam; +} DTTOPTS, *PDTTOPTS; + +THEMEAPI DrawThemeTextEx(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwFlags,LPRECT pRect,const DTTOPTS *pOptions); +#endif + +THEMEAPI GetThemeBackgroundContentRect(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pBoundingRect,RECT *pContentRect); +THEMEAPI GetThemeBackgroundExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pContentRect,RECT *pExtentRect); + +typedef enum THEMESIZE { + TS_MIN, + TS_TRUE, + TS_DRAW +} THEMESIZE; + +THEMEAPI GetThemePartSize(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,RECT *prc,enum THEMESIZE eSize,SIZE *psz); +THEMEAPI GetThemeTextExtent(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,LPCWSTR pszText,int iCharCount,DWORD dwTextFlags,const RECT *pBoundingRect,RECT *pExtentRect); +THEMEAPI GetThemeTextMetrics(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,TEXTMETRIC *ptm); +THEMEAPI GetThemeBackgroundRegion(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HRGN *pRegion); + +#define HTTB_BACKGROUNDSEG 0x0000 +#define HTTB_FIXEDBORDER 0x0002 +#define HTTB_CAPTION 0x0004 +#define HTTB_RESIZINGBORDER_LEFT 0x0010 +#define HTTB_RESIZINGBORDER_TOP 0x0020 +#define HTTB_RESIZINGBORDER_RIGHT 0x0040 +#define HTTB_RESIZINGBORDER_BOTTOM 0x0080 + +#define HTTB_RESIZINGBORDER (HTTB_RESIZINGBORDER_LEFT|HTTB_RESIZINGBORDER_TOP| HTTB_RESIZINGBORDER_RIGHT|HTTB_RESIZINGBORDER_BOTTOM) + +#define HTTB_SIZINGTEMPLATE 0x0100 +#define HTTB_SYSTEMSIZINGMARGINS 0x0200 + +THEMEAPI HitTestThemeBackground(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,DWORD dwOptions,const RECT *pRect,HRGN hrgn,POINT ptTest,WORD *pwHitTestCode); +THEMEAPI DrawThemeEdge(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pDestRect,UINT uEdge,UINT uFlags,RECT *pContentRect); +THEMEAPI DrawThemeIcon(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,HIMAGELIST himl,int iImageIndex); +THEMEAPI_(WINBOOL) IsThemePartDefined(HTHEME hTheme,int iPartId,int iStateId); +THEMEAPI_(WINBOOL) IsThemeBackgroundPartiallyTransparent(HTHEME hTheme,int iPartId,int iStateId); +THEMEAPI GetThemeColor(HTHEME hTheme,int iPartId,int iStateId,int iPropId,COLORREF *pColor); +THEMEAPI GetThemeMetric(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,int *piVal); +THEMEAPI GetThemeString(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszBuff,int cchMaxBuffChars); +THEMEAPI GetThemeBool(HTHEME hTheme,int iPartId,int iStateId,int iPropId,WINBOOL *pfVal); +THEMEAPI GetThemeInt(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal); +THEMEAPI GetThemeEnumValue(HTHEME hTheme,int iPartId,int iStateId,int iPropId,int *piVal); +THEMEAPI GetThemePosition(HTHEME hTheme,int iPartId,int iStateId,int iPropId,POINT *pPoint); +THEMEAPI GetThemeFont(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,LOGFONTW *pFont); +THEMEAPI GetThemeRect(HTHEME hTheme,int iPartId,int iStateId,int iPropId,RECT *pRect); + +typedef struct _MARGINS { + int cxLeftWidth; + int cxRightWidth; + int cyTopHeight; + int cyBottomHeight; +} MARGINS,*PMARGINS; + +THEMEAPI GetThemeMargins(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,int iPropId,RECT *prc,MARGINS *pMargins); + +#if (NTDDI_VERSION >= NTDDI_VISTA) +#define MAX_INTLIST_COUNT 402 +#else +#define MAX_INTLIST_COUNT 10 +#endif + +typedef struct _INTLIST { + int iValueCount; + int iValues[MAX_INTLIST_COUNT]; +} INTLIST,*PINTLIST; + +THEMEAPI GetThemeIntList(HTHEME hTheme,int iPartId,int iStateId,int iPropId,INTLIST *pIntList); + +typedef enum PROPERTYORIGIN { + PO_STATE, + PO_PART, + PO_CLASS, + PO_GLOBAL, + PO_NOTFOUND +} PROPERTYORIGIN; + +THEMEAPI GetThemePropertyOrigin(HTHEME hTheme,int iPartId,int iStateId,int iPropId,enum PROPERTYORIGIN *pOrigin); +THEMEAPI SetWindowTheme(HWND hwnd,LPCWSTR pszSubAppName,LPCWSTR pszSubIdList); +THEMEAPI GetThemeFilename(HTHEME hTheme,int iPartId,int iStateId,int iPropId,LPWSTR pszThemeFileName,int cchMaxBuffChars); +THEMEAPI_(COLORREF) GetThemeSysColor(HTHEME hTheme,int iColorId); +THEMEAPI_(HBRUSH) GetThemeSysColorBrush(HTHEME hTheme,int iColorId); +THEMEAPI_(WINBOOL) GetThemeSysBool(HTHEME hTheme,int iBoolId); +THEMEAPI_(int) GetThemeSysSize(HTHEME hTheme,int iSizeId); +THEMEAPI GetThemeSysFont(HTHEME hTheme,int iFontId,LOGFONTW *plf); +THEMEAPI GetThemeSysString(HTHEME hTheme,int iStringId,LPWSTR pszStringBuff,int cchMaxStringChars); +THEMEAPI GetThemeSysInt(HTHEME hTheme,int iIntId,int *piValue); +THEMEAPI_(WINBOOL) IsThemeActive(); +THEMEAPI_(WINBOOL) IsAppThemed(); +THEMEAPI_(HTHEME) GetWindowTheme(HWND hwnd); + +#define ETDT_DISABLE 0x00000001 +#define ETDT_ENABLE 0x00000002 +#define ETDT_USETABTEXTURE 0x00000004 +#define ETDT_ENABLETAB (ETDT_ENABLE | ETDT_USETABTEXTURE) +#if (NTDDI_VERSION >= NTDDI_VISTA) +#define ETDT_USEAEROWIZARDTABTEXTURE 0x00000008 +#define ETDT_ENABLEAEROWIZARDTAB (ETDT_ENABLE | ETDT_USEAEROWIZARDTABTEXTURE) +#define ETDT_VALIDBITS (ETDT_DISABLE | ETDT_ENABLE | ETDT_USETABTEXTURE | ETDT_USEAEROWIZARDTABTEXTURE) +#endif + +THEMEAPI EnableThemeDialogTexture(HWND hwnd,DWORD dwFlags); +THEMEAPI_(WINBOOL) IsThemeDialogTextureEnabled(HWND hwnd); + +#define STAP_ALLOW_NONCLIENT (1 << 0) +#define STAP_ALLOW_CONTROLS (1 << 1) +#define STAP_ALLOW_WEBCONTENT (1 << 2) +#define STAP_VALIDBITS (STAP_ALLOW_NONCLIENT | STAP_ALLOW_CONTROLS | STAP_ALLOW_WEBCONTENT) + +THEMEAPI_(DWORD) GetThemeAppProperties(VOID); +THEMEAPI_(void) SetThemeAppProperties(DWORD dwFlags); +THEMEAPI GetCurrentThemeName(LPWSTR pszThemeFileName,int cchMaxNameChars,LPWSTR pszColorBuff,int cchMaxColorChars,LPWSTR pszSizeBuff,int cchMaxSizeChars); + +#define SZ_THDOCPROP_DISPLAYNAME L"DisplayName" +#define SZ_THDOCPROP_CANONICALNAME L"ThemeName" +#define SZ_THDOCPROP_TOOLTIP L"ToolTip" +#define SZ_THDOCPROP_AUTHOR L"author" + +THEMEAPI GetThemeDocumentationProperty(LPCWSTR pszThemeName,LPCWSTR pszPropertyName,LPWSTR pszValueBuff,int cchMaxValChars); +THEMEAPI DrawThemeParentBackground(HWND hwnd,HDC hdc,RECT *prc); + +#if (NTDDI_VERSION >= NTDDI_VISTA) +#define DTPB_WINDOWDC 0x00000001 +#define DTPB_USECTLCOLORSTATIC 0x00000002 +#define DTPB_USEERASEBKGND 0x00000004 + +THEMEAPI DrawThemeParentBackgroundEx(HWND hwnd,HDC hdc,DWORD dwFlags,const RECT *prc); +#endif + +THEMEAPI EnableTheming(WINBOOL fEnable); + +#define DTBG_CLIPRECT 0x00000001 +#define DTBG_DRAWSOLID 0x00000002 +#define DTBG_OMITBORDER 0x00000004 +#define DTBG_OMITCONTENT 0x00000008 +#define DTBG_COMPUTINGREGION 0x00000010 +#define DTBG_MIRRORDC 0x00000020 +#define DTBG_NOMIRROR 0x00000040 +#define DTBG_VALIDBITS (DTBG_CLIPRECT | DTBG_DRAWSOLID | DTBG_OMITBORDER | DTBG_OMITCONTENT | DTBG_COMPUTINGREGION | DTBG_MIRRORDC | DTBG_NOMIRROR) + +typedef struct _DTBGOPTS { + DWORD dwSize; + DWORD dwFlags; + RECT rcClip; +} DTBGOPTS,*PDTBGOPTS; + +THEMEAPI DrawThemeBackgroundEx(HTHEME hTheme,HDC hdc,int iPartId,int iStateId,const RECT *pRect,const DTBGOPTS *pOptions); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vadefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vadefs.h new file mode 100644 index 00000000..cbc1ef80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vadefs.h @@ -0,0 +1,107 @@ +/** + * 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_VADEFS +#define _INC_VADEFS + +#include <_mingw.h> + +#ifndef __WIDL__ +#undef _CRT_PACKING +#define _CRT_PACKING 8 +#pragma pack(push,_CRT_PACKING) +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined (__GNUC__) +#ifndef __GNUC_VA_LIST +#define __GNUC_VA_LIST + typedef __builtin_va_list __gnuc_va_list; +#endif +#endif /* __GNUC__ */ + +#ifndef _VA_LIST_DEFINED /* if stdargs.h didn't define it */ +#define _VA_LIST_DEFINED +#if defined(__GNUC__) + typedef __gnuc_va_list va_list; +#elif defined(_MSC_VER) + typedef char * va_list; +#elif !defined(__WIDL__) +#error VARARGS not implemented for this compiler +#endif +#endif /* _VA_LIST_DEFINED */ + +#ifdef __cplusplus +#define _ADDRESSOF(v) (&reinterpret_cast(v)) +#else +#define _ADDRESSOF(v) (&(v)) +#endif + +#if defined (__GNUC__) +/* Use GCC builtins */ + +#define _crt_va_start(v,l) __builtin_va_start(v,l) +#define _crt_va_arg(v,l) __builtin_va_arg(v,l) +#define _crt_va_end(v) __builtin_va_end(v) +#define _crt_va_copy(d,s) __builtin_va_copy(d,s) + +#elif defined(_MSC_VER) +/* MSVC specific */ + +#if defined(_M_IA64) +#define _VA_ALIGN 8 +#define _SLOTSIZEOF(t) ((sizeof(t) + _VA_ALIGN - 1) & ~(_VA_ALIGN - 1)) +#define _VA_STRUCT_ALIGN 16 +#define _ALIGNOF(ap) ((((ap)+_VA_STRUCT_ALIGN - 1) & ~(_VA_STRUCT_ALIGN -1)) - (ap)) +#define _APALIGN(t,ap) (__alignof(t) > 8 ? _ALIGNOF((uintptr_t) ap) : 0) +#else +#define _SLOTSIZEOF(t) (sizeof(t)) +#define _APALIGN(t,ap) (__alignof(t)) +#endif + +#if defined(_M_IX86) + +#define _INTSIZEOF(n) ((sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1)) +#define _crt_va_start(v,l) ((v) = (va_list)_ADDRESSOF(l) + _INTSIZEOF(l)) +#define _crt_va_arg(v,l) (*(l *)(((v) += _INTSIZEOF(l)) - _INTSIZEOF(l))) +#define _crt_va_end(v) ((v) = (va_list)0) +#define _crt_va_copy(d,s) ((d) = (s)) + +#elif defined(_M_AMD64) + +#define _PTRSIZEOF(n) ((sizeof(n) + sizeof(void*) - 1) & ~(sizeof(void*) - 1)) +#define _ISSTRUCT(t) ((sizeof(t) > sizeof(void*)) || (sizeof(t) & (sizeof(t) - 1)) != 0) +#define _crt_va_start(v,l) ((v) = (va_list)_ADDRESSOF(l) + _PTRSIZEOF(l)) +#define _crt_va_arg(v,t) _ISSTRUCT(t) ? \ + (**(t**)(((v) += sizeof(void*)) - sizeof(void*))) : \ + ( *(t *)(((v) += sizeof(void*)) - sizeof(void*))) +#define _crt_va_end(v) ((v) = (va_list)0) +#define _crt_va_copy(d,s) ((d) = (s)) + +#elif defined(_M_IA64) + +#error VARARGS not implemented for IA64 + +#else + +#error VARARGS not implemented for this TARGET + +#endif /* cpu ifdefs */ + +#endif /* compiler ifdefs */ + +#ifdef __cplusplus +} +#endif + +#ifndef __WIDL__ +#pragma pack(pop) +#endif + +#endif /* _INC_VADEFS */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/varargs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/varargs.h new file mode 100644 index 00000000..e4b699bd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/varargs.h @@ -0,0 +1,12 @@ +/** + * 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 _VARARGS_H +#define _VARARGS_H + +#error "GCC no longer implements ." +#error "Revise your code to use ." + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vcr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vcr.h new file mode 100644 index 00000000..4cce6bc2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vcr.h @@ -0,0 +1,338 @@ +/** + * 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 __VCR_H__ +#define __VCR_H__ + +#define MCI_VCR_OFFSET 1280 + +#define MCI_LIST 0x0878 +#define MCI_SETAUDIO 0x0873 +#define MCI_SETVIDEO 0x0876 +#define MCI_SIGNAL 0x0875 + +#define MCI_MARK (MCI_USER_MESSAGES + 0) +#define MCI_INDEX (MCI_USER_MESSAGES + 1) +#define MCI_SETTUNER (MCI_USER_MESSAGES + 2) +#define MCI_SETVCR (MCI_USER_MESSAGES + 3) +#define MCI_SETTIMECODE (MCI_USER_MESSAGES + 4) + +#define MCI_TEST __MSABI_LONG(0x00000020) + +#define MCI_VCR_GETDEVCAPS_CAN_DETECT_LENGTH __MSABI_LONG(0x00004001) +#define MCI_VCR_GETDEVCAPS_SEEK_ACCURACY __MSABI_LONG(0x00004002) +#define MCI_VCR_GETDEVCAPS_HAS_CLOCK __MSABI_LONG(0x00004003) +#define MCI_VCR_GETDEVCAPS_CAN_REVERSE __MSABI_LONG(0x00004004) +#define MCI_VCR_GETDEVCAPS_NUMBER_OF_MARKS __MSABI_LONG(0x00004005) +#define MCI_VCR_GETDEVCAPS_CAN_TEST __MSABI_LONG(0x00004006) +#define MCI_VCR_GETDEVCAPS_CAN_PREROLL __MSABI_LONG(0x00004007) +#define MCI_VCR_GETDEVCAPS_CAN_PREVIEW __MSABI_LONG(0x00004008) +#define MCI_VCR_GETDEVCAPS_CAN_MONITOR_SOURCES __MSABI_LONG(0x00004009) +#define MCI_VCR_GETDEVCAPS_HAS_TIMECODE __MSABI_LONG(0x0000400A) +#define MCI_VCR_GETDEVCAPS_CAN_FREEZE __MSABI_LONG(0x0000401B) +#define MCI_VCR_GETDEVCAPS_CLOCK_INCREMENT_RATE __MSABI_LONG(0x0000401C) + +#define MCI_VCR_INFO_VERSION __MSABI_LONG(0x00010000) + +#define MCI_VCR_PLAY_REVERSE __MSABI_LONG(0x00010000) +#define MCI_VCR_PLAY_AT __MSABI_LONG(0x00020000) +#define MCI_VCR_PLAY_SCAN __MSABI_LONG(0x00040000) + +#define MCI_VCR_RECORD_INITIALIZE __MSABI_LONG(0x00010000) +#define MCI_VCR_RECORD_AT __MSABI_LONG(0x00020000) +#define MCI_VCR_RECORD_PREVIEW __MSABI_LONG(0x00040000) + +#define MCI_VCR_CUE_INPUT __MSABI_LONG(0x00010000) +#define MCI_VCR_CUE_OUTPUT __MSABI_LONG(0x00020000) +#define MCI_VCR_CUE_PREROLL __MSABI_LONG(0x00040000) +#define MCI_VCR_CUE_REVERSE __MSABI_LONG(0x00080000) + +#define MCI_VCR_SEEK_REVERSE __MSABI_LONG(0x00010000) +#define MCI_VCR_SEEK_MARK __MSABI_LONG(0x00020000) +#define MCI_VCR_SEEK_AT __MSABI_LONG(0x00040000) + +#define MCI_VCR_SETTUNER_CHANNEL __MSABI_LONG(0x00010000) +#define MCI_VCR_SETTUNER_CHANNEL_UP __MSABI_LONG(0x00020000) +#define MCI_VCR_SETTUNER_CHANNEL_DOWN __MSABI_LONG(0x00040000) +#define MCI_VCR_SETTUNER_CHANNEL_SEEK_UP __MSABI_LONG(0x00080000) +#define MCI_VCR_SETTUNER_CHANNEL_SEEK_DOWN __MSABI_LONG(0x00100000) +#define MCI_VCR_SETTUNER_NUMBER __MSABI_LONG(0x00200000) + +#define MCI_VCR_SET_TIME_MODE __MSABI_LONG(0x00010000) +#define MCI_VCR_SET_POWER __MSABI_LONG(0x00020000) +#define MCI_VCR_SET_RECORD_FORMAT __MSABI_LONG(0x00040000) +#define MCI_VCR_SET_COUNTER_FORMAT __MSABI_LONG(0x00080000) +#define MCI_VCR_SET_INDEX __MSABI_LONG(0x00100000) +#define MCI_VCR_SET_ASSEMBLE_RECORD __MSABI_LONG(0x00200000) +#define MCI_VCR_SET_TRACKING __MSABI_LONG(0x00400000) +#define MCI_VCR_SET_SPEED __MSABI_LONG(0x00800000) +#define MCI_VCR_SET_TAPE_LENGTH __MSABI_LONG(0x01000000) +#define MCI_VCR_SET_COUNTER_VALUE __MSABI_LONG(0x02000000) +#define MCI_VCR_SET_CLOCK __MSABI_LONG(0x04000000) +#define MCI_VCR_SET_PAUSE_TIMEOUT __MSABI_LONG(0x08000000) +#define MCI_VCR_SET_PREROLL_DURATION __MSABI_LONG(0x10000000) +#define MCI_VCR_SET_POSTROLL_DURATION __MSABI_LONG(0x20000000) + +#define MCI_VCR_SETTIMECODE_RECORD __MSABI_LONG(0x00010000) + +#define MCI_VCR_STATUS_FRAME_RATE __MSABI_LONG(0x00004001) +#define MCI_VCR_STATUS_SPEED __MSABI_LONG(0x00004002) +#define MCI_VCR_STATUS_MEDIA_TYPE __MSABI_LONG(0x00004003) +#define MCI_VCR_STATUS_RECORD_FORMAT __MSABI_LONG(0x00004004) +#define MCI_VCR_STATUS_PLAY_FORMAT __MSABI_LONG(0x00004005) +#define MCI_VCR_STATUS_AUDIO_SOURCE __MSABI_LONG(0x00004006) +#define MCI_VCR_STATUS_AUDIO_SOURCE_NUMBER __MSABI_LONG(0x00004007) +#define MCI_VCR_STATUS_VIDEO_SOURCE __MSABI_LONG(0x00004008) +#define MCI_VCR_STATUS_VIDEO_SOURCE_NUMBER __MSABI_LONG(0x00004009) +#define MCI_VCR_STATUS_AUDIO_MONITOR __MSABI_LONG(0x0000400A) +#define MCI_VCR_STATUS_AUDIO_MONITOR_NUMBER __MSABI_LONG(0x0000400B) +#define MCI_VCR_STATUS_VIDEO_MONITOR __MSABI_LONG(0x0000400C) +#define MCI_VCR_STATUS_VIDEO_MONITOR_NUMBER __MSABI_LONG(0x0000400D) +#define MCI_VCR_STATUS_INDEX_ON __MSABI_LONG(0x0000400E) +#define MCI_VCR_STATUS_INDEX __MSABI_LONG(0x0000400F) +#define MCI_VCR_STATUS_COUNTER_FORMAT __MSABI_LONG(0x00004010) +#define MCI_VCR_STATUS_COUNTER_RESOLUTION __MSABI_LONG(0x00004011) +#define MCI_VCR_STATUS_TIMECODE_TYPE __MSABI_LONG(0x00004012) +#define MCI_VCR_STATUS_COUNTER_VALUE __MSABI_LONG(0x00004013) +#define MCI_VCR_STATUS_TUNER_CHANNEL __MSABI_LONG(0x00004014) +#define MCI_VCR_STATUS_WRITE_PROTECTED __MSABI_LONG(0x00004015) +#define MCI_VCR_STATUS_TIMECODE_RECORD __MSABI_LONG(0x00004016) +#define MCI_VCR_STATUS_VIDEO_RECORD __MSABI_LONG(0x00004017) +#define MCI_VCR_STATUS_AUDIO_RECORD __MSABI_LONG(0x00004018) +#define MCI_VCR_STATUS_TIME_TYPE __MSABI_LONG(0x00004019) +#define MCI_VCR_STATUS_TIME_MODE __MSABI_LONG(0x0000401A) +#define MCI_VCR_STATUS_POWER_ON __MSABI_LONG(0x0000401B) +#define MCI_VCR_STATUS_CLOCK __MSABI_LONG(0x0000401C) +#define MCI_VCR_STATUS_ASSEMBLE_RECORD __MSABI_LONG(0x0000401D) +#define MCI_VCR_STATUS_TIMECODE_PRESENT __MSABI_LONG(0x0000401E) +#define MCI_VCR_STATUS_NUMBER_OF_VIDEO_TRACKS __MSABI_LONG(0x0000401F) +#define MCI_VCR_STATUS_NUMBER_OF_AUDIO_TRACKS __MSABI_LONG(0x00004020) +#define MCI_VCR_STATUS_CLOCK_ID __MSABI_LONG(0x00004021) +#define MCI_VCR_STATUS_PAUSE_TIMEOUT __MSABI_LONG(0x00004022) +#define MCI_VCR_STATUS_PREROLL_DURATION __MSABI_LONG(0x00004023) +#define MCI_VCR_STATUS_POSTROLL_DURATION __MSABI_LONG(0x00004024) +#define MCI_VCR_STATUS_VIDEO __MSABI_LONG(0x00004025) +#define MCI_VCR_STATUS_AUDIO __MSABI_LONG(0x00004026) + +#define MCI_VCR_STATUS_NUMBER __MSABI_LONG(0x00080000) + +#define MCI_VCR_ESCAPE_STRING __MSABI_LONG(0x00000100) + +#define MCI_VCR_LIST_VIDEO_SOURCE __MSABI_LONG(0x00010000) +#define MCI_VCR_LIST_AUDIO_SOURCE __MSABI_LONG(0x00020000) +#define MCI_VCR_LIST_COUNT __MSABI_LONG(0x00040000) +#define MCI_VCR_LIST_NUMBER __MSABI_LONG(0x00080000) + +#define MCI_VCR_MARK_WRITE __MSABI_LONG(0x00010000) +#define MCI_VCR_MARK_ERASE __MSABI_LONG(0x00020000) + +#define MCI_VCR_SETAUDIO_RECORD __MSABI_LONG(0x00010000) +#define MCI_VCR_SETAUDIO_SOURCE __MSABI_LONG(0x00020000) +#define MCI_VCR_SETAUDIO_MONITOR __MSABI_LONG(0x00040000) +#define MCI_VCR_SETAUDIO_TO __MSABI_LONG(0x00200000) +#define MCI_VCR_SETAUDIO_NUMBER __MSABI_LONG(0x00400000) + +#define MCI_VCR_SETVIDEO_RECORD __MSABI_LONG(0x00010000) +#define MCI_VCR_SETVIDEO_SOURCE __MSABI_LONG(0x00020000) +#define MCI_VCR_SETVIDEO_MONITOR __MSABI_LONG(0x00040000) +#define MCI_VCR_SETVIDEO_TO __MSABI_LONG(0x00100000) +#define MCI_VCR_SETVIDEO_NUMBER __MSABI_LONG(0x00200000) + +#define SEND_VCRSIGNAL(dwFlags,dwCallback,hDriver,wDeviceID,dwUser,dwPos) DriverCallback((dwCallback),DCB_WINDOW,(HANDLE)(wDeviceID),MM_MCISIGNAL,hDriver,((dwFlags) & MCI_VCR_SIGNAL_POSITION) ? (dwPos):(dwUser),((dwFlags) & MCI_VCR_SIGNAL_POSITION) ? (dwUser):(dwPos)) + +#define MM_MCISIGNAL 0x3CB + +#define MCI_VCR_SIGNAL_AT __MSABI_LONG(0x00010000) +#define MCI_VCR_SIGNAL_EVERY __MSABI_LONG(0x00020000) +#define MCI_VCR_SIGNAL_USERVAL __MSABI_LONG(0x00040000) +#define MCI_VCR_SIGNAL_CANCEL __MSABI_LONG(0x00080000) +#define MCI_VCR_SIGNAL_POSITION __MSABI_LONG(0x00100000) + +#define MCI_VCR_STEP_FRAMES __MSABI_LONG(0x00010000) +#define MCI_VCR_STEP_REVERSE __MSABI_LONG(0x00020000) + +#define MCI_VCR_FREEZE_INPUT __MSABI_LONG(0x00010000) +#define MCI_VCR_FREEZE_OUTPUT __MSABI_LONG(0x00020000) +#define MCI_VCR_FREEZE_FIELD __MSABI_LONG(0x00040000) +#define MCI_VCR_FREEZE_FRAME __MSABI_LONG(0x00080000) + +#define MCI_VCR_UNFREEZE_INPUT __MSABI_LONG(0x00010000) +#define MCI_VCR_UNFREEZE_OUTPUT __MSABI_LONG(0x00020000) + +#define MCI_VCR_MEDIA_8MM (MCI_VCR_OFFSET + 1) +#define MCI_VCR_MEDIA_HI8 (MCI_VCR_OFFSET + 2) +#define MCI_VCR_MEDIA_VHS (MCI_VCR_OFFSET + 3) +#define MCI_VCR_MEDIA_SVHS (MCI_VCR_OFFSET + 4) +#define MCI_VCR_MEDIA_BETA (MCI_VCR_OFFSET + 5) +#define MCI_VCR_MEDIA_EDBETA (MCI_VCR_OFFSET + 6) +#define MCI_VCR_MEDIA_OTHER (MCI_VCR_OFFSET + 7) + +#define MCI_VCR_FORMAT_SP (MCI_VCR_OFFSET + 8) +#define MCI_VCR_FORMAT_LP (MCI_VCR_OFFSET + 9) +#define MCI_VCR_FORMAT_EP (MCI_VCR_OFFSET + 10) +#define MCI_VCR_FORMAT_OTHER (MCI_VCR_OFFSET + 11) + +#define MCI_VCR_TIME_TIMECODE (MCI_VCR_OFFSET + 12) +#define MCI_VCR_TIME_COUNTER (MCI_VCR_OFFSET + 13) +#define MCI_VCR_TIME_DETECT (MCI_VCR_OFFSET + 14) + +#define MCI_VCR_SRC_TYPE_TUNER (MCI_VCR_OFFSET + 15) +#define MCI_VCR_SRC_TYPE_LINE (MCI_VCR_OFFSET + 16) +#define MCI_VCR_SRC_TYPE_SVIDEO (MCI_VCR_OFFSET + 17) +#define MCI_VCR_SRC_TYPE_RGB (MCI_VCR_OFFSET + 18) +#define MCI_VCR_SRC_TYPE_AUX (MCI_VCR_OFFSET + 19) +#define MCI_VCR_SRC_TYPE_GENERIC (MCI_VCR_OFFSET + 20) +#define MCI_VCR_SRC_TYPE_MUTE (MCI_VCR_OFFSET + 21) +#define MCI_VCR_SRC_TYPE_OUTPUT (MCI_VCR_OFFSET + 22) + +#define MCI_VCR_INDEX_TIMECODE (MCI_VCR_OFFSET + 23) +#define MCI_VCR_INDEX_COUNTER (MCI_VCR_OFFSET + 24) +#define MCI_VCR_INDEX_DATE (MCI_VCR_OFFSET + 25) +#define MCI_VCR_INDEX_TIME (MCI_VCR_OFFSET + 26) + +#define MCI_VCR_COUNTER_RES_SECONDS (MCI_VCR_OFFSET + 27) +#define MCI_VCR_COUNTER_RES_FRAMES (MCI_VCR_OFFSET + 28) + +#define MCI_VCR_TIMECODE_TYPE_SMPTE (MCI_VCR_OFFSET + 29) +#define MCI_VCR_TIMECODE_TYPE_SMPTE_DROP (MCI_VCR_OFFSET + 30) +#define MCI_VCR_TIMECODE_TYPE_OTHER (MCI_VCR_OFFSET + 31) +#define MCI_VCR_TIMECODE_TYPE_NONE (MCI_VCR_OFFSET + 32) + +#define MCI_VCR_PLUS (MCI_VCR_OFFSET + 33) +#define MCI_VCR_MINUS (MCI_VCR_OFFSET + 34) +#define MCI_VCR_RESET (MCI_VCR_OFFSET + 35) + +#ifndef RC_INVOKED + +typedef struct tagMCI_VCR_SEEK_PARMS { + DWORD dwCallback; + DWORD dwTo; + DWORD dwMark; + DWORD dwAt; +} MCI_VCR_SEEK_PARMS; +typedef MCI_VCR_SEEK_PARMS *LPMCI_VCR_SEEK_PARMS; + +typedef struct tagMCI_VCR_SET_PARMS { + DWORD dwCallback; + DWORD dwTimeFormat; + DWORD dwAudio; + DWORD dwTimeMode; + DWORD dwRecordFormat; + DWORD dwCounterFormat; + DWORD dwIndex; + DWORD dwTracking; + DWORD dwSpeed; + DWORD dwLength; + DWORD dwCounter; + DWORD dwClock; + DWORD dwPauseTimeout; + DWORD dwPrerollDuration; + DWORD dwPostrollDuration; +} MCI_VCR_SET_PARMS; +typedef MCI_VCR_SET_PARMS *LPMCI_VCR_SET_PARMS; + +typedef struct tagMCI_VCR_SETTUNER_PARMS { + DWORD dwCallback; + DWORD dwChannel; + DWORD dwNumber; +} MCI_VCR_SETTUNER_PARMS; +typedef MCI_VCR_SETTUNER_PARMS *LPMCI_VCR_SETTUNER_PARMS; + +typedef struct tagMCI_VCR_ESCAPE_PARMS { + DWORD dwCallback; + LPCSTR lpstrCommand; +} MCI_VCR_ESCAPE_PARMS; +typedef MCI_VCR_ESCAPE_PARMS *LPMCI_VCR_ESCAPE_PARMS; + +typedef struct tagMCI_VCR_LIST_PARMS { + DWORD dwCallback; + DWORD dwReturn; + DWORD dwNumber; +} MCI_VCR_LIST_PARMS; +typedef MCI_VCR_LIST_PARMS *LPMCI_VCR_LIST_PARMS; + +typedef struct tagMCI_VCR_RECORD_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; + DWORD dwAt; +} MCI_VCR_RECORD_PARMS; +typedef MCI_VCR_RECORD_PARMS *LPMCI_VCR_RECORD_PARMS; + +typedef struct tagMCI_VCR_PLAY_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; + DWORD dwAt; +} MCI_VCR_PLAY_PARMS; +typedef MCI_VCR_PLAY_PARMS *LPMCI_VCR_PLAY_PARMS; + +typedef struct tagMCI_VCR_SETAUDIO_PARMS { + DWORD dwCallback; + DWORD dwTrack; + DWORD dwTo; + DWORD dwNumber; +} MCI_VCR_SETAUDIO_PARMS; +typedef MCI_VCR_SETAUDIO_PARMS *LPMCI_VCR_SETAUDIO_PARMS; + +typedef struct tagMCI_VCR_SIGNAL_PARMS { + DWORD dwCallback; + DWORD dwPosition; + DWORD dwPeriod; + DWORD dwUserParm; +} MCI_VCR_SIGNAL_PARMS; +typedef MCI_VCR_SIGNAL_PARMS *LPMCI_VCR_SIGNAL_PARMS; + +typedef struct tagMCI_VCR_STATUS_PARMS { + DWORD dwCallback; + DWORD dwReturn; + DWORD dwItem; + DWORD dwTrack; + DWORD dwNumber; +} MCI_VCR_STATUS_PARMS; +typedef MCI_VCR_STATUS_PARMS *LPMCI_VCR_STATUS_PARMS; + +typedef struct tagMCI_VCR_SETVIDEO_PARMS { + DWORD dwCallback; + DWORD dwTrack; + DWORD dwTo; + DWORD dwNumber; +} MCI_VCR_SETVIDEO_PARMS; +typedef MCI_VCR_SETVIDEO_PARMS *LPMCI_VCR_SETVIDEO_PARMS; + +typedef struct tagMCI_VCR_STEP_PARMS { + DWORD dwCallback; + DWORD dwFrames; +} MCI_VCR_STEP_PARMS; +typedef MCI_VCR_STEP_PARMS *LPMCI_VCR_STEP_PARMS; + +typedef struct tagMCI_VCR_CUE_PARMS { + DWORD dwCallback; + DWORD dwFrom; + DWORD dwTo; +} MCI_VCR_CUE_PARMS; +typedef MCI_VCR_CUE_PARMS *LPMCI_VCR_CUE_PARMS; +#endif + +#define MCIERR_VCR_CANNOT_OPEN_COMM (MCIERR_CUSTOM_DRIVER_BASE + 1) +#define MCIERR_VCR_CANNOT_WRITE_COMM (MCIERR_CUSTOM_DRIVER_BASE + 2) +#define MCIERR_VCR_READ_TIMEOUT (MCIERR_CUSTOM_DRIVER_BASE + 3) +#define MCIERR_VCR_COMMAND_BUFFER_FULL (MCIERR_CUSTOM_DRIVER_BASE + 4) +#define MCIERR_VCR_COMMAND_CANCELLED (MCIERR_CUSTOM_DRIVER_BASE + 5) +#define MCIERR_VCR_POWER_OFF (MCIERR_CUSTOM_DRIVER_BASE + 6) +#define MCIERR_VCR_COMMAND_FAILED (MCIERR_CUSTOM_DRIVER_BASE + 7) +#define MCIERR_VCR_SEARCH (MCIERR_CUSTOM_DRIVER_BASE + 8) +#define MCIERR_VCR_CONDITION (MCIERR_CUSTOM_DRIVER_BASE + 9) +#define MCIERR_VCR_CAMERA_MODE (MCIERR_CUSTOM_DRIVER_BASE + 10) +#define MCIERR_VCR_VCR_MODE (MCIERR_CUSTOM_DRIVER_BASE + 11) +#define MCIERR_VCR_COUNTER_TYPE (MCIERR_CUSTOM_DRIVER_BASE + 12) +#define MCIERR_VCR_TUNER (MCIERR_CUSTOM_DRIVER_BASE + 13) +#define MCIERR_VCR_EMERGENCY_STOP (MCIERR_CUSTOM_DRIVER_BASE + 14) +#define MCIERR_VCR_MEDIA_UNMOUNTED (MCIERR_CUSTOM_DRIVER_BASE + 15) +#define MCIERR_VCR_REGISTER (MCIERR_CUSTOM_DRIVER_BASE + 16) +#define MCIERR_VCR_TRACK_FAILURE (MCIERR_CUSTOM_DRIVER_BASE + 17) +#define MCIERR_VCR_CUE_FAILED_FLAGS (MCIERR_CUSTOM_DRIVER_BASE + 18) +#define MCIERR_VCR_ISWRITEPROTECTED (MCIERR_CUSTOM_DRIVER_BASE + 19) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdmdbg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdmdbg.h new file mode 100644 index 00000000..f6e47a3d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdmdbg.h @@ -0,0 +1,343 @@ +/** + * 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 _VDMDBG_ +#define _VDMDBG_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define STATUS_VDM_EVENT STATUS_SEGMENT_NOTIFICATION + +#ifndef DBG_SEGLOAD +#define DBG_SEGLOAD 0 +#define DBG_SEGMOVE 1 +#define DBG_SEGFREE 2 +#define DBG_MODLOAD 3 +#define DBG_MODFREE 4 +#define DBG_SINGLESTEP 5 +#define DBG_BREAK 6 +#define DBG_GPFAULT 7 +#define DBG_DIVOVERFLOW 8 +#define DBG_INSTRFAULT 9 +#define DBG_TASKSTART 10 +#define DBG_TASKSTOP 11 +#define DBG_DLLSTART 12 +#define DBG_DLLSTOP 13 +#define DBG_ATTACH 14 +#define DBG_TOOLHELP 15 +#define DBG_STACKFAULT 16 +#define DBG_WOWINIT 17 +#define DBG_TEMPBP 18 +#define DBG_MODMOVE 19 +#define DBG_INIT 20 +#define DBG_GPFAULT2 21 +#endif + +#define VDMEVENT_NEEDS_INTERACTIVE 0x8000 +#define VDMEVENT_VERBOSE 0x4000 +#define VDMEVENT_PE 0x2000 +#define VDMEVENT_ALLFLAGS 0xe000 + +#define VDMEVENT_V86 0x0001 +#define VDMEVENT_PM16 0x0002 + +#define VDMCONTEXT_i386 0x00010000 +#define VDMCONTEXT_i486 0x00010000 + +#define VDMCONTEXT_CONTROL (VDMCONTEXT_i386 | __MSABI_LONG(0x00000001)) +#define VDMCONTEXT_INTEGER (VDMCONTEXT_i386 | __MSABI_LONG(0x00000002)) +#define VDMCONTEXT_SEGMENTS (VDMCONTEXT_i386 | __MSABI_LONG(0x00000004)) +#define VDMCONTEXT_FLOATING_POINT (VDMCONTEXT_i386 | __MSABI_LONG(0x00000008)) +#define VDMCONTEXT_DEBUG_REGISTERS (VDMCONTEXT_i386 | __MSABI_LONG(0x00000010)) +#define VDMCONTEXT_EXTENDED_REGISTERS (VDMCONTEXT_i386 | __MSABI_LONG(0x00000020)) + +#define VDMCONTEXT_FULL (VDMCONTEXT_CONTROL | VDMCONTEXT_INTEGER | VDMCONTEXT_SEGMENTS) + +#ifdef _X86_ + + typedef struct _CONTEXT VDMCONTEXT; + typedef struct _LDT_ENTRY VDMLDT_ENTRY; +#else + +#define SIZE_OF_80387_REGISTERS 80 + + typedef struct _FLOATING_SAVE_AREA { + ULONG ControlWord; + ULONG StatusWord; + ULONG TagWord; + ULONG ErrorOffset; + ULONG ErrorSelector; + ULONG DataOffset; + ULONG DataSelector; + UCHAR RegisterArea[SIZE_OF_80387_REGISTERS]; + ULONG Cr0NpxState; + } FLOATING_SAVE_AREA; + + typedef struct _VDMCONTEXT { + ULONG ContextFlags; + + ULONG Dr0; + ULONG Dr1; + ULONG Dr2; + ULONG Dr3; + ULONG Dr6; + ULONG Dr7; + + FLOATING_SAVE_AREA FloatSave; + ULONG SegGs; + ULONG SegFs; + ULONG SegEs; + ULONG SegDs; + ULONG Edi; + ULONG Esi; + ULONG Ebx; + ULONG Edx; + ULONG Ecx; + ULONG Eax; + ULONG Ebp; + ULONG Eip; + ULONG SegCs; + ULONG EFlags; + ULONG Esp; + ULONG SegSs; + } VDMCONTEXT; + + typedef struct _VDMLDT_ENTRY { + USHORT LimitLow; + USHORT BaseLow; + union { + struct { + UCHAR BaseMid; + UCHAR Flags1; + UCHAR Flags2; + UCHAR BaseHi; + } Bytes; + struct { + ULONG BaseMid : 8; + ULONG Type : 5; + ULONG Dpl : 2; + ULONG Pres : 1; + ULONG LimitHi : 4; + ULONG Sys : 1; + ULONG Reserved_0 : 1; + ULONG Default_Big : 1; + ULONG Granularity : 1; + ULONG BaseHi : 8; + } Bits; + } HighWord; + } VDMLDT_ENTRY; +#endif + + typedef VDMCONTEXT *LPVDMCONTEXT; + typedef VDMLDT_ENTRY *LPVDMLDT_ENTRY; + +#define VDMCONTEXT_TO_PROGRAM_COUNTER(Context) (PVOID)((Context)->Eip) + +#define VDMCONTEXT_LENGTH (sizeof(VDMCONTEXT)) +#define VDMCONTEXT_ALIGN (sizeof(ULONG)) +#define VDMCONTEXT_ROUND (VDMCONTEXT_ALIGN - 1) + +#define V86FLAGS_CARRY 0x00001 +#define V86FLAGS_PARITY 0x00004 +#define V86FLAGS_AUXCARRY 0x00010 +#define V86FLAGS_ZERO 0x00040 +#define V86FLAGS_SIGN 0x00080 +#define V86FLAGS_TRACE 0x00100 +#define V86FLAGS_INTERRUPT 0x00200 +#define V86FLAGS_DIRECTION 0x00400 +#define V86FLAGS_OVERFLOW 0x00800 +#define V86FLAGS_IOPL 0x03000 +#define V86FLAGS_IOPL_BITS 0x12 +#define V86FLAGS_RESUME 0x10000 +#define V86FLAGS_V86 0x20000 +#define V86FLAGS_ALIGNMENT 0x40000 + +#define MAX_MODULE_NAME 8 + 1 +#define MAX_PATH16 255 + + typedef struct _SEGMENT_NOTE { + WORD Selector1; + WORD Selector2; + WORD Segment; + CHAR Module[MAX_MODULE_NAME+1]; + CHAR FileName[MAX_PATH16+1]; + WORD Type; + DWORD Length; + } SEGMENT_NOTE; + + typedef struct _IMAGE_NOTE { + CHAR Module[MAX_MODULE_NAME+1]; + CHAR FileName[MAX_PATH16+1]; + WORD hModule; + WORD hTask; + } IMAGE_NOTE; + + typedef struct { + DWORD dwSize; + char szModule[MAX_MODULE_NAME+1]; + HANDLE hModule; + WORD wcUsage; + char szExePath[MAX_PATH16+1]; + WORD wNext; + } MODULEENTRY,*LPMODULEENTRY; + +#define SN_CODE 0 +#define SN_DATA 1 +#define SN_V86 2 + + typedef struct _TEMP_BP_NOTE { + WORD Seg; + DWORD Offset; + WINBOOL bPM; + } TEMP_BP_NOTE; + + typedef struct _VDM_SEGINFO { + WORD Selector; + WORD SegNumber; + DWORD Length; + WORD Type; + CHAR ModuleName[MAX_MODULE_NAME]; + CHAR FileName[MAX_PATH16]; + } VDM_SEGINFO; + +#define GLOBAL_ALL 0 +#define GLOBAL_LRU 1 +#define GLOBAL_FREE 2 + +#define GT_UNKNOWN 0 +#define GT_DGROUP 1 +#define GT_DATA 2 +#define GT_CODE 3 +#define GT_TASK 4 +#define GT_RESOURCE 5 +#define GT_MODULE 6 +#define GT_FREE 7 +#define GT_INTERNAL 8 +#define GT_SENTINEL 9 +#define GT_BURGERMASTER 10 + +#define GD_USERDEFINED 0 +#define GD_CURSORCOMPONENT 1 +#define GD_BITMAP 2 +#define GD_ICONCOMPONENT 3 +#define GD_MENU 4 +#define GD_DIALOG 5 +#define GD_STRING 6 +#define GD_FONTDIR 7 +#define GD_FONT 8 +#define GD_ACCELERATORS 9 +#define GD_RCDATA 10 +#define GD_ERRTABLE 11 +#define GD_CURSOR 12 +#define GD_ICON 14 +#define GD_NAMETABLE 15 +#define GD_MAX_RESOURCE 15 + + typedef struct { + DWORD dwSize; + DWORD dwAddress; + DWORD dwBlockSize; + HANDLE hBlock; + WORD wcLock; + WORD wcPageLock; + WORD wFlags; + WINBOOL wHeapPresent; + HANDLE hOwner; + WORD wType; + WORD wData; + DWORD dwNext; + DWORD dwNextAlt; + } GLOBALENTRY,*LPGLOBALENTRY; + + typedef DWORD (CALLBACK *DEBUGEVENTPROC)(LPDEBUG_EVENT,LPVOID); + +#define W1(x) ((USHORT)(x.ExceptionInformation[0])) +#define W2(x) ((USHORT)(x.ExceptionInformation[0] >> 16)) +#define W3(x) ((USHORT)(x.ExceptionInformation[1])) +#define W4(x) ((USHORT)(x.ExceptionInformation[1] >> 16)) +#define DW3(x) (x.ExceptionInformation[2]) +#define DW4(x) (x.ExceptionInformation[3]) + +#include + + WINBOOL WINAPI VDMProcessException(LPDEBUG_EVENT lpDebugEvent); + WINBOOL WINAPI VDMGetThreadSelectorEntry(HANDLE hProcess,HANDLE hThread,WORD wSelector,LPVDMLDT_ENTRY lpSelectorEntry); + ULONG WINAPI VDMGetPointer(HANDLE hProcess,HANDLE hThread,WORD wSelector,DWORD dwOffset,WINBOOL fProtMode); + WINBOOL WINAPI VDMGetContext(HANDLE hProcess,HANDLE hThread,LPVDMCONTEXT lpVDMContext); + WINBOOL WINAPI VDMSetContext(HANDLE hProcess,HANDLE hThread,LPVDMCONTEXT lpVDMContext); + WINBOOL WINAPI VDMGetSelectorModule(HANDLE hProcess,HANDLE hThread,WORD wSelector,PUINT lpSegmentNumber,LPSTR lpModuleName,UINT nNameSize,LPSTR lpModulePath,UINT nPathSize); + WINBOOL WINAPI VDMGetModuleSelector(HANDLE hProcess,HANDLE hThread,UINT wSegmentNumber,LPSTR lpModuleName,LPWORD lpSelector); + WINBOOL WINAPI VDMModuleFirst(HANDLE hProcess,HANDLE hThread,LPMODULEENTRY lpModuleEntry,DEBUGEVENTPROC lpEventProc,LPVOID lpData); + WINBOOL WINAPI VDMModuleNext(HANDLE hProcess,HANDLE hThread,LPMODULEENTRY lpModuleEntry,DEBUGEVENTPROC lpEventProc,LPVOID lpData); + WINBOOL WINAPI VDMGlobalFirst(HANDLE hProcess,HANDLE hThread,LPGLOBALENTRY lpGlobalEntry,WORD wFlags,DEBUGEVENTPROC lpEventProc,LPVOID lpData); + WINBOOL WINAPI VDMGlobalNext(HANDLE hProcess,HANDLE hThread,LPGLOBALENTRY lpGlobalEntry,WORD wFlags,DEBUGEVENTPROC lpEventProc,LPVOID lpData); + + typedef WINBOOL (WINAPI *PROCESSENUMPROC)(DWORD dwProcessId,DWORD dwAttributes,LPARAM lpUserDefined); + typedef WINBOOL (WINAPI *TASKENUMPROC)(DWORD dwThreadId,WORD hMod16,WORD hTask16,LPARAM lpUserDefined); + typedef WINBOOL (WINAPI *TASKENUMPROCEX)(DWORD dwThreadId,WORD hMod16,WORD hTask16,PSZ pszModName,PSZ pszFileName,LPARAM lpUserDefined); + +#define WOW_SYSTEM (DWORD)0x0001 + + INT WINAPI VDMEnumProcessWOW(PROCESSENUMPROC fp,LPARAM lparam); + INT WINAPI VDMEnumTaskWOW(DWORD dwProcessId,TASKENUMPROC fp,LPARAM lparam); + INT WINAPI VDMEnumTaskWOWEx(DWORD dwProcessId,TASKENUMPROCEX fp,LPARAM lparam); + WINBOOL WINAPI VDMTerminateTaskWOW(DWORD dwProcessId,WORD htask); + WINBOOL WINAPI VDMStartTaskInWOW(DWORD dwProcessId,LPSTR lpCommandLine,WORD wShow); + WINBOOL WINAPI VDMKillWOW(VOID); + WINBOOL WINAPI VDMDetectWOW(VOID); + WINBOOL WINAPI VDMBreakThread(HANDLE hProcess,HANDLE hThread); + DWORD WINAPI VDMGetDbgFlags(HANDLE hProcess); + WINBOOL WINAPI VDMSetDbgFlags(HANDLE hProcess,DWORD dwFlags); + +#define VDMDBG_BREAK_DOSTASK 0x00000001 +#define VDMDBG_BREAK_WOWTASK 0x00000002 +#define VDMDBG_BREAK_LOADDLL 0x00000004 +#define VDMDBG_BREAK_EXCEPTIONS 0x00000008 +#define VDMDBG_BREAK_DEBUGGER 0x00000010 +#define VDMDBG_TRACE_HISTORY 0x00000080 + + WINBOOL WINAPI VDMIsModuleLoaded(LPSTR szPath); + WINBOOL WINAPI VDMGetSegmentInfo(WORD Selector,ULONG Offset,WINBOOL bProtectMode,VDM_SEGINFO *pSegInfo); + WINBOOL WINAPI VDMGetSymbol(LPSTR szModule,WORD SegNumber,DWORD Offset,WINBOOL bProtectMode,WINBOOL bNextSymbol,LPSTR szSymbolName,PDWORD pDisplacement); + WINBOOL WINAPI VDMGetAddrExpression(LPSTR szModule,LPSTR szSymbol,PWORD Selector,PDWORD Offset,PWORD Type); + +#define VDMADDR_V86 2 +#define VDMADDR_PM16 4 +#define VDMADDR_PM32 16 + + typedef WINBOOL (WINAPI *VDMPROCESSEXCEPTIONPROC)(LPDEBUG_EVENT); + typedef WINBOOL (WINAPI *VDMGETTHREADSELECTORENTRYPROC)(HANDLE,HANDLE,DWORD,LPVDMLDT_ENTRY); + typedef ULONG (WINAPI *VDMGETPOINTERPROC)(HANDLE,HANDLE,WORD,DWORD,WINBOOL); + typedef WINBOOL (WINAPI *VDMGETCONTEXTPROC)(HANDLE,HANDLE,LPVDMCONTEXT); + typedef WINBOOL (WINAPI *VDMSETCONTEXTPROC)(HANDLE,HANDLE,LPVDMCONTEXT); + typedef WINBOOL (WINAPI *VDMKILLWOWPROC)(VOID); + typedef WINBOOL (WINAPI *VDMDETECTWOWPROC)(VOID); + typedef WINBOOL (WINAPI *VDMBREAKTHREADPROC)(HANDLE); + typedef WINBOOL (WINAPI *VDMGETSELECTORMODULEPROC)(HANDLE,HANDLE,WORD,PUINT,LPSTR,UINT,LPSTR,UINT); + typedef WINBOOL (WINAPI *VDMGETMODULESELECTORPROC)(HANDLE,HANDLE,UINT,LPSTR,LPWORD); + typedef WINBOOL (WINAPI *VDMMODULEFIRSTPROC)(HANDLE,HANDLE,LPMODULEENTRY,DEBUGEVENTPROC,LPVOID); + typedef WINBOOL (WINAPI *VDMMODULENEXTPROC)(HANDLE,HANDLE,LPMODULEENTRY,DEBUGEVENTPROC,LPVOID); + typedef WINBOOL (WINAPI *VDMGLOBALFIRSTPROC)(HANDLE,HANDLE,LPGLOBALENTRY,WORD,DEBUGEVENTPROC,LPVOID); + typedef WINBOOL (WINAPI *VDMGLOBALNEXTPROC)(HANDLE,HANDLE,LPGLOBALENTRY,WORD,DEBUGEVENTPROC,LPVOID); + typedef INT (WINAPI *VDMENUMPROCESSWOWPROC)(PROCESSENUMPROC,LPARAM); + typedef INT (WINAPI *VDMENUMTASKWOWPROC)(DWORD,TASKENUMPROC,LPARAM); + typedef INT (WINAPI *VDMENUMTASKWOWEXPROC)(DWORD,TASKENUMPROCEX,LPARAM); + typedef WINBOOL (WINAPI *VDMTERMINATETASKINWOWPROC)(DWORD,WORD); + typedef WINBOOL (WINAPI *VDMSTARTTASKINWOWPROC)(DWORD,LPSTR,WORD); + typedef DWORD (WINAPI *VDMGETDBGFLAGSPROC)(HANDLE); + typedef WINBOOL (WINAPI *VDMSETDBGFLAGSPROC)(HANDLE,DWORD); + typedef WINBOOL (WINAPI *VDMISMODULELOADEDPROC)(LPSTR); + typedef WINBOOL (WINAPI *VDMGETSEGMENTINFOPROC)(WORD,ULONG,WINBOOL,VDM_SEGINFO); + typedef WINBOOL (WINAPI *VDMGETSYMBOLPROC)(LPSTR,WORD,DWORD,WINBOOL,WINBOOL,LPSTR,PDWORD); + typedef WINBOOL (WINAPI *VDMGETADDREXPRESSIONPROC)(LPSTR,LPSTR,PWORD,PDWORD,PWORD); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vds.h new file mode 100644 index 00000000..6267ce5f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vds.h @@ -0,0 +1,1566 @@ +/** + * 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_VDS +#define _INC_VDS + +#if (_WIN32_WINNT >= 0x0600) +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define GPT_PARTITION_NAME_LENGTH 36 + + typedef GUID VDS_OBJECT_ID; + typedef UINT64 VDS_PATH_ID; + + typedef enum _VDS_PARTITION_STYLE { + VDS_PST_UNKNOWN = 0, + VDS_PST_MBR = 1, + VDS_PST_GPT = 2 + } VDS_PARTITION_STYLE; + + typedef enum tag_VDS_PARTITION_STYLE { + VDS_PARTITION_STYLE_MBR, + VDS_PARTITION_STYLE_GPT, + VDS_PARTITION_STYLE_RAW + } __VDS_PARTITION_STYLE; + + typedef enum _VDS_ASYNC_OUTPUT_TYPE { + VDS_ASYNCOUT_UNKNOWN = 0, + VDS_ASYNCOUT_CREATEVOLUME = 1, + VDS_ASYNCOUT_EXTENDVOLUME = 2, + VDS_ASYNCOUT_SHRINKVOLUME = 3, + VDS_ASYNCOUT_ADDVOLUMEPLEX = 4, + VDS_ASYNCOUT_BREAKVOLUMEPLEX = 5, + VDS_ASYNCOUT_REMOVEVOLUMEPLEX = 6, + VDS_ASYNCOUT_REPAIRVOLUMEPLEX = 7, + VDS_ASYNCOUT_RECOVERPACK = 8, + VDS_ASYNCOUT_REPLACEDISK = 9, + VDS_ASYNCOUT_CREATEPARTITION = 10, + VDS_ASYNCOUT_CLEAN = 11, + VDS_ASYNCOUT_CREATELUN = 50, + VDS_ASYNCOUT_ADDLUNPLEX = 52, + VDS_ASYNCOUT_REMOVELUNPLEX = 53, + VDS_ASYNCOUT_EXTENDLUN = 54, + VDS_ASYNCOUT_SHRINKLUN = 55, + VDS_ASYNCOUT_RECOVERLUN = 56, + VDS_ASYNCOUT_LOGINTOTARGET = 60, + VDS_ASYNCOUT_LOGOUTFROMTARGET = 61, + VDS_ASYNCOUT_CREATETARGET = 62, + VDS_ASYNCOUT_CREATEPORTALGROUP = 63, + VDS_ASYNCOUT_DELETETARGET = 64, + VDS_ASYNCOUT_ADDPORTAL = 65, + VDS_ASYNCOUT_REMOVEPORTAL = 66, + VDS_ASYNCOUT_DELETEPORTALGROUP = 67, + VDS_ASYNCOUT_FORMAT = 101, + VDS_ASYNCOUT_CREATE_VDISK = 200, + VDS_ASYNCOUT_ATTACH_VDISK = 201, + VDS_ASYNCOUT_COMPACT_VDISK = 202, + VDS_ASYNCOUT_MERGE_VDISK = 203, + VDS_ASYNCOUT_EXPAND_VDISK = 204 + } VDS_ASYNC_OUTPUT_TYPE; + + typedef enum _VDS_HEALTH { + VDS_H_UNKNOWN = 0, + VDS_H_HEALTHY = 1, + VDS_H_REBUILDING = 2, + VDS_H_STALE = 3, + VDS_H_FAILING = 4, + VDS_H_FAILING_REDUNDANCY = 5, + VDS_H_FAILED_REDUNDANCY = 6, + VDS_H_FAILED_REDUNDANCY_FAILING = 7, + VDS_H_FAILED = 8, + VDS_H_REPLACED = 9, + VDS_H_PENDING_FAILURE = 10, + VDS_H_DEGRADED = 11 + } VDS_HEALTH; + + typedef enum _VDS_CONTROLLER_STATUS { + VDS_CS_UNKNOWN = 0, + VDS_CS_ONLINE = 1, + VDS_CS_NOT_READY = 2, + VDS_CS_OFFLINE = 4, + VDS_CS_FAILED = 5, + VDS_CS_REMOVED = 8 + } VDS_CONTROLLER_STATUS; + + typedef enum _VDS_DISK_EXTENT_TYPE { + VDS_DET_UNKNOWN = 0, + VDS_DET_FREE = 1, + VDS_DET_DATA = 2, + VDS_DET_OEM = 3, + VDS_DET_ESP = 4, + VDS_DET_MSR = 5, + VDS_DET_LDM = 6, + VDS_DET_CLUSTER = 7, + VDS_DET_UNUSABLE = 0x7FFF + } VDS_DISK_EXTENT_TYPE; + + typedef enum _VDS_DISK_FLAG { + VDS_DF_AUDIO_CD = 0x1, + VDS_DF_HOTSPARE = 0x2, + VDS_DF_RESERVE_CAPABLE = 0x4, + VDS_DF_MASKED = 0x8, + VDS_DF_STYLE_CONVERTIBLE = 0x10, + VDS_DF_CLUSTERED = 0x20, + VDS_DF_READ_ONLY = 0x40, + VDS_DF_SYSTEM_DISK = 0x80, + VDS_DF_BOOT_DISK = 0x100, + VDS_DF_PAGEFILE_DISK = 0x200, + VDS_DF_HIBERNATIONFILE_DISK = 0x400, + VDS_DF_CRASHDUMP_DISK = 0x800, + VDS_DF_HAS_ARC_PATH = 0x1000, + VDS_DF_DYNAMIC = 0x2000, + VDS_DF_BOOT_FROM_DISK = 0x4000, + VDS_DF_CURRENT_READ_ONLY = 0x8000 + } VDS_DISK_FLAG; + + typedef enum _VDS_NOTIFICATION_TARGET_TYPE { + VDS_NTT_UNKNOWN = 0, + VDS_NTT_PACK = 10, + VDS_NTT_VOLUME = 11, + VDS_NTT_DISK = 13, + VDS_NTT_PARTITION = 60, + VDS_NTT_DRIVE_LETTER = 61, + VDS_NTT_FILE_SYSTEM = 62, + VDS_NTT_MOUNT_POINT = 63, + VDS_NTT_SUB_SYSTEM = 30, + VDS_NTT_CONTROLLER = 31, + VDS_NTT_DRIVE = 32, + VDS_NTT_LUN = 33, + VDS_NTT_PORT = 35, + VDS_NTT_PORTAL = 36, + VDS_NTT_TARGET = 37, + VDS_NTT_PORTAL_GROUP = 38, + VDS_NTT_SERVICE = 200 + } VDS_NOTIFICATION_TARGET_TYPE; + + typedef enum _VDS_OBJECT_TYPE { + VDS_OT_UNKNOWN = 0, + VDS_OT_PROVIDER = 1, + VDS_OT_PACK = 10, + VDS_OT_VOLUME = 11, + VDS_OT_VOLUME_PLEX = 12, + VDS_OT_DISK = 13, + VDS_OT_SUB_SYSTEM = 30, + VDS_OT_CONTROLLER = 31, + VDS_OT_DRIVE = 32, + VDS_OT_LUN = 33, + VDS_OT_LUN_PLEX = 34, + VDS_OT_PORT = 35, + VDS_OT_PORTAL = 36, + VDS_OT_TARGET = 37, + VDS_OT_PORTAL_GROUP = 38, + VDS_OT_STORAGE_POOL = 39, + VDS_OT_HBAPORT = 90, + VDS_OT_INIT_ADAPTER = 91, + VDS_OT_INIT_PORTAL = 92, + VDS_OT_ASYNC = 100, + VDS_OT_ENUM = 101, + VDS_OT_VDISK = 200, + VDS_OT_OPEN_VDISK = 201 + } VDS_OBJECT_TYPE; + + typedef enum _VDS_STORAGE_BUS_TYPE { + VDSBusTypeUnknown = 0x00, + VDSBusTypeScsi = 0x01, + VDSBusTypeAtapi = 0x02, + VDSBusTypeAta = 0x03, + VDSBusType1394 = 0x04, + VDSBusTypeSsa = 0x05, + VDSBusTypeFibre = 0x06, + VDSBusTypeUsb = 0x07, + VDSBusTypeRAID = 0x08, + VDSBusTypeiScsi = 0x09, + VDSBusTypeMaxReserved = 0x7F + } VDS_STORAGE_BUS_TYPE; + + typedef enum _VDS_DISK_STATUS { + VDS_DS_UNKNOWN = 0, + VDS_DS_ONLINE = 1, + VDS_DS_NOT_READY = 2, + VDS_DS_NO_MEDIA = 3, + VDS_DS_OFFLINE = 4, + VDS_DS_FAILED = 5, + VDS_DS_MISSING = 6 + } VDS_DISK_STATUS; + + typedef enum _VDS_DRIVE_FLAG { + VDS_DRF_HOTSPARE = 0x1, + VDS_DRF_ASSIGNED = 0x2, + VDS_DRF_UNASSIGNED = 0x4, + VDS_DRF_HOTSPARE_IN_USE = 0x8, + VDS_DRF_HOTSPARE_STANDBY = 0x10 + } VDS_DRIVE_FLAG; + + typedef enum _VDS_DRIVE_LETTER_FLAG { + VDS_DLF_NON_PERSISTENT = 0x1 + } VDS_DRIVE_LETTER_FLAG; + + typedef enum _VDS_DRIVE_STATUS { + VDS_DRS_UNKNOWN = 0, + VDS_DRS_ONLINE = 1, + VDS_DRS_NOT_READY = 2, + VDS_DRS_OFFLINE = 4, + VDS_DRS_FAILED = 5, + VDS_DRS_REMOVED = 8 + } VDS_DRIVE_STATUS; + + typedef enum _VDS_FILE_SYSTEM_FLAG { + VDS_FSF_SUPPORT_FORMAT = 0x1, + VDS_FSF_SUPPORT_QUICK_FORMAT = 0x2, + VDS_FSF_SUPPORT_COMPRESS = 0x4, + VDS_FSF_SUPPORT_SPECIFY_LABEL = 0x8, + VDS_FSF_SUPPORT_MOUNT_POINT = 0x10, + VDS_FSF_SUPPORT_REMOVABLE_MEDIA = 0x20, + VDS_FSF_SUPPORT_EXTEND = 0x40, + VDS_FSF_ALLOCATION_UNIT_512 = 0x10000, + VDS_FSF_ALLOCATION_UNIT_1K = 0x20000, + VDS_FSF_ALLOCATION_UNIT_2K = 0x40000, + VDS_FSF_ALLOCATION_UNIT_4K = 0x80000, + VDS_FSF_ALLOCATION_UNIT_8K = 0x100000, + VDS_FSF_ALLOCATION_UNIT_16K = 0x200000, + VDS_FSF_ALLOCATION_UNIT_32K = 0x400000, + VDS_FSF_ALLOCATION_UNIT_64K = 0x800000, + VDS_FSF_ALLOCATION_UNIT_128K = 0x1000000, + VDS_FSF_ALLOCATION_UNIT_256K = 0x2000000 + } VDS_FILE_SYSTEM_FLAG; + + typedef enum _VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG { + VDS_FSS_DEFAULT = 0x00000001, + VDS_FSS_PREVIOUS_REVISION = 0x00000002, + VDS_FSS_RECOMMENDED = 0x00000004 + } VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG; + + typedef enum _VDS_FILE_SYSTEM_PROP_FLAG { + VDS_FPF_COMPRESSED = 0x1 + } VDS_FILE_SYSTEM_PROP_FLAG; + + typedef enum _VDS_FILE_SYSTEM_TYPE { + VDS_FST_UNKNOWN = 0, + VDS_FST_RAW = 1, + VDS_FST_FAT = 2, + VDS_FST_FAT32 = 3, + VDS_FST_NTFS = 4, + VDS_FST_CDFS = 5, + VDS_FST_UDF = 6, + VDS_FST_EXFAT = 7 + } VDS_FILE_SYSTEM_TYPE; + + typedef enum _VDS_HBAPORT_SPEED_FLAG { + VDS_HSF_UNKNOWN = 0, + VDS_HSF_1GBIT = 0x1, + VDS_HSF_2GBIT = 0x2, + VDS_HSF_10GBIT = 0x4, + VDS_HSF_4GBIT = 0x8, + VDS_HSF_NOT_NEGOTIATED = 0x8000 + } VDS_HBAPORT_SPEED_FLAG; + + typedef enum _VDS_HBAPORT_STATUS { + VDS_HPS_UNKNOWN = 1, + VDS_HPS_ONLINE = 2, + VDS_HPS_OFFLINE = 3, + VDS_HPS_BYPASSED = 4, + VDS_HPS_DIAGNOSTICS = 5, + VDS_HPS_LINKDOWN = 6, + VDS_HPS_ERROR = 7, + VDS_HPS_LOOPBACK = 8 + } VDS_HBAPORT_STATUS; + + typedef enum _VDS_HBAPORT_TYPE { + VDS_HPT_UNKNOWN = 1, + VDS_HPT_OTHER = 2, + VDS_HPT_NOTPRESENT = 3, + VDS_HPT_NPORT = 5, + VDS_HPT_NLPORT = 6, + VDS_HPT_FLPORT = 7, + VDS_HPT_FPORT = 8, + VDS_HPT_EPORT = 9, + VDS_HPT_GPORT = 10, + VDS_HPT_LPORT = 20, + VDS_HPT_PTP = 21 + } VDS_HBAPORT_TYPE; + + typedef enum _VDS_HWPROVIDER_TYPE { + VDS_HWT_UNKNOWN = 0, + VDS_HWT_PCI_RAID = 1, + VDS_HWT_FIBRE_CHANNEL = 2, + VDS_HWT_ISCSI = 3, + VDS_HWT_SAS = 4, + VDS_HWT_HYBRID = 5 + } VDS_HWPROVIDER_TYPE; + + typedef enum _VDS_INTERCONNECT_ADDRESS_TYPE { + VDS_IA_UNKNOWN = 0, + VDS_IA_FCFS = 1, + VDS_IA_FCPH = 2, + VDS_IA_FCPH3 = 3, + VDS_IA_MAC = 4, + VDS_IA_SCSI = 5 + } VDS_INTERCONNECT_ADDRESS_TYPE; + + typedef enum VDS_IPADDRESS_TYPE { + VDS_IPT_TEXT = 0, + VDS_IPT_IPV4 = 1, + VDS_IPT_IPV6 = 2, + VDS_IPT_EMPTY = 3 + } VDS_IPADDRESS_TYPE; + + typedef enum _VDS_ISCSI_AUTH_TYPE { + VDS_IAT_NONE = 0, + VDS_IAT_CHAP = 1, + VDS_IAT_MUTUAL_CHAP = 2 + } VDS_ISCSI_AUTH_TYPE; + + typedef enum _VDS_ISCSI_LOGIN_FLAG { + VDS_ILF_REQUIRE_IPSEC = 0x1, + VDS_ILF_MULTIPATH_ENABLED = 0x2 + } VDS_ISCSI_LOGIN_FLAG; + + typedef enum _VDS_ISCSI_LOGIN_TYPE { + VDS_ILT_MANUAL = 0, + VDS_ILT_PERSISTENT = 1, + VDS_ILT_BOOT = 2 + } VDS_ISCSI_LOGIN_TYPE; + + typedef enum _VDS_ISCSI_PORTAL_STATUS { + VDS_IPS_UNKNOWN = 0, + VDS_IPS_ONLINE = 1, + VDS_IPS_NOT_READY = 2, + VDS_IPS_OFFLINE = 4, + VDS_IPS_FAILED = 5 + } VDS_ISCSI_PORTAL_STATUS; + + typedef enum _VDS_LOADBALANCE_POLICY_ENUM { + VDS_LBP_UNKNOWN = 0, + VDS_LBP_FAILOVER = 1, + VDS_LBP_ROUND_ROBIN = 2, + VDS_LBP_ROUND_ROBIN_WITH_SUBSET = 3, + VDS_LBP_DYN_LEAST_QUEUE_DEPTH = 4, + VDS_LBP_WEIGHTED_PATHS = 5, + VDS_LBP_LEAST_BLOCKS = 6, + VDS_LBP_VENDOR_SPECIFIC = 7 + } VDS_LOADBALANCE_POLICY_ENUM; + + typedef enum _VDS_LUN_FLAG { + VDS_LF_LBN_REMAP_ENABLED = 0x01, + VDS_LF_READ_BACK_VERIFY_ENABLED = 0x02, + VDS_LF_WRITE_THROUGH_CACHING_ENABLED = 0x04, + VDS_LF_HARDWARE_CHECKSUM_ENABLED = 0x08, + VDS_LF_READ_CACHE_ENABLED = 0x10, + VDS_LF_WRITE_CACHE_ENABLED = 0x20, + VDS_LF_MEDIA_SCAN_ENABLED = 0x40, + VDS_LF_CONSISTENCY_CHECK_ENABLED = 0x80, + VDS_LF_SNAPSHOT = 0x100 + } VDS_LUN_FLAG; + + typedef enum _VDS_LUN_PLEX_FLAG { + VDS_LPF_LBN_REMAP_ENABLED = 0x1 + } VDS_LUN_PLEX_FLAG; + + typedef enum _VDS_TRANSITION_STATE { + VDS_TS_UNKNOWN = 0, + VDS_TS_STABLE = 1, + VDS_TS_EXTENDING = 2, + VDS_TS_SHRINKING = 3, + VDS_TS_RECONFIGING = 4, + VDS_TS_RESTRIPING = 8 + } VDS_TRANSITION_STATE; + + typedef enum _VDS_LUN_PLEX_STATUS { + VDS_LPS_UNKNOWN = 0, + VDS_LPS_ONLINE = 1, + VDS_LPS_NOT_READY = 2, + VDS_LPS_OFFLINE = 4, + VDS_LPS_FAILED = 5 + } VDS_LUN_PLEX_STATUS; + + typedef enum _VDS_LUN_PLEX_TYPE { + VDS_LPT_UNKNOWN = 0, + VDS_LPT_SIMPLE = 10, + VDS_LPT_SPAN = 11, + VDS_LPT_STRIPE = 12, + VDS_LPT_PARITY = 14, + VDS_LPT_RAID2 = 15, + VDS_LPT_RAID3 = 16, + VDS_LPT_RAID4 = 17, + VDS_LPT_RAID5 = 18, + VDS_LPT_RAID6 = 19, + VDS_LPT_RAID03 = 21, + VDS_LPT_RAID05 = 22, + VDS_LPT_RAID10 = 23, + VDS_LPT_RAID15 = 24, + VDS_LPT_RAID30 = 25, + VDS_LPT_RAID50 = 26, + VDS_LPT_RAID53 = 28, + VDS_LPT_RAID60 = 29 + } VDS_LUN_PLEX_TYPE; + + typedef enum _VDS_LUN_STATUS { + VDS_LS_UNKNOWN = 0, + VDS_LS_ONLINE = 1, + VDS_LS_NOT_READY = 2, + VDS_LS_OFFLINE = 4, + VDS_LS_FAILED = 5 + } VDS_LUN_STATUS; + + typedef enum _VDS_LUN_TYPE { + VDS_LT_UNKNOWN = 0, + VDS_LT_DEFAULT = 1, + VDS_LT_FAULT_TOLERANT = 2, + VDS_LT_NON_FAULT_TOLERANT = 3, + VDS_LT_SIMPLE = 10, + VDS_LT_SPAN = 11, + VDS_LT_STRIPE = 12, + VDS_LT_MIRROR = 13, + VDS_LT_PARITY = 14, + VDS_LT_RAID2 = 15, + VDS_LT_RAID3 = 16, + VDS_LT_RAID4 = 17, + VDS_LT_RAID5 = 18, + VDS_LT_RAID6 = 19, + VDS_LT_RAID01 = 20, + VDS_LT_RAID03 = 21, + VDS_LT_RAID05 = 22, + VDS_LT_RAID10 = 23, + VDS_LT_RAID15 = 24, + VDS_LT_RAID30 = 25, + VDS_LT_RAID50 = 26, + VDS_LT_RAID51 = 27, + VDS_LT_RAID53 = 28, + VDS_LT_RAID60 = 29, + VDS_LT_RAID61 = 30 + } VDS_LUN_TYPE; + + typedef enum _VDS_MAINTENANCE_OPERATION { + BlinkLight = 1, + BeepAlarm = 2, + SpinDown = 3, + SpinUp = 4, + Ping = 5 + } VDS_MAINTENANCE_OPERATION; + + typedef enum _VDS_PACK_FLAG { + VDS_PKF_FOREIGN = 0x1, + VDS_PKF_NOQUORUM = 0x2, + VDS_PKF_POLICY = 0x4, + VDS_PKF_CORRUPTED = 0x8, + VDS_PKF_ONLINE_ERROR = 0x10 + } VDS_PACK_FLAG; + + typedef enum _VDS_PACK_STATUS { + VDS_PS_UNKNOWN = 0, + VDS_PS_ONLINE = 1, + VDS_PS_OFFLINE = 4 + } VDS_PACK_STATUS; + + typedef enum _VDS_PARTITION_FLAG { + VDS_PTF_SYSTEM = 0x1 + } VDS_PARTITION_FLAG; + + typedef enum _VDS_PATH_STATUS { + VDS_MPS_UNKNOWN = 0, + VDS_MPS_ONLINE = 1, + VDS_MPS_FAILED = 5, + VDS_MPS_STANDBY = 7 + } VDS_PATH_STATUS; + + typedef enum _VDS_PORT_STATUS { + VDS_PRS_UNKNOWN = 0, + VDS_PRS_ONLINE = 1, + VDS_PRS_NOT_READY = 2, + VDS_PRS_OFFLINE = 4, + VDS_PRS_FAILED = 5, + VDS_PRS_REMOVED = 8 + } VDS_PORT_STATUS; + + typedef enum _VDS_PROVIDER_FLAG { + VDS_PF_DYNAMIC = 0x00000001, + VDS_PF_INTERNAL_HARDWARE_PROVIDER = 0x00000002, + VDS_PF_ONE_DISK_ONLY_PER_PACK = 0x00000004, + VDS_PF_ONE_PACK_ONLINE_ONLY = 0x00000008, + VDS_PF_VOLUME_SPACE_MUST_BE_CONTIGUOUS = 0x00000010, + VDS_PF_SUPPORT_DYNAMIC = 0x80000000, + VDS_PF_SUPPORT_FAULT_TOLERANT = 0x40000000, + VDS_PF_SUPPORT_DYNAMIC_1394 = 0x20000000, + VDS_PF_SUPPORT_MIRROR = 0x00000020, + VDS_PF_SUPPORT_RAID5 = 0x00000040 + } VDS_PROVIDER_FLAG; + + typedef enum _VDS_PROVIDER_LBSUPPORT_FLAG { + VDS_LBF_FAILOVER = 0x1, + VDS_LBF_ROUND_ROBIN = 0x2, + VDS_LBF_ROUND_ROBIN_WITH_SUBSET = 0x4, + VDS_LBF_DYN_LEAST_QUEUE_DEPTH = 0x8, + VDS_LBF_WEIGHTED_PATHS = 0x10, + VDS_LBF_LEAST_BLOCKS = 0x20, + VDS_LBF_VENDOR_SPECIFIC = 0x40 + } VDS_PROVIDER_LBSUPPORT_FLAG; + + typedef enum _VDS_PROVIDER_TYPE { + VDS_PT_UNKNOWN = 0, + VDS_PT_SOFTWARE = 1, + VDS_PT_HARDWARE = 2, + VDS_PT_VIRTUALDISK = 3, + VDS_PT_MAX = 4 + } VDS_PROVIDER_TYPE; + + typedef enum _VDS_QUERY_PROVIDER_FLAG { + VDS_QUERY_SOFTWARE_PROVIDERS = 0x1, + VDS_QUERY_HARDWARE_PROVIDERS = 0x2 + } VDS_QUERY_PROVIDER_FLAG; + + typedef enum _VDS_SAN_POLICY { + VDS_SP_UNKNOWN = 0x0, + VDS_SP_ONLINE = 0x1, + VDS_SP_OFFLINE_SHARED = 0x2, + VDS_SP_OFFLINE = 0x3 + } VDS_SAN_POLICY; + + typedef enum _VDS_SERVICE_FLAG { + VDS_SVF_SUPPORT_DYNAMIC = 0x1, + VDS_SVF_SUPPORT_FAULT_TOLERANT = 0x2, + VDS_SVF_SUPPORT_GPT = 0x4, + VDS_SVF_SUPPORT_DYNAMIC_1394 = 0x8, + VDS_SVF_CLUSTER_SERVICE_CONFIGURED = 0x10, + VDS_SVF_AUTO_MOUNT_OFF = 0x20, + VDS_SVF_OS_UNINSTALL_VALID = 0x40, + VDS_SVF_EFI = 0x80, + VDS_SVF_SUPPORT_MIRROR = 0x100, + VDS_SVF_SUPPORT_RAID5 = 0x200 + } VDS_SERVICE_FLAG; + + typedef enum _VDS_STORAGE_IDENTIFIER_CODE_SET { + VDSStorageIdCodeSetReserved = 0, + VDSStorageIdCodeSetBinary = 1, + VDSStorageIdCodeSetAscii = 2 + } VDS_STORAGE_IDENTIFIER_CODE_SET; + + typedef enum VDS_STORAGE_IDENTIFIER_TYPE { + VDSStorageIdTypeVendorSpecific = 0, + VDSStorageIdTypeVendorId = 1, + VDSStorageIdTypeEUI64 = 2, + VDSStorageIdTypeFCPHName = 3, + VDSStorageIdTypeSCSINameString = 8 + } VDS_STORAGE_IDENTIFIER_TYPE; + + typedef enum _VDS_SUB_SYSTEM_FLAG { + VDS_SF_LUN_MASKING_CAPABLE = 0x1, + VDS_SF_LUN_PLEXING_CAPABLE = 0x2, + VDS_SF_LUN_REMAPPING_CAPABLE = 0x4, + VDS_SF_DRIVE_EXTENT_CAPABLE = 0x8, + VDS_SF_HARDWARE_CHECKSUM_CAPABLE = 0x10, + VDS_SF_RADIUS_CAPABLE = 0x20, + VDS_SF_READ_BACK_VERIFY_CAPABLE = 0x40, + VDS_SF_WRITE_THROUGH_CACHING_CAPABLE = 0x80, + VDS_SF_SUPPORTS_FAULT_TOLERANT_LUNS = 0x200, + VDS_SF_SUPPORTS_NON_FAULT_TOLERANT_LUNS = 0x400, + VDS_SF_SUPPORTS_SIMPLE_LUNS = 0x800, + VDS_SF_SUPPORTS_SPAN_LUNS = 0x1000, + VDS_SF_SUPPORTS_STRIPE_LUNS = 0x2000, + VDS_SF_SUPPORTS_MIRROR_LUNS = 0x4000, + VDS_SF_SUPPORTS_PARITY_LUNS = 0x8000, + VDS_SF_SUPPORTS_AUTH_CHAP = 0x10000, + VDS_SF_SUPPORTS_AUTH_MUTUAL_CHAP = 0x20000, + VDS_SF_SUPPORTS_SIMPLE_TARGET_CONFIG = 0x40000, + VDS_SF_SUPPORTS_LUN_NUMBER = 0x80000, + VDS_SF_SUPPORTS_MIRRORED_CACHE = 0x100000, + VDS_SF_READ_CACHING_CAPABLE = 0x200000, + VDS_SF_WRITE_CACHING_CAPABLE = 0x400000, + VDS_SF_MEDIA_SCAN_CAPABLE = 0x800000, + VDS_SF_CONSISTENCY_CHECK_CAPABLE = 0x1000000 + } VDS_SUB_SYSTEM_FLAG; + + typedef enum _VDS_SUB_SYSTEM_STATUS { + VDS_SSS_UNKNOWN = 0, + VDS_SSS_ONLINE = 1, + VDS_SSS_NOT_READY = 2, + VDS_SSS_OFFLINE = 4, + VDS_SSS_FAILED = 5, + VDS_SSS_PARTIALLY_MANAGED = 9 + } VDS_SUB_SYSTEM_STATUS; + + typedef enum _VDS_VERSION_SUPPORT_FLAG { + VDS_VSF_1_0 = 0x1, + VDS_VSF_1_1 = 0x2, + VDS_VSF_2_0 = 0x4, + VDS_VSF_2_1 = 0x8, + VDS_VSF_3_0 = 0x10 + } VDS_VERSION_SUPPORT_FLAG; + + typedef enum _VDS_VOLUME_FLAG { + VDS_VF_SYSTEM_VOLUME = 0x1, + VDS_VF_BOOT_VOLUME = 0x2, + VDS_VF_ACTIVE = 0x4, + VDS_VF_READONLY = 0x8, + VDS_VF_HIDDEN = 0x10, + VDS_VF_CAN_EXTEND = 0x20, + VDS_VF_CAN_SHRINK = 0x40, + VDS_VF_PAGEFILE = 0x80, + VDS_VF_HIBERNATION = 0x100, + VDS_VF_CRASHDUMP = 0x200, + VDS_VF_INSTALLABLE = 0x400, + VDS_VF_LBN_REMAP_ENABLED = 0x800, + VDS_VF_FORMATTING = 0x1000, + VDS_VF_NOT_FORMATTABLE = 0x2000, + VDS_VF_NTFS_NOT_SUPPORTED = 0x4000, + VDS_VF_FAT32_NOT_SUPPORTED = 0x8000, + VDS_VF_FAT_NOT_SUPPORTED = 0x10000, + VDS_VF_NO_DEFAULT_DRIVE_LETTER = 0x20000, + VDS_VF_PERMANENTLY_DISMOUNTED = 0x40000, + VDS_VF_PERMANENT_DISMOUNT_SUPPORTED = 0x80000, + VDS_VF_SHADOW_COPY = 0x100000, + VDS_VF_FVE_ENABLED = 0x200000, + VDS_VF_DIRTY = 0x400000 + } VDS_VOLUME_FLAG; + + typedef enum _VDS_VOLUME_PLEX_STATUS { + VDS_VPS_UNKNOWN = 0, + VDS_VPS_ONLINE = 1, + VDS_VPS_NO_MEDIA = 3, + VDS_VPS_FAILED = 5 + } VDS_VOLUME_PLEX_STATUS; + + typedef enum _VDS_VOLUME_PLEX_TYPE { + VDS_VPT_UNKNOWN = 0, + VDS_VPT_SIMPLE = 10, + VDS_VPT_SPAN = 11, + VDS_VPT_STRIPE = 12, + VDS_VPT_PARITY = 14 + } VDS_VOLUME_PLEX_TYPE; + + typedef enum _VDS_VOLUME_STATUS { + VDS_VS_UNKNOWN = 0, + VDS_VS_ONLINE = 1, + VDS_VS_NO_MEDIA = 3, + VDS_VS_FAILED = 5, + VDS_VS_OFFLINE = 4 + } VDS_VOLUME_STATUS; + + typedef enum _VDS_VOLUME_TYPE { + VDS_VT_UNKNOWN = 0, + VDS_VT_SIMPLE = 10, + VDS_VT_SPAN = 11, + VDS_VT_STRIPE = 12, + VDS_VT_MIRROR = 13, + VDS_VT_PARITY = 14 + } VDS_VOLUME_TYPE; + + typedef struct _VDS_PARTITION_INFO_GPT { + GUID partitionType; + GUID partitionId; + ULONGLONG attributes; + WCHAR name[GPT_PARTITION_NAME_LENGTH]; + } VDS_PARTITION_INFO_GPT; + + typedef struct _CHANGE_ATTRIBUTES_PARAMETERS { + VDS_PARTITION_STYLE style; + __C89_NAMELESS union { + struct { + BOOLEAN bootIndicator; + } MbrPartInfo; + struct { + ULONGLONG attributes; + } GptPartInfo; + }; + } CHANGE_ATTRIBUTES_PARAMETERS; + + typedef struct _CHANGE_PARTITION_TYPE_PARAMETERS { + VDS_PARTITION_STYLE style; + __C89_NAMELESS union { + struct { + BYTE partitionType; + } MbrPartInfo; + struct { + GUID partitionType; + } GptPartInfo; + } ; + } CHANGE_PARTITION_TYPE_PARAMETERS, *PCHANGE_PARTITION_TYPE_PARAMETERS; + + + typedef struct _CREATE_PARTITION_PARAMETERS { + VDS_PARTITION_STYLE style; + __C89_NAMELESS union { + struct { + BYTE partitionType; + BOOLEAN bootIndicator; + } MbrPartInfo; + struct { + GUID partitionType; + GUID partitionId; + ULONGLONG attributes; + WCHAR name[GPT_PARTITION_NAME_LENGTH]; + } GptPartInfo; + }; + } CREATE_PARTITION_PARAMETERS; + + typedef struct _VDS_ASYNC_OUTPUT { + VDS_ASYNC_OUTPUT_TYPE type; + /*[switch(type)] */__C89_NAMELESS union { + /*[case(VDS_ASYNCOUT_CREATEPARTITION)]*/ + struct { + ULONGLONG ullOffset; + VDS_OBJECT_ID volumeId; + } cp; + /*[case(VDS_ASYNCOUT_CREATEVOLUME)]*/ + struct { + IUnknown *pVolumeUnk; + } cv; + /*[case(VDS_ASYNCOUT_BREAKVOLUMEPLEX)]*/ + struct { + IUnknown *pVolumeUnk; + } bvp; + /*[case(VDS_ASYNCOUT_CREATELUN)]*/ + struct { + IUnknown *pLunUnk; + } cl; + /*[case(VDS_ASYNCOUT_CREATETARGET)]*/ + struct { + IUnknown *pTargetUnk; + } ct; + /*[case(VDS_ASYNCOUT_CREATEPORTALGROUP)]*/ + struct { + IUnknown *pPortalGroupUnk; + } cpg; + /*[case(VDS_ASYNCOUT_CREATE_VDISK)]*/ + struct { + IUnknown *pVDiskUnk; + } cvd; + }; + } VDS_ASYNC_OUTPUT; + +#define VDS_NF_CONTROLLER_ARRIVE 103 +#define VDS_NF_CONTROLLER_DEPART 104 +#define VDS_NF_CONTROLLER_MODIFY 350 +#define VDS_NF_CONTROLLER_REMOVED 351 + + typedef struct _VDS_CONTROLLER_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID controllerId; + } VDS_CONTROLLER_NOTIFICATION; + + typedef struct _VDS_CONTROLLER_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + VDS_CONTROLLER_STATUS status; + VDS_HEALTH health; + SHORT sNumberOfPorts; + } VDS_CONTROLLER_PROP; + + typedef struct _VDS_DISK_EXTENT { + VDS_OBJECT_ID diskId; + VDS_DISK_EXTENT_TYPE type; + ULONGLONG ullOffset; + ULONGLONG ullSize; + VDS_OBJECT_ID volumeId; + VDS_OBJECT_ID plexId; + ULONG memberIdx; + } VDS_DISK_EXTENT, *PVDS_DISK_EXTENT; + + typedef struct _VDS_DISK_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID diskId; + } VDS_DISK_NOTIFICATION; + + typedef struct _VDS_PACK_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID packId; + } VDS_PACK_NOTIFICATION; + + typedef struct _VDS_VOLUME_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID volumeId; + VDS_OBJECT_ID plexId; + ULONG ulPercentCompleted; + } VDS_VOLUME_NOTIFICATION; + + typedef struct _VDS_PARTITION_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID diskId; + ULONGLONG ullOffset; + } VDS_PARTITION_NOTIFICATION; + + typedef struct _VDS_DRIVE_LETTER_NOTIFICATION { + ULONG ulEvent; + WCHAR wcLetter; + VDS_OBJECT_ID volumeId; + } VDS_DRIVE_LETTER_NOTIFICATION; + + typedef struct _VDS_FILE_SYSTEM_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID volumeId; + DWORD dwPercentCompleted; + } VDS_FILE_SYSTEM_NOTIFICATION; + + typedef struct _VDS_MOUNT_POINT_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID volumeId; + } VDS_MOUNT_POINT_NOTIFICATION; + + typedef struct _VDS_SUB_SYSTEM_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID subSystemId; + } VDS_SUB_SYSTEM_NOTIFICATION; + + typedef struct _VDS_DRIVE_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID driveId; + } VDS_DRIVE_NOTIFICATION; + + typedef struct _VDS_LUN_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID LunId; + } VDS_LUN_NOTIFICATION; + + typedef struct _VDS_PORT_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID portId; + } VDS_PORT_NOTIFICATION; + + typedef struct _VDS_PORTAL_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID portalId; + } VDS_PORTAL_NOTIFICATION; + + typedef struct _VDS_TARGET_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID targetId; + } VDS_TARGET_NOTIFICATION; + + typedef struct _VDS_PORTAL_GROUP_NOTIFICATION { + ULONG ulEvent; + VDS_OBJECT_ID portalGroupId; + } VDS_PORTAL_GROUP_NOTIFICATION; + + typedef struct _VDS_NOTIFICATION { + VDS_NOTIFICATION_TARGET_TYPE objectType; + __C89_NAMELESS union { + VDS_PACK_NOTIFICATION Pack; + VDS_DISK_NOTIFICATION Disk; + VDS_VOLUME_NOTIFICATION Volume; + VDS_PARTITION_NOTIFICATION Partition; + VDS_DRIVE_LETTER_NOTIFICATION Letter; + VDS_FILE_SYSTEM_NOTIFICATION FileSystem; + VDS_MOUNT_POINT_NOTIFICATION MountPoint; + VDS_SUB_SYSTEM_NOTIFICATION SubSystem; + VDS_CONTROLLER_NOTIFICATION Controller; + VDS_DRIVE_NOTIFICATION Drive; + VDS_LUN_NOTIFICATION Lun; + VDS_PORT_NOTIFICATION Port; + VDS_PORTAL_NOTIFICATION Portal; + VDS_TARGET_NOTIFICATION Target; + VDS_PORTAL_GROUP_NOTIFICATION PortalGroup; + }; + } VDS_NOTIFICATION; + + typedef enum _VDS_LUN_RESERVE_MODE { + VDS_LRM_NONE = 0x00000000, + VDS_LRM_EXCLUSIVE_RW = 0x00000001, + VDS_LRM_EXCLUSIVE_RO = 0x00000002, + VDS_LRM_SHARED_RO = 0x00000003, + VDS_LRM_SHARED_RW = 0x00000004 + } VDS_LUN_RESERVE_MODE; + + typedef struct _VDS_DISK_PROP { + VDS_OBJECT_ID id; + VDS_DISK_STATUS status; + VDS_LUN_RESERVE_MODE ReserveMode; + VDS_HEALTH health; + DWORD dwDeviceType; + DWORD dwMediaType; + ULONGLONG ullSize; + ULONG ulBytesPerSector; + ULONG ulSectorsPerTrack; + ULONG ulTracksPerCylinder; + ULONG ulFlags; + VDS_STORAGE_BUS_TYPE BusType; + VDS_PARTITION_STYLE PartitionStyle; + __C89_NAMELESS union { + DWORD dwSignature; + GUID DiskGuid; + }; + LPWSTR pwszDiskAddress; + LPWSTR pwszName; + LPWSTR pwszFriendlyName; + LPWSTR pwszAdaptorName; + LPWSTR pwszDevicePath; + } VDS_DISK_PROP, *PVDS_DISK_PROP; + + typedef struct _VDS_DRIVE_EXTENT { + VDS_OBJECT_ID id; + VDS_OBJECT_ID LunId; + ULONGLONG ullSize; + WINBOOL bUsed; + } VDS_DRIVE_EXTENT; + +#define VDS_NF_DRIVE_LETTER_FREE 201 +#define VDS_NF_DRIVE_LETTER_ASSIGN 202 + + typedef struct _VDS_DRIVE_LETTER_PROP { + WCHAR wcLetter; + VDS_OBJECT_ID volumeId; + ULONG ulFlags; + WINBOOL bUsed; + } VDS_DRIVE_LETTER_PROP, *PVDS_DRIVE_LETTER_PROP; + +#define VDS_NF_DRIVE_ARRIVE 105 +#define VDS_NF_DRIVE_DEPART 106 +#define VDS_NF_DRIVE_MODIFY 107 +#define VDS_NF_DRIVE_REMOVED 354 + + typedef struct _VDS_DRIVE_PROP { + VDS_OBJECT_ID id; + ULONGLONG ullSize; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + ULONG ulFlags; + VDS_DRIVE_STATUS status; + VDS_HEALTH health; + SHORT sInternalBusNumber; + SHORT sSlotNumber; + } VDS_DRIVE_PROP; + + typedef struct _VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP { + ULONG ulFlags; + USHORT usRevision; + ULONG ulDefaultUnitAllocationSize; + ULONG rgulAllowedUnitAllocationSizes; + WCHAR wszName; + } VDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP, *PVDS_FILE_SYSTEM_FORMAT_SUPPORT_PROP; + +#define VDS_NF_FILE_SYSTEM_MODIFY 203 +#define VDS_NF_FILE_SYSTEM_FORMAT_PROGRESS 204 + + typedef struct _VDS_FILE_SYSTEM_PROP { + VDS_FILE_SYSTEM_TYPE type; + VDS_OBJECT_ID volumeId; + ULONG ulFlags; + ULONGLONG ullTotalAllocationUnits; + ULONGLONG ullAvailableAllocationUnits; + ULONG ulAllocationUnitSize; + LPWSTR pwszLabel; + } VDS_FILE_SYSTEM_PROP, *PVDS_FILE_SYSTEM_PROP; + +#define MAX_FS_NAME_SIZE 8 + + typedef struct _VDS_FILE_SYSTEM_TYPE_PROP { + VDS_FILE_SYSTEM_TYPE type; + WCHAR wszName[MAX_FS_NAME_SIZE]; + ULONG ulFlags; + ULONG ulCompressionFlags; + ULONG ulMaxLableLength; + LPWSTR pwszIllegalLabelCharSet; + } VDS_FILE_SYSTEM_TYPE_PROP, *PVDS_FILE_SYSTEM_TYPE_PROP; + + typedef struct _VDS_WWN { + UCHAR rguchWwn[8]; + } VDS_WWN; + + typedef struct _VDS_HBAPORT_PROP { + VDS_OBJECT_ID id; + VDS_WWN wwnNode; + VDS_WWN wwnPort; + VDS_HBAPORT_TYPE type; + VDS_HBAPORT_STATUS status; + ULONG ulPortSpeed; + ULONG ulSupportedPortSpeed; + } VDS_HBAPORT_PROP; + +#define VDS_HINT_FASTCRASHRECOVERYREQUIRED 0x0000000000000001ULL +#define VDS_HINT_MOSTLYREADS 0x0000000000000002ULL +#define VDS_HINT_OPTIMIZEFORSEQUENTIALREADS 0x0000000000000004ULL +#define VDS_HINT_OPTIMIZEFORSEQUENTIALWRITES 0x0000000000000008ULL +#define VDS_HINT_READBACKVERIFYENABLED 0x0000000000000010ULL +#define VDS_HINT_REMAPENABLED 0x0000000000000020ULL +#define VDS_HINT_WRITETHROUGHCACHINGENABLED 0x0000000000000040ULL +#define VDS_HINT_HARDWARECHECKSUMENABLED 0x0000000000000080ULL +#define VDS_HINT_ISYANKABLE 0x0000000000000100ULL +#define VDS_HINT_ALLOCATEHOTSPARE 0x0000000000000200ULL +#define VDS_HINT_BUSTYPE 0x0000000000000400ULL +#define VDS_HINT_USEMIRROREDCACHE 0x0000000000000800ULL +#define VDS_HINT_READCACHINGENABLED 0x0000000000001000ULL +#define VDS_HINT_WRITECACHINGENABLED 0x0000000000002000ULL +#define VDS_HINT_MEDIASCANENABLED 0x0000000000004000ULL +#define VDS_HINT_CONSISTENCYCHECKENABLED 0x0000000000008000ULL + + typedef struct _VDS_HINTS { + ULONGLONG ullHintMask; + ULONGLONG ullExpectedMaximumSize; + ULONG ulOptimalReadSize; + ULONG ulOptimalReadAlignment; + ULONG ulOptimalWriteSize; + ULONG ulOptimalWriteAlignment; + ULONG ulMaximumDriveCount; + ULONG ulStripeSize; + WINBOOL bFastCrashRecoveryRequired; + WINBOOL bMostlyReads; + WINBOOL bOptimizeForSequentialReads; + WINBOOL bOptimizeForSequentialWrites; + WINBOOL bRemapEnabled; + WINBOOL bReadBackVerifyEnabled; + WINBOOL bWriteThroughCachingEnabled; + WINBOOL bHardwareChecksumEnabled; + WINBOOL bIsYankable; + SHORT sRebuildPriority; + } VDS_HINTS, *PVDS_HINTS; + + typedef struct _VDS_INPUT_DISK { + VDS_OBJECT_ID diskId; + ULONGLONG ullSize; + VDS_OBJECT_ID plexId; + ULONG memberIdx; + } VDS_INPUT_DISK; + + typedef struct _VDS_IPADDRESS { + VDS_IPADDRESS_TYPE type; + ULONG ipv4Address; + UCHAR ipv6Address[16]; + ULONG ulIpv6FlowInfo; + ULONG ulIpv6ScopeId; + WCHAR wszTextAddress[256 + 1]; + ULONG ulPort; + } VDS_IPADDRESS; + + typedef struct _VDS_ISCSI_INITIATOR_ADAPTER_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszName; + } VDS_ISCSI_INITIATOR_ADAPTER_PROP; + + typedef struct _VDS_ISCSI_INITIATOR_PORTAL_PROP { + VDS_OBJECT_ID id; + VDS_IPADDRESS address; + ULONG ulPortIndex; + } VDS_ISCSI_INITIATOR_PORTAL_PROP; + + typedef struct _VDS_ISCSI_PORTAL_PROP { + VDS_OBJECT_ID id; + VDS_IPADDRESS address; + VDS_ISCSI_PORTAL_STATUS status; + } VDS_ISCSI_PORTAL_PROP; + + typedef USHORT VDS_ISCSI_PORTALGROUP_TAG; + + typedef struct _VDS_ISCSI_PORTALGROUP_PROP { + VDS_OBJECT_ID id; + VDS_ISCSI_PORTALGROUP_TAG tag; + } VDS_ISCSI_PORTALGROUP_PROP; + + typedef struct _VDS_ISCSI_SHARED_SECRET { + UCHAR *pSharedSecret; + ULONG ulSharedSecretSize; + } VDS_ISCSI_SHARED_SECRET; + + typedef struct _VDS_ISCSI_TARGET_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszIscsiName; + LPWSTR pwszFriendlyName; + WINBOOL bChapEnabled; + } VDS_ISCSI_TARGET_PROP; + + typedef struct _VDS_STORAGE_IDENTIFIER { + VDS_STORAGE_IDENTIFIER_CODE_SET m_CodeSet; + VDS_STORAGE_IDENTIFIER_TYPE m_Type; + ULONG m_cbIdentifier; + BYTE* m_rgbIdentifier; + } VDS_STORAGE_IDENTIFIER; + + typedef struct _VDS_STORAGE_DEVICE_ID_DESCRIPTOR { + ULONG m_version; + ULONG m_cIdentifiers; + VDS_STORAGE_IDENTIFIER* m_rgIdentifiers; + } VDS_STORAGE_DEVICE_ID_DESCRIPTOR; + +#define VDS_NF_LUN_ARRIVE 108 +#define VDS_NF_LUN_DEPART 109 +#define VDS_NF_LUN_MODIFY 110 + + typedef struct _VDS_LUN_PLEX_PROP { + VDS_OBJECT_ID id; + ULONGLONG ullSize; + VDS_LUN_PLEX_TYPE type; + VDS_LUN_PLEX_STATUS status; + VDS_HEALTH health; + VDS_TRANSITION_STATE TransitionState; + ULONG ulFlags; + ULONG ulStripeSize; + SHORT sRebuildPriority; + } VDS_LUN_PLEX_PROP; + + typedef struct _VDS_LUN_PROP { + VDS_OBJECT_ID id; + ULONGLONG ullSize; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + LPWSTR pwszUnmaskingList; + ULONG ulFlags; + VDS_LUN_TYPE type; + VDS_LUN_STATUS status; + VDS_HEALTH health; + VDS_TRANSITION_STATE TransitionState; + SHORT sRebuildPriority; + } VDS_LUN_PROP, *PVDS_LUN_PROP; + +#define VDS_NF_MOUNT_POINTS_CHANGE 205 + +#define VDS_NF_PACK_ARRIVE 1 +#define VDS_NF_PACK_DEPART 2 +#define VDS_NF_PACK_MODIFY 3 + + typedef struct _VDS_PACK_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszName; + VDS_PACK_STATUS status; + ULONG ulFlags; + } VDS_PACK_PROP, *PVDS_PACK_PROP; + + typedef struct _VDS_PARTITION_INFO_MBR { + BYTE partitionType; + BOOLEAN bootIndicator; + BOOLEAN recognizedPartition; + DWORD hiddenSectors; + } VDS_PARTITION_INFO_MBR; + +#define VDS_NF_PARTITION_ARRIVE 11 +#define VDS_NF_PARTITION_DEPART 12 +#define VDS_NF_PARTITION_MODIFY 13 + + typedef struct _VDS_PARTITION_PROP { + VDS_PARTITION_STYLE PartitionStyle; + ULONG ulFlags; + ULONG ulPartitionNumber; + ULONGLONG ullOffset; + ULONGLONG ullSize; + __C89_NAMELESS union { + VDS_PARTITION_INFO_MBR Mbr; + VDS_PARTITION_INFO_GPT Gpt; + }; + } VDS_PARTITION_PROP; + + typedef struct _VDS_PATH_INFO { + VDS_PATH_ID pathId; + VDS_HWPROVIDER_TYPE type; + VDS_PATH_STATUS status; + __C89_NAMELESS union { + VDS_OBJECT_ID controllerPortId; + VDS_OBJECT_ID targetPortalId; + }; + __C89_NAMELESS union { + VDS_OBJECT_ID hbaPortId; + VDS_OBJECT_ID initiatorAdapterId; + }; + __C89_NAMELESS union { + VDS_HBAPORT_PROP *pHbaPortProp; + VDS_IPADDRESS *pInitiatorPortalIpAddr; + }; + } VDS_PATH_INFO; + + typedef struct _VDS_PATH_POLICY { + VDS_PATH_ID pathId; + BOOL bPrimaryPath; + ULONG ulWeight; + } VDS_PATH_POLICY; + +#define VDS_NF_PORT_ARRIVE 121 +#define VDS_NF_PORT_DEPART 122 +#define VDS_NF_PORT_MODIFY 352 +#define VDS_NF_PORT_REMOVED 353 + + typedef struct _VDS_PORT_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + VDS_PORT_STATUS status; + } VDS_PORT_PROP; + +#define VDS_NF_PORTAL_GROUP_ARRIVE 129 +#define VDS_NF_PORTAL_GROUP_DEPART 130 +#define VDS_NF_PORTAL_GROUP_MODIFY 131 +#define VDS_NF_PORTAL_ARRIVE 123 +#define VDS_NF_PORTAL_DEPART 124 +#define VDS_NF_PORTAL_MODIFY 125 + + typedef struct _VDS_PROVIDER_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszName; + GUID guidVersionId; + LPWSTR pwszVersion; + VDS_PROVIDER_TYPE type; + ULONG ulFlags; + ULONG ulStripeSizeFlags; + SHORT sRebuildPriority; + } VDS_PROVIDER_PROP; + + typedef struct VDS_REPARSE_POINT_PROP { + VDS_OBJECT_ID SourceVolumeId; + LPWSTR pwszPath; + } VDS_REPARSE_POINT_PROP, *PVDS_REPARSE_POINT_PROP; + + typedef struct _VDS_SERVICE_PROP { + LPWSTR pwszVersion; + ULONG ulFlags; + } VDS_SERVICE_PROP; + +#define VDS_NF_SUB_SYSTEM_ARRIVE 101 +#define VDS_NF_SUB_SYSTEM_DEPART 102 +#define VDS_NF_SUB_SYSTEM_MODIFY 151 + + typedef struct _VDS_SUB_SYSTEM_PROP { + VDS_OBJECT_ID id; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + ULONG ulFlags; + ULONG ulStripeSizeFlags; + VDS_SUB_SYSTEM_STATUS status; + VDS_HEALTH health; + SHORT sNumberOfInternalBuses; + SHORT sMaxNumberOfSlotsEachBus; + SHORT sMaxNumberOfControllers; + SHORT sRebuildPriority; + } VDS_SUB_SYSTEM_PROP; + +#define VDS_NF_TARGET_ARRIVE 126 +#define VDS_NF_TARGET_DEPART 127 +#define VDS_NF_TARGET_MODIFY 128 +#define VDS_NF_VOLUME_ARRIVE 4 +#define VDS_NF_VOLUME_DEPART 5 +#define VDS_NF_VOLUME_MODIFY 6 +#define VDS_NF_VOLUME_REBUILDING 7 + + typedef struct _VDS_VOLUME_PLEX_PROP { + VDS_OBJECT_ID id; + VDS_VOLUME_PLEX_TYPE type; + VDS_VOLUME_PLEX_STATUS status; + VDS_HEALTH health; + VDS_TRANSITION_STATE TransitionState; + ULONGLONG ullSize; + ULONG ulStripeSize; + ULONG ulNumberOfMembers; + } VDS_VOLUME_PLEX_PROP, *PVDS_VOLUME_PLEX_PROP; + + typedef struct _VDS_VOLUME_PROP { + VDS_OBJECT_ID id; + VDS_VOLUME_TYPE type; + VDS_VOLUME_STATUS status; + VDS_HEALTH health; + VDS_TRANSITION_STATE TransitionState; + ULONGLONG ullSize; + ULONG ulFlags; + VDS_FILE_SYSTEM_TYPE RecommendedFileSystemType; + LPWSTR pwszName; + } VDS_VOLUME_PROP, *PVDS_VOLUME_PROP; + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#include + +#if (_WIN32_WINNT >= 0x0601) +#ifdef __cplusplus +extern "C" { +#endif +typedef enum _VDS_DISK_OFFLINE_REASON { + VDSDiskOfflineReasonNone = 0, + VDSDiskOfflineReasonPolicy = 1, + VDSDiskOfflineReasonRedundantPath = 2, + VDSDiskOfflineReasonSnapshot = 3, + VDSDiskOfflineReasonCollision = 4 +} VDS_DISK_OFFLINE_REASON; + +typedef enum _VDS_STORAGE_POOL_STATUS { + VDS_SPS_UNKNOWN = 0, + VDS_SPS_ONLINE = 1, + VDS_SPS_NOT_READY = 2, + VDS_SPS_OFFLINE = 4 +} VDS_STORAGE_POOL_STATUS; + +typedef enum _VDS_SUB_SYSTEM_SUPPORTED_RAID_TYPE_FLAG { + VDS_SF_SUPPORTS_RAID2_LUNS = 0x1, + VDS_SF_SUPPORTS_RAID3_LUNS = 0x2, + VDS_SF_SUPPORTS_RAID4_LUNS = 0x4, + VDS_SF_SUPPORTS_RAID5_LUNS = 0x8, + VDS_SF_SUPPORTS_RAID6_LUNS = 0x10, + VDS_SF_SUPPORTS_RAID01_LUNS = 0x20, + VDS_SF_SUPPORTS_RAID03_LUNS = 0x40, + VDS_SF_SUPPORTS_RAID05_LUNS = 0x80, + VDS_SF_SUPPORTS_RAID10_LUNS = 0x100, + VDS_SF_SUPPORTS_RAID15_LUNS = 0x200, + VDS_SF_SUPPORTS_RAID30_LUNS = 0x400, + VDS_SF_SUPPORTS_RAID50_LUNS = 0x800, + VDS_SF_SUPPORTS_RAID51_LUNS = 0x1000, + VDS_SF_SUPPORTS_RAID53_LUNS = 0x2000, + VDS_SF_SUPPORTS_RAID60_LUNS = 0x4000, + VDS_SF_SUPPORTS_RAID61_LUNS = 0x8000 +} VDS_SUB_SYSTEM_SUPPORTED_RAID_TYPE_FLAG; + +typedef enum VDS_FORMAT_OPTION_FLAGS { + VDS_FSOF_NONE = 0x00000000, + VDS_FSOF_FORCE = 0x00000001, + VDS_FSOF_QUICK = 0x00000002, + VDS_FSOF_COMPRESSION = 0x00000004, + VDS_FSOF_DUPLICATE_METADATA = 0x00000008 +} VDS_FORMAT_OPTION_FLAGS; + +typedef enum _VDS_INTERCONNECT_FLAG { + VDS_ITF_PCI_RAID = 0x1, + VDS_ITF_FIBRE_CHANNEL = 0x2, + VDS_ITF_ISCSI = 0x4, + VDS_ITF_SAS = 0x8 +} VDS_INTERCONNECT_FLAG; + +typedef enum _VDS_RAID_TYPE { + VDS_RT_UNKNOWN = 0, + VDS_RT_RAID0 = 10, + VDS_RT_RAID1 = 11, + VDS_RT_RAID2 = 12, + VDS_RT_RAID3 = 13, + VDS_RT_RAID4 = 14, + VDS_RT_RAID5 = 15, + VDS_RT_RAID6 = 16, + VDS_RT_RAID01 = 17, + VDS_RT_RAID03 = 18, + VDS_RT_RAID05 = 19, + VDS_RT_RAID10 = 20, + VDS_RT_RAID15 = 21, + VDS_RT_RAID30 = 22, + VDS_RT_RAID50 = 23, + VDS_RT_RAID51 = 24, + VDS_RT_RAID53 = 25, + VDS_RT_RAID60 = 26, + VDS_RT_RAID61 = 27 +} VDS_RAID_TYPE; + +typedef enum _VDS_STORAGE_POOL_TYPE { + VDS_SPT_UNKNOWN = 0, + VDS_SPT_PRIMORDIAL = 0x1, + VDS_SPT_CONCRETE = 0x2 +} VDS_STORAGE_POOL_TYPE; + +typedef enum _VDS_VDISK_STATE { + VDS_VST_UNKNOWN = 0, + VDS_VST_ADDED = 1, + VDS_VST_OPEN = 2, + VDS_VST_ATTACH_PENDING = 3, + VDS_VST_ATTACHED_NOT_OPEN = 4, + VDS_VST_ATTACHED = 5, + VDS_VST_DETACH_PENDING = 6, + VDS_VST_COMPACTING = 7, + VDS_VST_MERGING = 8, + VDS_VST_EXPANDING = 9, + VDS_VST_DELETED = 10, + VDS_VST_MAX = 11 +} VDS_VDISK_STATE; + +typedef struct _VDS_CREATE_VDISK_PARAMETERS { + GUID UniqueId; + ULONGLONG MaximumSize; + ULONG BlockSizeInBytes; + ULONG SectorSizeInBytes; + LPWSTR pParentPath; + LPWSTR pSourcePath; +} VDS_CREATE_VDISK_PARAMETERS, *PVDS_CREATE_VDISK_PARAMETERS; + +typedef struct _VDS_DISK_FREE_EXTENT { + VDS_OBJECT_ID diskId; + ULONGLONG ullOffset; + ULONGLONG ullSize; +} VDS_DISK_FREE_EXTENT, *PVDS_DISK_FREE_EXTENT; + +typedef struct _VDS_DISK_PROP2 { + VDS_OBJECT_ID id; + VDS_DISK_STATUS status; + VDS_DISK_OFFLINE_REASON OfflineReason; + VDS_LUN_RESERVE_MODE ReserveMode; + VDS_HEALTH health; + DWORD dwDeviceType; + DWORD dwMediaType; + ULONGLONG ullSize; + ULONG ulBytesPerSector; + ULONG ulSectorsPerTrack; + ULONG ulTracksPerCylinder; + ULONG ulFlags; + VDS_STORAGE_BUS_TYPE BusType; + VDS_PARTITION_STYLE PartitionStyle; + __C89_NAMELESS union { + DWORD dwSignature; + GUID DiskGuid; + }; + LPWSTR pwszDiskAddress; + LPWSTR pwszName; + LPWSTR pwszFriendlyName; + LPWSTR pwszAdaptorName; + LPWSTR pwszDevicePath; + LPWSTR pwszLocationPath; +} VDS_DISK_PROP2, *PVDS_DISK_PROP2; + +typedef struct _VDS_DRIVE_PROP2 { + VDS_OBJECT_ID id; + ULONGLONG ullSize; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + ULONG ulFlags; + VDS_DRIVE_STATUS status; + VDS_HEALTH health; + SHORT sInternalBusNumber; + SHORT sSlotNumber; + ULONG ulEnclosureNumber; + VDS_STORAGE_BUS_TYPE busType; + ULONG ulSpindleSpeed; +} VDS_DRIVE_PROP2, *PVDS_DRIVE_PROP2; + +typedef struct _VDS_HINTS2 { + ULONGLONG ullHintMask; + ULONGLONG ullExpectedMaximumSize; + ULONG ulOptimalReadSize; + ULONG ulOptimalReadAlignment; + ULONG ulOptimalWriteSize; + ULONG ulOptimalWriteAlignment; + ULONG ulMaximumDriveCount; + ULONG ulStripeSize; + ULONG ulReserved1; + ULONG ulReserved2; + ULONG ulReserved3; + WINBOOL bFastCrashRecoveryRequired; + WINBOOL bMostlyReads; + WINBOOL bOptimizeForSequentialReads; + WINBOOL bOptimizeForSequentialWrites; + WINBOOL bRemapEnabled; + WINBOOL bReadBackVerifyEnabled; + WINBOOL bWriteThroughCachingEnabled; + WINBOOL bHardwareChecksumEnabled; + WINBOOL bIsYankable; + WINBOOL bAllocateHotSpare; + WINBOOL bUseMirroredCache; + WINBOOL bReadCachingEnabled; + WINBOOL bWriteCachingEnabled; + WINBOOL bMediaScanEnabled; + WINBOOL bConsistencyCheckEnabled; + VDS_STORAGE_BUS_TYPE BusType; + WINBOOL bReserved1; + WINBOOL bReserved2; + WINBOOL bReserved3; + SHORT sRebuildPriority; +} VDS_HINTS2, *PVDS_HINTS2; + +typedef struct _VDS_POOL_CUSTOM_ATTRIBUTES { + LPWSTR pwszName; + LPWSTR pwszValue; +} VDS_POOL_CUSTOM_ATTRIBUTES, *PVDS_POOL_CUSTOM_ATTRIBUTES; + +typedef struct _VDS_POOL_ATTRIBUTES { + ULONGLONG ullAttributeMask; + VDS_RAID_TYPE raidType; + VDS_STORAGE_BUS_TYPE busType; + LPWSTR pwszIntendedUsage; + WINBOOL bSpinDown; + WINBOOL bIsThinProvisioned; + ULONGLONG ullProvisionedSpace; + WINBOOL bNoSinglePointOfFailure; + ULONG ulDataRedundancyMax; + ULONG ulDataRedundancyMin; + ULONG ulDataRedundancyDefault; + ULONG ulPackageRedundancyMax; + ULONG ulPackageRedundancyMin; + ULONG ulPackageRedundancyDefault; + ULONG ulStripeSize; + ULONG ulStripeSizeMax; + ULONG ulStripeSizeMin; + ULONG ulDefaultStripeSize; + ULONG ulNumberOfColumns; + ULONG ulNumberOfColumnsMax; + ULONG ulNumberOfColumnsMin; + ULONG ulDefaultNumberofColumns; + ULONG ulDataAvailabilityHint; + ULONG ulAccessRandomnessHint; + ULONG ulAccessDirectionHint; + ULONG ulAccessSizeHint; + ULONG ulAccessLatencyHint; + ULONG ulAccessBandwidthWeightHint; + ULONG ulStorageCostHint; + ULONG ulStorageEfficiencyHint; + ULONG ulNumOfCustomAttributes; + VDS_POOL_CUSTOM_ATTRIBUTES *pPoolCustomAttributes; + WINBOOL bReserved1; + WINBOOL bReserved2; + ULONG ulReserved1; + ULONG ulReserved2; + ULONGLONG ullReserved1; + ULONGLONG ullReserved2; +} VDS_POOL_ATTRIBUTES, *PVDS_POOL_ATTRIBUTES; + +typedef struct _VDS_STORAGE_POOL_DRIVE_EXTENT { + VDS_OBJECT_ID id; + ULONGLONG ullSize; + WINBOOL bUsed; +} VDS_STORAGE_POOL_DRIVE_EXTENT, *PVDS_STORAGE_POOL_DRIVE_EXTENT; + +typedef struct _VDS_STORAGE_POOL_PROP { + VDS_OBJECT_ID id; + VDS_STORAGE_POOL_STATUS status; + VDS_HEALTH health; + VDS_STORAGE_POOL_TYPE type; + LPWSTR pwszName; + LPWSTR pwszDescription; + ULONGLONG ullTotalConsumedSpace; + ULONGLONG ullTotalManagedSpace; + ULONGLONG ullRemainingFreeSpace; +} VDS_STORAGE_POOL_PROP, *PVDS_STORAGE_POOL_PROP; + +typedef struct _VDS_SUB_SYSTEM_PROP2 { + VDS_OBJECT_ID id; + LPWSTR pwszFriendlyName; + LPWSTR pwszIdentification; + ULONG ulFlags; + ULONG ulStripeSizeFlags; + ULONG ulSupportedRaidTypeFlags; + VDS_SUB_SYSTEM_STATUS status; + VDS_HEALTH health; + SHORT sNumberOfInternalBuses; + SHORT sMaxNumberOfSlotsEachBus; + SHORT sMaxNumberOfControllers; + SHORT sRebuildPriority; + ULONG ulNumberOfEnclosures; +} VDS_SUB_SYSTEM_PROP2, *PVDS_SUB_SYSTEM_PROP2; + +typedef struct _VDS_VDISK_PROPERTIES { + VDS_OBJECT_ID Id; + VDS_VDISK_STATE State; + VIRTUAL_STORAGE_TYPE VirtualDeviceType; + ULONGLONG VirtualSize; + ULONGLONG PhysicalSize; + LPWSTR pPath; + LPWSTR pDeviceName; + DEPENDENT_DISK_FLAG DiskFlag; + WINBOOL bIsChild; + LPWSTR pParentPath; +} VDS_VDISK_PROPERTIES, *PVDS_VDISK_PROPERTIES; + +typedef struct _VDS_VOLUME_PROP2 { + VDS_OBJECT_ID id; + VDS_VOLUME_TYPE type; + VDS_VOLUME_STATUS status; + VDS_HEALTH health; + VDS_TRANSITION_STATE TransitionState; + ULONGLONG ullSize; + ULONG ulFlags; + VDS_FILE_SYSTEM_TYPE RecommendedFileSystemType; + ULONG cbUniqueId; + LPWSTR pwszName; + BYTE *pUniqueId; +} VDS_VOLUME_PROP2, *PVDS_VOLUME_PROP2; + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +#endif /*_INC_VDS*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdslun.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdslun.h new file mode 100644 index 00000000..409e74f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vdslun.h @@ -0,0 +1,126 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vdslun.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 __vdslun_h__ +#define __vdslun_h__ + +/* Forward declarations */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +typedef enum _VDS_STORAGE_IDENTIFIER_CODE_SET { + VDSStorageIdCodeSetReserved = 0, + VDSStorageIdCodeSetBinary = 1, + VDSStorageIdCodeSetAscii = 2, + VDSStorageIdCodeSetUtf8 = 3 +} VDS_STORAGE_IDENTIFIER_CODE_SET; +typedef enum _VDS_STORAGE_IDENTIFIER_TYPE { + VDSStorageIdTypeVendorSpecific = 0, + VDSStorageIdTypeVendorId = 1, + VDSStorageIdTypeEUI64 = 2, + VDSStorageIdTypeFCPHName = 3, + VDSStorageIdTypePortRelative = 4, + VDSStorageIdTypeTargetPortGroup = 5, + VDSStorageIdTypeLogicalUnitGroup = 6, + VDSStorageIdTypeMD5LogicalUnitIdentifier = 7, + VDSStorageIdTypeScsiNameString = 8 +} VDS_STORAGE_IDENTIFIER_TYPE; +typedef enum _VDS_STORAGE_BUS_TYPE { + VDSBusTypeUnknown = 0x0, + VDSBusTypeScsi = 0x1, + VDSBusTypeAtapi = 0x2, + VDSBusTypeAta = 0x3, + VDSBusType1394 = 0x4, + VDSBusTypeSsa = 0x5, + VDSBusTypeFibre = 0x6, + VDSBusTypeUsb = 0x7, + VDSBusTypeRAID = 0x8, + VDSBusTypeiScsi = 0x9, + VDSBusTypeSas = 0xa, + VDSBusTypeSata = 0xb, + VDSBusTypeSd = 0xc, + VDSBusTypeMmc = 0xd, + VDSBusTypeMax = 0xe, + VDSBusTypeVirtual = 0xe, + VDSBusTypeFileBackedVirtual = 0xf, + VDSBusTypeSpaces = 0x10, + VDSBusTypeNVMe = 0x11, + VDSBusTypeScm = 0x12, + VDSBusTypeUfs = 0x13, + VDSBusTypeMaxReserved = 0x7f +} VDS_STORAGE_BUS_TYPE; +typedef struct _VDS_STORAGE_IDENTIFIER { + VDS_STORAGE_IDENTIFIER_CODE_SET m_CodeSet; + VDS_STORAGE_IDENTIFIER_TYPE m_Type; + ULONG m_cbIdentifier; + BYTE *m_rgbIdentifier; +} VDS_STORAGE_IDENTIFIER; +typedef struct _VDS_STORAGE_DEVICE_ID_DESCRIPTOR { + ULONG m_version; + ULONG m_cIdentifiers; + VDS_STORAGE_IDENTIFIER *m_rgIdentifiers; +} VDS_STORAGE_DEVICE_ID_DESCRIPTOR; +typedef enum _VDS_INTERCONNECT_ADDRESS_TYPE { + VDS_IA_UNKNOWN = 0, + VDS_IA_FCFS = 1, + VDS_IA_FCPH = 2, + VDS_IA_FCPH3 = 3, + VDS_IA_MAC = 4, + VDS_IA_SCSI = 5 +} VDS_INTERCONNECT_ADDRESS_TYPE; +typedef struct _VDS_INTERCONNECT { + VDS_INTERCONNECT_ADDRESS_TYPE m_addressType; + ULONG m_cbPort; + BYTE *m_pbPort; + ULONG m_cbAddress; + BYTE *m_pbAddress; +} VDS_INTERCONNECT; +typedef struct _VDS_LUN_INFORMATION { + ULONG m_version; + BYTE m_DeviceType; + BYTE m_DeviceTypeModifier; + WINBOOL m_bCommandQueueing; + VDS_STORAGE_BUS_TYPE m_BusType; + char *m_szVendorId; + char *m_szProductId; + char *m_szProductRevision; + char *m_szSerialNumber; + GUID m_diskSignature; + VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor; + ULONG m_cInterconnects; + VDS_INTERCONNECT *m_rgInterconnects; +} VDS_LUN_INFORMATION; +#define VER_VDS_LUN_INFORMATION (1) + +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vdslun_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/verinfo.ver b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/verinfo.ver new file mode 100644 index 00000000..b7a67122 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/verinfo.ver @@ -0,0 +1,45 @@ +/** + * 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. + */ +VS_VERSION_INFO VERSIONINFO +FILEVERSION APPVERSION,APPREVISION,0,APPRELEASE +PRODUCTVERSION APPVERSION,APPREVISION,0,APPRELEASE +FILEFLAGSMASK VERSIONFILEFLAGSMASK +FILEFLAGS VERSIONFLAGS +FILEOS VOS_DOS_WINDOWS32 +FILETYPE VERSIONTYPE +FILESUBTYPE VERSIONSUBTYPE +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + BEGIN + VALUE "CompanyName",VERSIONCOMPANYNAME + VALUE "FileDescription",VERSIONDESCRIPTION + VALUE "FileVersion",VERSIONSTR + VALUE "InternalName",VERSIONNAME + VALUE "LegalCopyright",VERSIONCOPYRIGHT + VALUE "OriginalFilename",VERSIONNAME + VALUE "ProductName",VERSIONPRODUCTNAME + VALUE "ProductVersion",VERSIONSTR + END + BLOCK "041104E4" + BEGIN + VALUE "CompanyName",VERSIONCOMPANYNAME + VALUE "FileDescription",VERSIONDESCRIPTION + VALUE "FileVersion",VERSIONSTR + VALUE "InternalName",VERSIONNAME + VALUE "LegalCopyright",VERSIONCOPYRIGHT + VALUE "OriginalFilename",VERSIONNAME + VALUE "ProductName",VERSIONPRODUCTNAME + VALUE "ProductVersion",VERSIONSTR + END + END + BLOCK "VarFileInfo" + BEGIN + + VALUE "Translation",0x409,0x4E4,0x411,0x4E4 + END +END diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/versionhelpers.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/versionhelpers.h new file mode 100644 index 00000000..35e4d917 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/versionhelpers.h @@ -0,0 +1,87 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_VERSIONHELPERS +#define _INC_VERSIONHELPERS + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && !defined(__WIDL__) + +#ifdef __cplusplus +#define VERSIONHELPERAPI inline bool +#else +#define VERSIONHELPERAPI FORCEINLINE BOOL +#endif + +VERSIONHELPERAPI IsWindowsVersionOrGreater(WORD major, WORD minor, WORD servpack) +{ + OSVERSIONINFOEXW vi = {sizeof(vi),major,minor,0,0,{0},servpack}; + return VerifyVersionInfoW(&vi, VER_MAJORVERSION|VER_MINORVERSION|VER_SERVICEPACKMAJOR, + VerSetConditionMask(VerSetConditionMask(VerSetConditionMask(0, + VER_MAJORVERSION,VER_GREATER_EQUAL), + VER_MINORVERSION,VER_GREATER_EQUAL), + VER_SERVICEPACKMAJOR, VER_GREATER_EQUAL)); +} + +VERSIONHELPERAPI IsWindowsXPOrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 0); +} + +VERSIONHELPERAPI IsWindowsXPSP1OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 1); +} + +VERSIONHELPERAPI IsWindowsXPSP2OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 2); +} + +VERSIONHELPERAPI IsWindowsXPSP3OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINXP), LOBYTE(_WIN32_WINNT_WINXP), 3); +} + +VERSIONHELPERAPI IsWindowsVistaOrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 0); +} + +VERSIONHELPERAPI IsWindowsVistaSP1OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 1); +} + +VERSIONHELPERAPI IsWindowsVistaSP2OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_VISTA), LOBYTE(_WIN32_WINNT_VISTA), 2); +} + +VERSIONHELPERAPI IsWindows7OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN7), LOBYTE(_WIN32_WINNT_WIN7), 0); +} + +VERSIONHELPERAPI IsWindows7SP1OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN7), LOBYTE(_WIN32_WINNT_WIN7), 1); +} + +VERSIONHELPERAPI IsWindows8OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WIN8), LOBYTE(_WIN32_WINNT_WIN8), 0); +} + +VERSIONHELPERAPI IsWindows8Point1OrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINBLUE), LOBYTE(_WIN32_WINNT_WINBLUE), 0); +} + +VERSIONHELPERAPI IsWindowsThresholdOrGreater(void) { + return IsWindowsVersionOrGreater(HIBYTE(_WIN32_WINNT_WINTHRESHOLD), LOBYTE(_WIN32_WINNT_WINTHRESHOLD), 0); +} + +VERSIONHELPERAPI IsWindows10OrGreater(void) { + return IsWindowsThresholdOrGreater(); +} + +VERSIONHELPERAPI IsWindowsServer(void) { + OSVERSIONINFOEXW vi = {sizeof(vi),0,0,0,0,{0},0,0,0,VER_NT_WORKSTATION}; + return !VerifyVersionInfoW(&vi, VER_PRODUCT_TYPE, VerSetConditionMask(0, VER_PRODUCT_TYPE, VER_EQUAL)); +} + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfw.h new file mode 100644 index 00000000..d3ad3736 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfw.h @@ -0,0 +1,1943 @@ +/** + * 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_VFW +#define _INC_VFW + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define VFWAPI WINAPI +#define VFWAPIV WINAPIV +#define VFWAPI_INLINE WINAPI + + DWORD WINAPI VideoForWindowsVersion(void); + LONG WINAPI InitVFW(void); + LONG WINAPI TermVFW(void); + +#ifdef __cplusplus +} +#endif + +#if !defined(_INC_MMSYSTEM) && (!defined(NOVIDEO) || !defined(NOAVICAP)) +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef MKFOURCC +#define MKFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) +#endif + +#if !defined(_INC_MMSYSTEM) +#define mmioFOURCC MKFOURCC +#endif + +#ifndef NOCOMPMAN + +#define ICVERSION 0x0104 + + DECLARE_HANDLE(HIC); + +#define BI_1632 0x32333631 + +#ifndef mmioFOURCC +#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) +#endif + +#ifndef aviTWOCC +#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8)) +#endif + +#ifndef ICTYPE_VIDEO +#define ICTYPE_VIDEO mmioFOURCC('v','i','d','c') +#define ICTYPE_AUDIO mmioFOURCC('a','u','d','c') +#endif + +#ifndef ICERR_OK +#define ICERR_OK __MSABI_LONG(0) +#define ICERR_DONTDRAW __MSABI_LONG(1) +#define ICERR_NEWPALETTE __MSABI_LONG(2) +#define ICERR_GOTOKEYFRAME __MSABI_LONG(3) +#define ICERR_STOPDRAWING __MSABI_LONG(4) + +#define ICERR_UNSUPPORTED __MSABI_LONG(-1) +#define ICERR_BADFORMAT __MSABI_LONG(-2) +#define ICERR_MEMORY __MSABI_LONG(-3) +#define ICERR_INTERNAL __MSABI_LONG(-4) +#define ICERR_BADFLAGS __MSABI_LONG(-5) +#define ICERR_BADPARAM __MSABI_LONG(-6) +#define ICERR_BADSIZE __MSABI_LONG(-7) +#define ICERR_BADHANDLE __MSABI_LONG(-8) +#define ICERR_CANTUPDATE __MSABI_LONG(-9) +#define ICERR_ABORT __MSABI_LONG(-10) +#define ICERR_ERROR __MSABI_LONG(-100) +#define ICERR_BADBITDEPTH __MSABI_LONG(-200) +#define ICERR_BADIMAGESIZE __MSABI_LONG(-201) + +#define ICERR_CUSTOM __MSABI_LONG(-400) +#endif + +#ifndef ICMODE_COMPRESS +#define ICMODE_COMPRESS 1 +#define ICMODE_DECOMPRESS 2 +#define ICMODE_FASTDECOMPRESS 3 +#define ICMODE_QUERY 4 +#define ICMODE_FASTCOMPRESS 5 +#define ICMODE_DRAW 8 +#endif + +#define AVIIF_LIST __MSABI_LONG(0x00000001) +#define AVIIF_TWOCC __MSABI_LONG(0x00000002) +#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) + +#define ICQUALITY_LOW 0 +#define ICQUALITY_HIGH 10000 +#define ICQUALITY_DEFAULT -1 + +#define ICM_USER (DRV_USER+0x0000) + +#define ICM_RESERVED ICM_RESERVED_LOW +#define ICM_RESERVED_LOW (DRV_USER+0x1000) +#define ICM_RESERVED_HIGH (DRV_USER+0x2000) + +#define ICM_GETSTATE (ICM_RESERVED+0) +#define ICM_SETSTATE (ICM_RESERVED+1) +#define ICM_GETINFO (ICM_RESERVED+2) + +#define ICM_CONFIGURE (ICM_RESERVED+10) +#define ICM_ABOUT (ICM_RESERVED+11) + +#define ICM_GETERRORTEXT (ICM_RESERVED+12) +#define ICM_GETFORMATNAME (ICM_RESERVED+20) +#define ICM_ENUMFORMATS (ICM_RESERVED+21) + +#define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30) +#define ICM_GETQUALITY (ICM_RESERVED+31) +#define ICM_SETQUALITY (ICM_RESERVED+32) + +#define ICM_SET (ICM_RESERVED+40) +#define ICM_GET (ICM_RESERVED+41) + +#define ICM_FRAMERATE mmioFOURCC('F','r','m','R') +#define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R') + +#define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) +#define ICM_COMPRESS_GET_SIZE (ICM_USER+5) +#define ICM_COMPRESS_QUERY (ICM_USER+6) +#define ICM_COMPRESS_BEGIN (ICM_USER+7) +#define ICM_COMPRESS (ICM_USER+8) +#define ICM_COMPRESS_END (ICM_USER+9) + +#define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10) +#define ICM_DECOMPRESS_QUERY (ICM_USER+11) +#define ICM_DECOMPRESS_BEGIN (ICM_USER+12) +#define ICM_DECOMPRESS (ICM_USER+13) +#define ICM_DECOMPRESS_END (ICM_USER+14) +#define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29) +#define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30) + +#define ICM_DRAW_QUERY (ICM_USER+31) +#define ICM_DRAW_BEGIN (ICM_USER+15) +#define ICM_DRAW_GET_PALETTE (ICM_USER+16) +#define ICM_DRAW_UPDATE (ICM_USER+17) +#define ICM_DRAW_START (ICM_USER+18) +#define ICM_DRAW_STOP (ICM_USER+19) +#define ICM_DRAW_BITS (ICM_USER+20) +#define ICM_DRAW_END (ICM_USER+21) +#define ICM_DRAW_GETTIME (ICM_USER+32) +#define ICM_DRAW (ICM_USER+33) +#define ICM_DRAW_WINDOW (ICM_USER+34) +#define ICM_DRAW_SETTIME (ICM_USER+35) +#define ICM_DRAW_REALIZE (ICM_USER+36) +#define ICM_DRAW_FLUSH (ICM_USER+37) +#define ICM_DRAW_RENDERBUFFER (ICM_USER+38) + +#define ICM_DRAW_START_PLAY (ICM_USER+39) +#define ICM_DRAW_STOP_PLAY (ICM_USER+40) + +#define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50) +#define ICM_DRAW_CHANGEPALETTE (ICM_USER+51) + +#define ICM_DRAW_IDLE (ICM_USER+52) + +#define ICM_GETBUFFERSWANTED (ICM_USER+41) + +#define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42) + +#define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60) +#define ICM_DECOMPRESSEX_QUERY (ICM_USER+61) +#define ICM_DECOMPRESSEX (ICM_USER+62) +#define ICM_DECOMPRESSEX_END (ICM_USER+63) + +#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) +#define ICM_COMPRESS_FRAMES (ICM_USER+71) +#define ICM_SET_STATUS_PROC (ICM_USER+72) + + typedef struct { + DWORD dwSize; + DWORD fccType; + DWORD fccHandler; + DWORD dwVersion; + DWORD dwFlags; + LRESULT dwError; + LPVOID pV1Reserved; + LPVOID pV2Reserved; + DWORD dnDevNode; + } ICOPEN; + + typedef struct { + DWORD dwSize; + DWORD fccType; + DWORD fccHandler; + DWORD dwFlags; + DWORD dwVersion; + DWORD dwVersionICM; + + WCHAR szName[16]; + WCHAR szDescription[128]; + WCHAR szDriver[128]; + } ICINFO; + +#define VIDCF_QUALITY 0x0001 +#define VIDCF_CRUNCH 0x0002 +#define VIDCF_TEMPORAL 0x0004 +#define VIDCF_COMPRESSFRAMES 0x0008 +#define VIDCF_DRAW 0x0010 +#define VIDCF_FASTTEMPORALC 0x0020 +#define VIDCF_QUALITYTIME 0x0040 +#define VIDCF_FASTTEMPORALD 0x0080 +#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) + +#define ICCOMPRESS_KEYFRAME __MSABI_LONG(0x00000001) + + typedef struct { + DWORD dwFlags; + LPBITMAPINFOHEADER lpbiOutput; + LPVOID lpOutput; + + LPBITMAPINFOHEADER lpbiInput; + LPVOID lpInput; + LPDWORD lpckid; + LPDWORD lpdwFlags; + LONG lFrameNum; + DWORD dwFrameSize; + DWORD dwQuality; + LPBITMAPINFOHEADER lpbiPrev; + LPVOID lpPrev; + } ICCOMPRESS; + +#define ICCOMPRESSFRAMES_PADDING 0x00000001 + + typedef struct { + DWORD dwFlags; + LPBITMAPINFOHEADER lpbiOutput; + LPARAM lOutput; + LPBITMAPINFOHEADER lpbiInput; + LPARAM lInput; + LONG lStartFrame; + LONG lFrameCount; + LONG lQuality; + LONG lDataRate; + LONG lKeyRate; + DWORD dwRate; + DWORD dwScale; + DWORD dwOverheadPerFrame; + DWORD dwReserved2; + LONG (CALLBACK *GetData)(LPARAM lInput,LONG lFrame,LPVOID lpBits,LONG len); + LONG (CALLBACK *PutData)(LPARAM lOutput,LONG lFrame,LPVOID lpBits,LONG len); + } ICCOMPRESSFRAMES; + +#define ICSTATUS_START 0 +#define ICSTATUS_STATUS 1 +#define ICSTATUS_END 2 +#define ICSTATUS_ERROR 3 +#define ICSTATUS_YIELD 4 + + typedef struct { + DWORD dwFlags; + LPARAM lParam; + LONG (CALLBACK *Status)(LPARAM lParam,UINT message,LONG l); + } ICSETSTATUSPROC; + +#define ICDECOMPRESS_HURRYUP __MSABI_LONG(0x80000000) +#define ICDECOMPRESS_UPDATE __MSABI_LONG(0x40000000) +#define ICDECOMPRESS_PREROLL __MSABI_LONG(0x20000000) +#define ICDECOMPRESS_NULLFRAME __MSABI_LONG(0x10000000) +#define ICDECOMPRESS_NOTKEYFRAME __MSABI_LONG(0x08000000) + + typedef struct { + DWORD dwFlags; + LPBITMAPINFOHEADER lpbiInput; + LPVOID lpInput; + LPBITMAPINFOHEADER lpbiOutput; + LPVOID lpOutput; + DWORD ckid; + } ICDECOMPRESS; + + typedef struct { + DWORD dwFlags; + LPBITMAPINFOHEADER lpbiSrc; + LPVOID lpSrc; + LPBITMAPINFOHEADER lpbiDst; + LPVOID lpDst; + int xDst; + int yDst; + int dxDst; + int dyDst; + + int xSrc; + int ySrc; + int dxSrc; + int dySrc; + } ICDECOMPRESSEX; + +#define ICDRAW_QUERY __MSABI_LONG(0x00000001) +#define ICDRAW_FULLSCREEN __MSABI_LONG(0x00000002) +#define ICDRAW_HDC __MSABI_LONG(0x00000004) +#define ICDRAW_ANIMATE __MSABI_LONG(0x00000008) +#define ICDRAW_CONTINUE __MSABI_LONG(0x00000010) +#define ICDRAW_MEMORYDC __MSABI_LONG(0x00000020) +#define ICDRAW_UPDATING __MSABI_LONG(0x00000040) +#define ICDRAW_RENDER __MSABI_LONG(0x00000080) +#define ICDRAW_BUFFER __MSABI_LONG(0x00000100) + + typedef struct { + DWORD dwFlags; + HPALETTE hpal; + HWND hwnd; + HDC hdc; + int xDst; + int yDst; + int dxDst; + int dyDst; + LPBITMAPINFOHEADER lpbi; + int xSrc; + int ySrc; + int dxSrc; + int dySrc; + DWORD dwRate; + DWORD dwScale; + } ICDRAWBEGIN; + +#define ICDRAW_HURRYUP __MSABI_LONG(0x80000000) +#define ICDRAW_UPDATE __MSABI_LONG(0x40000000) +#define ICDRAW_PREROLL __MSABI_LONG(0x20000000) +#define ICDRAW_NULLFRAME __MSABI_LONG(0x10000000) +#define ICDRAW_NOTKEYFRAME __MSABI_LONG(0x08000000) + + typedef struct { + DWORD dwFlags; + LPVOID lpFormat; + LPVOID lpData; + DWORD cbData; + LONG lTime; + } ICDRAW; + + typedef struct { + LPBITMAPINFOHEADER lpbiIn; + LPBITMAPINFOHEADER lpbiSuggest; + int dxSrc; + int dySrc; + int dxDst; + int dyDst; + HIC hicDecompressor; + } ICDRAWSUGGEST; + + typedef struct { + DWORD dwFlags; + int iStart; + int iLen; + LPPALETTEENTRY lppe; + } ICPALETTE; + + WINBOOL WINAPI ICInfo(DWORD fccType,DWORD fccHandler,ICINFO *lpicinfo); + WINBOOL WINAPI ICInstall(DWORD fccType,DWORD fccHandler,LPARAM lParam,LPSTR szDesc,UINT wFlags); + WINBOOL WINAPI ICRemove(DWORD fccType,DWORD fccHandler,UINT wFlags); + LRESULT WINAPI ICGetInfo(HIC hic,ICINFO *picinfo,DWORD cb); + HIC WINAPI ICOpen(DWORD fccType,DWORD fccHandler,UINT wMode); + HIC WINAPI ICOpenFunction(DWORD fccType,DWORD fccHandler,UINT wMode,FARPROC lpfnHandler); + LRESULT WINAPI ICClose(HIC hic); + LRESULT WINAPI ICSendMessage(HIC hic,UINT msg,DWORD_PTR dw1,DWORD_PTR dw2); + +#define ICINSTALL_UNICODE 0x8000 +#define ICINSTALL_FUNCTION 0x0001 +#define ICINSTALL_DRIVER 0x0002 +#define ICINSTALL_HDRV 0x0004 +#define ICINSTALL_DRIVERW 0x8002 + +#define ICMF_CONFIGURE_QUERY 0x00000001 +#define ICMF_ABOUT_QUERY 0x00000001 + +#define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD_PTR) -1,ICMF_ABOUT_QUERY)==ICERR_OK) +#define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD_PTR)(UINT_PTR)(hwnd),(DWORD_PTR)0) +#define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD_PTR) -1,ICMF_CONFIGURE_QUERY)==ICERR_OK) +#define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD_PTR)(UINT_PTR)(hwnd),(DWORD_PTR)0) +#define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD_PTR)(LPVOID)(pv),(DWORD_PTR)(cb)) +#define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD_PTR)(LPVOID)(pv),(DWORD_PTR)(cb)) +#define ICGetStateSize(hic) (DWORD) ICGetState(hic,NULL,0) + + static DWORD dwICValue; + +#define ICGetDefaultQuality(hic) (ICSendMessage(hic,ICM_GETDEFAULTQUALITY,(DWORD_PTR)(LPVOID)&dwICValue,sizeof(DWORD)),dwICValue) +#define ICGetDefaultKeyFrameRate(hic) (ICSendMessage(hic,ICM_GETDEFAULTKEYFRAMERATE,(DWORD_PTR)(LPVOID)&dwICValue,sizeof(DWORD)),dwICValue) +#define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD_PTR)(LPVOID)(prc),sizeof(RECT)) + + DWORD WINAPIV ICCompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiOutput,LPVOID lpData,LPBITMAPINFOHEADER lpbiInput,LPVOID lpBits,LPDWORD lpckid,LPDWORD lpdwFlags,LONG lFrameNum,DWORD dwFrameSize,DWORD dwQuality,LPBITMAPINFOHEADER lpbiPrev,LPVOID lpPrev); + +#define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICCompressGetFormatSize(hic,lpbi) (DWORD) ICCompressGetFormat(hic,lpbi,NULL) +#define ICCompressGetSize(hic,lpbiInput,lpbiOutput) (DWORD) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDECOMPRESS_HURRYUP __MSABI_LONG(0x80000000) + + DWORD WINAPIV ICDecompress(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiFormat,LPVOID lpData,LPBITMAPINFOHEADER lpbi,LPVOID lpBits); + +#define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) ((LONG) ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput))) +#define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic,lpbi,NULL) +#define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD_PTR)(LPVOID)(lpbiOutput)) +#define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD_PTR)(LPVOID)(lpbiPalette),(DWORD_PTR)0) +#define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,(DWORD_PTR)0,(DWORD_PTR)0) + +#ifndef __CRT__NO_INLINE + __CRT_INLINE LRESULT WINAPI ICDecompressEx(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,int xSrc,int ySrc,int dxSrc,int dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,int xDst,int yDst,int dxDst,int dyDst) { + ICDECOMPRESSEX ic; + ic.dwFlags = dwFlags; + ic.lpbiSrc = lpbiSrc; + ic.lpSrc = lpSrc; + ic.xSrc = xSrc; + ic.ySrc = ySrc; + ic.dxSrc = dxSrc; + ic.dySrc = dySrc; + ic.lpbiDst = lpbiDst; + ic.lpDst = lpDst; + ic.xDst = xDst; + ic.yDst = yDst; + ic.dxDst = dxDst; + ic.dyDst = dyDst; + return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD_PTR)&ic,sizeof(ic)); + } + + __CRT_INLINE LRESULT WINAPI ICDecompressExBegin(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,int xSrc,int ySrc,int dxSrc,int dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,int xDst,int yDst,int dxDst,int dyDst) { + ICDECOMPRESSEX ic; + ic.dwFlags = dwFlags; + ic.lpbiSrc = lpbiSrc; + ic.lpSrc = lpSrc; + ic.xSrc = xSrc; + ic.ySrc = ySrc; + ic.dxSrc = dxSrc; + ic.dySrc = dySrc; + ic.lpbiDst = lpbiDst; + ic.lpDst = lpDst; + ic.xDst = xDst; + ic.yDst = yDst; + ic.dxDst = dxDst; + ic.dyDst = dyDst; + return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD_PTR)&ic,sizeof(ic)); + } + + __CRT_INLINE LRESULT WINAPI ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,int xSrc,int ySrc,int dxSrc,int dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,int xDst,int yDst,int dxDst,int dyDst) { + ICDECOMPRESSEX ic; + ic.dwFlags = dwFlags; + ic.lpbiSrc = lpbiSrc; + ic.lpSrc = lpSrc; + ic.xSrc = xSrc; + ic.ySrc = ySrc; + ic.dxSrc = dxSrc; + ic.dySrc = dySrc; + ic.lpbiDst = lpbiDst; + ic.lpDst = lpDst; + ic.xDst = xDst; + ic.yDst = yDst; + ic.dxDst = dxDst; + ic.dyDst = dyDst; + return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD_PTR)&ic,sizeof(ic)); + } +#endif /* !__CRT__NO_INLINE */ + +#define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,(DWORD_PTR)0,(DWORD_PTR)0) + +#define ICDRAW_QUERY __MSABI_LONG(0x00000001) +#define ICDRAW_FULLSCREEN __MSABI_LONG(0x00000002) +#define ICDRAW_HDC __MSABI_LONG(0x00000004) + + DWORD WINAPIV ICDrawBegin(HIC hic,DWORD dwFlags,HPALETTE hpal,HWND hwnd,HDC hdc,int xDst,int yDst,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,int xSrc,int ySrc,int dxSrc,int dySrc,DWORD dwRate,DWORD dwScale); + +#define ICDRAW_HURRYUP __MSABI_LONG(0x80000000) +#define ICDRAW_UPDATE __MSABI_LONG(0x40000000) + + DWORD WINAPIV ICDraw(HIC hic,DWORD dwFlags,LPVOID lpFormat,LPVOID lpData,DWORD cbData,LONG lTime); + +#ifndef __CRT__NO_INLINE + __CRT_INLINE LRESULT WINAPI ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,int dxSrc,int dySrc,int dxDst,int dyDst,HIC hicDecomp) { + ICDRAWSUGGEST ic; + ic.lpbiIn = lpbiIn; + ic.lpbiSuggest = lpbiOut; + ic.dxSrc = dxSrc; + ic.dySrc = dySrc; + ic.dxDst = dxDst; + ic.dyDst = dyDst; + ic.hicDecompressor = hicDecomp; + return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD_PTR)&ic,sizeof(ic)); + } +#endif /* !__CRT__NO_INLINE */ + +#define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD)0) +#define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD_PTR)(LPVOID)(lpbiInput),(DWORD)0) +#define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD_PTR)(LPVOID)(lpdwBuffers),(DWORD_PTR)0) +#define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD_PTR)(lFrom),(DWORD_PTR)(lTo)) +#define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD_PTR)(LPVOID)(lplTime),(DWORD_PTR)0) +#define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD_PTR)lTime,(DWORD_PTR)0) +#define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD_PTR)(UINT_PTR)(HDC)(hdc),(DWORD_PTR)(WINBOOL)(fBackground)) +#define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,(DWORD_PTR)0,(DWORD_PTR)0) +#define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,(DWORD_PTR)0,(DWORD_PTR)0) + +#ifndef __CRT__NO_INLINE + __CRT_INLINE LRESULT WINAPI ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG)) { + ICSETSTATUSPROC ic; + ic.dwFlags = dwFlags; + ic.lParam = lParam; + ic.Status = fpfnStatus; + return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD_PTR)&ic,sizeof(ic)); + } +#endif /* !__CRT__NO_INLINE */ + +#define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS) +#define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW) + + HIC WINAPI ICLocate(DWORD fccType,DWORD fccHandler,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,WORD wFlags); + HIC WINAPI ICGetDisplayFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,int BitDepth,int dx,int dy); + HANDLE WINAPI ICImageCompress(HIC hic,UINT uiFlags,LPBITMAPINFO lpbiIn,LPVOID lpBits,LPBITMAPINFO lpbiOut,LONG lQuality,LONG *plSize); + HANDLE WINAPI ICImageDecompress(HIC hic,UINT uiFlags,LPBITMAPINFO lpbiIn,LPVOID lpBits,LPBITMAPINFO lpbiOut); + + typedef struct { + LONG cbSize; + DWORD dwFlags; + HIC hic; + DWORD fccType; + DWORD fccHandler; + LPBITMAPINFO lpbiIn; + LPBITMAPINFO lpbiOut; + LPVOID lpBitsOut; + LPVOID lpBitsPrev; + LONG lFrame; + LONG lKey; + LONG lDataRate; + LONG lQ; + LONG lKeyCount; + LPVOID lpState; + LONG cbState; + } COMPVARS,*PCOMPVARS; + +#define ICMF_COMPVARS_VALID 0x00000001 + + WINBOOL WINAPI ICCompressorChoose(HWND hwnd,UINT uiFlags,LPVOID pvIn,LPVOID lpData,PCOMPVARS pc,LPSTR lpszTitle); + +#define ICMF_CHOOSE_KEYFRAME 0x0001 +#define ICMF_CHOOSE_DATARATE 0x0002 +#define ICMF_CHOOSE_PREVIEW 0x0004 +#define ICMF_CHOOSE_ALLCOMPRESSORS 0x0008 + + WINBOOL WINAPI ICSeqCompressFrameStart(PCOMPVARS pc,LPBITMAPINFO lpbiIn); + void WINAPI ICSeqCompressFrameEnd(PCOMPVARS pc); + LPVOID WINAPI ICSeqCompressFrame(PCOMPVARS pc,UINT uiFlags,LPVOID lpBits,WINBOOL *pfKey,LONG *plSize); + void WINAPI ICCompressorFree(PCOMPVARS pc); +#endif + +#ifndef NODRAWDIB + + typedef HANDLE HDRAWDIB; + +#define DDF_0001 0x0001 +#define DDF_UPDATE 0x0002 +#define DDF_SAME_HDC 0x0004 +#define DDF_SAME_DRAW 0x0008 +#define DDF_DONTDRAW 0x0010 +#define DDF_ANIMATE 0x0020 +#define DDF_BUFFER 0x0040 +#define DDF_JUSTDRAWIT 0x0080 +#define DDF_FULLSCREEN 0x0100 +#define DDF_BACKGROUNDPAL 0x0200 +#define DDF_NOTKEYFRAME 0x0400 +#define DDF_HURRYUP 0x0800 +#define DDF_HALFTONE 0x1000 +#define DDF_2000 0x2000 + +#define DDF_PREROLL DDF_DONTDRAW +#define DDF_SAME_DIB DDF_SAME_DRAW +#define DDF_SAME_SIZE DDF_SAME_DRAW + + extern WINBOOL WINAPI DrawDibInit(void); + extern HDRAWDIB WINAPI DrawDibOpen(void); + extern WINBOOL WINAPI DrawDibClose(HDRAWDIB hdd); + extern LPVOID WINAPI DrawDibGetBuffer(HDRAWDIB hdd,LPBITMAPINFOHEADER lpbi,DWORD dwSize,DWORD dwFlags); + extern UINT WINAPI DrawDibError(HDRAWDIB hdd); + extern HPALETTE WINAPI DrawDibGetPalette(HDRAWDIB hdd); + extern WINBOOL WINAPI DrawDibSetPalette(HDRAWDIB hdd,HPALETTE hpal); + extern WINBOOL WINAPI DrawDibChangePalette(HDRAWDIB hdd,int iStart,int iLen,LPPALETTEENTRY lppe); + extern UINT WINAPI DrawDibRealize(HDRAWDIB hdd,HDC hdc,WINBOOL fBackground); + extern WINBOOL WINAPI DrawDibStart(HDRAWDIB hdd,DWORD rate); + extern WINBOOL WINAPI DrawDibStop(HDRAWDIB hdd); + extern WINBOOL WINAPI DrawDibBegin(HDRAWDIB hdd,HDC hdc,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,int dxSrc,int dySrc,UINT wFlags); + extern WINBOOL WINAPI DrawDibDraw(HDRAWDIB hdd,HDC hdc,int xDst,int yDst,int dxDst,int dyDst,LPBITMAPINFOHEADER lpbi,LPVOID lpBits,int xSrc,int ySrc,int dxSrc,int dySrc,UINT wFlags); + +#define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE) + + extern WINBOOL WINAPI DrawDibEnd(HDRAWDIB hdd); + + typedef struct { + LONG timeCount; + LONG timeDraw; + LONG timeDecompress; + LONG timeDither; + LONG timeStretch; + LONG timeBlt; + LONG timeSetDIBits; + } DRAWDIBTIME,*LPDRAWDIBTIME; + + WINBOOL WINAPI DrawDibTime(HDRAWDIB hdd,LPDRAWDIBTIME lpddtime); + +#define PD_CAN_DRAW_DIB 0x0001 +#define PD_CAN_STRETCHDIB 0x0002 +#define PD_STRETCHDIB_1_1_OK 0x0004 +#define PD_STRETCHDIB_1_2_OK 0x0008 +#define PD_STRETCHDIB_1_N_OK 0x0010 + + LRESULT WINAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER lpbi); + +#ifdef DRAWDIB_INCLUDE_STRETCHDIB + void WINAPI StretchDIB(LPBITMAPINFOHEADER biDst,LPVOID lpDst,int DstX,int DstY,int DstXE,int DstYE,LPBITMAPINFOHEADER biSrc,LPVOID lpSrc,int SrcX,int SrcY,int SrcXE,int SrcYE); +#endif +#endif + +#ifndef NOAVIFMT +#ifndef _INC_MMSYSTEM + typedef DWORD FOURCC; +#endif + +/* This part of the file is duplicated in avifmt.h */ +#ifndef mmioFOURCC +#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) +#endif + +#ifndef aviTWOCC +#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0) | ((WORD)(BYTE)(ch1) << 8)) +#endif + + typedef WORD TWOCC; + +#define formtypeAVI mmioFOURCC('A','V','I',' ') +#define listtypeAVIHEADER mmioFOURCC('h','d','r','l') +#define ckidAVIMAINHDR mmioFOURCC('a','v','i','h') +#define listtypeSTREAMHEADER mmioFOURCC('s','t','r','l') +#define ckidSTREAMHEADER mmioFOURCC('s','t','r','h') +#define ckidSTREAMFORMAT mmioFOURCC('s','t','r','f') +#define ckidSTREAMHANDLERDATA mmioFOURCC('s','t','r','d') +#define ckidSTREAMNAME mmioFOURCC('s','t','r','n') + +#define listtypeAVIMOVIE mmioFOURCC('m','o','v','i') +#define listtypeAVIRECORD mmioFOURCC('r','e','c',' ') + +#define ckidAVINEWINDEX mmioFOURCC('i','d','x','1') + +#define streamtypeANY __MSABI_LONG(0U) +#define streamtypeVIDEO mmioFOURCC('v','i','d','s') +#define streamtypeAUDIO mmioFOURCC('a','u','d','s') +#define streamtypeMIDI mmioFOURCC('m','i','d','s') +#define streamtypeTEXT mmioFOURCC('t','x','t','s') + +#define cktypeDIBbits aviTWOCC('d','b') +#define cktypeDIBcompressed aviTWOCC('d','c') +#define cktypePALchange aviTWOCC('p','c') +#define cktypeWAVEbytes aviTWOCC('w','b') + +#define ckidAVIPADDING mmioFOURCC('J','U','N','K') + +#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) +#define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + (FromHex(HIBYTE(LOWORD(fcc)))))) + +#define TWOCCFromFOURCC(fcc) HIWORD(fcc) + +#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) +#define MAKEAVICKID(tcc,stream) MAKELONG((ToHex((stream) & 0x0f) << 8) | (ToHex(((stream) & 0xf0) >> 4)),tcc) + +#define AVIF_HASINDEX 0x00000010 +#define AVIF_MUSTUSEINDEX 0x00000020 +#define AVIF_ISINTERLEAVED 0x00000100 +#define AVIF_TRUSTCKTYPE 0x00000800 +#define AVIF_WASCAPTUREFILE 0x00010000 +#define AVIF_COPYRIGHTED 0x00020000 + +#define AVI_HEADERSIZE 2048 + + typedef struct { + DWORD dwMicroSecPerFrame; + DWORD dwMaxBytesPerSec; + DWORD dwPaddingGranularity; + DWORD dwFlags; + DWORD dwTotalFrames; + DWORD dwInitialFrames; + DWORD dwStreams; + DWORD dwSuggestedBufferSize; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwReserved[4]; + } MainAVIHeader; + +#define AVISF_DISABLED 0x00000001 +#define AVISF_VIDEO_PALCHANGES 0x00010000 + + typedef struct { + FOURCC fccType; + FOURCC fccHandler; + DWORD dwFlags; + WORD wPriority; + WORD wLanguage; + DWORD dwInitialFrames; + DWORD dwScale; + DWORD dwRate; + DWORD dwStart; + DWORD dwLength; + DWORD dwSuggestedBufferSize; + DWORD dwQuality; + DWORD dwSampleSize; + RECT rcFrame; + } AVIStreamHeader; + +#define AVIIF_LIST __MSABI_LONG(0x00000001) +#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) +#define AVIIF_FIRSTPART __MSABI_LONG(0x00000020) +#define AVIIF_LASTPART __MSABI_LONG(0x00000040) +#define AVIIF_MIDPART (AVIIF_LASTPART|AVIIF_FIRSTPART) + +#define AVIIF_NOTIME __MSABI_LONG(0x00000100) +#define AVIIF_COMPUSE __MSABI_LONG(0x0FFF0000) + + typedef struct { + DWORD ckid; + DWORD dwFlags; + DWORD dwChunkOffset; + DWORD dwChunkLength; + } AVIINDEXENTRY; + + typedef struct { + BYTE bFirstEntry; + BYTE bNumEntries; + WORD wFlags; + PALETTEENTRY peNew[]; + } AVIPALCHANGE; +#endif +/* End of duplication */ + +#ifdef __cplusplus +} +#endif + +#ifndef RC_INVOKED +#include "pshpack8.h" +#endif + +#ifndef NOMMREG +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef NOAVIFILE +#ifndef mmioFOURCC +#define mmioFOURCC(ch0,ch1,ch2,ch3) ((DWORD)(BYTE)(ch0) | ((DWORD)(BYTE)(ch1) << 8) | ((DWORD)(BYTE)(ch2) << 16) | ((DWORD)(BYTE)(ch3) << 24)) +#endif + +#ifndef streamtypeVIDEO +#define streamtypeANY __MSABI_LONG(0U) +#define streamtypeVIDEO mmioFOURCC('v','i','d','s') +#define streamtypeAUDIO mmioFOURCC('a','u','d','s') +#define streamtypeMIDI mmioFOURCC('m','i','d','s') +#define streamtypeTEXT mmioFOURCC('t','x','t','s') +#endif + +#ifndef AVIIF_KEYFRAME +#define AVIIF_KEYFRAME __MSABI_LONG(0x00000010) +#endif + +#define AVIGETFRAMEF_BESTDISPLAYFMT 1 + + typedef struct _AVISTREAMINFOW { + DWORD fccType; + DWORD fccHandler; + DWORD dwFlags; + DWORD dwCaps; + WORD wPriority; + WORD wLanguage; + DWORD dwScale; + DWORD dwRate; + DWORD dwStart; + DWORD dwLength; + DWORD dwInitialFrames; + DWORD dwSuggestedBufferSize; + DWORD dwQuality; + DWORD dwSampleSize; + RECT rcFrame; + DWORD dwEditCount; + DWORD dwFormatChangeCount; + WCHAR szName[64]; + } AVISTREAMINFOW,*LPAVISTREAMINFOW; + + typedef struct _AVISTREAMINFOA { + DWORD fccType; + DWORD fccHandler; + DWORD dwFlags; + DWORD dwCaps; + WORD wPriority; + WORD wLanguage; + DWORD dwScale; + DWORD dwRate; + DWORD dwStart; + DWORD dwLength; + DWORD dwInitialFrames; + DWORD dwSuggestedBufferSize; + DWORD dwQuality; + DWORD dwSampleSize; + RECT rcFrame; + DWORD dwEditCount; + DWORD dwFormatChangeCount; + char szName[64]; + } AVISTREAMINFOA,*LPAVISTREAMINFOA; + +#define AVISTREAMINFO __MINGW_NAME_AW(AVISTREAMINFO) +#define LPAVISTREAMINFO __MINGW_NAME_AW(LPAVISTREAMINFO) + +#define AVISTREAMINFO_DISABLED 0x00000001 +#define AVISTREAMINFO_FORMATCHANGES 0x00010000 + + typedef struct _AVIFILEINFOW { + DWORD dwMaxBytesPerSec; + DWORD dwFlags; + DWORD dwCaps; + DWORD dwStreams; + DWORD dwSuggestedBufferSize; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwScale; + DWORD dwRate; + DWORD dwLength; + DWORD dwEditCount; + WCHAR szFileType[64]; + } AVIFILEINFOW,*LPAVIFILEINFOW; + + typedef struct _AVIFILEINFOA { + DWORD dwMaxBytesPerSec; + DWORD dwFlags; + DWORD dwCaps; + DWORD dwStreams; + DWORD dwSuggestedBufferSize; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwScale; + DWORD dwRate; + DWORD dwLength; + DWORD dwEditCount; + char szFileType[64]; + } AVIFILEINFOA,*LPAVIFILEINFOA; + +#define AVIFILEINFO __MINGW_NAME_AW(AVIFILEINFO) +#define LPAVIFILEINFO __MINGW_NAME_AW(LPAVIFILEINFO) + +#define AVIFILEINFO_HASINDEX 0x00000010 +#define AVIFILEINFO_MUSTUSEINDEX 0x00000020 +#define AVIFILEINFO_ISINTERLEAVED 0x00000100 +#define AVIFILEINFO_TRUSTCKTYPE 0x00000800 +#define AVIFILEINFO_WASCAPTUREFILE 0x00010000 +#define AVIFILEINFO_COPYRIGHTED 0x00020000 + +#define AVIFILECAPS_CANREAD 0x00000001 +#define AVIFILECAPS_CANWRITE 0x00000002 +#define AVIFILECAPS_ALLKEYFRAMES 0x00000010 +#define AVIFILECAPS_NOCOMPRESSION 0x00000020 + + typedef WINBOOL (WINAPI *AVISAVECALLBACK)(int); + + typedef struct { + DWORD fccType; + DWORD fccHandler; + DWORD dwKeyFrameEvery; + DWORD dwQuality; + DWORD dwBytesPerSecond; + DWORD dwFlags; + LPVOID lpFormat; + DWORD cbFormat; + LPVOID lpParms; + DWORD cbParms; + DWORD dwInterleaveEvery; + } AVICOMPRESSOPTIONS, FAR *LPAVICOMPRESSOPTIONS; + +#define AVICOMPRESSF_INTERLEAVE 0x00000001 +#define AVICOMPRESSF_DATARATE 0x00000002 +#define AVICOMPRESSF_KEYFRAMES 0x00000004 +#define AVICOMPRESSF_VALID 0x00000008 + +#ifdef __cplusplus +} +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#undef INTERFACE +#define INTERFACE IAVIStream + DECLARE_INTERFACE_(IAVIStream,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD(Create) (THIS_ LPARAM lParam1,LPARAM lParam2) PURE; + STDMETHOD(Info) (THIS_ AVISTREAMINFOW *psi,LONG lSize) PURE; + STDMETHOD_(LONG,FindSample)(THIS_ LONG lPos,LONG lFlags) PURE; + STDMETHOD(ReadFormat) (THIS_ LONG lPos,LPVOID lpFormat,LONG *lpcbFormat) PURE; + STDMETHOD(SetFormat) (THIS_ LONG lPos,LPVOID lpFormat,LONG cbFormat) PURE; + STDMETHOD(Read) (THIS_ LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,LONG *plBytes,LONG *plSamples) PURE; + STDMETHOD(Write) (THIS_ LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,DWORD dwFlags,LONG *plSampWritten,LONG *plBytesWritten) PURE; + STDMETHOD(Delete) (THIS_ LONG lStart,LONG lSamples) PURE; + STDMETHOD(ReadData) (THIS_ DWORD fcc,LPVOID lp,LONG *lpcb) PURE; + STDMETHOD(WriteData) (THIS_ DWORD fcc,LPVOID lp,LONG cb) PURE; + STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW *lpInfo,LONG cbInfo) PURE; + }; + + typedef IAVIStream *PAVISTREAM; + +#undef INTERFACE +#define INTERFACE IAVIStreaming + DECLARE_INTERFACE_(IAVIStreaming,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD(Begin) (THIS_ LONG lStart,LONG lEnd,LONG lRate) PURE; + STDMETHOD(End) (THIS) PURE; + }; + + typedef IAVIStreaming *PAVISTREAMING; + +#undef INTERFACE +#define INTERFACE IAVIEditStream + DECLARE_INTERFACE_(IAVIEditStream,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD(Cut) (THIS_ LONG *plStart,LONG *plLength,PAVISTREAM *ppResult) PURE; + STDMETHOD(Copy) (THIS_ LONG *plStart,LONG *plLength,PAVISTREAM *ppResult) PURE; + STDMETHOD(Paste) (THIS_ LONG *plPos,LONG *plLength,PAVISTREAM pstream,LONG lStart,LONG lEnd) PURE; + STDMETHOD(Clone) (THIS_ PAVISTREAM *ppResult) PURE; + STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW *lpInfo,LONG cbInfo) PURE; + }; + + typedef IAVIEditStream *PAVIEDITSTREAM; + +#undef INTERFACE +#define INTERFACE IAVIPersistFile + DECLARE_INTERFACE_(IAVIPersistFile,IPersistFile) { + STDMETHOD(Reserved1)(THIS) PURE; + }; + + typedef IAVIPersistFile *PAVIPERSISTFILE; + +#undef INTERFACE +#define INTERFACE IAVIFile +#define PAVIFILE IAVIFile * + DECLARE_INTERFACE_(IAVIFile,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD(Info) (THIS_ AVIFILEINFOW *pfi,LONG lSize) PURE; + STDMETHOD(GetStream) (THIS_ PAVISTREAM *ppStream,DWORD fccType,LONG lParam) PURE; + STDMETHOD(CreateStream) (THIS_ PAVISTREAM *ppStream,AVISTREAMINFOW *psi) PURE; + STDMETHOD(WriteData) (THIS_ DWORD ckid,LPVOID lpData,LONG cbData) PURE; + STDMETHOD(ReadData) (THIS_ DWORD ckid,LPVOID lpData,LONG *lpcbData) PURE; + STDMETHOD(EndRecord) (THIS) PURE; + STDMETHOD(DeleteStream) (THIS_ DWORD fccType,LONG lParam) PURE; + }; + +#undef PAVIFILE + typedef IAVIFile *PAVIFILE; + +#undef INTERFACE +#define INTERFACE IGetFrame +#define PGETFRAME IGetFrame * + DECLARE_INTERFACE_(IGetFrame,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD_(LPVOID,GetFrame) (THIS_ LONG lPos) PURE; + STDMETHOD(Begin) (THIS_ LONG lStart,LONG lEnd,LONG lRate) PURE; + STDMETHOD(End) (THIS) PURE; + STDMETHOD(SetFormat) (THIS_ LPBITMAPINFOHEADER lpbi,LPVOID lpBits,int x,int y,int dx,int dy) PURE; + }; + +#undef PGETFRAME + typedef IGetFrame *PGETFRAME; + +#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) + + DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0); + DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0); + DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0); + DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0); + DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0); + DEFINE_AVIGUID(IID_IAVIPersistFile,0x00020025,0,0); +#if !defined(UNICODE) + DEFINE_AVIGUID(CLSID_AVISimpleUnMarshal,0x00020009,0,0); +#endif + + DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0); + +#define AVIFILEHANDLER_CANREAD 0x0001 +#define AVIFILEHANDLER_CANWRITE 0x0002 +#define AVIFILEHANDLER_CANACCEPTNONRGB 0x0004 + +#define AVIFileOpen __MINGW_NAME_AW(AVIFileOpen) +#define AVIFileInfo __MINGW_NAME_AW(AVIFileInfo) +#define AVIFileCreateStream __MINGW_NAME_AW(AVIFileCreateStream) +#define AVIStreamInfo __MINGW_NAME_AW(AVIStreamInfo) +#define AVIStreamOpenFromFile __MINGW_NAME_AW(AVIStreamOpenFromFile) + + STDAPI_(void) AVIFileInit(void); + STDAPI_(void) AVIFileExit(void); + STDAPI_(ULONG) AVIFileAddRef (PAVIFILE pfile); + STDAPI_(ULONG) AVIFileRelease (PAVIFILE pfile); + STDAPI AVIFileOpenA (PAVIFILE *ppfile,LPCSTR szFile,UINT uMode,LPCLSID lpHandler); + STDAPI AVIFileOpenW (PAVIFILE *ppfile,LPCWSTR szFile,UINT uMode,LPCLSID lpHandler); + STDAPI AVIFileInfoW (PAVIFILE pfile,LPAVIFILEINFOW pfi,LONG lSize); + STDAPI AVIFileInfoA (PAVIFILE pfile,LPAVIFILEINFOA pfi,LONG lSize); + STDAPI AVIFileGetStream (PAVIFILE pfile,PAVISTREAM *ppavi,DWORD fccType,LONG lParam); + STDAPI AVIFileCreateStreamW (PAVIFILE pfile,PAVISTREAM *ppavi,AVISTREAMINFOW *psi); + STDAPI AVIFileCreateStreamA (PAVIFILE pfile,PAVISTREAM *ppavi,AVISTREAMINFOA *psi); + STDAPI AVIFileWriteData (PAVIFILE pfile,DWORD ckid,LPVOID lpData,LONG cbData); + STDAPI AVIFileReadData (PAVIFILE pfile,DWORD ckid,LPVOID lpData,LONG *lpcbData); + STDAPI AVIFileEndRecord (PAVIFILE pfile); + STDAPI_(ULONG) AVIStreamAddRef (PAVISTREAM pavi); + STDAPI_(ULONG) AVIStreamRelease (PAVISTREAM pavi); + STDAPI AVIStreamInfoW (PAVISTREAM pavi,LPAVISTREAMINFOW psi,LONG lSize); + STDAPI AVIStreamInfoA (PAVISTREAM pavi,LPAVISTREAMINFOA psi,LONG lSize); + STDAPI_(LONG) AVIStreamFindSample(PAVISTREAM pavi,LONG lPos,LONG lFlags); + STDAPI AVIStreamReadFormat (PAVISTREAM pavi,LONG lPos,LPVOID lpFormat,LONG *lpcbFormat); + STDAPI AVIStreamSetFormat (PAVISTREAM pavi,LONG lPos,LPVOID lpFormat,LONG cbFormat); + STDAPI AVIStreamReadData (PAVISTREAM pavi,DWORD fcc,LPVOID lp,LONG *lpcb); + STDAPI AVIStreamWriteData (PAVISTREAM pavi,DWORD fcc,LPVOID lp,LONG cb); + STDAPI AVIStreamRead (PAVISTREAM pavi,LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,LONG *plBytes,LONG *plSamples); +#define AVISTREAMREAD_CONVENIENT (__MSABI_LONG(-1)) + STDAPI AVIStreamWrite (PAVISTREAM pavi,LONG lStart,LONG lSamples,LPVOID lpBuffer,LONG cbBuffer,DWORD dwFlags,LONG *plSampWritten,LONG *plBytesWritten); + STDAPI_(LONG) AVIStreamStart (PAVISTREAM pavi); + STDAPI_(LONG) AVIStreamLength (PAVISTREAM pavi); + STDAPI_(LONG) AVIStreamTimeToSample (PAVISTREAM pavi,LONG lTime); + STDAPI_(LONG) AVIStreamSampleToTime (PAVISTREAM pavi,LONG lSample); + STDAPI AVIStreamBeginStreaming(PAVISTREAM pavi,LONG lStart,LONG lEnd,LONG lRate); + STDAPI AVIStreamEndStreaming(PAVISTREAM pavi); + STDAPI_(PGETFRAME) AVIStreamGetFrameOpen(PAVISTREAM pavi,LPBITMAPINFOHEADER lpbiWanted); + STDAPI_(LPVOID) AVIStreamGetFrame(PGETFRAME pg,LONG lPos); + STDAPI AVIStreamGetFrameClose(PGETFRAME pg); + STDAPI AVIStreamOpenFromFileA(PAVISTREAM *ppavi,LPCSTR szFile,DWORD fccType,LONG lParam,UINT mode,CLSID *pclsidHandler); + STDAPI AVIStreamOpenFromFileW(PAVISTREAM *ppavi,LPCWSTR szFile,DWORD fccType,LONG lParam,UINT mode,CLSID *pclsidHandler); + STDAPI AVIStreamCreate(PAVISTREAM *ppavi,LONG lParam1,LONG lParam2,CLSID *pclsidHandler); + +#define FIND_DIR __MSABI_LONG(0x0000000F) +#define FIND_NEXT __MSABI_LONG(0x00000001) +#define FIND_PREV __MSABI_LONG(0x00000004) +#define FIND_FROM_START __MSABI_LONG(0x00000008) + +#define FIND_TYPE __MSABI_LONG(0x000000F0) +#define FIND_KEY __MSABI_LONG(0x00000010) +#define FIND_ANY __MSABI_LONG(0x00000020) +#define FIND_FORMAT __MSABI_LONG(0x00000040) + +#define FIND_RET __MSABI_LONG(0x0000F000) +#define FIND_POS __MSABI_LONG(0x00000000) +#define FIND_LENGTH __MSABI_LONG(0x00001000) +#define FIND_OFFSET __MSABI_LONG(0x00002000) +#define FIND_SIZE __MSABI_LONG(0x00003000) +#define FIND_INDEX __MSABI_LONG(0x00004000) + +#define AVIStreamFindKeyFrame AVIStreamFindSample +#define FindKeyFrame FindSample + +#define AVIStreamClose AVIStreamRelease +#define AVIFileClose AVIFileRelease +#define AVIStreamInit AVIFileInit +#define AVIStreamExit AVIFileExit + +#define SEARCH_NEAREST FIND_PREV +#define SEARCH_BACKWARD FIND_PREV +#define SEARCH_FORWARD FIND_NEXT +#define SEARCH_KEY FIND_KEY +#define SEARCH_ANY FIND_ANY + +#define AVIStreamSampleToSample(pavi1,pavi2,l) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,l)) +#define AVIStreamNextSample(pavi,l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_ANY) +#define AVIStreamPrevSample(pavi,l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_ANY) +#define AVIStreamNearestSample(pavi,l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_ANY) +#define AVIStreamNextKeyFrame(pavi,l) AVIStreamFindSample(pavi,l+1,FIND_NEXT|FIND_KEY) +#define AVIStreamPrevKeyFrame(pavi,l) AVIStreamFindSample(pavi,l-1,FIND_PREV|FIND_KEY) +#define AVIStreamNearestKeyFrame(pavi,l) AVIStreamFindSample(pavi,l,FIND_PREV|FIND_KEY) +#define AVIStreamIsKeyFrame(pavi,l) (AVIStreamNearestKeyFrame(pavi,l)==l) +#define AVIStreamPrevSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamPrevSample(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamNextSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNextSample(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamNearestSampleTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNearestSample(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamNextKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNextKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamPrevKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamPrevKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamNearestKeyFrameTime(pavi,t) AVIStreamSampleToTime(pavi,AVIStreamNearestKeyFrame(pavi,AVIStreamTimeToSample(pavi,t))) +#define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi)) +#define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi)) +#define AVIStreamEnd(pavi) (AVIStreamStart(pavi) + AVIStreamLength(pavi)) +#define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi)) +#define AVIStreamSampleSize(pavi,lPos,plSize) AVIStreamRead(pavi,lPos,1,NULL,(LONG)0,plSize,NULL) +#define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize) +#define AVIStreamDataSize(pavi,fcc,plSize) AVIStreamReadData(pavi,fcc,NULL,plSize) + +#define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi, pos + 1, FIND_NEXT | FIND_KEY) +#define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi, pos - 1, FIND_NEXT | FIND_KEY) + +#ifndef comptypeDIB +#define comptypeDIB mmioFOURCC('D','I','B',' ') +#endif + +#define AVISave __MINGW_NAME_AW(AVISave) +#define AVISaveV __MINGW_NAME_AW(AVISaveV) +#define AVIBuildFilter __MINGW_NAME_AW(AVIBuildFilter) +#define EditStreamSetInfo __MINGW_NAME_AW(EditStreamSetInfo) +#define EditStreamSetName __MINGW_NAME_AW(EditStreamSetName) + + STDAPI AVIMakeCompressedStream(PAVISTREAM *ppsCompressed,PAVISTREAM ppsSource,AVICOMPRESSOPTIONS *lpOptions,CLSID *pclsidHandler); + EXTERN_C HRESULT CDECL AVISaveA (LPCSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM pfile,LPAVICOMPRESSOPTIONS lpOptions,...); + STDAPI AVISaveVA(LPCSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); + EXTERN_C HRESULT CDECL AVISaveW (LPCWSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM pfile,LPAVICOMPRESSOPTIONS lpOptions,...); + STDAPI AVISaveVW(LPCWSTR szFile,CLSID *pclsidHandler,AVISAVECALLBACK lpfnCallback,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); + STDAPI_(INT_PTR) AVISaveOptions(HWND hwnd,UINT uiFlags,int nStreams,PAVISTREAM *ppavi,LPAVICOMPRESSOPTIONS *plpOptions); + STDAPI AVISaveOptionsFree(int nStreams,LPAVICOMPRESSOPTIONS *plpOptions); + STDAPI AVIBuildFilterW(LPWSTR lpszFilter,LONG cbFilter,WINBOOL fSaving); + STDAPI AVIBuildFilterA(LPSTR lpszFilter,LONG cbFilter,WINBOOL fSaving); + STDAPI AVIMakeFileFromStreams(PAVIFILE *ppfile,int nStreams,PAVISTREAM *papStreams); + STDAPI AVIMakeStreamFromClipboard(UINT cfFormat,HANDLE hGlobal,PAVISTREAM *ppstream); + STDAPI AVIPutFileOnClipboard(PAVIFILE pf); + STDAPI AVIGetFromClipboard(PAVIFILE *lppf); + STDAPI AVIClearClipboard(void); + STDAPI CreateEditableStream(PAVISTREAM *ppsEditable,PAVISTREAM psSource); + STDAPI EditStreamCut(PAVISTREAM pavi,LONG *plStart,LONG *plLength,PAVISTREAM *ppResult); + STDAPI EditStreamCopy(PAVISTREAM pavi,LONG *plStart,LONG *plLength,PAVISTREAM *ppResult); + STDAPI EditStreamPaste(PAVISTREAM pavi,LONG *plPos,LONG *plLength,PAVISTREAM pstream,LONG lStart,LONG lEnd); + STDAPI EditStreamClone(PAVISTREAM pavi,PAVISTREAM *ppResult); + STDAPI EditStreamSetNameA(PAVISTREAM pavi,LPCSTR lpszName); + STDAPI EditStreamSetNameW(PAVISTREAM pavi,LPCWSTR lpszName); + STDAPI EditStreamSetInfoW(PAVISTREAM pavi,LPAVISTREAMINFOW lpInfo,LONG cbInfo); + STDAPI EditStreamSetInfoA(PAVISTREAM pavi,LPAVISTREAMINFOA lpInfo,LONG cbInfo); + +#ifndef AVIERR_OK +#define AVIERR_OK __MSABI_LONG(0) + +#define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000 + error) + +#define AVIERR_UNSUPPORTED MAKE_AVIERR(101) +#define AVIERR_BADFORMAT MAKE_AVIERR(102) +#define AVIERR_MEMORY MAKE_AVIERR(103) +#define AVIERR_INTERNAL MAKE_AVIERR(104) +#define AVIERR_BADFLAGS MAKE_AVIERR(105) +#define AVIERR_BADPARAM MAKE_AVIERR(106) +#define AVIERR_BADSIZE MAKE_AVIERR(107) +#define AVIERR_BADHANDLE MAKE_AVIERR(108) +#define AVIERR_FILEREAD MAKE_AVIERR(109) +#define AVIERR_FILEWRITE MAKE_AVIERR(110) +#define AVIERR_FILEOPEN MAKE_AVIERR(111) +#define AVIERR_COMPRESSOR MAKE_AVIERR(112) +#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113) +#define AVIERR_READONLY MAKE_AVIERR(114) +#define AVIERR_NODATA MAKE_AVIERR(115) +#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116) +#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117) +#define AVIERR_USERABORT MAKE_AVIERR(198) +#define AVIERR_ERROR MAKE_AVIERR(199) +#endif +#endif + +#ifndef NOMCIWND + +#ifdef __cplusplus +#define MCIWndSM ::SendMessage +#else +#define MCIWndSM SendMessage +#endif + +#define MCIWND_WINDOW_CLASS TEXT("MCIWndClass") + +#define MCIWndCreate __MINGW_NAME_AW(MCIWndCreate) + + HWND WINAPIV MCIWndCreateA(HWND hwndParent,HINSTANCE hInstance,DWORD dwStyle,LPCSTR szFile); + HWND WINAPIV MCIWndCreateW(HWND hwndParent,HINSTANCE hInstance,DWORD dwStyle,LPCWSTR szFile); + WINBOOL WINAPIV MCIWndRegisterClass(void); + +#define MCIWNDOPENF_NEW 0x0001 + +#define MCIWNDF_NOAUTOSIZEWINDOW 0x0001 +#define MCIWNDF_NOPLAYBAR 0x0002 +#define MCIWNDF_NOAUTOSIZEMOVIE 0x0004 +#define MCIWNDF_NOMENU 0x0008 +#define MCIWNDF_SHOWNAME 0x0010 +#define MCIWNDF_SHOWPOS 0x0020 +#define MCIWNDF_SHOWMODE 0x0040 +#define MCIWNDF_SHOWALL 0x0070 + +#define MCIWNDF_NOTIFYMODE 0x0100 +#define MCIWNDF_NOTIFYPOS 0x0200 +#define MCIWNDF_NOTIFYSIZE 0x0400 +#define MCIWNDF_NOTIFYERROR 0x1000 +#define MCIWNDF_NOTIFYALL 0x1F00 + +#define MCIWNDF_NOTIFYANSI 0x0080 + +#define MCIWNDF_NOTIFYMEDIAA 0x0880 +#define MCIWNDF_NOTIFYMEDIAW 0x0800 + +#define MCIWNDF_NOTIFYMEDIA __MINGW_NAME_AW(MCIWNDF_NOTIFYMEDIA) + +#define MCIWNDF_RECORD 0x2000 +#define MCIWNDF_NOERRORDLG 0x4000 +#define MCIWNDF_NOOPEN 0x8000 + +#define MCIWndCanPlay(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_PLAY,(WPARAM)0,(LPARAM)0) +#define MCIWndCanRecord(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_RECORD,(WPARAM)0,(LPARAM)0) +#define MCIWndCanSave(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_SAVE,(WPARAM)0,(LPARAM)0) +#define MCIWndCanWindow(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_WINDOW,(WPARAM)0,(LPARAM)0) +#define MCIWndCanEject(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_EJECT,(WPARAM)0,(LPARAM)0) +#define MCIWndCanConfig(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_CAN_CONFIG,(WPARAM)0,(LPARAM)0) +#define MCIWndPaletteKick(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_PALETTEKICK,(WPARAM)0,(LPARAM)0) + +#define MCIWndSave(hwnd,szFile) (LONG)MCIWndSM(hwnd,MCI_SAVE,(WPARAM)0,(LPARAM)(LPVOID)(szFile)) +#define MCIWndSaveDialog(hwnd) MCIWndSave(hwnd,-1) + +#define MCIWndNew(hwnd,lp) (LONG)MCIWndSM(hwnd,MCIWNDM_NEW,(WPARAM)0,(LPARAM)(LPVOID)(lp)) + +#define MCIWndRecord(hwnd) (LONG)MCIWndSM(hwnd,MCI_RECORD,(WPARAM)0,(LPARAM)0) +#define MCIWndOpen(hwnd,sz,f) (LONG)MCIWndSM(hwnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz)) +#define MCIWndOpenDialog(hwnd) MCIWndOpen(hwnd,-1,0) +#define MCIWndClose(hwnd) (LONG)MCIWndSM(hwnd,MCI_CLOSE,(WPARAM)0,(LPARAM)0) +#define MCIWndPlay(hwnd) (LONG)MCIWndSM(hwnd,MCI_PLAY,(WPARAM)0,(LPARAM)0) +#define MCIWndStop(hwnd) (LONG)MCIWndSM(hwnd,MCI_STOP,(WPARAM)0,(LPARAM)0) +#define MCIWndPause(hwnd) (LONG)MCIWndSM(hwnd,MCI_PAUSE,(WPARAM)0,(LPARAM)0) +#define MCIWndResume(hwnd) (LONG)MCIWndSM(hwnd,MCI_RESUME,(WPARAM)0,(LPARAM)0) +#define MCIWndSeek(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCI_SEEK,(WPARAM)0,(LPARAM)(LONG)(lPos)) +#define MCIWndEject(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_EJECT,(WPARAM)0,(LPARAM)0) + +#define MCIWndHome(hwnd) MCIWndSeek(hwnd,MCIWND_START) +#define MCIWndEnd(hwnd) MCIWndSeek(hwnd,MCIWND_END) + +#define MCIWndGetSource(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_GET_SOURCE,(WPARAM)0,(LPARAM)(LPRECT)(prc)) +#define MCIWndPutSource(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_PUT_SOURCE,(WPARAM)0,(LPARAM)(LPRECT)(prc)) + +#define MCIWndGetDest(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_GET_DEST,(WPARAM)0,(LPARAM)(LPRECT)(prc)) +#define MCIWndPutDest(hwnd,prc) (LONG)MCIWndSM(hwnd,MCIWNDM_PUT_DEST,(WPARAM)0,(LPARAM)(LPRECT)(prc)) + +#define MCIWndPlayReverse(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYREVERSE,(WPARAM)0,(LPARAM)0) +#define MCIWndPlayFrom(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYFROM,(WPARAM)0,(LPARAM)(LONG)(lPos)) +#define MCIWndPlayTo(hwnd,lPos) (LONG)MCIWndSM(hwnd,MCIWNDM_PLAYTO,(WPARAM)0,(LPARAM)(LONG)(lPos)) +#define MCIWndPlayFromTo(hwnd,lStart,lEnd) (MCIWndSeek(hwnd,lStart),MCIWndPlayTo(hwnd,lEnd)) + +#define MCIWndGetDeviceID(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETDEVICEID,(WPARAM)0,(LPARAM)0) +#define MCIWndGetAlias(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETALIAS,(WPARAM)0,(LPARAM)0) +#define MCIWndGetMode(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) +#define MCIWndGetPosition(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETPOSITION,(WPARAM)0,(LPARAM)0) +#define MCIWndGetPositionString(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) +#define MCIWndGetStart(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETSTART,(WPARAM)0,(LPARAM)0) +#define MCIWndGetLength(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETLENGTH,(WPARAM)0,(LPARAM)0) +#define MCIWndGetEnd(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETEND,(WPARAM)0,(LPARAM)0) + +#define MCIWndStep(hwnd,n) (LONG)MCIWndSM(hwnd,MCI_STEP,(WPARAM)0,(LPARAM)(__LONG32)(n)) + +#define MCIWndDestroy(hwnd) (VOID)MCIWndSM(hwnd,WM_CLOSE,(WPARAM)0,(LPARAM)0) +#define MCIWndSetZoom(hwnd,iZoom) (VOID)MCIWndSM(hwnd,MCIWNDM_SETZOOM,(WPARAM)0,(LPARAM)(UINT)(iZoom)) +#define MCIWndGetZoom(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETZOOM,(WPARAM)0,(LPARAM)0) +#define MCIWndSetVolume(hwnd,iVol) (LONG)MCIWndSM(hwnd,MCIWNDM_SETVOLUME,(WPARAM)0,(LPARAM)(UINT)(iVol)) +#define MCIWndGetVolume(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETVOLUME,(WPARAM)0,(LPARAM)0) +#define MCIWndSetSpeed(hwnd,iSpeed) (LONG)MCIWndSM(hwnd,MCIWNDM_SETSPEED,(WPARAM)0,(LPARAM)(UINT)(iSpeed)) +#define MCIWndGetSpeed(hwnd) (LONG)MCIWndSM(hwnd,MCIWNDM_GETSPEED,(WPARAM)0,(LPARAM)0) +#define MCIWndSetTimeFormat(hwnd,lp) (LONG)MCIWndSM(hwnd,MCIWNDM_SETTIMEFORMAT,(WPARAM)0,(LPARAM)(LPTSTR)(lp)) +#define MCIWndGetTimeFormat(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) +#define MCIWndValidateMedia(hwnd) (VOID)MCIWndSM(hwnd,MCIWNDM_VALIDATEMEDIA,(WPARAM)0,(LPARAM)0) + +#define MCIWndSetRepeat(hwnd,f) (void)MCIWndSM(hwnd,MCIWNDM_SETREPEAT,(WPARAM)0,(LPARAM)(WINBOOL)(f)) +#define MCIWndGetRepeat(hwnd) (WINBOOL)MCIWndSM(hwnd,MCIWNDM_GETREPEAT,(WPARAM)0,(LPARAM)0) + +#define MCIWndUseFrames(hwnd) MCIWndSetTimeFormat(hwnd,TEXT("frames")) +#define MCIWndUseTime(hwnd) MCIWndSetTimeFormat(hwnd,TEXT("ms")) + +#define MCIWndSetActiveTimer(hwnd,active) (VOID)MCIWndSM(hwnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),(LPARAM)0) +#define MCIWndSetInactiveTimer(hwnd,inactive) (VOID)MCIWndSM(hwnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),(LPARAM)0) +#define MCIWndSetTimers(hwnd,active,inactive) (VOID)MCIWndSM(hwnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive)) +#define MCIWndGetActiveTimer(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETACTIVETIMER,(WPARAM)0,(LPARAM)0); +#define MCIWndGetInactiveTimer(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETINACTIVETIMER,(WPARAM)0,(LPARAM)0); + +#define MCIWndRealize(hwnd,fBkgnd) (LONG)MCIWndSM(hwnd,MCIWNDM_REALIZE,(WPARAM)(WINBOOL)(fBkgnd),(LPARAM)0) + +#define MCIWndSendString(hwnd,sz) (LONG)MCIWndSM(hwnd,MCIWNDM_SENDSTRING,(WPARAM)0,(LPARAM)(LPTSTR)(sz)) +#define MCIWndReturnString(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) +#define MCIWndGetError(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) + +#define MCIWndGetPalette(hwnd) (HPALETTE)MCIWndSM(hwnd,MCIWNDM_GETPALETTE,(WPARAM)0,(LPARAM)0) +#define MCIWndSetPalette(hwnd,hpal) (LONG)MCIWndSM(hwnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),(LPARAM)0) + +#define MCIWndGetFileName(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) +#define MCIWndGetDevice(hwnd,lp,len) (LONG)MCIWndSM(hwnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) + +#define MCIWndGetStyles(hwnd) (UINT)MCIWndSM(hwnd,MCIWNDM_GETSTYLES,(WPARAM)0,(LPARAM)0) +#define MCIWndChangeStyles(hwnd,mask,value) (LONG)MCIWndSM(hwnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value)) + +#define MCIWndOpenInterface(hwnd,pUnk) (LONG)MCIWndSM(hwnd,MCIWNDM_OPENINTERFACE,(WPARAM)0,(LPARAM)(LPUNKNOWN)(pUnk)) + +#define MCIWndSetOwner(hwnd,hwndP) (LONG)MCIWndSM(hwnd,MCIWNDM_SETOWNER,(WPARAM)(hwndP),(LPARAM)0) + +#define MCIWNDM_GETDEVICEID (WM_USER + 100) +#define MCIWNDM_GETSTART (WM_USER + 103) +#define MCIWNDM_GETLENGTH (WM_USER + 104) +#define MCIWNDM_GETEND (WM_USER + 105) +#define MCIWNDM_EJECT (WM_USER + 107) +#define MCIWNDM_SETZOOM (WM_USER + 108) +#define MCIWNDM_GETZOOM (WM_USER + 109) +#define MCIWNDM_SETVOLUME (WM_USER + 110) +#define MCIWNDM_GETVOLUME (WM_USER + 111) +#define MCIWNDM_SETSPEED (WM_USER + 112) +#define MCIWNDM_GETSPEED (WM_USER + 113) +#define MCIWNDM_SETREPEAT (WM_USER + 114) +#define MCIWNDM_GETREPEAT (WM_USER + 115) +#define MCIWNDM_REALIZE (WM_USER + 118) +#define MCIWNDM_VALIDATEMEDIA (WM_USER + 121) +#define MCIWNDM_PLAYFROM (WM_USER + 122) +#define MCIWNDM_PLAYTO (WM_USER + 123) +#define MCIWNDM_GETPALETTE (WM_USER + 126) +#define MCIWNDM_SETPALETTE (WM_USER + 127) +#define MCIWNDM_SETTIMERS (WM_USER + 129) +#define MCIWNDM_SETACTIVETIMER (WM_USER + 130) +#define MCIWNDM_SETINACTIVETIMER (WM_USER + 131) +#define MCIWNDM_GETACTIVETIMER (WM_USER + 132) +#define MCIWNDM_GETINACTIVETIMER (WM_USER + 133) +#define MCIWNDM_CHANGESTYLES (WM_USER + 135) +#define MCIWNDM_GETSTYLES (WM_USER + 136) +#define MCIWNDM_GETALIAS (WM_USER + 137) +#define MCIWNDM_PLAYREVERSE (WM_USER + 139) +#define MCIWNDM_GET_SOURCE (WM_USER + 140) +#define MCIWNDM_PUT_SOURCE (WM_USER + 141) +#define MCIWNDM_GET_DEST (WM_USER + 142) +#define MCIWNDM_PUT_DEST (WM_USER + 143) +#define MCIWNDM_CAN_PLAY (WM_USER + 144) +#define MCIWNDM_CAN_WINDOW (WM_USER + 145) +#define MCIWNDM_CAN_RECORD (WM_USER + 146) +#define MCIWNDM_CAN_SAVE (WM_USER + 147) +#define MCIWNDM_CAN_EJECT (WM_USER + 148) +#define MCIWNDM_CAN_CONFIG (WM_USER + 149) +#define MCIWNDM_PALETTEKICK (WM_USER + 150) +#define MCIWNDM_OPENINTERFACE (WM_USER + 151) +#define MCIWNDM_SETOWNER (WM_USER + 152) + +#define MCIWNDM_SENDSTRINGA (WM_USER + 101) +#define MCIWNDM_GETPOSITIONA (WM_USER + 102) +#define MCIWNDM_GETMODEA (WM_USER + 106) +#define MCIWNDM_SETTIMEFORMATA (WM_USER + 119) +#define MCIWNDM_GETTIMEFORMATA (WM_USER + 120) +#define MCIWNDM_GETFILENAMEA (WM_USER + 124) +#define MCIWNDM_GETDEVICEA (WM_USER + 125) +#define MCIWNDM_GETERRORA (WM_USER + 128) +#define MCIWNDM_NEWA (WM_USER + 134) +#define MCIWNDM_RETURNSTRINGA (WM_USER + 138) +#define MCIWNDM_OPENA (WM_USER + 153) + +#define MCIWNDM_SENDSTRINGW (WM_USER + 201) +#define MCIWNDM_GETPOSITIONW (WM_USER + 202) +#define MCIWNDM_GETMODEW (WM_USER + 206) +#define MCIWNDM_SETTIMEFORMATW (WM_USER + 219) +#define MCIWNDM_GETTIMEFORMATW (WM_USER + 220) +#define MCIWNDM_GETFILENAMEW (WM_USER + 224) +#define MCIWNDM_GETDEVICEW (WM_USER + 225) +#define MCIWNDM_GETERRORW (WM_USER + 228) +#define MCIWNDM_NEWW (WM_USER + 234) +#define MCIWNDM_RETURNSTRINGW (WM_USER + 238) +#define MCIWNDM_OPENW (WM_USER + 252) + +#define MCIWNDM_SENDSTRING __MINGW_NAME_AW(MCIWNDM_SENDSTRING) +#define MCIWNDM_GETPOSITION __MINGW_NAME_AW(MCIWNDM_GETPOSITION) +#define MCIWNDM_GETMODE __MINGW_NAME_AW(MCIWNDM_GETMODE) +#define MCIWNDM_SETTIMEFORMAT __MINGW_NAME_AW(MCIWNDM_SETTIMEFORMAT) +#define MCIWNDM_GETTIMEFORMAT __MINGW_NAME_AW(MCIWNDM_GETTIMEFORMAT) +#define MCIWNDM_GETFILENAME __MINGW_NAME_AW(MCIWNDM_GETFILENAME) +#define MCIWNDM_GETDEVICE __MINGW_NAME_AW(MCIWNDM_GETDEVICE) +#define MCIWNDM_GETERROR __MINGW_NAME_AW(MCIWNDM_GETERROR) +#define MCIWNDM_NEW __MINGW_NAME_AW(MCIWNDM_NEW) +#define MCIWNDM_RETURNSTRING __MINGW_NAME_AW(MCIWNDM_RETURNSTRING) +#define MCIWNDM_OPEN __MINGW_NAME_AW(MCIWNDM_OPEN) + +#define MCIWNDM_NOTIFYMODE (WM_USER + 200) +#define MCIWNDM_NOTIFYPOS (WM_USER + 201) +#define MCIWNDM_NOTIFYSIZE (WM_USER + 202) +#define MCIWNDM_NOTIFYMEDIA (WM_USER + 203) +#define MCIWNDM_NOTIFYERROR (WM_USER + 205) + +#define MCIWND_START -1 +#define MCIWND_END -2 + +#ifndef MCI_PLAY +#define MCI_CLOSE 0x0804 +#define MCI_PLAY 0x0806 +#define MCI_SEEK 0x0807 +#define MCI_STOP 0x0808 +#define MCI_PAUSE 0x0809 +#define MCI_STEP 0x080E +#define MCI_RECORD 0x080F +#define MCI_SAVE 0x0813 +#define MCI_CUT 0x0851 +#define MCI_COPY 0x0852 +#define MCI_PASTE 0x0853 +#define MCI_RESUME 0x0855 +#define MCI_DELETE 0x0856 +#endif + +#ifndef MCI_MODE_NOT_READY + +#define MCI_MODE_NOT_READY (524) +#define MCI_MODE_STOP (525) +#define MCI_MODE_PLAY (526) +#define MCI_MODE_RECORD (527) +#define MCI_MODE_SEEK (528) +#define MCI_MODE_PAUSE (529) +#define MCI_MODE_OPEN (530) +#endif +#endif + +#if !defined(NOAVICAP) || !defined(NOVIDEO) + +#ifndef _RCINVOKED + + DECLARE_HANDLE(HVIDEO); + typedef HVIDEO *LPHVIDEO; +#endif + + DWORD WINAPI VideoForWindowsVersion(void); + +#define DV_ERR_OK (0) +#define DV_ERR_BASE (1) +#define DV_ERR_NONSPECIFIC (DV_ERR_BASE) +#define DV_ERR_BADFORMAT (DV_ERR_BASE + 1) + +#define DV_ERR_STILLPLAYING (DV_ERR_BASE + 2) + +#define DV_ERR_UNPREPARED (DV_ERR_BASE + 3) + +#define DV_ERR_SYNC (DV_ERR_BASE + 4) + +#define DV_ERR_TOOMANYCHANNELS (DV_ERR_BASE + 5) + +#define DV_ERR_NOTDETECTED (DV_ERR_BASE + 6) +#define DV_ERR_BADINSTALL (DV_ERR_BASE + 7) +#define DV_ERR_CREATEPALETTE (DV_ERR_BASE + 8) +#define DV_ERR_SIZEFIELD (DV_ERR_BASE + 9) +#define DV_ERR_PARAM1 (DV_ERR_BASE + 10) +#define DV_ERR_PARAM2 (DV_ERR_BASE + 11) +#define DV_ERR_CONFIG1 (DV_ERR_BASE + 12) +#define DV_ERR_CONFIG2 (DV_ERR_BASE + 13) +#define DV_ERR_FLAGS (DV_ERR_BASE + 14) +#define DV_ERR_13 (DV_ERR_BASE + 15) + +#define DV_ERR_NOTSUPPORTED (DV_ERR_BASE + 16) +#define DV_ERR_NOMEM (DV_ERR_BASE + 17) +#define DV_ERR_ALLOCATED (DV_ERR_BASE + 18) +#define DV_ERR_BADDEVICEID (DV_ERR_BASE + 19) +#define DV_ERR_INVALHANDLE (DV_ERR_BASE + 20) +#define DV_ERR_BADERRNUM (DV_ERR_BASE + 21) +#define DV_ERR_NO_BUFFERS (DV_ERR_BASE + 22) + +#define DV_ERR_MEM_CONFLICT (DV_ERR_BASE + 23) +#define DV_ERR_IO_CONFLICT (DV_ERR_BASE + 24) +#define DV_ERR_DMA_CONFLICT (DV_ERR_BASE + 25) +#define DV_ERR_INT_CONFLICT (DV_ERR_BASE + 26) +#define DV_ERR_PROTECT_ONLY (DV_ERR_BASE + 27) +#define DV_ERR_LASTERROR (DV_ERR_BASE + 27) + +#define DV_ERR_USER_MSG (DV_ERR_BASE + 1000) + +#ifndef _RCINVOKED + +#ifndef MM_DRVM_OPEN +#define MM_DRVM_OPEN 0x3D0 +#define MM_DRVM_CLOSE 0x3D1 +#define MM_DRVM_DATA 0x3D2 +#define MM_DRVM_ERROR 0x3D3 +#endif + +#define DV_VM_OPEN MM_DRVM_OPEN +#define DV_VM_CLOSE MM_DRVM_CLOSE +#define DV_VM_DATA MM_DRVM_DATA +#define DV_VM_ERROR MM_DRVM_ERROR + + typedef struct videohdr_tag { + LPBYTE lpData; + DWORD dwBufferLength; + DWORD dwBytesUsed; + DWORD dwTimeCaptured; + DWORD_PTR dwUser; + DWORD dwFlags; + DWORD_PTR dwReserved[4]; + } VIDEOHDR, NEAR *PVIDEOHDR, FAR * LPVIDEOHDR; + +#define VHDR_DONE 0x00000001 +#define VHDR_PREPARED 0x00000002 +#define VHDR_INQUEUE 0x00000004 +#define VHDR_KEYFRAME 0x00000008 +#define VHDR_VALID 0x0000000F + + typedef struct channel_caps_tag { + DWORD dwFlags; + DWORD dwSrcRectXMod; + DWORD dwSrcRectYMod; + DWORD dwSrcRectWidthMod; + DWORD dwSrcRectHeightMod; + DWORD dwDstRectXMod; + DWORD dwDstRectYMod; + DWORD dwDstRectWidthMod; + DWORD dwDstRectHeightMod; + } CHANNEL_CAPS,NEAR *PCHANNEL_CAPS,*LPCHANNEL_CAPS; + +#define VCAPS_OVERLAY 0x00000001 +#define VCAPS_SRC_CAN_CLIP 0x00000002 +#define VCAPS_DST_CAN_CLIP 0x00000004 +#define VCAPS_CAN_SCALE 0x00000008 + +#define VIDEO_EXTERNALIN 0x0001 +#define VIDEO_EXTERNALOUT 0x0002 +#define VIDEO_IN 0x0004 +#define VIDEO_OUT 0x0008 + +#define VIDEO_DLG_QUERY 0x0010 + +#define VIDEO_CONFIGURE_QUERY 0x8000 + +#define VIDEO_CONFIGURE_SET 0x1000 + +#define VIDEO_CONFIGURE_GET 0x2000 +#define VIDEO_CONFIGURE_QUERYSIZE 0x0001 + +#define VIDEO_CONFIGURE_CURRENT 0x0010 +#define VIDEO_CONFIGURE_NOMINAL 0x0020 +#define VIDEO_CONFIGURE_MIN 0x0040 +#define VIDEO_CONFIGURE_MAX 0x0080 + +#define DVM_USER 0X4000 + +#define DVM_CONFIGURE_START 0x1000 +#define DVM_CONFIGURE_END 0x1FFF + +#define DVM_PALETTE (DVM_CONFIGURE_START + 1) +#define DVM_FORMAT (DVM_CONFIGURE_START + 2) +#define DVM_PALETTERGB555 (DVM_CONFIGURE_START + 3) +#define DVM_SRC_RECT (DVM_CONFIGURE_START + 4) +#define DVM_DST_RECT (DVM_CONFIGURE_START + 5) +#endif +#endif + +#ifndef NOAVICAP +#ifdef __cplusplus + +#define AVICapSM(hwnd,m,w,l) ((::IsWindow(hwnd)) ? ::SendMessage(hwnd,m,w,l) : 0) +#else + +#define AVICapSM(hwnd,m,w,l) ((IsWindow(hwnd)) ? SendMessage(hwnd,m,w,l) : 0) +#endif + +#ifndef RC_INVOKED + +#define WM_CAP_START WM_USER + +#define WM_CAP_UNICODE_START WM_USER+100 + +#define WM_CAP_GET_CAPSTREAMPTR (WM_CAP_START+ 1) + +#define WM_CAP_SET_CALLBACK_ERRORW (WM_CAP_UNICODE_START+ 2) +#define WM_CAP_SET_CALLBACK_STATUSW (WM_CAP_UNICODE_START+ 3) +#define WM_CAP_SET_CALLBACK_ERRORA (WM_CAP_START+ 2) +#define WM_CAP_SET_CALLBACK_STATUSA (WM_CAP_START+ 3) + +#define WM_CAP_SET_CALLBACK_ERROR __MINGW_NAME_AW(WM_CAP_SET_CALLBACK_ERROR) +#define WM_CAP_SET_CALLBACK_STATUS __MINGW_NAME_AW(WM_CAP_SET_CALLBACK_STATUS) + +#define WM_CAP_SET_CALLBACK_YIELD (WM_CAP_START+ 4) +#define WM_CAP_SET_CALLBACK_FRAME (WM_CAP_START+ 5) +#define WM_CAP_SET_CALLBACK_VIDEOSTREAM (WM_CAP_START+ 6) +#define WM_CAP_SET_CALLBACK_WAVESTREAM (WM_CAP_START+ 7) +#define WM_CAP_GET_USER_DATA (WM_CAP_START+ 8) +#define WM_CAP_SET_USER_DATA (WM_CAP_START+ 9) + +#define WM_CAP_DRIVER_CONNECT (WM_CAP_START+ 10) +#define WM_CAP_DRIVER_DISCONNECT (WM_CAP_START+ 11) + +#define WM_CAP_DRIVER_GET_NAMEA (WM_CAP_START+ 12) +#define WM_CAP_DRIVER_GET_VERSIONA (WM_CAP_START+ 13) +#define WM_CAP_DRIVER_GET_NAMEW (WM_CAP_UNICODE_START+ 12) +#define WM_CAP_DRIVER_GET_VERSIONW (WM_CAP_UNICODE_START+ 13) + +#define WM_CAP_DRIVER_GET_NAME __MINGW_NAME_AW(WM_CAP_DRIVER_GET_NAME) +#define WM_CAP_DRIVER_GET_VERSION __MINGW_NAME_AW(WM_CAP_DRIVER_GET_VERSION) + +#define WM_CAP_DRIVER_GET_CAPS (WM_CAP_START+ 14) + +#define WM_CAP_FILE_SET_CAPTURE_FILEA (WM_CAP_START+ 20) +#define WM_CAP_FILE_GET_CAPTURE_FILEA (WM_CAP_START+ 21) +#define WM_CAP_FILE_SAVEASA (WM_CAP_START+ 23) +#define WM_CAP_FILE_SAVEDIBA (WM_CAP_START+ 25) +#define WM_CAP_FILE_SET_CAPTURE_FILEW (WM_CAP_UNICODE_START+ 20) +#define WM_CAP_FILE_GET_CAPTURE_FILEW (WM_CAP_UNICODE_START+ 21) +#define WM_CAP_FILE_SAVEASW (WM_CAP_UNICODE_START+ 23) +#define WM_CAP_FILE_SAVEDIBW (WM_CAP_UNICODE_START+ 25) + +#define WM_CAP_FILE_SET_CAPTURE_FILE __MINGW_NAME_AW(WM_CAP_FILE_SET_CAPTURE_FILE) +#define WM_CAP_FILE_GET_CAPTURE_FILE __MINGW_NAME_AW(WM_CAP_FILE_GET_CAPTURE_FILE) +#define WM_CAP_FILE_SAVEAS __MINGW_NAME_AW(WM_CAP_FILE_SAVEAS) +#define WM_CAP_FILE_SAVEDIB __MINGW_NAME_AW(WM_CAP_FILE_SAVEDIB) + +#define WM_CAP_FILE_ALLOCATE (WM_CAP_START+ 22) +#define WM_CAP_FILE_SET_INFOCHUNK (WM_CAP_START+ 24) + +#define WM_CAP_EDIT_COPY (WM_CAP_START+ 30) + +#define WM_CAP_SET_AUDIOFORMAT (WM_CAP_START+ 35) +#define WM_CAP_GET_AUDIOFORMAT (WM_CAP_START+ 36) + +#define WM_CAP_DLG_VIDEOFORMAT (WM_CAP_START+ 41) +#define WM_CAP_DLG_VIDEOSOURCE (WM_CAP_START+ 42) +#define WM_CAP_DLG_VIDEODISPLAY (WM_CAP_START+ 43) +#define WM_CAP_GET_VIDEOFORMAT (WM_CAP_START+ 44) +#define WM_CAP_SET_VIDEOFORMAT (WM_CAP_START+ 45) +#define WM_CAP_DLG_VIDEOCOMPRESSION (WM_CAP_START+ 46) + +#define WM_CAP_SET_PREVIEW (WM_CAP_START+ 50) +#define WM_CAP_SET_OVERLAY (WM_CAP_START+ 51) +#define WM_CAP_SET_PREVIEWRATE (WM_CAP_START+ 52) +#define WM_CAP_SET_SCALE (WM_CAP_START+ 53) +#define WM_CAP_GET_STATUS (WM_CAP_START+ 54) +#define WM_CAP_SET_SCROLL (WM_CAP_START+ 55) + +#define WM_CAP_GRAB_FRAME (WM_CAP_START+ 60) +#define WM_CAP_GRAB_FRAME_NOSTOP (WM_CAP_START+ 61) + +#define WM_CAP_SEQUENCE (WM_CAP_START+ 62) +#define WM_CAP_SEQUENCE_NOFILE (WM_CAP_START+ 63) +#define WM_CAP_SET_SEQUENCE_SETUP (WM_CAP_START+ 64) +#define WM_CAP_GET_SEQUENCE_SETUP (WM_CAP_START+ 65) + +#define WM_CAP_SET_MCI_DEVICEA (WM_CAP_START+ 66) +#define WM_CAP_GET_MCI_DEVICEA (WM_CAP_START+ 67) +#define WM_CAP_SET_MCI_DEVICEW (WM_CAP_UNICODE_START+ 66) +#define WM_CAP_GET_MCI_DEVICEW (WM_CAP_UNICODE_START+ 67) + +#define WM_CAP_SET_MCI_DEVICE __MINGW_NAME_AW(WM_CAP_SET_MCI_DEVICE) +#define WM_CAP_GET_MCI_DEVICE __MINGW_NAME_AW(WM_CAP_GET_MCI_DEVICE) + +#define WM_CAP_STOP (WM_CAP_START+ 68) +#define WM_CAP_ABORT (WM_CAP_START+ 69) + +#define WM_CAP_SINGLE_FRAME_OPEN (WM_CAP_START+ 70) +#define WM_CAP_SINGLE_FRAME_CLOSE (WM_CAP_START+ 71) +#define WM_CAP_SINGLE_FRAME (WM_CAP_START+ 72) + +#define WM_CAP_PAL_OPENA (WM_CAP_START+ 80) +#define WM_CAP_PAL_SAVEA (WM_CAP_START+ 81) +#define WM_CAP_PAL_OPENW (WM_CAP_UNICODE_START+ 80) +#define WM_CAP_PAL_SAVEW (WM_CAP_UNICODE_START+ 81) + +#define WM_CAP_PAL_OPEN __MINGW_NAME_AW(WM_CAP_PAL_OPEN) +#define WM_CAP_PAL_SAVE __MINGW_NAME_AW(WM_CAP_PAL_SAVE) + +#define WM_CAP_PAL_PASTE (WM_CAP_START+ 82) +#define WM_CAP_PAL_AUTOCREATE (WM_CAP_START+ 83) +#define WM_CAP_PAL_MANUALCREATE (WM_CAP_START+ 84) + +#define WM_CAP_SET_CALLBACK_CAPCONTROL (WM_CAP_START+ 85) + +#define WM_CAP_UNICODE_END WM_CAP_PAL_SAVEW +#define WM_CAP_END WM_CAP_UNICODE_END + +#define capSetCallbackOnError(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_ERROR,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnStatus(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_STATUS,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnYield(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_YIELD,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnFrame(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_FRAME,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnVideoStream(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_VIDEOSTREAM,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnWaveStream(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_WAVESTREAM,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) +#define capSetCallbackOnCapControl(hwnd,fpProc) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_CALLBACK_CAPCONTROL,(WPARAM)0,(LPARAM)(LPVOID)(fpProc))) + +#define capSetUserData(hwnd,lUser) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_USER_DATA,(WPARAM)0,(LPARAM)lUser)) +#define capGetUserData(hwnd) (AVICapSM(hwnd,WM_CAP_GET_USER_DATA,(WPARAM)0,(LPARAM)0)) + +#define capDriverConnect(hwnd,i) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_CONNECT,(WPARAM)(i),(LPARAM)0)) +#define capDriverDisconnect(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_DISCONNECT,(WPARAM)0,(LPARAM)0)) +#define capDriverGetName(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_NAME,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capDriverGetVersion(hwnd,szVer,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_VERSION,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szVer))) +#define capDriverGetCaps(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DRIVER_GET_CAPS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(s))) + +#define capFileSetCaptureFile(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SET_CAPTURE_FILE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capFileGetCaptureFile(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_GET_CAPTURE_FILE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capFileAlloc(hwnd,dwSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_ALLOCATE,(WPARAM)0,(LPARAM)(DWORD)(dwSize))) +#define capFileSaveAs(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SAVEAS,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capFileSetInfoChunk(hwnd,lpInfoChunk) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SET_INFOCHUNK,(WPARAM)0,(LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk))) +#define capFileSaveDIB(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_FILE_SAVEDIB,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) + +#define capEditCopy(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_EDIT_COPY,(WPARAM)0,(LPARAM)0)) + +#define capSetAudioFormat(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(s))) +#define capGetAudioFormat(hwnd,s,wSize) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(s))) +#define capGetAudioFormatSize(hwnd) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)0,(LPARAM)0)) + +#define capDlgVideoFormat(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOFORMAT,(WPARAM)0,(LPARAM)0)) +#define capDlgVideoSource(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOSOURCE,(WPARAM)0,(LPARAM)0)) +#define capDlgVideoDisplay(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEODISPLAY,(WPARAM)0,(LPARAM)0)) +#define capDlgVideoCompression(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_DLG_VIDEOCOMPRESSION,(WPARAM)0,(LPARAM)0)) + +#define capGetVideoFormat(hwnd,s,wSize) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(s))) +#define capGetVideoFormatSize(hwnd) ((DWORD)AVICapSM(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)0,(LPARAM)0)) +#define capSetVideoFormat(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(s))) + +#define capPreview(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_PREVIEW,(WPARAM)(WINBOOL)(f),(LPARAM)0)) +#define capPreviewRate(hwnd,wMS) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_PREVIEWRATE,(WPARAM)(wMS),(LPARAM)0)) +#define capOverlay(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_OVERLAY,(WPARAM)(WINBOOL)(f),(LPARAM)0)) +#define capPreviewScale(hwnd,f) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SCALE,(WPARAM)(WINBOOL)f,(LPARAM)0)) +#define capGetStatus(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_STATUS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPSTATUS)(s))) +#define capSetScrollPos(hwnd,lpP) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SCROLL,(WPARAM)0,(LPARAM)(LPPOINT)(lpP))) + +#define capGrabFrame(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GRAB_FRAME,(WPARAM)0,(LPARAM)0)) +#define capGrabFrameNoStop(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GRAB_FRAME_NOSTOP,(WPARAM)0,(LPARAM)0)) + +#define capCaptureSequence(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SEQUENCE,(WPARAM)0,(LPARAM)0)) +#define capCaptureSequenceNoFile(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SEQUENCE_NOFILE,(WPARAM)0,(LPARAM)0)) +#define capCaptureStop(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_STOP,(WPARAM)0,(LPARAM)0)) +#define capCaptureAbort(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_ABORT,(WPARAM)0,(LPARAM)0)) + +#define capCaptureSingleFrameOpen(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME_OPEN,(WPARAM)0,(LPARAM)0)) +#define capCaptureSingleFrameClose(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME_CLOSE,(WPARAM)0,(LPARAM)0)) +#define capCaptureSingleFrame(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SINGLE_FRAME,(WPARAM)0,(LPARAM)0)) + +#define capCaptureGetSetup(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) +#define capCaptureSetSetup(hwnd,s,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) + +#define capSetMCIDeviceName(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_SET_MCI_DEVICE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capGetMCIDeviceName(hwnd,szName,wSize) ((WINBOOL)AVICapSM(hwnd,WM_CAP_GET_MCI_DEVICE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) + +#define capPaletteOpen(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_OPEN,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capPaletteSave(hwnd,szName) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_SAVE,(WPARAM)0,(LPARAM)(LPVOID)(LPTSTR)(szName))) +#define capPalettePaste(hwnd) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_PASTE,(WPARAM) 0,(LPARAM)0)) +#define capPaletteAuto(hwnd,iFrames,iColors) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_AUTOCREATE,(WPARAM)(iFrames),(LPARAM)(DWORD)(iColors))) +#define capPaletteManual(hwnd,fGrab,iColors) ((WINBOOL)AVICapSM(hwnd,WM_CAP_PAL_MANUALCREATE,(WPARAM)(fGrab),(LPARAM)(DWORD)(iColors))) + + typedef struct tagCapDriverCaps { + UINT wDeviceIndex; + WINBOOL fHasOverlay; + WINBOOL fHasDlgVideoSource; + WINBOOL fHasDlgVideoFormat; + WINBOOL fHasDlgVideoDisplay; + WINBOOL fCaptureInitialized; + WINBOOL fDriverSuppliesPalettes; + HANDLE hVideoIn; + HANDLE hVideoOut; + HANDLE hVideoExtIn; + HANDLE hVideoExtOut; + } CAPDRIVERCAPS,*PCAPDRIVERCAPS,*LPCAPDRIVERCAPS; + + typedef struct tagCapStatus { + UINT uiImageWidth; + UINT uiImageHeight; + WINBOOL fLiveWindow; + WINBOOL fOverlayWindow; + WINBOOL fScale; + POINT ptScroll; + WINBOOL fUsingDefaultPalette; + WINBOOL fAudioHardware; + WINBOOL fCapFileExists; + DWORD dwCurrentVideoFrame; + DWORD dwCurrentVideoFramesDropped; + DWORD dwCurrentWaveSamples; + DWORD dwCurrentTimeElapsedMS; + HPALETTE hPalCurrent; + WINBOOL fCapturingNow; + DWORD dwReturn; + UINT wNumVideoAllocated; + UINT wNumAudioAllocated; + } CAPSTATUS,*PCAPSTATUS,*LPCAPSTATUS; + + typedef struct tagCaptureParms { + DWORD dwRequestMicroSecPerFrame; + WINBOOL fMakeUserHitOKToCapture; + UINT wPercentDropForError; + WINBOOL fYield; + DWORD dwIndexSize; + UINT wChunkGranularity; + WINBOOL fUsingDOSMemory; + UINT wNumVideoRequested; + WINBOOL fCaptureAudio; + UINT wNumAudioRequested; + UINT vKeyAbort; + WINBOOL fAbortLeftMouse; + WINBOOL fAbortRightMouse; + WINBOOL fLimitEnabled; + UINT wTimeLimit; + WINBOOL fMCIControl; + WINBOOL fStepMCIDevice; + DWORD dwMCIStartTime; + DWORD dwMCIStopTime; + WINBOOL fStepCaptureAt2x; + UINT wStepCaptureAverageFrames; + DWORD dwAudioBufferSize; + WINBOOL fDisableWriteCache; + UINT AVStreamMaster; + } CAPTUREPARMS,*PCAPTUREPARMS,*LPCAPTUREPARMS; + +#define AVSTREAMMASTER_AUDIO 0 +#define AVSTREAMMASTER_NONE 1 + + typedef struct tagCapInfoChunk { + FOURCC fccInfoID; + LPVOID lpData; + LONG cbData; + } CAPINFOCHUNK,*PCAPINFOCHUNK,*LPCAPINFOCHUNK; + + typedef LRESULT (CALLBACK *CAPYIELDCALLBACK)(HWND hWnd); + typedef LRESULT (CALLBACK *CAPSTATUSCALLBACKW)(HWND hWnd,int nID,LPCWSTR lpsz); + typedef LRESULT (CALLBACK *CAPERRORCALLBACKW)(HWND hWnd,int nID,LPCWSTR lpsz); + typedef LRESULT (CALLBACK *CAPSTATUSCALLBACKA)(HWND hWnd,int nID,LPCSTR lpsz); + typedef LRESULT (CALLBACK *CAPERRORCALLBACKA)(HWND hWnd,int nID,LPCSTR lpsz); + +#define CAPSTATUSCALLBACK __MINGW_NAME_AW(CAPSTATUSCALLBACK) +#define CAPERRORCALLBACK __MINGW_NAME_AW(CAPERRORCALLBACK) + + typedef LRESULT (CALLBACK *CAPVIDEOCALLBACK)(HWND hWnd,LPVIDEOHDR lpVHdr); + typedef LRESULT (CALLBACK *CAPWAVECALLBACK)(HWND hWnd,LPWAVEHDR lpWHdr); + typedef LRESULT (CALLBACK *CAPCONTROLCALLBACK)(HWND hWnd,int nState); + +#define CONTROLCALLBACK_PREROLL 1 +#define CONTROLCALLBACK_CAPTURING 2 + + HWND WINAPI capCreateCaptureWindowA (LPCSTR lpszWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hwndParent,int nID); + WINBOOL WINAPI capGetDriverDescriptionA (UINT wDriverIndex,LPSTR lpszName,int cbName,LPSTR lpszVer,int cbVer); + HWND WINAPI capCreateCaptureWindowW (LPCWSTR lpszWindowName,DWORD dwStyle,int x,int y,int nWidth,int nHeight,HWND hwndParent,int nID); + WINBOOL WINAPI capGetDriverDescriptionW (UINT wDriverIndex,LPWSTR lpszName,int cbName,LPWSTR lpszVer,int cbVer); + +#define capCreateCaptureWindow __MINGW_NAME_AW(capCreateCaptureWindow) +#define capGetDriverDescription __MINGW_NAME_AW(capGetDriverDescription) +#endif + +#define infotypeDIGITIZATION_TIME mmioFOURCC ('I','D','I','T') +#define infotypeSMPTE_TIME mmioFOURCC ('I','S','M','P') + +#define IDS_CAP_BEGIN 300 +#define IDS_CAP_END 301 + +#define IDS_CAP_INFO 401 +#define IDS_CAP_OUTOFMEM 402 +#define IDS_CAP_FILEEXISTS 403 +#define IDS_CAP_ERRORPALOPEN 404 +#define IDS_CAP_ERRORPALSAVE 405 +#define IDS_CAP_ERRORDIBSAVE 406 +#define IDS_CAP_DEFAVIEXT 407 +#define IDS_CAP_DEFPALEXT 408 +#define IDS_CAP_CANTOPEN 409 +#define IDS_CAP_SEQ_MSGSTART 410 +#define IDS_CAP_SEQ_MSGSTOP 411 + +#define IDS_CAP_VIDEDITERR 412 +#define IDS_CAP_READONLYFILE 413 +#define IDS_CAP_WRITEERROR 414 +#define IDS_CAP_NODISKSPACE 415 +#define IDS_CAP_SETFILESIZE 416 +#define IDS_CAP_SAVEASPERCENT 417 + +#define IDS_CAP_DRIVER_ERROR 418 + +#define IDS_CAP_WAVE_OPEN_ERROR 419 +#define IDS_CAP_WAVE_ALLOC_ERROR 420 +#define IDS_CAP_WAVE_PREPARE_ERROR 421 +#define IDS_CAP_WAVE_ADD_ERROR 422 +#define IDS_CAP_WAVE_SIZE_ERROR 423 + +#define IDS_CAP_VIDEO_OPEN_ERROR 424 +#define IDS_CAP_VIDEO_ALLOC_ERROR 425 +#define IDS_CAP_VIDEO_PREPARE_ERROR 426 +#define IDS_CAP_VIDEO_ADD_ERROR 427 +#define IDS_CAP_VIDEO_SIZE_ERROR 428 + +#define IDS_CAP_FILE_OPEN_ERROR 429 +#define IDS_CAP_FILE_WRITE_ERROR 430 +#define IDS_CAP_RECORDING_ERROR 431 +#define IDS_CAP_RECORDING_ERROR2 432 +#define IDS_CAP_AVI_INIT_ERROR 433 +#define IDS_CAP_NO_FRAME_CAP_ERROR 434 +#define IDS_CAP_NO_PALETTE_WARN 435 +#define IDS_CAP_MCI_CONTROL_ERROR 436 +#define IDS_CAP_MCI_CANT_STEP_ERROR 437 +#define IDS_CAP_NO_AUDIO_CAP_ERROR 438 +#define IDS_CAP_AVI_DRAWDIB_ERROR 439 +#define IDS_CAP_COMPRESSOR_ERROR 440 +#define IDS_CAP_AUDIO_DROP_ERROR 441 +#define IDS_CAP_AUDIO_DROP_COMPERROR 442 + +#define IDS_CAP_STAT_LIVE_MODE 500 +#define IDS_CAP_STAT_OVERLAY_MODE 501 +#define IDS_CAP_STAT_CAP_INIT 502 +#define IDS_CAP_STAT_CAP_FINI 503 +#define IDS_CAP_STAT_PALETTE_BUILD 504 +#define IDS_CAP_STAT_OPTPAL_BUILD 505 +#define IDS_CAP_STAT_I_FRAMES 506 +#define IDS_CAP_STAT_L_FRAMES 507 +#define IDS_CAP_STAT_CAP_L_FRAMES 508 +#define IDS_CAP_STAT_CAP_AUDIO 509 +#define IDS_CAP_STAT_VIDEOCURRENT 510 +#define IDS_CAP_STAT_VIDEOAUDIO 511 +#define IDS_CAP_STAT_VIDEOONLY 512 +#define IDS_CAP_STAT_FRAMESDROPPED 513 +#endif + +#ifdef __cplusplus +} +#endif + +#ifndef NOMSACM +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OFN_READONLY + WINBOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA lpofn); + WINBOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA lpofn); + WINBOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW lpofn); + WINBOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW lpofn); + +#define GetOpenFileNamePreview __MINGW_NAME_AW(GetOpenFileNamePreview) +#define GetSaveFileNamePreview __MINGW_NAME_AW(GetSaveFileNamePreview) +#endif + +#ifndef RC_INVOKED +#include "poppack.h" +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfwmsgs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfwmsgs.h new file mode 100644 index 00000000..be5ff84f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vfwmsgs.h @@ -0,0 +1,177 @@ +/* + * Copyright (C) 2002 Alexandre Julliard + * + * 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 + */ + +#define VFW_S_NO_MORE_ITEMS ((HRESULT)0x00040103) +#define VFW_S_DUPLICATE_NAME ((HRESULT)0x0004022D) +#define VFW_S_STATE_INTERMEDIATE ((HRESULT)0x00040237) +#define VFW_S_PARTIAL_RENDER ((HRESULT)0x00040242) +#define VFW_S_SOME_DATA_IGNORED ((HRESULT)0x00040245) +#define VFW_S_CONNECTIONS_DEFERRED ((HRESULT)0x00040246) +#define VFW_S_RESOURCE_NOT_NEEDED ((HRESULT)0x00040250) +#define VFW_S_MEDIA_TYPE_IGNORED ((HRESULT)0x00040254) +#define VFW_S_VIDEO_NOT_RENDERED ((HRESULT)0x00040257) +#define VFW_S_AUDIO_NOT_RENDERED ((HRESULT)0x00040258) +#define VFW_S_RPZA ((HRESULT)0x0004025A) +#define VFW_S_ESTIMATED ((HRESULT)0x00040260) +#define VFW_S_RESERVED ((HRESULT)0x00040263) +#define VFW_S_STREAM_OFF ((HRESULT)0x00040267) +#define VFW_S_CANT_CUE ((HRESULT)0x00040268) +#define VFW_S_NO_STOP_TIME ((HRESULT)0x00040270) +#define VFW_S_NOPREVIEWPIN ((HRESULT)0x0004027E) +#define VFW_S_DVD_NON_ONE_SEQUENTIAL ((HRESULT)0x00040280) +#define VFW_S_DVD_CHANNEL_CONTENTS_NOT_AVAILABLE ((HRESULT)0x0004028C) +#define VFW_S_DVD_NOT_ACCURATE ((HRESULT)0x0004028D) +#define VFW_E_INVALIDMEDIATYPE ((HRESULT)0x80040200) +#define VFW_E_INVALIDSUBTYPE ((HRESULT)0x80040201) +#define VFW_E_NEED_OWNER ((HRESULT)0x80040202) +#define VFW_E_ENUM_OUT_OF_SYNC ((HRESULT)0x80040203) +#define VFW_E_ALREADY_CONNECTED ((HRESULT)0x80040204) +#define VFW_E_FILTER_ACTIVE ((HRESULT)0x80040205) +#define VFW_E_NO_TYPES ((HRESULT)0x80040206) +#define VFW_E_NO_ACCEPTABLE_TYPES ((HRESULT)0x80040207) +#define VFW_E_INVALID_DIRECTION ((HRESULT)0x80040208) +#define VFW_E_NOT_CONNECTED ((HRESULT)0x80040209) +#define VFW_E_NO_ALLOCATOR ((HRESULT)0x8004020A) +#define VFW_E_RUNTIME_ERROR ((HRESULT)0x8004020B) +#define VFW_E_BUFFER_NOTSET ((HRESULT)0x8004020C) +#define VFW_E_BUFFER_OVERFLOW ((HRESULT)0x8004020D) +#define VFW_E_BADALIGN ((HRESULT)0x8004020E) +#define VFW_E_ALREADY_COMMITTED ((HRESULT)0x8004020F) +#define VFW_E_BUFFERS_OUTSTANDING ((HRESULT)0x80040210) +#define VFW_E_NOT_COMMITTED ((HRESULT)0x80040211) +#define VFW_E_SIZENOTSET ((HRESULT)0x80040212) +#define VFW_E_NO_CLOCK ((HRESULT)0x80040213) +#define VFW_E_NO_SINK ((HRESULT)0x80040214) +#define VFW_E_NO_INTERFACE ((HRESULT)0x80040215) +#define VFW_E_NOT_FOUND ((HRESULT)0x80040216) +#define VFW_E_CANNOT_CONNECT ((HRESULT)0x80040217) +#define VFW_E_CANNOT_RENDER ((HRESULT)0x80040218) +#define VFW_E_CHANGING_FORMAT ((HRESULT)0x80040219) +#define VFW_E_NO_COLOR_KEY_SET ((HRESULT)0x8004021A) +#define VFW_E_NOT_OVERLAY_CONNECTION ((HRESULT)0x8004021B) +#define VFW_E_NOT_SAMPLE_CONNECTION ((HRESULT)0x8004021C) +#define VFW_E_PALETTE_SET ((HRESULT)0x8004021D) +#define VFW_E_COLOR_KEY_SET ((HRESULT)0x8004021E) +#define VFW_E_NO_COLOR_KEY_FOUND ((HRESULT)0x8004021F) +#define VFW_E_NO_PALETTE_AVAILABLE ((HRESULT)0x80040220) +#define VFW_E_NO_DISPLAY_PALETTE ((HRESULT)0x80040221) +#define VFW_E_TOO_MANY_COLORS ((HRESULT)0x80040222) +#define VFW_E_STATE_CHANGED ((HRESULT)0x80040223) +#define VFW_E_NOT_STOPPED ((HRESULT)0x80040224) +#define VFW_E_NOT_PAUSED ((HRESULT)0x80040225) +#define VFW_E_NOT_RUNNING ((HRESULT)0x80040226) +#define VFW_E_WRONG_STATE ((HRESULT)0x80040227) +#define VFW_E_START_TIME_AFTER_END ((HRESULT)0x80040228) +#define VFW_E_INVALID_RECT ((HRESULT)0x80040229) +#define VFW_E_TYPE_NOT_ACCEPTED ((HRESULT)0x8004022A) +#define VFW_E_SAMPLE_REJECTED ((HRESULT)0x8004022B) +#define VFW_E_SAMPLE_REJECTED_EOS ((HRESULT)0x8004022C) +#define VFW_E_DUPLICATE_NAME ((HRESULT)0x8004022D) +#define VFW_E_TIMEOUT ((HRESULT)0x8004022E) +#define VFW_E_INVALID_FILE_FORMAT ((HRESULT)0x8004022F) +#define VFW_E_ENUM_OUT_OF_RANGE ((HRESULT)0x80040230) +#define VFW_E_CIRCULAR_GRAPH ((HRESULT)0x80040231) +#define VFW_E_NOT_ALLOWED_TO_SAVE ((HRESULT)0x80040232) +#define VFW_E_TIME_ALREADY_PASSED ((HRESULT)0x80040233) +#define VFW_E_ALREADY_CANCELLED ((HRESULT)0x80040234) +#define VFW_E_CORRUPT_GRAPH_FILE ((HRESULT)0x80040235) +#define VFW_E_ADVISE_ALREADY_SET ((HRESULT)0x80040236) +#define VFW_E_NO_MODEX_AVAILABLE ((HRESULT)0x80040238) +#define VFW_E_NO_ADVISE_SET ((HRESULT)0x80040239) +#define VFW_E_NO_FULLSCREEN ((HRESULT)0x8004023A) +#define VFW_E_IN_FULLSCREEN_MODE ((HRESULT)0x8004023B) +#define VFW_E_UNKNOWN_FILE_TYPE ((HRESULT)0x80040240) +#define VFW_E_CANNOT_LOAD_SOURCE_FILTER ((HRESULT)0x80040241) +#define VFW_E_FILE_TOO_SHORT ((HRESULT)0x80040243) +#define VFW_E_INVALID_FILE_VERSION ((HRESULT)0x80040244) +#define VFW_E_INVALID_CLSID ((HRESULT)0x80040247) +#define VFW_E_INVALID_MEDIA_TYPE ((HRESULT)0x80040248) +#define VFW_E_SAMPLE_TIME_NOT_SET ((HRESULT)0x80040249) +#define VFW_E_MEDIA_TIME_NOT_SET ((HRESULT)0x80040251) +#define VFW_E_NO_TIME_FORMAT_SET ((HRESULT)0x80040252) +#define VFW_E_MONO_AUDIO_HW ((HRESULT)0x80040253) +#define VFW_E_NO_DECOMPRESSOR ((HRESULT)0x80040255) +#define VFW_E_NO_AUDIO_HARDWARE ((HRESULT)0x80040256) +#define VFW_E_RPZA ((HRESULT)0x80040259) +#define VFW_E_PROCESSOR_NOT_SUITABLE ((HRESULT)0x8004025B) +#define VFW_E_UNSUPPORTED_AUDIO ((HRESULT)0x8004025C) +#define VFW_E_UNSUPPORTED_VIDEO ((HRESULT)0x8004025D) +#define VFW_E_MPEG_NOT_CONSTRAINED ((HRESULT)0x8004025E) +#define VFW_E_NOT_IN_GRAPH ((HRESULT)0x8004025F) +#define VFW_E_NO_TIME_FORMAT ((HRESULT)0x80040261) +#define VFW_E_READ_ONLY ((HRESULT)0x80040262) +#define VFW_E_BUFFER_UNDERFLOW ((HRESULT)0x80040264) +#define VFW_E_UNSUPPORTED_STREAM ((HRESULT)0x80040265) +#define VFW_E_NO_TRANSPORT ((HRESULT)0x80040266) +#define VFW_E_BAD_VIDEOCD ((HRESULT)0x80040269) +#define VFW_E_OUT_OF_VIDEO_MEMORY ((HRESULT)0x80040271) +#define VFW_E_VP_NEGOTIATION_FAILED ((HRESULT)0x80040272) +#define VFW_E_DDRAW_CAPS_NOT_SUITABLE ((HRESULT)0x80040273) +#define VFW_E_NO_VP_HARDWARE ((HRESULT)0x80040274) +#define VFW_E_NO_CAPTURE_HARDWARE ((HRESULT)0x80040275) +#define VFW_E_DVD_OPERATION_INHIBITED ((HRESULT)0x80040276) +#define VFW_E_DVD_INVALIDDOMAIN ((HRESULT)0x80040277) +#define VFW_E_DVD_NO_BUTTON ((HRESULT)0x80040278) +#define VFW_E_DVD_GRAPHNOTREADY ((HRESULT)0x80040279) +#define VFW_E_DVD_RENDERFAIL ((HRESULT)0x8004027A) +#define VFW_E_DVD_DECNOTENOUGH ((HRESULT)0x8004027B) +#define VFW_E_DDRAW_VERSION_NOT_SUITABLE ((HRESULT)0x8004027C) +#define VFW_E_COPYPROT_FAILED ((HRESULT)0x8004027D) +#define VFW_E_TIME_EXPIRED ((HRESULT)0x8004027F) +#define VFW_E_DVD_WRONG_SPEED ((HRESULT)0x80040281) +#define VFW_E_DVD_MENU_DOES_NOT_EXIST ((HRESULT)0x80040282) +#define VFW_E_DVD_CMD_CANCELLED ((HRESULT)0x80040283) +#define VFW_E_DVD_STATE_WRONG_VERSION ((HRESULT)0x80040284) +#define VFW_E_DVD_STATE_CORRUPT ((HRESULT)0x80040285) +#define VFW_E_DVD_STATE_WRONG_DISC ((HRESULT)0x80040286) +#define VFW_E_DVD_INCOMPATIBLE_REGION ((HRESULT)0x80040287) +#define VFW_E_DVD_NO_ATTRIBUTES ((HRESULT)0x80040288) +#define VFW_E_DVD_NO_GOUP_PGC ((HRESULT)0x80040289) +#define VFW_E_DVD_LOW_PARENTAL_LEVEL ((HRESULT)0x8004028A) +#define VFW_E_DVD_NOT_IN_KARAOKE_MODE ((HRESULT)0x8004028B) +#define VFW_E_FRAME_STEP_UNSUPPORTED ((HRESULT)0x8004028E) +#define VFW_E_DVD_STREAM_DISABLED ((HRESULT)0x8004028F) +#define VFW_E_DVD_TITLE_UNKNOWN ((HRESULT)0x80040290) +#define VFW_E_DVD_INVALID_DISC ((HRESULT)0x80040291) +#define VFW_E_DVD_NO_RESUME_INFORMATION ((HRESULT)0x80040292) +#define VFW_E_PIN_ALREADY_BLOCKED_ON_THIS_THREAD ((HRESULT)0x80040293) +#define VFW_E_PIN_ALREADY_BLOCKED ((HRESULT)0x80040294) +#define VFW_E_CERTIFICATION_FAILURE ((HRESULT)0x80040295) +#define VFW_E_VMR_NOT_IN_MIXER_MODE ((HRESULT)0x80040296) +#define VFW_E_VMR_NO_AP_SUPPLIED ((HRESULT)0x80040297) +#define VFW_E_VMR_NO_DEINTERLACE_HW ((HRESULT)0x80040298) +#define VFW_E_VMR_NO_PROCAMP_HW ((HRESULT)0x80040299) +#define VFW_E_DVD_VMR9_INCOMPATIBLEDEC ((HRESULT)0x8004029A) +#define VFW_E_NO_COPP_HW ((HRESULT)0x8004029B) +#define VFW_E_DVD_NONBLOCKING ((HRESULT)0x8004029C) +#define VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH ((HRESULT)0x8004029D) +#define VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH ((HRESULT)0x8004029E) +#define VFW_E_DVD_RESOLUTION_ERROR ((HRESULT)0x8004029F) +#define VFW_E_CODECAPI_LINEAR_RANGE ((HRESULT)0x80040310) +#define VFW_E_CODECAPI_ENUMERATED ((HRESULT)0x80040311) +#define VFW_E_CODECAPI_NO_DEFAULT ((HRESULT)0x80040313) +#define VFW_E_CODECAPI_NO_CURRENT_VALUE ((HRESULT)0x80040314) +#define VFW_E_DVD_CHAPTER_DOES_NOT_EXIST ((HRESULT)0x80040315) +#define VFW_E_BAD_KEY ((HRESULT)0x800403F2) + +#ifndef E_PROP_ID_UNSUPPORTED +#define E_PROP_ID_UNSUPPORTED ((HRESULT)0x80070490) +#endif +#ifndef E_PROP_SET_UNSUPPORTED +#define E_PROP_SET_UNSUPPORTED ((HRESULT)0x80070492) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vidcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vidcap.h new file mode 100644 index 00000000..38dda1ad --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vidcap.h @@ -0,0 +1,1927 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vidcap.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 __vidcap_h__ +#define __vidcap_h__ + +/* Forward declarations */ + +#ifndef __IKsTopologyInfo_FWD_DEFINED__ +#define __IKsTopologyInfo_FWD_DEFINED__ +typedef interface IKsTopologyInfo IKsTopologyInfo; +#ifdef __cplusplus +interface IKsTopologyInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __ISelector_FWD_DEFINED__ +#define __ISelector_FWD_DEFINED__ +typedef interface ISelector ISelector; +#ifdef __cplusplus +interface ISelector; +#endif /* __cplusplus */ +#endif + +#ifndef __ICameraControl_FWD_DEFINED__ +#define __ICameraControl_FWD_DEFINED__ +typedef interface ICameraControl ICameraControl; +#ifdef __cplusplus +interface ICameraControl; +#endif /* __cplusplus */ +#endif + +#ifndef __IVideoProcAmp_FWD_DEFINED__ +#define __IVideoProcAmp_FWD_DEFINED__ +typedef interface IVideoProcAmp IVideoProcAmp; +#ifdef __cplusplus +interface IVideoProcAmp; +#endif /* __cplusplus */ +#endif + +#ifndef __IKsNodeControl_FWD_DEFINED__ +#define __IKsNodeControl_FWD_DEFINED__ +typedef interface IKsNodeControl IKsNodeControl; +#ifdef __cplusplus +interface IKsNodeControl; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#include "ks.h" +#ifndef _KS_ +typedef struct __WIDL_vidcap_generated_name_00000016 { + ULONG FromNode; + ULONG FromNodePin; + ULONG ToNode; + ULONG ToNodePin; +} KSTOPOLOGY_CONNECTION; +typedef struct __WIDL_vidcap_generated_name_00000016 *PKSTOPOLOGY_CONNECTION; +#endif +/***************************************************************************** + * IKsTopologyInfo interface + */ +#ifndef __IKsTopologyInfo_INTERFACE_DEFINED__ +#define __IKsTopologyInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IKsTopologyInfo, 0x720d4ac0, 0x7533, 0x11d0, 0xa5,0xd6, 0x28,0xdb,0x04,0xc1,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("720d4ac0-7533-11d0-a5d6-28db04c10000") +IKsTopologyInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_NumCategories( + DWORD *pdwNumCategories) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Category( + DWORD dwIndex, + GUID *pCategory) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NumConnections( + DWORD *pdwNumConnections) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConnectionInfo( + DWORD dwIndex, + KSTOPOLOGY_CONNECTION *pConnectionInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NodeName( + DWORD dwNodeId, + WCHAR *pwchNodeName, + DWORD dwBufSize, + DWORD *pdwNameLen) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NumNodes( + DWORD *pdwNumNodes) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NodeType( + DWORD dwNodeId, + GUID *pNodeType) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNodeInstance( + DWORD dwNodeId, + REFIID iid, + void **ppvObject) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IKsTopologyInfo, 0x720d4ac0, 0x7533, 0x11d0, 0xa5,0xd6, 0x28,0xdb,0x04,0xc1,0x00,0x00) +#endif +#else +typedef struct IKsTopologyInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IKsTopologyInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IKsTopologyInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IKsTopologyInfo *This); + + /*** IKsTopologyInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *get_NumCategories)( + IKsTopologyInfo *This, + DWORD *pdwNumCategories); + + HRESULT (STDMETHODCALLTYPE *get_Category)( + IKsTopologyInfo *This, + DWORD dwIndex, + GUID *pCategory); + + HRESULT (STDMETHODCALLTYPE *get_NumConnections)( + IKsTopologyInfo *This, + DWORD *pdwNumConnections); + + HRESULT (STDMETHODCALLTYPE *get_ConnectionInfo)( + IKsTopologyInfo *This, + DWORD dwIndex, + KSTOPOLOGY_CONNECTION *pConnectionInfo); + + HRESULT (STDMETHODCALLTYPE *get_NodeName)( + IKsTopologyInfo *This, + DWORD dwNodeId, + WCHAR *pwchNodeName, + DWORD dwBufSize, + DWORD *pdwNameLen); + + HRESULT (STDMETHODCALLTYPE *get_NumNodes)( + IKsTopologyInfo *This, + DWORD *pdwNumNodes); + + HRESULT (STDMETHODCALLTYPE *get_NodeType)( + IKsTopologyInfo *This, + DWORD dwNodeId, + GUID *pNodeType); + + HRESULT (STDMETHODCALLTYPE *CreateNodeInstance)( + IKsTopologyInfo *This, + DWORD dwNodeId, + REFIID iid, + void **ppvObject); + + END_INTERFACE +} IKsTopologyInfoVtbl; + +interface IKsTopologyInfo { + CONST_VTBL IKsTopologyInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IKsTopologyInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IKsTopologyInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IKsTopologyInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IKsTopologyInfo methods ***/ +#define IKsTopologyInfo_get_NumCategories(This,pdwNumCategories) (This)->lpVtbl->get_NumCategories(This,pdwNumCategories) +#define IKsTopologyInfo_get_Category(This,dwIndex,pCategory) (This)->lpVtbl->get_Category(This,dwIndex,pCategory) +#define IKsTopologyInfo_get_NumConnections(This,pdwNumConnections) (This)->lpVtbl->get_NumConnections(This,pdwNumConnections) +#define IKsTopologyInfo_get_ConnectionInfo(This,dwIndex,pConnectionInfo) (This)->lpVtbl->get_ConnectionInfo(This,dwIndex,pConnectionInfo) +#define IKsTopologyInfo_get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen) (This)->lpVtbl->get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen) +#define IKsTopologyInfo_get_NumNodes(This,pdwNumNodes) (This)->lpVtbl->get_NumNodes(This,pdwNumNodes) +#define IKsTopologyInfo_get_NodeType(This,dwNodeId,pNodeType) (This)->lpVtbl->get_NodeType(This,dwNodeId,pNodeType) +#define IKsTopologyInfo_CreateNodeInstance(This,dwNodeId,iid,ppvObject) (This)->lpVtbl->CreateNodeInstance(This,dwNodeId,iid,ppvObject) +#else +/*** IUnknown methods ***/ +static inline HRESULT IKsTopologyInfo_QueryInterface(IKsTopologyInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IKsTopologyInfo_AddRef(IKsTopologyInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IKsTopologyInfo_Release(IKsTopologyInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IKsTopologyInfo methods ***/ +static inline HRESULT IKsTopologyInfo_get_NumCategories(IKsTopologyInfo* This,DWORD *pdwNumCategories) { + return This->lpVtbl->get_NumCategories(This,pdwNumCategories); +} +static inline HRESULT IKsTopologyInfo_get_Category(IKsTopologyInfo* This,DWORD dwIndex,GUID *pCategory) { + return This->lpVtbl->get_Category(This,dwIndex,pCategory); +} +static inline HRESULT IKsTopologyInfo_get_NumConnections(IKsTopologyInfo* This,DWORD *pdwNumConnections) { + return This->lpVtbl->get_NumConnections(This,pdwNumConnections); +} +static inline HRESULT IKsTopologyInfo_get_ConnectionInfo(IKsTopologyInfo* This,DWORD dwIndex,KSTOPOLOGY_CONNECTION *pConnectionInfo) { + return This->lpVtbl->get_ConnectionInfo(This,dwIndex,pConnectionInfo); +} +static inline HRESULT IKsTopologyInfo_get_NodeName(IKsTopologyInfo* This,DWORD dwNodeId,WCHAR *pwchNodeName,DWORD dwBufSize,DWORD *pdwNameLen) { + return This->lpVtbl->get_NodeName(This,dwNodeId,pwchNodeName,dwBufSize,pdwNameLen); +} +static inline HRESULT IKsTopologyInfo_get_NumNodes(IKsTopologyInfo* This,DWORD *pdwNumNodes) { + return This->lpVtbl->get_NumNodes(This,pdwNumNodes); +} +static inline HRESULT IKsTopologyInfo_get_NodeType(IKsTopologyInfo* This,DWORD dwNodeId,GUID *pNodeType) { + return This->lpVtbl->get_NodeType(This,dwNodeId,pNodeType); +} +static inline HRESULT IKsTopologyInfo_CreateNodeInstance(IKsTopologyInfo* This,DWORD dwNodeId,REFIID iid,void **ppvObject) { + return This->lpVtbl->CreateNodeInstance(This,dwNodeId,iid,ppvObject); +} +#endif +#endif + +#endif + + +#endif /* __IKsTopologyInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISelector interface + */ +#ifndef __ISelector_INTERFACE_DEFINED__ +#define __ISelector_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISelector, 0x1abdaeca, 0x68b6, 0x4f83, 0x93,0x71, 0xb4,0x13,0x90,0x7c,0x7b,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1abdaeca-68b6-4f83-9371-b413907c7b9f") +ISelector : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_NumSources( + DWORD *pdwNumSources) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SourceNodeId( + DWORD *pdwPinId) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SourceNodeId( + DWORD dwPinId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISelector, 0x1abdaeca, 0x68b6, 0x4f83, 0x93,0x71, 0xb4,0x13,0x90,0x7c,0x7b,0x9f) +#endif +#else +typedef struct ISelectorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISelector *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISelector *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISelector *This); + + /*** ISelector methods ***/ + HRESULT (STDMETHODCALLTYPE *get_NumSources)( + ISelector *This, + DWORD *pdwNumSources); + + HRESULT (STDMETHODCALLTYPE *get_SourceNodeId)( + ISelector *This, + DWORD *pdwPinId); + + HRESULT (STDMETHODCALLTYPE *put_SourceNodeId)( + ISelector *This, + DWORD dwPinId); + + END_INTERFACE +} ISelectorVtbl; + +interface ISelector { + CONST_VTBL ISelectorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISelector_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISelector_Release(This) (This)->lpVtbl->Release(This) +/*** ISelector methods ***/ +#define ISelector_get_NumSources(This,pdwNumSources) (This)->lpVtbl->get_NumSources(This,pdwNumSources) +#define ISelector_get_SourceNodeId(This,pdwPinId) (This)->lpVtbl->get_SourceNodeId(This,pdwPinId) +#define ISelector_put_SourceNodeId(This,dwPinId) (This)->lpVtbl->put_SourceNodeId(This,dwPinId) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISelector_QueryInterface(ISelector* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISelector_AddRef(ISelector* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISelector_Release(ISelector* This) { + return This->lpVtbl->Release(This); +} +/*** ISelector methods ***/ +static inline HRESULT ISelector_get_NumSources(ISelector* This,DWORD *pdwNumSources) { + return This->lpVtbl->get_NumSources(This,pdwNumSources); +} +static inline HRESULT ISelector_get_SourceNodeId(ISelector* This,DWORD *pdwPinId) { + return This->lpVtbl->get_SourceNodeId(This,pdwPinId); +} +static inline HRESULT ISelector_put_SourceNodeId(ISelector* This,DWORD dwPinId) { + return This->lpVtbl->put_SourceNodeId(This,dwPinId); +} +#endif +#endif + +#endif + + +#endif /* __ISelector_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICameraControl interface + */ +#ifndef __ICameraControl_INTERFACE_DEFINED__ +#define __ICameraControl_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICameraControl, 0x2ba1785d, 0x4d1b, 0x44ef, 0x85,0xe8, 0xc7,0xf1,0xd3,0xf2,0x01,0x84); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2ba1785d-4d1b-44ef-85e8-c7f1d3f20184") +ICameraControl : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_Exposure( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Exposure( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Exposure( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Focus( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Focus( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Focus( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Iris( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Iris( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Iris( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Zoom( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Zoom( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Zoom( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FocalLengths( + LONG *plOcularFocalLength, + LONG *plObjectiveFocalLengthMin, + LONG *plObjectiveFocalLengthMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Pan( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Pan( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Pan( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Tilt( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Tilt( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Tilt( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PanTilt( + LONG *pPanValue, + LONG *pTiltValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PanTilt( + LONG PanValue, + LONG TiltValue, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Roll( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Roll( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Roll( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ExposureRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ExposureRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_ExposureRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FocusRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FocusRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_FocusRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IrisRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IrisRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_IrisRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ZoomRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ZoomRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_ZoomRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PanRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PanRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TiltRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TiltRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_TiltRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PanTiltRelative( + LONG *pPanValue, + LONG *pTiltValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PanTiltRelative( + LONG PanValue, + LONG TiltValue, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_PanRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RollRelative( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RollRelative( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_RollRelative( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ScanMode( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ScanMode( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PrivacyMode( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PrivacyMode( + LONG Value, + LONG Flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICameraControl, 0x2ba1785d, 0x4d1b, 0x44ef, 0x85,0xe8, 0xc7,0xf1,0xd3,0xf2,0x01,0x84) +#endif +#else +typedef struct ICameraControlVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICameraControl *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICameraControl *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICameraControl *This); + + /*** ICameraControl methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Exposure)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Exposure)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Exposure)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Focus)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Focus)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Focus)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Iris)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Iris)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Iris)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Zoom)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Zoom)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Zoom)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_FocalLengths)( + ICameraControl *This, + LONG *plOcularFocalLength, + LONG *plObjectiveFocalLengthMin, + LONG *plObjectiveFocalLengthMax); + + HRESULT (STDMETHODCALLTYPE *get_Pan)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Pan)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Pan)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Tilt)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Tilt)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Tilt)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_PanTilt)( + ICameraControl *This, + LONG *pPanValue, + LONG *pTiltValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_PanTilt)( + ICameraControl *This, + LONG PanValue, + LONG TiltValue, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *get_Roll)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Roll)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Roll)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_ExposureRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_ExposureRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_ExposureRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_FocusRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_FocusRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_FocusRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_IrisRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_IrisRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_IrisRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_ZoomRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_ZoomRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_ZoomRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_PanRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_PanRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *get_TiltRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_TiltRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_TiltRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_PanTiltRelative)( + ICameraControl *This, + LONG *pPanValue, + LONG *pTiltValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_PanTiltRelative)( + ICameraControl *This, + LONG PanValue, + LONG TiltValue, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_PanRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_RollRelative)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_RollRelative)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_RollRelative)( + ICameraControl *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_ScanMode)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_ScanMode)( + ICameraControl *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *get_PrivacyMode)( + ICameraControl *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_PrivacyMode)( + ICameraControl *This, + LONG Value, + LONG Flags); + + END_INTERFACE +} ICameraControlVtbl; + +interface ICameraControl { + CONST_VTBL ICameraControlVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICameraControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICameraControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICameraControl_Release(This) (This)->lpVtbl->Release(This) +/*** ICameraControl methods ***/ +#define ICameraControl_get_Exposure(This,pValue,pFlags) (This)->lpVtbl->get_Exposure(This,pValue,pFlags) +#define ICameraControl_put_Exposure(This,Value,Flags) (This)->lpVtbl->put_Exposure(This,Value,Flags) +#define ICameraControl_getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_Focus(This,pValue,pFlags) (This)->lpVtbl->get_Focus(This,pValue,pFlags) +#define ICameraControl_put_Focus(This,Value,Flags) (This)->lpVtbl->put_Focus(This,Value,Flags) +#define ICameraControl_getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_Iris(This,pValue,pFlags) (This)->lpVtbl->get_Iris(This,pValue,pFlags) +#define ICameraControl_put_Iris(This,Value,Flags) (This)->lpVtbl->put_Iris(This,Value,Flags) +#define ICameraControl_getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_Zoom(This,pValue,pFlags) (This)->lpVtbl->get_Zoom(This,pValue,pFlags) +#define ICameraControl_put_Zoom(This,Value,Flags) (This)->lpVtbl->put_Zoom(This,Value,Flags) +#define ICameraControl_getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax) (This)->lpVtbl->get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax) +#define ICameraControl_get_Pan(This,pValue,pFlags) (This)->lpVtbl->get_Pan(This,pValue,pFlags) +#define ICameraControl_put_Pan(This,Value,Flags) (This)->lpVtbl->put_Pan(This,Value,Flags) +#define ICameraControl_getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_Tilt(This,pValue,pFlags) (This)->lpVtbl->get_Tilt(This,pValue,pFlags) +#define ICameraControl_put_Tilt(This,Value,Flags) (This)->lpVtbl->put_Tilt(This,Value,Flags) +#define ICameraControl_getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_PanTilt(This,pPanValue,pTiltValue,pFlags) (This)->lpVtbl->get_PanTilt(This,pPanValue,pTiltValue,pFlags) +#define ICameraControl_put_PanTilt(This,PanValue,TiltValue,Flags) (This)->lpVtbl->put_PanTilt(This,PanValue,TiltValue,Flags) +#define ICameraControl_get_Roll(This,pValue,pFlags) (This)->lpVtbl->get_Roll(This,pValue,pFlags) +#define ICameraControl_put_Roll(This,Value,Flags) (This)->lpVtbl->put_Roll(This,Value,Flags) +#define ICameraControl_getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_ExposureRelative(This,pValue,pFlags) (This)->lpVtbl->get_ExposureRelative(This,pValue,pFlags) +#define ICameraControl_put_ExposureRelative(This,Value,Flags) (This)->lpVtbl->put_ExposureRelative(This,Value,Flags) +#define ICameraControl_getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_FocusRelative(This,pValue,pFlags) (This)->lpVtbl->get_FocusRelative(This,pValue,pFlags) +#define ICameraControl_put_FocusRelative(This,Value,Flags) (This)->lpVtbl->put_FocusRelative(This,Value,Flags) +#define ICameraControl_getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_IrisRelative(This,pValue,pFlags) (This)->lpVtbl->get_IrisRelative(This,pValue,pFlags) +#define ICameraControl_put_IrisRelative(This,Value,Flags) (This)->lpVtbl->put_IrisRelative(This,Value,Flags) +#define ICameraControl_getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_ZoomRelative(This,pValue,pFlags) (This)->lpVtbl->get_ZoomRelative(This,pValue,pFlags) +#define ICameraControl_put_ZoomRelative(This,Value,Flags) (This)->lpVtbl->put_ZoomRelative(This,Value,Flags) +#define ICameraControl_getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_PanRelative(This,pValue,pFlags) (This)->lpVtbl->get_PanRelative(This,pValue,pFlags) +#define ICameraControl_put_PanRelative(This,Value,Flags) (This)->lpVtbl->put_PanRelative(This,Value,Flags) +#define ICameraControl_get_TiltRelative(This,pValue,pFlags) (This)->lpVtbl->get_TiltRelative(This,pValue,pFlags) +#define ICameraControl_put_TiltRelative(This,Value,Flags) (This)->lpVtbl->put_TiltRelative(This,Value,Flags) +#define ICameraControl_getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags) (This)->lpVtbl->get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags) +#define ICameraControl_put_PanTiltRelative(This,PanValue,TiltValue,Flags) (This)->lpVtbl->put_PanTiltRelative(This,PanValue,TiltValue,Flags) +#define ICameraControl_getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_RollRelative(This,pValue,pFlags) (This)->lpVtbl->get_RollRelative(This,pValue,pFlags) +#define ICameraControl_put_RollRelative(This,Value,Flags) (This)->lpVtbl->put_RollRelative(This,Value,Flags) +#define ICameraControl_getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define ICameraControl_get_ScanMode(This,pValue,pFlags) (This)->lpVtbl->get_ScanMode(This,pValue,pFlags) +#define ICameraControl_put_ScanMode(This,Value,Flags) (This)->lpVtbl->put_ScanMode(This,Value,Flags) +#define ICameraControl_get_PrivacyMode(This,pValue,pFlags) (This)->lpVtbl->get_PrivacyMode(This,pValue,pFlags) +#define ICameraControl_put_PrivacyMode(This,Value,Flags) (This)->lpVtbl->put_PrivacyMode(This,Value,Flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICameraControl_QueryInterface(ICameraControl* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICameraControl_AddRef(ICameraControl* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICameraControl_Release(ICameraControl* This) { + return This->lpVtbl->Release(This); +} +/*** ICameraControl methods ***/ +static inline HRESULT ICameraControl_get_Exposure(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Exposure(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Exposure(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Exposure(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Exposure(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Exposure(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_Focus(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Focus(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Focus(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Focus(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Focus(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Focus(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_Iris(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Iris(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Iris(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Iris(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Iris(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Iris(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_Zoom(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Zoom(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Zoom(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Zoom(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Zoom(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Zoom(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_FocalLengths(ICameraControl* This,LONG *plOcularFocalLength,LONG *plObjectiveFocalLengthMin,LONG *plObjectiveFocalLengthMax) { + return This->lpVtbl->get_FocalLengths(This,plOcularFocalLength,plObjectiveFocalLengthMin,plObjectiveFocalLengthMax); +} +static inline HRESULT ICameraControl_get_Pan(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Pan(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Pan(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Pan(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Pan(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Pan(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_Tilt(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Tilt(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Tilt(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Tilt(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Tilt(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Tilt(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_PanTilt(ICameraControl* This,LONG *pPanValue,LONG *pTiltValue,LONG *pFlags) { + return This->lpVtbl->get_PanTilt(This,pPanValue,pTiltValue,pFlags); +} +static inline HRESULT ICameraControl_put_PanTilt(ICameraControl* This,LONG PanValue,LONG TiltValue,LONG Flags) { + return This->lpVtbl->put_PanTilt(This,PanValue,TiltValue,Flags); +} +static inline HRESULT ICameraControl_get_Roll(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Roll(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_Roll(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Roll(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_Roll(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Roll(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_ExposureRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_ExposureRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_ExposureRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_ExposureRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_ExposureRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_ExposureRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_FocusRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_FocusRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_FocusRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_FocusRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_FocusRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_FocusRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_IrisRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_IrisRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_IrisRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_IrisRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_IrisRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_IrisRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_ZoomRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_ZoomRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_ZoomRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_ZoomRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_ZoomRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_ZoomRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_PanRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_PanRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_PanRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_PanRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_get_TiltRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_TiltRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_TiltRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_TiltRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_TiltRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_TiltRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_PanTiltRelative(ICameraControl* This,LONG *pPanValue,LONG *pTiltValue,LONG *pFlags) { + return This->lpVtbl->get_PanTiltRelative(This,pPanValue,pTiltValue,pFlags); +} +static inline HRESULT ICameraControl_put_PanTiltRelative(ICameraControl* This,LONG PanValue,LONG TiltValue,LONG Flags) { + return This->lpVtbl->put_PanTiltRelative(This,PanValue,TiltValue,Flags); +} +static inline HRESULT ICameraControl_getRange_PanRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_PanRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_RollRelative(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_RollRelative(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_RollRelative(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_RollRelative(This,Value,Flags); +} +static inline HRESULT ICameraControl_getRange_RollRelative(ICameraControl* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_RollRelative(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT ICameraControl_get_ScanMode(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_ScanMode(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_ScanMode(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_ScanMode(This,Value,Flags); +} +static inline HRESULT ICameraControl_get_PrivacyMode(ICameraControl* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_PrivacyMode(This,pValue,pFlags); +} +static inline HRESULT ICameraControl_put_PrivacyMode(ICameraControl* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_PrivacyMode(This,Value,Flags); +} +#endif +#endif + +#endif + + +#endif /* __ICameraControl_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVideoProcAmp interface + */ +#ifndef __IVideoProcAmp_INTERFACE_DEFINED__ +#define __IVideoProcAmp_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVideoProcAmp, 0x4050560e, 0x42a7, 0x413a, 0x85,0xc2, 0x09,0x26,0x9a,0x2d,0x0f,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4050560e-42a7-413a-85c2-09269a2d0f44") +IVideoProcAmp : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_BacklightCompensation( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_BacklightCompensation( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_BacklightCompensation( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Brightness( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Brightness( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Brightness( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ColorEnable( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ColorEnable( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_ColorEnable( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Contrast( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Contrast( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Contrast( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Gamma( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Gamma( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Gamma( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Saturation( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Saturation( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Saturation( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Sharpness( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Sharpness( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Sharpness( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WhiteBalance( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WhiteBalance( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_WhiteBalance( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Gain( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Gain( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Gain( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Hue( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Hue( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_Hue( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DigitalMultiplier( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DigitalMultiplier( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_DigitalMultiplier( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PowerlineFrequency( + LONG *pValue, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PowerlineFrequency( + LONG Value, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_PowerlineFrequency( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WhiteBalanceComponent( + LONG *pValue1, + LONG *pValue2, + LONG *pFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WhiteBalanceComponent( + LONG Value1, + LONG Value2, + LONG Flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE getRange_WhiteBalanceComponent( + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVideoProcAmp, 0x4050560e, 0x42a7, 0x413a, 0x85,0xc2, 0x09,0x26,0x9a,0x2d,0x0f,0x44) +#endif +#else +typedef struct IVideoProcAmpVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVideoProcAmp *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVideoProcAmp *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVideoProcAmp *This); + + /*** IVideoProcAmp methods ***/ + HRESULT (STDMETHODCALLTYPE *get_BacklightCompensation)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_BacklightCompensation)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_BacklightCompensation)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Brightness)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Brightness)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Brightness)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_ColorEnable)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_ColorEnable)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_ColorEnable)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Contrast)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Contrast)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Contrast)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Gamma)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Gamma)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Gamma)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Saturation)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Saturation)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Saturation)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Sharpness)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Sharpness)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Sharpness)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_WhiteBalance)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_WhiteBalance)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_WhiteBalance)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Gain)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Gain)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Gain)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_Hue)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_Hue)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_Hue)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_DigitalMultiplier)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_DigitalMultiplier)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_DigitalMultiplier)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_PowerlineFrequency)( + IVideoProcAmp *This, + LONG *pValue, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_PowerlineFrequency)( + IVideoProcAmp *This, + LONG Value, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_PowerlineFrequency)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + HRESULT (STDMETHODCALLTYPE *get_WhiteBalanceComponent)( + IVideoProcAmp *This, + LONG *pValue1, + LONG *pValue2, + LONG *pFlags); + + HRESULT (STDMETHODCALLTYPE *put_WhiteBalanceComponent)( + IVideoProcAmp *This, + LONG Value1, + LONG Value2, + LONG Flags); + + HRESULT (STDMETHODCALLTYPE *getRange_WhiteBalanceComponent)( + IVideoProcAmp *This, + LONG *pMin, + LONG *pMax, + LONG *pSteppingDelta, + LONG *pDefault, + LONG *pCapsFlag); + + END_INTERFACE +} IVideoProcAmpVtbl; + +interface IVideoProcAmp { + CONST_VTBL IVideoProcAmpVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVideoProcAmp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVideoProcAmp_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVideoProcAmp_Release(This) (This)->lpVtbl->Release(This) +/*** IVideoProcAmp methods ***/ +#define IVideoProcAmp_get_BacklightCompensation(This,pValue,pFlags) (This)->lpVtbl->get_BacklightCompensation(This,pValue,pFlags) +#define IVideoProcAmp_put_BacklightCompensation(This,Value,Flags) (This)->lpVtbl->put_BacklightCompensation(This,Value,Flags) +#define IVideoProcAmp_getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Brightness(This,pValue,pFlags) (This)->lpVtbl->get_Brightness(This,pValue,pFlags) +#define IVideoProcAmp_put_Brightness(This,Value,Flags) (This)->lpVtbl->put_Brightness(This,Value,Flags) +#define IVideoProcAmp_getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_ColorEnable(This,pValue,pFlags) (This)->lpVtbl->get_ColorEnable(This,pValue,pFlags) +#define IVideoProcAmp_put_ColorEnable(This,Value,Flags) (This)->lpVtbl->put_ColorEnable(This,Value,Flags) +#define IVideoProcAmp_getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Contrast(This,pValue,pFlags) (This)->lpVtbl->get_Contrast(This,pValue,pFlags) +#define IVideoProcAmp_put_Contrast(This,Value,Flags) (This)->lpVtbl->put_Contrast(This,Value,Flags) +#define IVideoProcAmp_getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Gamma(This,pValue,pFlags) (This)->lpVtbl->get_Gamma(This,pValue,pFlags) +#define IVideoProcAmp_put_Gamma(This,Value,Flags) (This)->lpVtbl->put_Gamma(This,Value,Flags) +#define IVideoProcAmp_getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Saturation(This,pValue,pFlags) (This)->lpVtbl->get_Saturation(This,pValue,pFlags) +#define IVideoProcAmp_put_Saturation(This,Value,Flags) (This)->lpVtbl->put_Saturation(This,Value,Flags) +#define IVideoProcAmp_getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Sharpness(This,pValue,pFlags) (This)->lpVtbl->get_Sharpness(This,pValue,pFlags) +#define IVideoProcAmp_put_Sharpness(This,Value,Flags) (This)->lpVtbl->put_Sharpness(This,Value,Flags) +#define IVideoProcAmp_getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_WhiteBalance(This,pValue,pFlags) (This)->lpVtbl->get_WhiteBalance(This,pValue,pFlags) +#define IVideoProcAmp_put_WhiteBalance(This,Value,Flags) (This)->lpVtbl->put_WhiteBalance(This,Value,Flags) +#define IVideoProcAmp_getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Gain(This,pValue,pFlags) (This)->lpVtbl->get_Gain(This,pValue,pFlags) +#define IVideoProcAmp_put_Gain(This,Value,Flags) (This)->lpVtbl->put_Gain(This,Value,Flags) +#define IVideoProcAmp_getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_Hue(This,pValue,pFlags) (This)->lpVtbl->get_Hue(This,pValue,pFlags) +#define IVideoProcAmp_put_Hue(This,Value,Flags) (This)->lpVtbl->put_Hue(This,Value,Flags) +#define IVideoProcAmp_getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_DigitalMultiplier(This,pValue,pFlags) (This)->lpVtbl->get_DigitalMultiplier(This,pValue,pFlags) +#define IVideoProcAmp_put_DigitalMultiplier(This,Value,Flags) (This)->lpVtbl->put_DigitalMultiplier(This,Value,Flags) +#define IVideoProcAmp_getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_PowerlineFrequency(This,pValue,pFlags) (This)->lpVtbl->get_PowerlineFrequency(This,pValue,pFlags) +#define IVideoProcAmp_put_PowerlineFrequency(This,Value,Flags) (This)->lpVtbl->put_PowerlineFrequency(This,Value,Flags) +#define IVideoProcAmp_getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#define IVideoProcAmp_get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags) (This)->lpVtbl->get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags) +#define IVideoProcAmp_put_WhiteBalanceComponent(This,Value1,Value2,Flags) (This)->lpVtbl->put_WhiteBalanceComponent(This,Value1,Value2,Flags) +#define IVideoProcAmp_getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) (This)->lpVtbl->getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVideoProcAmp_QueryInterface(IVideoProcAmp* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVideoProcAmp_AddRef(IVideoProcAmp* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVideoProcAmp_Release(IVideoProcAmp* This) { + return This->lpVtbl->Release(This); +} +/*** IVideoProcAmp methods ***/ +static inline HRESULT IVideoProcAmp_get_BacklightCompensation(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_BacklightCompensation(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_BacklightCompensation(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_BacklightCompensation(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_BacklightCompensation(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_BacklightCompensation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Brightness(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Brightness(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Brightness(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Brightness(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Brightness(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Brightness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_ColorEnable(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_ColorEnable(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_ColorEnable(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_ColorEnable(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_ColorEnable(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_ColorEnable(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Contrast(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Contrast(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Contrast(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Contrast(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Contrast(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Contrast(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Gamma(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Gamma(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Gamma(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Gamma(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Gamma(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Gamma(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Saturation(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Saturation(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Saturation(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Saturation(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Saturation(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Saturation(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Sharpness(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Sharpness(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Sharpness(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Sharpness(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Sharpness(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Sharpness(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_WhiteBalance(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_WhiteBalance(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_WhiteBalance(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_WhiteBalance(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_WhiteBalance(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_WhiteBalance(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Gain(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Gain(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Gain(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Gain(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Gain(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Gain(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_Hue(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_Hue(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_Hue(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_Hue(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_Hue(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_Hue(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_DigitalMultiplier(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_DigitalMultiplier(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_DigitalMultiplier(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_DigitalMultiplier(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_DigitalMultiplier(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_DigitalMultiplier(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_PowerlineFrequency(IVideoProcAmp* This,LONG *pValue,LONG *pFlags) { + return This->lpVtbl->get_PowerlineFrequency(This,pValue,pFlags); +} +static inline HRESULT IVideoProcAmp_put_PowerlineFrequency(IVideoProcAmp* This,LONG Value,LONG Flags) { + return This->lpVtbl->put_PowerlineFrequency(This,Value,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_PowerlineFrequency(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_PowerlineFrequency(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +static inline HRESULT IVideoProcAmp_get_WhiteBalanceComponent(IVideoProcAmp* This,LONG *pValue1,LONG *pValue2,LONG *pFlags) { + return This->lpVtbl->get_WhiteBalanceComponent(This,pValue1,pValue2,pFlags); +} +static inline HRESULT IVideoProcAmp_put_WhiteBalanceComponent(IVideoProcAmp* This,LONG Value1,LONG Value2,LONG Flags) { + return This->lpVtbl->put_WhiteBalanceComponent(This,Value1,Value2,Flags); +} +static inline HRESULT IVideoProcAmp_getRange_WhiteBalanceComponent(IVideoProcAmp* This,LONG *pMin,LONG *pMax,LONG *pSteppingDelta,LONG *pDefault,LONG *pCapsFlag) { + return This->lpVtbl->getRange_WhiteBalanceComponent(This,pMin,pMax,pSteppingDelta,pDefault,pCapsFlag); +} +#endif +#endif + +#endif + + +#endif /* __IVideoProcAmp_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IKsNodeControl interface + */ +#ifndef __IKsNodeControl_INTERFACE_DEFINED__ +#define __IKsNodeControl_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IKsNodeControl, 0x11737c14, 0x24a7, 0x4bb5, 0x81,0xa0, 0x0d,0x00,0x38,0x13,0xb0,0xc4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("11737c14-24a7-4bb5-81a0-0d003813b0c4") +IKsNodeControl : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE put_NodeId( + DWORD dwNodeId) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_KsControl( + PVOID pKsControl) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IKsNodeControl, 0x11737c14, 0x24a7, 0x4bb5, 0x81,0xa0, 0x0d,0x00,0x38,0x13,0xb0,0xc4) +#endif +#else +typedef struct IKsNodeControlVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IKsNodeControl *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IKsNodeControl *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IKsNodeControl *This); + + /*** IKsNodeControl methods ***/ + HRESULT (STDMETHODCALLTYPE *put_NodeId)( + IKsNodeControl *This, + DWORD dwNodeId); + + HRESULT (STDMETHODCALLTYPE *put_KsControl)( + IKsNodeControl *This, + PVOID pKsControl); + + END_INTERFACE +} IKsNodeControlVtbl; + +interface IKsNodeControl { + CONST_VTBL IKsNodeControlVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IKsNodeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IKsNodeControl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IKsNodeControl_Release(This) (This)->lpVtbl->Release(This) +/*** IKsNodeControl methods ***/ +#define IKsNodeControl_put_NodeId(This,dwNodeId) (This)->lpVtbl->put_NodeId(This,dwNodeId) +#define IKsNodeControl_put_KsControl(This,pKsControl) (This)->lpVtbl->put_KsControl(This,pKsControl) +#else +/*** IUnknown methods ***/ +static inline HRESULT IKsNodeControl_QueryInterface(IKsNodeControl* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IKsNodeControl_AddRef(IKsNodeControl* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IKsNodeControl_Release(IKsNodeControl* This) { + return This->lpVtbl->Release(This); +} +/*** IKsNodeControl methods ***/ +static inline HRESULT IKsNodeControl_put_NodeId(IKsNodeControl* This,DWORD dwNodeId) { + return This->lpVtbl->put_NodeId(This,dwNodeId); +} +static inline HRESULT IKsNodeControl_put_KsControl(IKsNodeControl* This,PVOID pKsControl) { + return This->lpVtbl->put_KsControl(This,pKsControl); +} +#endif +#endif + +#endif + + +#endif /* __IKsNodeControl_INTERFACE_DEFINED__ */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vidcap_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/virtdisk.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/virtdisk.h new file mode 100644 index 00000000..047beb8b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/virtdisk.h @@ -0,0 +1,575 @@ +/** + * 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_VIRTDISK +#define _INC_VIRTDISK + +#if (_WIN32_WINNT >= 0x0601) +#ifdef __cplusplus +extern "C" { +#endif + +#define VIRTDISKAPI DECLSPEC_IMPORT + +#define VIRTUAL_STORAGE_TYPE_DEVICE_UNKNOWN 0 +#define VIRTUAL_STORAGE_TYPE_DEVICE_ISO 1 +#define VIRTUAL_STORAGE_TYPE_DEVICE_VHD 2 +#if (_WIN32_WINNT >= 0x0A00) +#define VIRTUAL_STORAGE_TYPE_DEVICE_VHDX 3 +#endif /* _WIN32_WINNT >= 0x0A00 */ + +typedef enum _ATTACH_VIRTUAL_DISK_FLAG { + ATTACH_VIRTUAL_DISK_FLAG_NONE = 0x00000000, + ATTACH_VIRTUAL_DISK_FLAG_READ_ONLY = 0x00000001, + ATTACH_VIRTUAL_DISK_FLAG_NO_DRIVE_LETTER = 0x00000002, + ATTACH_VIRTUAL_DISK_FLAG_PERMANENT_LIFETIME = 0x00000004, + ATTACH_VIRTUAL_DISK_FLAG_NO_LOCAL_HOST = 0x00000008 +} ATTACH_VIRTUAL_DISK_FLAG; + +typedef enum _ATTACH_VIRTUAL_DISK_VERSION { + ATTACH_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + ATTACH_VIRTUAL_DISK_VERSION_1 = 1 +} ATTACH_VIRTUAL_DISK_VERSION; + +typedef enum _COMPACT_VIRTUAL_DISK_FLAG { + COMPACT_VIRTUAL_DISK_FLAG_NONE = 0x00000000 +} COMPACT_VIRTUAL_DISK_FLAG; + +typedef enum _COMPACT_VIRTUAL_DISK_VERSION { + COMPACT_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + COMPACT_VIRTUAL_DISK_VERSION_1 = 1 +} COMPACT_VIRTUAL_DISK_VERSION; + +typedef enum _CREATE_VIRTUAL_DISK_FLAG { + CREATE_VIRTUAL_DISK_FLAG_NONE = 0x00000000, + CREATE_VIRTUAL_DISK_FLAG_FULL_PHYSICAL_ALLOCATION = 0x00000001 +#if (_WIN32_WINNT >= 0x0602) + , + CREATE_VIRTUAL_DISK_FLAG_PREVENT_WRITES_TO_SOURCE_DISK = 0x2, + CREATE_VIRTUAL_DISK_FLAG_DO_NOT_COPY_METADATA_FROM_PARENT = 0x4 +#endif /* _WIN32_WINNT >= 0x0602 */ +} CREATE_VIRTUAL_DISK_FLAG; + +typedef enum _CREATE_VIRTUAL_DISK_VERSION { + CREATE_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + CREATE_VIRTUAL_DISK_VERSION_1 = 1 +#if (_WIN32_WINNT >= 0x0602) + , + CREATE_VIRTUAL_DISK_VERSION_2 = 2 +#endif /* _WIN32_WINNT >= 0x0602 */ +} CREATE_VIRTUAL_DISK_VERSION; + +typedef enum _DEPENDENT_DISK_FLAG { + DEPENDENT_DISK_FLAG_NONE = 0x00000000, + DEPENDENT_DISK_FLAG_MULT_BACKING_FILES = 0x00000001, + DEPENDENT_DISK_FLAG_FULLY_ALLOCATED = 0x00000002, + DEPENDENT_DISK_FLAG_READ_ONLY = 0x00000004, + DEPENDENT_DISK_FLAG_REMOTE = 0x00000008, + DEPENDENT_DISK_FLAG_SYSTEM_VOLUME = 0x00000010, + DEPENDENT_DISK_FLAG_SYSTEM_VOLUME_PARENT = 0x00000020, + DEPENDENT_DISK_FLAG_REMOVABLE = 0x00000040, + DEPENDENT_DISK_FLAG_NO_DRIVE_LETTER = 0x00000080, + DEPENDENT_DISK_FLAG_PARENT = 0x00000100, + DEPENDENT_DISK_FLAG_NO_HOST_DISK = 0x00000200, + DEPENDENT_DISK_FLAG_PERMANENT_LIFETIME = 0x00000400 +} DEPENDENT_DISK_FLAG; + +typedef enum _EXPAND_VIRTUAL_DISK_VERSION { + EXPAND_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + EXPAND_VIRTUAL_DISK_VERSION_1 = 1 +} EXPAND_VIRTUAL_DISK_VERSION; + +typedef enum _DETACH_VIRTUAL_DISK_FLAG { + DETACH_VIRTUAL_DISK_FLAG_NONE = 0x00000000 +} DETACH_VIRTUAL_DISK_FLAG; + +typedef enum _EXPAND_VIRTUAL_DISK_FLAG { + EXPAND_VIRTUAL_DISK_FLAG_NONE = 0x00000000 +} EXPAND_VIRTUAL_DISK_FLAG; + +typedef enum _GET_STORAGE_DEPENDENCY_FLAG { + GET_STORAGE_DEPENDENCY_FLAG_NONE = 0x00000000, + GET_STORAGE_DEPENDENCY_FLAG_HOST_VOLUMES = 0x00000001, + GET_STORAGE_DEPENDENCY_FLAG_DISK_HANDLE = 0x00000002 +} GET_STORAGE_DEPENDENCY_FLAG; + +typedef enum _GET_VIRTUAL_DISK_INFO_VERSION { + GET_VIRTUAL_DISK_INFO_UNSPECIFIED = 0, + GET_VIRTUAL_DISK_INFO_SIZE = 1, + GET_VIRTUAL_DISK_INFO_IDENTIFIER = 2, + GET_VIRTUAL_DISK_INFO_PARENT_LOCATION = 3, + GET_VIRTUAL_DISK_INFO_PARENT_IDENTIFIER = 4, + GET_VIRTUAL_DISK_INFO_PARENT_TIMESTAMP = 5, + GET_VIRTUAL_DISK_INFO_VIRTUAL_STORAGE_TYPE = 6, + GET_VIRTUAL_DISK_INFO_PROVIDER_SUBTYPE = 7 +#if (_WIN32_WINNT >= 0x0602) + , + GET_VIRTUAL_DISK_INFO_IS_4K_ALIGNED = 8, + GET_VIRTUAL_DISK_INFO_PHYSICAL_DISK = 9, + GET_VIRTUAL_DISK_INFO_VHD_PHYSICAL_SECTOR_SIZE = 10, + GET_VIRTUAL_DISK_INFO_SMALLEST_SAFE_VIRTUAL_SIZE = 11, + GET_VIRTUAL_DISK_INFO_FRAGMENTATION = 12 +#endif /* _WIN32_WINNT >= 0x0602 */ +#if (_WIN32_WINNT >= 0x0603) + , + GET_VIRTUAL_DISK_INFO_IS_LOADED = 13, + GET_VIRTUAL_DISK_INFO_VIRTUAL_DISK_ID = 14 +#endif /* _WIN32_WINNT >= 0x0603 */ +#if (_WIN32_WINNT >= 0x0A00) + , + GET_VIRTUAL_DISK_INFO_CHANGE_TRACKING_STATE = 15 +#endif /* _WIN32_WINNT >= 0x0A00 */ +} GET_VIRTUAL_DISK_INFO_VERSION; + +typedef enum _MIRROR_VIRTUAL_DISK_FLAG { + MIRROR_VIRTUAL_DISK_FLAG_NONE = 0x00000000, + MIRROR_VIRTUAL_DISK_FLAG_EXISTING_FILE = 0x00000001 +} MIRROR_VIRTUAL_DISK_FLAG; + +typedef enum _MIRROR_VIRTUAL_DISK_VERSION { + MIRROR_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + MIRROR_VIRTUAL_DISK_VERSION_1 = 1 +} MIRROR_VIRTUAL_DISK_VERSION; + +typedef enum _MERGE_VIRTUAL_DISK_FLAG { + MERGE_VIRTUAL_DISK_FLAG_NONE = 0x00000000 +} MERGE_VIRTUAL_DISK_FLAG; + +typedef enum _MERGE_VIRTUAL_DISK_VERSION { + MERGE_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + MERGE_VIRTUAL_DISK_VERSION_1 = 1 +#if (_WIN32_WINNT >= 0x0602) + , + MERGE_VIRTUAL_DISK_VERSION_2 = 2 +#endif /* _WIN32_WINNT >= 0x0A00 */ +} MERGE_VIRTUAL_DISK_VERSION; + +typedef enum _OPEN_VIRTUAL_DISK_FLAG { + OPEN_VIRTUAL_DISK_FLAG_NONE = 0x00000000, + OPEN_VIRTUAL_DISK_FLAG_NO_PARENTS = 0x00000001, + OPEN_VIRTUAL_DISK_FLAG_BLANK_FILE = 0x00000002, + OPEN_VIRTUAL_DISK_FLAG_BOOT_DRIVE = 0x00000004 +#if (_WIN32_WINNT >= 0x0602) + , + OPEN_VIRTUAL_DISK_FLAG_CACHED_IO = 0x00000008, + OPEN_VIRTUAL_DISK_FLAG_CUSTOM_DIFF_CHAIN = 0x00000010 +#endif /* _WIN32_WINNT >= 0x0602 */ +} OPEN_VIRTUAL_DISK_FLAG; + +typedef enum _OPEN_VIRTUAL_DISK_VERSION { + OPEN_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + OPEN_VIRTUAL_DISK_VERSION_1 = 1 +#if (_WIN32_WINNT >= 0x0602) + , + OPEN_VIRTUAL_DISK_VERSION_2 = 2 +#endif /* _WIN32_WINNT >= 0x0602 */ +} OPEN_VIRTUAL_DISK_VERSION; + +typedef enum _SET_VIRTUAL_DISK_INFO_VERSION { + SET_VIRTUAL_DISK_INFO_UNSPECIFIED = 0, + SET_VIRTUAL_DISK_INFO_PARENT_PATH = 1, + SET_VIRTUAL_DISK_INFO_IDENTIFIER = 2 +#if (_WIN32_WINNT >= 0x0602) + , + SET_VIRTUAL_DISK_INFO_PARENT_PATH_WITH_DEPTH = 3, + SET_VIRTUAL_DISK_INFO_PHYSICAL_SECTOR_SIZE = 4 +#endif /* (_WIN32_WINNT >= 0x0602) */ +#if (_WIN32_WINNT >= 0x0603) + , + SET_VIRTUAL_DISK_INFO_VIRTUAL_DISK_ID = 5 +#endif /* (_WIN32_WINNT >= 0x0603) */ +#if (_WIN32_WINNT >= 0x0A00) + , + SET_VIRTUAL_DISK_INFO_CHANGE_TRACKING_STATE = 6, + SET_VIRTUAL_DISK_INFO_PARENT_LOCATOR = 7 +#endif /* (_WIN32_WINNT >= 0x0A00) */ +} SET_VIRTUAL_DISK_INFO_VERSION; + +typedef enum _STORAGE_DEPENDENCY_INFO_VERSION { + STORAGE_DEPENDENCY_INFO_VERSION_UNSPECIFIED = 0, + STORAGE_DEPENDENCY_INFO_VERSION_1 = 1, + STORAGE_DEPENDENCY_INFO_VERSION_2 = 2 +} STORAGE_DEPENDENCY_INFO_VERSION; + +typedef enum _VIRTUAL_DISK_ACCESS_MASK { + VIRTUAL_DISK_ACCESS_NONE = 0x00000000, + VIRTUAL_DISK_ACCESS_ATTACH_RO = 0x00010000, + VIRTUAL_DISK_ACCESS_ATTACH_RW = 0x00020000, + VIRTUAL_DISK_ACCESS_DETACH = 0x00040000, + VIRTUAL_DISK_ACCESS_GET_INFO = 0x00080000, + VIRTUAL_DISK_ACCESS_CREATE = 0x00100000, + VIRTUAL_DISK_ACCESS_METAOPS = 0x00200000, + VIRTUAL_DISK_ACCESS_READ = 0x000d0000, + VIRTUAL_DISK_ACCESS_ALL = 0x003f0000, + VIRTUAL_DISK_ACCESS_WRITABLE = 0x00320000 +} VIRTUAL_DISK_ACCESS_MASK; + +#if (_WIN32_WINNT >= 0x0602) + +typedef enum _RESIZE_VIRTUAL_DISK_FLAG { + RESIZE_VIRTUAL_DISK_FLAG_NONE = 0x0, + RESIZE_VIRTUAL_DISK_FLAG_ALLOW_UNSAFE_VIRTUAL_SIZE = 0x1, + RESIZE_VIRTUAL_DISK_FLAG_RESIZE_TO_SMALLEST_SAFE_VIRTUAL_SIZE = 0x2 +} RESIZE_VIRTUAL_DISK_FLAG; + +typedef enum _RESIZE_VIRTUAL_DISK_VERSION { + RESIZE_VIRTUAL_DISK_VERSION_UNSPECIFIED = 0, + RESIZE_VIRTUAL_DISK_VERSION_1 = 1 +} RESIZE_VIRTUAL_DISK_VERSION; + +#endif /* (_WIN32_WINNT >= 0x0602) */ +#if (_WIN32_WINNT >= 0x0A00) + +typedef enum _APPLY_SNAPSHOT_VHDSET_FLAG { + APPLY_SNAPSHOT_VHDSET_FLAG_NONE = 0x00000000, + APPLY_SNAPSHOT_VHDSET_FLAG_WRITEABLE = 0x00000001 +} APPLY_SNAPSHOT_VHDSET_FLAG, *PAPPLY_SNAPSHOT_VHDSET_FLAG; + +typedef enum _APPLY_SNAPSHOT_VHDSET_VERSION { + APPLY_SNAPSHOT_VHDSET_VERSION_UNSPECIFIED = 0, + APPLY_SNAPSHOT_VHDSET_VERSION_1 = 1 +} APPLY_SNAPSHOT_VHDSET_VERSION; + +typedef enum _DELETE_SNAPSHOT_VHDSET_FLAG { + DELETE_SNAPSHOT_VHDSET_FLAG_NONE = 0x00000000, + DELETE_SNAPSHOT_VHDSET_FLAG_PERSIST_RCT = 0x00000001 +} DELETE_SNAPSHOT_VHDSET_FLAG, *PDELETE_SNAPSHOT_VHDSET_FLAG; + +typedef enum _DELETE_SNAPSHOT_VHDSET_VERSION { + DELETE_SNAPSHOT_VHDSET_VERSION_UNSPECIFIED = 0x00000000, + DELETE_SNAPSHOT_VHDSET_VERSION_1 = 0x00000001 +} DELETE_SNAPSHOT_VHDSET_VERSION, *PDELETE_SNAPSHOT_VHDSET_VERSION; + +typedef enum _MODIFY_VHDSET_FLAG { + MODIFY_VHDSET_FLAG_NONE = 0x00000000 +} MODIFY_VHDSET_FLAG, *PMODIFY_VHDSET_FLAG; + +typedef enum _MODIFY_VHDSET_VERSION { + MODIFY_VHDSET_UNSPECIFIED = 0, + MODIFY_VHDSET_SNAPSHOT_PATH = 1, + MODIFY_VHDSET_REMOVE_SNAPSHOT = 2, + MODIFY_VHDSET_DEFAULT_SNAPSHOT_PATH = 3 +} MODIFY_VHDSET_VERSION, *PMODIFY_VHDSET_VERSION; + +typedef enum _QUERY_CHANGES_VIRTUAL_DISK_FLAG { + QUERY_CHANGES_VIRTUAL_DISK_FLAG_NONE = 0x00000000 +} QUERY_CHANGES_VIRTUAL_DISK_FLAG; + +typedef enum _TAKE_SNAPSHOT_VHDSET_FLAG { + TAKE_SNAPSHOT_VHDSET_FLAG_NONE = 0x00000000 +} TAKE_SNAPSHOT_VHDSET_FLAG, *PTAKE_SNAPSHOT_VHDSET_FLAG; + +typedef enum _TAKE_SNAPSHOT_VHDSET_VERSION { + TAKE_SNAPSHOT_VHDSET_VERSION_UNSPECIFIED = 0, + TAKE_SNAPSHOT_VHDSET_VERSION_1 = 1 +} TAKE_SNAPSHOT_VHDSET_VERSION; + +#endif /* _WIN32_WINNT >= 0x0A00 */ + +typedef struct _VIRTUAL_STORAGE_TYPE { + ULONG DeviceId; + GUID VendorId; +} VIRTUAL_STORAGE_TYPE, *PVIRTUAL_STORAGE_TYPE; + +typedef struct _ATTACH_VIRTUAL_DISK_PARAMETERS { + ATTACH_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONG Reserved; + } Version1; + } DUMMYUNIONNAME; +} ATTACH_VIRTUAL_DISK_PARAMETERS, *PATTACH_VIRTUAL_DISK_PARAMETERS; + +typedef struct _COMPACT_VIRTUAL_DISK_PARAMETERS { + COMPACT_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONG Reserved; + } Version1; + } DUMMYUNIONNAME; +} COMPACT_VIRTUAL_DISK_PARAMETERS, *PCOMPACT_VIRTUAL_DISK_PARAMETERS; + +typedef struct _CREATE_VIRTUAL_DISK_PARAMETERS { + CREATE_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + GUID UniqueId; + ULONGLONG MaximumSize; + ULONG BlockSizeInBytes; + ULONG SectorSizeInBytes; + PCWSTR ParentPath; + PCWSTR SourcePath; + } Version1; +#if (_WIN32_WINNT >= 0x0602) + struct { + GUID UniqueId; + ULONGLONG MaximumSize; + ULONG BlockSizeInBytes; + ULONG SectorSizeInBytes; + ULONG PhysicalSectorSizeInBytes; + PCWSTR ParentPath; + PCWSTR SourcePath; + OPEN_VIRTUAL_DISK_FLAG OpenFlags; + VIRTUAL_STORAGE_TYPE ParentVirtualStorageType; + VIRTUAL_STORAGE_TYPE SourceVirtualStorageType; + GUID ResiliencyGuid; + } Version2; +#endif /* _WIN32_WINNT >= 0x0602 */ + } DUMMYUNIONNAME; +} CREATE_VIRTUAL_DISK_PARAMETERS, *PCREATE_VIRTUAL_DISK_PARAMETERS; + +typedef struct _EXPAND_VIRTUAL_DISK_PARAMETERS { + EXPAND_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONGLONG NewSize; + } Version1; + } DUMMYUNIONNAME; +} EXPAND_VIRTUAL_DISK_PARAMETERS, *PEXPAND_VIRTUAL_DISK_PARAMETERS; + +typedef struct _GET_VIRTUAL_DISK_INFO { + GET_VIRTUAL_DISK_INFO_VERSION Version; + __C89_NAMELESS union { + struct { + ULONGLONG VirtualSize; + ULONGLONG PhysicalSize; + ULONG BlockSize; + ULONG SectorSize; + } Size; + GUID Identifier; + struct { + WINBOOL ParentResolved; + WCHAR ParentLocationBuffer[1]; + } ParentLocation; + GUID ParentIdentifier; + ULONG ParentTimestamp; + VIRTUAL_STORAGE_TYPE VirtualStorageType; + ULONG ProviderSubtype; +#if (_WIN32_WINNT >= 0x0602) + WINBOOL Is4kAligned; + WINBOOL IsLoaded; + struct { + ULONG LogicalSectorSize; + ULONG PhysicalSectorSize; + WINBOOL IsRemote; + } PhysicalDisk; + ULONG VhdPhysicalSectorSize; + ULONGLONG SmallestSafeVirtualSize; + ULONG FragmentationPercentage; +#endif /* _WIN32_WINNT >= 0x0602 */ +#if (_WIN32_WINNT >= 0x0603) + GUID VirtualDiskId; + struct { + WINBOOL Enabled; + WINBOOL NewerChanges; + WCHAR MostRecentId[1]; + } ChangeTrackingState; +#endif /* _WIN32_WINNT >= 0x0603 */ + } DUMMYUNIONNAME; +} GET_VIRTUAL_DISK_INFO, *PGET_VIRTUAL_DISK_INFO; + +typedef struct _MERGE_VIRTUAL_DISK_PARAMETERS { + MERGE_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONG MergeDepth; + } Version1; +#if (_WIN32_WINNT >= 0x0602) + struct { + ULONG MergeSourceDepth; + ULONG MergeTargetDepth; + } Version2; +#endif /* _WIN32_WINNT >= 0x0602 */ + } DUMMYUNIONNAME; +} MERGE_VIRTUAL_DISK_PARAMETERS, *PMERGE_VIRTUAL_DISK_PARAMETERS; + +typedef struct _OPEN_VIRTUAL_DISK_PARAMETERS { + OPEN_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONG RWDepth; + } Version1; +#if (_WIN32_WINNT >= 0x0602) + struct { + WINBOOL GetInfoOnly; + WINBOOL ReadOnly; + GUID ResiliencyGuid; + } Version2; +#endif /* _WIN32_WINNT >= 0x0602 */ + } DUMMYUNIONNAME; +} OPEN_VIRTUAL_DISK_PARAMETERS, *POPEN_VIRTUAL_DISK_PARAMETERS; + +typedef struct _SET_VIRTUAL_DISK_INFO { + SET_VIRTUAL_DISK_INFO_VERSION Version; + __C89_NAMELESS union { + PCWSTR ParentFilePath; + GUID UniqueIdentifier; +#if (_WIN32_WINNT >= 0x0602) + struct { + ULONG ChildDepth; + PCWSTR ParentFilePath; + } ParentPathWithDepthInfo; + ULONG VhdPhysicalSectorSize; + GUID VirtualDiskId; +#endif /* _WIN32_WINNT >= 0x0602 */ +#if (_WIN32_WINNT >= 0x0603) + WINBOOL ChangeTrackingEnabled; + struct { + GUID LinkageId; + PCWSTR ParentFilePath; + } ParentLocator; +#endif /* _WIN32_WINNT >= 0x0603 */ + } DUMMYUNIONNAME; +} SET_VIRTUAL_DISK_INFO, *PSET_VIRTUAL_DISK_INFO; + +typedef struct _STORAGE_DEPENDENCY_INFO_TYPE_1 { + DEPENDENT_DISK_FLAG DependencyTypeFlags; + ULONG ProviderSpecificFlags; + VIRTUAL_STORAGE_TYPE VirtualStorageType; +} STORAGE_DEPENDENCY_INFO_TYPE_1, *PSTORAGE_DEPENDENCY_INFO_TYPE_1; + +typedef struct _STORAGE_DEPENDENCY_INFO_TYPE_2 { + DEPENDENT_DISK_FLAG DependencyTypeFlags; + ULONG ProviderSpecificFlags; + VIRTUAL_STORAGE_TYPE VirtualStorageType; + ULONG AncestorLevel; + PWSTR DependencyDeviceName; + PWSTR HostVolumeName; + PWSTR DependentVolumeName; + PWSTR DependentVolumeRelativePath; +} STORAGE_DEPENDENCY_INFO_TYPE_2, *PSTORAGE_DEPENDENCY_INFO_TYPE_2; + +/* Fixme: Suppress GCC errors about "error: flexible array member in union" */ + +typedef struct _STORAGE_DEPENDENCY_INFO { + STORAGE_DEPENDENCY_INFO_VERSION Version; + ULONG NumberEntries; + __C89_NAMELESS union { + STORAGE_DEPENDENCY_INFO_TYPE_1 Version1Entries[1]; + STORAGE_DEPENDENCY_INFO_TYPE_2 Version2Entries[1]; + } DUMMYUNIONNAME; +} STORAGE_DEPENDENCY_INFO, *PSTORAGE_DEPENDENCY_INFO; + +typedef struct _VIRTUAL_DISK_PROGRESS { + DWORD OperationStatus; + ULONGLONG CurrentValue; + ULONGLONG CompletionValue; +} VIRTUAL_DISK_PROGRESS, *PVIRTUAL_DISK_PROGRESS; + +#if (_WIN32_WINNT >= 0x0602) + +typedef struct _MIRROR_VIRTUAL_DISK_PARAMETERS { + MIRROR_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + PCWSTR MirrorVirtualDiskPath; + } Version1; + } DUMMYUNIONNAME; +} MIRROR_VIRTUAL_DISK_PARAMETERS, *PMIRROR_VIRTUAL_DISK_PARAMETERS; + +typedef struct _RESIZE_VIRTUAL_DISK_PARAMETERS { + RESIZE_VIRTUAL_DISK_VERSION Version; + __C89_NAMELESS union { + struct { + ULONGLONG NewSize; + } Version1; + } DUMMYUNIONNAME; +} RESIZE_VIRTUAL_DISK_PARAMETERS, *PRESIZE_VIRTUAL_DISK_PARAMETERS; + +#endif /* _WIN32_WINNT >= 0x0602 */ + +#if (_WIN32_WINNT >= 0x0A00) + +typedef struct _APPLY_SNAPSHOT_VHDSET_PARAMETERS { + APPLY_SNAPSHOT_VHDSET_VERSION Version; + __C89_NAMELESS union { + struct { + GUID SnapshotId; + GUID LeafSnapshotId; + } Version1; + } DUMMYUNIONNAME; +} APPLY_SNAPSHOT_VHDSET_PARAMETERS, *PAPPLY_SNAPSHOT_VHDSET_PARAMETERS; + +typedef struct _DELETE_SNAPSHOT_VHDSET_PARAMETERS { + DELETE_SNAPSHOT_VHDSET_VERSION Version; + __C89_NAMELESS union { + struct { + GUID SnapshotId; + } Version1; + } DUMMYUNIONNAME; +} DELETE_SNAPSHOT_VHDSET_PARAMETERS, *PDELETE_SNAPSHOT_VHDSET_PARAMETERS; + +typedef struct _MODIFY_VHDSET_PARAMETERS { + MODIFY_VHDSET_VERSION Version; + __C89_NAMELESS union { + struct { + GUID SnapshotId; + PCWSTR SnapshotFilePath; + } SnapshotPath; + GUID SnapshotId; + PCWSTR DefaultFilePath; + } DUMMYUNIONNAME; +} MODIFY_VHDSET_PARAMETERS, *PMODIFY_VHDSET_PARAMETERS; + +typedef struct _QUERY_CHANGES_VIRTUAL_DISK_RANGE { + ULONG64 ByteOffset; + ULONG64 ByteLength; + ULONG64 Reserved; +} QUERY_CHANGES_VIRTUAL_DISK_RANGE, *PQUERY_CHANGES_VIRTUAL_DISK_RANGE; + +typedef struct _TAKE_SNAPSHOT_VHDSET_PARAMETERS { + TAKE_SNAPSHOT_VHDSET_VERSION Version; + __C89_NAMELESS union { + struct { + GUID SnapshotId; + } Version1; + } DUMMYUNIONNAME; +} TAKE_SNAPSHOT_VHDSET_PARAMETERS, *PTAKE_SNAPSHOT_VHDSET_PARAMETERS; + +#endif /* _WIN32_WINNT >= 0x0A00 */ + +DEFINE_GUID(VIRTUAL_STORAGE_TYPE_VENDOR_UNKNOWN,0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00); +DEFINE_GUID(VIRTUAL_STORAGE_TYPE_VENDOR_MICROSOFT,0xEC984AEC,0xA0F9,0x47e9,0x90,0x1F,0x71,0x41,0x5A,0x66,0x34,0x5B); + +VIRTDISKAPI DWORD WINAPI AttachVirtualDisk(HANDLE VirtualDiskHandle, PSECURITY_DESCRIPTOR SecurityDescriptor, ATTACH_VIRTUAL_DISK_FLAG Flags, ULONG ProviderSpecificFlags, PATTACH_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI CompactVirtualDisk(HANDLE VirtualDiskHandle, COMPACT_VIRTUAL_DISK_FLAG Flags, PCOMPACT_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI CreateVirtualDisk(PVIRTUAL_STORAGE_TYPE VirtualStorageType, PCWSTR Path, VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask, PSECURITY_DESCRIPTOR SecurityDescriptor, CREATE_VIRTUAL_DISK_FLAG Flags, ULONG ProviderSpecificFlags, PCREATE_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped, PHANDLE Handle); +VIRTDISKAPI DWORD WINAPI DetachVirtualDisk(HANDLE VirtualDiskHandle, DETACH_VIRTUAL_DISK_FLAG Flags, ULONG ProviderSpecificFlags); +VIRTDISKAPI DWORD WINAPI ExpandVirtualDisk(HANDLE VirtualDiskHandle, EXPAND_VIRTUAL_DISK_FLAG Flags, PEXPAND_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI GetStorageDependencyInformation(HANDLE ObjectHandle, GET_STORAGE_DEPENDENCY_FLAG Flags, ULONG StorageDependencyInfoSize, PSTORAGE_DEPENDENCY_INFO StorageDependencyInfo, PULONG SizeUsed); +VIRTDISKAPI DWORD WINAPI GetVirtualDiskInformation(HANDLE VirtualDiskHandle, PULONG VirtualDiskInfoSize, PGET_VIRTUAL_DISK_INFO VirtualDiskInfo, PULONG SizeUsed); +VIRTDISKAPI DWORD WINAPI GetVirtualDiskOperationProgress(HANDLE VirtualDiskHandle, LPOVERLAPPED Overlapped, PVIRTUAL_DISK_PROGRESS Progress); +VIRTDISKAPI DWORD WINAPI GetVirtualDiskPhysicalPath(HANDLE VirtualDiskHandle, PULONG DiskPathSizeInBytes, PWSTR DiskPath); +VIRTDISKAPI DWORD WINAPI MergeVirtualDisk(HANDLE VirtualDiskHandle, MERGE_VIRTUAL_DISK_FLAG Flags, PMERGE_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI OpenVirtualDisk(PVIRTUAL_STORAGE_TYPE VirtualStorageType, PCWSTR Path, VIRTUAL_DISK_ACCESS_MASK VirtualDiskAccessMask, OPEN_VIRTUAL_DISK_FLAG Flags, POPEN_VIRTUAL_DISK_PARAMETERS Parameters, PHANDLE Handle); +VIRTDISKAPI DWORD WINAPI SetVirtualDiskInformation(HANDLE VirtualDiskHandle, PSET_VIRTUAL_DISK_INFO VirtualDiskInfo); + +#if (_WIN32_WINNT >= 0x0602) + +VIRTDISKAPI DWORD WINAPI AddVirtualDiskParent(HANDLE VirtualDiskHandle, PCWSTR ParentPath); +VIRTDISKAPI DWORD WINAPI BreakMirrorVirtualDisk(HANDLE VirtualDiskHandle); +VIRTDISKAPI DWORD WINAPI DeleteVirtualDiskMetadata(HANDLE VirtualDiskHandle, LPGUID Item); +VIRTDISKAPI DWORD WINAPI EnumerateVirtualDiskMetadata(HANDLE VirtualDiskHandle, PULONG NumberOfItems, GUID *Items); +VIRTDISKAPI DWORD WINAPI GetVirtualDiskMetadata(HANDLE VirtualDiskHandle, LPGUID Item, PULONG MetaDataSize, PVOID MetaData); +VIRTDISKAPI DWORD WINAPI MirrorVirtualDisk(HANDLE VirtualDiskHandle, MIRROR_VIRTUAL_DISK_FLAG Flags, PMIRROR_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI ResizeVirtualDisk(HANDLE VirtualDiskHandle, RESIZE_VIRTUAL_DISK_FLAG Flags, PRESIZE_VIRTUAL_DISK_PARAMETERS Parameters, LPOVERLAPPED Overlapped); +VIRTDISKAPI DWORD WINAPI SetVirtualDiskMetadata(HANDLE VirtualDiskHandle, LPGUID Item, ULONG MetaDataSize, PVOID MetaData); + +#endif /* _WIN32_WINNT >= 0x0602 */ + +#if (_WIN32_WINNT >= 0x0A00) + +VIRTDISKAPI DWORD WINAPI ApplySnapshotVhdSet(HANDLE VirtualDiskHandle, const PAPPLY_SNAPSHOT_VHDSET_PARAMETERS Parameters, APPLY_SNAPSHOT_VHDSET_FLAG Flags); +VIRTDISKAPI DWORD WINAPI DeleteSnapshotVhdSet(HANDLE VirtualDiskHandle, const PDELETE_SNAPSHOT_VHDSET_PARAMETERS Parameters, DELETE_SNAPSHOT_VHDSET_FLAG Flags); +VIRTDISKAPI DWORD WINAPI ModifyVhdSet(HANDLE VirtualDiskHandle, const PMODIFY_VHDSET_PARAMETERS Parameters, MODIFY_VHDSET_FLAG Flags); +VIRTDISKAPI DWORD WINAPI QueryChangesVirtualDisk(HANDLE VirtualDiskHandle, PCWSTR ChangeTrackingId, ULONG64 ByteOffset, ULONG64 ByteLength, QUERY_CHANGES_VIRTUAL_DISK_FLAG Flags, PQUERY_CHANGES_VIRTUAL_DISK_RANGE Ranges, PULONG RangeCount, PULONG64 ProcessedLength); +VIRTDISKAPI WINAPI DWORD TakeSnapshotVhdSet(HANDLE VirtualDiskHandle, const PTAKE_SNAPSHOT_VHDSET_PARAMETERS Parameters, TAKE_SNAPSHOT_VHDSET_FLAG Flags); + +#endif /* _WIN32_WINNT >= 0x0A00 */ +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0601)*/ +#endif /*_INC_VIRTDISK*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vmr9.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vmr9.h new file mode 100644 index 00000000..c9688139 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vmr9.h @@ -0,0 +1,2441 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vmr9.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 __vmr9_h__ +#define __vmr9_h__ + +/* Forward declarations */ + +#ifndef __IVMRImagePresenter9_FWD_DEFINED__ +#define __IVMRImagePresenter9_FWD_DEFINED__ +typedef interface IVMRImagePresenter9 IVMRImagePresenter9; +#ifdef __cplusplus +interface IVMRImagePresenter9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ +#define __IVMRSurfaceAllocator9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; +#ifdef __cplusplus +interface IVMRSurfaceAllocator9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ +#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; +#ifdef __cplusplus +interface IVMRSurfaceAllocatorEx9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; +#ifdef __cplusplus +interface IVMRSurfaceAllocatorNotify9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRWindowlessControl9_FWD_DEFINED__ +#define __IVMRWindowlessControl9_FWD_DEFINED__ +typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; +#ifdef __cplusplus +interface IVMRWindowlessControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMixerControl9_FWD_DEFINED__ +#define __IVMRMixerControl9_FWD_DEFINED__ +typedef interface IVMRMixerControl9 IVMRMixerControl9; +#ifdef __cplusplus +interface IVMRMixerControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMixerBitmap9_FWD_DEFINED__ +#define __IVMRMixerBitmap9_FWD_DEFINED__ +typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; +#ifdef __cplusplus +interface IVMRMixerBitmap9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurface9_FWD_DEFINED__ +#define __IVMRSurface9_FWD_DEFINED__ +typedef interface IVMRSurface9 IVMRSurface9; +#ifdef __cplusplus +interface IVMRSurface9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ +#define __IVMRImagePresenterConfig9_FWD_DEFINED__ +typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; +#ifdef __cplusplus +interface IVMRImagePresenterConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ +#define __IVMRVideoStreamControl9_FWD_DEFINED__ +typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; +#ifdef __cplusplus +interface IVMRVideoStreamControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRFilterConfig9_FWD_DEFINED__ +#define __IVMRFilterConfig9_FWD_DEFINED__ +typedef interface IVMRFilterConfig9 IVMRFilterConfig9; +#ifdef __cplusplus +interface IVMRFilterConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ +#define __IVMRAspectRatioControl9_FWD_DEFINED__ +typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; +#ifdef __cplusplus +interface IVMRAspectRatioControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMonitorConfig9_FWD_DEFINED__ +#define __IVMRMonitorConfig9_FWD_DEFINED__ +typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; +#ifdef __cplusplus +interface IVMRMonitorConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRDeinterlaceControl9_FWD_DEFINED__ +#define __IVMRDeinterlaceControl9_FWD_DEFINED__ +typedef interface IVMRDeinterlaceControl9 IVMRDeinterlaceControl9; +#ifdef __cplusplus +interface IVMRDeinterlaceControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRImageCompositor9_FWD_DEFINED__ +#define __IVMRImageCompositor9_FWD_DEFINED__ +typedef interface IVMRImageCompositor9 IVMRImageCompositor9; +#ifdef __cplusplus +interface IVMRImageCompositor9; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if 0 +#ifndef __IDirect3DSurface9_FWD_DEFINED__ +#define __IDirect3DSurface9_FWD_DEFINED__ +typedef interface IDirect3DSurface9 IDirect3DSurface9; +#ifdef __cplusplus +interface IDirect3DSurface9; +#endif /* __cplusplus */ +#endif + +#ifndef __IDirect3DDevice9_FWD_DEFINED__ +#define __IDirect3DDevice9_FWD_DEFINED__ +typedef interface IDirect3DDevice9 IDirect3DDevice9; +#ifdef __cplusplus +interface IDirect3DDevice9; +#endif /* __cplusplus */ +#endif + +typedef LONGLONG REFERENCE_TIME; +typedef DWORD D3DFORMAT; +typedef DWORD D3DPOOL; +typedef HANDLE HMONITOR; +typedef struct __WIDL_vmr9_generated_name_0000000C { + char dummy; +} AM_MEDIA_TYPE; +typedef struct __WIDL_vmr9_generated_name_0000000D { + char dummy; +} D3DCOLOR; +#endif +#ifndef __IVMRSurface9_FWD_DEFINED__ +#define __IVMRSurface9_FWD_DEFINED__ +typedef interface IVMRSurface9 IVMRSurface9; +#ifdef __cplusplus +interface IVMRSurface9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocator9_FWD_DEFINED__ +#define __IVMRSurfaceAllocator9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocator9 IVMRSurfaceAllocator9; +#ifdef __cplusplus +interface IVMRSurfaceAllocator9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ +#define __IVMRSurfaceAllocatorEx9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocatorEx9 IVMRSurfaceAllocatorEx9; +#ifdef __cplusplus +interface IVMRSurfaceAllocatorEx9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +#define __IVMRSurfaceAllocatorNotify9_FWD_DEFINED__ +typedef interface IVMRSurfaceAllocatorNotify9 IVMRSurfaceAllocatorNotify9; +#ifdef __cplusplus +interface IVMRSurfaceAllocatorNotify9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRImagePresenter9_FWD_DEFINED__ +#define __IVMRImagePresenter9_FWD_DEFINED__ +typedef interface IVMRImagePresenter9 IVMRImagePresenter9; +#ifdef __cplusplus +interface IVMRImagePresenter9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRImagePresenterConfig9_FWD_DEFINED__ +#define __IVMRImagePresenterConfig9_FWD_DEFINED__ +typedef interface IVMRImagePresenterConfig9 IVMRImagePresenterConfig9; +#ifdef __cplusplus +interface IVMRImagePresenterConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMonitorConfig9_FWD_DEFINED__ +#define __IVMRMonitorConfig9_FWD_DEFINED__ +typedef interface IVMRMonitorConfig9 IVMRMonitorConfig9; +#ifdef __cplusplus +interface IVMRMonitorConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRWindowlessControl9_FWD_DEFINED__ +#define __IVMRWindowlessControl9_FWD_DEFINED__ +typedef interface IVMRWindowlessControl9 IVMRWindowlessControl9; +#ifdef __cplusplus +interface IVMRWindowlessControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMixerControl9_FWD_DEFINED__ +#define __IVMRMixerControl9_FWD_DEFINED__ +typedef interface IVMRMixerControl9 IVMRMixerControl9; +#ifdef __cplusplus +interface IVMRMixerControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRImageCompositor9_FWD_DEFINED__ +#define __IVMRImageCompositor9_FWD_DEFINED__ +typedef interface IVMRImageCompositor9 IVMRImageCompositor9; +#ifdef __cplusplus +interface IVMRImageCompositor9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRMixerBitmap9_FWD_DEFINED__ +#define __IVMRMixerBitmap9_FWD_DEFINED__ +typedef interface IVMRMixerBitmap9 IVMRMixerBitmap9; +#ifdef __cplusplus +interface IVMRMixerBitmap9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRFilterConfig9_FWD_DEFINED__ +#define __IVMRFilterConfig9_FWD_DEFINED__ +typedef interface IVMRFilterConfig9 IVMRFilterConfig9; +#ifdef __cplusplus +interface IVMRFilterConfig9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRAspectRatioControl9_FWD_DEFINED__ +#define __IVMRAspectRatioControl9_FWD_DEFINED__ +typedef interface IVMRAspectRatioControl9 IVMRAspectRatioControl9; +#ifdef __cplusplus +interface IVMRAspectRatioControl9; +#endif /* __cplusplus */ +#endif + +#ifndef __IVMRVideoStreamControl9_FWD_DEFINED__ +#define __IVMRVideoStreamControl9_FWD_DEFINED__ +typedef interface IVMRVideoStreamControl9 IVMRVideoStreamControl9; +#ifdef __cplusplus +interface IVMRVideoStreamControl9; +#endif /* __cplusplus */ +#endif + +typedef enum _VMR9PresentationFlags { + VMR9Sample_SyncPoint = 0x1, + VMR9Sample_Preroll = 0x2, + VMR9Sample_Discontinuity = 0x4, + VMR9Sample_TimeValid = 0x8, + VMR9Sample_SrcDstRectsValid = 0x10 +} VMR9PresentationFlags; +typedef struct _VMR9PresentationInfo { + DWORD dwFlags; + IDirect3DSurface9 *lpSurf; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + SIZE szAspectRatio; + RECT rcSrc; + RECT rcDst; + DWORD dwReserved1; + DWORD dwReserved2; +} VMR9PresentationInfo; +/***************************************************************************** + * IVMRImagePresenter9 interface + */ +#ifndef __IVMRImagePresenter9_INTERFACE_DEFINED__ +#define __IVMRImagePresenter9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("69188c61-12a3-40f0-8ffc-342e7b433fd7") +IVMRImagePresenter9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE StartPresenting( + DWORD_PTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopPresenting( + DWORD_PTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE PresentImage( + DWORD_PTR id, + VMR9PresentationInfo *info) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRImagePresenter9, 0x69188c61, 0x12a3, 0x40f0, 0x8f,0xfc, 0x34,0x2e,0x7b,0x43,0x3f,0xd7) +#endif +#else +typedef struct IVMRImagePresenter9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRImagePresenter9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRImagePresenter9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRImagePresenter9 *This); + + /*** IVMRImagePresenter9 methods ***/ + HRESULT (STDMETHODCALLTYPE *StartPresenting)( + IVMRImagePresenter9 *This, + DWORD_PTR id); + + HRESULT (STDMETHODCALLTYPE *StopPresenting)( + IVMRImagePresenter9 *This, + DWORD_PTR id); + + HRESULT (STDMETHODCALLTYPE *PresentImage)( + IVMRImagePresenter9 *This, + DWORD_PTR id, + VMR9PresentationInfo *info); + + END_INTERFACE +} IVMRImagePresenter9Vtbl; + +interface IVMRImagePresenter9 { + CONST_VTBL IVMRImagePresenter9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRImagePresenter9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRImagePresenter9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRImagePresenter9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRImagePresenter9 methods ***/ +#define IVMRImagePresenter9_StartPresenting(This,id) (This)->lpVtbl->StartPresenting(This,id) +#define IVMRImagePresenter9_StopPresenting(This,id) (This)->lpVtbl->StopPresenting(This,id) +#define IVMRImagePresenter9_PresentImage(This,id,info) (This)->lpVtbl->PresentImage(This,id,info) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRImagePresenter9_QueryInterface(IVMRImagePresenter9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRImagePresenter9_AddRef(IVMRImagePresenter9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRImagePresenter9_Release(IVMRImagePresenter9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRImagePresenter9 methods ***/ +static inline HRESULT IVMRImagePresenter9_StartPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { + return This->lpVtbl->StartPresenting(This,id); +} +static inline HRESULT IVMRImagePresenter9_StopPresenting(IVMRImagePresenter9* This,DWORD_PTR id) { + return This->lpVtbl->StopPresenting(This,id); +} +static inline HRESULT IVMRImagePresenter9_PresentImage(IVMRImagePresenter9* This,DWORD_PTR id,VMR9PresentationInfo *info) { + return This->lpVtbl->PresentImage(This,id,info); +} +#endif +#endif + +#endif + + +#endif /* __IVMRImagePresenter9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9SurfaceAllocationFlags { + VMR9AllocFlag_3DRenderTarget = 0x1, + VMR9AllocFlag_DXVATarget = 0x2, + VMR9AllocFlag_TextureSurface = 0x4, + VMR9AllocFlag_OffscreenSurface = 0x8, + VMR9AllocFlag_RGBDynamicSwitch = 0x10, + VMR9AllocFlag_UsageReserved = 0xe0, + VMR9AllocFlag_UsageMask = 0xff +} VMR9SurfaceAllocationFlags; +typedef struct _VMR9AllocationInfo { + DWORD dwFlags; + DWORD dwWidth; + DWORD dwHeight; + D3DFORMAT Format; + D3DPOOL Pool; + DWORD MinBuffers; + SIZE szAspectRatio; + SIZE szNativeSize; +} VMR9AllocationInfo; +/***************************************************************************** + * IVMRSurfaceAllocator9 interface + */ +#ifndef __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ +#define __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8d5148ea-3f5d-46cf-9df1-d1b896eedb1f") +IVMRSurfaceAllocator9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitializeDevice( + DWORD_PTR id, + VMR9AllocationInfo *allocinfo, + DWORD *numbuffers) = 0; + + virtual HRESULT STDMETHODCALLTYPE TerminateDevice( + DWORD_PTR id) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSurface( + DWORD_PTR id, + DWORD surfaceindex, + DWORD flags, + IDirect3DSurface9 **surface) = 0; + + virtual HRESULT STDMETHODCALLTYPE AdviseNotify( + IVMRSurfaceAllocatorNotify9 *allocnotify) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRSurfaceAllocator9, 0x8d5148ea, 0x3f5d, 0x46cf, 0x9d,0xf1, 0xd1,0xb8,0x96,0xee,0xdb,0x1f) +#endif +#else +typedef struct IVMRSurfaceAllocator9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRSurfaceAllocator9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRSurfaceAllocator9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRSurfaceAllocator9 *This); + + /*** IVMRSurfaceAllocator9 methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializeDevice)( + IVMRSurfaceAllocator9 *This, + DWORD_PTR id, + VMR9AllocationInfo *allocinfo, + DWORD *numbuffers); + + HRESULT (STDMETHODCALLTYPE *TerminateDevice)( + IVMRSurfaceAllocator9 *This, + DWORD_PTR id); + + HRESULT (STDMETHODCALLTYPE *GetSurface)( + IVMRSurfaceAllocator9 *This, + DWORD_PTR id, + DWORD surfaceindex, + DWORD flags, + IDirect3DSurface9 **surface); + + HRESULT (STDMETHODCALLTYPE *AdviseNotify)( + IVMRSurfaceAllocator9 *This, + IVMRSurfaceAllocatorNotify9 *allocnotify); + + END_INTERFACE +} IVMRSurfaceAllocator9Vtbl; + +interface IVMRSurfaceAllocator9 { + CONST_VTBL IVMRSurfaceAllocator9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRSurfaceAllocator9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRSurfaceAllocator9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRSurfaceAllocator9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRSurfaceAllocator9 methods ***/ +#define IVMRSurfaceAllocator9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) +#define IVMRSurfaceAllocator9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) +#define IVMRSurfaceAllocator9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) +#define IVMRSurfaceAllocator9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRSurfaceAllocator9_QueryInterface(IVMRSurfaceAllocator9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRSurfaceAllocator9_AddRef(IVMRSurfaceAllocator9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRSurfaceAllocator9_Release(IVMRSurfaceAllocator9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRSurfaceAllocator9 methods ***/ +static inline HRESULT IVMRSurfaceAllocator9_InitializeDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { + return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); +} +static inline HRESULT IVMRSurfaceAllocator9_TerminateDevice(IVMRSurfaceAllocator9* This,DWORD_PTR id) { + return This->lpVtbl->TerminateDevice(This,id); +} +static inline HRESULT IVMRSurfaceAllocator9_GetSurface(IVMRSurfaceAllocator9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface) { + return This->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface); +} +static inline HRESULT IVMRSurfaceAllocator9_AdviseNotify(IVMRSurfaceAllocator9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { + return This->lpVtbl->AdviseNotify(This,allocnotify); +} +#endif +#endif + +#endif + + +#endif /* __IVMRSurfaceAllocator9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVMRSurfaceAllocatorEx9 interface + */ +#ifndef __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ +#define __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6de9a68a-a928-4522-bf57-655ae3866456") +IVMRSurfaceAllocatorEx9 : public IVMRSurfaceAllocator9 +{ + virtual HRESULT STDMETHODCALLTYPE GetSurfaceEx( + DWORD_PTR id, + DWORD surfaceindex, + DWORD flags, + IDirect3DSurface9 **surface, + RECT *dest) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRSurfaceAllocatorEx9, 0x6de9a68a, 0xa928, 0x4522, 0xbf,0x57, 0x65,0x5a,0xe3,0x86,0x64,0x56) +#endif +#else +typedef struct IVMRSurfaceAllocatorEx9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRSurfaceAllocatorEx9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRSurfaceAllocatorEx9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRSurfaceAllocatorEx9 *This); + + /*** IVMRSurfaceAllocator9 methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializeDevice)( + IVMRSurfaceAllocatorEx9 *This, + DWORD_PTR id, + VMR9AllocationInfo *allocinfo, + DWORD *numbuffers); + + HRESULT (STDMETHODCALLTYPE *TerminateDevice)( + IVMRSurfaceAllocatorEx9 *This, + DWORD_PTR id); + + HRESULT (STDMETHODCALLTYPE *GetSurface)( + IVMRSurfaceAllocatorEx9 *This, + DWORD_PTR id, + DWORD surfaceindex, + DWORD flags, + IDirect3DSurface9 **surface); + + HRESULT (STDMETHODCALLTYPE *AdviseNotify)( + IVMRSurfaceAllocatorEx9 *This, + IVMRSurfaceAllocatorNotify9 *allocnotify); + + /*** IVMRSurfaceAllocatorEx9 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSurfaceEx)( + IVMRSurfaceAllocatorEx9 *This, + DWORD_PTR id, + DWORD surfaceindex, + DWORD flags, + IDirect3DSurface9 **surface, + RECT *dest); + + END_INTERFACE +} IVMRSurfaceAllocatorEx9Vtbl; + +interface IVMRSurfaceAllocatorEx9 { + CONST_VTBL IVMRSurfaceAllocatorEx9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRSurfaceAllocatorEx9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRSurfaceAllocatorEx9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRSurfaceAllocatorEx9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRSurfaceAllocator9 methods ***/ +#define IVMRSurfaceAllocatorEx9_InitializeDevice(This,id,allocinfo,numbuffers) (This)->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers) +#define IVMRSurfaceAllocatorEx9_TerminateDevice(This,id) (This)->lpVtbl->TerminateDevice(This,id) +#define IVMRSurfaceAllocatorEx9_GetSurface(This,id,surfaceindex,flags,surface) (This)->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface) +#define IVMRSurfaceAllocatorEx9_AdviseNotify(This,allocnotify) (This)->lpVtbl->AdviseNotify(This,allocnotify) +/*** IVMRSurfaceAllocatorEx9 methods ***/ +#define IVMRSurfaceAllocatorEx9_GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) (This)->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRSurfaceAllocatorEx9_QueryInterface(IVMRSurfaceAllocatorEx9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRSurfaceAllocatorEx9_AddRef(IVMRSurfaceAllocatorEx9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRSurfaceAllocatorEx9_Release(IVMRSurfaceAllocatorEx9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRSurfaceAllocator9 methods ***/ +static inline HRESULT IVMRSurfaceAllocatorEx9_InitializeDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,VMR9AllocationInfo *allocinfo,DWORD *numbuffers) { + return This->lpVtbl->InitializeDevice(This,id,allocinfo,numbuffers); +} +static inline HRESULT IVMRSurfaceAllocatorEx9_TerminateDevice(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id) { + return This->lpVtbl->TerminateDevice(This,id); +} +static inline HRESULT IVMRSurfaceAllocatorEx9_GetSurface(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface) { + return This->lpVtbl->GetSurface(This,id,surfaceindex,flags,surface); +} +static inline HRESULT IVMRSurfaceAllocatorEx9_AdviseNotify(IVMRSurfaceAllocatorEx9* This,IVMRSurfaceAllocatorNotify9 *allocnotify) { + return This->lpVtbl->AdviseNotify(This,allocnotify); +} +/*** IVMRSurfaceAllocatorEx9 methods ***/ +static inline HRESULT IVMRSurfaceAllocatorEx9_GetSurfaceEx(IVMRSurfaceAllocatorEx9* This,DWORD_PTR id,DWORD surfaceindex,DWORD flags,IDirect3DSurface9 **surface,RECT *dest) { + return This->lpVtbl->GetSurfaceEx(This,id,surfaceindex,flags,surface,dest); +} +#endif +#endif + +#endif + + +#endif /* __IVMRSurfaceAllocatorEx9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVMRSurfaceAllocatorNotify9 interface + */ +#ifndef __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ +#define __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dca3f5df-bb3a-4d03-bd81-84614bfbfa0c") +IVMRSurfaceAllocatorNotify9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AdviseSurfaceAllocator( + DWORD_PTR id, + IVMRSurfaceAllocator9 *alloc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetD3DDevice( + IDirect3DDevice9 *device, + HMONITOR monitor) = 0; + + virtual HRESULT STDMETHODCALLTYPE ChangeD3DDevice( + IDirect3DDevice9 *device, + HMONITOR monitor) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateSurfaceHelper( + VMR9AllocationInfo *allocinfo, + DWORD *numbuffers, + IDirect3DSurface9 **surface) = 0; + + virtual HRESULT STDMETHODCALLTYPE NotifyEvent( + LONG code, + LONG_PTR param1, + LONG_PTR param2) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRSurfaceAllocatorNotify9, 0xdca3f5df, 0xbb3a, 0x4d03, 0xbd,0x81, 0x84,0x61,0x4b,0xfb,0xfa,0x0c) +#endif +#else +typedef struct IVMRSurfaceAllocatorNotify9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRSurfaceAllocatorNotify9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRSurfaceAllocatorNotify9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRSurfaceAllocatorNotify9 *This); + + /*** IVMRSurfaceAllocatorNotify9 methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseSurfaceAllocator)( + IVMRSurfaceAllocatorNotify9 *This, + DWORD_PTR id, + IVMRSurfaceAllocator9 *alloc); + + HRESULT (STDMETHODCALLTYPE *SetD3DDevice)( + IVMRSurfaceAllocatorNotify9 *This, + IDirect3DDevice9 *device, + HMONITOR monitor); + + HRESULT (STDMETHODCALLTYPE *ChangeD3DDevice)( + IVMRSurfaceAllocatorNotify9 *This, + IDirect3DDevice9 *device, + HMONITOR monitor); + + HRESULT (STDMETHODCALLTYPE *AllocateSurfaceHelper)( + IVMRSurfaceAllocatorNotify9 *This, + VMR9AllocationInfo *allocinfo, + DWORD *numbuffers, + IDirect3DSurface9 **surface); + + HRESULT (STDMETHODCALLTYPE *NotifyEvent)( + IVMRSurfaceAllocatorNotify9 *This, + LONG code, + LONG_PTR param1, + LONG_PTR param2); + + END_INTERFACE +} IVMRSurfaceAllocatorNotify9Vtbl; + +interface IVMRSurfaceAllocatorNotify9 { + CONST_VTBL IVMRSurfaceAllocatorNotify9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRSurfaceAllocatorNotify9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRSurfaceAllocatorNotify9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRSurfaceAllocatorNotify9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRSurfaceAllocatorNotify9 methods ***/ +#define IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(This,id,alloc) (This)->lpVtbl->AdviseSurfaceAllocator(This,id,alloc) +#define IVMRSurfaceAllocatorNotify9_SetD3DDevice(This,device,monitor) (This)->lpVtbl->SetD3DDevice(This,device,monitor) +#define IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(This,device,monitor) (This)->lpVtbl->ChangeD3DDevice(This,device,monitor) +#define IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) (This)->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface) +#define IVMRSurfaceAllocatorNotify9_NotifyEvent(This,code,param1,param2) (This)->lpVtbl->NotifyEvent(This,code,param1,param2) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRSurfaceAllocatorNotify9_QueryInterface(IVMRSurfaceAllocatorNotify9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRSurfaceAllocatorNotify9_AddRef(IVMRSurfaceAllocatorNotify9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRSurfaceAllocatorNotify9_Release(IVMRSurfaceAllocatorNotify9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRSurfaceAllocatorNotify9 methods ***/ +static inline HRESULT IVMRSurfaceAllocatorNotify9_AdviseSurfaceAllocator(IVMRSurfaceAllocatorNotify9* This,DWORD_PTR id,IVMRSurfaceAllocator9 *alloc) { + return This->lpVtbl->AdviseSurfaceAllocator(This,id,alloc); +} +static inline HRESULT IVMRSurfaceAllocatorNotify9_SetD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { + return This->lpVtbl->SetD3DDevice(This,device,monitor); +} +static inline HRESULT IVMRSurfaceAllocatorNotify9_ChangeD3DDevice(IVMRSurfaceAllocatorNotify9* This,IDirect3DDevice9 *device,HMONITOR monitor) { + return This->lpVtbl->ChangeD3DDevice(This,device,monitor); +} +static inline HRESULT IVMRSurfaceAllocatorNotify9_AllocateSurfaceHelper(IVMRSurfaceAllocatorNotify9* This,VMR9AllocationInfo *allocinfo,DWORD *numbuffers,IDirect3DSurface9 **surface) { + return This->lpVtbl->AllocateSurfaceHelper(This,allocinfo,numbuffers,surface); +} +static inline HRESULT IVMRSurfaceAllocatorNotify9_NotifyEvent(IVMRSurfaceAllocatorNotify9* This,LONG code,LONG_PTR param1,LONG_PTR param2) { + return This->lpVtbl->NotifyEvent(This,code,param1,param2); +} +#endif +#endif + +#endif + + +#endif /* __IVMRSurfaceAllocatorNotify9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9AspectRatioMode { + VMR9ARMode_None = 0, + VMR9ARMode_LetterBox = 1 +} VMR9AspectRatioMode; +/***************************************************************************** + * IVMRWindowlessControl9 interface + */ +#ifndef __IVMRWindowlessControl9_INTERFACE_DEFINED__ +#define __IVMRWindowlessControl9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8f537d09-f85e-4414-b23b-502e54c79927") +IVMRWindowlessControl9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetNativeVideoSize( + LONG *width, + LONG *height, + LONG *arwidth, + LONG *arheight) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMinIdealVideoSize( + LONG *width, + LONG *height) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxIdealVideoSize( + LONG *width, + LONG *height) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVideoPosition( + const RECT *source, + const RECT *dest) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVideoPosition( + RECT *source, + RECT *dest) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( + DWORD *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( + DWORD mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVideoClippingWindow( + HWND hwnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE RepaintVideo( + HWND hwnd, + HDC hdc) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisplayModeChanged( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCurrentImage( + BYTE **dib) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBorderColor( + COLORREF color) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBorderColor( + COLORREF *color) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRWindowlessControl9, 0x8f537d09, 0xf85e, 0x4414, 0xb2,0x3b, 0x50,0x2e,0x54,0xc7,0x99,0x27) +#endif +#else +typedef struct IVMRWindowlessControl9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRWindowlessControl9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRWindowlessControl9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRWindowlessControl9 *This); + + /*** IVMRWindowlessControl9 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetNativeVideoSize)( + IVMRWindowlessControl9 *This, + LONG *width, + LONG *height, + LONG *arwidth, + LONG *arheight); + + HRESULT (STDMETHODCALLTYPE *GetMinIdealVideoSize)( + IVMRWindowlessControl9 *This, + LONG *width, + LONG *height); + + HRESULT (STDMETHODCALLTYPE *GetMaxIdealVideoSize)( + IVMRWindowlessControl9 *This, + LONG *width, + LONG *height); + + HRESULT (STDMETHODCALLTYPE *SetVideoPosition)( + IVMRWindowlessControl9 *This, + const RECT *source, + const RECT *dest); + + HRESULT (STDMETHODCALLTYPE *GetVideoPosition)( + IVMRWindowlessControl9 *This, + RECT *source, + RECT *dest); + + HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( + IVMRWindowlessControl9 *This, + DWORD *mode); + + HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( + IVMRWindowlessControl9 *This, + DWORD mode); + + HRESULT (STDMETHODCALLTYPE *SetVideoClippingWindow)( + IVMRWindowlessControl9 *This, + HWND hwnd); + + HRESULT (STDMETHODCALLTYPE *RepaintVideo)( + IVMRWindowlessControl9 *This, + HWND hwnd, + HDC hdc); + + HRESULT (STDMETHODCALLTYPE *DisplayModeChanged)( + IVMRWindowlessControl9 *This); + + HRESULT (STDMETHODCALLTYPE *GetCurrentImage)( + IVMRWindowlessControl9 *This, + BYTE **dib); + + HRESULT (STDMETHODCALLTYPE *SetBorderColor)( + IVMRWindowlessControl9 *This, + COLORREF color); + + HRESULT (STDMETHODCALLTYPE *GetBorderColor)( + IVMRWindowlessControl9 *This, + COLORREF *color); + + END_INTERFACE +} IVMRWindowlessControl9Vtbl; + +interface IVMRWindowlessControl9 { + CONST_VTBL IVMRWindowlessControl9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRWindowlessControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRWindowlessControl9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRWindowlessControl9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRWindowlessControl9 methods ***/ +#define IVMRWindowlessControl9_GetNativeVideoSize(This,width,height,arwidth,arheight) (This)->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight) +#define IVMRWindowlessControl9_GetMinIdealVideoSize(This,width,height) (This)->lpVtbl->GetMinIdealVideoSize(This,width,height) +#define IVMRWindowlessControl9_GetMaxIdealVideoSize(This,width,height) (This)->lpVtbl->GetMaxIdealVideoSize(This,width,height) +#define IVMRWindowlessControl9_SetVideoPosition(This,source,dest) (This)->lpVtbl->SetVideoPosition(This,source,dest) +#define IVMRWindowlessControl9_GetVideoPosition(This,source,dest) (This)->lpVtbl->GetVideoPosition(This,source,dest) +#define IVMRWindowlessControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) +#define IVMRWindowlessControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) +#define IVMRWindowlessControl9_SetVideoClippingWindow(This,hwnd) (This)->lpVtbl->SetVideoClippingWindow(This,hwnd) +#define IVMRWindowlessControl9_RepaintVideo(This,hwnd,hdc) (This)->lpVtbl->RepaintVideo(This,hwnd,hdc) +#define IVMRWindowlessControl9_DisplayModeChanged(This) (This)->lpVtbl->DisplayModeChanged(This) +#define IVMRWindowlessControl9_GetCurrentImage(This,dib) (This)->lpVtbl->GetCurrentImage(This,dib) +#define IVMRWindowlessControl9_SetBorderColor(This,color) (This)->lpVtbl->SetBorderColor(This,color) +#define IVMRWindowlessControl9_GetBorderColor(This,color) (This)->lpVtbl->GetBorderColor(This,color) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRWindowlessControl9_QueryInterface(IVMRWindowlessControl9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRWindowlessControl9_AddRef(IVMRWindowlessControl9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRWindowlessControl9_Release(IVMRWindowlessControl9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRWindowlessControl9 methods ***/ +static inline HRESULT IVMRWindowlessControl9_GetNativeVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height,LONG *arwidth,LONG *arheight) { + return This->lpVtbl->GetNativeVideoSize(This,width,height,arwidth,arheight); +} +static inline HRESULT IVMRWindowlessControl9_GetMinIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { + return This->lpVtbl->GetMinIdealVideoSize(This,width,height); +} +static inline HRESULT IVMRWindowlessControl9_GetMaxIdealVideoSize(IVMRWindowlessControl9* This,LONG *width,LONG *height) { + return This->lpVtbl->GetMaxIdealVideoSize(This,width,height); +} +static inline HRESULT IVMRWindowlessControl9_SetVideoPosition(IVMRWindowlessControl9* This,const RECT *source,const RECT *dest) { + return This->lpVtbl->SetVideoPosition(This,source,dest); +} +static inline HRESULT IVMRWindowlessControl9_GetVideoPosition(IVMRWindowlessControl9* This,RECT *source,RECT *dest) { + return This->lpVtbl->GetVideoPosition(This,source,dest); +} +static inline HRESULT IVMRWindowlessControl9_GetAspectRatioMode(IVMRWindowlessControl9* This,DWORD *mode) { + return This->lpVtbl->GetAspectRatioMode(This,mode); +} +static inline HRESULT IVMRWindowlessControl9_SetAspectRatioMode(IVMRWindowlessControl9* This,DWORD mode) { + return This->lpVtbl->SetAspectRatioMode(This,mode); +} +static inline HRESULT IVMRWindowlessControl9_SetVideoClippingWindow(IVMRWindowlessControl9* This,HWND hwnd) { + return This->lpVtbl->SetVideoClippingWindow(This,hwnd); +} +static inline HRESULT IVMRWindowlessControl9_RepaintVideo(IVMRWindowlessControl9* This,HWND hwnd,HDC hdc) { + return This->lpVtbl->RepaintVideo(This,hwnd,hdc); +} +static inline HRESULT IVMRWindowlessControl9_DisplayModeChanged(IVMRWindowlessControl9* This) { + return This->lpVtbl->DisplayModeChanged(This); +} +static inline HRESULT IVMRWindowlessControl9_GetCurrentImage(IVMRWindowlessControl9* This,BYTE **dib) { + return This->lpVtbl->GetCurrentImage(This,dib); +} +static inline HRESULT IVMRWindowlessControl9_SetBorderColor(IVMRWindowlessControl9* This,COLORREF color) { + return This->lpVtbl->SetBorderColor(This,color); +} +static inline HRESULT IVMRWindowlessControl9_GetBorderColor(IVMRWindowlessControl9* This,COLORREF *color) { + return This->lpVtbl->GetBorderColor(This,color); +} +#endif +#endif + +#endif + + +#endif /* __IVMRWindowlessControl9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9MixerPrefs { + MixerPref9_NoDecimation = 0x1, + MixerPref9_DecimateOutput = 0x2, + MixerPref9_ARAdjustXorY = 0x4, + MixerPref9_NonSquareMixing = 0x8, + MixerPref9_DecimateMask = 0xf, + MixerPref9_BiLinearFiltering = 0x10, + MixerPref9_PointFiltering = 0x20, + MixerPref9_AnisotropicFiltering = 0x40, + MixerPref9_PyramidalQuadFiltering = 0x80, + MixerPref9_GaussianQuadFiltering = 0x100, + MixerPref9_FilteringReserved = 0xe00, + MixerPref9_FilteringMask = 0xff0, + MixerPref9_RenderTargetRGB = 0x1000, + MixerPref9_RenderTargetYUV = 0x2000, + MixerPref9_RenderTargetReserved = 0xfc000, + MixerPref9_DynamicSwitchToBOB = 0x100000, + MixerPref9_DynamicDecimateBy2 = 0x200000, + MixerPref9_DynamicReserved = 0xc00000, + MixerPref9_DynamicMask = 0xf00000 +} VMR9MixerPrefs; +typedef struct _VMR9NormalizedRect { + FLOAT left; + FLOAT top; + FLOAT right; + FLOAT bottom; +} VMR9NormalizedRect; +typedef enum _VMR9ProcAmpControlFlags { + ProcAmpControl9_Brightness = 0x1, + ProcAmpControl9_Contrast = 0x2, + ProcAmpControl9_Hue = 0x4, + ProcAmpControl9_Saturation = 0x8, + ProcAmpControl9_Mask = 0xf +} VMR9ProcAmpControlFlags; +typedef struct _VMR9ProcAmpControl { + DWORD dwSize; + DWORD dwFlags; + FLOAT Brightness; + FLOAT Contrast; + FLOAT Hue; + FLOAT Saturation; +} VMR9ProcAmpControl; +typedef struct _VMR9ProcAmpControlRange { + DWORD dwSize; + VMR9ProcAmpControlFlags dwProperty; + FLOAT MinValue; + FLOAT MaxValue; + FLOAT DefaultValue; + FLOAT StepSize; +} VMR9ProcAmpControlRange; +/***************************************************************************** + * IVMRMixerControl9 interface + */ +#ifndef __IVMRMixerControl9_INTERFACE_DEFINED__ +#define __IVMRMixerControl9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1a777eaa-47c8-4930-b2c9-8fee1c1b0f3b") +IVMRMixerControl9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetAlpha( + DWORD streamid, + FLOAT alpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlpha( + DWORD streamid, + FLOAT *alpha) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetZOrder( + DWORD streamid, + DWORD zorder) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetZOrder( + DWORD streamid, + DWORD *zorder) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputRect( + DWORD streamid, + const VMR9NormalizedRect *rect) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputRect( + DWORD streamid, + VMR9NormalizedRect *rect) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackgroundClr( + COLORREF back) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackgroundClr( + COLORREF *back) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMixingPrefs( + DWORD mixingprefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMixingPrefs( + DWORD *mixingprefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProcAmpControl( + DWORD streamid, + VMR9ProcAmpControl *control) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProcAmpControl( + DWORD streamid, + VMR9ProcAmpControl *control) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProcAmpControlRange( + DWORD streamid, + VMR9ProcAmpControlRange *controlrange) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRMixerControl9, 0x1a777eaa, 0x47c8, 0x4930, 0xb2,0xc9, 0x8f,0xee,0x1c,0x1b,0x0f,0x3b) +#endif +#else +typedef struct IVMRMixerControl9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRMixerControl9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRMixerControl9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRMixerControl9 *This); + + /*** IVMRMixerControl9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetAlpha)( + IVMRMixerControl9 *This, + DWORD streamid, + FLOAT alpha); + + HRESULT (STDMETHODCALLTYPE *GetAlpha)( + IVMRMixerControl9 *This, + DWORD streamid, + FLOAT *alpha); + + HRESULT (STDMETHODCALLTYPE *SetZOrder)( + IVMRMixerControl9 *This, + DWORD streamid, + DWORD zorder); + + HRESULT (STDMETHODCALLTYPE *GetZOrder)( + IVMRMixerControl9 *This, + DWORD streamid, + DWORD *zorder); + + HRESULT (STDMETHODCALLTYPE *SetOutputRect)( + IVMRMixerControl9 *This, + DWORD streamid, + const VMR9NormalizedRect *rect); + + HRESULT (STDMETHODCALLTYPE *GetOutputRect)( + IVMRMixerControl9 *This, + DWORD streamid, + VMR9NormalizedRect *rect); + + HRESULT (STDMETHODCALLTYPE *SetBackgroundClr)( + IVMRMixerControl9 *This, + COLORREF back); + + HRESULT (STDMETHODCALLTYPE *GetBackgroundClr)( + IVMRMixerControl9 *This, + COLORREF *back); + + HRESULT (STDMETHODCALLTYPE *SetMixingPrefs)( + IVMRMixerControl9 *This, + DWORD mixingprefs); + + HRESULT (STDMETHODCALLTYPE *GetMixingPrefs)( + IVMRMixerControl9 *This, + DWORD *mixingprefs); + + HRESULT (STDMETHODCALLTYPE *SetProcAmpControl)( + IVMRMixerControl9 *This, + DWORD streamid, + VMR9ProcAmpControl *control); + + HRESULT (STDMETHODCALLTYPE *GetProcAmpControl)( + IVMRMixerControl9 *This, + DWORD streamid, + VMR9ProcAmpControl *control); + + HRESULT (STDMETHODCALLTYPE *GetProcAmpControlRange)( + IVMRMixerControl9 *This, + DWORD streamid, + VMR9ProcAmpControlRange *controlrange); + + END_INTERFACE +} IVMRMixerControl9Vtbl; + +interface IVMRMixerControl9 { + CONST_VTBL IVMRMixerControl9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRMixerControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRMixerControl9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRMixerControl9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRMixerControl9 methods ***/ +#define IVMRMixerControl9_SetAlpha(This,streamid,alpha) (This)->lpVtbl->SetAlpha(This,streamid,alpha) +#define IVMRMixerControl9_GetAlpha(This,streamid,alpha) (This)->lpVtbl->GetAlpha(This,streamid,alpha) +#define IVMRMixerControl9_SetZOrder(This,streamid,zorder) (This)->lpVtbl->SetZOrder(This,streamid,zorder) +#define IVMRMixerControl9_GetZOrder(This,streamid,zorder) (This)->lpVtbl->GetZOrder(This,streamid,zorder) +#define IVMRMixerControl9_SetOutputRect(This,streamid,rect) (This)->lpVtbl->SetOutputRect(This,streamid,rect) +#define IVMRMixerControl9_GetOutputRect(This,streamid,rect) (This)->lpVtbl->GetOutputRect(This,streamid,rect) +#define IVMRMixerControl9_SetBackgroundClr(This,back) (This)->lpVtbl->SetBackgroundClr(This,back) +#define IVMRMixerControl9_GetBackgroundClr(This,back) (This)->lpVtbl->GetBackgroundClr(This,back) +#define IVMRMixerControl9_SetMixingPrefs(This,mixingprefs) (This)->lpVtbl->SetMixingPrefs(This,mixingprefs) +#define IVMRMixerControl9_GetMixingPrefs(This,mixingprefs) (This)->lpVtbl->GetMixingPrefs(This,mixingprefs) +#define IVMRMixerControl9_SetProcAmpControl(This,streamid,control) (This)->lpVtbl->SetProcAmpControl(This,streamid,control) +#define IVMRMixerControl9_GetProcAmpControl(This,streamid,control) (This)->lpVtbl->GetProcAmpControl(This,streamid,control) +#define IVMRMixerControl9_GetProcAmpControlRange(This,streamid,controlrange) (This)->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRMixerControl9_QueryInterface(IVMRMixerControl9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRMixerControl9_AddRef(IVMRMixerControl9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRMixerControl9_Release(IVMRMixerControl9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRMixerControl9 methods ***/ +static inline HRESULT IVMRMixerControl9_SetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT alpha) { + return This->lpVtbl->SetAlpha(This,streamid,alpha); +} +static inline HRESULT IVMRMixerControl9_GetAlpha(IVMRMixerControl9* This,DWORD streamid,FLOAT *alpha) { + return This->lpVtbl->GetAlpha(This,streamid,alpha); +} +static inline HRESULT IVMRMixerControl9_SetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD zorder) { + return This->lpVtbl->SetZOrder(This,streamid,zorder); +} +static inline HRESULT IVMRMixerControl9_GetZOrder(IVMRMixerControl9* This,DWORD streamid,DWORD *zorder) { + return This->lpVtbl->GetZOrder(This,streamid,zorder); +} +static inline HRESULT IVMRMixerControl9_SetOutputRect(IVMRMixerControl9* This,DWORD streamid,const VMR9NormalizedRect *rect) { + return This->lpVtbl->SetOutputRect(This,streamid,rect); +} +static inline HRESULT IVMRMixerControl9_GetOutputRect(IVMRMixerControl9* This,DWORD streamid,VMR9NormalizedRect *rect) { + return This->lpVtbl->GetOutputRect(This,streamid,rect); +} +static inline HRESULT IVMRMixerControl9_SetBackgroundClr(IVMRMixerControl9* This,COLORREF back) { + return This->lpVtbl->SetBackgroundClr(This,back); +} +static inline HRESULT IVMRMixerControl9_GetBackgroundClr(IVMRMixerControl9* This,COLORREF *back) { + return This->lpVtbl->GetBackgroundClr(This,back); +} +static inline HRESULT IVMRMixerControl9_SetMixingPrefs(IVMRMixerControl9* This,DWORD mixingprefs) { + return This->lpVtbl->SetMixingPrefs(This,mixingprefs); +} +static inline HRESULT IVMRMixerControl9_GetMixingPrefs(IVMRMixerControl9* This,DWORD *mixingprefs) { + return This->lpVtbl->GetMixingPrefs(This,mixingprefs); +} +static inline HRESULT IVMRMixerControl9_SetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { + return This->lpVtbl->SetProcAmpControl(This,streamid,control); +} +static inline HRESULT IVMRMixerControl9_GetProcAmpControl(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControl *control) { + return This->lpVtbl->GetProcAmpControl(This,streamid,control); +} +static inline HRESULT IVMRMixerControl9_GetProcAmpControlRange(IVMRMixerControl9* This,DWORD streamid,VMR9ProcAmpControlRange *controlrange) { + return This->lpVtbl->GetProcAmpControlRange(This,streamid,controlrange); +} +#endif +#endif + +#endif + + +#endif /* __IVMRMixerControl9_INTERFACE_DEFINED__ */ + +typedef struct _VMR9AlphaBitmap { + DWORD dwFlags; + HDC hdc; + IDirect3DSurface9 *pDDS; + RECT rSrc; + VMR9NormalizedRect rDest; + FLOAT fAlpha; + COLORREF clrSrcKey; + DWORD dwFilterMode; +} VMR9AlphaBitmap; +typedef enum _VMR9AlphaBitmapFlags { + VMR9AlphaBitmap_Disable = 0x1, + VMR9AlphaBitmap_hDC = 0x2, + VMR9AlphaBitmap_EntireDDS = 0x4, + VMR9AlphaBitmap_SrcColorKey = 0x8, + VMR9AlphaBitmap_SrcRect = 0x10, + VMR9AlphaBitmap_FilterMode = 0x20 +} VMR9AlphaBitmapFlags; +/***************************************************************************** + * IVMRMixerBitmap9 interface + */ +#ifndef __IVMRMixerBitmap9_INTERFACE_DEFINED__ +#define __IVMRMixerBitmap9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ced175e5-1935-4820-81bd-ff6ad00c9108") +IVMRMixerBitmap9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetAlphaBitmap( + const VMR9AlphaBitmap *bitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE UpdateAlphaBitmapParameters( + const VMR9AlphaBitmap *bitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlphaBitmapParameters( + VMR9AlphaBitmap *bitmap) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRMixerBitmap9, 0xced175e5, 0x1935, 0x4820, 0x81,0xbd, 0xff,0x6a,0xd0,0x0c,0x91,0x08) +#endif +#else +typedef struct IVMRMixerBitmap9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRMixerBitmap9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRMixerBitmap9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRMixerBitmap9 *This); + + /*** IVMRMixerBitmap9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetAlphaBitmap)( + IVMRMixerBitmap9 *This, + const VMR9AlphaBitmap *bitmap); + + HRESULT (STDMETHODCALLTYPE *UpdateAlphaBitmapParameters)( + IVMRMixerBitmap9 *This, + const VMR9AlphaBitmap *bitmap); + + HRESULT (STDMETHODCALLTYPE *GetAlphaBitmapParameters)( + IVMRMixerBitmap9 *This, + VMR9AlphaBitmap *bitmap); + + END_INTERFACE +} IVMRMixerBitmap9Vtbl; + +interface IVMRMixerBitmap9 { + CONST_VTBL IVMRMixerBitmap9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRMixerBitmap9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRMixerBitmap9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRMixerBitmap9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRMixerBitmap9 methods ***/ +#define IVMRMixerBitmap9_SetAlphaBitmap(This,bitmap) (This)->lpVtbl->SetAlphaBitmap(This,bitmap) +#define IVMRMixerBitmap9_UpdateAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap) +#define IVMRMixerBitmap9_GetAlphaBitmapParameters(This,bitmap) (This)->lpVtbl->GetAlphaBitmapParameters(This,bitmap) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRMixerBitmap9_QueryInterface(IVMRMixerBitmap9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRMixerBitmap9_AddRef(IVMRMixerBitmap9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRMixerBitmap9_Release(IVMRMixerBitmap9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRMixerBitmap9 methods ***/ +static inline HRESULT IVMRMixerBitmap9_SetAlphaBitmap(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { + return This->lpVtbl->SetAlphaBitmap(This,bitmap); +} +static inline HRESULT IVMRMixerBitmap9_UpdateAlphaBitmapParameters(IVMRMixerBitmap9* This,const VMR9AlphaBitmap *bitmap) { + return This->lpVtbl->UpdateAlphaBitmapParameters(This,bitmap); +} +static inline HRESULT IVMRMixerBitmap9_GetAlphaBitmapParameters(IVMRMixerBitmap9* This,VMR9AlphaBitmap *bitmap) { + return This->lpVtbl->GetAlphaBitmapParameters(This,bitmap); +} +#endif +#endif + +#endif + + +#endif /* __IVMRMixerBitmap9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVMRSurface9 interface + */ +#ifndef __IVMRSurface9_INTERFACE_DEFINED__ +#define __IVMRSurface9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dfc581a1-6e1f-4c3a-8d0a-5e9792ea2afc") +IVMRSurface9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IsSurfaceLocked( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockSurface( + BYTE **surface) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnlockSurface( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSurface( + IDirect3DSurface9 **surface) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRSurface9, 0xdfc581a1, 0x6e1f, 0x4c3a, 0x8d,0x0a, 0x5e,0x97,0x92,0xea,0x2a,0xfc) +#endif +#else +typedef struct IVMRSurface9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRSurface9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRSurface9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRSurface9 *This); + + /*** IVMRSurface9 methods ***/ + HRESULT (STDMETHODCALLTYPE *IsSurfaceLocked)( + IVMRSurface9 *This); + + HRESULT (STDMETHODCALLTYPE *LockSurface)( + IVMRSurface9 *This, + BYTE **surface); + + HRESULT (STDMETHODCALLTYPE *UnlockSurface)( + IVMRSurface9 *This); + + HRESULT (STDMETHODCALLTYPE *GetSurface)( + IVMRSurface9 *This, + IDirect3DSurface9 **surface); + + END_INTERFACE +} IVMRSurface9Vtbl; + +interface IVMRSurface9 { + CONST_VTBL IVMRSurface9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRSurface9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRSurface9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRSurface9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRSurface9 methods ***/ +#define IVMRSurface9_IsSurfaceLocked(This) (This)->lpVtbl->IsSurfaceLocked(This) +#define IVMRSurface9_LockSurface(This,surface) (This)->lpVtbl->LockSurface(This,surface) +#define IVMRSurface9_UnlockSurface(This) (This)->lpVtbl->UnlockSurface(This) +#define IVMRSurface9_GetSurface(This,surface) (This)->lpVtbl->GetSurface(This,surface) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRSurface9_QueryInterface(IVMRSurface9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRSurface9_AddRef(IVMRSurface9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRSurface9_Release(IVMRSurface9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRSurface9 methods ***/ +static inline HRESULT IVMRSurface9_IsSurfaceLocked(IVMRSurface9* This) { + return This->lpVtbl->IsSurfaceLocked(This); +} +static inline HRESULT IVMRSurface9_LockSurface(IVMRSurface9* This,BYTE **surface) { + return This->lpVtbl->LockSurface(This,surface); +} +static inline HRESULT IVMRSurface9_UnlockSurface(IVMRSurface9* This) { + return This->lpVtbl->UnlockSurface(This); +} +static inline HRESULT IVMRSurface9_GetSurface(IVMRSurface9* This,IDirect3DSurface9 **surface) { + return This->lpVtbl->GetSurface(This,surface); +} +#endif +#endif + +#endif + + +#endif /* __IVMRSurface9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9RenderPrefs { + RenderPrefs9_DoNotRenderBorder = 0x1, + RenderPrefs9_Mask = 0x1 +} VMR9RenderPrefs; +/***************************************************************************** + * IVMRImagePresenterConfig9 interface + */ +#ifndef __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ +#define __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("45c15cab-6e22-420a-8043-ae1f0ac02c7d") +IVMRImagePresenterConfig9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( + DWORD renderflags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( + DWORD *renderflags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRImagePresenterConfig9, 0x45c15cab, 0x6e22, 0x420a, 0x80,0x43, 0xae,0x1f,0x0a,0xc0,0x2c,0x7d) +#endif +#else +typedef struct IVMRImagePresenterConfig9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRImagePresenterConfig9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRImagePresenterConfig9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRImagePresenterConfig9 *This); + + /*** IVMRImagePresenterConfig9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( + IVMRImagePresenterConfig9 *This, + DWORD renderflags); + + HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( + IVMRImagePresenterConfig9 *This, + DWORD *renderflags); + + END_INTERFACE +} IVMRImagePresenterConfig9Vtbl; + +interface IVMRImagePresenterConfig9 { + CONST_VTBL IVMRImagePresenterConfig9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRImagePresenterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRImagePresenterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRImagePresenterConfig9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRImagePresenterConfig9 methods ***/ +#define IVMRImagePresenterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) +#define IVMRImagePresenterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRImagePresenterConfig9_QueryInterface(IVMRImagePresenterConfig9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRImagePresenterConfig9_AddRef(IVMRImagePresenterConfig9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRImagePresenterConfig9_Release(IVMRImagePresenterConfig9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRImagePresenterConfig9 methods ***/ +static inline HRESULT IVMRImagePresenterConfig9_SetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD renderflags) { + return This->lpVtbl->SetRenderingPrefs(This,renderflags); +} +static inline HRESULT IVMRImagePresenterConfig9_GetRenderingPrefs(IVMRImagePresenterConfig9* This,DWORD *renderflags) { + return This->lpVtbl->GetRenderingPrefs(This,renderflags); +} +#endif +#endif + +#endif + + +#endif /* __IVMRImagePresenterConfig9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVMRVideoStreamControl9 interface + */ +#ifndef __IVMRVideoStreamControl9_INTERFACE_DEFINED__ +#define __IVMRVideoStreamControl9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d0cfe38b-93e7-4772-8957-0400c49a4485") +IVMRVideoStreamControl9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetStreamActiveState( + WINBOOL active) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamActiveState( + WINBOOL *active) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRVideoStreamControl9, 0xd0cfe38b, 0x93e7, 0x4772, 0x89,0x57, 0x04,0x00,0xc4,0x9a,0x44,0x85) +#endif +#else +typedef struct IVMRVideoStreamControl9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRVideoStreamControl9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRVideoStreamControl9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRVideoStreamControl9 *This); + + /*** IVMRVideoStreamControl9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetStreamActiveState)( + IVMRVideoStreamControl9 *This, + WINBOOL active); + + HRESULT (STDMETHODCALLTYPE *GetStreamActiveState)( + IVMRVideoStreamControl9 *This, + WINBOOL *active); + + END_INTERFACE +} IVMRVideoStreamControl9Vtbl; + +interface IVMRVideoStreamControl9 { + CONST_VTBL IVMRVideoStreamControl9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRVideoStreamControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRVideoStreamControl9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRVideoStreamControl9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRVideoStreamControl9 methods ***/ +#define IVMRVideoStreamControl9_SetStreamActiveState(This,active) (This)->lpVtbl->SetStreamActiveState(This,active) +#define IVMRVideoStreamControl9_GetStreamActiveState(This,active) (This)->lpVtbl->GetStreamActiveState(This,active) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRVideoStreamControl9_QueryInterface(IVMRVideoStreamControl9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRVideoStreamControl9_AddRef(IVMRVideoStreamControl9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRVideoStreamControl9_Release(IVMRVideoStreamControl9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRVideoStreamControl9 methods ***/ +static inline HRESULT IVMRVideoStreamControl9_SetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL active) { + return This->lpVtbl->SetStreamActiveState(This,active); +} +static inline HRESULT IVMRVideoStreamControl9_GetStreamActiveState(IVMRVideoStreamControl9* This,WINBOOL *active) { + return This->lpVtbl->GetStreamActiveState(This,active); +} +#endif +#endif + +#endif + + +#endif /* __IVMRVideoStreamControl9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9Mode { + VMR9Mode_Windowed = 0x1, + VMR9Mode_Windowless = 0x2, + VMR9Mode_Renderless = 0x4, + VMR9Mode_Mask = 0x7 +} VMR9Mode; +/***************************************************************************** + * IVMRFilterConfig9 interface + */ +#ifndef __IVMRFilterConfig9_INTERFACE_DEFINED__ +#define __IVMRFilterConfig9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5a804648-4f66-4867-9c43-4f5c822cf1b8") +IVMRFilterConfig9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetImageCompositor( + IVMRImageCompositor9 *compositor) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetNumberOfStreams( + DWORD max) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNumberOfStreams( + DWORD *max) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRenderingPrefs( + DWORD renderflags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingPrefs( + DWORD *renderflags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRenderingMode( + DWORD mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRenderingMode( + DWORD *mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRFilterConfig9, 0x5a804648, 0x4f66, 0x4867, 0x9c,0x43, 0x4f,0x5c,0x82,0x2c,0xf1,0xb8) +#endif +#else +typedef struct IVMRFilterConfig9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRFilterConfig9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRFilterConfig9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRFilterConfig9 *This); + + /*** IVMRFilterConfig9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetImageCompositor)( + IVMRFilterConfig9 *This, + IVMRImageCompositor9 *compositor); + + HRESULT (STDMETHODCALLTYPE *SetNumberOfStreams)( + IVMRFilterConfig9 *This, + DWORD max); + + HRESULT (STDMETHODCALLTYPE *GetNumberOfStreams)( + IVMRFilterConfig9 *This, + DWORD *max); + + HRESULT (STDMETHODCALLTYPE *SetRenderingPrefs)( + IVMRFilterConfig9 *This, + DWORD renderflags); + + HRESULT (STDMETHODCALLTYPE *GetRenderingPrefs)( + IVMRFilterConfig9 *This, + DWORD *renderflags); + + HRESULT (STDMETHODCALLTYPE *SetRenderingMode)( + IVMRFilterConfig9 *This, + DWORD mode); + + HRESULT (STDMETHODCALLTYPE *GetRenderingMode)( + IVMRFilterConfig9 *This, + DWORD *mode); + + END_INTERFACE +} IVMRFilterConfig9Vtbl; + +interface IVMRFilterConfig9 { + CONST_VTBL IVMRFilterConfig9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRFilterConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRFilterConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRFilterConfig9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRFilterConfig9 methods ***/ +#define IVMRFilterConfig9_SetImageCompositor(This,compositor) (This)->lpVtbl->SetImageCompositor(This,compositor) +#define IVMRFilterConfig9_SetNumberOfStreams(This,max) (This)->lpVtbl->SetNumberOfStreams(This,max) +#define IVMRFilterConfig9_GetNumberOfStreams(This,max) (This)->lpVtbl->GetNumberOfStreams(This,max) +#define IVMRFilterConfig9_SetRenderingPrefs(This,renderflags) (This)->lpVtbl->SetRenderingPrefs(This,renderflags) +#define IVMRFilterConfig9_GetRenderingPrefs(This,renderflags) (This)->lpVtbl->GetRenderingPrefs(This,renderflags) +#define IVMRFilterConfig9_SetRenderingMode(This,mode) (This)->lpVtbl->SetRenderingMode(This,mode) +#define IVMRFilterConfig9_GetRenderingMode(This,mode) (This)->lpVtbl->GetRenderingMode(This,mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRFilterConfig9_QueryInterface(IVMRFilterConfig9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRFilterConfig9_AddRef(IVMRFilterConfig9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRFilterConfig9_Release(IVMRFilterConfig9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRFilterConfig9 methods ***/ +static inline HRESULT IVMRFilterConfig9_SetImageCompositor(IVMRFilterConfig9* This,IVMRImageCompositor9 *compositor) { + return This->lpVtbl->SetImageCompositor(This,compositor); +} +static inline HRESULT IVMRFilterConfig9_SetNumberOfStreams(IVMRFilterConfig9* This,DWORD max) { + return This->lpVtbl->SetNumberOfStreams(This,max); +} +static inline HRESULT IVMRFilterConfig9_GetNumberOfStreams(IVMRFilterConfig9* This,DWORD *max) { + return This->lpVtbl->GetNumberOfStreams(This,max); +} +static inline HRESULT IVMRFilterConfig9_SetRenderingPrefs(IVMRFilterConfig9* This,DWORD renderflags) { + return This->lpVtbl->SetRenderingPrefs(This,renderflags); +} +static inline HRESULT IVMRFilterConfig9_GetRenderingPrefs(IVMRFilterConfig9* This,DWORD *renderflags) { + return This->lpVtbl->GetRenderingPrefs(This,renderflags); +} +static inline HRESULT IVMRFilterConfig9_SetRenderingMode(IVMRFilterConfig9* This,DWORD mode) { + return This->lpVtbl->SetRenderingMode(This,mode); +} +static inline HRESULT IVMRFilterConfig9_GetRenderingMode(IVMRFilterConfig9* This,DWORD *mode) { + return This->lpVtbl->GetRenderingMode(This,mode); +} +#endif +#endif + +#endif + + +#endif /* __IVMRFilterConfig9_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVMRAspectRatioControl9 interface + */ +#ifndef __IVMRAspectRatioControl9_INTERFACE_DEFINED__ +#define __IVMRAspectRatioControl9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00d96c29-bbde-4efc-9901-bb5036392146") +IVMRAspectRatioControl9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetAspectRatioMode( + DWORD *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAspectRatioMode( + DWORD mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRAspectRatioControl9, 0x00d96c29, 0xbbde, 0x4efc, 0x99,0x01, 0xbb,0x50,0x36,0x39,0x21,0x46) +#endif +#else +typedef struct IVMRAspectRatioControl9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRAspectRatioControl9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRAspectRatioControl9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRAspectRatioControl9 *This); + + /*** IVMRAspectRatioControl9 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAspectRatioMode)( + IVMRAspectRatioControl9 *This, + DWORD *mode); + + HRESULT (STDMETHODCALLTYPE *SetAspectRatioMode)( + IVMRAspectRatioControl9 *This, + DWORD mode); + + END_INTERFACE +} IVMRAspectRatioControl9Vtbl; + +interface IVMRAspectRatioControl9 { + CONST_VTBL IVMRAspectRatioControl9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRAspectRatioControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRAspectRatioControl9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRAspectRatioControl9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRAspectRatioControl9 methods ***/ +#define IVMRAspectRatioControl9_GetAspectRatioMode(This,mode) (This)->lpVtbl->GetAspectRatioMode(This,mode) +#define IVMRAspectRatioControl9_SetAspectRatioMode(This,mode) (This)->lpVtbl->SetAspectRatioMode(This,mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRAspectRatioControl9_QueryInterface(IVMRAspectRatioControl9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRAspectRatioControl9_AddRef(IVMRAspectRatioControl9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRAspectRatioControl9_Release(IVMRAspectRatioControl9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRAspectRatioControl9 methods ***/ +static inline HRESULT IVMRAspectRatioControl9_GetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD *mode) { + return This->lpVtbl->GetAspectRatioMode(This,mode); +} +static inline HRESULT IVMRAspectRatioControl9_SetAspectRatioMode(IVMRAspectRatioControl9* This,DWORD mode) { + return This->lpVtbl->SetAspectRatioMode(This,mode); +} +#endif +#endif + +#endif + + +#endif /* __IVMRAspectRatioControl9_INTERFACE_DEFINED__ */ + +typedef struct _VMR9MonitorInfo { + UINT uDevID; + RECT rcMonitor; + HMONITOR hMon; + DWORD dwFlags; + WCHAR szDevice[32]; + WCHAR szDescription[512]; + LARGE_INTEGER liDriverVersion; + DWORD dwVendorId; + DWORD dwDeviceId; + DWORD dwSubSysId; + DWORD dwRevision; +} VMR9MonitorInfo; +/***************************************************************************** + * IVMRMonitorConfig9 interface + */ +#ifndef __IVMRMonitorConfig9_INTERFACE_DEFINED__ +#define __IVMRMonitorConfig9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("46c2e457-8ba0-4eef-b80b-0680f0978749") +IVMRMonitorConfig9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetMonitor( + UINT uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMonitor( + UINT *uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDefaultMonitor( + UINT uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDefaultMonitor( + UINT *uDev) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAvailableMonitors( + VMR9MonitorInfo *info, + DWORD arraysize, + DWORD *numdev) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRMonitorConfig9, 0x46c2e457, 0x8ba0, 0x4eef, 0xb8,0x0b, 0x06,0x80,0xf0,0x97,0x87,0x49) +#endif +#else +typedef struct IVMRMonitorConfig9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRMonitorConfig9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRMonitorConfig9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRMonitorConfig9 *This); + + /*** IVMRMonitorConfig9 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetMonitor)( + IVMRMonitorConfig9 *This, + UINT uDev); + + HRESULT (STDMETHODCALLTYPE *GetMonitor)( + IVMRMonitorConfig9 *This, + UINT *uDev); + + HRESULT (STDMETHODCALLTYPE *SetDefaultMonitor)( + IVMRMonitorConfig9 *This, + UINT uDev); + + HRESULT (STDMETHODCALLTYPE *GetDefaultMonitor)( + IVMRMonitorConfig9 *This, + UINT *uDev); + + HRESULT (STDMETHODCALLTYPE *GetAvailableMonitors)( + IVMRMonitorConfig9 *This, + VMR9MonitorInfo *info, + DWORD arraysize, + DWORD *numdev); + + END_INTERFACE +} IVMRMonitorConfig9Vtbl; + +interface IVMRMonitorConfig9 { + CONST_VTBL IVMRMonitorConfig9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRMonitorConfig9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRMonitorConfig9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRMonitorConfig9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRMonitorConfig9 methods ***/ +#define IVMRMonitorConfig9_SetMonitor(This,uDev) (This)->lpVtbl->SetMonitor(This,uDev) +#define IVMRMonitorConfig9_GetMonitor(This,uDev) (This)->lpVtbl->GetMonitor(This,uDev) +#define IVMRMonitorConfig9_SetDefaultMonitor(This,uDev) (This)->lpVtbl->SetDefaultMonitor(This,uDev) +#define IVMRMonitorConfig9_GetDefaultMonitor(This,uDev) (This)->lpVtbl->GetDefaultMonitor(This,uDev) +#define IVMRMonitorConfig9_GetAvailableMonitors(This,info,arraysize,numdev) (This)->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRMonitorConfig9_QueryInterface(IVMRMonitorConfig9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRMonitorConfig9_AddRef(IVMRMonitorConfig9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRMonitorConfig9_Release(IVMRMonitorConfig9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRMonitorConfig9 methods ***/ +static inline HRESULT IVMRMonitorConfig9_SetMonitor(IVMRMonitorConfig9* This,UINT uDev) { + return This->lpVtbl->SetMonitor(This,uDev); +} +static inline HRESULT IVMRMonitorConfig9_GetMonitor(IVMRMonitorConfig9* This,UINT *uDev) { + return This->lpVtbl->GetMonitor(This,uDev); +} +static inline HRESULT IVMRMonitorConfig9_SetDefaultMonitor(IVMRMonitorConfig9* This,UINT uDev) { + return This->lpVtbl->SetDefaultMonitor(This,uDev); +} +static inline HRESULT IVMRMonitorConfig9_GetDefaultMonitor(IVMRMonitorConfig9* This,UINT *uDev) { + return This->lpVtbl->GetDefaultMonitor(This,uDev); +} +static inline HRESULT IVMRMonitorConfig9_GetAvailableMonitors(IVMRMonitorConfig9* This,VMR9MonitorInfo *info,DWORD arraysize,DWORD *numdev) { + return This->lpVtbl->GetAvailableMonitors(This,info,arraysize,numdev); +} +#endif +#endif + +#endif + + +#endif /* __IVMRMonitorConfig9_INTERFACE_DEFINED__ */ + +typedef enum _VMR9DeinterlacePrefs { + DeinterlacePref9_NextBest = 0x1, + DeinterlacePref9_BOB = 0x2, + DeinterlacePref9_Weave = 0x4, + DeinterlacePref9_Mask = 0x7 +} VMR9DeinterlacePrefs; +typedef enum _VMR9DeinterlaceTech { + DeinterlaceTech9_Unknown = 0, + DeinterlaceTech9_BOBLineReplicate = 0x1, + DeinterlaceTech9_BOBVerticalStretch = 0x2, + DeinterlaceTech9_MedianFiltering = 0x4, + DeinterlaceTech9_EdgeFiltering = 0x10, + DeinterlaceTech9_FieldAdaptive = 0x20, + DeinterlaceTech9_PixelAdaptive = 0x40, + DeinterlaceTech9_MotionVectorSteered = 0x80 +} VMR9DeinterlaceTech; +typedef struct _VMR9Frequency { + DWORD dwNumerator; + DWORD dwDenominator; +} VMR9Frequency; +typedef enum _VMR9_SampleFormat { + VMR9_SampleReserved = 1, + VMR9_SampleProgressiveFrame = 2, + VMR9_SampleFieldInterleavedEvenFirst = 3, + VMR9_SampleFieldInterleavedOddFirst = 4, + VMR9_SampleFieldSingleEven = 5, + VMR9_SampleFieldSingleOdd = 6 +} VMR9_SampleFormat; +typedef struct _VMR9VideoDesc { + DWORD dwSize; + DWORD dwSampleWidth; + DWORD dwSampleHeight; + VMR9_SampleFormat SampleFormat; + DWORD dwFourCC; + VMR9Frequency InputSampleFreq; + VMR9Frequency OutputFrameFreq; +} VMR9VideoDesc; +typedef struct _VMR9DeinterlaceCaps { + DWORD dwSize; + DWORD dwNumPreviousOutputFrames; + DWORD dwNumForwardRefSamples; + DWORD dwNumBackwardRefSamples; + VMR9DeinterlaceTech DeinterlaceTechnology; +} VMR9DeinterlaceCaps; +/***************************************************************************** + * IVMRDeinterlaceControl9 interface + */ +#ifndef __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ +#define __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a215fb8d-13c2-4f7f-993c-003d6271a459") +IVMRDeinterlaceControl9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetNumberOfDeinterlaceModes( + VMR9VideoDesc *desc, + DWORD *nummodes, + GUID *modes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceModeCaps( + GUID *mode, + VMR9VideoDesc *desc, + VMR9DeinterlaceCaps *caps) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlaceMode( + DWORD streamid, + GUID *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeinterlaceMode( + DWORD streamid, + GUID *mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeinterlacePrefs( + DWORD *prefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeinterlacePrefs( + DWORD prefs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetActualDeinterlaceMode( + DWORD streamid, + GUID *mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRDeinterlaceControl9, 0xa215fb8d, 0x13c2, 0x4f7f, 0x99,0x3c, 0x00,0x3d,0x62,0x71,0xa4,0x59) +#endif +#else +typedef struct IVMRDeinterlaceControl9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRDeinterlaceControl9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRDeinterlaceControl9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRDeinterlaceControl9 *This); + + /*** IVMRDeinterlaceControl9 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetNumberOfDeinterlaceModes)( + IVMRDeinterlaceControl9 *This, + VMR9VideoDesc *desc, + DWORD *nummodes, + GUID *modes); + + HRESULT (STDMETHODCALLTYPE *GetDeinterlaceModeCaps)( + IVMRDeinterlaceControl9 *This, + GUID *mode, + VMR9VideoDesc *desc, + VMR9DeinterlaceCaps *caps); + + HRESULT (STDMETHODCALLTYPE *GetDeinterlaceMode)( + IVMRDeinterlaceControl9 *This, + DWORD streamid, + GUID *mode); + + HRESULT (STDMETHODCALLTYPE *SetDeinterlaceMode)( + IVMRDeinterlaceControl9 *This, + DWORD streamid, + GUID *mode); + + HRESULT (STDMETHODCALLTYPE *GetDeinterlacePrefs)( + IVMRDeinterlaceControl9 *This, + DWORD *prefs); + + HRESULT (STDMETHODCALLTYPE *SetDeinterlacePrefs)( + IVMRDeinterlaceControl9 *This, + DWORD prefs); + + HRESULT (STDMETHODCALLTYPE *GetActualDeinterlaceMode)( + IVMRDeinterlaceControl9 *This, + DWORD streamid, + GUID *mode); + + END_INTERFACE +} IVMRDeinterlaceControl9Vtbl; + +interface IVMRDeinterlaceControl9 { + CONST_VTBL IVMRDeinterlaceControl9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRDeinterlaceControl9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRDeinterlaceControl9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRDeinterlaceControl9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRDeinterlaceControl9 methods ***/ +#define IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) (This)->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes) +#define IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(This,mode,desc,caps) (This)->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps) +#define IVMRDeinterlaceControl9_GetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetDeinterlaceMode(This,streamid,mode) +#define IVMRDeinterlaceControl9_SetDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->SetDeinterlaceMode(This,streamid,mode) +#define IVMRDeinterlaceControl9_GetDeinterlacePrefs(This,prefs) (This)->lpVtbl->GetDeinterlacePrefs(This,prefs) +#define IVMRDeinterlaceControl9_SetDeinterlacePrefs(This,prefs) (This)->lpVtbl->SetDeinterlacePrefs(This,prefs) +#define IVMRDeinterlaceControl9_GetActualDeinterlaceMode(This,streamid,mode) (This)->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRDeinterlaceControl9_QueryInterface(IVMRDeinterlaceControl9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRDeinterlaceControl9_AddRef(IVMRDeinterlaceControl9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRDeinterlaceControl9_Release(IVMRDeinterlaceControl9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRDeinterlaceControl9 methods ***/ +static inline HRESULT IVMRDeinterlaceControl9_GetNumberOfDeinterlaceModes(IVMRDeinterlaceControl9* This,VMR9VideoDesc *desc,DWORD *nummodes,GUID *modes) { + return This->lpVtbl->GetNumberOfDeinterlaceModes(This,desc,nummodes,modes); +} +static inline HRESULT IVMRDeinterlaceControl9_GetDeinterlaceModeCaps(IVMRDeinterlaceControl9* This,GUID *mode,VMR9VideoDesc *desc,VMR9DeinterlaceCaps *caps) { + return This->lpVtbl->GetDeinterlaceModeCaps(This,mode,desc,caps); +} +static inline HRESULT IVMRDeinterlaceControl9_GetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { + return This->lpVtbl->GetDeinterlaceMode(This,streamid,mode); +} +static inline HRESULT IVMRDeinterlaceControl9_SetDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { + return This->lpVtbl->SetDeinterlaceMode(This,streamid,mode); +} +static inline HRESULT IVMRDeinterlaceControl9_GetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD *prefs) { + return This->lpVtbl->GetDeinterlacePrefs(This,prefs); +} +static inline HRESULT IVMRDeinterlaceControl9_SetDeinterlacePrefs(IVMRDeinterlaceControl9* This,DWORD prefs) { + return This->lpVtbl->SetDeinterlacePrefs(This,prefs); +} +static inline HRESULT IVMRDeinterlaceControl9_GetActualDeinterlaceMode(IVMRDeinterlaceControl9* This,DWORD streamid,GUID *mode) { + return This->lpVtbl->GetActualDeinterlaceMode(This,streamid,mode); +} +#endif +#endif + +#endif + + +#endif /* __IVMRDeinterlaceControl9_INTERFACE_DEFINED__ */ + +typedef struct _VMR9VideoStreamInfo { + IDirect3DSurface9 *pddsVideoSurface; + DWORD dwWidth; + DWORD dwHeight; + DWORD dwStrmID; + FLOAT fAlpha; + VMR9NormalizedRect rNormal; + REFERENCE_TIME rtStart; + REFERENCE_TIME rtEnd; + VMR9_SampleFormat SampleFormat; +} VMR9VideoStreamInfo; +/***************************************************************************** + * IVMRImageCompositor9 interface + */ +#ifndef __IVMRImageCompositor9_INTERFACE_DEFINED__ +#define __IVMRImageCompositor9_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4a5c89eb-df51-4654-ac2a-e48e02bbabf6") +IVMRImageCompositor9 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitCompositionDevice( + IUnknown *d3ddev) = 0; + + virtual HRESULT STDMETHODCALLTYPE TermCompositionDevice( + IUnknown *d3ddev) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamMediaType( + DWORD stream, + AM_MEDIA_TYPE *mt, + WINBOOL texture) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompositeImage( + IUnknown *d3ddev, + IDirect3DSurface9 *d3dtarget, + AM_MEDIA_TYPE *mttarget, + REFERENCE_TIME start, + REFERENCE_TIME stop, + D3DCOLOR back, + VMR9VideoStreamInfo *info, + UINT streams) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVMRImageCompositor9, 0x4a5c89eb, 0xdf51, 0x4654, 0xac,0x2a, 0xe4,0x8e,0x02,0xbb,0xab,0xf6) +#endif +#else +typedef struct IVMRImageCompositor9Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVMRImageCompositor9 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVMRImageCompositor9 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVMRImageCompositor9 *This); + + /*** IVMRImageCompositor9 methods ***/ + HRESULT (STDMETHODCALLTYPE *InitCompositionDevice)( + IVMRImageCompositor9 *This, + IUnknown *d3ddev); + + HRESULT (STDMETHODCALLTYPE *TermCompositionDevice)( + IVMRImageCompositor9 *This, + IUnknown *d3ddev); + + HRESULT (STDMETHODCALLTYPE *SetStreamMediaType)( + IVMRImageCompositor9 *This, + DWORD stream, + AM_MEDIA_TYPE *mt, + WINBOOL texture); + + HRESULT (STDMETHODCALLTYPE *CompositeImage)( + IVMRImageCompositor9 *This, + IUnknown *d3ddev, + IDirect3DSurface9 *d3dtarget, + AM_MEDIA_TYPE *mttarget, + REFERENCE_TIME start, + REFERENCE_TIME stop, + D3DCOLOR back, + VMR9VideoStreamInfo *info, + UINT streams); + + END_INTERFACE +} IVMRImageCompositor9Vtbl; + +interface IVMRImageCompositor9 { + CONST_VTBL IVMRImageCompositor9Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVMRImageCompositor9_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVMRImageCompositor9_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVMRImageCompositor9_Release(This) (This)->lpVtbl->Release(This) +/*** IVMRImageCompositor9 methods ***/ +#define IVMRImageCompositor9_InitCompositionDevice(This,d3ddev) (This)->lpVtbl->InitCompositionDevice(This,d3ddev) +#define IVMRImageCompositor9_TermCompositionDevice(This,d3ddev) (This)->lpVtbl->TermCompositionDevice(This,d3ddev) +#define IVMRImageCompositor9_SetStreamMediaType(This,stream,mt,texture) (This)->lpVtbl->SetStreamMediaType(This,stream,mt,texture) +#define IVMRImageCompositor9_CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) (This)->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVMRImageCompositor9_QueryInterface(IVMRImageCompositor9* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVMRImageCompositor9_AddRef(IVMRImageCompositor9* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVMRImageCompositor9_Release(IVMRImageCompositor9* This) { + return This->lpVtbl->Release(This); +} +/*** IVMRImageCompositor9 methods ***/ +static inline HRESULT IVMRImageCompositor9_InitCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { + return This->lpVtbl->InitCompositionDevice(This,d3ddev); +} +static inline HRESULT IVMRImageCompositor9_TermCompositionDevice(IVMRImageCompositor9* This,IUnknown *d3ddev) { + return This->lpVtbl->TermCompositionDevice(This,d3ddev); +} +static inline HRESULT IVMRImageCompositor9_SetStreamMediaType(IVMRImageCompositor9* This,DWORD stream,AM_MEDIA_TYPE *mt,WINBOOL texture) { + return This->lpVtbl->SetStreamMediaType(This,stream,mt,texture); +} +static inline HRESULT IVMRImageCompositor9_CompositeImage(IVMRImageCompositor9* This,IUnknown *d3ddev,IDirect3DSurface9 *d3dtarget,AM_MEDIA_TYPE *mttarget,REFERENCE_TIME start,REFERENCE_TIME stop,D3DCOLOR back,VMR9VideoStreamInfo *info,UINT streams) { + return This->lpVtbl->CompositeImage(This,d3ddev,d3dtarget,mttarget,start,stop,back,info,streams); +} +#endif +#endif + +#endif + + +#endif /* __IVMRImageCompositor9_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vmr9_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsadmin.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsadmin.h new file mode 100644 index 00000000..54627433 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsadmin.h @@ -0,0 +1,350 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vsadmin.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 __vsadmin_h__ +#define __vsadmin_h__ + +/* Forward declarations */ + +#ifndef __IVssAdmin_FWD_DEFINED__ +#define __IVssAdmin_FWD_DEFINED__ +typedef interface IVssAdmin IVssAdmin; +#ifdef __cplusplus +interface IVssAdmin; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssAdminEx_FWD_DEFINED__ +#define __IVssAdminEx_FWD_DEFINED__ +typedef interface IVssAdminEx IVssAdminEx; +#ifdef __cplusplus +interface IVssAdminEx; +#endif /* __cplusplus */ +#endif + +#ifndef __VSSCoordinator_FWD_DEFINED__ +#define __VSSCoordinator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class VSSCoordinator VSSCoordinator; +#else +typedef struct VSSCoordinator VSSCoordinator; +#endif /* defined __cplusplus */ +#endif /* defined __VSSCoordinator_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * IVssAdmin interface + */ +#ifndef __IVssAdmin_INTERFACE_DEFINED__ +#define __IVssAdmin_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssAdmin, 0x77ed5996, 0x2f63, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("77ed5996-2f63-11d3-8a39-00c04f72d8e3") +IVssAdmin : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RegisterProvider( + VSS_ID pProviderId, + CLSID ClassId, + VSS_PWSZ pwszProviderName, + VSS_PROVIDER_TYPE eProviderType, + VSS_PWSZ pwszProviderVersion, + VSS_ID ProviderVersionId) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnregisterProvider( + VSS_ID ProviderId) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryProviders( + IVssEnumObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbortAllSnapshotsInProgress( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssAdmin, 0x77ed5996, 0x2f63, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3) +#endif +#else +typedef struct IVssAdminVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssAdmin *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssAdmin *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssAdmin *This); + + /*** IVssAdmin methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterProvider)( + IVssAdmin *This, + VSS_ID pProviderId, + CLSID ClassId, + VSS_PWSZ pwszProviderName, + VSS_PROVIDER_TYPE eProviderType, + VSS_PWSZ pwszProviderVersion, + VSS_ID ProviderVersionId); + + HRESULT (STDMETHODCALLTYPE *UnregisterProvider)( + IVssAdmin *This, + VSS_ID ProviderId); + + HRESULT (STDMETHODCALLTYPE *QueryProviders)( + IVssAdmin *This, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *AbortAllSnapshotsInProgress)( + IVssAdmin *This); + + END_INTERFACE +} IVssAdminVtbl; + +interface IVssAdmin { + CONST_VTBL IVssAdminVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssAdmin_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssAdmin_Release(This) (This)->lpVtbl->Release(This) +/*** IVssAdmin methods ***/ +#define IVssAdmin_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) +#define IVssAdmin_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId) +#define IVssAdmin_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum) +#define IVssAdmin_AbortAllSnapshotsInProgress(This) (This)->lpVtbl->AbortAllSnapshotsInProgress(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssAdmin_QueryInterface(IVssAdmin* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssAdmin_AddRef(IVssAdmin* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssAdmin_Release(IVssAdmin* This) { + return This->lpVtbl->Release(This); +} +/*** IVssAdmin methods ***/ +static inline HRESULT IVssAdmin_RegisterProvider(IVssAdmin* This,VSS_ID pProviderId,CLSID ClassId,VSS_PWSZ pwszProviderName,VSS_PROVIDER_TYPE eProviderType,VSS_PWSZ pwszProviderVersion,VSS_ID ProviderVersionId) { + return This->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId); +} +static inline HRESULT IVssAdmin_UnregisterProvider(IVssAdmin* This,VSS_ID ProviderId) { + return This->lpVtbl->UnregisterProvider(This,ProviderId); +} +static inline HRESULT IVssAdmin_QueryProviders(IVssAdmin* This,IVssEnumObject **ppEnum) { + return This->lpVtbl->QueryProviders(This,ppEnum); +} +static inline HRESULT IVssAdmin_AbortAllSnapshotsInProgress(IVssAdmin* This) { + return This->lpVtbl->AbortAllSnapshotsInProgress(This); +} +#endif +#endif + +#endif + + +#endif /* __IVssAdmin_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssAdminEx interface + */ +#ifndef __IVssAdminEx_INTERFACE_DEFINED__ +#define __IVssAdminEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssAdminEx, 0x7858a9f8, 0xb1fa, 0x41a6, 0x96,0x4f, 0xb9,0xb3,0x6b,0x8c,0xd8,0xd8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7858a9f8-b1fa-41a6-964f-b9b36b8cd8d8") +IVssAdminEx : public IVssAdmin +{ + virtual HRESULT STDMETHODCALLTYPE GetProviderCapability( + VSS_ID pProviderId, + ULONGLONG *pllOriginalCapabilityMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProviderContext( + VSS_ID ProviderId, + LONG *plContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProviderContext( + VSS_ID ProviderId, + LONG lContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssAdminEx, 0x7858a9f8, 0xb1fa, 0x41a6, 0x96,0x4f, 0xb9,0xb3,0x6b,0x8c,0xd8,0xd8) +#endif +#else +typedef struct IVssAdminExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssAdminEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssAdminEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssAdminEx *This); + + /*** IVssAdmin methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterProvider)( + IVssAdminEx *This, + VSS_ID pProviderId, + CLSID ClassId, + VSS_PWSZ pwszProviderName, + VSS_PROVIDER_TYPE eProviderType, + VSS_PWSZ pwszProviderVersion, + VSS_ID ProviderVersionId); + + HRESULT (STDMETHODCALLTYPE *UnregisterProvider)( + IVssAdminEx *This, + VSS_ID ProviderId); + + HRESULT (STDMETHODCALLTYPE *QueryProviders)( + IVssAdminEx *This, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *AbortAllSnapshotsInProgress)( + IVssAdminEx *This); + + /*** IVssAdminEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProviderCapability)( + IVssAdminEx *This, + VSS_ID pProviderId, + ULONGLONG *pllOriginalCapabilityMask); + + HRESULT (STDMETHODCALLTYPE *GetProviderContext)( + IVssAdminEx *This, + VSS_ID ProviderId, + LONG *plContext); + + HRESULT (STDMETHODCALLTYPE *SetProviderContext)( + IVssAdminEx *This, + VSS_ID ProviderId, + LONG lContext); + + END_INTERFACE +} IVssAdminExVtbl; + +interface IVssAdminEx { + CONST_VTBL IVssAdminExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssAdminEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssAdminEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssAdminEx_Release(This) (This)->lpVtbl->Release(This) +/*** IVssAdmin methods ***/ +#define IVssAdminEx_RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) (This)->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId) +#define IVssAdminEx_UnregisterProvider(This,ProviderId) (This)->lpVtbl->UnregisterProvider(This,ProviderId) +#define IVssAdminEx_QueryProviders(This,ppEnum) (This)->lpVtbl->QueryProviders(This,ppEnum) +#define IVssAdminEx_AbortAllSnapshotsInProgress(This) (This)->lpVtbl->AbortAllSnapshotsInProgress(This) +/*** IVssAdminEx methods ***/ +#define IVssAdminEx_GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask) (This)->lpVtbl->GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask) +#define IVssAdminEx_GetProviderContext(This,ProviderId,plContext) (This)->lpVtbl->GetProviderContext(This,ProviderId,plContext) +#define IVssAdminEx_SetProviderContext(This,ProviderId,lContext) (This)->lpVtbl->SetProviderContext(This,ProviderId,lContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssAdminEx_QueryInterface(IVssAdminEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssAdminEx_AddRef(IVssAdminEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssAdminEx_Release(IVssAdminEx* This) { + return This->lpVtbl->Release(This); +} +/*** IVssAdmin methods ***/ +static inline HRESULT IVssAdminEx_RegisterProvider(IVssAdminEx* This,VSS_ID pProviderId,CLSID ClassId,VSS_PWSZ pwszProviderName,VSS_PROVIDER_TYPE eProviderType,VSS_PWSZ pwszProviderVersion,VSS_ID ProviderVersionId) { + return This->lpVtbl->RegisterProvider(This,pProviderId,ClassId,pwszProviderName,eProviderType,pwszProviderVersion,ProviderVersionId); +} +static inline HRESULT IVssAdminEx_UnregisterProvider(IVssAdminEx* This,VSS_ID ProviderId) { + return This->lpVtbl->UnregisterProvider(This,ProviderId); +} +static inline HRESULT IVssAdminEx_QueryProviders(IVssAdminEx* This,IVssEnumObject **ppEnum) { + return This->lpVtbl->QueryProviders(This,ppEnum); +} +static inline HRESULT IVssAdminEx_AbortAllSnapshotsInProgress(IVssAdminEx* This) { + return This->lpVtbl->AbortAllSnapshotsInProgress(This); +} +/*** IVssAdminEx methods ***/ +static inline HRESULT IVssAdminEx_GetProviderCapability(IVssAdminEx* This,VSS_ID pProviderId,ULONGLONG *pllOriginalCapabilityMask) { + return This->lpVtbl->GetProviderCapability(This,pProviderId,pllOriginalCapabilityMask); +} +static inline HRESULT IVssAdminEx_GetProviderContext(IVssAdminEx* This,VSS_ID ProviderId,LONG *plContext) { + return This->lpVtbl->GetProviderContext(This,ProviderId,plContext); +} +static inline HRESULT IVssAdminEx_SetProviderContext(IVssAdminEx* This,VSS_ID ProviderId,LONG lContext) { + return This->lpVtbl->SetProviderContext(This,ProviderId,lContext); +} +#endif +#endif + +#endif + + +#endif /* __IVssAdminEx_INTERFACE_DEFINED__ */ + +#ifndef __VSSAdmin_LIBRARY_DEFINED__ +#define __VSSAdmin_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_VSSAdmin, 0x9148a774, 0x0304, 0x4243, 0xb2,0x69, 0xa3,0x39,0xaa,0x96,0xd2,0x64); + +/***************************************************************************** + * VSSCoordinator coclass + */ + +DEFINE_GUID(CLSID_VSSCoordinator, 0xe579ab5f, 0x1cc4, 0x44b4, 0xbe,0xd9, 0xde,0x09,0x91,0xff,0x06,0x23); + +#ifdef __cplusplus +class DECLSPEC_UUID("e579ab5f-1cc4-44b4-bed9-de0991ff0623") VSSCoordinator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(VSSCoordinator, 0xe579ab5f, 0x1cc4, 0x44b4, 0xbe,0xd9, 0xde,0x09,0x91,0xff,0x06,0x23) +#endif +#endif + +#endif /* __VSSAdmin_LIBRARY_DEFINED__ */ +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vsadmin_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsanimation.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsanimation.h new file mode 100644 index 00000000..431a7e9e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsanimation.h @@ -0,0 +1,242 @@ +/** + * 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 __VSANIMATION_H__ +#define __VSANIMATION_H__ + +#ifndef VSCLASS_ANIMATIONS +#define VSCLASS_ANIMATIONS L"ANIMATIONS" +#endif + +enum ANIMATIONSPARTS { + TAS_EXPAND = 1, + TAS_COLLAPSE = 2, + TAS_REPOSITION = 3, + TAS_FADEIN = 4, + TAS_FADEOUT = 5, + TAS_ADDTOLIST = 6, + TAS_DELETEFROMLIST = 7, + TAS_ADDTOGRID = 8, + TAS_DELETEFROMGRID = 9, + TAS_ADDTOSEARCHGRID = 10, + TAS_DELETEFROMSEARCHGRID = 11, + TAS_ADDTOSEARCHLIST = 12, + TAS_DELETEFROMSEARCHLIST = 13, + TAS_SHOWEDGEUI = 14, + TAS_SHOWPANEL = 15, + TAS_HIDEEDGEUI = 16, + TAS_HIDEPANEL = 17, + TAS_SHOWPOPUP = 18, + TAS_HIDEPOPUP = 19, + TAS_POINTERDOWN = 20, + TAS_POINTERUP = 21, + TAS_DRAGSOURCESTART = 22, + TAS_DRAGSOURCEEND = 23, + TAS_TRANSITIONCONTENT = 24, + TAS_REVEAL = 25, + TAS_HIDE = 26, + TAS_DRAGBETWEENENTER = 27, + TAS_DRAGBETWEENLEAVE = 28, + TAS_SWIPESELECT = 29, + TAS_SWIPEDESELECT = 30, + TAS_SWIPEREVEAL = 31, + TAS_ENTERPAGE = 32, + TAS_TRANSITIONPAGE = 33, + TAS_CROSSFADE = 34, + TAS_PEEK = 35, + TAS_UPDATEBADGE = 36 +}; + +enum EXPANDSTATES { + TA_EXPAND_AFFECTED = 1, + TA_EXPAND_REVEALED = 2 +}; + +enum COLLAPSESTATES { + TA_COLLAPSE_HIDDEN = 1, + TA_COLLAPSE_AFFECTED = 2 +}; + +enum REPOSITIONSTATES { + TA_REPOSITION_TARGET = 1 +}; + +enum FADEINSTATES { + TA_FADEIN_SHOWN = 1 +}; + +enum FADEOUTSTATES { + TA_FADEOUT_HIDDEN = 1 +}; + +enum ADDTOGRIDSTATES { + TA_ADDTOGRID_ADDED = 1, + TA_ADDTOGRID_AFFECTED = 2, + TA_ADDTOGRID_ROWOUT = 3, + TA_ADDTOGRID_ROWIN = 4 +}; + +enum DELETEFROMGRIDSTATES { + TA_DELETEFROMGRID_DELETED = 1, + TA_DELETEFROMGRID_REMAINING = 2, + TA_DELETEFROMGRID_ROWOUT = 3, + TA_DELETEFROMGRID_ROWIN = 4 +}; + +enum ADDTOLISTSTATES { + TA_ADDTOLIST_ADDED = 1, + TA_ADDTOLIST_AFFECTED = 2 +}; + +enum DELETEFROMLISTSTATES { + TA_DELETEFROMLIST_DELETED = 1, + TA_DELETEFROMLIST_REMAINING = 2 +}; + +enum ADDTOSEARCHGRIDSTATES { + TA_ADDTOSEARCHGRID_ADDED = 1, + TA_ADDTOSEARCHGRID_AFFECTED = 2, + TA_ADDTOSEARCHGRID_ROWOUT = 3, + TA_ADDTOSEARCHGRID_ROWIN = 4 +}; + +enum DELETEFROMSEARCHGRIDSTATES { + TA_DELETEFROMSEARCHGRID_DELETED = 1, + TA_DELETEFROMSEARCHGRID_REMAINING = 2, + TA_DELETEFROMSEARCHGRID_ROWOUT = 3, + TA_DELETEFROMSEARCHGRID_ROWIN = 4 +}; + +enum ADDTOSEARCHLISTSTATES { + TA_ADDTOSEARCHLIST_ADDED = 1, + TA_ADDTOSEARCHLIST_AFFECTED = 2 +}; + +enum DELETEFROMSEARCHLISTSTATES { + TA_DELETEFROMSEARCHLIST_DELETED = 1, + TA_DELETEFROMSEARCHLIST_REMAINING = 2 +}; + +enum SHOWEDGEUISTATES { + TA_SHOWEDGEUI_TARGET = 1 +}; + +enum HIDEEDGEUISTATES { + TA_HIDEEDGEUI_TARGET = 1 +}; + +enum SHOWPANELSTATES { + TA_SHOWPANEL_TARGET = 1 +}; + +enum HIDEPANELSTATES { + TA_HIDEPANEL_TARGET = 1 +}; + +enum SHOWPOPUPSTATES { + TA_SHOWPOPUP_TARGET = 1 +}; + +enum HIDEPOPUPSTATES { + TA_HIDEPOPUP_TARGET = 1 +}; + +enum POINTERDOWNSTATES { + TA_POINTERDOWN_TARGET = 1 +}; + +enum POINTERUPSTATES { + TA_POINTERUP_TARGET = 1 +}; + +enum DRAGSOURCESTARTSTATES { + TA_DRAGSOURCESTART_DRAGSOURCE = 1, + TA_DRAGSOURCESTART_AFFECTED = 2 +}; + +enum DRAGSOURCEENDSTATES { + TA_DRAGSOURCEEND_DRAGSOURCE = 1, + TA_DRAGSOURCEEND_AFFECTED = 2 +}; + +enum TRANSITIONCONTENTSTATES { + TA_TRANSITIONCONTENT_INCOMING = 1, + TA_TRANSITIONCONTENT_OUTGOING = 2 +}; + +enum REVEALSTATES { + TA_REVEAL_BACKGROUND = 1, + TA_REVEAL_CONTENT = 2, + TA_REVEAL_OUTLINE = 3, + TA_REVEAL_TAPPED = 4 +}; + +enum HIDESTATES { + TA_HIDE_BACKGROUND = 1, + TA_HIDE_CONTENT = 2, + TA_HIDE_OUTLINE = 3, + TA_HIDE_TAPPED = 4 +}; + +enum DRAGBETWEENENTERSTATES { + TA_DRAGBETWEENENTER_AFFECTED = 1 +}; + +enum DRAGBETWEENLEAVESTATES { + TA_DRAGBETWEENLEAVE_AFFECTED = 1 +}; + +enum SWIPESELECTSTATES { + TA_SWIPESELECT_SELECTED = 1, + TA_SWIPESELECT_SELECTION = 2 +}; + +enum SWIPEDESELECTSTATES { + TA_SWIPEDESELECT_DESELECTED = 1, + TA_SWIPEDESELECT_SELECTION = 2 +}; + +enum SWIPEREVEALSTATES { + TA_SWIPEREVEAL_TARGET = 1 +}; + +enum ENTERPAGESTATES { + TA_ENTERPAGE_TARGET = 1 +}; + +enum TRANSITIONPAGESTATES { + TA_TRANSITIONPAGE_INCOMING = 1, + TA_TRANSITIONPAGE_OUTGOING = 2 +}; + +enum CROSSFADESTATES { + TA_CROSSFADE_INCOMING = 1, + TA_CROSSFADE_OUTGOING = 2 +}; + +enum PEEKSTATES { + TA_PEEK_TARGET = 1 +}; + +enum UPDATEBADGESTATES { + TA_UPDATEBADGE_INCOMING = 1, + TA_UPDATEBADGE_OUTGOING = 2 +}; + +#ifndef VSCLASS_TIMINGFUNCTION +#define VSCLASS_TIMINGFUNCTION L"TIMINGFUNCTION" +#endif + +enum TIMINGFUNCTIONPARTS { + TATF_LINEAR = 1, + TATF_EASEIN = 2, + TATF_EASEOUT = 3, + TATF_FASTIN = 4, + TATF_EXPONENTIAL = 5, + TATF_FASTINFORTYSEVENPERCENT = 6 +}; + +#endif /* __VSANIMATION_H__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsbackup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsbackup.h new file mode 100644 index 00000000..7c62b745 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsbackup.h @@ -0,0 +1,4442 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vsbackup.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 __vsbackup_h__ +#define __vsbackup_h__ + +/* Forward declarations */ + +#ifndef __IVssWMComponent_FWD_DEFINED__ +#define __IVssWMComponent_FWD_DEFINED__ +typedef interface IVssWMComponent IVssWMComponent; +#ifdef __cplusplus +interface IVssWMComponent; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssExamineWriterMetadata_FWD_DEFINED__ +#define __IVssExamineWriterMetadata_FWD_DEFINED__ +typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata; +#ifdef __cplusplus +interface IVssExamineWriterMetadata; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssExamineWriterMetadataEx_FWD_DEFINED__ +#define __IVssExamineWriterMetadataEx_FWD_DEFINED__ +typedef interface IVssExamineWriterMetadataEx IVssExamineWriterMetadataEx; +#ifdef __cplusplus +interface IVssExamineWriterMetadataEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssExamineWriterMetadataEx2_FWD_DEFINED__ +#define __IVssExamineWriterMetadataEx2_FWD_DEFINED__ +typedef interface IVssExamineWriterMetadataEx2 IVssExamineWriterMetadataEx2; +#ifdef __cplusplus +interface IVssExamineWriterMetadataEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssWriterComponentsExt_FWD_DEFINED__ +#define __IVssWriterComponentsExt_FWD_DEFINED__ +typedef interface IVssWriterComponentsExt IVssWriterComponentsExt; +#ifdef __cplusplus +interface IVssWriterComponentsExt; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssBackupComponents_FWD_DEFINED__ +#define __IVssBackupComponents_FWD_DEFINED__ +typedef interface IVssBackupComponents IVssBackupComponents; +#ifdef __cplusplus +interface IVssBackupComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssBackupComponentsEx_FWD_DEFINED__ +#define __IVssBackupComponentsEx_FWD_DEFINED__ +typedef interface IVssBackupComponentsEx IVssBackupComponentsEx; +#ifdef __cplusplus +interface IVssBackupComponentsEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssBackupComponentsEx2_FWD_DEFINED__ +#define __IVssBackupComponentsEx2_FWD_DEFINED__ +typedef interface IVssBackupComponentsEx2 IVssBackupComponentsEx2; +#ifdef __cplusplus +interface IVssBackupComponentsEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssBackupComponentsEx3_FWD_DEFINED__ +#define __IVssBackupComponentsEx3_FWD_DEFINED__ +typedef interface IVssBackupComponentsEx3 IVssBackupComponentsEx3; +#ifdef __cplusplus +interface IVssBackupComponentsEx3; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssBackupComponentsEx4_FWD_DEFINED__ +#define __IVssBackupComponentsEx4_FWD_DEFINED__ +typedef interface IVssBackupComponentsEx4 IVssBackupComponentsEx4; +#ifdef __cplusplus +interface IVssBackupComponentsEx4; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +typedef struct _VSS_COMPONENTINFO { + VSS_COMPONENT_TYPE type; + BSTR bstrLogicalPath; + BSTR bstrComponentName; + BSTR bstrCaption; + BYTE *pbIcon; + UINT cbIcon; + boolean bRestoreMetadata; + boolean bNotifyOnBackupComplete; + boolean bSelectable; + boolean bSelectableForRestore; + DWORD dwComponentFlags; + UINT cFileCount; + UINT cDatabases; + UINT cLogFiles; + UINT cDependencies; +} VSS_COMPONENTINFO; +typedef const VSS_COMPONENTINFO *PVSSCOMPONENTINFO; +/***************************************************************************** + * IVssWMComponent interface + */ +#ifndef __IVssWMComponent_INTERFACE_DEFINED__ +#define __IVssWMComponent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWMComponent : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetComponentInfo( + PVSSCOMPONENTINFO *ppInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE FreeComponentInfo( + PVSSCOMPONENTINFO pInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFile( + UINT iFile, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDatabaseFile( + UINT iDBFile, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDatabaseLogFile( + UINT iDbLogFile, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDependency( + UINT iDependency, + IVssWMDependency **ppDependency) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWMComponent, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWMComponentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssWMComponent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssWMComponent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssWMComponent *This); + + /*** IVssWMComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentInfo)( + IVssWMComponent *This, + PVSSCOMPONENTINFO *ppInfo); + + HRESULT (STDMETHODCALLTYPE *FreeComponentInfo)( + IVssWMComponent *This, + PVSSCOMPONENTINFO pInfo); + + HRESULT (STDMETHODCALLTYPE *GetFile)( + IVssWMComponent *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetDatabaseFile)( + IVssWMComponent *This, + UINT iDBFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetDatabaseLogFile)( + IVssWMComponent *This, + UINT iDbLogFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetDependency)( + IVssWMComponent *This, + UINT iDependency, + IVssWMDependency **ppDependency); + + END_INTERFACE +} IVssWMComponentVtbl; + +interface IVssWMComponent { + CONST_VTBL IVssWMComponentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssWMComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssWMComponent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssWMComponent_Release(This) (This)->lpVtbl->Release(This) +/*** IVssWMComponent methods ***/ +#define IVssWMComponent_GetComponentInfo(This,ppInfo) (This)->lpVtbl->GetComponentInfo(This,ppInfo) +#define IVssWMComponent_FreeComponentInfo(This,pInfo) (This)->lpVtbl->FreeComponentInfo(This,pInfo) +#define IVssWMComponent_GetFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetFile(This,iFile,ppFiledesc) +#define IVssWMComponent_GetDatabaseFile(This,iDBFile,ppFiledesc) (This)->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc) +#define IVssWMComponent_GetDatabaseLogFile(This,iDbLogFile,ppFiledesc) (This)->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc) +#define IVssWMComponent_GetDependency(This,iDependency,ppDependency) (This)->lpVtbl->GetDependency(This,iDependency,ppDependency) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssWMComponent_QueryInterface(IVssWMComponent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssWMComponent_AddRef(IVssWMComponent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssWMComponent_Release(IVssWMComponent* This) { + return This->lpVtbl->Release(This); +} +/*** IVssWMComponent methods ***/ +static inline HRESULT IVssWMComponent_GetComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO *ppInfo) { + return This->lpVtbl->GetComponentInfo(This,ppInfo); +} +static inline HRESULT IVssWMComponent_FreeComponentInfo(IVssWMComponent* This,PVSSCOMPONENTINFO pInfo) { + return This->lpVtbl->FreeComponentInfo(This,pInfo); +} +static inline HRESULT IVssWMComponent_GetFile(IVssWMComponent* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssWMComponent_GetDatabaseFile(IVssWMComponent* This,UINT iDBFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetDatabaseFile(This,iDBFile,ppFiledesc); +} +static inline HRESULT IVssWMComponent_GetDatabaseLogFile(IVssWMComponent* This,UINT iDbLogFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetDatabaseLogFile(This,iDbLogFile,ppFiledesc); +} +static inline HRESULT IVssWMComponent_GetDependency(IVssWMComponent* This,UINT iDependency,IVssWMDependency **ppDependency) { + return This->lpVtbl->GetDependency(This,iDependency,ppDependency); +} +#endif +#endif + +#endif + + +#endif /* __IVssWMComponent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssExamineWriterMetadata interface + */ +#ifndef __IVssExamineWriterMetadata_INTERFACE_DEFINED__ +#define __IVssExamineWriterMetadata_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("902fcf7f-b7fd-42f8-81f1-b2e400b1e5bd") +IVssExamineWriterMetadata : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetIdentity( + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileCounts( + UINT *pcIncludeFiles, + UINT *pcExcludeFiles, + UINT *pcComponents) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIncludeFile( + UINT iFile, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExcludeFile( + UINT iFile, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponent( + UINT iComponent, + IVssWMComponent **ppComponent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreMethod( + VSS_RESTOREMETHOD_ENUM *pMethod, + BSTR *pbstrService, + BSTR *pbstrUserProcedure, + VSS_WRITERRESTORE_ENUM *pwriterRestore, + boolean *pbRebootRequired, + UINT *pcMappings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMapping( + UINT iMapping, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupSchema( + DWORD *pdwSchemaMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocument( + IXMLDOMDocument **pDoc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveAsXML( + BSTR *pbstrXML) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadFromXML( + BSTR bstrXML) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssExamineWriterMetadata, 0x902fcf7f, 0xb7fd, 0x42f8, 0x81,0xf1, 0xb2,0xe4,0x00,0xb1,0xe5,0xbd) +#endif +#else +typedef struct IVssExamineWriterMetadataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssExamineWriterMetadata *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssExamineWriterMetadata *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssExamineWriterMetadata *This); + + /*** IVssExamineWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIdentity)( + IVssExamineWriterMetadata *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource); + + HRESULT (STDMETHODCALLTYPE *GetFileCounts)( + IVssExamineWriterMetadata *This, + UINT *pcIncludeFiles, + UINT *pcExcludeFiles, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( + IVssExamineWriterMetadata *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( + IVssExamineWriterMetadata *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetComponent)( + IVssExamineWriterMetadata *This, + UINT iComponent, + IVssWMComponent **ppComponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( + IVssExamineWriterMetadata *This, + VSS_RESTOREMETHOD_ENUM *pMethod, + BSTR *pbstrService, + BSTR *pbstrUserProcedure, + VSS_WRITERRESTORE_ENUM *pwriterRestore, + boolean *pbRebootRequired, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssExamineWriterMetadata *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( + IVssExamineWriterMetadata *This, + DWORD *pdwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *GetDocument)( + IVssExamineWriterMetadata *This, + IXMLDOMDocument **pDoc); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssExamineWriterMetadata *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *LoadFromXML)( + IVssExamineWriterMetadata *This, + BSTR bstrXML); + + END_INTERFACE +} IVssExamineWriterMetadataVtbl; + +interface IVssExamineWriterMetadata { + CONST_VTBL IVssExamineWriterMetadataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssExamineWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssExamineWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssExamineWriterMetadata_Release(This) (This)->lpVtbl->Release(This) +/*** IVssExamineWriterMetadata methods ***/ +#define IVssExamineWriterMetadata_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) +#define IVssExamineWriterMetadata_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) +#define IVssExamineWriterMetadata_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadata_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadata_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) +#define IVssExamineWriterMetadata_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) +#define IVssExamineWriterMetadata_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssExamineWriterMetadata_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) +#define IVssExamineWriterMetadata_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) +#define IVssExamineWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssExamineWriterMetadata_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssExamineWriterMetadata_QueryInterface(IVssExamineWriterMetadata* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssExamineWriterMetadata_AddRef(IVssExamineWriterMetadata* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssExamineWriterMetadata_Release(IVssExamineWriterMetadata* This) { + return This->lpVtbl->Release(This); +} +/*** IVssExamineWriterMetadata methods ***/ +static inline HRESULT IVssExamineWriterMetadata_GetIdentity(IVssExamineWriterMetadata* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { + return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); +} +static inline HRESULT IVssExamineWriterMetadata_GetFileCounts(IVssExamineWriterMetadata* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { + return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); +} +static inline HRESULT IVssExamineWriterMetadata_GetIncludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadata_GetExcludeFile(IVssExamineWriterMetadata* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadata_GetComponent(IVssExamineWriterMetadata* This,UINT iComponent,IVssWMComponent **ppComponent) { + return This->lpVtbl->GetComponent(This,iComponent,ppComponent); +} +static inline HRESULT IVssExamineWriterMetadata_GetRestoreMethod(IVssExamineWriterMetadata* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { + return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); +} +static inline HRESULT IVssExamineWriterMetadata_GetAlternateLocationMapping(IVssExamineWriterMetadata* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadata_GetBackupSchema(IVssExamineWriterMetadata* This,DWORD *pdwSchemaMask) { + return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); +} +static inline HRESULT IVssExamineWriterMetadata_GetDocument(IVssExamineWriterMetadata* This,IXMLDOMDocument **pDoc) { + return This->lpVtbl->GetDocument(This,pDoc); +} +static inline HRESULT IVssExamineWriterMetadata_SaveAsXML(IVssExamineWriterMetadata* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssExamineWriterMetadata_LoadFromXML(IVssExamineWriterMetadata* This,BSTR bstrXML) { + return This->lpVtbl->LoadFromXML(This,bstrXML); +} +#endif +#endif + +#endif + + +#endif /* __IVssExamineWriterMetadata_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssExamineWriterMetadataEx interface + */ +#ifndef __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ +#define __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0c0e5ec0-ca44-472b-b702-e652db1c0451") +IVssExamineWriterMetadataEx : public IVssExamineWriterMetadata +{ + virtual HRESULT STDMETHODCALLTYPE GetIdentityEx( + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + BSTR *pbstrInstanceName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssExamineWriterMetadataEx, 0x0c0e5ec0, 0xca44, 0x472b, 0xb7,0x02, 0xe6,0x52,0xdb,0x1c,0x04,0x51) +#endif +#else +typedef struct IVssExamineWriterMetadataExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssExamineWriterMetadataEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssExamineWriterMetadataEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssExamineWriterMetadataEx *This); + + /*** IVssExamineWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIdentity)( + IVssExamineWriterMetadataEx *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource); + + HRESULT (STDMETHODCALLTYPE *GetFileCounts)( + IVssExamineWriterMetadataEx *This, + UINT *pcIncludeFiles, + UINT *pcExcludeFiles, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( + IVssExamineWriterMetadataEx *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( + IVssExamineWriterMetadataEx *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetComponent)( + IVssExamineWriterMetadataEx *This, + UINT iComponent, + IVssWMComponent **ppComponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( + IVssExamineWriterMetadataEx *This, + VSS_RESTOREMETHOD_ENUM *pMethod, + BSTR *pbstrService, + BSTR *pbstrUserProcedure, + VSS_WRITERRESTORE_ENUM *pwriterRestore, + boolean *pbRebootRequired, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssExamineWriterMetadataEx *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( + IVssExamineWriterMetadataEx *This, + DWORD *pdwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *GetDocument)( + IVssExamineWriterMetadataEx *This, + IXMLDOMDocument **pDoc); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssExamineWriterMetadataEx *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *LoadFromXML)( + IVssExamineWriterMetadataEx *This, + BSTR bstrXML); + + /*** IVssExamineWriterMetadataEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIdentityEx)( + IVssExamineWriterMetadataEx *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + BSTR *pbstrInstanceName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource); + + END_INTERFACE +} IVssExamineWriterMetadataExVtbl; + +interface IVssExamineWriterMetadataEx { + CONST_VTBL IVssExamineWriterMetadataExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssExamineWriterMetadataEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssExamineWriterMetadataEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssExamineWriterMetadataEx_Release(This) (This)->lpVtbl->Release(This) +/*** IVssExamineWriterMetadata methods ***/ +#define IVssExamineWriterMetadataEx_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) +#define IVssExamineWriterMetadataEx_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) +#define IVssExamineWriterMetadataEx_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadataEx_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadataEx_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) +#define IVssExamineWriterMetadataEx_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) +#define IVssExamineWriterMetadataEx_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssExamineWriterMetadataEx_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) +#define IVssExamineWriterMetadataEx_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) +#define IVssExamineWriterMetadataEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssExamineWriterMetadataEx_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) +/*** IVssExamineWriterMetadataEx methods ***/ +#define IVssExamineWriterMetadataEx_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx_QueryInterface(IVssExamineWriterMetadataEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssExamineWriterMetadataEx_AddRef(IVssExamineWriterMetadataEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssExamineWriterMetadataEx_Release(IVssExamineWriterMetadataEx* This) { + return This->lpVtbl->Release(This); +} +/*** IVssExamineWriterMetadata methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx_GetIdentity(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { + return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetFileCounts(IVssExamineWriterMetadataEx* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { + return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetIncludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetExcludeFile(IVssExamineWriterMetadataEx* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetComponent(IVssExamineWriterMetadataEx* This,UINT iComponent,IVssWMComponent **ppComponent) { + return This->lpVtbl->GetComponent(This,iComponent,ppComponent); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetRestoreMethod(IVssExamineWriterMetadataEx* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { + return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetAlternateLocationMapping(IVssExamineWriterMetadataEx* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetBackupSchema(IVssExamineWriterMetadataEx* This,DWORD *pdwSchemaMask) { + return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); +} +static inline HRESULT IVssExamineWriterMetadataEx_GetDocument(IVssExamineWriterMetadataEx* This,IXMLDOMDocument **pDoc) { + return This->lpVtbl->GetDocument(This,pDoc); +} +static inline HRESULT IVssExamineWriterMetadataEx_SaveAsXML(IVssExamineWriterMetadataEx* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssExamineWriterMetadataEx_LoadFromXML(IVssExamineWriterMetadataEx* This,BSTR bstrXML) { + return This->lpVtbl->LoadFromXML(This,bstrXML); +} +/*** IVssExamineWriterMetadataEx methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx_GetIdentityEx(IVssExamineWriterMetadataEx* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { + return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource); +} +#endif +#endif + +#endif + + +#endif /* __IVssExamineWriterMetadataEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssExamineWriterMetadataEx2 interface + */ +#ifndef __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ +#define __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ce115780-a611-431b-b57f-c38303ab6aee") +IVssExamineWriterMetadataEx2 : public IVssExamineWriterMetadataEx +{ + virtual HRESULT STDMETHODCALLTYPE GetVersion( + DWORD *pdwMajorVersion, + DWORD *pdwMinorVersion) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotCount( + UINT *pcExcludedFromSnapshot) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExcludeFromSnapshotFile( + UINT iFile, + IVssWMFiledesc **ppFiledesc) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssExamineWriterMetadataEx2, 0xce115780, 0xa611, 0x431b, 0xb5,0x7f, 0xc3,0x83,0x03,0xab,0x6a,0xee) +#endif +#else +typedef struct IVssExamineWriterMetadataEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssExamineWriterMetadataEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssExamineWriterMetadataEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssExamineWriterMetadataEx2 *This); + + /*** IVssExamineWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIdentity)( + IVssExamineWriterMetadataEx2 *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource); + + HRESULT (STDMETHODCALLTYPE *GetFileCounts)( + IVssExamineWriterMetadataEx2 *This, + UINT *pcIncludeFiles, + UINT *pcExcludeFiles, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetIncludeFile)( + IVssExamineWriterMetadataEx2 *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetExcludeFile)( + IVssExamineWriterMetadataEx2 *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetComponent)( + IVssExamineWriterMetadataEx2 *This, + UINT iComponent, + IVssWMComponent **ppComponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMethod)( + IVssExamineWriterMetadataEx2 *This, + VSS_RESTOREMETHOD_ENUM *pMethod, + BSTR *pbstrService, + BSTR *pbstrUserProcedure, + VSS_WRITERRESTORE_ENUM *pwriterRestore, + boolean *pbRebootRequired, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssExamineWriterMetadataEx2 *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *GetBackupSchema)( + IVssExamineWriterMetadataEx2 *This, + DWORD *pdwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *GetDocument)( + IVssExamineWriterMetadataEx2 *This, + IXMLDOMDocument **pDoc); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssExamineWriterMetadataEx2 *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *LoadFromXML)( + IVssExamineWriterMetadataEx2 *This, + BSTR bstrXML); + + /*** IVssExamineWriterMetadataEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIdentityEx)( + IVssExamineWriterMetadataEx2 *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriterName, + BSTR *pbstrInstanceName, + VSS_USAGE_TYPE *pUsage, + VSS_SOURCE_TYPE *pSource); + + /*** IVssExamineWriterMetadataEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IVssExamineWriterMetadataEx2 *This, + DWORD *pdwMajorVersion, + DWORD *pdwMinorVersion); + + HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotCount)( + IVssExamineWriterMetadataEx2 *This, + UINT *pcExcludedFromSnapshot); + + HRESULT (STDMETHODCALLTYPE *GetExcludeFromSnapshotFile)( + IVssExamineWriterMetadataEx2 *This, + UINT iFile, + IVssWMFiledesc **ppFiledesc); + + END_INTERFACE +} IVssExamineWriterMetadataEx2Vtbl; + +interface IVssExamineWriterMetadataEx2 { + CONST_VTBL IVssExamineWriterMetadataEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssExamineWriterMetadataEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssExamineWriterMetadataEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssExamineWriterMetadataEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IVssExamineWriterMetadata methods ***/ +#define IVssExamineWriterMetadataEx2_GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) (This)->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource) +#define IVssExamineWriterMetadataEx2_GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) (This)->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents) +#define IVssExamineWriterMetadataEx2_GetIncludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadataEx2_GetExcludeFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc) +#define IVssExamineWriterMetadataEx2_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) +#define IVssExamineWriterMetadataEx2_GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) (This)->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings) +#define IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssExamineWriterMetadataEx2_GetBackupSchema(This,pdwSchemaMask) (This)->lpVtbl->GetBackupSchema(This,pdwSchemaMask) +#define IVssExamineWriterMetadataEx2_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) +#define IVssExamineWriterMetadataEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssExamineWriterMetadataEx2_LoadFromXML(This,bstrXML) (This)->lpVtbl->LoadFromXML(This,bstrXML) +/*** IVssExamineWriterMetadataEx methods ***/ +#define IVssExamineWriterMetadataEx2_GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) (This)->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource) +/*** IVssExamineWriterMetadataEx2 methods ***/ +#define IVssExamineWriterMetadataEx2_GetVersion(This,pdwMajorVersion,pdwMinorVersion) (This)->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion) +#define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot) (This)->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot) +#define IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(This,iFile,ppFiledesc) (This)->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx2_QueryInterface(IVssExamineWriterMetadataEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssExamineWriterMetadataEx2_AddRef(IVssExamineWriterMetadataEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssExamineWriterMetadataEx2_Release(IVssExamineWriterMetadataEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IVssExamineWriterMetadata methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx2_GetIdentity(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { + return This->lpVtbl->GetIdentity(This,pidInstance,pidWriter,pbstrWriterName,pUsage,pSource); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetFileCounts(IVssExamineWriterMetadataEx2* This,UINT *pcIncludeFiles,UINT *pcExcludeFiles,UINT *pcComponents) { + return This->lpVtbl->GetFileCounts(This,pcIncludeFiles,pcExcludeFiles,pcComponents); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetIncludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetIncludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetExcludeFile(This,iFile,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetComponent(IVssExamineWriterMetadataEx2* This,UINT iComponent,IVssWMComponent **ppComponent) { + return This->lpVtbl->GetComponent(This,iComponent,ppComponent); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetRestoreMethod(IVssExamineWriterMetadataEx2* This,VSS_RESTOREMETHOD_ENUM *pMethod,BSTR *pbstrService,BSTR *pbstrUserProcedure,VSS_WRITERRESTORE_ENUM *pwriterRestore,boolean *pbRebootRequired,UINT *pcMappings) { + return This->lpVtbl->GetRestoreMethod(This,pMethod,pbstrService,pbstrUserProcedure,pwriterRestore,pbRebootRequired,pcMappings); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetAlternateLocationMapping(IVssExamineWriterMetadataEx2* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetBackupSchema(IVssExamineWriterMetadataEx2* This,DWORD *pdwSchemaMask) { + return This->lpVtbl->GetBackupSchema(This,pdwSchemaMask); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetDocument(IVssExamineWriterMetadataEx2* This,IXMLDOMDocument **pDoc) { + return This->lpVtbl->GetDocument(This,pDoc); +} +static inline HRESULT IVssExamineWriterMetadataEx2_SaveAsXML(IVssExamineWriterMetadataEx2* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssExamineWriterMetadataEx2_LoadFromXML(IVssExamineWriterMetadataEx2* This,BSTR bstrXML) { + return This->lpVtbl->LoadFromXML(This,bstrXML); +} +/*** IVssExamineWriterMetadataEx methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx2_GetIdentityEx(IVssExamineWriterMetadataEx2* This,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriterName,BSTR *pbstrInstanceName,VSS_USAGE_TYPE *pUsage,VSS_SOURCE_TYPE *pSource) { + return This->lpVtbl->GetIdentityEx(This,pidInstance,pidWriter,pbstrWriterName,pbstrInstanceName,pUsage,pSource); +} +/*** IVssExamineWriterMetadataEx2 methods ***/ +static inline HRESULT IVssExamineWriterMetadataEx2_GetVersion(IVssExamineWriterMetadataEx2* This,DWORD *pdwMajorVersion,DWORD *pdwMinorVersion) { + return This->lpVtbl->GetVersion(This,pdwMajorVersion,pdwMinorVersion); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotCount(IVssExamineWriterMetadataEx2* This,UINT *pcExcludedFromSnapshot) { + return This->lpVtbl->GetExcludeFromSnapshotCount(This,pcExcludedFromSnapshot); +} +static inline HRESULT IVssExamineWriterMetadataEx2_GetExcludeFromSnapshotFile(IVssExamineWriterMetadataEx2* This,UINT iFile,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetExcludeFromSnapshotFile(This,iFile,ppFiledesc); +} +#endif +#endif + +#endif + + +#endif /* __IVssExamineWriterMetadataEx2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssWriterComponentsExt interface + */ +#ifndef __IVssWriterComponentsExt_INTERFACE_DEFINED__ +#define __IVssWriterComponentsExt_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWriterComponentsExt : public IVssWriterComponents +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWriterComponentsExt, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWriterComponentsExtVtbl { + BEGIN_INTERFACE + + /*** IVssWriterComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentCount)( + IVssWriterComponentsExt *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterInfo)( + IVssWriterComponentsExt *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter); + + HRESULT (STDMETHODCALLTYPE *GetComponent)( + IVssWriterComponentsExt *This, + UINT iComponent, + IVssComponent **ppComponent); + + END_INTERFACE +} IVssWriterComponentsExtVtbl; + +interface IVssWriterComponentsExt { + CONST_VTBL IVssWriterComponentsExtVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IVssWriterComponents methods ***/ +#define IVssWriterComponentsExt_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents) +#define IVssWriterComponentsExt_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter) +#define IVssWriterComponentsExt_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) +#else +/*** IVssWriterComponents methods ***/ +static inline HRESULT IVssWriterComponentsExt_GetComponentCount(IVssWriterComponentsExt* This,UINT *pcComponents) { + return This->lpVtbl->GetComponentCount(This,pcComponents); +} +static inline HRESULT IVssWriterComponentsExt_GetWriterInfo(IVssWriterComponentsExt* This,VSS_ID *pidInstance,VSS_ID *pidWriter) { + return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter); +} +static inline HRESULT IVssWriterComponentsExt_GetComponent(IVssWriterComponentsExt* This,UINT iComponent,IVssComponent **ppComponent) { + return This->lpVtbl->GetComponent(This,iComponent,ppComponent); +} +#endif +#endif + +#endif + + +#endif /* __IVssWriterComponentsExt_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssBackupComponents interface + */ +#ifndef __IVssBackupComponents_INTERFACE_DEFINED__ +#define __IVssBackupComponents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("665c1d5f-c218-414d-a05d-7fef5f9d5c86") +IVssBackupComponents : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWriterComponentsCount( + UINT *pcComponents) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterComponents( + UINT iWriter, + IVssWriterComponentsExt **ppWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeForBackup( + BSTR bstrXML = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupState( + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeForRestore( + BSTR bstrXML) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreState( + VSS_RESTORE_TYPE restoreType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GatherWriterMetadata( + IVssAsync **pAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataCount( + UINT *pcWriters) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterMetadata( + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE FreeWriterMetadata( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddComponent( + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName) = 0; + + virtual HRESULT STDMETHODCALLTYPE PrepareForBackup( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbortBackup( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GatherWriterStatus( + IVssAsync **pAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterStatusCount( + UINT *pcWriters) = 0; + + virtual HRESULT STDMETHODCALLTYPE FreeWriterStatus( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterStatus( + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupSucceeded( + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupOptions( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestore( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreOptions( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAdditionalRestores( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPreviousBackupStamp( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveAsXML( + BSTR *pbstrXML) = 0; + + virtual HRESULT STDMETHODCALLTYPE BackupComplete( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAlternativeLocationMapping( + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRestoreSubcomponent( + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFileRestoreStatus( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddNewTarget( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRangesFilePath( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE PreRestore( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE PostRestore( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContext( + LONG lContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartSnapshotSet( + VSS_ID *pSnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddToSnapshotSet( + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoSnapshotSet( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots( + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID) = 0; + + virtual HRESULT STDMETHODCALLTYPE ImportSnapshots( + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSet( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties( + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp) = 0; + + virtual HRESULT STDMETHODCALLTYPE Query( + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported( + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableWriterClasses( + const VSS_ID *rgWriterClassId, + UINT cClassId) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableWriterClasses( + const VSS_ID *rgWriterClassId, + UINT cClassId) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableWriterInstances( + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExposeSnapshot( + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed) = 0; + + virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot( + VSS_ID SnapshotId, + WINBOOL bForceDismount) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus( + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssBackupComponents, 0x665c1d5f, 0xc218, 0x414d, 0xa0,0x5d, 0x7f,0xef,0x5f,0x9d,0x5c,0x86) +#endif +#else +typedef struct IVssBackupComponentsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssBackupComponents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssBackupComponents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssBackupComponents *This); + + /*** IVssBackupComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( + IVssBackupComponents *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( + IVssBackupComponents *This, + UINT iWriter, + IVssWriterComponentsExt **ppWriter); + + HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( + IVssBackupComponents *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetBackupState)( + IVssBackupComponents *This, + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport); + + HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( + IVssBackupComponents *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetRestoreState)( + IVssBackupComponents *This, + VSS_RESTORE_TYPE restoreType); + + HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( + IVssBackupComponents *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( + IVssBackupComponents *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( + IVssBackupComponents *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( + IVssBackupComponents *This); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssBackupComponents *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName); + + HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AbortBackup)( + IVssBackupComponents *This); + + HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( + IVssBackupComponents *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( + IVssBackupComponents *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( + IVssBackupComponents *This); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( + IVssBackupComponents *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure); + + HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( + IVssBackupComponents *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded); + + HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssBackupComponents *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *BackupComplete)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair); + + HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status); + + HRESULT (STDMETHODCALLTYPE *AddNewTarget)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath); + + HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( + IVssBackupComponents *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile); + + HRESULT (STDMETHODCALLTYPE *PreRestore)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PostRestore)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssBackupComponents *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( + IVssBackupComponents *This, + VSS_ID *pSnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( + IVssBackupComponents *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot); + + HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssBackupComponents *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( + IVssBackupComponents *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( + IVssBackupComponents *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssBackupComponents *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssBackupComponents *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssBackupComponents *This, + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( + IVssBackupComponents *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( + IVssBackupComponents *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( + IVssBackupComponents *This, + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId); + + HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( + IVssBackupComponents *This, + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssBackupComponents *This, + VSS_ID SnapshotId, + WINBOOL bForceDismount); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssBackupComponents *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + END_INTERFACE +} IVssBackupComponentsVtbl; + +interface IVssBackupComponents { + CONST_VTBL IVssBackupComponentsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssBackupComponents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssBackupComponents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssBackupComponents_Release(This) (This)->lpVtbl->Release(This) +/*** IVssBackupComponents methods ***/ +#define IVssBackupComponents_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) +#define IVssBackupComponents_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) +#define IVssBackupComponents_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) +#define IVssBackupComponents_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) +#define IVssBackupComponents_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) +#define IVssBackupComponents_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) +#define IVssBackupComponents_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) +#define IVssBackupComponents_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) +#define IVssBackupComponents_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponents_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) +#define IVssBackupComponents_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) +#define IVssBackupComponents_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) +#define IVssBackupComponents_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) +#define IVssBackupComponents_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) +#define IVssBackupComponents_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) +#define IVssBackupComponents_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) +#define IVssBackupComponents_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) +#define IVssBackupComponents_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) +#define IVssBackupComponents_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) +#define IVssBackupComponents_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) +#define IVssBackupComponents_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) +#define IVssBackupComponents_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) +#define IVssBackupComponents_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) +#define IVssBackupComponents_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssBackupComponents_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) +#define IVssBackupComponents_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) +#define IVssBackupComponents_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) +#define IVssBackupComponents_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) +#define IVssBackupComponents_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) +#define IVssBackupComponents_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) +#define IVssBackupComponents_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) +#define IVssBackupComponents_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) +#define IVssBackupComponents_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssBackupComponents_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) +#define IVssBackupComponents_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) +#define IVssBackupComponents_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) +#define IVssBackupComponents_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssBackupComponents_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) +#define IVssBackupComponents_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) +#define IVssBackupComponents_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssBackupComponents_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssBackupComponents_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) +#define IVssBackupComponents_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponents_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponents_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) +#define IVssBackupComponents_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) +#define IVssBackupComponents_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) +#define IVssBackupComponents_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssBackupComponents_QueryInterface(IVssBackupComponents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssBackupComponents_AddRef(IVssBackupComponents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssBackupComponents_Release(IVssBackupComponents* This) { + return This->lpVtbl->Release(This); +} +/*** IVssBackupComponents methods ***/ +static inline HRESULT IVssBackupComponents_GetWriterComponentsCount(IVssBackupComponents* This,UINT *pcComponents) { + return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); +} +static inline HRESULT IVssBackupComponents_GetWriterComponents(IVssBackupComponents* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { + return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); +} +static inline HRESULT IVssBackupComponents_InitializeForBackup(IVssBackupComponents* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForBackup(This,bstrXML); +} +static inline HRESULT IVssBackupComponents_SetBackupState(IVssBackupComponents* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { + return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); +} +static inline HRESULT IVssBackupComponents_InitializeForRestore(IVssBackupComponents* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForRestore(This,bstrXML); +} +static inline HRESULT IVssBackupComponents_SetRestoreState(IVssBackupComponents* This,VSS_RESTORE_TYPE restoreType) { + return This->lpVtbl->SetRestoreState(This,restoreType); +} +static inline HRESULT IVssBackupComponents_GatherWriterMetadata(IVssBackupComponents* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterMetadata(This,pAsync); +} +static inline HRESULT IVssBackupComponents_GetWriterMetadataCount(IVssBackupComponents* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponents_GetWriterMetadata(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { + return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponents_FreeWriterMetadata(IVssBackupComponents* This) { + return This->lpVtbl->FreeWriterMetadata(This); +} +static inline HRESULT IVssBackupComponents_AddComponent(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { + return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); +} +static inline HRESULT IVssBackupComponents_PrepareForBackup(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->PrepareForBackup(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_AbortBackup(IVssBackupComponents* This) { + return This->lpVtbl->AbortBackup(This); +} +static inline HRESULT IVssBackupComponents_GatherWriterStatus(IVssBackupComponents* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterStatus(This,pAsync); +} +static inline HRESULT IVssBackupComponents_GetWriterStatusCount(IVssBackupComponents* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterStatusCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponents_FreeWriterStatus(IVssBackupComponents* This) { + return This->lpVtbl->FreeWriterStatus(This); +} +static inline HRESULT IVssBackupComponents_GetWriterStatus(IVssBackupComponents* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { + return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); +} +static inline HRESULT IVssBackupComponents_SetBackupSucceeded(IVssBackupComponents* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { + return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); +} +static inline HRESULT IVssBackupComponents_SetBackupOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { + return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); +} +static inline HRESULT IVssBackupComponents_SetSelectedForRestore(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { + return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); +} +static inline HRESULT IVssBackupComponents_SetRestoreOptions(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { + return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); +} +static inline HRESULT IVssBackupComponents_SetAdditionalRestores(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { + return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); +} +static inline HRESULT IVssBackupComponents_SetPreviousBackupStamp(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { + return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); +} +static inline HRESULT IVssBackupComponents_SaveAsXML(IVssBackupComponents* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssBackupComponents_BackupComplete(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->BackupComplete(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_AddAlternativeLocationMapping(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssBackupComponents_AddRestoreSubcomponent(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { + return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); +} +static inline HRESULT IVssBackupComponents_SetFileRestoreStatus(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { + return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); +} +static inline HRESULT IVssBackupComponents_AddNewTarget(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { + return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); +} +static inline HRESULT IVssBackupComponents_SetRangesFilePath(IVssBackupComponents* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { + return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); +} +static inline HRESULT IVssBackupComponents_PreRestore(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->PreRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_PostRestore(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->PostRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_SetContext(IVssBackupComponents* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssBackupComponents_StartSnapshotSet(IVssBackupComponents* This,VSS_ID *pSnapshotSetId) { + return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); +} +static inline HRESULT IVssBackupComponents_AddToSnapshotSet(IVssBackupComponents* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { + return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); +} +static inline HRESULT IVssBackupComponents_DoSnapshotSet(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->DoSnapshotSet(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_DeleteSnapshots(IVssBackupComponents* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssBackupComponents_ImportSnapshots(IVssBackupComponents* This,IVssAsync **ppAsync) { + return This->lpVtbl->ImportSnapshots(This,ppAsync); +} +static inline HRESULT IVssBackupComponents_BreakSnapshotSet(IVssBackupComponents* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); +} +static inline HRESULT IVssBackupComponents_GetSnapshotProperties(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssBackupComponents_Query(IVssBackupComponents* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssBackupComponents_IsVolumeSupported(IVssBackupComponents* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssBackupComponents_DisableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponents_EnableWriterClasses(IVssBackupComponents* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponents_DisableWriterInstances(IVssBackupComponents* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { + return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); +} +static inline HRESULT IVssBackupComponents_ExposeSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { + return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); +} +static inline HRESULT IVssBackupComponents_RevertToSnapshot(IVssBackupComponents* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); +} +static inline HRESULT IVssBackupComponents_QueryRevertStatus(IVssBackupComponents* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +#endif +#endif + +#endif + + +#endif /* __IVssBackupComponents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssBackupComponentsEx interface + */ +#ifndef __IVssBackupComponentsEx_INTERFACE_DEFINED__ +#define __IVssBackupComponentsEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("963f03ad-9e4c-4a34-ac15-e4b6174e5036") +IVssBackupComponentsEx : public IVssBackupComponents +{ + virtual HRESULT STDMETHODCALLTYPE GetWriterMetadataEx( + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadataEx **ppMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSelectedForRestoreEx( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore, + VSS_ID instanceId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssBackupComponentsEx, 0x963f03ad, 0x9e4c, 0x4a34, 0xac,0x15, 0xe4,0xb6,0x17,0x4e,0x50,0x36) +#endif +#else +typedef struct IVssBackupComponentsExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssBackupComponentsEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssBackupComponentsEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssBackupComponentsEx *This); + + /*** IVssBackupComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( + IVssBackupComponentsEx *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( + IVssBackupComponentsEx *This, + UINT iWriter, + IVssWriterComponentsExt **ppWriter); + + HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( + IVssBackupComponentsEx *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetBackupState)( + IVssBackupComponentsEx *This, + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport); + + HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( + IVssBackupComponentsEx *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetRestoreState)( + IVssBackupComponentsEx *This, + VSS_RESTORE_TYPE restoreType); + + HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( + IVssBackupComponentsEx *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( + IVssBackupComponentsEx *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( + IVssBackupComponentsEx *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( + IVssBackupComponentsEx *This); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssBackupComponentsEx *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName); + + HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AbortBackup)( + IVssBackupComponentsEx *This); + + HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( + IVssBackupComponentsEx *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( + IVssBackupComponentsEx *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( + IVssBackupComponentsEx *This); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( + IVssBackupComponentsEx *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure); + + HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( + IVssBackupComponentsEx *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded); + + HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssBackupComponentsEx *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *BackupComplete)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair); + + HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status); + + HRESULT (STDMETHODCALLTYPE *AddNewTarget)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath); + + HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile); + + HRESULT (STDMETHODCALLTYPE *PreRestore)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PostRestore)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssBackupComponentsEx *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( + IVssBackupComponentsEx *This, + VSS_ID *pSnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( + IVssBackupComponentsEx *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot); + + HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssBackupComponentsEx *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( + IVssBackupComponentsEx *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( + IVssBackupComponentsEx *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssBackupComponentsEx *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssBackupComponentsEx *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssBackupComponentsEx *This, + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( + IVssBackupComponentsEx *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( + IVssBackupComponentsEx *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( + IVssBackupComponentsEx *This, + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId); + + HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( + IVssBackupComponentsEx *This, + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssBackupComponentsEx *This, + VSS_ID SnapshotId, + WINBOOL bForceDismount); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssBackupComponentsEx *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( + IVssBackupComponentsEx *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadataEx **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( + IVssBackupComponentsEx *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore, + VSS_ID instanceId); + + END_INTERFACE +} IVssBackupComponentsExVtbl; + +interface IVssBackupComponentsEx { + CONST_VTBL IVssBackupComponentsExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssBackupComponentsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssBackupComponentsEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssBackupComponentsEx_Release(This) (This)->lpVtbl->Release(This) +/*** IVssBackupComponents methods ***/ +#define IVssBackupComponentsEx_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) +#define IVssBackupComponentsEx_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) +#define IVssBackupComponentsEx_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) +#define IVssBackupComponentsEx_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) +#define IVssBackupComponentsEx_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) +#define IVssBackupComponentsEx_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) +#define IVssBackupComponentsEx_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) +#define IVssBackupComponentsEx_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) +#define IVssBackupComponentsEx_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) +#define IVssBackupComponentsEx_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) +#define IVssBackupComponentsEx_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) +#define IVssBackupComponentsEx_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) +#define IVssBackupComponentsEx_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) +#define IVssBackupComponentsEx_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) +#define IVssBackupComponentsEx_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) +#define IVssBackupComponentsEx_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) +#define IVssBackupComponentsEx_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) +#define IVssBackupComponentsEx_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) +#define IVssBackupComponentsEx_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) +#define IVssBackupComponentsEx_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) +#define IVssBackupComponentsEx_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) +#define IVssBackupComponentsEx_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) +#define IVssBackupComponentsEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssBackupComponentsEx_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) +#define IVssBackupComponentsEx_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) +#define IVssBackupComponentsEx_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) +#define IVssBackupComponentsEx_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) +#define IVssBackupComponentsEx_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) +#define IVssBackupComponentsEx_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) +#define IVssBackupComponentsEx_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) +#define IVssBackupComponentsEx_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) +#define IVssBackupComponentsEx_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssBackupComponentsEx_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) +#define IVssBackupComponentsEx_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) +#define IVssBackupComponentsEx_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) +#define IVssBackupComponentsEx_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssBackupComponentsEx_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) +#define IVssBackupComponentsEx_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) +#define IVssBackupComponentsEx_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssBackupComponentsEx_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssBackupComponentsEx_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) +#define IVssBackupComponentsEx_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) +#define IVssBackupComponentsEx_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) +#define IVssBackupComponentsEx_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) +#define IVssBackupComponentsEx_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +/*** IVssBackupComponentsEx methods ***/ +#define IVssBackupComponentsEx_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssBackupComponentsEx_QueryInterface(IVssBackupComponentsEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssBackupComponentsEx_AddRef(IVssBackupComponentsEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssBackupComponentsEx_Release(IVssBackupComponentsEx* This) { + return This->lpVtbl->Release(This); +} +/*** IVssBackupComponents methods ***/ +static inline HRESULT IVssBackupComponentsEx_GetWriterComponentsCount(IVssBackupComponentsEx* This,UINT *pcComponents) { + return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); +} +static inline HRESULT IVssBackupComponentsEx_GetWriterComponents(IVssBackupComponentsEx* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { + return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); +} +static inline HRESULT IVssBackupComponentsEx_InitializeForBackup(IVssBackupComponentsEx* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForBackup(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx_SetBackupState(IVssBackupComponentsEx* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { + return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); +} +static inline HRESULT IVssBackupComponentsEx_InitializeForRestore(IVssBackupComponentsEx* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForRestore(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx_SetRestoreState(IVssBackupComponentsEx* This,VSS_RESTORE_TYPE restoreType) { + return This->lpVtbl->SetRestoreState(This,restoreType); +} +static inline HRESULT IVssBackupComponentsEx_GatherWriterMetadata(IVssBackupComponentsEx* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterMetadata(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx_GetWriterMetadataCount(IVssBackupComponentsEx* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx_GetWriterMetadata(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { + return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx_FreeWriterMetadata(IVssBackupComponentsEx* This) { + return This->lpVtbl->FreeWriterMetadata(This); +} +static inline HRESULT IVssBackupComponentsEx_AddComponent(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { + return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); +} +static inline HRESULT IVssBackupComponentsEx_PrepareForBackup(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->PrepareForBackup(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_AbortBackup(IVssBackupComponentsEx* This) { + return This->lpVtbl->AbortBackup(This); +} +static inline HRESULT IVssBackupComponentsEx_GatherWriterStatus(IVssBackupComponentsEx* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterStatus(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx_GetWriterStatusCount(IVssBackupComponentsEx* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterStatusCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx_FreeWriterStatus(IVssBackupComponentsEx* This) { + return This->lpVtbl->FreeWriterStatus(This); +} +static inline HRESULT IVssBackupComponentsEx_GetWriterStatus(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { + return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); +} +static inline HRESULT IVssBackupComponentsEx_SetBackupSucceeded(IVssBackupComponentsEx* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { + return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); +} +static inline HRESULT IVssBackupComponentsEx_SetBackupOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { + return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); +} +static inline HRESULT IVssBackupComponentsEx_SetSelectedForRestore(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { + return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); +} +static inline HRESULT IVssBackupComponentsEx_SetRestoreOptions(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { + return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); +} +static inline HRESULT IVssBackupComponentsEx_SetAdditionalRestores(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { + return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); +} +static inline HRESULT IVssBackupComponentsEx_SetPreviousBackupStamp(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { + return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); +} +static inline HRESULT IVssBackupComponentsEx_SaveAsXML(IVssBackupComponentsEx* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssBackupComponentsEx_BackupComplete(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->BackupComplete(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_AddAlternativeLocationMapping(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssBackupComponentsEx_AddRestoreSubcomponent(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { + return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); +} +static inline HRESULT IVssBackupComponentsEx_SetFileRestoreStatus(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { + return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); +} +static inline HRESULT IVssBackupComponentsEx_AddNewTarget(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { + return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); +} +static inline HRESULT IVssBackupComponentsEx_SetRangesFilePath(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { + return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); +} +static inline HRESULT IVssBackupComponentsEx_PreRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->PreRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_PostRestore(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->PostRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_SetContext(IVssBackupComponentsEx* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssBackupComponentsEx_StartSnapshotSet(IVssBackupComponentsEx* This,VSS_ID *pSnapshotSetId) { + return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx_AddToSnapshotSet(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { + return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); +} +static inline HRESULT IVssBackupComponentsEx_DoSnapshotSet(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->DoSnapshotSet(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_DeleteSnapshots(IVssBackupComponentsEx* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssBackupComponentsEx_ImportSnapshots(IVssBackupComponentsEx* This,IVssAsync **ppAsync) { + return This->lpVtbl->ImportSnapshots(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx_BreakSnapshotSet(IVssBackupComponentsEx* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx_GetSnapshotProperties(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssBackupComponentsEx_Query(IVssBackupComponentsEx* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssBackupComponentsEx_IsVolumeSupported(IVssBackupComponentsEx* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssBackupComponentsEx_DisableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx_EnableWriterClasses(IVssBackupComponentsEx* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx_DisableWriterInstances(IVssBackupComponentsEx* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { + return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); +} +static inline HRESULT IVssBackupComponentsEx_ExposeSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { + return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); +} +static inline HRESULT IVssBackupComponentsEx_RevertToSnapshot(IVssBackupComponentsEx* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); +} +static inline HRESULT IVssBackupComponentsEx_QueryRevertStatus(IVssBackupComponentsEx* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +/*** IVssBackupComponentsEx methods ***/ +static inline HRESULT IVssBackupComponentsEx_GetWriterMetadataEx(IVssBackupComponentsEx* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { + return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx_SetSelectedForRestoreEx(IVssBackupComponentsEx* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { + return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); +} +#endif +#endif + +#endif + + +#endif /* __IVssBackupComponentsEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssBackupComponentsEx2 interface + */ +#ifndef __IVssBackupComponentsEx2_INTERFACE_DEFINED__ +#define __IVssBackupComponentsEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("acfe2b3a-22c9-4ef8-bd03-2f9ca230084e") +IVssBackupComponentsEx2 : public IVssBackupComponentsEx +{ + virtual HRESULT STDMETHODCALLTYPE UnexposeSnapshot( + VSS_ID snapshotId) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAuthoritativeRestore( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAuth) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRollForward( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_ROLLFORWARD_TYPE rollType, + LPCWSTR wszRollForwardPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreName( + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreName) = 0; + + virtual HRESULT STDMETHODCALLTYPE BreakSnapshotSetEx( + VSS_ID SnapshotSetID, + DWORD dwBreakFlags, + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE PreFastRecovery( + VSS_ID SnapshotSetID, + DWORD dwPreFastRecoveryFlags, + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE FastRecovery( + VSS_ID SnapshotSetID, + DWORD dwFastRecoveryFlags, + IVssAsync **ppAsync) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssBackupComponentsEx2, 0xacfe2b3a, 0x22c9, 0x4ef8, 0xbd,0x03, 0x2f,0x9c,0xa2,0x30,0x08,0x4e) +#endif +#else +typedef struct IVssBackupComponentsEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssBackupComponentsEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssBackupComponentsEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssBackupComponentsEx2 *This); + + /*** IVssBackupComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( + IVssBackupComponentsEx2 *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( + IVssBackupComponentsEx2 *This, + UINT iWriter, + IVssWriterComponentsExt **ppWriter); + + HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( + IVssBackupComponentsEx2 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetBackupState)( + IVssBackupComponentsEx2 *This, + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport); + + HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( + IVssBackupComponentsEx2 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetRestoreState)( + IVssBackupComponentsEx2 *This, + VSS_RESTORE_TYPE restoreType); + + HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( + IVssBackupComponentsEx2 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( + IVssBackupComponentsEx2 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( + IVssBackupComponentsEx2 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( + IVssBackupComponentsEx2 *This); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssBackupComponentsEx2 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName); + + HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AbortBackup)( + IVssBackupComponentsEx2 *This); + + HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( + IVssBackupComponentsEx2 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( + IVssBackupComponentsEx2 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( + IVssBackupComponentsEx2 *This); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( + IVssBackupComponentsEx2 *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure); + + HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( + IVssBackupComponentsEx2 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded); + + HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssBackupComponentsEx2 *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *BackupComplete)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair); + + HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status); + + HRESULT (STDMETHODCALLTYPE *AddNewTarget)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath); + + HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile); + + HRESULT (STDMETHODCALLTYPE *PreRestore)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PostRestore)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssBackupComponentsEx2 *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( + IVssBackupComponentsEx2 *This, + VSS_ID *pSnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( + IVssBackupComponentsEx2 *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot); + + HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssBackupComponentsEx2 *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( + IVssBackupComponentsEx2 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssBackupComponentsEx2 *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssBackupComponentsEx2 *This, + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( + IVssBackupComponentsEx2 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( + IVssBackupComponentsEx2 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( + IVssBackupComponentsEx2 *This, + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId); + + HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotId, + WINBOOL bForceDismount); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssBackupComponentsEx2 *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( + IVssBackupComponentsEx2 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadataEx **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore, + VSS_ID instanceId); + + /*** IVssBackupComponentsEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( + IVssBackupComponentsEx2 *This, + VSS_ID snapshotId); + + HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAuth); + + HRESULT (STDMETHODCALLTYPE *SetRollForward)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_ROLLFORWARD_TYPE rollType, + LPCWSTR wszRollForwardPoint); + + HRESULT (STDMETHODCALLTYPE *SetRestoreName)( + IVssBackupComponentsEx2 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreName); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotSetID, + DWORD dwBreakFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotSetID, + DWORD dwPreFastRecoveryFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *FastRecovery)( + IVssBackupComponentsEx2 *This, + VSS_ID SnapshotSetID, + DWORD dwFastRecoveryFlags, + IVssAsync **ppAsync); + + END_INTERFACE +} IVssBackupComponentsEx2Vtbl; + +interface IVssBackupComponentsEx2 { + CONST_VTBL IVssBackupComponentsEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssBackupComponentsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssBackupComponentsEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssBackupComponentsEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IVssBackupComponents methods ***/ +#define IVssBackupComponentsEx2_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) +#define IVssBackupComponentsEx2_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) +#define IVssBackupComponentsEx2_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) +#define IVssBackupComponentsEx2_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) +#define IVssBackupComponentsEx2_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) +#define IVssBackupComponentsEx2_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) +#define IVssBackupComponentsEx2_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) +#define IVssBackupComponentsEx2_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) +#define IVssBackupComponentsEx2_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx2_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) +#define IVssBackupComponentsEx2_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) +#define IVssBackupComponentsEx2_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) +#define IVssBackupComponentsEx2_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) +#define IVssBackupComponentsEx2_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) +#define IVssBackupComponentsEx2_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) +#define IVssBackupComponentsEx2_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) +#define IVssBackupComponentsEx2_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) +#define IVssBackupComponentsEx2_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) +#define IVssBackupComponentsEx2_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) +#define IVssBackupComponentsEx2_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) +#define IVssBackupComponentsEx2_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) +#define IVssBackupComponentsEx2_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) +#define IVssBackupComponentsEx2_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) +#define IVssBackupComponentsEx2_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssBackupComponentsEx2_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) +#define IVssBackupComponentsEx2_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) +#define IVssBackupComponentsEx2_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) +#define IVssBackupComponentsEx2_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) +#define IVssBackupComponentsEx2_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) +#define IVssBackupComponentsEx2_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) +#define IVssBackupComponentsEx2_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) +#define IVssBackupComponentsEx2_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) +#define IVssBackupComponentsEx2_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssBackupComponentsEx2_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) +#define IVssBackupComponentsEx2_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) +#define IVssBackupComponentsEx2_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) +#define IVssBackupComponentsEx2_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssBackupComponentsEx2_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) +#define IVssBackupComponentsEx2_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) +#define IVssBackupComponentsEx2_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssBackupComponentsEx2_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssBackupComponentsEx2_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) +#define IVssBackupComponentsEx2_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx2_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx2_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) +#define IVssBackupComponentsEx2_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) +#define IVssBackupComponentsEx2_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) +#define IVssBackupComponentsEx2_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +/*** IVssBackupComponentsEx methods ***/ +#define IVssBackupComponentsEx2_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx2_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) +/*** IVssBackupComponentsEx2 methods ***/ +#define IVssBackupComponentsEx2_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) +#define IVssBackupComponentsEx2_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) +#define IVssBackupComponentsEx2_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) +#define IVssBackupComponentsEx2_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) +#define IVssBackupComponentsEx2_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) +#define IVssBackupComponentsEx2_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) +#define IVssBackupComponentsEx2_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssBackupComponentsEx2_QueryInterface(IVssBackupComponentsEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssBackupComponentsEx2_AddRef(IVssBackupComponentsEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssBackupComponentsEx2_Release(IVssBackupComponentsEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IVssBackupComponents methods ***/ +static inline HRESULT IVssBackupComponentsEx2_GetWriterComponentsCount(IVssBackupComponentsEx2* This,UINT *pcComponents) { + return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); +} +static inline HRESULT IVssBackupComponentsEx2_GetWriterComponents(IVssBackupComponentsEx2* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { + return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); +} +static inline HRESULT IVssBackupComponentsEx2_InitializeForBackup(IVssBackupComponentsEx2* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForBackup(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx2_SetBackupState(IVssBackupComponentsEx2* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { + return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); +} +static inline HRESULT IVssBackupComponentsEx2_InitializeForRestore(IVssBackupComponentsEx2* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForRestore(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx2_SetRestoreState(IVssBackupComponentsEx2* This,VSS_RESTORE_TYPE restoreType) { + return This->lpVtbl->SetRestoreState(This,restoreType); +} +static inline HRESULT IVssBackupComponentsEx2_GatherWriterMetadata(IVssBackupComponentsEx2* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterMetadata(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadataCount(IVssBackupComponentsEx2* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadata(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { + return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx2_FreeWriterMetadata(IVssBackupComponentsEx2* This) { + return This->lpVtbl->FreeWriterMetadata(This); +} +static inline HRESULT IVssBackupComponentsEx2_AddComponent(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { + return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); +} +static inline HRESULT IVssBackupComponentsEx2_PrepareForBackup(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->PrepareForBackup(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_AbortBackup(IVssBackupComponentsEx2* This) { + return This->lpVtbl->AbortBackup(This); +} +static inline HRESULT IVssBackupComponentsEx2_GatherWriterStatus(IVssBackupComponentsEx2* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterStatus(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx2_GetWriterStatusCount(IVssBackupComponentsEx2* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterStatusCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx2_FreeWriterStatus(IVssBackupComponentsEx2* This) { + return This->lpVtbl->FreeWriterStatus(This); +} +static inline HRESULT IVssBackupComponentsEx2_GetWriterStatus(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { + return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); +} +static inline HRESULT IVssBackupComponentsEx2_SetBackupSucceeded(IVssBackupComponentsEx2* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { + return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); +} +static inline HRESULT IVssBackupComponentsEx2_SetBackupOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { + return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); +} +static inline HRESULT IVssBackupComponentsEx2_SetSelectedForRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { + return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); +} +static inline HRESULT IVssBackupComponentsEx2_SetRestoreOptions(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { + return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); +} +static inline HRESULT IVssBackupComponentsEx2_SetAdditionalRestores(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { + return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); +} +static inline HRESULT IVssBackupComponentsEx2_SetPreviousBackupStamp(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { + return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); +} +static inline HRESULT IVssBackupComponentsEx2_SaveAsXML(IVssBackupComponentsEx2* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssBackupComponentsEx2_BackupComplete(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->BackupComplete(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_AddAlternativeLocationMapping(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssBackupComponentsEx2_AddRestoreSubcomponent(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { + return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); +} +static inline HRESULT IVssBackupComponentsEx2_SetFileRestoreStatus(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { + return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); +} +static inline HRESULT IVssBackupComponentsEx2_AddNewTarget(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { + return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); +} +static inline HRESULT IVssBackupComponentsEx2_SetRangesFilePath(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { + return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); +} +static inline HRESULT IVssBackupComponentsEx2_PreRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->PreRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_PostRestore(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->PostRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_SetContext(IVssBackupComponentsEx2* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssBackupComponentsEx2_StartSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID *pSnapshotSetId) { + return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx2_AddToSnapshotSet(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { + return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); +} +static inline HRESULT IVssBackupComponentsEx2_DoSnapshotSet(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->DoSnapshotSet(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_DeleteSnapshots(IVssBackupComponentsEx2* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssBackupComponentsEx2_ImportSnapshots(IVssBackupComponentsEx2* This,IVssAsync **ppAsync) { + return This->lpVtbl->ImportSnapshots(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_BreakSnapshotSet(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx2_GetSnapshotProperties(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssBackupComponentsEx2_Query(IVssBackupComponentsEx2* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssBackupComponentsEx2_IsVolumeSupported(IVssBackupComponentsEx2* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssBackupComponentsEx2_DisableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx2_EnableWriterClasses(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx2_DisableWriterInstances(IVssBackupComponentsEx2* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { + return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); +} +static inline HRESULT IVssBackupComponentsEx2_ExposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { + return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); +} +static inline HRESULT IVssBackupComponentsEx2_RevertToSnapshot(IVssBackupComponentsEx2* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); +} +static inline HRESULT IVssBackupComponentsEx2_QueryRevertStatus(IVssBackupComponentsEx2* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +/*** IVssBackupComponentsEx methods ***/ +static inline HRESULT IVssBackupComponentsEx2_GetWriterMetadataEx(IVssBackupComponentsEx2* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { + return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx2_SetSelectedForRestoreEx(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { + return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); +} +/*** IVssBackupComponentsEx2 methods ***/ +static inline HRESULT IVssBackupComponentsEx2_UnexposeSnapshot(IVssBackupComponentsEx2* This,VSS_ID snapshotId) { + return This->lpVtbl->UnexposeSnapshot(This,snapshotId); +} +static inline HRESULT IVssBackupComponentsEx2_SetAuthoritativeRestore(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { + return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); +} +static inline HRESULT IVssBackupComponentsEx2_SetRollForward(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { + return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); +} +static inline HRESULT IVssBackupComponentsEx2_SetRestoreName(IVssBackupComponentsEx2* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { + return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); +} +static inline HRESULT IVssBackupComponentsEx2_BreakSnapshotSetEx(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { + return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_PreFastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx2_FastRecovery(IVssBackupComponentsEx2* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); +} +#endif +#endif + +#endif + + +#endif /* __IVssBackupComponentsEx2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssBackupComponentsEx3 interface + */ +#ifndef __IVssBackupComponentsEx3_INTERFACE_DEFINED__ +#define __IVssBackupComponentsEx3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c191bfbc-b602-4675-8bd1-67d642f529d5") +IVssBackupComponentsEx3 : public IVssBackupComponentsEx2 +{ + virtual HRESULT STDMETHODCALLTYPE GetWriterStatusEx( + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phrFailureWriter, + HRESULT *phrApplication = 0, + BSTR *pbstrApplicationMessage = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSnapshotToRecoverySet( + VSS_ID snapshotId, + DWORD dwFlags, + VSS_PWSZ pwszDestinationVolume = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE RecoverSet( + DWORD dwFlags, + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSessionId( + VSS_ID *idSession) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssBackupComponentsEx3, 0xc191bfbc, 0xb602, 0x4675, 0x8b,0xd1, 0x67,0xd6,0x42,0xf5,0x29,0xd5) +#endif +#else +typedef struct IVssBackupComponentsEx3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssBackupComponentsEx3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssBackupComponentsEx3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssBackupComponentsEx3 *This); + + /*** IVssBackupComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( + IVssBackupComponentsEx3 *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( + IVssBackupComponentsEx3 *This, + UINT iWriter, + IVssWriterComponentsExt **ppWriter); + + HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( + IVssBackupComponentsEx3 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetBackupState)( + IVssBackupComponentsEx3 *This, + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport); + + HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( + IVssBackupComponentsEx3 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetRestoreState)( + IVssBackupComponentsEx3 *This, + VSS_RESTORE_TYPE restoreType); + + HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( + IVssBackupComponentsEx3 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( + IVssBackupComponentsEx3 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( + IVssBackupComponentsEx3 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( + IVssBackupComponentsEx3 *This); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssBackupComponentsEx3 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName); + + HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AbortBackup)( + IVssBackupComponentsEx3 *This); + + HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( + IVssBackupComponentsEx3 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( + IVssBackupComponentsEx3 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( + IVssBackupComponentsEx3 *This); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( + IVssBackupComponentsEx3 *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure); + + HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( + IVssBackupComponentsEx3 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded); + + HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssBackupComponentsEx3 *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *BackupComplete)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair); + + HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status); + + HRESULT (STDMETHODCALLTYPE *AddNewTarget)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath); + + HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile); + + HRESULT (STDMETHODCALLTYPE *PreRestore)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PostRestore)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssBackupComponentsEx3 *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( + IVssBackupComponentsEx3 *This, + VSS_ID *pSnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( + IVssBackupComponentsEx3 *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot); + + HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssBackupComponentsEx3 *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( + IVssBackupComponentsEx3 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssBackupComponentsEx3 *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssBackupComponentsEx3 *This, + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( + IVssBackupComponentsEx3 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( + IVssBackupComponentsEx3 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( + IVssBackupComponentsEx3 *This, + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId); + + HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotId, + WINBOOL bForceDismount); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssBackupComponentsEx3 *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( + IVssBackupComponentsEx3 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadataEx **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore, + VSS_ID instanceId); + + /*** IVssBackupComponentsEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( + IVssBackupComponentsEx3 *This, + VSS_ID snapshotId); + + HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAuth); + + HRESULT (STDMETHODCALLTYPE *SetRollForward)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_ROLLFORWARD_TYPE rollType, + LPCWSTR wszRollForwardPoint); + + HRESULT (STDMETHODCALLTYPE *SetRestoreName)( + IVssBackupComponentsEx3 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreName); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotSetID, + DWORD dwBreakFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotSetID, + DWORD dwPreFastRecoveryFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *FastRecovery)( + IVssBackupComponentsEx3 *This, + VSS_ID SnapshotSetID, + DWORD dwFastRecoveryFlags, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)( + IVssBackupComponentsEx3 *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phrFailureWriter, + HRESULT *phrApplication, + BSTR *pbstrApplicationMessage); + + HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)( + IVssBackupComponentsEx3 *This, + VSS_ID snapshotId, + DWORD dwFlags, + VSS_PWSZ pwszDestinationVolume); + + HRESULT (STDMETHODCALLTYPE *RecoverSet)( + IVssBackupComponentsEx3 *This, + DWORD dwFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *GetSessionId)( + IVssBackupComponentsEx3 *This, + VSS_ID *idSession); + + END_INTERFACE +} IVssBackupComponentsEx3Vtbl; + +interface IVssBackupComponentsEx3 { + CONST_VTBL IVssBackupComponentsEx3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssBackupComponentsEx3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssBackupComponentsEx3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssBackupComponentsEx3_Release(This) (This)->lpVtbl->Release(This) +/*** IVssBackupComponents methods ***/ +#define IVssBackupComponentsEx3_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) +#define IVssBackupComponentsEx3_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) +#define IVssBackupComponentsEx3_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) +#define IVssBackupComponentsEx3_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) +#define IVssBackupComponentsEx3_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) +#define IVssBackupComponentsEx3_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) +#define IVssBackupComponentsEx3_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) +#define IVssBackupComponentsEx3_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) +#define IVssBackupComponentsEx3_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx3_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) +#define IVssBackupComponentsEx3_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) +#define IVssBackupComponentsEx3_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) +#define IVssBackupComponentsEx3_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) +#define IVssBackupComponentsEx3_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) +#define IVssBackupComponentsEx3_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) +#define IVssBackupComponentsEx3_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) +#define IVssBackupComponentsEx3_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) +#define IVssBackupComponentsEx3_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) +#define IVssBackupComponentsEx3_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) +#define IVssBackupComponentsEx3_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) +#define IVssBackupComponentsEx3_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) +#define IVssBackupComponentsEx3_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) +#define IVssBackupComponentsEx3_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) +#define IVssBackupComponentsEx3_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssBackupComponentsEx3_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) +#define IVssBackupComponentsEx3_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) +#define IVssBackupComponentsEx3_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) +#define IVssBackupComponentsEx3_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) +#define IVssBackupComponentsEx3_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) +#define IVssBackupComponentsEx3_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) +#define IVssBackupComponentsEx3_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) +#define IVssBackupComponentsEx3_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) +#define IVssBackupComponentsEx3_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssBackupComponentsEx3_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) +#define IVssBackupComponentsEx3_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) +#define IVssBackupComponentsEx3_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) +#define IVssBackupComponentsEx3_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssBackupComponentsEx3_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) +#define IVssBackupComponentsEx3_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) +#define IVssBackupComponentsEx3_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssBackupComponentsEx3_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssBackupComponentsEx3_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) +#define IVssBackupComponentsEx3_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx3_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx3_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) +#define IVssBackupComponentsEx3_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) +#define IVssBackupComponentsEx3_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) +#define IVssBackupComponentsEx3_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +/*** IVssBackupComponentsEx methods ***/ +#define IVssBackupComponentsEx3_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx3_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) +/*** IVssBackupComponentsEx2 methods ***/ +#define IVssBackupComponentsEx3_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) +#define IVssBackupComponentsEx3_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) +#define IVssBackupComponentsEx3_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) +#define IVssBackupComponentsEx3_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) +#define IVssBackupComponentsEx3_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) +#define IVssBackupComponentsEx3_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) +#define IVssBackupComponentsEx3_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) +/*** IVssBackupComponentsEx3 methods ***/ +#define IVssBackupComponentsEx3_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) +#define IVssBackupComponentsEx3_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) +#define IVssBackupComponentsEx3_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync) +#define IVssBackupComponentsEx3_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssBackupComponentsEx3_QueryInterface(IVssBackupComponentsEx3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssBackupComponentsEx3_AddRef(IVssBackupComponentsEx3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssBackupComponentsEx3_Release(IVssBackupComponentsEx3* This) { + return This->lpVtbl->Release(This); +} +/*** IVssBackupComponents methods ***/ +static inline HRESULT IVssBackupComponentsEx3_GetWriterComponentsCount(IVssBackupComponentsEx3* This,UINT *pcComponents) { + return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); +} +static inline HRESULT IVssBackupComponentsEx3_GetWriterComponents(IVssBackupComponentsEx3* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { + return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); +} +static inline HRESULT IVssBackupComponentsEx3_InitializeForBackup(IVssBackupComponentsEx3* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForBackup(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx3_SetBackupState(IVssBackupComponentsEx3* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { + return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); +} +static inline HRESULT IVssBackupComponentsEx3_InitializeForRestore(IVssBackupComponentsEx3* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForRestore(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx3_SetRestoreState(IVssBackupComponentsEx3* This,VSS_RESTORE_TYPE restoreType) { + return This->lpVtbl->SetRestoreState(This,restoreType); +} +static inline HRESULT IVssBackupComponentsEx3_GatherWriterMetadata(IVssBackupComponentsEx3* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterMetadata(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadataCount(IVssBackupComponentsEx3* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadata(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { + return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx3_FreeWriterMetadata(IVssBackupComponentsEx3* This) { + return This->lpVtbl->FreeWriterMetadata(This); +} +static inline HRESULT IVssBackupComponentsEx3_AddComponent(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { + return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); +} +static inline HRESULT IVssBackupComponentsEx3_PrepareForBackup(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->PrepareForBackup(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_AbortBackup(IVssBackupComponentsEx3* This) { + return This->lpVtbl->AbortBackup(This); +} +static inline HRESULT IVssBackupComponentsEx3_GatherWriterStatus(IVssBackupComponentsEx3* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterStatus(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx3_GetWriterStatusCount(IVssBackupComponentsEx3* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterStatusCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx3_FreeWriterStatus(IVssBackupComponentsEx3* This) { + return This->lpVtbl->FreeWriterStatus(This); +} +static inline HRESULT IVssBackupComponentsEx3_GetWriterStatus(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { + return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); +} +static inline HRESULT IVssBackupComponentsEx3_SetBackupSucceeded(IVssBackupComponentsEx3* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { + return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); +} +static inline HRESULT IVssBackupComponentsEx3_SetBackupOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { + return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); +} +static inline HRESULT IVssBackupComponentsEx3_SetSelectedForRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { + return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); +} +static inline HRESULT IVssBackupComponentsEx3_SetRestoreOptions(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { + return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); +} +static inline HRESULT IVssBackupComponentsEx3_SetAdditionalRestores(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { + return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); +} +static inline HRESULT IVssBackupComponentsEx3_SetPreviousBackupStamp(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { + return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); +} +static inline HRESULT IVssBackupComponentsEx3_SaveAsXML(IVssBackupComponentsEx3* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssBackupComponentsEx3_BackupComplete(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->BackupComplete(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_AddAlternativeLocationMapping(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssBackupComponentsEx3_AddRestoreSubcomponent(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { + return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); +} +static inline HRESULT IVssBackupComponentsEx3_SetFileRestoreStatus(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { + return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); +} +static inline HRESULT IVssBackupComponentsEx3_AddNewTarget(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { + return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); +} +static inline HRESULT IVssBackupComponentsEx3_SetRangesFilePath(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { + return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); +} +static inline HRESULT IVssBackupComponentsEx3_PreRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->PreRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_PostRestore(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->PostRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_SetContext(IVssBackupComponentsEx3* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssBackupComponentsEx3_StartSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID *pSnapshotSetId) { + return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx3_AddToSnapshotSet(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { + return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); +} +static inline HRESULT IVssBackupComponentsEx3_DoSnapshotSet(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->DoSnapshotSet(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_DeleteSnapshots(IVssBackupComponentsEx3* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssBackupComponentsEx3_ImportSnapshots(IVssBackupComponentsEx3* This,IVssAsync **ppAsync) { + return This->lpVtbl->ImportSnapshots(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_BreakSnapshotSet(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx3_GetSnapshotProperties(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssBackupComponentsEx3_Query(IVssBackupComponentsEx3* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssBackupComponentsEx3_IsVolumeSupported(IVssBackupComponentsEx3* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssBackupComponentsEx3_DisableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx3_EnableWriterClasses(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx3_DisableWriterInstances(IVssBackupComponentsEx3* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { + return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); +} +static inline HRESULT IVssBackupComponentsEx3_ExposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { + return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); +} +static inline HRESULT IVssBackupComponentsEx3_RevertToSnapshot(IVssBackupComponentsEx3* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); +} +static inline HRESULT IVssBackupComponentsEx3_QueryRevertStatus(IVssBackupComponentsEx3* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +/*** IVssBackupComponentsEx methods ***/ +static inline HRESULT IVssBackupComponentsEx3_GetWriterMetadataEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { + return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx3_SetSelectedForRestoreEx(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { + return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); +} +/*** IVssBackupComponentsEx2 methods ***/ +static inline HRESULT IVssBackupComponentsEx3_UnexposeSnapshot(IVssBackupComponentsEx3* This,VSS_ID snapshotId) { + return This->lpVtbl->UnexposeSnapshot(This,snapshotId); +} +static inline HRESULT IVssBackupComponentsEx3_SetAuthoritativeRestore(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { + return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); +} +static inline HRESULT IVssBackupComponentsEx3_SetRollForward(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { + return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); +} +static inline HRESULT IVssBackupComponentsEx3_SetRestoreName(IVssBackupComponentsEx3* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { + return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); +} +static inline HRESULT IVssBackupComponentsEx3_BreakSnapshotSetEx(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { + return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_PreFastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_FastRecovery(IVssBackupComponentsEx3* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); +} +/*** IVssBackupComponentsEx3 methods ***/ +static inline HRESULT IVssBackupComponentsEx3_GetWriterStatusEx(IVssBackupComponentsEx3* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) { + return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage); +} +static inline HRESULT IVssBackupComponentsEx3_AddSnapshotToRecoverySet(IVssBackupComponentsEx3* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) { + return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume); +} +static inline HRESULT IVssBackupComponentsEx3_RecoverSet(IVssBackupComponentsEx3* This,DWORD dwFlags,IVssAsync **ppAsync) { + return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx3_GetSessionId(IVssBackupComponentsEx3* This,VSS_ID *idSession) { + return This->lpVtbl->GetSessionId(This,idSession); +} +#endif +#endif + +#endif + + +#endif /* __IVssBackupComponentsEx3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssBackupComponentsEx4 interface + */ +#ifndef __IVssBackupComponentsEx4_INTERFACE_DEFINED__ +#define __IVssBackupComponentsEx4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f434c2fd-b553-4961-a9f9-a8e90b673e53") +IVssBackupComponentsEx4 : public IVssBackupComponentsEx3 +{ + virtual HRESULT STDMETHODCALLTYPE GetRootAndLogicalPrefixPaths( + VSS_PWSZ pwszFilePath, + VSS_PWSZ *ppwszRootPath, + VSS_PWSZ *ppwszLogicalPrefix, + WINBOOL bNormalizeFQDNforRootPath = FALSE) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssBackupComponentsEx4, 0xf434c2fd, 0xb553, 0x4961, 0xa9,0xf9, 0xa8,0xe9,0x0b,0x67,0x3e,0x53) +#endif +#else +typedef struct IVssBackupComponentsEx4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssBackupComponentsEx4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssBackupComponentsEx4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssBackupComponentsEx4 *This); + + /*** IVssBackupComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterComponentsCount)( + IVssBackupComponentsEx4 *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterComponents)( + IVssBackupComponentsEx4 *This, + UINT iWriter, + IVssWriterComponentsExt **ppWriter); + + HRESULT (STDMETHODCALLTYPE *InitializeForBackup)( + IVssBackupComponentsEx4 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetBackupState)( + IVssBackupComponentsEx4 *This, + boolean bSelectComponents, + boolean bBackupBootableSystemState, + VSS_BACKUP_TYPE backupType, + boolean bPartialFileSupport); + + HRESULT (STDMETHODCALLTYPE *InitializeForRestore)( + IVssBackupComponentsEx4 *This, + BSTR bstrXML); + + HRESULT (STDMETHODCALLTYPE *SetRestoreState)( + IVssBackupComponentsEx4 *This, + VSS_RESTORE_TYPE restoreType); + + HRESULT (STDMETHODCALLTYPE *GatherWriterMetadata)( + IVssBackupComponentsEx4 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataCount)( + IVssBackupComponentsEx4 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *GetWriterMetadata)( + IVssBackupComponentsEx4 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *FreeWriterMetadata)( + IVssBackupComponentsEx4 *This); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssBackupComponentsEx4 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName); + + HRESULT (STDMETHODCALLTYPE *PrepareForBackup)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AbortBackup)( + IVssBackupComponentsEx4 *This); + + HRESULT (STDMETHODCALLTYPE *GatherWriterStatus)( + IVssBackupComponentsEx4 *This, + IVssAsync **pAsync); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatusCount)( + IVssBackupComponentsEx4 *This, + UINT *pcWriters); + + HRESULT (STDMETHODCALLTYPE *FreeWriterStatus)( + IVssBackupComponentsEx4 *This); + + HRESULT (STDMETHODCALLTYPE *GetWriterStatus)( + IVssBackupComponentsEx4 *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phResultFailure); + + HRESULT (STDMETHODCALLTYPE *SetBackupSucceeded)( + IVssBackupComponentsEx4 *This, + VSS_ID instanceId, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSucceded); + + HRESULT (STDMETHODCALLTYPE *SetBackupOptions)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszBackupOptions); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestore)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *SetRestoreOptions)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *SetAdditionalRestores)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *SetPreviousBackupStamp)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPreviousBackupStamp); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssBackupComponentsEx4 *This, + BSTR *pbstrXML); + + HRESULT (STDMETHODCALLTYPE *BackupComplete)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *AddAlternativeLocationMapping)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddRestoreSubcomponent)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE componentType, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszSubComponentLogicalPath, + LPCWSTR wszSubComponentName, + boolean bRepair); + + HRESULT (STDMETHODCALLTYPE *SetFileRestoreStatus)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_FILE_RESTORE_STATUS status); + + HRESULT (STDMETHODCALLTYPE *AddNewTarget)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszPath, + LPCWSTR wszFileName, + boolean bRecursive, + LPCWSTR wszAlternatePath); + + HRESULT (STDMETHODCALLTYPE *SetRangesFilePath)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + UINT iPartialFile, + LPCWSTR wszRangesFile); + + HRESULT (STDMETHODCALLTYPE *PreRestore)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PostRestore)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssBackupComponentsEx4 *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *StartSnapshotSet)( + IVssBackupComponentsEx4 *This, + VSS_ID *pSnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AddToSnapshotSet)( + IVssBackupComponentsEx4 *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + VSS_ID *pidSnapshot); + + HRESULT (STDMETHODCALLTYPE *DoSnapshotSet)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssBackupComponentsEx4 *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *ImportSnapshots)( + IVssBackupComponentsEx4 *This, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSet)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssBackupComponentsEx4 *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssBackupComponentsEx4 *This, + VSS_ID ProviderId, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *DisableWriterClasses)( + IVssBackupComponentsEx4 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *EnableWriterClasses)( + IVssBackupComponentsEx4 *This, + const VSS_ID *rgWriterClassId, + UINT cClassId); + + HRESULT (STDMETHODCALLTYPE *DisableWriterInstances)( + IVssBackupComponentsEx4 *This, + const VSS_ID *rgWriterInstanceId, + UINT cInstanceId); + + HRESULT (STDMETHODCALLTYPE *ExposeSnapshot)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotId, + VSS_PWSZ wszPathFromRoot, + LONG lAttributes, + VSS_PWSZ wszExpose, + VSS_PWSZ *pwszExposed); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotId, + WINBOOL bForceDismount); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssBackupComponentsEx4 *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterMetadataEx)( + IVssBackupComponentsEx4 *This, + UINT iWriter, + VSS_ID *pidInstance, + IVssExamineWriterMetadataEx **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *SetSelectedForRestoreEx)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bSelectedForRestore, + VSS_ID instanceId); + + /*** IVssBackupComponentsEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *UnexposeSnapshot)( + IVssBackupComponentsEx4 *This, + VSS_ID snapshotId); + + HRESULT (STDMETHODCALLTYPE *SetAuthoritativeRestore)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + boolean bAuth); + + HRESULT (STDMETHODCALLTYPE *SetRollForward)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + VSS_ROLLFORWARD_TYPE rollType, + LPCWSTR wszRollForwardPoint); + + HRESULT (STDMETHODCALLTYPE *SetRestoreName)( + IVssBackupComponentsEx4 *This, + VSS_ID writerId, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszRestoreName); + + HRESULT (STDMETHODCALLTYPE *BreakSnapshotSetEx)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotSetID, + DWORD dwBreakFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *PreFastRecovery)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotSetID, + DWORD dwPreFastRecoveryFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *FastRecovery)( + IVssBackupComponentsEx4 *This, + VSS_ID SnapshotSetID, + DWORD dwFastRecoveryFlags, + IVssAsync **ppAsync); + + /*** IVssBackupComponentsEx3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterStatusEx)( + IVssBackupComponentsEx4 *This, + UINT iWriter, + VSS_ID *pidInstance, + VSS_ID *pidWriter, + BSTR *pbstrWriter, + VSS_WRITER_STATE *pnStatus, + HRESULT *phrFailureWriter, + HRESULT *phrApplication, + BSTR *pbstrApplicationMessage); + + HRESULT (STDMETHODCALLTYPE *AddSnapshotToRecoverySet)( + IVssBackupComponentsEx4 *This, + VSS_ID snapshotId, + DWORD dwFlags, + VSS_PWSZ pwszDestinationVolume); + + HRESULT (STDMETHODCALLTYPE *RecoverSet)( + IVssBackupComponentsEx4 *This, + DWORD dwFlags, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *GetSessionId)( + IVssBackupComponentsEx4 *This, + VSS_ID *idSession); + + /*** IVssBackupComponentsEx4 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRootAndLogicalPrefixPaths)( + IVssBackupComponentsEx4 *This, + VSS_PWSZ pwszFilePath, + VSS_PWSZ *ppwszRootPath, + VSS_PWSZ *ppwszLogicalPrefix, + WINBOOL bNormalizeFQDNforRootPath); + + END_INTERFACE +} IVssBackupComponentsEx4Vtbl; + +interface IVssBackupComponentsEx4 { + CONST_VTBL IVssBackupComponentsEx4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssBackupComponentsEx4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssBackupComponentsEx4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssBackupComponentsEx4_Release(This) (This)->lpVtbl->Release(This) +/*** IVssBackupComponents methods ***/ +#define IVssBackupComponentsEx4_GetWriterComponentsCount(This,pcComponents) (This)->lpVtbl->GetWriterComponentsCount(This,pcComponents) +#define IVssBackupComponentsEx4_GetWriterComponents(This,iWriter,ppWriter) (This)->lpVtbl->GetWriterComponents(This,iWriter,ppWriter) +#define IVssBackupComponentsEx4_InitializeForBackup(This,bstrXML) (This)->lpVtbl->InitializeForBackup(This,bstrXML) +#define IVssBackupComponentsEx4_SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) (This)->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport) +#define IVssBackupComponentsEx4_InitializeForRestore(This,bstrXML) (This)->lpVtbl->InitializeForRestore(This,bstrXML) +#define IVssBackupComponentsEx4_SetRestoreState(This,restoreType) (This)->lpVtbl->SetRestoreState(This,restoreType) +#define IVssBackupComponentsEx4_GatherWriterMetadata(This,pAsync) (This)->lpVtbl->GatherWriterMetadata(This,pAsync) +#define IVssBackupComponentsEx4_GetWriterMetadataCount(This,pcWriters) (This)->lpVtbl->GetWriterMetadataCount(This,pcWriters) +#define IVssBackupComponentsEx4_GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx4_FreeWriterMetadata(This) (This)->lpVtbl->FreeWriterMetadata(This) +#define IVssBackupComponentsEx4_AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) (This)->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName) +#define IVssBackupComponentsEx4_PrepareForBackup(This,ppAsync) (This)->lpVtbl->PrepareForBackup(This,ppAsync) +#define IVssBackupComponentsEx4_AbortBackup(This) (This)->lpVtbl->AbortBackup(This) +#define IVssBackupComponentsEx4_GatherWriterStatus(This,pAsync) (This)->lpVtbl->GatherWriterStatus(This,pAsync) +#define IVssBackupComponentsEx4_GetWriterStatusCount(This,pcWriters) (This)->lpVtbl->GetWriterStatusCount(This,pcWriters) +#define IVssBackupComponentsEx4_FreeWriterStatus(This) (This)->lpVtbl->FreeWriterStatus(This) +#define IVssBackupComponentsEx4_GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) (This)->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure) +#define IVssBackupComponentsEx4_SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) (This)->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded) +#define IVssBackupComponentsEx4_SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) (This)->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions) +#define IVssBackupComponentsEx4_SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) (This)->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore) +#define IVssBackupComponentsEx4_SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) (This)->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions) +#define IVssBackupComponentsEx4_SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) (This)->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores) +#define IVssBackupComponentsEx4_SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) (This)->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp) +#define IVssBackupComponentsEx4_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#define IVssBackupComponentsEx4_BackupComplete(This,ppAsync) (This)->lpVtbl->BackupComplete(This,ppAsync) +#define IVssBackupComponentsEx4_AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination) +#define IVssBackupComponentsEx4_AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) (This)->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair) +#define IVssBackupComponentsEx4_SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) (This)->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status) +#define IVssBackupComponentsEx4_AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) (This)->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath) +#define IVssBackupComponentsEx4_SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) (This)->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile) +#define IVssBackupComponentsEx4_PreRestore(This,ppAsync) (This)->lpVtbl->PreRestore(This,ppAsync) +#define IVssBackupComponentsEx4_PostRestore(This,ppAsync) (This)->lpVtbl->PostRestore(This,ppAsync) +#define IVssBackupComponentsEx4_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssBackupComponentsEx4_StartSnapshotSet(This,pSnapshotSetId) (This)->lpVtbl->StartSnapshotSet(This,pSnapshotSetId) +#define IVssBackupComponentsEx4_AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) (This)->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot) +#define IVssBackupComponentsEx4_DoSnapshotSet(This,ppAsync) (This)->lpVtbl->DoSnapshotSet(This,ppAsync) +#define IVssBackupComponentsEx4_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssBackupComponentsEx4_ImportSnapshots(This,ppAsync) (This)->lpVtbl->ImportSnapshots(This,ppAsync) +#define IVssBackupComponentsEx4_BreakSnapshotSet(This,SnapshotSetId) (This)->lpVtbl->BreakSnapshotSet(This,SnapshotSetId) +#define IVssBackupComponentsEx4_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssBackupComponentsEx4_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssBackupComponentsEx4_IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider) +#define IVssBackupComponentsEx4_DisableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx4_EnableWriterClasses(This,rgWriterClassId,cClassId) (This)->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId) +#define IVssBackupComponentsEx4_DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) (This)->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId) +#define IVssBackupComponentsEx4_ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) (This)->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed) +#define IVssBackupComponentsEx4_RevertToSnapshot(This,SnapshotId,bForceDismount) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount) +#define IVssBackupComponentsEx4_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +/*** IVssBackupComponentsEx methods ***/ +#define IVssBackupComponentsEx4_GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) (This)->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata) +#define IVssBackupComponentsEx4_SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) (This)->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId) +/*** IVssBackupComponentsEx2 methods ***/ +#define IVssBackupComponentsEx4_UnexposeSnapshot(This,snapshotId) (This)->lpVtbl->UnexposeSnapshot(This,snapshotId) +#define IVssBackupComponentsEx4_SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) (This)->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth) +#define IVssBackupComponentsEx4_SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) (This)->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint) +#define IVssBackupComponentsEx4_SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) (This)->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName) +#define IVssBackupComponentsEx4_BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) (This)->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync) +#define IVssBackupComponentsEx4_PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) (This)->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync) +#define IVssBackupComponentsEx4_FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) (This)->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync) +/*** IVssBackupComponentsEx3 methods ***/ +#define IVssBackupComponentsEx4_GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) (This)->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage) +#define IVssBackupComponentsEx4_AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) (This)->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume) +#define IVssBackupComponentsEx4_RecoverSet(This,dwFlags,ppAsync) (This)->lpVtbl->RecoverSet(This,dwFlags,ppAsync) +#define IVssBackupComponentsEx4_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession) +/*** IVssBackupComponentsEx4 methods ***/ +#define IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath) (This)->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssBackupComponentsEx4_QueryInterface(IVssBackupComponentsEx4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssBackupComponentsEx4_AddRef(IVssBackupComponentsEx4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssBackupComponentsEx4_Release(IVssBackupComponentsEx4* This) { + return This->lpVtbl->Release(This); +} +/*** IVssBackupComponents methods ***/ +static inline HRESULT IVssBackupComponentsEx4_GetWriterComponentsCount(IVssBackupComponentsEx4* This,UINT *pcComponents) { + return This->lpVtbl->GetWriterComponentsCount(This,pcComponents); +} +static inline HRESULT IVssBackupComponentsEx4_GetWriterComponents(IVssBackupComponentsEx4* This,UINT iWriter,IVssWriterComponentsExt **ppWriter) { + return This->lpVtbl->GetWriterComponents(This,iWriter,ppWriter); +} +static inline HRESULT IVssBackupComponentsEx4_InitializeForBackup(IVssBackupComponentsEx4* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForBackup(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx4_SetBackupState(IVssBackupComponentsEx4* This,boolean bSelectComponents,boolean bBackupBootableSystemState,VSS_BACKUP_TYPE backupType,boolean bPartialFileSupport) { + return This->lpVtbl->SetBackupState(This,bSelectComponents,bBackupBootableSystemState,backupType,bPartialFileSupport); +} +static inline HRESULT IVssBackupComponentsEx4_InitializeForRestore(IVssBackupComponentsEx4* This,BSTR bstrXML) { + return This->lpVtbl->InitializeForRestore(This,bstrXML); +} +static inline HRESULT IVssBackupComponentsEx4_SetRestoreState(IVssBackupComponentsEx4* This,VSS_RESTORE_TYPE restoreType) { + return This->lpVtbl->SetRestoreState(This,restoreType); +} +static inline HRESULT IVssBackupComponentsEx4_GatherWriterMetadata(IVssBackupComponentsEx4* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterMetadata(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadataCount(IVssBackupComponentsEx4* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterMetadataCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadata(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadata **ppMetadata) { + return This->lpVtbl->GetWriterMetadata(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx4_FreeWriterMetadata(IVssBackupComponentsEx4* This) { + return This->lpVtbl->FreeWriterMetadata(This); +} +static inline HRESULT IVssBackupComponentsEx4_AddComponent(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName) { + return This->lpVtbl->AddComponent(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName); +} +static inline HRESULT IVssBackupComponentsEx4_PrepareForBackup(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->PrepareForBackup(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_AbortBackup(IVssBackupComponentsEx4* This) { + return This->lpVtbl->AbortBackup(This); +} +static inline HRESULT IVssBackupComponentsEx4_GatherWriterStatus(IVssBackupComponentsEx4* This,IVssAsync **pAsync) { + return This->lpVtbl->GatherWriterStatus(This,pAsync); +} +static inline HRESULT IVssBackupComponentsEx4_GetWriterStatusCount(IVssBackupComponentsEx4* This,UINT *pcWriters) { + return This->lpVtbl->GetWriterStatusCount(This,pcWriters); +} +static inline HRESULT IVssBackupComponentsEx4_FreeWriterStatus(IVssBackupComponentsEx4* This) { + return This->lpVtbl->FreeWriterStatus(This); +} +static inline HRESULT IVssBackupComponentsEx4_GetWriterStatus(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phResultFailure) { + return This->lpVtbl->GetWriterStatus(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phResultFailure); +} +static inline HRESULT IVssBackupComponentsEx4_SetBackupSucceeded(IVssBackupComponentsEx4* This,VSS_ID instanceId,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSucceded) { + return This->lpVtbl->SetBackupSucceeded(This,instanceId,writerId,ct,wszLogicalPath,wszComponentName,bSucceded); +} +static inline HRESULT IVssBackupComponentsEx4_SetBackupOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszBackupOptions) { + return This->lpVtbl->SetBackupOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszBackupOptions); +} +static inline HRESULT IVssBackupComponentsEx4_SetSelectedForRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore) { + return This->lpVtbl->SetSelectedForRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore); +} +static inline HRESULT IVssBackupComponentsEx4_SetRestoreOptions(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreOptions) { + return This->lpVtbl->SetRestoreOptions(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreOptions); +} +static inline HRESULT IVssBackupComponentsEx4_SetAdditionalRestores(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAdditionalRestores) { + return This->lpVtbl->SetAdditionalRestores(This,writerId,ct,wszLogicalPath,wszComponentName,bAdditionalRestores); +} +static inline HRESULT IVssBackupComponentsEx4_SetPreviousBackupStamp(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPreviousBackupStamp) { + return This->lpVtbl->SetPreviousBackupStamp(This,writerId,ct,wszLogicalPath,wszComponentName,wszPreviousBackupStamp); +} +static inline HRESULT IVssBackupComponentsEx4_SaveAsXML(IVssBackupComponentsEx4* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +static inline HRESULT IVssBackupComponentsEx4_BackupComplete(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->BackupComplete(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_AddAlternativeLocationMapping(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternativeLocationMapping(This,writerId,componentType,wszLogicalPath,wszComponentName,wszPath,wszFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssBackupComponentsEx4_AddRestoreSubcomponent(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE componentType,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszSubComponentLogicalPath,LPCWSTR wszSubComponentName,boolean bRepair) { + return This->lpVtbl->AddRestoreSubcomponent(This,writerId,componentType,wszLogicalPath,wszComponentName,wszSubComponentLogicalPath,wszSubComponentName,bRepair); +} +static inline HRESULT IVssBackupComponentsEx4_SetFileRestoreStatus(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_FILE_RESTORE_STATUS status) { + return This->lpVtbl->SetFileRestoreStatus(This,writerId,ct,wszLogicalPath,wszComponentName,status); +} +static inline HRESULT IVssBackupComponentsEx4_AddNewTarget(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszPath,LPCWSTR wszFileName,boolean bRecursive,LPCWSTR wszAlternatePath) { + return This->lpVtbl->AddNewTarget(This,writerId,ct,wszLogicalPath,wszComponentName,wszPath,wszFileName,bRecursive,wszAlternatePath); +} +static inline HRESULT IVssBackupComponentsEx4_SetRangesFilePath(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,UINT iPartialFile,LPCWSTR wszRangesFile) { + return This->lpVtbl->SetRangesFilePath(This,writerId,ct,wszLogicalPath,wszComponentName,iPartialFile,wszRangesFile); +} +static inline HRESULT IVssBackupComponentsEx4_PreRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->PreRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_PostRestore(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->PostRestore(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_SetContext(IVssBackupComponentsEx4* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssBackupComponentsEx4_StartSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID *pSnapshotSetId) { + return This->lpVtbl->StartSnapshotSet(This,pSnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx4_AddToSnapshotSet(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,VSS_ID *pidSnapshot) { + return This->lpVtbl->AddToSnapshotSet(This,pwszVolumeName,ProviderId,pidSnapshot); +} +static inline HRESULT IVssBackupComponentsEx4_DoSnapshotSet(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->DoSnapshotSet(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_DeleteSnapshots(IVssBackupComponentsEx4* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssBackupComponentsEx4_ImportSnapshots(IVssBackupComponentsEx4* This,IVssAsync **ppAsync) { + return This->lpVtbl->ImportSnapshots(This,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_BreakSnapshotSet(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->BreakSnapshotSet(This,SnapshotSetId); +} +static inline HRESULT IVssBackupComponentsEx4_GetSnapshotProperties(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssBackupComponentsEx4_Query(IVssBackupComponentsEx4* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssBackupComponentsEx4_IsVolumeSupported(IVssBackupComponentsEx4* This,VSS_ID ProviderId,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,ProviderId,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssBackupComponentsEx4_DisableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->DisableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx4_EnableWriterClasses(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterClassId,UINT cClassId) { + return This->lpVtbl->EnableWriterClasses(This,rgWriterClassId,cClassId); +} +static inline HRESULT IVssBackupComponentsEx4_DisableWriterInstances(IVssBackupComponentsEx4* This,const VSS_ID *rgWriterInstanceId,UINT cInstanceId) { + return This->lpVtbl->DisableWriterInstances(This,rgWriterInstanceId,cInstanceId); +} +static inline HRESULT IVssBackupComponentsEx4_ExposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,VSS_PWSZ wszPathFromRoot,LONG lAttributes,VSS_PWSZ wszExpose,VSS_PWSZ *pwszExposed) { + return This->lpVtbl->ExposeSnapshot(This,SnapshotId,wszPathFromRoot,lAttributes,wszExpose,pwszExposed); +} +static inline HRESULT IVssBackupComponentsEx4_RevertToSnapshot(IVssBackupComponentsEx4* This,VSS_ID SnapshotId,WINBOOL bForceDismount) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId,bForceDismount); +} +static inline HRESULT IVssBackupComponentsEx4_QueryRevertStatus(IVssBackupComponentsEx4* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +/*** IVssBackupComponentsEx methods ***/ +static inline HRESULT IVssBackupComponentsEx4_GetWriterMetadataEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,IVssExamineWriterMetadataEx **ppMetadata) { + return This->lpVtbl->GetWriterMetadataEx(This,iWriter,pidInstance,ppMetadata); +} +static inline HRESULT IVssBackupComponentsEx4_SetSelectedForRestoreEx(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bSelectedForRestore,VSS_ID instanceId) { + return This->lpVtbl->SetSelectedForRestoreEx(This,writerId,ct,wszLogicalPath,wszComponentName,bSelectedForRestore,instanceId); +} +/*** IVssBackupComponentsEx2 methods ***/ +static inline HRESULT IVssBackupComponentsEx4_UnexposeSnapshot(IVssBackupComponentsEx4* This,VSS_ID snapshotId) { + return This->lpVtbl->UnexposeSnapshot(This,snapshotId); +} +static inline HRESULT IVssBackupComponentsEx4_SetAuthoritativeRestore(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,boolean bAuth) { + return This->lpVtbl->SetAuthoritativeRestore(This,writerId,ct,wszLogicalPath,wszComponentName,bAuth); +} +static inline HRESULT IVssBackupComponentsEx4_SetRollForward(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,VSS_ROLLFORWARD_TYPE rollType,LPCWSTR wszRollForwardPoint) { + return This->lpVtbl->SetRollForward(This,writerId,ct,wszLogicalPath,wszComponentName,rollType,wszRollForwardPoint); +} +static inline HRESULT IVssBackupComponentsEx4_SetRestoreName(IVssBackupComponentsEx4* This,VSS_ID writerId,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszRestoreName) { + return This->lpVtbl->SetRestoreName(This,writerId,ct,wszLogicalPath,wszComponentName,wszRestoreName); +} +static inline HRESULT IVssBackupComponentsEx4_BreakSnapshotSetEx(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwBreakFlags,IVssAsync **ppAsync) { + return This->lpVtbl->BreakSnapshotSetEx(This,SnapshotSetID,dwBreakFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_PreFastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwPreFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->PreFastRecovery(This,SnapshotSetID,dwPreFastRecoveryFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_FastRecovery(IVssBackupComponentsEx4* This,VSS_ID SnapshotSetID,DWORD dwFastRecoveryFlags,IVssAsync **ppAsync) { + return This->lpVtbl->FastRecovery(This,SnapshotSetID,dwFastRecoveryFlags,ppAsync); +} +/*** IVssBackupComponentsEx3 methods ***/ +static inline HRESULT IVssBackupComponentsEx4_GetWriterStatusEx(IVssBackupComponentsEx4* This,UINT iWriter,VSS_ID *pidInstance,VSS_ID *pidWriter,BSTR *pbstrWriter,VSS_WRITER_STATE *pnStatus,HRESULT *phrFailureWriter,HRESULT *phrApplication,BSTR *pbstrApplicationMessage) { + return This->lpVtbl->GetWriterStatusEx(This,iWriter,pidInstance,pidWriter,pbstrWriter,pnStatus,phrFailureWriter,phrApplication,pbstrApplicationMessage); +} +static inline HRESULT IVssBackupComponentsEx4_AddSnapshotToRecoverySet(IVssBackupComponentsEx4* This,VSS_ID snapshotId,DWORD dwFlags,VSS_PWSZ pwszDestinationVolume) { + return This->lpVtbl->AddSnapshotToRecoverySet(This,snapshotId,dwFlags,pwszDestinationVolume); +} +static inline HRESULT IVssBackupComponentsEx4_RecoverSet(IVssBackupComponentsEx4* This,DWORD dwFlags,IVssAsync **ppAsync) { + return This->lpVtbl->RecoverSet(This,dwFlags,ppAsync); +} +static inline HRESULT IVssBackupComponentsEx4_GetSessionId(IVssBackupComponentsEx4* This,VSS_ID *idSession) { + return This->lpVtbl->GetSessionId(This,idSession); +} +/*** IVssBackupComponentsEx4 methods ***/ +static inline HRESULT IVssBackupComponentsEx4_GetRootAndLogicalPrefixPaths(IVssBackupComponentsEx4* This,VSS_PWSZ pwszFilePath,VSS_PWSZ *ppwszRootPath,VSS_PWSZ *ppwszLogicalPrefix,WINBOOL bNormalizeFQDNforRootPath) { + return This->lpVtbl->GetRootAndLogicalPrefixPaths(This,pwszFilePath,ppwszRootPath,ppwszLogicalPrefix,bNormalizeFQDNforRootPath); +} +#endif +#endif + +#endif + + +#endif /* __IVssBackupComponentsEx4_INTERFACE_DEFINED__ */ + +#define VSS_SW_BOOTABLE_STATE (1 << 0) +HRESULT STDAPICALLTYPE CreateVssBackupComponentsInternal(IVssBackupComponents **ppBackup); +HRESULT STDAPICALLTYPE CreateVssExamineWriterMetadataInternal(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata); +HRESULT APIENTRY IsVolumeSnapshottedInternal(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability); +void APIENTRY VssFreeSnapshotPropertiesInternal(VSS_SNAPSHOT_PROP *pProp); +HRESULT APIENTRY GetProviderMgmtInterfaceInternal(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf); +HRESULT APIENTRY ShouldBlockRevertInternal(LPCWSTR wszVolumeName, boolean *pbBlock); +static __inline HRESULT CreateVssBackupComponents(IVssBackupComponents **ppBackup) { return CreateVssBackupComponentsInternal(ppBackup); } +static __inline HRESULT CreateVssExamineWriterMetadata(BSTR bstrXML, IVssExamineWriterMetadata **ppMetadata) { return CreateVssExamineWriterMetadataInternal(bstrXML, ppMetadata); } +static __inline HRESULT IsVolumeSnapshotted(VSS_PWSZ pwszVolumeName, WINBOOL *pbSnapshotsPresent, LONG *plSnapshotCapability) { return IsVolumeSnapshottedInternal(pwszVolumeName, pbSnapshotsPresent, plSnapshotCapability); } +static __inline void VssFreeSnapshotProperties(VSS_SNAPSHOT_PROP *pProp) { return VssFreeSnapshotPropertiesInternal(pProp); } +static __inline HRESULT GetProviderMgmtInterface(VSS_ID ProviderId, IID InterfaceId, IUnknown **ppItf) { return GetProviderMgmtInterfaceInternal(ProviderId, InterfaceId, ppItf); } +static __inline HRESULT ShouldBlockRevert(LPCWSTR wszVolumeName, boolean *pbBlock) { return ShouldBlockRevertInternal(wszVolumeName, pbBlock); } +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + +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 /* __vsbackup_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsmgmt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsmgmt.h new file mode 100644 index 00000000..14eadea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsmgmt.h @@ -0,0 +1,1088 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vsmgmt.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 __vsmgmt_h__ +#define __vsmgmt_h__ + +/* Forward declarations */ + +#ifndef __IVssSnapshotMgmt_FWD_DEFINED__ +#define __IVssSnapshotMgmt_FWD_DEFINED__ +typedef interface IVssSnapshotMgmt IVssSnapshotMgmt; +#ifdef __cplusplus +interface IVssSnapshotMgmt; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssSnapshotMgmt2_FWD_DEFINED__ +#define __IVssSnapshotMgmt2_FWD_DEFINED__ +typedef interface IVssSnapshotMgmt2 IVssSnapshotMgmt2; +#ifdef __cplusplus +interface IVssSnapshotMgmt2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__ +typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt; +#ifdef __cplusplus +interface IVssDifferentialSoftwareSnapshotMgmt; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt2_FWD_DEFINED__ +typedef interface IVssDifferentialSoftwareSnapshotMgmt2 IVssDifferentialSoftwareSnapshotMgmt2; +#ifdef __cplusplus +interface IVssDifferentialSoftwareSnapshotMgmt2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt3_FWD_DEFINED__ +typedef interface IVssDifferentialSoftwareSnapshotMgmt3 IVssDifferentialSoftwareSnapshotMgmt3; +#ifdef __cplusplus +interface IVssDifferentialSoftwareSnapshotMgmt3; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssEnumMgmtObject_FWD_DEFINED__ +#define __IVssEnumMgmtObject_FWD_DEFINED__ +typedef interface IVssEnumMgmtObject IVssEnumMgmtObject; +#ifdef __cplusplus +interface IVssEnumMgmtObject; +#endif /* __cplusplus */ +#endif + +#ifndef __VssSnapshotMgmt_FWD_DEFINED__ +#define __VssSnapshotMgmt_FWD_DEFINED__ +#ifdef __cplusplus +typedef class VssSnapshotMgmt VssSnapshotMgmt; +#else +typedef struct VssSnapshotMgmt VssSnapshotMgmt; +#endif /* defined __cplusplus */ +#endif /* defined __VssSnapshotMgmt_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +typedef enum _VSS_MGMT_OBJECT_TYPE { + VSS_MGMT_OBJECT_UNKNOWN = 0, + VSS_MGMT_OBJECT_VOLUME = 1, + VSS_MGMT_OBJECT_DIFF_VOLUME = 2, + VSS_MGMT_OBJECT_DIFF_AREA = 3 +} VSS_MGMT_OBJECT_TYPE; +typedef enum _VSS_MGMT_OBJECT_TYPE *PVSS_MGMT_OBJECT_TYPE; +#define VSS_ASSOC_NO_MAX_SPACE (-1) + +#define VSS_ASSOC_REMOVE (0) + +typedef struct _VSS_VOLUME_PROP { + VSS_PWSZ m_pwszVolumeName; + VSS_PWSZ m_pwszVolumeDisplayName; +} VSS_VOLUME_PROP; +typedef struct _VSS_VOLUME_PROP *PVSS_VOLUME_PROP; +typedef struct _VSS_DIFF_VOLUME_PROP { + VSS_PWSZ m_pwszVolumeName; + VSS_PWSZ m_pwszVolumeDisplayName; + LONGLONG m_llVolumeFreeSpace; + LONGLONG m_llVolumeTotalSpace; +} VSS_DIFF_VOLUME_PROP; +typedef struct _VSS_DIFF_VOLUME_PROP *PVSS_DIFF_VOLUME_PROP; +typedef struct _VSS_DIFF_AREA_PROP { + VSS_PWSZ m_pwszVolumeName; + VSS_PWSZ m_pwszDiffAreaVolumeName; + LONGLONG m_llMaximumDiffSpace; + LONGLONG m_llAllocatedDiffSpace; + LONGLONG m_llUsedDiffSpace; +} VSS_DIFF_AREA_PROP; +typedef struct _VSS_DIFF_AREA_PROP *PVSS_DIFF_AREA_PROP; +typedef union __WIDL_vsmgmt_generated_name_00000021 { + VSS_VOLUME_PROP Vol; + VSS_DIFF_VOLUME_PROP DiffVol; + VSS_DIFF_AREA_PROP DiffArea; +} VSS_MGMT_OBJECT_UNION; +typedef union __WIDL_vsmgmt_generated_name_00000021 *PVSS_MGMT_OBJECT_UNION; +typedef struct _VSS_MGMT_OBJECT_PROP { + VSS_MGMT_OBJECT_TYPE Type; + VSS_MGMT_OBJECT_UNION Obj; +} VSS_MGMT_OBJECT_PROP; +typedef struct _VSS_MGMT_OBJECT_PROP *PVSS_MGMT_OBJECT_PROP; +typedef enum _VSS_PROTECTION_LEVEL { + VSS_PROTECTION_LEVEL_ORIGINAL_VOLUME = 0, + VSS_PROTECTION_LEVEL_SNAPSHOT = 1 +} VSS_PROTECTION_LEVEL; +typedef enum _VSS_PROTECTION_LEVEL *PVSS_PROTECTION_LEVEL; +typedef enum _VSS_PROTECTION_FAULT { + VSS_PROTECTION_FAULT_NONE = 0, + VSS_PROTECTION_FAULT_DIFF_AREA_MISSING = 1, + VSS_PROTECTION_FAULT_IO_FAILURE_DURING_ONLINE = 2, + VSS_PROTECTION_FAULT_META_DATA_CORRUPTION = 3, + VSS_PROTECTION_FAULT_MEMORY_ALLOCATION_FAILURE = 4, + VSS_PROTECTION_FAULT_MAPPED_MEMORY_FAILURE = 5, + VSS_PROTECTION_FAULT_COW_READ_FAILURE = 6, + VSS_PROTECTION_FAULT_COW_WRITE_FAILURE = 7, + VSS_PROTECTION_FAULT_DIFF_AREA_FULL = 8, + VSS_PROTECTION_FAULT_GROW_TOO_SLOW = 9, + VSS_PROTECTION_FAULT_GROW_FAILED = 10, + VSS_PROTECTION_FAULT_DESTROY_ALL_SNAPSHOTS = 11, + VSS_PROTECTION_FAULT_FILE_SYSTEM_FAILURE = 12, + VSS_PROTECTION_FAULT_IO_FAILURE = 13, + VSS_PROTECTION_FAULT_DIFF_AREA_REMOVED = 14, + VSS_PROTECTION_FAULT_EXTERNAL_WRITER_TO_DIFF_AREA = 15, + VSS_PROTECTION_FAULT_MOUNT_DURING_CLUSTER_OFFLINE = 16 +} VSS_PROTECTION_FAULT; +typedef enum _VSS_PROTECTION_FAULT *PVSS_PROTECTION_FAULT; +typedef struct _VSS_VOLUME_PROTECTION_INFO { + VSS_PROTECTION_LEVEL m_protectionLevel; + WINBOOL m_volumeIsOfflineForProtection; + VSS_PROTECTION_FAULT m_protectionFault; + LONG m_failureStatus; + WINBOOL m_volumeHasUnusedDiffArea; + DWORD m_reserved; +} VSS_VOLUME_PROTECTION_INFO; +typedef struct _VSS_VOLUME_PROTECTION_INFO *PVSS_VOLUME_PROTECTION_INFO; +#ifndef __IVssSnapshotMgmt_FWD_DEFINED__ +#define __IVssSnapshotMgmt_FWD_DEFINED__ +typedef interface IVssSnapshotMgmt IVssSnapshotMgmt; +#ifdef __cplusplus +interface IVssSnapshotMgmt; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt_FWD_DEFINED__ +typedef interface IVssDifferentialSoftwareSnapshotMgmt IVssDifferentialSoftwareSnapshotMgmt; +#ifdef __cplusplus +interface IVssDifferentialSoftwareSnapshotMgmt; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssEnumMgmtObject_FWD_DEFINED__ +#define __IVssEnumMgmtObject_FWD_DEFINED__ +typedef interface IVssEnumMgmtObject IVssEnumMgmtObject; +#ifdef __cplusplus +interface IVssEnumMgmtObject; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IVssSnapshotMgmt interface + */ +#ifndef __IVssSnapshotMgmt_INTERFACE_DEFINED__ +#define __IVssSnapshotMgmt_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fa7df749-66e7-4986-a27f-e2f04ae53772") +IVssSnapshotMgmt : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetProviderMgmtInterface( + VSS_ID ProviderId, + REFIID InterfaceId, + IUnknown **ppItf) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForSnapshots( + VSS_ID ProviderId, + LONG lContext, + IVssEnumMgmtObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE QuerySnapshotsByVolume( + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + IVssEnumObject **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssSnapshotMgmt, 0xfa7df749, 0x66e7, 0x4986, 0xa2,0x7f, 0xe2,0xf0,0x4a,0xe5,0x37,0x72) +#endif +#else +typedef struct IVssSnapshotMgmtVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssSnapshotMgmt *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssSnapshotMgmt *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssSnapshotMgmt *This); + + /*** IVssSnapshotMgmt methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProviderMgmtInterface)( + IVssSnapshotMgmt *This, + VSS_ID ProviderId, + REFIID InterfaceId, + IUnknown **ppItf); + + HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForSnapshots)( + IVssSnapshotMgmt *This, + VSS_ID ProviderId, + LONG lContext, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QuerySnapshotsByVolume)( + IVssSnapshotMgmt *This, + VSS_PWSZ pwszVolumeName, + VSS_ID ProviderId, + IVssEnumObject **ppEnum); + + END_INTERFACE +} IVssSnapshotMgmtVtbl; + +interface IVssSnapshotMgmt { + CONST_VTBL IVssSnapshotMgmtVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This) +/*** IVssSnapshotMgmt methods ***/ +#define IVssSnapshotMgmt_GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) (This)->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf) +#define IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum) +#define IVssSnapshotMgmt_QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) (This)->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssSnapshotMgmt_QueryInterface(IVssSnapshotMgmt* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssSnapshotMgmt_AddRef(IVssSnapshotMgmt* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssSnapshotMgmt_Release(IVssSnapshotMgmt* This) { + return This->lpVtbl->Release(This); +} +/*** IVssSnapshotMgmt methods ***/ +static inline HRESULT IVssSnapshotMgmt_GetProviderMgmtInterface(IVssSnapshotMgmt* This,VSS_ID ProviderId,REFIID InterfaceId,IUnknown **ppItf) { + return This->lpVtbl->GetProviderMgmtInterface(This,ProviderId,InterfaceId,ppItf); +} +static inline HRESULT IVssSnapshotMgmt_QueryVolumesSupportedForSnapshots(IVssSnapshotMgmt* This,VSS_ID ProviderId,LONG lContext,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryVolumesSupportedForSnapshots(This,ProviderId,lContext,ppEnum); +} +static inline HRESULT IVssSnapshotMgmt_QuerySnapshotsByVolume(IVssSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_ID ProviderId,IVssEnumObject **ppEnum) { + return This->lpVtbl->QuerySnapshotsByVolume(This,pwszVolumeName,ProviderId,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IVssSnapshotMgmt_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssSnapshotMgmt2 interface + */ +#ifndef __IVssSnapshotMgmt2_INTERFACE_DEFINED__ +#define __IVssSnapshotMgmt2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0f61ec39-fe82-45f2-a3f0-768b5d427102") +IVssSnapshotMgmt2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMinDiffAreaSize( + LONGLONG *pllMinDiffAreaSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssSnapshotMgmt2, 0x0f61ec39, 0xfe82, 0x45f2, 0xa3,0xf0, 0x76,0x8b,0x5d,0x42,0x71,0x02) +#endif +#else +typedef struct IVssSnapshotMgmt2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssSnapshotMgmt2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssSnapshotMgmt2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssSnapshotMgmt2 *This); + + /*** IVssSnapshotMgmt2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMinDiffAreaSize)( + IVssSnapshotMgmt2 *This, + LONGLONG *pllMinDiffAreaSize); + + END_INTERFACE +} IVssSnapshotMgmt2Vtbl; + +interface IVssSnapshotMgmt2 { + CONST_VTBL IVssSnapshotMgmt2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This) +/*** IVssSnapshotMgmt2 methods ***/ +#define IVssSnapshotMgmt2_GetMinDiffAreaSize(This,pllMinDiffAreaSize) (This)->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssSnapshotMgmt2_QueryInterface(IVssSnapshotMgmt2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssSnapshotMgmt2_AddRef(IVssSnapshotMgmt2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssSnapshotMgmt2_Release(IVssSnapshotMgmt2* This) { + return This->lpVtbl->Release(This); +} +/*** IVssSnapshotMgmt2 methods ***/ +static inline HRESULT IVssSnapshotMgmt2_GetMinDiffAreaSize(IVssSnapshotMgmt2* This,LONGLONG *pllMinDiffAreaSize) { + return This->lpVtbl->GetMinDiffAreaSize(This,pllMinDiffAreaSize); +} +#endif +#endif + +#endif + + +#endif /* __IVssSnapshotMgmt2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssDifferentialSoftwareSnapshotMgmt interface + */ +#ifndef __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("214a0f28-b737-4026-b847-4f9e37d79529") +IVssDifferentialSoftwareSnapshotMgmt : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddDiffArea( + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSize( + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryVolumesSupportedForDiffAreas( + VSS_PWSZ pwszOriginalVolumeName, + IVssEnumMgmtObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForVolume( + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasOnVolume( + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryDiffAreasForSnapshot( + VSS_ID SnapshotId, + IVssEnumMgmtObject **ppEnum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt, 0x214a0f28, 0xb737, 0x4026, 0xb8,0x47, 0x4f,0x9e,0x37,0xd7,0x95,0x29) +#endif +#else +typedef struct IVssDifferentialSoftwareSnapshotMgmtVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssDifferentialSoftwareSnapshotMgmt *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssDifferentialSoftwareSnapshotMgmt *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssDifferentialSoftwareSnapshotMgmt *This); + + /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ + HRESULT (STDMETHODCALLTYPE *AddDiffArea)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_PWSZ pwszOriginalVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)( + IVssDifferentialSoftwareSnapshotMgmt *This, + VSS_ID SnapshotId, + IVssEnumMgmtObject **ppEnum); + + END_INTERFACE +} IVssDifferentialSoftwareSnapshotMgmtVtbl; + +interface IVssDifferentialSoftwareSnapshotMgmt { + CONST_VTBL IVssDifferentialSoftwareSnapshotMgmtVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssDifferentialSoftwareSnapshotMgmt_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssDifferentialSoftwareSnapshotMgmt_Release(This) (This)->lpVtbl->Release(This) +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_AddRef(IVssDifferentialSoftwareSnapshotMgmt* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt_Release(IVssDifferentialSoftwareSnapshotMgmt* This) { + return This->lpVtbl->Release(This); +} +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum); +} +#endif +#endif + +#endif + + +#endif /* __IVssDifferentialSoftwareSnapshotMgmt_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssDifferentialSoftwareSnapshotMgmt2 interface + */ +#ifndef __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("949d7353-675f-4275-8969-f044c6277815") +IVssDifferentialSoftwareSnapshotMgmt2 : public IVssDifferentialSoftwareSnapshotMgmt +{ + virtual HRESULT STDMETHODCALLTYPE ChangeDiffAreaMaximumSizeEx( + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace, + WINBOOL bVolatile) = 0; + + virtual HRESULT STDMETHODCALLTYPE MigrateDiffAreas( + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + VSS_PWSZ pwszNewDiffAreaVolumeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryMigrationStatus( + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSnapshotPriority( + VSS_ID idSnapshot, + BYTE priority) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt2, 0x949d7353, 0x675f, 0x4275, 0x89,0x69, 0xf0,0x44,0xc6,0x27,0x78,0x15) +#endif +#else +typedef struct IVssDifferentialSoftwareSnapshotMgmt2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssDifferentialSoftwareSnapshotMgmt2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssDifferentialSoftwareSnapshotMgmt2 *This); + + /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ + HRESULT (STDMETHODCALLTYPE *AddDiffArea)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszOriginalVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_ID SnapshotId, + IVssEnumMgmtObject **ppEnum); + + /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace, + WINBOOL bVolatile); + + HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + VSS_PWSZ pwszNewDiffAreaVolumeName); + + HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)( + IVssDifferentialSoftwareSnapshotMgmt2 *This, + VSS_ID idSnapshot, + BYTE priority); + + END_INTERFACE +} IVssDifferentialSoftwareSnapshotMgmt2Vtbl; + +interface IVssDifferentialSoftwareSnapshotMgmt2 { + CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssDifferentialSoftwareSnapshotMgmt2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssDifferentialSoftwareSnapshotMgmt2_Release(This) (This)->lpVtbl->Release(This) +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) +/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) +#define IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) +#define IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) +#define IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_AddRef(IVssDifferentialSoftwareSnapshotMgmt2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt2_Release(IVssDifferentialSoftwareSnapshotMgmt2* This) { + return This->lpVtbl->Release(This); +} +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum); +} +/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) { + return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) { + return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) { + return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt2_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt2* This,VSS_ID idSnapshot,BYTE priority) { + return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority); +} +#endif +#endif + +#endif + + +#endif /* __IVssDifferentialSoftwareSnapshotMgmt2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssDifferentialSoftwareSnapshotMgmt3 interface + */ +#ifndef __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ +#define __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("383f7e71-a4c5-401f-b27f-f826289f8458") +IVssDifferentialSoftwareSnapshotMgmt3 : public IVssDifferentialSoftwareSnapshotMgmt2 +{ + virtual HRESULT STDMETHODCALLTYPE SetVolumeProtectLevel( + VSS_PWSZ pwszVolumeName, + VSS_PROTECTION_LEVEL protectionLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVolumeProtectLevel( + VSS_PWSZ pwszVolumeName, + VSS_VOLUME_PROTECTION_INFO *protectionLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearVolumeProtectFault( + VSS_PWSZ pwszVolumeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteUnusedDiffAreas( + VSS_PWSZ pwszDiffAreaVolumeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE QuerySnapshotDeltaBitmap( + VSS_ID idSnapshotOlder, + VSS_ID idSnapshotYounger, + ULONG *pcBlockSizePerBit, + ULONG *pcBitmapLength, + BYTE **ppbBitmap) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssDifferentialSoftwareSnapshotMgmt3, 0x383f7e71, 0xa4c5, 0x401f, 0xb2,0x7f, 0xf8,0x26,0x28,0x9f,0x84,0x58) +#endif +#else +typedef struct IVssDifferentialSoftwareSnapshotMgmt3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssDifferentialSoftwareSnapshotMgmt3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssDifferentialSoftwareSnapshotMgmt3 *This); + + /*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ + HRESULT (STDMETHODCALLTYPE *AddDiffArea)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSize)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace); + + HRESULT (STDMETHODCALLTYPE *QueryVolumesSupportedForDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszOriginalVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForVolume)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasOnVolume)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + IVssEnumMgmtObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *QueryDiffAreasForSnapshot)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_ID SnapshotId, + IVssEnumMgmtObject **ppEnum); + + /*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ + HRESULT (STDMETHODCALLTYPE *ChangeDiffAreaMaximumSizeEx)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + LONGLONG llMaximumDiffSpace, + WINBOOL bVolatile); + + HRESULT (STDMETHODCALLTYPE *MigrateDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + VSS_PWSZ pwszNewDiffAreaVolumeName); + + HRESULT (STDMETHODCALLTYPE *QueryMigrationStatus)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PWSZ pwszDiffAreaVolumeName, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *SetSnapshotPriority)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_ID idSnapshot, + BYTE priority); + + /*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetVolumeProtectLevel)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_PROTECTION_LEVEL protectionLevel); + + HRESULT (STDMETHODCALLTYPE *GetVolumeProtectLevel)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName, + VSS_VOLUME_PROTECTION_INFO *protectionLevel); + + HRESULT (STDMETHODCALLTYPE *ClearVolumeProtectFault)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszVolumeName); + + HRESULT (STDMETHODCALLTYPE *DeleteUnusedDiffAreas)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_PWSZ pwszDiffAreaVolumeName); + + HRESULT (STDMETHODCALLTYPE *QuerySnapshotDeltaBitmap)( + IVssDifferentialSoftwareSnapshotMgmt3 *This, + VSS_ID idSnapshotOlder, + VSS_ID idSnapshotYounger, + ULONG *pcBlockSizePerBit, + ULONG *pcBitmapLength, + BYTE **ppbBitmap); + + END_INTERFACE +} IVssDifferentialSoftwareSnapshotMgmt3Vtbl; + +interface IVssDifferentialSoftwareSnapshotMgmt3 { + CONST_VTBL IVssDifferentialSoftwareSnapshotMgmt3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssDifferentialSoftwareSnapshotMgmt3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssDifferentialSoftwareSnapshotMgmt3_Release(This) (This)->lpVtbl->Release(This) +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) (This)->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace) +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) (This)->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) (This)->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum) +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) (This)->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum) +/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) (This)->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile) +#define IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) (This)->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName) +#define IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) (This)->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync) +#define IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(This,idSnapshot,priority) (This)->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority) +/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/ +#define IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) +#define IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) (This)->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel) +#define IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(This,pwszVolumeName) (This)->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName) +#define IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) (This)->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName) +#define IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) (This)->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryInterface(IVssDifferentialSoftwareSnapshotMgmt3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_AddRef(IVssDifferentialSoftwareSnapshotMgmt3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssDifferentialSoftwareSnapshotMgmt3_Release(IVssDifferentialSoftwareSnapshotMgmt3* This) { + return This->lpVtbl->Release(This); +} +/*** IVssDifferentialSoftwareSnapshotMgmt methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_AddDiffArea(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->AddDiffArea(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSize(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace) { + return This->lpVtbl->ChangeDiffAreaMaximumSize(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryVolumesSupportedForDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszOriginalVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryVolumesSupportedForDiffAreas(This,pwszOriginalVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasOnVolume(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasOnVolume(This,pwszVolumeName,ppEnum); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryDiffAreasForSnapshot(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID SnapshotId,IVssEnumMgmtObject **ppEnum) { + return This->lpVtbl->QueryDiffAreasForSnapshot(This,SnapshotId,ppEnum); +} +/*** IVssDifferentialSoftwareSnapshotMgmt2 methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ChangeDiffAreaMaximumSizeEx(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,LONGLONG llMaximumDiffSpace,WINBOOL bVolatile) { + return This->lpVtbl->ChangeDiffAreaMaximumSizeEx(This,pwszVolumeName,pwszDiffAreaVolumeName,llMaximumDiffSpace,bVolatile); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_MigrateDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,VSS_PWSZ pwszNewDiffAreaVolumeName) { + return This->lpVtbl->MigrateDiffAreas(This,pwszVolumeName,pwszDiffAreaVolumeName,pwszNewDiffAreaVolumeName); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QueryMigrationStatus(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PWSZ pwszDiffAreaVolumeName,IVssAsync **ppAsync) { + return This->lpVtbl->QueryMigrationStatus(This,pwszVolumeName,pwszDiffAreaVolumeName,ppAsync); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetSnapshotPriority(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshot,BYTE priority) { + return This->lpVtbl->SetSnapshotPriority(This,idSnapshot,priority); +} +/*** IVssDifferentialSoftwareSnapshotMgmt3 methods ***/ +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_SetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_PROTECTION_LEVEL protectionLevel) { + return This->lpVtbl->SetVolumeProtectLevel(This,pwszVolumeName,protectionLevel); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_GetVolumeProtectLevel(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName,VSS_VOLUME_PROTECTION_INFO *protectionLevel) { + return This->lpVtbl->GetVolumeProtectLevel(This,pwszVolumeName,protectionLevel); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_ClearVolumeProtectFault(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszVolumeName) { + return This->lpVtbl->ClearVolumeProtectFault(This,pwszVolumeName); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_DeleteUnusedDiffAreas(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_PWSZ pwszDiffAreaVolumeName) { + return This->lpVtbl->DeleteUnusedDiffAreas(This,pwszDiffAreaVolumeName); +} +static inline HRESULT IVssDifferentialSoftwareSnapshotMgmt3_QuerySnapshotDeltaBitmap(IVssDifferentialSoftwareSnapshotMgmt3* This,VSS_ID idSnapshotOlder,VSS_ID idSnapshotYounger,ULONG *pcBlockSizePerBit,ULONG *pcBitmapLength,BYTE **ppbBitmap) { + return This->lpVtbl->QuerySnapshotDeltaBitmap(This,idSnapshotOlder,idSnapshotYounger,pcBlockSizePerBit,pcBitmapLength,ppbBitmap); +} +#endif +#endif + +#endif + + +#endif /* __IVssDifferentialSoftwareSnapshotMgmt3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssEnumMgmtObject interface + */ +#ifndef __IVssEnumMgmtObject_INTERFACE_DEFINED__ +#define __IVssEnumMgmtObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("01954e6b-9254-4e6e-808c-c9e05d007696") +IVssEnumMgmtObject : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + VSS_MGMT_OBJECT_PROP *rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IVssEnumMgmtObject **ppenum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssEnumMgmtObject, 0x01954e6b, 0x9254, 0x4e6e, 0x80,0x8c, 0xc9,0xe0,0x5d,0x00,0x76,0x96) +#endif +#else +typedef struct IVssEnumMgmtObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssEnumMgmtObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssEnumMgmtObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssEnumMgmtObject *This); + + /*** IVssEnumMgmtObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IVssEnumMgmtObject *This, + ULONG celt, + VSS_MGMT_OBJECT_PROP *rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IVssEnumMgmtObject *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IVssEnumMgmtObject *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IVssEnumMgmtObject *This, + IVssEnumMgmtObject **ppenum); + + END_INTERFACE +} IVssEnumMgmtObjectVtbl; + +interface IVssEnumMgmtObject { + CONST_VTBL IVssEnumMgmtObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssEnumMgmtObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssEnumMgmtObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssEnumMgmtObject_Release(This) (This)->lpVtbl->Release(This) +/*** IVssEnumMgmtObject methods ***/ +#define IVssEnumMgmtObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IVssEnumMgmtObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IVssEnumMgmtObject_Reset(This) (This)->lpVtbl->Reset(This) +#define IVssEnumMgmtObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssEnumMgmtObject_QueryInterface(IVssEnumMgmtObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssEnumMgmtObject_AddRef(IVssEnumMgmtObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssEnumMgmtObject_Release(IVssEnumMgmtObject* This) { + return This->lpVtbl->Release(This); +} +/*** IVssEnumMgmtObject methods ***/ +static inline HRESULT IVssEnumMgmtObject_Next(IVssEnumMgmtObject* This,ULONG celt,VSS_MGMT_OBJECT_PROP *rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IVssEnumMgmtObject_Skip(IVssEnumMgmtObject* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IVssEnumMgmtObject_Reset(IVssEnumMgmtObject* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IVssEnumMgmtObject_Clone(IVssEnumMgmtObject* This,IVssEnumMgmtObject **ppenum) { + return This->lpVtbl->Clone(This,ppenum); +} +#endif +#endif + +#endif + + +#endif /* __IVssEnumMgmtObject_INTERFACE_DEFINED__ */ + +#ifndef __VSMGMT_LIBRARY_DEFINED__ +#define __VSMGMT_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_VSMGMT, 0x84015c41, 0x291d, 0x49e6, 0xbf,0x7f, 0xdd,0x40,0xae,0x93,0x63,0x2b); + +/***************************************************************************** + * VssSnapshotMgmt coclass + */ + +DEFINE_GUID(CLSID_VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f); + +#ifdef __cplusplus +class DECLSPEC_UUID("0b5a2c52-3eb9-470a-96e2-6c6d4570e40f") VssSnapshotMgmt; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(VssSnapshotMgmt, 0x0b5a2c52, 0x3eb9, 0x470a, 0x96,0xe2, 0x6c,0x6d,0x45,0x70,0xe4,0x0f) +#endif +#endif + +#endif /* __VSMGMT_LIBRARY_DEFINED__ */ +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vsmgmt_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsprov.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsprov.h new file mode 100644 index 00000000..54d5de6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsprov.h @@ -0,0 +1,1107 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vsprov.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 __vsprov_h__ +#define __vsprov_h__ + +/* Forward declarations */ + +#ifndef __IVssSoftwareSnapshotProvider_FWD_DEFINED__ +#define __IVssSoftwareSnapshotProvider_FWD_DEFINED__ +typedef interface IVssSoftwareSnapshotProvider IVssSoftwareSnapshotProvider; +#ifdef __cplusplus +interface IVssSoftwareSnapshotProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssProviderCreateSnapshotSet_FWD_DEFINED__ +#define __IVssProviderCreateSnapshotSet_FWD_DEFINED__ +typedef interface IVssProviderCreateSnapshotSet IVssProviderCreateSnapshotSet; +#ifdef __cplusplus +interface IVssProviderCreateSnapshotSet; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssProviderNotifications_FWD_DEFINED__ +#define __IVssProviderNotifications_FWD_DEFINED__ +typedef interface IVssProviderNotifications IVssProviderNotifications; +#ifdef __cplusplus +interface IVssProviderNotifications; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssHardwareSnapshotProvider_FWD_DEFINED__ +#define __IVssHardwareSnapshotProvider_FWD_DEFINED__ +typedef interface IVssHardwareSnapshotProvider IVssHardwareSnapshotProvider; +#ifdef __cplusplus +interface IVssHardwareSnapshotProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssHardwareSnapshotProviderEx_FWD_DEFINED__ +#define __IVssHardwareSnapshotProviderEx_FWD_DEFINED__ +typedef interface IVssHardwareSnapshotProviderEx IVssHardwareSnapshotProviderEx; +#ifdef __cplusplus +interface IVssHardwareSnapshotProviderEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssFileShareSnapshotProvider_FWD_DEFINED__ +#define __IVssFileShareSnapshotProvider_FWD_DEFINED__ +typedef interface IVssFileShareSnapshotProvider IVssFileShareSnapshotProvider; +#ifdef __cplusplus +interface IVssFileShareSnapshotProvider; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __IVssSnapshotProvider_FWD_DEFINED__ +#define __IVssSnapshotProvider_FWD_DEFINED__ +typedef interface IVssSnapshotProvider IVssSnapshotProvider; +#ifdef __cplusplus +interface IVssSnapshotProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssProviderNotifications_FWD_DEFINED__ +#define __IVssProviderNotifications_FWD_DEFINED__ +typedef interface IVssProviderNotifications IVssProviderNotifications; +#ifdef __cplusplus +interface IVssProviderNotifications; +#endif /* __cplusplus */ +#endif + +typedef VSS_PWSZ *PVSS_PWSZ; +/***************************************************************************** + * IVssSoftwareSnapshotProvider interface + */ +#ifndef __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__ +#define __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("609e123e-2c5a-44d3-8f01-0b1d9a47d1ff") +IVssSoftwareSnapshotProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetContext( + LONG lContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties( + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp) = 0; + + virtual HRESULT STDMETHODCALLTYPE Query( + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots( + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot( + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + VSS_PWSZ pwszVolumeName, + LONG lNewContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsVolumeSupported( + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsVolumeSnapshotted( + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSnapshotsPresent, + LONG *plSnapshotCompatibility) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty( + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, + VARIANT vProperty) = 0; + + virtual HRESULT STDMETHODCALLTYPE RevertToSnapshot( + VSS_ID SnapshotId) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryRevertStatus( + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssSoftwareSnapshotProvider, 0x609e123e, 0x2c5a, 0x44d3, 0x8f,0x01, 0x0b,0x1d,0x9a,0x47,0xd1,0xff) +#endif +#else +typedef struct IVssSoftwareSnapshotProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssSoftwareSnapshotProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssSoftwareSnapshotProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssSoftwareSnapshotProvider *This); + + /*** IVssSoftwareSnapshotProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssSoftwareSnapshotProvider *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssSoftwareSnapshotProvider *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssSoftwareSnapshotProvider *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssSoftwareSnapshotProvider *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)( + IVssSoftwareSnapshotProvider *This, + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + VSS_PWSZ pwszVolumeName, + LONG lNewContext); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSupported)( + IVssSoftwareSnapshotProvider *This, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *IsVolumeSnapshotted)( + IVssSoftwareSnapshotProvider *This, + VSS_PWSZ pwszVolumeName, + WINBOOL *pbSnapshotsPresent, + LONG *plSnapshotCompatibility); + + HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)( + IVssSoftwareSnapshotProvider *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, + VARIANT vProperty); + + HRESULT (STDMETHODCALLTYPE *RevertToSnapshot)( + IVssSoftwareSnapshotProvider *This, + VSS_ID SnapshotId); + + HRESULT (STDMETHODCALLTYPE *QueryRevertStatus)( + IVssSoftwareSnapshotProvider *This, + VSS_PWSZ pwszVolume, + IVssAsync **ppAsync); + + END_INTERFACE +} IVssSoftwareSnapshotProviderVtbl; + +interface IVssSoftwareSnapshotProvider { + CONST_VTBL IVssSoftwareSnapshotProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssSoftwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssSoftwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssSoftwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IVssSoftwareSnapshotProvider methods ***/ +#define IVssSoftwareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssSoftwareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssSoftwareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssSoftwareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext) +#define IVssSoftwareSnapshotProvider_IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) (This)->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider) +#define IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility) +#define IVssSoftwareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) +#define IVssSoftwareSnapshotProvider_RevertToSnapshot(This,SnapshotId) (This)->lpVtbl->RevertToSnapshot(This,SnapshotId) +#define IVssSoftwareSnapshotProvider_QueryRevertStatus(This,pwszVolume,ppAsync) (This)->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssSoftwareSnapshotProvider_QueryInterface(IVssSoftwareSnapshotProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssSoftwareSnapshotProvider_AddRef(IVssSoftwareSnapshotProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssSoftwareSnapshotProvider_Release(IVssSoftwareSnapshotProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IVssSoftwareSnapshotProvider methods ***/ +static inline HRESULT IVssSoftwareSnapshotProvider_SetContext(IVssSoftwareSnapshotProvider* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssSoftwareSnapshotProvider_GetSnapshotProperties(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssSoftwareSnapshotProvider_Query(IVssSoftwareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssSoftwareSnapshotProvider_DeleteSnapshots(IVssSoftwareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssSoftwareSnapshotProvider_BeginPrepareSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszVolumeName,LONG lNewContext) { + return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszVolumeName,lNewContext); +} +static inline HRESULT IVssSoftwareSnapshotProvider_IsVolumeSupported(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsVolumeSupported(This,pwszVolumeName,pbSupportedByThisProvider); +} +static inline HRESULT IVssSoftwareSnapshotProvider_IsVolumeSnapshotted(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolumeName,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) { + return This->lpVtbl->IsVolumeSnapshotted(This,pwszVolumeName,pbSnapshotsPresent,plSnapshotCompatibility); +} +static inline HRESULT IVssSoftwareSnapshotProvider_SetSnapshotProperty(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) { + return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty); +} +static inline HRESULT IVssSoftwareSnapshotProvider_RevertToSnapshot(IVssSoftwareSnapshotProvider* This,VSS_ID SnapshotId) { + return This->lpVtbl->RevertToSnapshot(This,SnapshotId); +} +static inline HRESULT IVssSoftwareSnapshotProvider_QueryRevertStatus(IVssSoftwareSnapshotProvider* This,VSS_PWSZ pwszVolume,IVssAsync **ppAsync) { + return This->lpVtbl->QueryRevertStatus(This,pwszVolume,ppAsync); +} +#endif +#endif + +#endif + + +#endif /* __IVssSoftwareSnapshotProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssProviderCreateSnapshotSet interface + */ +#ifndef __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__ +#define __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5f894e5b-1e39-4778-8e23-9abad9f0e08c") +IVssProviderCreateSnapshotSet : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EndPrepareSnapshots( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE PreCommitSnapshots( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE CommitSnapshots( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE PostCommitSnapshots( + VSS_ID SnapshotSetId, + LONG lSnapshotsCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE PreFinalCommitSnapshots( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE PostFinalCommitSnapshots( + VSS_ID SnapshotSetId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbortSnapshots( + VSS_ID SnapshotSetId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssProviderCreateSnapshotSet, 0x5f894e5b, 0x1e39, 0x4778, 0x8e,0x23, 0x9a,0xba,0xd9,0xf0,0xe0,0x8c) +#endif +#else +typedef struct IVssProviderCreateSnapshotSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssProviderCreateSnapshotSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssProviderCreateSnapshotSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssProviderCreateSnapshotSet *This); + + /*** IVssProviderCreateSnapshotSet methods ***/ + HRESULT (STDMETHODCALLTYPE *EndPrepareSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *PreCommitSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *CommitSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *PostCommitSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId, + LONG lSnapshotsCount); + + HRESULT (STDMETHODCALLTYPE *PreFinalCommitSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *PostFinalCommitSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + HRESULT (STDMETHODCALLTYPE *AbortSnapshots)( + IVssProviderCreateSnapshotSet *This, + VSS_ID SnapshotSetId); + + END_INTERFACE +} IVssProviderCreateSnapshotSetVtbl; + +interface IVssProviderCreateSnapshotSet { + CONST_VTBL IVssProviderCreateSnapshotSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssProviderCreateSnapshotSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssProviderCreateSnapshotSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssProviderCreateSnapshotSet_Release(This) (This)->lpVtbl->Release(This) +/*** IVssProviderCreateSnapshotSet methods ***/ +#define IVssProviderCreateSnapshotSet_EndPrepareSnapshots(This,SnapshotSetId) (This)->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId) +#define IVssProviderCreateSnapshotSet_PreCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreCommitSnapshots(This,SnapshotSetId) +#define IVssProviderCreateSnapshotSet_CommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->CommitSnapshots(This,SnapshotSetId) +#define IVssProviderCreateSnapshotSet_PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount) (This)->lpVtbl->PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount) +#define IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId) +#define IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(This,SnapshotSetId) (This)->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId) +#define IVssProviderCreateSnapshotSet_AbortSnapshots(This,SnapshotSetId) (This)->lpVtbl->AbortSnapshots(This,SnapshotSetId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssProviderCreateSnapshotSet_QueryInterface(IVssProviderCreateSnapshotSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssProviderCreateSnapshotSet_AddRef(IVssProviderCreateSnapshotSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssProviderCreateSnapshotSet_Release(IVssProviderCreateSnapshotSet* This) { + return This->lpVtbl->Release(This); +} +/*** IVssProviderCreateSnapshotSet methods ***/ +static inline HRESULT IVssProviderCreateSnapshotSet_EndPrepareSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->EndPrepareSnapshots(This,SnapshotSetId); +} +static inline HRESULT IVssProviderCreateSnapshotSet_PreCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->PreCommitSnapshots(This,SnapshotSetId); +} +static inline HRESULT IVssProviderCreateSnapshotSet_CommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->CommitSnapshots(This,SnapshotSetId); +} +static inline HRESULT IVssProviderCreateSnapshotSet_PostCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId,LONG lSnapshotsCount) { + return This->lpVtbl->PostCommitSnapshots(This,SnapshotSetId,lSnapshotsCount); +} +static inline HRESULT IVssProviderCreateSnapshotSet_PreFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->PreFinalCommitSnapshots(This,SnapshotSetId); +} +static inline HRESULT IVssProviderCreateSnapshotSet_PostFinalCommitSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->PostFinalCommitSnapshots(This,SnapshotSetId); +} +static inline HRESULT IVssProviderCreateSnapshotSet_AbortSnapshots(IVssProviderCreateSnapshotSet* This,VSS_ID SnapshotSetId) { + return This->lpVtbl->AbortSnapshots(This,SnapshotSetId); +} +#endif +#endif + +#endif + + +#endif /* __IVssProviderCreateSnapshotSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssProviderNotifications interface + */ +#ifndef __IVssProviderNotifications_INTERFACE_DEFINED__ +#define __IVssProviderNotifications_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e561901f-03a5-4afe-86d0-72baeece7004") +IVssProviderNotifications : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnLoad( + IUnknown *pCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnUnload( + WINBOOL bForceUnload) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssProviderNotifications, 0xe561901f, 0x03a5, 0x4afe, 0x86,0xd0, 0x72,0xba,0xee,0xce,0x70,0x04) +#endif +#else +typedef struct IVssProviderNotificationsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssProviderNotifications *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssProviderNotifications *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssProviderNotifications *This); + + /*** IVssProviderNotifications methods ***/ + HRESULT (STDMETHODCALLTYPE *OnLoad)( + IVssProviderNotifications *This, + IUnknown *pCallback); + + HRESULT (STDMETHODCALLTYPE *OnUnload)( + IVssProviderNotifications *This, + WINBOOL bForceUnload); + + END_INTERFACE +} IVssProviderNotificationsVtbl; + +interface IVssProviderNotifications { + CONST_VTBL IVssProviderNotificationsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssProviderNotifications_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssProviderNotifications_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssProviderNotifications_Release(This) (This)->lpVtbl->Release(This) +/*** IVssProviderNotifications methods ***/ +#define IVssProviderNotifications_OnLoad(This,pCallback) (This)->lpVtbl->OnLoad(This,pCallback) +#define IVssProviderNotifications_OnUnload(This,bForceUnload) (This)->lpVtbl->OnUnload(This,bForceUnload) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssProviderNotifications_QueryInterface(IVssProviderNotifications* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssProviderNotifications_AddRef(IVssProviderNotifications* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssProviderNotifications_Release(IVssProviderNotifications* This) { + return This->lpVtbl->Release(This); +} +/*** IVssProviderNotifications methods ***/ +static inline HRESULT IVssProviderNotifications_OnLoad(IVssProviderNotifications* This,IUnknown *pCallback) { + return This->lpVtbl->OnLoad(This,pCallback); +} +static inline HRESULT IVssProviderNotifications_OnUnload(IVssProviderNotifications* This,WINBOOL bForceUnload) { + return This->lpVtbl->OnUnload(This,bForceUnload); +} +#endif +#endif + +#endif + + +#endif /* __IVssProviderNotifications_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssHardwareSnapshotProvider interface + */ +#ifndef __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__ +#define __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9593a157-44e9-4344-bbeb-44fbf9b06b10") +IVssHardwareSnapshotProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AreLunsSupported( + LONG lLunCount, + LONG lContext, + VSS_PWSZ *rgwszDevices, + VDS_LUN_INFORMATION *pLunInformation, + WINBOOL *pbIsSupported) = 0; + + virtual HRESULT STDMETHODCALLTYPE FillInLunInfo( + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pLunInfo, + WINBOOL *pbIsSupported) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot( + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + LONG lContext, + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgLunInformation) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTargetLuns( + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgSourceLuns, + VDS_LUN_INFORMATION *rgDestinationLuns) = 0; + + virtual HRESULT STDMETHODCALLTYPE LocateLuns( + LONG lLunCount, + VDS_LUN_INFORMATION *rgSourceLuns) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLunEmpty( + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pInformation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssHardwareSnapshotProvider, 0x9593a157, 0x44e9, 0x4344, 0xbb,0xeb, 0x44,0xfb,0xf9,0xb0,0x6b,0x10) +#endif +#else +typedef struct IVssHardwareSnapshotProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssHardwareSnapshotProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssHardwareSnapshotProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssHardwareSnapshotProvider *This); + + /*** IVssHardwareSnapshotProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *AreLunsSupported)( + IVssHardwareSnapshotProvider *This, + LONG lLunCount, + LONG lContext, + VSS_PWSZ *rgwszDevices, + VDS_LUN_INFORMATION *pLunInformation, + WINBOOL *pbIsSupported); + + HRESULT (STDMETHODCALLTYPE *FillInLunInfo)( + IVssHardwareSnapshotProvider *This, + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pLunInfo, + WINBOOL *pbIsSupported); + + HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)( + IVssHardwareSnapshotProvider *This, + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + LONG lContext, + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgLunInformation); + + HRESULT (STDMETHODCALLTYPE *GetTargetLuns)( + IVssHardwareSnapshotProvider *This, + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgSourceLuns, + VDS_LUN_INFORMATION *rgDestinationLuns); + + HRESULT (STDMETHODCALLTYPE *LocateLuns)( + IVssHardwareSnapshotProvider *This, + LONG lLunCount, + VDS_LUN_INFORMATION *rgSourceLuns); + + HRESULT (STDMETHODCALLTYPE *OnLunEmpty)( + IVssHardwareSnapshotProvider *This, + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pInformation); + + END_INTERFACE +} IVssHardwareSnapshotProviderVtbl; + +interface IVssHardwareSnapshotProvider { + CONST_VTBL IVssHardwareSnapshotProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssHardwareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssHardwareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssHardwareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IVssHardwareSnapshotProvider methods ***/ +#define IVssHardwareSnapshotProvider_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) +#define IVssHardwareSnapshotProvider_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) +#define IVssHardwareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) +#define IVssHardwareSnapshotProvider_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) +#define IVssHardwareSnapshotProvider_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns) +#define IVssHardwareSnapshotProvider_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssHardwareSnapshotProvider_QueryInterface(IVssHardwareSnapshotProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssHardwareSnapshotProvider_AddRef(IVssHardwareSnapshotProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssHardwareSnapshotProvider_Release(IVssHardwareSnapshotProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IVssHardwareSnapshotProvider methods ***/ +static inline HRESULT IVssHardwareSnapshotProvider_AreLunsSupported(IVssHardwareSnapshotProvider* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) { + return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported); +} +static inline HRESULT IVssHardwareSnapshotProvider_FillInLunInfo(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) { + return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported); +} +static inline HRESULT IVssHardwareSnapshotProvider_BeginPrepareSnapshot(IVssHardwareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) { + return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation); +} +static inline HRESULT IVssHardwareSnapshotProvider_GetTargetLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) { + return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns); +} +static inline HRESULT IVssHardwareSnapshotProvider_LocateLuns(IVssHardwareSnapshotProvider* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) { + return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns); +} +static inline HRESULT IVssHardwareSnapshotProvider_OnLunEmpty(IVssHardwareSnapshotProvider* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) { + return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation); +} +#endif +#endif + +#endif + + +#endif /* __IVssHardwareSnapshotProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssHardwareSnapshotProviderEx interface + */ +#ifndef __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__ +#define __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7f5ba925-cdb1-4d11-a71f-339eb7e709fd") +IVssHardwareSnapshotProviderEx : public IVssHardwareSnapshotProvider +{ + virtual HRESULT STDMETHODCALLTYPE GetProviderCapabilities( + ULONGLONG *pllOriginalCapabilityMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnLunStateChange( + VDS_LUN_INFORMATION *pSnapshotLuns, + VDS_LUN_INFORMATION *pOriginalLuns, + DWORD dwCount, + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResyncLuns( + VDS_LUN_INFORMATION *pSourceLuns, + VDS_LUN_INFORMATION *pTargetLuns, + DWORD dwCount, + IVssAsync **ppAsync) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnReuseLuns( + VDS_LUN_INFORMATION *pSnapshotLuns, + VDS_LUN_INFORMATION *pOriginalLuns, + DWORD dwCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssHardwareSnapshotProviderEx, 0x7f5ba925, 0xcdb1, 0x4d11, 0xa7,0x1f, 0x33,0x9e,0xb7,0xe7,0x09,0xfd) +#endif +#else +typedef struct IVssHardwareSnapshotProviderExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssHardwareSnapshotProviderEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssHardwareSnapshotProviderEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssHardwareSnapshotProviderEx *This); + + /*** IVssHardwareSnapshotProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *AreLunsSupported)( + IVssHardwareSnapshotProviderEx *This, + LONG lLunCount, + LONG lContext, + VSS_PWSZ *rgwszDevices, + VDS_LUN_INFORMATION *pLunInformation, + WINBOOL *pbIsSupported); + + HRESULT (STDMETHODCALLTYPE *FillInLunInfo)( + IVssHardwareSnapshotProviderEx *This, + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pLunInfo, + WINBOOL *pbIsSupported); + + HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)( + IVssHardwareSnapshotProviderEx *This, + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + LONG lContext, + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgLunInformation); + + HRESULT (STDMETHODCALLTYPE *GetTargetLuns)( + IVssHardwareSnapshotProviderEx *This, + LONG lLunCount, + VSS_PWSZ *rgDeviceNames, + VDS_LUN_INFORMATION *rgSourceLuns, + VDS_LUN_INFORMATION *rgDestinationLuns); + + HRESULT (STDMETHODCALLTYPE *LocateLuns)( + IVssHardwareSnapshotProviderEx *This, + LONG lLunCount, + VDS_LUN_INFORMATION *rgSourceLuns); + + HRESULT (STDMETHODCALLTYPE *OnLunEmpty)( + IVssHardwareSnapshotProviderEx *This, + VSS_PWSZ wszDeviceName, + VDS_LUN_INFORMATION *pInformation); + + /*** IVssHardwareSnapshotProviderEx methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProviderCapabilities)( + IVssHardwareSnapshotProviderEx *This, + ULONGLONG *pllOriginalCapabilityMask); + + HRESULT (STDMETHODCALLTYPE *OnLunStateChange)( + IVssHardwareSnapshotProviderEx *This, + VDS_LUN_INFORMATION *pSnapshotLuns, + VDS_LUN_INFORMATION *pOriginalLuns, + DWORD dwCount, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *ResyncLuns)( + IVssHardwareSnapshotProviderEx *This, + VDS_LUN_INFORMATION *pSourceLuns, + VDS_LUN_INFORMATION *pTargetLuns, + DWORD dwCount, + IVssAsync **ppAsync); + + HRESULT (STDMETHODCALLTYPE *OnReuseLuns)( + IVssHardwareSnapshotProviderEx *This, + VDS_LUN_INFORMATION *pSnapshotLuns, + VDS_LUN_INFORMATION *pOriginalLuns, + DWORD dwCount); + + END_INTERFACE +} IVssHardwareSnapshotProviderExVtbl; + +interface IVssHardwareSnapshotProviderEx { + CONST_VTBL IVssHardwareSnapshotProviderExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssHardwareSnapshotProviderEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssHardwareSnapshotProviderEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssHardwareSnapshotProviderEx_Release(This) (This)->lpVtbl->Release(This) +/*** IVssHardwareSnapshotProvider methods ***/ +#define IVssHardwareSnapshotProviderEx_AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) (This)->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported) +#define IVssHardwareSnapshotProviderEx_FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) (This)->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported) +#define IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation) +#define IVssHardwareSnapshotProviderEx_GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) (This)->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns) +#define IVssHardwareSnapshotProviderEx_LocateLuns(This,lLunCount,rgSourceLuns) (This)->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns) +#define IVssHardwareSnapshotProviderEx_OnLunEmpty(This,wszDeviceName,pInformation) (This)->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation) +/*** IVssHardwareSnapshotProviderEx methods ***/ +#define IVssHardwareSnapshotProviderEx_GetProviderCapabilities(This,pllOriginalCapabilityMask) (This)->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask) +#define IVssHardwareSnapshotProviderEx_OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) (This)->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags) +#define IVssHardwareSnapshotProviderEx_ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) (This)->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync) +#define IVssHardwareSnapshotProviderEx_OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount) (This)->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssHardwareSnapshotProviderEx_QueryInterface(IVssHardwareSnapshotProviderEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssHardwareSnapshotProviderEx_AddRef(IVssHardwareSnapshotProviderEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssHardwareSnapshotProviderEx_Release(IVssHardwareSnapshotProviderEx* This) { + return This->lpVtbl->Release(This); +} +/*** IVssHardwareSnapshotProvider methods ***/ +static inline HRESULT IVssHardwareSnapshotProviderEx_AreLunsSupported(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,LONG lContext,VSS_PWSZ *rgwszDevices,VDS_LUN_INFORMATION *pLunInformation,WINBOOL *pbIsSupported) { + return This->lpVtbl->AreLunsSupported(This,lLunCount,lContext,rgwszDevices,pLunInformation,pbIsSupported); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_FillInLunInfo(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pLunInfo,WINBOOL *pbIsSupported) { + return This->lpVtbl->FillInLunInfo(This,wszDeviceName,pLunInfo,pbIsSupported); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_BeginPrepareSnapshot(IVssHardwareSnapshotProviderEx* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,LONG lContext,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgLunInformation) { + return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,lContext,lLunCount,rgDeviceNames,rgLunInformation); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_GetTargetLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VSS_PWSZ *rgDeviceNames,VDS_LUN_INFORMATION *rgSourceLuns,VDS_LUN_INFORMATION *rgDestinationLuns) { + return This->lpVtbl->GetTargetLuns(This,lLunCount,rgDeviceNames,rgSourceLuns,rgDestinationLuns); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_LocateLuns(IVssHardwareSnapshotProviderEx* This,LONG lLunCount,VDS_LUN_INFORMATION *rgSourceLuns) { + return This->lpVtbl->LocateLuns(This,lLunCount,rgSourceLuns); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_OnLunEmpty(IVssHardwareSnapshotProviderEx* This,VSS_PWSZ wszDeviceName,VDS_LUN_INFORMATION *pInformation) { + return This->lpVtbl->OnLunEmpty(This,wszDeviceName,pInformation); +} +/*** IVssHardwareSnapshotProviderEx methods ***/ +static inline HRESULT IVssHardwareSnapshotProviderEx_GetProviderCapabilities(IVssHardwareSnapshotProviderEx* This,ULONGLONG *pllOriginalCapabilityMask) { + return This->lpVtbl->GetProviderCapabilities(This,pllOriginalCapabilityMask); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_OnLunStateChange(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount,DWORD dwFlags) { + return This->lpVtbl->OnLunStateChange(This,pSnapshotLuns,pOriginalLuns,dwCount,dwFlags); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_ResyncLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSourceLuns,VDS_LUN_INFORMATION *pTargetLuns,DWORD dwCount,IVssAsync **ppAsync) { + return This->lpVtbl->ResyncLuns(This,pSourceLuns,pTargetLuns,dwCount,ppAsync); +} +static inline HRESULT IVssHardwareSnapshotProviderEx_OnReuseLuns(IVssHardwareSnapshotProviderEx* This,VDS_LUN_INFORMATION *pSnapshotLuns,VDS_LUN_INFORMATION *pOriginalLuns,DWORD dwCount) { + return This->lpVtbl->OnReuseLuns(This,pSnapshotLuns,pOriginalLuns,dwCount); +} +#endif +#endif + +#endif + + +#endif /* __IVssHardwareSnapshotProviderEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssFileShareSnapshotProvider interface + */ +#ifndef __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__ +#define __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c8636060-7c2e-11df-8c4a-0800200c9a66") +IVssFileShareSnapshotProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetContext( + LONG lContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSnapshotProperties( + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp) = 0; + + virtual HRESULT STDMETHODCALLTYPE Query( + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteSnapshots( + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginPrepareSnapshot( + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + VSS_PWSZ pwszSharePath, + LONG lNewContext, + VSS_ID ProviderId) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsPathSupported( + VSS_PWSZ pwszSharePath, + WINBOOL *pbSupportedByThisProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsPathSnapshotted( + VSS_PWSZ pwszSharePath, + WINBOOL *pbSnapshotsPresent, + LONG *plSnapshotCompatibility) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSnapshotProperty( + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, + VARIANT vProperty) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssFileShareSnapshotProvider, 0xc8636060, 0x7c2e, 0x11df, 0x8c,0x4a, 0x08,0x00,0x20,0x0c,0x9a,0x66) +#endif +#else +typedef struct IVssFileShareSnapshotProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssFileShareSnapshotProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssFileShareSnapshotProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssFileShareSnapshotProvider *This); + + /*** IVssFileShareSnapshotProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetContext)( + IVssFileShareSnapshotProvider *This, + LONG lContext); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotProperties)( + IVssFileShareSnapshotProvider *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROP *pProp); + + HRESULT (STDMETHODCALLTYPE *Query)( + IVssFileShareSnapshotProvider *This, + VSS_ID QueriedObjectId, + VSS_OBJECT_TYPE eQueriedObjectType, + VSS_OBJECT_TYPE eReturnedObjectsType, + IVssEnumObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *DeleteSnapshots)( + IVssFileShareSnapshotProvider *This, + VSS_ID SourceObjectId, + VSS_OBJECT_TYPE eSourceObjectType, + WINBOOL bForceDelete, + LONG *plDeletedSnapshots, + VSS_ID *pNondeletedSnapshotID); + + HRESULT (STDMETHODCALLTYPE *BeginPrepareSnapshot)( + IVssFileShareSnapshotProvider *This, + VSS_ID SnapshotSetId, + VSS_ID SnapshotId, + VSS_PWSZ pwszSharePath, + LONG lNewContext, + VSS_ID ProviderId); + + HRESULT (STDMETHODCALLTYPE *IsPathSupported)( + IVssFileShareSnapshotProvider *This, + VSS_PWSZ pwszSharePath, + WINBOOL *pbSupportedByThisProvider); + + HRESULT (STDMETHODCALLTYPE *IsPathSnapshotted)( + IVssFileShareSnapshotProvider *This, + VSS_PWSZ pwszSharePath, + WINBOOL *pbSnapshotsPresent, + LONG *plSnapshotCompatibility); + + HRESULT (STDMETHODCALLTYPE *SetSnapshotProperty)( + IVssFileShareSnapshotProvider *This, + VSS_ID SnapshotId, + VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId, + VARIANT vProperty); + + END_INTERFACE +} IVssFileShareSnapshotProviderVtbl; + +interface IVssFileShareSnapshotProvider { + CONST_VTBL IVssFileShareSnapshotProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssFileShareSnapshotProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssFileShareSnapshotProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssFileShareSnapshotProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IVssFileShareSnapshotProvider methods ***/ +#define IVssFileShareSnapshotProvider_SetContext(This,lContext) (This)->lpVtbl->SetContext(This,lContext) +#define IVssFileShareSnapshotProvider_GetSnapshotProperties(This,SnapshotId,pProp) (This)->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp) +#define IVssFileShareSnapshotProvider_Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) (This)->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum) +#define IVssFileShareSnapshotProvider_DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) (This)->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID) +#define IVssFileShareSnapshotProvider_BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId) (This)->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId) +#define IVssFileShareSnapshotProvider_IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider) (This)->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider) +#define IVssFileShareSnapshotProvider_IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility) (This)->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility) +#define IVssFileShareSnapshotProvider_SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) (This)->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssFileShareSnapshotProvider_QueryInterface(IVssFileShareSnapshotProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssFileShareSnapshotProvider_AddRef(IVssFileShareSnapshotProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssFileShareSnapshotProvider_Release(IVssFileShareSnapshotProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IVssFileShareSnapshotProvider methods ***/ +static inline HRESULT IVssFileShareSnapshotProvider_SetContext(IVssFileShareSnapshotProvider* This,LONG lContext) { + return This->lpVtbl->SetContext(This,lContext); +} +static inline HRESULT IVssFileShareSnapshotProvider_GetSnapshotProperties(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROP *pProp) { + return This->lpVtbl->GetSnapshotProperties(This,SnapshotId,pProp); +} +static inline HRESULT IVssFileShareSnapshotProvider_Query(IVssFileShareSnapshotProvider* This,VSS_ID QueriedObjectId,VSS_OBJECT_TYPE eQueriedObjectType,VSS_OBJECT_TYPE eReturnedObjectsType,IVssEnumObject **ppEnum) { + return This->lpVtbl->Query(This,QueriedObjectId,eQueriedObjectType,eReturnedObjectsType,ppEnum); +} +static inline HRESULT IVssFileShareSnapshotProvider_DeleteSnapshots(IVssFileShareSnapshotProvider* This,VSS_ID SourceObjectId,VSS_OBJECT_TYPE eSourceObjectType,WINBOOL bForceDelete,LONG *plDeletedSnapshots,VSS_ID *pNondeletedSnapshotID) { + return This->lpVtbl->DeleteSnapshots(This,SourceObjectId,eSourceObjectType,bForceDelete,plDeletedSnapshots,pNondeletedSnapshotID); +} +static inline HRESULT IVssFileShareSnapshotProvider_BeginPrepareSnapshot(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotSetId,VSS_ID SnapshotId,VSS_PWSZ pwszSharePath,LONG lNewContext,VSS_ID ProviderId) { + return This->lpVtbl->BeginPrepareSnapshot(This,SnapshotSetId,SnapshotId,pwszSharePath,lNewContext,ProviderId); +} +static inline HRESULT IVssFileShareSnapshotProvider_IsPathSupported(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSupportedByThisProvider) { + return This->lpVtbl->IsPathSupported(This,pwszSharePath,pbSupportedByThisProvider); +} +static inline HRESULT IVssFileShareSnapshotProvider_IsPathSnapshotted(IVssFileShareSnapshotProvider* This,VSS_PWSZ pwszSharePath,WINBOOL *pbSnapshotsPresent,LONG *plSnapshotCompatibility) { + return This->lpVtbl->IsPathSnapshotted(This,pwszSharePath,pbSnapshotsPresent,plSnapshotCompatibility); +} +static inline HRESULT IVssFileShareSnapshotProvider_SetSnapshotProperty(IVssFileShareSnapshotProvider* This,VSS_ID SnapshotId,VSS_SNAPSHOT_PROPERTY_ID eSnapshotPropertyId,VARIANT vProperty) { + return This->lpVtbl->SetSnapshotProperty(This,SnapshotId,eSnapshotPropertyId,vProperty); +} +#endif +#endif + +#endif + + +#endif /* __IVssFileShareSnapshotProvider_INTERFACE_DEFINED__ */ + +#ifndef __VSSProvider_LIBRARY_DEFINED__ +#define __VSSProvider_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_VSSProvider, 0x73c8b4c1, 0x6e9d, 0x4fc2, 0xb3,0x04, 0x03,0x0e,0xc7,0x63,0xfe,0x81); + +#endif /* __VSSProvider_LIBRARY_DEFINED__ */ +#endif /* WINAPI_PARTITION_DESKTOP */ +/* 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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vsprov_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vss.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vss.h new file mode 100644 index 00000000..c6e9e1f9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vss.h @@ -0,0 +1,538 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vss.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 __vss_h__ +#define __vss_h__ + +/* Forward declarations */ + +#ifndef __IVssEnumObject_FWD_DEFINED__ +#define __IVssEnumObject_FWD_DEFINED__ +typedef interface IVssEnumObject IVssEnumObject; +#ifdef __cplusplus +interface IVssEnumObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssAsync_FWD_DEFINED__ +#define __IVssAsync_FWD_DEFINED__ +typedef interface IVssAsync IVssAsync; +#ifdef __cplusplus +interface IVssAsync; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#include "vsserror.h" + +typedef WCHAR *VSS_PWSZ; +typedef LONGLONG VSS_TIMESTAMP; +typedef GUID VSS_ID; + +typedef enum _VSS_OBJECT_TYPE { + VSS_OBJECT_UNKNOWN = 0, + VSS_OBJECT_NONE = 1, + VSS_OBJECT_SNAPSHOT_SET = 2, + VSS_OBJECT_SNAPSHOT = 3, + VSS_OBJECT_PROVIDER = 4, + VSS_OBJECT_TYPE_COUNT = 5 +} VSS_OBJECT_TYPE; +typedef enum _VSS_OBJECT_TYPE *PVSS_OBJECT_TYPE; + +typedef enum _VSS_SNAPSHOT_STATE { + VSS_SS_UNKNOWN = 0, + VSS_SS_PREPARING = 1, + VSS_SS_PROCESSING_PREPARE = 2, + VSS_SS_PREPARED = 3, + VSS_SS_PROCESSING_PRECOMMIT = 4, + VSS_SS_PRECOMMITTED = 5, + VSS_SS_PROCESSING_COMMIT = 6, + VSS_SS_COMMITTED = 7, + VSS_SS_PROCESSING_POSTCOMMIT = 8, + VSS_SS_PROCESSING_PREFINALCOMMIT = 9, + VSS_SS_PREFINALCOMMITTED = 10, + VSS_SS_PROCESSING_POSTFINALCOMMIT = 11, + VSS_SS_CREATED = 12, + VSS_SS_ABORTED = 13, + VSS_SS_DELETED = 14, + VSS_SS_POSTCOMMITTED = 15, + VSS_SS_COUNT = 16 +} VSS_SNAPSHOT_STATE; +typedef enum _VSS_SNAPSHOT_STATE *PVSS_SNAPSHOT_STATE; + +typedef enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES { + VSS_VOLSNAP_ATTR_PERSISTENT = 0x1, + VSS_VOLSNAP_ATTR_NO_AUTORECOVERY = 0x2, + VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE = 0x4, + VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE = 0x8, + VSS_VOLSNAP_ATTR_NO_WRITERS = 0x10, + VSS_VOLSNAP_ATTR_TRANSPORTABLE = 0x20, + VSS_VOLSNAP_ATTR_NOT_SURFACED = 0x40, + VSS_VOLSNAP_ATTR_NOT_TRANSACTED = 0x80, + VSS_VOLSNAP_ATTR_HARDWARE_ASSISTED = 0x10000, + VSS_VOLSNAP_ATTR_DIFFERENTIAL = 0x20000, + VSS_VOLSNAP_ATTR_PLEX = 0x40000, + VSS_VOLSNAP_ATTR_IMPORTED = 0x80000, + VSS_VOLSNAP_ATTR_EXPOSED_LOCALLY = 0x100000, + VSS_VOLSNAP_ATTR_EXPOSED_REMOTELY = 0x200000, + VSS_VOLSNAP_ATTR_AUTORECOVER = 0x400000, + VSS_VOLSNAP_ATTR_ROLLBACK_RECOVERY = 0x800000, + VSS_VOLSNAP_ATTR_DELAYED_POSTSNAPSHOT = 0x1000000, + VSS_VOLSNAP_ATTR_TXF_RECOVERY = 0x2000000, + VSS_VOLSNAP_ATTR_FILE_SHARE = 0x4000000 +} VSS_VOLUME_SNAPSHOT_ATTRIBUTES; +typedef enum _VSS_VOLUME_SNAPSHOT_ATTRIBUTES *PVSS_VOLUME_SNAPSHOT_ATTRIBUTES; + +typedef enum _VSS_SNAPSHOT_CONTEXT { + VSS_CTX_BACKUP = 0x0, + VSS_CTX_FILE_SHARE_BACKUP = VSS_VOLSNAP_ATTR_NO_WRITERS, + VSS_CTX_NAS_ROLLBACK = (VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE) | VSS_VOLSNAP_ATTR_NO_WRITERS, + VSS_CTX_APP_ROLLBACK = VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE, + VSS_CTX_CLIENT_ACCESSIBLE = ((VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE) | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE) | VSS_VOLSNAP_ATTR_NO_WRITERS, + VSS_CTX_CLIENT_ACCESSIBLE_WRITERS = (VSS_VOLSNAP_ATTR_PERSISTENT | VSS_VOLSNAP_ATTR_CLIENT_ACCESSIBLE) | VSS_VOLSNAP_ATTR_NO_AUTO_RELEASE, + VSS_CTX_ALL = 0xffffffff +} VSS_SNAPSHOT_CONTEXT; +typedef enum _VSS_SNAPSHOT_CONTEXT *PVSS_SNAPSHOT_CONTEXT; + +typedef enum _VSS_PROVIDER_CAPABILITIES { + VSS_PRV_CAPABILITY_LEGACY = 0x1, + VSS_PRV_CAPABILITY_COMPLIANT = 0x2, + VSS_PRV_CAPABILITY_LUN_REPOINT = 0x4, + VSS_PRV_CAPABILITY_LUN_RESYNC = 0x8, + VSS_PRV_CAPABILITY_OFFLINE_CREATION = 0x10, + VSS_PRV_CAPABILITY_MULTIPLE_IMPORT = 0x20, + VSS_PRV_CAPABILITY_RECYCLING = 0x40, + VSS_PRV_CAPABILITY_PLEX = 0x80, + VSS_PRV_CAPABILITY_DIFFERENTIAL = 0x100, + VSS_PRV_CAPABILITY_CLUSTERED = 0x200 +} VSS_PROVIDER_CAPABILITIES; +typedef enum _VSS_PROVIDER_CAPABILITIES *PVSS_PROVIDER_CAPABILITIES; + +typedef enum _VSS_HARDWARE_OPTIONS { + VSS_BREAKEX_FLAG_MASK_LUNS = 0x1, + VSS_BREAKEX_FLAG_MAKE_READ_WRITE = 0x2, + VSS_BREAKEX_FLAG_REVERT_IDENTITY_ALL = 0x4, + VSS_BREAKEX_FLAG_REVERT_IDENTITY_NONE = 0x8, + VSS_ONLUNSTATECHANGE_NOTIFY_READ_WRITE = 0x100, + VSS_ONLUNSTATECHANGE_NOTIFY_LUN_PRE_RECOVERY = 0x200, + VSS_ONLUNSTATECHANGE_NOTIFY_LUN_POST_RECOVERY = 0x400, + VSS_ONLUNSTATECHANGE_DO_MASK_LUNS = 0x800 +} VSS_HARDWARE_OPTIONS; +typedef enum _VSS_HARDWARE_OPTIONS *PVSS_HARDWARE_OPTIONS; + +typedef enum _VSS_RECOVERY_OPTIONS { + VSS_RECOVERY_REVERT_IDENTITY_ALL = 0x100, + VSS_RECOVERY_NO_VOLUME_CHECK = 0x200 +} VSS_RECOVERY_OPTIONS; +typedef enum _VSS_RECOVERY_OPTIONS *PVSS_RECOVERY_OPTIONS; + +typedef enum _VSS_WRITER_STATE { + VSS_WS_UNKNOWN = 0, + VSS_WS_STABLE = 1, + VSS_WS_WAITING_FOR_FREEZE = 2, + VSS_WS_WAITING_FOR_THAW = 3, + VSS_WS_WAITING_FOR_POST_SNAPSHOT = 4, + VSS_WS_WAITING_FOR_BACKUP_COMPLETE = 5, + VSS_WS_FAILED_AT_IDENTIFY = 6, + VSS_WS_FAILED_AT_PREPARE_BACKUP = 7, + VSS_WS_FAILED_AT_PREPARE_SNAPSHOT = 8, + VSS_WS_FAILED_AT_FREEZE = 9, + VSS_WS_FAILED_AT_THAW = 10, + VSS_WS_FAILED_AT_POST_SNAPSHOT = 11, + VSS_WS_FAILED_AT_BACKUP_COMPLETE = 12, + VSS_WS_FAILED_AT_PRE_RESTORE = 13, + VSS_WS_FAILED_AT_POST_RESTORE = 14, + VSS_WS_FAILED_AT_BACKUPSHUTDOWN = 15, + VSS_WS_COUNT = 16 +} VSS_WRITER_STATE; +typedef enum _VSS_WRITER_STATE *PVSS_WRITER_STATE; + +typedef enum _VSS_BACKUP_TYPE { + VSS_BT_UNDEFINED = 0, + VSS_BT_FULL = 1, + VSS_BT_INCREMENTAL = 2, + VSS_BT_DIFFERENTIAL = 3, + VSS_BT_LOG = 4, + VSS_BT_COPY = 5, + VSS_BT_OTHER = 6 +} VSS_BACKUP_TYPE; +typedef enum _VSS_BACKUP_TYPE *PVSS_BACKUP_TYPE; + +typedef enum _VSS_RESTORE_TYPE { + VSS_RTYPE_UNDEFINED = 0, + VSS_RTYPE_BY_COPY = 1, + VSS_RTYPE_IMPORT = 2, + VSS_RTYPE_OTHER = 3 +} VSS_RESTORE_TYPE; +typedef enum _VSS_RESTORE_TYPE *PVSS_RESTORE_TYPE; + +typedef enum _VSS_ROLLFORWARD_TYPE { + VSS_RF_UNDEFINED = 0, + VSS_RF_NONE = 1, + VSS_RF_ALL = 2, + VSS_RF_PARTIAL = 3 +} VSS_ROLLFORWARD_TYPE; +typedef enum _VSS_ROLLFORWARD_TYPE *PVSS_ROLLFORWARD_TYPE; + +typedef enum _VSS_PROVIDER_TYPE { + VSS_PROV_UNKNOWN = 0, + VSS_PROV_SYSTEM = 1, + VSS_PROV_SOFTWARE = 2, + VSS_PROV_HARDWARE = 3, + VSS_PROV_FILESHARE = 4 +} VSS_PROVIDER_TYPE; +typedef enum _VSS_PROVIDER_TYPE *PVSS_PROVIDER_TYPE; + +typedef enum _VSS_APPLICATION_LEVEL { + VSS_APP_UNKNOWN = 0, + VSS_APP_SYSTEM = 1, + VSS_APP_BACK_END = 2, + VSS_APP_FRONT_END = 3, + VSS_APP_SYSTEM_RM = 4, + VSS_APP_AUTO = -1 +} VSS_APPLICATION_LEVEL; +typedef enum _VSS_APPLICATION_LEVEL *PVSS_APPLICATION_LEVEL; + +typedef enum _VSS_SNAPSHOT_COMPATIBILITY { + VSS_SC_DISABLE_DEFRAG = 0x1, + VSS_SC_DISABLE_CONTENTINDEX = 0x2 +} VSS_SNAPSHOT_COMPATIBILITY; + +typedef enum _VSS_SNAPSHOT_PROPERTY_ID { + VSS_SPROPID_UNKNOWN = 0x0, + VSS_SPROPID_SNAPSHOT_ID = 0x1, + VSS_SPROPID_SNAPSHOT_SET_ID = 0x2, + VSS_SPROPID_SNAPSHOTS_COUNT = 0x3, + VSS_SPROPID_SNAPSHOT_DEVICE = 0x4, + VSS_SPROPID_ORIGINAL_VOLUME = 0x5, + VSS_SPROPID_ORIGINATING_MACHINE = 0x6, + VSS_SPROPID_SERVICE_MACHINE = 0x7, + VSS_SPROPID_EXPOSED_NAME = 0x8, + VSS_SPROPID_EXPOSED_PATH = 0x9, + VSS_SPROPID_PROVIDER_ID = 0xa, + VSS_SPROPID_SNAPSHOT_ATTRIBUTES = 0xb, + VSS_SPROPID_CREATION_TIMESTAMP = 0xc, + VSS_SPROPID_STATUS = 0xd +} VSS_SNAPSHOT_PROPERTY_ID; +typedef enum _VSS_SNAPSHOT_PROPERTY_ID *PVSS_SNAPSHOT_PROPERTY_ID; + +typedef enum _VSS_FILE_SPEC_BACKUP_TYPE { + VSS_FSBT_FULL_BACKUP_REQUIRED = 0x1, + VSS_FSBT_DIFFERENTIAL_BACKUP_REQUIRED = 0x2, + VSS_FSBT_INCREMENTAL_BACKUP_REQUIRED = 0x4, + VSS_FSBT_LOG_BACKUP_REQUIRED = 0x8, + VSS_FSBT_FULL_SNAPSHOT_REQUIRED = 0x100, + VSS_FSBT_DIFFERENTIAL_SNAPSHOT_REQUIRED = 0x200, + VSS_FSBT_INCREMENTAL_SNAPSHOT_REQUIRED = 0x400, + VSS_FSBT_LOG_SNAPSHOT_REQUIRED = 0x800, + VSS_FSBT_CREATED_DURING_BACKUP = 0x10000, + VSS_FSBT_ALL_BACKUP_REQUIRED = 0xf, + VSS_FSBT_ALL_SNAPSHOT_REQUIRED = 0xf00 +} VSS_FILE_SPEC_BACKUP_TYPE; +typedef enum _VSS_FILE_SPEC_BACKUP_TYPE *PVSS_FILE_SPEC_BACKUP_TYPE; + +typedef enum _VSS_BACKUP_SCHEMA { + VSS_BS_UNDEFINED = 0x0, + VSS_BS_DIFFERENTIAL = 0x1, + VSS_BS_INCREMENTAL = 0x2, + VSS_BS_EXCLUSIVE_INCREMENTAL_DIFFERENTIAL = 0x4, + VSS_BS_LOG = 0x8, + VSS_BS_COPY = 0x10, + VSS_BS_TIMESTAMPED = 0x20, + VSS_BS_LAST_MODIFY = 0x40, + VSS_BS_LSN = 0x80, + VSS_BS_WRITER_SUPPORTS_NEW_TARGET = 0x100, + VSS_BS_WRITER_SUPPORTS_RESTORE_WITH_MOVE = 0x200, + VSS_BS_INDEPENDENT_SYSTEM_STATE = 0x400, + VSS_BS_ROLLFORWARD_RESTORE = 0x1000, + VSS_BS_RESTORE_RENAME = 0x2000, + VSS_BS_AUTHORITATIVE_RESTORE = 0x4000, + VSS_BS_WRITER_SUPPORTS_PARALLEL_RESTORES = 0x8000 +} VSS_BACKUP_SCHEMA; +typedef enum _VSS_BACKUP_SCHEMA *PVSS_BACKUP_SCHEMA; + +typedef struct _VSS_SNAPSHOT_PROP { + VSS_ID m_SnapshotId; + VSS_ID m_SnapshotSetId; + LONG m_lSnapshotsCount; + VSS_PWSZ m_pwszSnapshotDeviceObject; + VSS_PWSZ m_pwszOriginalVolumeName; + VSS_PWSZ m_pwszOriginatingMachine; + VSS_PWSZ m_pwszServiceMachine; + VSS_PWSZ m_pwszExposedName; + VSS_PWSZ m_pwszExposedPath; + VSS_ID m_ProviderId; + LONG m_lSnapshotAttributes; + VSS_TIMESTAMP m_tsCreationTimestamp; + VSS_SNAPSHOT_STATE m_eStatus; +} VSS_SNAPSHOT_PROP; +typedef struct _VSS_SNAPSHOT_PROP *PVSS_SNAPSHOT_PROP; + +typedef struct _VSS_PROVIDER_PROP { + VSS_ID m_ProviderId; + VSS_PWSZ m_pwszProviderName; + VSS_PROVIDER_TYPE m_eProviderType; + VSS_PWSZ m_pwszProviderVersion; + VSS_ID m_ProviderVersionId; + CLSID m_ClassId; +} VSS_PROVIDER_PROP; +typedef struct _VSS_PROVIDER_PROP *PVSS_PROVIDER_PROP; + +typedef union __WIDL_vss_generated_name_00000020 { + VSS_SNAPSHOT_PROP Snap; + VSS_PROVIDER_PROP Prov; +} VSS_OBJECT_UNION; + +typedef struct _VSS_OBJECT_PROP { + VSS_OBJECT_TYPE Type; + VSS_OBJECT_UNION Obj; +} VSS_OBJECT_PROP; +typedef struct _VSS_OBJECT_PROP *PVSS_OBJECT_PROP; + +/***************************************************************************** + * IVssEnumObject interface + */ +#ifndef __IVssEnumObject_INTERFACE_DEFINED__ +#define __IVssEnumObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssEnumObject, 0xae1c7110, 0x2f60, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae1c7110-2f60-11d3-8a39-00c04f72d8e3") +IVssEnumObject : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + VSS_OBJECT_PROP *rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IVssEnumObject **ppenum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssEnumObject, 0xae1c7110, 0x2f60, 0x11d3, 0x8a,0x39, 0x00,0xc0,0x4f,0x72,0xd8,0xe3) +#endif +#else +typedef struct IVssEnumObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssEnumObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssEnumObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssEnumObject *This); + + /*** IVssEnumObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IVssEnumObject *This, + ULONG celt, + VSS_OBJECT_PROP *rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IVssEnumObject *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IVssEnumObject *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IVssEnumObject *This, + IVssEnumObject **ppenum); + + END_INTERFACE +} IVssEnumObjectVtbl; + +interface IVssEnumObject { + CONST_VTBL IVssEnumObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssEnumObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssEnumObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssEnumObject_Release(This) (This)->lpVtbl->Release(This) +/*** IVssEnumObject methods ***/ +#define IVssEnumObject_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IVssEnumObject_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IVssEnumObject_Reset(This) (This)->lpVtbl->Reset(This) +#define IVssEnumObject_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssEnumObject_QueryInterface(IVssEnumObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssEnumObject_AddRef(IVssEnumObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssEnumObject_Release(IVssEnumObject* This) { + return This->lpVtbl->Release(This); +} +/*** IVssEnumObject methods ***/ +static inline HRESULT IVssEnumObject_Next(IVssEnumObject* This,ULONG celt,VSS_OBJECT_PROP *rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IVssEnumObject_Skip(IVssEnumObject* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IVssEnumObject_Reset(IVssEnumObject* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IVssEnumObject_Clone(IVssEnumObject* This,IVssEnumObject **ppenum) { + return This->lpVtbl->Clone(This,ppenum); +} +#endif +#endif + +#endif + + +#endif /* __IVssEnumObject_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IVssAsync interface + */ +#ifndef __IVssAsync_INTERFACE_DEFINED__ +#define __IVssAsync_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssAsync, 0x507c37b4, 0xcf5b, 0x4e95, 0xb0,0xaf, 0x14,0xeb,0x97,0x67,0x46,0x7e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("507c37b4-cf5b-4e95-b0af-14eb9767467e") +IVssAsync : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Wait( + DWORD dwMilliseconds = 0xffffffff) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryStatus( + HRESULT *pHrResult, + INT *pReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssAsync, 0x507c37b4, 0xcf5b, 0x4e95, 0xb0,0xaf, 0x14,0xeb,0x97,0x67,0x46,0x7e) +#endif +#else +typedef struct IVssAsyncVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssAsync *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssAsync *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssAsync *This); + + /*** IVssAsync methods ***/ + HRESULT (STDMETHODCALLTYPE *Cancel)( + IVssAsync *This); + + HRESULT (STDMETHODCALLTYPE *Wait)( + IVssAsync *This, + DWORD dwMilliseconds); + + HRESULT (STDMETHODCALLTYPE *QueryStatus)( + IVssAsync *This, + HRESULT *pHrResult, + INT *pReserved); + + END_INTERFACE +} IVssAsyncVtbl; + +interface IVssAsync { + CONST_VTBL IVssAsyncVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssAsync_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssAsync_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssAsync_Release(This) (This)->lpVtbl->Release(This) +/*** IVssAsync methods ***/ +#define IVssAsync_Cancel(This) (This)->lpVtbl->Cancel(This) +#define IVssAsync_Wait(This,dwMilliseconds) (This)->lpVtbl->Wait(This,dwMilliseconds) +#define IVssAsync_QueryStatus(This,pHrResult,pReserved) (This)->lpVtbl->QueryStatus(This,pHrResult,pReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssAsync_QueryInterface(IVssAsync* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssAsync_AddRef(IVssAsync* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssAsync_Release(IVssAsync* This) { + return This->lpVtbl->Release(This); +} +/*** IVssAsync methods ***/ +static inline HRESULT IVssAsync_Cancel(IVssAsync* This) { + return This->lpVtbl->Cancel(This); +} +static inline HRESULT IVssAsync_Wait(IVssAsync* This,DWORD dwMilliseconds) { + return This->lpVtbl->Wait(This,dwMilliseconds); +} +static inline HRESULT IVssAsync_QueryStatus(IVssAsync* This,HRESULT *pHrResult,INT *pReserved) { + return This->lpVtbl->QueryStatus(This,pHrResult,pReserved); +} +#endif +#endif + +#endif + + +#endif /* __IVssAsync_INTERFACE_DEFINED__ */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __vss_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsserror.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsserror.h new file mode 100644 index 00000000..b128b4fa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsserror.h @@ -0,0 +1,92 @@ +/** + * 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 _ERRORS_H_ +#define _ERRORS_H_ + +#define VSS_E_BAD_STATE ((HRESULT)0x80042301) +#define VSS_E_UNEXPECTED ((HRESULT)0x80042302) +#define VSS_E_PROVIDER_ALREADY_REGISTERED ((HRESULT)0x80042303) +#define VSS_E_PROVIDER_NOT_REGISTERED ((HRESULT)0x80042304) +#define VSS_E_PROVIDER_VETO ((HRESULT)0x80042306) +#define VSS_E_PROVIDER_IN_USE ((HRESULT)0x80042307) +#define VSS_E_OBJECT_NOT_FOUND ((HRESULT)0x80042308) +#define VSS_S_ASYNC_PENDING ((HRESULT)0x00042309) +#define VSS_S_ASYNC_FINISHED ((HRESULT)0x0004230A) +#define VSS_S_ASYNC_CANCELLED ((HRESULT)0x0004230B) +#define VSS_E_VOLUME_NOT_SUPPORTED ((HRESULT)0x8004230C) +#define VSS_E_VOLUME_NOT_SUPPORTED_BY_PROVIDER ((HRESULT)0x8004230E) +#define VSS_E_OBJECT_ALREADY_EXISTS ((HRESULT)0x8004230D) +#define VSS_E_UNEXPECTED_PROVIDER_ERROR ((HRESULT)0x8004230F) +#define VSS_E_CORRUPT_XML_DOCUMENT ((HRESULT)0x80042310) +#define VSS_E_INVALID_XML_DOCUMENT ((HRESULT)0x80042311) +#define VSS_E_MAXIMUM_NUMBER_OF_VOLUMES_REACHED ((HRESULT)0x80042312) +#define VSS_E_FLUSH_WRITES_TIMEOUT ((HRESULT)0x80042313) +#define VSS_E_HOLD_WRITES_TIMEOUT ((HRESULT)0x80042314) +#define VSS_E_UNEXPECTED_WRITER_ERROR ((HRESULT)0x80042315) +#define VSS_E_SNAPSHOT_SET_IN_PROGRESS ((HRESULT)0x80042316) +#define VSS_E_MAXIMUM_NUMBER_OF_SNAPSHOTS_REACHED ((HRESULT)0x80042317) +#define VSS_E_WRITER_INFRASTRUCTURE ((HRESULT)0x80042318) +#define VSS_E_WRITER_NOT_RESPONDING ((HRESULT)0x80042319) +#define VSS_E_WRITER_ALREADY_SUBSCRIBED ((HRESULT)0x8004231A) +#define VSS_E_UNSUPPORTED_CONTEXT ((HRESULT)0x8004231B) +#define VSS_E_VOLUME_IN_USE ((HRESULT)0x8004231D) +#define VSS_E_MAXIMUM_DIFFAREA_ASSOCIATIONS_REACHED ((HRESULT)0x8004231E) +#define VSS_E_INSUFFICIENT_STORAGE ((HRESULT)0x8004231F) +#define VSS_E_NO_SNAPSHOTS_IMPORTED ((HRESULT)0x80042320) +#define VSS_S_SOME_SNAPSHOTS_NOT_IMPORTED ((HRESULT)0x00042321) +#define VSS_E_SOME_SNAPSHOTS_NOT_IMPORTED ((HRESULT)0x80042321) +#define VSS_E_MAXIMUM_NUMBER_OF_REMOTE_MACHINES_REACHED ((HRESULT)0x80042322) +#define VSS_E_REMOTE_SERVER_UNAVAILABLE ((HRESULT)0x80042323) +#define VSS_E_REMOTE_SERVER_UNSUPPORTED ((HRESULT)0x80042324) +#define VSS_E_REVERT_IN_PROGRESS ((HRESULT)0x80042325) +#define VSS_E_REVERT_VOLUME_LOST ((HRESULT)0x80042326) +#define VSS_E_REBOOT_REQUIRED ((HRESULT)0x80042327) +#define VSS_E_TRANSACTION_FREEZE_TIMEOUT ((HRESULT)0x80042328) +#define VSS_E_TRANSACTION_THAW_TIMEOUT ((HRESULT)0x80042329) +#define VSS_E_VOLUME_NOT_LOCAL ((HRESULT)0x8004232D) +#define VSS_E_CLUSTER_TIMEOUT ((HRESULT)0x8004232E) +#define VSS_E_WRITERERROR_INCONSISTENTSNAPSHOT ((HRESULT)0x800423F0) +#define VSS_E_WRITERERROR_OUTOFRESOURCES ((HRESULT)0x800423F1) +#define VSS_E_WRITERERROR_TIMEOUT ((HRESULT)0x800423F2) +#define VSS_E_WRITERERROR_RETRYABLE ((HRESULT)0x800423F3) +#define VSS_E_WRITERERROR_NONRETRYABLE ((HRESULT)0x800423F4) +#define VSS_E_WRITERERROR_RECOVERY_FAILED ((HRESULT)0x800423F5) +#define VSS_E_BREAK_REVERT_ID_FAILED ((HRESULT)0x800423F6) +#define VSS_E_LEGACY_PROVIDER ((HRESULT)0x800423F7) +#define VSS_E_MISSING_DISK ((HRESULT)0x800423F8) +#define VSS_E_MISSING_HIDDEN_VOLUME ((HRESULT)0x800423F9) +#define VSS_E_MISSING_VOLUME ((HRESULT)0x800423FA) +#define VSS_E_AUTORECOVERY_FAILED ((HRESULT)0x800423FB) +#define VSS_E_DYNAMIC_DISK_ERROR ((HRESULT)0x800423FC) +#define VSS_E_NONTRANSPORTABLE_BCD ((HRESULT)0x800423FD) +#define VSS_E_CANNOT_REVERT_DISKID ((HRESULT)0x800423FE) +#define VSS_E_RESYNC_IN_PROGRESS ((HRESULT)0x800423FF) +#define VSS_E_CLUSTER_ERROR ((HRESULT)0x80042400) +#define VSS_E_UNSELECTED_VOLUME ((HRESULT)0x8004232A) +#define VSS_E_SNAPSHOT_NOT_IN_SET ((HRESULT)0x8004232B) +#define VSS_E_NESTED_VOLUME_LIMIT ((HRESULT)0x8004232C) +#define VSS_E_NOT_SUPPORTED ((HRESULT)0x8004232F) +#define VSS_E_WRITERERROR_PARTIAL_FAILURE ((HRESULT)0x80042336) +#define VSS_E_ASRERROR_DISK_ASSIGNMENT_FAILED ((HRESULT)0x80042401) +#define VSS_E_ASRERROR_DISK_RECREATION_FAILED ((HRESULT)0x80042402) +#define VSS_E_ASRERROR_NO_ARCPATH ((HRESULT)0x80042403) +#define VSS_E_ASRERROR_MISSING_DYNDISK ((HRESULT)0x80042404) +#define VSS_E_ASRERROR_SHARED_CRIDISK ((HRESULT)0x80042405) +#define VSS_E_ASRERROR_DATADISK_RDISK0 ((HRESULT)0x80042406) +#define VSS_E_ASRERROR_RDISK0_TOOSMALL ((HRESULT)0x80042407) +#define VSS_E_ASRERROR_CRITICAL_DISKS_TOO_SMALL ((HRESULT)0x80042408) +#define VSS_E_WRITER_STATUS_NOT_AVAILABLE ((HRESULT)0x80042409) +#define VSS_E_ASRERROR_DYNAMIC_VHD_NOT_SUPPORTED ((HRESULT)0x8004240A) +#define VSS_E_CRITICAL_VOLUME_ON_INVALID_DISK ((HRESULT)0x80042411) +#define VSS_E_ASRERROR_RDISK_FOR_SYSTEM_DISK_NOT_FOUND ((HRESULT)0x80042412) +#define VSS_E_ASRERROR_NO_PHYSICAL_DISK_AVAILABLE ((HRESULT)0x80042413) +#define VSS_E_ASRERROR_FIXED_PHYSICAL_DISK_AVAILABLE_AFTER_DISK_EXCLUSION ((HRESULT)0x80042414) +#define VSS_E_ASRERROR_CRITICAL_DISK_CANNOT_BE_EXCLUDED ((HRESULT)0x80042415) +#define VSS_E_ASRERROR_SYSTEM_PARTITION_HIDDEN ((HRESULT)0x80042416) +#define VSS_E_FSS_TIMEOUT ((HRESULT)0x80042417) + +#endif /* _ERRORS_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsstyle.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsstyle.h new file mode 100644 index 00000000..85403783 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vsstyle.h @@ -0,0 +1,1780 @@ +/* + This Software is provided under the Zope Public License (ZPL) Version 2.1. + + Copyright (C) 2011 Piotr Caban for CodeWeavers + + See the AUTHORS file for the list of contributors to the mingw-w64 project. + + This license has been certified as open source. It has also been designated + as GPL compatible by the Free Software Foundation (FSF). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions in source code must retain the accompanying copyright + notice, this list of conditions, and the following disclaimer. + 2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + 3. Names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission + from the copyright holders. + 4. The right to distribute this software or to use it for any purpose does + not give you the right to use Servicemarks (sm) or Trademarks (tm) of + the copyright holders. Use of them is covered by separate agreement + with the copyright holders. + 5. If any files are modified, you must cause the modified files to carry + prominent notices stating that you changed the files and the date of + any change. + + Disclaimer + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __VSSTYLE_H__ +#define __VSSTYLE_H__ + + +#define TMTVS_RESERVEDLOW 100000 +#define TMTVS_RESERVEDHIGH 19999 + +/* AEROWIZARDSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_AEROWIZARDSTYLE (const WCHAR []){'A','E','R','O','W','I','Z','A','R','D','S','T','Y','L','E',0} +#define VSCLASS_AEROWIZARD (const WCHAR []){'A','E','R','O','W','I','Z','A','R','D',0} +#elif defined(_MSC_VER) +#define VSCLASS_AEROWIZARDSTYLE L"AEROWIZARDSTYLE" +#define VSCLASS_AEROWIZARD L"AEROWIZARD" +#else +static const WCHAR VSCLASS_AEROWIZARDSTYLE[] = {'A','E','R','O','W','I','Z','A','R','D','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_AEROWIZARD [] = {'A','E','R','O','W','I','Z','A','R','D',0}; +#endif + +enum AEROWIZARDPARTS { + AW_TITLEBAR = 1, + AW_HEADERAREA = 2, + AW_CONTENTAREA = 3, + AW_COMMANDAREA = 4, + AW_BUTTON = 5, +}; + +#define AEROWIZARDSTYLEPARTS AEROWIZARDPARTS; + +enum TITLEBARSTATES { + AW_S_TITLEBAR_ACTIVE = 1, + AW_S_TITLEBAR_INACTIVE = 2, +}; + +enum HEADERAREASTATES { + AW_S_HEADERAREA_NOMARGIN = 1, +}; + +enum CONTENTAREASTATES { + AW_S_CONTENTAREA_NOMARGIN = 1, +}; + +/* BUTTONSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_BUTTONSTYLE (const WCHAR []){'B','U','T','T','O','N','S','T','Y','L','E',0} +#define VSCLASS_BUTTON (const WCHAR []){'B','U','T','T','O','N',0} +#elif defined(_MSC_VER) +#define VSCLASS_BUTTONSTYLE L"BUTTONSTYLE" +#define VSCLASS_BUTTON L"BUTTON" +#else +static const WCHAR VSCLASS_BUTTONSTYLE [] = {'B','U','T','T','O','N','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_BUTTON [] = {'B','U','T','T','O','N',0}; +#endif + +enum BUTTONPARTS { + BP_PUSHBUTTON = 1, + BP_RADIOBUTTON = 2, + BP_CHECKBOX = 3, + BP_GROUPBOX = 4, + BP_USERBUTTON = 5, + BP_COMMANDLINK = 6, + BP_COMMANDLINKGLYPH = 7, +}; + +#define BUTTONSTYLEPARTS BUTTONPARTS; + +enum PUSHBUTTONSTATES { + PBS_NORMAL = 1, + PBS_HOT = 2, + PBS_PRESSED = 3, + PBS_DISABLED = 4, + PBS_DEFAULTED = 5, + PBS_DEFAULTED_ANIMATING = 6, +}; + +enum RADIOBUTTONSTATES { + RBS_UNCHECKEDNORMAL = 1, + RBS_UNCHECKEDHOT = 2, + RBS_UNCHECKEDPRESSED = 3, + RBS_UNCHECKEDDISABLED = 4, + RBS_CHECKEDNORMAL = 5, + RBS_CHECKEDHOT = 6, + RBS_CHECKEDPRESSED = 7, + RBS_CHECKEDDISABLED = 8, +}; + +enum CHECKBOXSTATES { + CBS_UNCHECKEDNORMAL = 1, + CBS_UNCHECKEDHOT = 2, + CBS_UNCHECKEDPRESSED = 3, + CBS_UNCHECKEDDISABLED = 4, + CBS_CHECKEDNORMAL = 5, + CBS_CHECKEDHOT = 6, + CBS_CHECKEDPRESSED = 7, + CBS_CHECKEDDISABLED = 8, + CBS_MIXEDNORMAL = 9, + CBS_MIXEDHOT = 10, + CBS_MIXEDPRESSED = 11, + CBS_MIXEDDISABLED = 12, + CBS_IMPLICITNORMAL = 13, + CBS_IMPLICITHOT = 14, + CBS_IMPLICITPRESSED = 15, + CBS_IMPLICITDISABLED = 16, + CBS_EXCLUDEDNORMAL = 17, + CBS_EXCLUDEDHOT = 18, + CBS_EXCLUDEDPRESSED = 19, + CBS_EXCLUDEDDISABLED = 20, +}; + +enum GROUPBOXSTATES { + GBS_NORMAL = 1, + GBS_DISABLED = 2, +}; + +enum COMMANDLINKSTATES { + CMDLS_NORMAL = 1, + CMDLS_HOT = 2, + CMDLS_PRESSED = 3, + CMDLS_DISABLED = 4, + CMDLS_DEFAULTED = 5, + CMDLS_DEFAULTED_ANIMATING = 6, +}; + +enum COMMANDLINKGLYPHSTATES { + CMDLGS_NORMAL = 1, + CMDLGS_HOT = 2, + CMDLGS_PRESSED = 3, + CMDLGS_DISABLED = 4, + CMDLGS_DEFAULTED = 5, +}; + +/* COMBOBOXSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_COMBOBOXSTYLE (const WCHAR []){'C','O','M','B','O','B','O','X','S','T','Y','L','E',0} +#define VSCLASS_COMBOBOX (const WCHAR []){'C','O','M','B','O','B','O','X',0} +#elif defined(_MSC_VER) +#define VSCLASS_COMBOBOXSTYLE L"COMBOBOXSTYLE" +#define VSCLASS_COMBOBOX L"COMBOBOX" +#else +static const WCHAR VSCLASS_COMBOBOXSTYLE [] = {'C','O','M','B','O','B','O','X','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_COMBOBOX [] = {'C','O','M','B','O','B','O','X',0}; +#endif + +enum COMBOBOXPARTS { + CP_DROPDOWNBUTTON = 1, + CP_BACKGROUND = 2, + CP_TRANSPARENTBACKGROUND = 3, + CP_BORDER = 4, + CP_READONLY = 5, + CP_DROPDOWNBUTTONRIGHT = 6, + CP_DROPDOWNBUTTONLEFT = 7, + CP_CUEBANNER = 8, +}; + +#define COMBOBOXSTYLEPARTS COMBOBOXPARTS; + +enum COMBOBOXSTYLESTATES { + CBXS_NORMAL = 1, + CBXS_HOT = 2, + CBXS_PRESSED = 3, + CBXS_DISABLED = 4, +}; + +enum DROPDOWNBUTTONRIGHTSTATES { + CBXSR_NORMAL = 1, + CBXSR_HOT = 2, + CBXSR_PRESSED = 3, + CBXSR_DISABLED = 4, +}; + +enum DROPDOWNBUTTONLEFTSTATES { + CBXSL_NORMAL = 1, + CBXSL_HOT = 2, + CBXSL_PRESSED = 3, + CBXSL_DISABLED = 4, +}; + +enum TRANSPARENTBACKGROUNDSTATES { + CBTBS_NORMAL = 1, + CBTBS_HOT = 2, + CBTBS_DISABLED = 3, + CBTBS_FOCUSED = 4, +}; + +enum BORDERSTATES { + CBB_NORMAL = 1, + CBB_HOT = 2, + CBB_FOCUSED = 3, + CBB_DISABLED = 4, +}; + +enum READONLYSTATES { + CBRO_NORMAL = 1, + CBRO_HOT = 2, + CBRO_PRESSED = 3, + CBRO_DISABLED = 4, +}; + +enum CUEBANNERSTATES { + CBCB_NORMAL = 1, + CBCB_HOT = 2, + CBCB_PRESSED = 3, + CBCB_DISABLED = 4, +}; + +/* COMMUNICATIONSSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_COMMUNICATIONSSTYLE (const WCHAR []){'C','O','M','M','U','N','I','C','A','T','I','O','N','S','S','T','Y','L','E',0} +#define VSCLASS_COMMUNICATIONS (const WCHAR []){'C','O','M','M','U','N','I','C','A','T','I','O','N','S',0} +#elif defined(_MSC_VER) +#define VSCLASS_COMMUNICATIONSSTYLE L"COMMUNICATIONSSTYLE" +#define VSCLASS_COMMUNICATIONS L"COMMUNICATIONS" +#else +static const WCHAR VSCLASS_COMMUNICATIONSSTYLE [] = {'C','O','M','M','U','N','I','C','A','T','I','O','N','S','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_COMMUNICATIONS [] = {'C','O','M','M','U','N','I','C','A','T','I','O','N','S',0}; +#endif + +enum COMMUNICATIONSPARTS { + CSST_TAB = 1, +}; + +#define COMMUNICATIONSSTYLEPARTS COMMUNICATIONSPARTS; + +enum TABSTATES { + CSTB_NORMAL = 1, + CSTB_HOT = 2, + CSTB_SELECTED = 3, +}; + +/* CONTROLPANELSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_CONTROLPANELSTYLE (const WCHAR []){'C','O','N','T','R','O','L','P','A','N','E','L','S','T','Y','L','E',0} +#define VSCLASS_CONTROLPANEL (const WCHAR []){'C','O','N','T','R','O','L','P','A','N','E','L',0} +#elif defined(_MSC_VER) +#define VSCLASS_CONTROLPANELSTYLE L"CONTROLPANELSTYLE" +#define VSCLASS_CONTROLPANEL L"CONTROLPANEL" +#else +static const WCHAR VSCLASS_CONTROLPANELSTYLE [] = {'C','O','N','T','R','O','L','P','A','N','E','L','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_CONTROLPANEL [] = {'C','O','N','T','R','O','L','P','A','N','E','L',0}; +#endif + +enum CONTROLPANELPARTS { + CPANEL_NAVIGATIONPANE = 1, + CPANEL_CONTENTPANE = 2, + CPANEL_NAVIGATIONPANELABEL = 3, + CPANEL_CONTENTPANELABEL = 4, + CPANEL_TITLE = 5, + CPANEL_BODYTEXT = 6, + CPANEL_HELPLINK = 7, + CPANEL_TASKLINK = 8, + CPANEL_GROUPTEXT = 9, + CPANEL_CONTENTLINK = 10, + CPANEL_SECTIONTITLELINK = 11, + CPANEL_LARGECOMMANDAREA = 12, + CPANEL_SMALLCOMMANDAREA = 13, + CPANEL_BUTTON = 14, + CPANEL_MESSAGETEXT = 15, + CPANEL_NAVIGATIONPANELINE = 16, + CPANEL_CONTENTPANELINE = 17, + CPANEL_BANNERAREA = 18, + CPANEL_BODYTITLE = 19, +}; + +#define CONTROLPANELSTYLEPARTS CONTROLPANELPARTS; + +enum HELPLINKSTATES { + CPHL_NORMAL = 1, + CPHL_HOT = 2, + CPHL_PRESSED = 3, + CPHL_DISABLED = 4, +}; + +enum TASKLINKSTATES { + CPTL_NORMAL = 1, + CPTL_HOT = 2, + CPTL_PRESSED = 3, + CPTL_DISABLED = 4, + CPTL_PAGE = 5, +}; + +enum CONTENTLINKSTATES { + CPCL_NORMAL = 1, + CPCL_HOT = 2, + CPCL_PRESSED = 3, + CPCL_DISABLED = 4, +}; + +enum SECTIONTITLELINKSTATES { + CPSTL_NORMAL = 1, + CPSTL_HOT = 2, +}; + +/* DATEPICKERSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_DATEPICKERSTYLE (const WCHAR []){'D','A','T','E','P','I','C','K','E','R','S','T','Y','L','E',0} +#define VSCLASS_DATEPICKER (const WCHAR []){'D','A','T','E','P','I','C','K','E','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_DATEPICKERSTYLE L"DATEPICKERSTYLE" +#define VSCLASS_DATEPICKER L"DATEPICKER" +#else +static const WCHAR VSCLASS_DATEPICKERSTYLE[] = {'D','A','T','E','P','I','C','K','E','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_DATEPICKER [] = {'D','A','T','E','P','I','C','K','E','R',0}; +#endif + +enum DATEPICKERPARTS { + DP_DATETEXT = 1, + DP_DATEBORDER = 2, + DP_SHOWCALENDARBUTTONRIGHT = 3, +}; + +#define DATEPICKERSTYLEPARTS DATEPICKERPARTS; + +enum DATETEXTSTATES { + DPDT_NORMAL = 1, + DPDT_DISABLED = 2, + DPDT_SELECTED = 3, +}; + +enum DATEBORDERSTATES { + DPDB_NORMAL = 1, + DPDB_HOT = 2, + DPDB_FOCUSED = 3, + DPDB_DISABLED = 4, +}; + +enum SHOWCALENDARBUTTONRIGHTSTATES { + DPSCBR_NORMAL = 1, + DPSCBR_HOT = 2, + DPSCBR_PRESSED = 3, + DPSCBR_DISABLED = 4, +}; + +/* DRAGDROPSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_DRAGDROPSTYLE (const WCHAR []){'D','R','A','G','D','R','O','P','S','T','Y','L','E',0} +#define VSCLASS_DRAGDROP (const WCHAR []){'D','R','A','G','D','R','O','P',0} +#elif defined(_MSC_VER) +#define VSCLASS_DRAGDROPSTYLE L"DRAGDROPSTYLE" +#define VSCLASS_DRAGDROP L"DRAGDROP" +#else +static const WCHAR VSCLASS_DRAGDROPSTYLE [] = {'D','R','A','G','D','R','O','P','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_DRAGDROP [] = {'D','R','A','G','D','R','O','P',0}; +#endif + +enum DRAGDROPPARTS { + DD_COPY = 1, + DD_MOVE = 2, + DD_UPDATEMETADATA = 3, + DD_CREATELINK = 4, + DD_WARNING = 5, + DD_NONE = 6, + DD_IMAGEBG = 7, + DD_TEXTBG = 8, +}; + +#define DRAGDROPSTYLEPARTS DRAGDROPPARTS; + +enum COPYSTATES { + DDCOPY_HIGHLIGHT = 1, + DDCOPY_NOHIGHLIGHT = 2, +}; + +enum MOVESTATES { + DDMOVE_HIGHLIGHT = 1, + DDMOVE_NOHIGHLIGHT = 2, +}; + +enum UPDATEMETADATASTATES { + DDUPDATEMETADATA_HIGHLIGHT = 1, + DDUPDATEMETADATA_NOHIGHLIGHT = 2, +}; + +enum CREATELINKSTATES { + DDCREATELINK_HIGHLIGHT = 1, + DDCREATELINK_NOHIGHLIGHT = 2, +}; + +enum WARNINGSTATES { + DDWARNING_HIGHLIGHT = 1, + DDWARNING_NOHIGHLIGHT = 2, +}; + +enum NONESTATES { + DDNONE_HIGHLIGHT = 1, + DDNONE_NOHIGHLIGHT = 2, +}; + +/* EDITSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_EDITSTYLE (const WCHAR []){'E','D','I','T','S','T','Y','L','E',0} +#define VSCLASS_EDIT (const WCHAR []){'E','D','I','T',0} +#elif defined(_MSC_VER) +#define VSCLASS_EDITSTYLE L"EDITSTYLE" +#define VSCLASS_EDIT L"EDIT" +#else +static const WCHAR VSCLASS_EDITSTYLE [] = {'E','D','I','T','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_EDIT [] = {'E','D','I','T',0}; +#endif + +enum EDITPARTS { + EP_EDITTEXT = 1, + EP_CARET = 2, + EP_BACKGROUND = 3, + EP_PASSWORD = 4, + EP_BACKGROUNDWITHBORDER = 5, + EP_EDITBORDER_NOSCROLL = 6, + EP_EDITBORDER_HSCROLL = 7, + EP_EDITBORDER_VSCROLL = 8, + EP_EDITBORDER_HVSCROLL = 9, +}; + +#define EDITSTYLEPARTS EDITPARTS; + +enum EDITTEXTSTATES { + ETS_NORMAL = 1, + ETS_HOT = 2, + ETS_SELECTED = 3, + ETS_DISABLED = 4, + ETS_FOCUSED = 5, + ETS_READONLY = 6, + ETS_ASSIST = 7, + ETS_CUEBANNER = 8, +}; + +enum BACKGROUNDSTATES { + EBS_NORMAL = 1, + EBS_HOT = 2, + EBS_DISABLED = 3, + EBS_FOCUSED = 4, + EBS_READONLY = 5, + EBS_ASSIST = 6, +}; + +enum BACKGROUNDWITHBORDERSTATES { + EBWBS_NORMAL = 1, + EBWBS_HOT = 2, + EBWBS_DISABLED = 3, + EBWBS_FOCUSED = 4, +}; + +enum EDITBORDER_NOSCROLLSTATES { + EPSN_NORMAL = 1, + EPSN_HOT = 2, + EPSN_FOCUSED = 3, + EPSN_DISABLED = 4, +}; + +enum EDITBORDER_HSCROLLSTATES { + EPSH_NORMAL = 1, + EPSH_HOT = 2, + EPSH_FOCUSED = 3, + EPSH_DISABLED = 4, +}; + +enum EDITBORDER_VSCROLLSTATES { + EPSV_NORMAL = 1, + EPSV_HOT = 2, + EPSV_FOCUSED = 3, + EPSV_DISABLED = 4, +}; + +enum EDITBORDER_HVSCROLLSTATES { + EPSHV_NORMAL = 1, + EPSHV_HOT = 2, + EPSHV_FOCUSED = 3, + EPSHV_DISABLED = 4, +}; + +/* EXPLORERBARSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_EXPLORERBARSTYLE (const WCHAR []){'E','X','P','L','O','R','E','R','B','A','R','S','T','Y','L','E',0} +#define VSCLASS_EXPLORERBAR (const WCHAR []){'E','X','P','L','O','R','E','R','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_EXPLORERBARSTYLE L"EXPLORERBARSTYLE" +#define VSCLASS_EXPLORERBAR L"EXPLORERBAR" +#else +static const WCHAR VSCLASS_EXPLORERBARSTYLE [] = {'E','X','P','L','O','R','E','R','B','A','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_EXPLORERBAR [] = {'E','X','P','L','O','R','E','R','B','A','R',0}; +#endif + +enum EXPLORERBARPARTS { + EBP_HEADERBACKGROUND = 1, + EBP_HEADERCLOSE = 2, + EBP_HEADERPIN = 3, + EBP_IEBARMENU = 4, + EBP_NORMALGROUPBACKGROUND = 5, + EBP_NORMALGROUPCOLLAPSE = 6, + EBP_NORMALGROUPEXPAND = 7, + EBP_NORMALGROUPHEAD = 8, + EBP_SPECIALGROUPBACKGROUND = 9, + EBP_SPECIALGROUPCOLLAPSE = 10, + EBP_SPECIALGROUPEXPAND = 11, + EBP_SPECIALGROUPHEAD = 12, +}; + +#define EXPLORERBARSTYLEPARTS EXPLORERBARPARTS; + +enum HEADERCLOSESTATES { + EBHC_NORMAL = 1, + EBHC_HOT = 2, + EBHC_PRESSED = 3, +}; + +enum HEADERPINSTATES { + EBHP_NORMAL = 1, + EBHP_HOT = 2, + EBHP_PRESSED = 3, + EBHP_SELECTEDNORMAL = 4, + EBHP_SELECTEDHOT = 5, + EBHP_SELECTEDPRESSED = 6, +}; + +enum IEBARMENUSTATES { + EBM_NORMAL = 1, + EBM_HOT = 2, + EBM_PRESSED = 3, +}; + +enum NORMALGROUPCOLLAPSESTATES { + EBNGC_NORMAL = 1, + EBNGC_HOT = 2, + EBNGC_PRESSED = 3, +}; + +enum NORMALGROUPEXPANDSTATES { + EBNGE_NORMAL = 1, + EBNGE_HOT = 2, + EBNGE_PRESSED = 3, +}; + +enum SPECIALGROUPCOLLAPSESTATES { + EBSGC_NORMAL = 1, + EBSGC_HOT = 2, + EBSGC_PRESSED = 3, +}; + +enum SPECIALGROUPEXPANDSTATES { + EBSGE_NORMAL = 1, + EBSGE_HOT = 2, + EBSGE_PRESSED = 3, +}; + +/* FLYOUTSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_FLYOUTSTYLE (const WCHAR []){'F','L','Y','O','U','T','S','T','Y','L','E',0} +#define VSCLASS_FLYOUT (const WCHAR []){'F','L','Y','O','U','T',0} +#elif defined(_MSC_VER) +#define VSCLASS_FLYOUTSTYLE L"FLYOUTSTYLE" +#define VSCLASS_FLYOUT L"FLYOUT" +#else +static const WCHAR VSCLASS_FLYOUTSTYLE [] = {'F','L','Y','O','U','T','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_FLYOUT [] = {'F','L','Y','O','U','T',0}; +#endif + +enum FLYOUTPARTS { + FLYOUT_HEADER = 1, + FLYOUT_BODY = 2, + FLYOUT_LABEL = 3, + FLYOUT_LINK = 4, + FLYOUT_DIVIDER = 5, + FLYOUT_WINDOW = 6, + FLYOUT_LINKAREA = 7, + FLYOUT_LINKHEADER = 8, +}; + +#define FLYOUTSTYLEPARTS FLYOUTPARTS; + +enum LABELSTATES { + FLS_NORMAL = 1, + FLS_SELECTED = 2, + FLS_EMPHASIZED = 3, + FLS_DISABLED = 4, +}; + +enum LINKSTATES { + FLYOUTLINK_NORMAL = 1, + FLYOUTLINK_HOVER = 2, +}; + +enum BODYSTATES { + FBS_NORMAL = 1, + FBS_EMPHASIZED = 2, +}; + +enum LINKHEADERSTATES { + FLH_NORMAL = 1, + FLH_HOVER = 2, +}; + +/* HEADERSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_HEADERSTYLE (const WCHAR []){'H','E','A','D','E','R','S','T','Y','L','E',0} +#define VSCLASS_HEADER (const WCHAR []){'H','E','A','D','E','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_HEADERSTYLE L"HEADERSTYLE" +#define VSCLASS_HEADER L"HEADER" +#else +static const WCHAR VSCLASS_HEADERSTYLE [] = {'H','E','A','D','E','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_HEADER [] = {'H','E','A','D','E','R',0}; +#endif + +enum HEADERPARTS { + HP_HEADERITEM = 1, + HP_HEADERITEMLEFT = 2, + HP_HEADERITEMRIGHT = 3, + HP_HEADERSORTARROW = 4, + HP_HEADERDROPDOWN = 5, + HP_HEADERDROPDOWNFILTER = 6, + HP_HEADEROVERFLOW = 7, +}; + +#define HEADERSTYLEPARTS HEADERPARTS; + +enum HEADERSTYLESTATES { + HBG_DETAILS = 1, + HBG_ICON = 2, +}; + +enum HEADERITEMSTATES { + HIS_NORMAL = 1, + HIS_HOT = 2, + HIS_PRESSED = 3, + HIS_SORTEDNORMAL = 4, + HIS_SORTEDHOT = 5, + HIS_SORTEDPRESSED = 6, + HIS_ICONNORMAL = 7, + HIS_ICONHOT = 8, + HIS_ICONPRESSED = 9, + HIS_ICONSORTEDNORMAL = 10, + HIS_ICONSORTEDHOT = 11, + HIS_ICONSORTEDPRESSED = 12, +}; + +enum HEADERITEMLEFTSTATES { + HILS_NORMAL = 1, + HILS_HOT = 2, + HILS_PRESSED = 3, +}; + +enum HEADERITEMRIGHTSTATES { + HIRS_NORMAL = 1, + HIRS_HOT = 2, + HIRS_PRESSED = 3, +}; + +enum HEADERSORTARROWSTATES { + HSAS_SORTEDUP = 1, + HSAS_SORTEDDOWN = 2, +}; + +enum HEADERDROPDOWNSTATES { + HDDS_NORMAL = 1, + HDDS_SOFTHOT = 2, + HDDS_HOT = 3, +}; + +enum HEADERDROPDOWNFILTERSTATES { + HDDFS_NORMAL = 1, + HDDFS_SOFTHOT = 2, + HDDFS_HOT = 3, +}; + +enum HEADEROVERFLOWSTATES { + HOFS_NORMAL = 1, + HOFS_HOT = 2, +}; + +/* LISTBOXSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_LISTBOXSTYLE (const WCHAR []){'L','I','S','T','B','O','X','S','T','Y','L','E',0} +#define VSCLASS_LISTBOX (const WCHAR []){'L','I','S','T','B','O','X',0} +#elif defined(_MSC_VER) +#define VSCLASS_LISTBOXSTYLE L"LISTBOXSTYLE" +#define VSCLASS_LISTBOX L"LISTBOX" +#else +static const WCHAR VSCLASS_LISTBOXSTYLE [] = {'L','I','S','T','B','O','X','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_LISTBOX[] = {'L','I','S','T','B','O','X',0}; +#endif + +enum LISTBOXPARTS { + LBCP_BORDER_HSCROLL = 1, + LBCP_BORDER_HVSCROLL = 2, + LBCP_BORDER_NOSCROLL = 3, + LBCP_BORDER_VSCROLL = 4, + LBCP_ITEM = 5, +}; + +#define LISTBOXSTYLEPARTS LISTBOXPARTS; + +enum BORDER_HSCROLLSTATES { + LBPSH_NORMAL = 1, + LBPSH_FOCUSED = 2, + LBPSH_HOT = 3, + LBPSH_DISABLED = 4, +}; + +enum BORDER_HVSCROLLSTATES { + LBPSHV_NORMAL = 1, + LBPSHV_FOCUSED = 2, + LBPSHV_HOT = 3, + LBPSHV_DISABLED = 4, +}; + +enum BORDER_NOSCROLLSTATES { + LBPSN_NORMAL = 1, + LBPSN_FOCUSED = 2, + LBPSN_HOT = 3, + LBPSN_DISABLED = 4, +}; + +enum BORDER_VSCROLLSTATES { + LBPSV_NORMAL = 1, + LBPSV_FOCUSED = 2, + LBPSV_HOT = 3, + LBPSV_DISABLED = 4, +}; + +enum ITEMSTATES { + LBPSI_HOT = 1, + LBPSI_HOTSELECTED = 2, + LBPSI_SELECTED = 3, + LBPSI_SELECTEDNOTFOCUS = 4, +}; + +/* LISTVIEWSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_LISTVIEWSTYLE (const WCHAR []){'L','I','S','T','V','I','E','W','S','T','Y','L','E',0} +#define VSCLASS_LISTVIEW (const WCHAR []){'L','I','S','T','V','I','E','W',0} +#elif defined(_MSC_VER) +#define VSCLASS_LISTVIEWSTYLE L"LISTVIEWSTYLE" +#define VSCLASS_LISTVIEW L"LISTVIEW" +#else +static const WCHAR VSCLASS_LISTVIEWSTYLE [] = {'L','I','S','T','V','I','E','W','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_LISTVIEW [] = {'L','I','S','T','V','I','E','W',0}; +#endif + +enum LISTVIEWPARTS { + LVP_LISTITEM = 1, + LVP_LISTGROUP = 2, + LVP_LISTDETAIL = 3, + LVP_LISTSORTEDDETAIL = 4, + LVP_EMPTYTEXT = 5, + LVP_GROUPHEADER = 6, + LVP_GROUPHEADERLINE = 7, + LVP_EXPANDBUTTON = 8, + LVP_COLLAPSEBUTTON = 9, + LVP_COLUMNDETAIL = 10, +}; + +#define LISTVIEWSTYLEPARTS LISTVIEWPARTS; + +enum LISTITEMSTATES { + LISS_NORMAL = 1, + LISS_HOT = 2, + LISS_SELECTED = 3, + LISS_DISABLED = 4, + LISS_SELECTEDNOTFOCUS = 5, + LISS_HOTSELECTED = 6, +}; + +enum GROUPHEADERSTATES { + LVGH_OPEN = 1, + LVGH_OPENHOT = 2, + LVGH_OPENSELECTED = 3, + LVGH_OPENSELECTEDHOT = 4, + LVGH_OPENSELECTEDNOTFOCUSED = 5, + LVGH_OPENSELECTEDNOTFOCUSEDHOT = 6, + LVGH_OPENMIXEDSELECTION = 7, + LVGH_OPENMIXEDSELECTIONHOT = 8, + LVGH_CLOSE = 9, + LVGH_CLOSEHOT = 10, + LVGH_CLOSESELECTED = 11, + LVGH_CLOSESELECTEDHOT = 12, + LVGH_CLOSESELECTEDNOTFOCUSED = 13, + LVGH_CLOSESELECTEDNOTFOCUSEDHOT = 14, + LVGH_CLOSEMIXEDSELECTION = 15, + LVGH_CLOSEMIXEDSELECTIONHOT = 16, +}; + +enum GROUPHEADERLINESTATES { + LVGHL_OPEN = 1, + LVGHL_OPENHOT = 2, + LVGHL_OPENSELECTED = 3, + LVGHL_OPENSELECTEDHOT = 4, + LVGHL_OPENSELECTEDNOTFOCUSED = 5, + LVGHL_OPENSELECTEDNOTFOCUSEDHOT = 6, + LVGHL_OPENMIXEDSELECTION = 7, + LVGHL_OPENMIXEDSELECTIONHOT = 8, + LVGHL_CLOSE = 9, + LVGHL_CLOSEHOT = 10, + LVGHL_CLOSESELECTED = 11, + LVGHL_CLOSESELECTEDHOT = 12, + LVGHL_CLOSESELECTEDNOTFOCUSED = 13, + LVGHL_CLOSESELECTEDNOTFOCUSEDHOT = 14, + LVGHL_CLOSEMIXEDSELECTION = 15, + LVGHL_CLOSEMIXEDSELECTIONHOT = 16, +}; + +enum EXPANDBUTTONSTATES { + LVEB_NORMAL = 1, + LVEB_HOVER = 2, + LVEB_PUSHED = 3, +}; + +enum COLLAPSEBUTTONSTATES { + LVCB_NORMAL = 1, + LVCB_HOVER = 2, + LVCB_PUSHED = 3, +}; + +/* MENUSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_MENUSTYLE (const WCHAR []){'M','E','N','U','S','T','Y','L','E',0} +#define VSCLASS_MENU (const WCHAR []){'M','E','N','U',0} +#elif defined(_MSC_VER) +#define VSCLASS_MENUSTYLE L"MENUSTYLE" +#define VSCLASS_MENU L"MENU" +#else +static const WCHAR VSCLASS_MENUSTYLE [] = {'M','E','N','U','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_MENU [] = {'M','E','N','U',0}; +#endif + +enum MENUPARTS { + MENU_MENUITEM_TMSCHEMA = 1, + MENU_MENUDROPDOWN_TMSCHEMA = 2, + MENU_MENUBARITEM_TMSCHEMA = 3, + MENU_MENUBARDROPDOWN_TMSCHEMA = 4, + MENU_CHEVRON_TMSCHEMA = 5, + MENU_SEPARATOR_TMSCHEMA = 6, + MENU_BARBACKGROUND = 7, + MENU_BARITEM = 8, + MENU_POPUPBACKGROUND = 9, + MENU_POPUPBORDERS = 10, + MENU_POPUPCHECK = 11, + MENU_POPUPCHECKBACKGROUND = 12, + MENU_POPUPGUTTER = 13, + MENU_POPUPITEM = 14, + MENU_POPUPSEPARATOR = 15, + MENU_POPUPSUBMENU = 16, + MENU_SYSTEMCLOSE = 17, + MENU_SYSTEMMAXIMIZE = 18, + MENU_SYSTEMMINIMIZE = 19, + MENU_SYSTEMRESTORE = 20, +}; + +#define MENUSTYLEPARTS MENUPARTS; + +enum BARBACKGROUNDSTATES { + MB_ACTIVE = 1, + MB_INACTIVE = 2, +}; + +enum BARITEMSTATES { + MBI_NORMAL = 1, + MBI_HOT = 2, + MBI_PUSHED = 3, + MBI_DISABLED = 4, + MBI_DISABLEDHOT = 5, + MBI_DISABLEDPUSHED = 6, +}; + +enum POPUPCHECKSTATES { + MC_CHECKMARKNORMAL = 1, + MC_CHECKMARKDISABLED = 2, + MC_BULLETNORMAL = 3, + MC_BULLETDISABLED = 4, +}; + +enum POPUPCHECKBACKGROUNDSTATES { + MCB_DISABLED = 1, + MCB_NORMAL = 2, + MCB_BITMAP = 3, +}; + +enum POPUPITEMSTATES { + MPI_NORMAL = 1, + MPI_HOT = 2, + MPI_DISABLED = 3, + MPI_DISABLEDHOT = 4, +}; + +enum POPUPSUBMENUSTATES { + MSM_NORMAL = 1, + MSM_DISABLED = 2, +}; + +enum SYSTEMCLOSESTATES { + MSYSC_NORMAL = 1, + MSYSC_DISABLED = 2, +}; + +enum SYSTEMMAXIMIZESTATES { + MSYSMX_NORMAL = 1, + MSYSMX_DISABLED = 2, +}; + +enum SYSTEMMINIMIZESTATES { + MSYSMN_NORMAL = 1, + MSYSMN_DISABLED = 2, +}; + +enum SYSTEMRESTORESTATES { + MSYSR_NORMAL = 1, + MSYSR_DISABLED = 2, +}; + +/* NAVIGATION class */ +#if defined(__GNUC__) +#define VSCLASS_NAVIGATION (const WCHAR []){'N','A','V','I','G','A','T','I','O','N',0} +#elif defined(_MSC_VER) +#define VSCLASS_NAVIGATION L"NAVIGATION" +#else +static const WCHAR VSCLASS_NAVIGATION [] = {'N','A','V','I','G','A','T','I','O','N',0}; +#endif + +enum NAVIGATIONPARTS { + NAV_BACKBUTTON = 1, + NAV_FORWARDBUTTON = 2, + NAV_MENUBUTTON = 3, +}; + +enum NAV_BACKBUTTONSTATES { + NAV_BB_NORMAL = 1, + NAV_BB_HOT = 2, + NAV_BB_PRESSED = 3, + NAV_BB_DISABLED = 4, +}; + +enum NAV_FORWARDBUTTONSTATES { + NAV_FB_NORMAL = 1, + NAV_FB_HOT = 2, + NAV_FB_PRESSED = 3, + NAV_FB_DISABLED = 4, +}; + +enum NAV_MENUBUTTONSTATES { + NAV_MB_NORMAL = 1, + NAV_MB_HOT = 2, + NAV_MB_PRESSED = 3, + NAV_MB_DISABLED = 4, +}; + +/* PROGRESSSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_PROGRESSSTYLE (const WCHAR []){'P','R','O','G','R','E','S','S','S','T','Y','L','E',0} +#define VSCLASS_PROGRESS (const WCHAR []){'P','R','O','G','R','E','S','S',0} +#elif defined(_MSC_VER) +#define VSCLASS_PROGRESSSTYLE L"PROGRESSSTYLE" +#define VSCLASS_PROGRESS L"PROGRESS" +#else +static const WCHAR VSCLASS_PROGRESSSTYLE [] = {'P','R','O','G','R','E','S','S','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_PROGRESS [] = {'P','R','O','G','R','E','S','S',0}; +#endif + +enum PROGRESSPARTS { + PP_BAR = 1, + PP_BARVERT = 2, + PP_CHUNK = 3, + PP_CHUNKVERT = 4, + PP_FILL = 5, + PP_FILLVERT = 6, + PP_PULSEOVERLAY = 7, + PP_MOVEOVERLAY = 8, + PP_PULSEOVERLAYVERT = 9, + PP_MOVEOVERLAYVERT = 10, + PP_TRANSPARENTBAR = 11, + PP_TRANSPARENTBARVERT = 12, +}; + +#define PROGRESSSTYLEPARTS PROGRESSPARTS; + +enum TRANSPARENTBARSTATES { + PBBS_NORMAL = 1, + PBBS_PARTIAL = 2, +}; + +enum TRANSPARENTBARVERTSTATES { + PBBVS_NORMAL = 1, + PBBVS_PARTIAL = 2, +}; + +enum FILLSTATES { + PBFS_NORMAL = 1, + PBFS_ERROR = 2, + PBFS_PAUSED = 3, + PBFS_PARTIAL = 4, +}; + +enum FILLVERTSTATES { + PBFVS_NORMAL = 1, + PBFVS_ERROR = 2, + PBFVS_PAUSED = 3, + PBFVS_PARTIAL = 4, +}; + +/* REBARSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_REBARSTYLE (const WCHAR []){'R','E','B','A','R','S','T','Y','L','E',0} +#define VSCLASS_REBAR (const WCHAR []){'R','E','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_REBARSTYLE L"REBARSTYLE" +#define VSCLASS_REBAR L"REBAR" +#else +static const WCHAR VSCLASS_REBARSTYLE [] = {'R','E','B','A','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_REBAR [] = {'R','E','B','A','R',0}; +#endif + +enum REBARPARTS { + RP_GRIPPER = 1, + RP_GRIPPERVERT = 2, + RP_BAND = 3, + RP_CHEVRON = 4, + RP_CHEVRONVERT = 5, + RP_BACKGROUND = 6, + RP_SPLITTER = 7, + RP_SPLITTERVERT = 8, +}; + +#define REBARSTYLEPARTS REBARPARTS; + +enum CHEVRONSTATES { + CHEVS_NORMAL = 1, + CHEVS_HOT = 2, + CHEVS_PRESSED = 3, +}; + +enum CHEVRONVERTSTATES { + CHEVSV_NORMAL = 1, + CHEVSV_HOT = 2, + CHEVSV_PRESSED = 3, +}; + +enum SPLITTERSTATES { + SPLITS_NORMAL = 1, + SPLITS_HOT = 2, + SPLITS_PRESSED = 3, +}; + +enum SPLITTERVERTSTATES { + SPLITSV_NORMAL = 1, + SPLITSV_HOT = 2, + SPLITSV_PRESSED = 3, +}; + +/* SCROLLBARSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_SCROLLBARSTYLE (const WCHAR []){'S','C','R','O','L','L','B','A','R','S','T','Y','L','E',0} +#define VSCLASS_SCROLLBAR (const WCHAR []){'S','C','R','O','L','L','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_SCROLLBARSTYLE L"SCROLLBARSTYLE" +#define VSCLASS_SCROLLBAR L"SCROLLBAR" +#else +static const WCHAR VSCLASS_SCROLLBARSTYLE [] = {'S','C','R','O','L','L','B','A','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_SCROLLBAR [] = {'S','C','R','O','L','L','B','A','R',0}; +#endif + +enum SCROLLBARPARTS { + SBP_ARROWBTN = 1, + SBP_THUMBBTNHORZ = 2, + SBP_THUMBBTNVERT = 3, + SBP_LOWERTRACKHORZ = 4, + SBP_UPPERTRACKHORZ = 5, + SBP_LOWERTRACKVERT = 6, + SBP_UPPERTRACKVERT = 7, + SBP_GRIPPERHORZ = 8, + SBP_GRIPPERVERT = 9, + SBP_SIZEBOX = 10, +}; + +#define SCROLLBARSTYLEPARTS SCROLLBARPARTS; + +enum ARROWBTNSTATES { + ABS_UPNORMAL = 1, + ABS_UPHOT = 2, + ABS_UPPRESSED = 3, + ABS_UPDISABLED = 4, + ABS_DOWNNORMAL = 5, + ABS_DOWNHOT = 6, + ABS_DOWNPRESSED = 7, + ABS_DOWNDISABLED = 8, + ABS_LEFTNORMAL = 9, + ABS_LEFTHOT = 10, + ABS_LEFTPRESSED = 11, + ABS_LEFTDISABLED = 12, + ABS_RIGHTNORMAL = 13, + ABS_RIGHTHOT = 14, + ABS_RIGHTPRESSED = 15, + ABS_RIGHTDISABLED = 16, + ABS_UPHOVER = 17, + ABS_DOWNHOVER = 18, + ABS_LEFTHOVER = 19, + ABS_RIGHTHOVER = 20, +}; + +enum SCROLLBARSTYLESTATES { + SCRBS_NORMAL = 1, + SCRBS_HOT = 2, + SCRBS_PRESSED = 3, + SCRBS_DISABLED = 4, + SCRBS_HOVER = 5, +}; + +enum SIZEBOXSTATES { + SZB_RIGHTALIGN = 1, + SZB_LEFTALIGN = 2, + SZB_TOPRIGHTALIGN = 3, + SZB_TOPLEFTALIGN = 4, + SZB_HALFBOTTOMRIGHTALIGN = 5, + SZB_HALFBOTTOMLEFTALIGN = 6, + SZB_HALFTOPRIGHTALIGN = 7, + SZB_HALFTOPLEFTALIGN = 8, +}; + +/* SPINSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_SPINSTYLE (const WCHAR []){'S','P','I','N','S','T','Y','L','E',0} +#elif defined(_MSC_VER) +#define VSCLASS_SPINSTYLE L"SPINSTYLE" +#else +static const WCHAR VSCLASS_SPINSTYLE [] = {'S','P','I','N','S','T','Y','L','E',0}; +#endif +#if defined(__GNUC__) +#define VSCLASS_SPIN (const WCHAR []){'S','P','I','N',0} +#elif defined(_MSC_VER) +#define VSCLASS_SPIN L"SPIN" +#else +static const WCHAR VSCLASS_SPIN [] = {'S','P','I','N',0}; +#endif + +enum SPINPARTS { + SPNP_UP = 1, + SPNP_DOWN = 2, + SPNP_UPHORZ = 3, + SPNP_DOWNHORZ = 4, +}; + +#define SPINSTYLEPARTS SPINPARTS; + +enum UPSTATES { + UPS_NORMAL = 1, + UPS_HOT = 2, + UPS_PRESSED = 3, + UPS_DISABLED = 4, +}; + +enum DOWNSTATES { + DNS_NORMAL = 1, + DNS_HOT = 2, + DNS_PRESSED = 3, + DNS_DISABLED = 4, +}; + +enum UPHORZSTATES { + UPHZS_NORMAL = 1, + UPHZS_HOT = 2, + UPHZS_PRESSED = 3, + UPHZS_DISABLED = 4, +}; + +enum DOWNHORZSTATES { + DNHZS_NORMAL = 1, + DNHZS_HOT = 2, + DNHZS_PRESSED = 3, + DNHZS_DISABLED = 4, +}; + +/* STATUSSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_STATUSSTYLE (const WCHAR []){'S','T','A','T','U','S','S','T','Y','L','E',0} +#define VSCLASS_STATUS (const WCHAR []){'S','T','A','T','U','S',0} +#elif defined(_MSC_VER) +#define VSCLASS_STATUSSTYLE L"STATUSSTYLE" +#define VSCLASS_STATUS L"STATUS" +#else +static const WCHAR VSCLASS_STATUSSTYLE [] = {'S','T','A','T','U','S','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_STATUS [] = {'S','T','A','T','U','S',0}; +#endif + +enum STATUSPARTS { + SP_PANE = 1, + SP_GRIPPERPANE = 2, + SP_GRIPPER = 3, +}; + +#define STATUSSTYLEPARTS STATUSPARTS; + +/* TABSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TABSTYLE (const WCHAR []){'T','A','B','S','T','Y','L','E',0} +#define VSCLASS_TAB (const WCHAR []){'T','A','B',0} +#elif defined(_MSC_VER) +#define VSCLASS_TABSTYLE L"TABSTYLE" +#define VSCLASS_TAB L"TAB" +#else +static const WCHAR VSCLASS_TABSTYLE [] = {'T','A','B','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TAB [] = {'T','A','B',0}; +#endif + +enum TABPARTS { + TABP_TABITEM = 1, + TABP_TABITEMLEFTEDGE = 2, + TABP_TABITEMRIGHTEDGE = 3, + TABP_TABITEMBOTHEDGE = 4, + TABP_TOPTABITEM = 5, + TABP_TOPTABITEMLEFTEDGE = 6, + TABP_TOPTABITEMRIGHTEDGE = 7, + TABP_TOPTABITEMBOTHEDGE = 8, + TABP_PANE = 9, + TABP_BODY = 10, + TABP_AEROWIZARDBODY = 11, +}; + +#define TABSTYLEPARTS TABPARTS; + +enum TABITEMSTATES { + TIS_NORMAL = 1, + TIS_HOT = 2, + TIS_SELECTED = 3, + TIS_DISABLED = 4, + TIS_FOCUSED = 5, +}; + +enum TABITEMLEFTEDGESTATES { + TILES_NORMAL = 1, + TILES_HOT = 2, + TILES_SELECTED = 3, + TILES_DISABLED = 4, + TILES_FOCUSED = 5, +}; + +enum TABITEMRIGHTEDGESTATES { + TIRES_NORMAL = 1, + TIRES_HOT = 2, + TIRES_SELECTED = 3, + TIRES_DISABLED = 4, + TIRES_FOCUSED = 5, +}; + +enum TABITEMBOTHEDGESTATES { + TIBES_NORMAL = 1, + TIBES_HOT = 2, + TIBES_SELECTED = 3, + TIBES_DISABLED = 4, + TIBES_FOCUSED = 5, +}; + +enum TOPTABITEMSTATES { + TTIS_NORMAL = 1, + TTIS_HOT = 2, + TTIS_SELECTED = 3, + TTIS_DISABLED = 4, + TTIS_FOCUSED = 5, +}; + +enum TOPTABITEMLEFTEDGESTATES { + TTILES_NORMAL = 1, + TTILES_HOT = 2, + TTILES_SELECTED = 3, + TTILES_DISABLED = 4, + TTILES_FOCUSED = 5, +}; + +enum TOPTABITEMRIGHTEDGESTATES { + TTIRES_NORMAL = 1, + TTIRES_HOT = 2, + TTIRES_SELECTED = 3, + TTIRES_DISABLED = 4, + TTIRES_FOCUSED = 5, +}; + +enum TOPTABITEMBOTHEDGESTATES { + TTIBES_NORMAL = 1, + TTIBES_HOT = 2, + TTIBES_SELECTED = 3, + TTIBES_DISABLED = 4, + TTIBES_FOCUSED = 5, +}; + +/* TASKDIALOGSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TASKDIALOGSTYLE (const WCHAR []){'T','A','S','K','D','I','A','L','O','G','S','T','Y','L','E',0} +#define VSCLASS_TASKDIALOG (const WCHAR []){'T','A','S','K','D','I','A','L','O','G',0} +#elif defined(_MSC_VER) +#define VSCLASS_TASKDIALOGSTYLE L"TASKDIALOGSTYLE" +#define VSCLASS_TASKDIALOG L"TASKDIALOG" +#else +static const WCHAR VSCLASS_TASKDIALOGSTYLE[] = {'T','A','S','K','D','I','A','L','O','G','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TASKDIALOG [] = {'T','A','S','K','D','I','A','L','O','G',0}; +#endif + +enum TASKDIALOGPARTS { + TDLG_PRIMARYPANEL = 1, + TDLG_MAININSTRUCTIONPANE = 2, + TDLG_MAINICON = 3, + TDLG_CONTENTPANE = 4, + TDLG_CONTENTICON = 5, + TDLG_EXPANDEDCONTENT = 6, + TDLG_COMMANDLINKPANE = 7, + TDLG_SECONDARYPANEL = 8, + TDLG_CONTROLPANE = 9, + TDLG_BUTTONSECTION = 10, + TDLG_BUTTONWRAPPER = 11, + TDLG_EXPANDOTEXT = 12, + TDLG_EXPANDOBUTTON = 13, + TDLG_VERIFICATIONTEXT = 14, + TDLG_FOOTNOTEPANE = 15, + TDLG_FOOTNOTEAREA = 16, + TDLG_FOOTNOTESEPARATOR = 17, + TDLG_EXPANDEDFOOTERAREA = 18, + TDLG_PROGRESSBAR = 19, + TDLG_IMAGEALIGNMENT = 20, + TDLG_RADIOBUTTONPANE = 21, +}; + +#define TASKDIALOGSTYLEPARTS TASKDIALOGPARTS; + +enum CONTENTPANESTATES { + TDLGCPS_STANDALONE = 1, +}; + +enum EXPANDOBUTTONSTATES { + TDLGEBS_NORMAL = 1, + TDLGEBS_HOVER = 2, + TDLGEBS_PRESSED = 3, + TDLGEBS_EXPANDEDNORMAL = 4, + TDLGEBS_EXPANDEDHOVER = 5, + TDLGEBS_EXPANDEDPRESSED = 6, +}; + +/* TEXTSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TEXTSTYLE (const WCHAR []){'T','E','X','T','S','T','Y','L','E',0} +#elif defined(_MSC_VER) +#define VSCLASS_TEXTSTYLE L"TEXTSTYLE" +#else +static const WCHAR VSCLASS_TEXTSTYLE [] = {'T','E','X','T','S','T','Y','L','E',0}; +#endif + +enum TEXTSTYLEPARTS { + TEXT_MAININSTRUCTION = 1, + TEXT_INSTRUCTION = 2, + TEXT_BODYTITLE = 3, + TEXT_BODYTEXT = 4, + TEXT_SECONDARYTEXT = 5, + TEXT_HYPERLINKTEXT = 6, + TEXT_EXPANDED = 7, + TEXT_LABEL = 8, + TEXT_CONTROLLABEL = 9, +}; + +enum HYPERLINKTEXTSTATES { + TS_HYPERLINK_NORMAL = 1, + TS_HYPERLINK_HOT = 2, + TS_HYPERLINK_PRESSED = 3, + TS_HYPERLINK_DISABLED = 4, +}; + +enum CONTROLLABELSTATES { + TS_CONTROLLABEL_NORMAL = 1, + TS_CONTROLLABEL_DISABLED = 2, +}; + +/* TOOLBARSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TOOLBARSTYLE (const WCHAR []){'T','O','O','L','B','A','R','S','T','Y','L','E',0} +#define VSCLASS_TOOLBAR (const WCHAR []){'T','O','O','L','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_TOOLBARSTYLE L"TOOLBARSTYLE" +#define VSCLASS_TOOLBAR L"TOOLBAR" +#else +static const WCHAR VSCLASS_TOOLBARSTYLE [] = {'T','O','O','L','B','A','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TOOLBAR[] = {'T','O','O','L','B','A','R',0}; +#endif + +enum TOOLBARPARTS { + TP_BUTTON = 1, + TP_DROPDOWNBUTTON = 2, + TP_SPLITBUTTON = 3, + TP_SPLITBUTTONDROPDOWN = 4, + TP_SEPARATOR = 5, + TP_SEPARATORVERT = 6, + TP_DROPDOWNBUTTONGLYPH = 7, +}; + +#define TOOLBARSTYLEPARTS TOOLBARPARTS; + +enum TOOLBARSTYLESTATES { + TS_NORMAL = 1, + TS_HOT = 2, + TS_PRESSED = 3, + TS_DISABLED = 4, + TS_CHECKED = 5, + TS_HOTCHECKED = 6, + TS_NEARHOT = 7, + TS_OTHERSIDEHOT = 8, +}; + +/* TOOLTIPSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TOOLTIPSTYLE (const WCHAR []){'T','O','O','L','T','I','P','S','T','Y','L','E',0} +#define VSCLASS_TOOLTIP (const WCHAR []){'T','O','O','L','T','I','P',0} +#elif defined(_MSC_VER) +#define VSCLASS_TOOLTIPSTYLE L"TOOLTIPSTYLE" +#define VSCLASS_TOOLTIP L"TOOLTIP" +#else +static const WCHAR VSCLASS_TOOLTIPSTYLE [] = {'T','O','O','L','T','I','P','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TOOLTIP[] = {'T','O','O','L','T','I','P',0}; +#endif + +enum TOOLTIPPARTS { + TTP_STANDARD = 1, + TTP_STANDARDTITLE = 2, + TTP_BALLOON = 3, + TTP_BALLOONTITLE = 4, + TTP_CLOSE = 5, + TTP_BALLOONSTEM = 6, + TTP_WRENCH = 7, +}; + +#define TOOLTIPSTYLEPARTS TOOLTIPPARTS; + +enum CLOSESTATES { + TTCS_NORMAL = 1, + TTCS_HOT = 2, + TTCS_PRESSED = 3, +}; + +enum STANDARDSTATES { + TTSS_NORMAL = 1, + TTSS_LINK = 2, +}; + +enum BALLOONSTATES { + TTBS_NORMAL = 1, + TTBS_LINK = 2, +}; + +enum BALLOONSTEMSTATES { + TTBSS_POINTINGUPLEFTWALL = 1, + TTBSS_POINTINGUPCENTERED = 2, + TTBSS_POINTINGUPRIGHTWALL = 3, + TTBSS_POINTINGDOWNRIGHTWALL = 4, + TTBSS_POINTINGDOWNCENTERED = 5, + TTBSS_POINTINGDOWNLEFTWALL = 6, +}; + +enum WRENCHSTATES { + TTWS_NORMAL = 1, + TTWS_HOT = 2, + TTWS_PRESSED = 3, +}; + +/* TRACKBARSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TRACKBARSTYLE (const WCHAR []){'T','R','A','C','K','B','A','R','S','T','Y','L','E',0} +#define VSCLASS_TRACKBAR (const WCHAR []){'T','R','A','C','K','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_TRACKBARSTYLE L"TRACKBARSTYLE" +#define VSCLASS_TRACKBAR L"TRACKBAR" +#else +static const WCHAR VSCLASS_TRACKBARSTYLE [] = {'T','R','A','C','K','B','A','R','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TRACKBAR [] = {'T','R','A','C','K','B','A','R',0}; +#endif + +enum TRACKBARPARTS { + TKP_TRACK = 1, + TKP_TRACKVERT = 2, + TKP_THUMB = 3, + TKP_THUMBBOTTOM = 4, + TKP_THUMBTOP = 5, + TKP_THUMBVERT = 6, + TKP_THUMBLEFT = 7, + TKP_THUMBRIGHT = 8, + TKP_TICS = 9, + TKP_TICSVERT = 10, +}; + +#define TRACKBARSTYLEPARTS TRACKBARPARTS; + +enum TRACKBARSTYLESTATES { + TKS_NORMAL = 1, +}; + +enum TRACKSTATES { + TRS_NORMAL = 1, +}; + +enum TRACKVERTSTATES { + TRVS_NORMAL = 1, +}; + +enum THUMBSTATES { + TUS_NORMAL = 1, + TUS_HOT = 2, + TUS_PRESSED = 3, + TUS_FOCUSED = 4, + TUS_DISABLED = 5, +}; + +enum THUMBBOTTOMSTATES { + TUBS_NORMAL = 1, + TUBS_HOT = 2, + TUBS_PRESSED = 3, + TUBS_FOCUSED = 4, + TUBS_DISABLED = 5, +}; + +enum THUMBTOPSTATES { + TUTS_NORMAL = 1, + TUTS_HOT = 2, + TUTS_PRESSED = 3, + TUTS_FOCUSED = 4, + TUTS_DISABLED = 5, +}; + +enum THUMBVERTSTATES { + TUVS_NORMAL = 1, + TUVS_HOT = 2, + TUVS_PRESSED = 3, + TUVS_FOCUSED = 4, + TUVS_DISABLED = 5, +}; + +enum THUMBLEFTSTATES { + TUVLS_NORMAL = 1, + TUVLS_HOT = 2, + TUVLS_PRESSED = 3, + TUVLS_FOCUSED = 4, + TUVLS_DISABLED = 5, +}; + +enum THUMBRIGHTSTATES { + TUVRS_NORMAL = 1, + TUVRS_HOT = 2, + TUVRS_PRESSED = 3, + TUVRS_FOCUSED = 4, + TUVRS_DISABLED = 5, +}; + +enum TICSSTATES { + TSS_NORMAL = 1, +}; + +enum TICSVERTSTATES { + TSVS_NORMAL = 1, +}; + +/* TREEVIEWSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_TREEVIEWSTYLE (const WCHAR []){'T','R','E','E','V','I','E','W','S','T','Y','L','E',0} +#define VSCLASS_TREEVIEW (const WCHAR []){'T','R','E','E','V','I','E','W',0} +#elif defined(_MSC_VER) +#define VSCLASS_TREEVIEWSTYLE L"TREEVIEWSTYLE" +#define VSCLASS_TREEVIEW L"TREEVIEW" +#else +static const WCHAR VSCLASS_TREEVIEWSTYLE [] = {'T','R','E','E','V','I','E','W','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_TREEVIEW [] = {'T','R','E','E','V','I','E','W',0}; +#endif + +enum TREEVIEWPARTS { + TVP_TREEITEM = 1, + TVP_GLYPH = 2, + TVP_BRANCH = 3, + TVP_HOTGLYPH = 4, +}; + +#define TREEVIEWSTYLEPARTS TREEVIEWPARTS; + +enum TREEITEMSTATES { + TREIS_NORMAL = 1, + TREIS_HOT = 2, + TREIS_SELECTED = 3, + TREIS_DISABLED = 4, + TREIS_SELECTEDNOTFOCUS = 5, + TREIS_HOTSELECTED = 6, +}; + +enum GLYPHSTATES { + GLPS_CLOSED = 1, + GLPS_OPENED = 2, +}; + +enum HOTGLYPHSTATES { + HGLPS_CLOSED = 1, + HGLPS_OPENED = 2, +}; + +/* WINDOWSTYLE class */ +#if defined(__GNUC__) +#define VSCLASS_WINDOWSTYLE (const WCHAR []){'W','I','N','D','O','W','S','T','Y','L','E',0} +#define VSCLASS_WINDOW (const WCHAR []){'W','I','N','D','O','W',0} +#elif defined(_MSC_VER) +#define VSCLASS_WINDOWSTYLE L"WINDOWSTYLE" +#define VSCLASS_WINDOW L"WINDOW" +#else +static const WCHAR VSCLASS_WINDOWSTYLE [] = {'W','I','N','D','O','W','S','T','Y','L','E',0}; +static const WCHAR VSCLASS_WINDOW [] = {'W','I','N','D','O','W',0}; +#endif + +enum WINDOWPARTS { + WP_CAPTION = 1, + WP_SMALLCAPTION = 2, + WP_MINCAPTION = 3, + WP_SMALLMINCAPTION = 4, + WP_MAXCAPTION = 5, + WP_SMALLMAXCAPTION = 6, + WP_FRAMELEFT = 7, + WP_FRAMERIGHT = 8, + WP_FRAMEBOTTOM = 9, + WP_SMALLFRAMELEFT = 10, + WP_SMALLFRAMERIGHT = 11, + WP_SMALLFRAMEBOTTOM = 12, + WP_SYSBUTTON = 13, + WP_MDISYSBUTTON = 14, + WP_MINBUTTON = 15, + WP_MDIMINBUTTON = 16, + WP_MAXBUTTON = 17, + WP_CLOSEBUTTON = 18, + WP_SMALLCLOSEBUTTON = 19, + WP_MDICLOSEBUTTON = 20, + WP_RESTOREBUTTON = 21, + WP_MDIRESTOREBUTTON = 22, + WP_HELPBUTTON = 23, + WP_MDIHELPBUTTON = 24, + WP_HORZSCROLL = 25, + WP_HORZTHUMB = 26, + WP_VERTSCROLL = 27, + WP_VERTTHUMB = 28, + WP_DIALOG = 29, + WP_CAPTIONSIZINGTEMPLATE = 30, + WP_SMALLCAPTIONSIZINGTEMPLATE = 31, + WP_FRAMELEFTSIZINGTEMPLATE = 32, + WP_SMALLFRAMELEFTSIZINGTEMPLATE = 33, + WP_FRAMERIGHTSIZINGTEMPLATE = 34, + WP_SMALLFRAMERIGHTSIZINGTEMPLATE = 35, + WP_FRAMEBOTTOMSIZINGTEMPLATE = 36, + WP_SMALLFRAMEBOTTOMSIZINGTEMPLATE = 37, + WP_FRAME = 38, +}; + +#define WINDOWSTYLEPARTS WINDOWPARTS; + +enum FRAMESTATES { + FS_ACTIVE = 1, + FS_INACTIVE = 2, +}; + +enum CAPTIONSTATES { + CS_ACTIVE = 1, + CS_INACTIVE = 2, + CS_DISABLED = 3, +}; + +enum MAXCAPTIONSTATES { + MXCS_ACTIVE = 1, + MXCS_INACTIVE = 2, + MXCS_DISABLED = 3, +}; + +enum MINCAPTIONSTATES { + MNCS_ACTIVE = 1, + MNCS_INACTIVE = 2, + MNCS_DISABLED = 3, +}; + +enum HORZSCROLLSTATES { + HSS_NORMAL = 1, + HSS_HOT = 2, + HSS_PUSHED = 3, + HSS_DISABLED = 4, +}; + +enum HORZTHUMBSTATES { + HTS_NORMAL = 1, + HTS_HOT = 2, + HTS_PUSHED = 3, + HTS_DISABLED = 4, +}; + +enum VERTSCROLLSTATES { + VSS_NORMAL = 1, + VSS_HOT = 2, + VSS_PUSHED = 3, + VSS_DISABLED = 4, +}; + +enum VERTTHUMBSTATES { + VTS_NORMAL = 1, + VTS_HOT = 2, + VTS_PUSHED = 3, + VTS_DISABLED = 4, +}; + +enum SYSBUTTONSTATES { + SBS_NORMAL = 1, + SBS_HOT = 2, + SBS_PUSHED = 3, + SBS_DISABLED = 4, +}; + +enum MINBUTTONSTATES { + MINBS_NORMAL = 1, + MINBS_HOT = 2, + MINBS_PUSHED = 3, + MINBS_DISABLED = 4, +}; + +enum MAXBUTTONSTATES { + MAXBS_NORMAL = 1, + MAXBS_HOT = 2, + MAXBS_PUSHED = 3, + MAXBS_DISABLED = 4, +}; + +enum RESTOREBUTTONSTATES { + RBS_NORMAL = 1, + RBS_HOT = 2, + RBS_PUSHED = 3, + RBS_DISABLED = 4, +}; + +enum HELPBUTTONSTATES { + HBS_NORMAL = 1, + HBS_HOT = 2, + HBS_PUSHED = 3, + HBS_DISABLED = 4, +}; + +enum CLOSEBUTTONSTATES { + CBS_NORMAL = 1, + CBS_HOT = 2, + CBS_PUSHED = 3, + CBS_DISABLED = 4, +}; + +#endif /* __VSSTYLE_H__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vssym32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vssym32.h new file mode 100644 index 00000000..88ec01f9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vssym32.h @@ -0,0 +1,706 @@ +/* + This Software is provided under the Zope Public License (ZPL) Version 2.1. + + Copyright (C) 2011 Piotr Caban for CodeWeavers + + See the AUTHORS file for the list of contributors to the mingw-w64 project. + + This license has been certified as open source. It has also been designated + as GPL compatible by the Free Software Foundation (FSF). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions in source code must retain the accompanying copyright + notice, this list of conditions, and the following disclaimer. + 2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + 3. Names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission + from the copyright holders. + 4. The right to distribute this software or to use it for any purpose does + not give you the right to use Servicemarks (sm) or Trademarks (tm) of + the copyright holders. Use of them is covered by separate agreement + with the copyright holders. + 5. If any files are modified, you must cause the modified files to carry + prominent notices stating that you changed the files and the date of + any change. + + Disclaimer + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __VSSYM32_H__ +#define __VSSYM32_H__ + +#include "vsstyle.h" + + +enum BGTYPE { + BT_IMAGEFILE = 0, + BT_BORDERFILL = 1, + BT_NONE = 2, +}; + +enum IMAGELAYOUT { + IL_VERTICAL = 0, + IL_HORIZONTAL = 1, +}; + +enum BORDERTYPE { + BT_RECT = 0, + BT_ROUNDRECT = 1, + BT_ELLIPSE = 2, +}; + +enum FILLTYPE { + FT_SOLID = 0, + FT_VERTGRADIENT = 1, + FT_HORZGRADIENT = 2, + FT_RADIALGRADIENT = 3, + FT_TILEIMAGE = 4, +}; + +enum SIZINGTYPE { + ST_TRUESIZE = 0, + ST_STRETCH = 1, + ST_TILE = 2, +}; + +enum HALIGN { + HA_LEFT = 0, + HA_CENTER = 1, + HA_RIGHT = 2, +}; + +enum CONTENTALIGNMENT { + CA_LEFT = 0, + CA_CENTER = 1, + CA_RIGHT = 2, +}; + +enum VALIGN { + VA_TOP = 0, + VA_CENTER = 1, + VA_BOTTOM = 2, +}; + +enum OFFSETTYPE { + OT_TOPLEFT = 0, + OT_TOPRIGHT = 1, + OT_TOPMIDDLE = 2, + OT_BOTTOMLEFT = 3, + OT_BOTTOMRIGHT = 4, + OT_BOTTOMMIDDLE = 5, + OT_MIDDLELEFT = 6, + OT_MIDDLERIGHT = 7, + OT_LEFTOFCAPTION = 8, + OT_RIGHTOFCAPTION = 9, + OT_LEFTOFLASTBUTTON = 10, + OT_RIGHTOFLASTBUTTON = 11, + OT_ABOVELASTBUTTON = 12, + OT_BELOWLASTBUTTON = 13, +}; + +enum ICONEFFECT { + ICE_NONE = 0, + ICE_GLOW = 1, + ICE_SHADOW = 2, + ICE_PULSE = 3, + ICE_ALPHA = 4, +}; + +enum TEXTSHADOWTYPE { + TST_NONE = 0, + TST_SINGLE = 1, + TST_CONTINUOUS = 2, +}; + +enum GLYPHTYPE { + GT_NONE = 0, + GT_IMAGEGLYPH = 1, + GT_FONTGLYPH = 2, +}; + +enum IMAGESELECTTYPE { + IST_NONE = 0, + IST_SIZE = 1, + IST_DPI = 2, +}; + +enum TRUESIZESCALINGTYPE { + TSST_NONE = 0, + TSST_SIZE = 1, + TSST_DPI = 2, +}; + +enum GLYPHFONTSIZINGTYPE { + GFST_NONE = 0, + GFST_SIZE = 1, + GFST_DPI = 2, +}; + +#define TMT_RESERVEDLOW 0 +#define TMT_RESERVEDHIGH 7999 + +#define TMT_DIBDATA 2 +#define TMT_GLYPHDIBDATA 8 +#define TMT_ENUM 200 +#define TMT_STRING 201 +#define TMT_INT 202 +#define TMT_BOOL 203 +#define TMT_COLOR 204 +#define TMT_MARGINS 205 +#define TMT_FILENAME 206 +#define TMT_SIZE 207 +#define TMT_POSITION 208 +#define TMT_RECT 209 +#define TMT_FONT 210 +#define TMT_INTLIST 211 +#define TMT_HBITMAP 212 +#define TMT_DISKSTREAM 213 +#define TMT_STREAM 214 +#define TMT_BITMAPREF 215 +#define TMT_COLORSCHEMES 401 +#define TMT_SIZES 402 +#define TMT_CHARSET 403 +#define TMT_NAME 600 +#define TMT_DISPLAYNAME 601 +#define TMT_TOOLTIP 602 +#define TMT_COMPANY 603 +#define TMT_AUTHOR 604 +#define TMT_COPYRIGHT 605 +#define TMT_URL 606 +#define TMT_VERSION 607 +#define TMT_DESCRIPTION 608 +#define TMT_FIRST_RCSTRING_NAME TMT_DISPLAYNAME +#define TMT_LAST_RCSTRING_NAME TMT_DESCRIPTION +#define TMT_CAPTIONFONT 801 +#define TMT_SMALLCAPTIONFONT 802 +#define TMT_MENUFONT 803 +#define TMT_STATUSFONT 804 +#define TMT_MSGBOXFONT 805 +#define TMT_ICONTITLEFONT 806 +#define TMT_HEADING1FONT 807 +#define TMT_HEADING2FONT 808 +#define TMT_BODYFONT 809 +#define TMT_FIRSTFONT TMT_CAPTIONFONT +#define TMT_LASTFONT TMT_BODYFONT +#define TMT_FLATMENUS 1001 +#define TMT_FIRSTBOOL TMT_FLATMENUS +#define TMT_LASTBOOL TMT_FLATMENUS +#define TMT_SIZINGBORDERWIDTH 1201 +#define TMT_SCROLLBARWIDTH 1202 +#define TMT_SCROLLBARHEIGHT 1203 +#define TMT_CAPTIONBARWIDTH 1204 +#define TMT_CAPTIONBARHEIGHT 1205 +#define TMT_SMCAPTIONBARWIDTH 1206 +#define TMT_SMCAPTIONBARHEIGHT 1207 +#define TMT_MENUBARWIDTH 1208 +#define TMT_MENUBARHEIGHT 1209 +#define TMT_PADDEDBORDERWIDTH 1210 +#define TMT_FIRSTSIZE TMT_SIZINGBORDERWIDTH +#define TMT_LASTSIZE TMT_PADDEDBORDERWIDTH +#define TMT_MINCOLORDEPTH 1301 +#define TMT_FIRSTINT TMT_MINCOLORDEPTH +#define TMT_LASTINT TMT_MINCOLORDEPTH +#define TMT_CSSNAME 1401 +#define TMT_XMLNAME 1402 +#define TMT_LASTUPDATED 1403 +#define TMT_ALIAS 1404 +#define TMT_FIRSTSTRING TMT_CSSNAME +#define TMT_LASTSTRING TMT_ALIAS +#define TMT_SCROLLBAR 1601 +#define TMT_BACKGROUND 1602 +#define TMT_ACTIVECAPTION 1603 +#define TMT_INACTIVECAPTION 1604 +#define TMT_MENU 1605 +#define TMT_WINDOW 1606 +#define TMT_WINDOWFRAME 1607 +#define TMT_MENUTEXT 1608 +#define TMT_WINDOWTEXT 1609 +#define TMT_CAPTIONTEXT 1610 +#define TMT_ACTIVEBORDER 1611 +#define TMT_INACTIVEBORDER 1612 +#define TMT_APPWORKSPACE 1613 +#define TMT_HIGHLIGHT 1614 +#define TMT_HIGHLIGHTTEXT 1615 +#define TMT_BTNFACE 1616 +#define TMT_BTNSHADOW 1617 +#define TMT_GRAYTEXT 1618 +#define TMT_BTNTEXT 1619 +#define TMT_INACTIVECAPTIONTEXT 1620 +#define TMT_BTNHIGHLIGHT 1621 +#define TMT_DKSHADOW3D 1622 +#define TMT_LIGHT3D 1623 +#define TMT_INFOTEXT 1624 +#define TMT_INFOBK 1625 +#define TMT_BUTTONALTERNATEFACE 1626 +#define TMT_HOTTRACKING 1627 +#define TMT_GRADIENTACTIVECAPTION 1628 +#define TMT_GRADIENTINACTIVECAPTION 1629 +#define TMT_MENUHILIGHT 1630 +#define TMT_MENUBAR 1631 +#define TMT_FIRSTCOLOR TMT_SCROLLBAR +#define TMT_LASTCOLOR TMT_MENUBAR +#define TMT_FROMHUE1 1801 +#define TMT_FROMHUE2 1802 +#define TMT_FROMHUE3 1803 +#define TMT_FROMHUE4 1804 +#define TMT_FROMHUE5 1805 +#define TMT_TOHUE1 1806 +#define TMT_TOHUE2 1807 +#define TMT_TOHUE3 1808 +#define TMT_TOHUE4 1809 +#define TMT_TOHUE5 1810 +#define TMT_FROMCOLOR1 2001 +#define TMT_FROMCOLOR2 2002 +#define TMT_FROMCOLOR3 2003 +#define TMT_FROMCOLOR4 2004 +#define TMT_FROMCOLOR5 2005 +#define TMT_TOCOLOR1 2006 +#define TMT_TOCOLOR2 2007 +#define TMT_TOCOLOR3 2008 +#define TMT_TOCOLOR4 2009 +#define TMT_TOCOLOR5 2010 +#define TMT_TRANSPARENT 2201 +#define TMT_AUTOSIZE 2202 +#define TMT_BORDERONLY 2203 +#define TMT_COMPOSITED 2204 +#define TMT_BGFILL 2205 +#define TMT_GLYPHTRANSPARENT 2206 +#define TMT_GLYPHONLY 2207 +#define TMT_ALWAYSSHOWSIZINGBAR 2208 +#define TMT_MIRRORIMAGE 2209 +#define TMT_UNIFORMSIZING 2210 +#define TMT_INTEGRALSIZING 2211 +#define TMT_SOURCEGROW 2212 +#define TMT_SOURCESHRINK 2213 +#define TMT_DRAWBORDERS 2214 +#define TMT_NOETCHEDEFFECT 2215 +#define TMT_TEXTAPPLYOVERLAY 2216 +#define TMT_TEXTGLOW 2217 +#define TMT_TEXTITALIC 2218 +#define TMT_COMPOSITEDOPAQUE 2219 +#define TMT_LOCALIZEDMIRRORIMAGE 2220 +#define TMT_IMAGECOUNT 2401 +#define TMT_ALPHALEVEL 2402 +#define TMT_BORDERSIZE 2403 +#define TMT_ROUNDCORNERWIDTH 2404 +#define TMT_ROUNDCORNERHEIGHT 2405 +#define TMT_GRADIENTRATIO1 2406 +#define TMT_GRADIENTRATIO2 2407 +#define TMT_GRADIENTRATIO3 2408 +#define TMT_GRADIENTRATIO4 2409 +#define TMT_GRADIENTRATIO5 2410 +#define TMT_PROGRESSCHUNKSIZE 2411 +#define TMT_PROGRESSSPACESIZE 2412 +#define TMT_SATURATION 2413 +#define TMT_TEXTBORDERSIZE 2414 +#define TMT_ALPHATHRESHOLD 2415 +#define TMT_WIDTH 2416 +#define TMT_HEIGHT 2417 +#define TMT_GLYPHINDEX 2418 +#define TMT_TRUESIZESTRETCHMARK 2419 +#define TMT_MINDPI1 2420 +#define TMT_MINDPI2 2421 +#define TMT_MINDPI3 2422 +#define TMT_MINDPI4 2423 +#define TMT_MINDPI5 2424 +#define TMT_TEXTGLOWSIZE 2425 +#define TMT_FRAMESPERSECOND 2426 +#define TMT_PIXELSPERFRAME 2427 +#define TMT_ANIMATIONDELAY 2428 +#define TMT_GLOWINTENSITY 2429 +#define TMT_OPACITY 2430 +#define TMT_COLORIZATIONCOLOR 2431 +#define TMT_COLORIZATIONOPACITY 2432 +#define TMT_GLYPHFONT 2601 +#define TMT_IMAGEFILE 3001 +#define TMT_IMAGEFILE1 3002 +#define TMT_IMAGEFILE2 3003 +#define TMT_IMAGEFILE3 3004 +#define TMT_IMAGEFILE4 3005 +#define TMT_IMAGEFILE5 3006 +#define TMT_GLYPHIMAGEFILE 3008 +#define TMT_TEXT 3201 +#define TMT_CLASSICVALUE 3202 +#define TMT_OFFSET 3401 +#define TMT_TEXTSHADOWOFFSET 3402 +#define TMT_MINSIZE 3403 +#define TMT_MINSIZE1 3404 +#define TMT_MINSIZE2 3405 +#define TMT_MINSIZE3 3406 +#define TMT_MINSIZE4 3407 +#define TMT_MINSIZE5 3408 +#define TMT_NORMALSIZE 3409 +#define TMT_SIZINGMARGINS 3601 +#define TMT_CONTENTMARGINS 3602 +#define TMT_CAPTIONMARGINS 3603 +#define TMT_BORDERCOLOR 3801 +#define TMT_FILLCOLOR 3802 +#define TMT_TEXTCOLOR 3803 +#define TMT_EDGELIGHTCOLOR 3804 +#define TMT_EDGEHIGHLIGHTCOLOR 3805 +#define TMT_EDGESHADOWCOLOR 3806 +#define TMT_EDGEDKSHADOWCOLOR 3807 +#define TMT_EDGEFILLCOLOR 3808 +#define TMT_TRANSPARENTCOLOR 3809 +#define TMT_GRADIENTCOLOR1 3810 +#define TMT_GRADIENTCOLOR2 3811 +#define TMT_GRADIENTCOLOR3 3812 +#define TMT_GRADIENTCOLOR4 3813 +#define TMT_GRADIENTCOLOR5 3814 +#define TMT_SHADOWCOLOR 3815 +#define TMT_GLOWCOLOR 3816 +#define TMT_TEXTBORDERCOLOR 3817 +#define TMT_TEXTSHADOWCOLOR 3818 +#define TMT_GLYPHTEXTCOLOR 3819 +#define TMT_GLYPHTRANSPARENTCOLOR 3820 +#define TMT_FILLCOLORHINT 3821 +#define TMT_BORDERCOLORHINT 3822 +#define TMT_ACCENTCOLORHINT 3823 +#define TMT_TEXTCOLORHINT 3824 +#define TMT_HEADING1TEXTCOLOR 3825 +#define TMT_HEADING2TEXTCOLOR 3826 +#define TMT_BODYTEXTCOLOR 3827 +#define TMT_BGTYPE 4001 +#define TMT_BORDERTYPE 4002 +#define TMT_FILLTYPE 4003 +#define TMT_SIZINGTYPE 4004 +#define TMT_HALIGN 4005 +#define TMT_CONTENTALIGNMENT 4006 +#define TMT_VALIGN 4007 +#define TMT_OFFSETTYPE 4008 +#define TMT_ICONEFFECT 4009 +#define TMT_TEXTSHADOWTYPE 4010 +#define TMT_IMAGELAYOUT 4011 +#define TMT_GLYPHTYPE 4012 +#define TMT_IMAGESELECTTYPE 4013 +#define TMT_GLYPHFONTSIZINGTYPE 4014 +#define TMT_TRUESIZESCALINGTYPE 4015 +#define TMT_USERPICTURE 5001 +#define TMT_DEFAULTPANESIZE 5002 +#define TMT_BLENDCOLOR 5003 +#define TMT_CUSTOMSPLITRECT 5004 +#define TMT_ANIMATIONBUTTONRECT 5005 +#define TMT_ANIMATIONDURATION 5006 +#define TMT_TRANSITIONDURATIONS 6000 +#define TMT_SCALEDBACKGROUND 7001 +#define TMT_ATLASIMAGE 8000 +#define TMT_ATLASINPUTIMAGE 8001 +#define TMT_ATLASRECT 8002 + +/* LINK class */ +#if defined(__GNUC__) +#define VSCLASS_LINK (const WCHAR []){'L','I','N','K',0} +#elif defined(_MSC_VER) +#define VSCLASS_LINK L"LINK" +#else +static const WCHAR VSCLASS_LINK[] = {'L','I','N','K',0}; +#endif + +enum LINKPARTS { + LP_HYPERLINK = 1, +}; + +enum HYPERLINKSTATES { + HLS_NORMALTEXT = 1, + HLS_LINKTEXT = 2, +}; + +/* EMPTYMARKUP class */ +#if defined(__GNUC__) +#define VSCLASS_EMPTYMARKUP (const WCHAR []){'E','M','P','T','Y','M','A','R','K','U','P',0} +#elif defined(_MSC_VER) +#define VSCLASS_EMPTYMARKUP L"EMPTYMARKUP" +#else +static const WCHAR VSCLASS_EMPTYMARKUP[] = {'E','M','P','T','Y','M','A','R','K','U','P',0}; +#endif + +enum EMPTYMARKUPPARTS { + EMP_MARKUPTEXT = 1, +}; + +enum MARKUPTEXTSTATES { + EMT_NORMALTEXT = 1, + EMT_LINKTEXT = 2, +}; + +/* STATIC class */ +#if defined(__GNUC__) +#define VSCLASS_STATIC (const WCHAR []){'S','T','A','T','I','C',0} +#elif defined(_MSC_VER) +#define VSCLASS_STATIC L"STATIC" +#else +static const WCHAR VSCLASS_STATIC[] = {'S','T','A','T','I','C',0}; +#endif + +enum STATICPARTS { + STAT_TEXT = 1, +}; + +/* PAGE class */ +#if defined(__GNUC__) +#define VSCLASS_PAGE (const WCHAR []){'P','A','G','E',0} +#elif defined(_MSC_VER) +#define VSCLASS_PAGE L"PAGE" +#else +static const WCHAR VSCLASS_PAGE[] = {'P','A','G','E',0}; +#endif + +enum PAGEPARTS { + PGRP_UP = 1, + PGRP_DOWN = 2, + PGRP_UPHORZ = 3, + PGRP_DOWNHORZ = 4, +}; + +/* MONTHCAL class */ +#if defined(__GNUC__) +#define VSCLASS_MONTHCAL (const WCHAR []){'M','O','N','T','H','C','A','L',0} +#elif defined(_MSC_VER) +#define VSCLASS_MONTHCAL L"MONTHCAL" +#else +static const WCHAR VSCLASS_MONTHCAL[] = {'M','O','N','T','H','C','A','L',0}; +#endif + +enum MONTHCALPARTS { + MC_BACKGROUND = 1, + MC_BORDERS = 2, + MC_GRIDBACKGROUND = 3, + MC_COLHEADERSPLITTER = 4, + MC_GRIDCELLBACKGROUND = 5, + MC_GRIDCELL = 6, + MC_GRIDCELLUPPER = 7, + MC_TRAILINGGRIDCELL = 8, + MC_TRAILINGGRIDCELLUPPER = 9, + MC_NAVNEXT = 10, + MC_NAVPREV = 11, +}; + +enum GRIDCELLBACKGROUNDSTATES { + MCGCB_SELECTED = 1, + MCGCB_HOT = 2, + MCGCB_SELECTEDHOT = 3, + MCGCB_SELECTEDNOTFOCUSED = 4, + MCGCB_TODAY = 5, +}; + +enum GRIDCELLSTATES { + MCGC_HOT = 1, + MCGC_HASSTATE = 2, + MCGC_HASSTATEHOT = 3, + MCGC_TODAY = 4, +}; + +enum GRIDCELLUPPERSTATES { + MCGCU_HOT = 1, + MCGCU_HASSTATE = 2, + MCGCU_HASSTATEHOT = 3, +}; + +enum TRAILINGGRIDCELLSTATES { + MCTGC_HOT = 1, + MCTGC_HASSTATE = 2, + MCTGC_HASSTATEHOT = 3, + MCTGC_TODAY = 4, +}; + +enum TRAILINGGRIDCELLUPPERSTATES { + MCTGCU_HOT = 1, + MCTGCU_HASSTATE = 2, + MCTGCU_HASSTATEHOT = 3, +}; + +enum NAVNEXTSTATES { + MCNN_NORMAL = 1, + MCNN_HOT = 2, + MCNN_PRESSED = 3, + MCNN_DISABLED = 4, +}; + +enum NAVPREVSTATES { + MCNP_NORMAL = 1, + MCNP_HOT = 2, + MCNP_PRESSED = 3, + MCNP_DISABLED = 4, +}; + +/* CLOCK class */ +#if defined(__GNUC__) +#define VSCLASS_CLOCK (const WCHAR []){'C','L','O','C','K',0} +#elif defined(_MSC_VER) +#define VSCLASS_CLOCK L"CLOCK" +#else +static const WCHAR VSCLASS_CLOCK[] = {'C','L','O','C','K',0}; +#endif + +enum CLOCKPARTS { + CLP_TIME = 1, +}; + +enum CLOCKSTATES { + CLS_NORMAL = 1, + CLS_HOT = 2, + CLS_PRESSED = 3, +}; + +/* TRAYNOTIFY class */ +#if defined(__GNUC__) +#define VSCLASS_TRAYNOTIFY (const WCHAR []){'T','R','A','Y','N','O','T','I','F','Y',0} +#elif defined(_MSC_VER) +#define VSCLASS_TRAYNOTIFY L"TRAYNOTIFY" +#else +static const WCHAR VSCLASS_TRAYNOTIFY[] = {'T','R','A','Y','N','O','T','I','F','Y',0}; +#endif + +enum TRAYNOTIFYPARTS { + TNP_BACKGROUND = 1, + TNP_ANIMBACKGROUND = 2, +}; + +/* TASKBAR class */ +#if defined(__GNUC__) +#define VSCLASS_TASKBAR (const WCHAR []){'T','A','S','K','B','A','R',0} +#elif defined(_MSC_VER) +#define VSCLASS_TASKBAR L"TASKBAR" +#else +static const WCHAR VSCLASS_TASKBAR[] = {'T','A','S','K','B','A','R',0}; +#endif + +enum TASKBARPARTS { + TBP_BACKGROUNDBOTTOM = 1, + TBP_BACKGROUNDRIGHT = 2, + TBP_BACKGROUNDTOP = 3, + TBP_BACKGROUNDLEFT = 4, + TBP_SIZINGBARBOTTOM = 5, + TBP_SIZINGBARRIGHT = 6, + TBP_SIZINGBARTOP = 7, + TBP_SIZINGBARLEFT = 8, +}; + +/* TASKBAND class */ +#if defined(__GNUC__) +#define VSCLASS_TASKBAND (const WCHAR []){'T','A','S','K','B','A','N','D',0} +#elif defined(_MSC_VER) +#define VSCLASS_TASKBAND L"TASKBAND" +#else +static const WCHAR VSCLASS_TASKBAND[] = {'T','A','S','K','B','A','N','D',0}; +#endif + +enum TASKBANDPARTS { + TDP_GROUPCOUNT = 1, + TDP_FLASHBUTTON = 2, + TDP_FLASHBUTTONGROUPMENU = 3, +}; + +/* STARTPANEL class */ +#if defined(__GNUC__) +#define VSCLASS_STARTPANEL (const WCHAR []){'S','T','A','R','T','P','A','N','E','L',0} +#elif defined(_MSC_VER) +#define VSCLASS_STARTPANEL L"STARTPANEL" +#else +static const WCHAR VSCLASS_STARTPANEL[] = {'S','T','A','R','T','P','A','N','E','L',0}; +#endif + +enum STARTPANELPARTS { + SPP_USERPANE = 1, + SPP_MOREPROGRAMS = 2, + SPP_MOREPROGRAMSARROW = 3, + SPP_PROGLIST = 4, + SPP_PROGLISTSEPARATOR = 5, + SPP_PLACESLIST = 6, + SPP_PLACESLISTSEPARATOR = 7, + SPP_LOGOFF = 8, + SPP_LOGOFFBUTTONS = 9, + SPP_USERPICTURE = 10, + SPP_PREVIEW = 11, + SPP_MOREPROGRAMSTAB = 12, + SPP_NSCHOST = 13, + SPP_SOFTWAREEXPLORER = 14, + SPP_OPENBOX = 15, + SPP_SEARCHVIEW = 16, + SPP_MOREPROGRAMSARROWBACK = 17, + SPP_TOPMATCH = 18, + SPP_LOGOFFSPLITBUTTONDROPDOWN = 19, +}; + +enum MOREPROGRAMSTABSTATES { + SPMPT_NORMAL = 1, + SPMPT_HOT = 2, + SPMPT_SELECTED = 3, + SPMPT_DISABLED = 4, + SPMPT_FOCUSED = 5, +}; + +enum SOFTWAREEXPLORERSTATES { + SPSE_NORMAL = 1, + SPSE_HOT = 2, + SPSE_SELECTED = 3, + SPSE_DISABLED = 4, + SPSE_FOCUSED = 5, +}; + +enum OPENBOXSTATES { + SPOB_NORMAL = 1, + SPOB_HOT = 2, + SPOB_SELECTED = 3, + SPOB_DISABLED = 4, + SPOB_FOCUSED = 5, +}; + +enum MOREPROGRAMSARROWSTATES { + SPS_NORMAL = 1, + SPS_HOT = 2, + SPS_PRESSED = 3, +}; + +enum MOREPROGRAMSARROWBACKSTATES { + SPSB_NORMAL = 1, + SPSB_HOT = 2, + SPSB_PRESSED = 3, +}; + +enum LOGOFFBUTTONSSTATES { + SPLS_NORMAL = 1, + SPLS_HOT = 2, + SPLS_PRESSED = 3, +}; + +/* MENUBAND class */ +#if defined(__GNUC__) +#define VSCLASS_MENUBAND (const WCHAR []){'M','E','N','U','B','A','N','D',0} +#elif defined(_MSC_VER) +#define VSCLASS_MENUBAND L"MENUBAND" +#else +static const WCHAR VSCLASS_MENUBAND[] = {'M','E','N','U','B','A','N','D',0}; +#endif + +enum MENUBANDPARTS { + MDP_NEWAPPBUTTON = 1, + MDP_SEPERATOR = 2, +}; + +enum MENUBANDSTATES { + MDS_NORMAL = 1, + MDS_HOT = 2, + MDS_PRESSED = 3, + MDS_DISABLED = 4, + MDS_CHECKED = 5, + MDS_HOTCHECKED = 6, +}; + +#endif /* __VSSYM32_H__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vswriter.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vswriter.h new file mode 100644 index 00000000..814a3c01 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/vswriter.h @@ -0,0 +1,3165 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/vswriter.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 __vswriter_h__ +#define __vswriter_h__ + +/* Forward declarations */ + +#ifndef __IVssWMFiledesc_FWD_DEFINED__ +#define __IVssWMFiledesc_FWD_DEFINED__ +typedef interface IVssWMFiledesc IVssWMFiledesc; +#ifdef __cplusplus +interface IVssWMFiledesc; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssWMDependency_FWD_DEFINED__ +#define __IVssWMDependency_FWD_DEFINED__ +typedef interface IVssWMDependency IVssWMDependency; +#ifdef __cplusplus +interface IVssWMDependency; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssComponent_FWD_DEFINED__ +#define __IVssComponent_FWD_DEFINED__ +typedef interface IVssComponent IVssComponent; +#ifdef __cplusplus +interface IVssComponent; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssWriterComponents_FWD_DEFINED__ +#define __IVssWriterComponents_FWD_DEFINED__ +typedef interface IVssWriterComponents IVssWriterComponents; +#ifdef __cplusplus +interface IVssWriterComponents; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssComponentEx_FWD_DEFINED__ +#define __IVssComponentEx_FWD_DEFINED__ +typedef interface IVssComponentEx IVssComponentEx; +#ifdef __cplusplus +interface IVssComponentEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssComponentEx2_FWD_DEFINED__ +#define __IVssComponentEx2_FWD_DEFINED__ +typedef interface IVssComponentEx2 IVssComponentEx2; +#ifdef __cplusplus +interface IVssComponentEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssCreateWriterMetadata_FWD_DEFINED__ +#define __IVssCreateWriterMetadata_FWD_DEFINED__ +typedef interface IVssCreateWriterMetadata IVssCreateWriterMetadata; +#ifdef __cplusplus +interface IVssCreateWriterMetadata; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssCreateWriterMetadataEx_FWD_DEFINED__ +#define __IVssCreateWriterMetadataEx_FWD_DEFINED__ +typedef interface IVssCreateWriterMetadataEx IVssCreateWriterMetadataEx; +#ifdef __cplusplus +interface IVssCreateWriterMetadataEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssWriterImpl_FWD_DEFINED__ +#define __IVssWriterImpl_FWD_DEFINED__ +typedef interface IVssWriterImpl IVssWriterImpl; +#ifdef __cplusplus +interface IVssWriterImpl; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssCreateExpressWriterMetadata_FWD_DEFINED__ +#define __IVssCreateExpressWriterMetadata_FWD_DEFINED__ +typedef interface IVssCreateExpressWriterMetadata IVssCreateExpressWriterMetadata; +#ifdef __cplusplus +interface IVssCreateExpressWriterMetadata; +#endif /* __cplusplus */ +#endif + +#ifndef __IVssExpressWriter_FWD_DEFINED__ +#define __IVssExpressWriter_FWD_DEFINED__ +typedef interface IVssExpressWriter IVssExpressWriter; +#ifdef __cplusplus +interface IVssExpressWriter; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#include "vsserror.h" +typedef enum VSS_USAGE_TYPE { + VSS_UT_UNDEFINED = 0, + VSS_UT_BOOTABLESYSTEMSTATE = 1, + VSS_UT_SYSTEMSERVICE = 2, + VSS_UT_USERDATA = 3, + VSS_UT_OTHER = 4 +} VSS_USAGE_TYPE; +typedef enum VSS_SOURCE_TYPE { + VSS_ST_UNDEFINED = 0, + VSS_ST_TRANSACTEDDB = 1, + VSS_ST_NONTRANSACTEDDB = 2, + VSS_ST_OTHER = 3 +} VSS_SOURCE_TYPE; +typedef enum VSS_RESTOREMETHOD_ENUM { + VSS_RME_UNDEFINED = 0, + VSS_RME_RESTORE_IF_NOT_THERE = 1, + VSS_RME_RESTORE_IF_CAN_REPLACE = 2, + VSS_RME_STOP_RESTORE_START = 3, + VSS_RME_RESTORE_TO_ALTERNATE_LOCATION = 4, + VSS_RME_RESTORE_AT_REBOOT = 5, + VSS_RME_RESTORE_AT_REBOOT_IF_CANNOT_REPLACE = 6, + VSS_RME_CUSTOM = 7, + VSS_RME_RESTORE_STOP_START = 8 +} VSS_RESTOREMETHOD_ENUM; +typedef enum VSS_WRITERRESTORE_ENUM { + VSS_WRE_UNDEFINED = 0, + VSS_WRE_NEVER = 1, + VSS_WRE_IF_REPLACE_FAILS = 2, + VSS_WRE_ALWAYS = 3 +} VSS_WRITERRESTORE_ENUM; +typedef enum VSS_COMPONENT_TYPE { + VSS_CT_UNDEFINED = 0, + VSS_CT_DATABASE = 1, + VSS_CT_FILEGROUP = 2 +} VSS_COMPONENT_TYPE; +typedef enum VSS_ALTERNATE_WRITER_STATE { + VSS_AWS_UNDEFINED = 0, + VSS_AWS_NO_ALTERNATE_WRITER = 1, + VSS_AWS_ALTERNATE_WRITER_EXISTS = 2, + VSS_AWS_THIS_IS_ALTERNATE_WRITER = 3 +} VSS_ALTERNATE_WRITER_STATE; +typedef enum VSS_SUBSCRIBE_MASK { + VSS_SM_POST_SNAPSHOT_FLAG = 0x1, + VSS_SM_BACKUP_EVENTS_FLAG = 0x2, + VSS_SM_RESTORE_EVENTS_FLAG = 0x4, + VSS_SM_IO_THROTTLING_FLAG = 0x8, + VSS_SM_ALL_FLAGS = 0xffffffff +} VSS_SUBSCRIBE_MASK; +typedef enum VSS_RESTORE_TARGET { + VSS_RT_UNDEFINED = 0, + VSS_RT_ORIGINAL = 1, + VSS_RT_ALTERNATE = 2, + VSS_RT_DIRECTED = 3, + VSS_RT_ORIGINAL_LOCATION = 4 +} VSS_RESTORE_TARGET; +typedef enum VSS_FILE_RESTORE_STATUS { + VSS_RS_UNDEFINED = 0, + VSS_RS_NONE = 1, + VSS_RS_ALL = 2, + VSS_RS_FAILED = 3 +} VSS_FILE_RESTORE_STATUS; +typedef enum VSS_COMPONENT_FLAGS { + VSS_CF_BACKUP_RECOVERY = 0x1, + VSS_CF_APP_ROLLBACK_RECOVERY = 0x2, + VSS_CF_NOT_SYSTEM_STATE = 0x4 +} VSS_COMPONENT_FLAGS; +#ifndef __IVssExamineWriterMetadata_FWD_DEFINED__ +#define __IVssExamineWriterMetadata_FWD_DEFINED__ +typedef interface IVssExamineWriterMetadata IVssExamineWriterMetadata; +#ifdef __cplusplus +interface IVssExamineWriterMetadata; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IVssWMFiledesc interface + */ +#ifndef __IVssWMFiledesc_INTERFACE_DEFINED__ +#define __IVssWMFiledesc_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWMFiledesc, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWMFiledesc : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPath( + BSTR *pbstrPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFilespec( + BSTR *pbstrFilespec) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRecursive( + boolean *pbRecursive) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlternateLocation( + BSTR *pbstrAlternateLocation) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupTypeMask( + DWORD *pdwTypeMask) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWMFiledesc, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWMFiledescVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssWMFiledesc *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssWMFiledesc *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssWMFiledesc *This); + + /*** IVssWMFiledesc methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPath)( + IVssWMFiledesc *This, + BSTR *pbstrPath); + + HRESULT (STDMETHODCALLTYPE *GetFilespec)( + IVssWMFiledesc *This, + BSTR *pbstrFilespec); + + HRESULT (STDMETHODCALLTYPE *GetRecursive)( + IVssWMFiledesc *This, + boolean *pbRecursive); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocation)( + IVssWMFiledesc *This, + BSTR *pbstrAlternateLocation); + + HRESULT (STDMETHODCALLTYPE *GetBackupTypeMask)( + IVssWMFiledesc *This, + DWORD *pdwTypeMask); + + END_INTERFACE +} IVssWMFiledescVtbl; + +interface IVssWMFiledesc { + CONST_VTBL IVssWMFiledescVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssWMFiledesc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssWMFiledesc_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssWMFiledesc_Release(This) (This)->lpVtbl->Release(This) +/*** IVssWMFiledesc methods ***/ +#define IVssWMFiledesc_GetPath(This,pbstrPath) (This)->lpVtbl->GetPath(This,pbstrPath) +#define IVssWMFiledesc_GetFilespec(This,pbstrFilespec) (This)->lpVtbl->GetFilespec(This,pbstrFilespec) +#define IVssWMFiledesc_GetRecursive(This,pbRecursive) (This)->lpVtbl->GetRecursive(This,pbRecursive) +#define IVssWMFiledesc_GetAlternateLocation(This,pbstrAlternateLocation) (This)->lpVtbl->GetAlternateLocation(This,pbstrAlternateLocation) +#define IVssWMFiledesc_GetBackupTypeMask(This,pdwTypeMask) (This)->lpVtbl->GetBackupTypeMask(This,pdwTypeMask) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssWMFiledesc_QueryInterface(IVssWMFiledesc* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssWMFiledesc_AddRef(IVssWMFiledesc* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssWMFiledesc_Release(IVssWMFiledesc* This) { + return This->lpVtbl->Release(This); +} +/*** IVssWMFiledesc methods ***/ +static inline HRESULT IVssWMFiledesc_GetPath(IVssWMFiledesc* This,BSTR *pbstrPath) { + return This->lpVtbl->GetPath(This,pbstrPath); +} +static inline HRESULT IVssWMFiledesc_GetFilespec(IVssWMFiledesc* This,BSTR *pbstrFilespec) { + return This->lpVtbl->GetFilespec(This,pbstrFilespec); +} +static inline HRESULT IVssWMFiledesc_GetRecursive(IVssWMFiledesc* This,boolean *pbRecursive) { + return This->lpVtbl->GetRecursive(This,pbRecursive); +} +static inline HRESULT IVssWMFiledesc_GetAlternateLocation(IVssWMFiledesc* This,BSTR *pbstrAlternateLocation) { + return This->lpVtbl->GetAlternateLocation(This,pbstrAlternateLocation); +} +static inline HRESULT IVssWMFiledesc_GetBackupTypeMask(IVssWMFiledesc* This,DWORD *pdwTypeMask) { + return This->lpVtbl->GetBackupTypeMask(This,pdwTypeMask); +} +#endif +#endif + +#endif + + +#endif /* __IVssWMFiledesc_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssWMDependency interface + */ +#ifndef __IVssWMDependency_INTERFACE_DEFINED__ +#define __IVssWMDependency_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWMDependency : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWriterId( + VSS_ID *pWriterId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLogicalPath( + BSTR *pbstrLogicalPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponentName( + BSTR *pbstrComponentName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWMDependency, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWMDependencyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssWMDependency *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssWMDependency *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssWMDependency *This); + + /*** IVssWMDependency methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWriterId)( + IVssWMDependency *This, + VSS_ID *pWriterId); + + HRESULT (STDMETHODCALLTYPE *GetLogicalPath)( + IVssWMDependency *This, + BSTR *pbstrLogicalPath); + + HRESULT (STDMETHODCALLTYPE *GetComponentName)( + IVssWMDependency *This, + BSTR *pbstrComponentName); + + END_INTERFACE +} IVssWMDependencyVtbl; + +interface IVssWMDependency { + CONST_VTBL IVssWMDependencyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssWMDependency_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssWMDependency_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssWMDependency_Release(This) (This)->lpVtbl->Release(This) +/*** IVssWMDependency methods ***/ +#define IVssWMDependency_GetWriterId(This,pWriterId) (This)->lpVtbl->GetWriterId(This,pWriterId) +#define IVssWMDependency_GetLogicalPath(This,pbstrLogicalPath) (This)->lpVtbl->GetLogicalPath(This,pbstrLogicalPath) +#define IVssWMDependency_GetComponentName(This,pbstrComponentName) (This)->lpVtbl->GetComponentName(This,pbstrComponentName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssWMDependency_QueryInterface(IVssWMDependency* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssWMDependency_AddRef(IVssWMDependency* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssWMDependency_Release(IVssWMDependency* This) { + return This->lpVtbl->Release(This); +} +/*** IVssWMDependency methods ***/ +static inline HRESULT IVssWMDependency_GetWriterId(IVssWMDependency* This,VSS_ID *pWriterId) { + return This->lpVtbl->GetWriterId(This,pWriterId); +} +static inline HRESULT IVssWMDependency_GetLogicalPath(IVssWMDependency* This,BSTR *pbstrLogicalPath) { + return This->lpVtbl->GetLogicalPath(This,pbstrLogicalPath); +} +static inline HRESULT IVssWMDependency_GetComponentName(IVssWMDependency* This,BSTR *pbstrComponentName) { + return This->lpVtbl->GetComponentName(This,pbstrComponentName); +} +#endif +#endif + +#endif + + +#endif /* __IVssWMDependency_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssComponent interface + */ +#ifndef __IVssComponent_INTERFACE_DEFINED__ +#define __IVssComponent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssComponent, 0xd2c72c96, 0xc121, 0x4518, 0xb6,0x27, 0xe5,0xa9,0x3d,0x01,0x0e,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d2c72c96-c121-4518-b627-e5a93d010ead") +IVssComponent : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetLogicalPath( + BSTR *pbstrPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponentType( + VSS_COMPONENT_TYPE *pct) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponentName( + BSTR *pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupSucceeded( + boolean *pbSucceeded) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMappingCount( + UINT *pcMappings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlternateLocationMapping( + UINT iMapping, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupMetadata( + LPCWSTR wszData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupMetadata( + BSTR *pbstrData) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPartialFile( + LPCWSTR wszPath, + LPCWSTR wszFilename, + LPCWSTR wszRanges, + LPCWSTR wszMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPartialFileCount( + UINT *pcPartialFiles) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPartialFile( + UINT iPartialFile, + BSTR *pbstrPath, + BSTR *pbstrFilename, + BSTR *pbstrRange, + BSTR *pbstrMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsSelectedForRestore( + boolean *pbSelectedForRestore) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAdditionalRestores( + boolean *pbAdditionalRestores) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNewTargetCount( + UINT *pcNewTarget) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNewTarget( + UINT iNewTarget, + IVssWMFiledesc **ppFiledesc) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDirectedTarget( + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilename, + LPCWSTR wszSourceRangeList, + LPCWSTR wszDestinationPath, + LPCWSTR wszDestinationFilename, + LPCWSTR wszDestinationRangeList) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDirectedTargetCount( + UINT *pcDirectedTarget) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDirectedTarget( + UINT iDirectedTarget, + BSTR *pbstrSourcePath, + BSTR *pbstrSourceFileName, + BSTR *pbstrSourceRangeList, + BSTR *pbstrDestinationPath, + BSTR *pbstrDestinationFilename, + BSTR *pbstrDestinationRangeList) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreMetadata( + LPCWSTR wszRestoreMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreMetadata( + BSTR *pbstrRestoreMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreTarget( + VSS_RESTORE_TARGET target) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreTarget( + VSS_RESTORE_TARGET *pTarget) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPreRestoreFailureMsg( + LPCWSTR wszPreRestoreFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreRestoreFailureMsg( + BSTR *pbstrPreRestoreFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPostRestoreFailureMsg( + LPCWSTR wszPostRestoreFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPostRestoreFailureMsg( + BSTR *pbstrPostRestoreFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupStamp( + LPCWSTR wszBackupStamp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupStamp( + BSTR *pbstrBackupStamp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviousBackupStamp( + BSTR *pbstrBackupStamp) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBackupOptions( + BSTR *pbstrBackupOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreOptions( + BSTR *pbstrRestoreOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreSubcomponentCount( + UINT *pcRestoreSubcomponent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreSubcomponent( + UINT iComponent, + BSTR *pbstrLogicalPath, + BSTR *pbstrComponentName, + boolean *pbRepair) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileRestoreStatus( + VSS_FILE_RESTORE_STATUS *pStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDifferencedFilesByLastModifyTime( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + FILETIME ftLastModifyTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDifferencedFilesByLastModifyLSN( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + BSTR bstrLsnString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDifferencedFilesCount( + UINT *pcDifferencedFiles) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDifferencedFile( + UINT iDifferencedFile, + BSTR *pbstrPath, + BSTR *pbstrFilespec, + WINBOOL *pbRecursive, + BSTR *pbstrLsnString, + FILETIME *pftLastModifyTime) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssComponent, 0xd2c72c96, 0xc121, 0x4518, 0xb6,0x27, 0xe5,0xa9,0x3d,0x01,0x0e,0xad) +#endif +#else +typedef struct IVssComponentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssComponent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssComponent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssComponent *This); + + /*** IVssComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLogicalPath)( + IVssComponent *This, + BSTR *pbstrPath); + + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IVssComponent *This, + VSS_COMPONENT_TYPE *pct); + + HRESULT (STDMETHODCALLTYPE *GetComponentName)( + IVssComponent *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)( + IVssComponent *This, + boolean *pbSucceeded); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)( + IVssComponent *This, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssComponent *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)( + IVssComponent *This, + LPCWSTR wszData); + + HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)( + IVssComponent *This, + BSTR *pbstrData); + + HRESULT (STDMETHODCALLTYPE *AddPartialFile)( + IVssComponent *This, + LPCWSTR wszPath, + LPCWSTR wszFilename, + LPCWSTR wszRanges, + LPCWSTR wszMetadata); + + HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)( + IVssComponent *This, + UINT *pcPartialFiles); + + HRESULT (STDMETHODCALLTYPE *GetPartialFile)( + IVssComponent *This, + UINT iPartialFile, + BSTR *pbstrPath, + BSTR *pbstrFilename, + BSTR *pbstrRange, + BSTR *pbstrMetadata); + + HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)( + IVssComponent *This, + boolean *pbSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)( + IVssComponent *This, + boolean *pbAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)( + IVssComponent *This, + UINT *pcNewTarget); + + HRESULT (STDMETHODCALLTYPE *GetNewTarget)( + IVssComponent *This, + UINT iNewTarget, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)( + IVssComponent *This, + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilename, + LPCWSTR wszSourceRangeList, + LPCWSTR wszDestinationPath, + LPCWSTR wszDestinationFilename, + LPCWSTR wszDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)( + IVssComponent *This, + UINT *pcDirectedTarget); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)( + IVssComponent *This, + UINT iDirectedTarget, + BSTR *pbstrSourcePath, + BSTR *pbstrSourceFileName, + BSTR *pbstrSourceRangeList, + BSTR *pbstrDestinationPath, + BSTR *pbstrDestinationFilename, + BSTR *pbstrDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)( + IVssComponent *This, + LPCWSTR wszRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)( + IVssComponent *This, + BSTR *pbstrRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)( + IVssComponent *This, + VSS_RESTORE_TARGET target); + + HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)( + IVssComponent *This, + VSS_RESTORE_TARGET *pTarget); + + HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)( + IVssComponent *This, + LPCWSTR wszPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)( + IVssComponent *This, + BSTR *pbstrPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)( + IVssComponent *This, + LPCWSTR wszPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)( + IVssComponent *This, + BSTR *pbstrPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetBackupStamp)( + IVssComponent *This, + LPCWSTR wszBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupStamp)( + IVssComponent *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)( + IVssComponent *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupOptions)( + IVssComponent *This, + BSTR *pbstrBackupOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)( + IVssComponent *This, + BSTR *pbstrRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)( + IVssComponent *This, + UINT *pcRestoreSubcomponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)( + IVssComponent *This, + UINT iComponent, + BSTR *pbstrLogicalPath, + BSTR *pbstrComponentName, + boolean *pbRepair); + + HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)( + IVssComponent *This, + VSS_FILE_RESTORE_STATUS *pStatus); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)( + IVssComponent *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + FILETIME ftLastModifyTime); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)( + IVssComponent *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + BSTR bstrLsnString); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)( + IVssComponent *This, + UINT *pcDifferencedFiles); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)( + IVssComponent *This, + UINT iDifferencedFile, + BSTR *pbstrPath, + BSTR *pbstrFilespec, + WINBOOL *pbRecursive, + BSTR *pbstrLsnString, + FILETIME *pftLastModifyTime); + + END_INTERFACE +} IVssComponentVtbl; + +interface IVssComponent { + CONST_VTBL IVssComponentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssComponent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssComponent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssComponent_Release(This) (This)->lpVtbl->Release(This) +/*** IVssComponent methods ***/ +#define IVssComponent_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath) +#define IVssComponent_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct) +#define IVssComponent_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName) +#define IVssComponent_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded) +#define IVssComponent_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings) +#define IVssComponent_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssComponent_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData) +#define IVssComponent_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData) +#define IVssComponent_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) +#define IVssComponent_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles) +#define IVssComponent_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) +#define IVssComponent_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore) +#define IVssComponent_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores) +#define IVssComponent_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget) +#define IVssComponent_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc) +#define IVssComponent_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) +#define IVssComponent_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget) +#define IVssComponent_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) +#define IVssComponent_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata) +#define IVssComponent_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata) +#define IVssComponent_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target) +#define IVssComponent_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget) +#define IVssComponent_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) +#define IVssComponent_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) +#define IVssComponent_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) +#define IVssComponent_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) +#define IVssComponent_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp) +#define IVssComponent_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp) +#define IVssComponent_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp) +#define IVssComponent_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions) +#define IVssComponent_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions) +#define IVssComponent_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) +#define IVssComponent_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) +#define IVssComponent_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus) +#define IVssComponent_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) +#define IVssComponent_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) +#define IVssComponent_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles) +#define IVssComponent_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssComponent_QueryInterface(IVssComponent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssComponent_AddRef(IVssComponent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssComponent_Release(IVssComponent* This) { + return This->lpVtbl->Release(This); +} +/*** IVssComponent methods ***/ +static inline HRESULT IVssComponent_GetLogicalPath(IVssComponent* This,BSTR *pbstrPath) { + return This->lpVtbl->GetLogicalPath(This,pbstrPath); +} +static inline HRESULT IVssComponent_GetComponentType(IVssComponent* This,VSS_COMPONENT_TYPE *pct) { + return This->lpVtbl->GetComponentType(This,pct); +} +static inline HRESULT IVssComponent_GetComponentName(IVssComponent* This,BSTR *pbstrName) { + return This->lpVtbl->GetComponentName(This,pbstrName); +} +static inline HRESULT IVssComponent_GetBackupSucceeded(IVssComponent* This,boolean *pbSucceeded) { + return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded); +} +static inline HRESULT IVssComponent_GetAlternateLocationMappingCount(IVssComponent* This,UINT *pcMappings) { + return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings); +} +static inline HRESULT IVssComponent_GetAlternateLocationMapping(IVssComponent* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssComponent_SetBackupMetadata(IVssComponent* This,LPCWSTR wszData) { + return This->lpVtbl->SetBackupMetadata(This,wszData); +} +static inline HRESULT IVssComponent_GetBackupMetadata(IVssComponent* This,BSTR *pbstrData) { + return This->lpVtbl->GetBackupMetadata(This,pbstrData); +} +static inline HRESULT IVssComponent_AddPartialFile(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) { + return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata); +} +static inline HRESULT IVssComponent_GetPartialFileCount(IVssComponent* This,UINT *pcPartialFiles) { + return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles); +} +static inline HRESULT IVssComponent_GetPartialFile(IVssComponent* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) { + return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata); +} +static inline HRESULT IVssComponent_IsSelectedForRestore(IVssComponent* This,boolean *pbSelectedForRestore) { + return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore); +} +static inline HRESULT IVssComponent_GetAdditionalRestores(IVssComponent* This,boolean *pbAdditionalRestores) { + return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores); +} +static inline HRESULT IVssComponent_GetNewTargetCount(IVssComponent* This,UINT *pcNewTarget) { + return This->lpVtbl->GetNewTargetCount(This,pcNewTarget); +} +static inline HRESULT IVssComponent_GetNewTarget(IVssComponent* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc); +} +static inline HRESULT IVssComponent_AddDirectedTarget(IVssComponent* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) { + return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList); +} +static inline HRESULT IVssComponent_GetDirectedTargetCount(IVssComponent* This,UINT *pcDirectedTarget) { + return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget); +} +static inline HRESULT IVssComponent_GetDirectedTarget(IVssComponent* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) { + return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList); +} +static inline HRESULT IVssComponent_SetRestoreMetadata(IVssComponent* This,LPCWSTR wszRestoreMetadata) { + return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata); +} +static inline HRESULT IVssComponent_GetRestoreMetadata(IVssComponent* This,BSTR *pbstrRestoreMetadata) { + return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata); +} +static inline HRESULT IVssComponent_SetRestoreTarget(IVssComponent* This,VSS_RESTORE_TARGET target) { + return This->lpVtbl->SetRestoreTarget(This,target); +} +static inline HRESULT IVssComponent_GetRestoreTarget(IVssComponent* This,VSS_RESTORE_TARGET *pTarget) { + return This->lpVtbl->GetRestoreTarget(This,pTarget); +} +static inline HRESULT IVssComponent_SetPreRestoreFailureMsg(IVssComponent* This,LPCWSTR wszPreRestoreFailureMsg) { + return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg); +} +static inline HRESULT IVssComponent_GetPreRestoreFailureMsg(IVssComponent* This,BSTR *pbstrPreRestoreFailureMsg) { + return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg); +} +static inline HRESULT IVssComponent_SetPostRestoreFailureMsg(IVssComponent* This,LPCWSTR wszPostRestoreFailureMsg) { + return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg); +} +static inline HRESULT IVssComponent_GetPostRestoreFailureMsg(IVssComponent* This,BSTR *pbstrPostRestoreFailureMsg) { + return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg); +} +static inline HRESULT IVssComponent_SetBackupStamp(IVssComponent* This,LPCWSTR wszBackupStamp) { + return This->lpVtbl->SetBackupStamp(This,wszBackupStamp); +} +static inline HRESULT IVssComponent_GetBackupStamp(IVssComponent* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponent_GetPreviousBackupStamp(IVssComponent* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponent_GetBackupOptions(IVssComponent* This,BSTR *pbstrBackupOptions) { + return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions); +} +static inline HRESULT IVssComponent_GetRestoreOptions(IVssComponent* This,BSTR *pbstrRestoreOptions) { + return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions); +} +static inline HRESULT IVssComponent_GetRestoreSubcomponentCount(IVssComponent* This,UINT *pcRestoreSubcomponent) { + return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent); +} +static inline HRESULT IVssComponent_GetRestoreSubcomponent(IVssComponent* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) { + return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair); +} +static inline HRESULT IVssComponent_GetFileRestoreStatus(IVssComponent* This,VSS_FILE_RESTORE_STATUS *pStatus) { + return This->lpVtbl->GetFileRestoreStatus(This,pStatus); +} +static inline HRESULT IVssComponent_AddDifferencedFilesByLastModifyTime(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) { + return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime); +} +static inline HRESULT IVssComponent_AddDifferencedFilesByLastModifyLSN(IVssComponent* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) { + return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString); +} +static inline HRESULT IVssComponent_GetDifferencedFilesCount(IVssComponent* This,UINT *pcDifferencedFiles) { + return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles); +} +static inline HRESULT IVssComponent_GetDifferencedFile(IVssComponent* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) { + return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime); +} +#endif +#endif + +#endif + + +#endif /* __IVssComponent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssWriterComponents interface + */ +#ifndef __IVssWriterComponents_INTERFACE_DEFINED__ +#define __IVssWriterComponents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWriterComponents, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWriterComponents +{ + + BEGIN_INTERFACE + + virtual HRESULT STDMETHODCALLTYPE GetComponentCount( + UINT *pcComponents) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterInfo( + VSS_ID *pidInstance, + VSS_ID *pidWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetComponent( + UINT iComponent, + IVssComponent **ppComponent) = 0; + + END_INTERFACE + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWriterComponents, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWriterComponentsVtbl { + BEGIN_INTERFACE + + /*** IVssWriterComponents methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentCount)( + IVssWriterComponents *This, + UINT *pcComponents); + + HRESULT (STDMETHODCALLTYPE *GetWriterInfo)( + IVssWriterComponents *This, + VSS_ID *pidInstance, + VSS_ID *pidWriter); + + HRESULT (STDMETHODCALLTYPE *GetComponent)( + IVssWriterComponents *This, + UINT iComponent, + IVssComponent **ppComponent); + + END_INTERFACE +} IVssWriterComponentsVtbl; + +interface IVssWriterComponents { + CONST_VTBL IVssWriterComponentsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IVssWriterComponents methods ***/ +#define IVssWriterComponents_GetComponentCount(This,pcComponents) (This)->lpVtbl->GetComponentCount(This,pcComponents) +#define IVssWriterComponents_GetWriterInfo(This,pidInstance,pidWriter) (This)->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter) +#define IVssWriterComponents_GetComponent(This,iComponent,ppComponent) (This)->lpVtbl->GetComponent(This,iComponent,ppComponent) +#else +/*** IVssWriterComponents methods ***/ +static inline HRESULT IVssWriterComponents_GetComponentCount(IVssWriterComponents* This,UINT *pcComponents) { + return This->lpVtbl->GetComponentCount(This,pcComponents); +} +static inline HRESULT IVssWriterComponents_GetWriterInfo(IVssWriterComponents* This,VSS_ID *pidInstance,VSS_ID *pidWriter) { + return This->lpVtbl->GetWriterInfo(This,pidInstance,pidWriter); +} +static inline HRESULT IVssWriterComponents_GetComponent(IVssWriterComponents* This,UINT iComponent,IVssComponent **ppComponent) { + return This->lpVtbl->GetComponent(This,iComponent,ppComponent); +} +#endif +#endif + +#endif + + +#endif /* __IVssWriterComponents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssComponentEx interface + */ +#ifndef __IVssComponentEx_INTERFACE_DEFINED__ +#define __IVssComponentEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssComponentEx, 0x156c8b5e, 0xf131, 0x4bd7, 0x9c,0x97, 0xd1,0x92,0x3b,0xe7,0xe1,0xfa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("156c8b5e-f131-4bd7-9c97-d1923be7e1fa") +IVssComponentEx : public IVssComponent +{ + virtual HRESULT STDMETHODCALLTYPE SetPrepareForBackupFailureMsg( + LPCWSTR wszFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPostSnapshotFailureMsg( + LPCWSTR wszFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrepareForBackupFailureMsg( + BSTR *pbstrFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPostSnapshotFailureMsg( + BSTR *pbstrFailureMsg) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAuthoritativeRestore( + boolean *pbAuth) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRollForward( + VSS_ROLLFORWARD_TYPE *pRollType, + BSTR *pbstrPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestoreName( + BSTR *pbstrName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssComponentEx, 0x156c8b5e, 0xf131, 0x4bd7, 0x9c,0x97, 0xd1,0x92,0x3b,0xe7,0xe1,0xfa) +#endif +#else +typedef struct IVssComponentExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssComponentEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssComponentEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssComponentEx *This); + + /*** IVssComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLogicalPath)( + IVssComponentEx *This, + BSTR *pbstrPath); + + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IVssComponentEx *This, + VSS_COMPONENT_TYPE *pct); + + HRESULT (STDMETHODCALLTYPE *GetComponentName)( + IVssComponentEx *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)( + IVssComponentEx *This, + boolean *pbSucceeded); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)( + IVssComponentEx *This, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssComponentEx *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)( + IVssComponentEx *This, + LPCWSTR wszData); + + HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)( + IVssComponentEx *This, + BSTR *pbstrData); + + HRESULT (STDMETHODCALLTYPE *AddPartialFile)( + IVssComponentEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilename, + LPCWSTR wszRanges, + LPCWSTR wszMetadata); + + HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)( + IVssComponentEx *This, + UINT *pcPartialFiles); + + HRESULT (STDMETHODCALLTYPE *GetPartialFile)( + IVssComponentEx *This, + UINT iPartialFile, + BSTR *pbstrPath, + BSTR *pbstrFilename, + BSTR *pbstrRange, + BSTR *pbstrMetadata); + + HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)( + IVssComponentEx *This, + boolean *pbSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)( + IVssComponentEx *This, + boolean *pbAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)( + IVssComponentEx *This, + UINT *pcNewTarget); + + HRESULT (STDMETHODCALLTYPE *GetNewTarget)( + IVssComponentEx *This, + UINT iNewTarget, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)( + IVssComponentEx *This, + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilename, + LPCWSTR wszSourceRangeList, + LPCWSTR wszDestinationPath, + LPCWSTR wszDestinationFilename, + LPCWSTR wszDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)( + IVssComponentEx *This, + UINT *pcDirectedTarget); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)( + IVssComponentEx *This, + UINT iDirectedTarget, + BSTR *pbstrSourcePath, + BSTR *pbstrSourceFileName, + BSTR *pbstrSourceRangeList, + BSTR *pbstrDestinationPath, + BSTR *pbstrDestinationFilename, + BSTR *pbstrDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)( + IVssComponentEx *This, + LPCWSTR wszRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)( + IVssComponentEx *This, + BSTR *pbstrRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)( + IVssComponentEx *This, + VSS_RESTORE_TARGET target); + + HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)( + IVssComponentEx *This, + VSS_RESTORE_TARGET *pTarget); + + HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)( + IVssComponentEx *This, + LPCWSTR wszPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)( + IVssComponentEx *This, + BSTR *pbstrPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)( + IVssComponentEx *This, + LPCWSTR wszPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)( + IVssComponentEx *This, + BSTR *pbstrPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetBackupStamp)( + IVssComponentEx *This, + LPCWSTR wszBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupStamp)( + IVssComponentEx *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)( + IVssComponentEx *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupOptions)( + IVssComponentEx *This, + BSTR *pbstrBackupOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)( + IVssComponentEx *This, + BSTR *pbstrRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)( + IVssComponentEx *This, + UINT *pcRestoreSubcomponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)( + IVssComponentEx *This, + UINT iComponent, + BSTR *pbstrLogicalPath, + BSTR *pbstrComponentName, + boolean *pbRepair); + + HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)( + IVssComponentEx *This, + VSS_FILE_RESTORE_STATUS *pStatus); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)( + IVssComponentEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + FILETIME ftLastModifyTime); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)( + IVssComponentEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + BSTR bstrLsnString); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)( + IVssComponentEx *This, + UINT *pcDifferencedFiles); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)( + IVssComponentEx *This, + UINT iDifferencedFile, + BSTR *pbstrPath, + BSTR *pbstrFilespec, + WINBOOL *pbRecursive, + BSTR *pbstrLsnString, + FILETIME *pftLastModifyTime); + + /*** IVssComponentEx methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPrepareForBackupFailureMsg)( + IVssComponentEx *This, + LPCWSTR wszFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetPostSnapshotFailureMsg)( + IVssComponentEx *This, + LPCWSTR wszFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPrepareForBackupFailureMsg)( + IVssComponentEx *This, + BSTR *pbstrFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPostSnapshotFailureMsg)( + IVssComponentEx *This, + BSTR *pbstrFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetAuthoritativeRestore)( + IVssComponentEx *This, + boolean *pbAuth); + + HRESULT (STDMETHODCALLTYPE *GetRollForward)( + IVssComponentEx *This, + VSS_ROLLFORWARD_TYPE *pRollType, + BSTR *pbstrPoint); + + HRESULT (STDMETHODCALLTYPE *GetRestoreName)( + IVssComponentEx *This, + BSTR *pbstrName); + + END_INTERFACE +} IVssComponentExVtbl; + +interface IVssComponentEx { + CONST_VTBL IVssComponentExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssComponentEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssComponentEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssComponentEx_Release(This) (This)->lpVtbl->Release(This) +/*** IVssComponent methods ***/ +#define IVssComponentEx_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath) +#define IVssComponentEx_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct) +#define IVssComponentEx_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName) +#define IVssComponentEx_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded) +#define IVssComponentEx_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings) +#define IVssComponentEx_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssComponentEx_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData) +#define IVssComponentEx_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData) +#define IVssComponentEx_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) +#define IVssComponentEx_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles) +#define IVssComponentEx_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) +#define IVssComponentEx_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore) +#define IVssComponentEx_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores) +#define IVssComponentEx_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget) +#define IVssComponentEx_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc) +#define IVssComponentEx_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) +#define IVssComponentEx_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget) +#define IVssComponentEx_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) +#define IVssComponentEx_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata) +#define IVssComponentEx_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata) +#define IVssComponentEx_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target) +#define IVssComponentEx_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget) +#define IVssComponentEx_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) +#define IVssComponentEx_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) +#define IVssComponentEx_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) +#define IVssComponentEx_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) +#define IVssComponentEx_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp) +#define IVssComponentEx_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp) +#define IVssComponentEx_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp) +#define IVssComponentEx_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions) +#define IVssComponentEx_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions) +#define IVssComponentEx_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) +#define IVssComponentEx_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) +#define IVssComponentEx_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus) +#define IVssComponentEx_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) +#define IVssComponentEx_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) +#define IVssComponentEx_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles) +#define IVssComponentEx_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) +/*** IVssComponentEx methods ***/ +#define IVssComponentEx_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg) +#define IVssComponentEx_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg) +#define IVssComponentEx_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) +#define IVssComponentEx_GetPostSnapshotFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg) +#define IVssComponentEx_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth) +#define IVssComponentEx_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint) +#define IVssComponentEx_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssComponentEx_QueryInterface(IVssComponentEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssComponentEx_AddRef(IVssComponentEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssComponentEx_Release(IVssComponentEx* This) { + return This->lpVtbl->Release(This); +} +/*** IVssComponent methods ***/ +static inline HRESULT IVssComponentEx_GetLogicalPath(IVssComponentEx* This,BSTR *pbstrPath) { + return This->lpVtbl->GetLogicalPath(This,pbstrPath); +} +static inline HRESULT IVssComponentEx_GetComponentType(IVssComponentEx* This,VSS_COMPONENT_TYPE *pct) { + return This->lpVtbl->GetComponentType(This,pct); +} +static inline HRESULT IVssComponentEx_GetComponentName(IVssComponentEx* This,BSTR *pbstrName) { + return This->lpVtbl->GetComponentName(This,pbstrName); +} +static inline HRESULT IVssComponentEx_GetBackupSucceeded(IVssComponentEx* This,boolean *pbSucceeded) { + return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded); +} +static inline HRESULT IVssComponentEx_GetAlternateLocationMappingCount(IVssComponentEx* This,UINT *pcMappings) { + return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings); +} +static inline HRESULT IVssComponentEx_GetAlternateLocationMapping(IVssComponentEx* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssComponentEx_SetBackupMetadata(IVssComponentEx* This,LPCWSTR wszData) { + return This->lpVtbl->SetBackupMetadata(This,wszData); +} +static inline HRESULT IVssComponentEx_GetBackupMetadata(IVssComponentEx* This,BSTR *pbstrData) { + return This->lpVtbl->GetBackupMetadata(This,pbstrData); +} +static inline HRESULT IVssComponentEx_AddPartialFile(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) { + return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata); +} +static inline HRESULT IVssComponentEx_GetPartialFileCount(IVssComponentEx* This,UINT *pcPartialFiles) { + return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles); +} +static inline HRESULT IVssComponentEx_GetPartialFile(IVssComponentEx* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) { + return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata); +} +static inline HRESULT IVssComponentEx_IsSelectedForRestore(IVssComponentEx* This,boolean *pbSelectedForRestore) { + return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore); +} +static inline HRESULT IVssComponentEx_GetAdditionalRestores(IVssComponentEx* This,boolean *pbAdditionalRestores) { + return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores); +} +static inline HRESULT IVssComponentEx_GetNewTargetCount(IVssComponentEx* This,UINT *pcNewTarget) { + return This->lpVtbl->GetNewTargetCount(This,pcNewTarget); +} +static inline HRESULT IVssComponentEx_GetNewTarget(IVssComponentEx* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc); +} +static inline HRESULT IVssComponentEx_AddDirectedTarget(IVssComponentEx* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) { + return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList); +} +static inline HRESULT IVssComponentEx_GetDirectedTargetCount(IVssComponentEx* This,UINT *pcDirectedTarget) { + return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget); +} +static inline HRESULT IVssComponentEx_GetDirectedTarget(IVssComponentEx* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) { + return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList); +} +static inline HRESULT IVssComponentEx_SetRestoreMetadata(IVssComponentEx* This,LPCWSTR wszRestoreMetadata) { + return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata); +} +static inline HRESULT IVssComponentEx_GetRestoreMetadata(IVssComponentEx* This,BSTR *pbstrRestoreMetadata) { + return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata); +} +static inline HRESULT IVssComponentEx_SetRestoreTarget(IVssComponentEx* This,VSS_RESTORE_TARGET target) { + return This->lpVtbl->SetRestoreTarget(This,target); +} +static inline HRESULT IVssComponentEx_GetRestoreTarget(IVssComponentEx* This,VSS_RESTORE_TARGET *pTarget) { + return This->lpVtbl->GetRestoreTarget(This,pTarget); +} +static inline HRESULT IVssComponentEx_SetPreRestoreFailureMsg(IVssComponentEx* This,LPCWSTR wszPreRestoreFailureMsg) { + return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx_GetPreRestoreFailureMsg(IVssComponentEx* This,BSTR *pbstrPreRestoreFailureMsg) { + return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx_SetPostRestoreFailureMsg(IVssComponentEx* This,LPCWSTR wszPostRestoreFailureMsg) { + return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx_GetPostRestoreFailureMsg(IVssComponentEx* This,BSTR *pbstrPostRestoreFailureMsg) { + return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx_SetBackupStamp(IVssComponentEx* This,LPCWSTR wszBackupStamp) { + return This->lpVtbl->SetBackupStamp(This,wszBackupStamp); +} +static inline HRESULT IVssComponentEx_GetBackupStamp(IVssComponentEx* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponentEx_GetPreviousBackupStamp(IVssComponentEx* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponentEx_GetBackupOptions(IVssComponentEx* This,BSTR *pbstrBackupOptions) { + return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions); +} +static inline HRESULT IVssComponentEx_GetRestoreOptions(IVssComponentEx* This,BSTR *pbstrRestoreOptions) { + return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions); +} +static inline HRESULT IVssComponentEx_GetRestoreSubcomponentCount(IVssComponentEx* This,UINT *pcRestoreSubcomponent) { + return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent); +} +static inline HRESULT IVssComponentEx_GetRestoreSubcomponent(IVssComponentEx* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) { + return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair); +} +static inline HRESULT IVssComponentEx_GetFileRestoreStatus(IVssComponentEx* This,VSS_FILE_RESTORE_STATUS *pStatus) { + return This->lpVtbl->GetFileRestoreStatus(This,pStatus); +} +static inline HRESULT IVssComponentEx_AddDifferencedFilesByLastModifyTime(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) { + return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime); +} +static inline HRESULT IVssComponentEx_AddDifferencedFilesByLastModifyLSN(IVssComponentEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) { + return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString); +} +static inline HRESULT IVssComponentEx_GetDifferencedFilesCount(IVssComponentEx* This,UINT *pcDifferencedFiles) { + return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles); +} +static inline HRESULT IVssComponentEx_GetDifferencedFile(IVssComponentEx* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) { + return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime); +} +/*** IVssComponentEx methods ***/ +static inline HRESULT IVssComponentEx_SetPrepareForBackupFailureMsg(IVssComponentEx* This,LPCWSTR wszFailureMsg) { + return This->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg); +} +static inline HRESULT IVssComponentEx_SetPostSnapshotFailureMsg(IVssComponentEx* This,LPCWSTR wszFailureMsg) { + return This->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg); +} +static inline HRESULT IVssComponentEx_GetPrepareForBackupFailureMsg(IVssComponentEx* This,BSTR *pbstrFailureMsg) { + return This->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg); +} +static inline HRESULT IVssComponentEx_GetPostSnapshotFailureMsg(IVssComponentEx* This,BSTR *pbstrFailureMsg) { + return This->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg); +} +static inline HRESULT IVssComponentEx_GetAuthoritativeRestore(IVssComponentEx* This,boolean *pbAuth) { + return This->lpVtbl->GetAuthoritativeRestore(This,pbAuth); +} +static inline HRESULT IVssComponentEx_GetRollForward(IVssComponentEx* This,VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) { + return This->lpVtbl->GetRollForward(This,pRollType,pbstrPoint); +} +static inline HRESULT IVssComponentEx_GetRestoreName(IVssComponentEx* This,BSTR *pbstrName) { + return This->lpVtbl->GetRestoreName(This,pbstrName); +} +#endif +#endif + +#endif + + +#endif /* __IVssComponentEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssComponentEx2 interface + */ +#ifndef __IVssComponentEx2_INTERFACE_DEFINED__ +#define __IVssComponentEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssComponentEx2, 0x3b5be0f2, 0x07a9, 0x4e4b, 0xbd,0xd3, 0xcf,0xdc,0x8e,0x2c,0x0d,0x2d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3b5be0f2-07a9-4e4b-bdd3-cfdc8e2c0d2d") +IVssComponentEx2 : public IVssComponentEx +{ + virtual HRESULT STDMETHODCALLTYPE SetFailure( + HRESULT hr, + HRESULT hrApplication, + LPCWSTR wszApplicationMessage, + DWORD dwReserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFailure( + HRESULT *phr, + HRESULT *phrApplication, + BSTR *pbstrApplicationMessage, + DWORD *pdwReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssComponentEx2, 0x3b5be0f2, 0x07a9, 0x4e4b, 0xbd,0xd3, 0xcf,0xdc,0x8e,0x2c,0x0d,0x2d) +#endif +#else +typedef struct IVssComponentEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssComponentEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssComponentEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssComponentEx2 *This); + + /*** IVssComponent methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLogicalPath)( + IVssComponentEx2 *This, + BSTR *pbstrPath); + + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IVssComponentEx2 *This, + VSS_COMPONENT_TYPE *pct); + + HRESULT (STDMETHODCALLTYPE *GetComponentName)( + IVssComponentEx2 *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *GetBackupSucceeded)( + IVssComponentEx2 *This, + boolean *pbSucceeded); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMappingCount)( + IVssComponentEx2 *This, + UINT *pcMappings); + + HRESULT (STDMETHODCALLTYPE *GetAlternateLocationMapping)( + IVssComponentEx2 *This, + UINT iMapping, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *SetBackupMetadata)( + IVssComponentEx2 *This, + LPCWSTR wszData); + + HRESULT (STDMETHODCALLTYPE *GetBackupMetadata)( + IVssComponentEx2 *This, + BSTR *pbstrData); + + HRESULT (STDMETHODCALLTYPE *AddPartialFile)( + IVssComponentEx2 *This, + LPCWSTR wszPath, + LPCWSTR wszFilename, + LPCWSTR wszRanges, + LPCWSTR wszMetadata); + + HRESULT (STDMETHODCALLTYPE *GetPartialFileCount)( + IVssComponentEx2 *This, + UINT *pcPartialFiles); + + HRESULT (STDMETHODCALLTYPE *GetPartialFile)( + IVssComponentEx2 *This, + UINT iPartialFile, + BSTR *pbstrPath, + BSTR *pbstrFilename, + BSTR *pbstrRange, + BSTR *pbstrMetadata); + + HRESULT (STDMETHODCALLTYPE *IsSelectedForRestore)( + IVssComponentEx2 *This, + boolean *pbSelectedForRestore); + + HRESULT (STDMETHODCALLTYPE *GetAdditionalRestores)( + IVssComponentEx2 *This, + boolean *pbAdditionalRestores); + + HRESULT (STDMETHODCALLTYPE *GetNewTargetCount)( + IVssComponentEx2 *This, + UINT *pcNewTarget); + + HRESULT (STDMETHODCALLTYPE *GetNewTarget)( + IVssComponentEx2 *This, + UINT iNewTarget, + IVssWMFiledesc **ppFiledesc); + + HRESULT (STDMETHODCALLTYPE *AddDirectedTarget)( + IVssComponentEx2 *This, + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilename, + LPCWSTR wszSourceRangeList, + LPCWSTR wszDestinationPath, + LPCWSTR wszDestinationFilename, + LPCWSTR wszDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTargetCount)( + IVssComponentEx2 *This, + UINT *pcDirectedTarget); + + HRESULT (STDMETHODCALLTYPE *GetDirectedTarget)( + IVssComponentEx2 *This, + UINT iDirectedTarget, + BSTR *pbstrSourcePath, + BSTR *pbstrSourceFileName, + BSTR *pbstrSourceRangeList, + BSTR *pbstrDestinationPath, + BSTR *pbstrDestinationFilename, + BSTR *pbstrDestinationRangeList); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMetadata)( + IVssComponentEx2 *This, + LPCWSTR wszRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *GetRestoreMetadata)( + IVssComponentEx2 *This, + BSTR *pbstrRestoreMetadata); + + HRESULT (STDMETHODCALLTYPE *SetRestoreTarget)( + IVssComponentEx2 *This, + VSS_RESTORE_TARGET target); + + HRESULT (STDMETHODCALLTYPE *GetRestoreTarget)( + IVssComponentEx2 *This, + VSS_RESTORE_TARGET *pTarget); + + HRESULT (STDMETHODCALLTYPE *SetPreRestoreFailureMsg)( + IVssComponentEx2 *This, + LPCWSTR wszPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPreRestoreFailureMsg)( + IVssComponentEx2 *This, + BSTR *pbstrPreRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetPostRestoreFailureMsg)( + IVssComponentEx2 *This, + LPCWSTR wszPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPostRestoreFailureMsg)( + IVssComponentEx2 *This, + BSTR *pbstrPostRestoreFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetBackupStamp)( + IVssComponentEx2 *This, + LPCWSTR wszBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupStamp)( + IVssComponentEx2 *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetPreviousBackupStamp)( + IVssComponentEx2 *This, + BSTR *pbstrBackupStamp); + + HRESULT (STDMETHODCALLTYPE *GetBackupOptions)( + IVssComponentEx2 *This, + BSTR *pbstrBackupOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreOptions)( + IVssComponentEx2 *This, + BSTR *pbstrRestoreOptions); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponentCount)( + IVssComponentEx2 *This, + UINT *pcRestoreSubcomponent); + + HRESULT (STDMETHODCALLTYPE *GetRestoreSubcomponent)( + IVssComponentEx2 *This, + UINT iComponent, + BSTR *pbstrLogicalPath, + BSTR *pbstrComponentName, + boolean *pbRepair); + + HRESULT (STDMETHODCALLTYPE *GetFileRestoreStatus)( + IVssComponentEx2 *This, + VSS_FILE_RESTORE_STATUS *pStatus); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyTime)( + IVssComponentEx2 *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + FILETIME ftLastModifyTime); + + HRESULT (STDMETHODCALLTYPE *AddDifferencedFilesByLastModifyLSN)( + IVssComponentEx2 *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + WINBOOL bRecursive, + BSTR bstrLsnString); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFilesCount)( + IVssComponentEx2 *This, + UINT *pcDifferencedFiles); + + HRESULT (STDMETHODCALLTYPE *GetDifferencedFile)( + IVssComponentEx2 *This, + UINT iDifferencedFile, + BSTR *pbstrPath, + BSTR *pbstrFilespec, + WINBOOL *pbRecursive, + BSTR *pbstrLsnString, + FILETIME *pftLastModifyTime); + + /*** IVssComponentEx methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPrepareForBackupFailureMsg)( + IVssComponentEx2 *This, + LPCWSTR wszFailureMsg); + + HRESULT (STDMETHODCALLTYPE *SetPostSnapshotFailureMsg)( + IVssComponentEx2 *This, + LPCWSTR wszFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPrepareForBackupFailureMsg)( + IVssComponentEx2 *This, + BSTR *pbstrFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetPostSnapshotFailureMsg)( + IVssComponentEx2 *This, + BSTR *pbstrFailureMsg); + + HRESULT (STDMETHODCALLTYPE *GetAuthoritativeRestore)( + IVssComponentEx2 *This, + boolean *pbAuth); + + HRESULT (STDMETHODCALLTYPE *GetRollForward)( + IVssComponentEx2 *This, + VSS_ROLLFORWARD_TYPE *pRollType, + BSTR *pbstrPoint); + + HRESULT (STDMETHODCALLTYPE *GetRestoreName)( + IVssComponentEx2 *This, + BSTR *pbstrName); + + /*** IVssComponentEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFailure)( + IVssComponentEx2 *This, + HRESULT hr, + HRESULT hrApplication, + LPCWSTR wszApplicationMessage, + DWORD dwReserved); + + HRESULT (STDMETHODCALLTYPE *GetFailure)( + IVssComponentEx2 *This, + HRESULT *phr, + HRESULT *phrApplication, + BSTR *pbstrApplicationMessage, + DWORD *pdwReserved); + + END_INTERFACE +} IVssComponentEx2Vtbl; + +interface IVssComponentEx2 { + CONST_VTBL IVssComponentEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssComponentEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssComponentEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssComponentEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IVssComponent methods ***/ +#define IVssComponentEx2_GetLogicalPath(This,pbstrPath) (This)->lpVtbl->GetLogicalPath(This,pbstrPath) +#define IVssComponentEx2_GetComponentType(This,pct) (This)->lpVtbl->GetComponentType(This,pct) +#define IVssComponentEx2_GetComponentName(This,pbstrName) (This)->lpVtbl->GetComponentName(This,pbstrName) +#define IVssComponentEx2_GetBackupSucceeded(This,pbSucceeded) (This)->lpVtbl->GetBackupSucceeded(This,pbSucceeded) +#define IVssComponentEx2_GetAlternateLocationMappingCount(This,pcMappings) (This)->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings) +#define IVssComponentEx2_GetAlternateLocationMapping(This,iMapping,ppFiledesc) (This)->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc) +#define IVssComponentEx2_SetBackupMetadata(This,wszData) (This)->lpVtbl->SetBackupMetadata(This,wszData) +#define IVssComponentEx2_GetBackupMetadata(This,pbstrData) (This)->lpVtbl->GetBackupMetadata(This,pbstrData) +#define IVssComponentEx2_AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) (This)->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata) +#define IVssComponentEx2_GetPartialFileCount(This,pcPartialFiles) (This)->lpVtbl->GetPartialFileCount(This,pcPartialFiles) +#define IVssComponentEx2_GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) (This)->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata) +#define IVssComponentEx2_IsSelectedForRestore(This,pbSelectedForRestore) (This)->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore) +#define IVssComponentEx2_GetAdditionalRestores(This,pbAdditionalRestores) (This)->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores) +#define IVssComponentEx2_GetNewTargetCount(This,pcNewTarget) (This)->lpVtbl->GetNewTargetCount(This,pcNewTarget) +#define IVssComponentEx2_GetNewTarget(This,iNewTarget,ppFiledesc) (This)->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc) +#define IVssComponentEx2_AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) (This)->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList) +#define IVssComponentEx2_GetDirectedTargetCount(This,pcDirectedTarget) (This)->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget) +#define IVssComponentEx2_GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) (This)->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList) +#define IVssComponentEx2_SetRestoreMetadata(This,wszRestoreMetadata) (This)->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata) +#define IVssComponentEx2_GetRestoreMetadata(This,pbstrRestoreMetadata) (This)->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata) +#define IVssComponentEx2_SetRestoreTarget(This,target) (This)->lpVtbl->SetRestoreTarget(This,target) +#define IVssComponentEx2_GetRestoreTarget(This,pTarget) (This)->lpVtbl->GetRestoreTarget(This,pTarget) +#define IVssComponentEx2_SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) (This)->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg) +#define IVssComponentEx2_GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) (This)->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg) +#define IVssComponentEx2_SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) (This)->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg) +#define IVssComponentEx2_GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) (This)->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg) +#define IVssComponentEx2_SetBackupStamp(This,wszBackupStamp) (This)->lpVtbl->SetBackupStamp(This,wszBackupStamp) +#define IVssComponentEx2_GetBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetBackupStamp(This,pbstrBackupStamp) +#define IVssComponentEx2_GetPreviousBackupStamp(This,pbstrBackupStamp) (This)->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp) +#define IVssComponentEx2_GetBackupOptions(This,pbstrBackupOptions) (This)->lpVtbl->GetBackupOptions(This,pbstrBackupOptions) +#define IVssComponentEx2_GetRestoreOptions(This,pbstrRestoreOptions) (This)->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions) +#define IVssComponentEx2_GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) (This)->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent) +#define IVssComponentEx2_GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) (This)->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair) +#define IVssComponentEx2_GetFileRestoreStatus(This,pStatus) (This)->lpVtbl->GetFileRestoreStatus(This,pStatus) +#define IVssComponentEx2_AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) (This)->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime) +#define IVssComponentEx2_AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) (This)->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString) +#define IVssComponentEx2_GetDifferencedFilesCount(This,pcDifferencedFiles) (This)->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles) +#define IVssComponentEx2_GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) (This)->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime) +/*** IVssComponentEx methods ***/ +#define IVssComponentEx2_SetPrepareForBackupFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg) +#define IVssComponentEx2_SetPostSnapshotFailureMsg(This,wszFailureMsg) (This)->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg) +#define IVssComponentEx2_GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg) +#define IVssComponentEx2_GetPostSnapshotFailureMsg(This,pbstrFailureMsg) (This)->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg) +#define IVssComponentEx2_GetAuthoritativeRestore(This,pbAuth) (This)->lpVtbl->GetAuthoritativeRestore(This,pbAuth) +#define IVssComponentEx2_GetRollForward(This,pRollType,pbstrPoint) (This)->lpVtbl->GetRollForward(This,pRollType,pbstrPoint) +#define IVssComponentEx2_GetRestoreName(This,pbstrName) (This)->lpVtbl->GetRestoreName(This,pbstrName) +/*** IVssComponentEx2 methods ***/ +#define IVssComponentEx2_SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) (This)->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved) +#define IVssComponentEx2_GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) (This)->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssComponentEx2_QueryInterface(IVssComponentEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssComponentEx2_AddRef(IVssComponentEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssComponentEx2_Release(IVssComponentEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IVssComponent methods ***/ +static inline HRESULT IVssComponentEx2_GetLogicalPath(IVssComponentEx2* This,BSTR *pbstrPath) { + return This->lpVtbl->GetLogicalPath(This,pbstrPath); +} +static inline HRESULT IVssComponentEx2_GetComponentType(IVssComponentEx2* This,VSS_COMPONENT_TYPE *pct) { + return This->lpVtbl->GetComponentType(This,pct); +} +static inline HRESULT IVssComponentEx2_GetComponentName(IVssComponentEx2* This,BSTR *pbstrName) { + return This->lpVtbl->GetComponentName(This,pbstrName); +} +static inline HRESULT IVssComponentEx2_GetBackupSucceeded(IVssComponentEx2* This,boolean *pbSucceeded) { + return This->lpVtbl->GetBackupSucceeded(This,pbSucceeded); +} +static inline HRESULT IVssComponentEx2_GetAlternateLocationMappingCount(IVssComponentEx2* This,UINT *pcMappings) { + return This->lpVtbl->GetAlternateLocationMappingCount(This,pcMappings); +} +static inline HRESULT IVssComponentEx2_GetAlternateLocationMapping(IVssComponentEx2* This,UINT iMapping,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetAlternateLocationMapping(This,iMapping,ppFiledesc); +} +static inline HRESULT IVssComponentEx2_SetBackupMetadata(IVssComponentEx2* This,LPCWSTR wszData) { + return This->lpVtbl->SetBackupMetadata(This,wszData); +} +static inline HRESULT IVssComponentEx2_GetBackupMetadata(IVssComponentEx2* This,BSTR *pbstrData) { + return This->lpVtbl->GetBackupMetadata(This,pbstrData); +} +static inline HRESULT IVssComponentEx2_AddPartialFile(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilename,LPCWSTR wszRanges,LPCWSTR wszMetadata) { + return This->lpVtbl->AddPartialFile(This,wszPath,wszFilename,wszRanges,wszMetadata); +} +static inline HRESULT IVssComponentEx2_GetPartialFileCount(IVssComponentEx2* This,UINT *pcPartialFiles) { + return This->lpVtbl->GetPartialFileCount(This,pcPartialFiles); +} +static inline HRESULT IVssComponentEx2_GetPartialFile(IVssComponentEx2* This,UINT iPartialFile,BSTR *pbstrPath,BSTR *pbstrFilename,BSTR *pbstrRange,BSTR *pbstrMetadata) { + return This->lpVtbl->GetPartialFile(This,iPartialFile,pbstrPath,pbstrFilename,pbstrRange,pbstrMetadata); +} +static inline HRESULT IVssComponentEx2_IsSelectedForRestore(IVssComponentEx2* This,boolean *pbSelectedForRestore) { + return This->lpVtbl->IsSelectedForRestore(This,pbSelectedForRestore); +} +static inline HRESULT IVssComponentEx2_GetAdditionalRestores(IVssComponentEx2* This,boolean *pbAdditionalRestores) { + return This->lpVtbl->GetAdditionalRestores(This,pbAdditionalRestores); +} +static inline HRESULT IVssComponentEx2_GetNewTargetCount(IVssComponentEx2* This,UINT *pcNewTarget) { + return This->lpVtbl->GetNewTargetCount(This,pcNewTarget); +} +static inline HRESULT IVssComponentEx2_GetNewTarget(IVssComponentEx2* This,UINT iNewTarget,IVssWMFiledesc **ppFiledesc) { + return This->lpVtbl->GetNewTarget(This,iNewTarget,ppFiledesc); +} +static inline HRESULT IVssComponentEx2_AddDirectedTarget(IVssComponentEx2* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilename,LPCWSTR wszSourceRangeList,LPCWSTR wszDestinationPath,LPCWSTR wszDestinationFilename,LPCWSTR wszDestinationRangeList) { + return This->lpVtbl->AddDirectedTarget(This,wszSourcePath,wszSourceFilename,wszSourceRangeList,wszDestinationPath,wszDestinationFilename,wszDestinationRangeList); +} +static inline HRESULT IVssComponentEx2_GetDirectedTargetCount(IVssComponentEx2* This,UINT *pcDirectedTarget) { + return This->lpVtbl->GetDirectedTargetCount(This,pcDirectedTarget); +} +static inline HRESULT IVssComponentEx2_GetDirectedTarget(IVssComponentEx2* This,UINT iDirectedTarget,BSTR *pbstrSourcePath,BSTR *pbstrSourceFileName,BSTR *pbstrSourceRangeList,BSTR *pbstrDestinationPath,BSTR *pbstrDestinationFilename,BSTR *pbstrDestinationRangeList) { + return This->lpVtbl->GetDirectedTarget(This,iDirectedTarget,pbstrSourcePath,pbstrSourceFileName,pbstrSourceRangeList,pbstrDestinationPath,pbstrDestinationFilename,pbstrDestinationRangeList); +} +static inline HRESULT IVssComponentEx2_SetRestoreMetadata(IVssComponentEx2* This,LPCWSTR wszRestoreMetadata) { + return This->lpVtbl->SetRestoreMetadata(This,wszRestoreMetadata); +} +static inline HRESULT IVssComponentEx2_GetRestoreMetadata(IVssComponentEx2* This,BSTR *pbstrRestoreMetadata) { + return This->lpVtbl->GetRestoreMetadata(This,pbstrRestoreMetadata); +} +static inline HRESULT IVssComponentEx2_SetRestoreTarget(IVssComponentEx2* This,VSS_RESTORE_TARGET target) { + return This->lpVtbl->SetRestoreTarget(This,target); +} +static inline HRESULT IVssComponentEx2_GetRestoreTarget(IVssComponentEx2* This,VSS_RESTORE_TARGET *pTarget) { + return This->lpVtbl->GetRestoreTarget(This,pTarget); +} +static inline HRESULT IVssComponentEx2_SetPreRestoreFailureMsg(IVssComponentEx2* This,LPCWSTR wszPreRestoreFailureMsg) { + return This->lpVtbl->SetPreRestoreFailureMsg(This,wszPreRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx2_GetPreRestoreFailureMsg(IVssComponentEx2* This,BSTR *pbstrPreRestoreFailureMsg) { + return This->lpVtbl->GetPreRestoreFailureMsg(This,pbstrPreRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx2_SetPostRestoreFailureMsg(IVssComponentEx2* This,LPCWSTR wszPostRestoreFailureMsg) { + return This->lpVtbl->SetPostRestoreFailureMsg(This,wszPostRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx2_GetPostRestoreFailureMsg(IVssComponentEx2* This,BSTR *pbstrPostRestoreFailureMsg) { + return This->lpVtbl->GetPostRestoreFailureMsg(This,pbstrPostRestoreFailureMsg); +} +static inline HRESULT IVssComponentEx2_SetBackupStamp(IVssComponentEx2* This,LPCWSTR wszBackupStamp) { + return This->lpVtbl->SetBackupStamp(This,wszBackupStamp); +} +static inline HRESULT IVssComponentEx2_GetBackupStamp(IVssComponentEx2* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponentEx2_GetPreviousBackupStamp(IVssComponentEx2* This,BSTR *pbstrBackupStamp) { + return This->lpVtbl->GetPreviousBackupStamp(This,pbstrBackupStamp); +} +static inline HRESULT IVssComponentEx2_GetBackupOptions(IVssComponentEx2* This,BSTR *pbstrBackupOptions) { + return This->lpVtbl->GetBackupOptions(This,pbstrBackupOptions); +} +static inline HRESULT IVssComponentEx2_GetRestoreOptions(IVssComponentEx2* This,BSTR *pbstrRestoreOptions) { + return This->lpVtbl->GetRestoreOptions(This,pbstrRestoreOptions); +} +static inline HRESULT IVssComponentEx2_GetRestoreSubcomponentCount(IVssComponentEx2* This,UINT *pcRestoreSubcomponent) { + return This->lpVtbl->GetRestoreSubcomponentCount(This,pcRestoreSubcomponent); +} +static inline HRESULT IVssComponentEx2_GetRestoreSubcomponent(IVssComponentEx2* This,UINT iComponent,BSTR *pbstrLogicalPath,BSTR *pbstrComponentName,boolean *pbRepair) { + return This->lpVtbl->GetRestoreSubcomponent(This,iComponent,pbstrLogicalPath,pbstrComponentName,pbRepair); +} +static inline HRESULT IVssComponentEx2_GetFileRestoreStatus(IVssComponentEx2* This,VSS_FILE_RESTORE_STATUS *pStatus) { + return This->lpVtbl->GetFileRestoreStatus(This,pStatus); +} +static inline HRESULT IVssComponentEx2_AddDifferencedFilesByLastModifyTime(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,FILETIME ftLastModifyTime) { + return This->lpVtbl->AddDifferencedFilesByLastModifyTime(This,wszPath,wszFilespec,bRecursive,ftLastModifyTime); +} +static inline HRESULT IVssComponentEx2_AddDifferencedFilesByLastModifyLSN(IVssComponentEx2* This,LPCWSTR wszPath,LPCWSTR wszFilespec,WINBOOL bRecursive,BSTR bstrLsnString) { + return This->lpVtbl->AddDifferencedFilesByLastModifyLSN(This,wszPath,wszFilespec,bRecursive,bstrLsnString); +} +static inline HRESULT IVssComponentEx2_GetDifferencedFilesCount(IVssComponentEx2* This,UINT *pcDifferencedFiles) { + return This->lpVtbl->GetDifferencedFilesCount(This,pcDifferencedFiles); +} +static inline HRESULT IVssComponentEx2_GetDifferencedFile(IVssComponentEx2* This,UINT iDifferencedFile,BSTR *pbstrPath,BSTR *pbstrFilespec,WINBOOL *pbRecursive,BSTR *pbstrLsnString,FILETIME *pftLastModifyTime) { + return This->lpVtbl->GetDifferencedFile(This,iDifferencedFile,pbstrPath,pbstrFilespec,pbRecursive,pbstrLsnString,pftLastModifyTime); +} +/*** IVssComponentEx methods ***/ +static inline HRESULT IVssComponentEx2_SetPrepareForBackupFailureMsg(IVssComponentEx2* This,LPCWSTR wszFailureMsg) { + return This->lpVtbl->SetPrepareForBackupFailureMsg(This,wszFailureMsg); +} +static inline HRESULT IVssComponentEx2_SetPostSnapshotFailureMsg(IVssComponentEx2* This,LPCWSTR wszFailureMsg) { + return This->lpVtbl->SetPostSnapshotFailureMsg(This,wszFailureMsg); +} +static inline HRESULT IVssComponentEx2_GetPrepareForBackupFailureMsg(IVssComponentEx2* This,BSTR *pbstrFailureMsg) { + return This->lpVtbl->GetPrepareForBackupFailureMsg(This,pbstrFailureMsg); +} +static inline HRESULT IVssComponentEx2_GetPostSnapshotFailureMsg(IVssComponentEx2* This,BSTR *pbstrFailureMsg) { + return This->lpVtbl->GetPostSnapshotFailureMsg(This,pbstrFailureMsg); +} +static inline HRESULT IVssComponentEx2_GetAuthoritativeRestore(IVssComponentEx2* This,boolean *pbAuth) { + return This->lpVtbl->GetAuthoritativeRestore(This,pbAuth); +} +static inline HRESULT IVssComponentEx2_GetRollForward(IVssComponentEx2* This,VSS_ROLLFORWARD_TYPE *pRollType,BSTR *pbstrPoint) { + return This->lpVtbl->GetRollForward(This,pRollType,pbstrPoint); +} +static inline HRESULT IVssComponentEx2_GetRestoreName(IVssComponentEx2* This,BSTR *pbstrName) { + return This->lpVtbl->GetRestoreName(This,pbstrName); +} +/*** IVssComponentEx2 methods ***/ +static inline HRESULT IVssComponentEx2_SetFailure(IVssComponentEx2* This,HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage,DWORD dwReserved) { + return This->lpVtbl->SetFailure(This,hr,hrApplication,wszApplicationMessage,dwReserved); +} +static inline HRESULT IVssComponentEx2_GetFailure(IVssComponentEx2* This,HRESULT *phr,HRESULT *phrApplication,BSTR *pbstrApplicationMessage,DWORD *pdwReserved) { + return This->lpVtbl->GetFailure(This,phr,phrApplication,pbstrApplicationMessage,pdwReserved); +} +#endif +#endif + +#endif + + +#endif /* __IVssComponentEx2_INTERFACE_DEFINED__ */ + +#ifndef __IXMLDOMDocument_FWD_DEFINED__ +#define __IXMLDOMDocument_FWD_DEFINED__ +typedef interface IXMLDOMDocument IXMLDOMDocument; +#ifdef __cplusplus +interface IXMLDOMDocument; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IVssCreateWriterMetadata interface + */ +#ifndef __IVssCreateWriterMetadata_INTERFACE_DEFINED__ +#define __IVssCreateWriterMetadata_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssCreateWriterMetadata, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssCreateWriterMetadata +{ + + BEGIN_INTERFACE + + virtual HRESULT STDMETHODCALLTYPE AddIncludeFiles( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddExcludeFiles( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddComponent( + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszCaption, + const BYTE *pbIcon, + UINT cbIcon, + boolean bRestoreMetadata, + boolean bNotifyOnBackupComplete, + boolean bSelectable, + boolean bSelectableForRestore = 0, + DWORD dwComponentFlags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDatabaseFiles( + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDatabaseLogFiles( + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddFilesToFileGroup( + LPCWSTR wszLogicalPath, + LPCWSTR wszGroupName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation, + DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreMethod( + VSS_RESTOREMETHOD_ENUM method, + LPCWSTR wszService, + LPCWSTR wszUserProcedure, + VSS_WRITERRESTORE_ENUM writerRestore, + boolean bRebootRequired) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAlternateLocationMapping( + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilespec, + boolean bRecursive, + LPCWSTR wszDestination) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddComponentDependency( + LPCWSTR wszForLogicalPath, + LPCWSTR wszForComponentName, + VSS_ID onWriterId, + LPCWSTR wszOnLogicalPath, + LPCWSTR wszOnComponentName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupSchema( + DWORD dwSchemaMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocument( + IXMLDOMDocument **pDoc) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveAsXML( + BSTR *pbstrXML) = 0; + + END_INTERFACE + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssCreateWriterMetadata, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssCreateWriterMetadataVtbl { + BEGIN_INTERFACE + + /*** IVssCreateWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *AddIncludeFiles)( + IVssCreateWriterMetadata *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation); + + HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)( + IVssCreateWriterMetadata *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssCreateWriterMetadata *This, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszCaption, + const BYTE *pbIcon, + UINT cbIcon, + boolean bRestoreMetadata, + boolean bNotifyOnBackupComplete, + boolean bSelectable, + boolean bSelectableForRestore, + DWORD dwComponentFlags); + + HRESULT (STDMETHODCALLTYPE *AddDatabaseFiles)( + IVssCreateWriterMetadata *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *AddDatabaseLogFiles)( + IVssCreateWriterMetadata *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)( + IVssCreateWriterMetadata *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszGroupName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)( + IVssCreateWriterMetadata *This, + VSS_RESTOREMETHOD_ENUM method, + LPCWSTR wszService, + LPCWSTR wszUserProcedure, + VSS_WRITERRESTORE_ENUM writerRestore, + boolean bRebootRequired); + + HRESULT (STDMETHODCALLTYPE *AddAlternateLocationMapping)( + IVssCreateWriterMetadata *This, + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddComponentDependency)( + IVssCreateWriterMetadata *This, + LPCWSTR wszForLogicalPath, + LPCWSTR wszForComponentName, + VSS_ID onWriterId, + LPCWSTR wszOnLogicalPath, + LPCWSTR wszOnComponentName); + + HRESULT (STDMETHODCALLTYPE *SetBackupSchema)( + IVssCreateWriterMetadata *This, + DWORD dwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *GetDocument)( + IVssCreateWriterMetadata *This, + IXMLDOMDocument **pDoc); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssCreateWriterMetadata *This, + BSTR *pbstrXML); + + END_INTERFACE +} IVssCreateWriterMetadataVtbl; + +interface IVssCreateWriterMetadata { + CONST_VTBL IVssCreateWriterMetadataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IVssCreateWriterMetadata methods ***/ +#define IVssCreateWriterMetadata_AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) (This)->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) +#define IVssCreateWriterMetadata_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) +#define IVssCreateWriterMetadata_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) +#define IVssCreateWriterMetadata_AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) +#define IVssCreateWriterMetadata_AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) +#define IVssCreateWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) +#define IVssCreateWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) +#define IVssCreateWriterMetadata_AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) +#define IVssCreateWriterMetadata_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) +#define IVssCreateWriterMetadata_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask) +#define IVssCreateWriterMetadata_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) +#define IVssCreateWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#else +/*** IVssCreateWriterMetadata methods ***/ +static inline HRESULT IVssCreateWriterMetadata_AddIncludeFiles(IVssCreateWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation) { + return This->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation); +} +static inline HRESULT IVssCreateWriterMetadata_AddExcludeFiles(IVssCreateWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) { + return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive); +} +static inline HRESULT IVssCreateWriterMetadata_AddComponent(IVssCreateWriterMetadata* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) { + return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags); +} +static inline HRESULT IVssCreateWriterMetadata_AddDatabaseFiles(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadata_AddDatabaseLogFiles(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadata_AddFilesToFileGroup(IVssCreateWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadata_SetRestoreMethod(IVssCreateWriterMetadata* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) { + return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired); +} +static inline HRESULT IVssCreateWriterMetadata_AddAlternateLocationMapping(IVssCreateWriterMetadata* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssCreateWriterMetadata_AddComponentDependency(IVssCreateWriterMetadata* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) { + return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName); +} +static inline HRESULT IVssCreateWriterMetadata_SetBackupSchema(IVssCreateWriterMetadata* This,DWORD dwSchemaMask) { + return This->lpVtbl->SetBackupSchema(This,dwSchemaMask); +} +static inline HRESULT IVssCreateWriterMetadata_GetDocument(IVssCreateWriterMetadata* This,IXMLDOMDocument **pDoc) { + return This->lpVtbl->GetDocument(This,pDoc); +} +static inline HRESULT IVssCreateWriterMetadata_SaveAsXML(IVssCreateWriterMetadata* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +#endif +#endif + +#endif + + +#endif /* __IVssCreateWriterMetadata_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssCreateWriterMetadataEx interface + */ +#ifndef __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__ +#define __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssCreateWriterMetadataEx, 0x9f21981d, 0xd469, 0x4349, 0xb8,0x07, 0x39,0xe6,0x4e,0x46,0x74,0xe1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9f21981d-d469-4349-b807-39e64e4674e1") +IVssCreateWriterMetadataEx : public IVssCreateWriterMetadata +{ + virtual HRESULT STDMETHODCALLTYPE AddExcludeFilesFromSnapshot( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssCreateWriterMetadataEx, 0x9f21981d, 0xd469, 0x4349, 0xb8,0x07, 0x39,0xe6,0x4e,0x46,0x74,0xe1) +#endif +#else +typedef struct IVssCreateWriterMetadataExVtbl { + BEGIN_INTERFACE + + /*** IVssCreateWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *AddIncludeFiles)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation); + + HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssCreateWriterMetadataEx *This, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszCaption, + const BYTE *pbIcon, + UINT cbIcon, + boolean bRestoreMetadata, + boolean bNotifyOnBackupComplete, + boolean bSelectable, + boolean bSelectableForRestore, + DWORD dwComponentFlags); + + HRESULT (STDMETHODCALLTYPE *AddDatabaseFiles)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *AddDatabaseLogFiles)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszDatabaseName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszGroupName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)( + IVssCreateWriterMetadataEx *This, + VSS_RESTOREMETHOD_ENUM method, + LPCWSTR wszService, + LPCWSTR wszUserProcedure, + VSS_WRITERRESTORE_ENUM writerRestore, + boolean bRebootRequired); + + HRESULT (STDMETHODCALLTYPE *AddAlternateLocationMapping)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszSourcePath, + LPCWSTR wszSourceFilespec, + boolean bRecursive, + LPCWSTR wszDestination); + + HRESULT (STDMETHODCALLTYPE *AddComponentDependency)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszForLogicalPath, + LPCWSTR wszForComponentName, + VSS_ID onWriterId, + LPCWSTR wszOnLogicalPath, + LPCWSTR wszOnComponentName); + + HRESULT (STDMETHODCALLTYPE *SetBackupSchema)( + IVssCreateWriterMetadataEx *This, + DWORD dwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *GetDocument)( + IVssCreateWriterMetadataEx *This, + IXMLDOMDocument **pDoc); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssCreateWriterMetadataEx *This, + BSTR *pbstrXML); + + /*** IVssCreateWriterMetadataEx methods ***/ + HRESULT (STDMETHODCALLTYPE *AddExcludeFilesFromSnapshot)( + IVssCreateWriterMetadataEx *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive); + + END_INTERFACE +} IVssCreateWriterMetadataExVtbl; + +interface IVssCreateWriterMetadataEx { + CONST_VTBL IVssCreateWriterMetadataExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IVssCreateWriterMetadata methods ***/ +#define IVssCreateWriterMetadataEx_AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) (This)->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation) +#define IVssCreateWriterMetadataEx_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) +#define IVssCreateWriterMetadataEx_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) +#define IVssCreateWriterMetadataEx_AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) +#define IVssCreateWriterMetadataEx_AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) (This)->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask) +#define IVssCreateWriterMetadataEx_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) +#define IVssCreateWriterMetadataEx_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) +#define IVssCreateWriterMetadataEx_AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) (This)->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination) +#define IVssCreateWriterMetadataEx_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) +#define IVssCreateWriterMetadataEx_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask) +#define IVssCreateWriterMetadataEx_GetDocument(This,pDoc) (This)->lpVtbl->GetDocument(This,pDoc) +#define IVssCreateWriterMetadataEx_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +/*** IVssCreateWriterMetadataEx methods ***/ +#define IVssCreateWriterMetadataEx_AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive) +#else +/*** IVssCreateWriterMetadata methods ***/ +static inline HRESULT IVssCreateWriterMetadataEx_AddIncludeFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation) { + return This->lpVtbl->AddIncludeFiles(This,wszPath,wszFilespec,bRecursive,wszAlternateLocation); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddExcludeFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) { + return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddComponent(IVssCreateWriterMetadataEx* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) { + return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddDatabaseFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddDatabaseFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddDatabaseLogFiles(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszDatabaseName,LPCWSTR wszPath,LPCWSTR wszFilespec,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddDatabaseLogFiles(This,wszLogicalPath,wszDatabaseName,wszPath,wszFilespec,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddFilesToFileGroup(IVssCreateWriterMetadataEx* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask); +} +static inline HRESULT IVssCreateWriterMetadataEx_SetRestoreMethod(IVssCreateWriterMetadataEx* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) { + return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddAlternateLocationMapping(IVssCreateWriterMetadataEx* This,LPCWSTR wszSourcePath,LPCWSTR wszSourceFilespec,boolean bRecursive,LPCWSTR wszDestination) { + return This->lpVtbl->AddAlternateLocationMapping(This,wszSourcePath,wszSourceFilespec,bRecursive,wszDestination); +} +static inline HRESULT IVssCreateWriterMetadataEx_AddComponentDependency(IVssCreateWriterMetadataEx* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) { + return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName); +} +static inline HRESULT IVssCreateWriterMetadataEx_SetBackupSchema(IVssCreateWriterMetadataEx* This,DWORD dwSchemaMask) { + return This->lpVtbl->SetBackupSchema(This,dwSchemaMask); +} +static inline HRESULT IVssCreateWriterMetadataEx_GetDocument(IVssCreateWriterMetadataEx* This,IXMLDOMDocument **pDoc) { + return This->lpVtbl->GetDocument(This,pDoc); +} +static inline HRESULT IVssCreateWriterMetadataEx_SaveAsXML(IVssCreateWriterMetadataEx* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +/*** IVssCreateWriterMetadataEx methods ***/ +static inline HRESULT IVssCreateWriterMetadataEx_AddExcludeFilesFromSnapshot(IVssCreateWriterMetadataEx* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) { + return This->lpVtbl->AddExcludeFilesFromSnapshot(This,wszPath,wszFilespec,bRecursive); +} +#endif +#endif + +#endif + + +#endif /* __IVssCreateWriterMetadataEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssWriterImpl interface + */ +#ifndef __IVssWriterImpl_INTERFACE_DEFINED__ +#define __IVssWriterImpl_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssWriterImpl, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000000-0000-0000-0000-000000000000") +IVssWriterImpl : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + VSS_ID writerId, + LPCWSTR wszWriterName, + LPCWSTR wszWriterInstanceName, + DWORD dwMajorVersion, + DWORD dwMinorVersion, + VSS_USAGE_TYPE ut, + VSS_SOURCE_TYPE st, + VSS_APPLICATION_LEVEL nLevel, + DWORD dwTimeout, + VSS_ALTERNATE_WRITER_STATE aws, + boolean bIOThrottlingOnly) = 0; + + virtual HRESULT STDMETHODCALLTYPE Subscribe( + DWORD dwSubscribeTimeout, + DWORD dwEventFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unsubscribe( + ) = 0; + + virtual void STDMETHODCALLTYPE Uninitialize( + ) = 0; + + virtual LPCWSTR * STDMETHODCALLTYPE GetCurrentVolumeArray( + ) = 0; + + virtual UINT STDMETHODCALLTYPE GetCurrentVolumeCount( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSnapshotDeviceName( + LPCWSTR wszOriginalVolume, + LPCWSTR *ppwszSnapshotDevice) = 0; + +#ifdef WIDL_EXPLICIT_AGGREGATE_RETURNS + virtual VSS_ID* STDMETHODCALLTYPE GetCurrentSnapshotSetId( + VSS_ID *__ret) = 0; + VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId( + ) + { + VSS_ID __ret; + return *GetCurrentSnapshotSetId(&__ret); + } +#else + virtual VSS_ID STDMETHODCALLTYPE GetCurrentSnapshotSetId( + ) = 0; +#endif + + virtual LONG STDMETHODCALLTYPE GetContext( + ) = 0; + + virtual VSS_APPLICATION_LEVEL STDMETHODCALLTYPE GetCurrentLevel( + ) = 0; + + virtual boolean STDMETHODCALLTYPE IsPathAffected( + LPCWSTR wszPath) = 0; + + virtual boolean STDMETHODCALLTYPE IsBootableSystemStateBackedUp( + ) = 0; + + virtual boolean STDMETHODCALLTYPE AreComponentsSelected( + ) = 0; + + virtual VSS_BACKUP_TYPE STDMETHODCALLTYPE GetBackupType( + ) = 0; + + virtual VSS_RESTORE_TYPE STDMETHODCALLTYPE GetRestoreType( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWriterFailure( + HRESULT hr) = 0; + + virtual boolean STDMETHODCALLTYPE IsPartialFileSupportEnabled( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE InstallAlternateWriter( + VSS_ID idWriter, + CLSID clsid) = 0; + + virtual IVssExamineWriterMetadata * STDMETHODCALLTYPE GetIdentityInformation( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWriterFailureEx( + HRESULT hr, + HRESULT hrApplication, + LPCWSTR wszApplicationMessage) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSessionId( + VSS_ID *idSession) = 0; + + virtual boolean STDMETHODCALLTYPE IsWriterShuttingDown( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssWriterImpl, 0x00000000, 0x0000, 0x0000, 0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00) +#endif +#else +typedef struct IVssWriterImplVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssWriterImpl *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssWriterImpl *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssWriterImpl *This); + + /*** IVssWriterImpl methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IVssWriterImpl *This, + VSS_ID writerId, + LPCWSTR wszWriterName, + LPCWSTR wszWriterInstanceName, + DWORD dwMajorVersion, + DWORD dwMinorVersion, + VSS_USAGE_TYPE ut, + VSS_SOURCE_TYPE st, + VSS_APPLICATION_LEVEL nLevel, + DWORD dwTimeout, + VSS_ALTERNATE_WRITER_STATE aws, + boolean bIOThrottlingOnly); + + HRESULT (STDMETHODCALLTYPE *Subscribe)( + IVssWriterImpl *This, + DWORD dwSubscribeTimeout, + DWORD dwEventFlags); + + HRESULT (STDMETHODCALLTYPE *Unsubscribe)( + IVssWriterImpl *This); + + void (STDMETHODCALLTYPE *Uninitialize)( + IVssWriterImpl *This); + + LPCWSTR * (STDMETHODCALLTYPE *GetCurrentVolumeArray)( + IVssWriterImpl *This); + + UINT (STDMETHODCALLTYPE *GetCurrentVolumeCount)( + IVssWriterImpl *This); + + HRESULT (STDMETHODCALLTYPE *GetSnapshotDeviceName)( + IVssWriterImpl *This, + LPCWSTR wszOriginalVolume, + LPCWSTR *ppwszSnapshotDevice); + + VSS_ID * (STDMETHODCALLTYPE *GetCurrentSnapshotSetId)( + IVssWriterImpl *This, + VSS_ID *__ret); + + LONG (STDMETHODCALLTYPE *GetContext)( + IVssWriterImpl *This); + + VSS_APPLICATION_LEVEL (STDMETHODCALLTYPE *GetCurrentLevel)( + IVssWriterImpl *This); + + boolean (STDMETHODCALLTYPE *IsPathAffected)( + IVssWriterImpl *This, + LPCWSTR wszPath); + + boolean (STDMETHODCALLTYPE *IsBootableSystemStateBackedUp)( + IVssWriterImpl *This); + + boolean (STDMETHODCALLTYPE *AreComponentsSelected)( + IVssWriterImpl *This); + + VSS_BACKUP_TYPE (STDMETHODCALLTYPE *GetBackupType)( + IVssWriterImpl *This); + + VSS_RESTORE_TYPE (STDMETHODCALLTYPE *GetRestoreType)( + IVssWriterImpl *This); + + HRESULT (STDMETHODCALLTYPE *SetWriterFailure)( + IVssWriterImpl *This, + HRESULT hr); + + boolean (STDMETHODCALLTYPE *IsPartialFileSupportEnabled)( + IVssWriterImpl *This); + + HRESULT (STDMETHODCALLTYPE *InstallAlternateWriter)( + IVssWriterImpl *This, + VSS_ID idWriter, + CLSID clsid); + + IVssExamineWriterMetadata * (STDMETHODCALLTYPE *GetIdentityInformation)( + IVssWriterImpl *This); + + HRESULT (STDMETHODCALLTYPE *SetWriterFailureEx)( + IVssWriterImpl *This, + HRESULT hr, + HRESULT hrApplication, + LPCWSTR wszApplicationMessage); + + HRESULT (STDMETHODCALLTYPE *GetSessionId)( + IVssWriterImpl *This, + VSS_ID *idSession); + + boolean (STDMETHODCALLTYPE *IsWriterShuttingDown)( + IVssWriterImpl *This); + + END_INTERFACE +} IVssWriterImplVtbl; + +interface IVssWriterImpl { + CONST_VTBL IVssWriterImplVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssWriterImpl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssWriterImpl_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssWriterImpl_Release(This) (This)->lpVtbl->Release(This) +/*** IVssWriterImpl methods ***/ +#define IVssWriterImpl_Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly) (This)->lpVtbl->Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly) +#define IVssWriterImpl_Subscribe(This,dwSubscribeTimeout,dwEventFlags) (This)->lpVtbl->Subscribe(This,dwSubscribeTimeout,dwEventFlags) +#define IVssWriterImpl_Unsubscribe(This) (This)->lpVtbl->Unsubscribe(This) +#define IVssWriterImpl_Uninitialize(This) (This)->lpVtbl->Uninitialize(This) +#define IVssWriterImpl_GetCurrentVolumeArray(This) (This)->lpVtbl->GetCurrentVolumeArray(This) +#define IVssWriterImpl_GetCurrentVolumeCount(This) (This)->lpVtbl->GetCurrentVolumeCount(This) +#define IVssWriterImpl_GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice) (This)->lpVtbl->GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice) +#define IVssWriterImpl_GetCurrentSnapshotSetId(This) IVssWriterImpl_GetCurrentSnapshotSetId_define_WIDL_C_INLINE_WRAPPERS_for_aggregate_return_support +#define IVssWriterImpl_GetContext(This) (This)->lpVtbl->GetContext(This) +#define IVssWriterImpl_GetCurrentLevel(This) (This)->lpVtbl->GetCurrentLevel(This) +#define IVssWriterImpl_IsPathAffected(This,wszPath) (This)->lpVtbl->IsPathAffected(This,wszPath) +#define IVssWriterImpl_IsBootableSystemStateBackedUp(This) (This)->lpVtbl->IsBootableSystemStateBackedUp(This) +#define IVssWriterImpl_AreComponentsSelected(This) (This)->lpVtbl->AreComponentsSelected(This) +#define IVssWriterImpl_GetBackupType(This) (This)->lpVtbl->GetBackupType(This) +#define IVssWriterImpl_GetRestoreType(This) (This)->lpVtbl->GetRestoreType(This) +#define IVssWriterImpl_SetWriterFailure(This,hr) (This)->lpVtbl->SetWriterFailure(This,hr) +#define IVssWriterImpl_IsPartialFileSupportEnabled(This) (This)->lpVtbl->IsPartialFileSupportEnabled(This) +#define IVssWriterImpl_InstallAlternateWriter(This,idWriter,clsid) (This)->lpVtbl->InstallAlternateWriter(This,idWriter,clsid) +#define IVssWriterImpl_GetIdentityInformation(This) (This)->lpVtbl->GetIdentityInformation(This) +#define IVssWriterImpl_SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage) (This)->lpVtbl->SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage) +#define IVssWriterImpl_GetSessionId(This,idSession) (This)->lpVtbl->GetSessionId(This,idSession) +#define IVssWriterImpl_IsWriterShuttingDown(This) (This)->lpVtbl->IsWriterShuttingDown(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssWriterImpl_QueryInterface(IVssWriterImpl* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssWriterImpl_AddRef(IVssWriterImpl* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssWriterImpl_Release(IVssWriterImpl* This) { + return This->lpVtbl->Release(This); +} +/*** IVssWriterImpl methods ***/ +static inline HRESULT IVssWriterImpl_Initialize(IVssWriterImpl* This,VSS_ID writerId,LPCWSTR wszWriterName,LPCWSTR wszWriterInstanceName,DWORD dwMajorVersion,DWORD dwMinorVersion,VSS_USAGE_TYPE ut,VSS_SOURCE_TYPE st,VSS_APPLICATION_LEVEL nLevel,DWORD dwTimeout,VSS_ALTERNATE_WRITER_STATE aws,boolean bIOThrottlingOnly) { + return This->lpVtbl->Initialize(This,writerId,wszWriterName,wszWriterInstanceName,dwMajorVersion,dwMinorVersion,ut,st,nLevel,dwTimeout,aws,bIOThrottlingOnly); +} +static inline HRESULT IVssWriterImpl_Subscribe(IVssWriterImpl* This,DWORD dwSubscribeTimeout,DWORD dwEventFlags) { + return This->lpVtbl->Subscribe(This,dwSubscribeTimeout,dwEventFlags); +} +static inline HRESULT IVssWriterImpl_Unsubscribe(IVssWriterImpl* This) { + return This->lpVtbl->Unsubscribe(This); +} +static inline void IVssWriterImpl_Uninitialize(IVssWriterImpl* This) { + This->lpVtbl->Uninitialize(This); +} +static inline LPCWSTR * IVssWriterImpl_GetCurrentVolumeArray(IVssWriterImpl* This) { + return This->lpVtbl->GetCurrentVolumeArray(This); +} +static inline UINT IVssWriterImpl_GetCurrentVolumeCount(IVssWriterImpl* This) { + return This->lpVtbl->GetCurrentVolumeCount(This); +} +static inline HRESULT IVssWriterImpl_GetSnapshotDeviceName(IVssWriterImpl* This,LPCWSTR wszOriginalVolume,LPCWSTR *ppwszSnapshotDevice) { + return This->lpVtbl->GetSnapshotDeviceName(This,wszOriginalVolume,ppwszSnapshotDevice); +} +static inline VSS_ID IVssWriterImpl_GetCurrentSnapshotSetId(IVssWriterImpl* This) { + VSS_ID __ret; + return *This->lpVtbl->GetCurrentSnapshotSetId(This,&__ret); +} +static inline LONG IVssWriterImpl_GetContext(IVssWriterImpl* This) { + return This->lpVtbl->GetContext(This); +} +static inline VSS_APPLICATION_LEVEL IVssWriterImpl_GetCurrentLevel(IVssWriterImpl* This) { + return This->lpVtbl->GetCurrentLevel(This); +} +static inline boolean IVssWriterImpl_IsPathAffected(IVssWriterImpl* This,LPCWSTR wszPath) { + return This->lpVtbl->IsPathAffected(This,wszPath); +} +static inline boolean IVssWriterImpl_IsBootableSystemStateBackedUp(IVssWriterImpl* This) { + return This->lpVtbl->IsBootableSystemStateBackedUp(This); +} +static inline boolean IVssWriterImpl_AreComponentsSelected(IVssWriterImpl* This) { + return This->lpVtbl->AreComponentsSelected(This); +} +static inline VSS_BACKUP_TYPE IVssWriterImpl_GetBackupType(IVssWriterImpl* This) { + return This->lpVtbl->GetBackupType(This); +} +static inline VSS_RESTORE_TYPE IVssWriterImpl_GetRestoreType(IVssWriterImpl* This) { + return This->lpVtbl->GetRestoreType(This); +} +static inline HRESULT IVssWriterImpl_SetWriterFailure(IVssWriterImpl* This,HRESULT hr) { + return This->lpVtbl->SetWriterFailure(This,hr); +} +static inline boolean IVssWriterImpl_IsPartialFileSupportEnabled(IVssWriterImpl* This) { + return This->lpVtbl->IsPartialFileSupportEnabled(This); +} +static inline HRESULT IVssWriterImpl_InstallAlternateWriter(IVssWriterImpl* This,VSS_ID idWriter,CLSID clsid) { + return This->lpVtbl->InstallAlternateWriter(This,idWriter,clsid); +} +static inline IVssExamineWriterMetadata * IVssWriterImpl_GetIdentityInformation(IVssWriterImpl* This) { + return This->lpVtbl->GetIdentityInformation(This); +} +static inline HRESULT IVssWriterImpl_SetWriterFailureEx(IVssWriterImpl* This,HRESULT hr,HRESULT hrApplication,LPCWSTR wszApplicationMessage) { + return This->lpVtbl->SetWriterFailureEx(This,hr,hrApplication,wszApplicationMessage); +} +static inline HRESULT IVssWriterImpl_GetSessionId(IVssWriterImpl* This,VSS_ID *idSession) { + return This->lpVtbl->GetSessionId(This,idSession); +} +static inline boolean IVssWriterImpl_IsWriterShuttingDown(IVssWriterImpl* This) { + return This->lpVtbl->IsWriterShuttingDown(This); +} +#endif +#endif + +#endif + + +#endif /* __IVssWriterImpl_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssCreateExpressWriterMetadata interface + */ +#ifndef __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__ +#define __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssCreateExpressWriterMetadata, 0x9c772e77, 0xb26e, 0x427f, 0x92,0xdd, 0xc9,0x96,0xf4,0x1e,0xa5,0xe3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9c772e77-b26e-427f-92dd-c996f41ea5e3") +IVssCreateExpressWriterMetadata : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddExcludeFiles( + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddComponent( + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszCaption, + const BYTE *pbIcon, + UINT cbIcon, + boolean bRestoreMetadata, + boolean bNotifyOnBackupComplete, + boolean bSelectable, + boolean bSelectableForRestore = 0, + DWORD dwComponentFlags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddFilesToFileGroup( + LPCWSTR wszLogicalPath, + LPCWSTR wszGroupName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation, + DWORD dwBackupTypeMask = VSS_FSBT_ALL_BACKUP_REQUIRED | VSS_FSBT_ALL_SNAPSHOT_REQUIRED) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRestoreMethod( + VSS_RESTOREMETHOD_ENUM method, + LPCWSTR wszService, + LPCWSTR wszUserProcedure, + VSS_WRITERRESTORE_ENUM writerRestore, + boolean bRebootRequired) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddComponentDependency( + LPCWSTR wszForLogicalPath, + LPCWSTR wszForComponentName, + VSS_ID onWriterId, + LPCWSTR wszOnLogicalPath, + LPCWSTR wszOnComponentName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBackupSchema( + DWORD dwSchemaMask) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveAsXML( + BSTR *pbstrXML) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssCreateExpressWriterMetadata, 0x9c772e77, 0xb26e, 0x427f, 0x92,0xdd, 0xc9,0x96,0xf4,0x1e,0xa5,0xe3) +#endif +#else +typedef struct IVssCreateExpressWriterMetadataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssCreateExpressWriterMetadata *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssCreateExpressWriterMetadata *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssCreateExpressWriterMetadata *This); + + /*** IVssCreateExpressWriterMetadata methods ***/ + HRESULT (STDMETHODCALLTYPE *AddExcludeFiles)( + IVssCreateExpressWriterMetadata *This, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive); + + HRESULT (STDMETHODCALLTYPE *AddComponent)( + IVssCreateExpressWriterMetadata *This, + VSS_COMPONENT_TYPE ct, + LPCWSTR wszLogicalPath, + LPCWSTR wszComponentName, + LPCWSTR wszCaption, + const BYTE *pbIcon, + UINT cbIcon, + boolean bRestoreMetadata, + boolean bNotifyOnBackupComplete, + boolean bSelectable, + boolean bSelectableForRestore, + DWORD dwComponentFlags); + + HRESULT (STDMETHODCALLTYPE *AddFilesToFileGroup)( + IVssCreateExpressWriterMetadata *This, + LPCWSTR wszLogicalPath, + LPCWSTR wszGroupName, + LPCWSTR wszPath, + LPCWSTR wszFilespec, + boolean bRecursive, + LPCWSTR wszAlternateLocation, + DWORD dwBackupTypeMask); + + HRESULT (STDMETHODCALLTYPE *SetRestoreMethod)( + IVssCreateExpressWriterMetadata *This, + VSS_RESTOREMETHOD_ENUM method, + LPCWSTR wszService, + LPCWSTR wszUserProcedure, + VSS_WRITERRESTORE_ENUM writerRestore, + boolean bRebootRequired); + + HRESULT (STDMETHODCALLTYPE *AddComponentDependency)( + IVssCreateExpressWriterMetadata *This, + LPCWSTR wszForLogicalPath, + LPCWSTR wszForComponentName, + VSS_ID onWriterId, + LPCWSTR wszOnLogicalPath, + LPCWSTR wszOnComponentName); + + HRESULT (STDMETHODCALLTYPE *SetBackupSchema)( + IVssCreateExpressWriterMetadata *This, + DWORD dwSchemaMask); + + HRESULT (STDMETHODCALLTYPE *SaveAsXML)( + IVssCreateExpressWriterMetadata *This, + BSTR *pbstrXML); + + END_INTERFACE +} IVssCreateExpressWriterMetadataVtbl; + +interface IVssCreateExpressWriterMetadata { + CONST_VTBL IVssCreateExpressWriterMetadataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssCreateExpressWriterMetadata_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssCreateExpressWriterMetadata_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssCreateExpressWriterMetadata_Release(This) (This)->lpVtbl->Release(This) +/*** IVssCreateExpressWriterMetadata methods ***/ +#define IVssCreateExpressWriterMetadata_AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) (This)->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive) +#define IVssCreateExpressWriterMetadata_AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) (This)->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags) +#define IVssCreateExpressWriterMetadata_AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) (This)->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask) +#define IVssCreateExpressWriterMetadata_SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) (This)->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired) +#define IVssCreateExpressWriterMetadata_AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) (This)->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName) +#define IVssCreateExpressWriterMetadata_SetBackupSchema(This,dwSchemaMask) (This)->lpVtbl->SetBackupSchema(This,dwSchemaMask) +#define IVssCreateExpressWriterMetadata_SaveAsXML(This,pbstrXML) (This)->lpVtbl->SaveAsXML(This,pbstrXML) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssCreateExpressWriterMetadata_QueryInterface(IVssCreateExpressWriterMetadata* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssCreateExpressWriterMetadata_AddRef(IVssCreateExpressWriterMetadata* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssCreateExpressWriterMetadata_Release(IVssCreateExpressWriterMetadata* This) { + return This->lpVtbl->Release(This); +} +/*** IVssCreateExpressWriterMetadata methods ***/ +static inline HRESULT IVssCreateExpressWriterMetadata_AddExcludeFiles(IVssCreateExpressWriterMetadata* This,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive) { + return This->lpVtbl->AddExcludeFiles(This,wszPath,wszFilespec,bRecursive); +} +static inline HRESULT IVssCreateExpressWriterMetadata_AddComponent(IVssCreateExpressWriterMetadata* This,VSS_COMPONENT_TYPE ct,LPCWSTR wszLogicalPath,LPCWSTR wszComponentName,LPCWSTR wszCaption,const BYTE *pbIcon,UINT cbIcon,boolean bRestoreMetadata,boolean bNotifyOnBackupComplete,boolean bSelectable,boolean bSelectableForRestore,DWORD dwComponentFlags) { + return This->lpVtbl->AddComponent(This,ct,wszLogicalPath,wszComponentName,wszCaption,pbIcon,cbIcon,bRestoreMetadata,bNotifyOnBackupComplete,bSelectable,bSelectableForRestore,dwComponentFlags); +} +static inline HRESULT IVssCreateExpressWriterMetadata_AddFilesToFileGroup(IVssCreateExpressWriterMetadata* This,LPCWSTR wszLogicalPath,LPCWSTR wszGroupName,LPCWSTR wszPath,LPCWSTR wszFilespec,boolean bRecursive,LPCWSTR wszAlternateLocation,DWORD dwBackupTypeMask) { + return This->lpVtbl->AddFilesToFileGroup(This,wszLogicalPath,wszGroupName,wszPath,wszFilespec,bRecursive,wszAlternateLocation,dwBackupTypeMask); +} +static inline HRESULT IVssCreateExpressWriterMetadata_SetRestoreMethod(IVssCreateExpressWriterMetadata* This,VSS_RESTOREMETHOD_ENUM method,LPCWSTR wszService,LPCWSTR wszUserProcedure,VSS_WRITERRESTORE_ENUM writerRestore,boolean bRebootRequired) { + return This->lpVtbl->SetRestoreMethod(This,method,wszService,wszUserProcedure,writerRestore,bRebootRequired); +} +static inline HRESULT IVssCreateExpressWriterMetadata_AddComponentDependency(IVssCreateExpressWriterMetadata* This,LPCWSTR wszForLogicalPath,LPCWSTR wszForComponentName,VSS_ID onWriterId,LPCWSTR wszOnLogicalPath,LPCWSTR wszOnComponentName) { + return This->lpVtbl->AddComponentDependency(This,wszForLogicalPath,wszForComponentName,onWriterId,wszOnLogicalPath,wszOnComponentName); +} +static inline HRESULT IVssCreateExpressWriterMetadata_SetBackupSchema(IVssCreateExpressWriterMetadata* This,DWORD dwSchemaMask) { + return This->lpVtbl->SetBackupSchema(This,dwSchemaMask); +} +static inline HRESULT IVssCreateExpressWriterMetadata_SaveAsXML(IVssCreateExpressWriterMetadata* This,BSTR *pbstrXML) { + return This->lpVtbl->SaveAsXML(This,pbstrXML); +} +#endif +#endif + +#endif + + +#endif /* __IVssCreateExpressWriterMetadata_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVssExpressWriter interface + */ +#ifndef __IVssExpressWriter_INTERFACE_DEFINED__ +#define __IVssExpressWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVssExpressWriter, 0xe33affdc, 0x59c7, 0x47b1, 0x97,0xd5, 0x42,0x66,0x59,0x8f,0x62,0x35); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e33affdc-59c7-47b1-97d5-4266598f6235") +IVssExpressWriter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateMetadata( + VSS_ID writerId, + LPCWSTR writerName, + VSS_USAGE_TYPE usageType, + DWORD versionMajor, + DWORD versionMinor, + DWORD reserved, + IVssCreateExpressWriterMetadata **ppMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadMetadata( + LPCWSTR metadata, + DWORD reserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE Register( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unregister( + VSS_ID writerId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVssExpressWriter, 0xe33affdc, 0x59c7, 0x47b1, 0x97,0xd5, 0x42,0x66,0x59,0x8f,0x62,0x35) +#endif +#else +typedef struct IVssExpressWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVssExpressWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVssExpressWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVssExpressWriter *This); + + /*** IVssExpressWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateMetadata)( + IVssExpressWriter *This, + VSS_ID writerId, + LPCWSTR writerName, + VSS_USAGE_TYPE usageType, + DWORD versionMajor, + DWORD versionMinor, + DWORD reserved, + IVssCreateExpressWriterMetadata **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *LoadMetadata)( + IVssExpressWriter *This, + LPCWSTR metadata, + DWORD reserved); + + HRESULT (STDMETHODCALLTYPE *Register)( + IVssExpressWriter *This); + + HRESULT (STDMETHODCALLTYPE *Unregister)( + IVssExpressWriter *This, + VSS_ID writerId); + + END_INTERFACE +} IVssExpressWriterVtbl; + +interface IVssExpressWriter { + CONST_VTBL IVssExpressWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVssExpressWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVssExpressWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVssExpressWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IVssExpressWriter methods ***/ +#define IVssExpressWriter_CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) (This)->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata) +#define IVssExpressWriter_LoadMetadata(This,metadata,reserved) (This)->lpVtbl->LoadMetadata(This,metadata,reserved) +#define IVssExpressWriter_Register(This) (This)->lpVtbl->Register(This) +#define IVssExpressWriter_Unregister(This,writerId) (This)->lpVtbl->Unregister(This,writerId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVssExpressWriter_QueryInterface(IVssExpressWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVssExpressWriter_AddRef(IVssExpressWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVssExpressWriter_Release(IVssExpressWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IVssExpressWriter methods ***/ +static inline HRESULT IVssExpressWriter_CreateMetadata(IVssExpressWriter* This,VSS_ID writerId,LPCWSTR writerName,VSS_USAGE_TYPE usageType,DWORD versionMajor,DWORD versionMinor,DWORD reserved,IVssCreateExpressWriterMetadata **ppMetadata) { + return This->lpVtbl->CreateMetadata(This,writerId,writerName,usageType,versionMajor,versionMinor,reserved,ppMetadata); +} +static inline HRESULT IVssExpressWriter_LoadMetadata(IVssExpressWriter* This,LPCWSTR metadata,DWORD reserved) { + return This->lpVtbl->LoadMetadata(This,metadata,reserved); +} +static inline HRESULT IVssExpressWriter_Register(IVssExpressWriter* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IVssExpressWriter_Unregister(IVssExpressWriter* This,VSS_ID writerId) { + return This->lpVtbl->Unregister(This,writerId); +} +#endif +#endif + +#endif + + +#endif /* __IVssExpressWriter_INTERFACE_DEFINED__ */ + +#endif /* WINAPI_PARTITION_DESKTOP */ +/* Begin additional prototypes for all interfaces */ + +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 /* __vswriter_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/w32api.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/w32api.h new file mode 100644 index 00000000..31963537 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/w32api.h @@ -0,0 +1,62 @@ +/** + * 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 _W32API_H +#define _W32API_H +#define _W32API_H_ +#if __GNUC__ >=3 +#pragma GCC system_header +#endif + +#define __W32API_VERSION 3.14 +#define __W32API_MAJOR_VERSION 3 +#define __W32API_MINOR_VERSION 14 + +/* The following defines are for documentation purposes. The following defines + * identify the versions of Windows and Internet Explorer. They are not to be + * used in the w32api library but may be used by a user to set the _WIN32_WINNT + * or _WIN32_WINDOWS and the WINVER values to their minimum level of support. + * + * Similarly the user can use the Internet Explorer values to set the _WIN32_IE + * value to their minimum level of support. + */ + +/* Use these values to set _WIN32_WINDOWS and WINVER to your minimum support + * level */ +#define Windows95 0x0400 +#define Windows98 0x0410 +#define WindowsME 0x0500 + +/* Use these values to set _WIN32_WINNT and WINVER to your mimimum support + * level. */ +#define WindowsNT4 0x0400 +#define Windows2000 0x0500 +#define WindowsXP 0x0501 +#define Windows2003 0x0502 +#define WindowsVista 0x0600 +#define Windows7 0x0601 +#define Windows8 0x0602 + +/* Use these values to set _WIN32_IE to your minimum support level */ +#define IE3 0x0300 +#define IE301 0x0300 +#define IE302 0x0300 +#define IE4 0x0400 +#define IE401 0x0401 +#define IE5 0x0500 +#define IE5a 0x0500 +#define IE5b 0x0500 +#define IE501 0x0501 +#define IE55 0x0501 +#define IE56 0x0560 +#define IE6 0x0600 +#define IE601 0x0601 +#define IE602 0x0603 +#define IE7 0x0700 +#define IE8 0x0800 +#define IE9 0x0900 +#define IE10 0x0A00 + +#endif /* ndef _W32API_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wab.h new file mode 100644 index 00000000..a0472fa9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wab.h @@ -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 +#include +#include +#include +#include +#include +#include +#include diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabapi.h new file mode 100644 index 00000000..6703cd23 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabapi.h @@ -0,0 +1,123 @@ +/** + * 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 _WABAPI_H_ +#define _WABAPI_H_ + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _WABACTIONITEM *LPWABACTIONITEM; + +#define CBIWABOBJECT sizeof(IWABOBJECT) +#define WAB_IWABOBJECT_METHODS(IPURE) MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult,ULONG ulFlags,LPMAPIERROR *lppMAPIError) IPURE; MAPIMETHOD(AllocateBuffer) (THIS_ ULONG cbSize,LPVOID *lppBuffer) IPURE; MAPIMETHOD(AllocateMore) (THIS_ ULONG cbSize,LPVOID lpObject,LPVOID *lppBuffer) IPURE; MAPIMETHOD(FreeBuffer) (THIS_ LPVOID lpBuffer) IPURE; MAPIMETHOD(Backup) (THIS_ LPSTR lpFileName) IPURE; MAPIMETHOD(Import) (THIS_ LPSTR lpImportParam) IPURE; MAPIMETHOD(Find) (THIS_ LPADRBOOK lpIAB,HWND hWnd) IPURE; MAPIMETHOD(VCardDisplay) (THIS_ LPADRBOOK lpIAB,HWND hWnd,LPSTR lpszFileName) IPURE; MAPIMETHOD(LDAPUrl) (THIS_ LPADRBOOK lpIAB,HWND hWnd,ULONG ulFlags,LPSTR lpszURL,LPMAILUSER *lppMailUser) IPURE; MAPIMETHOD(VCardCreate) (THIS_ LPADRBOOK lpIAB,ULONG ulFlags,LPSTR lpszVCard,LPMAILUSER lpMailUser) IPURE; MAPIMETHOD(VCardRetrieve) (THIS_ LPADRBOOK lpIAB,ULONG ulFlags,LPSTR lpszVCard,LPMAILUSER *lppMailUser) IPURE; MAPIMETHOD(GetMe) (THIS_ LPADRBOOK lpIAB,ULONG ulFlags,DWORD *lpdwAction,SBinary *lpsbEID,ULONG ulParam) IPURE; MAPIMETHOD(SetMe) (THIS_ LPADRBOOK lpIAB,ULONG ulFlags,SBinary sbEID,ULONG ulParam) IPURE; + +#undef INTERFACE +#define INTERFACE IWABObject + DECLARE_MAPI_INTERFACE_(IWABObject,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + WAB_IWABOBJECT_METHODS(PURE) + }; + + DECLARE_MAPI_INTERFACE_PTR(IWABObject,LPWABOBJECT); + +#undef INTERFACE +#define INTERFACE struct _IWABOBJECT + +#undef METHOD_PREFIX +#define METHOD_PREFIX IWABOBJECT_ +#undef LPVTBL_ELEM +#define LPVTBL_ELEM lpvtbl +#undef MAPIMETHOD_ +#define MAPIMETHOD_(type,method) MAPIMETHOD_DECLARE(type,method,IWABOBJECT_) + MAPI_IUNKNOWN_METHODS(IMPL) + WAB_IWABOBJECT_METHODS(IMPL) +#undef MAPIMETHOD_ +#define MAPIMETHOD_(type,method) MAPIMETHOD_TYPEDEF(type,method,IWABOBJECT_) + MAPI_IUNKNOWN_METHODS(IMPL) + WAB_IWABOBJECT_METHODS(IMPL) +#undef MAPIMETHOD_ +#define MAPIMETHOD_(type,method) STDMETHOD_(type,method) + + DECLARE_MAPI_INTERFACE(IWABOBJECT_) + { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(IMPL) + WAB_IWABOBJECT_METHODS(IMPL) + }; + +#define WABOBJECT_LDAPURL_RETURN_MAILUSER 0x00000001 +#define WABOBJECT_ME_NEW 0x00000001 +#define WABOBJECT_ME_NOCREATE 0x00000002 + +#define WAB_VCARD_FILE 0x00000000 +#define WAB_VCARD_STREAM 0x00000001 + + typedef struct _tagWAB_PARAM { + ULONG cbSize; + HWND hwnd; + LPSTR szFileName; + ULONG ulFlags; + GUID guidPSExt; + } WAB_PARAM,*LPWAB_PARAM; + +#define WAB_USE_OE_SENDMAIL 0x00000001 +#define WAB_ENABLE_PROFILES 0x00400000 + + STDMETHODIMP WABOpen(LPADRBOOK *lppAdrBook,LPWABOBJECT *lppWABObject,LPWAB_PARAM lpWP,DWORD Reserved2); + + typedef HRESULT (WINAPI WABOPEN)(LPADRBOOK *lppAdrBook,LPWABOBJECT *lppWABObject,LPWAB_PARAM lpWP,DWORD Reserved2); + typedef WABOPEN *LPWABOPEN; + + STDMETHODIMP WABOpenEx(LPADRBOOK *lppAdrBook,LPWABOBJECT *lppWABObject,LPWAB_PARAM lpWP,DWORD Reserved,ALLOCATEBUFFER *fnAllocateBuffer,ALLOCATEMORE *fnAllocateMore,FREEBUFFER *fnFreeBuffer); + + typedef HRESULT (WINAPI WABOPENEX)(LPADRBOOK *lppAdrBook,LPWABOBJECT *lppWABObject,LPWAB_PARAM lpWP,DWORD Reserved,ALLOCATEBUFFER *fnAllocateBuffer,ALLOCATEMORE *fnAllocateMore,FREEBUFFER *fnFreeBuffer); + typedef WABOPENEX *LPWABOPENEX; + + typedef struct _WABIMPORTPARAM { + ULONG cbSize; + LPADRBOOK lpAdrBook; + HWND hWnd; + ULONG ulFlags; + LPSTR lpszFileName; + } WABIMPORTPARAM,*LPWABIMPORTPARAM; + +#define WAB_DISPLAY_LDAPURL 0x00000001 +#define WAB_CONTEXT_ADRLIST 0x00000002 +#define WAB_DISPLAY_ISNTDS 0x00000004 + + typedef struct _WABEXTDISPLAY { + ULONG cbSize; + LPWABOBJECT lpWABObject; + LPADRBOOK lpAdrBook; + LPMAPIPROP lpPropObj; + WINBOOL fReadOnly; + WINBOOL fDataChanged; + ULONG ulFlags; + LPVOID lpv; + LPTSTR lpsz; + } WABEXTDISPLAY,*LPWABEXTDISPLAY; + +#define WAB_IWABEXTINIT_METHODS(IPURE) MAPIMETHOD(Initialize) (THIS_ LPWABEXTDISPLAY lpWABExtDisplay) IPURE; +#undef INTERFACE +#define INTERFACE IWABExtInit + DECLARE_MAPI_INTERFACE_(IWABExtInit,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + WAB_IWABEXTINIT_METHODS(PURE) + }; + + DECLARE_MAPI_INTERFACE_PTR(IWABExtInit,LPWABEXTINIT); + DEFINE_GUID(IID_IWABExtInit,0xea22ebf0,0x87a4,0x11d1,0x9a,0xcf,0x0,0xa0,0xc9,0x1f,0x9c,0x8b); + +#define WAB_DLL_NAME TEXT("WAB32.DLL") +#define WAB_DLL_PATH_KEY TEXT("Software\\Microsoft\\WAB\\DLLPath") + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabcode.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabcode.h new file mode 100644 index 00000000..ba28acf4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabcode.h @@ -0,0 +1,86 @@ +/** + * 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. + */ +#if !defined(MAPICODE_H) && !defined(WABCODE_H) +#define WABCODE_H + +#include + +#define MAKE_MAPI_SCODE(sev,fac,code) ((SCODE) (((unsigned __LONG32)(sev)<<31) | ((unsigned __LONG32)(fac)<<16) | ((unsigned __LONG32)(code)))) + +#define MAKE_MAPI_E(err) (MAKE_MAPI_SCODE(1,FACILITY_ITF,err)) +#define MAKE_MAPI_S(warn) (MAKE_MAPI_SCODE(0,FACILITY_ITF,warn)) + +#ifdef SUCCESS_SUCCESS +#undef SUCCESS_SUCCESS +#endif +#define SUCCESS_SUCCESS __MSABI_LONG(0) + +#define MAPI_E_CALL_FAILED E_FAIL +#define MAPI_E_NOT_ENOUGH_MEMORY E_OUTOFMEMORY +#define MAPI_E_INVALID_PARAMETER E_INVALIDARG +#define MAPI_E_INTERFACE_NOT_SUPPORTED E_NOINTERFACE +#define MAPI_E_NO_ACCESS E_ACCESSDENIED + +#define MAPI_E_NO_SUPPORT MAKE_MAPI_E(0x102) +#define MAPI_E_BAD_CHARWIDTH MAKE_MAPI_E(0x103) +#define MAPI_E_STRING_TOO_LONG MAKE_MAPI_E(0x105) +#define MAPI_E_UNKNOWN_FLAGS MAKE_MAPI_E(0x106) +#define MAPI_E_INVALID_ENTRYID MAKE_MAPI_E(0x107) +#define MAPI_E_INVALID_OBJECT MAKE_MAPI_E(0x108) +#define MAPI_E_OBJECT_CHANGED MAKE_MAPI_E(0x109) +#define MAPI_E_OBJECT_DELETED MAKE_MAPI_E(0x10A) +#define MAPI_E_BUSY MAKE_MAPI_E(0x10B) +#define MAPI_E_NOT_ENOUGH_DISK MAKE_MAPI_E(0x10D) +#define MAPI_E_NOT_ENOUGH_RESOURCES MAKE_MAPI_E(0x10E) +#define MAPI_E_NOT_FOUND MAKE_MAPI_E(0x10F) +#define MAPI_E_VERSION MAKE_MAPI_E(0x110) +#define MAPI_E_LOGON_FAILED MAKE_MAPI_E(0x111) +#define MAPI_E_SESSION_LIMIT MAKE_MAPI_E(0x112) +#define MAPI_E_USER_CANCEL MAKE_MAPI_E(0x113) +#define MAPI_E_UNABLE_TO_ABORT MAKE_MAPI_E(0x114) +#define MAPI_E_NETWORK_ERROR MAKE_MAPI_E(0x115) +#define MAPI_E_DISK_ERROR MAKE_MAPI_E(0x116) +#define MAPI_E_TOO_COMPLEX MAKE_MAPI_E(0x117) +#define MAPI_E_BAD_COLUMN MAKE_MAPI_E(0x118) +#define MAPI_E_EXTENDED_ERROR MAKE_MAPI_E(0x119) +#define MAPI_E_COMPUTED MAKE_MAPI_E(0x11A) +#define MAPI_E_CORRUPT_DATA MAKE_MAPI_E(0x11B) +#define MAPI_E_UNCONFIGURED MAKE_MAPI_E(0x11C) +#define MAPI_E_FAILONEPROVIDER MAKE_MAPI_E(0x11D) +#define MAPI_E_END_OF_SESSION MAKE_MAPI_E(0x200) +#define MAPI_E_UNKNOWN_ENTRYID MAKE_MAPI_E(0x201) +#define MAPI_E_MISSING_REQUIRED_COLUMN MAKE_MAPI_E(0x202) +#define MAPI_W_NO_SERVICE MAKE_MAPI_S(0x203) +#define MAPI_E_BAD_VALUE MAKE_MAPI_E(0x301) +#define MAPI_E_INVALID_TYPE MAKE_MAPI_E(0x302) +#define MAPI_E_TYPE_NO_SUPPORT MAKE_MAPI_E(0x303) +#define MAPI_E_UNEXPECTED_TYPE MAKE_MAPI_E(0x304) +#define MAPI_E_TOO_BIG MAKE_MAPI_E(0x305) +#define MAPI_E_DECLINE_COPY MAKE_MAPI_E(0x306) +#define MAPI_E_UNEXPECTED_ID MAKE_MAPI_E(0x307) +#define MAPI_W_ERRORS_RETURNED MAKE_MAPI_S(0x380) +#define MAPI_E_UNABLE_TO_COMPLETE MAKE_MAPI_E(0x400) +#define MAPI_E_TIMEOUT MAKE_MAPI_E(0x401) +#define MAPI_E_TABLE_EMPTY MAKE_MAPI_E(0x402) +#define MAPI_E_TABLE_TOO_BIG MAKE_MAPI_E(0x403) +#define MAPI_E_INVALID_BOOKMARK MAKE_MAPI_E(0x405) +#define MAPI_W_POSITION_CHANGED MAKE_MAPI_S(0x481) +#define MAPI_W_APPROX_COUNT MAKE_MAPI_S(0x482) +#define MAPI_W_PARTIAL_COMPLETION MAKE_MAPI_S(0x680) +#define MAPI_E_AMBIGUOUS_RECIP MAKE_MAPI_E(0x700) +#define MAPI_E_COLLISION MAKE_MAPI_E(0x604) +#define MAPI_E_NOT_INITIALIZED MAKE_MAPI_E(0x605) +#define MAPI_E_FOLDER_CYCLE MAKE_MAPI_E(0x60B) + +#ifndef MakeResult +#define MakeResult(_s) ResultFromScode(_s) +#endif + +#ifndef HR_SUCCEEDED +#define HR_SUCCEEDED(_hr) SUCCEEDED((SCODE)(_hr)) +#define HR_FAILED(_hr) FAILED((SCODE)(_hr)) +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabdefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabdefs.h new file mode 100644 index 00000000..b046b5c6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabdefs.h @@ -0,0 +1,1431 @@ +/** + * 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. + */ +#if !defined(MAPIDEFS_H) && !defined(WABDEFS_H) +#define WABDEFS_H +#if defined (NT) && !defined (_WINNT) +#warning NT defined but not _WINNT. You must define _WINNT to ensure " "successful compile of Windows NT code. +#define _WINNT +#endif + +#ifndef _WINDOWS_ +#define INC_OLE2 +#define INC_RPC +#define _OLE_H_ +#include +#endif + +#ifndef _OLEERROR_H_ +#include +#endif +#include +#include + +#ifndef MAPI_DIM +#define MAPI_DIM 1 +#endif + +#ifndef STDMAPIINITCALLTYPE +#define STDMAPIINITCALLTYPE __cdecl +#define STDINITMETHODIMP HRESULT __cdecl +#define STDINITMETHODIMP_(type) type __cdecl +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __WCHAR_DEFINED +#define __WCHAR_DEFINED + typedef WORD WCHAR; +#endif + +#if defined(UNICODE) + typedef WCHAR TCHAR; +#else + typedef char TCHAR; +#endif + + typedef WCHAR *LPWSTR; + typedef const WCHAR *LPCWSTR; + typedef TCHAR *LPTSTR; + typedef const TCHAR *LPCTSTR; + typedef BYTE *LPBYTE; + typedef ULONG *LPULONG; + +#ifndef __LHANDLE +#define __LHANDLE + typedef unsigned __LONG32 LHANDLE,*LPLHANDLE; +#endif + +#if !defined(_WINBASE_) && !defined(_FILETIME_) +#define _FILETIME_ + typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; + } FILETIME,*LPFILETIME; +#endif + +#ifndef BEGIN_INTERFACE +#define BEGIN_INTERFACE +#endif + +#define MAPI_MODIFY ((ULONG) 0x00000001) + +#define MAPI_ACCESS_MODIFY ((ULONG) 0x00000001) +#define MAPI_ACCESS_READ ((ULONG) 0x00000002) +#define MAPI_ACCESS_DELETE ((ULONG) 0x00000004) +#define MAPI_ACCESS_CREATE_HIERARCHY ((ULONG) 0x00000008) +#define MAPI_ACCESS_CREATE_CONTENTS ((ULONG) 0x00000010) +#define MAPI_ACCESS_CREATE_ASSOCIATED ((ULONG) 0x00000020) +#define MAPI_UNICODE ((ULONG) 0x80000000) + +#if defined(UNICODE) +#define fMapiUnicode MAPI_UNICODE +#else +#define fMapiUnicode 0 +#endif + +#define hrSuccess 0 + +#ifndef MAPI_ORIG +#define MAPI_ORIG 0 +#define MAPI_TO 1 +#define MAPI_CC 2 +#define MAPI_BCC 3 +#define MAPI_P1 0x10000000 +#define MAPI_SUBMITTED 0x80000000 +#endif + +#define MAPI_SHORTTERM 0x80 +#define MAPI_NOTRECIP 0x40 +#define MAPI_THISSESSION 0x20 +#define MAPI_NOW 0x10 +#define MAPI_NOTRESERVED 0x08 + +#define MAPI_COMPOUND 0x80 + + typedef struct { + BYTE abFlags[4]; + BYTE ab[MAPI_DIM]; + } ENTRYID,*LPENTRYID; + +#define CbNewENTRYID(_cb) (offsetof(ENTRYID,ab) + (_cb)) +#define CbENTRYID(_cb) (offsetof(ENTRYID,ab) + (_cb)) +#define SizedENTRYID(_cb,_name) struct _ENTRYID_ ## _name { BYTE abFlags[4]; BYTE ab[_cb]; } _name + + typedef struct _MAPIUID { + BYTE ab[16]; + } MAPIUID,*LPMAPIUID; + +#define IsEqualMAPIUID(lpuid1,lpuid2) (!memcmp(lpuid1,lpuid2,sizeof(MAPIUID))) + +#define MAPI_STORE ((ULONG) 0x00000001) +#define MAPI_ADDRBOOK ((ULONG) 0x00000002) +#define MAPI_FOLDER ((ULONG) 0x00000003) +#define MAPI_ABCONT ((ULONG) 0x00000004) +#define MAPI_MESSAGE ((ULONG) 0x00000005) +#define MAPI_MAILUSER ((ULONG) 0x00000006) +#define MAPI_ATTACH ((ULONG) 0x00000007) +#define MAPI_DISTLIST ((ULONG) 0x00000008) +#define MAPI_PROFSECT ((ULONG) 0x00000009) +#define MAPI_STATUS ((ULONG) 0x0000000A) +#define MAPI_SESSION ((ULONG) 0x0000000B) +#define MAPI_FORMINFO ((ULONG) 0x0000000C) + +#ifndef cchProfileNameMax +#define cchProfileNameMax 64 +#define cchProfilePassMax 64 +#endif + +#define MV_FLAG 0x1000 + +#define PT_UNSPECIFIED ((ULONG) 0) +#define PT_NULL ((ULONG) 1) +#define PT_I2 ((ULONG) 2) +#define PT_LONG ((ULONG) 3) +#define PT_R4 ((ULONG) 4) +#define PT_DOUBLE ((ULONG) 5) +#define PT_CURRENCY ((ULONG) 6) +#define PT_APPTIME ((ULONG) 7) +#define PT_ERROR ((ULONG) 10) +#define PT_BOOLEAN ((ULONG) 11) +#define PT_OBJECT ((ULONG) 13) +#define PT_I8 ((ULONG) 20) +#define PT_STRING8 ((ULONG) 30) +#define PT_UNICODE ((ULONG) 31) +#define PT_SYSTIME ((ULONG) 64) +#define PT_CLSID ((ULONG) 72) +#define PT_BINARY ((ULONG) 258) + +#define PT_SHORT PT_I2 +#define PT_I4 PT_LONG +#define PT_FLOAT PT_R4 +#define PT_R8 PT_DOUBLE +#define PT_LONGLONG PT_I8 + +#if defined(UNICODE) +#define PT_TSTRING PT_UNICODE +#define PT_MV_TSTRING (MV_FLAG|PT_UNICODE) +#define LPSZ lpszW +#define LPPSZ lppszW +#define MVSZ MVszW +#else +#define PT_TSTRING PT_STRING8 +#define PT_MV_TSTRING (MV_FLAG|PT_STRING8) +#define LPSZ lpszA +#define LPPSZ lppszA +#define MVSZ MVszA +#endif + +#define PROP_TYPE_MASK ((ULONG)0x0000FFFF) +#define PROP_TYPE(ulPropTag) (((ULONG)(ulPropTag))&PROP_TYPE_MASK) +#define PROP_ID(ulPropTag) (((ULONG)(ulPropTag))>>16) +#define PROP_TAG(ulPropType,ulPropID) ((((ULONG)(ulPropID))<<16)|((ULONG)(ulPropType))) +#define PROP_ID_NULL 0 +#define PROP_ID_INVALID 0xFFFF +#define PR_NULL PROP_TAG(PT_NULL,PROP_ID_NULL) +#define CHANGE_PROP_TYPE(ulPropTag,ulPropType) (((ULONG)0xFFFF0000 & ulPropTag) | ulPropType) + +#define PT_MV_I2 (MV_FLAG|PT_I2) +#define PT_MV_LONG (MV_FLAG|PT_LONG) +#define PT_MV_R4 (MV_FLAG|PT_R4) +#define PT_MV_DOUBLE (MV_FLAG|PT_DOUBLE) +#define PT_MV_CURRENCY (MV_FLAG|PT_CURRENCY) +#define PT_MV_APPTIME (MV_FLAG|PT_APPTIME) +#define PT_MV_SYSTIME (MV_FLAG|PT_SYSTIME) +#define PT_MV_STRING8 (MV_FLAG|PT_STRING8) +#define PT_MV_BINARY (MV_FLAG|PT_BINARY) +#define PT_MV_UNICODE (MV_FLAG|PT_UNICODE) +#define PT_MV_CLSID (MV_FLAG|PT_CLSID) +#define PT_MV_I8 (MV_FLAG|PT_I8) + +#define PT_MV_SHORT PT_MV_I2 +#define PT_MV_I4 PT_MV_LONG +#define PT_MV_FLOAT PT_MV_R4 +#define PT_MV_R8 PT_MV_DOUBLE +#define PT_MV_LONGLONG PT_MV_I8 + +#define MV_INSTANCE 0x2000 +#define MVI_FLAG (MV_FLAG | MV_INSTANCE) +#define MVI_PROP(tag) ((tag) | MVI_FLAG) + + typedef struct _SPropTagArray { + ULONG cValues; + ULONG aulPropTag[MAPI_DIM]; + } SPropTagArray,*LPSPropTagArray; + +#define CbNewSPropTagArray(_ctag) (offsetof(SPropTagArray,aulPropTag) + (_ctag)*sizeof(ULONG)) +#define CbSPropTagArray(_lparray) (offsetof(SPropTagArray,aulPropTag) + (UINT)((_lparray)->cValues)*sizeof(ULONG)) +#define SizedSPropTagArray(_ctag,_name) struct _SPropTagArray_ ## _name { ULONG cValues; ULONG aulPropTag[_ctag]; } _name + + typedef struct _SPropValue SPropValue; + +#ifndef _tagCY_DEFINED +#define _tagCY_DEFINED +#define _CY_DEFINED + typedef union tagCY { + struct { + unsigned __LONG32 Lo; + __LONG32 Hi; + }; + LONGLONG int64; + } CY; +#endif + + typedef CY CURRENCY; + + typedef struct _SBinary { + ULONG cb; + LPBYTE lpb; + } SBinary,*LPSBinary; + + typedef struct _SShortArray { + ULONG cValues; + short int *lpi; + } SShortArray; + + typedef struct _SGuidArray { + ULONG cValues; + GUID *lpguid; + } SGuidArray; + + typedef struct _SRealArray { + ULONG cValues; + float *lpflt; + } SRealArray; + + typedef struct _SLongArray { + ULONG cValues; + LONG *lpl; + } SLongArray; + + typedef struct _SLargeIntegerArray { + ULONG cValues; + LARGE_INTEGER *lpli; + } SLargeIntegerArray; + + typedef struct _SDateTimeArray { + ULONG cValues; + FILETIME *lpft; + } SDateTimeArray; + + typedef struct _SAppTimeArray { + ULONG cValues; + double *lpat; + } SAppTimeArray; + + typedef struct _SCurrencyArray { + ULONG cValues; + CURRENCY *lpcur; + } SCurrencyArray; + + typedef struct _SBinaryArray { + ULONG cValues; + SBinary *lpbin; + } SBinaryArray; + + typedef struct _SDoubleArray { + ULONG cValues; + double *lpdbl; + } SDoubleArray; + + typedef struct _SWStringArray { + ULONG cValues; + LPWSTR *lppszW; + } SWStringArray; + + typedef struct _SLPSTRArray { + ULONG cValues; + LPSTR *lppszA; + } SLPSTRArray; + + typedef union _PV { + short int i; + LONG l; + ULONG ul; + float flt; + double dbl; + unsigned short int b; + CURRENCY cur; + double at; + FILETIME ft; + LPSTR lpszA; + SBinary bin; + LPWSTR lpszW; + LPGUID lpguid; + LARGE_INTEGER li; + SShortArray MVi; + SLongArray MVl; + SRealArray MVflt; + SDoubleArray MVdbl; + SCurrencyArray MVcur; + SAppTimeArray MVat; + SDateTimeArray MVft; + SBinaryArray MVbin; + SLPSTRArray MVszA; + SWStringArray MVszW; + SGuidArray MVguid; + SLargeIntegerArray MVli; + SCODE err; + LONG x; + } __UPV; + + typedef struct _SPropValue { + ULONG ulPropTag; + ULONG dwAlignPad; + union _PV Value; + } SPropValue,*LPSPropValue; + + typedef struct _SPropProblem { + ULONG ulIndex; + ULONG ulPropTag; + SCODE scode; + } SPropProblem,*LPSPropProblem; + + typedef struct _SPropProblemArray { + ULONG cProblem; + SPropProblem aProblem[MAPI_DIM]; + } SPropProblemArray,*LPSPropProblemArray; + +#define CbNewSPropProblemArray(_cprob) (offsetof(SPropProblemArray,aProblem) + (_cprob)*sizeof(SPropProblem)) +#define CbSPropProblemArray(_lparray) (offsetof(SPropProblemArray,aProblem) + (UINT) ((_lparray)->cProblem*sizeof(SPropProblem))) +#define SizedSPropProblemArray(_cprob,_name) struct _SPropProblemArray_ ## _name { ULONG cProblem; SPropProblem aProblem[_cprob]; } _name + + typedef SBinaryArray ENTRYLIST,*LPENTRYLIST; + + typedef struct { + ULONG cb; + BYTE abEntry[MAPI_DIM]; + } FLATENTRY,*LPFLATENTRY; + + typedef struct { + ULONG cEntries; + ULONG cbEntries; + BYTE abEntries[MAPI_DIM]; + } FLATENTRYLIST,*LPFLATENTRYLIST; + + typedef struct { + ULONG cb; + BYTE ab[MAPI_DIM]; + } MTSID,*LPMTSID; + + typedef struct { + ULONG cMTSIDs; + ULONG cbMTSIDs; + BYTE abMTSIDs[MAPI_DIM]; + } FLATMTSIDLIST,*LPFLATMTSIDLIST; + +#define CbNewFLATENTRY(_cb) (offsetof(FLATENTRY,abEntry) + (_cb)) +#define CbFLATENTRY(_lpentry) (offsetof(FLATENTRY,abEntry) + (_lpentry)->cb) +#define CbNewFLATENTRYLIST(_cb) (offsetof(FLATENTRYLIST,abEntries) + (_cb)) +#define CbFLATENTRYLIST(_lplist) (offsetof(FLATENTRYLIST,abEntries) + (_lplist)->cbEntries) +#define CbNewMTSID(_cb) (offsetof(MTSID,ab) + (_cb)) +#define CbMTSID(_lpentry) (offsetof(MTSID,ab) + (_lpentry)->cb) +#define CbNewFLATMTSIDLIST(_cb) (offsetof(FLATMTSIDLIST,abMTSIDs) + (_cb)) +#define CbFLATMTSIDLIST(_lplist) (offsetof(FLATMTSIDLIST,abMTSIDs) + (_lplist)->cbMTSIDs) + + typedef struct _ADRENTRY { + ULONG ulReserved1; + ULONG cValues; + LPSPropValue rgPropVals; + } ADRENTRY,*LPADRENTRY; + + typedef struct _ADRLIST { + ULONG cEntries; + ADRENTRY aEntries[MAPI_DIM]; + } ADRLIST,*LPADRLIST; + +#define CbNewADRLIST(_centries) (offsetof(ADRLIST,aEntries) + (_centries)*sizeof(ADRENTRY)) +#define CbADRLIST(_lpadrlist) (offsetof(ADRLIST,aEntries) + (UINT)(_lpadrlist)->cEntries*sizeof(ADRENTRY)) +#define SizedADRLIST(_centries,_name) struct _ADRLIST_ ## _name { ULONG cEntries; ADRENTRY aEntries[_centries]; } _name + + typedef struct _SRow { + ULONG ulAdrEntryPad; + ULONG cValues; + LPSPropValue lpProps; + } SRow,*LPSRow; + + typedef struct _SRowSet { + ULONG cRows; + SRow aRow[MAPI_DIM]; + } SRowSet,*LPSRowSet; + +#define CbNewSRowSet(_crow) (offsetof(SRowSet,aRow) + (_crow)*sizeof(SRow)) +#define CbSRowSet(_lprowset) (offsetof(SRowSet,aRow) + (UINT)((_lprowset)->cRows*sizeof(SRow))) +#define SizedSRowSet(_crow,_name) struct _SRowSet_ ## _name { ULONG cRows; SRow aRow[_crow]; } _name + + typedef SCODE (WINAPI ALLOCATEBUFFER)(ULONG cbSize,LPVOID *lppBuffer); + typedef SCODE (WINAPI ALLOCATEMORE)(ULONG cbSize,LPVOID lpObject,LPVOID *lppBuffer); + typedef ULONG (WINAPI FREEBUFFER)(LPVOID lpBuffer); + typedef ALLOCATEBUFFER *LPALLOCATEBUFFER; + typedef ALLOCATEMORE *LPALLOCATEMORE; + typedef FREEBUFFER *LPFREEBUFFER; + +#if defined(MAPI_IF) && (!defined(__cplusplus) || defined(CINTERFACE)) +#define DECLARE_MAPI_INTERFACE(iface) typedef struct iface##Vtbl iface##Vtbl,*iface; struct iface##Vtbl +#define DECLARE_MAPI_INTERFACE_(iface,baseiface) DECLARE_MAPI_INTERFACE(iface) +#define DECLARE_MAPI_INTERFACE_PTR(iface,piface) typedef struct iface##Vtbl iface##Vtbl,*iface,**piface; +#else +#define DECLARE_MAPI_INTERFACE(iface) DECLARE_INTERFACE(iface) +#define DECLARE_MAPI_INTERFACE_(iface,baseiface) DECLARE_INTERFACE_(iface,baseiface) +#ifdef __cplusplus +#define DECLARE_MAPI_INTERFACE_PTR(iface,piface) struct iface; typedef iface *piface +#else +#define DECLARE_MAPI_INTERFACE_PTR(iface,piface) typedef struct iface iface,*piface +#endif +#endif + +#define MAPIMETHOD(method) MAPIMETHOD_(HRESULT,method) +#define MAPIMETHOD_(type,method) STDMETHOD_(type,method) +#define MAPIMETHOD_DECLARE(type,method,prefix) STDMETHODIMP_(type) prefix##method +#define MAPIMETHOD_TYPEDEF(type,method,prefix) typedef type (WINAPI prefix##method##_METHOD) + +#define MAPI_IUNKNOWN_METHODS(IPURE) MAPIMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) IPURE; MAPIMETHOD_(ULONG,AddRef) (THIS) IPURE; MAPIMETHOD_(ULONG,Release) (THIS) IPURE; +#undef IMPL +#define IMPL + + typedef const IID *LPCIID; + + DECLARE_MAPI_INTERFACE_PTR(IMsgStore,LPMDB); + DECLARE_MAPI_INTERFACE_PTR(IMAPIFolder,LPMAPIFOLDER); + DECLARE_MAPI_INTERFACE_PTR(IMessage,LPMESSAGE); + DECLARE_MAPI_INTERFACE_PTR(IAttach,LPATTACH); + DECLARE_MAPI_INTERFACE_PTR(IAddrBook,LPADRBOOK); + DECLARE_MAPI_INTERFACE_PTR(IABContainer,LPABCONT); + DECLARE_MAPI_INTERFACE_PTR(IMailUser,LPMAILUSER); + DECLARE_MAPI_INTERFACE_PTR(IDistList,LPDISTLIST); + DECLARE_MAPI_INTERFACE_PTR(IMAPIStatus,LPMAPISTATUS); + DECLARE_MAPI_INTERFACE_PTR(IMAPITable,LPMAPITABLE); + DECLARE_MAPI_INTERFACE_PTR(IProfSect,LPPROFSECT); + DECLARE_MAPI_INTERFACE_PTR(IMAPIProp,LPMAPIPROP); + DECLARE_MAPI_INTERFACE_PTR(IMAPIContainer,LPMAPICONTAINER); + DECLARE_MAPI_INTERFACE_PTR(IMAPIAdviseSink,LPMAPIADVISESINK); + DECLARE_MAPI_INTERFACE_PTR(IMAPIProgress,LPMAPIPROGRESS); + DECLARE_MAPI_INTERFACE_PTR(IProviderAdmin,LPPROVIDERADMIN); + + typedef struct _MAPIERROR { + ULONG ulVersion; + LPTSTR lpszError; + LPTSTR lpszComponent; + ULONG ulLowLevelError; + ULONG ulContext; + + } MAPIERROR,*LPMAPIERROR; + +#define fnevCriticalError ((ULONG) 0x00000001) +#define fnevNewMail ((ULONG) 0x00000002) +#define fnevObjectCreated ((ULONG) 0x00000004) +#define fnevObjectDeleted ((ULONG) 0x00000008) +#define fnevObjectModified ((ULONG) 0x00000010) +#define fnevObjectMoved ((ULONG) 0x00000020) +#define fnevObjectCopied ((ULONG) 0x00000040) +#define fnevSearchComplete ((ULONG) 0x00000080) +#define fnevTableModified ((ULONG) 0x00000100) +#define fnevStatusObjectModified ((ULONG) 0x00000200) +#define fnevReservedForMapi ((ULONG) 0x40000000) +#define fnevExtended ((ULONG) 0x80000000) + +#define TABLE_CHANGED 1 +#define TABLE_ERROR 2 +#define TABLE_ROW_ADDED 3 +#define TABLE_ROW_DELETED 4 +#define TABLE_ROW_MODIFIED 5 +#define TABLE_SORT_DONE 6 +#define TABLE_RESTRICT_DONE 7 +#define TABLE_SETCOL_DONE 8 +#define TABLE_RELOAD 9 + + typedef struct _ERROR_NOTIFICATION { + ULONG cbEntryID; + LPENTRYID lpEntryID; + SCODE scode; + ULONG ulFlags; + LPMAPIERROR lpMAPIError; + } ERROR_NOTIFICATION; + + typedef struct _NEWMAIL_NOTIFICATION { + ULONG cbEntryID; + LPENTRYID lpEntryID; + ULONG cbParentID; + LPENTRYID lpParentID; + ULONG ulFlags; + LPTSTR lpszMessageClass; + ULONG ulMessageFlags; + } NEWMAIL_NOTIFICATION; + + typedef struct _OBJECT_NOTIFICATION { + ULONG cbEntryID; + LPENTRYID lpEntryID; + ULONG ulObjType; + ULONG cbParentID; + LPENTRYID lpParentID; + ULONG cbOldID; + LPENTRYID lpOldID; + ULONG cbOldParentID; + LPENTRYID lpOldParentID; + LPSPropTagArray lpPropTagArray; + } OBJECT_NOTIFICATION; + + typedef struct _TABLE_NOTIFICATION { + ULONG ulTableEvent; + HRESULT hResult; + SPropValue propIndex; + SPropValue propPrior; + SRow row; + ULONG ulPad; + } TABLE_NOTIFICATION; + + typedef struct _EXTENDED_NOTIFICATION { + ULONG ulEvent; + ULONG cb; + LPBYTE pbEventParameters; + } EXTENDED_NOTIFICATION; + + typedef struct { + ULONG cbEntryID; + LPENTRYID lpEntryID; + ULONG cValues; + LPSPropValue lpPropVals; + } STATUS_OBJECT_NOTIFICATION; + + typedef struct _NOTIFICATION { + ULONG ulEventType; + ULONG ulAlignPad; + union { + ERROR_NOTIFICATION err; + NEWMAIL_NOTIFICATION newmail; + OBJECT_NOTIFICATION obj; + TABLE_NOTIFICATION tab; + EXTENDED_NOTIFICATION ext; + STATUS_OBJECT_NOTIFICATION statobj; + } info; + } NOTIFICATION,*LPNOTIFICATION; + +#define MAPI_IMAPIADVISESINK_METHODS(IPURE) MAPIMETHOD_(ULONG,OnNotify) (THIS_ ULONG cNotif,LPNOTIFICATION lpNotifications) IPURE; +#undef INTERFACE +#define INTERFACE IMAPIAdviseSink + DECLARE_MAPI_INTERFACE_(IMAPIAdviseSink,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIADVISESINK_METHODS(PURE) + }; + + typedef __LONG32 (WINAPI NOTIFCALLBACK) (LPVOID lpvContext,ULONG cNotification,LPNOTIFICATION lpNotifications); + typedef NOTIFCALLBACK *LPNOTIFCALLBACK; + +#define szMAPINotificationMsg "MAPI Notify window message" + +#define MAPI_TOP_LEVEL ((ULONG) 0x00000001) +#define MAPI_IMAPIPROGRESS_METHODS(IPURE) MAPIMETHOD(Progress) (THIS_ ULONG ulValue,ULONG ulCount,ULONG ulTotal) IPURE; MAPIMETHOD(GetFlags) (THIS_ ULONG *lpulFlags) IPURE; MAPIMETHOD(GetMax) (THIS_ ULONG *lpulMax) IPURE; MAPIMETHOD(GetMin) (THIS_ ULONG *lpulMin) IPURE; MAPIMETHOD(SetLimits) (THIS_ LPULONG lpulMin,LPULONG lpulMax,LPULONG lpulFlags) IPURE; + +#undef INTERFACE +#define INTERFACE IMAPIProgress + DECLARE_MAPI_INTERFACE_(IMAPIProgress,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROGRESS_METHODS(PURE) + }; + +#define MAPI_ERROR_VERSION __MSABI_LONG(0x00000000) + +#define KEEP_OPEN_READONLY ((ULONG) 0x00000001) +#define KEEP_OPEN_READWRITE ((ULONG) 0x00000002) +#define FORCE_SAVE ((ULONG) 0x00000004) + +#define MAPI_CREATE ((ULONG) 0x00000002) +#define STREAM_APPEND ((ULONG) 0x00000004) + +#define MAPI_MOVE ((ULONG) 0x00000001) +#define MAPI_NOREPLACE ((ULONG) 0x00000002) +#define MAPI_DECLINE_OK ((ULONG) 0x00000004) + +#ifndef MAPI_DIALOG +#define MAPI_DIALOG ((ULONG) 0x00000008) +#endif + +#ifndef MAPI_USE_DEFAULT +#define MAPI_USE_DEFAULT 0x00000040 +#endif + +#define MAPI_NO_STRINGS ((ULONG) 0x00000001) +#define MAPI_NO_IDS ((ULONG) 0x00000002) + +#define MNID_ID 0 +#define MNID_STRING 1 + + typedef struct _MAPINAMEID { + LPGUID lpguid; + ULONG ulKind; + union { + LONG lID; + LPWSTR lpwstrName; + } Kind; + } MAPINAMEID,*LPMAPINAMEID; + +#define MAPI_IMAPIPROP_METHODS(IPURE) MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult,ULONG ulFlags,LPMAPIERROR *lppMAPIError) IPURE; MAPIMETHOD(SaveChanges) (THIS_ ULONG ulFlags) IPURE; MAPIMETHOD(GetProps) (THIS_ LPSPropTagArray lpPropTagArray,ULONG ulFlags,ULONG *lpcValues,LPSPropValue *lppPropArray) IPURE; MAPIMETHOD(GetPropList) (THIS_ ULONG ulFlags,LPSPropTagArray *lppPropTagArray) IPURE; MAPIMETHOD(OpenProperty) (THIS_ ULONG ulPropTag,LPCIID lpiid,ULONG ulInterfaceOptions,ULONG ulFlags,LPUNKNOWN *lppUnk) IPURE; MAPIMETHOD(SetProps) (THIS_ ULONG cValues,LPSPropValue lpPropArray,LPSPropProblemArray *lppProblems) IPURE; MAPIMETHOD(DeleteProps) (THIS_ LPSPropTagArray lpPropTagArray,LPSPropProblemArray *lppProblems) IPURE; MAPIMETHOD(CopyTo) (THIS_ ULONG ciidExclude,LPCIID rgiidExclude,LPSPropTagArray lpExcludeProps,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,LPCIID lpInterface,LPVOID lpDestObj,ULONG ulFlags,LPSPropProblemArray *lppProblems) IPURE; MAPIMETHOD(CopyProps) (THIS_ LPSPropTagArray lpIncludeProps,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,LPCIID lpInterface,LPVOID lpDestObj,ULONG ulFlags,LPSPropProblemArray *lppProblems) IPURE; MAPIMETHOD(GetNamesFromIDs) (THIS_ LPSPropTagArray *lppPropTags,LPGUID lpPropSetGuid,ULONG ulFlags,ULONG *lpcPropNames,LPMAPINAMEID **lpppPropNames) IPURE; MAPIMETHOD(GetIDsFromNames) (THIS_ ULONG cPropNames,LPMAPINAMEID *lppPropNames,ULONG ulFlags,LPSPropTagArray *lppPropTags) IPURE; + +#undef INTERFACE +#define INTERFACE IMAPIProp + DECLARE_MAPI_INTERFACE_(IMAPIProp,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + }; + +#define TBLSTAT_COMPLETE ((ULONG) 0) +#define TBLSTAT_QCHANGED ((ULONG) 7) +#define TBLSTAT_SORTING ((ULONG) 9) +#define TBLSTAT_SORT_ERROR ((ULONG) 10) +#define TBLSTAT_SETTING_COLS ((ULONG) 11) +#define TBLSTAT_SETCOL_ERROR ((ULONG) 13) +#define TBLSTAT_RESTRICTING ((ULONG) 14) +#define TBLSTAT_RESTRICT_ERROR ((ULONG) 15) + +#define TBLTYPE_SNAPSHOT ((ULONG) 0) +#define TBLTYPE_KEYSET ((ULONG) 1) +#define TBLTYPE_DYNAMIC ((ULONG) 2) + +#define TABLE_SORT_ASCEND ((ULONG) 0x00000000) +#define TABLE_SORT_DESCEND ((ULONG) 0x00000001) +#define TABLE_SORT_COMBINE ((ULONG) 0x00000002) + + typedef struct _SSortOrder { + ULONG ulPropTag; + ULONG ulOrder; + } SSortOrder,*LPSSortOrder; + + typedef struct _SSortOrderSet { + ULONG cSorts; + ULONG cCategories; + ULONG cExpanded; + SSortOrder aSort[MAPI_DIM]; + } SSortOrderSet,*LPSSortOrderSet; + +#define CbNewSSortOrderSet(_csort) (offsetof(SSortOrderSet,aSort) + (_csort)*sizeof(SSortOrder)) +#define CbSSortOrderSet(_lpset) (offsetof(SSortOrderSet,aSort) + (UINT)((_lpset)->cSorts*sizeof(SSortOrder))) +#define SizedSSortOrderSet(_csort,_name) struct _SSortOrderSet_ ## _name { ULONG cSorts; ULONG cCategories; ULONG cExpanded; SSortOrder aSort[_csort]; } _name + + typedef ULONG BOOKMARK; + +#define BOOKMARK_BEGINNING ((BOOKMARK) 0) +#define BOOKMARK_CURRENT ((BOOKMARK) 1) +#define BOOKMARK_END ((BOOKMARK) 2) + +#define FL_FULLSTRING ((ULONG) 0x00000000) +#define FL_SUBSTRING ((ULONG) 0x00000001) +#define FL_PREFIX ((ULONG) 0x00000002) + +#define FL_IGNORECASE ((ULONG) 0x00010000) +#define FL_IGNORENONSPACE ((ULONG) 0x00020000) +#define FL_LOOSE ((ULONG) 0x00040000) + + typedef struct _SRestriction *LPSRestriction; + +#define RES_AND ((ULONG) 0x00000000) +#define RES_OR ((ULONG) 0x00000001) +#define RES_NOT ((ULONG) 0x00000002) +#define RES_CONTENT ((ULONG) 0x00000003) +#define RES_PROPERTY ((ULONG) 0x00000004) +#define RES_COMPAREPROPS ((ULONG) 0x00000005) +#define RES_BITMASK ((ULONG) 0x00000006) +#define RES_SIZE ((ULONG) 0x00000007) +#define RES_EXIST ((ULONG) 0x00000008) +#define RES_SUBRESTRICTION ((ULONG) 0x00000009) +#define RES_COMMENT ((ULONG) 0x0000000A) + +#define RELOP_LT ((ULONG) 0) +#define RELOP_LE ((ULONG) 1) +#define RELOP_GT ((ULONG) 2) +#define RELOP_GE ((ULONG) 3) +#define RELOP_EQ ((ULONG) 4) +#define RELOP_NE ((ULONG) 5) +#define RELOP_RE ((ULONG) 6) + +#define BMR_EQZ ((ULONG) 0) +#define BMR_NEZ ((ULONG) 1) + + typedef struct _SAndRestriction { + ULONG cRes; + LPSRestriction lpRes; + } SAndRestriction; + + typedef struct _SOrRestriction { + ULONG cRes; + LPSRestriction lpRes; + } SOrRestriction; + + typedef struct _SNotRestriction { + ULONG ulReserved; + LPSRestriction lpRes; + } SNotRestriction; + + typedef struct _SContentRestriction { + ULONG ulFuzzyLevel; + ULONG ulPropTag; + LPSPropValue lpProp; + } SContentRestriction; + + typedef struct _SBitMaskRestriction { + ULONG relBMR; + ULONG ulPropTag; + ULONG ulMask; + } SBitMaskRestriction; + + typedef struct _SPropertyRestriction { + ULONG relop; + ULONG ulPropTag; + LPSPropValue lpProp; + } SPropertyRestriction; + + typedef struct _SComparePropsRestriction { + ULONG relop; + ULONG ulPropTag1; + ULONG ulPropTag2; + } SComparePropsRestriction; + + typedef struct _SSizeRestriction { + ULONG relop; + ULONG ulPropTag; + ULONG cb; + } SSizeRestriction; + + typedef struct _SExistRestriction { + ULONG ulReserved1; + ULONG ulPropTag; + ULONG ulReserved2; + } SExistRestriction; + + typedef struct _SSubRestriction { + ULONG ulSubObject; + LPSRestriction lpRes; + } SSubRestriction; + + typedef struct _SCommentRestriction { + ULONG cValues; + LPSRestriction lpRes; + LPSPropValue lpProp; + } SCommentRestriction; + + typedef struct _SRestriction { + ULONG rt; + union { + SComparePropsRestriction resCompareProps; + SAndRestriction resAnd; + SOrRestriction resOr; + SNotRestriction resNot; + SContentRestriction resContent; + SPropertyRestriction resProperty; + SBitMaskRestriction resBitMask; + SSizeRestriction resSize; + SExistRestriction resExist; + SSubRestriction resSub; + SCommentRestriction resComment; + } res; + } SRestriction; + +#define TBL_ALL_COLUMNS ((ULONG) 0x00000001) + +#define TBL_LEAF_ROW ((ULONG) 1) +#define TBL_EMPTY_CATEGORY ((ULONG) 2) +#define TBL_EXPANDED_CATEGORY ((ULONG) 3) +#define TBL_COLLAPSED_CATEGORY ((ULONG) 4) + +#define TBL_NOWAIT ((ULONG) 0x00000001) + +#define TBL_ASYNC ((ULONG) 0x00000001) +#define TBL_BATCH ((ULONG) 0x00000002) + +#define DIR_BACKWARD ((ULONG) 0x00000001) + +#define TBL_NOADVANCE ((ULONG) 0x00000001) + +#define MAPI_IMAPITABLE_METHODS(IPURE) MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult,ULONG ulFlags,LPMAPIERROR *lppMAPIError) IPURE; MAPIMETHOD(Advise) (THIS_ ULONG ulEventMask,LPMAPIADVISESINK lpAdviseSink,ULONG *lpulConnection) IPURE; MAPIMETHOD(Unadvise) (THIS_ ULONG ulConnection) IPURE; MAPIMETHOD(GetStatus) (THIS_ ULONG *lpulTableStatus,ULONG *lpulTableType) IPURE; MAPIMETHOD(SetColumns) (THIS_ LPSPropTagArray lpPropTagArray,ULONG ulFlags) IPURE; MAPIMETHOD(QueryColumns) (THIS_ ULONG ulFlags,LPSPropTagArray *lpPropTagArray) IPURE; MAPIMETHOD(GetRowCount) (THIS_ ULONG ulFlags,ULONG *lpulCount) IPURE; MAPIMETHOD(SeekRow) (THIS_ BOOKMARK bkOrigin,LONG lRowCount,LONG *lplRowsSought) IPURE; MAPIMETHOD(SeekRowApprox) (THIS_ ULONG ulNumerator,ULONG ulDenominator) IPURE; MAPIMETHOD(QueryPosition) (THIS_ ULONG *lpulRow,ULONG *lpulNumerator,ULONG *lpulDenominator) IPURE; MAPIMETHOD(FindRow) (THIS_ LPSRestriction lpRestriction,BOOKMARK bkOrigin,ULONG ulFlags) IPURE; MAPIMETHOD(Restrict) (THIS_ LPSRestriction lpRestriction,ULONG ulFlags) IPURE; MAPIMETHOD(CreateBookmark) (THIS_ BOOKMARK *lpbkPosition) IPURE; MAPIMETHOD(FreeBookmark) (THIS_ BOOKMARK bkPosition) IPURE; MAPIMETHOD(SortTable) (THIS_ LPSSortOrderSet lpSortCriteria,ULONG ulFlags) IPURE; MAPIMETHOD(QuerySortOrder) (THIS_ LPSSortOrderSet *lppSortCriteria) IPURE; MAPIMETHOD(QueryRows) (THIS_ LONG lRowCount,ULONG ulFlags,LPSRowSet *lppRows) IPURE; MAPIMETHOD(Abort) (THIS) IPURE; MAPIMETHOD(ExpandRow) (THIS_ ULONG cbInstanceKey,LPBYTE pbInstanceKey,ULONG ulRowCount,ULONG ulFlags,LPSRowSet *lppRows,ULONG *lpulMoreRows) IPURE; MAPIMETHOD(CollapseRow) (THIS_ ULONG cbInstanceKey,LPBYTE pbInstanceKey,ULONG ulFlags,ULONG *lpulRowCount) IPURE; MAPIMETHOD(WaitForCompletion) (THIS_ ULONG ulFlags,ULONG ulTimeout,ULONG *lpulTableStatus) IPURE; MAPIMETHOD(GetCollapseState) (THIS_ ULONG ulFlags,ULONG cbInstanceKey,LPBYTE lpbInstanceKey,ULONG *lpcbCollapseState,LPBYTE *lppbCollapseState) IPURE; MAPIMETHOD(SetCollapseState) (THIS_ ULONG ulFlags,ULONG cbCollapseState,LPBYTE pbCollapseState,BOOKMARK *lpbkLocation) IPURE; + +#undef INTERFACE +#define INTERFACE IMAPITable + DECLARE_MAPI_INTERFACE_(IMAPITable,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPITABLE_METHODS(PURE) + }; + +#define PS_PROFILE_PROPERTIES_INIT { 0x98,0x15,0xAC,0x08,0xAA,0xB0,0x10,0x1A,0x8C,0x93,0x08,0x00,0x2B,0x2A,0x56,0xC2 } + +#define MAPI_IPROFSECT_METHODS(IPURE) + +#undef INTERFACE +#define INTERFACE IProfSect + DECLARE_MAPI_INTERFACE_(IProfSect,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IPROFSECT_METHODS(PURE) + }; + +#define MAPI_STORE_PROVIDER ((ULONG) 33) +#define MAPI_AB ((ULONG) 34) +#define MAPI_AB_PROVIDER ((ULONG) 35) +#define MAPI_TRANSPORT_PROVIDER ((ULONG) 36) +#define MAPI_SPOOLER ((ULONG) 37) +#define MAPI_PROFILE_PROVIDER ((ULONG) 38) +#define MAPI_SUBSYSTEM ((ULONG) 39) +#define MAPI_HOOK_PROVIDER ((ULONG) 40) + +#define STATUS_VALIDATE_STATE ((ULONG) 0x00000001) +#define STATUS_SETTINGS_DIALOG ((ULONG) 0x00000002) +#define STATUS_CHANGE_PASSWORD ((ULONG) 0x00000004) +#define STATUS_FLUSH_QUEUES ((ULONG) 0x00000008) + +#define STATUS_DEFAULT_OUTBOUND ((ULONG) 0x00000001) +#define STATUS_DEFAULT_STORE ((ULONG) 0x00000002) +#define STATUS_PRIMARY_IDENTITY ((ULONG) 0x00000004) +#define STATUS_SIMPLE_STORE ((ULONG) 0x00000008) +#define STATUS_XP_PREFER_LAST ((ULONG) 0x00000010) +#define STATUS_NO_PRIMARY_IDENTITY ((ULONG) 0x00000020) +#define STATUS_NO_DEFAULT_STORE ((ULONG) 0x00000040) +#define STATUS_TEMP_SECTION ((ULONG) 0x00000080) +#define STATUS_OWN_STORE ((ULONG) 0x00000100) + +#define STATUS_NEED_IPM_TREE ((ULONG) 0x00000800) +#define STATUS_PRIMARY_STORE ((ULONG) 0x00001000) +#define STATUS_SECONDARY_STORE ((ULONG) 0x00002000) + +#define STATUS_AVAILABLE ((ULONG) 0x00000001) +#define STATUS_OFFLINE ((ULONG) 0x00000002) +#define STATUS_FAILURE ((ULONG) 0x00000004) + +#define STATUS_INBOUND_ENABLED ((ULONG) 0x00010000) +#define STATUS_INBOUND_ACTIVE ((ULONG) 0x00020000) +#define STATUS_INBOUND_FLUSH ((ULONG) 0x00040000) +#define STATUS_OUTBOUND_ENABLED ((ULONG) 0x00100000) +#define STATUS_OUTBOUND_ACTIVE ((ULONG) 0x00200000) +#define STATUS_OUTBOUND_FLUSH ((ULONG) 0x00400000) +#define STATUS_REMOTE_ACCESS ((ULONG) 0x00800000) + +#define SUPPRESS_UI ((ULONG) 0x00000001) +#define REFRESH_XP_HEADER_CACHE ((ULONG) 0x00010000) +#define PROCESS_XP_HEADER_CACHE ((ULONG) 0x00020000) +#define FORCE_XP_CONNECT ((ULONG) 0x00040000) +#define FORCE_XP_DISCONNECT ((ULONG) 0x00080000) +#define CONFIG_CHANGED ((ULONG) 0x00100000) +#define ABORT_XP_HEADER_OPERATION ((ULONG) 0x00200000) +#define SHOW_XP_SESSION_UI ((ULONG) 0x00400000) + +#define UI_READONLY ((ULONG) 0x00000001) + +#define FLUSH_UPLOAD ((ULONG) 0x00000002) +#define FLUSH_DOWNLOAD ((ULONG) 0x00000004) +#define FLUSH_FORCE ((ULONG) 0x00000008) +#define FLUSH_NO_UI ((ULONG) 0x00000010) +#define FLUSH_ASYNC_OK ((ULONG) 0x00000020) + +#define MAPI_IMAPISTATUS_METHODS(IPURE) MAPIMETHOD(ValidateState) (THIS_ ULONG ulUIParam,ULONG ulFlags) IPURE; MAPIMETHOD(SettingsDialog) (THIS_ ULONG ulUIParam,ULONG ulFlags) IPURE; MAPIMETHOD(ChangePassword) (THIS_ LPTSTR lpOldPass,LPTSTR lpNewPass,ULONG ulFlags) IPURE; MAPIMETHOD(FlushQueues) (THIS_ ULONG ulUIParam,ULONG cbTargetTransport,LPENTRYID lpTargetTransport,ULONG ulFlags) IPURE; + +#undef INTERFACE +#define INTERFACE IMAPIStatus + DECLARE_MAPI_INTERFACE_(IMAPIStatus,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAPISTATUS_METHODS(PURE) + }; + +#define MAPI_BEST_ACCESS ((ULONG) 0x00000010) + +#define WAB_LOCAL_CONTAINERS 0x00100000 +#define WAB_PROFILE_CONTENTS 0x00200000 + +#define CONVENIENT_DEPTH ((ULONG) 0x00000001) + +#define SEARCH_RUNNING ((ULONG) 0x00000001) +#define SEARCH_REBUILD ((ULONG) 0x00000002) +#define SEARCH_RECURSIVE ((ULONG) 0x00000004) +#define SEARCH_FOREGROUND ((ULONG) 0x00000008) + +#define STOP_SEARCH ((ULONG) 0x00000001) +#define RESTART_SEARCH ((ULONG) 0x00000002) +#define RECURSIVE_SEARCH ((ULONG) 0x00000004) +#define SHALLOW_SEARCH ((ULONG) 0x00000008) +#define FOREGROUND_SEARCH ((ULONG) 0x00000010) +#define BACKGROUND_SEARCH ((ULONG) 0x00000020) + +#define MAPI_IMAPICONTAINER_METHODS(IPURE) MAPIMETHOD(GetContentsTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(GetHierarchyTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(OpenEntry) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,LPCIID lpInterface,ULONG ulFlags,ULONG *lpulObjType,LPUNKNOWN *lppUnk) IPURE; MAPIMETHOD(SetSearchCriteria) (THIS_ LPSRestriction lpRestriction,LPENTRYLIST lpContainerList,ULONG ulSearchFlags) IPURE; MAPIMETHOD(GetSearchCriteria) (THIS_ ULONG ulFlags,LPSRestriction *lppRestriction,LPENTRYLIST *lppContainerList,ULONG *lpulSearchState)IPURE; + +#undef INTERFACE +#define INTERFACE IMAPIContainer + DECLARE_MAPI_INTERFACE_(IMAPIContainer,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAPICONTAINER_METHODS(PURE) + }; + + typedef struct _flaglist { + ULONG cFlags; + ULONG ulFlag[MAPI_DIM]; + } FlagList,*LPFlagList; + +#define AB_RECIPIENTS ((ULONG) 0x00000001) +#define AB_SUBCONTAINERS ((ULONG) 0x00000002) +#define AB_MODIFIABLE ((ULONG) 0x00000004) +#define AB_UNMODIFIABLE ((ULONG) 0x00000008) +#define AB_FIND_ON_OPEN ((ULONG) 0x00000010) +#define AB_NOT_DEFAULT ((ULONG) 0x00000020) + +#define CREATE_CHECK_DUP_STRICT ((ULONG) 0x00000001) +#define CREATE_CHECK_DUP_LOOSE ((ULONG) 0x00000002) +#define CREATE_REPLACE ((ULONG) 0x00000004) +#define CREATE_MERGE ((ULONG) 0x00000008) + +#define WAB_IGNORE_PROFILES 0x00800000 + +#define MAPI_UNRESOLVED ((ULONG) 0x00000000) +#define MAPI_AMBIGUOUS ((ULONG) 0x00000001) +#define MAPI_RESOLVED ((ULONG) 0x00000002) + +#define MAPI_IABCONTAINER_METHODS(IPURE) MAPIMETHOD(CreateEntry) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulCreateFlags,LPMAPIPROP *lppMAPIPropEntry) IPURE; MAPIMETHOD(CopyEntries) (THIS_ LPENTRYLIST lpEntries,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(DeleteEntries) (THIS_ LPENTRYLIST lpEntries,ULONG ulFlags) IPURE; MAPIMETHOD(ResolveNames) (THIS_ LPSPropTagArray lpPropTagArray,ULONG ulFlags,LPADRLIST lpAdrList,LPFlagList lpFlagList) IPURE; + +#undef INTERFACE +#define INTERFACE IABContainer + DECLARE_MAPI_INTERFACE_(IABContainer,IMAPIContainer) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAPICONTAINER_METHODS(PURE) + MAPI_IABCONTAINER_METHODS(PURE) + }; + +#define MAPI_SEND_NO_RICH_INFO ((ULONG) 0x00010000) + +#define MAPI_DIAG(_code) ((LONG) _code) +#define MAPI_DIAG_NO_DIAGNOSTIC MAPI_DIAG(-1) +#define MAPI_DIAG_OR_NAME_UNRECOGNIZED MAPI_DIAG(0) +#define MAPI_DIAG_OR_NAME_AMBIGUOUS MAPI_DIAG(1) +#define MAPI_DIAG_MTS_CONGESTED MAPI_DIAG(2) +#define MAPI_DIAG_LOOP_DETECTED MAPI_DIAG(3) +#define MAPI_DIAG_RECIPIENT_UNAVAILABLE MAPI_DIAG(4) +#define MAPI_DIAG_MAXIMUM_TIME_EXPIRED MAPI_DIAG(5) +#define MAPI_DIAG_EITS_UNSUPPORTED MAPI_DIAG(6) +#define MAPI_DIAG_CONTENT_TOO_LONG MAPI_DIAG(7) +#define MAPI_DIAG_IMPRACTICAL_TO_CONVERT MAPI_DIAG(8) +#define MAPI_DIAG_PROHIBITED_TO_CONVERT MAPI_DIAG(9) +#define MAPI_DIAG_CONVERSION_UNSUBSCRIBED MAPI_DIAG(10) +#define MAPI_DIAG_PARAMETERS_INVALID MAPI_DIAG(11) +#define MAPI_DIAG_CONTENT_SYNTAX_IN_ERROR MAPI_DIAG(12) +#define MAPI_DIAG_LENGTH_CONSTRAINT_VIOLATD MAPI_DIAG(13) +#define MAPI_DIAG_NUMBER_CONSTRAINT_VIOLATD MAPI_DIAG(14) +#define MAPI_DIAG_CONTENT_TYPE_UNSUPPORTED MAPI_DIAG(15) +#define MAPI_DIAG_TOO_MANY_RECIPIENTS MAPI_DIAG(16) +#define MAPI_DIAG_NO_BILATERAL_AGREEMENT MAPI_DIAG(17) +#define MAPI_DIAG_CRITICAL_FUNC_UNSUPPORTED MAPI_DIAG(18) +#define MAPI_DIAG_CONVERSION_LOSS_PROHIB MAPI_DIAG(19) +#define MAPI_DIAG_LINE_TOO_LONG MAPI_DIAG(20) +#define MAPI_DIAG_PAGE_TOO_LONG MAPI_DIAG(21) +#define MAPI_DIAG_PICTORIAL_SYMBOL_LOST MAPI_DIAG(22) +#define MAPI_DIAG_PUNCTUATION_SYMBOL_LOST MAPI_DIAG(23) +#define MAPI_DIAG_ALPHABETIC_CHARACTER_LOST MAPI_DIAG(24) +#define MAPI_DIAG_MULTIPLE_INFO_LOSSES MAPI_DIAG(25) +#define MAPI_DIAG_REASSIGNMENT_PROHIBITED MAPI_DIAG(26) +#define MAPI_DIAG_REDIRECTION_LOOP_DETECTED MAPI_DIAG(27) +#define MAPI_DIAG_EXPANSION_PROHIBITED MAPI_DIAG(28) +#define MAPI_DIAG_SUBMISSION_PROHIBITED MAPI_DIAG(29) +#define MAPI_DIAG_EXPANSION_FAILED MAPI_DIAG(30) +#define MAPI_DIAG_RENDITION_UNSUPPORTED MAPI_DIAG(31) +#define MAPI_DIAG_MAIL_ADDRESS_INCORRECT MAPI_DIAG(32) +#define MAPI_DIAG_MAIL_OFFICE_INCOR_OR_INVD MAPI_DIAG(33) +#define MAPI_DIAG_MAIL_ADDRESS_INCOMPLETE MAPI_DIAG(34) +#define MAPI_DIAG_MAIL_RECIPIENT_UNKNOWN MAPI_DIAG(35) +#define MAPI_DIAG_MAIL_RECIPIENT_DECEASED MAPI_DIAG(36) +#define MAPI_DIAG_MAIL_ORGANIZATION_EXPIRED MAPI_DIAG(37) +#define MAPI_DIAG_MAIL_REFUSED MAPI_DIAG(38) +#define MAPI_DIAG_MAIL_UNCLAIMED MAPI_DIAG(39) +#define MAPI_DIAG_MAIL_RECIPIENT_MOVED MAPI_DIAG(40) +#define MAPI_DIAG_MAIL_RECIPIENT_TRAVELLING MAPI_DIAG(41) +#define MAPI_DIAG_MAIL_RECIPIENT_DEPARTED MAPI_DIAG(42) +#define MAPI_DIAG_MAIL_NEW_ADDRESS_UNKNOWN MAPI_DIAG(43) +#define MAPI_DIAG_MAIL_FORWARDING_UNWANTED MAPI_DIAG(44) +#define MAPI_DIAG_MAIL_FORWARDING_PROHIB MAPI_DIAG(45) +#define MAPI_DIAG_SECURE_MESSAGING_ERROR MAPI_DIAG(46) +#define MAPI_DIAG_DOWNGRADING_IMPOSSIBLE MAPI_DIAG(47) + +#define MAPI_IMAILUSER_METHODS(IPURE) + +#undef INTERFACE +#define INTERFACE IMailUser + DECLARE_MAPI_INTERFACE_(IMailUser,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAILUSER_METHODS(PURE) + }; + +#define MAPI_IDISTLIST_METHODS(IPURE) MAPIMETHOD(CreateEntry) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulCreateFlags,LPMAPIPROP *lppMAPIPropEntry) IPURE; MAPIMETHOD(CopyEntries) (THIS_ LPENTRYLIST lpEntries,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(DeleteEntries) (THIS_ LPENTRYLIST lpEntries,ULONG ulFlags) IPURE; MAPIMETHOD(ResolveNames) (THIS_ LPSPropTagArray lpPropTagArray,ULONG ulFlags,LPADRLIST lpAdrList,LPFlagList lpFlagList) IPURE; + +#undef INTERFACE +#define INTERFACE IDistList + DECLARE_MAPI_INTERFACE_(IDistList,IMAPIContainer) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAPICONTAINER_METHODS(PURE) + MAPI_IDISTLIST_METHODS(PURE) + }; + +#define FOLDER_ROOT ((ULONG) 0x00000000) +#define FOLDER_GENERIC ((ULONG) 0x00000001) +#define FOLDER_SEARCH ((ULONG) 0x00000002) + +#define MESSAGE_MOVE ((ULONG) 0x00000001) +#define MESSAGE_DIALOG ((ULONG) 0x00000002) + +#define OPEN_IF_EXISTS ((ULONG) 0x00000001) + +#define DEL_MESSAGES ((ULONG) 0x00000001) +#define FOLDER_DIALOG ((ULONG) 0x00000002) +#define DEL_FOLDERS ((ULONG) 0x00000004) + +#define DEL_ASSOCIATED ((ULONG) 0x00000008) + +#define FOLDER_MOVE ((ULONG) 0x00000001) + +#define COPY_SUBFOLDERS ((ULONG) 0x00000010) + +#define GENERATE_RECEIPT_ONLY ((ULONG) 0x00000010) + +#define MSGSTATUS_HIGHLIGHTED ((ULONG) 0x00000001) +#define MSGSTATUS_TAGGED ((ULONG) 0x00000002) +#define MSGSTATUS_HIDDEN ((ULONG) 0x00000004) +#define MSGSTATUS_DELMARKED ((ULONG) 0x00000008) + +#define MSGSTATUS_REMOTE_DOWNLOAD ((ULONG) 0x00001000) +#define MSGSTATUS_REMOTE_DELETE ((ULONG) 0x00002000) + +#define RECURSIVE_SORT ((ULONG) 0x00000002) + +#define FLDSTATUS_HIGHLIGHTED ((ULONG) 0x00000001) +#define FLDSTATUS_TAGGED ((ULONG) 0x00000002) +#define FLDSTATUS_HIDDEN ((ULONG) 0x00000004) +#define FLDSTATUS_DELMARKED ((ULONG) 0x00000008) + +#define MAPI_IMAPIFOLDER_METHODS(IPURE) MAPIMETHOD(CreateMessage) (THIS_ LPCIID lpInterface,ULONG ulFlags,LPMESSAGE *lppMessage) IPURE; MAPIMETHOD(CopyMessages) (THIS_ LPENTRYLIST lpMsgList,LPCIID lpInterface,LPVOID lpDestFolder,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(DeleteMessages) (THIS_ LPENTRYLIST lpMsgList,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(CreateFolder) (THIS_ ULONG ulFolderType,LPTSTR lpszFolderName,LPTSTR lpszFolderComment,LPCIID lpInterface,ULONG ulFlags,LPMAPIFOLDER *lppFolder) IPURE; MAPIMETHOD(CopyFolder) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,LPCIID lpInterface,LPVOID lpDestFolder,LPTSTR lpszNewFolderName,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(DeleteFolder) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(SetReadFlags) (THIS_ LPENTRYLIST lpMsgList,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(GetMessageStatus) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulFlags,ULONG *lpulMessageStatus) IPURE; MAPIMETHOD(SetMessageStatus) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulNewStatus,ULONG ulNewStatusMask,ULONG *lpulOldStatus) IPURE; MAPIMETHOD(SaveContentsSort) (THIS_ LPSSortOrderSet lpSortCriteria,ULONG ulFlags) IPURE; MAPIMETHOD(EmptyFolder) (THIS_ ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; + +#undef INTERFACE +#define INTERFACE IMAPIFolder + DECLARE_MAPI_INTERFACE_(IMAPIFolder,IMAPIContainer) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMAPICONTAINER_METHODS(PURE) + MAPI_IMAPIFOLDER_METHODS(PURE) + }; + +#define STORE_ENTRYID_UNIQUE ((ULONG) 0x00000001) +#define STORE_READONLY ((ULONG) 0x00000002) +#define STORE_SEARCH_OK ((ULONG) 0x00000004) +#define STORE_MODIFY_OK ((ULONG) 0x00000008) +#define STORE_CREATE_OK ((ULONG) 0x00000010) +#define STORE_ATTACH_OK ((ULONG) 0x00000020) +#define STORE_OLE_OK ((ULONG) 0x00000040) +#define STORE_SUBMIT_OK ((ULONG) 0x00000080) +#define STORE_NOTIFY_OK ((ULONG) 0x00000100) +#define STORE_MV_PROPS_OK ((ULONG) 0x00000200) +#define STORE_CATEGORIZE_OK ((ULONG) 0x00000400) +#define STORE_RTF_OK ((ULONG) 0x00000800) +#define STORE_RESTRICTION_OK ((ULONG) 0x00001000) +#define STORE_SORT_OK ((ULONG) 0x00002000) + +#define STORE_HAS_SEARCHES ((ULONG) 0x01000000) + +#define LOGOFF_NO_WAIT ((ULONG) 0x00000001) +#define LOGOFF_ORDERLY ((ULONG) 0x00000002) +#define LOGOFF_PURGE ((ULONG) 0x00000004) +#define LOGOFF_ABORT ((ULONG) 0x00000008) +#define LOGOFF_QUIET ((ULONG) 0x00000010) + +#define LOGOFF_COMPLETE ((ULONG) 0x00010000) +#define LOGOFF_INBOUND ((ULONG) 0x00020000) +#define LOGOFF_OUTBOUND ((ULONG) 0x00040000) +#define LOGOFF_OUTBOUND_QUEUE ((ULONG) 0x00080000) + +#define MSG_LOCKED ((ULONG) 0x00000001) +#define MSG_UNLOCKED ((ULONG) 0x00000000) + +#define FOLDER_IPM_SUBTREE_VALID ((ULONG) 0x00000001) +#define FOLDER_IPM_INBOX_VALID ((ULONG) 0x00000002) +#define FOLDER_IPM_OUTBOX_VALID ((ULONG) 0x00000004) +#define FOLDER_IPM_WASTEBASKET_VALID ((ULONG) 0x00000008) +#define FOLDER_IPM_SENTMAIL_VALID ((ULONG) 0x00000010) +#define FOLDER_VIEWS_VALID ((ULONG) 0x00000020) +#define FOLDER_COMMON_VIEWS_VALID ((ULONG) 0x00000040) +#define FOLDER_FINDER_VALID ((ULONG) 0x00000080) + +#define MAPI_IMSGSTORE_METHODS(IPURE) MAPIMETHOD(Advise) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulEventMask,LPMAPIADVISESINK lpAdviseSink,ULONG *lpulConnection) IPURE; MAPIMETHOD(Unadvise) (THIS_ ULONG ulConnection) IPURE; MAPIMETHOD(CompareEntryIDs) (THIS_ ULONG cbEntryID1,LPENTRYID lpEntryID1,ULONG cbEntryID2,LPENTRYID lpEntryID2,ULONG ulFlags,ULONG *lpulResult) IPURE; MAPIMETHOD(OpenEntry) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,LPCIID lpInterface,ULONG ulFlags,ULONG *lpulObjType,LPUNKNOWN *lppUnk) IPURE; MAPIMETHOD(SetReceiveFolder) (THIS_ LPTSTR lpszMessageClass,ULONG ulFlags,ULONG cbEntryID,LPENTRYID lpEntryID) IPURE; MAPIMETHOD(GetReceiveFolder) (THIS_ LPTSTR lpszMessageClass,ULONG ulFlags,ULONG *lpcbEntryID,LPENTRYID *lppEntryID,LPTSTR *lppszExplicitClass) IPURE; MAPIMETHOD(GetReceiveFolderTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(StoreLogoff) (THIS_ ULONG *lpulFlags) IPURE; MAPIMETHOD(AbortSubmit) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulFlags) IPURE; MAPIMETHOD(GetOutgoingQueue) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(SetLockState) (THIS_ LPMESSAGE lpMessage,ULONG ulLockState) IPURE; MAPIMETHOD(FinishedMsg) (THIS_ ULONG ulFlags,ULONG cbEntryID,LPENTRYID lpEntryID) IPURE; MAPIMETHOD(NotifyNewMail) (THIS_ LPNOTIFICATION lpNotification) IPURE; + +#undef INTERFACE +#define INTERFACE IMsgStore + DECLARE_MAPI_INTERFACE_(IMsgStore,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMSGSTORE_METHODS(PURE) + }; + +#define FORCE_SUBMIT ((ULONG) 0x00000001) + +#define MSGFLAG_READ ((ULONG) 0x00000001) +#define MSGFLAG_UNMODIFIED ((ULONG) 0x00000002) +#define MSGFLAG_SUBMIT ((ULONG) 0x00000004) +#define MSGFLAG_UNSENT ((ULONG) 0x00000008) +#define MSGFLAG_HASATTACH ((ULONG) 0x00000010) +#define MSGFLAG_FROMME ((ULONG) 0x00000020) +#define MSGFLAG_ASSOCIATED ((ULONG) 0x00000040) +#define MSGFLAG_RESEND ((ULONG) 0x00000080) +#define MSGFLAG_RN_PENDING ((ULONG) 0x00000100) +#define MSGFLAG_NRN_PENDING ((ULONG) 0x00000200) + +#define SUBMITFLAG_LOCKED ((ULONG) 0x00000001) +#define SUBMITFLAG_PREPROCESS ((ULONG) 0x00000002) + +#define MODRECIP_ADD ((ULONG) 0x00000002) +#define MODRECIP_MODIFY ((ULONG) 0x00000004) +#define MODRECIP_REMOVE ((ULONG) 0x00000008) + +#define SUPPRESS_RECEIPT ((ULONG) 0x00000001) +#define CLEAR_READ_FLAG ((ULONG) 0x00000004) + +#define GENERATE_RECEIPT_ONLY ((ULONG) 0x00000010) +#define CLEAR_RN_PENDING ((ULONG) 0x00000020) +#define CLEAR_NRN_PENDING ((ULONG) 0x00000040) + +#define ATTACH_DIALOG ((ULONG) 0x00000001) + +#define SECURITY_SIGNED ((ULONG) 0x00000001) +#define SECURITY_ENCRYPTED ((ULONG) 0x00000002) + +#define PRIO_URGENT ((__LONG32) 1) +#define PRIO_NORMAL ((__LONG32) 0) +#define PRIO_NONURGENT ((__LONG32) -1) + +#define SENSITIVITY_NONE ((ULONG) 0x00000000) +#define SENSITIVITY_PERSONAL ((ULONG) 0x00000001) +#define SENSITIVITY_PRIVATE ((ULONG) 0x00000002) +#define SENSITIVITY_COMPANY_CONFIDENTIAL ((ULONG) 0x00000003) + +#define IMPORTANCE_LOW ((__LONG32) 0) +#define IMPORTANCE_NORMAL ((__LONG32) 1) +#define IMPORTANCE_HIGH ((__LONG32) 2) + +#define MAPI_IMESSAGE_METHODS(IPURE) MAPIMETHOD(GetAttachmentTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(OpenAttach) (THIS_ ULONG ulAttachmentNum,LPCIID lpInterface,ULONG ulFlags,LPATTACH *lppAttach) IPURE; MAPIMETHOD(CreateAttach) (THIS_ LPCIID lpInterface,ULONG ulFlags,ULONG *lpulAttachmentNum,LPATTACH *lppAttach) IPURE; MAPIMETHOD(DeleteAttach) (THIS_ ULONG ulAttachmentNum,ULONG ulUIParam,LPMAPIPROGRESS lpProgress,ULONG ulFlags) IPURE; MAPIMETHOD(GetRecipientTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(ModifyRecipients) (THIS_ ULONG ulFlags,LPADRLIST lpMods) IPURE; MAPIMETHOD(SubmitMessage) (THIS_ ULONG ulFlags) IPURE; MAPIMETHOD(SetReadFlag) (THIS_ ULONG ulFlags) IPURE; +#undef INTERFACE +#define INTERFACE IMessage + DECLARE_MAPI_INTERFACE_(IMessage,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IMESSAGE_METHODS(PURE) + }; + +#define NO_ATTACHMENT ((ULONG) 0x00000000) +#define ATTACH_BY_VALUE ((ULONG) 0x00000001) +#define ATTACH_BY_REFERENCE ((ULONG) 0x00000002) +#define ATTACH_BY_REF_RESOLVE ((ULONG) 0x00000003) +#define ATTACH_BY_REF_ONLY ((ULONG) 0x00000004) +#define ATTACH_EMBEDDED_MSG ((ULONG) 0x00000005) +#define ATTACH_OLE ((ULONG) 0x00000006) + +#define MAPI_IATTACH_METHODS(IPURE) + +#undef INTERFACE +#define INTERFACE IAttach + DECLARE_MAPI_INTERFACE_(IAttach,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IATTACH_METHODS(PURE) + }; + +#define GET_ADRPARM_VERSION(ulFlags) (((ULONG)ulFlags) & 0xF0000000) +#define SET_ADRPARM_VERSION(ulFlags,ulVersion) (((ULONG)ulVersion) | (((ULONG)ulFlags) & 0x0FFFFFFF)) + +#define ADRPARM_HELP_CTX ((ULONG) 0x00000000) + +#define DIALOG_MODAL ((ULONG) 0x00000001) +#define DIALOG_SDI ((ULONG) 0x00000002) +#define DIALOG_OPTIONS ((ULONG) 0x00000004) +#define ADDRESS_ONE ((ULONG) 0x00000008) +#define AB_SELECTONLY ((ULONG) 0x00000010) +#define AB_RESOLVE ((ULONG) 0x00000020) + +#define DT_MAILUSER ((ULONG) 0x00000000) +#define DT_DISTLIST ((ULONG) 0x00000001) +#define DT_FORUM ((ULONG) 0x00000002) +#define DT_AGENT ((ULONG) 0x00000003) +#define DT_ORGANIZATION ((ULONG) 0x00000004) +#define DT_PRIVATE_DISTLIST ((ULONG) 0x00000005) +#define DT_REMOTE_MAILUSER ((ULONG) 0x00000006) + +#define DT_MODIFIABLE ((ULONG) 0x00010000) +#define DT_GLOBAL ((ULONG) 0x00020000) +#define DT_LOCAL ((ULONG) 0x00030000) +#define DT_WAN ((ULONG) 0x00040000) +#define DT_NOT_SPECIFIC ((ULONG) 0x00050000) + +#define DT_FOLDER ((ULONG) 0x01000000) +#define DT_FOLDER_LINK ((ULONG) 0x02000000) + + typedef WINBOOL (WINAPI ACCELERATEABSDI)(ULONG ulUIParam,LPVOID lpvmsg); + typedef ACCELERATEABSDI *LPFNABSDI; + typedef void (WINAPI DISMISSMODELESS)(ULONG ulUIParam,LPVOID lpvContext); + typedef DISMISSMODELESS *LPFNDISMISS; + typedef SCODE (WINAPI *LPFNBUTTON)(ULONG ulUIParam,LPVOID lpvContext,ULONG cbEntryID,LPENTRYID lpSelection,ULONG ulFlags); + + typedef struct _ADRPARM { + ULONG cbABContEntryID; + LPENTRYID lpABContEntryID; + ULONG ulFlags; + LPVOID lpReserved; + ULONG ulHelpContext; + LPTSTR lpszHelpFileName; + LPFNABSDI lpfnABSDI; + LPFNDISMISS lpfnDismiss; + LPVOID lpvDismissContext; + LPTSTR lpszCaption; + LPTSTR lpszNewEntryTitle; + LPTSTR lpszDestWellsTitle; + ULONG cDestFields; + ULONG nDestFieldFocus; + LPTSTR *lppszDestTitles; + ULONG *lpulDestComps; + LPSRestriction lpContRestriction; + LPSRestriction lpHierRestriction; + } ADRPARM,*LPADRPARM; + +#define MAPI_ONE_OFF_NO_RICH_INFO 0x0001 +#define MAPI_DEFERRED_ERRORS ((ULONG) 0x00000008) +#define MAPI_ASSOCIATED ((ULONG) 0x00000040) + +#define MDB_NO_DIALOG ((ULONG) 0x00000001) +#define MDB_WRITE ((ULONG) 0x00000004) + +#define MDB_TEMPORARY ((ULONG) 0x00000020) +#define MDB_NO_MAIL ((ULONG) 0x00000080) + +#define AB_NO_DIALOG ((ULONG) 0x00000001) + +#define MAPI_ENABLED ((ULONG) 0x00000000) +#define MAPI_DISABLED ((ULONG) 0x00000001) + +#define MAPI_IMAPICONTROL_METHODS(IPURE) MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult,ULONG ulFlags,LPMAPIERROR *lppMAPIError) IPURE; MAPIMETHOD(Activate) (THIS_ ULONG ulFlags,ULONG ulUIParam) IPURE; MAPIMETHOD(GetState) (THIS_ ULONG ulFlags,ULONG *lpulState) IPURE; +#undef INTERFACE +#define INTERFACE IMAPIControl + DECLARE_MAPI_INTERFACE_(IMAPIControl,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPICONTROL_METHODS(PURE) + }; + + DECLARE_MAPI_INTERFACE_PTR(IMAPIControl,LPMAPICONTROL); + +#define DT_MULTILINE ((ULONG) 0x00000001) +#define DT_EDITABLE ((ULONG) 0x00000002) +#define DT_REQUIRED ((ULONG) 0x00000004) +#define DT_SET_IMMEDIATE ((ULONG) 0x00000008) +#define DT_PASSWORD_EDIT ((ULONG) 0x00000010) +#define DT_ACCEPT_DBCS ((ULONG) 0x00000020) +#define DT_SET_SELECTION ((ULONG) 0x00000040) + +#define DTCT_LABEL ((ULONG) 0x00000000) +#define DTCT_EDIT ((ULONG) 0x00000001) +#define DTCT_LBX ((ULONG) 0x00000002) +#define DTCT_COMBOBOX ((ULONG) 0x00000003) +#define DTCT_DDLBX ((ULONG) 0x00000004) +#define DTCT_CHECKBOX ((ULONG) 0x00000005) +#define DTCT_GROUPBOX ((ULONG) 0x00000006) +#define DTCT_BUTTON ((ULONG) 0x00000007) +#define DTCT_PAGE ((ULONG) 0x00000008) +#define DTCT_RADIOBUTTON ((ULONG) 0x00000009) +#define DTCT_MVLISTBOX ((ULONG) 0x0000000B) +#define DTCT_MVDDLBX ((ULONG) 0x0000000C) + + typedef struct _DTBLLABEL { + ULONG ulbLpszLabelName; + ULONG ulFlags; + } DTBLLABEL,*LPDTBLLABEL; +#define SizedDtblLabel(n,u) struct _DTBLLABEL_ ## u { DTBLLABEL dtbllabel; TCHAR lpszLabelName[n]; } u + + typedef struct _DTBLEDIT { + ULONG ulbLpszCharsAllowed; + ULONG ulFlags; + ULONG ulNumCharsAllowed; + ULONG ulPropTag; + } DTBLEDIT,*LPDTBLEDIT; +#define SizedDtblEdit(n,u) struct _DTBLEDIT_ ## u { DTBLEDIT dtbledit; TCHAR lpszCharsAllowed[n]; } u + +#define MAPI_NO_HBAR ((ULONG) 0x00000001) +#define MAPI_NO_VBAR ((ULONG) 0x00000002) + + typedef struct _DTBLLBX { + ULONG ulFlags; + ULONG ulPRSetProperty; + ULONG ulPRTableName; + } DTBLLBX,*LPDTBLLBX; + + typedef struct _DTBLCOMBOBOX { + ULONG ulbLpszCharsAllowed; + ULONG ulFlags; + ULONG ulNumCharsAllowed; + ULONG ulPRPropertyName; + ULONG ulPRTableName; + } DTBLCOMBOBOX,*LPDTBLCOMBOBOX; +#define SizedDtblComboBox(n,u) struct _DTBLCOMBOBOX_ ## u { DTBLCOMBOBOX dtblcombobox; TCHAR lpszCharsAllowed[n]; } u + + typedef struct _DTBLDDLBX { + ULONG ulFlags; + ULONG ulPRDisplayProperty; + ULONG ulPRSetProperty; + ULONG ulPRTableName; + } DTBLDDLBX,*LPDTBLDDLBX; + + typedef struct _DTBLCHECKBOX { + ULONG ulbLpszLabel; + ULONG ulFlags; + ULONG ulPRPropertyName; + } DTBLCHECKBOX,*LPDTBLCHECKBOX; +#define SizedDtblCheckBox(n,u) struct _DTBLCHECKBOX_ ## u { DTBLCHECKBOX dtblcheckbox; TCHAR lpszLabel[n]; } u + + typedef struct _DTBLGROUPBOX { + ULONG ulbLpszLabel; + ULONG ulFlags; + } DTBLGROUPBOX,*LPDTBLGROUPBOX; +#define SizedDtblGroupBox(n,u) struct _DTBLGROUPBOX_ ## u { DTBLGROUPBOX dtblgroupbox; TCHAR lpszLabel[n]; } u + + typedef struct _DTBLBUTTON { + ULONG ulbLpszLabel; + ULONG ulFlags; + ULONG ulPRControl; + } DTBLBUTTON,*LPDTBLBUTTON; +#define SizedDtblButton(n,u) struct _DTBLBUTTON_ ## u { DTBLBUTTON dtblbutton; TCHAR lpszLabel[n]; } u + + typedef struct _DTBLPAGE { + ULONG ulbLpszLabel; + ULONG ulFlags; + ULONG ulbLpszComponent; + ULONG ulContext; + } DTBLPAGE,*LPDTBLPAGE; +#define SizedDtblPage(n,n1,u) struct _DTBLPAGE_ ## u { DTBLPAGE dtblpage; TCHAR lpszLabel[n]; TCHAR lpszComponent[n1]; } u + + typedef struct _DTBLRADIOBUTTON { + ULONG ulbLpszLabel; + ULONG ulFlags; + ULONG ulcButtons; + ULONG ulPropTag; + __LONG32 lReturnValue; + } DTBLRADIOBUTTON,*LPDTBLRADIOBUTTON; +#define SizedDtblRadioButton(n,u) struct _DTBLRADIOBUTTON_ ## u { DTBLRADIOBUTTON dtblradiobutton; TCHAR lpszLabel[n]; } u + + typedef struct _DTBLMVLISTBOX { + ULONG ulFlags; + ULONG ulMVPropTag; + } DTBLMVLISTBOX,*LPDTBLMVLISTBOX; + + typedef struct _DTBLMVDDLBX { + ULONG ulFlags; + ULONG ulMVPropTag; + } DTBLMVDDLBX,*LPDTBLMVDDLBX; + +#define UI_SERVICE 0x00000002 +#define SERVICE_UI_ALWAYS 0x00000002 +#define SERVICE_UI_ALLOWED 0x00000010 +#define UI_CURRENT_PROVIDER_FIRST 0x00000004 + +#define MAPI_IPROVIDERADMIN_METHODS(IPURE) MAPIMETHOD(GetLastError) (THIS_ HRESULT hResult,ULONG ulFlags,LPMAPIERROR *lppMAPIError) IPURE; MAPIMETHOD(GetProviderTable) (THIS_ ULONG ulFlags,LPMAPITABLE *lppTable) IPURE; MAPIMETHOD(CreateProvider) (THIS_ LPTSTR lpszProvider,ULONG cValues,LPSPropValue lpProps,ULONG ulUIParam,ULONG ulFlags,MAPIUID *lpUID) IPURE; MAPIMETHOD(DeleteProvider) (THIS_ LPMAPIUID lpUID) IPURE; MAPIMETHOD(OpenProfileSection) (THIS_ LPMAPIUID lpUID,LPCIID lpInterface,ULONG ulFlags,LPPROFSECT *lppProfSect) IPURE; + +#undef INTERFACE +#define INTERFACE IProviderAdmin + DECLARE_MAPI_INTERFACE_(IProviderAdmin,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IPROVIDERADMIN_METHODS(PURE) + }; + + typedef HANDLE HANDLE_16; + typedef WPARAM WPARAM_16; + +#define EXTERN_C_16 +#define WINAPI_16 +#define CALLBACK_16 +#define EXPORT_16 +#define LOADDS_16 +#define HUGEP_16 +#define APIENTRY_16 WINAPI +#define IF_WIN16(x) +#define IF_NOT_WIN16(x) x +#define IF_WIN32(x) x + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabiab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabiab.h new file mode 100644 index 00000000..9fababe9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabiab.h @@ -0,0 +1,31 @@ +/** + * 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 WABIAB_H +#define WABIAB_H + +#define WAB_RESOLVE_LOCAL_ONLY ((ULONG) 0x80000000) +#define WAB_RESOLVE_ALL_EMAILS ((ULONG) 0x40000000) +#define WAB_RESOLVE_NO_ONE_OFFS ((ULONG) 0x20000000) +#define WAB_RESOLVE_NEED_CERT ((ULONG) 0x10000000) +#define WAB_RESOLVE_NO_NOT_FOUND_UI ((ULONG) 0x08000000) +#define WAB_RESOLVE_USE_CURRENT_PROFILE ((ULONG) 0x04000000) +#define WAB_RESOLVE_FIRST_MATCH ((ULONG) 0x02000000) +#define WAB_RESOLVE_UNICODE ((ULONG) 0x01000000) + +#ifndef MAPIX_H +#define MAPI_IADDRBOOK_METHODS(IPURE) MAPIMETHOD(OpenEntry) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,LPCIID lpInterface,ULONG ulFlags,ULONG *lpulObjType,LPUNKNOWN *lppUnk) IPURE; MAPIMETHOD(CompareEntryIDs) (THIS_ ULONG cbEntryID1,LPENTRYID lpEntryID1,ULONG cbEntryID2,LPENTRYID lpEntryID2,ULONG ulFlags,ULONG *lpulResult) IPURE; MAPIMETHOD(Advise) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID,ULONG ulEventMask,LPMAPIADVISESINK lpAdviseSink,ULONG *lpulConnection) IPURE; MAPIMETHOD(Unadvise) (THIS_ ULONG ulConnection) IPURE; MAPIMETHOD(CreateOneOff) (THIS_ LPTSTR lpszName,LPTSTR lpszAdrType,LPTSTR lpszAddress,ULONG ulFlags,ULONG *lpcbEntryID,LPENTRYID *lppEntryID) IPURE; MAPIMETHOD(NewEntry) (THIS_ ULONG ulUIParam,ULONG ulFlags,ULONG cbEIDContainer,LPENTRYID lpEIDContainer,ULONG cbEIDNewEntryTpl,LPENTRYID lpEIDNewEntryTpl,ULONG *lpcbEIDNewEntry,LPENTRYID *lppEIDNewEntry) IPURE; MAPIMETHOD(ResolveName) (THIS_ ULONG_PTR ulUIParam,ULONG ulFlags,LPTSTR lpszNewEntryTitle,LPADRLIST lpAdrList) IPURE; MAPIMETHOD(Address) (THIS_ ULONG *lpulUIParam,LPADRPARM lpAdrParms,LPADRLIST *lppAdrList) IPURE; MAPIMETHOD(Details) (THIS_ ULONG *lpulUIParam,LPFNDISMISS lpfnDismiss,LPVOID lpvDismissContext,ULONG cbEntryID,LPENTRYID lpEntryID,LPFNBUTTON lpfButtonCallback,LPVOID lpvButtonContext,LPTSTR lpszButtonText,ULONG ulFlags) IPURE; MAPIMETHOD(RecipOptions) (THIS_ ULONG ulUIParam,ULONG ulFlags,LPADRENTRY lpRecip) IPURE; MAPIMETHOD(QueryDefaultRecipOpt) (THIS_ LPTSTR lpszAdrType,ULONG ulFlags,ULONG *lpcValues,LPSPropValue *lppOptions) IPURE; MAPIMETHOD(GetPAB) (THIS_ ULONG *lpcbEntryID,LPENTRYID *lppEntryID) IPURE; MAPIMETHOD(SetPAB) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID) IPURE; MAPIMETHOD(GetDefaultDir) (THIS_ ULONG *lpcbEntryID,LPENTRYID *lppEntryID) IPURE; MAPIMETHOD(SetDefaultDir) (THIS_ ULONG cbEntryID,LPENTRYID lpEntryID) IPURE; MAPIMETHOD(GetSearchPath) (THIS_ ULONG ulFlags,LPSRowSet *lppSearchPath) IPURE; MAPIMETHOD(SetSearchPath) (THIS_ ULONG ulFlags,LPSRowSet lpSearchPath) IPURE; MAPIMETHOD(PrepareRecips) (THIS_ ULONG ulFlags,LPSPropTagArray lpPropTagArray,LPADRLIST lpRecipList) IPURE; +#undef INTERFACE +#define INTERFACE IAddrBook +DECLARE_MAPI_INTERFACE_(IAddrBook,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IADDRBOOK_METHODS(PURE) +}; + +DECLARE_MAPI_INTERFACE_PTR(IAddrBook,LPADRBOOK); +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabmem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabmem.h new file mode 100644 index 00000000..89f2bcb4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabmem.h @@ -0,0 +1,24 @@ +/** + * 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. + */ +#if !defined(WABMEM_H) +#define WABMEM_H + +#ifndef MAPIX_H +typedef SCODE (WINAPI MAPIALLOCATEBUFFER)(ULONG cbSize,LPVOID *lppBuffer); +typedef SCODE (WINAPI MAPIALLOCATEMORE)(ULONG cbSize,LPVOID lpObject,LPVOID *lppBuffer); +typedef ULONG (WINAPI MAPIFREEBUFFER)(LPVOID lpBuffer); +typedef MAPIALLOCATEBUFFER *LPMAPIALLOCATEBUFFER; +typedef MAPIALLOCATEMORE *LPMAPIALLOCATEMORE; +typedef MAPIFREEBUFFER *LPMAPIFREEBUFFER; +#endif +typedef SCODE (WINAPI WABALLOCATEBUFFER)(LPWABOBJECT lpWABObject,ULONG cbSize,LPVOID *lppBuffer); +typedef SCODE (WINAPI WABALLOCATEMORE)(LPWABOBJECT lpWABObject,ULONG cbSize,LPVOID lpObject,LPVOID *lppBuffer); +typedef ULONG (WINAPI WABFREEBUFFER)(LPWABOBJECT lpWABObject,LPVOID lpBuffer); +typedef WABALLOCATEBUFFER *LPWABALLOCATEBUFFER; +typedef WABALLOCATEMORE *LPWABALLOCATEMORE; +typedef WABFREEBUFFER *LPWABFREEBUFFER; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabnot.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabnot.h new file mode 100644 index 00000000..6de4d9b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabnot.h @@ -0,0 +1,57 @@ +/** + * 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. + */ +#if !defined(MAPISPI_H) && !defined(WABSPI_H) +#define WABSPI_H + +#ifndef BEGIN_INTERFACE +#define BEGIN_INTERFACE +#endif + +#ifndef MAPI_DIM +#define MAPI_DIM 1 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct { + ULONG cb; + BYTE ab[MAPI_DIM]; + } NOTIFKEY,*LPNOTIFKEY; + +#define CbNewNOTIFKEY(_cb) (offsetof(NOTIFKEY,ab) + (_cb)) +#define CbNOTIFKEY(_lpkey) (offsetof(NOTIFKEY,ab) + (_lpkey)->cb) +#define SizedNOTIFKEY(_cb,_name) struct _NOTIFKEY_ ## _name { ULONG cb; BYTE ab[_cb]; } _name + +#define NOTIFY_SYNC ((ULONG) 0x40000000) + +#define NOTIFY_CANCELED ((ULONG) 0x80000000) + +#define CALLBACK_DISCONTINUE ((ULONG) 0x80000000) + +#define NOTIFY_NEWMAIL ((ULONG) 0x00000001) +#define NOTIFY_READYTOSEND ((ULONG) 0x00000002) +#define NOTIFY_SENTDEFERRED ((ULONG) 0x00000004) +#define NOTIFY_CRITSEC ((ULONG) 0x00001000) +#define NOTIFY_NONCRIT ((ULONG) 0x00002000) +#define NOTIFY_CONFIG_CHANGE ((ULONG) 0x00004000) +#define NOTIFY_CRITICAL_ERROR ((ULONG) 0x10000000) +#define NOTIFY_NEWMAIL_RECEIVED ((ULONG) 0x20000000) + +#define STATUSROW_UPDATE ((ULONG) 0x10000000) + +#define STGSTRM_RESET ((ULONG) 0x00000000) +#define STGSTRM_CURRENT ((ULONG) 0x10000000) +#define STGSTRM_MODIFY ((ULONG) 0x00000002) +#define STGSTRM_CREATE ((ULONG) 0x00001000) + +#define MAPI_NON_READ ((ULONG) 0x00000001) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabtags.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabtags.h new file mode 100644 index 00000000..871c0f99 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabtags.h @@ -0,0 +1,361 @@ +/** + * 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. + */ +#if !defined(MAPITAGS_H) && !defined(WABTAGS_H) +#define WABTAGS_H + +#define FIsTransmittable(ulPropTag) ((PROP_ID (ulPropTag) < (ULONG)0x0E00) || (PROP_ID (ulPropTag) >= (ULONG)0x8000) || ((PROP_ID (ulPropTag) >= (ULONG)0x1000) && (PROP_ID (ulPropTag) < (ULONG)0x6000)) || ((PROP_ID (ulPropTag) >= (ULONG)0x6800) && (PROP_ID (ulPropTag) < (ULONG)0x7C00))) + +#define PR_ENTRYID PROP_TAG(PT_BINARY,0x0FFF) +#define PR_OBJECT_TYPE PROP_TAG(PT_LONG,0x0FFE) +#define PR_ICON PROP_TAG(PT_BINARY,0x0FFD) +#define PR_MINI_ICON PROP_TAG(PT_BINARY,0x0FFC) +#define PR_STORE_ENTRYID PROP_TAG(PT_BINARY,0x0FFB) +#define PR_STORE_RECORD_KEY PROP_TAG(PT_BINARY,0x0FFA) +#define PR_RECORD_KEY PROP_TAG(PT_BINARY,0x0FF9) +#define PR_MAPPING_SIGNATURE PROP_TAG(PT_BINARY,0x0FF8) +#define PR_ACCESS_LEVEL PROP_TAG(PT_LONG,0x0FF7) +#define PR_INSTANCE_KEY PROP_TAG(PT_BINARY,0x0FF6) +#define PR_ROW_TYPE PROP_TAG(PT_LONG,0x0FF5) +#define PR_ACCESS PROP_TAG(PT_LONG,0x0FF4) + +#define PR_ROWID PROP_TAG(PT_LONG,0x3000) +#define PR_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3001) +#define PR_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3001) +#define PR_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3001) +#define PR_ADDRTYPE PROP_TAG(PT_TSTRING,0x3002) +#define PR_ADDRTYPE_W PROP_TAG(PT_UNICODE,0x3002) +#define PR_ADDRTYPE_A PROP_TAG(PT_STRING8,0x3002) +#define PR_EMAIL_ADDRESS PROP_TAG(PT_TSTRING,0x3003) +#define PR_EMAIL_ADDRESS_W PROP_TAG(PT_UNICODE,0x3003) +#define PR_EMAIL_ADDRESS_A PROP_TAG(PT_STRING8,0x3003) +#define PR_COMMENT PROP_TAG(PT_TSTRING,0x3004) +#define PR_COMMENT_W PROP_TAG(PT_UNICODE,0x3004) +#define PR_COMMENT_A PROP_TAG(PT_STRING8,0x3004) +#define PR_DEPTH PROP_TAG(PT_LONG,0x3005) +#define PR_PROVIDER_DISPLAY PROP_TAG(PT_TSTRING,0x3006) +#define PR_PROVIDER_DISPLAY_W PROP_TAG(PT_UNICODE,0x3006) +#define PR_PROVIDER_DISPLAY_A PROP_TAG(PT_STRING8,0x3006) +#define PR_CREATION_TIME PROP_TAG(PT_SYSTIME,0x3007) +#define PR_LAST_MODIFICATION_TIME PROP_TAG(PT_SYSTIME,0x3008) +#define PR_RESOURCE_FLAGS PROP_TAG(PT_LONG,0x3009) +#define PR_PROVIDER_DLL_NAME PROP_TAG(PT_TSTRING,0x300A) +#define PR_PROVIDER_DLL_NAME_W PROP_TAG(PT_UNICODE,0x300A) +#define PR_PROVIDER_DLL_NAME_A PROP_TAG(PT_STRING8,0x300A) +#define PR_SEARCH_KEY PROP_TAG(PT_BINARY,0x300B) +#define PR_PROVIDER_UID PROP_TAG(PT_BINARY,0x300C) +#define PR_PROVIDER_ORDINAL PROP_TAG(PT_LONG,0x300D) + +#define PR_CONTAINER_FLAGS PROP_TAG(PT_LONG,0x3600) +#define PR_FOLDER_TYPE PROP_TAG(PT_LONG,0x3601) +#define PR_CONTENT_COUNT PROP_TAG(PT_LONG,0x3602) +#define PR_CONTENT_UNREAD PROP_TAG(PT_LONG,0x3603) +#define PR_CREATE_TEMPLATES PROP_TAG(PT_OBJECT,0x3604) +#define PR_DETAILS_TABLE PROP_TAG(PT_OBJECT,0x3605) +#define PR_SEARCH PROP_TAG(PT_OBJECT,0x3607) +#define PR_SELECTABLE PROP_TAG(PT_BOOLEAN,0x3609) +#define PR_SUBFOLDERS PROP_TAG(PT_BOOLEAN,0x360a) +#define PR_STATUS PROP_TAG(PT_LONG,0x360b) +#define PR_ANR PROP_TAG(PT_TSTRING,0x360c) +#define PR_ANR_W PROP_TAG(PT_UNICODE,0x360c) +#define PR_ANR_A PROP_TAG(PT_STRING8,0x360c) +#define PR_CONTENTS_SORT_ORDER PROP_TAG(PT_MV_LONG,0x360d) +#define PR_CONTAINER_HIERARCHY PROP_TAG(PT_OBJECT,0x360e) +#define PR_CONTAINER_CONTENTS PROP_TAG(PT_OBJECT,0x360f) +#define PR_FOLDER_ASSOCIATED_CONTENTS PROP_TAG(PT_OBJECT,0x3610) +#define PR_DEF_CREATE_DL PROP_TAG(PT_BINARY,0x3611) +#define PR_DEF_CREATE_MAILUSER PROP_TAG(PT_BINARY,0x3612) +#define PR_CONTAINER_CLASS PROP_TAG(PT_TSTRING,0x3613) +#define PR_CONTAINER_CLASS_W PROP_TAG(PT_UNICODE,0x3613) +#define PR_CONTAINER_CLASS_A PROP_TAG(PT_STRING8,0x3613) +#define PR_CONTAINER_MODIFY_VERSION PROP_TAG(PT_I8,0x3614) +#define PR_AB_PROVIDER_ID PROP_TAG(PT_BINARY,0x3615) +#define PR_DEFAULT_VIEW_ENTRYID PROP_TAG(PT_BINARY,0x3616) +#define PR_ASSOC_CONTENT_COUNT PROP_TAG(PT_LONG,0x3617) + +#define PR_DISPLAY_TYPE PROP_TAG(PT_LONG,0x3900) +#define PR_TEMPLATEID PROP_TAG(PT_BINARY,0x3902) +#define PR_PRIMARY_CAPABILITY PROP_TAG(PT_BINARY,0x3904) +#define PR_7BIT_DISPLAY_NAME PROP_TAG(PT_STRING8,0x39FF) + +#define PR_ACCOUNT PROP_TAG(PT_TSTRING,0x3A00) +#define PR_ACCOUNT_W PROP_TAG(PT_UNICODE,0x3A00) +#define PR_ACCOUNT_A PROP_TAG(PT_STRING8,0x3A00) +#define PR_ALTERNATE_RECIPIENT PROP_TAG(PT_BINARY,0x3A01) +#define PR_CALLBACK_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A02) +#define PR_CALLBACK_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A02) +#define PR_CALLBACK_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A02) +#define PR_CONVERSION_PROHIBITED PROP_TAG(PT_BOOLEAN,0x3A03) +#define PR_DISCLOSE_RECIPIENTS PROP_TAG(PT_BOOLEAN,0x3A04) +#define PR_GENERATION PROP_TAG(PT_TSTRING,0x3A05) +#define PR_GENERATION_W PROP_TAG(PT_UNICODE,0x3A05) +#define PR_GENERATION_A PROP_TAG(PT_STRING8,0x3A05) +#define PR_GIVEN_NAME PROP_TAG(PT_TSTRING,0x3A06) +#define PR_GIVEN_NAME_W PROP_TAG(PT_UNICODE,0x3A06) +#define PR_GIVEN_NAME_A PROP_TAG(PT_STRING8,0x3A06) +#define PR_GOVERNMENT_ID_NUMBER PROP_TAG(PT_TSTRING,0x3A07) +#define PR_GOVERNMENT_ID_NUMBER_W PROP_TAG(PT_UNICODE,0x3A07) +#define PR_GOVERNMENT_ID_NUMBER_A PROP_TAG(PT_STRING8,0x3A07) +#define PR_BUSINESS_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A08) +#define PR_BUSINESS_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A08) +#define PR_BUSINESS_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A08) +#define PR_OFFICE_TELEPHONE_NUMBER PR_BUSINESS_TELEPHONE_NUMBER +#define PR_OFFICE_TELEPHONE_NUMBER_W PR_BUSINESS_TELEPHONE_NUMBER_W +#define PR_OFFICE_TELEPHONE_NUMBER_A PR_BUSINESS_TELEPHONE_NUMBER_A +#define PR_HOME_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A09) +#define PR_HOME_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A09) +#define PR_HOME_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A09) +#define PR_INITIALS PROP_TAG(PT_TSTRING,0x3A0A) +#define PR_INITIALS_W PROP_TAG(PT_UNICODE,0x3A0A) +#define PR_INITIALS_A PROP_TAG(PT_STRING8,0x3A0A) +#define PR_KEYWORD PROP_TAG(PT_TSTRING,0x3A0B) +#define PR_KEYWORD_W PROP_TAG(PT_UNICODE,0x3A0B) +#define PR_KEYWORD_A PROP_TAG(PT_STRING8,0x3A0B) +#define PR_LANGUAGE PROP_TAG(PT_TSTRING,0x3A0C) +#define PR_LANGUAGE_W PROP_TAG(PT_UNICODE,0x3A0C) +#define PR_LANGUAGE_A PROP_TAG(PT_STRING8,0x3A0C) +#define PR_LOCATION PROP_TAG(PT_TSTRING,0x3A0D) +#define PR_LOCATION_W PROP_TAG(PT_UNICODE,0x3A0D) +#define PR_LOCATION_A PROP_TAG(PT_STRING8,0x3A0D) +#define PR_MAIL_PERMISSION PROP_TAG(PT_BOOLEAN,0x3A0E) +#define PR_MHS_COMMON_NAME PROP_TAG(PT_TSTRING,0x3A0F) +#define PR_MHS_COMMON_NAME_W PROP_TAG(PT_UNICODE,0x3A0F) +#define PR_MHS_COMMON_NAME_A PROP_TAG(PT_STRING8,0x3A0F) +#define PR_ORGANIZATIONAL_ID_NUMBER PROP_TAG(PT_TSTRING,0x3A10) +#define PR_ORGANIZATIONAL_ID_NUMBER_W PROP_TAG(PT_UNICODE,0x3A10) +#define PR_ORGANIZATIONAL_ID_NUMBER_A PROP_TAG(PT_STRING8,0x3A10) +#define PR_SURNAME PROP_TAG(PT_TSTRING,0x3A11) +#define PR_SURNAME_W PROP_TAG(PT_UNICODE,0x3A11) +#define PR_SURNAME_A PROP_TAG(PT_STRING8,0x3A11) +#define PR_ORIGINAL_ENTRYID PROP_TAG(PT_BINARY,0x3A12) +#define PR_ORIGINAL_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3A13) +#define PR_ORIGINAL_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3A13) +#define PR_ORIGINAL_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3A13) +#define PR_ORIGINAL_SEARCH_KEY PROP_TAG(PT_BINARY,0x3A14) +#define PR_POSTAL_ADDRESS PROP_TAG(PT_TSTRING,0x3A15) +#define PR_POSTAL_ADDRESS_W PROP_TAG(PT_UNICODE,0x3A15) +#define PR_POSTAL_ADDRESS_A PROP_TAG(PT_STRING8,0x3A15) +#define PR_COMPANY_NAME PROP_TAG(PT_TSTRING,0x3A16) +#define PR_COMPANY_NAME_W PROP_TAG(PT_UNICODE,0x3A16) +#define PR_COMPANY_NAME_A PROP_TAG(PT_STRING8,0x3A16) +#define PR_TITLE PROP_TAG(PT_TSTRING,0x3A17) +#define PR_TITLE_W PROP_TAG(PT_UNICODE,0x3A17) +#define PR_TITLE_A PROP_TAG(PT_STRING8,0x3A17) +#define PR_DEPARTMENT_NAME PROP_TAG(PT_TSTRING,0x3A18) +#define PR_DEPARTMENT_NAME_W PROP_TAG(PT_UNICODE,0x3A18) +#define PR_DEPARTMENT_NAME_A PROP_TAG(PT_STRING8,0x3A18) +#define PR_OFFICE_LOCATION PROP_TAG(PT_TSTRING,0x3A19) +#define PR_OFFICE_LOCATION_W PROP_TAG(PT_UNICODE,0x3A19) +#define PR_OFFICE_LOCATION_A PROP_TAG(PT_STRING8,0x3A19) +#define PR_PRIMARY_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1A) +#define PR_PRIMARY_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1A) +#define PR_PRIMARY_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1A) +#define PR_BUSINESS2_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1B) +#define PR_BUSINESS2_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1B) +#define PR_BUSINESS2_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1B) +#define PR_OFFICE2_TELEPHONE_NUMBER PR_BUSINESS2_TELEPHONE_NUMBER +#define PR_OFFICE2_TELEPHONE_NUMBER_W PR_BUSINESS2_TELEPHONE_NUMBER_W +#define PR_OFFICE2_TELEPHONE_NUMBER_A PR_BUSINESS2_TELEPHONE_NUMBER_A +#define PR_MOBILE_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1C) +#define PR_MOBILE_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1C) +#define PR_MOBILE_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1C) +#define PR_CELLULAR_TELEPHONE_NUMBER PR_MOBILE_TELEPHONE_NUMBER +#define PR_CELLULAR_TELEPHONE_NUMBER_W PR_MOBILE_TELEPHONE_NUMBER_W +#define PR_CELLULAR_TELEPHONE_NUMBER_A PR_MOBILE_TELEPHONE_NUMBER_A +#define PR_RADIO_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1D) +#define PR_RADIO_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1D) +#define PR_RADIO_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1D) +#define PR_CAR_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1E) +#define PR_CAR_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1E) +#define PR_CAR_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1E) +#define PR_OTHER_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A1F) +#define PR_OTHER_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A1F) +#define PR_OTHER_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A1F) +#define PR_TRANSMITABLE_DISPLAY_NAME PROP_TAG(PT_TSTRING,0x3A20) +#define PR_TRANSMITABLE_DISPLAY_NAME_W PROP_TAG(PT_UNICODE,0x3A20) +#define PR_TRANSMITABLE_DISPLAY_NAME_A PROP_TAG(PT_STRING8,0x3A20) +#define PR_PAGER_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A21) +#define PR_PAGER_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A21) +#define PR_PAGER_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A21) +#define PR_BEEPER_TELEPHONE_NUMBER PR_PAGER_TELEPHONE_NUMBER +#define PR_BEEPER_TELEPHONE_NUMBER_W PR_PAGER_TELEPHONE_NUMBER_W +#define PR_BEEPER_TELEPHONE_NUMBER_A PR_PAGER_TELEPHONE_NUMBER_A +#define PR_USER_CERTIFICATE PROP_TAG(PT_BINARY,0x3A22) +#define PR_PRIMARY_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A23) +#define PR_PRIMARY_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A23) +#define PR_PRIMARY_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A23) +#define PR_BUSINESS_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A24) +#define PR_BUSINESS_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A24) +#define PR_BUSINESS_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A24) +#define PR_HOME_FAX_NUMBER PROP_TAG(PT_TSTRING,0x3A25) +#define PR_HOME_FAX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A25) +#define PR_HOME_FAX_NUMBER_A PROP_TAG(PT_STRING8,0x3A25) +#define PR_COUNTRY PROP_TAG(PT_TSTRING,0x3A26) +#define PR_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A26) +#define PR_COUNTRY_A PROP_TAG(PT_STRING8,0x3A26) +#define PR_LOCALITY PROP_TAG(PT_TSTRING,0x3A27) +#define PR_LOCALITY_W PROP_TAG(PT_UNICODE,0x3A27) +#define PR_LOCALITY_A PROP_TAG(PT_STRING8,0x3A27) +#define PR_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A28) +#define PR_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A28) +#define PR_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A28) +#define PR_STREET_ADDRESS PROP_TAG(PT_TSTRING,0x3A29) +#define PR_STREET_ADDRESS_W PROP_TAG(PT_UNICODE,0x3A29) +#define PR_STREET_ADDRESS_A PROP_TAG(PT_STRING8,0x3A29) +#define PR_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A2A) +#define PR_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A2A) +#define PR_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A2A) +#define PR_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A2B) +#define PR_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A2B) +#define PR_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A2B) +#define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX PR_POST_OFFICE_BOX +#define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_W PR_POST_OFFICE_BOX_W +#define PR_BUSINESS_ADDRESS_POST_OFFICE_BOX_A PR_POST_OFFICE_BOX_A +#define PR_TELEX_NUMBER PROP_TAG(PT_TSTRING,0x3A2C) +#define PR_TELEX_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2C) +#define PR_TELEX_NUMBER_A PROP_TAG(PT_STRING8,0x3A2C) +#define PR_ISDN_NUMBER PROP_TAG(PT_TSTRING,0x3A2D) +#define PR_ISDN_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2D) +#define PR_ISDN_NUMBER_A PROP_TAG(PT_STRING8,0x3A2D) +#define PR_ASSISTANT_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A2E) +#define PR_ASSISTANT_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2E) +#define PR_ASSISTANT_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A2E) +#define PR_HOME2_TELEPHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A2F) +#define PR_HOME2_TELEPHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A2F) +#define PR_HOME2_TELEPHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A2F) +#define PR_ASSISTANT PROP_TAG(PT_TSTRING,0x3A30) +#define PR_ASSISTANT_W PROP_TAG(PT_UNICODE,0x3A30) +#define PR_ASSISTANT_A PROP_TAG(PT_STRING8,0x3A30) +#define PR_SEND_RICH_INFO PROP_TAG(PT_BOOLEAN,0x3A40) +#define PR_WEDDING_ANNIVERSARY PROP_TAG(PT_SYSTIME,0x3A41) +#define PR_BIRTHDAY PROP_TAG(PT_SYSTIME,0x3A42) +#define PR_HOBBIES PROP_TAG(PT_TSTRING,0x3A43) +#define PR_HOBBIES_W PROP_TAG(PT_UNICODE,0x3A43) +#define PR_HOBBIES_A PROP_TAG(PT_STRING8,0x3A43) +#define PR_MIDDLE_NAME PROP_TAG(PT_TSTRING,0x3A44) +#define PR_MIDDLE_NAME_W PROP_TAG(PT_UNICODE,0x3A44) +#define PR_MIDDLE_NAME_A PROP_TAG(PT_STRING8,0x3A44) +#define PR_DISPLAY_NAME_PREFIX PROP_TAG(PT_TSTRING,0x3A45) +#define PR_DISPLAY_NAME_PREFIX_W PROP_TAG(PT_UNICODE,0x3A45) +#define PR_DISPLAY_NAME_PREFIX_A PROP_TAG(PT_STRING8,0x3A45) +#define PR_PROFESSION PROP_TAG(PT_TSTRING,0x3A46) +#define PR_PROFESSION_W PROP_TAG(PT_UNICODE,0x3A46) +#define PR_PROFESSION_A PROP_TAG(PT_STRING8,0x3A46) +#define PR_PREFERRED_BY_NAME PROP_TAG(PT_TSTRING,0x3A47) +#define PR_PREFERRED_BY_NAME_W PROP_TAG(PT_UNICODE,0x3A47) +#define PR_PREFERRED_BY_NAME_A PROP_TAG(PT_STRING8,0x3A47) +#define PR_SPOUSE_NAME PROP_TAG(PT_TSTRING,0x3A48) +#define PR_SPOUSE_NAME_W PROP_TAG(PT_UNICODE,0x3A48) +#define PR_SPOUSE_NAME_A PROP_TAG(PT_STRING8,0x3A48) +#define PR_COMPUTER_NETWORK_NAME PROP_TAG(PT_TSTRING,0x3A49) +#define PR_COMPUTER_NETWORK_NAME_W PROP_TAG(PT_UNICODE,0x3A49) +#define PR_COMPUTER_NETWORK_NAME_A PROP_TAG(PT_STRING8,0x3A49) +#define PR_CUSTOMER_ID PROP_TAG(PT_TSTRING,0x3A4A) +#define PR_CUSTOMER_ID_W PROP_TAG(PT_UNICODE,0x3A4A) +#define PR_CUSTOMER_ID_A PROP_TAG(PT_STRING8,0x3A4A) +#define PR_TTYTDD_PHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A4B) +#define PR_TTYTDD_PHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A4B) +#define PR_TTYTDD_PHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A4B) +#define PR_FTP_SITE PROP_TAG(PT_TSTRING,0x3A4C) +#define PR_FTP_SITE_W PROP_TAG(PT_UNICODE,0x3A4C) +#define PR_FTP_SITE_A PROP_TAG(PT_STRING8,0x3A4C) +#define PR_GENDER PROP_TAG(PT_SHORT,0x3A4D) +#define PR_MANAGER_NAME PROP_TAG(PT_TSTRING,0x3A4E) +#define PR_MANAGER_NAME_W PROP_TAG(PT_UNICODE,0x3A4E) +#define PR_MANAGER_NAME_A PROP_TAG(PT_STRING8,0x3A4E) +#define PR_NICKNAME PROP_TAG(PT_TSTRING,0x3A4F) +#define PR_NICKNAME_W PROP_TAG(PT_UNICODE,0x3A4F) +#define PR_NICKNAME_A PROP_TAG(PT_STRING8,0x3A4F) +#define PR_PERSONAL_HOME_PAGE PROP_TAG(PT_TSTRING,0x3A50) +#define PR_PERSONAL_HOME_PAGE_W PROP_TAG(PT_UNICODE,0x3A50) +#define PR_PERSONAL_HOME_PAGE_A PROP_TAG(PT_STRING8,0x3A50) +#define PR_BUSINESS_HOME_PAGE PROP_TAG(PT_TSTRING,0x3A51) +#define PR_BUSINESS_HOME_PAGE_W PROP_TAG(PT_UNICODE,0x3A51) +#define PR_BUSINESS_HOME_PAGE_A PROP_TAG(PT_STRING8,0x3A51) +#define PR_CONTACT_VERSION PROP_TAG(PT_CLSID,0x3A52) +#define PR_CONTACT_ENTRYIDS PROP_TAG(PT_MV_BINARY,0x3A53) +#define PR_CONTACT_ADDRTYPES PROP_TAG(PT_MV_TSTRING,0x3A54) +#define PR_CONTACT_ADDRTYPES_W PROP_TAG(PT_MV_UNICODE,0x3A54) +#define PR_CONTACT_ADDRTYPES_A PROP_TAG(PT_MV_STRING8,0x3A54) +#define PR_CONTACT_DEFAULT_ADDRESS_INDEX PROP_TAG(PT_LONG,0x3A55) +#define PR_CONTACT_EMAIL_ADDRESSES PROP_TAG(PT_MV_TSTRING,0x3A56) +#define PR_CONTACT_EMAIL_ADDRESSES_W PROP_TAG(PT_MV_UNICODE,0x3A56) +#define PR_CONTACT_EMAIL_ADDRESSES_A PROP_TAG(PT_MV_STRING8,0x3A56) +#define PR_COMPANY_MAIN_PHONE_NUMBER PROP_TAG(PT_TSTRING,0x3A57) +#define PR_COMPANY_MAIN_PHONE_NUMBER_W PROP_TAG(PT_UNICODE,0x3A57) +#define PR_COMPANY_MAIN_PHONE_NUMBER_A PROP_TAG(PT_STRING8,0x3A57) +#define PR_CHILDRENS_NAMES PROP_TAG(PT_MV_TSTRING,0x3A58) +#define PR_CHILDRENS_NAMES_W PROP_TAG(PT_MV_UNICODE,0x3A58) +#define PR_CHILDRENS_NAMES_A PROP_TAG(PT_MV_STRING8,0x3A58) +#define PR_HOME_ADDRESS_CITY PROP_TAG(PT_TSTRING,0x3A59) +#define PR_HOME_ADDRESS_CITY_W PROP_TAG(PT_UNICODE,0x3A59) +#define PR_HOME_ADDRESS_CITY_A PROP_TAG(PT_STRING8,0x3A59) +#define PR_HOME_ADDRESS_COUNTRY PROP_TAG(PT_TSTRING,0x3A5A) +#define PR_HOME_ADDRESS_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A5A) +#define PR_HOME_ADDRESS_COUNTRY_A PROP_TAG(PT_STRING8,0x3A5A) +#define PR_HOME_ADDRESS_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A5B) +#define PR_HOME_ADDRESS_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A5B) +#define PR_HOME_ADDRESS_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A5B) +#define PR_HOME_ADDRESS_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A5C) +#define PR_HOME_ADDRESS_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A5C) +#define PR_HOME_ADDRESS_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A5C) +#define PR_HOME_ADDRESS_STREET PROP_TAG(PT_TSTRING,0x3A5D) +#define PR_HOME_ADDRESS_STREET_W PROP_TAG(PT_UNICODE,0x3A5D) +#define PR_HOME_ADDRESS_STREET_A PROP_TAG(PT_STRING8,0x3A5D) +#define PR_HOME_ADDRESS_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A5E) +#define PR_HOME_ADDRESS_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A5E) +#define PR_HOME_ADDRESS_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A5E) +#define PR_OTHER_ADDRESS_CITY PROP_TAG(PT_TSTRING,0x3A5F) +#define PR_OTHER_ADDRESS_CITY_W PROP_TAG(PT_UNICODE,0x3A5F) +#define PR_OTHER_ADDRESS_CITY_A PROP_TAG(PT_STRING8,0x3A5F) +#define PR_OTHER_ADDRESS_COUNTRY PROP_TAG(PT_TSTRING,0x3A60) +#define PR_OTHER_ADDRESS_COUNTRY_W PROP_TAG(PT_UNICODE,0x3A60) +#define PR_OTHER_ADDRESS_COUNTRY_A PROP_TAG(PT_STRING8,0x3A60) +#define PR_OTHER_ADDRESS_POSTAL_CODE PROP_TAG(PT_TSTRING,0x3A61) +#define PR_OTHER_ADDRESS_POSTAL_CODE_W PROP_TAG(PT_UNICODE,0x3A61) +#define PR_OTHER_ADDRESS_POSTAL_CODE_A PROP_TAG(PT_STRING8,0x3A61) +#define PR_OTHER_ADDRESS_STATE_OR_PROVINCE PROP_TAG(PT_TSTRING,0x3A62) +#define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_W PROP_TAG(PT_UNICODE,0x3A62) +#define PR_OTHER_ADDRESS_STATE_OR_PROVINCE_A PROP_TAG(PT_STRING8,0x3A62) +#define PR_OTHER_ADDRESS_STREET PROP_TAG(PT_TSTRING,0x3A63) +#define PR_OTHER_ADDRESS_STREET_W PROP_TAG(PT_UNICODE,0x3A63) +#define PR_OTHER_ADDRESS_STREET_A PROP_TAG(PT_STRING8,0x3A63) +#define PR_OTHER_ADDRESS_POST_OFFICE_BOX PROP_TAG(PT_TSTRING,0x3A64) +#define PR_OTHER_ADDRESS_POST_OFFICE_BOX_W PROP_TAG(PT_UNICODE,0x3A64) +#define PR_OTHER_ADDRESS_POST_OFFICE_BOX_A PROP_TAG(PT_STRING8,0x3A64) +#define PR_USER_X509_CERTIFICATE PROP_TAG(PT_MV_BINARY,0x3A70) +#define PR_SEND_INTERNET_ENCODING PROP_TAG(PT_LONG,0x3A71) + +#define PR_BUSINESS_ADDRESS_CITY PR_LOCALITY +#define PR_BUSINESS_ADDRESS_COUNTRY PR_COUNTRY +#define PR_BUSINESS_ADDRESS_POSTAL_CODE PR_POSTAL_CODE +#define PR_BUSINESS_ADDRESS_STATE_OR_PROVINCE PR_STATE_OR_PROVINCE +#define PR_BUSINESS_ADDRESS_STREET PR_STREET_ADDRESS + +#define PR_RECIPIENT_TYPE PROP_TAG(PT_LONG,0x0C15) + +#define PROP_ID_SECURE_MIN 0x67F0 +#define PROP_ID_SECURE_MAX 0x67FF + +#define ENCODING_PREFERENCE ((ULONG) 0x00020000) + +#define ENCODING_TEXT ((ULONG) 0x00000000) +#define ENCODING_MIME ((ULONG) 0x00040000) + +#define BODY_ENCODING_MASK ((ULONG) 0x00180000) +#define BODY_ENCODING_TEXT ((ULONG) 0x00000000) +#define BODY_ENCODING_HTML ((ULONG) 0x00080000) +#define BODY_ENCODING_TEXT_AND_HTML ((ULONG) 0x00100000) + +#define MAC_ATTACH_ENCODING_MASK ((ULONG) 0x00600000) +#define MAC_ATTACH_ENCODING_BINHEX ((ULONG) 0x00000000) +#define MAC_ATTACH_ENCODING_UUENCODE ((ULONG) 0x00200000) +#define MAC_ATTACH_ENCODING_APPLESINGLE ((ULONG) 0x00400000) +#define MAC_ATTACH_ENCODING_APPLEDOUBLE ((ULONG) 0x00600000) + +enum Gender { + genderUnspecified = 0,genderFemale,genderMale +}; +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabutil.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabutil.h new file mode 100644 index 00000000..5abb7452 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wabutil.h @@ -0,0 +1,221 @@ +/** + * 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. + */ +#if !defined(_MAPIUTIL_H) && !defined(_WABUTIL_H) +#define _WABUTIL_H + +#include "mapidefs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef BEGIN_INTERFACE +#define BEGIN_INTERFACE +#endif + + DECLARE_MAPI_INTERFACE_PTR(ITableData,LPTABLEDATA); + + typedef void (WINAPI CALLERRELEASE)(ULONG ulCallerData,LPTABLEDATA lpTblData,LPMAPITABLE lpVue); + +#define MAPI_ITABLEDATA_METHODS(IPURE) MAPIMETHOD(HrGetView) (THIS_ LPSSortOrderSet lpSSortOrderSet,CALLERRELEASE *lpfCallerRelease,ULONG ulCallerData,LPMAPITABLE *lppMAPITable) IPURE; MAPIMETHOD(HrModifyRow) (THIS_ LPSRow) IPURE; MAPIMETHOD(HrDeleteRow) (THIS_ LPSPropValue lpSPropValue) IPURE; MAPIMETHOD(HrQueryRow) (THIS_ LPSPropValue lpsPropValue,LPSRow *lppSRow,ULONG *lpuliRow) IPURE; MAPIMETHOD(HrEnumRow) (THIS_ ULONG ulRowNumber,LPSRow *lppSRow) IPURE; MAPIMETHOD(HrNotify) (THIS_ ULONG ulFlags,ULONG cValues,LPSPropValue lpSPropValue) IPURE; MAPIMETHOD(HrInsertRow) (THIS_ ULONG uliRow,LPSRow lpSRow) IPURE; MAPIMETHOD(HrModifyRows) (THIS_ ULONG ulFlags,LPSRowSet lpSRowSet) IPURE; MAPIMETHOD(HrDeleteRows) (THIS_ ULONG ulFlags,LPSRowSet lprowsetToDelete,ULONG *cRowsDeleted) IPURE; +#undef INTERFACE +#define INTERFACE ITableData + DECLARE_MAPI_INTERFACE_(ITableData,IUnknown) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_ITABLEDATA_METHODS(PURE) + }; + + STDAPI_(SCODE) CreateTable(LPCIID lpInterface,ALLOCATEBUFFER *lpAllocateBuffer,ALLOCATEMORE *lpAllocateMore,FREEBUFFER *lpFreeBuffer,LPVOID lpvReserved,ULONG ulTableType,ULONG ulPropTagIndexColumn,LPSPropTagArray lpSPropTagArrayColumns,LPTABLEDATA *lppTableData); + +#define TAD_ALL_ROWS 1 + +#define MAPI_IPROPDATA_METHODS(IPURE) MAPIMETHOD(HrSetObjAccess) (THIS_ ULONG ulAccess) IPURE; MAPIMETHOD(HrSetPropAccess) (THIS_ LPSPropTagArray lpPropTagArray,ULONG *rgulAccess) IPURE; MAPIMETHOD(HrGetPropAccess) (THIS_ LPSPropTagArray *lppPropTagArray,ULONG **lprgulAccess) IPURE; MAPIMETHOD(HrAddObjProps) (THIS_ LPSPropTagArray lppPropTagArray,LPSPropProblemArray *lprgulAccess) IPURE; + +#undef INTERFACE +#define INTERFACE IPropData + DECLARE_MAPI_INTERFACE_(IPropData,IMAPIProp) { + BEGIN_INTERFACE + MAPI_IUNKNOWN_METHODS(PURE) + MAPI_IMAPIPROP_METHODS(PURE) + MAPI_IPROPDATA_METHODS(PURE) + }; + + DECLARE_MAPI_INTERFACE_PTR(IPropData,LPPROPDATA); + +#ifndef CreateIProp + STDAPI_(SCODE) CreateIProp(LPCIID lpInterface,ALLOCATEBUFFER *lpAllocateBuffer,ALLOCATEMORE *lpAllocateMore,FREEBUFFER *lpFreeBuffer,LPVOID lpvReserved,LPPROPDATA *lppPropData); +#endif + + STDAPI_(SCODE) WABCreateIProp(LPCIID lpInterface,ALLOCATEBUFFER *lpAllocateBuffer,ALLOCATEMORE *lpAllocateMore,FREEBUFFER *lpFreeBuffer,LPVOID lpvReserved,LPPROPDATA *lppPropData); + +#define IPROP_READONLY ((ULONG) 0x00000001) +#define IPROP_READWRITE ((ULONG) 0x00000002) +#define IPROP_CLEAN ((ULONG) 0x00010000) +#define IPROP_DIRTY ((ULONG) 0x00020000) + +#ifndef NOIDLEENGINE + +#define PRILOWEST -32768 +#define PRIHIGHEST 32767 +#define PRIUSER 0 + +#define IRONULL ((USHORT) 0x0000) +#define FIROWAIT ((USHORT) 0x0001) +#define FIROINTERVAL ((USHORT) 0x0002) +#define FIROPERBLOCK ((USHORT) 0x0004) +#define FIRODISABLED ((USHORT) 0x0020) +#define FIROONCEONLY ((USHORT) 0x0040) + +#define IRCNULL ((USHORT) 0x0000) +#define FIRCPFN ((USHORT) 0x0001) +#define FIRCPV ((USHORT) 0x0002) +#define FIRCPRI ((USHORT) 0x0004) +#define FIRCCSEC ((USHORT) 0x0008) +#define FIRCIRO ((USHORT) 0x0010) + + typedef WINBOOL (WINAPI FNIDLE)(LPVOID); + typedef FNIDLE *PFNIDLE; + + typedef void *FTG; + typedef FTG *PFTG; +#define FTGNULL ((FTG) NULL) + + STDAPI_(LONG) MAPIInitIdle(LPVOID lpvReserved); + STDAPI_(VOID) MAPIDeinitIdle(VOID); + STDAPI_(FTG) FtgRegisterIdleRoutine(PFNIDLE lpfnIdle,LPVOID lpvIdleParam,short priIdle,ULONG csecIdle,USHORT iroIdle); + STDAPI_(void) DeregisterIdleRoutine(FTG ftg); + STDAPI_(void) EnableIdleRoutine(FTG ftg,WINBOOL fEnable); + STDAPI_(void) ChangeIdleRoutine(FTG ftg,PFNIDLE lpfnIdle,LPVOID lpvIdleParam,short priIdle,ULONG csecIdle,USHORT iroIdle,USHORT ircIdle); +#endif + + STDAPI_(LPMALLOC) MAPIGetDefaultMalloc(VOID); + +#define SOF_UNIQUEFILENAME ((ULONG) 0x80000000) + + STDMETHODIMP OpenStreamOnFile(LPALLOCATEBUFFER lpAllocateBuffer,LPFREEBUFFER lpFreeBuffer,ULONG ulFlags,LPTSTR lpszFileName,LPTSTR lpszPrefix,LPSTREAM *lppStream); + + typedef HRESULT (WINAPI *LPOPENSTREAMONFILE) (LPALLOCATEBUFFER lpAllocateBuffer,LPFREEBUFFER lpFreeBuffer,ULONG ulFlags,LPTSTR lpszFileName,LPTSTR lpszPrefix,LPSTREAM *lppStream); + +#define OPENSTREAMONFILE "OpenStreamOnFile" + + STDAPI_(SCODE) PropCopyMore(LPSPropValue lpSPropValueDest,LPSPropValue lpSPropValueSrc,ALLOCATEMORE *lpfAllocMore,LPVOID lpvObject); + STDAPI_(ULONG) UlPropSize(LPSPropValue lpSPropValue); + STDAPI_(WINBOOL) FEqualNames(LPMAPINAMEID lpName1,LPMAPINAMEID lpName2); + +#ifndef _WINNT +#define _WINNT +#endif + + STDAPI_(void) GetInstance(LPSPropValue lpPropMv,LPSPropValue lpPropSv,ULONG uliInst); + + extern unsigned char rgchCsds[]; + extern unsigned char rgchCids[]; + extern unsigned char rgchCsdi[]; + extern unsigned char rgchCidi[]; + + STDAPI_(WINBOOL) FPropContainsProp(LPSPropValue lpSPropValueDst,LPSPropValue lpSPropValueSrc,ULONG ulFuzzyLevel); + STDAPI_(WINBOOL) FPropCompareProp(LPSPropValue lpSPropValue1,ULONG ulRelOp,LPSPropValue lpSPropValue2); + STDAPI_(LONG) LPropCompareProp(LPSPropValue lpSPropValueA,LPSPropValue lpSPropValueB); + STDAPI_(HRESULT) HrAddColumns(LPMAPITABLE lptbl,LPSPropTagArray lpproptagColumnsNew,LPALLOCATEBUFFER lpAllocateBuffer,LPFREEBUFFER lpFreeBuffer); + STDAPI_(HRESULT) HrAddColumnsEx(LPMAPITABLE lptbl,LPSPropTagArray lpproptagColumnsNew,LPALLOCATEBUFFER lpAllocateBuffer,LPFREEBUFFER lpFreeBuffer,void (*lpfnFilterColumns)(LPSPropTagArray ptaga)); + STDAPI HrAllocAdviseSink(LPNOTIFCALLBACK lpfnCallback,LPVOID lpvContext,LPMAPIADVISESINK *lppAdviseSink); + STDAPI HrThisThreadAdviseSink(LPMAPIADVISESINK lpAdviseSink,LPMAPIADVISESINK *lppAdviseSink); + STDAPI HrDispatchNotifications(ULONG ulFlags); + + typedef struct { + ULONG ulCtlType; + ULONG ulCtlFlags; + LPBYTE lpbNotif; + ULONG cbNotif; + LPTSTR lpszFilter; + ULONG ulItemID; + union { + LPVOID lpv; + LPDTBLLABEL lplabel; + LPDTBLEDIT lpedit; + LPDTBLLBX lplbx; + LPDTBLCOMBOBOX lpcombobox; + LPDTBLDDLBX lpddlbx; + LPDTBLCHECKBOX lpcheckbox; + LPDTBLGROUPBOX lpgroupbox; + LPDTBLBUTTON lpbutton; + LPDTBLRADIOBUTTON lpradiobutton; + LPDTBLMVLISTBOX lpmvlbx; + LPDTBLMVDDLBX lpmvddlbx; + LPDTBLPAGE lppage; + } ctl; + } DTCTL,*LPDTCTL; + + typedef struct { + ULONG cctl; + LPTSTR lpszResourceName; + __C89_NAMELESS union { + LPTSTR lpszComponent; + ULONG ulItemID; + }; + LPDTCTL lpctl; + } DTPAGE,*LPDTPAGE; + + STDAPI BuildDisplayTable(LPALLOCATEBUFFER lpAllocateBuffer,LPALLOCATEMORE lpAllocateMore,LPFREEBUFFER lpFreeBuffer,LPMALLOC lpMalloc,HINSTANCE hInstance,UINT cPages,LPDTPAGE lpPage,ULONG ulFlags,LPMAPITABLE *lppTable,LPTABLEDATA *lppTblData); + STDAPI_(SCODE) ScCountNotifications(int cNotifications,LPNOTIFICATION lpNotifications,ULONG *lpcb); + STDAPI_(SCODE) ScCopyNotifications(int cNotification,LPNOTIFICATION lpNotifications,LPVOID lpvDst,ULONG *lpcb); + STDAPI_(SCODE) ScRelocNotifications(int cNotification,LPNOTIFICATION lpNotifications,LPVOID lpvBaseOld,LPVOID lpvBaseNew,ULONG *lpcb); + STDAPI_(SCODE) ScCountProps(int cValues,LPSPropValue lpPropArray,ULONG *lpcb); + STDAPI_(LPSPropValue) LpValFindProp(ULONG ulPropTag,ULONG cValues,LPSPropValue lpPropArray); + STDAPI_(SCODE) ScCopyProps(int cValues,LPSPropValue lpPropArray,LPVOID lpvDst,ULONG *lpcb); + STDAPI_(SCODE) ScRelocProps(int cValues,LPSPropValue lpPropArray,LPVOID lpvBaseOld,LPVOID lpvBaseNew,ULONG *lpcb); + STDAPI_(SCODE) ScDupPropset(int cValues,LPSPropValue lpPropArray,LPALLOCATEBUFFER lpAllocateBuffer,LPSPropValue *lppPropArray); + STDAPI_(ULONG) UlAddRef(LPVOID lpunk); + STDAPI_(ULONG) UlRelease(LPVOID lpunk); + STDAPI HrGetOneProp(LPMAPIPROP lpMapiProp,ULONG ulPropTag,LPSPropValue *lppProp); + STDAPI HrSetOneProp(LPMAPIPROP lpMapiProp,LPSPropValue lpProp); + STDAPI_(WINBOOL) FPropExists(LPMAPIPROP lpMapiProp,ULONG ulPropTag); + STDAPI_(LPSPropValue) PpropFindProp(LPSPropValue lpPropArray,ULONG cValues,ULONG ulPropTag); + STDAPI_(void) FreePadrlist(LPADRLIST lpAdrlist); + STDAPI_(void) FreeProws(LPSRowSet lpRows); + STDAPI HrQueryAllRows(LPMAPITABLE lpTable,LPSPropTagArray lpPropTags,LPSRestriction lpRestriction,LPSSortOrderSet lpSortOrderSet,LONG crowsMax,LPSRowSet *lppRows); + STDAPI_(LPTSTR) SzFindCh(LPCTSTR lpsz,USHORT ch); + STDAPI_(LPTSTR) SzFindLastCh(LPCTSTR lpsz,USHORT ch); + STDAPI_(LPTSTR) SzFindSz(LPCTSTR lpsz,LPCTSTR lpszKey); + STDAPI_(unsigned int) UFromSz(LPCTSTR lpsz); + STDAPI_(SCODE) ScUNCFromLocalPath(LPSTR lpszLocal,LPSTR lpszUNC,UINT cchUNC); + STDAPI_(SCODE) ScLocalPathFromUNC(LPSTR lpszUNC,LPSTR lpszLocal,UINT cchLocal); + STDAPI_(FILETIME) FtAddFt(FILETIME ftAddend1,FILETIME ftAddend2); + STDAPI_(FILETIME) FtMulDwDw(DWORD ftMultiplicand,DWORD ftMultiplier); + STDAPI_(FILETIME) FtMulDw(DWORD ftMultiplier,FILETIME ftMultiplicand); + STDAPI_(FILETIME) FtSubFt(FILETIME ftMinuend,FILETIME ftSubtrahend); + STDAPI_(FILETIME) FtNegFt(FILETIME ft); + STDAPI_(SCODE) ScCreateConversationIndex(ULONG cbParent,LPBYTE lpbParent,ULONG *lpcbConvIndex,LPBYTE *lppbConvIndex); + STDAPI WrapStoreEntryID(ULONG ulFlags,LPTSTR lpszDLLName,ULONG cbOrigEntry,LPENTRYID lpOrigEntry,ULONG *lpcbWrappedEntry,LPENTRYID *lppWrappedEntry); + +#define RTF_SYNC_RTF_CHANGED ((ULONG) 0x00000001) +#define RTF_SYNC_BODY_CHANGED ((ULONG) 0x00000002) + + STDAPI_(HRESULT) RTFSync (LPMESSAGE lpMessage,ULONG ulFlags,WINBOOL *lpfMessageUpdated); + STDAPI_(HRESULT) WrapCompressedRTFStream (LPSTREAM lpCompressedRTFStream,ULONG ulFlags,LPSTREAM *lpUncompressedRTFStream); + STDAPI_(HRESULT) HrIStorageFromStream (LPUNKNOWN lpUnkIn,LPCIID lpInterface,ULONG ulFlags,LPSTORAGE *lppStorageOut); + STDAPI_(SCODE) ScInitMapiUtil(ULONG ulFlags); + STDAPI_(VOID) DeinitMapiUtil(VOID); + +#ifdef _X86_ +#define szHrDispatchNotifications "_HrDispatchNotifications@4" +#endif + + typedef HRESULT (WINAPI DISPATCHNOTIFICATIONS)(ULONG ulFlags); + typedef DISPATCHNOTIFICATIONS *LPDISPATCHNOTIFICATIONS; + +#ifdef _X86_ +#define szScCreateConversationIndex "_ScCreateConversationIndex@16" +#endif + + typedef SCODE (WINAPI CREATECONVERSATIONINDEX)(ULONG cbParent,LPBYTE lpbParent,ULONG *lpcbConvIndex,LPBYTE *lppbConvIndex); + typedef CREATECONVERSATIONINDEX *LPCREATECONVERSATIONINDEX; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemads.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemads.h new file mode 100644 index 00000000..994f3cf9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemads.h @@ -0,0 +1,244 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wbemads.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 __wbemads_h__ +#define __wbemads_h__ + +/* Forward declarations */ + +#ifndef __WMIExtension_FWD_DEFINED__ +#define __WMIExtension_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WMIExtension WMIExtension; +#else +typedef struct WMIExtension WMIExtension; +#endif /* defined __cplusplus */ +#endif /* defined __WMIExtension_FWD_DEFINED__ */ + +#ifndef __IWMIExtension_FWD_DEFINED__ +#define __IWMIExtension_FWD_DEFINED__ +typedef interface IWMIExtension IWMIExtension; +#ifdef __cplusplus +interface IWMIExtension; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __WMIEXTENSIONLib_LIBRARY_DEFINED__ +#define __WMIEXTENSIONLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WMIEXTENSIONLib, 0xe503d000, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41); + +#ifndef __IWMIExtension_FWD_DEFINED__ +#define __IWMIExtension_FWD_DEFINED__ +typedef interface IWMIExtension IWMIExtension; +#ifdef __cplusplus +interface IWMIExtension; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * WMIExtension coclass + */ + +DEFINE_GUID(CLSID_WMIExtension, 0xf0975afe, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41); + +#ifdef __cplusplus +class DECLSPEC_UUID("f0975afe-5c7f-11d2-8b74-00104b2afb41") WMIExtension; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WMIExtension, 0xf0975afe, 0x5c7f, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41) +#endif +#endif + +#endif /* __WMIEXTENSIONLib_LIBRARY_DEFINED__ */ +/***************************************************************************** + * IWMIExtension interface + */ +#ifndef __IWMIExtension_INTERFACE_DEFINED__ +#define __IWMIExtension_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMIExtension, 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("adc1f06e-5c7e-11d2-8b74-00104b2afb41") +IWMIExtension : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_WMIObjectPath( + BSTR *strWMIObjectPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWMIObject( + ISWbemObject **objWMIObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWMIServices( + ISWbemServices **objWMIServices) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMIExtension, 0xadc1f06e, 0x5c7e, 0x11d2, 0x8b,0x74, 0x00,0x10,0x4b,0x2a,0xfb,0x41) +#endif +#else +typedef struct IWMIExtensionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMIExtension *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMIExtension *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMIExtension *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMIExtension *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMIExtension *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMIExtension *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMIExtension *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMIExtension methods ***/ + HRESULT (STDMETHODCALLTYPE *get_WMIObjectPath)( + IWMIExtension *This, + BSTR *strWMIObjectPath); + + HRESULT (STDMETHODCALLTYPE *GetWMIObject)( + IWMIExtension *This, + ISWbemObject **objWMIObject); + + HRESULT (STDMETHODCALLTYPE *GetWMIServices)( + IWMIExtension *This, + ISWbemServices **objWMIServices); + + END_INTERFACE +} IWMIExtensionVtbl; + +interface IWMIExtension { + CONST_VTBL IWMIExtensionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMIExtension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMIExtension_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMIExtension_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMIExtension_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMIExtension_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMIExtension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMIExtension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMIExtension methods ***/ +#define IWMIExtension_get_WMIObjectPath(This,strWMIObjectPath) (This)->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath) +#define IWMIExtension_GetWMIObject(This,objWMIObject) (This)->lpVtbl->GetWMIObject(This,objWMIObject) +#define IWMIExtension_GetWMIServices(This,objWMIServices) (This)->lpVtbl->GetWMIServices(This,objWMIServices) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMIExtension_QueryInterface(IWMIExtension* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMIExtension_AddRef(IWMIExtension* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMIExtension_Release(IWMIExtension* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMIExtension_GetTypeInfoCount(IWMIExtension* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMIExtension_GetTypeInfo(IWMIExtension* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMIExtension_GetIDsOfNames(IWMIExtension* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMIExtension_Invoke(IWMIExtension* 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); +} +/*** IWMIExtension methods ***/ +static inline HRESULT IWMIExtension_get_WMIObjectPath(IWMIExtension* This,BSTR *strWMIObjectPath) { + return This->lpVtbl->get_WMIObjectPath(This,strWMIObjectPath); +} +static inline HRESULT IWMIExtension_GetWMIObject(IWMIExtension* This,ISWbemObject **objWMIObject) { + return This->lpVtbl->GetWMIObject(This,objWMIObject); +} +static inline HRESULT IWMIExtension_GetWMIServices(IWMIExtension* This,ISWbemServices **objWMIServices) { + return This->lpVtbl->GetWMIServices(This,objWMIServices); +} +#endif +#endif + +#endif + + +#endif /* __IWMIExtension_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + +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 /* __wbemads_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemcli.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemcli.h new file mode 100644 index 00000000..1f5d7ba7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemcli.h @@ -0,0 +1,4378 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wbemcli.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 __wbemcli_h__ +#define __wbemcli_h__ + +/* Forward declarations */ + +#ifndef __WbemBackupRestore_FWD_DEFINED__ +#define __WbemBackupRestore_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemBackupRestore WbemBackupRestore; +#else +typedef struct WbemBackupRestore WbemBackupRestore; +#endif /* defined __cplusplus */ +#endif /* defined __WbemBackupRestore_FWD_DEFINED__ */ + +#ifndef __WbemClassObject_FWD_DEFINED__ +#define __WbemClassObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemClassObject WbemClassObject; +#else +typedef struct WbemClassObject WbemClassObject; +#endif /* defined __cplusplus */ +#endif /* defined __WbemClassObject_FWD_DEFINED__ */ + +#ifndef __WbemContext_FWD_DEFINED__ +#define __WbemContext_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemContext WbemContext; +#else +typedef struct WbemContext WbemContext; +#endif /* defined __cplusplus */ +#endif /* defined __WbemContext_FWD_DEFINED__ */ + +#ifndef __WbemLocator_FWD_DEFINED__ +#define __WbemLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemLocator WbemLocator; +#else +typedef struct WbemLocator WbemLocator; +#endif /* defined __cplusplus */ +#endif /* defined __WbemLocator_FWD_DEFINED__ */ + +#ifndef __WbemStatusCodeText_FWD_DEFINED__ +#define __WbemStatusCodeText_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemStatusCodeText WbemStatusCodeText; +#else +typedef struct WbemStatusCodeText WbemStatusCodeText; +#endif /* defined __cplusplus */ +#endif /* defined __WbemStatusCodeText_FWD_DEFINED__ */ + +#ifndef __UnsecuredApartment_FWD_DEFINED__ +#define __UnsecuredApartment_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UnsecuredApartment UnsecuredApartment; +#else +typedef struct UnsecuredApartment UnsecuredApartment; +#endif /* defined __cplusplus */ +#endif /* defined __UnsecuredApartment_FWD_DEFINED__ */ + +#ifndef __MofCompiler_FWD_DEFINED__ +#define __MofCompiler_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MofCompiler MofCompiler; +#else +typedef struct MofCompiler MofCompiler; +#endif /* defined __cplusplus */ +#endif /* defined __MofCompiler_FWD_DEFINED__ */ + +#ifndef __WbemObjectTextSrc_FWD_DEFINED__ +#define __WbemObjectTextSrc_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemObjectTextSrc WbemObjectTextSrc; +#else +typedef struct WbemObjectTextSrc WbemObjectTextSrc; +#endif /* defined __cplusplus */ +#endif /* defined __WbemObjectTextSrc_FWD_DEFINED__ */ + +#ifndef __WbemRefresher_FWD_DEFINED__ +#define __WbemRefresher_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemRefresher WbemRefresher; +#else +typedef struct WbemRefresher WbemRefresher; +#endif /* defined __cplusplus */ +#endif /* defined __WbemRefresher_FWD_DEFINED__ */ + +#ifndef __IWbemClassObject_FWD_DEFINED__ +#define __IWbemClassObject_FWD_DEFINED__ +typedef interface IWbemClassObject IWbemClassObject; +#ifdef __cplusplus +interface IWbemClassObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemQualifierSet_FWD_DEFINED__ +#define __IWbemQualifierSet_FWD_DEFINED__ +typedef interface IWbemQualifierSet IWbemQualifierSet; +#ifdef __cplusplus +interface IWbemQualifierSet; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemLocator_FWD_DEFINED__ +#define __IWbemLocator_FWD_DEFINED__ +typedef interface IWbemLocator IWbemLocator; +#ifdef __cplusplus +interface IWbemLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectSink_FWD_DEFINED__ +#define __IWbemObjectSink_FWD_DEFINED__ +typedef interface IWbemObjectSink IWbemObjectSink; +#ifdef __cplusplus +interface IWbemObjectSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectSinkEx_FWD_DEFINED__ +#define __IWbemObjectSinkEx_FWD_DEFINED__ +typedef interface IWbemObjectSinkEx IWbemObjectSinkEx; +#ifdef __cplusplus +interface IWbemObjectSinkEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWbemClassObject_FWD_DEFINED__ +#define __IEnumWbemClassObject_FWD_DEFINED__ +typedef interface IEnumWbemClassObject IEnumWbemClassObject; +#ifdef __cplusplus +interface IEnumWbemClassObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemContext_FWD_DEFINED__ +#define __IWbemContext_FWD_DEFINED__ +typedef interface IWbemContext IWbemContext; +#ifdef __cplusplus +interface IWbemContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemCallResult_FWD_DEFINED__ +#define __IWbemCallResult_FWD_DEFINED__ +typedef interface IWbemCallResult IWbemCallResult; +#ifdef __cplusplus +interface IWbemCallResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemServices_FWD_DEFINED__ +#define __IWbemServices_FWD_DEFINED__ +typedef interface IWbemServices IWbemServices; +#ifdef __cplusplus +interface IWbemServices; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemShutdown_FWD_DEFINED__ +#define __IWbemShutdown_FWD_DEFINED__ +typedef interface IWbemShutdown IWbemShutdown; +#ifdef __cplusplus +interface IWbemShutdown; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectTextSrc_FWD_DEFINED__ +#define __IWbemObjectTextSrc_FWD_DEFINED__ +typedef interface IWbemObjectTextSrc IWbemObjectTextSrc; +#ifdef __cplusplus +interface IWbemObjectTextSrc; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectAccess_FWD_DEFINED__ +#define __IWbemObjectAccess_FWD_DEFINED__ +typedef interface IWbemObjectAccess IWbemObjectAccess; +#ifdef __cplusplus +interface IWbemObjectAccess; +#endif /* __cplusplus */ +#endif + +#ifndef __IMofCompiler_FWD_DEFINED__ +#define __IMofCompiler_FWD_DEFINED__ +typedef interface IMofCompiler IMofCompiler; +#ifdef __cplusplus +interface IMofCompiler; +#endif /* __cplusplus */ +#endif + +#ifndef __IUnsecuredApartment_FWD_DEFINED__ +#define __IUnsecuredApartment_FWD_DEFINED__ +typedef interface IUnsecuredApartment IUnsecuredApartment; +#ifdef __cplusplus +interface IUnsecuredApartment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemUnsecuredApartment_FWD_DEFINED__ +#define __IWbemUnsecuredApartment_FWD_DEFINED__ +typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment; +#ifdef __cplusplus +interface IWbemUnsecuredApartment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemStatusCodeText_FWD_DEFINED__ +#define __IWbemStatusCodeText_FWD_DEFINED__ +typedef interface IWbemStatusCodeText IWbemStatusCodeText; +#ifdef __cplusplus +interface IWbemStatusCodeText; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemBackupRestore_FWD_DEFINED__ +#define __IWbemBackupRestore_FWD_DEFINED__ +typedef interface IWbemBackupRestore IWbemBackupRestore; +#ifdef __cplusplus +interface IWbemBackupRestore; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemBackupRestoreEx_FWD_DEFINED__ +#define __IWbemBackupRestoreEx_FWD_DEFINED__ +typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx; +#ifdef __cplusplus +interface IWbemBackupRestoreEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemRefresher_FWD_DEFINED__ +#define __IWbemRefresher_FWD_DEFINED__ +typedef interface IWbemRefresher IWbemRefresher; +#ifdef __cplusplus +interface IWbemRefresher; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemHiPerfEnum_FWD_DEFINED__ +#define __IWbemHiPerfEnum_FWD_DEFINED__ +typedef interface IWbemHiPerfEnum IWbemHiPerfEnum; +#ifdef __cplusplus +interface IWbemHiPerfEnum; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConfigureRefresher_FWD_DEFINED__ +#define __IWbemConfigureRefresher_FWD_DEFINED__ +typedef interface IWbemConfigureRefresher IWbemConfigureRefresher; +#ifdef __cplusplus +interface IWbemConfigureRefresher; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef __IEnumWbemClassObject_FWD_DEFINED__ +#define __IEnumWbemClassObject_FWD_DEFINED__ +typedef interface IEnumWbemClassObject IEnumWbemClassObject; +#ifdef __cplusplus +interface IEnumWbemClassObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IUnsecuredApartment_FWD_DEFINED__ +#define __IUnsecuredApartment_FWD_DEFINED__ +typedef interface IUnsecuredApartment IUnsecuredApartment; +#ifdef __cplusplus +interface IUnsecuredApartment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemBackupRestore_FWD_DEFINED__ +#define __IWbemBackupRestore_FWD_DEFINED__ +typedef interface IWbemBackupRestore IWbemBackupRestore; +#ifdef __cplusplus +interface IWbemBackupRestore; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemBackupRestoreEx_FWD_DEFINED__ +#define __IWbemBackupRestoreEx_FWD_DEFINED__ +typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx; +#ifdef __cplusplus +interface IWbemBackupRestoreEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemCallResult_FWD_DEFINED__ +#define __IWbemCallResult_FWD_DEFINED__ +typedef interface IWbemCallResult IWbemCallResult; +#ifdef __cplusplus +interface IWbemCallResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemClassObject_FWD_DEFINED__ +#define __IWbemClassObject_FWD_DEFINED__ +typedef interface IWbemClassObject IWbemClassObject; +#ifdef __cplusplus +interface IWbemClassObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConfigureRefresher_FWD_DEFINED__ +#define __IWbemConfigureRefresher_FWD_DEFINED__ +typedef interface IWbemConfigureRefresher IWbemConfigureRefresher; +#ifdef __cplusplus +interface IWbemConfigureRefresher; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConnection_FWD_DEFINED__ +#define __IWbemConnection_FWD_DEFINED__ +typedef interface IWbemConnection IWbemConnection; +#ifdef __cplusplus +interface IWbemConnection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemContext_FWD_DEFINED__ +#define __IWbemContext_FWD_DEFINED__ +typedef interface IWbemContext IWbemContext; +#ifdef __cplusplus +interface IWbemContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventSink_FWD_DEFINED__ +#define __IWbemEventSink_FWD_DEFINED__ +typedef interface IWbemEventSink IWbemEventSink; +#ifdef __cplusplus +interface IWbemEventSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemHiPerfEnum_FWD_DEFINED__ +#define __IWbemHiPerfEnum_FWD_DEFINED__ +typedef interface IWbemHiPerfEnum IWbemHiPerfEnum; +#ifdef __cplusplus +interface IWbemHiPerfEnum; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemLocator_FWD_DEFINED__ +#define __IWbemLocator_FWD_DEFINED__ +typedef interface IWbemLocator IWbemLocator; +#ifdef __cplusplus +interface IWbemLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectAccess_FWD_DEFINED__ +#define __IWbemObjectAccess_FWD_DEFINED__ +typedef interface IWbemObjectAccess IWbemObjectAccess; +#ifdef __cplusplus +interface IWbemObjectAccess; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemObjectSink_FWD_DEFINED__ +#define __IWbemObjectSink_FWD_DEFINED__ +typedef interface IWbemObjectSink IWbemObjectSink; +#ifdef __cplusplus +interface IWbemObjectSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemQualifierSet_FWD_DEFINED__ +#define __IWbemQualifierSet_FWD_DEFINED__ +typedef interface IWbemQualifierSet IWbemQualifierSet; +#ifdef __cplusplus +interface IWbemQualifierSet; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemRefresher_FWD_DEFINED__ +#define __IWbemRefresher_FWD_DEFINED__ +typedef interface IWbemRefresher IWbemRefresher; +#ifdef __cplusplus +interface IWbemRefresher; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemSecureObjectSink_FWD_DEFINED__ +#define __IWbemSecureObjectSink_FWD_DEFINED__ +typedef interface IWbemSecureObjectSink IWbemSecureObjectSink; +#ifdef __cplusplus +interface IWbemSecureObjectSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemServices_FWD_DEFINED__ +#define __IWbemServices_FWD_DEFINED__ +typedef interface IWbemServices IWbemServices; +#ifdef __cplusplus +interface IWbemServices; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemStatusCodeText_FWD_DEFINED__ +#define __IWbemStatusCodeText_FWD_DEFINED__ +typedef interface IWbemStatusCodeText IWbemStatusCodeText; +#ifdef __cplusplus +interface IWbemStatusCodeText; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemUnsecuredApartment_FWD_DEFINED__ +#define __IWbemUnsecuredApartment_FWD_DEFINED__ +typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment; +#ifdef __cplusplus +interface IWbemUnsecuredApartment; +#endif /* __cplusplus */ +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __WbemClient_v1_LIBRARY_DEFINED__ +#define __WbemClient_v1_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WbemClient_v1, 0x7ec196fe, 0x7005, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +typedef enum tag_WBEM_GENUS_TYPE { + WBEM_GENUS_CLASS = 1, + WBEM_GENUS_INSTANCE = 2 +} WBEM_GENUS_TYPE; +typedef enum tag_WBEM_CHANGE_FLAG_TYPE { + WBEM_FLAG_CREATE_OR_UPDATE = 0, + WBEM_FLAG_UPDATE_ONLY = 0x1, + WBEM_FLAG_CREATE_ONLY = 0x2, + WBEM_FLAG_UPDATE_COMPATIBLE = 0x0, + WBEM_FLAG_UPDATE_SAFE_MODE = 0x20, + WBEM_FLAG_UPDATE_FORCE_MODE = 0x40, + WBEM_MASK_UPDATE_MODE = 0x60, + WBEM_FLAG_ADVISORY = 0x10000 +} WBEM_CHANGE_FLAG_TYPE; +typedef enum tag_WBEM_GENERIC_FLAG_TYPE { + WBEM_FLAG_RETURN_IMMEDIATELY = 0x10, + WBEM_FLAG_RETURN_WBEM_COMPLETE = 0, + WBEM_FLAG_BIDIRECTIONAL = 0, + WBEM_FLAG_FORWARD_ONLY = 0x20, + WBEM_FLAG_NO_ERROR_OBJECT = 0x40, + WBEM_FLAG_RETURN_ERROR_OBJECT = 0, + WBEM_FLAG_SEND_STATUS = 0x80, + WBEM_FLAG_DONT_SEND_STATUS = 0, + WBEM_FLAG_ENSURE_LOCATABLE = 0x100, + WBEM_FLAG_DIRECT_READ = 0x200, + WBEM_FLAG_SEND_ONLY_SELECTED = 0, + WBEM_RETURN_WHEN_COMPLETE = 0, + WBEM_RETURN_IMMEDIATELY = 0x10, + WBEM_MASK_RESERVED_FLAGS = 0x1f000, + WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000, + WBEM_FLAG_STRONG_VALIDATION = 0x100000 +} WBEM_GENERIC_FLAG_TYPE; +typedef enum tag_WBEM_STATUS_TYPE { + WBEM_STATUS_COMPLETE = 0, + WBEM_STATUS_REQUIREMENTS = 1, + WBEM_STATUS_PROGRESS = 2, + WBEM_STATUS_LOGGING_INFORMATION = 0x100, + WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 0x200, + WBEM_STATUS_LOGGING_INFORMATION_HOST = 0x400, + WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 0x800, + WBEM_STATUS_LOGGING_INFORMATION_ESS = 0x1000 +} WBEM_STATUS_TYPE; +typedef enum tag_WBEM_TIMEOUT_TYPE { + WBEM_NO_WAIT = 0, + WBEM_INFINITE = 0xffffffff +} WBEM_TIMEOUT_TYPE; +typedef enum tag_WBEM_CONDITION_FLAG_TYPE { + WBEM_FLAG_ALWAYS = 0, + WBEM_FLAG_ONLY_IF_TRUE = 0x1, + WBEM_FLAG_ONLY_IF_FALSE = 0x2, + WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3, + WBEM_MASK_PRIMARY_CONDITION = 0x3, + WBEM_FLAG_KEYS_ONLY = 0x4, + WBEM_FLAG_REFS_ONLY = 0x8, + WBEM_FLAG_LOCAL_ONLY = 0x10, + WBEM_FLAG_PROPAGATED_ONLY = 0x20, + WBEM_FLAG_SYSTEM_ONLY = 0x30, + WBEM_FLAG_NONSYSTEM_ONLY = 0x40, + WBEM_MASK_CONDITION_ORIGIN = 0x70, + WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100, + WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200, + WBEM_MASK_CLASS_CONDITION = 0x300 +} WBEM_CONDITION_FLAG_TYPE; +typedef enum tag_WBEM_FLAVOR_TYPE { + WBEM_FLAVOR_DONT_PROPAGATE = 0, + WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1, + WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2, + WBEM_FLAVOR_MASK_PROPAGATION = 0xf, + WBEM_FLAVOR_OVERRIDABLE = 0, + WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10, + WBEM_FLAVOR_MASK_PERMISSIONS = 0x10, + WBEM_FLAVOR_ORIGIN_LOCAL = 0, + WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20, + WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40, + WBEM_FLAVOR_MASK_ORIGIN = 0x60, + WBEM_FLAVOR_NOT_AMENDED = 0, + WBEM_FLAVOR_AMENDED = 0x80, + WBEM_FLAVOR_MASK_AMENDED = 0x80 +} WBEM_FLAVOR_TYPE; +typedef enum tag_WBEM_QUERY_FLAG_TYPE { + WBEM_FLAG_DEEP = 0, + WBEM_FLAG_SHALLOW = 1, + WBEM_FLAG_PROTOTYPE = 2 +} WBEM_QUERY_FLAG_TYPE; +typedef enum tag_WBEM_SECURITY_FLAGS { + WBEM_ENABLE = 1, + WBEM_METHOD_EXECUTE = 2, + WBEM_FULL_WRITE_REP = 4, + WBEM_PARTIAL_WRITE_REP = 8, + WBEM_WRITE_PROVIDER = 0x10, + WBEM_REMOTE_ACCESS = 0x20, + WBEM_RIGHT_SUBSCRIBE = 0x40, + WBEM_RIGHT_PUBLISH = 0x80 +} WBEM_SECURITY_FLAGS; +typedef enum tag_WBEM_LIMITATION_FLAG_TYPE { + WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10, + WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20 +} WBEM_LIMITATION_FLAG_TYPE; +typedef enum tag_WBEM_TEXT_FLAG_TYPE { + WBEM_FLAG_NO_FLAVORS = 0x1 +} WBEM_TEXT_FLAG_TYPE; +typedef enum tag_WBEM_COMPARISON_FLAG { + WBEM_COMPARISON_INCLUDE_ALL = 0, + WBEM_FLAG_IGNORE_QUALIFIERS = 0x1, + WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2, + WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4, + WBEM_FLAG_IGNORE_CLASS = 0x8, + WBEM_FLAG_IGNORE_CASE = 0x10, + WBEM_FLAG_IGNORE_FLAVOR = 0x20 +} WBEM_COMPARISON_FLAG; +typedef enum tag_WBEM_LOCKING { + WBEM_FLAG_ALLOW_READ = 0x1 +} WBEM_LOCKING_FLAG_TYPE; +typedef enum tag_CIMTYPE_ENUMERATION { + CIM_ILLEGAL = 0xfff, + CIM_EMPTY = 0, + CIM_SINT8 = 16, + CIM_UINT8 = 17, + CIM_SINT16 = 2, + CIM_UINT16 = 18, + CIM_SINT32 = 3, + CIM_UINT32 = 19, + CIM_SINT64 = 20, + CIM_UINT64 = 21, + CIM_REAL32 = 4, + CIM_REAL64 = 5, + CIM_BOOLEAN = 11, + CIM_STRING = 8, + CIM_DATETIME = 101, + CIM_REFERENCE = 102, + CIM_CHAR16 = 103, + CIM_OBJECT = 13, + CIM_FLAG_ARRAY = 0x2000 +} CIMTYPE_ENUMERATION; +typedef enum tag_WBEM_BACKUP_RESTORE_FLAGS { + WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0, + WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1 +} WBEM_BACKUP_RESTORE_FLAGS; +typedef enum tag_WBEM_REFRESHER_FLAGS { + WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0, + WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1 +} WBEM_REFRESHER_FLAGS; +typedef enum tag_WBEM_SHUTDOWN_FLAGS { + WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1, + WBEM_SHUTDOWN_WMI = 2, + WBEM_SHUTDOWN_OS = 3 +} WBEM_SHUTDOWN_FLAGS; +typedef enum tag_WBEMSTATUS_FORMAT { + WBEMSTATUS_FORMAT_NEWLINE = 0, + WBEMSTATUS_FORMAT_NO_NEWLINE = 1 +} WBEMSTATUS_FORMAT; +typedef enum tag_WBEM_LIMITS { + WBEM_MAX_IDENTIFIER = 0x1000, + WBEM_MAX_QUERY = 0x4000, + WBEM_MAX_PATH = 0x2000, + WBEM_MAX_OBJECT_NESTING = 64, + WBEM_MAX_USER_PROPERTIES = 1024 +} WBEM_LIMITS; +typedef enum tag_WBEMSTATUS { + WBEM_NO_ERROR = 0, + WBEM_S_NO_ERROR = 0, + WBEM_S_SAME = 0, + WBEM_S_FALSE = 1, + WBEM_S_ALREADY_EXISTS = 0x40001, + WBEM_S_RESET_TO_DEFAULT = 0x40002, + WBEM_S_DIFFERENT = 0x40003, + WBEM_S_TIMEDOUT = 0x40004, + WBEM_S_NO_MORE_DATA = 0x40005, + WBEM_S_OPERATION_CANCELLED = 0x40006, + WBEM_S_PENDING = 0x40007, + WBEM_S_DUPLICATE_OBJECTS = 0x40008, + WBEM_S_ACCESS_DENIED = 0x40009, + WBEM_S_PARTIAL_RESULTS = 0x40010, + WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017, + WBEM_E_FAILED = 0x80041001, + WBEM_E_NOT_FOUND = 0x80041002, + WBEM_E_ACCESS_DENIED = 0x80041003, + WBEM_E_PROVIDER_FAILURE = 0x80041004, + WBEM_E_TYPE_MISMATCH = 0x80041005, + WBEM_E_OUT_OF_MEMORY = 0x80041006, + WBEM_E_INVALID_CONTEXT = 0x80041007, + WBEM_E_INVALID_PARAMETER = 0x80041008, + WBEM_E_NOT_AVAILABLE = 0x80041009, + WBEM_E_CRITICAL_ERROR = 0x8004100a, + WBEM_E_INVALID_STREAM = 0x8004100b, + WBEM_E_NOT_SUPPORTED = 0x8004100c, + WBEM_E_INVALID_SUPERCLASS = 0x8004100d, + WBEM_E_INVALID_NAMESPACE = 0x8004100e, + WBEM_E_INVALID_OBJECT = 0x8004100f, + WBEM_E_INVALID_CLASS = 0x80041010, + WBEM_E_PROVIDER_NOT_FOUND = 0x80041011, + WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012, + WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013, + WBEM_E_INITIALIZATION_FAILURE = 0x80041014, + WBEM_E_TRANSPORT_FAILURE = 0x80041015, + WBEM_E_INVALID_OPERATION = 0x80041016, + WBEM_E_INVALID_QUERY = 0x80041017, + WBEM_E_INVALID_QUERY_TYPE = 0x80041018, + WBEM_E_ALREADY_EXISTS = 0x80041019, + WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a, + WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b, + WBEM_E_PROPAGATED_PROPERTY = 0x8004101c, + WBEM_E_UNEXPECTED = 0x8004101d, + WBEM_E_ILLEGAL_OPERATION = 0x8004101e, + WBEM_E_CANNOT_BE_KEY = 0x8004101f, + WBEM_E_INCOMPLETE_CLASS = 0x80041020, + WBEM_E_INVALID_SYNTAX = 0x80041021, + WBEM_E_NONDECORATED_OBJECT = 0x80041022, + WBEM_E_READ_ONLY = 0x80041023, + WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024, + WBEM_E_CLASS_HAS_CHILDREN = 0x80041025, + WBEM_E_CLASS_HAS_INSTANCES = 0x80041026, + WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027, + WBEM_E_ILLEGAL_NULL = 0x80041028, + WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029, + WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a, + WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b, + WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c, + WBEM_E_INVALID_CIM_TYPE = 0x8004102d, + WBEM_E_INVALID_METHOD = 0x8004102e, + WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f, + WBEM_E_SYSTEM_PROPERTY = 0x80041030, + WBEM_E_INVALID_PROPERTY = 0x80041031, + WBEM_E_CALL_CANCELLED = 0x80041032, + WBEM_E_SHUTTING_DOWN = 0x80041033, + WBEM_E_PROPAGATED_METHOD = 0x80041034, + WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035, + WBEM_E_MISSING_PARAMETER_ID = 0x80041036, + WBEM_E_INVALID_PARAMETER_ID = 0x80041037, + WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038, + WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039, + WBEM_E_INVALID_OBJECT_PATH = 0x8004103a, + WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b, + WBEM_E_BUFFER_TOO_SMALL = 0x8004103c, + WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d, + WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e, + WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f, + WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040, + WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041, + WBEM_E_INVALID_QUALIFIER = 0x80041042, + WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043, + WBEM_E_TOO_MUCH_DATA = 0x80041044, + WBEM_E_SERVER_TOO_BUSY = 0x80041045, + WBEM_E_INVALID_FLAVOR = 0x80041046, + WBEM_E_CIRCULAR_REFERENCE = 0x80041047, + WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048, + WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049, + WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050, + WBEM_E_TOO_MANY_PROPERTIES = 0x80041051, + WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052, + WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053, + WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054, + WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055, + WBEM_E_METHOD_DISABLED = 0x80041056, + WBEM_E_REFRESHER_BUSY = 0x80041057, + WBEM_E_UNPARSABLE_QUERY = 0x80041058, + WBEM_E_NOT_EVENT_CLASS = 0x80041059, + WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a, + WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b, + WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c, + WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d, + WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f, + WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060, + WBEM_E_QUEUE_OVERFLOW = 0x80041061, + WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062, + WBEM_E_INVALID_OPERATOR = 0x80041063, + WBEM_E_LOCAL_CREDENTIALS = 0x80041064, + WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065, + WBEM_E_AMENDED_OBJECT = 0x80041066, + WBEM_E_CLIENT_TOO_SLOW = 0x80041067, + WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068, + WBEM_E_TIMED_OUT = 0x80041069, + WBEM_E_INVALID_ASSOCIATION = 0x8004106a, + WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b, + WBEM_E_QUOTA_VIOLATION = 0x8004106c, + WBEM_E_RESERVED_001 = 0x8004106d, + WBEM_E_RESERVED_002 = 0x8004106e, + WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f, + WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070, + WBEM_E_CONNECTION_FAILED = 0x80041071, + WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072, + WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073, + WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074, + WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075, + WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076, + WBEM_E_RERUN_COMMAND = 0x80041077, + WBEM_E_DATABASE_VER_MISMATCH = 0x80041078, + WBEM_E_VETO_DELETE = 0x80041079, + WBEM_E_VETO_PUT = 0x8004107a, + WBEM_E_INVALID_LOCALE = 0x80041080, + WBEM_E_PROVIDER_SUSPENDED = 0x80041081, + WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082, + WBEM_E_NO_SCHEMA = 0x80041083, + WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084, + WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085, + WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086, + WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087, + WBEM_E_PROVIDER_TIMED_OUT = 0x80041088, + WBEM_E_NO_KEY = 0x80041089, + WBEM_E_PROVIDER_DISABLED = 0x8004108a, + WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001, + WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002, + WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003, + WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001, + WBEMMOF_E_EXPECTED_SEMI = 0x80044002, + WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003, + WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004, + WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005, + WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006, + WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007, + WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008, + WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009, + WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a, + WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b, + WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c, + WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d, + WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e, + WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f, + WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010, + WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011, + WBEMMOF_E_INVALID_PRAGMA = 0x80044012, + WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013, + WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014, + WBEMMOF_E_TYPE_MISMATCH = 0x80044015, + WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016, + WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017, + WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018, + WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019, + WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a, + WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b, + WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c, + WBEMMOF_E_OUT_OF_RANGE = 0x8004401d, + WBEMMOF_E_INVALID_FILE = 0x8004401e, + WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f, + WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020, + WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021, + WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022, + WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023, + WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024, + WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025, + WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026, + WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027, + WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028, + WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029, + WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a, + WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b, + WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c, + WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d, + WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e, + WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f, + WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030, + WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031 +} WBEMSTATUS; +typedef enum tag_WMI_OBJ_TEXT { + WMI_OBJ_TEXT_CIM_DTD_2_0 = 1, + WMI_OBJ_TEXT_WMI_DTD_2_0 = 2, + WMI_OBJ_TEXT_WMI_EXT1 = 3, + WMI_OBJ_TEXT_WMI_EXT2 = 4, + WMI_OBJ_TEXT_WMI_EXT3 = 5, + WMI_OBJ_TEXT_WMI_EXT4 = 6, + WMI_OBJ_TEXT_WMI_EXT5 = 7, + WMI_OBJ_TEXT_WMI_EXT6 = 8, + WMI_OBJ_TEXT_WMI_EXT7 = 9, + WMI_OBJ_TEXT_WMI_EXT8 = 10, + WMI_OBJ_TEXT_WMI_EXT9 = 11, + WMI_OBJ_TEXT_WMI_EXT10 = 12, + WMI_OBJ_TEXT_LAST = 13 +} WMI_OBJ_TEXT; +typedef enum tag_WBEM_COMPILER_OPTIONS { + WBEM_FLAG_CHECK_ONLY = 0x1, + WBEM_FLAG_AUTORECOVER = 0x2, + WBEM_FLAG_WMI_CHECK = 0x4, + WBEM_FLAG_CONSOLE_PRINT = 0x8, + WBEM_FLAG_DONT_ADD_TO_LIST = 0x10, + WBEM_FLAG_SPLIT_FILES = 0x20, + WBEM_FLAG_STORE_FILE = 0x100 +} WBEM_COMPILER_OPTIONS; +typedef enum tag_WBEM_CONNECT_OPTIONS { + WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40, + WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80, + WBEM_FLAG_CONNECT_PROVIDERS = 0x100 +} WBEM_CONNECT_OPTIONS; +typedef enum tag_WBEM_UNSECAPP_FLAG_TYPE { + WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0, + WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1, + WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2 +} WBEM_UNSECAPP_FLAG_TYPE; +typedef enum tag_WBEM_INFORMATION_FLAG_TYPE { + WBEM_FLAG_SHORT_NAME = 0x1, + WBEM_FLAG_LONG_NAME = 0x2 +} WBEM_INFORMATION_FLAG_TYPE; +typedef struct tag_CompileStatusInfo { + LONG lPhaseError; + HRESULT hRes; + LONG ObjectNum; + LONG FirstLine; + LONG LastLine; + DWORD dwOutFlags; +} WBEM_COMPILE_STATUS_INFO; +typedef LONG CIMTYPE; +/***************************************************************************** + * WbemBackupRestore coclass + */ + +DEFINE_GUID(CLSID_WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04); + +#ifdef __cplusplus +class DECLSPEC_UUID("c49e32c6-bc8b-11d2-85d4-00105a1f8304") WbemBackupRestore; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04) +#endif +#endif + +/***************************************************************************** + * WbemClassObject coclass + */ + +DEFINE_GUID(CLSID_WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd); + +#ifdef __cplusplus +class DECLSPEC_UUID("9a653086-174f-11d2-b5f9-00104b703efd") WbemClassObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd) +#endif +#endif + +/***************************************************************************** + * WbemContext coclass + */ + +DEFINE_GUID(CLSID_WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("674b6698-ee92-11d0-ad71-00c04fd8fdff") WbemContext; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +/***************************************************************************** + * WbemLocator coclass + */ + +DEFINE_GUID(CLSID_WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24); + +#ifdef __cplusplus +class DECLSPEC_UUID("4590f811-1d3a-11d0-891f-00aa004b2e24") WbemLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24) +#endif +#endif + +/***************************************************************************** + * WbemStatusCodeText coclass + */ + +DEFINE_GUID(CLSID_WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20); + +#ifdef __cplusplus +class DECLSPEC_UUID("eb87e1bd-3233-11d2-aec9-00c04fb68820") WbemStatusCodeText; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#endif + +/***************************************************************************** + * UnsecuredApartment coclass + */ + +DEFINE_GUID(CLSID_UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("49bd2028-1523-11d1-ad79-00c04fd8fdff") UnsecuredApartment; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +/***************************************************************************** + * MofCompiler coclass + */ + +DEFINE_GUID(CLSID_MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20); + +#ifdef __cplusplus +class DECLSPEC_UUID("6daf9757-2e37-11d2-aec9-00c04fb68820") MofCompiler; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#endif + +/***************************************************************************** + * WbemObjectTextSrc coclass + */ + +DEFINE_GUID(CLSID_WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6); + +#ifdef __cplusplus +class DECLSPEC_UUID("8d1c559d-84f0-4bb3-a7d5-56a7435a9ba6") WbemObjectTextSrc; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6) +#endif +#endif + +/***************************************************************************** + * WbemRefresher coclass + */ + +DEFINE_GUID(CLSID_WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("c71566f2-561e-11d1-ad87-00c04fd8fdff") WbemRefresher; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +#endif /* __WbemClient_v1_LIBRARY_DEFINED__ */ +/***************************************************************************** + * IWbemClassObject interface + */ +#ifndef __IWbemClassObject_INTERFACE_DEFINED__ +#define __IWbemClassObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dc12a681-737f-11cf-884d-00aa004b2e24") +IWbemClassObject : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetQualifierSet( + IWbemQualifierSet **ppQualSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE Get( + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor) = 0; + + virtual HRESULT STDMETHODCALLTYPE Put( + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE Type) = 0; + + virtual HRESULT STDMETHODCALLTYPE Delete( + LPCWSTR wszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNames( + LPCWSTR wszQualifierName, + LONG lFlags, + VARIANT *pQualifierVal, + SAFEARRAY **pNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginEnumeration( + LONG lEnumFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Next( + LONG lFlags, + BSTR *strName, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndEnumeration( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyQualifierSet( + LPCWSTR wszProperty, + IWbemQualifierSet **ppQualSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IWbemClassObject **ppCopy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjectText( + LONG lFlags, + BSTR *pstrObjectText) = 0; + + virtual HRESULT STDMETHODCALLTYPE SpawnDerivedClass( + LONG lFlags, + IWbemClassObject **ppNewClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE SpawnInstance( + LONG lFlags, + IWbemClassObject **ppNewInstance) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareTo( + LONG lFlags, + IWbemClassObject *pCompareTo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyOrigin( + LPCWSTR wszName, + BSTR *pstrClassName) = 0; + + virtual HRESULT STDMETHODCALLTYPE InheritsFrom( + LPCWSTR strAncestor) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMethod( + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutMethod( + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject *pInSignature, + IWbemClassObject *pOutSignature) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteMethod( + LPCWSTR wszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginMethodEnumeration( + LONG lEnumFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE NextMethod( + LONG lFlags, + BSTR *pstrName, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndMethodEnumeration( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMethodQualifierSet( + LPCWSTR wszMethod, + IWbemQualifierSet **ppQualSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMethodOrigin( + LPCWSTR wszMethodName, + BSTR *pstrClassName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24) +#endif +#else +typedef struct IWbemClassObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemClassObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemClassObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemClassObject *This); + + /*** IWbemClassObject methods ***/ + HRESULT (STDMETHODCALLTYPE *GetQualifierSet)( + IWbemClassObject *This, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *Get)( + IWbemClassObject *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *Put)( + IWbemClassObject *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE Type); + + HRESULT (STDMETHODCALLTYPE *Delete)( + IWbemClassObject *This, + LPCWSTR wszName); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + IWbemClassObject *This, + LPCWSTR wszQualifierName, + LONG lFlags, + VARIANT *pQualifierVal, + SAFEARRAY **pNames); + + HRESULT (STDMETHODCALLTYPE *BeginEnumeration)( + IWbemClassObject *This, + LONG lEnumFlags); + + HRESULT (STDMETHODCALLTYPE *Next)( + IWbemClassObject *This, + LONG lFlags, + BSTR *strName, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *EndEnumeration)( + IWbemClassObject *This); + + HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)( + IWbemClassObject *This, + LPCWSTR wszProperty, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWbemClassObject *This, + IWbemClassObject **ppCopy); + + HRESULT (STDMETHODCALLTYPE *GetObjectText)( + IWbemClassObject *This, + LONG lFlags, + BSTR *pstrObjectText); + + HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)( + IWbemClassObject *This, + LONG lFlags, + IWbemClassObject **ppNewClass); + + HRESULT (STDMETHODCALLTYPE *SpawnInstance)( + IWbemClassObject *This, + LONG lFlags, + IWbemClassObject **ppNewInstance); + + HRESULT (STDMETHODCALLTYPE *CompareTo)( + IWbemClassObject *This, + LONG lFlags, + IWbemClassObject *pCompareTo); + + HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)( + IWbemClassObject *This, + LPCWSTR wszName, + BSTR *pstrClassName); + + HRESULT (STDMETHODCALLTYPE *InheritsFrom)( + IWbemClassObject *This, + LPCWSTR strAncestor); + + HRESULT (STDMETHODCALLTYPE *GetMethod)( + IWbemClassObject *This, + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature); + + HRESULT (STDMETHODCALLTYPE *PutMethod)( + IWbemClassObject *This, + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject *pInSignature, + IWbemClassObject *pOutSignature); + + HRESULT (STDMETHODCALLTYPE *DeleteMethod)( + IWbemClassObject *This, + LPCWSTR wszName); + + HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)( + IWbemClassObject *This, + LONG lEnumFlags); + + HRESULT (STDMETHODCALLTYPE *NextMethod)( + IWbemClassObject *This, + LONG lFlags, + BSTR *pstrName, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature); + + HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)( + IWbemClassObject *This); + + HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)( + IWbemClassObject *This, + LPCWSTR wszMethod, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)( + IWbemClassObject *This, + LPCWSTR wszMethodName, + BSTR *pstrClassName); + + END_INTERFACE +} IWbemClassObjectVtbl; + +interface IWbemClassObject { + CONST_VTBL IWbemClassObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemClassObject_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemClassObject methods ***/ +#define IWbemClassObject_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet) +#define IWbemClassObject_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor) +#define IWbemClassObject_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type) +#define IWbemClassObject_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName) +#define IWbemClassObject_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) +#define IWbemClassObject_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags) +#define IWbemClassObject_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor) +#define IWbemClassObject_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This) +#define IWbemClassObject_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet) +#define IWbemClassObject_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy) +#define IWbemClassObject_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText) +#define IWbemClassObject_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass) +#define IWbemClassObject_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance) +#define IWbemClassObject_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo) +#define IWbemClassObject_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName) +#define IWbemClassObject_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor) +#define IWbemClassObject_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) +#define IWbemClassObject_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) +#define IWbemClassObject_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName) +#define IWbemClassObject_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags) +#define IWbemClassObject_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) +#define IWbemClassObject_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This) +#define IWbemClassObject_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet) +#define IWbemClassObject_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemClassObject_QueryInterface(IWbemClassObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemClassObject_AddRef(IWbemClassObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemClassObject_Release(IWbemClassObject* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemClassObject methods ***/ +static inline HRESULT IWbemClassObject_GetQualifierSet(IWbemClassObject* This,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetQualifierSet(This,ppQualSet); +} +static inline HRESULT IWbemClassObject_Get(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) { + return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor); +} +static inline HRESULT IWbemClassObject_Put(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) { + return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type); +} +static inline HRESULT IWbemClassObject_Delete(IWbemClassObject* This,LPCWSTR wszName) { + return This->lpVtbl->Delete(This,wszName); +} +static inline HRESULT IWbemClassObject_GetNames(IWbemClassObject* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) { + return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames); +} +static inline HRESULT IWbemClassObject_BeginEnumeration(IWbemClassObject* This,LONG lEnumFlags) { + return This->lpVtbl->BeginEnumeration(This,lEnumFlags); +} +static inline HRESULT IWbemClassObject_Next(IWbemClassObject* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) { + return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor); +} +static inline HRESULT IWbemClassObject_EndEnumeration(IWbemClassObject* This) { + return This->lpVtbl->EndEnumeration(This); +} +static inline HRESULT IWbemClassObject_GetPropertyQualifierSet(IWbemClassObject* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet); +} +static inline HRESULT IWbemClassObject_Clone(IWbemClassObject* This,IWbemClassObject **ppCopy) { + return This->lpVtbl->Clone(This,ppCopy); +} +static inline HRESULT IWbemClassObject_GetObjectText(IWbemClassObject* This,LONG lFlags,BSTR *pstrObjectText) { + return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText); +} +static inline HRESULT IWbemClassObject_SpawnDerivedClass(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewClass) { + return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass); +} +static inline HRESULT IWbemClassObject_SpawnInstance(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewInstance) { + return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance); +} +static inline HRESULT IWbemClassObject_CompareTo(IWbemClassObject* This,LONG lFlags,IWbemClassObject *pCompareTo) { + return This->lpVtbl->CompareTo(This,lFlags,pCompareTo); +} +static inline HRESULT IWbemClassObject_GetPropertyOrigin(IWbemClassObject* This,LPCWSTR wszName,BSTR *pstrClassName) { + return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName); +} +static inline HRESULT IWbemClassObject_InheritsFrom(IWbemClassObject* This,LPCWSTR strAncestor) { + return This->lpVtbl->InheritsFrom(This,strAncestor); +} +static inline HRESULT IWbemClassObject_GetMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) { + return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature); +} +static inline HRESULT IWbemClassObject_PutMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) { + return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature); +} +static inline HRESULT IWbemClassObject_DeleteMethod(IWbemClassObject* This,LPCWSTR wszName) { + return This->lpVtbl->DeleteMethod(This,wszName); +} +static inline HRESULT IWbemClassObject_BeginMethodEnumeration(IWbemClassObject* This,LONG lEnumFlags) { + return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags); +} +static inline HRESULT IWbemClassObject_NextMethod(IWbemClassObject* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) { + return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature); +} +static inline HRESULT IWbemClassObject_EndMethodEnumeration(IWbemClassObject* This) { + return This->lpVtbl->EndMethodEnumeration(This); +} +static inline HRESULT IWbemClassObject_GetMethodQualifierSet(IWbemClassObject* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet); +} +static inline HRESULT IWbemClassObject_GetMethodOrigin(IWbemClassObject* This,LPCWSTR wszMethodName,BSTR *pstrClassName) { + return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName); +} +#endif +#endif + +#endif + + +#endif /* __IWbemClassObject_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemQualifierSet interface + */ +#ifndef __IWbemQualifierSet_INTERFACE_DEFINED__ +#define __IWbemQualifierSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dc12a680-737f-11cf-884d-00aa004b2e24") +IWbemQualifierSet : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Get( + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + LONG *plFlavor) = 0; + + virtual HRESULT STDMETHODCALLTYPE Put( + LPCWSTR wszName, + VARIANT *pVal, + LONG lFlavor) = 0; + + virtual HRESULT STDMETHODCALLTYPE Delete( + LPCWSTR wszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNames( + LONG lFlags, + SAFEARRAY **pNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginEnumeration( + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Next( + LONG lFlags, + BSTR *pstrName, + VARIANT *pVal, + LONG *plFlavor) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndEnumeration( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24) +#endif +#else +typedef struct IWbemQualifierSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemQualifierSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemQualifierSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemQualifierSet *This); + + /*** IWbemQualifierSet methods ***/ + HRESULT (STDMETHODCALLTYPE *Get)( + IWbemQualifierSet *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *Put)( + IWbemQualifierSet *This, + LPCWSTR wszName, + VARIANT *pVal, + LONG lFlavor); + + HRESULT (STDMETHODCALLTYPE *Delete)( + IWbemQualifierSet *This, + LPCWSTR wszName); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + IWbemQualifierSet *This, + LONG lFlags, + SAFEARRAY **pNames); + + HRESULT (STDMETHODCALLTYPE *BeginEnumeration)( + IWbemQualifierSet *This, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Next)( + IWbemQualifierSet *This, + LONG lFlags, + BSTR *pstrName, + VARIANT *pVal, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *EndEnumeration)( + IWbemQualifierSet *This); + + END_INTERFACE +} IWbemQualifierSetVtbl; + +interface IWbemQualifierSet { + CONST_VTBL IWbemQualifierSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemQualifierSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemQualifierSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemQualifierSet_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemQualifierSet methods ***/ +#define IWbemQualifierSet_Get(This,wszName,lFlags,pVal,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor) +#define IWbemQualifierSet_Put(This,wszName,pVal,lFlavor) (This)->lpVtbl->Put(This,wszName,pVal,lFlavor) +#define IWbemQualifierSet_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName) +#define IWbemQualifierSet_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames) +#define IWbemQualifierSet_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags) +#define IWbemQualifierSet_Next(This,lFlags,pstrName,pVal,plFlavor) (This)->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor) +#define IWbemQualifierSet_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemQualifierSet_QueryInterface(IWbemQualifierSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemQualifierSet_AddRef(IWbemQualifierSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemQualifierSet_Release(IWbemQualifierSet* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemQualifierSet methods ***/ +static inline HRESULT IWbemQualifierSet_Get(IWbemQualifierSet* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,LONG *plFlavor) { + return This->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor); +} +static inline HRESULT IWbemQualifierSet_Put(IWbemQualifierSet* This,LPCWSTR wszName,VARIANT *pVal,LONG lFlavor) { + return This->lpVtbl->Put(This,wszName,pVal,lFlavor); +} +static inline HRESULT IWbemQualifierSet_Delete(IWbemQualifierSet* This,LPCWSTR wszName) { + return This->lpVtbl->Delete(This,wszName); +} +static inline HRESULT IWbemQualifierSet_GetNames(IWbemQualifierSet* This,LONG lFlags,SAFEARRAY **pNames) { + return This->lpVtbl->GetNames(This,lFlags,pNames); +} +static inline HRESULT IWbemQualifierSet_BeginEnumeration(IWbemQualifierSet* This,LONG lFlags) { + return This->lpVtbl->BeginEnumeration(This,lFlags); +} +static inline HRESULT IWbemQualifierSet_Next(IWbemQualifierSet* This,LONG lFlags,BSTR *pstrName,VARIANT *pVal,LONG *plFlavor) { + return This->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor); +} +static inline HRESULT IWbemQualifierSet_EndEnumeration(IWbemQualifierSet* This) { + return This->lpVtbl->EndEnumeration(This); +} +#endif +#endif + +#endif + + +#endif /* __IWbemQualifierSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemLocator interface + */ +#ifndef __IWbemLocator_INTERFACE_DEFINED__ +#define __IWbemLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dc12a687-737f-11cf-884d-00aa004b2e24") +IWbemLocator : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ConnectServer( + const BSTR strNetworkResource, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lSecurityFlags, + const BSTR strAuthority, + IWbemContext *pCtx, + IWbemServices **ppNamespace) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24) +#endif +#else +typedef struct IWbemLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemLocator *This); + + /*** IWbemLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *ConnectServer)( + IWbemLocator *This, + const BSTR strNetworkResource, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lSecurityFlags, + const BSTR strAuthority, + IWbemContext *pCtx, + IWbemServices **ppNamespace); + + END_INTERFACE +} IWbemLocatorVtbl; + +interface IWbemLocator { + CONST_VTBL IWbemLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemLocator methods ***/ +#define IWbemLocator_ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) (This)->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemLocator_QueryInterface(IWbemLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemLocator_AddRef(IWbemLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemLocator_Release(IWbemLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemLocator methods ***/ +static inline HRESULT IWbemLocator_ConnectServer(IWbemLocator* This,const BSTR strNetworkResource,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,LONG lSecurityFlags,const BSTR strAuthority,IWbemContext *pCtx,IWbemServices **ppNamespace) { + return This->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace); +} +#endif +#endif + +#endif + + +#endif /* __IWbemLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemObjectSink interface + */ +#ifndef __IWbemObjectSink_INTERFACE_DEFINED__ +#define __IWbemObjectSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7c857801-7381-11cf-884d-00aa004b2e24") +IWbemObjectSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Indicate( + LONG lObjectCount, + IWbemClassObject **apObjArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStatus( + LONG lFlags, + HRESULT hResult, + BSTR strParam, + IWbemClassObject *pObjParam) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24) +#endif +#else +typedef struct IWbemObjectSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemObjectSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemObjectSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemObjectSink *This); + + /*** IWbemObjectSink methods ***/ + HRESULT (STDMETHODCALLTYPE *Indicate)( + IWbemObjectSink *This, + LONG lObjectCount, + IWbemClassObject **apObjArray); + + HRESULT (STDMETHODCALLTYPE *SetStatus)( + IWbemObjectSink *This, + LONG lFlags, + HRESULT hResult, + BSTR strParam, + IWbemClassObject *pObjParam); + + END_INTERFACE +} IWbemObjectSinkVtbl; + +interface IWbemObjectSink { + CONST_VTBL IWbemObjectSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemObjectSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemObjectSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemObjectSink_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemObjectSink methods ***/ +#define IWbemObjectSink_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray) +#define IWbemObjectSink_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemObjectSink_QueryInterface(IWbemObjectSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemObjectSink_AddRef(IWbemObjectSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemObjectSink_Release(IWbemObjectSink* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemObjectSink methods ***/ +static inline HRESULT IWbemObjectSink_Indicate(IWbemObjectSink* This,LONG lObjectCount,IWbemClassObject **apObjArray) { + return This->lpVtbl->Indicate(This,lObjectCount,apObjArray); +} +static inline HRESULT IWbemObjectSink_SetStatus(IWbemObjectSink* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) { + return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam); +} +#endif +#endif + +#endif + + +#endif /* __IWbemObjectSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemObjectSinkEx interface + */ +#ifndef __IWbemObjectSinkEx_INTERFACE_DEFINED__ +#define __IWbemObjectSinkEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e7d35cfa-348b-485e-b524-252725d697ca") +IWbemObjectSinkEx : public IWbemObjectSink +{ + virtual HRESULT STDMETHODCALLTYPE WriteMessage( + ULONG uChannel, + const BSTR strMessage) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteError( + IWbemClassObject *pObjError, + unsigned char *puReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE PromptUser( + const BSTR strMessage, + unsigned char uPromptType, + unsigned char *puReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteProgress( + const BSTR strActivity, + const BSTR strCurrentOperation, + const BSTR strStatusDescription, + ULONG uPercentComplete, + ULONG uSecondsRemaining) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteStreamParameter( + const BSTR strName, + VARIANT *vtValue, + ULONG ulType, + ULONG ulFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca) +#endif +#else +typedef struct IWbemObjectSinkExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemObjectSinkEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemObjectSinkEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemObjectSinkEx *This); + + /*** IWbemObjectSink methods ***/ + HRESULT (STDMETHODCALLTYPE *Indicate)( + IWbemObjectSinkEx *This, + LONG lObjectCount, + IWbemClassObject **apObjArray); + + HRESULT (STDMETHODCALLTYPE *SetStatus)( + IWbemObjectSinkEx *This, + LONG lFlags, + HRESULT hResult, + BSTR strParam, + IWbemClassObject *pObjParam); + + /*** IWbemObjectSinkEx methods ***/ + HRESULT (STDMETHODCALLTYPE *WriteMessage)( + IWbemObjectSinkEx *This, + ULONG uChannel, + const BSTR strMessage); + + HRESULT (STDMETHODCALLTYPE *WriteError)( + IWbemObjectSinkEx *This, + IWbemClassObject *pObjError, + unsigned char *puReturned); + + HRESULT (STDMETHODCALLTYPE *PromptUser)( + IWbemObjectSinkEx *This, + const BSTR strMessage, + unsigned char uPromptType, + unsigned char *puReturned); + + HRESULT (STDMETHODCALLTYPE *WriteProgress)( + IWbemObjectSinkEx *This, + const BSTR strActivity, + const BSTR strCurrentOperation, + const BSTR strStatusDescription, + ULONG uPercentComplete, + ULONG uSecondsRemaining); + + HRESULT (STDMETHODCALLTYPE *WriteStreamParameter)( + IWbemObjectSinkEx *This, + const BSTR strName, + VARIANT *vtValue, + ULONG ulType, + ULONG ulFlags); + + END_INTERFACE +} IWbemObjectSinkExVtbl; + +interface IWbemObjectSinkEx { + CONST_VTBL IWbemObjectSinkExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemObjectSinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemObjectSinkEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemObjectSinkEx_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemObjectSink methods ***/ +#define IWbemObjectSinkEx_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray) +#define IWbemObjectSinkEx_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam) +/*** IWbemObjectSinkEx methods ***/ +#define IWbemObjectSinkEx_WriteMessage(This,uChannel,strMessage) (This)->lpVtbl->WriteMessage(This,uChannel,strMessage) +#define IWbemObjectSinkEx_WriteError(This,pObjError,puReturned) (This)->lpVtbl->WriteError(This,pObjError,puReturned) +#define IWbemObjectSinkEx_PromptUser(This,strMessage,uPromptType,puReturned) (This)->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned) +#define IWbemObjectSinkEx_WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining) (This)->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining) +#define IWbemObjectSinkEx_WriteStreamParameter(This,strName,vtValue,ulType,ulFlags) (This)->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemObjectSinkEx_QueryInterface(IWbemObjectSinkEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemObjectSinkEx_AddRef(IWbemObjectSinkEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemObjectSinkEx_Release(IWbemObjectSinkEx* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemObjectSink methods ***/ +static inline HRESULT IWbemObjectSinkEx_Indicate(IWbemObjectSinkEx* This,LONG lObjectCount,IWbemClassObject **apObjArray) { + return This->lpVtbl->Indicate(This,lObjectCount,apObjArray); +} +static inline HRESULT IWbemObjectSinkEx_SetStatus(IWbemObjectSinkEx* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) { + return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam); +} +/*** IWbemObjectSinkEx methods ***/ +static inline HRESULT IWbemObjectSinkEx_WriteMessage(IWbemObjectSinkEx* This,ULONG uChannel,const BSTR strMessage) { + return This->lpVtbl->WriteMessage(This,uChannel,strMessage); +} +static inline HRESULT IWbemObjectSinkEx_WriteError(IWbemObjectSinkEx* This,IWbemClassObject *pObjError,unsigned char *puReturned) { + return This->lpVtbl->WriteError(This,pObjError,puReturned); +} +static inline HRESULT IWbemObjectSinkEx_PromptUser(IWbemObjectSinkEx* This,const BSTR strMessage,unsigned char uPromptType,unsigned char *puReturned) { + return This->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned); +} +static inline HRESULT IWbemObjectSinkEx_WriteProgress(IWbemObjectSinkEx* This,const BSTR strActivity,const BSTR strCurrentOperation,const BSTR strStatusDescription,ULONG uPercentComplete,ULONG uSecondsRemaining) { + return This->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining); +} +static inline HRESULT IWbemObjectSinkEx_WriteStreamParameter(IWbemObjectSinkEx* This,const BSTR strName,VARIANT *vtValue,ULONG ulType,ULONG ulFlags) { + return This->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemObjectSinkEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumWbemClassObject interface + */ +#ifndef __IEnumWbemClassObject_INTERFACE_DEFINED__ +#define __IEnumWbemClassObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("027947e1-d731-11ce-a357-000000000001") +IEnumWbemClassObject : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Next( + LONG lTimeout, + ULONG uCount, + IWbemClassObject **apObjects, + ULONG *puReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE NextAsync( + ULONG uCount, + IWbemObjectSink *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumWbemClassObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + LONG lTimeout, + ULONG nCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01) +#endif +#else +typedef struct IEnumWbemClassObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumWbemClassObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumWbemClassObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumWbemClassObject *This); + + /*** IEnumWbemClassObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumWbemClassObject *This); + + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumWbemClassObject *This, + LONG lTimeout, + ULONG uCount, + IWbemClassObject **apObjects, + ULONG *puReturned); + + HRESULT (STDMETHODCALLTYPE *NextAsync)( + IEnumWbemClassObject *This, + ULONG uCount, + IWbemObjectSink *pSink); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumWbemClassObject *This, + IEnumWbemClassObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumWbemClassObject *This, + LONG lTimeout, + ULONG nCount); + + END_INTERFACE +} IEnumWbemClassObjectVtbl; + +interface IEnumWbemClassObject { + CONST_VTBL IEnumWbemClassObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumWbemClassObject_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumWbemClassObject methods ***/ +#define IEnumWbemClassObject_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumWbemClassObject_Next(This,lTimeout,uCount,apObjects,puReturned) (This)->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned) +#define IEnumWbemClassObject_NextAsync(This,uCount,pSink) (This)->lpVtbl->NextAsync(This,uCount,pSink) +#define IEnumWbemClassObject_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#define IEnumWbemClassObject_Skip(This,lTimeout,nCount) (This)->lpVtbl->Skip(This,lTimeout,nCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumWbemClassObject_QueryInterface(IEnumWbemClassObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumWbemClassObject_AddRef(IEnumWbemClassObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumWbemClassObject_Release(IEnumWbemClassObject* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumWbemClassObject methods ***/ +static inline HRESULT IEnumWbemClassObject_Reset(IEnumWbemClassObject* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumWbemClassObject_Next(IEnumWbemClassObject* This,LONG lTimeout,ULONG uCount,IWbemClassObject **apObjects,ULONG *puReturned) { + return This->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned); +} +static inline HRESULT IEnumWbemClassObject_NextAsync(IEnumWbemClassObject* This,ULONG uCount,IWbemObjectSink *pSink) { + return This->lpVtbl->NextAsync(This,uCount,pSink); +} +static inline HRESULT IEnumWbemClassObject_Clone(IEnumWbemClassObject* This,IEnumWbemClassObject **ppEnum) { + return This->lpVtbl->Clone(This,ppEnum); +} +static inline HRESULT IEnumWbemClassObject_Skip(IEnumWbemClassObject* This,LONG lTimeout,ULONG nCount) { + return This->lpVtbl->Skip(This,lTimeout,nCount); +} +#endif +#endif + +#endif + + +#endif /* __IEnumWbemClassObject_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemContext interface + */ +#ifndef __IWbemContext_INTERFACE_DEFINED__ +#define __IWbemContext_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("44aca674-e8fc-11d0-a07c-00c04fb68820") +IWbemContext : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Clone( + IWbemContext **ppNewCopy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNames( + LONG lFlags, + SAFEARRAY **pNames) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginEnumeration( + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Next( + LONG lFlags, + BSTR *pstrName, + VARIANT *pValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndEnumeration( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetValue( + LPCWSTR wszName, + LONG lFlags, + VARIANT *pValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetValue( + LPCWSTR wszName, + LONG lFlags, + VARIANT *pValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteValue( + LPCWSTR wszName, + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAll( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemContextVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemContext *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemContext *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemContext *This); + + /*** IWbemContext methods ***/ + HRESULT (STDMETHODCALLTYPE *Clone)( + IWbemContext *This, + IWbemContext **ppNewCopy); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + IWbemContext *This, + LONG lFlags, + SAFEARRAY **pNames); + + HRESULT (STDMETHODCALLTYPE *BeginEnumeration)( + IWbemContext *This, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Next)( + IWbemContext *This, + LONG lFlags, + BSTR *pstrName, + VARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *EndEnumeration)( + IWbemContext *This); + + HRESULT (STDMETHODCALLTYPE *SetValue)( + IWbemContext *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *GetValue)( + IWbemContext *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *DeleteValue)( + IWbemContext *This, + LPCWSTR wszName, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *DeleteAll)( + IWbemContext *This); + + END_INTERFACE +} IWbemContextVtbl; + +interface IWbemContext { + CONST_VTBL IWbemContextVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemContext_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemContext_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemContext methods ***/ +#define IWbemContext_Clone(This,ppNewCopy) (This)->lpVtbl->Clone(This,ppNewCopy) +#define IWbemContext_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames) +#define IWbemContext_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags) +#define IWbemContext_Next(This,lFlags,pstrName,pValue) (This)->lpVtbl->Next(This,lFlags,pstrName,pValue) +#define IWbemContext_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This) +#define IWbemContext_SetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->SetValue(This,wszName,lFlags,pValue) +#define IWbemContext_GetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->GetValue(This,wszName,lFlags,pValue) +#define IWbemContext_DeleteValue(This,wszName,lFlags) (This)->lpVtbl->DeleteValue(This,wszName,lFlags) +#define IWbemContext_DeleteAll(This) (This)->lpVtbl->DeleteAll(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemContext_QueryInterface(IWbemContext* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemContext_AddRef(IWbemContext* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemContext_Release(IWbemContext* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemContext methods ***/ +static inline HRESULT IWbemContext_Clone(IWbemContext* This,IWbemContext **ppNewCopy) { + return This->lpVtbl->Clone(This,ppNewCopy); +} +static inline HRESULT IWbemContext_GetNames(IWbemContext* This,LONG lFlags,SAFEARRAY **pNames) { + return This->lpVtbl->GetNames(This,lFlags,pNames); +} +static inline HRESULT IWbemContext_BeginEnumeration(IWbemContext* This,LONG lFlags) { + return This->lpVtbl->BeginEnumeration(This,lFlags); +} +static inline HRESULT IWbemContext_Next(IWbemContext* This,LONG lFlags,BSTR *pstrName,VARIANT *pValue) { + return This->lpVtbl->Next(This,lFlags,pstrName,pValue); +} +static inline HRESULT IWbemContext_EndEnumeration(IWbemContext* This) { + return This->lpVtbl->EndEnumeration(This); +} +static inline HRESULT IWbemContext_SetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) { + return This->lpVtbl->SetValue(This,wszName,lFlags,pValue); +} +static inline HRESULT IWbemContext_GetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) { + return This->lpVtbl->GetValue(This,wszName,lFlags,pValue); +} +static inline HRESULT IWbemContext_DeleteValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags) { + return This->lpVtbl->DeleteValue(This,wszName,lFlags); +} +static inline HRESULT IWbemContext_DeleteAll(IWbemContext* This) { + return This->lpVtbl->DeleteAll(This); +} +#endif +#endif + +#endif + + +#endif /* __IWbemContext_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemCallResult interface + */ +#ifndef __IWbemCallResult_INTERFACE_DEFINED__ +#define __IWbemCallResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("44aca675-e8fc-11d0-a07c-00c04fb68820") +IWbemCallResult : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetResultObject( + LONG lTimeout, + IWbemClassObject **ppResultObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetResultString( + LONG lTimeout, + BSTR *pstrResultString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetResultServices( + LONG lTimeout, + IWbemServices **ppServices) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCallStatus( + LONG lTimeout, + LONG *plStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemCallResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemCallResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemCallResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemCallResult *This); + + /*** IWbemCallResult methods ***/ + HRESULT (STDMETHODCALLTYPE *GetResultObject)( + IWbemCallResult *This, + LONG lTimeout, + IWbemClassObject **ppResultObject); + + HRESULT (STDMETHODCALLTYPE *GetResultString)( + IWbemCallResult *This, + LONG lTimeout, + BSTR *pstrResultString); + + HRESULT (STDMETHODCALLTYPE *GetResultServices)( + IWbemCallResult *This, + LONG lTimeout, + IWbemServices **ppServices); + + HRESULT (STDMETHODCALLTYPE *GetCallStatus)( + IWbemCallResult *This, + LONG lTimeout, + LONG *plStatus); + + END_INTERFACE +} IWbemCallResultVtbl; + +interface IWbemCallResult { + CONST_VTBL IWbemCallResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemCallResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemCallResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemCallResult_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemCallResult methods ***/ +#define IWbemCallResult_GetResultObject(This,lTimeout,ppResultObject) (This)->lpVtbl->GetResultObject(This,lTimeout,ppResultObject) +#define IWbemCallResult_GetResultString(This,lTimeout,pstrResultString) (This)->lpVtbl->GetResultString(This,lTimeout,pstrResultString) +#define IWbemCallResult_GetResultServices(This,lTimeout,ppServices) (This)->lpVtbl->GetResultServices(This,lTimeout,ppServices) +#define IWbemCallResult_GetCallStatus(This,lTimeout,plStatus) (This)->lpVtbl->GetCallStatus(This,lTimeout,plStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemCallResult_QueryInterface(IWbemCallResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemCallResult_AddRef(IWbemCallResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemCallResult_Release(IWbemCallResult* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemCallResult methods ***/ +static inline HRESULT IWbemCallResult_GetResultObject(IWbemCallResult* This,LONG lTimeout,IWbemClassObject **ppResultObject) { + return This->lpVtbl->GetResultObject(This,lTimeout,ppResultObject); +} +static inline HRESULT IWbemCallResult_GetResultString(IWbemCallResult* This,LONG lTimeout,BSTR *pstrResultString) { + return This->lpVtbl->GetResultString(This,lTimeout,pstrResultString); +} +static inline HRESULT IWbemCallResult_GetResultServices(IWbemCallResult* This,LONG lTimeout,IWbemServices **ppServices) { + return This->lpVtbl->GetResultServices(This,lTimeout,ppServices); +} +static inline HRESULT IWbemCallResult_GetCallStatus(IWbemCallResult* This,LONG lTimeout,LONG *plStatus) { + return This->lpVtbl->GetCallStatus(This,lTimeout,plStatus); +} +#endif +#endif + +#endif + + +#endif /* __IWbemCallResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemServices interface + */ +#ifndef __IWbemServices_INTERFACE_DEFINED__ +#define __IWbemServices_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9556dc99-828c-11cf-a37e-00aa003240c7") +IWbemServices : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OpenNamespace( + const BSTR strNamespace, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppWorkingNamespace, + IWbemCallResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelAsyncCall( + IWbemObjectSink *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryObjectSink( + LONG lFlags, + IWbemObjectSink **ppResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObject( + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject **ppObject, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjectAsync( + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutClass( + IWbemClassObject *pObject, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutClassAsync( + IWbemClassObject *pObject, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteClass( + const BSTR strClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteClassAsync( + const BSTR strClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateClassEnum( + const BSTR strSuperclass, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateClassEnumAsync( + const BSTR strSuperclass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutInstance( + IWbemClassObject *pInst, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutInstanceAsync( + IWbemClassObject *pInst, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteInstance( + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteInstanceAsync( + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnum( + const BSTR strFilter, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync( + const BSTR strFilter, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecQuery( + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecQueryAsync( + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecNotificationQuery( + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync( + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethod( + const BSTR strObjectPath, + const BSTR strMethodName, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject *pInParams, + IWbemClassObject **ppOutParams, + IWbemCallResult **ppCallResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync( + const BSTR strObjectPath, + const BSTR strMethodName, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject *pInParams, + IWbemObjectSink *pResponseHandler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7) +#endif +#else +typedef struct IWbemServicesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemServices *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemServices *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemServices *This); + + /*** IWbemServices methods ***/ + HRESULT (STDMETHODCALLTYPE *OpenNamespace)( + IWbemServices *This, + const BSTR strNamespace, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppWorkingNamespace, + IWbemCallResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *CancelAsyncCall)( + IWbemServices *This, + IWbemObjectSink *pSink); + + HRESULT (STDMETHODCALLTYPE *QueryObjectSink)( + IWbemServices *This, + LONG lFlags, + IWbemObjectSink **ppResponseHandler); + + HRESULT (STDMETHODCALLTYPE *GetObject)( + IWbemServices *This, + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject **ppObject, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *GetObjectAsync)( + IWbemServices *This, + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *PutClass)( + IWbemServices *This, + IWbemClassObject *pObject, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *PutClassAsync)( + IWbemServices *This, + IWbemClassObject *pObject, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *DeleteClass)( + IWbemServices *This, + const BSTR strClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *DeleteClassAsync)( + IWbemServices *This, + const BSTR strClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *CreateClassEnum)( + IWbemServices *This, + const BSTR strSuperclass, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *CreateClassEnumAsync)( + IWbemServices *This, + const BSTR strSuperclass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *PutInstance)( + IWbemServices *This, + IWbemClassObject *pInst, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *PutInstanceAsync)( + IWbemServices *This, + IWbemClassObject *pInst, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *DeleteInstance)( + IWbemServices *This, + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *DeleteInstanceAsync)( + IWbemServices *This, + const BSTR strObjectPath, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *CreateInstanceEnum)( + IWbemServices *This, + const BSTR strFilter, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *CreateInstanceEnumAsync)( + IWbemServices *This, + const BSTR strFilter, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *ExecQuery)( + IWbemServices *This, + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *ExecQueryAsync)( + IWbemServices *This, + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQuery)( + IWbemServices *This, + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IEnumWbemClassObject **ppEnum); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQueryAsync)( + IWbemServices *This, + const BSTR strQueryLanguage, + const BSTR strQuery, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *ExecMethod)( + IWbemServices *This, + const BSTR strObjectPath, + const BSTR strMethodName, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject *pInParams, + IWbemClassObject **ppOutParams, + IWbemCallResult **ppCallResult); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync)( + IWbemServices *This, + const BSTR strObjectPath, + const BSTR strMethodName, + LONG lFlags, + IWbemContext *pCtx, + IWbemClassObject *pInParams, + IWbemObjectSink *pResponseHandler); + + END_INTERFACE +} IWbemServicesVtbl; + +interface IWbemServices { + CONST_VTBL IWbemServicesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemServices_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemServices_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemServices methods ***/ +#define IWbemServices_OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult) (This)->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult) +#define IWbemServices_CancelAsyncCall(This,pSink) (This)->lpVtbl->CancelAsyncCall(This,pSink) +#define IWbemServices_QueryObjectSink(This,lFlags,ppResponseHandler) (This)->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler) +#define IWbemServices_GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult) (This)->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult) +#define IWbemServices_GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) +#define IWbemServices_PutClass(This,pObject,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult) +#define IWbemServices_PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler) +#define IWbemServices_DeleteClass(This,strClass,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult) +#define IWbemServices_DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler) +#define IWbemServices_CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum) +#define IWbemServices_CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler) +#define IWbemServices_PutInstance(This,pInst,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult) +#define IWbemServices_PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler) +#define IWbemServices_DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult) +#define IWbemServices_DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) +#define IWbemServices_CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum) +#define IWbemServices_CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler) +#define IWbemServices_ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) +#define IWbemServices_ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) +#define IWbemServices_ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) +#define IWbemServices_ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) +#define IWbemServices_ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult) (This)->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult) +#define IWbemServices_ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler) (This)->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemServices_QueryInterface(IWbemServices* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemServices_AddRef(IWbemServices* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemServices_Release(IWbemServices* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemServices methods ***/ +static inline HRESULT IWbemServices_OpenNamespace(IWbemServices* This,const BSTR strNamespace,LONG lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult) { + return This->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult); +} +static inline HRESULT IWbemServices_CancelAsyncCall(IWbemServices* This,IWbemObjectSink *pSink) { + return This->lpVtbl->CancelAsyncCall(This,pSink); +} +static inline HRESULT IWbemServices_QueryObjectSink(IWbemServices* This,LONG lFlags,IWbemObjectSink **ppResponseHandler) { + return This->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler); +} +static inline HRESULT IWbemServices_GetObject(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) { + return This->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult); +} +static inline HRESULT IWbemServices_GetObjectAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_PutClass(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) { + return This->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult); +} +static inline HRESULT IWbemServices_PutClassAsync(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_DeleteClass(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) { + return This->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult); +} +static inline HRESULT IWbemServices_DeleteClassAsync(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_CreateClassEnum(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) { + return This->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum); +} +static inline HRESULT IWbemServices_CreateClassEnumAsync(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_PutInstance(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) { + return This->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult); +} +static inline HRESULT IWbemServices_PutInstanceAsync(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_DeleteInstance(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) { + return This->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult); +} +static inline HRESULT IWbemServices_DeleteInstanceAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_CreateInstanceEnum(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) { + return This->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum); +} +static inline HRESULT IWbemServices_CreateInstanceEnumAsync(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_ExecQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) { + return This->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum); +} +static inline HRESULT IWbemServices_ExecQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_ExecNotificationQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) { + return This->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum); +} +static inline HRESULT IWbemServices_ExecNotificationQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler); +} +static inline HRESULT IWbemServices_ExecMethod(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) { + return This->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult); +} +static inline HRESULT IWbemServices_ExecMethodAsync(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler); +} +#endif +#endif + +#endif + + +#endif /* __IWbemServices_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemShutdown interface + */ +#ifndef __IWbemShutdown_INTERFACE_DEFINED__ +#define __IWbemShutdown_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b7b31df9-d515-11d3-a11c-00105a1f515a") +IWbemShutdown : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Shutdown( + LONG uReason, + ULONG uMaxMilliseconds, + IWbemContext *pCtx) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a) +#endif +#else +typedef struct IWbemShutdownVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemShutdown *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemShutdown *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemShutdown *This); + + /*** IWbemShutdown methods ***/ + HRESULT (STDMETHODCALLTYPE *Shutdown)( + IWbemShutdown *This, + LONG uReason, + ULONG uMaxMilliseconds, + IWbemContext *pCtx); + + END_INTERFACE +} IWbemShutdownVtbl; + +interface IWbemShutdown { + CONST_VTBL IWbemShutdownVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemShutdown_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemShutdown_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemShutdown methods ***/ +#define IWbemShutdown_Shutdown(This,uReason,uMaxMilliseconds,pCtx) (This)->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemShutdown_QueryInterface(IWbemShutdown* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemShutdown_AddRef(IWbemShutdown* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemShutdown_Release(IWbemShutdown* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemShutdown methods ***/ +static inline HRESULT IWbemShutdown_Shutdown(IWbemShutdown* This,LONG uReason,ULONG uMaxMilliseconds,IWbemContext *pCtx) { + return This->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx); +} +#endif +#endif + +#endif + + +#endif /* __IWbemShutdown_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemObjectTextSrc interface + */ +#ifndef __IWbemObjectTextSrc_INTERFACE_DEFINED__ +#define __IWbemObjectTextSrc_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bfbf883a-cad7-11d3-a11b-00105a1f515a") +IWbemObjectTextSrc : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetText( + LONG lFlags, + IWbemClassObject *pObj, + ULONG uObjTextFormat, + IWbemContext *pCtx, + BSTR *strText) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFromText( + LONG lFlags, + BSTR strText, + ULONG uObjTextFormat, + IWbemContext *pCtx, + IWbemClassObject **pNewObj) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a) +#endif +#else +typedef struct IWbemObjectTextSrcVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemObjectTextSrc *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemObjectTextSrc *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemObjectTextSrc *This); + + /*** IWbemObjectTextSrc methods ***/ + HRESULT (STDMETHODCALLTYPE *GetText)( + IWbemObjectTextSrc *This, + LONG lFlags, + IWbemClassObject *pObj, + ULONG uObjTextFormat, + IWbemContext *pCtx, + BSTR *strText); + + HRESULT (STDMETHODCALLTYPE *CreateFromText)( + IWbemObjectTextSrc *This, + LONG lFlags, + BSTR strText, + ULONG uObjTextFormat, + IWbemContext *pCtx, + IWbemClassObject **pNewObj); + + END_INTERFACE +} IWbemObjectTextSrcVtbl; + +interface IWbemObjectTextSrc { + CONST_VTBL IWbemObjectTextSrcVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemObjectTextSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemObjectTextSrc_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemObjectTextSrc_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemObjectTextSrc methods ***/ +#define IWbemObjectTextSrc_GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText) (This)->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText) +#define IWbemObjectTextSrc_CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj) (This)->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemObjectTextSrc_QueryInterface(IWbemObjectTextSrc* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemObjectTextSrc_AddRef(IWbemObjectTextSrc* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemObjectTextSrc_Release(IWbemObjectTextSrc* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemObjectTextSrc methods ***/ +static inline HRESULT IWbemObjectTextSrc_GetText(IWbemObjectTextSrc* This,LONG lFlags,IWbemClassObject *pObj,ULONG uObjTextFormat,IWbemContext *pCtx,BSTR *strText) { + return This->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText); +} +static inline HRESULT IWbemObjectTextSrc_CreateFromText(IWbemObjectTextSrc* This,LONG lFlags,BSTR strText,ULONG uObjTextFormat,IWbemContext *pCtx,IWbemClassObject **pNewObj) { + return This->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj); +} +#endif +#endif + +#endif + + +#endif /* __IWbemObjectTextSrc_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemObjectAccess interface + */ +#ifndef __IWbemObjectAccess_INTERFACE_DEFINED__ +#define __IWbemObjectAccess_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("49353c9a-516b-11d1-aea6-00c04fb68820") +IWbemObjectAccess : public IWbemClassObject +{ + virtual HRESULT STDMETHODCALLTYPE GetPropertyHandle( + LPCWSTR wszPropertyName, + CIMTYPE *pType, + LONG *plHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE WritePropertyValue( + LONG lHandle, + LONG lNumBytes, + const byte *aData) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReadPropertyValue( + LONG lHandle, + LONG lBufferSize, + LONG *plNumBytes, + byte *aData) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReadDWORD( + LONG lHandle, + DWORD *pdw) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteDWORD( + LONG lHandle, + DWORD dw) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReadQWORD( + LONG lHandle, + UINT64 *pqw) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteQWORD( + LONG lHandle, + UINT64 pw) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyInfoByHandle( + LONG lHandle, + BSTR *pstrName, + CIMTYPE *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Lock( + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Unlock( + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemObjectAccessVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemObjectAccess *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemObjectAccess *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemObjectAccess *This); + + /*** IWbemClassObject methods ***/ + HRESULT (STDMETHODCALLTYPE *GetQualifierSet)( + IWbemObjectAccess *This, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *Get)( + IWbemObjectAccess *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *Put)( + IWbemObjectAccess *This, + LPCWSTR wszName, + LONG lFlags, + VARIANT *pVal, + CIMTYPE Type); + + HRESULT (STDMETHODCALLTYPE *Delete)( + IWbemObjectAccess *This, + LPCWSTR wszName); + + HRESULT (STDMETHODCALLTYPE *GetNames)( + IWbemObjectAccess *This, + LPCWSTR wszQualifierName, + LONG lFlags, + VARIANT *pQualifierVal, + SAFEARRAY **pNames); + + HRESULT (STDMETHODCALLTYPE *BeginEnumeration)( + IWbemObjectAccess *This, + LONG lEnumFlags); + + HRESULT (STDMETHODCALLTYPE *Next)( + IWbemObjectAccess *This, + LONG lFlags, + BSTR *strName, + VARIANT *pVal, + CIMTYPE *pType, + LONG *plFlavor); + + HRESULT (STDMETHODCALLTYPE *EndEnumeration)( + IWbemObjectAccess *This); + + HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)( + IWbemObjectAccess *This, + LPCWSTR wszProperty, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWbemObjectAccess *This, + IWbemClassObject **ppCopy); + + HRESULT (STDMETHODCALLTYPE *GetObjectText)( + IWbemObjectAccess *This, + LONG lFlags, + BSTR *pstrObjectText); + + HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)( + IWbemObjectAccess *This, + LONG lFlags, + IWbemClassObject **ppNewClass); + + HRESULT (STDMETHODCALLTYPE *SpawnInstance)( + IWbemObjectAccess *This, + LONG lFlags, + IWbemClassObject **ppNewInstance); + + HRESULT (STDMETHODCALLTYPE *CompareTo)( + IWbemObjectAccess *This, + LONG lFlags, + IWbemClassObject *pCompareTo); + + HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)( + IWbemObjectAccess *This, + LPCWSTR wszName, + BSTR *pstrClassName); + + HRESULT (STDMETHODCALLTYPE *InheritsFrom)( + IWbemObjectAccess *This, + LPCWSTR strAncestor); + + HRESULT (STDMETHODCALLTYPE *GetMethod)( + IWbemObjectAccess *This, + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature); + + HRESULT (STDMETHODCALLTYPE *PutMethod)( + IWbemObjectAccess *This, + LPCWSTR wszName, + LONG lFlags, + IWbemClassObject *pInSignature, + IWbemClassObject *pOutSignature); + + HRESULT (STDMETHODCALLTYPE *DeleteMethod)( + IWbemObjectAccess *This, + LPCWSTR wszName); + + HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)( + IWbemObjectAccess *This, + LONG lEnumFlags); + + HRESULT (STDMETHODCALLTYPE *NextMethod)( + IWbemObjectAccess *This, + LONG lFlags, + BSTR *pstrName, + IWbemClassObject **ppInSignature, + IWbemClassObject **ppOutSignature); + + HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)( + IWbemObjectAccess *This); + + HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)( + IWbemObjectAccess *This, + LPCWSTR wszMethod, + IWbemQualifierSet **ppQualSet); + + HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)( + IWbemObjectAccess *This, + LPCWSTR wszMethodName, + BSTR *pstrClassName); + + /*** IWbemObjectAccess methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPropertyHandle)( + IWbemObjectAccess *This, + LPCWSTR wszPropertyName, + CIMTYPE *pType, + LONG *plHandle); + + HRESULT (STDMETHODCALLTYPE *WritePropertyValue)( + IWbemObjectAccess *This, + LONG lHandle, + LONG lNumBytes, + const byte *aData); + + HRESULT (STDMETHODCALLTYPE *ReadPropertyValue)( + IWbemObjectAccess *This, + LONG lHandle, + LONG lBufferSize, + LONG *plNumBytes, + byte *aData); + + HRESULT (STDMETHODCALLTYPE *ReadDWORD)( + IWbemObjectAccess *This, + LONG lHandle, + DWORD *pdw); + + HRESULT (STDMETHODCALLTYPE *WriteDWORD)( + IWbemObjectAccess *This, + LONG lHandle, + DWORD dw); + + HRESULT (STDMETHODCALLTYPE *ReadQWORD)( + IWbemObjectAccess *This, + LONG lHandle, + UINT64 *pqw); + + HRESULT (STDMETHODCALLTYPE *WriteQWORD)( + IWbemObjectAccess *This, + LONG lHandle, + UINT64 pw); + + HRESULT (STDMETHODCALLTYPE *GetPropertyInfoByHandle)( + IWbemObjectAccess *This, + LONG lHandle, + BSTR *pstrName, + CIMTYPE *pType); + + HRESULT (STDMETHODCALLTYPE *Lock)( + IWbemObjectAccess *This, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Unlock)( + IWbemObjectAccess *This, + LONG lFlags); + + END_INTERFACE +} IWbemObjectAccessVtbl; + +interface IWbemObjectAccess { + CONST_VTBL IWbemObjectAccessVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemObjectAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemObjectAccess_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemObjectAccess_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemClassObject methods ***/ +#define IWbemObjectAccess_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet) +#define IWbemObjectAccess_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor) +#define IWbemObjectAccess_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type) +#define IWbemObjectAccess_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName) +#define IWbemObjectAccess_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) +#define IWbemObjectAccess_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags) +#define IWbemObjectAccess_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor) +#define IWbemObjectAccess_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This) +#define IWbemObjectAccess_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet) +#define IWbemObjectAccess_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy) +#define IWbemObjectAccess_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText) +#define IWbemObjectAccess_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass) +#define IWbemObjectAccess_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance) +#define IWbemObjectAccess_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo) +#define IWbemObjectAccess_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName) +#define IWbemObjectAccess_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor) +#define IWbemObjectAccess_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) +#define IWbemObjectAccess_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) +#define IWbemObjectAccess_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName) +#define IWbemObjectAccess_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags) +#define IWbemObjectAccess_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) +#define IWbemObjectAccess_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This) +#define IWbemObjectAccess_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet) +#define IWbemObjectAccess_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName) +/*** IWbemObjectAccess methods ***/ +#define IWbemObjectAccess_GetPropertyHandle(This,wszPropertyName,pType,plHandle) (This)->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle) +#define IWbemObjectAccess_WritePropertyValue(This,lHandle,lNumBytes,aData) (This)->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData) +#define IWbemObjectAccess_ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData) (This)->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData) +#define IWbemObjectAccess_ReadDWORD(This,lHandle,pdw) (This)->lpVtbl->ReadDWORD(This,lHandle,pdw) +#define IWbemObjectAccess_WriteDWORD(This,lHandle,dw) (This)->lpVtbl->WriteDWORD(This,lHandle,dw) +#define IWbemObjectAccess_ReadQWORD(This,lHandle,pqw) (This)->lpVtbl->ReadQWORD(This,lHandle,pqw) +#define IWbemObjectAccess_WriteQWORD(This,lHandle,pw) (This)->lpVtbl->WriteQWORD(This,lHandle,pw) +#define IWbemObjectAccess_GetPropertyInfoByHandle(This,lHandle,pstrName,pType) (This)->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType) +#define IWbemObjectAccess_Lock(This,lFlags) (This)->lpVtbl->Lock(This,lFlags) +#define IWbemObjectAccess_Unlock(This,lFlags) (This)->lpVtbl->Unlock(This,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemObjectAccess_QueryInterface(IWbemObjectAccess* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemObjectAccess_AddRef(IWbemObjectAccess* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemObjectAccess_Release(IWbemObjectAccess* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemClassObject methods ***/ +static inline HRESULT IWbemObjectAccess_GetQualifierSet(IWbemObjectAccess* This,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetQualifierSet(This,ppQualSet); +} +static inline HRESULT IWbemObjectAccess_Get(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) { + return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor); +} +static inline HRESULT IWbemObjectAccess_Put(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) { + return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type); +} +static inline HRESULT IWbemObjectAccess_Delete(IWbemObjectAccess* This,LPCWSTR wszName) { + return This->lpVtbl->Delete(This,wszName); +} +static inline HRESULT IWbemObjectAccess_GetNames(IWbemObjectAccess* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) { + return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames); +} +static inline HRESULT IWbemObjectAccess_BeginEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) { + return This->lpVtbl->BeginEnumeration(This,lEnumFlags); +} +static inline HRESULT IWbemObjectAccess_Next(IWbemObjectAccess* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) { + return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor); +} +static inline HRESULT IWbemObjectAccess_EndEnumeration(IWbemObjectAccess* This) { + return This->lpVtbl->EndEnumeration(This); +} +static inline HRESULT IWbemObjectAccess_GetPropertyQualifierSet(IWbemObjectAccess* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet); +} +static inline HRESULT IWbemObjectAccess_Clone(IWbemObjectAccess* This,IWbemClassObject **ppCopy) { + return This->lpVtbl->Clone(This,ppCopy); +} +static inline HRESULT IWbemObjectAccess_GetObjectText(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrObjectText) { + return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText); +} +static inline HRESULT IWbemObjectAccess_SpawnDerivedClass(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewClass) { + return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass); +} +static inline HRESULT IWbemObjectAccess_SpawnInstance(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewInstance) { + return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance); +} +static inline HRESULT IWbemObjectAccess_CompareTo(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject *pCompareTo) { + return This->lpVtbl->CompareTo(This,lFlags,pCompareTo); +} +static inline HRESULT IWbemObjectAccess_GetPropertyOrigin(IWbemObjectAccess* This,LPCWSTR wszName,BSTR *pstrClassName) { + return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName); +} +static inline HRESULT IWbemObjectAccess_InheritsFrom(IWbemObjectAccess* This,LPCWSTR strAncestor) { + return This->lpVtbl->InheritsFrom(This,strAncestor); +} +static inline HRESULT IWbemObjectAccess_GetMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) { + return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature); +} +static inline HRESULT IWbemObjectAccess_PutMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) { + return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature); +} +static inline HRESULT IWbemObjectAccess_DeleteMethod(IWbemObjectAccess* This,LPCWSTR wszName) { + return This->lpVtbl->DeleteMethod(This,wszName); +} +static inline HRESULT IWbemObjectAccess_BeginMethodEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) { + return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags); +} +static inline HRESULT IWbemObjectAccess_NextMethod(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) { + return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature); +} +static inline HRESULT IWbemObjectAccess_EndMethodEnumeration(IWbemObjectAccess* This) { + return This->lpVtbl->EndMethodEnumeration(This); +} +static inline HRESULT IWbemObjectAccess_GetMethodQualifierSet(IWbemObjectAccess* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) { + return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet); +} +static inline HRESULT IWbemObjectAccess_GetMethodOrigin(IWbemObjectAccess* This,LPCWSTR wszMethodName,BSTR *pstrClassName) { + return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName); +} +/*** IWbemObjectAccess methods ***/ +static inline HRESULT IWbemObjectAccess_GetPropertyHandle(IWbemObjectAccess* This,LPCWSTR wszPropertyName,CIMTYPE *pType,LONG *plHandle) { + return This->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle); +} +static inline HRESULT IWbemObjectAccess_WritePropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lNumBytes,const byte *aData) { + return This->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData); +} +static inline HRESULT IWbemObjectAccess_ReadPropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lBufferSize,LONG *plNumBytes,byte *aData) { + return This->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData); +} +static inline HRESULT IWbemObjectAccess_ReadDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD *pdw) { + return This->lpVtbl->ReadDWORD(This,lHandle,pdw); +} +static inline HRESULT IWbemObjectAccess_WriteDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD dw) { + return This->lpVtbl->WriteDWORD(This,lHandle,dw); +} +static inline HRESULT IWbemObjectAccess_ReadQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 *pqw) { + return This->lpVtbl->ReadQWORD(This,lHandle,pqw); +} +static inline HRESULT IWbemObjectAccess_WriteQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 pw) { + return This->lpVtbl->WriteQWORD(This,lHandle,pw); +} +static inline HRESULT IWbemObjectAccess_GetPropertyInfoByHandle(IWbemObjectAccess* This,LONG lHandle,BSTR *pstrName,CIMTYPE *pType) { + return This->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType); +} +static inline HRESULT IWbemObjectAccess_Lock(IWbemObjectAccess* This,LONG lFlags) { + return This->lpVtbl->Lock(This,lFlags); +} +static inline HRESULT IWbemObjectAccess_Unlock(IWbemObjectAccess* This,LONG lFlags) { + return This->lpVtbl->Unlock(This,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemObjectAccess_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMofCompiler interface + */ +#ifndef __IMofCompiler_INTERFACE_DEFINED__ +#define __IMofCompiler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6daf974e-2e37-11d2-aec9-00c04fb68820") +IMofCompiler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CompileFile( + LPWSTR FileName, + LPWSTR ServerAndNamespace, + LPWSTR User, + LPWSTR Authority, + LPWSTR Password, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompileBuffer( + LONG BuffSize, + BYTE *pBuffer, + LPWSTR ServerAndNamespace, + LPWSTR User, + LPWSTR Authority, + LPWSTR Password, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBMOF( + LPWSTR TextFileName, + LPWSTR BMOFFileName, + LPWSTR ServerAndNamespace, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IMofCompilerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMofCompiler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMofCompiler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMofCompiler *This); + + /*** IMofCompiler methods ***/ + HRESULT (STDMETHODCALLTYPE *CompileFile)( + IMofCompiler *This, + LPWSTR FileName, + LPWSTR ServerAndNamespace, + LPWSTR User, + LPWSTR Authority, + LPWSTR Password, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo); + + HRESULT (STDMETHODCALLTYPE *CompileBuffer)( + IMofCompiler *This, + LONG BuffSize, + BYTE *pBuffer, + LPWSTR ServerAndNamespace, + LPWSTR User, + LPWSTR Authority, + LPWSTR Password, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo); + + HRESULT (STDMETHODCALLTYPE *CreateBMOF)( + IMofCompiler *This, + LPWSTR TextFileName, + LPWSTR BMOFFileName, + LPWSTR ServerAndNamespace, + LONG lOptionFlags, + LONG lClassFlags, + LONG lInstanceFlags, + WBEM_COMPILE_STATUS_INFO *pInfo); + + END_INTERFACE +} IMofCompilerVtbl; + +interface IMofCompiler { + CONST_VTBL IMofCompilerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMofCompiler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMofCompiler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMofCompiler_Release(This) (This)->lpVtbl->Release(This) +/*** IMofCompiler methods ***/ +#define IMofCompiler_CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) +#define IMofCompiler_CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) +#define IMofCompiler_CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMofCompiler_QueryInterface(IMofCompiler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMofCompiler_AddRef(IMofCompiler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMofCompiler_Release(IMofCompiler* This) { + return This->lpVtbl->Release(This); +} +/*** IMofCompiler methods ***/ +static inline HRESULT IMofCompiler_CompileFile(IMofCompiler* This,LPWSTR FileName,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) { + return This->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo); +} +static inline HRESULT IMofCompiler_CompileBuffer(IMofCompiler* This,LONG BuffSize,BYTE *pBuffer,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) { + return This->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo); +} +static inline HRESULT IMofCompiler_CreateBMOF(IMofCompiler* This,LPWSTR TextFileName,LPWSTR BMOFFileName,LPWSTR ServerAndNamespace,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) { + return This->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo); +} +#endif +#endif + +#endif + + +#endif /* __IMofCompiler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUnsecuredApartment interface + */ +#ifndef __IUnsecuredApartment_INTERFACE_DEFINED__ +#define __IUnsecuredApartment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1cfaba8c-1523-11d1-ad79-00c04fd8fdff") +IUnsecuredApartment : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateObjectStub( + IUnknown *pObject, + IUnknown **ppStub) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IUnsecuredApartmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUnsecuredApartment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUnsecuredApartment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUnsecuredApartment *This); + + /*** IUnsecuredApartment methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateObjectStub)( + IUnsecuredApartment *This, + IUnknown *pObject, + IUnknown **ppStub); + + END_INTERFACE +} IUnsecuredApartmentVtbl; + +interface IUnsecuredApartment { + CONST_VTBL IUnsecuredApartmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This) +/*** IUnsecuredApartment methods ***/ +#define IUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUnsecuredApartment_QueryInterface(IUnsecuredApartment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUnsecuredApartment_AddRef(IUnsecuredApartment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUnsecuredApartment_Release(IUnsecuredApartment* This) { + return This->lpVtbl->Release(This); +} +/*** IUnsecuredApartment methods ***/ +static inline HRESULT IUnsecuredApartment_CreateObjectStub(IUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) { + return This->lpVtbl->CreateObjectStub(This,pObject,ppStub); +} +#endif +#endif + +#endif + + +#endif /* __IUnsecuredApartment_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemUnsecuredApartment interface + */ +#ifndef __IWbemUnsecuredApartment_INTERFACE_DEFINED__ +#define __IWbemUnsecuredApartment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("31739d04-3471-4cf4-9a7c-57a44ae71956") +IWbemUnsecuredApartment : public IUnsecuredApartment +{ + virtual HRESULT STDMETHODCALLTYPE CreateSinkStub( + IWbemObjectSink *pSink, + DWORD dwFlags, + LPCWSTR wszReserved, + IWbemObjectSink **ppStub) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56) +#endif +#else +typedef struct IWbemUnsecuredApartmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemUnsecuredApartment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemUnsecuredApartment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemUnsecuredApartment *This); + + /*** IUnsecuredApartment methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateObjectStub)( + IWbemUnsecuredApartment *This, + IUnknown *pObject, + IUnknown **ppStub); + + /*** IWbemUnsecuredApartment methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateSinkStub)( + IWbemUnsecuredApartment *This, + IWbemObjectSink *pSink, + DWORD dwFlags, + LPCWSTR wszReserved, + IWbemObjectSink **ppStub); + + END_INTERFACE +} IWbemUnsecuredApartmentVtbl; + +interface IWbemUnsecuredApartment { + CONST_VTBL IWbemUnsecuredApartmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This) +/*** IUnsecuredApartment methods ***/ +#define IWbemUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub) +/*** IWbemUnsecuredApartment methods ***/ +#define IWbemUnsecuredApartment_CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub) (This)->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemUnsecuredApartment_QueryInterface(IWbemUnsecuredApartment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemUnsecuredApartment_AddRef(IWbemUnsecuredApartment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemUnsecuredApartment_Release(IWbemUnsecuredApartment* This) { + return This->lpVtbl->Release(This); +} +/*** IUnsecuredApartment methods ***/ +static inline HRESULT IWbemUnsecuredApartment_CreateObjectStub(IWbemUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) { + return This->lpVtbl->CreateObjectStub(This,pObject,ppStub); +} +/*** IWbemUnsecuredApartment methods ***/ +static inline HRESULT IWbemUnsecuredApartment_CreateSinkStub(IWbemUnsecuredApartment* This,IWbemObjectSink *pSink,DWORD dwFlags,LPCWSTR wszReserved,IWbemObjectSink **ppStub) { + return This->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub); +} +#endif +#endif + +#endif + + +#endif /* __IWbemUnsecuredApartment_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemStatusCodeText interface + */ +#ifndef __IWbemStatusCodeText_INTERFACE_DEFINED__ +#define __IWbemStatusCodeText_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eb87e1bc-3233-11d2-aec9-00c04fb68820") +IWbemStatusCodeText : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetErrorCodeText( + HRESULT hRes, + LCID LocaleId, + LONG lFlags, + BSTR *MessageText) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFacilityCodeText( + HRESULT hRes, + LCID LocaleId, + LONG lFlags, + BSTR *MessageText) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemStatusCodeTextVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemStatusCodeText *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemStatusCodeText *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemStatusCodeText *This); + + /*** IWbemStatusCodeText methods ***/ + HRESULT (STDMETHODCALLTYPE *GetErrorCodeText)( + IWbemStatusCodeText *This, + HRESULT hRes, + LCID LocaleId, + LONG lFlags, + BSTR *MessageText); + + HRESULT (STDMETHODCALLTYPE *GetFacilityCodeText)( + IWbemStatusCodeText *This, + HRESULT hRes, + LCID LocaleId, + LONG lFlags, + BSTR *MessageText); + + END_INTERFACE +} IWbemStatusCodeTextVtbl; + +interface IWbemStatusCodeText { + CONST_VTBL IWbemStatusCodeTextVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemStatusCodeText_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemStatusCodeText_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemStatusCodeText_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemStatusCodeText methods ***/ +#define IWbemStatusCodeText_GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText) +#define IWbemStatusCodeText_GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemStatusCodeText_QueryInterface(IWbemStatusCodeText* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemStatusCodeText_AddRef(IWbemStatusCodeText* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemStatusCodeText_Release(IWbemStatusCodeText* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemStatusCodeText methods ***/ +static inline HRESULT IWbemStatusCodeText_GetErrorCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) { + return This->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText); +} +static inline HRESULT IWbemStatusCodeText_GetFacilityCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) { + return This->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText); +} +#endif +#endif + +#endif + + +#endif /* __IWbemStatusCodeText_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemBackupRestore interface + */ +#ifndef __IWbemBackupRestore_INTERFACE_DEFINED__ +#define __IWbemBackupRestore_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c49e32c7-bc8b-11d2-85d4-00105a1f8304") +IWbemBackupRestore : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Backup( + LPCWSTR strBackupToFile, + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Restore( + LPCWSTR strRestoreFromFile, + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04) +#endif +#else +typedef struct IWbemBackupRestoreVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemBackupRestore *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemBackupRestore *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemBackupRestore *This); + + /*** IWbemBackupRestore methods ***/ + HRESULT (STDMETHODCALLTYPE *Backup)( + IWbemBackupRestore *This, + LPCWSTR strBackupToFile, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Restore)( + IWbemBackupRestore *This, + LPCWSTR strRestoreFromFile, + LONG lFlags); + + END_INTERFACE +} IWbemBackupRestoreVtbl; + +interface IWbemBackupRestore { + CONST_VTBL IWbemBackupRestoreVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemBackupRestore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemBackupRestore_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemBackupRestore_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemBackupRestore methods ***/ +#define IWbemBackupRestore_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags) +#define IWbemBackupRestore_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemBackupRestore_QueryInterface(IWbemBackupRestore* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemBackupRestore_AddRef(IWbemBackupRestore* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemBackupRestore_Release(IWbemBackupRestore* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemBackupRestore methods ***/ +static inline HRESULT IWbemBackupRestore_Backup(IWbemBackupRestore* This,LPCWSTR strBackupToFile,LONG lFlags) { + return This->lpVtbl->Backup(This,strBackupToFile,lFlags); +} +static inline HRESULT IWbemBackupRestore_Restore(IWbemBackupRestore* This,LPCWSTR strRestoreFromFile,LONG lFlags) { + return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemBackupRestore_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemBackupRestoreEx interface + */ +#ifndef __IWbemBackupRestoreEx_INTERFACE_DEFINED__ +#define __IWbemBackupRestoreEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a359dec5-e813-4834-8a2a-ba7f1d777d76") +IWbemBackupRestoreEx : public IWbemBackupRestore +{ + virtual HRESULT STDMETHODCALLTYPE Pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76) +#endif +#else +typedef struct IWbemBackupRestoreExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemBackupRestoreEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemBackupRestoreEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemBackupRestoreEx *This); + + /*** IWbemBackupRestore methods ***/ + HRESULT (STDMETHODCALLTYPE *Backup)( + IWbemBackupRestoreEx *This, + LPCWSTR strBackupToFile, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Restore)( + IWbemBackupRestoreEx *This, + LPCWSTR strRestoreFromFile, + LONG lFlags); + + /*** IWbemBackupRestoreEx methods ***/ + HRESULT (STDMETHODCALLTYPE *Pause)( + IWbemBackupRestoreEx *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IWbemBackupRestoreEx *This); + + END_INTERFACE +} IWbemBackupRestoreExVtbl; + +interface IWbemBackupRestoreEx { + CONST_VTBL IWbemBackupRestoreExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemBackupRestoreEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemBackupRestoreEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemBackupRestoreEx_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemBackupRestore methods ***/ +#define IWbemBackupRestoreEx_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags) +#define IWbemBackupRestoreEx_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags) +/*** IWbemBackupRestoreEx methods ***/ +#define IWbemBackupRestoreEx_Pause(This) (This)->lpVtbl->Pause(This) +#define IWbemBackupRestoreEx_Resume(This) (This)->lpVtbl->Resume(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemBackupRestoreEx_QueryInterface(IWbemBackupRestoreEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemBackupRestoreEx_AddRef(IWbemBackupRestoreEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemBackupRestoreEx_Release(IWbemBackupRestoreEx* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemBackupRestore methods ***/ +static inline HRESULT IWbemBackupRestoreEx_Backup(IWbemBackupRestoreEx* This,LPCWSTR strBackupToFile,LONG lFlags) { + return This->lpVtbl->Backup(This,strBackupToFile,lFlags); +} +static inline HRESULT IWbemBackupRestoreEx_Restore(IWbemBackupRestoreEx* This,LPCWSTR strRestoreFromFile,LONG lFlags) { + return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags); +} +/*** IWbemBackupRestoreEx methods ***/ +static inline HRESULT IWbemBackupRestoreEx_Pause(IWbemBackupRestoreEx* This) { + return This->lpVtbl->Pause(This); +} +static inline HRESULT IWbemBackupRestoreEx_Resume(IWbemBackupRestoreEx* This) { + return This->lpVtbl->Resume(This); +} +#endif +#endif + +#endif + + +#endif /* __IWbemBackupRestoreEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemRefresher interface + */ +#ifndef __IWbemRefresher_INTERFACE_DEFINED__ +#define __IWbemRefresher_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("49353c99-516b-11d1-aea6-00c04fb68820") +IWbemRefresher : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Refresh( + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemRefresherVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemRefresher *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemRefresher *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemRefresher *This); + + /*** IWbemRefresher methods ***/ + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWbemRefresher *This, + LONG lFlags); + + END_INTERFACE +} IWbemRefresherVtbl; + +interface IWbemRefresher { + CONST_VTBL IWbemRefresherVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemRefresher_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemRefresher_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemRefresher methods ***/ +#define IWbemRefresher_Refresh(This,lFlags) (This)->lpVtbl->Refresh(This,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemRefresher_QueryInterface(IWbemRefresher* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemRefresher_AddRef(IWbemRefresher* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemRefresher_Release(IWbemRefresher* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemRefresher methods ***/ +static inline HRESULT IWbemRefresher_Refresh(IWbemRefresher* This,LONG lFlags) { + return This->lpVtbl->Refresh(This,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemRefresher_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemHiPerfEnum interface + */ +#ifndef __IWbemHiPerfEnum_INTERFACE_DEFINED__ +#define __IWbemHiPerfEnum_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2705c288-79ae-11d2-b348-00105a1f8177") +IWbemHiPerfEnum : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddObjects( + LONG lFlags, + ULONG uNumObjects, + LONG *apIds, + IWbemObjectAccess **apObj) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveObjects( + LONG lFlags, + ULONG uNumObjects, + LONG *apIds) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjects( + LONG lFlags, + ULONG uNumObjects, + IWbemObjectAccess **apObj, + ULONG *puReturned) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAll( + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77) +#endif +#else +typedef struct IWbemHiPerfEnumVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemHiPerfEnum *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemHiPerfEnum *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemHiPerfEnum *This); + + /*** IWbemHiPerfEnum methods ***/ + HRESULT (STDMETHODCALLTYPE *AddObjects)( + IWbemHiPerfEnum *This, + LONG lFlags, + ULONG uNumObjects, + LONG *apIds, + IWbemObjectAccess **apObj); + + HRESULT (STDMETHODCALLTYPE *RemoveObjects)( + IWbemHiPerfEnum *This, + LONG lFlags, + ULONG uNumObjects, + LONG *apIds); + + HRESULT (STDMETHODCALLTYPE *GetObjects)( + IWbemHiPerfEnum *This, + LONG lFlags, + ULONG uNumObjects, + IWbemObjectAccess **apObj, + ULONG *puReturned); + + HRESULT (STDMETHODCALLTYPE *RemoveAll)( + IWbemHiPerfEnum *This, + LONG lFlags); + + END_INTERFACE +} IWbemHiPerfEnumVtbl; + +interface IWbemHiPerfEnum { + CONST_VTBL IWbemHiPerfEnumVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemHiPerfEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemHiPerfEnum_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemHiPerfEnum_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemHiPerfEnum methods ***/ +#define IWbemHiPerfEnum_AddObjects(This,lFlags,uNumObjects,apIds,apObj) (This)->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj) +#define IWbemHiPerfEnum_RemoveObjects(This,lFlags,uNumObjects,apIds) (This)->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds) +#define IWbemHiPerfEnum_GetObjects(This,lFlags,uNumObjects,apObj,puReturned) (This)->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned) +#define IWbemHiPerfEnum_RemoveAll(This,lFlags) (This)->lpVtbl->RemoveAll(This,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemHiPerfEnum_QueryInterface(IWbemHiPerfEnum* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemHiPerfEnum_AddRef(IWbemHiPerfEnum* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemHiPerfEnum_Release(IWbemHiPerfEnum* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemHiPerfEnum methods ***/ +static inline HRESULT IWbemHiPerfEnum_AddObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds,IWbemObjectAccess **apObj) { + return This->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj); +} +static inline HRESULT IWbemHiPerfEnum_RemoveObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds) { + return This->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds); +} +static inline HRESULT IWbemHiPerfEnum_GetObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,IWbemObjectAccess **apObj,ULONG *puReturned) { + return This->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned); +} +static inline HRESULT IWbemHiPerfEnum_RemoveAll(IWbemHiPerfEnum* This,LONG lFlags) { + return This->lpVtbl->RemoveAll(This,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemHiPerfEnum_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemConfigureRefresher interface + */ +#ifndef __IWbemConfigureRefresher_INTERFACE_DEFINED__ +#define __IWbemConfigureRefresher_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("49353c92-516b-11d1-aea6-00c04fb68820") +IWbemConfigureRefresher : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddObjectByPath( + IWbemServices *pNamespace, + LPCWSTR wszPath, + LONG lFlags, + IWbemContext *pContext, + IWbemClassObject **ppRefreshable, + LONG *plId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddObjectByTemplate( + IWbemServices *pNamespace, + IWbemClassObject *pTemplate, + LONG lFlags, + IWbemContext *pContext, + IWbemClassObject **ppRefreshable, + LONG *plId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRefresher( + IWbemRefresher *pRefresher, + LONG lFlags, + LONG *plId) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + LONG lId, + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddEnum( + IWbemServices *pNamespace, + LPCWSTR wszClassName, + LONG lFlags, + IWbemContext *pContext, + IWbemHiPerfEnum **ppEnum, + LONG *plId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemConfigureRefresherVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemConfigureRefresher *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemConfigureRefresher *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemConfigureRefresher *This); + + /*** IWbemConfigureRefresher methods ***/ + HRESULT (STDMETHODCALLTYPE *AddObjectByPath)( + IWbemConfigureRefresher *This, + IWbemServices *pNamespace, + LPCWSTR wszPath, + LONG lFlags, + IWbemContext *pContext, + IWbemClassObject **ppRefreshable, + LONG *plId); + + HRESULT (STDMETHODCALLTYPE *AddObjectByTemplate)( + IWbemConfigureRefresher *This, + IWbemServices *pNamespace, + IWbemClassObject *pTemplate, + LONG lFlags, + IWbemContext *pContext, + IWbemClassObject **ppRefreshable, + LONG *plId); + + HRESULT (STDMETHODCALLTYPE *AddRefresher)( + IWbemConfigureRefresher *This, + IWbemRefresher *pRefresher, + LONG lFlags, + LONG *plId); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IWbemConfigureRefresher *This, + LONG lId, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *AddEnum)( + IWbemConfigureRefresher *This, + IWbemServices *pNamespace, + LPCWSTR wszClassName, + LONG lFlags, + IWbemContext *pContext, + IWbemHiPerfEnum **ppEnum, + LONG *plId); + + END_INTERFACE +} IWbemConfigureRefresherVtbl; + +interface IWbemConfigureRefresher { + CONST_VTBL IWbemConfigureRefresherVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemConfigureRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemConfigureRefresher_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemConfigureRefresher_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemConfigureRefresher methods ***/ +#define IWbemConfigureRefresher_AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId) +#define IWbemConfigureRefresher_AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId) +#define IWbemConfigureRefresher_AddRefresher(This,pRefresher,lFlags,plId) (This)->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId) +#define IWbemConfigureRefresher_Remove(This,lId,lFlags) (This)->lpVtbl->Remove(This,lId,lFlags) +#define IWbemConfigureRefresher_AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId) (This)->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemConfigureRefresher_QueryInterface(IWbemConfigureRefresher* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemConfigureRefresher_AddRef(IWbemConfigureRefresher* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemConfigureRefresher_Release(IWbemConfigureRefresher* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemConfigureRefresher methods ***/ +static inline HRESULT IWbemConfigureRefresher_AddObjectByPath(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszPath,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) { + return This->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId); +} +static inline HRESULT IWbemConfigureRefresher_AddObjectByTemplate(IWbemConfigureRefresher* This,IWbemServices *pNamespace,IWbemClassObject *pTemplate,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) { + return This->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId); +} +static inline HRESULT IWbemConfigureRefresher_AddRefresher(IWbemConfigureRefresher* This,IWbemRefresher *pRefresher,LONG lFlags,LONG *plId) { + return This->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId); +} +static inline HRESULT IWbemConfigureRefresher_Remove(IWbemConfigureRefresher* This,LONG lId,LONG lFlags) { + return This->lpVtbl->Remove(This,lId,lFlags); +} +static inline HRESULT IWbemConfigureRefresher_AddEnum(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszClassName,LONG lFlags,IWbemContext *pContext,IWbemHiPerfEnum **ppEnum,LONG *plId) { + return This->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId); +} +#endif +#endif + +#endif + + +#endif /* __IWbemConfigureRefresher_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + +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 *); +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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wbemcli_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemdisp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemdisp.h new file mode 100644 index 00000000..9ee50d79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemdisp.h @@ -0,0 +1,7572 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wbemdisp.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 __wbemdisp_h__ +#define __wbemdisp_h__ + +/* Forward declarations */ + +#ifndef __SWbemLocator_FWD_DEFINED__ +#define __SWbemLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemLocator SWbemLocator; +#else +typedef struct SWbemLocator SWbemLocator; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemLocator_FWD_DEFINED__ */ + +#ifndef __SWbemNamedValueSet_FWD_DEFINED__ +#define __SWbemNamedValueSet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemNamedValueSet SWbemNamedValueSet; +#else +typedef struct SWbemNamedValueSet SWbemNamedValueSet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemNamedValueSet_FWD_DEFINED__ */ + +#ifndef __SWbemObjectPath_FWD_DEFINED__ +#define __SWbemObjectPath_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemObjectPath SWbemObjectPath; +#else +typedef struct SWbemObjectPath SWbemObjectPath; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemObjectPath_FWD_DEFINED__ */ + +#ifndef __SWbemLastError_FWD_DEFINED__ +#define __SWbemLastError_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemLastError SWbemLastError; +#else +typedef struct SWbemLastError SWbemLastError; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemLastError_FWD_DEFINED__ */ + +#ifndef __SWbemSink_FWD_DEFINED__ +#define __SWbemSink_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemSink SWbemSink; +#else +typedef struct SWbemSink SWbemSink; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemSink_FWD_DEFINED__ */ + +#ifndef __SWbemDateTime_FWD_DEFINED__ +#define __SWbemDateTime_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemDateTime SWbemDateTime; +#else +typedef struct SWbemDateTime SWbemDateTime; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemDateTime_FWD_DEFINED__ */ + +#ifndef __SWbemRefresher_FWD_DEFINED__ +#define __SWbemRefresher_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemRefresher SWbemRefresher; +#else +typedef struct SWbemRefresher SWbemRefresher; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemRefresher_FWD_DEFINED__ */ + +#ifndef __SWbemServices_FWD_DEFINED__ +#define __SWbemServices_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemServices SWbemServices; +#else +typedef struct SWbemServices SWbemServices; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemServices_FWD_DEFINED__ */ + +#ifndef __SWbemServicesEx_FWD_DEFINED__ +#define __SWbemServicesEx_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemServicesEx SWbemServicesEx; +#else +typedef struct SWbemServicesEx SWbemServicesEx; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemServicesEx_FWD_DEFINED__ */ + +#ifndef __SWbemObject_FWD_DEFINED__ +#define __SWbemObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemObject SWbemObject; +#else +typedef struct SWbemObject SWbemObject; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemObject_FWD_DEFINED__ */ + +#ifndef __SWbemObjectEx_FWD_DEFINED__ +#define __SWbemObjectEx_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemObjectEx SWbemObjectEx; +#else +typedef struct SWbemObjectEx SWbemObjectEx; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemObjectEx_FWD_DEFINED__ */ + +#ifndef __SWbemObjectSet_FWD_DEFINED__ +#define __SWbemObjectSet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemObjectSet SWbemObjectSet; +#else +typedef struct SWbemObjectSet SWbemObjectSet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemObjectSet_FWD_DEFINED__ */ + +#ifndef __SWbemNamedValue_FWD_DEFINED__ +#define __SWbemNamedValue_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemNamedValue SWbemNamedValue; +#else +typedef struct SWbemNamedValue SWbemNamedValue; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemNamedValue_FWD_DEFINED__ */ + +#ifndef __SWbemQualifier_FWD_DEFINED__ +#define __SWbemQualifier_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemQualifier SWbemQualifier; +#else +typedef struct SWbemQualifier SWbemQualifier; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemQualifier_FWD_DEFINED__ */ + +#ifndef __SWbemQualifierSet_FWD_DEFINED__ +#define __SWbemQualifierSet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemQualifierSet SWbemQualifierSet; +#else +typedef struct SWbemQualifierSet SWbemQualifierSet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemQualifierSet_FWD_DEFINED__ */ + +#ifndef __SWbemProperty_FWD_DEFINED__ +#define __SWbemProperty_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemProperty SWbemProperty; +#else +typedef struct SWbemProperty SWbemProperty; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemProperty_FWD_DEFINED__ */ + +#ifndef __SWbemPropertySet_FWD_DEFINED__ +#define __SWbemPropertySet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemPropertySet SWbemPropertySet; +#else +typedef struct SWbemPropertySet SWbemPropertySet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemPropertySet_FWD_DEFINED__ */ + +#ifndef __SWbemMethod_FWD_DEFINED__ +#define __SWbemMethod_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemMethod SWbemMethod; +#else +typedef struct SWbemMethod SWbemMethod; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemMethod_FWD_DEFINED__ */ + +#ifndef __SWbemMethodSet_FWD_DEFINED__ +#define __SWbemMethodSet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemMethodSet SWbemMethodSet; +#else +typedef struct SWbemMethodSet SWbemMethodSet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemMethodSet_FWD_DEFINED__ */ + +#ifndef __SWbemEventSource_FWD_DEFINED__ +#define __SWbemEventSource_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemEventSource SWbemEventSource; +#else +typedef struct SWbemEventSource SWbemEventSource; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemEventSource_FWD_DEFINED__ */ + +#ifndef __SWbemSecurity_FWD_DEFINED__ +#define __SWbemSecurity_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemSecurity SWbemSecurity; +#else +typedef struct SWbemSecurity SWbemSecurity; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemSecurity_FWD_DEFINED__ */ + +#ifndef __SWbemPrivilege_FWD_DEFINED__ +#define __SWbemPrivilege_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemPrivilege SWbemPrivilege; +#else +typedef struct SWbemPrivilege SWbemPrivilege; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemPrivilege_FWD_DEFINED__ */ + +#ifndef __SWbemPrivilegeSet_FWD_DEFINED__ +#define __SWbemPrivilegeSet_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemPrivilegeSet SWbemPrivilegeSet; +#else +typedef struct SWbemPrivilegeSet SWbemPrivilegeSet; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemPrivilegeSet_FWD_DEFINED__ */ + +#ifndef __SWbemRefreshableItem_FWD_DEFINED__ +#define __SWbemRefreshableItem_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SWbemRefreshableItem SWbemRefreshableItem; +#else +typedef struct SWbemRefreshableItem SWbemRefreshableItem; +#endif /* defined __cplusplus */ +#endif /* defined __SWbemRefreshableItem_FWD_DEFINED__ */ + +#ifndef __ISWbemLocator_FWD_DEFINED__ +#define __ISWbemLocator_FWD_DEFINED__ +typedef interface ISWbemLocator ISWbemLocator; +#ifdef __cplusplus +interface ISWbemLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemServices_FWD_DEFINED__ +#define __ISWbemServices_FWD_DEFINED__ +typedef interface ISWbemServices ISWbemServices; +#ifdef __cplusplus +interface ISWbemServices; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemServicesEx_FWD_DEFINED__ +#define __ISWbemServicesEx_FWD_DEFINED__ +typedef interface ISWbemServicesEx ISWbemServicesEx; +#ifdef __cplusplus +interface ISWbemServicesEx; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObject_FWD_DEFINED__ +#define __ISWbemObject_FWD_DEFINED__ +typedef interface ISWbemObject ISWbemObject; +#ifdef __cplusplus +interface ISWbemObject; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectEx_FWD_DEFINED__ +#define __ISWbemObjectEx_FWD_DEFINED__ +typedef interface ISWbemObjectEx ISWbemObjectEx; +#ifdef __cplusplus +interface ISWbemObjectEx; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemLastError_FWD_DEFINED__ +#define __ISWbemLastError_FWD_DEFINED__ +typedef interface ISWbemLastError ISWbemLastError; +#ifdef __cplusplus +interface ISWbemLastError; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectSet_FWD_DEFINED__ +#define __ISWbemObjectSet_FWD_DEFINED__ +typedef interface ISWbemObjectSet ISWbemObjectSet; +#ifdef __cplusplus +interface ISWbemObjectSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemNamedValueSet_FWD_DEFINED__ +#define __ISWbemNamedValueSet_FWD_DEFINED__ +typedef interface ISWbemNamedValueSet ISWbemNamedValueSet; +#ifdef __cplusplus +interface ISWbemNamedValueSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemNamedValue_FWD_DEFINED__ +#define __ISWbemNamedValue_FWD_DEFINED__ +typedef interface ISWbemNamedValue ISWbemNamedValue; +#ifdef __cplusplus +interface ISWbemNamedValue; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectPath_FWD_DEFINED__ +#define __ISWbemObjectPath_FWD_DEFINED__ +typedef interface ISWbemObjectPath ISWbemObjectPath; +#ifdef __cplusplus +interface ISWbemObjectPath; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemProperty_FWD_DEFINED__ +#define __ISWbemProperty_FWD_DEFINED__ +typedef interface ISWbemProperty ISWbemProperty; +#ifdef __cplusplus +interface ISWbemProperty; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPropertySet_FWD_DEFINED__ +#define __ISWbemPropertySet_FWD_DEFINED__ +typedef interface ISWbemPropertySet ISWbemPropertySet; +#ifdef __cplusplus +interface ISWbemPropertySet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemQualifier_FWD_DEFINED__ +#define __ISWbemQualifier_FWD_DEFINED__ +typedef interface ISWbemQualifier ISWbemQualifier; +#ifdef __cplusplus +interface ISWbemQualifier; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemQualifierSet_FWD_DEFINED__ +#define __ISWbemQualifierSet_FWD_DEFINED__ +typedef interface ISWbemQualifierSet ISWbemQualifierSet; +#ifdef __cplusplus +interface ISWbemQualifierSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemMethod_FWD_DEFINED__ +#define __ISWbemMethod_FWD_DEFINED__ +typedef interface ISWbemMethod ISWbemMethod; +#ifdef __cplusplus +interface ISWbemMethod; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemMethodSet_FWD_DEFINED__ +#define __ISWbemMethodSet_FWD_DEFINED__ +typedef interface ISWbemMethodSet ISWbemMethodSet; +#ifdef __cplusplus +interface ISWbemMethodSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSink_FWD_DEFINED__ +#define __ISWbemSink_FWD_DEFINED__ +typedef interface ISWbemSink ISWbemSink; +#ifdef __cplusplus +interface ISWbemSink; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSinkEvents_FWD_DEFINED__ +#define __ISWbemSinkEvents_FWD_DEFINED__ +typedef interface ISWbemSinkEvents ISWbemSinkEvents; +#ifdef __cplusplus +interface ISWbemSinkEvents; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemEventSource_FWD_DEFINED__ +#define __ISWbemEventSource_FWD_DEFINED__ +typedef interface ISWbemEventSource ISWbemEventSource; +#ifdef __cplusplus +interface ISWbemEventSource; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSecurity_FWD_DEFINED__ +#define __ISWbemSecurity_FWD_DEFINED__ +typedef interface ISWbemSecurity ISWbemSecurity; +#ifdef __cplusplus +interface ISWbemSecurity; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPrivilege_FWD_DEFINED__ +#define __ISWbemPrivilege_FWD_DEFINED__ +typedef interface ISWbemPrivilege ISWbemPrivilege; +#ifdef __cplusplus +interface ISWbemPrivilege; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPrivilegeSet_FWD_DEFINED__ +#define __ISWbemPrivilegeSet_FWD_DEFINED__ +typedef interface ISWbemPrivilegeSet ISWbemPrivilegeSet; +#ifdef __cplusplus +interface ISWbemPrivilegeSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemDateTime_FWD_DEFINED__ +#define __ISWbemDateTime_FWD_DEFINED__ +typedef interface ISWbemDateTime ISWbemDateTime; +#ifdef __cplusplus +interface ISWbemDateTime; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemRefreshableItem_FWD_DEFINED__ +#define __ISWbemRefreshableItem_FWD_DEFINED__ +typedef interface ISWbemRefreshableItem ISWbemRefreshableItem; +#ifdef __cplusplus +interface ISWbemRefreshableItem; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemRefresher_FWD_DEFINED__ +#define __ISWbemRefresher_FWD_DEFINED__ +typedef interface ISWbemRefresher ISWbemRefresher; +#ifdef __cplusplus +interface ISWbemRefresher; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __WbemScripting_LIBRARY_DEFINED__ +#define __WbemScripting_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WbemScripting, 0x565783c6, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifndef __ISWbemDateTime_FWD_DEFINED__ +#define __ISWbemDateTime_FWD_DEFINED__ +typedef interface ISWbemDateTime ISWbemDateTime; +#ifdef __cplusplus +interface ISWbemDateTime; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemEventSource_FWD_DEFINED__ +#define __ISWbemEventSource_FWD_DEFINED__ +typedef interface ISWbemEventSource ISWbemEventSource; +#ifdef __cplusplus +interface ISWbemEventSource; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemLastError_FWD_DEFINED__ +#define __ISWbemLastError_FWD_DEFINED__ +typedef interface ISWbemLastError ISWbemLastError; +#ifdef __cplusplus +interface ISWbemLastError; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemLocator_FWD_DEFINED__ +#define __ISWbemLocator_FWD_DEFINED__ +typedef interface ISWbemLocator ISWbemLocator; +#ifdef __cplusplus +interface ISWbemLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemMethod_FWD_DEFINED__ +#define __ISWbemMethod_FWD_DEFINED__ +typedef interface ISWbemMethod ISWbemMethod; +#ifdef __cplusplus +interface ISWbemMethod; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemMethodSet_FWD_DEFINED__ +#define __ISWbemMethodSet_FWD_DEFINED__ +typedef interface ISWbemMethodSet ISWbemMethodSet; +#ifdef __cplusplus +interface ISWbemMethodSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemNamedValue_FWD_DEFINED__ +#define __ISWbemNamedValue_FWD_DEFINED__ +typedef interface ISWbemNamedValue ISWbemNamedValue; +#ifdef __cplusplus +interface ISWbemNamedValue; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemNamedValueSet_FWD_DEFINED__ +#define __ISWbemNamedValueSet_FWD_DEFINED__ +typedef interface ISWbemNamedValueSet ISWbemNamedValueSet; +#ifdef __cplusplus +interface ISWbemNamedValueSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObject_FWD_DEFINED__ +#define __ISWbemObject_FWD_DEFINED__ +typedef interface ISWbemObject ISWbemObject; +#ifdef __cplusplus +interface ISWbemObject; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectEx_FWD_DEFINED__ +#define __ISWbemObjectEx_FWD_DEFINED__ +typedef interface ISWbemObjectEx ISWbemObjectEx; +#ifdef __cplusplus +interface ISWbemObjectEx; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectPath_FWD_DEFINED__ +#define __ISWbemObjectPath_FWD_DEFINED__ +typedef interface ISWbemObjectPath ISWbemObjectPath; +#ifdef __cplusplus +interface ISWbemObjectPath; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemObjectSet_FWD_DEFINED__ +#define __ISWbemObjectSet_FWD_DEFINED__ +typedef interface ISWbemObjectSet ISWbemObjectSet; +#ifdef __cplusplus +interface ISWbemObjectSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemQualifier_FWD_DEFINED__ +#define __ISWbemQualifier_FWD_DEFINED__ +typedef interface ISWbemQualifier ISWbemQualifier; +#ifdef __cplusplus +interface ISWbemQualifier; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemQualifierSet_FWD_DEFINED__ +#define __ISWbemQualifierSet_FWD_DEFINED__ +typedef interface ISWbemQualifierSet ISWbemQualifierSet; +#ifdef __cplusplus +interface ISWbemQualifierSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPrivilege_FWD_DEFINED__ +#define __ISWbemPrivilege_FWD_DEFINED__ +typedef interface ISWbemPrivilege ISWbemPrivilege; +#ifdef __cplusplus +interface ISWbemPrivilege; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPrivilegeSet_FWD_DEFINED__ +#define __ISWbemPrivilegeSet_FWD_DEFINED__ +typedef interface ISWbemPrivilegeSet ISWbemPrivilegeSet; +#ifdef __cplusplus +interface ISWbemPrivilegeSet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemProperty_FWD_DEFINED__ +#define __ISWbemProperty_FWD_DEFINED__ +typedef interface ISWbemProperty ISWbemProperty; +#ifdef __cplusplus +interface ISWbemProperty; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemPropertySet_FWD_DEFINED__ +#define __ISWbemPropertySet_FWD_DEFINED__ +typedef interface ISWbemPropertySet ISWbemPropertySet; +#ifdef __cplusplus +interface ISWbemPropertySet; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemRefresher_FWD_DEFINED__ +#define __ISWbemRefresher_FWD_DEFINED__ +typedef interface ISWbemRefresher ISWbemRefresher; +#ifdef __cplusplus +interface ISWbemRefresher; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemRefreshableItem_FWD_DEFINED__ +#define __ISWbemRefreshableItem_FWD_DEFINED__ +typedef interface ISWbemRefreshableItem ISWbemRefreshableItem; +#ifdef __cplusplus +interface ISWbemRefreshableItem; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSecurity_FWD_DEFINED__ +#define __ISWbemSecurity_FWD_DEFINED__ +typedef interface ISWbemSecurity ISWbemSecurity; +#ifdef __cplusplus +interface ISWbemSecurity; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemServices_FWD_DEFINED__ +#define __ISWbemServices_FWD_DEFINED__ +typedef interface ISWbemServices ISWbemServices; +#ifdef __cplusplus +interface ISWbemServices; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemServicesEx_FWD_DEFINED__ +#define __ISWbemServicesEx_FWD_DEFINED__ +typedef interface ISWbemServicesEx ISWbemServicesEx; +#ifdef __cplusplus +interface ISWbemServicesEx; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSink_FWD_DEFINED__ +#define __ISWbemSink_FWD_DEFINED__ +typedef interface ISWbemSink ISWbemSink; +#ifdef __cplusplus +interface ISWbemSink; +#endif /* __cplusplus */ +#endif + +#ifndef __ISWbemSinkEvents_FWD_DEFINED__ +#define __ISWbemSinkEvents_FWD_DEFINED__ +typedef interface ISWbemSinkEvents ISWbemSinkEvents; +#ifdef __cplusplus +interface ISWbemSinkEvents; +#endif /* __cplusplus */ +#endif + +typedef enum WbemChangeFlagEnum { + wbemChangeFlagCreateOrUpdate = 0x0, + wbemChangeFlagUpdateOnly = 0x1, + wbemChangeFlagCreateOnly = 0x2, + wbemChangeFlagUpdateCompatible = 0x0, + wbemChangeFlagUpdateSafeMode = 0x20, + wbemChangeFlagUpdateForceMode = 0x40, + wbemChangeFlagStrongValidation = 0x80, + wbemChangeFlagAdvisory = 0x10000 +} WbemChangeFlagEnum; +typedef enum WbemFlagEnum { + wbemFlagReturnImmediately = 0x10, + wbemFlagReturnWhenComplete = 0, + wbemFlagBidirectional = 0, + wbemFlagForwardOnly = 0x20, + wbemFlagNoErrorObject = 0x40, + wbemFlagReturnErrorObject = 0, + wbemFlagSendStatus = 0x80, + wbemFlagDontSendStatus = 0, + wbemFlagEnsureLocatable = 0x100, + wbemFlagDirectRead = 0x200, + wbemFlagSendOnlySelected = 0, + wbemFlagUseAmendedQualifiers = 0x20000, + wbemFlagGetDefault = 0x0, + wbemFlagSpawnInstance = 0x1, + wbemFlagUseCurrentTime = 0x1 +} WbemFlagEnum; +typedef enum WbemQueryFlagEnum { + wbemQueryFlagDeep = 0, + wbemQueryFlagShallow = 1, + wbemQueryFlagPrototype = 2 +} WbemQueryFlagEnum; +typedef enum WbemTextFlagEnum { + wbemTextFlagNoFlavors = 0x1 +} WbemTextFlagEnum; +typedef enum WbemTimeout { + wbemTimeoutInfinite = 0xffffffff +} WbemTimeout; +typedef enum WbemComparisonFlagEnum { + wbemComparisonFlagIncludeAll = 0, + wbemComparisonFlagIgnoreQualifiers = 0x1, + wbemComparisonFlagIgnoreObjectSource = 0x2, + wbemComparisonFlagIgnoreDefaultValues = 0x4, + wbemComparisonFlagIgnoreClass = 0x8, + wbemComparisonFlagIgnoreCase = 0x10, + wbemComparisonFlagIgnoreFlavor = 0x20 +} WbemComparisonFlagEnum; +typedef enum WbemCimtypeEnum { + wbemCimtypeSint16 = 2, + wbemCimtypeSint32 = 3, + wbemCimtypeReal32 = 4, + wbemCimtypeReal64 = 5, + wbemCimtypeString = 8, + wbemCimtypeBoolean = 11, + wbemCimtypeObject = 13, + wbemCimtypeSint8 = 16, + wbemCimtypeUint8 = 17, + wbemCimtypeUint16 = 18, + wbemCimtypeUint32 = 19, + wbemCimtypeSint64 = 20, + wbemCimtypeUint64 = 21, + wbemCimtypeDatetime = 101, + wbemCimtypeReference = 102, + wbemCimtypeChar16 = 103 +} WbemCimtypeEnum; +typedef enum WbemErrorEnum { + wbemNoErr = 0, + wbemErrFailed = 0x80041001, + wbemErrNotFound = 0x80041002, + wbemErrAccessDenied = 0x80041003, + wbemErrProviderFailure = 0x80041004, + wbemErrTypeMismatch = 0x80041005, + wbemErrOutOfMemory = 0x80041006, + wbemErrInvalidContext = 0x80041007, + wbemErrInvalidParameter = 0x80041008, + wbemErrNotAvailable = 0x80041009, + wbemErrCriticalError = 0x8004100a, + wbemErrInvalidStream = 0x8004100b, + wbemErrNotSupported = 0x8004100c, + wbemErrInvalidSuperclass = 0x8004100d, + wbemErrInvalidNamespace = 0x8004100e, + wbemErrInvalidObject = 0x8004100f, + wbemErrInvalidClass = 0x80041010, + wbemErrProviderNotFound = 0x80041011, + wbemErrInvalidProviderRegistration = 0x80041012, + wbemErrProviderLoadFailure = 0x80041013, + wbemErrInitializationFailure = 0x80041014, + wbemErrTransportFailure = 0x80041015, + wbemErrInvalidOperation = 0x80041016, + wbemErrInvalidQuery = 0x80041017, + wbemErrInvalidQueryType = 0x80041018, + wbemErrAlreadyExists = 0x80041019, + wbemErrOverrideNotAllowed = 0x8004101a, + wbemErrPropagatedQualifier = 0x8004101b, + wbemErrPropagatedProperty = 0x8004101c, + wbemErrUnexpected = 0x8004101d, + wbemErrIllegalOperation = 0x8004101e, + wbemErrCannotBeKey = 0x8004101f, + wbemErrIncompleteClass = 0x80041020, + wbemErrInvalidSyntax = 0x80041021, + wbemErrNondecoratedObject = 0x80041022, + wbemErrReadOnly = 0x80041023, + wbemErrProviderNotCapable = 0x80041024, + wbemErrClassHasChildren = 0x80041025, + wbemErrClassHasInstances = 0x80041026, + wbemErrQueryNotImplemented = 0x80041027, + wbemErrIllegalNull = 0x80041028, + wbemErrInvalidQualifierType = 0x80041029, + wbemErrInvalidPropertyType = 0x8004102a, + wbemErrValueOutOfRange = 0x8004102b, + wbemErrCannotBeSingleton = 0x8004102c, + wbemErrInvalidCimType = 0x8004102d, + wbemErrInvalidMethod = 0x8004102e, + wbemErrInvalidMethodParameters = 0x8004102f, + wbemErrSystemProperty = 0x80041030, + wbemErrInvalidProperty = 0x80041031, + wbemErrCallCancelled = 0x80041032, + wbemErrShuttingDown = 0x80041033, + wbemErrPropagatedMethod = 0x80041034, + wbemErrUnsupportedParameter = 0x80041035, + wbemErrMissingParameter = 0x80041036, + wbemErrInvalidParameterId = 0x80041037, + wbemErrNonConsecutiveParameterIds = 0x80041038, + wbemErrParameterIdOnRetval = 0x80041039, + wbemErrInvalidObjectPath = 0x8004103a, + wbemErrOutOfDiskSpace = 0x8004103b, + wbemErrBufferTooSmall = 0x8004103c, + wbemErrUnsupportedPutExtension = 0x8004103d, + wbemErrUnknownObjectType = 0x8004103e, + wbemErrUnknownPacketType = 0x8004103f, + wbemErrMarshalVersionMismatch = 0x80041040, + wbemErrMarshalInvalidSignature = 0x80041041, + wbemErrInvalidQualifier = 0x80041042, + wbemErrInvalidDuplicateParameter = 0x80041043, + wbemErrTooMuchData = 0x80041044, + wbemErrServerTooBusy = 0x80041045, + wbemErrInvalidFlavor = 0x80041046, + wbemErrCircularReference = 0x80041047, + wbemErrUnsupportedClassUpdate = 0x80041048, + wbemErrCannotChangeKeyInheritance = 0x80041049, + wbemErrCannotChangeIndexInheritance = 0x80041050, + wbemErrTooManyProperties = 0x80041051, + wbemErrUpdateTypeMismatch = 0x80041052, + wbemErrUpdateOverrideNotAllowed = 0x80041053, + wbemErrUpdatePropagatedMethod = 0x80041054, + wbemErrMethodNotImplemented = 0x80041055, + wbemErrMethodDisabled = 0x80041056, + wbemErrRefresherBusy = 0x80041057, + wbemErrUnparsableQuery = 0x80041058, + wbemErrNotEventClass = 0x80041059, + wbemErrMissingGroupWithin = 0x8004105a, + wbemErrMissingAggregationList = 0x8004105b, + wbemErrPropertyNotAnObject = 0x8004105c, + wbemErrAggregatingByObject = 0x8004105d, + wbemErrUninterpretableProviderQuery = 0x8004105f, + wbemErrBackupRestoreWinmgmtRunning = 0x80041060, + wbemErrQueueOverflow = 0x80041061, + wbemErrPrivilegeNotHeld = 0x80041062, + wbemErrInvalidOperator = 0x80041063, + wbemErrLocalCredentials = 0x80041064, + wbemErrCannotBeAbstract = 0x80041065, + wbemErrAmendedObject = 0x80041066, + wbemErrClientTooSlow = 0x80041067, + wbemErrNullSecurityDescriptor = 0x80041068, + wbemErrTimeout = 0x80041069, + wbemErrInvalidAssociation = 0x8004106a, + wbemErrAmbiguousOperation = 0x8004106b, + wbemErrQuotaViolation = 0x8004106c, + wbemErrTransactionConflict = 0x8004106d, + wbemErrForcedRollback = 0x8004106e, + wbemErrUnsupportedLocale = 0x8004106f, + wbemErrHandleOutOfDate = 0x80041070, + wbemErrConnectionFailed = 0x80041071, + wbemErrInvalidHandleRequest = 0x80041072, + wbemErrPropertyNameTooWide = 0x80041073, + wbemErrClassNameTooWide = 0x80041074, + wbemErrMethodNameTooWide = 0x80041075, + wbemErrQualifierNameTooWide = 0x80041076, + wbemErrRerunCommand = 0x80041077, + wbemErrDatabaseVerMismatch = 0x80041078, + wbemErrVetoPut = 0x80041079, + wbemErrVetoDelete = 0x8004107a, + wbemErrInvalidLocale = 0x80041080, + wbemErrProviderSuspended = 0x80041081, + wbemErrSynchronizationRequired = 0x80041082, + wbemErrNoSchema = 0x80041083, + wbemErrProviderAlreadyRegistered = 0x80041084, + wbemErrProviderNotRegistered = 0x80041085, + wbemErrFatalTransportError = 0x80041086, + wbemErrEncryptedConnectionRequired = 0x80041087, + wbemErrRegistrationTooBroad = 0x80042001, + wbemErrRegistrationTooPrecise = 0x80042002, + wbemErrTimedout = 0x80043001, + wbemErrResetToDefault = 0x80043002 +} WbemErrorEnum; +typedef enum WbemAuthenticationLevelEnum { + wbemAuthenticationLevelDefault = 0, + wbemAuthenticationLevelNone = 1, + wbemAuthenticationLevelConnect = 2, + wbemAuthenticationLevelCall = 3, + wbemAuthenticationLevelPkt = 4, + wbemAuthenticationLevelPktIntegrity = 5, + wbemAuthenticationLevelPktPrivacy = 6 +} WbemAuthenticationLevelEnum; +typedef enum WbemImpersonationLevelEnum { + wbemImpersonationLevelAnonymous = 1, + wbemImpersonationLevelIdentify = 2, + wbemImpersonationLevelImpersonate = 3, + wbemImpersonationLevelDelegate = 4 +} WbemImpersonationLevelEnum; +typedef enum WbemPrivilegeEnum { + wbemPrivilegeCreateToken = 1, + wbemPrivilegePrimaryToken = 2, + wbemPrivilegeLockMemory = 3, + wbemPrivilegeIncreaseQuota = 4, + wbemPrivilegeMachineAccount = 5, + wbemPrivilegeTcb = 6, + wbemPrivilegeSecurity = 7, + wbemPrivilegeTakeOwnership = 8, + wbemPrivilegeLoadDriver = 9, + wbemPrivilegeSystemProfile = 10, + wbemPrivilegeSystemtime = 11, + wbemPrivilegeProfileSingleProcess = 12, + wbemPrivilegeIncreaseBasePriority = 13, + wbemPrivilegeCreatePagefile = 14, + wbemPrivilegeCreatePermanent = 15, + wbemPrivilegeBackup = 16, + wbemPrivilegeRestore = 17, + wbemPrivilegeShutdown = 18, + wbemPrivilegeDebug = 19, + wbemPrivilegeAudit = 20, + wbemPrivilegeSystemEnvironment = 21, + wbemPrivilegeChangeNotify = 22, + wbemPrivilegeRemoteShutdown = 23, + wbemPrivilegeUndock = 24, + wbemPrivilegeSyncAgent = 25, + wbemPrivilegeEnableDelegation = 26, + wbemPrivilegeManageVolume = 27 +} WbemPrivilegeEnum; +typedef enum WbemObjectTextFormatEnum { + wbemObjectTextFormatCIMDTD20 = 1, + wbemObjectTextFormatWMIDTD20 = 2 +} WbemObjectTextFormatEnum; +typedef enum WbemConnectOptionsEnum { + wbemConnectFlagUseMaxWait = 0x80 +} WbemConnectOptionsEnum; +#define WBEMS_DISPID_OBJECT_READY (1) + +#define WBEMS_DISPID_COMPLETED (2) + +#define WBEMS_DISPID_PROGRESS (3) + +#define WBEMS_DISPID_OBJECT_PUT (4) + +#define WBEMS_DISPID_CONNECTION_READY (5) + +#define WBEMS_DISPID_DERIVATION (23) + +/***************************************************************************** + * SWbemLocator coclass + */ + +DEFINE_GUID(CLSID_SWbemLocator, 0x76a64158, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("76a64158-cb41-11d1-8b02-00600806d9b6") SWbemLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemLocator, 0x76a64158, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemNamedValueSet coclass + */ + +DEFINE_GUID(CLSID_SWbemNamedValueSet, 0x9aed384e, 0xce8b, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("9aed384e-ce8b-11d1-8b05-00600806d9b6") SWbemNamedValueSet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemNamedValueSet, 0x9aed384e, 0xce8b, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemObjectPath coclass + */ + +DEFINE_GUID(CLSID_SWbemObjectPath, 0x5791bc26, 0xce9c, 0x11d1, 0x97,0xbf, 0x00,0x00,0xf8,0x1e,0x84,0x9c); + +#ifdef __cplusplus +class DECLSPEC_UUID("5791bc26-ce9c-11d1-97bf-0000f81e849c") SWbemObjectPath; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemObjectPath, 0x5791bc26, 0xce9c, 0x11d1, 0x97,0xbf, 0x00,0x00,0xf8,0x1e,0x84,0x9c) +#endif +#endif + +/***************************************************************************** + * SWbemLastError coclass + */ + +DEFINE_GUID(CLSID_SWbemLastError, 0xc2feeeac, 0xcfcd, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("c2feeeac-cfcd-11d1-8b05-00600806d9b6") SWbemLastError; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemLastError, 0xc2feeeac, 0xcfcd, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemSink coclass + */ + +DEFINE_GUID(CLSID_SWbemSink, 0x75718c9a, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23); + +#ifdef __cplusplus +class DECLSPEC_UUID("75718c9a-f029-11d1-a1ac-00c04fb6c223") SWbemSink; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemSink, 0x75718c9a, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23) +#endif +#endif + +/***************************************************************************** + * SWbemDateTime coclass + */ + +DEFINE_GUID(CLSID_SWbemDateTime, 0x47dfbe54, 0xcf76, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a); + +#ifdef __cplusplus +class DECLSPEC_UUID("47dfbe54-cf76-11d3-b38f-00105a1f473a") SWbemDateTime; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemDateTime, 0x47dfbe54, 0xcf76, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#endif + +/***************************************************************************** + * SWbemRefresher coclass + */ + +DEFINE_GUID(CLSID_SWbemRefresher, 0xd269bf5c, 0xd9c1, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a); + +#ifdef __cplusplus +class DECLSPEC_UUID("d269bf5c-d9c1-11d3-b38f-00105a1f473a") SWbemRefresher; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemRefresher, 0xd269bf5c, 0xd9c1, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#endif + +/***************************************************************************** + * SWbemServices coclass + */ + +DEFINE_GUID(CLSID_SWbemServices, 0x04b83d63, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d63-21ae-11d2-8b33-00600806d9b6") SWbemServices; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemServices, 0x04b83d63, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemServicesEx coclass + */ + +DEFINE_GUID(CLSID_SWbemServicesEx, 0x62e522dc, 0x8cf3, 0x40a8, 0x8b,0x2e, 0x37,0xd5,0x95,0x65,0x1e,0x40); + +#ifdef __cplusplus +class DECLSPEC_UUID("62e522dc-8cf3-40a8-8b2e-37d595651e40") SWbemServicesEx; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemServicesEx, 0x62e522dc, 0x8cf3, 0x40a8, 0x8b,0x2e, 0x37,0xd5,0x95,0x65,0x1e,0x40) +#endif +#endif + +/***************************************************************************** + * SWbemObject coclass + */ + +DEFINE_GUID(CLSID_SWbemObject, 0x04b83d62, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d62-21ae-11d2-8b33-00600806d9b6") SWbemObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemObject, 0x04b83d62, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemObjectEx coclass + */ + +DEFINE_GUID(CLSID_SWbemObjectEx, 0xd6bdafb2, 0x9435, 0x491f, 0xbb,0x87, 0x6a,0xa0,0xf0,0xbc,0x31,0xa2); + +#ifdef __cplusplus +class DECLSPEC_UUID("d6bdafb2-9435-491f-bb87-6aa0f0bc31a2") SWbemObjectEx; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemObjectEx, 0xd6bdafb2, 0x9435, 0x491f, 0xbb,0x87, 0x6a,0xa0,0xf0,0xbc,0x31,0xa2) +#endif +#endif + +/***************************************************************************** + * SWbemObjectSet coclass + */ + +DEFINE_GUID(CLSID_SWbemObjectSet, 0x04b83d61, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d61-21ae-11d2-8b33-00600806d9b6") SWbemObjectSet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemObjectSet, 0x04b83d61, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemNamedValue coclass + */ + +DEFINE_GUID(CLSID_SWbemNamedValue, 0x04b83d60, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d60-21ae-11d2-8b33-00600806d9b6") SWbemNamedValue; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemNamedValue, 0x04b83d60, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemQualifier coclass + */ + +DEFINE_GUID(CLSID_SWbemQualifier, 0x04b83d5f, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5f-21ae-11d2-8b33-00600806d9b6") SWbemQualifier; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemQualifier, 0x04b83d5f, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemQualifierSet coclass + */ + +DEFINE_GUID(CLSID_SWbemQualifierSet, 0x04b83d5e, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5e-21ae-11d2-8b33-00600806d9b6") SWbemQualifierSet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemQualifierSet, 0x04b83d5e, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemProperty coclass + */ + +DEFINE_GUID(CLSID_SWbemProperty, 0x04b83d5d, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5d-21ae-11d2-8b33-00600806d9b6") SWbemProperty; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemProperty, 0x04b83d5d, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemPropertySet coclass + */ + +DEFINE_GUID(CLSID_SWbemPropertySet, 0x04b83d5c, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5c-21ae-11d2-8b33-00600806d9b6") SWbemPropertySet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemPropertySet, 0x04b83d5c, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemMethod coclass + */ + +DEFINE_GUID(CLSID_SWbemMethod, 0x04b83d5b, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5b-21ae-11d2-8b33-00600806d9b6") SWbemMethod; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemMethod, 0x04b83d5b, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemMethodSet coclass + */ + +DEFINE_GUID(CLSID_SWbemMethodSet, 0x04b83d5a, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d5a-21ae-11d2-8b33-00600806d9b6") SWbemMethodSet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemMethodSet, 0x04b83d5a, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemEventSource coclass + */ + +DEFINE_GUID(CLSID_SWbemEventSource, 0x04b83d58, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("04b83d58-21ae-11d2-8b33-00600806d9b6") SWbemEventSource; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemEventSource, 0x04b83d58, 0x21ae, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemSecurity coclass + */ + +DEFINE_GUID(CLSID_SWbemSecurity, 0xb54d66e9, 0x2287, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("b54d66e9-2287-11d2-8b33-00600806d9b6") SWbemSecurity; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemSecurity, 0xb54d66e9, 0x2287, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemPrivilege coclass + */ + +DEFINE_GUID(CLSID_SWbemPrivilege, 0x26ee67bc, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("26ee67bc-5804-11d2-8b4a-00600806d9b6") SWbemPrivilege; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemPrivilege, 0x26ee67bc, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemPrivilegeSet coclass + */ + +DEFINE_GUID(CLSID_SWbemPrivilegeSet, 0x26ee67be, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("26ee67be-5804-11d2-8b4a-00600806d9b6") SWbemPrivilegeSet; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemPrivilegeSet, 0x26ee67be, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#endif + +/***************************************************************************** + * SWbemRefreshableItem coclass + */ + +DEFINE_GUID(CLSID_SWbemRefreshableItem, 0x8c6854bc, 0xde4b, 0x11d3, 0xb3,0x90, 0x00,0x10,0x5a,0x1f,0x47,0x3a); + +#ifdef __cplusplus +class DECLSPEC_UUID("8c6854bc-de4b-11d3-b390-00105a1f473a") SWbemRefreshableItem; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SWbemRefreshableItem, 0x8c6854bc, 0xde4b, 0x11d3, 0xb3,0x90, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#endif + +#endif /* __WbemScripting_LIBRARY_DEFINED__ */ +/***************************************************************************** + * ISWbemLocator interface + */ +#ifndef __ISWbemLocator_INTERFACE_DEFINED__ +#define __ISWbemLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemLocator, 0x76a6415b, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("76a6415b-cb41-11d1-8b02-00600806d9b6") +ISWbemLocator : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE ConnectServer( + BSTR strServer = L".", + BSTR strNamespace = L"", + BSTR strUser = L"", + BSTR strPassword = L"", + BSTR strLocale = L"", + BSTR strAuthority = L"", + LONG iSecurityFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemServices **objWbemServices = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemLocator, 0x76a6415b, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *ConnectServer)( + ISWbemLocator *This, + BSTR strServer, + BSTR strNamespace, + BSTR strUser, + BSTR strPassword, + BSTR strLocale, + BSTR strAuthority, + LONG iSecurityFlags, + IDispatch *objWbemNamedValueSet, + ISWbemServices **objWbemServices); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemLocator *This, + ISWbemSecurity **objWbemSecurity); + + END_INTERFACE +} ISWbemLocatorVtbl; + +interface ISWbemLocator { + CONST_VTBL ISWbemLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemLocator methods ***/ +#define ISWbemLocator_ConnectServer(This,strServer,strNamespace,strUser,strPassword,strLocale,strAuthority,iSecurityFlags,objWbemNamedValueSet,objWbemServices) (This)->lpVtbl->ConnectServer(This,strServer,strNamespace,strUser,strPassword,strLocale,strAuthority,iSecurityFlags,objWbemNamedValueSet,objWbemServices) +#define ISWbemLocator_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemLocator_QueryInterface(ISWbemLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemLocator_AddRef(ISWbemLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemLocator_Release(ISWbemLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemLocator_GetTypeInfoCount(ISWbemLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemLocator_GetTypeInfo(ISWbemLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemLocator_GetIDsOfNames(ISWbemLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemLocator_Invoke(ISWbemLocator* 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); +} +/*** ISWbemLocator methods ***/ +static inline HRESULT ISWbemLocator_ConnectServer(ISWbemLocator* This,BSTR strServer,BSTR strNamespace,BSTR strUser,BSTR strPassword,BSTR strLocale,BSTR strAuthority,LONG iSecurityFlags,IDispatch *objWbemNamedValueSet,ISWbemServices **objWbemServices) { + return This->lpVtbl->ConnectServer(This,strServer,strNamespace,strUser,strPassword,strLocale,strAuthority,iSecurityFlags,objWbemNamedValueSet,objWbemServices); +} +static inline HRESULT ISWbemLocator_get_Security_(ISWbemLocator* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemServices interface + */ +#ifndef __ISWbemServices_INTERFACE_DEFINED__ +#define __ISWbemServices_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemServices, 0x76a6415c, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("76a6415c-cb41-11d1-8b02-00600806d9b6") +ISWbemServices : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE Get( + BSTR strObjectPath = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObject **objWbemObject = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAsync( + IDispatch *objWbemSink, + BSTR strObjectPath = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Delete( + BSTR strObjectPath, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAsync( + IDispatch *objWbemSink, + BSTR strObjectPath, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE InstancesOf( + BSTR strClass, + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE InstancesOfAsync( + IDispatch *objWbemSink, + BSTR strClass, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubclassesOf( + BSTR strSuperclass = L"", + LONG iFlags = wbemFlagReturnImmediately | wbemQueryFlagDeep, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubclassesOfAsync( + IDispatch *objWbemSink, + BSTR strSuperclass = L"", + LONG iFlags = wbemQueryFlagDeep, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecQuery( + BSTR strQuery, + BSTR strQueryLanguage = L"WQL", + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecQueryAsync( + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage = L"WQL", + LONG lFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AssociatorsOf( + BSTR strObjectPath, + BSTR strAssocClass = L"", + BSTR strResultClass = L"", + BSTR strResultRole = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredAssocQualifier = L"", + BSTR strRequiredQualifier = L"", + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AssociatorsOfAsync( + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strAssocClass = L"", + BSTR strResultClass = L"", + BSTR strResultRole = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredAssocQualifier = L"", + BSTR strRequiredQualifier = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReferencesTo( + BSTR strObjectPath, + BSTR strResultClass = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredQualifier = L"", + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReferencesToAsync( + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strResultClass = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredQualifier = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecNotificationQuery( + BSTR strQuery, + BSTR strQueryLanguage = L"WQL", + LONG iFlags = wbemFlagReturnImmediately | wbemFlagForwardOnly, + IDispatch *objWbemNamedValueSet = 0, + ISWbemEventSource **objWbemEventSource = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync( + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage = L"WQL", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethod( + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters = 0, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObject **objWbemOutParameters = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync( + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters = 0, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemServices, 0x76a6415c, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemServicesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemServices *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemServices *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemServices *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemServices *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemServices *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemServices *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemServices *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemServices methods ***/ + HRESULT (STDMETHODCALLTYPE *Get)( + ISWbemServices *This, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *GetAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Delete)( + ISWbemServices *This, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *InstancesOf)( + ISWbemServices *This, + BSTR strClass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *InstancesOfAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strClass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *SubclassesOf)( + ISWbemServices *This, + BSTR strSuperclass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *SubclassesOfAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strSuperclass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecQuery)( + ISWbemServices *This, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ExecQueryAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage, + LONG lFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *AssociatorsOf)( + ISWbemServices *This, + BSTR strObjectPath, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *AssociatorsOfAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ReferencesTo)( + ISWbemServices *This, + BSTR strObjectPath, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ReferencesToAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQuery)( + ISWbemServices *This, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemEventSource **objWbemEventSource); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQueryAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecMethod)( + ISWbemServices *This, + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync)( + ISWbemServices *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemServices *This, + ISWbemSecurity **objWbemSecurity); + + END_INTERFACE +} ISWbemServicesVtbl; + +interface ISWbemServices { + CONST_VTBL ISWbemServicesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemServices_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemServices_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemServices_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemServices_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemServices_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemServices_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemServices methods ***/ +#define ISWbemServices_Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject) (This)->lpVtbl->Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject) +#define ISWbemServices_GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_Delete(This,strObjectPath,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Delete(This,strObjectPath,iFlags,objWbemNamedValueSet) +#define ISWbemServices_DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServices_InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServices_SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServices_ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServices_AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServices_ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource) (This)->lpVtbl->ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource) +#define ISWbemServices_ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) (This)->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) +#define ISWbemServices_ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServices_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemServices_QueryInterface(ISWbemServices* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemServices_AddRef(ISWbemServices* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemServices_Release(ISWbemServices* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemServices_GetTypeInfoCount(ISWbemServices* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemServices_GetTypeInfo(ISWbemServices* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemServices_GetIDsOfNames(ISWbemServices* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemServices_Invoke(ISWbemServices* 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); +} +/*** ISWbemServices methods ***/ +static inline HRESULT ISWbemServices_Get(ISWbemServices* This,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemObject) { + return This->lpVtbl->Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject); +} +static inline HRESULT ISWbemServices_GetAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_Delete(ISWbemServices* This,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Delete(This,strObjectPath,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemServices_DeleteAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_InstancesOf(ISWbemServices* This,BSTR strClass,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServices_InstancesOfAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strClass,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_SubclassesOf(ISWbemServices* This,BSTR strSuperclass,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServices_SubclassesOfAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strSuperclass,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_ExecQuery(ISWbemServices* This,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServices_ExecQueryAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strQuery,BSTR strQueryLanguage,LONG lFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_AssociatorsOf(ISWbemServices* This,BSTR strObjectPath,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServices_AssociatorsOfAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_ReferencesTo(ISWbemServices* This,BSTR strObjectPath,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServices_ReferencesToAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_ExecNotificationQuery(ISWbemServices* This,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemEventSource **objWbemEventSource) { + return This->lpVtbl->ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource); +} +static inline HRESULT ISWbemServices_ExecNotificationQueryAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_ExecMethod(ISWbemServices* This,BSTR strObjectPath,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters); +} +static inline HRESULT ISWbemServices_ExecMethodAsync(ISWbemServices* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServices_get_Security_(ISWbemServices* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemServices_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemServicesEx interface + */ +#ifndef __ISWbemServicesEx_INTERFACE_DEFINED__ +#define __ISWbemServicesEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemServicesEx, 0xd2f68443, 0x85dc, 0x427e, 0x91,0xd8, 0x36,0x65,0x54,0xcc,0x75,0x4c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d2f68443-85dc-427e-91d8-366554cc754c") +ISWbemServicesEx : public ISWbemServices +{ + virtual HRESULT STDMETHODCALLTYPE Put( + ISWbemObjectEx *objWbemObject, + LONG iFlags = wbemChangeFlagCreateOrUpdate, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectPath **objWbemObjectPath = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutAsync( + ISWbemSink *objWbemSink, + ISWbemObjectEx *objWbemObject, + LONG iFlags = wbemChangeFlagCreateOrUpdate, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemServicesEx, 0xd2f68443, 0x85dc, 0x427e, 0x91,0xd8, 0x36,0x65,0x54,0xcc,0x75,0x4c) +#endif +#else +typedef struct ISWbemServicesExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemServicesEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemServicesEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemServicesEx *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemServicesEx *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemServicesEx *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemServicesEx *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemServicesEx *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemServices methods ***/ + HRESULT (STDMETHODCALLTYPE *Get)( + ISWbemServicesEx *This, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *GetAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Delete)( + ISWbemServicesEx *This, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *InstancesOf)( + ISWbemServicesEx *This, + BSTR strClass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *InstancesOfAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strClass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *SubclassesOf)( + ISWbemServicesEx *This, + BSTR strSuperclass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *SubclassesOfAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strSuperclass, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecQuery)( + ISWbemServicesEx *This, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ExecQueryAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage, + LONG lFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *AssociatorsOf)( + ISWbemServicesEx *This, + BSTR strObjectPath, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *AssociatorsOfAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ReferencesTo)( + ISWbemServicesEx *This, + BSTR strObjectPath, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ReferencesToAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQuery)( + ISWbemServicesEx *This, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemEventSource **objWbemEventSource); + + HRESULT (STDMETHODCALLTYPE *ExecNotificationQueryAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strQuery, + BSTR strQueryLanguage, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecMethod)( + ISWbemServicesEx *This, + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync)( + ISWbemServicesEx *This, + IDispatch *objWbemSink, + BSTR strObjectPath, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemServicesEx *This, + ISWbemSecurity **objWbemSecurity); + + /*** ISWbemServicesEx methods ***/ + HRESULT (STDMETHODCALLTYPE *Put)( + ISWbemServicesEx *This, + ISWbemObjectEx *objWbemObject, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *PutAsync)( + ISWbemServicesEx *This, + ISWbemSink *objWbemSink, + ISWbemObjectEx *objWbemObject, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + END_INTERFACE +} ISWbemServicesExVtbl; + +interface ISWbemServicesEx { + CONST_VTBL ISWbemServicesExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemServicesEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemServicesEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemServicesEx_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemServicesEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemServicesEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemServicesEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemServicesEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemServices methods ***/ +#define ISWbemServicesEx_Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject) (This)->lpVtbl->Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject) +#define ISWbemServicesEx_GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_Delete(This,strObjectPath,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Delete(This,strObjectPath,iFlags,objWbemNamedValueSet) +#define ISWbemServicesEx_DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServicesEx_InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServicesEx_SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServicesEx_ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServicesEx_AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemServicesEx_ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource) (This)->lpVtbl->ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource) +#define ISWbemServicesEx_ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) (This)->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) +#define ISWbemServicesEx_ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemServicesEx_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +/*** ISWbemServicesEx methods ***/ +#define ISWbemServicesEx_Put(This,objWbemObject,iFlags,objWbemNamedValueSet,objWbemObjectPath) (This)->lpVtbl->Put(This,objWbemObject,iFlags,objWbemNamedValueSet,objWbemObjectPath) +#define ISWbemServicesEx_PutAsync(This,objWbemSink,objWbemObject,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->PutAsync(This,objWbemSink,objWbemObject,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemServicesEx_QueryInterface(ISWbemServicesEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemServicesEx_AddRef(ISWbemServicesEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemServicesEx_Release(ISWbemServicesEx* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemServicesEx_GetTypeInfoCount(ISWbemServicesEx* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemServicesEx_GetTypeInfo(ISWbemServicesEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemServicesEx_GetIDsOfNames(ISWbemServicesEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemServicesEx_Invoke(ISWbemServicesEx* 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); +} +/*** ISWbemServices methods ***/ +static inline HRESULT ISWbemServicesEx_Get(ISWbemServicesEx* This,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemObject) { + return This->lpVtbl->Get(This,strObjectPath,iFlags,objWbemNamedValueSet,objWbemObject); +} +static inline HRESULT ISWbemServicesEx_GetAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->GetAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_Delete(ISWbemServicesEx* This,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Delete(This,strObjectPath,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemServicesEx_DeleteAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strObjectPath,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->DeleteAsync(This,objWbemSink,strObjectPath,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_InstancesOf(ISWbemServicesEx* This,BSTR strClass,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->InstancesOf(This,strClass,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServicesEx_InstancesOfAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strClass,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->InstancesOfAsync(This,objWbemSink,strClass,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_SubclassesOf(ISWbemServicesEx* This,BSTR strSuperclass,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->SubclassesOf(This,strSuperclass,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServicesEx_SubclassesOfAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strSuperclass,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->SubclassesOfAsync(This,objWbemSink,strSuperclass,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_ExecQuery(ISWbemServicesEx* This,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->ExecQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServicesEx_ExecQueryAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strQuery,BSTR strQueryLanguage,LONG lFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,lFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_AssociatorsOf(ISWbemServicesEx* This,BSTR strObjectPath,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->AssociatorsOf(This,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServicesEx_AssociatorsOfAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->AssociatorsOfAsync(This,objWbemSink,strObjectPath,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_ReferencesTo(ISWbemServicesEx* This,BSTR strObjectPath,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->ReferencesTo(This,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemServicesEx_ReferencesToAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ReferencesToAsync(This,objWbemSink,strObjectPath,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_ExecNotificationQuery(ISWbemServicesEx* This,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemEventSource **objWbemEventSource) { + return This->lpVtbl->ExecNotificationQuery(This,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemEventSource); +} +static inline HRESULT ISWbemServicesEx_ExecNotificationQueryAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strQuery,BSTR strQueryLanguage,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecNotificationQueryAsync(This,objWbemSink,strQuery,strQueryLanguage,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_ExecMethod(ISWbemServicesEx* This,BSTR strObjectPath,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters); +} +static inline HRESULT ISWbemServicesEx_ExecMethodAsync(ISWbemServicesEx* This,IDispatch *objWbemSink,BSTR strObjectPath,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecMethodAsync(This,objWbemSink,strObjectPath,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemServicesEx_get_Security_(ISWbemServicesEx* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +/*** ISWbemServicesEx methods ***/ +static inline HRESULT ISWbemServicesEx_Put(ISWbemServicesEx* This,ISWbemObjectEx *objWbemObject,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->Put(This,objWbemObject,iFlags,objWbemNamedValueSet,objWbemObjectPath); +} +static inline HRESULT ISWbemServicesEx_PutAsync(ISWbemServicesEx* This,ISWbemSink *objWbemSink,ISWbemObjectEx *objWbemObject,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->PutAsync(This,objWbemSink,objWbemObject,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemServicesEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemObject interface + */ +#ifndef __ISWbemObject_INTERFACE_DEFINED__ +#define __ISWbemObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemObject, 0x76a6415a, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("76a6415a-cb41-11d1-8b02-00600806d9b6") +ISWbemObject : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE Put_( + LONG iFlags = wbemChangeFlagCreateOrUpdate, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectPath **objWbemObjectPath = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutAsync_( + IDispatch *objWbemSink, + LONG iFlags = wbemChangeFlagCreateOrUpdate, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Delete_( + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAsync_( + IDispatch *objWbemSink, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Instances_( + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE InstancesAsync_( + IDispatch *objWbemSink, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Subclasses_( + LONG iFlags = wbemFlagReturnImmediately | wbemQueryFlagDeep, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubclassesAsync_( + IDispatch *objWbemSink, + LONG iFlags = wbemQueryFlagDeep, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Associators_( + BSTR strAssocClass = L"", + BSTR strResultClass = L"", + BSTR strResultRole = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredAssocQualifier = L"", + BSTR strRequiredQualifier = L"", + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AssociatorsAsync_( + IDispatch *objWbemSink, + BSTR strAssocClass = L"", + BSTR strResultClass = L"", + BSTR strResultRole = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredAssocQualifier = L"", + BSTR strRequiredQualifier = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE References_( + BSTR strResultClass = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredQualifier = L"", + LONG iFlags = wbemFlagReturnImmediately, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObjectSet **objWbemObjectSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReferencesAsync_( + IDispatch *objWbemSink, + BSTR strResultClass = L"", + BSTR strRole = L"", + VARIANT_BOOL bClassesOnly = FALSE, + VARIANT_BOOL bSchemaOnly = FALSE, + BSTR strRequiredQualifier = L"", + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethod_( + BSTR strMethodName, + IDispatch *objWbemInParameters = 0, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemObject **objWbemOutParameters = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync_( + IDispatch *objWbemSink, + BSTR strMethodName, + IDispatch *objWbemInParameters = 0, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + IDispatch *objWbemAsyncContext = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone_( + ISWbemObject **objWbemObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjectText_( + LONG iFlags = 0, + BSTR *strObjectText = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SpawnDerivedClass_( + LONG iFlags = 0, + ISWbemObject **objWbemObject = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SpawnInstance_( + LONG iFlags = 0, + ISWbemObject **objWbemObject = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE CompareTo_( + IDispatch *objWbemObject, + LONG iFlags = wbemComparisonFlagIncludeAll, + VARIANT_BOOL *bResult = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Qualifiers_( + ISWbemQualifierSet **objWbemQualifierSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Properties_( + ISWbemPropertySet **objWbemPropertySet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Methods_( + ISWbemMethodSet **objWbemMethodSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Derivation_( + VARIANT *strClassNameArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Path_( + ISWbemObjectPath **objWbemObjectPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemObject, 0x76a6415a, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemObject *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemObject *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemObject *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemObject *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemObject *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Put_)( + ISWbemObject *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *PutAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Delete_)( + ISWbemObject *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Instances_)( + ISWbemObject *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *InstancesAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Subclasses_)( + ISWbemObject *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *SubclassesAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Associators_)( + ISWbemObject *This, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *AssociatorsAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *References_)( + ISWbemObject *This, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ReferencesAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecMethod_)( + ISWbemObject *This, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync_)( + ISWbemObject *This, + IDispatch *objWbemSink, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Clone_)( + ISWbemObject *This, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *GetObjectText_)( + ISWbemObject *This, + LONG iFlags, + BSTR *strObjectText); + + HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass_)( + ISWbemObject *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *SpawnInstance_)( + ISWbemObject *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *CompareTo_)( + ISWbemObject *This, + IDispatch *objWbemObject, + LONG iFlags, + VARIANT_BOOL *bResult); + + HRESULT (STDMETHODCALLTYPE *get_Qualifiers_)( + ISWbemObject *This, + ISWbemQualifierSet **objWbemQualifierSet); + + HRESULT (STDMETHODCALLTYPE *get_Properties_)( + ISWbemObject *This, + ISWbemPropertySet **objWbemPropertySet); + + HRESULT (STDMETHODCALLTYPE *get_Methods_)( + ISWbemObject *This, + ISWbemMethodSet **objWbemMethodSet); + + HRESULT (STDMETHODCALLTYPE *get_Derivation_)( + ISWbemObject *This, + VARIANT *strClassNameArray); + + HRESULT (STDMETHODCALLTYPE *get_Path_)( + ISWbemObject *This, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemObject *This, + ISWbemSecurity **objWbemSecurity); + + END_INTERFACE +} ISWbemObjectVtbl; + +interface ISWbemObject { + CONST_VTBL ISWbemObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemObject_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemObject_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemObject methods ***/ +#define ISWbemObject_Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) (This)->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) +#define ISWbemObject_PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_Delete_(This,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet) +#define ISWbemObject_DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObject_InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObject_SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObject_AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObject_ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) (This)->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) +#define ISWbemObject_ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObject_Clone_(This,objWbemObject) (This)->lpVtbl->Clone_(This,objWbemObject) +#define ISWbemObject_GetObjectText_(This,iFlags,strObjectText) (This)->lpVtbl->GetObjectText_(This,iFlags,strObjectText) +#define ISWbemObject_SpawnDerivedClass_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject) +#define ISWbemObject_SpawnInstance_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject) +#define ISWbemObject_CompareTo_(This,objWbemObject,iFlags,bResult) (This)->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult) +#define ISWbemObject_get_Qualifiers_(This,objWbemQualifierSet) (This)->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet) +#define ISWbemObject_get_Properties_(This,objWbemPropertySet) (This)->lpVtbl->get_Properties_(This,objWbemPropertySet) +#define ISWbemObject_get_Methods_(This,objWbemMethodSet) (This)->lpVtbl->get_Methods_(This,objWbemMethodSet) +#define ISWbemObject_get_Derivation_(This,strClassNameArray) (This)->lpVtbl->get_Derivation_(This,strClassNameArray) +#define ISWbemObject_get_Path_(This,objWbemObjectPath) (This)->lpVtbl->get_Path_(This,objWbemObjectPath) +#define ISWbemObject_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemObject_QueryInterface(ISWbemObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemObject_AddRef(ISWbemObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemObject_Release(ISWbemObject* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemObject_GetTypeInfoCount(ISWbemObject* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemObject_GetTypeInfo(ISWbemObject* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemObject_GetIDsOfNames(ISWbemObject* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemObject_Invoke(ISWbemObject* 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); +} +/*** ISWbemObject methods ***/ +static inline HRESULT ISWbemObject_Put_(ISWbemObject* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath); +} +static inline HRESULT ISWbemObject_PutAsync_(ISWbemObject* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_Delete_(ISWbemObject* This,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemObject_DeleteAsync_(ISWbemObject* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_Instances_(ISWbemObject* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObject_InstancesAsync_(ISWbemObject* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_Subclasses_(ISWbemObject* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObject_SubclassesAsync_(ISWbemObject* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_Associators_(ISWbemObject* This,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObject_AssociatorsAsync_(ISWbemObject* This,IDispatch *objWbemSink,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_References_(ISWbemObject* This,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObject_ReferencesAsync_(ISWbemObject* This,IDispatch *objWbemSink,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_ExecMethod_(ISWbemObject* This,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters); +} +static inline HRESULT ISWbemObject_ExecMethodAsync_(ISWbemObject* This,IDispatch *objWbemSink,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObject_Clone_(ISWbemObject* This,ISWbemObject **objWbemObject) { + return This->lpVtbl->Clone_(This,objWbemObject); +} +static inline HRESULT ISWbemObject_GetObjectText_(ISWbemObject* This,LONG iFlags,BSTR *strObjectText) { + return This->lpVtbl->GetObjectText_(This,iFlags,strObjectText); +} +static inline HRESULT ISWbemObject_SpawnDerivedClass_(ISWbemObject* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemObject_SpawnInstance_(ISWbemObject* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemObject_CompareTo_(ISWbemObject* This,IDispatch *objWbemObject,LONG iFlags,VARIANT_BOOL *bResult) { + return This->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult); +} +static inline HRESULT ISWbemObject_get_Qualifiers_(ISWbemObject* This,ISWbemQualifierSet **objWbemQualifierSet) { + return This->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet); +} +static inline HRESULT ISWbemObject_get_Properties_(ISWbemObject* This,ISWbemPropertySet **objWbemPropertySet) { + return This->lpVtbl->get_Properties_(This,objWbemPropertySet); +} +static inline HRESULT ISWbemObject_get_Methods_(ISWbemObject* This,ISWbemMethodSet **objWbemMethodSet) { + return This->lpVtbl->get_Methods_(This,objWbemMethodSet); +} +static inline HRESULT ISWbemObject_get_Derivation_(ISWbemObject* This,VARIANT *strClassNameArray) { + return This->lpVtbl->get_Derivation_(This,strClassNameArray); +} +static inline HRESULT ISWbemObject_get_Path_(ISWbemObject* This,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->get_Path_(This,objWbemObjectPath); +} +static inline HRESULT ISWbemObject_get_Security_(ISWbemObject* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemObject_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemObjectEx interface + */ +#ifndef __ISWbemObjectEx_INTERFACE_DEFINED__ +#define __ISWbemObjectEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemObjectEx, 0x269ad56a, 0x8a67, 0x4129, 0xbc,0x8c, 0x05,0x06,0xdc,0xfe,0x98,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("269ad56a-8a67-4129-bc8c-0506dcfe9880") +ISWbemObjectEx : public ISWbemObject +{ + virtual HRESULT STDMETHODCALLTYPE Refresh_( + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SystemProperties_( + ISWbemPropertySet **objWbemPropertySet) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetText_( + WbemObjectTextFormatEnum iObjectTextFormat, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + BSTR *bsText = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFromText_( + BSTR bsText, + WbemObjectTextFormatEnum iObjectTextFormat, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemObjectEx, 0x269ad56a, 0x8a67, 0x4129, 0xbc,0x8c, 0x05,0x06,0xdc,0xfe,0x98,0x80) +#endif +#else +typedef struct ISWbemObjectExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemObjectEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemObjectEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemObjectEx *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemObjectEx *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemObjectEx *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemObjectEx *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemObjectEx *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Put_)( + ISWbemObjectEx *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *PutAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Delete_)( + ISWbemObjectEx *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Instances_)( + ISWbemObjectEx *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *InstancesAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Subclasses_)( + ISWbemObjectEx *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *SubclassesAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Associators_)( + ISWbemObjectEx *This, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *AssociatorsAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *References_)( + ISWbemObjectEx *This, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ReferencesAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecMethod_)( + ISWbemObjectEx *This, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync_)( + ISWbemObjectEx *This, + IDispatch *objWbemSink, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Clone_)( + ISWbemObjectEx *This, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *GetObjectText_)( + ISWbemObjectEx *This, + LONG iFlags, + BSTR *strObjectText); + + HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass_)( + ISWbemObjectEx *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *SpawnInstance_)( + ISWbemObjectEx *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *CompareTo_)( + ISWbemObjectEx *This, + IDispatch *objWbemObject, + LONG iFlags, + VARIANT_BOOL *bResult); + + HRESULT (STDMETHODCALLTYPE *get_Qualifiers_)( + ISWbemObjectEx *This, + ISWbemQualifierSet **objWbemQualifierSet); + + HRESULT (STDMETHODCALLTYPE *get_Properties_)( + ISWbemObjectEx *This, + ISWbemPropertySet **objWbemPropertySet); + + HRESULT (STDMETHODCALLTYPE *get_Methods_)( + ISWbemObjectEx *This, + ISWbemMethodSet **objWbemMethodSet); + + HRESULT (STDMETHODCALLTYPE *get_Derivation_)( + ISWbemObjectEx *This, + VARIANT *strClassNameArray); + + HRESULT (STDMETHODCALLTYPE *get_Path_)( + ISWbemObjectEx *This, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemObjectEx *This, + ISWbemSecurity **objWbemSecurity); + + /*** ISWbemObjectEx methods ***/ + HRESULT (STDMETHODCALLTYPE *Refresh_)( + ISWbemObjectEx *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *get_SystemProperties_)( + ISWbemObjectEx *This, + ISWbemPropertySet **objWbemPropertySet); + + HRESULT (STDMETHODCALLTYPE *GetText_)( + ISWbemObjectEx *This, + WbemObjectTextFormatEnum iObjectTextFormat, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + BSTR *bsText); + + HRESULT (STDMETHODCALLTYPE *SetFromText_)( + ISWbemObjectEx *This, + BSTR bsText, + WbemObjectTextFormatEnum iObjectTextFormat, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + END_INTERFACE +} ISWbemObjectExVtbl; + +interface ISWbemObjectEx { + CONST_VTBL ISWbemObjectExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemObjectEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemObjectEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemObjectEx_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemObjectEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemObjectEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemObjectEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemObjectEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemObject methods ***/ +#define ISWbemObjectEx_Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) (This)->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) +#define ISWbemObjectEx_PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_Delete_(This,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet) +#define ISWbemObjectEx_DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObjectEx_InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObjectEx_SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObjectEx_AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemObjectEx_ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) (This)->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) +#define ISWbemObjectEx_ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemObjectEx_Clone_(This,objWbemObject) (This)->lpVtbl->Clone_(This,objWbemObject) +#define ISWbemObjectEx_GetObjectText_(This,iFlags,strObjectText) (This)->lpVtbl->GetObjectText_(This,iFlags,strObjectText) +#define ISWbemObjectEx_SpawnDerivedClass_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject) +#define ISWbemObjectEx_SpawnInstance_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject) +#define ISWbemObjectEx_CompareTo_(This,objWbemObject,iFlags,bResult) (This)->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult) +#define ISWbemObjectEx_get_Qualifiers_(This,objWbemQualifierSet) (This)->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet) +#define ISWbemObjectEx_get_Properties_(This,objWbemPropertySet) (This)->lpVtbl->get_Properties_(This,objWbemPropertySet) +#define ISWbemObjectEx_get_Methods_(This,objWbemMethodSet) (This)->lpVtbl->get_Methods_(This,objWbemMethodSet) +#define ISWbemObjectEx_get_Derivation_(This,strClassNameArray) (This)->lpVtbl->get_Derivation_(This,strClassNameArray) +#define ISWbemObjectEx_get_Path_(This,objWbemObjectPath) (This)->lpVtbl->get_Path_(This,objWbemObjectPath) +#define ISWbemObjectEx_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +/*** ISWbemObjectEx methods ***/ +#define ISWbemObjectEx_Refresh_(This,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Refresh_(This,iFlags,objWbemNamedValueSet) +#define ISWbemObjectEx_get_SystemProperties_(This,objWbemPropertySet) (This)->lpVtbl->get_SystemProperties_(This,objWbemPropertySet) +#define ISWbemObjectEx_GetText_(This,iObjectTextFormat,iFlags,objWbemNamedValueSet,bsText) (This)->lpVtbl->GetText_(This,iObjectTextFormat,iFlags,objWbemNamedValueSet,bsText) +#define ISWbemObjectEx_SetFromText_(This,bsText,iObjectTextFormat,iFlags,objWbemNamedValueSet) (This)->lpVtbl->SetFromText_(This,bsText,iObjectTextFormat,iFlags,objWbemNamedValueSet) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemObjectEx_QueryInterface(ISWbemObjectEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemObjectEx_AddRef(ISWbemObjectEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemObjectEx_Release(ISWbemObjectEx* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemObjectEx_GetTypeInfoCount(ISWbemObjectEx* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemObjectEx_GetTypeInfo(ISWbemObjectEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemObjectEx_GetIDsOfNames(ISWbemObjectEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemObjectEx_Invoke(ISWbemObjectEx* 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); +} +/*** ISWbemObject methods ***/ +static inline HRESULT ISWbemObjectEx_Put_(ISWbemObjectEx* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath); +} +static inline HRESULT ISWbemObjectEx_PutAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_Delete_(ISWbemObjectEx* This,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemObjectEx_DeleteAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_Instances_(ISWbemObjectEx* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObjectEx_InstancesAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_Subclasses_(ISWbemObjectEx* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObjectEx_SubclassesAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_Associators_(ISWbemObjectEx* This,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObjectEx_AssociatorsAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_References_(ISWbemObjectEx* This,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemObjectEx_ReferencesAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_ExecMethod_(ISWbemObjectEx* This,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters); +} +static inline HRESULT ISWbemObjectEx_ExecMethodAsync_(ISWbemObjectEx* This,IDispatch *objWbemSink,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemObjectEx_Clone_(ISWbemObjectEx* This,ISWbemObject **objWbemObject) { + return This->lpVtbl->Clone_(This,objWbemObject); +} +static inline HRESULT ISWbemObjectEx_GetObjectText_(ISWbemObjectEx* This,LONG iFlags,BSTR *strObjectText) { + return This->lpVtbl->GetObjectText_(This,iFlags,strObjectText); +} +static inline HRESULT ISWbemObjectEx_SpawnDerivedClass_(ISWbemObjectEx* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemObjectEx_SpawnInstance_(ISWbemObjectEx* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemObjectEx_CompareTo_(ISWbemObjectEx* This,IDispatch *objWbemObject,LONG iFlags,VARIANT_BOOL *bResult) { + return This->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult); +} +static inline HRESULT ISWbemObjectEx_get_Qualifiers_(ISWbemObjectEx* This,ISWbemQualifierSet **objWbemQualifierSet) { + return This->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet); +} +static inline HRESULT ISWbemObjectEx_get_Properties_(ISWbemObjectEx* This,ISWbemPropertySet **objWbemPropertySet) { + return This->lpVtbl->get_Properties_(This,objWbemPropertySet); +} +static inline HRESULT ISWbemObjectEx_get_Methods_(ISWbemObjectEx* This,ISWbemMethodSet **objWbemMethodSet) { + return This->lpVtbl->get_Methods_(This,objWbemMethodSet); +} +static inline HRESULT ISWbemObjectEx_get_Derivation_(ISWbemObjectEx* This,VARIANT *strClassNameArray) { + return This->lpVtbl->get_Derivation_(This,strClassNameArray); +} +static inline HRESULT ISWbemObjectEx_get_Path_(ISWbemObjectEx* This,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->get_Path_(This,objWbemObjectPath); +} +static inline HRESULT ISWbemObjectEx_get_Security_(ISWbemObjectEx* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +/*** ISWbemObjectEx methods ***/ +static inline HRESULT ISWbemObjectEx_Refresh_(ISWbemObjectEx* This,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Refresh_(This,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemObjectEx_get_SystemProperties_(ISWbemObjectEx* This,ISWbemPropertySet **objWbemPropertySet) { + return This->lpVtbl->get_SystemProperties_(This,objWbemPropertySet); +} +static inline HRESULT ISWbemObjectEx_GetText_(ISWbemObjectEx* This,WbemObjectTextFormatEnum iObjectTextFormat,LONG iFlags,IDispatch *objWbemNamedValueSet,BSTR *bsText) { + return This->lpVtbl->GetText_(This,iObjectTextFormat,iFlags,objWbemNamedValueSet,bsText); +} +static inline HRESULT ISWbemObjectEx_SetFromText_(ISWbemObjectEx* This,BSTR bsText,WbemObjectTextFormatEnum iObjectTextFormat,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->SetFromText_(This,bsText,iObjectTextFormat,iFlags,objWbemNamedValueSet); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemObjectEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemLastError interface + */ +#ifndef __ISWbemLastError_INTERFACE_DEFINED__ +#define __ISWbemLastError_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemLastError, 0xd962db84, 0xd4bb, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d962db84-d4bb-11d1-8b09-00600806d9b6") +ISWbemLastError : public ISWbemObject +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemLastError, 0xd962db84, 0xd4bb, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemLastErrorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemLastError *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemLastError *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemLastError *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemLastError *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemLastError *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemLastError *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemLastError *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemObject methods ***/ + HRESULT (STDMETHODCALLTYPE *Put_)( + ISWbemLastError *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *PutAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Delete_)( + ISWbemLastError *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Instances_)( + ISWbemLastError *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *InstancesAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Subclasses_)( + ISWbemLastError *This, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *SubclassesAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Associators_)( + ISWbemLastError *This, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *AssociatorsAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + BSTR strAssocClass, + BSTR strResultClass, + BSTR strResultRole, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredAssocQualifier, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *References_)( + ISWbemLastError *This, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *ReferencesAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + BSTR strResultClass, + BSTR strRole, + VARIANT_BOOL bClassesOnly, + VARIANT_BOOL bSchemaOnly, + BSTR strRequiredQualifier, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *ExecMethod_)( + ISWbemLastError *This, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *ExecMethodAsync_)( + ISWbemLastError *This, + IDispatch *objWbemSink, + BSTR strMethodName, + IDispatch *objWbemInParameters, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + IDispatch *objWbemAsyncContext); + + HRESULT (STDMETHODCALLTYPE *Clone_)( + ISWbemLastError *This, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *GetObjectText_)( + ISWbemLastError *This, + LONG iFlags, + BSTR *strObjectText); + + HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass_)( + ISWbemLastError *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *SpawnInstance_)( + ISWbemLastError *This, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *CompareTo_)( + ISWbemLastError *This, + IDispatch *objWbemObject, + LONG iFlags, + VARIANT_BOOL *bResult); + + HRESULT (STDMETHODCALLTYPE *get_Qualifiers_)( + ISWbemLastError *This, + ISWbemQualifierSet **objWbemQualifierSet); + + HRESULT (STDMETHODCALLTYPE *get_Properties_)( + ISWbemLastError *This, + ISWbemPropertySet **objWbemPropertySet); + + HRESULT (STDMETHODCALLTYPE *get_Methods_)( + ISWbemLastError *This, + ISWbemMethodSet **objWbemMethodSet); + + HRESULT (STDMETHODCALLTYPE *get_Derivation_)( + ISWbemLastError *This, + VARIANT *strClassNameArray); + + HRESULT (STDMETHODCALLTYPE *get_Path_)( + ISWbemLastError *This, + ISWbemObjectPath **objWbemObjectPath); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemLastError *This, + ISWbemSecurity **objWbemSecurity); + + END_INTERFACE +} ISWbemLastErrorVtbl; + +interface ISWbemLastError { + CONST_VTBL ISWbemLastErrorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemLastError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemLastError_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemLastError_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemLastError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemLastError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemLastError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemLastError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemObject methods ***/ +#define ISWbemLastError_Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) (This)->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath) +#define ISWbemLastError_PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_Delete_(This,iFlags,objWbemNamedValueSet) (This)->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet) +#define ISWbemLastError_DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemLastError_InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemLastError_SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemLastError_AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) (This)->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet) +#define ISWbemLastError_ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) (This)->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters) +#define ISWbemLastError_ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) (This)->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext) +#define ISWbemLastError_Clone_(This,objWbemObject) (This)->lpVtbl->Clone_(This,objWbemObject) +#define ISWbemLastError_GetObjectText_(This,iFlags,strObjectText) (This)->lpVtbl->GetObjectText_(This,iFlags,strObjectText) +#define ISWbemLastError_SpawnDerivedClass_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject) +#define ISWbemLastError_SpawnInstance_(This,iFlags,objWbemObject) (This)->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject) +#define ISWbemLastError_CompareTo_(This,objWbemObject,iFlags,bResult) (This)->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult) +#define ISWbemLastError_get_Qualifiers_(This,objWbemQualifierSet) (This)->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet) +#define ISWbemLastError_get_Properties_(This,objWbemPropertySet) (This)->lpVtbl->get_Properties_(This,objWbemPropertySet) +#define ISWbemLastError_get_Methods_(This,objWbemMethodSet) (This)->lpVtbl->get_Methods_(This,objWbemMethodSet) +#define ISWbemLastError_get_Derivation_(This,strClassNameArray) (This)->lpVtbl->get_Derivation_(This,strClassNameArray) +#define ISWbemLastError_get_Path_(This,objWbemObjectPath) (This)->lpVtbl->get_Path_(This,objWbemObjectPath) +#define ISWbemLastError_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemLastError_QueryInterface(ISWbemLastError* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemLastError_AddRef(ISWbemLastError* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemLastError_Release(ISWbemLastError* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemLastError_GetTypeInfoCount(ISWbemLastError* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemLastError_GetTypeInfo(ISWbemLastError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemLastError_GetIDsOfNames(ISWbemLastError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemLastError_Invoke(ISWbemLastError* 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); +} +/*** ISWbemObject methods ***/ +static inline HRESULT ISWbemLastError_Put_(ISWbemLastError* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->Put_(This,iFlags,objWbemNamedValueSet,objWbemObjectPath); +} +static inline HRESULT ISWbemLastError_PutAsync_(ISWbemLastError* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->PutAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_Delete_(ISWbemLastError* This,LONG iFlags,IDispatch *objWbemNamedValueSet) { + return This->lpVtbl->Delete_(This,iFlags,objWbemNamedValueSet); +} +static inline HRESULT ISWbemLastError_DeleteAsync_(ISWbemLastError* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->DeleteAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_Instances_(ISWbemLastError* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Instances_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemLastError_InstancesAsync_(ISWbemLastError* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->InstancesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_Subclasses_(ISWbemLastError* This,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Subclasses_(This,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemLastError_SubclassesAsync_(ISWbemLastError* This,IDispatch *objWbemSink,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->SubclassesAsync_(This,objWbemSink,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_Associators_(ISWbemLastError* This,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->Associators_(This,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemLastError_AssociatorsAsync_(ISWbemLastError* This,IDispatch *objWbemSink,BSTR strAssocClass,BSTR strResultClass,BSTR strResultRole,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredAssocQualifier,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->AssociatorsAsync_(This,objWbemSink,strAssocClass,strResultClass,strResultRole,strRole,bClassesOnly,bSchemaOnly,strRequiredAssocQualifier,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_References_(ISWbemLastError* This,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->References_(This,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemObjectSet); +} +static inline HRESULT ISWbemLastError_ReferencesAsync_(ISWbemLastError* This,IDispatch *objWbemSink,BSTR strResultClass,BSTR strRole,VARIANT_BOOL bClassesOnly,VARIANT_BOOL bSchemaOnly,BSTR strRequiredQualifier,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ReferencesAsync_(This,objWbemSink,strResultClass,strRole,bClassesOnly,bSchemaOnly,strRequiredQualifier,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_ExecMethod_(ISWbemLastError* This,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->ExecMethod_(This,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemOutParameters); +} +static inline HRESULT ISWbemLastError_ExecMethodAsync_(ISWbemLastError* This,IDispatch *objWbemSink,BSTR strMethodName,IDispatch *objWbemInParameters,LONG iFlags,IDispatch *objWbemNamedValueSet,IDispatch *objWbemAsyncContext) { + return This->lpVtbl->ExecMethodAsync_(This,objWbemSink,strMethodName,objWbemInParameters,iFlags,objWbemNamedValueSet,objWbemAsyncContext); +} +static inline HRESULT ISWbemLastError_Clone_(ISWbemLastError* This,ISWbemObject **objWbemObject) { + return This->lpVtbl->Clone_(This,objWbemObject); +} +static inline HRESULT ISWbemLastError_GetObjectText_(ISWbemLastError* This,LONG iFlags,BSTR *strObjectText) { + return This->lpVtbl->GetObjectText_(This,iFlags,strObjectText); +} +static inline HRESULT ISWbemLastError_SpawnDerivedClass_(ISWbemLastError* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnDerivedClass_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemLastError_SpawnInstance_(ISWbemLastError* This,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->SpawnInstance_(This,iFlags,objWbemObject); +} +static inline HRESULT ISWbemLastError_CompareTo_(ISWbemLastError* This,IDispatch *objWbemObject,LONG iFlags,VARIANT_BOOL *bResult) { + return This->lpVtbl->CompareTo_(This,objWbemObject,iFlags,bResult); +} +static inline HRESULT ISWbemLastError_get_Qualifiers_(ISWbemLastError* This,ISWbemQualifierSet **objWbemQualifierSet) { + return This->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet); +} +static inline HRESULT ISWbemLastError_get_Properties_(ISWbemLastError* This,ISWbemPropertySet **objWbemPropertySet) { + return This->lpVtbl->get_Properties_(This,objWbemPropertySet); +} +static inline HRESULT ISWbemLastError_get_Methods_(ISWbemLastError* This,ISWbemMethodSet **objWbemMethodSet) { + return This->lpVtbl->get_Methods_(This,objWbemMethodSet); +} +static inline HRESULT ISWbemLastError_get_Derivation_(ISWbemLastError* This,VARIANT *strClassNameArray) { + return This->lpVtbl->get_Derivation_(This,strClassNameArray); +} +static inline HRESULT ISWbemLastError_get_Path_(ISWbemLastError* This,ISWbemObjectPath **objWbemObjectPath) { + return This->lpVtbl->get_Path_(This,objWbemObjectPath); +} +static inline HRESULT ISWbemLastError_get_Security_(ISWbemLastError* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemLastError_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemObjectSet interface + */ +#ifndef __ISWbemObjectSet_INTERFACE_DEFINED__ +#define __ISWbemObjectSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemObjectSet, 0x76a6415f, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("76a6415f-cb41-11d1-8b02-00600806d9b6") +ISWbemObjectSet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + BSTR strObjectPath, + LONG iFlags = 0, + ISWbemObject **objWbemObject = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + + virtual HRESULT STDMETHODCALLTYPE ItemIndex( + LONG lIndex, + ISWbemObject **objWbemObject) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemObjectSet, 0x76a6415f, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemObjectSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemObjectSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemObjectSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemObjectSet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemObjectSet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemObjectSet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemObjectSet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemObjectSet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemObjectSet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemObjectSet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemObjectSet *This, + BSTR strObjectPath, + LONG iFlags, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemObjectSet *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemObjectSet *This, + ISWbemSecurity **objWbemSecurity); + + HRESULT (STDMETHODCALLTYPE *ItemIndex)( + ISWbemObjectSet *This, + LONG lIndex, + ISWbemObject **objWbemObject); + + END_INTERFACE +} ISWbemObjectSetVtbl; + +interface ISWbemObjectSet { + CONST_VTBL ISWbemObjectSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemObjectSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemObjectSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemObjectSet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemObjectSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemObjectSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemObjectSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemObjectSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemObjectSet methods ***/ +#define ISWbemObjectSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemObjectSet_Item(This,strObjectPath,iFlags,objWbemObject) (This)->lpVtbl->Item(This,strObjectPath,iFlags,objWbemObject) +#define ISWbemObjectSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemObjectSet_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#define ISWbemObjectSet_ItemIndex(This,lIndex,objWbemObject) (This)->lpVtbl->ItemIndex(This,lIndex,objWbemObject) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemObjectSet_QueryInterface(ISWbemObjectSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemObjectSet_AddRef(ISWbemObjectSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemObjectSet_Release(ISWbemObjectSet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemObjectSet_GetTypeInfoCount(ISWbemObjectSet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemObjectSet_GetTypeInfo(ISWbemObjectSet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemObjectSet_GetIDsOfNames(ISWbemObjectSet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemObjectSet_Invoke(ISWbemObjectSet* 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); +} +/*** ISWbemObjectSet methods ***/ +static inline HRESULT ISWbemObjectSet_get__NewEnum(ISWbemObjectSet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemObjectSet_Item(ISWbemObjectSet* This,BSTR strObjectPath,LONG iFlags,ISWbemObject **objWbemObject) { + return This->lpVtbl->Item(This,strObjectPath,iFlags,objWbemObject); +} +static inline HRESULT ISWbemObjectSet_get_Count(ISWbemObjectSet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemObjectSet_get_Security_(ISWbemObjectSet* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +static inline HRESULT ISWbemObjectSet_ItemIndex(ISWbemObjectSet* This,LONG lIndex,ISWbemObject **objWbemObject) { + return This->lpVtbl->ItemIndex(This,lIndex,objWbemObject); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemObjectSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemNamedValueSet interface + */ +#ifndef __ISWbemNamedValueSet_INTERFACE_DEFINED__ +#define __ISWbemNamedValueSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemNamedValueSet, 0xcf2376ea, 0xce8c, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cf2376ea-ce8c-11d1-8b05-00600806d9b6") +ISWbemNamedValueSet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + BSTR strName, + LONG iFlags = 0, + ISWbemNamedValue **objWbemNamedValue = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + BSTR strName, + VARIANT *varValue, + LONG iFlags = 0, + ISWbemNamedValue **objWbemNamedValue = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + BSTR strName, + LONG iFlags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + ISWbemNamedValueSet **objWbemNamedValueSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAll( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemNamedValueSet, 0xcf2376ea, 0xce8c, 0x11d1, 0x8b,0x05, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemNamedValueSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemNamedValueSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemNamedValueSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemNamedValueSet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemNamedValueSet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemNamedValueSet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemNamedValueSet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemNamedValueSet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemNamedValueSet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemNamedValueSet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemNamedValueSet *This, + BSTR strName, + LONG iFlags, + ISWbemNamedValue **objWbemNamedValue); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemNamedValueSet *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *Add)( + ISWbemNamedValueSet *This, + BSTR strName, + VARIANT *varValue, + LONG iFlags, + ISWbemNamedValue **objWbemNamedValue); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemNamedValueSet *This, + BSTR strName, + LONG iFlags); + + HRESULT (STDMETHODCALLTYPE *Clone)( + ISWbemNamedValueSet *This, + ISWbemNamedValueSet **objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *DeleteAll)( + ISWbemNamedValueSet *This); + + END_INTERFACE +} ISWbemNamedValueSetVtbl; + +interface ISWbemNamedValueSet { + CONST_VTBL ISWbemNamedValueSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemNamedValueSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemNamedValueSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemNamedValueSet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemNamedValueSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemNamedValueSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemNamedValueSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemNamedValueSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemNamedValueSet methods ***/ +#define ISWbemNamedValueSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemNamedValueSet_Item(This,strName,iFlags,objWbemNamedValue) (This)->lpVtbl->Item(This,strName,iFlags,objWbemNamedValue) +#define ISWbemNamedValueSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemNamedValueSet_Add(This,strName,varValue,iFlags,objWbemNamedValue) (This)->lpVtbl->Add(This,strName,varValue,iFlags,objWbemNamedValue) +#define ISWbemNamedValueSet_Remove(This,strName,iFlags) (This)->lpVtbl->Remove(This,strName,iFlags) +#define ISWbemNamedValueSet_Clone(This,objWbemNamedValueSet) (This)->lpVtbl->Clone(This,objWbemNamedValueSet) +#define ISWbemNamedValueSet_DeleteAll(This) (This)->lpVtbl->DeleteAll(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemNamedValueSet_QueryInterface(ISWbemNamedValueSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemNamedValueSet_AddRef(ISWbemNamedValueSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemNamedValueSet_Release(ISWbemNamedValueSet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemNamedValueSet_GetTypeInfoCount(ISWbemNamedValueSet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemNamedValueSet_GetTypeInfo(ISWbemNamedValueSet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemNamedValueSet_GetIDsOfNames(ISWbemNamedValueSet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemNamedValueSet_Invoke(ISWbemNamedValueSet* 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); +} +/*** ISWbemNamedValueSet methods ***/ +static inline HRESULT ISWbemNamedValueSet_get__NewEnum(ISWbemNamedValueSet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemNamedValueSet_Item(ISWbemNamedValueSet* This,BSTR strName,LONG iFlags,ISWbemNamedValue **objWbemNamedValue) { + return This->lpVtbl->Item(This,strName,iFlags,objWbemNamedValue); +} +static inline HRESULT ISWbemNamedValueSet_get_Count(ISWbemNamedValueSet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemNamedValueSet_Add(ISWbemNamedValueSet* This,BSTR strName,VARIANT *varValue,LONG iFlags,ISWbemNamedValue **objWbemNamedValue) { + return This->lpVtbl->Add(This,strName,varValue,iFlags,objWbemNamedValue); +} +static inline HRESULT ISWbemNamedValueSet_Remove(ISWbemNamedValueSet* This,BSTR strName,LONG iFlags) { + return This->lpVtbl->Remove(This,strName,iFlags); +} +static inline HRESULT ISWbemNamedValueSet_Clone(ISWbemNamedValueSet* This,ISWbemNamedValueSet **objWbemNamedValueSet) { + return This->lpVtbl->Clone(This,objWbemNamedValueSet); +} +static inline HRESULT ISWbemNamedValueSet_DeleteAll(ISWbemNamedValueSet* This) { + return This->lpVtbl->DeleteAll(This); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemNamedValueSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemNamedValue interface + */ +#ifndef __ISWbemNamedValue_INTERFACE_DEFINED__ +#define __ISWbemNamedValue_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemNamedValue, 0x76a64164, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("76a64164-cb41-11d1-8b02-00600806d9b6") +ISWbemNamedValue : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *strName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemNamedValue, 0x76a64164, 0xcb41, 0x11d1, 0x8b,0x02, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemNamedValueVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemNamedValue *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemNamedValue *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemNamedValue *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemNamedValue *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemNamedValue *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemNamedValue *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemNamedValue *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemNamedValue methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Value)( + ISWbemNamedValue *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *put_Value)( + ISWbemNamedValue *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + ISWbemNamedValue *This, + BSTR *strName); + + END_INTERFACE +} ISWbemNamedValueVtbl; + +interface ISWbemNamedValue { + CONST_VTBL ISWbemNamedValueVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemNamedValue_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemNamedValue_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemNamedValue_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemNamedValue_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemNamedValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemNamedValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemNamedValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemNamedValue methods ***/ +#define ISWbemNamedValue_get_Value(This,varValue) (This)->lpVtbl->get_Value(This,varValue) +#define ISWbemNamedValue_put_Value(This,varValue) (This)->lpVtbl->put_Value(This,varValue) +#define ISWbemNamedValue_get_Name(This,strName) (This)->lpVtbl->get_Name(This,strName) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemNamedValue_QueryInterface(ISWbemNamedValue* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemNamedValue_AddRef(ISWbemNamedValue* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemNamedValue_Release(ISWbemNamedValue* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemNamedValue_GetTypeInfoCount(ISWbemNamedValue* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemNamedValue_GetTypeInfo(ISWbemNamedValue* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemNamedValue_GetIDsOfNames(ISWbemNamedValue* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemNamedValue_Invoke(ISWbemNamedValue* 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); +} +/*** ISWbemNamedValue methods ***/ +static inline HRESULT ISWbemNamedValue_get_Value(ISWbemNamedValue* This,VARIANT *varValue) { + return This->lpVtbl->get_Value(This,varValue); +} +static inline HRESULT ISWbemNamedValue_put_Value(ISWbemNamedValue* This,VARIANT *varValue) { + return This->lpVtbl->put_Value(This,varValue); +} +static inline HRESULT ISWbemNamedValue_get_Name(ISWbemNamedValue* This,BSTR *strName) { + return This->lpVtbl->get_Name(This,strName); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemNamedValue_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemObjectPath interface + */ +#ifndef __ISWbemObjectPath_INTERFACE_DEFINED__ +#define __ISWbemObjectPath_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemObjectPath, 0x5791bc27, 0xce9c, 0x11d1, 0x97,0xbf, 0x00,0x00,0xf8,0x1e,0x84,0x9c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5791bc27-ce9c-11d1-97bf-0000f81e849c") +ISWbemObjectPath : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Path( + BSTR *strPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Path( + BSTR strPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RelPath( + BSTR *strRelPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_RelPath( + BSTR strRelPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Server( + BSTR *strServer) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Server( + BSTR strServer) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Namespace( + BSTR *strNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Namespace( + BSTR strNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ParentNamespace( + BSTR *strParentNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DisplayName( + BSTR *strDisplayName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DisplayName( + BSTR strDisplayName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Class( + BSTR *strClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Class( + BSTR strClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsClass( + VARIANT_BOOL *bIsClass) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAsClass( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsSingleton( + VARIANT_BOOL *bIsSingleton) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAsSingleton( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Keys( + ISWbemNamedValueSet **objWbemNamedValueSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Locale( + BSTR *strLocale) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Locale( + BSTR strLocale) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Authority( + BSTR *strAuthority) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Authority( + BSTR strAuthority) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemObjectPath, 0x5791bc27, 0xce9c, 0x11d1, 0x97,0xbf, 0x00,0x00,0xf8,0x1e,0x84,0x9c) +#endif +#else +typedef struct ISWbemObjectPathVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemObjectPath *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemObjectPath *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemObjectPath *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemObjectPath *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemObjectPath *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemObjectPath *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemObjectPath *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemObjectPath methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Path)( + ISWbemObjectPath *This, + BSTR *strPath); + + HRESULT (STDMETHODCALLTYPE *put_Path)( + ISWbemObjectPath *This, + BSTR strPath); + + HRESULT (STDMETHODCALLTYPE *get_RelPath)( + ISWbemObjectPath *This, + BSTR *strRelPath); + + HRESULT (STDMETHODCALLTYPE *put_RelPath)( + ISWbemObjectPath *This, + BSTR strRelPath); + + HRESULT (STDMETHODCALLTYPE *get_Server)( + ISWbemObjectPath *This, + BSTR *strServer); + + HRESULT (STDMETHODCALLTYPE *put_Server)( + ISWbemObjectPath *This, + BSTR strServer); + + HRESULT (STDMETHODCALLTYPE *get_Namespace)( + ISWbemObjectPath *This, + BSTR *strNamespace); + + HRESULT (STDMETHODCALLTYPE *put_Namespace)( + ISWbemObjectPath *This, + BSTR strNamespace); + + HRESULT (STDMETHODCALLTYPE *get_ParentNamespace)( + ISWbemObjectPath *This, + BSTR *strParentNamespace); + + HRESULT (STDMETHODCALLTYPE *get_DisplayName)( + ISWbemObjectPath *This, + BSTR *strDisplayName); + + HRESULT (STDMETHODCALLTYPE *put_DisplayName)( + ISWbemObjectPath *This, + BSTR strDisplayName); + + HRESULT (STDMETHODCALLTYPE *get_Class)( + ISWbemObjectPath *This, + BSTR *strClass); + + HRESULT (STDMETHODCALLTYPE *put_Class)( + ISWbemObjectPath *This, + BSTR strClass); + + HRESULT (STDMETHODCALLTYPE *get_IsClass)( + ISWbemObjectPath *This, + VARIANT_BOOL *bIsClass); + + HRESULT (STDMETHODCALLTYPE *SetAsClass)( + ISWbemObjectPath *This); + + HRESULT (STDMETHODCALLTYPE *get_IsSingleton)( + ISWbemObjectPath *This, + VARIANT_BOOL *bIsSingleton); + + HRESULT (STDMETHODCALLTYPE *SetAsSingleton)( + ISWbemObjectPath *This); + + HRESULT (STDMETHODCALLTYPE *get_Keys)( + ISWbemObjectPath *This, + ISWbemNamedValueSet **objWbemNamedValueSet); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemObjectPath *This, + ISWbemSecurity **objWbemSecurity); + + HRESULT (STDMETHODCALLTYPE *get_Locale)( + ISWbemObjectPath *This, + BSTR *strLocale); + + HRESULT (STDMETHODCALLTYPE *put_Locale)( + ISWbemObjectPath *This, + BSTR strLocale); + + HRESULT (STDMETHODCALLTYPE *get_Authority)( + ISWbemObjectPath *This, + BSTR *strAuthority); + + HRESULT (STDMETHODCALLTYPE *put_Authority)( + ISWbemObjectPath *This, + BSTR strAuthority); + + END_INTERFACE +} ISWbemObjectPathVtbl; + +interface ISWbemObjectPath { + CONST_VTBL ISWbemObjectPathVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemObjectPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemObjectPath_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemObjectPath_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemObjectPath_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemObjectPath_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemObjectPath_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemObjectPath_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemObjectPath methods ***/ +#define ISWbemObjectPath_get_Path(This,strPath) (This)->lpVtbl->get_Path(This,strPath) +#define ISWbemObjectPath_put_Path(This,strPath) (This)->lpVtbl->put_Path(This,strPath) +#define ISWbemObjectPath_get_RelPath(This,strRelPath) (This)->lpVtbl->get_RelPath(This,strRelPath) +#define ISWbemObjectPath_put_RelPath(This,strRelPath) (This)->lpVtbl->put_RelPath(This,strRelPath) +#define ISWbemObjectPath_get_Server(This,strServer) (This)->lpVtbl->get_Server(This,strServer) +#define ISWbemObjectPath_put_Server(This,strServer) (This)->lpVtbl->put_Server(This,strServer) +#define ISWbemObjectPath_get_Namespace(This,strNamespace) (This)->lpVtbl->get_Namespace(This,strNamespace) +#define ISWbemObjectPath_put_Namespace(This,strNamespace) (This)->lpVtbl->put_Namespace(This,strNamespace) +#define ISWbemObjectPath_get_ParentNamespace(This,strParentNamespace) (This)->lpVtbl->get_ParentNamespace(This,strParentNamespace) +#define ISWbemObjectPath_get_DisplayName(This,strDisplayName) (This)->lpVtbl->get_DisplayName(This,strDisplayName) +#define ISWbemObjectPath_put_DisplayName(This,strDisplayName) (This)->lpVtbl->put_DisplayName(This,strDisplayName) +#define ISWbemObjectPath_get_Class(This,strClass) (This)->lpVtbl->get_Class(This,strClass) +#define ISWbemObjectPath_put_Class(This,strClass) (This)->lpVtbl->put_Class(This,strClass) +#define ISWbemObjectPath_get_IsClass(This,bIsClass) (This)->lpVtbl->get_IsClass(This,bIsClass) +#define ISWbemObjectPath_SetAsClass(This) (This)->lpVtbl->SetAsClass(This) +#define ISWbemObjectPath_get_IsSingleton(This,bIsSingleton) (This)->lpVtbl->get_IsSingleton(This,bIsSingleton) +#define ISWbemObjectPath_SetAsSingleton(This) (This)->lpVtbl->SetAsSingleton(This) +#define ISWbemObjectPath_get_Keys(This,objWbemNamedValueSet) (This)->lpVtbl->get_Keys(This,objWbemNamedValueSet) +#define ISWbemObjectPath_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#define ISWbemObjectPath_get_Locale(This,strLocale) (This)->lpVtbl->get_Locale(This,strLocale) +#define ISWbemObjectPath_put_Locale(This,strLocale) (This)->lpVtbl->put_Locale(This,strLocale) +#define ISWbemObjectPath_get_Authority(This,strAuthority) (This)->lpVtbl->get_Authority(This,strAuthority) +#define ISWbemObjectPath_put_Authority(This,strAuthority) (This)->lpVtbl->put_Authority(This,strAuthority) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemObjectPath_QueryInterface(ISWbemObjectPath* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemObjectPath_AddRef(ISWbemObjectPath* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemObjectPath_Release(ISWbemObjectPath* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemObjectPath_GetTypeInfoCount(ISWbemObjectPath* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemObjectPath_GetTypeInfo(ISWbemObjectPath* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemObjectPath_GetIDsOfNames(ISWbemObjectPath* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemObjectPath_Invoke(ISWbemObjectPath* 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); +} +/*** ISWbemObjectPath methods ***/ +static inline HRESULT ISWbemObjectPath_get_Path(ISWbemObjectPath* This,BSTR *strPath) { + return This->lpVtbl->get_Path(This,strPath); +} +static inline HRESULT ISWbemObjectPath_put_Path(ISWbemObjectPath* This,BSTR strPath) { + return This->lpVtbl->put_Path(This,strPath); +} +static inline HRESULT ISWbemObjectPath_get_RelPath(ISWbemObjectPath* This,BSTR *strRelPath) { + return This->lpVtbl->get_RelPath(This,strRelPath); +} +static inline HRESULT ISWbemObjectPath_put_RelPath(ISWbemObjectPath* This,BSTR strRelPath) { + return This->lpVtbl->put_RelPath(This,strRelPath); +} +static inline HRESULT ISWbemObjectPath_get_Server(ISWbemObjectPath* This,BSTR *strServer) { + return This->lpVtbl->get_Server(This,strServer); +} +static inline HRESULT ISWbemObjectPath_put_Server(ISWbemObjectPath* This,BSTR strServer) { + return This->lpVtbl->put_Server(This,strServer); +} +static inline HRESULT ISWbemObjectPath_get_Namespace(ISWbemObjectPath* This,BSTR *strNamespace) { + return This->lpVtbl->get_Namespace(This,strNamespace); +} +static inline HRESULT ISWbemObjectPath_put_Namespace(ISWbemObjectPath* This,BSTR strNamespace) { + return This->lpVtbl->put_Namespace(This,strNamespace); +} +static inline HRESULT ISWbemObjectPath_get_ParentNamespace(ISWbemObjectPath* This,BSTR *strParentNamespace) { + return This->lpVtbl->get_ParentNamespace(This,strParentNamespace); +} +static inline HRESULT ISWbemObjectPath_get_DisplayName(ISWbemObjectPath* This,BSTR *strDisplayName) { + return This->lpVtbl->get_DisplayName(This,strDisplayName); +} +static inline HRESULT ISWbemObjectPath_put_DisplayName(ISWbemObjectPath* This,BSTR strDisplayName) { + return This->lpVtbl->put_DisplayName(This,strDisplayName); +} +static inline HRESULT ISWbemObjectPath_get_Class(ISWbemObjectPath* This,BSTR *strClass) { + return This->lpVtbl->get_Class(This,strClass); +} +static inline HRESULT ISWbemObjectPath_put_Class(ISWbemObjectPath* This,BSTR strClass) { + return This->lpVtbl->put_Class(This,strClass); +} +static inline HRESULT ISWbemObjectPath_get_IsClass(ISWbemObjectPath* This,VARIANT_BOOL *bIsClass) { + return This->lpVtbl->get_IsClass(This,bIsClass); +} +static inline HRESULT ISWbemObjectPath_SetAsClass(ISWbemObjectPath* This) { + return This->lpVtbl->SetAsClass(This); +} +static inline HRESULT ISWbemObjectPath_get_IsSingleton(ISWbemObjectPath* This,VARIANT_BOOL *bIsSingleton) { + return This->lpVtbl->get_IsSingleton(This,bIsSingleton); +} +static inline HRESULT ISWbemObjectPath_SetAsSingleton(ISWbemObjectPath* This) { + return This->lpVtbl->SetAsSingleton(This); +} +static inline HRESULT ISWbemObjectPath_get_Keys(ISWbemObjectPath* This,ISWbemNamedValueSet **objWbemNamedValueSet) { + return This->lpVtbl->get_Keys(This,objWbemNamedValueSet); +} +static inline HRESULT ISWbemObjectPath_get_Security_(ISWbemObjectPath* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +static inline HRESULT ISWbemObjectPath_get_Locale(ISWbemObjectPath* This,BSTR *strLocale) { + return This->lpVtbl->get_Locale(This,strLocale); +} +static inline HRESULT ISWbemObjectPath_put_Locale(ISWbemObjectPath* This,BSTR strLocale) { + return This->lpVtbl->put_Locale(This,strLocale); +} +static inline HRESULT ISWbemObjectPath_get_Authority(ISWbemObjectPath* This,BSTR *strAuthority) { + return This->lpVtbl->get_Authority(This,strAuthority); +} +static inline HRESULT ISWbemObjectPath_put_Authority(ISWbemObjectPath* This,BSTR strAuthority) { + return This->lpVtbl->put_Authority(This,strAuthority); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemObjectPath_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemProperty interface + */ +#ifndef __ISWbemProperty_INTERFACE_DEFINED__ +#define __ISWbemProperty_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemProperty, 0x1a388f98, 0xd4ba, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1a388f98-d4ba-11d1-8b09-00600806d9b6") +ISWbemProperty : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *strName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsLocal( + VARIANT_BOOL *bIsLocal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Origin( + BSTR *strOrigin) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CIMType( + WbemCimtypeEnum *iCimType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Qualifiers_( + ISWbemQualifierSet **objWbemQualifierSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsArray( + VARIANT_BOOL *bIsArray) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemProperty, 0x1a388f98, 0xd4ba, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemPropertyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemProperty *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemProperty *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemProperty *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemProperty *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemProperty *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemProperty *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemProperty *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemProperty methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Value)( + ISWbemProperty *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *put_Value)( + ISWbemProperty *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + ISWbemProperty *This, + BSTR *strName); + + HRESULT (STDMETHODCALLTYPE *get_IsLocal)( + ISWbemProperty *This, + VARIANT_BOOL *bIsLocal); + + HRESULT (STDMETHODCALLTYPE *get_Origin)( + ISWbemProperty *This, + BSTR *strOrigin); + + HRESULT (STDMETHODCALLTYPE *get_CIMType)( + ISWbemProperty *This, + WbemCimtypeEnum *iCimType); + + HRESULT (STDMETHODCALLTYPE *get_Qualifiers_)( + ISWbemProperty *This, + ISWbemQualifierSet **objWbemQualifierSet); + + HRESULT (STDMETHODCALLTYPE *get_IsArray)( + ISWbemProperty *This, + VARIANT_BOOL *bIsArray); + + END_INTERFACE +} ISWbemPropertyVtbl; + +interface ISWbemProperty { + CONST_VTBL ISWbemPropertyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemProperty_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemProperty_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemProperty_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemProperty methods ***/ +#define ISWbemProperty_get_Value(This,varValue) (This)->lpVtbl->get_Value(This,varValue) +#define ISWbemProperty_put_Value(This,varValue) (This)->lpVtbl->put_Value(This,varValue) +#define ISWbemProperty_get_Name(This,strName) (This)->lpVtbl->get_Name(This,strName) +#define ISWbemProperty_get_IsLocal(This,bIsLocal) (This)->lpVtbl->get_IsLocal(This,bIsLocal) +#define ISWbemProperty_get_Origin(This,strOrigin) (This)->lpVtbl->get_Origin(This,strOrigin) +#define ISWbemProperty_get_CIMType(This,iCimType) (This)->lpVtbl->get_CIMType(This,iCimType) +#define ISWbemProperty_get_Qualifiers_(This,objWbemQualifierSet) (This)->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet) +#define ISWbemProperty_get_IsArray(This,bIsArray) (This)->lpVtbl->get_IsArray(This,bIsArray) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemProperty_QueryInterface(ISWbemProperty* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemProperty_AddRef(ISWbemProperty* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemProperty_Release(ISWbemProperty* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemProperty_GetTypeInfoCount(ISWbemProperty* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemProperty_GetTypeInfo(ISWbemProperty* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemProperty_GetIDsOfNames(ISWbemProperty* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemProperty_Invoke(ISWbemProperty* 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); +} +/*** ISWbemProperty methods ***/ +static inline HRESULT ISWbemProperty_get_Value(ISWbemProperty* This,VARIANT *varValue) { + return This->lpVtbl->get_Value(This,varValue); +} +static inline HRESULT ISWbemProperty_put_Value(ISWbemProperty* This,VARIANT *varValue) { + return This->lpVtbl->put_Value(This,varValue); +} +static inline HRESULT ISWbemProperty_get_Name(ISWbemProperty* This,BSTR *strName) { + return This->lpVtbl->get_Name(This,strName); +} +static inline HRESULT ISWbemProperty_get_IsLocal(ISWbemProperty* This,VARIANT_BOOL *bIsLocal) { + return This->lpVtbl->get_IsLocal(This,bIsLocal); +} +static inline HRESULT ISWbemProperty_get_Origin(ISWbemProperty* This,BSTR *strOrigin) { + return This->lpVtbl->get_Origin(This,strOrigin); +} +static inline HRESULT ISWbemProperty_get_CIMType(ISWbemProperty* This,WbemCimtypeEnum *iCimType) { + return This->lpVtbl->get_CIMType(This,iCimType); +} +static inline HRESULT ISWbemProperty_get_Qualifiers_(ISWbemProperty* This,ISWbemQualifierSet **objWbemQualifierSet) { + return This->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet); +} +static inline HRESULT ISWbemProperty_get_IsArray(ISWbemProperty* This,VARIANT_BOOL *bIsArray) { + return This->lpVtbl->get_IsArray(This,bIsArray); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemProperty_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemPropertySet interface + */ +#ifndef __ISWbemPropertySet_INTERFACE_DEFINED__ +#define __ISWbemPropertySet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemPropertySet, 0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dea0a7b2-d4ba-11d1-8b09-00600806d9b6") +ISWbemPropertySet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + BSTR strName, + LONG iFlags = 0, + ISWbemProperty **objWbemProperty = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + BSTR strName, + WbemCimtypeEnum iCIMType, + VARIANT_BOOL bIsArray = FALSE, + LONG iFlags = 0, + ISWbemProperty **objWbemProperty = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + BSTR strName, + LONG iFlags = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemPropertySet, 0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemPropertySetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemPropertySet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemPropertySet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemPropertySet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemPropertySet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemPropertySet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemPropertySet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemPropertySet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemPropertySet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemPropertySet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemPropertySet *This, + BSTR strName, + LONG iFlags, + ISWbemProperty **objWbemProperty); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemPropertySet *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *Add)( + ISWbemPropertySet *This, + BSTR strName, + WbemCimtypeEnum iCIMType, + VARIANT_BOOL bIsArray, + LONG iFlags, + ISWbemProperty **objWbemProperty); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemPropertySet *This, + BSTR strName, + LONG iFlags); + + END_INTERFACE +} ISWbemPropertySetVtbl; + +interface ISWbemPropertySet { + CONST_VTBL ISWbemPropertySetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemPropertySet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemPropertySet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemPropertySet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemPropertySet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemPropertySet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemPropertySet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemPropertySet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemPropertySet methods ***/ +#define ISWbemPropertySet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemPropertySet_Item(This,strName,iFlags,objWbemProperty) (This)->lpVtbl->Item(This,strName,iFlags,objWbemProperty) +#define ISWbemPropertySet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemPropertySet_Add(This,strName,iCIMType,bIsArray,iFlags,objWbemProperty) (This)->lpVtbl->Add(This,strName,iCIMType,bIsArray,iFlags,objWbemProperty) +#define ISWbemPropertySet_Remove(This,strName,iFlags) (This)->lpVtbl->Remove(This,strName,iFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemPropertySet_QueryInterface(ISWbemPropertySet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemPropertySet_AddRef(ISWbemPropertySet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemPropertySet_Release(ISWbemPropertySet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemPropertySet_GetTypeInfoCount(ISWbemPropertySet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemPropertySet_GetTypeInfo(ISWbemPropertySet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemPropertySet_GetIDsOfNames(ISWbemPropertySet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemPropertySet_Invoke(ISWbemPropertySet* 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); +} +/*** ISWbemPropertySet methods ***/ +static inline HRESULT ISWbemPropertySet_get__NewEnum(ISWbemPropertySet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemPropertySet_Item(ISWbemPropertySet* This,BSTR strName,LONG iFlags,ISWbemProperty **objWbemProperty) { + return This->lpVtbl->Item(This,strName,iFlags,objWbemProperty); +} +static inline HRESULT ISWbemPropertySet_get_Count(ISWbemPropertySet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemPropertySet_Add(ISWbemPropertySet* This,BSTR strName,WbemCimtypeEnum iCIMType,VARIANT_BOOL bIsArray,LONG iFlags,ISWbemProperty **objWbemProperty) { + return This->lpVtbl->Add(This,strName,iCIMType,bIsArray,iFlags,objWbemProperty); +} +static inline HRESULT ISWbemPropertySet_Remove(ISWbemPropertySet* This,BSTR strName,LONG iFlags) { + return This->lpVtbl->Remove(This,strName,iFlags); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemPropertySet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemQualifier interface + */ +#ifndef __ISWbemQualifier_INTERFACE_DEFINED__ +#define __ISWbemQualifier_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemQualifier, 0x79b05932, 0xd3b7, 0x11d1, 0x8b,0x06, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79b05932-d3b7-11d1-8b06-00600806d9b6") +ISWbemQualifier : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Value( + VARIANT *varValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *strName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsLocal( + VARIANT_BOOL *bIsLocal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PropagatesToSubclass( + VARIANT_BOOL *bPropagatesToSubclass) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PropagatesToSubclass( + VARIANT_BOOL bPropagatesToSubclass) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PropagatesToInstance( + VARIANT_BOOL *bPropagatesToInstance) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_PropagatesToInstance( + VARIANT_BOOL bPropagatesToInstance) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsOverridable( + VARIANT_BOOL *bIsOverridable) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsOverridable( + VARIANT_BOOL bIsOverridable) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsAmended( + VARIANT_BOOL *bIsAmended) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemQualifier, 0x79b05932, 0xd3b7, 0x11d1, 0x8b,0x06, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemQualifierVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemQualifier *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemQualifier *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemQualifier *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemQualifier *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemQualifier *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemQualifier *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemQualifier *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemQualifier methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Value)( + ISWbemQualifier *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *put_Value)( + ISWbemQualifier *This, + VARIANT *varValue); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + ISWbemQualifier *This, + BSTR *strName); + + HRESULT (STDMETHODCALLTYPE *get_IsLocal)( + ISWbemQualifier *This, + VARIANT_BOOL *bIsLocal); + + HRESULT (STDMETHODCALLTYPE *get_PropagatesToSubclass)( + ISWbemQualifier *This, + VARIANT_BOOL *bPropagatesToSubclass); + + HRESULT (STDMETHODCALLTYPE *put_PropagatesToSubclass)( + ISWbemQualifier *This, + VARIANT_BOOL bPropagatesToSubclass); + + HRESULT (STDMETHODCALLTYPE *get_PropagatesToInstance)( + ISWbemQualifier *This, + VARIANT_BOOL *bPropagatesToInstance); + + HRESULT (STDMETHODCALLTYPE *put_PropagatesToInstance)( + ISWbemQualifier *This, + VARIANT_BOOL bPropagatesToInstance); + + HRESULT (STDMETHODCALLTYPE *get_IsOverridable)( + ISWbemQualifier *This, + VARIANT_BOOL *bIsOverridable); + + HRESULT (STDMETHODCALLTYPE *put_IsOverridable)( + ISWbemQualifier *This, + VARIANT_BOOL bIsOverridable); + + HRESULT (STDMETHODCALLTYPE *get_IsAmended)( + ISWbemQualifier *This, + VARIANT_BOOL *bIsAmended); + + END_INTERFACE +} ISWbemQualifierVtbl; + +interface ISWbemQualifier { + CONST_VTBL ISWbemQualifierVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemQualifier_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemQualifier_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemQualifier_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemQualifier_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemQualifier_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemQualifier_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemQualifier_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemQualifier methods ***/ +#define ISWbemQualifier_get_Value(This,varValue) (This)->lpVtbl->get_Value(This,varValue) +#define ISWbemQualifier_put_Value(This,varValue) (This)->lpVtbl->put_Value(This,varValue) +#define ISWbemQualifier_get_Name(This,strName) (This)->lpVtbl->get_Name(This,strName) +#define ISWbemQualifier_get_IsLocal(This,bIsLocal) (This)->lpVtbl->get_IsLocal(This,bIsLocal) +#define ISWbemQualifier_get_PropagatesToSubclass(This,bPropagatesToSubclass) (This)->lpVtbl->get_PropagatesToSubclass(This,bPropagatesToSubclass) +#define ISWbemQualifier_put_PropagatesToSubclass(This,bPropagatesToSubclass) (This)->lpVtbl->put_PropagatesToSubclass(This,bPropagatesToSubclass) +#define ISWbemQualifier_get_PropagatesToInstance(This,bPropagatesToInstance) (This)->lpVtbl->get_PropagatesToInstance(This,bPropagatesToInstance) +#define ISWbemQualifier_put_PropagatesToInstance(This,bPropagatesToInstance) (This)->lpVtbl->put_PropagatesToInstance(This,bPropagatesToInstance) +#define ISWbemQualifier_get_IsOverridable(This,bIsOverridable) (This)->lpVtbl->get_IsOverridable(This,bIsOverridable) +#define ISWbemQualifier_put_IsOverridable(This,bIsOverridable) (This)->lpVtbl->put_IsOverridable(This,bIsOverridable) +#define ISWbemQualifier_get_IsAmended(This,bIsAmended) (This)->lpVtbl->get_IsAmended(This,bIsAmended) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemQualifier_QueryInterface(ISWbemQualifier* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemQualifier_AddRef(ISWbemQualifier* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemQualifier_Release(ISWbemQualifier* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemQualifier_GetTypeInfoCount(ISWbemQualifier* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemQualifier_GetTypeInfo(ISWbemQualifier* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemQualifier_GetIDsOfNames(ISWbemQualifier* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemQualifier_Invoke(ISWbemQualifier* 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); +} +/*** ISWbemQualifier methods ***/ +static inline HRESULT ISWbemQualifier_get_Value(ISWbemQualifier* This,VARIANT *varValue) { + return This->lpVtbl->get_Value(This,varValue); +} +static inline HRESULT ISWbemQualifier_put_Value(ISWbemQualifier* This,VARIANT *varValue) { + return This->lpVtbl->put_Value(This,varValue); +} +static inline HRESULT ISWbemQualifier_get_Name(ISWbemQualifier* This,BSTR *strName) { + return This->lpVtbl->get_Name(This,strName); +} +static inline HRESULT ISWbemQualifier_get_IsLocal(ISWbemQualifier* This,VARIANT_BOOL *bIsLocal) { + return This->lpVtbl->get_IsLocal(This,bIsLocal); +} +static inline HRESULT ISWbemQualifier_get_PropagatesToSubclass(ISWbemQualifier* This,VARIANT_BOOL *bPropagatesToSubclass) { + return This->lpVtbl->get_PropagatesToSubclass(This,bPropagatesToSubclass); +} +static inline HRESULT ISWbemQualifier_put_PropagatesToSubclass(ISWbemQualifier* This,VARIANT_BOOL bPropagatesToSubclass) { + return This->lpVtbl->put_PropagatesToSubclass(This,bPropagatesToSubclass); +} +static inline HRESULT ISWbemQualifier_get_PropagatesToInstance(ISWbemQualifier* This,VARIANT_BOOL *bPropagatesToInstance) { + return This->lpVtbl->get_PropagatesToInstance(This,bPropagatesToInstance); +} +static inline HRESULT ISWbemQualifier_put_PropagatesToInstance(ISWbemQualifier* This,VARIANT_BOOL bPropagatesToInstance) { + return This->lpVtbl->put_PropagatesToInstance(This,bPropagatesToInstance); +} +static inline HRESULT ISWbemQualifier_get_IsOverridable(ISWbemQualifier* This,VARIANT_BOOL *bIsOverridable) { + return This->lpVtbl->get_IsOverridable(This,bIsOverridable); +} +static inline HRESULT ISWbemQualifier_put_IsOverridable(ISWbemQualifier* This,VARIANT_BOOL bIsOverridable) { + return This->lpVtbl->put_IsOverridable(This,bIsOverridable); +} +static inline HRESULT ISWbemQualifier_get_IsAmended(ISWbemQualifier* This,VARIANT_BOOL *bIsAmended) { + return This->lpVtbl->get_IsAmended(This,bIsAmended); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemQualifier_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemQualifierSet interface + */ +#ifndef __ISWbemQualifierSet_INTERFACE_DEFINED__ +#define __ISWbemQualifierSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemQualifierSet, 0x9b16ed16, 0xd3df, 0x11d1, 0x8b,0x08, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9b16ed16-d3df-11d1-8b08-00600806d9b6") +ISWbemQualifierSet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + BSTR name, + LONG iFlags = 0, + ISWbemQualifier **objWbemQualifier = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + BSTR strName, + VARIANT *varVal, + VARIANT_BOOL bPropagatesToSubclass = TRUE, + VARIANT_BOOL bPropagatesToInstance = TRUE, + VARIANT_BOOL bIsOverridable = TRUE, + LONG iFlags = 0, + ISWbemQualifier **objWbemQualifier = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + BSTR strName, + LONG iFlags = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemQualifierSet, 0x9b16ed16, 0xd3df, 0x11d1, 0x8b,0x08, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemQualifierSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemQualifierSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemQualifierSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemQualifierSet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemQualifierSet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemQualifierSet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemQualifierSet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemQualifierSet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemQualifierSet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemQualifierSet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemQualifierSet *This, + BSTR name, + LONG iFlags, + ISWbemQualifier **objWbemQualifier); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemQualifierSet *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *Add)( + ISWbemQualifierSet *This, + BSTR strName, + VARIANT *varVal, + VARIANT_BOOL bPropagatesToSubclass, + VARIANT_BOOL bPropagatesToInstance, + VARIANT_BOOL bIsOverridable, + LONG iFlags, + ISWbemQualifier **objWbemQualifier); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemQualifierSet *This, + BSTR strName, + LONG iFlags); + + END_INTERFACE +} ISWbemQualifierSetVtbl; + +interface ISWbemQualifierSet { + CONST_VTBL ISWbemQualifierSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemQualifierSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemQualifierSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemQualifierSet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemQualifierSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemQualifierSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemQualifierSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemQualifierSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemQualifierSet methods ***/ +#define ISWbemQualifierSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemQualifierSet_Item(This,name,iFlags,objWbemQualifier) (This)->lpVtbl->Item(This,name,iFlags,objWbemQualifier) +#define ISWbemQualifierSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemQualifierSet_Add(This,strName,varVal,bPropagatesToSubclass,bPropagatesToInstance,bIsOverridable,iFlags,objWbemQualifier) (This)->lpVtbl->Add(This,strName,varVal,bPropagatesToSubclass,bPropagatesToInstance,bIsOverridable,iFlags,objWbemQualifier) +#define ISWbemQualifierSet_Remove(This,strName,iFlags) (This)->lpVtbl->Remove(This,strName,iFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemQualifierSet_QueryInterface(ISWbemQualifierSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemQualifierSet_AddRef(ISWbemQualifierSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemQualifierSet_Release(ISWbemQualifierSet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemQualifierSet_GetTypeInfoCount(ISWbemQualifierSet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemQualifierSet_GetTypeInfo(ISWbemQualifierSet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemQualifierSet_GetIDsOfNames(ISWbemQualifierSet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemQualifierSet_Invoke(ISWbemQualifierSet* 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); +} +/*** ISWbemQualifierSet methods ***/ +static inline HRESULT ISWbemQualifierSet_get__NewEnum(ISWbemQualifierSet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemQualifierSet_Item(ISWbemQualifierSet* This,BSTR name,LONG iFlags,ISWbemQualifier **objWbemQualifier) { + return This->lpVtbl->Item(This,name,iFlags,objWbemQualifier); +} +static inline HRESULT ISWbemQualifierSet_get_Count(ISWbemQualifierSet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemQualifierSet_Add(ISWbemQualifierSet* This,BSTR strName,VARIANT *varVal,VARIANT_BOOL bPropagatesToSubclass,VARIANT_BOOL bPropagatesToInstance,VARIANT_BOOL bIsOverridable,LONG iFlags,ISWbemQualifier **objWbemQualifier) { + return This->lpVtbl->Add(This,strName,varVal,bPropagatesToSubclass,bPropagatesToInstance,bIsOverridable,iFlags,objWbemQualifier); +} +static inline HRESULT ISWbemQualifierSet_Remove(ISWbemQualifierSet* This,BSTR strName,LONG iFlags) { + return This->lpVtbl->Remove(This,strName,iFlags); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemQualifierSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemMethod interface + */ +#ifndef __ISWbemMethod_INTERFACE_DEFINED__ +#define __ISWbemMethod_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemMethod, 0x422e8e90, 0xd955, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("422e8e90-d955-11d1-8b09-00600806d9b6") +ISWbemMethod : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *strName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Origin( + BSTR *strOrigin) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InParameters( + ISWbemObject **objWbemInParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_OutParameters( + ISWbemObject **objWbemOutParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Qualifiers_( + ISWbemQualifierSet **objWbemQualifierSet) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemMethod, 0x422e8e90, 0xd955, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemMethodVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemMethod *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemMethod *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemMethod *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemMethod *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemMethod *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemMethod *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemMethod *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemMethod methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + ISWbemMethod *This, + BSTR *strName); + + HRESULT (STDMETHODCALLTYPE *get_Origin)( + ISWbemMethod *This, + BSTR *strOrigin); + + HRESULT (STDMETHODCALLTYPE *get_InParameters)( + ISWbemMethod *This, + ISWbemObject **objWbemInParameters); + + HRESULT (STDMETHODCALLTYPE *get_OutParameters)( + ISWbemMethod *This, + ISWbemObject **objWbemOutParameters); + + HRESULT (STDMETHODCALLTYPE *get_Qualifiers_)( + ISWbemMethod *This, + ISWbemQualifierSet **objWbemQualifierSet); + + END_INTERFACE +} ISWbemMethodVtbl; + +interface ISWbemMethod { + CONST_VTBL ISWbemMethodVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemMethod_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemMethod_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemMethod_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemMethod_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemMethod_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemMethod_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemMethod_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemMethod methods ***/ +#define ISWbemMethod_get_Name(This,strName) (This)->lpVtbl->get_Name(This,strName) +#define ISWbemMethod_get_Origin(This,strOrigin) (This)->lpVtbl->get_Origin(This,strOrigin) +#define ISWbemMethod_get_InParameters(This,objWbemInParameters) (This)->lpVtbl->get_InParameters(This,objWbemInParameters) +#define ISWbemMethod_get_OutParameters(This,objWbemOutParameters) (This)->lpVtbl->get_OutParameters(This,objWbemOutParameters) +#define ISWbemMethod_get_Qualifiers_(This,objWbemQualifierSet) (This)->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemMethod_QueryInterface(ISWbemMethod* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemMethod_AddRef(ISWbemMethod* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemMethod_Release(ISWbemMethod* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemMethod_GetTypeInfoCount(ISWbemMethod* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemMethod_GetTypeInfo(ISWbemMethod* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemMethod_GetIDsOfNames(ISWbemMethod* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemMethod_Invoke(ISWbemMethod* 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); +} +/*** ISWbemMethod methods ***/ +static inline HRESULT ISWbemMethod_get_Name(ISWbemMethod* This,BSTR *strName) { + return This->lpVtbl->get_Name(This,strName); +} +static inline HRESULT ISWbemMethod_get_Origin(ISWbemMethod* This,BSTR *strOrigin) { + return This->lpVtbl->get_Origin(This,strOrigin); +} +static inline HRESULT ISWbemMethod_get_InParameters(ISWbemMethod* This,ISWbemObject **objWbemInParameters) { + return This->lpVtbl->get_InParameters(This,objWbemInParameters); +} +static inline HRESULT ISWbemMethod_get_OutParameters(ISWbemMethod* This,ISWbemObject **objWbemOutParameters) { + return This->lpVtbl->get_OutParameters(This,objWbemOutParameters); +} +static inline HRESULT ISWbemMethod_get_Qualifiers_(ISWbemMethod* This,ISWbemQualifierSet **objWbemQualifierSet) { + return This->lpVtbl->get_Qualifiers_(This,objWbemQualifierSet); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemMethod_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemMethodSet interface + */ +#ifndef __ISWbemMethodSet_INTERFACE_DEFINED__ +#define __ISWbemMethodSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemMethodSet, 0xc93ba292, 0xd955, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c93ba292-d955-11d1-8b09-00600806d9b6") +ISWbemMethodSet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + BSTR strName, + LONG iFlags = 0, + ISWbemMethod **objWbemMethod = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemMethodSet, 0xc93ba292, 0xd955, 0x11d1, 0x8b,0x09, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemMethodSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemMethodSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemMethodSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemMethodSet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemMethodSet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemMethodSet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemMethodSet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemMethodSet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemMethodSet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemMethodSet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemMethodSet *This, + BSTR strName, + LONG iFlags, + ISWbemMethod **objWbemMethod); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemMethodSet *This, + LONG *iCount); + + END_INTERFACE +} ISWbemMethodSetVtbl; + +interface ISWbemMethodSet { + CONST_VTBL ISWbemMethodSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemMethodSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemMethodSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemMethodSet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemMethodSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemMethodSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemMethodSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemMethodSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemMethodSet methods ***/ +#define ISWbemMethodSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemMethodSet_Item(This,strName,iFlags,objWbemMethod) (This)->lpVtbl->Item(This,strName,iFlags,objWbemMethod) +#define ISWbemMethodSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemMethodSet_QueryInterface(ISWbemMethodSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemMethodSet_AddRef(ISWbemMethodSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemMethodSet_Release(ISWbemMethodSet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemMethodSet_GetTypeInfoCount(ISWbemMethodSet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemMethodSet_GetTypeInfo(ISWbemMethodSet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemMethodSet_GetIDsOfNames(ISWbemMethodSet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemMethodSet_Invoke(ISWbemMethodSet* 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); +} +/*** ISWbemMethodSet methods ***/ +static inline HRESULT ISWbemMethodSet_get__NewEnum(ISWbemMethodSet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemMethodSet_Item(ISWbemMethodSet* This,BSTR strName,LONG iFlags,ISWbemMethod **objWbemMethod) { + return This->lpVtbl->Item(This,strName,iFlags,objWbemMethod); +} +static inline HRESULT ISWbemMethodSet_get_Count(ISWbemMethodSet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemMethodSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemSink interface + */ +#ifndef __ISWbemSink_INTERFACE_DEFINED__ +#define __ISWbemSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemSink, 0x75718c9f, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("75718c9f-f029-11d1-a1ac-00c04fb6c223") +ISWbemSink : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemSink, 0x75718c9f, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23) +#endif +#else +typedef struct ISWbemSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemSink *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemSink *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemSink *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemSink *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemSink *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemSink methods ***/ + HRESULT (STDMETHODCALLTYPE *Cancel)( + ISWbemSink *This); + + END_INTERFACE +} ISWbemSinkVtbl; + +interface ISWbemSink { + CONST_VTBL ISWbemSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemSink_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemSink_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemSink_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemSink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemSink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemSink methods ***/ +#define ISWbemSink_Cancel(This) (This)->lpVtbl->Cancel(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemSink_QueryInterface(ISWbemSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemSink_AddRef(ISWbemSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemSink_Release(ISWbemSink* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemSink_GetTypeInfoCount(ISWbemSink* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemSink_GetTypeInfo(ISWbemSink* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemSink_GetIDsOfNames(ISWbemSink* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemSink_Invoke(ISWbemSink* 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); +} +/*** ISWbemSink methods ***/ +static inline HRESULT ISWbemSink_Cancel(ISWbemSink* This) { + return This->lpVtbl->Cancel(This); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemSinkEvents dispinterface + */ +#ifndef __ISWbemSinkEvents_DISPINTERFACE_DEFINED__ +#define __ISWbemSinkEvents_DISPINTERFACE_DEFINED__ + +DEFINE_GUID(DIID_ISWbemSinkEvents, 0x75718ca0, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("75718ca0-f029-11d1-a1ac-00c04fb6c223") +ISWbemSinkEvents : public IDispatch +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemSinkEvents, 0x75718ca0, 0xf029, 0x11d1, 0xa1,0xac, 0x00,0xc0,0x4f,0xb6,0xc2,0x23) +#endif +#else +typedef struct ISWbemSinkEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemSinkEvents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemSinkEvents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemSinkEvents *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemSinkEvents *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemSinkEvents *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemSinkEvents *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemSinkEvents *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + END_INTERFACE +} ISWbemSinkEventsVtbl; + +interface ISWbemSinkEvents { + CONST_VTBL ISWbemSinkEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemSinkEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemSinkEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemSinkEvents_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemSinkEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemSinkEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemSinkEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemSinkEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemSinkEvents_QueryInterface(ISWbemSinkEvents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemSinkEvents_AddRef(ISWbemSinkEvents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemSinkEvents_Release(ISWbemSinkEvents* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemSinkEvents_GetTypeInfoCount(ISWbemSinkEvents* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemSinkEvents_GetTypeInfo(ISWbemSinkEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemSinkEvents_GetIDsOfNames(ISWbemSinkEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemSinkEvents_Invoke(ISWbemSinkEvents* 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); +} +#endif +#endif + +#endif + +#endif /* __ISWbemSinkEvents_DISPINTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemEventSource interface + */ +#ifndef __ISWbemEventSource_INTERFACE_DEFINED__ +#define __ISWbemEventSource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemEventSource, 0x27d54d92, 0x0ebe, 0x11d2, 0x8b,0x22, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("27d54d92-0ebe-11d2-8b22-00600806d9b6") +ISWbemEventSource : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE NextEvent( + LONG iTimeoutMs = wbemTimeoutInfinite, + ISWbemObject **objWbemObject = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Security_( + ISWbemSecurity **objWbemSecurity) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemEventSource, 0x27d54d92, 0x0ebe, 0x11d2, 0x8b,0x22, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemEventSourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemEventSource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemEventSource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemEventSource *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemEventSource *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemEventSource *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemEventSource *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemEventSource *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemEventSource methods ***/ + HRESULT (STDMETHODCALLTYPE *NextEvent)( + ISWbemEventSource *This, + LONG iTimeoutMs, + ISWbemObject **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *get_Security_)( + ISWbemEventSource *This, + ISWbemSecurity **objWbemSecurity); + + END_INTERFACE +} ISWbemEventSourceVtbl; + +interface ISWbemEventSource { + CONST_VTBL ISWbemEventSourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemEventSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemEventSource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemEventSource_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemEventSource_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemEventSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemEventSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemEventSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemEventSource methods ***/ +#define ISWbemEventSource_NextEvent(This,iTimeoutMs,objWbemObject) (This)->lpVtbl->NextEvent(This,iTimeoutMs,objWbemObject) +#define ISWbemEventSource_get_Security_(This,objWbemSecurity) (This)->lpVtbl->get_Security_(This,objWbemSecurity) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemEventSource_QueryInterface(ISWbemEventSource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemEventSource_AddRef(ISWbemEventSource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemEventSource_Release(ISWbemEventSource* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemEventSource_GetTypeInfoCount(ISWbemEventSource* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemEventSource_GetTypeInfo(ISWbemEventSource* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemEventSource_GetIDsOfNames(ISWbemEventSource* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemEventSource_Invoke(ISWbemEventSource* 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); +} +/*** ISWbemEventSource methods ***/ +static inline HRESULT ISWbemEventSource_NextEvent(ISWbemEventSource* This,LONG iTimeoutMs,ISWbemObject **objWbemObject) { + return This->lpVtbl->NextEvent(This,iTimeoutMs,objWbemObject); +} +static inline HRESULT ISWbemEventSource_get_Security_(ISWbemEventSource* This,ISWbemSecurity **objWbemSecurity) { + return This->lpVtbl->get_Security_(This,objWbemSecurity); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemEventSource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemSecurity interface + */ +#ifndef __ISWbemSecurity_INTERFACE_DEFINED__ +#define __ISWbemSecurity_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemSecurity, 0xb54d66e6, 0x2287, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b54d66e6-2287-11d2-8b33-00600806d9b6") +ISWbemSecurity : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ImpersonationLevel( + WbemImpersonationLevelEnum *iImpersonationLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ImpersonationLevel( + WbemImpersonationLevelEnum iImpersonationLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AuthenticationLevel( + WbemAuthenticationLevelEnum *iAuthenticationLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AuthenticationLevel( + WbemAuthenticationLevelEnum iAuthenticationLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Privileges( + ISWbemPrivilegeSet **objWbemPrivilegeSet) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemSecurity, 0xb54d66e6, 0x2287, 0x11d2, 0x8b,0x33, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemSecurityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemSecurity *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemSecurity *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemSecurity *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemSecurity *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemSecurity *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemSecurity *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemSecurity *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemSecurity methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ImpersonationLevel)( + ISWbemSecurity *This, + WbemImpersonationLevelEnum *iImpersonationLevel); + + HRESULT (STDMETHODCALLTYPE *put_ImpersonationLevel)( + ISWbemSecurity *This, + WbemImpersonationLevelEnum iImpersonationLevel); + + HRESULT (STDMETHODCALLTYPE *get_AuthenticationLevel)( + ISWbemSecurity *This, + WbemAuthenticationLevelEnum *iAuthenticationLevel); + + HRESULT (STDMETHODCALLTYPE *put_AuthenticationLevel)( + ISWbemSecurity *This, + WbemAuthenticationLevelEnum iAuthenticationLevel); + + HRESULT (STDMETHODCALLTYPE *get_Privileges)( + ISWbemSecurity *This, + ISWbemPrivilegeSet **objWbemPrivilegeSet); + + END_INTERFACE +} ISWbemSecurityVtbl; + +interface ISWbemSecurity { + CONST_VTBL ISWbemSecurityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemSecurity_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemSecurity_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemSecurity_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemSecurity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemSecurity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemSecurity methods ***/ +#define ISWbemSecurity_get_ImpersonationLevel(This,iImpersonationLevel) (This)->lpVtbl->get_ImpersonationLevel(This,iImpersonationLevel) +#define ISWbemSecurity_put_ImpersonationLevel(This,iImpersonationLevel) (This)->lpVtbl->put_ImpersonationLevel(This,iImpersonationLevel) +#define ISWbemSecurity_get_AuthenticationLevel(This,iAuthenticationLevel) (This)->lpVtbl->get_AuthenticationLevel(This,iAuthenticationLevel) +#define ISWbemSecurity_put_AuthenticationLevel(This,iAuthenticationLevel) (This)->lpVtbl->put_AuthenticationLevel(This,iAuthenticationLevel) +#define ISWbemSecurity_get_Privileges(This,objWbemPrivilegeSet) (This)->lpVtbl->get_Privileges(This,objWbemPrivilegeSet) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemSecurity_QueryInterface(ISWbemSecurity* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemSecurity_AddRef(ISWbemSecurity* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemSecurity_Release(ISWbemSecurity* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemSecurity_GetTypeInfoCount(ISWbemSecurity* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemSecurity_GetTypeInfo(ISWbemSecurity* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemSecurity_GetIDsOfNames(ISWbemSecurity* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemSecurity_Invoke(ISWbemSecurity* 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); +} +/*** ISWbemSecurity methods ***/ +static inline HRESULT ISWbemSecurity_get_ImpersonationLevel(ISWbemSecurity* This,WbemImpersonationLevelEnum *iImpersonationLevel) { + return This->lpVtbl->get_ImpersonationLevel(This,iImpersonationLevel); +} +static inline HRESULT ISWbemSecurity_put_ImpersonationLevel(ISWbemSecurity* This,WbemImpersonationLevelEnum iImpersonationLevel) { + return This->lpVtbl->put_ImpersonationLevel(This,iImpersonationLevel); +} +static inline HRESULT ISWbemSecurity_get_AuthenticationLevel(ISWbemSecurity* This,WbemAuthenticationLevelEnum *iAuthenticationLevel) { + return This->lpVtbl->get_AuthenticationLevel(This,iAuthenticationLevel); +} +static inline HRESULT ISWbemSecurity_put_AuthenticationLevel(ISWbemSecurity* This,WbemAuthenticationLevelEnum iAuthenticationLevel) { + return This->lpVtbl->put_AuthenticationLevel(This,iAuthenticationLevel); +} +static inline HRESULT ISWbemSecurity_get_Privileges(ISWbemSecurity* This,ISWbemPrivilegeSet **objWbemPrivilegeSet) { + return This->lpVtbl->get_Privileges(This,objWbemPrivilegeSet); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemSecurity_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemPrivilege interface + */ +#ifndef __ISWbemPrivilege_INTERFACE_DEFINED__ +#define __ISWbemPrivilege_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemPrivilege, 0x26ee67bd, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("26ee67bd-5804-11d2-8b4a-00600806d9b6") +ISWbemPrivilege : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_IsEnabled( + VARIANT_BOOL *bIsEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsEnabled( + VARIANT_BOOL bIsEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *strDisplayName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DisplayName( + BSTR *strDisplayName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Identifier( + WbemPrivilegeEnum *iPrivilege) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemPrivilege, 0x26ee67bd, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemPrivilegeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemPrivilege *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemPrivilege *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemPrivilege *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemPrivilege *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemPrivilege *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemPrivilege *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemPrivilege *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemPrivilege methods ***/ + HRESULT (STDMETHODCALLTYPE *get_IsEnabled)( + ISWbemPrivilege *This, + VARIANT_BOOL *bIsEnabled); + + HRESULT (STDMETHODCALLTYPE *put_IsEnabled)( + ISWbemPrivilege *This, + VARIANT_BOOL bIsEnabled); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + ISWbemPrivilege *This, + BSTR *strDisplayName); + + HRESULT (STDMETHODCALLTYPE *get_DisplayName)( + ISWbemPrivilege *This, + BSTR *strDisplayName); + + HRESULT (STDMETHODCALLTYPE *get_Identifier)( + ISWbemPrivilege *This, + WbemPrivilegeEnum *iPrivilege); + + END_INTERFACE +} ISWbemPrivilegeVtbl; + +interface ISWbemPrivilege { + CONST_VTBL ISWbemPrivilegeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemPrivilege_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemPrivilege_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemPrivilege_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemPrivilege_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemPrivilege_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemPrivilege_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemPrivilege_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemPrivilege methods ***/ +#define ISWbemPrivilege_get_IsEnabled(This,bIsEnabled) (This)->lpVtbl->get_IsEnabled(This,bIsEnabled) +#define ISWbemPrivilege_put_IsEnabled(This,bIsEnabled) (This)->lpVtbl->put_IsEnabled(This,bIsEnabled) +#define ISWbemPrivilege_get_Name(This,strDisplayName) (This)->lpVtbl->get_Name(This,strDisplayName) +#define ISWbemPrivilege_get_DisplayName(This,strDisplayName) (This)->lpVtbl->get_DisplayName(This,strDisplayName) +#define ISWbemPrivilege_get_Identifier(This,iPrivilege) (This)->lpVtbl->get_Identifier(This,iPrivilege) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemPrivilege_QueryInterface(ISWbemPrivilege* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemPrivilege_AddRef(ISWbemPrivilege* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemPrivilege_Release(ISWbemPrivilege* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemPrivilege_GetTypeInfoCount(ISWbemPrivilege* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemPrivilege_GetTypeInfo(ISWbemPrivilege* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemPrivilege_GetIDsOfNames(ISWbemPrivilege* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemPrivilege_Invoke(ISWbemPrivilege* 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); +} +/*** ISWbemPrivilege methods ***/ +static inline HRESULT ISWbemPrivilege_get_IsEnabled(ISWbemPrivilege* This,VARIANT_BOOL *bIsEnabled) { + return This->lpVtbl->get_IsEnabled(This,bIsEnabled); +} +static inline HRESULT ISWbemPrivilege_put_IsEnabled(ISWbemPrivilege* This,VARIANT_BOOL bIsEnabled) { + return This->lpVtbl->put_IsEnabled(This,bIsEnabled); +} +static inline HRESULT ISWbemPrivilege_get_Name(ISWbemPrivilege* This,BSTR *strDisplayName) { + return This->lpVtbl->get_Name(This,strDisplayName); +} +static inline HRESULT ISWbemPrivilege_get_DisplayName(ISWbemPrivilege* This,BSTR *strDisplayName) { + return This->lpVtbl->get_DisplayName(This,strDisplayName); +} +static inline HRESULT ISWbemPrivilege_get_Identifier(ISWbemPrivilege* This,WbemPrivilegeEnum *iPrivilege) { + return This->lpVtbl->get_Identifier(This,iPrivilege); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemPrivilege_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemPrivilegeSet interface + */ +#ifndef __ISWbemPrivilegeSet_INTERFACE_DEFINED__ +#define __ISWbemPrivilegeSet_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemPrivilegeSet, 0x26ee67bf, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("26ee67bf-5804-11d2-8b4a-00600806d9b6") +ISWbemPrivilegeSet : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + WbemPrivilegeEnum iPrivilege, + ISWbemPrivilege **objWbemPrivilege) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + WbemPrivilegeEnum iPrivilege, + VARIANT_BOOL bIsEnabled = TRUE, + ISWbemPrivilege **objWbemPrivilege = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + WbemPrivilegeEnum iPrivilege) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAll( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAsString( + BSTR strPrivilege, + VARIANT_BOOL bIsEnabled = TRUE, + ISWbemPrivilege **objWbemPrivilege = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemPrivilegeSet, 0x26ee67bf, 0x5804, 0x11d2, 0x8b,0x4a, 0x00,0x60,0x08,0x06,0xd9,0xb6) +#endif +#else +typedef struct ISWbemPrivilegeSetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemPrivilegeSet *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemPrivilegeSet *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemPrivilegeSet *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemPrivilegeSet *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemPrivilegeSet *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemPrivilegeSet *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemPrivilegeSet *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemPrivilegeSet methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemPrivilegeSet *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemPrivilegeSet *This, + WbemPrivilegeEnum iPrivilege, + ISWbemPrivilege **objWbemPrivilege); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemPrivilegeSet *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *Add)( + ISWbemPrivilegeSet *This, + WbemPrivilegeEnum iPrivilege, + VARIANT_BOOL bIsEnabled, + ISWbemPrivilege **objWbemPrivilege); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemPrivilegeSet *This, + WbemPrivilegeEnum iPrivilege); + + HRESULT (STDMETHODCALLTYPE *DeleteAll)( + ISWbemPrivilegeSet *This); + + HRESULT (STDMETHODCALLTYPE *AddAsString)( + ISWbemPrivilegeSet *This, + BSTR strPrivilege, + VARIANT_BOOL bIsEnabled, + ISWbemPrivilege **objWbemPrivilege); + + END_INTERFACE +} ISWbemPrivilegeSetVtbl; + +interface ISWbemPrivilegeSet { + CONST_VTBL ISWbemPrivilegeSetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemPrivilegeSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemPrivilegeSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemPrivilegeSet_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemPrivilegeSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemPrivilegeSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemPrivilegeSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemPrivilegeSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemPrivilegeSet methods ***/ +#define ISWbemPrivilegeSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemPrivilegeSet_Item(This,iPrivilege,objWbemPrivilege) (This)->lpVtbl->Item(This,iPrivilege,objWbemPrivilege) +#define ISWbemPrivilegeSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemPrivilegeSet_Add(This,iPrivilege,bIsEnabled,objWbemPrivilege) (This)->lpVtbl->Add(This,iPrivilege,bIsEnabled,objWbemPrivilege) +#define ISWbemPrivilegeSet_Remove(This,iPrivilege) (This)->lpVtbl->Remove(This,iPrivilege) +#define ISWbemPrivilegeSet_DeleteAll(This) (This)->lpVtbl->DeleteAll(This) +#define ISWbemPrivilegeSet_AddAsString(This,strPrivilege,bIsEnabled,objWbemPrivilege) (This)->lpVtbl->AddAsString(This,strPrivilege,bIsEnabled,objWbemPrivilege) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemPrivilegeSet_QueryInterface(ISWbemPrivilegeSet* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemPrivilegeSet_AddRef(ISWbemPrivilegeSet* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemPrivilegeSet_Release(ISWbemPrivilegeSet* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemPrivilegeSet_GetTypeInfoCount(ISWbemPrivilegeSet* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemPrivilegeSet_GetTypeInfo(ISWbemPrivilegeSet* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemPrivilegeSet_GetIDsOfNames(ISWbemPrivilegeSet* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemPrivilegeSet_Invoke(ISWbemPrivilegeSet* 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); +} +/*** ISWbemPrivilegeSet methods ***/ +static inline HRESULT ISWbemPrivilegeSet_get__NewEnum(ISWbemPrivilegeSet* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemPrivilegeSet_Item(ISWbemPrivilegeSet* This,WbemPrivilegeEnum iPrivilege,ISWbemPrivilege **objWbemPrivilege) { + return This->lpVtbl->Item(This,iPrivilege,objWbemPrivilege); +} +static inline HRESULT ISWbemPrivilegeSet_get_Count(ISWbemPrivilegeSet* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemPrivilegeSet_Add(ISWbemPrivilegeSet* This,WbemPrivilegeEnum iPrivilege,VARIANT_BOOL bIsEnabled,ISWbemPrivilege **objWbemPrivilege) { + return This->lpVtbl->Add(This,iPrivilege,bIsEnabled,objWbemPrivilege); +} +static inline HRESULT ISWbemPrivilegeSet_Remove(ISWbemPrivilegeSet* This,WbemPrivilegeEnum iPrivilege) { + return This->lpVtbl->Remove(This,iPrivilege); +} +static inline HRESULT ISWbemPrivilegeSet_DeleteAll(ISWbemPrivilegeSet* This) { + return This->lpVtbl->DeleteAll(This); +} +static inline HRESULT ISWbemPrivilegeSet_AddAsString(ISWbemPrivilegeSet* This,BSTR strPrivilege,VARIANT_BOOL bIsEnabled,ISWbemPrivilege **objWbemPrivilege) { + return This->lpVtbl->AddAsString(This,strPrivilege,bIsEnabled,objWbemPrivilege); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemPrivilegeSet_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemDateTime interface + */ +#ifndef __ISWbemDateTime_INTERFACE_DEFINED__ +#define __ISWbemDateTime_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemDateTime, 0x5e97458a, 0xcf77, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5e97458a-cf77-11d3-b38f-00105a1f473a") +ISWbemDateTime : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Value( + BSTR *strValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Value( + BSTR strValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Year( + LONG *iYear) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Year( + LONG iYear) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_YearSpecified( + VARIANT_BOOL *bYearSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_YearSpecified( + VARIANT_BOOL bYearSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Month( + LONG *iMonth) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Month( + LONG iMonth) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MonthSpecified( + VARIANT_BOOL *bMonthSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MonthSpecified( + VARIANT_BOOL bMonthSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Day( + LONG *iDay) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Day( + LONG iDay) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DaySpecified( + VARIANT_BOOL *bDaySpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_DaySpecified( + VARIANT_BOOL bDaySpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Hours( + LONG *iHours) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Hours( + LONG iHours) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HoursSpecified( + VARIANT_BOOL *bHoursSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_HoursSpecified( + VARIANT_BOOL bHoursSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Minutes( + LONG *iMinutes) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Minutes( + LONG iMinutes) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MinutesSpecified( + VARIANT_BOOL *bMinutesSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinutesSpecified( + VARIANT_BOOL bMinutesSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Seconds( + LONG *iSeconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Seconds( + LONG iSeconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SecondsSpecified( + VARIANT_BOOL *bSecondsSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SecondsSpecified( + VARIANT_BOOL bSecondsSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Microseconds( + LONG *iMicroseconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Microseconds( + LONG iMicroseconds) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MicrosecondsSpecified( + VARIANT_BOOL *bMicrosecondsSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MicrosecondsSpecified( + VARIANT_BOOL bMicrosecondsSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UTC( + LONG *iUTC) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UTC( + LONG iUTC) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UTCSpecified( + VARIANT_BOOL *bUTCSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UTCSpecified( + VARIANT_BOOL bUTCSpecified) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsInterval( + VARIANT_BOOL *bIsInterval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsInterval( + VARIANT_BOOL bIsInterval) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVarDate( + VARIANT_BOOL bIsLocal = TRUE, + DATE *dVarDate = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVarDate( + DATE dVarDate, + VARIANT_BOOL bIsLocal = TRUE) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileTime( + VARIANT_BOOL bIsLocal = TRUE, + BSTR *strFileTime = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFileTime( + BSTR strFileTime, + VARIANT_BOOL bIsLocal = TRUE) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemDateTime, 0x5e97458a, 0xcf77, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#else +typedef struct ISWbemDateTimeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemDateTime *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemDateTime *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemDateTime *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemDateTime *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemDateTime *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemDateTime *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemDateTime *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemDateTime methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Value)( + ISWbemDateTime *This, + BSTR *strValue); + + HRESULT (STDMETHODCALLTYPE *put_Value)( + ISWbemDateTime *This, + BSTR strValue); + + HRESULT (STDMETHODCALLTYPE *get_Year)( + ISWbemDateTime *This, + LONG *iYear); + + HRESULT (STDMETHODCALLTYPE *put_Year)( + ISWbemDateTime *This, + LONG iYear); + + HRESULT (STDMETHODCALLTYPE *get_YearSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bYearSpecified); + + HRESULT (STDMETHODCALLTYPE *put_YearSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bYearSpecified); + + HRESULT (STDMETHODCALLTYPE *get_Month)( + ISWbemDateTime *This, + LONG *iMonth); + + HRESULT (STDMETHODCALLTYPE *put_Month)( + ISWbemDateTime *This, + LONG iMonth); + + HRESULT (STDMETHODCALLTYPE *get_MonthSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bMonthSpecified); + + HRESULT (STDMETHODCALLTYPE *put_MonthSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bMonthSpecified); + + HRESULT (STDMETHODCALLTYPE *get_Day)( + ISWbemDateTime *This, + LONG *iDay); + + HRESULT (STDMETHODCALLTYPE *put_Day)( + ISWbemDateTime *This, + LONG iDay); + + HRESULT (STDMETHODCALLTYPE *get_DaySpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bDaySpecified); + + HRESULT (STDMETHODCALLTYPE *put_DaySpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bDaySpecified); + + HRESULT (STDMETHODCALLTYPE *get_Hours)( + ISWbemDateTime *This, + LONG *iHours); + + HRESULT (STDMETHODCALLTYPE *put_Hours)( + ISWbemDateTime *This, + LONG iHours); + + HRESULT (STDMETHODCALLTYPE *get_HoursSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bHoursSpecified); + + HRESULT (STDMETHODCALLTYPE *put_HoursSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bHoursSpecified); + + HRESULT (STDMETHODCALLTYPE *get_Minutes)( + ISWbemDateTime *This, + LONG *iMinutes); + + HRESULT (STDMETHODCALLTYPE *put_Minutes)( + ISWbemDateTime *This, + LONG iMinutes); + + HRESULT (STDMETHODCALLTYPE *get_MinutesSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bMinutesSpecified); + + HRESULT (STDMETHODCALLTYPE *put_MinutesSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bMinutesSpecified); + + HRESULT (STDMETHODCALLTYPE *get_Seconds)( + ISWbemDateTime *This, + LONG *iSeconds); + + HRESULT (STDMETHODCALLTYPE *put_Seconds)( + ISWbemDateTime *This, + LONG iSeconds); + + HRESULT (STDMETHODCALLTYPE *get_SecondsSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bSecondsSpecified); + + HRESULT (STDMETHODCALLTYPE *put_SecondsSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bSecondsSpecified); + + HRESULT (STDMETHODCALLTYPE *get_Microseconds)( + ISWbemDateTime *This, + LONG *iMicroseconds); + + HRESULT (STDMETHODCALLTYPE *put_Microseconds)( + ISWbemDateTime *This, + LONG iMicroseconds); + + HRESULT (STDMETHODCALLTYPE *get_MicrosecondsSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bMicrosecondsSpecified); + + HRESULT (STDMETHODCALLTYPE *put_MicrosecondsSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bMicrosecondsSpecified); + + HRESULT (STDMETHODCALLTYPE *get_UTC)( + ISWbemDateTime *This, + LONG *iUTC); + + HRESULT (STDMETHODCALLTYPE *put_UTC)( + ISWbemDateTime *This, + LONG iUTC); + + HRESULT (STDMETHODCALLTYPE *get_UTCSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL *bUTCSpecified); + + HRESULT (STDMETHODCALLTYPE *put_UTCSpecified)( + ISWbemDateTime *This, + VARIANT_BOOL bUTCSpecified); + + HRESULT (STDMETHODCALLTYPE *get_IsInterval)( + ISWbemDateTime *This, + VARIANT_BOOL *bIsInterval); + + HRESULT (STDMETHODCALLTYPE *put_IsInterval)( + ISWbemDateTime *This, + VARIANT_BOOL bIsInterval); + + HRESULT (STDMETHODCALLTYPE *GetVarDate)( + ISWbemDateTime *This, + VARIANT_BOOL bIsLocal, + DATE *dVarDate); + + HRESULT (STDMETHODCALLTYPE *SetVarDate)( + ISWbemDateTime *This, + DATE dVarDate, + VARIANT_BOOL bIsLocal); + + HRESULT (STDMETHODCALLTYPE *GetFileTime)( + ISWbemDateTime *This, + VARIANT_BOOL bIsLocal, + BSTR *strFileTime); + + HRESULT (STDMETHODCALLTYPE *SetFileTime)( + ISWbemDateTime *This, + BSTR strFileTime, + VARIANT_BOOL bIsLocal); + + END_INTERFACE +} ISWbemDateTimeVtbl; + +interface ISWbemDateTime { + CONST_VTBL ISWbemDateTimeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemDateTime_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemDateTime_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemDateTime_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemDateTime_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemDateTime_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemDateTime_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemDateTime_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemDateTime methods ***/ +#define ISWbemDateTime_get_Value(This,strValue) (This)->lpVtbl->get_Value(This,strValue) +#define ISWbemDateTime_put_Value(This,strValue) (This)->lpVtbl->put_Value(This,strValue) +#define ISWbemDateTime_get_Year(This,iYear) (This)->lpVtbl->get_Year(This,iYear) +#define ISWbemDateTime_put_Year(This,iYear) (This)->lpVtbl->put_Year(This,iYear) +#define ISWbemDateTime_get_YearSpecified(This,bYearSpecified) (This)->lpVtbl->get_YearSpecified(This,bYearSpecified) +#define ISWbemDateTime_put_YearSpecified(This,bYearSpecified) (This)->lpVtbl->put_YearSpecified(This,bYearSpecified) +#define ISWbemDateTime_get_Month(This,iMonth) (This)->lpVtbl->get_Month(This,iMonth) +#define ISWbemDateTime_put_Month(This,iMonth) (This)->lpVtbl->put_Month(This,iMonth) +#define ISWbemDateTime_get_MonthSpecified(This,bMonthSpecified) (This)->lpVtbl->get_MonthSpecified(This,bMonthSpecified) +#define ISWbemDateTime_put_MonthSpecified(This,bMonthSpecified) (This)->lpVtbl->put_MonthSpecified(This,bMonthSpecified) +#define ISWbemDateTime_get_Day(This,iDay) (This)->lpVtbl->get_Day(This,iDay) +#define ISWbemDateTime_put_Day(This,iDay) (This)->lpVtbl->put_Day(This,iDay) +#define ISWbemDateTime_get_DaySpecified(This,bDaySpecified) (This)->lpVtbl->get_DaySpecified(This,bDaySpecified) +#define ISWbemDateTime_put_DaySpecified(This,bDaySpecified) (This)->lpVtbl->put_DaySpecified(This,bDaySpecified) +#define ISWbemDateTime_get_Hours(This,iHours) (This)->lpVtbl->get_Hours(This,iHours) +#define ISWbemDateTime_put_Hours(This,iHours) (This)->lpVtbl->put_Hours(This,iHours) +#define ISWbemDateTime_get_HoursSpecified(This,bHoursSpecified) (This)->lpVtbl->get_HoursSpecified(This,bHoursSpecified) +#define ISWbemDateTime_put_HoursSpecified(This,bHoursSpecified) (This)->lpVtbl->put_HoursSpecified(This,bHoursSpecified) +#define ISWbemDateTime_get_Minutes(This,iMinutes) (This)->lpVtbl->get_Minutes(This,iMinutes) +#define ISWbemDateTime_put_Minutes(This,iMinutes) (This)->lpVtbl->put_Minutes(This,iMinutes) +#define ISWbemDateTime_get_MinutesSpecified(This,bMinutesSpecified) (This)->lpVtbl->get_MinutesSpecified(This,bMinutesSpecified) +#define ISWbemDateTime_put_MinutesSpecified(This,bMinutesSpecified) (This)->lpVtbl->put_MinutesSpecified(This,bMinutesSpecified) +#define ISWbemDateTime_get_Seconds(This,iSeconds) (This)->lpVtbl->get_Seconds(This,iSeconds) +#define ISWbemDateTime_put_Seconds(This,iSeconds) (This)->lpVtbl->put_Seconds(This,iSeconds) +#define ISWbemDateTime_get_SecondsSpecified(This,bSecondsSpecified) (This)->lpVtbl->get_SecondsSpecified(This,bSecondsSpecified) +#define ISWbemDateTime_put_SecondsSpecified(This,bSecondsSpecified) (This)->lpVtbl->put_SecondsSpecified(This,bSecondsSpecified) +#define ISWbemDateTime_get_Microseconds(This,iMicroseconds) (This)->lpVtbl->get_Microseconds(This,iMicroseconds) +#define ISWbemDateTime_put_Microseconds(This,iMicroseconds) (This)->lpVtbl->put_Microseconds(This,iMicroseconds) +#define ISWbemDateTime_get_MicrosecondsSpecified(This,bMicrosecondsSpecified) (This)->lpVtbl->get_MicrosecondsSpecified(This,bMicrosecondsSpecified) +#define ISWbemDateTime_put_MicrosecondsSpecified(This,bMicrosecondsSpecified) (This)->lpVtbl->put_MicrosecondsSpecified(This,bMicrosecondsSpecified) +#define ISWbemDateTime_get_UTC(This,iUTC) (This)->lpVtbl->get_UTC(This,iUTC) +#define ISWbemDateTime_put_UTC(This,iUTC) (This)->lpVtbl->put_UTC(This,iUTC) +#define ISWbemDateTime_get_UTCSpecified(This,bUTCSpecified) (This)->lpVtbl->get_UTCSpecified(This,bUTCSpecified) +#define ISWbemDateTime_put_UTCSpecified(This,bUTCSpecified) (This)->lpVtbl->put_UTCSpecified(This,bUTCSpecified) +#define ISWbemDateTime_get_IsInterval(This,bIsInterval) (This)->lpVtbl->get_IsInterval(This,bIsInterval) +#define ISWbemDateTime_put_IsInterval(This,bIsInterval) (This)->lpVtbl->put_IsInterval(This,bIsInterval) +#define ISWbemDateTime_GetVarDate(This,bIsLocal,dVarDate) (This)->lpVtbl->GetVarDate(This,bIsLocal,dVarDate) +#define ISWbemDateTime_SetVarDate(This,dVarDate,bIsLocal) (This)->lpVtbl->SetVarDate(This,dVarDate,bIsLocal) +#define ISWbemDateTime_GetFileTime(This,bIsLocal,strFileTime) (This)->lpVtbl->GetFileTime(This,bIsLocal,strFileTime) +#define ISWbemDateTime_SetFileTime(This,strFileTime,bIsLocal) (This)->lpVtbl->SetFileTime(This,strFileTime,bIsLocal) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemDateTime_QueryInterface(ISWbemDateTime* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemDateTime_AddRef(ISWbemDateTime* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemDateTime_Release(ISWbemDateTime* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemDateTime_GetTypeInfoCount(ISWbemDateTime* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemDateTime_GetTypeInfo(ISWbemDateTime* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemDateTime_GetIDsOfNames(ISWbemDateTime* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemDateTime_Invoke(ISWbemDateTime* 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); +} +/*** ISWbemDateTime methods ***/ +static inline HRESULT ISWbemDateTime_get_Value(ISWbemDateTime* This,BSTR *strValue) { + return This->lpVtbl->get_Value(This,strValue); +} +static inline HRESULT ISWbemDateTime_put_Value(ISWbemDateTime* This,BSTR strValue) { + return This->lpVtbl->put_Value(This,strValue); +} +static inline HRESULT ISWbemDateTime_get_Year(ISWbemDateTime* This,LONG *iYear) { + return This->lpVtbl->get_Year(This,iYear); +} +static inline HRESULT ISWbemDateTime_put_Year(ISWbemDateTime* This,LONG iYear) { + return This->lpVtbl->put_Year(This,iYear); +} +static inline HRESULT ISWbemDateTime_get_YearSpecified(ISWbemDateTime* This,VARIANT_BOOL *bYearSpecified) { + return This->lpVtbl->get_YearSpecified(This,bYearSpecified); +} +static inline HRESULT ISWbemDateTime_put_YearSpecified(ISWbemDateTime* This,VARIANT_BOOL bYearSpecified) { + return This->lpVtbl->put_YearSpecified(This,bYearSpecified); +} +static inline HRESULT ISWbemDateTime_get_Month(ISWbemDateTime* This,LONG *iMonth) { + return This->lpVtbl->get_Month(This,iMonth); +} +static inline HRESULT ISWbemDateTime_put_Month(ISWbemDateTime* This,LONG iMonth) { + return This->lpVtbl->put_Month(This,iMonth); +} +static inline HRESULT ISWbemDateTime_get_MonthSpecified(ISWbemDateTime* This,VARIANT_BOOL *bMonthSpecified) { + return This->lpVtbl->get_MonthSpecified(This,bMonthSpecified); +} +static inline HRESULT ISWbemDateTime_put_MonthSpecified(ISWbemDateTime* This,VARIANT_BOOL bMonthSpecified) { + return This->lpVtbl->put_MonthSpecified(This,bMonthSpecified); +} +static inline HRESULT ISWbemDateTime_get_Day(ISWbemDateTime* This,LONG *iDay) { + return This->lpVtbl->get_Day(This,iDay); +} +static inline HRESULT ISWbemDateTime_put_Day(ISWbemDateTime* This,LONG iDay) { + return This->lpVtbl->put_Day(This,iDay); +} +static inline HRESULT ISWbemDateTime_get_DaySpecified(ISWbemDateTime* This,VARIANT_BOOL *bDaySpecified) { + return This->lpVtbl->get_DaySpecified(This,bDaySpecified); +} +static inline HRESULT ISWbemDateTime_put_DaySpecified(ISWbemDateTime* This,VARIANT_BOOL bDaySpecified) { + return This->lpVtbl->put_DaySpecified(This,bDaySpecified); +} +static inline HRESULT ISWbemDateTime_get_Hours(ISWbemDateTime* This,LONG *iHours) { + return This->lpVtbl->get_Hours(This,iHours); +} +static inline HRESULT ISWbemDateTime_put_Hours(ISWbemDateTime* This,LONG iHours) { + return This->lpVtbl->put_Hours(This,iHours); +} +static inline HRESULT ISWbemDateTime_get_HoursSpecified(ISWbemDateTime* This,VARIANT_BOOL *bHoursSpecified) { + return This->lpVtbl->get_HoursSpecified(This,bHoursSpecified); +} +static inline HRESULT ISWbemDateTime_put_HoursSpecified(ISWbemDateTime* This,VARIANT_BOOL bHoursSpecified) { + return This->lpVtbl->put_HoursSpecified(This,bHoursSpecified); +} +static inline HRESULT ISWbemDateTime_get_Minutes(ISWbemDateTime* This,LONG *iMinutes) { + return This->lpVtbl->get_Minutes(This,iMinutes); +} +static inline HRESULT ISWbemDateTime_put_Minutes(ISWbemDateTime* This,LONG iMinutes) { + return This->lpVtbl->put_Minutes(This,iMinutes); +} +static inline HRESULT ISWbemDateTime_get_MinutesSpecified(ISWbemDateTime* This,VARIANT_BOOL *bMinutesSpecified) { + return This->lpVtbl->get_MinutesSpecified(This,bMinutesSpecified); +} +static inline HRESULT ISWbemDateTime_put_MinutesSpecified(ISWbemDateTime* This,VARIANT_BOOL bMinutesSpecified) { + return This->lpVtbl->put_MinutesSpecified(This,bMinutesSpecified); +} +static inline HRESULT ISWbemDateTime_get_Seconds(ISWbemDateTime* This,LONG *iSeconds) { + return This->lpVtbl->get_Seconds(This,iSeconds); +} +static inline HRESULT ISWbemDateTime_put_Seconds(ISWbemDateTime* This,LONG iSeconds) { + return This->lpVtbl->put_Seconds(This,iSeconds); +} +static inline HRESULT ISWbemDateTime_get_SecondsSpecified(ISWbemDateTime* This,VARIANT_BOOL *bSecondsSpecified) { + return This->lpVtbl->get_SecondsSpecified(This,bSecondsSpecified); +} +static inline HRESULT ISWbemDateTime_put_SecondsSpecified(ISWbemDateTime* This,VARIANT_BOOL bSecondsSpecified) { + return This->lpVtbl->put_SecondsSpecified(This,bSecondsSpecified); +} +static inline HRESULT ISWbemDateTime_get_Microseconds(ISWbemDateTime* This,LONG *iMicroseconds) { + return This->lpVtbl->get_Microseconds(This,iMicroseconds); +} +static inline HRESULT ISWbemDateTime_put_Microseconds(ISWbemDateTime* This,LONG iMicroseconds) { + return This->lpVtbl->put_Microseconds(This,iMicroseconds); +} +static inline HRESULT ISWbemDateTime_get_MicrosecondsSpecified(ISWbemDateTime* This,VARIANT_BOOL *bMicrosecondsSpecified) { + return This->lpVtbl->get_MicrosecondsSpecified(This,bMicrosecondsSpecified); +} +static inline HRESULT ISWbemDateTime_put_MicrosecondsSpecified(ISWbemDateTime* This,VARIANT_BOOL bMicrosecondsSpecified) { + return This->lpVtbl->put_MicrosecondsSpecified(This,bMicrosecondsSpecified); +} +static inline HRESULT ISWbemDateTime_get_UTC(ISWbemDateTime* This,LONG *iUTC) { + return This->lpVtbl->get_UTC(This,iUTC); +} +static inline HRESULT ISWbemDateTime_put_UTC(ISWbemDateTime* This,LONG iUTC) { + return This->lpVtbl->put_UTC(This,iUTC); +} +static inline HRESULT ISWbemDateTime_get_UTCSpecified(ISWbemDateTime* This,VARIANT_BOOL *bUTCSpecified) { + return This->lpVtbl->get_UTCSpecified(This,bUTCSpecified); +} +static inline HRESULT ISWbemDateTime_put_UTCSpecified(ISWbemDateTime* This,VARIANT_BOOL bUTCSpecified) { + return This->lpVtbl->put_UTCSpecified(This,bUTCSpecified); +} +static inline HRESULT ISWbemDateTime_get_IsInterval(ISWbemDateTime* This,VARIANT_BOOL *bIsInterval) { + return This->lpVtbl->get_IsInterval(This,bIsInterval); +} +static inline HRESULT ISWbemDateTime_put_IsInterval(ISWbemDateTime* This,VARIANT_BOOL bIsInterval) { + return This->lpVtbl->put_IsInterval(This,bIsInterval); +} +static inline HRESULT ISWbemDateTime_GetVarDate(ISWbemDateTime* This,VARIANT_BOOL bIsLocal,DATE *dVarDate) { + return This->lpVtbl->GetVarDate(This,bIsLocal,dVarDate); +} +static inline HRESULT ISWbemDateTime_SetVarDate(ISWbemDateTime* This,DATE dVarDate,VARIANT_BOOL bIsLocal) { + return This->lpVtbl->SetVarDate(This,dVarDate,bIsLocal); +} +static inline HRESULT ISWbemDateTime_GetFileTime(ISWbemDateTime* This,VARIANT_BOOL bIsLocal,BSTR *strFileTime) { + return This->lpVtbl->GetFileTime(This,bIsLocal,strFileTime); +} +static inline HRESULT ISWbemDateTime_SetFileTime(ISWbemDateTime* This,BSTR strFileTime,VARIANT_BOOL bIsLocal) { + return This->lpVtbl->SetFileTime(This,strFileTime,bIsLocal); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemDateTime_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemRefreshableItem interface + */ +#ifndef __ISWbemRefreshableItem_INTERFACE_DEFINED__ +#define __ISWbemRefreshableItem_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemRefreshableItem, 0x5ad4bf92, 0xdaab, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5ad4bf92-daab-11d3-b38f-00105a1f473a") +ISWbemRefreshableItem : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Index( + LONG *iIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Refresher( + ISWbemRefresher **objWbemRefresher) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsSet( + VARIANT_BOOL *bIsSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Object( + ISWbemObjectEx **objWbemObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ObjectSet( + ISWbemObjectSet **objWbemObjectSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + LONG iFlags = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemRefreshableItem, 0x5ad4bf92, 0xdaab, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#else +typedef struct ISWbemRefreshableItemVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemRefreshableItem *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemRefreshableItem *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemRefreshableItem *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemRefreshableItem *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemRefreshableItem *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemRefreshableItem *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemRefreshableItem *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemRefreshableItem methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Index)( + ISWbemRefreshableItem *This, + LONG *iIndex); + + HRESULT (STDMETHODCALLTYPE *get_Refresher)( + ISWbemRefreshableItem *This, + ISWbemRefresher **objWbemRefresher); + + HRESULT (STDMETHODCALLTYPE *get_IsSet)( + ISWbemRefreshableItem *This, + VARIANT_BOOL *bIsSet); + + HRESULT (STDMETHODCALLTYPE *get_Object)( + ISWbemRefreshableItem *This, + ISWbemObjectEx **objWbemObject); + + HRESULT (STDMETHODCALLTYPE *get_ObjectSet)( + ISWbemRefreshableItem *This, + ISWbemObjectSet **objWbemObjectSet); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemRefreshableItem *This, + LONG iFlags); + + END_INTERFACE +} ISWbemRefreshableItemVtbl; + +interface ISWbemRefreshableItem { + CONST_VTBL ISWbemRefreshableItemVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemRefreshableItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemRefreshableItem_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemRefreshableItem_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemRefreshableItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemRefreshableItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemRefreshableItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemRefreshableItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemRefreshableItem methods ***/ +#define ISWbemRefreshableItem_get_Index(This,iIndex) (This)->lpVtbl->get_Index(This,iIndex) +#define ISWbemRefreshableItem_get_Refresher(This,objWbemRefresher) (This)->lpVtbl->get_Refresher(This,objWbemRefresher) +#define ISWbemRefreshableItem_get_IsSet(This,bIsSet) (This)->lpVtbl->get_IsSet(This,bIsSet) +#define ISWbemRefreshableItem_get_Object(This,objWbemObject) (This)->lpVtbl->get_Object(This,objWbemObject) +#define ISWbemRefreshableItem_get_ObjectSet(This,objWbemObjectSet) (This)->lpVtbl->get_ObjectSet(This,objWbemObjectSet) +#define ISWbemRefreshableItem_Remove(This,iFlags) (This)->lpVtbl->Remove(This,iFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemRefreshableItem_QueryInterface(ISWbemRefreshableItem* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemRefreshableItem_AddRef(ISWbemRefreshableItem* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemRefreshableItem_Release(ISWbemRefreshableItem* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemRefreshableItem_GetTypeInfoCount(ISWbemRefreshableItem* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemRefreshableItem_GetTypeInfo(ISWbemRefreshableItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemRefreshableItem_GetIDsOfNames(ISWbemRefreshableItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemRefreshableItem_Invoke(ISWbemRefreshableItem* 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); +} +/*** ISWbemRefreshableItem methods ***/ +static inline HRESULT ISWbemRefreshableItem_get_Index(ISWbemRefreshableItem* This,LONG *iIndex) { + return This->lpVtbl->get_Index(This,iIndex); +} +static inline HRESULT ISWbemRefreshableItem_get_Refresher(ISWbemRefreshableItem* This,ISWbemRefresher **objWbemRefresher) { + return This->lpVtbl->get_Refresher(This,objWbemRefresher); +} +static inline HRESULT ISWbemRefreshableItem_get_IsSet(ISWbemRefreshableItem* This,VARIANT_BOOL *bIsSet) { + return This->lpVtbl->get_IsSet(This,bIsSet); +} +static inline HRESULT ISWbemRefreshableItem_get_Object(ISWbemRefreshableItem* This,ISWbemObjectEx **objWbemObject) { + return This->lpVtbl->get_Object(This,objWbemObject); +} +static inline HRESULT ISWbemRefreshableItem_get_ObjectSet(ISWbemRefreshableItem* This,ISWbemObjectSet **objWbemObjectSet) { + return This->lpVtbl->get_ObjectSet(This,objWbemObjectSet); +} +static inline HRESULT ISWbemRefreshableItem_Remove(ISWbemRefreshableItem* This,LONG iFlags) { + return This->lpVtbl->Remove(This,iFlags); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemRefreshableItem_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISWbemRefresher interface + */ +#ifndef __ISWbemRefresher_INTERFACE_DEFINED__ +#define __ISWbemRefresher_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISWbemRefresher, 0x14d8250e, 0xd9c2, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("14d8250e-d9c2-11d3-b38f-00105a1f473a") +ISWbemRefresher : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **pUnk) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + LONG iIndex, + ISWbemRefreshableItem **objWbemRefreshableItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *iCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + ISWbemServicesEx *objWbemServices, + BSTR bsInstancePath, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemRefreshableItem **objWbemRefreshableItem = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddEnum( + ISWbemServicesEx *objWbemServices, + BSTR bsClassName, + LONG iFlags = 0, + IDispatch *objWbemNamedValueSet = 0, + ISWbemRefreshableItem **objWbemRefreshableItem = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + LONG iIndex, + LONG iFlags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Refresh( + LONG iFlags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AutoReconnect( + VARIANT_BOOL *bCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AutoReconnect( + VARIANT_BOOL bCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAll( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISWbemRefresher, 0x14d8250e, 0xd9c2, 0x11d3, 0xb3,0x8f, 0x00,0x10,0x5a,0x1f,0x47,0x3a) +#endif +#else +typedef struct ISWbemRefresherVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISWbemRefresher *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISWbemRefresher *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISWbemRefresher *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISWbemRefresher *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISWbemRefresher *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISWbemRefresher *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISWbemRefresher *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISWbemRefresher methods ***/ + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ISWbemRefresher *This, + IUnknown **pUnk); + + HRESULT (STDMETHODCALLTYPE *Item)( + ISWbemRefresher *This, + LONG iIndex, + ISWbemRefreshableItem **objWbemRefreshableItem); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ISWbemRefresher *This, + LONG *iCount); + + HRESULT (STDMETHODCALLTYPE *Add)( + ISWbemRefresher *This, + ISWbemServicesEx *objWbemServices, + BSTR bsInstancePath, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemRefreshableItem **objWbemRefreshableItem); + + HRESULT (STDMETHODCALLTYPE *AddEnum)( + ISWbemRefresher *This, + ISWbemServicesEx *objWbemServices, + BSTR bsClassName, + LONG iFlags, + IDispatch *objWbemNamedValueSet, + ISWbemRefreshableItem **objWbemRefreshableItem); + + HRESULT (STDMETHODCALLTYPE *Remove)( + ISWbemRefresher *This, + LONG iIndex, + LONG iFlags); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + ISWbemRefresher *This, + LONG iFlags); + + HRESULT (STDMETHODCALLTYPE *get_AutoReconnect)( + ISWbemRefresher *This, + VARIANT_BOOL *bCount); + + HRESULT (STDMETHODCALLTYPE *put_AutoReconnect)( + ISWbemRefresher *This, + VARIANT_BOOL bCount); + + HRESULT (STDMETHODCALLTYPE *DeleteAll)( + ISWbemRefresher *This); + + END_INTERFACE +} ISWbemRefresherVtbl; + +interface ISWbemRefresher { + CONST_VTBL ISWbemRefresherVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISWbemRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemRefresher_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemRefresher_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISWbemRefresher_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemRefresher_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemRefresher_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemRefresher_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISWbemRefresher methods ***/ +#define ISWbemRefresher_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemRefresher_Item(This,iIndex,objWbemRefreshableItem) (This)->lpVtbl->Item(This,iIndex,objWbemRefreshableItem) +#define ISWbemRefresher_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemRefresher_Add(This,objWbemServices,bsInstancePath,iFlags,objWbemNamedValueSet,objWbemRefreshableItem) (This)->lpVtbl->Add(This,objWbemServices,bsInstancePath,iFlags,objWbemNamedValueSet,objWbemRefreshableItem) +#define ISWbemRefresher_AddEnum(This,objWbemServices,bsClassName,iFlags,objWbemNamedValueSet,objWbemRefreshableItem) (This)->lpVtbl->AddEnum(This,objWbemServices,bsClassName,iFlags,objWbemNamedValueSet,objWbemRefreshableItem) +#define ISWbemRefresher_Remove(This,iIndex,iFlags) (This)->lpVtbl->Remove(This,iIndex,iFlags) +#define ISWbemRefresher_Refresh(This,iFlags) (This)->lpVtbl->Refresh(This,iFlags) +#define ISWbemRefresher_get_AutoReconnect(This,bCount) (This)->lpVtbl->get_AutoReconnect(This,bCount) +#define ISWbemRefresher_put_AutoReconnect(This,bCount) (This)->lpVtbl->put_AutoReconnect(This,bCount) +#define ISWbemRefresher_DeleteAll(This) (This)->lpVtbl->DeleteAll(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISWbemRefresher_QueryInterface(ISWbemRefresher* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISWbemRefresher_AddRef(ISWbemRefresher* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISWbemRefresher_Release(ISWbemRefresher* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISWbemRefresher_GetTypeInfoCount(ISWbemRefresher* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISWbemRefresher_GetTypeInfo(ISWbemRefresher* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISWbemRefresher_GetIDsOfNames(ISWbemRefresher* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISWbemRefresher_Invoke(ISWbemRefresher* 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); +} +/*** ISWbemRefresher methods ***/ +static inline HRESULT ISWbemRefresher_get__NewEnum(ISWbemRefresher* This,IUnknown **pUnk) { + return This->lpVtbl->get__NewEnum(This,pUnk); +} +static inline HRESULT ISWbemRefresher_Item(ISWbemRefresher* This,LONG iIndex,ISWbemRefreshableItem **objWbemRefreshableItem) { + return This->lpVtbl->Item(This,iIndex,objWbemRefreshableItem); +} +static inline HRESULT ISWbemRefresher_get_Count(ISWbemRefresher* This,LONG *iCount) { + return This->lpVtbl->get_Count(This,iCount); +} +static inline HRESULT ISWbemRefresher_Add(ISWbemRefresher* This,ISWbemServicesEx *objWbemServices,BSTR bsInstancePath,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemRefreshableItem **objWbemRefreshableItem) { + return This->lpVtbl->Add(This,objWbemServices,bsInstancePath,iFlags,objWbemNamedValueSet,objWbemRefreshableItem); +} +static inline HRESULT ISWbemRefresher_AddEnum(ISWbemRefresher* This,ISWbemServicesEx *objWbemServices,BSTR bsClassName,LONG iFlags,IDispatch *objWbemNamedValueSet,ISWbemRefreshableItem **objWbemRefreshableItem) { + return This->lpVtbl->AddEnum(This,objWbemServices,bsClassName,iFlags,objWbemNamedValueSet,objWbemRefreshableItem); +} +static inline HRESULT ISWbemRefresher_Remove(ISWbemRefresher* This,LONG iIndex,LONG iFlags) { + return This->lpVtbl->Remove(This,iIndex,iFlags); +} +static inline HRESULT ISWbemRefresher_Refresh(ISWbemRefresher* This,LONG iFlags) { + return This->lpVtbl->Refresh(This,iFlags); +} +static inline HRESULT ISWbemRefresher_get_AutoReconnect(ISWbemRefresher* This,VARIANT_BOOL *bCount) { + return This->lpVtbl->get_AutoReconnect(This,bCount); +} +static inline HRESULT ISWbemRefresher_put_AutoReconnect(ISWbemRefresher* This,VARIANT_BOOL bCount) { + return This->lpVtbl->put_AutoReconnect(This,bCount); +} +static inline HRESULT ISWbemRefresher_DeleteAll(ISWbemRefresher* This) { + return This->lpVtbl->DeleteAll(This); +} +#endif +#endif + +#endif + + +#endif /* __ISWbemRefresher_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wbemdisp_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemidl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemidl.h new file mode 100644 index 00000000..7c221583 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemidl.h @@ -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. + */ +#ifndef __WBEMIDL_H_ +#define __WBEMIDL_H_ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include +#include +#include +#include +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemprov.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemprov.h new file mode 100644 index 00000000..11718bd7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemprov.h @@ -0,0 +1,1694 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wbemprov.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 __wbemprov_h__ +#define __wbemprov_h__ + +/* Forward declarations */ + +#ifndef __WbemAdministrativeLocator_FWD_DEFINED__ +#define __WbemAdministrativeLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemAdministrativeLocator WbemAdministrativeLocator; +#else +typedef struct WbemAdministrativeLocator WbemAdministrativeLocator; +#endif /* defined __cplusplus */ +#endif /* defined __WbemAdministrativeLocator_FWD_DEFINED__ */ + +#ifndef __WbemAuthenticatedLocator_FWD_DEFINED__ +#define __WbemAuthenticatedLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemAuthenticatedLocator WbemAuthenticatedLocator; +#else +typedef struct WbemAuthenticatedLocator WbemAuthenticatedLocator; +#endif /* defined __cplusplus */ +#endif /* defined __WbemAuthenticatedLocator_FWD_DEFINED__ */ + +#ifndef __WbemUnauthenticatedLocator_FWD_DEFINED__ +#define __WbemUnauthenticatedLocator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemUnauthenticatedLocator WbemUnauthenticatedLocator; +#else +typedef struct WbemUnauthenticatedLocator WbemUnauthenticatedLocator; +#endif /* defined __cplusplus */ +#endif /* defined __WbemUnauthenticatedLocator_FWD_DEFINED__ */ + +#ifndef __WbemDecoupledRegistrar_FWD_DEFINED__ +#define __WbemDecoupledRegistrar_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemDecoupledRegistrar WbemDecoupledRegistrar; +#else +typedef struct WbemDecoupledRegistrar WbemDecoupledRegistrar; +#endif /* defined __cplusplus */ +#endif /* defined __WbemDecoupledRegistrar_FWD_DEFINED__ */ + +#ifndef __WbemDecoupledBasicEventProvider_FWD_DEFINED__ +#define __WbemDecoupledBasicEventProvider_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider; +#else +typedef struct WbemDecoupledBasicEventProvider WbemDecoupledBasicEventProvider; +#endif /* defined __cplusplus */ +#endif /* defined __WbemDecoupledBasicEventProvider_FWD_DEFINED__ */ + +#ifndef __IWbemUnboundObjectSink_FWD_DEFINED__ +#define __IWbemUnboundObjectSink_FWD_DEFINED__ +typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink; +#ifdef __cplusplus +interface IWbemUnboundObjectSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemPropertyProvider_FWD_DEFINED__ +#define __IWbemPropertyProvider_FWD_DEFINED__ +typedef interface IWbemPropertyProvider IWbemPropertyProvider; +#ifdef __cplusplus +interface IWbemPropertyProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProvider_FWD_DEFINED__ +#define __IWbemEventProvider_FWD_DEFINED__ +typedef interface IWbemEventProvider IWbemEventProvider; +#ifdef __cplusplus +interface IWbemEventProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__ +#define __IWbemEventProviderQuerySink_FWD_DEFINED__ +typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink; +#ifdef __cplusplus +interface IWbemEventProviderQuerySink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProviderSecurity_FWD_DEFINED__ +#define __IWbemEventProviderSecurity_FWD_DEFINED__ +typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity; +#ifdef __cplusplus +interface IWbemEventProviderSecurity; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemProviderIdentity_FWD_DEFINED__ +#define __IWbemProviderIdentity_FWD_DEFINED__ +typedef interface IWbemProviderIdentity IWbemProviderIdentity; +#ifdef __cplusplus +interface IWbemProviderIdentity; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventConsumerProvider_FWD_DEFINED__ +#define __IWbemEventConsumerProvider_FWD_DEFINED__ +typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider; +#ifdef __cplusplus +interface IWbemEventConsumerProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemProviderInitSink_FWD_DEFINED__ +#define __IWbemProviderInitSink_FWD_DEFINED__ +typedef interface IWbemProviderInitSink IWbemProviderInitSink; +#ifdef __cplusplus +interface IWbemProviderInitSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemProviderInit_FWD_DEFINED__ +#define __IWbemProviderInit_FWD_DEFINED__ +typedef interface IWbemProviderInit IWbemProviderInit; +#ifdef __cplusplus +interface IWbemProviderInit; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemHiPerfProvider_FWD_DEFINED__ +#define __IWbemHiPerfProvider_FWD_DEFINED__ +typedef interface IWbemHiPerfProvider IWbemHiPerfProvider; +#ifdef __cplusplus +interface IWbemHiPerfProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__ +#define __IWbemDecoupledRegistrar_FWD_DEFINED__ +typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar; +#ifdef __cplusplus +interface IWbemDecoupledRegistrar; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemDecoupledBasicEventProvider_FWD_DEFINED__ +#define __IWbemDecoupledBasicEventProvider_FWD_DEFINED__ +typedef interface IWbemDecoupledBasicEventProvider IWbemDecoupledBasicEventProvider; +#ifdef __cplusplus +interface IWbemDecoupledBasicEventProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventSink_FWD_DEFINED__ +#define __IWbemEventSink_FWD_DEFINED__ +typedef interface IWbemEventSink IWbemEventSink; +#ifdef __cplusplus +interface IWbemEventSink; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +typedef VARIANT WBEM_VARIANT; +typedef LPWSTR WBEM_WSTR; +typedef LPCWSTR WBEM_CWSTR; +typedef enum tag_WBEM_PROVIDER_REQUIREMENTS_TYPE { + WBEM_REQUIREMENTS_START_POSTFILTER = 0, + WBEM_REQUIREMENTS_STOP_POSTFILTER = 1, + WBEM_REQUIREMENTS_RECHECK_SUBSCRIPTIONS = 2 +} WBEM_PROVIDER_REQUIREMENTS_TYPE; +#ifndef __IWbemPropertyProvider_FWD_DEFINED__ +#define __IWbemPropertyProvider_FWD_DEFINED__ +typedef interface IWbemPropertyProvider IWbemPropertyProvider; +#ifdef __cplusplus +interface IWbemPropertyProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemUnboundObjectSink_FWD_DEFINED__ +#define __IWbemUnboundObjectSink_FWD_DEFINED__ +typedef interface IWbemUnboundObjectSink IWbemUnboundObjectSink; +#ifdef __cplusplus +interface IWbemUnboundObjectSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProvider_FWD_DEFINED__ +#define __IWbemEventProvider_FWD_DEFINED__ +typedef interface IWbemEventProvider IWbemEventProvider; +#ifdef __cplusplus +interface IWbemEventProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProviderQuerySink_FWD_DEFINED__ +#define __IWbemEventProviderQuerySink_FWD_DEFINED__ +typedef interface IWbemEventProviderQuerySink IWbemEventProviderQuerySink; +#ifdef __cplusplus +interface IWbemEventProviderQuerySink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventProviderSecurity_FWD_DEFINED__ +#define __IWbemEventProviderSecurity_FWD_DEFINED__ +typedef interface IWbemEventProviderSecurity IWbemEventProviderSecurity; +#ifdef __cplusplus +interface IWbemEventProviderSecurity; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemEventConsumerProvider_FWD_DEFINED__ +#define __IWbemEventConsumerProvider_FWD_DEFINED__ +typedef interface IWbemEventConsumerProvider IWbemEventConsumerProvider; +#ifdef __cplusplus +interface IWbemEventConsumerProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemProviderInitSink_FWD_DEFINED__ +#define __IWbemProviderInitSink_FWD_DEFINED__ +typedef interface IWbemProviderInitSink IWbemProviderInitSink; +#ifdef __cplusplus +interface IWbemProviderInitSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemProviderInit_FWD_DEFINED__ +#define __IWbemProviderInit_FWD_DEFINED__ +typedef interface IWbemProviderInit IWbemProviderInit; +#ifdef __cplusplus +interface IWbemProviderInit; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemHiPerfProvider_FWD_DEFINED__ +#define __IWbemHiPerfProvider_FWD_DEFINED__ +typedef interface IWbemHiPerfProvider IWbemHiPerfProvider; +#ifdef __cplusplus +interface IWbemHiPerfProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemDecoupledRegistrar_FWD_DEFINED__ +#define __IWbemDecoupledRegistrar_FWD_DEFINED__ +typedef interface IWbemDecoupledRegistrar IWbemDecoupledRegistrar; +#ifdef __cplusplus +interface IWbemDecoupledRegistrar; +#endif /* __cplusplus */ +#endif + +#ifndef __WbemProviders_v1_LIBRARY_DEFINED__ +#define __WbemProviders_v1_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WbemProviders_v1, 0x092df710, 0x7010, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +/***************************************************************************** + * WbemAdministrativeLocator coclass + */ + +DEFINE_GUID(CLSID_WbemAdministrativeLocator, 0xcb8555cc, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("cb8555cc-9128-11d1-ad9b-00c04fd8fdff") WbemAdministrativeLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemAdministrativeLocator, 0xcb8555cc, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +/***************************************************************************** + * WbemAuthenticatedLocator coclass + */ + +DEFINE_GUID(CLSID_WbemAuthenticatedLocator, 0xcd184336, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("cd184336-9128-11d1-ad9b-00c04fd8fdff") WbemAuthenticatedLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemAuthenticatedLocator, 0xcd184336, 0x9128, 0x11d1, 0xad,0x9b, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +/***************************************************************************** + * WbemUnauthenticatedLocator coclass + */ + +DEFINE_GUID(CLSID_WbemUnauthenticatedLocator, 0x443e7b79, 0xde31, 0x11d2, 0xb3,0x40, 0x00,0x10,0x4b,0xcc,0x4b,0x4a); + +#ifdef __cplusplus +class DECLSPEC_UUID("443e7b79-de31-11d2-b340-00104bcc4b4a") WbemUnauthenticatedLocator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemUnauthenticatedLocator, 0x443e7b79, 0xde31, 0x11d2, 0xb3,0x40, 0x00,0x10,0x4b,0xcc,0x4b,0x4a) +#endif +#endif + +/***************************************************************************** + * WbemDecoupledRegistrar coclass + */ + +DEFINE_GUID(CLSID_WbemDecoupledRegistrar, 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c,0x32, 0x8e,0xa2,0xa6,0xb5,0x6f,0xcb); + +#ifdef __cplusplus +class DECLSPEC_UUID("4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb") WbemDecoupledRegistrar; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemDecoupledRegistrar, 0x4cfc7932, 0x0f9d, 0x4bef, 0x9c,0x32, 0x8e,0xa2,0xa6,0xb5,0x6f,0xcb) +#endif +#endif + +/***************************************************************************** + * WbemDecoupledBasicEventProvider coclass + */ + +DEFINE_GUID(CLSID_WbemDecoupledBasicEventProvider, 0xf5f75737, 0x2843, 0x4f22, 0x93,0x3d, 0xc7,0x6a,0x97,0xcd,0xa6,0x2f); + +#ifdef __cplusplus +class DECLSPEC_UUID("f5f75737-2843-4f22-933d-c76a97cda62f") WbemDecoupledBasicEventProvider; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemDecoupledBasicEventProvider, 0xf5f75737, 0x2843, 0x4f22, 0x93,0x3d, 0xc7,0x6a,0x97,0xcd,0xa6,0x2f) +#endif +#endif + +#endif /* __WbemProviders_v1_LIBRARY_DEFINED__ */ +typedef enum tag_WBEM_BATCH_TYPE { + WBEM_FLAG_BATCH_IF_NEEDED = 0, + WBEM_FLAG_MUST_BATCH = 0x1, + WBEM_FLAG_MUST_NOT_BATCH = 0x2 +} WBEM_BATCH_TYPE; +typedef enum tag_WBEM_PROVIDER_FLAGS { + WBEM_FLAG_OWNER_UPDATE = 0x10000 +} WBEM_PROVIDER_FLAGS; +typedef enum tag_WBEM_EXTRA_RETURN_CODES { + WBEM_S_INITIALIZED = 0, + WBEM_S_LIMITED_SERVICE = 0x43001, + WBEM_S_INDIRECTLY_UPDATED = 0x43002, + WBEM_S_SUBJECT_TO_SDS = 0x43003, + WBEM_E_RETRY_LATER = 0x80043001, + WBEM_E_RESOURCE_CONTENTION = 0x80043002 +} WBEM_EXTRA_RETURN_CODES; +/***************************************************************************** + * IWbemUnboundObjectSink interface + */ +#ifndef __IWbemUnboundObjectSink_INTERFACE_DEFINED__ +#define __IWbemUnboundObjectSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemUnboundObjectSink, 0xe246107b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e246107b-b06e-11d0-ad61-00c04fd8fdff") +IWbemUnboundObjectSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IndicateToConsumer( + IWbemClassObject *pLogicalConsumer, + LONG lNumObjects, + IWbemClassObject **apObjects) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemUnboundObjectSink, 0xe246107b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IWbemUnboundObjectSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemUnboundObjectSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemUnboundObjectSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemUnboundObjectSink *This); + + /*** IWbemUnboundObjectSink methods ***/ + HRESULT (STDMETHODCALLTYPE *IndicateToConsumer)( + IWbemUnboundObjectSink *This, + IWbemClassObject *pLogicalConsumer, + LONG lNumObjects, + IWbemClassObject **apObjects); + + END_INTERFACE +} IWbemUnboundObjectSinkVtbl; + +interface IWbemUnboundObjectSink { + CONST_VTBL IWbemUnboundObjectSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemUnboundObjectSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemUnboundObjectSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemUnboundObjectSink_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemUnboundObjectSink methods ***/ +#define IWbemUnboundObjectSink_IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects) (This)->lpVtbl->IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemUnboundObjectSink_QueryInterface(IWbemUnboundObjectSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemUnboundObjectSink_AddRef(IWbemUnboundObjectSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemUnboundObjectSink_Release(IWbemUnboundObjectSink* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemUnboundObjectSink methods ***/ +static inline HRESULT IWbemUnboundObjectSink_IndicateToConsumer(IWbemUnboundObjectSink* This,IWbemClassObject *pLogicalConsumer,LONG lNumObjects,IWbemClassObject **apObjects) { + return This->lpVtbl->IndicateToConsumer(This,pLogicalConsumer,lNumObjects,apObjects); +} +#endif +#endif + +#endif + + +#endif /* __IWbemUnboundObjectSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemPropertyProvider interface + */ +#ifndef __IWbemPropertyProvider_INTERFACE_DEFINED__ +#define __IWbemPropertyProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemPropertyProvider, 0xce61e841, 0x65bc, 0x11d0, 0xb6,0xbd, 0x00,0xaa,0x00,0x32,0x40,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ce61e841-65bc-11d0-b6bd-00aa003240c7") +IWbemPropertyProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetProperty( + LONG lFlags, + const BSTR strLocale, + const BSTR strClassMapping, + const BSTR strInstMapping, + const BSTR strPropMapping, + VARIANT *pvValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE PutProperty( + LONG lFlags, + const BSTR strLocale, + const BSTR strClassMapping, + const BSTR strInstMapping, + const BSTR strPropMapping, + const VARIANT *pvValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemPropertyProvider, 0xce61e841, 0x65bc, 0x11d0, 0xb6,0xbd, 0x00,0xaa,0x00,0x32,0x40,0xc7) +#endif +#else +typedef struct IWbemPropertyProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemPropertyProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemPropertyProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemPropertyProvider *This); + + /*** IWbemPropertyProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IWbemPropertyProvider *This, + LONG lFlags, + const BSTR strLocale, + const BSTR strClassMapping, + const BSTR strInstMapping, + const BSTR strPropMapping, + VARIANT *pvValue); + + HRESULT (STDMETHODCALLTYPE *PutProperty)( + IWbemPropertyProvider *This, + LONG lFlags, + const BSTR strLocale, + const BSTR strClassMapping, + const BSTR strInstMapping, + const BSTR strPropMapping, + const VARIANT *pvValue); + + END_INTERFACE +} IWbemPropertyProviderVtbl; + +interface IWbemPropertyProvider { + CONST_VTBL IWbemPropertyProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemPropertyProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemPropertyProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemPropertyProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemPropertyProvider methods ***/ +#define IWbemPropertyProvider_GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) (This)->lpVtbl->GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) +#define IWbemPropertyProvider_PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) (This)->lpVtbl->PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemPropertyProvider_QueryInterface(IWbemPropertyProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemPropertyProvider_AddRef(IWbemPropertyProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemPropertyProvider_Release(IWbemPropertyProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemPropertyProvider methods ***/ +static inline HRESULT IWbemPropertyProvider_GetProperty(IWbemPropertyProvider* This,LONG lFlags,const BSTR strLocale,const BSTR strClassMapping,const BSTR strInstMapping,const BSTR strPropMapping,VARIANT *pvValue) { + return This->lpVtbl->GetProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue); +} +static inline HRESULT IWbemPropertyProvider_PutProperty(IWbemPropertyProvider* This,LONG lFlags,const BSTR strLocale,const BSTR strClassMapping,const BSTR strInstMapping,const BSTR strPropMapping,const VARIANT *pvValue) { + return This->lpVtbl->PutProperty(This,lFlags,strLocale,strClassMapping,strInstMapping,strPropMapping,pvValue); +} +#endif +#endif + +#endif + + +#endif /* __IWbemPropertyProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemEventProvider interface + */ +#ifndef __IWbemEventProvider_INTERFACE_DEFINED__ +#define __IWbemEventProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemEventProvider, 0xe245105b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e245105b-b06e-11d0-ad61-00c04fd8fdff") +IWbemEventProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ProvideEvents( + IWbemObjectSink *pSink, + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemEventProvider, 0xe245105b, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IWbemEventProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemEventProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemEventProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemEventProvider *This); + + /*** IWbemEventProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *ProvideEvents)( + IWbemEventProvider *This, + IWbemObjectSink *pSink, + LONG lFlags); + + END_INTERFACE +} IWbemEventProviderVtbl; + +interface IWbemEventProvider { + CONST_VTBL IWbemEventProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemEventProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemEventProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemEventProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemEventProvider methods ***/ +#define IWbemEventProvider_ProvideEvents(This,pSink,lFlags) (This)->lpVtbl->ProvideEvents(This,pSink,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemEventProvider_QueryInterface(IWbemEventProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemEventProvider_AddRef(IWbemEventProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemEventProvider_Release(IWbemEventProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemEventProvider methods ***/ +static inline HRESULT IWbemEventProvider_ProvideEvents(IWbemEventProvider* This,IWbemObjectSink *pSink,LONG lFlags) { + return This->lpVtbl->ProvideEvents(This,pSink,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemEventProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemEventProviderQuerySink interface + */ +#ifndef __IWbemEventProviderQuerySink_INTERFACE_DEFINED__ +#define __IWbemEventProviderQuerySink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemEventProviderQuerySink, 0x580acaf8, 0xfa1c, 0x11d0, 0xad,0x72, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("580acaf8-fa1c-11d0-ad72-00c04fd8fdff") +IWbemEventProviderQuerySink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE NewQuery( + ULONG dwId, + WBEM_WSTR wszQueryLanguage, + WBEM_WSTR wszQuery) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelQuery( + ULONG dwId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemEventProviderQuerySink, 0x580acaf8, 0xfa1c, 0x11d0, 0xad,0x72, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IWbemEventProviderQuerySinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemEventProviderQuerySink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemEventProviderQuerySink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemEventProviderQuerySink *This); + + /*** IWbemEventProviderQuerySink methods ***/ + HRESULT (STDMETHODCALLTYPE *NewQuery)( + IWbemEventProviderQuerySink *This, + ULONG dwId, + WBEM_WSTR wszQueryLanguage, + WBEM_WSTR wszQuery); + + HRESULT (STDMETHODCALLTYPE *CancelQuery)( + IWbemEventProviderQuerySink *This, + ULONG dwId); + + END_INTERFACE +} IWbemEventProviderQuerySinkVtbl; + +interface IWbemEventProviderQuerySink { + CONST_VTBL IWbemEventProviderQuerySinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemEventProviderQuerySink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemEventProviderQuerySink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemEventProviderQuerySink_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemEventProviderQuerySink methods ***/ +#define IWbemEventProviderQuerySink_NewQuery(This,dwId,wszQueryLanguage,wszQuery) (This)->lpVtbl->NewQuery(This,dwId,wszQueryLanguage,wszQuery) +#define IWbemEventProviderQuerySink_CancelQuery(This,dwId) (This)->lpVtbl->CancelQuery(This,dwId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemEventProviderQuerySink_QueryInterface(IWbemEventProviderQuerySink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemEventProviderQuerySink_AddRef(IWbemEventProviderQuerySink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemEventProviderQuerySink_Release(IWbemEventProviderQuerySink* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemEventProviderQuerySink methods ***/ +static inline HRESULT IWbemEventProviderQuerySink_NewQuery(IWbemEventProviderQuerySink* This,ULONG dwId,WBEM_WSTR wszQueryLanguage,WBEM_WSTR wszQuery) { + return This->lpVtbl->NewQuery(This,dwId,wszQueryLanguage,wszQuery); +} +static inline HRESULT IWbemEventProviderQuerySink_CancelQuery(IWbemEventProviderQuerySink* This,ULONG dwId) { + return This->lpVtbl->CancelQuery(This,dwId); +} +#endif +#endif + +#endif + + +#endif /* __IWbemEventProviderQuerySink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemEventProviderSecurity interface + */ +#ifndef __IWbemEventProviderSecurity_INTERFACE_DEFINED__ +#define __IWbemEventProviderSecurity_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemEventProviderSecurity, 0x631f7d96, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("631f7d96-d993-11d2-b339-00105a1f4aaf") +IWbemEventProviderSecurity : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AccessCheck( + WBEM_CWSTR wszQueryLanguage, + WBEM_CWSTR wszQuery, + LONG lSidLength, + const BYTE *pSid) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemEventProviderSecurity, 0x631f7d96, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf) +#endif +#else +typedef struct IWbemEventProviderSecurityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemEventProviderSecurity *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemEventProviderSecurity *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemEventProviderSecurity *This); + + /*** IWbemEventProviderSecurity methods ***/ + HRESULT (STDMETHODCALLTYPE *AccessCheck)( + IWbemEventProviderSecurity *This, + WBEM_CWSTR wszQueryLanguage, + WBEM_CWSTR wszQuery, + LONG lSidLength, + const BYTE *pSid); + + END_INTERFACE +} IWbemEventProviderSecurityVtbl; + +interface IWbemEventProviderSecurity { + CONST_VTBL IWbemEventProviderSecurityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemEventProviderSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemEventProviderSecurity_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemEventProviderSecurity_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemEventProviderSecurity methods ***/ +#define IWbemEventProviderSecurity_AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid) (This)->lpVtbl->AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemEventProviderSecurity_QueryInterface(IWbemEventProviderSecurity* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemEventProviderSecurity_AddRef(IWbemEventProviderSecurity* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemEventProviderSecurity_Release(IWbemEventProviderSecurity* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemEventProviderSecurity methods ***/ +static inline HRESULT IWbemEventProviderSecurity_AccessCheck(IWbemEventProviderSecurity* This,WBEM_CWSTR wszQueryLanguage,WBEM_CWSTR wszQuery,LONG lSidLength,const BYTE *pSid) { + return This->lpVtbl->AccessCheck(This,wszQueryLanguage,wszQuery,lSidLength,pSid); +} +#endif +#endif + +#endif + + +#endif /* __IWbemEventProviderSecurity_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemProviderIdentity interface + */ +#ifndef __IWbemProviderIdentity_INTERFACE_DEFINED__ +#define __IWbemProviderIdentity_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemProviderIdentity, 0x631f7d97, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("631f7d97-d993-11d2-b339-00105a1f4aaf") +IWbemProviderIdentity : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetRegistrationObject( + LONG lFlags, + IWbemClassObject *pProvReg) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemProviderIdentity, 0x631f7d97, 0xd993, 0x11d2, 0xb3,0x39, 0x00,0x10,0x5a,0x1f,0x4a,0xaf) +#endif +#else +typedef struct IWbemProviderIdentityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemProviderIdentity *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemProviderIdentity *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemProviderIdentity *This); + + /*** IWbemProviderIdentity methods ***/ + HRESULT (STDMETHODCALLTYPE *SetRegistrationObject)( + IWbemProviderIdentity *This, + LONG lFlags, + IWbemClassObject *pProvReg); + + END_INTERFACE +} IWbemProviderIdentityVtbl; + +interface IWbemProviderIdentity { + CONST_VTBL IWbemProviderIdentityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemProviderIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemProviderIdentity_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemProviderIdentity_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemProviderIdentity methods ***/ +#define IWbemProviderIdentity_SetRegistrationObject(This,lFlags,pProvReg) (This)->lpVtbl->SetRegistrationObject(This,lFlags,pProvReg) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemProviderIdentity_QueryInterface(IWbemProviderIdentity* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemProviderIdentity_AddRef(IWbemProviderIdentity* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemProviderIdentity_Release(IWbemProviderIdentity* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemProviderIdentity methods ***/ +static inline HRESULT IWbemProviderIdentity_SetRegistrationObject(IWbemProviderIdentity* This,LONG lFlags,IWbemClassObject *pProvReg) { + return This->lpVtbl->SetRegistrationObject(This,lFlags,pProvReg); +} +#endif +#endif + +#endif + + +#endif /* __IWbemProviderIdentity_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemEventConsumerProvider interface + */ +#ifndef __IWbemEventConsumerProvider_INTERFACE_DEFINED__ +#define __IWbemEventConsumerProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemEventConsumerProvider, 0xe246107a, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e246107a-b06e-11d0-ad61-00c04fd8fdff") +IWbemEventConsumerProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE FindConsumer( + IWbemClassObject *pLogicalConsumer, + IWbemUnboundObjectSink **ppConsumer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemEventConsumerProvider, 0xe246107a, 0xb06e, 0x11d0, 0xad,0x61, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IWbemEventConsumerProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemEventConsumerProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemEventConsumerProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemEventConsumerProvider *This); + + /*** IWbemEventConsumerProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *FindConsumer)( + IWbemEventConsumerProvider *This, + IWbemClassObject *pLogicalConsumer, + IWbemUnboundObjectSink **ppConsumer); + + END_INTERFACE +} IWbemEventConsumerProviderVtbl; + +interface IWbemEventConsumerProvider { + CONST_VTBL IWbemEventConsumerProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemEventConsumerProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemEventConsumerProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemEventConsumerProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemEventConsumerProvider methods ***/ +#define IWbemEventConsumerProvider_FindConsumer(This,pLogicalConsumer,ppConsumer) (This)->lpVtbl->FindConsumer(This,pLogicalConsumer,ppConsumer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemEventConsumerProvider_QueryInterface(IWbemEventConsumerProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemEventConsumerProvider_AddRef(IWbemEventConsumerProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemEventConsumerProvider_Release(IWbemEventConsumerProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemEventConsumerProvider methods ***/ +static inline HRESULT IWbemEventConsumerProvider_FindConsumer(IWbemEventConsumerProvider* This,IWbemClassObject *pLogicalConsumer,IWbemUnboundObjectSink **ppConsumer) { + return This->lpVtbl->FindConsumer(This,pLogicalConsumer,ppConsumer); +} +#endif +#endif + +#endif + + +#endif /* __IWbemEventConsumerProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemProviderInitSink interface + */ +#ifndef __IWbemProviderInitSink_INTERFACE_DEFINED__ +#define __IWbemProviderInitSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemProviderInitSink, 0x1be41571, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1be41571-91dd-11d1-aeb2-00c04fb68820") +IWbemProviderInitSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetStatus( + LONG lStatus, + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemProviderInitSink, 0x1be41571, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemProviderInitSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemProviderInitSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemProviderInitSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemProviderInitSink *This); + + /*** IWbemProviderInitSink methods ***/ + HRESULT (STDMETHODCALLTYPE *SetStatus)( + IWbemProviderInitSink *This, + LONG lStatus, + LONG lFlags); + + END_INTERFACE +} IWbemProviderInitSinkVtbl; + +interface IWbemProviderInitSink { + CONST_VTBL IWbemProviderInitSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemProviderInitSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemProviderInitSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemProviderInitSink_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemProviderInitSink methods ***/ +#define IWbemProviderInitSink_SetStatus(This,lStatus,lFlags) (This)->lpVtbl->SetStatus(This,lStatus,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemProviderInitSink_QueryInterface(IWbemProviderInitSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemProviderInitSink_AddRef(IWbemProviderInitSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemProviderInitSink_Release(IWbemProviderInitSink* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemProviderInitSink methods ***/ +static inline HRESULT IWbemProviderInitSink_SetStatus(IWbemProviderInitSink* This,LONG lStatus,LONG lFlags) { + return This->lpVtbl->SetStatus(This,lStatus,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWbemProviderInitSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemProviderInit interface + */ +#ifndef __IWbemProviderInit_INTERFACE_DEFINED__ +#define __IWbemProviderInit_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemProviderInit, 0x1be41572, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1be41572-91dd-11d1-aeb2-00c04fb68820") +IWbemProviderInit : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + LPWSTR wszUser, + LONG lFlags, + LPWSTR wszNamespace, + LPWSTR wszLocale, + IWbemServices *pNamespace, + IWbemContext *pCtx, + IWbemProviderInitSink *pInitSink) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemProviderInit, 0x1be41572, 0x91dd, 0x11d1, 0xae,0xb2, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemProviderInitVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemProviderInit *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemProviderInit *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemProviderInit *This); + + /*** IWbemProviderInit methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWbemProviderInit *This, + LPWSTR wszUser, + LONG lFlags, + LPWSTR wszNamespace, + LPWSTR wszLocale, + IWbemServices *pNamespace, + IWbemContext *pCtx, + IWbemProviderInitSink *pInitSink); + + END_INTERFACE +} IWbemProviderInitVtbl; + +interface IWbemProviderInit { + CONST_VTBL IWbemProviderInitVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemProviderInit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemProviderInit_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemProviderInit_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemProviderInit methods ***/ +#define IWbemProviderInit_Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink) (This)->lpVtbl->Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemProviderInit_QueryInterface(IWbemProviderInit* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemProviderInit_AddRef(IWbemProviderInit* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemProviderInit_Release(IWbemProviderInit* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemProviderInit methods ***/ +static inline HRESULT IWbemProviderInit_Initialize(IWbemProviderInit* This,LPWSTR wszUser,LONG lFlags,LPWSTR wszNamespace,LPWSTR wszLocale,IWbemServices *pNamespace,IWbemContext *pCtx,IWbemProviderInitSink *pInitSink) { + return This->lpVtbl->Initialize(This,wszUser,lFlags,wszNamespace,wszLocale,pNamespace,pCtx,pInitSink); +} +#endif +#endif + +#endif + + +#endif /* __IWbemProviderInit_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemHiPerfProvider interface + */ +#ifndef __IWbemHiPerfProvider_INTERFACE_DEFINED__ +#define __IWbemHiPerfProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemHiPerfProvider, 0x49353c93, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("49353c93-516b-11d1-aea6-00c04fb68820") +IWbemHiPerfProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryInstances( + IWbemServices *pNamespace, + WCHAR *wszClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRefresher( + IWbemServices *pNamespace, + LONG lFlags, + IWbemRefresher **ppRefresher) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRefreshableObject( + IWbemServices *pNamespace, + IWbemObjectAccess *pTemplate, + IWbemRefresher *pRefresher, + LONG lFlags, + IWbemContext *pContext, + IWbemObjectAccess **ppRefreshable, + LONG *plId) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopRefreshing( + IWbemRefresher *pRefresher, + LONG lId, + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRefreshableEnum( + IWbemServices *pNamespace, + LPCWSTR wszClass, + IWbemRefresher *pRefresher, + LONG lFlags, + IWbemContext *pContext, + IWbemHiPerfEnum *pHiPerfEnum, + LONG *plId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetObjects( + IWbemServices *pNamespace, + LONG lNumObjects, + IWbemObjectAccess **apObj, + LONG lFlags, + IWbemContext *pContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemHiPerfProvider, 0x49353c93, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemHiPerfProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemHiPerfProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemHiPerfProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemHiPerfProvider *This); + + /*** IWbemHiPerfProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInstances)( + IWbemHiPerfProvider *This, + IWbemServices *pNamespace, + WCHAR *wszClass, + LONG lFlags, + IWbemContext *pCtx, + IWbemObjectSink *pSink); + + HRESULT (STDMETHODCALLTYPE *CreateRefresher)( + IWbemHiPerfProvider *This, + IWbemServices *pNamespace, + LONG lFlags, + IWbemRefresher **ppRefresher); + + HRESULT (STDMETHODCALLTYPE *CreateRefreshableObject)( + IWbemHiPerfProvider *This, + IWbemServices *pNamespace, + IWbemObjectAccess *pTemplate, + IWbemRefresher *pRefresher, + LONG lFlags, + IWbemContext *pContext, + IWbemObjectAccess **ppRefreshable, + LONG *plId); + + HRESULT (STDMETHODCALLTYPE *StopRefreshing)( + IWbemHiPerfProvider *This, + IWbemRefresher *pRefresher, + LONG lId, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *CreateRefreshableEnum)( + IWbemHiPerfProvider *This, + IWbemServices *pNamespace, + LPCWSTR wszClass, + IWbemRefresher *pRefresher, + LONG lFlags, + IWbemContext *pContext, + IWbemHiPerfEnum *pHiPerfEnum, + LONG *plId); + + HRESULT (STDMETHODCALLTYPE *GetObjects)( + IWbemHiPerfProvider *This, + IWbemServices *pNamespace, + LONG lNumObjects, + IWbemObjectAccess **apObj, + LONG lFlags, + IWbemContext *pContext); + + END_INTERFACE +} IWbemHiPerfProviderVtbl; + +interface IWbemHiPerfProvider { + CONST_VTBL IWbemHiPerfProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemHiPerfProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemHiPerfProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemHiPerfProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemHiPerfProvider methods ***/ +#define IWbemHiPerfProvider_QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink) (This)->lpVtbl->QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink) +#define IWbemHiPerfProvider_CreateRefresher(This,pNamespace,lFlags,ppRefresher) (This)->lpVtbl->CreateRefresher(This,pNamespace,lFlags,ppRefresher) +#define IWbemHiPerfProvider_CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId) +#define IWbemHiPerfProvider_StopRefreshing(This,pRefresher,lId,lFlags) (This)->lpVtbl->StopRefreshing(This,pRefresher,lId,lFlags) +#define IWbemHiPerfProvider_CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId) (This)->lpVtbl->CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId) +#define IWbemHiPerfProvider_GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext) (This)->lpVtbl->GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemHiPerfProvider_QueryInterface(IWbemHiPerfProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemHiPerfProvider_AddRef(IWbemHiPerfProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemHiPerfProvider_Release(IWbemHiPerfProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemHiPerfProvider methods ***/ +static inline HRESULT IWbemHiPerfProvider_QueryInstances(IWbemHiPerfProvider* This,IWbemServices *pNamespace,WCHAR *wszClass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pSink) { + return This->lpVtbl->QueryInstances(This,pNamespace,wszClass,lFlags,pCtx,pSink); +} +static inline HRESULT IWbemHiPerfProvider_CreateRefresher(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LONG lFlags,IWbemRefresher **ppRefresher) { + return This->lpVtbl->CreateRefresher(This,pNamespace,lFlags,ppRefresher); +} +static inline HRESULT IWbemHiPerfProvider_CreateRefreshableObject(IWbemHiPerfProvider* This,IWbemServices *pNamespace,IWbemObjectAccess *pTemplate,IWbemRefresher *pRefresher,LONG lFlags,IWbemContext *pContext,IWbemObjectAccess **ppRefreshable,LONG *plId) { + return This->lpVtbl->CreateRefreshableObject(This,pNamespace,pTemplate,pRefresher,lFlags,pContext,ppRefreshable,plId); +} +static inline HRESULT IWbemHiPerfProvider_StopRefreshing(IWbemHiPerfProvider* This,IWbemRefresher *pRefresher,LONG lId,LONG lFlags) { + return This->lpVtbl->StopRefreshing(This,pRefresher,lId,lFlags); +} +static inline HRESULT IWbemHiPerfProvider_CreateRefreshableEnum(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LPCWSTR wszClass,IWbemRefresher *pRefresher,LONG lFlags,IWbemContext *pContext,IWbemHiPerfEnum *pHiPerfEnum,LONG *plId) { + return This->lpVtbl->CreateRefreshableEnum(This,pNamespace,wszClass,pRefresher,lFlags,pContext,pHiPerfEnum,plId); +} +static inline HRESULT IWbemHiPerfProvider_GetObjects(IWbemHiPerfProvider* This,IWbemServices *pNamespace,LONG lNumObjects,IWbemObjectAccess **apObj,LONG lFlags,IWbemContext *pContext) { + return This->lpVtbl->GetObjects(This,pNamespace,lNumObjects,apObj,lFlags,pContext); +} +#endif +#endif + +#endif + + +#endif /* __IWbemHiPerfProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemDecoupledRegistrar interface + */ +#ifndef __IWbemDecoupledRegistrar_INTERFACE_DEFINED__ +#define __IWbemDecoupledRegistrar_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemDecoupledRegistrar, 0x1005cbcf, 0xe64f, 0x4646, 0xbc,0xd3, 0x3a,0x08,0x9d,0x8a,0x84,0xb4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1005cbcf-e64f-4646-bcd3-3a089d8a84b4") +IWbemDecoupledRegistrar : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Register( + LONG a_Flags, + IWbemContext *a_Context, + LPCWSTR a_User, + LPCWSTR a_Locale, + LPCWSTR a_Scope, + LPCWSTR a_Registration, + IUnknown *pIUnknown) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegister( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemDecoupledRegistrar, 0x1005cbcf, 0xe64f, 0x4646, 0xbc,0xd3, 0x3a,0x08,0x9d,0x8a,0x84,0xb4) +#endif +#else +typedef struct IWbemDecoupledRegistrarVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemDecoupledRegistrar *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemDecoupledRegistrar *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemDecoupledRegistrar *This); + + /*** IWbemDecoupledRegistrar methods ***/ + HRESULT (STDMETHODCALLTYPE *Register)( + IWbemDecoupledRegistrar *This, + LONG a_Flags, + IWbemContext *a_Context, + LPCWSTR a_User, + LPCWSTR a_Locale, + LPCWSTR a_Scope, + LPCWSTR a_Registration, + IUnknown *pIUnknown); + + HRESULT (STDMETHODCALLTYPE *UnRegister)( + IWbemDecoupledRegistrar *This); + + END_INTERFACE +} IWbemDecoupledRegistrarVtbl; + +interface IWbemDecoupledRegistrar { + CONST_VTBL IWbemDecoupledRegistrarVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemDecoupledRegistrar_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemDecoupledRegistrar_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemDecoupledRegistrar_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemDecoupledRegistrar methods ***/ +#define IWbemDecoupledRegistrar_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) (This)->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) +#define IWbemDecoupledRegistrar_UnRegister(This) (This)->lpVtbl->UnRegister(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemDecoupledRegistrar_QueryInterface(IWbemDecoupledRegistrar* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemDecoupledRegistrar_AddRef(IWbemDecoupledRegistrar* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemDecoupledRegistrar_Release(IWbemDecoupledRegistrar* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemDecoupledRegistrar methods ***/ +static inline HRESULT IWbemDecoupledRegistrar_Register(IWbemDecoupledRegistrar* This,LONG a_Flags,IWbemContext *a_Context,LPCWSTR a_User,LPCWSTR a_Locale,LPCWSTR a_Scope,LPCWSTR a_Registration,IUnknown *pIUnknown) { + return This->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown); +} +static inline HRESULT IWbemDecoupledRegistrar_UnRegister(IWbemDecoupledRegistrar* This) { + return This->lpVtbl->UnRegister(This); +} +#endif +#endif + +#endif + + +#endif /* __IWbemDecoupledRegistrar_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemDecoupledBasicEventProvider interface + */ +#ifndef __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__ +#define __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemDecoupledBasicEventProvider, 0x86336d20, 0xca11, 0x4786, 0x9e,0xf1, 0xbc,0x8a,0x94,0x6b,0x42,0xfc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("86336d20-ca11-4786-9ef1-bc8a946b42fc") +IWbemDecoupledBasicEventProvider : public IWbemDecoupledRegistrar +{ + virtual HRESULT STDMETHODCALLTYPE GetSink( + LONG a_Flags, + IWbemContext *a_Context, + IWbemObjectSink **a_Sink) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetService( + LONG a_Flags, + IWbemContext *a_Context, + IWbemServices **a_Service) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemDecoupledBasicEventProvider, 0x86336d20, 0xca11, 0x4786, 0x9e,0xf1, 0xbc,0x8a,0x94,0x6b,0x42,0xfc) +#endif +#else +typedef struct IWbemDecoupledBasicEventProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemDecoupledBasicEventProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemDecoupledBasicEventProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemDecoupledBasicEventProvider *This); + + /*** IWbemDecoupledRegistrar methods ***/ + HRESULT (STDMETHODCALLTYPE *Register)( + IWbemDecoupledBasicEventProvider *This, + LONG a_Flags, + IWbemContext *a_Context, + LPCWSTR a_User, + LPCWSTR a_Locale, + LPCWSTR a_Scope, + LPCWSTR a_Registration, + IUnknown *pIUnknown); + + HRESULT (STDMETHODCALLTYPE *UnRegister)( + IWbemDecoupledBasicEventProvider *This); + + /*** IWbemDecoupledBasicEventProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSink)( + IWbemDecoupledBasicEventProvider *This, + LONG a_Flags, + IWbemContext *a_Context, + IWbemObjectSink **a_Sink); + + HRESULT (STDMETHODCALLTYPE *GetService)( + IWbemDecoupledBasicEventProvider *This, + LONG a_Flags, + IWbemContext *a_Context, + IWbemServices **a_Service); + + END_INTERFACE +} IWbemDecoupledBasicEventProviderVtbl; + +interface IWbemDecoupledBasicEventProvider { + CONST_VTBL IWbemDecoupledBasicEventProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemDecoupledBasicEventProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemDecoupledBasicEventProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemDecoupledBasicEventProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemDecoupledRegistrar methods ***/ +#define IWbemDecoupledBasicEventProvider_Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) (This)->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown) +#define IWbemDecoupledBasicEventProvider_UnRegister(This) (This)->lpVtbl->UnRegister(This) +/*** IWbemDecoupledBasicEventProvider methods ***/ +#define IWbemDecoupledBasicEventProvider_GetSink(This,a_Flags,a_Context,a_Sink) (This)->lpVtbl->GetSink(This,a_Flags,a_Context,a_Sink) +#define IWbemDecoupledBasicEventProvider_GetService(This,a_Flags,a_Context,a_Service) (This)->lpVtbl->GetService(This,a_Flags,a_Context,a_Service) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemDecoupledBasicEventProvider_QueryInterface(IWbemDecoupledBasicEventProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemDecoupledBasicEventProvider_AddRef(IWbemDecoupledBasicEventProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemDecoupledBasicEventProvider_Release(IWbemDecoupledBasicEventProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemDecoupledRegistrar methods ***/ +static inline HRESULT IWbemDecoupledBasicEventProvider_Register(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,LPCWSTR a_User,LPCWSTR a_Locale,LPCWSTR a_Scope,LPCWSTR a_Registration,IUnknown *pIUnknown) { + return This->lpVtbl->Register(This,a_Flags,a_Context,a_User,a_Locale,a_Scope,a_Registration,pIUnknown); +} +static inline HRESULT IWbemDecoupledBasicEventProvider_UnRegister(IWbemDecoupledBasicEventProvider* This) { + return This->lpVtbl->UnRegister(This); +} +/*** IWbemDecoupledBasicEventProvider methods ***/ +static inline HRESULT IWbemDecoupledBasicEventProvider_GetSink(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,IWbemObjectSink **a_Sink) { + return This->lpVtbl->GetSink(This,a_Flags,a_Context,a_Sink); +} +static inline HRESULT IWbemDecoupledBasicEventProvider_GetService(IWbemDecoupledBasicEventProvider* This,LONG a_Flags,IWbemContext *a_Context,IWbemServices **a_Service) { + return This->lpVtbl->GetService(This,a_Flags,a_Context,a_Service); +} +#endif +#endif + +#endif + + +#endif /* __IWbemDecoupledBasicEventProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemEventSink interface + */ +#ifndef __IWbemEventSink_INTERFACE_DEFINED__ +#define __IWbemEventSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemEventSink, 0x3ae0080a, 0x7e3a, 0x4366, 0xbf,0x89, 0x0f,0xee,0xdc,0x93,0x16,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3ae0080a-7e3a-4366-bf89-0feedc931659") +IWbemEventSink : public IWbemObjectSink +{ + virtual HRESULT STDMETHODCALLTYPE SetSinkSecurity( + LONG lSDLength, + BYTE *pSD) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsActive( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestrictedSink( + LONG lNumQueries, + const LPCWSTR *awszQueries, + IUnknown *pCallback, + IWbemEventSink **ppSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBatchingParameters( + LONG lFlags, + DWORD dwMaxBufferSize, + DWORD dwMaxSendLatency) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemEventSink, 0x3ae0080a, 0x7e3a, 0x4366, 0xbf,0x89, 0x0f,0xee,0xdc,0x93,0x16,0x59) +#endif +#else +typedef struct IWbemEventSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemEventSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemEventSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemEventSink *This); + + /*** IWbemObjectSink methods ***/ + HRESULT (STDMETHODCALLTYPE *Indicate)( + IWbemEventSink *This, + LONG lObjectCount, + IWbemClassObject **apObjArray); + + HRESULT (STDMETHODCALLTYPE *SetStatus)( + IWbemEventSink *This, + LONG lFlags, + HRESULT hResult, + BSTR strParam, + IWbemClassObject *pObjParam); + + /*** IWbemEventSink methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSinkSecurity)( + IWbemEventSink *This, + LONG lSDLength, + BYTE *pSD); + + HRESULT (STDMETHODCALLTYPE *IsActive)( + IWbemEventSink *This); + + HRESULT (STDMETHODCALLTYPE *GetRestrictedSink)( + IWbemEventSink *This, + LONG lNumQueries, + const LPCWSTR *awszQueries, + IUnknown *pCallback, + IWbemEventSink **ppSink); + + HRESULT (STDMETHODCALLTYPE *SetBatchingParameters)( + IWbemEventSink *This, + LONG lFlags, + DWORD dwMaxBufferSize, + DWORD dwMaxSendLatency); + + END_INTERFACE +} IWbemEventSinkVtbl; + +interface IWbemEventSink { + CONST_VTBL IWbemEventSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemEventSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemEventSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemEventSink_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemObjectSink methods ***/ +#define IWbemEventSink_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray) +#define IWbemEventSink_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam) +/*** IWbemEventSink methods ***/ +#define IWbemEventSink_SetSinkSecurity(This,lSDLength,pSD) (This)->lpVtbl->SetSinkSecurity(This,lSDLength,pSD) +#define IWbemEventSink_IsActive(This) (This)->lpVtbl->IsActive(This) +#define IWbemEventSink_GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink) (This)->lpVtbl->GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink) +#define IWbemEventSink_SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency) (This)->lpVtbl->SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemEventSink_QueryInterface(IWbemEventSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemEventSink_AddRef(IWbemEventSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemEventSink_Release(IWbemEventSink* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemObjectSink methods ***/ +static inline HRESULT IWbemEventSink_Indicate(IWbemEventSink* This,LONG lObjectCount,IWbemClassObject **apObjArray) { + return This->lpVtbl->Indicate(This,lObjectCount,apObjArray); +} +static inline HRESULT IWbemEventSink_SetStatus(IWbemEventSink* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) { + return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam); +} +/*** IWbemEventSink methods ***/ +static inline HRESULT IWbemEventSink_SetSinkSecurity(IWbemEventSink* This,LONG lSDLength,BYTE *pSD) { + return This->lpVtbl->SetSinkSecurity(This,lSDLength,pSD); +} +static inline HRESULT IWbemEventSink_IsActive(IWbemEventSink* This) { + return This->lpVtbl->IsActive(This); +} +static inline HRESULT IWbemEventSink_GetRestrictedSink(IWbemEventSink* This,LONG lNumQueries,const LPCWSTR *awszQueries,IUnknown *pCallback,IWbemEventSink **ppSink) { + return This->lpVtbl->GetRestrictedSink(This,lNumQueries,awszQueries,pCallback,ppSink); +} +static inline HRESULT IWbemEventSink_SetBatchingParameters(IWbemEventSink* This,LONG lFlags,DWORD dwMaxBufferSize,DWORD dwMaxSendLatency) { + return This->lpVtbl->SetBatchingParameters(This,lFlags,dwMaxBufferSize,dwMaxSendLatency); +} +#endif +#endif + +#endif + + +#endif /* __IWbemEventSink_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + +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 *); +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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wbemprov_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemtran.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemtran.h new file mode 100644 index 00000000..7f3f61de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wbemtran.h @@ -0,0 +1,994 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wbemtran.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 __wbemtran_h__ +#define __wbemtran_h__ + +/* Forward declarations */ + +#ifndef __WbemLevel1Login_FWD_DEFINED__ +#define __WbemLevel1Login_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemLevel1Login WbemLevel1Login; +#else +typedef struct WbemLevel1Login WbemLevel1Login; +#endif /* defined __cplusplus */ +#endif /* defined __WbemLevel1Login_FWD_DEFINED__ */ + +#ifndef __WbemLocalAddrRes_FWD_DEFINED__ +#define __WbemLocalAddrRes_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemLocalAddrRes WbemLocalAddrRes; +#else +typedef struct WbemLocalAddrRes WbemLocalAddrRes; +#endif /* defined __cplusplus */ +#endif /* defined __WbemLocalAddrRes_FWD_DEFINED__ */ + +#ifndef __WbemUninitializedClassObject_FWD_DEFINED__ +#define __WbemUninitializedClassObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemUninitializedClassObject WbemUninitializedClassObject; +#else +typedef struct WbemUninitializedClassObject WbemUninitializedClassObject; +#endif /* defined __cplusplus */ +#endif /* defined __WbemUninitializedClassObject_FWD_DEFINED__ */ + +#ifndef __WbemDCOMTransport_FWD_DEFINED__ +#define __WbemDCOMTransport_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemDCOMTransport WbemDCOMTransport; +#else +typedef struct WbemDCOMTransport WbemDCOMTransport; +#endif /* defined __cplusplus */ +#endif /* defined __WbemDCOMTransport_FWD_DEFINED__ */ + +#ifndef __IWbemLevel1Login_FWD_DEFINED__ +#define __IWbemLevel1Login_FWD_DEFINED__ +typedef interface IWbemLevel1Login IWbemLevel1Login; +#ifdef __cplusplus +interface IWbemLevel1Login; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConnectorLogin_FWD_DEFINED__ +#define __IWbemConnectorLogin_FWD_DEFINED__ +typedef interface IWbemConnectorLogin IWbemConnectorLogin; +#ifdef __cplusplus +interface IWbemConnectorLogin; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemAddressResolution_FWD_DEFINED__ +#define __IWbemAddressResolution_FWD_DEFINED__ +typedef interface IWbemAddressResolution IWbemAddressResolution; +#ifdef __cplusplus +interface IWbemAddressResolution; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemTransport_FWD_DEFINED__ +#define __IWbemTransport_FWD_DEFINED__ +typedef interface IWbemTransport IWbemTransport; +#ifdef __cplusplus +interface IWbemTransport; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConstructClassObject_FWD_DEFINED__ +#define __IWbemConstructClassObject_FWD_DEFINED__ +typedef interface IWbemConstructClassObject IWbemConstructClassObject; +#ifdef __cplusplus +interface IWbemConstructClassObject; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemClientTransport_FWD_DEFINED__ +#define __IWbemClientTransport_FWD_DEFINED__ +typedef interface IWbemClientTransport IWbemClientTransport; +#ifdef __cplusplus +interface IWbemClientTransport; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemClientConnectionTransport_FWD_DEFINED__ +#define __IWbemClientConnectionTransport_FWD_DEFINED__ +typedef interface IWbemClientConnectionTransport IWbemClientConnectionTransport; +#ifdef __cplusplus +interface IWbemClientConnectionTransport; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __IWbemTransport_FWD_DEFINED__ +#define __IWbemTransport_FWD_DEFINED__ +typedef interface IWbemTransport IWbemTransport; +#ifdef __cplusplus +interface IWbemTransport; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemLevel1Login_FWD_DEFINED__ +#define __IWbemLevel1Login_FWD_DEFINED__ +typedef interface IWbemLevel1Login IWbemLevel1Login; +#ifdef __cplusplus +interface IWbemLevel1Login; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemConnectorLogin_FWD_DEFINED__ +#define __IWbemConnectorLogin_FWD_DEFINED__ +typedef interface IWbemConnectorLogin IWbemConnectorLogin; +#ifdef __cplusplus +interface IWbemConnectorLogin; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemAddressResolution_FWD_DEFINED__ +#define __IWbemAddressResolution_FWD_DEFINED__ +typedef interface IWbemAddressResolution IWbemAddressResolution; +#ifdef __cplusplus +interface IWbemAddressResolution; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemClientTransport_FWD_DEFINED__ +#define __IWbemClientTransport_FWD_DEFINED__ +typedef interface IWbemClientTransport IWbemClientTransport; +#ifdef __cplusplus +interface IWbemClientTransport; +#endif /* __cplusplus */ +#endif + +#ifndef __IWbemClientConnectionTransport_FWD_DEFINED__ +#define __IWbemClientConnectionTransport_FWD_DEFINED__ +typedef interface IWbemClientConnectionTransport IWbemClientConnectionTransport; +#ifdef __cplusplus +interface IWbemClientConnectionTransport; +#endif /* __cplusplus */ +#endif + +typedef enum tag_WBEM_LOGIN_TYPE { + WBEM_FLAG_INPROC_LOGIN = 0, + WBEM_FLAG_LOCAL_LOGIN = 1, + WBEM_FLAG_REMOTE_LOGIN = 2, + WBEM_AUTHENTICATION_METHOD_MASK = 0xf, + WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10 +} WBEM_LOGIN_TYPE; +typedef BYTE *WBEM_128BITS; +#ifndef __WbemTransports_v1_LIBRARY_DEFINED__ +#define __WbemTransports_v1_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WbemTransports_v1, 0x027947f3, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01); + +/***************************************************************************** + * WbemLevel1Login coclass + */ + +DEFINE_GUID(CLSID_WbemLevel1Login, 0x8bc3f05e, 0xd86b, 0x11d0, 0xa0,0x75, 0x00,0xc0,0x4f,0xb6,0x88,0x20); + +#ifdef __cplusplus +class DECLSPEC_UUID("8bc3f05e-d86b-11d0-a075-00c04fb68820") WbemLevel1Login; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemLevel1Login, 0x8bc3f05e, 0xd86b, 0x11d0, 0xa0,0x75, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#endif + +/***************************************************************************** + * WbemLocalAddrRes coclass + */ + +DEFINE_GUID(CLSID_WbemLocalAddrRes, 0xa1044801, 0x8f7e, 0x11d1, 0x9e,0x7c, 0x00,0xc0,0x4f,0xc3,0x24,0xa8); + +#ifdef __cplusplus +class DECLSPEC_UUID("a1044801-8f7e-11d1-9e7c-00c04fc324a8") WbemLocalAddrRes; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemLocalAddrRes, 0xa1044801, 0x8f7e, 0x11d1, 0x9e,0x7c, 0x00,0xc0,0x4f,0xc3,0x24,0xa8) +#endif +#endif + +/***************************************************************************** + * WbemUninitializedClassObject coclass + */ + +DEFINE_GUID(CLSID_WbemUninitializedClassObject, 0x7a0227f6, 0x7108, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); + +#ifdef __cplusplus +class DECLSPEC_UUID("7a0227f6-7108-11d1-ad90-00c04fd8fdff") WbemUninitializedClassObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemUninitializedClassObject, 0x7a0227f6, 0x7108, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#endif + +/***************************************************************************** + * WbemDCOMTransport coclass + */ + +DEFINE_GUID(CLSID_WbemDCOMTransport, 0xf7ce2e13, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8); + +#ifdef __cplusplus +class DECLSPEC_UUID("f7ce2e13-8c90-11d1-9e7b-00c04fc324a8") WbemDCOMTransport; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WbemDCOMTransport, 0xf7ce2e13, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8) +#endif +#endif + +#endif /* __WbemTransports_v1_LIBRARY_DEFINED__ */ +/***************************************************************************** + * IWbemLevel1Login interface + */ +#ifndef __IWbemLevel1Login_INTERFACE_DEFINED__ +#define __IWbemLevel1Login_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemLevel1Login, 0xf309ad18, 0xd86a, 0x11d0, 0xa0,0x75, 0x00,0xc0,0x4f,0xb6,0x88,0x20); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f309ad18-d86a-11d0-a075-00c04fb68820") +IWbemLevel1Login : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EstablishPosition( + LPWSTR wszLocaleList, + DWORD dwNumLocales, + DWORD *reserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestChallenge( + LPWSTR wszNetworkResource, + LPWSTR wszUser, + WBEM_128BITS Nonce) = 0; + + virtual HRESULT STDMETHODCALLTYPE WBEMLogin( + LPWSTR wszPreferredLocale, + WBEM_128BITS AccessToken, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE NTLMLogin( + LPWSTR wszNetworkResource, + LPWSTR wszPreferredLocale, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppNamespace) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemLevel1Login, 0xf309ad18, 0xd86a, 0x11d0, 0xa0,0x75, 0x00,0xc0,0x4f,0xb6,0x88,0x20) +#endif +#else +typedef struct IWbemLevel1LoginVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemLevel1Login *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemLevel1Login *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemLevel1Login *This); + + /*** IWbemLevel1Login methods ***/ + HRESULT (STDMETHODCALLTYPE *EstablishPosition)( + IWbemLevel1Login *This, + LPWSTR wszLocaleList, + DWORD dwNumLocales, + DWORD *reserved); + + HRESULT (STDMETHODCALLTYPE *RequestChallenge)( + IWbemLevel1Login *This, + LPWSTR wszNetworkResource, + LPWSTR wszUser, + WBEM_128BITS Nonce); + + HRESULT (STDMETHODCALLTYPE *WBEMLogin)( + IWbemLevel1Login *This, + LPWSTR wszPreferredLocale, + WBEM_128BITS AccessToken, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppNamespace); + + HRESULT (STDMETHODCALLTYPE *NTLMLogin)( + IWbemLevel1Login *This, + LPWSTR wszNetworkResource, + LPWSTR wszPreferredLocale, + LONG lFlags, + IWbemContext *pCtx, + IWbemServices **ppNamespace); + + END_INTERFACE +} IWbemLevel1LoginVtbl; + +interface IWbemLevel1Login { + CONST_VTBL IWbemLevel1LoginVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemLevel1Login_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemLevel1Login_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemLevel1Login_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemLevel1Login methods ***/ +#define IWbemLevel1Login_EstablishPosition(This,wszLocaleList,dwNumLocales,reserved) (This)->lpVtbl->EstablishPosition(This,wszLocaleList,dwNumLocales,reserved) +#define IWbemLevel1Login_RequestChallenge(This,wszNetworkResource,wszUser,Nonce) (This)->lpVtbl->RequestChallenge(This,wszNetworkResource,wszUser,Nonce) +#define IWbemLevel1Login_WBEMLogin(This,wszPreferredLocale,AccessToken,lFlags,pCtx,ppNamespace) (This)->lpVtbl->WBEMLogin(This,wszPreferredLocale,AccessToken,lFlags,pCtx,ppNamespace) +#define IWbemLevel1Login_NTLMLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,ppNamespace) (This)->lpVtbl->NTLMLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,ppNamespace) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemLevel1Login_QueryInterface(IWbemLevel1Login* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemLevel1Login_AddRef(IWbemLevel1Login* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemLevel1Login_Release(IWbemLevel1Login* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemLevel1Login methods ***/ +static inline HRESULT IWbemLevel1Login_EstablishPosition(IWbemLevel1Login* This,LPWSTR wszLocaleList,DWORD dwNumLocales,DWORD *reserved) { + return This->lpVtbl->EstablishPosition(This,wszLocaleList,dwNumLocales,reserved); +} +static inline HRESULT IWbemLevel1Login_RequestChallenge(IWbemLevel1Login* This,LPWSTR wszNetworkResource,LPWSTR wszUser,WBEM_128BITS Nonce) { + return This->lpVtbl->RequestChallenge(This,wszNetworkResource,wszUser,Nonce); +} +static inline HRESULT IWbemLevel1Login_WBEMLogin(IWbemLevel1Login* This,LPWSTR wszPreferredLocale,WBEM_128BITS AccessToken,LONG lFlags,IWbemContext *pCtx,IWbemServices **ppNamespace) { + return This->lpVtbl->WBEMLogin(This,wszPreferredLocale,AccessToken,lFlags,pCtx,ppNamespace); +} +static inline HRESULT IWbemLevel1Login_NTLMLogin(IWbemLevel1Login* This,LPWSTR wszNetworkResource,LPWSTR wszPreferredLocale,LONG lFlags,IWbemContext *pCtx,IWbemServices **ppNamespace) { + return This->lpVtbl->NTLMLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,ppNamespace); +} +#endif +#endif + +#endif + + +#endif /* __IWbemLevel1Login_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemConnectorLogin interface + */ +#ifndef __IWbemConnectorLogin_INTERFACE_DEFINED__ +#define __IWbemConnectorLogin_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemConnectorLogin, 0xd8ec9cb1, 0xb135, 0x4f10, 0x8b,0x1b, 0xc7,0x18,0x8b,0xb0,0xd1,0x86); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d8ec9cb1-b135-4f10-8b1b-c7188bb0d186") +IWbemConnectorLogin : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ConnectorLogin( + LPWSTR wszNetworkResource, + LPWSTR wszPreferredLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + void **pInterface) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemConnectorLogin, 0xd8ec9cb1, 0xb135, 0x4f10, 0x8b,0x1b, 0xc7,0x18,0x8b,0xb0,0xd1,0x86) +#endif +#else +typedef struct IWbemConnectorLoginVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemConnectorLogin *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemConnectorLogin *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemConnectorLogin *This); + + /*** IWbemConnectorLogin methods ***/ + HRESULT (STDMETHODCALLTYPE *ConnectorLogin)( + IWbemConnectorLogin *This, + LPWSTR wszNetworkResource, + LPWSTR wszPreferredLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + void **pInterface); + + END_INTERFACE +} IWbemConnectorLoginVtbl; + +interface IWbemConnectorLogin { + CONST_VTBL IWbemConnectorLoginVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemConnectorLogin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemConnectorLogin_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemConnectorLogin_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemConnectorLogin methods ***/ +#define IWbemConnectorLogin_ConnectorLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,riid,pInterface) (This)->lpVtbl->ConnectorLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,riid,pInterface) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemConnectorLogin_QueryInterface(IWbemConnectorLogin* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemConnectorLogin_AddRef(IWbemConnectorLogin* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemConnectorLogin_Release(IWbemConnectorLogin* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemConnectorLogin methods ***/ +static inline HRESULT IWbemConnectorLogin_ConnectorLogin(IWbemConnectorLogin* This,LPWSTR wszNetworkResource,LPWSTR wszPreferredLocale,LONG lFlags,IWbemContext *pCtx,REFIID riid,void **pInterface) { + return This->lpVtbl->ConnectorLogin(This,wszNetworkResource,wszPreferredLocale,lFlags,pCtx,riid,pInterface); +} +#endif +#endif + +#endif + + +#endif /* __IWbemConnectorLogin_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemAddressResolution interface + */ +#ifndef __IWbemAddressResolution_INTERFACE_DEFINED__ +#define __IWbemAddressResolution_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemAddressResolution, 0xf7ce2e12, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f7ce2e12-8c90-11d1-9e7b-00c04fc324a8") +IWbemAddressResolution : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Resolve( + LPWSTR wszNamespacePath, + LPWSTR wszAddressType, + DWORD *pdwAddressLength, + BYTE **pabBinaryAddress) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemAddressResolution, 0xf7ce2e12, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8) +#endif +#else +typedef struct IWbemAddressResolutionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemAddressResolution *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemAddressResolution *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemAddressResolution *This); + + /*** IWbemAddressResolution methods ***/ + HRESULT (STDMETHODCALLTYPE *Resolve)( + IWbemAddressResolution *This, + LPWSTR wszNamespacePath, + LPWSTR wszAddressType, + DWORD *pdwAddressLength, + BYTE **pabBinaryAddress); + + END_INTERFACE +} IWbemAddressResolutionVtbl; + +interface IWbemAddressResolution { + CONST_VTBL IWbemAddressResolutionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemAddressResolution_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemAddressResolution_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemAddressResolution_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemAddressResolution methods ***/ +#define IWbemAddressResolution_Resolve(This,wszNamespacePath,wszAddressType,pdwAddressLength,pabBinaryAddress) (This)->lpVtbl->Resolve(This,wszNamespacePath,wszAddressType,pdwAddressLength,pabBinaryAddress) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemAddressResolution_QueryInterface(IWbemAddressResolution* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemAddressResolution_AddRef(IWbemAddressResolution* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemAddressResolution_Release(IWbemAddressResolution* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemAddressResolution methods ***/ +static inline HRESULT IWbemAddressResolution_Resolve(IWbemAddressResolution* This,LPWSTR wszNamespacePath,LPWSTR wszAddressType,DWORD *pdwAddressLength,BYTE **pabBinaryAddress) { + return This->lpVtbl->Resolve(This,wszNamespacePath,wszAddressType,pdwAddressLength,pabBinaryAddress); +} +#endif +#endif + +#endif + + +#endif /* __IWbemAddressResolution_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemTransport interface + */ +#ifndef __IWbemTransport_INTERFACE_DEFINED__ +#define __IWbemTransport_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemTransport, 0x553fe584, 0x2156, 0x11d0, 0xb6,0xae, 0x00,0xaa,0x00,0x32,0x40,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("553fe584-2156-11d0-b6ae-00aa003240c7") +IWbemTransport : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemTransport, 0x553fe584, 0x2156, 0x11d0, 0xb6,0xae, 0x00,0xaa,0x00,0x32,0x40,0xc7) +#endif +#else +typedef struct IWbemTransportVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemTransport *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemTransport *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemTransport *This); + + /*** IWbemTransport methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWbemTransport *This); + + END_INTERFACE +} IWbemTransportVtbl; + +interface IWbemTransport { + CONST_VTBL IWbemTransportVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemTransport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemTransport_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemTransport methods ***/ +#define IWbemTransport_Initialize(This) (This)->lpVtbl->Initialize(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemTransport_QueryInterface(IWbemTransport* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemTransport_AddRef(IWbemTransport* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemTransport_Release(IWbemTransport* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemTransport methods ***/ +static inline HRESULT IWbemTransport_Initialize(IWbemTransport* This) { + return This->lpVtbl->Initialize(This); +} +#endif +#endif + +#endif + + +#endif /* __IWbemTransport_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemConstructClassObject interface + */ +#ifndef __IWbemConstructClassObject_INTERFACE_DEFINED__ +#define __IWbemConstructClassObject_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemConstructClassObject, 0x9ef76194, 0x70d5, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9ef76194-70d5-11d1-ad90-00c04fd8fdff") +IWbemConstructClassObject : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetInheritanceChain( + LONG lNumAntecedents, + LPWSTR *awszAntecedents) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPropertyOrigin( + LPCWSTR wszPropertyName, + LONG lOriginIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMethodOrigin( + LPCWSTR wszMethodName, + LONG lOriginIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetServerNamespace( + LPCWSTR wszServer, + LPCWSTR wszNamespace) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemConstructClassObject, 0x9ef76194, 0x70d5, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff) +#endif +#else +typedef struct IWbemConstructClassObjectVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemConstructClassObject *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemConstructClassObject *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemConstructClassObject *This); + + /*** IWbemConstructClassObject methods ***/ + HRESULT (STDMETHODCALLTYPE *SetInheritanceChain)( + IWbemConstructClassObject *This, + LONG lNumAntecedents, + LPWSTR *awszAntecedents); + + HRESULT (STDMETHODCALLTYPE *SetPropertyOrigin)( + IWbemConstructClassObject *This, + LPCWSTR wszPropertyName, + LONG lOriginIndex); + + HRESULT (STDMETHODCALLTYPE *SetMethodOrigin)( + IWbemConstructClassObject *This, + LPCWSTR wszMethodName, + LONG lOriginIndex); + + HRESULT (STDMETHODCALLTYPE *SetServerNamespace)( + IWbemConstructClassObject *This, + LPCWSTR wszServer, + LPCWSTR wszNamespace); + + END_INTERFACE +} IWbemConstructClassObjectVtbl; + +interface IWbemConstructClassObject { + CONST_VTBL IWbemConstructClassObjectVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemConstructClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemConstructClassObject_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemConstructClassObject_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemConstructClassObject methods ***/ +#define IWbemConstructClassObject_SetInheritanceChain(This,lNumAntecedents,awszAntecedents) (This)->lpVtbl->SetInheritanceChain(This,lNumAntecedents,awszAntecedents) +#define IWbemConstructClassObject_SetPropertyOrigin(This,wszPropertyName,lOriginIndex) (This)->lpVtbl->SetPropertyOrigin(This,wszPropertyName,lOriginIndex) +#define IWbemConstructClassObject_SetMethodOrigin(This,wszMethodName,lOriginIndex) (This)->lpVtbl->SetMethodOrigin(This,wszMethodName,lOriginIndex) +#define IWbemConstructClassObject_SetServerNamespace(This,wszServer,wszNamespace) (This)->lpVtbl->SetServerNamespace(This,wszServer,wszNamespace) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemConstructClassObject_QueryInterface(IWbemConstructClassObject* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemConstructClassObject_AddRef(IWbemConstructClassObject* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemConstructClassObject_Release(IWbemConstructClassObject* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemConstructClassObject methods ***/ +static inline HRESULT IWbemConstructClassObject_SetInheritanceChain(IWbemConstructClassObject* This,LONG lNumAntecedents,LPWSTR *awszAntecedents) { + return This->lpVtbl->SetInheritanceChain(This,lNumAntecedents,awszAntecedents); +} +static inline HRESULT IWbemConstructClassObject_SetPropertyOrigin(IWbemConstructClassObject* This,LPCWSTR wszPropertyName,LONG lOriginIndex) { + return This->lpVtbl->SetPropertyOrigin(This,wszPropertyName,lOriginIndex); +} +static inline HRESULT IWbemConstructClassObject_SetMethodOrigin(IWbemConstructClassObject* This,LPCWSTR wszMethodName,LONG lOriginIndex) { + return This->lpVtbl->SetMethodOrigin(This,wszMethodName,lOriginIndex); +} +static inline HRESULT IWbemConstructClassObject_SetServerNamespace(IWbemConstructClassObject* This,LPCWSTR wszServer,LPCWSTR wszNamespace) { + return This->lpVtbl->SetServerNamespace(This,wszServer,wszNamespace); +} +#endif +#endif + +#endif + + +#endif /* __IWbemConstructClassObject_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemClientTransport interface + */ +#ifndef __IWbemClientTransport_INTERFACE_DEFINED__ +#define __IWbemClientTransport_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemClientTransport, 0xf7ce2e11, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f7ce2e11-8c90-11d1-9e7b-00c04fc324a8") +IWbemClientTransport : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ConnectServer( + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + BSTR strNetworkResource, + BSTR strUser, + BSTR strPassword, + BSTR strLocale, + LONG lSecurityFlags, + BSTR strAuthority, + IWbemContext *pCtx, + IWbemServices **ppNamespace) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemClientTransport, 0xf7ce2e11, 0x8c90, 0x11d1, 0x9e,0x7b, 0x00,0xc0,0x4f,0xc3,0x24,0xa8) +#endif +#else +typedef struct IWbemClientTransportVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemClientTransport *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemClientTransport *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemClientTransport *This); + + /*** IWbemClientTransport methods ***/ + HRESULT (STDMETHODCALLTYPE *ConnectServer)( + IWbemClientTransport *This, + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + BSTR strNetworkResource, + BSTR strUser, + BSTR strPassword, + BSTR strLocale, + LONG lSecurityFlags, + BSTR strAuthority, + IWbemContext *pCtx, + IWbemServices **ppNamespace); + + END_INTERFACE +} IWbemClientTransportVtbl; + +interface IWbemClientTransport { + CONST_VTBL IWbemClientTransportVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemClientTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemClientTransport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemClientTransport_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemClientTransport methods ***/ +#define IWbemClientTransport_ConnectServer(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) (This)->lpVtbl->ConnectServer(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemClientTransport_QueryInterface(IWbemClientTransport* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemClientTransport_AddRef(IWbemClientTransport* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemClientTransport_Release(IWbemClientTransport* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemClientTransport methods ***/ +static inline HRESULT IWbemClientTransport_ConnectServer(IWbemClientTransport* This,BSTR strAddressType,DWORD dwBinaryAddressLength,BYTE *abBinaryAddress,BSTR strNetworkResource,BSTR strUser,BSTR strPassword,BSTR strLocale,LONG lSecurityFlags,BSTR strAuthority,IWbemContext *pCtx,IWbemServices **ppNamespace) { + return This->lpVtbl->ConnectServer(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace); +} +#endif +#endif + +#endif + + +#endif /* __IWbemClientTransport_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWbemClientConnectionTransport interface + */ +#ifndef __IWbemClientConnectionTransport_INTERFACE_DEFINED__ +#define __IWbemClientConnectionTransport_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWbemClientConnectionTransport, 0xa889c72a, 0xfcc1, 0x4a9e, 0xaf,0x61, 0xed,0x07,0x13,0x33,0xfb,0x5b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a889c72a-fcc1-4a9e-af61-ed071333fb5b") +IWbemClientConnectionTransport : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Open( + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + const BSTR strObject, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + void **pInterface, + IWbemCallResult **pCallRes) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenAsync( + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + const BSTR strObject, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + IWbemObjectSink *pResponseHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE Cancel( + LONG lFlags, + IWbemObjectSink *pHandler) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWbemClientConnectionTransport, 0xa889c72a, 0xfcc1, 0x4a9e, 0xaf,0x61, 0xed,0x07,0x13,0x33,0xfb,0x5b) +#endif +#else +typedef struct IWbemClientConnectionTransportVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWbemClientConnectionTransport *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWbemClientConnectionTransport *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWbemClientConnectionTransport *This); + + /*** IWbemClientConnectionTransport methods ***/ + HRESULT (STDMETHODCALLTYPE *Open)( + IWbemClientConnectionTransport *This, + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + const BSTR strObject, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + void **pInterface, + IWbemCallResult **pCallRes); + + HRESULT (STDMETHODCALLTYPE *OpenAsync)( + IWbemClientConnectionTransport *This, + BSTR strAddressType, + DWORD dwBinaryAddressLength, + BYTE *abBinaryAddress, + const BSTR strObject, + const BSTR strUser, + const BSTR strPassword, + const BSTR strLocale, + LONG lFlags, + IWbemContext *pCtx, + REFIID riid, + IWbemObjectSink *pResponseHandler); + + HRESULT (STDMETHODCALLTYPE *Cancel)( + IWbemClientConnectionTransport *This, + LONG lFlags, + IWbemObjectSink *pHandler); + + END_INTERFACE +} IWbemClientConnectionTransportVtbl; + +interface IWbemClientConnectionTransport { + CONST_VTBL IWbemClientConnectionTransportVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWbemClientConnectionTransport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemClientConnectionTransport_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemClientConnectionTransport_Release(This) (This)->lpVtbl->Release(This) +/*** IWbemClientConnectionTransport methods ***/ +#define IWbemClientConnectionTransport_Open(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pInterface,pCallRes) (This)->lpVtbl->Open(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pInterface,pCallRes) +#define IWbemClientConnectionTransport_OpenAsync(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pResponseHandler) (This)->lpVtbl->OpenAsync(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pResponseHandler) +#define IWbemClientConnectionTransport_Cancel(This,lFlags,pHandler) (This)->lpVtbl->Cancel(This,lFlags,pHandler) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWbemClientConnectionTransport_QueryInterface(IWbemClientConnectionTransport* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWbemClientConnectionTransport_AddRef(IWbemClientConnectionTransport* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWbemClientConnectionTransport_Release(IWbemClientConnectionTransport* This) { + return This->lpVtbl->Release(This); +} +/*** IWbemClientConnectionTransport methods ***/ +static inline HRESULT IWbemClientConnectionTransport_Open(IWbemClientConnectionTransport* This,BSTR strAddressType,DWORD dwBinaryAddressLength,BYTE *abBinaryAddress,const BSTR strObject,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,LONG lFlags,IWbemContext *pCtx,REFIID riid,void **pInterface,IWbemCallResult **pCallRes) { + return This->lpVtbl->Open(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pInterface,pCallRes); +} +static inline HRESULT IWbemClientConnectionTransport_OpenAsync(IWbemClientConnectionTransport* This,BSTR strAddressType,DWORD dwBinaryAddressLength,BYTE *abBinaryAddress,const BSTR strObject,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,LONG lFlags,IWbemContext *pCtx,REFIID riid,IWbemObjectSink *pResponseHandler) { + return This->lpVtbl->OpenAsync(This,strAddressType,dwBinaryAddressLength,abBinaryAddress,strObject,strUser,strPassword,strLocale,lFlags,pCtx,riid,pResponseHandler); +} +static inline HRESULT IWbemClientConnectionTransport_Cancel(IWbemClientConnectionTransport* This,LONG lFlags,IWbemObjectSink *pHandler) { + return This->lpVtbl->Cancel(This,lFlags,pHandler); +} +#endif +#endif + +#endif + + +#endif /* __IWbemClientConnectionTransport_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wbemtran_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wchar.h new file mode 100644 index 00000000..ca2c1fc7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wchar.h @@ -0,0 +1,1528 @@ +/** + * 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_WCHAR +#define _INC_WCHAR + +#include +#include +#include + +#if __USE_MINGW_ANSI_STDIO && !defined (__USE_MINGW_STRTOX) && !defined(_CRTBLD) +#define __USE_MINGW_STRTOX 1 +#endif + +#if defined(__LIBMSVCRT__) +/* When building mingw-w64, this should be blank. */ +#define _SECIMP +#else +#ifndef _SECIMP +#define _SECIMP __declspec(dllimport) +#endif /* _SECIMP */ +#endif /* defined(__LIBMSVCRT__) */ + +#pragma pack(push,_CRT_PACKING) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WCHAR_MIN /* also in stdint.h */ +#define WCHAR_MIN 0U +#define WCHAR_MAX 0xffffU +#endif + +#ifndef WEOF +#define WEOF (wint_t)(0xFFFF) +#endif + +#ifndef _FILE_DEFINED + struct _iobuf { + char *_ptr; + int _cnt; + char *_base; + int _flag; + int _file; + int _charbuf; + int _bufsiz; + char *_tmpfname; + }; + typedef struct _iobuf FILE; +#define _FILE_DEFINED +#endif + +_CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index); +#ifndef _STDIO_DEFINED + _CRTIMP FILE *__cdecl __iob_func(void); +#define _iob __iob_func() +#endif + +#ifndef _STDSTREAM_DEFINED +#define stdin (__acrt_iob_func(0)) +#define stdout (__acrt_iob_func(1)) +#define stderr (__acrt_iob_func(2)) +#define _STDSTREAM_DEFINED +#endif + +#ifndef _FSIZE_T_DEFINED + typedef unsigned long _fsize_t; +#define _FSIZE_T_DEFINED +#endif + +#ifndef _WFINDDATA_T_DEFINED + struct _wfinddata32_t { + unsigned attrib; + __time32_t time_create; + __time32_t time_access; + __time32_t time_write; + _fsize_t size; + wchar_t name[260]; + }; + + struct _wfinddata32i64_t { + unsigned attrib; + __time32_t time_create; + __time32_t time_access; + __time32_t time_write; + __MINGW_EXTENSION __int64 size; + wchar_t name[260]; + }; + + struct _wfinddata64i32_t { + unsigned attrib; + __time64_t time_create; + __time64_t time_access; + __time64_t time_write; + _fsize_t size; + wchar_t name[260]; + }; + + struct _wfinddata64_t { + unsigned attrib; + __time64_t time_create; + __time64_t time_access; + __time64_t time_write; + __MINGW_EXTENSION __int64 size; + wchar_t name[260]; + }; +/* #endif */ + +#ifdef _USE_32BIT_TIME_T +#define _wfinddata_t _wfinddata32_t +#define _wfinddatai64_t _wfinddata32i64_t + +#define _wfindfirst _wfindfirst32 +#define _wfindnext _wfindnext32 +#define _wfindfirst32i64 _wfindfirsti64 +#define _wfindnext32i64 _wfindnexti64 +#else +#define _wfinddata_t _wfinddata64i32_t +#define _wfinddatai64_t _wfinddata64_t + +#define _wfindfirst _wfindfirst64i32 +#define _wfindnext _wfindnext64i32 +#define _wfindfirsti64 _wfindfirst64 +#define _wfindnexti64 _wfindnext64 +#endif + +#define _WFINDDATA_T_DEFINED +#endif + +#ifndef NULL +#ifdef __cplusplus +#ifndef _WIN64 +#define NULL 0 +#else +#define NULL 0LL +#endif /* W64 */ +#else +#define NULL ((void *)0) +#endif +#endif + +#ifndef _CONST_RETURN +#define _CONST_RETURN +#endif + +#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 + +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma push_macro("_wgetcwd") +#undef _wgetcwd +#pragma push_macro("_wgetdcwd") +#undef _wgetdcwd +#pragma push_macro("_wgetdcwd_nolock") +#undef _wgetdcwd_nolock +#endif + _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords); + _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords); +#if __MSVCRT_VERSION__ >= 0x800 + wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords); +#endif +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma pop_macro("_wgetcwd") +#pragma pop_macro("_wgetdcwd") +#pragma pop_macro("_wgetdcwd_nolock") +#endif + _CRTIMP int __cdecl _wchdir(const wchar_t *_Path); + _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path); + _CRTIMP int __cdecl _wrmdir(const wchar_t *_Path); +#endif + +#ifndef _WIO_DEFINED +#define _WIO_DEFINED + + _CRTIMP int __cdecl _waccess(const wchar_t *_Filename,int _AccessMode); + _CRTIMP int __cdecl _wchmod(const wchar_t *_Filename,int _Mode); + _CRTIMP int __cdecl _wcreat(const wchar_t *_Filename,int _PermissionMode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData); + _CRTIMP int __cdecl _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData); + _CRTIMP int __cdecl _wunlink(const wchar_t *_Filename); + _CRTIMP int __cdecl _wrename(const wchar_t *_OldFilename,const wchar_t *_NewFilename); + _CRTIMP wchar_t *__cdecl _wmktemp(wchar_t *_TemplateName) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData); + intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData); + _CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData); + _CRTIMP int __cdecl _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData); + int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData); + _CRTIMP int __cdecl _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData); + _CRTIMP errno_t __cdecl _wsopen_s(int *_FileHandle,const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionFlag); + _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#endif + +#ifndef _WLOCALE_DEFINED +#define _WLOCALE_DEFINED + _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale); +#endif + +#ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP +#ifndef _WEXEC_DEFINED +#define _WEXEC_DEFINED + _CRTIMP intptr_t __cdecl _wexecl(const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wexecle(const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wexeclp(const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wexeclpe(const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wexecv(const wchar_t *_Filename,const wchar_t *const *_ArgList); + _CRTIMP intptr_t __cdecl _wexecve(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + _CRTIMP intptr_t __cdecl _wexecvp(const wchar_t *_Filename,const wchar_t *const *_ArgList); + _CRTIMP intptr_t __cdecl _wexecvpe(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); +#endif + +#ifndef _WSPAWN_DEFINED +#define _WSPAWN_DEFINED + _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...); + _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); + _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); + _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList); + _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env); +#endif + +#ifndef _CRT_WSYSTEM_DEFINED +#define _CRT_WSYSTEM_DEFINED + _CRTIMP int __cdecl _wsystem(const wchar_t *_Command); +#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 + typedef unsigned short _ino_t; +#ifndef NO_OLDNAMES + typedef unsigned short ino_t; +#endif +#endif + +#ifndef _DEV_T_DEFINED +#define _DEV_T_DEFINED + typedef unsigned int _dev_t; +#ifndef NO_OLDNAMES + typedef unsigned int dev_t; +#endif +#endif + +#include <_mingw_off_t.h> +#include <_mingw_stat64.h> + +#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 _wstat64(const wchar_t *_Name,struct _stat64 *_Stat); +#endif +#endif + +#ifndef _WCONIO_DEFINED +#define _WCONIO_DEFINED + +#ifndef WEOF +#define WEOF (wint_t)(0xFFFF) +#endif + + _CRTIMP wchar_t *_cgetws(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wint_t __cdecl _getwch(void); + _CRTIMP wint_t __cdecl _getwche(void); + _CRTIMP wint_t __cdecl _putwch(wchar_t _WCh); + _CRTIMP wint_t __cdecl _ungetwch(wint_t _WCh); + _CRTIMP int __cdecl _cputws(const wchar_t *_String); + _CRTIMP int __cdecl _cwprintf(const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _cwscanf(const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _cwscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vcwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _cwprintf_p(const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _vcwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); + + _CRTIMP int __cdecl _cwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vcwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _cwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vcwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); +#if __MSVCRT_VERSION__ >= 0x800 + wint_t __cdecl _putwch_nolock(wchar_t _WCh); + wint_t __cdecl _getwch_nolock(void); + wint_t __cdecl _getwche_nolock(void); + wint_t __cdecl _ungetwch_nolock(wint_t _WCh); +#endif +#endif + +#ifdef _UCRT + int __cdecl __stdio_common_vswprintf_p(unsigned __int64 _Options, wchar_t *_Str, size_t _Len, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); + int __cdecl __stdio_common_vfwprintf_p(unsigned __int64 _Options, FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList); +#endif + +#ifndef _WSTDIO_DEFINED +#define _WSTDIO_DEFINED + +/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_swscanf(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vswscanf (const wchar_t * __restrict__ _Str,const wchar_t * __restrict__ Format,va_list argp); +/* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_wscanf(const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_vwscanf(const wchar_t * __restrict__ Format, va_list argp); +/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vfwscanf (FILE * __restrict__ fp, const wchar_t * __restrict__ Format,va_list argp); + + +/* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_wprintf(const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __mingw_vfwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); +/* __attribute__((__format__ (gnu_printf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __mingw_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); +/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __mingw_snwprintf (wchar_t * __restrict__ s, size_t n, const wchar_t * __restrict__ format, ...); +/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __mingw_vsnwprintf (wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , va_list); +/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __mingw_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); +/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) + 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,...); +/* __attribute__((__format__ (ms_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_wscanf(const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (ms_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_fwscanf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + +/* __attribute__((__format__ (ms_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) + int __cdecl __ms_fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); +/* __attribute__((__format__ (ms_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_wprintf(const wchar_t * __restrict__ _Format,...); +/* __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); +/*__attribute__((__format__ (ms_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) + int __cdecl __ms_vwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); +/* __attribute__((__format__ (ms_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) + int __cdecl __ms_swprintf(wchar_t * __restrict__ , size_t, const wchar_t * __restrict__ , ...); +/* __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); + +#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); + int __cdecl __stdio_common_vfwprintf(unsigned __int64 options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); + int __cdecl __stdio_common_vswscanf(unsigned __int64 options, const wchar_t *input, size_t length, const wchar_t *format, _locale_t locale, va_list valist); + int __cdecl __stdio_common_vfwscanf(unsigned __int64 options, FILE *file, const wchar_t *format, _locale_t locale, va_list valist); +#endif + +#if __USE_MINGW_ANSI_STDIO + +/* + * User has expressed a preference for C99 conformance... + */ +/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) +int swscanf(const wchar_t *__source, const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_swscanf); + +/* __attribute__((__format__ (gnu_wscanf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) +int wscanf(const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_wscanf); + +/* __attribute__((__format__ (gnu_wscanf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) +int fwscanf(FILE *__stream, const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_fwscanf); + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ +/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) +int vswscanf (const wchar_t *__source, const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vswscanf); + +/* __attribute__((__format__ (gnu_wscanf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) +int vwscanf(const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vwscanf); + +/* __attribute__((__format__ (gnu_wscanf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) +int vfwscanf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vfwscanf); +#endif /* __NO_ISOCEXT */ + + + +/* __attribute__((__format__ (gnu_wprintf, 2, 3))) */ __MINGW_ATTRIB_NONNULL(2) +int fwprintf (FILE *__stream, const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_fwprintf); + +/* __attribute__((__format__ (gnu_wprintf, 1, 2))) */ __MINGW_ATTRIB_NONNULL(1) +int wprintf (const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_wprintf); + +/* __attribute__((__format__ (gnu_wprintf, 2, 0))) */ __MINGW_ATTRIB_NONNULL(2) +int vfwprintf (FILE *__stream, const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vfwprintf); + +/* __attribute__((__format__ (gnu_wprintf, 1, 0))) */ __MINGW_ATTRIB_NONNULL(1) +int vwprintf (const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vwprintf); + +/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) +int swprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_swprintf); + +/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) +int vswprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vswprintf); + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ + +/* __attribute__((__format__ (gnu_wprintf, 3, 4))) */ __MINGW_ATTRIB_NONNULL(3) +int snwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, ...) +__MINGW_ASM_CALL(__mingw_snwprintf); + +/* __attribute__((__format__ (gnu_wprintf, 3, 0))) */ __MINGW_ATTRIB_NONNULL(3) +int vsnwprintf (wchar_t *__stream, size_t __n, const wchar_t *__format, __builtin_va_list __local_argv) +__MINGW_ASM_CALL(__mingw_vsnwprintf); + +#endif /* __NO_ISOCEXT */ + +#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_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); + } + + __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 + __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 __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); + } + + __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; + } +#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); + } + + __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); + } + +#endif /* __NO_ISOCEXT */ + + int __cdecl fwprintf(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + 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); + + 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); +#endif /* _UCRT */ +#endif /* __USE_MINGW_ANSI_STDIO */ + + +#ifndef WEOF +#define WEOF (wint_t)(0xFFFF) +#endif + +#ifdef _POSIX_ + _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode); +#else + _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag); +#endif + + wint_t __cdecl fgetwc(FILE *_File); + _CRTIMP wint_t __cdecl _fgetwchar(void); + wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File); + _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch); + wint_t __cdecl getwc(FILE *_File); + wint_t __cdecl getwchar(void); + wint_t __cdecl putwc(wchar_t _Ch,FILE *_File); + wint_t __cdecl putwchar(wchar_t _Ch); + wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File); + wchar_t *__cdecl fgetws(wchar_t * __restrict__ _Dst,int _SizeInWords,FILE * __restrict__ _File); + int __cdecl fputws(const wchar_t * __restrict__ _Str,FILE * __restrict__ _File); + _CRTIMP wchar_t *__cdecl _getws(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _putws(const wchar_t *_Str); + +#ifdef _UCRT + __mingw_ovr + int __cdecl _scwprintf(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, NULL, 0, _Format, NULL, __ap); + __builtin_va_end(__ap); + return __ret; + } + int __cdecl _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN + int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) + { + return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _Dest, _Count, _Format, NULL, _Args); + } + +#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; + } +#endif + +#else + _CRTIMP int __cdecl _scwprintf(const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _swprintf_l(wchar_t * __restrict__ ,size_t _SizeInWords,const wchar_t * __restrict__ _Format,_locale_t _Locale,... ) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _swprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _vswprintf_c(wchar_t * __restrict__ _DstBuf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _snwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _vsnwprintf(wchar_t * __restrict__ _Dest,size_t _Count,const wchar_t * __restrict__ _Format,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + +#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ + +#if __USE_MINGW_ANSI_STDIO == 0 +#pragma push_macro("snwprintf") +#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") +#pragma pop_macro ("snwprintf") +#endif + +#endif /* _UCRT */ + +#endif /* _WSTDIO_DEFINED */ + + +#ifdef _UCRT + __mingw_ovr int __cdecl _vfwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _File, _Format, _Locale, _ArgList); + } + + __mingw_ovr int __cdecl _vwscanf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwscanf_l(stdin, _Format, _Locale, _ArgList); + } + + __mingw_ovr int __cdecl _fwscanf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _wscanf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwscanf_l(stdin, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vsnwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, _MaxCount, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _snwscanf_l(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _snwscanf(const wchar_t *_Src, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vsnwscanf_l(_Src, _MaxCount, _Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vswscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswscanf(_CRT_INTERNAL_LOCAL_SCANF_OPTIONS, _Src, (size_t)-1, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _swscanf_l(const wchar_t *_Src, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswscanf_l(_Src, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vfwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vfwprintf_p(FILE *_File, const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_p_l(_File, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _vwprintf_p(const wchar_t *_Format, va_list _ArgList) + { + return _vfwprintf_p_l(stdout, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _fwprintf_p_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_p_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _wprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_p_l(stdout, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _fwprintf_p(FILE *_File, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_p_l(_File, _Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _wprintf_p(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vfwprintf_p_l(stdout, _Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vfwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _File, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vfwprintf_l(stdout, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _fwprintf_l(FILE *_File, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_l(_File, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _wprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vfwprintf_l(stdout, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vswprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vswprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, va_list _ArgList) + { + return _vswprintf_p_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _swprintf_p_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _swprintf_p(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswprintf_p_l(_DstBuf, _MaxCount, _Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vsnwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _snwprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vsnwprintf_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vscwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf_p(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vscwprintf_p(const wchar_t *_Format, va_list _ArgList) + { + return _vscwprintf_p_l(_Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _scwprintf_p_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscwprintf_p_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _scwprintf_p(const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vscwprintf_p_l(_Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vscwprintf_l(const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS | _CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR, NULL, 0, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vscwprintf(const wchar_t *_Format, va_list _ArgList) + { + return _vscwprintf_l(_Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _scwprintf_l(const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vscwprintf_l(_Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + + __mingw_ovr int __cdecl _vswprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl __vswprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vswprintf_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + } + __mingw_ovr int __cdecl _vswprintf(wchar_t *_DstBuf, const wchar_t *_Format, va_list _ArgList) + { + return _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, NULL, _ArgList); + } + __mingw_ovr int __cdecl _swprintf_c_l(wchar_t *_DstBuf, size_t _MaxCount, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_c_l(_DstBuf, _MaxCount, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl __swprintf_l(wchar_t *_DstBuf, const wchar_t *_Format, _locale_t _Locale, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Locale); + _Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, _Locale, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } + __mingw_ovr int __cdecl _swprintf(wchar_t *_DstBuf, const wchar_t *_Format, ...) + { + __builtin_va_list _ArgList; + int _Ret; + __builtin_va_start(_ArgList, _Format); + _Ret = _vswprintf_c_l(_DstBuf, (size_t)-1, _Format, NULL, _ArgList); + __builtin_va_end(_ArgList); + return _Ret; + } +#else /* _UCRT */ + _CRTIMP int __cdecl _fwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _wprintf_p(const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _vfwprintf_p(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _vwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _swprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); + _SECIMP int __cdecl _vswprintf_p(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _scwprintf_p(const wchar_t * __restrict__ _Format,...); + _SECIMP int __cdecl _vscwprintf_p(const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _wprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _wprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _vwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _fwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _fwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vfwprintf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _vfwprintf_p_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _swprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _swprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vswprintf_c_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _vswprintf_p_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _scwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _scwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vscwprintf_p_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _snwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _vsnwprintf_l(wchar_t * __restrict__ _DstBuf,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _swprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _vswprintf(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,va_list _Args); + _CRTIMP int __cdecl __swprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _vswprintf_l(wchar_t * __restrict__ _Dest,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl __vswprintf_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Format,_locale_t _Plocinfo,va_list _Args) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#endif /* !_UCRT */ + +#ifndef RC_INVOKED +#include +#endif + +#ifdef _CRT_NON_CONFORMING_SWPRINTFS +#ifndef __cplusplus +#define _swprintf_l __swprintf_l +#define _vswprintf_l __vswprintf_l +#endif +#endif + +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma push_macro("_wtempnam") +#undef _wtempnam +#endif + _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix); +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma pop_macro("_wtempnam") +#endif + +#ifndef _UCRT + _CRTIMP int __cdecl _vscwprintf(const wchar_t * __restrict__ _Format,va_list _ArgList); + _CRTIMP int __cdecl _vscwprintf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,va_list _ArgList); + _CRTIMP int __cdecl _fwscanf_l(FILE * __restrict__ _File,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _swscanf_l(const wchar_t * __restrict__ _Src,const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _snwscanf(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,...); + _CRTIMP int __cdecl _snwscanf_l(const wchar_t * __restrict__ _Src,size_t _MaxCount,const wchar_t * __restrict__ _Format,_locale_t _Locale,...); + _CRTIMP int __cdecl _wscanf_l(const wchar_t * __restrict__ _Format,_locale_t _Locale,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#endif /* !_UCRT */ + _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode); + _CRTIMP FILE *__cdecl _wfopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP FILE *__cdecl _wfreopen(const wchar_t * __restrict__ _Filename,const wchar_t * __restrict__ _Mode,FILE * __restrict__ _OldFile) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + +#ifndef _CRT_WPERROR_DEFINED +#define _CRT_WPERROR_DEFINED + _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg); +#endif + _CRTIMP FILE *__cdecl _wpopen(const wchar_t *_Command,const wchar_t *_Mode); +#if !defined(NO_OLDNAMES) && !defined(wpopen) +#define wpopen _wpopen +#endif + _CRTIMP int __cdecl _wremove(const wchar_t *_Filename); + _CRTIMP wchar_t *__cdecl _wtmpnam(wchar_t *_Buffer); +#if __MSVCRT_VERSION__ >= 0x800 + _CRTIMP wint_t __cdecl _fgetwc_nolock(FILE *_File); + _CRTIMP wint_t __cdecl _fputwc_nolock(wchar_t _Ch,FILE *_File); + _CRTIMP wint_t __cdecl _ungetwc_nolock(wint_t _Ch,FILE *_File); +#endif + +#undef _CRT_GETPUTWCHAR_NOINLINE + +#if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE) || defined (__CRT__NO_INLINE) +#define getwchar() fgetwc(stdin) +#define putwchar(_c) fputwc((_c),stdout) +#else + __CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); } + __CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) {return (fputwc(_C,stdout)); } +#endif + +#define getwc(_stm) fgetwc(_stm) +#define putwc(_c,_stm) fputwc(_c,_stm) +#if __MSVCRT_VERSION__ >= 0x800 +#define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm) +#define _getwc_nolock(_c) _fgetwc_nolock(_c) +#endif +#endif + +#ifndef _WSTDLIB_DEFINED +#define _WSTDLIB_DEFINED + + _CRTIMP wchar_t *__cdecl _itow(int _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl _ltow(long _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP double __cdecl _wcstod_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,_locale_t _Locale); + + double __cdecl __mingw_wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); + float __cdecl __mingw_wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); + long double __cdecl __mingw_wcstold(const wchar_t * __restrict__, wchar_t ** __restrict__); + +#if defined(__USE_MINGW_STRTOX) && !defined(_UCRT) + __mingw_ovr + double __cdecl wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr){ + return __mingw_wcstod(_Str,_EndPtr); + } + __mingw_ovr + float __cdecl wcstof(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr){ + return __mingw_wcstof(_Str,_EndPtr); + } + /* wcstold is already a mingw implementation */ +#else + double __cdecl wcstod(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr); + float __cdecl wcstof(const wchar_t * __restrict__ nptr, wchar_t ** __restrict__ endptr); +#endif /* !defined(__USE_MINGW_STRTOX) || defined(_UCRT) */ +#if !defined __NO_ISOCEXT /* in libmingwex.a */ + long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); +#endif /* __NO_ISOCEXT */ + long __cdecl wcstol(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); + _CRTIMP long __cdecl _wcstol_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + unsigned long __cdecl wcstoul(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix); + _CRTIMP unsigned long __cdecl _wcstoul_l(const wchar_t * __restrict__ _Str,wchar_t ** __restrict__ _EndPtr,int _Radix,_locale_t _Locale); + _CRTIMP wchar_t *__cdecl _wgetenv(const wchar_t *_VarName) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#ifndef _CRT_WSYSTEM_DEFINED +#define _CRT_WSYSTEM_DEFINED + _CRTIMP int __cdecl _wsystem(const wchar_t *_Command); +#endif + _CRTIMP double __cdecl _wtof(const wchar_t *_Str); + _CRTIMP double __cdecl _wtof_l(const wchar_t *_Str,_locale_t _Locale); + _CRTIMP int __cdecl _wtoi(const wchar_t *_Str); + _CRTIMP int __cdecl _wtoi_l(const wchar_t *_Str,_locale_t _Locale); + _CRTIMP long __cdecl _wtol(const wchar_t *_Str); + _CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale); + + __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + __MINGW_EXTENSION _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix); + __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str); + __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale); + __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); + __MINGW_EXTENSION _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); + __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix); + __MINGW_EXTENSION _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale); +#endif + +#ifndef _POSIX_ +#ifndef _WSTDLIBP_DEFINED +#define _WSTDLIBP_DEFINED +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma push_macro("_wfullpath") +#undef _wfullpath +#endif + _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords); +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma pop_macro("_wfullpath") +#endif + _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext); +#ifndef _CRT_WPERROR_DEFINED +#define _CRT_WPERROR_DEFINED + _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg); +#endif + _CRTIMP int __cdecl _wputenv(const wchar_t *_EnvString); + _CRTIMP void __cdecl _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP void __cdecl _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#endif +#endif + +#ifndef _WSTRING_DEFINED +#define _WSTRING_DEFINED +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma push_macro("_wcsdup") +#undef _wcsdup +#endif + _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str); +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma pop_macro("_wcsdup") +#endif + wchar_t *__cdecl wcscat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch); + int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2); + wchar_t *__cdecl wcscpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + size_t __cdecl wcscspn(const wchar_t *_Str,const wchar_t *_Control); + size_t __cdecl wcslen(const wchar_t *_Str); + size_t __cdecl wcsnlen(const wchar_t *_Src,size_t _MaxCount); + wchar_t *__cdecl wcsncat(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + int __cdecl wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + wchar_t *__cdecl wcsncpy(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + wchar_t *__cdecl _wcsncpy_l(wchar_t * __restrict__ _Dest,const wchar_t * __restrict__ _Source,size_t _Count,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CONST_RETURN wchar_t *__cdecl wcspbrk(const wchar_t *_Str,const wchar_t *_Control); + _CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t _Ch); + size_t __cdecl wcsspn(const wchar_t *_Str,const wchar_t *_Control); + _CONST_RETURN wchar_t *__cdecl wcsstr(const wchar_t *_Str,const wchar_t *_SubStr); + wchar_t *__cdecl wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim,wchar_t ** __restrict__ _Ptr) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + wchar_t *__cdecl _wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#if defined(_CRT_NON_CONFORMING_WCSTOK) && !defined(__cplusplus) + #define wcstok _wcstok +#endif +#if !defined(_CRT_NO_INLINE_DEPRECATED_WCSTOK) && defined(__cplusplus) + extern "C++" inline wchar_t *__cdecl wcstok(wchar_t * __restrict__ _Str,const wchar_t * __restrict__ _Delim) { return _wcstok(_Str, _Delim); } +#endif + _CRTIMP wchar_t *__cdecl _wcserror(int _ErrNum) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl __wcserror(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP int __cdecl _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2); + _CRTIMP int __cdecl _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP wchar_t *__cdecl _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl _wcsrev(wchar_t *_Str); + _CRTIMP wchar_t *__cdecl _wcsset(wchar_t *_Str,wchar_t _Val) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl _wcslwr(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *__cdecl _wcsupr(wchar_t *_String) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _CRTIMP wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + size_t __cdecl wcsxfrm(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount); + _CRTIMP size_t __cdecl _wcsxfrm_l(wchar_t * __restrict__ _Dst,const wchar_t * __restrict__ _Src,size_t _MaxCount,_locale_t _Locale); + int __cdecl wcscoll(const wchar_t *_Str1,const wchar_t *_Str2); + _CRTIMP int __cdecl _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2); + _CRTIMP int __cdecl _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale); + _CRTIMP int __cdecl _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + _CRTIMP int __cdecl _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount); + _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale); + +#ifndef NO_OLDNAMES +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma push_macro("wcsdup") +#undef wcsdup +#endif + wchar_t *__cdecl wcsdup(const wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#if defined(_DEBUG) && defined(_CRTDBG_MAP_ALLOC) +#pragma pop_macro("wcsdup") +#endif +#define wcswcs wcsstr + int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + wchar_t *__cdecl wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + wchar_t *__cdecl wcsrev(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + wchar_t *__cdecl wcsset(wchar_t *_Str,wchar_t _Val) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + wchar_t *__cdecl wcslwr(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + wchar_t *__cdecl wcsupr(wchar_t *_Str) __MINGW_ATTRIB_DEPRECATED_MSVC2005; + int __cdecl wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2) __MINGW_ATTRIB_DEPRECATED_MSVC2005; +#endif +#endif + +#ifndef _TM_DEFINED +#define _TM_DEFINED + struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + }; +#endif + +#ifndef _WTIME_DEFINED +#define _WTIME_DEFINED + + _CRTIMP wchar_t *__cdecl _wasctime(const struct tm *_Tm); + _SECIMP errno_t __cdecl _wasctime_s (wchar_t *_Buf,size_t _SizeInWords,const struct tm *_Tm); + wchar_t *__cdecl _wctime32(const __time32_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wctime32_s (wchar_t *_Buf,size_t _SizeInWords,const __time32_t *_Time); + size_t __cdecl wcsftime(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm); + _CRTIMP size_t __cdecl _wcsftime_l(wchar_t * __restrict__ _Buf,size_t _SizeInWords,const wchar_t * __restrict__ _Format,const struct tm * __restrict__ _Tm,_locale_t _Locale); + _CRTIMP wchar_t *__cdecl _wstrdate(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wstrdate_s (wchar_t *_Buf,size_t _SizeInWords); + _CRTIMP wchar_t *__cdecl _wstrtime(wchar_t *_Buffer) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wstrtime_s (wchar_t *_Buf,size_t _SizeInWords); + _CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + _SECIMP errno_t __cdecl _wctime64_s (wchar_t *_Buf,size_t _SizeInWords,const __time64_t *_Time); + +#if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) +#define _INC_WTIME_INL + wchar_t *__cdecl _wctime(const time_t *_Time) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#ifndef __CRT__NO_INLINE +#ifndef _USE_32BIT_TIME_T + __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); } +#else + __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); } +#endif +#endif /* __CRT__NO_INLINE */ +#endif + +#if !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) +#define _INC_WTIME_S_INL + errno_t __cdecl _wctime_s(wchar_t *, size_t, const time_t *); +#ifndef __CRT__NO_INLINE +#ifndef _USE_32BIT_TIME_T + __CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime64_s (_Buffer,_SizeInWords,_Time); } +#else + __CRT_INLINE errno_t __cdecl _wctime_s (wchar_t *_Buffer,size_t _SizeInWords,const time_t *_Time) { return _wctime32_s (_Buffer,_SizeInWords,_Time); } +#endif /* _USE_32BIT_TIME_T */ +#endif /* __CRT__NO_INLINE */ +#endif /* !defined (RC_INVOKED) && !defined (_INC_WTIME_S_INL) */ + +#endif + +#if defined(_UCRT) || defined(__LARGE_MBSTATE_T) + typedef struct _Mbstatet { + unsigned long _Wchar; + unsigned short _Byte, _State; + } _Mbstatet; + typedef _Mbstatet mbstate_t; +#else + typedef int mbstate_t; +#endif + typedef wchar_t _Wint_t; + + wint_t __cdecl btowc(int); + size_t __cdecl mbrlen(const char * __restrict__ _Ch,size_t _SizeInBytes,mbstate_t * __restrict__ _State); + size_t __cdecl mbrtowc(wchar_t * __restrict__ _DstCh,const char * __restrict__ _SrcCh,size_t _SizeInBytes,mbstate_t * __restrict__ _State); + size_t __cdecl mbsrtowcs(wchar_t * __restrict__ _Dest,const char ** __restrict__ _PSrc,size_t _Count,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + size_t __cdecl wcrtomb(char * __restrict__ _Dest,wchar_t _Source,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + size_t __cdecl wcsrtombs(char * __restrict__ _Dest,const wchar_t ** __restrict__ _PSource,size_t _Count,mbstate_t * __restrict__ _State) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + int __cdecl wctob(wint_t _WCh); + +#ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ + wchar_t *__cdecl wmemset(wchar_t *s, wchar_t c, size_t n); + _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *s, wchar_t c, size_t n); + int __cdecl wmemcmp(const wchar_t *s1, const wchar_t *s2,size_t n); + wchar_t *__cdecl wmemcpy(wchar_t * __restrict__ s1,const wchar_t * __restrict__ s2,size_t n) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + wchar_t * __cdecl wmempcpy (wchar_t *_Dst, const wchar_t *_Src, size_t _Size); + wchar_t *__cdecl wmemmove(wchar_t *s1, const wchar_t *s2, size_t n) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; + int __cdecl fwide(FILE *stream,int mode); +#if defined(_UCRT) || defined(__LARGE_MBSTATE_T) + /* With UCRT, mbsinit is only available as inline. */ + __mingw_ovr int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || _P->_Wchar == 0); } +#else + int __cdecl mbsinit(const mbstate_t *ps); +#endif + __MINGW_EXTENSION long long __cdecl wcstoll(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); + __MINGW_EXTENSION unsigned long long __cdecl wcstoull(const wchar_t * __restrict__ nptr,wchar_t ** __restrict__ endptr, int base); +#endif /* __NO_ISOCEXT */ + + void *__cdecl memmove(void *_Dst,const void *_Src,size_t _MaxCount); + void *__cdecl memcpy(void * __restrict__ _Dst,const void * __restrict__ _Src,size_t _MaxCount) __MINGW_ATTRIB_DEPRECATED_SEC_WARN; +#ifndef __CRT__NO_INLINE + __CRT_INLINE int __cdecl fwide(FILE *_F,int _M) { (void)_F; return (_M); } +#if !defined(_UCRT) && !defined(__LARGE_MBSTATE_T) + __CRT_INLINE int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || *_P==0); } +#endif + __CRT_INLINE _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *_S,wchar_t _C,size_t _N) { + if (_S) { + for ( ; 0 < _N; ++_S, --_N) + if (*_S == _C) + return (_CONST_RETURN wchar_t *)(_S); + } + return (_CONST_RETURN wchar_t *) NULL; + } + __CRT_INLINE int __cdecl wmemcmp(const wchar_t *_S1,const wchar_t *_S2,size_t _N) { + if (_N == 0 || _S1 == _S2) + return 0; /* even for NULL pointers. */ + if ((_S1 && !(_S2)) || (_S2 && !(_S1))) + return !(_S2) ? 1 : -1; /* robust. */ + for ( ; 0 < _N; ++_S1, ++_S2, --_N) + if (*_S1 != *_S2) + return (*_S1 < *_S2 ? -1 : +1); + return 0; + } + __CRT_INLINE wchar_t *__cdecl wmemcpy(wchar_t * __restrict__ _S1,const wchar_t * __restrict__ _S2,size_t _N) + { + return (wchar_t *) memcpy (_S1,_S2,_N*sizeof(wchar_t)); + } + __CRT_INLINE wchar_t *__cdecl wmemmove(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); } + __CRT_INLINE wchar_t *__cdecl wmemset(wchar_t *_S,wchar_t _C,size_t _N) { + wchar_t *_Su = _S; + for (;0<_N;++_Su,--_N) { + *_Su = _C; + } + return (_S); + } +#endif /* !__CRT__NO_INLINE */ + +#ifndef __MINGW_MBWC_CONVERT_DEFINED +#define __MINGW_MBWC_CONVERT_DEFINED + +/** + * __mingw_str_wide_utf8 + * Converts a null terminated UCS-2 string to a multibyte (UTF-8) equivalent. + * Caller is supposed to free allocated buffer with __mingw_str_free(). + * @param[in] wptr Pointer to wide string. + * @param[out] mbptr Pointer to multibyte string. + * @param[out] buflen Optional parameter for length of allocated buffer. + * @return bytes written by WideCharToMultiByte conversion, 0 for failure. + * + * WideCharToMultiByte - http://msdn.microsoft.com/en-us/library/dd374130(VS.85).aspx + */ +int __cdecl __mingw_str_wide_utf8 (const wchar_t * const wptr, char **mbptr, size_t * buflen); + +/** + * __mingw_str_utf8_wide + * Converts a null terminated UTF-8 string to a UCS-2 equivalent. + * Caller is supposed to free allocated buffer with __mingw_str_free(). + * @param[out] mbptr Pointer to multibyte string. + * @param[in] wptr Pointer to wide string. + * @param[out] buflen Optional parameter for length of allocated buffer. + * @return bytes written by WideCharToMultiByte conversion, 0 for failure. + * + * MultiByteToWideChar - http://msdn.microsoft.com/en-us/library/dd319072(VS.85).aspx + */ + +int __cdecl __mingw_str_utf8_wide (const char *const mbptr, wchar_t ** wptr, size_t * buflen); + +/** + * __mingw_str_free + * Frees buffer create by __mingw_str_wide_utf8 and __mingw_str_utf8_wide. + * @param[in] ptr memory block to free. + * + */ + +void __cdecl __mingw_str_free(void *ptr); + +#endif /* __MINGW_MBWC_CONVERT_DEFINED */ + +#ifdef __cplusplus +} +#endif + +#pragma pack(pop) + +#include + +#endif /* _INC_WCHAR */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcmconfig.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcmconfig.h new file mode 100644 index 00000000..4348fa93 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcmconfig.h @@ -0,0 +1,62 @@ +/** + * 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_WCMCONFIG +#define _INC_WCMCONFIG +#if (_WIN32_WINNT >= 0x0600) + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0013 { + dataTypeByte = 1, + dataTypeSByte = 2, + dataTypeUInt16 = 3, + dataTypeInt16 = 4, + dataTypeUInt32 = 5, + dataTypeInt32 = 6, + dataTypeUInt64 = 7, + dataTypeInt64 = 8, + dataTypeBoolean = 11, + dataTypeString = 12, + dataTypeFlagArray = 0x8000 +} WcmDataType; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0020 { + ReadOnlyAccess = 1, + ReadWriteAccess = 2 +} WcmNamespaceAccess; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0003 { + SharedEnumeration = 1, + UserEnumeration = 2, + AllEnumeration = ( SharedEnumeration | UserEnumeration ) +} WcmNamespaceEnumerationFlags; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0016 { + restrictionFacetMaxLength = 0x1, + restrictionFacetEnumeration = 0x2, + restrictionFacetMaxInclusive = 0x4, + restrictionFacetMinInclusive = 0x8 +} WcmRestrictionFacets; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0014 { + settingTypeScalar = 1, + settingTypeComplex = 2, + settingTypeList = 3 +} WcmSettingType; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0002 { + OfflineMode = 1, + OnlineMode = 2 +} WcmTargetMode; + +typedef enum __MIDL___MIDL_itf_wcmconfig_0000_0000_0019 { + UnknownStatus = 0, + UserRegistered = 1, + UserUnregistered = 2, + UserLoaded = 3, + UserUnloaded = 4 +} WcmUserStatus; + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WCMCONFIG*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcsplugin.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcsplugin.h new file mode 100644 index 00000000..043aaf78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wcsplugin.h @@ -0,0 +1,90 @@ +/** + * 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_WCSPLUGIN +#define _INC_WCSPLUGIN +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _BlackInformation { + WINBOOL bBlackOnly; + FLOAT blackWeight; +} BlackInformation; + +typedef struct _JabColorF { + FLOAT J; + FLOAT a; + FLOAT b; +} JabColorF; + +typedef struct _PrimaryJabColors { + JabColorF red; + JabColorF yellow; + JabColorF green; + JabColorF cyan; + JabColorF blue; + JabColorF magenta; + JabColorF black; + JabColorF white; +} PrimaryJabColors; + +typedef struct _GamutShellTriangle { + UINT aVertexIndex[3]; +} GamutShellTriangle; + +typedef struct _GamutShell { + FLOAT JMin; + FLOAT JMax; + UINT cVertices; + UINT cTriangles; + JabColorF *pVertices; + GamutShellTriangle *pTriangles; +} GamutShell; + +typedef struct _GamutBoundaryDescription { + PrimaryJabColors primaries; + UINT cNeutralSamples + JabColorF *pNeutralSamples; + GamutShell *pReferenceShell; + GamutShell *pPlausibleShell; + GamutShell *pPossibleShell; +} GamutBoundaryDescription; + +typedef struct _PrimaryJabColors { + JabColorF red; + JabColorF yellow; + JabColorF green; + JabColorF cyan; + JabColorF blue; + JabColorF magenta; + JabColorF black; + JabColorF white; +} PrimaryJabColors; + +typedef struct _XYZColorF { + FLOAT X; + FLOAT Y; + FLOAT Z; +} XYZColorF; + +typedef struct _PrimaryXYZColors { + XYZColorF red; + XYZColorF yellow; + XYZColorF green; + XYZColorF cyan; + XYZColorF blue; + XYZColorF magenta; + XYZColorF black; + XYZColorF white; +} PrimaryXYZColors; + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WCSPLUGIN*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wct.h new file mode 100644 index 00000000..0bd36962 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wct.h @@ -0,0 +1,83 @@ +/** + * 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_WCT +#define _INC_WCT +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + + typedef LPVOID HWCT; + + typedef enum _WCT_OBJECT_TYPE { + WctCriticalSectionType = 1, + WctSendMessageType, + WctMutexType, + WctAlpcType, + WctComType, + WctThreadWaitType, + WctProcessWaitType, + WctThreadType, + WctComActivationType, + WctUnknownType + } WCT_OBJECT_TYPE; + + typedef enum _WCT_OBJECT_STATUS { + WctStatusNoAccess = 1, + WctStatusRunning, + WctStatusBlocked, + WctStatusPidOnly, + WctStatusPidOnlyRpcss, + WctStatusOwned, + WctStatusNotOwned, + WctStatusAbandoned, + WctStatusUnknown, + WctStatusError + } WCT_OBJECT_STATUS; + + /* According to http://msdn.microsoft.com/en-us/magazine/cc163395.aspx + RealObjectName has 0x8 offset and TimeOutLowPart has 0x108 + WCT_OBJNAME_LENGTH assumed to be 128 ((0x108-0x8)/sizeof (ushort) = 128) + */ +#define WCT_OBJNAME_LENGTH 128 + + typedef struct _WAITCHAIN_NODE_INFO { + WCT_OBJECT_TYPE ObjectType; + WCT_OBJECT_STATUS ObjectStatus; + __C89_NAMELESS union { + struct { + WCHAR ObjectName[WCT_OBJNAME_LENGTH]; + LARGE_INTEGER Timeout; + WINBOOL Alertable; + } LockObject; + struct { + DWORD ProcessId; + DWORD ThreadId; + DWORD WaitTime; + DWORD ContextSwitches; + } ThreadObject; + }; + } WAITCHAIN_NODE_INFO, *PWAITCHAIN_NODE_INFO; + + typedef VOID (CALLBACK *PWAITCHAINCALLBACK)(HWCT WctHandle,DWORD_PTR Context,DWORD CallbackStatus,LPDWORD NodeCount,PWAITCHAIN_NODE_INFO NodeInfoArray,LPBOOL IsCycle); + + HWCT WINAPI OpenThreadWaitChainSession(DWORD Flags,PWAITCHAINCALLBACK callback); + VOID WINAPI CloseThreadWaitChainSession(HWCT WctHandle); +WINBOOL WINAPI GetThreadWaitChain(HWCT WctHandle,DWORD_PTR Context,DWORD Flags,DWORD ThreadId,LPDWORD NodeCount,PWAITCHAIN_NODE_INFO NodeInfoArray,LPBOOL IsCycle); + +/* Unknown Callbacks */ +typedef LPVOID (WINAPI *PCOGETCALLSTATE)(); +typedef LPVOID (WINAPI *PCOGETACTIVATIONSTATE)(); + +VOID WINAPI RegisterWaitChainCOMCallback(PCOGETCALLSTATE CallStateCallback,PCOGETACTIVATIONSTATE ActivationStateCallback); + +#ifdef __cplusplus +} +#endif + +#endif /* (_WIN32_WINNT >= 0x0600) */ +#endif /*_INC_WCT*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wctype.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wctype.h new file mode 100644 index 00000000..b45ba26c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wctype.h @@ -0,0 +1,160 @@ +/** + * 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_WCTYPE +#define _INC_WCTYPE + +#ifndef _WIN32 +#error Only Win32 target is supported! +#endif + +#include + +#pragma pack(push,_CRT_PACKING) + +#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; + wint_t __cdecl towctrans(wint_t,wctrans_t); + wctrans_t __cdecl wctrans(const char *); + wctype_t __cdecl wctype(const char *); + +#ifdef __cplusplus +} +#endif + +#pragma pack(pop) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsbp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsbp.h new file mode 100644 index 00000000..abe78147 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsbp.h @@ -0,0 +1,66 @@ +/** + * 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_WDSBP +#define _INC_WDSBP +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WDSBPAPI +#define WDSBPAPI WINAPI +#endif + +/* Wdsbp.dll is missing an implib because Vista clients don't have the dll to generate it from */ + +HRESULT WDSBPAPI WdsBpAddOption( + HANDLE hHandle, + ULONG uOption, + ULONG uValueLen, + PVOID pValue +); + +HRESULT WDSBPAPI WdsBpCloseHandle( + HANDLE hHandle +); + +HRESULT WDSBPAPI WdsBpGetOptionBuffer( + HANDLE hHandle, + ULONG uBufferLen, + PVOID pBuffer, + PULONG puBytes +); + +#define WDSBP_PK_TYPE_DHCP 1 +#define WDSBP_PK_TYPE_WDSNBP 2 +#define WDSBP_PK_TYPE_BCD 4 + +HRESULT WDSBPAPI WdsBpInitialize( + BYTE bPacketType, + HANDLE *phHandle +); + +HRESULT WDSBPAPI WdsBpParseInitialize( + PVOID pPacket, + ULONG uPacketLen, + PBYTE pbPacketType, + HANDLE *phHandle +); + +HRESULT WDSBPAPI WdsBpQueryOption( + HANDLE hHandle, + ULONG uOption, + ULONG uValueLen, + PVOID pValue, + PULONG puBytes +); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WDSBP*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsclientapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsclientapi.h new file mode 100644 index 00000000..61dfce7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdsclientapi.h @@ -0,0 +1,244 @@ +/** + * 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_WDSCLIENTAPI +#define _INC_WDSCLIENTAPI +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +#define WDS_CLI_MSG_START 0 +#define WDS_CLI_MSG_COMPLETE 1 +#define WDS_CLI_MSG_PROGRESS 2 +#define WDS_CLI_MSG_TEXT 3 + +#ifndef WDSCLIAPI +#define WDSCLIAPI WINAPI +#endif + +/* WdsClientAPI.dll is missing an implib because Vista clients don't have the dll to generate it from */ + +typedef VOID (CALLBACK *PFN_WdsCliCallback)( + DWORD dwMessageId, + WPARAM wParam, + LPARAM lParam, + PVOID pvUserData +); + +typedef VOID (WDSCLIAPI *PFN_WdsCliTraceFunction)( + LPCWSTR pwszFormat, + va_list Params +); + + +typedef enum _WDS_LOG_LEVEL { + WDS_LOG_LEVEL_DISABLED = 0, + WDS_LOG_LEVEL_ERROR = 1, + WDS_LOG_LEVEL_WARNING = 2, + WDS_LOG_LEVEL_INFO = 3 +} WDS_LOG_LEVEL; + +typedef enum _WDS_LOG_TYPE_CLIENT { + WDS_LOG_TYPE_CLIENT_ERROR = 1, + WDS_LOG_TYPE_CLIENT_STARTED, + WDS_LOG_TYPE_CLIENT_FINISHED, + WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED, + WDS_LOG_TYPE_CLIENT_APPLY_STARTED, + WDS_LOG_TYPE_CLIENT_APPLY_FINISHED, + WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE, + WDS_LOG_TYPE_CLIENT_MAX_CODE +} WDS_LOG_TYPE_CLIENT; + +typedef struct tagWDS_CLI_CRED { + PCWSTR pwszUserName; + PCWSTR pwszDomain; + PCWSTR pwszPassword; +} WDS_CLI_CRED, *PWDS_CLI_CRED, *LPWDS_CLI_CRED; + +HRESULT WDSCLIAPI WdsCliAuthorizeSession( + HANDLE hSession, + PWDS_CLI_CRED pCred +); + +HRESULT WDSCLIAPI WdsCliCancelTransfer( + HANDLE hTransfer +); + +HRESULT WDSCLIAPI WdsCliClose( + HANDLE Handle +); + +HRESULT WDSCLIAPI WdsCliCreateSession( + PWSTR pwszServer, + PWDS_CLI_CRED pCred, + PHANDLE phSession +); + +HRESULT WDSCLIAPI WdsCliFindFirstImage( + HANDLE hSession, + PHANDLE phFindHandle +); + +HRESULT WDSCLIAPI WdsCliFindNextImage( + HANDLE Handle +); + +#define WdsCliFlagEnumFilterVersion 1 + +HRESULT WDSCLIAPI WdsCliGetEnumerationFlags( + HANDLE Handle, + PDWORD pdwFlags +); + +#define PROCESSOR_ARCHITECTURE_AMD64 9 +#define PROCESSOR_ARCHITECTURE_IA64 6 +#define PROCESSOR_ARCHITECTURE_INTEL 0 + +HRESULT WDSCLIAPI WdsCliGetImageArchitecture( + HANDLE hIfh, + PDWORD pdwValue +); + +HRESULT WDSCLIAPI WdsCliGetImageDescription( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageGroup( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageHalName( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageHandleFromFindHandle( + HANDLE FindHandle, + PHANDLE phImageHandle +); + +HRESULT WDSCLIAPI WdsCliGetImageHandleFromTransferHandle( + HANDLE hTransfer, + PHANDLE phImageHandle +); + +HRESULT WDSCLIAPI WdsCliGetImageIndex( + HANDLE hIfh, + PDWORD pdwValue +); + +HRESULT WDSCLIAPI WdsCliGetImageLanguage( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageLanguages( + HANDLE hIfh, + PTSTR **pppszValues, + PDWORD pdwNumValues +); + +HRESULT WDSCLIAPI WdsCliGetImageLastModifiedTime( + HANDLE hIfh, + PSYSTEMTIME *ppSysTimeValue +); + +HRESULT WINAPI WdsCliGetImageName( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageNamespace( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImagePath( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetImageSize( + HANDLE hIfh, + PULONGLONG pullValue +); + +HRESULT WDSCLIAPI WdsCliGetImageVersion( + HANDLE hIfh, + PWSTR *ppwszValue +); + +HRESULT WDSCLIAPI WdsCliGetTransferSize( + HANDLE hIfh, + PULONGLONG pullValue +); + +HRESULT WDSCLIAPI WdsCliInitializeLog( + HANDLE hSession, + ULONG ulClientArchitecture, + PWSTR pwszClientId, + PWSTR pwszClientAddress +); + +#define WDS_LOG_LEVEL_DISABLED 0 +#define WDS_LOG_LEVEL_ERROR 1 +#define WDS_LOG_LEVEL_WARNING 2 +#define WDS_LOG_LEVEL_INFO 3 + +#define WDS_LOG_TYPE_CLIENT_ERROR 1 +#define WDS_LOG_TYPE_CLIENT_STARTED 2 +#define WDS_LOG_TYPE_CLIENT_FINISHED 3 +#define WDS_LOG_TYPE_CLIENT_IMAGE_SELECTED 4 +#define WDS_LOG_TYPE_CLIENT_APPLY_STARTED 5 +#define WDS_LOG_TYPE_CLIENT_APPLY_FINISHED 6 +#define WDS_LOG_TYPE_CLIENT_GENERIC_MESSAGE 7 +#define WDS_LOG_TYPE_CLIENT_MAX_CODE 8 + +HRESULT __cdecl WdsCliLog( + HANDLE hSession, + ULONG ulLogLevel, + ULONG ulMessageCode, + ... +); + +HRESULT WDSCLIAPI WdsCliRegisterTrace( + PFN_WdsCliTraceFunction pfn +); + +HRESULT WDSCLIAPI WdsCliTransferFile( + PCWSTR pwszServer, + PCWSTR pwszNamespace, + PCWSTR pwszRemoteFilePath, + PCWSTR pwszLocalFilePath, + DWORD dwFlags, + DWORD dwReserved, + PFN_WdsCliCallback pfnWdsCliCallback, + PVOID pvUserData, + PHANDLE phTransfer +); + +HRESULT WDSCLIAPI WdsCliTransferImage( + HANDLE hImage, + PWSTR pwszLocalPath, + DWORD dwFlags, + DWORD dwReserved, + PFN_WdsCliCallback pfnWdsCliCallback, + PVOID pvUserData, + PHANDLE phTransfer +); + +HRESULT WDSCLIAPI WdsCliWaitForTransfer( + HANDLE hTransfer +); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WDSCLIENTAPI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdspxe.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdspxe.h new file mode 100644 index 00000000..0ad9702e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdspxe.h @@ -0,0 +1,139 @@ +/** + * 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_WDSPXE +#define _INC_WDSPXE +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +#define PXE_ADDR_BROADCAST 0x0001 +#define PXE_ADDR_USE_PORT 0x0002 +#define PXE_ADDR_USE_ADDR 0x0004 +#define PXE_ADDR_USE_DHCP_RULES 0x0008 + +#ifndef PXEAPI +#define PXEAPI WINAPI +#endif + +typedef ULONG PXE_BOOT_ACTION; +typedef ULONG PXE_REG_INDEX; +typedef ULONG PXE_PROVIDER_ATTRIBUTE; + +typedef struct tagPXE_ADDRESS { + ULONG uFlags; + __C89_NAMELESS union { + BYTE bAddress[PXE_MAX_ADDRESS]; + ULONG uIpAddress; + } DUMMYUNIONNAME; + ULONG uAddrLen; + USHORT uPort; +} PXE_ADDRESS, *PPXE_ADDRESS; + +typedef struct _PXE_DHCP_MESSAGE { + BYTE Operation; + BYTE HardwareAddressType; + BYTE HardwareAddressLength; + BYTE HopCount; + DWORD TransactionID; + WORD SecondsSinceBoot; + WORD Reserved; + ULONG ClientIpAddress; + ULONG YourIPAddress; + ULONG BootstrapServerAddress; + ULONG RelayAgentIpAddress; + BYTE HardwareAddress[PXE_DHCP_HWAADR_SIZE]; + BYTE HostName[PXE_DHCP_SERVER_SIZE]; + BYTE BootFileName; + __C89_NAMELESS union { + BYTE bMagicCookie[PXE_DHCP_MAGIC_COOKIE_SIZE]; + ULONG uMagicCookie; + } DUMMYUNIONNAME; +} PXE_DHCP_MESSAGE, *PPXE_DHCP_MESSAGE; + +typedef struct _PXE_DHCP_OPTION { + BYTE OptionType; + BYTE OptionLength; + BYTE OptionValue[1]; +} PXE_DHCP_OPTION, *PPXE_DHCP_OPTION; + +#define PXE_BA_NBP 1 +#define PXE_BA_CUSTOM 2 +#define PXE_BA_IGNORE 3 +#define PXE_BA_REJECTED 4 + +typedef struct tagPXE_PROVIDER { + ULONG uSizeOfStruct; + LPWSTR pwszName; + LPWSTR pwszFilePath; + WINBOOL bIsCritical; + ULONG uIndex; +} PXE_PROVIDER, *PPXE_PROVIDER; + +DWORD PXEAPI PxeDhcpAppendOption(PVOID pReplyPacket,ULONG uMaxReplyPacketLen,PULONG puReplyPacketLen,BYTE bOption,BYTE bOptionLen,PVOID pValue); +DWORD PXEAPI PxeDhcpGetOptionValue(PVOID pPacket,ULONG uPacketLen,ULONG uInstance,BYTE bOption,PBYTE pbOptionLen,PVOID *ppOptionValue); +DWORD PXEAPI PxeDhcpGetVendorOptionValue(PVOID pPacket,ULONG uPacketLen,BYTE bOption,ULONG uInstance,PBYTE pbOptionLen,PVOID *ppOptionValue); +DWORD PXEAPI PxeDhcpInitialize(PVOID pRecvPacket,ULONG uRecvPacketLen,PVOID pReplyPacket,ULONG uMaxReplyPacketLen,PULONG puReplyPacketLen); +DWORD PXEAPI PxeDhcpIsValid(PVOID pPacket,ULONG uPacketLen,WINBOOL bRequestPacket,PBOOL pbPxeOptionPresent); + +typedef enum _PXE_GSI_TYPE { + PXE_GSI_TRACE_ENABLED = 1 +} PXE_GSI_TYPE; + +DWORD PXEAPI PxeGetServerInfo(PXE_GSI_TYPE uInfoType,PVOID pBuffer,ULONG uBufferLen); +PVOID PXEAPI PxePacketAllocate(HANDLE hProvider,HANDLE hClientRequest,ULONG uSize); +DWORD PXEAPI PxePacketFree(HANDLE hProvider,HANDLE hClientRequest,PVOID pPacket); +DWORD PXEAPI PxeProviderEnumClose(HANDLE hEnum); +DWORD PXEAPI PxeProviderEnumFirst(HANDLE *phEnum); +DWORD PXEAPI PxeProviderEnumNext(HANDLE hEnum,PPXE_PROVIDER *ppProvider); +DWORD PXEAPI PxeProviderFreeInfo(PPXE_PROVIDER pProvider); +DWORD PXEAPI PxeProviderInitialize(HANDLE hProvider,HKEY hProviderKey); +DWORD PXEAPI PxeProviderQueryIndex(LPCWSTR pszProviderName,PULONG puIndex); +DWORD PXEAPI PxeProviderRecvRequest(HANDLE hClientRequest,PVOID pPacket,ULONG uPacketLen,PXE_ADDRESS *pLocalAddress,PXE_ADDRESS *pRemoteAddress,PXE_BOOT_ACTION pAction,PVOID pContext); + +#define PXE_REG_INDEX_TOP __MSABI_LONG(0U) +#define PXE_REG_INDEX_BOTTOM __MSABI_LONG(0xFFFFFFFFU) + +DWORD PXEAPI PxeProviderRegister(LPCWSTR pszProviderName,LPCWSTR pszModulePath,PXE_REG_INDEX Index,WINBOOL bIsCritical,PHKEY phProviderKey); +DWORD PXEAPI PxeProviderServiceControl(PVOID pContext,DWORD dwControl); +DWORD PXEAPI PxeProviderSetAttribute(HANDLE hProvider,PXE_PROVIDER_ATTRIBUTE Attribute,PVOID pParameterBuffer,ULONG uParamLen); + +#define PXE_PROV_ATTR_FILTER 0 + +#define PXE_PROV_FILTER_ALL 0x0000 +#define PXE_PROV_FILTER_DHCP_ONLY 0x0001 +#define PXE_PROV_FILTER_PXE_ONLY 0x0002 + +DWORD PXEAPI PxeProviderSetAttribute(HANDLE hProvider,PXE_PROVIDER_ATTRIBUTE Attribute,PVOID pParameterBuffer,ULONG uParamLen); +DWORD PXEAPI PxeProviderShutdown(PVOID pContext); +DWORD PXEAPI PxeProviderUnRegister(LPCWSTR pszProviderName); + +typedef enum _PXE_CALLBACK_TYPE { + PXE_CALLBACK_RECV_REQUEST = 0, + PXE_CALLBACK_SHUTDOWN, + PXE_CALLBACK_SERVICE_CONTROL, + PXE_CALLBACK_MAX +} PXE_CALLBACK_TYPE; + +DWORD PXEAPI PxeSendReply(HANDLE hClientRequest,PVOID pPacket,ULONG uPacketLen,PXE_ADDRESS *pAddress); +DWORD PXEAPI PxeRegisterCallback(HANDLE hProvider,PXE_CALLBACK_TYPE CallbackType,PVOID pCallbackFunction,PVOID pContext); + +typedef DWORD PXE_SEVERITY; + +#define PXE_TRACE_VERBOSE 0x00010000 +#define PXE_TRACE_INFO 0x00020000 +#define PXE_TRACE_WARNING 0x00040000 +#define PXE_TRACE_ERROR 0x00080000 +#define PXE_TRACE_FATAL 0x00100000 + +DWORD WINAPIV PxeTrace(HANDLE hProvider,PXE_SEVERITY Severity,LPCWSTR pszFormat,...); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WDSPXE*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstci.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstci.h new file mode 100644 index 00000000..fbef8c45 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstci.h @@ -0,0 +1,146 @@ +/** + * 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_WDSCLIENTAPI +#define _INC_WDSCLIENTAPI +#include +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WDSTCIAPI +#define WDSTCIAPI WINAPI +#endif + +/* Wdstptc.dll is missing an implib because Vista clients don't have the dll to generate it from */ + +typedef VOID (CALLBACK *PFN_WdsTransportClientReceiveContents)( + HANDLE hSessionKey, + PVOID pCallerData, + PVOID pMetadata, + ULONG ulSize, + PULARGE_INTEGER pContentOffset +); + +typedef VOID (CALLBACK *PFN_WdsTransportClientReceiveMetadata)( + HANDLE hSessionKey, + PVOID pCallerData, + PVOID pMetadata, + ULONG ulSize +); + +typedef VOID (CALLBACK *PFN_WdsTransportClientSessionComplete)( + HANDLE hSessionKey, + PVOID pCallerData, + DWORD dwError +); + +typedef VOID (CALLBACK *PFN_WdsTransportClientSessionStart)( + HANDLE hSessionKey, + PVOID pCallerData, + PULARGE_INTEGER FileSize +); + +typedef VOID (CALLBACK *PFN_WdsTransportClientSessionStartEx)( + HANDLE hSessionKey, + PVOID pCallerData, + PTRANSPORTCLIENT_SESSION_INFO Info +); + +typedef enum _TRANSPORTCLIENT_CALLBACK_ID { + WDS_TRANSPORTCLIENT_SESSION_START = 0, + WDS_TRANSPORTCLIENT_RECEIVE_CONTENTS = 1, + WDS_TRANSPORTCLIENT_SESSION_COMPLETE = 2, + WDS_TRANSPORTCLIENT_RECEIVE_METADATA = 3, + WDS_TRANSPORTCLIENT_SESSION_STARTEX = 4, + WDS_TRANSPORTCLIENT_MAX_CALLBACKS = 5 +} TRANSPORTCLIENT_CALLBACK_ID,*PTRANSPORTCLIENT_CALLBACK_ID; + +typedef struct _TRANSPORTCLIENT_SESSION_INFO { + ULONG ulStructureLength; + ULARGE_INTEGER ullFileSize; + ULONG ulBlockSize; +} TRANSPORTCLIENT_SESSION_INFO, *PTRANSPORTCLIENT_SESSION_INFO; + +#define WDS_TRANSPORT_CLIENT_CURRENT_API_VERSION 1 + +#define WDS_TRANSPORTCLIENT_AUTH 1 +#define WDS_TRANSPORTCLIENT_NO_AUTH 2 + +#define WDS_TRANSPORTCLIENT_PROTOCOL_MULTICAST 1 + +typedef struct _WDS_TRANSPORTCLIENT_REQUEST { + ULONG ulLength; + ULONG ulApiVersion; + ULONG ulAuthLevel; + LPCWSTR pwszServer; + LPCWSTR pwszNamespace; + LPCWSTR pwszObjectName; + ULONG ulCacheSize; + ULONG ulProtocol; + PVOID pvProtocolData; + ULONG ulProtocolDataLength; +} WDS_TRANSPORTCLIENT_REQUEST, *PWDS_TRANSPORTCLIENT_REQUEST; + +DWORD WDSTCIAPI WdsTransportClientStartSession( + HANDLE hSessionKey +); + +DWORD WDSTCIAPI WdsTransportClientAddRefBuffer( + PVOID pvBuffer +); + +DWORD WDSTCIAPI WdsTransportClientCancelSession( + HANDLE hSessionKey +); + +DWORD WDSTCIAPI WdsTransportClientCloseSession( + HANDLE hSessionKey +); + +DWORD WDSTCIAPI WdsTransportClientCompleteReceive( + HANDLE hSessionKey, + HANDLE ulSize, + PULARGE_INTEGER pullOffset +); + +DWORD WDSTCIAPI WdsTransportClientInitialize(void); + +DWORD WDSTCIAPI WdsTransportClientInitializeSession( + PWDS_TRANSPORTCLIENT_REQUEST pSessionRequest, + PVOID pCallerData, + PHANDLE hSessionKey +); + +DWORD WDSTCIAPI WdsTransportClientQueryStatus( + HANDLE hSessionKey, + PULONG puStatus, + PULONG puErrorCode +); + +DWORD WDSTCIAPI WdsTransportClientRegisterCallback( + HANDLE hSessionKey, + TRANSPORTCLIENT_CALLBACK_ID CallbackId, + PVOID pfnCallback +); + +DWORD WDSTCIAPI WdsTransportClientReleaseBuffer( + PVOID pvBuffer +); + +DWORD WDSTCIAPI WdsTransportClientShutdown(void); + +DWORD WDSTCIAPI WdsTransportClientWaitForCompletion( + HANDLE hSessionKey, + ULONG uTimeout +); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WDSCLIENTAPI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstpdi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstpdi.h new file mode 100644 index 00000000..22329982 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstpdi.h @@ -0,0 +1,97 @@ +/** + * 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_WDSTPDI +#define _INC_WDSTPDI +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +/* Wdsmc.dll is missing an implib because Vista clients don't have the dll to generate it from */ + +#ifndef WDSMCSAPI +#define WDSMCSAPI WINAPI +#endif + +typedef enum _TRANSPORTPROVIDER_CALLBACK_ID { + WDS_TRANSPORTPROVIDER_CREATE_INSTANCE = 0, + WDS_TRANSPORTPROVIDER_COMPARE_CONTENT = 1, + WDS_TRANSPORTPROVIDER_OPEN_CONTENT = 2, + WDS_TRANSPORTPROVIDER_USER_ACCESS_CHECK = 3, + WDS_TRANSPORTPROVIDER_GET_CONTENT_SIZE = 4, + WDS_TRANSPORTPROVIDER_READ_CONTENT = 5, + WDS_TRANSPORTPROVIDER_CLOSE_CONTENT = 6, + WDS_TRANSPORTPROVIDER_CLOSE_INSTANCE = 7, + WDS_TRANSPORTPROVIDER_SHUTDOWN = 8, + WDS_TRANSPORTPROVIDER_DUMP_STATE = 9, + WDS_TRANSPORTPROVIDER_REFRESH_SETTINGS = 10, + WDS_TRANSPORTPROVIDER_GET_CONTENT_METADATA = 11, + WDS_TRANSPORTPROVIDER_MAX_CALLBACKS = 12 +} TRANSPORTPROVIDER_CALLBACK_ID, *PTRANSPORTPROVIDER_CALLBACK_ID; + +typedef enum _WDS_MC_SEVERITY { + WDS_MC_TRACE_VERBOSE = 0x00010000, + WDS_MC_TRACE_INFO = 0x00020000, + WDS_MC_TRACE_WARNING = 0x00040000, + WDS_MC_TRACE_ERROR = 0x00080000, + WDS_MC_TRACE_FATAL = 0x00010000 +} WDS_MC_SEVERITY; + +typedef struct _WDS_TRANSPORTPROVIDER_INIT_PARAMS { + ULONG ulLength; + ULONG ulMcServerVersion; + HKEY hRegistryKey; + HANDLE hProvider; +} WDS_TRANSPORTPROVIDER_INIT_PARAMS, *PWDS_TRANSPORTPROVIDER_INIT_PARAMS; + +typedef struct _WDS_TRANSPORTPROVIDER_SETTINGS { + ULONG ulLength; + ULONG ulLength; +} WDS_TRANSPORTPROVIDER_SETTINGS, *PWDS_TRANSPORTPROVIDER_SETTINGS; + +PVOID WDSMCSAPI WdsTransportServerAllocateBuffer( + HANDLE hProvider, + ULONG ulBufferSize +); + +HRESULT WDSMCSAPI WdsTransportServerCompleteRead( + HANDLE hProvider, + ULONG ulBytesRead, + PVOID pvUserData, + HRESULT hReadResult +); + +HRESULT WDSMCSAPI WdsTransportServerFreeBuffer( + HANDLE hProvider, + PVOID pvBuffer +); + +HRESULT WDSMCSAPI WdsTransportServerRegisterCallback( + HANDLE hProvider, + TRANSPORTPROVIDER_CALLBACK_ID CallbackId, + PVOID pfnCallback +); + +HRESULT WDSMCSAPI WdsTransportServerTraceV( + HANDLE hProvider, + WDS_MC_SEVERITY Severity, + LPCWSTR pwszFormat, + va_list Params +); + +HRESULT WDSMCSAPI WdsTransportServerTrace( + HANDLE hProvider, + WDS_MC_SEVERITY Severity, + LPCWSTR pwszFormat +); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WDSTPDI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstptmgmt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstptmgmt.h new file mode 100644 index 00000000..0e73ec65 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wdstptmgmt.h @@ -0,0 +1,6394 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wdstptmgmt.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 __wdstptmgmt_h__ +#define __wdstptmgmt_h__ + +/* Forward declarations */ + +#ifndef __IWdsTransportCacheable_FWD_DEFINED__ +#define __IWdsTransportCacheable_FWD_DEFINED__ +typedef interface IWdsTransportCacheable IWdsTransportCacheable; +#ifdef __cplusplus +interface IWdsTransportCacheable; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportCollection_FWD_DEFINED__ +#define __IWdsTransportCollection_FWD_DEFINED__ +typedef interface IWdsTransportCollection IWdsTransportCollection; +#ifdef __cplusplus +interface IWdsTransportCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportConfigurationManager_FWD_DEFINED__ +#define __IWdsTransportConfigurationManager_FWD_DEFINED__ +typedef interface IWdsTransportConfigurationManager IWdsTransportConfigurationManager; +#ifdef __cplusplus +interface IWdsTransportConfigurationManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportDiagnosticsPolicy_FWD_DEFINED__ +#define __IWdsTransportDiagnosticsPolicy_FWD_DEFINED__ +typedef interface IWdsTransportDiagnosticsPolicy IWdsTransportDiagnosticsPolicy; +#ifdef __cplusplus +interface IWdsTransportDiagnosticsPolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportConfigurationManager2_FWD_DEFINED__ +#define __IWdsTransportConfigurationManager2_FWD_DEFINED__ +typedef interface IWdsTransportConfigurationManager2 IWdsTransportConfigurationManager2; +#ifdef __cplusplus +interface IWdsTransportConfigurationManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportManager_FWD_DEFINED__ +#define __IWdsTransportManager_FWD_DEFINED__ +typedef interface IWdsTransportManager IWdsTransportManager; +#ifdef __cplusplus +interface IWdsTransportManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespace_FWD_DEFINED__ +#define __IWdsTransportNamespace_FWD_DEFINED__ +typedef interface IWdsTransportNamespace IWdsTransportNamespace; +#ifdef __cplusplus +interface IWdsTransportNamespace; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceAutoCast_FWD_DEFINED__ +#define __IWdsTransportNamespaceAutoCast_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceAutoCast IWdsTransportNamespaceAutoCast; +#ifdef __cplusplus +interface IWdsTransportNamespaceAutoCast; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCast_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCast_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCast IWdsTransportNamespaceScheduledCast; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCast; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCastManualStart IWdsTransportNamespaceScheduledCastManualStart; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCastManualStart; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCastAutoStart IWdsTransportNamespaceScheduledCastAutoStart; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCastAutoStart; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceManager_FWD_DEFINED__ +#define __IWdsTransportNamespaceManager_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceManager IWdsTransportNamespaceManager; +#ifdef __cplusplus +interface IWdsTransportNamespaceManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServer_FWD_DEFINED__ +#define __IWdsTransportServer_FWD_DEFINED__ +typedef interface IWdsTransportServer IWdsTransportServer; +#ifdef __cplusplus +interface IWdsTransportServer; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServer2_FWD_DEFINED__ +#define __IWdsTransportServer2_FWD_DEFINED__ +typedef interface IWdsTransportServer2 IWdsTransportServer2; +#ifdef __cplusplus +interface IWdsTransportServer2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServicePolicy_FWD_DEFINED__ +#define __IWdsTransportServicePolicy_FWD_DEFINED__ +typedef interface IWdsTransportServicePolicy IWdsTransportServicePolicy; +#ifdef __cplusplus +interface IWdsTransportServicePolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServicePolicy2_FWD_DEFINED__ +#define __IWdsTransportServicePolicy2_FWD_DEFINED__ +typedef interface IWdsTransportServicePolicy2 IWdsTransportServicePolicy2; +#ifdef __cplusplus +interface IWdsTransportServicePolicy2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSetupManager_FWD_DEFINED__ +#define __IWdsTransportSetupManager_FWD_DEFINED__ +typedef interface IWdsTransportSetupManager IWdsTransportSetupManager; +#ifdef __cplusplus +interface IWdsTransportSetupManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSetupManager2_FWD_DEFINED__ +#define __IWdsTransportSetupManager2_FWD_DEFINED__ +typedef interface IWdsTransportSetupManager2 IWdsTransportSetupManager2; +#ifdef __cplusplus +interface IWdsTransportSetupManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportTftpManager_FWD_DEFINED__ +#define __IWdsTransportTftpManager_FWD_DEFINED__ +typedef interface IWdsTransportTftpManager IWdsTransportTftpManager; +#ifdef __cplusplus +interface IWdsTransportTftpManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportMulticastSessionPolicy_FWD_DEFINED__ +#define __IWdsTransportMulticastSessionPolicy_FWD_DEFINED__ +typedef interface IWdsTransportMulticastSessionPolicy IWdsTransportMulticastSessionPolicy; +#ifdef __cplusplus +interface IWdsTransportMulticastSessionPolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportContent_FWD_DEFINED__ +#define __IWdsTransportContent_FWD_DEFINED__ +typedef interface IWdsTransportContent IWdsTransportContent; +#ifdef __cplusplus +interface IWdsTransportContent; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSession_FWD_DEFINED__ +#define __IWdsTransportSession_FWD_DEFINED__ +typedef interface IWdsTransportSession IWdsTransportSession; +#ifdef __cplusplus +interface IWdsTransportSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportClient_FWD_DEFINED__ +#define __IWdsTransportClient_FWD_DEFINED__ +typedef interface IWdsTransportClient IWdsTransportClient; +#ifdef __cplusplus +interface IWdsTransportClient; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportTftpClient_FWD_DEFINED__ +#define __IWdsTransportTftpClient_FWD_DEFINED__ +typedef interface IWdsTransportTftpClient IWdsTransportTftpClient; +#ifdef __cplusplus +interface IWdsTransportTftpClient; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportContentProvider_FWD_DEFINED__ +#define __IWdsTransportContentProvider_FWD_DEFINED__ +typedef interface IWdsTransportContentProvider IWdsTransportContentProvider; +#ifdef __cplusplus +interface IWdsTransportContentProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __WdsTransportCacheable_FWD_DEFINED__ +#define __WdsTransportCacheable_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportCacheable WdsTransportCacheable; +#else +typedef struct WdsTransportCacheable WdsTransportCacheable; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportCacheable_FWD_DEFINED__ */ + +#ifndef __WdsTransportCollection_FWD_DEFINED__ +#define __WdsTransportCollection_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportCollection WdsTransportCollection; +#else +typedef struct WdsTransportCollection WdsTransportCollection; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportCollection_FWD_DEFINED__ */ + +#ifndef __WdsTransportManager_FWD_DEFINED__ +#define __WdsTransportManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportManager WdsTransportManager; +#else +typedef struct WdsTransportManager WdsTransportManager; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportManager_FWD_DEFINED__ */ + +#ifndef __WdsTransportServer_FWD_DEFINED__ +#define __WdsTransportServer_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportServer WdsTransportServer; +#else +typedef struct WdsTransportServer WdsTransportServer; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportServer_FWD_DEFINED__ */ + +#ifndef __WdsTransportSetupManager_FWD_DEFINED__ +#define __WdsTransportSetupManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportSetupManager WdsTransportSetupManager; +#else +typedef struct WdsTransportSetupManager WdsTransportSetupManager; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportSetupManager_FWD_DEFINED__ */ + +#ifndef __WdsTransportConfigurationManager_FWD_DEFINED__ +#define __WdsTransportConfigurationManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportConfigurationManager WdsTransportConfigurationManager; +#else +typedef struct WdsTransportConfigurationManager WdsTransportConfigurationManager; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportConfigurationManager_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespaceManager_FWD_DEFINED__ +#define __WdsTransportNamespaceManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespaceManager WdsTransportNamespaceManager; +#else +typedef struct WdsTransportNamespaceManager WdsTransportNamespaceManager; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespaceManager_FWD_DEFINED__ */ + +#ifndef __WdsTransportServicePolicy_FWD_DEFINED__ +#define __WdsTransportServicePolicy_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportServicePolicy WdsTransportServicePolicy; +#else +typedef struct WdsTransportServicePolicy WdsTransportServicePolicy; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportServicePolicy_FWD_DEFINED__ */ + +#ifndef __WdsTransportDiagnosticsPolicy_FWD_DEFINED__ +#define __WdsTransportDiagnosticsPolicy_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportDiagnosticsPolicy WdsTransportDiagnosticsPolicy; +#else +typedef struct WdsTransportDiagnosticsPolicy WdsTransportDiagnosticsPolicy; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportDiagnosticsPolicy_FWD_DEFINED__ */ + +#ifndef __WdsTransportMulticastSessionPolicy_FWD_DEFINED__ +#define __WdsTransportMulticastSessionPolicy_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportMulticastSessionPolicy WdsTransportMulticastSessionPolicy; +#else +typedef struct WdsTransportMulticastSessionPolicy WdsTransportMulticastSessionPolicy; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportMulticastSessionPolicy_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespace_FWD_DEFINED__ +#define __WdsTransportNamespace_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespace WdsTransportNamespace; +#else +typedef struct WdsTransportNamespace WdsTransportNamespace; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespace_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespaceAutoCast_FWD_DEFINED__ +#define __WdsTransportNamespaceAutoCast_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespaceAutoCast WdsTransportNamespaceAutoCast; +#else +typedef struct WdsTransportNamespaceAutoCast WdsTransportNamespaceAutoCast; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespaceAutoCast_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespaceScheduledCast_FWD_DEFINED__ +#define __WdsTransportNamespaceScheduledCast_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespaceScheduledCast WdsTransportNamespaceScheduledCast; +#else +typedef struct WdsTransportNamespaceScheduledCast WdsTransportNamespaceScheduledCast; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespaceScheduledCast_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +#define __WdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespaceScheduledCastManualStart WdsTransportNamespaceScheduledCastManualStart; +#else +typedef struct WdsTransportNamespaceScheduledCastManualStart WdsTransportNamespaceScheduledCastManualStart; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ */ + +#ifndef __WdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +#define __WdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportNamespaceScheduledCastAutoStart WdsTransportNamespaceScheduledCastAutoStart; +#else +typedef struct WdsTransportNamespaceScheduledCastAutoStart WdsTransportNamespaceScheduledCastAutoStart; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ */ + +#ifndef __WdsTransportContent_FWD_DEFINED__ +#define __WdsTransportContent_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportContent WdsTransportContent; +#else +typedef struct WdsTransportContent WdsTransportContent; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportContent_FWD_DEFINED__ */ + +#ifndef __WdsTransportSession_FWD_DEFINED__ +#define __WdsTransportSession_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportSession WdsTransportSession; +#else +typedef struct WdsTransportSession WdsTransportSession; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportSession_FWD_DEFINED__ */ + +#ifndef __WdsTransportClient_FWD_DEFINED__ +#define __WdsTransportClient_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportClient WdsTransportClient; +#else +typedef struct WdsTransportClient WdsTransportClient; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportClient_FWD_DEFINED__ */ + +#ifndef __WdsTransportTftpClient_FWD_DEFINED__ +#define __WdsTransportTftpClient_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportTftpClient WdsTransportTftpClient; +#else +typedef struct WdsTransportTftpClient WdsTransportTftpClient; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportTftpClient_FWD_DEFINED__ */ + +#ifndef __WdsTransportTftpManager_FWD_DEFINED__ +#define __WdsTransportTftpManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportTftpManager WdsTransportTftpManager; +#else +typedef struct WdsTransportTftpManager WdsTransportTftpManager; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportTftpManager_FWD_DEFINED__ */ + +#ifndef __WdsTransportContentProvider_FWD_DEFINED__ +#define __WdsTransportContentProvider_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WdsTransportContentProvider WdsTransportContentProvider; +#else +typedef struct WdsTransportContentProvider WdsTransportContentProvider; +#endif /* defined __cplusplus */ +#endif /* defined __WdsTransportContentProvider_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + + +#ifndef __IWdsTransportCacheable_FWD_DEFINED__ +#define __IWdsTransportCacheable_FWD_DEFINED__ +typedef interface IWdsTransportCacheable IWdsTransportCacheable; +#ifdef __cplusplus +interface IWdsTransportCacheable; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportClient_FWD_DEFINED__ +#define __IWdsTransportClient_FWD_DEFINED__ +typedef interface IWdsTransportClient IWdsTransportClient; +#ifdef __cplusplus +interface IWdsTransportClient; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportCollection_FWD_DEFINED__ +#define __IWdsTransportCollection_FWD_DEFINED__ +typedef interface IWdsTransportCollection IWdsTransportCollection; +#ifdef __cplusplus +interface IWdsTransportCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportConfigurationManager_FWD_DEFINED__ +#define __IWdsTransportConfigurationManager_FWD_DEFINED__ +typedef interface IWdsTransportConfigurationManager IWdsTransportConfigurationManager; +#ifdef __cplusplus +interface IWdsTransportConfigurationManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportConfigurationManager2_FWD_DEFINED__ +#define __IWdsTransportConfigurationManager2_FWD_DEFINED__ +typedef interface IWdsTransportConfigurationManager2 IWdsTransportConfigurationManager2; +#ifdef __cplusplus +interface IWdsTransportConfigurationManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportContent_FWD_DEFINED__ +#define __IWdsTransportContent_FWD_DEFINED__ +typedef interface IWdsTransportContent IWdsTransportContent; +#ifdef __cplusplus +interface IWdsTransportContent; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportContentProvider_FWD_DEFINED__ +#define __IWdsTransportContentProvider_FWD_DEFINED__ +typedef interface IWdsTransportContentProvider IWdsTransportContentProvider; +#ifdef __cplusplus +interface IWdsTransportContentProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportDiagnosticsPolicy_FWD_DEFINED__ +#define __IWdsTransportDiagnosticsPolicy_FWD_DEFINED__ +typedef interface IWdsTransportDiagnosticsPolicy IWdsTransportDiagnosticsPolicy; +#ifdef __cplusplus +interface IWdsTransportDiagnosticsPolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportManager_FWD_DEFINED__ +#define __IWdsTransportManager_FWD_DEFINED__ +typedef interface IWdsTransportManager IWdsTransportManager; +#ifdef __cplusplus +interface IWdsTransportManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespace_FWD_DEFINED__ +#define __IWdsTransportNamespace_FWD_DEFINED__ +typedef interface IWdsTransportNamespace IWdsTransportNamespace; +#ifdef __cplusplus +interface IWdsTransportNamespace; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceAutoCast_FWD_DEFINED__ +#define __IWdsTransportNamespaceAutoCast_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceAutoCast IWdsTransportNamespaceAutoCast; +#ifdef __cplusplus +interface IWdsTransportNamespaceAutoCast; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceManager_FWD_DEFINED__ +#define __IWdsTransportNamespaceManager_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceManager IWdsTransportNamespaceManager; +#ifdef __cplusplus +interface IWdsTransportNamespaceManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCast_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCast_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCast IWdsTransportNamespaceScheduledCast; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCast; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastAutoStart_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCastAutoStart IWdsTransportNamespaceScheduledCastAutoStart; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCastAutoStart; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastManualStart_FWD_DEFINED__ +typedef interface IWdsTransportNamespaceScheduledCastManualStart IWdsTransportNamespaceScheduledCastManualStart; +#ifdef __cplusplus +interface IWdsTransportNamespaceScheduledCastManualStart; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServer_FWD_DEFINED__ +#define __IWdsTransportServer_FWD_DEFINED__ +typedef interface IWdsTransportServer IWdsTransportServer; +#ifdef __cplusplus +interface IWdsTransportServer; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServer2_FWD_DEFINED__ +#define __IWdsTransportServer2_FWD_DEFINED__ +typedef interface IWdsTransportServer2 IWdsTransportServer2; +#ifdef __cplusplus +interface IWdsTransportServer2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServicePolicy_FWD_DEFINED__ +#define __IWdsTransportServicePolicy_FWD_DEFINED__ +typedef interface IWdsTransportServicePolicy IWdsTransportServicePolicy; +#ifdef __cplusplus +interface IWdsTransportServicePolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportServicePolicy2_FWD_DEFINED__ +#define __IWdsTransportServicePolicy2_FWD_DEFINED__ +typedef interface IWdsTransportServicePolicy2 IWdsTransportServicePolicy2; +#ifdef __cplusplus +interface IWdsTransportServicePolicy2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSetupManager_FWD_DEFINED__ +#define __IWdsTransportSetupManager_FWD_DEFINED__ +typedef interface IWdsTransportSetupManager IWdsTransportSetupManager; +#ifdef __cplusplus +interface IWdsTransportSetupManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSetupManager2_FWD_DEFINED__ +#define __IWdsTransportSetupManager2_FWD_DEFINED__ +typedef interface IWdsTransportSetupManager2 IWdsTransportSetupManager2; +#ifdef __cplusplus +interface IWdsTransportSetupManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportTftpManager_FWD_DEFINED__ +#define __IWdsTransportTftpManager_FWD_DEFINED__ +typedef interface IWdsTransportTftpManager IWdsTransportTftpManager; +#ifdef __cplusplus +interface IWdsTransportTftpManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportMulticastSessionPolicy_FWD_DEFINED__ +#define __IWdsTransportMulticastSessionPolicy_FWD_DEFINED__ +typedef interface IWdsTransportMulticastSessionPolicy IWdsTransportMulticastSessionPolicy; +#ifdef __cplusplus +interface IWdsTransportMulticastSessionPolicy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportSession_FWD_DEFINED__ +#define __IWdsTransportSession_FWD_DEFINED__ +typedef interface IWdsTransportSession IWdsTransportSession; +#ifdef __cplusplus +interface IWdsTransportSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IWdsTransportTftpClient_FWD_DEFINED__ +#define __IWdsTransportTftpClient_FWD_DEFINED__ +typedef interface IWdsTransportTftpClient IWdsTransportTftpClient; +#ifdef __cplusplus +interface IWdsTransportTftpClient; +#endif /* __cplusplus */ +#endif + + +typedef enum __WIDL_wdstptmgmt_generated_name_00000020 { + WdsTptProtocolUnicast = 0x1, + WdsTptProtocolMulticast = 0x2 +} WDSTRANSPORT_PROTOCOL_FLAGS; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000021 { + WdsTptNamespaceTypeUnknown = 0, + WdsTptNamespaceTypeAutoCast = 1, + WdsTptNamespaceTypeScheduledCastManualStart = 2, + WdsTptNamespaceTypeScheduledCastAutoStart = 3 +} WDSTRANSPORT_NAMESPACE_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000022 { + WdsTptDisconnectUnknown = 0, + WdsTptDisconnectFallback = 1, + WdsTptDisconnectAbort = 2 +} WDSTRANSPORT_DISCONNECT_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000023 { + WdsTptSlowClientHandlingUnknown = 0, + WdsTptSlowClientHandlingNone = 1, + WdsTptSlowClientHandlingAutoDisconnect = 2, + WdsTptSlowClientHandlingMultistream = 3 +} WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000024 { + WdsTptUdpPortPolicyDynamic = 0, + WdsTptUdpPortPolicyFixed = 1 +} WDSTRANSPORT_UDP_PORT_POLICY; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000025 { + WdsTptTftpCapMaximumBlockSize = 0x1, + WdsTptTftpCapVariableWindow = 0x2 +} WDSTRANSPORT_TFTP_CAPABILITY; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000026 { + WdsTptServiceNotifyUnknown = 0, + WdsTptServiceNotifyReadSettings = 1 +} WDSTRANSPORT_SERVICE_NOTIFICATION; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000027 { + WdsTptIpAddressUnknown = 0, + WdsTptIpAddressIpv4 = 1, + WdsTptIpAddressIpv6 = 2 +} WDSTRANSPORT_IP_ADDRESS_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000028 { + WdsTptIpAddressSourceUnknown = 0, + WdsTptIpAddressSourceDhcp = 1, + WdsTptIpAddressSourceRange = 2 +} WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_00000029 { + WdsTptNetworkProfileUnknown = 0, + WdsTptNetworkProfileCustom = 1, + WdsTptNetworkProfile10Mbps = 2, + WdsTptNetworkProfile100Mbps = 3, + WdsTptNetworkProfile1Gbps = 4 +} WDSTRANSPORT_NETWORK_PROFILE_TYPE; + +typedef enum __WIDL_wdstptmgmt_generated_name_0000002A { + WdsTptFeatureAdminPack = 0x1, + WdsTptFeatureTransportServer = 0x2, + WdsTptFeatureDeploymentServer = 0x4 +} WDSTRANSPORT_FEATURE_FLAGS; + +#define WDSTRANSPORT_FEATURE_FLAGS_ALL (WdsTptFeatureAdminPack | WdsTptFeatureTransportServer | WdsTptFeatureDeploymentServer) + +typedef enum __WIDL_wdstptmgmt_generated_name_0000002B { + WdsTptDiagnosticsComponentPxe = 0x1, + WdsTptDiagnosticsComponentTftp = 0x2, + WdsTptDiagnosticsComponentImageServer = 0x4, + WdsTptDiagnosticsComponentMulticast = 0x8 +} WDSTRANSPORT_DIAGNOSTICS_COMPONENT_FLAGS; + +#define WDSTRANSPORT_DIAGNOSTICS_COMPONENT_FLAGS_ALL (WdsTptDiagnosticsComponentPxe | WdsTptDiagnosticsComponentTftp | WdsTptDiagnosticsComponentImageServer | WdsTptDiagnosticsComponentMulticast) +#define WDSTRANSPORT_RESOURCE_UTILIZATION_UNKNOWN 0xff + +typedef WDSTRANSPORT_PROTOCOL_FLAGS *PWDSTRANSPORT_PROTOCOL_FLAGS; +typedef WDSTRANSPORT_NAMESPACE_TYPE *PWDSTRANSPORT_NAMESPACE_TYPE; +typedef WDSTRANSPORT_DISCONNECT_TYPE *PWDSTRANSPORT_DISCONNECT_TYPE; +typedef WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE *PWDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE; +typedef WDSTRANSPORT_UDP_PORT_POLICY *PWDSTRANSPORT_UDP_PORT_POLICY; +typedef WDSTRANSPORT_TFTP_CAPABILITY *PWDSTRANSPORT_TFTP_CAPABILITY; +typedef WDSTRANSPORT_SERVICE_NOTIFICATION *PWDSTRANSPORT_SERVICE_NOTIFICATION; +typedef WDSTRANSPORT_IP_ADDRESS_TYPE *PWDSTRANSPORT_IP_ADDRESS_TYPE; +typedef WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *PWDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE; +typedef WDSTRANSPORT_NETWORK_PROFILE_TYPE *PWDSTRANSPORT_NETWORK_PROFILE_TYPE; +typedef WDSTRANSPORT_FEATURE_FLAGS *PWDSTRANSPORT_FEATURE_FLAGS; +typedef WDSTRANSPORT_DIAGNOSTICS_COMPONENT_FLAGS *PWDSTRANSPORT_DIAGNOSTICS_COMPONENT_FLAGS; + +/***************************************************************************** + * IWdsTransportCacheable interface + */ +#ifndef __IWdsTransportCacheable_INTERFACE_DEFINED__ +#define __IWdsTransportCacheable_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportCacheable, 0x46ad894b, 0x0bab, 0x47dc, 0x84,0xb2, 0x7b,0x55,0x3f,0x1d,0x8f,0x80); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("46ad894b-0bab-47dc-84b2-7b553f1d8f80") +IWdsTransportCacheable : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Dirty( + VARIANT_BOOL *pbDirty) = 0; + + virtual HRESULT STDMETHODCALLTYPE Discard( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Refresh( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Commit( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportCacheable, 0x46ad894b, 0x0bab, 0x47dc, 0x84,0xb2, 0x7b,0x55,0x3f,0x1d,0x8f,0x80) +#endif +#else +typedef struct IWdsTransportCacheableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportCacheable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportCacheable *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportCacheable *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportCacheable *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportCacheable *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportCacheable *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportCacheable *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCacheable methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Dirty)( + IWdsTransportCacheable *This, + VARIANT_BOOL *pbDirty); + + HRESULT (STDMETHODCALLTYPE *Discard)( + IWdsTransportCacheable *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportCacheable *This); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWdsTransportCacheable *This); + + END_INTERFACE +} IWdsTransportCacheableVtbl; + +interface IWdsTransportCacheable { + CONST_VTBL IWdsTransportCacheableVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportCacheable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportCacheable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportCacheable_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportCacheable_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportCacheable_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportCacheable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportCacheable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCacheable methods ***/ +#define IWdsTransportCacheable_get_Dirty(This,pbDirty) (This)->lpVtbl->get_Dirty(This,pbDirty) +#define IWdsTransportCacheable_Discard(This) (This)->lpVtbl->Discard(This) +#define IWdsTransportCacheable_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportCacheable_Commit(This) (This)->lpVtbl->Commit(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportCacheable_QueryInterface(IWdsTransportCacheable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportCacheable_AddRef(IWdsTransportCacheable* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportCacheable_Release(IWdsTransportCacheable* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportCacheable_GetTypeInfoCount(IWdsTransportCacheable* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportCacheable_GetTypeInfo(IWdsTransportCacheable* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportCacheable_GetIDsOfNames(IWdsTransportCacheable* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportCacheable_Invoke(IWdsTransportCacheable* 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); +} +/*** IWdsTransportCacheable methods ***/ +static inline HRESULT IWdsTransportCacheable_get_Dirty(IWdsTransportCacheable* This,VARIANT_BOOL *pbDirty) { + return This->lpVtbl->get_Dirty(This,pbDirty); +} +static inline HRESULT IWdsTransportCacheable_Discard(IWdsTransportCacheable* This) { + return This->lpVtbl->Discard(This); +} +static inline HRESULT IWdsTransportCacheable_Refresh(IWdsTransportCacheable* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportCacheable_Commit(IWdsTransportCacheable* This) { + return This->lpVtbl->Commit(This); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportCacheable_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportCollection interface + */ +#ifndef __IWdsTransportCollection_INTERFACE_DEFINED__ +#define __IWdsTransportCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportCollection, 0xb8ba4b1a, 0x2ff4, 0x43ab, 0x99,0x6c, 0xb2,0xb1,0x0a,0x91,0xa6,0xeb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b8ba4b1a-2ff4-43ab-996c-b2b10a91a6eb") +IWdsTransportCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Count( + ULONG *pulCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + ULONG ulIndex, + IDispatch **ppVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **ppVal) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportCollection, 0xb8ba4b1a, 0x2ff4, 0x43ab, 0x99,0x6c, 0xb2,0xb1,0x0a,0x91,0xa6,0xeb) +#endif +#else +typedef struct IWdsTransportCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Count)( + IWdsTransportCollection *This, + ULONG *pulCount); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IWdsTransportCollection *This, + ULONG ulIndex, + IDispatch **ppVal); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IWdsTransportCollection *This, + IUnknown **ppVal); + + END_INTERFACE +} IWdsTransportCollectionVtbl; + +interface IWdsTransportCollection { + CONST_VTBL IWdsTransportCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCollection methods ***/ +#define IWdsTransportCollection_get_Count(This,pulCount) (This)->lpVtbl->get_Count(This,pulCount) +#define IWdsTransportCollection_get_Item(This,ulIndex,ppVal) (This)->lpVtbl->get_Item(This,ulIndex,ppVal) +#define IWdsTransportCollection_get__NewEnum(This,ppVal) (This)->lpVtbl->get__NewEnum(This,ppVal) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportCollection_QueryInterface(IWdsTransportCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportCollection_AddRef(IWdsTransportCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportCollection_Release(IWdsTransportCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportCollection_GetTypeInfoCount(IWdsTransportCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportCollection_GetTypeInfo(IWdsTransportCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportCollection_GetIDsOfNames(IWdsTransportCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportCollection_Invoke(IWdsTransportCollection* 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); +} +/*** IWdsTransportCollection methods ***/ +static inline HRESULT IWdsTransportCollection_get_Count(IWdsTransportCollection* This,ULONG *pulCount) { + return This->lpVtbl->get_Count(This,pulCount); +} +static inline HRESULT IWdsTransportCollection_get_Item(IWdsTransportCollection* This,ULONG ulIndex,IDispatch **ppVal) { + return This->lpVtbl->get_Item(This,ulIndex,ppVal); +} +static inline HRESULT IWdsTransportCollection_get__NewEnum(IWdsTransportCollection* This,IUnknown **ppVal) { + return This->lpVtbl->get__NewEnum(This,ppVal); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportCollection_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportConfigurationManager interface + */ +#ifndef __IWdsTransportConfigurationManager_INTERFACE_DEFINED__ +#define __IWdsTransportConfigurationManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportConfigurationManager, 0x84cc4779, 0x42dd, 0x4792, 0x89,0x1e, 0x13,0x21,0xd6,0xd7,0x4b,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("84cc4779-42dd-4792-891e-1321d6d74b44") +IWdsTransportConfigurationManager : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ServicePolicy( + IWdsTransportServicePolicy **ppWdsTransportServicePolicy) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DiagnosticsPolicy( + IWdsTransportDiagnosticsPolicy **ppWdsTransportDiagnosticsPolicy) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WdsTransportServicesRunning( + VARIANT_BOOL bRealtimeStatus, + VARIANT_BOOL *pbServicesRunning) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableWdsTransportServices( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableWdsTransportServices( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartWdsTransportServices( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopWdsTransportServices( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RestartWdsTransportServices( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE NotifyWdsTransportServices( + WDSTRANSPORT_SERVICE_NOTIFICATION ServiceNotification) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportConfigurationManager, 0x84cc4779, 0x42dd, 0x4792, 0x89,0x1e, 0x13,0x21,0xd6,0xd7,0x4b,0x44) +#endif +#else +typedef struct IWdsTransportConfigurationManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportConfigurationManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportConfigurationManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportConfigurationManager *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportConfigurationManager *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportConfigurationManager *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportConfigurationManager *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportConfigurationManager *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportConfigurationManager methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ServicePolicy)( + IWdsTransportConfigurationManager *This, + IWdsTransportServicePolicy **ppWdsTransportServicePolicy); + + HRESULT (STDMETHODCALLTYPE *get_DiagnosticsPolicy)( + IWdsTransportConfigurationManager *This, + IWdsTransportDiagnosticsPolicy **ppWdsTransportDiagnosticsPolicy); + + HRESULT (STDMETHODCALLTYPE *get_WdsTransportServicesRunning)( + IWdsTransportConfigurationManager *This, + VARIANT_BOOL bRealtimeStatus, + VARIANT_BOOL *pbServicesRunning); + + HRESULT (STDMETHODCALLTYPE *EnableWdsTransportServices)( + IWdsTransportConfigurationManager *This); + + HRESULT (STDMETHODCALLTYPE *DisableWdsTransportServices)( + IWdsTransportConfigurationManager *This); + + HRESULT (STDMETHODCALLTYPE *StartWdsTransportServices)( + IWdsTransportConfigurationManager *This); + + HRESULT (STDMETHODCALLTYPE *StopWdsTransportServices)( + IWdsTransportConfigurationManager *This); + + HRESULT (STDMETHODCALLTYPE *RestartWdsTransportServices)( + IWdsTransportConfigurationManager *This); + + HRESULT (STDMETHODCALLTYPE *NotifyWdsTransportServices)( + IWdsTransportConfigurationManager *This, + WDSTRANSPORT_SERVICE_NOTIFICATION ServiceNotification); + + END_INTERFACE +} IWdsTransportConfigurationManagerVtbl; + +interface IWdsTransportConfigurationManager { + CONST_VTBL IWdsTransportConfigurationManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportConfigurationManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportConfigurationManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportConfigurationManager_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportConfigurationManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportConfigurationManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportConfigurationManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportConfigurationManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportConfigurationManager methods ***/ +#define IWdsTransportConfigurationManager_get_ServicePolicy(This,ppWdsTransportServicePolicy) (This)->lpVtbl->get_ServicePolicy(This,ppWdsTransportServicePolicy) +#define IWdsTransportConfigurationManager_get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy) (This)->lpVtbl->get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy) +#define IWdsTransportConfigurationManager_get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning) (This)->lpVtbl->get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning) +#define IWdsTransportConfigurationManager_EnableWdsTransportServices(This) (This)->lpVtbl->EnableWdsTransportServices(This) +#define IWdsTransportConfigurationManager_DisableWdsTransportServices(This) (This)->lpVtbl->DisableWdsTransportServices(This) +#define IWdsTransportConfigurationManager_StartWdsTransportServices(This) (This)->lpVtbl->StartWdsTransportServices(This) +#define IWdsTransportConfigurationManager_StopWdsTransportServices(This) (This)->lpVtbl->StopWdsTransportServices(This) +#define IWdsTransportConfigurationManager_RestartWdsTransportServices(This) (This)->lpVtbl->RestartWdsTransportServices(This) +#define IWdsTransportConfigurationManager_NotifyWdsTransportServices(This,ServiceNotification) (This)->lpVtbl->NotifyWdsTransportServices(This,ServiceNotification) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportConfigurationManager_QueryInterface(IWdsTransportConfigurationManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportConfigurationManager_AddRef(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportConfigurationManager_Release(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportConfigurationManager_GetTypeInfoCount(IWdsTransportConfigurationManager* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportConfigurationManager_GetTypeInfo(IWdsTransportConfigurationManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportConfigurationManager_GetIDsOfNames(IWdsTransportConfigurationManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportConfigurationManager_Invoke(IWdsTransportConfigurationManager* 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); +} +/*** IWdsTransportConfigurationManager methods ***/ +static inline HRESULT IWdsTransportConfigurationManager_get_ServicePolicy(IWdsTransportConfigurationManager* This,IWdsTransportServicePolicy **ppWdsTransportServicePolicy) { + return This->lpVtbl->get_ServicePolicy(This,ppWdsTransportServicePolicy); +} +static inline HRESULT IWdsTransportConfigurationManager_get_DiagnosticsPolicy(IWdsTransportConfigurationManager* This,IWdsTransportDiagnosticsPolicy **ppWdsTransportDiagnosticsPolicy) { + return This->lpVtbl->get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy); +} +static inline HRESULT IWdsTransportConfigurationManager_get_WdsTransportServicesRunning(IWdsTransportConfigurationManager* This,VARIANT_BOOL bRealtimeStatus,VARIANT_BOOL *pbServicesRunning) { + return This->lpVtbl->get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning); +} +static inline HRESULT IWdsTransportConfigurationManager_EnableWdsTransportServices(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->EnableWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager_DisableWdsTransportServices(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->DisableWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager_StartWdsTransportServices(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->StartWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager_StopWdsTransportServices(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->StopWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager_RestartWdsTransportServices(IWdsTransportConfigurationManager* This) { + return This->lpVtbl->RestartWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager_NotifyWdsTransportServices(IWdsTransportConfigurationManager* This,WDSTRANSPORT_SERVICE_NOTIFICATION ServiceNotification) { + return This->lpVtbl->NotifyWdsTransportServices(This,ServiceNotification); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportConfigurationManager_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportDiagnosticsPolicy interface + */ +#ifndef __IWdsTransportDiagnosticsPolicy_INTERFACE_DEFINED__ +#define __IWdsTransportDiagnosticsPolicy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportDiagnosticsPolicy, 0x13b33efc, 0x7856, 0x4f61, 0x9a,0x59, 0x8d,0xe6,0x7b,0x6b,0x87,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("13b33efc-7856-4f61-9a59-8de67b6b87b6") +IWdsTransportDiagnosticsPolicy : public IWdsTransportCacheable +{ + virtual HRESULT STDMETHODCALLTYPE get_Enabled( + VARIANT_BOOL *pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Enabled( + VARIANT_BOOL bEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Components( + ULONG *pulComponents) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Components( + ULONG ulComponents) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportDiagnosticsPolicy, 0x13b33efc, 0x7856, 0x4f61, 0x9a,0x59, 0x8d,0xe6,0x7b,0x6b,0x87,0xb6) +#endif +#else +typedef struct IWdsTransportDiagnosticsPolicyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportDiagnosticsPolicy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportDiagnosticsPolicy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportDiagnosticsPolicy *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportDiagnosticsPolicy *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportDiagnosticsPolicy *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportDiagnosticsPolicy *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportDiagnosticsPolicy *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCacheable methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Dirty)( + IWdsTransportDiagnosticsPolicy *This, + VARIANT_BOOL *pbDirty); + + HRESULT (STDMETHODCALLTYPE *Discard)( + IWdsTransportDiagnosticsPolicy *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportDiagnosticsPolicy *This); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWdsTransportDiagnosticsPolicy *This); + + /*** IWdsTransportDiagnosticsPolicy methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Enabled)( + IWdsTransportDiagnosticsPolicy *This, + VARIANT_BOOL *pbEnabled); + + HRESULT (STDMETHODCALLTYPE *put_Enabled)( + IWdsTransportDiagnosticsPolicy *This, + VARIANT_BOOL bEnabled); + + HRESULT (STDMETHODCALLTYPE *get_Components)( + IWdsTransportDiagnosticsPolicy *This, + ULONG *pulComponents); + + HRESULT (STDMETHODCALLTYPE *put_Components)( + IWdsTransportDiagnosticsPolicy *This, + ULONG ulComponents); + + END_INTERFACE +} IWdsTransportDiagnosticsPolicyVtbl; + +interface IWdsTransportDiagnosticsPolicy { + CONST_VTBL IWdsTransportDiagnosticsPolicyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportDiagnosticsPolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportDiagnosticsPolicy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportDiagnosticsPolicy_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportDiagnosticsPolicy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportDiagnosticsPolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportDiagnosticsPolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportDiagnosticsPolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCacheable methods ***/ +#define IWdsTransportDiagnosticsPolicy_get_Dirty(This,pbDirty) (This)->lpVtbl->get_Dirty(This,pbDirty) +#define IWdsTransportDiagnosticsPolicy_Discard(This) (This)->lpVtbl->Discard(This) +#define IWdsTransportDiagnosticsPolicy_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportDiagnosticsPolicy_Commit(This) (This)->lpVtbl->Commit(This) +/*** IWdsTransportDiagnosticsPolicy methods ***/ +#define IWdsTransportDiagnosticsPolicy_get_Enabled(This,pbEnabled) (This)->lpVtbl->get_Enabled(This,pbEnabled) +#define IWdsTransportDiagnosticsPolicy_put_Enabled(This,bEnabled) (This)->lpVtbl->put_Enabled(This,bEnabled) +#define IWdsTransportDiagnosticsPolicy_get_Components(This,pulComponents) (This)->lpVtbl->get_Components(This,pulComponents) +#define IWdsTransportDiagnosticsPolicy_put_Components(This,ulComponents) (This)->lpVtbl->put_Components(This,ulComponents) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportDiagnosticsPolicy_QueryInterface(IWdsTransportDiagnosticsPolicy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportDiagnosticsPolicy_AddRef(IWdsTransportDiagnosticsPolicy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportDiagnosticsPolicy_Release(IWdsTransportDiagnosticsPolicy* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportDiagnosticsPolicy_GetTypeInfoCount(IWdsTransportDiagnosticsPolicy* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_GetTypeInfo(IWdsTransportDiagnosticsPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_GetIDsOfNames(IWdsTransportDiagnosticsPolicy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_Invoke(IWdsTransportDiagnosticsPolicy* 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); +} +/*** IWdsTransportCacheable methods ***/ +static inline HRESULT IWdsTransportDiagnosticsPolicy_get_Dirty(IWdsTransportDiagnosticsPolicy* This,VARIANT_BOOL *pbDirty) { + return This->lpVtbl->get_Dirty(This,pbDirty); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_Discard(IWdsTransportDiagnosticsPolicy* This) { + return This->lpVtbl->Discard(This); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_Refresh(IWdsTransportDiagnosticsPolicy* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_Commit(IWdsTransportDiagnosticsPolicy* This) { + return This->lpVtbl->Commit(This); +} +/*** IWdsTransportDiagnosticsPolicy methods ***/ +static inline HRESULT IWdsTransportDiagnosticsPolicy_get_Enabled(IWdsTransportDiagnosticsPolicy* This,VARIANT_BOOL *pbEnabled) { + return This->lpVtbl->get_Enabled(This,pbEnabled); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_put_Enabled(IWdsTransportDiagnosticsPolicy* This,VARIANT_BOOL bEnabled) { + return This->lpVtbl->put_Enabled(This,bEnabled); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_get_Components(IWdsTransportDiagnosticsPolicy* This,ULONG *pulComponents) { + return This->lpVtbl->get_Components(This,pulComponents); +} +static inline HRESULT IWdsTransportDiagnosticsPolicy_put_Components(IWdsTransportDiagnosticsPolicy* This,ULONG ulComponents) { + return This->lpVtbl->put_Components(This,ulComponents); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportDiagnosticsPolicy_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportConfigurationManager2 interface + */ +#ifndef __IWdsTransportConfigurationManager2_INTERFACE_DEFINED__ +#define __IWdsTransportConfigurationManager2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportConfigurationManager2, 0xd0d85caf, 0xa153, 0x4f1d, 0xa9,0xdd, 0x96,0xf4,0x31,0xc5,0x07,0x17); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d0d85caf-a153-4f1d-a9dd-96f431c50717") +IWdsTransportConfigurationManager2 : public IWdsTransportConfigurationManager +{ + virtual HRESULT STDMETHODCALLTYPE get_MulticastSessionPolicy( + IWdsTransportMulticastSessionPolicy **ppWdsTransportMulticastSessionPolicy) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportConfigurationManager2, 0xd0d85caf, 0xa153, 0x4f1d, 0xa9,0xdd, 0x96,0xf4,0x31,0xc5,0x07,0x17) +#endif +#else +typedef struct IWdsTransportConfigurationManager2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportConfigurationManager2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportConfigurationManager2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportConfigurationManager2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportConfigurationManager2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportConfigurationManager2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportConfigurationManager2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportConfigurationManager2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportConfigurationManager methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ServicePolicy)( + IWdsTransportConfigurationManager2 *This, + IWdsTransportServicePolicy **ppWdsTransportServicePolicy); + + HRESULT (STDMETHODCALLTYPE *get_DiagnosticsPolicy)( + IWdsTransportConfigurationManager2 *This, + IWdsTransportDiagnosticsPolicy **ppWdsTransportDiagnosticsPolicy); + + HRESULT (STDMETHODCALLTYPE *get_WdsTransportServicesRunning)( + IWdsTransportConfigurationManager2 *This, + VARIANT_BOOL bRealtimeStatus, + VARIANT_BOOL *pbServicesRunning); + + HRESULT (STDMETHODCALLTYPE *EnableWdsTransportServices)( + IWdsTransportConfigurationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *DisableWdsTransportServices)( + IWdsTransportConfigurationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *StartWdsTransportServices)( + IWdsTransportConfigurationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *StopWdsTransportServices)( + IWdsTransportConfigurationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *RestartWdsTransportServices)( + IWdsTransportConfigurationManager2 *This); + + HRESULT (STDMETHODCALLTYPE *NotifyWdsTransportServices)( + IWdsTransportConfigurationManager2 *This, + WDSTRANSPORT_SERVICE_NOTIFICATION ServiceNotification); + + /*** IWdsTransportConfigurationManager2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MulticastSessionPolicy)( + IWdsTransportConfigurationManager2 *This, + IWdsTransportMulticastSessionPolicy **ppWdsTransportMulticastSessionPolicy); + + END_INTERFACE +} IWdsTransportConfigurationManager2Vtbl; + +interface IWdsTransportConfigurationManager2 { + CONST_VTBL IWdsTransportConfigurationManager2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportConfigurationManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportConfigurationManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportConfigurationManager2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportConfigurationManager2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportConfigurationManager2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportConfigurationManager2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportConfigurationManager2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportConfigurationManager methods ***/ +#define IWdsTransportConfigurationManager2_get_ServicePolicy(This,ppWdsTransportServicePolicy) (This)->lpVtbl->get_ServicePolicy(This,ppWdsTransportServicePolicy) +#define IWdsTransportConfigurationManager2_get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy) (This)->lpVtbl->get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy) +#define IWdsTransportConfigurationManager2_get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning) (This)->lpVtbl->get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning) +#define IWdsTransportConfigurationManager2_EnableWdsTransportServices(This) (This)->lpVtbl->EnableWdsTransportServices(This) +#define IWdsTransportConfigurationManager2_DisableWdsTransportServices(This) (This)->lpVtbl->DisableWdsTransportServices(This) +#define IWdsTransportConfigurationManager2_StartWdsTransportServices(This) (This)->lpVtbl->StartWdsTransportServices(This) +#define IWdsTransportConfigurationManager2_StopWdsTransportServices(This) (This)->lpVtbl->StopWdsTransportServices(This) +#define IWdsTransportConfigurationManager2_RestartWdsTransportServices(This) (This)->lpVtbl->RestartWdsTransportServices(This) +#define IWdsTransportConfigurationManager2_NotifyWdsTransportServices(This,ServiceNotification) (This)->lpVtbl->NotifyWdsTransportServices(This,ServiceNotification) +/*** IWdsTransportConfigurationManager2 methods ***/ +#define IWdsTransportConfigurationManager2_get_MulticastSessionPolicy(This,ppWdsTransportMulticastSessionPolicy) (This)->lpVtbl->get_MulticastSessionPolicy(This,ppWdsTransportMulticastSessionPolicy) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportConfigurationManager2_QueryInterface(IWdsTransportConfigurationManager2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportConfigurationManager2_AddRef(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportConfigurationManager2_Release(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportConfigurationManager2_GetTypeInfoCount(IWdsTransportConfigurationManager2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportConfigurationManager2_GetTypeInfo(IWdsTransportConfigurationManager2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportConfigurationManager2_GetIDsOfNames(IWdsTransportConfigurationManager2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportConfigurationManager2_Invoke(IWdsTransportConfigurationManager2* 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); +} +/*** IWdsTransportConfigurationManager methods ***/ +static inline HRESULT IWdsTransportConfigurationManager2_get_ServicePolicy(IWdsTransportConfigurationManager2* This,IWdsTransportServicePolicy **ppWdsTransportServicePolicy) { + return This->lpVtbl->get_ServicePolicy(This,ppWdsTransportServicePolicy); +} +static inline HRESULT IWdsTransportConfigurationManager2_get_DiagnosticsPolicy(IWdsTransportConfigurationManager2* This,IWdsTransportDiagnosticsPolicy **ppWdsTransportDiagnosticsPolicy) { + return This->lpVtbl->get_DiagnosticsPolicy(This,ppWdsTransportDiagnosticsPolicy); +} +static inline HRESULT IWdsTransportConfigurationManager2_get_WdsTransportServicesRunning(IWdsTransportConfigurationManager2* This,VARIANT_BOOL bRealtimeStatus,VARIANT_BOOL *pbServicesRunning) { + return This->lpVtbl->get_WdsTransportServicesRunning(This,bRealtimeStatus,pbServicesRunning); +} +static inline HRESULT IWdsTransportConfigurationManager2_EnableWdsTransportServices(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->EnableWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager2_DisableWdsTransportServices(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->DisableWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager2_StartWdsTransportServices(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->StartWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager2_StopWdsTransportServices(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->StopWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager2_RestartWdsTransportServices(IWdsTransportConfigurationManager2* This) { + return This->lpVtbl->RestartWdsTransportServices(This); +} +static inline HRESULT IWdsTransportConfigurationManager2_NotifyWdsTransportServices(IWdsTransportConfigurationManager2* This,WDSTRANSPORT_SERVICE_NOTIFICATION ServiceNotification) { + return This->lpVtbl->NotifyWdsTransportServices(This,ServiceNotification); +} +/*** IWdsTransportConfigurationManager2 methods ***/ +static inline HRESULT IWdsTransportConfigurationManager2_get_MulticastSessionPolicy(IWdsTransportConfigurationManager2* This,IWdsTransportMulticastSessionPolicy **ppWdsTransportMulticastSessionPolicy) { + return This->lpVtbl->get_MulticastSessionPolicy(This,ppWdsTransportMulticastSessionPolicy); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportConfigurationManager2_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportManager interface + */ +#ifndef __IWdsTransportManager_INTERFACE_DEFINED__ +#define __IWdsTransportManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportManager, 0x5b0d35f5, 0x1b13, 0x4afd, 0xb8,0x78, 0x65,0x26,0xdc,0x34,0x0b,0x5d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5b0d35f5-1b13-4afd-b878-6526dc340b5d") +IWdsTransportManager : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE GetWdsTransportServer( + BSTR bszServerName, + IWdsTransportServer **ppWdsTransportServer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportManager, 0x5b0d35f5, 0x1b13, 0x4afd, 0xb8,0x78, 0x65,0x26,0xdc,0x34,0x0b,0x5d) +#endif +#else +typedef struct IWdsTransportManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportManager *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportManager *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportManager *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportManager *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportManager *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportManager methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWdsTransportServer)( + IWdsTransportManager *This, + BSTR bszServerName, + IWdsTransportServer **ppWdsTransportServer); + + END_INTERFACE +} IWdsTransportManagerVtbl; + +interface IWdsTransportManager { + CONST_VTBL IWdsTransportManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportManager_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportManager methods ***/ +#define IWdsTransportManager_GetWdsTransportServer(This,bszServerName,ppWdsTransportServer) (This)->lpVtbl->GetWdsTransportServer(This,bszServerName,ppWdsTransportServer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportManager_QueryInterface(IWdsTransportManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportManager_AddRef(IWdsTransportManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportManager_Release(IWdsTransportManager* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportManager_GetTypeInfoCount(IWdsTransportManager* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportManager_GetTypeInfo(IWdsTransportManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportManager_GetIDsOfNames(IWdsTransportManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportManager_Invoke(IWdsTransportManager* 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); +} +/*** IWdsTransportManager methods ***/ +static inline HRESULT IWdsTransportManager_GetWdsTransportServer(IWdsTransportManager* This,BSTR bszServerName,IWdsTransportServer **ppWdsTransportServer) { + return This->lpVtbl->GetWdsTransportServer(This,bszServerName,ppWdsTransportServer); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportManager_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespace interface + */ +#ifndef __IWdsTransportNamespace_INTERFACE_DEFINED__ +#define __IWdsTransportNamespace_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespace, 0xfa561f57, 0xfbef, 0x4ed3, 0xb0,0x56, 0x12,0x7c,0xb1,0xb3,0x3b,0x84); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fa561f57-fbef-4ed3-b056-127cb1b33b84") +IWdsTransportNamespace : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Type( + WDSTRANSPORT_NAMESPACE_TYPE *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + ULONG *pulId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pbszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Name( + BSTR bszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FriendlyName( + BSTR *pbszFriendlyName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FriendlyName( + BSTR bszFriendlyName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *pbszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Description( + BSTR bszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContentProvider( + BSTR *pbszContentProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ContentProvider( + BSTR bszContentProvider) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Configuration( + BSTR *pbszConfiguration) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Configuration( + BSTR bszConfiguration) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Registered( + VARIANT_BOOL *pbRegistered) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Tombstoned( + VARIANT_BOOL *pbTombstoned) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TombstoneTime( + DATE *pTombstoneTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TransmissionStarted( + VARIANT_BOOL *pbTransmissionStarted) = 0; + + virtual HRESULT STDMETHODCALLTYPE Register( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Deregister( + VARIANT_BOOL bTerminateSessions) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IWdsTransportNamespace **ppWdsTransportNamespaceClone) = 0; + + virtual HRESULT STDMETHODCALLTYPE Refresh( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveContents( + IWdsTransportCollection **ppWdsTransportContents) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespace, 0xfa561f57, 0xfbef, 0x4ed3, 0xb0,0x56, 0x12,0x7c,0xb1,0xb3,0x3b,0x84) +#endif +#else +typedef struct IWdsTransportNamespaceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespace *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespace *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespace *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespace *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespace *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespace *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespace *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWdsTransportNamespace *This, + WDSTRANSPORT_NAMESPACE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportNamespace *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportNamespace *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + IWdsTransportNamespace *This, + BSTR bszName); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IWdsTransportNamespace *This, + BSTR *pbszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IWdsTransportNamespace *This, + BSTR bszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportNamespace *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IWdsTransportNamespace *This, + BSTR bszDescription); + + HRESULT (STDMETHODCALLTYPE *get_ContentProvider)( + IWdsTransportNamespace *This, + BSTR *pbszContentProvider); + + HRESULT (STDMETHODCALLTYPE *put_ContentProvider)( + IWdsTransportNamespace *This, + BSTR bszContentProvider); + + HRESULT (STDMETHODCALLTYPE *get_Configuration)( + IWdsTransportNamespace *This, + BSTR *pbszConfiguration); + + HRESULT (STDMETHODCALLTYPE *put_Configuration)( + IWdsTransportNamespace *This, + BSTR bszConfiguration); + + HRESULT (STDMETHODCALLTYPE *get_Registered)( + IWdsTransportNamespace *This, + VARIANT_BOOL *pbRegistered); + + HRESULT (STDMETHODCALLTYPE *get_Tombstoned)( + IWdsTransportNamespace *This, + VARIANT_BOOL *pbTombstoned); + + HRESULT (STDMETHODCALLTYPE *get_TombstoneTime)( + IWdsTransportNamespace *This, + DATE *pTombstoneTime); + + HRESULT (STDMETHODCALLTYPE *get_TransmissionStarted)( + IWdsTransportNamespace *This, + VARIANT_BOOL *pbTransmissionStarted); + + HRESULT (STDMETHODCALLTYPE *Register)( + IWdsTransportNamespace *This); + + HRESULT (STDMETHODCALLTYPE *Deregister)( + IWdsTransportNamespace *This, + VARIANT_BOOL bTerminateSessions); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWdsTransportNamespace *This, + IWdsTransportNamespace **ppWdsTransportNamespaceClone); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportNamespace *This); + + HRESULT (STDMETHODCALLTYPE *RetrieveContents)( + IWdsTransportNamespace *This, + IWdsTransportCollection **ppWdsTransportContents); + + END_INTERFACE +} IWdsTransportNamespaceVtbl; + +interface IWdsTransportNamespace { + CONST_VTBL IWdsTransportNamespaceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespace_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespace_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespace methods ***/ +#define IWdsTransportNamespace_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType) +#define IWdsTransportNamespace_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportNamespace_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportNamespace_put_Name(This,bszName) (This)->lpVtbl->put_Name(This,bszName) +#define IWdsTransportNamespace_get_FriendlyName(This,pbszFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbszFriendlyName) +#define IWdsTransportNamespace_put_FriendlyName(This,bszFriendlyName) (This)->lpVtbl->put_FriendlyName(This,bszFriendlyName) +#define IWdsTransportNamespace_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportNamespace_put_Description(This,bszDescription) (This)->lpVtbl->put_Description(This,bszDescription) +#define IWdsTransportNamespace_get_ContentProvider(This,pbszContentProvider) (This)->lpVtbl->get_ContentProvider(This,pbszContentProvider) +#define IWdsTransportNamespace_put_ContentProvider(This,bszContentProvider) (This)->lpVtbl->put_ContentProvider(This,bszContentProvider) +#define IWdsTransportNamespace_get_Configuration(This,pbszConfiguration) (This)->lpVtbl->get_Configuration(This,pbszConfiguration) +#define IWdsTransportNamespace_put_Configuration(This,bszConfiguration) (This)->lpVtbl->put_Configuration(This,bszConfiguration) +#define IWdsTransportNamespace_get_Registered(This,pbRegistered) (This)->lpVtbl->get_Registered(This,pbRegistered) +#define IWdsTransportNamespace_get_Tombstoned(This,pbTombstoned) (This)->lpVtbl->get_Tombstoned(This,pbTombstoned) +#define IWdsTransportNamespace_get_TombstoneTime(This,pTombstoneTime) (This)->lpVtbl->get_TombstoneTime(This,pTombstoneTime) +#define IWdsTransportNamespace_get_TransmissionStarted(This,pbTransmissionStarted) (This)->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted) +#define IWdsTransportNamespace_Register(This) (This)->lpVtbl->Register(This) +#define IWdsTransportNamespace_Deregister(This,bTerminateSessions) (This)->lpVtbl->Deregister(This,bTerminateSessions) +#define IWdsTransportNamespace_Clone(This,ppWdsTransportNamespaceClone) (This)->lpVtbl->Clone(This,ppWdsTransportNamespaceClone) +#define IWdsTransportNamespace_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportNamespace_RetrieveContents(This,ppWdsTransportContents) (This)->lpVtbl->RetrieveContents(This,ppWdsTransportContents) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespace_QueryInterface(IWdsTransportNamespace* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespace_AddRef(IWdsTransportNamespace* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespace_Release(IWdsTransportNamespace* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespace_GetTypeInfoCount(IWdsTransportNamespace* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespace_GetTypeInfo(IWdsTransportNamespace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespace_GetIDsOfNames(IWdsTransportNamespace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespace_Invoke(IWdsTransportNamespace* 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); +} +/*** IWdsTransportNamespace methods ***/ +static inline HRESULT IWdsTransportNamespace_get_Type(IWdsTransportNamespace* This,WDSTRANSPORT_NAMESPACE_TYPE *pType) { + return This->lpVtbl->get_Type(This,pType); +} +static inline HRESULT IWdsTransportNamespace_get_Id(IWdsTransportNamespace* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportNamespace_get_Name(IWdsTransportNamespace* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportNamespace_put_Name(IWdsTransportNamespace* This,BSTR bszName) { + return This->lpVtbl->put_Name(This,bszName); +} +static inline HRESULT IWdsTransportNamespace_get_FriendlyName(IWdsTransportNamespace* This,BSTR *pbszFriendlyName) { + return This->lpVtbl->get_FriendlyName(This,pbszFriendlyName); +} +static inline HRESULT IWdsTransportNamespace_put_FriendlyName(IWdsTransportNamespace* This,BSTR bszFriendlyName) { + return This->lpVtbl->put_FriendlyName(This,bszFriendlyName); +} +static inline HRESULT IWdsTransportNamespace_get_Description(IWdsTransportNamespace* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportNamespace_put_Description(IWdsTransportNamespace* This,BSTR bszDescription) { + return This->lpVtbl->put_Description(This,bszDescription); +} +static inline HRESULT IWdsTransportNamespace_get_ContentProvider(IWdsTransportNamespace* This,BSTR *pbszContentProvider) { + return This->lpVtbl->get_ContentProvider(This,pbszContentProvider); +} +static inline HRESULT IWdsTransportNamespace_put_ContentProvider(IWdsTransportNamespace* This,BSTR bszContentProvider) { + return This->lpVtbl->put_ContentProvider(This,bszContentProvider); +} +static inline HRESULT IWdsTransportNamespace_get_Configuration(IWdsTransportNamespace* This,BSTR *pbszConfiguration) { + return This->lpVtbl->get_Configuration(This,pbszConfiguration); +} +static inline HRESULT IWdsTransportNamespace_put_Configuration(IWdsTransportNamespace* This,BSTR bszConfiguration) { + return This->lpVtbl->put_Configuration(This,bszConfiguration); +} +static inline HRESULT IWdsTransportNamespace_get_Registered(IWdsTransportNamespace* This,VARIANT_BOOL *pbRegistered) { + return This->lpVtbl->get_Registered(This,pbRegistered); +} +static inline HRESULT IWdsTransportNamespace_get_Tombstoned(IWdsTransportNamespace* This,VARIANT_BOOL *pbTombstoned) { + return This->lpVtbl->get_Tombstoned(This,pbTombstoned); +} +static inline HRESULT IWdsTransportNamespace_get_TombstoneTime(IWdsTransportNamespace* This,DATE *pTombstoneTime) { + return This->lpVtbl->get_TombstoneTime(This,pTombstoneTime); +} +static inline HRESULT IWdsTransportNamespace_get_TransmissionStarted(IWdsTransportNamespace* This,VARIANT_BOOL *pbTransmissionStarted) { + return This->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted); +} +static inline HRESULT IWdsTransportNamespace_Register(IWdsTransportNamespace* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IWdsTransportNamespace_Deregister(IWdsTransportNamespace* This,VARIANT_BOOL bTerminateSessions) { + return This->lpVtbl->Deregister(This,bTerminateSessions); +} +static inline HRESULT IWdsTransportNamespace_Clone(IWdsTransportNamespace* This,IWdsTransportNamespace **ppWdsTransportNamespaceClone) { + return This->lpVtbl->Clone(This,ppWdsTransportNamespaceClone); +} +static inline HRESULT IWdsTransportNamespace_Refresh(IWdsTransportNamespace* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportNamespace_RetrieveContents(IWdsTransportNamespace* This,IWdsTransportCollection **ppWdsTransportContents) { + return This->lpVtbl->RetrieveContents(This,ppWdsTransportContents); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespace_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespaceAutoCast interface + */ +#ifndef __IWdsTransportNamespaceAutoCast_INTERFACE_DEFINED__ +#define __IWdsTransportNamespaceAutoCast_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespaceAutoCast, 0xad931a72, 0xc4bd, 0x4c41, 0x8f,0xbc, 0x59,0xc9,0xc7,0x48,0xdf,0x9e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ad931a72-c4bd-4c41-8fbc-59c9c748df9e") +IWdsTransportNamespaceAutoCast : public IWdsTransportNamespace +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespaceAutoCast, 0xad931a72, 0xc4bd, 0x4c41, 0x8f,0xbc, 0x59,0xc9,0xc7,0x48,0xdf,0x9e) +#endif +#else +typedef struct IWdsTransportNamespaceAutoCastVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespaceAutoCast *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespaceAutoCast *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespaceAutoCast *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespaceAutoCast *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespaceAutoCast *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespaceAutoCast *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespaceAutoCast *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWdsTransportNamespaceAutoCast *This, + WDSTRANSPORT_NAMESPACE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportNamespaceAutoCast *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportNamespaceAutoCast *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + IWdsTransportNamespaceAutoCast *This, + BSTR bszName); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IWdsTransportNamespaceAutoCast *This, + BSTR *pbszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IWdsTransportNamespaceAutoCast *This, + BSTR bszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportNamespaceAutoCast *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IWdsTransportNamespaceAutoCast *This, + BSTR bszDescription); + + HRESULT (STDMETHODCALLTYPE *get_ContentProvider)( + IWdsTransportNamespaceAutoCast *This, + BSTR *pbszContentProvider); + + HRESULT (STDMETHODCALLTYPE *put_ContentProvider)( + IWdsTransportNamespaceAutoCast *This, + BSTR bszContentProvider); + + HRESULT (STDMETHODCALLTYPE *get_Configuration)( + IWdsTransportNamespaceAutoCast *This, + BSTR *pbszConfiguration); + + HRESULT (STDMETHODCALLTYPE *put_Configuration)( + IWdsTransportNamespaceAutoCast *This, + BSTR bszConfiguration); + + HRESULT (STDMETHODCALLTYPE *get_Registered)( + IWdsTransportNamespaceAutoCast *This, + VARIANT_BOOL *pbRegistered); + + HRESULT (STDMETHODCALLTYPE *get_Tombstoned)( + IWdsTransportNamespaceAutoCast *This, + VARIANT_BOOL *pbTombstoned); + + HRESULT (STDMETHODCALLTYPE *get_TombstoneTime)( + IWdsTransportNamespaceAutoCast *This, + DATE *pTombstoneTime); + + HRESULT (STDMETHODCALLTYPE *get_TransmissionStarted)( + IWdsTransportNamespaceAutoCast *This, + VARIANT_BOOL *pbTransmissionStarted); + + HRESULT (STDMETHODCALLTYPE *Register)( + IWdsTransportNamespaceAutoCast *This); + + HRESULT (STDMETHODCALLTYPE *Deregister)( + IWdsTransportNamespaceAutoCast *This, + VARIANT_BOOL bTerminateSessions); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWdsTransportNamespaceAutoCast *This, + IWdsTransportNamespace **ppWdsTransportNamespaceClone); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportNamespaceAutoCast *This); + + HRESULT (STDMETHODCALLTYPE *RetrieveContents)( + IWdsTransportNamespaceAutoCast *This, + IWdsTransportCollection **ppWdsTransportContents); + + END_INTERFACE +} IWdsTransportNamespaceAutoCastVtbl; + +interface IWdsTransportNamespaceAutoCast { + CONST_VTBL IWdsTransportNamespaceAutoCastVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespaceAutoCast_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespaceAutoCast_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespaceAutoCast_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespaceAutoCast_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespaceAutoCast_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespaceAutoCast_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespaceAutoCast_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespace methods ***/ +#define IWdsTransportNamespaceAutoCast_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType) +#define IWdsTransportNamespaceAutoCast_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportNamespaceAutoCast_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportNamespaceAutoCast_put_Name(This,bszName) (This)->lpVtbl->put_Name(This,bszName) +#define IWdsTransportNamespaceAutoCast_get_FriendlyName(This,pbszFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbszFriendlyName) +#define IWdsTransportNamespaceAutoCast_put_FriendlyName(This,bszFriendlyName) (This)->lpVtbl->put_FriendlyName(This,bszFriendlyName) +#define IWdsTransportNamespaceAutoCast_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportNamespaceAutoCast_put_Description(This,bszDescription) (This)->lpVtbl->put_Description(This,bszDescription) +#define IWdsTransportNamespaceAutoCast_get_ContentProvider(This,pbszContentProvider) (This)->lpVtbl->get_ContentProvider(This,pbszContentProvider) +#define IWdsTransportNamespaceAutoCast_put_ContentProvider(This,bszContentProvider) (This)->lpVtbl->put_ContentProvider(This,bszContentProvider) +#define IWdsTransportNamespaceAutoCast_get_Configuration(This,pbszConfiguration) (This)->lpVtbl->get_Configuration(This,pbszConfiguration) +#define IWdsTransportNamespaceAutoCast_put_Configuration(This,bszConfiguration) (This)->lpVtbl->put_Configuration(This,bszConfiguration) +#define IWdsTransportNamespaceAutoCast_get_Registered(This,pbRegistered) (This)->lpVtbl->get_Registered(This,pbRegistered) +#define IWdsTransportNamespaceAutoCast_get_Tombstoned(This,pbTombstoned) (This)->lpVtbl->get_Tombstoned(This,pbTombstoned) +#define IWdsTransportNamespaceAutoCast_get_TombstoneTime(This,pTombstoneTime) (This)->lpVtbl->get_TombstoneTime(This,pTombstoneTime) +#define IWdsTransportNamespaceAutoCast_get_TransmissionStarted(This,pbTransmissionStarted) (This)->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted) +#define IWdsTransportNamespaceAutoCast_Register(This) (This)->lpVtbl->Register(This) +#define IWdsTransportNamespaceAutoCast_Deregister(This,bTerminateSessions) (This)->lpVtbl->Deregister(This,bTerminateSessions) +#define IWdsTransportNamespaceAutoCast_Clone(This,ppWdsTransportNamespaceClone) (This)->lpVtbl->Clone(This,ppWdsTransportNamespaceClone) +#define IWdsTransportNamespaceAutoCast_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportNamespaceAutoCast_RetrieveContents(This,ppWdsTransportContents) (This)->lpVtbl->RetrieveContents(This,ppWdsTransportContents) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespaceAutoCast_QueryInterface(IWdsTransportNamespaceAutoCast* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespaceAutoCast_AddRef(IWdsTransportNamespaceAutoCast* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespaceAutoCast_Release(IWdsTransportNamespaceAutoCast* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespaceAutoCast_GetTypeInfoCount(IWdsTransportNamespaceAutoCast* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_GetTypeInfo(IWdsTransportNamespaceAutoCast* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_GetIDsOfNames(IWdsTransportNamespaceAutoCast* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_Invoke(IWdsTransportNamespaceAutoCast* 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); +} +/*** IWdsTransportNamespace methods ***/ +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Type(IWdsTransportNamespaceAutoCast* This,WDSTRANSPORT_NAMESPACE_TYPE *pType) { + return This->lpVtbl->get_Type(This,pType); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Id(IWdsTransportNamespaceAutoCast* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Name(IWdsTransportNamespaceAutoCast* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_put_Name(IWdsTransportNamespaceAutoCast* This,BSTR bszName) { + return This->lpVtbl->put_Name(This,bszName); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_FriendlyName(IWdsTransportNamespaceAutoCast* This,BSTR *pbszFriendlyName) { + return This->lpVtbl->get_FriendlyName(This,pbszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_put_FriendlyName(IWdsTransportNamespaceAutoCast* This,BSTR bszFriendlyName) { + return This->lpVtbl->put_FriendlyName(This,bszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Description(IWdsTransportNamespaceAutoCast* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_put_Description(IWdsTransportNamespaceAutoCast* This,BSTR bszDescription) { + return This->lpVtbl->put_Description(This,bszDescription); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_ContentProvider(IWdsTransportNamespaceAutoCast* This,BSTR *pbszContentProvider) { + return This->lpVtbl->get_ContentProvider(This,pbszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_put_ContentProvider(IWdsTransportNamespaceAutoCast* This,BSTR bszContentProvider) { + return This->lpVtbl->put_ContentProvider(This,bszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Configuration(IWdsTransportNamespaceAutoCast* This,BSTR *pbszConfiguration) { + return This->lpVtbl->get_Configuration(This,pbszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_put_Configuration(IWdsTransportNamespaceAutoCast* This,BSTR bszConfiguration) { + return This->lpVtbl->put_Configuration(This,bszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Registered(IWdsTransportNamespaceAutoCast* This,VARIANT_BOOL *pbRegistered) { + return This->lpVtbl->get_Registered(This,pbRegistered); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_Tombstoned(IWdsTransportNamespaceAutoCast* This,VARIANT_BOOL *pbTombstoned) { + return This->lpVtbl->get_Tombstoned(This,pbTombstoned); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_TombstoneTime(IWdsTransportNamespaceAutoCast* This,DATE *pTombstoneTime) { + return This->lpVtbl->get_TombstoneTime(This,pTombstoneTime); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_get_TransmissionStarted(IWdsTransportNamespaceAutoCast* This,VARIANT_BOOL *pbTransmissionStarted) { + return This->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_Register(IWdsTransportNamespaceAutoCast* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_Deregister(IWdsTransportNamespaceAutoCast* This,VARIANT_BOOL bTerminateSessions) { + return This->lpVtbl->Deregister(This,bTerminateSessions); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_Clone(IWdsTransportNamespaceAutoCast* This,IWdsTransportNamespace **ppWdsTransportNamespaceClone) { + return This->lpVtbl->Clone(This,ppWdsTransportNamespaceClone); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_Refresh(IWdsTransportNamespaceAutoCast* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportNamespaceAutoCast_RetrieveContents(IWdsTransportNamespaceAutoCast* This,IWdsTransportCollection **ppWdsTransportContents) { + return This->lpVtbl->RetrieveContents(This,ppWdsTransportContents); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespaceAutoCast_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespaceScheduledCast interface + */ +#ifndef __IWdsTransportNamespaceScheduledCast_INTERFACE_DEFINED__ +#define __IWdsTransportNamespaceScheduledCast_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespaceScheduledCast, 0x3840cecf, 0xd76c, 0x416e, 0xa4,0xcc, 0x31,0xc7,0x41,0xd2,0x87,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3840cecf-d76c-416e-a4cc-31c741d2874b") +IWdsTransportNamespaceScheduledCast : public IWdsTransportNamespace +{ + virtual HRESULT STDMETHODCALLTYPE StartTransmission( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespaceScheduledCast, 0x3840cecf, 0xd76c, 0x416e, 0xa4,0xcc, 0x31,0xc7,0x41,0xd2,0x87,0x4b) +#endif +#else +typedef struct IWdsTransportNamespaceScheduledCastVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespaceScheduledCast *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespaceScheduledCast *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespaceScheduledCast *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespaceScheduledCast *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespaceScheduledCast *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespaceScheduledCast *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespaceScheduledCast *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWdsTransportNamespaceScheduledCast *This, + WDSTRANSPORT_NAMESPACE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportNamespaceScheduledCast *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportNamespaceScheduledCast *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + IWdsTransportNamespaceScheduledCast *This, + BSTR bszName); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IWdsTransportNamespaceScheduledCast *This, + BSTR *pbszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IWdsTransportNamespaceScheduledCast *This, + BSTR bszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportNamespaceScheduledCast *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IWdsTransportNamespaceScheduledCast *This, + BSTR bszDescription); + + HRESULT (STDMETHODCALLTYPE *get_ContentProvider)( + IWdsTransportNamespaceScheduledCast *This, + BSTR *pbszContentProvider); + + HRESULT (STDMETHODCALLTYPE *put_ContentProvider)( + IWdsTransportNamespaceScheduledCast *This, + BSTR bszContentProvider); + + HRESULT (STDMETHODCALLTYPE *get_Configuration)( + IWdsTransportNamespaceScheduledCast *This, + BSTR *pbszConfiguration); + + HRESULT (STDMETHODCALLTYPE *put_Configuration)( + IWdsTransportNamespaceScheduledCast *This, + BSTR bszConfiguration); + + HRESULT (STDMETHODCALLTYPE *get_Registered)( + IWdsTransportNamespaceScheduledCast *This, + VARIANT_BOOL *pbRegistered); + + HRESULT (STDMETHODCALLTYPE *get_Tombstoned)( + IWdsTransportNamespaceScheduledCast *This, + VARIANT_BOOL *pbTombstoned); + + HRESULT (STDMETHODCALLTYPE *get_TombstoneTime)( + IWdsTransportNamespaceScheduledCast *This, + DATE *pTombstoneTime); + + HRESULT (STDMETHODCALLTYPE *get_TransmissionStarted)( + IWdsTransportNamespaceScheduledCast *This, + VARIANT_BOOL *pbTransmissionStarted); + + HRESULT (STDMETHODCALLTYPE *Register)( + IWdsTransportNamespaceScheduledCast *This); + + HRESULT (STDMETHODCALLTYPE *Deregister)( + IWdsTransportNamespaceScheduledCast *This, + VARIANT_BOOL bTerminateSessions); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWdsTransportNamespaceScheduledCast *This, + IWdsTransportNamespace **ppWdsTransportNamespaceClone); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportNamespaceScheduledCast *This); + + HRESULT (STDMETHODCALLTYPE *RetrieveContents)( + IWdsTransportNamespaceScheduledCast *This, + IWdsTransportCollection **ppWdsTransportContents); + + /*** IWdsTransportNamespaceScheduledCast methods ***/ + HRESULT (STDMETHODCALLTYPE *StartTransmission)( + IWdsTransportNamespaceScheduledCast *This); + + END_INTERFACE +} IWdsTransportNamespaceScheduledCastVtbl; + +interface IWdsTransportNamespaceScheduledCast { + CONST_VTBL IWdsTransportNamespaceScheduledCastVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespaceScheduledCast_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespaceScheduledCast_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespaceScheduledCast_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespaceScheduledCast_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespaceScheduledCast_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespaceScheduledCast_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespaceScheduledCast_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespace methods ***/ +#define IWdsTransportNamespaceScheduledCast_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType) +#define IWdsTransportNamespaceScheduledCast_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportNamespaceScheduledCast_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportNamespaceScheduledCast_put_Name(This,bszName) (This)->lpVtbl->put_Name(This,bszName) +#define IWdsTransportNamespaceScheduledCast_get_FriendlyName(This,pbszFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbszFriendlyName) +#define IWdsTransportNamespaceScheduledCast_put_FriendlyName(This,bszFriendlyName) (This)->lpVtbl->put_FriendlyName(This,bszFriendlyName) +#define IWdsTransportNamespaceScheduledCast_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportNamespaceScheduledCast_put_Description(This,bszDescription) (This)->lpVtbl->put_Description(This,bszDescription) +#define IWdsTransportNamespaceScheduledCast_get_ContentProvider(This,pbszContentProvider) (This)->lpVtbl->get_ContentProvider(This,pbszContentProvider) +#define IWdsTransportNamespaceScheduledCast_put_ContentProvider(This,bszContentProvider) (This)->lpVtbl->put_ContentProvider(This,bszContentProvider) +#define IWdsTransportNamespaceScheduledCast_get_Configuration(This,pbszConfiguration) (This)->lpVtbl->get_Configuration(This,pbszConfiguration) +#define IWdsTransportNamespaceScheduledCast_put_Configuration(This,bszConfiguration) (This)->lpVtbl->put_Configuration(This,bszConfiguration) +#define IWdsTransportNamespaceScheduledCast_get_Registered(This,pbRegistered) (This)->lpVtbl->get_Registered(This,pbRegistered) +#define IWdsTransportNamespaceScheduledCast_get_Tombstoned(This,pbTombstoned) (This)->lpVtbl->get_Tombstoned(This,pbTombstoned) +#define IWdsTransportNamespaceScheduledCast_get_TombstoneTime(This,pTombstoneTime) (This)->lpVtbl->get_TombstoneTime(This,pTombstoneTime) +#define IWdsTransportNamespaceScheduledCast_get_TransmissionStarted(This,pbTransmissionStarted) (This)->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted) +#define IWdsTransportNamespaceScheduledCast_Register(This) (This)->lpVtbl->Register(This) +#define IWdsTransportNamespaceScheduledCast_Deregister(This,bTerminateSessions) (This)->lpVtbl->Deregister(This,bTerminateSessions) +#define IWdsTransportNamespaceScheduledCast_Clone(This,ppWdsTransportNamespaceClone) (This)->lpVtbl->Clone(This,ppWdsTransportNamespaceClone) +#define IWdsTransportNamespaceScheduledCast_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportNamespaceScheduledCast_RetrieveContents(This,ppWdsTransportContents) (This)->lpVtbl->RetrieveContents(This,ppWdsTransportContents) +/*** IWdsTransportNamespaceScheduledCast methods ***/ +#define IWdsTransportNamespaceScheduledCast_StartTransmission(This) (This)->lpVtbl->StartTransmission(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCast_QueryInterface(IWdsTransportNamespaceScheduledCast* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespaceScheduledCast_AddRef(IWdsTransportNamespaceScheduledCast* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespaceScheduledCast_Release(IWdsTransportNamespaceScheduledCast* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCast_GetTypeInfoCount(IWdsTransportNamespaceScheduledCast* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_GetTypeInfo(IWdsTransportNamespaceScheduledCast* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_GetIDsOfNames(IWdsTransportNamespaceScheduledCast* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_Invoke(IWdsTransportNamespaceScheduledCast* 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); +} +/*** IWdsTransportNamespace methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Type(IWdsTransportNamespaceScheduledCast* This,WDSTRANSPORT_NAMESPACE_TYPE *pType) { + return This->lpVtbl->get_Type(This,pType); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Id(IWdsTransportNamespaceScheduledCast* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Name(IWdsTransportNamespaceScheduledCast* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_put_Name(IWdsTransportNamespaceScheduledCast* This,BSTR bszName) { + return This->lpVtbl->put_Name(This,bszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_FriendlyName(IWdsTransportNamespaceScheduledCast* This,BSTR *pbszFriendlyName) { + return This->lpVtbl->get_FriendlyName(This,pbszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_put_FriendlyName(IWdsTransportNamespaceScheduledCast* This,BSTR bszFriendlyName) { + return This->lpVtbl->put_FriendlyName(This,bszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Description(IWdsTransportNamespaceScheduledCast* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_put_Description(IWdsTransportNamespaceScheduledCast* This,BSTR bszDescription) { + return This->lpVtbl->put_Description(This,bszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_ContentProvider(IWdsTransportNamespaceScheduledCast* This,BSTR *pbszContentProvider) { + return This->lpVtbl->get_ContentProvider(This,pbszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_put_ContentProvider(IWdsTransportNamespaceScheduledCast* This,BSTR bszContentProvider) { + return This->lpVtbl->put_ContentProvider(This,bszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Configuration(IWdsTransportNamespaceScheduledCast* This,BSTR *pbszConfiguration) { + return This->lpVtbl->get_Configuration(This,pbszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_put_Configuration(IWdsTransportNamespaceScheduledCast* This,BSTR bszConfiguration) { + return This->lpVtbl->put_Configuration(This,bszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Registered(IWdsTransportNamespaceScheduledCast* This,VARIANT_BOOL *pbRegistered) { + return This->lpVtbl->get_Registered(This,pbRegistered); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_Tombstoned(IWdsTransportNamespaceScheduledCast* This,VARIANT_BOOL *pbTombstoned) { + return This->lpVtbl->get_Tombstoned(This,pbTombstoned); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_TombstoneTime(IWdsTransportNamespaceScheduledCast* This,DATE *pTombstoneTime) { + return This->lpVtbl->get_TombstoneTime(This,pTombstoneTime); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_get_TransmissionStarted(IWdsTransportNamespaceScheduledCast* This,VARIANT_BOOL *pbTransmissionStarted) { + return This->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_Register(IWdsTransportNamespaceScheduledCast* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_Deregister(IWdsTransportNamespaceScheduledCast* This,VARIANT_BOOL bTerminateSessions) { + return This->lpVtbl->Deregister(This,bTerminateSessions); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_Clone(IWdsTransportNamespaceScheduledCast* This,IWdsTransportNamespace **ppWdsTransportNamespaceClone) { + return This->lpVtbl->Clone(This,ppWdsTransportNamespaceClone); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_Refresh(IWdsTransportNamespaceScheduledCast* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCast_RetrieveContents(IWdsTransportNamespaceScheduledCast* This,IWdsTransportCollection **ppWdsTransportContents) { + return This->lpVtbl->RetrieveContents(This,ppWdsTransportContents); +} +/*** IWdsTransportNamespaceScheduledCast methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCast_StartTransmission(IWdsTransportNamespaceScheduledCast* This) { + return This->lpVtbl->StartTransmission(This); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespaceScheduledCast_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespaceScheduledCastManualStart interface + */ +#ifndef __IWdsTransportNamespaceScheduledCastManualStart_INTERFACE_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastManualStart_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespaceScheduledCastManualStart, 0x013e6e4c, 0xe6a7, 0x4fb5, 0xb7,0xff, 0xd9,0xf5,0xda,0x80,0x5c,0x31); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("013e6e4c-e6a7-4fb5-b7ff-d9f5da805c31") +IWdsTransportNamespaceScheduledCastManualStart : public IWdsTransportNamespaceScheduledCast +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespaceScheduledCastManualStart, 0x013e6e4c, 0xe6a7, 0x4fb5, 0xb7,0xff, 0xd9,0xf5,0xda,0x80,0x5c,0x31) +#endif +#else +typedef struct IWdsTransportNamespaceScheduledCastManualStartVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespaceScheduledCastManualStart *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespaceScheduledCastManualStart *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespaceScheduledCastManualStart *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespaceScheduledCastManualStart *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespaceScheduledCastManualStart *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespaceScheduledCastManualStart *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespaceScheduledCastManualStart *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWdsTransportNamespaceScheduledCastManualStart *This, + WDSTRANSPORT_NAMESPACE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportNamespaceScheduledCastManualStart *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR bszName); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR *pbszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR bszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR bszDescription); + + HRESULT (STDMETHODCALLTYPE *get_ContentProvider)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR *pbszContentProvider); + + HRESULT (STDMETHODCALLTYPE *put_ContentProvider)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR bszContentProvider); + + HRESULT (STDMETHODCALLTYPE *get_Configuration)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR *pbszConfiguration); + + HRESULT (STDMETHODCALLTYPE *put_Configuration)( + IWdsTransportNamespaceScheduledCastManualStart *This, + BSTR bszConfiguration); + + HRESULT (STDMETHODCALLTYPE *get_Registered)( + IWdsTransportNamespaceScheduledCastManualStart *This, + VARIANT_BOOL *pbRegistered); + + HRESULT (STDMETHODCALLTYPE *get_Tombstoned)( + IWdsTransportNamespaceScheduledCastManualStart *This, + VARIANT_BOOL *pbTombstoned); + + HRESULT (STDMETHODCALLTYPE *get_TombstoneTime)( + IWdsTransportNamespaceScheduledCastManualStart *This, + DATE *pTombstoneTime); + + HRESULT (STDMETHODCALLTYPE *get_TransmissionStarted)( + IWdsTransportNamespaceScheduledCastManualStart *This, + VARIANT_BOOL *pbTransmissionStarted); + + HRESULT (STDMETHODCALLTYPE *Register)( + IWdsTransportNamespaceScheduledCastManualStart *This); + + HRESULT (STDMETHODCALLTYPE *Deregister)( + IWdsTransportNamespaceScheduledCastManualStart *This, + VARIANT_BOOL bTerminateSessions); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWdsTransportNamespaceScheduledCastManualStart *This, + IWdsTransportNamespace **ppWdsTransportNamespaceClone); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportNamespaceScheduledCastManualStart *This); + + HRESULT (STDMETHODCALLTYPE *RetrieveContents)( + IWdsTransportNamespaceScheduledCastManualStart *This, + IWdsTransportCollection **ppWdsTransportContents); + + /*** IWdsTransportNamespaceScheduledCast methods ***/ + HRESULT (STDMETHODCALLTYPE *StartTransmission)( + IWdsTransportNamespaceScheduledCastManualStart *This); + + END_INTERFACE +} IWdsTransportNamespaceScheduledCastManualStartVtbl; + +interface IWdsTransportNamespaceScheduledCastManualStart { + CONST_VTBL IWdsTransportNamespaceScheduledCastManualStartVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespaceScheduledCastManualStart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespaceScheduledCastManualStart_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespaceScheduledCastManualStart_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespaceScheduledCastManualStart_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespaceScheduledCastManualStart_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespaceScheduledCastManualStart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespaceScheduledCastManualStart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespace methods ***/ +#define IWdsTransportNamespaceScheduledCastManualStart_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportNamespaceScheduledCastManualStart_put_Name(This,bszName) (This)->lpVtbl->put_Name(This,bszName) +#define IWdsTransportNamespaceScheduledCastManualStart_get_FriendlyName(This,pbszFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbszFriendlyName) +#define IWdsTransportNamespaceScheduledCastManualStart_put_FriendlyName(This,bszFriendlyName) (This)->lpVtbl->put_FriendlyName(This,bszFriendlyName) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportNamespaceScheduledCastManualStart_put_Description(This,bszDescription) (This)->lpVtbl->put_Description(This,bszDescription) +#define IWdsTransportNamespaceScheduledCastManualStart_get_ContentProvider(This,pbszContentProvider) (This)->lpVtbl->get_ContentProvider(This,pbszContentProvider) +#define IWdsTransportNamespaceScheduledCastManualStart_put_ContentProvider(This,bszContentProvider) (This)->lpVtbl->put_ContentProvider(This,bszContentProvider) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Configuration(This,pbszConfiguration) (This)->lpVtbl->get_Configuration(This,pbszConfiguration) +#define IWdsTransportNamespaceScheduledCastManualStart_put_Configuration(This,bszConfiguration) (This)->lpVtbl->put_Configuration(This,bszConfiguration) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Registered(This,pbRegistered) (This)->lpVtbl->get_Registered(This,pbRegistered) +#define IWdsTransportNamespaceScheduledCastManualStart_get_Tombstoned(This,pbTombstoned) (This)->lpVtbl->get_Tombstoned(This,pbTombstoned) +#define IWdsTransportNamespaceScheduledCastManualStart_get_TombstoneTime(This,pTombstoneTime) (This)->lpVtbl->get_TombstoneTime(This,pTombstoneTime) +#define IWdsTransportNamespaceScheduledCastManualStart_get_TransmissionStarted(This,pbTransmissionStarted) (This)->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted) +#define IWdsTransportNamespaceScheduledCastManualStart_Register(This) (This)->lpVtbl->Register(This) +#define IWdsTransportNamespaceScheduledCastManualStart_Deregister(This,bTerminateSessions) (This)->lpVtbl->Deregister(This,bTerminateSessions) +#define IWdsTransportNamespaceScheduledCastManualStart_Clone(This,ppWdsTransportNamespaceClone) (This)->lpVtbl->Clone(This,ppWdsTransportNamespaceClone) +#define IWdsTransportNamespaceScheduledCastManualStart_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportNamespaceScheduledCastManualStart_RetrieveContents(This,ppWdsTransportContents) (This)->lpVtbl->RetrieveContents(This,ppWdsTransportContents) +/*** IWdsTransportNamespaceScheduledCast methods ***/ +#define IWdsTransportNamespaceScheduledCastManualStart_StartTransmission(This) (This)->lpVtbl->StartTransmission(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_QueryInterface(IWdsTransportNamespaceScheduledCastManualStart* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespaceScheduledCastManualStart_AddRef(IWdsTransportNamespaceScheduledCastManualStart* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespaceScheduledCastManualStart_Release(IWdsTransportNamespaceScheduledCastManualStart* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_GetTypeInfoCount(IWdsTransportNamespaceScheduledCastManualStart* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_GetTypeInfo(IWdsTransportNamespaceScheduledCastManualStart* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_GetIDsOfNames(IWdsTransportNamespaceScheduledCastManualStart* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_Invoke(IWdsTransportNamespaceScheduledCastManualStart* 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); +} +/*** IWdsTransportNamespace methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Type(IWdsTransportNamespaceScheduledCastManualStart* This,WDSTRANSPORT_NAMESPACE_TYPE *pType) { + return This->lpVtbl->get_Type(This,pType); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Id(IWdsTransportNamespaceScheduledCastManualStart* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Name(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_put_Name(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR bszName) { + return This->lpVtbl->put_Name(This,bszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_FriendlyName(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR *pbszFriendlyName) { + return This->lpVtbl->get_FriendlyName(This,pbszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_put_FriendlyName(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR bszFriendlyName) { + return This->lpVtbl->put_FriendlyName(This,bszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Description(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_put_Description(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR bszDescription) { + return This->lpVtbl->put_Description(This,bszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_ContentProvider(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR *pbszContentProvider) { + return This->lpVtbl->get_ContentProvider(This,pbszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_put_ContentProvider(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR bszContentProvider) { + return This->lpVtbl->put_ContentProvider(This,bszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Configuration(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR *pbszConfiguration) { + return This->lpVtbl->get_Configuration(This,pbszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_put_Configuration(IWdsTransportNamespaceScheduledCastManualStart* This,BSTR bszConfiguration) { + return This->lpVtbl->put_Configuration(This,bszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Registered(IWdsTransportNamespaceScheduledCastManualStart* This,VARIANT_BOOL *pbRegistered) { + return This->lpVtbl->get_Registered(This,pbRegistered); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_Tombstoned(IWdsTransportNamespaceScheduledCastManualStart* This,VARIANT_BOOL *pbTombstoned) { + return This->lpVtbl->get_Tombstoned(This,pbTombstoned); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_TombstoneTime(IWdsTransportNamespaceScheduledCastManualStart* This,DATE *pTombstoneTime) { + return This->lpVtbl->get_TombstoneTime(This,pTombstoneTime); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_get_TransmissionStarted(IWdsTransportNamespaceScheduledCastManualStart* This,VARIANT_BOOL *pbTransmissionStarted) { + return This->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_Register(IWdsTransportNamespaceScheduledCastManualStart* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_Deregister(IWdsTransportNamespaceScheduledCastManualStart* This,VARIANT_BOOL bTerminateSessions) { + return This->lpVtbl->Deregister(This,bTerminateSessions); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_Clone(IWdsTransportNamespaceScheduledCastManualStart* This,IWdsTransportNamespace **ppWdsTransportNamespaceClone) { + return This->lpVtbl->Clone(This,ppWdsTransportNamespaceClone); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_Refresh(IWdsTransportNamespaceScheduledCastManualStart* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_RetrieveContents(IWdsTransportNamespaceScheduledCastManualStart* This,IWdsTransportCollection **ppWdsTransportContents) { + return This->lpVtbl->RetrieveContents(This,ppWdsTransportContents); +} +/*** IWdsTransportNamespaceScheduledCast methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastManualStart_StartTransmission(IWdsTransportNamespaceScheduledCastManualStart* This) { + return This->lpVtbl->StartTransmission(This); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespaceScheduledCastManualStart_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespaceScheduledCastAutoStart interface + */ +#ifndef __IWdsTransportNamespaceScheduledCastAutoStart_INTERFACE_DEFINED__ +#define __IWdsTransportNamespaceScheduledCastAutoStart_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespaceScheduledCastAutoStart, 0xd606af3d, 0xea9c, 0x4219, 0x96,0x1e, 0x74,0x91,0xd6,0x18,0xd9,0xb9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d606af3d-ea9c-4219-961e-7491d618d9b9") +IWdsTransportNamespaceScheduledCastAutoStart : public IWdsTransportNamespaceScheduledCast +{ + virtual HRESULT STDMETHODCALLTYPE get_MinimumClients( + ULONG *pulMinimumClients) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MinimumClients( + ULONG ulMinimumClients) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StartTime( + DATE *pStartTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StartTime( + DATE StartTime) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespaceScheduledCastAutoStart, 0xd606af3d, 0xea9c, 0x4219, 0x96,0x1e, 0x74,0x91,0xd6,0x18,0xd9,0xb9) +#endif +#else +typedef struct IWdsTransportNamespaceScheduledCastAutoStartVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespaceScheduledCastAutoStart *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespaceScheduledCastAutoStart *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespace methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Type)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + WDSTRANSPORT_NAMESPACE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *put_Name)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR bszName); + + HRESULT (STDMETHODCALLTYPE *get_FriendlyName)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR *pbszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *put_FriendlyName)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR bszFriendlyName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *put_Description)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR bszDescription); + + HRESULT (STDMETHODCALLTYPE *get_ContentProvider)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR *pbszContentProvider); + + HRESULT (STDMETHODCALLTYPE *put_ContentProvider)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR bszContentProvider); + + HRESULT (STDMETHODCALLTYPE *get_Configuration)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR *pbszConfiguration); + + HRESULT (STDMETHODCALLTYPE *put_Configuration)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + BSTR bszConfiguration); + + HRESULT (STDMETHODCALLTYPE *get_Registered)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + VARIANT_BOOL *pbRegistered); + + HRESULT (STDMETHODCALLTYPE *get_Tombstoned)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + VARIANT_BOOL *pbTombstoned); + + HRESULT (STDMETHODCALLTYPE *get_TombstoneTime)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + DATE *pTombstoneTime); + + HRESULT (STDMETHODCALLTYPE *get_TransmissionStarted)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + VARIANT_BOOL *pbTransmissionStarted); + + HRESULT (STDMETHODCALLTYPE *Register)( + IWdsTransportNamespaceScheduledCastAutoStart *This); + + HRESULT (STDMETHODCALLTYPE *Deregister)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + VARIANT_BOOL bTerminateSessions); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + IWdsTransportNamespace **ppWdsTransportNamespaceClone); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportNamespaceScheduledCastAutoStart *This); + + HRESULT (STDMETHODCALLTYPE *RetrieveContents)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + IWdsTransportCollection **ppWdsTransportContents); + + /*** IWdsTransportNamespaceScheduledCast methods ***/ + HRESULT (STDMETHODCALLTYPE *StartTransmission)( + IWdsTransportNamespaceScheduledCastAutoStart *This); + + /*** IWdsTransportNamespaceScheduledCastAutoStart methods ***/ + HRESULT (STDMETHODCALLTYPE *get_MinimumClients)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + ULONG *pulMinimumClients); + + HRESULT (STDMETHODCALLTYPE *put_MinimumClients)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + ULONG ulMinimumClients); + + HRESULT (STDMETHODCALLTYPE *get_StartTime)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + DATE *pStartTime); + + HRESULT (STDMETHODCALLTYPE *put_StartTime)( + IWdsTransportNamespaceScheduledCastAutoStart *This, + DATE StartTime); + + END_INTERFACE +} IWdsTransportNamespaceScheduledCastAutoStartVtbl; + +interface IWdsTransportNamespaceScheduledCastAutoStart { + CONST_VTBL IWdsTransportNamespaceScheduledCastAutoStartVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespaceScheduledCastAutoStart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespaceScheduledCastAutoStart_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespaceScheduledCastAutoStart_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespaceScheduledCastAutoStart_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespaceScheduledCastAutoStart_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespaceScheduledCastAutoStart_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespaceScheduledCastAutoStart_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespace methods ***/ +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_Name(This,bszName) (This)->lpVtbl->put_Name(This,bszName) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_FriendlyName(This,pbszFriendlyName) (This)->lpVtbl->get_FriendlyName(This,pbszFriendlyName) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_FriendlyName(This,bszFriendlyName) (This)->lpVtbl->put_FriendlyName(This,bszFriendlyName) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_Description(This,bszDescription) (This)->lpVtbl->put_Description(This,bszDescription) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_ContentProvider(This,pbszContentProvider) (This)->lpVtbl->get_ContentProvider(This,pbszContentProvider) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_ContentProvider(This,bszContentProvider) (This)->lpVtbl->put_ContentProvider(This,bszContentProvider) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Configuration(This,pbszConfiguration) (This)->lpVtbl->get_Configuration(This,pbszConfiguration) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_Configuration(This,bszConfiguration) (This)->lpVtbl->put_Configuration(This,bszConfiguration) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Registered(This,pbRegistered) (This)->lpVtbl->get_Registered(This,pbRegistered) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_Tombstoned(This,pbTombstoned) (This)->lpVtbl->get_Tombstoned(This,pbTombstoned) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_TombstoneTime(This,pTombstoneTime) (This)->lpVtbl->get_TombstoneTime(This,pTombstoneTime) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_TransmissionStarted(This,pbTransmissionStarted) (This)->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted) +#define IWdsTransportNamespaceScheduledCastAutoStart_Register(This) (This)->lpVtbl->Register(This) +#define IWdsTransportNamespaceScheduledCastAutoStart_Deregister(This,bTerminateSessions) (This)->lpVtbl->Deregister(This,bTerminateSessions) +#define IWdsTransportNamespaceScheduledCastAutoStart_Clone(This,ppWdsTransportNamespaceClone) (This)->lpVtbl->Clone(This,ppWdsTransportNamespaceClone) +#define IWdsTransportNamespaceScheduledCastAutoStart_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportNamespaceScheduledCastAutoStart_RetrieveContents(This,ppWdsTransportContents) (This)->lpVtbl->RetrieveContents(This,ppWdsTransportContents) +/*** IWdsTransportNamespaceScheduledCast methods ***/ +#define IWdsTransportNamespaceScheduledCastAutoStart_StartTransmission(This) (This)->lpVtbl->StartTransmission(This) +/*** IWdsTransportNamespaceScheduledCastAutoStart methods ***/ +#define IWdsTransportNamespaceScheduledCastAutoStart_get_MinimumClients(This,pulMinimumClients) (This)->lpVtbl->get_MinimumClients(This,pulMinimumClients) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_MinimumClients(This,ulMinimumClients) (This)->lpVtbl->put_MinimumClients(This,ulMinimumClients) +#define IWdsTransportNamespaceScheduledCastAutoStart_get_StartTime(This,pStartTime) (This)->lpVtbl->get_StartTime(This,pStartTime) +#define IWdsTransportNamespaceScheduledCastAutoStart_put_StartTime(This,StartTime) (This)->lpVtbl->put_StartTime(This,StartTime) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_QueryInterface(IWdsTransportNamespaceScheduledCastAutoStart* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespaceScheduledCastAutoStart_AddRef(IWdsTransportNamespaceScheduledCastAutoStart* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespaceScheduledCastAutoStart_Release(IWdsTransportNamespaceScheduledCastAutoStart* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_GetTypeInfoCount(IWdsTransportNamespaceScheduledCastAutoStart* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_GetTypeInfo(IWdsTransportNamespaceScheduledCastAutoStart* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_GetIDsOfNames(IWdsTransportNamespaceScheduledCastAutoStart* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_Invoke(IWdsTransportNamespaceScheduledCastAutoStart* 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); +} +/*** IWdsTransportNamespace methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Type(IWdsTransportNamespaceScheduledCastAutoStart* This,WDSTRANSPORT_NAMESPACE_TYPE *pType) { + return This->lpVtbl->get_Type(This,pType); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Id(IWdsTransportNamespaceScheduledCastAutoStart* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Name(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_Name(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR bszName) { + return This->lpVtbl->put_Name(This,bszName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_FriendlyName(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR *pbszFriendlyName) { + return This->lpVtbl->get_FriendlyName(This,pbszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_FriendlyName(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR bszFriendlyName) { + return This->lpVtbl->put_FriendlyName(This,bszFriendlyName); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Description(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_Description(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR bszDescription) { + return This->lpVtbl->put_Description(This,bszDescription); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_ContentProvider(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR *pbszContentProvider) { + return This->lpVtbl->get_ContentProvider(This,pbszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_ContentProvider(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR bszContentProvider) { + return This->lpVtbl->put_ContentProvider(This,bszContentProvider); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Configuration(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR *pbszConfiguration) { + return This->lpVtbl->get_Configuration(This,pbszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_Configuration(IWdsTransportNamespaceScheduledCastAutoStart* This,BSTR bszConfiguration) { + return This->lpVtbl->put_Configuration(This,bszConfiguration); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Registered(IWdsTransportNamespaceScheduledCastAutoStart* This,VARIANT_BOOL *pbRegistered) { + return This->lpVtbl->get_Registered(This,pbRegistered); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_Tombstoned(IWdsTransportNamespaceScheduledCastAutoStart* This,VARIANT_BOOL *pbTombstoned) { + return This->lpVtbl->get_Tombstoned(This,pbTombstoned); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_TombstoneTime(IWdsTransportNamespaceScheduledCastAutoStart* This,DATE *pTombstoneTime) { + return This->lpVtbl->get_TombstoneTime(This,pTombstoneTime); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_TransmissionStarted(IWdsTransportNamespaceScheduledCastAutoStart* This,VARIANT_BOOL *pbTransmissionStarted) { + return This->lpVtbl->get_TransmissionStarted(This,pbTransmissionStarted); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_Register(IWdsTransportNamespaceScheduledCastAutoStart* This) { + return This->lpVtbl->Register(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_Deregister(IWdsTransportNamespaceScheduledCastAutoStart* This,VARIANT_BOOL bTerminateSessions) { + return This->lpVtbl->Deregister(This,bTerminateSessions); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_Clone(IWdsTransportNamespaceScheduledCastAutoStart* This,IWdsTransportNamespace **ppWdsTransportNamespaceClone) { + return This->lpVtbl->Clone(This,ppWdsTransportNamespaceClone); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_Refresh(IWdsTransportNamespaceScheduledCastAutoStart* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_RetrieveContents(IWdsTransportNamespaceScheduledCastAutoStart* This,IWdsTransportCollection **ppWdsTransportContents) { + return This->lpVtbl->RetrieveContents(This,ppWdsTransportContents); +} +/*** IWdsTransportNamespaceScheduledCast methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_StartTransmission(IWdsTransportNamespaceScheduledCastAutoStart* This) { + return This->lpVtbl->StartTransmission(This); +} +/*** IWdsTransportNamespaceScheduledCastAutoStart methods ***/ +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_MinimumClients(IWdsTransportNamespaceScheduledCastAutoStart* This,ULONG *pulMinimumClients) { + return This->lpVtbl->get_MinimumClients(This,pulMinimumClients); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_MinimumClients(IWdsTransportNamespaceScheduledCastAutoStart* This,ULONG ulMinimumClients) { + return This->lpVtbl->put_MinimumClients(This,ulMinimumClients); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_get_StartTime(IWdsTransportNamespaceScheduledCastAutoStart* This,DATE *pStartTime) { + return This->lpVtbl->get_StartTime(This,pStartTime); +} +static inline HRESULT IWdsTransportNamespaceScheduledCastAutoStart_put_StartTime(IWdsTransportNamespaceScheduledCastAutoStart* This,DATE StartTime) { + return This->lpVtbl->put_StartTime(This,StartTime); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespaceScheduledCastAutoStart_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportNamespaceManager interface + */ +#ifndef __IWdsTransportNamespaceManager_INTERFACE_DEFINED__ +#define __IWdsTransportNamespaceManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportNamespaceManager, 0x3e22d9f6, 0x3777, 0x4d98, 0x83,0xe1, 0xf9,0x86,0x96,0x71,0x7b,0xa3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3e22d9f6-3777-4d98-83e1-f98696717ba3") +IWdsTransportNamespaceManager : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE CreateNamespace( + WDSTRANSPORT_NAMESPACE_TYPE NamespaceType, + BSTR bszNamespaceName, + BSTR bszContentProvider, + BSTR bszConfiguration, + IWdsTransportNamespace **ppWdsTransportNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveNamespace( + BSTR bszNamespaceName, + IWdsTransportNamespace **ppWdsTransportNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveNamespaces( + BSTR bszContentProvider, + BSTR bszNamespaceName, + VARIANT_BOOL bIncludeTombstones, + IWdsTransportCollection **ppWdsTransportNamespaces) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportNamespaceManager, 0x3e22d9f6, 0x3777, 0x4d98, 0x83,0xe1, 0xf9,0x86,0x96,0x71,0x7b,0xa3) +#endif +#else +typedef struct IWdsTransportNamespaceManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportNamespaceManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportNamespaceManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportNamespaceManager *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportNamespaceManager *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportNamespaceManager *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportNamespaceManager *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportNamespaceManager *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportNamespaceManager methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateNamespace)( + IWdsTransportNamespaceManager *This, + WDSTRANSPORT_NAMESPACE_TYPE NamespaceType, + BSTR bszNamespaceName, + BSTR bszContentProvider, + BSTR bszConfiguration, + IWdsTransportNamespace **ppWdsTransportNamespace); + + HRESULT (STDMETHODCALLTYPE *RetrieveNamespace)( + IWdsTransportNamespaceManager *This, + BSTR bszNamespaceName, + IWdsTransportNamespace **ppWdsTransportNamespace); + + HRESULT (STDMETHODCALLTYPE *RetrieveNamespaces)( + IWdsTransportNamespaceManager *This, + BSTR bszContentProvider, + BSTR bszNamespaceName, + VARIANT_BOOL bIncludeTombstones, + IWdsTransportCollection **ppWdsTransportNamespaces); + + END_INTERFACE +} IWdsTransportNamespaceManagerVtbl; + +interface IWdsTransportNamespaceManager { + CONST_VTBL IWdsTransportNamespaceManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportNamespaceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportNamespaceManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportNamespaceManager_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportNamespaceManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportNamespaceManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportNamespaceManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportNamespaceManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportNamespaceManager methods ***/ +#define IWdsTransportNamespaceManager_CreateNamespace(This,NamespaceType,bszNamespaceName,bszContentProvider,bszConfiguration,ppWdsTransportNamespace) (This)->lpVtbl->CreateNamespace(This,NamespaceType,bszNamespaceName,bszContentProvider,bszConfiguration,ppWdsTransportNamespace) +#define IWdsTransportNamespaceManager_RetrieveNamespace(This,bszNamespaceName,ppWdsTransportNamespace) (This)->lpVtbl->RetrieveNamespace(This,bszNamespaceName,ppWdsTransportNamespace) +#define IWdsTransportNamespaceManager_RetrieveNamespaces(This,bszContentProvider,bszNamespaceName,bIncludeTombstones,ppWdsTransportNamespaces) (This)->lpVtbl->RetrieveNamespaces(This,bszContentProvider,bszNamespaceName,bIncludeTombstones,ppWdsTransportNamespaces) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportNamespaceManager_QueryInterface(IWdsTransportNamespaceManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportNamespaceManager_AddRef(IWdsTransportNamespaceManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportNamespaceManager_Release(IWdsTransportNamespaceManager* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportNamespaceManager_GetTypeInfoCount(IWdsTransportNamespaceManager* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportNamespaceManager_GetTypeInfo(IWdsTransportNamespaceManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportNamespaceManager_GetIDsOfNames(IWdsTransportNamespaceManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportNamespaceManager_Invoke(IWdsTransportNamespaceManager* 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); +} +/*** IWdsTransportNamespaceManager methods ***/ +static inline HRESULT IWdsTransportNamespaceManager_CreateNamespace(IWdsTransportNamespaceManager* This,WDSTRANSPORT_NAMESPACE_TYPE NamespaceType,BSTR bszNamespaceName,BSTR bszContentProvider,BSTR bszConfiguration,IWdsTransportNamespace **ppWdsTransportNamespace) { + return This->lpVtbl->CreateNamespace(This,NamespaceType,bszNamespaceName,bszContentProvider,bszConfiguration,ppWdsTransportNamespace); +} +static inline HRESULT IWdsTransportNamespaceManager_RetrieveNamespace(IWdsTransportNamespaceManager* This,BSTR bszNamespaceName,IWdsTransportNamespace **ppWdsTransportNamespace) { + return This->lpVtbl->RetrieveNamespace(This,bszNamespaceName,ppWdsTransportNamespace); +} +static inline HRESULT IWdsTransportNamespaceManager_RetrieveNamespaces(IWdsTransportNamespaceManager* This,BSTR bszContentProvider,BSTR bszNamespaceName,VARIANT_BOOL bIncludeTombstones,IWdsTransportCollection **ppWdsTransportNamespaces) { + return This->lpVtbl->RetrieveNamespaces(This,bszContentProvider,bszNamespaceName,bIncludeTombstones,ppWdsTransportNamespaces); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportNamespaceManager_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportServer interface + */ +#ifndef __IWdsTransportServer_INTERFACE_DEFINED__ +#define __IWdsTransportServer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportServer, 0x09ccd093, 0x830d, 0x4344, 0xa3,0x0a, 0x73,0xae,0x8e,0x8f,0xca,0x90); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("09ccd093-830d-4344-a30a-73ae8e8fca90") +IWdsTransportServer : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pbszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SetupManager( + IWdsTransportSetupManager **ppWdsTransportSetupManager) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ConfigurationManager( + IWdsTransportConfigurationManager **ppWdsTransportConfigurationManager) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NamespaceManager( + IWdsTransportNamespaceManager **ppWdsTransportNamespaceManager) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisconnectClient( + ULONG ulClientId, + WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportServer, 0x09ccd093, 0x830d, 0x4344, 0xa3,0x0a, 0x73,0xae,0x8e,0x8f,0xca,0x90) +#endif +#else +typedef struct IWdsTransportServerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportServer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportServer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportServer *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportServer *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportServer *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportServer *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportServer *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportServer methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportServer *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *get_SetupManager)( + IWdsTransportServer *This, + IWdsTransportSetupManager **ppWdsTransportSetupManager); + + HRESULT (STDMETHODCALLTYPE *get_ConfigurationManager)( + IWdsTransportServer *This, + IWdsTransportConfigurationManager **ppWdsTransportConfigurationManager); + + HRESULT (STDMETHODCALLTYPE *get_NamespaceManager)( + IWdsTransportServer *This, + IWdsTransportNamespaceManager **ppWdsTransportNamespaceManager); + + HRESULT (STDMETHODCALLTYPE *DisconnectClient)( + IWdsTransportServer *This, + ULONG ulClientId, + WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType); + + END_INTERFACE +} IWdsTransportServerVtbl; + +interface IWdsTransportServer { + CONST_VTBL IWdsTransportServerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportServer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportServer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportServer_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportServer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportServer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportServer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportServer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportServer methods ***/ +#define IWdsTransportServer_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportServer_get_SetupManager(This,ppWdsTransportSetupManager) (This)->lpVtbl->get_SetupManager(This,ppWdsTransportSetupManager) +#define IWdsTransportServer_get_ConfigurationManager(This,ppWdsTransportConfigurationManager) (This)->lpVtbl->get_ConfigurationManager(This,ppWdsTransportConfigurationManager) +#define IWdsTransportServer_get_NamespaceManager(This,ppWdsTransportNamespaceManager) (This)->lpVtbl->get_NamespaceManager(This,ppWdsTransportNamespaceManager) +#define IWdsTransportServer_DisconnectClient(This,ulClientId,DisconnectionType) (This)->lpVtbl->DisconnectClient(This,ulClientId,DisconnectionType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportServer_QueryInterface(IWdsTransportServer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportServer_AddRef(IWdsTransportServer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportServer_Release(IWdsTransportServer* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportServer_GetTypeInfoCount(IWdsTransportServer* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportServer_GetTypeInfo(IWdsTransportServer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportServer_GetIDsOfNames(IWdsTransportServer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportServer_Invoke(IWdsTransportServer* 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); +} +/*** IWdsTransportServer methods ***/ +static inline HRESULT IWdsTransportServer_get_Name(IWdsTransportServer* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportServer_get_SetupManager(IWdsTransportServer* This,IWdsTransportSetupManager **ppWdsTransportSetupManager) { + return This->lpVtbl->get_SetupManager(This,ppWdsTransportSetupManager); +} +static inline HRESULT IWdsTransportServer_get_ConfigurationManager(IWdsTransportServer* This,IWdsTransportConfigurationManager **ppWdsTransportConfigurationManager) { + return This->lpVtbl->get_ConfigurationManager(This,ppWdsTransportConfigurationManager); +} +static inline HRESULT IWdsTransportServer_get_NamespaceManager(IWdsTransportServer* This,IWdsTransportNamespaceManager **ppWdsTransportNamespaceManager) { + return This->lpVtbl->get_NamespaceManager(This,ppWdsTransportNamespaceManager); +} +static inline HRESULT IWdsTransportServer_DisconnectClient(IWdsTransportServer* This,ULONG ulClientId,WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType) { + return This->lpVtbl->DisconnectClient(This,ulClientId,DisconnectionType); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportServer_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportServer2 interface + */ +#ifndef __IWdsTransportServer2_INTERFACE_DEFINED__ +#define __IWdsTransportServer2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportServer2, 0x256e999f, 0x6df4, 0x4538, 0x81,0xb9, 0x85,0x7b,0x9a,0xb8,0xfb,0x47); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("256e999f-6df4-4538-81b9-857b9ab8fb47") +IWdsTransportServer2 : public IWdsTransportServer +{ + virtual HRESULT STDMETHODCALLTYPE get_TftpManager( + IWdsTransportTftpManager **ppWdsTransportTftpManager) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportServer2, 0x256e999f, 0x6df4, 0x4538, 0x81,0xb9, 0x85,0x7b,0x9a,0xb8,0xfb,0x47) +#endif +#else +typedef struct IWdsTransportServer2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportServer2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportServer2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportServer2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportServer2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportServer2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportServer2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportServer2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportServer methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportServer2 *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *get_SetupManager)( + IWdsTransportServer2 *This, + IWdsTransportSetupManager **ppWdsTransportSetupManager); + + HRESULT (STDMETHODCALLTYPE *get_ConfigurationManager)( + IWdsTransportServer2 *This, + IWdsTransportConfigurationManager **ppWdsTransportConfigurationManager); + + HRESULT (STDMETHODCALLTYPE *get_NamespaceManager)( + IWdsTransportServer2 *This, + IWdsTransportNamespaceManager **ppWdsTransportNamespaceManager); + + HRESULT (STDMETHODCALLTYPE *DisconnectClient)( + IWdsTransportServer2 *This, + ULONG ulClientId, + WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType); + + /*** IWdsTransportServer2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TftpManager)( + IWdsTransportServer2 *This, + IWdsTransportTftpManager **ppWdsTransportTftpManager); + + END_INTERFACE +} IWdsTransportServer2Vtbl; + +interface IWdsTransportServer2 { + CONST_VTBL IWdsTransportServer2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportServer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportServer2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportServer2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportServer2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportServer2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportServer2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportServer2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportServer methods ***/ +#define IWdsTransportServer2_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportServer2_get_SetupManager(This,ppWdsTransportSetupManager) (This)->lpVtbl->get_SetupManager(This,ppWdsTransportSetupManager) +#define IWdsTransportServer2_get_ConfigurationManager(This,ppWdsTransportConfigurationManager) (This)->lpVtbl->get_ConfigurationManager(This,ppWdsTransportConfigurationManager) +#define IWdsTransportServer2_get_NamespaceManager(This,ppWdsTransportNamespaceManager) (This)->lpVtbl->get_NamespaceManager(This,ppWdsTransportNamespaceManager) +#define IWdsTransportServer2_DisconnectClient(This,ulClientId,DisconnectionType) (This)->lpVtbl->DisconnectClient(This,ulClientId,DisconnectionType) +/*** IWdsTransportServer2 methods ***/ +#define IWdsTransportServer2_get_TftpManager(This,ppWdsTransportTftpManager) (This)->lpVtbl->get_TftpManager(This,ppWdsTransportTftpManager) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportServer2_QueryInterface(IWdsTransportServer2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportServer2_AddRef(IWdsTransportServer2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportServer2_Release(IWdsTransportServer2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportServer2_GetTypeInfoCount(IWdsTransportServer2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportServer2_GetTypeInfo(IWdsTransportServer2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportServer2_GetIDsOfNames(IWdsTransportServer2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportServer2_Invoke(IWdsTransportServer2* 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); +} +/*** IWdsTransportServer methods ***/ +static inline HRESULT IWdsTransportServer2_get_Name(IWdsTransportServer2* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportServer2_get_SetupManager(IWdsTransportServer2* This,IWdsTransportSetupManager **ppWdsTransportSetupManager) { + return This->lpVtbl->get_SetupManager(This,ppWdsTransportSetupManager); +} +static inline HRESULT IWdsTransportServer2_get_ConfigurationManager(IWdsTransportServer2* This,IWdsTransportConfigurationManager **ppWdsTransportConfigurationManager) { + return This->lpVtbl->get_ConfigurationManager(This,ppWdsTransportConfigurationManager); +} +static inline HRESULT IWdsTransportServer2_get_NamespaceManager(IWdsTransportServer2* This,IWdsTransportNamespaceManager **ppWdsTransportNamespaceManager) { + return This->lpVtbl->get_NamespaceManager(This,ppWdsTransportNamespaceManager); +} +static inline HRESULT IWdsTransportServer2_DisconnectClient(IWdsTransportServer2* This,ULONG ulClientId,WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType) { + return This->lpVtbl->DisconnectClient(This,ulClientId,DisconnectionType); +} +/*** IWdsTransportServer2 methods ***/ +static inline HRESULT IWdsTransportServer2_get_TftpManager(IWdsTransportServer2* This,IWdsTransportTftpManager **ppWdsTransportTftpManager) { + return This->lpVtbl->get_TftpManager(This,ppWdsTransportTftpManager); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportServer2_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportServicePolicy interface + */ +#ifndef __IWdsTransportServicePolicy_INTERFACE_DEFINED__ +#define __IWdsTransportServicePolicy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportServicePolicy, 0xb9468578, 0x9f2b, 0x48cc, 0xb2,0x7a, 0xa6,0x07,0x99,0xc2,0x75,0x0c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b9468578-9f2b-48cc-b27a-a60799c2750c") +IWdsTransportServicePolicy : public IWdsTransportCacheable +{ + virtual HRESULT STDMETHODCALLTYPE get_IpAddressSource( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *pSourceType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IpAddressSource( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE SourceType) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StartIpAddress( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszStartIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StartIpAddress( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszStartIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EndIpAddress( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszEndIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_EndIpAddress( + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszEndIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_StartPort( + ULONG *pulStartPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_StartPort( + ULONG ulStartPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EndPort( + ULONG *pulEndPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_EndPort( + ULONG ulEndPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkProfile( + WDSTRANSPORT_NETWORK_PROFILE_TYPE *pProfileType) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NetworkProfile( + WDSTRANSPORT_NETWORK_PROFILE_TYPE ProfileType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportServicePolicy, 0xb9468578, 0x9f2b, 0x48cc, 0xb2,0x7a, 0xa6,0x07,0x99,0xc2,0x75,0x0c) +#endif +#else +typedef struct IWdsTransportServicePolicyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportServicePolicy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportServicePolicy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportServicePolicy *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportServicePolicy *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportServicePolicy *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportServicePolicy *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportServicePolicy *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCacheable methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Dirty)( + IWdsTransportServicePolicy *This, + VARIANT_BOOL *pbDirty); + + HRESULT (STDMETHODCALLTYPE *Discard)( + IWdsTransportServicePolicy *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportServicePolicy *This); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWdsTransportServicePolicy *This); + + /*** IWdsTransportServicePolicy methods ***/ + HRESULT (STDMETHODCALLTYPE *get_IpAddressSource)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *pSourceType); + + HRESULT (STDMETHODCALLTYPE *put_IpAddressSource)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE SourceType); + + HRESULT (STDMETHODCALLTYPE *get_StartIpAddress)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszStartIpAddress); + + HRESULT (STDMETHODCALLTYPE *put_StartIpAddress)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszStartIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_EndIpAddress)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszEndIpAddress); + + HRESULT (STDMETHODCALLTYPE *put_EndIpAddress)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszEndIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_StartPort)( + IWdsTransportServicePolicy *This, + ULONG *pulStartPort); + + HRESULT (STDMETHODCALLTYPE *put_StartPort)( + IWdsTransportServicePolicy *This, + ULONG ulStartPort); + + HRESULT (STDMETHODCALLTYPE *get_EndPort)( + IWdsTransportServicePolicy *This, + ULONG *pulEndPort); + + HRESULT (STDMETHODCALLTYPE *put_EndPort)( + IWdsTransportServicePolicy *This, + ULONG ulEndPort); + + HRESULT (STDMETHODCALLTYPE *get_NetworkProfile)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_NETWORK_PROFILE_TYPE *pProfileType); + + HRESULT (STDMETHODCALLTYPE *put_NetworkProfile)( + IWdsTransportServicePolicy *This, + WDSTRANSPORT_NETWORK_PROFILE_TYPE ProfileType); + + END_INTERFACE +} IWdsTransportServicePolicyVtbl; + +interface IWdsTransportServicePolicy { + CONST_VTBL IWdsTransportServicePolicyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportServicePolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportServicePolicy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportServicePolicy_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportServicePolicy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportServicePolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportServicePolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportServicePolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCacheable methods ***/ +#define IWdsTransportServicePolicy_get_Dirty(This,pbDirty) (This)->lpVtbl->get_Dirty(This,pbDirty) +#define IWdsTransportServicePolicy_Discard(This) (This)->lpVtbl->Discard(This) +#define IWdsTransportServicePolicy_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportServicePolicy_Commit(This) (This)->lpVtbl->Commit(This) +/*** IWdsTransportServicePolicy methods ***/ +#define IWdsTransportServicePolicy_get_IpAddressSource(This,AddressType,pSourceType) (This)->lpVtbl->get_IpAddressSource(This,AddressType,pSourceType) +#define IWdsTransportServicePolicy_put_IpAddressSource(This,AddressType,SourceType) (This)->lpVtbl->put_IpAddressSource(This,AddressType,SourceType) +#define IWdsTransportServicePolicy_get_StartIpAddress(This,AddressType,pbszStartIpAddress) (This)->lpVtbl->get_StartIpAddress(This,AddressType,pbszStartIpAddress) +#define IWdsTransportServicePolicy_put_StartIpAddress(This,AddressType,bszStartIpAddress) (This)->lpVtbl->put_StartIpAddress(This,AddressType,bszStartIpAddress) +#define IWdsTransportServicePolicy_get_EndIpAddress(This,AddressType,pbszEndIpAddress) (This)->lpVtbl->get_EndIpAddress(This,AddressType,pbszEndIpAddress) +#define IWdsTransportServicePolicy_put_EndIpAddress(This,AddressType,bszEndIpAddress) (This)->lpVtbl->put_EndIpAddress(This,AddressType,bszEndIpAddress) +#define IWdsTransportServicePolicy_get_StartPort(This,pulStartPort) (This)->lpVtbl->get_StartPort(This,pulStartPort) +#define IWdsTransportServicePolicy_put_StartPort(This,ulStartPort) (This)->lpVtbl->put_StartPort(This,ulStartPort) +#define IWdsTransportServicePolicy_get_EndPort(This,pulEndPort) (This)->lpVtbl->get_EndPort(This,pulEndPort) +#define IWdsTransportServicePolicy_put_EndPort(This,ulEndPort) (This)->lpVtbl->put_EndPort(This,ulEndPort) +#define IWdsTransportServicePolicy_get_NetworkProfile(This,pProfileType) (This)->lpVtbl->get_NetworkProfile(This,pProfileType) +#define IWdsTransportServicePolicy_put_NetworkProfile(This,ProfileType) (This)->lpVtbl->put_NetworkProfile(This,ProfileType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportServicePolicy_QueryInterface(IWdsTransportServicePolicy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportServicePolicy_AddRef(IWdsTransportServicePolicy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportServicePolicy_Release(IWdsTransportServicePolicy* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportServicePolicy_GetTypeInfoCount(IWdsTransportServicePolicy* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportServicePolicy_GetTypeInfo(IWdsTransportServicePolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportServicePolicy_GetIDsOfNames(IWdsTransportServicePolicy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportServicePolicy_Invoke(IWdsTransportServicePolicy* 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); +} +/*** IWdsTransportCacheable methods ***/ +static inline HRESULT IWdsTransportServicePolicy_get_Dirty(IWdsTransportServicePolicy* This,VARIANT_BOOL *pbDirty) { + return This->lpVtbl->get_Dirty(This,pbDirty); +} +static inline HRESULT IWdsTransportServicePolicy_Discard(IWdsTransportServicePolicy* This) { + return This->lpVtbl->Discard(This); +} +static inline HRESULT IWdsTransportServicePolicy_Refresh(IWdsTransportServicePolicy* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportServicePolicy_Commit(IWdsTransportServicePolicy* This) { + return This->lpVtbl->Commit(This); +} +/*** IWdsTransportServicePolicy methods ***/ +static inline HRESULT IWdsTransportServicePolicy_get_IpAddressSource(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *pSourceType) { + return This->lpVtbl->get_IpAddressSource(This,AddressType,pSourceType); +} +static inline HRESULT IWdsTransportServicePolicy_put_IpAddressSource(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE SourceType) { + return This->lpVtbl->put_IpAddressSource(This,AddressType,SourceType); +} +static inline HRESULT IWdsTransportServicePolicy_get_StartIpAddress(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR *pbszStartIpAddress) { + return This->lpVtbl->get_StartIpAddress(This,AddressType,pbszStartIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy_put_StartIpAddress(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR bszStartIpAddress) { + return This->lpVtbl->put_StartIpAddress(This,AddressType,bszStartIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy_get_EndIpAddress(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR *pbszEndIpAddress) { + return This->lpVtbl->get_EndIpAddress(This,AddressType,pbszEndIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy_put_EndIpAddress(IWdsTransportServicePolicy* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR bszEndIpAddress) { + return This->lpVtbl->put_EndIpAddress(This,AddressType,bszEndIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy_get_StartPort(IWdsTransportServicePolicy* This,ULONG *pulStartPort) { + return This->lpVtbl->get_StartPort(This,pulStartPort); +} +static inline HRESULT IWdsTransportServicePolicy_put_StartPort(IWdsTransportServicePolicy* This,ULONG ulStartPort) { + return This->lpVtbl->put_StartPort(This,ulStartPort); +} +static inline HRESULT IWdsTransportServicePolicy_get_EndPort(IWdsTransportServicePolicy* This,ULONG *pulEndPort) { + return This->lpVtbl->get_EndPort(This,pulEndPort); +} +static inline HRESULT IWdsTransportServicePolicy_put_EndPort(IWdsTransportServicePolicy* This,ULONG ulEndPort) { + return This->lpVtbl->put_EndPort(This,ulEndPort); +} +static inline HRESULT IWdsTransportServicePolicy_get_NetworkProfile(IWdsTransportServicePolicy* This,WDSTRANSPORT_NETWORK_PROFILE_TYPE *pProfileType) { + return This->lpVtbl->get_NetworkProfile(This,pProfileType); +} +static inline HRESULT IWdsTransportServicePolicy_put_NetworkProfile(IWdsTransportServicePolicy* This,WDSTRANSPORT_NETWORK_PROFILE_TYPE ProfileType) { + return This->lpVtbl->put_NetworkProfile(This,ProfileType); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportServicePolicy_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportServicePolicy2 interface + */ +#ifndef __IWdsTransportServicePolicy2_INTERFACE_DEFINED__ +#define __IWdsTransportServicePolicy2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportServicePolicy2, 0x65c19e5c, 0xaa7e, 0x4b91, 0x89,0x44, 0x91,0xe0,0xe5,0x57,0x27,0x97); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("65c19e5c-aa7e-4b91-8944-91e0e5572797") +IWdsTransportServicePolicy2 : public IWdsTransportServicePolicy +{ + virtual HRESULT STDMETHODCALLTYPE get_UdpPortPolicy( + WDSTRANSPORT_UDP_PORT_POLICY *pUdpPortPolicy) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UdpPortPolicy( + WDSTRANSPORT_UDP_PORT_POLICY UdpPortPolicy) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TftpMaximumBlockSize( + ULONG *pulTftpMaximumBlockSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_TftpMaximumBlockSize( + ULONG ulTftpMaximumBlockSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EnableTftpVariableWindowExtension( + VARIANT_BOOL *pbEnableTftpVariableWindowExtension) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_EnableTftpVariableWindowExtension( + VARIANT_BOOL bEnableTftpVariableWindowExtension) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportServicePolicy2, 0x65c19e5c, 0xaa7e, 0x4b91, 0x89,0x44, 0x91,0xe0,0xe5,0x57,0x27,0x97) +#endif +#else +typedef struct IWdsTransportServicePolicy2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportServicePolicy2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportServicePolicy2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportServicePolicy2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportServicePolicy2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportServicePolicy2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportServicePolicy2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportServicePolicy2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCacheable methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Dirty)( + IWdsTransportServicePolicy2 *This, + VARIANT_BOOL *pbDirty); + + HRESULT (STDMETHODCALLTYPE *Discard)( + IWdsTransportServicePolicy2 *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportServicePolicy2 *This); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWdsTransportServicePolicy2 *This); + + /*** IWdsTransportServicePolicy methods ***/ + HRESULT (STDMETHODCALLTYPE *get_IpAddressSource)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *pSourceType); + + HRESULT (STDMETHODCALLTYPE *put_IpAddressSource)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE SourceType); + + HRESULT (STDMETHODCALLTYPE *get_StartIpAddress)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszStartIpAddress); + + HRESULT (STDMETHODCALLTYPE *put_StartIpAddress)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszStartIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_EndIpAddress)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR *pbszEndIpAddress); + + HRESULT (STDMETHODCALLTYPE *put_EndIpAddress)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_IP_ADDRESS_TYPE AddressType, + BSTR bszEndIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_StartPort)( + IWdsTransportServicePolicy2 *This, + ULONG *pulStartPort); + + HRESULT (STDMETHODCALLTYPE *put_StartPort)( + IWdsTransportServicePolicy2 *This, + ULONG ulStartPort); + + HRESULT (STDMETHODCALLTYPE *get_EndPort)( + IWdsTransportServicePolicy2 *This, + ULONG *pulEndPort); + + HRESULT (STDMETHODCALLTYPE *put_EndPort)( + IWdsTransportServicePolicy2 *This, + ULONG ulEndPort); + + HRESULT (STDMETHODCALLTYPE *get_NetworkProfile)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_NETWORK_PROFILE_TYPE *pProfileType); + + HRESULT (STDMETHODCALLTYPE *put_NetworkProfile)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_NETWORK_PROFILE_TYPE ProfileType); + + /*** IWdsTransportServicePolicy2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UdpPortPolicy)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_UDP_PORT_POLICY *pUdpPortPolicy); + + HRESULT (STDMETHODCALLTYPE *put_UdpPortPolicy)( + IWdsTransportServicePolicy2 *This, + WDSTRANSPORT_UDP_PORT_POLICY UdpPortPolicy); + + HRESULT (STDMETHODCALLTYPE *get_TftpMaximumBlockSize)( + IWdsTransportServicePolicy2 *This, + ULONG *pulTftpMaximumBlockSize); + + HRESULT (STDMETHODCALLTYPE *put_TftpMaximumBlockSize)( + IWdsTransportServicePolicy2 *This, + ULONG ulTftpMaximumBlockSize); + + HRESULT (STDMETHODCALLTYPE *get_EnableTftpVariableWindowExtension)( + IWdsTransportServicePolicy2 *This, + VARIANT_BOOL *pbEnableTftpVariableWindowExtension); + + HRESULT (STDMETHODCALLTYPE *put_EnableTftpVariableWindowExtension)( + IWdsTransportServicePolicy2 *This, + VARIANT_BOOL bEnableTftpVariableWindowExtension); + + END_INTERFACE +} IWdsTransportServicePolicy2Vtbl; + +interface IWdsTransportServicePolicy2 { + CONST_VTBL IWdsTransportServicePolicy2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportServicePolicy2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportServicePolicy2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportServicePolicy2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportServicePolicy2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportServicePolicy2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportServicePolicy2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportServicePolicy2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCacheable methods ***/ +#define IWdsTransportServicePolicy2_get_Dirty(This,pbDirty) (This)->lpVtbl->get_Dirty(This,pbDirty) +#define IWdsTransportServicePolicy2_Discard(This) (This)->lpVtbl->Discard(This) +#define IWdsTransportServicePolicy2_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportServicePolicy2_Commit(This) (This)->lpVtbl->Commit(This) +/*** IWdsTransportServicePolicy methods ***/ +#define IWdsTransportServicePolicy2_get_IpAddressSource(This,AddressType,pSourceType) (This)->lpVtbl->get_IpAddressSource(This,AddressType,pSourceType) +#define IWdsTransportServicePolicy2_put_IpAddressSource(This,AddressType,SourceType) (This)->lpVtbl->put_IpAddressSource(This,AddressType,SourceType) +#define IWdsTransportServicePolicy2_get_StartIpAddress(This,AddressType,pbszStartIpAddress) (This)->lpVtbl->get_StartIpAddress(This,AddressType,pbszStartIpAddress) +#define IWdsTransportServicePolicy2_put_StartIpAddress(This,AddressType,bszStartIpAddress) (This)->lpVtbl->put_StartIpAddress(This,AddressType,bszStartIpAddress) +#define IWdsTransportServicePolicy2_get_EndIpAddress(This,AddressType,pbszEndIpAddress) (This)->lpVtbl->get_EndIpAddress(This,AddressType,pbszEndIpAddress) +#define IWdsTransportServicePolicy2_put_EndIpAddress(This,AddressType,bszEndIpAddress) (This)->lpVtbl->put_EndIpAddress(This,AddressType,bszEndIpAddress) +#define IWdsTransportServicePolicy2_get_StartPort(This,pulStartPort) (This)->lpVtbl->get_StartPort(This,pulStartPort) +#define IWdsTransportServicePolicy2_put_StartPort(This,ulStartPort) (This)->lpVtbl->put_StartPort(This,ulStartPort) +#define IWdsTransportServicePolicy2_get_EndPort(This,pulEndPort) (This)->lpVtbl->get_EndPort(This,pulEndPort) +#define IWdsTransportServicePolicy2_put_EndPort(This,ulEndPort) (This)->lpVtbl->put_EndPort(This,ulEndPort) +#define IWdsTransportServicePolicy2_get_NetworkProfile(This,pProfileType) (This)->lpVtbl->get_NetworkProfile(This,pProfileType) +#define IWdsTransportServicePolicy2_put_NetworkProfile(This,ProfileType) (This)->lpVtbl->put_NetworkProfile(This,ProfileType) +/*** IWdsTransportServicePolicy2 methods ***/ +#define IWdsTransportServicePolicy2_get_UdpPortPolicy(This,pUdpPortPolicy) (This)->lpVtbl->get_UdpPortPolicy(This,pUdpPortPolicy) +#define IWdsTransportServicePolicy2_put_UdpPortPolicy(This,UdpPortPolicy) (This)->lpVtbl->put_UdpPortPolicy(This,UdpPortPolicy) +#define IWdsTransportServicePolicy2_get_TftpMaximumBlockSize(This,pulTftpMaximumBlockSize) (This)->lpVtbl->get_TftpMaximumBlockSize(This,pulTftpMaximumBlockSize) +#define IWdsTransportServicePolicy2_put_TftpMaximumBlockSize(This,ulTftpMaximumBlockSize) (This)->lpVtbl->put_TftpMaximumBlockSize(This,ulTftpMaximumBlockSize) +#define IWdsTransportServicePolicy2_get_EnableTftpVariableWindowExtension(This,pbEnableTftpVariableWindowExtension) (This)->lpVtbl->get_EnableTftpVariableWindowExtension(This,pbEnableTftpVariableWindowExtension) +#define IWdsTransportServicePolicy2_put_EnableTftpVariableWindowExtension(This,bEnableTftpVariableWindowExtension) (This)->lpVtbl->put_EnableTftpVariableWindowExtension(This,bEnableTftpVariableWindowExtension) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportServicePolicy2_QueryInterface(IWdsTransportServicePolicy2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportServicePolicy2_AddRef(IWdsTransportServicePolicy2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportServicePolicy2_Release(IWdsTransportServicePolicy2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportServicePolicy2_GetTypeInfoCount(IWdsTransportServicePolicy2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportServicePolicy2_GetTypeInfo(IWdsTransportServicePolicy2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportServicePolicy2_GetIDsOfNames(IWdsTransportServicePolicy2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportServicePolicy2_Invoke(IWdsTransportServicePolicy2* 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); +} +/*** IWdsTransportCacheable methods ***/ +static inline HRESULT IWdsTransportServicePolicy2_get_Dirty(IWdsTransportServicePolicy2* This,VARIANT_BOOL *pbDirty) { + return This->lpVtbl->get_Dirty(This,pbDirty); +} +static inline HRESULT IWdsTransportServicePolicy2_Discard(IWdsTransportServicePolicy2* This) { + return This->lpVtbl->Discard(This); +} +static inline HRESULT IWdsTransportServicePolicy2_Refresh(IWdsTransportServicePolicy2* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportServicePolicy2_Commit(IWdsTransportServicePolicy2* This) { + return This->lpVtbl->Commit(This); +} +/*** IWdsTransportServicePolicy methods ***/ +static inline HRESULT IWdsTransportServicePolicy2_get_IpAddressSource(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE *pSourceType) { + return This->lpVtbl->get_IpAddressSource(This,AddressType,pSourceType); +} +static inline HRESULT IWdsTransportServicePolicy2_put_IpAddressSource(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,WDSTRANSPORT_IP_ADDRESS_SOURCE_TYPE SourceType) { + return This->lpVtbl->put_IpAddressSource(This,AddressType,SourceType); +} +static inline HRESULT IWdsTransportServicePolicy2_get_StartIpAddress(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR *pbszStartIpAddress) { + return This->lpVtbl->get_StartIpAddress(This,AddressType,pbszStartIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy2_put_StartIpAddress(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR bszStartIpAddress) { + return This->lpVtbl->put_StartIpAddress(This,AddressType,bszStartIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy2_get_EndIpAddress(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR *pbszEndIpAddress) { + return This->lpVtbl->get_EndIpAddress(This,AddressType,pbszEndIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy2_put_EndIpAddress(IWdsTransportServicePolicy2* This,WDSTRANSPORT_IP_ADDRESS_TYPE AddressType,BSTR bszEndIpAddress) { + return This->lpVtbl->put_EndIpAddress(This,AddressType,bszEndIpAddress); +} +static inline HRESULT IWdsTransportServicePolicy2_get_StartPort(IWdsTransportServicePolicy2* This,ULONG *pulStartPort) { + return This->lpVtbl->get_StartPort(This,pulStartPort); +} +static inline HRESULT IWdsTransportServicePolicy2_put_StartPort(IWdsTransportServicePolicy2* This,ULONG ulStartPort) { + return This->lpVtbl->put_StartPort(This,ulStartPort); +} +static inline HRESULT IWdsTransportServicePolicy2_get_EndPort(IWdsTransportServicePolicy2* This,ULONG *pulEndPort) { + return This->lpVtbl->get_EndPort(This,pulEndPort); +} +static inline HRESULT IWdsTransportServicePolicy2_put_EndPort(IWdsTransportServicePolicy2* This,ULONG ulEndPort) { + return This->lpVtbl->put_EndPort(This,ulEndPort); +} +static inline HRESULT IWdsTransportServicePolicy2_get_NetworkProfile(IWdsTransportServicePolicy2* This,WDSTRANSPORT_NETWORK_PROFILE_TYPE *pProfileType) { + return This->lpVtbl->get_NetworkProfile(This,pProfileType); +} +static inline HRESULT IWdsTransportServicePolicy2_put_NetworkProfile(IWdsTransportServicePolicy2* This,WDSTRANSPORT_NETWORK_PROFILE_TYPE ProfileType) { + return This->lpVtbl->put_NetworkProfile(This,ProfileType); +} +/*** IWdsTransportServicePolicy2 methods ***/ +static inline HRESULT IWdsTransportServicePolicy2_get_UdpPortPolicy(IWdsTransportServicePolicy2* This,WDSTRANSPORT_UDP_PORT_POLICY *pUdpPortPolicy) { + return This->lpVtbl->get_UdpPortPolicy(This,pUdpPortPolicy); +} +static inline HRESULT IWdsTransportServicePolicy2_put_UdpPortPolicy(IWdsTransportServicePolicy2* This,WDSTRANSPORT_UDP_PORT_POLICY UdpPortPolicy) { + return This->lpVtbl->put_UdpPortPolicy(This,UdpPortPolicy); +} +static inline HRESULT IWdsTransportServicePolicy2_get_TftpMaximumBlockSize(IWdsTransportServicePolicy2* This,ULONG *pulTftpMaximumBlockSize) { + return This->lpVtbl->get_TftpMaximumBlockSize(This,pulTftpMaximumBlockSize); +} +static inline HRESULT IWdsTransportServicePolicy2_put_TftpMaximumBlockSize(IWdsTransportServicePolicy2* This,ULONG ulTftpMaximumBlockSize) { + return This->lpVtbl->put_TftpMaximumBlockSize(This,ulTftpMaximumBlockSize); +} +static inline HRESULT IWdsTransportServicePolicy2_get_EnableTftpVariableWindowExtension(IWdsTransportServicePolicy2* This,VARIANT_BOOL *pbEnableTftpVariableWindowExtension) { + return This->lpVtbl->get_EnableTftpVariableWindowExtension(This,pbEnableTftpVariableWindowExtension); +} +static inline HRESULT IWdsTransportServicePolicy2_put_EnableTftpVariableWindowExtension(IWdsTransportServicePolicy2* This,VARIANT_BOOL bEnableTftpVariableWindowExtension) { + return This->lpVtbl->put_EnableTftpVariableWindowExtension(This,bEnableTftpVariableWindowExtension); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportServicePolicy2_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportSetupManager interface + */ +#ifndef __IWdsTransportSetupManager_INTERFACE_DEFINED__ +#define __IWdsTransportSetupManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportSetupManager, 0xf7238425, 0xefa8, 0x40a4, 0xae,0xf9, 0xc9,0x8d,0x96,0x9c,0x0b,0x75); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f7238425-efa8-40a4-aef9-c98d969c0b75") +IWdsTransportSetupManager : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Version( + ULONGLONG *pullVersion) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InstalledFeatures( + ULONG *pulInstalledFeatures) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Protocols( + ULONG *pulProtocols) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterContentProvider( + BSTR bszName, + BSTR bszDescription, + BSTR bszFilePath, + BSTR bszInitializationRoutine) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeregisterContentProvider( + BSTR bszName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportSetupManager, 0xf7238425, 0xefa8, 0x40a4, 0xae,0xf9, 0xc9,0x8d,0x96,0x9c,0x0b,0x75) +#endif +#else +typedef struct IWdsTransportSetupManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportSetupManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportSetupManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportSetupManager *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportSetupManager *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportSetupManager *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportSetupManager *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportSetupManager *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportSetupManager methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Version)( + IWdsTransportSetupManager *This, + ULONGLONG *pullVersion); + + HRESULT (STDMETHODCALLTYPE *get_InstalledFeatures)( + IWdsTransportSetupManager *This, + ULONG *pulInstalledFeatures); + + HRESULT (STDMETHODCALLTYPE *get_Protocols)( + IWdsTransportSetupManager *This, + ULONG *pulProtocols); + + HRESULT (STDMETHODCALLTYPE *RegisterContentProvider)( + IWdsTransportSetupManager *This, + BSTR bszName, + BSTR bszDescription, + BSTR bszFilePath, + BSTR bszInitializationRoutine); + + HRESULT (STDMETHODCALLTYPE *DeregisterContentProvider)( + IWdsTransportSetupManager *This, + BSTR bszName); + + END_INTERFACE +} IWdsTransportSetupManagerVtbl; + +interface IWdsTransportSetupManager { + CONST_VTBL IWdsTransportSetupManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportSetupManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportSetupManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportSetupManager_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportSetupManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportSetupManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportSetupManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportSetupManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportSetupManager methods ***/ +#define IWdsTransportSetupManager_get_Version(This,pullVersion) (This)->lpVtbl->get_Version(This,pullVersion) +#define IWdsTransportSetupManager_get_InstalledFeatures(This,pulInstalledFeatures) (This)->lpVtbl->get_InstalledFeatures(This,pulInstalledFeatures) +#define IWdsTransportSetupManager_get_Protocols(This,pulProtocols) (This)->lpVtbl->get_Protocols(This,pulProtocols) +#define IWdsTransportSetupManager_RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine) (This)->lpVtbl->RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine) +#define IWdsTransportSetupManager_DeregisterContentProvider(This,bszName) (This)->lpVtbl->DeregisterContentProvider(This,bszName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportSetupManager_QueryInterface(IWdsTransportSetupManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportSetupManager_AddRef(IWdsTransportSetupManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportSetupManager_Release(IWdsTransportSetupManager* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportSetupManager_GetTypeInfoCount(IWdsTransportSetupManager* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportSetupManager_GetTypeInfo(IWdsTransportSetupManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportSetupManager_GetIDsOfNames(IWdsTransportSetupManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportSetupManager_Invoke(IWdsTransportSetupManager* 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); +} +/*** IWdsTransportSetupManager methods ***/ +static inline HRESULT IWdsTransportSetupManager_get_Version(IWdsTransportSetupManager* This,ULONGLONG *pullVersion) { + return This->lpVtbl->get_Version(This,pullVersion); +} +static inline HRESULT IWdsTransportSetupManager_get_InstalledFeatures(IWdsTransportSetupManager* This,ULONG *pulInstalledFeatures) { + return This->lpVtbl->get_InstalledFeatures(This,pulInstalledFeatures); +} +static inline HRESULT IWdsTransportSetupManager_get_Protocols(IWdsTransportSetupManager* This,ULONG *pulProtocols) { + return This->lpVtbl->get_Protocols(This,pulProtocols); +} +static inline HRESULT IWdsTransportSetupManager_RegisterContentProvider(IWdsTransportSetupManager* This,BSTR bszName,BSTR bszDescription,BSTR bszFilePath,BSTR bszInitializationRoutine) { + return This->lpVtbl->RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine); +} +static inline HRESULT IWdsTransportSetupManager_DeregisterContentProvider(IWdsTransportSetupManager* This,BSTR bszName) { + return This->lpVtbl->DeregisterContentProvider(This,bszName); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportSetupManager_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportSetupManager2 interface + */ +#ifndef __IWdsTransportSetupManager2_INTERFACE_DEFINED__ +#define __IWdsTransportSetupManager2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportSetupManager2, 0x02be79da, 0x7e9e, 0x4366, 0x8b,0x6e, 0x2a,0xa9,0xa9,0x1b,0xe4,0x7f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("02be79da-7e9e-4366-8b6e-2aa9a91be47f") +IWdsTransportSetupManager2 : public IWdsTransportSetupManager +{ + virtual HRESULT STDMETHODCALLTYPE get_TftpCapabilities( + ULONG *pulTftpCapabilities) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ContentProviders( + IWdsTransportCollection **ppProviderCollection) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportSetupManager2, 0x02be79da, 0x7e9e, 0x4366, 0x8b,0x6e, 0x2a,0xa9,0xa9,0x1b,0xe4,0x7f) +#endif +#else +typedef struct IWdsTransportSetupManager2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportSetupManager2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportSetupManager2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportSetupManager2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportSetupManager2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportSetupManager2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportSetupManager2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportSetupManager2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportSetupManager methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Version)( + IWdsTransportSetupManager2 *This, + ULONGLONG *pullVersion); + + HRESULT (STDMETHODCALLTYPE *get_InstalledFeatures)( + IWdsTransportSetupManager2 *This, + ULONG *pulInstalledFeatures); + + HRESULT (STDMETHODCALLTYPE *get_Protocols)( + IWdsTransportSetupManager2 *This, + ULONG *pulProtocols); + + HRESULT (STDMETHODCALLTYPE *RegisterContentProvider)( + IWdsTransportSetupManager2 *This, + BSTR bszName, + BSTR bszDescription, + BSTR bszFilePath, + BSTR bszInitializationRoutine); + + HRESULT (STDMETHODCALLTYPE *DeregisterContentProvider)( + IWdsTransportSetupManager2 *This, + BSTR bszName); + + /*** IWdsTransportSetupManager2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_TftpCapabilities)( + IWdsTransportSetupManager2 *This, + ULONG *pulTftpCapabilities); + + HRESULT (STDMETHODCALLTYPE *get_ContentProviders)( + IWdsTransportSetupManager2 *This, + IWdsTransportCollection **ppProviderCollection); + + END_INTERFACE +} IWdsTransportSetupManager2Vtbl; + +interface IWdsTransportSetupManager2 { + CONST_VTBL IWdsTransportSetupManager2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportSetupManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportSetupManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportSetupManager2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportSetupManager2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportSetupManager2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportSetupManager2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportSetupManager2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportSetupManager methods ***/ +#define IWdsTransportSetupManager2_get_Version(This,pullVersion) (This)->lpVtbl->get_Version(This,pullVersion) +#define IWdsTransportSetupManager2_get_InstalledFeatures(This,pulInstalledFeatures) (This)->lpVtbl->get_InstalledFeatures(This,pulInstalledFeatures) +#define IWdsTransportSetupManager2_get_Protocols(This,pulProtocols) (This)->lpVtbl->get_Protocols(This,pulProtocols) +#define IWdsTransportSetupManager2_RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine) (This)->lpVtbl->RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine) +#define IWdsTransportSetupManager2_DeregisterContentProvider(This,bszName) (This)->lpVtbl->DeregisterContentProvider(This,bszName) +/*** IWdsTransportSetupManager2 methods ***/ +#define IWdsTransportSetupManager2_get_TftpCapabilities(This,pulTftpCapabilities) (This)->lpVtbl->get_TftpCapabilities(This,pulTftpCapabilities) +#define IWdsTransportSetupManager2_get_ContentProviders(This,ppProviderCollection) (This)->lpVtbl->get_ContentProviders(This,ppProviderCollection) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportSetupManager2_QueryInterface(IWdsTransportSetupManager2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportSetupManager2_AddRef(IWdsTransportSetupManager2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportSetupManager2_Release(IWdsTransportSetupManager2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportSetupManager2_GetTypeInfoCount(IWdsTransportSetupManager2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportSetupManager2_GetTypeInfo(IWdsTransportSetupManager2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportSetupManager2_GetIDsOfNames(IWdsTransportSetupManager2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportSetupManager2_Invoke(IWdsTransportSetupManager2* 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); +} +/*** IWdsTransportSetupManager methods ***/ +static inline HRESULT IWdsTransportSetupManager2_get_Version(IWdsTransportSetupManager2* This,ULONGLONG *pullVersion) { + return This->lpVtbl->get_Version(This,pullVersion); +} +static inline HRESULT IWdsTransportSetupManager2_get_InstalledFeatures(IWdsTransportSetupManager2* This,ULONG *pulInstalledFeatures) { + return This->lpVtbl->get_InstalledFeatures(This,pulInstalledFeatures); +} +static inline HRESULT IWdsTransportSetupManager2_get_Protocols(IWdsTransportSetupManager2* This,ULONG *pulProtocols) { + return This->lpVtbl->get_Protocols(This,pulProtocols); +} +static inline HRESULT IWdsTransportSetupManager2_RegisterContentProvider(IWdsTransportSetupManager2* This,BSTR bszName,BSTR bszDescription,BSTR bszFilePath,BSTR bszInitializationRoutine) { + return This->lpVtbl->RegisterContentProvider(This,bszName,bszDescription,bszFilePath,bszInitializationRoutine); +} +static inline HRESULT IWdsTransportSetupManager2_DeregisterContentProvider(IWdsTransportSetupManager2* This,BSTR bszName) { + return This->lpVtbl->DeregisterContentProvider(This,bszName); +} +/*** IWdsTransportSetupManager2 methods ***/ +static inline HRESULT IWdsTransportSetupManager2_get_TftpCapabilities(IWdsTransportSetupManager2* This,ULONG *pulTftpCapabilities) { + return This->lpVtbl->get_TftpCapabilities(This,pulTftpCapabilities); +} +static inline HRESULT IWdsTransportSetupManager2_get_ContentProviders(IWdsTransportSetupManager2* This,IWdsTransportCollection **ppProviderCollection) { + return This->lpVtbl->get_ContentProviders(This,ppProviderCollection); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportSetupManager2_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportTftpManager interface + */ +#ifndef __IWdsTransportTftpManager_INTERFACE_DEFINED__ +#define __IWdsTransportTftpManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportTftpManager, 0x1327a7c8, 0xae8a, 0x4fb3, 0x81,0x50, 0x13,0x62,0x27,0xc3,0x7e,0x9a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1327a7c8-ae8a-4fb3-8150-136227c37e9a") +IWdsTransportTftpManager : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE RetrieveTftpClients( + IWdsTransportCollection **ppWdsTransportTftpClients) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportTftpManager, 0x1327a7c8, 0xae8a, 0x4fb3, 0x81,0x50, 0x13,0x62,0x27,0xc3,0x7e,0x9a) +#endif +#else +typedef struct IWdsTransportTftpManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportTftpManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportTftpManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportTftpManager *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportTftpManager *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportTftpManager *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportTftpManager *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportTftpManager *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportTftpManager methods ***/ + HRESULT (STDMETHODCALLTYPE *RetrieveTftpClients)( + IWdsTransportTftpManager *This, + IWdsTransportCollection **ppWdsTransportTftpClients); + + END_INTERFACE +} IWdsTransportTftpManagerVtbl; + +interface IWdsTransportTftpManager { + CONST_VTBL IWdsTransportTftpManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportTftpManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportTftpManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportTftpManager_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportTftpManager_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportTftpManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportTftpManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportTftpManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportTftpManager methods ***/ +#define IWdsTransportTftpManager_RetrieveTftpClients(This,ppWdsTransportTftpClients) (This)->lpVtbl->RetrieveTftpClients(This,ppWdsTransportTftpClients) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportTftpManager_QueryInterface(IWdsTransportTftpManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportTftpManager_AddRef(IWdsTransportTftpManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportTftpManager_Release(IWdsTransportTftpManager* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportTftpManager_GetTypeInfoCount(IWdsTransportTftpManager* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportTftpManager_GetTypeInfo(IWdsTransportTftpManager* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportTftpManager_GetIDsOfNames(IWdsTransportTftpManager* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportTftpManager_Invoke(IWdsTransportTftpManager* 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); +} +/*** IWdsTransportTftpManager methods ***/ +static inline HRESULT IWdsTransportTftpManager_RetrieveTftpClients(IWdsTransportTftpManager* This,IWdsTransportCollection **ppWdsTransportTftpClients) { + return This->lpVtbl->RetrieveTftpClients(This,ppWdsTransportTftpClients); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportTftpManager_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportMulticastSessionPolicy interface + */ +#ifndef __IWdsTransportMulticastSessionPolicy_INTERFACE_DEFINED__ +#define __IWdsTransportMulticastSessionPolicy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportMulticastSessionPolicy, 0x4e5753cf, 0x68ec, 0x4504, 0xa9,0x51, 0x4a,0x00,0x32,0x66,0x60,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4e5753cf-68ec-4504-a951-4a003266606b") +IWdsTransportMulticastSessionPolicy : public IWdsTransportCacheable +{ + virtual HRESULT STDMETHODCALLTYPE get_SlowClientHandling( + WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE *pSlowClientHandling) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SlowClientHandling( + WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE SlowClientHandling) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AutoDisconnectThreshold( + ULONG *pulThreshold) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AutoDisconnectThreshold( + ULONG ulThreshold) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MultistreamStreamCount( + ULONG *pulStreamCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MultistreamStreamCount( + ULONG ulStreamCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SlowClientFallback( + VARIANT_BOOL *pbClientFallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SlowClientFallback( + VARIANT_BOOL bClientFallback) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportMulticastSessionPolicy, 0x4e5753cf, 0x68ec, 0x4504, 0xa9,0x51, 0x4a,0x00,0x32,0x66,0x60,0x6b) +#endif +#else +typedef struct IWdsTransportMulticastSessionPolicyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportMulticastSessionPolicy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportMulticastSessionPolicy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportMulticastSessionPolicy *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportMulticastSessionPolicy *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportMulticastSessionPolicy *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportMulticastSessionPolicy *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportMulticastSessionPolicy *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportCacheable methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Dirty)( + IWdsTransportMulticastSessionPolicy *This, + VARIANT_BOOL *pbDirty); + + HRESULT (STDMETHODCALLTYPE *Discard)( + IWdsTransportMulticastSessionPolicy *This); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IWdsTransportMulticastSessionPolicy *This); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWdsTransportMulticastSessionPolicy *This); + + /*** IWdsTransportMulticastSessionPolicy methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SlowClientHandling)( + IWdsTransportMulticastSessionPolicy *This, + WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE *pSlowClientHandling); + + HRESULT (STDMETHODCALLTYPE *put_SlowClientHandling)( + IWdsTransportMulticastSessionPolicy *This, + WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE SlowClientHandling); + + HRESULT (STDMETHODCALLTYPE *get_AutoDisconnectThreshold)( + IWdsTransportMulticastSessionPolicy *This, + ULONG *pulThreshold); + + HRESULT (STDMETHODCALLTYPE *put_AutoDisconnectThreshold)( + IWdsTransportMulticastSessionPolicy *This, + ULONG ulThreshold); + + HRESULT (STDMETHODCALLTYPE *get_MultistreamStreamCount)( + IWdsTransportMulticastSessionPolicy *This, + ULONG *pulStreamCount); + + HRESULT (STDMETHODCALLTYPE *put_MultistreamStreamCount)( + IWdsTransportMulticastSessionPolicy *This, + ULONG ulStreamCount); + + HRESULT (STDMETHODCALLTYPE *get_SlowClientFallback)( + IWdsTransportMulticastSessionPolicy *This, + VARIANT_BOOL *pbClientFallback); + + HRESULT (STDMETHODCALLTYPE *put_SlowClientFallback)( + IWdsTransportMulticastSessionPolicy *This, + VARIANT_BOOL bClientFallback); + + END_INTERFACE +} IWdsTransportMulticastSessionPolicyVtbl; + +interface IWdsTransportMulticastSessionPolicy { + CONST_VTBL IWdsTransportMulticastSessionPolicyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportMulticastSessionPolicy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportMulticastSessionPolicy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportMulticastSessionPolicy_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportMulticastSessionPolicy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportMulticastSessionPolicy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportMulticastSessionPolicy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportMulticastSessionPolicy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportCacheable methods ***/ +#define IWdsTransportMulticastSessionPolicy_get_Dirty(This,pbDirty) (This)->lpVtbl->get_Dirty(This,pbDirty) +#define IWdsTransportMulticastSessionPolicy_Discard(This) (This)->lpVtbl->Discard(This) +#define IWdsTransportMulticastSessionPolicy_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IWdsTransportMulticastSessionPolicy_Commit(This) (This)->lpVtbl->Commit(This) +/*** IWdsTransportMulticastSessionPolicy methods ***/ +#define IWdsTransportMulticastSessionPolicy_get_SlowClientHandling(This,pSlowClientHandling) (This)->lpVtbl->get_SlowClientHandling(This,pSlowClientHandling) +#define IWdsTransportMulticastSessionPolicy_put_SlowClientHandling(This,SlowClientHandling) (This)->lpVtbl->put_SlowClientHandling(This,SlowClientHandling) +#define IWdsTransportMulticastSessionPolicy_get_AutoDisconnectThreshold(This,pulThreshold) (This)->lpVtbl->get_AutoDisconnectThreshold(This,pulThreshold) +#define IWdsTransportMulticastSessionPolicy_put_AutoDisconnectThreshold(This,ulThreshold) (This)->lpVtbl->put_AutoDisconnectThreshold(This,ulThreshold) +#define IWdsTransportMulticastSessionPolicy_get_MultistreamStreamCount(This,pulStreamCount) (This)->lpVtbl->get_MultistreamStreamCount(This,pulStreamCount) +#define IWdsTransportMulticastSessionPolicy_put_MultistreamStreamCount(This,ulStreamCount) (This)->lpVtbl->put_MultistreamStreamCount(This,ulStreamCount) +#define IWdsTransportMulticastSessionPolicy_get_SlowClientFallback(This,pbClientFallback) (This)->lpVtbl->get_SlowClientFallback(This,pbClientFallback) +#define IWdsTransportMulticastSessionPolicy_put_SlowClientFallback(This,bClientFallback) (This)->lpVtbl->put_SlowClientFallback(This,bClientFallback) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportMulticastSessionPolicy_QueryInterface(IWdsTransportMulticastSessionPolicy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportMulticastSessionPolicy_AddRef(IWdsTransportMulticastSessionPolicy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportMulticastSessionPolicy_Release(IWdsTransportMulticastSessionPolicy* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportMulticastSessionPolicy_GetTypeInfoCount(IWdsTransportMulticastSessionPolicy* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_GetTypeInfo(IWdsTransportMulticastSessionPolicy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_GetIDsOfNames(IWdsTransportMulticastSessionPolicy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_Invoke(IWdsTransportMulticastSessionPolicy* 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); +} +/*** IWdsTransportCacheable methods ***/ +static inline HRESULT IWdsTransportMulticastSessionPolicy_get_Dirty(IWdsTransportMulticastSessionPolicy* This,VARIANT_BOOL *pbDirty) { + return This->lpVtbl->get_Dirty(This,pbDirty); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_Discard(IWdsTransportMulticastSessionPolicy* This) { + return This->lpVtbl->Discard(This); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_Refresh(IWdsTransportMulticastSessionPolicy* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_Commit(IWdsTransportMulticastSessionPolicy* This) { + return This->lpVtbl->Commit(This); +} +/*** IWdsTransportMulticastSessionPolicy methods ***/ +static inline HRESULT IWdsTransportMulticastSessionPolicy_get_SlowClientHandling(IWdsTransportMulticastSessionPolicy* This,WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE *pSlowClientHandling) { + return This->lpVtbl->get_SlowClientHandling(This,pSlowClientHandling); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_put_SlowClientHandling(IWdsTransportMulticastSessionPolicy* This,WDSTRANSPORT_SLOW_CLIENT_HANDLING_TYPE SlowClientHandling) { + return This->lpVtbl->put_SlowClientHandling(This,SlowClientHandling); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_get_AutoDisconnectThreshold(IWdsTransportMulticastSessionPolicy* This,ULONG *pulThreshold) { + return This->lpVtbl->get_AutoDisconnectThreshold(This,pulThreshold); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_put_AutoDisconnectThreshold(IWdsTransportMulticastSessionPolicy* This,ULONG ulThreshold) { + return This->lpVtbl->put_AutoDisconnectThreshold(This,ulThreshold); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_get_MultistreamStreamCount(IWdsTransportMulticastSessionPolicy* This,ULONG *pulStreamCount) { + return This->lpVtbl->get_MultistreamStreamCount(This,pulStreamCount); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_put_MultistreamStreamCount(IWdsTransportMulticastSessionPolicy* This,ULONG ulStreamCount) { + return This->lpVtbl->put_MultistreamStreamCount(This,ulStreamCount); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_get_SlowClientFallback(IWdsTransportMulticastSessionPolicy* This,VARIANT_BOOL *pbClientFallback) { + return This->lpVtbl->get_SlowClientFallback(This,pbClientFallback); +} +static inline HRESULT IWdsTransportMulticastSessionPolicy_put_SlowClientFallback(IWdsTransportMulticastSessionPolicy* This,VARIANT_BOOL bClientFallback) { + return This->lpVtbl->put_SlowClientFallback(This,bClientFallback); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportMulticastSessionPolicy_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportContent interface + */ +#ifndef __IWdsTransportContent_INTERFACE_DEFINED__ +#define __IWdsTransportContent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportContent, 0xd405d711, 0x0296, 0x4ab4, 0xa8,0x60, 0xac,0x7d,0x32,0xe6,0x57,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d405d711-0296-4ab4-a860-ac7d32e65798") +IWdsTransportContent : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Namespace( + IWdsTransportNamespace **ppWdsTransportNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + ULONG *pulId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pbszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveSessions( + IWdsTransportCollection **ppWdsTransportSessions) = 0; + + virtual HRESULT STDMETHODCALLTYPE Terminate( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportContent, 0xd405d711, 0x0296, 0x4ab4, 0xa8,0x60, 0xac,0x7d,0x32,0xe6,0x57,0x98) +#endif +#else +typedef struct IWdsTransportContentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportContent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportContent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportContent *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportContent *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportContent *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportContent *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportContent *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportContent methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Namespace)( + IWdsTransportContent *This, + IWdsTransportNamespace **ppWdsTransportNamespace); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportContent *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportContent *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *RetrieveSessions)( + IWdsTransportContent *This, + IWdsTransportCollection **ppWdsTransportSessions); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IWdsTransportContent *This); + + END_INTERFACE +} IWdsTransportContentVtbl; + +interface IWdsTransportContent { + CONST_VTBL IWdsTransportContentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportContent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportContent_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportContent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportContent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportContent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportContent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportContent methods ***/ +#define IWdsTransportContent_get_Namespace(This,ppWdsTransportNamespace) (This)->lpVtbl->get_Namespace(This,ppWdsTransportNamespace) +#define IWdsTransportContent_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportContent_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportContent_RetrieveSessions(This,ppWdsTransportSessions) (This)->lpVtbl->RetrieveSessions(This,ppWdsTransportSessions) +#define IWdsTransportContent_Terminate(This) (This)->lpVtbl->Terminate(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportContent_QueryInterface(IWdsTransportContent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportContent_AddRef(IWdsTransportContent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportContent_Release(IWdsTransportContent* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportContent_GetTypeInfoCount(IWdsTransportContent* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportContent_GetTypeInfo(IWdsTransportContent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportContent_GetIDsOfNames(IWdsTransportContent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportContent_Invoke(IWdsTransportContent* 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); +} +/*** IWdsTransportContent methods ***/ +static inline HRESULT IWdsTransportContent_get_Namespace(IWdsTransportContent* This,IWdsTransportNamespace **ppWdsTransportNamespace) { + return This->lpVtbl->get_Namespace(This,ppWdsTransportNamespace); +} +static inline HRESULT IWdsTransportContent_get_Id(IWdsTransportContent* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportContent_get_Name(IWdsTransportContent* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportContent_RetrieveSessions(IWdsTransportContent* This,IWdsTransportCollection **ppWdsTransportSessions) { + return This->lpVtbl->RetrieveSessions(This,ppWdsTransportSessions); +} +static inline HRESULT IWdsTransportContent_Terminate(IWdsTransportContent* This) { + return This->lpVtbl->Terminate(This); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportContent_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportSession interface + */ +#ifndef __IWdsTransportSession_INTERFACE_DEFINED__ +#define __IWdsTransportSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportSession, 0xf4efea88, 0x65b1, 0x4f30, 0xa4,0xb9, 0x27,0x93,0x98,0x77,0x96,0xfb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f4efea88-65b1-4f30-a4b9-2793987796fb") +IWdsTransportSession : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Content( + IWdsTransportContent **ppWdsTransportContent) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + ULONG *pulId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkInterfaceName( + BSTR *pbszNetworkInterfaceName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkInterfaceAddress( + BSTR *pbszNetworkInterfaceAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TransferRate( + ULONG *pulTransferRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MasterClientId( + ULONG *pulMasterClientId) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetrieveClients( + IWdsTransportCollection **ppWdsTransportClients) = 0; + + virtual HRESULT STDMETHODCALLTYPE Terminate( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportSession, 0xf4efea88, 0x65b1, 0x4f30, 0xa4,0xb9, 0x27,0x93,0x98,0x77,0x96,0xfb) +#endif +#else +typedef struct IWdsTransportSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportSession *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportSession *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportSession *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportSession *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportSession *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportSession methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Content)( + IWdsTransportSession *This, + IWdsTransportContent **ppWdsTransportContent); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportSession *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_NetworkInterfaceName)( + IWdsTransportSession *This, + BSTR *pbszNetworkInterfaceName); + + HRESULT (STDMETHODCALLTYPE *get_NetworkInterfaceAddress)( + IWdsTransportSession *This, + BSTR *pbszNetworkInterfaceAddress); + + HRESULT (STDMETHODCALLTYPE *get_TransferRate)( + IWdsTransportSession *This, + ULONG *pulTransferRate); + + HRESULT (STDMETHODCALLTYPE *get_MasterClientId)( + IWdsTransportSession *This, + ULONG *pulMasterClientId); + + HRESULT (STDMETHODCALLTYPE *RetrieveClients)( + IWdsTransportSession *This, + IWdsTransportCollection **ppWdsTransportClients); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IWdsTransportSession *This); + + END_INTERFACE +} IWdsTransportSessionVtbl; + +interface IWdsTransportSession { + CONST_VTBL IWdsTransportSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportSession_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportSession methods ***/ +#define IWdsTransportSession_get_Content(This,ppWdsTransportContent) (This)->lpVtbl->get_Content(This,ppWdsTransportContent) +#define IWdsTransportSession_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportSession_get_NetworkInterfaceName(This,pbszNetworkInterfaceName) (This)->lpVtbl->get_NetworkInterfaceName(This,pbszNetworkInterfaceName) +#define IWdsTransportSession_get_NetworkInterfaceAddress(This,pbszNetworkInterfaceAddress) (This)->lpVtbl->get_NetworkInterfaceAddress(This,pbszNetworkInterfaceAddress) +#define IWdsTransportSession_get_TransferRate(This,pulTransferRate) (This)->lpVtbl->get_TransferRate(This,pulTransferRate) +#define IWdsTransportSession_get_MasterClientId(This,pulMasterClientId) (This)->lpVtbl->get_MasterClientId(This,pulMasterClientId) +#define IWdsTransportSession_RetrieveClients(This,ppWdsTransportClients) (This)->lpVtbl->RetrieveClients(This,ppWdsTransportClients) +#define IWdsTransportSession_Terminate(This) (This)->lpVtbl->Terminate(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportSession_QueryInterface(IWdsTransportSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportSession_AddRef(IWdsTransportSession* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportSession_Release(IWdsTransportSession* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportSession_GetTypeInfoCount(IWdsTransportSession* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportSession_GetTypeInfo(IWdsTransportSession* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportSession_GetIDsOfNames(IWdsTransportSession* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportSession_Invoke(IWdsTransportSession* 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); +} +/*** IWdsTransportSession methods ***/ +static inline HRESULT IWdsTransportSession_get_Content(IWdsTransportSession* This,IWdsTransportContent **ppWdsTransportContent) { + return This->lpVtbl->get_Content(This,ppWdsTransportContent); +} +static inline HRESULT IWdsTransportSession_get_Id(IWdsTransportSession* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportSession_get_NetworkInterfaceName(IWdsTransportSession* This,BSTR *pbszNetworkInterfaceName) { + return This->lpVtbl->get_NetworkInterfaceName(This,pbszNetworkInterfaceName); +} +static inline HRESULT IWdsTransportSession_get_NetworkInterfaceAddress(IWdsTransportSession* This,BSTR *pbszNetworkInterfaceAddress) { + return This->lpVtbl->get_NetworkInterfaceAddress(This,pbszNetworkInterfaceAddress); +} +static inline HRESULT IWdsTransportSession_get_TransferRate(IWdsTransportSession* This,ULONG *pulTransferRate) { + return This->lpVtbl->get_TransferRate(This,pulTransferRate); +} +static inline HRESULT IWdsTransportSession_get_MasterClientId(IWdsTransportSession* This,ULONG *pulMasterClientId) { + return This->lpVtbl->get_MasterClientId(This,pulMasterClientId); +} +static inline HRESULT IWdsTransportSession_RetrieveClients(IWdsTransportSession* This,IWdsTransportCollection **ppWdsTransportClients) { + return This->lpVtbl->RetrieveClients(This,ppWdsTransportClients); +} +static inline HRESULT IWdsTransportSession_Terminate(IWdsTransportSession* This) { + return This->lpVtbl->Terminate(This); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportSession_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportClient interface + */ +#ifndef __IWdsTransportClient_INTERFACE_DEFINED__ +#define __IWdsTransportClient_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportClient, 0xb5dbc93a, 0xcabe, 0x46ca, 0x83,0x7f, 0x3e,0x44,0xe9,0x3c,0x65,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b5dbc93a-cabe-46ca-837f-3e44e93c6545") +IWdsTransportClient : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Session( + IWdsTransportSession **ppWdsTransportSession) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Id( + ULONG *pulId) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pbszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MacAddress( + BSTR *pbszMacAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IpAddress( + BSTR *pbszIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PercentCompletion( + ULONG *pulPercentCompletion) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_JoinDuration( + ULONG *pulJoinDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CpuUtilization( + ULONG *pulCpuUtilization) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MemoryUtilization( + ULONG *pulMemoryUtilization) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_NetworkUtilization( + ULONG *pulNetworkUtilization) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UserIdentity( + BSTR *pbszUserIdentity) = 0; + + virtual HRESULT STDMETHODCALLTYPE Disconnect( + WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportClient, 0xb5dbc93a, 0xcabe, 0x46ca, 0x83,0x7f, 0x3e,0x44,0xe9,0x3c,0x65,0x45) +#endif +#else +typedef struct IWdsTransportClientVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportClient *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportClient *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportClient *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportClient *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportClient *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportClient *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportClient *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportClient methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Session)( + IWdsTransportClient *This, + IWdsTransportSession **ppWdsTransportSession); + + HRESULT (STDMETHODCALLTYPE *get_Id)( + IWdsTransportClient *This, + ULONG *pulId); + + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportClient *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *get_MacAddress)( + IWdsTransportClient *This, + BSTR *pbszMacAddress); + + HRESULT (STDMETHODCALLTYPE *get_IpAddress)( + IWdsTransportClient *This, + BSTR *pbszIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_PercentCompletion)( + IWdsTransportClient *This, + ULONG *pulPercentCompletion); + + HRESULT (STDMETHODCALLTYPE *get_JoinDuration)( + IWdsTransportClient *This, + ULONG *pulJoinDuration); + + HRESULT (STDMETHODCALLTYPE *get_CpuUtilization)( + IWdsTransportClient *This, + ULONG *pulCpuUtilization); + + HRESULT (STDMETHODCALLTYPE *get_MemoryUtilization)( + IWdsTransportClient *This, + ULONG *pulMemoryUtilization); + + HRESULT (STDMETHODCALLTYPE *get_NetworkUtilization)( + IWdsTransportClient *This, + ULONG *pulNetworkUtilization); + + HRESULT (STDMETHODCALLTYPE *get_UserIdentity)( + IWdsTransportClient *This, + BSTR *pbszUserIdentity); + + HRESULT (STDMETHODCALLTYPE *Disconnect)( + IWdsTransportClient *This, + WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType); + + END_INTERFACE +} IWdsTransportClientVtbl; + +interface IWdsTransportClient { + CONST_VTBL IWdsTransportClientVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportClient_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportClient_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportClient_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportClient methods ***/ +#define IWdsTransportClient_get_Session(This,ppWdsTransportSession) (This)->lpVtbl->get_Session(This,ppWdsTransportSession) +#define IWdsTransportClient_get_Id(This,pulId) (This)->lpVtbl->get_Id(This,pulId) +#define IWdsTransportClient_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportClient_get_MacAddress(This,pbszMacAddress) (This)->lpVtbl->get_MacAddress(This,pbszMacAddress) +#define IWdsTransportClient_get_IpAddress(This,pbszIpAddress) (This)->lpVtbl->get_IpAddress(This,pbszIpAddress) +#define IWdsTransportClient_get_PercentCompletion(This,pulPercentCompletion) (This)->lpVtbl->get_PercentCompletion(This,pulPercentCompletion) +#define IWdsTransportClient_get_JoinDuration(This,pulJoinDuration) (This)->lpVtbl->get_JoinDuration(This,pulJoinDuration) +#define IWdsTransportClient_get_CpuUtilization(This,pulCpuUtilization) (This)->lpVtbl->get_CpuUtilization(This,pulCpuUtilization) +#define IWdsTransportClient_get_MemoryUtilization(This,pulMemoryUtilization) (This)->lpVtbl->get_MemoryUtilization(This,pulMemoryUtilization) +#define IWdsTransportClient_get_NetworkUtilization(This,pulNetworkUtilization) (This)->lpVtbl->get_NetworkUtilization(This,pulNetworkUtilization) +#define IWdsTransportClient_get_UserIdentity(This,pbszUserIdentity) (This)->lpVtbl->get_UserIdentity(This,pbszUserIdentity) +#define IWdsTransportClient_Disconnect(This,DisconnectionType) (This)->lpVtbl->Disconnect(This,DisconnectionType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportClient_QueryInterface(IWdsTransportClient* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportClient_AddRef(IWdsTransportClient* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportClient_Release(IWdsTransportClient* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportClient_GetTypeInfoCount(IWdsTransportClient* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportClient_GetTypeInfo(IWdsTransportClient* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportClient_GetIDsOfNames(IWdsTransportClient* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportClient_Invoke(IWdsTransportClient* 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); +} +/*** IWdsTransportClient methods ***/ +static inline HRESULT IWdsTransportClient_get_Session(IWdsTransportClient* This,IWdsTransportSession **ppWdsTransportSession) { + return This->lpVtbl->get_Session(This,ppWdsTransportSession); +} +static inline HRESULT IWdsTransportClient_get_Id(IWdsTransportClient* This,ULONG *pulId) { + return This->lpVtbl->get_Id(This,pulId); +} +static inline HRESULT IWdsTransportClient_get_Name(IWdsTransportClient* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportClient_get_MacAddress(IWdsTransportClient* This,BSTR *pbszMacAddress) { + return This->lpVtbl->get_MacAddress(This,pbszMacAddress); +} +static inline HRESULT IWdsTransportClient_get_IpAddress(IWdsTransportClient* This,BSTR *pbszIpAddress) { + return This->lpVtbl->get_IpAddress(This,pbszIpAddress); +} +static inline HRESULT IWdsTransportClient_get_PercentCompletion(IWdsTransportClient* This,ULONG *pulPercentCompletion) { + return This->lpVtbl->get_PercentCompletion(This,pulPercentCompletion); +} +static inline HRESULT IWdsTransportClient_get_JoinDuration(IWdsTransportClient* This,ULONG *pulJoinDuration) { + return This->lpVtbl->get_JoinDuration(This,pulJoinDuration); +} +static inline HRESULT IWdsTransportClient_get_CpuUtilization(IWdsTransportClient* This,ULONG *pulCpuUtilization) { + return This->lpVtbl->get_CpuUtilization(This,pulCpuUtilization); +} +static inline HRESULT IWdsTransportClient_get_MemoryUtilization(IWdsTransportClient* This,ULONG *pulMemoryUtilization) { + return This->lpVtbl->get_MemoryUtilization(This,pulMemoryUtilization); +} +static inline HRESULT IWdsTransportClient_get_NetworkUtilization(IWdsTransportClient* This,ULONG *pulNetworkUtilization) { + return This->lpVtbl->get_NetworkUtilization(This,pulNetworkUtilization); +} +static inline HRESULT IWdsTransportClient_get_UserIdentity(IWdsTransportClient* This,BSTR *pbszUserIdentity) { + return This->lpVtbl->get_UserIdentity(This,pbszUserIdentity); +} +static inline HRESULT IWdsTransportClient_Disconnect(IWdsTransportClient* This,WDSTRANSPORT_DISCONNECT_TYPE DisconnectionType) { + return This->lpVtbl->Disconnect(This,DisconnectionType); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportClient_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportTftpClient interface + */ +#ifndef __IWdsTransportTftpClient_INTERFACE_DEFINED__ +#define __IWdsTransportTftpClient_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportTftpClient, 0xb022d3ae, 0x884d, 0x4d85, 0xb1,0x46, 0x53,0x32,0x0e,0x76,0xef,0x62); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b022d3ae-884d-4d85-b146-53320e76ef62") +IWdsTransportTftpClient : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_FileName( + BSTR *pbszFileName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IpAddress( + BSTR *pbszIpAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Timeout( + ULONG *pulTimeout) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentFileOffset( + ULONG64 *pul64CurrentOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FileSize( + ULONG64 *pul64FileSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BlockSize( + ULONG *pulBlockSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WindowSize( + ULONG *pulWindowSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportTftpClient, 0xb022d3ae, 0x884d, 0x4d85, 0xb1,0x46, 0x53,0x32,0x0e,0x76,0xef,0x62) +#endif +#else +typedef struct IWdsTransportTftpClientVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportTftpClient *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportTftpClient *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportTftpClient *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportTftpClient *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportTftpClient *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportTftpClient *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportTftpClient *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportTftpClient methods ***/ + HRESULT (STDMETHODCALLTYPE *get_FileName)( + IWdsTransportTftpClient *This, + BSTR *pbszFileName); + + HRESULT (STDMETHODCALLTYPE *get_IpAddress)( + IWdsTransportTftpClient *This, + BSTR *pbszIpAddress); + + HRESULT (STDMETHODCALLTYPE *get_Timeout)( + IWdsTransportTftpClient *This, + ULONG *pulTimeout); + + HRESULT (STDMETHODCALLTYPE *get_CurrentFileOffset)( + IWdsTransportTftpClient *This, + ULONG64 *pul64CurrentOffset); + + HRESULT (STDMETHODCALLTYPE *get_FileSize)( + IWdsTransportTftpClient *This, + ULONG64 *pul64FileSize); + + HRESULT (STDMETHODCALLTYPE *get_BlockSize)( + IWdsTransportTftpClient *This, + ULONG *pulBlockSize); + + HRESULT (STDMETHODCALLTYPE *get_WindowSize)( + IWdsTransportTftpClient *This, + ULONG *pulWindowSize); + + END_INTERFACE +} IWdsTransportTftpClientVtbl; + +interface IWdsTransportTftpClient { + CONST_VTBL IWdsTransportTftpClientVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportTftpClient_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportTftpClient_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportTftpClient_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportTftpClient_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportTftpClient_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportTftpClient_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportTftpClient_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportTftpClient methods ***/ +#define IWdsTransportTftpClient_get_FileName(This,pbszFileName) (This)->lpVtbl->get_FileName(This,pbszFileName) +#define IWdsTransportTftpClient_get_IpAddress(This,pbszIpAddress) (This)->lpVtbl->get_IpAddress(This,pbszIpAddress) +#define IWdsTransportTftpClient_get_Timeout(This,pulTimeout) (This)->lpVtbl->get_Timeout(This,pulTimeout) +#define IWdsTransportTftpClient_get_CurrentFileOffset(This,pul64CurrentOffset) (This)->lpVtbl->get_CurrentFileOffset(This,pul64CurrentOffset) +#define IWdsTransportTftpClient_get_FileSize(This,pul64FileSize) (This)->lpVtbl->get_FileSize(This,pul64FileSize) +#define IWdsTransportTftpClient_get_BlockSize(This,pulBlockSize) (This)->lpVtbl->get_BlockSize(This,pulBlockSize) +#define IWdsTransportTftpClient_get_WindowSize(This,pulWindowSize) (This)->lpVtbl->get_WindowSize(This,pulWindowSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportTftpClient_QueryInterface(IWdsTransportTftpClient* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportTftpClient_AddRef(IWdsTransportTftpClient* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportTftpClient_Release(IWdsTransportTftpClient* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportTftpClient_GetTypeInfoCount(IWdsTransportTftpClient* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportTftpClient_GetTypeInfo(IWdsTransportTftpClient* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportTftpClient_GetIDsOfNames(IWdsTransportTftpClient* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportTftpClient_Invoke(IWdsTransportTftpClient* 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); +} +/*** IWdsTransportTftpClient methods ***/ +static inline HRESULT IWdsTransportTftpClient_get_FileName(IWdsTransportTftpClient* This,BSTR *pbszFileName) { + return This->lpVtbl->get_FileName(This,pbszFileName); +} +static inline HRESULT IWdsTransportTftpClient_get_IpAddress(IWdsTransportTftpClient* This,BSTR *pbszIpAddress) { + return This->lpVtbl->get_IpAddress(This,pbszIpAddress); +} +static inline HRESULT IWdsTransportTftpClient_get_Timeout(IWdsTransportTftpClient* This,ULONG *pulTimeout) { + return This->lpVtbl->get_Timeout(This,pulTimeout); +} +static inline HRESULT IWdsTransportTftpClient_get_CurrentFileOffset(IWdsTransportTftpClient* This,ULONG64 *pul64CurrentOffset) { + return This->lpVtbl->get_CurrentFileOffset(This,pul64CurrentOffset); +} +static inline HRESULT IWdsTransportTftpClient_get_FileSize(IWdsTransportTftpClient* This,ULONG64 *pul64FileSize) { + return This->lpVtbl->get_FileSize(This,pul64FileSize); +} +static inline HRESULT IWdsTransportTftpClient_get_BlockSize(IWdsTransportTftpClient* This,ULONG *pulBlockSize) { + return This->lpVtbl->get_BlockSize(This,pulBlockSize); +} +static inline HRESULT IWdsTransportTftpClient_get_WindowSize(IWdsTransportTftpClient* This,ULONG *pulWindowSize) { + return This->lpVtbl->get_WindowSize(This,pulWindowSize); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportTftpClient_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWdsTransportContentProvider interface + */ +#ifndef __IWdsTransportContentProvider_INTERFACE_DEFINED__ +#define __IWdsTransportContentProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWdsTransportContentProvider, 0xb9489f24, 0xf219, 0x4acf, 0xaa,0xd7, 0x26,0x5c,0x7c,0x08,0xa6,0xae); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b9489f24-f219-4acf-aad7-265c7c08a6ae") +IWdsTransportContentProvider : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *pbszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *pbszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FilePath( + BSTR *pbszFilePath) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InitializationRoutine( + BSTR *pbszInitializationRoutine) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWdsTransportContentProvider, 0xb9489f24, 0xf219, 0x4acf, 0xaa,0xd7, 0x26,0x5c,0x7c,0x08,0xa6,0xae) +#endif +#else +typedef struct IWdsTransportContentProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWdsTransportContentProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWdsTransportContentProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWdsTransportContentProvider *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWdsTransportContentProvider *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWdsTransportContentProvider *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWdsTransportContentProvider *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWdsTransportContentProvider *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWdsTransportContentProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + IWdsTransportContentProvider *This, + BSTR *pbszName); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IWdsTransportContentProvider *This, + BSTR *pbszDescription); + + HRESULT (STDMETHODCALLTYPE *get_FilePath)( + IWdsTransportContentProvider *This, + BSTR *pbszFilePath); + + HRESULT (STDMETHODCALLTYPE *get_InitializationRoutine)( + IWdsTransportContentProvider *This, + BSTR *pbszInitializationRoutine); + + END_INTERFACE +} IWdsTransportContentProviderVtbl; + +interface IWdsTransportContentProvider { + CONST_VTBL IWdsTransportContentProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWdsTransportContentProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWdsTransportContentProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWdsTransportContentProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWdsTransportContentProvider_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWdsTransportContentProvider_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWdsTransportContentProvider_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWdsTransportContentProvider_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWdsTransportContentProvider methods ***/ +#define IWdsTransportContentProvider_get_Name(This,pbszName) (This)->lpVtbl->get_Name(This,pbszName) +#define IWdsTransportContentProvider_get_Description(This,pbszDescription) (This)->lpVtbl->get_Description(This,pbszDescription) +#define IWdsTransportContentProvider_get_FilePath(This,pbszFilePath) (This)->lpVtbl->get_FilePath(This,pbszFilePath) +#define IWdsTransportContentProvider_get_InitializationRoutine(This,pbszInitializationRoutine) (This)->lpVtbl->get_InitializationRoutine(This,pbszInitializationRoutine) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWdsTransportContentProvider_QueryInterface(IWdsTransportContentProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWdsTransportContentProvider_AddRef(IWdsTransportContentProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWdsTransportContentProvider_Release(IWdsTransportContentProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWdsTransportContentProvider_GetTypeInfoCount(IWdsTransportContentProvider* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWdsTransportContentProvider_GetTypeInfo(IWdsTransportContentProvider* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWdsTransportContentProvider_GetIDsOfNames(IWdsTransportContentProvider* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWdsTransportContentProvider_Invoke(IWdsTransportContentProvider* 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); +} +/*** IWdsTransportContentProvider methods ***/ +static inline HRESULT IWdsTransportContentProvider_get_Name(IWdsTransportContentProvider* This,BSTR *pbszName) { + return This->lpVtbl->get_Name(This,pbszName); +} +static inline HRESULT IWdsTransportContentProvider_get_Description(IWdsTransportContentProvider* This,BSTR *pbszDescription) { + return This->lpVtbl->get_Description(This,pbszDescription); +} +static inline HRESULT IWdsTransportContentProvider_get_FilePath(IWdsTransportContentProvider* This,BSTR *pbszFilePath) { + return This->lpVtbl->get_FilePath(This,pbszFilePath); +} +static inline HRESULT IWdsTransportContentProvider_get_InitializationRoutine(IWdsTransportContentProvider* This,BSTR *pbszInitializationRoutine) { + return This->lpVtbl->get_InitializationRoutine(This,pbszInitializationRoutine); +} +#endif +#endif + +#endif + + +#endif /* __IWdsTransportContentProvider_INTERFACE_DEFINED__ */ + + +#ifndef __WdsTptMgmtLib_LIBRARY_DEFINED__ +#define __WdsTptMgmtLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WdsTptMgmtLib, 0x9212887f, 0xf5bc, 0x45dd, 0xa5,0x10, 0x26,0x54,0x13,0xa1,0x8e,0xd7); + +/***************************************************************************** + * WdsTransportCacheable coclass + */ + +DEFINE_GUID(CLSID_WdsTransportCacheable, 0x70590b16, 0xf146, 0x46bd, 0xbd,0x9d, 0x4a,0xaa,0x90,0x08,0x4b,0xf5); + +#ifdef __cplusplus +class DECLSPEC_UUID("70590b16-f146-46bd-bd9d-4aaa90084bf5") WdsTransportCacheable; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportCacheable, 0x70590b16, 0xf146, 0x46bd, 0xbd,0x9d, 0x4a,0xaa,0x90,0x08,0x4b,0xf5) +#endif +#endif + +/***************************************************************************** + * WdsTransportCollection coclass + */ + +DEFINE_GUID(CLSID_WdsTransportCollection, 0xc7f18b09, 0x391e, 0x436e, 0xb1,0x0b, 0xc3,0xef,0x46,0xf2,0xc3,0x4f); + +#ifdef __cplusplus +class DECLSPEC_UUID("c7f18b09-391e-436e-b10b-c3ef46f2c34f") WdsTransportCollection; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportCollection, 0xc7f18b09, 0x391e, 0x436e, 0xb1,0x0b, 0xc3,0xef,0x46,0xf2,0xc3,0x4f) +#endif +#endif + +/***************************************************************************** + * WdsTransportManager coclass + */ + +DEFINE_GUID(CLSID_WdsTransportManager, 0xf21523f6, 0x837c, 0x4a58, 0xaf,0x99, 0x8a,0x7e,0x27,0xf8,0xff,0x59); + +#ifdef __cplusplus +class DECLSPEC_UUID("f21523f6-837c-4a58-af99-8a7e27f8ff59") WdsTransportManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportManager, 0xf21523f6, 0x837c, 0x4a58, 0xaf,0x99, 0x8a,0x7e,0x27,0xf8,0xff,0x59) +#endif +#endif + +/***************************************************************************** + * WdsTransportServer coclass + */ + +DEFINE_GUID(CLSID_WdsTransportServer, 0xea19b643, 0x4adf, 0x4413, 0x94,0x2c, 0x14,0xf3,0x79,0x11,0x87,0x60); + +#ifdef __cplusplus +class DECLSPEC_UUID("ea19b643-4adf-4413-942c-14f379118760") WdsTransportServer; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportServer, 0xea19b643, 0x4adf, 0x4413, 0x94,0x2c, 0x14,0xf3,0x79,0x11,0x87,0x60) +#endif +#endif + +/***************************************************************************** + * WdsTransportSetupManager coclass + */ + +DEFINE_GUID(CLSID_WdsTransportSetupManager, 0xc7beeaad, 0x9f04, 0x4923, 0x9f,0x0c, 0xfb,0xf5,0x2b,0xc7,0x59,0x0f); + +#ifdef __cplusplus +class DECLSPEC_UUID("c7beeaad-9f04-4923-9f0c-fbf52bc7590f") WdsTransportSetupManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportSetupManager, 0xc7beeaad, 0x9f04, 0x4923, 0x9f,0x0c, 0xfb,0xf5,0x2b,0xc7,0x59,0x0f) +#endif +#endif + +/***************************************************************************** + * WdsTransportConfigurationManager coclass + */ + +DEFINE_GUID(CLSID_WdsTransportConfigurationManager, 0x8743f674, 0x904c, 0x47ca, 0x85,0x12, 0x35,0xfe,0x98,0xf6,0xb0,0xac); + +#ifdef __cplusplus +class DECLSPEC_UUID("8743f674-904c-47ca-8512-35fe98f6b0ac") WdsTransportConfigurationManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportConfigurationManager, 0x8743f674, 0x904c, 0x47ca, 0x85,0x12, 0x35,0xfe,0x98,0xf6,0xb0,0xac) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespaceManager coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespaceManager, 0xf08cdb63, 0x85de, 0x4a28, 0xa1,0xa9, 0x5c,0xa3,0xe7,0xef,0xda,0x73); + +#ifdef __cplusplus +class DECLSPEC_UUID("f08cdb63-85de-4a28-a1a9-5ca3e7efda73") WdsTransportNamespaceManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespaceManager, 0xf08cdb63, 0x85de, 0x4a28, 0xa1,0xa9, 0x5c,0xa3,0xe7,0xef,0xda,0x73) +#endif +#endif + +/***************************************************************************** + * WdsTransportServicePolicy coclass + */ + +DEFINE_GUID(CLSID_WdsTransportServicePolicy, 0x65aceadc, 0x2f0b, 0x4f43, 0x9f,0x4d, 0x81,0x18,0x65,0xd8,0xce,0xad); + +#ifdef __cplusplus +class DECLSPEC_UUID("65aceadc-2f0b-4f43-9f4d-811865d8cead") WdsTransportServicePolicy; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportServicePolicy, 0x65aceadc, 0x2f0b, 0x4f43, 0x9f,0x4d, 0x81,0x18,0x65,0xd8,0xce,0xad) +#endif +#endif + +/***************************************************************************** + * WdsTransportDiagnosticsPolicy coclass + */ + +DEFINE_GUID(CLSID_WdsTransportDiagnosticsPolicy, 0xeb3333e1, 0xa7ad, 0x46f5, 0x80,0xd6, 0x6b,0x74,0x02,0x04,0xe5,0x09); + +#ifdef __cplusplus +class DECLSPEC_UUID("eb3333e1-a7ad-46f5-80d6-6b740204e509") WdsTransportDiagnosticsPolicy; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportDiagnosticsPolicy, 0xeb3333e1, 0xa7ad, 0x46f5, 0x80,0xd6, 0x6b,0x74,0x02,0x04,0xe5,0x09) +#endif +#endif + +/***************************************************************************** + * WdsTransportMulticastSessionPolicy coclass + */ + +DEFINE_GUID(CLSID_WdsTransportMulticastSessionPolicy, 0x3c6bc3f4, 0x6418, 0x472a, 0xb6,0xf1, 0x52,0xd4,0x57,0x19,0x54,0x37); + +#ifdef __cplusplus +class DECLSPEC_UUID("3c6bc3f4-6418-472a-b6f1-52d457195437") WdsTransportMulticastSessionPolicy; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportMulticastSessionPolicy, 0x3c6bc3f4, 0x6418, 0x472a, 0xb6,0xf1, 0x52,0xd4,0x57,0x19,0x54,0x37) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespace coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespace, 0xd8385768, 0x0732, 0x4ec1, 0x95,0xea, 0x16,0xda,0x58,0x19,0x08,0xa1); + +#ifdef __cplusplus +class DECLSPEC_UUID("d8385768-0732-4ec1-95ea-16da581908a1") WdsTransportNamespace; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespace, 0xd8385768, 0x0732, 0x4ec1, 0x95,0xea, 0x16,0xda,0x58,0x19,0x08,0xa1) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespaceAutoCast coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespaceAutoCast, 0xb091f5a8, 0x6a99, 0x478d, 0xb2,0x3b, 0x09,0xe8,0xfe,0xe0,0x45,0x74); + +#ifdef __cplusplus +class DECLSPEC_UUID("b091f5a8-6a99-478d-b23b-09e8fee04574") WdsTransportNamespaceAutoCast; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespaceAutoCast, 0xb091f5a8, 0x6a99, 0x478d, 0xb2,0x3b, 0x09,0xe8,0xfe,0xe0,0x45,0x74) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespaceScheduledCast coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespaceScheduledCast, 0xbadc1897, 0x7025, 0x44eb, 0x91,0x08, 0xfb,0x61,0xc4,0x05,0x57,0x92); + +#ifdef __cplusplus +class DECLSPEC_UUID("badc1897-7025-44eb-9108-fb61c4055792") WdsTransportNamespaceScheduledCast; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespaceScheduledCast, 0xbadc1897, 0x7025, 0x44eb, 0x91,0x08, 0xfb,0x61,0xc4,0x05,0x57,0x92) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespaceScheduledCastManualStart coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespaceScheduledCastManualStart, 0xd3e1a2aa, 0xcaac, 0x460e, 0xb9,0x8a, 0x47,0xf9,0xf3,0x18,0xa1,0xfa); + +#ifdef __cplusplus +class DECLSPEC_UUID("d3e1a2aa-caac-460e-b98a-47f9f318a1fa") WdsTransportNamespaceScheduledCastManualStart; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespaceScheduledCastManualStart, 0xd3e1a2aa, 0xcaac, 0x460e, 0xb9,0x8a, 0x47,0xf9,0xf3,0x18,0xa1,0xfa) +#endif +#endif + +/***************************************************************************** + * WdsTransportNamespaceScheduledCastAutoStart coclass + */ + +DEFINE_GUID(CLSID_WdsTransportNamespaceScheduledCastAutoStart, 0xa1107052, 0x122c, 0x4b81, 0x9b,0x7c, 0x38,0x6e,0x68,0x55,0x38,0x3f); + +#ifdef __cplusplus +class DECLSPEC_UUID("a1107052-122c-4b81-9b7c-386e6855383f") WdsTransportNamespaceScheduledCastAutoStart; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportNamespaceScheduledCastAutoStart, 0xa1107052, 0x122c, 0x4b81, 0x9b,0x7c, 0x38,0x6e,0x68,0x55,0x38,0x3f) +#endif +#endif + +/***************************************************************************** + * WdsTransportContent coclass + */ + +DEFINE_GUID(CLSID_WdsTransportContent, 0x0a891fe7, 0x4a3f, 0x4c65, 0xb6,0xf2, 0x14,0x67,0x61,0x96,0x79,0xea); + +#ifdef __cplusplus +class DECLSPEC_UUID("0a891fe7-4a3f-4c65-b6f2-1467619679ea") WdsTransportContent; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportContent, 0x0a891fe7, 0x4a3f, 0x4c65, 0xb6,0xf2, 0x14,0x67,0x61,0x96,0x79,0xea) +#endif +#endif + +/***************************************************************************** + * WdsTransportSession coclass + */ + +DEFINE_GUID(CLSID_WdsTransportSession, 0x749ac4e0, 0x67bc, 0x4743, 0xbf,0xe5, 0xca,0xcb,0x1f,0x26,0xf5,0x7f); + +#ifdef __cplusplus +class DECLSPEC_UUID("749ac4e0-67bc-4743-bfe5-cacb1f26f57f") WdsTransportSession; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportSession, 0x749ac4e0, 0x67bc, 0x4743, 0xbf,0xe5, 0xca,0xcb,0x1f,0x26,0xf5,0x7f) +#endif +#endif + +/***************************************************************************** + * WdsTransportClient coclass + */ + +DEFINE_GUID(CLSID_WdsTransportClient, 0x66d2c5e9, 0x0ff6, 0x49ec, 0x97,0x33, 0xda,0xfb,0x1e,0x01,0xdf,0x1c); + +#ifdef __cplusplus +class DECLSPEC_UUID("66d2c5e9-0ff6-49ec-9733-dafb1e01df1c") WdsTransportClient; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportClient, 0x66d2c5e9, 0x0ff6, 0x49ec, 0x97,0x33, 0xda,0xfb,0x1e,0x01,0xdf,0x1c) +#endif +#endif + +/***************************************************************************** + * WdsTransportTftpClient coclass + */ + +DEFINE_GUID(CLSID_WdsTransportTftpClient, 0x50343925, 0x7c5c, 0x4c8c, 0x96,0xc4, 0xad,0x9f,0xa5,0x00,0x5f,0xba); + +#ifdef __cplusplus +class DECLSPEC_UUID("50343925-7c5c-4c8c-96c4-ad9fa5005fba") WdsTransportTftpClient; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportTftpClient, 0x50343925, 0x7c5c, 0x4c8c, 0x96,0xc4, 0xad,0x9f,0xa5,0x00,0x5f,0xba) +#endif +#endif + +/***************************************************************************** + * WdsTransportTftpManager coclass + */ + +DEFINE_GUID(CLSID_WdsTransportTftpManager, 0xc8e9dca2, 0x3241, 0x4e4d, 0xb8,0x06, 0xbc,0x74,0x01,0x9d,0xfe,0xda); + +#ifdef __cplusplus +class DECLSPEC_UUID("c8e9dca2-3241-4e4d-b806-bc74019dfeda") WdsTransportTftpManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportTftpManager, 0xc8e9dca2, 0x3241, 0x4e4d, 0xb8,0x06, 0xbc,0x74,0x01,0x9d,0xfe,0xda) +#endif +#endif + +/***************************************************************************** + * WdsTransportContentProvider coclass + */ + +DEFINE_GUID(CLSID_WdsTransportContentProvider, 0xe0be741f, 0x5a75, 0x4eb9, 0x8a,0x2d, 0x5e,0x18,0x9b,0x45,0xf3,0x27); + +#ifdef __cplusplus +class DECLSPEC_UUID("e0be741f-5a75-4eb9-8a2d-5e189b45f327") WdsTransportContentProvider; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WdsTransportContentProvider, 0xe0be741f, 0x5a75, 0x4eb9, 0x8a,0x2d, 0x5e,0x18,0x9b,0x45,0xf3,0x27) +#endif +#endif + +#endif /* __WdsTptMgmtLib_LIBRARY_DEFINED__ */ +#endif +/* Begin additional prototypes for all interfaces */ + +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 /* __wdstptmgmt_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/weakreference.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/weakreference.h new file mode 100644 index 00000000..de9c7bec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/weakreference.h @@ -0,0 +1,210 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/weakreference.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 __weakreference_h__ +#define __weakreference_h__ + +/* Forward declarations */ + +#ifndef __IWeakReference_FWD_DEFINED__ +#define __IWeakReference_FWD_DEFINED__ +typedef interface IWeakReference IWeakReference; +#ifdef __cplusplus +interface IWeakReference; +#endif /* __cplusplus */ +#endif + +#ifndef __IWeakReferenceSource_FWD_DEFINED__ +#define __IWeakReferenceSource_FWD_DEFINED__ +typedef interface IWeakReferenceSource IWeakReferenceSource; +#ifdef __cplusplus +interface IWeakReferenceSource; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IWeakReference interface + */ +#ifndef __IWeakReference_INTERFACE_DEFINED__ +#define __IWeakReference_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWeakReference, 0x00000037, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000037-0000-0000-c000-000000000046") +IWeakReference : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Resolve( + REFIID iid, + IInspectable **ref) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWeakReference, 0x00000037, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IWeakReferenceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWeakReference *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWeakReference *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWeakReference *This); + + /*** IWeakReference methods ***/ + HRESULT (STDMETHODCALLTYPE *Resolve)( + IWeakReference *This, + REFIID iid, + IInspectable **ref); + + END_INTERFACE +} IWeakReferenceVtbl; + +interface IWeakReference { + CONST_VTBL IWeakReferenceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWeakReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWeakReference_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWeakReference_Release(This) (This)->lpVtbl->Release(This) +/*** IWeakReference methods ***/ +#define IWeakReference_Resolve(This,iid,ref) (This)->lpVtbl->Resolve(This,iid,ref) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWeakReference_QueryInterface(IWeakReference* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWeakReference_AddRef(IWeakReference* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWeakReference_Release(IWeakReference* This) { + return This->lpVtbl->Release(This); +} +/*** IWeakReference methods ***/ +static inline HRESULT IWeakReference_Resolve(IWeakReference* This,REFIID iid,IInspectable **ref) { + return This->lpVtbl->Resolve(This,iid,ref); +} +#endif +#endif + +#endif + + +#endif /* __IWeakReference_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWeakReferenceSource interface + */ +#ifndef __IWeakReferenceSource_INTERFACE_DEFINED__ +#define __IWeakReferenceSource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWeakReferenceSource, 0x00000038, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000038-0000-0000-c000-000000000046") +IWeakReferenceSource : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetWeakReference( + IWeakReference **ref) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWeakReferenceSource, 0x00000038, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46) +#endif +#else +typedef struct IWeakReferenceSourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWeakReferenceSource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWeakReferenceSource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWeakReferenceSource *This); + + /*** IWeakReferenceSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetWeakReference)( + IWeakReferenceSource *This, + IWeakReference **ref); + + END_INTERFACE +} IWeakReferenceSourceVtbl; + +interface IWeakReferenceSource { + CONST_VTBL IWeakReferenceSourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWeakReferenceSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWeakReferenceSource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWeakReferenceSource_Release(This) (This)->lpVtbl->Release(This) +/*** IWeakReferenceSource methods ***/ +#define IWeakReferenceSource_GetWeakReference(This,ref) (This)->lpVtbl->GetWeakReference(This,ref) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWeakReferenceSource_QueryInterface(IWeakReferenceSource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWeakReferenceSource_AddRef(IWeakReferenceSource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWeakReferenceSource_Release(IWeakReferenceSource* This) { + return This->lpVtbl->Release(This); +} +/*** IWeakReferenceSource methods ***/ +static inline HRESULT IWeakReferenceSource_GetWeakReference(IWeakReferenceSource* This,IWeakReference **ref) { + return This->lpVtbl->GetWeakReference(This,ref); +} +#endif +#endif + +#endif + + +#endif /* __IWeakReferenceSource_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __weakreference_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webauthn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webauthn.h new file mode 100644 index 00000000..a6a361f4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webauthn.h @@ -0,0 +1,369 @@ +/** + * 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 _WEBAUTHN_H_ +#define _WEBAUTHN_H_ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINAPI +#if defined(_ARM_) +#define WINAPI +#else +#define WINAPI __stdcall +#endif +#endif + +#ifndef INITGUID +#define INITGUID +#include +#undef INITGUID +#else +#include +#endif + +#define WEBAUTHN_API_VERSION_1 1 +#define WEBAUTHN_API_VERSION_2 2 +#define WEBAUTHN_API_VERSION_3 3 +#define WEBAUTHN_API_CURRENT_VERSION WEBAUTHN_API_VERSION_3 + +#define WEBAUTHN_RP_ENTITY_INFORMATION_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_RP_ENTITY_INFORMATION { + DWORD dwVersion; + PCWSTR pwszId; + PCWSTR pwszName; + PCWSTR pwszIcon; +} WEBAUTHN_RP_ENTITY_INFORMATION, *PWEBAUTHN_RP_ENTITY_INFORMATION; +typedef const WEBAUTHN_RP_ENTITY_INFORMATION *PCWEBAUTHN_RP_ENTITY_INFORMATION; + +#define WEBAUTHN_MAX_USER_ID_LENGTH 64 + +#define WEBAUTHN_USER_ENTITY_INFORMATION_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_USER_ENTITY_INFORMATION { + DWORD dwVersion; + DWORD cbId; + PBYTE pbId; + PCWSTR pwszName; + PCWSTR pwszIcon; + PCWSTR pwszDisplayName; +} WEBAUTHN_USER_ENTITY_INFORMATION, *PWEBAUTHN_USER_ENTITY_INFORMATION; +typedef const WEBAUTHN_USER_ENTITY_INFORMATION *PCWEBAUTHN_USER_ENTITY_INFORMATION; + +#define WEBAUTHN_HASH_ALGORITHM_SHA_256 L"SHA-256" +#define WEBAUTHN_HASH_ALGORITHM_SHA_384 L"SHA-384" +#define WEBAUTHN_HASH_ALGORITHM_SHA_512 L"SHA-512" + +#define WEBAUTHN_CLIENT_DATA_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_CLIENT_DATA { + DWORD dwVersion; + DWORD cbClientDataJSON; + PBYTE pbClientDataJSON; + LPCWSTR pwszHashAlgId; +} WEBAUTHN_CLIENT_DATA, *PWEBAUTHN_CLIENT_DATA; +typedef const WEBAUTHN_CLIENT_DATA *PCWEBAUTHN_CLIENT_DATA; + +#define WEBAUTHN_CREDENTIAL_TYPE_PUBLIC_KEY L"public-key" + +#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P256_WITH_SHA256 -7 +#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P384_WITH_SHA384 -35 +#define WEBAUTHN_COSE_ALGORITHM_ECDSA_P521_WITH_SHA512 -36 + +#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA256 -257 +#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA384 -258 +#define WEBAUTHN_COSE_ALGORITHM_RSASSA_PKCS1_V1_5_WITH_SHA512 -259 + +#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA256 -37 +#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA384 -38 +#define WEBAUTHN_COSE_ALGORITHM_RSA_PSS_WITH_SHA512 -39 + +#define WEBAUTHN_COSE_CREDENTIAL_PARAMETER_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_COSE_CREDENTIAL_PARAMETER { + DWORD dwVersion; + LPCWSTR pwszCredentialType; + LONG lAlg; +} WEBAUTHN_COSE_CREDENTIAL_PARAMETER, *PWEBAUTHN_COSE_CREDENTIAL_PARAMETER; +typedef const WEBAUTHN_COSE_CREDENTIAL_PARAMETER *PCWEBAUTHN_COSE_CREDENTIAL_PARAMETER; + +typedef struct _WEBAUTHN_COSE_CREDENTIAL_PARAMETERS { + DWORD cCredentialParameters; + PWEBAUTHN_COSE_CREDENTIAL_PARAMETER pCredentialParameters; +} WEBAUTHN_COSE_CREDENTIAL_PARAMETERS, *PWEBAUTHN_COSE_CREDENTIAL_PARAMETERS; +typedef const WEBAUTHN_COSE_CREDENTIAL_PARAMETERS *PCWEBAUTHN_COSE_CREDENTIAL_PARAMETERS; + +#define WEBAUTHN_CREDENTIAL_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_CREDENTIAL { + DWORD dwVersion; + DWORD cbId; + PBYTE pbId; + LPCWSTR pwszCredentialType; +} WEBAUTHN_CREDENTIAL, *PWEBAUTHN_CREDENTIAL; +typedef const WEBAUTHN_CREDENTIAL *PCWEBAUTHN_CREDENTIAL; + +typedef struct _WEBAUTHN_CREDENTIALS { + DWORD cCredentials; + PWEBAUTHN_CREDENTIAL pCredentials; +} WEBAUTHN_CREDENTIALS, *PWEBAUTHN_CREDENTIALS; +typedef const WEBAUTHN_CREDENTIALS *PCWEBAUTHN_CREDENTIALS; + +#define WEBAUTHN_CTAP_TRANSPORT_USB 0x00000001 +#define WEBAUTHN_CTAP_TRANSPORT_NFC 0x00000002 +#define WEBAUTHN_CTAP_TRANSPORT_BLE 0x00000004 +#define WEBAUTHN_CTAP_TRANSPORT_TEST 0x00000008 +#define WEBAUTHN_CTAP_TRANSPORT_INTERNAL 0x00000010 +#define WEBAUTHN_CTAP_TRANSPORT_FLAGS_MASK 0x0000001F + +#define WEBAUTHN_CREDENTIAL_EX_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_CREDENTIAL_EX { + DWORD dwVersion; + DWORD cbId; + PBYTE pbId; + LPCWSTR pwszCredentialType; + DWORD dwTransports; +} WEBAUTHN_CREDENTIAL_EX, *PWEBAUTHN_CREDENTIAL_EX; +typedef const WEBAUTHN_CREDENTIAL_EX *PCWEBAUTHN_CREDENTIAL_EX; + +typedef struct _WEBAUTHN_CREDENTIAL_LIST { + DWORD cCredentials; + PWEBAUTHN_CREDENTIAL_EX *ppCredentials; +} WEBAUTHN_CREDENTIAL_LIST, *PWEBAUTHN_CREDENTIAL_LIST; +typedef const WEBAUTHN_CREDENTIAL_LIST *PCWEBAUTHN_CREDENTIAL_LIST; + +#define WEBAUTHN_EXTENSIONS_IDENTIFIER_HMAC_SECRET L"hmac-secret" + +#define WEBAUTHN_USER_VERIFICATION_ANY 0 +#define WEBAUTHN_USER_VERIFICATION_OPTIONAL 1 +#define WEBAUTHN_USER_VERIFICATION_OPTIONAL_WITH_CREDENTIAL_ID_LIST 2 +#define WEBAUTHN_USER_VERIFICATION_REQUIRED 3 + +typedef struct _WEBAUTHN_CRED_PROTECT_EXTENSION_IN { + DWORD dwCredProtect; + WINBOOL bRequireCredProtect; +} WEBAUTHN_CRED_PROTECT_EXTENSION_IN, *PWEBAUTHN_CRED_PROTECT_EXTENSION_IN; +typedef const WEBAUTHN_CRED_PROTECT_EXTENSION_IN *PCWEBAUTHN_CRED_PROTECT_EXTENSION_IN; + +#define WEBAUTHN_EXTENSIONS_IDENTIFIER_CRED_PROTECT L"credProtect" + +typedef struct _WEBAUTHN_CRED_BLOB_EXTENSION { + DWORD cbCredBlob; + PBYTE pbCredBlob; +} WEBAUTHN_CRED_BLOB_EXTENSION, *PWEBAUTHN_CRED_BLOB_EXTENSION; +typedef const WEBAUTHN_CRED_BLOB_EXTENSION *PCWEBAUTHN_CRED_BLOB_EXTENSION; + +#define WEBAUTHN_EXTENSIONS_IDENTIFIER_CRED_BLOB L"credBlob" + +#define WEBAUTHN_EXTENSIONS_IDENTIFIER_MIN_PIN_LENGTH L"minPinLength" + +typedef struct _WEBAUTHN_EXTENSION { + LPCWSTR pwszExtensionIdentifier; + DWORD cbExtension; + PVOID pvExtension; +} WEBAUTHN_EXTENSION, *PWEBAUTHN_EXTENSION; +typedef const WEBAUTHN_EXTENSION *PCWEBAUTHN_EXTENSION; + +typedef struct _WEBAUTHN_EXTENSIONS { + DWORD cExtensions; + PWEBAUTHN_EXTENSION pExtensions; +} WEBAUTHN_EXTENSIONS, *PWEBAUTHN_EXTENSIONS; +typedef const WEBAUTHN_EXTENSIONS *PCWEBAUTHN_EXTENSIONS; + +#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY 0 +#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM 1 +#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM 2 +#define WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2 3 + +#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_ANY 0 +#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_REQUIRED 1 +#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_PREFERRED 2 +#define WEBAUTHN_USER_VERIFICATION_REQUIREMENT_DISCOURAGED 3 + +#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_ANY 0 +#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_NONE 1 +#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_INDIRECT 2 +#define WEBAUTHN_ATTESTATION_CONVEYANCE_PREFERENCE_DIRECT 3 + +#define WEBAUTHN_ENTERPRISE_ATTESTATION_NONE 0 +#define WEBAUTHN_ENTERPRISE_ATTESTATION_VENDOR_FACILITATED 1 +#define WEBAUTHN_ENTERPRISE_ATTESTATION_PLATFORM_MANAGED 2 + +#define WEBAUTHN_LARGE_BLOB_SUPPORT_NONE 0 +#define WEBAUTHN_LARGE_BLOB_SUPPORT_REQUIRED 1 +#define WEBAUTHN_LARGE_BLOB_SUPPORT_PREFERRED 2 + +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_1 1 +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_2 2 +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_3 3 +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_4 4 +#define WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS_VERSION_4 + +typedef struct _WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS { + DWORD dwVersion; + DWORD dwTimeoutMilliseconds; + WEBAUTHN_CREDENTIALS CredentialList; + WEBAUTHN_EXTENSIONS Extensions; + DWORD dwAuthenticatorAttachment; + WINBOOL bRequireResidentKey; + DWORD dwUserVerificationRequirement; + DWORD dwAttestationConveyancePreference; + DWORD dwFlags; + GUID *pCancellationId; + PWEBAUTHN_CREDENTIAL_LIST pExcludeCredentialList; + DWORD dwEnterpriseAttestation; + DWORD dwLargeBlobSupport; + WINBOOL bPreferResidentKey; +} WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS; +typedef const WEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS; + +#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_NONE 0 +#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_GET 1 +#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_SET 2 +#define WEBAUTHN_CRED_LARGE_BLOB_OPERATION_DELETE 3 + +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_1 1 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_2 2 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_3 3 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_4 4 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_5 5 +#define WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_CURRENT_VERSION WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS_VERSION_5 + +typedef struct _WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS { + DWORD dwVersion; + DWORD dwTimeoutMilliseconds; + WEBAUTHN_CREDENTIALS CredentialList; + WEBAUTHN_EXTENSIONS Extensions; + DWORD dwAuthenticatorAttachment; + DWORD dwUserVerificationRequirement; + DWORD dwFlags; + PCWSTR pwszU2fAppId; + WINBOOL *pbU2fAppId; + GUID *pCancellationId; + PWEBAUTHN_CREDENTIAL_LIST pAllowCredentialList; + DWORD dwCredLargeBlobOperation; + DWORD cbCredLargeBlob; + PBYTE pbCredLargeBlob; +} WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS, *PWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS; +typedef const WEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS *PCWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS; + +#define WEBAUTHN_ATTESTATION_DECODE_NONE 0 +#define WEBAUTHN_ATTESTATION_DECODE_COMMON 1 + +#define WEBAUTHN_ATTESTATION_VER_TPM_2_0 L"2.0" + +typedef struct _WEBAUTHN_X5C { + DWORD cbData; + PBYTE pbData; +} WEBAUTHN_X5C, *PWEBAUTHN_X5C; + +#define WEBAUTHN_COMMON_ATTESTATION_CURRENT_VERSION 1 + +typedef struct _WEBAUTHN_COMMON_ATTESTATION { + DWORD dwVersion; + PCWSTR pwszAlg; + LONG lAlg; + DWORD cbSignature; + PBYTE pbSignature; + DWORD cX5c; + PWEBAUTHN_X5C pX5c; + PCWSTR pwszVer; + DWORD cbCertInfo; + PBYTE pbCertInfo; + DWORD cbPubArea; + PBYTE pbPubArea; +} WEBAUTHN_COMMON_ATTESTATION, *PWEBAUTHN_COMMON_ATTESTATION; +typedef const WEBAUTHN_COMMON_ATTESTATION *PCWEBAUTHN_COMMON_ATTESTATION; + +#define WEBAUTHN_ATTESTATION_TYPE_PACKED L"packed" +#define WEBAUTHN_ATTESTATION_TYPE_U2F L"fido-u2f" +#define WEBAUTHN_ATTESTATION_TYPE_TPM L"tpm" +#define WEBAUTHN_ATTESTATION_TYPE_NONE L"none" + +#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_1 1 +#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_2 2 +#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_3 3 +#define WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_4 4 +#define WEBAUTHN_CREDENTIAL_ATTESTATION_CURRENT_VERSION WEBAUTHN_CREDENTIAL_ATTESTATION_VERSION_4 + +typedef struct _WEBAUTHN_CREDENTIAL_ATTESTATION { + DWORD dwVersion; + PCWSTR pwszFormatType; + DWORD cbAuthenticatorData; + PBYTE pbAuthenticatorData; + DWORD cbAttestation; + PBYTE pbAttestation; + DWORD dwAttestationDecodeType; + PVOID pvAttestationDecode; + DWORD cbAttestationObject; + PBYTE pbAttestationObject; + DWORD cbCredentialId; + PBYTE pbCredentialId; + WEBAUTHN_EXTENSIONS Extensions; + DWORD dwUsedTransport; + WINBOOL bEpAtt; + WINBOOL bLargeBlobSupported; + WINBOOL bResidentKey; +} WEBAUTHN_CREDENTIAL_ATTESTATION, *PWEBAUTHN_CREDENTIAL_ATTESTATION; +typedef const WEBAUTHN_CREDENTIAL_ATTESTATION *PCWEBAUTHN_CREDENTIAL_ATTESTATION; + +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NONE 0 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_SUCCESS 1 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NOT_SUPPORTED 2 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_INVALID_DATA 3 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_INVALID_PARAMETER 4 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_NOT_FOUND 5 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_MULTIPLE_CREDENTIALS 6 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_LACK_OF_SPACE 7 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_PLATFORM_ERROR 8 +#define WEBAUTHN_CRED_LARGE_BLOB_STATUS_AUTHENTICATOR_ERROR 9 + +#define WEBAUTHN_ASSERTION_VERSION_1 1 +#define WEBAUTHN_ASSERTION_VERSION_2 2 +#define WEBAUTHN_ASSERTION_CURRENT_VERSION WEBAUTHN_ASSERTION_VERSION_2 + +typedef struct _WEBAUTHN_ASSERTION { + DWORD dwVersion; + DWORD cbAuthenticatorData; + PBYTE pbAuthenticatorData; + DWORD cbSignature; + PBYTE pbSignature; + WEBAUTHN_CREDENTIAL Credential; + DWORD cbUserId; + PBYTE pbUserId; + WEBAUTHN_EXTENSIONS Extensions; + DWORD cbCredLargeBlob; + PBYTE pbCredLargeBlob; + DWORD dwCredLargeBlobStatus; +} WEBAUTHN_ASSERTION, *PWEBAUTHN_ASSERTION; +typedef const WEBAUTHN_ASSERTION *PCWEBAUTHN_ASSERTION; + +DWORD WINAPI WebAuthNGetApiVersionNumber(void); +HRESULT WINAPI WebAuthNIsUserVerifyingPlatformAuthenticatorAvailable(WINBOOL *pbIsUserVerifyingPlatformAuthenticatorAvailable); +HRESULT WINAPI WebAuthNAuthenticatorMakeCredential(HWND hWnd, PCWEBAUTHN_RP_ENTITY_INFORMATION pRpInformation, PCWEBAUTHN_USER_ENTITY_INFORMATION pUserInformation, PCWEBAUTHN_COSE_CREDENTIAL_PARAMETERS pPubKeyCredParams, PCWEBAUTHN_CLIENT_DATA pWebAuthNClientData, PCWEBAUTHN_AUTHENTICATOR_MAKE_CREDENTIAL_OPTIONS pWebAuthNMakeCredentialOptions, PWEBAUTHN_CREDENTIAL_ATTESTATION *ppWebAuthNCredentialAttestation); +HRESULT WINAPI WebAuthNAuthenticatorGetAssertion(HWND hWnd, LPCWSTR pwszRpId, PCWEBAUTHN_CLIENT_DATA pWebAuthNClientData, PCWEBAUTHN_AUTHENTICATOR_GET_ASSERTION_OPTIONS pWebAuthNGetAssertionOptions, PWEBAUTHN_ASSERTION *ppWebAuthNAssertion); +void WINAPI WebAuthNFreeCredentialAttestation(PWEBAUTHN_CREDENTIAL_ATTESTATION pWebAuthNCredentialAttestation); +void WINAPI WebAuthNFreeAssertion(PWEBAUTHN_ASSERTION pWebAuthNAssertion); +HRESULT WINAPI WebAuthNGetCancellationId(GUID* pCancellationId); +HRESULT WINAPI WebAuthNCancelCurrentOperation(const GUID* pCancellationId); +PCWSTR WINAPI WebAuthNGetErrorName(HRESULT hr); +HRESULT WINAPI WebAuthNGetW3CExceptionDOMError(HRESULT hr); + +#ifdef __cplusplus +} +#endif + +#endif /* WINAPI_FAMILY_PARTITION */ + +#endif /* _WEBAUTHN_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webservices.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webservices.h new file mode 100644 index 00000000..efd8e8a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/webservices.h @@ -0,0 +1,1892 @@ +/* + * Copyright 2015 Nikolay Sivov for CodeWeavers + * + * 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 __WINE_WEBSERVICES_H +#define __WINE_WEBSERVICES_H + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef struct _WS_ERROR WS_ERROR; +typedef struct _WS_HEAP WS_HEAP; +typedef struct _WS_XML_BUFFER WS_XML_BUFFER; +typedef struct _WS_XML_READER WS_XML_READER; +typedef struct _WS_XML_WRITER WS_XML_WRITER; +typedef struct _WS_PROXY_PROPERTY WS_PROXY_PROPERTY; +typedef struct _WS_SECURITY_DESCRIPTION WS_SECURITY_DESCRIPTION; +typedef struct _WS_CHANNEL_PROPERTY WS_CHANNEL_PROPERTY; +typedef struct _WS_SERVICE_PROXY WS_SERVICE_PROXY; +typedef struct _WS_SECURITY_BINDING_PROPERTY WS_SECURITY_BINDING_PROPERTY; +typedef struct _WS_SECURITY_PROPERTY WS_SECURITY_PROPERTY; +typedef struct _WS_SECURITY_PROPERTIES WS_SECURITY_PROPERTIES; +typedef struct _WS_SECURITY_BINDING WS_SECURITY_BINDING; +typedef struct _WS_CHANNEL WS_CHANNEL; +typedef struct _WS_MESSAGE_PROPERTY WS_MESSAGE_PROPERTY; +typedef struct _WS_MESSAGE_PROPERTIES WS_MESSAGE_PROPERTIES; +typedef struct _WS_HTTP_BINDING_TEMPLATE WS_HTTP_BINDING_TEMPLATE; +typedef struct _WS_HTTP_SSL_BINDING_TEMPLATE WS_HTTP_SSL_BINDING_TEMPLATE; +typedef struct _WS_CHANNEL_PROPERTIES WS_CHANNEL_PROPERTIES; +typedef struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE; +typedef struct _WS_SECURITY_BINDING_PROPERTIES WS_SECURITY_BINDING_PROPERTIES; +typedef struct _WS_CERT_CREDENTIAL WS_CERT_CREDENTIAL; +typedef struct _WS_ENDPOINT_ADDRESS WS_ENDPOINT_ADDRESS; +typedef struct _WS_ENDPOINT_IDENTITY WS_ENDPOINT_IDENTITY; +typedef struct _WS_ENUM_DESCRIPTION WS_ENUM_DESCRIPTION; +typedef struct _WS_ENUM_VALUE WS_ENUM_VALUE; +typedef struct _WS_HTTP_POLICY_DESCRIPTION WS_HTTP_POLICY_DESCRIPTION; +typedef struct _WS_MESSAGE WS_MESSAGE; +typedef struct _WS_MESSAGE_DESCRIPTION WS_MESSAGE_DESCRIPTION; +typedef struct _WS_OPERATION_DESCRIPTION WS_OPERATION_DESCRIPTION; +typedef struct _WS_PARAMETER_DESCRIPTION WS_PARAMETER_DESCRIPTION; +typedef struct _WS_OPERATION_CONTEXT WS_OPERATION_CONTEXT; +typedef struct _WS_CALL_PROPERTY WS_CALL_PROPERTY; +typedef struct _WS_FLOAT_DESCRIPTION WS_FLOAT_DESCRIPTION; +typedef struct _WS_DOUBLE_DESCRIPTION WS_DOUBLE_DESCRIPTION; +typedef struct _WS_DATETIME WS_DATETIME; +typedef struct _WS_XML_DATETIME_TEXT WS_XML_DATETIME_TEXT; +typedef struct _WS_XML_BASE64_TEXT WS_XML_BASE64_TEXT; +typedef struct _WS_DATETIME_DESCRIPTION WS_DATETIME_DESCRIPTION; +typedef struct _WS_GUID_DESCRIPTION WS_GUID_DESCRIPTION; +typedef struct _WS_UNIQUE_ID_DESCRIPTION WS_UNIQUE_ID_DESCRIPTION; +typedef struct _WS_BYTES_DESCRIPTION WS_BYTES_DESCRIPTION; +typedef struct _WS_URL WS_URL; +typedef struct _WS_HTTP_URL WS_HTTP_URL; +typedef struct _WS_HTTPS_URL WS_HTTPS_URL; +typedef struct _WS_NETTCP_URL WS_NETTCP_URL; +typedef struct _WS_SOAPUDP_URL WS_SOAPUDP_URL; +typedef struct _WS_NETPIPE_URL WS_NETPIPE_URL; +typedef struct _WS_CUSTOM_CHANNEL_CALLBACKS WS_CUSTOM_CHANNEL_CALLBACKS; +typedef struct _WS_CHANNEL_ENCODER WS_CHANNEL_ENCODER; +typedef struct _WS_CHANNEL_DECODER WS_CHANNEL_DECODER; +typedef struct _WS_CUSTOM_HTTP_PROXY WS_CUSTOM_HTTP_PROXY; +typedef struct _WS_HTTP_MESSAGE_MAPPING WS_HTTP_MESSAGE_MAPPING; +typedef struct _WS_HTTP_HEADER_MAPPING WS_HTTP_HEADER_MAPPING; +typedef struct _WS_HTTP_REDIRECT_CALLBACK_CONTEXT WS_HTTP_REDIRECT_CALLBACK_CONTEXT; +typedef struct _WS_PROXY_MESSAGE_CALLBACK_CONTEXT WS_PROXY_MESSAGE_CALLBACK_CONTEXT; +typedef struct _WS_LISTENER WS_LISTENER; +typedef struct _WS_LISTENER_PROPERTY WS_LISTENER_PROPERTY; +typedef struct _WS_DISALLOWED_USER_AGENT_SUBSTRINGS WS_DISALLOWED_USER_AGENT_SUBSTRINGS; +typedef struct _WS_LISTENER_PROPERTIES WS_LISTENER_PROPERTIES; +typedef struct _WS_CUSTOM_LISTENER_CALLBACKS WS_CUSTOM_LISTENER_CALLBACKS; + +struct _WS_STRUCT_DESCRIPTION; +struct _WS_XML_STRING; + +typedef enum { + WS_ERROR_PROPERTY_STRING_COUNT, + WS_ERROR_PROPERTY_ORIGINAL_ERROR_CODE, + WS_ERROR_PROPERTY_LANGID +} WS_ERROR_PROPERTY_ID; + +typedef struct _WS_ERROR_PROPERTY { + WS_ERROR_PROPERTY_ID id; + void *value; + ULONG valueSize; +} WS_ERROR_PROPERTY; + +typedef enum { + WS_HEAP_PROPERTY_MAX_SIZE, + WS_HEAP_PROPERTY_TRIM_SIZE, + WS_HEAP_PROPERTY_REQUESTED_SIZE, + WS_HEAP_PROPERTY_ACTUAL_SIZE +} WS_HEAP_PROPERTY_ID; + +typedef struct _WS_HEAP_PROPERTY { + WS_HEAP_PROPERTY_ID id; + void *value; + ULONG valueSize; +} WS_HEAP_PROPERTY; + +typedef struct _WS_HEAP_PROPERTIES { + WS_HEAP_PROPERTY *properties; + ULONG propertyCount; +} WS_HEAP_PROPERTIES; + +typedef ULONG WS_XML_BUFFER_PROPERTY_ID; + +typedef struct _WS_XML_BUFFER_PROPERTY { + WS_XML_BUFFER_PROPERTY_ID id; + void *value; + ULONG valueSize; +} WS_XML_BUFFER_PROPERTY; + +typedef enum { + WS_XML_READER_PROPERTY_MAX_DEPTH, + WS_XML_READER_PROPERTY_ALLOW_FRAGMENT, + WS_XML_READER_PROPERTY_MAX_ATTRIBUTES, + WS_XML_READER_PROPERTY_READ_DECLARATION, + WS_XML_READER_PROPERTY_CHARSET, + WS_XML_READER_PROPERTY_ROW, + WS_XML_READER_PROPERTY_COLUMN, + WS_XML_READER_PROPERTY_UTF8_TRIM_SIZE, + WS_XML_READER_PROPERTY_STREAM_BUFFER_SIZE, + WS_XML_READER_PROPERTY_IN_ATTRIBUTE, + WS_XML_READER_PROPERTY_STREAM_MAX_ROOT_MIME_PART_SIZE, + WS_XML_READER_PROPERTY_STREAM_MAX_MIME_HEADERS_SIZE, + WS_XML_READER_PROPERTY_MAX_MIME_PARTS, + WS_XML_READER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES, + WS_XML_READER_PROPERTY_MAX_NAMESPACES +} WS_XML_READER_PROPERTY_ID; + +typedef struct _WS_XML_READER_PROPERTY { + WS_XML_READER_PROPERTY_ID id; + void *value; + ULONG valueSize; +} WS_XML_READER_PROPERTY; + +typedef struct _WS_XML_READER_PROPERTIES { + WS_XML_READER_PROPERTY *properties; + ULONG propertyCount; +} WS_XML_READER_PROPERTIES; + +typedef enum { + WS_XML_WRITER_PROPERTY_MAX_DEPTH, + WS_XML_WRITER_PROPERTY_ALLOW_FRAGMENT, + WS_XML_WRITER_PROPERTY_MAX_ATTRIBUTES, + WS_XML_WRITER_PROPERTY_WRITE_DECLARATION, + WS_XML_WRITER_PROPERTY_INDENT, + WS_XML_WRITER_PROPERTY_BUFFER_TRIM_SIZE, + WS_XML_WRITER_PROPERTY_CHARSET, + WS_XML_WRITER_PROPERTY_BUFFERS, + WS_XML_WRITER_PROPERTY_BUFFER_MAX_SIZE, + WS_XML_WRITER_PROPERTY_BYTES, + WS_XML_WRITER_PROPERTY_IN_ATTRIBUTE, + WS_XML_WRITER_PROPERTY_MAX_MIME_PARTS_BUFFER_SIZE, + WS_XML_WRITER_PROPERTY_INITIAL_BUFFER, + WS_XML_WRITER_PROPERTY_ALLOW_INVALID_CHARACTER_REFERENCES, + WS_XML_WRITER_PROPERTY_MAX_NAMESPACES, + WS_XML_WRITER_PROPERTY_BYTES_WRITTEN, + WS_XML_WRITER_PROPERTY_BYTES_TO_CLOSE, + WS_XML_WRITER_PROPERTY_COMPRESS_EMPTY_ELEMENTS, + WS_XML_WRITER_PROPERTY_EMIT_UNCOMPRESSED_EMPTY_ELEMENTS +} WS_XML_WRITER_PROPERTY_ID; + +typedef struct _WS_XML_WRITER_PROPERTY { + WS_XML_WRITER_PROPERTY_ID id; + void *value; + ULONG valueSize; +} WS_XML_WRITER_PROPERTY; + +typedef struct _WS_XML_WRITER_PROPERTIES { + WS_XML_WRITER_PROPERTY *properties; + ULONG propertyCount; +} WS_XML_WRITER_PROPERTIES; + +typedef struct _WS_BYTES { + ULONG length; + BYTE *bytes; +} WS_BYTES; + +typedef struct _WS_BUFFERS { + ULONG bufferCount; + WS_BYTES *buffers; +} WS_BUFFERS; + +typedef enum { + WS_XML_READER_ENCODING_TYPE_TEXT = 1, + WS_XML_READER_ENCODING_TYPE_BINARY = 2, + WS_XML_READER_ENCODING_TYPE_MTOM = 3, + WS_XML_READER_ENCODING_TYPE_RAW = 4 +} WS_XML_READER_ENCODING_TYPE; + +typedef struct _WS_XML_READER_ENCODING { + WS_XML_READER_ENCODING_TYPE encodingType; +} WS_XML_READER_ENCODING; + +typedef enum { + WS_XML_WRITER_ENCODING_TYPE_TEXT = 1, + WS_XML_WRITER_ENCODING_TYPE_BINARY = 2, + WS_XML_WRITER_ENCODING_TYPE_MTOM = 3, + WS_XML_WRITER_ENCODING_TYPE_RAW = 4 +} WS_XML_WRITER_ENCODING_TYPE; + +typedef struct _WS_XML_WRITER_ENCODING { + WS_XML_WRITER_ENCODING_TYPE encodingType; +} WS_XML_WRITER_ENCODING; + +typedef enum { + WS_CHARSET_AUTO, + WS_CHARSET_UTF8, + WS_CHARSET_UTF16LE, + WS_CHARSET_UTF16BE +} WS_CHARSET; + +typedef struct _WS_XML_DICTIONARY { + GUID guid; + struct _WS_XML_STRING *strings; + ULONG stringCount; + WINBOOL isConst; +} WS_XML_DICTIONARY; + +typedef struct _WS_XML_STRING { + ULONG length; + BYTE *bytes; + WS_XML_DICTIONARY *dictionary; + ULONG id; +} WS_XML_STRING; + +typedef struct _WS_XML_READER_TEXT_ENCODING { + WS_XML_READER_ENCODING encoding; + WS_CHARSET charSet; +} WS_XML_READER_TEXT_ENCODING; + +typedef struct _WS_XML_READER_BINARY_ENCODING { + WS_XML_READER_ENCODING encoding; + WS_XML_DICTIONARY *staticDictionary; + WS_XML_DICTIONARY *dynamicDictionary; +} WS_XML_READER_BINARY_ENCODING; + +typedef struct _WS_XML_WRITER_TEXT_ENCODING { + WS_XML_WRITER_ENCODING encoding; + WS_CHARSET charSet; +} WS_XML_WRITER_TEXT_ENCODING; + +typedef HRESULT (CALLBACK *WS_DYNAMIC_STRING_CALLBACK) + (void*, const WS_XML_STRING*, WINBOOL*, ULONG*, WS_ERROR*); + +typedef struct _WS_XML_WRITER_BINARY_ENCODING { + WS_XML_WRITER_ENCODING encoding; + WS_XML_DICTIONARY *staticDictionary; + WS_DYNAMIC_STRING_CALLBACK dynamicStringCallback; + void *dynamicStringCallbackState; +} WS_XML_WRITER_BINARY_ENCODING; + +typedef enum { + WS_XML_READER_INPUT_TYPE_BUFFER = 1, + WS_XML_READER_INPUT_TYPE_STREAM = 2 +} WS_XML_READER_INPUT_TYPE; + +typedef enum { + WS_XML_WRITER_OUTPUT_TYPE_BUFFER = 1, + WS_XML_WRITER_OUTPUT_TYPE_STREAM = 2 +} WS_XML_WRITER_OUTPUT_TYPE; + +typedef struct _WS_XML_READER_INPUT { + WS_XML_READER_INPUT_TYPE inputType; +} WS_XML_READER_INPUT; + +typedef struct _WS_XML_WRITER_OUTPUT { + WS_XML_WRITER_OUTPUT_TYPE outputType; +} WS_XML_WRITER_OUTPUT; + +typedef struct _WS_XML_READER_BUFFER_INPUT { + WS_XML_READER_INPUT input; + void *encodedData; + ULONG encodedDataSize; +} WS_XML_READER_BUFFER_INPUT; + +typedef struct _WS_XML_WRITER_BUFFER_OUTPUT { + WS_XML_WRITER_OUTPUT output; +} WS_XML_WRITER_BUFFER_OUTPUT; + +typedef enum { + WS_SHORT_CALLBACK, + WS_LONG_CALLBACK +} WS_CALLBACK_MODEL; + +typedef void (CALLBACK *WS_ASYNC_CALLBACK) + (HRESULT, WS_CALLBACK_MODEL, void *); + +typedef struct _WS_ASYNC_CONTEXT { + WS_ASYNC_CALLBACK callback; + void *callbackState; +} WS_ASYNC_CONTEXT; + +typedef HRESULT (CALLBACK *WS_READ_CALLBACK) + (void*, void*, ULONG, ULONG*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef struct _WS_XML_READER_STREAM_INPUT { + WS_XML_READER_INPUT input; + WS_READ_CALLBACK readCallback; + void *readCallbackState; +} WS_XML_READER_STREAM_INPUT; + +typedef HRESULT (CALLBACK *WS_WRITE_CALLBACK) + (void*, const WS_BYTES*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef struct _WS_XML_WRITER_STREAM_OUTPUT { + WS_XML_WRITER_OUTPUT output; + WS_WRITE_CALLBACK writeCallback; + void *writeCallbackState; +} WS_XML_WRITER_STREAM_OUTPUT; + +typedef enum { + WS_ELEMENT_TYPE_MAPPING = 1, + WS_ATTRIBUTE_TYPE_MAPPING = 2, + WS_ELEMENT_CONTENT_TYPE_MAPPING = 3, + WS_ANY_ELEMENT_TYPE_MAPPING = 4 +} WS_TYPE_MAPPING; + +typedef enum { + WS_BOOL_TYPE, + WS_INT8_TYPE, + WS_INT16_TYPE, + WS_INT32_TYPE, + WS_INT64_TYPE, + WS_UINT8_TYPE, + WS_UINT16_TYPE, + WS_UINT32_TYPE, + WS_UINT64_TYPE, + WS_FLOAT_TYPE, + WS_DOUBLE_TYPE, + WS_DECIMAL_TYPE, + WS_DATETIME_TYPE, + WS_TIMESPAN_TYPE, + WS_GUID_TYPE, + WS_UNIQUE_ID_TYPE, + WS_STRING_TYPE, + WS_WSZ_TYPE, + WS_BYTES_TYPE, + WS_XML_STRING_TYPE, + WS_XML_QNAME_TYPE, + WS_XML_BUFFER_TYPE, + WS_CHAR_ARRAY_TYPE, + WS_UTF8_ARRAY_TYPE, + WS_BYTE_ARRAY_TYPE, + WS_DESCRIPTION_TYPE, + WS_STRUCT_TYPE, + WS_CUSTOM_TYPE, + WS_ENDPOINT_ADDRESS_TYPE, + WS_FAULT_TYPE, + WS_VOID_TYPE, + WS_ENUM_TYPE, + WS_DURATION_TYPE, + WS_UNION_TYPE, + WS_ANY_ATTRIBUTES_TYPE +} WS_TYPE; + +typedef enum { + WS_READ_REQUIRED_VALUE = 1, + WS_READ_REQUIRED_POINTER = 2, + WS_READ_OPTIONAL_POINTER = 3, + WS_READ_NILLABLE_POINTER = 4, + WS_READ_NILLABLE_VALUE = 5 +} WS_READ_OPTION; + +typedef enum { + WS_WRITE_REQUIRED_VALUE = 1, + WS_WRITE_REQUIRED_POINTER = 2, + WS_WRITE_NILLABLE_VALUE = 3, + WS_WRITE_NILLABLE_POINTER = 4 +} WS_WRITE_OPTION; + +typedef struct _WS_BOOL_DESCRIPTION { + WINBOOL value; +} WS_BOOL_DESCRIPTION; + +typedef struct _WS_INT8_DESCRIPTION { + char minValue; + char maxValue; +} WS_INT8_DESCRIPTION; + +typedef struct _WS_INT16_DESCRIPTION { + short minValue; + short maxValue; +} WS_INT16_DESCRIPTION; + +typedef struct _WS_INT32_DESCRIPTION { + int minValue; + int maxValue; +} WS_INT32_DESCRIPTION; + +typedef struct _WS_INT64_DESCRIPTION { + __int64 DECLSPEC_ALIGN(8) minValue; + __int64 DECLSPEC_ALIGN(8) maxValue; +} WS_INT64_DESCRIPTION; + +typedef struct _WS_UINT8_DESCRIPTION { + BYTE minValue; + BYTE maxValue; +} WS_UINT8_DESCRIPTION; + +typedef struct _WS_UINT16_DESCRIPTION { + USHORT minValue; + USHORT maxValue; +} WS_UINT16_DESCRIPTION; + +typedef struct _WS_UINT32_DESCRIPTION { + ULONG minValue; + ULONG maxValue; +} WS_UINT32_DESCRIPTION; + +typedef struct _WS_UINT64_DESCRIPTION { + unsigned __int64 DECLSPEC_ALIGN(8) minValue; + unsigned __int64 DECLSPEC_ALIGN(8) maxValue; +} WS_UINT64_DESCRIPTION; + +typedef struct _WS_WSZ_DESCRIPTION { + ULONG minCharCount; + ULONG maxCharCount; +} WS_WSZ_DESCRIPTION; + +typedef struct _WS_STRING_DESCRIPTION { + ULONG minCharCount; + ULONG maxCharCount; +} WS_STRING_DESCRIPTION; + +typedef struct _WS_XML_STRING_DESCRIPTION { + ULONG minByteCount; + ULONG maxByteCount; +} WS_XML_STRING_DESCRIPTION; + +typedef struct _WS_XML_QNAME_DESCRIPTION { + ULONG minLocalNameByteCount; + ULONG maxLocalNameByteCount; + ULONG minNsByteCount; + ULONG maxNsByteCount; +} WS_XML_QNAME_DESCRIPTION; + +struct _WS_ENUM_VALUE { + int value; + WS_XML_STRING *name; +}; + +struct _WS_ENUM_DESCRIPTION { + WS_ENUM_VALUE *values; + ULONG valueCount; + ULONG maxByteCount; + ULONG *nameIndices; +}; + +struct _WS_FLOAT_DESCRIPTION { + float minValue; + float maxValue; +}; + +struct _WS_DOUBLE_DESCRIPTION { + double DECLSPEC_ALIGN(8) minValue; + double DECLSPEC_ALIGN(8) maxValue; +}; + +struct _WS_GUID_DESCRIPTION { + GUID value; +}; + +struct _WS_UNIQUE_ID_DESCRIPTION { + ULONG minCharCount; + ULONG maxCharCount; +}; + +struct _WS_BYTES_DESCRIPTION { + ULONG minByteCount; + ULONG maxByteCount; +}; + +typedef enum { + WS_TYPE_ATTRIBUTE_FIELD_MAPPING, + WS_ATTRIBUTE_FIELD_MAPPING, + WS_ELEMENT_FIELD_MAPPING, + WS_REPEATING_ELEMENT_FIELD_MAPPING, + WS_TEXT_FIELD_MAPPING, + WS_NO_FIELD_MAPPING, + WS_XML_ATTRIBUTE_FIELD_MAPPING, + WS_ELEMENT_CHOICE_FIELD_MAPPING, + WS_REPEATING_ELEMENT_CHOICE_FIELD_MAPPING, + WS_ANY_ELEMENT_FIELD_MAPPING, + WS_REPEATING_ANY_ELEMENT_FIELD_MAPPING, + WS_ANY_CONTENT_FIELD_MAPPING, + WS_ANY_ATTRIBUTES_FIELD_MAPPING +} WS_FIELD_MAPPING; + +typedef struct _WS_DEFAULT_VALUE { + void *value; + ULONG valueSize; +} WS_DEFAULT_VALUE; + +typedef struct _WS_ITEM_RANGE { + ULONG minItemCount; + ULONG maxItemCount; +} WS_ITEM_RANGE; + +enum +{ + WS_FIELD_POINTER = 0x1, + WS_FIELD_OPTIONAL = 0x2, + WS_FIELD_NILLABLE = 0x4, + WS_FIELD_NILLABLE_ITEM = 0x8, + WS_FIELD_OTHER_NAMESPACE = 0x10 +}; + +typedef struct _WS_FIELD_DESCRIPTION { + WS_FIELD_MAPPING mapping; + WS_XML_STRING *localName; + WS_XML_STRING *ns; + WS_TYPE type; + void *typeDescription; + ULONG offset; + ULONG options; + WS_DEFAULT_VALUE *defaultValue; + ULONG countOffset; + WS_XML_STRING *itemLocalName; + WS_XML_STRING *itemNs; + WS_ITEM_RANGE *itemRange; +} WS_FIELD_DESCRIPTION; + +enum +{ + WS_STRUCT_ABSTRACT = 0x1, + WS_STRUCT_IGNORE_TRAILING_ELEMENT_CONTENT = 0x2, + WS_STRUCT_IGNORE_UNHANDLED_ATTRIBUTES = 0x4 +}; + +typedef struct _WS_STRUCT_DESCRIPTION { + ULONG size; + ULONG alignment; + WS_FIELD_DESCRIPTION **fields; + ULONG fieldCount; + WS_XML_STRING *typeLocalName; + WS_XML_STRING *typeNs; + struct _WS_STRUCT_DESCRIPTION *parentType; + struct _WS_STRUCT_DESCRIPTION **subTypes; + ULONG subTypeCount; + ULONG structOptions; +} WS_STRUCT_DESCRIPTION; + +typedef struct _WS_UNION_FIELD_DESCRIPTION { + int value; + WS_FIELD_DESCRIPTION field; +} WS_UNION_FIELD_DESCRIPTION; + +typedef struct _WS_UNION_DESCRIPTION { + ULONG size; + ULONG alignment; + WS_UNION_FIELD_DESCRIPTION **fields; + ULONG fieldCount; + ULONG enumOffset; + int noneEnumValue; + ULONG *valueIndices; +} WS_UNION_DESCRIPTION; + +typedef struct _WS_ATTRIBUTE_DESCRIPTION { + WS_XML_STRING *attributeLocalName; + WS_XML_STRING *attributeNs; + WS_TYPE type; + void *typeDescription; +} WS_ATTRIBUTE_DESCRIPTION; + +typedef struct _WS_ELEMENT_DESCRIPTION { + WS_XML_STRING *elementLocalName; + WS_XML_STRING *elementNs; + WS_TYPE type; + void *typeDescription; +} WS_ELEMENT_DESCRIPTION; + +typedef struct _WS_STRING { + ULONG length; + WCHAR *chars; +} WS_STRING; + +typedef struct _WS_UNIQUE_ID { + WS_STRING uri; + GUID guid; +} WS_UNIQUE_ID; + +typedef enum { + WS_XML_NODE_TYPE_ELEMENT = 1, + WS_XML_NODE_TYPE_TEXT = 2, + WS_XML_NODE_TYPE_END_ELEMENT = 3, + WS_XML_NODE_TYPE_COMMENT = 4, + WS_XML_NODE_TYPE_CDATA = 6, + WS_XML_NODE_TYPE_END_CDATA = 7, + WS_XML_NODE_TYPE_EOF = 8, + WS_XML_NODE_TYPE_BOF = 9 +} WS_XML_NODE_TYPE; + +typedef struct _WS_XML_NODE { + WS_XML_NODE_TYPE nodeType; +} WS_XML_NODE; + +typedef enum { + WS_MOVE_TO_ROOT_ELEMENT, + WS_MOVE_TO_NEXT_ELEMENT, + WS_MOVE_TO_PREVIOUS_ELEMENT, + WS_MOVE_TO_CHILD_ELEMENT, + WS_MOVE_TO_END_ELEMENT, + WS_MOVE_TO_PARENT_ELEMENT, + WS_MOVE_TO_NEXT_NODE, + WS_MOVE_TO_PREVIOUS_NODE, + WS_MOVE_TO_FIRST_NODE, + WS_MOVE_TO_BOF, + WS_MOVE_TO_EOF, + WS_MOVE_TO_CHILD_NODE +} WS_MOVE_TO; + +typedef enum { + WS_XML_TEXT_TYPE_UTF8 = 1, + WS_XML_TEXT_TYPE_UTF16 = 2, + WS_XML_TEXT_TYPE_BASE64 = 3, + WS_XML_TEXT_TYPE_BOOL = 4, + WS_XML_TEXT_TYPE_INT32 = 5, + WS_XML_TEXT_TYPE_INT64 = 6, + WS_XML_TEXT_TYPE_UINT64 = 7, + WS_XML_TEXT_TYPE_FLOAT = 8, + WS_XML_TEXT_TYPE_DOUBLE = 9, + WS_XML_TEXT_TYPE_DECIMAL = 10, + WS_XML_TEXT_TYPE_GUID = 11, + WS_XML_TEXT_TYPE_UNIQUE_ID = 12, + WS_XML_TEXT_TYPE_DATETIME = 13, + WS_XML_TEXT_TYPE_TIMESPAN = 14, + WS_XML_TEXT_TYPE_QNAME = 15, + WS_XML_TEXT_TYPE_LIST = 16 +} WS_XML_TEXT_TYPE; + +typedef struct _WS_XML_TEXT { + WS_XML_TEXT_TYPE textType; +} WS_XML_TEXT; + +typedef struct _WS_XML_UTF8_TEXT { + WS_XML_TEXT text; + WS_XML_STRING value; +} WS_XML_UTF8_TEXT; + +typedef struct _WS_XML_UTF16_TEXT { + WS_XML_TEXT text; + BYTE *bytes; + ULONG byteCount; +} WS_XML_UTF16_TEXT; + +typedef struct _WS_XML_BOOL_TEXT { + WS_XML_TEXT text; + WINBOOL value; +} WS_XML_BOOL_TEXT; + +typedef struct _WS_XML_INT32_TEXT { + WS_XML_TEXT text; + __int32 value; +} WS_XML_INT32_TEXT; + +typedef struct _WS_XML_INT64_TEXT { + WS_XML_TEXT text; + __int64 DECLSPEC_ALIGN(8) value; +} WS_XML_INT64_TEXT; + +typedef struct _WS_XML_UINT64_TEXT { + WS_XML_TEXT text; + unsigned __int64 DECLSPEC_ALIGN(8) value; +} WS_XML_UINT64_TEXT; + +typedef struct _WS_XML_FLOAT_TEXT { + WS_XML_TEXT text; + float value; +} WS_XML_FLOAT_TEXT; + +typedef struct _WS_XML_DOUBLE_TEXT { + WS_XML_TEXT text; + double DECLSPEC_ALIGN(8) value; +} WS_XML_DOUBLE_TEXT; + +typedef struct _WS_XML_GUID_TEXT { + WS_XML_TEXT text; + GUID value; +} WS_XML_GUID_TEXT; + +typedef struct _WS_XML_UNIQUE_ID_TEXT { + WS_XML_TEXT text; + GUID value; +} WS_XML_UNIQUE_ID_TEXT; + +typedef struct _WS_XML_QNAME_TEXT { + WS_XML_TEXT text; + WS_XML_STRING *prefix; + WS_XML_STRING *localName; + WS_XML_STRING *ns; +} WS_XML_QNAME_TEXT; + +typedef enum { + WS_BOOL_VALUE_TYPE, + WS_INT8_VALUE_TYPE, + WS_INT16_VALUE_TYPE, + WS_INT32_VALUE_TYPE, + WS_INT64_VALUE_TYPE, + WS_UINT8_VALUE_TYPE, + WS_UINT16_VALUE_TYPE, + WS_UINT32_VALUE_TYPE, + WS_UINT64_VALUE_TYPE, + WS_FLOAT_VALUE_TYPE, + WS_DOUBLE_VALUE_TYPE, + WS_DECIMAL_VALUE_TYPE, + WS_DATETIME_VALUE_TYPE, + WS_TIMESPAN_VALUE_TYPE, + WS_GUID_VALUE_TYPE, + WS_DURATION_VALUE_TYPE +} WS_VALUE_TYPE; + +typedef struct _WS_XML_ATTRIBUTE { + BYTE singleQuote; + BYTE isXmlNs; + WS_XML_STRING *prefix; + WS_XML_STRING *localName; + WS_XML_STRING *ns; + WS_XML_TEXT *value; +} WS_XML_ATTRIBUTE; + +typedef struct _WS_XML_ELEMENT_NODE { + WS_XML_NODE node; + WS_XML_STRING *prefix; + WS_XML_STRING *localName; + WS_XML_STRING *ns; + ULONG attributeCount; + WS_XML_ATTRIBUTE **attributes; + WINBOOL isEmpty; +} WS_XML_ELEMENT_NODE; + +typedef struct _WS_XML_TEXT_NODE { + WS_XML_NODE node; + WS_XML_TEXT *text; +} WS_XML_TEXT_NODE; + +typedef struct _WS_XML_COMMENT_NODE { + WS_XML_NODE node; + WS_XML_STRING value; +} WS_XML_COMMENT_NODE; + +typedef struct _WS_XML_NODE_POSITION { + WS_XML_BUFFER *buffer; + void *node; +} WS_XML_NODE_POSITION; + +typedef struct _WS_XML_QNAME { + WS_XML_STRING localName; + WS_XML_STRING ns; +} WS_XML_QNAME; + +typedef enum { + WS_SERVICE_PROXY_STATE_CREATED, + WS_SERVICE_PROXY_STATE_OPENING, + WS_SERVICE_PROXY_STATE_OPEN, + WS_SERVICE_PROXY_STATE_CLOSING, + WS_SERVICE_PROXY_STATE_CLOSED, + WS_SERVICE_PROXY_STATE_FAULTED +} WS_SERVICE_PROXY_STATE; + +typedef enum { + WS_PROXY_PROPERTY_CALL_TIMEOUT, + WS_PROXY_PROPERTY_MESSAGE_PROPERTIES, + WS_PROXY_PROPERTY_MAX_CALL_POOL_SIZE, + WS_PROXY_PROPERTY_STATE, + WS_PROXY_PROPERTY_MAX_PENDING_CALLS, + WS_PROXY_PROPERTY_MAX_CLOSE_TIMEOUT, + WS_PROXY_FAULT_LANG_ID +} WS_PROXY_PROPERTY_ID; + +struct _WS_PROXY_PROPERTY { + WS_PROXY_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +typedef enum { + WS_CHANNEL_TYPE_INPUT = 0x1, + WS_CHANNEL_TYPE_OUTPUT = 0x2, + WS_CHANNEL_TYPE_SESSION = 0x4, + WS_CHANNEL_TYPE_INPUT_SESSION = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_SESSION), + WS_CHANNEL_TYPE_OUTPUT_SESSION = (WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION), + WS_CHANNEL_TYPE_DUPLEX = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_OUTPUT), + WS_CHANNEL_TYPE_DUPLEX_SESSION = (WS_CHANNEL_TYPE_INPUT | WS_CHANNEL_TYPE_OUTPUT | WS_CHANNEL_TYPE_SESSION), + WS_CHANNEL_TYPE_REQUEST = 0x8, + WS_CHANNEL_TYPE_REPLY = 0x10 +} WS_CHANNEL_TYPE; + +typedef enum { + WS_ENCODING_XML_BINARY_1, + WS_ENCODING_XML_BINARY_SESSION_1, + WS_ENCODING_XML_MTOM_UTF8, + WS_ENCODING_XML_MTOM_UTF16BE, + WS_ENCODING_XML_MTOM_UTF16LE, + WS_ENCODING_XML_UTF8, + WS_ENCODING_XML_UTF16BE, + WS_ENCODING_XML_UTF16LE, + WS_ENCODING_RAW +} WS_ENCODING; + +typedef enum { + WS_CHANNEL_STATE_CREATED, + WS_CHANNEL_STATE_OPENING, + WS_CHANNEL_STATE_ACCEPTING, + WS_CHANNEL_STATE_OPEN, + WS_CHANNEL_STATE_FAULTED, + WS_CHANNEL_STATE_CLOSING, + WS_CHANNEL_STATE_CLOSED +} WS_CHANNEL_STATE; + +typedef enum { + WS_CHANNEL_PROPERTY_MAX_BUFFERED_MESSAGE_SIZE = 0, + WS_CHANNEL_PROPERTY_MAX_STREAMED_MESSAGE_SIZE = 1, + WS_CHANNEL_PROPERTY_MAX_STREAMED_START_SIZE = 2, + WS_CHANNEL_PROPERTY_MAX_STREAMED_FLUSH_SIZE = 3, + WS_CHANNEL_PROPERTY_ENCODING = 4, + WS_CHANNEL_PROPERTY_ENVELOPE_VERSION = 5, + WS_CHANNEL_PROPERTY_ADDRESSING_VERSION = 6, + WS_CHANNEL_PROPERTY_MAX_SESSION_DICTIONARY_SIZE = 7, + WS_CHANNEL_PROPERTY_STATE = 8, + WS_CHANNEL_PROPERTY_ASYNC_CALLBACK_MODEL = 9, + WS_CHANNEL_PROPERTY_IP_VERSION = 10, + WS_CHANNEL_PROPERTY_RESOLVE_TIMEOUT = 11, + WS_CHANNEL_PROPERTY_CONNECT_TIMEOUT = 12, + WS_CHANNEL_PROPERTY_SEND_TIMEOUT = 13, + WS_CHANNEL_PROPERTY_RECEIVE_RESPONSE_TIMEOUT = 14, + WS_CHANNEL_PROPERTY_RECEIVE_TIMEOUT = 15, + WS_CHANNEL_PROPERTY_CLOSE_TIMEOUT = 16, + WS_CHANNEL_PROPERTY_ENABLE_TIMEOUTS = 17, + WS_CHANNEL_PROPERTY_TRANSFER_MODE = 18, + WS_CHANNEL_PROPERTY_MULTICAST_INTERFACE = 19, + WS_CHANNEL_PROPERTY_MULTICAST_HOPS = 20, + WS_CHANNEL_PROPERTY_REMOTE_ADDRESS = 21, + WS_CHANNEL_PROPERTY_REMOTE_IP_ADDRESS = 22, + WS_CHANNEL_PROPERTY_HTTP_CONNECTION_ID = 23, + WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_CALLBACKS = 24, + WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_PARAMETERS = 25, + WS_CHANNEL_PROPERTY_CUSTOM_CHANNEL_INSTANCE = 26, + WS_CHANNEL_PROPERTY_TRANSPORT_URL = 27, + WS_CHANNEL_PROPERTY_NO_DELAY = 28, + WS_CHANNEL_PROPERTY_SEND_KEEP_ALIVES = 29, + WS_CHANNEL_PROPERTY_KEEP_ALIVE_TIME = 30, + WS_CHANNEL_PROPERTY_KEEP_ALIVE_INTERVAL = 31, + WS_CHANNEL_PROPERTY_MAX_HTTP_SERVER_CONNECTIONS = 32, + WS_CHANNEL_PROPERTY_IS_SESSION_SHUT_DOWN = 33, + WS_CHANNEL_PROPERTY_CHANNEL_TYPE = 34, + WS_CHANNEL_PROPERTY_TRIM_BUFFERED_MESSAGE_SIZE = 35, + WS_CHANNEL_PROPERTY_ENCODER = 36, + WS_CHANNEL_PROPERTY_DECODER = 37, + WS_CHANNEL_PROPERTY_PROTECTION_LEVEL = 38, + WS_CHANNEL_PROPERTY_COOKIE_MODE = 39, + WS_CHANNEL_PROPERTY_HTTP_PROXY_SETTING_MODE = 40, + WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY = 41, + WS_CHANNEL_PROPERTY_HTTP_MESSAGE_MAPPING = 42, + WS_CHANNEL_PROPERTY_ENABLE_HTTP_REDIRECT = 43, + WS_CHANNEL_PROPERTY_HTTP_REDIRECT_CALLBACK_CONTEXT = 44, + WS_CHANNEL_PROPERTY_FAULTS_AS_ERRORS = 45, + WS_CHANNEL_PROPERTY_ALLOW_UNSECURED_FAULTS = 46, + WS_CHANNEL_PROPERTY_HTTP_SERVER_SPN = 47, + WS_CHANNEL_PROPERTY_HTTP_PROXY_SPN = 48, + WS_CHANNEL_PROPERTY_MAX_HTTP_REQUEST_HEADERS_BUFFER_SIZE = 49 +} WS_CHANNEL_PROPERTY_ID; + +struct _WS_CHANNEL_PROPERTY { + WS_CHANNEL_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +struct _WS_CHANNEL_PROPERTIES { + WS_CHANNEL_PROPERTY *properties; + ULONG propertyCount; +}; + +typedef enum { + WS_HTTP_CHANNEL_BINDING, + WS_TCP_CHANNEL_BINDING, + WS_UDP_CHANNEL_BINDING, + WS_CUSTOM_CHANNEL_BINDING, + WS_NAMEDPIPE_CHANNEL_BINDING +} WS_CHANNEL_BINDING; + +typedef enum { + WS_SSL_TRANSPORT_SECURITY_BINDING_TYPE, + WS_TCP_SSPI_TRANSPORT_SECURITY_BINDING_TYPE, + WS_HTTP_HEADER_AUTH_SECURITY_BINDING_TYPE, + WS_USERNAME_MESSAGE_SECURITY_BINDING_TYPE, + WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING_TYPE, + WS_XML_TOKEN_MESSAGE_SECURITY_BINDING_TYPE, + WS_SAML_MESSAGE_SECURITY_BINDING_TYPE, + WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_TYPE, + WS_NAMEDPIPE_SSPI_TRANSPORT_SECURITY_BINDING_TYPE +} WS_SECURITY_BINDING_TYPE; + +typedef enum { + WS_SECURITY_BINDING_PROPERTY_REQUIRE_SSL_CLIENT_CERT = 1, + WS_SECURITY_BINDING_PROPERTY_WINDOWS_INTEGRATED_AUTH_PACKAGE = 2, + WS_SECURITY_BINDING_PROPERTY_REQUIRE_SERVER_AUTH = 3, + WS_SECURITY_BINDING_PROPERTY_ALLOW_ANONYMOUS_CLIENTS = 4, + WS_SECURITY_BINDING_PROPERTY_ALLOWED_IMPERSONATION_LEVEL = 5, + WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_SCHEME = 6, + WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_TARGET = 7, + WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_BASIC_REALM = 8, + WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_REALM = 9, + WS_SECURITY_BINDING_PROPERTY_HTTP_HEADER_AUTH_DIGEST_DOMAIN = 10, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_SIZE = 11, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_KEY_ENTROPY_MODE = 12, + WS_SECURITY_BINDING_PROPERTY_MESSAGE_PROPERTIES = 13, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_PENDING_CONTEXTS = 14, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_MAX_ACTIVE_CONTEXTS = 15, + WS_SECURITY_BINDING_PROPERTY_SECURE_CONVERSATION_VERSION = 16, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_SUPPORT_RENEW = 17, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_RENEWAL_INTERVAL = 18, + WS_SECURITY_BINDING_PROPERTY_SECURITY_CONTEXT_ROLLOVER_INTERVAL = 19, + WS_SECURITY_BINDING_PROPERTY_CERT_FAILURES_TO_IGNORE = 20, + WS_SECURITY_BINDING_PROPERTY_DISABLE_CERT_REVOCATION_CHECK = 21, + WS_SECURITY_BINDING_PROPERTY_DISALLOWED_SECURE_PROTOCOLS = 22, + WS_SECURITY_BINDING_PROPERTY_CERTIFICATE_VALIDATION_CALLBACK_CONTEXT = 23 +} WS_SECURITY_BINDING_PROPERTY_ID; + +struct _WS_SECURITY_BINDING_PROPERTY { + WS_SECURITY_BINDING_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +struct _WS_SECURITY_BINDING_PROPERTIES { + WS_SECURITY_BINDING_PROPERTY *properties; + ULONG propertyCount; +}; + +struct _WS_SECURITY_BINDING { + WS_SECURITY_BINDING_TYPE bindingType; + WS_SECURITY_BINDING_PROPERTY *properties; + ULONG propertyCount; +}; + +typedef enum { + WS_SECURITY_PROPERTY_TRANSPORT_PROTECTION_LEVEL = 1, + WS_SECURITY_PROPERTY_ALGORITHM_SUITE = 2, + WS_SECURITY_PROPERTY_ALGORITHM_SUITE_NAME = 3, + WS_SECURITY_PROPERTY_MAX_ALLOWED_LATENCY = 4, + WS_SECURITY_PROPERTY_TIMESTAMP_VALIDITY_DURATION = 5, + WS_SECURITY_PROPERTY_MAX_ALLOWED_CLOCK_SKEW = 6, + WS_SECURITY_PROPERTY_TIMESTAMP_USAGE = 7, + WS_SECURITY_PROPERTY_SECURITY_HEADER_LAYOUT = 8, + WS_SECURITY_PROPERTY_SECURITY_HEADER_VERSION = 9, + WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_POLICY = 10, + WS_SECURITY_PROPERTY_EXTENDED_PROTECTION_SCENARIO = 11, + WS_SECURITY_PROPERTY_SERVICE_IDENTITIES = 12 +} WS_SECURITY_PROPERTY_ID; + +struct _WS_SECURITY_PROPERTY { + WS_SECURITY_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +struct _WS_SECURITY_PROPERTIES { + WS_SECURITY_PROPERTY *properties; + ULONG propertyCount; +}; + +struct _WS_SECURITY_DESCRIPTION { + WS_SECURITY_BINDING **securityBindings; + ULONG securityBindingCount; + WS_SECURITY_PROPERTY *properties; + ULONG propertyCount; +}; + +typedef enum { + WS_HTTP_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_BINDING_TEMPLATE_TYPE, + WS_HTTP_HEADER_AUTH_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_HEADER_AUTH_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_USERNAME_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE, + WS_TCP_BINDING_TEMPLATE_TYPE, + WS_TCP_SSPI_BINDING_TEMPLATE_TYPE, + WS_TCP_SSPI_USERNAME_BINDING_TEMPLATE_TYPE, + WS_TCP_SSPI_KERBEROS_APREQ_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE, + WS_HTTP_SSL_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE, + WS_TCP_SSPI_USERNAME_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE, + WS_TCP_SSPI_KERBEROS_APREQ_SECURITY_CONTEXT_BINDING_TEMPLATE_TYPE +} WS_BINDING_TEMPLATE_TYPE; + +typedef enum { + WS_SUBJECT_NAME_CERT_CREDENTIAL_TYPE = 1, + WS_THUMBPRINT_CERT_CREDENTIAL_TYPE = 2, + WS_CUSTOM_CERT_CREDENTIAL_TYPE = 3 +} WS_CERT_CREDENTIAL_TYPE; + +struct _WS_CERT_CREDENTIAL { + WS_CERT_CREDENTIAL_TYPE credentialType; +}; + +struct _WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE { + WS_SECURITY_BINDING_PROPERTIES securityBindingProperties; + WS_CERT_CREDENTIAL *localCertCredential; +}; + +struct _WS_HTTP_BINDING_TEMPLATE { + WS_CHANNEL_PROPERTIES channelProperties; +}; + +struct _WS_HTTP_SSL_BINDING_TEMPLATE { + WS_CHANNEL_PROPERTIES channelProperties; + WS_SECURITY_PROPERTIES securityProperties; + WS_SSL_TRANSPORT_SECURITY_BINDING_TEMPLATE sslTransportSecurityBinding; +}; + +enum { + WS_MUST_UNDERSTAND_HEADER_ATTRIBUTE = 0x1, + WS_RELAY_HEADER_ATTRIBUTE = 0x2 +}; + +typedef enum { + WS_ADDRESSING_VERSION_0_9 = 1, + WS_ADDRESSING_VERSION_1_0 = 2, + WS_ADDRESSING_VERSION_TRANSPORT = 3 +} WS_ADDRESSING_VERSION; + +typedef enum { + WS_ENVELOPE_VERSION_SOAP_1_1 = 1, + WS_ENVELOPE_VERSION_SOAP_1_2 = 2, + WS_ENVELOPE_VERSION_NONE = 3 +} WS_ENVELOPE_VERSION; + +typedef enum { + WS_MESSAGE_PROPERTY_STATE, + WS_MESSAGE_PROPERTY_HEAP, + WS_MESSAGE_PROPERTY_ENVELOPE_VERSION, + WS_MESSAGE_PROPERTY_ADDRESSING_VERSION, + WS_MESSAGE_PROPERTY_HEADER_BUFFER, + WS_MESSAGE_PROPERTY_HEADER_POSITION, + WS_MESSAGE_PROPERTY_BODY_READER, + WS_MESSAGE_PROPERTY_BODY_WRITER, + WS_MESSAGE_PROPERTY_IS_ADDRESSED, + WS_MESSAGE_PROPERTY_HEAP_PROPERTIES, + WS_MESSAGE_PROPERTY_XML_READER_PROPERTIES, + WS_MESSAGE_PROPERTY_XML_WRITER_PROPERTIES, + WS_MESSAGE_PROPERTY_IS_FAULT, + WS_MESSAGE_PROPERTY_MAX_PROCESSED_HEADERS, + WS_MESSAGE_PROPERTY_USERNAME, + WS_MESSAGE_PROPERTY_ENCODED_CERT, + WS_MESSAGE_PROPERTY_TRANSPORT_SECURITY_WINDOWS_TOKEN, + WS_MESSAGE_PROPERTY_HTTP_HEADER_AUTH_WINDOWS_TOKEN, + WS_MESSAGE_PROPERTY_MESSAGE_SECURITY_WINDOWS_TOKEN, + WS_MESSAGE_PROPERTY_SAML_ASSERTION, + WS_MESSAGE_PROPERTY_SECURITY_CONTEXT, + WS_MESSAGE_PROPERTY_PROTECTION_LEVEL +} WS_MESSAGE_PROPERTY_ID; + +struct _WS_MESSAGE_PROPERTY { + WS_MESSAGE_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +struct _WS_MESSAGE_PROPERTIES { + WS_MESSAGE_PROPERTY *properties; + ULONG propertyCount; +}; + +typedef enum { + WS_MESSAGE_STATE_EMPTY = 1, + WS_MESSAGE_STATE_INITIALIZED = 2, + WS_MESSAGE_STATE_READING = 3, + WS_MESSAGE_STATE_WRITING = 4, + WS_MESSAGE_STATE_DONE = 5 +} WS_MESSAGE_STATE; + +typedef enum { + WS_BLANK_MESSAGE, + WS_DUPLICATE_MESSAGE, + WS_REQUEST_MESSAGE, + WS_REPLY_MESSAGE, + WS_FAULT_MESSAGE +} WS_MESSAGE_INITIALIZATION; + +typedef enum { + WS_ACTION_HEADER = 1, + WS_TO_HEADER = 2, + WS_MESSAGE_ID_HEADER = 3, + WS_RELATES_TO_HEADER = 4, + WS_FROM_HEADER = 5, + WS_REPLY_TO_HEADER = 6, + WS_FAULT_TO_HEADER = 7 +} WS_HEADER_TYPE; + +typedef enum { + WS_REPEATING_HEADER = 1, + WS_SINGLETON_HEADER = 2 +} WS_REPEATING_HEADER_OPTION; + +typedef enum { + WS_DNS_ENDPOINT_IDENTITY_TYPE = 1, + WS_UPN_ENDPOINT_IDENTITY_TYPE = 2, + WS_SPN_ENDPOINT_IDENTITY_TYPE = 3, + WS_RSA_ENDPOINT_IDENTITY_TYPE = 4, + WS_CERT_ENDPOINT_IDENTITY_TYPE = 5, + WS_UNKNOWN_ENDPOINT_IDENTITY_TYPE = 6 +} WS_ENDPOINT_IDENTITY_TYPE; + +struct _WS_ENDPOINT_IDENTITY { + WS_ENDPOINT_IDENTITY_TYPE identityType; +}; + +struct _WS_ENDPOINT_ADDRESS { + WS_STRING url; + WS_XML_BUFFER *headers; + WS_XML_BUFFER *extensions; + WS_ENDPOINT_IDENTITY *identity; +}; + +typedef struct _WS_FAULT_CODE { + WS_XML_QNAME value; + struct _WS_FAULT_CODE *subCode; +} WS_FAULT_CODE; + +typedef struct _WS_FAULT_REASON { + WS_STRING text; + WS_STRING lang; +} WS_FAULT_REASON; + +typedef struct _WS_FAULT { + WS_FAULT_CODE *code; + WS_FAULT_REASON *reasons; + ULONG reasonCount; + WS_STRING actor; + WS_STRING node; + WS_XML_BUFFER *detail; +} WS_FAULT; + +typedef struct _WS_FAULT_DESCRIPTION { + WS_ENVELOPE_VERSION envelopeVersion; +} WS_FAULT_DESCRIPTION; + +typedef struct _WS_FAULT_DETAIL_DESCRIPTION { + WS_XML_STRING *action; + WS_ELEMENT_DESCRIPTION *detailElementDescription; +} WS_FAULT_DETAIL_DESCRIPTION; + +typedef enum { + WS_FAULT_ERROR_PROPERTY_FAULT = 0, + WS_FAULT_ERROR_PROPERTY_ACTION = 1, + WS_FAULT_ERROR_PROPERTY_HEADER = 2 +} WS_FAULT_ERROR_PROPERTY_ID; + + +struct _WS_HTTP_POLICY_DESCRIPTION { + WS_CHANNEL_PROPERTIES channelProperties; +}; + +struct _WS_MESSAGE_DESCRIPTION { + WS_XML_STRING *action; + WS_ELEMENT_DESCRIPTION *bodyElementDescription; +}; + +typedef enum { + WS_PARAMETER_TYPE_NORMAL, + WS_PARAMETER_TYPE_ARRAY, + WS_PARAMETER_TYPE_ARRAY_COUNT, + WS_PARAMETER_TYPE_MESSAGES +} WS_PARAMETER_TYPE; + +struct _WS_PARAMETER_DESCRIPTION { + WS_PARAMETER_TYPE parameterType; + USHORT inputMessageIndex; + USHORT outputMessageIndex; +}; + +typedef HRESULT (CALLBACK *WS_SERVICE_STUB_CALLBACK)( + const WS_OPERATION_CONTEXT *context, + void *frame, + const void *callback, + const WS_ASYNC_CONTEXT *asyncContext, + WS_ERROR *error ); + +typedef enum { + WS_NON_RPC_LITERAL_OPERATION, + WS_RPC_LITERAL_OPERATION +} WS_OPERATION_STYLE; + +struct _WS_OPERATION_DESCRIPTION { + ULONG versionInfo; + WS_MESSAGE_DESCRIPTION *inputMessageDescription; + WS_MESSAGE_DESCRIPTION *outputMessageDescription; + ULONG inputMessageOptions; + ULONG outputMessageOptions; + USHORT parameterCount; + WS_PARAMETER_DESCRIPTION *parameterDescription; + WS_SERVICE_STUB_CALLBACK stubCallback; + WS_OPERATION_STYLE style; +}; + +typedef enum { + WS_CALL_PROPERTY_CHECK_MUST_UNDERSTAND, + WS_CALL_PROPERTY_SEND_MESSAGE_CONTEXT, + WS_CALL_PROPERTY_RECEIVE_MESSAGE_CONTEXT, + WS_CALL_PROPERTY_CALL_ID +} WS_CALL_PROPERTY_ID; + +struct _WS_CALL_PROPERTY { + WS_CALL_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +typedef enum { + WS_DATETIME_FORMAT_UTC, + WS_DATETIME_FORMAT_LOCAL, + WS_DATETIME_FORMAT_NONE +} WS_DATETIME_FORMAT; + +struct _WS_DATETIME { + unsigned __int64 DECLSPEC_ALIGN(8) ticks; + WS_DATETIME_FORMAT format; +}; + +struct _WS_DATETIME_DESCRIPTION { + WS_DATETIME minValue; + WS_DATETIME maxValue; +}; + +struct _WS_XML_DATETIME_TEXT { + WS_XML_TEXT text; + WS_DATETIME value; +}; + +struct _WS_XML_BASE64_TEXT { + WS_XML_TEXT text; + BYTE *bytes; + ULONG length; +}; + +typedef enum { + WS_URL_HTTP_SCHEME_TYPE, + WS_URL_HTTPS_SCHEME_TYPE, + WS_URL_NETTCP_SCHEME_TYPE, + WS_URL_SOAPUDP_SCHEME_TYPE, + WS_URL_NETPIPE_SCHEME_TYPE +} WS_URL_SCHEME_TYPE; + +enum { + WS_URL_FLAGS_ALLOW_HOST_WILDCARDS = 0x1, + WS_URL_FLAGS_NO_PATH_COLLAPSE = 0x2, + WS_URL_FLAGS_ZERO_TERMINATE = 0x4 +}; + +struct _WS_URL { + WS_URL_SCHEME_TYPE scheme; +}; + +struct _WS_HTTP_URL { + WS_URL url; + WS_STRING host; + USHORT port; + WS_STRING portAsString; + WS_STRING path; + WS_STRING query; + WS_STRING fragment; +}; + +struct _WS_HTTPS_URL { + WS_URL url; + WS_STRING host; + USHORT port; + WS_STRING portAsString; + WS_STRING path; + WS_STRING query; + WS_STRING fragment; +}; + +struct _WS_NETTCP_URL { + WS_URL url; + WS_STRING host; + USHORT port; + WS_STRING portAsString; + WS_STRING path; + WS_STRING query; + WS_STRING fragment; +}; + +struct _WS_SOAPUDP_URL { + WS_URL url; + WS_STRING host; + USHORT port; + WS_STRING portAsString; + WS_STRING path; + WS_STRING query; + WS_STRING fragment; +}; + +struct _WS_NETPIPE_URL { + WS_URL url; + WS_STRING host; + USHORT port; + WS_STRING portAsString; + WS_STRING path; + WS_STRING query; + WS_STRING fragment; +}; + +typedef enum +{ + WS_IP_VERSION_4 = 1, + WS_IP_VERSION_6 = 2, + WS_IP_VERSION_AUTO = 3 +} WS_IP_VERSION; + +typedef enum +{ + WS_BUFFERED_TRANSFER_MODE = 0x0, + WS_STREAMED_INPUT_TRANSFER_MODE = 0x1, + WS_STREAMED_OUTPUT_TRANSFER_MODE = 0x2, + WS_STREAMED_TRANSFER_MODE = (WS_STREAMED_INPUT_TRANSFER_MODE|WS_STREAMED_OUTPUT_TRANSFER_MODE) +} WS_TRANSFER_MODE; + +typedef HRESULT (CALLBACK *WS_CREATE_CHANNEL_CALLBACK) + (WS_CHANNEL_TYPE, const void*, ULONG, void**, WS_ERROR*); + +typedef void (CALLBACK *WS_FREE_CHANNEL_CALLBACK) + (void*); + +typedef HRESULT (CALLBACK *WS_RESET_CHANNEL_CALLBACK) + (void*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_OPEN_CHANNEL_CALLBACK) + (void*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_CLOSE_CHANNEL_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ABORT_CHANNEL_CALLBACK) + (void*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_GET_CHANNEL_PROPERTY_CALLBACK) + (void*, WS_CHANNEL_PROPERTY_ID, void*, ULONG, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_SET_CHANNEL_PROPERTY_CALLBACK) + (void*, WS_CHANNEL_PROPERTY_ID, const void*, ULONG, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_WRITE_MESSAGE_START_CALLBACK) + (void*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_WRITE_MESSAGE_END_CALLBACK) + (void*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_READ_MESSAGE_START_CALLBACK) + (void*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_READ_MESSAGE_END_CALLBACK) + (void*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ABANDON_MESSAGE_CALLBACK) + (void*, WS_MESSAGE*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +struct _WS_CUSTOM_CHANNEL_CALLBACKS +{ + WS_CREATE_CHANNEL_CALLBACK createChannelCallback; + WS_FREE_CHANNEL_CALLBACK freeChannelCallback; + WS_RESET_CHANNEL_CALLBACK resetChannelCallback; + WS_OPEN_CHANNEL_CALLBACK openChannelCallback; + WS_CLOSE_CHANNEL_CALLBACK closeChannelCallback; + WS_ABORT_CHANNEL_CALLBACK abortChannelCallback; + WS_GET_CHANNEL_PROPERTY_CALLBACK getChannelPropertyCallback; + WS_SET_CHANNEL_PROPERTY_CALLBACK setChannelPropertyCallback; + WS_WRITE_MESSAGE_START_CALLBACK writeMessageStartCallback; + WS_WRITE_MESSAGE_END_CALLBACK writeMessageEndCallback; + WS_READ_MESSAGE_START_CALLBACK readMessageStartCallback; + WS_READ_MESSAGE_END_CALLBACK readMessageEndCallback; + WS_ABANDON_MESSAGE_CALLBACK abandonMessageCallback; + WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK shutdownSessionChannelCallback; +}; + +typedef HRESULT (CALLBACK *WS_CREATE_ENCODER_CALLBACK) + (void*, WS_WRITE_CALLBACK, void*, void**, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ENCODER_GET_CONTENT_TYPE_CALLBACK) + (void*, const WS_STRING*, WS_STRING*, WS_STRING*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ENCODER_START_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ENCODER_ENCODE_CALLBACK) + (void*, const WS_BYTES*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ENCODER_END_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef void (CALLBACK *WS_FREE_ENCODER_CALLBACK) + (void*); + +struct _WS_CHANNEL_ENCODER +{ + void *createContext; + WS_CREATE_ENCODER_CALLBACK createEncoderCallback; + WS_ENCODER_GET_CONTENT_TYPE_CALLBACK encoderGetContentTypeCallback; + WS_ENCODER_START_CALLBACK encoderStartCallback; + WS_ENCODER_ENCODE_CALLBACK encoderEncodeCallback; + WS_ENCODER_END_CALLBACK encoderEndCallback; + WS_FREE_ENCODER_CALLBACK freeEncoderCallback; +}; + +typedef HRESULT (CALLBACK *WS_CREATE_DECODER_CALLBACK) + (void*, WS_READ_CALLBACK, void*, void**, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_DECODER_GET_CONTENT_TYPE_CALLBACK) + (void*, const WS_STRING*, const WS_STRING*, WS_STRING*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_DECODER_START_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_DECODER_DECODE_CALLBACK) + (void*, void*, ULONG, ULONG*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_DECODER_END_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef void (CALLBACK *WS_FREE_DECODER_CALLBACK) + (void*); + +struct _WS_CHANNEL_DECODER +{ + void *createContext; + WS_CREATE_DECODER_CALLBACK createDecoderCallback; + WS_DECODER_GET_CONTENT_TYPE_CALLBACK decoderGetContentTypeCallback; + WS_DECODER_START_CALLBACK decoderStartCallback; + WS_DECODER_DECODE_CALLBACK decoderDecodeCallback; + WS_DECODER_END_CALLBACK decoderEndCallback; + WS_FREE_DECODER_CALLBACK freeDecoderCallback; +}; + +typedef enum +{ + WS_PROTECTION_LEVEL_NONE = 1, + WS_PROTECTION_LEVEL_SIGN = 2, + WS_PROTECTION_LEVEL_SIGN_AND_ENCRYPT = 3 +} WS_PROTECTION_LEVEL; + +typedef enum +{ + WS_MANUAL_COOKIE_MODE = 1, + WS_AUTO_COOKIE_MODE = 2 +} WS_COOKIE_MODE; + +typedef enum +{ + WS_HTTP_PROXY_SETTING_MODE_AUTO = 0x1, + WS_HTTP_PROXY_SETTING_MODE_NONE = 0x2, + WS_HTTP_PROXY_SETTING_MODE_CUSTOM = 0x3 +} WS_HTTP_PROXY_SETTING_MODE; + +struct _WS_CUSTOM_HTTP_PROXY +{ + WS_STRING servers; + WS_STRING bypass; +}; + +struct _WS_HTTP_HEADER_MAPPING +{ + WS_XML_STRING headerName; + ULONG headerMappingOptions; +}; + +struct _WS_HTTP_MESSAGE_MAPPING +{ + ULONG requestMappingOptions; + ULONG responseMappingOptions; + WS_HTTP_HEADER_MAPPING **requestHeaderMappings; + ULONG requestHeaderMappingCount; + WS_HTTP_HEADER_MAPPING **responseHeaderMappings; + ULONG responseHeaderMappingCount; +}; + +typedef HRESULT (CALLBACK *WS_HTTP_REDIRECT_CALLBACK) + (void*, const WS_STRING*, const WS_STRING*); + +struct _WS_HTTP_REDIRECT_CALLBACK_CONTEXT +{ + WS_HTTP_REDIRECT_CALLBACK callback; + void *state; +}; + +typedef enum +{ + WS_RECEIVE_REQUIRED_MESSAGE = 1, + WS_RECEIVE_OPTIONAL_MESSAGE = 2 +} WS_RECEIVE_OPTION; + +typedef void (CALLBACK *WS_MESSAGE_DONE_CALLBACK) + (void*); + +typedef HRESULT (CALLBACK *WS_PROXY_MESSAGE_CALLBACK) + (WS_MESSAGE*, WS_HEAP*, void*, WS_ERROR*); + +struct _WS_PROXY_MESSAGE_CALLBACK_CONTEXT +{ + WS_PROXY_MESSAGE_CALLBACK callback; + void *state; +}; + +typedef enum +{ + WS_LISTENER_STATE_CREATED, + WS_LISTENER_STATE_OPENING, + WS_LISTENER_STATE_OPEN, + WS_LISTENER_STATE_FAULTED, + WS_LISTENER_STATE_CLOSING, + WS_LISTENER_STATE_CLOSED +} WS_LISTENER_STATE; + +typedef enum +{ + WS_LISTENER_PROPERTY_LISTEN_BACKLOG, + WS_LISTENER_PROPERTY_IP_VERSION, + WS_LISTENER_PROPERTY_STATE, + WS_LISTENER_PROPERTY_ASYNC_CALLBACK_MODEL, + WS_LISTENER_PROPERTY_CHANNEL_TYPE, + WS_LISTENER_PROPERTY_CHANNEL_BINDING, + WS_LISTENER_PROPERTY_CONNECT_TIMEOUT, + WS_LISTENER_PROPERTY_IS_MULTICAST, + WS_LISTENER_PROPERTY_MULTICAST_INTERFACES, + WS_LISTENER_PROPERTY_MULTICAST_LOOPBACK, + WS_LISTENER_PROPERTY_CLOSE_TIMEOUT, + WS_LISTENER_PROPERTY_TO_HEADER_MATCHING_OPTIONS, + WS_LISTENER_PROPERTY_TRANSPORT_URL_MATCHING_OPTIONS, + WS_LISTENER_PROPERTY_CUSTOM_LISTENER_CALLBACKS, + WS_LISTENER_PROPERTY_CUSTOM_LISTENER_PARAMETERS, + WS_LISTENER_PROPERTY_CUSTOM_LISTENER_INSTANCE, + WS_LISTENER_PROPERTY_DISALLOWED_USER_AGENT +} WS_LISTENER_PROPERTY_ID; + +struct _WS_LISTENER_PROPERTY +{ + WS_LISTENER_PROPERTY_ID id; + void *value; + ULONG valueSize; +}; + +struct _WS_DISALLOWED_USER_AGENT_SUBSTRINGS +{ + ULONG subStringCount; + WS_STRING **subStrings; +}; + +struct _WS_LISTENER_PROPERTIES +{ + WS_LISTENER_PROPERTY *properties; + ULONG propertyCount; +}; + +typedef HRESULT (CALLBACK *WS_CREATE_LISTENER_CALLBACK) + (WS_CHANNEL_TYPE, const void*, ULONG, void**, WS_ERROR*); + +typedef void (CALLBACK *WS_FREE_LISTENER_CALLBACK) + (void*); + +typedef HRESULT (CALLBACK *WS_RESET_LISTENER_CALLBACK) + (void*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_OPEN_LISTENER_CALLBACK) + (void*, const WS_STRING*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_CLOSE_LISTENER_CALLBACK) + (void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ABORT_LISTENER_CALLBACK) + (void*, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_GET_LISTENER_PROPERTY_CALLBACK) + (void*, WS_LISTENER_PROPERTY_ID, void*, ULONG, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_SET_LISTENER_PROPERTY_CALLBACK) + (void*, WS_LISTENER_PROPERTY_ID, const void*, ULONG, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK) + (void*, const void*, ULONG, void**, WS_ERROR*); + +typedef HRESULT (CALLBACK *WS_ACCEPT_CHANNEL_CALLBACK) + (void*, void*, const WS_ASYNC_CONTEXT*, WS_ERROR*); + +struct _WS_CUSTOM_LISTENER_CALLBACKS +{ + WS_CREATE_LISTENER_CALLBACK createListenerCallback; + WS_FREE_LISTENER_CALLBACK freeListenerCallback; + WS_RESET_LISTENER_CALLBACK resetListenerCallback; + WS_OPEN_LISTENER_CALLBACK openListenerCallback; + WS_CLOSE_LISTENER_CALLBACK closeListenerCallback; + WS_ABORT_LISTENER_CALLBACK abortListenerCallback; + WS_GET_LISTENER_PROPERTY_CALLBACK getListenerPropertyCallback; + WS_SET_LISTENER_PROPERTY_CALLBACK setListenerPropertyCallback; + WS_CREATE_CHANNEL_FOR_LISTENER_CALLBACK createChannelForListenerCallback; + WS_ACCEPT_CHANNEL_CALLBACK acceptChannelCallback; +}; + +enum +{ + WS_MATCH_URL_DNS_HOST = 0x1, + WS_MATCH_URL_DNS_FULLY_QUALIFIED_HOST = 0x2, + WS_MATCH_URL_NETBIOS_HOST = 0x4, + WS_MATCH_URL_LOCAL_HOST = 0x8, + WS_MATCH_URL_HOST_ADDRESSES = 0x10, + WS_MATCH_URL_THIS_HOST = (WS_MATCH_URL_DNS_HOST | + WS_MATCH_URL_DNS_FULLY_QUALIFIED_HOST | + WS_MATCH_URL_NETBIOS_HOST | + WS_MATCH_URL_LOCAL_HOST | + WS_MATCH_URL_HOST_ADDRESSES), + WS_MATCH_URL_PORT = 0x20, + WS_MATCH_URL_EXACT_PATH = 0x40, + WS_MATCH_URL_PREFIX_PATH = 0x80, + WS_MATCH_URL_NO_QUERY = 0x100 +}; + +HRESULT WINAPI WsAbortServiceProxy(WS_SERVICE_PROXY*, WS_ERROR*); +HRESULT WINAPI WsAcceptChannel(WS_LISTENER*, WS_CHANNEL*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsAddCustomHeader(WS_MESSAGE*, const WS_ELEMENT_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, ULONG, WS_ERROR*); +HRESULT WINAPI WsAddErrorString(WS_ERROR*, const WS_STRING*); +HRESULT WINAPI WsAddMappedHeader(WS_MESSAGE*, const WS_XML_STRING*, WS_TYPE, WS_WRITE_OPTION, + const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsAddressMessage(WS_MESSAGE*, const WS_ENDPOINT_ADDRESS*, WS_ERROR*); +HRESULT WINAPI WsAlloc(WS_HEAP*, SIZE_T, void**, WS_ERROR*); +HRESULT WINAPI WsCall(WS_SERVICE_PROXY*, const WS_OPERATION_DESCRIPTION*, const void**, + WS_HEAP*, const WS_CALL_PROPERTY*, const ULONG, const WS_ASYNC_CONTEXT*, + WS_ERROR*); +HRESULT WINAPI WsCloseChannel(WS_CHANNEL*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsCloseListener(WS_LISTENER*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsCloseServiceProxy(WS_SERVICE_PROXY*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsCombineUrl(const WS_STRING*, const WS_STRING*, ULONG, WS_HEAP*, WS_STRING*, WS_ERROR*); +HRESULT WINAPI WsCopyNode(WS_XML_WRITER*, WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsCreateChannel(WS_CHANNEL_TYPE, WS_CHANNEL_BINDING, const WS_CHANNEL_PROPERTY*, + ULONG, const WS_SECURITY_DESCRIPTION*, WS_CHANNEL**, WS_ERROR*); +HRESULT WINAPI WsCreateChannelForListener(WS_LISTENER*, const WS_CHANNEL_PROPERTY*, ULONG, WS_CHANNEL**, + WS_ERROR*); +HRESULT WINAPI WsCreateError(const WS_ERROR_PROPERTY*, ULONG, WS_ERROR**); +HRESULT WINAPI WsCreateHeap(SIZE_T, SIZE_T, const WS_HEAP_PROPERTY*, ULONG, WS_HEAP**, WS_ERROR*); +HRESULT WINAPI WsCreateListener(WS_CHANNEL_TYPE, WS_CHANNEL_BINDING, const WS_LISTENER_PROPERTY*, + ULONG, const WS_SECURITY_DESCRIPTION*, WS_LISTENER**, WS_ERROR*); +HRESULT WINAPI WsCreateMessage(WS_ENVELOPE_VERSION, WS_ADDRESSING_VERSION, const WS_MESSAGE_PROPERTY*, + ULONG, WS_MESSAGE**, WS_ERROR*); +HRESULT WINAPI WsCreateMessageForChannel(WS_CHANNEL*, const WS_MESSAGE_PROPERTY*, ULONG, WS_MESSAGE**, + WS_ERROR*); +HRESULT WINAPI WsCreateReader(const WS_XML_READER_PROPERTY*, ULONG, WS_XML_READER**, WS_ERROR*); +HRESULT WINAPI WsCreateServiceProxy(const WS_CHANNEL_TYPE, const WS_CHANNEL_BINDING, + const WS_SECURITY_DESCRIPTION*, const WS_PROXY_PROPERTY*, + const ULONG, const WS_CHANNEL_PROPERTY*, const ULONG, + WS_SERVICE_PROXY**, WS_ERROR*); +HRESULT WINAPI WsCreateServiceProxyFromTemplate(WS_CHANNEL_TYPE, const WS_PROXY_PROPERTY*, + const ULONG, WS_BINDING_TEMPLATE_TYPE, + void*, ULONG, const void*, ULONG, + WS_SERVICE_PROXY**, WS_ERROR*); +HRESULT WINAPI WsCreateWriter(const WS_XML_WRITER_PROPERTY*, ULONG, WS_XML_WRITER**, WS_ERROR*); +HRESULT WINAPI WsCreateXmlBuffer(WS_HEAP*, const WS_XML_BUFFER_PROPERTY*, ULONG, WS_XML_BUFFER**, + WS_ERROR*); +HRESULT WINAPI WsDateTimeToFileTime(const WS_DATETIME*, FILETIME*, WS_ERROR*); +HRESULT WINAPI WsDecodeUrl(const WS_STRING*, ULONG, WS_HEAP*, WS_URL**, WS_ERROR*); +HRESULT WINAPI WsEncodeUrl(const WS_URL*, ULONG, WS_HEAP*, WS_STRING*, WS_ERROR*); +HRESULT WINAPI WsFileTimeToDateTime(const FILETIME*, WS_DATETIME*, WS_ERROR*); +HRESULT WINAPI WsFillBody(WS_MESSAGE*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsFillReader(WS_XML_READER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsFindAttribute(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, WINBOOL, + ULONG*, WS_ERROR*); +HRESULT WINAPI WsFlushBody(WS_MESSAGE*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsFlushWriter(WS_XML_WRITER*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +void WINAPI WsFreeChannel(WS_CHANNEL*); +void WINAPI WsFreeError(WS_ERROR*); +void WINAPI WsFreeHeap(WS_HEAP*); +void WINAPI WsFreeListener(WS_LISTENER*); +void WINAPI WsFreeMessage(WS_MESSAGE*); +void WINAPI WsFreeReader(WS_XML_READER*); +void WINAPI WsFreeServiceProxy(WS_SERVICE_PROXY*); +void WINAPI WsFreeWriter(WS_XML_WRITER*); +HRESULT WINAPI WsGetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetCustomHeader(WS_MESSAGE*, const WS_ELEMENT_DESCRIPTION*, WS_REPEATING_HEADER_OPTION, + ULONG, WS_READ_OPTION, WS_HEAP*, void*, ULONG, ULONG*, WS_ERROR*); +HRESULT WINAPI WsGetDictionary(WS_ENCODING, WS_XML_DICTIONARY**, WS_ERROR*); +HRESULT WINAPI WsGetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, void*, ULONG); +HRESULT WINAPI WsGetErrorString(WS_ERROR*, ULONG, WS_STRING*); +HRESULT WINAPI WsGetFaultErrorDetail(WS_ERROR*, const WS_FAULT_DETAIL_DESCRIPTION*, WS_READ_OPTION, + WS_HEAP*, void*, ULONG); +HRESULT WINAPI WsGetFaultErrorProperty(WS_ERROR*, WS_FAULT_ERROR_PROPERTY_ID, void*, ULONG); +HRESULT WINAPI WsGetHeader(WS_MESSAGE*, WS_HEADER_TYPE, WS_TYPE, WS_READ_OPTION, WS_HEAP*, void*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsGetHeapProperty(WS_HEAP*, WS_HEAP_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetListenerProperty(WS_LISTENER*, WS_LISTENER_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetMappedHeader(WS_MESSAGE*, const WS_XML_STRING*, WS_REPEATING_HEADER_OPTION, + ULONG, WS_TYPE, WS_READ_OPTION, WS_HEAP*, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetMessageProperty(WS_MESSAGE*, WS_MESSAGE_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetNamespaceFromPrefix(WS_XML_READER*, const WS_XML_STRING*, WINBOOL, + const WS_XML_STRING**, WS_ERROR*); +HRESULT WINAPI WsGetPrefixFromNamespace(WS_XML_WRITER*, const WS_XML_STRING*, WINBOOL, + const WS_XML_STRING**, WS_ERROR*); +HRESULT WINAPI WsGetReaderNode(WS_XML_READER*, const WS_XML_NODE**, WS_ERROR*); +HRESULT WINAPI WsGetReaderPosition(WS_XML_READER*, WS_XML_NODE_POSITION*, WS_ERROR*); +HRESULT WINAPI WsGetReaderProperty(WS_XML_READER*, WS_XML_READER_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetServiceProxyProperty(WS_SERVICE_PROXY*, const WS_PROXY_PROPERTY_ID, void*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsGetWriterPosition(WS_XML_WRITER*, WS_XML_NODE_POSITION*, WS_ERROR*); +HRESULT WINAPI WsGetWriterProperty(WS_XML_WRITER*, WS_XML_WRITER_PROPERTY_ID, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsGetXmlAttribute(WS_XML_READER*, const WS_XML_STRING*, WS_HEAP*, WCHAR**, + ULONG*, WS_ERROR*); +HRESULT WINAPI WsInitializeMessage(WS_MESSAGE*, WS_MESSAGE_INITIALIZATION, WS_MESSAGE*, WS_ERROR*); +HRESULT WINAPI WsMoveReader(WS_XML_READER*, WS_MOVE_TO, WINBOOL*, WS_ERROR*); +HRESULT WINAPI WsMoveWriter(WS_XML_WRITER*, WS_MOVE_TO, WINBOOL*, WS_ERROR*); +HRESULT WINAPI WsOpenChannel(WS_CHANNEL*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsOpenListener(WS_LISTENER*, const WS_STRING*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsOpenServiceProxy(WS_SERVICE_PROXY*, const WS_ENDPOINT_ADDRESS*, const WS_ASYNC_CONTEXT*, + WS_ERROR*); +HRESULT WINAPI WsReadAttribute(WS_XML_READER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_READ_OPTION, + WS_HEAP*, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsReadBody(WS_MESSAGE*, const WS_ELEMENT_DESCRIPTION*, WS_READ_OPTION, WS_HEAP*, void*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsReadBytes(WS_XML_READER*, void*, ULONG, ULONG*, WS_ERROR*); +HRESULT WINAPI WsReadChars(WS_XML_READER*, WCHAR*, ULONG, ULONG*, WS_ERROR*); +HRESULT WINAPI WsReadCharsUtf8(WS_XML_READER*, BYTE*, ULONG, ULONG*, WS_ERROR*); +HRESULT WINAPI WsReadElement(WS_XML_READER*, const WS_ELEMENT_DESCRIPTION*, WS_READ_OPTION, + WS_HEAP*, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsReadEndAttribute(WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsReadEndElement(WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsReadEnvelopeEnd(WS_MESSAGE*, WS_ERROR*); +HRESULT WINAPI WsReadEnvelopeStart(WS_MESSAGE*, WS_XML_READER*, WS_MESSAGE_DONE_CALLBACK, void*, + WS_ERROR*); +HRESULT WINAPI WsReadMessageEnd(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsReadMessageStart(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsReadNode(WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsReadQualifiedName(WS_XML_READER*, WS_HEAP*, WS_XML_STRING*, WS_XML_STRING*, + WS_XML_STRING*, WS_ERROR*); +HRESULT WINAPI WsReadStartAttribute(WS_XML_READER*, ULONG, WS_ERROR*); +HRESULT WINAPI WsReadStartElement(WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsReadToStartElement(WS_XML_READER*, const WS_XML_STRING*, const WS_XML_STRING*, + WINBOOL*, WS_ERROR*); +HRESULT WINAPI WsReadType(WS_XML_READER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_READ_OPTION, + WS_HEAP*, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsReadValue(WS_XML_READER*, WS_VALUE_TYPE, void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsReadXmlBuffer(WS_XML_READER*, WS_HEAP*, WS_XML_BUFFER**, WS_ERROR*); +HRESULT WINAPI WsReceiveMessage(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION**, ULONG, + WS_RECEIVE_OPTION, WS_READ_OPTION, WS_HEAP*, void*, ULONG, ULONG*, + const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsRemoveCustomHeader(WS_MESSAGE*, const WS_XML_STRING*, const WS_XML_STRING*, + WS_ERROR*); +HRESULT WINAPI WsRemoveHeader(WS_MESSAGE*, WS_HEADER_TYPE, WS_ERROR*); +HRESULT WINAPI WsRemoveMappedHeader(WS_MESSAGE*, const WS_XML_STRING*, WS_ERROR*); +HRESULT WINAPI WsRemoveNode(const WS_XML_NODE_POSITION*, WS_ERROR*); +HRESULT WINAPI WsRequestReply(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, WS_READ_OPTION, + WS_HEAP*, void*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsResetChannel(WS_CHANNEL*, WS_ERROR*); +HRESULT WINAPI WsResetMessage(WS_MESSAGE*, WS_ERROR*); +HRESULT WINAPI WsResetError(WS_ERROR*); +HRESULT WINAPI WsResetHeap(WS_HEAP*, WS_ERROR*); +HRESULT WINAPI WsResetListener(WS_LISTENER*, WS_ERROR*); +HRESULT WINAPI WsResetMessage(WS_MESSAGE*, WS_ERROR*); +HRESULT WINAPI WsResetServiceProxy(WS_SERVICE_PROXY*, WS_ERROR*); +HRESULT WINAPI WsRequestReply(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, + WS_READ_OPTION, WS_HEAP*, void*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsSendMessage(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsSendReplyMessage(WS_CHANNEL*, WS_MESSAGE*, const WS_MESSAGE_DESCRIPTION*, + WS_WRITE_OPTION, const void*, ULONG, WS_MESSAGE*, + const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsSetChannelProperty(WS_CHANNEL*, WS_CHANNEL_PROPERTY_ID, const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsSetErrorProperty(WS_ERROR*, WS_ERROR_PROPERTY_ID, const void*, ULONG); +HRESULT WINAPI WsSetFaultErrorProperty(WS_ERROR*, WS_FAULT_ERROR_PROPERTY_ID, const void*, ULONG); +HRESULT WINAPI WsSetHeader(WS_MESSAGE*, WS_HEADER_TYPE, WS_TYPE, WS_WRITE_OPTION, const void*, ULONG, + WS_ERROR*); +HRESULT WINAPI WsSetInput(WS_XML_READER*, const WS_XML_READER_ENCODING*, const WS_XML_READER_INPUT*, + const WS_XML_READER_PROPERTY*, ULONG, WS_ERROR*); +HRESULT WINAPI WsSetInputToBuffer(WS_XML_READER*, WS_XML_BUFFER*, const WS_XML_READER_PROPERTY*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsSetListenerProperty(WS_LISTENER*, WS_LISTENER_PROPERTY_ID, const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsSetMessageProperty(WS_MESSAGE*, WS_MESSAGE_PROPERTY_ID, const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsSetOutput(WS_XML_WRITER*, const WS_XML_WRITER_ENCODING*, const WS_XML_WRITER_OUTPUT*, + const WS_XML_WRITER_PROPERTY*, ULONG, WS_ERROR*); +HRESULT WINAPI WsSetOutputToBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_PROPERTY*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsSetReaderPosition(WS_XML_READER*, const WS_XML_NODE_POSITION*, WS_ERROR*); +HRESULT WINAPI WsSetWriterPosition(WS_XML_WRITER*, const WS_XML_NODE_POSITION*, WS_ERROR*); +HRESULT WINAPI WsShutdownSessionChannel(WS_CHANNEL*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsSkipNode(WS_XML_READER*, WS_ERROR*); +HRESULT WINAPI WsWriteArray(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*, WS_VALUE_TYPE, + const void*, ULONG, ULONG, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteAttribute(WS_XML_WRITER*, const WS_ATTRIBUTE_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteBody(WS_MESSAGE*, const WS_ELEMENT_DESCRIPTION*, WS_WRITE_OPTION, const void*, + ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteBytes(WS_XML_WRITER*, const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteChars(WS_XML_WRITER*, const WCHAR*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteCharsUtf8(WS_XML_WRITER*, const BYTE*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteElement(WS_XML_WRITER*, const WS_ELEMENT_DESCRIPTION*, WS_WRITE_OPTION, + const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteEndAttribute(WS_XML_WRITER*, WS_ERROR*); +HRESULT WINAPI WsWriteEndCData(WS_XML_WRITER*, WS_ERROR*); +HRESULT WINAPI WsWriteEndElement(WS_XML_WRITER*, WS_ERROR*); +HRESULT WINAPI WsWriteEndStartElement(WS_XML_WRITER*, WS_ERROR*); +HRESULT WINAPI WsWriteEnvelopeEnd(WS_MESSAGE*, WS_ERROR*); +HRESULT WINAPI WsWriteEnvelopeStart(WS_MESSAGE*, WS_XML_WRITER*, WS_MESSAGE_DONE_CALLBACK, void*, WS_ERROR*); +HRESULT WINAPI WsWriteMessageStart(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsWriteMessageEnd(WS_CHANNEL*, WS_MESSAGE*, const WS_ASYNC_CONTEXT*, WS_ERROR*); +HRESULT WINAPI WsWriteNode(WS_XML_WRITER*, const WS_XML_NODE*, WS_ERROR*); +HRESULT WINAPI WsWriteQualifiedName(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*, + const WS_XML_STRING*, WS_ERROR*); +HRESULT WINAPI WsWriteStartAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*, + const WS_XML_STRING*, WINBOOL, WS_ERROR*); +HRESULT WINAPI WsWriteStartCData(WS_XML_WRITER*, WS_ERROR*); +HRESULT WINAPI WsWriteStartElement(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*, + const WS_XML_STRING*, WS_ERROR*); +HRESULT WINAPI WsWriteText(WS_XML_WRITER*, const WS_XML_TEXT*, WS_ERROR*); +HRESULT WINAPI WsWriteType(WS_XML_WRITER*, WS_TYPE_MAPPING, WS_TYPE, const void*, WS_WRITE_OPTION, + const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteValue(WS_XML_WRITER*, WS_VALUE_TYPE, const void*, ULONG, WS_ERROR*); +HRESULT WINAPI WsWriteXmlBuffer(WS_XML_WRITER*, WS_XML_BUFFER*, WS_ERROR*); +HRESULT WINAPI WsWriteXmlBufferToBytes(WS_XML_WRITER*, WS_XML_BUFFER*, const WS_XML_WRITER_ENCODING*, + const WS_XML_WRITER_PROPERTY*, ULONG, WS_HEAP*, void**, + ULONG*, WS_ERROR*); +HRESULT WINAPI WsWriteXmlnsAttribute(WS_XML_WRITER*, const WS_XML_STRING*, const WS_XML_STRING*, + WINBOOL, WS_ERROR*); +HRESULT WINAPI WsXmlStringEquals(const WS_XML_STRING*, const WS_XML_STRING*, WS_ERROR*); + +#ifndef FACILITY_WEBSERVICES +#define FACILITY_WEBSERVICES 61 +#define WS_S_ASYNC 0x003d0000 +#define WS_S_END 0x003d0001 +#define WS_E_INVALID_FORMAT 0x803d0000 +#define WS_E_OBJECT_FAULTED 0x803d0001 +#define WS_E_NUMERIC_OVERFLOW 0x803d0002 +#define WS_E_INVALID_OPERATION 0x803d0003 +#define WS_E_OPERATION_ABORTED 0x803d0004 +#define WS_E_ENDPOINT_ACCESS_DENIED 0x803d0005 +#define WS_E_OPERATION_TIMED_OUT 0x803d0006 +#define WS_E_OPERATION_ABANDONED 0x803d0007 +#define WS_E_QUOTA_EXCEEDED 0x803d0008 +#define WS_E_NO_TRANSLATION_AVAILABLE 0x803d0009 +#define WS_E_SECURITY_VERIFICATION_FAILURE 0x803d000a +#define WS_E_ADDRESS_IN_USE 0x803d000b +#define WS_E_ADDRESS_NOT_AVAILABLE 0x803d000c +#define WS_E_ENDPOINT_NOT_FOUND 0x803d000d +#define WS_E_ENDPOINT_NOT_AVAILABLE 0x803d000e +#define WS_E_ENDPOINT_FAILURE 0x803d000f +#define WS_E_ENDPOINT_UNREACHABLE 0x803d0010 +#define WS_E_ENDPOINT_ACTION_NOT_SUPPORTED 0x803d0011 +#define WS_E_ENDPOINT_TOO_BUSY 0x803d0012 +#define WS_E_ENDPOINT_FAULT_RECEIVED 0x803d0013 +#define WS_E_ENDPOINT_DISCONNECTED 0x803d0014 +#define WS_E_PROXY_FAILURE 0x803d0015 +#define WS_E_PROXY_ACCESS_DENIED 0x803d0016 +#define WS_E_NOT_SUPPORTED 0x803d0017 +#define WS_E_PROXY_REQUIRES_BASIC_AUTH 0x803d0018 +#define WS_E_PROXY_REQUIRES_DIGEST_AUTH 0x803d0019 +#define WS_E_PROXY_REQUIRES_NTLM_AUTH 0x803d001a +#define WS_E_PROXY_REQUIRES_NEGOTIATE_AUTH 0x803d001b +#define WS_E_SERVER_REQUIRES_BASIC_AUTH 0x803d001c +#define WS_E_SERVER_REQUIRES_DIGEST_AUTH 0x803d001d +#define WS_E_SERVER_REQUIRES_NTLM_AUTH 0x803d001e +#define WS_E_SERVER_REQUIRES_NEGOTIATE_AUTH 0x803d001f +#define WS_E_INVALID_ENDPOINT_URL 0x803d0020 +#define WS_E_OTHER 0x803d0021 +#define WS_E_SECURITY_TOKEN_EXPIRED 0x803d0022 +#define WS_E_SECURITY_SYSTEM_FAILURE 0x803d0023 +#endif + +#define WS_STRING_VALUE(s) { sizeof(s) / sizeof((s)[0]) - 1, (WCHAR *)(s) } +#define WS_XML_STRING_VALUE(s) { sizeof(s) - 1, (BYTE *)(s) } + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __WINE_WEBSERVICES_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/werapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/werapi.h new file mode 100644 index 00000000..baed9945 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/werapi.h @@ -0,0 +1,475 @@ +/** + * 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_WERAPI +#define _INC_WERAPI +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef HANDLE HREPORT; + +#define WER_FAULT_REPORTING_FLAG_NOHEAP 1 +#define WER_FAULT_REPORTING_FLAG_QUEUE 2 +#define WER_FAULT_REPORTING_FLAG_DISABLE_THREAD_SUSPENSION 4 +#define WER_FAULT_REPORTING_FLAG_QUEUE_UPLOAD 8 +#define WER_FAULT_REPORTING_ALWAYS_SHOW_UI 16 +#define WER_FAULT_REPORTING_NO_UI 32 +#define WER_FAULT_REPORTING_FLAG_NO_HEAP_ON_QUEUE 64 +#define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_CRASH 128 +#define WER_FAULT_REPORTING_DISABLE_SNAPSHOT_HANG 256 +#define WER_FAULT_REPORTING_CRITICAL 512 +#define WER_FAULT_REPORTING_DURABLE 1024 +#define WER_MAX_TOTAL_PARAM_LENGTH 1720 +#define WER_MAX_PREFERRED_MODULES 128 +#define WER_MAX_PREFERRED_MODULES_BUFFER 256 + +#define WER_MAX_MEM_BLOCK_SIZE (64 * 1024) + +#define APPCRASH_EVENT L"APPCRASH" +#define PACKAGED_APPCRASH_EVENT L"MoAppCrash" + +#define WER_P0 0 +#define WER_P1 1 +#define WER_P2 2 +#define WER_P3 3 +#define WER_P4 4 +#define WER_P5 5 +#define WER_P6 6 +#define WER_P7 7 +#define WER_P8 8 +#define WER_P9 9 + +#define WER_E_INSUFFICIENT_BUFFER (HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)) +#define WER_E_NOT_FOUND (HRESULT_FROM_WIN32(ERROR_NOT_FOUND)) +#define WER_E_LENGTH_EXCEEDED (HRESULT_FROM_WIN32(ERROR_PARAMETER_QUOTA_EXCEEDED)) +#define WER_E_INVALID_STATE (HRESULT_FROM_WIN32(ERROR_INVALID_STATE)) +#define WER_E_MISSING_DUMP (HRESULT_FROM_WIN32(ERROR_MISSING_SYSTEMFILE)) +#define WER_E_CABBING_FAILURE (HRESULT_FROM_WIN32(ERROR_GEN_FAILURE)) + +#define WER_FILE_DELETE_WHEN_DONE 1 +#define WER_FILE_ANONYMOUS_DATA 2 +#define WER_FILE_COMPRESSED 4 + +#define WER_SUBMIT_HONOR_RECOVERY 1 +#define WER_SUBMIT_HONOR_RESTART 2 +#define WER_SUBMIT_QUEUE 4 +#define WER_SUBMIT_SHOW_DEBUG 8 +#define WER_SUBMIT_ADD_REGISTERED_DATA 16 +#define WER_SUBMIT_OUTOFPROCESS 32 +#define WER_SUBMIT_NO_CLOSE_UI 64 +#define WER_SUBMIT_NO_QUEUE 128 +#define WER_SUBMIT_NO_ARCHIVE 256 +#define WER_SUBMIT_START_MINIMIZED 512 +#define WER_SUBMIT_OUTOFPROCESS_ASYNC 1024 +#define WER_SUBMIT_BYPASS_DATA_THROTTLING 2048 +#define WER_SUBMIT_ARCHIVE_PARAMETERS_ONLY 4096 +#define WER_SUBMIT_REPORT_MACHINE_ID 8192 +#define WER_SUBMIT_BYPASS_POWER_THROTTLING 16384 +#define WER_SUBMIT_BYPASS_NETWORK_COST_THROTTLING 32768 +#define WER_SUBMIT_DISCARD_IF_QUEUED WER_SUBMIT_NO_QUEUE + +#define WER_DUMP_MASK_START 1 +#define WER_DUMP_MASK_DUMPTYPE (WER_DUMP_MASK_START << 0) +#define WER_DUMP_MASK_ONLY_THISTHREAD (WER_DUMP_MASK_START << 1) +#define WER_DUMP_MASK_THREADFLAGS (WER_DUMP_MASK_START << 2) +#define WER_DUMP_MASK_THREADFLAGS_EX (WER_DUMP_MASK_START << 3) +#define WER_DUMP_MASK_OTHERTHREADFLAGS (WER_DUMP_MASK_START << 4) +#define WER_DUMP_MASK_OTHERTHREADFLAGS_EX (WER_DUMP_MASK_START << 5) +#define WER_DUMP_MASK_PREFERRED_MODULESFLAGS (WER_DUMP_MASK_START << 6) +#define WER_DUMP_MASK_OTHER_MODULESFLAGS (WER_DUMP_MASK_START << 7) +#define WER_DUMP_MASK_PREFERRED_MODULE_LIST (WER_DUMP_MASK_START << 8) + +#define WER_DUMP_NOHEAP_ONQUEUE 1 +#define WER_DUMP_AUXILIARY 2 + +#define WER_MAX_REGISTERED_ENTRIES 512 +#define WER_MAX_REGISTERED_METADATA 8 +#define WER_MAX_REGISTERED_DUMPCOLLECTION 4 + +#define WER_METADATA_KEY_MAX_LENGTH 64 +#define WER_METADATA_VALUE_MAX_LENGTH 128 + +#define WER_MAX_SIGNATURE_NAME_LENGTH 128 +#define WER_MAX_EVENT_NAME_LENGTH 64 +#define WER_MAX_PARAM_LENGTH MAX_PATH +#define WER_MAX_PARAM_COUNT 10 +#define WER_MAX_FRIENDLY_EVENT_NAME_LENGTH 128 +#define WER_MAX_APPLICATION_NAME_LENGTH 128 +#define WER_MAX_DESCRIPTION_LENGTH 512 +#define WER_MAX_BUCKET_ID_STRING_LENGTH MAX_PATH +#define WER_MAX_LOCAL_DUMP_SUBPATH_LENGTH 64 + +#define WER_MAX_REGISTERED_RUNTIME_EXCEPTION_MODULES 16 + +#define WER_RUNTIME_EXCEPTION_EVENT_FUNCTION "OutOfProcessExceptionEventCallback" +#define WER_RUNTIME_EXCEPTION_EVENT_SIGNATURE_FUNCTION "OutOfProcessExceptionEventSignatureCallback" +#define WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH "OutOfProcessExceptionEventDebuggerLaunchCallback" + +typedef enum _WER_FILE_TYPE { + WerFileTypeMicrodump = 1, + WerFileTypeMinidump, + WerFileTypeHeapdump, + WerFileTypeUserDocument, + WerFileTypeOther, + WerFileTypeTriagedump, + WerFileTypeCustomDump, + WerFileTypeAuxiliaryDump, + WerFileTypeEtlTrace, + WerFileTypeMax +} WER_FILE_TYPE; + +typedef enum _WER_REGISTER_FILE_TYPE { + WerRegFileTypeUserDocument = 1, + WerRegFileTypeOther, + WerRegFileTypeMax +} WER_REGISTER_FILE_TYPE; + +typedef enum _WER_DUMP_TYPE { + WerDumpTypeNone = 0, + WerDumpTypeMicroDump, + WerDumpTypeMiniDump, + WerDumpTypeHeapDump, + WerDumpTypeTriageDump, + WerDumpTypeMax +} WER_DUMP_TYPE; + +typedef enum _WER_REPORT_UI { + WerUIAdditionalDataDlgHeader = 1, + WerUIIconFilePath, + WerUIConsentDlgHeader, + WerUIConsentDlgBody, + WerUIOnlineSolutionCheckText, + WerUIOfflineSolutionCheckText, + WerUICloseText, + WerUICloseDlgHeader, + WerUICloseDlgBody, + WerUICloseDlgButtonText, + WerUICustomActionButtonText, + WerUIMax +} WER_REPORT_UI; + +typedef enum _WER_CONSENT { + WerConsentNotAsked = 1, + WerConsentApproved, + WerConsentDenied, + WerConsentAlwaysPrompt, + WerConsentMax +} WER_CONSENT; + +typedef enum _WER_SUBMIT_RESULT { + WerReportQueued = 1, + WerReportUploaded, + WerReportDebug, + WerReportFailed, + WerDisabled, + WerReportCancelled, + WerDisabledQueue, + WerReportAsync, + WerCustomAction +#if NTDDI_VERSION >= NTDDI_WIN8 +, WerThrottled = 10 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10 +, WerReportUploadedCab = 11 +, WerStorageLocationNotFound = 12 +#endif +, WerSubmitResultMax +} WER_SUBMIT_RESULT, *PWER_SUBMIT_RESULT; + +typedef enum _WER_REPORT_TYPE { + WerReportNonCritical = 0, + WerReportCritical, + WerReportApplicationCrash, + WerReportApplicationHang, + WerReportKernel, + WerReportInvalid +} WER_REPORT_TYPE; + +typedef struct _WER_DUMP_CUSTOM_OPTIONS { + DWORD dwSize; + DWORD dwMask; + DWORD dwDumpFlags; + WINBOOL bOnlyThisThread; + DWORD dwExceptionThreadFlags; + DWORD dwOtherThreadFlags; + DWORD dwExceptionThreadExFlags; + DWORD dwOtherThreadExFlags; + DWORD dwPreferredModuleFlags; + DWORD dwOtherModuleFlags; + WCHAR wzPreferredModuleList[WER_MAX_PREFERRED_MODULES_BUFFER]; +} WER_DUMP_CUSTOM_OPTIONS, *PWER_DUMP_CUSTOM_OPTIONS; + +typedef struct _WER_DUMP_CUSTOM_OPTIONS_V2 { + DWORD dwSize; + DWORD dwMask; + DWORD dwDumpFlags; + WINBOOL bOnlyThisThread; + DWORD dwExceptionThreadFlags; + DWORD dwOtherThreadFlags; + DWORD dwExceptionThreadExFlags; + DWORD dwOtherThreadExFlags; + DWORD dwPreferredModuleFlags; + DWORD dwOtherModuleFlags; + WCHAR wzPreferredModuleList[WER_MAX_PREFERRED_MODULES_BUFFER]; + DWORD dwPreferredModuleResetFlags; + DWORD dwOtherModuleResetFlags; +} WER_DUMP_CUSTOM_OPTIONS_V2, *PWER_DUMP_CUSTOM_OPTIONS_V2; + +#if NTDDI_VERSION >= NTDDI_WINBLUE +typedef struct _WER_DUMP_CUSTOM_OPTIONS_V3 { + DWORD dwSize; + DWORD dwMask; + DWORD dwDumpFlags; + WINBOOL bOnlyThisThread; + DWORD dwExceptionThreadFlags; + DWORD dwOtherThreadFlags; + DWORD dwExceptionThreadExFlags; + DWORD dwOtherThreadExFlags; + DWORD dwPreferredModuleFlags; + DWORD dwOtherModuleFlags; + WCHAR wzPreferredModuleList[WER_MAX_PREFERRED_MODULES_BUFFER]; + DWORD dwPreferredModuleResetFlags; + DWORD dwOtherModuleResetFlags; + PVOID pvDumpKey; + HANDLE hSnapshot; + DWORD dwThreadID; +} WER_DUMP_CUSTOM_OPTIONS_V3, *PWER_DUMP_CUSTOM_OPTIONS_V3; + +typedef WER_DUMP_CUSTOM_OPTIONS_V3 const *PCWER_DUMP_CUSTOM_OPTIONS_V3; +#endif + +typedef struct _WER_EXCEPTION_INFORMATION { + PEXCEPTION_POINTERS pExceptionPointers; + WINBOOL bClientPointers; +} WER_EXCEPTION_INFORMATION, *PWER_EXCEPTION_INFORMATION; + +typedef struct _WER_REPORT_INFORMATION { + DWORD dwSize; + HANDLE hProcess; + WCHAR wzConsentKey[64]; + WCHAR wzFriendlyEventName[128]; + WCHAR wzApplicationName[128]; + WCHAR wzApplicationPath[MAX_PATH]; + WCHAR wzDescription[512]; + HWND hwndParent; +} WER_REPORT_INFORMATION, *PWER_REPORT_INFORMATION; + +#if NTDDI_VERSION >= NTDDI_WIN8 +typedef struct _WER_REPORT_INFORMATION_V3 { + DWORD dwSize; + HANDLE hProcess; + WCHAR wzConsentKey[64]; + WCHAR wzFriendlyEventName[128]; + WCHAR wzApplicationName[128]; + WCHAR wzApplicationPath[MAX_PATH]; + WCHAR wzDescription[512]; + HWND hwndParent; + WCHAR wzNamespacePartner[64]; + WCHAR wzNamespaceGroup[64]; +} WER_REPORT_INFORMATION_V3, *PWER_REPORT_INFORMATION_V3; +#endif + +#if NTDDI_VERSION >= NTDDI_WINBLUE +typedef struct _WER_REPORT_INFORMATION_V4 { + DWORD dwSize; + HANDLE hProcess; + WCHAR wzConsentKey[64]; + WCHAR wzFriendlyEventName[128]; + WCHAR wzApplicationName[128]; + WCHAR wzApplicationPath[MAX_PATH]; + WCHAR wzDescription[512]; + HWND hwndParent; + WCHAR wzNamespacePartner[64]; + WCHAR wzNamespaceGroup[64]; + BYTE rgbApplicationIdentity[16]; + HANDLE hSnapshot; + HANDLE hDeleteFilesImpersonationToken; +} WER_REPORT_INFORMATION_V4, *PWER_REPORT_INFORMATION_V4; + +typedef WER_REPORT_INFORMATION_V4 const *PCWER_REPORT_INFORMATION_V4; +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10 +typedef struct _WER_REPORT_INFORMATION_V5 { + DWORD dwSize; + HANDLE hProcess; + WCHAR wzConsentKey[64]; + WCHAR wzFriendlyEventName[128]; + WCHAR wzApplicationName[128]; + WCHAR wzApplicationPath[MAX_PATH]; + WCHAR wzDescription[512]; + HWND hwndParent; + WCHAR wzNamespacePartner[64]; + WCHAR wzNamespaceGroup[64]; + BYTE rgbApplicationIdentity[16]; + HANDLE hSnapshot; + HANDLE hDeleteFilesImpersonationToken; + WER_SUBMIT_RESULT submitResultMax; +} WER_REPORT_INFORMATION_V5, *PWER_REPORT_INFORMATION_V5; + +typedef WER_REPORT_INFORMATION_V5 const *PCWER_REPORT_INFORMATION_V5; +#endif + +HRESULT WINAPI WerAddExcludedApplication(PCWSTR pwzExeName,WINBOOL bAllUsers); +HRESULT WINAPI WerGetFlags(HANDLE hProcess,PDWORD pdwFlags); +HRESULT WINAPI WerRegisterFile(PCWSTR pwzFile,WER_REGISTER_FILE_TYPE regFileType,DWORD dwFlags); +HRESULT WINAPI WerRegisterMemoryBlock(PVOID pvAddress,DWORD dwSize); +HRESULT WINAPI WerRemoveExcludedApplication(PCWSTR pwzExeName,WINBOOL bAllUsers); +HRESULT WINAPI WerReportAddDump(HREPORT hReportHandle,HANDLE hProcess,HANDLE hThread,WER_DUMP_TYPE dumpType,PWER_EXCEPTION_INFORMATION pExceptionParam,PWER_DUMP_CUSTOM_OPTIONS pDumpCustomOptions,DWORD dwFlags); +HRESULT WINAPI WerReportAddFile(HREPORT hReportHandle,PCWSTR pwzPath,WER_FILE_TYPE repFileType,DWORD dwFileFlags); +HRESULT WINAPI WerReportCloseHandle(HREPORT hReportHandle); +HRESULT WINAPI WerReportCreate(PCWSTR pwzEventType,WER_REPORT_TYPE repType,PWER_REPORT_INFORMATION pReportInformation,HREPORT *phReportHandle); +HRESULT WINAPI WerReportHang(HWND hwndHungWindow,PCWSTR wszHungApplicationName); +HRESULT WINAPI WerReportSetParameter(HREPORT hReportHandle,DWORD dwparamID,PCWSTR pwzName,PCWSTR pwzValue); +HRESULT WINAPI WerReportSetUIOption(HREPORT hReportHandle,WER_REPORT_UI repUITypeID,PCWSTR pwzValue); +HRESULT WINAPI WerReportSubmit(HREPORT hReportHandle,WER_CONSENT consent,DWORD dwFlags,PWER_SUBMIT_RESULT pSubmitResult); +HRESULT WINAPI WerSetFlags(DWORD dwFlags); +HRESULT WINAPI WerUnregisterFile(PCWSTR pwzFilePath); +HRESULT WINAPI WerUnregisterMemoryBlock(PVOID pvAddress); +HRESULT WINAPI WerRegisterExcludedMemoryBlock(const void* address, DWORD size); +HRESULT WINAPI WerUnregisterExcludedMemoryBlock(const void* address); +HRESULT WINAPI WerRegisterCustomMetadata(PCWSTR key, PCWSTR value); +HRESULT WINAPI WerUnregisterCustomMetadata(PCWSTR key); +HRESULT WINAPI WerRegisterAdditionalProcess(DWORD processId, DWORD captureExtraInfoForThreadId); +HRESULT WINAPI WerUnregisterAdditionalProcess(DWORD processId); +HRESULT WINAPI WerRegisterAppLocalDump(PCWSTR localAppDataRelativePath); +HRESULT WINAPI WerUnregisterAppLocalDump(void); +HRESULT WINAPI WerSetMaxProcessHoldMilliseconds(DWORD dwMilliseconds); + +#if (_WIN32_WINNT >= 0x0601) +typedef struct _WER_RUNTIME_EXCEPTION_INFORMATION { + DWORD dwSize; + HANDLE hProcess; + HANDLE hThread; + EXCEPTION_RECORD exceptionRecord; + CONTEXT context; + PCWSTR pwszReportId; + WINBOOL bIsFatal; + DWORD dwReserved; +} WER_RUNTIME_EXCEPTION_INFORMATION, *PWER_RUNTIME_EXCEPTION_INFORMATION; + +typedef HRESULT (WINAPI *PFN_WER_RUNTIME_EXCEPTION_EVENT)( + PVOID pContext, + const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation, + WINBOOL *pbOwnershipClaimed, + PWSTR pwszEventName, + PDWORD pchSize, + PDWORD pdwSignatureCount +); + +typedef HRESULT (WINAPI *PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH)( + PVOID pContext, + const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation, + PBOOL pbIsCustomDebugger, + PWSTR pwszDebuggerLaunch, + PDWORD pchDebuggerLaunch, + PBOOL pbIsDebuggerAutolaunch +); + +typedef HRESULT (WINAPI *PFN_WER_RUNTIME_EXCEPTION_EVENT_SIGNATURE)( + PVOID pContext, + const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation, + DWORD dwIndex, + PWSTR pwszName, + PDWORD pchName, + PWSTR pwszValue, + PDWORD pchValue +); + +HRESULT WINAPI WerRegisterRuntimeExceptionModule( + PCWSTR pwszOutOfProcessCallbackDll, + PVOID pContext +); + +HRESULT WINAPI WerUnregisterRuntimeExceptionModule( + PCWSTR pwszOutOfProcessCallbackDll, + PVOID pContext +); + +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +typedef enum _REPORT_STORE_TYPES { + E_STORE_USER_ARCHIVE = 0, + E_STORE_USER_QUEUE, + E_STORE_MACHINE_ARCHIVE, + E_STORE_MACHINE_QUEUE, + E_STORE_INVALID +} REPORT_STORE_TYPES; + +typedef PVOID HREPORTSTORE, *PHREPORTSTORE; + +typedef struct _WER_REPORT_PARAMETER { + WCHAR Name[WER_MAX_SIGNATURE_NAME_LENGTH + 1]; + WCHAR Value[WER_MAX_PARAM_LENGTH]; +}WER_REPORT_PARAMETER, PWER_REPORT_PARAMETER; + +typedef struct _WER_REPORT_SIGNATURE { + WCHAR EventName[WER_MAX_EVENT_NAME_LENGTH + 1]; + WER_REPORT_PARAMETER Parameters[WER_MAX_PARAM_COUNT]; +} WER_REPORT_SIGNATURE, *PWER_REPORT_SIGNATURE; + +typedef struct _WER_REPORT_METADATA_V1 { + WER_REPORT_SIGNATURE Signature; + GUID BucketId; + GUID ReportId; + FILETIME CreationTime; + ULONGLONG SizeInBytes; +} WER_REPORT_METADATA_V1, *PWER_REPORT_METADATA_V1; + +typedef struct _WER_REPORT_METADATA_V2 { + WER_REPORT_SIGNATURE Signature; + GUID BucketId; + GUID ReportId; + FILETIME CreationTime; + ULONGLONG SizeInBytes; + WCHAR CabId[MAX_PATH]; + DWORD ReportStatus; + GUID ReportIntegratorId; + DWORD NumberOfFiles; + DWORD SizeOfFileNames; + WCHAR *FileNames; +} WER_REPORT_METADATA_V2, *PWER_REPORT_METADATA_V2; + +typedef struct _WER_REPORT_METADATA_V3 { + WER_REPORT_SIGNATURE Signature; + GUID BucketId; + GUID ReportId; + FILETIME CreationTime; + ULONGLONG SizeInBytes; + WCHAR CabId[MAX_PATH]; + DWORD ReportStatus; + GUID ReportIntegratorId; + DWORD NumberOfFiles; + DWORD SizeOfFileNames; + WCHAR *FileNames; + WCHAR FriendlyEventName[WER_MAX_FRIENDLY_EVENT_NAME_LENGTH]; + WCHAR ApplicationName[WER_MAX_APPLICATION_NAME_LENGTH]; + WCHAR ApplicationPath[MAX_PATH]; + WCHAR Description[WER_MAX_DESCRIPTION_LENGTH]; + WCHAR BucketIdString[WER_MAX_BUCKET_ID_STRING_LENGTH]; + ULONGLONG LegacyBucketId; +} WER_REPORT_METADATA_V3, *PWER_REPORT_METADATA_V3; + +HRESULT WINAPI WerStoreOpen(REPORT_STORE_TYPES repStoreType, PHREPORTSTORE phReportStore); +VOID WINAPI WerStoreClose(HREPORTSTORE hReportStore); +HRESULT WINAPI WerStoreGetFirstReportKey(HREPORTSTORE hReportStore, PCWSTR *ppszReportKey); +HRESULT WINAPI WerStoreGetNextReportKey(HREPORTSTORE hReportStore, PCWSTR *ppszReportKey); +HRESULT WINAPI WerStoreQueryReportMetadataV1(HREPORTSTORE hReportStore, PCWSTR pszReportKey, PWER_REPORT_METADATA_V1 pReportMetadata); +HRESULT WINAPI WerStoreQueryReportMetadataV2(HREPORTSTORE hReportStore, PCWSTR pszReportKey, PWER_REPORT_METADATA_V2 pReportMetadata); +HRESULT WINAPI WerStoreQueryReportMetadataV3(HREPORTSTORE hReportStore, PCWSTR pszReportKey, PWER_REPORT_METADATA_V3 pReportMetadata); +VOID WINAPI WerFreeString(PCWSTR pwszStr); +HRESULT WINAPI WerStorePurge(void); +HRESULT WINAPI WerStoreGetReportCount(HREPORTSTORE hReportStore, DWORD *pdwReportCount); +HRESULT WINAPI WerStoreGetSizeOnDisk(HREPORTSTORE hReportStore, ULONGLONG *pqwSizeInBytes); +HRESULT WINAPI WerStoreUploadReport(HREPORTSTORE hReportStore, PCWSTR pszReportKey, DWORD dwFlags, PWER_SUBMIT_RESULT pSubmitResult); + +#ifdef __cplusplus +} +#endif +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WERAPI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wfext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wfext.h new file mode 100644 index 00000000..fa8d4e57 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wfext.h @@ -0,0 +1,144 @@ +/** + * 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_WFEXT +#define _INC_WFEXT + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define MENU_TEXT_LEN 40 + +#define FMMENU_FIRST 1 +#define FMMENU_LAST 99 + +#define FMEVENT_LOAD 100 +#define FMEVENT_UNLOAD 101 +#define FMEVENT_INITMENU 102 +#define FMEVENT_USER_REFRESH 103 +#define FMEVENT_SELCHANGE 104 +#define FMEVENT_TOOLBARLOAD 105 +#define FMEVENT_HELPSTRING 106 +#define FMEVENT_HELPMENUITEM 107 + +#define FMFOCUS_DIR 1 +#define FMFOCUS_TREE 2 +#define FMFOCUS_DRIVES 3 +#define FMFOCUS_SEARCH 4 + +#define FM_GETFOCUS (WM_USER + 0x0200) +#define FM_GETSELCOUNT (WM_USER + 0x0202) +#define FM_GETSELCOUNTLFN (WM_USER + 0x0203) +#define FM_REFRESH_WINDOWS (WM_USER + 0x0206) +#define FM_RELOAD_EXTENSIONS (WM_USER + 0x0207) + +#define FM_GETDRIVEINFOA (WM_USER + 0x0201) +#define FM_GETFILESELA (WM_USER + 0x0204) +#define FM_GETFILESELLFNA (WM_USER + 0x0205) + +#define FM_GETDRIVEINFOW (WM_USER + 0x0211) +#define FM_GETFILESELW (WM_USER + 0x0214) +#define FM_GETFILESELLFNW (WM_USER + 0x0215) + +#define FM_GETDRIVEINFO __MINGW_NAME_AW(FM_GETDRIVEINFO) +#define FM_GETFILESEL __MINGW_NAME_AW(FM_GETFILESEL) +#define FM_GETFILESELLFN __MINGW_NAME_AW(FM_GETFILESELLFN) + + typedef struct _FMS_GETFILESELA { + FILETIME ftTime; + DWORD dwSize; + BYTE bAttr; + CHAR szName[260]; + } FMS_GETFILESELA,*LPFMS_GETFILESELA; + + typedef struct _FMS_GETFILESELW { + FILETIME ftTime; + DWORD dwSize; + BYTE bAttr; + WCHAR szName[260]; + } FMS_GETFILESELW,*LPFMS_GETFILESELW; + +#define FMS_GETFILESEL __MINGW_NAME_AW(FMS_GETFILESEL) +#define LPFMS_GETFILESEL __MINGW_NAME_AW(LPFMS_GETFILESEL) + + typedef struct _FMS_GETDRIVEINFOA { + DWORD dwTotalSpace; + DWORD dwFreeSpace; + CHAR szPath[260]; + CHAR szVolume[14]; + CHAR szShare[128]; + } FMS_GETDRIVEINFOA,*LPFMS_GETDRIVEINFOA; + + typedef struct _FMS_GETDRIVEINFOW { + DWORD dwTotalSpace; + DWORD dwFreeSpace; + WCHAR szPath[260]; + WCHAR szVolume[14]; + WCHAR szShare[128]; + } FMS_GETDRIVEINFOW,*LPFMS_GETDRIVEINFOW; + +#define FMS_GETDRIVEINFO __MINGW_NAME_AW(FMS_GETDRIVEINFO) +#define LPFMS_GETDRIVEINFO __MINGW_NAME_AW(LPFMS_GETDRIVEINFO) + + typedef struct _FMS_LOADA { + DWORD dwSize; + CHAR szMenuName[MENU_TEXT_LEN]; + HMENU hMenu; + UINT wMenuDelta; + } FMS_LOADA,*LPFMS_LOADA; + + typedef struct _FMS_LOADW { + DWORD dwSize; + WCHAR szMenuName[MENU_TEXT_LEN]; + HMENU hMenu; + UINT wMenuDelta; + } FMS_LOADW,*LPFMS_LOADW; + +#define FMS_LOAD __MINGW_NAME_AW(FMS_LOAD) +#define LPFMS_LOAD __MINGW_NAME_AW(LPFMS_LOAD) + + typedef struct tagEXT_BUTTON { + WORD idCommand; + WORD idsHelp; + WORD fsStyle; + } EXT_BUTTON,*LPEXT_BUTTON; + + typedef struct tagFMS_TOOLBARLOAD { + DWORD dwSize; + LPEXT_BUTTON lpButtons; + WORD cButtons; + WORD cBitmaps; + WORD idBitmap; + HBITMAP hBitmap; + } FMS_TOOLBARLOAD,*LPFMS_TOOLBARLOAD; + + typedef struct tagFMS_HELPSTRINGA { + INT idCommand; + HMENU hMenu; + CHAR szHelp[128]; + } FMS_HELPSTRINGA,*LPFMS_HELPSTRINGA; + + typedef struct tagFMS_HELPSTRINGW { + INT idCommand; + HMENU hMenu; + WCHAR szHelp[128]; + } FMS_HELPSTRINGW,*LPFMS_HELPSTRINGW; + +#define FMS_HELPSTRING __MINGW_NAME_AW(FMS_HELPSTRING) +#define LPFMS_HELPSTRING __MINGW_NAME_AW(LPFMS_HELPSTRING) + + typedef DWORD (WINAPI *FM_EXT_PROC)(HWND,WORD,LONG); + typedef DWORD (WINAPI *FM_UNDELETE_PROC)(HWND,LPTSTR); + + LONG WINAPI FMExtensionProcW(HWND hwnd,WORD wEvent,LONG lParam); + LONG WINAPI FMExtensionProc(HWND hwnd,WORD wEvent,LONG lParam); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia.h new file mode 100644 index 00000000..3a0497e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2009 Damjan Jovanovic + * + * 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 + */ + + +#ifdef __WINESRC__ +#error Specify wia_lh.h or wia_xp.h explicitly in Wine +#endif + +#if (_WIN32_WINNT >= 0x0600) +#include +#elif (_WIN32_WINNT >= 0x0501) +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_lh.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_lh.h new file mode 100644 index 00000000..a3e99f04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_lh.h @@ -0,0 +1,1821 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wia_lh.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 __wia_lh_h__ +#define __wia_lh_h__ + +/* Forward declarations */ + +#ifndef __IWiaDevMgr_FWD_DEFINED__ +#define __IWiaDevMgr_FWD_DEFINED__ +typedef interface IWiaDevMgr IWiaDevMgr; +#ifdef __cplusplus +interface IWiaDevMgr; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ +#define __IEnumWIA_DEV_INFO_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; +#ifdef __cplusplus +interface IEnumWIA_DEV_INFO; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPropertyStorage_FWD_DEFINED__ +#define __IWiaPropertyStorage_FWD_DEFINED__ +typedef interface IWiaPropertyStorage IWiaPropertyStorage; +#ifdef __cplusplus +interface IWiaPropertyStorage; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem_FWD_DEFINED__ +#define __IWiaItem_FWD_DEFINED__ +typedef interface IWiaItem IWiaItem; +#ifdef __cplusplus +interface IWiaItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaEventCallback_FWD_DEFINED__ +#define __IWiaEventCallback_FWD_DEFINED__ +typedef interface IWiaEventCallback IWiaEventCallback; +#ifdef __cplusplus +interface IWiaEventCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ +#define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; +#ifdef __cplusplus +interface IEnumWIA_DEV_CAPS; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaTransferCallback_FWD_DEFINED__ +#define __IWiaTransferCallback_FWD_DEFINED__ +typedef interface IWiaTransferCallback IWiaTransferCallback; +#ifdef __cplusplus +interface IWiaTransferCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPreview_FWD_DEFINED__ +#define __IWiaPreview_FWD_DEFINED__ +typedef interface IWiaPreview IWiaPreview; +#ifdef __cplusplus +interface IWiaPreview; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWiaItem2_FWD_DEFINED__ +#define __IEnumWiaItem2_FWD_DEFINED__ +typedef interface IEnumWiaItem2 IEnumWiaItem2; +#ifdef __cplusplus +interface IEnumWiaItem2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem2_FWD_DEFINED__ +#define __IWiaItem2_FWD_DEFINED__ +typedef interface IWiaItem2 IWiaItem2; +#ifdef __cplusplus +interface IWiaItem2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaDevMgr2_FWD_DEFINED__ +#define __IWiaDevMgr2_FWD_DEFINED__ +typedef interface IWiaDevMgr2 IWiaDevMgr2; +#ifdef __cplusplus +interface IWiaDevMgr2; +#endif /* __cplusplus */ +#endif + +#ifndef __WiaDevMgr2_FWD_DEFINED__ +#define __WiaDevMgr2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WiaDevMgr2 WiaDevMgr2; +#else +typedef struct WiaDevMgr2 WiaDevMgr2; +#endif /* defined __cplusplus */ +#endif /* defined __WiaDevMgr2_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _WIA_DITHER_PATTERN_DATA { + LONG lSize; + BSTR bstrPatternName; + LONG lPatternWidth; + LONG lPatternLength; + LONG cbPattern; + BYTE *pbPattern; +} WIA_DITHER_PATTERN_DATA; +typedef struct _WIA_DITHER_PATTERN_DATA *PWIA_DITHER_PATTERN_DATA; +typedef struct _WIA_PROPID_TO_NAME { + PROPID propid; + LPOLESTR pszName; +} WIA_PROPID_TO_NAME; +typedef struct _WIA_PROPID_TO_NAME *PWIA_PROPID_TO_NAME; +typedef struct _WIA_FORMAT_INFO { + GUID guidFormatID; + LONG lTymed; +} WIA_FORMAT_INFO; +typedef struct _WIA_FORMAT_INFO *PWIA_FORMAT_INFO; +#include +#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ +#define __IEnumWIA_DEV_INFO_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; +#ifdef __cplusplus +interface IEnumWIA_DEV_INFO; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPropertyStorage_FWD_DEFINED__ +#define __IWiaPropertyStorage_FWD_DEFINED__ +typedef interface IWiaPropertyStorage IWiaPropertyStorage; +#ifdef __cplusplus +interface IWiaPropertyStorage; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem_FWD_DEFINED__ +#define __IWiaItem_FWD_DEFINED__ +typedef interface IWiaItem IWiaItem; +#ifdef __cplusplus +interface IWiaItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaEventCallback_FWD_DEFINED__ +#define __IWiaEventCallback_FWD_DEFINED__ +typedef interface IWiaEventCallback IWiaEventCallback; +#ifdef __cplusplus +interface IWiaEventCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWIA_DEV_CAPS_FWD_DEFINED__ +#define __IEnumWIA_DEV_CAPS_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_CAPS IEnumWIA_DEV_CAPS; +#ifdef __cplusplus +interface IEnumWIA_DEV_CAPS; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaTransferCallback_FWD_DEFINED__ +#define __IWiaTransferCallback_FWD_DEFINED__ +typedef interface IWiaTransferCallback IWiaTransferCallback; +#ifdef __cplusplus +interface IWiaTransferCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPreview_FWD_DEFINED__ +#define __IWiaPreview_FWD_DEFINED__ +typedef interface IWiaPreview IWiaPreview; +#ifdef __cplusplus +interface IWiaPreview; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWiaItem2_FWD_DEFINED__ +#define __IEnumWiaItem2_FWD_DEFINED__ +typedef interface IEnumWiaItem2 IEnumWiaItem2; +#ifdef __cplusplus +interface IEnumWiaItem2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem2_FWD_DEFINED__ +#define __IWiaItem2_FWD_DEFINED__ +typedef interface IWiaItem2 IWiaItem2; +#ifdef __cplusplus +interface IWiaItem2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaDevMgr2_FWD_DEFINED__ +#define __IWiaDevMgr2_FWD_DEFINED__ +typedef interface IWiaDevMgr2 IWiaDevMgr2; +#ifdef __cplusplus +interface IWiaDevMgr2; +#endif /* __cplusplus */ +#endif + +DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); +/***************************************************************************** + * IWiaDevMgr interface + */ +#ifndef __IWiaDevMgr_INTERFACE_DEFINED__ +#define __IWiaDevMgr_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811") +IWiaDevMgr : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( + LONG lFlag, + IEnumWIA_DEV_INFO **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDevice( + BSTR bstrDeviceID, + IWiaItem **ppWiaItemRoot) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem **ppItemRoot) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImageDlg( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + LONG lIntent, + IWiaItem *pItemRoot, + BSTR bstrFilename, + GUID *pguidFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrCommandline, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg( + HWND hwndParent, + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) +#endif +#else +typedef struct IWiaDevMgrVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaDevMgr *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaDevMgr *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaDevMgr *This); + + /*** IWiaDevMgr methods ***/ + HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( + IWiaDevMgr *This, + LONG lFlag, + IEnumWIA_DEV_INFO **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *CreateDevice)( + IWiaDevMgr *This, + BSTR bstrDeviceID, + IWiaItem **ppWiaItemRoot); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem **ppItemRoot); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID); + + HRESULT (STDMETHODCALLTYPE *GetImageDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + LONG lIntent, + IWiaItem *pItemRoot, + BSTR bstrFilename, + GUID *pguidFormat); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrCommandline, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lFlags); + + END_INTERFACE +} IWiaDevMgrVtbl; + +interface IWiaDevMgr { + CONST_VTBL IWiaDevMgrVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaDevMgr methods ***/ +#define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) +#define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) +#define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) +#define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) +#define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) +#define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) +#define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaDevMgr methods ***/ +static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) { + return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum); +} +static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) { + return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot); +} +static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) { + return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); +} +static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { + return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); +} +static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) { + return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { + return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) { + return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumWIA_DEV_INFO interface + */ +#ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ +#define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811") +IEnumWIA_DEV_INFO : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + IWiaPropertyStorage **rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumWIA_DEV_INFO **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + ULONG *celt) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) +#endif +#else +typedef struct IEnumWIA_DEV_INFOVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumWIA_DEV_INFO *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumWIA_DEV_INFO *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumWIA_DEV_INFO *This); + + /*** IEnumWIA_DEV_INFO methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumWIA_DEV_INFO *This, + ULONG celt, + IWiaPropertyStorage **rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumWIA_DEV_INFO *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumWIA_DEV_INFO *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumWIA_DEV_INFO *This, + IEnumWIA_DEV_INFO **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IEnumWIA_DEV_INFO *This, + ULONG *celt); + + END_INTERFACE +} IEnumWIA_DEV_INFOVtbl; + +interface IEnumWIA_DEV_INFO { + CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumWIA_DEV_INFO methods ***/ +#define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) +#define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumWIA_DEV_INFO methods ***/ +static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) { + return This->lpVtbl->Clone(This,ppIEnum); +} +static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) { + return This->lpVtbl->GetCount(This,celt); +} +#endif +#endif + +#endif + + +#endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaPropertyStorage interface + */ +#ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ +#define __IWiaPropertyStorage_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6") +IWiaPropertyStorage : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6) +#endif +#else +typedef struct IWiaPropertyStorageVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaPropertyStorage *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaPropertyStorage *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaPropertyStorage *This); + + END_INTERFACE +} IWiaPropertyStorageVtbl; + +interface IWiaPropertyStorage { + CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaItem interface + */ +#ifndef __IWiaItem_INTERFACE_DEFINED__ +#define __IWiaItem_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145") +IWiaItem : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45) +#endif +#else +typedef struct IWiaItemVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaItem *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaItem *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaItem *This); + + END_INTERFACE +} IWiaItemVtbl; + +interface IWiaItem { + CONST_VTBL IWiaItemVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaItem_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaItem_AddRef(IWiaItem* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaItem_Release(IWiaItem* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWiaItem_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaEventCallback interface + */ +#ifndef __IWiaEventCallback_INTERFACE_DEFINED__ +#define __IWiaEventCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e") +IWiaEventCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( + const GUID *pEventGUID, + BSTR bstrEventDescription, + BSTR bstrDeviceID, + BSTR bstrDeviceDescription, + DWORD dwDeviceType, + BSTR bstrFullItemName, + ULONG *pulEventType, + ULONG ulReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e) +#endif +#else +typedef struct IWiaEventCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaEventCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaEventCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaEventCallback *This); + + /*** IWiaEventCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *ImageEventCallback)( + IWiaEventCallback *This, + const GUID *pEventGUID, + BSTR bstrEventDescription, + BSTR bstrDeviceID, + BSTR bstrDeviceDescription, + DWORD dwDeviceType, + BSTR bstrFullItemName, + ULONG *pulEventType, + ULONG ulReserved); + + END_INTERFACE +} IWiaEventCallbackVtbl; + +interface IWiaEventCallback { + CONST_VTBL IWiaEventCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaEventCallback methods ***/ +#define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaEventCallback methods ***/ +static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) { + return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */ + +typedef struct _WIA_DEV_CAP { + GUID guid; + ULONG ulFlags; + BSTR bstrName; + BSTR bstrDescription; + BSTR bstrIcon; + BSTR bstrCommandline; +} WIA_DEV_CAP; +typedef struct _WIA_DEV_CAP *PWIA_DEV_CAP; +typedef struct _WIA_DEV_CAP WIA_EVENT_HANDLER; +typedef struct _WIA_DEV_CAP *PWIA_EVENT_HANDLER; +/***************************************************************************** + * IEnumWIA_DEV_CAPS interface + */ +#ifndef __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ +#define __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1fcc4287-aca6-11d2-a093-00c04f72dc3c") +IEnumWIA_DEV_CAPS : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + WIA_DEV_CAP *rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumWIA_DEV_CAPS **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + ULONG *pcelt) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumWIA_DEV_CAPS, 0x1fcc4287, 0xaca6, 0x11d2, 0xa0,0x93, 0x00,0xc0,0x4f,0x72,0xdc,0x3c) +#endif +#else +typedef struct IEnumWIA_DEV_CAPSVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumWIA_DEV_CAPS *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumWIA_DEV_CAPS *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumWIA_DEV_CAPS *This); + + /*** IEnumWIA_DEV_CAPS methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumWIA_DEV_CAPS *This, + ULONG celt, + WIA_DEV_CAP *rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumWIA_DEV_CAPS *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumWIA_DEV_CAPS *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumWIA_DEV_CAPS *This, + IEnumWIA_DEV_CAPS **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IEnumWIA_DEV_CAPS *This, + ULONG *pcelt); + + END_INTERFACE +} IEnumWIA_DEV_CAPSVtbl; + +interface IEnumWIA_DEV_CAPS { + CONST_VTBL IEnumWIA_DEV_CAPSVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumWIA_DEV_CAPS_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumWIA_DEV_CAPS_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumWIA_DEV_CAPS_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumWIA_DEV_CAPS methods ***/ +#define IEnumWIA_DEV_CAPS_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumWIA_DEV_CAPS_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumWIA_DEV_CAPS_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumWIA_DEV_CAPS_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) +#define IEnumWIA_DEV_CAPS_GetCount(This,pcelt) (This)->lpVtbl->GetCount(This,pcelt) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumWIA_DEV_CAPS_QueryInterface(IEnumWIA_DEV_CAPS* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumWIA_DEV_CAPS_AddRef(IEnumWIA_DEV_CAPS* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumWIA_DEV_CAPS_Release(IEnumWIA_DEV_CAPS* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumWIA_DEV_CAPS methods ***/ +static inline HRESULT IEnumWIA_DEV_CAPS_Next(IEnumWIA_DEV_CAPS* This,ULONG celt,WIA_DEV_CAP *rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumWIA_DEV_CAPS_Skip(IEnumWIA_DEV_CAPS* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumWIA_DEV_CAPS_Reset(IEnumWIA_DEV_CAPS* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumWIA_DEV_CAPS_Clone(IEnumWIA_DEV_CAPS* This,IEnumWIA_DEV_CAPS **ppIEnum) { + return This->lpVtbl->Clone(This,ppIEnum); +} +static inline HRESULT IEnumWIA_DEV_CAPS_GetCount(IEnumWIA_DEV_CAPS* This,ULONG *pcelt) { + return This->lpVtbl->GetCount(This,pcelt); +} +#endif +#endif + +#endif + + +#endif /* __IEnumWIA_DEV_CAPS_INTERFACE_DEFINED__ */ + +typedef struct _WiaTransferParams { + LONG lMessage; + LONG lPercentComplete; + ULONG64 ulTransferredBytes; + HRESULT hrErrorStatus; +} WiaTransferParams; +/***************************************************************************** + * IWiaTransferCallback interface + */ +#ifndef __IWiaTransferCallback_INTERFACE_DEFINED__ +#define __IWiaTransferCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("27d4eaaf-28a6-4ca5-9aab-e678168b9527") +IWiaTransferCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE TransferCallback( + LONG lFlags, + WiaTransferParams *pWiaTransferParams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextStream( + LONG lFlags, + BSTR bstrItemName, + BSTR bstrFullItemName, + IStream **ppDestination) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaTransferCallback, 0x27d4eaaf, 0x28a6, 0x4ca5, 0x9a,0xab, 0xe6,0x78,0x16,0x8b,0x95,0x27) +#endif +#else +typedef struct IWiaTransferCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaTransferCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaTransferCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaTransferCallback *This); + + /*** IWiaTransferCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *TransferCallback)( + IWiaTransferCallback *This, + LONG lFlags, + WiaTransferParams *pWiaTransferParams); + + HRESULT (STDMETHODCALLTYPE *GetNextStream)( + IWiaTransferCallback *This, + LONG lFlags, + BSTR bstrItemName, + BSTR bstrFullItemName, + IStream **ppDestination); + + END_INTERFACE +} IWiaTransferCallbackVtbl; + +interface IWiaTransferCallback { + CONST_VTBL IWiaTransferCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaTransferCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaTransferCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaTransferCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaTransferCallback methods ***/ +#define IWiaTransferCallback_TransferCallback(This,lFlags,pWiaTransferParams) (This)->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams) +#define IWiaTransferCallback_GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) (This)->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaTransferCallback_QueryInterface(IWiaTransferCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaTransferCallback_AddRef(IWiaTransferCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaTransferCallback_Release(IWiaTransferCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaTransferCallback methods ***/ +static inline HRESULT IWiaTransferCallback_TransferCallback(IWiaTransferCallback* This,LONG lFlags,WiaTransferParams *pWiaTransferParams) { + return This->lpVtbl->TransferCallback(This,lFlags,pWiaTransferParams); +} +static inline HRESULT IWiaTransferCallback_GetNextStream(IWiaTransferCallback* This,LONG lFlags,BSTR bstrItemName,BSTR bstrFullItemName,IStream **ppDestination) { + return This->lpVtbl->GetNextStream(This,lFlags,bstrItemName,bstrFullItemName,ppDestination); +} +#endif +#endif + +#endif + + +#endif /* __IWiaTransferCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaPreview interface + */ +#ifndef __IWiaPreview_INTERFACE_DEFINED__ +#define __IWiaPreview_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("95c2b4fd-33f2-4d86-ad40-9431f0df08f7") +IWiaPreview : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetNewPreview( + LONG lFlags, + IWiaItem2 *pWiaItem2, + IWiaTransferCallback *pWiaTransferCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE UpdatePreview( + LONG lFlags, + IWiaItem2 *pChildWiaItem2, + IWiaTransferCallback *pWiaTransferCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE DetectRegions( + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaPreview, 0x95c2b4fd, 0x33f2, 0x4d86, 0xad,0x40, 0x94,0x31,0xf0,0xdf,0x08,0xf7) +#endif +#else +typedef struct IWiaPreviewVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaPreview *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaPreview *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaPreview *This); + + /*** IWiaPreview methods ***/ + HRESULT (STDMETHODCALLTYPE *GetNewPreview)( + IWiaPreview *This, + LONG lFlags, + IWiaItem2 *pWiaItem2, + IWiaTransferCallback *pWiaTransferCallback); + + HRESULT (STDMETHODCALLTYPE *UpdatePreview)( + IWiaPreview *This, + LONG lFlags, + IWiaItem2 *pChildWiaItem2, + IWiaTransferCallback *pWiaTransferCallback); + + HRESULT (STDMETHODCALLTYPE *DetectRegions)( + IWiaPreview *This, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IWiaPreview *This); + + END_INTERFACE +} IWiaPreviewVtbl; + +interface IWiaPreview { + CONST_VTBL IWiaPreviewVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaPreview_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaPreview_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaPreview_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaPreview methods ***/ +#define IWiaPreview_GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) (This)->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback) +#define IWiaPreview_UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) (This)->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback) +#define IWiaPreview_DetectRegions(This,lFlags) (This)->lpVtbl->DetectRegions(This,lFlags) +#define IWiaPreview_Clear(This) (This)->lpVtbl->Clear(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaPreview_QueryInterface(IWiaPreview* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaPreview_AddRef(IWiaPreview* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaPreview_Release(IWiaPreview* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaPreview methods ***/ +static inline HRESULT IWiaPreview_GetNewPreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { + return This->lpVtbl->GetNewPreview(This,lFlags,pWiaItem2,pWiaTransferCallback); +} +static inline HRESULT IWiaPreview_UpdatePreview(IWiaPreview* This,LONG lFlags,IWiaItem2 *pChildWiaItem2,IWiaTransferCallback *pWiaTransferCallback) { + return This->lpVtbl->UpdatePreview(This,lFlags,pChildWiaItem2,pWiaTransferCallback); +} +static inline HRESULT IWiaPreview_DetectRegions(IWiaPreview* This,LONG lFlags) { + return This->lpVtbl->DetectRegions(This,lFlags); +} +static inline HRESULT IWiaPreview_Clear(IWiaPreview* This) { + return This->lpVtbl->Clear(This); +} +#endif +#endif + +#endif + + +#endif /* __IWiaPreview_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumWiaItem2 interface + */ +#ifndef __IEnumWiaItem2_INTERFACE_DEFINED__ +#define __IEnumWiaItem2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("59970af4-cd0d-44d9-ab24-52295630e582") +IEnumWiaItem2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG cElt, + IWiaItem2 **ppIWiaItem2, + ULONG *pcEltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG cElt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumWiaItem2 **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + ULONG *cElt) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumWiaItem2, 0x59970af4, 0xcd0d, 0x44d9, 0xab,0x24, 0x52,0x29,0x56,0x30,0xe5,0x82) +#endif +#else +typedef struct IEnumWiaItem2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumWiaItem2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumWiaItem2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumWiaItem2 *This); + + /*** IEnumWiaItem2 methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumWiaItem2 *This, + ULONG cElt, + IWiaItem2 **ppIWiaItem2, + ULONG *pcEltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumWiaItem2 *This, + ULONG cElt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumWiaItem2 *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumWiaItem2 *This, + IEnumWiaItem2 **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IEnumWiaItem2 *This, + ULONG *cElt); + + END_INTERFACE +} IEnumWiaItem2Vtbl; + +interface IEnumWiaItem2 { + CONST_VTBL IEnumWiaItem2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumWiaItem2_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumWiaItem2 methods ***/ +#define IEnumWiaItem2_Next(This,cElt,ppIWiaItem2,pcEltFetched) (This)->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched) +#define IEnumWiaItem2_Skip(This,cElt) (This)->lpVtbl->Skip(This,cElt) +#define IEnumWiaItem2_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumWiaItem2_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) +#define IEnumWiaItem2_GetCount(This,cElt) (This)->lpVtbl->GetCount(This,cElt) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumWiaItem2_QueryInterface(IEnumWiaItem2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumWiaItem2_AddRef(IEnumWiaItem2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumWiaItem2_Release(IEnumWiaItem2* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumWiaItem2 methods ***/ +static inline HRESULT IEnumWiaItem2_Next(IEnumWiaItem2* This,ULONG cElt,IWiaItem2 **ppIWiaItem2,ULONG *pcEltFetched) { + return This->lpVtbl->Next(This,cElt,ppIWiaItem2,pcEltFetched); +} +static inline HRESULT IEnumWiaItem2_Skip(IEnumWiaItem2* This,ULONG cElt) { + return This->lpVtbl->Skip(This,cElt); +} +static inline HRESULT IEnumWiaItem2_Reset(IEnumWiaItem2* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumWiaItem2_Clone(IEnumWiaItem2* This,IEnumWiaItem2 **ppIEnum) { + return This->lpVtbl->Clone(This,ppIEnum); +} +static inline HRESULT IEnumWiaItem2_GetCount(IEnumWiaItem2* This,ULONG *cElt) { + return This->lpVtbl->GetCount(This,cElt); +} +#endif +#endif + +#endif + + +#endif /* __IEnumWiaItem2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaItem2 interface + */ +#ifndef __IWiaItem2_INTERFACE_DEFINED__ +#define __IWiaItem2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6cba0075-1287-407d-9b77-cf0e030435cc") +IWiaItem2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateChildItem( + LONG lItemFlags, + LONG lCreationFlags, + BSTR bstrItemName, + IWiaItem2 **ppIWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteItem( + LONG lFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumChildItems( + const GUID *pCategoryGUID, + IEnumWiaItem2 **ppIEnumWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE FindItemByName( + LONG lFlags, + BSTR bstrFullItemName, + IWiaItem2 **ppIWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetItemCategory( + GUID *pItemCategoryGUID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetItemType( + LONG *pItemType) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeviceDlg( + LONG lFlags, + HWND hwndParent, + BSTR bstrFolderName, + BSTR bstrFilename, + LONG *plNumFiles, + BSTR **ppbstrFilePaths, + IWiaItem2 **ppItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeviceCommand( + LONG lFlags, + const GUID *pCmdGUID, + IWiaItem2 **ppIWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumDeviceCapabilities( + LONG lFlags, + IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) = 0; + + virtual HRESULT STDMETHODCALLTYPE CheckExtension( + LONG lFlags, + BSTR bstrName, + REFIID riidExtensionInterface, + WINBOOL *pbExtensionExists) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExtension( + LONG lFlags, + BSTR bstrName, + REFIID riidExtensionInterface, + void **ppOut) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetParentItem( + IWiaItem2 **ppIWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRootItem( + IWiaItem2 **ppIWiaItem2) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreviewComponent( + LONG lFlags, + IWiaPreview **ppWiaPreview) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumRegisterEventInfo( + LONG lFlags, + const GUID *pEventGUID, + IEnumWIA_DEV_CAPS **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE Diagnostic( + ULONG ulSize, + BYTE *pBuffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaItem2, 0x6cba0075, 0x1287, 0x407d, 0x9b,0x77, 0xcf,0x0e,0x03,0x04,0x35,0xcc) +#endif +#else +typedef struct IWiaItem2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaItem2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaItem2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaItem2 *This); + + /*** IWiaItem2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateChildItem)( + IWiaItem2 *This, + LONG lItemFlags, + LONG lCreationFlags, + BSTR bstrItemName, + IWiaItem2 **ppIWiaItem2); + + HRESULT (STDMETHODCALLTYPE *DeleteItem)( + IWiaItem2 *This, + LONG lFlags); + + HRESULT (STDMETHODCALLTYPE *EnumChildItems)( + IWiaItem2 *This, + const GUID *pCategoryGUID, + IEnumWiaItem2 **ppIEnumWiaItem2); + + HRESULT (STDMETHODCALLTYPE *FindItemByName)( + IWiaItem2 *This, + LONG lFlags, + BSTR bstrFullItemName, + IWiaItem2 **ppIWiaItem2); + + HRESULT (STDMETHODCALLTYPE *GetItemCategory)( + IWiaItem2 *This, + GUID *pItemCategoryGUID); + + HRESULT (STDMETHODCALLTYPE *GetItemType)( + IWiaItem2 *This, + LONG *pItemType); + + HRESULT (STDMETHODCALLTYPE *DeviceDlg)( + IWiaItem2 *This, + LONG lFlags, + HWND hwndParent, + BSTR bstrFolderName, + BSTR bstrFilename, + LONG *plNumFiles, + BSTR **ppbstrFilePaths, + IWiaItem2 **ppItem); + + HRESULT (STDMETHODCALLTYPE *DeviceCommand)( + IWiaItem2 *This, + LONG lFlags, + const GUID *pCmdGUID, + IWiaItem2 **ppIWiaItem2); + + HRESULT (STDMETHODCALLTYPE *EnumDeviceCapabilities)( + IWiaItem2 *This, + LONG lFlags, + IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS); + + HRESULT (STDMETHODCALLTYPE *CheckExtension)( + IWiaItem2 *This, + LONG lFlags, + BSTR bstrName, + REFIID riidExtensionInterface, + WINBOOL *pbExtensionExists); + + HRESULT (STDMETHODCALLTYPE *GetExtension)( + IWiaItem2 *This, + LONG lFlags, + BSTR bstrName, + REFIID riidExtensionInterface, + void **ppOut); + + HRESULT (STDMETHODCALLTYPE *GetParentItem)( + IWiaItem2 *This, + IWiaItem2 **ppIWiaItem2); + + HRESULT (STDMETHODCALLTYPE *GetRootItem)( + IWiaItem2 *This, + IWiaItem2 **ppIWiaItem2); + + HRESULT (STDMETHODCALLTYPE *GetPreviewComponent)( + IWiaItem2 *This, + LONG lFlags, + IWiaPreview **ppWiaPreview); + + HRESULT (STDMETHODCALLTYPE *EnumRegisterEventInfo)( + IWiaItem2 *This, + LONG lFlags, + const GUID *pEventGUID, + IEnumWIA_DEV_CAPS **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *Diagnostic)( + IWiaItem2 *This, + ULONG ulSize, + BYTE *pBuffer); + + END_INTERFACE +} IWiaItem2Vtbl; + +interface IWiaItem2 { + CONST_VTBL IWiaItem2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaItem2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaItem2_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaItem2 methods ***/ +#define IWiaItem2_CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) (This)->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2) +#define IWiaItem2_DeleteItem(This,lFlags) (This)->lpVtbl->DeleteItem(This,lFlags) +#define IWiaItem2_EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) (This)->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2) +#define IWiaItem2_FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) (This)->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2) +#define IWiaItem2_GetItemCategory(This,pItemCategoryGUID) (This)->lpVtbl->GetItemCategory(This,pItemCategoryGUID) +#define IWiaItem2_GetItemType(This,pItemType) (This)->lpVtbl->GetItemType(This,pItemType) +#define IWiaItem2_DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) +#define IWiaItem2_DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) (This)->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2) +#define IWiaItem2_EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) (This)->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS) +#define IWiaItem2_CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) (This)->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists) +#define IWiaItem2_GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) (This)->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut) +#define IWiaItem2_GetParentItem(This,ppIWiaItem2) (This)->lpVtbl->GetParentItem(This,ppIWiaItem2) +#define IWiaItem2_GetRootItem(This,ppIWiaItem2) (This)->lpVtbl->GetRootItem(This,ppIWiaItem2) +#define IWiaItem2_GetPreviewComponent(This,lFlags,ppWiaPreview) (This)->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview) +#define IWiaItem2_EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) (This)->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum) +#define IWiaItem2_Diagnostic(This,ulSize,pBuffer) (This)->lpVtbl->Diagnostic(This,ulSize,pBuffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaItem2_QueryInterface(IWiaItem2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaItem2_AddRef(IWiaItem2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaItem2_Release(IWiaItem2* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaItem2 methods ***/ +static inline HRESULT IWiaItem2_CreateChildItem(IWiaItem2* This,LONG lItemFlags,LONG lCreationFlags,BSTR bstrItemName,IWiaItem2 **ppIWiaItem2) { + return This->lpVtbl->CreateChildItem(This,lItemFlags,lCreationFlags,bstrItemName,ppIWiaItem2); +} +static inline HRESULT IWiaItem2_DeleteItem(IWiaItem2* This,LONG lFlags) { + return This->lpVtbl->DeleteItem(This,lFlags); +} +static inline HRESULT IWiaItem2_EnumChildItems(IWiaItem2* This,const GUID *pCategoryGUID,IEnumWiaItem2 **ppIEnumWiaItem2) { + return This->lpVtbl->EnumChildItems(This,pCategoryGUID,ppIEnumWiaItem2); +} +static inline HRESULT IWiaItem2_FindItemByName(IWiaItem2* This,LONG lFlags,BSTR bstrFullItemName,IWiaItem2 **ppIWiaItem2) { + return This->lpVtbl->FindItemByName(This,lFlags,bstrFullItemName,ppIWiaItem2); +} +static inline HRESULT IWiaItem2_GetItemCategory(IWiaItem2* This,GUID *pItemCategoryGUID) { + return This->lpVtbl->GetItemCategory(This,pItemCategoryGUID); +} +static inline HRESULT IWiaItem2_GetItemType(IWiaItem2* This,LONG *pItemType) { + return This->lpVtbl->GetItemType(This,pItemType); +} +static inline HRESULT IWiaItem2_DeviceDlg(IWiaItem2* This,LONG lFlags,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { + return This->lpVtbl->DeviceDlg(This,lFlags,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); +} +static inline HRESULT IWiaItem2_DeviceCommand(IWiaItem2* This,LONG lFlags,const GUID *pCmdGUID,IWiaItem2 **ppIWiaItem2) { + return This->lpVtbl->DeviceCommand(This,lFlags,pCmdGUID,ppIWiaItem2); +} +static inline HRESULT IWiaItem2_EnumDeviceCapabilities(IWiaItem2* This,LONG lFlags,IEnumWIA_DEV_CAPS **ppIEnumWIA_DEV_CAPS) { + return This->lpVtbl->EnumDeviceCapabilities(This,lFlags,ppIEnumWIA_DEV_CAPS); +} +static inline HRESULT IWiaItem2_CheckExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,WINBOOL *pbExtensionExists) { + return This->lpVtbl->CheckExtension(This,lFlags,bstrName,riidExtensionInterface,pbExtensionExists); +} +static inline HRESULT IWiaItem2_GetExtension(IWiaItem2* This,LONG lFlags,BSTR bstrName,REFIID riidExtensionInterface,void **ppOut) { + return This->lpVtbl->GetExtension(This,lFlags,bstrName,riidExtensionInterface,ppOut); +} +static inline HRESULT IWiaItem2_GetParentItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { + return This->lpVtbl->GetParentItem(This,ppIWiaItem2); +} +static inline HRESULT IWiaItem2_GetRootItem(IWiaItem2* This,IWiaItem2 **ppIWiaItem2) { + return This->lpVtbl->GetRootItem(This,ppIWiaItem2); +} +static inline HRESULT IWiaItem2_GetPreviewComponent(IWiaItem2* This,LONG lFlags,IWiaPreview **ppWiaPreview) { + return This->lpVtbl->GetPreviewComponent(This,lFlags,ppWiaPreview); +} +static inline HRESULT IWiaItem2_EnumRegisterEventInfo(IWiaItem2* This,LONG lFlags,const GUID *pEventGUID,IEnumWIA_DEV_CAPS **ppIEnum) { + return This->lpVtbl->EnumRegisterEventInfo(This,lFlags,pEventGUID,ppIEnum); +} +static inline HRESULT IWiaItem2_Diagnostic(IWiaItem2* This,ULONG ulSize,BYTE *pBuffer) { + return This->lpVtbl->Diagnostic(This,ulSize,pBuffer); +} +#endif +#endif + +#endif + + +#endif /* __IWiaItem2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaDevMgr2 interface + */ +#ifndef __IWiaDevMgr2_INTERFACE_DEFINED__ +#define __IWiaDevMgr2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("79c07cf1-cbdd-41ee-8ec3-f00080cada7a") +IWiaDevMgr2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( + LONG lFlags, + IEnumWIA_DEV_INFO **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDevice( + LONG lFlags, + BSTR bstrDeviceID, + IWiaItem2 **ppWiaItem2Root) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem2 **ppItemRoot) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrFullAppName, + BSTR bstrCommandLineArg, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImageDlg( + LONG lFlags, + BSTR bstrDeviceID, + HWND hwndParent, + BSTR bstrFolderName, + BSTR bstrFilename, + LONG *plNumFiles, + BSTR **ppbstrFilePaths, + IWiaItem2 **ppItem) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaDevMgr2, 0x79c07cf1, 0xcbdd, 0x41ee, 0x8e,0xc3, 0xf0,0x00,0x80,0xca,0xda,0x7a) +#endif +#else +typedef struct IWiaDevMgr2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaDevMgr2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaDevMgr2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaDevMgr2 *This); + + /*** IWiaDevMgr2 methods ***/ + HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( + IWiaDevMgr2 *This, + LONG lFlags, + IEnumWIA_DEV_INFO **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *CreateDevice)( + IWiaDevMgr2 *This, + LONG lFlags, + BSTR bstrDeviceID, + IWiaItem2 **ppWiaItem2Root); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( + IWiaDevMgr2 *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem2 **ppItemRoot); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( + IWiaDevMgr2 *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( + IWiaDevMgr2 *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( + IWiaDevMgr2 *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrFullAppName, + BSTR bstrCommandLineArg, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( + IWiaDevMgr2 *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *GetImageDlg)( + IWiaDevMgr2 *This, + LONG lFlags, + BSTR bstrDeviceID, + HWND hwndParent, + BSTR bstrFolderName, + BSTR bstrFilename, + LONG *plNumFiles, + BSTR **ppbstrFilePaths, + IWiaItem2 **ppItem); + + END_INTERFACE +} IWiaDevMgr2Vtbl; + +interface IWiaDevMgr2 { + CONST_VTBL IWiaDevMgr2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaDevMgr2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaDevMgr2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaDevMgr2_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaDevMgr2 methods ***/ +#define IWiaDevMgr2_EnumDeviceInfo(This,lFlags,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum) +#define IWiaDevMgr2_CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) (This)->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root) +#define IWiaDevMgr2_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) +#define IWiaDevMgr2_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) +#define IWiaDevMgr2_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) +#define IWiaDevMgr2_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr2_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr2_GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) (This)->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaDevMgr2_QueryInterface(IWiaDevMgr2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaDevMgr2_AddRef(IWiaDevMgr2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaDevMgr2_Release(IWiaDevMgr2* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaDevMgr2 methods ***/ +static inline HRESULT IWiaDevMgr2_EnumDeviceInfo(IWiaDevMgr2* This,LONG lFlags,IEnumWIA_DEV_INFO **ppIEnum) { + return This->lpVtbl->EnumDeviceInfo(This,lFlags,ppIEnum); +} +static inline HRESULT IWiaDevMgr2_CreateDevice(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,IWiaItem2 **ppWiaItem2Root) { + return This->lpVtbl->CreateDevice(This,lFlags,bstrDeviceID,ppWiaItem2Root); +} +static inline HRESULT IWiaDevMgr2_SelectDeviceDlg(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem2 **ppItemRoot) { + return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); +} +static inline HRESULT IWiaDevMgr2_SelectDeviceDlgID(IWiaDevMgr2* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { + return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); +} +static inline HRESULT IWiaDevMgr2_RegisterEventCallbackInterface(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { + return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); +} +static inline HRESULT IWiaDevMgr2_RegisterEventCallbackProgram(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrFullAppName,BSTR bstrCommandLineArg,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrFullAppName,bstrCommandLineArg,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr2_RegisterEventCallbackCLSID(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr2_GetImageDlg(IWiaDevMgr2* This,LONG lFlags,BSTR bstrDeviceID,HWND hwndParent,BSTR bstrFolderName,BSTR bstrFilename,LONG *plNumFiles,BSTR **ppbstrFilePaths,IWiaItem2 **ppItem) { + return This->lpVtbl->GetImageDlg(This,lFlags,bstrDeviceID,hwndParent,bstrFolderName,bstrFilename,plNumFiles,ppbstrFilePaths,ppItem); +} +#endif +#endif + +#endif + + +#endif /* __IWiaDevMgr2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * WiaDevMgr2 coclass + */ + +DEFINE_GUID(CLSID_WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99); + +#ifdef __cplusplus +class DECLSPEC_UUID("b6c292bc-7c88-41ee-8b54-8ec92617e599") WiaDevMgr2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WiaDevMgr2, 0xb6c292bc, 0x7c88, 0x41ee, 0x8b,0x54, 0x8e,0xc9,0x26,0x17,0xe5,0x99) +#endif +#endif + +/* Begin additional prototypes for all interfaces */ + +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 *); +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wia_lh_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_xp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_xp.h new file mode 100644 index 00000000..3364c2fd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wia_xp.h @@ -0,0 +1,692 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wia_xp.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 __wia_xp_h__ +#define __wia_xp_h__ + +/* Forward declarations */ + +#ifndef __IWiaDevMgr_FWD_DEFINED__ +#define __IWiaDevMgr_FWD_DEFINED__ +typedef interface IWiaDevMgr IWiaDevMgr; +#ifdef __cplusplus +interface IWiaDevMgr; +#endif /* __cplusplus */ +#endif + +#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ +#define __IEnumWIA_DEV_INFO_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; +#ifdef __cplusplus +interface IEnumWIA_DEV_INFO; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPropertyStorage_FWD_DEFINED__ +#define __IWiaPropertyStorage_FWD_DEFINED__ +typedef interface IWiaPropertyStorage IWiaPropertyStorage; +#ifdef __cplusplus +interface IWiaPropertyStorage; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem_FWD_DEFINED__ +#define __IWiaItem_FWD_DEFINED__ +typedef interface IWiaItem IWiaItem; +#ifdef __cplusplus +interface IWiaItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaEventCallback_FWD_DEFINED__ +#define __IWiaEventCallback_FWD_DEFINED__ +typedef interface IWiaEventCallback IWiaEventCallback; +#ifdef __cplusplus +interface IWiaEventCallback; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#ifndef __IEnumWIA_DEV_INFO_FWD_DEFINED__ +#define __IEnumWIA_DEV_INFO_FWD_DEFINED__ +typedef interface IEnumWIA_DEV_INFO IEnumWIA_DEV_INFO; +#ifdef __cplusplus +interface IEnumWIA_DEV_INFO; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaPropertyStorage_FWD_DEFINED__ +#define __IWiaPropertyStorage_FWD_DEFINED__ +typedef interface IWiaPropertyStorage IWiaPropertyStorage; +#ifdef __cplusplus +interface IWiaPropertyStorage; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaItem_FWD_DEFINED__ +#define __IWiaItem_FWD_DEFINED__ +typedef interface IWiaItem IWiaItem; +#ifdef __cplusplus +interface IWiaItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWiaEventCallback_FWD_DEFINED__ +#define __IWiaEventCallback_FWD_DEFINED__ +typedef interface IWiaEventCallback IWiaEventCallback; +#ifdef __cplusplus +interface IWiaEventCallback; +#endif /* __cplusplus */ +#endif + +DEFINE_GUID(CLSID_WiaDevMgr, 0xa1f4e726,0x8cf1,0x11d1,0xbf,0x92,0x00,0x60,0x08,0x1e,0xd8,0x11); +/***************************************************************************** + * IWiaDevMgr interface + */ +#ifndef __IWiaDevMgr_INTERFACE_DEFINED__ +#define __IWiaDevMgr_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5eb2502a-8cf1-11d1-bf92-0060081ed811") +IWiaDevMgr : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE EnumDeviceInfo( + LONG lFlag, + IEnumWIA_DEV_INFO **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDevice( + BSTR bstrDeviceID, + IWiaItem **ppWiaItemRoot) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlg( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem **ppItemRoot) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectDeviceDlgID( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImageDlg( + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + LONG lIntent, + IWiaItem *pItemRoot, + BSTR bstrFilename, + GUID *pguidFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackProgram( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrCommandline, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackInterface( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterEventCallbackCLSID( + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDeviceDlg( + HWND hwndParent, + LONG lFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaDevMgr, 0x5eb2502a, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) +#endif +#else +typedef struct IWiaDevMgrVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaDevMgr *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaDevMgr *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaDevMgr *This); + + /*** IWiaDevMgr methods ***/ + HRESULT (STDMETHODCALLTYPE *EnumDeviceInfo)( + IWiaDevMgr *This, + LONG lFlag, + IEnumWIA_DEV_INFO **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *CreateDevice)( + IWiaDevMgr *This, + BSTR bstrDeviceID, + IWiaItem **ppWiaItemRoot); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID, + IWiaItem **ppItemRoot); + + HRESULT (STDMETHODCALLTYPE *SelectDeviceDlgID)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + BSTR *pbstrDeviceID); + + HRESULT (STDMETHODCALLTYPE *GetImageDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lDeviceType, + LONG lFlags, + LONG lIntent, + IWiaItem *pItemRoot, + BSTR bstrFilename, + GUID *pguidFormat); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackProgram)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + BSTR bstrCommandline, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackInterface)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + IWiaEventCallback *pIWiaEventCallback, + IUnknown **pEventObject); + + HRESULT (STDMETHODCALLTYPE *RegisterEventCallbackCLSID)( + IWiaDevMgr *This, + LONG lFlags, + BSTR bstrDeviceID, + const GUID *pEventGUID, + const GUID *pClsID, + BSTR bstrName, + BSTR bstrDescription, + BSTR bstrIcon); + + HRESULT (STDMETHODCALLTYPE *AddDeviceDlg)( + IWiaDevMgr *This, + HWND hwndParent, + LONG lFlags); + + END_INTERFACE +} IWiaDevMgrVtbl; + +interface IWiaDevMgr { + CONST_VTBL IWiaDevMgrVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaDevMgr_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaDevMgr_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaDevMgr_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaDevMgr methods ***/ +#define IWiaDevMgr_EnumDeviceInfo(This,lFlag,ppIEnum) (This)->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum) +#define IWiaDevMgr_CreateDevice(This,bstrDeviceID,ppWiaItemRoot) (This)->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot) +#define IWiaDevMgr_SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) (This)->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot) +#define IWiaDevMgr_SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) (This)->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID) +#define IWiaDevMgr_GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) (This)->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat) +#define IWiaDevMgr_RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr_RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) (This)->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject) +#define IWiaDevMgr_RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) (This)->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon) +#define IWiaDevMgr_AddDeviceDlg(This,hwndParent,lFlags) (This)->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaDevMgr_QueryInterface(IWiaDevMgr* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaDevMgr_AddRef(IWiaDevMgr* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaDevMgr_Release(IWiaDevMgr* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaDevMgr methods ***/ +static inline HRESULT IWiaDevMgr_EnumDeviceInfo(IWiaDevMgr* This,LONG lFlag,IEnumWIA_DEV_INFO **ppIEnum) { + return This->lpVtbl->EnumDeviceInfo(This,lFlag,ppIEnum); +} +static inline HRESULT IWiaDevMgr_CreateDevice(IWiaDevMgr* This,BSTR bstrDeviceID,IWiaItem **ppWiaItemRoot) { + return This->lpVtbl->CreateDevice(This,bstrDeviceID,ppWiaItemRoot); +} +static inline HRESULT IWiaDevMgr_SelectDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID,IWiaItem **ppItemRoot) { + return This->lpVtbl->SelectDeviceDlg(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID,ppItemRoot); +} +static inline HRESULT IWiaDevMgr_SelectDeviceDlgID(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,BSTR *pbstrDeviceID) { + return This->lpVtbl->SelectDeviceDlgID(This,hwndParent,lDeviceType,lFlags,pbstrDeviceID); +} +static inline HRESULT IWiaDevMgr_GetImageDlg(IWiaDevMgr* This,HWND hwndParent,LONG lDeviceType,LONG lFlags,LONG lIntent,IWiaItem *pItemRoot,BSTR bstrFilename,GUID *pguidFormat) { + return This->lpVtbl->GetImageDlg(This,hwndParent,lDeviceType,lFlags,lIntent,pItemRoot,bstrFilename,pguidFormat); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackProgram(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,BSTR bstrCommandline,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackProgram(This,lFlags,bstrDeviceID,pEventGUID,bstrCommandline,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackInterface(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,IWiaEventCallback *pIWiaEventCallback,IUnknown **pEventObject) { + return This->lpVtbl->RegisterEventCallbackInterface(This,lFlags,bstrDeviceID,pEventGUID,pIWiaEventCallback,pEventObject); +} +static inline HRESULT IWiaDevMgr_RegisterEventCallbackCLSID(IWiaDevMgr* This,LONG lFlags,BSTR bstrDeviceID,const GUID *pEventGUID,const GUID *pClsID,BSTR bstrName,BSTR bstrDescription,BSTR bstrIcon) { + return This->lpVtbl->RegisterEventCallbackCLSID(This,lFlags,bstrDeviceID,pEventGUID,pClsID,bstrName,bstrDescription,bstrIcon); +} +static inline HRESULT IWiaDevMgr_AddDeviceDlg(IWiaDevMgr* This,HWND hwndParent,LONG lFlags) { + return This->lpVtbl->AddDeviceDlg(This,hwndParent,lFlags); +} +#endif +#endif + +#endif + + +#endif /* __IWiaDevMgr_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IEnumWIA_DEV_INFO interface + */ +#ifndef __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ +#define __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5e38b83c-8cf1-11d1-bf92-0060081ed811") +IEnumWIA_DEV_INFO : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + IWiaPropertyStorage **rgelt, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IEnumWIA_DEV_INFO **ppIEnum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + ULONG *celt) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IEnumWIA_DEV_INFO, 0x5e38b83c, 0x8cf1, 0x11d1, 0xbf,0x92, 0x00,0x60,0x08,0x1e,0xd8,0x11) +#endif +#else +typedef struct IEnumWIA_DEV_INFOVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IEnumWIA_DEV_INFO *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IEnumWIA_DEV_INFO *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IEnumWIA_DEV_INFO *This); + + /*** IEnumWIA_DEV_INFO methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IEnumWIA_DEV_INFO *This, + ULONG celt, + IWiaPropertyStorage **rgelt, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IEnumWIA_DEV_INFO *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IEnumWIA_DEV_INFO *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IEnumWIA_DEV_INFO *This, + IEnumWIA_DEV_INFO **ppIEnum); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IEnumWIA_DEV_INFO *This, + ULONG *celt); + + END_INTERFACE +} IEnumWIA_DEV_INFOVtbl; + +interface IEnumWIA_DEV_INFO { + CONST_VTBL IEnumWIA_DEV_INFOVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IEnumWIA_DEV_INFO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumWIA_DEV_INFO_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumWIA_DEV_INFO_Release(This) (This)->lpVtbl->Release(This) +/*** IEnumWIA_DEV_INFO methods ***/ +#define IEnumWIA_DEV_INFO_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched) +#define IEnumWIA_DEV_INFO_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IEnumWIA_DEV_INFO_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnumWIA_DEV_INFO_Clone(This,ppIEnum) (This)->lpVtbl->Clone(This,ppIEnum) +#define IEnumWIA_DEV_INFO_GetCount(This,celt) (This)->lpVtbl->GetCount(This,celt) +#else +/*** IUnknown methods ***/ +static inline HRESULT IEnumWIA_DEV_INFO_QueryInterface(IEnumWIA_DEV_INFO* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IEnumWIA_DEV_INFO_AddRef(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IEnumWIA_DEV_INFO_Release(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->Release(This); +} +/*** IEnumWIA_DEV_INFO methods ***/ +static inline HRESULT IEnumWIA_DEV_INFO_Next(IEnumWIA_DEV_INFO* This,ULONG celt,IWiaPropertyStorage **rgelt,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgelt,pceltFetched); +} +static inline HRESULT IEnumWIA_DEV_INFO_Skip(IEnumWIA_DEV_INFO* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IEnumWIA_DEV_INFO_Reset(IEnumWIA_DEV_INFO* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IEnumWIA_DEV_INFO_Clone(IEnumWIA_DEV_INFO* This,IEnumWIA_DEV_INFO **ppIEnum) { + return This->lpVtbl->Clone(This,ppIEnum); +} +static inline HRESULT IEnumWIA_DEV_INFO_GetCount(IEnumWIA_DEV_INFO* This,ULONG *celt) { + return This->lpVtbl->GetCount(This,celt); +} +#endif +#endif + +#endif + + +#endif /* __IEnumWIA_DEV_INFO_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaPropertyStorage interface + */ +#ifndef __IWiaPropertyStorage_INTERFACE_DEFINED__ +#define __IWiaPropertyStorage_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("98b5e8a0-29cc-491a-aac0-e6db4fdcceb6") +IWiaPropertyStorage : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaPropertyStorage, 0x98b5e8a0, 0x29cc, 0x491a, 0xaa,0xc0, 0xe6,0xdb,0x4f,0xdc,0xce,0xb6) +#endif +#else +typedef struct IWiaPropertyStorageVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaPropertyStorage *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaPropertyStorage *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaPropertyStorage *This); + + END_INTERFACE +} IWiaPropertyStorageVtbl; + +interface IWiaPropertyStorage { + CONST_VTBL IWiaPropertyStorageVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaPropertyStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaPropertyStorage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaPropertyStorage_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaPropertyStorage_QueryInterface(IWiaPropertyStorage* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaPropertyStorage_AddRef(IWiaPropertyStorage* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaPropertyStorage_Release(IWiaPropertyStorage* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWiaPropertyStorage_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaItem interface + */ +#ifndef __IWiaItem_INTERFACE_DEFINED__ +#define __IWiaItem_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4db1ad10-3391-11d2-9a33-00c04fa36145") +IWiaItem : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaItem, 0x4db1ad10, 0x3391, 0x11d2, 0x9a,0x33, 0x00,0xc0,0x4f,0xa3,0x61,0x45) +#endif +#else +typedef struct IWiaItemVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaItem *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaItem *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaItem *This); + + END_INTERFACE +} IWiaItemVtbl; + +interface IWiaItem { + CONST_VTBL IWiaItemVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaItem_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaItem_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaItem_QueryInterface(IWiaItem* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaItem_AddRef(IWiaItem* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaItem_Release(IWiaItem* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWiaItem_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWiaEventCallback interface + */ +#ifndef __IWiaEventCallback_INTERFACE_DEFINED__ +#define __IWiaEventCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae6287b0-0084-11d2-973b-00a0c9068f2e") +IWiaEventCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ImageEventCallback( + const GUID *pEventGUID, + BSTR bstrEventDescription, + BSTR bstrDeviceID, + BSTR bstrDeviceDescription, + DWORD dwDeviceType, + BSTR bstrFullItemName, + ULONG *pulEventType, + ULONG ulReserved) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWiaEventCallback, 0xae6287b0, 0x0084, 0x11d2, 0x97,0x3b, 0x00,0xa0,0xc9,0x06,0x8f,0x2e) +#endif +#else +typedef struct IWiaEventCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWiaEventCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWiaEventCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWiaEventCallback *This); + + /*** IWiaEventCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *ImageEventCallback)( + IWiaEventCallback *This, + const GUID *pEventGUID, + BSTR bstrEventDescription, + BSTR bstrDeviceID, + BSTR bstrDeviceDescription, + DWORD dwDeviceType, + BSTR bstrFullItemName, + ULONG *pulEventType, + ULONG ulReserved); + + END_INTERFACE +} IWiaEventCallbackVtbl; + +interface IWiaEventCallback { + CONST_VTBL IWiaEventCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWiaEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaEventCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWiaEventCallback methods ***/ +#define IWiaEventCallback_ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) (This)->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWiaEventCallback_QueryInterface(IWiaEventCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWiaEventCallback_AddRef(IWiaEventCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWiaEventCallback_Release(IWiaEventCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWiaEventCallback methods ***/ +static inline HRESULT IWiaEventCallback_ImageEventCallback(IWiaEventCallback* This,const GUID *pEventGUID,BSTR bstrEventDescription,BSTR bstrDeviceID,BSTR bstrDeviceDescription,DWORD dwDeviceType,BSTR bstrFullItemName,ULONG *pulEventType,ULONG ulReserved) { + return This->lpVtbl->ImageEventCallback(This,pEventGUID,bstrEventDescription,bstrDeviceID,bstrDeviceDescription,dwDeviceType,bstrFullItemName,pulEventType,ulReserved); +} +#endif +#endif + +#endif + + +#endif /* __IWiaEventCallback_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +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 *); +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wia_xp_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadef.h new file mode 100644 index 00000000..c6d5a62b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadef.h @@ -0,0 +1,765 @@ +/** + * 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 _WIADEF_H_ +#define _WIADEF_H_ + +#include + +#ifndef _NO_COM +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define FACILITY_WIA 33 + +#define BASE_VAL_WIA_ERROR 0x00000000 +#define BASE_VAL_WIA_SUCCESS 0x00000000 + +#define WIA_ERROR_GENERAL_ERROR MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 1)) +#define WIA_ERROR_PAPER_JAM MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 2)) +#define WIA_ERROR_PAPER_EMPTY MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 3)) +#define WIA_ERROR_PAPER_PROBLEM MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 4)) +#define WIA_ERROR_OFFLINE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 5)) +#define WIA_ERROR_BUSY MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 6)) +#define WIA_ERROR_WARMING_UP MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 7)) +#define WIA_ERROR_USER_INTERVENTION MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 8)) +#define WIA_ERROR_ITEM_DELETED MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 9)) +#define WIA_ERROR_DEVICE_COMMUNICATION MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 10)) +#define WIA_ERROR_INVALID_COMMAND MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 11)) +#define WIA_ERROR_INCORRECT_HARDWARE_SETTING MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 12)) +#define WIA_ERROR_DEVICE_LOCKED MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 13)) +#define WIA_ERROR_EXCEPTION_IN_DRIVER MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 14)) +#define WIA_ERROR_INVALID_DRIVER_RESPONSE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 15)) + +#define WIA_STATUS_END_OF_MEDIA MAKE_HRESULT(SEVERITY_SUCCESS,FACILITY_WIA,(BASE_VAL_WIA_SUCCESS + 1)) + +#define WIA_S_NO_DEVICE_AVAILABLE MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIA,(BASE_VAL_WIA_ERROR + 21)) + +#define WIA_SELECT_DEVICE_NODEFAULT 0x00000001 + +#define WIA_DEVICE_DIALOG_SINGLE_IMAGE 0x00000002 +#define WIA_DEVICE_DIALOG_USE_COMMON_UI 0x00000004 + + DEFINE_GUID(WiaImgFmt_UNDEFINED,0xb96b3ca9,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_RAWRGB,0xbca48b55,0xf272,0x4371,0xb0,0xf1,0x4a,0x15,0xd,0x5,0x7b,0xb4); + DEFINE_GUID(WiaImgFmt_MEMORYBMP,0xb96b3caa,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_BMP,0xb96b3cab,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_EMF,0xb96b3cac,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_WMF,0xb96b3cad,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_JPEG,0xb96b3cae,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_PNG,0xb96b3caf,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_GIF,0xb96b3cb0,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_TIFF,0xb96b3cb1,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_EXIF,0xb96b3cb2,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_PHOTOCD,0xb96b3cb3,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_FLASHPIX,0xb96b3cb4,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_ICO,0xb96b3cb5,0x0728,0x11d3,0x9d,0x7b,0x00,0x00,0xf8,0x1e,0xf3,0x2e); + DEFINE_GUID(WiaImgFmt_CIFF,0x9821a8ab,0x3a7e,0x4215,0x94,0xe0,0xd2,0x7a,0x46,0x0c,0x03,0xb2); + DEFINE_GUID(WiaImgFmt_PICT,0xa6bc85d8,0x6b3e,0x40ee,0xa9,0x5c,0x25,0xd4,0x82,0xe4,0x1a,0xdc); + DEFINE_GUID(WiaImgFmt_JPEG2K,0x344ee2b2,0x39db,0x4dde,0x81,0x73,0xc4,0xb7,0x5f,0x8f,0x1e,0x49); + DEFINE_GUID(WiaImgFmt_JPEG2KX,0x43e14614,0xc80a,0x4850,0xba,0xf3,0x4b,0x15,0x2d,0xc8,0xda,0x27); + DEFINE_GUID(WiaImgFmt_RTF,0x573dd6a3,0x4834,0x432d,0xa9,0xb5,0xe1,0x98,0xdd,0x9e,0x89,0xd); + DEFINE_GUID(WiaImgFmt_XML,0xb9171457,0xdac8,0x4884,0xb3,0x93,0x15,0xb4,0x71,0xd5,0xf0,0x7e); + DEFINE_GUID(WiaImgFmt_HTML,0xc99a4e62,0x99de,0x4a94,0xac,0xca,0x71,0x95,0x6a,0xc2,0x97,0x7d); + DEFINE_GUID(WiaImgFmt_TXT,0xfafd4d82,0x723f,0x421f,0x93,0x18,0x30,0x50,0x1a,0xc4,0x4b,0x59); + DEFINE_GUID(WiaImgFmt_MPG,0xecd757e4,0xd2ec,0x4f57,0x95,0x5d,0xbc,0xf8,0xa9,0x7c,0x4e,0x52); + DEFINE_GUID(WiaImgFmt_AVI,0x32f8ca14,0x87c,0x4908,0xb7,0xc4,0x67,0x57,0xfe,0x7e,0x90,0xab); + DEFINE_GUID(WiaImgFmt_ASF,0x8d948ee9,0xd0aa,0x4a12,0x9d,0x9a,0x9c,0xc5,0xde,0x36,0x19,0x9b); + DEFINE_GUID(WiaImgFmt_SCRIPT,0xfe7d6c53,0x2dac,0x446a,0xb0,0xbd,0xd7,0x3e,0x21,0xe9,0x24,0xc9); + DEFINE_GUID(WiaImgFmt_EXEC,0x485da097,0x141e,0x4aa5,0xbb,0x3b,0xa5,0x61,0x8d,0x95,0xd0,0x2b); + DEFINE_GUID(WiaImgFmt_UNICODE16,0x1b7639b6,0x6357,0x47d1,0x9a,0x07,0x12,0x45,0x2d,0xc0,0x73,0xe9); + DEFINE_GUID(WiaImgFmt_DPOF,0x369eeeab,0xa0e8,0x45ca,0x86,0xa6,0xa8,0x3c,0xe5,0x69,0x7e,0x28); + DEFINE_GUID(WiaAudFmt_WAV,0xf818e146,0x07af,0x40ff,0xae,0x55,0xbe,0x8f,0x2c,0x06,0x5d,0xbe); + DEFINE_GUID(WiaAudFmt_MP3,0x0fbc71fb,0x43bf,0x49f2,0x91,0x90,0xe6,0xfe,0xcf,0xf3,0x7e,0x54); + DEFINE_GUID(WiaAudFmt_AIFF,0x66e2bf4f,0xb6fc,0x443f,0x94,0xc8,0x2f,0x33,0xc8,0xa6,0x5a,0xaf); + DEFINE_GUID(WiaAudFmt_WMA,0xd61d6413,0x8bc2,0x438f,0x93,0xad,0x21,0xbd,0x48,0x4d,0xb6,0xa1); + +#define WIA_REGISTER_EVENT_CALLBACK 0x00000001 +#define WIA_UNREGISTER_EVENT_CALLBACK 0x00000002 +#define WIA_SET_DEFAULT_HANDLER 0x00000004 + +#define WIA_NOTIFICATION_EVENT 0x00000001 +#define WIA_ACTION_EVENT 0x00000002 + +#define WIA_IS_DEFAULT_HANDLER 0x00000001 + + DEFINE_GUID(WIA_EVENT_DEVICE_DISCONNECTED,0x143e4e83,0x6497,0x11d2,0xa2,0x31,0x0,0xc0,0x4f,0xa3,0x18,0x9); + DEFINE_GUID(WIA_EVENT_DEVICE_CONNECTED,0xa28bbade,0x64b6,0x11d2,0xa2,0x31,0x0,0xc0,0x4f,0xa3,0x18,0x9); + DEFINE_GUID(WIA_EVENT_ITEM_DELETED,0x1d22a559,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61); + DEFINE_GUID(WIA_EVENT_ITEM_CREATED,0x4c8f4ef5,0xe14f,0x11d2,0xb3,0x26,0x00,0xc0,0x4f,0x68,0xce,0x61); + DEFINE_GUID(WIA_EVENT_TREE_UPDATED,0xc9859b91,0x4ab2,0x4cd6,0xa1,0xfc,0x58,0x2e,0xec,0x55,0xe5,0x85); + DEFINE_GUID(WIA_EVENT_VOLUME_INSERT,0x9638bbfd,0xd1bd,0x11d2,0xb3,0x1f,0x00,0xc0,0x4f,0x68,0xce,0x61); + DEFINE_GUID(WIA_EVENT_SCAN_IMAGE,0xa6c5a715,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f); + DEFINE_GUID(WIA_EVENT_SCAN_PRINT_IMAGE,0xb441f425,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f); + DEFINE_GUID(WIA_EVENT_SCAN_FAX_IMAGE,0xc00eb793,0x8c6e,0x11d2,0x97,0x7a,0x0,0x0,0xf8,0x7a,0x92,0x6f); + DEFINE_GUID(WIA_EVENT_SCAN_OCR_IMAGE,0x9d095b89,0x37d6,0x4877,0xaf,0xed,0x62,0xa2,0x97,0xdc,0x6d,0xbe); + DEFINE_GUID(WIA_EVENT_SCAN_EMAIL_IMAGE,0xc686dcee,0x54f2,0x419e,0x9a,0x27,0x2f,0xc7,0xf2,0xe9,0x8f,0x9e); + DEFINE_GUID(WIA_EVENT_SCAN_FILM_IMAGE,0x9b2b662c,0x6185,0x438c,0xb6,0x8b,0xe3,0x9e,0xe2,0x5e,0x71,0xcb); + DEFINE_GUID(WIA_EVENT_SCAN_IMAGE2,0xfc4767c1,0xc8b3,0x48a2,0x9c,0xfa,0x2e,0x90,0xcb,0x3d,0x35,0x90); + DEFINE_GUID(WIA_EVENT_SCAN_IMAGE3,0x154e27be,0xb617,0x4653,0xac,0xc5,0xf,0xd7,0xbd,0x4c,0x65,0xce); + DEFINE_GUID(WIA_EVENT_SCAN_IMAGE4,0xa65b704a,0x7f3c,0x4447,0xa7,0x5d,0x8a,0x26,0xdf,0xca,0x1f,0xdf); + DEFINE_GUID(WIA_EVENT_STORAGE_CREATED,0x353308b2,0xfe73,0x46c8,0x89,0x5e,0xfa,0x45,0x51,0xcc,0xc8,0x5a); + DEFINE_GUID(WIA_EVENT_STORAGE_DELETED,0x5e41e75e,0x9390,0x44c5,0x9a,0x51,0xe4,0x70,0x19,0xe3,0x90,0xcf); + DEFINE_GUID(WIA_EVENT_STI_PROXY,0xd711f81f,0x1f0d,0x422d,0x86,0x41,0x92,0x7d,0x1b,0x93,0xe5,0xe5); + DEFINE_GUID(WIA_EVENT_CANCEL_IO,0xc860f7b8,0x9ccd,0x41ea,0xbb,0xbf,0x4d,0xd0,0x9c,0x5b,0x17,0x95); + DEFINE_GUID(WIA_EVENT_POWER_SUSPEND,0xa0922ff9,0xc3b4,0x411c,0x9e,0x29,0x03,0xa6,0x69,0x93,0xd2,0xbe); + DEFINE_GUID(WIA_EVENT_POWER_RESUME,0x618f153e,0xf686,0x4350,0x96,0x34,0x41,0x15,0xa3,0x04,0x83,0x0c); + DEFINE_GUID(WIA_EVENT_HANDLER_NO_ACTION,0xe0372b7d,0xe115,0x4525,0xbc,0x55,0xb6,0x29,0xe6,0x8c,0x74,0x5a); + DEFINE_GUID(WIA_EVENT_HANDLER_PROMPT,0x5f4baad0,0x4d59,0x4fcd,0xb2,0x13,0x78,0x3c,0xe7,0xa9,0x2f,0x22); + +#define WIA_EVENT_DEVICE_DISCONNECTED_STR L"Device Disconnected" +#define WIA_EVENT_DEVICE_CONNECTED_STR L"Device Connected" + + DEFINE_GUID(WIA_CMD_SYNCHRONIZE,0x9b26b7b2,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); + DEFINE_GUID(WIA_CMD_TAKE_PICTURE,0xaf933cac,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); + DEFINE_GUID(WIA_CMD_DELETE_ALL_ITEMS,0xe208c170,0xacad,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); + DEFINE_GUID(WIA_CMD_CHANGE_DOCUMENT,0x04e725b0,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); + DEFINE_GUID(WIA_CMD_UNLOAD_DOCUMENT,0x1f3b3d8e,0xacae,0x11d2,0xa0,0x93,0x00,0xc0,0x4f,0x72,0xdc,0x3c); + DEFINE_GUID(WIA_CMD_DIAGNOSTIC,0x10ff52f5,0xde04,0x4cf0,0xa5,0xad,0x69,0x1f,0x8d,0xce,0x01,0x41); + DEFINE_GUID(WIA_CMD_DELETE_DEVICE_TREE,0x73815942,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45); + DEFINE_GUID(WIA_CMD_BUILD_DEVICE_TREE,0x9cba5ce0,0xdbea,0x11d2,0x84,0x16,0x00,0xc0,0x4f,0xa3,0x61,0x45); + +#define WIA_ICON_DEVICE_DISCONNECTED (L"sti.dll,-1001") +#define WIA_ICON_DEVICE_CONNECTED (L"sti.dll,-1001") +#define WIA_ICON_ITEM_DELETED (L"sti.dll,-1001") +#define WIA_ICON_ITEM_CREATED (L"sti.dll,-1001") +#define WIA_ICON_VOLUME_INSERT (L"sti.dll,-1001") +#define WIA_ICON_SCAN_BUTTON_PRESS (L"sti.dll,-1001") +#define WIA_ICON_SYNCHRONIZE (L"sti.dll,-2000") +#define WIA_ICON_TAKE_PICTURE (L"sti.dll,-2001") +#define WIA_ICON_DELETE_ALL_ITEMS (L"sti.dll,-2002") +#define WIA_ICON_CHANGE_DOCUMENT (L"sti.dll,-2003") +#define WIA_ICON_UNLOAD_DOCUMENT (L"sti.dll,-2004") +#define WIA_ICON_DELETE_DEVICE_TREE (L"sti.dll,-2005") +#define WIA_ICON_BUILD_DEVICE_TREE (L"sti.dll,-2006") + +#define TYMED_CALLBACK 128 +#define TYMED_MULTIPAGE_FILE 256 +#define TYMED_MULTIPAGE_CALLBACK 512 + +#define IT_MSG_DATA_HEADER 0x0001 +#define IT_MSG_DATA 0x0002 +#define IT_MSG_STATUS 0x0003 +#define IT_MSG_TERMINATION 0x0004 +#define IT_MSG_NEW_PAGE 0x0005 +#define IT_MSG_FILE_PREVIEW_DATA 0x0006 +#define IT_MSG_FILE_PREVIEW_DATA_HEADER 0x0007 + +#define IT_STATUS_TRANSFER_FROM_DEVICE 0x0001 +#define IT_STATUS_PROCESSING_DATA 0x0002 +#define IT_STATUS_TRANSFER_TO_CLIENT 0x0004 + +#define WIA_MAJOR_EVENT_DEVICE_CONNECT 0x01 +#define WIA_MAJOR_EVENT_DEVICE_DISCONNECT 0x02 +#define WIA_MAJOR_EVENT_PICTURE_TAKEN 0x03 +#define WIA_MAJOR_EVENT_PICTURE_DELETED 0x04 + +#define WIA_DEVICE_NOT_CONNECTED 0 +#define WIA_DEVICE_CONNECTED 1 + +#define WIA_DEVICE_COMMANDS 1 +#define WIA_DEVICE_EVENTS 2 + +#define WIA_DEVINFO_ENUM_LOCAL 0x00000010 + +#define WiaItemTypeFree 0x00000000 +#define WiaItemTypeImage 0x00000001 +#define WiaItemTypeFile 0x00000002 +#define WiaItemTypeFolder 0x00000004 +#define WiaItemTypeRoot 0x00000008 +#define WiaItemTypeAnalyze 0x00000010 +#define WiaItemTypeAudio 0x00000020 +#define WiaItemTypeDevice 0x00000040 +#define WiaItemTypeDeleted 0x00000080 +#define WiaItemTypeDisconnected 0x00000100 +#define WiaItemTypeHPanorama 0x00000200 +#define WiaItemTypeVPanorama 0x00000400 +#define WiaItemTypeBurst 0x00000800 +#define WiaItemTypeStorage 0x00001000 +#define WiaItemTypeTransfer 0x00002000 +#define WiaItemTypeGenerated 0x00004000 +#define WiaItemTypeHasAttachments 0x00008000 +#define WiaItemTypeVideo 0x00010000 + +#define WiaItemTypeRemoved 0x80000000 + +#define WiaItemTypeMask 0x8003FFFF + +#define WIA_MAX_CTX_SIZE 0x01000000 + +#define WIA_PROP_READ 0x01 +#define WIA_PROP_WRITE 0x02 +#define WIA_PROP_RW (WIA_PROP_READ | WIA_PROP_WRITE) +#define WIA_PROP_SYNC_REQUIRED 0x04 + +#define WIA_PROP_NONE 0x08 +#define WIA_PROP_RANGE 0x10 +#define WIA_PROP_LIST 0x20 +#define WIA_PROP_FLAG 0x40 + +#define WIA_PROP_CACHEABLE 0x10000 + +#define WIA_ITEM_CAN_BE_DELETED 0x80 +#define WIA_ITEM_READ WIA_PROP_READ +#define WIA_ITEM_WRITE WIA_PROP_WRITE +#define WIA_ITEM_RD (WIA_ITEM_READ | WIA_ITEM_CAN_BE_DELETED) +#define WIA_ITEM_RWD (WIA_ITEM_READ | WIA_ITEM_WRITE | WIA_ITEM_CAN_BE_DELETED) + +#ifndef __WIAPROP_H_INCLUDED +#define __WIAPROP_H_INCLUDED + +#define WIA_RESERVED_FOR_SMALL_NEW_PROPS 256 +#define WIA_RESERVED_FOR_NEW_PROPS 1024 +#define WIA_RESERVED_FOR_ALL_MS_PROPS (1024*32) + +#define WIA_DIP_FIRST 2 +#define WIA_DIP_DEV_ID 2 +#define WIA_DIP_VEND_DESC 3 +#define WIA_DIP_DEV_DESC 4 +#define WIA_DIP_DEV_TYPE 5 +#define WIA_DIP_PORT_NAME 6 +#define WIA_DIP_DEV_NAME 7 +#define WIA_DIP_SERVER_NAME 8 +#define WIA_DIP_REMOTE_DEV_ID 9 +#define WIA_DIP_UI_CLSID 10 +#define WIA_DIP_HW_CONFIG 11 +#define WIA_DIP_BAUDRATE 12 +#define WIA_DIP_STI_GEN_CAPABILITIES 13 +#define WIA_DIP_WIA_VERSION 14 +#define WIA_DIP_DRIVER_VERSION 15 +#define WIA_DIP_LAST 15 + +#define WIA_NUM_DIP 1 + WIA_DIP_LAST - WIA_DIP_FIRST + +#define WIA_DIP_DEV_ID_STR L"Unique Device ID" +#define WIA_DIP_VEND_DESC_STR L"Manufacturer" +#define WIA_DIP_DEV_DESC_STR L"Description" +#define WIA_DIP_DEV_TYPE_STR L"Type" +#define WIA_DIP_PORT_NAME_STR L"Port" +#define WIA_DIP_DEV_NAME_STR L"Name" +#define WIA_DIP_SERVER_NAME_STR L"Server" +#define WIA_DIP_REMOTE_DEV_ID_STR L"Remote Device ID" +#define WIA_DIP_UI_CLSID_STR L"UI Class ID" +#define WIA_DIP_HW_CONFIG_STR L"Hardware Configuration" +#define WIA_DIP_BAUDRATE_STR L"BaudRate" +#define WIA_DIP_STI_GEN_CAPABILITIES_STR L"STI Generic Capabilities" +#define WIA_DIP_WIA_VERSION_STR L"WIA Version" +#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,}; +#else + extern PROPSPEC g_psDeviceInfo[WIA_NUM_DIP]; + extern PROPID g_piDeviceInfo[WIA_NUM_DIP]; + extern LPOLESTR g_pszDeviceInfo[WIA_NUM_DIP]; +#endif + +#define WIA_DPA_FIRST WIA_DIP_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_DPA_FIRMWARE_VERSION WIA_DPA_FIRST + 0 +#define WIA_DPA_CONNECT_STATUS WIA_DPA_FIRST + 1 +#define WIA_DPA_DEVICE_TIME WIA_DPA_FIRST + 2 +#define WIA_DPA_LAST WIA_DPA_FIRST + 3 + +#define WIA_DPA_FIRMWARE_VERSION_STR L"Firmware Version" +#define WIA_DPA_CONNECT_STATUS_STR L"Connect Status" +#define WIA_DPA_DEVICE_TIME_STR L"Device Time" + +#define WIA_NUM_DPA (1 + WIA_DPA_LAST - WIA_DPA_FIRST) + +#define WIA_DPC_FIRST WIA_DPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_DPC_PICTURES_TAKEN WIA_DPC_FIRST + 0 +#define WIA_DPC_PICTURES_REMAINING WIA_DPC_FIRST + 1 +#define WIA_DPC_EXPOSURE_MODE WIA_DPC_FIRST + 2 +#define WIA_DPC_EXPOSURE_COMP WIA_DPC_FIRST + 3 +#define WIA_DPC_EXPOSURE_TIME WIA_DPC_FIRST + 4 +#define WIA_DPC_FNUMBER WIA_DPC_FIRST + 5 +#define WIA_DPC_FLASH_MODE WIA_DPC_FIRST + 6 +#define WIA_DPC_FOCUS_MODE WIA_DPC_FIRST + 7 +#define WIA_DPC_FOCUS_MANUAL_DIST WIA_DPC_FIRST + 8 +#define WIA_DPC_ZOOM_POSITION WIA_DPC_FIRST + 9 +#define WIA_DPC_PAN_POSITION WIA_DPC_FIRST + 10 +#define WIA_DPC_TILT_POSITION WIA_DPC_FIRST + 11 +#define WIA_DPC_TIMER_MODE WIA_DPC_FIRST + 12 +#define WIA_DPC_TIMER_VALUE WIA_DPC_FIRST + 13 +#define WIA_DPC_POWER_MODE WIA_DPC_FIRST + 14 +#define WIA_DPC_BATTERY_STATUS WIA_DPC_FIRST + 15 +#define WIA_DPC_THUMB_WIDTH WIA_DPC_FIRST + 16 +#define WIA_DPC_THUMB_HEIGHT WIA_DPC_FIRST + 17 +#define WIA_DPC_PICT_WIDTH WIA_DPC_FIRST + 18 +#define WIA_DPC_PICT_HEIGHT WIA_DPC_FIRST + 19 +#define WIA_DPC_DIMENSION WIA_DPC_FIRST + 20 +#define WIA_DPC_COMPRESSION_SETTING WIA_DPC_FIRST + 21 +#define WIA_DPC_FOCUS_METERING WIA_DPC_FIRST + 22 +#define WIA_DPC_TIMELAPSE_INTERVAL WIA_DPC_FIRST + 23 +#define WIA_DPC_TIMELAPSE_NUMBER WIA_DPC_FIRST + 24 +#define WIA_DPC_BURST_INTERVAL WIA_DPC_FIRST + 25 +#define WIA_DPC_BURST_NUMBER WIA_DPC_FIRST + 26 +#define WIA_DPC_EFFECT_MODE WIA_DPC_FIRST + 27 +#define WIA_DPC_DIGITAL_ZOOM WIA_DPC_FIRST + 28 +#define WIA_DPC_SHARPNESS WIA_DPC_FIRST + 29 +#define WIA_DPC_CONTRAST WIA_DPC_FIRST + 30 +#define WIA_DPC_CAPTURE_MODE WIA_DPC_FIRST + 31 +#define WIA_DPC_CAPTURE_DELAY WIA_DPC_FIRST + 32 +#define WIA_DPC_EXPOSURE_INDEX WIA_DPC_FIRST + 33 +#define WIA_DPC_EXPOSURE_METERING_MODE WIA_DPC_FIRST + 34 +#define WIA_DPC_FOCUS_METERING_MODE WIA_DPC_FIRST + 35 +#define WIA_DPC_FOCUS_DISTANCE WIA_DPC_FIRST + 36 +#define WIA_DPC_FOCAL_LENGTH WIA_DPC_FIRST + 37 +#define WIA_DPC_RGB_GAIN WIA_DPC_FIRST + 38 +#define WIA_DPC_WHITE_BALANCE WIA_DPC_FIRST + 39 +#define WIA_DPC_UPLOAD_URL WIA_DPC_FIRST + 40 +#define WIA_DPC_ARTIST WIA_DPC_FIRST + 41 +#define WIA_DPC_COPYRIGHT_INFO WIA_DPC_FIRST + 42 +#define WIA_DPC_LAST WIA_DPC_FIRST + 42 + +#define WIA_DPC_PICTURES_TAKEN_STR L"Pictures Taken" +#define WIA_DPC_PICTURES_REMAINING_STR L"Pictures Remaining" +#define WIA_DPC_EXPOSURE_MODE_STR L"Exposure Mode" +#define WIA_DPC_EXPOSURE_COMP_STR L"Exposure Compensation" +#define WIA_DPC_EXPOSURE_TIME_STR L"Exposure Time" +#define WIA_DPC_FNUMBER_STR L"F Number" +#define WIA_DPC_FLASH_MODE_STR L"Flash Mode" +#define WIA_DPC_FOCUS_MODE_STR L"Focus Mode" +#define WIA_DPC_FOCUS_MANUAL_DIST_STR L"Focus Manual Dist" +#define WIA_DPC_ZOOM_POSITION_STR L"Zoom Position" +#define WIA_DPC_PAN_POSITION_STR L"Pan Position" +#define WIA_DPC_TILT_POSITION_STR L"Tilt Position" +#define WIA_DPC_TIMER_MODE_STR L"Timer Mode" +#define WIA_DPC_TIMER_VALUE_STR L"Timer Value" +#define WIA_DPC_POWER_MODE_STR L"Power Mode" +#define WIA_DPC_BATTERY_STATUS_STR L"Battery Status" +#define WIA_DPC_THUMB_WIDTH_STR L"Thumbnail Width" +#define WIA_DPC_THUMB_HEIGHT_STR L"Thumbnail Height" +#define WIA_DPC_PICT_WIDTH_STR L"Picture Width" +#define WIA_DPC_PICT_HEIGHT_STR L"Picture Height" +#define WIA_DPC_DIMENSION_STR L"Dimension" +#define WIA_DPC_COMPRESSION_SETTING_STR L"Compression Setting" +#define WIA_DPC_FOCUS_METERING_MODE_STR L"Focus Metering Mode" +#define WIA_DPC_TIMELAPSE_INTERVAL_STR L"Timelapse Interval" +#define WIA_DPC_TIMELAPSE_NUMBER_STR L"Timelapse Number" +#define WIA_DPC_BURST_INTERVAL_STR L"Burst Interval" +#define WIA_DPC_BURST_NUMBER_STR L"Burst Number" +#define WIA_DPC_EFFECT_MODE_STR L"Effect Mode" +#define WIA_DPC_DIGITAL_ZOOM_STR L"Digital Zoom" +#define WIA_DPC_SHARPNESS_STR L"Sharpness" +#define WIA_DPC_CONTRAST_STR L"Contrast" +#define WIA_DPC_CAPTURE_MODE_STR L"Capture Mode" +#define WIA_DPC_CAPTURE_DELAY_STR L"Capture Delay" +#define WIA_DPC_EXPOSURE_INDEX_STR L"Exposure Index" +#define WIA_DPC_EXPOSURE_METERING_MODE_STR L"Exposure Metering Mode" +#define WIA_DPC_FOCUS_DISTANCE_STR L"Focus Distance" +#define WIA_DPC_FOCAL_LENGTH_STR L"Focus Length" +#define WIA_DPC_RGB_GAIN_STR L"RGB Gain" +#define WIA_DPC_WHITE_BALANCE_STR L"White Balance" +#define WIA_DPC_UPLOAD_URL_STR L"Upload URL" +#define WIA_DPC_ARTIST_STR L"Artist" +#define WIA_DPC_COPYRIGHT_INFO_STR L"Copyright Info" + +#define WIA_NUM_DPC (1 + WIA_DPC_LAST - WIA_DPC_FIRST) + +#define WIA_DPS_FIRST WIA_DPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_DPS_HORIZONTAL_BED_SIZE WIA_DPS_FIRST + 0 +#define WIA_DPS_VERTICAL_BED_SIZE WIA_DPS_FIRST + 1 +#define WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 2 +#define WIA_DPS_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 3 +#define WIA_DPS_SHEET_FEEDER_REGISTRATION WIA_DPS_FIRST + 4 +#define WIA_DPS_HORIZONTAL_BED_REGISTRATION WIA_DPS_FIRST + 5 +#define WIA_DPS_VERTICAL_BED_REGISTRATION WIA_DPS_FIRST + 6 +#define WIA_DPS_PLATEN_COLOR WIA_DPS_FIRST + 7 +#define WIA_DPS_PAD_COLOR WIA_DPS_FIRST + 8 +#define WIA_DPS_FILTER_SELECT WIA_DPS_FIRST + 9 +#define WIA_DPS_DITHER_SELECT WIA_DPS_FIRST + 10 +#define WIA_DPS_DITHER_PATTERN_DATA WIA_DPS_FIRST + 11 +#define WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES WIA_DPS_FIRST + 12 +#define WIA_DPS_DOCUMENT_HANDLING_STATUS WIA_DPS_FIRST + 13 +#define WIA_DPS_DOCUMENT_HANDLING_SELECT WIA_DPS_FIRST + 14 +#define WIA_DPS_DOCUMENT_HANDLING_CAPACITY WIA_DPS_FIRST + 15 +#define WIA_DPS_OPTICAL_XRES WIA_DPS_FIRST + 16 +#define WIA_DPS_OPTICAL_YRES WIA_DPS_FIRST + 17 +#define WIA_DPS_ENDORSER_CHARACTERS WIA_DPS_FIRST + 18 +#define WIA_DPS_ENDORSER_STRING WIA_DPS_FIRST + 19 +#define WIA_DPS_SCAN_AHEAD_PAGES WIA_DPS_FIRST + 20 +#define WIA_DPS_MAX_SCAN_TIME WIA_DPS_FIRST + 21 +#define WIA_DPS_PAGES WIA_DPS_FIRST + 22 +#define WIA_DPS_PAGE_SIZE WIA_DPS_FIRST + 23 +#define WIA_DPS_PAGE_WIDTH WIA_DPS_FIRST + 24 +#define WIA_DPS_PAGE_HEIGHT WIA_DPS_FIRST + 25 +#define WIA_DPS_PREVIEW WIA_DPS_FIRST + 26 +#define WIA_DPS_TRANSPARENCY WIA_DPS_FIRST + 27 +#define WIA_DPS_TRANSPARENCY_SELECT WIA_DPS_FIRST + 28 +#define WIA_DPS_SHOW_PREVIEW_CONTROL WIA_DPS_FIRST + 29 +#define WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 30 +#define WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE WIA_DPS_FIRST + 31 +#define WIA_DPS_LAST WIA_DPS_FIRST + 31 + +#define WIA_DPS_HORIZONTAL_BED_SIZE_STR L"Horizontal Bed Size" +#define WIA_DPS_VERTICAL_BED_SIZE_STR L"Vertical Bed Size" +#define WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE_STR L"Horizontal Sheet Feed Size" +#define WIA_DPS_VERTICAL_SHEET_FEED_SIZE_STR L"Vertical Sheet Feed Size" +#define WIA_DPS_SHEET_FEEDER_REGISTRATION_STR L"Sheet Feeder Registration" +#define WIA_DPS_HORIZONTAL_BED_REGISTRATION_STR L"Horizontal Bed Registration" +#define WIA_DPS_VERTICAL_BED_REGISTRATION_STR L"Vertical Bed Registration" +#define WIA_DPS_PLATEN_COLOR_STR L"Platen Color" +#define WIA_DPS_PAD_COLOR_STR L"Pad Color" +#define WIA_DPS_FILTER_SELECT_STR L"Filter Select" +#define WIA_DPS_DITHER_SELECT_STR L"Dither Select" +#define WIA_DPS_DITHER_PATTERN_DATA_STR L"Dither Pattern Data" +#define WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES_STR L"Document Handling Capabilities" +#define WIA_DPS_DOCUMENT_HANDLING_STATUS_STR L"Document Handling Status" +#define WIA_DPS_DOCUMENT_HANDLING_SELECT_STR L"Document Handling Select" +#define WIA_DPS_DOCUMENT_HANDLING_CAPACITY_STR L"Document Handling Capacity" +#define WIA_DPS_OPTICAL_XRES_STR L"Horizontal Optical Resolution" +#define WIA_DPS_OPTICAL_YRES_STR L"Vertical Optical Resolution" +#define WIA_DPS_ENDORSER_CHARACTERS_STR L"Endorser Characters" +#define WIA_DPS_ENDORSER_STRING_STR L"Endorser String" +#define WIA_DPS_SCAN_AHEAD_PAGES_STR L"Scan Ahead Pages" +#define WIA_DPS_MAX_SCAN_TIME_STR L"Max Scan Time" +#define WIA_DPS_PAGES_STR L"Pages" +#define WIA_DPS_PAGE_SIZE_STR L"Page Size" +#define WIA_DPS_PAGE_WIDTH_STR L"Page Width" +#define WIA_DPS_PAGE_HEIGHT_STR L"Page Height" +#define WIA_DPS_PREVIEW_STR L"Preview" +#define WIA_DPS_TRANSPARENCY_STR L"Transparency Adapter" +#define WIA_DPS_TRANSPARENCY_SELECT_STR L"Transparency Adapter Select" +#define WIA_DPS_SHOW_PREVIEW_CONTROL_STR L"Show preview control" +#define WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE_STR L"Minimum Horizontal Sheet Feed Size" +#define WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE_STR L"Minimum Vertical Sheet Feed Size" + +#define WIA_NUM_DPS (1 + WIA_DPS_LAST - WIA_DPS_FIRST) + +#define WIA_DPF_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS +#define WIA_DPF_MOUNT_POINT WIA_DPF_FIRST + 0 +#define WIA_DPF_LAST WIA_DPF_FIRST + 0 + +#define WIA_DPF_MOUNT_POINT_STR L"Directory mount point" + +#define WIA_NUM_DPF (1 + WIA_DPF_LAST - WIA_DPF_FIRST) + +#define WIA_DPV_FIRST WIA_DPF_FIRST + WIA_RESERVED_FOR_SMALL_NEW_PROPS +#define WIA_DPV_LAST_PICTURE_TAKEN WIA_DPV_FIRST + 0 +#define WIA_DPV_IMAGES_DIRECTORY WIA_DPV_FIRST + 1 +#define WIA_DPV_DSHOW_DEVICE_PATH WIA_DPV_FIRST + 2 +#define WIA_DPV_LAST WIA_DPV_FIRST + 2 + +#define WIA_DPV_LAST_PICTURE_TAKEN_STR L"Last Picture Taken" +#define WIA_DPV_IMAGES_DIRECTORY_STR L"Images Directory" +#define WIA_DPV_DSHOW_DEVICE_PATH_STR L"Directshow Device Path" + +#define WIA_NUM_DPV (1 + WIA_DPV_LAST - WIA_DPV_FIRST) + +#define WIA_IPA_FIRST WIA_DPS_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_IPA_ITEM_NAME WIA_IPA_FIRST + 0 +#define WIA_IPA_FULL_ITEM_NAME WIA_IPA_FIRST + 1 +#define WIA_IPA_ITEM_TIME WIA_IPA_FIRST + 2 +#define WIA_IPA_ITEM_FLAGS WIA_IPA_FIRST + 3 +#define WIA_IPA_ACCESS_RIGHTS WIA_IPA_FIRST + 4 +#define WIA_IPA_DATATYPE WIA_IPA_FIRST + 5 +#define WIA_IPA_DEPTH WIA_IPA_FIRST + 6 +#define WIA_IPA_PREFERRED_FORMAT WIA_IPA_FIRST + 7 +#define WIA_IPA_FORMAT WIA_IPA_FIRST + 8 +#define WIA_IPA_COMPRESSION WIA_IPA_FIRST + 9 +#define WIA_IPA_TYMED WIA_IPA_FIRST + 10 +#define WIA_IPA_CHANNELS_PER_PIXEL WIA_IPA_FIRST + 11 +#define WIA_IPA_BITS_PER_CHANNEL WIA_IPA_FIRST + 12 +#define WIA_IPA_PLANAR WIA_IPA_FIRST + 13 +#define WIA_IPA_PIXELS_PER_LINE WIA_IPA_FIRST + 14 +#define WIA_IPA_BYTES_PER_LINE WIA_IPA_FIRST + 15 +#define WIA_IPA_NUMBER_OF_LINES WIA_IPA_FIRST + 16 +#define WIA_IPA_GAMMA_CURVES WIA_IPA_FIRST + 17 +#define WIA_IPA_ITEM_SIZE WIA_IPA_FIRST + 18 +#define WIA_IPA_COLOR_PROFILE WIA_IPA_FIRST + 19 +#define WIA_IPA_MIN_BUFFER_SIZE WIA_IPA_FIRST + 20 + +#define WIA_IPA_BUFFER_SIZE WIA_IPA_FIRST + 20 +#define WIA_IPA_REGION_TYPE WIA_IPA_FIRST + 21 +#define WIA_IPA_ICM_PROFILE_NAME WIA_IPA_FIRST + 22 +#define WIA_IPA_APP_COLOR_MAPPING WIA_IPA_FIRST + 23 +#define WIA_IPA_PROP_STREAM_COMPAT_ID WIA_IPA_FIRST + 24 +#define WIA_IPA_FILENAME_EXTENSION WIA_IPA_FIRST + 25 +#define WIA_IPA_SUPPRESS_PROPERTY_PAGE WIA_IPA_FIRST + 26 +#define WIA_IPA_LAST WIA_IPA_FIRST + 26 + +#define WIA_IPA_ITEM_NAME_STR L"Item Name" +#define WIA_IPA_FULL_ITEM_NAME_STR L"Full Item Name" +#define WIA_IPA_ITEM_TIME_STR L"Item Time Stamp" +#define WIA_IPA_ITEM_FLAGS_STR L"Item Flags" +#define WIA_IPA_ACCESS_RIGHTS_STR L"Access Rights" +#define WIA_IPA_DATATYPE_STR L"Data Type" +#define WIA_IPA_DEPTH_STR L"Bits Per Pixel" +#define WIA_IPA_PREFERRED_FORMAT_STR L"Preferred Format" +#define WIA_IPA_FORMAT_STR L"Format" +#define WIA_IPA_COMPRESSION_STR L"Compression" +#define WIA_IPA_TYMED_STR L"Media Type" +#define WIA_IPA_CHANNELS_PER_PIXEL_STR L"Channels Per Pixel" +#define WIA_IPA_BITS_PER_CHANNEL_STR L"Bits Per Channel" +#define WIA_IPA_PLANAR_STR L"Planar" +#define WIA_IPA_PIXELS_PER_LINE_STR L"Pixels Per Line" +#define WIA_IPA_BYTES_PER_LINE_STR L"Bytes Per Line" +#define WIA_IPA_NUMBER_OF_LINES_STR L"Number of Lines" +#define WIA_IPA_GAMMA_CURVES_STR L"Gamma Curves" +#define WIA_IPA_ITEM_SIZE_STR L"Item Size" +#define WIA_IPA_COLOR_PROFILE_STR L"Color Profiles" +#define WIA_IPA_MIN_BUFFER_SIZE_STR L"Buffer Size" +#define WIA_IPA_REGION_TYPE_STR L"Region Type" +#define WIA_IPA_ICM_PROFILE_NAME_STR L"Color Profile Name" +#define WIA_IPA_APP_COLOR_MAPPING_STR L"Application Applies Color Mapping" +#define WIA_IPA_PROP_STREAM_COMPAT_ID_STR L"Stream Compatibility ID" +#define WIA_IPA_FILENAME_EXTENSION_STR L"Filename extension" +#define WIA_IPA_SUPPRESS_PROPERTY_PAGE_STR L"Suppress a property page" + +#define WIA_NUM_IPA (1 + WIA_IPA_LAST - WIA_IPA_FIRST) + +#define WIA_IPC_FIRST WIA_IPA_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_IPC_THUMBNAIL WIA_IPC_FIRST + 0 +#define WIA_IPC_THUMB_WIDTH WIA_IPC_FIRST + 1 +#define WIA_IPC_THUMB_HEIGHT WIA_IPC_FIRST + 2 +#define WIA_IPC_AUDIO_AVAILABLE WIA_IPC_FIRST + 3 +#define WIA_IPC_AUDIO_DATA_FORMAT WIA_IPC_FIRST + 4 +#define WIA_IPC_AUDIO_DATA WIA_IPC_FIRST + 5 +#define WIA_IPC_NUM_PICT_PER_ROW WIA_IPC_FIRST + 6 +#define WIA_IPC_SEQUENCE WIA_IPC_FIRST + 7 +#define WIA_IPC_TIMEDELAY WIA_IPC_FIRST + 8 +#define WIA_IPC_LAST WIA_IPC_FIRST + 8 + +#define WIA_IPC_THUMBNAIL_STR L"Thumbnail Data" +#define WIA_IPC_THUMB_WIDTH_STR L"Thumbnail Width" +#define WIA_IPC_THUMB_HEIGHT_STR L"Thumbnail Height" +#define WIA_IPC_AUDIO_AVAILABLE_STR L"Audio Available" +#define WIA_IPC_AUDIO_DATA_FORMAT_STR L"Audio Format" +#define WIA_IPC_AUDIO_DATA_STR L"Audio Data" +#define WIA_IPC_NUM_PICT_PER_ROW_STR L"Pictures per Row" +#define WIA_IPC_SEQUENCE_STR L"Sequence Number" +#define WIA_IPC_TIMEDELAY_STR L"Time Delay" + +#define WIA_NUM_IPC (1 + WIA_IPC_LAST - WIA_IPC_FIRST) + +#define WIA_IPS_FIRST WIA_IPC_FIRST + WIA_RESERVED_FOR_NEW_PROPS +#define WIA_IPS_CUR_INTENT WIA_IPS_FIRST + 0 +#define WIA_IPS_XRES WIA_IPS_FIRST + 1 +#define WIA_IPS_YRES WIA_IPS_FIRST + 2 +#define WIA_IPS_XPOS WIA_IPS_FIRST + 3 +#define WIA_IPS_YPOS WIA_IPS_FIRST + 4 +#define WIA_IPS_XEXTENT WIA_IPS_FIRST + 5 +#define WIA_IPS_YEXTENT WIA_IPS_FIRST + 6 +#define WIA_IPS_PHOTOMETRIC_INTERP WIA_IPS_FIRST + 7 +#define WIA_IPS_BRIGHTNESS WIA_IPS_FIRST + 8 +#define WIA_IPS_CONTRAST WIA_IPS_FIRST + 9 +#define WIA_IPS_ORIENTATION WIA_IPS_FIRST + 10 +#define WIA_IPS_ROTATION WIA_IPS_FIRST + 11 +#define WIA_IPS_MIRROR WIA_IPS_FIRST + 12 +#define WIA_IPS_THRESHOLD WIA_IPS_FIRST + 13 +#define WIA_IPS_INVERT WIA_IPS_FIRST + 14 +#define WIA_IPS_WARM_UP_TIME WIA_IPS_FIRST + 15 +#define WIA_IPS_LAST WIA_IPS_FIRST + 15 + +#define WIA_IPS_CUR_INTENT_STR L"Current Intent" +#define WIA_IPS_XRES_STR L"Horizontal Resolution" +#define WIA_IPS_YRES_STR L"Vertical Resolution" +#define WIA_IPS_XPOS_STR L"Horizontal Start Position" +#define WIA_IPS_YPOS_STR L"Vertical Start Position" +#define WIA_IPS_XEXTENT_STR L"Horizontal Extent" +#define WIA_IPS_YEXTENT_STR L"Vertical Extent" +#define WIA_IPS_PHOTOMETRIC_INTERP_STR L"Photometric Interpretation" +#define WIA_IPS_BRIGHTNESS_STR L"Brightness" +#define WIA_IPS_CONTRAST_STR L"Contrast" +#define WIA_IPS_ORIENTATION_STR L"Orientation" +#define WIA_IPS_ROTATION_STR L"Rotation" +#define WIA_IPS_MIRROR_STR L"Mirror" +#define WIA_IPS_THRESHOLD_STR L"Threshold" +#define WIA_IPS_INVERT_STR L"Invert" +#define WIA_IPS_WARM_UP_TIME_STR L"Lamp Warm up Time" + +#define WIA_NUM_IPS (1 + WIA_IPS_LAST - WIA_IPS_FIRST) + +#define WIA_PRIVATE_DEVPROP (WIA_IPS_FIRST + WIA_RESERVED_FOR_ALL_MS_PROPS) +#define WIA_PRIVATE_ITEMPROP (WIA_PRIVATE_DEVPROP + WIA_RESERVED_FOR_ALL_MS_PROPS) + +#define WHITEBALANCE_MANUAL 1 +#define WHITEBALANCE_AUTO 2 +#define WHITEBALANCE_ONEPUSH_AUTO 3 +#define WHITEBALANCE_DAYLIGHT 4 +#define WHITEBALANCE_FLORESCENT 5 +#define WHITEBALANCE_TUNGSTEN 6 +#define WHITEBALANCE_FLASH 7 + +#define FOCUSMODE_MANUAL 1 +#define FOCUSMODE_AUTO 2 +#define FOCUSMODE_MACROAUTO 3 + +#define EXPOSUREMETERING_AVERAGE 1 +#define EXPOSUREMETERING_CENTERWEIGHT 2 +#define EXPOSUREMETERING_MULTISPOT 3 +#define EXPOSUREMETERING_CENTERSPOT 4 + +#define FLASHMODE_AUTO 1 +#define FLASHMODE_OFF 2 +#define FLASHMODE_FILL 3 +#define FLASHMODE_REDEYE_AUTO 4 +#define FLASHMODE_REDEYE_FILL 5 +#define FLASHMODE_EXTERNALSYNC 6 + +#define EXPOSUREMODE_MANUAL 1 +#define EXPOSUREMODE_AUTO 2 +#define EXPOSUREMODE_APERTURE_PRIORITY 3 +#define EXPOSUREMODE_SHUTTER_PRIORITY 4 +#define EXPOSUREMODE_PROGRAM_CREATIVE 5 +#define EXPOSUREMODE_PROGRAM_ACTION 6 +#define EXPOSUREMODE_PORTRAIT 7 + +#define CAPTUREMODE_NORMAL 1 +#define CAPTUREMODE_BURST 2 +#define CAPTUREMODE_TIMELAPSE 3 + +#define EFFECTMODE_STANDARD 1 +#define EFFECTMODE_BW 2 +#define EFFECTMODE_SEPIA 3 + +#define FOCUSMETERING_CENTERSPOT 1 +#define FOCUSMETERING_MULTISPOT 2 + +#define POWERMODE_LINE 1 +#define POWERMODE_BATTERY 2 + +#define LEFT_JUSTIFIED 0 +#define CENTERED 1 +#define RIGHT_JUSTIFIED 2 + +#define TOP_JUSTIFIED 0 +#define CENTERED 1 +#define BOTTOM_JUSTIFIED 2 + +#define PORTRAIT 0 +#define LANSCAPE 1 +#define ROT180 2 +#define ROT270 3 + +#define MIRRORED 0x01 + +#define FEED 0x01 +#define FLAT 0x02 +#define DUP 0x04 +#define DETECT_FLAT 0x08 +#define DETECT_SCAN 0x10 +#define DETECT_FEED 0x20 +#define DETECT_DUP 0x40 +#define DETECT_FEED_AVAIL 0x80 +#define DETECT_DUP_AVAIL 0x100 + +#define FEED_READY 0x01 +#define FLAT_READY 0x02 +#define DUP_READY 0x04 +#define FLAT_COVER_UP 0x08 +#define PATH_COVER_UP 0x10 +#define PAPER_JAM 0x20 + +#define FEEDER 0x001 +#define FLATBED 0x002 +#define DUPLEX 0x004 +#define FRONT_FIRST 0x008 +#define BACK_FIRST 0x010 +#define FRONT_ONLY 0x020 +#define BACK_ONLY 0x040 +#define NEXT_PAGE 0x080 +#define PREFEED 0x100 +#define AUTO_ADVANCE 0x200 + +#define LIGHT_SOURCE_PRESENT_DETECT 0x01 +#define LIGHT_SOURCE_PRESENT 0x02 +#define LIGHT_SOURCE_DETECT_READY 0x04 +#define LIGHT_SOURCE_READY 0x08 + +#define LIGHT_SOURCE_SELECT 0x001 + +#define WIA_SCAN_AHEAD_ALL 0 + +#define ALL_PAGES 0 + +#define WIA_FINAL_SCAN 0 +#define WIA_PREVIEW_SCAN 1 + +#define WIA_SHOW_PREVIEW_CONTROL 0 +#define WIA_DONT_SHOW_PREVIEW_CONTROL 1 + +#define WIA_ENDORSER_TOK_DATE L"$DATE$" +#define WIA_ENDORSER_TOK_TIME L"$TIME$" +#define WIA_ENDORSER_TOK_PAGE_COUNT L"$PAGE_COUNT$" +#define WIA_ENDORSER_TOK_DAY L"$DAY$" +#define WIA_ENDORSER_TOK_MONTH L"$MONTH$" +#define WIA_ENDORSER_TOK_YEAR L"$YEAR$" + +#define WIA_PAGE_A4 0 +#define WIA_PAGE_LETTER 1 +#define WIA_PAGE_CUSTOM 2 + +#define WIA_COMPRESSION_NONE 0 +#define WIA_COMPRESSION_BI_RLE4 1 +#define WIA_COMPRESSION_BI_RLE8 2 +#define WIA_COMPRESSION_G3 3 +#define WIA_COMPRESSION_G4 4 +#define WIA_COMPRESSION_JPEG 5 + +#define WIA_PACKED_PIXEL 0 +#define WIA_PLANAR 1 + +#define WIA_DATA_THRESHOLD 0 +#define WIA_DATA_DITHER 1 +#define WIA_DATA_GRAYSCALE 2 +#define WIA_DATA_COLOR 3 +#define WIA_DATA_COLOR_THRESHOLD 4 +#define WIA_DATA_COLOR_DITHER 5 + +#define WIA_PROPPAGE_SCANNER_ITEM_GENERAL 0x00000001 +#define WIA_PROPPAGE_CAMERA_ITEM_GENERAL 0x00000002 + +#define WIA_INTENT_NONE 0x00000000 +#define WIA_INTENT_IMAGE_TYPE_COLOR 0x00000001 +#define WIA_INTENT_IMAGE_TYPE_GRAYSCALE 0x00000002 +#define WIA_INTENT_IMAGE_TYPE_TEXT 0x00000004 +#define WIA_INTENT_IMAGE_TYPE_MASK 0x0000000F +#define WIA_INTENT_MINIMIZE_SIZE 0x00010000 +#define WIA_INTENT_MAXIMIZE_QUALITY 0x00020000 +#define WIA_INTENT_BEST_PREVIEW 0x00040000 +#define WIA_INTENT_SIZE_MASK 0x000F0000 + +#define WIA_PHOTO_WHITE_1 0 +#define WIA_PHOTO_WHITE_0 1 + +#define WIA_RANGE_MIN 0 +#define WIA_RANGE_NOM 1 +#define WIA_RANGE_MAX 2 +#define WIA_RANGE_STEP 3 +#define WIA_RANGE_NUM_ELEMS 4 + +#define WIA_LIST_COUNT 0 +#define WIA_LIST_NOM 1 +#define WIA_LIST_VALUES 2 +#define WIA_LIST_NUM_ELEMS 2 + +#define WIA_FLAG_NOM 0 +#define WIA_FLAG_VALUES 1 +#define WIA_FLAG_NUM_ELEMS 2 + +#ifdef DEFINE_WIA_PROPID_TO_NAME + WIA_PROPID_TO_NAME g_wiaPropIdToName[] = { {WIA_DIP_DEV_ID,WIA_DIP_DEV_ID_STR},{WIA_DIP_VEND_DESC,WIA_DIP_VEND_DESC_STR},{WIA_DIP_DEV_DESC,WIA_DIP_DEV_DESC_STR},{WIA_DIP_DEV_TYPE,WIA_DIP_DEV_TYPE_STR},{WIA_DIP_PORT_NAME,WIA_DIP_PORT_NAME_STR},{WIA_DIP_DEV_NAME,WIA_DIP_DEV_NAME_STR},{WIA_DIP_SERVER_NAME,WIA_DIP_SERVER_NAME_STR},{WIA_DIP_REMOTE_DEV_ID,WIA_DIP_REMOTE_DEV_ID_STR},{WIA_DIP_UI_CLSID,WIA_DIP_UI_CLSID_STR},{WIA_DIP_HW_CONFIG,WIA_DIP_HW_CONFIG_STR},{WIA_DIP_BAUDRATE,WIA_DIP_BAUDRATE_STR},{WIA_DIP_STI_GEN_CAPABILITIES,WIA_DIP_STI_GEN_CAPABILITIES_STR},{WIA_DIP_WIA_VERSION,WIA_DIP_WIA_VERSION_STR},{WIA_DIP_DRIVER_VERSION,WIA_DIP_DRIVER_VERSION_STR},{WIA_DPA_FIRMWARE_VERSION,WIA_DPA_FIRMWARE_VERSION_STR},{WIA_DPA_CONNECT_STATUS,WIA_DPA_CONNECT_STATUS_STR},{WIA_DPA_DEVICE_TIME,WIA_DPA_DEVICE_TIME_STR},{WIA_DPC_PICTURES_TAKEN,WIA_DPC_PICTURES_TAKEN_STR},{WIA_DPC_PICTURES_REMAINING,WIA_DPC_PICTURES_REMAINING_STR},{WIA_DPC_EXPOSURE_MODE,WIA_DPC_EXPOSURE_MODE_STR},{WIA_DPC_EXPOSURE_COMP,WIA_DPC_EXPOSURE_COMP_STR},{WIA_DPC_EXPOSURE_TIME,WIA_DPC_EXPOSURE_TIME_STR},{WIA_DPC_FNUMBER,WIA_DPC_FNUMBER_STR},{WIA_DPC_FLASH_MODE,WIA_DPC_FLASH_MODE_STR},{WIA_DPC_FOCUS_MODE,WIA_DPC_FOCUS_MODE_STR},{WIA_DPC_FOCUS_MANUAL_DIST,WIA_DPC_FOCUS_MANUAL_DIST_STR},{WIA_DPC_ZOOM_POSITION,WIA_DPC_ZOOM_POSITION_STR},{WIA_DPC_PAN_POSITION,WIA_DPC_PAN_POSITION_STR},{WIA_DPC_TILT_POSITION,WIA_DPC_TILT_POSITION_STR},{WIA_DPC_TIMER_MODE,WIA_DPC_TIMER_MODE_STR},{WIA_DPC_TIMER_VALUE,WIA_DPC_TIMER_VALUE_STR},{WIA_DPC_POWER_MODE,WIA_DPC_POWER_MODE_STR},{WIA_DPC_BATTERY_STATUS,WIA_DPC_BATTERY_STATUS_STR},{WIA_DPC_DIMENSION,WIA_DPC_DIMENSION_STR},{WIA_DPS_HORIZONTAL_BED_SIZE,WIA_DPS_HORIZONTAL_BED_SIZE_STR},{WIA_DPS_VERTICAL_BED_SIZE,WIA_DPS_VERTICAL_BED_SIZE_STR},{WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE,WIA_DPS_HORIZONTAL_SHEET_FEED_SIZE_STR},{WIA_DPS_VERTICAL_SHEET_FEED_SIZE,WIA_DPS_VERTICAL_SHEET_FEED_SIZE_STR},{WIA_DPS_SHEET_FEEDER_REGISTRATION,WIA_DPS_SHEET_FEEDER_REGISTRATION_STR},{WIA_DPS_HORIZONTAL_BED_REGISTRATION,WIA_DPS_HORIZONTAL_BED_REGISTRATION_STR},{WIA_DPS_VERTICAL_BED_REGISTRATION,WIA_DPS_VERTICAL_BED_REGISTRATION_STR},{WIA_DPS_PLATEN_COLOR,WIA_DPS_PLATEN_COLOR_STR},{WIA_DPS_PAD_COLOR,WIA_DPS_PAD_COLOR_STR},{WIA_DPS_FILTER_SELECT,WIA_DPS_FILTER_SELECT_STR},{WIA_DPS_DITHER_SELECT,WIA_DPS_DITHER_SELECT_STR},{WIA_DPS_DITHER_PATTERN_DATA,WIA_DPS_DITHER_PATTERN_DATA_STR},{WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES,WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES_STR},{WIA_DPS_DOCUMENT_HANDLING_STATUS,WIA_DPS_DOCUMENT_HANDLING_STATUS_STR},{WIA_DPS_DOCUMENT_HANDLING_SELECT,WIA_DPS_DOCUMENT_HANDLING_SELECT_STR},{WIA_DPS_DOCUMENT_HANDLING_CAPACITY,WIA_DPS_DOCUMENT_HANDLING_CAPACITY_STR},{WIA_DPS_OPTICAL_XRES,WIA_DPS_OPTICAL_XRES_STR},{WIA_DPS_OPTICAL_YRES,WIA_DPS_OPTICAL_YRES_STR},{WIA_DPS_ENDORSER_CHARACTERS,WIA_DPS_ENDORSER_CHARACTERS_STR},{WIA_DPS_ENDORSER_STRING,WIA_DPS_ENDORSER_STRING_STR},{WIA_DPS_SCAN_AHEAD_PAGES,WIA_DPS_SCAN_AHEAD_PAGES_STR},{WIA_DPS_MAX_SCAN_TIME,WIA_DPS_MAX_SCAN_TIME_STR},{WIA_DPS_PAGES,WIA_DPS_PAGES_STR},{WIA_DPS_PAGE_SIZE,WIA_DPS_PAGE_SIZE_STR},{WIA_DPS_PAGE_WIDTH,WIA_DPS_PAGE_WIDTH_STR},{WIA_DPS_PAGE_HEIGHT,WIA_DPS_PAGE_HEIGHT_STR},{WIA_DPS_PREVIEW,WIA_DPS_PREVIEW_STR},{WIA_DPS_TRANSPARENCY,WIA_DPS_TRANSPARENCY_STR},{WIA_DPS_TRANSPARENCY_SELECT,WIA_DPS_TRANSPARENCY_SELECT_STR},{WIA_DPS_SHOW_PREVIEW_CONTROL,WIA_DPS_SHOW_PREVIEW_CONTROL_STR},{WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE,WIA_DPS_MIN_HORIZONTAL_SHEET_FEED_SIZE_STR},{WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE,WIA_DPS_MIN_VERTICAL_SHEET_FEED_SIZE_STR},{WIA_DPV_LAST_PICTURE_TAKEN,WIA_DPV_LAST_PICTURE_TAKEN_STR},{WIA_DPV_IMAGES_DIRECTORY,WIA_DPV_IMAGES_DIRECTORY_STR},{WIA_DPV_DSHOW_DEVICE_PATH,WIA_DPV_DSHOW_DEVICE_PATH_STR},{WIA_DPF_MOUNT_POINT,WIA_DPF_MOUNT_POINT_STR},{WIA_IPA_ITEM_NAME,WIA_IPA_ITEM_NAME_STR},{WIA_IPA_FULL_ITEM_NAME,WIA_IPA_FULL_ITEM_NAME_STR},{WIA_IPA_ITEM_TIME,WIA_IPA_ITEM_TIME_STR},{WIA_IPA_ITEM_FLAGS,WIA_IPA_ITEM_FLAGS_STR},{WIA_IPA_ACCESS_RIGHTS,WIA_IPA_ACCESS_RIGHTS_STR},{WIA_IPA_DATATYPE,WIA_IPA_DATATYPE_STR},{WIA_IPA_DEPTH,WIA_IPA_DEPTH_STR},{WIA_IPA_PREFERRED_FORMAT,WIA_IPA_PREFERRED_FORMAT_STR},{WIA_IPA_FORMAT,WIA_IPA_FORMAT_STR},{WIA_IPA_COMPRESSION,WIA_IPA_COMPRESSION_STR},{WIA_IPA_TYMED,WIA_IPA_TYMED_STR},{WIA_IPA_CHANNELS_PER_PIXEL,WIA_IPA_CHANNELS_PER_PIXEL_STR},{WIA_IPA_BITS_PER_CHANNEL,WIA_IPA_BITS_PER_CHANNEL_STR},{WIA_IPA_PLANAR,WIA_IPA_PLANAR_STR},{WIA_IPA_PIXELS_PER_LINE,WIA_IPA_PIXELS_PER_LINE_STR},{WIA_IPA_BYTES_PER_LINE,WIA_IPA_BYTES_PER_LINE_STR},{WIA_IPA_NUMBER_OF_LINES,WIA_IPA_NUMBER_OF_LINES_STR},{WIA_IPA_GAMMA_CURVES,WIA_IPA_GAMMA_CURVES_STR},{WIA_IPA_ITEM_SIZE,WIA_IPA_ITEM_SIZE_STR},{WIA_IPA_COLOR_PROFILE,WIA_IPA_COLOR_PROFILE_STR},{WIA_IPA_MIN_BUFFER_SIZE,WIA_IPA_MIN_BUFFER_SIZE_STR},{WIA_IPA_REGION_TYPE,WIA_IPA_REGION_TYPE_STR},{WIA_IPA_ICM_PROFILE_NAME,WIA_IPA_ICM_PROFILE_NAME_STR},{WIA_IPA_APP_COLOR_MAPPING,WIA_IPA_APP_COLOR_MAPPING_STR},{WIA_IPA_PROP_STREAM_COMPAT_ID,WIA_IPA_PROP_STREAM_COMPAT_ID_STR},{WIA_IPA_FILENAME_EXTENSION,WIA_IPA_FILENAME_EXTENSION_STR},{WIA_IPA_SUPPRESS_PROPERTY_PAGE,WIA_IPA_SUPPRESS_PROPERTY_PAGE_STR},{WIA_IPC_THUMBNAIL,WIA_IPC_THUMBNAIL_STR},{WIA_IPC_THUMB_WIDTH,WIA_IPC_THUMB_WIDTH_STR},{WIA_IPC_THUMB_HEIGHT,WIA_IPC_THUMB_HEIGHT_STR},{WIA_IPC_AUDIO_AVAILABLE,WIA_IPC_AUDIO_AVAILABLE_STR},{WIA_IPC_AUDIO_DATA_FORMAT,WIA_IPC_AUDIO_DATA_FORMAT_STR},{WIA_IPC_AUDIO_DATA,WIA_IPC_AUDIO_DATA_STR},{WIA_IPC_NUM_PICT_PER_ROW,WIA_IPC_NUM_PICT_PER_ROW_STR},{WIA_IPC_SEQUENCE,WIA_IPC_SEQUENCE_STR},{WIA_IPC_TIMEDELAY,WIA_IPC_TIMEDELAY_STR},{WIA_IPS_CUR_INTENT,WIA_IPS_CUR_INTENT_STR},{WIA_IPS_XRES,WIA_IPS_XRES_STR},{WIA_IPS_YRES,WIA_IPS_YRES_STR},{WIA_IPS_XPOS,WIA_IPS_XPOS_STR},{WIA_IPS_YPOS,WIA_IPS_YPOS_STR},{WIA_IPS_XEXTENT,WIA_IPS_XEXTENT_STR},{WIA_IPS_YEXTENT,WIA_IPS_YEXTENT_STR},{WIA_IPS_PHOTOMETRIC_INTERP,WIA_IPS_PHOTOMETRIC_INTERP_STR},{WIA_IPS_BRIGHTNESS,WIA_IPS_BRIGHTNESS_STR},{WIA_IPS_CONTRAST,WIA_IPS_CONTRAST_STR},{WIA_IPS_ORIENTATION,WIA_IPS_ORIENTATION_STR},{WIA_IPS_ROTATION,WIA_IPS_ROTATION_STR},{WIA_IPS_MIRROR,WIA_IPS_MIRROR_STR},{WIA_IPS_THRESHOLD,WIA_IPS_THRESHOLD_STR},{WIA_IPS_INVERT,WIA_IPS_INVERT_STR},{WIA_IPS_WARM_UP_TIME,WIA_IPS_WARM_UP_TIME_STR},{0,L"Not a WIA property"} }; +#else + extern WIA_PROPID_TO_NAME g_wiaPropIdToName[]; +#endif +#endif + +#define WIA_PROP_LIST_COUNT(ppv) (((PROPVARIANT*)ppv)->cal.cElems - WIA_LIST_VALUES) +#define WIA_PROP_LIST_VALUE(ppv,index) \ ((index > ((PROPVARIANT*) ppv)->cal.cElems - WIA_LIST_VALUES) || (index < -WIA_LIST_NOM)) ?\ NULL : \ (((PROPVARIANT*) ppv)->vt==VT_UI1) ? \ ((PROPVARIANT*) ppv)->caub.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_UI2) ? \ ((PROPVARIANT*) ppv)->caui.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_UI4) ? \ ((PROPVARIANT*) ppv)->caul.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_I2) ? \ ((PROPVARIANT*) ppv)->cai.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_I4) ? \ ((PROPVARIANT*) ppv)->cal.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_R4) ? \ ((PROPVARIANT*) ppv)->caflt.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_R8) ? \ ((PROPVARIANT*) ppv)->cadbl.pElems[WIA_LIST_VALUES + index] : \ (((PROPVARIANT*) ppv)->vt==VT_BSTR) ? \ (LONG)(((PROPVARIANT*) ppv)->cabstr.pElems[WIA_LIST_VALUES + index]) : \ NULL + +#ifdef __cplusplus +}; +#endif + +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadevd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadevd.h new file mode 100644 index 00000000..a700532f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiadevd.h @@ -0,0 +1,54 @@ +/** + * 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 _WIADEVD_H_INCLUDED +#define _WIADEVD_H_INCLUDED + +#include "wia.h" + +#if defined(__cplusplus) +extern "C" { +#endif + +#include + + typedef struct tagDEVICEDIALOGDATA { + DWORD cbSize; + HWND hwndParent; + IWiaItem *pIWiaItemRoot; + DWORD dwFlags; + LONG lIntent; + LONG lItemCount; + IWiaItem **ppWiaItems; + } DEVICEDIALOGDATA,*LPDEVICEDIALOGDATA,*PDEVICEDIALOGDATA; + + HRESULT WINAPI DeviceDialog(PDEVICEDIALOGDATA pDeviceDialogData); + +#undef INTERFACE +#define INTERFACE IWiaUIExtension + DECLARE_INTERFACE_(IWiaUIExtension,IUnknown) { + STDMETHOD(QueryInterface) (THIS_ REFIID riid,LPVOID *ppvObj) PURE; + STDMETHOD_(ULONG,AddRef) (THIS) PURE; + STDMETHOD_(ULONG,Release) (THIS) PURE; + STDMETHOD(DeviceDialog)(THIS_ PDEVICEDIALOGDATA pDeviceDialogData) PURE; + STDMETHOD(GetDeviceIcon)(THIS_ BSTR bstrDeviceId,HICON *phIcon,ULONG nSize) PURE; + STDMETHOD(GetDeviceBitmapLogo)(THIS_ BSTR bstrDeviceId,HBITMAP *phBitmap,ULONG nMaxWidth,ULONG nMaxHeight) PURE; + }; + + DEFINE_GUID(IID_IWiaUIExtension,0xDA319113,0x50EE,0x4C80,0xB4,0x60,0x57,0xD0,0x05,0xD4,0x4A,0x2C); + + typedef HRESULT (WINAPI *DeviceDialogFunction)(PDEVICEDIALOGDATA); + +#define SHELLEX_WIAUIEXTENSION_NAME TEXT("WiaDialogExtensionHandlers") + +#define CFSTR_WIAITEMNAMES TEXT("WIAItemNames") +#define CFSTR_WIAITEMPTR TEXT("WIAItemPointer") + +#include + +#if defined(__cplusplus) +}; +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiavideo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiavideo.h new file mode 100644 index 00000000..eb8de489 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wiavideo.h @@ -0,0 +1,171 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __wiavideo_h__ +#define __wiavideo_h__ + +#ifndef __IWiaVideo_FWD_DEFINED__ +#define __IWiaVideo_FWD_DEFINED__ +typedef struct IWiaVideo IWiaVideo; +#endif + +#ifndef __WiaVideo_FWD_DEFINED__ +#define __WiaVideo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WiaVideo WiaVideo; +#else +typedef struct WiaVideo WiaVideo; +#endif +#endif + +#include "oaidl.h" +#include "ocidl.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + typedef enum __MIDL___MIDL_itf_wiavideo_0000_0001 { + WIAVIDEO_NO_VIDEO = 1,WIAVIDEO_CREATING_VIDEO = 2,WIAVIDEO_VIDEO_CREATED = 3,WIAVIDEO_VIDEO_PLAYING = 4,WIAVIDEO_VIDEO_PAUSED = 5, + WIAVIDEO_DESTROYING_VIDEO = 6 + } WIAVIDEO_STATE; + + extern RPC_IF_HANDLE __MIDL_itf_wiavideo_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_wiavideo_0000_v0_0_s_ifspec; +#ifndef __IWiaVideo_INTERFACE_DEFINED__ +#define __IWiaVideo_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IWiaVideo; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IWiaVideo : public IUnknown { + public: + virtual HRESULT WINAPI get_PreviewVisible(WINBOOL *pbPreviewVisible) = 0; + virtual HRESULT WINAPI put_PreviewVisible(WINBOOL bPreviewVisible) = 0; + virtual HRESULT WINAPI get_ImagesDirectory(BSTR *pbstrImageDirectory) = 0; + virtual HRESULT WINAPI put_ImagesDirectory(BSTR bstrImageDirectory) = 0; + virtual HRESULT WINAPI CreateVideoByWiaDevID(BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; + virtual HRESULT WINAPI CreateVideoByDevNum(UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; + virtual HRESULT WINAPI CreateVideoByName(BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback) = 0; + virtual HRESULT WINAPI DestroyVideo(void) = 0; + virtual HRESULT WINAPI Play(void) = 0; + virtual HRESULT WINAPI Pause(void) = 0; + virtual HRESULT WINAPI TakePicture(BSTR *pbstrNewImageFilename) = 0; + virtual HRESULT WINAPI ResizeVideo(WINBOOL bStretchToFitParent) = 0; + virtual HRESULT WINAPI GetCurrentState(WIAVIDEO_STATE *pState) = 0; + }; +#else + typedef struct IWiaVideoVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IWiaVideo *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IWiaVideo *This); + ULONG (WINAPI *Release)(IWiaVideo *This); + HRESULT (WINAPI *get_PreviewVisible)(IWiaVideo *This,WINBOOL *pbPreviewVisible); + HRESULT (WINAPI *put_PreviewVisible)(IWiaVideo *This,WINBOOL bPreviewVisible); + HRESULT (WINAPI *get_ImagesDirectory)(IWiaVideo *This,BSTR *pbstrImageDirectory); + HRESULT (WINAPI *put_ImagesDirectory)(IWiaVideo *This,BSTR bstrImageDirectory); + HRESULT (WINAPI *CreateVideoByWiaDevID)(IWiaVideo *This,BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + HRESULT (WINAPI *CreateVideoByDevNum)(IWiaVideo *This,UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + HRESULT (WINAPI *CreateVideoByName)(IWiaVideo *This,BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + HRESULT (WINAPI *DestroyVideo)(IWiaVideo *This); + HRESULT (WINAPI *Play)(IWiaVideo *This); + HRESULT (WINAPI *Pause)(IWiaVideo *This); + HRESULT (WINAPI *TakePicture)(IWiaVideo *This,BSTR *pbstrNewImageFilename); + HRESULT (WINAPI *ResizeVideo)(IWiaVideo *This,WINBOOL bStretchToFitParent); + HRESULT (WINAPI *GetCurrentState)(IWiaVideo *This,WIAVIDEO_STATE *pState); + END_INTERFACE + } IWiaVideoVtbl; + struct IWiaVideo { + CONST_VTBL struct IWiaVideoVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IWiaVideo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWiaVideo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWiaVideo_Release(This) (This)->lpVtbl->Release(This) +#define IWiaVideo_get_PreviewVisible(This,pbPreviewVisible) (This)->lpVtbl->get_PreviewVisible(This,pbPreviewVisible) +#define IWiaVideo_put_PreviewVisible(This,bPreviewVisible) (This)->lpVtbl->put_PreviewVisible(This,bPreviewVisible) +#define IWiaVideo_get_ImagesDirectory(This,pbstrImageDirectory) (This)->lpVtbl->get_ImagesDirectory(This,pbstrImageDirectory) +#define IWiaVideo_put_ImagesDirectory(This,bstrImageDirectory) (This)->lpVtbl->put_ImagesDirectory(This,bstrImageDirectory) +#define IWiaVideo_CreateVideoByWiaDevID(This,bstrWiaDeviceID,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByWiaDevID(This,bstrWiaDeviceID,hwndParent,bStretchToFitParent,bAutoBeginPlayback) +#define IWiaVideo_CreateVideoByDevNum(This,uiDeviceNumber,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByDevNum(This,uiDeviceNumber,hwndParent,bStretchToFitParent,bAutoBeginPlayback) +#define IWiaVideo_CreateVideoByName(This,bstrFriendlyName,hwndParent,bStretchToFitParent,bAutoBeginPlayback) (This)->lpVtbl->CreateVideoByName(This,bstrFriendlyName,hwndParent,bStretchToFitParent,bAutoBeginPlayback) +#define IWiaVideo_DestroyVideo(This) (This)->lpVtbl->DestroyVideo(This) +#define IWiaVideo_Play(This) (This)->lpVtbl->Play(This) +#define IWiaVideo_Pause(This) (This)->lpVtbl->Pause(This) +#define IWiaVideo_TakePicture(This,pbstrNewImageFilename) (This)->lpVtbl->TakePicture(This,pbstrNewImageFilename) +#define IWiaVideo_ResizeVideo(This,bStretchToFitParent) (This)->lpVtbl->ResizeVideo(This,bStretchToFitParent) +#define IWiaVideo_GetCurrentState(This,pState) (This)->lpVtbl->GetCurrentState(This,pState) +#endif +#endif + HRESULT WINAPI IWiaVideo_get_PreviewVisible_Proxy(IWiaVideo *This,WINBOOL *pbPreviewVisible); + void __RPC_STUB IWiaVideo_get_PreviewVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_put_PreviewVisible_Proxy(IWiaVideo *This,WINBOOL bPreviewVisible); + void __RPC_STUB IWiaVideo_put_PreviewVisible_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_get_ImagesDirectory_Proxy(IWiaVideo *This,BSTR *pbstrImageDirectory); + void __RPC_STUB IWiaVideo_get_ImagesDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_put_ImagesDirectory_Proxy(IWiaVideo *This,BSTR bstrImageDirectory); + void __RPC_STUB IWiaVideo_put_ImagesDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_CreateVideoByWiaDevID_Proxy(IWiaVideo *This,BSTR bstrWiaDeviceID,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + void __RPC_STUB IWiaVideo_CreateVideoByWiaDevID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_CreateVideoByDevNum_Proxy(IWiaVideo *This,UINT uiDeviceNumber,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + void __RPC_STUB IWiaVideo_CreateVideoByDevNum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_CreateVideoByName_Proxy(IWiaVideo *This,BSTR bstrFriendlyName,HWND hwndParent,WINBOOL bStretchToFitParent,WINBOOL bAutoBeginPlayback); + void __RPC_STUB IWiaVideo_CreateVideoByName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_DestroyVideo_Proxy(IWiaVideo *This); + void __RPC_STUB IWiaVideo_DestroyVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_Play_Proxy(IWiaVideo *This); + void __RPC_STUB IWiaVideo_Play_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_Pause_Proxy(IWiaVideo *This); + void __RPC_STUB IWiaVideo_Pause_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_TakePicture_Proxy(IWiaVideo *This,BSTR *pbstrNewImageFilename); + void __RPC_STUB IWiaVideo_TakePicture_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_ResizeVideo_Proxy(IWiaVideo *This,WINBOOL bStretchToFitParent); + void __RPC_STUB IWiaVideo_ResizeVideo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWiaVideo_GetCurrentState_Proxy(IWiaVideo *This,WIAVIDEO_STATE *pState); + void __RPC_STUB IWiaVideo_GetCurrentState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __WIAVIDEOLib_LIBRARY_DEFINED__ +#define __WIAVIDEOLib_LIBRARY_DEFINED__ + EXTERN_C const IID LIBID_WIAVIDEOLib; + EXTERN_C const CLSID CLSID_WiaVideo; +#ifdef __cplusplus + class WiaVideo; +#endif +#endif + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API HWND_UserSize(ULONG *,ULONG,HWND *); + unsigned char *__RPC_API HWND_UserMarshal(ULONG *,unsigned char *,HWND *); + unsigned char *__RPC_API HWND_UserUnmarshal(ULONG *,unsigned char *,HWND *); + void __RPC_API HWND_UserFree(ULONG *,HWND *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winable.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winable.h new file mode 100644 index 00000000..ecfcca46 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winable.h @@ -0,0 +1,24 @@ +/** + * 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 _WINABLE_ +#define _WINABLE_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + + WINBOOL WINAPI BlockInput(WINBOOL fBlockIt); + +#define CCHILDREN_FRAME 7 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winapifamily.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winapifamily.h new file mode 100644 index 00000000..388d5f06 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winapifamily.h @@ -0,0 +1,24 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_WINAPIFAMILY +#define _INC_WINAPIFAMILY + +#define WINAPI_PARTITION_DESKTOP 0x1 +#define WINAPI_PARTITION_APP 0x2 + +#define WINAPI_FAMILY_APP WINAPI_PARTITION_APP +#define WINAPI_FAMILY_DESKTOP_APP (WINAPI_PARTITION_DESKTOP \ + | WINAPI_PARTITION_APP) + +/* WINAPI_FAMILY can be either desktop + App, or App. */ +#ifndef WINAPI_FAMILY +#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP +#endif + +#define WINAPI_FAMILY_PARTITION(v) ((WINAPI_FAMILY & v) == v) +#define WINAPI_FAMILY_ONE_PARTITION(vset, v) ((WINAPI_FAMILY & vset) == v) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winbase.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winbase.h new file mode 100644 index 00000000..f7337843 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winbase.h @@ -0,0 +1,3661 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WINBASE_ +#define _WINBASE_ + +#include <_mingw_unicode.h> + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef __WIDL__ +#define NOWINBASEINTERLOCK 1 +#endif + +#ifndef NOWINBASEINTERLOCK +#define __INTRINSIC_GROUP_WINBASE /* only define the intrinsics in this file */ +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define GetCurrentTime() GetTickCount () +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#define DefineHandleTable(w) ( { (VOID)(w); TRUE; } ) +#define LimitEmsPages(dw) +#define SetSwapAreaSize(w) (w) +#define LockSegment(w) GlobalFix((HANDLE)(w)) +#define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) + +#define Yield() + +#define FILE_BEGIN 0 +#define FILE_CURRENT 1 +#define FILE_END 2 + +#define WAIT_FAILED ((DWORD)0xffffffff) +#define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0) + +#define WAIT_ABANDONED ((STATUS_ABANDONED_WAIT_0) + 0) +#define WAIT_ABANDONED_0 ((STATUS_ABANDONED_WAIT_0) + 0) + +#define WAIT_IO_COMPLETION STATUS_USER_APC + +#define SecureZeroMemory RtlSecureZeroMemory +#define CaptureStackBackTrace RtlCaptureStackBackTrace + +#define FILE_FLAG_WRITE_THROUGH 0x80000000 +#define FILE_FLAG_OVERLAPPED 0x40000000 +#define FILE_FLAG_NO_BUFFERING 0x20000000 +#define FILE_FLAG_RANDOM_ACCESS 0x10000000 +#define FILE_FLAG_SEQUENTIAL_SCAN 0x8000000 +#define FILE_FLAG_DELETE_ON_CLOSE 0x4000000 +#define FILE_FLAG_BACKUP_SEMANTICS 0x2000000 +#define FILE_FLAG_POSIX_SEMANTICS 0x1000000 +#define FILE_FLAG_SESSION_AWARE 0x800000 +#define FILE_FLAG_OPEN_REPARSE_POINT 0x200000 +#define FILE_FLAG_OPEN_NO_RECALL 0x100000 +#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x80000 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define FILE_FLAG_OPEN_REQUIRING_OPLOCK 0x40000 +#if NTDDI_VERSION >= NTDDI_WIN10_CU +#define FILE_FLAG_IGNORE_IMPERSONATED_DEVICEMAP 0x20000 +#endif +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_NI + typedef enum FILE_WRITE_FLAGS { + FILE_WRITE_FLAGS_NONE = 0, + FILE_WRITE_FLAGS_WRITE_THROUGH = 0x000000001 + } FILE_WRITE_FLAGS; +DEFINE_ENUM_FLAG_OPERATORS(FILE_WRITE_FLAGS) + +typedef enum FILE_FLUSH_MODE { + FILE_FLUSH_DEFAULT = 0, + FILE_FLUSH_DATA, + FILE_FLUSH_MIN_METADATA, + FILE_FLUSH_NO_SYNC + } FILE_FLUSH_MODE; +#endif + +#define PROGRESS_CONTINUE 0 +#define PROGRESS_CANCEL 1 +#define PROGRESS_STOP 2 +#define PROGRESS_QUIET 3 + +#define CALLBACK_CHUNK_FINISHED 0x0 +#define CALLBACK_STREAM_SWITCH 0x1 + +#define COPY_FILE_FAIL_IF_EXISTS 0x1 +#define COPY_FILE_RESTARTABLE 0x2 +#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x4 +#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x8 +#if _WIN32_WINNT >= 0x0600 +#define COPY_FILE_COPY_SYMLINK 0x800 +#define COPY_FILE_NO_BUFFERING 0x1000 +#endif +#if _WIN32_WINNT >= 0x0602 +#define COPY_FILE_REQUEST_SECURITY_PRIVILEGES 0x2000 +#define COPY_FILE_RESUME_FROM_PAUSE 0x4000 +#define COPY_FILE_NO_OFFLOAD 0x40000 +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10 +#define COPY_FILE_IGNORE_EDP_BLOCK 0x00400000 +#define COPY_FILE_IGNORE_SOURCE_ENCRYPTION 0x00800000 +#define COPY_FILE_DONT_REQUEST_DEST_WRITE_DAC 0x02000000 +#define COPY_FILE_REQUEST_COMPRESSED_TRAFFIC 0x10000000 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_VB +#define COPY_FILE_OPEN_AND_COPY_REPARSE_POINT 0x00200000 +#define COPY_FILE_DIRECTORY 0x00000080 +#define COPY_FILE_SKIP_ALTERNATE_STREAMS 0x00008000 +#define COPY_FILE_DISABLE_PRE_ALLOCATION 0x04000000 +#define COPY_FILE_ENABLE_LOW_FREE_SPACE_MODE 0x08000000 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_NI +#define COPY_FILE_ENABLE_SPARSE_COPY 0x20000000 +#endif +#if NTDDI_VERSION >= NTDDI_WIN11_ZN +#define COPY_FILE_DISABLE_SPARSE_COPY 0x80000000 +#endif + +#define REPLACEFILE_WRITE_THROUGH 0x1 +#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x2 +#if _WIN32_WINNT >= 0x0600 +#define REPLACEFILE_IGNORE_ACL_ERRORS 0x4 +#endif + +#define PIPE_ACCESS_INBOUND 0x1 +#define PIPE_ACCESS_OUTBOUND 0x2 +#define PIPE_ACCESS_DUPLEX 0x3 + +#define PIPE_CLIENT_END 0x0 +#define PIPE_SERVER_END 0x1 + +#define PIPE_WAIT 0x0 +#define PIPE_NOWAIT 0x1 +#define PIPE_READMODE_BYTE 0x0 +#define PIPE_READMODE_MESSAGE 0x2 +#define PIPE_TYPE_BYTE 0x0 +#define PIPE_TYPE_MESSAGE 0x4 +#define PIPE_ACCEPT_REMOTE_CLIENTS 0x0 +#define PIPE_REJECT_REMOTE_CLIENTS 0x8 + +#define PIPE_UNLIMITED_INSTANCES 255 + +#define SECURITY_ANONYMOUS (SecurityAnonymous << 16) +#define SECURITY_IDENTIFICATION (SecurityIdentification << 16) +#define SECURITY_IMPERSONATION (SecurityImpersonation << 16) +#define SECURITY_DELEGATION (SecurityDelegation << 16) + +#define SECURITY_CONTEXT_TRACKING 0x40000 +#define SECURITY_EFFECTIVE_ONLY 0x80000 + +#define SECURITY_SQOS_PRESENT 0x100000 +#define SECURITY_VALID_SQOS_FLAGS 0x1f0000 + +#define FAIL_FAST_GENERATE_EXCEPTION_ADDRESS 0x1 +#define FAIL_FAST_NO_HARD_ERROR_DLG 0x2 + + typedef VOID (WINAPI *PFIBER_START_ROUTINE) (LPVOID lpFiberParameter); + typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; + typedef LPVOID (WINAPI *PFIBER_CALLOUT_ROUTINE) (LPVOID lpParameter); + +#if defined (__i386__) + typedef PLDT_ENTRY LPLDT_ENTRY; +#else + typedef LPVOID LPLDT_ENTRY; +#endif + +#define SP_SERIALCOMM ((DWORD)0x1) +#define PST_UNSPECIFIED ((DWORD)0x0) +#define PST_RS232 ((DWORD)0x1) +#define PST_PARALLELPORT ((DWORD)0x2) +#define PST_RS422 ((DWORD)0x3) +#define PST_RS423 ((DWORD)0x4) +#define PST_RS449 ((DWORD)0x5) +#define PST_MODEM ((DWORD)0x6) +#define PST_FAX ((DWORD)0x21) +#define PST_SCANNER ((DWORD)0x22) +#define PST_NETWORK_BRIDGE ((DWORD)0x100) +#define PST_LAT ((DWORD)0x101) +#define PST_TCPIP_TELNET ((DWORD)0x102) +#define PST_X25 ((DWORD)0x103) + +#define PCF_DTRDSR ((DWORD)0x1) +#define PCF_RTSCTS ((DWORD)0x2) +#define PCF_RLSD ((DWORD)0x4) +#define PCF_PARITY_CHECK ((DWORD)0x8) +#define PCF_XONXOFF ((DWORD)0x10) +#define PCF_SETXCHAR ((DWORD)0x20) +#define PCF_TOTALTIMEOUTS ((DWORD)0x40) +#define PCF_INTTIMEOUTS ((DWORD)0x80) +#define PCF_SPECIALCHARS ((DWORD)0x100) +#define PCF_16BITMODE ((DWORD)0x200) + +#define SP_PARITY ((DWORD)0x1) +#define SP_BAUD ((DWORD)0x2) +#define SP_DATABITS ((DWORD)0x4) +#define SP_STOPBITS ((DWORD)0x8) +#define SP_HANDSHAKING ((DWORD)0x10) +#define SP_PARITY_CHECK ((DWORD)0x20) +#define SP_RLSD ((DWORD)0x40) + +#define BAUD_075 ((DWORD)0x1) +#define BAUD_110 ((DWORD)0x2) +#define BAUD_134_5 ((DWORD)0x4) +#define BAUD_150 ((DWORD)0x8) +#define BAUD_300 ((DWORD)0x10) +#define BAUD_600 ((DWORD)0x20) +#define BAUD_1200 ((DWORD)0x40) +#define BAUD_1800 ((DWORD)0x80) +#define BAUD_2400 ((DWORD)0x100) +#define BAUD_4800 ((DWORD)0x200) +#define BAUD_7200 ((DWORD)0x400) +#define BAUD_9600 ((DWORD)0x800) +#define BAUD_14400 ((DWORD)0x1000) +#define BAUD_19200 ((DWORD)0x2000) +#define BAUD_38400 ((DWORD)0x4000) +#define BAUD_56K ((DWORD)0x8000) +#define BAUD_128K ((DWORD)0x10000) +#define BAUD_115200 ((DWORD)0x20000) +#define BAUD_57600 ((DWORD)0x40000) +#define BAUD_USER ((DWORD)0x10000000) + +#define DATABITS_5 ((WORD)0x1) +#define DATABITS_6 ((WORD)0x2) +#define DATABITS_7 ((WORD)0x4) +#define DATABITS_8 ((WORD)0x8) +#define DATABITS_16 ((WORD)0x10) +#define DATABITS_16X ((WORD)0x20) + +#define STOPBITS_10 ((WORD)0x1) +#define STOPBITS_15 ((WORD)0x2) +#define STOPBITS_20 ((WORD)0x4) +#define PARITY_NONE ((WORD)0x100) +#define PARITY_ODD ((WORD)0x200) +#define PARITY_EVEN ((WORD)0x400) +#define PARITY_MARK ((WORD)0x800) +#define PARITY_SPACE ((WORD)0x1000) + + typedef struct _COMMPROP { + WORD wPacketLength; + WORD wPacketVersion; + DWORD dwServiceMask; + DWORD dwReserved1; + DWORD dwMaxTxQueue; + DWORD dwMaxRxQueue; + DWORD dwMaxBaud; + DWORD dwProvSubType; + DWORD dwProvCapabilities; + DWORD dwSettableParams; + DWORD dwSettableBaud; + WORD wSettableData; + WORD wSettableStopParity; + DWORD dwCurrentTxQueue; + DWORD dwCurrentRxQueue; + DWORD dwProvSpec1; + DWORD dwProvSpec2; + WCHAR wcProvChar[1]; + } COMMPROP,*LPCOMMPROP; + +#define COMMPROP_INITIALIZED ((DWORD)0xe73cf52e) + + typedef struct _COMSTAT { + DWORD fCtsHold : 1; + DWORD fDsrHold : 1; + DWORD fRlsdHold : 1; + DWORD fXoffHold : 1; + DWORD fXoffSent : 1; + DWORD fEof : 1; + DWORD fTxim : 1; + DWORD fReserved : 25; + DWORD cbInQue; + DWORD cbOutQue; + } COMSTAT,*LPCOMSTAT; + +#define DTR_CONTROL_DISABLE 0x0 +#define DTR_CONTROL_ENABLE 0x1 +#define DTR_CONTROL_HANDSHAKE 0x2 + +#define RTS_CONTROL_DISABLE 0x0 +#define RTS_CONTROL_ENABLE 0x1 +#define RTS_CONTROL_HANDSHAKE 0x2 +#define RTS_CONTROL_TOGGLE 0x3 + + typedef struct _DCB { + DWORD DCBlength; + DWORD BaudRate; + DWORD fBinary: 1; + DWORD fParity: 1; + DWORD fOutxCtsFlow:1; + DWORD fOutxDsrFlow:1; + DWORD fDtrControl:2; + DWORD fDsrSensitivity:1; + DWORD fTXContinueOnXoff: 1; + DWORD fOutX: 1; + DWORD fInX: 1; + DWORD fErrorChar: 1; + DWORD fNull: 1; + DWORD fRtsControl:2; + DWORD fAbortOnError:1; + DWORD fDummy2:17; + WORD wReserved; + WORD XonLim; + WORD XoffLim; + BYTE ByteSize; + BYTE Parity; + BYTE StopBits; + char XonChar; + char XoffChar; + char ErrorChar; + char EofChar; + char EvtChar; + WORD wReserved1; + } DCB,*LPDCB; + + typedef struct _COMMTIMEOUTS { + DWORD ReadIntervalTimeout; + DWORD ReadTotalTimeoutMultiplier; + DWORD ReadTotalTimeoutConstant; + DWORD WriteTotalTimeoutMultiplier; + DWORD WriteTotalTimeoutConstant; + } COMMTIMEOUTS,*LPCOMMTIMEOUTS; + + typedef struct _COMMCONFIG { + DWORD dwSize; + WORD wVersion; + WORD wReserved; + DCB dcb; + DWORD dwProviderSubType; + DWORD dwProviderOffset; + DWORD dwProviderSize; + WCHAR wcProviderData[1]; + } COMMCONFIG,*LPCOMMCONFIG; + +#define FreeModule(hLibModule) FreeLibrary((hLibModule)) +#define MakeProcInstance(lpProc,hInstance) (lpProc) +#define FreeProcInstance(lpProc) (lpProc) + +#define GMEM_FIXED 0x0 +#define GMEM_MOVEABLE 0x2 +#define GMEM_NOCOMPACT 0x10 +#define GMEM_NODISCARD 0x20 +#define GMEM_ZEROINIT 0x40 +#define GMEM_MODIFY 0x80 +#define GMEM_DISCARDABLE 0x100 +#define GMEM_NOT_BANKED 0x1000 +#define GMEM_SHARE 0x2000 +#define GMEM_DDESHARE 0x2000 +#define GMEM_NOTIFY 0x4000 +#define GMEM_LOWER GMEM_NOT_BANKED +#define GMEM_VALID_FLAGS 0x7f72 +#define GMEM_INVALID_HANDLE 0x8000 + +#define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT) +#define GPTR (GMEM_FIXED | GMEM_ZEROINIT) + +#define GlobalLRUNewest(h) ((HANDLE)(h)) +#define GlobalLRUOldest(h) ((HANDLE)(h)) +#define GlobalDiscard(h) GlobalReAlloc ((h), 0, GMEM_MOVEABLE) + +#define GMEM_DISCARDED 0x4000 +#define GMEM_LOCKCOUNT 0x00ff + + typedef struct _MEMORYSTATUS { + DWORD dwLength; + DWORD dwMemoryLoad; + SIZE_T dwTotalPhys; + SIZE_T dwAvailPhys; + SIZE_T dwTotalPageFile; + SIZE_T dwAvailPageFile; + SIZE_T dwTotalVirtual; + SIZE_T dwAvailVirtual; + } MEMORYSTATUS,*LPMEMORYSTATUS; + +#define NUMA_NO_PREFERRED_NODE ((DWORD) -1) + +#define DEBUG_PROCESS 0x1 +#define DEBUG_ONLY_THIS_PROCESS 0x2 +#define CREATE_SUSPENDED 0x4 +#define DETACHED_PROCESS 0x8 +#define CREATE_NEW_CONSOLE 0x10 +#define NORMAL_PRIORITY_CLASS 0x20 +#define IDLE_PRIORITY_CLASS 0x40 +#define HIGH_PRIORITY_CLASS 0x80 +#define REALTIME_PRIORITY_CLASS 0x100 +#define CREATE_NEW_PROCESS_GROUP 0x200 +#define CREATE_UNICODE_ENVIRONMENT 0x400 +#define CREATE_SEPARATE_WOW_VDM 0x800 +#define CREATE_SHARED_WOW_VDM 0x1000 +#define CREATE_FORCEDOS 0x2000 +#define BELOW_NORMAL_PRIORITY_CLASS 0x4000 +#define ABOVE_NORMAL_PRIORITY_CLASS 0x8000 +#define INHERIT_PARENT_AFFINITY 0x10000 +#define INHERIT_CALLER_PRIORITY 0x20000 +#define CREATE_PROTECTED_PROCESS 0x40000 +#define EXTENDED_STARTUPINFO_PRESENT 0x80000 +#define PROCESS_MODE_BACKGROUND_BEGIN 0x100000 +#define PROCESS_MODE_BACKGROUND_END 0x200000 +#define CREATE_SECURE_PROCESS 0x400000 +#define CREATE_BREAKAWAY_FROM_JOB 0x1000000 +#define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x2000000 +#define CREATE_DEFAULT_ERROR_MODE 0x4000000 +#define CREATE_NO_WINDOW 0x8000000 +#define PROFILE_USER 0x10000000 +#define PROFILE_KERNEL 0x20000000 +#define PROFILE_SERVER 0x40000000 +#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000 + +#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x10000 + +#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN +#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1) +#define THREAD_PRIORITY_NORMAL 0 +#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX +#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1) +#define THREAD_PRIORITY_ERROR_RETURN (MAXLONG) + +#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT +#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE + +#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000 +#define THREAD_MODE_BACKGROUND_END 0x00020000 + +#define VOLUME_NAME_DOS 0x0 +#define VOLUME_NAME_GUID 0x1 +#define VOLUME_NAME_NT 0x2 +#define VOLUME_NAME_NONE 0x4 + +#define FILE_NAME_NORMALIZED 0x0 +#define FILE_NAME_OPENED 0x8 + + typedef struct _JIT_DEBUG_INFO { + DWORD dwSize; + DWORD dwProcessorArchitecture; + DWORD dwThreadID; + DWORD dwReserved0; + ULONG64 lpExceptionAddress; + ULONG64 lpExceptionRecord; + ULONG64 lpContextRecord; + } JIT_DEBUG_INFO,*LPJIT_DEBUG_INFO; + + typedef JIT_DEBUG_INFO JIT_DEBUG_INFO32, *LPJIT_DEBUG_INFO32; + typedef JIT_DEBUG_INFO JIT_DEBUG_INFO64, *LPJIT_DEBUG_INFO64; + +#ifndef __WIDL__ + typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD; + typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; +#endif + +#define DRIVE_UNKNOWN 0 +#define DRIVE_NO_ROOT_DIR 1 +#define DRIVE_REMOVABLE 2 +#define DRIVE_FIXED 3 +#define DRIVE_REMOTE 4 +#define DRIVE_CDROM 5 +#define DRIVE_RAMDISK 6 + +#define GetFreeSpace(w) (__MSABI_LONG(0x100000)) + +#define FILE_TYPE_UNKNOWN 0x0 +#define FILE_TYPE_DISK 0x1 +#define FILE_TYPE_CHAR 0x2 +#define FILE_TYPE_PIPE 0x3 +#define FILE_TYPE_REMOTE 0x8000 + +#define STD_INPUT_HANDLE ((DWORD)-10) +#define STD_OUTPUT_HANDLE ((DWORD)-11) +#define STD_ERROR_HANDLE ((DWORD)-12) + +#define NOPARITY 0 +#define ODDPARITY 1 +#define EVENPARITY 2 +#define MARKPARITY 3 +#define SPACEPARITY 4 + +#define ONESTOPBIT 0 +#define ONE5STOPBITS 1 +#define TWOSTOPBITS 2 + +#define IGNORE 0 +#define INFINITE 0xffffffff + +#define CBR_110 110 +#define CBR_300 300 +#define CBR_600 600 +#define CBR_1200 1200 +#define CBR_2400 2400 +#define CBR_4800 4800 +#define CBR_9600 9600 +#define CBR_14400 14400 +#define CBR_19200 19200 +#define CBR_38400 38400 +#define CBR_56000 56000 +#define CBR_57600 57600 +#define CBR_115200 115200 +#define CBR_128000 128000 +#define CBR_256000 256000 + +#define CE_RXOVER 0x1 +#define CE_OVERRUN 0x2 +#define CE_RXPARITY 0x4 +#define CE_FRAME 0x8 +#define CE_BREAK 0x10 +#define CE_TXFULL 0x100 +#define CE_PTO 0x200 +#define CE_IOE 0x400 +#define CE_DNS 0x800 +#define CE_OOP 0x1000 +#define CE_MODE 0x8000 + +#define IE_BADID (-1) +#define IE_OPEN (-2) +#define IE_NOPEN (-3) +#define IE_MEMORY (-4) +#define IE_DEFAULT (-5) +#define IE_HARDWARE (-10) +#define IE_BYTESIZE (-11) +#define IE_BAUDRATE (-12) + +#define EV_RXCHAR 0x1 +#define EV_RXFLAG 0x2 +#define EV_TXEMPTY 0x4 +#define EV_CTS 0x8 +#define EV_DSR 0x10 +#define EV_RLSD 0x20 +#define EV_BREAK 0x40 +#define EV_ERR 0x80 +#define EV_RING 0x100 +#define EV_PERR 0x200 +#define EV_RX80FULL 0x400 +#define EV_EVENT1 0x800 +#define EV_EVENT2 0x1000 + +#define SETXOFF 1 +#define SETXON 2 +#define SETRTS 3 +#define CLRRTS 4 +#define SETDTR 5 +#define CLRDTR 6 +#define RESETDEV 7 +#define SETBREAK 8 +#define CLRBREAK 9 + +#define PURGE_TXABORT 0x1 +#define PURGE_RXABORT 0x2 +#define PURGE_TXCLEAR 0x4 +#define PURGE_RXCLEAR 0x8 + +#define LPTx 0x80 + +#define MS_CTS_ON ((DWORD)0x10) +#define MS_DSR_ON ((DWORD)0x20) +#define MS_RING_ON ((DWORD)0x40) +#define MS_RLSD_ON ((DWORD)0x80) + +#define S_QUEUEEMPTY 0 +#define S_THRESHOLD 1 +#define S_ALLTHRESHOLD 2 + +#define S_NORMAL 0 +#define S_LEGATO 1 +#define S_STACCATO 2 + +#define S_PERIOD512 0 +#define S_PERIOD1024 1 +#define S_PERIOD2048 2 +#define S_PERIODVOICE 3 +#define S_WHITE512 4 +#define S_WHITE1024 5 +#define S_WHITE2048 6 +#define S_WHITEVOICE 7 + +#define S_SERDVNA (-1) +#define S_SEROFM (-2) +#define S_SERMACT (-3) +#define S_SERQFUL (-4) +#define S_SERBDNT (-5) +#define S_SERDLN (-6) +#define S_SERDCC (-7) +#define S_SERDTP (-8) +#define S_SERDVL (-9) +#define S_SERDMD (-10) +#define S_SERDSH (-11) +#define S_SERDPT (-12) +#define S_SERDFQ (-13) +#define S_SERDDR (-14) +#define S_SERDSR (-15) +#define S_SERDST (-16) + +#define NMPWAIT_WAIT_FOREVER 0xffffffff +#define NMPWAIT_NOWAIT 0x1 +#define NMPWAIT_USE_DEFAULT_WAIT 0x0 + +#define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES +#define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH +#define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK +#define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS +#define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED +#define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION +#define FS_FILE_ENCRYPTION FILE_SUPPORTS_ENCRYPTION + +#define OF_READ 0x0 +#define OF_WRITE 0x1 +#define OF_READWRITE 0x2 +#define OF_SHARE_COMPAT 0x0 +#define OF_SHARE_EXCLUSIVE 0x10 +#define OF_SHARE_DENY_WRITE 0x20 +#define OF_SHARE_DENY_READ 0x30 +#define OF_SHARE_DENY_NONE 0x40 +#define OF_PARSE 0x100 +#define OF_DELETE 0x200 +#define OF_VERIFY 0x400 +#define OF_CANCEL 0x800 +#define OF_CREATE 0x1000 +#define OF_PROMPT 0x2000 +#define OF_EXIST 0x4000 +#define OF_REOPEN 0x8000 + +#define OFS_MAXPATHNAME 128 + + typedef struct _OFSTRUCT { + BYTE cBytes; + BYTE fFixedDisk; + WORD nErrCode; + WORD Reserved1; + WORD Reserved2; + CHAR szPathName[OFS_MAXPATHNAME]; + } OFSTRUCT, *LPOFSTRUCT,*POFSTRUCT; + +#ifndef NOWINBASEINTERLOCK +#ifndef _NTOS_ +#if defined (__ia64__) && !defined (RC_INVOKED) + +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire _InterlockedIncrement_acq +#define InterlockedIncrementRelease _InterlockedIncrement_rel +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire _InterlockedDecrement_acq +#define InterlockedDecrementRelease _InterlockedDecrement_rel +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire _InterlockedCompareExchange_acq +#define InterlockedCompareExchangeRelease _InterlockedCompareExchange_rel +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer_rel +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer_acq + +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAcquire64 _InterlockedExchange64_acq +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 _InterlockedCompareExchange64_acq +#define InterlockedCompareExchangeRelease64 _InterlockedCompareExchange64_rel +#define InterlockedCompare64Exchange128 _InterlockedCompare64Exchange128 +#define InterlockedCompare64ExchangeAcquire128 _InterlockedCompare64Exchange128_acq +#define InterlockedCompare64ExchangeRelease128 _InterlockedCompare64Exchange128_rel + +#define InterlockedOr _InterlockedOr +#define InterlockedOrAcquire _InterlockedOr_acq +#define InterlockedOrRelease _InterlockedOr_rel +#define InterlockedOr8 _InterlockedOr8 +#define InterlockedOr8Acquire _InterlockedOr8_acq +#define InterlockedOr8Release _InterlockedOr8_rel +#define InterlockedOr16 _InterlockedOr16 +#define InterlockedOr16Acquire _InterlockedOr16_acq +#define InterlockedOr16Release _InterlockedOr16_rel +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedOr64Acquire _InterlockedOr64_acq +#define InterlockedOr64Release _InterlockedOr64_rel +#define InterlockedXor _InterlockedXor +#define InterlockedXorAcquire _InterlockedXor_acq +#define InterlockedXorRelease _InterlockedXor_rel +#define InterlockedXor8 _InterlockedXor8 +#define InterlockedXor8Acquire _InterlockedXor8_acq +#define InterlockedXor8Release _InterlockedXor8_rel +#define InterlockedXor16 _InterlockedXor16 +#define InterlockedXor16Acquire _InterlockedXor16_acq +#define InterlockedXor16Release _InterlockedXor16_rel +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedXor64Acquire _InterlockedXor64_acq +#define InterlockedXor64Release _InterlockedXor64_rel +#define InterlockedAnd _InterlockedAnd +#define InterlockedAndAcquire _InterlockedAnd_acq +#define InterlockedAndRelease _InterlockedAnd_rel +#define InterlockedAnd8 _InterlockedAnd8 +#define InterlockedAnd8Acquire _InterlockedAnd8_acq +#define InterlockedAnd8Release _InterlockedAnd8_rel +#define InterlockedAnd16 _InterlockedAnd16 +#define InterlockedAnd16Acquire _InterlockedAnd16_acq +#define InterlockedAnd16Release _InterlockedAnd16_rel +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedAnd64Acquire _InterlockedAnd64_acq +#define InterlockedAnd64Release _InterlockedAnd64_rel + + LONG __cdecl InterlockedOr (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedOrAcquire (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedOrRelease (LONG volatile *Destination, LONG Value); + char __cdecl InterlockedOr8 (char volatile *Destination, char Value); + char __cdecl InterlockedOr8Acquire (char volatile *Destination, char Value); + char __cdecl InterlockedOr8Release (char volatile *Destination, char Value); + SHORT __cdecl InterlockedOr16 (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedOr16Acquire (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedOr16Release (SHORT volatile *Destination, SHORT Value); + LONGLONG __cdecl InterlockedOr64 (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedOr64Acquire (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedOr64Release (LONGLONG volatile *Destination, LONGLONG Value); + LONG __cdecl InterlockedXor (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedXorAcquire (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedXorRelease (LONG volatile *Destination, LONG Value); + char __cdecl InterlockedXor8 (char volatile *Destination, char Value); + char __cdecl InterlockedXor8Acquire (char volatile *Destination, char Value); + char __cdecl InterlockedXor8Release (char volatile *Destination, char Value); + SHORT __cdecl InterlockedXor16 (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedXor16Acquire (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedXor16Release (SHORT volatile *Destination, SHORT Value); + LONGLONG __cdecl InterlockedXor64 (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedXor64Acquire (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedXor64Release (LONGLONG volatile *Destination, LONGLONG Value); + LONG __cdecl InterlockedAnd (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedAndAcquire (LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedAndRelease (LONG volatile *Destination, LONG Value); + char __cdecl InterlockedAnd8 (char volatile *Destination, char Value); + char __cdecl InterlockedAnd8Acquire (char volatile *Destination, char Value); + char __cdecl InterlockedAnd8Release (char volatile *Destination, char Value); + SHORT __cdecl InterlockedAnd16 (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedAnd16Acquire (SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedAnd16Release (SHORT volatile *Destination, SHORT Value); + LONGLONG __cdecl InterlockedAnd64 (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedAnd64Acquire (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedAnd64Release (LONGLONG volatile *Destination, LONGLONG Value); + LONGLONG __cdecl InterlockedIncrement64 (LONGLONG volatile *Addend); + LONGLONG __cdecl InterlockedDecrement64 (LONGLONG volatile *Addend); + LONG __cdecl InterlockedIncrementAcquire (LONG volatile *Addend); + LONG __cdecl InterlockedDecrementAcquire (LONG volatile *Addend); + LONG __cdecl InterlockedIncrementRelease (LONG volatile *Addend); + LONG __cdecl InterlockedDecrementRelease (LONG volatile *Addend); + LONGLONG __cdecl InterlockedExchange64 (LONGLONG volatile *Target, LONGLONG Value); + LONGLONG __cdecl InterlockedExchangeAcquire64 (LONGLONG volatile *Target, LONGLONG Value); + LONGLONG __cdecl InterlockedExchangeAdd64 (LONGLONG volatile *Addend, LONGLONG Value); + LONGLONG __cdecl InterlockedCompareExchange64 (LONGLONG volatile *Destination, LONGLONG ExChange, LONGLONG Comperand); + LONGLONG __cdecl InterlockedCompareExchangeAcquire64 (LONGLONG volatile *Destination, LONGLONG ExChange, LONGLONG Comperand); + LONGLONG __cdecl InterlockedCompareExchangeRelease64 (LONGLONG volatile *Destination, LONGLONG ExChange, LONGLONG Comperand); + LONG64 __cdecl InterlockedCompare64Exchange128 (LONG64 volatile *Destination, LONG64 ExchangeHigh, LONG64 ExchangeLow, LONG64 Comperand); + LONG64 __cdecl InterlockedCompare64ExchangeAcquire128 (LONG64 volatile *Destination, LONG64 ExchangeHigh, LONG64 ExchangeLow, LONG64 Comperand); + LONG64 __cdecl InterlockedCompare64ExchangeRelease128 (LONG64 volatile *Destination, LONG64 ExchangeHigh, LONG64 ExchangeLow, LONG64 Comperand); + LONG __cdecl InterlockedIncrement (LONG volatile *lpAddend); + LONG __cdecl InterlockedDecrement (LONG volatile *lpAddend); + LONG __cdecl InterlockedExchange (LONG volatile *Target, LONG Value); + LONG __cdecl InterlockedExchangeAdd (LONG volatile *Addend, LONG Value); + LONG __cdecl InterlockedCompareExchange (LONG volatile *Destination, LONG ExChange, LONG Comperand); + LONG __cdecl InterlockedCompareExchangeRelease (LONG volatile *Destination, LONG ExChange, LONG Comperand); + LONG __cdecl InterlockedCompareExchangeAcquire (LONG volatile *Destination, LONG ExChange, LONG Comperand); + PVOID __cdecl InterlockedExchangePointer (PVOID volatile *Target, PVOID Value); + PVOID __cdecl InterlockedCompareExchangePointer (PVOID volatile *Destination, PVOID ExChange, PVOID Comperand); + PVOID __cdecl InterlockedCompareExchangePointerAcquire (PVOID volatile *Destination, PVOID Exchange, PVOID Comperand); + PVOID __cdecl InterlockedCompareExchangePointerRelease (PVOID volatile *Destination, PVOID Exchange, PVOID Comperand); + +#if !defined(__WIDL__) && !defined(__CRT__NO_INLINE) +#ifndef InterlockedAnd +#define InterlockedAnd InterlockedAnd_Inline + + FORCEINLINE LONG InterlockedAnd_Inline(LONG volatile *Target, LONG Set) { + LONG i, j = *Target; + + do { + i = j; + j = InterlockedCompareExchange (Target, i &Set, i); + } while (i != j); + return j; + } +#endif + +#ifndef InterlockedOr +#define InterlockedOr InterlockedOr_Inline + + FORCEINLINE LONG InterlockedOr_Inline(LONG volatile *Target, LONG Set) { + LONG i, j = *Target; + + do { + i = j; + j = InterlockedCompareExchange (Target, i | Set, i); + } while (i != j); + return j; + } +#endif + +#ifndef InterlockedXor +#define InterlockedXor InterlockedXor_Inline + + FORCEINLINE LONG InterlockedXor_Inline(LONG volatile *Target, LONG Set) { + LONG i, j = *Target; + + do { + i = j; + j = InterlockedCompareExchange (Target, i ^ Set, i); + } while (i != j); + return j; + } +#endif + +#ifndef InterlockedAnd64 +#define InterlockedAnd64 InterlockedAnd64_Inline + + FORCEINLINE LONGLONG InterlockedAnd64_Inline(LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old &Value, Old) != Old); + return Old; + } +#endif + +#ifndef InterlockedOr64 +#define InterlockedOr64 InterlockedOr64_Inline + + FORCEINLINE LONGLONG InterlockedOr64_Inline(LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old | Value, Old) != Old); + return Old; + } +#endif + +#ifndef InterlockedXor64 +#define InterlockedXor64 InterlockedXor64_Inline + + FORCEINLINE LONGLONG InterlockedXor64_Inline(LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old ^ Value, Old) != Old); + return Old; + } +#endif + +#ifndef InterlockedBitTestAndSet +#define InterlockedBitTestAndSet InterlockedBitTestAndSet_Inline + + FORCEINLINE BOOLEAN InterlockedBitTestAndSet_Inline(LONG volatile *Base, LONG Bit) { + LONG tBit = 1 << (Bit & (sizeof (*Base) * 8 - 1)); + + return (BOOLEAN) ((InterlockedOr (&Base[Bit / (sizeof (*Base) * 8)], tBit) & tBit) != 0); + } +#endif + +#ifndef InterlockedBitTestAndReset +#define InterlockedBitTestAndReset InterlockedBitTestAndReset_Inline + + FORCEINLINE BOOLEAN InterlockedBitTestAndReset_Inline(LONG volatile *Base, LONG Bit) { + LONG tBit = 1 << (Bit & (sizeof (*Base) * 8 - 1)); + + return (BOOLEAN) ((InterlockedAnd (&Base[Bit / (sizeof (*Base) * 8)], ~tBit) & tBit) != 0); + } +#endif + +#ifndef InterlockedBitTestAndComplement +#define InterlockedBitTestAndComplement InterlockedBitTestAndComplement_Inline + + FORCEINLINE BOOLEAN InterlockedBitTestAndComplement_Inline(LONG volatile *Base, LONG Bit) { + LONG tBit = 1 << (Bit & (sizeof (*Base) * 8 - 1)); + + return (BOOLEAN) ((InterlockedXor (&Base[Bit / (sizeof (*Base) * 8)], tBit) & tBit) != 0); + } +#endif +#endif + +#elif defined (__x86_64__) && !defined (RC_INVOKED) +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#define InterlockedAnd8 _InterlockedAnd8 +#define InterlockedOr8 _InterlockedOr8 +#define InterlockedXor8 _InterlockedXor8 +#define InterlockedAnd16 _InterlockedAnd16 +#define InterlockedOr16 _InterlockedOr16 +#define InterlockedXor16 _InterlockedXor16 + + LONG __cdecl InterlockedAnd(LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedOr(LONG volatile *Destination, LONG Value); + LONG __cdecl InterlockedXor(LONG volatile *Destination, LONG Value); + /* moved to psdk_inc/intrin-impl.h + LONG __cdecl InterlockedIncrement(LONG volatile *Addend); + LONG __cdecl InterlockedDecrement(LONG volatile *Addend); + LONG __cdecl InterlockedExchange(LONG volatile *Target, LONG Value); + LONG __cdecl InterlockedExchangeAdd(LONG volatile *Addend, LONG Value); + LONG __cdecl InterlockedCompareExchange(LONG volatile *Destination, LONG ExChange, LONG Comperand); + PVOID __cdecl InterlockedCompareExchangePointer(PVOID volatile *Destination, PVOID Exchange, PVOID Comperand); + PVOID __cdecl InterlockedExchangePointer(PVOID volatile *Target, PVOID Value); + LONG64 __cdecl InterlockedAnd64(LONG64 volatile *Destination, LONG64 Value); + LONG64 __cdecl InterlockedOr64(LONG64 volatile *Destination, LONG64 Value); + LONG64 __cdecl InterlockedXor64(LONG64 volatile *Destination, LONG64 Value); + LONG64 __cdecl InterlockedIncrement64(LONG64 volatile *Addend); + LONG64 __cdecl InterlockedDecrement64(LONG64 volatile *Addend); + LONG64 __cdecl InterlockedExchange64(LONG64 volatile *Target, LONG64 Value); + LONG64 __cdecl InterlockedExchangeAdd64(LONG64 volatile *Addend, LONG64 Value); + LONG64 __cdecl InterlockedCompareExchange64(LONG64 volatile *Destination, LONG64 ExChange, LONG64 Comperand); */ + + char __cdecl InterlockedAnd8(char volatile *Destination, char Value); + char __cdecl InterlockedOr8(char volatile *Destination, char Value); + char __cdecl InterlockedXor8(char volatile *Destination, char Value); + SHORT __cdecl InterlockedAnd16(SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedOr16(SHORT volatile *Destination, SHORT Value); + SHORT __cdecl InterlockedXor16(SHORT volatile *Destination, SHORT Value); + +#elif defined (__aarch64__) && !defined (RC_INVOKED) +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 + + LONG InterlockedIncrement (LONG volatile *Addend); + LONG InterlockedDecrement (LONG volatile *Addend); + LONG InterlockedExchange (LONG volatile *Target, LONG Value); + LONG InterlockedExchangeAdd (LONG volatile *Addend, LONG Value); + LONG InterlockedCompareExchange (LONG volatile *Destination, LONG ExChange, LONG Comperand); + PVOID InterlockedCompareExchangePointer (PVOID volatile *Destination, PVOID Exchange, PVOID Comperand); + PVOID InterlockedExchangePointer (PVOID volatile *Target, PVOID Value); + LONG64 InterlockedAnd64 (LONG64 volatile *Destination, LONG64 Value); + LONG64 InterlockedOr64 (LONG64 volatile *Destination, LONG64 Value); + LONG64 InterlockedXor64 (LONG64 volatile *Destination, LONG64 Value); + LONG64 InterlockedIncrement64 (LONG64 volatile *Addend); + LONG64 InterlockedDecrement64 (LONG64 volatile *Addend); + LONG64 InterlockedExchange64 (LONG64 volatile *Target, LONG64 Value); + LONG64 InterlockedExchangeAdd64 (LONG64 volatile *Addend, LONG64 Value); + LONG64 InterlockedCompareExchange64 (LONG64 volatile *Destination, LONG64 ExChange, LONG64 Comperand); +#else +#if !defined (__WIDL__) && defined (__MINGW_INTRIN_INLINE) + +/* Clang has support for some MSVC builtins if building with -fms-extensions, + * GCC doesn't. */ +#pragma push_macro("__has_builtin") +#ifndef __has_builtin + #define __has_builtin(x) 0 +#endif + +#if !__has_builtin(_InterlockedAnd64) + FORCEINLINE LONGLONG InterlockedAnd64 (LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old &Value, Old) != Old); + return Old; + } +#endif + +#if !__has_builtin(_InterlockedOr64) + FORCEINLINE LONGLONG InterlockedOr64 (LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old | Value, Old) != Old); + return Old; + } +#endif + +#if !__has_builtin(_InterlockedXor64) + FORCEINLINE LONGLONG InterlockedXor64 (LONGLONG volatile *Destination, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Destination; + } while (InterlockedCompareExchange64 (Destination, Old ^ Value, Old) != Old); + return Old; + } +#endif + +#if !__has_builtin(_InterlockedIncrement64) + FORCEINLINE LONGLONG InterlockedIncrement64 (LONGLONG volatile *Addend) { + LONGLONG Old; + + do { + Old = *Addend; + } while (InterlockedCompareExchange64 (Addend, Old + 1, Old) != Old); + return Old + 1; + } +#endif + +#if !__has_builtin(_InterlockedDecrement64) + FORCEINLINE LONGLONG InterlockedDecrement64 (LONGLONG volatile *Addend) { + LONGLONG Old; + + do { + Old = *Addend; + } while (InterlockedCompareExchange64 (Addend, Old - 1, Old) != Old); + return Old - 1; + } +#endif + +#if !__has_builtin(_InterlockedExchange64) + FORCEINLINE LONGLONG InterlockedExchange64 (LONGLONG volatile *Target, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Target; + } while (InterlockedCompareExchange64 (Target, Value, Old) != Old); + return Old; + } +#endif + +#if !__has_builtin(_InterlockedExchangeAdd64) + FORCEINLINE LONGLONG InterlockedExchangeAdd64 (LONGLONG volatile *Addend, LONGLONG Value) { + LONGLONG Old; + + do { + Old = *Addend; + } while (InterlockedCompareExchange64 (Addend, Old + Value, Old) != Old); + return Old; + } +#endif + +#pragma pop_macro("__has_builtin") + +#endif + +#ifdef __cplusplus + FORCEINLINE PVOID __cdecl __InlineInterlockedCompareExchangePointer (PVOID volatile *Destination, PVOID ExChange, PVOID Comperand) { + return ((PVOID) (LONG_PTR)InterlockedCompareExchange ((LONG volatile *)Destination,(LONG) (LONG_PTR)ExChange,(LONG) (LONG_PTR)Comperand)); + } + +#define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer +#else +#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) (PVOID) (LONG_PTR)InterlockedCompareExchange ((LONG volatile *) (Destination),(LONG) (LONG_PTR) (ExChange),(LONG) (LONG_PTR) (Comperand)) +#endif + +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 +#define InterlockedCompareExchangePointerAcquire InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease InterlockedCompareExchangePointer +#endif +#endif +#endif + +#define UnlockResource(hResData) ( { (VOID)(hResData); 0; } ) +#define MAXINTATOM 0xc000 +#define MAKEINTATOM(i) (LPTSTR) ((ULONG_PTR)((WORD)(i))) +#define INVALID_ATOM ((ATOM)0) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI HLOCAL WINAPI LocalAlloc (UINT uFlags, SIZE_T uBytes); + WINBASEAPI HLOCAL WINAPI LocalFree (HLOCAL hMem); + int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd); + int WINAPI wWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI UINT WINAPI GlobalFlags (HGLOBAL hMem); + WINBASEAPI HGLOBAL WINAPI GlobalHandle (LPCVOID pMem); + WINBASEAPI SIZE_T WINAPI GlobalCompact (DWORD dwMinFree); + WINBASEAPI VOID WINAPI GlobalFix (HGLOBAL hMem); + WINBASEAPI VOID WINAPI GlobalUnfix (HGLOBAL hMem); + WINBASEAPI LPVOID WINAPI GlobalWire (HGLOBAL hMem); + WINBASEAPI WINBOOL WINAPI GlobalUnWire (HGLOBAL hMem); + WINBASEAPI VOID WINAPI GlobalMemoryStatus (LPMEMORYSTATUS lpBuffer); + WINBASEAPI LPVOID WINAPI LocalLock (HLOCAL hMem); + WINBASEAPI HLOCAL WINAPI LocalHandle (LPCVOID pMem); + WINBASEAPI WINBOOL WINAPI LocalUnlock (HLOCAL hMem); + WINBASEAPI SIZE_T WINAPI LocalSize (HLOCAL hMem); + WINBASEAPI UINT WINAPI LocalFlags (HLOCAL hMem); + WINBASEAPI SIZE_T WINAPI LocalShrink (HLOCAL hMem, UINT cbNewSize); + WINBASEAPI SIZE_T WINAPI LocalCompact (UINT uMinFree); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI LPVOID WINAPI VirtualAllocExNuma (HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect, DWORD nndPreferred); +#endif +#if _WIN32_WINNT >= 0x0601 + WINBASEAPI WINBOOL WINAPI GetProcessorSystemCycleTime (USHORT Group, PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer, PDWORD ReturnedLength); + WINBASEAPI WINBOOL WINAPI GetPhysicallyInstalledSystemMemory (PULONGLONG TotalMemoryInKilobytes); +#endif + +#define SCS_32BIT_BINARY 0 +#define SCS_DOS_BINARY 1 +#define SCS_WOW_BINARY 2 +#define SCS_PIF_BINARY 3 +#define SCS_POSIX_BINARY 4 +#define SCS_OS216_BINARY 5 +#define SCS_64BIT_BINARY 6 + +#ifdef _WIN64 +#define SCS_THIS_PLATFORM_BINARY SCS_64BIT_BINARY +#else +#define SCS_THIS_PLATFORM_BINARY SCS_32BIT_BINARY +#endif + + WINBASEAPI WINBOOL WINAPI GetBinaryTypeA (LPCSTR lpApplicationName, LPDWORD lpBinaryType); + WINBASEAPI WINBOOL WINAPI GetBinaryTypeW (LPCWSTR lpApplicationName, LPDWORD lpBinaryType); + WINBASEAPI DWORD WINAPI GetShortPathNameA (LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI DWORD WINAPI GetLongPathNameTransactedA (LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction); + WINBASEAPI DWORD WINAPI GetLongPathNameTransactedW (LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction); +#endif + WINBASEAPI WINBOOL WINAPI GetProcessIoCounters (HANDLE hProcess, PIO_COUNTERS lpIoCounters); + WINBASEAPI WINBOOL WINAPI GetProcessWorkingSetSize (HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize); + WINBASEAPI WINBOOL WINAPI SetProcessWorkingSetSize (HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize); + WINBASEAPI VOID WINAPI FatalExit (int ExitCode); + WINBASEAPI WINBOOL WINAPI SetEnvironmentStringsA (LPCH NewEnvironment); + +#ifndef UNICODE +#define SetEnvironmentStrings SetEnvironmentStringsA +#define GetShortPathName GetShortPathNameA +#endif + +#define GetBinaryType __MINGW_NAME_AW(GetBinaryType) +#if _WIN32_WINNT >= 0x0600 +#define GetLongPathNameTransacted __MINGW_NAME_AW(GetLongPathNameTransacted) +#endif + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI HGLOBAL WINAPI GlobalAlloc (UINT uFlags, SIZE_T dwBytes); + WINBASEAPI HGLOBAL WINAPI GlobalReAlloc (HGLOBAL hMem, SIZE_T dwBytes, UINT uFlags); + WINBASEAPI SIZE_T WINAPI GlobalSize (HGLOBAL hMem); + WINBASEAPI LPVOID WINAPI GlobalLock (HGLOBAL hMem); + WINBASEAPI WINBOOL WINAPI GlobalUnlock (HGLOBAL hMem); + WINBASEAPI HGLOBAL WINAPI GlobalFree (HGLOBAL hMem); + WINBASEAPI HLOCAL WINAPI LocalReAlloc (HLOCAL hMem, SIZE_T uBytes, UINT uFlags); + + WINBASEAPI WINBOOL WINAPI GetProcessAffinityMask (HANDLE hProcess, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask); + WINBASEAPI WINBOOL WINAPI SetProcessAffinityMask (HANDLE hProcess, DWORD_PTR dwProcessAffinityMask); + WINBASEAPI DWORD_PTR WINAPI SetThreadAffinityMask (HANDLE hThread, DWORD_PTR dwThreadAffinityMask); + + WINBASEAPI VOID WINAPI RaiseFailFastException (PEXCEPTION_RECORD pExceptionRecord, PCONTEXT pContextRecord, DWORD dwFlags); + WINBASEAPI DWORD WINAPI SetThreadIdealProcessor (HANDLE hThread, DWORD dwIdealProcessor); + WINBASEAPI LPVOID WINAPI CreateFiberEx (SIZE_T dwStackCommitSize, SIZE_T dwStackReserveSize, DWORD dwFlags, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter); + WINBASEAPI VOID WINAPI DeleteFiber (LPVOID lpFiber); + WINBASEAPI VOID WINAPI SwitchToFiber (LPVOID lpFiber); + WINBASEAPI WINBOOL WINAPI ConvertFiberToThread (VOID); + WINBASEAPI LPVOID WINAPI ConvertThreadToFiberEx (LPVOID lpParameter, DWORD dwFlags); +#endif + + typedef enum _THREAD_INFORMATION_CLASS { + ThreadMemoryPriority, + ThreadAbsoluteCpuPriority, + ThreadDynamicCodePolicy, + ThreadPowerThrottling, + ThreadInformationClassMax + } THREAD_INFORMATION_CLASS; + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define FIBER_FLAG_FLOAT_SWITCH 0x1 + + WINBASEAPI LPVOID WINAPI CreateFiber (SIZE_T dwStackSize, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter); + WINBASEAPI LPVOID WINAPI ConvertThreadToFiber (LPVOID lpParameter); + +#define UMS_VERSION RTL_UMS_VERSION + + typedef void *PUMS_CONTEXT; + typedef void *PUMS_COMPLETION_LIST; + typedef RTL_UMS_THREAD_INFO_CLASS UMS_THREAD_INFO_CLASS, *PUMS_THREAD_INFO_CLASS; + typedef RTL_UMS_SCHEDULER_REASON UMS_SCHEDULER_REASON; + typedef PRTL_UMS_SCHEDULER_ENTRY_POINT PUMS_SCHEDULER_ENTRY_POINT; + + typedef struct _UMS_SCHEDULER_STARTUP_INFO { + ULONG UmsVersion; + PUMS_COMPLETION_LIST CompletionList; + PUMS_SCHEDULER_ENTRY_POINT SchedulerProc; + PVOID SchedulerParam; + } UMS_SCHEDULER_STARTUP_INFO, *PUMS_SCHEDULER_STARTUP_INFO; + + typedef struct _UMS_SYSTEM_THREAD_INFORMATION { + ULONG UmsVersion; + __C89_NAMELESS union { + __C89_NAMELESS struct { + ULONG IsUmsSchedulerThread : 1; + ULONG IsUmsWorkerThread : 1; + }; + ULONG ThreadUmsFlags; + }; + } UMS_SYSTEM_THREAD_INFORMATION, *PUMS_SYSTEM_THREAD_INFORMATION; + + WINBASEAPI WINBOOL WINAPI CreateUmsCompletionList(PUMS_COMPLETION_LIST *UmsCompletionList); + WINBASEAPI WINBOOL WINAPI DequeueUmsCompletionListItems(PUMS_COMPLETION_LIST UmsCompletionList, DWORD WaitTimeOut, PUMS_CONTEXT *UmsThreadList); + WINBASEAPI WINBOOL WINAPI GetUmsCompletionListEvent(PUMS_COMPLETION_LIST UmsCompletionList, PHANDLE UmsCompletionEvent); + WINBASEAPI WINBOOL WINAPI ExecuteUmsThread(PUMS_CONTEXT UmsThread); + WINBASEAPI WINBOOL WINAPI UmsThreadYield(PVOID SchedulerParam); + WINBASEAPI WINBOOL WINAPI DeleteUmsCompletionList(PUMS_COMPLETION_LIST UmsCompletionList); + WINBASEAPI PUMS_CONTEXT WINAPI GetCurrentUmsThread(VOID); + WINBASEAPI PUMS_CONTEXT WINAPI GetNextUmsListItem(PUMS_CONTEXT UmsContext); + WINBASEAPI WINBOOL WINAPI QueryUmsThreadInformation(PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength, PULONG ReturnLength); + WINBASEAPI WINBOOL WINAPI SetUmsThreadInformation(PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength); + WINBASEAPI WINBOOL WINAPI DeleteUmsThreadContext(PUMS_CONTEXT UmsThread); + WINBASEAPI WINBOOL WINAPI CreateUmsThreadContext(PUMS_CONTEXT *lpUmsThread); + WINBASEAPI WINBOOL WINAPI EnterUmsSchedulingMode(PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo); + WINBASEAPI WINBOOL WINAPI GetUmsSystemThreadInformation(HANDLE ThreadHandle, PUMS_SYSTEM_THREAD_INFORMATION SystemThreadInfo); + +#if _WIN32_WINNT >= 0x0602 + WINBASEAPI WINBOOL WINAPI GetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize); +#endif + +#if _WIN32_WINNT >= 0x0600 +#define PROCESS_DEP_ENABLE 0x00000001 +#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002 + + WINBASEAPI WINBOOL WINAPI SetProcessDEPPolicy (DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI GetProcessDEPPolicy (HANDLE hProcess, LPDWORD lpFlags, PBOOL lpPermanent); +#endif + + WINBASEAPI WINBOOL WINAPI RequestWakeupLatency (LATENCY_TIME latency); + WINBASEAPI WINBOOL WINAPI IsSystemResumeAutomatic (VOID); + WINBASEAPI WINBOOL WINAPI GetThreadIOPendingFlag (HANDLE hThread, PBOOL lpIOIsPending); + WINBASEAPI WINBOOL WINAPI GetThreadSelectorEntry (HANDLE hThread, DWORD dwSelector, LPLDT_ENTRY lpSelectorEntry); + WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState (EXECUTION_STATE esFlags); + +#if _WIN32_WINNT >= 0x0601 + typedef REASON_CONTEXT POWER_REQUEST_CONTEXT,*PPOWER_REQUEST_CONTEXT,*LPPOWER_REQUEST_CONTEXT; + + WINBASEAPI HANDLE WINAPI PowerCreateRequest (PREASON_CONTEXT Context); + WINBASEAPI WINBOOL WINAPI PowerSetRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType); + WINBASEAPI WINBOOL WINAPI PowerClearRequest (HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#if _WIN32_WINNT >= 0x0600 +#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1 +#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2 + + WINBASEAPI WINBOOL WINAPI SetFileCompletionNotificationModes (HANDLE FileHandle, UCHAR Flags); +#endif +#if _WIN32_WINNT >= 0x0602 + WINBASEAPI WINBOOL WINAPI SetThreadInformation (HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if !defined (RC_INVOKED) && defined (WINBASE_DECLARE_RESTORE_LAST_ERROR) + WINBASEAPI VOID WINAPI RestoreLastError (DWORD dwErrCode); + + typedef VOID (WINAPI *PRESTORE_LAST_ERROR) (DWORD); + +#define RESTORE_LAST_ERROR_NAME_A "RestoreLastError" +#define RESTORE_LAST_ERROR_NAME_W L"RestoreLastError" +#define RESTORE_LAST_ERROR_NAME TEXT ("RestoreLastError") +#endif + +#define HasOverlappedIoCompleted(lpOverlapped) (((DWORD) (lpOverlapped)->Internal) != STATUS_PENDING) + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI SetFileIoOverlappedRange (HANDLE FileHandle, PUCHAR OverlappedRangeStart, ULONG Length); +#endif + +#if !defined (__WIDL__) && _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI Wow64GetThreadContext (HANDLE hThread, PWOW64_CONTEXT lpContext); + WINBASEAPI WINBOOL WINAPI Wow64SetThreadContext (HANDLE hThread, CONST WOW64_CONTEXT *lpContext); +#if _WIN32_WINNT >= 0x0601 + WINBASEAPI WINBOOL WINAPI Wow64GetThreadSelectorEntry (HANDLE hThread, DWORD dwSelector, PWOW64_LDT_ENTRY lpSelectorEntry); +#endif +#endif + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI DWORD WINAPI Wow64SuspendThread (HANDLE hThread); +#endif + WINBASEAPI WINBOOL WINAPI DebugSetProcessKillOnExit (WINBOOL KillOnExit); + WINBASEAPI WINBOOL WINAPI DebugBreakProcess (HANDLE Process); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#define CRITICAL_SECTION_NO_DEBUG_INFO RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 + WINBASEAPI DWORD WINAPI WaitForMultipleObjects (DWORD nCount, CONST HANDLE *lpHandles, WINBOOL bWaitAll, DWORD dwMilliseconds); +#define HANDLE_FLAG_INHERIT 0x1 +#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x2 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef enum _DEP_SYSTEM_POLICY_TYPE { + DEPPolicyAlwaysOff = 0, + DEPPolicyAlwaysOn, + DEPPolicyOptIn, + DEPPolicyOptOut, + DEPTotalPolicyCount + } DEP_SYSTEM_POLICY_TYPE; + +#define HINSTANCE_ERROR 32 + +#define GET_TAPE_MEDIA_INFORMATION 0 +#define GET_TAPE_DRIVE_INFORMATION 1 + +#define SET_TAPE_MEDIA_INFORMATION 0 +#define SET_TAPE_DRIVE_INFORMATION 1 + + WINBASEAPI WINBOOL WINAPI PulseEvent (HANDLE hEvent); + WINBASEAPI ATOM WINAPI GlobalDeleteAtom (ATOM nAtom); + WINBASEAPI WINBOOL WINAPI InitAtomTable (DWORD nSize); + WINBASEAPI ATOM WINAPI DeleteAtom (ATOM nAtom); + WINBASEAPI UINT WINAPI SetHandleCount (UINT uNumber); + WINBASEAPI WINBOOL WINAPI RequestDeviceWakeup (HANDLE hDevice); + WINBASEAPI WINBOOL WINAPI CancelDeviceWakeupRequest (HANDLE hDevice); + WINBASEAPI WINBOOL WINAPI GetDevicePowerState (HANDLE hDevice, WINBOOL *pfOn); + WINBASEAPI WINBOOL WINAPI SetMessageWaitingIndicator (HANDLE hMsgIndicator, ULONG ulMsgCount); + WINBASEAPI WINBOOL WINAPI SetFileShortNameA (HANDLE hFile, LPCSTR lpShortName); + WINBASEAPI WINBOOL WINAPI SetFileShortNameW (HANDLE hFile, LPCWSTR lpShortName); + WINBASEAPI DWORD WINAPI LoadModule (LPCSTR lpModuleName, LPVOID lpParameterBlock); + WINBASEAPI UINT WINAPI WinExec (LPCSTR lpCmdLine, UINT uCmdShow); + WINBASEAPI DWORD WINAPI SetTapePosition (HANDLE hDevice, DWORD dwPositionMethod, DWORD dwPartition, DWORD dwOffsetLow, DWORD dwOffsetHigh, WINBOOL bImmediate); + WINBASEAPI DWORD WINAPI GetTapePosition (HANDLE hDevice, DWORD dwPositionType, LPDWORD lpdwPartition, LPDWORD lpdwOffsetLow, LPDWORD lpdwOffsetHigh); + WINBASEAPI DWORD WINAPI PrepareTape (HANDLE hDevice, DWORD dwOperation, WINBOOL bImmediate); + WINBASEAPI DWORD WINAPI EraseTape (HANDLE hDevice, DWORD dwEraseType, WINBOOL bImmediate); + WINBASEAPI DWORD WINAPI CreateTapePartition (HANDLE hDevice, DWORD dwPartitionMethod, DWORD dwCount, DWORD dwSize); + WINBASEAPI DWORD WINAPI WriteTapemark (HANDLE hDevice, DWORD dwTapemarkType, DWORD dwTapemarkCount, WINBOOL bImmediate); + WINBASEAPI DWORD WINAPI GetTapeStatus (HANDLE hDevice); + WINBASEAPI DWORD WINAPI GetTapeParameters (HANDLE hDevice, DWORD dwOperation, LPDWORD lpdwSize, LPVOID lpTapeInformation); + WINBASEAPI DWORD WINAPI SetTapeParameters (HANDLE hDevice, DWORD dwOperation, LPVOID lpTapeInformation); + WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (VOID); + WINBASEAPI WINBOOL WINAPI GetSystemRegistryQuota (PDWORD pdwQuotaAllowed, PDWORD pdwQuotaUsed); + WINBASEAPI WINBOOL WINAPI FileTimeToDosDateTime (CONST FILETIME *lpFileTime, LPWORD lpFatDate, LPWORD lpFatTime); + WINBASEAPI WINBOOL WINAPI DosDateTimeToFileTime (WORD wFatDate, WORD wFatTime, LPFILETIME lpFileTime); + WINBASEAPI WINBOOL WINAPI SetSystemTimeAdjustment (DWORD dwTimeAdjustment, WINBOOL bTimeAdjustmentDisabled); + +#define SetFileShortName __MINGW_NAME_AW(SetFileShortName) + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#define SEM_FAILCRITICALERRORS 0x0001 +#define SEM_NOGPFAULTERRORBOX 0x0002 +#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004 +#define SEM_NOOPENFILEERRORBOX 0x8000 + + WINBASEAPI DWORD WINAPI GetThreadErrorMode (VOID); + WINBASEAPI WINBOOL WINAPI SetThreadErrorMode (DWORD dwNewMode, LPDWORD lpOldMode); + + WINBASEAPI WINBOOL WINAPI ClearCommBreak (HANDLE hFile); + WINBASEAPI WINBOOL WINAPI ClearCommError (HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat); + WINBASEAPI WINBOOL WINAPI SetupComm (HANDLE hFile, DWORD dwInQueue, DWORD dwOutQueue); + WINBASEAPI WINBOOL WINAPI EscapeCommFunction (HANDLE hFile, DWORD dwFunc); + WINBASEAPI WINBOOL WINAPI GetCommConfig (HANDLE hCommDev, LPCOMMCONFIG lpCC, LPDWORD lpdwSize); + WINBASEAPI WINBOOL WINAPI GetCommMask (HANDLE hFile, LPDWORD lpEvtMask); + WINBASEAPI WINBOOL WINAPI GetCommProperties (HANDLE hFile, LPCOMMPROP lpCommProp); + WINBASEAPI WINBOOL WINAPI GetCommModemStatus (HANDLE hFile, LPDWORD lpModemStat); + WINBASEAPI WINBOOL WINAPI GetCommState (HANDLE hFile, LPDCB lpDCB); + WINBASEAPI WINBOOL WINAPI GetCommTimeouts (HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts); + WINBASEAPI WINBOOL WINAPI PurgeComm (HANDLE hFile, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI SetCommBreak (HANDLE hFile); + WINBASEAPI WINBOOL WINAPI SetCommConfig (HANDLE hCommDev, LPCOMMCONFIG lpCC, DWORD dwSize); + WINBASEAPI WINBOOL WINAPI SetCommMask (HANDLE hFile, DWORD dwEvtMask); + WINBASEAPI WINBOOL WINAPI SetCommState (HANDLE hFile, LPDCB lpDCB); + WINBASEAPI WINBOOL WINAPI SetCommTimeouts (HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts); + WINBASEAPI WINBOOL WINAPI TransmitCommChar (HANDLE hFile, char cChar); + WINBASEAPI WINBOOL WINAPI WaitCommEvent (HANDLE hFile, LPDWORD lpEvtMask, LPOVERLAPPED lpOverlapped); +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 + WINBASEAPI HANDLE WINAPI OpenCommPort (ULONG uPortNumber, DWORD dwDesiredAccess, DWORD dwFlagsAndAttributes); + WINBASEAPI ULONG WINAPI GetCommPorts (PULONG lpPortNumbers, ULONG uPortNumbersCount, PULONG puPortNumbersFound); +#endif + + WINBASEAPI WINBOOL WINAPI GetProcessPriorityBoost (HANDLE hProcess, PBOOL pDisablePriorityBoost); + WINBASEAPI WINBOOL WINAPI SetProcessPriorityBoost (HANDLE hProcess, WINBOOL bDisablePriorityBoost); + WINBASEAPI int WINAPI MulDiv (int nNumber, int nNumerator, int nDenominator); + +#ifndef __WIDL__ + WINBASEAPI DWORD WINAPI FormatMessageA (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list *Arguments); + WINBASEAPI DWORD WINAPI FormatMessageW (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list *Arguments); + +#define FormatMessage __MINGW_NAME_AW(FormatMessage) +#endif + +#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 +#define FORMAT_MESSAGE_FROM_STRING 0x00000400 +#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800 +#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000 +#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 +#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000ff +#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef DWORD (WINAPI *PFE_EXPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength); + typedef DWORD (WINAPI *PFE_IMPORT_FUNC) (PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength); + +#define FILE_ENCRYPTABLE 0 +#define FILE_IS_ENCRYPTED 1 +#define FILE_SYSTEM_ATTR 2 +#define FILE_ROOT_DIR 3 +#define FILE_SYSTEM_DIR 4 +#define FILE_UNKNOWN 5 +#define FILE_SYSTEM_NOT_SUPPORT 6 +#define FILE_USER_DISALLOWED 7 +#define FILE_READ_ONLY 8 +#define FILE_DIR_DISALLOWED 9 + +#define EFS_USE_RECOVERY_KEYS (0x1) + +#define CREATE_FOR_IMPORT (1) +#define CREATE_FOR_DIR (2) +#define OVERWRITE_HIDDEN (4) +#define EFSRPC_SECURE_ONLY (8) +#define EFS_DROP_ALTERNATE_STREAMS (0x10) + + WINBASEAPI WINBOOL WINAPI GetNamedPipeInfo (HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances); + WINBASEAPI HANDLE WINAPI CreateMailslotA (LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + WINBASEAPI HANDLE WINAPI CreateMailslotW (LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + WINBASEAPI WINBOOL WINAPI GetMailslotInfo (HANDLE hMailslot, LPDWORD lpMaxMessageSize, LPDWORD lpNextSize, LPDWORD lpMessageCount, LPDWORD lpReadTimeout); + WINBASEAPI WINBOOL WINAPI SetMailslotInfo (HANDLE hMailslot, DWORD lReadTimeout); + WINADVAPI WINBOOL WINAPI EncryptFileA (LPCSTR lpFileName); + WINADVAPI WINBOOL WINAPI EncryptFileW (LPCWSTR lpFileName); + WINADVAPI WINBOOL WINAPI DecryptFileA (LPCSTR lpFileName, DWORD dwReserved); + WINADVAPI WINBOOL WINAPI DecryptFileW (LPCWSTR lpFileName, DWORD dwReserved); + WINADVAPI WINBOOL WINAPI FileEncryptionStatusA (LPCSTR lpFileName, LPDWORD lpStatus); + WINADVAPI WINBOOL WINAPI FileEncryptionStatusW (LPCWSTR lpFileName, LPDWORD lpStatus); + WINADVAPI DWORD WINAPI OpenEncryptedFileRawA (LPCSTR lpFileName, ULONG ulFlags, PVOID *pvContext); + WINADVAPI DWORD WINAPI OpenEncryptedFileRawW (LPCWSTR lpFileName, ULONG ulFlags, PVOID *pvContext); + WINADVAPI DWORD WINAPI ReadEncryptedFileRaw (PFE_EXPORT_FUNC pfExportCallback, PVOID pvCallbackContext, PVOID pvContext); + WINADVAPI DWORD WINAPI WriteEncryptedFileRaw (PFE_IMPORT_FUNC pfImportCallback, PVOID pvCallbackContext, PVOID pvContext); + WINADVAPI VOID WINAPI CloseEncryptedFileRaw (PVOID pvContext); + WINBASEAPI int WINAPI lstrcmpA (LPCSTR lpString1, LPCSTR lpString2); + WINBASEAPI int WINAPI lstrcmpW (LPCWSTR lpString1, LPCWSTR lpString2); + WINBASEAPI int WINAPI lstrcmpiA (LPCSTR lpString1, LPCSTR lpString2); + WINBASEAPI int WINAPI lstrcmpiW (LPCWSTR lpString1, LPCWSTR lpString2); + WINBASEAPI LPSTR WINAPI lstrcpynA (LPSTR lpString1, LPCSTR lpString2, int iMaxLength); + WINBASEAPI LPWSTR WINAPI lstrcpynW (LPWSTR lpString1, LPCWSTR lpString2, int iMaxLength); + WINBASEAPI LPSTR WINAPI lstrcpyA (LPSTR lpString1, LPCSTR lpString2); + WINBASEAPI LPWSTR WINAPI lstrcpyW (LPWSTR lpString1, LPCWSTR lpString2); + WINBASEAPI LPSTR WINAPI lstrcatA (LPSTR lpString1, LPCSTR lpString2); + WINBASEAPI LPWSTR WINAPI lstrcatW (LPWSTR lpString1, LPCWSTR lpString2); + WINBASEAPI int WINAPI lstrlenA (LPCSTR lpString); + WINBASEAPI int WINAPI lstrlenW (LPCWSTR lpString); + WINBASEAPI HFILE WINAPI OpenFile (LPCSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle); + WINBASEAPI HFILE WINAPI _lopen (LPCSTR lpPathName, int iReadWrite); + WINBASEAPI HFILE WINAPI _lcreat (LPCSTR lpPathName, int iAttribute); + WINBASEAPI UINT WINAPI _lread (HFILE hFile, LPVOID lpBuffer, UINT uBytes); + WINBASEAPI UINT WINAPI _lwrite (HFILE hFile, LPCCH lpBuffer, UINT uBytes); + WINBASEAPI __LONG32 WINAPI _hread (HFILE hFile, LPVOID lpBuffer, __LONG32 lBytes); + WINBASEAPI __LONG32 WINAPI _hwrite (HFILE hFile, LPCCH lpBuffer, __LONG32 lBytes); + WINBASEAPI HFILE WINAPI _lclose (HFILE hFile); + WINBASEAPI LONG WINAPI _llseek (HFILE hFile, LONG lOffset, int iOrigin); + WINADVAPI WINBOOL WINAPI IsTextUnicode (CONST VOID *lpv, int iSize, LPINT lpiResult); + WINBASEAPI DWORD WINAPI SignalObjectAndWait (HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, WINBOOL bAlertable); + WINBASEAPI WINBOOL WINAPI BackupRead (HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, WINBOOL bAbort, WINBOOL bProcessSecurity, LPVOID *lpContext); + WINBASEAPI WINBOOL WINAPI BackupSeek (HANDLE hFile, DWORD dwLowBytesToSeek, DWORD dwHighBytesToSeek, LPDWORD lpdwLowByteSeeked, LPDWORD lpdwHighByteSeeked, LPVOID *lpContext); + WINBASEAPI WINBOOL WINAPI BackupWrite (HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, WINBOOL bAbort, WINBOOL bProcessSecurity, LPVOID *lpContext); + +#define CreateMailslot __MINGW_NAME_AW(CreateMailslot) +#define EncryptFile __MINGW_NAME_AW(EncryptFile) +#define DecryptFile __MINGW_NAME_AW(DecryptFile) +#define FileEncryptionStatus __MINGW_NAME_AW(FileEncryptionStatus) +#define OpenEncryptedFileRaw __MINGW_NAME_AW(OpenEncryptedFileRaw) +#define lstrcmp __MINGW_NAME_AW(lstrcmp) +#define lstrcmpi __MINGW_NAME_AW(lstrcmpi) +#define lstrcpyn __MINGW_NAME_AW(lstrcpyn) +#define lstrcpy __MINGW_NAME_AW(lstrcpy) +#define lstrcat __MINGW_NAME_AW(lstrcat) +#define lstrlen __MINGW_NAME_AW(lstrlen) + + typedef struct _WIN32_STREAM_ID { + DWORD dwStreamId; + DWORD dwStreamAttributes; + LARGE_INTEGER Size; + DWORD dwStreamNameSize; + WCHAR cStreamName[ANYSIZE_ARRAY]; + } WIN32_STREAM_ID,*LPWIN32_STREAM_ID; + +#define BACKUP_INVALID 0x00000000 +#define BACKUP_DATA 0x00000001 +#define BACKUP_EA_DATA 0x00000002 +#define BACKUP_SECURITY_DATA 0x00000003 +#define BACKUP_ALTERNATE_DATA 0x00000004 +#define BACKUP_LINK 0x00000005 +#define BACKUP_PROPERTY_DATA 0x00000006 +#define BACKUP_OBJECT_ID 0x00000007 +#define BACKUP_REPARSE_DATA 0x00000008 +#define BACKUP_SPARSE_BLOCK 0x00000009 +#define BACKUP_TXFS_DATA 0x0000000a +#define BACKUP_GHOSTED_FILE_EXTENTS 0x0000000b + +#define STREAM_NORMAL_ATTRIBUTE 0x00000000 +#define STREAM_MODIFIED_WHEN_READ 0x00000001 +#define STREAM_CONTAINS_SECURITY 0x00000002 +#define STREAM_CONTAINS_PROPERTIES 0x00000004 +#define STREAM_SPARSE_ATTRIBUTE 0x00000008 +#define STREAM_CONTAINS_GHOSTED_FILE_EXTENTS 0x00000010 + +#define STARTF_USESHOWWINDOW 0x00000001 +#define STARTF_USESIZE 0x00000002 +#define STARTF_USEPOSITION 0x00000004 +#define STARTF_USECOUNTCHARS 0x00000008 +#define STARTF_USEFILLATTRIBUTE 0x00000010 +#define STARTF_RUNFULLSCREEN 0x00000020 +#define STARTF_FORCEONFEEDBACK 0x00000040 +#define STARTF_FORCEOFFFEEDBACK 0x00000080 +#define STARTF_USESTDHANDLES 0x00000100 +#if WINVER >= 0x0400 +#define STARTF_USEHOTKEY 0x00000200 +#define STARTF_TITLEISLINKNAME 0x00000800 +#define STARTF_TITLEISAPPID 0x00001000 +#define STARTF_PREVENTPINNING 0x00002000 +#endif +#if WINVER >= 0x0600 +#define STARTF_UNTRUSTEDSOURCE 0x00008000 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_FE +#define STARTF_HOLOGRAPHIC 0x00040000 +#endif + +#if _WIN32_WINNT >= 0x0600 + typedef struct _STARTUPINFOEXA { + STARTUPINFOA StartupInfo; + LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; + } STARTUPINFOEXA,*LPSTARTUPINFOEXA; + + typedef struct _STARTUPINFOEXW { + STARTUPINFOW StartupInfo; + LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; + } STARTUPINFOEXW,*LPSTARTUPINFOEXW; + + __MINGW_TYPEDEF_AW(STARTUPINFOEX) + __MINGW_TYPEDEF_AW(LPSTARTUPINFOEX) +#endif + +#define SHUTDOWN_NORETRY 0x1 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBOOL WINAPI GetSystemTimes (LPFILETIME lpIdleTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime); + WINBASEAPI WINBOOL WINAPI GetNamedPipeInfo (HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances); +#define CreateSemaphore __MINGW_NAME_AW(CreateSemaphore) + WINBASEAPI HANDLE WINAPI CreateSemaphoreW (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName); + WINBASEAPI HANDLE WINAPI CreateWaitableTimerW (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCWSTR lpTimerName); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) +#define LoadLibrary __MINGW_NAME_AW(LoadLibrary) + WINBASEAPI HMODULE WINAPI LoadLibraryW (LPCWSTR lpLibFileName); + WINBASEAPI HMODULE WINAPI LoadLibraryA (LPCSTR lpLibFileName); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); + WINBASEAPI HANDLE WINAPI OpenSemaphoreA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); + WINBASEAPI HANDLE WINAPI CreateWaitableTimerA (LPSECURITY_ATTRIBUTES lpTimerAttributes, WINBOOL bManualReset, LPCSTR lpTimerName); + WINBASEAPI HANDLE WINAPI OpenWaitableTimerA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpTimerName); + WINBASEAPI HANDLE WINAPI CreateFileMappingA (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HANDLE WINAPI CreateWaitableTimerExA (LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess); + WINBASEAPI HANDLE WINAPI CreateFileMappingNumaA (HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName, DWORD nndPreferred); +#endif + WINBASEAPI HANDLE WINAPI OpenFileMappingA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); + WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA (DWORD nBufferLength, LPSTR lpBuffer); + +#ifndef UNICODE +#define OpenMutex OpenMutexA +#define OpenSemaphore OpenSemaphoreA +#define OpenWaitableTimer OpenWaitableTimerA +#define CreateFileMapping CreateFileMappingA +#define OpenFileMapping OpenFileMappingA +#define GetLogicalDriveStrings GetLogicalDriveStringsA +#endif + +#define CreateWaitableTimer __MINGW_NAME_AW(CreateWaitableTimer) + +#if _WIN32_WINNT >= 0x0600 +#ifndef UNICODE +#define CreateWaitableTimerEx CreateWaitableTimerExA +#define CreateFileMappingNuma CreateFileMappingNumaA +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI HANDLE WINAPI CreateSemaphoreA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HANDLE WINAPI CreateSemaphoreExA (LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess); +#ifndef UNICODE +#define CreateSemaphoreEx CreateSemaphoreExA +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) && _WIN32_WINNT >= 0x0602 + WINBASEAPI HMODULE WINAPI LoadPackagedLibrary (LPCWSTR lpwLibFileName, DWORD Reserved); +#endif + +#if _WIN32_WINNT >= 0x0600 +#define PROTECTION_LEVEL_WINTCB_LIGHT 0x00000000 +#define PROTECTION_LEVEL_WINDOWS 0x00000001 +#define PROTECTION_LEVEL_WINDOWS_LIGHT 0x00000002 +#define PROTECTION_LEVEL_ANTIMALWARE_LIGHT 0x00000003 +#define PROTECTION_LEVEL_LSA_LIGHT 0x00000004 +#define PROTECTION_LEVEL_WINTCB 0x00000005 +#define PROTECTION_LEVEL_CODEGEN_LIGHT 0x00000006 +#define PROTECTION_LEVEL_AUTHENTICODE 0x00000007 +#define PROTECTION_LEVEL_PPL_APP 0x00000008 +#define PROTECTION_LEVEL_SAME 0xffffffff +#define PROTECTION_LEVEL_NONE 0xfffffffe +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if _WIN32_WINNT >= 0x0600 + +#define PROCESS_NAME_NATIVE 0x00000001 + + WINBASEAPI WINBOOL WINAPI QueryFullProcessImageNameA (HANDLE hProcess, DWORD dwFlags, LPSTR lpExeName, PDWORD lpdwSize); + WINBASEAPI WINBOOL WINAPI QueryFullProcessImageNameW (HANDLE hProcess, DWORD dwFlags, LPWSTR lpExeName, PDWORD lpdwSize); + +#define QueryFullProcessImageName __MINGW_NAME_AW(QueryFullProcessImageName) + +#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff +#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 +#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 +#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 + +#ifndef _USE_FULL_PROC_THREAD_ATTRIBUTE + typedef enum _PROC_THREAD_ATTRIBUTE_NUM { + ProcThreadAttributeParentProcess = 0, + ProcThreadAttributeHandleList = 2 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 + ,ProcThreadAttributeGroupAffinity = 3, + ProcThreadAttributePreferredNode = 4, + ProcThreadAttributeIdealProcessor = 5, + ProcThreadAttributeUmsThread = 6, + ProcThreadAttributeMitigationPolicy = 7 +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 + ,ProcThreadAttributeSecurityCapabilities = 9 +#endif + ,ProcThreadAttributeProtectionLevel = 11 +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD + ,ProcThreadAttributeJobList = 13 + ,ProcThreadAttributeChildProcessPolicy = 14 + ,ProcThreadAttributeAllApplicationPackagesPolicy = 15 + ,ProcThreadAttributeWin32kFilter = 16 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 + ,ProcThreadAttributeSafeOpenPromptOriginClaim = 17 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS2 + ,ProcThreadAttributeDesktopAppPolicy = 18 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 + ,ProcThreadAttributePseudoConsole = 22 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_19H1 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_MN + ,ProcThreadAttributeMitigationAuditPolicy = 24 + ,ProcThreadAttributeMachineType = 25 + ,ProcThreadAttributeComponentFilter = 26 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_FE + ,ProcThreadAttributeEnableOptionalXStateFeatures = 27 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_NI + ,ProcThreadAttributeTrustedApp = 29 +#endif +#if NTDDI_VERSION >= NTDDI_WIN11_GE + ,ProcThreadAttributeSveVectorLength = 30 +#endif + } PROC_THREAD_ATTRIBUTE_NUM; +#endif + +#define ProcThreadAttributeValue(Number, Thread, Input, Additive) (((Number) &PROC_THREAD_ATTRIBUTE_NUMBER) | ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0)) + +#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS ProcThreadAttributeValue (ProcThreadAttributeParentProcess, FALSE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST ProcThreadAttributeValue (ProcThreadAttributeHandleList, FALSE, TRUE, FALSE) +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 +#define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY ProcThreadAttributeValue (ProcThreadAttributeGroupAffinity, TRUE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE ProcThreadAttributeValue (ProcThreadAttributePreferredNode, FALSE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR ProcThreadAttributeValue (ProcThreadAttributeIdealProcessor, TRUE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_UMS_THREAD ProcThreadAttributeValue (ProcThreadAttributeUmsThread, TRUE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, FALSE, TRUE, FALSE) +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TRUE, FALSE) +#endif + +#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, FALSE, TRUE, FALSE) + +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 +#define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE ProcThreadAttributeValue (ProcThreadAttributePseudoConsole, FALSE, TRUE, FALSE) +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_MN +#define PROC_THREAD_ATTRIBUTE_MACHINE_TYPE ProcThreadAttributeValue (ProcThreadAttributeMachineType, FALSE, TRUE, FALSE) +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_FE +#define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, TRUE, TRUE, FALSE) +#endif + +#if (NTDDI_VERSION >= NTDDI_WIN11_GE) +#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH ProcThreadAttributeValue (ProcThreadAttributeSveVectorLength, FALSE, TRUE, FALSE) + + typedef union _PROCESS_CREATION_SVE_VECTOR_LENGTH { + ULONG Data; + __C89_NAMELESS struct { + ULONG VectorLength : 24; + ULONG FlagsReserved : 8; + }; + } PROCESS_CREATION_SVE_VECTOR_LENGTH, *PPROCESS_CREATION_SVE_VECTOR_LENGTH; +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 +#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01 +#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02 +#define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 0x04 +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK (0x00000003 << 8) +#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_DEFER (0x00000000 << 8) +#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000001 << 8) +#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF (0x00000002 << 8) +#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS (0x00000003 << 8) + +#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_MASK (0x00000003 << 12) +#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_DEFER (0x00000000 << 12) +#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON (0x00000001 << 12) +#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF (0x00000002 << 12) +#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_RESERVED (0x00000003 << 12) + +#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_MASK (0x00000003 << 16) +#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_DEFER (0x00000000 << 16) +#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00000001 << 16) +#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00000002 << 16) +#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_RESERVED (0x00000003 << 16) + +#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_MASK (0x00000003 << 20) +#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_DEFER (0x00000000 << 20) +#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON (0x00000001 << 20) +#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF (0x00000002 << 20) +#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_RESERVED (0x00000003 << 20) + +#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_MASK (0x00000003 << 24) +#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_DEFER (0x00000000 << 24) +#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON (0x00000001 << 24) +#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF (0x00000002 << 24) +#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_RESERVED (0x00000003 << 24) + +#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_MASK (0x00000003 << 28) +#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_DEFER (0x00000000 << 28) +#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON (0x00000001 << 28) +#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF (0x00000002 << 28) +#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_RESERVED (0x00000003 << 28) + +#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_MASK (0x00000003ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_DEFER (0x00000000ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON (0x00000001ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_OFF (0x00000002ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_RESERVED (0x00000003ULL << 32) + +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE + +#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK (0x0003ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER (0x0000ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON (0x0001ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_OFF (0x0002ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON_ALLOW_OPT_OUT (0x0003ULL << 36) + +#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_MASK (0x0003ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_DEFER (0x0000ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_ON (0x0001ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_OFF (0x0002ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_EXPORT_SUPPRESSION (0x0003ULL << 40) + +#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_MASK (0x0003ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_DEFER (0x0000ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON (0x0001ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_OFF (0x0002ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE (0x0003ULL << 44) + +#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD + +#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_MASK (0x0003ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_DEFER (0x0000ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_ON (0x0001ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_OFF (0x0002ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY_AUDIT_NONSYSTEM_FONTS (0x0003ULL << 48) + +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_MASK (0x0003ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_DEFER (0x0000ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_ON (0x0001ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_OFF (0x0002ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_RESERVED (0x0003ULL << 52) + +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_MASK (0x0003ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_DEFER (0x0000ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_ON (0x0001ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_OFF (0x0002ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_RESERVED (0x0003ULL << 56) + +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_PREFER_SYSTEM32_MASK (0x0003ULL << 60) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_PREFER_SYSTEM32_DEFER (0x0000ULL << 60) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_PREFER_SYSTEM32_ALWAYS_ON (0x0001ULL << 60) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_PREFER_SYSTEM32_ALWAYS_OFF (0x0002ULL << 60) +#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_PREFER_SYSTEM32_RESERVED (0x0003ULL << 60) + +#define PROCESS_CREATION_MITIGATION_POLICY2_LOADER_INTEGRITY_CONTINUITY_MASK (0x0003ULL << 4) +#define PROCESS_CREATION_MITIGATION_POLICY2_LOADER_INTEGRITY_CONTINUITY_DEFER (0x0000ULL << 4) +#define PROCESS_CREATION_MITIGATION_POLICY2_LOADER_INTEGRITY_CONTINUITY_ALWAYS_ON (0x0001ULL << 4) +#define PROCESS_CREATION_MITIGATION_POLICY2_LOADER_INTEGRITY_CONTINUITY_ALWAYS_OFF (0x0002ULL << 4) +#define PROCESS_CREATION_MITIGATION_POLICY2_LOADER_INTEGRITY_CONTINUITY_AUDIT (0x0003ULL << 4) + +#define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_MASK (0x0003ULL << 8) +#define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_DEFER (0x0000ULL << 8) +#define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_ON (0x0001ULL << 8) +#define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_OFF (0x0002ULL << 8) +#define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_RESERVED (0x0003ULL << 8) + +#define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_MASK (0x0003ULL << 12) +#define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_DEFER (0x0000ULL << 12) +#define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_ALWAYS_ON (0x0001ULL << 12) +#define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_ALWAYS_OFF (0x0002ULL << 12) +#define PROCESS_CREATION_MITIGATION_POLICY2_MODULE_TAMPERING_PROTECTION_NOINHERIT (0x0003ULL << 12) + +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_MASK (0x00000003ULL << 16) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_DEFER (0x00000000ULL << 16) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON (0x00000001ULL << 16) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_OFF (0x00000002ULL << 16) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_RESERVED (0x00000003ULL << 16) + +#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_MASK (0x00000003ULL << 20) +#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_DEFER (0x00000000ULL << 20) +#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_ALWAYS_ON (0x00000001ULL << 20) +#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_ALWAYS_OFF (0x00000002ULL << 20) +#define PROCESS_CREATION_MITIGATION_POLICY2_ALLOW_DOWNGRADE_DYNAMIC_CODE_POLICY_RESERVED (0x00000003ULL << 20) + +#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_MASK (0x00000003ULL << 24) +#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_DEFER (0x00000000ULL << 24) +#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_ON (0x00000001ULL << 24) +#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_OFF (0x00000002ULL << 24) +#define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_RESERVED (0x00000003ULL << 24) + +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_MASK (0x00000003ULL << 28) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_DEFER (0x00000000ULL << 28) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_ON (0x00000001ULL << 28) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_OFF (0x00000002ULL << 28) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_USER_SHADOW_STACKS_STRICT_MODE (0x00000003ULL << 28) + +#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_MASK (0x00000003ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_DEFER (0x00000000ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_ON (0x00000001ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_OFF (0x00000002ULL << 32) +#define PROCESS_CREATION_MITIGATION_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_RELAXED_MODE (0x00000003ULL << 32) + +#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_MASK (0x00000003ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_DEFER (0x00000000ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_ON (0x00000001ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_OFF (0x00000002ULL << 36) +#define PROCESS_CREATION_MITIGATION_POLICY2_BLOCK_NON_CET_BINARIES_NON_EHCONT (0x00000003ULL << 36) + +#define PROCESS_CREATION_MITIGATION_POLICY2_XTENDED_CONTROL_FLOW_GUARD_MASK (0x00000003ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY2_XTENDED_CONTROL_FLOW_GUARD_DEFER (0x00000000ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY2_XTENDED_CONTROL_FLOW_GUARD_ALWAYS_ON (0x00000001ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY2_XTENDED_CONTROL_FLOW_GUARD_ALWAYS_OFF (0x00000002ULL << 40) +#define PROCESS_CREATION_MITIGATION_POLICY2_XTENDED_CONTROL_FLOW_GUARD_RESERVED (0x00000003ULL << 40) + +#define PROCESS_CREATION_MITIGATION_POLICY2_POINTER_AUTH_USER_IP_MASK (0x00000003ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY2_POINTER_AUTH_USER_IP_DEFER (0x00000000ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY2_POINTER_AUTH_USER_IP_ALWAYS_ON (0x00000001ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY2_POINTER_AUTH_USER_IP_ALWAYS_OFF (0x00000002ULL << 44) +#define PROCESS_CREATION_MITIGATION_POLICY2_POINTER_AUTH_USER_IP_RESERVED (0x00000003ULL << 44) + +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_MASK (0x00000003ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_DEFER (0x00000000ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_ALWAYS_ON (0x00000001ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_ALWAYS_OFF (0x00000002ULL << 48) +#define PROCESS_CREATION_MITIGATION_POLICY2_CET_DYNAMIC_APIS_OUT_OF_PROC_ONLY_RESERVED (0x00000003ULL << 48) + +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_MASK (0x00000003ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_DEFER (0x00000000ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_ALWAYS_ON (0x00000001ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_ALWAYS_OFF (0x00000002ULL << 52) +#define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_RESERVED (0x00000003ULL << 52) + +#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_MASK (0x00000003ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_DEFER (0x00000000ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_ON (0x00000001ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_OFF (0x00000002ULL << 56) +#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_RESERVED (0x00000003ULL << 56) + +#endif /* _WIN32_WINNT_WINTHRESHOLD */ +#endif /* _WIN32_WINNT_WINBLUE */ +#endif /* _WIN32_WINNT_WIN8 */ + +#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD +#define PROC_THREAD_ATTRIBUTE_JOB_LIST ProcThreadAttributeValue (ProcThreadAttributeJobList, FALSE, TRUE, FALSE) + +#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED 0x01 +#define PROCESS_CREATION_CHILD_PROCESS_OVERRIDE 0x02 +#define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED_UNLESS_SECURE 0x04 + +#define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY ProcThreadAttributeValue (ProcThreadAttributeChildProcessPolicy, FALSE, TRUE, FALSE) + +#define PROCESS_CREATION_ALL_APPLICATION_PACKAGES_OPT_OUT 0x01 + +#define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY ProcThreadAttributeValue (ProcThreadAttributeAllApplicationPackagesPolicy, FALSE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER ProcThreadAttributeValue (ProcThreadAttributeWin32kFilter, FALSE, TRUE, FALSE) +#endif /* _WIN32_WINNT_WINTHRESHOLD */ + +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS2 +#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_ENABLE_PROCESS_TREE 0x01 +#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_DISABLE_PROCESS_TREE 0x02 +#define PROCESS_CREATION_DESKTOP_APP_BREAKAWAY_OVERRIDE 0x04 + +#define PROC_THREAD_ATTRIBUTE_DESKTOP_APP_POLICY ProcThreadAttributeValue (ProcThreadAttributeDesktopAppPolicy, FALSE, TRUE, FALSE) +#endif /* NTDDI_WIN10_RS2 */ + +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 +#endif + +#if (NTDDI_VERSION >= NTDDI_WIN10_MN) +#define PROC_THREAD_ATTRIBUTE_MITIGATION_AUDIT_POLICY ProcThreadAttributeValue (ProcThreadAttributeMitigationAuditPolicy, FALSE, TRUE, FALSE) +#define PROC_THREAD_ATTRIBUTE_COMPONENT_FILTER ProcThreadAttributeValue (ProcThreadAttributeComponentFilter, FALSE, TRUE, FALSE) + +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_MASK (0x00000003ULL << 28) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_DEFER (0x00000000ULL << 28) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_ON (0x00000001ULL << 28) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_ALWAYS_OFF (0x00000002ULL << 28) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_CET_USER_SHADOW_STACKS_RESERVED (0x00000003ULL << 28) + +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_MASK (0x00000003ULL << 32) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_DEFER (0x00000000ULL << 32) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_ON (0x00000001ULL << 32) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_ALWAYS_OFF (0x00000002ULL << 32) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_USER_CET_SET_CONTEXT_IP_VALIDATION_RESERVED (0x00000003ULL << 32) + +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_MASK (0x00000003ULL << 36) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_DEFER (0x00000000ULL << 36) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_ON (0x00000001ULL << 36) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_ALWAYS_OFF (0x00000002ULL << 36) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_BLOCK_NON_CET_BINARIES_RESERVED (0x00000003ULL << 36) + +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_XTENDED_CONTROL_FLOW_GUARD_MASK (0x00000003ULL << 40) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_XTENDED_CONTROL_FLOW_GUARD_DEFER (0x00000000ULL << 40) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_XTENDED_CONTROL_FLOW_GUARD_ALWAYS_ON (0x00000001ULL << 40) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_XTENDED_CONTROL_FLOW_GUARD_ALWAYS_OFF (0x00000002ULL << 40) +#define PROCESS_CREATION_MITIGATION_AUDIT_POLICY2_XTENDED_CONTROL_FLOW_GUARD_RESERVED (0x00000003ULL << 40) + +#endif /* NTDDI_WIN10_MN */ + +#if NTDDI_VERSION >= NTDDI_WIN10_NI +#define PROC_THREAD_ATTRIBUTE_TRUSTED_APP ProcThreadAttributeValue (ProcThreadAttributeTrustedApp, FALSE, TRUE, FALSE) +#endif + +#define ATOM_FLAG_GLOBAL 0x2 + + WINBASEAPI WINBOOL WINAPI GetProcessShutdownParameters (LPDWORD lpdwLevel, LPDWORD lpdwFlags); + WINBASEAPI VOID WINAPI FatalAppExitA (UINT uAction, LPCSTR lpMessageText); + WINBASEAPI VOID WINAPI FatalAppExitW (UINT uAction, LPCWSTR lpMessageText); + WINBASEAPI VOID WINAPI GetStartupInfoA (LPSTARTUPINFOA lpStartupInfo); + WINBASEAPI HRSRC WINAPI FindResourceA (HMODULE hModule, LPCSTR lpName, LPCSTR lpType); + WINBASEAPI HRSRC WINAPI FindResourceExA (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage); + WINBASEAPI WINBOOL WINAPI EnumResourceTypesA (HMODULE hModule, ENUMRESTYPEPROCA lpEnumFunc, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumResourceTypesW (HMODULE hModule, ENUMRESTYPEPROCW lpEnumFunc, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumResourceNamesA (HMODULE hModule, LPCSTR lpType, ENUMRESNAMEPROCA lpEnumFunc, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumResourceNamesW (HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumResourceLanguagesA (HMODULE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROCA lpEnumFunc, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumResourceLanguagesW (HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROCW lpEnumFunc, LONG_PTR lParam); + WINBASEAPI HANDLE WINAPI BeginUpdateResourceA (LPCSTR pFileName, WINBOOL bDeleteExistingResources); + WINBASEAPI HANDLE WINAPI BeginUpdateResourceW (LPCWSTR pFileName, WINBOOL bDeleteExistingResources); + WINBASEAPI WINBOOL WINAPI UpdateResourceA (HANDLE hUpdate, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb); + WINBASEAPI WINBOOL WINAPI UpdateResourceW (HANDLE hUpdate, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb); + WINBASEAPI WINBOOL WINAPI EndUpdateResourceA (HANDLE hUpdate, WINBOOL fDiscard); + WINBASEAPI WINBOOL WINAPI EndUpdateResourceW (HANDLE hUpdate, WINBOOL fDiscard); +#if _WIN32_WINNT >= 0x0602 + WINBASEAPI WINBOOL WINAPI GetFirmwareType (PFIRMWARE_TYPE FirmwareType); + WINBASEAPI WINBOOL WINAPI IsNativeVhdBoot (PBOOL NativeVhdBoot); +#endif + WINBASEAPI ATOM WINAPI GlobalAddAtomA (LPCSTR lpString); + WINBASEAPI ATOM WINAPI GlobalAddAtomW (LPCWSTR lpString); + WINBASEAPI ATOM WINAPI GlobalAddAtomExA (LPCSTR lpString, DWORD Flags); + WINBASEAPI ATOM WINAPI GlobalAddAtomExW (LPCWSTR lpString, DWORD Flags); + WINBASEAPI ATOM WINAPI GlobalFindAtomA (LPCSTR lpString); + WINBASEAPI ATOM WINAPI GlobalFindAtomW (LPCWSTR lpString); + WINBASEAPI UINT WINAPI GlobalGetAtomNameA (ATOM nAtom, LPSTR lpBuffer, int nSize); + WINBASEAPI UINT WINAPI GlobalGetAtomNameW (ATOM nAtom, LPWSTR lpBuffer, int nSize); + WINBASEAPI ATOM WINAPI AddAtomA (LPCSTR lpString); + WINBASEAPI ATOM WINAPI AddAtomW (LPCWSTR lpString); + WINBASEAPI ATOM WINAPI FindAtomA (LPCSTR lpString); + WINBASEAPI ATOM WINAPI FindAtomW (LPCWSTR lpString); + WINBASEAPI UINT WINAPI GetAtomNameA (ATOM nAtom, LPSTR lpBuffer, int nSize); + WINBASEAPI UINT WINAPI GetAtomNameW (ATOM nAtom, LPWSTR lpBuffer, int nSize); + WINBASEAPI UINT WINAPI GetProfileIntA (LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault); + WINBASEAPI UINT WINAPI GetProfileIntW (LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault); + WINBASEAPI DWORD WINAPI GetProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize); + WINBASEAPI DWORD WINAPI GetProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize); + WINBASEAPI WINBOOL WINAPI WriteProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString); + WINBASEAPI WINBOOL WINAPI WriteProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString); + WINBASEAPI DWORD WINAPI GetProfileSectionA (LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize); + WINBASEAPI DWORD WINAPI GetProfileSectionW (LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize); + WINBASEAPI WINBOOL WINAPI WriteProfileSectionA (LPCSTR lpAppName, LPCSTR lpString); + WINBASEAPI WINBOOL WINAPI WriteProfileSectionW (LPCWSTR lpAppName, LPCWSTR lpString); + WINBASEAPI UINT WINAPI GetPrivateProfileIntA (LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault, LPCSTR lpFileName); + WINBASEAPI UINT WINAPI GetPrivateProfileIntW (LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault, LPCWSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileStringA (LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileStringW (LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString, LPCWSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileSectionA (LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileSectionW (LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileSectionA (LPCSTR lpAppName, LPCSTR lpString, LPCSTR lpFileName); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileSectionW (LPCWSTR lpAppName, LPCWSTR lpString, LPCWSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA (LPSTR lpszReturnBuffer, DWORD nSize, LPCSTR lpFileName); + WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW (LPWSTR lpszReturnBuffer, DWORD nSize, LPCWSTR lpFileName); + WINBASEAPI WINBOOL WINAPI GetPrivateProfileStructA (LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile); + WINBASEAPI WINBOOL WINAPI GetPrivateProfileStructW (LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileStructA (LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile); + WINBASEAPI WINBOOL WINAPI WritePrivateProfileStructW (LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile); + +#ifndef UNICODE +#define GetStartupInfo GetStartupInfoA +#define FindResource FindResourceA +#define FindResourceEx FindResourceExA +#define EnumResourceNames EnumResourceNamesA +#endif + +#define FatalAppExit __MINGW_NAME_AW(FatalAppExit) +#define GetFirmwareEnvironmentVariable __MINGW_NAME_AW(GetFirmwareEnvironmentVariable) +#define SetFirmwareEnvironmentVariable __MINGW_NAME_AW(SetFirmwareEnvironmentVariable) +#define EnumResourceTypes __MINGW_NAME_AW(EnumResourceTypes) +#define EnumResourceLanguages __MINGW_NAME_AW(EnumResourceLanguages) +#define BeginUpdateResource __MINGW_NAME_AW(BeginUpdateResource) +#define UpdateResource __MINGW_NAME_AW(UpdateResource) +#define EndUpdateResource __MINGW_NAME_AW(EndUpdateResource) +#define GlobalAddAtom __MINGW_NAME_AW(GlobalAddAtom) +#define GlobalAddAtomEx __MINGW_NAME_AW(GlobalAddAtomEx) +#define GlobalFindAtom __MINGW_NAME_AW(GlobalFindAtom) +#define GlobalGetAtomName __MINGW_NAME_AW(GlobalGetAtomName) +#define AddAtom __MINGW_NAME_AW(AddAtom) +#define FindAtom __MINGW_NAME_AW(FindAtom) +#define GetAtomName __MINGW_NAME_AW(GetAtomName) +#define GetProfileInt __MINGW_NAME_AW(GetProfileInt) +#define GetProfileString __MINGW_NAME_AW(GetProfileString) +#define WriteProfileString __MINGW_NAME_AW(WriteProfileString) +#define GetProfileSection __MINGW_NAME_AW(GetProfileSection) +#define WriteProfileSection __MINGW_NAME_AW(WriteProfileSection) +#define GetPrivateProfileInt __MINGW_NAME_AW(GetPrivateProfileInt) +#define GetPrivateProfileString __MINGW_NAME_AW(GetPrivateProfileString) +#define WritePrivateProfileString __MINGW_NAME_AW(WritePrivateProfileString) +#define GetPrivateProfileSection __MINGW_NAME_AW(GetPrivateProfileSection) +#define WritePrivateProfileSection __MINGW_NAME_AW(WritePrivateProfileSection) +#define GetPrivateProfileSectionNames __MINGW_NAME_AW(GetPrivateProfileSectionNames) +#define GetPrivateProfileStruct __MINGW_NAME_AW(GetPrivateProfileStruct) +#define WritePrivateProfileStruct __MINGW_NAME_AW(WritePrivateProfileStruct) + +#if _WIN32_WINNT >= 0x0602 +#define GetFirmwareEnvironmentVariableEx __MINGW_NAME_AW(GetFirmwareEnvironmentVariableEx) +#define SetFirmwareEnvironmentVariableEx __MINGW_NAME_AW(SetFirmwareEnvironmentVariableEx) +#endif + +#ifndef RC_INVOKED + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR lpBuffer, UINT uSize); + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR lpBuffer, UINT uSize); + +#define GetSystemWow64Directory __MINGW_NAME_AW(GetSystemWow64Directory) + + WINBASEAPI BOOLEAN WINAPI Wow64EnableWow64FsRedirection (BOOLEAN Wow64FsEnableRedirection); + + typedef UINT (WINAPI *PGET_SYSTEM_WOW64_DIRECTORY_A) (LPSTR lpBuffer, UINT uSize); + typedef UINT (WINAPI *PGET_SYSTEM_WOW64_DIRECTORY_W) (LPWSTR lpBuffer, UINT uSize); + +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A "GetSystemWow64DirectoryA" +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W L"GetSystemWow64DirectoryA" +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T TEXT ("GetSystemWow64DirectoryA") +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A "GetSystemWow64DirectoryW" +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W L"GetSystemWow64DirectoryW" +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T TEXT ("GetSystemWow64DirectoryW") + +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A __MINGW_NAME_UAW_EXT(GET_SYSTEM_WOW64_DIRECTORY_NAME,A) +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W __MINGW_NAME_UAW_EXT(GET_SYSTEM_WOW64_DIRECTORY_NAME,W) +#define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T __MINGW_NAME_UAW_EXT(GET_SYSTEM_WOW64_DIRECTORY_NAME,T) +#endif + + WINBASEAPI DWORD WINAPI GetDllDirectoryA (DWORD nBufferLength, LPSTR lpBuffer); + WINBASEAPI DWORD WINAPI GetDllDirectoryW (DWORD nBufferLength, LPWSTR lpBuffer); + +#define SetDllDirectory __MINGW_NAME_AW(SetDllDirectory) +#define GetDllDirectory __MINGW_NAME_AW(GetDllDirectory) + +#define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x1 +#define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000 +#define BASE_SEARCH_PATH_PERMANENT 0x8000 +#define BASE_SEARCH_PATH_INVALID_FLAGS ~0x18001 + + WINBASEAPI WINBOOL WINAPI SetSearchPathMode (DWORD Flags); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA (LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize); + WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize); + WINBASEAPI WINBOOL WINAPI SetFirmwareEnvironmentVariableA (LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize); + WINBASEAPI WINBOOL WINAPI SetFirmwareEnvironmentVariableW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize); +#if _WIN32_WINNT >= 0x0602 + WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes); + WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes); + WINBASEAPI WINBOOL WINAPI SetFirmwareEnvironmentVariableExA (LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes); + WINBASEAPI WINBOOL WINAPI SetFirmwareEnvironmentVariableExW (LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes); +#endif +#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) */ + + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 + WINBASEAPI WINBOOL WINAPI SetDllDirectoryA (LPCSTR lpPathName); + WINBASEAPI WINBOOL WINAPI SetDllDirectoryW (LPCWSTR lpPathName); + WINBASEAPI HRSRC WINAPI FindResourceW (HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_VB + WINBASEAPI WINBOOL WINAPI CreateDirectoryExA (LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + WINBASEAPI WINBOOL WINAPI CreateDirectoryExW (LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + +#define CreateDirectoryEx __MINGW_NAME_AW(CreateDirectoryEx) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI CreateDirectoryTransactedA (LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI CreateDirectoryTransactedW (LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI RemoveDirectoryTransactedA (LPCSTR lpPathName, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI RemoveDirectoryTransactedW (LPCWSTR lpPathName, HANDLE hTransaction); + WINBASEAPI DWORD WINAPI GetFullPathNameTransactedA (LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart, HANDLE hTransaction); + WINBASEAPI DWORD WINAPI GetFullPathNameTransactedW (LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart, HANDLE hTransaction); + +#define CreateDirectoryTransacted __MINGW_NAME_AW(CreateDirectoryTransacted) +#define RemoveDirectoryTransacted __MINGW_NAME_AW(RemoveDirectoryTransacted) +#define GetFullPathNameTransacted __MINGW_NAME_AW(GetFullPathNameTransacted) + +#endif + +#define DDD_RAW_TARGET_PATH 0x00000001 +#define DDD_REMOVE_DEFINITION 0x00000002 +#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004 +#define DDD_NO_BROADCAST_SYSTEM 0x00000008 +#define DDD_LUID_BROADCAST_DRIVE 0x00000010 + + WINBASEAPI WINBOOL WINAPI DefineDosDeviceA (DWORD dwFlags, LPCSTR lpDeviceName, LPCSTR lpTargetPath); + WINBASEAPI DWORD WINAPI QueryDosDeviceA (LPCSTR lpDeviceName, LPSTR lpTargetPath, DWORD ucchMax); + +#ifndef UNICODE +#define DefineDosDevice DefineDosDeviceA +#define QueryDosDevice QueryDosDeviceA +#endif + +#define EXPAND_LOCAL_DRIVES + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HANDLE WINAPI CreateFileTransactedA (LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter); + WINBASEAPI HANDLE WINAPI CreateFileTransactedW (LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter); + +#define CreateFileTransacted __MINGW_NAME_AW(CreateFileTransacted) +#endif + + WINBASEAPI HANDLE WINAPI ReOpenFile (HANDLE hOriginalFile, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwFlagsAndAttributes); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI SetFileAttributesTransactedA (LPCSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI SetFileAttributesTransactedW (LPCWSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI GetFileAttributesTransactedA (LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI GetFileAttributesTransactedW (LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction); + +#define SetFileAttributesTransacted __MINGW_NAME_AW(SetFileAttributesTransacted) +#define GetFileAttributesTransacted __MINGW_NAME_AW(GetFileAttributesTransacted) + +#endif + + WINBASEAPI DWORD WINAPI GetCompressedFileSizeA (LPCSTR lpFileName, LPDWORD lpFileSizeHigh); + WINBASEAPI DWORD WINAPI GetCompressedFileSizeW (LPCWSTR lpFileName, LPDWORD lpFileSizeHigh); + +#define GetCompressedFileSize __MINGW_NAME_AW(GetCompressedFileSize) + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedA (LPCSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction); + WINBASEAPI DWORD WINAPI GetCompressedFileSizeTransactedW (LPCWSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI DeleteFileTransactedA (LPCSTR lpFileName, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI DeleteFileTransactedW (LPCWSTR lpFileName, HANDLE hTransaction); + +#define DeleteFileTransacted __MINGW_NAME_AW(DeleteFileTransacted) +#define GetCompressedFileSizeTransacted __MINGW_NAME_AW(GetCompressedFileSizeTransacted) + +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 + typedef DWORD (WINAPI *LPPROGRESS_ROUTINE) (LARGE_INTEGER TotalFileSize, LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE hSourceFile, HANDLE hDestinationFile, LPVOID lpData); + + WINBASEAPI WINBOOL WINAPI CopyFileExA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags); + WINBASEAPI WINBOOL WINAPI CopyFileExW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags); + +#define CopyFileEx __MINGW_NAME_AW(CopyFileEx) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI CheckNameLegalDOS8Dot3A (LPCSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal); + WINBASEAPI WINBOOL WINAPI CheckNameLegalDOS8Dot3W (LPCWSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal); + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HANDLE WINAPI FindFirstFileTransactedA (LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction); + WINBASEAPI HANDLE WINAPI FindFirstFileTransactedW (LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI CopyFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI CopyFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction); + +#define FindFirstFileTransacted __MINGW_NAME_AW(FindFirstFileTransacted) +#define CopyFileTransacted __MINGW_NAME_AW(CopyFileTransacted) +#endif + +#define CheckNameLegalDOS8Dot3 __MINGW_NAME_AW(CheckNameLegalDOS8Dot3) +#define CopyFile __MINGW_NAME_AW(CopyFile) + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI CopyFileA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, WINBOOL bFailIfExists); + WINBASEAPI WINBOOL WINAPI CopyFileW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, WINBOOL bFailIfExists); +#if _WIN32_WINNT >= 0x0601 + typedef enum _COPYFILE2_MESSAGE_TYPE { + COPYFILE2_CALLBACK_NONE = 0, + COPYFILE2_CALLBACK_CHUNK_STARTED, + COPYFILE2_CALLBACK_CHUNK_FINISHED, + COPYFILE2_CALLBACK_STREAM_STARTED, + COPYFILE2_CALLBACK_STREAM_FINISHED, + COPYFILE2_CALLBACK_POLL_CONTINUE, + COPYFILE2_CALLBACK_ERROR, + COPYFILE2_CALLBACK_MAX, + } COPYFILE2_MESSAGE_TYPE; + + typedef enum _COPYFILE2_MESSAGE_ACTION { + COPYFILE2_PROGRESS_CONTINUE = 0, + COPYFILE2_PROGRESS_CANCEL, + COPYFILE2_PROGRESS_STOP, + COPYFILE2_PROGRESS_QUIET, + COPYFILE2_PROGRESS_PAUSE, + } COPYFILE2_MESSAGE_ACTION; + + typedef enum _COPYFILE2_COPY_PHASE { + COPYFILE2_PHASE_NONE = 0, + COPYFILE2_PHASE_PREPARE_SOURCE, + COPYFILE2_PHASE_PREPARE_DEST, + COPYFILE2_PHASE_READ_SOURCE, + COPYFILE2_PHASE_WRITE_DESTINATION, + COPYFILE2_PHASE_SERVER_COPY, + COPYFILE2_PHASE_NAMEGRAFT_COPY, + COPYFILE2_PHASE_MAX, + } COPYFILE2_COPY_PHASE; + +#define COPYFILE2_MESSAGE_COPY_OFFLOAD (__MSABI_LONG (0x00000001)) + + typedef struct COPYFILE2_MESSAGE { + COPYFILE2_MESSAGE_TYPE Type; + DWORD dwPadding; + union { + struct { + DWORD dwStreamNumber; + DWORD dwReserved; + HANDLE hSourceFile; + HANDLE hDestinationFile; + ULARGE_INTEGER uliChunkNumber; + ULARGE_INTEGER uliChunkSize; + ULARGE_INTEGER uliStreamSize; + ULARGE_INTEGER uliTotalFileSize; + } ChunkStarted; + struct { + DWORD dwStreamNumber; + DWORD dwFlags; + HANDLE hSourceFile; + HANDLE hDestinationFile; + ULARGE_INTEGER uliChunkNumber; + ULARGE_INTEGER uliChunkSize; + ULARGE_INTEGER uliStreamSize; + ULARGE_INTEGER uliStreamBytesTransferred; + ULARGE_INTEGER uliTotalFileSize; + ULARGE_INTEGER uliTotalBytesTransferred; + } ChunkFinished; + struct { + DWORD dwStreamNumber; + DWORD dwReserved; + HANDLE hSourceFile; + HANDLE hDestinationFile; + ULARGE_INTEGER uliStreamSize; + ULARGE_INTEGER uliTotalFileSize; + } StreamStarted; + struct { + DWORD dwStreamNumber; + DWORD dwReserved; + HANDLE hSourceFile; + HANDLE hDestinationFile; + ULARGE_INTEGER uliStreamSize; + ULARGE_INTEGER uliStreamBytesTransferred; + ULARGE_INTEGER uliTotalFileSize; + ULARGE_INTEGER uliTotalBytesTransferred; + } StreamFinished; + struct { + DWORD dwReserved; + } PollContinue; + struct { + COPYFILE2_COPY_PHASE CopyPhase; + DWORD dwStreamNumber; + HRESULT hrFailure; + DWORD dwReserved; + ULARGE_INTEGER uliChunkNumber; + ULARGE_INTEGER uliStreamSize; + ULARGE_INTEGER uliStreamBytesTransferred; + ULARGE_INTEGER uliTotalFileSize; + ULARGE_INTEGER uliTotalBytesTransferred; + } Error; + } Info; + } COPYFILE2_MESSAGE; + + typedef COPYFILE2_MESSAGE_ACTION (CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE) (const COPYFILE2_MESSAGE *pMessage, PVOID pvCallbackContext); + + typedef struct COPYFILE2_EXTENDED_PARAMETERS { + DWORD dwSize; + DWORD dwCopyFlags; + WINBOOL *pfCancel; + PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine; + PVOID pvCallbackContext; + } COPYFILE2_EXTENDED_PARAMETERS; + +#if NTDDI_VERSION >= NTDDI_WIN10_FE + +#define COPYFILE2_IO_CYCLE_SIZE_MIN 4096 +#define COPYFILE2_IO_CYCLE_SIZE_MAX 0x40000000 +#define COPYFILE2_IO_RATE_MIN 512 + +#if NTDDI_VERSION >= NTDDI_WIN10_GE + typedef struct _COPYFILE2_CREATE_OPLOCK_KEYS { + GUID ParentOplockKey; + GUID TargetOplockKey; + } COPYFILE2_CREATE_OPLOCK_KEYS, *PCOPYFILE2_CREATE_OPLOCK_KEYS; +#endif + + typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 { + DWORD dwSize; + DWORD dwCopyFlags; + WINBOOL *pfCancel; + PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine; + PVOID pvCallbackContext; + DWORD dwCopyFlagsV2; + ULONG ioDesiredSize; + ULONG ioDesiredRate; +#if NTDDI_VERSION >= NTDDI_WIN11_GA + LPPROGRESS_ROUTINE pProgressRoutineOld; +#if NTDDI_VERSION >= NTDDI_WIN10_GE + PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys; + PVOID reserved[6]; +#else + PVOID reserved[7]; +#endif +#else + PVOID reserved[8]; +#endif + } COPYFILE2_EXTENDED_PARAMETERS_V2; + +#if NTDDI_VERSION >= NTDDI_WIN10_NI +#define COPY_FILE2_V2_DONT_COPY_JUNCTIONS 0x00000001 +#if NTDDI_VERSION >= NTDDI_WIN11_GA +#define COPY_FILE2_V2_DISABLE_BLOCK_CLONING 0x00000002 +#define COPY_FILE2_V2_VALID_FLAGS (COPY_FILE2_V2_DONT_COPY_JUNCTIONS | COPY_FILE2_V2_DISABLE_BLOCK_CLONING) +#else +#define COPY_FILE2_V2_VALID_FLAGS COPY_FILE2_V2_DONT_COPY_JUNCTIONS +#endif /* NTDDI_VERSION >= NTDDI_WIN11_GA */ +#endif /* NTDDI_VERSION >= NTDDI_WIN10_NI */ +#endif /* NTDDI_VERSION >= NTDDI_WIN10_FE */ + + WINBASEAPI HRESULT WINAPI CopyFile2 (PCWSTR pwszExistingFileName, PCWSTR pwszNewFileName, COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI MoveFileA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName); + WINBASEAPI WINBOOL WINAPI MoveFileW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName); + +#define MoveFile __MINGW_NAME_AW(MoveFile) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI MoveFileExA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI MoveFileExW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, DWORD dwFlags); + +#define MoveFileEx __MINGW_NAME_AW(MoveFileEx) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI MoveFileWithProgressA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI MoveFileWithProgressW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags); + +#define MoveFileWithProgress __MINGW_NAME_AW(MoveFileWithProgress) + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI MoveFileTransactedA (LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI MoveFileTransactedW (LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction); + +#define MoveFileTransacted __MINGW_NAME_AW(MoveFileTransacted) +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#define MOVEFILE_REPLACE_EXISTING 0x00000001 +#define MOVEFILE_COPY_ALLOWED 0x00000002 +#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004 +#define MOVEFILE_WRITE_THROUGH 0x00000008 +#define MOVEFILE_CREATE_HARDLINK 0x00000010 +#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x00000020 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 + WINBASEAPI WINBOOL WINAPI GetNamedPipeClientComputerNameA (HANDLE Pipe, LPSTR ClientComputerName, ULONG ClientComputerNameLength); + WINBASEAPI WINBOOL WINAPI WaitNamedPipeA (LPCSTR lpNamedPipeName, DWORD nTimeOut); + WINBASEAPI WINBOOL WINAPI CallNamedPipeA (LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut); + WINBASEAPI WINBOOL WINAPI CallNamedPipeW (LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut); + WINBASEAPI HANDLE WINAPI CreateNamedPipeA (LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + +#ifndef UNICODE +#define WaitNamedPipe WaitNamedPipeA +#define CreateNamedPipe CreateNamedPipeA +#endif + +#define CallNamedPipe __MINGW_NAME_AW(CallNamedPipe) + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI GetNamedPipeHandleStateA (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPSTR lpUserName, DWORD nMaxUserNameSize); + WINBASEAPI WINBOOL WINAPI GetNamedPipeHandleStateW (HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPWSTR lpUserName, DWORD nMaxUserNameSize); + WINBASEAPI WINBOOL WINAPI ReplaceFileA (LPCSTR lpReplacedFileName, LPCSTR lpReplacementFileName, LPCSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved); + WINBASEAPI WINBOOL WINAPI ReplaceFileW (LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 + WINBASEAPI WINBOOL WINAPI CreateHardLinkW (LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI CreateHardLinkA (LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes); + +#define ReplaceFile __MINGW_NAME_AW(ReplaceFile) +#define CreateHardLink __MINGW_NAME_AW(CreateHardLink) + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI CreateHardLinkTransactedA (LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI CreateHardLinkTransactedW (LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction); + +#define CreateHardLinkTransacted __MINGW_NAME_AW(CreateHardLinkTransacted) +#endif + + typedef enum _STREAM_INFO_LEVELS { + FindStreamInfoStandard, + FindStreamInfoMaxInfoLevel + } STREAM_INFO_LEVELS; + + typedef struct _WIN32_FIND_STREAM_DATA { + LARGE_INTEGER StreamSize; + WCHAR cStreamName[MAX_PATH + 36]; + } WIN32_FIND_STREAM_DATA,*PWIN32_FIND_STREAM_DATA; + + WINBASEAPI HANDLE WINAPI FindFirstStreamW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags); + WINBASEAPI WINBOOL APIENTRY FindNextStreamW (HANDLE hFindStream, LPVOID lpFindStreamData); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HANDLE WINAPI FindFirstStreamTransactedW (LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags, HANDLE hTransaction); + WINBASEAPI HANDLE WINAPI FindFirstFileNameW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName); + WINBASEAPI WINBOOL APIENTRY FindNextFileNameW (HANDLE hFindStream, LPDWORD StringLength, PWSTR LinkName); + WINBASEAPI HANDLE WINAPI FindFirstFileNameTransactedW (LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI GetNamedPipeClientProcessId (HANDLE Pipe, PULONG ClientProcessId); + WINBASEAPI WINBOOL WINAPI GetNamedPipeClientSessionId (HANDLE Pipe, PULONG ClientSessionId); + WINBASEAPI WINBOOL WINAPI GetNamedPipeServerProcessId (HANDLE Pipe, PULONG ServerProcessId); + WINBASEAPI WINBOOL WINAPI GetNamedPipeServerSessionId (HANDLE Pipe, PULONG ServerSessionId); + WINBASEAPI WINBOOL WINAPI SetFileBandwidthReservation (HANDLE hFile, DWORD nPeriodMilliseconds, DWORD nBytesPerPeriod, WINBOOL bDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests); + WINBASEAPI WINBOOL WINAPI GetFileBandwidthReservation (HANDLE hFile, LPDWORD lpPeriodMilliseconds, LPDWORD lpBytesPerPeriod, LPBOOL pDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests); +#endif + WINBASEAPI VOID WINAPI SetFileApisToOEM (VOID); + WINBASEAPI VOID WINAPI SetFileApisToANSI (VOID); + WINBASEAPI WINBOOL WINAPI AreFileApisANSI (VOID); + WINADVAPI WINBOOL WINAPI ClearEventLogA (HANDLE hEventLog, LPCSTR lpBackupFileName); + WINADVAPI WINBOOL WINAPI ClearEventLogW (HANDLE hEventLog, LPCWSTR lpBackupFileName); + WINADVAPI WINBOOL WINAPI BackupEventLogA (HANDLE hEventLog, LPCSTR lpBackupFileName); + WINADVAPI WINBOOL WINAPI BackupEventLogW (HANDLE hEventLog, LPCWSTR lpBackupFileName); + WINADVAPI WINBOOL WINAPI CloseEventLog (HANDLE hEventLog); + WINADVAPI WINBOOL WINAPI DeregisterEventSource (HANDLE hEventLog); + WINADVAPI WINBOOL WINAPI NotifyChangeEventLog (HANDLE hEventLog, HANDLE hEvent); + WINADVAPI WINBOOL WINAPI GetNumberOfEventLogRecords (HANDLE hEventLog, PDWORD NumberOfRecords); + WINADVAPI WINBOOL WINAPI GetOldestEventLogRecord (HANDLE hEventLog, PDWORD OldestRecord); + WINADVAPI HANDLE WINAPI OpenEventLogA (LPCSTR lpUNCServerName, LPCSTR lpSourceName); + WINADVAPI HANDLE WINAPI OpenEventLogW (LPCWSTR lpUNCServerName, LPCWSTR lpSourceName); + WINADVAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR lpUNCServerName, LPCSTR lpSourceName); + WINADVAPI HANDLE WINAPI RegisterEventSourceW (LPCWSTR lpUNCServerName, LPCWSTR lpSourceName); + WINADVAPI HANDLE WINAPI OpenBackupEventLogA (LPCSTR lpUNCServerName, LPCSTR lpFileName); + WINADVAPI HANDLE WINAPI OpenBackupEventLogW (LPCWSTR lpUNCServerName, LPCWSTR lpFileName); + WINADVAPI WINBOOL WINAPI ReadEventLogA (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded); + WINADVAPI WINBOOL WINAPI ReadEventLogW (HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded); + WINADVAPI WINBOOL WINAPI ReportEventA (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCSTR *lpStrings, LPVOID lpRawData); + WINADVAPI WINBOOL WINAPI ReportEventW (HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCWSTR *lpStrings, LPVOID lpRawData); + +#ifndef UNICODE +#define GetVolumeInformation GetVolumeInformationA +#endif + +#define GetNamedPipeHandleState __MINGW_NAME_AW(GetNamedPipeHandleState) +#define ClearEventLog __MINGW_NAME_AW(ClearEventLog) +#define BackupEventLog __MINGW_NAME_AW(BackupEventLog) +#define OpenEventLog __MINGW_NAME_AW(OpenEventLog) +#define RegisterEventSource __MINGW_NAME_AW(RegisterEventSource) +#define OpenBackupEventLog __MINGW_NAME_AW(OpenBackupEventLog) +#define ReadEventLog __MINGW_NAME_AW(ReadEventLog) +#define ReportEvent __MINGW_NAME_AW(ReportEvent) + +#if _WIN32_WINNT >= 0x0600 && !defined (UNICODE) +#define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameA +#endif + +#define EVENTLOG_FULL_INFO 0 + + typedef struct _EVENTLOG_FULL_INFORMATION { + DWORD dwFull; + } EVENTLOG_FULL_INFORMATION,*LPEVENTLOG_FULL_INFORMATION; + + WINADVAPI WINBOOL WINAPI GetEventLogInformation (HANDLE hEventLog, DWORD dwInfoLevel, LPVOID lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded); + +#if _WIN32_WINNT >= 0x0602 + +#define OPERATION_API_VERSION 1 + + typedef ULONG OPERATION_ID; + + typedef struct _OPERATION_START_PARAMETERS { + ULONG Version; + OPERATION_ID OperationId; + ULONG Flags; + } OPERATION_START_PARAMETERS,*POPERATION_START_PARAMETERS; + +#define OPERATION_START_TRACE_CURRENT_THREAD 0x1 + + typedef struct _OPERATION_END_PARAMETERS { + ULONG Version; + OPERATION_ID OperationId; + ULONG Flags; + } OPERATION_END_PARAMETERS,*POPERATION_END_PARAMETERS; + +#define OPERATION_END_DISCARD 0x1 + + WINADVAPI WINBOOL WINAPI OperationStart (OPERATION_START_PARAMETERS *OperationStartParams); + WINADVAPI WINBOOL WINAPI OperationEnd (OPERATION_END_PARAMETERS *OperationEndParams); +#endif + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI GetVolumeInformationA (LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 + WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesW (HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, WINBOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 +WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesExW (HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, WINBOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, READ_DIRECTORY_NOTIFY_INFORMATION_CLASS ReadDirectoryNotifyInformationClass); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + + WINADVAPI WINBOOL WINAPI AccessCheckAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose); + WINADVAPI WINBOOL WINAPI AccessCheckByTypeAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose); + WINADVAPI WINBOOL WINAPI AccessCheckByTypeResultListAndAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose); + WINADVAPI WINBOOL WINAPI AccessCheckByTypeResultListAndAuditAlarmByHandleA (LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose); + WINADVAPI WINBOOL WINAPI ObjectOpenAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, WINBOOL ObjectCreation, WINBOOL AccessGranted, LPBOOL GenerateOnClose); + WINADVAPI WINBOOL WINAPI ObjectPrivilegeAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted); + WINADVAPI WINBOOL WINAPI ObjectCloseAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose); + WINADVAPI WINBOOL WINAPI ObjectDeleteAuditAlarmA (LPCSTR SubsystemName, LPVOID HandleId, WINBOOL GenerateOnClose); + WINADVAPI WINBOOL WINAPI PrivilegedServiceAuditAlarmA (LPCSTR SubsystemName, LPCSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL AccessGranted); + WINADVAPI WINBOOL WINAPI SetFileSecurityA (LPCSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor); + WINADVAPI WINBOOL WINAPI GetFileSecurityA (LPCSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded); + WINBASEAPI WINBOOL WINAPI IsBadReadPtr (CONST VOID *lp, UINT_PTR ucb); + WINBASEAPI WINBOOL WINAPI IsBadWritePtr (LPVOID lp, UINT_PTR ucb); + WINBASEAPI WINBOOL WINAPI IsBadHugeReadPtr (CONST VOID *lp, UINT_PTR ucb); + WINBASEAPI WINBOOL WINAPI IsBadHugeWritePtr (LPVOID lp, UINT_PTR ucb); + WINBASEAPI WINBOOL WINAPI IsBadCodePtr (FARPROC lpfn); + WINBASEAPI WINBOOL WINAPI IsBadStringPtrA (LPCSTR lpsz, UINT_PTR ucchMax); + WINBASEAPI WINBOOL WINAPI IsBadStringPtrW (LPCWSTR lpsz, UINT_PTR ucchMax); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI LPVOID WINAPI MapViewOfFileExNuma (HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress, DWORD nndPreferred); +#endif +#if _WIN32_WINNT >= 0x0601 + WINADVAPI WINBOOL WINAPI AddConditionalAce (PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, UCHAR AceType, DWORD AccessMask, PSID pSid, PWCHAR ConditionStr, DWORD *ReturnLength); +#endif + +#ifndef UNICODE +#define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA +#define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmA +#define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmA +#define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleA +#define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA +#define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA +#define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA +#define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA +#define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA +#define SetFileSecurity SetFileSecurityA +#define GetFileSecurity GetFileSecurityA +#endif + +#define IsBadStringPtr __MINGW_NAME_AW(IsBadStringPtr) + +#if _WIN32_WINNT >= 0x0601 + WINADVAPI WINBOOL WINAPI LookupAccountNameLocalA (LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountNameLocalW (LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountSidLocalA (PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountSidLocalW (PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + +#define LookupAccountNameLocal __MINGW_NAME_AW(LookupAccountNameLocal) +#define LookupAccountSidLocal __MINGW_NAME_AW(LookupAccountSidLocal) +#else + +#define LookupAccountNameLocalA(n, s, cs, d, cd, u) LookupAccountNameA (NULL, n, s, cs, d, cd, u) +#define LookupAccountNameLocalW(n, s, cs, d, cd, u) LookupAccountNameW (NULL, n, s, cs, d, cd, u) +#define LookupAccountNameLocal(n, s, cs, d, cd, u) __MINGW_NAME_AW(LookupAccountName) (NULL, n, s, cs, d, cd, u) + +#define LookupAccountSidLocalA(s, n, cn, d, cd, u) LookupAccountSidA (NULL, s, n, cn, d, cd, u) +#define LookupAccountSidLocalW(s, n, cn, d, cd, u) LookupAccountSidW (NULL, s, n, cn, d, cd, u) +#define LookupAccountSidLocal(s, n, cn, d, cd, u) __MINGW_NAME_AW(LookupAccountSid) (NULL, s, n, cn, d, cd, u) + +#endif + + WINBASEAPI WINBOOL WINAPI BuildCommDCBA (LPCSTR lpDef, LPDCB lpDCB); + WINBASEAPI WINBOOL WINAPI BuildCommDCBW (LPCWSTR lpDef, LPDCB lpDCB); + WINBASEAPI WINBOOL WINAPI BuildCommDCBAndTimeoutsA (LPCSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts); + WINBASEAPI WINBOOL WINAPI BuildCommDCBAndTimeoutsW (LPCWSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts); + WINBASEAPI WINBOOL WINAPI CommConfigDialogA (LPCSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC); + WINBASEAPI WINBOOL WINAPI CommConfigDialogW (LPCWSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC); + WINBASEAPI WINBOOL WINAPI GetDefaultCommConfigA (LPCSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize); + WINBASEAPI WINBOOL WINAPI GetDefaultCommConfigW (LPCWSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize); + WINBASEAPI WINBOOL WINAPI SetDefaultCommConfigA (LPCSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize); + WINBASEAPI WINBOOL WINAPI SetDefaultCommConfigW (LPCWSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize); + +#define BuildCommDCB __MINGW_NAME_AW(BuildCommDCB) +#define BuildCommDCBAndTimeouts __MINGW_NAME_AW(BuildCommDCBAndTimeouts) +#define CommConfigDialog __MINGW_NAME_AW(CommConfigDialog) +#define GetDefaultCommConfig __MINGW_NAME_AW(GetDefaultCommConfig) +#define SetDefaultCommConfig __MINGW_NAME_AW(SetDefaultCommConfig) + +#define MAX_COMPUTERNAME_LENGTH 15 + + WINBASEAPI WINBOOL WINAPI SetComputerNameA (LPCSTR lpComputerName); + WINBASEAPI WINBOOL WINAPI SetComputerNameW (LPCWSTR lpComputerName); + WINBASEAPI WINBOOL WINAPI SetComputerNameExA (COMPUTER_NAME_FORMAT NameType, LPCTSTR lpBuffer); + WINBASEAPI WINBOOL WINAPI DnsHostnameToComputerNameA (LPCSTR Hostname, LPSTR ComputerName, LPDWORD nSize); + WINBASEAPI WINBOOL WINAPI DnsHostnameToComputerNameW (LPCWSTR Hostname, LPWSTR ComputerName, LPDWORD nSize); + +#ifndef UNICODE +#define SetComputerNameEx SetComputerNameExA +#endif + +#define SetComputerName __MINGW_NAME_AW(SetComputerName) +#define DnsHostnameToComputerName __MINGW_NAME_AW(DnsHostnameToComputerName) + +#define LOGON32_LOGON_INTERACTIVE 2 +#define LOGON32_LOGON_NETWORK 3 +#define LOGON32_LOGON_BATCH 4 +#define LOGON32_LOGON_SERVICE 5 +#define LOGON32_LOGON_UNLOCK 7 +#define LOGON32_LOGON_NETWORK_CLEARTEXT 8 +#define LOGON32_LOGON_NEW_CREDENTIALS 9 + +#define LOGON32_PROVIDER_DEFAULT 0 +#define LOGON32_PROVIDER_WINNT35 1 +#define LOGON32_PROVIDER_WINNT40 2 +#define LOGON32_PROVIDER_WINNT50 3 +#if _WIN32_WINNT >= 0x0600 +#define LOGON32_PROVIDER_VIRTUAL 4 +#endif + + WINADVAPI WINBOOL WINAPI LogonUserA (LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken); + WINADVAPI WINBOOL WINAPI LogonUserW (LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken); + WINADVAPI WINBOOL WINAPI LogonUserExA (LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits); + WINADVAPI WINBOOL WINAPI LogonUserExW (LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits); + WINADVAPI WINBOOL WINAPI CreateProcessAsUserA (HANDLE hToken, LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, WINBOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); + +#ifndef UNICODE +#define CreateProcessAsUser CreateProcessAsUserA +#endif + +#define LogonUser __MINGW_NAME_AW(LogonUser) +#define LogonUserEx __MINGW_NAME_AW(LogonUserEx) + +#define LOGON_WITH_PROFILE 0x00000001 +#define LOGON_NETCREDENTIALS_ONLY 0x00000002 +#define LOGON_ZERO_PASSWORD_BUFFER 0x80000000 + + WINADVAPI WINBOOL WINAPI CreateProcessWithLogonW (LPCWSTR lpUsername, LPCWSTR lpDomain, LPCWSTR lpPassword, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); + WINADVAPI WINBOOL WINAPI CreateProcessWithTokenW (HANDLE hToken, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation); + WINADVAPI WINBOOL WINAPI IsTokenUntrusted (HANDLE TokenHandle); + WINBASEAPI WINBOOL WINAPI RegisterWaitForSingleObject (PHANDLE phNewWaitObject, HANDLE hObject, WAITORTIMERCALLBACK Callback, PVOID Context, ULONG dwMilliseconds, ULONG dwFlags); + WINBASEAPI WINBOOL WINAPI UnregisterWait (HANDLE WaitHandle); + WINBASEAPI WINBOOL WINAPI BindIoCompletionCallback (HANDLE FileHandle, LPOVERLAPPED_COMPLETION_ROUTINE Function, ULONG Flags); + WINBASEAPI HANDLE WINAPI SetTimerQueueTimer (HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, WINBOOL PreferIo); + WINBASEAPI WINBOOL WINAPI CancelTimerQueueTimer (HANDLE TimerQueue, HANDLE Timer); + WINBASEAPI WINBOOL WINAPI DeleteTimerQueue (HANDLE TimerQueue); + +#ifndef __WIDL__ + WINBASEAPI WINBOOL WINAPI AddIntegrityLabelToBoundaryDescriptor (HANDLE *BoundaryDescriptor, PSID IntegrityLabel); +#endif + +#define HW_PROFILE_GUIDLEN 39 +#define MAX_PROFILE_LEN 80 + +#define DOCKINFO_UNDOCKED (0x1) +#define DOCKINFO_DOCKED (0x2) +#define DOCKINFO_USER_SUPPLIED (0x4) +#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED) +#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED) + + typedef struct tagHW_PROFILE_INFOA { + DWORD dwDockInfo; + CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + CHAR szHwProfileName[MAX_PROFILE_LEN]; + } HW_PROFILE_INFOA,*LPHW_PROFILE_INFOA; + + typedef struct tagHW_PROFILE_INFOW { + DWORD dwDockInfo; + WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN]; + WCHAR szHwProfileName[MAX_PROFILE_LEN]; + } HW_PROFILE_INFOW,*LPHW_PROFILE_INFOW; + + __MINGW_TYPEDEF_AW(HW_PROFILE_INFO) + __MINGW_TYPEDEF_AW(LPHW_PROFILE_INFO) + + WINADVAPI WINBOOL WINAPI GetCurrentHwProfileA (LPHW_PROFILE_INFOA lpHwProfileInfo); + WINADVAPI WINBOOL WINAPI GetCurrentHwProfileW (LPHW_PROFILE_INFOW lpHwProfileInfo); + WINBASEAPI WINBOOL WINAPI VerifyVersionInfoA (LPOSVERSIONINFOEXA lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask); + WINBASEAPI WINBOOL WINAPI VerifyVersionInfoW (LPOSVERSIONINFOEXW lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask); + +#define GetCurrentHwProfile __MINGW_NAME_AW(GetCurrentHwProfile) + +#define VerifyVersionInfo __MINGW_NAME_AW(VerifyVersionInfo) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || defined(WINSTORECOMPAT) + WINADVAPI WINBOOL WINAPI GetUserNameA (LPSTR lpBuffer, LPDWORD pcbBuffer); + WINADVAPI WINBOOL WINAPI GetUserNameW (LPWSTR lpBuffer, LPDWORD pcbBuffer); +#define GetUserName __MINGW_NAME_AW(GetUserName) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINADVAPI WINBOOL WINAPI LookupAccountNameA (LPCSTR lpSystemName, LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountNameW (LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountSidA (LPCSTR lpSystemName, PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupAccountSidW (LPCWSTR lpSystemName, PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse); + WINADVAPI WINBOOL WINAPI LookupPrivilegeDisplayNameA (LPCSTR lpSystemName, LPCSTR lpName, LPSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId); + WINADVAPI WINBOOL WINAPI LookupPrivilegeDisplayNameW (LPCWSTR lpSystemName, LPCWSTR lpName, LPWSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId); + WINADVAPI WINBOOL WINAPI LookupPrivilegeNameA (LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, LPDWORD cchName); + WINADVAPI WINBOOL WINAPI LookupPrivilegeNameW (LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cchName); + WINADVAPI WINBOOL WINAPI LookupPrivilegeValueA (LPCSTR lpSystemName, LPCSTR lpName, PLUID lpLuid); + WINADVAPI WINBOOL WINAPI LookupPrivilegeValueW (LPCWSTR lpSystemName, LPCWSTR lpName, PLUID lpLuid); +#define LookupAccountSid __MINGW_NAME_AW(LookupAccountSid) +#define LookupAccountName __MINGW_NAME_AW(LookupAccountName) +#define LookupPrivilegeValue __MINGW_NAME_AW(LookupPrivilegeValue) +#define LookupPrivilegeName __MINGW_NAME_AW(LookupPrivilegeName) +#define LookupPrivilegeDisplayName __MINGW_NAME_AW(LookupPrivilegeDisplayName) + + WINBASEAPI WINBOOL WINAPI SetVolumeLabelA (LPCSTR lpRootPathName, LPCSTR lpVolumeName); + WINBASEAPI HANDLE WINAPI CreatePrivateNamespaceA (LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix); + WINBASEAPI HANDLE WINAPI OpenPrivateNamespaceA (LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix); + WINBASEAPI HANDLE APIENTRY CreateBoundaryDescriptorA (LPCSTR Name, ULONG Flags); +#ifndef UNICODE +#define CreatePrivateNamespace __MINGW_NAME_AW(CreatePrivateNamespace) +#endif +#define OpenPrivateNamespace __MINGW_NAME_AW(OpenPrivateNamespace) +#ifndef UNICODE +#define CreateBoundaryDescriptor __MINGW_NAME_AW(CreateBoundaryDescriptor) +#endif + + WINBASEAPI WINBOOL WINAPI SetVolumeLabelW (LPCWSTR lpRootPathName, LPCWSTR lpVolumeName); +#define SetVolumeLabel __MINGW_NAME_AW(SetVolumeLabel) + WINBASEAPI WINBOOL WINAPI GetComputerNameA (LPSTR lpBuffer, LPDWORD nSize); + WINBASEAPI WINBOOL WINAPI GetComputerNameW (LPWSTR lpBuffer, LPDWORD nSize); +#define GetComputerName __MINGW_NAME_AW(GetComputerName) +#endif + +#include +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + +#define TC_NORMAL 0 +#define TC_HARDERR 1 +#define TC_GP_TRAP 2 +#define TC_SIGNAL 3 + +#define AC_LINE_OFFLINE 0x00 +#define AC_LINE_ONLINE 0x01 +#define AC_LINE_BACKUP_POWER 0x02 +#define AC_LINE_UNKNOWN 0xff + +#define BATTERY_FLAG_HIGH 0x01 +#define BATTERY_FLAG_LOW 0x02 +#define BATTERY_FLAG_CRITICAL 0x04 +#define BATTERY_FLAG_CHARGING 0x08 +#define BATTERY_FLAG_NO_BATTERY 0x80 +#define BATTERY_FLAG_UNKNOWN 0xff + +#define BATTERY_PERCENTAGE_UNKNOWN 0xff + +#define SYSTEM_STATUS_FLAG_POWER_SAVING_ON 0x01 + +#define BATTERY_LIFE_UNKNOWN 0xffffffff + + typedef struct _SYSTEM_POWER_STATUS { + BYTE ACLineStatus; + BYTE BatteryFlag; + BYTE BatteryLifePercent; + BYTE SystemStatusFlag; + DWORD BatteryLifeTime; + DWORD BatteryFullLifeTime; + } SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; + + WINBASEAPI WINBOOL WINAPI GetSystemPowerStatus (LPSYSTEM_POWER_STATUS lpSystemPowerStatus); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI SetSystemPowerState (WINBOOL fSuspend, WINBOOL fForce); + +#if _WIN32_WINNT >= 0x0602 + typedef VOID WINAPI BAD_MEMORY_CALLBACK_ROUTINE (VOID); + typedef BAD_MEMORY_CALLBACK_ROUTINE *PBAD_MEMORY_CALLBACK_ROUTINE; + + WINBASEAPI PVOID WINAPI RegisterBadMemoryNotification (PBAD_MEMORY_CALLBACK_ROUTINE Callback); + WINBASEAPI WINBOOL WINAPI UnregisterBadMemoryNotification (PVOID RegistrationHandle); + WINBASEAPI WINBOOL WINAPI GetMemoryErrorHandlingCapabilities (PULONG Capabilities); + +#define MEHC_PATROL_SCRUBBER_PRESENT 0x1 + +#endif + + WINBASEAPI WINBOOL WINAPI AllocateUserPhysicalPages (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray); + WINBASEAPI WINBOOL WINAPI FreeUserPhysicalPages (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray); + WINBASEAPI WINBOOL WINAPI MapUserPhysicalPages (PVOID VirtualAddress, ULONG_PTR NumberOfPages, PULONG_PTR PageArray); + WINBASEAPI WINBOOL WINAPI MapUserPhysicalPagesScatter (PVOID *VirtualAddresses, ULONG_PTR NumberOfPages, PULONG_PTR PageArray); + WINBASEAPI HANDLE WINAPI CreateJobObjectA (LPSECURITY_ATTRIBUTES lpJobAttributes, LPCSTR lpName); + WINBASEAPI HANDLE WINAPI CreateJobObjectW (LPSECURITY_ATTRIBUTES lpJobAttributes, LPCWSTR lpName); + WINBASEAPI HANDLE WINAPI OpenJobObjectA (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCSTR lpName); + WINBASEAPI HANDLE WINAPI OpenJobObjectW (DWORD dwDesiredAccess, WINBOOL bInheritHandle, LPCWSTR lpName); + WINBASEAPI WINBOOL WINAPI AssignProcessToJobObject (HANDLE hJob, HANDLE hProcess); + WINBASEAPI WINBOOL WINAPI TerminateJobObject (HANDLE hJob, UINT uExitCode); + WINBASEAPI WINBOOL WINAPI QueryInformationJobObject (HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength, LPDWORD lpReturnLength); + WINBASEAPI WINBOOL WINAPI SetInformationJobObject (HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength); + WINBASEAPI WINBOOL WINAPI CreateJobSet (ULONG NumJob, PJOB_SET_ARRAY UserJobSet, ULONG Flags); + WINBASEAPI HANDLE WINAPI FindFirstVolumeA (LPSTR lpszVolumeName, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI FindNextVolumeA (HANDLE hFindVolume, LPSTR lpszVolumeName, DWORD cchBufferLength); + WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA (LPCSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength); + WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW (LPCWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI FindNextVolumeMountPointA (HANDLE hFindVolumeMountPoint, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI FindNextVolumeMountPointW (HANDLE hFindVolumeMountPoint, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI FindVolumeMountPointClose (HANDLE hFindVolumeMountPoint); + WINBASEAPI WINBOOL WINAPI SetVolumeMountPointA (LPCSTR lpszVolumeMountPoint, LPCSTR lpszVolumeName); + WINBASEAPI WINBOOL WINAPI SetVolumeMountPointW (LPCWSTR lpszVolumeMountPoint, LPCWSTR lpszVolumeName); + WINBASEAPI WINBOOL WINAPI GetVolumeNameForVolumeMountPointA (LPCSTR lpszVolumeMountPoint, LPSTR lpszVolumeName, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI GetVolumePathNameA (LPCSTR lpszFileName, LPSTR lpszVolumePathName, DWORD cchBufferLength); + WINBASEAPI WINBOOL WINAPI GetVolumePathNamesForVolumeNameA (LPCSTR lpszVolumeName, LPCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI AllocateUserPhysicalPagesNuma (HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray, DWORD nndPreferred); +#endif + +#ifndef UNICODE +#define FindFirstVolume FindFirstVolumeA +#define FindNextVolume FindNextVolumeA +#define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA +#define GetVolumePathName GetVolumePathNameA +#define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA +#endif + +#define CreateJobObject __MINGW_NAME_AW(CreateJobObject) +#define OpenJobObject __MINGW_NAME_AW(OpenJobObject) +#define FindFirstVolumeMountPoint __MINGW_NAME_AW(FindFirstVolumeMountPoint) +#define FindNextVolumeMountPoint __MINGW_NAME_AW(FindNextVolumeMountPoint) +#define SetVolumeMountPoint __MINGW_NAME_AW(SetVolumeMountPoint) + +#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID (0x00000001) +#define ACTCTX_FLAG_LANGID_VALID (0x00000002) +#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID (0x00000004) +#define ACTCTX_FLAG_RESOURCE_NAME_VALID (0x00000008) +#define ACTCTX_FLAG_SET_PROCESS_DEFAULT (0x00000010) +#define ACTCTX_FLAG_APPLICATION_NAME_VALID (0x00000020) +#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF (0x00000040) +#define ACTCTX_FLAG_HMODULE_VALID (0x00000080) + + typedef struct tagACTCTXA { + ULONG cbSize; + DWORD dwFlags; + LPCSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCSTR lpAssemblyDirectory; + LPCSTR lpResourceName; + LPCSTR lpApplicationName; + HMODULE hModule; + } ACTCTXA,*PACTCTXA; + + typedef struct tagACTCTXW { + ULONG cbSize; + DWORD dwFlags; + LPCWSTR lpSource; + USHORT wProcessorArchitecture; + LANGID wLangId; + LPCWSTR lpAssemblyDirectory; + LPCWSTR lpResourceName; + LPCWSTR lpApplicationName; + HMODULE hModule; + } ACTCTXW,*PACTCTXW; + + __MINGW_TYPEDEF_AW(ACTCTX) + __MINGW_TYPEDEF_AW(PACTCTX) + + typedef const ACTCTXA *PCACTCTXA; + typedef const ACTCTXW *PCACTCTXW; + + __MINGW_TYPEDEF_AW(PCACTCTX) + + WINBASEAPI HANDLE WINAPI CreateActCtxA (PCACTCTXA pActCtx); + WINBASEAPI HANDLE WINAPI CreateActCtxW (PCACTCTXW pActCtx); + WINBASEAPI VOID WINAPI AddRefActCtx (HANDLE hActCtx); + WINBASEAPI VOID WINAPI ReleaseActCtx (HANDLE hActCtx); + WINBASEAPI WINBOOL WINAPI ZombifyActCtx (HANDLE hActCtx); + WINBASEAPI WINBOOL WINAPI ActivateActCtx (HANDLE hActCtx, ULONG_PTR *lpCookie); + WINBASEAPI WINBOOL WINAPI DeactivateActCtx (DWORD dwFlags, ULONG_PTR ulCookie); + WINBASEAPI WINBOOL WINAPI GetCurrentActCtx (HANDLE *lphActCtx); + +#define CreateActCtx __MINGW_NAME_AW(CreateActCtx) +#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001) + + typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 { + ULONG cbSize; + ULONG ulDataFormatVersion; + PVOID lpData; + ULONG ulLength; + PVOID lpSectionGlobalData; + ULONG ulSectionGlobalDataLength; + PVOID lpSectionBase; + ULONG ulSectionTotalLength; + HANDLE hActCtx; + ULONG ulAssemblyRosterIndex; + } ACTCTX_SECTION_KEYED_DATA_2600,*PACTCTX_SECTION_KEYED_DATA_2600; + + typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600; + + typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { + PVOID lpInformation; + PVOID lpSectionBase; + ULONG ulSectionLength; + PVOID lpSectionGlobalDataBase; + ULONG ulSectionGlobalDataLength; + } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA,*PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; + + typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; + + typedef struct tagACTCTX_SECTION_KEYED_DATA { + ULONG cbSize; + ULONG ulDataFormatVersion; + PVOID lpData; + ULONG ulLength; + PVOID lpSectionGlobalData; + ULONG ulSectionGlobalDataLength; + PVOID lpSectionBase; + ULONG ulSectionTotalLength; + HANDLE hActCtx; + ULONG ulAssemblyRosterIndex; + ULONG ulFlags; + ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata; + } ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA; + + typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA; + +#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001) +#define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002) +#define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004) + + WINBASEAPI WINBOOL WINAPI FindActCtxSectionStringA (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData); + WINBASEAPI WINBOOL WINAPI FindActCtxSectionStringW (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCWSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData); + WINBASEAPI WINBOOL WINAPI FindActCtxSectionGuid (DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, const GUID *lpGuidToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData); + +#define FindActCtxSectionString __MINGW_NAME_AW(FindActCtxSectionString) + +#if !defined (RC_INVOKED) && !defined (ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) + typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { + HANDLE hActCtx; + DWORD dwFlags; + } ACTIVATION_CONTEXT_BASIC_INFORMATION,*PACTIVATION_CONTEXT_BASIC_INFORMATION; + + typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION; + +#define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1 +#endif + +#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004) +#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008) +#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010) +#define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000) + + WINBASEAPI WINBOOL WINAPI QueryActCtxW (DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired); + + typedef WINBOOL (WINAPI *PQUERYACTCTXW_FUNC) (DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired); + +#if _WIN32_WINNT >= 0x0501 + WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId (VOID); +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD + WINBASEAPI DWORD WINAPI WTSGetServiceSessionId (VOID); + WINBASEAPI BOOLEAN WINAPI WTSIsServerContainer (VOID); +#endif + WINBASEAPI WINBOOL WINAPI GetNumaProcessorNode (UCHAR Processor, PUCHAR NodeNumber); + WINBASEAPI WINBOOL WINAPI GetNumaNodeProcessorMask (UCHAR Node, PULONGLONG ProcessorMask); + WINBASEAPI WINBOOL WINAPI GetNumaAvailableMemoryNode (UCHAR Node, PULONGLONG AvailableBytes); +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI GetNumaProximityNode (ULONG ProximityId, PUCHAR NodeNumber); +#endif +#if _WIN32_WINNT >= 0x0601 + WINBASEAPI WORD WINAPI GetActiveProcessorGroupCount (VOID); + WINBASEAPI WORD WINAPI GetMaximumProcessorGroupCount (VOID); + WINBASEAPI DWORD WINAPI GetActiveProcessorCount (WORD GroupNumber); + WINBASEAPI DWORD WINAPI GetMaximumProcessorCount (WORD GroupNumber); + WINBASEAPI WINBOOL WINAPI GetNumaNodeNumberFromHandle (HANDLE hFile, PUSHORT NodeNumber); + WINBASEAPI WINBOOL WINAPI GetNumaProcessorNodeEx (PPROCESSOR_NUMBER Processor, PUSHORT NodeNumber); + WINBASEAPI WINBOOL WINAPI GetNumaAvailableMemoryNodeEx (USHORT Node, PULONGLONG AvailableBytes); + WINBASEAPI WINBOOL WINAPI GetNumaProximityNodeEx (ULONG ProximityId, PUSHORT NodeNumber); +#endif + + typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK) (PVOID pvParameter); + +#define RESTART_MAX_CMD_LINE 1024 + +#define RESTART_NO_CRASH 1 +#define RESTART_NO_HANG 2 +#define RESTART_NO_PATCH 4 +#define RESTART_NO_REBOOT 8 + +#define RECOVERY_DEFAULT_PING_INTERVAL 5000 +#define RECOVERY_MAX_PING_INTERVAL (5 *60 *1000) + +#if _WIN32_WINNT >= 0x0600 + WINBASEAPI HRESULT WINAPI RegisterApplicationRecoveryCallback (APPLICATION_RECOVERY_CALLBACK pRecoveyCallback, PVOID pvParameter, DWORD dwPingInterval, DWORD dwFlags); + WINBASEAPI HRESULT WINAPI UnregisterApplicationRecoveryCallback (void); + WINBASEAPI HRESULT WINAPI RegisterApplicationRestart (PCWSTR pwzCommandline, DWORD dwFlags); + WINBASEAPI HRESULT WINAPI UnregisterApplicationRestart (void); + WINBASEAPI HRESULT WINAPI GetApplicationRecoveryCallback (HANDLE hProcess, APPLICATION_RECOVERY_CALLBACK *pRecoveryCallback, PVOID *ppvParameter, PDWORD pdwPingInterval, PDWORD pdwFlags); + WINBASEAPI HRESULT WINAPI GetApplicationRestartSettings (HANDLE hProcess, PWSTR pwzCommandline, PDWORD pcchSize, PDWORD pdwFlags); + WINBASEAPI HRESULT WINAPI ApplicationRecoveryInProgress (PBOOL pbCancelled); + WINBASEAPI VOID WINAPI ApplicationRecoveryFinished (WINBOOL bSuccess); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI DeleteVolumeMountPointA (LPCSTR lpszVolumeMountPoint); +#ifndef UNICODE +#define DeleteVolumeMountPoint DeleteVolumeMountPointA +#endif +#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) */ + + +#if _WIN32_WINNT >= 0x0600 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct _FILE_BASIC_INFO { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + DWORD FileAttributes; + } FILE_BASIC_INFO,*PFILE_BASIC_INFO; + + typedef struct _FILE_STANDARD_INFO { + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; + } FILE_STANDARD_INFO,*PFILE_STANDARD_INFO; + + typedef struct _FILE_NAME_INFO { + DWORD FileNameLength; + WCHAR FileName[1]; + } FILE_NAME_INFO,*PFILE_NAME_INFO; + + typedef struct _FILE_CASE_SENSITIVE_INFO { + ULONG Flags; + } FILE_CASE_SENSITIVE_INFO,*PFILE_CASE_SENSITIVE_INFO; + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1 +#define FILE_RENAME_FLAG_REPLACE_IF_EXISTS 0x00000001 +#define FILE_RENAME_FLAG_POSIX_SEMANTICS 0x00000002 +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3 +#define FILE_RENAME_FLAG_SUPPRESS_PIN_STATE_INHERITANCE 0x00000004 +#endif + + typedef struct _FILE_RENAME_INFO { +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1 + __C89_NAMELESS union { + BOOLEAN ReplaceIfExists; + DWORD Flags; + }; +#else + BOOLEAN ReplaceIfExists; +#endif + HANDLE RootDirectory; + DWORD FileNameLength; + WCHAR FileName[1]; + } FILE_RENAME_INFO,*PFILE_RENAME_INFO; + + typedef struct _FILE_ALLOCATION_INFO { + LARGE_INTEGER AllocationSize; + } FILE_ALLOCATION_INFO,*PFILE_ALLOCATION_INFO; + + typedef struct _FILE_END_OF_FILE_INFO { + LARGE_INTEGER EndOfFile; + } FILE_END_OF_FILE_INFO,*PFILE_END_OF_FILE_INFO; + + typedef struct _FILE_STREAM_INFO { + DWORD NextEntryOffset; + DWORD StreamNameLength; + LARGE_INTEGER StreamSize; + LARGE_INTEGER StreamAllocationSize; + WCHAR StreamName[1]; + } FILE_STREAM_INFO,*PFILE_STREAM_INFO; + + typedef struct _FILE_COMPRESSION_INFO { + LARGE_INTEGER CompressedFileSize; + WORD CompressionFormat; + UCHAR CompressionUnitShift; + UCHAR ChunkShift; + UCHAR ClusterShift; + UCHAR Reserved[3]; + } FILE_COMPRESSION_INFO,*PFILE_COMPRESSION_INFO; + + typedef struct _FILE_ATTRIBUTE_TAG_INFO { + DWORD FileAttributes; + DWORD ReparseTag; + } FILE_ATTRIBUTE_TAG_INFO,*PFILE_ATTRIBUTE_TAG_INFO; + + typedef struct _FILE_DISPOSITION_INFO { + BOOLEAN DeleteFile; + } FILE_DISPOSITION_INFO,*PFILE_DISPOSITION_INFO; + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1 +#define FILE_DISPOSITION_FLAG_DO_NOT_DELETE 0x00000000 +#define FILE_DISPOSITION_FLAG_DELETE 0x00000001 +#define FILE_DISPOSITION_FLAG_POSIX_SEMANTICS 0x00000002 +#define FILE_DISPOSITION_FLAG_FORCE_IMAGE_SECTION_CHECK 0x00000004 +#define FILE_DISPOSITION_FLAG_ON_CLOSE 0x00000008 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS5 +#define FILE_DISPOSITION_FLAG_IGNORE_READONLY_ATTRIBUTE 0x00000010 +#endif + + typedef struct _FILE_DISPOSITION_INFO_EX { + DWORD Flags; + } FILE_DISPOSITION_INFO_EX,*PFILE_DISPOSITION_INFO_EX; +#endif + + typedef struct _FILE_ID_BOTH_DIR_INFO { + DWORD NextEntryOffset; + DWORD FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + DWORD FileAttributes; + DWORD FileNameLength; + DWORD EaSize; + CCHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[1]; + } FILE_ID_BOTH_DIR_INFO,*PFILE_ID_BOTH_DIR_INFO; + + typedef struct _FILE_FULL_DIR_INFO { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + WCHAR FileName[1]; + } FILE_FULL_DIR_INFO,*PFILE_FULL_DIR_INFO; + + typedef enum _PRIORITY_HINT { + IoPriorityHintVeryLow = 0, + IoPriorityHintLow, + IoPriorityHintNormal, + MaximumIoPriorityHintType + } PRIORITY_HINT; + + typedef struct _FILE_IO_PRIORITY_HINT_INFO { + PRIORITY_HINT PriorityHint; + } FILE_IO_PRIORITY_HINT_INFO,*PFILE_IO_PRIORITY_HINT_INFO; + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 + typedef struct _FILE_ALIGNMENT_INFO { + ULONG AlignmentRequirement; + } FILE_ALIGNMENT_INFO,*PFILE_ALIGNMENT_INFO; + +#define STORAGE_INFO_FLAGS_ALIGNED_DEVICE 0x00000001 +#define STORAGE_INFO_FLAGS_PARTITION_ALIGNED_ON_DEVICE 0x00000002 + +#define STORAGE_INFO_OFFSET_UNKNOWN (0xffffffff) + + typedef struct _FILE_STORAGE_INFO { + ULONG LogicalBytesPerSector; + ULONG PhysicalBytesPerSectorForAtomicity; + ULONG PhysicalBytesPerSectorForPerformance; + ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity; + ULONG Flags; + ULONG ByteOffsetForSectorAlignment; + ULONG ByteOffsetForPartitionAlignment; + } FILE_STORAGE_INFO,*PFILE_STORAGE_INFO; + + typedef struct _FILE_ID_INFO { + ULONGLONG VolumeSerialNumber; + FILE_ID_128 FileId; + } FILE_ID_INFO,*PFILE_ID_INFO; + + typedef struct _FILE_ID_EXTD_DIR_INFO { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + ULONG ReparsePointTag; + FILE_ID_128 FileId; + WCHAR FileName[1]; + } FILE_ID_EXTD_DIR_INFO,*PFILE_ID_EXTD_DIR_INFO; +#endif + +#define REMOTE_PROTOCOL_INFO_FLAG_LOOPBACK 0x00000001 +#define REMOTE_PROTOCOL_INFO_FLAG_OFFLINE 0x00000002 + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define REMOTE_PROTOCOL_INFO_FLAG_PERSISTENT_HANDLE 0x00000004 + +#define RPI_FLAG_SMB2_SHARECAP_TIMEWARP 0x00000002 +#define RPI_FLAG_SMB2_SHARECAP_DFS 0x00000008 +#define RPI_FLAG_SMB2_SHARECAP_CONTINUOUS_AVAILABILITY 0x00000010 +#define RPI_FLAG_SMB2_SHARECAP_SCALEOUT 0x00000020 +#define RPI_FLAG_SMB2_SHARECAP_CLUSTER 0x00000040 + +#define RPI_SMB2_FLAG_SERVERCAP_DFS 0x00000001 +#define RPI_SMB2_FLAG_SERVERCAP_LEASING 0x00000002 +#define RPI_SMB2_FLAG_SERVERCAP_LARGEMTU 0x00000004 +#define RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL 0x00000008 +#define RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES 0x00000010 +#define RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING 0x00000020 +#endif + +#define RPI_SMB2_SHAREFLAG_ENCRYPT_DATA 0x00000001 +#define RPI_SMB2_SHAREFLAG_COMPRESS_DATA 0x00000002 + + typedef struct _FILE_REMOTE_PROTOCOL_INFO { + USHORT StructureVersion; + USHORT StructureSize; + ULONG Protocol; + USHORT ProtocolMajorVersion; + USHORT ProtocolMinorVersion; + USHORT ProtocolRevision; + USHORT Reserved; + ULONG Flags; + struct { + ULONG Reserved[8]; + } GenericReserved; +#if _WIN32_WINNT < _WIN32_WINNT_WIN8 + struct { + ULONG Reserved[16]; + } ProtocolSpecificReserved; +#else + union { + struct { + struct { + ULONG Capabilities; + } Server; + struct { + ULONG Capabilities; +#if NTDDI_VERSION >= NTDDI_WIN10_NI + ULONG ShareFlags; +#else + ULONG CachingFlags; +#endif + } Share; + } Smb2; + ULONG Reserved[16]; + } ProtocolSpecific; +#endif + } FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO; + + WINBASEAPI WINBOOL WINAPI GetFileInformationByHandleEx (HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD dwBufferSize); + +#if NTDDI_VERSION >= NTDDI_WIN11_ZN + WINBASEAPI WINBOOL WINAPI GetFileInformationByName(PCWSTR FileName, FILE_INFO_BY_NAME_CLASS FileInformationClass, PVOID FileInfoBuffer, ULONG FileInfoBufferSize); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef enum _FILE_ID_TYPE { + FileIdType, + ObjectIdType, + ExtendedFileIdType, + MaximumFileIdType + } FILE_ID_TYPE,*PFILE_ID_TYPE; + + typedef struct FILE_ID_DESCRIPTOR { + DWORD dwSize; + FILE_ID_TYPE Type; + __C89_NAMELESS union { + LARGE_INTEGER FileId; + GUID ObjectId; +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 + FILE_ID_128 ExtendedFileId; +#endif + } DUMMYUNIONNAME; + } FILE_ID_DESCRIPTOR,*LPFILE_ID_DESCRIPTOR; + + WINBASEAPI HANDLE WINAPI OpenFileById (HANDLE hVolumeHint, LPFILE_ID_DESCRIPTOR lpFileId, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwFlagsAndAttributes); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if _WIN32_WINNT >= 0x0600 + +#define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1) +#define SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE (0x2) + +#define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY + + WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkA (LPCSTR lpSymlinkFileName, LPCSTR lpTargetFileName, DWORD dwFlags); + WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkW (LPCWSTR lpSymlinkFileName, LPCWSTR lpTargetFileName, DWORD dwFlags); + WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkTransactedA (LPCSTR lpSymlinkFileName, LPCSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction); + WINBASEAPI BOOLEAN APIENTRY CreateSymbolicLinkTransactedW (LPCWSTR lpSymlinkFileName, LPCWSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction); + WINBASEAPI WINBOOL WINAPI QueryActCtxSettingsW (DWORD dwFlags, HANDLE hActCtx, PCWSTR settingsNameSpace, PCWSTR settingName, PWSTR pvBuffer, SIZE_T dwBuffer, SIZE_T *pdwWrittenOrRequired); + WINBASEAPI WINBOOL WINAPI ReplacePartitionUnit (PWSTR TargetPartition, PWSTR SparePartition, ULONG Flags); + WINBASEAPI WINBOOL WINAPI AddSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack); + WINBASEAPI WINBOOL WINAPI RemoveSecureMemoryCacheCallback (PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack); + +#define CreateSymbolicLink __MINGW_NAME_AW(CreateSymbolicLink) +#define CreateSymbolicLinkTransacted __MINGW_NAME_AW(CreateSymbolicLinkTransacted) + +#endif +#endif + +#if NTDDI_VERSION >= NTDDI_WIN7SP1 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI CopyContext (PCONTEXT Destination, DWORD ContextFlags, PCONTEXT Source); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI InitializeContext (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength); +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 + WINBASEAPI WINBOOL WINAPI InitializeContext2 (PVOID Buffer, DWORD ContextFlags, PCONTEXT *Context, PDWORD ContextLength, ULONG64 XStateCompactionMask); +#endif +#if defined (__x86_64__) || defined (__i386__) + WINBASEAPI DWORD64 WINAPI GetEnabledXStateFeatures (VOID); + WINBASEAPI WINBOOL WINAPI GetXStateFeaturesMask (PCONTEXT Context, PDWORD64 FeatureMask); + WINBASEAPI PVOID WINAPI LocateXStateFeature (PCONTEXT Context, DWORD FeatureId, PDWORD Length); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if defined (__x86_64__) || defined (__i386__) + WINBASEAPI WINBOOL WINAPI SetXStateFeaturesMask (PCONTEXT Context, DWORD64 FeatureMask); +#if NTDDI_VERSION >= NTDDI_WIN10_FE + WINBASEAPI DWORD64 WINAPI GetThreadEnabledXStateFeatures(VOID); + WINBASEAPI WINBOOL WINAPI EnableProcessOptionalXStateFeatures(DWORD64 Features); +#endif /* NTDDI_VERSION >= NTDDI_WIN10_FE */ +#endif +#if _WIN32_WINNT >= 0x0601 + WINBASEAPI DWORD APIENTRY EnableThreadProfiling (HANDLE ThreadHandle, DWORD Flags, DWORD64 HardwareCounters, HANDLE *PerformanceDataHandle); + WINBASEAPI DWORD APIENTRY DisableThreadProfiling (HANDLE PerformanceDataHandle); + WINBASEAPI DWORD APIENTRY QueryThreadProfiling (HANDLE ThreadHandle, PBOOLEAN Enabled); + WINBASEAPI DWORD APIENTRY ReadThreadProfilingData (HANDLE PerformanceDataHandle, DWORD Flags, PPERFORMANCE_DATA PerformanceData); +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#if _WIN32_WINNT >= 0x0600 +#if !defined(__WIDL__) + +FORCEINLINE VOID InitializeThreadpoolEnvironment(PTP_CALLBACK_ENVIRON cbe) { + TpInitializeCallbackEnviron(cbe); +} + +FORCEINLINE VOID SetThreadpoolCallbackPool(PTP_CALLBACK_ENVIRON cbe, PTP_POOL pool) { + TpSetCallbackThreadpool(cbe, pool); +} + +FORCEINLINE VOID SetThreadpoolCallbackCleanupGroup(PTP_CALLBACK_ENVIRON cbe, PTP_CLEANUP_GROUP cleanup_group, PTP_CLEANUP_GROUP_CANCEL_CALLBACK cleanup_group_cb) { + TpSetCallbackCleanupGroup(cbe, cleanup_group, cleanup_group_cb); +} + +FORCEINLINE VOID SetThreadpoolCallbackRunsLong(PTP_CALLBACK_ENVIRON cbe) { + TpSetCallbackLongFunction(cbe); +} + +FORCEINLINE VOID SetThreadpoolCallbackLibrary(PTP_CALLBACK_ENVIRON cbe, PVOID h) { + TpSetCallbackRaceWithDll(cbe, h); +} + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN7 +FORCEINLINE VOID SetThreadpoolCallbackPriority(PTP_CALLBACK_ENVIRON cbe, TP_CALLBACK_PRIORITY prio) { + TpSetCallbackPriority(cbe, prio); +} +#endif + +FORCEINLINE VOID DestroyThreadpoolEnvironment(PTP_CALLBACK_ENVIRON cbe) { + TpDestroyCallbackEnviron(cbe); +} + +FORCEINLINE VOID SetThreadpoolCallbackPersistent(PTP_CALLBACK_ENVIRON pcbe) { + TpSetCallbackPersistent(pcbe); +} + +#endif /* !__WIDL__ */ +#endif /* _WIN32_WINNT >= 0x0600 */ +#endif /* WINAPI_PARTITION_APP */ + +#ifdef __cplusplus +} +#endif + +#endif /* _WINBASE_ */ + +#if !defined (RC_INVOKED) && !defined (NOWINBASEINTERLOCK) && !defined (_NTOS_) && !defined (MICROSOFT_WINDOWS_WINBASE_INTERLOCKED_CPLUSPLUS_H_INCLUDED) +#define MICROSOFT_WINDOWS_WINBASE_INTERLOCKED_CPLUSPLUS_H_INCLUDED +#if !defined (__WIDL__) +#if !defined (MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS) +#if (_WIN32_WINNT >= 0x0502 || !defined (_WINBASE_)) +#define MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS 1 +#else +#define MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS 0 +#endif +#endif +#if MICROSOFT_WINDOWS_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS && defined (__cplusplus) +extern "C++" { +#if defined(__x86_64__) && defined(__CYGWIN__) +#define __MINGW_USE_INT64_INTERLOCKED_LONG +#endif + FORCEINLINE unsigned InterlockedIncrement (unsigned volatile *Addend) { + return (unsigned) InterlockedIncrement ((volatile __LONG32 *) Addend); + } + + FORCEINLINE unsigned long InterlockedIncrement (unsigned long volatile *Addend) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedIncrement ((volatile __LONG32 *) Addend); +#else + return (unsigned long) InterlockedIncrement64 ((volatile __int64 *) Addend); +#endif + } + +#if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) + FORCEINLINE unsigned __int64 InterlockedIncrement (unsigned __int64 volatile *Addend) { + return (unsigned __int64) InterlockedIncrement64 ((volatile __int64 *) Addend); + } +#endif + + FORCEINLINE unsigned InterlockedDecrement (unsigned volatile *Addend) { + return (unsigned) InterlockedDecrement ((volatile __LONG32 *) Addend); + } + + FORCEINLINE unsigned long InterlockedDecrement (unsigned long volatile *Addend) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedDecrement ((volatile __LONG32 *) Addend); +#else + return (unsigned long) InterlockedDecrement64 ((volatile __int64 *) Addend); +#endif + } + +#if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) + FORCEINLINE unsigned __int64 InterlockedDecrement (unsigned __int64 volatile *Addend) { + return (unsigned __int64) InterlockedDecrement64 ((volatile __int64 *) Addend); + } +#endif + + FORCEINLINE unsigned InterlockedExchange (unsigned volatile *Target, unsigned Value) { + return (unsigned) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); + } + + FORCEINLINE unsigned long InterlockedExchange (unsigned long volatile *Target, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchange ((volatile __LONG32 *) Target,(__LONG32) Value); +#else + return (unsigned long) InterlockedExchange64 ((volatile __int64 *) Target,(__int64) Value); +#endif + } + +#if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) + FORCEINLINE unsigned __int64 InterlockedExchange (unsigned __int64 volatile *Target, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchange64 ((volatile __int64 *) Target,(__int64) Value); + } +#endif + + FORCEINLINE unsigned InterlockedExchangeAdd (unsigned volatile *Addend, unsigned Value) { + return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); + } + + FORCEINLINE unsigned InterlockedExchangeSubtract (unsigned volatile *Addend, unsigned Value) { + return (unsigned) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); + } + + FORCEINLINE unsigned long InterlockedExchangeAdd (unsigned long volatile *Addend, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,(__LONG32) Value); +#else + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,(__int64) Value); +#endif + } + + FORCEINLINE unsigned long InterlockedExchangeSubtract (unsigned long volatile *Addend, unsigned long Value) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedExchangeAdd ((volatile __LONG32 *) Addend,- (__LONG32) Value); +#else + return (unsigned long) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,- (__int64) Value); +#endif + } + +#if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) + FORCEINLINE unsigned __int64 InterlockedExchangeAdd (unsigned __int64 volatile *Addend, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedExchangeSubtract (unsigned __int64 volatile *Addend, unsigned __int64 Value) { + return (unsigned __int64) InterlockedExchangeAdd64 ((volatile __int64 *) Addend,- (__int64) Value); + } +#endif + + FORCEINLINE unsigned InterlockedCompareExchange (unsigned volatile *Destination, unsigned Exchange, unsigned Comperand) { + return (unsigned) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); + } + + FORCEINLINE unsigned long InterlockedCompareExchange (unsigned long volatile *Destination, unsigned long Exchange, unsigned long Comperand) { +#ifndef __MINGW_USE_INT64_INTERLOCKED_LONG + return (unsigned __LONG32) InterlockedCompareExchange ((volatile __LONG32 *) Destination,(__LONG32) Exchange,(__LONG32) Comperand); +#else + return (unsigned long) InterlockedCompareExchange64 ((volatile __int64 *) Destination,(__int64) Exchange,(__int64) Comperand); +#endif + } + +#if defined (_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined (_WINBASE_)) + FORCEINLINE unsigned __int64 InterlockedCompareExchange (unsigned __int64 volatile *Destination, unsigned __int64 Exchange, unsigned __int64 Comperand) { + return (unsigned __int64) InterlockedCompareExchange64 ((volatile __int64 *) Destination,(__int64) Exchange,(__int64) Comperand); + } + + FORCEINLINE unsigned __int64 InterlockedAnd (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedAnd64 ((volatile __int64 *) Destination,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedOr (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedOr64 ((volatile __int64 *) Destination,(__int64) Value); + } + + FORCEINLINE unsigned __int64 InterlockedXor (unsigned __int64 volatile *Destination, unsigned __int64 Value) { + return (unsigned __int64) InterlockedXor64 ((volatile __int64 *) Destination,(__int64) Value); + } +#endif +} +#endif + +#undef MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS +#define MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS 0 +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winber.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winber.h new file mode 100644 index 00000000..9e45adee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winber.h @@ -0,0 +1,56 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINBER_DEFINED_ +#define _WINBER_DEFINED_ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _WINBER_ +#define WINBERAPI DECLSPEC_IMPORT +#else +#define WINBERAPI +#endif + +#ifndef BERAPI +#define BERAPI __cdecl +#endif + +#define LBER_ERROR __MSABI_LONG(0xffffffff) +#define LBER_DEFAULT __MSABI_LONG(0xffffffff) + + typedef unsigned int ber_tag_t; + typedef int ber_int_t; + typedef unsigned int ber_uint_t; + typedef unsigned int ber_len_t; + typedef int ber_slen_t; + + WINBERAPI BerElement *BERAPI ber_init (BERVAL *pBerVal); + WINBERAPI VOID BERAPI ber_free (BerElement *pBerElement, INT fbuf); + WINBERAPI VOID BERAPI ber_bvfree (BERVAL *pBerVal); + WINBERAPI VOID BERAPI ber_bvecfree (PBERVAL *pBerVal); + WINBERAPI BERVAL *BERAPI ber_bvdup (BERVAL *pBerVal); + WINBERAPI BerElement *BERAPI ber_alloc_t (INT options); + WINBERAPI ULONG BERAPI ber_skip_tag (BerElement *pBerElement, ULONG *pLen); + WINBERAPI ULONG BERAPI ber_peek_tag (BerElement *pBerElement, ULONG *pLen); + WINBERAPI ULONG BERAPI ber_first_element (BerElement *pBerElement, ULONG *pLen, CHAR **ppOpaque); + WINBERAPI ULONG BERAPI ber_next_element (BerElement *pBerElement, ULONG *pLen, CHAR *opaque); + WINBERAPI INT BERAPI ber_flatten (BerElement *pBerElement, PBERVAL *pBerVal); + WINBERAPI INT BERAPI ber_printf (BerElement *pBerElement, PSTR fmt,...); + WINBERAPI ULONG BERAPI ber_scanf (BerElement *pBerElement, PSTR fmt,...); + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodec.h new file mode 100644 index 00000000..104526b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodec.h @@ -0,0 +1,6373 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wincodec.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 __wincodec_h__ +#define __wincodec_h__ + +/* Forward declarations */ + +#ifndef __IWICColorContext_FWD_DEFINED__ +#define __IWICColorContext_FWD_DEFINED__ +typedef interface IWICColorContext IWICColorContext; +#ifdef __cplusplus +interface IWICColorContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapSource_FWD_DEFINED__ +#define __IWICBitmapSource_FWD_DEFINED__ +typedef interface IWICBitmapSource IWICBitmapSource; +#ifdef __cplusplus +interface IWICBitmapSource; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapLock_FWD_DEFINED__ +#define __IWICBitmapLock_FWD_DEFINED__ +typedef interface IWICBitmapLock IWICBitmapLock; +#ifdef __cplusplus +interface IWICBitmapLock; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapFlipRotator_FWD_DEFINED__ +#define __IWICBitmapFlipRotator_FWD_DEFINED__ +typedef interface IWICBitmapFlipRotator IWICBitmapFlipRotator; +#ifdef __cplusplus +interface IWICBitmapFlipRotator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmap_FWD_DEFINED__ +#define __IWICBitmap_FWD_DEFINED__ +typedef interface IWICBitmap IWICBitmap; +#ifdef __cplusplus +interface IWICBitmap; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICPalette_FWD_DEFINED__ +#define __IWICPalette_FWD_DEFINED__ +typedef interface IWICPalette IWICPalette; +#ifdef __cplusplus +interface IWICPalette; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICComponentInfo_FWD_DEFINED__ +#define __IWICComponentInfo_FWD_DEFINED__ +typedef interface IWICComponentInfo IWICComponentInfo; +#ifdef __cplusplus +interface IWICComponentInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataQueryReader_FWD_DEFINED__ +#define __IWICMetadataQueryReader_FWD_DEFINED__ +typedef interface IWICMetadataQueryReader IWICMetadataQueryReader; +#ifdef __cplusplus +interface IWICMetadataQueryReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataQueryWriter_FWD_DEFINED__ +#define __IWICMetadataQueryWriter_FWD_DEFINED__ +typedef interface IWICMetadataQueryWriter IWICMetadataQueryWriter; +#ifdef __cplusplus +interface IWICMetadataQueryWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapFrameDecode_FWD_DEFINED__ +#define __IWICBitmapFrameDecode_FWD_DEFINED__ +typedef interface IWICBitmapFrameDecode IWICBitmapFrameDecode; +#ifdef __cplusplus +interface IWICBitmapFrameDecode; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICPixelFormatInfo_FWD_DEFINED__ +#define __IWICPixelFormatInfo_FWD_DEFINED__ +typedef interface IWICPixelFormatInfo IWICPixelFormatInfo; +#ifdef __cplusplus +interface IWICPixelFormatInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICPixelFormatInfo2_FWD_DEFINED__ +#define __IWICPixelFormatInfo2_FWD_DEFINED__ +typedef interface IWICPixelFormatInfo2 IWICPixelFormatInfo2; +#ifdef __cplusplus +interface IWICPixelFormatInfo2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapCodecInfo_FWD_DEFINED__ +#define __IWICBitmapCodecInfo_FWD_DEFINED__ +typedef interface IWICBitmapCodecInfo IWICBitmapCodecInfo; +#ifdef __cplusplus +interface IWICBitmapCodecInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapDecoderInfo_FWD_DEFINED__ +#define __IWICBitmapDecoderInfo_FWD_DEFINED__ +typedef interface IWICBitmapDecoderInfo IWICBitmapDecoderInfo; +#ifdef __cplusplus +interface IWICBitmapDecoderInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapDecoder_FWD_DEFINED__ +#define __IWICBitmapDecoder_FWD_DEFINED__ +typedef interface IWICBitmapDecoder IWICBitmapDecoder; +#ifdef __cplusplus +interface IWICBitmapDecoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapFrameEncode_FWD_DEFINED__ +#define __IWICBitmapFrameEncode_FWD_DEFINED__ +typedef interface IWICBitmapFrameEncode IWICBitmapFrameEncode; +#ifdef __cplusplus +interface IWICBitmapFrameEncode; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapEncoderInfo_FWD_DEFINED__ +#define __IWICBitmapEncoderInfo_FWD_DEFINED__ +typedef interface IWICBitmapEncoderInfo IWICBitmapEncoderInfo; +#ifdef __cplusplus +interface IWICBitmapEncoderInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapEncoder_FWD_DEFINED__ +#define __IWICBitmapEncoder_FWD_DEFINED__ +typedef interface IWICBitmapEncoder IWICBitmapEncoder; +#ifdef __cplusplus +interface IWICBitmapEncoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICFormatConverter_FWD_DEFINED__ +#define __IWICFormatConverter_FWD_DEFINED__ +typedef interface IWICFormatConverter IWICFormatConverter; +#ifdef __cplusplus +interface IWICFormatConverter; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICFormatConverterInfo_FWD_DEFINED__ +#define __IWICFormatConverterInfo_FWD_DEFINED__ +typedef interface IWICFormatConverterInfo IWICFormatConverterInfo; +#ifdef __cplusplus +interface IWICFormatConverterInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICStream_FWD_DEFINED__ +#define __IWICStream_FWD_DEFINED__ +typedef interface IWICStream IWICStream; +#ifdef __cplusplus +interface IWICStream; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapScaler_FWD_DEFINED__ +#define __IWICBitmapScaler_FWD_DEFINED__ +typedef interface IWICBitmapScaler IWICBitmapScaler; +#ifdef __cplusplus +interface IWICBitmapScaler; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICBitmapClipper_FWD_DEFINED__ +#define __IWICBitmapClipper_FWD_DEFINED__ +typedef interface IWICBitmapClipper IWICBitmapClipper; +#ifdef __cplusplus +interface IWICBitmapClipper; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICColorTransform_FWD_DEFINED__ +#define __IWICColorTransform_FWD_DEFINED__ +typedef interface IWICColorTransform IWICColorTransform; +#ifdef __cplusplus +interface IWICColorTransform; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICFastMetadataEncoder_FWD_DEFINED__ +#define __IWICFastMetadataEncoder_FWD_DEFINED__ +typedef interface IWICFastMetadataEncoder IWICFastMetadataEncoder; +#ifdef __cplusplus +interface IWICFastMetadataEncoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICImageEncoder_FWD_DEFINED__ +#define __IWICImageEncoder_FWD_DEFINED__ +typedef interface IWICImageEncoder IWICImageEncoder; +#ifdef __cplusplus +interface IWICImageEncoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICImagingFactory_FWD_DEFINED__ +#define __IWICImagingFactory_FWD_DEFINED__ +typedef interface IWICImagingFactory IWICImagingFactory; +#ifdef __cplusplus +interface IWICImagingFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICImagingFactory2_FWD_DEFINED__ +#define __IWICImagingFactory2_FWD_DEFINED__ +typedef interface IWICImagingFactory2 IWICImagingFactory2; +#ifdef __cplusplus +interface IWICImagingFactory2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICEnumMetadataItem_FWD_DEFINED__ +#define __IWICEnumMetadataItem_FWD_DEFINED__ +typedef interface IWICEnumMetadataItem IWICEnumMetadataItem; +#ifdef __cplusplus +interface IWICEnumMetadataItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICDdsDecoder_FWD_DEFINED__ +#define __IWICDdsDecoder_FWD_DEFINED__ +typedef interface IWICDdsDecoder IWICDdsDecoder; +#ifdef __cplusplus +interface IWICDdsDecoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICDdsEncoder_FWD_DEFINED__ +#define __IWICDdsEncoder_FWD_DEFINED__ +typedef interface IWICDdsEncoder IWICDdsEncoder; +#ifdef __cplusplus +interface IWICDdsEncoder; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICDdsFrameDecode_FWD_DEFINED__ +#define __IWICDdsFrameDecode_FWD_DEFINED__ +typedef interface IWICDdsFrameDecode IWICDdsFrameDecode; +#ifdef __cplusplus +interface IWICDdsFrameDecode; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICWineDecoder_FWD_DEFINED__ +#define __IWICWineDecoder_FWD_DEFINED__ +typedef interface IWICWineDecoder IWICWineDecoder; +#ifdef __cplusplus +interface IWICWineDecoder; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include "dcommon.h" +#define WINCODEC_SDK_VERSION 0x0236 +typedef enum WICDecodeOptions { + WICDecodeMetadataCacheOnDemand = 0x0, + WICDecodeMetadataCacheOnLoad = 0x1, + WICMETADATACACHEOPTION_FORCE_DWORD = 0x7fffffff +} WICDecodeOptions; +typedef enum WICBitmapCreateCacheOption { + WICBitmapNoCache = 0x0, + WICBitmapCacheOnDemand = 0x1, + WICBitmapCacheOnLoad = 0x2, + WICBITMAPCREATECACHEOPTION_FORCE_DWORD = 0x7fffffff +} WICBitmapCreateCacheOption; +typedef enum WICBitmapAlphaChannelOption { + WICBitmapUseAlpha = 0x0, + WICBitmapUsePremultipliedAlpha = 0x1, + WICBitmapIgnoreAlpha = 0x2, + WICBITMAPALPHACHANNELOPTIONS_FORCE_DWORD = 0x7fffffff +} WICBitmapAlphaChannelOption; +typedef enum WICBitmapDecoderCapabilities { + WICBitmapDecoderCapabilitySameEncoder = 0x1, + WICBitmapDecoderCapabilityCanDecodeAllImages = 0x2, + WICBitmapDecoderCapabilityCanDecodeSomeImages = 0x4, + WICBitmapDecoderCapabilityCanEnumerateMetadata = 0x8, + WICBitmapDecoderCapabilityCanDecodeThumbnail = 0x10 +} WICBitmapDecoderCapabilities; +typedef enum WICBitmapDitherType { + WICBitmapDitherTypeNone = 0x0, + WICBitmapDitherTypeSolid = 0x0, + WICBitmapDitherTypeOrdered4x4 = 0x1, + WICBitmapDitherTypeOrdered8x8 = 0x2, + WICBitmapDitherTypeOrdered16x16 = 0x3, + WICBitmapDitherTypeSpiral4x4 = 0x4, + WICBitmapDitherTypeSpiral8x8 = 0x5, + WICBitmapDitherTypeDualSpiral4x4 = 0x6, + WICBitmapDitherTypeDualSpiral8x8 = 0x7, + WICBitmapDitherTypeErrorDiffusion = 0x8, + WICBITMAPDITHERTYPE_FORCE_DWORD = 0x7fffffff +} WICBitmapDitherType; +typedef enum WICBitmapEncoderCacheOption { + WICBitmapEncoderCacheInMemory = 0x0, + WICBitmapEncoderCacheTempFile = 0x1, + WICBitmapEncoderNoCache = 0x2, + WICBITMAPENCODERCACHEOPTION_FORCE_DWORD = 0x7fffffff +} WICBitmapEncoderCacheOption; +typedef enum WICBitmapInterpolationMode { + WICBitmapInterpolationModeNearestNeighbor = 0x0, + WICBitmapInterpolationModeLinear = 0x1, + WICBitmapInterpolationModeCubic = 0x2, + WICBitmapInterpolationModeFant = 0x3, + WICBITMAPINTERPOLATIONMODE_FORCE_DWORD = 0x7fffffff +} WICBitmapInterpolationMode; +typedef enum WICBitmapLockFlags { + WICBitmapLockRead = 0x1, + WICBitmapLockWrite = 0x2, + WICBITMAPLOCKFLAGS_FORCE_DWORD = 0x7fffffff +} WICBitmapLockFlags; +typedef enum WICBitmapPaletteType { + WICBitmapPaletteTypeCustom = 0x0, + WICBitmapPaletteTypeMedianCut = 0x1, + WICBitmapPaletteTypeFixedBW = 0x2, + WICBitmapPaletteTypeFixedHalftone8 = 0x3, + WICBitmapPaletteTypeFixedHalftone27 = 0x4, + WICBitmapPaletteTypeFixedHalftone64 = 0x5, + WICBitmapPaletteTypeFixedHalftone125 = 0x6, + WICBitmapPaletteTypeFixedHalftone216 = 0x7, + WICBitmapPaletteTypeFixedWebPalette = WICBitmapPaletteTypeFixedHalftone216, + WICBitmapPaletteTypeFixedHalftone252 = 0x8, + WICBitmapPaletteTypeFixedHalftone256 = 0x9, + WICBitmapPaletteTypeFixedGray4 = 0xa, + WICBitmapPaletteTypeFixedGray16 = 0xb, + WICBitmapPaletteTypeFixedGray256 = 0xc, + WICBITMAPPALETTETYPE_FORCE_DWORD = 0x7fffffff +} WICBitmapPaletteType; +typedef enum WICBitmapTransformOptions { + WICBitmapTransformRotate0 = 0x0, + WICBitmapTransformRotate90 = 0x1, + WICBitmapTransformRotate180 = 0x2, + WICBitmapTransformRotate270 = 0x3, + WICBitmapTransformFlipHorizontal = 0x8, + WICBitmapTransformFlipVertical = 0x10, + WICBITMAPTRANSFORMOPTIONS_FORCE_DWORD = 0x7fffffff +} WICBitmapTransformOptions; +typedef enum WICColorContextType { + WICColorContextUninitialized = 0x0, + WICColorContextProfile = 0x1, + WICColorContextExifColorSpace = 0x2 +} WICColorContextType; +typedef enum WICComponentType { + WICDecoder = 0x1, + WICEncoder = 0x2, + WICPixelFormatConverter = 0x4, + WICMetadataReader = 0x8, + WICMetadataWriter = 0x10, + WICPixelFormat = 0x20, + WICCOMPONENTTYPE_FORCE_DWORD = 0x7fffffff +} WICComponentType; +typedef enum WICComponentSigning { + WICComponentSigned = 0x1, + WICComponentUnsigned = 0x2, + WICComponentSafe = 0x4, + WICComponentDisabled = 0x80000000 +} WICComponentSigning; +typedef enum WICComponentEnumerateOptions { + WICComponentEnumerateDefault = 0x0, + WICComponentEnumerateRefresh = 0x1, + WICComponentEnumerateBuiltInOnly = 0x20000000, + WICComponentEnumerateUnsigned = 0x40000000, + WICComponentEnumerateDisabled = 0x80000000 +} WICComponentEnumerateOptions; +typedef enum WICJpegYCrCbSubsamplingOption { + WICJpegYCrCbSubsamplingDefault = 0x0, + WICJpegYCrCbSubsampling420 = 0x1, + WICJpegYCrCbSubsampling422 = 0x2, + WICJpegYCrCbSubsampling444 = 0x3, + WICJpegYCrCbSubsampling440 = 0x4 +} WICJpegYCrCbSubsamplingOption; +typedef enum WICPixelFormatNumericRepresentation { + WICPixelFormatNumericRepresentationUnspecified = 0x0, + WICPixelFormatNumericRepresentationIndexed = 0x1, + WICPixelFormatNumericRepresentationUnsignedInteger = 0x2, + WICPixelFormatNumericRepresentationSignedInteger = 0x3, + WICPixelFormatNumericRepresentationFixed = 0x4, + WICPixelFormatNumericRepresentationFloat = 0x5, + WICPIXELFORMATNUMERICREPRESENTATION_FORCE_DWORD = 0x7fffffff +} WICPixelFormatNumericRepresentation; +typedef enum WICTiffCompressionOption { + WICTiffCompressionDontCare = 0x0, + WICTiffCompressionNone = 0x1, + WICTiffCompressionCCITT3 = 0x2, + WICTiffCompressionCCITT4 = 0x3, + WICTiffCompressionLZW = 0x4, + WICTiffCompressionRLE = 0x5, + WICTiffCompressionZIP = 0x6, + WICTiffCompressionLZWHDifferencing = 0x7, + WICTIFFCOMPRESSIONOPTION_FORCE_DWORD = 0x7fffffff +} WICTiffCompressionOption; +typedef enum WICPngFilterOption { + WICPngFilterUnspecified = 0, + WICPngFilterNone = 1, + WICPngFilterSub = 2, + WICPngFilterUp = 3, + WICPngFilterAverage = 4, + WICPngFilterPaeth = 5, + WICPngFilterAdaptive = 6, + WICPNFFILTEROPTION_FORCE_DWORD = 0x7fffffff +} WICPngFilterOption; +typedef enum WICSectionAccessLevel { + WICSectionAccessLevelRead = 0x1, + WICSectionAccessLevelReadWrite = 0x3, + WICSectionAccessLevel_FORCE_DWORD = 0x7fffffff +} WICSectionAccessLevel; +typedef enum WICDdsDimension { + WICDdsTexture1D = 0x0, + WICDdsTexture2D = 0x1, + WICDdsTexture3D = 0x2, + WICDdsTextureCube = 0x3, + WICDDSTEXTURE_FORCE_DWORD = 0x7fffffff +} WICDdsDimension; +typedef enum WICDdsAlphaMode { + WICDdsAlphaModeUnknown = 0x0, + WICDdsAlphaModeStraight = 0x1, + WICDdsAlphaModePremultiplied = 0x2, + WICDdsAlphaModeOpaque = 0x3, + WICDdsAlphaModeCustom = 0x4, + WICDDSALPHAMODE_FORCE_DWORD = 0x7fffffff +} WICDdsAlphaMode; +typedef GUID WICPixelFormatGUID; +typedef REFGUID REFWICPixelFormatGUID; +DEFINE_GUID(GUID_WICPixelFormatDontCare, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x00); +#define GUID_WICPixelFormatUndefined GUID_WICPixelFormatDontCare +DEFINE_GUID(GUID_WICPixelFormat1bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x01); +DEFINE_GUID(GUID_WICPixelFormat2bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x02); +DEFINE_GUID(GUID_WICPixelFormat4bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x03); +DEFINE_GUID(GUID_WICPixelFormat8bppIndexed, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x04); +DEFINE_GUID(GUID_WICPixelFormatBlackWhite, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x05); +DEFINE_GUID(GUID_WICPixelFormat2bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x06); +DEFINE_GUID(GUID_WICPixelFormat4bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x07); +DEFINE_GUID(GUID_WICPixelFormat8bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x08); +DEFINE_GUID(GUID_WICPixelFormat16bppGray, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0b); +DEFINE_GUID(GUID_WICPixelFormat8bppAlpha, 0xe6cd0116,0xeeba,0x4161,0xaa,0x85,0x27,0xdd,0x9f,0xb3,0xa8,0x95); +DEFINE_GUID(GUID_WICPixelFormat16bppBGR555, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x09); +DEFINE_GUID(GUID_WICPixelFormat16bppBGR565, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0a); +DEFINE_GUID(GUID_WICPixelFormat16bppBGRA5551, 0x05ec7c2b,0xf1e6,0x4961,0xad,0x46,0xe1,0xcc,0x81,0x0a,0x87,0xd2); +DEFINE_GUID(GUID_WICPixelFormat24bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0c); +DEFINE_GUID(GUID_WICPixelFormat24bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0d); +DEFINE_GUID(GUID_WICPixelFormat32bppBGR, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0e); +DEFINE_GUID(GUID_WICPixelFormat32bppBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x0f); +DEFINE_GUID(GUID_WICPixelFormat32bppPBGRA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x10); +DEFINE_GUID(GUID_WICPixelFormat32bppRGB, 0xd98c6b95,0x3efe,0x47d6,0xbb,0x25,0xeb,0x17,0x48,0xab,0x0c,0xf1); +DEFINE_GUID(GUID_WICPixelFormat32bppRGBA, 0xf5c7ad2d,0x6a8d,0x43dd,0xa7,0xa8,0xa2,0x99,0x35,0x26,0x1a,0xe9); +DEFINE_GUID(GUID_WICPixelFormat32bppPRGBA, 0x3cc4a650,0xa527,0x4d37,0xa9,0x16,0x31,0x42,0xc7,0xeb,0xed,0xba); +DEFINE_GUID(GUID_WICPixelFormat32bppGrayFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x11); +DEFINE_GUID(GUID_WICPixelFormat48bppRGB, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x15); +DEFINE_GUID(GUID_WICPixelFormat48bppBGR, 0xe605a384,0xb468,0x46ce,0xbb,0x2e,0x36,0xf1,0x80,0xe6,0x43,0x13); +DEFINE_GUID(GUID_WICPixelFormat64bppRGB, 0xa1182111,0x186d,0x4d42,0xbc,0x6a,0x9c,0x83,0x03,0xa8,0xdf,0xf9); +DEFINE_GUID(GUID_WICPixelFormat64bppRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x16); +DEFINE_GUID(GUID_WICPixelFormat64bppBGRA, 0x1562ff7c,0xd352,0x46f9,0x97,0x9e,0x42,0x97,0x6b,0x79,0x22,0x46); +DEFINE_GUID(GUID_WICPixelFormat64bppPRGBA, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x17); +DEFINE_GUID(GUID_WICPixelFormat64bppPBGRA, 0x8c518e8e,0xa4ec,0x468b,0xae,0x70,0xc9,0xa3,0x5a,0x9c,0x55,0x30); +DEFINE_GUID(GUID_WICPixelFormat16bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x13); +DEFINE_GUID(GUID_WICPixelFormat32bppBGR101010, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x14); +DEFINE_GUID(GUID_WICPixelFormat48bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x12); +DEFINE_GUID(GUID_WICPixelFormat48bppBGRFixedPoint, 0x49ca140e,0xcab6,0x493b,0x9d,0xdf,0x60,0x18,0x7c,0x37,0x53,0x2a); +DEFINE_GUID(GUID_WICPixelFormat96bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x18); +DEFINE_GUID(GUID_WICPixelFormat96bppRGBFloat, 0xe3fed78f,0xe8db,0x4acf,0x84,0xc1,0xe9,0x7f,0x61,0x36,0xb3,0x27); +DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x19); +DEFINE_GUID(GUID_WICPixelFormat128bppPRGBAFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1a); +DEFINE_GUID(GUID_WICPixelFormat128bppRGBFloat, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1b); +DEFINE_GUID(GUID_WICPixelFormat32bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1c); +DEFINE_GUID(GUID_WICPixelFormat64bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1d); +DEFINE_GUID(GUID_WICPixelFormat64bppBGRAFixedPoint, 0x356de33c,0x54d2,0x4a23,0xbb,0x4,0x9b,0x7b,0xf9,0xb1,0xd4,0x2d); +DEFINE_GUID(GUID_WICPixelFormat64bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x40); +DEFINE_GUID(GUID_WICPixelFormat128bppRGBAFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1e); +DEFINE_GUID(GUID_WICPixelFormat128bppRGBFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x41); +DEFINE_GUID(GUID_WICPixelFormat64bppRGBAHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3a); +DEFINE_GUID(GUID_WICPixelFormat64bppPRGBAHalf, 0x58ad26c2,0xc623,0x4d9d,0xb3,0x20,0x38,0x7e,0x49,0xf8,0xc4,0x42); +DEFINE_GUID(GUID_WICPixelFormat64bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x42); +DEFINE_GUID(GUID_WICPixelFormat48bppRGBHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3b); +DEFINE_GUID(GUID_WICPixelFormat32bppRGBE, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3d); +DEFINE_GUID(GUID_WICPixelFormat16bppGrayHalf, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3e); +DEFINE_GUID(GUID_WICPixelFormat32bppGrayFixedPoint, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x3f); +DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102, 0x25238d72,0xfcf9,0x4522,0xb5,0x14,0x55,0x78,0xe5,0xad,0x55,0xe0); +DEFINE_GUID(GUID_WICPixelFormat32bppRGBA1010102XR, 0x00de6b9a,0xc101,0x434b,0xb5,0x02,0xd0,0x16,0x5e,0xe1,0x12,0x2c); +DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2, 0x604e1bb5,0x8a3c,0x4b65,0xb1,0x1c,0xbc,0x0b,0x8d,0xd7,0x5b,0x7f); +DEFINE_GUID(GUID_WICPixelFormat32bppR10G10B10A2HDR10, 0x9c215c5d,0x1acc,0x4f0e,0xa4,0xbc,0x70,0xfb,0x3a,0xe8,0xfd,0x28); +DEFINE_GUID(GUID_WICPixelFormat64bppCMYK, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x1f); +DEFINE_GUID(GUID_WICPixelFormat24bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x20); +DEFINE_GUID(GUID_WICPixelFormat32bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x21); +DEFINE_GUID(GUID_WICPixelFormat40bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x22); +DEFINE_GUID(GUID_WICPixelFormat48bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x23); +DEFINE_GUID(GUID_WICPixelFormat56bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x24); +DEFINE_GUID(GUID_WICPixelFormat64bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x25); +DEFINE_GUID(GUID_WICPixelFormat48bpp3Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x26); +DEFINE_GUID(GUID_WICPixelFormat64bpp4Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x27); +DEFINE_GUID(GUID_WICPixelFormat80bpp5Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x28); +DEFINE_GUID(GUID_WICPixelFormat96bpp6Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x29); +DEFINE_GUID(GUID_WICPixelFormat112bpp7Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2a); +DEFINE_GUID(GUID_WICPixelFormat128bpp8Channels, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2b); +DEFINE_GUID(GUID_WICPixelFormat40bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2c); +DEFINE_GUID(GUID_WICPixelFormat80bppCMYKAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2d); +DEFINE_GUID(GUID_WICPixelFormat32bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2e); +DEFINE_GUID(GUID_WICPixelFormat40bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x2f); +DEFINE_GUID(GUID_WICPixelFormat48bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x30); +DEFINE_GUID(GUID_WICPixelFormat56bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x31); +DEFINE_GUID(GUID_WICPixelFormat64bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x32); +DEFINE_GUID(GUID_WICPixelFormat72bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x33); +DEFINE_GUID(GUID_WICPixelFormat64bpp3ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x34); +DEFINE_GUID(GUID_WICPixelFormat80bpp4ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x35); +DEFINE_GUID(GUID_WICPixelFormat96bpp5ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x36); +DEFINE_GUID(GUID_WICPixelFormat112bpp6ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x37); +DEFINE_GUID(GUID_WICPixelFormat128bpp7ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x38); +DEFINE_GUID(GUID_WICPixelFormat144bpp8ChannelsAlpha, 0x6fddc324,0x4e03,0x4bfe,0xb1,0x85,0x3d,0x77,0x76,0x8d,0xc9,0x39); +DEFINE_GUID(GUID_WICPixelFormat8bppY, 0x91b4db54,0x2df9,0x42f0,0xb4,0x49,0x29,0x09,0xbb,0x3d,0xf8,0x8e); +DEFINE_GUID(GUID_WICPixelFormat8bppCb, 0x1339f224,0x6bfe,0x4c3e,0x93,0x02,0xe4,0xf3,0xa6,0xd0,0xca,0x2a); +DEFINE_GUID(GUID_WICPixelFormat8bppCr, 0xb8145053,0x2116,0x49f0,0x88,0x35,0xed,0x84,0x4b,0x20,0x5c,0x51); +DEFINE_GUID(GUID_WICPixelFormat16bppCbCr, 0xff95ba6e,0x11e0,0x4263,0xbb,0x45,0x01,0x72,0x1f,0x34,0x60,0xa4); +DEFINE_GUID(GUID_WICPixelFormat16bppYQuantizedDctCoefficients, 0xa355f433,0x48e8,0x4a42,0x84,0xd8,0xe2,0xaa,0x26,0xca,0x80,0xa4); +DEFINE_GUID(GUID_WICPixelFormat16bppCbQuantizedDctCoefficients, 0xd2c4ff61,0x56a5,0x49c2,0x8b,0x5c,0x4c,0x19,0x25,0x96,0x48,0x37); +DEFINE_GUID(GUID_WICPixelFormat16bppCrQuantizedDctCoefficients, 0x2fe354f0,0x1680,0x42d8,0x92,0x31,0xe7,0x3c,0x05,0x65,0xbf,0xc1); +#if 0 +typedef DWORD *D2D1_PIXEL_FORMAT; +#endif +typedef struct WICRect { + INT X; + INT Y; + INT Width; + INT Height; +} WICRect; +typedef struct WICBitmapPattern { + ULARGE_INTEGER Position; + ULONG Length; + BYTE *Pattern; + BYTE *Mask; + WINBOOL EndOfStream; +} WICBitmapPattern; +typedef struct WICImageParameters { + D2D1_PIXEL_FORMAT PixelFormat; + FLOAT DpiX; + FLOAT DpiY; + FLOAT Top; + FLOAT Left; + UINT32 PixelWidth; + UINT32 PixelHeight; +} WICImageParameters; +typedef struct WICDdsParameters { + UINT Width; + UINT Height; + UINT Depth; + UINT MipLevels; + UINT ArraySize; + DXGI_FORMAT DxgiFormat; + WICDdsDimension Dimension; + WICDdsAlphaMode AlphaMode; +} WICDdsParameters; +typedef struct WICDdsFormatInfo { + DXGI_FORMAT DxgiFormat; + UINT BytesPerBlock; + UINT BlockWidth; + UINT BlockHeight; +} WICDdsFormatInfo; +typedef UINT32 WICColor; +#ifndef __ID2D1Device_FWD_DEFINED__ +#define __ID2D1Device_FWD_DEFINED__ +typedef interface ID2D1Device ID2D1Device; +#ifdef __cplusplus +interface ID2D1Device; +#endif /* __cplusplus */ +#endif + +#ifndef __ID2D1Image_FWD_DEFINED__ +#define __ID2D1Image_FWD_DEFINED__ +typedef interface ID2D1Image ID2D1Image; +#ifdef __cplusplus +interface ID2D1Image; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICPalette_FWD_DEFINED__ +#define __IWICPalette_FWD_DEFINED__ +typedef interface IWICPalette IWICPalette; +#ifdef __cplusplus +interface IWICPalette; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWICColorContext interface + */ +#ifndef __IWICColorContext_INTERFACE_DEFINED__ +#define __IWICColorContext_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3c613a02-34b2-44ea-9a7c-45aea9c6fd6d") +IWICColorContext : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename( + LPCWSTR wzFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory( + const BYTE *pbBuffer, + UINT cbBufferSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromExifColorSpace( + UINT value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetType( + WICColorContextType *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProfileBytes( + UINT cbBuffer, + BYTE *pbBuffer, + UINT *pcbActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExifColorSpace( + UINT *pValue) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICColorContext, 0x3c613a02, 0x34b2, 0x44ea, 0x9a,0x7c, 0x45,0xae,0xa9,0xc6,0xfd,0x6d) +#endif +#else +typedef struct IWICColorContextVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICColorContext *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICColorContext *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICColorContext *This); + + /*** IWICColorContext methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)( + IWICColorContext *This, + LPCWSTR wzFilename); + + HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)( + IWICColorContext *This, + const BYTE *pbBuffer, + UINT cbBufferSize); + + HRESULT (STDMETHODCALLTYPE *InitializeFromExifColorSpace)( + IWICColorContext *This, + UINT value); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IWICColorContext *This, + WICColorContextType *pType); + + HRESULT (STDMETHODCALLTYPE *GetProfileBytes)( + IWICColorContext *This, + UINT cbBuffer, + BYTE *pbBuffer, + UINT *pcbActual); + + HRESULT (STDMETHODCALLTYPE *GetExifColorSpace)( + IWICColorContext *This, + UINT *pValue); + + END_INTERFACE +} IWICColorContextVtbl; + +interface IWICColorContext { + CONST_VTBL IWICColorContextVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICColorContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICColorContext_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICColorContext_Release(This) (This)->lpVtbl->Release(This) +/*** IWICColorContext methods ***/ +#define IWICColorContext_InitializeFromFilename(This,wzFilename) (This)->lpVtbl->InitializeFromFilename(This,wzFilename) +#define IWICColorContext_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize) +#define IWICColorContext_InitializeFromExifColorSpace(This,value) (This)->lpVtbl->InitializeFromExifColorSpace(This,value) +#define IWICColorContext_GetType(This,pType) (This)->lpVtbl->GetType(This,pType) +#define IWICColorContext_GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual) (This)->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual) +#define IWICColorContext_GetExifColorSpace(This,pValue) (This)->lpVtbl->GetExifColorSpace(This,pValue) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICColorContext_QueryInterface(IWICColorContext* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICColorContext_AddRef(IWICColorContext* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICColorContext_Release(IWICColorContext* This) { + return This->lpVtbl->Release(This); +} +/*** IWICColorContext methods ***/ +static inline HRESULT IWICColorContext_InitializeFromFilename(IWICColorContext* This,LPCWSTR wzFilename) { + return This->lpVtbl->InitializeFromFilename(This,wzFilename); +} +static inline HRESULT IWICColorContext_InitializeFromMemory(IWICColorContext* This,const BYTE *pbBuffer,UINT cbBufferSize) { + return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize); +} +static inline HRESULT IWICColorContext_InitializeFromExifColorSpace(IWICColorContext* This,UINT value) { + return This->lpVtbl->InitializeFromExifColorSpace(This,value); +} +static inline HRESULT IWICColorContext_GetType(IWICColorContext* This,WICColorContextType *pType) { + return This->lpVtbl->GetType(This,pType); +} +static inline HRESULT IWICColorContext_GetProfileBytes(IWICColorContext* This,UINT cbBuffer,BYTE *pbBuffer,UINT *pcbActual) { + return This->lpVtbl->GetProfileBytes(This,cbBuffer,pbBuffer,pcbActual); +} +static inline HRESULT IWICColorContext_GetExifColorSpace(IWICColorContext* This,UINT *pValue) { + return This->lpVtbl->GetExifColorSpace(This,pValue); +} +#endif +#endif + +#endif + + +#endif /* __IWICColorContext_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapSource interface + */ +#ifndef __IWICBitmapSource_INTERFACE_DEFINED__ +#define __IWICBitmapSource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000120-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmapSource : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSize( + UINT *puiWidth, + UINT *puiHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPixelFormat( + WICPixelFormatGUID *pPixelFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetResolution( + double *pDpiX, + double *pDpiY) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyPixels( + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapSource, 0x00000120, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapSourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapSource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapSource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapSource *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapSource *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapSource *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmapSource *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapSource *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmapSource *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + END_INTERFACE +} IWICBitmapSourceVtbl; + +interface IWICBitmapSource { + CONST_VTBL IWICBitmapSourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapSource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapSource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapSource_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmapSource_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmapSource_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmapSource_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmapSource_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapSource_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapSource_QueryInterface(IWICBitmapSource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapSource_AddRef(IWICBitmapSource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapSource_Release(IWICBitmapSource* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmapSource_GetSize(IWICBitmapSource* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmapSource_GetPixelFormat(IWICBitmapSource* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapSource_GetResolution(IWICBitmapSource* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmapSource_CopyPalette(IWICBitmapSource* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapSource_CopyPixels(IWICBitmapSource* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapSource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapLock interface + */ +#ifndef __IWICBitmapLock_INTERFACE_DEFINED__ +#define __IWICBitmapLock_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000123-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmapLock : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSize( + UINT *pWidth, + UINT *pHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStride( + UINT *pcbStride) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDataPointer( + UINT *pcbBufferSize, + BYTE **ppbData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPixelFormat( + WICPixelFormatGUID *pPixelFormat) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapLock, 0x00000123, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapLockVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapLock *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapLock *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapLock *This); + + /*** IWICBitmapLock methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapLock *This, + UINT *pWidth, + UINT *pHeight); + + HRESULT (STDMETHODCALLTYPE *GetStride)( + IWICBitmapLock *This, + UINT *pcbStride); + + HRESULT (STDMETHODCALLTYPE *GetDataPointer)( + IWICBitmapLock *This, + UINT *pcbBufferSize, + BYTE **ppbData); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapLock *This, + WICPixelFormatGUID *pPixelFormat); + + END_INTERFACE +} IWICBitmapLockVtbl; + +interface IWICBitmapLock { + CONST_VTBL IWICBitmapLockVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapLock_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapLock_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapLock methods ***/ +#define IWICBitmapLock_GetSize(This,pWidth,pHeight) (This)->lpVtbl->GetSize(This,pWidth,pHeight) +#define IWICBitmapLock_GetStride(This,pcbStride) (This)->lpVtbl->GetStride(This,pcbStride) +#define IWICBitmapLock_GetDataPointer(This,pcbBufferSize,ppbData) (This)->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData) +#define IWICBitmapLock_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapLock_QueryInterface(IWICBitmapLock* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapLock_AddRef(IWICBitmapLock* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapLock_Release(IWICBitmapLock* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapLock methods ***/ +static inline HRESULT IWICBitmapLock_GetSize(IWICBitmapLock* This,UINT *pWidth,UINT *pHeight) { + return This->lpVtbl->GetSize(This,pWidth,pHeight); +} +static inline HRESULT IWICBitmapLock_GetStride(IWICBitmapLock* This,UINT *pcbStride) { + return This->lpVtbl->GetStride(This,pcbStride); +} +static inline HRESULT IWICBitmapLock_GetDataPointer(IWICBitmapLock* This,UINT *pcbBufferSize,BYTE **ppbData) { + return This->lpVtbl->GetDataPointer(This,pcbBufferSize,ppbData); +} +static inline HRESULT IWICBitmapLock_GetPixelFormat(IWICBitmapLock* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapLock_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapFlipRotator interface + */ +#ifndef __IWICBitmapFlipRotator_INTERFACE_DEFINED__ +#define __IWICBitmapFlipRotator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5009834f-2d6a-41ce-9e1b-17c5aff7a782") +IWICBitmapFlipRotator : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWICBitmapSource *pISource, + WICBitmapTransformOptions options) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapFlipRotator, 0x5009834f, 0x2d6a, 0x41ce, 0x9e,0x1b, 0x17,0xc5,0xaf,0xf7,0xa7,0x82) +#endif +#else +typedef struct IWICBitmapFlipRotatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapFlipRotator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapFlipRotator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapFlipRotator *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapFlipRotator *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapFlipRotator *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmapFlipRotator *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapFlipRotator *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmapFlipRotator *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICBitmapFlipRotator methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapFlipRotator *This, + IWICBitmapSource *pISource, + WICBitmapTransformOptions options); + + END_INTERFACE +} IWICBitmapFlipRotatorVtbl; + +interface IWICBitmapFlipRotator { + CONST_VTBL IWICBitmapFlipRotatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapFlipRotator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapFlipRotator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapFlipRotator_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmapFlipRotator_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmapFlipRotator_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmapFlipRotator_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmapFlipRotator_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapFlipRotator_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICBitmapFlipRotator methods ***/ +#define IWICBitmapFlipRotator_Initialize(This,pISource,options) (This)->lpVtbl->Initialize(This,pISource,options) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapFlipRotator_QueryInterface(IWICBitmapFlipRotator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapFlipRotator_AddRef(IWICBitmapFlipRotator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapFlipRotator_Release(IWICBitmapFlipRotator* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmapFlipRotator_GetSize(IWICBitmapFlipRotator* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmapFlipRotator_GetPixelFormat(IWICBitmapFlipRotator* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapFlipRotator_GetResolution(IWICBitmapFlipRotator* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmapFlipRotator_CopyPalette(IWICBitmapFlipRotator* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapFlipRotator_CopyPixels(IWICBitmapFlipRotator* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICBitmapFlipRotator methods ***/ +static inline HRESULT IWICBitmapFlipRotator_Initialize(IWICBitmapFlipRotator* This,IWICBitmapSource *pISource,WICBitmapTransformOptions options) { + return This->lpVtbl->Initialize(This,pISource,options); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapFlipRotator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmap interface + */ +#ifndef __IWICBitmap_INTERFACE_DEFINED__ +#define __IWICBitmap_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000121-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmap : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Lock( + const WICRect *prcLock, + DWORD flags, + IWICBitmapLock **ppILock) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetResolution( + double dpiX, + double dpiY) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmap, 0x00000121, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmap *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmap *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmap *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmap *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmap *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmap *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmap *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmap *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICBitmap methods ***/ + HRESULT (STDMETHODCALLTYPE *Lock)( + IWICBitmap *This, + const WICRect *prcLock, + DWORD flags, + IWICBitmapLock **ppILock); + + HRESULT (STDMETHODCALLTYPE *SetPalette)( + IWICBitmap *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *SetResolution)( + IWICBitmap *This, + double dpiX, + double dpiY); + + END_INTERFACE +} IWICBitmapVtbl; + +interface IWICBitmap { + CONST_VTBL IWICBitmapVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmap_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmap_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmap_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmap_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmap_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmap_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmap_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICBitmap methods ***/ +#define IWICBitmap_Lock(This,prcLock,flags,ppILock) (This)->lpVtbl->Lock(This,prcLock,flags,ppILock) +#define IWICBitmap_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette) +#define IWICBitmap_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmap_QueryInterface(IWICBitmap* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmap_AddRef(IWICBitmap* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmap_Release(IWICBitmap* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmap_GetSize(IWICBitmap* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmap_GetPixelFormat(IWICBitmap* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmap_GetResolution(IWICBitmap* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmap_CopyPalette(IWICBitmap* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmap_CopyPixels(IWICBitmap* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICBitmap methods ***/ +static inline HRESULT IWICBitmap_Lock(IWICBitmap* This,const WICRect *prcLock,DWORD flags,IWICBitmapLock **ppILock) { + return This->lpVtbl->Lock(This,prcLock,flags,ppILock); +} +static inline HRESULT IWICBitmap_SetPalette(IWICBitmap* This,IWICPalette *pIPalette) { + return This->lpVtbl->SetPalette(This,pIPalette); +} +static inline HRESULT IWICBitmap_SetResolution(IWICBitmap* This,double dpiX,double dpiY) { + return This->lpVtbl->SetResolution(This,dpiX,dpiY); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmap_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICPalette interface + */ +#ifndef __IWICPalette_INTERFACE_DEFINED__ +#define __IWICPalette_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000040-a8f2-4877-ba0a-fd2b6645fb94") +IWICPalette : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitializePredefined( + WICBitmapPaletteType ePaletteType, + WINBOOL fAddTransparentColor) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeCustom( + WICColor *pColors, + UINT colorCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromBitmap( + IWICBitmapSource *pISurface, + UINT colorCount, + WINBOOL fAddTransparentColor) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetType( + WICBitmapPaletteType *pePaletteType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorCount( + UINT *pcCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColors( + UINT colorCount, + WICColor *pColors, + UINT *pcActualColors) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsBlackWhite( + WINBOOL *pfIsBlackWhite) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsGrayscale( + WINBOOL *pfIsGrayscale) = 0; + + virtual HRESULT STDMETHODCALLTYPE HasAlpha( + WINBOOL *pfHasAlpha) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICPalette, 0x00000040, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICPaletteVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICPalette *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICPalette *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICPalette *This); + + /*** IWICPalette methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializePredefined)( + IWICPalette *This, + WICBitmapPaletteType ePaletteType, + WINBOOL fAddTransparentColor); + + HRESULT (STDMETHODCALLTYPE *InitializeCustom)( + IWICPalette *This, + WICColor *pColors, + UINT colorCount); + + HRESULT (STDMETHODCALLTYPE *InitializeFromBitmap)( + IWICPalette *This, + IWICBitmapSource *pISurface, + UINT colorCount, + WINBOOL fAddTransparentColor); + + HRESULT (STDMETHODCALLTYPE *InitializeFromPalette)( + IWICPalette *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IWICPalette *This, + WICBitmapPaletteType *pePaletteType); + + HRESULT (STDMETHODCALLTYPE *GetColorCount)( + IWICPalette *This, + UINT *pcCount); + + HRESULT (STDMETHODCALLTYPE *GetColors)( + IWICPalette *This, + UINT colorCount, + WICColor *pColors, + UINT *pcActualColors); + + HRESULT (STDMETHODCALLTYPE *IsBlackWhite)( + IWICPalette *This, + WINBOOL *pfIsBlackWhite); + + HRESULT (STDMETHODCALLTYPE *IsGrayscale)( + IWICPalette *This, + WINBOOL *pfIsGrayscale); + + HRESULT (STDMETHODCALLTYPE *HasAlpha)( + IWICPalette *This, + WINBOOL *pfHasAlpha); + + END_INTERFACE +} IWICPaletteVtbl; + +interface IWICPalette { + CONST_VTBL IWICPaletteVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICPalette_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICPalette_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICPalette_Release(This) (This)->lpVtbl->Release(This) +/*** IWICPalette methods ***/ +#define IWICPalette_InitializePredefined(This,ePaletteType,fAddTransparentColor) (This)->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor) +#define IWICPalette_InitializeCustom(This,pColors,colorCount) (This)->lpVtbl->InitializeCustom(This,pColors,colorCount) +#define IWICPalette_InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor) (This)->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor) +#define IWICPalette_InitializeFromPalette(This,pIPalette) (This)->lpVtbl->InitializeFromPalette(This,pIPalette) +#define IWICPalette_GetType(This,pePaletteType) (This)->lpVtbl->GetType(This,pePaletteType) +#define IWICPalette_GetColorCount(This,pcCount) (This)->lpVtbl->GetColorCount(This,pcCount) +#define IWICPalette_GetColors(This,colorCount,pColors,pcActualColors) (This)->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors) +#define IWICPalette_IsBlackWhite(This,pfIsBlackWhite) (This)->lpVtbl->IsBlackWhite(This,pfIsBlackWhite) +#define IWICPalette_IsGrayscale(This,pfIsGrayscale) (This)->lpVtbl->IsGrayscale(This,pfIsGrayscale) +#define IWICPalette_HasAlpha(This,pfHasAlpha) (This)->lpVtbl->HasAlpha(This,pfHasAlpha) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICPalette_QueryInterface(IWICPalette* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICPalette_AddRef(IWICPalette* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICPalette_Release(IWICPalette* This) { + return This->lpVtbl->Release(This); +} +/*** IWICPalette methods ***/ +static inline HRESULT IWICPalette_InitializePredefined(IWICPalette* This,WICBitmapPaletteType ePaletteType,WINBOOL fAddTransparentColor) { + return This->lpVtbl->InitializePredefined(This,ePaletteType,fAddTransparentColor); +} +static inline HRESULT IWICPalette_InitializeCustom(IWICPalette* This,WICColor *pColors,UINT colorCount) { + return This->lpVtbl->InitializeCustom(This,pColors,colorCount); +} +static inline HRESULT IWICPalette_InitializeFromBitmap(IWICPalette* This,IWICBitmapSource *pISurface,UINT colorCount,WINBOOL fAddTransparentColor) { + return This->lpVtbl->InitializeFromBitmap(This,pISurface,colorCount,fAddTransparentColor); +} +static inline HRESULT IWICPalette_InitializeFromPalette(IWICPalette* This,IWICPalette *pIPalette) { + return This->lpVtbl->InitializeFromPalette(This,pIPalette); +} +static inline HRESULT IWICPalette_GetType(IWICPalette* This,WICBitmapPaletteType *pePaletteType) { + return This->lpVtbl->GetType(This,pePaletteType); +} +static inline HRESULT IWICPalette_GetColorCount(IWICPalette* This,UINT *pcCount) { + return This->lpVtbl->GetColorCount(This,pcCount); +} +static inline HRESULT IWICPalette_GetColors(IWICPalette* This,UINT colorCount,WICColor *pColors,UINT *pcActualColors) { + return This->lpVtbl->GetColors(This,colorCount,pColors,pcActualColors); +} +static inline HRESULT IWICPalette_IsBlackWhite(IWICPalette* This,WINBOOL *pfIsBlackWhite) { + return This->lpVtbl->IsBlackWhite(This,pfIsBlackWhite); +} +static inline HRESULT IWICPalette_IsGrayscale(IWICPalette* This,WINBOOL *pfIsGrayscale) { + return This->lpVtbl->IsGrayscale(This,pfIsGrayscale); +} +static inline HRESULT IWICPalette_HasAlpha(IWICPalette* This,WINBOOL *pfHasAlpha) { + return This->lpVtbl->HasAlpha(This,pfHasAlpha); +} +#endif +#endif + +#endif + + +#endif /* __IWICPalette_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICComponentInfo interface + */ +#ifndef __IWICComponentInfo_INTERFACE_DEFINED__ +#define __IWICComponentInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("23bc3f0a-698b-4357-886b-f24d50671334") +IWICComponentInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetComponentType( + WICComponentType *pType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCLSID( + CLSID *pclsid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSigningStatus( + DWORD *pStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAuthor( + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVendorGUID( + GUID *pguidVendor) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVersion( + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSpecVersion( + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFriendlyName( + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICComponentInfo, 0x23bc3f0a, 0x698b, 0x4357, 0x88,0x6b, 0xf2,0x4d,0x50,0x67,0x13,0x34) +#endif +#else +typedef struct IWICComponentInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICComponentInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICComponentInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICComponentInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICComponentInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICComponentInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICComponentInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICComponentInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICComponentInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICComponentInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICComponentInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICComponentInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + END_INTERFACE +} IWICComponentInfoVtbl; + +interface IWICComponentInfo { + CONST_VTBL IWICComponentInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICComponentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICComponentInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICComponentInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICComponentInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICComponentInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICComponentInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICComponentInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICComponentInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICComponentInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICComponentInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICComponentInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICComponentInfo_QueryInterface(IWICComponentInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICComponentInfo_AddRef(IWICComponentInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICComponentInfo_Release(IWICComponentInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICComponentInfo_GetComponentType(IWICComponentInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICComponentInfo_GetCLSID(IWICComponentInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICComponentInfo_GetSigningStatus(IWICComponentInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICComponentInfo_GetAuthor(IWICComponentInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICComponentInfo_GetVendorGUID(IWICComponentInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICComponentInfo_GetVersion(IWICComponentInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICComponentInfo_GetSpecVersion(IWICComponentInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICComponentInfo_GetFriendlyName(IWICComponentInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +#endif +#endif + +#endif + + +#endif /* __IWICComponentInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataQueryReader interface + */ +#ifndef __IWICMetadataQueryReader_INTERFACE_DEFINED__ +#define __IWICMetadataQueryReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("30989668-e1c9-4597-b395-458eedb808df") +IWICMetadataQueryReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetContainerFormat( + GUID *pguidContainerFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLocation( + UINT cchMaxLength, + WCHAR *wzNamespace, + UINT *pcchActualLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataByName( + LPCWSTR wzName, + PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnumerator( + IEnumString **ppIEnumString) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataQueryReader, 0x30989668, 0xe1c9, 0x4597, 0xb3,0x95, 0x45,0x8e,0xed,0xb8,0x08,0xdf) +#endif +#else +typedef struct IWICMetadataQueryReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataQueryReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataQueryReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataQueryReader *This); + + /*** IWICMetadataQueryReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICMetadataQueryReader *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetLocation)( + IWICMetadataQueryReader *This, + UINT cchMaxLength, + WCHAR *wzNamespace, + UINT *pcchActualLength); + + HRESULT (STDMETHODCALLTYPE *GetMetadataByName)( + IWICMetadataQueryReader *This, + LPCWSTR wzName, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataQueryReader *This, + IEnumString **ppIEnumString); + + END_INTERFACE +} IWICMetadataQueryReaderVtbl; + +interface IWICMetadataQueryReader { + CONST_VTBL IWICMetadataQueryReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataQueryReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataQueryReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataQueryReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataQueryReader methods ***/ +#define IWICMetadataQueryReader_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICMetadataQueryReader_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) +#define IWICMetadataQueryReader_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue) +#define IWICMetadataQueryReader_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataQueryReader_QueryInterface(IWICMetadataQueryReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataQueryReader_AddRef(IWICMetadataQueryReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataQueryReader_Release(IWICMetadataQueryReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataQueryReader methods ***/ +static inline HRESULT IWICMetadataQueryReader_GetContainerFormat(IWICMetadataQueryReader* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICMetadataQueryReader_GetLocation(IWICMetadataQueryReader* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) { + return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength); +} +static inline HRESULT IWICMetadataQueryReader_GetMetadataByName(IWICMetadataQueryReader* This,LPCWSTR wzName,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue); +} +static inline HRESULT IWICMetadataQueryReader_GetEnumerator(IWICMetadataQueryReader* This,IEnumString **ppIEnumString) { + return This->lpVtbl->GetEnumerator(This,ppIEnumString); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataQueryReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataQueryWriter interface + */ +#ifndef __IWICMetadataQueryWriter_INTERFACE_DEFINED__ +#define __IWICMetadataQueryWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a721791a-0def-4d06-bd91-2118bf1db10b") +IWICMetadataQueryWriter : public IWICMetadataQueryReader +{ + virtual HRESULT STDMETHODCALLTYPE SetMetadataByName( + LPCWSTR wzName, + const PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMetadataByName( + LPCWSTR wzName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataQueryWriter, 0xa721791a, 0x0def, 0x4d06, 0xbd,0x91, 0x21,0x18,0xbf,0x1d,0xb1,0x0b) +#endif +#else +typedef struct IWICMetadataQueryWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataQueryWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataQueryWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataQueryWriter *This); + + /*** IWICMetadataQueryReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICMetadataQueryWriter *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetLocation)( + IWICMetadataQueryWriter *This, + UINT cchMaxLength, + WCHAR *wzNamespace, + UINT *pcchActualLength); + + HRESULT (STDMETHODCALLTYPE *GetMetadataByName)( + IWICMetadataQueryWriter *This, + LPCWSTR wzName, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataQueryWriter *This, + IEnumString **ppIEnumString); + + /*** IWICMetadataQueryWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *SetMetadataByName)( + IWICMetadataQueryWriter *This, + LPCWSTR wzName, + const PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *RemoveMetadataByName)( + IWICMetadataQueryWriter *This, + LPCWSTR wzName); + + END_INTERFACE +} IWICMetadataQueryWriterVtbl; + +interface IWICMetadataQueryWriter { + CONST_VTBL IWICMetadataQueryWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataQueryWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataQueryWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataQueryWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataQueryReader methods ***/ +#define IWICMetadataQueryWriter_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICMetadataQueryWriter_GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) (This)->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength) +#define IWICMetadataQueryWriter_GetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->GetMetadataByName(This,wzName,pvarValue) +#define IWICMetadataQueryWriter_GetEnumerator(This,ppIEnumString) (This)->lpVtbl->GetEnumerator(This,ppIEnumString) +/*** IWICMetadataQueryWriter methods ***/ +#define IWICMetadataQueryWriter_SetMetadataByName(This,wzName,pvarValue) (This)->lpVtbl->SetMetadataByName(This,wzName,pvarValue) +#define IWICMetadataQueryWriter_RemoveMetadataByName(This,wzName) (This)->lpVtbl->RemoveMetadataByName(This,wzName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataQueryWriter_QueryInterface(IWICMetadataQueryWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataQueryWriter_AddRef(IWICMetadataQueryWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataQueryWriter_Release(IWICMetadataQueryWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataQueryReader methods ***/ +static inline HRESULT IWICMetadataQueryWriter_GetContainerFormat(IWICMetadataQueryWriter* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICMetadataQueryWriter_GetLocation(IWICMetadataQueryWriter* This,UINT cchMaxLength,WCHAR *wzNamespace,UINT *pcchActualLength) { + return This->lpVtbl->GetLocation(This,cchMaxLength,wzNamespace,pcchActualLength); +} +static inline HRESULT IWICMetadataQueryWriter_GetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetMetadataByName(This,wzName,pvarValue); +} +static inline HRESULT IWICMetadataQueryWriter_GetEnumerator(IWICMetadataQueryWriter* This,IEnumString **ppIEnumString) { + return This->lpVtbl->GetEnumerator(This,ppIEnumString); +} +/*** IWICMetadataQueryWriter methods ***/ +static inline HRESULT IWICMetadataQueryWriter_SetMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName,const PROPVARIANT *pvarValue) { + return This->lpVtbl->SetMetadataByName(This,wzName,pvarValue); +} +static inline HRESULT IWICMetadataQueryWriter_RemoveMetadataByName(IWICMetadataQueryWriter* This,LPCWSTR wzName) { + return This->lpVtbl->RemoveMetadataByName(This,wzName); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataQueryWriter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapFrameDecode interface + */ +#ifndef __IWICBitmapFrameDecode_INTERFACE_DEFINED__ +#define __IWICBitmapFrameDecode_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3b16811b-6a43-4ec9-a813-3d930c13b940") +IWICBitmapFrameDecode : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader( + IWICMetadataQueryReader **ppIMetadataQueryReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorContexts( + UINT cCount, + IWICColorContext **ppIColorContexts, + UINT *pcActualCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThumbnail( + IWICBitmapSource **ppIThumbnail) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapFrameDecode, 0x3b16811b, 0x6a43, 0x4ec9, 0xa8,0x13, 0x3d,0x93,0x0c,0x13,0xb9,0x40) +#endif +#else +typedef struct IWICBitmapFrameDecodeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapFrameDecode *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapFrameDecode *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapFrameDecode *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapFrameDecode *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapFrameDecode *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmapFrameDecode *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapFrameDecode *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmapFrameDecode *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICBitmapFrameDecode methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)( + IWICBitmapFrameDecode *This, + IWICMetadataQueryReader **ppIMetadataQueryReader); + + HRESULT (STDMETHODCALLTYPE *GetColorContexts)( + IWICBitmapFrameDecode *This, + UINT cCount, + IWICColorContext **ppIColorContexts, + UINT *pcActualCount); + + HRESULT (STDMETHODCALLTYPE *GetThumbnail)( + IWICBitmapFrameDecode *This, + IWICBitmapSource **ppIThumbnail); + + END_INTERFACE +} IWICBitmapFrameDecodeVtbl; + +interface IWICBitmapFrameDecode { + CONST_VTBL IWICBitmapFrameDecodeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapFrameDecode_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmapFrameDecode_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmapFrameDecode_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmapFrameDecode_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmapFrameDecode_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapFrameDecode_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICBitmapFrameDecode methods ***/ +#define IWICBitmapFrameDecode_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader) +#define IWICBitmapFrameDecode_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) +#define IWICBitmapFrameDecode_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapFrameDecode_QueryInterface(IWICBitmapFrameDecode* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapFrameDecode_AddRef(IWICBitmapFrameDecode* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapFrameDecode_Release(IWICBitmapFrameDecode* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmapFrameDecode_GetSize(IWICBitmapFrameDecode* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmapFrameDecode_GetPixelFormat(IWICBitmapFrameDecode* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapFrameDecode_GetResolution(IWICBitmapFrameDecode* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmapFrameDecode_CopyPalette(IWICBitmapFrameDecode* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapFrameDecode_CopyPixels(IWICBitmapFrameDecode* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICBitmapFrameDecode methods ***/ +static inline HRESULT IWICBitmapFrameDecode_GetMetadataQueryReader(IWICBitmapFrameDecode* This,IWICMetadataQueryReader **ppIMetadataQueryReader) { + return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader); +} +static inline HRESULT IWICBitmapFrameDecode_GetColorContexts(IWICBitmapFrameDecode* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) { + return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount); +} +static inline HRESULT IWICBitmapFrameDecode_GetThumbnail(IWICBitmapFrameDecode* This,IWICBitmapSource **ppIThumbnail) { + return This->lpVtbl->GetThumbnail(This,ppIThumbnail); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapFrameDecode_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICPixelFormatInfo interface + */ +#ifndef __IWICPixelFormatInfo_INTERFACE_DEFINED__ +#define __IWICPixelFormatInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e8eda601-3d48-431a-ab44-69059be88bbe") +IWICPixelFormatInfo : public IWICComponentInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetFormatGUID( + GUID *pFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorContext( + IWICColorContext **ppIColorContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBitsPerPixel( + UINT *puiBitsPerPixel) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChannelCount( + UINT *puiChannelCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChannelMask( + UINT uiChannelIndex, + UINT cbMaskBuffer, + BYTE *pbMaskBuffer, + UINT *pcbActual) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICPixelFormatInfo, 0xe8eda601, 0x3d48, 0x431a, 0xab,0x44, 0x69,0x05,0x9b,0xe8,0x8b,0xbe) +#endif +#else +typedef struct IWICPixelFormatInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICPixelFormatInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICPixelFormatInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICPixelFormatInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICPixelFormatInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICPixelFormatInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICPixelFormatInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICPixelFormatInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICPixelFormatInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICPixelFormatInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICPixelFormatInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICPixelFormatInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICPixelFormatInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFormatGUID)( + IWICPixelFormatInfo *This, + GUID *pFormat); + + HRESULT (STDMETHODCALLTYPE *GetColorContext)( + IWICPixelFormatInfo *This, + IWICColorContext **ppIColorContext); + + HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)( + IWICPixelFormatInfo *This, + UINT *puiBitsPerPixel); + + HRESULT (STDMETHODCALLTYPE *GetChannelCount)( + IWICPixelFormatInfo *This, + UINT *puiChannelCount); + + HRESULT (STDMETHODCALLTYPE *GetChannelMask)( + IWICPixelFormatInfo *This, + UINT uiChannelIndex, + UINT cbMaskBuffer, + BYTE *pbMaskBuffer, + UINT *pcbActual); + + END_INTERFACE +} IWICPixelFormatInfoVtbl; + +interface IWICPixelFormatInfo { + CONST_VTBL IWICPixelFormatInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICPixelFormatInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICPixelFormatInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICPixelFormatInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICPixelFormatInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICPixelFormatInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICPixelFormatInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICPixelFormatInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICPixelFormatInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICPixelFormatInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICPixelFormatInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICPixelFormatInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICPixelFormatInfo methods ***/ +#define IWICPixelFormatInfo_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat) +#define IWICPixelFormatInfo_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext) +#define IWICPixelFormatInfo_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel) +#define IWICPixelFormatInfo_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount) +#define IWICPixelFormatInfo_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICPixelFormatInfo_QueryInterface(IWICPixelFormatInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICPixelFormatInfo_AddRef(IWICPixelFormatInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICPixelFormatInfo_Release(IWICPixelFormatInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICPixelFormatInfo_GetComponentType(IWICPixelFormatInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICPixelFormatInfo_GetCLSID(IWICPixelFormatInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICPixelFormatInfo_GetSigningStatus(IWICPixelFormatInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICPixelFormatInfo_GetAuthor(IWICPixelFormatInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo_GetVendorGUID(IWICPixelFormatInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICPixelFormatInfo_GetVersion(IWICPixelFormatInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo_GetSpecVersion(IWICPixelFormatInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo_GetFriendlyName(IWICPixelFormatInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICPixelFormatInfo methods ***/ +static inline HRESULT IWICPixelFormatInfo_GetFormatGUID(IWICPixelFormatInfo* This,GUID *pFormat) { + return This->lpVtbl->GetFormatGUID(This,pFormat); +} +static inline HRESULT IWICPixelFormatInfo_GetColorContext(IWICPixelFormatInfo* This,IWICColorContext **ppIColorContext) { + return This->lpVtbl->GetColorContext(This,ppIColorContext); +} +static inline HRESULT IWICPixelFormatInfo_GetBitsPerPixel(IWICPixelFormatInfo* This,UINT *puiBitsPerPixel) { + return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel); +} +static inline HRESULT IWICPixelFormatInfo_GetChannelCount(IWICPixelFormatInfo* This,UINT *puiChannelCount) { + return This->lpVtbl->GetChannelCount(This,puiChannelCount); +} +static inline HRESULT IWICPixelFormatInfo_GetChannelMask(IWICPixelFormatInfo* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) { + return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual); +} +#endif +#endif + +#endif + + +#endif /* __IWICPixelFormatInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICPixelFormatInfo2 interface + */ +#ifndef __IWICPixelFormatInfo2_INTERFACE_DEFINED__ +#define __IWICPixelFormatInfo2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a9db33a2-af5f-43c7-b679-74f5984b5aa4") +IWICPixelFormatInfo2 : public IWICPixelFormatInfo +{ + virtual HRESULT STDMETHODCALLTYPE SupportsTransparency( + WINBOOL *pfSupportsTransparency) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNumericRepresentation( + WICPixelFormatNumericRepresentation *pNumericRepresentation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICPixelFormatInfo2, 0xa9db33a2, 0xaf5f, 0x43c7, 0xb6,0x79, 0x74,0xf5,0x98,0x4b,0x5a,0xa4) +#endif +#else +typedef struct IWICPixelFormatInfo2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICPixelFormatInfo2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICPixelFormatInfo2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICPixelFormatInfo2 *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICPixelFormatInfo2 *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICPixelFormatInfo2 *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICPixelFormatInfo2 *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICPixelFormatInfo2 *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICPixelFormatInfo2 *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICPixelFormatInfo2 *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICPixelFormatInfo2 *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICPixelFormatInfo2 *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICPixelFormatInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFormatGUID)( + IWICPixelFormatInfo2 *This, + GUID *pFormat); + + HRESULT (STDMETHODCALLTYPE *GetColorContext)( + IWICPixelFormatInfo2 *This, + IWICColorContext **ppIColorContext); + + HRESULT (STDMETHODCALLTYPE *GetBitsPerPixel)( + IWICPixelFormatInfo2 *This, + UINT *puiBitsPerPixel); + + HRESULT (STDMETHODCALLTYPE *GetChannelCount)( + IWICPixelFormatInfo2 *This, + UINT *puiChannelCount); + + HRESULT (STDMETHODCALLTYPE *GetChannelMask)( + IWICPixelFormatInfo2 *This, + UINT uiChannelIndex, + UINT cbMaskBuffer, + BYTE *pbMaskBuffer, + UINT *pcbActual); + + /*** IWICPixelFormatInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SupportsTransparency)( + IWICPixelFormatInfo2 *This, + WINBOOL *pfSupportsTransparency); + + HRESULT (STDMETHODCALLTYPE *GetNumericRepresentation)( + IWICPixelFormatInfo2 *This, + WICPixelFormatNumericRepresentation *pNumericRepresentation); + + END_INTERFACE +} IWICPixelFormatInfo2Vtbl; + +interface IWICPixelFormatInfo2 { + CONST_VTBL IWICPixelFormatInfo2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICPixelFormatInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICPixelFormatInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICPixelFormatInfo2_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICPixelFormatInfo2_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICPixelFormatInfo2_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICPixelFormatInfo2_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICPixelFormatInfo2_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICPixelFormatInfo2_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICPixelFormatInfo2_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICPixelFormatInfo2_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICPixelFormatInfo2_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICPixelFormatInfo methods ***/ +#define IWICPixelFormatInfo2_GetFormatGUID(This,pFormat) (This)->lpVtbl->GetFormatGUID(This,pFormat) +#define IWICPixelFormatInfo2_GetColorContext(This,ppIColorContext) (This)->lpVtbl->GetColorContext(This,ppIColorContext) +#define IWICPixelFormatInfo2_GetBitsPerPixel(This,puiBitsPerPixel) (This)->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel) +#define IWICPixelFormatInfo2_GetChannelCount(This,puiChannelCount) (This)->lpVtbl->GetChannelCount(This,puiChannelCount) +#define IWICPixelFormatInfo2_GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) (This)->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual) +/*** IWICPixelFormatInfo2 methods ***/ +#define IWICPixelFormatInfo2_SupportsTransparency(This,pfSupportsTransparency) (This)->lpVtbl->SupportsTransparency(This,pfSupportsTransparency) +#define IWICPixelFormatInfo2_GetNumericRepresentation(This,pNumericRepresentation) (This)->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICPixelFormatInfo2_QueryInterface(IWICPixelFormatInfo2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICPixelFormatInfo2_AddRef(IWICPixelFormatInfo2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICPixelFormatInfo2_Release(IWICPixelFormatInfo2* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICPixelFormatInfo2_GetComponentType(IWICPixelFormatInfo2* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICPixelFormatInfo2_GetCLSID(IWICPixelFormatInfo2* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICPixelFormatInfo2_GetSigningStatus(IWICPixelFormatInfo2* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICPixelFormatInfo2_GetAuthor(IWICPixelFormatInfo2* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo2_GetVendorGUID(IWICPixelFormatInfo2* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICPixelFormatInfo2_GetVersion(IWICPixelFormatInfo2* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo2_GetSpecVersion(IWICPixelFormatInfo2* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICPixelFormatInfo2_GetFriendlyName(IWICPixelFormatInfo2* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICPixelFormatInfo methods ***/ +static inline HRESULT IWICPixelFormatInfo2_GetFormatGUID(IWICPixelFormatInfo2* This,GUID *pFormat) { + return This->lpVtbl->GetFormatGUID(This,pFormat); +} +static inline HRESULT IWICPixelFormatInfo2_GetColorContext(IWICPixelFormatInfo2* This,IWICColorContext **ppIColorContext) { + return This->lpVtbl->GetColorContext(This,ppIColorContext); +} +static inline HRESULT IWICPixelFormatInfo2_GetBitsPerPixel(IWICPixelFormatInfo2* This,UINT *puiBitsPerPixel) { + return This->lpVtbl->GetBitsPerPixel(This,puiBitsPerPixel); +} +static inline HRESULT IWICPixelFormatInfo2_GetChannelCount(IWICPixelFormatInfo2* This,UINT *puiChannelCount) { + return This->lpVtbl->GetChannelCount(This,puiChannelCount); +} +static inline HRESULT IWICPixelFormatInfo2_GetChannelMask(IWICPixelFormatInfo2* This,UINT uiChannelIndex,UINT cbMaskBuffer,BYTE *pbMaskBuffer,UINT *pcbActual) { + return This->lpVtbl->GetChannelMask(This,uiChannelIndex,cbMaskBuffer,pbMaskBuffer,pcbActual); +} +/*** IWICPixelFormatInfo2 methods ***/ +static inline HRESULT IWICPixelFormatInfo2_SupportsTransparency(IWICPixelFormatInfo2* This,WINBOOL *pfSupportsTransparency) { + return This->lpVtbl->SupportsTransparency(This,pfSupportsTransparency); +} +static inline HRESULT IWICPixelFormatInfo2_GetNumericRepresentation(IWICPixelFormatInfo2* This,WICPixelFormatNumericRepresentation *pNumericRepresentation) { + return This->lpVtbl->GetNumericRepresentation(This,pNumericRepresentation); +} +#endif +#endif + +#endif + + +#endif /* __IWICPixelFormatInfo2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapCodecInfo interface + */ +#ifndef __IWICBitmapCodecInfo_INTERFACE_DEFINED__ +#define __IWICBitmapCodecInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e87a44c4-b76e-4c47-8b09-298eb12a2714") +IWICBitmapCodecInfo : public IWICComponentInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetContainerFormat( + GUID *pguidContainerFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPixelFormats( + UINT cFormats, + GUID *pguidPixelFormats, + UINT *pcActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorManagementVersion( + UINT cchColorManagementVersion, + WCHAR *wzColorManagementVersion, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer( + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceModels( + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMimeTypes( + UINT cchMimeTypes, + WCHAR *wzMimeTypes, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFileExtensions( + UINT cchFileExtensions, + WCHAR *wzFileExtensions, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesSupportAnimation( + WINBOOL *pfSupportAnimation) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesSupportChromaKey( + WINBOOL *pfSupportChromaKey) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesSupportLossless( + WINBOOL *pfSupportLossless) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesSupportMultiframe( + WINBOOL *pfSupportMultiframe) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchesMimeType( + LPCWSTR wzMimeType, + WINBOOL *pfMatches) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapCodecInfo, 0xe87a44c4, 0xb76e, 0x4c47, 0x8b,0x09, 0x29,0x8e,0xb1,0x2a,0x27,0x14) +#endif +#else +typedef struct IWICBitmapCodecInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapCodecInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapCodecInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapCodecInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICBitmapCodecInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICBitmapCodecInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICBitmapCodecInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICBitmapCodecInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICBitmapCodecInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICBitmapCodecInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICBitmapCodecInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICBitmapCodecInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICBitmapCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICBitmapCodecInfo *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormats)( + IWICBitmapCodecInfo *This, + UINT cFormats, + GUID *pguidPixelFormats, + UINT *pcActual); + + HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)( + IWICBitmapCodecInfo *This, + UINT cchColorManagementVersion, + WCHAR *wzColorManagementVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICBitmapCodecInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICBitmapCodecInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetMimeTypes)( + IWICBitmapCodecInfo *This, + UINT cchMimeTypes, + WCHAR *wzMimeTypes, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFileExtensions)( + IWICBitmapCodecInfo *This, + UINT cchFileExtensions, + WCHAR *wzFileExtensions, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)( + IWICBitmapCodecInfo *This, + WINBOOL *pfSupportAnimation); + + HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)( + IWICBitmapCodecInfo *This, + WINBOOL *pfSupportChromaKey); + + HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)( + IWICBitmapCodecInfo *This, + WINBOOL *pfSupportLossless); + + HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)( + IWICBitmapCodecInfo *This, + WINBOOL *pfSupportMultiframe); + + HRESULT (STDMETHODCALLTYPE *MatchesMimeType)( + IWICBitmapCodecInfo *This, + LPCWSTR wzMimeType, + WINBOOL *pfMatches); + + END_INTERFACE +} IWICBitmapCodecInfoVtbl; + +interface IWICBitmapCodecInfo { + CONST_VTBL IWICBitmapCodecInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapCodecInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapCodecInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapCodecInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICBitmapCodecInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICBitmapCodecInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICBitmapCodecInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICBitmapCodecInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICBitmapCodecInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICBitmapCodecInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICBitmapCodecInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICBitmapCodecInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICBitmapCodecInfo methods ***/ +#define IWICBitmapCodecInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICBitmapCodecInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) +#define IWICBitmapCodecInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) +#define IWICBitmapCodecInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICBitmapCodecInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICBitmapCodecInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) +#define IWICBitmapCodecInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) +#define IWICBitmapCodecInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation) +#define IWICBitmapCodecInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey) +#define IWICBitmapCodecInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless) +#define IWICBitmapCodecInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe) +#define IWICBitmapCodecInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapCodecInfo_QueryInterface(IWICBitmapCodecInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapCodecInfo_AddRef(IWICBitmapCodecInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapCodecInfo_Release(IWICBitmapCodecInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICBitmapCodecInfo_GetComponentType(IWICBitmapCodecInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICBitmapCodecInfo_GetCLSID(IWICBitmapCodecInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICBitmapCodecInfo_GetSigningStatus(IWICBitmapCodecInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICBitmapCodecInfo_GetAuthor(IWICBitmapCodecInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetVendorGUID(IWICBitmapCodecInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICBitmapCodecInfo_GetVersion(IWICBitmapCodecInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetSpecVersion(IWICBitmapCodecInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetFriendlyName(IWICBitmapCodecInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICBitmapCodecInfo methods ***/ +static inline HRESULT IWICBitmapCodecInfo_GetContainerFormat(IWICBitmapCodecInfo* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICBitmapCodecInfo_GetPixelFormats(IWICBitmapCodecInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) { + return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetColorManagementVersion(IWICBitmapCodecInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) { + return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetDeviceManufacturer(IWICBitmapCodecInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetDeviceModels(IWICBitmapCodecInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetMimeTypes(IWICBitmapCodecInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) { + return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_GetFileExtensions(IWICBitmapCodecInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) { + return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual); +} +static inline HRESULT IWICBitmapCodecInfo_DoesSupportAnimation(IWICBitmapCodecInfo* This,WINBOOL *pfSupportAnimation) { + return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation); +} +static inline HRESULT IWICBitmapCodecInfo_DoesSupportChromaKey(IWICBitmapCodecInfo* This,WINBOOL *pfSupportChromaKey) { + return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey); +} +static inline HRESULT IWICBitmapCodecInfo_DoesSupportLossless(IWICBitmapCodecInfo* This,WINBOOL *pfSupportLossless) { + return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless); +} +static inline HRESULT IWICBitmapCodecInfo_DoesSupportMultiframe(IWICBitmapCodecInfo* This,WINBOOL *pfSupportMultiframe) { + return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe); +} +static inline HRESULT IWICBitmapCodecInfo_MatchesMimeType(IWICBitmapCodecInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) { + return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapCodecInfo_INTERFACE_DEFINED__ */ + +#ifndef __IWICBitmapDecoder_FWD_DEFINED__ +#define __IWICBitmapDecoder_FWD_DEFINED__ +typedef interface IWICBitmapDecoder IWICBitmapDecoder; +#ifdef __cplusplus +interface IWICBitmapDecoder; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWICBitmapDecoderInfo interface + */ +#ifndef __IWICBitmapDecoderInfo_INTERFACE_DEFINED__ +#define __IWICBitmapDecoderInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d8cd007f-d08f-4191-9bfc-236ea7f0e4b5") +IWICBitmapDecoderInfo : public IWICBitmapCodecInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetPatterns( + UINT cbSizePatterns, + WICBitmapPattern *pPatterns, + UINT *pcPatterns, + UINT *pcbPatternsActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchesPattern( + IStream *pIStream, + WINBOOL *pfMatches) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IWICBitmapDecoder **ppIBitmapDecoder) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapDecoderInfo, 0xd8cd007f, 0xd08f, 0x4191, 0x9b,0xfc, 0x23,0x6e,0xa7,0xf0,0xe4,0xb5) +#endif +#else +typedef struct IWICBitmapDecoderInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapDecoderInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapDecoderInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapDecoderInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICBitmapDecoderInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICBitmapDecoderInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICBitmapDecoderInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICBitmapDecoderInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICBitmapDecoderInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICBitmapDecoderInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICBitmapDecoderInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICBitmapDecoderInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICBitmapCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICBitmapDecoderInfo *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormats)( + IWICBitmapDecoderInfo *This, + UINT cFormats, + GUID *pguidPixelFormats, + UINT *pcActual); + + HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)( + IWICBitmapDecoderInfo *This, + UINT cchColorManagementVersion, + WCHAR *wzColorManagementVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICBitmapDecoderInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICBitmapDecoderInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetMimeTypes)( + IWICBitmapDecoderInfo *This, + UINT cchMimeTypes, + WCHAR *wzMimeTypes, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFileExtensions)( + IWICBitmapDecoderInfo *This, + UINT cchFileExtensions, + WCHAR *wzFileExtensions, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)( + IWICBitmapDecoderInfo *This, + WINBOOL *pfSupportAnimation); + + HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)( + IWICBitmapDecoderInfo *This, + WINBOOL *pfSupportChromaKey); + + HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)( + IWICBitmapDecoderInfo *This, + WINBOOL *pfSupportLossless); + + HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)( + IWICBitmapDecoderInfo *This, + WINBOOL *pfSupportMultiframe); + + HRESULT (STDMETHODCALLTYPE *MatchesMimeType)( + IWICBitmapDecoderInfo *This, + LPCWSTR wzMimeType, + WINBOOL *pfMatches); + + /*** IWICBitmapDecoderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPatterns)( + IWICBitmapDecoderInfo *This, + UINT cbSizePatterns, + WICBitmapPattern *pPatterns, + UINT *pcPatterns, + UINT *pcbPatternsActual); + + HRESULT (STDMETHODCALLTYPE *MatchesPattern)( + IWICBitmapDecoderInfo *This, + IStream *pIStream, + WINBOOL *pfMatches); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IWICBitmapDecoderInfo *This, + IWICBitmapDecoder **ppIBitmapDecoder); + + END_INTERFACE +} IWICBitmapDecoderInfoVtbl; + +interface IWICBitmapDecoderInfo { + CONST_VTBL IWICBitmapDecoderInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapDecoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapDecoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapDecoderInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICBitmapDecoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICBitmapDecoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICBitmapDecoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICBitmapDecoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICBitmapDecoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICBitmapDecoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICBitmapDecoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICBitmapDecoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICBitmapCodecInfo methods ***/ +#define IWICBitmapDecoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICBitmapDecoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) +#define IWICBitmapDecoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) +#define IWICBitmapDecoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICBitmapDecoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICBitmapDecoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) +#define IWICBitmapDecoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) +#define IWICBitmapDecoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation) +#define IWICBitmapDecoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey) +#define IWICBitmapDecoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless) +#define IWICBitmapDecoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe) +#define IWICBitmapDecoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches) +/*** IWICBitmapDecoderInfo methods ***/ +#define IWICBitmapDecoderInfo_GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual) (This)->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual) +#define IWICBitmapDecoderInfo_MatchesPattern(This,pIStream,pfMatches) (This)->lpVtbl->MatchesPattern(This,pIStream,pfMatches) +#define IWICBitmapDecoderInfo_CreateInstance(This,ppIBitmapDecoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapDecoder) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapDecoderInfo_QueryInterface(IWICBitmapDecoderInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapDecoderInfo_AddRef(IWICBitmapDecoderInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapDecoderInfo_Release(IWICBitmapDecoderInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICBitmapDecoderInfo_GetComponentType(IWICBitmapDecoderInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICBitmapDecoderInfo_GetCLSID(IWICBitmapDecoderInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICBitmapDecoderInfo_GetSigningStatus(IWICBitmapDecoderInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICBitmapDecoderInfo_GetAuthor(IWICBitmapDecoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetVendorGUID(IWICBitmapDecoderInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICBitmapDecoderInfo_GetVersion(IWICBitmapDecoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetSpecVersion(IWICBitmapDecoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetFriendlyName(IWICBitmapDecoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICBitmapCodecInfo methods ***/ +static inline HRESULT IWICBitmapDecoderInfo_GetContainerFormat(IWICBitmapDecoderInfo* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICBitmapDecoderInfo_GetPixelFormats(IWICBitmapDecoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) { + return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetColorManagementVersion(IWICBitmapDecoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) { + return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetDeviceManufacturer(IWICBitmapDecoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetDeviceModels(IWICBitmapDecoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetMimeTypes(IWICBitmapDecoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) { + return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_GetFileExtensions(IWICBitmapDecoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) { + return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual); +} +static inline HRESULT IWICBitmapDecoderInfo_DoesSupportAnimation(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportAnimation) { + return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation); +} +static inline HRESULT IWICBitmapDecoderInfo_DoesSupportChromaKey(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportChromaKey) { + return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey); +} +static inline HRESULT IWICBitmapDecoderInfo_DoesSupportLossless(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportLossless) { + return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless); +} +static inline HRESULT IWICBitmapDecoderInfo_DoesSupportMultiframe(IWICBitmapDecoderInfo* This,WINBOOL *pfSupportMultiframe) { + return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe); +} +static inline HRESULT IWICBitmapDecoderInfo_MatchesMimeType(IWICBitmapDecoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) { + return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches); +} +/*** IWICBitmapDecoderInfo methods ***/ +static inline HRESULT IWICBitmapDecoderInfo_GetPatterns(IWICBitmapDecoderInfo* This,UINT cbSizePatterns,WICBitmapPattern *pPatterns,UINT *pcPatterns,UINT *pcbPatternsActual) { + return This->lpVtbl->GetPatterns(This,cbSizePatterns,pPatterns,pcPatterns,pcbPatternsActual); +} +static inline HRESULT IWICBitmapDecoderInfo_MatchesPattern(IWICBitmapDecoderInfo* This,IStream *pIStream,WINBOOL *pfMatches) { + return This->lpVtbl->MatchesPattern(This,pIStream,pfMatches); +} +static inline HRESULT IWICBitmapDecoderInfo_CreateInstance(IWICBitmapDecoderInfo* This,IWICBitmapDecoder **ppIBitmapDecoder) { + return This->lpVtbl->CreateInstance(This,ppIBitmapDecoder); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapDecoderInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapDecoder interface + */ +#ifndef __IWICBitmapDecoder_INTERFACE_DEFINED__ +#define __IWICBitmapDecoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9edde9e7-8dee-47ea-99df-e6faf2ed44bf") +IWICBitmapDecoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE QueryCapability( + IStream *pIStream, + DWORD *pdwCapability) = 0; + + virtual HRESULT STDMETHODCALLTYPE Initialize( + IStream *pIStream, + WICDecodeOptions cacheOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContainerFormat( + GUID *pguidContainerFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDecoderInfo( + IWICBitmapDecoderInfo **ppIDecoderInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryReader( + IWICMetadataQueryReader **ppIMetadataQueryReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreview( + IWICBitmapSource **ppIBitmapSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorContexts( + UINT cCount, + IWICColorContext **ppIColorContexts, + UINT *pcActualCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThumbnail( + IWICBitmapSource **ppIThumbnail) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrameCount( + UINT *pCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrame( + UINT index, + IWICBitmapFrameDecode **ppIBitmapFrame) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapDecoder, 0x9edde9e7, 0x8dee, 0x47ea, 0x99,0xdf, 0xe6,0xfa,0xf2,0xed,0x44,0xbf) +#endif +#else +typedef struct IWICBitmapDecoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapDecoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapDecoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapDecoder *This); + + /*** IWICBitmapDecoder methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryCapability)( + IWICBitmapDecoder *This, + IStream *pIStream, + DWORD *pdwCapability); + + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapDecoder *This, + IStream *pIStream, + WICDecodeOptions cacheOptions); + + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICBitmapDecoder *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetDecoderInfo)( + IWICBitmapDecoder *This, + IWICBitmapDecoderInfo **ppIDecoderInfo); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapDecoder *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *GetMetadataQueryReader)( + IWICBitmapDecoder *This, + IWICMetadataQueryReader **ppIMetadataQueryReader); + + HRESULT (STDMETHODCALLTYPE *GetPreview)( + IWICBitmapDecoder *This, + IWICBitmapSource **ppIBitmapSource); + + HRESULT (STDMETHODCALLTYPE *GetColorContexts)( + IWICBitmapDecoder *This, + UINT cCount, + IWICColorContext **ppIColorContexts, + UINT *pcActualCount); + + HRESULT (STDMETHODCALLTYPE *GetThumbnail)( + IWICBitmapDecoder *This, + IWICBitmapSource **ppIThumbnail); + + HRESULT (STDMETHODCALLTYPE *GetFrameCount)( + IWICBitmapDecoder *This, + UINT *pCount); + + HRESULT (STDMETHODCALLTYPE *GetFrame)( + IWICBitmapDecoder *This, + UINT index, + IWICBitmapFrameDecode **ppIBitmapFrame); + + END_INTERFACE +} IWICBitmapDecoderVtbl; + +interface IWICBitmapDecoder { + CONST_VTBL IWICBitmapDecoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapDecoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapDecoder methods ***/ +#define IWICBitmapDecoder_QueryCapability(This,pIStream,pdwCapability) (This)->lpVtbl->QueryCapability(This,pIStream,pdwCapability) +#define IWICBitmapDecoder_Initialize(This,pIStream,cacheOptions) (This)->lpVtbl->Initialize(This,pIStream,cacheOptions) +#define IWICBitmapDecoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICBitmapDecoder_GetDecoderInfo(This,ppIDecoderInfo) (This)->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo) +#define IWICBitmapDecoder_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapDecoder_GetMetadataQueryReader(This,ppIMetadataQueryReader) (This)->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader) +#define IWICBitmapDecoder_GetPreview(This,ppIBitmapSource) (This)->lpVtbl->GetPreview(This,ppIBitmapSource) +#define IWICBitmapDecoder_GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) (This)->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount) +#define IWICBitmapDecoder_GetThumbnail(This,ppIThumbnail) (This)->lpVtbl->GetThumbnail(This,ppIThumbnail) +#define IWICBitmapDecoder_GetFrameCount(This,pCount) (This)->lpVtbl->GetFrameCount(This,pCount) +#define IWICBitmapDecoder_GetFrame(This,index,ppIBitmapFrame) (This)->lpVtbl->GetFrame(This,index,ppIBitmapFrame) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapDecoder_QueryInterface(IWICBitmapDecoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapDecoder_AddRef(IWICBitmapDecoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapDecoder_Release(IWICBitmapDecoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapDecoder methods ***/ +static inline HRESULT IWICBitmapDecoder_QueryCapability(IWICBitmapDecoder* This,IStream *pIStream,DWORD *pdwCapability) { + return This->lpVtbl->QueryCapability(This,pIStream,pdwCapability); +} +static inline HRESULT IWICBitmapDecoder_Initialize(IWICBitmapDecoder* This,IStream *pIStream,WICDecodeOptions cacheOptions) { + return This->lpVtbl->Initialize(This,pIStream,cacheOptions); +} +static inline HRESULT IWICBitmapDecoder_GetContainerFormat(IWICBitmapDecoder* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICBitmapDecoder_GetDecoderInfo(IWICBitmapDecoder* This,IWICBitmapDecoderInfo **ppIDecoderInfo) { + return This->lpVtbl->GetDecoderInfo(This,ppIDecoderInfo); +} +static inline HRESULT IWICBitmapDecoder_CopyPalette(IWICBitmapDecoder* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapDecoder_GetMetadataQueryReader(IWICBitmapDecoder* This,IWICMetadataQueryReader **ppIMetadataQueryReader) { + return This->lpVtbl->GetMetadataQueryReader(This,ppIMetadataQueryReader); +} +static inline HRESULT IWICBitmapDecoder_GetPreview(IWICBitmapDecoder* This,IWICBitmapSource **ppIBitmapSource) { + return This->lpVtbl->GetPreview(This,ppIBitmapSource); +} +static inline HRESULT IWICBitmapDecoder_GetColorContexts(IWICBitmapDecoder* This,UINT cCount,IWICColorContext **ppIColorContexts,UINT *pcActualCount) { + return This->lpVtbl->GetColorContexts(This,cCount,ppIColorContexts,pcActualCount); +} +static inline HRESULT IWICBitmapDecoder_GetThumbnail(IWICBitmapDecoder* This,IWICBitmapSource **ppIThumbnail) { + return This->lpVtbl->GetThumbnail(This,ppIThumbnail); +} +static inline HRESULT IWICBitmapDecoder_GetFrameCount(IWICBitmapDecoder* This,UINT *pCount) { + return This->lpVtbl->GetFrameCount(This,pCount); +} +static inline HRESULT IWICBitmapDecoder_GetFrame(IWICBitmapDecoder* This,UINT index,IWICBitmapFrameDecode **ppIBitmapFrame) { + return This->lpVtbl->GetFrame(This,index,ppIBitmapFrame); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapDecoder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapFrameEncode interface + */ +#ifndef __IWICBitmapFrameEncode_INTERFACE_DEFINED__ +#define __IWICBitmapFrameEncode_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000105-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmapFrameEncode : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IPropertyBag2 *pIEncoderOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSize( + UINT uiWidth, + UINT uiHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetResolution( + double dpiX, + double dpiY) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPixelFormat( + WICPixelFormatGUID *pPixelFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColorContexts( + UINT cCount, + IWICColorContext **ppIColorContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetThumbnail( + IWICBitmapSource *pIThumbnail) = 0; + + virtual HRESULT STDMETHODCALLTYPE WritePixels( + UINT lineCount, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbPixels) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteSource( + IWICBitmapSource *pIBitmapSource, + WICRect *prc) = 0; + + virtual HRESULT STDMETHODCALLTYPE Commit( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter( + IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapFrameEncode, 0x00000105, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapFrameEncodeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapFrameEncode *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapFrameEncode *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapFrameEncode *This); + + /*** IWICBitmapFrameEncode methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapFrameEncode *This, + IPropertyBag2 *pIEncoderOptions); + + HRESULT (STDMETHODCALLTYPE *SetSize)( + IWICBitmapFrameEncode *This, + UINT uiWidth, + UINT uiHeight); + + HRESULT (STDMETHODCALLTYPE *SetResolution)( + IWICBitmapFrameEncode *This, + double dpiX, + double dpiY); + + HRESULT (STDMETHODCALLTYPE *SetPixelFormat)( + IWICBitmapFrameEncode *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *SetColorContexts)( + IWICBitmapFrameEncode *This, + UINT cCount, + IWICColorContext **ppIColorContext); + + HRESULT (STDMETHODCALLTYPE *SetPalette)( + IWICBitmapFrameEncode *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *SetThumbnail)( + IWICBitmapFrameEncode *This, + IWICBitmapSource *pIThumbnail); + + HRESULT (STDMETHODCALLTYPE *WritePixels)( + IWICBitmapFrameEncode *This, + UINT lineCount, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbPixels); + + HRESULT (STDMETHODCALLTYPE *WriteSource)( + IWICBitmapFrameEncode *This, + IWICBitmapSource *pIBitmapSource, + WICRect *prc); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWICBitmapFrameEncode *This); + + HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)( + IWICBitmapFrameEncode *This, + IWICMetadataQueryWriter **ppIMetadataQueryWriter); + + END_INTERFACE +} IWICBitmapFrameEncodeVtbl; + +interface IWICBitmapFrameEncode { + CONST_VTBL IWICBitmapFrameEncodeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapFrameEncode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapFrameEncode_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapFrameEncode_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapFrameEncode methods ***/ +#define IWICBitmapFrameEncode_Initialize(This,pIEncoderOptions) (This)->lpVtbl->Initialize(This,pIEncoderOptions) +#define IWICBitmapFrameEncode_SetSize(This,uiWidth,uiHeight) (This)->lpVtbl->SetSize(This,uiWidth,uiHeight) +#define IWICBitmapFrameEncode_SetResolution(This,dpiX,dpiY) (This)->lpVtbl->SetResolution(This,dpiX,dpiY) +#define IWICBitmapFrameEncode_SetPixelFormat(This,pPixelFormat) (This)->lpVtbl->SetPixelFormat(This,pPixelFormat) +#define IWICBitmapFrameEncode_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext) +#define IWICBitmapFrameEncode_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette) +#define IWICBitmapFrameEncode_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail) +#define IWICBitmapFrameEncode_WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels) (This)->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels) +#define IWICBitmapFrameEncode_WriteSource(This,pIBitmapSource,prc) (This)->lpVtbl->WriteSource(This,pIBitmapSource,prc) +#define IWICBitmapFrameEncode_Commit(This) (This)->lpVtbl->Commit(This) +#define IWICBitmapFrameEncode_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapFrameEncode_QueryInterface(IWICBitmapFrameEncode* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapFrameEncode_AddRef(IWICBitmapFrameEncode* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapFrameEncode_Release(IWICBitmapFrameEncode* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapFrameEncode methods ***/ +static inline HRESULT IWICBitmapFrameEncode_Initialize(IWICBitmapFrameEncode* This,IPropertyBag2 *pIEncoderOptions) { + return This->lpVtbl->Initialize(This,pIEncoderOptions); +} +static inline HRESULT IWICBitmapFrameEncode_SetSize(IWICBitmapFrameEncode* This,UINT uiWidth,UINT uiHeight) { + return This->lpVtbl->SetSize(This,uiWidth,uiHeight); +} +static inline HRESULT IWICBitmapFrameEncode_SetResolution(IWICBitmapFrameEncode* This,double dpiX,double dpiY) { + return This->lpVtbl->SetResolution(This,dpiX,dpiY); +} +static inline HRESULT IWICBitmapFrameEncode_SetPixelFormat(IWICBitmapFrameEncode* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->SetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapFrameEncode_SetColorContexts(IWICBitmapFrameEncode* This,UINT cCount,IWICColorContext **ppIColorContext) { + return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext); +} +static inline HRESULT IWICBitmapFrameEncode_SetPalette(IWICBitmapFrameEncode* This,IWICPalette *pIPalette) { + return This->lpVtbl->SetPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapFrameEncode_SetThumbnail(IWICBitmapFrameEncode* This,IWICBitmapSource *pIThumbnail) { + return This->lpVtbl->SetThumbnail(This,pIThumbnail); +} +static inline HRESULT IWICBitmapFrameEncode_WritePixels(IWICBitmapFrameEncode* This,UINT lineCount,UINT cbStride,UINT cbBufferSize,BYTE *pbPixels) { + return This->lpVtbl->WritePixels(This,lineCount,cbStride,cbBufferSize,pbPixels); +} +static inline HRESULT IWICBitmapFrameEncode_WriteSource(IWICBitmapFrameEncode* This,IWICBitmapSource *pIBitmapSource,WICRect *prc) { + return This->lpVtbl->WriteSource(This,pIBitmapSource,prc); +} +static inline HRESULT IWICBitmapFrameEncode_Commit(IWICBitmapFrameEncode* This) { + return This->lpVtbl->Commit(This); +} +static inline HRESULT IWICBitmapFrameEncode_GetMetadataQueryWriter(IWICBitmapFrameEncode* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) { + return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapFrameEncode_INTERFACE_DEFINED__ */ + +#ifndef __IWICBitmapEncoder_FWD_DEFINED__ +#define __IWICBitmapEncoder_FWD_DEFINED__ +typedef interface IWICBitmapEncoder IWICBitmapEncoder; +#ifdef __cplusplus +interface IWICBitmapEncoder; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWICBitmapEncoderInfo interface + */ +#ifndef __IWICBitmapEncoderInfo_INTERFACE_DEFINED__ +#define __IWICBitmapEncoderInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94c9b4ee-a09f-4f92-8a1e-4a9bce7e76fb") +IWICBitmapEncoderInfo : public IWICBitmapCodecInfo +{ + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IWICBitmapEncoder **ppIBitmapEncoder) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapEncoderInfo, 0x94c9b4ee, 0xa09f, 0x4f92, 0x8a,0x1e, 0x4a,0x9b,0xce,0x7e,0x76,0xfb) +#endif +#else +typedef struct IWICBitmapEncoderInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapEncoderInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapEncoderInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapEncoderInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICBitmapEncoderInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICBitmapEncoderInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICBitmapEncoderInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICBitmapEncoderInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICBitmapEncoderInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICBitmapEncoderInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICBitmapEncoderInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICBitmapEncoderInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICBitmapCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICBitmapEncoderInfo *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormats)( + IWICBitmapEncoderInfo *This, + UINT cFormats, + GUID *pguidPixelFormats, + UINT *pcActual); + + HRESULT (STDMETHODCALLTYPE *GetColorManagementVersion)( + IWICBitmapEncoderInfo *This, + UINT cchColorManagementVersion, + WCHAR *wzColorManagementVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICBitmapEncoderInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICBitmapEncoderInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetMimeTypes)( + IWICBitmapEncoderInfo *This, + UINT cchMimeTypes, + WCHAR *wzMimeTypes, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFileExtensions)( + IWICBitmapEncoderInfo *This, + UINT cchFileExtensions, + WCHAR *wzFileExtensions, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesSupportAnimation)( + IWICBitmapEncoderInfo *This, + WINBOOL *pfSupportAnimation); + + HRESULT (STDMETHODCALLTYPE *DoesSupportChromaKey)( + IWICBitmapEncoderInfo *This, + WINBOOL *pfSupportChromaKey); + + HRESULT (STDMETHODCALLTYPE *DoesSupportLossless)( + IWICBitmapEncoderInfo *This, + WINBOOL *pfSupportLossless); + + HRESULT (STDMETHODCALLTYPE *DoesSupportMultiframe)( + IWICBitmapEncoderInfo *This, + WINBOOL *pfSupportMultiframe); + + HRESULT (STDMETHODCALLTYPE *MatchesMimeType)( + IWICBitmapEncoderInfo *This, + LPCWSTR wzMimeType, + WINBOOL *pfMatches); + + /*** IWICBitmapEncoderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IWICBitmapEncoderInfo *This, + IWICBitmapEncoder **ppIBitmapEncoder); + + END_INTERFACE +} IWICBitmapEncoderInfoVtbl; + +interface IWICBitmapEncoderInfo { + CONST_VTBL IWICBitmapEncoderInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapEncoderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapEncoderInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapEncoderInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICBitmapEncoderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICBitmapEncoderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICBitmapEncoderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICBitmapEncoderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICBitmapEncoderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICBitmapEncoderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICBitmapEncoderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICBitmapEncoderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICBitmapCodecInfo methods ***/ +#define IWICBitmapEncoderInfo_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICBitmapEncoderInfo_GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual) +#define IWICBitmapEncoderInfo_GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) (This)->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual) +#define IWICBitmapEncoderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICBitmapEncoderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICBitmapEncoderInfo_GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) (This)->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual) +#define IWICBitmapEncoderInfo_GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) (This)->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual) +#define IWICBitmapEncoderInfo_DoesSupportAnimation(This,pfSupportAnimation) (This)->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation) +#define IWICBitmapEncoderInfo_DoesSupportChromaKey(This,pfSupportChromaKey) (This)->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey) +#define IWICBitmapEncoderInfo_DoesSupportLossless(This,pfSupportLossless) (This)->lpVtbl->DoesSupportLossless(This,pfSupportLossless) +#define IWICBitmapEncoderInfo_DoesSupportMultiframe(This,pfSupportMultiframe) (This)->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe) +#define IWICBitmapEncoderInfo_MatchesMimeType(This,wzMimeType,pfMatches) (This)->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches) +/*** IWICBitmapEncoderInfo methods ***/ +#define IWICBitmapEncoderInfo_CreateInstance(This,ppIBitmapEncoder) (This)->lpVtbl->CreateInstance(This,ppIBitmapEncoder) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapEncoderInfo_QueryInterface(IWICBitmapEncoderInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapEncoderInfo_AddRef(IWICBitmapEncoderInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapEncoderInfo_Release(IWICBitmapEncoderInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICBitmapEncoderInfo_GetComponentType(IWICBitmapEncoderInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICBitmapEncoderInfo_GetCLSID(IWICBitmapEncoderInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICBitmapEncoderInfo_GetSigningStatus(IWICBitmapEncoderInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICBitmapEncoderInfo_GetAuthor(IWICBitmapEncoderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetVendorGUID(IWICBitmapEncoderInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICBitmapEncoderInfo_GetVersion(IWICBitmapEncoderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetSpecVersion(IWICBitmapEncoderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetFriendlyName(IWICBitmapEncoderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICBitmapCodecInfo methods ***/ +static inline HRESULT IWICBitmapEncoderInfo_GetContainerFormat(IWICBitmapEncoderInfo* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICBitmapEncoderInfo_GetPixelFormats(IWICBitmapEncoderInfo* This,UINT cFormats,GUID *pguidPixelFormats,UINT *pcActual) { + return This->lpVtbl->GetPixelFormats(This,cFormats,pguidPixelFormats,pcActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetColorManagementVersion(IWICBitmapEncoderInfo* This,UINT cchColorManagementVersion,WCHAR *wzColorManagementVersion,UINT *pcchActual) { + return This->lpVtbl->GetColorManagementVersion(This,cchColorManagementVersion,wzColorManagementVersion,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetDeviceManufacturer(IWICBitmapEncoderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetDeviceModels(IWICBitmapEncoderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetMimeTypes(IWICBitmapEncoderInfo* This,UINT cchMimeTypes,WCHAR *wzMimeTypes,UINT *pcchActual) { + return This->lpVtbl->GetMimeTypes(This,cchMimeTypes,wzMimeTypes,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_GetFileExtensions(IWICBitmapEncoderInfo* This,UINT cchFileExtensions,WCHAR *wzFileExtensions,UINT *pcchActual) { + return This->lpVtbl->GetFileExtensions(This,cchFileExtensions,wzFileExtensions,pcchActual); +} +static inline HRESULT IWICBitmapEncoderInfo_DoesSupportAnimation(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportAnimation) { + return This->lpVtbl->DoesSupportAnimation(This,pfSupportAnimation); +} +static inline HRESULT IWICBitmapEncoderInfo_DoesSupportChromaKey(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportChromaKey) { + return This->lpVtbl->DoesSupportChromaKey(This,pfSupportChromaKey); +} +static inline HRESULT IWICBitmapEncoderInfo_DoesSupportLossless(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportLossless) { + return This->lpVtbl->DoesSupportLossless(This,pfSupportLossless); +} +static inline HRESULT IWICBitmapEncoderInfo_DoesSupportMultiframe(IWICBitmapEncoderInfo* This,WINBOOL *pfSupportMultiframe) { + return This->lpVtbl->DoesSupportMultiframe(This,pfSupportMultiframe); +} +static inline HRESULT IWICBitmapEncoderInfo_MatchesMimeType(IWICBitmapEncoderInfo* This,LPCWSTR wzMimeType,WINBOOL *pfMatches) { + return This->lpVtbl->MatchesMimeType(This,wzMimeType,pfMatches); +} +/*** IWICBitmapEncoderInfo methods ***/ +static inline HRESULT IWICBitmapEncoderInfo_CreateInstance(IWICBitmapEncoderInfo* This,IWICBitmapEncoder **ppIBitmapEncoder) { + return This->lpVtbl->CreateInstance(This,ppIBitmapEncoder); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapEncoderInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapEncoder interface + */ +#ifndef __IWICBitmapEncoder_INTERFACE_DEFINED__ +#define __IWICBitmapEncoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000103-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmapEncoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IStream *pIStream, + WICBitmapEncoderCacheOption cacheOption) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContainerFormat( + GUID *pguidContainerFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEncoderInfo( + IWICBitmapEncoderInfo **ppIEncoderInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColorContexts( + UINT cCount, + IWICColorContext **ppIColorContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPalette( + IWICPalette *pIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetThumbnail( + IWICBitmapSource *pIThumbnail) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPreview( + IWICBitmapSource *pIPreview) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewFrame( + IWICBitmapFrameEncode **ppIFrameEncode, + IPropertyBag2 **ppIEncoderOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE Commit( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter( + IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapEncoder, 0x00000103, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapEncoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapEncoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapEncoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapEncoder *This); + + /*** IWICBitmapEncoder methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapEncoder *This, + IStream *pIStream, + WICBitmapEncoderCacheOption cacheOption); + + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICBitmapEncoder *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetEncoderInfo)( + IWICBitmapEncoder *This, + IWICBitmapEncoderInfo **ppIEncoderInfo); + + HRESULT (STDMETHODCALLTYPE *SetColorContexts)( + IWICBitmapEncoder *This, + UINT cCount, + IWICColorContext **ppIColorContext); + + HRESULT (STDMETHODCALLTYPE *SetPalette)( + IWICBitmapEncoder *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *SetThumbnail)( + IWICBitmapEncoder *This, + IWICBitmapSource *pIThumbnail); + + HRESULT (STDMETHODCALLTYPE *SetPreview)( + IWICBitmapEncoder *This, + IWICBitmapSource *pIPreview); + + HRESULT (STDMETHODCALLTYPE *CreateNewFrame)( + IWICBitmapEncoder *This, + IWICBitmapFrameEncode **ppIFrameEncode, + IPropertyBag2 **ppIEncoderOptions); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWICBitmapEncoder *This); + + HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)( + IWICBitmapEncoder *This, + IWICMetadataQueryWriter **ppIMetadataQueryWriter); + + END_INTERFACE +} IWICBitmapEncoderVtbl; + +interface IWICBitmapEncoder { + CONST_VTBL IWICBitmapEncoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapEncoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapEncoder methods ***/ +#define IWICBitmapEncoder_Initialize(This,pIStream,cacheOption) (This)->lpVtbl->Initialize(This,pIStream,cacheOption) +#define IWICBitmapEncoder_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICBitmapEncoder_GetEncoderInfo(This,ppIEncoderInfo) (This)->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo) +#define IWICBitmapEncoder_SetColorContexts(This,cCount,ppIColorContext) (This)->lpVtbl->SetColorContexts(This,cCount,ppIColorContext) +#define IWICBitmapEncoder_SetPalette(This,pIPalette) (This)->lpVtbl->SetPalette(This,pIPalette) +#define IWICBitmapEncoder_SetThumbnail(This,pIThumbnail) (This)->lpVtbl->SetThumbnail(This,pIThumbnail) +#define IWICBitmapEncoder_SetPreview(This,pIPreview) (This)->lpVtbl->SetPreview(This,pIPreview) +#define IWICBitmapEncoder_CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions) (This)->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions) +#define IWICBitmapEncoder_Commit(This) (This)->lpVtbl->Commit(This) +#define IWICBitmapEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapEncoder_QueryInterface(IWICBitmapEncoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapEncoder_AddRef(IWICBitmapEncoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapEncoder_Release(IWICBitmapEncoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapEncoder methods ***/ +static inline HRESULT IWICBitmapEncoder_Initialize(IWICBitmapEncoder* This,IStream *pIStream,WICBitmapEncoderCacheOption cacheOption) { + return This->lpVtbl->Initialize(This,pIStream,cacheOption); +} +static inline HRESULT IWICBitmapEncoder_GetContainerFormat(IWICBitmapEncoder* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICBitmapEncoder_GetEncoderInfo(IWICBitmapEncoder* This,IWICBitmapEncoderInfo **ppIEncoderInfo) { + return This->lpVtbl->GetEncoderInfo(This,ppIEncoderInfo); +} +static inline HRESULT IWICBitmapEncoder_SetColorContexts(IWICBitmapEncoder* This,UINT cCount,IWICColorContext **ppIColorContext) { + return This->lpVtbl->SetColorContexts(This,cCount,ppIColorContext); +} +static inline HRESULT IWICBitmapEncoder_SetPalette(IWICBitmapEncoder* This,IWICPalette *pIPalette) { + return This->lpVtbl->SetPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapEncoder_SetThumbnail(IWICBitmapEncoder* This,IWICBitmapSource *pIThumbnail) { + return This->lpVtbl->SetThumbnail(This,pIThumbnail); +} +static inline HRESULT IWICBitmapEncoder_SetPreview(IWICBitmapEncoder* This,IWICBitmapSource *pIPreview) { + return This->lpVtbl->SetPreview(This,pIPreview); +} +static inline HRESULT IWICBitmapEncoder_CreateNewFrame(IWICBitmapEncoder* This,IWICBitmapFrameEncode **ppIFrameEncode,IPropertyBag2 **ppIEncoderOptions) { + return This->lpVtbl->CreateNewFrame(This,ppIFrameEncode,ppIEncoderOptions); +} +static inline HRESULT IWICBitmapEncoder_Commit(IWICBitmapEncoder* This) { + return This->lpVtbl->Commit(This); +} +static inline HRESULT IWICBitmapEncoder_GetMetadataQueryWriter(IWICBitmapEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) { + return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapEncoder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICFormatConverter interface + */ +#ifndef __IWICFormatConverter_INTERFACE_DEFINED__ +#define __IWICFormatConverter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000301-a8f2-4877-ba0a-fd2b6645fb94") +IWICFormatConverter : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWICBitmapSource *pISource, + REFWICPixelFormatGUID dstFormat, + WICBitmapDitherType dither, + IWICPalette *pIPalette, + double alphaThresholdPercent, + WICBitmapPaletteType paletteTranslate) = 0; + + virtual HRESULT STDMETHODCALLTYPE CanConvert( + REFWICPixelFormatGUID srcPixelFormat, + REFWICPixelFormatGUID dstPixelFormat, + WINBOOL *pfCanConvert) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICFormatConverter, 0x00000301, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICFormatConverterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICFormatConverter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICFormatConverter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICFormatConverter *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICFormatConverter *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICFormatConverter *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICFormatConverter *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICFormatConverter *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICFormatConverter *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICFormatConverter methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICFormatConverter *This, + IWICBitmapSource *pISource, + REFWICPixelFormatGUID dstFormat, + WICBitmapDitherType dither, + IWICPalette *pIPalette, + double alphaThresholdPercent, + WICBitmapPaletteType paletteTranslate); + + HRESULT (STDMETHODCALLTYPE *CanConvert)( + IWICFormatConverter *This, + REFWICPixelFormatGUID srcPixelFormat, + REFWICPixelFormatGUID dstPixelFormat, + WINBOOL *pfCanConvert); + + END_INTERFACE +} IWICFormatConverterVtbl; + +interface IWICFormatConverter { + CONST_VTBL IWICFormatConverterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICFormatConverter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICFormatConverter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICFormatConverter_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICFormatConverter_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICFormatConverter_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICFormatConverter_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICFormatConverter_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICFormatConverter_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICFormatConverter methods ***/ +#define IWICFormatConverter_Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate) (This)->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate) +#define IWICFormatConverter_CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert) (This)->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICFormatConverter_QueryInterface(IWICFormatConverter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICFormatConverter_AddRef(IWICFormatConverter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICFormatConverter_Release(IWICFormatConverter* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICFormatConverter_GetSize(IWICFormatConverter* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICFormatConverter_GetPixelFormat(IWICFormatConverter* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICFormatConverter_GetResolution(IWICFormatConverter* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICFormatConverter_CopyPalette(IWICFormatConverter* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICFormatConverter_CopyPixels(IWICFormatConverter* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICFormatConverter methods ***/ +static inline HRESULT IWICFormatConverter_Initialize(IWICFormatConverter* This,IWICBitmapSource *pISource,REFWICPixelFormatGUID dstFormat,WICBitmapDitherType dither,IWICPalette *pIPalette,double alphaThresholdPercent,WICBitmapPaletteType paletteTranslate) { + return This->lpVtbl->Initialize(This,pISource,dstFormat,dither,pIPalette,alphaThresholdPercent,paletteTranslate); +} +static inline HRESULT IWICFormatConverter_CanConvert(IWICFormatConverter* This,REFWICPixelFormatGUID srcPixelFormat,REFWICPixelFormatGUID dstPixelFormat,WINBOOL *pfCanConvert) { + return This->lpVtbl->CanConvert(This,srcPixelFormat,dstPixelFormat,pfCanConvert); +} +#endif +#endif + +#endif + + +#endif /* __IWICFormatConverter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICFormatConverterInfo interface + */ +#ifndef __IWICFormatConverterInfo_INTERFACE_DEFINED__ +#define __IWICFormatConverterInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9f34fb65-13f4-4f15-bc57-3726b5e53d9f") +IWICFormatConverterInfo : public IWICComponentInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetPixelFormats( + UINT cFormats, + WICPixelFormatGUID *pPixelFormatGUIDs, + UINT *pcActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IWICFormatConverter **ppIConverter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICFormatConverterInfo, 0x9f34fb65, 0x13f4, 0x4f15, 0xbc,0x57, 0x37,0x26,0xb5,0xe5,0x3d,0x9f) +#endif +#else +typedef struct IWICFormatConverterInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICFormatConverterInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICFormatConverterInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICFormatConverterInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICFormatConverterInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICFormatConverterInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICFormatConverterInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICFormatConverterInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICFormatConverterInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICFormatConverterInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICFormatConverterInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICFormatConverterInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICFormatConverterInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPixelFormats)( + IWICFormatConverterInfo *This, + UINT cFormats, + WICPixelFormatGUID *pPixelFormatGUIDs, + UINT *pcActual); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IWICFormatConverterInfo *This, + IWICFormatConverter **ppIConverter); + + END_INTERFACE +} IWICFormatConverterInfoVtbl; + +interface IWICFormatConverterInfo { + CONST_VTBL IWICFormatConverterInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICFormatConverterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICFormatConverterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICFormatConverterInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICFormatConverterInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICFormatConverterInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICFormatConverterInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICFormatConverterInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICFormatConverterInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICFormatConverterInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICFormatConverterInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICFormatConverterInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICFormatConverterInfo methods ***/ +#define IWICFormatConverterInfo_GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual) (This)->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual) +#define IWICFormatConverterInfo_CreateInstance(This,ppIConverter) (This)->lpVtbl->CreateInstance(This,ppIConverter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICFormatConverterInfo_QueryInterface(IWICFormatConverterInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICFormatConverterInfo_AddRef(IWICFormatConverterInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICFormatConverterInfo_Release(IWICFormatConverterInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICFormatConverterInfo_GetComponentType(IWICFormatConverterInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICFormatConverterInfo_GetCLSID(IWICFormatConverterInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICFormatConverterInfo_GetSigningStatus(IWICFormatConverterInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICFormatConverterInfo_GetAuthor(IWICFormatConverterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICFormatConverterInfo_GetVendorGUID(IWICFormatConverterInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICFormatConverterInfo_GetVersion(IWICFormatConverterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICFormatConverterInfo_GetSpecVersion(IWICFormatConverterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICFormatConverterInfo_GetFriendlyName(IWICFormatConverterInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICFormatConverterInfo methods ***/ +static inline HRESULT IWICFormatConverterInfo_GetPixelFormats(IWICFormatConverterInfo* This,UINT cFormats,WICPixelFormatGUID *pPixelFormatGUIDs,UINT *pcActual) { + return This->lpVtbl->GetPixelFormats(This,cFormats,pPixelFormatGUIDs,pcActual); +} +static inline HRESULT IWICFormatConverterInfo_CreateInstance(IWICFormatConverterInfo* This,IWICFormatConverter **ppIConverter) { + return This->lpVtbl->CreateInstance(This,ppIConverter); +} +#endif +#endif + +#endif + + +#endif /* __IWICFormatConverterInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICStream interface + */ +#ifndef __IWICStream_INTERFACE_DEFINED__ +#define __IWICStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("135ff860-22b7-4ddf-b0f6-218f4f299a43") +IWICStream : public IStream +{ + virtual HRESULT STDMETHODCALLTYPE InitializeFromIStream( + IStream *pIStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromFilename( + LPCWSTR wzFileName, + DWORD dwAccessMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromMemory( + BYTE *pbBuffer, + DWORD cbBufferSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE InitializeFromIStreamRegion( + IStream *pIStream, + ULARGE_INTEGER ulOffset, + ULARGE_INTEGER ulMaxSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICStream, 0x135ff860, 0x22b7, 0x4ddf, 0xb0,0xf6, 0x21,0x8f,0x4f,0x29,0x9a,0x43) +#endif +#else +typedef struct IWICStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICStream *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICStream *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICStream *This); + + /*** ISequentialStream methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IWICStream *This, + void *pv, + ULONG cb, + ULONG *pcbRead); + + HRESULT (STDMETHODCALLTYPE *Write)( + IWICStream *This, + const void *pv, + ULONG cb, + ULONG *pcbWritten); + + /*** IStream methods ***/ + HRESULT (STDMETHODCALLTYPE *Seek)( + IWICStream *This, + LARGE_INTEGER dlibMove, + DWORD dwOrigin, + ULARGE_INTEGER *plibNewPosition); + + HRESULT (STDMETHODCALLTYPE *SetSize)( + IWICStream *This, + ULARGE_INTEGER libNewSize); + + HRESULT (STDMETHODCALLTYPE *CopyTo)( + IWICStream *This, + IStream *pstm, + ULARGE_INTEGER cb, + ULARGE_INTEGER *pcbRead, + ULARGE_INTEGER *pcbWritten); + + HRESULT (STDMETHODCALLTYPE *Commit)( + IWICStream *This, + DWORD grfCommitFlags); + + HRESULT (STDMETHODCALLTYPE *Revert)( + IWICStream *This); + + HRESULT (STDMETHODCALLTYPE *LockRegion)( + IWICStream *This, + ULARGE_INTEGER libOffset, + ULARGE_INTEGER cb, + DWORD dwLockType); + + HRESULT (STDMETHODCALLTYPE *UnlockRegion)( + IWICStream *This, + ULARGE_INTEGER libOffset, + ULARGE_INTEGER cb, + DWORD dwLockType); + + HRESULT (STDMETHODCALLTYPE *Stat)( + IWICStream *This, + STATSTG *pstatstg, + DWORD grfStatFlag); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWICStream *This, + IStream **ppstm); + + /*** IWICStream methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializeFromIStream)( + IWICStream *This, + IStream *pIStream); + + HRESULT (STDMETHODCALLTYPE *InitializeFromFilename)( + IWICStream *This, + LPCWSTR wzFileName, + DWORD dwAccessMode); + + HRESULT (STDMETHODCALLTYPE *InitializeFromMemory)( + IWICStream *This, + BYTE *pbBuffer, + DWORD cbBufferSize); + + HRESULT (STDMETHODCALLTYPE *InitializeFromIStreamRegion)( + IWICStream *This, + IStream *pIStream, + ULARGE_INTEGER ulOffset, + ULARGE_INTEGER ulMaxSize); + + END_INTERFACE +} IWICStreamVtbl; + +interface IWICStream { + CONST_VTBL IWICStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICStream_Release(This) (This)->lpVtbl->Release(This) +/*** ISequentialStream methods ***/ +#define IWICStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) +#define IWICStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) +/*** IStream methods ***/ +#define IWICStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition) +#define IWICStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize) +#define IWICStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten) +#define IWICStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags) +#define IWICStream_Revert(This) (This)->lpVtbl->Revert(This) +#define IWICStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType) +#define IWICStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType) +#define IWICStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag) +#define IWICStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm) +/*** IWICStream methods ***/ +#define IWICStream_InitializeFromIStream(This,pIStream) (This)->lpVtbl->InitializeFromIStream(This,pIStream) +#define IWICStream_InitializeFromFilename(This,wzFileName,dwAccessMode) (This)->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode) +#define IWICStream_InitializeFromMemory(This,pbBuffer,cbBufferSize) (This)->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize) +#define IWICStream_InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize) (This)->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICStream_QueryInterface(IWICStream* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICStream_AddRef(IWICStream* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICStream_Release(IWICStream* This) { + return This->lpVtbl->Release(This); +} +/*** ISequentialStream methods ***/ +static inline HRESULT IWICStream_Read(IWICStream* This,void *pv,ULONG cb,ULONG *pcbRead) { + return This->lpVtbl->Read(This,pv,cb,pcbRead); +} +static inline HRESULT IWICStream_Write(IWICStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { + return This->lpVtbl->Write(This,pv,cb,pcbWritten); +} +/*** IStream methods ***/ +static inline HRESULT IWICStream_Seek(IWICStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) { + return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition); +} +static inline HRESULT IWICStream_SetSize(IWICStream* This,ULARGE_INTEGER libNewSize) { + return This->lpVtbl->SetSize(This,libNewSize); +} +static inline HRESULT IWICStream_CopyTo(IWICStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) { + return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten); +} +static inline HRESULT IWICStream_Commit(IWICStream* This,DWORD grfCommitFlags) { + return This->lpVtbl->Commit(This,grfCommitFlags); +} +static inline HRESULT IWICStream_Revert(IWICStream* This) { + return This->lpVtbl->Revert(This); +} +static inline HRESULT IWICStream_LockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { + return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType); +} +static inline HRESULT IWICStream_UnlockRegion(IWICStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) { + return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType); +} +static inline HRESULT IWICStream_Stat(IWICStream* This,STATSTG *pstatstg,DWORD grfStatFlag) { + return This->lpVtbl->Stat(This,pstatstg,grfStatFlag); +} +static inline HRESULT IWICStream_Clone(IWICStream* This,IStream **ppstm) { + return This->lpVtbl->Clone(This,ppstm); +} +/*** IWICStream methods ***/ +static inline HRESULT IWICStream_InitializeFromIStream(IWICStream* This,IStream *pIStream) { + return This->lpVtbl->InitializeFromIStream(This,pIStream); +} +static inline HRESULT IWICStream_InitializeFromFilename(IWICStream* This,LPCWSTR wzFileName,DWORD dwAccessMode) { + return This->lpVtbl->InitializeFromFilename(This,wzFileName,dwAccessMode); +} +static inline HRESULT IWICStream_InitializeFromMemory(IWICStream* This,BYTE *pbBuffer,DWORD cbBufferSize) { + return This->lpVtbl->InitializeFromMemory(This,pbBuffer,cbBufferSize); +} +static inline HRESULT IWICStream_InitializeFromIStreamRegion(IWICStream* This,IStream *pIStream,ULARGE_INTEGER ulOffset,ULARGE_INTEGER ulMaxSize) { + return This->lpVtbl->InitializeFromIStreamRegion(This,pIStream,ulOffset,ulMaxSize); +} +#endif +#endif + +#endif + + +#endif /* __IWICStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapScaler interface + */ +#ifndef __IWICBitmapScaler_INTERFACE_DEFINED__ +#define __IWICBitmapScaler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00000302-a8f2-4877-ba0a-fd2b6645fb94") +IWICBitmapScaler : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWICBitmapSource *pISource, + UINT uiWidth, + UINT uiHeight, + WICBitmapInterpolationMode mode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapScaler, 0x00000302, 0xa8f2, 0x4877, 0xba,0x0a, 0xfd,0x2b,0x66,0x45,0xfb,0x94) +#endif +#else +typedef struct IWICBitmapScalerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapScaler *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapScaler *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapScaler *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapScaler *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapScaler *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmapScaler *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapScaler *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmapScaler *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICBitmapScaler methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapScaler *This, + IWICBitmapSource *pISource, + UINT uiWidth, + UINT uiHeight, + WICBitmapInterpolationMode mode); + + END_INTERFACE +} IWICBitmapScalerVtbl; + +interface IWICBitmapScaler { + CONST_VTBL IWICBitmapScalerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapScaler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapScaler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapScaler_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmapScaler_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmapScaler_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmapScaler_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmapScaler_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapScaler_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICBitmapScaler methods ***/ +#define IWICBitmapScaler_Initialize(This,pISource,uiWidth,uiHeight,mode) (This)->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapScaler_QueryInterface(IWICBitmapScaler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapScaler_AddRef(IWICBitmapScaler* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapScaler_Release(IWICBitmapScaler* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmapScaler_GetSize(IWICBitmapScaler* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmapScaler_GetPixelFormat(IWICBitmapScaler* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapScaler_GetResolution(IWICBitmapScaler* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmapScaler_CopyPalette(IWICBitmapScaler* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapScaler_CopyPixels(IWICBitmapScaler* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICBitmapScaler methods ***/ +static inline HRESULT IWICBitmapScaler_Initialize(IWICBitmapScaler* This,IWICBitmapSource *pISource,UINT uiWidth,UINT uiHeight,WICBitmapInterpolationMode mode) { + return This->lpVtbl->Initialize(This,pISource,uiWidth,uiHeight,mode); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapScaler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICBitmapClipper interface + */ +#ifndef __IWICBitmapClipper_INTERFACE_DEFINED__ +#define __IWICBitmapClipper_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e4fbcf03-223d-4e81-9333-d635556dd1b5") +IWICBitmapClipper : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWICBitmapSource *pISource, + const WICRect *prc) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICBitmapClipper, 0xe4fbcf03, 0x223d, 0x4e81, 0x93,0x33, 0xd6,0x35,0x55,0x6d,0xd1,0xb5) +#endif +#else +typedef struct IWICBitmapClipperVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICBitmapClipper *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICBitmapClipper *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICBitmapClipper *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICBitmapClipper *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICBitmapClipper *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICBitmapClipper *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICBitmapClipper *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICBitmapClipper *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICBitmapClipper methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICBitmapClipper *This, + IWICBitmapSource *pISource, + const WICRect *prc); + + END_INTERFACE +} IWICBitmapClipperVtbl; + +interface IWICBitmapClipper { + CONST_VTBL IWICBitmapClipperVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICBitmapClipper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICBitmapClipper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICBitmapClipper_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICBitmapClipper_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICBitmapClipper_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICBitmapClipper_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICBitmapClipper_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICBitmapClipper_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICBitmapClipper methods ***/ +#define IWICBitmapClipper_Initialize(This,pISource,prc) (This)->lpVtbl->Initialize(This,pISource,prc) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICBitmapClipper_QueryInterface(IWICBitmapClipper* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICBitmapClipper_AddRef(IWICBitmapClipper* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICBitmapClipper_Release(IWICBitmapClipper* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICBitmapClipper_GetSize(IWICBitmapClipper* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICBitmapClipper_GetPixelFormat(IWICBitmapClipper* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICBitmapClipper_GetResolution(IWICBitmapClipper* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICBitmapClipper_CopyPalette(IWICBitmapClipper* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICBitmapClipper_CopyPixels(IWICBitmapClipper* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICBitmapClipper methods ***/ +static inline HRESULT IWICBitmapClipper_Initialize(IWICBitmapClipper* This,IWICBitmapSource *pISource,const WICRect *prc) { + return This->lpVtbl->Initialize(This,pISource,prc); +} +#endif +#endif + +#endif + + +#endif /* __IWICBitmapClipper_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICColorTransform interface + */ +#ifndef __IWICColorTransform_INTERFACE_DEFINED__ +#define __IWICColorTransform_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b66f034f-d0e2-40ab-b436-6de39e321a94") +IWICColorTransform : public IWICBitmapSource +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IWICBitmapSource *pIBitmapSource, + IWICColorContext *pIContextSource, + IWICColorContext *pIContextDest, + REFWICPixelFormatGUID pixelFmtDest) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICColorTransform, 0xb66f034f, 0xd0e2, 0x40ab, 0xb4,0x36, 0x6d,0xe3,0x9e,0x32,0x1a,0x94) +#endif +#else +typedef struct IWICColorTransformVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICColorTransform *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICColorTransform *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICColorTransform *This); + + /*** IWICBitmapSource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSize)( + IWICColorTransform *This, + UINT *puiWidth, + UINT *puiHeight); + + HRESULT (STDMETHODCALLTYPE *GetPixelFormat)( + IWICColorTransform *This, + WICPixelFormatGUID *pPixelFormat); + + HRESULT (STDMETHODCALLTYPE *GetResolution)( + IWICColorTransform *This, + double *pDpiX, + double *pDpiY); + + HRESULT (STDMETHODCALLTYPE *CopyPalette)( + IWICColorTransform *This, + IWICPalette *pIPalette); + + HRESULT (STDMETHODCALLTYPE *CopyPixels)( + IWICColorTransform *This, + const WICRect *prc, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer); + + /*** IWICColorTransform methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICColorTransform *This, + IWICBitmapSource *pIBitmapSource, + IWICColorContext *pIContextSource, + IWICColorContext *pIContextDest, + REFWICPixelFormatGUID pixelFmtDest); + + END_INTERFACE +} IWICColorTransformVtbl; + +interface IWICColorTransform { + CONST_VTBL IWICColorTransformVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICColorTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICColorTransform_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICColorTransform_Release(This) (This)->lpVtbl->Release(This) +/*** IWICBitmapSource methods ***/ +#define IWICColorTransform_GetSize(This,puiWidth,puiHeight) (This)->lpVtbl->GetSize(This,puiWidth,puiHeight) +#define IWICColorTransform_GetPixelFormat(This,pPixelFormat) (This)->lpVtbl->GetPixelFormat(This,pPixelFormat) +#define IWICColorTransform_GetResolution(This,pDpiX,pDpiY) (This)->lpVtbl->GetResolution(This,pDpiX,pDpiY) +#define IWICColorTransform_CopyPalette(This,pIPalette) (This)->lpVtbl->CopyPalette(This,pIPalette) +#define IWICColorTransform_CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) (This)->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer) +/*** IWICColorTransform methods ***/ +#define IWICColorTransform_Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest) (This)->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICColorTransform_QueryInterface(IWICColorTransform* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICColorTransform_AddRef(IWICColorTransform* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICColorTransform_Release(IWICColorTransform* This) { + return This->lpVtbl->Release(This); +} +/*** IWICBitmapSource methods ***/ +static inline HRESULT IWICColorTransform_GetSize(IWICColorTransform* This,UINT *puiWidth,UINT *puiHeight) { + return This->lpVtbl->GetSize(This,puiWidth,puiHeight); +} +static inline HRESULT IWICColorTransform_GetPixelFormat(IWICColorTransform* This,WICPixelFormatGUID *pPixelFormat) { + return This->lpVtbl->GetPixelFormat(This,pPixelFormat); +} +static inline HRESULT IWICColorTransform_GetResolution(IWICColorTransform* This,double *pDpiX,double *pDpiY) { + return This->lpVtbl->GetResolution(This,pDpiX,pDpiY); +} +static inline HRESULT IWICColorTransform_CopyPalette(IWICColorTransform* This,IWICPalette *pIPalette) { + return This->lpVtbl->CopyPalette(This,pIPalette); +} +static inline HRESULT IWICColorTransform_CopyPixels(IWICColorTransform* This,const WICRect *prc,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer) { + return This->lpVtbl->CopyPixels(This,prc,cbStride,cbBufferSize,pbBuffer); +} +/*** IWICColorTransform methods ***/ +static inline HRESULT IWICColorTransform_Initialize(IWICColorTransform* This,IWICBitmapSource *pIBitmapSource,IWICColorContext *pIContextSource,IWICColorContext *pIContextDest,REFWICPixelFormatGUID pixelFmtDest) { + return This->lpVtbl->Initialize(This,pIBitmapSource,pIContextSource,pIContextDest,pixelFmtDest); +} +#endif +#endif + +#endif + + +#endif /* __IWICColorTransform_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICFastMetadataEncoder interface + */ +#ifndef __IWICFastMetadataEncoder_INTERFACE_DEFINED__ +#define __IWICFastMetadataEncoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b84e2c09-78c9-4ac4-8bd3-524ae1663a2f") +IWICFastMetadataEncoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Commit( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataQueryWriter( + IWICMetadataQueryWriter **ppIMetadataQueryWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICFastMetadataEncoder, 0xb84e2c09, 0x78c9, 0x4ac4, 0x8b,0xd3, 0x52,0x4a,0xe1,0x66,0x3a,0x2f) +#endif +#else +typedef struct IWICFastMetadataEncoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICFastMetadataEncoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICFastMetadataEncoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICFastMetadataEncoder *This); + + /*** IWICFastMetadataEncoder methods ***/ + HRESULT (STDMETHODCALLTYPE *Commit)( + IWICFastMetadataEncoder *This); + + HRESULT (STDMETHODCALLTYPE *GetMetadataQueryWriter)( + IWICFastMetadataEncoder *This, + IWICMetadataQueryWriter **ppIMetadataQueryWriter); + + END_INTERFACE +} IWICFastMetadataEncoderVtbl; + +interface IWICFastMetadataEncoder { + CONST_VTBL IWICFastMetadataEncoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICFastMetadataEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICFastMetadataEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICFastMetadataEncoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICFastMetadataEncoder methods ***/ +#define IWICFastMetadataEncoder_Commit(This) (This)->lpVtbl->Commit(This) +#define IWICFastMetadataEncoder_GetMetadataQueryWriter(This,ppIMetadataQueryWriter) (This)->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICFastMetadataEncoder_QueryInterface(IWICFastMetadataEncoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICFastMetadataEncoder_AddRef(IWICFastMetadataEncoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICFastMetadataEncoder_Release(IWICFastMetadataEncoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICFastMetadataEncoder methods ***/ +static inline HRESULT IWICFastMetadataEncoder_Commit(IWICFastMetadataEncoder* This) { + return This->lpVtbl->Commit(This); +} +static inline HRESULT IWICFastMetadataEncoder_GetMetadataQueryWriter(IWICFastMetadataEncoder* This,IWICMetadataQueryWriter **ppIMetadataQueryWriter) { + return This->lpVtbl->GetMetadataQueryWriter(This,ppIMetadataQueryWriter); +} +#endif +#endif + +#endif + + +#endif /* __IWICFastMetadataEncoder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICImageEncoder interface + */ +#ifndef __IWICImageEncoder_INTERFACE_DEFINED__ +#define __IWICImageEncoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICImageEncoder, 0x04c75bf8, 0x3ce1, 0x473b, 0xac,0xc5, 0x3c,0xc4,0xf5,0xe9,0x49,0x99); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("04c75bf8-3ce1-473b-acc5-3cc4f5e94999") +IWICImageEncoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE WriteFrame( + ID2D1Image *image, + IWICBitmapFrameEncode *encode, + const WICImageParameters *parameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteFrameThumbnail( + ID2D1Image *image, + IWICBitmapFrameEncode *encode, + const WICImageParameters *parameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteThumbnail( + ID2D1Image *image, + IWICBitmapEncoder *encoder, + const WICImageParameters *parameters) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICImageEncoder, 0x04c75bf8, 0x3ce1, 0x473b, 0xac,0xc5, 0x3c,0xc4,0xf5,0xe9,0x49,0x99) +#endif +#else +typedef struct IWICImageEncoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICImageEncoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICImageEncoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICImageEncoder *This); + + /*** IWICImageEncoder methods ***/ + HRESULT (STDMETHODCALLTYPE *WriteFrame)( + IWICImageEncoder *This, + ID2D1Image *image, + IWICBitmapFrameEncode *encode, + const WICImageParameters *parameters); + + HRESULT (STDMETHODCALLTYPE *WriteFrameThumbnail)( + IWICImageEncoder *This, + ID2D1Image *image, + IWICBitmapFrameEncode *encode, + const WICImageParameters *parameters); + + HRESULT (STDMETHODCALLTYPE *WriteThumbnail)( + IWICImageEncoder *This, + ID2D1Image *image, + IWICBitmapEncoder *encoder, + const WICImageParameters *parameters); + + END_INTERFACE +} IWICImageEncoderVtbl; + +interface IWICImageEncoder { + CONST_VTBL IWICImageEncoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICImageEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICImageEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICImageEncoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICImageEncoder methods ***/ +#define IWICImageEncoder_WriteFrame(This,image,encode,parameters) (This)->lpVtbl->WriteFrame(This,image,encode,parameters) +#define IWICImageEncoder_WriteFrameThumbnail(This,image,encode,parameters) (This)->lpVtbl->WriteFrameThumbnail(This,image,encode,parameters) +#define IWICImageEncoder_WriteThumbnail(This,image,encoder,parameters) (This)->lpVtbl->WriteThumbnail(This,image,encoder,parameters) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICImageEncoder_QueryInterface(IWICImageEncoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICImageEncoder_AddRef(IWICImageEncoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICImageEncoder_Release(IWICImageEncoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICImageEncoder methods ***/ +static inline HRESULT IWICImageEncoder_WriteFrame(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapFrameEncode *encode,const WICImageParameters *parameters) { + return This->lpVtbl->WriteFrame(This,image,encode,parameters); +} +static inline HRESULT IWICImageEncoder_WriteFrameThumbnail(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapFrameEncode *encode,const WICImageParameters *parameters) { + return This->lpVtbl->WriteFrameThumbnail(This,image,encode,parameters); +} +static inline HRESULT IWICImageEncoder_WriteThumbnail(IWICImageEncoder* This,ID2D1Image *image,IWICBitmapEncoder *encoder,const WICImageParameters *parameters) { + return This->lpVtbl->WriteThumbnail(This,image,encoder,parameters); +} +#endif +#endif + +#endif + + +#endif /* __IWICImageEncoder_INTERFACE_DEFINED__ */ + +DEFINE_GUID(CLSID_WICImagingFactory, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a); +DEFINE_GUID(CLSID_WICImagingFactory1, 0xcacaf262,0x9370,0x4615,0xa1,0x3b,0x9f,0x55,0x39,0xda,0x4c,0x0a); +DEFINE_GUID(CLSID_WICImagingFactory2, 0x317d06e8,0x5f24,0x433d,0xbd,0xf7,0x79,0xce,0x68,0xd8,0xab,0xc2); +/***************************************************************************** + * IWICImagingFactory interface + */ +#ifndef __IWICImagingFactory_INTERFACE_DEFINED__ +#define __IWICImagingFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ec5ec8a9-c395-4314-9c77-54d7a935ff70") +IWICImagingFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFilename( + LPCWSTR wzFilename, + const GUID *pguidVendor, + DWORD dwDesiredAccess, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromStream( + IStream *pIStream, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDecoderFromFileHandle( + ULONG_PTR hFile, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateComponentInfo( + REFCLSID clsidComponent, + IWICComponentInfo **ppIInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDecoder( + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapDecoder **ppIDecoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateEncoder( + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapEncoder **ppIEncoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePalette( + IWICPalette **ppIPalette) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFormatConverter( + IWICFormatConverter **ppIFormatConverter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapScaler( + IWICBitmapScaler **ppIBitmapScaler) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapClipper( + IWICBitmapClipper **ppIBitmapClipper) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFlipRotator( + IWICBitmapFlipRotator **ppIBitmapFlipRotator) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStream( + IWICStream **ppIWICStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateColorContext( + IWICColorContext **ppIWICColorContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateColorTransformer( + IWICColorTransform **ppIWICColorTransform) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmap( + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSource( + IWICBitmapSource *piBitmapSource, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromSourceRect( + IWICBitmapSource *piBitmapSource, + UINT x, + UINT y, + UINT width, + UINT height, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromMemory( + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHBITMAP( + HBITMAP hBitmap, + HPALETTE hPalette, + WICBitmapAlphaChannelOption options, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateBitmapFromHICON( + HICON hIcon, + IWICBitmap **ppIBitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateComponentEnumerator( + DWORD componentTypes, + DWORD options, + IEnumUnknown **ppIEnumUnknown) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromDecoder( + IWICBitmapDecoder *pIDecoder, + IWICFastMetadataEncoder **ppIFastEncoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFastMetadataEncoderFromFrameDecode( + IWICBitmapFrameDecode *pIFrameDecoder, + IWICFastMetadataEncoder **ppIFastEncoder) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateQueryWriter( + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateQueryWriterFromReader( + IWICMetadataQueryReader *pIQueryReader, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICImagingFactory, 0xec5ec8a9, 0xc395, 0x4314, 0x9c,0x77, 0x54,0xd7,0xa9,0x35,0xff,0x70) +#endif +#else +typedef struct IWICImagingFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICImagingFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICImagingFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICImagingFactory *This); + + /*** IWICImagingFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)( + IWICImagingFactory *This, + LPCWSTR wzFilename, + const GUID *pguidVendor, + DWORD dwDesiredAccess, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)( + IWICImagingFactory *This, + IStream *pIStream, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)( + IWICImagingFactory *This, + ULONG_PTR hFile, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)( + IWICImagingFactory *This, + REFCLSID clsidComponent, + IWICComponentInfo **ppIInfo); + + HRESULT (STDMETHODCALLTYPE *CreateDecoder)( + IWICImagingFactory *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateEncoder)( + IWICImagingFactory *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapEncoder **ppIEncoder); + + HRESULT (STDMETHODCALLTYPE *CreatePalette)( + IWICImagingFactory *This, + IWICPalette **ppIPalette); + + HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)( + IWICImagingFactory *This, + IWICFormatConverter **ppIFormatConverter); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)( + IWICImagingFactory *This, + IWICBitmapScaler **ppIBitmapScaler); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)( + IWICImagingFactory *This, + IWICBitmapClipper **ppIBitmapClipper); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)( + IWICImagingFactory *This, + IWICBitmapFlipRotator **ppIBitmapFlipRotator); + + HRESULT (STDMETHODCALLTYPE *CreateStream)( + IWICImagingFactory *This, + IWICStream **ppIWICStream); + + HRESULT (STDMETHODCALLTYPE *CreateColorContext)( + IWICImagingFactory *This, + IWICColorContext **ppIWICColorContext); + + HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)( + IWICImagingFactory *This, + IWICColorTransform **ppIWICColorTransform); + + HRESULT (STDMETHODCALLTYPE *CreateBitmap)( + IWICImagingFactory *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)( + IWICImagingFactory *This, + IWICBitmapSource *piBitmapSource, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)( + IWICImagingFactory *This, + IWICBitmapSource *piBitmapSource, + UINT x, + UINT y, + UINT width, + UINT height, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)( + IWICImagingFactory *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)( + IWICImagingFactory *This, + HBITMAP hBitmap, + HPALETTE hPalette, + WICBitmapAlphaChannelOption options, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)( + IWICImagingFactory *This, + HICON hIcon, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)( + IWICImagingFactory *This, + DWORD componentTypes, + DWORD options, + IEnumUnknown **ppIEnumUnknown); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)( + IWICImagingFactory *This, + IWICBitmapDecoder *pIDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)( + IWICImagingFactory *This, + IWICBitmapFrameDecode *pIFrameDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)( + IWICImagingFactory *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)( + IWICImagingFactory *This, + IWICMetadataQueryReader *pIQueryReader, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + END_INTERFACE +} IWICImagingFactoryVtbl; + +interface IWICImagingFactory { + CONST_VTBL IWICImagingFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICImagingFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICImagingFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICImagingFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IWICImagingFactory methods ***/ +#define IWICImagingFactory_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) +#define IWICImagingFactory_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) +#define IWICImagingFactory_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) +#define IWICImagingFactory_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo) +#define IWICImagingFactory_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) +#define IWICImagingFactory_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) +#define IWICImagingFactory_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette) +#define IWICImagingFactory_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter) +#define IWICImagingFactory_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler) +#define IWICImagingFactory_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper) +#define IWICImagingFactory_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) +#define IWICImagingFactory_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream) +#define IWICImagingFactory_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext) +#define IWICImagingFactory_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform) +#define IWICImagingFactory_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) +#define IWICImagingFactory_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) +#define IWICImagingFactory_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) +#define IWICImagingFactory_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) +#define IWICImagingFactory_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) +#define IWICImagingFactory_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap) +#define IWICImagingFactory_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) +#define IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) +#define IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) +#define IWICImagingFactory_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) +#define IWICImagingFactory_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICImagingFactory_QueryInterface(IWICImagingFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICImagingFactory_AddRef(IWICImagingFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICImagingFactory_Release(IWICImagingFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IWICImagingFactory methods ***/ +static inline HRESULT IWICImagingFactory_CreateDecoderFromFilename(IWICImagingFactory* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory_CreateDecoderFromStream(IWICImagingFactory* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory_CreateDecoderFromFileHandle(IWICImagingFactory* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory_CreateComponentInfo(IWICImagingFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) { + return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo); +} +static inline HRESULT IWICImagingFactory_CreateDecoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder); +} +static inline HRESULT IWICImagingFactory_CreateEncoder(IWICImagingFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) { + return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder); +} +static inline HRESULT IWICImagingFactory_CreatePalette(IWICImagingFactory* This,IWICPalette **ppIPalette) { + return This->lpVtbl->CreatePalette(This,ppIPalette); +} +static inline HRESULT IWICImagingFactory_CreateFormatConverter(IWICImagingFactory* This,IWICFormatConverter **ppIFormatConverter) { + return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter); +} +static inline HRESULT IWICImagingFactory_CreateBitmapScaler(IWICImagingFactory* This,IWICBitmapScaler **ppIBitmapScaler) { + return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler); +} +static inline HRESULT IWICImagingFactory_CreateBitmapClipper(IWICImagingFactory* This,IWICBitmapClipper **ppIBitmapClipper) { + return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFlipRotator(IWICImagingFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) { + return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator); +} +static inline HRESULT IWICImagingFactory_CreateStream(IWICImagingFactory* This,IWICStream **ppIWICStream) { + return This->lpVtbl->CreateStream(This,ppIWICStream); +} +static inline HRESULT IWICImagingFactory_CreateColorContext(IWICImagingFactory* This,IWICColorContext **ppIWICColorContext) { + return This->lpVtbl->CreateColorContext(This,ppIWICColorContext); +} +static inline HRESULT IWICImagingFactory_CreateColorTransformer(IWICImagingFactory* This,IWICColorTransform **ppIWICColorTransform) { + return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform); +} +static inline HRESULT IWICImagingFactory_CreateBitmap(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFromSource(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFromSourceRect(IWICImagingFactory* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFromMemory(IWICImagingFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFromHBITMAP(IWICImagingFactory* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateBitmapFromHICON(IWICImagingFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap); +} +static inline HRESULT IWICImagingFactory_CreateComponentEnumerator(IWICImagingFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) { + return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown); +} +static inline HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder); +} +static inline HRESULT IWICImagingFactory_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder); +} +static inline HRESULT IWICImagingFactory_CreateQueryWriter(IWICImagingFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter); +} +static inline HRESULT IWICImagingFactory_CreateQueryWriterFromReader(IWICImagingFactory* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter); +} +#endif +#endif + +#endif + + +#endif /* __IWICImagingFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICImagingFactory2 interface + */ +#ifndef __IWICImagingFactory2_INTERFACE_DEFINED__ +#define __IWICImagingFactory2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICImagingFactory2, 0x7b816b45, 0x1996, 0x4476, 0xb1,0x32, 0xde,0x9e,0x24,0x7c,0x8a,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7b816b45-1996-4476-b132-de9e247c8af0") +IWICImagingFactory2 : public IWICImagingFactory +{ + virtual HRESULT STDMETHODCALLTYPE CreateImageEncoder( + ID2D1Device *device, + IWICImageEncoder **encoder) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICImagingFactory2, 0x7b816b45, 0x1996, 0x4476, 0xb1,0x32, 0xde,0x9e,0x24,0x7c,0x8a,0xf0) +#endif +#else +typedef struct IWICImagingFactory2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICImagingFactory2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICImagingFactory2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICImagingFactory2 *This); + + /*** IWICImagingFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)( + IWICImagingFactory2 *This, + LPCWSTR wzFilename, + const GUID *pguidVendor, + DWORD dwDesiredAccess, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)( + IWICImagingFactory2 *This, + IStream *pIStream, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)( + IWICImagingFactory2 *This, + ULONG_PTR hFile, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)( + IWICImagingFactory2 *This, + REFCLSID clsidComponent, + IWICComponentInfo **ppIInfo); + + HRESULT (STDMETHODCALLTYPE *CreateDecoder)( + IWICImagingFactory2 *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateEncoder)( + IWICImagingFactory2 *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapEncoder **ppIEncoder); + + HRESULT (STDMETHODCALLTYPE *CreatePalette)( + IWICImagingFactory2 *This, + IWICPalette **ppIPalette); + + HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)( + IWICImagingFactory2 *This, + IWICFormatConverter **ppIFormatConverter); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)( + IWICImagingFactory2 *This, + IWICBitmapScaler **ppIBitmapScaler); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)( + IWICImagingFactory2 *This, + IWICBitmapClipper **ppIBitmapClipper); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)( + IWICImagingFactory2 *This, + IWICBitmapFlipRotator **ppIBitmapFlipRotator); + + HRESULT (STDMETHODCALLTYPE *CreateStream)( + IWICImagingFactory2 *This, + IWICStream **ppIWICStream); + + HRESULT (STDMETHODCALLTYPE *CreateColorContext)( + IWICImagingFactory2 *This, + IWICColorContext **ppIWICColorContext); + + HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)( + IWICImagingFactory2 *This, + IWICColorTransform **ppIWICColorTransform); + + HRESULT (STDMETHODCALLTYPE *CreateBitmap)( + IWICImagingFactory2 *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)( + IWICImagingFactory2 *This, + IWICBitmapSource *piBitmapSource, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)( + IWICImagingFactory2 *This, + IWICBitmapSource *piBitmapSource, + UINT x, + UINT y, + UINT width, + UINT height, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)( + IWICImagingFactory2 *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)( + IWICImagingFactory2 *This, + HBITMAP hBitmap, + HPALETTE hPalette, + WICBitmapAlphaChannelOption options, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)( + IWICImagingFactory2 *This, + HICON hIcon, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)( + IWICImagingFactory2 *This, + DWORD componentTypes, + DWORD options, + IEnumUnknown **ppIEnumUnknown); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)( + IWICImagingFactory2 *This, + IWICBitmapDecoder *pIDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)( + IWICImagingFactory2 *This, + IWICBitmapFrameDecode *pIFrameDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)( + IWICImagingFactory2 *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)( + IWICImagingFactory2 *This, + IWICMetadataQueryReader *pIQueryReader, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + /*** IWICImagingFactory2 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateImageEncoder)( + IWICImagingFactory2 *This, + ID2D1Device *device, + IWICImageEncoder **encoder); + + END_INTERFACE +} IWICImagingFactory2Vtbl; + +interface IWICImagingFactory2 { + CONST_VTBL IWICImagingFactory2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICImagingFactory2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICImagingFactory2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICImagingFactory2_Release(This) (This)->lpVtbl->Release(This) +/*** IWICImagingFactory methods ***/ +#define IWICImagingFactory2_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) +#define IWICImagingFactory2_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) +#define IWICImagingFactory2_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) +#define IWICImagingFactory2_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo) +#define IWICImagingFactory2_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) +#define IWICImagingFactory2_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) +#define IWICImagingFactory2_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette) +#define IWICImagingFactory2_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter) +#define IWICImagingFactory2_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler) +#define IWICImagingFactory2_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper) +#define IWICImagingFactory2_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) +#define IWICImagingFactory2_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream) +#define IWICImagingFactory2_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext) +#define IWICImagingFactory2_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform) +#define IWICImagingFactory2_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) +#define IWICImagingFactory2_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) +#define IWICImagingFactory2_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) +#define IWICImagingFactory2_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) +#define IWICImagingFactory2_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) +#define IWICImagingFactory2_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap) +#define IWICImagingFactory2_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) +#define IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) +#define IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) +#define IWICImagingFactory2_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) +#define IWICImagingFactory2_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) +/*** IWICImagingFactory2 methods ***/ +#define IWICImagingFactory2_CreateImageEncoder(This,device,encoder) (This)->lpVtbl->CreateImageEncoder(This,device,encoder) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICImagingFactory2_QueryInterface(IWICImagingFactory2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICImagingFactory2_AddRef(IWICImagingFactory2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICImagingFactory2_Release(IWICImagingFactory2* This) { + return This->lpVtbl->Release(This); +} +/*** IWICImagingFactory methods ***/ +static inline HRESULT IWICImagingFactory2_CreateDecoderFromFilename(IWICImagingFactory2* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory2_CreateDecoderFromStream(IWICImagingFactory2* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory2_CreateDecoderFromFileHandle(IWICImagingFactory2* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICImagingFactory2_CreateComponentInfo(IWICImagingFactory2* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) { + return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo); +} +static inline HRESULT IWICImagingFactory2_CreateDecoder(IWICImagingFactory2* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder); +} +static inline HRESULT IWICImagingFactory2_CreateEncoder(IWICImagingFactory2* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) { + return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder); +} +static inline HRESULT IWICImagingFactory2_CreatePalette(IWICImagingFactory2* This,IWICPalette **ppIPalette) { + return This->lpVtbl->CreatePalette(This,ppIPalette); +} +static inline HRESULT IWICImagingFactory2_CreateFormatConverter(IWICImagingFactory2* This,IWICFormatConverter **ppIFormatConverter) { + return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapScaler(IWICImagingFactory2* This,IWICBitmapScaler **ppIBitmapScaler) { + return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapClipper(IWICImagingFactory2* This,IWICBitmapClipper **ppIBitmapClipper) { + return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFlipRotator(IWICImagingFactory2* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) { + return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator); +} +static inline HRESULT IWICImagingFactory2_CreateStream(IWICImagingFactory2* This,IWICStream **ppIWICStream) { + return This->lpVtbl->CreateStream(This,ppIWICStream); +} +static inline HRESULT IWICImagingFactory2_CreateColorContext(IWICImagingFactory2* This,IWICColorContext **ppIWICColorContext) { + return This->lpVtbl->CreateColorContext(This,ppIWICColorContext); +} +static inline HRESULT IWICImagingFactory2_CreateColorTransformer(IWICImagingFactory2* This,IWICColorTransform **ppIWICColorTransform) { + return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform); +} +static inline HRESULT IWICImagingFactory2_CreateBitmap(IWICImagingFactory2* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFromSource(IWICImagingFactory2* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFromSourceRect(IWICImagingFactory2* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFromMemory(IWICImagingFactory2* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFromHBITMAP(IWICImagingFactory2* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateBitmapFromHICON(IWICImagingFactory2* This,HICON hIcon,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap); +} +static inline HRESULT IWICImagingFactory2_CreateComponentEnumerator(IWICImagingFactory2* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) { + return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown); +} +static inline HRESULT IWICImagingFactory2_CreateFastMetadataEncoderFromDecoder(IWICImagingFactory2* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder); +} +static inline HRESULT IWICImagingFactory2_CreateFastMetadataEncoderFromFrameDecode(IWICImagingFactory2* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder); +} +static inline HRESULT IWICImagingFactory2_CreateQueryWriter(IWICImagingFactory2* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter); +} +static inline HRESULT IWICImagingFactory2_CreateQueryWriterFromReader(IWICImagingFactory2* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter); +} +/*** IWICImagingFactory2 methods ***/ +static inline HRESULT IWICImagingFactory2_CreateImageEncoder(IWICImagingFactory2* This,ID2D1Device *device,IWICImageEncoder **encoder) { + return This->lpVtbl->CreateImageEncoder(This,device,encoder); +} +#endif +#endif + +#endif + + +#endif /* __IWICImagingFactory2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICEnumMetadataItem interface + */ +#ifndef __IWICEnumMetadataItem_INTERFACE_DEFINED__ +#define __IWICEnumMetadataItem_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("dc2bb46d-3f07-481e-8625-220c4aedbb33") +IWICEnumMetadataItem : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Next( + ULONG celt, + PROPVARIANT *rgeltSchema, + PROPVARIANT *rgeltId, + PROPVARIANT *rgeltValue, + ULONG *pceltFetched) = 0; + + virtual HRESULT STDMETHODCALLTYPE Skip( + ULONG celt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IWICEnumMetadataItem **ppIEnumMetadataItem) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICEnumMetadataItem, 0xdc2bb46d, 0x3f07, 0x481e, 0x86,0x25, 0x22,0x0c,0x4a,0xed,0xbb,0x33) +#endif +#else +typedef struct IWICEnumMetadataItemVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICEnumMetadataItem *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICEnumMetadataItem *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICEnumMetadataItem *This); + + /*** IWICEnumMetadataItem methods ***/ + HRESULT (STDMETHODCALLTYPE *Next)( + IWICEnumMetadataItem *This, + ULONG celt, + PROPVARIANT *rgeltSchema, + PROPVARIANT *rgeltId, + PROPVARIANT *rgeltValue, + ULONG *pceltFetched); + + HRESULT (STDMETHODCALLTYPE *Skip)( + IWICEnumMetadataItem *This, + ULONG celt); + + HRESULT (STDMETHODCALLTYPE *Reset)( + IWICEnumMetadataItem *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IWICEnumMetadataItem *This, + IWICEnumMetadataItem **ppIEnumMetadataItem); + + END_INTERFACE +} IWICEnumMetadataItemVtbl; + +interface IWICEnumMetadataItem { + CONST_VTBL IWICEnumMetadataItemVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICEnumMetadataItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICEnumMetadataItem_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICEnumMetadataItem_Release(This) (This)->lpVtbl->Release(This) +/*** IWICEnumMetadataItem methods ***/ +#define IWICEnumMetadataItem_Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched) (This)->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched) +#define IWICEnumMetadataItem_Skip(This,celt) (This)->lpVtbl->Skip(This,celt) +#define IWICEnumMetadataItem_Reset(This) (This)->lpVtbl->Reset(This) +#define IWICEnumMetadataItem_Clone(This,ppIEnumMetadataItem) (This)->lpVtbl->Clone(This,ppIEnumMetadataItem) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICEnumMetadataItem_QueryInterface(IWICEnumMetadataItem* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICEnumMetadataItem_AddRef(IWICEnumMetadataItem* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICEnumMetadataItem_Release(IWICEnumMetadataItem* This) { + return This->lpVtbl->Release(This); +} +/*** IWICEnumMetadataItem methods ***/ +static inline HRESULT IWICEnumMetadataItem_Next(IWICEnumMetadataItem* This,ULONG celt,PROPVARIANT *rgeltSchema,PROPVARIANT *rgeltId,PROPVARIANT *rgeltValue,ULONG *pceltFetched) { + return This->lpVtbl->Next(This,celt,rgeltSchema,rgeltId,rgeltValue,pceltFetched); +} +static inline HRESULT IWICEnumMetadataItem_Skip(IWICEnumMetadataItem* This,ULONG celt) { + return This->lpVtbl->Skip(This,celt); +} +static inline HRESULT IWICEnumMetadataItem_Reset(IWICEnumMetadataItem* This) { + return This->lpVtbl->Reset(This); +} +static inline HRESULT IWICEnumMetadataItem_Clone(IWICEnumMetadataItem* This,IWICEnumMetadataItem **ppIEnumMetadataItem) { + return This->lpVtbl->Clone(This,ppIEnumMetadataItem); +} +#endif +#endif + +#endif + + +#endif /* __IWICEnumMetadataItem_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICDdsDecoder interface + */ +#ifndef __IWICDdsDecoder_INTERFACE_DEFINED__ +#define __IWICDdsDecoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("409cd537-8532-40cb-9774-e2feb2df4e9c") +IWICDdsDecoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetParameters( + WICDdsParameters *parameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFrame( + UINT arrayIndex, + UINT mipLevel, + UINT sliceIndex, + IWICBitmapFrameDecode **bitmapFrame) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICDdsDecoder, 0x409cd537, 0x8532, 0x40cb, 0x97,0x74, 0xe2,0xfe,0xb2,0xdf,0x4e,0x9c) +#endif +#else +typedef struct IWICDdsDecoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICDdsDecoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICDdsDecoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICDdsDecoder *This); + + /*** IWICDdsDecoder methods ***/ + HRESULT (STDMETHODCALLTYPE *GetParameters)( + IWICDdsDecoder *This, + WICDdsParameters *parameters); + + HRESULT (STDMETHODCALLTYPE *GetFrame)( + IWICDdsDecoder *This, + UINT arrayIndex, + UINT mipLevel, + UINT sliceIndex, + IWICBitmapFrameDecode **bitmapFrame); + + END_INTERFACE +} IWICDdsDecoderVtbl; + +interface IWICDdsDecoder { + CONST_VTBL IWICDdsDecoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICDdsDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICDdsDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICDdsDecoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICDdsDecoder methods ***/ +#define IWICDdsDecoder_GetParameters(This,parameters) (This)->lpVtbl->GetParameters(This,parameters) +#define IWICDdsDecoder_GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame) (This)->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICDdsDecoder_QueryInterface(IWICDdsDecoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICDdsDecoder_AddRef(IWICDdsDecoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICDdsDecoder_Release(IWICDdsDecoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICDdsDecoder methods ***/ +static inline HRESULT IWICDdsDecoder_GetParameters(IWICDdsDecoder* This,WICDdsParameters *parameters) { + return This->lpVtbl->GetParameters(This,parameters); +} +static inline HRESULT IWICDdsDecoder_GetFrame(IWICDdsDecoder* This,UINT arrayIndex,UINT mipLevel,UINT sliceIndex,IWICBitmapFrameDecode **bitmapFrame) { + return This->lpVtbl->GetFrame(This,arrayIndex,mipLevel,sliceIndex,bitmapFrame); +} +#endif +#endif + +#endif + + +#endif /* __IWICDdsDecoder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICDdsEncoder interface + */ +#ifndef __IWICDdsEncoder_INTERFACE_DEFINED__ +#define __IWICDdsEncoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICDdsEncoder, 0x5cacdb4c, 0x407e, 0x41b3, 0xb9,0x36, 0xd0,0xf0,0x10,0xcd,0x67,0x32); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5cacdb4c-407e-41b3-b936-d0f010cd6732") +IWICDdsEncoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetParameters( + WICDdsParameters *parameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetParameters( + WICDdsParameters *parameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewFrame( + IWICBitmapFrameEncode **frameEncode, + UINT *arrayIndex, + UINT *mipLevel, + UINT *sliceIndex) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICDdsEncoder, 0x5cacdb4c, 0x407e, 0x41b3, 0xb9,0x36, 0xd0,0xf0,0x10,0xcd,0x67,0x32) +#endif +#else +typedef struct IWICDdsEncoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICDdsEncoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICDdsEncoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICDdsEncoder *This); + + /*** IWICDdsEncoder methods ***/ + HRESULT (STDMETHODCALLTYPE *SetParameters)( + IWICDdsEncoder *This, + WICDdsParameters *parameters); + + HRESULT (STDMETHODCALLTYPE *GetParameters)( + IWICDdsEncoder *This, + WICDdsParameters *parameters); + + HRESULT (STDMETHODCALLTYPE *CreateNewFrame)( + IWICDdsEncoder *This, + IWICBitmapFrameEncode **frameEncode, + UINT *arrayIndex, + UINT *mipLevel, + UINT *sliceIndex); + + END_INTERFACE +} IWICDdsEncoderVtbl; + +interface IWICDdsEncoder { + CONST_VTBL IWICDdsEncoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICDdsEncoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICDdsEncoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICDdsEncoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICDdsEncoder methods ***/ +#define IWICDdsEncoder_SetParameters(This,parameters) (This)->lpVtbl->SetParameters(This,parameters) +#define IWICDdsEncoder_GetParameters(This,parameters) (This)->lpVtbl->GetParameters(This,parameters) +#define IWICDdsEncoder_CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex) (This)->lpVtbl->CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICDdsEncoder_QueryInterface(IWICDdsEncoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICDdsEncoder_AddRef(IWICDdsEncoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICDdsEncoder_Release(IWICDdsEncoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICDdsEncoder methods ***/ +static inline HRESULT IWICDdsEncoder_SetParameters(IWICDdsEncoder* This,WICDdsParameters *parameters) { + return This->lpVtbl->SetParameters(This,parameters); +} +static inline HRESULT IWICDdsEncoder_GetParameters(IWICDdsEncoder* This,WICDdsParameters *parameters) { + return This->lpVtbl->GetParameters(This,parameters); +} +static inline HRESULT IWICDdsEncoder_CreateNewFrame(IWICDdsEncoder* This,IWICBitmapFrameEncode **frameEncode,UINT *arrayIndex,UINT *mipLevel,UINT *sliceIndex) { + return This->lpVtbl->CreateNewFrame(This,frameEncode,arrayIndex,mipLevel,sliceIndex); +} +#endif +#endif + +#endif + + +#endif /* __IWICDdsEncoder_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICDdsFrameDecode interface + */ +#ifndef __IWICDdsFrameDecode_INTERFACE_DEFINED__ +#define __IWICDdsFrameDecode_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3d4c0c61-18a4-41e4-bd80-481a4fc9f464") +IWICDdsFrameDecode : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSizeInBlocks( + UINT *widthInBlocks, + UINT *heightInBlocks) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFormatInfo( + WICDdsFormatInfo *formatInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyBlocks( + const WICRect *boundsInBlocks, + UINT stride, + UINT bufferSize, + BYTE *buffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICDdsFrameDecode, 0x3d4c0c61, 0x18a4, 0x41e4, 0xbd,0x80, 0x48,0x1a,0x4f,0xc9,0xf4,0x64) +#endif +#else +typedef struct IWICDdsFrameDecodeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICDdsFrameDecode *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICDdsFrameDecode *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICDdsFrameDecode *This); + + /*** IWICDdsFrameDecode methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSizeInBlocks)( + IWICDdsFrameDecode *This, + UINT *widthInBlocks, + UINT *heightInBlocks); + + HRESULT (STDMETHODCALLTYPE *GetFormatInfo)( + IWICDdsFrameDecode *This, + WICDdsFormatInfo *formatInfo); + + HRESULT (STDMETHODCALLTYPE *CopyBlocks)( + IWICDdsFrameDecode *This, + const WICRect *boundsInBlocks, + UINT stride, + UINT bufferSize, + BYTE *buffer); + + END_INTERFACE +} IWICDdsFrameDecodeVtbl; + +interface IWICDdsFrameDecode { + CONST_VTBL IWICDdsFrameDecodeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICDdsFrameDecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICDdsFrameDecode_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICDdsFrameDecode_Release(This) (This)->lpVtbl->Release(This) +/*** IWICDdsFrameDecode methods ***/ +#define IWICDdsFrameDecode_GetSizeInBlocks(This,widthInBlocks,heightInBlocks) (This)->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks) +#define IWICDdsFrameDecode_GetFormatInfo(This,formatInfo) (This)->lpVtbl->GetFormatInfo(This,formatInfo) +#define IWICDdsFrameDecode_CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer) (This)->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICDdsFrameDecode_QueryInterface(IWICDdsFrameDecode* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICDdsFrameDecode_AddRef(IWICDdsFrameDecode* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICDdsFrameDecode_Release(IWICDdsFrameDecode* This) { + return This->lpVtbl->Release(This); +} +/*** IWICDdsFrameDecode methods ***/ +static inline HRESULT IWICDdsFrameDecode_GetSizeInBlocks(IWICDdsFrameDecode* This,UINT *widthInBlocks,UINT *heightInBlocks) { + return This->lpVtbl->GetSizeInBlocks(This,widthInBlocks,heightInBlocks); +} +static inline HRESULT IWICDdsFrameDecode_GetFormatInfo(IWICDdsFrameDecode* This,WICDdsFormatInfo *formatInfo) { + return This->lpVtbl->GetFormatInfo(This,formatInfo); +} +static inline HRESULT IWICDdsFrameDecode_CopyBlocks(IWICDdsFrameDecode* This,const WICRect *boundsInBlocks,UINT stride,UINT bufferSize,BYTE *buffer) { + return This->lpVtbl->CopyBlocks(This,boundsInBlocks,stride,bufferSize,buffer); +} +#endif +#endif + +#endif + + +#endif /* __IWICDdsFrameDecode_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICWineDecoder interface + */ +#ifndef __IWICWineDecoder_INTERFACE_DEFINED__ +#define __IWICWineDecoder_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICWineDecoder, 0xb9bd430d, 0x28a8, 0x41d3, 0xa1,0xf5, 0xf3,0x6e,0xe0,0x28,0x40,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b9bd430d-28a8-41d3-a1f5-f36ee02840bf") +IWICWineDecoder : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IStream *stream, + WICDecodeOptions options) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICWineDecoder, 0xb9bd430d, 0x28a8, 0x41d3, 0xa1,0xf5, 0xf3,0x6e,0xe0,0x28,0x40,0xbf) +#endif +#else +typedef struct IWICWineDecoderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICWineDecoder *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICWineDecoder *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICWineDecoder *This); + + /*** IWICWineDecoder methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IWICWineDecoder *This, + IStream *stream, + WICDecodeOptions options); + + END_INTERFACE +} IWICWineDecoderVtbl; + +interface IWICWineDecoder { + CONST_VTBL IWICWineDecoderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICWineDecoder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICWineDecoder_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICWineDecoder_Release(This) (This)->lpVtbl->Release(This) +/*** IWICWineDecoder methods ***/ +#define IWICWineDecoder_Initialize(This,stream,options) (This)->lpVtbl->Initialize(This,stream,options) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICWineDecoder_QueryInterface(IWICWineDecoder* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICWineDecoder_AddRef(IWICWineDecoder* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICWineDecoder_Release(IWICWineDecoder* This) { + return This->lpVtbl->Release(This); +} +/*** IWICWineDecoder methods ***/ +static inline HRESULT IWICWineDecoder_Initialize(IWICWineDecoder* This,IStream *stream,WICDecodeOptions options) { + return This->lpVtbl->Initialize(This,stream,options); +} +#endif +#endif + +#endif + + +#endif /* __IWICWineDecoder_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WICConvertBitmapSource(REFWICPixelFormatGUID dstFormat, IWICBitmapSource *pISrc, IWICBitmapSource **ppIDst); +HRESULT WINAPI WICCreateBitmapFromSection(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, IWICBitmap **bitmap); +HRESULT WINAPI WICCreateBitmapFromSectionEx(UINT width, UINT height, REFWICPixelFormatGUID format, HANDLE section, UINT stride, UINT offset, WICSectionAccessLevel access, IWICBitmap **bitmap); +HRESULT WINAPI WICMapGuidToShortName(REFGUID,UINT,WCHAR *,UINT *); +HRESULT WINAPI WICMapShortNameToGuid(PCWSTR,GUID *); +HRESULT WINAPI WICMapSchemaToName(REFGUID,LPWSTR,UINT,WCHAR *,UINT *); +DEFINE_GUID(CLSID_WICBmpDecoder, 0x6b462062,0x7cbf,0x400d,0x9f,0xdb,0x81,0x3d,0xd1,0x0f,0x27,0x78); +DEFINE_GUID(CLSID_WICPngDecoder, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51); +DEFINE_GUID(CLSID_WICPngDecoder1, 0x389ea17b,0x5078,0x4cde,0xb6,0xef,0x25,0xc1,0x51,0x75,0xc7,0x51); +DEFINE_GUID(CLSID_WICPngDecoder2, 0xe018945b,0xaa86,0x4008,0x9b,0xd4,0x67,0x77,0xa1,0xe4,0x0c,0x11); +DEFINE_GUID(CLSID_WICIcoDecoder, 0xc61bfcdf,0x2e0f,0x4aad,0xa8,0xd7,0xe0,0x6b,0xaf,0xeb,0xcd,0xfe); +DEFINE_GUID(CLSID_WICJpegDecoder, 0x9456a480,0xe88b,0x43ea,0x9e,0x73,0x0b,0x2d,0x9b,0x71,0xb1,0xca); +DEFINE_GUID(CLSID_WICGifDecoder, 0x381dda3c,0x9ce9,0x4834,0xa2,0x3e,0x1f,0x98,0xf8,0xfc,0x52,0xbe); +DEFINE_GUID(CLSID_WICTiffDecoder, 0xb54e85d9,0xfe23,0x499f,0x8b,0x88,0x6a,0xce,0xa7,0x13,0x75,0x2b); +DEFINE_GUID(CLSID_WICWmpDecoder, 0xa26cec36,0x234c,0x4950,0xae,0x16,0xe3,0x4a,0xac,0xe7,0x1d,0x0d); +DEFINE_GUID(CLSID_WICDdsDecoder, 0x9053699f,0xa341,0x429d,0x9e,0x90,0xee,0x43,0x7c,0xf8,0x0c,0x73); +DEFINE_GUID(CLSID_WICBmpEncoder, 0x69be8bb4,0xd66d,0x47c8,0x86,0x5a,0xed,0x15,0x89,0x43,0x37,0x82); +DEFINE_GUID(CLSID_WICPngEncoder, 0x27949969,0x876a,0x41d7,0x94,0x47,0x56,0x8f,0x6a,0x35,0xa4,0xdc); +DEFINE_GUID(CLSID_WICJpegEncoder, 0x1a34f5c1,0x4a5a,0x46dc,0xb6,0x44,0x1f,0x45,0x67,0xe7,0xa6,0x76); +DEFINE_GUID(CLSID_WICGifEncoder, 0x114f5598,0x0b22,0x40a0,0x86,0xa1,0xc8,0x3e,0xa4,0x95,0xad,0xbd); +DEFINE_GUID(CLSID_WICTiffEncoder, 0x0131be10,0x2001,0x4c5f,0xa9,0xb0,0xcc,0x88,0xfa,0xb6,0x4c,0xe8); +DEFINE_GUID(CLSID_WICWmpEncoder, 0xac4ce3cb,0xe1c1,0x44cd,0x82,0x15,0x5a,0x16,0x65,0x50,0x9e,0xc2); +DEFINE_GUID(CLSID_WICDdsEncoder, 0xa61dde94,0x66ce,0x4ac1,0x88,0x1b,0x71,0x68,0x05,0x88,0x89,0x5e); +DEFINE_GUID(CLSID_WICAdngDecoder, 0x981d9411,0x909e,0x42a7,0x8f,0x5d,0xa7,0x47,0xff,0x05,0x2e,0xdb); +DEFINE_GUID(CLSID_WICJpegQualcommPhoneEncoder, 0x68ed5c62,0xf534,0x4979,0xb2,0xb3,0x68,0x6a,0x12,0xb2,0xb3,0x4c); +DEFINE_GUID(CLSID_WICHeifDecoder, 0xe9a4a80a,0x44fe,0x4de4,0x89,0x71,0x71,0x50,0xb1,0x0a,0x51,0x99); +DEFINE_GUID(CLSID_WICHeifEncoder, 0x0dbecec1,0x9eb3,0x4860,0x9c,0x6f,0xdd,0xbe,0x86,0x63,0x45,0x75); +DEFINE_GUID(CLSID_WICWebpDecoder, 0x7693e886,0x51c9,0x4070,0x84,0x19,0x9f,0x70,0x73,0x8e,0xc8,0xfa); +DEFINE_GUID(CLSID_WICRAWDecoder, 0x41945702,0x8302,0x44a6,0x94,0x45,0xac,0x98,0xe8,0xaf,0xa0,0x86); +DEFINE_GUID(CLSID_WICDefaultFormatConverter, 0x1a3f11dc,0xb514,0x4b17,0x8c,0x5f,0x21,0x54,0x51,0x38,0x52,0xf1); +DEFINE_GUID(CLSID_WICFormatConverterHighColor, 0xac75d454,0x9f37,0x48f8,0xb9,0x72,0x4e,0x19,0xbc,0x85,0x60,0x11); +DEFINE_GUID(CLSID_WICFormatConverterNChannel, 0xc17cabb2,0xd4a3,0x47d7,0xa5,0x57,0x33,0x9b,0x2e,0xfb,0xd4,0xf1); +DEFINE_GUID(CLSID_WICFormatConverterWMPhoto, 0x9cb5172b,0xd600,0x46ba,0xab,0x77,0x77,0xbb,0x7e,0x3a,0x00,0xd9); +DEFINE_GUID(CLSID_WICPlanarFormatConverter, 0x184132b8,0x32f8,0x4784,0x91,0x31,0xdd,0x72,0x24,0xb2,0x34,0x38); +DEFINE_GUID(GUID_ContainerFormatBmp, 0x0af1d87e,0xfcfe,0x4188,0xbd,0xeb,0xa7,0x90,0x64,0x71,0xcb,0xe3); +DEFINE_GUID(GUID_ContainerFormatPng, 0x1b7cfaf4,0x713f,0x473c,0xbb,0xcd,0x61,0x37,0x42,0x5f,0xae,0xaf); +DEFINE_GUID(GUID_ContainerFormatIco, 0xa3a860c4,0x338f,0x4c17,0x91,0x9a,0xfb,0xa4,0xb5,0x62,0x8f,0x21); +DEFINE_GUID(GUID_ContainerFormatJpeg, 0x19e4a5aa,0x5662,0x4fc5,0xa0,0xc0,0x17,0x58,0x02,0x8e,0x10,0x57); +DEFINE_GUID(GUID_ContainerFormatTiff, 0x163bcc30,0xe2e9,0x4f0b,0x96,0x1d,0xa3,0xe9,0xfd,0xb7,0x88,0xa3); +DEFINE_GUID(GUID_ContainerFormatGif, 0x1f8a5601,0x7d4d,0x4cbd,0x9c,0x82,0x1b,0xc8,0xd4,0xee,0xb9,0xa5); +DEFINE_GUID(GUID_ContainerFormatWmp, 0x57a37caa,0x367a,0x4540,0x91,0x6b,0xf1,0x83,0xc5,0x09,0x3a,0x4b); +DEFINE_GUID(GUID_ContainerFormatDds, 0x9967cb95,0x2e85,0x4ac8,0x8c,0xa2,0x83,0xd7,0xcc,0xd4,0x25,0xc9); +DEFINE_GUID(GUID_ContainerFormatAdng, 0xf3ff6d0d,0x38c0,0x41c4,0xb1,0xfe,0x1f,0x38,0x24,0xf1,0x7b,0x84); +DEFINE_GUID(GUID_ContainerFormatHeif, 0xe1e62521,0x6787,0x405b,0xa3,0x39,0x50,0x07,0x15,0xb5,0x76,0x3f); +DEFINE_GUID(GUID_ContainerFormatWebp, 0xe094b0e2,0x67f2,0x45b3,0xb0,0xea,0x11,0x53,0x37,0xca,0x7c,0xf3); +DEFINE_GUID(GUID_ContainerFormatRaw, 0xfe99ce60,0xf19c,0x433c,0xa3,0xae,0x00,0xac,0xef,0xa9,0xca,0x21); +DEFINE_GUID(GUID_VendorMicrosoft, 0xf0e749ca,0xedef,0x4589,0xa7,0x3a,0xee,0x0e,0x62,0x6a,0x2a,0x2b); +DEFINE_GUID(GUID_VendorMicrosoftBuiltIn, 0x257a30fd,0x6b6,0x462b,0xae,0xa4,0x63,0xf7,0xb,0x86,0xe5,0x33); +DEFINE_GUID(CLSID_WICImagingCategories, 0xfae3d380,0xfea4,0x4623,0x8c,0x75,0xc6,0xb6,0x11,0x10,0xb6,0x81); +DEFINE_GUID(CATID_WICBitmapDecoders, 0x7ed96837,0x96f0,0x4812,0xb2,0x11,0xf1,0x3c,0x24,0x11,0x7e,0xd3); +DEFINE_GUID(CATID_WICBitmapEncoders, 0xac757296,0x3522,0x4e11,0x98,0x62,0xc1,0x7b,0xe5,0xa1,0x76,0x7e); +DEFINE_GUID(CATID_WICFormatConverters, 0x7835eae8,0xbf14,0x49d1,0x93,0xce,0x53,0x3a,0x40,0x7b,0x22,0x48); +DEFINE_GUID(CATID_WICMetadataReader, 0x05af94d8,0x7174,0x4cd2,0xbe,0x4a,0x41,0x24,0xb8,0x0e,0xe4,0xb8); +DEFINE_GUID(CATID_WICMetadataWriter, 0xabe3b9a4,0x257d,0x4b97,0xbd,0x1a,0x29,0x4a,0xf4,0x96,0x22,0x2e); +DEFINE_GUID(CATID_WICPixelFormats, 0x2b46e70f,0xcda7,0x473e,0x89,0xf6,0xdc,0x96,0x30,0xa2,0x39,0x0b); +/* Begin additional prototypes for all interfaces */ + +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 *); +ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); +unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); +unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); +void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); +ULONG __RPC_USER HBITMAP_UserSize (ULONG *, ULONG, HBITMAP *); +unsigned char * __RPC_USER HBITMAP_UserMarshal (ULONG *, unsigned char *, HBITMAP *); +unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *); +void __RPC_USER HBITMAP_UserFree (ULONG *, HBITMAP *); +ULONG __RPC_USER HPALETTE_UserSize (ULONG *, ULONG, HPALETTE *); +unsigned char * __RPC_USER HPALETTE_UserMarshal (ULONG *, unsigned char *, HPALETTE *); +unsigned char * __RPC_USER HPALETTE_UserUnmarshal(ULONG *, unsigned char *, HPALETTE *); +void __RPC_USER HPALETTE_UserFree (ULONG *, HPALETTE *); +ULONG __RPC_USER HICON_UserSize (ULONG *, ULONG, HICON *); +unsigned char * __RPC_USER HICON_UserMarshal (ULONG *, unsigned char *, HICON *); +unsigned char * __RPC_USER HICON_UserUnmarshal(ULONG *, unsigned char *, HICON *); +void __RPC_USER HICON_UserFree (ULONG *, HICON *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wincodec_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodecsdk.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodecsdk.h new file mode 100644 index 00000000..f0ff12df --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincodecsdk.h @@ -0,0 +1,2265 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wincodecsdk.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 __wincodecsdk_h__ +#define __wincodecsdk_h__ + +/* Forward declarations */ + +#ifndef __IWICMetadataHandlerInfo_FWD_DEFINED__ +#define __IWICMetadataHandlerInfo_FWD_DEFINED__ +typedef interface IWICMetadataHandlerInfo IWICMetadataHandlerInfo; +#ifdef __cplusplus +interface IWICMetadataHandlerInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataReader_FWD_DEFINED__ +#define __IWICMetadataReader_FWD_DEFINED__ +typedef interface IWICMetadataReader IWICMetadataReader; +#ifdef __cplusplus +interface IWICMetadataReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataReaderInfo_FWD_DEFINED__ +#define __IWICMetadataReaderInfo_FWD_DEFINED__ +typedef interface IWICMetadataReaderInfo IWICMetadataReaderInfo; +#ifdef __cplusplus +interface IWICMetadataReaderInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataWriter_FWD_DEFINED__ +#define __IWICMetadataWriter_FWD_DEFINED__ +typedef interface IWICMetadataWriter IWICMetadataWriter; +#ifdef __cplusplus +interface IWICMetadataWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataWriterInfo_FWD_DEFINED__ +#define __IWICMetadataWriterInfo_FWD_DEFINED__ +typedef interface IWICMetadataWriterInfo IWICMetadataWriterInfo; +#ifdef __cplusplus +interface IWICMetadataWriterInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataBlockReader_FWD_DEFINED__ +#define __IWICMetadataBlockReader_FWD_DEFINED__ +typedef interface IWICMetadataBlockReader IWICMetadataBlockReader; +#ifdef __cplusplus +interface IWICMetadataBlockReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICMetadataBlockWriter_FWD_DEFINED__ +#define __IWICMetadataBlockWriter_FWD_DEFINED__ +typedef interface IWICMetadataBlockWriter IWICMetadataBlockWriter; +#ifdef __cplusplus +interface IWICMetadataBlockWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICPersistStream_FWD_DEFINED__ +#define __IWICPersistStream_FWD_DEFINED__ +typedef interface IWICPersistStream IWICPersistStream; +#ifdef __cplusplus +interface IWICPersistStream; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICStreamProvider_FWD_DEFINED__ +#define __IWICStreamProvider_FWD_DEFINED__ +typedef interface IWICStreamProvider IWICStreamProvider; +#ifdef __cplusplus +interface IWICStreamProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWICComponentFactory_FWD_DEFINED__ +#define __IWICComponentFactory_FWD_DEFINED__ +typedef interface IWICComponentFactory IWICComponentFactory; +#ifdef __cplusplus +interface IWICComponentFactory; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum WICPersistOptions { + WICPersistOptionDefault = 0x0, + WICPersistOptionLittleEndian = 0x0, + WICPersistOptionBigEndian = 0x1, + WICPersistOptionStrictFormat = 0x2, + WICPersistOptionNoCacheStream = 0x4, + WICPersistOptionPreferUTF8 = 0x8, + WICPersistOptionMask = 0xffff +} WICPersistOptions; +typedef enum WICMetadataCreationOptions { + WICMetadataCreationDefault = 0x0, + WICMetadataCreationAllowUnknown = WICMetadataCreationDefault, + WICMetadataCreationFailUnknown = 0x10000, + WICMetadataCreationMask = 0xffff0000 +} WICMetadataCreationOptions; +DEFINE_GUID(GUID_MetadataFormatUnknown, 0xa45e592f,0x9078,0x4a7c,0xad,0xb5,0x4e,0xdc,0x4f,0xd6,0x1b,0x1f); +DEFINE_GUID(GUID_MetadataFormatChunkcHRM, 0x9db3655b,0x2842,0x44b3,0x80,0x67,0x12,0xe9,0xb3,0x75,0x55,0x6a); +DEFINE_GUID(GUID_MetadataFormatChunkgAMA, 0xf00935a5,0x1d5d,0x4cd1,0x81,0xb2,0x93,0x24,0xd7,0xec,0xa7,0x81); +DEFINE_GUID(GUID_MetadataFormatChunktEXt, 0x568d8936,0xc0a9,0x4923,0x90,0x5d,0xdf,0x2b,0x38,0x23,0x8f,0xbc); +DEFINE_GUID(GUID_MetadataFormatChunktIME, 0x6b00ae2d,0xe24b,0x460a,0x98,0xb6,0x87,0x8b,0xd0,0x30,0x72,0xfd); +DEFINE_GUID(GUID_MetadataFormatIfd, 0x537396c6,0x2d8a,0x4bb6,0x9b,0xf8,0x2f,0x0a,0x8e,0x2a,0x3a,0xdf); +DEFINE_GUID(GUID_MetadataFormatExif, 0x1c3c4f9d,0xb84a,0x467d,0x94,0x93,0x36,0xcf,0xbd,0x59,0xea,0x57); +DEFINE_GUID(GUID_MetadataFormatXMP, 0xbb5acc38,0xf216,0x4cec,0xa6,0xc5,0x5f,0x6e,0x73,0x97,0x63,0xa9); +DEFINE_GUID(GUID_MetadataFormatXMPStruct, 0x22383cf1,0xed17,0x4e2e,0xaf,0x17,0xd8,0x5b,0x8f,0x6b,0x30,0xd0); +DEFINE_GUID(GUID_MetadataFormatIMD, 0xbd2bb086,0x4d52,0x48dd,0x96,0x77,0xdb,0x48,0x3e,0x85,0xae,0x8f); +DEFINE_GUID(GUID_MetadataFormatLSD, 0xe256031e,0x6299,0x4929,0xb9,0x8d,0x5a,0xc8,0x84,0xaf,0xba,0x92); +DEFINE_GUID(GUID_MetadataFormatGCE, 0x2a25cad8,0xdeeb,0x4c69,0xa7,0x88,0x0e,0xc2,0x26,0x6d,0xca,0xfd); +DEFINE_GUID(GUID_MetadataFormatAPE, 0x2e043dc2,0xc967,0x4e05,0x87,0x5e,0x61,0x8b,0xf6,0x7e,0x85,0xc3); +DEFINE_GUID(GUID_MetadataFormatGifComment, 0xc4b6e0e0,0xcfb4,0x4ad3,0xab,0x33,0x9a,0xad,0x23,0x55,0xa3,0x4a); +DEFINE_GUID(GUID_MetadataFormatSubIfd, 0x58a2e128,0x2db9,0x4e57,0xbb,0x14,0x51,0x77,0x89,0x1e,0xd3,0x31); +DEFINE_GUID(GUID_MetadataFormatGps, 0x7134ab8a,0x9351,0x44ad,0xaf,0x62,0x44,0x8d,0xb6,0xb5,0x02,0xec); +DEFINE_GUID(GUID_MetadataFormatInterop, 0xed686f8e,0x681f,0x4c8b,0xbd,0x41,0xa8,0xad,0xdb,0xf6,0xb3,0xfc); +DEFINE_GUID(GUID_MetadataFormatApp0, 0x79007028,0x268d,0x45d6,0xa3,0xc2,0x35,0x4e,0x6a,0x50,0x4b,0xc9); +DEFINE_GUID(GUID_MetadataFormatApp1, 0x8fd3dfc3,0xf951,0x492b,0x81,0x7f,0x69,0xc2,0xe6,0xd9,0xa5,0xb0); +DEFINE_GUID(GUID_MetadataFormatApp13, 0x326556a2,0xf502,0x4354,0x9c,0xc0,0x8e,0x3f,0x48,0xea,0xf6,0xb5); +DEFINE_GUID(GUID_MetadataFormatIPTC, 0x4fab0914,0xe129,0x4087,0xa1,0xd1,0xbc,0x81,0x2d,0x45,0xa7,0xb5); +DEFINE_GUID(GUID_MetadataFormatIRB, 0x16100d66,0x8570,0x4bb9,0xb9,0x2d,0xfd,0xa4,0xb2,0x3e,0xce,0x67); +DEFINE_GUID(GUID_MetadataFormat8BIMIPTC, 0x0010568c,0x0852,0x4e6a,0xb1,0x91,0x5c,0x33,0xac,0x5b,0x04,0x30); +DEFINE_GUID(GUID_MetadataFormat8BIMResolutionInfo, 0x739f305d,0x81db,0x43cb,0xac,0x5e,0x55,0x01,0x3e,0xf9,0xf0,0x03); +DEFINE_GUID(GUID_MetadataFormat8BIMIPTCDigest, 0x1ca32285,0x9ccd,0x4786,0x8b,0xd8,0x79,0x53,0x9d,0xb6,0xa0,0x06); +DEFINE_GUID(GUID_MetadataFormatThumbnail, 0x243dcee9,0x8703,0x40ee,0x8e,0xf0,0x22,0xa6,0x0,0xb8,0x5,0x8c); +DEFINE_GUID(GUID_MetadataFormatXMPBag, 0x833cca5f,0xdcb7,0x4516,0x80,0x6f,0x65,0x96,0xab,0x26,0xdc,0xe4); +DEFINE_GUID(GUID_MetadataFormatXMPSeq, 0x63e8df02,0xeb6c,0x456c,0xa2,0x24,0xb2,0x5e,0x79,0x4f,0xd6,0x48); +DEFINE_GUID(GUID_MetadataFormatXMPAlt, 0x7b08a675,0x91aa,0x481b,0xa7,0x98,0x4d,0xa9,0x49,0x08,0x61,0x3b); +DEFINE_GUID(GUID_MetadataFormatJpegChrominance, 0xf73d0dcf,0xcec6,0x4f85,0x9b,0x0e,0x1c,0x39,0x56,0xb1,0xbe,0xf7); +DEFINE_GUID(GUID_MetadataFormatJpegLuminance, 0x86908007,0xedfc,0x4860,0x8d,0x4b,0x4e,0xe6,0xe8,0x3e,0x60,0x58); +DEFINE_GUID(GUID_MetadataFormatJpegComment, 0x220e5f33,0xafd3,0x474e,0x9d,0x31,0x7d,0x4f,0xe7,0x30,0xf5,0x57); +DEFINE_GUID(GUID_MetadataFormatChunkbKGD, 0xe14d3571,0x6b47,0x4dea,0xb6,0xa,0x87,0xce,0xa,0x78,0xdf,0xb7); +DEFINE_GUID(GUID_MetadataFormatChunkiTXt, 0xc2bec729,0xb68,0x4b77,0xaa,0xe,0x62,0x95,0xa6,0xac,0x18,0x14); +DEFINE_GUID(GUID_MetadataFormatChunkhIST, 0xc59a82da,0xdb74,0x48a4,0xbd,0x6a,0xb6,0x9c,0x49,0x31,0xef,0x95); +DEFINE_GUID(GUID_MetadataFormatChunkiCCP, 0xeb4349ab,0xb685,0x450f,0x91,0xb5,0xe8,0x2,0xe8,0x92,0x53,0x6c); +DEFINE_GUID(GUID_MetadataFormatChunksRGB, 0xc115fd36,0xcc6f,0x4e3f,0x83,0x63,0x52,0x4b,0x87,0xc6,0xb0,0xd9); +DEFINE_GUID(GUID_MetadataFormatDds, 0x4a064603,0x8c33,0x4e60,0x9c,0x29,0x13,0x62,0x31,0x70,0x2d,0x08); +DEFINE_GUID(GUID_MetadataFormatHeif, 0x817ef3e1,0x1288,0x45f4,0xa8,0x52,0x26,0x0d,0x9e,0x7c,0xce,0x83); +DEFINE_GUID(GUID_MetadataFormatHeifHDR, 0x568b8d8a,0x1e65,0x438c,0x89,0x68,0xd6,0x0e,0x10,0x12,0xbe,0xb9); +DEFINE_GUID(GUID_MetadataFormatWebpANIM, 0x6dc4fda6,0x78e6,0x4102,0xae,0x35,0xbc,0xfa,0x1e,0xdc,0xc7,0x8b); +DEFINE_GUID(GUID_MetadataFormatWebpANMF, 0x43c105ee,0xb93b,0x4abb,0xb0,0x03,0xa0,0x8c,0x0d,0x87,0x04,0x71); +DEFINE_GUID(CLSID_WICUnknownMetadataReader, 0x699745c2,0x5066,0x4b82,0xa8,0xe3,0xd4,0x04,0x78,0xdb,0xec,0x8c); +DEFINE_GUID(CLSID_WICUnknownMetadataWriter, 0xa09cca86,0x27ba,0x4f39,0x90,0x53,0x12,0x1f,0xa4,0xdc,0x08,0xfc); +DEFINE_GUID(CLSID_WICPngBkgdMetadataReader, 0x0ce7a4a6,0x03e8,0x4a60,0x9d,0x15,0x28,0x2e,0xf3,0x2e,0xe7,0xda); +DEFINE_GUID(CLSID_WICPngBkgdMetadataWriter, 0x68e3f2fd,0x31ae,0x4441,0xbb,0x6a,0xfd,0x70,0x47,0x52,0x5f,0x90); +DEFINE_GUID(CLSID_WICPngChrmMetadataReader, 0xf90b5f36,0x367b,0x402a,0x9d,0xd1,0xbc,0x0f,0xd5,0x9d,0x8f,0x62); +DEFINE_GUID(CLSID_WICPngChrmMetadataWriter, 0xe23ce3eb,0x5608,0x4e83,0xbc,0xef,0x27,0xb1,0x98,0x7e,0x51,0xd7); +DEFINE_GUID(CLSID_WICPngGamaMetadataReader, 0x3692ca39,0xe082,0x4350,0x9e,0x1f,0x37,0x04,0xcb,0x08,0x3c,0xd5); +DEFINE_GUID(CLSID_WICPngGamaMetadataWriter, 0xff036d13,0x5d4b,0x46dd,0xb1,0x0f,0x10,0x66,0x93,0xd9,0xfe,0x4f); +DEFINE_GUID(CLSID_WICPngHistMetadataReader, 0x877a0bb7,0xa313,0x4491,0x87,0xb5,0x2e,0x6d,0x05,0x94,0xf5,0x20); +DEFINE_GUID(CLSID_WICPngHistMetadataWriter, 0x8a03e749,0x672e,0x446e,0xbf,0x1f,0x2c,0x11,0xd2,0x33,0xb6,0xff); +DEFINE_GUID(CLSID_WICPngIccpMetadataReader, 0xf5d3e63b,0xcb0f,0x4628,0xa4,0x78,0x6d,0x82,0x44,0xbe,0x36,0xb1); +DEFINE_GUID(CLSID_WICPngIccpMetadataWriter, 0x16671e5f,0x0ce6,0x4cc4,0x97,0x68,0xe8,0x9f,0xe5,0x01,0x8a,0xde); +DEFINE_GUID(CLSID_WICPngItxtMetadataReader, 0xaabfb2fa,0x3e1e,0x4a8f,0x89,0x77,0x55,0x56,0xfb,0x94,0xea,0x23); +DEFINE_GUID(CLSID_WICPngItxtMetadataWriter, 0x31879719,0xe751,0x4df8,0x98,0x1d,0x68,0xdf,0xf6,0x77,0x04,0xed); +DEFINE_GUID(CLSID_WICPngSrgbMetadataReader, 0xfb40360c,0x547e,0x4956,0xa3,0xb9,0xd4,0x41,0x88,0x59,0xba,0x66); +DEFINE_GUID(CLSID_WICPngSrgbMetadataWriter, 0xa6ee35c6,0x87ec,0x47df,0x9f,0x22,0x1d,0x5a,0xad,0x84,0x0c,0x82); +DEFINE_GUID(CLSID_WICPngTextMetadataReader, 0x4b59afcc,0xb8c3,0x408a,0xb6,0x70,0x89,0xe5,0xfa,0xb6,0xfd,0xa7); +DEFINE_GUID(CLSID_WICPngTextMetadataWriter, 0xb5ebafb9,0x253e,0x4a72,0xa7,0x44,0x07,0x62,0xd2,0x68,0x56,0x83); +DEFINE_GUID(CLSID_WICPngTimeMetadataReader, 0xd94edf02,0xefe5,0x4f0d,0x85,0xc8,0xf5,0xa6,0x8b,0x30,0x00,0xb1); +DEFINE_GUID(CLSID_WICPngTimeMetadataWriter, 0x1ab78400,0xb5a3,0x4d91,0x8a,0xce,0x33,0xfc,0xd1,0x49,0x9b,0xe6); +DEFINE_GUID(CLSID_WICIfdMetadataReader, 0x8f914656,0x9d0a,0x4eb2,0x90,0x19,0x0b,0xf9,0x6d,0x8a,0x9e,0xe6); +DEFINE_GUID(CLSID_WICIfdMetadataWriter, 0xb1ebfc28,0xc9bd,0x47a2,0x8d,0x33,0xb9,0x48,0x76,0x97,0x77,0xa7); +DEFINE_GUID(CLSID_WICExifMetadataReader, 0xd9403860,0x297f,0x4a49,0xbf,0x9b,0x77,0x89,0x81,0x50,0xa4,0x42); +DEFINE_GUID(CLSID_WICExifMetadataWriter, 0xc9a14cda,0xc339,0x460b,0x90,0x78,0xd4,0xde,0xbc,0xfa,0xbe,0x91); +DEFINE_GUID(CLSID_WICXMPMetadataReader, 0x72b624df,0xae11,0x4948,0xa6,0x5c,0x35,0x1e,0xb0,0x82,0x94,0x19); +DEFINE_GUID(CLSID_WICXMPMetadataWriter, 0x1765e14e,0x1bd4,0x462e,0xb6,0xb1,0x59,0x0b,0xf1,0x26,0x2a,0xc6); +DEFINE_GUID(CLSID_WICXMPAltMetadataReader, 0xaa94dcc2,0xb8b0,0x4898,0xb8,0x35,0x00,0x0a,0xab,0xd7,0x43,0x93); +DEFINE_GUID(CLSID_WICXMPAltMetadataWriter, 0x076c2a6c,0xf78f,0x4c46,0xa7,0x23,0x35,0x83,0xe7,0x08,0x76,0xea); +DEFINE_GUID(CLSID_WICXMPBagMetadataReader, 0xe7e79a30,0x4f2c,0x4fab,0x8d,0x00,0x39,0x4f,0x2d,0x6b,0xbe,0xbe); +DEFINE_GUID(CLSID_WICXMPBagMetadataWriter, 0xed822c8c,0xd6be,0x4301,0xa6,0x31,0x0e,0x14,0x16,0xba,0xd2,0x8f); +DEFINE_GUID(CLSID_WICXMPSeqMetadataReader, 0x7f12e753,0xfc71,0x43d7,0xa5,0x1d,0x92,0xf3,0x59,0x77,0xab,0xb5); +DEFINE_GUID(CLSID_WICXMPSeqMetadataWriter, 0x6d68d1de,0xd432,0x4b0f,0x92,0x3a,0x09,0x11,0x83,0xa9,0xbd,0xa7); +DEFINE_GUID(CLSID_WICXMPStructMetadataReader, 0x01b90d9a,0x8209,0x47f7,0x9c,0x52,0xe1,0x24,0x4b,0xf5,0x0c,0xed); +DEFINE_GUID(CLSID_WICXMPStructMetadataWriter, 0x22c21f93,0x7ddb,0x411c,0x9b,0x17,0xc5,0xb7,0xbd,0x06,0x4a,0xbc); +DEFINE_GUID(CLSID_WICLSDMetadataReader, 0x41070793,0x59e4,0x479a,0xa1,0xf7,0x95,0x4a,0xdc,0x2e,0xf5,0xfc); +DEFINE_GUID(CLSID_WICLSDMetadataWriter, 0x73c037e7,0xe5d9,0x4954,0x87,0x6a,0x6d,0xa8,0x1d,0x6e,0x57,0x68); +DEFINE_GUID(CLSID_WICIMDMetadataReader, 0x7447a267,0x0015,0x42c8,0xa8,0xf1,0xfb,0x3b,0x94,0xc6,0x83,0x61); +DEFINE_GUID(CLSID_WICIMDMetadataWriter, 0x8c89071f,0x452e,0x4e95,0x96,0x82,0x9d,0x10,0x24,0x62,0x71,0x72); +DEFINE_GUID(CLSID_WICGCEMetadataReader, 0xb92e345d,0xf52d,0x41f3,0xb5,0x62,0x08,0x1b,0xc7,0x72,0xe3,0xb9); +DEFINE_GUID(CLSID_WICGCEMetadataWriter, 0xaf95dc76,0x16b2,0x47f4,0xb3,0xea,0x3c,0x31,0x79,0x66,0x93,0xe7); +DEFINE_GUID(CLSID_WICAPEMetadataReader, 0x1767b93a,0xb021,0x44ea,0x92,0x0f,0x86,0x3c,0x11,0xf4,0xf7,0x68); +DEFINE_GUID(CLSID_WICAPEMetadataWriter, 0xbd6edfca,0x2890,0x482f,0xb2,0x33,0x8d,0x73,0x39,0xa1,0xcf,0x8d); +DEFINE_GUID(CLSID_WICGifCommentMetadataReader, 0x32557d3b,0x69dc,0x4f95,0x83,0x6e,0xf5,0x97,0x2b,0x2f,0x61,0x59); +DEFINE_GUID(CLSID_WICGifCommentMetadataWriter, 0xa02797fc,0xc4ae,0x418c,0xaf,0x95,0xe6,0x37,0xc7,0xea,0xd2,0xa1); +DEFINE_GUID(CLSID_WICApp0MetadataWriter, 0xf3c633a2,0x46c8,0x498e,0x8f,0xbb,0xcc,0x6f,0x72,0x1b,0xbc,0xde); +DEFINE_GUID(CLSID_WICApp0MetadataReader, 0x43324b33,0xa78f,0x480f,0x91,0x11,0x96,0x38,0xaa,0xcc,0xc8,0x32); +DEFINE_GUID(CLSID_WICApp1MetadataWriter, 0xee366069,0x1832,0x420f,0xb3,0x81,0x04,0x79,0xad,0x06,0x6f,0x19); +DEFINE_GUID(CLSID_WICApp1MetadataReader, 0xdde33513,0x774e,0x4bcd,0xae,0x79,0x02,0xf4,0xad,0xfe,0x62,0xfc); +DEFINE_GUID(CLSID_WICApp13MetadataWriter, 0x7b19a919,0xa9d6,0x49e5,0xbd,0x45,0x02,0xc3,0x4e,0x4e,0x4c,0xd5); +DEFINE_GUID(CLSID_WICApp13MetadataReader, 0xaa7e3c50,0x864c,0x4604,0xbc,0x04,0x8b,0x0b,0x76,0xe6,0x37,0xf6); +DEFINE_GUID(CLSID_WICSubIfdMetadataReader, 0x50d42f09,0xecd1,0x4b41,0xb6,0x5d,0xda,0x1f,0xda,0xa7,0x56,0x63); +DEFINE_GUID(CLSID_WICSubIfdMetadataWriter, 0x8ade5386,0x8e9b,0x4f4c,0xac,0xf2,0xf0,0x00,0x87,0x06,0xb2,0x38); +DEFINE_GUID(CLSID_WICGpsMetadataReader, 0x3697790b,0x223b,0x484e,0x99,0x25,0xc4,0x86,0x92,0x18,0xf1,0x7a); +DEFINE_GUID(CLSID_WICGpsMetadataWriter, 0xcb8c13e4,0x62b5,0x4c96,0xa4,0x8b,0x6b,0xa6,0xac,0xe3,0x9c,0x76); +DEFINE_GUID(CLSID_WICInteropMetadataReader, 0xb5c8b898,0x0074,0x459f,0xb7,0x00,0x86,0x0d,0x46,0x51,0xea,0x14); +DEFINE_GUID(CLSID_WICInteropMetadataWriter, 0x122ec645,0xcd7e,0x44d8,0xb1,0x86,0x2c,0x8c,0x20,0xc3,0xb5,0x0f); +DEFINE_GUID(CLSID_WICThumbnailMetadataReader, 0xfb012959,0xf4f6,0x44d7,0x9d,0x09,0xda,0xa0,0x87,0xa9,0xdb,0x57); +DEFINE_GUID(CLSID_WICThumbnailMetadataWriter, 0xd049b20c,0x5dd0,0x44fe,0xb0,0xb3,0x8f,0x92,0xc8,0xe6,0xd0,0x80); +DEFINE_GUID(CLSID_WICIPTCMetadataReader, 0x03012959,0xf4f6,0x44d7,0x9d,0x09,0xda,0xa0,0x87,0xa9,0xdb,0x57); +DEFINE_GUID(CLSID_WICIPTCMetadataWriter, 0x1249b20c,0x5dd0,0x44fe,0xb0,0xb3,0x8f,0x92,0xc8,0xe6,0xd0,0x80); +DEFINE_GUID(CLSID_WICIRBMetadataReader, 0xd4dcd3d7,0xb4c2,0x47d9,0xa6,0xbf,0xb8,0x9b,0xa3,0x96,0xa4,0xa3); +DEFINE_GUID(CLSID_WICIRBMetadataWriter, 0x5c5c1935,0x0235,0x4434,0x80,0xbc,0x25,0x1b,0xc1,0xec,0x39,0xc6); +DEFINE_GUID(CLSID_WIC8BIMIPTCMetadataReader, 0x0010668c,0x0801,0x4da6,0xa4,0xa4,0x82,0x65,0x22,0xb6,0xd2,0x8f); +DEFINE_GUID(CLSID_WIC8BIMIPTCMetadataWriter, 0x00108226,0xee41,0x44a2,0x9e,0x9c,0x4b,0xe4,0xd5,0xb1,0xd2,0xcd); +DEFINE_GUID(CLSID_WIC8BIMIPTCDigestMetadataReader, 0x02805f1e,0xd5aa,0x415b,0x82,0xc5,0x61,0xc0,0x33,0xa9,0x88,0xa6); +DEFINE_GUID(CLSID_WIC8BIMIPTCDigestMetadataWriter, 0x2db5e62b,0x0d67,0x495f,0x8f,0x9d,0xc2,0xf0,0x18,0x86,0x47,0xac); +DEFINE_GUID(CLSID_WIC8BIMResolutionInfoMetadataReader, 0x5805137a,0xe348,0x4f7c,0xb3,0xcc,0x6d,0xb9,0x96,0x5a,0x05,0x99); +DEFINE_GUID(CLSID_WIC8BIMResolutionInfoMetadataWriter, 0x4ff2fe0e,0xe74a,0x4b71,0x98,0xc4,0xab,0x7d,0xc1,0x67,0x07,0xba); +DEFINE_GUID(CLSID_WICJpegChrominanceMetadataReader, 0x50b1904b,0xf28f,0x4574,0x93,0xf4,0x0b,0xad,0xe8,0x2c,0x69,0xe9); +DEFINE_GUID(CLSID_WICJpegChrominanceMetadataWriter, 0x3ff566f0,0x6e6b,0x49d4,0x96,0xe6,0xb7,0x88,0x86,0x69,0x2c,0x62); +DEFINE_GUID(CLSID_WICJpegCommentMetadataReader, 0x9f66347c,0x60c4,0x4c4d,0xab,0x58,0xd2,0x35,0x86,0x85,0xf6,0x07); +DEFINE_GUID(CLSID_WICJpegCommentMetadataWriter, 0xe573236f,0x55b1,0x4eda,0x81,0xea,0x9f,0x65,0xdb,0x02,0x90,0xd3); +DEFINE_GUID(CLSID_WICJpegLuminanceMetadataReader, 0x356f2f88,0x05a6,0x4728,0xb9,0xa4,0x1b,0xfb,0xce,0x04,0xd8,0x38); +DEFINE_GUID(CLSID_WICJpegLuminanceMetadataWriter, 0x1d583abc,0x8a0e,0x4657,0x99,0x82,0xa3,0x80,0xca,0x58,0xfb,0x4b); +DEFINE_GUID(CLSID_WICDdsMetadataReader, 0x276c88ca,0x7533,0x4a86,0xb6,0x76,0x66,0xb3,0x60,0x80,0xd4,0x84); +DEFINE_GUID(CLSID_WICDdsMetadataWriter, 0xfd688bbd,0x31ed,0x4db7,0xa7,0x23,0x93,0x49,0x27,0xd3,0x83,0x67); +DEFINE_GUID(CLSID_WICHeifMetadataReader, 0xacddfc3f,0x85ec,0x41bc,0xbd,0xef,0x1b,0xc2,0x62,0xe4,0xdb,0x05); +DEFINE_GUID(CLSID_WICHeifMetadataWriter, 0x3ae45e79,0x40bc,0x4401,0xac,0xe5,0xdd,0x3c,0xb1,0x6e,0x6a,0xfe); +DEFINE_GUID(CLSID_WICHeifHDRMetadataReader, 0x2438de3d,0x94d9,0x4be8,0x84,0xa8,0x4d,0xe9,0x5a,0x57,0x5e,0x75); +DEFINE_GUID(CLSID_WICWebpAnimMetadataReader, 0x076f9911,0xa348,0x465c,0xa8,0x07,0xa2,0x52,0xf3,0xf2,0xd3,0xde); +DEFINE_GUID(CLSID_WICWebpAnmfMetadataReader, 0x85a10b03,0xc9f6,0x439f,0xbe,0x5e,0xc0,0xfb,0xef,0x67,0x80,0x7c); +typedef struct WICMetadataPattern { + ULARGE_INTEGER Position; + ULONG Length; + BYTE *Pattern; + BYTE *Mask; + ULARGE_INTEGER DataOffset; +} WICMetadataPattern; +typedef struct WICMetadataHeader { + ULARGE_INTEGER Position; + ULONG Length; + BYTE *Header; + ULARGE_INTEGER DataOffset; +} WICMetadataHeader; +/***************************************************************************** + * IWICMetadataHandlerInfo interface + */ +#ifndef __IWICMetadataHandlerInfo_INTERFACE_DEFINED__ +#define __IWICMetadataHandlerInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataHandlerInfo, 0xaba958bf, 0xc672, 0x44d1, 0x8d,0x61, 0xce,0x6d,0xf2,0xe6,0x82,0xc2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aba958bf-c672-44d1-8d61-ce6df2e682c2") +IWICMetadataHandlerInfo : public IWICComponentInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetMetadataFormat( + GUID *pguidMetadataFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContainerFormats( + UINT cContainerFormats, + GUID *pguidContainerFormats, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer( + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceModels( + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesRequireFullStream( + WINBOOL *pfRequiresFullStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesSupportPadding( + WINBOOL *pfSupportsPadding) = 0; + + virtual HRESULT STDMETHODCALLTYPE DoesRequireFixedSize( + WINBOOL *pfFixedSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataHandlerInfo, 0xaba958bf, 0xc672, 0x44d1, 0x8d,0x61, 0xce,0x6d,0xf2,0xe6,0x82,0xc2) +#endif +#else +typedef struct IWICMetadataHandlerInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataHandlerInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataHandlerInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataHandlerInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICMetadataHandlerInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICMetadataHandlerInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICMetadataHandlerInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICMetadataHandlerInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICMetadataHandlerInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICMetadataHandlerInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICMetadataHandlerInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICMetadataHandlerInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICMetadataHandlerInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)( + IWICMetadataHandlerInfo *This, + GUID *pguidMetadataFormat); + + HRESULT (STDMETHODCALLTYPE *GetContainerFormats)( + IWICMetadataHandlerInfo *This, + UINT cContainerFormats, + GUID *pguidContainerFormats, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICMetadataHandlerInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICMetadataHandlerInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)( + IWICMetadataHandlerInfo *This, + WINBOOL *pfRequiresFullStream); + + HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)( + IWICMetadataHandlerInfo *This, + WINBOOL *pfSupportsPadding); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)( + IWICMetadataHandlerInfo *This, + WINBOOL *pfFixedSize); + + END_INTERFACE +} IWICMetadataHandlerInfoVtbl; + +interface IWICMetadataHandlerInfo { + CONST_VTBL IWICMetadataHandlerInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataHandlerInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataHandlerInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataHandlerInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICMetadataHandlerInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICMetadataHandlerInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICMetadataHandlerInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICMetadataHandlerInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICMetadataHandlerInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICMetadataHandlerInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICMetadataHandlerInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICMetadataHandlerInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICMetadataHandlerInfo methods ***/ +#define IWICMetadataHandlerInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat) +#define IWICMetadataHandlerInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) +#define IWICMetadataHandlerInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICMetadataHandlerInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICMetadataHandlerInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream) +#define IWICMetadataHandlerInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding) +#define IWICMetadataHandlerInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataHandlerInfo_QueryInterface(IWICMetadataHandlerInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataHandlerInfo_AddRef(IWICMetadataHandlerInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataHandlerInfo_Release(IWICMetadataHandlerInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICMetadataHandlerInfo_GetComponentType(IWICMetadataHandlerInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICMetadataHandlerInfo_GetCLSID(IWICMetadataHandlerInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICMetadataHandlerInfo_GetSigningStatus(IWICMetadataHandlerInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICMetadataHandlerInfo_GetAuthor(IWICMetadataHandlerInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_GetVendorGUID(IWICMetadataHandlerInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICMetadataHandlerInfo_GetVersion(IWICMetadataHandlerInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_GetSpecVersion(IWICMetadataHandlerInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_GetFriendlyName(IWICMetadataHandlerInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICMetadataHandlerInfo methods ***/ +static inline HRESULT IWICMetadataHandlerInfo_GetMetadataFormat(IWICMetadataHandlerInfo* This,GUID *pguidMetadataFormat) { + return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat); +} +static inline HRESULT IWICMetadataHandlerInfo_GetContainerFormats(IWICMetadataHandlerInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) { + return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_GetDeviceManufacturer(IWICMetadataHandlerInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_GetDeviceModels(IWICMetadataHandlerInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICMetadataHandlerInfo_DoesRequireFullStream(IWICMetadataHandlerInfo* This,WINBOOL *pfRequiresFullStream) { + return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream); +} +static inline HRESULT IWICMetadataHandlerInfo_DoesSupportPadding(IWICMetadataHandlerInfo* This,WINBOOL *pfSupportsPadding) { + return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding); +} +static inline HRESULT IWICMetadataHandlerInfo_DoesRequireFixedSize(IWICMetadataHandlerInfo* This,WINBOOL *pfFixedSize) { + return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataHandlerInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataReader interface + */ +#ifndef __IWICMetadataReader_INTERFACE_DEFINED__ +#define __IWICMetadataReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataReader, 0x9204fe99, 0xd8fc, 0x4fd5, 0xa0,0x01, 0x95,0x36,0xb0,0x67,0xa8,0x99); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9204fe99-d8fc-4fd5-a001-9536b067a899") +IWICMetadataReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMetadataFormat( + GUID *pguidMetadataFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataHandlerInfo( + IWICMetadataHandlerInfo **ppIHandler) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT *pcCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetValueByIndex( + UINT nIndex, + PROPVARIANT *pvarSchema, + PROPVARIANT *pvarId, + PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetValue( + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnumerator( + IWICEnumMetadataItem **ppIEnumMetadata) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataReader, 0x9204fe99, 0xd8fc, 0x4fd5, 0xa0,0x01, 0x95,0x36,0xb0,0x67,0xa8,0x99) +#endif +#else +typedef struct IWICMetadataReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataReader *This); + + /*** IWICMetadataReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)( + IWICMetadataReader *This, + GUID *pguidMetadataFormat); + + HRESULT (STDMETHODCALLTYPE *GetMetadataHandlerInfo)( + IWICMetadataReader *This, + IWICMetadataHandlerInfo **ppIHandler); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IWICMetadataReader *This, + UINT *pcCount); + + HRESULT (STDMETHODCALLTYPE *GetValueByIndex)( + IWICMetadataReader *This, + UINT nIndex, + PROPVARIANT *pvarSchema, + PROPVARIANT *pvarId, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetValue)( + IWICMetadataReader *This, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataReader *This, + IWICEnumMetadataItem **ppIEnumMetadata); + + END_INTERFACE +} IWICMetadataReaderVtbl; + +interface IWICMetadataReader { + CONST_VTBL IWICMetadataReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataReader methods ***/ +#define IWICMetadataReader_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat) +#define IWICMetadataReader_GetMetadataHandlerInfo(This,ppIHandler) (This)->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler) +#define IWICMetadataReader_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount) +#define IWICMetadataReader_GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) +#define IWICMetadataReader_GetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue) +#define IWICMetadataReader_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataReader_QueryInterface(IWICMetadataReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataReader_AddRef(IWICMetadataReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataReader_Release(IWICMetadataReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataReader methods ***/ +static inline HRESULT IWICMetadataReader_GetMetadataFormat(IWICMetadataReader* This,GUID *pguidMetadataFormat) { + return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat); +} +static inline HRESULT IWICMetadataReader_GetMetadataHandlerInfo(IWICMetadataReader* This,IWICMetadataHandlerInfo **ppIHandler) { + return This->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler); +} +static inline HRESULT IWICMetadataReader_GetCount(IWICMetadataReader* This,UINT *pcCount) { + return This->lpVtbl->GetCount(This,pcCount); +} +static inline HRESULT IWICMetadataReader_GetValueByIndex(IWICMetadataReader* This,UINT nIndex,PROPVARIANT *pvarSchema,PROPVARIANT *pvarId,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataReader_GetValue(IWICMetadataReader* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataReader_GetEnumerator(IWICMetadataReader* This,IWICEnumMetadataItem **ppIEnumMetadata) { + return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataReaderInfo interface + */ +#ifndef __IWICMetadataReaderInfo_INTERFACE_DEFINED__ +#define __IWICMetadataReaderInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataReaderInfo, 0xeebf1f5b, 0x07c1, 0x4447, 0xa3,0xab, 0x22,0xac,0xaf,0x78,0xa8,0x04); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eebf1f5b-07c1-4447-a3ab-22acaf78a804") +IWICMetadataReaderInfo : public IWICMetadataHandlerInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetPatterns( + REFGUID guidContainerFormat, + UINT cbSize, + WICMetadataPattern *pPattern, + UINT *pcCount, + UINT *pcbActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchesPattern( + REFGUID guidContainerFormat, + IStream *pIStream, + WINBOOL *pfMatches) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IWICMetadataReader **ppIReader) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataReaderInfo, 0xeebf1f5b, 0x07c1, 0x4447, 0xa3,0xab, 0x22,0xac,0xaf,0x78,0xa8,0x04) +#endif +#else +typedef struct IWICMetadataReaderInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataReaderInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataReaderInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataReaderInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICMetadataReaderInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICMetadataReaderInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICMetadataReaderInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICMetadataReaderInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICMetadataReaderInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICMetadataReaderInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICMetadataReaderInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICMetadataReaderInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICMetadataHandlerInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)( + IWICMetadataReaderInfo *This, + GUID *pguidMetadataFormat); + + HRESULT (STDMETHODCALLTYPE *GetContainerFormats)( + IWICMetadataReaderInfo *This, + UINT cContainerFormats, + GUID *pguidContainerFormats, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICMetadataReaderInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICMetadataReaderInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)( + IWICMetadataReaderInfo *This, + WINBOOL *pfRequiresFullStream); + + HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)( + IWICMetadataReaderInfo *This, + WINBOOL *pfSupportsPadding); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)( + IWICMetadataReaderInfo *This, + WINBOOL *pfFixedSize); + + /*** IWICMetadataReaderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPatterns)( + IWICMetadataReaderInfo *This, + REFGUID guidContainerFormat, + UINT cbSize, + WICMetadataPattern *pPattern, + UINT *pcCount, + UINT *pcbActual); + + HRESULT (STDMETHODCALLTYPE *MatchesPattern)( + IWICMetadataReaderInfo *This, + REFGUID guidContainerFormat, + IStream *pIStream, + WINBOOL *pfMatches); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IWICMetadataReaderInfo *This, + IWICMetadataReader **ppIReader); + + END_INTERFACE +} IWICMetadataReaderInfoVtbl; + +interface IWICMetadataReaderInfo { + CONST_VTBL IWICMetadataReaderInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataReaderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataReaderInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataReaderInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICMetadataReaderInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICMetadataReaderInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICMetadataReaderInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICMetadataReaderInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICMetadataReaderInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICMetadataReaderInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICMetadataReaderInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICMetadataReaderInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICMetadataHandlerInfo methods ***/ +#define IWICMetadataReaderInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat) +#define IWICMetadataReaderInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) +#define IWICMetadataReaderInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICMetadataReaderInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICMetadataReaderInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream) +#define IWICMetadataReaderInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding) +#define IWICMetadataReaderInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize) +/*** IWICMetadataReaderInfo methods ***/ +#define IWICMetadataReaderInfo_GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual) (This)->lpVtbl->GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual) +#define IWICMetadataReaderInfo_MatchesPattern(This,guidContainerFormat,pIStream,pfMatches) (This)->lpVtbl->MatchesPattern(This,guidContainerFormat,pIStream,pfMatches) +#define IWICMetadataReaderInfo_CreateInstance(This,ppIReader) (This)->lpVtbl->CreateInstance(This,ppIReader) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataReaderInfo_QueryInterface(IWICMetadataReaderInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataReaderInfo_AddRef(IWICMetadataReaderInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataReaderInfo_Release(IWICMetadataReaderInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICMetadataReaderInfo_GetComponentType(IWICMetadataReaderInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICMetadataReaderInfo_GetCLSID(IWICMetadataReaderInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICMetadataReaderInfo_GetSigningStatus(IWICMetadataReaderInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICMetadataReaderInfo_GetAuthor(IWICMetadataReaderInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_GetVendorGUID(IWICMetadataReaderInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICMetadataReaderInfo_GetVersion(IWICMetadataReaderInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_GetSpecVersion(IWICMetadataReaderInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_GetFriendlyName(IWICMetadataReaderInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICMetadataHandlerInfo methods ***/ +static inline HRESULT IWICMetadataReaderInfo_GetMetadataFormat(IWICMetadataReaderInfo* This,GUID *pguidMetadataFormat) { + return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat); +} +static inline HRESULT IWICMetadataReaderInfo_GetContainerFormats(IWICMetadataReaderInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) { + return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_GetDeviceManufacturer(IWICMetadataReaderInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_GetDeviceModels(IWICMetadataReaderInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICMetadataReaderInfo_DoesRequireFullStream(IWICMetadataReaderInfo* This,WINBOOL *pfRequiresFullStream) { + return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream); +} +static inline HRESULT IWICMetadataReaderInfo_DoesSupportPadding(IWICMetadataReaderInfo* This,WINBOOL *pfSupportsPadding) { + return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding); +} +static inline HRESULT IWICMetadataReaderInfo_DoesRequireFixedSize(IWICMetadataReaderInfo* This,WINBOOL *pfFixedSize) { + return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize); +} +/*** IWICMetadataReaderInfo methods ***/ +static inline HRESULT IWICMetadataReaderInfo_GetPatterns(IWICMetadataReaderInfo* This,REFGUID guidContainerFormat,UINT cbSize,WICMetadataPattern *pPattern,UINT *pcCount,UINT *pcbActual) { + return This->lpVtbl->GetPatterns(This,guidContainerFormat,cbSize,pPattern,pcCount,pcbActual); +} +static inline HRESULT IWICMetadataReaderInfo_MatchesPattern(IWICMetadataReaderInfo* This,REFGUID guidContainerFormat,IStream *pIStream,WINBOOL *pfMatches) { + return This->lpVtbl->MatchesPattern(This,guidContainerFormat,pIStream,pfMatches); +} +static inline HRESULT IWICMetadataReaderInfo_CreateInstance(IWICMetadataReaderInfo* This,IWICMetadataReader **ppIReader) { + return This->lpVtbl->CreateInstance(This,ppIReader); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataReaderInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataWriter interface + */ +#ifndef __IWICMetadataWriter_INTERFACE_DEFINED__ +#define __IWICMetadataWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataWriter, 0xf7836e16, 0x3be0, 0x470b, 0x86,0xbb, 0x16,0x0d,0x0a,0xec,0xd7,0xde); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f7836e16-3be0-470b-86bb-160d0aecd7de") +IWICMetadataWriter : public IWICMetadataReader +{ + virtual HRESULT STDMETHODCALLTYPE SetValue( + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + const PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetValueByIndex( + UINT nIndex, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + const PROPVARIANT *pvarValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveValue( + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveValueByIndex( + UINT nIndex) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataWriter, 0xf7836e16, 0x3be0, 0x470b, 0x86,0xbb, 0x16,0x0d,0x0a,0xec,0xd7,0xde) +#endif +#else +typedef struct IWICMetadataWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataWriter *This); + + /*** IWICMetadataReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)( + IWICMetadataWriter *This, + GUID *pguidMetadataFormat); + + HRESULT (STDMETHODCALLTYPE *GetMetadataHandlerInfo)( + IWICMetadataWriter *This, + IWICMetadataHandlerInfo **ppIHandler); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IWICMetadataWriter *This, + UINT *pcCount); + + HRESULT (STDMETHODCALLTYPE *GetValueByIndex)( + IWICMetadataWriter *This, + UINT nIndex, + PROPVARIANT *pvarSchema, + PROPVARIANT *pvarId, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetValue)( + IWICMetadataWriter *This, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataWriter *This, + IWICEnumMetadataItem **ppIEnumMetadata); + + /*** IWICMetadataWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *SetValue)( + IWICMetadataWriter *This, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + const PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *SetValueByIndex)( + IWICMetadataWriter *This, + UINT nIndex, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId, + const PROPVARIANT *pvarValue); + + HRESULT (STDMETHODCALLTYPE *RemoveValue)( + IWICMetadataWriter *This, + const PROPVARIANT *pvarSchema, + const PROPVARIANT *pvarId); + + HRESULT (STDMETHODCALLTYPE *RemoveValueByIndex)( + IWICMetadataWriter *This, + UINT nIndex); + + END_INTERFACE +} IWICMetadataWriterVtbl; + +interface IWICMetadataWriter { + CONST_VTBL IWICMetadataWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataReader methods ***/ +#define IWICMetadataWriter_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat) +#define IWICMetadataWriter_GetMetadataHandlerInfo(This,ppIHandler) (This)->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler) +#define IWICMetadataWriter_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount) +#define IWICMetadataWriter_GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) +#define IWICMetadataWriter_GetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue) +#define IWICMetadataWriter_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata) +/*** IWICMetadataWriter methods ***/ +#define IWICMetadataWriter_SetValue(This,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->SetValue(This,pvarSchema,pvarId,pvarValue) +#define IWICMetadataWriter_SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) (This)->lpVtbl->SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue) +#define IWICMetadataWriter_RemoveValue(This,pvarSchema,pvarId) (This)->lpVtbl->RemoveValue(This,pvarSchema,pvarId) +#define IWICMetadataWriter_RemoveValueByIndex(This,nIndex) (This)->lpVtbl->RemoveValueByIndex(This,nIndex) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataWriter_QueryInterface(IWICMetadataWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataWriter_AddRef(IWICMetadataWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataWriter_Release(IWICMetadataWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataReader methods ***/ +static inline HRESULT IWICMetadataWriter_GetMetadataFormat(IWICMetadataWriter* This,GUID *pguidMetadataFormat) { + return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat); +} +static inline HRESULT IWICMetadataWriter_GetMetadataHandlerInfo(IWICMetadataWriter* This,IWICMetadataHandlerInfo **ppIHandler) { + return This->lpVtbl->GetMetadataHandlerInfo(This,ppIHandler); +} +static inline HRESULT IWICMetadataWriter_GetCount(IWICMetadataWriter* This,UINT *pcCount) { + return This->lpVtbl->GetCount(This,pcCount); +} +static inline HRESULT IWICMetadataWriter_GetValueByIndex(IWICMetadataWriter* This,UINT nIndex,PROPVARIANT *pvarSchema,PROPVARIANT *pvarId,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataWriter_GetValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,PROPVARIANT *pvarValue) { + return This->lpVtbl->GetValue(This,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataWriter_GetEnumerator(IWICMetadataWriter* This,IWICEnumMetadataItem **ppIEnumMetadata) { + return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata); +} +/*** IWICMetadataWriter methods ***/ +static inline HRESULT IWICMetadataWriter_SetValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,const PROPVARIANT *pvarValue) { + return This->lpVtbl->SetValue(This,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataWriter_SetValueByIndex(IWICMetadataWriter* This,UINT nIndex,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId,const PROPVARIANT *pvarValue) { + return This->lpVtbl->SetValueByIndex(This,nIndex,pvarSchema,pvarId,pvarValue); +} +static inline HRESULT IWICMetadataWriter_RemoveValue(IWICMetadataWriter* This,const PROPVARIANT *pvarSchema,const PROPVARIANT *pvarId) { + return This->lpVtbl->RemoveValue(This,pvarSchema,pvarId); +} +static inline HRESULT IWICMetadataWriter_RemoveValueByIndex(IWICMetadataWriter* This,UINT nIndex) { + return This->lpVtbl->RemoveValueByIndex(This,nIndex); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataWriter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataWriterInfo interface + */ +#ifndef __IWICMetadataWriterInfo_INTERFACE_DEFINED__ +#define __IWICMetadataWriterInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataWriterInfo, 0xb22e3fba, 0x3925, 0x4323, 0xb5,0xc1, 0x9e,0xbf,0xc4,0x30,0xf2,0x36); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b22e3fba-3925-4323-b5c1-9ebfc430f236") +IWICMetadataWriterInfo : public IWICMetadataHandlerInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetHeader( + REFGUID guidContainerFormat, + UINT cbSize, + WICMetadataHeader *pHeader, + UINT *pcbActual) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + IWICMetadataWriter **ppIWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataWriterInfo, 0xb22e3fba, 0x3925, 0x4323, 0xb5,0xc1, 0x9e,0xbf,0xc4,0x30,0xf2,0x36) +#endif +#else +typedef struct IWICMetadataWriterInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataWriterInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataWriterInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataWriterInfo *This); + + /*** IWICComponentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetComponentType)( + IWICMetadataWriterInfo *This, + WICComponentType *pType); + + HRESULT (STDMETHODCALLTYPE *GetCLSID)( + IWICMetadataWriterInfo *This, + CLSID *pclsid); + + HRESULT (STDMETHODCALLTYPE *GetSigningStatus)( + IWICMetadataWriterInfo *This, + DWORD *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetAuthor)( + IWICMetadataWriterInfo *This, + UINT cchAuthor, + WCHAR *wzAuthor, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetVendorGUID)( + IWICMetadataWriterInfo *This, + GUID *pguidVendor); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWICMetadataWriterInfo *This, + UINT cchVersion, + WCHAR *wzVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetSpecVersion)( + IWICMetadataWriterInfo *This, + UINT cchSpecVersion, + WCHAR *wzSpecVersion, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetFriendlyName)( + IWICMetadataWriterInfo *This, + UINT cchFriendlyName, + WCHAR *wzFriendlyName, + UINT *pcchActual); + + /*** IWICMetadataHandlerInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadataFormat)( + IWICMetadataWriterInfo *This, + GUID *pguidMetadataFormat); + + HRESULT (STDMETHODCALLTYPE *GetContainerFormats)( + IWICMetadataWriterInfo *This, + UINT cContainerFormats, + GUID *pguidContainerFormats, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)( + IWICMetadataWriterInfo *This, + UINT cchDeviceManufacturer, + WCHAR *wzDeviceManufacturer, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *GetDeviceModels)( + IWICMetadataWriterInfo *This, + UINT cchDeviceModels, + WCHAR *wzDeviceModels, + UINT *pcchActual); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFullStream)( + IWICMetadataWriterInfo *This, + WINBOOL *pfRequiresFullStream); + + HRESULT (STDMETHODCALLTYPE *DoesSupportPadding)( + IWICMetadataWriterInfo *This, + WINBOOL *pfSupportsPadding); + + HRESULT (STDMETHODCALLTYPE *DoesRequireFixedSize)( + IWICMetadataWriterInfo *This, + WINBOOL *pfFixedSize); + + /*** IWICMetadataWriterInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetHeader)( + IWICMetadataWriterInfo *This, + REFGUID guidContainerFormat, + UINT cbSize, + WICMetadataHeader *pHeader, + UINT *pcbActual); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IWICMetadataWriterInfo *This, + IWICMetadataWriter **ppIWriter); + + END_INTERFACE +} IWICMetadataWriterInfoVtbl; + +interface IWICMetadataWriterInfo { + CONST_VTBL IWICMetadataWriterInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataWriterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataWriterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataWriterInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWICComponentInfo methods ***/ +#define IWICMetadataWriterInfo_GetComponentType(This,pType) (This)->lpVtbl->GetComponentType(This,pType) +#define IWICMetadataWriterInfo_GetCLSID(This,pclsid) (This)->lpVtbl->GetCLSID(This,pclsid) +#define IWICMetadataWriterInfo_GetSigningStatus(This,pStatus) (This)->lpVtbl->GetSigningStatus(This,pStatus) +#define IWICMetadataWriterInfo_GetAuthor(This,cchAuthor,wzAuthor,pcchActual) (This)->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual) +#define IWICMetadataWriterInfo_GetVendorGUID(This,pguidVendor) (This)->lpVtbl->GetVendorGUID(This,pguidVendor) +#define IWICMetadataWriterInfo_GetVersion(This,cchVersion,wzVersion,pcchActual) (This)->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual) +#define IWICMetadataWriterInfo_GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) (This)->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual) +#define IWICMetadataWriterInfo_GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) (This)->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual) +/*** IWICMetadataHandlerInfo methods ***/ +#define IWICMetadataWriterInfo_GetMetadataFormat(This,pguidMetadataFormat) (This)->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat) +#define IWICMetadataWriterInfo_GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) (This)->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual) +#define IWICMetadataWriterInfo_GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) (This)->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual) +#define IWICMetadataWriterInfo_GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) (This)->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual) +#define IWICMetadataWriterInfo_DoesRequireFullStream(This,pfRequiresFullStream) (This)->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream) +#define IWICMetadataWriterInfo_DoesSupportPadding(This,pfSupportsPadding) (This)->lpVtbl->DoesSupportPadding(This,pfSupportsPadding) +#define IWICMetadataWriterInfo_DoesRequireFixedSize(This,pfFixedSize) (This)->lpVtbl->DoesRequireFixedSize(This,pfFixedSize) +/*** IWICMetadataWriterInfo methods ***/ +#define IWICMetadataWriterInfo_GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual) (This)->lpVtbl->GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual) +#define IWICMetadataWriterInfo_CreateInstance(This,ppIWriter) (This)->lpVtbl->CreateInstance(This,ppIWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataWriterInfo_QueryInterface(IWICMetadataWriterInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataWriterInfo_AddRef(IWICMetadataWriterInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataWriterInfo_Release(IWICMetadataWriterInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWICComponentInfo methods ***/ +static inline HRESULT IWICMetadataWriterInfo_GetComponentType(IWICMetadataWriterInfo* This,WICComponentType *pType) { + return This->lpVtbl->GetComponentType(This,pType); +} +static inline HRESULT IWICMetadataWriterInfo_GetCLSID(IWICMetadataWriterInfo* This,CLSID *pclsid) { + return This->lpVtbl->GetCLSID(This,pclsid); +} +static inline HRESULT IWICMetadataWriterInfo_GetSigningStatus(IWICMetadataWriterInfo* This,DWORD *pStatus) { + return This->lpVtbl->GetSigningStatus(This,pStatus); +} +static inline HRESULT IWICMetadataWriterInfo_GetAuthor(IWICMetadataWriterInfo* This,UINT cchAuthor,WCHAR *wzAuthor,UINT *pcchActual) { + return This->lpVtbl->GetAuthor(This,cchAuthor,wzAuthor,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_GetVendorGUID(IWICMetadataWriterInfo* This,GUID *pguidVendor) { + return This->lpVtbl->GetVendorGUID(This,pguidVendor); +} +static inline HRESULT IWICMetadataWriterInfo_GetVersion(IWICMetadataWriterInfo* This,UINT cchVersion,WCHAR *wzVersion,UINT *pcchActual) { + return This->lpVtbl->GetVersion(This,cchVersion,wzVersion,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_GetSpecVersion(IWICMetadataWriterInfo* This,UINT cchSpecVersion,WCHAR *wzSpecVersion,UINT *pcchActual) { + return This->lpVtbl->GetSpecVersion(This,cchSpecVersion,wzSpecVersion,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_GetFriendlyName(IWICMetadataWriterInfo* This,UINT cchFriendlyName,WCHAR *wzFriendlyName,UINT *pcchActual) { + return This->lpVtbl->GetFriendlyName(This,cchFriendlyName,wzFriendlyName,pcchActual); +} +/*** IWICMetadataHandlerInfo methods ***/ +static inline HRESULT IWICMetadataWriterInfo_GetMetadataFormat(IWICMetadataWriterInfo* This,GUID *pguidMetadataFormat) { + return This->lpVtbl->GetMetadataFormat(This,pguidMetadataFormat); +} +static inline HRESULT IWICMetadataWriterInfo_GetContainerFormats(IWICMetadataWriterInfo* This,UINT cContainerFormats,GUID *pguidContainerFormats,UINT *pcchActual) { + return This->lpVtbl->GetContainerFormats(This,cContainerFormats,pguidContainerFormats,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_GetDeviceManufacturer(IWICMetadataWriterInfo* This,UINT cchDeviceManufacturer,WCHAR *wzDeviceManufacturer,UINT *pcchActual) { + return This->lpVtbl->GetDeviceManufacturer(This,cchDeviceManufacturer,wzDeviceManufacturer,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_GetDeviceModels(IWICMetadataWriterInfo* This,UINT cchDeviceModels,WCHAR *wzDeviceModels,UINT *pcchActual) { + return This->lpVtbl->GetDeviceModels(This,cchDeviceModels,wzDeviceModels,pcchActual); +} +static inline HRESULT IWICMetadataWriterInfo_DoesRequireFullStream(IWICMetadataWriterInfo* This,WINBOOL *pfRequiresFullStream) { + return This->lpVtbl->DoesRequireFullStream(This,pfRequiresFullStream); +} +static inline HRESULT IWICMetadataWriterInfo_DoesSupportPadding(IWICMetadataWriterInfo* This,WINBOOL *pfSupportsPadding) { + return This->lpVtbl->DoesSupportPadding(This,pfSupportsPadding); +} +static inline HRESULT IWICMetadataWriterInfo_DoesRequireFixedSize(IWICMetadataWriterInfo* This,WINBOOL *pfFixedSize) { + return This->lpVtbl->DoesRequireFixedSize(This,pfFixedSize); +} +/*** IWICMetadataWriterInfo methods ***/ +static inline HRESULT IWICMetadataWriterInfo_GetHeader(IWICMetadataWriterInfo* This,REFGUID guidContainerFormat,UINT cbSize,WICMetadataHeader *pHeader,UINT *pcbActual) { + return This->lpVtbl->GetHeader(This,guidContainerFormat,cbSize,pHeader,pcbActual); +} +static inline HRESULT IWICMetadataWriterInfo_CreateInstance(IWICMetadataWriterInfo* This,IWICMetadataWriter **ppIWriter) { + return This->lpVtbl->CreateInstance(This,ppIWriter); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataWriterInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataBlockReader interface + */ +#ifndef __IWICMetadataBlockReader_INTERFACE_DEFINED__ +#define __IWICMetadataBlockReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataBlockReader, 0xfeaa2a8d, 0xb3f3, 0x43e4, 0xb2,0x5c, 0xd1,0xde,0x99,0x0a,0x1a,0xe1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("feaa2a8d-b3f3-43e4-b25c-d1de990a1ae1") +IWICMetadataBlockReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetContainerFormat( + GUID *pguidContainerFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT *pcCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReaderByIndex( + UINT nIndex, + IWICMetadataReader **ppIMetadataReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnumerator( + IEnumUnknown **ppIEnumMetadata) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataBlockReader, 0xfeaa2a8d, 0xb3f3, 0x43e4, 0xb2,0x5c, 0xd1,0xde,0x99,0x0a,0x1a,0xe1) +#endif +#else +typedef struct IWICMetadataBlockReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataBlockReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataBlockReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataBlockReader *This); + + /*** IWICMetadataBlockReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICMetadataBlockReader *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IWICMetadataBlockReader *This, + UINT *pcCount); + + HRESULT (STDMETHODCALLTYPE *GetReaderByIndex)( + IWICMetadataBlockReader *This, + UINT nIndex, + IWICMetadataReader **ppIMetadataReader); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataBlockReader *This, + IEnumUnknown **ppIEnumMetadata); + + END_INTERFACE +} IWICMetadataBlockReaderVtbl; + +interface IWICMetadataBlockReader { + CONST_VTBL IWICMetadataBlockReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataBlockReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataBlockReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataBlockReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataBlockReader methods ***/ +#define IWICMetadataBlockReader_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICMetadataBlockReader_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount) +#define IWICMetadataBlockReader_GetReaderByIndex(This,nIndex,ppIMetadataReader) (This)->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader) +#define IWICMetadataBlockReader_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataBlockReader_QueryInterface(IWICMetadataBlockReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataBlockReader_AddRef(IWICMetadataBlockReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataBlockReader_Release(IWICMetadataBlockReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataBlockReader methods ***/ +static inline HRESULT IWICMetadataBlockReader_GetContainerFormat(IWICMetadataBlockReader* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICMetadataBlockReader_GetCount(IWICMetadataBlockReader* This,UINT *pcCount) { + return This->lpVtbl->GetCount(This,pcCount); +} +static inline HRESULT IWICMetadataBlockReader_GetReaderByIndex(IWICMetadataBlockReader* This,UINT nIndex,IWICMetadataReader **ppIMetadataReader) { + return This->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader); +} +static inline HRESULT IWICMetadataBlockReader_GetEnumerator(IWICMetadataBlockReader* This,IEnumUnknown **ppIEnumMetadata) { + return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataBlockReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICMetadataBlockWriter interface + */ +#ifndef __IWICMetadataBlockWriter_INTERFACE_DEFINED__ +#define __IWICMetadataBlockWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICMetadataBlockWriter, 0x08fb9676, 0xb444, 0x41e8, 0x8d,0xbe, 0x6a,0x53,0xa5,0x42,0xbf,0xf1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("08fb9676-b444-41e8-8dbe-6a53a542bff1") +IWICMetadataBlockWriter : public IWICMetadataBlockReader +{ + virtual HRESULT STDMETHODCALLTYPE InitializeFromBlockReader( + IWICMetadataBlockReader *pIMDBlockReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterByIndex( + UINT nIndex, + IWICMetadataWriter **ppIMetadataWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddWriter( + IWICMetadataWriter *pIMetadataWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWriterByIndex( + UINT nIndex, + IWICMetadataWriter *pIMetadataWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveWriterByIndex( + UINT nIndex) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICMetadataBlockWriter, 0x08fb9676, 0xb444, 0x41e8, 0x8d,0xbe, 0x6a,0x53,0xa5,0x42,0xbf,0xf1) +#endif +#else +typedef struct IWICMetadataBlockWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICMetadataBlockWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICMetadataBlockWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICMetadataBlockWriter *This); + + /*** IWICMetadataBlockReader methods ***/ + HRESULT (STDMETHODCALLTYPE *GetContainerFormat)( + IWICMetadataBlockWriter *This, + GUID *pguidContainerFormat); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IWICMetadataBlockWriter *This, + UINT *pcCount); + + HRESULT (STDMETHODCALLTYPE *GetReaderByIndex)( + IWICMetadataBlockWriter *This, + UINT nIndex, + IWICMetadataReader **ppIMetadataReader); + + HRESULT (STDMETHODCALLTYPE *GetEnumerator)( + IWICMetadataBlockWriter *This, + IEnumUnknown **ppIEnumMetadata); + + /*** IWICMetadataBlockWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *InitializeFromBlockReader)( + IWICMetadataBlockWriter *This, + IWICMetadataBlockReader *pIMDBlockReader); + + HRESULT (STDMETHODCALLTYPE *GetWriterByIndex)( + IWICMetadataBlockWriter *This, + UINT nIndex, + IWICMetadataWriter **ppIMetadataWriter); + + HRESULT (STDMETHODCALLTYPE *AddWriter)( + IWICMetadataBlockWriter *This, + IWICMetadataWriter *pIMetadataWriter); + + HRESULT (STDMETHODCALLTYPE *SetWriterByIndex)( + IWICMetadataBlockWriter *This, + UINT nIndex, + IWICMetadataWriter *pIMetadataWriter); + + HRESULT (STDMETHODCALLTYPE *RemoveWriterByIndex)( + IWICMetadataBlockWriter *This, + UINT nIndex); + + END_INTERFACE +} IWICMetadataBlockWriterVtbl; + +interface IWICMetadataBlockWriter { + CONST_VTBL IWICMetadataBlockWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICMetadataBlockWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICMetadataBlockWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICMetadataBlockWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IWICMetadataBlockReader methods ***/ +#define IWICMetadataBlockWriter_GetContainerFormat(This,pguidContainerFormat) (This)->lpVtbl->GetContainerFormat(This,pguidContainerFormat) +#define IWICMetadataBlockWriter_GetCount(This,pcCount) (This)->lpVtbl->GetCount(This,pcCount) +#define IWICMetadataBlockWriter_GetReaderByIndex(This,nIndex,ppIMetadataReader) (This)->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader) +#define IWICMetadataBlockWriter_GetEnumerator(This,ppIEnumMetadata) (This)->lpVtbl->GetEnumerator(This,ppIEnumMetadata) +/*** IWICMetadataBlockWriter methods ***/ +#define IWICMetadataBlockWriter_InitializeFromBlockReader(This,pIMDBlockReader) (This)->lpVtbl->InitializeFromBlockReader(This,pIMDBlockReader) +#define IWICMetadataBlockWriter_GetWriterByIndex(This,nIndex,ppIMetadataWriter) (This)->lpVtbl->GetWriterByIndex(This,nIndex,ppIMetadataWriter) +#define IWICMetadataBlockWriter_AddWriter(This,pIMetadataWriter) (This)->lpVtbl->AddWriter(This,pIMetadataWriter) +#define IWICMetadataBlockWriter_SetWriterByIndex(This,nIndex,pIMetadataWriter) (This)->lpVtbl->SetWriterByIndex(This,nIndex,pIMetadataWriter) +#define IWICMetadataBlockWriter_RemoveWriterByIndex(This,nIndex) (This)->lpVtbl->RemoveWriterByIndex(This,nIndex) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICMetadataBlockWriter_QueryInterface(IWICMetadataBlockWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICMetadataBlockWriter_AddRef(IWICMetadataBlockWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICMetadataBlockWriter_Release(IWICMetadataBlockWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IWICMetadataBlockReader methods ***/ +static inline HRESULT IWICMetadataBlockWriter_GetContainerFormat(IWICMetadataBlockWriter* This,GUID *pguidContainerFormat) { + return This->lpVtbl->GetContainerFormat(This,pguidContainerFormat); +} +static inline HRESULT IWICMetadataBlockWriter_GetCount(IWICMetadataBlockWriter* This,UINT *pcCount) { + return This->lpVtbl->GetCount(This,pcCount); +} +static inline HRESULT IWICMetadataBlockWriter_GetReaderByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataReader **ppIMetadataReader) { + return This->lpVtbl->GetReaderByIndex(This,nIndex,ppIMetadataReader); +} +static inline HRESULT IWICMetadataBlockWriter_GetEnumerator(IWICMetadataBlockWriter* This,IEnumUnknown **ppIEnumMetadata) { + return This->lpVtbl->GetEnumerator(This,ppIEnumMetadata); +} +/*** IWICMetadataBlockWriter methods ***/ +static inline HRESULT IWICMetadataBlockWriter_InitializeFromBlockReader(IWICMetadataBlockWriter* This,IWICMetadataBlockReader *pIMDBlockReader) { + return This->lpVtbl->InitializeFromBlockReader(This,pIMDBlockReader); +} +static inline HRESULT IWICMetadataBlockWriter_GetWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataWriter **ppIMetadataWriter) { + return This->lpVtbl->GetWriterByIndex(This,nIndex,ppIMetadataWriter); +} +static inline HRESULT IWICMetadataBlockWriter_AddWriter(IWICMetadataBlockWriter* This,IWICMetadataWriter *pIMetadataWriter) { + return This->lpVtbl->AddWriter(This,pIMetadataWriter); +} +static inline HRESULT IWICMetadataBlockWriter_SetWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex,IWICMetadataWriter *pIMetadataWriter) { + return This->lpVtbl->SetWriterByIndex(This,nIndex,pIMetadataWriter); +} +static inline HRESULT IWICMetadataBlockWriter_RemoveWriterByIndex(IWICMetadataBlockWriter* This,UINT nIndex) { + return This->lpVtbl->RemoveWriterByIndex(This,nIndex); +} +#endif +#endif + +#endif + + +#endif /* __IWICMetadataBlockWriter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICPersistStream interface + */ +#ifndef __IWICPersistStream_INTERFACE_DEFINED__ +#define __IWICPersistStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICPersistStream, 0x00675040, 0x6908, 0x45f8, 0x86,0xa3, 0x49,0xc7,0xdf,0xd6,0xd9,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00675040-6908-45f8-86a3-49c7dfd6d9ad") +IWICPersistStream : public IPersistStream +{ + virtual HRESULT STDMETHODCALLTYPE LoadEx( + IStream *pIStream, + const GUID *pguidPreferredVendor, + DWORD dwPersistOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveEx( + IStream *pIStream, + DWORD dwPersistOptions, + WINBOOL fClearDirty) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICPersistStream, 0x00675040, 0x6908, 0x45f8, 0x86,0xa3, 0x49,0xc7,0xdf,0xd6,0xd9,0xad) +#endif +#else +typedef struct IWICPersistStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICPersistStream *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICPersistStream *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICPersistStream *This); + + /*** IPersist methods ***/ + HRESULT (STDMETHODCALLTYPE *GetClassID)( + IWICPersistStream *This, + CLSID *pClassID); + + /*** IPersistStream methods ***/ + HRESULT (STDMETHODCALLTYPE *IsDirty)( + IWICPersistStream *This); + + HRESULT (STDMETHODCALLTYPE *Load)( + IWICPersistStream *This, + IStream *pStm); + + HRESULT (STDMETHODCALLTYPE *Save)( + IWICPersistStream *This, + IStream *pStm, + WINBOOL fClearDirty); + + HRESULT (STDMETHODCALLTYPE *GetSizeMax)( + IWICPersistStream *This, + ULARGE_INTEGER *pcbSize); + + /*** IWICPersistStream methods ***/ + HRESULT (STDMETHODCALLTYPE *LoadEx)( + IWICPersistStream *This, + IStream *pIStream, + const GUID *pguidPreferredVendor, + DWORD dwPersistOptions); + + HRESULT (STDMETHODCALLTYPE *SaveEx)( + IWICPersistStream *This, + IStream *pIStream, + DWORD dwPersistOptions, + WINBOOL fClearDirty); + + END_INTERFACE +} IWICPersistStreamVtbl; + +interface IWICPersistStream { + CONST_VTBL IWICPersistStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICPersistStream_Release(This) (This)->lpVtbl->Release(This) +/*** IPersist methods ***/ +#define IWICPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID) +/*** IPersistStream methods ***/ +#define IWICPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This) +#define IWICPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm) +#define IWICPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty) +#define IWICPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize) +/*** IWICPersistStream methods ***/ +#define IWICPersistStream_LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions) (This)->lpVtbl->LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions) +#define IWICPersistStream_SaveEx(This,pIStream,dwPersistOptions,fClearDirty) (This)->lpVtbl->SaveEx(This,pIStream,dwPersistOptions,fClearDirty) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICPersistStream_QueryInterface(IWICPersistStream* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICPersistStream_AddRef(IWICPersistStream* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICPersistStream_Release(IWICPersistStream* This) { + return This->lpVtbl->Release(This); +} +/*** IPersist methods ***/ +static inline HRESULT IWICPersistStream_GetClassID(IWICPersistStream* This,CLSID *pClassID) { + return This->lpVtbl->GetClassID(This,pClassID); +} +/*** IPersistStream methods ***/ +static inline HRESULT IWICPersistStream_IsDirty(IWICPersistStream* This) { + return This->lpVtbl->IsDirty(This); +} +static inline HRESULT IWICPersistStream_Load(IWICPersistStream* This,IStream *pStm) { + return This->lpVtbl->Load(This,pStm); +} +static inline HRESULT IWICPersistStream_Save(IWICPersistStream* This,IStream *pStm,WINBOOL fClearDirty) { + return This->lpVtbl->Save(This,pStm,fClearDirty); +} +static inline HRESULT IWICPersistStream_GetSizeMax(IWICPersistStream* This,ULARGE_INTEGER *pcbSize) { + return This->lpVtbl->GetSizeMax(This,pcbSize); +} +/*** IWICPersistStream methods ***/ +static inline HRESULT IWICPersistStream_LoadEx(IWICPersistStream* This,IStream *pIStream,const GUID *pguidPreferredVendor,DWORD dwPersistOptions) { + return This->lpVtbl->LoadEx(This,pIStream,pguidPreferredVendor,dwPersistOptions); +} +static inline HRESULT IWICPersistStream_SaveEx(IWICPersistStream* This,IStream *pIStream,DWORD dwPersistOptions,WINBOOL fClearDirty) { + return This->lpVtbl->SaveEx(This,pIStream,dwPersistOptions,fClearDirty); +} +#endif +#endif + +#endif + + +#endif /* __IWICPersistStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICStreamProvider interface + */ +#ifndef __IWICStreamProvider_INTERFACE_DEFINED__ +#define __IWICStreamProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICStreamProvider, 0x449494bc, 0xb468, 0x4927, 0x96,0xd7, 0xba,0x90,0xd3,0x1a,0xb5,0x05); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("449494bc-b468-4927-96d7-ba90d31ab505") +IWICStreamProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPersistOptions( + DWORD *options) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPreferredVendorGUID( + GUID *guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE RefreshStream( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICStreamProvider, 0x449494bc, 0xb468, 0x4927, 0x96,0xd7, 0xba,0x90,0xd3,0x1a,0xb5,0x05) +#endif +#else +typedef struct IWICStreamProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICStreamProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICStreamProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICStreamProvider *This); + + /*** IWICStreamProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStream)( + IWICStreamProvider *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *GetPersistOptions)( + IWICStreamProvider *This, + DWORD *options); + + HRESULT (STDMETHODCALLTYPE *GetPreferredVendorGUID)( + IWICStreamProvider *This, + GUID *guid); + + HRESULT (STDMETHODCALLTYPE *RefreshStream)( + IWICStreamProvider *This); + + END_INTERFACE +} IWICStreamProviderVtbl; + +interface IWICStreamProvider { + CONST_VTBL IWICStreamProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICStreamProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICStreamProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICStreamProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWICStreamProvider methods ***/ +#define IWICStreamProvider_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IWICStreamProvider_GetPersistOptions(This,options) (This)->lpVtbl->GetPersistOptions(This,options) +#define IWICStreamProvider_GetPreferredVendorGUID(This,guid) (This)->lpVtbl->GetPreferredVendorGUID(This,guid) +#define IWICStreamProvider_RefreshStream(This) (This)->lpVtbl->RefreshStream(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICStreamProvider_QueryInterface(IWICStreamProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICStreamProvider_AddRef(IWICStreamProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICStreamProvider_Release(IWICStreamProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWICStreamProvider methods ***/ +static inline HRESULT IWICStreamProvider_GetStream(IWICStreamProvider* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IWICStreamProvider_GetPersistOptions(IWICStreamProvider* This,DWORD *options) { + return This->lpVtbl->GetPersistOptions(This,options); +} +static inline HRESULT IWICStreamProvider_GetPreferredVendorGUID(IWICStreamProvider* This,GUID *guid) { + return This->lpVtbl->GetPreferredVendorGUID(This,guid); +} +static inline HRESULT IWICStreamProvider_RefreshStream(IWICStreamProvider* This) { + return This->lpVtbl->RefreshStream(This); +} +#endif +#endif + +#endif + + +#endif /* __IWICStreamProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWICComponentFactory interface + */ +#ifndef __IWICComponentFactory_INTERFACE_DEFINED__ +#define __IWICComponentFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWICComponentFactory, 0x412d0c3a, 0x9650, 0x44fa, 0xaf,0x5b, 0xdd,0x2a,0x06,0xc8,0xe8,0xfb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("412d0c3a-9650-44fa-af5b-dd2a06c8e8fb") +IWICComponentFactory : public IWICImagingFactory +{ + virtual HRESULT STDMETHODCALLTYPE CreateMetadataReader( + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwOptions, + IStream *pIStream, + IWICMetadataReader **ppIReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMetadataReaderFromContainer( + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwOptions, + IStream *pIStream, + IWICMetadataReader **ppIReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMetadataWriter( + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwMetadataOptions, + IWICMetadataWriter **ppIWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMetadataWriterFromReader( + IWICMetadataReader *pIReader, + const GUID *pguidVendor, + IWICMetadataWriter **ppIWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateQueryReaderFromBlockReader( + IWICMetadataBlockReader *pIBlockReader, + IWICMetadataQueryReader **ppIQueryReader) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateQueryWriterFromBlockWriter( + IWICMetadataBlockWriter *pIBlockWriter, + IWICMetadataQueryWriter **ppIQueryWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateEncoderPropertyBag( + PROPBAG2 *ppropOptions, + UINT cCount, + IPropertyBag2 **ppIPropertyBag) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWICComponentFactory, 0x412d0c3a, 0x9650, 0x44fa, 0xaf,0x5b, 0xdd,0x2a,0x06,0xc8,0xe8,0xfb) +#endif +#else +typedef struct IWICComponentFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWICComponentFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWICComponentFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWICComponentFactory *This); + + /*** IWICImagingFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFilename)( + IWICComponentFactory *This, + LPCWSTR wzFilename, + const GUID *pguidVendor, + DWORD dwDesiredAccess, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromStream)( + IWICComponentFactory *This, + IStream *pIStream, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateDecoderFromFileHandle)( + IWICComponentFactory *This, + ULONG_PTR hFile, + const GUID *pguidVendor, + WICDecodeOptions metadataOptions, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateComponentInfo)( + IWICComponentFactory *This, + REFCLSID clsidComponent, + IWICComponentInfo **ppIInfo); + + HRESULT (STDMETHODCALLTYPE *CreateDecoder)( + IWICComponentFactory *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapDecoder **ppIDecoder); + + HRESULT (STDMETHODCALLTYPE *CreateEncoder)( + IWICComponentFactory *This, + REFGUID guidContainerFormat, + const GUID *pguidVendor, + IWICBitmapEncoder **ppIEncoder); + + HRESULT (STDMETHODCALLTYPE *CreatePalette)( + IWICComponentFactory *This, + IWICPalette **ppIPalette); + + HRESULT (STDMETHODCALLTYPE *CreateFormatConverter)( + IWICComponentFactory *This, + IWICFormatConverter **ppIFormatConverter); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapScaler)( + IWICComponentFactory *This, + IWICBitmapScaler **ppIBitmapScaler); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapClipper)( + IWICComponentFactory *This, + IWICBitmapClipper **ppIBitmapClipper); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFlipRotator)( + IWICComponentFactory *This, + IWICBitmapFlipRotator **ppIBitmapFlipRotator); + + HRESULT (STDMETHODCALLTYPE *CreateStream)( + IWICComponentFactory *This, + IWICStream **ppIWICStream); + + HRESULT (STDMETHODCALLTYPE *CreateColorContext)( + IWICComponentFactory *This, + IWICColorContext **ppIWICColorContext); + + HRESULT (STDMETHODCALLTYPE *CreateColorTransformer)( + IWICComponentFactory *This, + IWICColorTransform **ppIWICColorTransform); + + HRESULT (STDMETHODCALLTYPE *CreateBitmap)( + IWICComponentFactory *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSource)( + IWICComponentFactory *This, + IWICBitmapSource *piBitmapSource, + WICBitmapCreateCacheOption option, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromSourceRect)( + IWICComponentFactory *This, + IWICBitmapSource *piBitmapSource, + UINT x, + UINT y, + UINT width, + UINT height, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromMemory)( + IWICComponentFactory *This, + UINT uiWidth, + UINT uiHeight, + REFWICPixelFormatGUID pixelFormat, + UINT cbStride, + UINT cbBufferSize, + BYTE *pbBuffer, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHBITMAP)( + IWICComponentFactory *This, + HBITMAP hBitmap, + HPALETTE hPalette, + WICBitmapAlphaChannelOption options, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateBitmapFromHICON)( + IWICComponentFactory *This, + HICON hIcon, + IWICBitmap **ppIBitmap); + + HRESULT (STDMETHODCALLTYPE *CreateComponentEnumerator)( + IWICComponentFactory *This, + DWORD componentTypes, + DWORD options, + IEnumUnknown **ppIEnumUnknown); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromDecoder)( + IWICComponentFactory *This, + IWICBitmapDecoder *pIDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateFastMetadataEncoderFromFrameDecode)( + IWICComponentFactory *This, + IWICBitmapFrameDecode *pIFrameDecoder, + IWICFastMetadataEncoder **ppIFastEncoder); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriter)( + IWICComponentFactory *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromReader)( + IWICComponentFactory *This, + IWICMetadataQueryReader *pIQueryReader, + const GUID *pguidVendor, + IWICMetadataQueryWriter **ppIQueryWriter); + + /*** IWICComponentFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateMetadataReader)( + IWICComponentFactory *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwOptions, + IStream *pIStream, + IWICMetadataReader **ppIReader); + + HRESULT (STDMETHODCALLTYPE *CreateMetadataReaderFromContainer)( + IWICComponentFactory *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwOptions, + IStream *pIStream, + IWICMetadataReader **ppIReader); + + HRESULT (STDMETHODCALLTYPE *CreateMetadataWriter)( + IWICComponentFactory *This, + REFGUID guidMetadataFormat, + const GUID *pguidVendor, + DWORD dwMetadataOptions, + IWICMetadataWriter **ppIWriter); + + HRESULT (STDMETHODCALLTYPE *CreateMetadataWriterFromReader)( + IWICComponentFactory *This, + IWICMetadataReader *pIReader, + const GUID *pguidVendor, + IWICMetadataWriter **ppIWriter); + + HRESULT (STDMETHODCALLTYPE *CreateQueryReaderFromBlockReader)( + IWICComponentFactory *This, + IWICMetadataBlockReader *pIBlockReader, + IWICMetadataQueryReader **ppIQueryReader); + + HRESULT (STDMETHODCALLTYPE *CreateQueryWriterFromBlockWriter)( + IWICComponentFactory *This, + IWICMetadataBlockWriter *pIBlockWriter, + IWICMetadataQueryWriter **ppIQueryWriter); + + HRESULT (STDMETHODCALLTYPE *CreateEncoderPropertyBag)( + IWICComponentFactory *This, + PROPBAG2 *ppropOptions, + UINT cCount, + IPropertyBag2 **ppIPropertyBag); + + END_INTERFACE +} IWICComponentFactoryVtbl; + +interface IWICComponentFactory { + CONST_VTBL IWICComponentFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWICComponentFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWICComponentFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWICComponentFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IWICImagingFactory methods ***/ +#define IWICComponentFactory_CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder) +#define IWICComponentFactory_CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder) +#define IWICComponentFactory_CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) (This)->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder) +#define IWICComponentFactory_CreateComponentInfo(This,clsidComponent,ppIInfo) (This)->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo) +#define IWICComponentFactory_CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) (This)->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder) +#define IWICComponentFactory_CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) (This)->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder) +#define IWICComponentFactory_CreatePalette(This,ppIPalette) (This)->lpVtbl->CreatePalette(This,ppIPalette) +#define IWICComponentFactory_CreateFormatConverter(This,ppIFormatConverter) (This)->lpVtbl->CreateFormatConverter(This,ppIFormatConverter) +#define IWICComponentFactory_CreateBitmapScaler(This,ppIBitmapScaler) (This)->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler) +#define IWICComponentFactory_CreateBitmapClipper(This,ppIBitmapClipper) (This)->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper) +#define IWICComponentFactory_CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) (This)->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator) +#define IWICComponentFactory_CreateStream(This,ppIWICStream) (This)->lpVtbl->CreateStream(This,ppIWICStream) +#define IWICComponentFactory_CreateColorContext(This,ppIWICColorContext) (This)->lpVtbl->CreateColorContext(This,ppIWICColorContext) +#define IWICComponentFactory_CreateColorTransformer(This,ppIWICColorTransform) (This)->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform) +#define IWICComponentFactory_CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) (This)->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap) +#define IWICComponentFactory_CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap) +#define IWICComponentFactory_CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) (This)->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap) +#define IWICComponentFactory_CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) (This)->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap) +#define IWICComponentFactory_CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap) +#define IWICComponentFactory_CreateBitmapFromHICON(This,hIcon,ppIBitmap) (This)->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap) +#define IWICComponentFactory_CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) (This)->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown) +#define IWICComponentFactory_CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder) +#define IWICComponentFactory_CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) (This)->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder) +#define IWICComponentFactory_CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter) +#define IWICComponentFactory_CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter) +/*** IWICComponentFactory methods ***/ +#define IWICComponentFactory_CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) (This)->lpVtbl->CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) +#define IWICComponentFactory_CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) (This)->lpVtbl->CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader) +#define IWICComponentFactory_CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter) (This)->lpVtbl->CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter) +#define IWICComponentFactory_CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter) (This)->lpVtbl->CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter) +#define IWICComponentFactory_CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader) (This)->lpVtbl->CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader) +#define IWICComponentFactory_CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter) (This)->lpVtbl->CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter) +#define IWICComponentFactory_CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag) (This)->lpVtbl->CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWICComponentFactory_QueryInterface(IWICComponentFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWICComponentFactory_AddRef(IWICComponentFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWICComponentFactory_Release(IWICComponentFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IWICImagingFactory methods ***/ +static inline HRESULT IWICComponentFactory_CreateDecoderFromFilename(IWICComponentFactory* This,LPCWSTR wzFilename,const GUID *pguidVendor,DWORD dwDesiredAccess,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFilename(This,wzFilename,pguidVendor,dwDesiredAccess,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICComponentFactory_CreateDecoderFromStream(IWICComponentFactory* This,IStream *pIStream,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromStream(This,pIStream,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICComponentFactory_CreateDecoderFromFileHandle(IWICComponentFactory* This,ULONG_PTR hFile,const GUID *pguidVendor,WICDecodeOptions metadataOptions,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoderFromFileHandle(This,hFile,pguidVendor,metadataOptions,ppIDecoder); +} +static inline HRESULT IWICComponentFactory_CreateComponentInfo(IWICComponentFactory* This,REFCLSID clsidComponent,IWICComponentInfo **ppIInfo) { + return This->lpVtbl->CreateComponentInfo(This,clsidComponent,ppIInfo); +} +static inline HRESULT IWICComponentFactory_CreateDecoder(IWICComponentFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapDecoder **ppIDecoder) { + return This->lpVtbl->CreateDecoder(This,guidContainerFormat,pguidVendor,ppIDecoder); +} +static inline HRESULT IWICComponentFactory_CreateEncoder(IWICComponentFactory* This,REFGUID guidContainerFormat,const GUID *pguidVendor,IWICBitmapEncoder **ppIEncoder) { + return This->lpVtbl->CreateEncoder(This,guidContainerFormat,pguidVendor,ppIEncoder); +} +static inline HRESULT IWICComponentFactory_CreatePalette(IWICComponentFactory* This,IWICPalette **ppIPalette) { + return This->lpVtbl->CreatePalette(This,ppIPalette); +} +static inline HRESULT IWICComponentFactory_CreateFormatConverter(IWICComponentFactory* This,IWICFormatConverter **ppIFormatConverter) { + return This->lpVtbl->CreateFormatConverter(This,ppIFormatConverter); +} +static inline HRESULT IWICComponentFactory_CreateBitmapScaler(IWICComponentFactory* This,IWICBitmapScaler **ppIBitmapScaler) { + return This->lpVtbl->CreateBitmapScaler(This,ppIBitmapScaler); +} +static inline HRESULT IWICComponentFactory_CreateBitmapClipper(IWICComponentFactory* This,IWICBitmapClipper **ppIBitmapClipper) { + return This->lpVtbl->CreateBitmapClipper(This,ppIBitmapClipper); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFlipRotator(IWICComponentFactory* This,IWICBitmapFlipRotator **ppIBitmapFlipRotator) { + return This->lpVtbl->CreateBitmapFlipRotator(This,ppIBitmapFlipRotator); +} +static inline HRESULT IWICComponentFactory_CreateStream(IWICComponentFactory* This,IWICStream **ppIWICStream) { + return This->lpVtbl->CreateStream(This,ppIWICStream); +} +static inline HRESULT IWICComponentFactory_CreateColorContext(IWICComponentFactory* This,IWICColorContext **ppIWICColorContext) { + return This->lpVtbl->CreateColorContext(This,ppIWICColorContext); +} +static inline HRESULT IWICComponentFactory_CreateColorTransformer(IWICComponentFactory* This,IWICColorTransform **ppIWICColorTransform) { + return This->lpVtbl->CreateColorTransformer(This,ppIWICColorTransform); +} +static inline HRESULT IWICComponentFactory_CreateBitmap(IWICComponentFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmap(This,uiWidth,uiHeight,pixelFormat,option,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFromSource(IWICComponentFactory* This,IWICBitmapSource *piBitmapSource,WICBitmapCreateCacheOption option,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSource(This,piBitmapSource,option,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFromSourceRect(IWICComponentFactory* This,IWICBitmapSource *piBitmapSource,UINT x,UINT y,UINT width,UINT height,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromSourceRect(This,piBitmapSource,x,y,width,height,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFromMemory(IWICComponentFactory* This,UINT uiWidth,UINT uiHeight,REFWICPixelFormatGUID pixelFormat,UINT cbStride,UINT cbBufferSize,BYTE *pbBuffer,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromMemory(This,uiWidth,uiHeight,pixelFormat,cbStride,cbBufferSize,pbBuffer,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFromHBITMAP(IWICComponentFactory* This,HBITMAP hBitmap,HPALETTE hPalette,WICBitmapAlphaChannelOption options,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHBITMAP(This,hBitmap,hPalette,options,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateBitmapFromHICON(IWICComponentFactory* This,HICON hIcon,IWICBitmap **ppIBitmap) { + return This->lpVtbl->CreateBitmapFromHICON(This,hIcon,ppIBitmap); +} +static inline HRESULT IWICComponentFactory_CreateComponentEnumerator(IWICComponentFactory* This,DWORD componentTypes,DWORD options,IEnumUnknown **ppIEnumUnknown) { + return This->lpVtbl->CreateComponentEnumerator(This,componentTypes,options,ppIEnumUnknown); +} +static inline HRESULT IWICComponentFactory_CreateFastMetadataEncoderFromDecoder(IWICComponentFactory* This,IWICBitmapDecoder *pIDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromDecoder(This,pIDecoder,ppIFastEncoder); +} +static inline HRESULT IWICComponentFactory_CreateFastMetadataEncoderFromFrameDecode(IWICComponentFactory* This,IWICBitmapFrameDecode *pIFrameDecoder,IWICFastMetadataEncoder **ppIFastEncoder) { + return This->lpVtbl->CreateFastMetadataEncoderFromFrameDecode(This,pIFrameDecoder,ppIFastEncoder); +} +static inline HRESULT IWICComponentFactory_CreateQueryWriter(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriter(This,guidMetadataFormat,pguidVendor,ppIQueryWriter); +} +static inline HRESULT IWICComponentFactory_CreateQueryWriterFromReader(IWICComponentFactory* This,IWICMetadataQueryReader *pIQueryReader,const GUID *pguidVendor,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriterFromReader(This,pIQueryReader,pguidVendor,ppIQueryWriter); +} +/*** IWICComponentFactory methods ***/ +static inline HRESULT IWICComponentFactory_CreateMetadataReader(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwOptions,IStream *pIStream,IWICMetadataReader **ppIReader) { + return This->lpVtbl->CreateMetadataReader(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader); +} +static inline HRESULT IWICComponentFactory_CreateMetadataReaderFromContainer(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwOptions,IStream *pIStream,IWICMetadataReader **ppIReader) { + return This->lpVtbl->CreateMetadataReaderFromContainer(This,guidMetadataFormat,pguidVendor,dwOptions,pIStream,ppIReader); +} +static inline HRESULT IWICComponentFactory_CreateMetadataWriter(IWICComponentFactory* This,REFGUID guidMetadataFormat,const GUID *pguidVendor,DWORD dwMetadataOptions,IWICMetadataWriter **ppIWriter) { + return This->lpVtbl->CreateMetadataWriter(This,guidMetadataFormat,pguidVendor,dwMetadataOptions,ppIWriter); +} +static inline HRESULT IWICComponentFactory_CreateMetadataWriterFromReader(IWICComponentFactory* This,IWICMetadataReader *pIReader,const GUID *pguidVendor,IWICMetadataWriter **ppIWriter) { + return This->lpVtbl->CreateMetadataWriterFromReader(This,pIReader,pguidVendor,ppIWriter); +} +static inline HRESULT IWICComponentFactory_CreateQueryReaderFromBlockReader(IWICComponentFactory* This,IWICMetadataBlockReader *pIBlockReader,IWICMetadataQueryReader **ppIQueryReader) { + return This->lpVtbl->CreateQueryReaderFromBlockReader(This,pIBlockReader,ppIQueryReader); +} +static inline HRESULT IWICComponentFactory_CreateQueryWriterFromBlockWriter(IWICComponentFactory* This,IWICMetadataBlockWriter *pIBlockWriter,IWICMetadataQueryWriter **ppIQueryWriter) { + return This->lpVtbl->CreateQueryWriterFromBlockWriter(This,pIBlockWriter,ppIQueryWriter); +} +static inline HRESULT IWICComponentFactory_CreateEncoderPropertyBag(IWICComponentFactory* This,PROPBAG2 *ppropOptions,UINT cCount,IPropertyBag2 **ppIPropertyBag) { + return This->lpVtbl->CreateEncoderPropertyBag(This,ppropOptions,cCount,ppIPropertyBag); +} +#endif +#endif + +#endif + + +#endif /* __IWICComponentFactory_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +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 *); +ULONG __RPC_USER LPSAFEARRAY_UserSize (ULONG *, ULONG, LPSAFEARRAY *); +unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal (ULONG *, unsigned char *, LPSAFEARRAY *); +unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(ULONG *, unsigned char *, LPSAFEARRAY *); +void __RPC_USER LPSAFEARRAY_UserFree (ULONG *, LPSAFEARRAY *); +ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *); +unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *); +void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wincodecsdk_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincon.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincon.h new file mode 100644 index 00000000..47fb8739 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincon.h @@ -0,0 +1,37 @@ +/** + * 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 _WINCON_ +#define _WINCON_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifndef NOGDI +#include +#endif + +#ifndef NOAPISET +#include +#include +#include +#endif + +#define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2)) +#define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3)) + +#define CONSOLE_TEXTMODE_BUFFER 1 + +#ifdef __cplusplus +} +#endif + +#endif /* _WINCON_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincontypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincontypes.h new file mode 100644 index 00000000..702cef20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincontypes.h @@ -0,0 +1,130 @@ +/** + * 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 _WINCONTYPES_ +#define _WINCONTYPES_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + +typedef struct _COORD { + SHORT X; + SHORT Y; +} COORD, *PCOORD; + +typedef struct _SMALL_RECT { + SHORT Left; + SHORT Top; + SHORT Right; + SHORT Bottom; +} SMALL_RECT, *PSMALL_RECT; + +typedef struct _KEY_EVENT_RECORD { + WINBOOL bKeyDown; + WORD wRepeatCount; + WORD wVirtualKeyCode; + WORD wVirtualScanCode; + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } uChar; + DWORD dwControlKeyState; +} KEY_EVENT_RECORD, *PKEY_EVENT_RECORD; + +#define RIGHT_ALT_PRESSED 0x0001 +#define LEFT_ALT_PRESSED 0x0002 +#define RIGHT_CTRL_PRESSED 0x0004 +#define LEFT_CTRL_PRESSED 0x0008 +#define SHIFT_PRESSED 0x0010 +#define NUMLOCK_ON 0x0020 +#define SCROLLLOCK_ON 0x0040 +#define CAPSLOCK_ON 0x0080 +#define ENHANCED_KEY 0x0100 +#define NLS_DBCSCHAR 0x00010000 +#define NLS_ALPHANUMERIC 0x00000000 +#define NLS_KATAKANA 0x00020000 +#define NLS_HIRAGANA 0x00040000 +#define NLS_ROMAN 0x00400000 +#define NLS_IME_CONVERSION 0x00800000 +#define ALTNUMPAD_BIT 0x04000000 +#define NLS_IME_DISABLE 0x20000000 + +typedef struct _MOUSE_EVENT_RECORD { + COORD dwMousePosition; + DWORD dwButtonState; + DWORD dwControlKeyState; + DWORD dwEventFlags; +} MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD; + +#define FROM_LEFT_1ST_BUTTON_PRESSED 0x0001 +#define RIGHTMOST_BUTTON_PRESSED 0x0002 +#define FROM_LEFT_2ND_BUTTON_PRESSED 0x0004 +#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 +#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 + +#define MOUSE_MOVED 0x0001 +#define DOUBLE_CLICK 0x0002 +#define MOUSE_WHEELED 0x0004 +#if (_WIN32_WINNT >= 0x0600) +#define MOUSE_HWHEELED 0x0008 +#endif /* _WIN32_WINNT >= 0x0600 */ + +typedef struct _WINDOW_BUFFER_SIZE_RECORD { + COORD dwSize; +} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD; + +typedef struct _MENU_EVENT_RECORD { + UINT dwCommandId; +} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD; + +typedef struct _FOCUS_EVENT_RECORD { + WINBOOL bSetFocus; +} FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD; + +typedef struct _INPUT_RECORD { + WORD EventType; + union { + KEY_EVENT_RECORD KeyEvent; + MOUSE_EVENT_RECORD MouseEvent; + WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; + MENU_EVENT_RECORD MenuEvent; + FOCUS_EVENT_RECORD FocusEvent; + } Event; +} INPUT_RECORD, *PINPUT_RECORD; + +#define KEY_EVENT 0x0001 +#define MOUSE_EVENT 0x0002 +#define WINDOW_BUFFER_SIZE_EVENT 0x0004 +#define MENU_EVENT 0x0008 +#define FOCUS_EVENT 0x0010 + +typedef struct _CHAR_INFO { + union { + WCHAR UnicodeChar; + CHAR AsciiChar; + } Char; + WORD Attributes; +} CHAR_INFO, *PCHAR_INFO; + +typedef struct _CONSOLE_FONT_INFO { + DWORD nFont; + COORD dwFontSize; +} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO; + +typedef VOID *HPCON; + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ + +#ifdef __cplusplus +} +#endif + +#endif /* _WINCONTYPES_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincred.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincred.h new file mode 100644 index 00000000..7525870f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincred.h @@ -0,0 +1,462 @@ +/** + * 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 _WINCRED_H_ +#define _WINCRED_H_ + +#include <_mingw.h> +#include <_mingw_unicode.h> +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __SECHANDLE_DEFINED__ +#define __SECHANDLE_DEFINED__ + + typedef struct _SecHandle { + ULONG_PTR dwLower; + ULONG_PTR dwUpper; + } SecHandle,*PSecHandle; +#endif + + typedef PSecHandle PCtxtHandle; + +#ifndef _WINBASE_ +#ifndef _FILETIME_ +#define _FILETIME_ + + typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; + } FILETIME; + + typedef struct _FILETIME *PFILETIME; + typedef struct _FILETIME *LPFILETIME; +#endif +#endif + +#if !defined (_NTDEF_) && !defined (_NTSTATUS_PSDK) +#define _NTSTATUS_PSDK + typedef LONG NTSTATUS,*PNTSTATUS; +#endif + +#define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006D) +#define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006A) +#define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071) +#define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224) +#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022) +#define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388) +#define STATUS_AUTHENTICATION_FIREWALL_FAILED ((NTSTATUS)0xC0000413) +#define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072) +#define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006E) +#define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234) +#define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193) +#define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015B) + +#define NERR_BASE 2100 +#define NERR_PasswordExpired (NERR_BASE+142) + +#define CREDUIP_IS_USER_PASSWORD_ERROR(_Status) ((_Status)==ERROR_LOGON_FAILURE || (_Status)==HRESULT_FROM_WIN32(ERROR_LOGON_FAILURE) || (_Status)==STATUS_LOGON_FAILURE || (_Status)==HRESULT_FROM_NT(STATUS_LOGON_FAILURE) || (_Status)==ERROR_ACCESS_DENIED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCESS_DENIED) || (_Status)==STATUS_ACCESS_DENIED || (_Status)==HRESULT_FROM_NT(STATUS_ACCESS_DENIED) || (_Status)==ERROR_INVALID_PASSWORD || (_Status)==HRESULT_FROM_WIN32(ERROR_INVALID_PASSWORD) || (_Status)==STATUS_WRONG_PASSWORD || (_Status)==HRESULT_FROM_NT(STATUS_WRONG_PASSWORD) || (_Status)==SEC_E_NO_CREDENTIALS || (_Status)==SEC_E_LOGON_DENIED) +#define CREDUIP_IS_DOWNGRADE_ERROR(_Status) ((_Status)==ERROR_DOWNGRADE_DETECTED || (_Status)==HRESULT_FROM_WIN32(ERROR_DOWNGRADE_DETECTED) || (_Status)==STATUS_DOWNGRADE_DETECTED || (_Status)==HRESULT_FROM_NT(STATUS_DOWNGRADE_DETECTED)) +#define CREDUIP_IS_EXPIRED_ERROR(_Status) ((_Status)==ERROR_PASSWORD_EXPIRED || (_Status)==HRESULT_FROM_WIN32(ERROR_PASSWORD_EXPIRED) || (_Status)==STATUS_PASSWORD_EXPIRED || (_Status)==HRESULT_FROM_NT(STATUS_PASSWORD_EXPIRED) || (_Status)==ERROR_PASSWORD_MUST_CHANGE || (_Status)==HRESULT_FROM_WIN32(ERROR_PASSWORD_MUST_CHANGE) || (_Status)==STATUS_PASSWORD_MUST_CHANGE || (_Status)==HRESULT_FROM_NT(STATUS_PASSWORD_MUST_CHANGE) || (_Status)==NERR_PasswordExpired || (_Status)==HRESULT_FROM_WIN32(NERR_PasswordExpired)) +#define CREDUI_IS_AUTHENTICATION_ERROR(_Status) (CREDUIP_IS_USER_PASSWORD_ERROR(_Status) || CREDUIP_IS_DOWNGRADE_ERROR(_Status) || CREDUIP_IS_EXPIRED_ERROR(_Status)) +#define CREDUI_NO_PROMPT_AUTHENTICATION_ERROR(_Status) ((_Status)==ERROR_AUTHENTICATION_FIREWALL_FAILED || (_Status)==HRESULT_FROM_WIN32(ERROR_AUTHENTICATION_FIREWALL_FAILED) || (_Status)==STATUS_AUTHENTICATION_FIREWALL_FAILED || (_Status)==HRESULT_FROM_NT(STATUS_AUTHENTICATION_FIREWALL_FAILED) || (_Status)==ERROR_ACCOUNT_DISABLED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_DISABLED) || (_Status)==STATUS_ACCOUNT_DISABLED || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_DISABLED) || (_Status)==ERROR_ACCOUNT_RESTRICTION || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_RESTRICTION) || (_Status)==STATUS_ACCOUNT_RESTRICTION || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_RESTRICTION) || (_Status)==ERROR_ACCOUNT_LOCKED_OUT || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_LOCKED_OUT) || (_Status)==STATUS_ACCOUNT_LOCKED_OUT || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_LOCKED_OUT) || (_Status)==ERROR_ACCOUNT_EXPIRED || (_Status)==HRESULT_FROM_WIN32(ERROR_ACCOUNT_EXPIRED) || (_Status)==STATUS_ACCOUNT_EXPIRED || (_Status)==HRESULT_FROM_NT(STATUS_ACCOUNT_EXPIRED) || (_Status)==ERROR_LOGON_TYPE_NOT_GRANTED || (_Status)==HRESULT_FROM_WIN32(ERROR_LOGON_TYPE_NOT_GRANTED) || (_Status)==STATUS_LOGON_TYPE_NOT_GRANTED || (_Status)==HRESULT_FROM_NT(STATUS_LOGON_TYPE_NOT_GRANTED)) + +#define CRED_MAX_STRING_LENGTH 256 +#define CRED_MAX_USERNAME_LENGTH (256+1+256) +#define CRED_MAX_GENERIC_TARGET_NAME_LENGTH 32767 +#define CRED_MAX_DOMAIN_TARGET_NAME_LENGTH (256+1+80) +#define CRED_MAX_VALUE_SIZE 256 +#define CRED_MAX_ATTRIBUTES 64 + + typedef struct _CREDENTIAL_ATTRIBUTEA { + LPSTR Keyword; + DWORD Flags; + DWORD ValueSize; + LPBYTE Value; + } CREDENTIAL_ATTRIBUTEA,*PCREDENTIAL_ATTRIBUTEA; + + typedef struct _CREDENTIAL_ATTRIBUTEW { + LPWSTR Keyword; + DWORD Flags; + DWORD ValueSize; + LPBYTE Value; + } CREDENTIAL_ATTRIBUTEW,*PCREDENTIAL_ATTRIBUTEW; + + __MINGW_TYPEDEF_AW(CREDENTIAL_ATTRIBUTE) + __MINGW_TYPEDEF_AW(PCREDENTIAL_ATTRIBUTE) + +#define CRED_SESSION_WILDCARD_NAME_W L"*Session" +#define CRED_SESSION_WILDCARD_NAME_A "*Session" +#define CRED_SESSION_WILDCARD_NAME_LENGTH (sizeof(CRED_SESSION_WILDCARD_NAME_A)-1) + +#define CRED_SESSION_WILDCARD_NAME __MINGW_NAME_UAW(CRED_SESSION_WILDCARD_NAME) + +#define CRED_FLAGS_PASSWORD_FOR_CERT 0x0001 +#define CRED_FLAGS_PROMPT_NOW 0x0002 +#define CRED_FLAGS_USERNAME_TARGET 0x0004 +#define CRED_FLAGS_OWF_CRED_BLOB 0x0008 +#define CRED_FLAGS_VALID_FLAGS 0x000F + +#define CRED_TYPE_GENERIC 1 +#define CRED_TYPE_DOMAIN_PASSWORD 2 +#define CRED_TYPE_DOMAIN_CERTIFICATE 3 +#define CRED_TYPE_DOMAIN_VISIBLE_PASSWORD 4 +#define CRED_TYPE_MAXIMUM 5 +#define CRED_TYPE_MAXIMUM_EX (CRED_TYPE_MAXIMUM+1000) + +#define CRED_MAX_CREDENTIAL_BLOB_SIZE 512 + +#define CRED_PERSIST_NONE 0 +#define CRED_PERSIST_SESSION 1 +#define CRED_PERSIST_LOCAL_MACHINE 2 +#define CRED_PERSIST_ENTERPRISE 3 + + typedef struct _CREDENTIALA { + DWORD Flags; + DWORD Type; + LPSTR TargetName; + LPSTR Comment; + FILETIME LastWritten; + DWORD CredentialBlobSize; + LPBYTE CredentialBlob; + DWORD Persist; + DWORD AttributeCount; + PCREDENTIAL_ATTRIBUTEA Attributes; + LPSTR TargetAlias; + LPSTR UserName; + } CREDENTIALA,*PCREDENTIALA; + + typedef struct _CREDENTIALW { + DWORD Flags; + DWORD Type; + LPWSTR TargetName; + LPWSTR Comment; + FILETIME LastWritten; + DWORD CredentialBlobSize; + LPBYTE CredentialBlob; + DWORD Persist; + DWORD AttributeCount; + PCREDENTIAL_ATTRIBUTEW Attributes; + LPWSTR TargetAlias; + LPWSTR UserName; + } CREDENTIALW,*PCREDENTIALW; + + __MINGW_TYPEDEF_AW(CREDENTIAL) + __MINGW_TYPEDEF_AW(PCREDENTIAL) + +#define CRED_TI_SERVER_FORMAT_UNKNOWN 0x0001 +#define CRED_TI_DOMAIN_FORMAT_UNKNOWN 0x0002 +#define CRED_TI_ONLY_PASSWORD_REQUIRED 0x0004 +#define CRED_TI_USERNAME_TARGET 0x0008 +#define CRED_TI_CREATE_EXPLICIT_CRED 0x0010 +#define CRED_TI_WORKGROUP_MEMBER 0x0020 +#define CRED_TI_VALID_FLAGS 0x003F + + typedef struct _CREDENTIAL_TARGET_INFORMATIONA { + LPSTR TargetName; + LPSTR NetbiosServerName; + LPSTR DnsServerName; + LPSTR NetbiosDomainName; + LPSTR DnsDomainName; + LPSTR DnsTreeName; + LPSTR PackageName; + ULONG Flags; + DWORD CredTypeCount; + LPDWORD CredTypes; + } CREDENTIAL_TARGET_INFORMATIONA,*PCREDENTIAL_TARGET_INFORMATIONA; + + typedef struct _CREDENTIAL_TARGET_INFORMATIONW { + LPWSTR TargetName; + LPWSTR NetbiosServerName; + LPWSTR DnsServerName; + LPWSTR NetbiosDomainName; + LPWSTR DnsDomainName; + LPWSTR DnsTreeName; + LPWSTR PackageName; + ULONG Flags; + DWORD CredTypeCount; + LPDWORD CredTypes; + } CREDENTIAL_TARGET_INFORMATIONW,*PCREDENTIAL_TARGET_INFORMATIONW; + + __MINGW_TYPEDEF_AW(CREDENTIAL_TARGET_INFORMATION) + __MINGW_TYPEDEF_AW(PCREDENTIAL_TARGET_INFORMATION) + +#define CERT_HASH_LENGTH 20 + + typedef struct _CERT_CREDENTIAL_INFO { + ULONG cbSize; + UCHAR rgbHashOfCert[CERT_HASH_LENGTH]; + } CERT_CREDENTIAL_INFO,*PCERT_CREDENTIAL_INFO; + + typedef struct _USERNAME_TARGET_CREDENTIAL_INFO { + LPWSTR UserName; + } USERNAME_TARGET_CREDENTIAL_INFO,*PUSERNAME_TARGET_CREDENTIAL_INFO; + + typedef enum _CRED_MARSHAL_TYPE { + CertCredential = 1,UsernameTargetCredential + } CRED_MARSHAL_TYPE,*PCRED_MARSHAL_TYPE; + + typedef struct _CREDUI_INFOA { + DWORD cbSize; + HWND hwndParent; + PCSTR pszMessageText; + PCSTR pszCaptionText; + HBITMAP hbmBanner; + } CREDUI_INFOA,*PCREDUI_INFOA; + + typedef struct _CREDUI_INFOW { + DWORD cbSize; + HWND hwndParent; + PCWSTR pszMessageText; + PCWSTR pszCaptionText; + HBITMAP hbmBanner; + } CREDUI_INFOW,*PCREDUI_INFOW; + + __MINGW_TYPEDEF_AW(CREDUI_INFO) + __MINGW_TYPEDEF_AW(PCREDUI_INFO) + +#define CREDUI_MAX_MESSAGE_LENGTH 32767 +#define CREDUI_MAX_CAPTION_LENGTH 128 +#define CREDUI_MAX_GENERIC_TARGET_LENGTH CRED_MAX_GENERIC_TARGET_NAME_LENGTH +#define CREDUI_MAX_DOMAIN_TARGET_LENGTH CRED_MAX_DOMAIN_TARGET_NAME_LENGTH +#define CREDUI_MAX_USERNAME_LENGTH CRED_MAX_USERNAME_LENGTH +#define CREDUI_MAX_PASSWORD_LENGTH (CRED_MAX_CREDENTIAL_BLOB_SIZE / 2) + +#define CREDUI_FLAGS_INCORRECT_PASSWORD 0x00001 +#define CREDUI_FLAGS_DO_NOT_PERSIST 0x00002 +#define CREDUI_FLAGS_REQUEST_ADMINISTRATOR 0x00004 +#define CREDUI_FLAGS_EXCLUDE_CERTIFICATES 0x00008 +#define CREDUI_FLAGS_REQUIRE_CERTIFICATE 0x00010 +#define CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX 0x00040 +#define CREDUI_FLAGS_ALWAYS_SHOW_UI 0x00080 +#define CREDUI_FLAGS_REQUIRE_SMARTCARD 0x00100 +#define CREDUI_FLAGS_PASSWORD_ONLY_OK 0x00200 +#define CREDUI_FLAGS_VALIDATE_USERNAME 0x00400 +#define CREDUI_FLAGS_COMPLETE_USERNAME 0x00800 +#define CREDUI_FLAGS_PERSIST 0x01000 +#define CREDUI_FLAGS_SERVER_CREDENTIAL 0x04000 +#define CREDUI_FLAGS_EXPECT_CONFIRMATION 0x20000 +#define CREDUI_FLAGS_GENERIC_CREDENTIALS 0x40000 +#define CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS 0x80000 +#define CREDUI_FLAGS_KEEP_USERNAME 0x100000 + +#define CREDUI_FLAGS_PROMPT_VALID (CREDUI_FLAGS_INCORRECT_PASSWORD | CREDUI_FLAGS_DO_NOT_PERSIST | CREDUI_FLAGS_REQUEST_ADMINISTRATOR | CREDUI_FLAGS_EXCLUDE_CERTIFICATES | CREDUI_FLAGS_REQUIRE_CERTIFICATE | CREDUI_FLAGS_SHOW_SAVE_CHECK_BOX | CREDUI_FLAGS_ALWAYS_SHOW_UI | CREDUI_FLAGS_REQUIRE_SMARTCARD | CREDUI_FLAGS_PASSWORD_ONLY_OK | CREDUI_FLAGS_VALIDATE_USERNAME | CREDUI_FLAGS_COMPLETE_USERNAME | CREDUI_FLAGS_PERSIST | CREDUI_FLAGS_SERVER_CREDENTIAL | CREDUI_FLAGS_EXPECT_CONFIRMATION | CREDUI_FLAGS_GENERIC_CREDENTIALS | CREDUI_FLAGS_USERNAME_TARGET_CREDENTIALS | CREDUI_FLAGS_KEEP_USERNAME) + +#define CRED_PRESERVE_CREDENTIAL_BLOB 0x1 + +#define CredWrite __MINGW_NAME_AW(CredWrite) +#define CredRead __MINGW_NAME_AW(CredRead) +#define CredEnumerate __MINGW_NAME_AW(CredEnumerate) +#define CredWriteDomainCredentials __MINGW_NAME_AW(CredWriteDomainCredentials) +#define CredReadDomainCredentials __MINGW_NAME_AW(CredReadDomainCredentials) +#define CredDelete __MINGW_NAME_AW(CredDelete) +#define CredRename __MINGW_NAME_AW(CredRename) +#define CredGetTargetInfo __MINGW_NAME_AW(CredGetTargetInfo) +#define CredMarshalCredential __MINGW_NAME_AW(CredMarshalCredential) +#define CredUnmarshalCredential __MINGW_NAME_AW(CredUnmarshalCredential) +#define CredIsMarshaledCredential __MINGW_NAME_AW(CredIsMarshaledCredential) +#define CredUIPromptForCredentials __MINGW_NAME_AW(CredUIPromptForCredentials) +#define CredUIParseUserName __MINGW_NAME_AW(CredUIParseUserName) +#define CredUICmdLinePromptForCredentials __MINGW_NAME_AW(CredUICmdLinePromptForCredentials) +#define CredUIConfirmCredentials __MINGW_NAME_AW(CredUIConfirmCredentials) + + WINADVAPI WINBOOL WINAPI CredWriteW(PCREDENTIALW Credential,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredWriteA(PCREDENTIALA Credential,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredReadW(LPCWSTR TargetName,DWORD Type,DWORD Flags,PCREDENTIALW *Credential); + WINADVAPI WINBOOL WINAPI CredReadA(LPCSTR TargetName,DWORD Type,DWORD Flags,PCREDENTIALA *Credential); + WINADVAPI WINBOOL WINAPI CredEnumerateW(LPCWSTR Filter,DWORD Flags,DWORD *Count,PCREDENTIALW **Credential); + WINADVAPI WINBOOL WINAPI CredEnumerateA(LPCSTR Filter,DWORD Flags,DWORD *Count,PCREDENTIALA **Credential); + WINADVAPI WINBOOL WINAPI CredWriteDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,PCREDENTIALW Credential,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredWriteDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,PCREDENTIALA Credential,DWORD Flags); + +#define CRED_CACHE_TARGET_INFORMATION 0x1 + + WINADVAPI WINBOOL WINAPI CredReadDomainCredentialsW(PCREDENTIAL_TARGET_INFORMATIONW TargetInfo,DWORD Flags,DWORD *Count,PCREDENTIALW **Credential); + WINADVAPI WINBOOL WINAPI CredReadDomainCredentialsA(PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,DWORD Flags,DWORD *Count,PCREDENTIALA **Credential); + WINADVAPI WINBOOL WINAPI CredDeleteW(LPCWSTR TargetName,DWORD Type,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredDeleteA(LPCSTR TargetName,DWORD Type,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredRenameW(LPCWSTR OldTargetName,LPCWSTR NewTargetName,DWORD Type,DWORD Flags); + WINADVAPI WINBOOL WINAPI CredRenameA(LPCSTR OldTargetName,LPCSTR NewTargetName,DWORD Type,DWORD Flags); + +#define CRED_ALLOW_NAME_RESOLUTION 0x1 + + WINADVAPI WINBOOL WINAPI CredGetTargetInfoW(LPCWSTR TargetName,DWORD Flags,PCREDENTIAL_TARGET_INFORMATIONW *TargetInfo); + WINADVAPI WINBOOL WINAPI CredGetTargetInfoA(LPCSTR TargetName,DWORD Flags,PCREDENTIAL_TARGET_INFORMATIONA *TargetInfo); + WINADVAPI WINBOOL WINAPI CredMarshalCredentialW(CRED_MARSHAL_TYPE CredType,PVOID Credential,LPWSTR *MarshaledCredential); + WINADVAPI WINBOOL WINAPI CredMarshalCredentialA(CRED_MARSHAL_TYPE CredType,PVOID Credential,LPSTR *MarshaledCredential); + WINADVAPI WINBOOL WINAPI CredUnmarshalCredentialW(LPCWSTR MarshaledCredential,PCRED_MARSHAL_TYPE CredType,PVOID *Credential); + WINADVAPI WINBOOL WINAPI CredUnmarshalCredentialA(LPCSTR MarshaledCredential,PCRED_MARSHAL_TYPE CredType,PVOID *Credential); + WINADVAPI WINBOOL WINAPI CredIsMarshaledCredentialW(LPCWSTR MarshaledCredential); + WINADVAPI WINBOOL WINAPI CredIsMarshaledCredentialA(LPCSTR MarshaledCredential); + WINADVAPI WINBOOL WINAPI CredGetSessionTypes (DWORD MaximumPersistCount,LPDWORD MaximumPersist); + WINADVAPI VOID WINAPI CredFree (PVOID Buffer); + CREDUIAPI DWORD WINAPI CredUIPromptForCredentialsW(PCREDUI_INFOW pUiInfo,PCWSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PWSTR pszUserName,ULONG ulUserNameBufferSize,PWSTR pszPassword,ULONG ulPasswordBufferSize,WINBOOL *save,DWORD dwFlags); + CREDUIAPI DWORD WINAPI CredUIPromptForCredentialsA(PCREDUI_INFOA pUiInfo,PCSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PSTR pszUserName,ULONG ulUserNameBufferSize,PSTR pszPassword,ULONG ulPasswordBufferSize,WINBOOL *save,DWORD dwFlags); + CREDUIAPI DWORD WINAPI CredUIParseUserNameW(CONST WCHAR *UserName,WCHAR *user,ULONG userBufferSize,WCHAR *domain,ULONG domainBufferSize); + CREDUIAPI DWORD WINAPI CredUIParseUserNameA(CONST CHAR *userName,CHAR *user,ULONG userBufferSize,CHAR *domain,ULONG domainBufferSize); + CREDUIAPI DWORD WINAPI CredUICmdLinePromptForCredentialsW(PCWSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PWSTR UserName,ULONG ulUserBufferSize,PWSTR pszPassword,ULONG ulPasswordBufferSize,PBOOL pfSave,DWORD dwFlags); + CREDUIAPI DWORD WINAPI CredUICmdLinePromptForCredentialsA(PCSTR pszTargetName,PCtxtHandle pContext,DWORD dwAuthError,PSTR UserName,ULONG ulUserBufferSize,PSTR pszPassword,ULONG ulPasswordBufferSize,PBOOL pfSave,DWORD dwFlags); + CREDUIAPI DWORD WINAPI CredUIConfirmCredentialsW(PCWSTR pszTargetName,WINBOOL bConfirm); + CREDUIAPI DWORD WINAPI CredUIConfirmCredentialsA(PCSTR pszTargetName,WINBOOL bConfirm); + CREDUIAPI DWORD WINAPI CredUIStoreSSOCredW (PCWSTR pszRealm,PCWSTR pszUsername,PCWSTR pszPassword,WINBOOL bPersist); + CREDUIAPI DWORD WINAPI CredUIReadSSOCredW (PCWSTR pszRealm,PWSTR *ppszUsername); + +#if (_WIN32_WINNT >= 0x0600) +#define CredFindBestCredential __MINGW_NAME_AW(CredFindBestCredential) +#define CredIsProtected __MINGW_NAME_AW(CredIsProtected) +#define CredPackAuthenticationBuffer __MINGW_NAME_AW(CredPackAuthenticationBuffer) +#define CredProtect __MINGW_NAME_AW(CredProtect) +#define CredUIPromptForWindowsCredentials __MINGW_NAME_AW(CredUIPromptForWindowsCredentials) +#define CredUnPackAuthenticationBuffer __MINGW_NAME_AW(CredUnPackAuthenticationBuffer) +#define CredUnprotect __MINGW_NAME_AW(CredUnprotect) + +#define CREDUIWIN_GENERIC 0x1 +#define CREDUIWIN_CHECKBOX 0x2 +#define CREDUIWIN_AUTHPACKAGE_ONLY 0x10 +#define CREDUIWIN_IN_CRED_ONLY 0x20 +#define CREDUIWIN_ENUMERATE_ADMINS 0x100 +#define CREDUIWIN_ENUMERATE_CURRENT_USER 0x200 +#define CREDUIWIN_SECURE_PROMPT 0x1000 +#define CREDUIWIN_PACK_32_WOW 0x10000000 + +typedef enum _CRED_PROTECTION_TYPE { + CredUnprotected = 0, + CredUserProtection = 1, + CredTrustedProtection = 2 +} CRED_PROTECTION_TYPE, *PCRED_PROTECTION_TYPE; + +WINADVAPI WINBOOL WINAPI CredFindBestCredentialA( + LPCSTR TargetName, + DWORD Type, + DWORD Flags, + PCREDENTIALA *Credential +); + +WINADVAPI WINBOOL WINAPI CredFindBestCredentialW( + LPCWSTR TargetName, + DWORD Type, + DWORD Flags, + PCREDENTIALW *Credential +); + +WINADVAPI WINBOOL WINAPI CredIsProtectedA( + LPSTR pszProtectedCredentials, + CRED_PROTECTION_TYPE *pProtectionType +); + +WINADVAPI WINBOOL WINAPI CredIsProtectedW( + LPWSTR pszProtectedCredentials, + CRED_PROTECTION_TYPE *pProtectionType +); + +CREDUIAPI WINBOOL WINAPI CredPackAuthenticationBufferA( + DWORD dwFlags, + LPSTR pszUserName, + LPSTR pszPassword, + PBYTE pPackedCredentials, + DWORD *pcbPackedCredentials +); + +CREDUIAPI WINBOOL WINAPI CredPackAuthenticationBufferW( + DWORD dwFlags, + LPWSTR pszUserName, + LPWSTR pszPassword, + PBYTE pPackedCredentials, + DWORD *pcbPackedCredentials +); + +WINADVAPI WINBOOL WINAPI CredProtectW( + WINBOOL fAsSelf, + LPWSTR pszCredentials, + DWORD cchCredentials, + LPWSTR pszProtectedCredentials, + DWORD *pcchMaxChars, + CRED_PROTECTION_TYPE *ProtectionType +); + +WINADVAPI WINBOOL WINAPI CredProtectA( + WINBOOL fAsSelf, + LPSTR pszCredentials, + DWORD cchCredentials, + LPSTR pszProtectedCredentials, + DWORD *pcchMaxChars, + CRED_PROTECTION_TYPE *ProtectionType +); + +CREDUIAPI DWORD WINAPI CredUIPromptForWindowsCredentialsA( + PCREDUI_INFOA pUiInfo, + DWORD dwAuthError, + ULONG *pulAuthPackage, + LPCVOID pvInAuthBuffer, + ULONG ulInAuthBufferSize, + LPVOID *ppvOutAuthBuffer, + ULONG *pulOutAuthBufferSize, + WINBOOL *pfSave, + DWORD dwFlags +); + +CREDUIAPI DWORD WINAPI CredUIPromptForWindowsCredentialsW( + PCREDUI_INFOW pUiInfo, + DWORD dwAuthError, + ULONG *pulAuthPackage, + LPCVOID pvInAuthBuffer, + ULONG ulInAuthBufferSize, + LPVOID *ppvOutAuthBuffer, + ULONG *pulOutAuthBufferSize, + WINBOOL *pfSave, + DWORD dwFlags +); + +CREDUIAPI WINBOOL WINAPI CredUnPackAuthenticationBufferA( + DWORD dwFlags, + PVOID pAuthBuffer, + DWORD cbAuthBuffer, + LPSTR pszUserName, + DWORD *pcchMaxUserName, + LPSTR pszDomainName, + DWORD *pcchMaxDomainame, + LPSTR pszPassword, + DWORD *pcchMaxPassword +); + +CREDUIAPI WINBOOL WINAPI CredUnPackAuthenticationBufferW( + DWORD dwFlags, + PVOID pAuthBuffer, + DWORD cbAuthBuffer, + LPWSTR pszUserName, + DWORD *pcchMaxUserName, + LPWSTR pszDomainName, + DWORD *pcchMaxDomainame, + LPWSTR pszPassword, + DWORD *pcchMaxPassword +); + +WINADVAPI WINBOOL WINAPI CredUnprotectA( + WINBOOL fAsSelf, + LPSTR pszProtectedCredentials, + DWORD cchCredentials, + LPSTR pszCredentials, + DWORD *pcchMaxChars +); + +WINADVAPI WINBOOL WINAPI CredUnprotectW( + WINBOOL fAsSelf, + LPWSTR pszProtectedCredentials, + DWORD cchCredentials, + LPWSTR pszCredentials, + DWORD *pcchMaxChars +); + +#endif /* (_WIN32_WINNT >= 0x0600) */ + +#ifdef __cplusplus +} +#endif + +#endif /* _WINCRED_H_ */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincrypt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincrypt.h new file mode 100644 index 00000000..475ef788 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wincrypt.h @@ -0,0 +1,5986 @@ +/** + * 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 __WINCRYPT_H__ +#define __WINCRYPT_H__ + +#include <_mingw.h> +#include <_mingw_unicode.h> +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _HRESULT_DEFINED +#define _HRESULT_DEFINED + typedef LONG HRESULT; +#endif + +#ifndef DECLSPEC_IMPORT +#ifndef __WIDL__ +#define DECLSPEC_IMPORT __declspec(dllimport) +#else +#define DECLSPEC_IMPORT +#endif +#endif + +#ifndef WINIMPM +#define WINIMPM DECLSPEC_IMPORT +#endif + +#include + +#ifndef WINAPI +#if defined(_ARM_) +#define WINAPI +#else +#define WINAPI __stdcall +#endif +#endif + +#ifndef CALLBACK +#if defined(_ARM_) +#define CALLBACK +#else +#define CALLBACK __stdcall +#endif +#endif + +#ifndef CONST +#define CONST const +#endif + +#ifndef _NO_W32_PSEUDO_MODIFIERS +#ifndef IN +#define IN +#endif + +#ifndef OUT +#define OUT +#endif + +#ifndef OPTIONAL +#define OPTIONAL +#endif +#endif + +#ifndef WINCRYPT32API +#define WINCRYPT32API WINIMPM +#endif + +#ifndef WINCRYPT32STRINGAPI +#define WINCRYPT32STRINGAPI WINIMPM +#endif + +#define GET_ALG_CLASS(x) (x & (7 << 13)) +#define GET_ALG_TYPE(x) (x & (15 << 9)) +#define GET_ALG_SID(x) (x & 511) + +#define ALG_CLASS_ANY (0) +#define ALG_CLASS_SIGNATURE (1 << 13) +#define ALG_CLASS_MSG_ENCRYPT (2 << 13) +#define ALG_CLASS_DATA_ENCRYPT (3 << 13) +#define ALG_CLASS_HASH (4 << 13) +#define ALG_CLASS_KEY_EXCHANGE (5 << 13) +#define ALG_CLASS_ALL (7 << 13) + +#define ALG_TYPE_ANY (0) +#define ALG_TYPE_DSS (1 << 9) +#define ALG_TYPE_RSA (2 << 9) +#define ALG_TYPE_BLOCK (3 << 9) +#define ALG_TYPE_STREAM (4 << 9) +#define ALG_TYPE_DH (5 << 9) +#define ALG_TYPE_SECURECHANNEL (6 << 9) +#if NTDDI_VERSION >= NTDDI_VISTA +#define ALG_TYPE_ECDH (7 << 9) +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 +#define ALG_TYPE_THIRDPARTY (8 << 9) +#endif + +#define ALG_SID_ANY (0) + +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 +#define ALG_SID_THIRDPARTY_ANY (0) +#endif + +#define ALG_SID_RSA_ANY 0 +#define ALG_SID_RSA_PKCS 1 +#define ALG_SID_RSA_MSATWORK 2 +#define ALG_SID_RSA_ENTRUST 3 +#define ALG_SID_RSA_PGP 4 + +#define ALG_SID_DSS_ANY 0 +#define ALG_SID_DSS_PKCS 1 +#define ALG_SID_DSS_DMS 2 +#if NTDDI_VERSION >= NTDDI_VISTA +#define ALG_SID_ECDSA 3 +#endif + +#define ALG_SID_DES 1 +#define ALG_SID_3DES 3 +#define ALG_SID_DESX 4 +#define ALG_SID_IDEA 5 +#define ALG_SID_CAST 6 +#define ALG_SID_SAFERSK64 7 +#define ALG_SID_SAFERSK128 8 +#define ALG_SID_3DES_112 9 +#define ALG_SID_SKIPJACK 10 +#define ALG_SID_TEK 11 +#define ALG_SID_CYLINK_MEK 12 +#define ALG_SID_RC5 13 +#if NTDDI_VERSION >= NTDDI_WINXP +#define ALG_SID_AES_128 14 +#define ALG_SID_AES_192 15 +#define ALG_SID_AES_256 16 +#define ALG_SID_AES 17 +#endif + +#define CRYPT_MODE_CBCI 6 +#define CRYPT_MODE_CFBP 7 +#define CRYPT_MODE_OFBP 8 +#define CRYPT_MODE_CBCOFM 9 +#define CRYPT_MODE_CBCOFMI 10 + +#define ALG_SID_RC2 2 + +#define ALG_SID_RC4 1 +#define ALG_SID_SEAL 2 + +#define ALG_SID_DH_SANDF 1 +#define ALG_SID_DH_EPHEM 2 +#define ALG_SID_AGREED_KEY_ANY 3 +#define ALG_SID_KEA 4 +#if NTDDI_VERSION >= NTDDI_VISTA +#define ALG_SID_ECDH 5 +#define ALG_SID_ECDH_EPHEM 6 +#endif + +#define ALG_SID_MD2 1 +#define ALG_SID_MD4 2 +#define ALG_SID_MD5 3 +#define ALG_SID_SHA 4 +#define ALG_SID_SHA1 4 +#define ALG_SID_MAC 5 +#define ALG_SID_RIPEMD 6 +#define ALG_SID_RIPEMD160 7 +#define ALG_SID_SSL3SHAMD5 8 +#define ALG_SID_HMAC 9 +#define ALG_SID_TLS1PRF 10 +#if NTDDI_VERSION >= NTDDI_WINXP +#define ALG_SID_HASH_REPLACE_OWF 11 +#endif +#if NTDDI_VERSION > NTDDI_WINXPSP2 +#define ALG_SID_SHA_256 12 +#define ALG_SID_SHA_384 13 +#define ALG_SID_SHA_512 14 +#endif + +#define ALG_SID_SSL3_MASTER 1 +#define ALG_SID_SCHANNEL_MASTER_HASH 2 +#define ALG_SID_SCHANNEL_MAC_KEY 3 +#define ALG_SID_PCT1_MASTER 4 +#define ALG_SID_SSL2_MASTER 5 +#define ALG_SID_TLS1_MASTER 6 +#define ALG_SID_SCHANNEL_ENC_KEY 7 + +#if NTDDI_VERSION >= NTDDI_VISTA +#define ALG_SID_ECMQV 1 +#endif + +#define ALG_SID_EXAMPLE 80 + +#ifndef ALGIDDEF +#define ALGIDDEF + typedef unsigned int ALG_ID; +#endif + +#define CALG_MD2 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2) +#define CALG_MD4 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4) +#define CALG_MD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5) +#define CALG_SHA (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA) +#define CALG_SHA1 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA1) +#define CALG_MAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC) +#define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY) +#define CALG_DSS_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY) +#if NTDDI_VERSION >= NTDDI_WINXP +#define CALG_NO_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_ANY | ALG_SID_ANY) +#endif +#define CALG_RSA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY) +#define CALG_DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES) +#define CALG_3DES_112 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_3DES_112) +#define CALG_3DES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_3DES) +#define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX) +#define CALG_RC2 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2) +#define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4) +#define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL) +#define CALG_DH_SF (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_DH|ALG_SID_DH_SANDF) +#define CALG_DH_EPHEM (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_DH|ALG_SID_DH_EPHEM) +#define CALG_AGREEDKEY_ANY (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_DH|ALG_SID_AGREED_KEY_ANY) +#define CALG_KEA_KEYX (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_DH|ALG_SID_KEA) +#define CALG_HUGHES_MD5 (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_ANY|ALG_SID_MD5) +#define CALG_SKIPJACK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_SKIPJACK) +#define CALG_TEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_TEK) +#define CALG_CYLINK_MEK (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_CYLINK_MEK) +#define CALG_SSL3_SHAMD5 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SSL3SHAMD5) +#define CALG_SSL3_MASTER (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_SSL3_MASTER) +#define CALG_SCHANNEL_MASTER_HASH (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_SCHANNEL_MASTER_HASH) +#define CALG_SCHANNEL_MAC_KEY (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_SCHANNEL_MAC_KEY) +#define CALG_SCHANNEL_ENC_KEY (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_SCHANNEL_ENC_KEY) +#define CALG_PCT1_MASTER (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_PCT1_MASTER) +#define CALG_SSL2_MASTER (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_SSL2_MASTER) +#define CALG_TLS1_MASTER (ALG_CLASS_MSG_ENCRYPT|ALG_TYPE_SECURECHANNEL|ALG_SID_TLS1_MASTER) +#define CALG_RC5 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC5) +#define CALG_HMAC (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HMAC) +#define CALG_TLS1PRF (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_TLS1PRF) +#if NTDDI_VERSION >= NTDDI_WINXP +#define CALG_HASH_REPLACE_OWF (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_HASH_REPLACE_OWF) +#define CALG_AES_128 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_128) +#define CALG_AES_192 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_192) +#define CALG_AES_256 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES_256) +#define CALG_AES (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_AES) +#endif +#if NTDDI_VERSION > NTDDI_WINXPSP2 +#define CALG_SHA_256 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_256) +#define CALG_SHA_384 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_384) +#define CALG_SHA_512 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA_512) +#endif +#if NTDDI_VERSION >= NTDDI_VISTA +#define CALG_ECDH (ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_DH | ALG_SID_ECDH) +#define CALG_ECDH_EPHEM (ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ECDH | ALG_SID_ECDH_EPHEM) +#define CALG_ECMQV (ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_ANY | ALG_SID_ECMQV) +#define CALG_ECDSA (ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_ECDSA) +#define CALG_NULLCIPHER (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_ANY | 0) +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 +#define CALG_THIRDPARTY_KEY_EXCHANGE (ALG_CLASS_KEY_EXCHANGE | ALG_TYPE_THIRDPARTY | ALG_SID_THIRDPARTY_ANY) +#define CALG_THIRDPARTY_SIGNATURE (ALG_CLASS_SIGNATURE | ALG_TYPE_THIRDPARTY | ALG_SID_THIRDPARTY_ANY) +#define CALG_THIRDPARTY_CIPHER (ALG_CLASS_DATA_ENCRYPT | ALG_TYPE_THIRDPARTY | ALG_SID_THIRDPARTY_ANY) +#define CALG_THIRDPARTY_HASH (ALG_CLASS_HASH | ALG_TYPE_THIRDPARTY | ALG_SID_THIRDPARTY_ANY) +#endif + +#if NTDDI_VERSION < NTDDI_WINXP +#define SIGNATURE_RESOURCE_NUMBER 0x29A + + typedef struct _VTableProvStruc { + DWORD Version; + FARPROC FuncVerifyImage; + FARPROC FuncReturnhWnd; + DWORD dwProvType; + BYTE *pbContextInfo; + DWORD cbContextInfo; + LPSTR pszProvName; + } VTableProvStruc, *PVTableProvStruc; +#endif + +/* In ncrypt.h too */ +#ifndef HCRYPTPROV_DEFINED +#define HCRYPTPROV_DEFINED + typedef ULONG_PTR HCRYPTHASH; + typedef ULONG_PTR HCRYPTKEY; + typedef ULONG_PTR HCRYPTPROV; +#endif + +#define CRYPT_VERIFYCONTEXT 0xf0000000 +#define CRYPT_NEWKEYSET 0x8 +#define CRYPT_DELETEKEYSET 0x10 +#define CRYPT_MACHINE_KEYSET 0x20 +#define CRYPT_SILENT 0x40 +#if NTDDI_VERSION >= NTDDI_VISTA +#define CRYPT_DEFAULT_CONTAINER_OPTIONAL 0x80 +#endif + +#define CRYPT_EXPORTABLE 0x1 +#define CRYPT_USER_PROTECTED 0x2 +#define CRYPT_CREATE_SALT 0x4 +#define CRYPT_UPDATE_KEY 0x8 +#define CRYPT_NO_SALT 0x10 +#define CRYPT_PREGEN 0x40 +#define CRYPT_RECIPIENT 0x10 +#define CRYPT_INITIATOR 0x40 +#define CRYPT_ONLINE 0x80 +#define CRYPT_SF 0x100 +#define CRYPT_CREATE_IV 0x200 +#define CRYPT_KEK 0x400 +#define CRYPT_DATA_KEY 0x800 +#define CRYPT_VOLATILE 0x1000 +#define CRYPT_SGCKEY 0x2000 +#if NTDDI_VERSION >= NTDDI_WINXP +#define CRYPT_ARCHIVABLE 0x4000 +#endif +#if NTDDI_VERSION >= NTDDI_VISTA +#define CRYPT_FORCE_KEY_PROTECTION_HIGH 0x8000 +#endif +#define CRYPT_USER_PROTECTED_STRONG 0x100000 + +#define RSA1024BIT_KEY 0x4000000 + +#define CRYPT_SERVER 0x400 + +#define KEY_LENGTH_MASK 0xffff0000 + +#define CRYPT_Y_ONLY 0x1 +#define CRYPT_SSL2_FALLBACK 0x2 +#define CRYPT_DESTROYKEY 0x4 +#if NTDDI_VERSION >= NTDDI_WS03 +#define CRYPT_DECRYPT_RSA_NO_PADDING_CHECK 0x20 +#endif +#define CRYPT_OAEP 0x40 +#define CRYPT_BLOB_VER3 0x80 +#if NTDDI_VERSION >= NTDDI_WINXP +#define CRYPT_IPSEC_HMAC_KEY 0x100 +#endif + +#define CRYPT_SECRETDIGEST 0x1 +#if NTDDI_VERSION >= NTDDI_WINXP +#define CRYPT_OWF_REPL_LM_HASH 0x1 +#endif +#define CRYPT_LITTLE_ENDIAN 0x1 + +#define CRYPT_NOHASHOID 0x1 +#define CRYPT_TYPE2_FORMAT 0x2 +#define CRYPT_X931_FORMAT 0x4 + +#define CRYPT_MACHINE_DEFAULT 0x1 +#define CRYPT_USER_DEFAULT 0x2 +#define CRYPT_DELETE_DEFAULT 0x4 + +#define SIMPLEBLOB 0x1 +#define PUBLICKEYBLOB 0x6 +#define PRIVATEKEYBLOB 0x7 +#define PLAINTEXTKEYBLOB 0x8 +#define OPAQUEKEYBLOB 0x9 +#define PUBLICKEYBLOBEX 0xa +#define SYMMETRICWRAPKEYBLOB 0xb +#if NTDDI_VERSION >= NTDDI_WS03 +#define KEYSTATEBLOB 0xc +#endif + +#define AT_KEYEXCHANGE 1 +#define AT_SIGNATURE 2 + +#define CRYPT_USERDATA 1 + +#define KP_IV 1 +#define KP_SALT 2 +#define KP_PADDING 3 +#define KP_MODE 4 +#define KP_MODE_BITS 5 +#define KP_PERMISSIONS 6 +#define KP_ALGID 7 +#define KP_BLOCKLEN 8 +#define KP_KEYLEN 9 +#define KP_SALT_EX 10 +#define KP_P 11 +#define KP_G 12 +#define KP_Q 13 +#define KP_X 14 +#define KP_Y 15 +#define KP_RA 16 +#define KP_RB 17 +#define KP_INFO 18 +#define KP_EFFECTIVE_KEYLEN 19 +#define KP_SCHANNEL_ALG 20 +#define KP_CLIENT_RANDOM 21 +#define KP_SERVER_RANDOM 22 +#define KP_RP 23 +#define KP_PRECOMP_MD5 24 +#define KP_PRECOMP_SHA 25 +#define KP_CERTIFICATE 26 +#define KP_CLEAR_KEY 27 +#define KP_PUB_EX_LEN 28 +#define KP_PUB_EX_VAL 29 +#define KP_KEYVAL 30 +#define KP_ADMIN_PIN 31 +#define KP_KEYEXCHANGE_PIN 32 +#define KP_SIGNATURE_PIN 33 +#define KP_PREHASH 34 +#if NTDDI_VERSION >= NTDDI_WS03 +#define KP_ROUNDS 35 +#endif +#define KP_OAEP_PARAMS 36 +#define KP_CMS_KEY_INFO 37 +#define KP_CMS_DH_KEY_INFO 38 +#define KP_PUB_PARAMS 39 +#define KP_VERIFY_PARAMS 40 +#define KP_HIGHEST_VERSION 41 +#if NTDDI_VERSION >= NTDDI_WS03 +#define KP_GET_USE_COUNT 42 +#endif +#define KP_PIN_ID 43 +#define KP_PIN_INFO 44 + +#define PKCS5_PADDING 1 +#define RANDOM_PADDING 2 +#define ZERO_PADDING 3 + +#define CRYPT_MODE_CBC 1 +#define CRYPT_MODE_ECB 2 +#define CRYPT_MODE_OFB 3 +#define CRYPT_MODE_CFB 4 +#define CRYPT_MODE_CTS 5 + +#define CRYPT_ENCRYPT 0x1 +#define CRYPT_DECRYPT 0x2 +#define CRYPT_EXPORT 0x4 +#define CRYPT_READ 0x8 +#define CRYPT_WRITE 0x10 +#define CRYPT_MAC 0x20 +#define CRYPT_EXPORT_KEY 0x40 +#define CRYPT_IMPORT_KEY 0x80 +#if NTDDI_VERSION >= NTDDI_WINXP +#define CRYPT_ARCHIVE 0x100 +#endif + +#define HP_ALGID 0x1 +#define HP_HASHVAL 0x2 +#define HP_HASHSIZE 0x4 +#define HP_HMAC_INFO 0x5 +#define HP_TLS1PRF_LABEL 0x6 +#define HP_TLS1PRF_SEED 0x7 + +#define CRYPT_FAILED FALSE +#define CRYPT_SUCCEED TRUE + +#define RCRYPT_SUCCEEDED(RT) ((RT) == CRYPT_SUCCEED) +#define RCRYPT_FAILED(RT) ((RT) == CRYPT_FAILED) + +#define PP_ENUMALGS 1 +#define PP_ENUMCONTAINERS 2 +#define PP_IMPTYPE 3 +#define PP_NAME 4 +#define PP_VERSION 5 +#define PP_CONTAINER 6 +#define PP_CHANGE_PASSWORD 7 +#define PP_KEYSET_SEC_DESCR 8 +#define PP_CERTCHAIN 9 +#define PP_KEY_TYPE_SUBTYPE 10 +#define PP_PROVTYPE 16 +#define PP_KEYSTORAGE 17 +#define PP_APPLI_CERT 18 +#define PP_SYM_KEYSIZE 19 +#define PP_SESSION_KEYSIZE 20 +#define PP_UI_PROMPT 21 +#define PP_ENUMALGS_EX 22 +#define PP_ENUMMANDROOTS 25 +#define PP_ENUMELECTROOTS 26 +#define PP_KEYSET_TYPE 27 +#define PP_ADMIN_PIN 31 +#define PP_KEYEXCHANGE_PIN 32 +#define PP_SIGNATURE_PIN 33 +#define PP_SIG_KEYSIZE_INC 34 +#define PP_KEYX_KEYSIZE_INC 35 +#define PP_UNIQUE_CONTAINER 36 +#define PP_SGC_INFO 37 +#define PP_USE_HARDWARE_RNG 38 +#define PP_KEYSPEC 39 +#define PP_ENUMEX_SIGNING_PROT 40 +#if NTDDI_VERSION >= NTDDI_WS03 +#define PP_CRYPT_COUNT_KEY_USE 41 +#endif +#if NTDDI_VERSION >= NTDDI_VISTA +#define PP_USER_CERTSTORE 42 +#define PP_SMARTCARD_READER 43 +#define PP_SMARTCARD_GUID 45 +#define PP_ROOT_CERTSTORE 46 +#endif +#if NTDDI_VERSION >= NTDDI_WIN8 +#define PP_SMARTCARD_READER_ICON 47 +#endif + +#define CRYPT_FIRST 1 +#define CRYPT_NEXT 2 +#define CRYPT_SGC_ENUM 4 + +#define CRYPT_IMPL_HARDWARE 1 +#define CRYPT_IMPL_SOFTWARE 2 +#define CRYPT_IMPL_MIXED 3 +#define CRYPT_IMPL_UNKNOWN 4 +#define CRYPT_IMPL_REMOVABLE 8 + +#define CRYPT_SEC_DESCR 0x1 +#define CRYPT_PSTORE 0x2 +#define CRYPT_UI_PROMPT 0x4 + +#define CRYPT_FLAG_PCT1 0x1 +#define CRYPT_FLAG_SSL2 0x2 +#define CRYPT_FLAG_SSL3 0x4 +#define CRYPT_FLAG_TLS1 0x8 +#define CRYPT_FLAG_IPSEC 0x10 +#define CRYPT_FLAG_SIGNING 0x20 + +#define CRYPT_SGC 0x1 +#define CRYPT_FASTSGC 0x2 + +#define PP_CLIENT_HWND 1 +#define PP_CONTEXT_INFO 11 +#define PP_KEYEXCHANGE_KEYSIZE 12 +#define PP_SIGNATURE_KEYSIZE 13 +#define PP_KEYEXCHANGE_ALG 14 +#define PP_SIGNATURE_ALG 15 +#define PP_DELETEKEY 24 +#if NTDDI_VERSION >= NTDDI_VISTA +#define PP_PIN_PROMPT_STRING 44 +#define PP_SECURE_KEYEXCHANGE_PIN 47 +#define PP_SECURE_SIGNATURE_PIN 48 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 +#define PP_DISMISS_PIN_UI_SEC 49 +#endif + +#define PROV_RSA_FULL 1 +#define PROV_RSA_SIG 2 +#define PROV_DSS 3 +#define PROV_FORTEZZA 4 +#define PROV_MS_EXCHANGE 5 +#define PROV_SSL 6 +#define PROV_STT_MER 7 +#define PROV_STT_ACQ 8 +#define PROV_STT_BRND 9 +#define PROV_STT_ROOT 10 +#define PROV_STT_ISS 11 +#define PROV_RSA_SCHANNEL 12 +#define PROV_DSS_DH 13 +#define PROV_EC_ECDSA_SIG 14 +#define PROV_EC_ECNRA_SIG 15 +#define PROV_EC_ECDSA_FULL 16 +#define PROV_EC_ECNRA_FULL 17 +#define PROV_DH_SCHANNEL 18 +#define PROV_SPYRUS_LYNKS 20 +#define PROV_RNG 21 +#define PROV_INTEL_SEC 22 +#if NTDDI_VERSION >= NTDDI_WINXP +#define PROV_REPLACE_OWF 23 +#define PROV_RSA_AES 24 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define MS_DEF_PROV __MINGW_NAME_UAW(MS_DEF_PROV) +#define MS_ENHANCED_PROV __MINGW_NAME_UAW(MS_ENHANCED_PROV) +#define MS_STRONG_PROV __MINGW_NAME_UAW(MS_STRONG_PROV) +#define MS_DEF_RSA_SIG_PROV __MINGW_NAME_UAW(MS_DEF_RSA_SIG_PROV) +#define MS_DEF_RSA_SCHANNEL_PROV __MINGW_NAME_UAW(MS_DEF_RSA_SCHANNEL_PROV) +#define MS_DEF_DSS_PROV __MINGW_NAME_UAW(MS_DEF_DSS_PROV) +#define MS_DEF_DSS_DH_PROV __MINGW_NAME_UAW(MS_DEF_DSS_DH_PROV) +#define MS_ENH_DSS_DH_PROV __MINGW_NAME_UAW(MS_ENH_DSS_DH_PROV) +#define MS_DEF_DH_SCHANNEL_PROV __MINGW_NAME_UAW(MS_DEF_DH_SCHANNEL_PROV) +#define MS_SCARD_PROV __MINGW_NAME_UAW(MS_SCARD_PROV) +#if NTDDI_VERSION >= NTDDI_WINXP +#define MS_ENH_RSA_AES_PROV_XP __MINGW_NAME_UAW(MS_ENH_RSA_AES_PROV_XP) +#define MS_ENH_RSA_AES_PROV __MINGW_NAME_UAW(MS_ENH_RSA_AES_PROV) +#endif + +#define MS_DEF_PROV_A "Microsoft Base Cryptographic Provider v1.0" +#define MS_DEF_PROV_W L"Microsoft Base Cryptographic Provider v1.0" +#define MS_ENHANCED_PROV_A "Microsoft Enhanced Cryptographic Provider v1.0" +#define MS_ENHANCED_PROV_W L"Microsoft Enhanced Cryptographic Provider v1.0" +#define MS_STRONG_PROV_A "Microsoft Strong Cryptographic Provider" +#define MS_STRONG_PROV_W L"Microsoft Strong Cryptographic Provider" +#define MS_DEF_RSA_SIG_PROV_A "Microsoft RSA Signature Cryptographic Provider" +#define MS_DEF_RSA_SIG_PROV_W L"Microsoft RSA Signature Cryptographic Provider" +#define MS_DEF_RSA_SCHANNEL_PROV_A "Microsoft RSA SChannel Cryptographic Provider" +#define MS_DEF_RSA_SCHANNEL_PROV_W L"Microsoft RSA SChannel Cryptographic Provider" +#define MS_DEF_DSS_PROV_A "Microsoft Base DSS Cryptographic Provider" +#define MS_DEF_DSS_PROV_W L"Microsoft Base DSS Cryptographic Provider" +#define MS_DEF_DSS_DH_PROV_A "Microsoft Base DSS and Diffie-Hellman Cryptographic Provider" +#define MS_DEF_DSS_DH_PROV_W L"Microsoft Base DSS and Diffie-Hellman Cryptographic Provider" +#define MS_ENH_DSS_DH_PROV_A "Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider" +#define MS_ENH_DSS_DH_PROV_W L"Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider" +#define MS_DEF_DH_SCHANNEL_PROV_A "Microsoft DH SChannel Cryptographic Provider" +#define MS_DEF_DH_SCHANNEL_PROV_W L"Microsoft DH SChannel Cryptographic Provider" +#define MS_SCARD_PROV_A "Microsoft Base Smart Card Crypto Provider" +#define MS_SCARD_PROV_W L"Microsoft Base Smart Card Crypto Provider" +#if NTDDI_VERSION >= NTDDI_WINXP +#define MS_ENH_RSA_AES_PROV_A "Microsoft Enhanced RSA and AES Cryptographic Provider" +#define MS_ENH_RSA_AES_PROV_W L"Microsoft Enhanced RSA and AES Cryptographic Provider" +#define MS_ENH_RSA_AES_PROV_XP_A "Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)" +#define MS_ENH_RSA_AES_PROV_XP_W L"Microsoft Enhanced RSA and AES Cryptographic Provider (Prototype)" +#endif + +#define MAXUIDLEN 64 + +#define EXPO_OFFLOAD_REG_VALUE "ExpoOffload" +#define EXPO_OFFLOAD_FUNC_NAME "OffloadModExpo" + +#ifndef szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS +#define szKEY_CRYPTOAPI_PRIVATE_KEY_OPTIONS "Software\\Policies\\Microsoft\\Cryptography" +#endif + +#define szKEY_CACHE_ENABLED "CachePrivateKeys" +#define szKEY_CACHE_SECONDS "PrivateKeyLifetimeSeconds" + +#if NTDDI_VERSION >= NTDDI_WINXP +#define szPRIV_KEY_CACHE_MAX_ITEMS "PrivKeyCacheMaxItems" +#define cPRIV_KEY_CACHE_MAX_ITEMS_DEFAULT 20 + +#define szPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS "PrivKeyCachePurgeIntervalSeconds" +#define cPRIV_KEY_CACHE_PURGE_INTERVAL_SECONDS_DEFAULT 86400 +#endif + +#define CUR_BLOB_VERSION 2 + + typedef struct _CMS_KEY_INFO { + DWORD dwVersion; + ALG_ID Algid; + BYTE *pbOID; + DWORD cbOID; + } CMS_KEY_INFO,*PCMS_KEY_INFO; + + typedef struct _HMAC_Info { + ALG_ID HashAlgid; + BYTE *pbInnerString; + DWORD cbInnerString; + BYTE *pbOuterString; + DWORD cbOuterString; + } HMAC_INFO,*PHMAC_INFO; + + typedef struct _SCHANNEL_ALG { + DWORD dwUse; + ALG_ID Algid; + DWORD cBits; + DWORD dwFlags; + DWORD dwReserved; + } SCHANNEL_ALG,*PSCHANNEL_ALG; +#define SCHANNEL_MAC_KEY 0x0 +#define SCHANNEL_ENC_KEY 0x1 + +#define INTERNATIONAL_USAGE 0x1 + + typedef struct _PROV_ENUMALGS { + ALG_ID aiAlgid; + DWORD dwBitLen; + DWORD dwNameLen; + CHAR szName[20]; + } PROV_ENUMALGS; + + typedef struct _PROV_ENUMALGS_EX { + ALG_ID aiAlgid; + DWORD dwDefaultLen; + DWORD dwMinLen; + DWORD dwMaxLen; + DWORD dwProtocols; + DWORD dwNameLen; + CHAR szName[20]; + DWORD dwLongNameLen; + CHAR szLongName[40]; + } PROV_ENUMALGS_EX; + + typedef struct _PUBLICKEYSTRUC { + BYTE bType; + BYTE bVersion; + WORD reserved; + ALG_ID aiKeyAlg; + } BLOBHEADER,PUBLICKEYSTRUC; + + typedef struct _RSAPUBKEY { + DWORD magic; + DWORD bitlen; + DWORD pubexp; + } RSAPUBKEY; + + typedef struct _PUBKEY { + DWORD magic; + DWORD bitlen; + } DHPUBKEY,DSSPUBKEY,KEAPUBKEY,TEKPUBKEY; + + typedef struct _DSSSEED { + DWORD counter; + BYTE seed[20]; + } DSSSEED; + + typedef struct _PUBKEYVER3 { + DWORD magic; + DWORD bitlenP; + DWORD bitlenQ; + DWORD bitlenJ; + DSSSEED DSSSeed; + } DHPUBKEY_VER3, DSSPUBKEY_VER3; + + typedef struct _PRIVKEYVER3 { + DWORD magic; + DWORD bitlenP; + DWORD bitlenQ; + DWORD bitlenJ; + DWORD bitlenX; + DSSSEED DSSSeed; + } DHPRIVKEY_VER3,DSSPRIVKEY_VER3; + + typedef struct _KEY_TYPE_SUBTYPE { + DWORD dwKeySpec; + GUID Type; + GUID Subtype; + } KEY_TYPE_SUBTYPE,*PKEY_TYPE_SUBTYPE; + + typedef struct _CERT_FORTEZZA_DATA_PROP { + unsigned char SerialNumber[8]; + int CertIndex; + unsigned char CertLabel[36]; + } CERT_FORTEZZA_DATA_PROP; + +#if NTDDI_VERSION >= NTDDI_WS03 + typedef struct _CRYPT_RC4_KEY_STATE { + unsigned char Key[16]; + unsigned char SBox[256]; + unsigned char i; + unsigned char j; + } CRYPT_RC4_KEY_STATE,*PCRYPT_RC4_KEY_STATE; + + typedef struct _CRYPT_DES_KEY_STATE { + unsigned char Key[8]; + unsigned char IV[8]; + unsigned char Feedback[8]; + } CRYPT_DES_KEY_STATE,*PCRYPT_DES_KEY_STATE; + + typedef struct _CRYPT_3DES_KEY_STATE { + unsigned char Key[24]; + unsigned char IV[8]; + unsigned char Feedback[8]; + } CRYPT_3DES_KEY_STATE,*PCRYPT_3DES_KEY_STATE; +#endif + +#if NTDDI_VERSION >= NTDDI_VISTA + typedef struct _CRYPT_AES_128_KEY_STATE { + unsigned char Key[16]; + unsigned char IV[16]; + unsigned char EncryptionState[11][16]; + unsigned char DecryptionState[11][16]; + unsigned char Feedback[16]; + } CRYPT_AES_128_KEY_STATE,*PCRYPT_AES_128_KEY_STATE; + + typedef struct _CRYPT_AES_256_KEY_STATE { + unsigned char Key[32]; + unsigned char IV[16]; + unsigned char EncryptionState[15][16]; + unsigned char DecryptionState[15][16]; + unsigned char Feedback[16]; + } CRYPT_AES_256_KEY_STATE,*PCRYPT_AES_256_KEY_STATE; +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + +#ifndef CRYPTO_BLOBS_DEFINED +#define CRYPTO_BLOBS_DEFINED + typedef struct _CRYPTOAPI_BLOB { + DWORD cbData; + BYTE *pbData; + } CRYPT_INTEGER_BLOB,*PCRYPT_INTEGER_BLOB,CRYPT_UINT_BLOB,*PCRYPT_UINT_BLOB,CRYPT_OBJID_BLOB,*PCRYPT_OBJID_BLOB,CERT_NAME_BLOB,*PCERT_NAME_BLOB,CERT_RDN_VALUE_BLOB,*PCERT_RDN_VALUE_BLOB,CERT_BLOB,*PCERT_BLOB,CRL_BLOB,*PCRL_BLOB,DATA_BLOB,*PDATA_BLOB,CRYPT_DATA_BLOB,*PCRYPT_DATA_BLOB,CRYPT_HASH_BLOB,*PCRYPT_HASH_BLOB,CRYPT_DIGEST_BLOB,*PCRYPT_DIGEST_BLOB,CRYPT_DER_BLOB,*PCRYPT_DER_BLOB,CRYPT_ATTR_BLOB,*PCRYPT_ATTR_BLOB; +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_RS4 || defined(WINSTORECOMPAT) + WINIMPM WINBOOL WINAPI CryptAcquireContextA (HCRYPTPROV *phProv, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptAcquireContextW (HCRYPTPROV *phProv, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags); +#define CryptAcquireContext __MINGW_NAME_AW(CryptAcquireContext) +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 || defined(WINSTORECOMPAT) + WINIMPM WINBOOL WINAPI CryptGenRandom (HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINIMPM WINBOOL WINAPI CryptReleaseContext (HCRYPTPROV hProv, DWORD dwFlags); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CryptEnumProviderTypes __MINGW_NAME_AW(CryptEnumProviderTypes) +#define CryptSetProvider __MINGW_NAME_AW(CryptSetProvider) +#define CryptSetProviderEx __MINGW_NAME_AW(CryptSetProviderEx) + + WINIMPM WINBOOL WINAPI CryptHashSessionKey (HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptSetProviderA (LPCSTR pszProvName, DWORD dwProvType); + WINIMPM WINBOOL WINAPI CryptSetProviderExA (LPCSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptSetProviderExW (LPCWSTR pszProvName, DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptEnumProviderTypesA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szTypeName, DWORD *pcbTypeName); + WINIMPM WINBOOL WINAPI CryptEnumProviderTypesW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szTypeName, DWORD *pcbTypeName); + WINIMPM WINBOOL WINAPI CryptContextAddRef (HCRYPTPROV hProv, DWORD *pdwReserved, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptDuplicateHash (HCRYPTHASH hHash, DWORD *pdwReserved, DWORD dwFlags, HCRYPTHASH *phHash); +#if NTDDI_VERSION >= NTDDI_WS03 + WINBOOL __cdecl GetEncSChannel (BYTE **pData, DWORD *dwDecSize); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_RS4 + typedef struct _CMS_DH_KEY_INFO { + DWORD dwVersion; + ALG_ID Algid; + LPSTR pszContentEncObjId; + CRYPT_DATA_BLOB PubInfo; + void *pReserved; + } CMS_DH_KEY_INFO,*PCMS_DH_KEY_INFO; + +#define CryptSignHash __MINGW_NAME_AW(CryptSignHash) +#define CryptVerifySignature __MINGW_NAME_AW(CryptVerifySignature) +#define CryptGetDefaultProvider __MINGW_NAME_AW(CryptGetDefaultProvider) + + WINIMPM WINBOOL WINAPI CryptGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKEY *phKey); + WINIMPM WINBOOL WINAPI CryptDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, HCRYPTKEY *phKey); + WINIMPM WINBOOL WINAPI CryptDestroyKey (HCRYPTKEY hKey); + WINIMPM WINBOOL WINAPI CryptSetKeyParam (HCRYPTKEY hKey, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetKeyParam (HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptSetHashParam (HCRYPTHASH hHash, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetHashParam (HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptSetProvParam (HCRYPTPROV hProv, DWORD dwParam, CONST BYTE *pbData, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey); + WINIMPM WINBOOL WINAPI CryptExportKey (HCRYPTKEY hKey, HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen); + WINIMPM WINBOOL WINAPI CryptImportKey (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey); + WINIMPM WINBOOL WINAPI CryptEncrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen); + WINIMPM WINBOOL WINAPI CryptDecrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, WINBOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen); + WINIMPM WINBOOL WINAPI CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash); + WINIMPM WINBOOL WINAPI CryptHashData (HCRYPTHASH hHash, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptDestroyHash (HCRYPTHASH hHash); + WINIMPM WINBOOL WINAPI CryptSignHashA (HCRYPTHASH hHash, DWORD dwKeySpec, LPCSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen); + WINIMPM WINBOOL WINAPI CryptSignHashW (HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR szDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen); + WINIMPM WINBOOL WINAPI CryptVerifySignatureA (HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCSTR szDescription, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptVerifySignatureW (HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCWSTR szDescription, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetDefaultProviderA (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPSTR pszProvName, DWORD *pcbProvName); + WINIMPM WINBOOL WINAPI CryptGetDefaultProviderW (DWORD dwProvType, DWORD *pdwReserved, DWORD dwFlags, LPWSTR pszProvName, DWORD *pcbProvName); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 + WINIMPM WINBOOL WINAPI CryptDuplicateKey (HCRYPTKEY hKey, DWORD *pdwReserved, DWORD dwFlags, HCRYPTKEY *phKey); + WINIMPM WINBOOL WINAPI CryptEnumProvidersA (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPSTR szProvName, DWORD *pcbProvName); + WINIMPM WINBOOL WINAPI CryptEnumProvidersW (DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR szProvName, DWORD *pcbProvName); + WINIMPM WINBOOL WINAPI CryptSetProviderW (LPCWSTR pszProvName, DWORD dwProvType); + +#define CryptEnumProviders __MINGW_NAME_AW(CryptEnumProviders) +#endif + +#ifndef _DDK_DRIVER_ + typedef ULONG_PTR HCRYPTPROV_OR_NCRYPT_KEY_HANDLE; + typedef ULONG_PTR HCRYPTPROV_LEGACY; + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#include + + typedef struct _CRYPT_BIT_BLOB { + DWORD cbData; + BYTE *pbData; + DWORD cUnusedBits; + } CRYPT_BIT_BLOB,*PCRYPT_BIT_BLOB; + + typedef struct _CRYPT_ALGORITHM_IDENTIFIER { + LPSTR pszObjId; + CRYPT_OBJID_BLOB Parameters; + } CRYPT_ALGORITHM_IDENTIFIER,*PCRYPT_ALGORITHM_IDENTIFIER; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define szOID_RSA "1.2.840.113549" +#define szOID_PKCS "1.2.840.113549.1" +#define szOID_RSA_HASH "1.2.840.113549.2" +#define szOID_RSA_ENCRYPT "1.2.840.113549.3" + +#define szOID_PKCS_1 "1.2.840.113549.1.1" +#define szOID_PKCS_2 "1.2.840.113549.1.2" +#define szOID_PKCS_3 "1.2.840.113549.1.3" +#define szOID_PKCS_4 "1.2.840.113549.1.4" +#define szOID_PKCS_5 "1.2.840.113549.1.5" +#define szOID_PKCS_6 "1.2.840.113549.1.6" +#define szOID_PKCS_7 "1.2.840.113549.1.7" +#define szOID_PKCS_8 "1.2.840.113549.1.8" +#define szOID_PKCS_9 "1.2.840.113549.1.9" +#define szOID_PKCS_10 "1.2.840.113549.1.10" +#define szOID_PKCS_12 "1.2.840.113549.1.12" + +#define szOID_RSA_RSA "1.2.840.113549.1.1.1" +#define szOID_RSA_MD2RSA "1.2.840.113549.1.1.2" +#define szOID_RSA_MD4RSA "1.2.840.113549.1.1.3" +#define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4" +#define szOID_RSA_SHA1RSA "1.2.840.113549.1.1.5" +#define szOID_RSA_SETOAEP_RSA "1.2.840.113549.1.1.6" + +#define szOID_RSAES_OAEP "1.2.840.113549.1.1.7" +#define szOID_RSA_MGF1 "1.2.840.113549.1.1.8" +#define szOID_RSA_PSPECIFIED "1.2.840.113549.1.1.9" +#define szOID_RSA_SSA_PSS "1.2.840.113549.1.1.10" +#define szOID_RSA_SHA256RSA "1.2.840.113549.1.1.11" +#define szOID_RSA_SHA384RSA "1.2.840.113549.1.1.12" +#define szOID_RSA_SHA512RSA "1.2.840.113549.1.1.13" + +#define szOID_RSA_DH "1.2.840.113549.1.3.1" + +#define szOID_RSA_data "1.2.840.113549.1.7.1" +#define szOID_RSA_signedData "1.2.840.113549.1.7.2" +#define szOID_RSA_envelopedData "1.2.840.113549.1.7.3" +#define szOID_RSA_signEnvData "1.2.840.113549.1.7.4" +#define szOID_RSA_digestedData "1.2.840.113549.1.7.5" +#define szOID_RSA_hashedData "1.2.840.113549.1.7.5" +#define szOID_RSA_encryptedData "1.2.840.113549.1.7.6" + +#define szOID_RSA_emailAddr "1.2.840.113549.1.9.1" +#define szOID_RSA_unstructName "1.2.840.113549.1.9.2" +#define szOID_RSA_contentType "1.2.840.113549.1.9.3" +#define szOID_RSA_messageDigest "1.2.840.113549.1.9.4" +#define szOID_RSA_signingTime "1.2.840.113549.1.9.5" +#define szOID_RSA_counterSign "1.2.840.113549.1.9.6" +#define szOID_RSA_challengePwd "1.2.840.113549.1.9.7" +#define szOID_RSA_unstructAddr "1.2.840.113549.1.9.8" +#define szOID_RSA_extCertAttrs "1.2.840.113549.1.9.9" +#define szOID_RSA_certExtensions "1.2.840.113549.1.9.14" +#define szOID_RSA_SMIMECapabilities "1.2.840.113549.1.9.15" +#define szOID_RSA_preferSignedData "1.2.840.113549.1.9.15.1" + +#define szOID_TIMESTAMP_TOKEN "1.2.840.113549.1.9.16.1.4" +#define szOID_RFC3161_counterSign "1.3.6.1.4.1.311.3.3.1" + +#define szOID_RSA_SMIMEalg "1.2.840.113549.1.9.16.3" +#define szOID_RSA_SMIMEalgESDH "1.2.840.113549.1.9.16.3.5" +#define szOID_RSA_SMIMEalgCMS3DESwrap "1.2.840.113549.1.9.16.3.6" +#define szOID_RSA_SMIMEalgCMSRC2wrap "1.2.840.113549.1.9.16.3.7" + +#define szOID_RSA_MD2 "1.2.840.113549.2.2" +#define szOID_RSA_MD4 "1.2.840.113549.2.4" +#define szOID_RSA_MD5 "1.2.840.113549.2.5" + +#define szOID_RSA_RC2CBC "1.2.840.113549.3.2" +#define szOID_RSA_RC4 "1.2.840.113549.3.4" +#define szOID_RSA_DES_EDE3_CBC "1.2.840.113549.3.7" +#define szOID_RSA_RC5_CBCPad "1.2.840.113549.3.9" + +#define szOID_ANSI_X942 "1.2.840.10046" +#define szOID_ANSI_X942_DH "1.2.840.10046.2.1" + +#define szOID_X957 "1.2.840.10040" +#define szOID_X957_DSA "1.2.840.10040.4.1" +#define szOID_X957_SHA1DSA "1.2.840.10040.4.3" + +#define szOID_ECC_PUBLIC_KEY "1.2.840.10045.2.1" +#define szOID_ECC_CURVE_P256 "1.2.840.10045.3.1.7" +#define szOID_ECC_CURVE_P384 "1.3.132.0.34" +#define szOID_ECC_CURVE_P521 "1.3.132.0.35" + +#define szOID_ECC_CURVE_BRAINPOOLP160R1 "1.3.36.3.3.2.8.1.1.1" +#define szOID_ECC_CURVE_BRAINPOOLP160T1 "1.3.36.3.3.2.8.1.1.2" +#define szOID_ECC_CURVE_BRAINPOOLP192R1 "1.3.36.3.3.2.8.1.1.3" +#define szOID_ECC_CURVE_BRAINPOOLP192T1 "1.3.36.3.3.2.8.1.1.4" +#define szOID_ECC_CURVE_BRAINPOOLP224R1 "1.3.36.3.3.2.8.1.1.5" +#define szOID_ECC_CURVE_BRAINPOOLP224T1 "1.3.36.3.3.2.8.1.1.6" +#define szOID_ECC_CURVE_BRAINPOOLP256R1 "1.3.36.3.3.2.8.1.1.7" +#define szOID_ECC_CURVE_BRAINPOOLP256T1 "1.3.36.3.3.2.8.1.1.8" +#define szOID_ECC_CURVE_BRAINPOOLP320R1 "1.3.36.3.3.2.8.1.1.9" +#define szOID_ECC_CURVE_BRAINPOOLP320T1 "1.3.36.3.3.2.8.1.1.10" +#define szOID_ECC_CURVE_BRAINPOOLP384R1 "1.3.36.3.3.2.8.1.1.11" +#define szOID_ECC_CURVE_BRAINPOOLP384T1 "1.3.36.3.3.2.8.1.1.12" +#define szOID_ECC_CURVE_BRAINPOOLP512R1 "1.3.36.3.3.2.8.1.1.13" +#define szOID_ECC_CURVE_BRAINPOOLP512T1 "1.3.36.3.3.2.8.1.1.14" + +#define szOID_ECC_CURVE_EC192WAPI "1.2.156.11235.1.1.2.1" +#define szOID_CN_ECDSA_SHA256 "1.2.156.11235.1.1.1" + +#define szOID_ECC_CURVE_NISTP192 "1.2.840.10045.3.1.1" +#define szOID_ECC_CURVE_NISTP224 "1.3.132.0.33" +#define szOID_ECC_CURVE_NISTP256 szOID_ECC_CURVE_P256 +#define szOID_ECC_CURVE_NISTP384 szOID_ECC_CURVE_P384 +#define szOID_ECC_CURVE_NISTP521 szOID_ECC_CURVE_P521 + +#define szOID_ECC_CURVE_SECP160K1 "1.3.132.0.9" +#define szOID_ECC_CURVE_SECP160R1 "1.3.132.0.8" +#define szOID_ECC_CURVE_SECP160R2 "1.3.132.0.30" +#define szOID_ECC_CURVE_SECP192K1 "1.3.132.0.31" +#define szOID_ECC_CURVE_SECP192R1 szOID_ECC_CURVE_NISTP192 +#define szOID_ECC_CURVE_SECP224K1 "1.3.132.0.32" +#define szOID_ECC_CURVE_SECP224R1 szOID_ECC_CURVE_NISTP224 +#define szOID_ECC_CURVE_SECP256K1 "1.3.132.0.10" +#define szOID_ECC_CURVE_SECP256R1 szOID_ECC_CURVE_P256 +#define szOID_ECC_CURVE_SECP384R1 szOID_ECC_CURVE_P384 +#define szOID_ECC_CURVE_SECP521R1 szOID_ECC_CURVE_P521 + +#define szOID_ECC_CURVE_WTLS7 szOID_ECC_CURVE_SECP160R2 +#define szOID_ECC_CURVE_WTLS9 "2.23.43.1.4.9" +#define szOID_ECC_CURVE_WTLS12 szOID_ECC_CURVE_NISTP224 + +#define szOID_ECC_CURVE_X962P192V1 "1.2.840.10045.3.1.1" +#define szOID_ECC_CURVE_X962P192V2 "1.2.840.10045.3.1.2" +#define szOID_ECC_CURVE_X962P192V3 "1.2.840.10045.3.1.3" +#define szOID_ECC_CURVE_X962P239V1 "1.2.840.10045.3.1.4" +#define szOID_ECC_CURVE_X962P239V2 "1.2.840.10045.3.1.5" +#define szOID_ECC_CURVE_X962P239V3 "1.2.840.10045.3.1.6" +#define szOID_ECC_CURVE_X962P256V1 szOID_ECC_CURVE_P256 + +#define szOID_ECDSA_SHA1 "1.2.840.10045.4.1" +#define szOID_ECDSA_SPECIFIED "1.2.840.10045.4.3" +#define szOID_ECDSA_SHA256 "1.2.840.10045.4.3.2" +#define szOID_ECDSA_SHA384 "1.2.840.10045.4.3.3" +#define szOID_ECDSA_SHA512 "1.2.840.10045.4.3.4" + +#define szOID_NIST_AES128_CBC "2.16.840.1.101.3.4.1.2" +#define szOID_NIST_AES192_CBC "2.16.840.1.101.3.4.1.22" +#define szOID_NIST_AES256_CBC "2.16.840.1.101.3.4.1.42" + +#define szOID_NIST_AES128_WRAP "2.16.840.1.101.3.4.1.5" +#define szOID_NIST_AES192_WRAP "2.16.840.1.101.3.4.1.25" +#define szOID_NIST_AES256_WRAP "2.16.840.1.101.3.4.1.45" + +#define szOID_DH_SINGLE_PASS_STDDH_SHA1_KDF "1.3.133.16.840.63.0.2" +#define szOID_DH_SINGLE_PASS_STDDH_SHA256_KDF "1.3.132.1.11.1" +#define szOID_DH_SINGLE_PASS_STDDH_SHA384_KDF "1.3.132.1.11.2" + +#define szOID_DS "2.5" +#define szOID_DSALG "2.5.8" +#define szOID_DSALG_CRPT "2.5.8.1" +#define szOID_DSALG_HASH "2.5.8.2" +#define szOID_DSALG_SIGN "2.5.8.3" +#define szOID_DSALG_RSA "2.5.8.1.1" + +#define szOID_OIW "1.3.14" + +#define szOID_OIWSEC "1.3.14.3.2" +#define szOID_OIWSEC_md4RSA "1.3.14.3.2.2" +#define szOID_OIWSEC_md5RSA "1.3.14.3.2.3" +#define szOID_OIWSEC_md4RSA2 "1.3.14.3.2.4" +#define szOID_OIWSEC_desECB "1.3.14.3.2.6" +#define szOID_OIWSEC_desCBC "1.3.14.3.2.7" +#define szOID_OIWSEC_desOFB "1.3.14.3.2.8" +#define szOID_OIWSEC_desCFB "1.3.14.3.2.9" +#define szOID_OIWSEC_desMAC "1.3.14.3.2.10" +#define szOID_OIWSEC_rsaSign "1.3.14.3.2.11" +#define szOID_OIWSEC_dsa "1.3.14.3.2.12" +#define szOID_OIWSEC_shaDSA "1.3.14.3.2.13" +#define szOID_OIWSEC_mdc2RSA "1.3.14.3.2.14" +#define szOID_OIWSEC_shaRSA "1.3.14.3.2.15" +#define szOID_OIWSEC_dhCommMod "1.3.14.3.2.16" +#define szOID_OIWSEC_desEDE "1.3.14.3.2.17" +#define szOID_OIWSEC_sha "1.3.14.3.2.18" +#define szOID_OIWSEC_mdc2 "1.3.14.3.2.19" +#define szOID_OIWSEC_dsaComm "1.3.14.3.2.20" +#define szOID_OIWSEC_dsaCommSHA "1.3.14.3.2.21" +#define szOID_OIWSEC_rsaXchg "1.3.14.3.2.22" +#define szOID_OIWSEC_keyHashSeal "1.3.14.3.2.23" +#define szOID_OIWSEC_md2RSASign "1.3.14.3.2.24" +#define szOID_OIWSEC_md5RSASign "1.3.14.3.2.25" +#define szOID_OIWSEC_sha1 "1.3.14.3.2.26" +#define szOID_OIWSEC_dsaSHA1 "1.3.14.3.2.27" +#define szOID_OIWSEC_dsaCommSHA1 "1.3.14.3.2.28" +#define szOID_OIWSEC_sha1RSASign "1.3.14.3.2.29" + +#define szOID_OIWDIR "1.3.14.7.2" +#define szOID_OIWDIR_CRPT "1.3.14.7.2.1" +#define szOID_OIWDIR_HASH "1.3.14.7.2.2" +#define szOID_OIWDIR_SIGN "1.3.14.7.2.3" +#define szOID_OIWDIR_md2 "1.3.14.7.2.2.1" +#define szOID_OIWDIR_md2RSA "1.3.14.7.2.3.1" + +#define szOID_INFOSEC "2.16.840.1.101.2.1" +#define szOID_INFOSEC_sdnsSignature "2.16.840.1.101.2.1.1.1" +#define szOID_INFOSEC_mosaicSignature "2.16.840.1.101.2.1.1.2" +#define szOID_INFOSEC_sdnsConfidentiality "2.16.840.1.101.2.1.1.3" +#define szOID_INFOSEC_mosaicConfidentiality "2.16.840.1.101.2.1.1.4" +#define szOID_INFOSEC_sdnsIntegrity "2.16.840.1.101.2.1.1.5" +#define szOID_INFOSEC_mosaicIntegrity "2.16.840.1.101.2.1.1.6" +#define szOID_INFOSEC_sdnsTokenProtection "2.16.840.1.101.2.1.1.7" +#define szOID_INFOSEC_mosaicTokenProtection "2.16.840.1.101.2.1.1.8" +#define szOID_INFOSEC_sdnsKeyManagement "2.16.840.1.101.2.1.1.9" +#define szOID_INFOSEC_mosaicKeyManagement "2.16.840.1.101.2.1.1.10" +#define szOID_INFOSEC_sdnsKMandSig "2.16.840.1.101.2.1.1.11" +#define szOID_INFOSEC_mosaicKMandSig "2.16.840.1.101.2.1.1.12" +#define szOID_INFOSEC_SuiteASignature "2.16.840.1.101.2.1.1.13" +#define szOID_INFOSEC_SuiteAConfidentiality "2.16.840.1.101.2.1.1.14" +#define szOID_INFOSEC_SuiteAIntegrity "2.16.840.1.101.2.1.1.15" +#define szOID_INFOSEC_SuiteATokenProtection "2.16.840.1.101.2.1.1.16" +#define szOID_INFOSEC_SuiteAKeyManagement "2.16.840.1.101.2.1.1.17" +#define szOID_INFOSEC_SuiteAKMandSig "2.16.840.1.101.2.1.1.18" +#define szOID_INFOSEC_mosaicUpdatedSig "2.16.840.1.101.2.1.1.19" +#define szOID_INFOSEC_mosaicKMandUpdSig "2.16.840.1.101.2.1.1.20" +#define szOID_INFOSEC_mosaicUpdatedInteg "2.16.840.1.101.2.1.1.21" + +#define szOID_NIST_sha256 "2.16.840.1.101.3.4.2.1" +#define szOID_NIST_sha384 "2.16.840.1.101.3.4.2.2" +#define szOID_NIST_sha512 "2.16.840.1.101.3.4.2.3" + + typedef struct _CRYPT_OBJID_TABLE { + DWORD dwAlgId; + LPCSTR pszObjId; + } CRYPT_OBJID_TABLE,*PCRYPT_OBJID_TABLE; + + typedef struct _CRYPT_HASH_INFO { + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_HASH_BLOB Hash; + } CRYPT_HASH_INFO,*PCRYPT_HASH_INFO; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct _CERT_EXTENSION { + LPSTR pszObjId; + WINBOOL fCritical; + CRYPT_OBJID_BLOB Value; + } CERT_EXTENSION,*PCERT_EXTENSION; + + typedef const CERT_EXTENSION *PCCERT_EXTENSION; +#endif + + typedef struct _CRYPT_ATTRIBUTE_TYPE_VALUE { + LPSTR pszObjId; + CRYPT_OBJID_BLOB Value; + } CRYPT_ATTRIBUTE_TYPE_VALUE,*PCRYPT_ATTRIBUTE_TYPE_VALUE; + + typedef struct _CRYPT_ATTRIBUTE { + LPSTR pszObjId; + DWORD cValue; + PCRYPT_ATTR_BLOB rgValue; + } CRYPT_ATTRIBUTE,*PCRYPT_ATTRIBUTE; + + typedef struct _CRYPT_ATTRIBUTES { + DWORD cAttr; + PCRYPT_ATTRIBUTE rgAttr; + } CRYPT_ATTRIBUTES,*PCRYPT_ATTRIBUTES; + + typedef struct _CERT_RDN_ATTR { + LPSTR pszObjId; + DWORD dwValueType; + CERT_RDN_VALUE_BLOB Value; + } CERT_RDN_ATTR,*PCERT_RDN_ATTR; + +#define szOID_COMMON_NAME "2.5.4.3" +#define szOID_SUR_NAME "2.5.4.4" +#define szOID_DEVICE_SERIAL_NUMBER "2.5.4.5" +#define szOID_COUNTRY_NAME "2.5.4.6" +#define szOID_LOCALITY_NAME "2.5.4.7" +#define szOID_STATE_OR_PROVINCE_NAME "2.5.4.8" +#define szOID_STREET_ADDRESS "2.5.4.9" +#define szOID_ORGANIZATION_NAME "2.5.4.10" +#define szOID_ORGANIZATIONAL_UNIT_NAME "2.5.4.11" +#define szOID_TITLE "2.5.4.12" +#define szOID_DESCRIPTION "2.5.4.13" +#define szOID_SEARCH_GUIDE "2.5.4.14" +#define szOID_BUSINESS_CATEGORY "2.5.4.15" +#define szOID_POSTAL_ADDRESS "2.5.4.16" +#define szOID_POSTAL_CODE "2.5.4.17" +#define szOID_POST_OFFICE_BOX "2.5.4.18" +#define szOID_PHYSICAL_DELIVERY_OFFICE_NAME "2.5.4.19" +#define szOID_TELEPHONE_NUMBER "2.5.4.20" +#define szOID_TELEX_NUMBER "2.5.4.21" +#define szOID_TELETEXT_TERMINAL_IDENTIFIER "2.5.4.22" +#define szOID_FACSIMILE_TELEPHONE_NUMBER "2.5.4.23" +#define szOID_X21_ADDRESS "2.5.4.24" +#define szOID_INTERNATIONAL_ISDN_NUMBER "2.5.4.25" +#define szOID_REGISTERED_ADDRESS "2.5.4.26" +#define szOID_DESTINATION_INDICATOR "2.5.4.27" +#define szOID_PREFERRED_DELIVERY_METHOD "2.5.4.28" +#define szOID_PRESENTATION_ADDRESS "2.5.4.29" +#define szOID_SUPPORTED_APPLICATION_CONTEXT "2.5.4.30" +#define szOID_MEMBER "2.5.4.31" +#define szOID_OWNER "2.5.4.32" +#define szOID_ROLE_OCCUPANT "2.5.4.33" +#define szOID_SEE_ALSO "2.5.4.34" +#define szOID_USER_PASSWORD "2.5.4.35" +#define szOID_USER_CERTIFICATE "2.5.4.36" +#define szOID_CA_CERTIFICATE "2.5.4.37" +#define szOID_AUTHORITY_REVOCATION_LIST "2.5.4.38" +#define szOID_CERTIFICATE_REVOCATION_LIST "2.5.4.39" +#define szOID_CROSS_CERTIFICATE_PAIR "2.5.4.40" +#define szOID_GIVEN_NAME "2.5.4.42" +#define szOID_INITIALS "2.5.4.43" +#define szOID_DN_QUALIFIER "2.5.4.46" + +#define szOID_DOMAIN_COMPONENT "0.9.2342.19200300.100.1.25" + +#define szOID_PKCS_12_FRIENDLY_NAME_ATTR "1.2.840.113549.1.9.20" +#define szOID_PKCS_12_LOCAL_KEY_ID "1.2.840.113549.1.9.21" +#define szOID_PKCS_12_KEY_PROVIDER_NAME_ATTR "1.3.6.1.4.1.311.17.1" +#define szOID_LOCAL_MACHINE_KEYSET "1.3.6.1.4.1.311.17.2" +#define szOID_PKCS_12_EXTENDED_ATTRIBUTES "1.3.6.1.4.1.311.17.3" +#define szOID_PKCS_12_PROTECTED_PASSWORD_SECRET_BAG_TYPE_ID "1.3.6.1.4.1.311.17.4" + +#define szOID_KEYID_RDN "1.3.6.1.4.1.311.10.7.1" + +#define szOID_EV_RDN_LOCALE "1.3.6.1.4.1.311.60.2.1.1" +#define szOID_EV_RDN_STATE_OR_PROVINCE "1.3.6.1.4.1.311.60.2.1.2" +#define szOID_EV_RDN_COUNTRY "1.3.6.1.4.1.311.60.2.1.3" + +#define CERT_RDN_ANY_TYPE 0 +#define CERT_RDN_ENCODED_BLOB 1 +#define CERT_RDN_OCTET_STRING 2 +#define CERT_RDN_NUMERIC_STRING 3 +#define CERT_RDN_PRINTABLE_STRING 4 +#define CERT_RDN_TELETEX_STRING 5 +#define CERT_RDN_T61_STRING 5 +#define CERT_RDN_VIDEOTEX_STRING 6 +#define CERT_RDN_IA5_STRING 7 +#define CERT_RDN_GRAPHIC_STRING 8 +#define CERT_RDN_VISIBLE_STRING 9 +#define CERT_RDN_ISO646_STRING 9 +#define CERT_RDN_GENERAL_STRING 10 +#define CERT_RDN_UNIVERSAL_STRING 11 +#define CERT_RDN_INT4_STRING 11 +#define CERT_RDN_BMP_STRING 12 +#define CERT_RDN_UNICODE_STRING 12 +#define CERT_RDN_UTF8_STRING 13 + +#define CERT_RDN_TYPE_MASK 0x000000ff +#define CERT_RDN_FLAGS_MASK 0xff000000 + +#define CERT_RDN_ENABLE_T61_UNICODE_FLAG 0x80000000 +#define CERT_RDN_ENABLE_UTF8_UNICODE_FLAG 0x20000000 +#define CERT_RDN_FORCE_UTF8_UNICODE_FLAG 0x10000000 +#define CERT_RDN_DISABLE_CHECK_TYPE_FLAG 0x40000000 +#define CERT_RDN_DISABLE_IE4_UTF8_FLAG 0x1000000 +#define CERT_RDN_ENABLE_PUNYCODE_FLAG 0x2000000 + +#define IS_CERT_RDN_CHAR_STRING(X) (((X) & CERT_RDN_TYPE_MASK) >= CERT_RDN_NUMERIC_STRING) + + typedef struct _CERT_RDN { + DWORD cRDNAttr; + PCERT_RDN_ATTR rgRDNAttr; + } CERT_RDN,*PCERT_RDN; + + typedef struct _CERT_NAME_INFO { + DWORD cRDN; + PCERT_RDN rgRDN; + } CERT_NAME_INFO,*PCERT_NAME_INFO; + + typedef struct _CERT_NAME_VALUE { + DWORD dwValueType; + CERT_RDN_VALUE_BLOB Value; + } CERT_NAME_VALUE,*PCERT_NAME_VALUE; + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct _CERT_PUBLIC_KEY_INFO { + CRYPT_ALGORITHM_IDENTIFIER Algorithm; + CRYPT_BIT_BLOB PublicKey; + } CERT_PUBLIC_KEY_INFO,*PCERT_PUBLIC_KEY_INFO; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CERT_RSA_PUBLIC_KEY_OBJID szOID_RSA_RSA +#define CERT_DEFAULT_OID_PUBLIC_KEY_SIGN szOID_RSA_RSA +#define CERT_DEFAULT_OID_PUBLIC_KEY_XCHG szOID_RSA_RSA + + typedef struct _CRYPT_ECC_PRIVATE_KEY_INFO { + DWORD dwVersion; + CRYPT_DER_BLOB PrivateKey; + LPSTR szCurveOid; + CRYPT_BIT_BLOB PublicKey; + } CRYPT_ECC_PRIVATE_KEY_INFO,*PCRYPT_ECC_PRIVATE_KEY_INFO; + +#define CRYPT_ECC_PRIVATE_KEY_INFO_v1 1 + + typedef struct _CRYPT_PRIVATE_KEY_INFO { + DWORD Version; + CRYPT_ALGORITHM_IDENTIFIER Algorithm; + CRYPT_DER_BLOB PrivateKey; + PCRYPT_ATTRIBUTES pAttributes; + } CRYPT_PRIVATE_KEY_INFO,*PCRYPT_PRIVATE_KEY_INFO; + + typedef struct _CRYPT_ENCRYPTED_PRIVATE_KEY_INFO { + CRYPT_ALGORITHM_IDENTIFIER EncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedPrivateKey; + } CRYPT_ENCRYPTED_PRIVATE_KEY_INFO,*PCRYPT_ENCRYPTED_PRIVATE_KEY_INFO; + + typedef WINBOOL (CALLBACK *PCRYPT_DECRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER Algorithm, CRYPT_DATA_BLOB EncryptedPrivateKey, BYTE *pbClearTextKey, DWORD *pcbClearTextKey, LPVOID pVoidDecryptFunc); + typedef WINBOOL (CALLBACK *PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC) (CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm, CRYPT_DATA_BLOB *pClearTextPrivateKey, BYTE *pbEncryptedKey, DWORD *pcbEncryptedKey, LPVOID pVoidEncryptFunc); + typedef WINBOOL (CALLBACK *PCRYPT_RESOLVE_HCRYPTPROV_FUNC) (CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, HCRYPTPROV *phCryptProv, LPVOID pVoidResolveFunc); + + typedef struct _CRYPT_PKCS8_IMPORT_PARAMS { + CRYPT_DIGEST_BLOB PrivateKey; + PCRYPT_RESOLVE_HCRYPTPROV_FUNC pResolvehCryptProvFunc; + LPVOID pVoidResolveFunc; + PCRYPT_DECRYPT_PRIVATE_KEY_FUNC pDecryptPrivateKeyFunc; + LPVOID pVoidDecryptFunc; + } CRYPT_PKCS8_IMPORT_PARAMS,*PCRYPT_PKCS8_IMPORT_PARAMS, CRYPT_PRIVATE_KEY_BLOB_AND_PARAMS,*PCRYPT_PRIVATE_KEY_BLOB_AND_PARAMS; + + typedef struct _CRYPT_PKCS8_EXPORT_PARAMS { + HCRYPTPROV hCryptProv; + DWORD dwKeySpec; + LPSTR pszPrivateKeyObjId; + PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc; + LPVOID pVoidEncryptFunc; + } CRYPT_PKCS8_EXPORT_PARAMS,*PCRYPT_PKCS8_EXPORT_PARAMS; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct _CERT_INFO { + DWORD dwVersion; + CRYPT_INTEGER_BLOB SerialNumber; + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; + CERT_NAME_BLOB Issuer; + FILETIME NotBefore; + FILETIME NotAfter; + CERT_NAME_BLOB Subject; + CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo; + CRYPT_BIT_BLOB IssuerUniqueId; + CRYPT_BIT_BLOB SubjectUniqueId; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CERT_INFO,*PCERT_INFO; +#endif + +#define CERT_V1 0 +#define CERT_V2 1 +#define CERT_V3 2 + +#define CERT_INFO_VERSION_FLAG 1 +#define CERT_INFO_SERIAL_NUMBER_FLAG 2 +#define CERT_INFO_SIGNATURE_ALGORITHM_FLAG 3 +#define CERT_INFO_ISSUER_FLAG 4 +#define CERT_INFO_NOT_BEFORE_FLAG 5 +#define CERT_INFO_NOT_AFTER_FLAG 6 +#define CERT_INFO_SUBJECT_FLAG 7 +#define CERT_INFO_SUBJECT_PUBLIC_KEY_INFO_FLAG 8 +#define CERT_INFO_ISSUER_UNIQUE_ID_FLAG 9 +#define CERT_INFO_SUBJECT_UNIQUE_ID_FLAG 10 +#define CERT_INFO_EXTENSION_FLAG 11 + + typedef struct _CRL_ENTRY { + CRYPT_INTEGER_BLOB SerialNumber; + FILETIME RevocationDate; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CRL_ENTRY,*PCRL_ENTRY; + + typedef struct _CRL_INFO { + DWORD dwVersion; + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; + CERT_NAME_BLOB Issuer; + FILETIME ThisUpdate; + FILETIME NextUpdate; + DWORD cCRLEntry; + PCRL_ENTRY rgCRLEntry; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CRL_INFO,*PCRL_INFO; + +#define CRL_V1 0 +#define CRL_V2 1 + +#define CERT_BUNDLE_CERTIFICATE 0 +#define CERT_BUNDLE_CRL 1 + + typedef struct _CERT_OR_CRL_BLOB { + DWORD dwChoice; + DWORD cbEncoded; + BYTE *pbEncoded; + } CERT_OR_CRL_BLOB,*PCERT_OR_CRL_BLOB; + + typedef struct _CERT_OR_CRL_BUNDLE { + DWORD cItem; + PCERT_OR_CRL_BLOB rgItem; + } CERT_OR_CRL_BUNDLE,*PCERT_OR_CRL_BUNDLE; + + typedef struct _CERT_REQUEST_INFO { + DWORD dwVersion; + CERT_NAME_BLOB Subject; + CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo; + DWORD cAttribute; + PCRYPT_ATTRIBUTE rgAttribute; + } CERT_REQUEST_INFO,*PCERT_REQUEST_INFO; + +#define CERT_REQUEST_V1 0 + + typedef struct _CERT_KEYGEN_REQUEST_INFO { + DWORD dwVersion; + CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo; + LPWSTR pwszChallengeString; + } CERT_KEYGEN_REQUEST_INFO,*PCERT_KEYGEN_REQUEST_INFO; + +#define CERT_KEYGEN_REQUEST_V1 0 + + typedef struct _CERT_SIGNED_CONTENT_INFO { + CRYPT_DER_BLOB ToBeSigned; + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; + CRYPT_BIT_BLOB Signature; + } CERT_SIGNED_CONTENT_INFO,*PCERT_SIGNED_CONTENT_INFO; + + typedef struct _CTL_USAGE { + DWORD cUsageIdentifier; + LPSTR *rgpszUsageIdentifier; + } CTL_USAGE,*PCTL_USAGE,CERT_ENHKEY_USAGE,*PCERT_ENHKEY_USAGE; + + typedef const CTL_USAGE *PCCTL_USAGE; + typedef const CERT_ENHKEY_USAGE *PCCERT_ENHKEY_USAGE; + + typedef struct _CTL_ENTRY { + CRYPT_DATA_BLOB SubjectIdentifier; + DWORD cAttribute; + PCRYPT_ATTRIBUTE rgAttribute; + } CTL_ENTRY,*PCTL_ENTRY; + + typedef struct _CTL_INFO { + DWORD dwVersion; + CTL_USAGE SubjectUsage; + CRYPT_DATA_BLOB ListIdentifier; + CRYPT_INTEGER_BLOB SequenceNumber; + FILETIME ThisUpdate; + FILETIME NextUpdate; + CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm; + DWORD cCTLEntry; + PCTL_ENTRY rgCTLEntry; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CTL_INFO,*PCTL_INFO; + +#define CTL_V1 0 + + typedef struct _CRYPT_TIME_STAMP_REQUEST_INFO { + LPSTR pszTimeStampAlgorithm; + LPSTR pszContentType; + CRYPT_OBJID_BLOB Content; + DWORD cAttribute; + PCRYPT_ATTRIBUTE rgAttribute; + } CRYPT_TIME_STAMP_REQUEST_INFO,*PCRYPT_TIME_STAMP_REQUEST_INFO; + + typedef struct _CRYPT_ENROLLMENT_NAME_VALUE_PAIR { + LPWSTR pwszName; + LPWSTR pwszValue; + } CRYPT_ENROLLMENT_NAME_VALUE_PAIR,*PCRYPT_ENROLLMENT_NAME_VALUE_PAIR; + + typedef struct _CRYPT_CSP_PROVIDER { + DWORD dwKeySpec; + LPWSTR pwszProviderName; + CRYPT_BIT_BLOB Signature; + } CRYPT_CSP_PROVIDER,*PCRYPT_CSP_PROVIDER; + +#define CERT_ENCODING_TYPE_MASK 0x0000ffff +#define CMSG_ENCODING_TYPE_MASK 0xffff0000 +#define GET_CERT_ENCODING_TYPE(T) (T & CERT_ENCODING_TYPE_MASK) +#define GET_CMSG_ENCODING_TYPE(T) (T & CMSG_ENCODING_TYPE_MASK) + +#define CRYPT_ASN_ENCODING 0x1 +#define CRYPT_NDR_ENCODING 0x2 +#define X509_ASN_ENCODING 0x1 +#define X509_NDR_ENCODING 0x2 +#define PKCS_7_ASN_ENCODING 0x10000 +#define PKCS_7_NDR_ENCODING 0x20000 + + WINIMPM WINBOOL WINAPI CryptFormatObject (DWORD dwCertEncodingType, DWORD dwFormatType, DWORD dwFormatStrType, void *pFormatStruct, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, void *pbFormat, DWORD *pcbFormat); + +#define CRYPT_FORMAT_STR_MULTI_LINE 0x1 +#define CRYPT_FORMAT_STR_NO_HEX 0x10 + +#define CRYPT_FORMAT_SIMPLE 0x1 +#define CRYPT_FORMAT_X509 0x2 +#define CRYPT_FORMAT_OID 0x4 +#define CRYPT_FORMAT_RDN_SEMICOLON 0x100 +#define CRYPT_FORMAT_RDN_CRLF 0x200 +#define CRYPT_FORMAT_RDN_UNQUOTE 0x400 +#define CRYPT_FORMAT_RDN_REVERSE 0x800 +#define CRYPT_FORMAT_COMMA 0x1000 +#define CRYPT_FORMAT_SEMICOLON CRYPT_FORMAT_RDN_SEMICOLON +#define CRYPT_FORMAT_CRLF CRYPT_FORMAT_RDN_CRLF + + typedef LPVOID (WINAPI *PFN_CRYPT_ALLOC)(size_t cbSize); + typedef VOID (WINAPI *PFN_CRYPT_FREE)(LPVOID pv); + + typedef struct _CRYPT_ENCODE_PARA { + DWORD cbSize; + PFN_CRYPT_ALLOC pfnAlloc; + PFN_CRYPT_FREE pfnFree; + } CRYPT_ENCODE_PARA,*PCRYPT_ENCODE_PARA; + + WINIMPM WINBOOL WINAPI CryptEncodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, DWORD dwFlags, PCRYPT_ENCODE_PARA pEncodePara, void *pvEncoded, DWORD *pcbEncoded); + WINIMPM WINBOOL WINAPI CryptEncodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, BYTE *pbEncoded, DWORD *pcbEncoded); + +#define CRYPT_ENCODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG 0x8 +#define CRYPT_ENCODE_ALLOC_FLAG 0x8000 +#define CRYPT_UNICODE_NAME_ENCODE_ENABLE_T61_UNICODE_FLAG CERT_RDN_ENABLE_T61_UNICODE_FLAG +#define CRYPT_UNICODE_NAME_ENCODE_ENABLE_UTF8_UNICODE_FLAG CERT_RDN_ENABLE_UTF8_UNICODE_FLAG +#define CRYPT_UNICODE_NAME_ENCODE_FORCE_UTF8_UNICODE_FLAG CERT_RDN_FORCE_UTF8_UNICODE_FLAG +#define CRYPT_UNICODE_NAME_ENCODE_DISABLE_CHECK_TYPE_FLAG CERT_RDN_DISABLE_CHECK_TYPE_FLAG +#define CRYPT_SORTED_CTL_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG 0x10000 +#define CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG 0x20000 +#define CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG 0x40000 +#define CRYPT_ENCODE_ENABLE_IA5CONVERSION_FLAG (CRYPT_ENCODE_ENABLE_PUNYCODE_FLAG | CRYPT_ENCODE_ENABLE_UTF8PERCENT_FLAG) + + typedef struct _CRYPT_DECODE_PARA { + DWORD cbSize; + PFN_CRYPT_ALLOC pfnAlloc; + PFN_CRYPT_FREE pfnFree; + } CRYPT_DECODE_PARA,*PCRYPT_DECODE_PARA; + + WINIMPM WINBOOL WINAPI CryptDecodeObjectEx (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCRYPT_DECODE_PARA pDecodePara, void *pvStructInfo, DWORD *pcbStructInfo); + WINIMPM WINBOOL WINAPI CryptDecodeObject (DWORD dwCertEncodingType, LPCSTR lpszStructType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, void *pvStructInfo, DWORD *pcbStructInfo); + +#define CRYPT_DECODE_NOCOPY_FLAG 0x1 +#define CRYPT_DECODE_TO_BE_SIGNED_FLAG 0x2 +#define CRYPT_DECODE_SHARE_OID_STRING_FLAG 0x4 +#define CRYPT_DECODE_NO_SIGNATURE_BYTE_REVERSAL_FLAG 0x8 +#define CRYPT_DECODE_ALLOC_FLAG 0x8000 +#define CRYPT_UNICODE_NAME_DECODE_DISABLE_IE4_UTF8_FLAG CERT_RDN_DISABLE_IE4_UTF8_FLAG +#define CRYPT_DECODE_ENABLE_PUNYCODE_FLAG 0x2000000 +#define CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG 0x4000000 +#define CRYPT_DECODE_ENABLE_IA5CONVERSION_FLAG (CRYPT_DECODE_ENABLE_PUNYCODE_FLAG | CRYPT_DECODE_ENABLE_UTF8PERCENT_FLAG) + +#define CRYPT_ENCODE_DECODE_NONE 0 +#define X509_CERT ((LPCSTR) 1) +#define X509_CERT_TO_BE_SIGNED ((LPCSTR) 2) +#define X509_CERT_CRL_TO_BE_SIGNED ((LPCSTR) 3) +#define X509_CERT_REQUEST_TO_BE_SIGNED ((LPCSTR) 4) +#define X509_EXTENSIONS ((LPCSTR) 5) +#define X509_NAME_VALUE ((LPCSTR) 6) +#define X509_NAME ((LPCSTR) 7) +#define X509_PUBLIC_KEY_INFO ((LPCSTR) 8) +#define X509_AUTHORITY_KEY_ID ((LPCSTR) 9) +#define X509_KEY_ATTRIBUTES ((LPCSTR) 10) +#define X509_KEY_USAGE_RESTRICTION ((LPCSTR) 11) +#define X509_ALTERNATE_NAME ((LPCSTR) 12) +#define X509_BASIC_CONSTRAINTS ((LPCSTR) 13) +#define X509_KEY_USAGE ((LPCSTR) 14) +#define X509_BASIC_CONSTRAINTS2 ((LPCSTR) 15) +#define X509_CERT_POLICIES ((LPCSTR) 16) +#define PKCS_UTC_TIME ((LPCSTR) 17) +#define PKCS_TIME_REQUEST ((LPCSTR) 18) +#define RSA_CSP_PUBLICKEYBLOB ((LPCSTR) 19) +#define X509_UNICODE_NAME ((LPCSTR) 20) +#define X509_KEYGEN_REQUEST_TO_BE_SIGNED ((LPCSTR) 21) +#define PKCS_ATTRIBUTE ((LPCSTR) 22) +#define PKCS_CONTENT_INFO_SEQUENCE_OF_ANY ((LPCSTR) 23) +#define X509_UNICODE_NAME_VALUE ((LPCSTR) 24) +#define X509_ANY_STRING X509_NAME_VALUE +#define X509_UNICODE_ANY_STRING X509_UNICODE_NAME_VALUE +#define X509_OCTET_STRING ((LPCSTR) 25) +#define X509_BITS ((LPCSTR) 26) +#define X509_INTEGER ((LPCSTR) 27) +#define X509_MULTI_BYTE_INTEGER ((LPCSTR) 28) +#define X509_ENUMERATED ((LPCSTR) 29) +#define X509_CHOICE_OF_TIME ((LPCSTR) 30) +#define X509_AUTHORITY_KEY_ID2 ((LPCSTR) 31) +#define X509_AUTHORITY_INFO_ACCESS ((LPCSTR) 32) +#define X509_SUBJECT_INFO_ACCESS X509_AUTHORITY_INFO_ACCESS +#define X509_CRL_REASON_CODE X509_ENUMERATED +#define PKCS_CONTENT_INFO ((LPCSTR) 33) +#define X509_SEQUENCE_OF_ANY ((LPCSTR) 34) +#define X509_CRL_DIST_POINTS ((LPCSTR) 35) +#define X509_ENHANCED_KEY_USAGE ((LPCSTR) 36) +#define PKCS_CTL ((LPCSTR) 37) +#define X509_MULTI_BYTE_UINT ((LPCSTR) 38) +#define X509_DSS_PUBLICKEY X509_MULTI_BYTE_UINT +#define X509_DSS_PARAMETERS ((LPCSTR) 39) +#define X509_DSS_SIGNATURE ((LPCSTR) 40) +#define PKCS_RC2_CBC_PARAMETERS ((LPCSTR) 41) +#define PKCS_SMIME_CAPABILITIES ((LPCSTR) 42) +#define X509_QC_STATEMENTS_EXT ((LPCSTR) 42) +#define PKCS_RSA_PRIVATE_KEY ((LPCSTR) 43) +#define PKCS_PRIVATE_KEY_INFO ((LPCSTR) 44) +#define PKCS_ENCRYPTED_PRIVATE_KEY_INFO ((LPCSTR) 45) +#define X509_PKIX_POLICY_QUALIFIER_USERNOTICE ((LPCSTR) 46) +#define X509_DH_PUBLICKEY X509_MULTI_BYTE_UINT +#define X509_DH_PARAMETERS ((LPCSTR) 47) +#define X509_ECC_SIGNATURE ((LPCSTR) 47) +#define PKCS_ATTRIBUTES ((LPCSTR) 48) +#define PKCS_SORTED_CTL ((LPCSTR) 49) +#define X942_DH_PARAMETERS ((LPCSTR) 50) +#define X509_BITS_WITHOUT_TRAILING_ZEROES ((LPCSTR) 51) +#define X942_OTHER_INFO ((LPCSTR) 52) +#define X509_CERT_PAIR ((LPCSTR) 53) +#define X509_ISSUING_DIST_POINT ((LPCSTR) 54) +#define X509_NAME_CONSTRAINTS ((LPCSTR) 55) +#define X509_POLICY_MAPPINGS ((LPCSTR) 56) +#define X509_POLICY_CONSTRAINTS ((LPCSTR) 57) +#define X509_CROSS_CERT_DIST_POINTS ((LPCSTR) 58) +#define CMC_DATA ((LPCSTR) 59) +#define CMC_RESPONSE ((LPCSTR) 60) +#define CMC_STATUS ((LPCSTR) 61) +#define CMC_ADD_EXTENSIONS ((LPCSTR) 62) +#define CMC_ADD_ATTRIBUTES ((LPCSTR) 63) +#define X509_CERTIFICATE_TEMPLATE ((LPCSTR) 64) +#define OCSP_SIGNED_REQUEST ((LPCSTR) 65) +#define OCSP_REQUEST ((LPCSTR) 66) +#define OCSP_RESPONSE ((LPCSTR) 67) +#define OCSP_BASIC_SIGNED_RESPONSE ((LPCSTR) 68) +#define OCSP_BASIC_RESPONSE ((LPCSTR) 69) +#define X509_LOGOTYPE_EXT ((LPCSTR) 70) +#define X509_BIOMETRIC_EXT ((LPCSTR) 71) +#define CNG_RSA_PUBLIC_KEY_BLOB ((LPCSTR) 72) +#define X509_OBJECT_IDENTIFIER ((LPCSTR) 73) +#define X509_ALGORITHM_IDENTIFIER ((LPCSTR) 74) +#define PKCS_RSA_SSA_PSS_PARAMETERS ((LPCSTR) 75) +#define PKCS_RSAES_OAEP_PARAMETERS ((LPCSTR) 76) +#define ECC_CMS_SHARED_INFO ((LPCSTR) 77) +#define TIMESTAMP_REQUEST ((LPCSTR) 78) +#define TIMESTAMP_RESPONSE ((LPCSTR) 79) +#define TIMESTAMP_INFO ((LPCSTR) 80) +#define X509_CERT_BUNDLE ((LPCSTR) 81) +#define X509_ECC_PRIVATE_KEY ((LPCSTR) 82) +#define CNG_RSA_PRIVATE_KEY_BLOB ((LPCSTR) 83) +#define X509_SUBJECT_DIR_ATTRS ((LPCSTR) 84) +#define X509_ECC_PARAMETERS ((LPCSTR) 85) + +#define PKCS7_SIGNER_INFO ((LPCSTR) 500) +#define CMS_SIGNER_INFO ((LPCSTR) 501) + +#define szOID_AUTHORITY_KEY_IDENTIFIER "2.5.29.1" +#define szOID_KEY_ATTRIBUTES "2.5.29.2" +#define szOID_CERT_POLICIES_95 "2.5.29.3" +#define szOID_KEY_USAGE_RESTRICTION "2.5.29.4" +#define szOID_SUBJECT_ALT_NAME "2.5.29.7" +#define szOID_ISSUER_ALT_NAME "2.5.29.8" +#define szOID_BASIC_CONSTRAINTS "2.5.29.10" +/* szOID_KEY_USAGE is defined incorrectly in msdn as 2.5.29.4 -- + http://www.oid-info.com/get/2.5.29.15 RFC3280 */ +#define szOID_KEY_USAGE "2.5.29.15" +#define szOID_PRIVATEKEY_USAGE_PERIOD "2.5.29.16" +#define szOID_BASIC_CONSTRAINTS2 "2.5.29.19" + +#define szOID_CERT_POLICIES "2.5.29.32" +#define szOID_ANY_CERT_POLICY "2.5.29.32.0" +#define szOID_INHIBIT_ANY_POLICY "2.5.29.54" + +#define szOID_AUTHORITY_KEY_IDENTIFIER2 "2.5.29.35" +#define szOID_SUBJECT_KEY_IDENTIFIER "2.5.29.14" +#define szOID_SUBJECT_ALT_NAME2 "2.5.29.17" +#define szOID_ISSUER_ALT_NAME2 "2.5.29.18" +#define szOID_CRL_REASON_CODE "2.5.29.21" +#define szOID_REASON_CODE_HOLD "2.5.29.23" +#define szOID_CRL_DIST_POINTS "2.5.29.31" +#define szOID_ENHANCED_KEY_USAGE "2.5.29.37" + +#define szOID_ANY_ENHANCED_KEY_USAGE "2.5.29.37.0" + +#define szOID_CRL_NUMBER "2.5.29.20" + +#define szOID_DELTA_CRL_INDICATOR "2.5.29.27" +#define szOID_ISSUING_DIST_POINT "2.5.29.28" + +#define szOID_FRESHEST_CRL "2.5.29.46" +#define szOID_NAME_CONSTRAINTS "2.5.29.30" + +#define szOID_POLICY_MAPPINGS "2.5.29.33" +#define szOID_LEGACY_POLICY_MAPPINGS "2.5.29.5" +#define szOID_POLICY_CONSTRAINTS "2.5.29.36" + +#define szOID_RENEWAL_CERTIFICATE "1.3.6.1.4.1.311.13.1" +#define szOID_ENROLLMENT_NAME_VALUE_PAIR "1.3.6.1.4.1.311.13.2.1" +#define szOID_ENROLLMENT_CSP_PROVIDER "1.3.6.1.4.1.311.13.2.2" +#define szOID_OS_VERSION "1.3.6.1.4.1.311.13.2.3" + +#define szOID_ENROLLMENT_AGENT "1.3.6.1.4.1.311.20.2.1" + +#define szOID_PKIX "1.3.6.1.5.5.7" +#define szOID_PKIX_PE "1.3.6.1.5.5.7.1" +#define szOID_AUTHORITY_INFO_ACCESS "1.3.6.1.5.5.7.1.1" +#define szOID_SUBJECT_INFO_ACCESS "1.3.6.1.5.5.7.1.11" +#define szOID_BIOMETRIC_EXT "1.3.6.1.5.5.7.1.2" +#define szOID_QC_STATEMENTS_EXT "1.3.6.1.5.5.7.1.3" +#define szOID_LOGOTYPE_EXT "1.3.6.1.5.5.7.1.12" +#define szOID_TLS_FEATURES_EXT "1.3.6.1.5.5.7.1.24" + +#define szOID_CERT_EXTENSIONS "1.3.6.1.4.1.311.2.1.14" +#define szOID_NEXT_UPDATE_LOCATION "1.3.6.1.4.1.311.10.2" +#define szOID_REMOVE_CERTIFICATE "1.3.6.1.4.1.311.10.8.1" +#define szOID_CROSS_CERT_DIST_POINTS "1.3.6.1.4.1.311.10.9.1" + +#define szOID_CTL "1.3.6.1.4.1.311.10.1" + +#define szOID_SORTED_CTL "1.3.6.1.4.1.311.10.1.1" + +#ifndef szOID_SERIALIZED +#define szOID_SERIALIZED "1.3.6.1.4.1.311.10.3.3.1" +#endif + +#ifndef szOID_NT_PRINCIPAL_NAME +#define szOID_NT_PRINCIPAL_NAME "1.3.6.1.4.1.311.20.2.3" +#endif + +#ifndef szOID_INTERNATIONALIZED_EMAIL_ADDRESS +#define szOID_INTERNATIONALIZED_EMAIL_ADDRESS "1.3.6.1.4.1.311.20.2.4" +#endif + +#ifndef szOID_PRODUCT_UPDATE +#define szOID_PRODUCT_UPDATE "1.3.6.1.4.1.311.31.1" +#endif + +#define szOID_ANY_APPLICATION_POLICY "1.3.6.1.4.1.311.10.12.1" + +#define szOID_AUTO_ENROLL_CTL_USAGE "1.3.6.1.4.1.311.20.1" + +#define szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2" + +#define szOID_CERT_MANIFOLD "1.3.6.1.4.1.311.20.3" + +#ifndef szOID_CERTSRV_CA_VERSION +#define szOID_CERTSRV_CA_VERSION "1.3.6.1.4.1.311.21.1" +#endif +#define szOID_CERTSRV_PREVIOUS_CERT_HASH "1.3.6.1.4.1.311.21.2" +#define szOID_CRL_VIRTUAL_BASE "1.3.6.1.4.1.311.21.3" +#define szOID_CRL_NEXT_PUBLISH "1.3.6.1.4.1.311.21.4" +#define szOID_KP_CA_EXCHANGE "1.3.6.1.4.1.311.21.5" +#define szOID_KP_KEY_RECOVERY_AGENT "1.3.6.1.4.1.311.21.6" +#define szOID_CERTIFICATE_TEMPLATE "1.3.6.1.4.1.311.21.7" +#define szOID_ENTERPRISE_OID_ROOT "1.3.6.1.4.1.311.21.8" +#define szOID_RDN_DUMMY_SIGNER "1.3.6.1.4.1.311.21.9" +#define szOID_APPLICATION_CERT_POLICIES "1.3.6.1.4.1.311.21.10" +#define szOID_APPLICATION_POLICY_MAPPINGS "1.3.6.1.4.1.311.21.11" +#define szOID_APPLICATION_POLICY_CONSTRAINTS "1.3.6.1.4.1.311.21.12" +#define szOID_ARCHIVED_KEY_ATTR "1.3.6.1.4.1.311.21.13" +#define szOID_CRL_SELF_CDP "1.3.6.1.4.1.311.21.14" +#define szOID_REQUIRE_CERT_CHAIN_POLICY "1.3.6.1.4.1.311.21.15" +#define szOID_ARCHIVED_KEY_CERT_HASH "1.3.6.1.4.1.311.21.16" +#define szOID_ISSUED_CERT_HASH "1.3.6.1.4.1.311.21.17" +#define szOID_DS_EMAIL_REPLICATION "1.3.6.1.4.1.311.21.19" +#define szOID_REQUEST_CLIENT_INFO "1.3.6.1.4.1.311.21.20" +#define szOID_ENCRYPTED_KEY_HASH "1.3.6.1.4.1.311.21.21" +#define szOID_CERTSRV_CROSSCA_VERSION "1.3.6.1.4.1.311.21.22" + +#define szOID_NTDS_REPLICATION "1.3.6.1.4.1.311.25.1" + +#define szOID_SUBJECT_DIR_ATTRS "2.5.29.9" + +#define szOID_PKIX_KP "1.3.6.1.5.5.7.3" + +#define szOID_PKIX_KP_SERVER_AUTH "1.3.6.1.5.5.7.3.1" +#define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2" +#define szOID_PKIX_KP_CODE_SIGNING "1.3.6.1.5.5.7.3.3" +#define szOID_PKIX_KP_EMAIL_PROTECTION "1.3.6.1.5.5.7.3.4" +#define szOID_PKIX_KP_IPSEC_END_SYSTEM "1.3.6.1.5.5.7.3.5" +#define szOID_PKIX_KP_IPSEC_TUNNEL "1.3.6.1.5.5.7.3.6" +#define szOID_PKIX_KP_IPSEC_USER "1.3.6.1.5.5.7.3.7" +#define szOID_PKIX_KP_TIMESTAMP_SIGNING "1.3.6.1.5.5.7.3.8" +#define szOID_PKIX_KP_OCSP_SIGNING "1.3.6.1.5.5.7.3.9" + +#define szOID_PKIX_OCSP_NONCE "1.3.6.1.5.5.7.48.1.2" +#define szOID_PKIX_OCSP_NOCHECK "1.3.6.1.5.5.7.48.1.5" + +#define szOID_IPSEC_KP_IKE_INTERMEDIATE "1.3.6.1.5.5.8.2.2" + +#define szOID_PKINIT_KP_KDC "1.3.6.1.5.2.3.5" + +#define szOID_KP_CTL_USAGE_SIGNING "1.3.6.1.4.1.311.10.3.1" + +#define szOID_KP_TIME_STAMP_SIGNING "1.3.6.1.4.1.311.10.3.2" + +#ifndef szOID_SERVER_GATED_CRYPTO +#define szOID_SERVER_GATED_CRYPTO "1.3.6.1.4.1.311.10.3.3" +#endif + +#ifndef szOID_SGC_NETSCAPE +#define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1" +#endif + +#define szOID_KP_EFS "1.3.6.1.4.1.311.10.3.4" +#define szOID_EFS_RECOVERY "1.3.6.1.4.1.311.10.3.4.1" + +#define szOID_WHQL_CRYPTO "1.3.6.1.4.1.311.10.3.5" +#define szOID_ATTEST_WHQL_CRYPTO "1.3.6.1.4.1.311.10.3.5.1" +#define szOID_NT5_CRYPTO "1.3.6.1.4.1.311.10.3.6" +#define szOID_OEM_WHQL_CRYPTO "1.3.6.1.4.1.311.10.3.7" +#define szOID_EMBEDDED_NT_CRYPTO "1.3.6.1.4.1.311.10.3.8" +#define szOID_ROOT_LIST_SIGNER "1.3.6.1.4.1.311.10.3.9" +#define szOID_KP_QUALIFIED_SUBORDINATION "1.3.6.1.4.1.311.10.3.10" +#define szOID_KP_KEY_RECOVERY "1.3.6.1.4.1.311.10.3.11" +#define szOID_KP_DOCUMENT_SIGNING "1.3.6.1.4.1.311.10.3.12" +#define szOID_KP_LIFETIME_SIGNING "1.3.6.1.4.1.311.10.3.13" +#define szOID_KP_MOBILE_DEVICE_SOFTWARE "1.3.6.1.4.1.311.10.3.14" +#define szOID_KP_SMART_DISPLAY "1.3.6.1.4.1.311.10.3.15" +#define szOID_KP_CSP_SIGNATURE "1.3.6.1.4.1.311.10.3.16" +#define szOID_KP_FLIGHT_SIGNING "1.3.6.1.4.1.311.10.3.27" +#define szOID_PLATFORM_MANIFEST_BINARY_ID "1.3.6.1.4.1.311.10.3.28" + +#ifndef szOID_DRM +#define szOID_DRM "1.3.6.1.4.1.311.10.5.1" +#endif + +#ifndef szOID_DRM_INDIVIDUALIZATION +#define szOID_DRM_INDIVIDUALIZATION "1.3.6.1.4.1.311.10.5.2" +#endif + +#ifndef szOID_LICENSES +#define szOID_LICENSES "1.3.6.1.4.1.311.10.6.1" +#endif + +#ifndef szOID_LICENSE_SERVER +#define szOID_LICENSE_SERVER "1.3.6.1.4.1.311.10.6.2" +#endif + +#ifndef szOID_KP_SMARTCARD_LOGON +#define szOID_KP_SMARTCARD_LOGON "1.3.6.1.4.1.311.20.2.2" +#endif + +#define szOID_KP_KERNEL_MODE_CODE_SIGNING "1.3.6.1.4.1.311.61.1.1" +#define szOID_KP_KERNEL_MODE_TRUSTED_BOOT_SIGNING "1.3.6.1.4.1.311.61.4.1" +#define szOID_REVOKED_LIST_SIGNER "1.3.6.1.4.1.311.10.3.19" +#define szOID_WINDOWS_KITS_SIGNER "1.3.6.1.4.1.311.10.3.20" +#define szOID_WINDOWS_RT_SIGNER "1.3.6.1.4.1.311.10.3.21" +#define szOID_PROTECTED_PROCESS_LIGHT_SIGNER "1.3.6.1.4.1.311.10.3.22" +#define szOID_WINDOWS_TCB_SIGNER "1.3.6.1.4.1.311.10.3.23" +#define szOID_PROTECTED_PROCESS_SIGNER "1.3.6.1.4.1.311.10.3.24" +#define szOID_WINDOWS_THIRD_PARTY_COMPONENT_SIGNER "1.3.6.1.4.1.311.10.3.25" +#define szOID_WINDOWS_SOFTWARE_EXTENSION_SIGNER "1.3.6.1.4.1.311.10.3.26" +#define szOID_DISALLOWED_LIST "1.3.6.1.4.1.311.10.3.30" +#define szOID_PIN_RULES_SIGNER "1.3.6.1.4.1.311.10.3.31" +#define szOID_PIN_RULES_CTL "1.3.6.1.4.1.311.10.3.32" +#define szOID_PIN_RULES_EXT "1.3.6.1.4.1.311.10.3.33" +#define szOID_PIN_RULES_DOMAIN_NAME "1.3.6.1.4.1.311.10.3.34" +#define szOID_PIN_RULES_LOG_END_DATE_EXT "1.3.6.1.4.1.311.10.3.35" +#define szOID_IUM_SIGNING "1.3.6.1.4.1.311.10.3.37" +#define szOID_EV_WHQL_CRYPTO "1.3.6.1.4.1.311.10.3.39" +#define szOID_BIOMETRIC_SIGNING "1.3.6.1.4.1.311.10.3.41" +#define szOID_ENCLAVE_SIGNING "1.3.6.1.4.1.311.10.3.42" +#define szOID_SYNC_ROOT_CTL_EXT "1.3.6.1.4.1.311.10.3.50" +#define szOID_HPKP_DOMAIN_NAME_CTL "1.3.6.1.4.1.311.10.3.60" +#define szOID_HPKP_HEADER_VALUE_CTL "1.3.6.1.4.1.311.10.3.61" +#define szOID_KP_KERNEL_MODE_HAL_EXTENSION_SIGNING "1.3.6.1.4.1.311.61.5.1" +#define szOID_WINDOWS_STORE_SIGNER "1.3.6.1.4.1.311.76.3.1" +#define szOID_DYNAMIC_CODE_GEN_SIGNER "1.3.6.1.4.1.311.76.5.1" +#define szOID_MICROSOFT_PUBLISHER_SIGNER "1.3.6.1.4.1.311.76.8.1" +#define szOID_YESNO_TRUST_ATTR "1.3.6.1.4.1.311.10.4.1" +#define szOID_SITE_PIN_RULES_INDEX_ATTR "1.3.6.1.4.1.311.10.4.2" +#define szOID_SITE_PIN_RULES_FLAGS_ATTR "1.3.6.1.4.1.311.10.4.3" + +#define SITE_PIN_RULES_ALL_SUBDOMAINS_FLAG 0x1 + +#define szOID_PKIX_POLICY_QUALIFIER_CPS "1.3.6.1.5.5.7.2.1" +#define szOID_PKIX_POLICY_QUALIFIER_USERNOTICE "1.3.6.1.5.5.7.2.2" + +#define szOID_ROOT_PROGRAM_FLAGS "1.3.6.1.4.1.311.60.1.1" +#define CERT_ROOT_PROGRAM_FLAG_ORG 0x80 +#define CERT_ROOT_PROGRAM_FLAG_LSC 0x40 +#define CERT_ROOT_PROGRAM_FLAG_SUBJECT_LOGO 0x20 +#define CERT_ROOT_PROGRAM_FLAG_OU 0x10 +#define CERT_ROOT_PROGRAM_FLAG_ADDRESS 0x08 + +#define szOID_CERT_POLICIES_95_QUALIFIER1 "2.16.840.1.113733.1.7.1.1" + +#define szOID_RDN_TPM_MANUFACTURER "2.23.133.2.1" +#define szOID_RDN_TPM_MODEL "2.23.133.2.2" +#define szOID_RDN_TPM_VERSION "2.23.133.2.3" + +#define szOID_RDN_TCG_PLATFORM_MANUFACTURER "2.23.133.2.4" +#define szOID_RDN_TCG_PLATFORM_MODEL "2.23.133.2.5" +#define szOID_RDN_TCG_PLATFORM_VERSION "2.23.133.2.6" + +#define szOID_CT_CERT_SCTLIST "1.3.6.1.4.1.11129.2.4.2" + +#define szOID_ENROLL_EK_INFO "1.3.6.1.4.1.311.21.23" +#define szOID_ENROLL_AIK_INFO "1.3.6.1.4.1.311.21.39" +#define szOID_ENROLL_ATTESTATION_STATEMENT "1.3.6.1.4.1.311.21.24" + +#define szOID_ENROLL_KSP_NAME "1.3.6.1.4.1.311.21.25" + +#define szOID_ENROLL_EKPUB_CHALLENGE "1.3.6.1.4.1.311.21.26" +#define szOID_ENROLL_CAXCHGCERT_HASH "1.3.6.1.4.1.311.21.27" +#define szOID_ENROLL_ATTESTATION_CHALLENGE "1.3.6.1.4.1.311.21.28" +#define szOID_ENROLL_ENCRYPTION_ALGORITHM "1.3.6.1.4.1.311.21.29" + +#define szOID_KP_TPM_EK_CERTIFICATE "2.23.133.8.1" +#define szOID_KP_TPM_PLATFORM_CERTIFICATE "2.23.133.8.2" +#define szOID_KP_TPM_AIK_CERTIFICATE "2.23.133.8.3" + +#define szOID_ENROLL_EKVERIFYKEY "1.3.6.1.4.1.311.21.30" +#define szOID_ENROLL_EKVERIFYCERT "1.3.6.1.4.1.311.21.31" +#define szOID_ENROLL_EKVERIFYCREDS "1.3.6.1.4.1.311.21.32" + +#define szOID_ENROLL_SCEP_ERROR "1.3.6.1.4.1.311.21.33" + +#define szOID_ENROLL_SCEP_SERVER_STATE "1.3.6.1.4.1.311.21.34" +#define szOID_ENROLL_SCEP_CHALLENGE_ANSWER "1.3.6.1.4.1.311.21.35" +#define szOID_ENROLL_SCEP_CLIENT_REQUEST "1.3.6.1.4.1.311.21.37" +#define szOID_ENROLL_SCEP_SERVER_MESSAGE "1.3.6.1.4.1.311.21.38" +#define szOID_ENROLL_SCEP_SERVER_SECRET "1.3.6.1.4.1.311.21.40" + +#define szOID_ENROLL_KEY_AFFINITY "1.3.6.1.4.1.311.21.41" + +#define szOID_ENROLL_SCEP_SIGNER_HASH "1.3.6.1.4.1.311.21.42" + +#define szOID_ENROLL_EK_CA_KEYID "1.3.6.1.4.1.311.21.43" + +#define szOID_ATTR_SUPPORTED_ALGORITHMS "2.5.4.52" +#define szOID_ATTR_TPM_SPECIFICATION "2.23.133.2.16" +#define szOID_ATTR_PLATFORM_SPECIFICATION "2.23.133.2.17" +#define szOID_ATTR_TPM_SECURITY_ASSERTIONS "2.23.133.2.18" + + typedef struct _CERT_EXTENSIONS { + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CERT_EXTENSIONS,*PCERT_EXTENSIONS; + +#define CERT_UNICODE_RDN_ERR_INDEX_MASK 0x3ff +#define CERT_UNICODE_RDN_ERR_INDEX_SHIFT 22 +#define CERT_UNICODE_ATTR_ERR_INDEX_MASK 0x3f +#define CERT_UNICODE_ATTR_ERR_INDEX_SHIFT 16 +#define CERT_UNICODE_VALUE_ERR_INDEX_MASK 0xffff +#define CERT_UNICODE_VALUE_ERR_INDEX_SHIFT 0 + +#define GET_CERT_UNICODE_RDN_ERR_INDEX(X) ((X >> CERT_UNICODE_RDN_ERR_INDEX_SHIFT) &CERT_UNICODE_RDN_ERR_INDEX_MASK) +#define GET_CERT_UNICODE_ATTR_ERR_INDEX(X) ((X >> CERT_UNICODE_ATTR_ERR_INDEX_SHIFT) &CERT_UNICODE_ATTR_ERR_INDEX_MASK) +#define GET_CERT_UNICODE_VALUE_ERR_INDEX(X) (X &CERT_UNICODE_VALUE_ERR_INDEX_MASK) + + typedef struct _CERT_AUTHORITY_KEY_ID_INFO { + CRYPT_DATA_BLOB KeyId; + CERT_NAME_BLOB CertIssuer; + CRYPT_INTEGER_BLOB CertSerialNumber; + } CERT_AUTHORITY_KEY_ID_INFO,*PCERT_AUTHORITY_KEY_ID_INFO; + + typedef struct _CERT_PRIVATE_KEY_VALIDITY { + FILETIME NotBefore; + FILETIME NotAfter; + } CERT_PRIVATE_KEY_VALIDITY,*PCERT_PRIVATE_KEY_VALIDITY; + + typedef struct _CERT_KEY_ATTRIBUTES_INFO { + CRYPT_DATA_BLOB KeyId; + CRYPT_BIT_BLOB IntendedKeyUsage; + PCERT_PRIVATE_KEY_VALIDITY pPrivateKeyUsagePeriod; + } CERT_KEY_ATTRIBUTES_INFO,*PCERT_KEY_ATTRIBUTES_INFO; + +#define CERT_ENCIPHER_ONLY_KEY_USAGE 0x01 +#define CERT_CRL_SIGN_KEY_USAGE 0x02 +#define CERT_OFFLINE_CRL_SIGN_KEY_USAGE 0x02 +#define CERT_KEY_CERT_SIGN_KEY_USAGE 0x04 +#define CERT_KEY_AGREEMENT_KEY_USAGE 0x08 +#define CERT_DATA_ENCIPHERMENT_KEY_USAGE 0x10 +#define CERT_KEY_ENCIPHERMENT_KEY_USAGE 0x20 +#define CERT_NON_REPUDIATION_KEY_USAGE 0x40 +#define CERT_DIGITAL_SIGNATURE_KEY_USAGE 0x80 + +#define CERT_DECIPHER_ONLY_KEY_USAGE 0x80 + + typedef struct _CERT_POLICY_ID { + DWORD cCertPolicyElementId; + LPSTR *rgpszCertPolicyElementId; + } CERT_POLICY_ID,*PCERT_POLICY_ID; + + typedef struct _CERT_KEY_USAGE_RESTRICTION_INFO { + DWORD cCertPolicyId; + PCERT_POLICY_ID rgCertPolicyId; + CRYPT_BIT_BLOB RestrictedKeyUsage; + } CERT_KEY_USAGE_RESTRICTION_INFO,*PCERT_KEY_USAGE_RESTRICTION_INFO; + + typedef struct _CERT_OTHER_NAME { + LPSTR pszObjId; + CRYPT_OBJID_BLOB Value; + } CERT_OTHER_NAME,*PCERT_OTHER_NAME; + + typedef struct _CERT_ALT_NAME_ENTRY { + DWORD dwAltNameChoice; + __C89_NAMELESS union { + PCERT_OTHER_NAME pOtherName; + LPWSTR pwszRfc822Name; + LPWSTR pwszDNSName; + /* CERT_DATA_BLOB is not documented, and x400Address is documented + * to be not implemented; commented out to prevent compile errors + * see http://msdn.microsoft.com/en-us/library/aa377173.aspx for + * CERT_ALT_NAME_ENTRY documentation where this is specified. + CERT_DATA_BLOB x400Address; + */ + CERT_NAME_BLOB DirectoryName; + /* pEdiPartyName is not implemented, either. see: + * http://msdn.microsoft.com/en-us/library/aa924681.aspx or + * http://msdn.microsoft.com/en-us/library/aa377173.aspx + LPWSTR pEdiPartyName; + */ + LPWSTR pwszURL; + CRYPT_DATA_BLOB IPAddress; + LPSTR pszRegisteredID; + }; + } CERT_ALT_NAME_ENTRY,*PCERT_ALT_NAME_ENTRY; + +#define CERT_ALT_NAME_OTHER_NAME 1 +#define CERT_ALT_NAME_RFC822_NAME 2 +#define CERT_ALT_NAME_DNS_NAME 3 +#define CERT_ALT_NAME_X400_ADDRESS 4 +#define CERT_ALT_NAME_DIRECTORY_NAME 5 +#define CERT_ALT_NAME_EDI_PARTY_NAME 6 +#define CERT_ALT_NAME_URL 7 +#define CERT_ALT_NAME_IP_ADDRESS 8 +#define CERT_ALT_NAME_REGISTERED_ID 9 + + typedef struct _CERT_ALT_NAME_INFO { + DWORD cAltEntry; + PCERT_ALT_NAME_ENTRY rgAltEntry; + } CERT_ALT_NAME_INFO,*PCERT_ALT_NAME_INFO; +#define CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK 0xff +#define CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT 16 +#define CERT_ALT_NAME_VALUE_ERR_INDEX_MASK 0x0000ffff +#define CERT_ALT_NAME_VALUE_ERR_INDEX_SHIFT 0 + +#define GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) ((X >> CERT_ALT_NAME_ENTRY_ERR_INDEX_SHIFT) &CERT_ALT_NAME_ENTRY_ERR_INDEX_MASK) +#define GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) (X &CERT_ALT_NAME_VALUE_ERR_INDEX_MASK) + + typedef struct _CERT_BASIC_CONSTRAINTS_INFO { + CRYPT_BIT_BLOB SubjectType; + WINBOOL fPathLenConstraint; + DWORD dwPathLenConstraint; + DWORD cSubtreesConstraint; + CERT_NAME_BLOB *rgSubtreesConstraint; + } CERT_BASIC_CONSTRAINTS_INFO, *PCERT_BASIC_CONSTRAINTS_INFO; + +#define CERT_CA_SUBJECT_FLAG 0x80 +#define CERT_END_ENTITY_SUBJECT_FLAG 0x40 + + typedef struct _CERT_BASIC_CONSTRAINTS2_INFO { + WINBOOL fCA; + WINBOOL fPathLenConstraint; + DWORD dwPathLenConstraint; + } CERT_BASIC_CONSTRAINTS2_INFO,*PCERT_BASIC_CONSTRAINTS2_INFO; + + typedef struct _CERT_POLICY_QUALIFIER_INFO { + LPSTR pszPolicyQualifierId; + CRYPT_OBJID_BLOB Qualifier; + } CERT_POLICY_QUALIFIER_INFO,*PCERT_POLICY_QUALIFIER_INFO; + + typedef struct _CERT_POLICY_INFO { + LPSTR pszPolicyIdentifier; + DWORD cPolicyQualifier; + CERT_POLICY_QUALIFIER_INFO *rgPolicyQualifier; + } CERT_POLICY_INFO,*PCERT_POLICY_INFO; + + typedef struct _CERT_POLICIES_INFO { + DWORD cPolicyInfo; + CERT_POLICY_INFO *rgPolicyInfo; + } CERT_POLICIES_INFO,*PCERT_POLICIES_INFO; + + typedef struct _CERT_POLICY_QUALIFIER_NOTICE_REFERENCE { + LPSTR pszOrganization; + DWORD cNoticeNumbers; + int *rgNoticeNumbers; + } CERT_POLICY_QUALIFIER_NOTICE_REFERENCE,*PCERT_POLICY_QUALIFIER_NOTICE_REFERENCE; + + typedef struct _CERT_POLICY_QUALIFIER_USER_NOTICE { + CERT_POLICY_QUALIFIER_NOTICE_REFERENCE *pNoticeReference; + LPWSTR pszDisplayText; + } CERT_POLICY_QUALIFIER_USER_NOTICE,*PCERT_POLICY_QUALIFIER_USER_NOTICE; + + typedef struct _CPS_URLS { + LPWSTR pszURL; + CRYPT_ALGORITHM_IDENTIFIER *pAlgorithm; + CRYPT_DATA_BLOB *pDigest; + } CPS_URLS,*PCPS_URLS; + + typedef struct _CERT_POLICY95_QUALIFIER1 { + LPWSTR pszPracticesReference; + LPSTR pszNoticeIdentifier; + LPSTR pszNSINoticeIdentifier; + DWORD cCPSURLs; + CPS_URLS *rgCPSURLs; + } CERT_POLICY95_QUALIFIER1,*PCERT_POLICY95_QUALIFIER1; + + typedef struct _CERT_POLICY_MAPPING { + LPSTR pszIssuerDomainPolicy; + LPSTR pszSubjectDomainPolicy; + } CERT_POLICY_MAPPING,*PCERT_POLICY_MAPPING; + + typedef struct _CERT_POLICY_MAPPINGS_INFO { + DWORD cPolicyMapping; + PCERT_POLICY_MAPPING rgPolicyMapping; + } CERT_POLICY_MAPPINGS_INFO,*PCERT_POLICY_MAPPINGS_INFO; + + typedef struct _CERT_POLICY_CONSTRAINTS_INFO { + WINBOOL fRequireExplicitPolicy; + DWORD dwRequireExplicitPolicySkipCerts; + WINBOOL fInhibitPolicyMapping; + DWORD dwInhibitPolicyMappingSkipCerts; + } CERT_POLICY_CONSTRAINTS_INFO,*PCERT_POLICY_CONSTRAINTS_INFO; + + typedef struct _CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY { + LPSTR pszObjId; + DWORD cValue; + PCRYPT_DER_BLOB rgValue; + } CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY,*PCRYPT_CONTENT_INFO_SEQUENCE_OF_ANY; + + typedef struct _CRYPT_CONTENT_INFO { + LPSTR pszObjId; + CRYPT_DER_BLOB Content; + } CRYPT_CONTENT_INFO,*PCRYPT_CONTENT_INFO; + + typedef struct _CRYPT_SEQUENCE_OF_ANY { + DWORD cValue; + PCRYPT_DER_BLOB rgValue; + } CRYPT_SEQUENCE_OF_ANY,*PCRYPT_SEQUENCE_OF_ANY; + + typedef struct _CERT_AUTHORITY_KEY_ID2_INFO { + CRYPT_DATA_BLOB KeyId; + CERT_ALT_NAME_INFO AuthorityCertIssuer; + CRYPT_INTEGER_BLOB AuthorityCertSerialNumber; + } CERT_AUTHORITY_KEY_ID2_INFO,*PCERT_AUTHORITY_KEY_ID2_INFO; + + typedef struct _CERT_ACCESS_DESCRIPTION { + LPSTR pszAccessMethod; + CERT_ALT_NAME_ENTRY AccessLocation; + } CERT_ACCESS_DESCRIPTION,*PCERT_ACCESS_DESCRIPTION; + + typedef struct _CERT_AUTHORITY_INFO_ACCESS { + DWORD cAccDescr; + PCERT_ACCESS_DESCRIPTION rgAccDescr; + } CERT_AUTHORITY_INFO_ACCESS,*PCERT_AUTHORITY_INFO_ACCESS; + + typedef CERT_AUTHORITY_INFO_ACCESS CERT_SUBJECT_INFO_ACCESS,*PCERT_SUBJECT_INFO_ACCESS; + +#define szOID_PKIX_ACC_DESCR "1.3.6.1.5.5.7.48" +#define szOID_PKIX_OCSP "1.3.6.1.5.5.7.48.1" +#define szOID_PKIX_CA_ISSUERS "1.3.6.1.5.5.7.48.2" +#define szOID_PKIX_TIME_STAMPING "1.3.6.1.5.5.7.48.3" +#define szOID_PKIX_CA_REPOSITORY "1.3.6.1.5.5.7.48.5" + +#define CRL_REASON_UNSPECIFIED 0 +#define CRL_REASON_KEY_COMPROMISE 1 +#define CRL_REASON_CA_COMPROMISE 2 +#define CRL_REASON_AFFILIATION_CHANGED 3 +#define CRL_REASON_SUPERSEDED 4 +#define CRL_REASON_CESSATION_OF_OPERATION 5 +#define CRL_REASON_CERTIFICATE_HOLD 6 +#define CRL_REASON_REMOVE_FROM_CRL 8 +#define CRL_REASON_PRIVILEGE_WITHDRAWN 9 +#define CRL_REASON_AA_COMPROMISE 10 + + typedef struct _CRL_DIST_POINT_NAME { + DWORD dwDistPointNameChoice; + __C89_NAMELESS union { + CERT_ALT_NAME_INFO FullName; + }; + } CRL_DIST_POINT_NAME,*PCRL_DIST_POINT_NAME; + +#define CRL_DIST_POINT_NO_NAME 0 +#define CRL_DIST_POINT_FULL_NAME 1 +#define CRL_DIST_POINT_ISSUER_RDN_NAME 2 + + typedef struct _CRL_DIST_POINT { + CRL_DIST_POINT_NAME DistPointName; + CRYPT_BIT_BLOB ReasonFlags; + CERT_ALT_NAME_INFO CRLIssuer; + } CRL_DIST_POINT,*PCRL_DIST_POINT; + +#define CRL_REASON_UNUSED_FLAG 0x80 +#define CRL_REASON_KEY_COMPROMISE_FLAG 0x40 +#define CRL_REASON_CA_COMPROMISE_FLAG 0x20 +#define CRL_REASON_AFFILIATION_CHANGED_FLAG 0x10 +#define CRL_REASON_SUPERSEDED_FLAG 0x08 +#define CRL_REASON_CESSATION_OF_OPERATION_FLAG 0x04 +#define CRL_REASON_CERTIFICATE_HOLD_FLAG 0x02 +#define CRL_REASON_PRIVILEGE_WITHDRAWN_FLAG 0x01 +#define CRL_REASON_AA_COMPROMISE_FLAG 0x80 + + typedef struct _CRL_DIST_POINTS_INFO { + DWORD cDistPoint; + PCRL_DIST_POINT rgDistPoint; + } CRL_DIST_POINTS_INFO,*PCRL_DIST_POINTS_INFO; + +#define CRL_DIST_POINT_ERR_INDEX_MASK 0x7f +#define CRL_DIST_POINT_ERR_INDEX_SHIFT 24 +#define GET_CRL_DIST_POINT_ERR_INDEX(X) ((X >> CRL_DIST_POINT_ERR_INDEX_SHIFT) &CRL_DIST_POINT_ERR_INDEX_MASK) + +#define CRL_DIST_POINT_ERR_CRL_ISSUER_BIT __MSABI_LONG(0x80000000) +#define IS_CRL_DIST_POINT_ERR_CRL_ISSUER(X) (0 != (X & CRL_DIST_POINT_ERR_CRL_ISSUER_BIT)) + + typedef struct _CROSS_CERT_DIST_POINTS_INFO { + DWORD dwSyncDeltaTime; + DWORD cDistPoint; + PCERT_ALT_NAME_INFO rgDistPoint; + } CROSS_CERT_DIST_POINTS_INFO,*PCROSS_CERT_DIST_POINTS_INFO; + +#define CROSS_CERT_DIST_POINT_ERR_INDEX_MASK 0xff +#define CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT 24 +#define GET_CROSS_CERT_DIST_POINT_ERR_INDEX(X) ((X >> CROSS_CERT_DIST_POINT_ERR_INDEX_SHIFT) &CROSS_CERT_DIST_POINT_ERR_INDEX_MASK) + + typedef struct _CERT_PAIR { + CERT_BLOB Forward; + CERT_BLOB Reverse; + } CERT_PAIR,*PCERT_PAIR; + + typedef struct _CRL_ISSUING_DIST_POINT { + CRL_DIST_POINT_NAME DistPointName; + WINBOOL fOnlyContainsUserCerts; + WINBOOL fOnlyContainsCACerts; + CRYPT_BIT_BLOB OnlySomeReasonFlags; + WINBOOL fIndirectCRL; + } CRL_ISSUING_DIST_POINT,*PCRL_ISSUING_DIST_POINT; + + typedef struct _CERT_GENERAL_SUBTREE { + CERT_ALT_NAME_ENTRY Base; + DWORD dwMinimum; + WINBOOL fMaximum; + DWORD dwMaximum; + } CERT_GENERAL_SUBTREE,*PCERT_GENERAL_SUBTREE; + + typedef struct _CERT_NAME_CONSTRAINTS_INFO { + DWORD cPermittedSubtree; + PCERT_GENERAL_SUBTREE rgPermittedSubtree; + DWORD cExcludedSubtree; + PCERT_GENERAL_SUBTREE rgExcludedSubtree; + } CERT_NAME_CONSTRAINTS_INFO,*PCERT_NAME_CONSTRAINTS_INFO; + +#define CERT_EXCLUDED_SUBTREE_BIT __MSABI_LONG(0x80000000) +#define IS_CERT_EXCLUDED_SUBTREE(X) (0!=(X & CERT_EXCLUDED_SUBTREE_BIT)) + +#define SORTED_CTL_EXT_FLAGS_OFFSET (0) +#define SORTED_CTL_EXT_COUNT_OFFSET (4) +#define SORTED_CTL_EXT_MAX_COLLISION_OFFSET (8) +#define SORTED_CTL_EXT_HASH_BUCKET_OFFSET (12) + +#define SORTED_CTL_EXT_HASHED_SUBJECT_IDENTIFIER_FLAG 0x1 + + typedef struct _CERT_DSS_PARAMETERS { + CRYPT_UINT_BLOB p; + CRYPT_UINT_BLOB q; + CRYPT_UINT_BLOB g; + } CERT_DSS_PARAMETERS,*PCERT_DSS_PARAMETERS; + +#define CERT_DSS_R_LEN 20 +#define CERT_DSS_S_LEN 20 +#define CERT_DSS_SIGNATURE_LEN (CERT_DSS_R_LEN + CERT_DSS_S_LEN) + +#define CERT_MAX_ASN_ENCODED_DSS_SIGNATURE_LEN (48) + + typedef struct _CERT_DH_PARAMETERS { + CRYPT_UINT_BLOB p; + CRYPT_UINT_BLOB g; + } CERT_DH_PARAMETERS,*PCERT_DH_PARAMETERS; + + typedef struct _CERT_ECC_SIGNATURE { + CRYPT_UINT_BLOB r; + CRYPT_UINT_BLOB s; + } CERT_ECC_SIGNATURE,*PCERT_ECC_SIGNATURE; + + typedef struct _CERT_X942_DH_VALIDATION_PARAMS { + CRYPT_BIT_BLOB seed; + DWORD pgenCounter; + } CERT_X942_DH_VALIDATION_PARAMS,*PCERT_X942_DH_VALIDATION_PARAMS; + + typedef struct _CERT_X942_DH_PARAMETERS { + CRYPT_UINT_BLOB p; + CRYPT_UINT_BLOB g; + CRYPT_UINT_BLOB q; + CRYPT_UINT_BLOB j; + PCERT_X942_DH_VALIDATION_PARAMS pValidationParams; + } CERT_X942_DH_PARAMETERS,*PCERT_X942_DH_PARAMETERS; + +#define CRYPT_X942_COUNTER_BYTE_LENGTH 4 +#define CRYPT_X942_KEY_LENGTH_BYTE_LENGTH 4 +#define CRYPT_X942_PUB_INFO_BYTE_LENGTH (512/8) + + typedef struct _CRYPT_X942_OTHER_INFO { + LPSTR pszContentEncryptionObjId; + BYTE rgbCounter[CRYPT_X942_COUNTER_BYTE_LENGTH]; + BYTE rgbKeyLength[CRYPT_X942_KEY_LENGTH_BYTE_LENGTH]; + CRYPT_DATA_BLOB PubInfo; + } CRYPT_X942_OTHER_INFO,*PCRYPT_X942_OTHER_INFO; + +#define CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH 4 + + typedef struct _CRYPT_ECC_CMS_SHARED_INFO { + CRYPT_ALGORITHM_IDENTIFIER Algorithm; + CRYPT_DATA_BLOB EntityUInfo; + BYTE rgbSuppPubInfo[CRYPT_ECC_CMS_SHARED_INFO_SUPPPUBINFO_BYTE_LENGTH]; + } CRYPT_ECC_CMS_SHARED_INFO,*PCRYPT_ECC_CMS_SHARED_INFO; + + typedef struct _CRYPT_RC2_CBC_PARAMETERS { + DWORD dwVersion; + WINBOOL fIV; + BYTE rgbIV[8]; + } CRYPT_RC2_CBC_PARAMETERS,*PCRYPT_RC2_CBC_PARAMETERS; + +#define CRYPT_RC2_40BIT_VERSION 160 +#define CRYPT_RC2_56BIT_VERSION 52 +#define CRYPT_RC2_64BIT_VERSION 120 +#define CRYPT_RC2_128BIT_VERSION 58 + + typedef struct _CRYPT_SMIME_CAPABILITY { + LPSTR pszObjId; + CRYPT_OBJID_BLOB Parameters; + } CRYPT_SMIME_CAPABILITY,*PCRYPT_SMIME_CAPABILITY; + + typedef struct _CRYPT_SMIME_CAPABILITIES { + DWORD cCapability; + PCRYPT_SMIME_CAPABILITY rgCapability; + } CRYPT_SMIME_CAPABILITIES,*PCRYPT_SMIME_CAPABILITIES; + + typedef struct _CERT_QC_STATEMENT { + LPSTR pszStatementId; + CRYPT_OBJID_BLOB StatementInfo; + } CERT_QC_STATEMENT,*PCERT_QC_STATEMENT; + + typedef struct _CERT_QC_STATEMENTS_EXT_INFO { + DWORD cStatement; + PCERT_QC_STATEMENT rgStatement; + } CERT_QC_STATEMENTS_EXT_INFO,*PCERT_QC_STATEMENTS_EXT_INFO; + +#define szOID_QC_EU_COMPLIANCE "0.4.0.1862.1.1" +#define szOID_QC_SSCD "0.4.0.1862.1.4" + + typedef struct _CRYPT_MASK_GEN_ALGORITHM { + LPSTR pszObjId; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + } CRYPT_MASK_GEN_ALGORITHM,*PCRYPT_MASK_GEN_ALGORITHM; + + typedef struct _CRYPT_RSA_SSA_PSS_PARAMETERS { + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_MASK_GEN_ALGORITHM MaskGenAlgorithm; + DWORD dwSaltLength; + DWORD dwTrailerField; + } CRYPT_RSA_SSA_PSS_PARAMETERS,*PCRYPT_RSA_SSA_PSS_PARAMETERS; + +#define PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC 1 + + typedef struct _CRYPT_PSOURCE_ALGORITHM { + LPSTR pszObjId; + CRYPT_DATA_BLOB EncodingParameters; + } CRYPT_PSOURCE_ALGORITHM,*PCRYPT_PSOURCE_ALGORITHM; + + typedef struct _CRYPT_RSAES_OAEP_PARAMETERS { + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_MASK_GEN_ALGORITHM MaskGenAlgorithm; + CRYPT_PSOURCE_ALGORITHM PSourceAlgorithm; + } CRYPT_RSAES_OAEP_PARAMETERS,*PCRYPT_RSAES_OAEP_PARAMETERS; + +#define szOID_VERISIGN_PRIVATE_6_9 "2.16.840.1.113733.1.6.9" +#define szOID_VERISIGN_ONSITE_JURISDICTION_HASH "2.16.840.1.113733.1.6.11" +#define szOID_VERISIGN_BITSTRING_6_13 "2.16.840.1.113733.1.6.13" + +#define szOID_VERISIGN_ISS_STRONG_CRYPTO "2.16.840.1.113733.1.8.1" + +#define szOIDVerisign_MessageType "2.16.840.1.113733.1.9.2" +#define szOIDVerisign_PkiStatus "2.16.840.1.113733.1.9.3" +#define szOIDVerisign_FailInfo "2.16.840.1.113733.1.9.4" + +#define szOIDVerisign_SenderNonce "2.16.840.1.113733.1.9.5" +#define szOIDVerisign_RecipientNonce "2.16.840.1.113733.1.9.6" + +#define szOIDVerisign_TransactionID "2.16.840.1.113733.1.9.7" + +#define szOID_NETSCAPE "2.16.840.1.113730" +#define szOID_NETSCAPE_CERT_EXTENSION "2.16.840.1.113730.1" +#define szOID_NETSCAPE_CERT_TYPE "2.16.840.1.113730.1.1" +#define szOID_NETSCAPE_BASE_URL "2.16.840.1.113730.1.2" +#define szOID_NETSCAPE_REVOCATION_URL "2.16.840.1.113730.1.3" +#define szOID_NETSCAPE_CA_REVOCATION_URL "2.16.840.1.113730.1.4" +#define szOID_NETSCAPE_CERT_RENEWAL_URL "2.16.840.1.113730.1.7" +#define szOID_NETSCAPE_CA_POLICY_URL "2.16.840.1.113730.1.8" +#define szOID_NETSCAPE_SSL_SERVER_NAME "2.16.840.1.113730.1.12" +#define szOID_NETSCAPE_COMMENT "2.16.840.1.113730.1.13" + +#define szOID_NETSCAPE_DATA_TYPE "2.16.840.1.113730.2" +#define szOID_NETSCAPE_CERT_SEQUENCE "2.16.840.1.113730.2.5" + +#define NETSCAPE_SIGN_CA_CERT_TYPE 0x01 +#define NETSCAPE_SMIME_CA_CERT_TYPE 0x02 +#define NETSCAPE_SSL_CA_CERT_TYPE 0x04 +#define NETSCAPE_SIGN_CERT_TYPE 0x10 +#define NETSCAPE_SMIME_CERT_TYPE 0x20 +#define NETSCAPE_SSL_SERVER_AUTH_CERT_TYPE 0x40 +#define NETSCAPE_SSL_CLIENT_AUTH_CERT_TYPE 0x80 + +#define szOID_CT_PKI_DATA "1.3.6.1.5.5.7.12.2" +#define szOID_CT_PKI_RESPONSE "1.3.6.1.5.5.7.12.3" + +#define szOID_PKIX_NO_SIGNATURE "1.3.6.1.5.5.7.6.2" + +#define szOID_CMC "1.3.6.1.5.5.7.7" +#define szOID_CMC_STATUS_INFO "1.3.6.1.5.5.7.7.1" +#define szOID_CMC_IDENTIFICATION "1.3.6.1.5.5.7.7.2" +#define szOID_CMC_IDENTITY_PROOF "1.3.6.1.5.5.7.7.3" +#define szOID_CMC_DATA_RETURN "1.3.6.1.5.5.7.7.4" +#define szOID_CMC_TRANSACTION_ID "1.3.6.1.5.5.7.7.5" +#define szOID_CMC_SENDER_NONCE "1.3.6.1.5.5.7.7.6" +#define szOID_CMC_RECIPIENT_NONCE "1.3.6.1.5.5.7.7.7" +#define szOID_CMC_ADD_EXTENSIONS "1.3.6.1.5.5.7.7.8" +#define szOID_CMC_ENCRYPTED_POP "1.3.6.1.5.5.7.7.9" +#define szOID_CMC_DECRYPTED_POP "1.3.6.1.5.5.7.7.10" +#define szOID_CMC_LRA_POP_WITNESS "1.3.6.1.5.5.7.7.11" +#define szOID_CMC_GET_CERT "1.3.6.1.5.5.7.7.15" +#define szOID_CMC_GET_CRL "1.3.6.1.5.5.7.7.16" +#define szOID_CMC_REVOKE_REQUEST "1.3.6.1.5.5.7.7.17" +#define szOID_CMC_REG_INFO "1.3.6.1.5.5.7.7.18" +#define szOID_CMC_RESPONSE_INFO "1.3.6.1.5.5.7.7.19" +#define szOID_CMC_QUERY_PENDING "1.3.6.1.5.5.7.7.21" +#define szOID_CMC_ID_POP_LINK_RANDOM "1.3.6.1.5.5.7.7.22" +#define szOID_CMC_ID_POP_LINK_WITNESS "1.3.6.1.5.5.7.7.23" +#define szOID_CMC_ID_CONFIRM_CERT_ACCEPTANCE "1.3.6.1.5.5.7.7.24" + +#define szOID_CMC_ADD_ATTRIBUTES "1.3.6.1.4.1.311.10.10.1" + + typedef struct _CMC_TAGGED_ATTRIBUTE { + DWORD dwBodyPartID; + CRYPT_ATTRIBUTE Attribute; + } CMC_TAGGED_ATTRIBUTE,*PCMC_TAGGED_ATTRIBUTE; + + typedef struct _CMC_TAGGED_CERT_REQUEST { + DWORD dwBodyPartID; + CRYPT_DER_BLOB SignedCertRequest; + } CMC_TAGGED_CERT_REQUEST,*PCMC_TAGGED_CERT_REQUEST; + + typedef struct _CMC_TAGGED_REQUEST { + DWORD dwTaggedRequestChoice; + __C89_NAMELESS union { + PCMC_TAGGED_CERT_REQUEST pTaggedCertRequest; + }; + } CMC_TAGGED_REQUEST,*PCMC_TAGGED_REQUEST; + +#define CMC_TAGGED_CERT_REQUEST_CHOICE 1 + + typedef struct _CMC_TAGGED_CONTENT_INFO { + DWORD dwBodyPartID; + CRYPT_DER_BLOB EncodedContentInfo; + } CMC_TAGGED_CONTENT_INFO,*PCMC_TAGGED_CONTENT_INFO; + + typedef struct _CMC_TAGGED_OTHER_MSG { + DWORD dwBodyPartID; + LPSTR pszObjId; + CRYPT_OBJID_BLOB Value; + } CMC_TAGGED_OTHER_MSG,*PCMC_TAGGED_OTHER_MSG; + + typedef struct _CMC_DATA_INFO { + DWORD cTaggedAttribute; + PCMC_TAGGED_ATTRIBUTE rgTaggedAttribute; + DWORD cTaggedRequest; + PCMC_TAGGED_REQUEST rgTaggedRequest; + DWORD cTaggedContentInfo; + PCMC_TAGGED_CONTENT_INFO rgTaggedContentInfo; + DWORD cTaggedOtherMsg; + PCMC_TAGGED_OTHER_MSG rgTaggedOtherMsg; + } CMC_DATA_INFO,*PCMC_DATA_INFO; + + typedef struct _CMC_RESPONSE_INFO { + DWORD cTaggedAttribute; + PCMC_TAGGED_ATTRIBUTE rgTaggedAttribute; + DWORD cTaggedContentInfo; + PCMC_TAGGED_CONTENT_INFO rgTaggedContentInfo; + DWORD cTaggedOtherMsg; + PCMC_TAGGED_OTHER_MSG rgTaggedOtherMsg; + } CMC_RESPONSE_INFO,*PCMC_RESPONSE_INFO; + + typedef struct _CMC_PEND_INFO { + CRYPT_DATA_BLOB PendToken; + FILETIME PendTime; + } CMC_PEND_INFO,*PCMC_PEND_INFO; + + typedef struct _CMC_STATUS_INFO { + DWORD dwStatus; + DWORD cBodyList; + DWORD *rgdwBodyList; + LPWSTR pwszStatusString; + DWORD dwOtherInfoChoice; + __C89_NAMELESS union { + DWORD dwFailInfo; + PCMC_PEND_INFO pPendInfo; + }; + } CMC_STATUS_INFO,*PCMC_STATUS_INFO; + +#define CMC_OTHER_INFO_NO_CHOICE 0 +#define CMC_OTHER_INFO_FAIL_CHOICE 1 +#define CMC_OTHER_INFO_PEND_CHOICE 2 + +#define CMC_STATUS_SUCCESS 0 +#define CMC_STATUS_FAILED 2 +#define CMC_STATUS_PENDING 3 +#define CMC_STATUS_NO_SUPPORT 4 +#define CMC_STATUS_CONFIRM_REQUIRED 5 + +#define CMC_FAIL_BAD_ALG 0 +#define CMC_FAIL_BAD_MESSAGE_CHECK 1 +#define CMC_FAIL_BAD_REQUEST 2 +#define CMC_FAIL_BAD_TIME 3 +#define CMC_FAIL_BAD_CERT_ID 4 +#define CMC_FAIL_UNSUPORTED_EXT 5 +#define CMC_FAIL_MUST_ARCHIVE_KEYS 6 +#define CMC_FAIL_BAD_IDENTITY 7 +#define CMC_FAIL_POP_REQUIRED 8 +#define CMC_FAIL_POP_FAILED 9 +#define CMC_FAIL_NO_KEY_REUSE 10 +#define CMC_FAIL_INTERNAL_CA_ERROR 11 +#define CMC_FAIL_TRY_LATER 12 + + typedef struct _CMC_ADD_EXTENSIONS_INFO { + DWORD dwCmcDataReference; + DWORD cCertReference; + DWORD *rgdwCertReference; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CMC_ADD_EXTENSIONS_INFO,*PCMC_ADD_EXTENSIONS_INFO; + + typedef struct _CMC_ADD_ATTRIBUTES_INFO { + DWORD dwCmcDataReference; + DWORD cCertReference; + DWORD *rgdwCertReference; + DWORD cAttribute; + PCRYPT_ATTRIBUTE rgAttribute; + } CMC_ADD_ATTRIBUTES_INFO,*PCMC_ADD_ATTRIBUTES_INFO; + + typedef struct _CERT_TEMPLATE_EXT { + LPSTR pszObjId; + DWORD dwMajorVersion; + WINBOOL fMinorVersion; + DWORD dwMinorVersion; + } CERT_TEMPLATE_EXT,*PCERT_TEMPLATE_EXT; + + typedef struct _CERT_HASHED_URL { + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_HASH_BLOB Hash; + LPWSTR pwszUrl; + } CERT_HASHED_URL,*PCERT_HASHED_URL; + + typedef struct _CERT_LOGOTYPE_DETAILS { + LPWSTR pwszMimeType; + DWORD cHashedUrl; + PCERT_HASHED_URL rgHashedUrl; + } CERT_LOGOTYPE_DETAILS,*PCERT_LOGOTYPE_DETAILS; + + typedef struct _CERT_LOGOTYPE_REFERENCE { + DWORD cHashedUrl; + PCERT_HASHED_URL rgHashedUrl; + } CERT_LOGOTYPE_REFERENCE,*PCERT_LOGOTYPE_REFERENCE; + + typedef struct _CERT_LOGOTYPE_IMAGE_INFO { + DWORD dwLogotypeImageInfoChoice; + DWORD dwFileSize; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwLogotypeImageResolutionChoice; + __C89_NAMELESS union { + DWORD dwNumBits; + DWORD dwTableSize; + }; + LPWSTR pwszLanguage; + } CERT_LOGOTYPE_IMAGE_INFO,*PCERT_LOGOTYPE_IMAGE_INFO; + +#define CERT_LOGOTYPE_GRAY_SCALE_IMAGE_INFO_CHOICE 1 +#define CERT_LOGOTYPE_COLOR_IMAGE_INFO_CHOICE 2 + +#define CERT_LOGOTYPE_NO_IMAGE_RESOLUTION_CHOICE 0 +#define CERT_LOGOTYPE_BITS_IMAGE_RESOLUTION_CHOICE 1 +#define CERT_LOGOTYPE_TABLE_SIZE_IMAGE_RESOLUTION_CHOICE 2 + + typedef struct _CERT_LOGOTYPE_IMAGE { + CERT_LOGOTYPE_DETAILS LogotypeDetails; + PCERT_LOGOTYPE_IMAGE_INFO pLogotypeImageInfo; + } CERT_LOGOTYPE_IMAGE,*PCERT_LOGOTYPE_IMAGE; + + typedef struct _CERT_LOGOTYPE_AUDIO_INFO { + DWORD dwFileSize; + DWORD dwPlayTime; + DWORD dwChannels; + DWORD dwSampleRate; + LPWSTR pwszLanguage; + } CERT_LOGOTYPE_AUDIO_INFO,*PCERT_LOGOTYPE_AUDIO_INFO; + + typedef struct _CERT_LOGOTYPE_AUDIO { + CERT_LOGOTYPE_DETAILS LogotypeDetails; + PCERT_LOGOTYPE_AUDIO_INFO pLogotypeAudioInfo; + } CERT_LOGOTYPE_AUDIO,*PCERT_LOGOTYPE_AUDIO; + + typedef struct _CERT_LOGOTYPE_DATA { + DWORD cLogotypeImage; + PCERT_LOGOTYPE_IMAGE rgLogotypeImage; + DWORD cLogotypeAudio; + PCERT_LOGOTYPE_AUDIO rgLogotypeAudio; + } CERT_LOGOTYPE_DATA,*PCERT_LOGOTYPE_DATA; + + typedef struct _CERT_LOGOTYPE_INFO { + DWORD dwLogotypeInfoChoice; + __C89_NAMELESS union { + PCERT_LOGOTYPE_DATA pLogotypeDirectInfo; + PCERT_LOGOTYPE_REFERENCE pLogotypeIndirectInfo; + }; + } CERT_LOGOTYPE_INFO,*PCERT_LOGOTYPE_INFO; + +#define CERT_LOGOTYPE_DIRECT_INFO_CHOICE 1 +#define CERT_LOGOTYPE_INDIRECT_INFO_CHOICE 2 + + typedef struct _CERT_OTHER_LOGOTYPE_INFO { + LPSTR pszObjId; + CERT_LOGOTYPE_INFO LogotypeInfo; + } CERT_OTHER_LOGOTYPE_INFO,*PCERT_OTHER_LOGOTYPE_INFO; + +#define szOID_LOYALTY_OTHER_LOGOTYPE "1.3.6.1.5.5.7.20.1" +#define szOID_BACKGROUND_OTHER_LOGOTYPE "1.3.6.1.5.5.7.20.2" + + typedef struct _CERT_LOGOTYPE_EXT_INFO { + DWORD cCommunityLogo; + PCERT_LOGOTYPE_INFO rgCommunityLogo; + PCERT_LOGOTYPE_INFO pIssuerLogo; + PCERT_LOGOTYPE_INFO pSubjectLogo; + DWORD cOtherLogo; + PCERT_OTHER_LOGOTYPE_INFO rgOtherLogo; + } CERT_LOGOTYPE_EXT_INFO,*PCERT_LOGOTYPE_EXT_INFO; + + typedef struct _CERT_BIOMETRIC_DATA { + DWORD dwTypeOfBiometricDataChoice; + __C89_NAMELESS union { + DWORD dwPredefined; + LPSTR pszObjId; + }; + CERT_HASHED_URL HashedUrl; + } CERT_BIOMETRIC_DATA,*PCERT_BIOMETRIC_DATA; + +#define CERT_BIOMETRIC_PREDEFINED_DATA_CHOICE 1 +#define CERT_BIOMETRIC_OID_DATA_CHOICE 2 + +#define CERT_BIOMETRIC_PICTURE_TYPE 0 +#define CERT_BIOMETRIC_SIGNATURE_TYPE 1 + + typedef struct _CERT_BIOMETRIC_EXT_INFO { + DWORD cBiometricData; + PCERT_BIOMETRIC_DATA rgBiometricData; + } CERT_BIOMETRIC_EXT_INFO,*PCERT_BIOMETRIC_EXT_INFO; + + typedef struct _OCSP_SIGNATURE_INFO { + CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm; + CRYPT_BIT_BLOB Signature; + DWORD cCertEncoded; + PCERT_BLOB rgCertEncoded; + } OCSP_SIGNATURE_INFO,*POCSP_SIGNATURE_INFO; + + typedef struct _OCSP_SIGNED_REQUEST_INFO { + CRYPT_DER_BLOB ToBeSigned; + POCSP_SIGNATURE_INFO pOptionalSignatureInfo; + } OCSP_SIGNED_REQUEST_INFO,*POCSP_SIGNED_REQUEST_INFO; + + typedef struct _OCSP_CERT_ID { + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_HASH_BLOB IssuerNameHash; + CRYPT_HASH_BLOB IssuerKeyHash; + CRYPT_INTEGER_BLOB SerialNumber; + } OCSP_CERT_ID,*POCSP_CERT_ID; + + typedef struct _OCSP_REQUEST_ENTRY { + OCSP_CERT_ID CertId; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } OCSP_REQUEST_ENTRY,*POCSP_REQUEST_ENTRY; + + typedef struct _OCSP_REQUEST_INFO { + DWORD dwVersion; + PCERT_ALT_NAME_ENTRY pRequestorName; + DWORD cRequestEntry; + POCSP_REQUEST_ENTRY rgRequestEntry; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } OCSP_REQUEST_INFO,*POCSP_REQUEST_INFO; + +#define OCSP_REQUEST_V1 0 + + typedef struct _OCSP_RESPONSE_INFO { + DWORD dwStatus; + LPSTR pszObjId; + CRYPT_OBJID_BLOB Value; + } OCSP_RESPONSE_INFO,*POCSP_RESPONSE_INFO; + +#define OCSP_SUCCESSFUL_RESPONSE 0 +#define OCSP_MALFORMED_REQUEST_RESPONSE 1 +#define OCSP_INTERNAL_ERROR_RESPONSE 2 +#define OCSP_TRY_LATER_RESPONSE 3 +#define OCSP_SIG_REQUIRED_RESPONSE 5 +#define OCSP_UNAUTHORIZED_RESPONSE 6 + +#define szOID_PKIX_OCSP_BASIC_SIGNED_RESPONSE "1.3.6.1.5.5.7.48.1.1" + + typedef struct _OCSP_BASIC_SIGNED_RESPONSE_INFO { + CRYPT_DER_BLOB ToBeSigned; + OCSP_SIGNATURE_INFO SignatureInfo; + } OCSP_BASIC_SIGNED_RESPONSE_INFO,*POCSP_BASIC_SIGNED_RESPONSE_INFO; + + typedef struct _OCSP_BASIC_REVOKED_INFO { + FILETIME RevocationDate; + DWORD dwCrlReasonCode; + } OCSP_BASIC_REVOKED_INFO,*POCSP_BASIC_REVOKED_INFO; + + typedef struct _OCSP_BASIC_RESPONSE_ENTRY { + OCSP_CERT_ID CertId; + DWORD dwCertStatus; + __C89_NAMELESS union { + POCSP_BASIC_REVOKED_INFO pRevokedInfo; + }; + FILETIME ThisUpdate; + FILETIME NextUpdate; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } OCSP_BASIC_RESPONSE_ENTRY,*POCSP_BASIC_RESPONSE_ENTRY; + +#define OCSP_BASIC_GOOD_CERT_STATUS 0 +#define OCSP_BASIC_REVOKED_CERT_STATUS 1 +#define OCSP_BASIC_UNKNOWN_CERT_STATUS 2 + + typedef struct _OCSP_BASIC_RESPONSE_INFO { + DWORD dwVersion; + DWORD dwResponderIdChoice; + __C89_NAMELESS union { + CERT_NAME_BLOB ByNameResponderId; + CRYPT_HASH_BLOB ByKeyResponderId; + }; + FILETIME ProducedAt; + DWORD cResponseEntry; + POCSP_BASIC_RESPONSE_ENTRY rgResponseEntry; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } OCSP_BASIC_RESPONSE_INFO,*POCSP_BASIC_RESPONSE_INFO; + +#define OCSP_BASIC_RESPONSE_V1 0 +#define OCSP_BASIC_BY_NAME_RESPONDER_ID 1 +#define OCSP_BASIC_BY_KEY_RESPONDER_ID 2 + + typedef struct _CERT_SUPPORTED_ALGORITHM_INFO { + CRYPT_ALGORITHM_IDENTIFIER Algorithm; + CRYPT_BIT_BLOB IntendedKeyUsage; + CERT_POLICIES_INFO IntendedCertPolicies; + } CERT_SUPPORTED_ALGORITHM_INFO, *PCERT_SUPPORTED_ALGORITHM_INFO; + + typedef struct _CERT_TPM_SPECIFICATION_INFO { + LPWSTR pwszFamily; + DWORD dwLevel; + DWORD dwRevision; + } CERT_TPM_SPECIFICATION_INFO, *PCERT_TPM_SPECIFICATION_INFO; + + typedef void *HCRYPTOIDFUNCSET; + typedef void *HCRYPTOIDFUNCADDR; + +#define CRYPT_OID_ENCODE_OBJECT_FUNC "CryptDllEncodeObject" +#define CRYPT_OID_DECODE_OBJECT_FUNC "CryptDllDecodeObject" +#define CRYPT_OID_ENCODE_OBJECT_EX_FUNC "CryptDllEncodeObjectEx" +#define CRYPT_OID_DECODE_OBJECT_EX_FUNC "CryptDllDecodeObjectEx" +#define CRYPT_OID_CREATE_COM_OBJECT_FUNC "CryptDllCreateCOMObject" +#define CRYPT_OID_VERIFY_REVOCATION_FUNC "CertDllVerifyRevocation" +#define CRYPT_OID_VERIFY_CTL_USAGE_FUNC "CertDllVerifyCTLUsage" +#define CRYPT_OID_FORMAT_OBJECT_FUNC "CryptDllFormatObject" +#define CRYPT_OID_FIND_OID_INFO_FUNC "CryptDllFindOIDInfo" +#define CRYPT_OID_FIND_LOCALIZED_NAME_FUNC "CryptDllFindLocalizedName" + +#define CRYPT_OID_REGPATH "Software\\Microsoft\\Cryptography\\OID" +#define CRYPT_OID_REG_ENCODING_TYPE_PREFIX "EncodingType " +#define CRYPT_OID_REG_DLL_VALUE_NAME L"Dll" +#define CRYPT_OID_REG_FUNC_NAME_VALUE_NAME L"FuncName" +#define CRYPT_OID_REG_FUNC_NAME_VALUE_NAME_A "FuncName" + +#define CRYPT_OID_REG_FLAGS_VALUE_NAME L"CryptFlags" + +#define CRYPT_DEFAULT_OID "DEFAULT" + + typedef struct _CRYPT_OID_FUNC_ENTRY { + LPCSTR pszOID; + void *pvFuncAddr; + } CRYPT_OID_FUNC_ENTRY,*PCRYPT_OID_FUNC_ENTRY; + +#define CRYPT_INSTALL_OID_FUNC_BEFORE_FLAG 1 +#define CRYPT_GET_INSTALLED_OID_FUNC_FLAG 0x1 + +#define CRYPT_REGISTER_FIRST_INDEX 0 +#define CRYPT_REGISTER_LAST_INDEX 0xffffffff + + WINIMPM WINBOOL WINAPI CryptInstallOIDFunctionAddress (HMODULE hModule, DWORD dwEncodingType, LPCSTR pszFuncName, DWORD cFuncEntry, const CRYPT_OID_FUNC_ENTRY rgFuncEntry[], DWORD dwFlags); + WINIMPM HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet (LPCSTR pszFuncName, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptGetOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr); + WINIMPM WINBOOL WINAPI CryptGetDefaultOIDDllList (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, WCHAR *pwszDllList, DWORD *pcchDllList); + WINIMPM WINBOOL WINAPI CryptGetDefaultOIDFunctionAddress (HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCWSTR pwszDll, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr); + WINIMPM WINBOOL WINAPI CryptFreeOIDFunctionAddress (HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptRegisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszDll, LPCSTR pszOverrideFuncName); + WINIMPM WINBOOL WINAPI CryptUnregisterOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID); + WINIMPM WINBOOL WINAPI CryptRegisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, DWORD dwIndex, LPCWSTR pwszDll); + WINIMPM WINBOOL WINAPI CryptUnregisterDefaultOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCWSTR pwszDll); + WINIMPM WINBOOL WINAPI CryptSetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD dwValueType, const BYTE *pbValueData, DWORD cbValueData); + WINIMPM WINBOOL WINAPI CryptGetOIDFunctionValue (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD *pdwValueType, BYTE *pbValueData, DWORD *pcbValueData); + + typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_OID_FUNC) (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD cValue, const DWORD rgdwValueType[], LPCWSTR const rgpwszValueName[], const BYTE *const rgpbValueData[], const DWORD rgcbValueData[], void *pvArg); + + WINIMPM WINBOOL WINAPI CryptEnumOIDFunction (DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_FUNC pfnEnumOIDFunc); + +#define CRYPT_MATCH_ANY_ENCODING_TYPE 0xffffffff +#define CALG_OID_INFO_CNG_ONLY 0xffffffff +#define CALG_OID_INFO_PARAMETERS 0xfffffffe +#define IS_SPECIAL_OID_INFO_ALGID(Algid) (Algid >= CALG_OID_INFO_PARAMETERS) + +#define CRYPT_OID_INFO_HASH_PARAMETERS_ALGORITHM L"CryptOIDInfoHashParameters" +#define CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM L"CryptOIDInfoECCParameters" +#define CRYPT_OID_INFO_MGF1_PARAMETERS_ALGORITHM L"CryptOIDInfoMgf1Parameters" +#define CRYPT_OID_INFO_NO_SIGN_ALGORITHM L"CryptOIDInfoNoSign" +#define CRYPT_OID_INFO_OAEP_PARAMETERS_ALGORITHM L"CryptOIDInfoOAEPParameters" +#define CRYPT_OID_INFO_ECC_WRAP_PARAMETERS_ALGORITHM L"CryptOIDInfoECCWrapParameters" +#define CRYPT_OID_INFO_NO_PARAMETERS_ALGORITHM L"CryptOIDInfoNoParameters" + + typedef struct _CRYPT_OID_INFO { + DWORD cbSize; + LPCSTR pszOID; + LPCWSTR pwszName; + DWORD dwGroupId; + __C89_NAMELESS union { + DWORD dwValue; + ALG_ID Algid; + DWORD dwLength; + }; + CRYPT_DATA_BLOB ExtraInfo; +#ifdef CRYPT_OID_INFO_HAS_EXTRA_FIELDS + LPCWSTR pwszCNGAlgid; + LPCWSTR pwszCNGExtraAlgid; +#endif + } CRYPT_OID_INFO,*PCRYPT_OID_INFO; + + typedef const CRYPT_OID_INFO CCRYPT_OID_INFO,*PCCRYPT_OID_INFO; + +#define CRYPT_HASH_ALG_OID_GROUP_ID 1 +#define CRYPT_ENCRYPT_ALG_OID_GROUP_ID 2 +#define CRYPT_PUBKEY_ALG_OID_GROUP_ID 3 +#define CRYPT_SIGN_ALG_OID_GROUP_ID 4 +#define CRYPT_RDN_ATTR_OID_GROUP_ID 5 +#define CRYPT_EXT_OR_ATTR_OID_GROUP_ID 6 +#define CRYPT_ENHKEY_USAGE_OID_GROUP_ID 7 +#define CRYPT_POLICY_OID_GROUP_ID 8 +#define CRYPT_TEMPLATE_OID_GROUP_ID 9 +#define CRYPT_KDF_OID_GROUP_ID 10 +#define CRYPT_LAST_OID_GROUP_ID 10 + +#define CRYPT_FIRST_ALG_OID_GROUP_ID CRYPT_HASH_ALG_OID_GROUP_ID +#define CRYPT_LAST_ALG_OID_GROUP_ID CRYPT_SIGN_ALG_OID_GROUP_ID + +#define CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG 0x1 +#define CRYPT_OID_USE_PUBKEY_PARA_FOR_PKCS7_FLAG 0x2 +#define CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG 0x4 + +#define CRYPT_OID_PUBKEY_ENCRYPT_ONLY_FLAG 0x40000000 +#define CRYPT_OID_PUBKEY_SIGN_ONLY_FLAG 0x80000000 +#define CRYPT_OID_USE_CURVE_NAME_FOR_ENCODE_FLAG 0x20000000 +#define CRYPT_OID_USE_CURVE_PARAMETERS_FOR_ENCODE_FLAG 0x10000000 + + WINIMPM PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo (DWORD dwKeyType, void *pvKey, DWORD dwGroupId); + +#define CRYPT_OID_INFO_OID_KEY 1 +#define CRYPT_OID_INFO_NAME_KEY 2 +#define CRYPT_OID_INFO_ALGID_KEY 3 +#define CRYPT_OID_INFO_SIGN_KEY 4 +#define CRYPT_OID_INFO_CNG_ALGID_KEY 5 +#define CRYPT_OID_INFO_CNG_SIGN_KEY 6 + +#define CRYPT_OID_INFO_OID_KEY_FLAGS_MASK 0xffff0000 +#define CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG 0x80000000 +#define CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG 0x40000000 + +#define CRYPT_OID_DISABLE_SEARCH_DS_FLAG 0x80000000 + +#ifdef CRYPT_OID_INFO_HAS_EXTRA_FIELDS +#define CRYPT_OID_PREFER_CNG_ALGID_FLAG 0x40000000 +#endif + +#define CRYPT_OID_INFO_OID_GROUP_BIT_LEN_MASK 0x0fff0000 +#define CRYPT_OID_INFO_OID_GROUP_BIT_LEN_SHIFT 16 + +#define CRYPT_INSTALL_OID_INFO_BEFORE_FLAG 1 + + typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_OID_INFO) (PCCRYPT_OID_INFO pInfo, void *pvArg); + + WINIMPM WINBOOL WINAPI CryptRegisterOIDInfo (PCCRYPT_OID_INFO pInfo, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CryptUnregisterOIDInfo (PCCRYPT_OID_INFO pInfo); + WINIMPM WINBOOL WINAPI CryptEnumOIDInfo (DWORD dwGroupId, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo); + WINIMPM LPCWSTR WINAPI CryptFindLocalizedName (LPCWSTR pwszCryptName); + +#define CRYPT_LOCALIZED_NAME_ENCODING_TYPE 0 +#define CRYPT_LOCALIZED_NAME_OID "LocalizedNames" + +#define CERT_STRONG_SIGN_ECDSA_ALGORITHM L"ECDSA" + + typedef struct _CERT_STRONG_SIGN_SERIALIZED_INFO { + DWORD dwFlags; + LPWSTR pwszCNGSignHashAlgids; + LPWSTR pwszCNGPubKeyMinBitLengths; + } CERT_STRONG_SIGN_SERIALIZED_INFO,*PCERT_STRONG_SIGN_SERIALIZED_INFO; + + typedef struct _CERT_STRONG_SIGN_PARA { + DWORD cbSize; + DWORD dwInfoChoice; + __C89_NAMELESS union { + void *pvInfo; + PCERT_STRONG_SIGN_SERIALIZED_INFO pSerializedInfo; + LPSTR pszOID; + }; + } CERT_STRONG_SIGN_PARA,*PCERT_STRONG_SIGN_PARA; + + typedef const CERT_STRONG_SIGN_PARA *PCCERT_STRONG_SIGN_PARA; + +#define CERT_STRONG_SIGN_SERIALIZED_INFO_CHOICE 1 +#define CERT_STRONG_SIGN_OID_INFO_CHOICE 2 + +#define CERT_STRONG_SIGN_ENABLE_CRL_CHECK 0x1 +#define CERT_STRONG_SIGN_ENABLE_OCSP_CHECK 0x2 + +#define szOID_CERT_STRONG_SIGN_OS_PREFIX "1.3.6.1.4.1.311.72.1." + +#define szOID_CERT_STRONG_SIGN_OS_1 "1.3.6.1.4.1.311.72.1.1" +#define szOID_CERT_STRONG_SIGN_OS_CURRENT szOID_CERT_STRONG_SIGN_OS_1 + +#define CERT_STRONG_SIGN_PARA_OS_1 { sizeof (CERT_STRONG_SIGN_PARA), CERT_STRONG_SIGN_OID_INFO_CHOICE, szOID_CERT_STRONG_SIGN_OS_1 } +#define CERT_STRONG_SIGN_PARA_OS_CURRENT { sizeof (CERT_STRONG_SIGN_PARA), CERT_STRONG_SIGN_OID_INFO_CHOICE, szOID_CERT_STRONG_SIGN_OS_CURRENT } + +#define szOID_CERT_STRONG_KEY_OS_PREFIX "1.3.6.1.4.1.311.72.2." +#define szOID_CERT_STRONG_KEY_OS_1 "1.3.6.1.4.1.311.72.2.1" +#define szOID_CERT_STRONG_KEY_OS_CURRENT szOID_CERT_STRONG_KEY_OS_1 + +#define CERT_STRONG_KEY_PARA_OS_1 { sizeof (CERT_STRONG_SIGN_PARA), CERT_STRONG_SIGN_OID_INFO_CHOICE, szOID_CERT_STRONG_KEY_OS_1 } +#define CERT_STRONG_KEY_PARA_OS_CURRENT { sizeof (CERT_STRONG_SIGN_PARA), CERT_STRONG_SIGN_OID_INFO_CHOICE, szOID_CERT_STRONG_KEY_OS_CURRENT } + + typedef void *HCRYPTMSG; + +#define szOID_PKCS_7_DATA "1.2.840.113549.1.7.1" +#define szOID_PKCS_7_SIGNED "1.2.840.113549.1.7.2" +#define szOID_PKCS_7_ENVELOPED "1.2.840.113549.1.7.3" +#define szOID_PKCS_7_SIGNEDANDENVELOPED "1.2.840.113549.1.7.4" +#define szOID_PKCS_7_DIGESTED "1.2.840.113549.1.7.5" +#define szOID_PKCS_7_ENCRYPTED "1.2.840.113549.1.7.6" + +#define szOID_PKCS_9_CONTENT_TYPE "1.2.840.113549.1.9.3" +#define szOID_PKCS_9_MESSAGE_DIGEST "1.2.840.113549.1.9.4" + +#define CMSG_DATA 1 +#define CMSG_SIGNED 2 +#define CMSG_ENVELOPED 3 +#define CMSG_SIGNED_AND_ENVELOPED 4 +#define CMSG_HASHED 5 +#define CMSG_ENCRYPTED 6 + +#define CMSG_ALL_FLAGS (~__MSABI_LONG(0U)) +#define CMSG_DATA_FLAG (1 << CMSG_DATA) +#define CMSG_SIGNED_FLAG (1 << CMSG_SIGNED) +#define CMSG_ENVELOPED_FLAG (1 << CMSG_ENVELOPED) +#define CMSG_SIGNED_AND_ENVELOPED_FLAG (1 << CMSG_SIGNED_AND_ENVELOPED) +#define CMSG_HASHED_FLAG (1 << CMSG_HASHED) +#define CMSG_ENCRYPTED_FLAG (1 << CMSG_ENCRYPTED) + + typedef struct _CERT_ISSUER_SERIAL_NUMBER { + CERT_NAME_BLOB Issuer; + CRYPT_INTEGER_BLOB SerialNumber; + } CERT_ISSUER_SERIAL_NUMBER,*PCERT_ISSUER_SERIAL_NUMBER; + + typedef struct _CERT_ID { + DWORD dwIdChoice; + __C89_NAMELESS union { + CERT_ISSUER_SERIAL_NUMBER IssuerSerialNumber; + CRYPT_HASH_BLOB KeyId; + CRYPT_HASH_BLOB HashId; + }; + } CERT_ID,*PCERT_ID; + +#define CERT_ID_ISSUER_SERIAL_NUMBER 1 +#define CERT_ID_KEY_IDENTIFIER 2 +#define CERT_ID_SHA1_HASH 3 + + typedef struct _CMSG_SIGNER_ENCODE_INFO { + DWORD cbSize; + PCERT_INFO pCertInfo; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + void *pvHashAuxInfo; + DWORD cAuthAttr; + PCRYPT_ATTRIBUTE rgAuthAttr; + DWORD cUnauthAttr; + PCRYPT_ATTRIBUTE rgUnauthAttr; +#ifdef CMSG_SIGNER_ENCODE_INFO_HAS_CMS_FIELDS + CERT_ID SignerId; + CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm; + void *pvHashEncryptionAuxInfo; +#endif + } CMSG_SIGNER_ENCODE_INFO,*PCMSG_SIGNER_ENCODE_INFO; + + typedef struct _CMSG_SIGNED_ENCODE_INFO { + DWORD cbSize; + DWORD cSigners; + PCMSG_SIGNER_ENCODE_INFO rgSigners; + DWORD cCertEncoded; + PCERT_BLOB rgCertEncoded; + DWORD cCrlEncoded; + PCRL_BLOB rgCrlEncoded; +#ifdef CMSG_SIGNED_ENCODE_INFO_HAS_CMS_FIELDS + DWORD cAttrCertEncoded; + PCERT_BLOB rgAttrCertEncoded; +#endif + } CMSG_SIGNED_ENCODE_INFO,*PCMSG_SIGNED_ENCODE_INFO; + + typedef struct _CMSG_RECIPIENT_ENCODE_INFO CMSG_RECIPIENT_ENCODE_INFO,*PCMSG_RECIPIENT_ENCODE_INFO; + + typedef struct _CMSG_ENVELOPED_ENCODE_INFO { + DWORD cbSize; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + void *pvEncryptionAuxInfo; + DWORD cRecipients; + PCERT_INFO *rgpRecipients; +#ifdef CMSG_ENVELOPED_ENCODE_INFO_HAS_CMS_FIELDS + PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients; + DWORD cCertEncoded; + PCERT_BLOB rgCertEncoded; + DWORD cCrlEncoded; + PCRL_BLOB rgCrlEncoded; + DWORD cAttrCertEncoded; + PCERT_BLOB rgAttrCertEncoded; + DWORD cUnprotectedAttr; + PCRYPT_ATTRIBUTE rgUnprotectedAttr; +#endif + } CMSG_ENVELOPED_ENCODE_INFO,*PCMSG_ENVELOPED_ENCODE_INFO; + + typedef struct _CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO { + DWORD cbSize; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + void *pvKeyEncryptionAuxInfo; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_BIT_BLOB RecipientPublicKey; + CERT_ID RecipientId; + } CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO,*PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO; + + typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO { + DWORD cbSize; + CRYPT_BIT_BLOB RecipientPublicKey; + CERT_ID RecipientId; + FILETIME Date; + PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr; + } CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO,*PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO; + + typedef struct _CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO { + DWORD cbSize; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + void *pvKeyEncryptionAuxInfo; + CRYPT_ALGORITHM_IDENTIFIER KeyWrapAlgorithm; + void *pvKeyWrapAuxInfo; + HCRYPTPROV_LEGACY hCryptProv; + DWORD dwKeySpec; + DWORD dwKeyChoice; + __C89_NAMELESS union { + PCRYPT_ALGORITHM_IDENTIFIER pEphemeralAlgorithm; + PCERT_ID pSenderId; + }; + CRYPT_DATA_BLOB UserKeyingMaterial; + DWORD cRecipientEncryptedKeys; + PCMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO *rgpRecipientEncryptedKeys; + } CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO,*PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO; + +#define CMSG_KEY_AGREE_EPHEMERAL_KEY_CHOICE 1 +#define CMSG_KEY_AGREE_STATIC_KEY_CHOICE 2 + + typedef struct _CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO { + DWORD cbSize; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + void *pvKeyEncryptionAuxInfo; + HCRYPTPROV hCryptProv; + DWORD dwKeyChoice; + __C89_NAMELESS union { + HCRYPTKEY hKeyEncryptionKey; + void *pvKeyEncryptionKey; + }; + CRYPT_DATA_BLOB KeyId; + FILETIME Date; + PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr; + } CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO,*PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO; + +#define CMSG_MAIL_LIST_HANDLE_KEY_CHOICE 1 + +#define CMSG_KEY_TRANS_RECIPIENT 1 +#define CMSG_KEY_AGREE_RECIPIENT 2 +#define CMSG_MAIL_LIST_RECIPIENT 3 + +#define CMSG_RC4_NO_SALT_FLAG 0x40000000 +#define CMSG_SP3_COMPATIBLE_ENCRYPT_FLAG 0x80000000 + + struct _CMSG_RECIPIENT_ENCODE_INFO { + DWORD dwRecipientChoice; + __C89_NAMELESS union { + PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTrans; + PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgree; + PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailList; + }; + }; + + typedef struct _CMSG_RC2_AUX_INFO { + DWORD cbSize; + DWORD dwBitLen; + } CMSG_RC2_AUX_INFO,*PCMSG_RC2_AUX_INFO; + + typedef struct _CMSG_SP3_COMPATIBLE_AUX_INFO { + DWORD cbSize; + DWORD dwFlags; + } CMSG_SP3_COMPATIBLE_AUX_INFO,*PCMSG_SP3_COMPATIBLE_AUX_INFO; + + typedef struct _CMSG_RC4_AUX_INFO { + DWORD cbSize; + DWORD dwBitLen; + } CMSG_RC4_AUX_INFO,*PCMSG_RC4_AUX_INFO; + + typedef struct _CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO { + DWORD cbSize; + CMSG_SIGNED_ENCODE_INFO SignedInfo; + CMSG_ENVELOPED_ENCODE_INFO EnvelopedInfo; + } CMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO,*PCMSG_SIGNED_AND_ENVELOPED_ENCODE_INFO; + + typedef struct _CMSG_HASHED_ENCODE_INFO { + DWORD cbSize; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + void *pvHashAuxInfo; + } CMSG_HASHED_ENCODE_INFO,*PCMSG_HASHED_ENCODE_INFO; + + typedef struct _CMSG_ENCRYPTED_ENCODE_INFO { + DWORD cbSize; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + void *pvEncryptionAuxInfo; + } CMSG_ENCRYPTED_ENCODE_INFO,*PCMSG_ENCRYPTED_ENCODE_INFO; + + typedef WINBOOL (WINAPI *PFN_CMSG_STREAM_OUTPUT) (const void *pvArg, BYTE *pbData, DWORD cbData, WINBOOL fFinal); + +#define CMSG_INDEFINITE_LENGTH (0xffffffff) + + typedef struct _CMSG_STREAM_INFO { + DWORD cbContent; + PFN_CMSG_STREAM_OUTPUT pfnStreamOutput; + void *pvArg; + } CMSG_STREAM_INFO,*PCMSG_STREAM_INFO; + +#define CMSG_BARE_CONTENT_FLAG 0x1 +#define CMSG_LENGTH_ONLY_FLAG 0x2 +#define CMSG_DETACHED_FLAG 0x4 +#define CMSG_AUTHENTICATED_ATTRIBUTES_FLAG 0x8 +#define CMSG_CONTENTS_OCTETS_FLAG 0x10 +#define CMSG_MAX_LENGTH_FLAG 0x20 +#define CMSG_CMS_ENCAPSULATED_CONTENT_FLAG 0x40 +#define CMSG_SIGNED_DATA_NO_SIGN_FLAG 0x80 +#define CMSG_CRYPT_RELEASE_CONTEXT_FLAG 0x8000 + + WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToEncode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, PCMSG_STREAM_INFO pStreamInfo); + WINIMPM DWORD WINAPI CryptMsgCalculateEncodedLength (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, void const *pvMsgEncodeInfo, LPSTR pszInnerContentObjID, DWORD cbData); + WINIMPM HCRYPTMSG WINAPI CryptMsgOpenToDecode (DWORD dwMsgEncodingType, DWORD dwFlags, DWORD dwMsgType, HCRYPTPROV_LEGACY hCryptProv, PCERT_INFO pRecipientInfo, PCMSG_STREAM_INFO pStreamInfo); + WINIMPM HCRYPTMSG WINAPI CryptMsgDuplicate (HCRYPTMSG hCryptMsg); + WINIMPM WINBOOL WINAPI CryptMsgClose (HCRYPTMSG hCryptMsg); + WINIMPM WINBOOL WINAPI CryptMsgUpdate (HCRYPTMSG hCryptMsg, const BYTE *pbData, DWORD cbData, WINBOOL fFinal); + WINIMPM WINBOOL WINAPI CryptMsgGetParam (HCRYPTMSG hCryptMsg, DWORD dwParamType, DWORD dwIndex, void *pvData, DWORD *pcbData); + +#define CMSG_TYPE_PARAM 1 +#define CMSG_CONTENT_PARAM 2 +#define CMSG_BARE_CONTENT_PARAM 3 +#define CMSG_INNER_CONTENT_TYPE_PARAM 4 +#define CMSG_SIGNER_COUNT_PARAM 5 +#define CMSG_SIGNER_INFO_PARAM 6 +#define CMSG_SIGNER_CERT_INFO_PARAM 7 +#define CMSG_SIGNER_HASH_ALGORITHM_PARAM 8 +#define CMSG_SIGNER_AUTH_ATTR_PARAM 9 +#define CMSG_SIGNER_UNAUTH_ATTR_PARAM 10 +#define CMSG_CERT_COUNT_PARAM 11 +#define CMSG_CERT_PARAM 12 +#define CMSG_CRL_COUNT_PARAM 13 +#define CMSG_CRL_PARAM 14 +#define CMSG_ENVELOPE_ALGORITHM_PARAM 15 +#define CMSG_RECIPIENT_COUNT_PARAM 17 +#define CMSG_RECIPIENT_INDEX_PARAM 18 +#define CMSG_RECIPIENT_INFO_PARAM 19 +#define CMSG_HASH_ALGORITHM_PARAM 20 +#define CMSG_HASH_DATA_PARAM 21 +#define CMSG_COMPUTED_HASH_PARAM 22 +#define CMSG_ENCRYPT_PARAM 26 +#define CMSG_ENCRYPTED_DIGEST 27 +#define CMSG_ENCODED_SIGNER 28 +#define CMSG_ENCODED_MESSAGE 29 +#define CMSG_VERSION_PARAM 30 +#define CMSG_ATTR_CERT_COUNT_PARAM 31 +#define CMSG_ATTR_CERT_PARAM 32 +#define CMSG_CMS_RECIPIENT_COUNT_PARAM 33 +#define CMSG_CMS_RECIPIENT_INDEX_PARAM 34 +#define CMSG_CMS_RECIPIENT_ENCRYPTED_KEY_INDEX_PARAM 35 +#define CMSG_CMS_RECIPIENT_INFO_PARAM 36 +#define CMSG_UNPROTECTED_ATTR_PARAM 37 +#define CMSG_SIGNER_CERT_ID_PARAM 38 +#define CMSG_CMS_SIGNER_INFO_PARAM 39 + + typedef struct _CMSG_SIGNER_INFO { + DWORD dwVersion; + CERT_NAME_BLOB Issuer; + CRYPT_INTEGER_BLOB SerialNumber; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedHash; + CRYPT_ATTRIBUTES AuthAttrs; + CRYPT_ATTRIBUTES UnauthAttrs; + } CMSG_SIGNER_INFO,*PCMSG_SIGNER_INFO; + + typedef struct _CMSG_CMS_SIGNER_INFO { + DWORD dwVersion; + CERT_ID SignerId; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedHash; + CRYPT_ATTRIBUTES AuthAttrs; + CRYPT_ATTRIBUTES UnauthAttrs; + } CMSG_CMS_SIGNER_INFO,*PCMSG_CMS_SIGNER_INFO; + + typedef CRYPT_ATTRIBUTES CMSG_ATTR; + typedef CRYPT_ATTRIBUTES *PCMSG_ATTR; + +#define CMSG_SIGNED_DATA_V1 1 +#define CMSG_SIGNED_DATA_V3 3 +#define CMSG_SIGNED_DATA_PKCS_1_5_VERSION CMSG_SIGNED_DATA_V1 +#define CMSG_SIGNED_DATA_CMS_VERSION CMSG_SIGNED_DATA_V3 + +#define CMSG_SIGNER_INFO_V1 1 +#define CMSG_SIGNER_INFO_V3 3 +#define CMSG_SIGNER_INFO_PKCS_1_5_VERSION CMSG_SIGNER_INFO_V1 +#define CMSG_SIGNER_INFO_CMS_VERSION CMSG_SIGNER_INFO_V3 + +#define CMSG_HASHED_DATA_V0 0 +#define CMSG_HASHED_DATA_V2 2 +#define CMSG_HASHED_DATA_PKCS_1_5_VERSION CMSG_HASHED_DATA_V0 +#define CMSG_HASHED_DATA_CMS_VERSION CMSG_HASHED_DATA_V2 + +#define CMSG_ENVELOPED_DATA_V0 0 +#define CMSG_ENVELOPED_DATA_V2 2 +#define CMSG_ENVELOPED_DATA_PKCS_1_5_VERSION CMSG_ENVELOPED_DATA_V0 +#define CMSG_ENVELOPED_DATA_CMS_VERSION CMSG_ENVELOPED_DATA_V2 + + typedef struct _CMSG_KEY_TRANS_RECIPIENT_INFO { + DWORD dwVersion; + CERT_ID RecipientId; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedKey; + } CMSG_KEY_TRANS_RECIPIENT_INFO,*PCMSG_KEY_TRANS_RECIPIENT_INFO; + + typedef struct _CMSG_RECIPIENT_ENCRYPTED_KEY_INFO { + CERT_ID RecipientId; + CRYPT_DATA_BLOB EncryptedKey; + FILETIME Date; + PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr; + } CMSG_RECIPIENT_ENCRYPTED_KEY_INFO,*PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO; + + typedef struct _CMSG_KEY_AGREE_RECIPIENT_INFO { + DWORD dwVersion; + DWORD dwOriginatorChoice; + __C89_NAMELESS union { + CERT_ID OriginatorCertId; + CERT_PUBLIC_KEY_INFO OriginatorPublicKeyInfo; + }; + CRYPT_DATA_BLOB UserKeyingMaterial; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + DWORD cRecipientEncryptedKeys; + PCMSG_RECIPIENT_ENCRYPTED_KEY_INFO *rgpRecipientEncryptedKeys; + } CMSG_KEY_AGREE_RECIPIENT_INFO,*PCMSG_KEY_AGREE_RECIPIENT_INFO; + +#define CMSG_KEY_AGREE_ORIGINATOR_CERT 1 +#define CMSG_KEY_AGREE_ORIGINATOR_PUBLIC_KEY 2 + + typedef struct _CMSG_MAIL_LIST_RECIPIENT_INFO { + DWORD dwVersion; + CRYPT_DATA_BLOB KeyId; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedKey; + FILETIME Date; + PCRYPT_ATTRIBUTE_TYPE_VALUE pOtherAttr; + } CMSG_MAIL_LIST_RECIPIENT_INFO,*PCMSG_MAIL_LIST_RECIPIENT_INFO; + + typedef struct _CMSG_CMS_RECIPIENT_INFO { + DWORD dwRecipientChoice; + __C89_NAMELESS union { + PCMSG_KEY_TRANS_RECIPIENT_INFO pKeyTrans; + PCMSG_KEY_AGREE_RECIPIENT_INFO pKeyAgree; + PCMSG_MAIL_LIST_RECIPIENT_INFO pMailList; + }; + } CMSG_CMS_RECIPIENT_INFO,*PCMSG_CMS_RECIPIENT_INFO; + +#define CMSG_ENVELOPED_RECIPIENT_V0 0 +#define CMSG_ENVELOPED_RECIPIENT_V2 2 +#define CMSG_ENVELOPED_RECIPIENT_V3 3 +#define CMSG_ENVELOPED_RECIPIENT_V4 4 +#define CMSG_KEY_TRANS_PKCS_1_5_VERSION CMSG_ENVELOPED_RECIPIENT_V0 +#define CMSG_KEY_TRANS_CMS_VERSION CMSG_ENVELOPED_RECIPIENT_V2 +#define CMSG_KEY_AGREE_VERSION CMSG_ENVELOPED_RECIPIENT_V3 +#define CMSG_MAIL_LIST_VERSION CMSG_ENVELOPED_RECIPIENT_V4 + + WINIMPM WINBOOL WINAPI CryptMsgControl (HCRYPTMSG hCryptMsg, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara); + +#define CMSG_CTRL_VERIFY_SIGNATURE 1 +#define CMSG_CTRL_DECRYPT 2 +#define CMSG_CTRL_VERIFY_HASH 5 +#define CMSG_CTRL_ADD_SIGNER 6 +#define CMSG_CTRL_DEL_SIGNER 7 +#define CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR 8 +#define CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR 9 +#define CMSG_CTRL_ADD_CERT 10 +#define CMSG_CTRL_DEL_CERT 11 +#define CMSG_CTRL_ADD_CRL 12 +#define CMSG_CTRL_DEL_CRL 13 +#define CMSG_CTRL_ADD_ATTR_CERT 14 +#define CMSG_CTRL_DEL_ATTR_CERT 15 +#define CMSG_CTRL_KEY_TRANS_DECRYPT 16 +#define CMSG_CTRL_KEY_AGREE_DECRYPT 17 +#define CMSG_CTRL_MAIL_LIST_DECRYPT 18 +#define CMSG_CTRL_VERIFY_SIGNATURE_EX 19 +#define CMSG_CTRL_ADD_CMS_SIGNER_INFO 20 +#define CMSG_CTRL_ENABLE_STRONG_SIGNATURE 21 + + typedef struct _CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA { + DWORD cbSize; + HCRYPTPROV_LEGACY hCryptProv; + DWORD dwSignerIndex; + DWORD dwSignerType; + void *pvSigner; + } CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA,*PCMSG_CTRL_VERIFY_SIGNATURE_EX_PARA; + +#define CMSG_VERIFY_SIGNER_PUBKEY 1 +#define CMSG_VERIFY_SIGNER_CERT 2 +#define CMSG_VERIFY_SIGNER_CHAIN 3 +#define CMSG_VERIFY_SIGNER_NULL 4 + + typedef struct _CMSG_CTRL_DECRYPT_PARA { + DWORD cbSize; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + DWORD dwRecipientIndex; + } CMSG_CTRL_DECRYPT_PARA,*PCMSG_CTRL_DECRYPT_PARA; + + typedef struct _CMSG_CTRL_KEY_TRANS_DECRYPT_PARA { + DWORD cbSize; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + PCMSG_KEY_TRANS_RECIPIENT_INFO pKeyTrans; + DWORD dwRecipientIndex; + } CMSG_CTRL_KEY_TRANS_DECRYPT_PARA,*PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA; + + typedef struct _CMSG_CTRL_KEY_AGREE_DECRYPT_PARA { + DWORD cbSize; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + PCMSG_KEY_AGREE_RECIPIENT_INFO pKeyAgree; + DWORD dwRecipientIndex; + DWORD dwRecipientEncryptedKeyIndex; + CRYPT_BIT_BLOB OriginatorPublicKey; + } CMSG_CTRL_KEY_AGREE_DECRYPT_PARA,*PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA; + + typedef struct _CMSG_CTRL_MAIL_LIST_DECRYPT_PARA { + DWORD cbSize; + HCRYPTPROV hCryptProv; + PCMSG_MAIL_LIST_RECIPIENT_INFO pMailList; + DWORD dwRecipientIndex; + DWORD dwKeyChoice; + __C89_NAMELESS union { + HCRYPTKEY hKeyEncryptionKey; + void *pvKeyEncryptionKey; + }; + } CMSG_CTRL_MAIL_LIST_DECRYPT_PARA,*PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA; + + typedef struct _CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA { + DWORD cbSize; + DWORD dwSignerIndex; + CRYPT_DATA_BLOB blob; + } CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA,*PCMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA; + + typedef struct _CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA { + DWORD cbSize; + DWORD dwSignerIndex; + DWORD dwUnauthAttrIndex; + } CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA,*PCMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA; + +#define CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG 0x1 + + WINBOOL WINAPI CryptMsgVerifyCountersignatureEncoded (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, PCERT_INFO pciCountersigner); + WINBOOL WINAPI CryptMsgVerifyCountersignatureEncodedEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, PBYTE pbSignerInfoCountersignature, DWORD cbSignerInfoCountersignature, DWORD dwSignerType, void *pvSigner, DWORD dwFlags, void *pvExtra); + WINBOOL WINAPI CryptMsgCountersign (HCRYPTMSG hCryptMsg, DWORD dwIndex, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners); + WINBOOL WINAPI CryptMsgCountersignEncoded (DWORD dwEncodingType, PBYTE pbSignerInfo, DWORD cbSignerInfo, DWORD cCountersigners, PCMSG_SIGNER_ENCODE_INFO rgCountersigners, PBYTE pbCountersignature, PDWORD pcbCountersignature); + + typedef void *(WINAPI *PFN_CMSG_ALLOC) (size_t cb); + typedef void (WINAPI *PFN_CMSG_FREE) (void *pv); + +#define CMSG_OID_GEN_ENCRYPT_KEY_FUNC "CryptMsgDllGenEncryptKey" +#define CMSG_OID_EXPORT_ENCRYPT_KEY_FUNC "CryptMsgDllExportEncryptKey" +#define CMSG_OID_IMPORT_ENCRYPT_KEY_FUNC "CryptMsgDllImportEncryptKey" + + typedef WINBOOL (WINAPI *PFN_CMSG_GEN_ENCRYPT_KEY) (HCRYPTPROV *phCryptProv, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PVOID pvEncryptAuxInfo, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PFN_CMSG_ALLOC pfnAlloc, HCRYPTKEY *phEncryptKey, PBYTE *ppbEncryptParameters, PDWORD pcbEncryptParameters); + typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, HCRYPTKEY hEncryptKey, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, PBYTE pbData, PDWORD pcbData); + typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_ENCRYPT_KEY) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, PCRYPT_ALGORITHM_IDENTIFIER paiEncrypt, PCRYPT_ALGORITHM_IDENTIFIER paiPubKey, PBYTE pbEncodedKey, DWORD cbEncodedKey, HCRYPTKEY *phEncryptKey); + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define CMSG_DEFAULT_INSTALLABLE_FUNC_OID ((LPCSTR) 1) + + typedef struct _CMSG_CONTENT_ENCRYPT_INFO { + DWORD cbSize; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + void *pvEncryptionAuxInfo; + DWORD cRecipients; + PCMSG_RECIPIENT_ENCODE_INFO rgCmsRecipients; + PFN_CMSG_ALLOC pfnAlloc; + PFN_CMSG_FREE pfnFree; + DWORD dwEncryptFlags; + __C89_NAMELESS union { + HCRYPTKEY hContentEncryptKey; + BCRYPT_KEY_HANDLE hCNGContentEncryptKey; + }; + DWORD dwFlags; + WINBOOL fCNG; + BYTE *pbCNGContentEncryptKeyObject; + BYTE *pbContentEncryptKey; + DWORD cbContentEncryptKey; + } CMSG_CONTENT_ENCRYPT_INFO,*PCMSG_CONTENT_ENCRYPT_INFO; + +#define CMSG_CONTENT_ENCRYPT_PAD_ENCODED_LEN_FLAG 0x1 + +#define CMSG_CONTENT_ENCRYPT_FREE_PARA_FLAG 0x1 +#define CMSG_CONTENT_ENCRYPT_FREE_OBJID_FLAG 0x2 +#define CMSG_CONTENT_ENCRYPT_RELEASE_CONTEXT_FLAG 0x8000 + +#define CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllGenContentEncryptKey" +#define CMSG_OID_CAPI1_GEN_CONTENT_ENCRYPT_KEY_FUNC CMSG_OID_GEN_CONTENT_ENCRYPT_KEY_FUNC +#define CMSG_OID_CNG_GEN_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllCNGGenContentEncryptKey" + + typedef WINBOOL (WINAPI *PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, DWORD dwFlags, void *pvReserved); + + typedef struct _CMSG_KEY_TRANS_ENCRYPT_INFO { + DWORD cbSize; + DWORD dwRecipientIndex; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedKey; + DWORD dwFlags; + } CMSG_KEY_TRANS_ENCRYPT_INFO,*PCMSG_KEY_TRANS_ENCRYPT_INFO; + +#define CMSG_KEY_TRANS_ENCRYPT_FREE_PARA_FLAG 0x1 +#define CMSG_KEY_TRANS_ENCRYPT_FREE_OBJID_FLAG 0x2 + +#define CMSG_OID_EXPORT_KEY_TRANS_FUNC "CryptMsgDllExportKeyTrans" +#define CMSG_OID_CAPI1_EXPORT_KEY_TRANS_FUNC CMSG_OID_EXPORT_KEY_TRANS_FUNC +#define CMSG_OID_CNG_EXPORT_KEY_TRANS_FUNC "CryptMsgDllCNGExportKeyTrans" + + typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_KEY_TRANS) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO pKeyTransEncodeInfo, PCMSG_KEY_TRANS_ENCRYPT_INFO pKeyTransEncryptInfo, DWORD dwFlags, void *pvReserved); + + typedef struct _CMSG_KEY_AGREE_KEY_ENCRYPT_INFO { + DWORD cbSize; + CRYPT_DATA_BLOB EncryptedKey; + } CMSG_KEY_AGREE_KEY_ENCRYPT_INFO,*PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO; + + typedef struct _CMSG_KEY_AGREE_ENCRYPT_INFO { + DWORD cbSize; + DWORD dwRecipientIndex; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + CRYPT_DATA_BLOB UserKeyingMaterial; + DWORD dwOriginatorChoice; + __C89_NAMELESS union { + CERT_ID OriginatorCertId; + CERT_PUBLIC_KEY_INFO OriginatorPublicKeyInfo; + }; + DWORD cKeyAgreeKeyEncryptInfo; + PCMSG_KEY_AGREE_KEY_ENCRYPT_INFO *rgpKeyAgreeKeyEncryptInfo; + DWORD dwFlags; + } CMSG_KEY_AGREE_ENCRYPT_INFO,*PCMSG_KEY_AGREE_ENCRYPT_INFO; + +#define CMSG_KEY_AGREE_ENCRYPT_FREE_PARA_FLAG 0x1 +#define CMSG_KEY_AGREE_ENCRYPT_FREE_MATERIAL_FLAG 0x2 +#define CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_ALG_FLAG 0x4 +#define CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_PARA_FLAG 0x8 +#define CMSG_KEY_AGREE_ENCRYPT_FREE_PUBKEY_BITS_FLAG 0x10 +#define CMSG_KEY_AGREE_ENCRYPT_FREE_OBJID_FLAG 0x20 + +#define CMSG_OID_EXPORT_KEY_AGREE_FUNC "CryptMsgDllExportKeyAgree" +#define CMSG_OID_CAPI1_EXPORT_KEY_AGREE_FUNC CMSG_OID_EXPORT_KEY_AGREE_FUNC +#define CMSG_OID_CNG_EXPORT_KEY_AGREE_FUNC "CryptMsgDllCNGExportKeyAgree" + + typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_KEY_AGREE) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO pKeyAgreeEncodeInfo, PCMSG_KEY_AGREE_ENCRYPT_INFO pKeyAgreeEncryptInfo, DWORD dwFlags, void *pvReserved); + + typedef struct _CMSG_MAIL_LIST_ENCRYPT_INFO { + DWORD cbSize; + DWORD dwRecipientIndex; + CRYPT_ALGORITHM_IDENTIFIER KeyEncryptionAlgorithm; + CRYPT_DATA_BLOB EncryptedKey; + DWORD dwFlags; + } CMSG_MAIL_LIST_ENCRYPT_INFO,*PCMSG_MAIL_LIST_ENCRYPT_INFO; + +#define CMSG_MAIL_LIST_ENCRYPT_FREE_PARA_FLAG 0x1 +#define CMSG_MAIL_LIST_ENCRYPT_FREE_OBJID_FLAG 0x2 + +#define CMSG_OID_EXPORT_MAIL_LIST_FUNC "CryptMsgDllExportMailList" +#define CMSG_OID_CAPI1_EXPORT_MAIL_LIST_FUNC CMSG_OID_EXPORT_MAIL_LIST_FUNC +#define CMSG_OID_IMPORT_KEY_TRANS_FUNC "CryptMsgDllImportKeyTrans" +#define CMSG_OID_CAPI1_IMPORT_KEY_TRANS_FUNC CMSG_OID_IMPORT_KEY_TRANS_FUNC +#define CMSG_OID_IMPORT_KEY_AGREE_FUNC "CryptMsgDllImportKeyAgree" +#define CMSG_OID_CAPI1_IMPORT_KEY_AGREE_FUNC CMSG_OID_IMPORT_KEY_AGREE_FUNC +#define CMSG_OID_IMPORT_MAIL_LIST_FUNC "CryptMsgDllImportMailList" +#define CMSG_OID_CAPI1_IMPORT_MAIL_LIST_FUNC CMSG_OID_IMPORT_MAIL_LIST_FUNC + + typedef WINBOOL (WINAPI *PFN_CMSG_EXPORT_MAIL_LIST) (PCMSG_CONTENT_ENCRYPT_INFO pContentEncryptInfo, PCMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO pMailListEncodeInfo, PCMSG_MAIL_LIST_ENCRYPT_INFO pMailListEncryptInfo, DWORD dwFlags, void *pvReserved); + typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_KEY_TRANS) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey); + typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_KEY_AGREE) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey); + typedef WINBOOL (WINAPI *PFN_CMSG_IMPORT_MAIL_LIST) (PCRYPT_ALGORITHM_IDENTIFIER pContentEncryptionAlgorithm, PCMSG_CTRL_MAIL_LIST_DECRYPT_PARA pMailListDecryptPara, DWORD dwFlags, void *pvReserved, HCRYPTKEY *phContentEncryptKey); + + typedef struct _CMSG_CNG_CONTENT_DECRYPT_INFO { + DWORD cbSize; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + PFN_CMSG_ALLOC pfnAlloc; + PFN_CMSG_FREE pfnFree; + NCRYPT_KEY_HANDLE hNCryptKey; + BYTE *pbContentEncryptKey; + DWORD cbContentEncryptKey; + BCRYPT_KEY_HANDLE hCNGContentEncryptKey; + BYTE *pbCNGContentEncryptKeyObject; + } CMSG_CNG_CONTENT_DECRYPT_INFO,*PCMSG_CNG_CONTENT_DECRYPT_INFO; + +#define CMSG_OID_CNG_IMPORT_KEY_TRANS_FUNC "CryptMsgDllCNGImportKeyTrans" +#define CMSG_OID_CNG_IMPORT_KEY_AGREE_FUNC "CryptMsgDllCNGImportKeyAgree" +#define CMSG_OID_CNG_IMPORT_CONTENT_ENCRYPT_KEY_FUNC "CryptMsgDllCNGImportContentEncryptKey" + + typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_KEY_TRANS) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_TRANS_DECRYPT_PARA pKeyTransDecryptPara, DWORD dwFlags, void *pvReserved); + typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_KEY_AGREE) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, PCMSG_CTRL_KEY_AGREE_DECRYPT_PARA pKeyAgreeDecryptPara, DWORD dwFlags, void *pvReserved); + typedef WINBOOL (WINAPI *PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY) (PCMSG_CNG_CONTENT_DECRYPT_INFO pCNGContentDecryptInfo, DWORD dwFlags, void *pvReserved); + +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef void *HCERTSTORE; + + typedef struct _CERT_CONTEXT { + DWORD dwCertEncodingType; + BYTE *pbCertEncoded; + DWORD cbCertEncoded; + PCERT_INFO pCertInfo; + HCERTSTORE hCertStore; + } CERT_CONTEXT,*PCERT_CONTEXT; + + typedef const CERT_CONTEXT *PCCERT_CONTEXT; +#endif + + typedef struct _CRL_CONTEXT { + DWORD dwCertEncodingType; + BYTE *pbCrlEncoded; + DWORD cbCrlEncoded; + PCRL_INFO pCrlInfo; + HCERTSTORE hCertStore; + } CRL_CONTEXT,*PCRL_CONTEXT; + + typedef const CRL_CONTEXT *PCCRL_CONTEXT; + + typedef struct _CTL_CONTEXT { + DWORD dwMsgAndCertEncodingType; + BYTE *pbCtlEncoded; + DWORD cbCtlEncoded; + PCTL_INFO pCtlInfo; + HCERTSTORE hCertStore; + HCRYPTMSG hCryptMsg; + BYTE *pbCtlContent; + DWORD cbCtlContent; + } CTL_CONTEXT,*PCTL_CONTEXT; + + typedef const CTL_CONTEXT *PCCTL_CONTEXT; + +#define CERT_KEY_PROV_HANDLE_PROP_ID 1 +#define CERT_KEY_PROV_INFO_PROP_ID 2 +#define CERT_SHA1_HASH_PROP_ID 3 +#define CERT_MD5_HASH_PROP_ID 4 +#define CERT_HASH_PROP_ID CERT_SHA1_HASH_PROP_ID +#define CERT_KEY_CONTEXT_PROP_ID 5 +#define CERT_KEY_SPEC_PROP_ID 6 +#define CERT_IE30_RESERVED_PROP_ID 7 +#define CERT_PUBKEY_HASH_RESERVED_PROP_ID 8 +#define CERT_ENHKEY_USAGE_PROP_ID 9 +#define CERT_CTL_USAGE_PROP_ID CERT_ENHKEY_USAGE_PROP_ID +#define CERT_NEXT_UPDATE_LOCATION_PROP_ID 10 +#define CERT_FRIENDLY_NAME_PROP_ID 11 +#define CERT_PVK_FILE_PROP_ID 12 +#define CERT_DESCRIPTION_PROP_ID 13 +#define CERT_ACCESS_STATE_PROP_ID 14 +#define CERT_SIGNATURE_HASH_PROP_ID 15 +#define CERT_SMART_CARD_DATA_PROP_ID 16 +#define CERT_EFS_PROP_ID 17 +#define CERT_FORTEZZA_DATA_PROP_ID 18 +#define CERT_ARCHIVED_PROP_ID 19 +#define CERT_KEY_IDENTIFIER_PROP_ID 20 +#define CERT_AUTO_ENROLL_PROP_ID 21 +#define CERT_PUBKEY_ALG_PARA_PROP_ID 22 +#define CERT_CROSS_CERT_DIST_POINTS_PROP_ID 23 +#define CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID 24 +#define CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID 25 +#define CERT_ENROLLMENT_PROP_ID 26 +#define CERT_DATE_STAMP_PROP_ID 27 +#define CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID 28 +#define CERT_SUBJECT_NAME_MD5_HASH_PROP_ID 29 +#define CERT_EXTENDED_ERROR_INFO_PROP_ID 30 +#define CERT_RENEWAL_PROP_ID 64 +#define CERT_ARCHIVED_KEY_HASH_PROP_ID 65 +#define CERT_AUTO_ENROLL_RETRY_PROP_ID 66 +#define CERT_AIA_URL_RETRIEVED_PROP_ID 67 +#define CERT_AUTHORITY_INFO_ACCESS_PROP_ID 68 +#define CERT_BACKED_UP_PROP_ID 69 +#define CERT_OCSP_RESPONSE_PROP_ID 70 +#define CERT_REQUEST_ORIGINATOR_PROP_ID 71 +#define CERT_SOURCE_LOCATION_PROP_ID 72 +#define CERT_SOURCE_URL_PROP_ID 73 +#define CERT_NEW_KEY_PROP_ID 74 +#define CERT_OCSP_CACHE_PREFIX_PROP_ID 75 +#define CERT_SMART_CARD_ROOT_INFO_PROP_ID 76 +#define CERT_NO_AUTO_EXPIRE_CHECK_PROP_ID 77 +#define CERT_NCRYPT_KEY_HANDLE_PROP_ID 78 +#define CERT_HCRYPTPROV_OR_NCRYPT_KEY_HANDLE_PROP_ID 79 +#define CERT_SUBJECT_INFO_ACCESS_PROP_ID 80 +#define CERT_CA_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID 81 +#define CERT_CA_DISABLE_CRL_PROP_ID 82 +#define CERT_ROOT_PROGRAM_CERT_POLICIES_PROP_ID 83 +#define CERT_ROOT_PROGRAM_NAME_CONSTRAINTS_PROP_ID 84 +#define CERT_SUBJECT_OCSP_AUTHORITY_INFO_ACCESS_PROP_ID 85 +#define CERT_SUBJECT_DISABLE_CRL_PROP_ID 86 +#define CERT_CEP_PROP_ID 87 +#define CERT_SIGN_HASH_CNG_ALG_PROP_ID 89 +#define CERT_SCARD_PIN_ID_PROP_ID 90 +#define CERT_SCARD_PIN_INFO_PROP_ID 91 +#define CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID 92 +#define CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID 93 +#define CERT_ISSUER_PUB_KEY_BIT_LENGTH_PROP_ID 94 +#define CERT_ISSUER_CHAIN_SIGN_HASH_CNG_ALG_PROP_ID 95 +#define CERT_ISSUER_CHAIN_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID 96 +#define CERT_NO_EXPIRE_NOTIFICATION_PROP_ID 97 +#define CERT_AUTH_ROOT_SHA256_HASH_PROP_ID 98 +#define CERT_NCRYPT_KEY_HANDLE_TRANSFER_PROP_ID 99 +#define CERT_HCRYPTPROV_TRANSFER_PROP_ID 100 +#define CERT_SMART_CARD_READER_PROP_ID 101 +#define CERT_SEND_AS_TRUSTED_ISSUER_PROP_ID 102 +#define CERT_KEY_REPAIR_ATTEMPTED_PROP_ID 103 +#define CERT_DISALLOWED_FILETIME_PROP_ID 104 +#define CERT_ROOT_PROGRAM_CHAIN_POLICIES_PROP_ID 105 +#define CERT_SMART_CARD_READER_NON_REMOVABLE_PROP_ID 106 + +#define CERT_SHA256_HASH_PROP_ID 107 + +#define CERT_SCEP_SERVER_CERTS_PROP_ID 108 +#define CERT_SCEP_RA_SIGNATURE_CERT_PROP_ID 109 +#define CERT_SCEP_RA_ENCRYPTION_CERT_PROP_ID 110 +#define CERT_SCEP_CA_CERT_PROP_ID 111 +#define CERT_SCEP_SIGNER_CERT_PROP_ID 112 +#define CERT_SCEP_NONCE_PROP_ID 113 + +#define CERT_SCEP_ENCRYPT_HASH_CNG_ALG_PROP_ID 114 +#define CERT_SCEP_FLAGS_PROP_ID 115 +#define CERT_SCEP_GUID_PROP_ID 116 +#define CERT_SERIALIZABLE_KEY_CONTEXT_PROP_ID 117 + +#define CERT_ISOLATED_KEY_PROP_ID 118 + +#define CERT_SERIAL_CHAIN_PROP_ID 119 +#define CERT_KEY_CLASSIFICATION_PROP_ID 120 + +#define CERT_OCSP_MUST_STAPLE_PROP_ID 121 + +#define CERT_DISALLOWED_ENHKEY_USAGE_PROP_ID 122 +#define CERT_NONCOMPLIANT_ROOT_URL_PROP_ID 123 + +#define CERT_PIN_SHA256_HASH_PROP_ID 124 +#define CERT_CLR_DELETE_KEY_PROP_ID 125 +#define CERT_NOT_BEFORE_FILETIME_PROP_ID 126 +#define CERT_NOT_BEFORE_ENHKEY_USAGE_PROP_ID 127 + +#define CERT_FIRST_RESERVED_PROP_ID 107 +#define CERT_LAST_RESERVED_PROP_ID 0x00007fff +#define CERT_FIRST_USER_PROP_ID 0x8000 +#define CERT_LAST_USER_PROP_ID 0x0000ffff + +#if defined(__cplusplus) && __cplusplus >= 201103L && !defined(SORTPP_PASS) +#define WINCRYPT_DWORD_CPP_ONLY : DWORD +#else +#define WINCRYPT_DWORD_CPP_ONLY +#endif + + typedef enum CertKeyType WINCRYPT_DWORD_CPP_ONLY { + KeyTypeOther = 0, + KeyTypeVirtualSmartCard = 1, + KeyTypePhysicalSmartCard = 2, + KeyTypePassport = 3, + KeyTypePassportRemote = 4, + KeyTypePassportSmartCard = 5, + KeyTypeHardware = 6, + KeyTypeSoftware = 7, + KeyTypeSelfSigned = 8 + } CertKeyType; + +#define IS_CERT_HASH_PROP_ID(X) (CERT_SHA1_HASH_PROP_ID == (X) || CERT_MD5_HASH_PROP_ID == (X) || CERT_SIGNATURE_HASH_PROP_ID == (X)) +#define IS_PUBKEY_HASH_PROP_ID(X) (CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID == (X) || CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID == (X)) +#define IS_CHAIN_HASH_PROP_ID(X) (CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID == (X) || CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID == (X) || CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID == (X) || CERT_SUBJECT_NAME_MD5_HASH_PROP_ID == (X)) +#define IS_STRONG_SIGN_PROP_ID(X) (CERT_SIGN_HASH_CNG_ALG_PROP_ID == (X) || CERT_SUBJECT_PUB_KEY_BIT_LENGTH_PROP_ID == (X) || CERT_PUB_KEY_CNG_ALG_BIT_LENGTH_PROP_ID == (X)) + +#define szOID_CERT_PROP_ID_PREFIX "1.3.6.1.4.1.311.10.11." +#define _szPROP_ID(PropId) #PropId +#define szOID_CERT_PROP_ID(PropId) szOID_CERT_PROP_ID_PREFIX _szPROP_ID (PropId) + +#define __CRYPT32WTEXT(quote) L##quote +#define _CRYPT32WTEXT(quote) __CRYPT32WTEXT (quote) +#define wszOID_CERT_PROP_ID(PropId) _CRYPT32WTEXT (szOID_CERT_PROP_ID_PREFIX) _CRYPT32WTEXT (_szPROP_ID (PropId)) + +#define szOID_CERT_KEY_IDENTIFIER_PROP_ID "1.3.6.1.4.1.311.10.11.20" +#define szOID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID "1.3.6.1.4.1.311.10.11.28" +#define szOID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID "1.3.6.1.4.1.311.10.11.29" +#define szOID_CERT_MD5_HASH_PROP_ID "1.3.6.1.4.1.311.10.11.4" +#define szOID_CERT_SIGNATURE_HASH_PROP_ID "1.3.6.1.4.1.311.10.11.15" +#define szOID_DISALLOWED_HASH szOID_CERT_SIGNATURE_HASH_PROP_ID +#define szOID_CERT_DISALLOWED_FILETIME_PROP_ID "1.3.6.1.4.1.311.10.11.104" + +#define CERT_ACCESS_STATE_WRITE_PERSIST_FLAG 0x1 +#define CERT_ACCESS_STATE_SYSTEM_STORE_FLAG 0x2 +#define CERT_ACCESS_STATE_LM_SYSTEM_STORE_FLAG 0x4 +#define CERT_ACCESS_STATE_GP_SYSTEM_STORE_FLAG 0x8 +#define CERT_ACCESS_STATE_SHARED_USER_FLAG 0x10 + +#define szOID_ROOT_PROGRAM_AUTO_UPDATE_CA_REVOCATION "1.3.6.1.4.1.311.60.3.1" +#define szOID_ROOT_PROGRAM_AUTO_UPDATE_END_REVOCATION "1.3.6.1.4.1.311.60.3.2" +#define szOID_ROOT_PROGRAM_NO_OCSP_FAILOVER_TO_CRL "1.3.6.1.4.1.311.60.3.3" + + typedef struct _CRYPT_KEY_PROV_PARAM { + DWORD dwParam; + BYTE *pbData; + DWORD cbData; + DWORD dwFlags; + } CRYPT_KEY_PROV_PARAM,*PCRYPT_KEY_PROV_PARAM; + + typedef struct _CRYPT_KEY_PROV_INFO { + LPWSTR pwszContainerName; + LPWSTR pwszProvName; + DWORD dwProvType; + DWORD dwFlags; + DWORD cProvParam; + PCRYPT_KEY_PROV_PARAM rgProvParam; + DWORD dwKeySpec; + } CRYPT_KEY_PROV_INFO,*PCRYPT_KEY_PROV_INFO; + +#define CERT_SET_KEY_PROV_HANDLE_PROP_ID 0x1 +#define CERT_SET_KEY_CONTEXT_PROP_ID 0x1 + +#define CERT_NCRYPT_KEY_SPEC 0xffffffff + + typedef struct _CERT_KEY_CONTEXT { + DWORD cbSize; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + } CERT_KEY_CONTEXT,*PCERT_KEY_CONTEXT; + + typedef struct _ROOT_INFO_LUID { + DWORD LowPart; + LONG HighPart; + } ROOT_INFO_LUID,*PROOT_INFO_LUID; + + typedef struct _CRYPT_SMART_CARD_ROOT_INFO { + BYTE rgbCardID [16]; + ROOT_INFO_LUID luid; + } CRYPT_SMART_CARD_ROOT_INFO,*PCRYPT_SMART_CARD_ROOT_INFO; + +#define CERT_STORE_PROV_MSG ((LPCSTR) 1) +#define CERT_STORE_PROV_MEMORY ((LPCSTR) 2) +#define CERT_STORE_PROV_FILE ((LPCSTR) 3) +#define CERT_STORE_PROV_REG ((LPCSTR) 4) +#define CERT_STORE_PROV_PKCS7 ((LPCSTR) 5) +#define CERT_STORE_PROV_SERIALIZED ((LPCSTR) 6) +#define CERT_STORE_PROV_FILENAME_A ((LPCSTR) 7) +#define CERT_STORE_PROV_FILENAME_W ((LPCSTR) 8) +#define CERT_STORE_PROV_FILENAME CERT_STORE_PROV_FILENAME_W +#define CERT_STORE_PROV_SYSTEM_A ((LPCSTR) 9) +#define CERT_STORE_PROV_SYSTEM_W ((LPCSTR) 10) +#define CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W +#define CERT_STORE_PROV_COLLECTION ((LPCSTR) 11) +#define CERT_STORE_PROV_SYSTEM_REGISTRY_A ((LPCSTR) 12) +#define CERT_STORE_PROV_SYSTEM_REGISTRY_W ((LPCSTR) 13) +#define CERT_STORE_PROV_SYSTEM_REGISTRY CERT_STORE_PROV_SYSTEM_REGISTRY_W +#define CERT_STORE_PROV_PHYSICAL_W ((LPCSTR) 14) +#define CERT_STORE_PROV_PHYSICAL CERT_STORE_PROV_PHYSICAL_W +#define CERT_STORE_PROV_SMART_CARD_W ((LPCSTR) 15) +#define CERT_STORE_PROV_SMART_CARD CERT_STORE_PROV_SMART_CARD_W +#define CERT_STORE_PROV_LDAP_W ((LPCSTR) 16) +#define CERT_STORE_PROV_LDAP CERT_STORE_PROV_LDAP_W +#define CERT_STORE_PROV_PKCS12 ((LPCSTR) 17) + +#define sz_CERT_STORE_PROV_MEMORY "Memory" +#define sz_CERT_STORE_PROV_FILENAME_W "File" +#define sz_CERT_STORE_PROV_FILENAME sz_CERT_STORE_PROV_FILENAME_W +#define sz_CERT_STORE_PROV_SYSTEM_W "System" +#define sz_CERT_STORE_PROV_SYSTEM sz_CERT_STORE_PROV_SYSTEM_W +#define sz_CERT_STORE_PROV_PKCS7 "PKCS7" +#define sz_CERT_STORE_PROV_PKCS12 "PKCS12" +#define sz_CERT_STORE_PROV_SERIALIZED "Serialized" + +#define sz_CERT_STORE_PROV_COLLECTION "Collection" +#define sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W "SystemRegistry" +#define sz_CERT_STORE_PROV_SYSTEM_REGISTRY sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W +#define sz_CERT_STORE_PROV_PHYSICAL_W "Physical" +#define sz_CERT_STORE_PROV_PHYSICAL sz_CERT_STORE_PROV_PHYSICAL_W + +#define sz_CERT_STORE_PROV_SMART_CARD_W "SmartCard" +#define sz_CERT_STORE_PROV_SMART_CARD sz_CERT_STORE_PROV_SMART_CARD_W + +#define sz_CERT_STORE_PROV_LDAP_W "Ldap" +#define sz_CERT_STORE_PROV_LDAP sz_CERT_STORE_PROV_LDAP_W + +#define CERT_STORE_SIGNATURE_FLAG 0x1 +#define CERT_STORE_TIME_VALIDITY_FLAG 0x2 +#define CERT_STORE_REVOCATION_FLAG 0x4 +#define CERT_STORE_NO_CRL_FLAG 0x10000 +#define CERT_STORE_NO_ISSUER_FLAG 0x20000 + +#define CERT_STORE_BASE_CRL_FLAG 0x100 +#define CERT_STORE_DELTA_CRL_FLAG 0x200 + +#define CERT_STORE_NO_CRYPT_RELEASE_FLAG 0x1 +#define CERT_STORE_SET_LOCALIZED_NAME_FLAG 0x2 +#define CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG 0x4 +#define CERT_STORE_DELETE_FLAG 0x10 +#define CERT_STORE_UNSAFE_PHYSICAL_FLAG 0x20 +#define CERT_STORE_SHARE_STORE_FLAG 0x40 +#define CERT_STORE_SHARE_CONTEXT_FLAG 0x80 +#define CERT_STORE_MANIFOLD_FLAG 0x100 +#define CERT_STORE_ENUM_ARCHIVED_FLAG 0x200 +#define CERT_STORE_UPDATE_KEYID_FLAG 0x400 +#define CERT_STORE_BACKUP_RESTORE_FLAG 0x800 +#define CERT_STORE_READONLY_FLAG 0x8000 +#define CERT_STORE_OPEN_EXISTING_FLAG 0x4000 +#define CERT_STORE_CREATE_NEW_FLAG 0x2000 +#define CERT_STORE_MAXIMUM_ALLOWED_FLAG 0x1000 + +#define CERT_SYSTEM_STORE_MASK 0xffff0000 + +#define CERT_SYSTEM_STORE_RELOCATE_FLAG 0x80000000 + + typedef struct _CERT_SYSTEM_STORE_RELOCATE_PARA { + __C89_NAMELESS union { + HKEY hKeyBase; + void *pvBase; + }; + __C89_NAMELESS union { + void *pvSystemStore; + LPCSTR pszSystemStore; + LPCWSTR pwszSystemStore; + }; + } CERT_SYSTEM_STORE_RELOCATE_PARA,*PCERT_SYSTEM_STORE_RELOCATE_PARA; + +#define CERT_SYSTEM_STORE_DEFER_READ_FLAG 0x20000000 +#define CERT_SYSTEM_STORE_UNPROTECTED_FLAG 0x40000000 + +#define CERT_SYSTEM_STORE_LOCATION_MASK 0x00ff0000 +#define CERT_SYSTEM_STORE_LOCATION_SHIFT 16 + +#define CERT_SYSTEM_STORE_CURRENT_USER_ID 1 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ID 2 +#define CERT_SYSTEM_STORE_CURRENT_SERVICE_ID 4 +#define CERT_SYSTEM_STORE_SERVICES_ID 5 +#define CERT_SYSTEM_STORE_USERS_ID 6 +#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID 7 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID 8 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID 9 +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID 10 + +#define CERT_SYSTEM_STORE_CURRENT_USER (CERT_SYSTEM_STORE_CURRENT_USER_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_CURRENT_SERVICE (CERT_SYSTEM_STORE_CURRENT_SERVICE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_SERVICES (CERT_SYSTEM_STORE_SERVICES_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_USERS (CERT_SYSTEM_STORE_USERS_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY (CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY (CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE (CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) +#define CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS (CERT_SYSTEM_STORE_LOCAL_MACHINE_WCOS_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) + +#define CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"Software\\Policies\\Microsoft\\SystemCertificates" + +#define CERT_EFSBLOB_REGPATH CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"\\EFS" +#define CERT_EFSBLOB_VALUE_NAME L"EFSBlob" + +#define CERT_PROT_ROOT_FLAGS_REGPATH CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"\\Root\\ProtectedRoots" +#define CERT_PROT_ROOT_FLAGS_VALUE_NAME L"Flags" +#define CERT_PROT_ROOT_DISABLE_CURRENT_USER_FLAG 0x1 +#define CERT_PROT_ROOT_INHIBIT_ADD_AT_INIT_FLAG 0x2 +#define CERT_PROT_ROOT_INHIBIT_PURGE_LM_FLAG 0x4 +#define CERT_PROT_ROOT_DISABLE_LM_AUTH_FLAG 0x8 +#define CERT_PROT_ROOT_ONLY_LM_GPT_FLAG 0x8 +#define CERT_PROT_ROOT_DISABLE_NT_AUTH_REQUIRED_FLAG 0x10 +#define CERT_PROT_ROOT_DISABLE_NOT_DEFINED_NAME_CONSTRAINT_FLAG 0x20 +#define CERT_PROT_ROOT_DISABLE_PEER_TRUST 0x10000 +#define CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME L"PeerUsages" +#define CERT_PROT_ROOT_PEER_USAGES_VALUE_NAME_A "PeerUsages" +#define CERT_PROT_ROOT_PEER_USAGES_DEFAULT_A szOID_PKIX_KP_CLIENT_AUTH "\0" szOID_PKIX_KP_EMAIL_PROTECTION "\0" szOID_KP_EFS "\0" + +#define CERT_TRUST_PUB_SAFER_GROUP_POLICY_REGPATH CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"\\TrustedPublisher\\Safer" +#define CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH L"Software\\Microsoft\\SystemCertificates" +#define CERT_TRUST_PUB_SAFER_LOCAL_MACHINE_REGPATH CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH L"\\TrustedPublisher\\Safer" +#define CERT_TRUST_PUB_AUTHENTICODE_FLAGS_VALUE_NAME L"AuthenticodeFlags" + +#define CERT_TRUST_PUB_ALLOW_TRUST_MASK 0x3 +#define CERT_TRUST_PUB_ALLOW_END_USER_TRUST 0x0 +#define CERT_TRUST_PUB_ALLOW_MACHINE_ADMIN_TRUST 0x1 +#define CERT_TRUST_PUB_ALLOW_ENTERPRISE_ADMIN_TRUST 0x2 +#define CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG 0x100 +#define CERT_TRUST_PUB_CHECK_TIMESTAMP_REV_FLAG 0x200 + +#define CERT_OCM_SUBCOMPONENTS_LOCAL_MACHINE_REGPATH L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Setup\\OC Manager\\Subcomponents" +#define CERT_OCM_SUBCOMPONENTS_ROOT_AUTO_UPDATE_VALUE_NAME L"RootAutoUpdate" + +#define CERT_DISABLE_ROOT_AUTO_UPDATE_REGPATH CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"\\AuthRoot" +#define CERT_DISABLE_ROOT_AUTO_UPDATE_VALUE_NAME L"DisableRootAutoUpdate" + +#define CERT_ENABLE_DISALLOWED_CERT_AUTO_UPDATE_VALUE_NAME L"EnableDisallowedCertAutoUpdate" + +#define CERT_DISABLE_PIN_RULES_AUTO_UPDATE_VALUE_NAME L"DisablePinRulesAutoUpdate" + +#define CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH CERT_LOCAL_MACHINE_SYSTEM_STORE_REGPATH L"\\AuthRoot\\AutoUpdate" +#define CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME L"RootDirUrl" + +#define CERT_AUTO_UPDATE_SYNC_FROM_DIR_URL_VALUE_NAME L"SyncFromDirUrl" + +#define CERT_AUTH_ROOT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH CERT_AUTO_UPDATE_LOCAL_MACHINE_REGPATH +#define CERT_AUTH_ROOT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME CERT_AUTO_UPDATE_ROOT_DIR_URL_VALUE_NAME +#define CERT_AUTH_ROOT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME L"SyncDeltaTime" +#define CERT_AUTH_ROOT_AUTO_UPDATE_FLAGS_VALUE_NAME L"Flags" +#define CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_UNTRUSTED_ROOT_LOGGING_FLAG 0x1 +#define CERT_AUTH_ROOT_AUTO_UPDATE_DISABLE_PARTIAL_CHAIN_LOGGING_FLAG 0x2 +#define CERT_AUTO_UPDATE_DISABLE_RANDOM_QUERY_STRING_FLAG 0x4 +#define CERT_AUTH_ROOT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME L"LastSyncTime" +#define CERT_AUTH_ROOT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME L"EncodedCtl" +#define CERT_AUTH_ROOT_CTL_FILENAME L"authroot.stl" +#define CERT_AUTH_ROOT_CTL_FILENAME_A "authroot.stl" +#define CERT_AUTH_ROOT_CAB_FILENAME L"authrootstl.cab" +#define CERT_AUTH_ROOT_SEQ_FILENAME L"authrootseq.txt" +#define CERT_AUTH_ROOT_CERT_EXT L".crt" + +#define CERT_DISALLOWED_CERT_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME L"DisallowedCertSyncDeltaTime" +#define CERT_DISALLOWED_CERT_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME L"DisallowedCertLastSyncTime" +#define CERT_DISALLOWED_CERT_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME L"DisallowedCertEncodedCtl" +#define CERT_DISALLOWED_CERT_CTL_FILENAME L"disallowedcert.stl" +#define CERT_DISALLOWED_CERT_CTL_FILENAME_A "disallowedcert.stl" +#define CERT_DISALLOWED_CERT_CAB_FILENAME L"disallowedcertstl.cab" +#define CERT_DISALLOWED_CERT_AUTO_UPDATE_LIST_IDENTIFIER L"DisallowedCert_AutoUpdate_1" + +#define CERT_PIN_RULES_AUTO_UPDATE_SYNC_DELTA_TIME_VALUE_NAME L"PinRulesSyncDeltaTime" +#define CERT_PIN_RULES_AUTO_UPDATE_LAST_SYNC_TIME_VALUE_NAME L"PinRulesLastSyncTime" +#define CERT_PIN_RULES_AUTO_UPDATE_ENCODED_CTL_VALUE_NAME L"PinRulesEncodedCtl" + +#define CERT_PIN_RULES_CTL_FILENAME L"pinrules.stl" +#define CERT_PIN_RULES_CTL_FILENAME_A "pinrules.stl" + +#define CERT_PIN_RULES_CAB_FILENAME L"pinrulesstl.cab" + +#define CERT_PIN_RULES_AUTO_UPDATE_LIST_IDENTIFIER L"PinRules_AutoUpdate_1" + +#define CERT_REGISTRY_STORE_REMOTE_FLAG 0x10000 +#define CERT_REGISTRY_STORE_SERIALIZED_FLAG 0x20000 +#define CERT_REGISTRY_STORE_CLIENT_GPT_FLAG 0x80000000 +#define CERT_REGISTRY_STORE_LM_GPT_FLAG 0x1000000 + + typedef struct _CERT_REGISTRY_STORE_CLIENT_GPT_PARA { + HKEY hKeyBase; + LPWSTR pwszRegPath; + } CERT_REGISTRY_STORE_CLIENT_GPT_PARA,*PCERT_REGISTRY_STORE_CLIENT_GPT_PARA; + +#define CERT_REGISTRY_STORE_ROAMING_FLAG 0x40000 + + typedef struct _CERT_REGISTRY_STORE_ROAMING_PARA { + HKEY hKey; + LPWSTR pwszStoreDirectory; + } CERT_REGISTRY_STORE_ROAMING_PARA,*PCERT_REGISTRY_STORE_ROAMING_PARA; + +#define CERT_REGISTRY_STORE_MY_IE_DIRTY_FLAG 0x80000 +#define CERT_REGISTRY_STORE_EXTERNAL_FLAG 0x100000 + +#define CERT_IE_DIRTY_FLAGS_REGPATH L"Software\\Microsoft\\Cryptography\\IEDirtyFlags" + +#define CERT_FILE_STORE_COMMIT_ENABLE_FLAG 0x10000 +#define CERT_LDAP_STORE_SIGN_FLAG 0x10000 +#define CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG 0x20000 +#define CERT_LDAP_STORE_OPENED_FLAG 0x40000 + + typedef struct _CERT_LDAP_STORE_OPENED_PARA { + void *pvLdapSessionHandle; + LPCWSTR pwszLdapUrl; + } CERT_LDAP_STORE_OPENED_PARA,*PCERT_LDAP_STORE_OPENED_PARA; + +#define CERT_LDAP_STORE_UNBIND_FLAG 0x80000 + +WINIMPM HCERTSTORE WINAPI CertOpenStore (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara); + + typedef void *HCERTSTOREPROV; + +#define CRYPT_OID_OPEN_STORE_PROV_FUNC "CertDllOpenStoreProv" + + typedef struct _CERT_STORE_PROV_INFO { + DWORD cbSize; + DWORD cStoreProvFunc; + void **rgpvStoreProvFunc; + HCERTSTOREPROV hStoreProv; + DWORD dwStoreProvFlags; + HCRYPTOIDFUNCADDR hStoreProvFuncAddr2; + } CERT_STORE_PROV_INFO,*PCERT_STORE_PROV_INFO; + + typedef WINBOOL (WINAPI *PFN_CERT_DLL_OPEN_STORE_PROV_FUNC) (LPCSTR lpszStoreProvider, DWORD dwEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const void *pvPara, HCERTSTORE hCertStore, PCERT_STORE_PROV_INFO pStoreProvInfo); + +#define CERT_STORE_PROV_EXTERNAL_FLAG 0x1 +#define CERT_STORE_PROV_DELETED_FLAG 0x2 +#define CERT_STORE_PROV_NO_PERSIST_FLAG 0x4 +#define CERT_STORE_PROV_SYSTEM_STORE_FLAG 0x8 +#define CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG 0x10 +#define CERT_STORE_PROV_GP_SYSTEM_STORE_FLAG 0x20 +#define CERT_STORE_PROV_SHARED_USER_FLAG 0x40 + +#define CERT_STORE_PROV_CLOSE_FUNC 0 +#define CERT_STORE_PROV_READ_CERT_FUNC 1 +#define CERT_STORE_PROV_WRITE_CERT_FUNC 2 +#define CERT_STORE_PROV_DELETE_CERT_FUNC 3 +#define CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC 4 +#define CERT_STORE_PROV_READ_CRL_FUNC 5 +#define CERT_STORE_PROV_WRITE_CRL_FUNC 6 +#define CERT_STORE_PROV_DELETE_CRL_FUNC 7 +#define CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC 8 +#define CERT_STORE_PROV_READ_CTL_FUNC 9 +#define CERT_STORE_PROV_WRITE_CTL_FUNC 10 +#define CERT_STORE_PROV_DELETE_CTL_FUNC 11 +#define CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC 12 +#define CERT_STORE_PROV_CONTROL_FUNC 13 +#define CERT_STORE_PROV_FIND_CERT_FUNC 14 +#define CERT_STORE_PROV_FREE_FIND_CERT_FUNC 15 +#define CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC 16 +#define CERT_STORE_PROV_FIND_CRL_FUNC 17 +#define CERT_STORE_PROV_FREE_FIND_CRL_FUNC 18 +#define CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC 19 +#define CERT_STORE_PROV_FIND_CTL_FUNC 20 +#define CERT_STORE_PROV_FREE_FIND_CTL_FUNC 21 +#define CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC 22 + +#define CERT_STORE_PROV_WRITE_ADD_FLAG 0x1 + + typedef void (WINAPI *PFN_CERT_STORE_PROV_CLOSE) (HCERTSTOREPROV hStoreProv, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pStoreCertContext, DWORD dwFlags, PCCERT_CONTEXT *ppProvCertContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pStoreCrlContext, DWORD dwFlags, PCCRL_CONTEXT *ppProvCrlContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_READ_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pStoreCtlContext, DWORD dwFlags, PCCTL_CONTEXT *ppProvCtlContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_WRITE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_DELETE_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_SET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_CONTROL) (HCERTSTOREPROV hStoreProv, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara); + + typedef struct _CERT_STORE_PROV_FIND_INFO { + DWORD cbSize; + DWORD dwMsgAndCertEncodingType; + DWORD dwFindFlags; + DWORD dwFindType; + const void *pvFindPara; + } CERT_STORE_PROV_FIND_INFO,*PCERT_STORE_PROV_FIND_INFO; + + typedef const CERT_STORE_PROV_FIND_INFO CCERT_STORE_PROV_FIND_INFO,*PCCERT_STORE_PROV_FIND_INFO; + + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCERT_CONTEXT pPrevCertContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCERT_CONTEXT *ppProvCertContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CERT) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, void *pvStoreProvFindInfo, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CERT_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCRL_CONTEXT pPrevCrlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCRL_CONTEXT *ppProvCrlContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CRL) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, void *pvStoreProvFindInfo, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CRL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCERT_STORE_PROV_FIND_INFO pFindInfo, PCCTL_CONTEXT pPrevCtlContext, DWORD dwFlags, void **ppvStoreProvFindInfo, PCCTL_CONTEXT *ppProvCtlContext); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_FREE_FIND_CTL) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, void *pvStoreProvFindInfo, DWORD dwFlags); + typedef WINBOOL (WINAPI *PFN_CERT_STORE_PROV_GET_CTL_PROPERTY) (HCERTSTOREPROV hStoreProv, PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, void *pvData, DWORD *pcbData); + + WINIMPM HCERTSTORE WINAPI CertDuplicateStore (HCERTSTORE hCertStore); + +#define CERT_STORE_SAVE_AS_STORE 1 +#define CERT_STORE_SAVE_AS_PKCS7 2 +#define CERT_STORE_SAVE_AS_PKCS12 3 + +#define CERT_STORE_SAVE_TO_FILE 1 +#define CERT_STORE_SAVE_TO_MEMORY 2 +#define CERT_STORE_SAVE_TO_FILENAME_A 3 +#define CERT_STORE_SAVE_TO_FILENAME_W 4 +#define CERT_STORE_SAVE_TO_FILENAME CERT_STORE_SAVE_TO_FILENAME_W + +#define CERT_CLOSE_STORE_FORCE_FLAG 0x1 +#define CERT_CLOSE_STORE_CHECK_FLAG 0x2 + + WINIMPM WINBOOL WINAPI CertSaveStore (HCERTSTORE hCertStore, DWORD dwEncodingType, DWORD dwSaveAs, DWORD dwSaveTo, void *pvSaveToPara, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CertCloseStore (HCERTSTORE hCertStore, DWORD dwFlags); + WINIMPM PCCERT_CONTEXT WINAPI CertGetSubjectCertificateFromStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, PCERT_INFO pCertId); + WINIMPM PCCERT_CONTEXT WINAPI CertEnumCertificatesInStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pPrevCertContext); + WINIMPM PCCERT_CONTEXT WINAPI CertFindCertificateInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CONTEXT pPrevCertContext); + +#define CERT_COMPARE_MASK 0xffff +#define CERT_COMPARE_SHIFT 16 +#define CERT_COMPARE_ANY 0 +#define CERT_COMPARE_SHA1_HASH 1 +#define CERT_COMPARE_NAME 2 +#define CERT_COMPARE_ATTR 3 +#define CERT_COMPARE_MD5_HASH 4 +#define CERT_COMPARE_PROPERTY 5 +#define CERT_COMPARE_PUBLIC_KEY 6 +#define CERT_COMPARE_HASH CERT_COMPARE_SHA1_HASH +#define CERT_COMPARE_NAME_STR_A 7 +#define CERT_COMPARE_NAME_STR_W 8 +#define CERT_COMPARE_KEY_SPEC 9 +#define CERT_COMPARE_ENHKEY_USAGE 10 +#define CERT_COMPARE_CTL_USAGE CERT_COMPARE_ENHKEY_USAGE +#define CERT_COMPARE_SUBJECT_CERT 11 +#define CERT_COMPARE_ISSUER_OF 12 +#define CERT_COMPARE_EXISTING 13 +#define CERT_COMPARE_SIGNATURE_HASH 14 +#define CERT_COMPARE_KEY_IDENTIFIER 15 +#define CERT_COMPARE_CERT_ID 16 +#define CERT_COMPARE_CROSS_CERT_DIST_POINTS 17 +#define CERT_COMPARE_PUBKEY_MD5_HASH 18 +#define CERT_COMPARE_SUBJECT_INFO_ACCESS 19 +#define CERT_COMPARE_HASH_STR 20 +#define CERT_COMPARE_HAS_PRIVATE_KEY 21 + +#define CERT_FIND_ANY (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT) +#define CERT_FIND_SHA1_HASH (CERT_COMPARE_SHA1_HASH << CERT_COMPARE_SHIFT) +#define CERT_FIND_MD5_HASH (CERT_COMPARE_MD5_HASH << CERT_COMPARE_SHIFT) +#define CERT_FIND_SIGNATURE_HASH (CERT_COMPARE_SIGNATURE_HASH << CERT_COMPARE_SHIFT) +#define CERT_FIND_KEY_IDENTIFIER (CERT_COMPARE_KEY_IDENTIFIER << CERT_COMPARE_SHIFT) +#define CERT_FIND_HASH CERT_FIND_SHA1_HASH +#define CERT_FIND_PROPERTY (CERT_COMPARE_PROPERTY << CERT_COMPARE_SHIFT) +#define CERT_FIND_PUBLIC_KEY (CERT_COMPARE_PUBLIC_KEY << CERT_COMPARE_SHIFT) +#define CERT_FIND_SUBJECT_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) +#define CERT_FIND_SUBJECT_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) +#define CERT_FIND_ISSUER_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) +#define CERT_FIND_ISSUER_ATTR (CERT_COMPARE_ATTR << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) +#define CERT_FIND_SUBJECT_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) +#define CERT_FIND_SUBJECT_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) +#define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W +#define CERT_FIND_ISSUER_STR_A (CERT_COMPARE_NAME_STR_A << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) +#define CERT_FIND_ISSUER_STR_W (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_ISSUER_FLAG) +#define CERT_FIND_ISSUER_STR CERT_FIND_ISSUER_STR_W +#define CERT_FIND_KEY_SPEC (CERT_COMPARE_KEY_SPEC << CERT_COMPARE_SHIFT) +#define CERT_FIND_ENHKEY_USAGE (CERT_COMPARE_ENHKEY_USAGE << CERT_COMPARE_SHIFT) +#define CERT_FIND_CTL_USAGE CERT_FIND_ENHKEY_USAGE +#define CERT_FIND_SUBJECT_CERT (CERT_COMPARE_SUBJECT_CERT << CERT_COMPARE_SHIFT) +#define CERT_FIND_ISSUER_OF (CERT_COMPARE_ISSUER_OF << CERT_COMPARE_SHIFT) +#define CERT_FIND_EXISTING (CERT_COMPARE_EXISTING << CERT_COMPARE_SHIFT) +#define CERT_FIND_CERT_ID (CERT_COMPARE_CERT_ID << CERT_COMPARE_SHIFT) +#define CERT_FIND_CROSS_CERT_DIST_POINTS (CERT_COMPARE_CROSS_CERT_DIST_POINTS << CERT_COMPARE_SHIFT) +#define CERT_FIND_PUBKEY_MD5_HASH (CERT_COMPARE_PUBKEY_MD5_HASH << CERT_COMPARE_SHIFT) +#define CERT_FIND_SUBJECT_INFO_ACCESS (CERT_COMPARE_SUBJECT_INFO_ACCESS << CERT_COMPARE_SHIFT) +#define CERT_FIND_HASH_STR (CERT_COMPARE_HASH_STR << CERT_COMPARE_SHIFT) +#define CERT_FIND_HAS_PRIVATE_KEY (CERT_COMPARE_HAS_PRIVATE_KEY << CERT_COMPARE_SHIFT) + +#define CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 0x1 +#define CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 0x2 +#define CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG 0x4 +#define CERT_FIND_NO_ENHKEY_USAGE_FLAG 0x8 +#define CERT_FIND_OR_ENHKEY_USAGE_FLAG 0x10 +#define CERT_FIND_VALID_ENHKEY_USAGE_FLAG 0x20 + +#define CERT_FIND_OPTIONAL_CTL_USAGE_FLAG CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG +#define CERT_FIND_EXT_ONLY_CTL_USAGE_FLAG CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG +#define CERT_FIND_PROP_ONLY_CTL_USAGE_FLAG CERT_FIND_PROP_ONLY_ENHKEY_USAGE_FLAG +#define CERT_FIND_NO_CTL_USAGE_FLAG CERT_FIND_NO_ENHKEY_USAGE_FLAG +#define CERT_FIND_OR_CTL_USAGE_FLAG CERT_FIND_OR_ENHKEY_USAGE_FLAG +#define CERT_FIND_VALID_CTL_USAGE_FLAG CERT_FIND_VALID_ENHKEY_USAGE_FLAG + + WINIMPM PCCERT_CONTEXT WINAPI CertGetIssuerCertificateFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pSubjectContext, PCCERT_CONTEXT pPrevIssuerContext, DWORD *pdwFlags); + WINIMPM WINBOOL WINAPI CertVerifySubjectCertificateContext (PCCERT_CONTEXT pSubject, PCCERT_CONTEXT pIssuer, DWORD *pdwFlags); + WINIMPM PCCERT_CONTEXT WINAPI CertDuplicateCertificateContext (PCCERT_CONTEXT pCertContext); + WINIMPM PCCERT_CONTEXT WINAPI CertCreateCertificateContext (DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded); + WINIMPM WINBOOL WINAPI CertFreeCertificateContext (PCCERT_CONTEXT pCertContext); + WINIMPM WINBOOL WINAPI CertSetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + + typedef struct _CRL_FIND_ISSUED_FOR_PARA { + PCCERT_CONTEXT pSubjectCert; + PCCERT_CONTEXT pIssuerCert; + } CRL_FIND_ISSUED_FOR_PARA,*PCRL_FIND_ISSUED_FOR_PARA; + + typedef struct _CTL_ANY_SUBJECT_INFO { + CRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithm; + CRYPT_DATA_BLOB SubjectIdentifier; + } CTL_ANY_SUBJECT_INFO,*PCTL_ANY_SUBJECT_INFO; + +#define CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG 0x40000000 +#define CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG 0x80000000 + +#define CTL_ENTRY_FROM_PROP_CHAIN_FLAG 0x1 + +#define CRL_FIND_ANY 0 +#define CRL_FIND_ISSUED_BY 1 +#define CRL_FIND_EXISTING 2 +#define CRL_FIND_ISSUED_FOR 3 + +#define CRL_FIND_ISSUED_BY_AKI_FLAG 0x1 +#define CRL_FIND_ISSUED_BY_SIGNATURE_FLAG 0x2 +#define CRL_FIND_ISSUED_BY_DELTA_FLAG 0x4 +#define CRL_FIND_ISSUED_BY_BASE_FLAG 0x8 +#define CRL_FIND_ISSUED_FOR_SET_STRONG_PROPERTIES_FLAG 0x10 + +#define CERT_STORE_ADD_NEW 1 +#define CERT_STORE_ADD_USE_EXISTING 2 +#define CERT_STORE_ADD_REPLACE_EXISTING 3 +#define CERT_STORE_ADD_ALWAYS 4 +#define CERT_STORE_ADD_REPLACE_EXISTING_INHERIT_PROPERTIES 5 +#define CERT_STORE_ADD_NEWER 6 +#define CERT_STORE_ADD_NEWER_INHERIT_PROPERTIES 7 + +#define CERT_STORE_CERTIFICATE_CONTEXT 1 +#define CERT_STORE_CRL_CONTEXT 2 +#define CERT_STORE_CTL_CONTEXT 3 + +#define CERT_STORE_ALL_CONTEXT_FLAG (~__MSABI_LONG(0U)) +#define CERT_STORE_CERTIFICATE_CONTEXT_FLAG (1 << CERT_STORE_CERTIFICATE_CONTEXT) +#define CERT_STORE_CRL_CONTEXT_FLAG (1 << CERT_STORE_CRL_CONTEXT) +#define CERT_STORE_CTL_CONTEXT_FLAG (1 << CERT_STORE_CTL_CONTEXT) + +#define CTL_ANY_SUBJECT_TYPE 1 +#define CTL_CERT_SUBJECT_TYPE 2 + + WINIMPM PCCRL_CONTEXT WINAPI CertEnumCRLsInStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pPrevCrlContext); + WINIMPM WINBOOL WINAPI CertDeleteCRLFromStore (PCCRL_CONTEXT pCrlContext); + WINIMPM PCCRL_CONTEXT WINAPI CertDuplicateCRLContext (PCCRL_CONTEXT pCrlContext); + WINIMPM PCCRL_CONTEXT WINAPI CertFindCRLInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCRL_CONTEXT pPrevCrlContext); + WINIMPM WINBOOL WINAPI CertFreeCRLContext (PCCRL_CONTEXT pCrlContext); + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00 + WINIMPM WINBOOL WINAPI CertGetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, void *pvData, DWORD *pcbData); + WINIMPM DWORD WINAPI CertEnumCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD dwPropId); + WINIMPM WINBOOL WINAPI CertDeleteCertificateFromStore (PCCERT_CONTEXT pCertContext); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINIMPM WINBOOL WINAPI CertCreateCTLEntryFromCertificateContextProperties (PCCERT_CONTEXT pCertContext, DWORD cOptAttr, PCRYPT_ATTRIBUTE rgOptAttr, DWORD dwFlags, void *pvReserved, PCTL_ENTRY pCtlEntry, DWORD *pcbCtlEntry); + WINIMPM WINBOOL WINAPI CertSetCertificateContextPropertiesFromCTLEntry (PCCERT_CONTEXT pCertContext, PCTL_ENTRY pCtlEntry, DWORD dwFlags); + WINIMPM PCCRL_CONTEXT WINAPI CertGetCRLFromStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pIssuerContext, PCCRL_CONTEXT pPrevCrlContext, DWORD *pdwFlags); + WINIMPM PCCRL_CONTEXT WINAPI CertCreateCRLContext (DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded); + WINIMPM WINBOOL WINAPI CertSetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + WINIMPM WINBOOL WINAPI CertGetCRLContextProperty (PCCRL_CONTEXT pCrlContext, DWORD dwPropId, void *pvData, DWORD *pcbData); + WINIMPM DWORD WINAPI CertEnumCRLContextProperties (PCCRL_CONTEXT pCrlContext, DWORD dwPropId); + WINIMPM WINBOOL WINAPI CertFindCertificateInCRL (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrlContext, DWORD dwFlags, void *pvReserved, PCRL_ENTRY *ppCrlEntry); + WINIMPM WINBOOL WINAPI CertIsValidCRLForCertificate (PCCERT_CONTEXT pCert, PCCRL_CONTEXT pCrl, DWORD dwFlags, void *pvReserved); + WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCertEncoded, DWORD cbCertEncoded, DWORD dwAddDisposition, PCCERT_CONTEXT *ppCertContext); + WINIMPM WINBOOL WINAPI CertAddCertificateContextToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertAddSerializedElementToStore (HCERTSTORE hCertStore, const BYTE *pbElement, DWORD cbElement, DWORD dwAddDisposition, DWORD dwFlags, DWORD dwContextTypeFlags, DWORD *pdwContextType, const void **ppvContext); + WINIMPM WINBOOL WINAPI CertAddEncodedCRLToStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, const BYTE *pbCrlEncoded, DWORD cbCrlEncoded, DWORD dwAddDisposition, PCCRL_CONTEXT *ppCrlContext); + WINIMPM WINBOOL WINAPI CertAddCRLContextToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertSerializeCertificateStoreElement (PCCERT_CONTEXT pCertContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement); + WINIMPM WINBOOL WINAPI CertSerializeCRLStoreElement (PCCRL_CONTEXT pCrlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement); + WINIMPM PCCTL_CONTEXT WINAPI CertDuplicateCTLContext (PCCTL_CONTEXT pCtlContext); + WINIMPM PCCTL_CONTEXT WINAPI CertCreateCTLContext (DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded); + WINIMPM WINBOOL WINAPI CertFreeCTLContext (PCCTL_CONTEXT pCtlContext); + WINIMPM WINBOOL WINAPI CertSetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, DWORD dwFlags, const void *pvData); + WINIMPM WINBOOL WINAPI CertGetCTLContextProperty (PCCTL_CONTEXT pCtlContext, DWORD dwPropId, void *pvData, DWORD *pcbData); + WINIMPM DWORD WINAPI CertEnumCTLContextProperties (PCCTL_CONTEXT pCtlContext, DWORD dwPropId); + WINIMPM PCCTL_CONTEXT WINAPI CertEnumCTLsInStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pPrevCtlContext); + WINIMPM PCTL_ENTRY WINAPI CertFindSubjectInCTL (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCCTL_CONTEXT pCtlContext, DWORD dwFlags); + WINIMPM PCCTL_CONTEXT WINAPI CertFindCTLInStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCTL_CONTEXT pPrevCtlContext); + +#define CTL_FIND_ANY 0 +#define CTL_FIND_SHA1_HASH 1 +#define CTL_FIND_MD5_HASH 2 +#define CTL_FIND_USAGE 3 +#define CTL_FIND_SUBJECT 4 +#define CTL_FIND_EXISTING 5 + +#define CTL_FIND_SAME_USAGE_FLAG 0x1 + +#define CTL_FIND_NO_LIST_ID_CBDATA 0xffffffff +#define CTL_FIND_NO_SIGNER_PTR ((PCERT_INFO) -1) + +#define CERT_STORE_CTRL_RESYNC 1 +#define CERT_STORE_CTRL_NOTIFY_CHANGE 2 +#define CERT_STORE_CTRL_COMMIT 3 +#define CERT_STORE_CTRL_AUTO_RESYNC 4 +#define CERT_STORE_CTRL_CANCEL_NOTIFY 5 + +#define CERT_STORE_CTRL_INHIBIT_DUPLICATE_HANDLE_FLAG 0x1 + +#define CERT_STORE_CTRL_COMMIT_FORCE_FLAG 0x1 +#define CERT_STORE_CTRL_COMMIT_CLEAR_FLAG 0x2 + +#define CERT_STORE_LOCALIZED_NAME_PROP_ID 0x1000 + +#define CERT_CREATE_CONTEXT_NOCOPY_FLAG 0x1 +#define CERT_CREATE_CONTEXT_SORTED_FLAG 0x2 +#define CERT_CREATE_CONTEXT_NO_HCRYPTMSG_FLAG 0x4 +#define CERT_CREATE_CONTEXT_NO_ENTRY_FLAG 0x8 + +#define CERT_PHYSICAL_STORE_ADD_ENABLE_FLAG 0x1 +#define CERT_PHYSICAL_STORE_OPEN_DISABLE_FLAG 0x2 +#define CERT_PHYSICAL_STORE_REMOTE_OPEN_DISABLE_FLAG 0x4 +#define CERT_PHYSICAL_STORE_INSERT_COMPUTER_NAME_ENABLE_FLAG 0x8 + + typedef struct _CTL_FIND_USAGE_PARA { + DWORD cbSize; + CTL_USAGE SubjectUsage; + CRYPT_DATA_BLOB ListIdentifier; + PCERT_INFO pSigner; + } CTL_FIND_USAGE_PARA,*PCTL_FIND_USAGE_PARA; + + typedef struct _CTL_FIND_SUBJECT_PARA { + DWORD cbSize; + PCTL_FIND_USAGE_PARA pUsagePara; + DWORD dwSubjectType; + void *pvSubject; + } CTL_FIND_SUBJECT_PARA,*PCTL_FIND_SUBJECT_PARA; + + typedef WINBOOL (WINAPI *PFN_CERT_CREATE_CONTEXT_SORT_FUNC) (DWORD cbTotalEncoded, DWORD cbRemainEncoded, DWORD cEntry, void *pvSort); + + typedef struct _CERT_CREATE_CONTEXT_PARA { + DWORD cbSize; + PFN_CRYPT_FREE pfnFree; + void *pvFree; + PFN_CERT_CREATE_CONTEXT_SORT_FUNC pfnSort; + void *pvSort; + } CERT_CREATE_CONTEXT_PARA,*PCERT_CREATE_CONTEXT_PARA; + + typedef struct _CERT_SYSTEM_STORE_INFO { + DWORD cbSize; + } CERT_SYSTEM_STORE_INFO,*PCERT_SYSTEM_STORE_INFO; + + typedef struct _CERT_PHYSICAL_STORE_INFO { + DWORD cbSize; + LPSTR pszOpenStoreProvider; + DWORD dwOpenEncodingType; + DWORD dwOpenFlags; + CRYPT_DATA_BLOB OpenParameters; + DWORD dwFlags; + DWORD dwPriority; + } CERT_PHYSICAL_STORE_INFO,*PCERT_PHYSICAL_STORE_INFO; + + WINIMPM WINBOOL WINAPI CertAddEncodedCTLToStore (HCERTSTORE hCertStore, DWORD dwMsgAndCertEncodingType, const BYTE *pbCtlEncoded, DWORD cbCtlEncoded, DWORD dwAddDisposition, PCCTL_CONTEXT *ppCtlContext); + WINIMPM WINBOOL WINAPI CertAddCTLContextToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertSerializeCTLStoreElement (PCCTL_CONTEXT pCtlContext, DWORD dwFlags, BYTE *pbElement, DWORD *pcbElement); + WINIMPM WINBOOL WINAPI CertDeleteCTLFromStore (PCCTL_CONTEXT pCtlContext); + WINIMPM WINBOOL WINAPI CertAddCertificateLinkToStore (HCERTSTORE hCertStore, PCCERT_CONTEXT pCertContext, DWORD dwAddDisposition, PCCERT_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertAddCRLLinkToStore (HCERTSTORE hCertStore, PCCRL_CONTEXT pCrlContext, DWORD dwAddDisposition, PCCRL_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertAddCTLLinkToStore (HCERTSTORE hCertStore, PCCTL_CONTEXT pCtlContext, DWORD dwAddDisposition, PCCTL_CONTEXT *ppStoreContext); + WINIMPM WINBOOL WINAPI CertAddStoreToCollection (HCERTSTORE hCollectionStore, HCERTSTORE hSiblingStore, DWORD dwUpdateFlags, DWORD dwPriority); + WINIMPM void WINAPI CertRemoveStoreFromCollection (HCERTSTORE hCollectionStore, HCERTSTORE hSiblingStore); + WINIMPM WINBOOL WINAPI CertControlStore (HCERTSTORE hCertStore, DWORD dwFlags, DWORD dwCtrlType, void const *pvCtrlPara); + WINIMPM WINBOOL WINAPI CertSetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, DWORD dwFlags, const void *pvData); + WINIMPM WINBOOL WINAPI CertGetStoreProperty (HCERTSTORE hCertStore, DWORD dwPropId, void *pvData, DWORD *pcbData); + WINIMPM const void *WINAPI CertCreateContext (DWORD dwContextType, DWORD dwEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, DWORD dwFlags, PCERT_CREATE_CONTEXT_PARA pCreatePara); + WINIMPM WINBOOL WINAPI CertRegisterSystemStore (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved); + WINIMPM WINBOOL WINAPI CertRegisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved); + WINIMPM WINBOOL WINAPI CertUnregisterSystemStore (const void *pvSystemStore, DWORD dwFlags); + WINIMPM WINBOOL WINAPI CertUnregisterPhysicalStore (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName); + + typedef WINBOOL (WINAPI *PFN_CERT_ENUM_SYSTEM_STORE_LOCATION) (LPCWSTR pwszStoreLocation, DWORD dwFlags, void *pvReserved, void *pvArg); + typedef WINBOOL (WINAPI *PFN_CERT_ENUM_SYSTEM_STORE) (const void *pvSystemStore, DWORD dwFlags, PCERT_SYSTEM_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg); + typedef WINBOOL (WINAPI *PFN_CERT_ENUM_PHYSICAL_STORE) (const void *pvSystemStore, DWORD dwFlags, LPCWSTR pwszStoreName, PCERT_PHYSICAL_STORE_INFO pStoreInfo, void *pvReserved, void *pvArg); + +#define CERT_PHYSICAL_STORE_PREDEFINED_ENUM_FLAG 0x1 + +#define CERT_PHYSICAL_STORE_DEFAULT_NAME L".Default" +#define CERT_PHYSICAL_STORE_GROUP_POLICY_NAME L".GroupPolicy" +#define CERT_PHYSICAL_STORE_LOCAL_MACHINE_NAME L".LocalMachine" +#define CERT_PHYSICAL_STORE_DS_USER_CERTIFICATE_NAME L".UserCertificate" +#define CERT_PHYSICAL_STORE_LOCAL_MACHINE_GROUP_POLICY_NAME L".LocalMachineGroupPolicy" +#define CERT_PHYSICAL_STORE_ENTERPRISE_NAME L".Enterprise" +#define CERT_PHYSICAL_STORE_AUTH_ROOT_NAME L".AuthRoot" +#define CERT_PHYSICAL_STORE_SMART_CARD_NAME L".SmartCard" + + WINIMPM WINBOOL WINAPI CertEnumSystemStoreLocation (DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum); + WINIMPM WINBOOL WINAPI CertEnumSystemStore (DWORD dwFlags, void *pvSystemStoreLocationPara, void *pvArg, PFN_CERT_ENUM_SYSTEM_STORE pfnEnum); + WINIMPM WINBOOL WINAPI CertEnumPhysicalStore (const void *pvSystemStore, DWORD dwFlags, void *pvArg, PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum); + +#define CRYPT_OID_OPEN_SYSTEM_STORE_PROV_FUNC "CertDllOpenSystemStoreProv" +#define CRYPT_OID_REGISTER_SYSTEM_STORE_FUNC "CertDllRegisterSystemStore" +#define CRYPT_OID_UNREGISTER_SYSTEM_STORE_FUNC "CertDllUnregisterSystemStore" +#define CRYPT_OID_ENUM_SYSTEM_STORE_FUNC "CertDllEnumSystemStore" +#define CRYPT_OID_REGISTER_PHYSICAL_STORE_FUNC "CertDllRegisterPhysicalStore" +#define CRYPT_OID_UNREGISTER_PHYSICAL_STORE_FUNC "CertDllUnregisterPhysicalStore" +#define CRYPT_OID_ENUM_PHYSICAL_STORE_FUNC "CertDllEnumPhysicalStore" +#define CRYPT_OID_SYSTEM_STORE_LOCATION_VALUE_NAME L"SystemStoreLocation" + +#define CMSG_TRUSTED_SIGNER_FLAG 0x1 +#define CMSG_SIGNER_ONLY_FLAG 0x2 +#define CMSG_USE_SIGNER_INDEX_FLAG 0x4 +#define CMSG_CMS_ENCAPSULATED_CTL_FLAG 0x8000 + +#define CMSG_ENCODE_SORTED_CTL_FLAG 0x1 +#define CMSG_ENCODE_HASHED_SUBJECT_IDENTIFIER_FLAG 0x2 + + WINIMPM WINBOOL WINAPI CertGetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, DWORD dwFlags, PCERT_ENHKEY_USAGE pUsage, DWORD *pcbUsage); + WINIMPM WINBOOL WINAPI CertSetEnhancedKeyUsage (PCCERT_CONTEXT pCertContext, PCERT_ENHKEY_USAGE pUsage); + WINIMPM WINBOOL WINAPI CertAddEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier); + WINIMPM WINBOOL WINAPI CertRemoveEnhancedKeyUsageIdentifier (PCCERT_CONTEXT pCertContext, LPCSTR pszUsageIdentifier); + WINIMPM WINBOOL WINAPI CertGetValidUsages (DWORD cCerts, PCCERT_CONTEXT *rghCerts, int *cNumOIDs, LPSTR *rghOIDs, DWORD *pcbOIDs); + WINIMPM WINBOOL WINAPI CryptMsgGetAndVerifySigner (HCRYPTMSG hCryptMsg, DWORD cSignerStore, HCERTSTORE *rghSignerStore, DWORD dwFlags, PCCERT_CONTEXT *ppSigner, DWORD *pdwSignerIndex); + WINIMPM WINBOOL WINAPI CryptMsgSignCTL (DWORD dwMsgEncodingType, BYTE *pbCtlContent, DWORD cbCtlContent, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded); + WINIMPM WINBOOL WINAPI CryptMsgEncodeAndSignCTL (DWORD dwMsgEncodingType, PCTL_INFO pCtlInfo, PCMSG_SIGNED_ENCODE_INFO pSignInfo, DWORD dwFlags, BYTE *pbEncoded, DWORD *pcbEncoded); + WINIMPM WINBOOL WINAPI CertFindSubjectInSortedCTL (PCRYPT_DATA_BLOB pSubjectIdentifier, PCCTL_CONTEXT pCtlContext, DWORD dwFlags, void *pvReserved, PCRYPT_DER_BLOB pEncodedAttributes); + WINIMPM WINBOOL WINAPI CertEnumSubjectInSortedCTL (PCCTL_CONTEXT pCtlContext, void **ppvNextSubject, PCRYPT_DER_BLOB pSubjectIdentifier, PCRYPT_DER_BLOB pEncodedAttributes); + + typedef struct _CTL_VERIFY_USAGE_PARA { + DWORD cbSize; + CRYPT_DATA_BLOB ListIdentifier; + DWORD cCtlStore; + HCERTSTORE *rghCtlStore; + DWORD cSignerStore; + HCERTSTORE *rghSignerStore; + } CTL_VERIFY_USAGE_PARA,*PCTL_VERIFY_USAGE_PARA; + + typedef struct _CTL_VERIFY_USAGE_STATUS { + DWORD cbSize; + DWORD dwError; + DWORD dwFlags; + PCCTL_CONTEXT *ppCtl; + DWORD dwCtlEntryIndex; + PCCERT_CONTEXT *ppSigner; + DWORD dwSignerIndex; + } CTL_VERIFY_USAGE_STATUS,*PCTL_VERIFY_USAGE_STATUS; + +#define CERT_VERIFY_INHIBIT_CTL_UPDATE_FLAG 0x1 +#define CERT_VERIFY_TRUSTED_SIGNERS_FLAG 0x2 +#define CERT_VERIFY_NO_TIME_CHECK_FLAG 0x4 +#define CERT_VERIFY_ALLOW_MORE_USAGE_FLAG 0x8 + +#define CERT_VERIFY_UPDATED_CTL_FLAG 0x1 + + WINIMPM WINBOOL WINAPI CertVerifyCTLUsage (DWORD dwEncodingType, DWORD dwSubjectType, void *pvSubject, PCTL_USAGE pSubjectUsage, DWORD dwFlags, PCTL_VERIFY_USAGE_PARA pVerifyUsagePara, PCTL_VERIFY_USAGE_STATUS pVerifyUsageStatus); + + typedef struct _CERT_REVOCATION_CRL_INFO { + DWORD cbSize; + PCCRL_CONTEXT pBaseCrlContext; + PCCRL_CONTEXT pDeltaCrlContext; + PCRL_ENTRY pCrlEntry; + WINBOOL fDeltaCrlEntry; + } CERT_REVOCATION_CRL_INFO,*PCERT_REVOCATION_CRL_INFO; + + typedef struct _CERT_REVOCATION_CHAIN_PARA CERT_REVOCATION_CHAIN_PARA,*PCERT_REVOCATION_CHAIN_PARA; + + typedef struct _CERT_REVOCATION_PARA { + DWORD cbSize; + PCCERT_CONTEXT pIssuerCert; + DWORD cCertStore; + HCERTSTORE *rgCertStore; + HCERTSTORE hCrlStore; + LPFILETIME pftTimeToUse; +#ifdef CERT_REVOCATION_PARA_HAS_EXTRA_FIELDS + DWORD dwUrlRetrievalTimeout; + WINBOOL fCheckFreshnessTime; + DWORD dwFreshnessTime; + LPFILETIME pftCurrentTime; + PCERT_REVOCATION_CRL_INFO pCrlInfo; + LPFILETIME pftCacheResync; + PCERT_REVOCATION_CHAIN_PARA pChainPara; +#endif + } CERT_REVOCATION_PARA,*PCERT_REVOCATION_PARA; + + typedef struct _CERT_REVOCATION_STATUS { + DWORD cbSize; + DWORD dwIndex; + DWORD dwError; + DWORD dwReason; + WINBOOL fHasFreshnessTime; + DWORD dwFreshnessTime; + } CERT_REVOCATION_STATUS,*PCERT_REVOCATION_STATUS; + +#define CERT_CONTEXT_REVOCATION_TYPE 1 + +#define CERT_VERIFY_REV_CHAIN_FLAG 0x1 +#define CERT_VERIFY_CACHE_ONLY_BASED_REVOCATION 0x2 +#define CERT_VERIFY_REV_ACCUMULATIVE_TIMEOUT_FLAG 0x4 +#define CERT_VERIFY_REV_SERVER_OCSP_FLAG 0x8 +#define CERT_VERIFY_REV_NO_OCSP_FAILOVER_TO_CRL_FLAG 0x10 + +#define CERT_UNICODE_IS_RDN_ATTRS_FLAG 0x1 +#define CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 0x2 + +#define CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB 1 +#define CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT 2 +#define CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL 3 +#define CRYPT_VERIFY_CERT_SIGN_SUBJECT_OCSP_BASIC_SIGNED_RESPONSE 4 + +#define CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY 1 +#define CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT 2 +#define CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN 3 +#define CRYPT_VERIFY_CERT_SIGN_ISSUER_NULL 4 + +#define CRYPT_VERIFY_CERT_SIGN_DISABLE_MD2_MD4_FLAG 0x1 +#define CRYPT_VERIFY_CERT_SIGN_SET_STRONG_PROPERTIES_FLAG 0x2 +#define CRYPT_VERIFY_CERT_SIGN_RETURN_STRONG_PROPERTIES_FLAG 0x4 + +#define CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC "CryptDllExtractEncodedSignatureParameters" +#define CRYPT_OID_SIGN_AND_ENCODE_HASH_FUNC "CryptDllSignAndEncodeHash" +#define CRYPT_OID_VERIFY_ENCODED_SIGNATURE_FUNC "CryptDllVerifyEncodedSignature" + +#define CRYPT_DEFAULT_CONTEXT_AUTO_RELEASE_FLAG 0x1 +#define CRYPT_DEFAULT_CONTEXT_PROCESS_FLAG 0x2 + +#define CRYPT_DEFAULT_CONTEXT_CERT_SIGN_OID 1 +#define CRYPT_DEFAULT_CONTEXT_MULTI_CERT_SIGN_OID 2 + + typedef struct _CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO { + CRYPT_DATA_BLOB CertSignHashCNGAlgPropData; + CRYPT_DATA_BLOB CertIssuerPubKeyBitLengthPropData; + } CRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO, *PCRYPT_VERIFY_CERT_SIGN_STRONG_PROPERTIES_INFO; + + typedef WINBOOL (WINAPI *PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC) (DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void **ppvDecodedSignPara, LPWSTR *ppwszCNGHashAlgid); + typedef WINBOOL (WINAPI *PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC) (NCRYPT_KEY_HANDLE hKey, DWORD dwCertEncodingType, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD *pcbSignature); + typedef WINBOOL (WINAPI *PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC) (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPubKeyInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, void *pvDecodedSignPara, LPCWSTR pwszCNGPubKeyAlgid, LPCWSTR pwszCNGHashAlgid, BYTE *pbComputedHash, DWORD cbComputedHash, BYTE *pbSignature, DWORD cbSignature); + + typedef void *HCRYPTDEFAULTCONTEXT; + + typedef struct _CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA { + DWORD cOID; + LPSTR *rgpszOID; + } CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA,*PCRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA; + + WINIMPM WINBOOL WINAPI CertVerifyRevocation (DWORD dwEncodingType, DWORD dwRevType, DWORD cContext, PVOID rgpvContext[], DWORD dwFlags, PCERT_REVOCATION_PARA pRevPara, PCERT_REVOCATION_STATUS pRevStatus); + WINBOOL WINAPI CertCompareIntegerBlob (PCRYPT_INTEGER_BLOB pInt1, PCRYPT_INTEGER_BLOB pInt2); + WINIMPM WINBOOL WINAPI CertCompareCertificate (DWORD dwCertEncodingType, PCERT_INFO pCertId1, PCERT_INFO pCertId2); + WINIMPM WINBOOL WINAPI CertCompareCertificateName (DWORD dwCertEncodingType, PCERT_NAME_BLOB pCertName1, PCERT_NAME_BLOB pCertName2); + WINIMPM WINBOOL WINAPI CertIsRDNAttrsInCertificateName (DWORD dwCertEncodingType, DWORD dwFlags, PCERT_NAME_BLOB pCertName, PCERT_RDN pRDN); + WINIMPM WINBOOL WINAPI CertComparePublicKeyInfo (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey1, PCERT_PUBLIC_KEY_INFO pPublicKey2); + WINIMPM DWORD WINAPI CertGetPublicKeyLength (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pPublicKey); + WINIMPM WINBOOL WINAPI CryptVerifyCertificateSignature (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, PCERT_PUBLIC_KEY_INFO pPublicKey); + WINIMPM WINBOOL WINAPI CryptVerifyCertificateSignatureEx (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, DWORD dwSubjectType, void *pvSubject, DWORD dwIssuerType, void *pvIssuer, DWORD dwFlags, void *pvExtra); + WINIMPM WINBOOL WINAPI CertIsStrongHashToSign (PCCERT_STRONG_SIGN_PARA pStrongSignPara, LPCWSTR pwszCNGHashAlgid, PCCERT_CONTEXT pSigningCert); + WINIMPM WINBOOL WINAPI CryptHashToBeSigned (HCRYPTPROV_LEGACY hCryptProv, DWORD dwCertEncodingType, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash); + WINIMPM WINBOOL WINAPI CryptHashCertificate (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash); +#if NTDDI_VERSION >= NTDDI_VISTA + WINIMPM WINBOOL WINAPI CryptHashCertificate2 (LPCWSTR pwszCNGHashAlgid, DWORD dwFlags, void *pvReserved, const BYTE *pbEncoded, DWORD cbEncoded, BYTE *pbComputedHash, DWORD *pcbComputedHash); +#endif + WINIMPM WINBOOL WINAPI CryptSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, const BYTE *pbEncodedToBeSigned, DWORD cbEncodedToBeSigned, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbSignature, DWORD *pcbSignature); + WINIMPM WINBOOL WINAPI CryptSignAndEncodeCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPCSTR lpszStructType, const void *pvStructInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, const void *pvHashAuxInfo, BYTE *pbEncoded, DWORD *pcbEncoded); + WINIMPM LONG WINAPI CertVerifyTimeValidity (LPFILETIME pTimeToVerify, PCERT_INFO pCertInfo); + WINIMPM LONG WINAPI CertVerifyCRLTimeValidity (LPFILETIME pTimeToVerify, PCRL_INFO pCrlInfo); + WINIMPM WINBOOL WINAPI CertVerifyValidityNesting (PCERT_INFO pSubjectInfo, PCERT_INFO pIssuerInfo); + WINIMPM WINBOOL WINAPI CertVerifyCRLRevocation (DWORD dwCertEncodingType, PCERT_INFO pCertId, DWORD cCrlInfo, PCRL_INFO rgpCrlInfo[]); + WINIMPM LPCSTR WINAPI CertAlgIdToOID (DWORD dwAlgId); + WINIMPM DWORD WINAPI CertOIDToAlgId (LPCSTR pszObjId); + WINIMPM PCERT_EXTENSION WINAPI CertFindExtension (LPCSTR pszObjId, DWORD cExtensions, CERT_EXTENSION rgExtensions[]); + WINIMPM PCRYPT_ATTRIBUTE WINAPI CertFindAttribute (LPCSTR pszObjId, DWORD cAttr, CRYPT_ATTRIBUTE rgAttr[]); + WINIMPM PCERT_RDN_ATTR WINAPI CertFindRDNAttr (LPCSTR pszObjId, PCERT_NAME_INFO pName); + WINIMPM WINBOOL WINAPI CertGetIntendedKeyUsage (DWORD dwCertEncodingType, PCERT_INFO pCertInfo, BYTE *pbKeyUsage, DWORD cbKeyUsage); + WINIMPM WINBOOL WINAPI CryptInstallDefaultContext (HCRYPTPROV hCryptProv, DWORD dwDefaultType, const void *pvDefaultPara, DWORD dwFlags, void *pvReserved, HCRYPTDEFAULTCONTEXT *phDefaultContext); + WINIMPM WINBOOL WINAPI CryptUninstallDefaultContext (HCRYPTDEFAULTCONTEXT hDefaultContext, DWORD dwFlags, void *pvReserved); + WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfo (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo); + WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfoEx (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, DWORD dwKeySpec, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo); + +#define CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FUNC "CryptDllExportPublicKeyInfoEx" +#define CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC "CryptDllExportPublicKeyInfoEx2" + + typedef WINBOOL (WINAPI *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC) (NCRYPT_KEY_HANDLE hNCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo); + +#if NTDDI_VERSION >= NTDDI_WIN7 +#define CRYPT_OID_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC "CryptDllExportPublicKeyInfoFromBCryptKeyHandle" + + typedef WINBOOL (WINAPI *PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_FROM_BCRYPT_HANDLE_FUNC) (BCRYPT_KEY_HANDLE hBCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo); + + WINIMPM WINBOOL WINAPI CryptExportPublicKeyInfoFromBCryptKeyHandle (BCRYPT_KEY_HANDLE hBCryptKey, DWORD dwCertEncodingType, LPSTR pszPublicKeyObjId, DWORD dwFlags, void *pvAuxInfo, PCERT_PUBLIC_KEY_INFO pInfo, DWORD *pcbInfo); +#endif + +#define CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_FUNC "CryptDllImportPublicKeyInfoEx" +#define CRYPT_OID_IMPORT_PRIVATE_KEY_INFO_FUNC "CryptDllImportPrivateKeyInfoEx" +#define CRYPT_OID_EXPORT_PRIVATE_KEY_INFO_FUNC "CryptDllExportPrivateKeyInfoEx" + +#define CRYPT_ACQUIRE_CACHE_FLAG 0x1 +#define CRYPT_ACQUIRE_USE_PROV_INFO_FLAG 0x2 +#define CRYPT_ACQUIRE_COMPARE_KEY_FLAG 0x4 +#define CRYPT_ACQUIRE_NO_HEALING 0x8 +#define CRYPT_ACQUIRE_SILENT_FLAG 0x40 +#define CRYPT_ACQUIRE_WINDOW_HANDLE_FLAG 0x80 + +#define CRYPT_ACQUIRE_NCRYPT_KEY_FLAGS_MASK 0x70000 +#define CRYPT_ACQUIRE_ALLOW_NCRYPT_KEY_FLAG 0x10000 +#define CRYPT_ACQUIRE_PREFER_NCRYPT_KEY_FLAG 0x20000 +#define CRYPT_ACQUIRE_ONLY_NCRYPT_KEY_FLAG 0x40000 + +#define CRYPT_FIND_USER_KEYSET_FLAG 0x1 +#define CRYPT_FIND_MACHINE_KEYSET_FLAG 0x2 +#define CRYPT_FIND_SILENT_KEYSET_FLAG 0x40 + +#define CRYPT_DELETE_KEYSET CRYPT_DELETEKEYSET + + typedef WINBOOL (WINAPI *PFN_IMPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD dwFlags, void *pvAuxInfo); + typedef WINBOOL (WINAPI *PFN_EXPORT_PRIV_KEY_FUNC) (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, CRYPT_PRIVATE_KEY_INFO *pPrivateKeyInfo, DWORD *pcbPrivateKeyInfo); + +#define CertRDNValueToStr __MINGW_NAME_AW(CertRDNValueToStr) +#define CertNameToStr __MINGW_NAME_AW(CertNameToStr) + + WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfo (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, HCRYPTKEY *phKey); + WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfoEx (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, ALG_ID aiKeyAlg, DWORD dwFlags, void *pvAuxInfo, HCRYPTKEY *phKey); + +#if NTDDI_VERSION >= NTDDI_VISTA +#define CRYPT_OID_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC "CryptDllImportPublicKeyInfoEx2" + + typedef WINBOOL (WINAPI *PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC) (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo, BCRYPT_KEY_HANDLE *phKey); + + WINIMPM WINBOOL WINAPI CryptImportPublicKeyInfoEx2 (DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo, BCRYPT_KEY_HANDLE *phKey); +#endif + WINIMPM WINBOOL WINAPI CryptAcquireCertificatePrivateKey (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvParameters, HCRYPTPROV_OR_NCRYPT_KEY_HANDLE *phCryptProvOrNCryptKey, DWORD *pdwKeySpec, WINBOOL *pfCallerFreeProvOrNCryptKey); + WINIMPM WINBOOL WINAPI CryptFindCertificateKeyProvInfo (PCCERT_CONTEXT pCert, DWORD dwFlags, void *pvReserved); + WINIMPM WINBOOL WINAPI CryptImportPKCS8 (CRYPT_PKCS8_IMPORT_PARAMS sPrivateKeyAndParams, DWORD dwFlags, HCRYPTPROV *phCryptProv, void *pvAuxInfo); + WINIMPM WINBOOL WINAPI CryptExportPKCS8 (HCRYPTPROV hCryptProv, DWORD dwKeySpec, LPSTR pszPrivateKeyObjId, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob); + WINIMPM WINBOOL WINAPI CryptExportPKCS8Ex (CRYPT_PKCS8_EXPORT_PARAMS *psExportParams, DWORD dwFlags, void *pvAuxInfo, BYTE *pbPrivateKeyBlob, DWORD *pcbPrivateKeyBlob); + WINIMPM WINBOOL WINAPI CryptHashPublicKeyInfo (HCRYPTPROV_LEGACY hCryptProv, ALG_ID Algid, DWORD dwFlags, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, BYTE *pbComputedHash, DWORD *pcbComputedHash); + WINIMPM DWORD WINAPI CertRDNValueToStrA (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPSTR psz, DWORD csz); + WINIMPM DWORD WINAPI CertRDNValueToStrW (DWORD dwValueType, PCERT_RDN_VALUE_BLOB pValue, LPWSTR psz, DWORD csz); + WINIMPM DWORD WINAPI CertNameToStrA (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPSTR psz, DWORD csz); + WINIMPM DWORD WINAPI CertNameToStrW (DWORD dwCertEncodingType, PCERT_NAME_BLOB pName, DWORD dwStrType, LPWSTR psz, DWORD csz); + + +#define CERT_SIMPLE_NAME_STR 1 +#define CERT_OID_NAME_STR 2 +#define CERT_X500_NAME_STR 3 +#define CERT_XML_NAME_STR 4 + +#define CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG 0x10000 +#define CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 0x20000 +#define CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG 0x40000 +#define CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG 0x80000 +#define CERT_NAME_STR_FORWARD_FLAG 0x1000000 +#define CERT_NAME_STR_REVERSE_FLAG 0x2000000 +#define CERT_NAME_STR_COMMA_FLAG 0x4000000 +#define CERT_NAME_STR_CRLF_FLAG 0x8000000 +#define CERT_NAME_STR_NO_QUOTING_FLAG 0x10000000 +#define CERT_NAME_STR_NO_PLUS_FLAG 0x20000000 +#define CERT_NAME_STR_SEMICOLON_FLAG 0x40000000 +#define CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG 0x100000 +#define CERT_NAME_STR_ENABLE_PUNYCODE_FLAG 0x200000 + +#define CertStrToName __MINGW_NAME_AW(CertStrToName) +#define CertGetNameString __MINGW_NAME_AW(CertGetNameString) + + WINIMPM WINBOOL WINAPI CertStrToNameA (DWORD dwCertEncodingType, LPCSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCSTR *ppszError); + WINIMPM WINBOOL WINAPI CertStrToNameW (DWORD dwCertEncodingType, LPCWSTR pszX500, DWORD dwStrType, void *pvReserved, BYTE *pbEncoded, DWORD *pcbEncoded, LPCWSTR *ppszError); + WINIMPM DWORD WINAPI CertGetNameStringA (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPSTR pszNameString, DWORD cchNameString); + WINIMPM DWORD WINAPI CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, LPWSTR pszNameString, DWORD cchNameString); + +#define CERT_NAME_EMAIL_TYPE 1 +#define CERT_NAME_RDN_TYPE 2 +#define CERT_NAME_ATTR_TYPE 3 +#define CERT_NAME_SIMPLE_DISPLAY_TYPE 4 +#define CERT_NAME_FRIENDLY_DISPLAY_TYPE 5 +#define CERT_NAME_DNS_TYPE 6 +#define CERT_NAME_URL_TYPE 7 +#define CERT_NAME_UPN_TYPE 8 + +#define CERT_NAME_ISSUER_FLAG 0x1 +#define CERT_NAME_DISABLE_IE4_UTF8_FLAG 0x10000 + +#define CERT_NAME_SEARCH_ALL_NAMES_FLAG 0x2 + + typedef PCCERT_CONTEXT (WINAPI *PFN_CRYPT_GET_SIGNER_CERTIFICATE) (void *pvGetArg, DWORD dwCertEncodingType, PCERT_INFO pSignerId, HCERTSTORE hMsgCertStore); + + typedef struct _CRYPT_SIGN_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgEncodingType; + PCCERT_CONTEXT pSigningCert; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + void *pvHashAuxInfo; + DWORD cMsgCert; + PCCERT_CONTEXT *rgpMsgCert; + DWORD cMsgCrl; + PCCRL_CONTEXT *rgpMsgCrl; + DWORD cAuthAttr; + PCRYPT_ATTRIBUTE rgAuthAttr; + DWORD cUnauthAttr; + PCRYPT_ATTRIBUTE rgUnauthAttr; + DWORD dwFlags; + DWORD dwInnerContentType; +#ifdef CRYPT_SIGN_MESSAGE_PARA_HAS_CMS_FIELDS + CRYPT_ALGORITHM_IDENTIFIER HashEncryptionAlgorithm; + void *pvHashEncryptionAuxInfo; +#endif + } CRYPT_SIGN_MESSAGE_PARA,*PCRYPT_SIGN_MESSAGE_PARA; + +#define CRYPT_MESSAGE_BARE_CONTENT_OUT_FLAG 0x1 +#define CRYPT_MESSAGE_ENCAPSULATED_CONTENT_OUT_FLAG 0x2 +#define CRYPT_MESSAGE_KEYID_SIGNER_FLAG 0x4 +#define CRYPT_MESSAGE_SILENT_KEYSET_FLAG 0x40 + + typedef struct _CRYPT_VERIFY_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgAndCertEncodingType; + HCRYPTPROV_LEGACY hCryptProv; + PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate; + void *pvGetArg; +#ifdef CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS + PCCERT_STRONG_SIGN_PARA pStrongSignPara; +#endif + } CRYPT_VERIFY_MESSAGE_PARA,*PCRYPT_VERIFY_MESSAGE_PARA; + + typedef struct _CRYPT_ENCRYPT_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgEncodingType; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER ContentEncryptionAlgorithm; + void *pvEncryptionAuxInfo; + DWORD dwFlags; + DWORD dwInnerContentType; + } CRYPT_ENCRYPT_MESSAGE_PARA,*PCRYPT_ENCRYPT_MESSAGE_PARA; + +#define CRYPT_MESSAGE_KEYID_RECIPIENT_FLAG 0x4 + + typedef struct _CRYPT_DECRYPT_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgAndCertEncodingType; + DWORD cCertStore; + HCERTSTORE *rghCertStore; +#ifdef CRYPT_DECRYPT_MESSAGE_PARA_HAS_EXTRA_FIELDS + DWORD dwFlags; +#endif + } CRYPT_DECRYPT_MESSAGE_PARA,*PCRYPT_DECRYPT_MESSAGE_PARA; + + typedef struct _CRYPT_HASH_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgEncodingType; + HCRYPTPROV_LEGACY hCryptProv; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + void *pvHashAuxInfo; + } CRYPT_HASH_MESSAGE_PARA,*PCRYPT_HASH_MESSAGE_PARA; + + typedef struct _CRYPT_KEY_SIGN_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgAndCertEncodingType; + __C89_NAMELESS union { + HCRYPTPROV hCryptProv; + NCRYPT_KEY_HANDLE hNCryptKey; + }; + DWORD dwKeySpec; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + void *pvHashAuxInfo; + CRYPT_ALGORITHM_IDENTIFIER PubKeyAlgorithm; + } CRYPT_KEY_SIGN_MESSAGE_PARA,*PCRYPT_KEY_SIGN_MESSAGE_PARA; + + typedef struct _CRYPT_KEY_VERIFY_MESSAGE_PARA { + DWORD cbSize; + DWORD dwMsgEncodingType; + HCRYPTPROV_LEGACY hCryptProv; + } CRYPT_KEY_VERIFY_MESSAGE_PARA,*PCRYPT_KEY_VERIFY_MESSAGE_PARA; + + typedef struct _CERT_CHAIN { + DWORD cCerts; + PCERT_BLOB certs; + CRYPT_KEY_PROV_INFO keyLocatorInfo; + } CERT_CHAIN,*PCERT_CHAIN; + +#define CertOpenSystemStore __MINGW_NAME_AW(CertOpenSystemStore) +#define CertAddEncodedCertificateToSystemStore __MINGW_NAME_AW(CertAddEncodedCertificateToSystemStore) + + WINIMPM WINBOOL WINAPI CryptSignMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, WINBOOL fDetachedSignature, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], BYTE *pbSignedBlob, DWORD *pcbSignedBlob); + WINIMPM WINBOOL WINAPI CryptVerifyMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppSignerCert); + WINIMPM LONG WINAPI CryptGetMessageSignerCount (DWORD dwMsgEncodingType, const BYTE *pbSignedBlob, DWORD cbSignedBlob); + WINIMPM HCERTSTORE WINAPI CryptGetMessageCertificates (DWORD dwMsgAndCertEncodingType, HCRYPTPROV_LEGACY hCryptProv, DWORD dwFlags, const BYTE *pbSignedBlob, DWORD cbSignedBlob); + WINIMPM WINBOOL WINAPI CryptVerifyDetachedMessageSignature (PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbDetachedSignBlob, DWORD cbDetachedSignBlob, DWORD cToBeSigned, const BYTE *rgpbToBeSigned[], DWORD rgcbToBeSigned[], PCCERT_CONTEXT *ppSignerCert); + WINIMPM WINBOOL WINAPI CryptEncryptMessage (PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeEncrypted, DWORD cbToBeEncrypted, BYTE *pbEncryptedBlob, DWORD *pcbEncryptedBlob); + WINIMPM WINBOOL WINAPI CryptDecryptMessage (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert); + WINIMPM WINBOOL WINAPI CryptSignAndEncryptMessage (PCRYPT_SIGN_MESSAGE_PARA pSignPara, PCRYPT_ENCRYPT_MESSAGE_PARA pEncryptPara, DWORD cRecipientCert, PCCERT_CONTEXT rgpRecipientCert[], const BYTE *pbToBeSignedAndEncrypted, DWORD cbToBeSignedAndEncrypted, BYTE *pbSignedAndEncryptedBlob, DWORD *pcbSignedAndEncryptedBlob); + WINIMPM WINBOOL WINAPI CryptDecryptAndVerifyMessageSignature (PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncryptedBlob, DWORD cbEncryptedBlob, BYTE *pbDecrypted, DWORD *pcbDecrypted, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert); + WINIMPM WINBOOL WINAPI CryptDecodeMessage (DWORD dwMsgTypeFlags, PCRYPT_DECRYPT_MESSAGE_PARA pDecryptPara, PCRYPT_VERIFY_MESSAGE_PARA pVerifyPara, DWORD dwSignerIndex, const BYTE *pbEncodedBlob, DWORD cbEncodedBlob, DWORD dwPrevInnerContentType, DWORD *pdwMsgType, DWORD *pdwInnerContentType, BYTE *pbDecoded, DWORD *pcbDecoded, PCCERT_CONTEXT *ppXchgCert, PCCERT_CONTEXT *ppSignerCert); + WINIMPM WINBOOL WINAPI CryptHashMessage (PCRYPT_HASH_MESSAGE_PARA pHashPara, WINBOOL fDetachedHash, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbHashedBlob, DWORD *pcbHashedBlob, BYTE *pbComputedHash, DWORD *pcbComputedHash); + WINIMPM WINBOOL WINAPI CryptVerifyMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbHashedBlob, DWORD cbHashedBlob, BYTE *pbToBeHashed, DWORD *pcbToBeHashed, BYTE *pbComputedHash, DWORD *pcbComputedHash); + WINIMPM WINBOOL WINAPI CryptVerifyDetachedMessageHash (PCRYPT_HASH_MESSAGE_PARA pHashPara, BYTE *pbDetachedHashBlob, DWORD cbDetachedHashBlob, DWORD cToBeHashed, const BYTE *rgpbToBeHashed[], DWORD rgcbToBeHashed[], BYTE *pbComputedHash, DWORD *pcbComputedHash); + WINIMPM WINBOOL WINAPI CryptSignMessageWithKey (PCRYPT_KEY_SIGN_MESSAGE_PARA pSignPara, const BYTE *pbToBeSigned, DWORD cbToBeSigned, BYTE *pbSignedBlob, DWORD *pcbSignedBlob); + WINIMPM WINBOOL WINAPI CryptVerifyMessageSignatureWithKey (PCRYPT_KEY_VERIFY_MESSAGE_PARA pVerifyPara, PCERT_PUBLIC_KEY_INFO pPublicKeyInfo, const BYTE *pbSignedBlob, DWORD cbSignedBlob, BYTE *pbDecoded, DWORD *pcbDecoded); + WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreA (HCRYPTPROV_LEGACY hProv, LPCSTR szSubsystemProtocol); + WINIMPM HCERTSTORE WINAPI CertOpenSystemStoreW (HCRYPTPROV_LEGACY hProv, LPCWSTR szSubsystemProtocol); + WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToSystemStoreA (LPCSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded); + WINIMPM WINBOOL WINAPI CertAddEncodedCertificateToSystemStoreW (LPCWSTR szCertStoreName, const BYTE *pbCertEncoded, DWORD cbCertEncoded); + HRESULT WINAPI FindCertsByIssuer (PCERT_CHAIN pCertChains, DWORD *pcbCertChains, DWORD *pcCertChains, BYTE *pbEncodedIssuerName, DWORD cbEncodedIssuerName, LPCWSTR pwszPurpose, DWORD dwKeySpec); + WINIMPM WINBOOL WINAPI CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags, DWORD *pdwMsgAndCertEncodingType, DWORD *pdwContentType, DWORD *pdwFormatType, HCERTSTORE *phCertStore, HCRYPTMSG *phMsg, const void **ppvContext); + +#define CERT_QUERY_OBJECT_FILE 0x1 +#define CERT_QUERY_OBJECT_BLOB 0x2 + +#define CERT_QUERY_CONTENT_CERT 1 +#define CERT_QUERY_CONTENT_CTL 2 +#define CERT_QUERY_CONTENT_CRL 3 +#define CERT_QUERY_CONTENT_SERIALIZED_STORE 4 +#define CERT_QUERY_CONTENT_SERIALIZED_CERT 5 +#define CERT_QUERY_CONTENT_SERIALIZED_CTL 6 +#define CERT_QUERY_CONTENT_SERIALIZED_CRL 7 +#define CERT_QUERY_CONTENT_PKCS7_SIGNED 8 +#define CERT_QUERY_CONTENT_PKCS7_UNSIGNED 9 +#define CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED 10 +#define CERT_QUERY_CONTENT_PKCS10 11 +#define CERT_QUERY_CONTENT_PFX 12 +#define CERT_QUERY_CONTENT_CERT_PAIR 13 +#define CERT_QUERY_CONTENT_PFX_AND_LOAD 14 + +#define CERT_QUERY_CONTENT_FLAG_CERT (1 << CERT_QUERY_CONTENT_CERT) +#define CERT_QUERY_CONTENT_FLAG_CTL (1 << CERT_QUERY_CONTENT_CTL) +#define CERT_QUERY_CONTENT_FLAG_CRL (1 << CERT_QUERY_CONTENT_CRL) +#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE (1 << CERT_QUERY_CONTENT_SERIALIZED_STORE) +#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT (1 << CERT_QUERY_CONTENT_SERIALIZED_CERT) +#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL (1 << CERT_QUERY_CONTENT_SERIALIZED_CTL) +#define CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL (1 << CERT_QUERY_CONTENT_SERIALIZED_CRL) +#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED) +#define CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED (1 << CERT_QUERY_CONTENT_PKCS7_UNSIGNED) +#define CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED (1 << CERT_QUERY_CONTENT_PKCS7_SIGNED_EMBED) +#define CERT_QUERY_CONTENT_FLAG_PKCS10 (1 << CERT_QUERY_CONTENT_PKCS10) +#define CERT_QUERY_CONTENT_FLAG_PFX (1 << CERT_QUERY_CONTENT_PFX) +#define CERT_QUERY_CONTENT_FLAG_CERT_PAIR (1 << CERT_QUERY_CONTENT_CERT_PAIR) +#define CERT_QUERY_CONTENT_FLAG_PFX_AND_LOAD (1 << CERT_QUERY_CONTENT_PFX_AND_LOAD) + +#define CERT_QUERY_CONTENT_FLAG_ALL (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_CTL | CERT_QUERY_CONTENT_FLAG_CRL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CTL | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CRL | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED | CERT_QUERY_CONTENT_FLAG_PKCS10 | CERT_QUERY_CONTENT_FLAG_PFX | CERT_QUERY_CONTENT_FLAG_CERT_PAIR) +#define CERT_QUERY_CONTENT_FLAG_ALL_ISSUER_CERT (CERT_QUERY_CONTENT_FLAG_CERT | CERT_QUERY_CONTENT_FLAG_SERIALIZED_STORE | CERT_QUERY_CONTENT_FLAG_SERIALIZED_CERT | CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED | CERT_QUERY_CONTENT_FLAG_PKCS7_UNSIGNED) + +#define CERT_QUERY_FORMAT_BINARY 1 +#define CERT_QUERY_FORMAT_BASE64_ENCODED 2 +#define CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED 3 + +#define CERT_QUERY_FORMAT_FLAG_BINARY (1 << CERT_QUERY_FORMAT_BINARY) +#define CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED (1 << CERT_QUERY_FORMAT_BASE64_ENCODED) +#define CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED (1 << CERT_QUERY_FORMAT_ASN_ASCII_HEX_ENCODED) + +#define CERT_QUERY_FORMAT_FLAG_ALL (CERT_QUERY_FORMAT_FLAG_BINARY | CERT_QUERY_FORMAT_FLAG_BASE64_ENCODED | CERT_QUERY_FORMAT_FLAG_ASN_ASCII_HEX_ENCODED) + + typedef HANDLE HCRYPTASYNC,*PHCRYPTASYNC; + typedef VOID (WINAPI *PFN_CRYPT_ASYNC_PARAM_FREE_FUNC) (LPSTR pszParamOid, LPVOID pvParam); + + WINIMPM LPVOID WINAPI CryptMemAlloc (ULONG cbSize); + WINIMPM LPVOID WINAPI CryptMemRealloc (LPVOID pv, ULONG cbSize); + WINIMPM VOID WINAPI CryptMemFree (LPVOID pv); + WINIMPM WINBOOL WINAPI CryptCreateAsyncHandle (DWORD dwFlags, PHCRYPTASYNC phAsync); + WINIMPM WINBOOL WINAPI CryptSetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID pvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC pfnFree); + WINIMPM WINBOOL WINAPI CryptGetAsyncParam (HCRYPTASYNC hAsync, LPSTR pszParamOid, LPVOID *ppvParam, PFN_CRYPT_ASYNC_PARAM_FREE_FUNC *ppfnFree); + WINIMPM WINBOOL WINAPI CryptCloseAsyncHandle (HCRYPTASYNC hAsync); + + typedef struct _CRYPT_BLOB_ARRAY { + DWORD cBlob; + PCRYPT_DATA_BLOB rgBlob; + } CRYPT_BLOB_ARRAY,*PCRYPT_BLOB_ARRAY; + + typedef struct _CRYPT_CREDENTIALS { + DWORD cbSize; + LPCSTR pszCredentialsOid; + LPVOID pvCredentials; + } CRYPT_CREDENTIALS,*PCRYPT_CREDENTIALS; + +#define CREDENTIAL_OID_PASSWORD_CREDENTIALS_A ((LPCSTR)1) +#define CREDENTIAL_OID_PASSWORD_CREDENTIALS_W ((LPCSTR)2) + +#define CREDENTIAL_OID_PASSWORD_CREDENTIALS __MINGW_NAME_UAW(CREDENTIAL_OID_PASSWORD_CREDENTIALS) + + typedef struct _CRYPT_PASSWORD_CREDENTIALSA { + DWORD cbSize; + LPSTR pszUsername; + LPSTR pszPassword; + } CRYPT_PASSWORD_CREDENTIALSA,*PCRYPT_PASSWORD_CREDENTIALSA; + + typedef struct _CRYPT_PASSWORD_CREDENTIALSW { + DWORD cbSize; + LPWSTR pszUsername; + LPWSTR pszPassword; + } CRYPT_PASSWORD_CREDENTIALSW,*PCRYPT_PASSWORD_CREDENTIALSW; + + typedef __MINGW_NAME_AW(CRYPT_PASSWORD_CREDENTIALS) CRYPT_PASSWORD_CREDENTIALS; + typedef __MINGW_NAME_AW(PCRYPT_PASSWORD_CREDENTIALS) PCRYPT_PASSWORD_CREDENTIALS; + +#define SCHEME_OID_RETRIEVE_ENCODED_OBJECT_FUNC "SchemeDllRetrieveEncodedObject" +#define SCHEME_OID_RETRIEVE_ENCODED_OBJECTW_FUNC "SchemeDllRetrieveEncodedObjectW" +#define CONTEXT_OID_CREATE_OBJECT_CONTEXT_FUNC "ContextDllCreateObjectContext" + + typedef VOID (WINAPI *PFN_FREE_ENCODED_OBJECT_FUNC) (LPCSTR pszObjectOid, PCRYPT_BLOB_ARRAY pObject, LPVOID pvFreeContext); + +#define CONTEXT_OID_CERTIFICATE ((LPCSTR)1) +#define CONTEXT_OID_CRL ((LPCSTR)2) +#define CONTEXT_OID_CTL ((LPCSTR)3) +#define CONTEXT_OID_PKCS7 ((LPCSTR)4) +#define CONTEXT_OID_CAPI2_ANY ((LPCSTR)5) +#define CONTEXT_OID_OCSP_RESP ((LPCSTR)6) + +#define CRYPT_RETRIEVE_MULTIPLE_OBJECTS 0x1 +#define CRYPT_CACHE_ONLY_RETRIEVAL 0x2 +#define CRYPT_WIRE_ONLY_RETRIEVAL 0x4 +#define CRYPT_DONT_CACHE_RESULT 0x8 +#define CRYPT_ASYNC_RETRIEVAL 0x10 +#define CRYPT_VERIFY_CONTEXT_SIGNATURE 0x20 +#define CRYPT_VERIFY_DATA_HASH 0x40 +#define CRYPT_KEEP_TIME_VALID 0x80 +#define CRYPT_DONT_VERIFY_SIGNATURE 0x100 +#define CRYPT_DONT_CHECK_TIME_VALIDITY 0x200 +#define CRYPT_CHECK_FRESHNESS_TIME_VALIDITY 0x400 +#define CRYPT_ACCUMULATIVE_TIMEOUT 0x800 +#define CRYPT_STICKY_CACHE_RETRIEVAL 0x1000 +#define CRYPT_LDAP_SCOPE_BASE_ONLY_RETRIEVAL 0x2000 +#define CRYPT_OFFLINE_CHECK_RETRIEVAL 0x4000 +#define CRYPT_LDAP_INSERT_ENTRY_ATTRIBUTE 0x8000 +#define CRYPT_LDAP_SIGN_RETRIEVAL 0x10000 +#define CRYPT_NO_AUTH_RETRIEVAL 0x20000 +#define CRYPT_LDAP_AREC_EXCLUSIVE_RETRIEVAL 0x40000 +#define CRYPT_AIA_RETRIEVAL 0x80000 +#define CRYPT_HTTP_POST_RETRIEVAL 0x100000 +#define CRYPT_PROXY_CACHE_RETRIEVAL 0x200000 +#define CRYPT_NOT_MODIFIED_RETRIEVAL 0x400000 +#define CRYPT_ENABLE_SSL_REVOCATION_RETRIEVAL 0x800000 +#define CRYPT_OCSP_ONLY_RETRIEVAL 0x1000000 +#define CRYPT_NO_OCSP_FAILOVER_TO_CRL_RETRIEVAL 0x2000000 +#define CRYPT_RANDOM_QUERY_STRING_RETRIEVAL 0x4000000 +#define CRYPT_ENABLE_FILE_RETRIEVAL 0x08000000 +#define CRYPT_CREATE_NEW_FLUSH_ENTRY 0x10000000 + + typedef struct _CRYPTNET_URL_CACHE_PRE_FETCH_INFO { + DWORD cbSize; + DWORD dwObjectType; + DWORD dwError; + DWORD dwReserved; + FILETIME ThisUpdateTime; + FILETIME NextUpdateTime; + FILETIME PublishTime; + } CRYPTNET_URL_CACHE_PRE_FETCH_INFO,*PCRYPTNET_URL_CACHE_PRE_FETCH_INFO; + +#define CRYPTNET_URL_CACHE_PRE_FETCH_NONE 0 +#define CRYPTNET_URL_CACHE_PRE_FETCH_BLOB 1 +#define CRYPTNET_URL_CACHE_PRE_FETCH_CRL 2 +#define CRYPTNET_URL_CACHE_PRE_FETCH_OCSP 3 +#define CRYPTNET_URL_CACHE_PRE_FETCH_AUTOROOT_CAB 5 +#define CRYPTNET_URL_CACHE_PRE_FETCH_DISALLOWED_CERT_CAB 6 +#define CRYPTNET_URL_CACHE_PRE_FETCH_PIN_RULES_CAB 7 + + typedef struct _CRYPTNET_URL_CACHE_FLUSH_INFO { + DWORD cbSize; + DWORD dwExemptSeconds; + FILETIME ExpireTime; + } CRYPTNET_URL_CACHE_FLUSH_INFO,*PCRYPTNET_URL_CACHE_FLUSH_INFO; + +#define CRYPTNET_URL_CACHE_DEFAULT_FLUSH 0 +#define CRYPTNET_URL_CACHE_DISABLE_FLUSH 0xffffffff + + typedef struct _CRYPTNET_URL_CACHE_RESPONSE_INFO { + DWORD cbSize; + WORD wResponseType; + WORD wResponseFlags; + FILETIME LastModifiedTime; + DWORD dwMaxAge; + LPCWSTR pwszETag; + DWORD dwProxyId; + } CRYPTNET_URL_CACHE_RESPONSE_INFO,*PCRYPTNET_URL_CACHE_RESPONSE_INFO; + +#define CRYPTNET_URL_CACHE_RESPONSE_NONE 0 +#define CRYPTNET_URL_CACHE_RESPONSE_HTTP 1 + +#define CRYPTNET_URL_CACHE_RESPONSE_VALIDATED 0x8000 + + typedef struct _CRYPT_RETRIEVE_AUX_INFO { + DWORD cbSize; + FILETIME *pLastSyncTime; + DWORD dwMaxUrlRetrievalByteCount; + PCRYPTNET_URL_CACHE_PRE_FETCH_INFO pPreFetchInfo; + PCRYPTNET_URL_CACHE_FLUSH_INFO pFlushInfo; + PCRYPTNET_URL_CACHE_RESPONSE_INFO *ppResponseInfo; + LPWSTR pwszCacheFileNamePrefix; + LPFILETIME pftCacheResync; + WINBOOL fProxyCacheRetrieval; + DWORD dwHttpStatusCode; + } CRYPT_RETRIEVE_AUX_INFO,*PCRYPT_RETRIEVE_AUX_INFO; + +#define CRYPT_RETRIEVE_MAX_ERROR_CONTENT_LENGTH 0x1000 + + WINIMPM WINBOOL WINAPI CryptRetrieveObjectByUrlA (LPCSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo); + WINIMPM WINBOOL WINAPI CryptRetrieveObjectByUrlW (LPCWSTR pszUrl, LPCSTR pszObjectOid, DWORD dwRetrievalFlags, DWORD dwTimeout, LPVOID *ppvObject, HCRYPTASYNC hAsyncRetrieve, PCRYPT_CREDENTIALS pCredentials, LPVOID pvVerify, PCRYPT_RETRIEVE_AUX_INFO pAuxInfo); + +#define CryptRetrieveObjectByUrl __MINGW_NAME_AW(CryptRetrieveObjectByUrl) + + typedef WINBOOL (WINAPI *PFN_CRYPT_CANCEL_RETRIEVAL) (DWORD dwFlags, void *pvArg); + + WINIMPM WINBOOL WINAPI CryptInstallCancelRetrieval (PFN_CRYPT_CANCEL_RETRIEVAL pfnCancel, const void *pvArg, DWORD dwFlags, void *pvReserved); + WINIMPM WINBOOL WINAPI CryptUninstallCancelRetrieval (DWORD dwFlags, void *pvReserved); + WINIMPM WINBOOL WINAPI CryptCancelAsyncRetrieval (HCRYPTASYNC hAsyncRetrieval); + +#define CRYPT_PARAM_ASYNC_RETRIEVAL_COMPLETION ((LPCSTR)1) + + typedef VOID (WINAPI *PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC) (LPVOID pvCompletion, DWORD dwCompletionCode, LPCSTR pszUrl, LPSTR pszObjectOid, LPVOID pvObject); + + typedef struct _CRYPT_ASYNC_RETRIEVAL_COMPLETION { + PFN_CRYPT_ASYNC_RETRIEVAL_COMPLETION_FUNC pfnCompletion; + LPVOID pvCompletion; + } CRYPT_ASYNC_RETRIEVAL_COMPLETION,*PCRYPT_ASYNC_RETRIEVAL_COMPLETION; + +#define CRYPT_PARAM_CANCEL_ASYNC_RETRIEVAL ((LPCSTR)2) + + typedef WINBOOL (WINAPI *PFN_CANCEL_ASYNC_RETRIEVAL_FUNC) (HCRYPTASYNC hAsyncRetrieve); + +#define CRYPT_GET_URL_FROM_PROPERTY 0x1 +#define CRYPT_GET_URL_FROM_EXTENSION 0x2 +#define CRYPT_GET_URL_FROM_UNAUTH_ATTRIBUTE 0x4 +#define CRYPT_GET_URL_FROM_AUTH_ATTRIBUTE 0x8 + + typedef struct _CRYPT_URL_ARRAY { + DWORD cUrl; + LPWSTR *rgwszUrl; + } CRYPT_URL_ARRAY,*PCRYPT_URL_ARRAY; + + typedef struct _CRYPT_URL_INFO { + DWORD cbSize; + DWORD dwSyncDeltaTime; + DWORD cGroup; + DWORD *rgcGroupEntry; + } CRYPT_URL_INFO,*PCRYPT_URL_INFO; + + WINIMPM WINBOOL WINAPI CryptGetObjectUrl (LPCSTR pszUrlOid, LPVOID pvPara, DWORD dwFlags, PCRYPT_URL_ARRAY pUrlArray, DWORD *pcbUrlArray, PCRYPT_URL_INFO pUrlInfo, DWORD *pcbUrlInfo, LPVOID pvReserved); + +#define URL_OID_GET_OBJECT_URL_FUNC "UrlDllGetObjectUrl" + +#define URL_OID_CERTIFICATE_ISSUER ((LPCSTR) 1) +#define URL_OID_CERTIFICATE_CRL_DIST_POINT ((LPCSTR) 2) +#define URL_OID_CTL_ISSUER ((LPCSTR) 3) +#define URL_OID_CTL_NEXT_UPDATE ((LPCSTR) 4) +#define URL_OID_CRL_ISSUER ((LPCSTR) 5) +#define URL_OID_CERTIFICATE_FRESHEST_CRL ((LPCSTR) 6) +#define URL_OID_CRL_FRESHEST_CRL ((LPCSTR) 7) +#define URL_OID_CROSS_CERT_DIST_POINT ((LPCSTR) 8) +#define URL_OID_CERTIFICATE_OCSP ((LPCSTR) 9) +#define URL_OID_CERTIFICATE_OCSP_AND_CRL_DIST_POINT ((LPCSTR) 10) +#define URL_OID_CERTIFICATE_CRL_DIST_POINT_AND_OCSP ((LPCSTR) 11) +#define URL_OID_CROSS_CERT_SUBJECT_INFO_ACCESS ((LPCSTR) 12) +#define URL_OID_CERTIFICATE_ONLY_OCSP ((LPCSTR) 13) + + typedef struct _CERT_CRL_CONTEXT_PAIR { + PCCERT_CONTEXT pCertContext; + PCCRL_CONTEXT pCrlContext; + } CERT_CRL_CONTEXT_PAIR,*PCERT_CRL_CONTEXT_PAIR; + + typedef const CERT_CRL_CONTEXT_PAIR *PCCERT_CRL_CONTEXT_PAIR; + + typedef struct _CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO { + DWORD cbSize; + int iDeltaCrlIndicator; + LPFILETIME pftCacheResync; + LPFILETIME pLastSyncTime; + LPFILETIME pMaxAgeTime; + PCERT_REVOCATION_CHAIN_PARA pChainPara; + PCRYPT_INTEGER_BLOB pDeltaCrlIndicator; + } CRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO, *PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO; + + typedef WINBOOL (WINAPI *PFN_CRYPT_ENUM_KEYID_PROP) (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwFlags, void *pvReserved, void *pvArg, DWORD cProp, DWORD *rgdwPropId, void **rgpvData, DWORD *rgcbData); + +#define TIME_VALID_OID_GET_OBJECT_FUNC "TimeValidDllGetObject" +#define CERT_CHAIN_CONFIG_REGPATH L"Software\\Microsoft\\Cryptography\\OID\\EncodingType 0\\CertDllCreateCertificateChainEngine\\Config" + +#define TIME_VALID_OID_GET_CTL ((LPCSTR)1) +#define TIME_VALID_OID_GET_CRL ((LPCSTR)2) +#define TIME_VALID_OID_GET_CRL_FROM_CERT ((LPCSTR)3) + +#define TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CERT ((LPCSTR)4) +#define TIME_VALID_OID_GET_FRESHEST_CRL_FROM_CRL ((LPCSTR)5) + +#define TIME_VALID_OID_FLUSH_OBJECT_FUNC "TimeValidDllFlushObject" + +#define TIME_VALID_OID_FLUSH_CTL ((LPCSTR)1) +#define TIME_VALID_OID_FLUSH_CRL ((LPCSTR)2) +#define TIME_VALID_OID_FLUSH_CRL_FROM_CERT ((LPCSTR)3) +#define TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CERT ((LPCSTR)4) +#define TIME_VALID_OID_FLUSH_FRESHEST_CRL_FROM_CRL ((LPCSTR)5) + +#define CERT_CREATE_SELFSIGN_NO_SIGN 1 +#define CERT_CREATE_SELFSIGN_NO_KEY_INFO 2 + +#define CRYPT_KEYID_DELETE_FLAG 0x10 +#define CRYPT_KEYID_MACHINE_FLAG 0x20 +#define CRYPT_KEYID_SET_NEW_FLAG 0x2000 +#define CRYPT_KEYID_ALLOC_FLAG 0x8000 + + WINIMPM WINBOOL WINAPI CryptGetTimeValidObject (LPCSTR pszTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, LPFILETIME pftValidFor, DWORD dwFlags, DWORD dwTimeout, LPVOID *ppvObject, PCRYPT_CREDENTIALS pCredentials, PCRYPT_GET_TIME_VALID_OBJECT_EXTRA_INFO pExtraInfo); + WINIMPM WINBOOL WINAPI CryptFlushTimeValidObject (LPCSTR pszFlushTimeValidOid, LPVOID pvPara, PCCERT_CONTEXT pIssuer, DWORD dwFlags, LPVOID pvReserved); + WINIMPM PCCERT_CONTEXT WINAPI CertCreateSelfSignCertificate (HCRYPTPROV_OR_NCRYPT_KEY_HANDLE hCryptProvOrNCryptKey, PCERT_NAME_BLOB pSubjectIssuerBlob, DWORD dwFlags, PCRYPT_KEY_PROV_INFO pKeyProvInfo, PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm, PSYSTEMTIME pStartTime, PSYSTEMTIME pEndTime, PCERT_EXTENSIONS pExtensions); + WINIMPM WINBOOL WINAPI CryptGetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvData, DWORD *pcbData); + WINIMPM WINBOOL WINAPI CryptSetKeyIdentifierProperty (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, const void *pvData); + WINIMPM WINBOOL WINAPI CryptEnumKeyIdentifierProperties (const CRYPT_HASH_BLOB *pKeyIdentifier, DWORD dwPropId, DWORD dwFlags, LPCWSTR pwszComputerName, void *pvReserved, void *pvArg, PFN_CRYPT_ENUM_KEYID_PROP pfnEnum); + WINIMPM WINBOOL WINAPI CryptCreateKeyIdentifierFromCSP (DWORD dwCertEncodingType, LPCSTR pszPubKeyOID, const PUBLICKEYSTRUC *pPubKeyStruc, DWORD cbPubKeyStruc, DWORD dwFlags, void *pvReserved, BYTE *pbHash, DWORD *pcbHash); + +#define CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME L"MaxUrlRetrievalByteCount" +#define CERT_CHAIN_MAX_URL_RETRIEVAL_BYTE_COUNT_DEFAULT (100 *1024 *1024) +#define CERT_CHAIN_CACHE_RESYNC_FILETIME_VALUE_NAME L"ChainCacheResyncFiletime" +#define CERT_CHAIN_DISABLE_MANDATORY_BASIC_CONSTRAINTS_VALUE_NAME L"DisableMandatoryBasicConstraints" +#define CERT_CHAIN_DISABLE_CA_NAME_CONSTRAINTS_VALUE_NAME L"DisableCANameConstraints" +#define CERT_CHAIN_DISABLE_UNSUPPORTED_CRITICAL_EXTENSIONS_VALUE_NAME L"DisableUnsupportedCriticalExtensions" +#define CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_VALUE_NAME L"MaxAIAUrlCountInCert" +#define CERT_CHAIN_MAX_AIA_URL_COUNT_IN_CERT_DEFAULT 5 +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_VALUE_NAME L"MaxAIAUrlRetrievalCountPerChain" +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_COUNT_PER_CHAIN_DEFAULT 3 +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_VALUE_NAME L"MaxAIAUrlRetrievalByteCount" +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_BYTE_COUNT_DEFAULT 100000 +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_VALUE_NAME L"MaxAIAUrlRetrievalCertCount" +#define CERT_CHAIN_MAX_AIA_URL_RETRIEVAL_CERT_COUNT_DEFAULT 10 +#define CERT_CHAIN_OCSP_VALIDITY_SECONDS_VALUE_NAME L"OcspValiditySeconds" +#define CERT_CHAIN_OCSP_VALIDITY_SECONDS_DEFAULT (12 *60 *60) +#define CERT_CHAIN_DISABLE_SERIAL_CHAIN_VALUE_NAME L"DisableSerialChain" +#define CERT_CHAIN_SERIAL_CHAIN_LOG_FILE_NAME_VALUE_NAME L"SerialChainLogFileName" +#define CERT_CHAIN_DISABLE_SYNC_WITH_SSL_TIME_VALUE_NAME L"DisableSyncWithSslTime" +#define CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_VALUE_NAME L"MaxSslTimeUpdatedEventCount" +#define CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DEFAULT 5 +#define CERT_CHAIN_MAX_SSL_TIME_UPDATED_EVENT_COUNT_DISABLE 0xFFFFFFFF +#define CERT_CHAIN_SSL_HANDSHAKE_LOG_FILE_NAME_VALUE_NAME L"SslHandshakeLogFileName" +#define CERT_CHAIN_ENABLE_WEAK_SIGNATURE_FLAGS_VALUE_NAME L"EnableWeakSignatureFlags" +#define CERT_CHAIN_ENABLE_MD2_MD4_FLAG 0x1 +#define CERT_CHAIN_ENABLE_WEAK_RSA_ROOT_FLAG 0x2 +#define CERT_CHAIN_ENABLE_WEAK_LOGGING_FLAG 0x4 +#define CERT_CHAIN_ENABLE_ONLY_WEAK_LOGGING_FLAG 0x8 +#define CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_VALUE_NAME L"MinRsaPubKeyBitLength" +#define CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DEFAULT 1023 +#define CERT_CHAIN_MIN_RSA_PUB_KEY_BIT_LENGTH_DISABLE 0xffffffff +#define CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_VALUE_NAME L"WeakRsaPubKeyTime" +#define CERT_CHAIN_WEAK_RSA_PUB_KEY_TIME_DEFAULT 0x01ca8a755c6e0000ULL +#define CERT_CHAIN_WEAK_SIGNATURE_LOG_DIR_VALUE_NAME L"WeakSignatureLogDir" + +#define CERT_CHAIN_DEFAULT_CONFIG_SUBDIR L"Default" + +#define CERT_CHAIN_WEAK_PREFIX_NAME L"Weak" +#define CERT_CHAIN_WEAK_THIRD_PARTY_CONFIG_NAME L"ThirdParty" +#define CERT_CHAIN_WEAK_ALL_CONFIG_NAME L"All" +#define CERT_CHAIN_WEAK_FLAGS_NAME L"Flags" +#define CERT_CHAIN_WEAK_HYGIENE_NAME L"Hygiene" +#define CERT_CHAIN_WEAK_AFTER_TIME_NAME L"AfterTime" +#define CERT_CHAIN_WEAK_FILE_HASH_AFTER_TIME_NAME L"FileHashAfterTime" +#define CERT_CHAIN_WEAK_TIMESTAMP_HASH_AFTER_TIME_NAME L"TimestampHashAfterTime" +#define CERT_CHAIN_WEAK_MIN_BIT_LENGTH_NAME L"MinBitLength" +#define CERT_CHAIN_WEAK_SHA256_ALLOW_NAME L"Sha256Allow" + +#define CERT_CHAIN_MIN_PUB_KEY_BIT_LENGTH_DISABLE 0xFFFFFFFF + +#define CERT_CHAIN_ENABLE_WEAK_SETTINGS_FLAG 0x80000000 +#define CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG 0x00010000 +#define CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG 0x00020000 +#define CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG 0x00040000 +#define CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG 0x00100000 +#define CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG 0x00200000 +#define CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG 0x00400000 +#define CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG 0x00800000 +#define CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG 0x01000000 +#define CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG 0x02000000 +#define CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG 0x04000000 +#define CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG 0x08000000 +#define CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG 0x10000000 +#define CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG 0x20000000 +#define CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG 0x40000000 +#define CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG 0x00001000 +#define CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG 0x00002000 +#define CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG 0x00004000 +#define CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG 0x00008000 +#define CERT_CHAIN_DISABLE_WEAK_FLAGS ( CERT_CHAIN_DISABLE_ALL_EKU_WEAK_FLAG | CERT_CHAIN_DISABLE_SERVER_AUTH_WEAK_FLAG | CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG | CERT_CHAIN_DISABLE_CODE_SIGNING_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG | CERT_CHAIN_DISABLE_TIMESTAMP_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG ) +#define CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAGS ( CERT_CHAIN_DISABLE_FILE_HASH_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_FILE_HASH_WEAK_FLAG ) +#define CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAGS ( CERT_CHAIN_DISABLE_TIMESTAMP_HASH_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_HASH_WEAK_FLAG ) +#define CERT_CHAIN_ENABLE_HYGIENE_FLAGS ( CERT_CHAIN_ENABLE_ALL_EKU_HYGIENE_FLAG | CERT_CHAIN_ENABLE_SERVER_AUTH_HYGIENE_FLAG | CERT_CHAIN_ENABLE_CODE_SIGNING_HYGIENE_FLAG | CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG | CERT_CHAIN_ENABLE_TIMESTAMP_HYGIENE_FLAG | CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG ) +#define CERT_CHAIN_MOTW_WEAK_FLAGS ( CERT_CHAIN_DISABLE_MOTW_CODE_SIGNING_WEAK_FLAG | CERT_CHAIN_DISABLE_MOTW_TIMESTAMP_WEAK_FLAG | CERT_CHAIN_ENABLE_MOTW_CODE_SIGNING_HYGIENE_FLAG | CERT_CHAIN_ENABLE_MOTW_TIMESTAMP_HYGIENE_FLAG | CERT_CHAIN_MOTW_IGNORE_AFTER_TIME_WEAK_FLAG) +#define CERT_CHAIN_OPT_IN_WEAK_FLAGS ( CERT_CHAIN_DISABLE_OPT_IN_SERVER_AUTH_WEAK_FLAG) + +#define CERT_CHAIN_AUTO_CURRENT_USER 1 +#define CERT_CHAIN_AUTO_LOCAL_MACHINE 2 +#define CERT_CHAIN_AUTO_IMPERSONATED 3 +#define CERT_CHAIN_AUTO_PROCESS_INFO 4 +#define CERT_CHAIN_AUTO_PINRULE_INFO 5 +#define CERT_CHAIN_AUTO_NETWORK_INFO 6 +#define CERT_CHAIN_AUTO_SERIAL_LOCAL_MACHINE 7 +#define CERT_CHAIN_AUTO_HPKP_RULE_INFO 8 + +#define CERT_CHAIN_AUTO_FLAGS_VALUE_NAME L"AutoFlags" + +#define CERT_CHAIN_AUTO_FLUSH_DISABLE_FLAG 0x00000001 +#define CERT_CHAIN_AUTO_LOG_CREATE_FLAG 0x00000002 +#define CERT_CHAIN_AUTO_LOG_FREE_FLAG 0x00000004 +#define CERT_CHAIN_AUTO_LOG_FLUSH_FLAG 0x00000008 +#define CERT_CHAIN_AUTO_LOG_FLAGS ( CERT_CHAIN_AUTO_LOG_CREATE_FLAG | CERT_CHAIN_AUTO_LOG_FREE_FLAG | CERT_CHAIN_AUTO_LOG_FLUSH_FLAG ) + +#define CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_VALUE_NAME L"AutoFlushFirstDeltaSeconds" +#define CERT_CHAIN_AUTO_FLUSH_FIRST_DELTA_SECONDS_DEFAULT (5 * 60) +#define CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_VALUE_NAME L"AutoFlushNextDeltaSeconds" +#define CERT_CHAIN_AUTO_FLUSH_NEXT_DELTA_SECONDS_DEFAULT (30 * 60) +#define CERT_CHAIN_AUTO_LOG_FILE_NAME_VALUE_NAME L"AutoLogFileName" +#define CERT_CHAIN_DISABLE_AUTO_FLUSH_PROCESS_NAME_LIST_VALUE_NAME L"DisableAutoFlushProcessNameList" + +#define CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_VALUE_NAME L"SrvOcspRespMinValiditySeconds" +#define CERT_SRV_OCSP_RESP_MIN_VALIDITY_SECONDS_DEFAULT (10 *60) +#define CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME L"SrvOcspRespUrlRetrievalTimeoutMilliseconds" +#define CERT_SRV_OCSP_RESP_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT (15 *1000) +#define CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME L"SrvOcspRespMaxBeforeNextUpdateSeconds" +#define CERT_SRV_OCSP_RESP_MAX_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT (4 *60 *60) +#define CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME L"SrvOcspRespMinBeforeNextUpdateSeconds" +#define CERT_SRV_OCSP_RESP_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT (2 *60) +#define CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME L"SrvOcspRespMinAfterNextUpdateSeconds" +#define CERT_SRV_OCSP_RESP_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT (1 *60) +#define CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_VALUE_NAME L"SrvOcspRespMinSyncCertFileSeconds" +#define CERT_SRV_OCSP_RESP_MIN_SYNC_CERT_FILE_SECONDS_DEFAULT 5 +#define CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_VALUE_NAME L"SrvOcspRespMaxSyncCertFileSeconds" +#define CERT_SRV_OCSP_RESP_MAX_SYNC_CERT_FILE_SECONDS_DEFAULT (1 * 60 * 60) +#define CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_VALUE_NAME L"CryptnetMaxCachedOcspPerCrlCount" +#define CRYPTNET_MAX_CACHED_OCSP_PER_CRL_COUNT_DEFAULT 500 +#define CRYPTNET_OCSP_AFTER_CRL_DISABLE 0xffffffff +#define CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_VALUE_NAME L"CryptnetDefaultFlushExemptSeconds" +#define CRYPTNET_URL_CACHE_DEFAULT_FLUSH_EXEMPT_SECONDS_DEFAULT (28 *24 *60 *60) +#define CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_VALUE_NAME L"CryptnetPreFetchMinMaxAgeSeconds" +#define CRYPTNET_PRE_FETCH_MIN_MAX_AGE_SECONDS_DEFAULT (1 *60 *60) +#define CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_VALUE_NAME L"CryptnetPreFetchMaxMaxAgeSeconds" +#define CRYPTNET_PRE_FETCH_MAX_MAX_AGE_SECONDS_DEFAULT (14 *24 *60 *60) +#define CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchMinOcspValidityPeriodSeconds" +#define CRYPTNET_PRE_FETCH_MIN_OCSP_VALIDITY_PERIOD_SECONDS_DEFAULT (14 *24 *60 *60) +#define CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_VALUE_NAME L"CryptnetPreFetchAfterPublishPreFetchDivisor" +#define CRYPTNET_PRE_FETCH_AFTER_PUBLISH_PRE_FETCH_DIVISOR_DEFAULT 10 +#define CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME L"CryptnetPreFetchBeforeNextUpdatePreFetchDivisor" +#define CRYPTNET_PRE_FETCH_BEFORE_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT 20 +#define CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchMinBeforeNextUpdatePreFetchSeconds" +#define CRYPTNET_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT (1 *60 *60) +#define CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_VALUE_NAME L"CryptnetPreFetchValidityPeriodAfterNextUpdatePreFetchDivisor" +#define CRYPTNET_PRE_FETCH_VALIDITY_PERIOD_AFTER_NEXT_UPDATE_PRE_FETCH_DIVISOR_DEFAULT 10 +#define CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchMaxAfterNextUpdatePreFetchPeriodSeconds" +#define CRYPTNET_PRE_FETCH_MAX_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT (4 *60 *60) +#define CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchMinAfterNextUpdatePreFetchPeriodSeconds" +#define CRYPTNET_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_PRE_FETCH_PERIOD_SECONDS_DEFAULT (30 *60) +#define CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchAfterCurrentTimePreFetchPeriodSeconds" +#define CRYPTNET_PRE_FETCH_AFTER_CURRENT_TIME_PRE_FETCH_PERIOD_SECONDS_DEFAULT (30 *60) +#define CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_VALUE_NAME L"CryptnetPreFetchTriggerPeriodSeconds" +#define CRYPTNET_PRE_FETCH_TRIGGER_PERIOD_SECONDS_DEFAULT (10 *60) +#define CRYPTNET_PRE_FETCH_TRIGGER_DISABLE 0xffffffff +#define CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_VALUE_NAME L"CryptnetPreFetchScanAfterTriggerDelaySeconds" +#define CRYPTNET_PRE_FETCH_SCAN_AFTER_TRIGGER_DELAY_SECONDS_DEFAULT 30 +#define CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_VALUE_NAME L"CryptnetPreFetchRetrievalTimeoutSeconds" +#define CRYPTNET_PRE_FETCH_RETRIEVAL_TIMEOUT_SECONDS_DEFAULT (5 *60) +#define CRYPTNET_CRL_PRE_FETCH_CONFIG_REGPATH CERT_CHAIN_CONFIG_REGPATH L"\\CrlPreFetch" +#define CRYPTNET_CRL_PRE_FETCH_PROCESS_NAME_LIST_VALUE_NAME L"ProcessNameList" +#define CRYPTNET_CRL_PRE_FETCH_URL_LIST_VALUE_NAME L"PreFetchUrlList" +#define CRYPTNET_CRL_PRE_FETCH_DISABLE_INFORMATION_EVENTS_VALUE_NAME L"DisableInformationEvents" +#define CRYPTNET_CRL_PRE_FETCH_LOG_FILE_NAME_VALUE_NAME L"LogFileName" +#define CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_VALUE_NAME L"TimeoutSeconds" +#define CRYPTNET_CRL_PRE_FETCH_TIMEOUT_SECONDS_DEFAULT (5 * 60) +#define CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_VALUE_NAME L"MaxAgeSeconds" +#define CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_DEFAULT (2 * 60 * 60) +#define CRYPTNET_CRL_PRE_FETCH_MAX_AGE_SECONDS_MIN (5 * 60) +#define CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME L"PublishBeforeNextUpdateSeconds" +#define CRYPTNET_CRL_PRE_FETCH_PUBLISH_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT (1 * 60 * 60) +#define CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_VALUE_NAME L"PublishRandomIntervalSeconds" +#define CRYPTNET_CRL_PRE_FETCH_PUBLISH_RANDOM_INTERVAL_SECONDS_DEFAULT (5 * 60) +#define CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_VALUE_NAME L"MinBeforeNextUpdateSeconds" +#define CRYPTNET_CRL_PRE_FETCH_MIN_BEFORE_NEXT_UPDATE_SECONDS_DEFAULT (5 * 60) +#define CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_VALUE_NAME L"MinAfterNextUpdateSeconds" +#define CRYPTNET_CRL_PRE_FETCH_MIN_AFTER_NEXT_UPDATE_SECONDS_DEFAULT (5 * 60) +#define CERT_GROUP_POLICY_CHAIN_CONFIG_REGPATH CERT_GROUP_POLICY_SYSTEM_STORE_REGPATH L"\\ChainEngine\\Config" +#define CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME L"ChainUrlRetrievalTimeoutMilliseconds" +#define CERT_CHAIN_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT (15 *1000) +#define CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_VALUE_NAME L"ChainRevAccumulativeUrlRetrievalTimeoutMilliseconds" +#define CERT_CHAIN_REV_ACCUMULATIVE_URL_RETRIEVAL_TIMEOUT_MILLISECONDS_DEFAULT (20 *1000) +#define CERT_RETR_BEHAVIOR_INET_AUTH_VALUE_NAME L"EnableInetUnknownAuth" +#define CERT_RETR_BEHAVIOR_INET_STATUS_VALUE_NAME L"EnableInetLocal" +#define CERT_RETR_BEHAVIOR_FILE_VALUE_NAME L"AllowFileUrlScheme" +#define CERT_RETR_BEHAVIOR_LDAP_VALUE_NAME L"DisableLDAPSignAndEncrypt" +#define CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_VALUE_NAME L"CryptnetCachedOcspSwitchToCrlCount" +#define CRYPTNET_CACHED_OCSP_SWITCH_TO_CRL_COUNT_DEFAULT 50 +#define CRYPTNET_CRL_BEFORE_OCSP_ENABLE 0xffffffff +#define CERT_CHAIN_DISABLE_AIA_URL_RETRIEVAL_VALUE_NAME L"DisableAIAUrlRetrieval" +#define CERT_CHAIN_OPTIONS_VALUE_NAME L"Options" +#define CERT_CHAIN_OPTION_DISABLE_AIA_URL_RETRIEVAL 0x2 +#define CERT_CHAIN_OPTION_ENABLE_SIA_URL_RETRIEVAL 0x4 +#define CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_VALUE_NAME L"CrossCertDownloadIntervalHours" +#define CERT_CHAIN_CROSS_CERT_DOWNLOAD_INTERVAL_HOURS_DEFAULT (24 *7) +#define CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_VALUE_NAME L"CRLValidityExtensionPeriod" +#define CERT_CHAIN_CRL_VALIDITY_EXT_PERIOD_HOURS_DEFAULT 12 + +#define HCCE_CURRENT_USER ((HCERTCHAINENGINE)NULL) +#define HCCE_LOCAL_MACHINE ((HCERTCHAINENGINE)0x1) +#define HCCE_SERIAL_LOCAL_MACHINE ((HCERTCHAINENGINE)0x2) + +#define CERT_CHAIN_CACHE_END_CERT 0x1 +#define CERT_CHAIN_THREAD_STORE_SYNC 0x2 +#define CERT_CHAIN_CACHE_ONLY_URL_RETRIEVAL 0x4 +#define CERT_CHAIN_USE_LOCAL_MACHINE_STORE 0x8 +#define CERT_CHAIN_ENABLE_CACHE_AUTO_UPDATE 0x10 +#define CERT_CHAIN_ENABLE_SHARE_STORE 0x20 + + typedef HANDLE HCERTCHAINENGINE; + + typedef struct _CERT_CHAIN_ENGINE_CONFIG { + DWORD cbSize; + HCERTSTORE hRestrictedRoot; + HCERTSTORE hRestrictedTrust; + HCERTSTORE hRestrictedOther; + DWORD cAdditionalStore; + HCERTSTORE *rghAdditionalStore; + DWORD dwFlags; + DWORD dwUrlRetrievalTimeout; + DWORD MaximumCachedCertificates; + DWORD CycleDetectionModulus; +#if NTDDI_VERSION >= NTDDI_WIN7 + HCERTSTORE hExclusiveRoot; + HCERTSTORE hExclusiveTrustedPeople; +#endif +#if NTDDI_VERSION >= NTDDI_WIN8 + DWORD dwExclusiveFlags; +#endif + } CERT_CHAIN_ENGINE_CONFIG,*PCERT_CHAIN_ENGINE_CONFIG; + +#if NTDDI_VERSION >= NTDDI_WIN8 +#define CERT_CHAIN_EXCLUSIVE_ENABLE_CA_FLAG 0x1 +#endif + + WINIMPM WINBOOL WINAPI CertCreateCertificateChainEngine (PCERT_CHAIN_ENGINE_CONFIG pConfig, HCERTCHAINENGINE *phChainEngine); + WINIMPM VOID WINAPI CertFreeCertificateChainEngine (HCERTCHAINENGINE hChainEngine); + WINIMPM WINBOOL WINAPI CertResyncCertificateChainEngine (HCERTCHAINENGINE hChainEngine); + + typedef struct _CERT_TRUST_STATUS { + DWORD dwErrorStatus; + DWORD dwInfoStatus; + } CERT_TRUST_STATUS,*PCERT_TRUST_STATUS; + +#define CERT_TRUST_NO_ERROR 0x0 +#define CERT_TRUST_IS_NOT_TIME_VALID 0x1 +#define CERT_TRUST_IS_NOT_TIME_NESTED 0x2 +#define CERT_TRUST_IS_REVOKED 0x4 +#define CERT_TRUST_IS_NOT_SIGNATURE_VALID 0x8 +#define CERT_TRUST_IS_NOT_VALID_FOR_USAGE 0x10 +#define CERT_TRUST_IS_UNTRUSTED_ROOT 0x20 +#define CERT_TRUST_REVOCATION_STATUS_UNKNOWN 0x40 +#define CERT_TRUST_IS_CYCLIC 0x80 +#define CERT_TRUST_INVALID_EXTENSION 0x100 +#define CERT_TRUST_INVALID_POLICY_CONSTRAINTS 0x200 +#define CERT_TRUST_INVALID_BASIC_CONSTRAINTS 0x400 +#define CERT_TRUST_INVALID_NAME_CONSTRAINTS 0x800 +#define CERT_TRUST_HAS_NOT_SUPPORTED_NAME_CONSTRAINT 0x1000 +#define CERT_TRUST_HAS_NOT_DEFINED_NAME_CONSTRAINT 0x2000 +#define CERT_TRUST_HAS_NOT_PERMITTED_NAME_CONSTRAINT 0x4000 +#define CERT_TRUST_HAS_EXCLUDED_NAME_CONSTRAINT 0x8000 +#define CERT_TRUST_IS_PARTIAL_CHAIN 0x10000 +#define CERT_TRUST_CTL_IS_NOT_TIME_VALID 0x20000 +#define CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 0x40000 +#define CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 0x80000 +#define CERT_TRUST_IS_OFFLINE_REVOCATION 0x1000000 +#define CERT_TRUST_NO_ISSUANCE_CHAIN_POLICY 0x2000000 +#define CERT_TRUST_IS_EXPLICIT_DISTRUST 0x4000000 +#define CERT_TRUST_HAS_NOT_SUPPORTED_CRITICAL_EXT 0x8000000 +#define CERT_TRUST_HAS_WEAK_SIGNATURE 0x100000 + +#define CERT_TRUST_HAS_EXACT_MATCH_ISSUER 0x1 +#define CERT_TRUST_HAS_KEY_MATCH_ISSUER 0x2 +#define CERT_TRUST_HAS_NAME_MATCH_ISSUER 0x4 +#define CERT_TRUST_IS_SELF_SIGNED 0x8 +#define CERT_TRUST_AUTO_UPDATE_CA_REVOCATION 0x10 +#define CERT_TRUST_AUTO_UPDATE_END_REVOCATION 0x20 +#define CERT_TRUST_NO_OCSP_FAILOVER_TO_CRL 0x40 +#define CERT_TRUST_IS_KEY_ROLLOVER 0x00000080 +#define CERT_TRUST_SSL_HANDSHAKE_OCSP 0x00040000 +#define CERT_TRUST_SSL_TIME_VALID_OCSP 0x00080000 +#define CERT_TRUST_SSL_RECONNECT_OCSP 0x00100000 + +#define CERT_TRUST_HAS_PREFERRED_ISSUER 0x100 +#define CERT_TRUST_HAS_ISSUANCE_CHAIN_POLICY 0x200 +#define CERT_TRUST_HAS_VALID_NAME_CONSTRAINTS 0x400 +#define CERT_TRUST_IS_PEER_TRUSTED 0x800 +#define CERT_TRUST_HAS_CRL_VALIDITY_EXTENDED 0x1000 +#define CERT_TRUST_IS_FROM_EXCLUSIVE_TRUST_STORE 0x2000 +#if NTDDI_VERSION >= NTDDI_WIN8 +#define CERT_TRUST_IS_CA_TRUSTED 0x00004000 +#define CERT_TRUST_HAS_AUTO_UPDATE_WEAK_SIGNATURE 0x00008000 +#define CERT_TRUST_HAS_ALLOW_WEAK_SIGNATURE 0x00020000 +#endif +#define CERT_TRUST_IS_COMPLEX_CHAIN 0x00010000 +#define CERT_TRUST_SSL_TIME_VALID 0x01000000 +#define CERT_TRUST_NO_TIME_CHECK 0x02000000 + + typedef struct _CERT_REVOCATION_INFO { + DWORD cbSize; + DWORD dwRevocationResult; + LPCSTR pszRevocationOid; + LPVOID pvOidSpecificInfo; + WINBOOL fHasFreshnessTime; + DWORD dwFreshnessTime; + PCERT_REVOCATION_CRL_INFO pCrlInfo; + } CERT_REVOCATION_INFO,*PCERT_REVOCATION_INFO; + + typedef struct _CERT_TRUST_LIST_INFO { + DWORD cbSize; + PCTL_ENTRY pCtlEntry; + PCCTL_CONTEXT pCtlContext; + } CERT_TRUST_LIST_INFO,*PCERT_TRUST_LIST_INFO; + + typedef struct _CERT_CHAIN_ELEMENT { + DWORD cbSize; + PCCERT_CONTEXT pCertContext; + CERT_TRUST_STATUS TrustStatus; + PCERT_REVOCATION_INFO pRevocationInfo; + PCERT_ENHKEY_USAGE pIssuanceUsage; + PCERT_ENHKEY_USAGE pApplicationUsage; + LPCWSTR pwszExtendedErrorInfo; + } CERT_CHAIN_ELEMENT,*PCERT_CHAIN_ELEMENT; + + typedef const CERT_CHAIN_ELEMENT *PCCERT_CHAIN_ELEMENT; + + typedef struct _CERT_SIMPLE_CHAIN { + DWORD cbSize; + CERT_TRUST_STATUS TrustStatus; + DWORD cElement; + PCERT_CHAIN_ELEMENT *rgpElement; + PCERT_TRUST_LIST_INFO pTrustListInfo; + WINBOOL fHasRevocationFreshnessTime; + DWORD dwRevocationFreshnessTime; + } CERT_SIMPLE_CHAIN,*PCERT_SIMPLE_CHAIN; + + typedef const CERT_SIMPLE_CHAIN *PCCERT_SIMPLE_CHAIN; + + typedef struct _CERT_CHAIN_CONTEXT CERT_CHAIN_CONTEXT,*PCERT_CHAIN_CONTEXT; + typedef const CERT_CHAIN_CONTEXT *PCCERT_CHAIN_CONTEXT; + + struct _CERT_CHAIN_CONTEXT { + DWORD cbSize; + CERT_TRUST_STATUS TrustStatus; + DWORD cChain; + PCERT_SIMPLE_CHAIN *rgpChain; + DWORD cLowerQualityChainContext; + PCCERT_CHAIN_CONTEXT *rgpLowerQualityChainContext; + WINBOOL fHasRevocationFreshnessTime; + DWORD dwRevocationFreshnessTime; + DWORD dwCreateFlags; + GUID ChainId; + }; + +#define USAGE_MATCH_TYPE_AND 0x0 +#define USAGE_MATCH_TYPE_OR 0x1 + + typedef struct _CERT_USAGE_MATCH { + DWORD dwType; + CERT_ENHKEY_USAGE Usage; + } CERT_USAGE_MATCH,*PCERT_USAGE_MATCH; + + typedef struct _CTL_USAGE_MATCH { + DWORD dwType; + CTL_USAGE Usage; + } CTL_USAGE_MATCH,*PCTL_USAGE_MATCH; + + typedef struct _CERT_CHAIN_PARA { + DWORD cbSize; + CERT_USAGE_MATCH RequestedUsage; +#ifdef CERT_CHAIN_PARA_HAS_EXTRA_FIELDS + CERT_USAGE_MATCH RequestedIssuancePolicy; + DWORD dwUrlRetrievalTimeout; + WINBOOL fCheckRevocationFreshnessTime; + DWORD dwRevocationFreshnessTime; + LPFILETIME pftCacheResync; + PCCERT_STRONG_SIGN_PARA pStrongSignPara; + DWORD dwStrongSignFlags; +#endif + } CERT_CHAIN_PARA,*PCERT_CHAIN_PARA; + +#define CERT_CHAIN_STRONG_SIGN_DISABLE_END_CHECK_FLAG 0x1 +#define CERT_CHAIN_DISABLE_PASS1_QUALITY_FILTERING 0x40 +#define CERT_CHAIN_RETURN_LOWER_QUALITY_CONTEXTS 0x80 +#define CERT_CHAIN_DISABLE_AUTH_ROOT_AUTO_UPDATE 0x100 +#define CERT_CHAIN_TIMESTAMP_TIME 0x200 +#define CERT_CHAIN_ENABLE_PEER_TRUST 0x400 +#define CERT_CHAIN_DISABLE_MY_PEER_TRUST 0x800 +#define CERT_CHAIN_DISABLE_MD2_MD4 0x1000 +#define CERT_CHAIN_DISABLE_AIA 0x2000 +#define CERT_CHAIN_HAS_MOTW 0x4000 +#define CERT_CHAIN_ONLY_ADDITIONAL_AND_AUTH_ROOT 0x8000 +#define CERT_CHAIN_OPT_IN_WEAK_SIGNATURE 0x10000 +#define CERT_CHAIN_REVOCATION_CHECK_END_CERT 0x10000000 +#define CERT_CHAIN_REVOCATION_CHECK_CHAIN 0x20000000 +#define CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x40000000 +#define CERT_CHAIN_REVOCATION_CHECK_CACHE_ONLY 0x80000000 +#define CERT_CHAIN_REVOCATION_ACCUMULATIVE_TIMEOUT 0x8000000 +#define CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT 0x4000000 + + WINIMPM WINBOOL WINAPI CertGetCertificateChain (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, PCCERT_CHAIN_CONTEXT *ppChainContext); + WINIMPM VOID WINAPI CertFreeCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext); + WINIMPM PCCERT_CHAIN_CONTEXT WINAPI CertDuplicateCertificateChain (PCCERT_CHAIN_CONTEXT pChainContext); + + struct _CERT_REVOCATION_CHAIN_PARA { + DWORD cbSize; + HCERTCHAINENGINE hChainEngine; + HCERTSTORE hAdditionalStore; + DWORD dwChainFlags; + DWORD dwUrlRetrievalTimeout; + LPFILETIME pftCurrentTime; + LPFILETIME pftCacheResync; + DWORD cbMaxUrlRetrievalByteCount; + }; + +#define REVOCATION_OID_CRL_REVOCATION ((LPCSTR)1) + + typedef struct _CRL_REVOCATION_INFO { + PCRL_ENTRY pCrlEntry; + PCCRL_CONTEXT pCrlContext; + PCCERT_CHAIN_CONTEXT pCrlIssuerChain; + } CRL_REVOCATION_INFO,*PCRL_REVOCATION_INFO; + + WINIMPM PCCERT_CHAIN_CONTEXT WINAPI CertFindChainInStore (HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFindFlags, DWORD dwFindType, const void *pvFindPara, PCCERT_CHAIN_CONTEXT pPrevChainContext); + +#define CERT_CHAIN_FIND_BY_ISSUER 1 + + typedef WINBOOL (WINAPI *PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK) (PCCERT_CONTEXT pCert, void *pvFindArg); + + typedef struct _CERT_CHAIN_FIND_BY_ISSUER_PARA { + DWORD cbSize; + LPCSTR pszUsageIdentifier; + DWORD dwKeySpec; + DWORD dwAcquirePrivateKeyFlags; + DWORD cIssuer; + CERT_NAME_BLOB *rgIssuer; + PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFindCallback; + void *pvFindArg; +#ifdef CERT_CHAIN_FIND_BY_ISSUER_PARA_HAS_EXTRA_FIELDS + DWORD *pdwIssuerChainIndex; + DWORD *pdwIssuerElementIndex; +#endif + } CERT_CHAIN_FIND_ISSUER_PARA,*PCERT_CHAIN_FIND_ISSUER_PARA,CERT_CHAIN_FIND_BY_ISSUER_PARA,*PCERT_CHAIN_FIND_BY_ISSUER_PARA; + +#define CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 0x1 +#define CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 0x2 +#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 0x4 +#define CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 0x8 +#define CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 0x4000 +#define CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 0x8000 + + typedef struct _CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwFlags; + void *pvExtraPolicyPara; + } CERT_CHAIN_POLICY_PARA,*PCERT_CHAIN_POLICY_PARA; + + typedef struct _CERT_CHAIN_POLICY_STATUS { + DWORD cbSize; + DWORD dwError; + LONG lChainIndex; + LONG lElementIndex; + void *pvExtraPolicyStatus; + } CERT_CHAIN_POLICY_STATUS,*PCERT_CHAIN_POLICY_STATUS; + +#define CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG 0x1 +#define CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG 0x2 +#define CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG 0x4 +#define CERT_CHAIN_POLICY_IGNORE_INVALID_BASIC_CONSTRAINTS_FLAG 0x8 + +#define CERT_CHAIN_POLICY_IGNORE_ALL_NOT_TIME_VALID_FLAGS (CERT_CHAIN_POLICY_IGNORE_NOT_TIME_VALID_FLAG | CERT_CHAIN_POLICY_IGNORE_CTL_NOT_TIME_VALID_FLAG | CERT_CHAIN_POLICY_IGNORE_NOT_TIME_NESTED_FLAG) + +#define CERT_CHAIN_POLICY_ALLOW_UNKNOWN_CA_FLAG 0x10 +#define CERT_CHAIN_POLICY_IGNORE_WRONG_USAGE_FLAG 0x20 +#define CERT_CHAIN_POLICY_IGNORE_INVALID_NAME_FLAG 0x40 +#define CERT_CHAIN_POLICY_IGNORE_INVALID_POLICY_FLAG 0x80 + +#define CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG 0x100 +#define CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG 0x200 +#define CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG 0x400 +#define CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG 0x800 + +#define CERT_CHAIN_POLICY_IGNORE_ALL_REV_UNKNOWN_FLAGS (CERT_CHAIN_POLICY_IGNORE_END_REV_UNKNOWN_FLAG | CERT_CHAIN_POLICY_IGNORE_CTL_SIGNER_REV_UNKNOWN_FLAG | CERT_CHAIN_POLICY_IGNORE_CA_REV_UNKNOWN_FLAG | CERT_CHAIN_POLICY_IGNORE_ROOT_REV_UNKNOWN_FLAG) + +#define CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG 0x1000 +#define CERT_CHAIN_POLICY_IGNORE_NOT_SUPPORTED_CRITICAL_EXT_FLAG 0x2000 +#define CERT_CHAIN_POLICY_TRUST_TESTROOT_FLAG 0x4000 +#define CERT_CHAIN_POLICY_ALLOW_TESTROOT_FLAG 0x8000 + + WINIMPM WINBOOL WINAPI CertVerifyCertificateChainPolicy (LPCSTR pszPolicyOID, PCCERT_CHAIN_CONTEXT pChainContext, PCERT_CHAIN_POLICY_PARA pPolicyPara, PCERT_CHAIN_POLICY_STATUS pPolicyStatus); + +#define CRYPT_OID_VERIFY_CERTIFICATE_CHAIN_POLICY_FUNC "CertDllVerifyCertificateChainPolicy" + +#define CERT_CHAIN_POLICY_BASE ((LPCSTR) 1) +#define CERT_CHAIN_POLICY_AUTHENTICODE ((LPCSTR) 2) +#define CERT_CHAIN_POLICY_AUTHENTICODE_TS ((LPCSTR) 3) +#define CERT_CHAIN_POLICY_SSL ((LPCSTR) 4) +#define CERT_CHAIN_POLICY_BASIC_CONSTRAINTS ((LPCSTR) 5) +#define CERT_CHAIN_POLICY_NT_AUTH ((LPCSTR) 6) +#define CERT_CHAIN_POLICY_MICROSOFT_ROOT ((LPCSTR) 7) +#define CERT_CHAIN_POLICY_EV ((LPCSTR) 8) +#define CERT_CHAIN_POLICY_SSL_F12 ((LPCSTR) 9) +#define CERT_CHAIN_POLICY_SSL_HPKP_HEADER ((LPCSTR) 10) +#define CERT_CHAIN_POLICY_THIRD_PARTY_ROOT ((LPCSTR) 11) +#define CERT_CHAIN_POLICY_SSL_KEY_PIN ((LPCSTR) 12) + + typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwRegPolicySettings; + PCMSG_SIGNER_INFO pSignerInfo; + } AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA, *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA; + + typedef struct _AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS { + DWORD cbSize; + WINBOOL fCommercial; + } AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS, *PAUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS; + + typedef struct _AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwRegPolicySettings; + WINBOOL fCommercial; + } AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA,*PAUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA; + +#define AUTHTYPE_CLIENT 1 +#define AUTHTYPE_SERVER 2 + + typedef struct _HTTPSPolicyCallbackData { + __C89_NAMELESS union { + DWORD cbStruct; + DWORD cbSize; + }; + DWORD dwAuthType; + DWORD fdwChecks; + WCHAR *pwszServerName; + } HTTPSPolicyCallbackData,*PHTTPSPolicyCallbackData,SSL_EXTRA_CERT_CHAIN_POLICY_PARA,*PSSL_EXTRA_CERT_CHAIN_POLICY_PARA; + +#define BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_CA_FLAG 0x80000000 +#define BASIC_CONSTRAINTS_CERT_CHAIN_POLICY_END_ENTITY_FLAG 0x40000000 +#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_ENABLE_TEST_ROOT_FLAG 0x00010000 +#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_CHECK_APPLICATION_ROOT_FLAG 0x00020000 +#define MICROSOFT_ROOT_CERT_CHAIN_POLICY_DISABLE_FLIGHT_ROOT_FLAG 0x00040000 + + typedef struct _EV_EXTRA_CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwRootProgramQualifierFlags; + } EV_EXTRA_CERT_CHAIN_POLICY_PARA,*PEV_EXTRA_CERT_CHAIN_POLICY_PARA; + + typedef struct _EV_EXTRA_CERT_CHAIN_POLICY_STATUS { + DWORD cbSize; + DWORD dwQualifiers; + DWORD dwIssuanceUsageIndex; + } EV_EXTRA_CERT_CHAIN_POLICY_STATUS,*PEV_EXTRA_CERT_CHAIN_POLICY_STATUS; + +#define SSL_F12_ERROR_TEXT_LENGTH 256 + typedef struct _SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS { + DWORD cbSize; + DWORD dwErrorLevel; + DWORD dwErrorCategory; + DWORD dwReserved; + WCHAR wszErrorText[SSL_F12_ERROR_TEXT_LENGTH]; /* Localized */ + } SSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS, *PSSL_F12_EXTRA_CERT_CHAIN_POLICY_STATUS; + +#define CERT_CHAIN_POLICY_SSL_F12_SUCCESS_LEVEL 0 +#define CERT_CHAIN_POLICY_SSL_F12_WARNING_LEVEL 1 +#define CERT_CHAIN_POLICY_SSL_F12_ERROR_LEVEL 2 + +#define CERT_CHAIN_POLICY_SSL_F12_NONE_CATEGORY 0 +#define CERT_CHAIN_POLICY_SSL_F12_WEAK_CRYPTO_CATEGORY 1 +#define CERT_CHAIN_POLICY_SSL_F12_ROOT_PROGRAM_CATEGORY 2 + +#define SSL_HPKP_PKP_HEADER_INDEX 0 +#define SSL_HPKP_PKP_RO_HEADER_INDEX 1 +#define SSL_HPKP_HEADER_COUNT 2 + + typedef struct _SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwReserved; + LPWSTR pwszServerName; + LPSTR rgpszHpkpValue[SSL_HPKP_HEADER_COUNT]; + } SSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_HPKP_HEADER_EXTRA_CERT_CHAIN_POLICY_PARA; + + typedef struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA { + DWORD cbSize; + DWORD dwReserved; + PCWSTR pwszServerName; + } SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA, *PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_PARA; + +#define SSL_KEY_PIN_ERROR_TEXT_LENGTH 512 + typedef struct _SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS { + DWORD cbSize; + LONG lError; + WCHAR wszErrorText[SSL_KEY_PIN_ERROR_TEXT_LENGTH]; + } SSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS, *PSSL_KEY_PIN_EXTRA_CERT_CHAIN_POLICY_STATUS; + +#define CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_ERROR -2 +#define CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_ERROR -1 +#define CERT_CHAIN_POLICY_SSL_KEY_PIN_SUCCESS 0 +#define CERT_CHAIN_POLICY_SSL_KEY_PIN_MITM_WARNING 1 +#define CERT_CHAIN_POLICY_SSL_KEY_PIN_MISMATCH_WARNING 2 + +#define CryptStringToBinary __MINGW_NAME_AW(CryptStringToBinary) +#define CryptBinaryToString __MINGW_NAME_AW(CryptBinaryToString) + + WINIMPM WINBOOL WINAPI CryptStringToBinaryA (LPCSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags); + WINIMPM WINBOOL WINAPI CryptStringToBinaryW (LPCWSTR pszString, DWORD cchString, DWORD dwFlags, BYTE *pbBinary, DWORD *pcbBinary, DWORD *pdwSkip, DWORD *pdwFlags); + WINIMPM WINBOOL WINAPI CryptBinaryToStringA (CONST BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPSTR pszString, DWORD *pcchString); + WINIMPM WINBOOL WINAPI CryptBinaryToStringW (CONST BYTE *pbBinary, DWORD cbBinary, DWORD dwFlags, LPWSTR pszString, DWORD *pcchString); + +#define CRYPT_STRING_BASE64HEADER 0x0 +#define CRYPT_STRING_BASE64 0x1 +#define CRYPT_STRING_BINARY 0x2 +#define CRYPT_STRING_BASE64REQUESTHEADER 0x00000003 +#define CRYPT_STRING_HEX 0x4 +#define CRYPT_STRING_HEXASCII 0x00000005 +#define CRYPT_STRING_BASE64_ANY 0x00000006 +#define CRYPT_STRING_ANY 0x00000007 +#define CRYPT_STRING_HEX_ANY 0x8 +#define CRYPT_STRING_BASE64X509CRLHEADER 0x00000009 +#define CRYPT_STRING_HEXADDR 0x0000000a +#define CRYPT_STRING_HEXASCIIADDR 0x0000000b +#define CRYPT_STRING_HEXRAW 0x0000000c +#define CRYPT_STRING_BASE64URI 0x0000000d + +#define CRYPT_STRING_ENCODEMASK 0x000000ff +#define CRYPT_STRING_RESERVED100 0x00000100 +#define CRYPT_STRING_RESERVED200 0x00000200 + +#define CRYPT_STRING_PERCENTESCAPE 0x08000000 +#define CRYPT_STRING_HASHDATA 0x10000000 +#define CRYPT_STRING_STRICT 0x20000000 +#define CRYPT_STRING_NOCRLF 0x40000000 +#define CRYPT_STRING_NOCR 0x80000000 + +#define szOID_PKCS_12_PbeIds "1.2.840.113549.1.12.1" +#define szOID_PKCS_12_pbeWithSHA1And128BitRC4 "1.2.840.113549.1.12.1.1" +#define szOID_PKCS_12_pbeWithSHA1And40BitRC4 "1.2.840.113549.1.12.1.2" +#define szOID_PKCS_12_pbeWithSHA1And3KeyTripleDES "1.2.840.113549.1.12.1.3" +#define szOID_PKCS_12_pbeWithSHA1And2KeyTripleDES "1.2.840.113549.1.12.1.4" +#define szOID_PKCS_12_pbeWithSHA1And128BitRC2 "1.2.840.113549.1.12.1.5" +#define szOID_PKCS_12_pbeWithSHA1And40BitRC2 "1.2.840.113549.1.12.1.6" +#define szOID_PKCS_5_PBKDF2 "1.2.840.113549.1.5.12" +#define szOID_PKCS_5_PBES2 "1.2.840.113549.1.5.13" + + typedef struct _CRYPT_PKCS12_PBE_PARAMS { + int iIterations; + ULONG cbSalt; + } CRYPT_PKCS12_PBE_PARAMS; + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 0x0A00 + WINIMPM HCERTSTORE WINAPI PFXImportCertStore (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define PKCS12_IMPORT_SILENT 0x40 +#define CRYPT_USER_KEYSET 0x1000 +#define PKCS12_PREFER_CNG_KSP 0x100 +#define PKCS12_ALWAYS_CNG_KSP 0x200 +#define PKCS12_ONLY_CERTIFICATES 0x00000400 +#define PKCS12_ONLY_NOT_ENCRYPTED_CERTIFICATES 0x00000800 +#define PKCS12_ALLOW_OVERWRITE_KEY 0x4000 +#define PKCS12_NO_PERSIST_KEY 0x8000 +#define PKCS12_VIRTUAL_ISOLATION_KEY 0x00010000 +#define PKCS12_IMPORT_RESERVED_MASK 0xffff0000 + +#define PKCS12_OBJECT_LOCATOR_ALL_IMPORT_FLAGS (PKCS12_ALWAYS_CNG_KSP | PKCS12_NO_PERSIST_KEY | PKCS12_IMPORT_SILENT | PKCS12_INCLUDE_EXTENDED_PROPERTIES) + +#define PKCS12_ONLY_CERTIFICATES_PROVIDER_TYPE 0 +#define PKCS12_ONLY_CERTIFICATES_PROVIDER_NAME L"PfxProvider" +#define PKCS12_ONLY_CERTIFICATES_CONTAINER_NAME L"PfxContainer" + + WINIMPM WINBOOL WINAPI PFXIsPFXBlob (CRYPT_DATA_BLOB *pPFX); + WINIMPM WINBOOL WINAPI PFXVerifyPassword (CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags); + WINIMPM WINBOOL WINAPI PFXExportCertStoreEx (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, void *pvPara, DWORD dwFlags); + +#define REPORT_NO_PRIVATE_KEY 0x1 +#define REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY 0x2 +#define EXPORT_PRIVATE_KEYS 0x4 +#define PKCS12_INCLUDE_EXTENDED_PROPERTIES 0x10 +#define PKCS12_PROTECT_TO_DOMAIN_SIDS 0x20 +#define PKCS12_EXPORT_SILENT 0x40 +#define PKCS12_EXPORT_PBES2_PARAMS 0x0080 +#define PKCS12_DISABLE_ENCRYPT_CERTIFICATES 0x0100 +#define PKCS12_ENCRYPT_CERTIFICATES 0x0200 +#define PKCS12_EXPORT_ECC_CURVE_PARAMETERS 0x1000 +#define PKCS12_EXPORT_ECC_CURVE_OID 0x2000 +#define PKCS12_EXPORT_RESERVED_MASK 0xffff0000 + +#define PKCS12_PBKDF2_ID_HMAC_SHA1 "1.2.840.113549.2.7" +#define PKCS12_PBKDF2_ID_HMAC_SHA256 "1.2.840.113549.2.9" +#define PKCS12_PBKDF2_ID_HMAC_SHA384 "1.2.840.113549.2.10" +#define PKCS12_PBKDF2_ID_HMAC_SHA512 "1.2.840.113549.2.11" + + typedef struct _PKCS12_PBES2_EXPORT_PARAMS { + DWORD dwSize; + PVOID hNcryptDescriptor; + LPWSTR pwszPbes2Alg; + } PKCS12_PBES2_EXPORT_PARAMS, *PPKCS12_PBES2_EXPORT_PARAMS; + +#define PKCS12_PBES2_ALG_AES256_SHA256 L"AES256-SHA256" +#define PKCS12_CONFIG_REGPATH L"Software\\Microsoft\\Windows\\CurrentVersion\\PFX" +#define PKCS12_ENCRYPT_CERTIFICATES_VALUE_NAME L"EncryptCertificates" + + WINIMPM WINBOOL WINAPI PFXExportCertStore (HCERTSTORE hStore, CRYPT_DATA_BLOB *pPFX, LPCWSTR szPassword, DWORD dwFlags); + +#if NTDDI_VERSION >= NTDDI_VISTA + typedef VOID *HCERT_SERVER_OCSP_RESPONSE; + + WINIMPM HCERT_SERVER_OCSP_RESPONSE WINAPI CertOpenServerOcspResponse (PCCERT_CHAIN_CONTEXT pChainContext, DWORD dwFlags, LPVOID pvReserved); + +#define CERT_SERVER_OCSP_RESPONSE_ASYNC_FLAG 0x1 + + WINIMPM VOID WINAPI CertAddRefServerOcspResponse (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse); + WINIMPM VOID WINAPI CertCloseServerOcspResponse (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags); + + typedef struct _CERT_SERVER_OCSP_RESPONSE_CONTEXT CERT_SERVER_OCSP_RESPONSE_CONTEXT,*PCERT_SERVER_OCSP_RESPONSE_CONTEXT; + typedef const CERT_SERVER_OCSP_RESPONSE_CONTEXT *PCCERT_SERVER_OCSP_RESPONSE_CONTEXT; + + struct _CERT_SERVER_OCSP_RESPONSE_CONTEXT { + DWORD cbSize; + BYTE *pbEncodedOcspResponse; + DWORD cbEncodedOcspResponse; + }; + + typedef VOID (CALLBACK *PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK)(PCCERT_CHAIN_CONTEXT pChainContext, PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext, PCCRL_CONTEXT pNewCrlContext, PCCRL_CONTEXT pPrevCrlContext, PVOID pvArg, DWORD dwWriteOcspFileError); + + typedef struct _CERT_SERVER_OCSP_RESPONSE_OPEN_PARA { + DWORD cbSize; + DWORD dwFlags; + DWORD *pcbUsedSize; + PWSTR pwszOcspDirectory; + PFN_CERT_SERVER_OCSP_RESPONSE_UPDATE_CALLBACK pfnUpdateCallback; + PVOID pvUpdateCallbackArg; + } CERT_SERVER_OCSP_RESPONSE_OPEN_PARA, *PCERT_SERVER_OCSP_RESPONSE_OPEN_PARA; + +#define CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_READ_FLAG 0x00000001 +#define CERT_SERVER_OCSP_RESPONSE_OPEN_PARA_WRITE_FLAG 0x00000002 + + WINIMPM PCCERT_SERVER_OCSP_RESPONSE_CONTEXT WINAPI CertGetServerOcspResponseContext (HCERT_SERVER_OCSP_RESPONSE hServerOcspResponse, DWORD dwFlags, LPVOID pvReserved); + WINIMPM VOID WINAPI CertAddRefServerOcspResponseContext (PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext); + WINIMPM VOID WINAPI CertFreeServerOcspResponseContext (PCCERT_SERVER_OCSP_RESPONSE_CONTEXT pServerOcspResponseContext); +#endif + WINIMPM WINBOOL WINAPI CertRetrieveLogoOrBiometricInfo (PCCERT_CONTEXT pCertContext, LPCSTR lpszLogoOrBiometricType, DWORD dwRetrievalFlags, DWORD dwTimeout, DWORD dwFlags, void *pvReserved, BYTE **ppbData, DWORD *pcbData, LPWSTR *ppwszMimeType); + +#define CERT_RETRIEVE_ISSUER_LOGO ((LPCSTR) 1) +#define CERT_RETRIEVE_SUBJECT_LOGO ((LPCSTR) 2) +#define CERT_RETRIEVE_COMMUNITY_LOGO ((LPCSTR) 3) + +#define CERT_RETRIEVE_BIOMETRIC_PREDEFINED_BASE_TYPE ((LPCSTR) 1000) + +#define CERT_RETRIEVE_BIOMETRIC_PICTURE_TYPE (CERT_RETRIEVE_BIOMETRIC_PREDEFINED_BASE_TYPE + CERT_BIOMETRIC_PICTURE_TYPE) +#define CERT_RETRIEVE_BIOMETRIC_SIGNATURE_TYPE (CERT_RETRIEVE_BIOMETRIC_PREDEFINED_BASE_TYPE + CERT_BIOMETRIC_SIGNATURE_TYPE) + +#if NTDDI_VERSION >= NTDDI_WIN7 + typedef struct _CERT_SELECT_CHAIN_PARA { + HCERTCHAINENGINE hChainEngine; + PFILETIME pTime; + HCERTSTORE hAdditionalStore; + PCERT_CHAIN_PARA pChainPara; + DWORD dwFlags; + } CERT_SELECT_CHAIN_PARA,*PCERT_SELECT_CHAIN_PARA; + + typedef const CERT_SELECT_CHAIN_PARA *PCCERT_SELECT_CHAIN_PARA; + +#define CERT_SELECT_MAX_PARA 500 + + typedef struct _CERT_SELECT_CRITERIA { + DWORD dwType; + DWORD cPara; + void **ppPara; + } CERT_SELECT_CRITERIA,*PCERT_SELECT_CRITERIA; + + typedef const CERT_SELECT_CRITERIA *PCCERT_SELECT_CRITERIA; + +#define CERT_SELECT_BY_ENHKEY_USAGE 1 +#define CERT_SELECT_BY_KEY_USAGE 2 +#define CERT_SELECT_BY_POLICY_OID 3 +#define CERT_SELECT_BY_PROV_NAME 4 +#define CERT_SELECT_BY_EXTENSION 5 +#define CERT_SELECT_BY_SUBJECT_HOST_NAME 6 +#define CERT_SELECT_BY_ISSUER_ATTR 7 +#define CERT_SELECT_BY_SUBJECT_ATTR 8 +#define CERT_SELECT_BY_ISSUER_NAME 9 +#define CERT_SELECT_BY_PUBLIC_KEY 10 +#define CERT_SELECT_BY_TLS_SIGNATURES 11 +#define CERT_SELECT_BY_ISSUER_DISPLAYNAME 12 +#define CERT_SELECT_BY_FRIENDLYNAME 13 +#define CERT_SELECT_BY_THUMBPRINT 14 + +#define CERT_SELECT_LAST CERT_SELECT_BY_TLS_SIGNATURES +#define CERT_SELECT_MAX (CERT_SELECT_LAST *3) + +#define CERT_SELECT_ALLOW_EXPIRED 0x1 +#define CERT_SELECT_TRUSTED_ROOT 0x2 +#define CERT_SELECT_DISALLOW_SELFSIGNED 0x4 +#define CERT_SELECT_HAS_PRIVATE_KEY 0x8 +#define CERT_SELECT_HAS_KEY_FOR_SIGNATURE 0x10 +#define CERT_SELECT_HAS_KEY_FOR_KEY_EXCHANGE 0x20 +#define CERT_SELECT_HARDWARE_ONLY 0x40 +#define CERT_SELECT_ALLOW_DUPLICATES 0x80 +#define CERT_SELECT_IGNORE_AUTOSELECT 0x00000100 + + WINIMPM WINBOOL WINAPI CertSelectCertificateChains (LPCGUID pSelectionContext, DWORD dwFlags, PCCERT_SELECT_CHAIN_PARA pChainParameters, DWORD cCriteria, PCCERT_SELECT_CRITERIA rgpCriteria, HCERTSTORE hStore, PDWORD pcSelection, PCCERT_CHAIN_CONTEXT **pprgpSelection); + WINIMPM VOID WINAPI CertFreeCertificateChainList (PCCERT_CHAIN_CONTEXT *prgpSelection); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN7 +#define TIMESTAMP_VERSION 1 + + typedef struct _CRYPT_TIMESTAMP_REQUEST { + DWORD dwVersion; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_DER_BLOB HashedMessage; + LPSTR pszTSAPolicyId; + CRYPT_INTEGER_BLOB Nonce; + WINBOOL fCertReq; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CRYPT_TIMESTAMP_REQUEST,*PCRYPT_TIMESTAMP_REQUEST; + + typedef struct _CRYPT_TIMESTAMP_RESPONSE { + DWORD dwStatus; + DWORD cFreeText; + LPWSTR *rgFreeText; + CRYPT_BIT_BLOB FailureInfo; + CRYPT_DER_BLOB ContentInfo; + } CRYPT_TIMESTAMP_RESPONSE,*PCRYPT_TIMESTAMP_RESPONSE; + +#define TIMESTAMP_STATUS_GRANTED 0 +#define TIMESTAMP_STATUS_GRANTED_WITH_MODS 1 +#define TIMESTAMP_STATUS_REJECTED 2 +#define TIMESTAMP_STATUS_WAITING 3 +#define TIMESTAMP_STATUS_REVOCATION_WARNING 4 +#define TIMESTAMP_STATUS_REVOKED 5 + +#define TIMESTAMP_FAILURE_BAD_ALG 0 +#define TIMESTAMP_FAILURE_BAD_REQUEST 2 +#define TIMESTAMP_FAILURE_BAD_FORMAT 5 +#define TIMESTAMP_FAILURE_TIME_NOT_AVAILABLE 14 +#define TIMESTAMP_FAILURE_POLICY_NOT_SUPPORTED 15 +#define TIMESTAMP_FAILURE_EXTENSION_NOT_SUPPORTED 16 +#define TIMESTAMP_FAILURE_INFO_NOT_AVAILABLE 17 +#define TIMESTAMP_FAILURE_SYSTEM_FAILURE 25 + + typedef struct _CRYPT_TIMESTAMP_ACCURACY { + DWORD dwSeconds; + DWORD dwMillis; + DWORD dwMicros; + } CRYPT_TIMESTAMP_ACCURACY,*PCRYPT_TIMESTAMP_ACCURACY; + + typedef struct _CRYPT_TIMESTAMP_INFO { + DWORD dwVersion; + LPSTR pszTSAPolicyId; + CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm; + CRYPT_DER_BLOB HashedMessage; + CRYPT_INTEGER_BLOB SerialNumber; + FILETIME ftTime; + PCRYPT_TIMESTAMP_ACCURACY pvAccuracy; + WINBOOL fOrdering; + CRYPT_DER_BLOB Nonce; + CRYPT_DER_BLOB Tsa; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CRYPT_TIMESTAMP_INFO,*PCRYPT_TIMESTAMP_INFO; + + typedef struct _CRYPT_TIMESTAMP_CONTEXT { + DWORD cbEncoded; + BYTE *pbEncoded; + PCRYPT_TIMESTAMP_INFO pTimeStamp; + } CRYPT_TIMESTAMP_CONTEXT,*PCRYPT_TIMESTAMP_CONTEXT; + + typedef struct _CRYPT_TIMESTAMP_PARA { + LPCSTR pszTSAPolicyId; + WINBOOL fRequestCerts; + CRYPT_INTEGER_BLOB Nonce; + DWORD cExtension; + PCERT_EXTENSION rgExtension; + } CRYPT_TIMESTAMP_PARA,*PCRYPT_TIMESTAMP_PARA; + + WINBOOL WINAPI CryptRetrieveTimeStamp (LPCWSTR wszUrl, DWORD dwRetrievalFlags, DWORD dwTimeout, LPCSTR pszHashId, const CRYPT_TIMESTAMP_PARA *pPara, const BYTE *pbData, DWORD cbData, PCRYPT_TIMESTAMP_CONTEXT *ppTsContext, PCCERT_CONTEXT *ppTsSigner, HCERTSTORE *phStore); + +#define TIMESTAMP_DONT_HASH_DATA 0x1 +#define TIMESTAMP_VERIFY_CONTEXT_SIGNATURE 0x20 +#define TIMESTAMP_NO_AUTH_RETRIEVAL 0x20000 + + WINBOOL WINAPI CryptVerifyTimeStampSignature (const BYTE *pbTSContentInfo, DWORD cbTSContentInfo, const BYTE *pbData, DWORD cbData, HCERTSTORE hAdditionalStore, PCRYPT_TIMESTAMP_CONTEXT *ppTsContext, PCCERT_CONTEXT *ppTsSigner, HCERTSTORE *phStore); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN8 +#define CRYPT_OBJECT_LOCATOR_SPN_NAME_TYPE 1 +#define CRYPT_OBJECT_LOCATOR_LAST_RESERVED_NAME_TYPE 32 +#define CRYPT_OBJECT_LOCATOR_FIRST_RESERVED_USER_NAME_TYPE 33 +#define CRYPT_OBJECT_LOCATOR_LAST_RESERVED_USER_NAME_TYPE 0x0000ffff + +#define SSL_OBJECT_LOCATOR_PFX_FUNC "SslObjectLocatorInitializePfx" +#define SSL_OBJECT_LOCATOR_ISSUER_LIST_FUNC "SslObjectLocatorInitializeIssuerList" +#define SSL_OBJECT_LOCATOR_CERT_VALIDATION_CONFIG_FUNC "SslObjectLocatorInitializeCertValidationConfig" + +#define CRYPT_OBJECT_LOCATOR_RELEASE_SYSTEM_SHUTDOWN 1 +#define CRYPT_OBJECT_LOCATOR_RELEASE_SERVICE_STOP 2 +#define CRYPT_OBJECT_LOCATOR_RELEASE_PROCESS_EXIT 3 +#define CRYPT_OBJECT_LOCATOR_RELEASE_DLL_UNLOAD 4 + + typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH) (LPVOID pContext, PCERT_NAME_BLOB *rgIdentifierOrNameList, DWORD dwIdentifierOrNameListCount); + typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET) (LPVOID pPluginContext, PCRYPT_DATA_BLOB pIdentifier, DWORD dwNameType, PCERT_NAME_BLOB pNameBlob, PBYTE *ppbContent, DWORD *pcbContent, PCWSTR *ppwszPassword, PCRYPT_DATA_BLOB *ppIdentifier); + typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE) (DWORD dwReason, LPVOID pPluginContext); + typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD) (LPVOID pPluginContext, PCWSTR pwszPassword); + typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE) (LPVOID pPluginContext, PBYTE pbData); + typedef void (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER) (LPVOID pPluginContext, PCRYPT_DATA_BLOB pIdentifier); + + typedef struct _CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE { + DWORD cbSize; + PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET pfnGet; + PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE pfnRelease; + PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD pfnFreePassword; + PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE pfnFree; + PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER pfnFreeIdentifier; + } CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE,*PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE; + + typedef WINBOOL (WINAPI *PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE) (PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH pfnFlush, LPVOID pContext, DWORD *pdwExpectedObjectCount, PCRYPT_OBJECT_LOCATOR_PROVIDER_TABLE *ppFuncTable, void **ppPluginContext); + + WINIMPM WINBOOL WINAPI CertIsWeakHash(DWORD dwHashUseType, LPCWSTR pwszCNGHashAlgid, DWORD dwChainFlags, PCCERT_CHAIN_CONTEXT pSignerChainContext, LPFILETIME pTimeStamp, LPCWSTR pwszFileName); + + typedef WINBOOL (WINAPI *PFN_CERT_IS_WEAK_HASH)(DWORD dwHashUseType, LPCWSTR pwszCNGHashAlgid, DWORD dwChainFlags, PCCERT_CHAIN_CONTEXT pSignerChainContext, LPFILETIME pTimeStamp, LPCWSTR pwszFileName); + +#define CERT_FILE_HASH_USE_TYPE 1 +#define CERT_TIMESTAMP_HASH_USE_TYPE 2 + +#endif +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#ifndef _WINCRYPT_NO_DPAPI +#include +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddi.h new file mode 100644 index 00000000..9b4b197d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddi.h @@ -0,0 +1,4168 @@ +/* + * winddi.h + * + * GDI device driver interface + * + * This file is part of the w32api package. + * + * Contributors: + * Created by Casper S. Hornstrup + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#ifndef _WINDDI_ +#define _WINDDI_ + +#ifdef __VIDEO_H__ +#error video.h cannot be included with winddi.h +#else + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef DECLSPEC_IMPORT +#ifndef __WIDL__ +#define DECLSPEC_IMPORT __declspec(dllimport) +#else +#define DECLSPEC_IMPORT +#endif +#endif + +#ifndef WIN32KAPI +#define WIN32KAPI DECLSPEC_ADDRSAFE +#endif + +#define DDI_DRIVER_VERSION_NT4 0x00020000 +#define DDI_DRIVER_VERSION_SP3 0x00020003 +#define DDI_DRIVER_VERSION_NT5 0x00030000 +#define DDI_DRIVER_VERSION_NT5_01 0x00030100 + +#define GDI_DRIVER_VERSION 0x4000 + +#ifdef _X86_ + +typedef DWORD FLOATL; + +#else /* !_X86_ */ + +typedef FLOAT FLOATL; + +#endif + +typedef SHORT FWORD; +typedef LONG LDECI4; +typedef ULONG IDENT; + +typedef ULONG_PTR HFF; +typedef ULONG_PTR HFC; + +typedef LONG PTRDIFF; +typedef PTRDIFF *PPTRDIFF; +typedef LONG FIX; +typedef FIX *PFIX; +typedef ULONG ROP4; +typedef ULONG MIX; +typedef ULONG HGLYPH; +typedef HGLYPH *PHGLYPH; + +typedef LONG_PTR (APIENTRY *PFN)(); + +DECLARE_HANDLE(HBM); +DECLARE_HANDLE(HDEV); +DECLARE_HANDLE(HSURF); +DECLARE_HANDLE(DHSURF); +DECLARE_HANDLE(DHPDEV); +DECLARE_HANDLE(HDRVOBJ); + +#ifndef _NTDDVDEO_ +typedef struct _ENG_EVENT *PEVENT; +#endif + +#define OPENGL_CMD 4352 +#define OPENGL_GETINFO 4353 +#define WNDOBJ_SETUP 4354 + +#define FD_ERROR 0xFFFFFFFF +#define DDI_ERROR 0xFFFFFFFF + +#define HFF_INVALID ((HFF) 0) +#define HFC_INVALID ((HFC) 0) +#define HGLYPH_INVALID ((HGLYPH) -1) + +#define FP_ALTERNATEMODE 1 +#define FP_WINDINGMODE 2 + +#define DN_ACCELERATION_LEVEL 1 +#define DN_DEVICE_ORIGIN 2 +#define DN_SLEEP_MODE 3 +#define DN_DRAWING_BEGIN 4 + +#define DCR_SOLID 0 +#define DCR_DRIVER 1 +#define DCR_HALFTONE 2 + +#define GX_IDENTITY 0 +#define GX_OFFSET 1 +#define GX_SCALE 2 +#define GX_GENERAL 3 + +#define LTOFX(x) ((x) << 4) +#define FXTOL(x) ((x) >> 4) +#define FXTOLFLOOR(x) ((x) >> 4) +#define FXTOLCEILING(x) ((x + 0x0F) >> 4) +#define FXTOLROUND(x) ((((x) >> 3) + 1) >> 1) + +typedef struct _POINTE { + FLOATL x; + FLOATL y; +} POINTE, *PPOINTE; + +typedef union _FLOAT_LONG { + FLOATL e; + LONG l; +} FLOAT_LONG, *PFLOAT_LONG; + +typedef struct _POINTFIX { + FIX x; + FIX y; +} POINTFIX, *PPOINTFIX; + +typedef struct _RECTFX { + FIX xLeft; + FIX yTop; + FIX xRight; + FIX yBottom; +} RECTFX, *PRECTFX; + +typedef struct _POINTQF { + LARGE_INTEGER x; + LARGE_INTEGER y; +} POINTQF, *PPOINTQF; + + +typedef struct _BLENDOBJ { + BLENDFUNCTION BlendFunction; +} BLENDOBJ,*PBLENDOBJ; + +/* BRUSHOBJ.flColorType */ +#define BR_DEVICE_ICM 0x01 +#define BR_HOST_ICM 0x02 +#define BR_CMYKCOLOR 0x04 +#define BR_ORIGCOLOR 0x08 + +typedef struct _BRUSHOBJ { + ULONG iSolidColor; + PVOID pvRbrush; + FLONG flColorType; +} BRUSHOBJ; + +typedef struct _CIECHROMA { + LDECI4 x; + LDECI4 y; + LDECI4 Y; +} CIECHROMA; + +typedef struct _RUN { + LONG iStart; + LONG iStop; +} RUN, *PRUN; + +typedef struct _CLIPLINE { + POINTFIX ptfxA; + POINTFIX ptfxB; + LONG lStyleState; + ULONG c; + RUN arun[1]; +} CLIPLINE, *PCLIPLINE; + +/* CLIPOBJ.iDComplexity constants */ +#define DC_TRIVIAL 0 +#define DC_RECT 1 +#define DC_COMPLEX 3 + +/* CLIPOBJ.iFComplexity constants */ +#define FC_RECT 1 +#define FC_RECT4 2 +#define FC_COMPLEX 3 + +/* CLIPOBJ.iMode constants */ +#define TC_RECTANGLES 0 +#define TC_PATHOBJ 2 + +/* CLIPOBJ.fjOptions constants */ +#define OC_BANK_CLIP 1 + +typedef struct _CLIPOBJ { + ULONG iUniq; + RECTL rclBounds; + BYTE iDComplexity; + BYTE iFComplexity; + BYTE iMode; + BYTE fjOptions; +} CLIPOBJ; + +typedef struct _COLORINFO { + CIECHROMA Red; + CIECHROMA Green; + CIECHROMA Blue; + CIECHROMA Cyan; + CIECHROMA Magenta; + CIECHROMA Yellow; + CIECHROMA AlignmentWhite; + LDECI4 RedGamma; + LDECI4 GreenGamma; + LDECI4 BlueGamma; + LDECI4 MagentaInCyanDye; + LDECI4 YellowInCyanDye; + LDECI4 CyanInMagentaDye; + LDECI4 YellowInMagentaDye; + LDECI4 CyanInYellowDye; + LDECI4 MagentaInYellowDye; +} COLORINFO, *PCOLORINFO; + +/* DEVHTADJDATA.DeviceFlags constants */ +#define DEVHTADJF_COLOR_DEVICE 0x00000001 +#define DEVHTADJF_ADDITIVE_DEVICE 0x00000002 + +typedef struct _DEVHTINFO { + DWORD HTFlags; + DWORD HTPatternSize; + DWORD DevPelsDPI; + COLORINFO ColorInfo; +} DEVHTINFO, *PDEVHTINFO; + +typedef struct _DEVHTADJDATA { + DWORD DeviceFlags; + DWORD DeviceXDPI; + DWORD DeviceYDPI; + PDEVHTINFO pDefHTInfo; + PDEVHTINFO pAdjHTInfo; +} DEVHTADJDATA, *PDEVHTADJDATA; + +/* DEVINFO.flGraphicsCaps flags */ +#define GCAPS_BEZIERS 0x00000001 +#define GCAPS_GEOMETRICWIDE 0x00000002 +#define GCAPS_ALTERNATEFILL 0x00000004 +#define GCAPS_WINDINGFILL 0x00000008 +#define GCAPS_HALFTONE 0x00000010 +#define GCAPS_COLOR_DITHER 0x00000020 +#define GCAPS_HORIZSTRIKE 0x00000040 +#define GCAPS_VERTSTRIKE 0x00000080 +#define GCAPS_OPAQUERECT 0x00000100 +#define GCAPS_VECTORFONT 0x00000200 +#define GCAPS_MONO_DITHER 0x00000400 +#define GCAPS_ASYNCCHANGE 0x00000800 +#define GCAPS_ASYNCMOVE 0x00001000 +#define GCAPS_DONTJOURNAL 0x00002000 +#define GCAPS_DIRECTDRAW 0x00004000 +#define GCAPS_ARBRUSHOPAQUE 0x00008000 +#define GCAPS_PANNING 0x00010000 +#define GCAPS_HIGHRESTEXT 0x00040000 +#define GCAPS_PALMANAGED 0x00080000 +#define GCAPS_DITHERONREALIZE 0x00200000 +#define GCAPS_NO64BITMEMACCESS 0x00400000 +#define GCAPS_FORCEDITHER 0x00800000 +#define GCAPS_GRAY16 0x01000000 +#define GCAPS_ICM 0x02000000 +#define GCAPS_CMYKCOLOR 0x04000000 +#define GCAPS_LAYERED 0x08000000 +#define GCAPS_ARBRUSHTEXT 0x10000000 +#define GCAPS_SCREENPRECISION 0x20000000 +#define GCAPS_FONT_RASTERIZER 0x40000000 +#define GCAPS_NUP 0x80000000 + +/* DEVINFO.iDitherFormat constants */ +#define BMF_1BPP __MSABI_LONG(1) +#define BMF_4BPP __MSABI_LONG(2) +#define BMF_8BPP __MSABI_LONG(3) +#define BMF_16BPP __MSABI_LONG(4) +#define BMF_24BPP __MSABI_LONG(5) +#define BMF_32BPP __MSABI_LONG(6) +#define BMF_4RLE __MSABI_LONG(7) +#define BMF_8RLE __MSABI_LONG(8) +#define BMF_JPEG __MSABI_LONG(9) +#define BMF_PNG __MSABI_LONG(10) + +/* DEVINFO.flGraphicsCaps2 flags */ +#define GCAPS2_JPEGSRC 0x00000001 +#define GCAPS2_xxxx 0x00000002 +#define GCAPS2_PNGSRC 0x00000008 +#define GCAPS2_CHANGEGAMMARAMP 0x00000010 +#define GCAPS2_ALPHACURSOR 0x00000020 +#define GCAPS2_SYNCFLUSH 0x00000040 +#define GCAPS2_SYNCTIMER 0x00000080 +#define GCAPS2_ICD_MULTIMON 0x00000100 +#define GCAPS2_MOUSETRAILS 0x00000200 +#define GCAPS2_RESERVED1 0x00000400 + +typedef struct _DEVINFO { + FLONG flGraphicsCaps; + LOGFONTW lfDefaultFont; + LOGFONTW lfAnsiVarFont; + LOGFONTW lfAnsiFixFont; + ULONG cFonts; + ULONG iDitherFormat; + USHORT cxDither; + USHORT cyDither; + HPALETTE hpalDefault; + FLONG flGraphicsCaps2; +} DEVINFO, *PDEVINFO; + +struct _DRIVEROBJ; + +typedef WINBOOL +(APIENTRY CALLBACK *FREEOBJPROC)( + struct _DRIVEROBJ *pDriverObj); + +typedef struct _DRIVEROBJ { + PVOID pvObj; + FREEOBJPROC pFreeProc; + HDEV hdev; + DHPDEV dhpdev; +} DRIVEROBJ; + +/* DRVFN.iFunc constants */ +#define INDEX_DrvEnablePDEV __MSABI_LONG(0) +#define INDEX_DrvCompletePDEV __MSABI_LONG(1) +#define INDEX_DrvDisablePDEV __MSABI_LONG(2) +#define INDEX_DrvEnableSurface __MSABI_LONG(3) +#define INDEX_DrvDisableSurface __MSABI_LONG(4) +#define INDEX_DrvAssertMode __MSABI_LONG(5) +#define INDEX_DrvOffset __MSABI_LONG(6) +#define INDEX_DrvResetPDEV __MSABI_LONG(7) +#define INDEX_DrvDisableDriver __MSABI_LONG(8) +#define INDEX_DrvUnknown1 __MSABI_LONG(9) +#define INDEX_DrvCreateDeviceBitmap __MSABI_LONG(10) +#define INDEX_DrvDeleteDeviceBitmap __MSABI_LONG(11) +#define INDEX_DrvRealizeBrush __MSABI_LONG(12) +#define INDEX_DrvDitherColor __MSABI_LONG(13) +#define INDEX_DrvStrokePath __MSABI_LONG(14) +#define INDEX_DrvFillPath __MSABI_LONG(15) +#define INDEX_DrvStrokeAndFillPath __MSABI_LONG(16) +#define INDEX_DrvPaint __MSABI_LONG(17) +#define INDEX_DrvBitBlt __MSABI_LONG(18) +#define INDEX_DrvCopyBits __MSABI_LONG(19) +#define INDEX_DrvStretchBlt __MSABI_LONG(20) +#define INDEX_DrvUnknown2 __MSABI_LONG(21) +#define INDEX_DrvSetPalette __MSABI_LONG(22) +#define INDEX_DrvTextOut __MSABI_LONG(23) +#define INDEX_DrvEscape __MSABI_LONG(24) +#define INDEX_DrvDrawEscape __MSABI_LONG(25) +#define INDEX_DrvQueryFont __MSABI_LONG(26) +#define INDEX_DrvQueryFontTree __MSABI_LONG(27) +#define INDEX_DrvQueryFontData __MSABI_LONG(28) +#define INDEX_DrvSetPointerShape __MSABI_LONG(29) +#define INDEX_DrvMovePointer __MSABI_LONG(30) +#define INDEX_DrvLineTo __MSABI_LONG(31) +#define INDEX_DrvSendPage __MSABI_LONG(32) +#define INDEX_DrvStartPage __MSABI_LONG(33) +#define INDEX_DrvEndDoc __MSABI_LONG(34) +#define INDEX_DrvStartDoc __MSABI_LONG(35) +#define INDEX_DrvUnknown3 __MSABI_LONG(36) +#define INDEX_DrvGetGlyphMode __MSABI_LONG(37) +#define INDEX_DrvSynchronize __MSABI_LONG(38) +#define INDEX_DrvUnknown4 __MSABI_LONG(39) +#define INDEX_DrvSaveScreenBits __MSABI_LONG(40) +#define INDEX_DrvGetModes __MSABI_LONG(41) +#define INDEX_DrvFree __MSABI_LONG(42) +#define INDEX_DrvDestroyFont __MSABI_LONG(43) +#define INDEX_DrvQueryFontCaps __MSABI_LONG(44) +#define INDEX_DrvLoadFontFile __MSABI_LONG(45) +#define INDEX_DrvUnloadFontFile __MSABI_LONG(46) +#define INDEX_DrvFontManagement __MSABI_LONG(47) +#define INDEX_DrvQueryTrueTypeTable __MSABI_LONG(48) +#define INDEX_DrvQueryTrueTypeOutline __MSABI_LONG(49) +#define INDEX_DrvGetTrueTypeFile __MSABI_LONG(50) +#define INDEX_DrvQueryFontFile __MSABI_LONG(51) +#define INDEX_DrvMovePanning __MSABI_LONG(52) +#define INDEX_DrvQueryAdvanceWidths __MSABI_LONG(53) +#define INDEX_DrvSetPixelFormat __MSABI_LONG(54) +#define INDEX_DrvDescribePixelFormat __MSABI_LONG(55) +#define INDEX_DrvSwapBuffers __MSABI_LONG(56) +#define INDEX_DrvStartBanding __MSABI_LONG(57) +#define INDEX_DrvNextBand __MSABI_LONG(58) +#define INDEX_DrvGetDirectDrawInfo __MSABI_LONG(59) +#define INDEX_DrvEnableDirectDraw __MSABI_LONG(60) +#define INDEX_DrvDisableDirectDraw __MSABI_LONG(61) +#define INDEX_DrvQuerySpoolType __MSABI_LONG(62) +#define INDEX_DrvUnknown5 __MSABI_LONG(63) +#define INDEX_DrvIcmCreateColorTransform __MSABI_LONG(64) +#define INDEX_DrvIcmDeleteColorTransform __MSABI_LONG(65) +#define INDEX_DrvIcmCheckBitmapBits __MSABI_LONG(66) +#define INDEX_DrvIcmSetDeviceGammaRamp __MSABI_LONG(67) +#define INDEX_DrvGradientFill __MSABI_LONG(68) +#define INDEX_DrvStretchBltROP __MSABI_LONG(69) +#define INDEX_DrvPlgBlt __MSABI_LONG(70) +#define INDEX_DrvAlphaBlend __MSABI_LONG(71) +#define INDEX_DrvSynthesizeFont __MSABI_LONG(72) +#define INDEX_DrvGetSynthesizedFontFiles __MSABI_LONG(73) +#define INDEX_DrvTransparentBlt __MSABI_LONG(74) +#define INDEX_DrvQueryPerBandInfo __MSABI_LONG(75) +#define INDEX_DrvQueryDeviceSupport __MSABI_LONG(76) +#define INDEX_DrvReserved1 __MSABI_LONG(77) +#define INDEX_DrvReserved2 __MSABI_LONG(78) +#define INDEX_DrvReserved3 __MSABI_LONG(79) +#define INDEX_DrvReserved4 __MSABI_LONG(80) +#define INDEX_DrvReserved5 __MSABI_LONG(81) +#define INDEX_DrvReserved6 __MSABI_LONG(82) +#define INDEX_DrvReserved7 __MSABI_LONG(83) +#define INDEX_DrvReserved8 __MSABI_LONG(84) +#define INDEX_DrvDeriveSurface __MSABI_LONG(85) +#define INDEX_DrvQueryGlyphAttrs __MSABI_LONG(86) +#define INDEX_DrvNotify __MSABI_LONG(87) +#define INDEX_DrvSynchronizeSurface __MSABI_LONG(88) +#define INDEX_DrvResetDevice __MSABI_LONG(89) +#define INDEX_DrvReserved9 __MSABI_LONG(90) +#define INDEX_DrvReserved10 __MSABI_LONG(91) +#define INDEX_DrvReserved11 __MSABI_LONG(92) +#define INDEX_LAST __MSABI_LONG(93) + +typedef struct _DRVFN { + ULONG iFunc; + PFN pfn; +} DRVFN, *PDRVFN; + +/* DRVENABLEDATA.iDriverVersion constants */ +#define DDI_DRIVER_VERSION_NT4 0x00020000 +#define DDI_DRIVER_VERSION_SP3 0x00020003 +#define DDI_DRIVER_VERSION_NT5 0x00030000 +#define DDI_DRIVER_VERSION_NT5_01 0x00030100 +#define DDI_DRIVER_VERSION_NT5_01_SP1 0x00030101 + +typedef struct _DRVENABLEDATA { + ULONG iDriverVersion; + ULONG c; + DRVFN *pdrvfn; +} DRVENABLEDATA, *PDRVENABLEDATA; + +DECLARE_HANDLE(HSEMAPHORE); + +typedef struct { + DWORD nSize; + HDC hdc; + PBYTE pvEMF; + PBYTE pvCurrentRecord; +} EMFINFO, *PEMFINFO; + +typedef struct _ENGSAFESEMAPHORE { + HSEMAPHORE hsem; + LONG lCount; +} ENGSAFESEMAPHORE; + +typedef struct _ENG_TIME_FIELDS { + USHORT usYear; + USHORT usMonth; + USHORT usDay; + USHORT usHour; + USHORT usMinute; + USHORT usSecond; + USHORT usMilliseconds; + USHORT usWeekday; +} ENG_TIME_FIELDS, *PENG_TIME_FIELDS; + +typedef struct _ENUMRECTS { + ULONG c; + RECTL arcl[1]; +} ENUMRECTS; + +typedef struct _FD_XFORM { + FLOATL eXX; + FLOATL eXY; + FLOATL eYX; + FLOATL eYY; +} FD_XFORM, *PFD_XFORM; + +/* FD_DEVICEMETRICS.flRealizedType constants */ +#define FDM_TYPE_BM_SIDE_CONST 0x00000001 +#define FDM_TYPE_MAXEXT_EQUAL_BM_SIDE 0x00000002 +#define FDM_TYPE_CHAR_INC_EQUAL_BM_BASE 0x00000004 +#define FDM_TYPE_ZERO_BEARINGS 0x00000008 +#define FDM_TYPE_CONST_BEARINGS 0x00000010 + +typedef struct _FD_DEVICEMETRICS { + FLONG flRealizedType; + POINTE pteBase; + POINTE pteSide; + LONG lD; + FIX fxMaxAscender; + FIX fxMaxDescender; + POINTL ptlUnderline1; + POINTL ptlStrikeout; + POINTL ptlULThickness; + POINTL ptlSOThickness; + ULONG cxMax; + ULONG cyMax; + ULONG cjGlyphMax; + FD_XFORM fdxQuantized; + LONG lNonLinearExtLeading; + LONG lNonLinearIntLeading; + LONG lNonLinearMaxCharWidth; + LONG lNonLinearAvgCharWidth; + LONG lMinA; + LONG lMinC; + LONG lMinD; + LONG alReserved[1]; +} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS; + +/* FD_GLYPHATTR.iMode constants */ +#define FO_ATTR_MODE_ROTATE 1 + +typedef struct _FD_GLYPHATTR { + ULONG cjThis; + ULONG cGlyphs; + ULONG iMode; + BYTE aGlyphAttr[1]; +} FD_GLYPHATTR, *PFD_GLYPHATTR; + +/* FD_GLYPHSET.flAccel */ +#define GS_UNICODE_HANDLES 0x00000001 +#define GS_8BIT_HANDLES 0x00000002 +#define GS_16BIT_HANDLES 0x00000004 + +typedef struct _WCRUN { + WCHAR wcLow; + USHORT cGlyphs; + HGLYPH *phg; +} WCRUN, *PWCRUN; + +typedef struct _FD_GLYPHSET { + ULONG cjThis; + FLONG flAccel; + ULONG cGlyphsSupported; + ULONG cRuns; + WCRUN awcrun[1]; +} FD_GLYPHSET, *PFD_GLYPHSET; + +typedef struct _FD_KERNINGPAIR { + WCHAR wcFirst; + WCHAR wcSecond; + FWORD fwdKern; +} FD_KERNINGPAIR; + +#if defined(_X86_) && !defined(USERMODE_DRIVER) +typedef struct _FLOATOBJ +{ + ULONG ul1; + ULONG ul2; +} FLOATOBJ, *PFLOATOBJ; +#else +typedef FLOAT FLOATOBJ, *PFLOATOBJ; +#endif + +typedef struct _FLOATOBJ_XFORM { + FLOATOBJ eM11; + FLOATOBJ eM12; + FLOATOBJ eM21; + FLOATOBJ eM22; + FLOATOBJ eDx; + FLOATOBJ eDy; +} FLOATOBJ_XFORM, *PFLOATOBJ_XFORM, FAR *LPFLOATOBJ_XFORM; + +/* FONTDIFF.fsSelection */ +#define FM_SEL_ITALIC 0x0001 +#define FM_SEL_UNDERSCORE 0x0002 +#define FM_SEL_NEGATIVE 0x0004 +#define FM_SEL_OUTLINED 0x0008 +#define FM_SEL_STRIKEOUT 0x0010 +#define FM_SEL_BOLD 0x0020 +#define FM_SEL_REGULAR 0x0040 + +typedef struct _FONTDIFF { + BYTE jReserved1; + BYTE jReserved2; + BYTE jReserved3; + BYTE bWeight; + USHORT usWinWeight; + FSHORT fsSelection; + FWORD fwdAveCharWidth; + FWORD fwdMaxCharInc; + POINTL ptlCaret; +} FONTDIFF; + +typedef struct _FONTSIM { + PTRDIFF dpBold; + PTRDIFF dpItalic; + PTRDIFF dpBoldItalic; +} FONTSIM; + +/* FONTINFO.flCaps constants */ +#define FO_DEVICE_FONT __MSABI_LONG(1) +#define FO_OUTLINE_CAPABLE __MSABI_LONG(2) + +typedef struct _FONTINFO { + ULONG cjThis; + FLONG flCaps; + ULONG cGlyphsSupported; + ULONG cjMaxGlyph1; + ULONG cjMaxGlyph4; + ULONG cjMaxGlyph8; + ULONG cjMaxGlyph32; +} FONTINFO, *PFONTINFO; + +/* FONTOBJ.flFontType constants */ +#define FO_TYPE_RASTER RASTER_FONTTYPE +#define FO_TYPE_DEVICE DEVICE_FONTTYPE +#define FO_TYPE_TRUETYPE TRUETYPE_FONTTYPE +#define FO_TYPE_OPENTYPE OPENTYPE_FONTTYPE + +#define FO_SIM_BOLD 0x00002000 +#define FO_SIM_ITALIC 0x00004000 +#define FO_EM_HEIGHT 0x00008000 +#define FO_GRAY16 0x00010000 +#define FO_NOGRAY16 0x00020000 +#define FO_NOHINTS 0x00040000 +#define FO_NO_CHOICE 0x00080000 +#define FO_CFF 0x00100000 +#define FO_POSTSCRIPT 0x00200000 +#define FO_MULTIPLEMASTER 0x00400000 +#define FO_VERT_FACE 0x00800000 +#define FO_DBCS_FONT 0X01000000 +#define FO_NOCLEARTYPE 0x02000000 +#define FO_CLEARTYPE_X 0x10000000 +#define FO_CLEARTYPE_Y 0x20000000 + +typedef struct _FONTOBJ { + ULONG iUniq; + ULONG iFace; + ULONG cxMax; + FLONG flFontType; + ULONG_PTR iTTUniq; + ULONG_PTR iFile; + SIZE sizLogResPpi; + ULONG ulStyleSize; + PVOID pvConsumer; + PVOID pvProducer; +} FONTOBJ; + +typedef struct _GAMMARAMP { + WORD Red[256]; + WORD Green[256]; + WORD Blue[256]; +} GAMMARAMP, *PGAMMARAMP; + +/* GDIINFO.ulPrimaryOrder constants */ +#define PRIMARY_ORDER_ABC 0 +#define PRIMARY_ORDER_ACB 1 +#define PRIMARY_ORDER_BAC 2 +#define PRIMARY_ORDER_BCA 3 +#define PRIMARY_ORDER_CBA 4 +#define PRIMARY_ORDER_CAB 5 + +/* GDIINFO.ulHTPatternSize constants */ +#define HT_PATSIZE_2x2 0 +#define HT_PATSIZE_2x2_M 1 +#define HT_PATSIZE_4x4 2 +#define HT_PATSIZE_4x4_M 3 +#define HT_PATSIZE_6x6 4 +#define HT_PATSIZE_6x6_M 5 +#define HT_PATSIZE_8x8 6 +#define HT_PATSIZE_8x8_M 7 +#define HT_PATSIZE_10x10 8 +#define HT_PATSIZE_10x10_M 9 +#define HT_PATSIZE_12x12 10 +#define HT_PATSIZE_12x12_M 11 +#define HT_PATSIZE_14x14 12 +#define HT_PATSIZE_14x14_M 13 +#define HT_PATSIZE_16x16 14 +#define HT_PATSIZE_16x16_M 15 +#define HT_PATSIZE_SUPERCELL 16 +#define HT_PATSIZE_SUPERCELL_M 17 +#define HT_PATSIZE_USER 18 +#define HT_PATSIZE_MAX_INDEX HT_PATSIZE_USER +#define HT_PATSIZE_DEFAULT HT_PATSIZE_SUPERCELL_M +#define HT_USERPAT_CX_MIN 4 +#define HT_USERPAT_CX_MAX 256 +#define HT_USERPAT_CY_MIN 4 +#define HT_USERPAT_CY_MAX 256 + +/* GDIINFO.ulHTOutputFormat constants */ +#define HT_FORMAT_1BPP 0 +#define HT_FORMAT_4BPP 2 +#define HT_FORMAT_4BPP_IRGB 3 +#define HT_FORMAT_8BPP 4 +#define HT_FORMAT_16BPP 5 +#define HT_FORMAT_24BPP 6 +#define HT_FORMAT_32BPP 7 + +/* GDIINFO.flHTFlags */ +#define HT_FLAG_SQUARE_DEVICE_PEL 0x00000001 +#define HT_FLAG_HAS_BLACK_DYE 0x00000002 +#define HT_FLAG_ADDITIVE_PRIMS 0x00000004 +#define HT_FLAG_USE_8BPP_BITMASK 0x00000008 +#define HT_FLAG_INK_HIGH_ABSORPTION 0x00000010 +#define HT_FLAG_INK_ABSORPTION_INDICES 0x00000060 +#define HT_FLAG_DO_DEVCLR_XFORM 0x00000080 +#define HT_FLAG_OUTPUT_CMY 0x00000100 +#define HT_FLAG_PRINT_DRAFT_MODE 0x00000200 +#define HT_FLAG_INVERT_8BPP_BITMASK_IDX 0x00000400 +#define HT_FLAG_8BPP_CMY332_MASK 0xFF000000 + +#define MAKE_CMYMASK_BYTE(c,m,y) ((BYTE)(((BYTE)(c) & 0x07) << 5) \ + |(BYTE)(((BYTE)(m) & 0x07) << 2) \ + |(BYTE)((BYTE)(y) & 0x03)) + +#define MAKE_CMY332_MASK(c,m,y) ((DWORD)(((DWORD)(c) & 0x07) << 29)\ + |(DWORD)(((DWORD)(m) & 0x07) << 26)\ + |(DWORD)(((DWORD)(y) & 0x03) << 24)) + +/* GDIINFO.flHTFlags constants */ +#define HT_FLAG_INK_ABSORPTION_IDX0 0x00000000 +#define HT_FLAG_INK_ABSORPTION_IDX1 0x00000020 +#define HT_FLAG_INK_ABSORPTION_IDX2 0x00000040 +#define HT_FLAG_INK_ABSORPTION_IDX3 0x00000060 + +#define HT_FLAG_HIGHEST_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ + |HT_FLAG_INK_ABSORPTION_IDX3) +#define HT_FLAG_HIGHER_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ + |HT_FLAG_INK_ABSORPTION_IDX2) +#define HT_FLAG_HIGH_INK_ABSORPTION (HT_FLAG_INK_HIGH_ABSORPTION \ + |HT_FLAG_INK_ABSORPTION_IDX1) +#define HT_FLAG_NORMAL_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX0 +#define HT_FLAG_LOW_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX1 +#define HT_FLAG_LOWER_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX2 +#define HT_FLAG_LOWEST_INK_ABSORPTION HT_FLAG_INK_ABSORPTION_IDX3 + +#define HT_BITMASKPALRGB (DWORD)'0BGR' +#define HT_SET_BITMASKPAL2RGB(pPal) (*((LPDWORD)(pPal)) = HT_BITMASKPALRGB) +#define HT_IS_BITMASKPALRGB(pPal) (*((LPDWORD)(pPal)) == (DWORD)0) + +/* GDIINFO.ulPhysicalPixelCharacteristics constants */ +#define PPC_DEFAULT 0x0 +#define PPC_UNDEFINED 0x1 +#define PPC_RGB_ORDER_VERTICAL_STRIPES 0x2 +#define PPC_BGR_ORDER_VERTICAL_STRIPES 0x3 +#define PPC_RGB_ORDER_HORIZONTAL_STRIPES 0x4 +#define PPC_BGR_ORDER_HORIZONTAL_STRIPES 0x5 + +#define PPG_DEFAULT 0 +#define PPG_SRGB 1 + +typedef struct _GDIINFO { + ULONG ulVersion; + ULONG ulTechnology; + ULONG ulHorzSize; + ULONG ulVertSize; + ULONG ulHorzRes; + ULONG ulVertRes; + ULONG cBitsPixel; + ULONG cPlanes; + ULONG ulNumColors; + ULONG flRaster; + ULONG ulLogPixelsX; + ULONG ulLogPixelsY; + ULONG flTextCaps; + ULONG ulDACRed; + ULONG ulDACGreen; + ULONG ulDACBlue; + ULONG ulAspectX; + ULONG ulAspectY; + ULONG ulAspectXY; + LONG xStyleStep; + LONG yStyleStep; + LONG denStyleStep; + POINTL ptlPhysOffset; + SIZEL szlPhysSize; + ULONG ulNumPalReg; + COLORINFO ciDevice; + ULONG ulDevicePelsDPI; + ULONG ulPrimaryOrder; + ULONG ulHTPatternSize; + ULONG ulHTOutputFormat; + ULONG flHTFlags; + ULONG ulVRefresh; + ULONG ulBltAlignment; + ULONG ulPanningHorzRes; + ULONG ulPanningVertRes; + ULONG xPanningAlignment; + ULONG yPanningAlignment; + ULONG cxHTPat; + ULONG cyHTPat; + LPBYTE pHTPatA; + LPBYTE pHTPatB; + LPBYTE pHTPatC; + ULONG flShadeBlend; + ULONG ulPhysicalPixelCharacteristics; + ULONG ulPhysicalPixelGamma; +} GDIINFO, *PGDIINFO; + +/* PATHDATA.flags constants */ +#define PD_BEGINSUBPATH 0x00000001 +#define PD_ENDSUBPATH 0x00000002 +#define PD_RESETSTYLE 0x00000004 +#define PD_CLOSEFIGURE 0x00000008 +#define PD_BEZIERS 0x00000010 +#define PD_ALL (PD_BEGINSUBPATH \ + |PD_ENDSUBPATH \ + |PD_RESETSTYLE \ + |PD_CLOSEFIGURE \ + PD_BEZIERS) + +typedef struct _PATHDATA { + FLONG flags; + ULONG count; + POINTFIX *pptfx; +} PATHDATA, *PPATHDATA; + +/* PATHOBJ.fl constants */ +#define PO_BEZIERS 0x00000001 +#define PO_ELLIPSE 0x00000002 +#define PO_ALL_INTEGERS 0x00000004 +#define PO_ENUM_AS_INTEGERS 0x00000008 + +typedef struct _PATHOBJ { + FLONG fl; + ULONG cCurves; +} PATHOBJ; + +typedef struct _GLYPHBITS { + POINTL ptlOrigin; + SIZEL sizlBitmap; + BYTE aj[1]; +} GLYPHBITS; + +typedef union _GLYPHDEF { + GLYPHBITS *pgb; + PATHOBJ *ppo; +} GLYPHDEF; + +typedef struct _GLYPHPOS { + HGLYPH hg; + GLYPHDEF *pgdf; + POINTL ptl; +} GLYPHPOS, *PGLYPHPOS; + +typedef struct _GLYPHDATA { + GLYPHDEF gdf; + HGLYPH hg; + FIX fxD; + FIX fxA; + FIX fxAB; + FIX fxInkTop; + FIX fxInkBottom; + RECTL rclInk; + POINTQF ptqD; +} GLYPHDATA; + +typedef struct _IFIEXTRA { + ULONG ulIdentifier; + PTRDIFF dpFontSig; + ULONG cig; + PTRDIFF dpDesignVector; + PTRDIFF dpAxesInfoW; + ULONG aulReserved[1]; +} IFIEXTRA, *PIFIEXTRA; + +/* IFIMETRICS constants */ + +#define FM_VERSION_NUMBER 0x0 + +/* IFIMETRICS.fsType constants */ +#define FM_TYPE_LICENSED 0x2 +#define FM_READONLY_EMBED 0x4 +#define FM_EDITABLE_EMBED 0x8 +#define FM_NO_EMBEDDING FM_TYPE_LICENSED + +/* IFIMETRICS.flInfo constants */ +#define FM_INFO_TECH_TRUETYPE 0x00000001 +#define FM_INFO_TECH_BITMAP 0x00000002 +#define FM_INFO_TECH_STROKE 0x00000004 +#define FM_INFO_TECH_OUTLINE_NOT_TRUETYPE 0x00000008 +#define FM_INFO_ARB_XFORMS 0x00000010 +#define FM_INFO_1BPP 0x00000020 +#define FM_INFO_4BPP 0x00000040 +#define FM_INFO_8BPP 0x00000080 +#define FM_INFO_16BPP 0x00000100 +#define FM_INFO_24BPP 0x00000200 +#define FM_INFO_32BPP 0x00000400 +#define FM_INFO_INTEGER_WIDTH 0x00000800 +#define FM_INFO_CONSTANT_WIDTH 0x00001000 +#define FM_INFO_NOT_CONTIGUOUS 0x00002000 +#define FM_INFO_TECH_MM 0x00004000 +#define FM_INFO_RETURNS_OUTLINES 0x00008000 +#define FM_INFO_RETURNS_STROKES 0x00010000 +#define FM_INFO_RETURNS_BITMAPS 0x00020000 +#define FM_INFO_DSIG 0x00040000 +#define FM_INFO_RIGHT_HANDED 0x00080000 +#define FM_INFO_INTEGRAL_SCALING 0x00100000 +#define FM_INFO_90DEGREE_ROTATIONS 0x00200000 +#define FM_INFO_OPTICALLY_FIXED_PITCH 0x00400000 +#define FM_INFO_DO_NOT_ENUMERATE 0x00800000 +#define FM_INFO_ISOTROPIC_SCALING_ONLY 0x01000000 +#define FM_INFO_ANISOTROPIC_SCALING_ONLY 0x02000000 +#define FM_INFO_TECH_CFF 0x04000000 +#define FM_INFO_FAMILY_EQUIV 0x08000000 +#define FM_INFO_DBCS_FIXED_PITCH 0x10000000 +#define FM_INFO_NONNEGATIVE_AC 0x20000000 +#define FM_INFO_IGNORE_TC_RA_ABLE 0x40000000 +#define FM_INFO_TECH_TYPE1 0x80000000 + +#define MAXCHARSETS 16 + +/* IFIMETRICS.ulPanoseCulture constants */ +#define FM_PANOSE_CULTURE_LATIN 0x0 + +typedef struct _IFIMETRICS { + ULONG cjThis; + ULONG cjIfiExtra; + PTRDIFF dpwszFamilyName; + PTRDIFF dpwszStyleName; + PTRDIFF dpwszFaceName; + PTRDIFF dpwszUniqueName; + PTRDIFF dpFontSim; + LONG lEmbedId; + LONG lItalicAngle; + LONG lCharBias; + PTRDIFF dpCharSets; + BYTE jWinCharSet; + BYTE jWinPitchAndFamily; + USHORT usWinWeight; + ULONG flInfo; + USHORT fsSelection; + USHORT fsType; + FWORD fwdUnitsPerEm; + FWORD fwdLowestPPEm; + FWORD fwdWinAscender; + FWORD fwdWinDescender; + FWORD fwdMacAscender; + FWORD fwdMacDescender; + FWORD fwdMacLineGap; + FWORD fwdTypoAscender; + FWORD fwdTypoDescender; + FWORD fwdTypoLineGap; + FWORD fwdAveCharWidth; + FWORD fwdMaxCharInc; + FWORD fwdCapHeight; + FWORD fwdXHeight; + FWORD fwdSubscriptXSize; + FWORD fwdSubscriptYSize; + FWORD fwdSubscriptXOffset; + FWORD fwdSubscriptYOffset; + FWORD fwdSuperscriptXSize; + FWORD fwdSuperscriptYSize; + FWORD fwdSuperscriptXOffset; + FWORD fwdSuperscriptYOffset; + FWORD fwdUnderscoreSize; + FWORD fwdUnderscorePosition; + FWORD fwdStrikeoutSize; + FWORD fwdStrikeoutPosition; + BYTE chFirstChar; + BYTE chLastChar; + BYTE chDefaultChar; + BYTE chBreakChar; + WCHAR wcFirstChar; + WCHAR wcLastChar; + WCHAR wcDefaultChar; + WCHAR wcBreakChar; + POINTL ptlBaseline; + POINTL ptlAspect; + POINTL ptlCaret; + RECTL rclFontBox; + BYTE achVendId[4]; + ULONG cKerningPairs; + ULONG ulPanoseCulture; + PANOSE panose; +#if defined(_WIN64) + PVOID Align; +#endif +} IFIMETRICS, *PIFIMETRICS; + +/* LINEATTRS.fl */ +#define LA_GEOMETRIC 0x00000001 +#define LA_ALTERNATE 0x00000002 +#define LA_STARTGAP 0x00000004 +#define LA_STYLED 0x00000008 + +/* LINEATTRS.iJoin */ +#define JOIN_ROUND __MSABI_LONG(0) +#define JOIN_BEVEL __MSABI_LONG(1) +#define JOIN_MITER __MSABI_LONG(2) + +/* LINEATTRS.iEndCap */ +#define ENDCAP_ROUND __MSABI_LONG(0) +#define ENDCAP_SQUARE __MSABI_LONG(1) +#define ENDCAP_BUTT __MSABI_LONG(2) + +typedef struct _LINEATTRS { + FLONG fl; + ULONG iJoin; + ULONG iEndCap; + FLOAT_LONG elWidth; + FLOATL eMiterLimit; + ULONG cstyle; + PFLOAT_LONG pstyle; + FLOAT_LONG elStyleState; +} LINEATTRS, *PLINEATTRS; + +typedef struct _PALOBJ { + ULONG ulReserved; +} PALOBJ; + +typedef struct _PERBANDINFO { + WINBOOL bRepeatThisBand; + SIZEL szlBand; + ULONG ulHorzRes; + ULONG ulVertRes; +} PERBANDINFO, *PPERBANDINFO; + +/* STROBJ.flAccel constants */ +#define SO_FLAG_DEFAULT_PLACEMENT 0x00000001 +#define SO_HORIZONTAL 0x00000002 +#define SO_VERTICAL 0x00000004 +#define SO_REVERSED 0x00000008 +#define SO_ZERO_BEARINGS 0x00000010 +#define SO_CHAR_INC_EQUAL_BM_BASE 0x00000020 +#define SO_MAXEXT_EQUAL_BM_SIDE 0x00000040 +#define SO_DO_NOT_SUBSTITUTE_DEVICE_FONT 0x00000080 +#define SO_GLYPHINDEX_TEXTOUT 0x00000100 +#define SO_ESC_NOT_ORIENT 0x00000200 +#define SO_DXDY 0x00000400 +#define SO_CHARACTER_EXTRA 0x00000800 +#define SO_BREAK_EXTRA 0x00001000 + +typedef struct _STROBJ { + ULONG cGlyphs; + FLONG flAccel; + ULONG ulCharInc; + RECTL rclBkGround; + GLYPHPOS *pgp; + LPWSTR pwszOrg; +} STROBJ; + + + +/* SURFOBJ.iType constants */ +#define STYPE_BITMAP __MSABI_LONG(0) +#define STYPE_DEVICE __MSABI_LONG(1) +#define STYPE_DEVBITMAP __MSABI_LONG(3) + +/* SURFOBJ.fjBitmap constants */ +#define BMF_TOPDOWN 0x0001 +#define BMF_NOZEROINIT 0x0002 +#define BMF_DONTCACHE 0x0004 +#define BMF_USERMEM 0x0008 +#define BMF_KMSECTION 0x0010 +#define BMF_NOTSYSMEM 0x0020 +#define BMF_WINDOW_BLT 0x0040 +#define BMF_UMPDMEM 0x0080 +#define BMF_RESERVED 0xFF00 + +typedef struct _SURFOBJ { + DHSURF dhsurf; + HSURF hsurf; + DHPDEV dhpdev; + HDEV hdev; + SIZEL sizlBitmap; + ULONG cjBits; + PVOID pvBits; + PVOID pvScan0; + LONG lDelta; + ULONG iUniq; + ULONG iBitmapFormat; + USHORT iType; + USHORT fjBitmap; +} SURFOBJ; + +typedef struct _TYPE1_FONT { + HANDLE hPFM; + HANDLE hPFB; + ULONG ulIdentifier; +} TYPE1_FONT; + +typedef struct _WNDOBJ { + CLIPOBJ coClient; + PVOID pvConsumer; + RECTL rclClient; + SURFOBJ *psoOwner; +} WNDOBJ, *PWNDOBJ; + +typedef struct _XFORML { + FLOATL eM11; + FLOATL eM12; + FLOATL eM21; + FLOATL eM22; + FLOATL eDx; + FLOATL eDy; +} XFORML, *PXFORML; + +typedef struct _XFORMOBJ { + ULONG ulReserved; +} XFORMOBJ; + +/* XLATEOBJ.flXlate constants */ +#define XO_TRIVIAL 0x00000001 +#define XO_TABLE 0x00000002 +#define XO_TO_MONO 0x00000004 +#define XO_FROM_CMYK 0x00000008 +#define XO_DEVICE_ICM 0x00000010 +#define XO_HOST_ICM 0x00000020 + +typedef struct _XLATEOBJ { + ULONG iUniq; + FLONG flXlate; + USHORT iSrcType; + USHORT iDstType; + ULONG cEntries; + ULONG *pulXlate; +} XLATEOBJ; + +/* WNDOBJCHANGEPROC.fl constants */ +#define WOC_RGN_CLIENT_DELTA 0x00000001 +#define WOC_RGN_CLIENT 0x00000002 +#define WOC_RGN_SURFACE_DELTA 0x00000004 +#define WOC_RGN_SURFACE 0x00000008 +#define WOC_CHANGED 0x00000010 +#define WOC_DELETE 0x00000020 +#define WOC_DRAWN 0x00000040 +#define WOC_SPRITE_OVERLAP 0x00000080 +#define WOC_SPRITE_NO_OVERLAP 0x00000100 + +typedef VOID (APIENTRY CALLBACK *WNDOBJCHANGEPROC)( + WNDOBJ *pwo, + FLONG fl); + + +WIN32KAPI +HANDLE +APIENTRY +BRUSHOBJ_hGetColorTransform( + BRUSHOBJ *pbo); + +WIN32KAPI +PVOID +APIENTRY +BRUSHOBJ_pvAllocRbrush( + BRUSHOBJ *pbo, + ULONG cj); + +WIN32KAPI +PVOID +APIENTRY +BRUSHOBJ_pvGetRbrush( + BRUSHOBJ *pbo); + +WIN32KAPI +ULONG +APIENTRY +BRUSHOBJ_ulGetBrushColor( + BRUSHOBJ *pbo); + +WIN32KAPI +WINBOOL +APIENTRY +CLIPOBJ_bEnum( + CLIPOBJ *pco, + ULONG cj, + ULONG *pv); + +/* CLIPOBJ_cEnumStart.iType constants */ +#define CT_RECTANGLES __MSABI_LONG(0) + +/* CLIPOBJ_cEnumStart.iDirection constants */ +#define CD_RIGHTDOWN 0x00000000 +#define CD_LEFTDOWN 0x00000001 +#define CD_LEFTWARDS 0x00000001 +#define CD_RIGHTUP 0x00000002 +#define CD_UPWARDS 0x00000002 +#define CD_LEFTUP 0x00000003 +#define CD_ANY 0x00000004 + +WIN32KAPI +ULONG +APIENTRY +CLIPOBJ_cEnumStart( + CLIPOBJ *pco, + WINBOOL bAll, + ULONG iType, + ULONG iDirection, + ULONG cLimit); + +WIN32KAPI +PATHOBJ* +APIENTRY +CLIPOBJ_ppoGetPath( + CLIPOBJ *pco); + +WIN32KAPI +VOID +APIENTRY +EngAcquireSemaphore( + HSEMAPHORE hsem); + +#define FL_ZERO_MEMORY 0x00000001 +#define FL_NONPAGED_MEMORY 0x00000002 + +WIN32KAPI +PVOID +APIENTRY +EngAllocMem( + ULONG Flags, + ULONG MemSize, + ULONG Tag); + +WIN32KAPI +PVOID +APIENTRY +EngAllocPrivateUserMem( + PDD_SURFACE_LOCAL psl, + SIZE_T cj, + ULONG tag); + +WIN32KAPI +PVOID +APIENTRY +EngAllocUserMem( + SIZE_T cj, + ULONG tag); + +WIN32KAPI +WINBOOL +APIENTRY +EngAlphaBlend( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + RECTL *prclSrc, + BLENDOBJ *pBlendObj); + +/* EngAssociateSurface.flHooks constants */ +#define HOOK_BITBLT 0x00000001 +#define HOOK_STRETCHBLT 0x00000002 +#define HOOK_PLGBLT 0x00000004 +#define HOOK_TEXTOUT 0x00000008 +#define HOOK_PAINT 0x00000010 +#define HOOK_STROKEPATH 0x00000020 +#define HOOK_FILLPATH 0x00000040 +#define HOOK_STROKEANDFILLPATH 0x00000080 +#define HOOK_LINETO 0x00000100 +#define HOOK_COPYBITS 0x00000400 +#define HOOK_MOVEPANNING 0x00000800 +#define HOOK_SYNCHRONIZE 0x00001000 +#define HOOK_STRETCHBLTROP 0x00002000 +#define HOOK_SYNCHRONIZEACCESS 0x00004000 +#define HOOK_TRANSPARENTBLT 0x00008000 +#define HOOK_ALPHABLEND 0x00010000 +#define HOOK_GRADIENTFILL 0x00020000 +#define HOOK_FLAGS 0x0003b5ff + +WIN32KAPI +WINBOOL +APIENTRY +EngAssociateSurface( + HSURF hsurf, + HDEV hdev, + FLONG flHooks); + +WIN32KAPI +WINBOOL +APIENTRY +EngBitBlt( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclTrg, + POINTL *pptlSrc, + POINTL *pptlMask, + BRUSHOBJ *pbo, + POINTL *pptlBrush, + ROP4 rop4); + +WIN32KAPI +WINBOOL +APIENTRY +EngCheckAbort( + SURFOBJ *pso); + +WIN32KAPI +VOID +APIENTRY +EngClearEvent( + PEVENT pEvent); + +WIN32KAPI +FD_GLYPHSET* +APIENTRY +EngComputeGlyphSet( + INT nCodePage, + INT nFirstChar, + INT cChars); + +/* EngControlSprites.fl constants */ +#define ECS_TEARDOWN 0x00000001 +#define ECS_REDRAW 0x00000002 + +WIN32KAPI +WINBOOL +APIENTRY +EngControlSprites( + WNDOBJ *pwo, + FLONG fl); + +WIN32KAPI +WINBOOL +APIENTRY +EngCopyBits( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + POINTL *pptlSrc); + +WIN32KAPI +HBITMAP +APIENTRY +EngCreateBitmap( + SIZEL sizl, + LONG lWidth, + ULONG iFormat, + FLONG fl, + PVOID pvBits); + +WIN32KAPI +CLIPOBJ* +APIENTRY +EngCreateClip( + VOID); + +WIN32KAPI +HBITMAP +APIENTRY +EngCreateDeviceBitmap( + DHSURF dhsurf, + SIZEL sizl, + ULONG iFormatCompat); + +WIN32KAPI +HSURF +APIENTRY +EngCreateDeviceSurface( + DHSURF dhsurf, + SIZEL sizl, + ULONG iFormatCompat); + +#if 0 +WIN32KAPI +HDRVOBJ +APIENTRY +EngCreateDriverObj( + PVOID pvObj, + FREEOBJPROC pFreeObjProc, + HDEV hdev); +#endif + +WIN32KAPI +WINBOOL +APIENTRY +EngCreateEvent( + PEVENT *ppEvent); + +/* EngCreatePalette.iMode constants */ +#define PAL_INDEXED 0x00000001 +#define PAL_BITFIELDS 0x00000002 +#define PAL_RGB 0x00000004 +#define PAL_BGR 0x00000008 +#define PAL_CMYK 0x00000010 + +WIN32KAPI +HPALETTE +APIENTRY +EngCreatePalette( + ULONG iMode, + ULONG cColors, + ULONG *pulColors, + FLONG flRed, + FLONG flGreen, + FLONG flBlue); + +WIN32KAPI +PATHOBJ* +APIENTRY +EngCreatePath( + VOID); + +WIN32KAPI +HSEMAPHORE +APIENTRY +EngCreateSemaphore( + VOID); + +/* EngCreateWnd.fl constants */ +#define WO_RGN_CLIENT_DELTA 0x00000001 +#define WO_RGN_CLIENT 0x00000002 +#define WO_RGN_SURFACE_DELTA 0x00000004 +#define WO_RGN_SURFACE 0x00000008 +#define WO_RGN_UPDATE_ALL 0x00000010 +#define WO_RGN_WINDOW 0x00000020 +#define WO_DRAW_NOTIFY 0x00000040 +#define WO_SPRITE_NOTIFY 0x00000080 +#define WO_RGN_DESKTOP_COORD 0x00000100 + +WIN32KAPI +WNDOBJ* +APIENTRY +EngCreateWnd( + SURFOBJ *pso, + HWND hwnd, + WNDOBJCHANGEPROC pfn, + FLONG fl, + int iPixelFormat); + +WIN32KAPI +VOID +APIENTRY +EngDebugBreak( + VOID); + +WIN32KAPI +VOID +APIENTRY +EngDebugPrint( + PCHAR StandardPrefix, + PCHAR DebugMessage, + va_list ap); + +WIN32KAPI +VOID +APIENTRY +EngDeleteClip( + CLIPOBJ *pco); + +WIN32KAPI +WINBOOL +APIENTRY +EngDeleteDriverObj( + HDRVOBJ hdo, + WINBOOL bCallBack, + WINBOOL bLocked); + +WIN32KAPI +WINBOOL +APIENTRY +EngDeleteEvent( + PEVENT pEvent); + +WIN32KAPI +WINBOOL +APIENTRY +EngDeleteFile( + LPWSTR pwszFileName); + +WIN32KAPI +WINBOOL +APIENTRY +EngDeletePalette( + HPALETTE hpal); + +WIN32KAPI +VOID +APIENTRY +EngDeletePath( + PATHOBJ *ppo); + +WIN32KAPI +VOID +APIENTRY +EngDeleteSafeSemaphore( + ENGSAFESEMAPHORE *pssem); + +WIN32KAPI +VOID +APIENTRY +EngDeleteSemaphore( + HSEMAPHORE hsem); + +WIN32KAPI +WINBOOL +APIENTRY +EngDeleteSurface( + HSURF hsurf); + +WIN32KAPI +VOID +APIENTRY +EngDeleteWnd( + WNDOBJ *pwo); + +WIN32KAPI +DWORD +APIENTRY +EngDeviceIoControl( + HANDLE hDevice, + DWORD dwIoControlCode, + LPVOID lpInBuffer, + DWORD nInBufferSize, + LPVOID lpOutBuffer, + DWORD nOutBufferSize, + LPDWORD lpBytesReturned); + +WIN32KAPI +ULONG +APIENTRY +EngDitherColor( + HDEV hdev, + ULONG iMode, + ULONG rgb, + ULONG *pul); + +WIN32KAPI +WINBOOL +APIENTRY +EngEnumForms( + HANDLE hPrinter, + DWORD Level, + LPBYTE pForm, + DWORD cbBuf, + LPDWORD pcbNeeded, + LPDWORD pcReturned); + +WIN32KAPI +WINBOOL +APIENTRY +EngEraseSurface( + SURFOBJ *pso, + RECTL *prcl, + ULONG iColor); + +WIN32KAPI +WINBOOL +APIENTRY +EngFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix, + FLONG flOptions); + +WIN32KAPI +PVOID +APIENTRY +EngFindImageProcAddress( + HANDLE hModule, + LPSTR lpProcName); + +WIN32KAPI +PVOID +APIENTRY +EngFindResource( + HANDLE h, + int iName, + int iType, + PULONG pulSize); + +WIN32KAPI +PVOID +APIENTRY +EngFntCacheAlloc( + ULONG FastCheckSum, + ULONG ulSize); + +/* EngFntCacheFault.iFaultMode constants */ +#define ENG_FNT_CACHE_READ_FAULT 0x00000001 +#define ENG_FNT_CACHE_WRITE_FAULT 0x00000002 + +WIN32KAPI +VOID +APIENTRY +EngFntCacheFault( + ULONG ulFastCheckSum, + ULONG iFaultMode); + +WIN32KAPI +PVOID +APIENTRY +EngFntCacheLookUp( + ULONG FastCheckSum, + ULONG *pulSize); + +WIN32KAPI +VOID +APIENTRY +EngFreeMem( + PVOID Mem); + +WIN32KAPI +VOID +APIENTRY +EngFreeModule( + HANDLE h); + +WIN32KAPI +VOID +APIENTRY +EngFreePrivateUserMem( + PDD_SURFACE_LOCAL psl, + PVOID pv); + +WIN32KAPI +VOID +APIENTRY +EngFreeUserMem( + PVOID pv); + +WIN32KAPI +VOID +APIENTRY +EngGetCurrentCodePage( + PUSHORT OemCodePage, + PUSHORT AnsiCodePage); + +WIN32KAPI +HANDLE +APIENTRY +EngGetCurrentProcessId( + VOID); + +WIN32KAPI +HANDLE +APIENTRY +EngGetCurrentThreadId( + VOID); + +WIN32KAPI +LPWSTR +APIENTRY +EngGetDriverName( + HDEV hdev); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetFileChangeTime( + HANDLE h, + LARGE_INTEGER *pChangeTime); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetFilePath( + HANDLE h, + WCHAR (*pDest)[MAX_PATH+1]); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetForm( + HANDLE hPrinter, + LPWSTR pFormName, + DWORD Level, + LPBYTE pForm, + DWORD cbBuf, + LPDWORD pcbNeeded); + +WIN32KAPI +ULONG +APIENTRY +EngGetLastError( + VOID); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetPrinter( + HANDLE hPrinter, + DWORD dwLevel, + LPBYTE pPrinter, + DWORD cbBuf, + LPDWORD pcbNeeded); + +WIN32KAPI +DWORD +APIENTRY +EngGetPrinterData( + HANDLE hPrinter, + LPWSTR pValueName, + LPDWORD pType, + LPBYTE pData, + DWORD nSize, + LPDWORD pcbNeeded); + +WIN32KAPI +LPWSTR +APIENTRY +EngGetPrinterDataFileName( + HDEV hdev); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetPrinterDriver( + HANDLE hPrinter, + LPWSTR pEnvironment, + DWORD dwLevel, + BYTE *lpbDrvInfo, + DWORD cbBuf, + DWORD *pcbNeeded); + +WIN32KAPI +HANDLE +APIENTRY +EngGetProcessHandle( + VOID); + +WIN32KAPI +WINBOOL +APIENTRY +EngGetType1FontList( + HDEV hdev, + TYPE1_FONT *pType1Buffer, + ULONG cjType1Buffer, + PULONG pulLocalFonts, + PULONG pulRemoteFonts, + LARGE_INTEGER *pLastModified); + +WIN32KAPI +WINBOOL +APIENTRY +EngGradientFill( + SURFOBJ *psoDest, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + TRIVERTEX *pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + RECTL *prclExtents, + POINTL *pptlDitherOrg, + ULONG ulMode); + +/* EngHangNotification return values */ +#define EHN_RESTORED 0x00000000 +#define EHN_ERROR 0x00000001 + +WIN32KAPI +ULONG +APIENTRY +EngHangNotification( + HDEV hDev, + PVOID Reserved); + +WIN32KAPI +WINBOOL +APIENTRY +EngInitializeSafeSemaphore( + ENGSAFESEMAPHORE *pssem); + +WIN32KAPI +WINBOOL +APIENTRY +EngIsSemaphoreOwned( + HSEMAPHORE hsem); + +WIN32KAPI +WINBOOL +APIENTRY +EngIsSemaphoreOwnedByCurrentThread( + HSEMAPHORE hsem); + +WIN32KAPI +WINBOOL +APIENTRY +EngLineTo( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + LONG x1, + LONG y1, + LONG x2, + LONG y2, + RECTL *prclBounds, + MIX mix); + +WIN32KAPI +HANDLE +APIENTRY +EngLoadImage( + LPWSTR pwszDriver); + +WIN32KAPI +HANDLE +APIENTRY +EngLoadModule( + LPWSTR pwsz); + +WIN32KAPI +HANDLE +APIENTRY +EngLoadModuleForWrite( + LPWSTR pwsz, + ULONG cjSizeOfModule); + +WIN32KAPI +PDD_SURFACE_LOCAL +APIENTRY +EngLockDirectDrawSurface( + HANDLE hSurface); + +WIN32KAPI +DRIVEROBJ* +APIENTRY +EngLockDriverObj( + HDRVOBJ hdo); + +WIN32KAPI +SURFOBJ* +APIENTRY +EngLockSurface( + HSURF hsurf); + +WIN32KAPI +WINBOOL +APIENTRY +EngLpkInstalled( + VOID); + +WIN32KAPI +PEVENT +APIENTRY +EngMapEvent( + HDEV hDev, + HANDLE hUserObject, + PVOID Reserved1, + PVOID Reserved2, + PVOID Reserved3); + +WIN32KAPI +PVOID +APIENTRY +EngMapFile( + LPWSTR pwsz, + ULONG cjSize, + ULONG_PTR *piFile); + +WIN32KAPI +WINBOOL +APIENTRY +EngMapFontFile( + ULONG_PTR iFile, + PULONG *ppjBuf, + ULONG *pcjBuf); + +WIN32KAPI +WINBOOL +APIENTRY +EngMapFontFileFD( + ULONG_PTR iFile, + PULONG *ppjBuf, + ULONG *pcjBuf); + +WIN32KAPI +PVOID +APIENTRY +EngMapModule( + HANDLE h, + PULONG pSize); + +WIN32KAPI +WINBOOL +APIENTRY +EngMarkBandingSurface( + HSURF hsurf); + +/* EngModifySurface.flSurface constants */ +#define MS_NOTSYSTEMMEMORY 0x00000001 +#define MS_SHAREDACCESS 0x00000002 + +WIN32KAPI +WINBOOL +APIENTRY +EngModifySurface( + HSURF hsurf, + HDEV hdev, + FLONG flHooks, + FLONG flSurface, + DHSURF dhsurf, + VOID *pvScan0, + LONG lDelta, + VOID *pvReserved); + +WIN32KAPI +VOID +APIENTRY +EngMovePointer( + SURFOBJ *pso, + LONG x, + LONG y, + RECTL *prcl); + +WIN32KAPI +int +APIENTRY +EngMulDiv( + int a, + int b, + int c); + +WIN32KAPI +VOID +APIENTRY +EngMultiByteToUnicodeN( + LPWSTR UnicodeString, + ULONG MaxBytesInUnicodeString, + PULONG BytesInUnicodeString, + PCHAR MultiByteString, + ULONG BytesInMultiByteString); + +WIN32KAPI +INT +APIENTRY +EngMultiByteToWideChar( + UINT CodePage, + LPWSTR WideCharString, + INT BytesInWideCharString, + LPSTR MultiByteString, + INT BytesInMultiByteString); + +WIN32KAPI +WINBOOL +APIENTRY +EngPaint( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix); + +WIN32KAPI +WINBOOL +APIENTRY +EngPlgBlt( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMsk, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlBrushOrg, + POINTFIX *pptfx, + RECTL *prcl, + POINTL *pptl, + ULONG iMode); + +WIN32KAPI +VOID +APIENTRY +EngProbeForRead( + PVOID Address, + ULONG Length, + ULONG Alignment); + +WIN32KAPI +VOID +APIENTRY +EngProbeForReadAndWrite( + PVOID Address, + ULONG Length, + ULONG Alignment); + +typedef enum _ENG_DEVICE_ATTRIBUTE { + QDA_RESERVED = 0, + QDA_ACCELERATION_LEVEL +} ENG_DEVICE_ATTRIBUTE; + +WIN32KAPI +WINBOOL +APIENTRY +EngQueryDeviceAttribute( + HDEV hdev, + ENG_DEVICE_ATTRIBUTE devAttr, + VOID *pvIn, + ULONG ulInSize, + VOID *pvOut, + ULONG ulOutSize); + +WIN32KAPI +LARGE_INTEGER +APIENTRY +EngQueryFileTimeStamp( + LPWSTR pwsz); + +WIN32KAPI +VOID +APIENTRY +EngQueryLocalTime( + PENG_TIME_FIELDS ptf); + +WIN32KAPI +ULONG +APIENTRY +EngQueryPalette( + HPALETTE hPal, + ULONG *piMode, + ULONG cColors, + ULONG *pulColors); + +WIN32KAPI +VOID +APIENTRY +EngQueryPerformanceCounter( + LONGLONG *pPerformanceCount); + +WIN32KAPI +VOID +APIENTRY +EngQueryPerformanceFrequency( + LONGLONG *pFrequency); + +typedef enum _ENG_SYSTEM_ATTRIBUTE { + EngProcessorFeature = 1, + EngNumberOfProcessors, + EngOptimumAvailableUserMemory, + EngOptimumAvailableSystemMemory, +} ENG_SYSTEM_ATTRIBUTE; + +#define QSA_MMX 0x00000100 +#define QSA_SSE 0x00002000 +#define QSA_3DNOW 0x00004000 + +WIN32KAPI +WINBOOL +APIENTRY +EngQuerySystemAttribute( + ENG_SYSTEM_ATTRIBUTE CapNum, + PDWORD pCapability); + +WIN32KAPI +LONG +APIENTRY +EngReadStateEvent( + PEVENT pEvent); + +WIN32KAPI +VOID +APIENTRY +EngReleaseSemaphore( + HSEMAPHORE hsem); + +WIN32KAPI +WINBOOL +APIENTRY +EngRestoreFloatingPointState( + VOID *pBuffer); + +WIN32KAPI +ULONG +APIENTRY +EngSaveFloatingPointState( + VOID *pBuffer, + ULONG cjBufferSize); + +WIN32KAPI +HANDLE +APIENTRY +EngSecureMem( + PVOID Address, + ULONG Length); + +WIN32KAPI +LONG +APIENTRY +EngSetEvent( + PEVENT pEvent); + +WIN32KAPI +VOID +APIENTRY +EngSetLastError( + ULONG iError); + +WIN32KAPI +ULONG +APIENTRY +EngSetPointerShape( + SURFOBJ *pso, + SURFOBJ *psoMask, + SURFOBJ *psoColor, + XLATEOBJ *pxlo, + LONG xHot, + LONG yHot, + LONG x, + LONG y, + RECTL *prcl, + FLONG fl); + +WIN32KAPI +WINBOOL +APIENTRY +EngSetPointerTag( + HDEV hdev, + SURFOBJ *psoMask, + SURFOBJ *psoColor, + XLATEOBJ *pxlo, + FLONG fl); + +WIN32KAPI +DWORD +APIENTRY +EngSetPrinterData( + HANDLE hPrinter, + LPWSTR pType, + DWORD dwType, + LPBYTE lpbPrinterData, + DWORD cjPrinterData); + +typedef int (CDECL *SORTCOMP)(const void *pv1, const void *pv2); + +WIN32KAPI +VOID +APIENTRY +EngSort( + PBYTE pjBuf, + ULONG c, + ULONG cjElem, + SORTCOMP pfnComp); + +WIN32KAPI +WINBOOL +APIENTRY +EngStretchBlt( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode); + +WIN32KAPI +WINBOOL +APIENTRY +EngStretchBltROP( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode, + BRUSHOBJ *pbo, + DWORD rop4); + +WIN32KAPI +WINBOOL +APIENTRY +EngStrokeAndFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pboStroke, + LINEATTRS *plineattrs, + BRUSHOBJ *pboFill, + POINTL *pptlBrushOrg, + MIX mixFill, + FLONG flOptions); + +WIN32KAPI +WINBOOL +APIENTRY +EngStrokePath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + LINEATTRS *plineattrs, + MIX mix); + +WIN32KAPI +WINBOOL +APIENTRY +EngTextOut( + SURFOBJ *pso, + STROBJ *pstro, + FONTOBJ *pfo, + CLIPOBJ *pco, + RECTL *prclExtra, + RECTL *prclOpaque, + BRUSHOBJ *pboFore, + BRUSHOBJ *pboOpaque, + POINTL *pptlOrg, + MIX mix); + +WIN32KAPI +WINBOOL +APIENTRY +EngTransparentBlt( + SURFOBJ *psoDst, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDst, + RECTL *prclSrc, + ULONG iTransColor, + ULONG ulReserved); + +WIN32KAPI +VOID +APIENTRY +EngUnicodeToMultiByteN( + PCHAR MultiByteString, + ULONG MaxBytesInMultiByteString, + PULONG BytesInMultiByteString, + PWSTR UnicodeString, + ULONG BytesInUnicodeString); + +WIN32KAPI +VOID +APIENTRY +EngUnloadImage( + HANDLE hModule); + +WIN32KAPI +WINBOOL +APIENTRY +EngUnlockDirectDrawSurface( + PDD_SURFACE_LOCAL pSurface); + +WIN32KAPI +WINBOOL +APIENTRY +EngUnlockDriverObj( + HDRVOBJ hdo); + +WIN32KAPI +VOID +APIENTRY +EngUnlockSurface( + SURFOBJ *pso); + +WIN32KAPI +WINBOOL +APIENTRY +EngUnmapEvent( + PEVENT pEvent); + +WIN32KAPI +WINBOOL +APIENTRY +EngUnmapFile( + ULONG_PTR iFile); + +WIN32KAPI +VOID +APIENTRY +EngUnmapFontFile( + ULONG_PTR iFile); + +WIN32KAPI +VOID +APIENTRY +EngUnmapFontFileFD( + ULONG_PTR iFile); + +WIN32KAPI +VOID +APIENTRY +EngUnsecureMem( + HANDLE hSecure); + +WIN32KAPI +WINBOOL +APIENTRY +EngWaitForSingleObject( + PEVENT pEvent, + PLARGE_INTEGER pTimeOut); + +WIN32KAPI +INT +APIENTRY +EngWideCharToMultiByte( + UINT CodePage, + LPWSTR WideCharString, + INT BytesInWideCharString, + LPSTR MultiByteString, + INT BytesInMultiByteString); + +WIN32KAPI +WINBOOL +APIENTRY +EngWritePrinter( + HANDLE hPrinter, + LPVOID pBuf, + DWORD cbBuf, + LPDWORD pcWritten); + +#if defined(_X86_) && !defined(USERMODE_DRIVER) +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_Add( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_AddFloat( + PFLOATOBJ pf, + FLOATL f); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_AddLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_Div( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_DivFloat( + PFLOATOBJ pf, + FLOATL f); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_DivLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_Equal( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_EqualLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +LONG +APIENTRY +FLOATOBJ_GetFloat( + PFLOATOBJ pf); + +WIN32KAPI +LONG +APIENTRY +FLOATOBJ_GetLong( + PFLOATOBJ pf); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_GreaterThan( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_GreaterThanLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_LessThan( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +WINBOOL +APIENTRY +FLOATOBJ_LessThanLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_Mul( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_MulFloat( + PFLOATOBJ pf, + FLOATL f); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_MulLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_Neg( + PFLOATOBJ pf); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_SetFloat( + PFLOATOBJ pf, + FLOATL f); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_SetLong( + PFLOATOBJ pf, + LONG l); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_Sub( + PFLOATOBJ pf, + PFLOATOBJ pf1); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_SubFloat( + PFLOATOBJ pf, + FLOATL f); + +WIN32KAPI +VOID +APIENTRY +FLOATOBJ_SubLong( + PFLOATOBJ pf, + LONG l); + +#else + +#define FLOATOBJ_SetFloat(pf, f) {*(pf) = (f);} +#define FLOATOBJ_SetLong(pf, l) {*(pf) = (FLOAT)(l);} +#define FLOATOBJ_GetFloat(pf) (*(PULONG)(pf)) +#define FLOATOBJ_GetLong(pf) ((LONG)*(pf)) +#define FLOATOBJ_Add(pf, pf1) {*(pf) += *(pf1);} +#define FLOATOBJ_AddFloat(pf, f) {*(pf) += (f);} +#define FLOATOBJ_AddLong(pf, l) {*(pf) += (l);} +#define FLOATOBJ_Sub(pf, pf1) {*(pf) -= *(pf1);} +#define FLOATOBJ_SubFloat(pf, f) {*(pf) -= (f);} +#define FLOATOBJ_SubLong(pf, l) {*(pf) -= (l);} +#define FLOATOBJ_Mul(pf, pf1) {*(pf) *= *(pf1);} +#define FLOATOBJ_MulFloat(pf, f) {*(pf) *= (f);} +#define FLOATOBJ_MulLong(pf, l) {*(pf) *= (l);} +#define FLOATOBJ_Div(pf, pf1) {*(pf) /= *(pf1);} +#define FLOATOBJ_DivFloat(pf, f) {*(pf) /= (f);} +#define FLOATOBJ_DivLong(pf, l) {*(pf) /= (l);} +#define FLOATOBJ_Neg(pf) {*(pf) = -(*(pf));} +#define FLOATOBJ_Equal(pf, pf1) (*(pf) == *(pf1)) +#define FLOATOBJ_GreaterThan(pf, pf1) (*(pf) > *(pf1)) +#define FLOATOBJ_LessThan(pf, pf1) (*(pf) < *(pf1)) +#define FLOATOBJ_EqualLong(pf, l) (*(pf) == (FLOAT)(l)) +#define FLOATOBJ_GreaterThanLong(pf, l) (*(pf) > (FLOAT)(l)) +#define FLOATOBJ_LessThanLong(pf, l) (*(pf) < (FLOAT)(l)) + +#endif + +WIN32KAPI +ULONG +APIENTRY +FONTOBJ_cGetAllGlyphHandles( + FONTOBJ *pfo, + HGLYPH *phg); + +WIN32KAPI +ULONG +APIENTRY +FONTOBJ_cGetGlyphs( + FONTOBJ *pfo, + ULONG iMode, + ULONG cGlyph, + HGLYPH *phg, + PVOID *ppvGlyph); + +WIN32KAPI +FD_GLYPHSET* +APIENTRY +FONTOBJ_pfdg( + FONTOBJ *pfo); + +WIN32KAPI +IFIMETRICS* +APIENTRY +FONTOBJ_pifi( + FONTOBJ *pfo); + +WIN32KAPI +PBYTE +APIENTRY +FONTOBJ_pjOpenTypeTablePointer( + FONTOBJ *pfo, + ULONG ulTag, + ULONG *pcjTable); + +WIN32KAPI +PFD_GLYPHATTR +APIENTRY +FONTOBJ_pQueryGlyphAttrs( + FONTOBJ *pfo, + ULONG iMode); + +WIN32KAPI +PVOID +APIENTRY +FONTOBJ_pvTrueTypeFontFile( + FONTOBJ *pfo, + ULONG *pcjFile); + +WIN32KAPI +LPWSTR +APIENTRY +FONTOBJ_pwszFontFilePaths( + FONTOBJ *pfo, + ULONG *pcwc); + +WIN32KAPI +XFORMOBJ* +APIENTRY +FONTOBJ_pxoGetXform( + FONTOBJ *pfo); + +WIN32KAPI +VOID +APIENTRY +FONTOBJ_vGetInfo( + FONTOBJ *pfo, + ULONG cjSize, + FONTINFO *pfi); + + + +WIN32KAPI +LONG +APIENTRY +HT_ComputeRGBGammaTable( + USHORT GammaTableEntries, + USHORT GammaTableType, + USHORT RedGamma, + USHORT GreenGamma, + USHORT BlueGamma, + LPBYTE pGammaTable); + +WIN32KAPI +LONG +APIENTRY +HT_Get8BPPFormatPalette( + LPPALETTEENTRY pPaletteEntry, + USHORT RedGamma, + USHORT GreenGamma, + USHORT BlueGamma); + +WIN32KAPI +LONG +APIENTRY +HT_Get8BPPMaskPalette( + LPPALETTEENTRY pPaletteEntry, + WINBOOL Use8BPPMaskPal, + BYTE CMYMask, + USHORT RedGamma, + USHORT GreenGamma, + USHORT BlueGamma); + +WIN32KAPI +LONG +APIENTRY +HTUI_DeviceColorAdjustment( + LPSTR pDeviceName, + PDEVHTADJDATA pDevHTAdjData); + +WIN32KAPI +ULONG +APIENTRY +PALOBJ_cGetColors( + PALOBJ *ppalo, + ULONG iStart, + ULONG cColors, + ULONG *pulColors); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bCloseFigure( + PATHOBJ *ppo); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bEnum( + PATHOBJ *ppo, + PATHDATA *ppd); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bEnumClipLines( + PATHOBJ *ppo, + ULONG cb, + CLIPLINE *pcl); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bMoveTo( + PATHOBJ *ppo, + POINTFIX ptfx); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bPolyBezierTo( + PATHOBJ *ppo, + POINTFIX *pptfx, + ULONG cptfx); + +WIN32KAPI +WINBOOL +APIENTRY +PATHOBJ_bPolyLineTo( + PATHOBJ *ppo, + POINTFIX *pptfx, + ULONG cptfx); + +WIN32KAPI +VOID +APIENTRY +PATHOBJ_vEnumStart( + PATHOBJ *ppo); + +WIN32KAPI +VOID +APIENTRY +PATHOBJ_vEnumStartClipLines( + PATHOBJ *ppo, + CLIPOBJ *pco, + SURFOBJ *pso, + LINEATTRS *pla); + +WIN32KAPI +VOID +APIENTRY +PATHOBJ_vGetBounds( + PATHOBJ *ppo, + PRECTFX prectfx); + +WIN32KAPI +WINBOOL +APIENTRY +STROBJ_bEnum( + STROBJ *pstro, + ULONG *pc, + PGLYPHPOS *ppgpos); + +WIN32KAPI +WINBOOL +APIENTRY +STROBJ_bEnumPositionsOnly( + STROBJ *pstro, + ULONG *pc, + PGLYPHPOS *ppgpos); + +WIN32KAPI +WINBOOL +APIENTRY +STROBJ_bGetAdvanceWidths( + STROBJ *pso, + ULONG iFirst, + ULONG c, + POINTQF *pptqD); + +WIN32KAPI +DWORD +APIENTRY +STROBJ_dwGetCodePage( + STROBJ *pstro); + +WIN32KAPI +FIX +APIENTRY +STROBJ_fxBreakExtra( + STROBJ *pstro); + +WIN32KAPI +FIX +APIENTRY +STROBJ_fxCharacterExtra( + STROBJ *pstro); + +WIN32KAPI +VOID +APIENTRY +STROBJ_vEnumStart( + STROBJ *pstro); + +WIN32KAPI +WINBOOL +APIENTRY +WNDOBJ_bEnum( + WNDOBJ *pwo, + ULONG cj, + ULONG *pul); + +WIN32KAPI +ULONG +APIENTRY +WNDOBJ_cEnumStart( + WNDOBJ *pwo, + ULONG iType, + ULONG iDirection, + ULONG cLimit); + +WIN32KAPI +VOID +APIENTRY +WNDOBJ_vSetConsumer( + WNDOBJ *pwo, + PVOID pvConsumer); + +/* XFORMOBJ_bApplyXform.iMode constants */ +#define XF_LTOL __MSABI_LONG(0) +#define XF_INV_LTOL __MSABI_LONG(1) +#define XF_LTOFX __MSABI_LONG(2) +#define XF_INV_FXTOL __MSABI_LONG(3) + +WIN32KAPI +WINBOOL +APIENTRY +XFORMOBJ_bApplyXform( + XFORMOBJ *pxo, + ULONG iMode, + ULONG cPoints, + PVOID pvIn, + PVOID pvOut); + +WIN32KAPI +ULONG +APIENTRY +XFORMOBJ_iGetFloatObjXform( + XFORMOBJ *pxo, + FLOATOBJ_XFORM *pxfo); + +WIN32KAPI +ULONG +APIENTRY +XFORMOBJ_iGetXform( + XFORMOBJ *pxo, + XFORML *pxform); + +/* XLATEOBJ_cGetPalette.iPal constants */ +#define XO_SRCPALETTE 1 +#define XO_DESTPALETTE 2 +#define XO_DESTDCPALETTE 3 +#define XO_SRCBITFIELDS 4 +#define XO_DESTBITFIELDS 5 + +WIN32KAPI +ULONG +APIENTRY +XLATEOBJ_cGetPalette( + XLATEOBJ *pxlo, + ULONG iPal, + ULONG cPal, + ULONG *pPal); + +WIN32KAPI +HANDLE +APIENTRY +XLATEOBJ_hGetColorTransform( + XLATEOBJ *pxlo); + +WIN32KAPI +ULONG +APIENTRY +XLATEOBJ_iXlate( + XLATEOBJ *pxlo, + ULONG iColor); + +WIN32KAPI +ULONG* +APIENTRY +XLATEOBJ_piVector( + XLATEOBJ *pxlo); + + + +/* Graphics Driver Functions */ + +WINBOOL +APIENTRY +DrvAlphaBlend( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + RECTL *prclSrc, + BLENDOBJ *pBlendObj); + +WINBOOL +APIENTRY +DrvAssertMode( + DHPDEV dhpdev, + WINBOOL bEnable); + +WINBOOL +APIENTRY +DrvBitBlt( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclTrg, + POINTL *pptlSrc, + POINTL *pptlMask, + BRUSHOBJ *pbo, + POINTL *pptlBrush, + ROP4 rop4); + +VOID +APIENTRY +DrvCompletePDEV( + DHPDEV dhpdev, + HDEV hdev); + +WINBOOL +APIENTRY +DrvCopyBits( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + POINTL *pptlSrc); + +HBITMAP +APIENTRY +DrvCreateDeviceBitmap( + DHPDEV dhpdev, + SIZEL sizl, + ULONG iFormat); + +VOID +APIENTRY +DrvDeleteDeviceBitmap( + DHSURF dhsurf); + +HBITMAP +APIENTRY +DrvDeriveSurface( + DD_DIRECTDRAW_GLOBAL *pDirectDraw, + DD_SURFACE_LOCAL *pSurface); + +LONG +APIENTRY +DrvDescribePixelFormat( + DHPDEV dhpdev, + LONG iPixelFormat, + ULONG cjpfd, + PIXELFORMATDESCRIPTOR *ppfd); + +VOID +APIENTRY +DrvDestroyFont( + FONTOBJ *pfo); + +VOID +APIENTRY +DrvDisableDriver( + VOID); + +VOID +APIENTRY +DrvDisablePDEV( + DHPDEV dhpdev); + +VOID +APIENTRY +DrvDisableSurface( + DHPDEV dhpdev); + +#define DM_DEFAULT 0x00000001 +#define DM_MONOCHROME 0x00000002 + +ULONG +APIENTRY +DrvDitherColor( + DHPDEV dhpdev, + ULONG iMode, + ULONG rgb, + ULONG *pul); + +ULONG +APIENTRY +DrvDrawEscape( + SURFOBJ *pso, + ULONG iEsc, + CLIPOBJ *pco, + RECTL *prcl, + ULONG cjIn, + PVOID pvIn); + +WINBOOL +APIENTRY +DrvEnableDriver( + ULONG iEngineVersion, + ULONG cj, + DRVENABLEDATA *pded); + +DHPDEV +APIENTRY +DrvEnablePDEV( + DEVMODEW *pdm, + LPWSTR pwszLogAddress, + ULONG cPat, + HSURF *phsurfPatterns, + ULONG cjCaps, + ULONG *pdevcaps, + ULONG cjDevInfo, + DEVINFO *pdi, + HDEV hdev, + LPWSTR pwszDeviceName, + HANDLE hDriver); + +HSURF +APIENTRY +DrvEnableSurface( + DHPDEV dhpdev); + +/* DrvEndDoc.fl constants */ +#define ED_ABORTDOC 0x00000001 + +WINBOOL +APIENTRY +DrvEndDoc( + SURFOBJ *pso, + FLONG fl); + +ULONG +APIENTRY +DrvEscape( + SURFOBJ *pso, + ULONG iEsc, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +WINBOOL +APIENTRY +DrvFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix, + FLONG flOptions); + +ULONG +APIENTRY +DrvFontManagement( + SURFOBJ *pso, + FONTOBJ *pfo, + ULONG iMode, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +VOID +APIENTRY +DrvFree( + PVOID pv, + ULONG_PTR id); + +/* DrvGetGlyphMode return values */ +#define FO_HGLYPHS __MSABI_LONG(0) +#define FO_GLYPHBITS __MSABI_LONG(1) +#define FO_PATHOBJ __MSABI_LONG(2) + +ULONG +APIENTRY +DrvGetGlyphMode( + DHPDEV dhpdev, + FONTOBJ *pfo); + +ULONG +APIENTRY +DrvGetModes( + HANDLE hDriver, + ULONG cjSize, + DEVMODEW *pdm); + +PVOID +APIENTRY +DrvGetTrueTypeFile( + ULONG_PTR iFile, + ULONG *pcj); + +WINBOOL +APIENTRY +DrvGradientFill( + SURFOBJ *psoDest, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + TRIVERTEX *pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + RECTL *prclExtents, + POINTL *pptlDitherOrg, + ULONG ulMode); + +WINBOOL +APIENTRY +DrvIcmCheckBitmapBits( + DHPDEV dhpdev, + HANDLE hColorTransform, + SURFOBJ *pso, + PBYTE paResults); + +HANDLE +APIENTRY +DrvIcmCreateColorTransform( + DHPDEV dhpdev, + LPLOGCOLORSPACEW pLogColorSpace, + PVOID pvSourceProfile, + ULONG cjSourceProfile, + PVOID pvDestProfile, + ULONG cjDestProfile, + PVOID pvTargetProfile, + ULONG cjTargetProfile, + DWORD dwReserved); + +WINBOOL +APIENTRY +DrvIcmDeleteColorTransform( + DHPDEV dhpdev, + HANDLE hcmXform); + +/* DrvIcmSetDeviceGammaRamp.iFormat constants */ +#define IGRF_RGB_256BYTES 0x00000000 +#define IGRF_RGB_256WORDS 0x00000001 + +WINBOOL +APIENTRY +DrvIcmSetDeviceGammaRamp( + DHPDEV dhpdev, + ULONG iFormat, + LPVOID lpRamp); + +WINBOOL +APIENTRY +DrvLineTo( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + LONG x1, + LONG y1, + LONG x2, + LONG y2, + RECTL *prclBounds, + MIX mix); + +ULONG_PTR +APIENTRY +DrvLoadFontFile( + ULONG cFiles, + ULONG_PTR *piFile, + PVOID *ppvView, + ULONG *pcjView, + DESIGNVECTOR *pdv, + ULONG ulLangID, + ULONG ulFastCheckSum); + +VOID +APIENTRY +DrvMovePointer( + SURFOBJ *pso, + LONG x, + LONG y, + RECTL *prcl); + +WINBOOL +APIENTRY +DrvNextBand( + SURFOBJ *pso, + POINTL *pptl); + +VOID +APIENTRY +DrvNotify( + SURFOBJ *pso, + ULONG iType, + PVOID pvData); + +WINBOOL +APIENTRY +DrvOffset( + SURFOBJ *pso, + LONG x, + LONG y, + FLONG flReserved); + +WINBOOL +APIENTRY +DrvPaint( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix); + +WINBOOL +APIENTRY +DrvPlgBlt( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMsk, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlBrushOrg, + POINTFIX *pptfx, + RECTL *prcl, + POINTL *pptl, + ULONG iMode); + +/* DrvQueryAdvanceWidths.iMode constants */ +#define QAW_GETWIDTHS 0 +#define QAW_GETEASYWIDTHS 1 + +WINBOOL +APIENTRY +DrvQueryAdvanceWidths( + DHPDEV dhpdev, + FONTOBJ *pfo, + ULONG iMode, + HGLYPH *phg, + PVOID pvWidths, + ULONG cGlyphs); + +/* DrvQueryDeviceSupport.iType constants */ +#define QDS_CHECKJPEGFORMAT 0x00000000 +#define QDS_CHECKPNGFORMAT 0x00000001 + +WINBOOL +APIENTRY +DrvQueryDeviceSupport( + SURFOBJ *pso, + XLATEOBJ *pxlo, + XFORMOBJ *pxo, + ULONG iType, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +/* DrvQueryDriverInfo.dwMode constants */ +#define DRVQUERY_USERMODE 0x00000001 + +WINBOOL +APIENTRY +DrvQueryDriverInfo( + DWORD dwMode, + PVOID pBuffer, + DWORD cbBuf, + PDWORD pcbNeeded); + +PIFIMETRICS +APIENTRY +DrvQueryFont( + DHPDEV dhpdev, + ULONG_PTR iFile, + ULONG iFace, + ULONG_PTR *pid); + +/* DrvQueryFontCaps.pulCaps constants */ +#define QC_OUTLINES 0x00000001 +#define QC_1BIT 0x00000002 +#define QC_4BIT 0x00000004 + +#define QC_FONTDRIVERCAPS (QC_OUTLINES | QC_1BIT | QC_4BIT) + +LONG +APIENTRY +DrvQueryFontCaps( + ULONG culCaps, + ULONG *pulCaps); + +/* DrvQueryFontData.iMode constants */ +#define QFD_GLYPHANDBITMAP __MSABI_LONG(1) +#define QFD_GLYPHANDOUTLINE __MSABI_LONG(2) +#define QFD_MAXEXTENTS __MSABI_LONG(3) +#define QFD_TT_GLYPHANDBITMAP __MSABI_LONG(4) +#define QFD_TT_GRAY1_BITMAP __MSABI_LONG(5) +#define QFD_TT_GRAY2_BITMAP __MSABI_LONG(6) +#define QFD_TT_GRAY4_BITMAP __MSABI_LONG(8) +#define QFD_TT_GRAY8_BITMAP __MSABI_LONG(9) + +#define QFD_TT_MONO_BITMAP QFD_TT_GRAY1_BITMAP + +LONG +APIENTRY +DrvQueryFontData( + DHPDEV dhpdev, + FONTOBJ *pfo, + ULONG iMode, + HGLYPH hg, + GLYPHDATA *pgd, + PVOID pv, + ULONG cjSize); + +/* DrvQueryFontFile.ulMode constants */ +#define QFF_DESCRIPTION 0x00000001 +#define QFF_NUMFACES 0x00000002 + +LONG +APIENTRY +DrvQueryFontFile( + ULONG_PTR iFile, + ULONG ulMode, + ULONG cjBuf, + ULONG *pulBuf); + +/* DrvQueryFontTree.iMode constants */ +#define QFT_UNICODE __MSABI_LONG(0) +#define QFT_LIGATURES __MSABI_LONG(1) +#define QFT_KERNPAIRS __MSABI_LONG(2) +#define QFT_GLYPHSET __MSABI_LONG(3) + +PVOID +APIENTRY +DrvQueryFontTree( + DHPDEV dhpdev, + ULONG_PTR iFile, + ULONG iFace, + ULONG iMode, + ULONG_PTR *pid); + +PFD_GLYPHATTR +APIENTRY +DrvQueryGlyphAttrs( + FONTOBJ *pfo, + ULONG iMode); + +ULONG +APIENTRY +DrvQueryPerBandInfo( + SURFOBJ *pso, + PERBANDINFO *pbi); + +/* DrvQueryTrueTypeOutline.bMetricsOnly constants */ +#define TTO_METRICS_ONLY 0x00000001 +#define TTO_QUBICS 0x00000002 +#define TTO_UNHINTED 0x00000004 + +LONG +APIENTRY +DrvQueryTrueTypeOutline( + DHPDEV dhpdev, + FONTOBJ *pfo, + HGLYPH hglyph, + WINBOOL bMetricsOnly, + GLYPHDATA *pgldt, + ULONG cjBuf, + TTPOLYGONHEADER *ppoly); + +LONG +APIENTRY +DrvQueryTrueTypeTable( + ULONG_PTR iFile, + ULONG ulFont, + ULONG ulTag, + PTRDIFF dpStart, + ULONG cjBuf, + BYTE *pjBuf, + PBYTE *ppjTable, + ULONG *pcjTable); + +/* DrvRealizeBrush.iHatch constants */ +#define RB_DITHERCOLOR __MSABI_LONG(0x80000000) + +#define HS_DDI_MAX 6 + +WINBOOL +APIENTRY +DrvRealizeBrush( + BRUSHOBJ *pbo, + SURFOBJ *psoTarget, + SURFOBJ *psoPattern, + SURFOBJ *psoMask, + XLATEOBJ *pxlo, + ULONG iHatch); + +/* DrvResetDevice return values */ +#define DRD_SUCCESS 0 +#define DRD_ERROR 1 + +ULONG +APIENTRY +DrvResetDevice( + DHPDEV dhpdev, + PVOID Reserved); + +WINBOOL +APIENTRY +DrvResetPDEV( + DHPDEV dhpdevOld, + DHPDEV dhpdevNew); + +/* DrvSaveScreenBits.iMode constants */ +#define SS_SAVE 0x00000000 +#define SS_RESTORE 0x00000001 +#define SS_FREE 0x00000002 + +ULONG_PTR +APIENTRY +DrvSaveScreenBits( + SURFOBJ *pso, + ULONG iMode, + ULONG_PTR ident, + RECTL *prcl); + +WINBOOL +APIENTRY +DrvSendPage( + SURFOBJ *pso); + +WINBOOL +APIENTRY +DrvSetPalette( + DHPDEV dhpdev, + PALOBJ *ppalo, + FLONG fl, + ULONG iStart, + ULONG cColors); + +WINBOOL +APIENTRY +DrvSetPixelFormat( + SURFOBJ *pso, + LONG iPixelFormat, + HWND hwnd); + +/* DrvSetPointerShape return values */ +#define SPS_ERROR 0x00000000 +#define SPS_DECLINE 0x00000001 +#define SPS_ACCEPT_NOEXCLUDE 0x00000002 +#define SPS_ACCEPT_EXCLUDE 0x00000003 +#define SPS_ACCEPT_SYNCHRONOUS 0x00000004 + +/* DrvSetPointerShape.fl constants */ +#define SPS_CHANGE __MSABI_LONG(0x00000001) +#define SPS_ASYNCCHANGE __MSABI_LONG(0x00000002) +#define SPS_ANIMATESTART __MSABI_LONG(0x00000004) +#define SPS_ANIMATEUPDATE __MSABI_LONG(0x00000008) +#define SPS_ALPHA __MSABI_LONG(0x00000010) +#define SPS_LENGTHMASK __MSABI_LONG(0x00000F00) +#define SPS_FREQMASK __MSABI_LONG(0x000FF000) + +ULONG +APIENTRY +DrvSetPointerShape( + SURFOBJ *pso, + SURFOBJ *psoMask, + SURFOBJ *psoColor, + XLATEOBJ *pxlo, + LONG xHot, + LONG yHot, + LONG x, + LONG y, + RECTL *prcl, + FLONG fl); + +WINBOOL +APIENTRY +DrvStartBanding( + SURFOBJ *pso, + POINTL *pptl); + +WINBOOL +APIENTRY +DrvStartDoc( + SURFOBJ *pso, + LPWSTR pwszDocName, + DWORD dwJobId); + +WINBOOL +APIENTRY +DrvStartPage( + SURFOBJ *pso); + +WINBOOL +APIENTRY +DrvStretchBlt( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode); + +WINBOOL +APIENTRY +DrvStretchBltROP( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode, + BRUSHOBJ *pbo, + DWORD rop4); + +WINBOOL +APIENTRY +DrvStrokeAndFillPath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pboStroke, + LINEATTRS *plineattrs, + BRUSHOBJ *pboFill, + POINTL *pptlBrushOrg, + MIX mixFill, + FLONG flOptions); + +WINBOOL +APIENTRY +DrvStrokePath( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + LINEATTRS *plineattrs, + MIX mix); + +WINBOOL +APIENTRY +DrvSwapBuffers( + SURFOBJ *pso, + WNDOBJ *pwo); + +VOID +APIENTRY +DrvSynchronize( + DHPDEV dhpdev, + RECTL *prcl); + +/* DrvSynchronizeSurface.fl constants */ +#define DSS_TIMER_EVENT 0x00000001 +#define DSS_FLUSH_EVENT 0x00000002 + +VOID +APIENTRY +DrvSynchronizeSurface( + SURFOBJ *pso, + RECTL *prcl, + FLONG fl); + +WINBOOL +APIENTRY +DrvTextOut( + SURFOBJ *pso, + STROBJ *pstro, + FONTOBJ *pfo, + CLIPOBJ *pco, + RECTL *prclExtra, + RECTL *prclOpaque, + BRUSHOBJ *pboFore, + BRUSHOBJ *pboOpaque, + POINTL *pptlOrg, + MIX mix); + +WINBOOL +APIENTRY +DrvTransparentBlt( + SURFOBJ *psoDst, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDst, + RECTL *prclSrc, + ULONG iTransColor, + ULONG ulReserved); + +WINBOOL +APIENTRY +DrvUnloadFontFile( + ULONG_PTR iFile); + +typedef WINBOOL +(APIENTRY *PFN_DrvAlphaBlend)( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + RECTL *prclSrc, + BLENDOBJ *pBlendObj); + +typedef WINBOOL +(APIENTRY *PFN_DrvAssertMode)( + DHPDEV dhpdev, + WINBOOL bEnable); + +typedef WINBOOL +(APIENTRY *PFN_DrvBitBlt)( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclTrg, + POINTL *pptlSrc, + POINTL *pptlMask, + BRUSHOBJ *pbo, + POINTL *pptlBrush, + ROP4 rop4); + +typedef VOID +(APIENTRY *PFN_DrvCompletePDEV)( + DHPDEV dhpdev, + HDEV hdev); + +typedef WINBOOL +(APIENTRY *PFN_DrvCopyBits)( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDest, + POINTL *pptlSrc); + +typedef HBITMAP +(APIENTRY *PFN_DrvCreateDeviceBitmap)( + DHPDEV dhpdev, + SIZEL sizl, + ULONG iFormat); + +typedef VOID +(APIENTRY *PFN_DrvDeleteDeviceBitmap)( + DHSURF dhsurf); + +typedef HBITMAP +(APIENTRY *PFN_DrvDeriveSurface)( + DD_DIRECTDRAW_GLOBAL *pDirectDraw, + DD_SURFACE_LOCAL *pSurface); + +typedef LONG +(APIENTRY *PFN_DrvDescribePixelFormat)( + DHPDEV dhpdev, + LONG iPixelFormat, + ULONG cjpfd, + PIXELFORMATDESCRIPTOR *ppfd); + +typedef VOID +(APIENTRY *PFN_DrvDestroyFont)( + FONTOBJ *pfo); + +typedef VOID +(APIENTRY *PFN_DrvDisableDriver)( + VOID); + +typedef VOID +(APIENTRY *PFN_DrvDisablePDEV)( + DHPDEV dhpdev); + +typedef VOID +(APIENTRY *PFN_DrvDisableSurface)( + DHPDEV dhpdev); + +typedef ULONG +(APIENTRY *PFN_DrvDitherColor)( + DHPDEV dhpdev, + ULONG iMode, + ULONG rgb, + ULONG *pul); + +typedef ULONG +(APIENTRY *PFN_DrvDrawEscape)( + SURFOBJ *pso, + ULONG iEsc, + CLIPOBJ *pco, + RECTL *prcl, + ULONG cjIn, + PVOID pvIn); + +typedef WINBOOL +(APIENTRY *PFN_DrvEnableDriver)( + ULONG iEngineVersion, + ULONG cj, + DRVENABLEDATA *pded); + +typedef DHPDEV +(APIENTRY *PFN_DrvEnablePDEV)( + DEVMODEW *pdm, + LPWSTR pwszLogAddress, + ULONG cPat, + HSURF *phsurfPatterns, + ULONG cjCaps, + GDIINFO *pdevcaps, + ULONG cjDevInfo, + DEVINFO *pdi, + HDEV hdev, + LPWSTR pwszDeviceName, + HANDLE hDriver); + +typedef HSURF +(APIENTRY *PFN_DrvEnableSurface)( + DHPDEV dhpdev); + +typedef WINBOOL +(APIENTRY *PFN_DrvEndDoc)( + SURFOBJ *pso, + FLONG fl); + +typedef ULONG +(APIENTRY *PFN_DrvEscape)( + SURFOBJ *pso, + ULONG iEsc, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +typedef WINBOOL +(APIENTRY *PFN_DrvFillPath)( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix, + FLONG flOptions); + +typedef ULONG +(APIENTRY *PFN_DrvFontManagement)( + SURFOBJ *pso, + FONTOBJ *pfo, + ULONG iMode, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +typedef VOID +(APIENTRY *PFN_DrvFree)( + PVOID pv, + ULONG_PTR id); + +typedef ULONG +(APIENTRY *PFN_DrvGetGlyphMode)( + DHPDEV dhpdev, + FONTOBJ *pfo); + +typedef ULONG +(APIENTRY *PFN_DrvGetModes)( + HANDLE hDriver, + ULONG cjSize, + DEVMODEW *pdm); + +typedef PVOID +(APIENTRY *PFN_DrvGetTrueTypeFile)( + ULONG_PTR iFile, + ULONG *pcj); + +typedef WINBOOL +(APIENTRY *PFN_DrvGradientFill)( + SURFOBJ *psoDest, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + TRIVERTEX *pVertex, + ULONG nVertex, + PVOID pMesh, + ULONG nMesh, + RECTL *prclExtents, + POINTL *pptlDitherOrg, + ULONG ulMode); + +typedef WINBOOL +(APIENTRY *PFN_DrvIcmCheckBitmapBits)( + DHPDEV dhpdev, + HANDLE hColorTransform, + SURFOBJ *pso, + PBYTE paResults); + +typedef HANDLE +(APIENTRY *PFN_DrvIcmCreateColorTransform)( + DHPDEV dhpdev, + LPLOGCOLORSPACEW pLogColorSpace, + PVOID pvSourceProfile, + ULONG cjSourceProfile, + PVOID pvDestProfile, + ULONG cjDestProfile, + PVOID pvTargetProfile, + ULONG cjTargetProfile, + DWORD dwReserved); + +typedef WINBOOL +(APIENTRY *PFN_DrvIcmDeleteColorTransform)( + DHPDEV dhpdev, + HANDLE hcmXform); + +typedef WINBOOL +(APIENTRY *PFN_DrvIcmSetDeviceGammaRamp)( + DHPDEV dhpdev, + ULONG iFormat, + LPVOID lpRamp); + +typedef WINBOOL +(APIENTRY *PFN_DrvLineTo)( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + LONG x1, + LONG y1, + LONG x2, + LONG y2, + RECTL *prclBounds, + MIX mix); + +typedef ULONG_PTR +(APIENTRY *PFN_DrvLoadFontFile)( + ULONG cFiles, + ULONG_PTR *piFile, + PVOID *ppvView, + ULONG *pcjView, + DESIGNVECTOR *pdv, + ULONG ulLangID, + ULONG ulFastCheckSum); + +typedef VOID +(APIENTRY *PFN_DrvMovePointer)( + SURFOBJ *pso, + LONG x, + LONG y, + RECTL *prcl); + +typedef WINBOOL +(APIENTRY *PFN_DrvNextBand)( + SURFOBJ *pso, + POINTL *pptl); + +typedef VOID +(APIENTRY *PFN_DrvNotify)( + SURFOBJ *pso, + ULONG iType, + PVOID pvData); + +typedef WINBOOL +(APIENTRY *PFN_DrvOffset)( + SURFOBJ *pso, + LONG x, + LONG y, + FLONG flReserved); + +typedef WINBOOL +(APIENTRY *PFN_DrvPaint)( + SURFOBJ *pso, + CLIPOBJ *pco, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + MIX mix); + +typedef WINBOOL +(APIENTRY *PFN_DrvPlgBlt)( + SURFOBJ *psoTrg, + SURFOBJ *psoSrc, + SURFOBJ *psoMsk, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlBrushOrg, + POINTFIX *pptfx, + RECTL *prcl, + POINTL *pptl, + ULONG iMode); + +typedef WINBOOL +(APIENTRY *PFN_DrvQueryAdvanceWidths)( + DHPDEV dhpdev, + FONTOBJ *pfo, + ULONG iMode, + HGLYPH *phg, + PVOID pvWidths, + ULONG cGlyphs); + +typedef WINBOOL +(APIENTRY *PFN_DrvQueryDeviceSupport)( + SURFOBJ *pso, + XLATEOBJ *pxlo, + XFORMOBJ *pxo, + ULONG iType, + ULONG cjIn, + PVOID pvIn, + ULONG cjOut, + PVOID pvOut); + +typedef WINBOOL +(APIENTRY *PFN_DrvQueryDriverInfo)( + DWORD dwMode, + PVOID pBuffer, + DWORD cbBuf, + PDWORD pcbNeeded); + +typedef PIFIMETRICS +(APIENTRY *PFN_DrvQueryFont)( + DHPDEV dhpdev, + ULONG_PTR iFile, + ULONG iFace, + ULONG_PTR *pid); + +typedef LONG +(APIENTRY *PFN_DrvQueryFontCaps)( + ULONG culCaps, + ULONG *pulCaps); + +typedef LONG +(APIENTRY *PFN_DrvQueryFontData)( + DHPDEV dhpdev, + FONTOBJ *pfo, + ULONG iMode, + HGLYPH hg, + GLYPHDATA *pgd, + PVOID pv, + ULONG cjSize); + +typedef LONG +(APIENTRY *PFN_DrvQueryFontFile)( + ULONG_PTR iFile, + ULONG ulMode, + ULONG cjBuf, + ULONG *pulBuf); + +typedef PVOID +(APIENTRY *PFN_DrvQueryFontTree)( + DHPDEV dhpdev, + ULONG_PTR iFile, + ULONG iFace, + ULONG iMode, + ULONG_PTR *pid); + +typedef PFD_GLYPHATTR +(APIENTRY *PFN_DrvQueryGlyphAttrs)( + FONTOBJ *pfo, + ULONG iMode); + +typedef ULONG +(APIENTRY *PFN_DrvQueryPerBandInfo)( + SURFOBJ *pso, + PERBANDINFO *pbi); + +typedef LONG +(APIENTRY *PFN_DrvQueryTrueTypeOutline)( + DHPDEV dhpdev, + FONTOBJ *pfo, + HGLYPH hglyph, + WINBOOL bMetricsOnly, + GLYPHDATA *pgldt, + ULONG cjBuf, + TTPOLYGONHEADER *ppoly); + +typedef LONG +(APIENTRY *PFN_DrvQueryTrueTypeTable)( + ULONG_PTR iFile, + ULONG ulFont, + ULONG ulTag, + PTRDIFF dpStart, + ULONG cjBuf, + BYTE *pjBuf, + PBYTE *ppjTable, + ULONG *pcjTable); + +typedef WINBOOL +(APIENTRY *PFN_DrvRealizeBrush)( + BRUSHOBJ *pbo, + SURFOBJ *psoTarget, + SURFOBJ *psoPattern, + SURFOBJ *psoMask, + XLATEOBJ *pxlo, + ULONG iHatch); + +typedef ULONG +(APIENTRY *PFN_DrvResetDevice)( + DHPDEV dhpdev, + PVOID Reserved); + +typedef WINBOOL +(APIENTRY *PFN_DrvResetPDEV)( + DHPDEV dhpdevOld, + DHPDEV dhpdevNew); + +typedef ULONG_PTR +(APIENTRY *PFN_DrvSaveScreenBits)( + SURFOBJ *pso, + ULONG iMode, + ULONG_PTR ident, + RECTL *prcl); + +typedef WINBOOL +(APIENTRY *PFN_DrvSendPage)( + SURFOBJ *pso); + +typedef WINBOOL +(APIENTRY *PFN_DrvSetPalette)( + DHPDEV dhpdev, + PALOBJ *ppalo, + FLONG fl, + ULONG iStart, + ULONG cColors); + +typedef WINBOOL +(APIENTRY *PFN_DrvSetPixelFormat)( + SURFOBJ *pso, + LONG iPixelFormat, + HWND hwnd); + +typedef ULONG +(APIENTRY *PFN_DrvSetPointerShape)( + SURFOBJ *pso, + SURFOBJ *psoMask, + SURFOBJ *psoColor, + XLATEOBJ *pxlo, + LONG xHot, + LONG yHot, + LONG x, + LONG y, + RECTL *prcl, + FLONG fl); + +typedef WINBOOL +(APIENTRY *PFN_DrvStartBanding)( + SURFOBJ *pso, + POINTL *pptl); + +typedef WINBOOL +(APIENTRY *PFN_DrvStartDoc)( + SURFOBJ *pso, + LPWSTR pwszDocName, + DWORD dwJobId); + +typedef WINBOOL +(APIENTRY *PFN_DrvStartPage)( + SURFOBJ *pso); + +typedef WINBOOL +(APIENTRY *PFN_DrvStretchBlt)( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode); + +typedef WINBOOL +(APIENTRY *PFN_DrvStretchBltROP)( + SURFOBJ *psoDest, + SURFOBJ *psoSrc, + SURFOBJ *psoMask, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + COLORADJUSTMENT *pca, + POINTL *pptlHTOrg, + RECTL *prclDest, + RECTL *prclSrc, + POINTL *pptlMask, + ULONG iMode, + BRUSHOBJ *pbo, + DWORD rop4); + +typedef WINBOOL +(APIENTRY *PFN_DrvStrokeAndFillPath)( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pboStroke, + LINEATTRS *plineattrs, + BRUSHOBJ *pboFill, + POINTL *pptlBrushOrg, + MIX mixFill, + FLONG flOptions); + +typedef WINBOOL +(APIENTRY *PFN_DrvStrokePath)( + SURFOBJ *pso, + PATHOBJ *ppo, + CLIPOBJ *pco, + XFORMOBJ *pxo, + BRUSHOBJ *pbo, + POINTL *pptlBrushOrg, + LINEATTRS *plineattrs, + MIX mix); + +typedef WINBOOL +(APIENTRY *PFN_DrvSwapBuffers)( + SURFOBJ *pso, + WNDOBJ *pwo); + +typedef VOID +(APIENTRY *PFN_DrvSynchronize)( + DHPDEV dhpdev, + RECTL *prcl); + +typedef VOID +(APIENTRY *PFN_DrvSynchronizeSurface)( + SURFOBJ *pso, + RECTL *prcl, + FLONG fl); + +typedef WINBOOL +(APIENTRY *PFN_DrvTextOut)( + SURFOBJ *pso, + STROBJ *pstro, + FONTOBJ *pfo, + CLIPOBJ *pco, + RECTL *prclExtra, + RECTL *prclOpaque, + BRUSHOBJ *pboFore, + BRUSHOBJ *pboOpaque, + POINTL *pptlOrg, + MIX mix); + +typedef WINBOOL +(APIENTRY *PFN_DrvTransparentBlt)( + SURFOBJ *psoDst, + SURFOBJ *psoSrc, + CLIPOBJ *pco, + XLATEOBJ *pxlo, + RECTL *prclDst, + RECTL *prclSrc, + ULONG iTransColor, + ULONG ulReserved); + +typedef WINBOOL +(APIENTRY *PFN_DrvUnloadFontFile)( + ULONG_PTR iFile); + + +WIN32KAPI +VOID +APIENTRY +DrvDisableDirectDraw( + DHPDEV dhpdev); + +typedef VOID +(APIENTRY *PFN_DrvDisableDirectDraw)( + DHPDEV dhpdev); + +WIN32KAPI +WINBOOL +APIENTRY +DrvEnableDirectDraw( + DHPDEV dhpdev, + DD_CALLBACKS *pCallBacks, + DD_SURFACECALLBACKS *pSurfaceCallBacks, + DD_PALETTECALLBACKS *pPaletteCallBacks); + +typedef WINBOOL +(APIENTRY *PFN_DrvEnableDirectDraw)( + DHPDEV dhpdev, + DD_CALLBACKS *pCallBacks, + DD_SURFACECALLBACKS *pSurfaceCallBacks, + DD_PALETTECALLBACKS *pPaletteCallBacks); + +WIN32KAPI +WINBOOL +APIENTRY +DrvGetDirectDrawInfo( + DHPDEV dhpdev, + DD_HALINFO *pHalInfo, + DWORD *pdwNumHeaps, + VIDEOMEMORY *pvmList, + DWORD *pdwNumFourCCCodes, + DWORD *pdwFourCC); + +typedef WINBOOL +(APIENTRY *PFN_DrvGetDirectDrawInfo)( + DHPDEV dhpdev, + DD_HALINFO *pHalInfo, + DWORD *pdwNumHeaps, + VIDEOMEMORY *pvmList, + DWORD *pdwNumFourCCCodes, + DWORD *pdwFourCC); + +//DECLSPEC_DEPRECATED_DDK +WINBOOL +APIENTRY +DrvQuerySpoolType( + DHPDEV dhpdev, + LPWSTR pwchType); + +typedef WINBOOL +(APIENTRY *PFN_DrvQuerySpoolType)( + DHPDEV dhpdev, + LPWSTR pwchType); + + +#ifdef __cplusplus +} +#endif + +#endif /* defined __VIDEO_H__ */ + +#endif /* _WINDDI_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddiui.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddiui.h new file mode 100644 index 00000000..f2bb74a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winddiui.h @@ -0,0 +1,117 @@ +/* + * Header for the Device Driver Interface - User Interface library + * + * Copyright 2007 Marcel Partap + * + * 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 __WINE_WINDDIUI_H +#define __WINE_WINDDIUI_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if (NTDDI_VERSION >= NTDDI_WINXP) +typedef struct _DOCEVENT_FILTER { + UINT cbSize; + UINT cElementsAllocated; + UINT cElementsNeeded; + UINT cElementsReturned; + DWORD aDocEventCall[ANYSIZE_ARRAY]; +} DOCEVENT_FILTER, *PDOCEVENT_FILTER; +typedef struct _DOCEVENT_CREATEDCPRE { + PWSTR pszDriver; + PWSTR pszDevice; + PDEVMODEW pdm; + WINBOOL bIC; +} DOCEVENT_CREATEDCPRE, *PDCEVENT_CREATEDCPRE; +typedef struct _DOCEVENT_ESCAPE { + int iEscape; + int cjInput; + PVOID pvInData; +} DOCEVENT_ESCAPE, *PDOCEVENT_ESCAPE; +#endif +#define DOCUMENTEVENT_FIRST 1 +#define DOCUMENTEVENT_CREATEDCPRE 1 +#define DOCUMENTEVENT_CREATEDCPOST 2 +#define DOCUMENTEVENT_RESETDCPRE 3 +#define DOCUMENTEVENT_RESETDCPOST 4 +#define DOCUMENTEVENT_STARTDOC 5 +#define DOCUMENTEVENT_STARTDOCPRE 5 +#define DOCUMENTEVENT_STARTPAGE 6 +#define DOCUMENTEVENT_ENDPAGE 7 +#define DOCUMENTEVENT_ENDDOC 8 +#define DOCUMENTEVENT_ENDDOCPRE 8 +#define DOCUMENTEVENT_ABORTDOC 9 +#define DOCUMENTEVENT_DELETEDC 10 +#define DOCUMENTEVENT_ESCAPE 11 +#define DOCUMENTEVENT_ENDDOCPOST 12 +#define DOCUMENTEVENT_STARTDOCPOST 13 +#if (NTDDI_VERSION >= NTDDI_VISTA) +#define DOCUMENTEVENT_QUERYFILTER 14 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRE 1 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRE 2 +#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEEPRE 3 +#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPOST 4 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPOST 5 +#define DOCUMENTEVENT_XPS_CANCELJOB 6 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPRE 7 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPRE 8 +#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPRE 9 +#define DOCUMENTEVENT_XPS_ADDFIXEDPAGEPRINTTICKETPOST 10 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTPRINTTICKETPOST 11 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPRINTTICKETPOST 12 +#define DOCUMENTEVENT_XPS_ADDFIXEDDOCUMENTSEQUENCEPOST 13 +#define DOCUMENTEVENT_LAST 15 +#elif (NTDDI_VERSION >= NTDDI_WINXP) +#define DOCUMENTEVENT_QUERYFILTER 14 +#define DOCUMENTEVENT_LAST 15 +#else +#define DOCUMENTEVENT_LAST 14 +#endif +#define DOCUMENTEVENT_SPOOLED 0x10000 +#define DOCUMENTEVENT_SUCCESS 1 +#define DOCUMENTEVENT_UNSUPPORTED 0 +#define DOCUMENTEVENT_FAILURE -1 +#define DOCUMENTEVENT_EVENT(iX) (LOWORD(iX)) +#define DOCUMENTEVENT_FLAGS(iX) (HIWORD(iX)) + +int WINAPI DrvDocumentEvent(HANDLE,HDC,int,ULONG,PVOID,ULONG,PVOID); + +#define DRIVER_EVENT_INITIALIZE 1 +#define DRIVER_EVENT_DELETE 2 + +#define PRINTER_EVENT_ADD_CONNECTION 1 +#define PRINTER_EVENT_DELETE_CONNECTION 2 +#define PRINTER_EVENT_INITIALIZE 3 +#define PRINTER_EVENT_DELETE 4 +#define PRINTER_EVENT_CACHE_REFRESH 5 +#define PRINTER_EVENT_CACHE_DELETE 6 +#define PRINTER_EVENT_ATTRIBUTES_CHANGED 7 + +#define PRINTER_EVENT_FLAG_NO_UI 1 + +WINBOOL WINAPI DrvDriverEvent(DWORD, DWORD, LPBYTE, LPARAM); +WINBOOL WINAPI DrvPrinterEvent(LPWSTR, INT, DWORD, LPARAM); + +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#endif /* __WINE_WINDDIUI_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windef.h new file mode 100644 index 00000000..1eedc70a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windef.h @@ -0,0 +1,182 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WINDEF_ +#define _WINDEF_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0502 +#endif + +/* Make sure winnt.h is included. */ +#ifndef NT_INCLUDED +#include +#endif + +#ifndef WIN_INTERNAL +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +DECLARE_HANDLE (HWND); +DECLARE_HANDLE (HHOOK); +#endif +#ifdef WINABLE +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +DECLARE_HANDLE (HEVENT); +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +#ifdef STRICT + typedef void *HGDIOBJ; +#else + DECLARE_HANDLE (HGDIOBJ); +#endif + +DECLARE_HANDLE(HACCEL); +DECLARE_HANDLE(HBITMAP); +DECLARE_HANDLE(HBRUSH); +DECLARE_HANDLE(HCOLORSPACE); +DECLARE_HANDLE(HDC); +DECLARE_HANDLE(HGLRC); +DECLARE_HANDLE(HDESK); +DECLARE_HANDLE(HENHMETAFILE); +DECLARE_HANDLE(HFONT); +DECLARE_HANDLE(HICON); +DECLARE_HANDLE(HMENU); +DECLARE_HANDLE(HPALETTE); +DECLARE_HANDLE(HPEN); +DECLARE_HANDLE(HMONITOR); +#define HMONITOR_DECLARED 1 +DECLARE_HANDLE(HWINEVENTHOOK); + +typedef HICON HCURSOR; +typedef DWORD COLORREF; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +DECLARE_HANDLE(HUMPD); + +typedef DWORD *LPCOLORREF; + +#define HFILE_ERROR ((HFILE)-1) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) +typedef struct tagRECT { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT,*PRECT,*NPRECT,*LPRECT; + +typedef const RECT *LPCRECT; + +typedef struct _RECTL { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECTL,*PRECTL,*LPRECTL; + +typedef const RECTL *LPCRECTL; + +typedef struct tagPOINT { + LONG x; + LONG y; +} POINT,*PPOINT,*NPPOINT,*LPPOINT; + +typedef struct _POINTL { + LONG x; + LONG y; +} POINTL,*PPOINTL; + +typedef struct tagSIZE { + LONG cx; + LONG cy; +} SIZE,*PSIZE,*LPSIZE; + +typedef SIZE SIZEL; +typedef SIZE *PSIZEL,*LPSIZEL; + +typedef struct tagPOINTS { + SHORT x; + SHORT y; +} POINTS,*PPOINTS,*LPPOINTS; + +#define APP_LOCAL_DEVICE_ID_SIZE 32 + +typedef struct APP_LOCAL_DEVICE_ID { + BYTE value[APP_LOCAL_DEVICE_ID_SIZE]; +} APP_LOCAL_DEVICE_ID; + +#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) */ + +#define DM_UPDATE 1 +#define DM_COPY 2 +#define DM_PROMPT 4 +#define DM_MODIFY 8 + +#define DM_IN_BUFFER DM_MODIFY +#define DM_IN_PROMPT DM_PROMPT +#define DM_OUT_BUFFER DM_COPY +#define DM_OUT_DEFAULT DM_UPDATE + +#define DC_FIELDS 1 +#define DC_PAPERS 2 +#define DC_PAPERSIZE 3 +#define DC_MINEXTENT 4 +#define DC_MAXEXTENT 5 +#define DC_BINS 6 +#define DC_DUPLEX 7 +#define DC_SIZE 8 +#define DC_EXTRA 9 +#define DC_VERSION 10 +#define DC_DRIVER 11 +#define DC_BINNAMES 12 +#define DC_ENUMRESOLUTIONS 13 +#define DC_FILEDEPENDENCIES 14 +#define DC_TRUETYPE 15 +#define DC_PAPERNAMES 16 +#define DC_ORIENTATION 17 +#define DC_COPIES 18 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#define _DPI_AWARENESS_CONTEXTS_ + +DECLARE_HANDLE(DPI_AWARENESS_CONTEXT); + +typedef enum DPI_AWARENESS { + DPI_AWARENESS_INVALID = -1, + DPI_AWARENESS_UNAWARE = 0, + DPI_AWARENESS_SYSTEM_AWARE = 1, + DPI_AWARENESS_PER_MONITOR_AWARE = 2 +} DPI_AWARENESS; + +#define DPI_AWARENESS_CONTEXT_UNAWARE ((DPI_AWARENESS_CONTEXT)-1) +#define DPI_AWARENESS_CONTEXT_SYSTEM_AWARE ((DPI_AWARENESS_CONTEXT)-2) +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE ((DPI_AWARENESS_CONTEXT)-3) +#define DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 ((DPI_AWARENESS_CONTEXT)-4) +#define DPI_AWARENESS_CONTEXT_UNAWARE_GDISCALED ((DPI_AWARENESS_CONTEXT)-5) + +typedef enum DPI_HOSTING_BEHAVIOR { + DPI_HOSTING_BEHAVIOR_INVALID = -1, + DPI_HOSTING_BEHAVIOR_DEFAULT = 0, + DPI_HOSTING_BEHAVIOR_MIXED = 1 +} DPI_HOSTING_BEHAVIOR; + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#ifdef __cplusplus +} +#endif + +#endif /* _WINDEF_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windns.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windns.h new file mode 100644 index 00000000..ce926e01 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windns.h @@ -0,0 +1,1347 @@ +/** + * 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 _WINDNS_INCLUDED_ +#define _WINDNS_INCLUDED_ + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + + __MINGW_EXTENSION typedef unsigned __int64 QWORD,*PQWORD; + typedef LONG DNS_STATUS,*PDNS_STATUS; + typedef DWORD IP4_ADDRESS,*PIP4_ADDRESS; + +#define SIZEOF_IP4_ADDRESS (4) +#define IP4_ADDRESS_STRING_LENGTH (15) +#define IP4_ADDRESS_STRING_BUFFER_LENGTH (16) + + typedef struct _IP4_ARRAY { + DWORD AddrCount; + IP4_ADDRESS AddrArray[1]; + } IP4_ARRAY,*PIP4_ARRAY; + + typedef union { +#ifdef _WIN64 + QWORD IP6Qword[2]; +#endif + DWORD IP6Dword[4]; + WORD IP6Word[8]; + BYTE IP6Byte[16]; +#ifdef IN6_ADDR + IN6_ADDR In6; +#endif + } IP6_ADDRESS,*PIP6_ADDRESS; + +#undef IP6_ADDRESS_STRING_LENGTH +#define IP6_ADDRESS_STRING_LENGTH (47) +#define IP6_ADDRESS_STRING_BUFFER_LENGTH (48) +#define DNS_ADDRESS_STRING_LENGTH (IP6_ADDRESS_STRING_LENGTH) + +#define INLINE_WORD_FLIP(out,in) { WORD _in = (in); (out) = (_in << 8) | (_in >> 8); } +#define INLINE_HTONS(out,in) INLINE_WORD_FLIP(out,in) +#define INLINE_NTOHS(out,in) INLINE_WORD_FLIP(out,in) +#define INLINE_DWORD_FLIP(out,in) { DWORD _in = (in); (out) = ((_in << 8) & 0x00ff0000) | (_in << 24) | ((_in >> 8) & 0x0000ff00) | (_in >> 24); } +#define INLINE_NTOHL(out,in) INLINE_DWORD_FLIP(out,in) +#define INLINE_HTONL(out,in) INLINE_DWORD_FLIP(out,in) +#define INLINE_WRITE_FLIPPED_WORD(pout,in) INLINE_WORD_FLIP(*((UNALIGNED WORD *)(pout)),in) +#define INLINE_WRITE_FLIPPED_DWORD(pout,in) INLINE_DWORD_FLIP(*((UNALIGNED DWORD *)(pout)),in) + +#define DNS_PORT_HOST_ORDER (0x0035) +#define DNS_PORT_NET_ORDER (0x3500) +#define DNS_RFC_MAX_UDP_PACKET_LENGTH (512) +#define DNS_MAX_NAME_LENGTH (255) +#define DNS_MAX_LABEL_LENGTH (63) +#define DNS_MAX_NAME_BUFFER_LENGTH (256) +#define DNS_MAX_LABEL_BUFFER_LENGTH (64) +#define DNS_IP4_REVERSE_DOMAIN_STRING_A ("in-addr.arpa.") +#define DNS_IP4_REVERSE_DOMAIN_STRING_W (L"in-addr.arpa.") +#define DNS_MAX_IP4_REVERSE_NAME_LENGTH (IP4_ADDRESS_STRING_LENGTH+1+sizeof(DNS_IP4_REVERSE_DOMAIN_STRING_A)) +#define DNS_MAX_IP4_REVERSE_NAME_BUFFER_LENGTH (DNS_MAX_IP4_REVERSE_NAME_LENGTH + 1) +#define DNS_IP6_REVERSE_DOMAIN_STRING_A ("ip6.arpa.") +#define DNS_IP6_REVERSE_DOMAIN_STRING_W (L"ip6.arpa.") +#define DNS_MAX_IP6_REVERSE_NAME_LENGTH (64+sizeof(DNS_IP6_REVERSE_DOMAIN_STRING_A)) +#define DNS_MAX_IP6_REVERSE_NAME_BUFFER_LENGTH (DNS_MAX_IP6_REVERSE_NAME_LENGTH + 1) +#define DNS_MAX_REVERSE_NAME_LENGTH DNS_MAX_IP6_REVERSE_NAME_LENGTH +#define DNS_MAX_REVERSE_NAME_BUFFER_LENGTH DNS_MAX_IP6_REVERSE_NAME_BUFFER_LENGTH + +#define DNS_IP4_REVERSE_DOMAIN_STRING __MINGW_NAME_UAW(DNS_IP4_REVERSE_DOMAIN_STRING) +#define DNS_IP6_REVERSE_DOMAIN_STRING __MINGW_NAME_UAW(DNS_IP6_REVERSE_DOMAIN_STRING) + +#define DNS_MAX_TEXT_STRING_LENGTH (255) + +#pragma pack(1) + + typedef struct _DNS_HEADER { + WORD Xid; + BYTE RecursionDesired : 1; + BYTE Truncation : 1; + BYTE Authoritative : 1; + BYTE Opcode : 4; + BYTE IsResponse : 1; + BYTE ResponseCode : 4; + BYTE CheckingDisabled : 1; + BYTE AuthenticatedData : 1; + BYTE Reserved : 1; + BYTE RecursionAvailable : 1; + WORD QuestionCount; + WORD AnswerCount; + WORD NameServerCount; + WORD AdditionalCount; + } DNS_HEADER, *PDNS_HEADER; + + typedef struct _DNS_HEADER_EXT { + WORD Reserved : 15; + WORD DnssecOk : 1; + BYTE chRcode; + BYTE chVersion; + } DNS_HEADER_EXT, *PDNS_HEADER_EXT; + +#define DNS_HEADER_FLAGS(pHead) (*((PWORD)(pHead)+1)) +#define DNS_BYTE_FLIP_HEADER_COUNTS(pHeader) { PDNS_HEADER _head = (pHeader); INLINE_HTONS(_head->Xid,_head->Xid); INLINE_HTONS(_head->QuestionCount,_head->QuestionCount); INLINE_HTONS(_head->AnswerCount,_head->AnswerCount); INLINE_HTONS(_head->NameServerCount,_head->NameServerCount); INLINE_HTONS(_head->AdditionalCount,_head->AdditionalCount); } +#define DNS_OFFSET_TO_QUESTION_NAME sizeof(DNS_HEADER) +#define DNS_COMPRESSED_QUESTION_NAME (0xC00C) +#define DNS_QUESTION_NAME_FROM_HEADER(_pHeader_) ((PCHAR)((PDNS_HEADER)(_pHeader_) + 1)) +#define DNS_ANSWER_FROM_QUESTION(_pQuestion_) ((PCHAR)((PDNS_QUESTION)(_pQuestion_) + 1)) + + typedef struct _DNS_WIRE_QUESTION { + WORD QuestionType; + WORD QuestionClass; + } DNS_WIRE_QUESTION,*PDNS_WIRE_QUESTION; + + typedef struct _DNS_WIRE_RECORD { + WORD RecordType; + WORD RecordClass; + DWORD TimeToLive; + WORD DataLength; + } DNS_WIRE_RECORD,*PDNS_WIRE_RECORD; + +#pragma pack() + +#define DNS_OPCODE_QUERY 0 +#define DNS_OPCODE_IQUERY 1 +#define DNS_OPCODE_SERVER_STATUS 2 +#define DNS_OPCODE_UNKNOWN 3 +#define DNS_OPCODE_NOTIFY 4 +#define DNS_OPCODE_UPDATE 5 + +#define DNS_RCODE_NOERROR 0 +#define DNS_RCODE_FORMERR 1 +#define DNS_RCODE_SERVFAIL 2 +#define DNS_RCODE_NXDOMAIN 3 +#define DNS_RCODE_NOTIMPL 4 +#define DNS_RCODE_REFUSED 5 +#define DNS_RCODE_YXDOMAIN 6 +#define DNS_RCODE_YXRRSET 7 +#define DNS_RCODE_NXRRSET 8 +#define DNS_RCODE_NOTAUTH 9 +#define DNS_RCODE_NOTZONE 10 +#define DNS_RCODE_MAX 15 +#define DNS_RCODE_BADVERS 16 +#define DNS_RCODE_BADSIG 16 +#define DNS_RCODE_BADKEY 17 +#define DNS_RCODE_BADTIME 18 +#define DNS_RCODE_NO_ERROR DNS_RCODE_NOERROR +#define DNS_RCODE_FORMAT_ERROR DNS_RCODE_FORMERR +#define DNS_RCODE_SERVER_FAILURE DNS_RCODE_SERVFAIL +#define DNS_RCODE_NAME_ERROR DNS_RCODE_NXDOMAIN +#define DNS_RCODE_NOT_IMPLEMENTED DNS_RCODE_NOTIMPL + +#define DNS_CLASS_INTERNET 0x0001 +#define DNS_CLASS_CSNET 0x0002 +#define DNS_CLASS_CHAOS 0x0003 +#define DNS_CLASS_HESIOD 0x0004 +#define DNS_CLASS_NONE 0x00fe +#define DNS_CLASS_ALL 0x00ff +#define DNS_CLASS_ANY 0x00ff +#define DNS_CLASS_UNICAST_RESPONSE 0x8000 + +#define DNS_RCLASS_INTERNET 0x0100 +#define DNS_RCLASS_CSNET 0x0200 +#define DNS_RCLASS_CHAOS 0x0300 +#define DNS_RCLASS_HESIOD 0x0400 +#define DNS_RCLASS_NONE 0xfe00 +#define DNS_RCLASS_ALL 0xff00 +#define DNS_RCLASS_ANY 0xff00 +#define DNS_RCLASS_UNICAST_RESPONSE 0x0080 + +#define DNS_TYPE_ZERO 0x0000 +#define DNS_TYPE_A 0x0001 +#define DNS_TYPE_NS 0x0002 +#define DNS_TYPE_MD 0x0003 +#define DNS_TYPE_MF 0x0004 +#define DNS_TYPE_CNAME 0x0005 +#define DNS_TYPE_SOA 0x0006 +#define DNS_TYPE_MB 0x0007 +#define DNS_TYPE_MG 0x0008 +#define DNS_TYPE_MR 0x0009 +#define DNS_TYPE_NULL 0x000a +#define DNS_TYPE_WKS 0x000b +#define DNS_TYPE_PTR 0x000c +#define DNS_TYPE_HINFO 0x000d +#define DNS_TYPE_MINFO 0x000e +#define DNS_TYPE_MX 0x000f +#define DNS_TYPE_TEXT 0x0010 +#define DNS_TYPE_RP 0x0011 +#define DNS_TYPE_AFSDB 0x0012 +#define DNS_TYPE_X25 0x0013 +#define DNS_TYPE_ISDN 0x0014 +#define DNS_TYPE_RT 0x0015 +#define DNS_TYPE_NSAP 0x0016 +#define DNS_TYPE_NSAPPTR 0x0017 +#define DNS_TYPE_SIG 0x0018 +#define DNS_TYPE_KEY 0x0019 +#define DNS_TYPE_PX 0x001a +#define DNS_TYPE_GPOS 0x001b +#define DNS_TYPE_AAAA 0x001c +#define DNS_TYPE_LOC 0x001d +#define DNS_TYPE_NXT 0x001e +#define DNS_TYPE_EID 0x001f +#define DNS_TYPE_NIMLOC 0x0020 +#define DNS_TYPE_SRV 0x0021 +#define DNS_TYPE_ATMA 0x0022 +#define DNS_TYPE_NAPTR 0x0023 +#define DNS_TYPE_KX 0x0024 +#define DNS_TYPE_CERT 0x0025 +#define DNS_TYPE_A6 0x0026 +#define DNS_TYPE_DNAME 0x0027 +#define DNS_TYPE_SINK 0x0028 +#define DNS_TYPE_OPT 0x0029 +#define DNS_TYPE_DS 0x002b +#define DNS_TYPE_RRSIG 0x002e +#define DNS_TYPE_NSEC 0x002f +#define DNS_TYPE_DNSKEY 0x0030 +#define DNS_TYPE_DHCID 0x0031 +#define DNS_TYPE_NSEC3 0x0032 +#define DNS_TYPE_NSEC3PARAM 0x0033 +#define DNS_TYPE_TLSA 0x0034 +#define DNS_TYPE_UINFO 0x0064 +#define DNS_TYPE_UID 0x0065 +#define DNS_TYPE_GID 0x0066 +#define DNS_TYPE_UNSPEC 0x0067 +#define DNS_TYPE_ADDRS 0x00f8 +#define DNS_TYPE_TKEY 0x00f9 +#define DNS_TYPE_TSIG 0x00fa +#define DNS_TYPE_IXFR 0x00fb +#define DNS_TYPE_AXFR 0x00fc +#define DNS_TYPE_MAILB 0x00fd +#define DNS_TYPE_MAILA 0x00fe +#define DNS_TYPE_ALL 0x00ff +#define DNS_TYPE_ANY 0x00ff +#define DNS_TYPE_WINS 0xff01 +#define DNS_TYPE_WINSR 0xff02 +#define DNS_TYPE_NBSTAT (DNS_TYPE_WINSR) + +#define DNS_RTYPE_A 0x0100 +#define DNS_RTYPE_NS 0x0200 +#define DNS_RTYPE_MD 0x0300 +#define DNS_RTYPE_MF 0x0400 +#define DNS_RTYPE_CNAME 0x0500 +#define DNS_RTYPE_SOA 0x0600 +#define DNS_RTYPE_MB 0x0700 +#define DNS_RTYPE_MG 0x0800 +#define DNS_RTYPE_MR 0x0900 +#define DNS_RTYPE_NULL 0x0a00 +#define DNS_RTYPE_WKS 0x0b00 +#define DNS_RTYPE_PTR 0x0c00 +#define DNS_RTYPE_HINFO 0x0d00 +#define DNS_RTYPE_MINFO 0x0e00 +#define DNS_RTYPE_MX 0x0f00 +#define DNS_RTYPE_TEXT 0x1000 +#define DNS_RTYPE_RP 0x1100 +#define DNS_RTYPE_AFSDB 0x1200 +#define DNS_RTYPE_X25 0x1300 +#define DNS_RTYPE_ISDN 0x1400 +#define DNS_RTYPE_RT 0x1500 +#define DNS_RTYPE_NSAP 0x1600 +#define DNS_RTYPE_NSAPPTR 0x1700 +#define DNS_RTYPE_SIG 0x1800 +#define DNS_RTYPE_KEY 0x1900 +#define DNS_RTYPE_PX 0x1a00 +#define DNS_RTYPE_GPOS 0x1b00 +#define DNS_RTYPE_AAAA 0x1c00 +#define DNS_RTYPE_LOC 0x1d00 +#define DNS_RTYPE_NXT 0x1e00 +#define DNS_RTYPE_EID 0x1f00 +#define DNS_RTYPE_NIMLOC 0x2000 +#define DNS_RTYPE_SRV 0x2100 +#define DNS_RTYPE_ATMA 0x2200 +#define DNS_RTYPE_NAPTR 0x2300 +#define DNS_RTYPE_KX 0x2400 +#define DNS_RTYPE_CERT 0x2500 +#define DNS_RTYPE_A6 0x2600 +#define DNS_RTYPE_DNAME 0x2700 +#define DNS_RTYPE_SINK 0x2800 +#define DNS_RTYPE_OPT 0x2900 +#define DNS_RTYPE_DS 0x2b00 +#define DNS_RTYPE_RRSIG 0x2e00 +#define DNS_RTYPE_NSEC 0x2f00 +#define DNS_RTYPE_DNSKEY 0x3000 +#define DNS_RTYPE_DHCID 0x3100 +#define DNS_RTYPE_NSEC3 0x3200 +#define DNS_RTYPE_NSEC3PARAM 0x3300 +#define DNS_RTYPE_TLSA 0x3400 +#define DNS_RTYPE_UINFO 0x6400 +#define DNS_RTYPE_UID 0x6500 +#define DNS_RTYPE_GID 0x6600 +#define DNS_RTYPE_UNSPEC 0x6700 +#define DNS_RTYPE_TKEY 0xf900 +#define DNS_RTYPE_TSIG 0xfa00 +#define DNS_RTYPE_IXFR 0xfb00 +#define DNS_RTYPE_AXFR 0xfc00 +#define DNS_RTYPE_MAILB 0xfd00 +#define DNS_RTYPE_MAILA 0xfe00 +#define DNS_RTYPE_ALL 0xff00 +#define DNS_RTYPE_ANY 0xff00 +#define DNS_RTYPE_WINS 0x01ff +#define DNS_RTYPE_WINSR 0x02ff + +#ifndef ATMA_E164 +#define DNS_ATMA_FORMAT_E164 1 +#define DNS_ATMA_FORMAT_AESA 2 +#define DNS_ATMA_MAX_ADDR_LENGTH (20) +#else +#define DNS_ATMA_FORMAT_E164 ATM_E164 +#define DNS_ATMA_FORMAT_AESA ATM_AESA +#define DNS_ATMA_MAX_ADDR_LENGTH ATM_ADDR_SIZE +#endif + +#define DNS_ATMA_AESA_ADDR_LENGTH (20) +#define DNS_ATMA_MAX_RECORD_LENGTH (DNS_ATMA_MAX_ADDR_LENGTH+1) + +#define DNSSEC_ALGORITHM_RSAMD5 1 +#define DNSSEC_ALGORITHM_RSASHA1 5 +#define DNSSEC_ALGORITHM_RSASHA1_NSEC3 7 +#define DNSSEC_ALGORITHM_RSASHA256 8 +#define DNSSEC_ALGORITHM_RSASHA512 10 +#define DNSSEC_ALGORITHM_ECDSAP256_SHA256 13 +#define DNSSEC_ALGORITHM_ECDSAP384_SHA384 14 +#define DNSSEC_ALGORITHM_NULL 253 +#define DNSSEC_ALGORITHM_PRIVATE 254 + +#define DNSSEC_DIGEST_ALGORITHM_SHA1 1 +#define DNSSEC_DIGEST_ALGORITHM_SHA256 2 +#define DNSSEC_DIGEST_ALGORITHM_SHA384 4 + +#define DNSSEC_PROTOCOL_NONE 0 +#define DNSSEC_PROTOCOL_TLS 1 +#define DNSSEC_PROTOCOL_EMAIL 2 +#define DNSSEC_PROTOCOL_DNSSEC 3 +#define DNSSEC_PROTOCOL_IPSEC 4 + +#define DNSSEC_KEY_FLAG_NOAUTH 0x0001 +#define DNSSEC_KEY_FLAG_NOCONF 0x0002 +#define DNSSEC_KEY_FLAG_FLAG2 0x0004 +#define DNSSEC_KEY_FLAG_EXTEND 0x0008 +#define DNSSEC_KEY_FLAG_ +#define DNSSEC_KEY_FLAG_FLAG4 0x0010 +#define DNSSEC_KEY_FLAG_FLAG5 0x0020 + +#define DNSSEC_KEY_FLAG_USER 0x0000 +#define DNSSEC_KEY_FLAG_ZONE 0x0040 +#define DNSSEC_KEY_FLAG_HOST 0x0080 +#define DNSSEC_KEY_FLAG_NTPE3 0x00c0 + +#define DNSSEC_KEY_FLAG_FLAG8 0x0100 +#define DNSSEC_KEY_FLAG_FLAG9 0x0200 +#define DNSSEC_KEY_FLAG_FLAG10 0x0400 +#define DNSSEC_KEY_FLAG_FLAG11 0x0800 + +#define DNSSEC_KEY_FLAG_SIG0 0x0000 +#define DNSSEC_KEY_FLAG_SIG1 0x1000 +#define DNSSEC_KEY_FLAG_SIG2 0x2000 +#define DNSSEC_KEY_FLAG_SIG3 0x3000 +#define DNSSEC_KEY_FLAG_SIG4 0x4000 +#define DNSSEC_KEY_FLAG_SIG5 0x5000 +#define DNSSEC_KEY_FLAG_SIG6 0x6000 +#define DNSSEC_KEY_FLAG_SIG7 0x7000 +#define DNSSEC_KEY_FLAG_SIG8 0x8000 +#define DNSSEC_KEY_FLAG_SIG9 0x9000 +#define DNSSEC_KEY_FLAG_SIG10 0xa000 +#define DNSSEC_KEY_FLAG_SIG11 0xb000 +#define DNSSEC_KEY_FLAG_SIG12 0xc000 +#define DNSSEC_KEY_FLAG_SIG13 0xd000 +#define DNSSEC_KEY_FLAG_SIG14 0xe000 +#define DNSSEC_KEY_FLAG_SIG15 0xf000 + +#define DNS_TKEY_MODE_SERVER_ASSIGN 1 +#define DNS_TKEY_MODE_DIFFIE_HELLMAN 2 +#define DNS_TKEY_MODE_GSS 3 +#define DNS_TKEY_MODE_RESOLVER_ASSIGN 4 + +#define DNS_WINS_FLAG_SCOPE (0x80000000) +#define DNS_WINS_FLAG_LOCAL (0x00010000) + +#define IS_WORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)1)) +#define IS_DWORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)3)) +#define IS_QWORD_ALIGNED(p) (!((UINT_PTR)(p) & (UINT_PTR)7)) + + typedef enum { + DnsConfigPrimaryDomainName_W, + DnsConfigPrimaryDomainName_A, + DnsConfigPrimaryDomainName_UTF8, + DnsConfigAdapterDomainName_W, + DnsConfigAdapterDomainName_A, + DnsConfigAdapterDomainName_UTF8, + DnsConfigDnsServerList, + DnsConfigSearchList, + DnsConfigAdapterInfo, + DnsConfigPrimaryHostNameRegistrationEnabled, + DnsConfigAdapterHostNameRegistrationEnabled, + DnsConfigAddressRegistrationMaxCount, + DnsConfigHostName_W, + DnsConfigHostName_A, + DnsConfigHostName_UTF8, + DnsConfigFullHostName_W, + DnsConfigFullHostName_A, + DnsConfigFullHostName_UTF8, + DnsConfigNameServer + } DNS_CONFIG_TYPE; + +#define DNS_CONFIG_FLAG_ALLOC (0x00000001) + + DNS_STATUS WINAPI DnsQueryConfig(DNS_CONFIG_TYPE Config,DWORD Flag,PWSTR pwsAdapterName,PVOID pReserved,PVOID pBuffer,PDWORD pBufferLength); + + typedef struct { + IP4_ADDRESS IpAddress; + } DNS_A_DATA,*PDNS_A_DATA; + + typedef struct { + PWSTR pNameHost; + } DNS_PTR_DATAW,*PDNS_PTR_DATAW; + + typedef struct { + PSTR pNameHost; + } DNS_PTR_DATAA,*PDNS_PTR_DATAA; + + typedef struct { + PWSTR pNamePrimaryServer; + PWSTR pNameAdministrator; + DWORD dwSerialNo; + DWORD dwRefresh; + DWORD dwRetry; + DWORD dwExpire; + DWORD dwDefaultTtl; + } DNS_SOA_DATAW,*PDNS_SOA_DATAW; + + typedef struct { + PSTR pNamePrimaryServer; + PSTR pNameAdministrator; + DWORD dwSerialNo; + DWORD dwRefresh; + DWORD dwRetry; + DWORD dwExpire; + DWORD dwDefaultTtl; + } DNS_SOA_DATAA,*PDNS_SOA_DATAA; + + typedef struct { + PWSTR pNameMailbox; + PWSTR pNameErrorsMailbox; + } DNS_MINFO_DATAW,*PDNS_MINFO_DATAW; + + typedef struct { + PSTR pNameMailbox; + PSTR pNameErrorsMailbox; + } DNS_MINFO_DATAA,*PDNS_MINFO_DATAA; + + typedef struct { + PWSTR pNameExchange; + WORD wPreference; + WORD Pad; + } DNS_MX_DATAW,*PDNS_MX_DATAW; + + typedef struct { + PSTR pNameExchange; + WORD wPreference; + WORD Pad; + } DNS_MX_DATAA,*PDNS_MX_DATAA; + + typedef struct { + DWORD dwStringCount; + PWSTR pStringArray[1]; + } DNS_TXT_DATAW,*PDNS_TXT_DATAW; + + typedef struct { + DWORD dwStringCount; + PSTR pStringArray[1]; + } DNS_TXT_DATAA,*PDNS_TXT_DATAA; + + typedef struct { + DWORD dwByteCount; + BYTE Data[1]; + } DNS_NULL_DATA,*PDNS_NULL_DATA; + + typedef struct { + IP4_ADDRESS IpAddress; + UCHAR chProtocol; + BYTE BitMask[1]; + } DNS_WKS_DATA,*PDNS_WKS_DATA; + + typedef struct { + IP6_ADDRESS Ip6Address; + } DNS_AAAA_DATA,*PDNS_AAAA_DATA; + + typedef struct { + WORD wTypeCovered; + BYTE chAlgorithm; + BYTE chLabelCount; + DWORD dwOriginalTtl; + DWORD dwExpiration; + DWORD dwTimeSigned; + WORD wKeyTag; + WORD wSignatureLength; + PWSTR pNameSigner; + BYTE Signature[1]; + } DNS_SIG_DATAW, *PDNS_SIG_DATAW, DNS_RRSIG_DATAW, *PDNS_RRSIG_DATAW; + + typedef struct { + WORD wTypeCovered; + BYTE chAlgorithm; + BYTE chLabelCount; + DWORD dwOriginalTtl; + DWORD dwExpiration; + DWORD dwTimeSigned; + WORD wKeyTag; + WORD wSignatureLength; + PSTR pNameSigner; + BYTE Signature[1]; + } DNS_SIG_DATAA, *PDNS_SIG_DATAA, DNS_RRSIG_DATAA, *PDNS_RRSIG_DATAA; + + typedef struct { + WORD wFlags; + BYTE chProtocol; + BYTE chAlgorithm; + WORD wKeyLength; + WORD wPad; + BYTE Key[1]; + } DNS_KEY_DATA, *PDNS_KEY_DATA, DNS_DNSKEY_DATA, *PDNS_DNSKEY_DATA; + + typedef struct { + DWORD dwByteCount; + BYTE DHCID[1]; + } DNS_DHCID_DATA, *PDNS_DHCID_DATA; + + typedef struct { + PWSTR pNextDomainName; + WORD wTypeBitMapsLength; + WORD wPad; + BYTE TypeBitMaps[1]; + } DNS_NSEC_DATAW, *PDNS_NSEC_DATAW; + + typedef struct { + PSTR pNextDomainName; + WORD wTypeBitMapsLength; + WORD wPad; + BYTE TypeBitMaps[1]; + } DNS_NSEC_DATAA, *PDNS_NSEC_DATAA; + + typedef struct { + BYTE chAlgorithm; + BYTE bFlags; + WORD wIterations; + BYTE bSaltLength; + BYTE bHashLength; + WORD wTypeBitMapsLength; + BYTE chData[1]; + } DNS_NSEC3_DATA, *PDNS_NSEC3_DATA; + + typedef struct { + BYTE chAlgorithm; + BYTE bFlags; + WORD wIterations; + BYTE bSaltLength; + BYTE bPad[3]; + BYTE pbSalt[1]; + } DNS_NSEC3PARAM_DATA, *PDNS_NSEC3PARAM_DATA; + + typedef struct { + BYTE bCertUsage; + BYTE bSelector; + BYTE bMatchingType; + WORD bCertificateAssociationDataLength; + BYTE bPad[3]; + BYTE bCertificateAssociationData[1]; + } DNS_TLSA_DATA, *PDNS_TLSA_DATA; + + typedef struct { + WORD wKeyTag; + BYTE chAlgorithm; + BYTE chDigestType; + WORD wDigestLength; + WORD wPad; + BYTE Digest[1]; + } DNS_DS_DATA, *PDNS_DS_DATA; + + typedef struct { + WORD wDataLength; + WORD wPad; + BYTE Data[1]; + } DNS_OPT_DATA, *PDNS_OPT_DATA; + + typedef struct { + WORD wVersion; + WORD wSize; + WORD wHorPrec; + WORD wVerPrec; + DWORD dwLatitude; + DWORD dwLongitude; + DWORD dwAltitude; + } DNS_LOC_DATA,*PDNS_LOC_DATA; + + typedef struct { + PWSTR pNameNext; + WORD wNumTypes; + WORD wTypes[1]; + } DNS_NXT_DATAW,*PDNS_NXT_DATAW; + + typedef struct { + PSTR pNameNext; + WORD wNumTypes; + WORD wTypes[1]; + } DNS_NXT_DATAA,*PDNS_NXT_DATAA; + + typedef struct { + PWSTR pNameTarget; + WORD wPriority; + WORD wWeight; + WORD wPort; + WORD Pad; + } DNS_SRV_DATAW,*PDNS_SRV_DATAW; + + typedef struct { + PSTR pNameTarget; + WORD wPriority; + WORD wWeight; + WORD wPort; + WORD Pad; + } DNS_SRV_DATAA,*PDNS_SRV_DATAA; + + typedef struct { + WORD wOrder; + WORD wPreference; + PWSTR pFlags; + PWSTR pService; + PWSTR pRegularExpression; + PWSTR pReplacement; + } DNS_NAPTR_DATAW, *PDNS_NAPTR_DATAW; + + typedef struct { + WORD wOrder; + WORD wPreference; + PSTR pFlags; + PSTR pService; + PSTR pRegularExpression; + PSTR pReplacement; + } DNS_NAPTR_DATAA, *PDNS_NAPTR_DATAA; + + typedef struct { + BYTE AddressType; + BYTE Address[DNS_ATMA_MAX_ADDR_LENGTH ]; + } DNS_ATMA_DATA,*PDNS_ATMA_DATA; + + typedef struct { + PWSTR pNameAlgorithm; + PBYTE pAlgorithmPacket; + PBYTE pKey; + PBYTE pOtherData; + DWORD dwCreateTime; + DWORD dwExpireTime; + WORD wMode; + WORD wError; + WORD wKeyLength; + WORD wOtherLength; + UCHAR cAlgNameLength; + WINBOOL bPacketPointers; + } DNS_TKEY_DATAW,*PDNS_TKEY_DATAW; + + typedef struct { + PSTR pNameAlgorithm; + PBYTE pAlgorithmPacket; + PBYTE pKey; + PBYTE pOtherData; + DWORD dwCreateTime; + DWORD dwExpireTime; + WORD wMode; + WORD wError; + WORD wKeyLength; + WORD wOtherLength; + UCHAR cAlgNameLength; + WINBOOL bPacketPointers; + } DNS_TKEY_DATAA,*PDNS_TKEY_DATAA; + + typedef struct { + PWSTR pNameAlgorithm; + PBYTE pAlgorithmPacket; + PBYTE pSignature; + PBYTE pOtherData; + LONGLONG i64CreateTime; + WORD wFudgeTime; + WORD wOriginalXid; + WORD wError; + WORD wSigLength; + WORD wOtherLength; + UCHAR cAlgNameLength; + WINBOOL bPacketPointers; + } DNS_TSIG_DATAW,*PDNS_TSIG_DATAW; + + typedef struct { + PSTR pNameAlgorithm; + PBYTE pAlgorithmPacket; + PBYTE pSignature; + PBYTE pOtherData; + LONGLONG i64CreateTime; + WORD wFudgeTime; + WORD wOriginalXid; + WORD wError; + WORD wSigLength; + WORD wOtherLength; + UCHAR cAlgNameLength; + WINBOOL bPacketPointers; + } DNS_TSIG_DATAA,*PDNS_TSIG_DATAA; + + typedef struct { + DWORD dwByteCount; + BYTE bData[1]; + } DNS_UNKNOWN_DATA, *PDNS_UNKNOWN_DATA; + + typedef struct { + DWORD dwMappingFlag; + DWORD dwLookupTimeout; + DWORD dwCacheTimeout; + DWORD cWinsServerCount; + IP4_ADDRESS WinsServers[1]; + } DNS_WINS_DATA,*PDNS_WINS_DATA; + + typedef struct { + DWORD dwMappingFlag; + DWORD dwLookupTimeout; + DWORD dwCacheTimeout; + PWSTR pNameResultDomain; + } DNS_WINSR_DATAW,*PDNS_WINSR_DATAW; + + typedef struct { + DWORD dwMappingFlag; + DWORD dwLookupTimeout; + DWORD dwCacheTimeout; + PSTR pNameResultDomain; + } DNS_WINSR_DATAA,*PDNS_WINSR_DATAA; + + __MINGW_TYPEDEF_AW(DNS_PTR_DATA) + __MINGW_TYPEDEF_AW(PDNS_PTR_DATA) + __MINGW_TYPEDEF_AW(DNS_SOA_DATA) + __MINGW_TYPEDEF_AW(PDNS_SOA_DATA) + __MINGW_TYPEDEF_AW(DNS_MINFO_DATA) + __MINGW_TYPEDEF_AW(PDNS_MINFO_DATA) + __MINGW_TYPEDEF_AW(DNS_MX_DATA) + __MINGW_TYPEDEF_AW(PDNS_MX_DATA) + __MINGW_TYPEDEF_AW(DNS_TXT_DATA) + __MINGW_TYPEDEF_AW(PDNS_TXT_DATA) + __MINGW_TYPEDEF_AW(DNS_SIG_DATA) + __MINGW_TYPEDEF_AW(PDNS_SIG_DATA) + __MINGW_TYPEDEF_AW(DNS_NXT_DATA) + __MINGW_TYPEDEF_AW(PDNS_NXT_DATA) + __MINGW_TYPEDEF_AW(DNS_SRV_DATA) + __MINGW_TYPEDEF_AW(PDNS_SRV_DATA) + __MINGW_TYPEDEF_AW(DNS_NAPTR_DATA) + __MINGW_TYPEDEF_AW(PDNS_NAPTR_DATA) + __MINGW_TYPEDEF_AW(DNS_RRSIG_DATA) + __MINGW_TYPEDEF_AW(PDNS_RRSIG_DATA) + __MINGW_TYPEDEF_AW(DNS_NSEC_DATA) + __MINGW_TYPEDEF_AW(PDNS_NSEC_DATA) + __MINGW_TYPEDEF_AW(DNS_TKEY_DATA) + __MINGW_TYPEDEF_AW(PDNS_TKEY_DATA) + __MINGW_TYPEDEF_AW(DNS_TSIG_DATA) + __MINGW_TYPEDEF_AW(PDNS_TSIG_DATA) + __MINGW_TYPEDEF_AW(DNS_WINSR_DATA) + __MINGW_TYPEDEF_AW(PDNS_WINSR_DATA) + +#define DNS_TEXT_RECORD_LENGTH(StringCount) (FIELD_OFFSET(DNS_TXT_DATA,pStringArray) + ((StringCount) *sizeof(PCHAR))) +#define DNS_NULL_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NULL_DATA,Data) + (ByteCount)) +#define DNS_WKS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_WKS_DATA,BitMask) + (ByteCount)) +#define DNS_WINS_RECORD_LENGTH(IpCount) (FIELD_OFFSET(DNS_WINS_DATA,WinsServers) + ((IpCount) *sizeof(IP4_ADDRESS))) +#define DNS_KEY_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_KEY_DATA,Key) + (ByteCount)) +#define DNS_SIG_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_SIG_DATA,Signature) + (ByteCount)) +#define DNS_NSEC_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC_DATA,TypeBitMaps) + (ByteCount)) +#define DNS_DS_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_DS_DATA,Digest) + (ByteCount)) +#define DNS_OPT_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_OPT_DATA,Data) + (ByteCount)) +#define DNS_DHCID_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_DHCID_DATA,DHCID) + (ByteCount)) +#define DNS_NSEC3_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC3_DATA,chData) + (ByteCount)) +#define DNS_NSEC3PARAM_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_NSEC3PARAM_DATA,pbSalt) + (ByteCount)) +#define DNS_TLSA_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_TLSA_DATA,bCertificateAssociationData) + (ByteCount)) +#define DNS_UNKNOWN_RECORD_LENGTH(ByteCount) (FIELD_OFFSET(DNS_UNKNOWN_DATA,bData) + (ByteCount)) + + typedef struct _DnsRecordFlags { + DWORD Section : 2; + DWORD Delete : 1; + DWORD CharSet : 2; + DWORD Unused : 3; + DWORD Reserved : 24; + } DNS_RECORD_FLAGS; + + typedef enum _DnsSection { + DnsSectionQuestion,DnsSectionAnswer,DnsSectionAuthority,DnsSectionAddtional + } DNS_SECTION; + +#define DnsSectionZone DnsSectionQuestion +#define DnsSectionPrereq DnsSectionAnswer +#define DnsSectionUpdate DnsSectionAuthority + +#define DNSREC_SECTION (0x00000003) +#define DNSREC_QUESTION (0x00000000) +#define DNSREC_ANSWER (0x00000001) +#define DNSREC_AUTHORITY (0x00000002) +#define DNSREC_ADDITIONAL (0x00000003) + +#define DNSREC_ZONE (0x00000000) +#define DNSREC_PREREQ (0x00000001) +#define DNSREC_UPDATE (0x00000002) + +#define DNSREC_DELETE (0x00000004) +#define DNSREC_NOEXIST (0x00000004) + + typedef struct _DnsRecordW { + struct _DnsRecordW *pNext; + PWSTR pName; + WORD wType; + WORD wDataLength; + union { + DWORD DW; + DNS_RECORD_FLAGS S; + } Flags; + DWORD dwTtl; + DWORD dwReserved; + union { + DNS_A_DATA A; + DNS_SOA_DATAW SOA,Soa; + DNS_PTR_DATAW PTR,Ptr,NS,Ns,CNAME,Cname,DNAME,Dname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr; + DNS_MINFO_DATAW MINFO,Minfo,RP,Rp; + DNS_MX_DATAW MX,Mx,AFSDB,Afsdb,RT,Rt; + DNS_TXT_DATAW HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25; + DNS_NULL_DATA Null; + DNS_WKS_DATA WKS,Wks; + DNS_AAAA_DATA AAAA; + DNS_KEY_DATA KEY,Key; + DNS_SIG_DATAW SIG,Sig; + DNS_ATMA_DATA ATMA,Atma; + DNS_NXT_DATAW NXT,Nxt; + DNS_SRV_DATAW SRV,Srv; + DNS_NAPTR_DATAW NAPTR,Naptr; + DNS_OPT_DATA OPT,Opt; + DNS_DS_DATA DS,Ds; + DNS_RRSIG_DATAW RRSIG,Rrsig; + DNS_NSEC_DATAW NSEC,Nsec; + DNS_DNSKEY_DATA DNSKEY,Dnskey; + DNS_TKEY_DATAW TKEY,Tkey; + DNS_TSIG_DATAW TSIG,Tsig; + DNS_WINS_DATA WINS,Wins; + DNS_WINSR_DATAW WINSR,WinsR,NBSTAT,Nbstat; + DNS_DHCID_DATA DHCID; + DNS_NSEC3_DATA NSEC3,Nsec3; + DNS_NSEC3PARAM_DATA NSEC3PARAM,Nsec3Param; + DNS_TLSA_DATA TLSA,Tlsa; + DNS_UNKNOWN_DATA UNKNOWN,Unknown; + PBYTE pDataPtr; + } Data; + } DNS_RECORDW,*PDNS_RECORDW; + + typedef struct _DnsRecordOptW { + struct _DnsRecordW *pNext; + PWSTR pName; + WORD wType; + WORD wDataLength; + union { + DWORD DW; + DNS_RECORD_FLAGS S; + } Flags; + DNS_HEADER_EXT ExtHeader; + WORD wPayloadSize; + WORD wReserved; + union { + DNS_OPT_DATA OPT,Opt; + } Data; + } DNS_RECORD_OPTW, *PDNS_RECORD_OPTW; + + typedef struct _DnsRecordA { + struct _DnsRecordA *pNext; + PSTR pName; + WORD wType; + WORD wDataLength; + union { + DWORD DW; + DNS_RECORD_FLAGS S; + } Flags; + DWORD dwTtl; + DWORD dwReserved; + union { + DNS_A_DATA A; + DNS_SOA_DATAA SOA,Soa; + DNS_PTR_DATAA PTR,Ptr,NS,Ns,CNAME,Cname,DNAME,Dname,MB,Mb,MD,Md,MF,Mf,MG,Mg,MR,Mr; + DNS_MINFO_DATAA MINFO,Minfo,RP,Rp; + DNS_MX_DATAA MX,Mx,AFSDB,Afsdb,RT,Rt; + DNS_TXT_DATAA HINFO,Hinfo,ISDN,Isdn,TXT,Txt,X25; + DNS_NULL_DATA Null; + DNS_WKS_DATA WKS,Wks; + DNS_AAAA_DATA AAAA; + DNS_KEY_DATA KEY,Key; + DNS_SIG_DATAA SIG,Sig; + DNS_ATMA_DATA ATMA,Atma; + DNS_NXT_DATAA NXT,Nxt; + DNS_SRV_DATAA SRV,Srv; + DNS_NAPTR_DATAA NAPTR,Naptr; + DNS_OPT_DATA OPT,Opt; + DNS_DS_DATA DS,Ds; + DNS_RRSIG_DATAA RRSIG,Rrsig; + DNS_NSEC_DATAA NSEC,Nsec; + DNS_DNSKEY_DATA DNSKEY,Dnskey; + DNS_TKEY_DATAA TKEY,Tkey; + DNS_TSIG_DATAA TSIG,Tsig; + DNS_WINS_DATA WINS,Wins; + DNS_WINSR_DATAA WINSR,WinsR,NBSTAT,Nbstat; + DNS_DHCID_DATA DHCID; + DNS_NSEC3_DATA NSEC3,Nsec3; + DNS_NSEC3PARAM_DATA NSEC3PARAM,Nsec3Param; + DNS_TLSA_DATA TLSA,Tlsa; + DNS_UNKNOWN_DATA UNKNOWN,Unknown; + PBYTE pDataPtr; + } Data; + } DNS_RECORDA,*PDNS_RECORDA; + + typedef struct _DnsRecordOptA { + struct _DnsRecordA *pNext; + PSTR pName; + WORD wType; + WORD wDataLength; + union { + DWORD DW; + DNS_RECORD_FLAGS S; + } Flags; + DNS_HEADER_EXT ExtHeader; + WORD wPayloadSize; + WORD wReserved; + union { + DNS_OPT_DATA OPT, Opt; + } Data; + } DNS_RECORD_OPTA, *PDNS_RECORD_OPTA; + +#ifdef UNICODE + typedef DNS_RECORDW DNS_RECORD, *PDNS_RECORD; + typedef DNS_RECORD_OPTW DNS_RECORD_OPT, *PDNS_RECORD_OPT; +#else + typedef DNS_RECORDA DNS_RECORD, *PDNS_RECORD; + typedef DNS_RECORD_OPTA DNS_RECORD_OPT, *PDNS_RECORD_OPT; +#endif + +#define DNS_RECORD_FIXED_SIZE FIELD_OFFSET(DNS_RECORD,Data) +#define SIZEOF_DNS_RECORD_HEADER DNS_RECORD_FIXED_SIZE + + typedef struct _DnsRRSet { + PDNS_RECORD pFirstRR; + PDNS_RECORD pLastRR; + } DNS_RRSET,*PDNS_RRSET; + +#define DNS_RRSET_INIT(rrset) { PDNS_RRSET _prrset = &(rrset); _prrset->pFirstRR = NULL; _prrset->pLastRR = (PDNS_RECORD) &_prrset->pFirstRR; } +#define DNS_RRSET_ADD(rrset,pnewRR) { PDNS_RRSET _prrset = &(rrset); PDNS_RECORD _prrnew = (pnewRR); _prrset->pLastRR->pNext = _prrnew; _prrset->pLastRR = _prrnew; } +#define DNS_RRSET_TERMINATE(rrset) { PDNS_RRSET _prrset = &(rrset); _prrset->pLastRR->pNext = NULL; } + + typedef VOID (WINAPI *DNS_PROXY_COMPLETION_ROUTINE)(void *completionContext,DNS_STATUS status); + + typedef enum DNS_PROXY_INFORMATION_TYPE { + DNS_PROXY_INFORMATION_DIRECT, + DNS_PROXY_INFORMATION_DEFAULT_SETTINGS, + DNS_PROXY_INFORMATION_PROXY_NAME, + DNS_PROXY_INFORMATION_DOES_NOT_EXIST + } DNS_PROXY_INFORMATION_TYPE; + + typedef struct DNS_PROXY_INFORMATION { + ULONG version; + DNS_PROXY_INFORMATION_TYPE proxyInformationType; + PWSTR proxyName; + } DNS_PROXY_INFORMATION; + + typedef enum _DNS_CHARSET { + DnsCharSetUnknown,DnsCharSetUnicode,DnsCharSetUtf8,DnsCharSetAnsi + } DNS_CHARSET; + + PDNS_RECORD WINAPI DnsRecordCopyEx(PDNS_RECORD pRecord,DNS_CHARSET CharSetIn,DNS_CHARSET CharSetOut); + PDNS_RECORD WINAPI DnsRecordSetCopyEx(PDNS_RECORD pRecordSet,DNS_CHARSET CharSetIn,DNS_CHARSET CharSetOut); + +#if defined(UNICODE) +#define DnsRecordCopy(pRR) DnsRecordCopyEx((pRR),DnsCharSetUnicode,DnsCharSetUnicode) +#define DnsRecordSetCopy(pRR) DnsRecordSetCopyEx((pRR),DnsCharSetUnicode,DnsCharSetUnicode) +#else +#define DnsRecordCopy(pRR) DnsRecordCopyEx((pRR),DnsCharSetAnsi,DnsCharSetAnsi) +#define DnsRecordSetCopy(pRR) DnsRecordSetCopyEx((pRR),DnsCharSetAnsi,DnsCharSetAnsi) +#endif + + WINBOOL WINAPI DnsRecordCompare(PDNS_RECORD pRecord1,PDNS_RECORD pRecord2); + WINBOOL WINAPI DnsRecordSetCompare(PDNS_RECORD pRR1,PDNS_RECORD pRR2,PDNS_RECORD *ppDiff1,PDNS_RECORD *ppDiff2); + PDNS_RECORD DnsRecordSetDetach(PDNS_RECORD pRecordList); + + typedef enum { + DnsFreeFlat = 0,DnsFreeRecordList,DnsFreeParsedMessageFields + } DNS_FREE_TYPE; + + VOID WINAPI DnsFree(PVOID pData,DNS_FREE_TYPE FreeType); + +#define DnsFreeRecordListDeep DnsFreeRecordList + +#if(_WIN32_WINNT >= 0x0501) + #define DnsRecordListFree(p,t) DnsFree(p,DnsFreeRecordList) +#else + VOID WINAPI DnsRecordListFree(PDNS_RECORD pRecordList,DNS_FREE_TYPE FreeType); +#endif /* _WIN32_WINNT >= 0x0501 */ + +#define DNS_QUERY_STANDARD 0x00000000 +#define DNS_QUERY_ACCEPT_TRUNCATED_RESPONSE 0x00000001 +#define DNS_QUERY_USE_TCP_ONLY 0x00000002 +#define DNS_QUERY_NO_RECURSION 0x00000004 +#define DNS_QUERY_BYPASS_CACHE 0x00000008 +#define DNS_QUERY_NO_WIRE_QUERY 0x00000010 +#define DNS_QUERY_NO_LOCAL_NAME 0x00000020 +#define DNS_QUERY_NO_HOSTS_FILE 0x00000040 +#define DNS_QUERY_NO_NETBT 0x00000080 +#define DNS_QUERY_WIRE_ONLY 0x00000100 +#define DNS_QUERY_RETURN_MESSAGE 0x00000200 +#define DNS_QUERY_MULTICAST_ONLY 0x00000400 +#define DNS_QUERY_NO_MULTICAST 0x00000800 +#define DNS_QUERY_TREAT_AS_FQDN 0x00001000 +#define DNS_QUERY_APPEND_MULTILABEL 0x00800000 +#define DNS_QUERY_ADDRCONFIG 0x00002000 +#define DNS_QUERY_DUAL_ADDR 0x00004000 +#define DNS_QUERY_DONT_RESET_TTL_VALUES 0x00100000 +#define DNS_QUERY_DISABLE_IDN_ENCODING 0x00200000 +#define DNS_QUERY_APPEND_MULTILABEL 0x00800000 +#define DNS_QUERY_DNSSEC_OK 0x01000000 +#define DNS_QUERY_DNSSEC_CHECKING_DISABLED 0x02000000 +#define DNS_QUERY_RESERVED 0xf0000000 +#define DNS_QUERY_CACHE_ONLY DNS_QUERY_NO_WIRE_QUERY + + DNS_STATUS WINAPI DnsQuery_A(PCSTR pszName,WORD wType,DWORD Options,PIP4_ARRAY aipServers,PDNS_RECORD *ppQueryResults,PVOID *pReserved); + DNS_STATUS WINAPI DnsQuery_UTF8(PCSTR pszName,WORD wType,DWORD Options,PIP4_ARRAY aipServers,PDNS_RECORDA *ppQueryResults,PVOID *pReserved); + DNS_STATUS WINAPI DnsQuery_W(PCWSTR pszName,WORD wType,DWORD Options,PIP4_ARRAY aipServers,PDNS_RECORD *ppQueryResults,PVOID *pReserved); + +#define DnsQuery __MINGW_NAME_UAW(DnsQuery) + +#if !defined (USE_PRIVATE_DNS_ADDR) || defined (MIDL_PASS) || defined (__WIDL__) +#define DNS_QUERY_REQUEST_VERSION1 0x1 +#define DNS_QUERY_REQUEST_VERSION2 0x2 +#endif + +#define DNS_QUERY_RESULTS_VERSION1 0x1 + + typedef struct _DNS_QUERY_RESULT { + ULONG Version; + DNS_STATUS QueryStatus; + ULONG64 QueryOptions; + PDNS_RECORD pQueryRecords; + PVOID Reserved; + } DNS_QUERY_RESULT, *PDNS_QUERY_RESULT; + + typedef VOID WINAPI DNS_QUERY_COMPLETION_ROUTINE(PVOID pQueryContext,PDNS_QUERY_RESULT pQueryResults); + typedef DNS_QUERY_COMPLETION_ROUTINE *PDNS_QUERY_COMPLETION_ROUTINE; + +#define DNS_UPDATE_SECURITY_USE_DEFAULT 0x00000000 +#define DNS_UPDATE_SECURITY_OFF 0x00000010 +#define DNS_UPDATE_SECURITY_ON 0x00000020 +#define DNS_UPDATE_SECURITY_ONLY 0x00000100 +#define DNS_UPDATE_CACHE_SECURITY_CONTEXT 0x00000200 +#define DNS_UPDATE_TEST_USE_LOCAL_SYS_ACCT 0x00000400 +#define DNS_UPDATE_FORCE_SECURITY_NEGO 0x00000800 +#define DNS_UPDATE_TRY_ALL_MASTER_SERVERS 0x00001000 +#define DNS_UPDATE_SKIP_NO_UPDATE_ADAPTERS 0x00002000 +#define DNS_UPDATE_REMOTE_SERVER 0x00004000 +#define DNS_UPDATE_RESERVED 0xffff0000 + +#define DnsAcquireContextHandle __MINGW_NAME_UAW(DnsAcquireContextHandle) +#define DnsModifyRecordsInSet __MINGW_NAME_UAW(DnsModifyRecordsInSet) +#define DnsReplaceRecordSet __MINGW_NAME_AW(DnsReplaceRecordSet) +#define DnsValidateName(p,f) __MINGW_NAME_UAW(DnsValidateName)((p),(f)) +#define DnsNameCompare(n1,n2) __MINGW_NAME_UAW(DnsNameCompare)((n1),(n2)) + + DNS_STATUS WINAPI DnsAcquireContextHandle_W(DWORD CredentialFlags,PVOID pCredentials,PHANDLE pContextHandle); + DNS_STATUS WINAPI DnsAcquireContextHandle_A(DWORD CredentialFlags,PVOID pCredentials,PHANDLE pContextHandle); + VOID WINAPI DnsReleaseContextHandle(HANDLE hContext); + DNS_STATUS WINAPI DnsModifyRecordsInSet_W(PDNS_RECORD pAddRecords,PDNS_RECORD pDeleteRecords,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + DNS_STATUS WINAPI DnsModifyRecordsInSet_A(PDNS_RECORD pAddRecords,PDNS_RECORD pDeleteRecords,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + DNS_STATUS WINAPI DnsModifyRecordsInSet_UTF8(PDNS_RECORDA pAddRecords,PDNS_RECORDA pDeleteRecords,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + DNS_STATUS WINAPI DnsReplaceRecordSetW(PDNS_RECORD pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + DNS_STATUS WINAPI DnsReplaceRecordSetA(PDNS_RECORD pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + DNS_STATUS WINAPI DnsReplaceRecordSetUTF8(PDNS_RECORDA pNewSet,DWORD Options,HANDLE hContext,PIP4_ARRAY pServerList,PVOID pReserved); + + typedef enum _DNS_NAME_FORMAT { + DnsNameDomain, + DnsNameDomainLabel, + DnsNameHostnameFull, + DnsNameHostnameLabel, + DnsNameWildcard, + DnsNameSrvRecord, + DnsNameValidateTld + } DNS_NAME_FORMAT; + + DNS_STATUS DnsValidateName_UTF8(LPCSTR pszName,DNS_NAME_FORMAT Format); + DNS_STATUS DnsValidateName_W(LPCWSTR pwszName,DNS_NAME_FORMAT Format); + DNS_STATUS DnsValidateName_A(LPCSTR pszName,DNS_NAME_FORMAT Format); + +#define DNS_VALSVR_ERROR_INVALID_ADDR 0x01 +#define DNS_VALSVR_ERROR_INVALID_NAME 0x02 +#define DNS_VALSVR_ERROR_UNREACHABLE 0x03 +#define DNS_VALSVR_ERROR_NO_RESPONSE 0x04 +#define DNS_VALSVR_ERROR_NO_AUTH 0x05 +#define DNS_VALSVR_ERROR_REFUSED 0x06 + +#define DNS_VALSVR_ERROR_NO_TCP 0x10 +#define DNS_VALSVR_ERROR_UNKNOWN 0xFF + +#ifdef _WS2DEF_ + DNS_STATUS DnsValidateServerStatus(PSOCKADDR server,PCWSTR queryName,PDWORD serverStatus); +#endif + + WINBOOL WINAPI DnsNameCompare_A(LPSTR pName1,LPSTR pName2); + WINBOOL WINAPI DnsNameCompare_W(LPWSTR pName1,LPWSTR pName2); + + typedef struct _DNS_MESSAGE_BUFFER { + DNS_HEADER MessageHead; + CHAR MessageBody[1]; + } DNS_MESSAGE_BUFFER,*PDNS_MESSAGE_BUFFER; + + WINBOOL WINAPI DnsWriteQuestionToBuffer_W(PDNS_MESSAGE_BUFFER pDnsBuffer,PDWORD pdwBufferSize,LPWSTR pszName,WORD wType,WORD Xid,WINBOOL fRecursionDesired); + WINBOOL WINAPI DnsWriteQuestionToBuffer_UTF8(PDNS_MESSAGE_BUFFER pDnsBuffer,LPDWORD pdwBufferSize,LPSTR pszName,WORD wType,WORD Xid,WINBOOL fRecursionDesired); + DNS_STATUS WINAPI DnsExtractRecordsFromMessage_W(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORD *ppRecord); + DNS_STATUS WINAPI DnsExtractRecordsFromMessage_UTF8(PDNS_MESSAGE_BUFFER pDnsBuffer,WORD wMessageLength,PDNS_RECORDA *ppRecord); + + DWORD WINAPI DnsGetProxyInformation(PCWSTR hostName,DNS_PROXY_INFORMATION *proxyInformation,DNS_PROXY_INFORMATION *defaultProxyInformation,DNS_PROXY_COMPLETION_ROUTINE completionRoutine,void *completionContext); + VOID WINAPI DnsFreeProxyName(PWSTR proxyName); + +#define DNS_CONNECTION_NAME_MAX_LENGTH 64 +#define DNS_CONNECTION_PROXY_INFO_CURRENT_VERSION 1 +#define DNS_CONNECTION_PROXY_INFO_SERVER_MAX_LENGTH 256 +#define DNS_CONNECTION_PROXY_INFO_FRIENDLY_NAME_MAX_LENGTH 64 +#define DNS_CONNECTION_PROXY_INFO_USERNAME_MAX_LENGTH 128 +#define DNS_CONNECTION_PROXY_INFO_PASSWORD_MAX_LENGTH 128 +#define DNS_CONNECTION_PROXY_INFO_EXCEPTION_MAX_LENGTH 1024 +#define DNS_CONNECTION_PROXY_INFO_EXTRA_INFO_MAX_LENGTH 1024 + + typedef enum _DNS_CONNECTION_PROXY_TYPE { + DNS_CONNECTION_PROXY_TYPE_NULL = 0, + DNS_CONNECTION_PROXY_TYPE_HTTP = 1, + DNS_CONNECTION_PROXY_TYPE_WAP = 2, + DNS_CONNECTION_PROXY_TYPE_SOCKS4 = 4, + DNS_CONNECTION_PROXY_TYPE_SOCKS5 = 5 + } DNS_CONNECTION_PROXY_TYPE; + + typedef enum _DNS_CONNECTION_PROXY_INFO_SWITCH { + DNS_CONNECTION_PROXY_INFO_SWITCH_CONFIG = 0, + DNS_CONNECTION_PROXY_INFO_SWITCH_SCRIPT, + DNS_CONNECTION_PROXY_INFO_SWITCH_WPAD + } DNS_CONNECTION_PROXY_INFO_SWITCH; + +#define DNS_CONNECTION_PROXY_INFO_FLAG_DISABLED 0x1 +#define DNS_CONNECTION_PROXY_INFO_FLAG_BYPASSLOCAL 0x2 + + struct _DNS_CONNECTION_PROXY_INFO_CONFIG { + WCHAR *pwszServer; + WCHAR *pwszUsername; + WCHAR *pwszPassword; + WCHAR *pwszException; + WCHAR *pwszExtraInfo; + WORD Port; + }; + + struct _DNS_CONNECTION_PROXY_INFO_SCRIPT { + WCHAR *pwszScript; + WCHAR *pwszUsername; + WCHAR *pwszPassword; + }; + + typedef struct _DNS_CONNECTION_PROXY_INFO { + DWORD Version; + WCHAR *pwszFriendlyName; + DWORD Flags; + DNS_CONNECTION_PROXY_INFO_SWITCH Switch; + __C89_NAMELESS union { + struct _DNS_CONNECTION_PROXY_INFO_CONFIG Config; + struct _DNS_CONNECTION_PROXY_INFO_SCRIPT Script; + }; + } DNS_CONNECTION_PROXY_INFO, *PDNS_CONNECTION_PROXY_INFO; + + typedef struct _DNS_CONNECTION_PROXY_INFO_EX { + DNS_CONNECTION_PROXY_INFO ProxyInfo; + DWORD dwInterfaceIndex; + WCHAR *pwszConnectionName; + WINBOOL fDirectConfiguration; + HANDLE hConnection; + } DNS_CONNECTION_PROXY_INFO_EX, *PDNS_CONNECTION_PROXY_INFO_EX; + + typedef struct _DNS_CONNECTION_PROXY_ELEMENT { + DNS_CONNECTION_PROXY_TYPE Type; + DNS_CONNECTION_PROXY_INFO Info; + } DNS_CONNECTION_PROXY_ELEMENT; + + typedef struct _DNS_CONNECTION_PROXY_LIST { + DWORD cProxies; + DNS_CONNECTION_PROXY_ELEMENT *pProxies; + } DNS_CONNECTION_PROXY_LIST; + + typedef struct _DNS_CONNECTION_NAME { + WCHAR wszName[DNS_CONNECTION_NAME_MAX_LENGTH + 1]; + } DNS_CONNECTION_NAME; + + typedef struct _DNS_CONNECTION_NAME_LIST { + DWORD cNames; + DNS_CONNECTION_NAME *pNames; + } DNS_CONNECTION_NAME_LIST; + + DWORD DnsConnectionGetProxyInfoForHostUrl(PCWSTR pwszHostUrl,BYTE *pSelectionContext,DWORD dwSelectionContextLength,DWORD dwExplicitInterfaceIndex,DNS_CONNECTION_PROXY_INFO_EX *pProxyInfoEx); + VOID DnsConnectionFreeProxyInfoEx(DNS_CONNECTION_PROXY_INFO_EX *pProxyInfoEx); + DWORD DnsConnectionGetProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type,DNS_CONNECTION_PROXY_INFO *pProxyInfo); + VOID DnsConnectionFreeProxyInfo(DNS_CONNECTION_PROXY_INFO *pProxyInfo); + DWORD DnsConnectionSetProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type,const DNS_CONNECTION_PROXY_INFO *pProxyInfo); + DWORD DnsConnectionDeleteProxyInfo(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_TYPE Type); + DWORD DnsConnectionGetProxyList(PCWSTR pwszConnectionName,DNS_CONNECTION_PROXY_LIST *pProxyList); + VOID DnsConnectionFreeProxyList(DNS_CONNECTION_PROXY_LIST *pProxyList); + DWORD DnsConnectionGetNameList(DNS_CONNECTION_NAME_LIST *pNameList); + VOID DnsConnectionFreeNameList(DNS_CONNECTION_NAME_LIST *pNameList); + + typedef struct _DNS_CONNECTION_IFINDEX_ENTRY { + PCWSTR pwszConnectionName; + DWORD dwIfIndex; + } DNS_CONNECTION_IFINDEX_ENTRY; + + typedef struct _DNS_CONNECTION_IFINDEX_LIST { + DNS_CONNECTION_IFINDEX_ENTRY *pConnectionIfIndexEntries; + DWORD nEntries; + } DNS_CONNECTION_IFINDEX_LIST; + + DWORD DnsConnectionUpdateIfIndexTable(DNS_CONNECTION_IFINDEX_LIST *pConnectionIfIndexEntries); + +#define DNS_CONNECTION_POLICY_ENTRY_ONDEMAND 0x00000001 + + typedef struct _DNS_CONNECTION_POLICY_ENTRY { + PCWSTR pwszHost; + PCWSTR pwszAppId; + DWORD cbAppSid; + PBYTE pbAppSid; + DWORD nConnections; + PCWSTR *ppwszConnections; + DWORD dwPolicyEntryFlags; + } DNS_CONNECTION_POLICY_ENTRY, *PDNS_CONNECTION_POLICY_ENTRY; + + typedef struct _DNS_CONNECTION_POLICY_ENTRY_LIST { + DNS_CONNECTION_POLICY_ENTRY *pPolicyEntries; + DWORD nEntries; + } DNS_CONNECTION_POLICY_ENTRY_LIST; + + typedef enum { + TAG_DNS_CONNECTION_POLICY_TAG_DEFAULT = 0, + TAG_DNS_CONNECTION_POLICY_TAG_CONNECTION_MANAGER, + TAG_DNS_CONNECTION_POLICY_TAG_WWWPT + } DNS_CONNECTION_POLICY_TAG; + + DWORD DnsConnectionSetPolicyEntries(DNS_CONNECTION_POLICY_TAG PolicyEntryTag,DNS_CONNECTION_POLICY_ENTRY_LIST *pPolicyEntryList); + DWORD DnsConnectionDeletePolicyEntries(DNS_CONNECTION_POLICY_TAG PolicyEntryTag); + + typedef struct _DNS_SERVICE_INSTANCE { + LPWSTR pszInstanceName; + LPWSTR pszHostName; + IP4_ADDRESS *ip4Address; + IP6_ADDRESS *ip6Address; + WORD wPort; + WORD wPriority; + WORD wWeight; + DWORD dwPropertyCount; + PWSTR *keys; + PWSTR *values; + DWORD dwInterfaceIndex; + } DNS_SERVICE_INSTANCE, *PDNS_SERVICE_INSTANCE; + + PDNS_SERVICE_INSTANCE WINAPI DnsServiceConstructInstance(PCWSTR pServiceName,PCWSTR pHostName,PIP4_ADDRESS pIp4,PIP6_ADDRESS pIp6,WORD wPort,WORD wPriority,WORD wWeight,DWORD dwPropertiesCount,PCWSTR *keys,PCWSTR *values); + PDNS_SERVICE_INSTANCE WINAPI DnsServiceCopyInstance(PDNS_SERVICE_INSTANCE pOrig); + VOID WINAPI DnsServiceFreeInstance(PDNS_SERVICE_INSTANCE pInstance); + + typedef struct _DNS_SERVICE_CANCEL { + PVOID reserved; + } DNS_SERVICE_CANCEL, *PDNS_SERVICE_CANCEL; + + typedef VOID WINAPI DNS_SERVICE_BROWSE_CALLBACK(DWORD Status,PVOID pQueryContext,PDNS_RECORD pDnsRecord); + typedef DNS_SERVICE_BROWSE_CALLBACK *PDNS_SERVICE_BROWSE_CALLBACK; + + typedef struct _DNS_SERVICE_BROWSE_REQUEST { + ULONG Version; + ULONG InterfaceIndex; + PCWSTR QueryName; + __C89_NAMELESS union { + PDNS_SERVICE_BROWSE_CALLBACK pBrowseCallback; + DNS_QUERY_COMPLETION_ROUTINE *pBrowseCallbackV2; + }; + PVOID pQueryContext; + } DNS_SERVICE_BROWSE_REQUEST, *PDNS_SERVICE_BROWSE_REQUEST; + + DNS_STATUS WINAPI DnsServiceBrowse(PDNS_SERVICE_BROWSE_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel); + DNS_STATUS WINAPI DnsServiceBrowseCancel(PDNS_SERVICE_CANCEL pCancelHandle); + + typedef VOID WINAPI DNS_SERVICE_RESOLVE_COMPLETE(DWORD Status,PVOID pQueryContext,PDNS_SERVICE_INSTANCE pInstance); + typedef DNS_SERVICE_RESOLVE_COMPLETE *PDNS_SERVICE_RESOLVE_COMPLETE; + + typedef struct _DNS_SERVICE_RESOLVE_REQUEST{ + ULONG Version; + ULONG InterfaceIndex; + PWSTR QueryName; + PDNS_SERVICE_RESOLVE_COMPLETE pResolveCompletionCallback; + PVOID pQueryContext; + } DNS_SERVICE_RESOLVE_REQUEST, *PDNS_SERVICE_RESOLVE_REQUEST; + + DNS_STATUS WINAPI DnsServiceResolve(PDNS_SERVICE_RESOLVE_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel); + DNS_STATUS WINAPI DnsServiceResolveCancel(PDNS_SERVICE_CANCEL pCancelHandle); + + typedef VOID WINAPI DNS_SERVICE_REGISTER_COMPLETE(DWORD Status,PVOID pQueryContext,PDNS_SERVICE_INSTANCE pInstance); + typedef DNS_SERVICE_REGISTER_COMPLETE *PDNS_SERVICE_REGISTER_COMPLETE; + + typedef struct _DNS_SERVICE_REGISTER_REQUEST{ + ULONG Version; + ULONG InterfaceIndex; + PDNS_SERVICE_INSTANCE pServiceInstance; + PDNS_SERVICE_REGISTER_COMPLETE pRegisterCompletionCallback; + PVOID pQueryContext; + HANDLE hCredentials; + WINBOOL unicastEnabled; + } DNS_SERVICE_REGISTER_REQUEST, *PDNS_SERVICE_REGISTER_REQUEST; + + DWORD WINAPI DnsServiceRegister(PDNS_SERVICE_REGISTER_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel); + DWORD WINAPI DnsServiceDeRegister(PDNS_SERVICE_REGISTER_REQUEST pRequest,PDNS_SERVICE_CANCEL pCancel); + DWORD WINAPI DnsServiceRegisterCancel(PDNS_SERVICE_CANCEL pCancelHandle); + + typedef struct _MDNS_QUERY_HANDLE { + WCHAR nameBuf[DNS_MAX_NAME_BUFFER_LENGTH]; + WORD wType; + PVOID pSubscription; + PVOID pWnfCallbackParams; + ULONG stateNameData[2]; + } MDNS_QUERY_HANDLE, *PMDNS_QUERY_HANDLE; + + typedef VOID WINAPI MDNS_QUERY_CALLBACK(PVOID pQueryContext,PMDNS_QUERY_HANDLE pQueryHandle,PDNS_QUERY_RESULT pQueryResults); + typedef MDNS_QUERY_CALLBACK *PMDNS_QUERY_CALLBACK; + + typedef struct _MDNS_QUERY_REQUEST { + ULONG Version; + ULONG ulRefCount; + PCWSTR Query; + WORD QueryType; + ULONG64 QueryOptions; + ULONG InterfaceIndex; + PMDNS_QUERY_CALLBACK pQueryCallback; + PVOID pQueryContext; + WINBOOL fAnswerReceived; + ULONG ulResendCount; + } MDNS_QUERY_REQUEST, *PMDNS_QUERY_REQUEST; + + DNS_STATUS WINAPI DnsStartMulticastQuery(PMDNS_QUERY_REQUEST pQueryRequest,PMDNS_QUERY_HANDLE pHandle); + DNS_STATUS WINAPI DnsStopMulticastQuery(PMDNS_QUERY_HANDLE pHandle); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windot11.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windot11.h new file mode 100644 index 00000000..0b3e14ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windot11.h @@ -0,0 +1,3081 @@ +/** +* This file is part of the mingw-w64 runtime package. +* No warranty is given; refer to the file DISCLAIMER within this package. +*/ + +#ifndef __WINDOT11_H__ +#define __WINDOT11_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifndef _NTDDNDIS_ +#include +#endif + +#include + +#if NTDDI_VERSION >= NTDDI_WIN7 || NDIS_SUPPORT_NDIS620 +#define NWF_EXTAP_SUPPORTED 1 +#define NWF_VWIFI_SUPPORTED 1 +#endif + +#if NTDDI_VERSION >= NTDDI_WIN8 || NDIS_SUPPORT_NDIS630 +#define NWF_WFD_SUPPORTED 1 +#define NWF_POWER_SAVE_SUPPORTED 1 +#endif + +#define DOT11_RATE_SET_MAX_LENGTH 126 + +#define DOT11_BSSID_LIST_REVISION_1 1 + +#define DOT11_HESSID_LENGTH 6 + +#ifdef __WIDL__ +typedef struct _DOT11_MAC_ADDRESS { + UCHAR ucDot11MacAddress[6]; +} DOT11_MAC_ADDRESS, *PDOT11_MAC_ADDRESS; +#else +typedef UCHAR DOT11_MAC_ADDRESS[6]; +typedef DOT11_MAC_ADDRESS *PDOT11_MAC_ADDRESS; +#endif + +typedef struct DOT11_BSSID_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; +#ifdef __WIDL__ + [unique, size_is (uTotalNumOfEntries)] DOT11_MAC_ADDRESS BSSIDs[*]; +#else + DOT11_MAC_ADDRESS BSSIDs[1]; +#endif +} DOT11_BSSID_LIST, *PDOT11_BSSID_LIST; + +typedef UCHAR DOT11_HESSID[DOT11_HESSID_LENGTH]; +typedef DOT11_HESSID *PDOT11_HESSID; + +typedef +#ifdef __WIDL__ + [v1_enum] +#endif +enum _DOT11_PHY_TYPE { + dot11_phy_type_unknown = 0, + dot11_phy_type_any = dot11_phy_type_unknown, + dot11_phy_type_fhss = 1, + dot11_phy_type_dsss = 2, + dot11_phy_type_irbaseband = 3, + dot11_phy_type_ofdm = 4, + dot11_phy_type_hrdsss = 5, + dot11_phy_type_erp = 6, + dot11_phy_type_ht = 7, + dot11_phy_type_vht = 8, + dot11_phy_type_dmg = 9, + dot11_phy_type_he = 10, + dot11_phy_type_eht = 11, + dot11_phy_type_IHV_start = 0x80000000, + dot11_phy_type_IHV_end = 0xffffffff +} DOT11_PHY_TYPE, *PDOT11_PHY_TYPE; + +typedef struct _DOT11_RATE_SET { + ULONG uRateSetLength; + UCHAR ucRateSet[DOT11_RATE_SET_MAX_LENGTH]; +} DOT11_RATE_SET, *PDOT11_RATE_SET; + +typedef UCHAR DOT11_COUNTRY_OR_REGION_STRING[3]; +typedef DOT11_COUNTRY_OR_REGION_STRING *PDOT11_COUNTRY_OR_REGION_STRING; +typedef UCHAR DOT11_DIALOG_TOKEN; +typedef UCHAR DOT11_WFD_STATUS_CODE; +typedef UCHAR DOT11_WFD_MINOR_REASON_CODE; +typedef UCHAR DOT11_WFD_SERVICE_HASH[6]; + +#define DOT11_WFD_SERVICE_NAME_MAX_LENGTH 255 +#define DOT11_WFD_APS2_SERVICE_TYPE_MAX_LENGTH 21 +#define DOT11_WFD_ASP2_INSTANCE_NAME_MAX_LENGTH 63 +#define DOT11_WFD_SERVICE_INFORMATION_MAX_LENGTH 65535 +#define DOT11_MAX_REQUESTED_SERVICE_INFORMATION_LENGTH 255 +#define DOT11_WFD_SESSION_INFO_MAX_LENGTH 144 + +typedef struct _DOT11_WFD_SESSION_INFO { + USHORT uSessionInfoLength; + UCHAR ucSessionInfo[DOT11_WFD_SESSION_INFO_MAX_LENGTH]; +} DOT11_WFD_SESSION_INFO, *PDOT11_WFD_SESSION_INFO; + +#if NTDDI_VERSION >= NTDDI_VISTA +#define NDIS_PACKET_TYPE_MEDIA_SPECIFIC_MASK (0x0fff0000U) + +#define NDIS_PACKET_TYPE_802_11_DIRECTED_DATA NDIS_PACKET_TYPE_DIRECTED +#define NDIS_PACKET_TYPE_802_11_BROADCAST_DATA NDIS_PACKET_TYPE_BROADCAST +#define NDIS_PACKET_TYPE_802_11_MULTICAST_DATA NDIS_PACKET_TYPE_MULTICAST +#define NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_DATA NDIS_PACKET_TYPE_ALL_MULTICAST +#define NDIS_PACKET_TYPE_802_11_PROMISCUOUS_DATA NDIS_PACKET_TYPE_PROMISCUOUS +#define NDIS_PACKET_TYPE_802_11_RAW_DATA (0x00010000U) +#define NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT (0x00020000U) +#define NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT (0x00040000U) +#define NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT (0x00080000U) +#define NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT (0x00100000U) +#define NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT (0x00200000U) +#define NDIS_PACKET_TYPE_802_11_RAW_MGMT (0x00400000U) +#define NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL (0x00800000U) +#define NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL (0x01000000U) +#define NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL (0x02000000U) + +#define NDIS_PACKET_TYPE_ALL_802_11_FILTERS (NDIS_PACKET_TYPE_DIRECTED | NDIS_PACKET_TYPE_MULTICAST | NDIS_PACKET_TYPE_ALL_MULTICAST | NDIS_PACKET_TYPE_BROADCAST | NDIS_PACKET_TYPE_PROMISCUOUS | NDIS_PACKET_TYPE_802_11_RAW_DATA | NDIS_PACKET_TYPE_802_11_DIRECTED_MGMT | NDIS_PACKET_TYPE_802_11_BROADCAST_MGMT | NDIS_PACKET_TYPE_802_11_MULTICAST_MGMT | NDIS_PACKET_TYPE_802_11_ALL_MULTICAST_MGMT | NDIS_PACKET_TYPE_802_11_PROMISCUOUS_MGMT | NDIS_PACKET_TYPE_802_11_RAW_MGMT | NDIS_PACKET_TYPE_802_11_DIRECTED_CTRL | NDIS_PACKET_TYPE_802_11_BROADCAST_CTRL | NDIS_PACKET_TYPE_802_11_PROMISCUOUS_CTRL) + +#define DOT11_MAX_PDU_SIZE 2346 +#define DOT11_MIN_PDU_SIZE (256) + +#define DOT11_MAX_NUM_DEFAULT_KEY 4 +#if NTDDI_VERSION >= NTDDI_WIN8 || NDIS_SUPPORT_NDIS630 +#define DOT11_MAX_NUM_DEFAULT_KEY_MFP DOT11_MAX_NUM_DEFAULT_KEY + 2 +#endif + +#define OID_DOT11_NDIS_START 0x0d010300 + +#define NWF_MANDATORY_OID (0x01U) +#define NWF_OPTIONAL_OID (0x02U) + +#define NWF_OPERATIONAL_OID (0x01U) +#define NWF_STATISTICS_OID (0x02U) + +#define NWF_DEFINE_OID(Seq, o, m) ((0x0e000000U) | ((o) << 16) | ((m) << 8) | (Seq)) + +#define OID_DOT11_OFFLOAD_CAPABILITY (OID_DOT11_NDIS_START + 0) + +#define DOT11_HW_WEP_SUPPORTED_TX 0x00000001 +#define DOT11_HW_WEP_SUPPORTED_RX 0x00000002 +#define DOT11_HW_FRAGMENTATION_SUPPORTED 0x00000004 +#define DOT11_HW_DEFRAGMENTATION_SUPPORTED 0x00000008 +#define DOT11_HW_MSDU_AUTH_SUPPORTED_TX 0x00000010 +#define DOT11_HW_MSDU_AUTH_SUPPORTED_RX 0x00000020 + +#define DOT11_CONF_ALGO_WEP_RC4 0x00000001 +#define DOT11_CONF_ALGO_TKIP 0x00000002 + +#define DOT11_AUTH_ALGO_MICHAEL 0x00000001 + +#define DOT11_OPERATION_MODE_UNKNOWN 0x00000000 +#define DOT11_OPERATION_MODE_STATION 0x00000001 +#define DOT11_OPERATION_MODE_AP 0x00000002 +#define DOT11_OPERATION_MODE_EXTENSIBLE_STATION 0x00000004 +#define DOT11_OPERATION_MODE_EXTENSIBLE_AP 0x00000008 +#define DOT11_OPERATION_MODE_WFD_DEVICE 0x00000010 +#define DOT11_OPERATION_MODE_WFD_GROUP_OWNER 0x00000020 +#define DOT11_OPERATION_MODE_WFD_CLIENT 0x00000040 +#define DOT11_OPERATION_MODE_MANUFACTURING 0x40000000 +#define DOT11_OPERATION_MODE_NETWORK_MONITOR 0x80000000 + +#define DOT11_PACKET_TYPE_DIRECTED_CTRL 0x00000001 +#define DOT11_PACKET_TYPE_DIRECTED_MGMT 0x00000002 +#define DOT11_PACKET_TYPE_DIRECTED_DATA 0x00000004 +#define DOT11_PACKET_TYPE_MULTICAST_CTRL 0x00000008 +#define DOT11_PACKET_TYPE_MULTICAST_MGMT 0x00000010 +#define DOT11_PACKET_TYPE_MULTICAST_DATA 0x00000020 +#define DOT11_PACKET_TYPE_BROADCAST_CTRL 0x00000040 +#define DOT11_PACKET_TYPE_BROADCAST_MGMT 0x00000080 +#define DOT11_PACKET_TYPE_BROADCAST_DATA 0x00000100 +#define DOT11_PACKET_TYPE_PROMISCUOUS_CTRL 0x00000200 +#define DOT11_PACKET_TYPE_PROMISCUOUS_MGMT 0x00000400 +#define DOT11_PACKET_TYPE_PROMISCUOUS_DATA 0x00000800 +#define DOT11_PACKET_TYPE_ALL_MULTICAST_CTRL 0x00001000 +#define DOT11_PACKET_TYPE_ALL_MULTICAST_MGMT 0x00002000 +#define DOT11_PACKET_TYPE_ALL_MULTICAST_DATA 0x00004000 + +#define DOT11_PACKET_TYPE_RESERVED (~ (DOT11_PACKET_TYPE_DIRECTED_CTRL | DOT11_PACKET_TYPE_DIRECTED_MGMT | DOT11_PACKET_TYPE_DIRECTED_DATA | DOT11_PACKET_TYPE_MULTICAST_CTRL | DOT11_PACKET_TYPE_MULTICAST_MGMT | DOT11_PACKET_TYPE_MULTICAST_DATA | DOT11_PACKET_TYPE_BROADCAST_CTRL | DOT11_PACKET_TYPE_BROADCAST_MGMT | DOT11_PACKET_TYPE_BROADCAST_DATA | DOT11_PACKET_TYPE_PROMISCUOUS_CTRL | DOT11_PACKET_TYPE_PROMISCUOUS_MGMT | DOT11_PACKET_TYPE_PROMISCUOUS_DATA | DOT11_PACKET_TYPE_ALL_MULTICAST_CTRL | DOT11_PACKET_TYPE_ALL_MULTICAST_MGMT | DOT11_PACKET_TYPE_ALL_MULTICAST_DATA | 0)) + +#define OID_DOT11_CURRENT_OFFLOAD_CAPABILITY (OID_DOT11_NDIS_START + 1) +#define OID_DOT11_WEP_OFFLOAD (OID_DOT11_NDIS_START + 2) +#define OID_DOT11_WEP_UPLOAD (OID_DOT11_NDIS_START + 3) +#define OID_DOT11_DEFAULT_WEP_OFFLOAD (OID_DOT11_NDIS_START + 4) +#define OID_DOT11_DEFAULT_WEP_UPLOAD (OID_DOT11_NDIS_START + 5) +#define OID_DOT11_MPDU_MAX_LENGTH (OID_DOT11_NDIS_START + 6) +#define OID_DOT11_OPERATION_MODE_CAPABILITY (OID_DOT11_NDIS_START + 7) +#define OID_DOT11_CURRENT_OPERATION_MODE (OID_DOT11_NDIS_START + 8) +#define OID_DOT11_CURRENT_PACKET_FILTER (OID_DOT11_NDIS_START + 9) + +typedef struct _DOT11_OFFLOAD_CAPABILITY { + ULONG uReserved; + ULONG uFlags; + ULONG uSupportedWEPAlgorithms; + ULONG uNumOfReplayWindows; + ULONG uMaxWEPKeyMappingLength; + ULONG uSupportedAuthAlgorithms; + ULONG uMaxAuthKeyMappingLength; +} DOT11_OFFLOAD_CAPABILITY, *PDOT11_OFFLOAD_CAPABILITY; + +typedef struct _DOT11_CURRENT_OFFLOAD_CAPABILITY { + ULONG uReserved; + ULONG uFlags; +} DOT11_CURRENT_OFFLOAD_CAPABILITY, *PDOT11_CURRENT_OFFLOAD_CAPABILITY; + +typedef enum _DOT11_OFFLOAD_TYPE { + dot11_offload_type_wep = 1, + dot11_offload_type_auth = 2 +} DOT11_OFFLOAD_TYPE, *PDOT11_OFFLOAD_TYPE; + +typedef struct _DOT11_IV48_COUNTER { + ULONG uIV32Counter; + USHORT usIV16Counter; +} DOT11_IV48_COUNTER, *PDOT11_IV48_COUNTER; + +typedef struct _DOT11_WEP_OFFLOAD { + ULONG uReserved; + HANDLE hOffloadContext; + HANDLE hOffload; + DOT11_OFFLOAD_TYPE dot11OffloadType; + ULONG dwAlgorithm; + BOOLEAN bRowIsOutbound; + BOOLEAN bUseDefault; + ULONG uFlags; + UCHAR ucMacAddress[6]; + ULONG uNumOfRWsOnPeer; + ULONG uNumOfRWsOnMe; + DOT11_IV48_COUNTER dot11IV48Counters[16]; + USHORT usDot11RWBitMaps[16]; + USHORT usKeyLength; + UCHAR ucKey[1]; +} DOT11_WEP_OFFLOAD, *PDOT11_WEP_OFFLOAD; + +typedef struct _DOT11_WEP_UPLOAD { + ULONG uReserved; + DOT11_OFFLOAD_TYPE dot11OffloadType; + HANDLE hOffload; + ULONG uNumOfRWsUsed; + DOT11_IV48_COUNTER dot11IV48Counters[16]; + USHORT usDot11RWBitMaps[16]; +} DOT11_WEP_UPLOAD, *PDOT11_WEP_UPLOAD; + +typedef enum _DOT11_KEY_DIRECTION { + dot11_key_direction_both = 1, + dot11_key_direction_inbound = 2, + dot11_key_direction_outbound = 3 +} DOT11_KEY_DIRECTION, *PDOT11_KEY_DIRECTION; + +typedef struct _DOT11_DEFAULT_WEP_OFFLOAD { + ULONG uReserved; + HANDLE hOffloadContext; + HANDLE hOffload; + ULONG dwIndex; + DOT11_OFFLOAD_TYPE dot11OffloadType; + ULONG dwAlgorithm; + ULONG uFlags; + DOT11_KEY_DIRECTION dot11KeyDirection; + UCHAR ucMacAddress[6]; + ULONG uNumOfRWsOnMe; + DOT11_IV48_COUNTER dot11IV48Counters[16]; + USHORT usDot11RWBitMaps[16]; + USHORT usKeyLength; + UCHAR ucKey[1]; +} DOT11_DEFAULT_WEP_OFFLOAD, *PDOT11_DEFAULT_WEP_OFFLOAD; + +typedef struct _DOT11_DEFAULT_WEP_UPLOAD { + ULONG uReserved; + DOT11_OFFLOAD_TYPE dot11OffloadType; + HANDLE hOffload; + ULONG uNumOfRWsUsed; + DOT11_IV48_COUNTER dot11IV48Counters[16]; + USHORT usDot11RWBitMaps[16]; +} DOT11_DEFAULT_WEP_UPLOAD, *PDOT11_DEFAULT_WEP_UPLOAD; + +typedef struct _DOT11_OPERATION_MODE_CAPABILITY { + ULONG uReserved; + ULONG uMajorVersion; + ULONG uMinorVersion; + ULONG uNumOfTXBuffers; + ULONG uNumOfRXBuffers; + ULONG uOpModeCapability; +} DOT11_OPERATION_MODE_CAPABILITY, *PDOT11_OPERATION_MODE_CAPABILITY; + +typedef struct _DOT11_CURRENT_OPERATION_MODE { + ULONG uReserved; + ULONG uCurrentOpMode; +} DOT11_CURRENT_OPERATION_MODE, *PDOT11_CURRENT_OPERATION_MODE; + +typedef enum _DOT11_SCAN_TYPE { + dot11_scan_type_active = 1, + dot11_scan_type_passive = 2, + dot11_scan_type_auto = 3, + dot11_scan_type_forced = 0x80000000 +} DOT11_SCAN_TYPE, *PDOT11_SCAN_TYPE; + +typedef struct _DOT11_SCAN_REQUEST { + DOT11_BSS_TYPE dot11BSSType; + DOT11_MAC_ADDRESS dot11BSSID; + DOT11_SSID dot11SSID; + DOT11_SCAN_TYPE dot11ScanType; + BOOLEAN bRestrictedScan; + BOOLEAN bUseRequestIE; + ULONG uRequestIDsOffset; + ULONG uNumOfRequestIDs; + ULONG uPhyTypesOffset; + ULONG uNumOfPhyTypes; + ULONG uIEsOffset; + ULONG uIEsLength; + UCHAR ucBuffer[1]; +} DOT11_SCAN_REQUEST, *PDOT11_SCAN_REQUEST; + +typedef enum _CH_DESCRIPTION_TYPE { + ch_description_type_logical = 1, + ch_description_type_center_frequency = 2, + ch_description_type_phy_specific +} CH_DESCRIPTION_TYPE, *PCH_DESCRIPTION_TYPE; + +typedef struct _DOT11_PHY_TYPE_INFO { + DOT11_PHY_TYPE dot11PhyType; + BOOLEAN bUseParameters; + ULONG uProbeDelay; + ULONG uMinChannelTime; + ULONG uMaxChannelTime; + CH_DESCRIPTION_TYPE ChDescriptionType; + ULONG uChannelListSize; + UCHAR ucChannelListBuffer[1]; +} DOT11_PHY_TYPE_INFO, *PDOT11_PHY_TYPE_INFO; + +typedef struct _DOT11_SCAN_REQUEST_V2 { + DOT11_BSS_TYPE dot11BSSType; + DOT11_MAC_ADDRESS dot11BSSID; + DOT11_SCAN_TYPE dot11ScanType; + BOOLEAN bRestrictedScan; + ULONG udot11SSIDsOffset; + ULONG uNumOfdot11SSIDs; + BOOLEAN bUseRequestIE; + ULONG uRequestIDsOffset; + ULONG uNumOfRequestIDs; + ULONG uPhyTypeInfosOffset; + ULONG uNumOfPhyTypeInfos; + ULONG uIEsOffset; + ULONG uIEsLength; + UCHAR ucBuffer[1]; +} DOT11_SCAN_REQUEST_V2, *PDOT11_SCAN_REQUEST_V2; + +typedef struct DOT11_PHY_TYPE_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_PHY_TYPE dot11PhyType[1]; +} DOT11_PHY_TYPE_LIST, *PDOT11_PHY_TYPE_LIST; + +#define DOT11_PHY_TYPE_LIST_REVISION_1 1 + +#define DOT11_CAPABILITY_INFO_ESS 0x0001 +#define DOT11_CAPABILITY_INFO_IBSS 0x0002 +#define DOT11_CAPABILITY_INFO_CF_POLLABLE 0x0004 +#define DOT11_CAPABILITY_INFO_CF_POLL_REQ 0x0008 +#define DOT11_CAPABILITY_INFO_PRIVACY 0x0010 +#define DOT11_CAPABILITY_SHORT_PREAMBLE 0x0020 +#define DOT11_CAPABILITY_PBCC 0x0040 +#define DOT11_CAPABILITY_CHANNEL_AGILITY 0x0080 +#define DOT11_CAPABILITY_SHORT_SLOT_TIME 0x0400 +#define DOT11_CAPABILITY_DSSSOFDM 0x2000 + +#define OID_DOT11_ATIM_WINDOW (OID_DOT11_NDIS_START + 10) +#define OID_DOT11_SCAN_REQUEST (OID_DOT11_NDIS_START + 11) +#define OID_DOT11_CURRENT_PHY_TYPE (OID_DOT11_NDIS_START + 12) +#define OID_DOT11_JOIN_REQUEST (OID_DOT11_NDIS_START + 13) +#define OID_DOT11_START_REQUEST (OID_DOT11_NDIS_START + 14) +#define OID_DOT11_UPDATE_IE (OID_DOT11_NDIS_START + 15) +#define OID_DOT11_RESET_REQUEST (OID_DOT11_NDIS_START + 16) + +typedef struct _DOT11_BSS_DESCRIPTION { + ULONG uReserved; + DOT11_MAC_ADDRESS dot11BSSID; + DOT11_BSS_TYPE dot11BSSType; + USHORT usBeaconPeriod; + ULONGLONG ullTimestamp; + USHORT usCapabilityInformation; + ULONG uBufferLength; +#ifdef __WIDL__ + [unique, size_is (uBufferLength)] UCHAR ucBuffer[*]; +#else + UCHAR ucBuffer[1]; +#endif +} DOT11_BSS_DESCRIPTION, *PDOT11_BSS_DESCRIPTION; + +typedef struct _DOT11_JOIN_REQUEST { + ULONG uJoinFailureTimeout; + DOT11_RATE_SET OperationalRateSet; + ULONG uChCenterFrequency; + DOT11_BSS_DESCRIPTION dot11BSSDescription; +} DOT11_JOIN_REQUEST, *PDOT11_JOIN_REQUEST; + +typedef struct _DOT11_START_REQUEST { + ULONG uStartFailureTimeout; + DOT11_RATE_SET OperationalRateSet; + ULONG uChCenterFrequency; + DOT11_BSS_DESCRIPTION dot11BSSDescription; +} DOT11_START_REQUEST, *PDOT11_START_REQUEST; + +typedef enum _DOT11_UPDATE_IE_OP { + dot11_update_ie_op_create_replace = 1, + dot11_update_ie_op_delete = 2 +} DOT11_UPDATE_IE_OP, *PDOT11_UPDATE_IE_OP; + +typedef struct _DOT11_UPDATE_IE { + DOT11_UPDATE_IE_OP dot11UpdateIEOp; + ULONG uBufferLength; + UCHAR ucBuffer[1]; +} DOT11_UPDATE_IE, *PDOT11_UPDATE_IE; + +typedef enum _DOT11_RESET_TYPE { + dot11_reset_type_phy = 1, + dot11_reset_type_mac = 2, + dot11_reset_type_phy_and_mac = 3 +} DOT11_RESET_TYPE, *PDOT11_RESET_TYPE; + +typedef struct _DOT11_RESET_REQUEST { + DOT11_RESET_TYPE dot11ResetType; + DOT11_MAC_ADDRESS dot11MacAddress; + BOOLEAN bSetDefaultMIB; +} DOT11_RESET_REQUEST, *PDOT11_RESET_REQUEST; + +typedef struct _DOT11_OPTIONAL_CAPABILITY { + ULONG uReserved; + BOOLEAN bDot11PCF; + BOOLEAN bDot11PCFMPDUTransferToPC; + BOOLEAN bStrictlyOrderedServiceClass; +} DOT11_OPTIONAL_CAPABILITY, *PDOT11_OPTIONAL_CAPABILITY; + +#define OID_DOT11_NIC_POWER_STATE (OID_DOT11_NDIS_START + 17) +#define OID_DOT11_OPTIONAL_CAPABILITY (OID_DOT11_NDIS_START + 18) +#define OID_DOT11_CURRENT_OPTIONAL_CAPABILITY (OID_DOT11_NDIS_START + 19) +#define OID_DOT11_STATION_ID (OID_DOT11_NDIS_START + 20) +#define OID_DOT11_MEDIUM_OCCUPANCY_LIMIT (OID_DOT11_NDIS_START + 21) +#define OID_DOT11_CF_POLLABLE (OID_DOT11_NDIS_START + 22) +#define OID_DOT11_CFP_PERIOD (OID_DOT11_NDIS_START + 23) +#define OID_DOT11_CFP_MAX_DURATION (OID_DOT11_NDIS_START + 24) +#define OID_DOT11_POWER_MGMT_MODE (OID_DOT11_NDIS_START + 25) +#define OID_DOT11_OPERATIONAL_RATE_SET (OID_DOT11_NDIS_START + 26) +#define OID_DOT11_BEACON_PERIOD (OID_DOT11_NDIS_START + 27) +#define OID_DOT11_DTIM_PERIOD (OID_DOT11_NDIS_START + 28) +#define OID_DOT11_WEP_ICV_ERROR_COUNT (OID_DOT11_NDIS_START + 29) +#define OID_DOT11_MAC_ADDRESS (OID_DOT11_NDIS_START + 30) +#define OID_DOT11_RTS_THRESHOLD (OID_DOT11_NDIS_START + 31) +#define OID_DOT11_SHORT_RETRY_LIMIT (OID_DOT11_NDIS_START + 32) +#define OID_DOT11_LONG_RETRY_LIMIT (OID_DOT11_NDIS_START + 33) +#define OID_DOT11_FRAGMENTATION_THRESHOLD (OID_DOT11_NDIS_START + 34) +#define OID_DOT11_MAX_TRANSMIT_MSDU_LIFETIME (OID_DOT11_NDIS_START + 35) +#define OID_DOT11_MAX_RECEIVE_LIFETIME (OID_DOT11_NDIS_START + 36) +#define OID_DOT11_COUNTERS_ENTRY (OID_DOT11_NDIS_START + 37) + +typedef struct _DOT11_CURRENT_OPTIONAL_CAPABILITY { + ULONG uReserved; + BOOLEAN bDot11CFPollable; + BOOLEAN bDot11PCF; + BOOLEAN bDot11PCFMPDUTransferToPC; + BOOLEAN bStrictlyOrderedServiceClass; +} DOT11_CURRENT_OPTIONAL_CAPABILITY, *PDOT11_CURRENT_OPTIONAL_CAPABILITY; + +typedef enum _DOT11_POWER_MODE { + dot11_power_mode_unknown = 0, + dot11_power_mode_active = 1, + dot11_power_mode_powersave = 2 +} DOT11_POWER_MODE, *PDOT11_POWER_MODE; + +#define DOT11_POWER_SAVE_LEVEL_MAX_PSP 1 +#define DOT11_POWER_SAVE_LEVEL_FAST_PSP 2 + +typedef struct _DOT11_POWER_MGMT_MODE { + DOT11_POWER_MODE dot11PowerMode; + ULONG uPowerSaveLevel; + USHORT usListenInterval; + USHORT usAID; + BOOLEAN bReceiveDTIMs; +} DOT11_POWER_MGMT_MODE, *PDOT11_POWER_MGMT_MODE; + +typedef struct _DOT11_COUNTERS_ENTRY { + ULONG uTransmittedFragmentCount; + ULONG uMulticastTransmittedFrameCount; + ULONG uFailedCount; + ULONG uRetryCount; + ULONG uMultipleRetryCount; + ULONG uFrameDuplicateCount; + ULONG uRTSSuccessCount; + ULONG uRTSFailureCount; + ULONG uACKFailureCount; + ULONG uReceivedFragmentCount; + ULONG uMulticastReceivedFrameCount; + ULONG uFCSErrorCount; + ULONG uTransmittedFrameCount; +} DOT11_COUNTERS_ENTRY, *PDOT11_COUNTERS_ENTRY; + +#define OID_DOT11_SUPPORTED_PHY_TYPES (OID_DOT11_NDIS_START + 38) +typedef struct _DOT11_SUPPORTED_PHY_TYPES { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_PHY_TYPE dot11PHYType[1]; +} DOT11_SUPPORTED_PHY_TYPES, *PDOT11_SUPPORTED_PHY_TYPES; + +#define OID_DOT11_CURRENT_REG_DOMAIN (OID_DOT11_NDIS_START + 39) +#define OID_DOT11_TEMP_TYPE (OID_DOT11_NDIS_START + 40) +#define OID_DOT11_CURRENT_TX_ANTENNA (OID_DOT11_NDIS_START + 41) +#define OID_DOT11_DIVERSITY_SUPPORT (OID_DOT11_NDIS_START + 42) +#define OID_DOT11_CURRENT_RX_ANTENNA (OID_DOT11_NDIS_START + 43) +#define OID_DOT11_SUPPORTED_POWER_LEVELS (OID_DOT11_NDIS_START + 44) +#define OID_DOT11_CURRENT_TX_POWER_LEVEL (OID_DOT11_NDIS_START + 45) +#define OID_DOT11_HOP_TIME (OID_DOT11_NDIS_START + 46) +#define OID_DOT11_CURRENT_CHANNEL_NUMBER (OID_DOT11_NDIS_START + 47) +#define OID_DOT11_MAX_DWELL_TIME (OID_DOT11_NDIS_START + 48) +#define OID_DOT11_CURRENT_DWELL_TIME (OID_DOT11_NDIS_START + 49) +#define OID_DOT11_CURRENT_SET (OID_DOT11_NDIS_START + 50) +#define OID_DOT11_CURRENT_PATTERN (OID_DOT11_NDIS_START + 51) +#define OID_DOT11_CURRENT_INDEX (OID_DOT11_NDIS_START + 52) +#define OID_DOT11_CURRENT_CHANNEL (OID_DOT11_NDIS_START + 53) +#define OID_DOT11_CCA_MODE_SUPPORTED (OID_DOT11_NDIS_START + 54) +#define OID_DOT11_CURRENT_CCA_MODE (OID_DOT11_NDIS_START + 55) +#define OID_DOT11_ED_THRESHOLD (OID_DOT11_NDIS_START + 56) +#define OID_DOT11_CCA_WATCHDOG_TIMER_MAX (OID_DOT11_NDIS_START + 57) +#define OID_DOT11_CCA_WATCHDOG_COUNT_MAX (OID_DOT11_NDIS_START + 58) +#define OID_DOT11_CCA_WATCHDOG_TIMER_MIN (OID_DOT11_NDIS_START + 59) +#define OID_DOT11_CCA_WATCHDOG_COUNT_MIN (OID_DOT11_NDIS_START + 60) +#define OID_DOT11_REG_DOMAINS_SUPPORT_VALUE (OID_DOT11_NDIS_START + 61) +#define OID_DOT11_SUPPORTED_TX_ANTENNA (OID_DOT11_NDIS_START + 62) +#define OID_DOT11_SUPPORTED_RX_ANTENNA (OID_DOT11_NDIS_START + 63) +#define OID_DOT11_DIVERSITY_SELECTION_RX (OID_DOT11_NDIS_START + 64) +#define OID_DOT11_SUPPORTED_DATA_RATES_VALUE (OID_DOT11_NDIS_START + 65) +#define OID_DOT11_CURRENT_FREQUENCY (OID_DOT11_NDIS_START + 66) +#define OID_DOT11_TI_THRESHOLD (OID_DOT11_NDIS_START + 67) +#define OID_DOT11_FREQUENCY_BANDS_SUPPORTED (OID_DOT11_NDIS_START + 68) +#define OID_DOT11_SHORT_PREAMBLE_OPTION_IMPLEMENTED (OID_DOT11_NDIS_START + 69) +#define OID_DOT11_PBCC_OPTION_IMPLEMENTED (OID_DOT11_NDIS_START + 70) +#define OID_DOT11_CHANNEL_AGILITY_PRESENT (OID_DOT11_NDIS_START + 71) +#define OID_DOT11_CHANNEL_AGILITY_ENABLED (OID_DOT11_NDIS_START + 72) +#define OID_DOT11_HR_CCA_MODE_SUPPORTED (OID_DOT11_NDIS_START + 73) +#define OID_DOT11_MULTI_DOMAIN_CAPABILITY_IMPLEMENTED (OID_DOT11_NDIS_START + 74) +#define OID_DOT11_MULTI_DOMAIN_CAPABILITY_ENABLED (OID_DOT11_NDIS_START + 75) +#define OID_DOT11_COUNTRY_STRING (OID_DOT11_NDIS_START + 76) + +#define DOT11_REG_DOMAIN_OTHER 0x00000000 +#define DOT11_REG_DOMAIN_FCC 0x00000010 +#define DOT11_REG_DOMAIN_DOC 0x00000020 +#define DOT11_REG_DOMAIN_ETSI 0x00000030 +#define DOT11_REG_DOMAIN_SPAIN 0x00000031 +#define DOT11_REG_DOMAIN_FRANCE 0x00000032 +#define DOT11_REG_DOMAIN_MKK 0x00000040 + +typedef enum _DOT11_TEMP_TYPE { + dot11_temp_type_unknown = 0, + dot11_temp_type_1 = 1, + dot11_temp_type_2 = 2 +} DOT11_TEMP_TYPE, *PDOT11_TEMP_TYPE; + +typedef enum _DOT11_DIVERSITY_SUPPORT { + dot11_diversity_support_unknown = 0, + dot11_diversity_support_fixedlist = 1, + dot11_diversity_support_notsupported = 2, + dot11_diversity_support_dynamic = 3 +} DOT11_DIVERSITY_SUPPORT, *PDOT11_DIVERSITY_SUPPORT; + +typedef struct _DOT11_SUPPORTED_POWER_LEVELS { + ULONG uNumOfSupportedPowerLevels; + ULONG uTxPowerLevelValues[8]; +} DOT11_SUPPORTED_POWER_LEVELS, *PDOT11_SUPPORTED_POWER_LEVELS; + +#define DOT11_CCA_MODE_ED_ONLY 0x00000001 +#define DOT11_CCA_MODE_CS_ONLY 0x00000002 +#define DOT11_CCA_MODE_ED_and_CS 0x00000004 +#define DOT11_CCA_MODE_CS_WITH_TIMER 0x00000008 +#define DOT11_CCA_MODE_HRCS_AND_ED 0x00000010 + +typedef struct _DOT11_REG_DOMAIN_VALUE { + ULONG uRegDomainsSupportIndex; + ULONG uRegDomainsSupportValue; +} DOT11_REG_DOMAIN_VALUE, *PDOT11_REG_DOMAIN_VALUE; + +typedef struct _DOT11_REG_DOMAINS_SUPPORT_VALUE { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_REG_DOMAIN_VALUE dot11RegDomainValue[1]; +} DOT11_REG_DOMAINS_SUPPORT_VALUE, *PDOT11_REG_DOMAINS_SUPPORT_VALUE; + +typedef struct _DOT11_SUPPORTED_ANTENNA { + ULONG uAntennaListIndex; + BOOLEAN bSupportedAntenna; +} DOT11_SUPPORTED_ANTENNA, *PDOT11_SUPPORTED_ANTENNA; + +typedef struct _DOT11_SUPPORTED_ANTENNA_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_SUPPORTED_ANTENNA dot11SupportedAntenna[1]; +} DOT11_SUPPORTED_ANTENNA_LIST, *PDOT11_SUPPORTED_ANTENNA_LIST; + +typedef struct _DOT11_DIVERSITY_SELECTION_RX { + ULONG uAntennaListIndex; + BOOLEAN bDiversitySelectionRX; +} DOT11_DIVERSITY_SELECTION_RX, *PDOT11_DIVERSITY_SELECTION_RX; + +typedef struct _DOT11_DIVERSITY_SELECTION_RX_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_DIVERSITY_SELECTION_RX dot11DiversitySelectionRx[1]; +} DOT11_DIVERSITY_SELECTION_RX_LIST, *PDOT11_DIVERSITY_SELECTION_RX_LIST; + +#define MAX_NUM_SUPPORTED_RATES 8 +#define MAX_NUM_SUPPORTED_RATES_V2 255 + +typedef struct _DOT11_SUPPORTED_DATA_RATES_VALUE { + UCHAR ucSupportedTxDataRatesValue[MAX_NUM_SUPPORTED_RATES]; + UCHAR ucSupportedRxDataRatesValue[MAX_NUM_SUPPORTED_RATES]; +} DOT11_SUPPORTED_DATA_RATES_VALUE, *PDOT11_SUPPORTED_DATA_RATES_VALUE; + +typedef struct _DOT11_SUPPORTED_DATA_RATES_VALUE_V2 { + UCHAR ucSupportedTxDataRatesValue[MAX_NUM_SUPPORTED_RATES_V2]; + UCHAR ucSupportedRxDataRatesValue[MAX_NUM_SUPPORTED_RATES_V2]; +} DOT11_SUPPORTED_DATA_RATES_VALUE_V2, *PDOT11_SUPPORTED_DATA_RATES_VALUE_V2; + +typedef DOT11_SUPPORTED_DATA_RATES_VALUE_V2 DOT11_SUPPORTED_DATA_RATES_VALUE_V1, *PDOT11_SUPPORTED_DATA_RATES_VALUE_V1; + +#define DOT11_FREQUENCY_BANDS_LOWER 0x00000001 +#define DOT11_FREQUENCY_BANDS_MIDDLE 0x00000002 +#define DOT11_FREQUENCY_BANDS_UPPER 0x00000004 + +#define DOT11_HR_CCA_MODE_ED_ONLY 0x00000001 +#define DOT11_HR_CCA_MODE_CS_ONLY 0x00000002 +#define DOT11_HR_CCA_MODE_CS_AND_ED 0x00000004 +#define DOT11_HR_CCA_MODE_CS_WITH_TIMER 0x00000008 +#define DOT11_HR_CCA_MODE_HRCS_AND_ED 0x00000010 + +typedef struct _DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY { + ULONG uMultiDomainCapabilityIndex; + ULONG uFirstChannelNumber; + ULONG uNumberOfChannels; + LONG lMaximumTransmitPowerLevel; +} DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY, *PDOT11_MULTI_DOMAIN_CAPABILITY_ENTRY; + +typedef struct _DOT11_MD_CAPABILITY_ENTRY_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_MULTI_DOMAIN_CAPABILITY_ENTRY dot11MDCapabilityEntry[1]; +} DOT11_MD_CAPABILITY_ENTRY_LIST, *PDOT11_MD_CAPABILITY_ENTRY_LIST; + +#define OID_DOT11_MULTI_DOMAIN_CAPABILITY (OID_DOT11_NDIS_START + 77) +#define OID_DOT11_EHCC_PRIME_RADIX (OID_DOT11_NDIS_START + 78) +#define OID_DOT11_EHCC_NUMBER_OF_CHANNELS_FAMILY_INDEX (OID_DOT11_NDIS_START + 79) +#define OID_DOT11_EHCC_CAPABILITY_IMPLEMENTED (OID_DOT11_NDIS_START + 80) +#define OID_DOT11_EHCC_CAPABILITY_ENABLED (OID_DOT11_NDIS_START + 81) +#define OID_DOT11_HOP_ALGORITHM_ADOPTED (OID_DOT11_NDIS_START + 82) +#define OID_DOT11_RANDOM_TABLE_FLAG (OID_DOT11_NDIS_START + 83) +#define OID_DOT11_NUMBER_OF_HOPPING_SETS (OID_DOT11_NDIS_START + 84) +#define OID_DOT11_HOP_MODULUS (OID_DOT11_NDIS_START + 85) +#define OID_DOT11_HOP_OFFSET (OID_DOT11_NDIS_START + 86) +#define OID_DOT11_HOPPING_PATTERN (OID_DOT11_NDIS_START + 87) +#define OID_DOT11_RANDOM_TABLE_FIELD_NUMBER (OID_DOT11_NDIS_START + 88) +#define OID_DOT11_WPA_TSC (OID_DOT11_NDIS_START + 89) +#define OID_DOT11_RSSI_RANGE (OID_DOT11_NDIS_START + 90) +#define OID_DOT11_RF_USAGE (OID_DOT11_NDIS_START + 91) +#define OID_DOT11_NIC_SPECIFIC_EXTENSION (OID_DOT11_NDIS_START + 92) +#define OID_DOT11_AP_JOIN_REQUEST (OID_DOT11_NDIS_START + 93) +#define OID_DOT11_ERP_PBCC_OPTION_IMPLEMENTED (OID_DOT11_NDIS_START + 94) +#define OID_DOT11_ERP_PBCC_OPTION_ENABLED (OID_DOT11_NDIS_START + 95) +#define OID_DOT11_DSSS_OFDM_OPTION_IMPLEMENTED (OID_DOT11_NDIS_START + 96) +#define OID_DOT11_DSSS_OFDM_OPTION_ENABLED (OID_DOT11_NDIS_START + 97) +#define OID_DOT11_SHORT_SLOT_TIME_OPTION_IMPLEMENTED (OID_DOT11_NDIS_START + 98) +#define OID_DOT11_SHORT_SLOT_TIME_OPTION_ENABLED (OID_DOT11_NDIS_START + 99) +#define OID_DOT11_MAX_MAC_ADDRESS_STATES (OID_DOT11_NDIS_START + 100) +#define OID_DOT11_RECV_SENSITIVITY_LIST (OID_DOT11_NDIS_START + 101) + +typedef enum _DOT11_HOP_ALGO_ADOPTED { + dot11_hop_algo_current = 0, + dot11_hop_algo_hop_index = 1, + dot11_hop_algo_hcc = 2 +} DOT11_HOP_ALGO_ADOPTED, *PDOT11_HOP_ALGO_ADOPTED; + +typedef struct _DOT11_HOPPING_PATTERN_ENTRY { + ULONG uHoppingPatternIndex; + ULONG uRandomTableFieldNumber; +} DOT11_HOPPING_PATTERN_ENTRY, *PDOT11_HOPPING_PATTERN_ENTRY; + +typedef struct _DOT11_HOPPING_PATTERN_ENTRY_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_HOPPING_PATTERN_ENTRY dot11HoppingPatternEntry[1]; +} DOT11_HOPPING_PATTERN_ENTRY_LIST, *PDOT11_HOPPING_PATTERN_ENTRY_LIST; + +typedef struct _DOT11_WPA_TSC { + ULONG uReserved; + DOT11_OFFLOAD_TYPE dot11OffloadType; + HANDLE hOffload; + DOT11_IV48_COUNTER dot11IV48Counter; +} DOT11_WPA_TSC, *PDOT11_WPA_TSC; + +typedef struct _DOT11_RSSI_RANGE { + DOT11_PHY_TYPE dot11PhyType; + ULONG uRSSIMin; + ULONG uRSSIMax; +} DOT11_RSSI_RANGE, *PDOT11_RSSI_RANGE; + +typedef struct _DOT11_NIC_SPECIFIC_EXTENSION { + ULONG uBufferLength; + ULONG uTotalBufferLength; + UCHAR ucBuffer[1]; +} DOT11_NIC_SPECIFIC_EXTENSION, *PDOT11_NIC_SPECIFIC_EXTENSION; + +typedef struct _DOT11_AP_JOIN_REQUEST { + ULONG uJoinFailureTimeout; + DOT11_RATE_SET OperationalRateSet; + ULONG uChCenterFrequency; + DOT11_BSS_DESCRIPTION dot11BSSDescription; +} DOT11_AP_JOIN_REQUEST, *PDOT11_AP_JOIN_REQUEST; + +typedef struct _DOT11_RECV_SENSITIVITY { + UCHAR ucDataRate; + LONG lRSSIMin; + LONG lRSSIMax; +} DOT11_RECV_SENSITIVITY, *PDOT11_RECV_SENSITIVITY; + +typedef struct _DOT11_RECV_SENSITIVITY_LIST { + __C89_NAMELESS union { + DOT11_PHY_TYPE dot11PhyType; + ULONG uPhyId; + }; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_RECV_SENSITIVITY dot11RecvSensitivity[1]; +} DOT11_RECV_SENSITIVITY_LIST, *PDOT11_RECV_SENSITIVITY_LIST; + +#define OID_DOT11_WME_IMPLEMENTED (OID_DOT11_NDIS_START + 102) +#define OID_DOT11_WME_ENABLED (OID_DOT11_NDIS_START + 103) +#define OID_DOT11_WME_AC_PARAMETERS (OID_DOT11_NDIS_START + 104) +#define OID_DOT11_WME_UPDATE_IE (OID_DOT11_NDIS_START + 105) +#define OID_DOT11_QOS_TX_QUEUES_SUPPORTED (OID_DOT11_NDIS_START + 106) +#define OID_DOT11_QOS_TX_DURATION (OID_DOT11_NDIS_START + 107) + +typedef enum _DOT11_AC_PARAM { + dot11_AC_param_BE = 0, + dot11_AC_param_BK = 1, + dot11_AC_param_VI = 2, + dot11_AC_param_VO = 3, + dot11_AC_param_max +} DOT11_AC_PARAM, *PDOT11_AC_PARAM; + +typedef struct _DOT11_WME_AC_PARAMETERS { + UCHAR ucAccessCategoryIndex; + UCHAR ucAIFSN; + UCHAR ucECWmin; + UCHAR ucECWmax; + USHORT usTXOPLimit; +} DOT11_WME_AC_PARAMETERS, *PDOT11_WME_AC_PARAMETERS; + +typedef struct _DOT11_WME_AC_PARAMTERS_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_WME_AC_PARAMETERS dot11WMEACParameters[1]; +} DOT11_WME_AC_PARAMETERS_LIST, *PDOT11_WME_AC_PARAMETERS_LIST; + +typedef struct _DOT11_WME_UPDATE_IE { + ULONG uParamElemMinBeaconIntervals; + ULONG uWMEInfoElemOffset; + ULONG uWMEInfoElemLength; + ULONG uWMEParamElemOffset; + ULONG uWMEParamElemLength; + UCHAR ucBuffer[1]; +} DOT11_WME_UPDATE_IE, *PDOT11_WME_UPDATE_IE; + +typedef struct _DOT11_QOS_TX_DURATION { + ULONG uNominalMSDUSize; + ULONG uMinPHYRate; + ULONG uDuration; +} DOT11_QOS_TX_DURATION, *PDOT11_QOS_TX_DURATION; + +typedef struct _DOT11_QOS_TX_MEDIUM_TIME { + DOT11_MAC_ADDRESS dot11PeerAddress; + UCHAR ucQoSPriority; + ULONG uMediumTimeAdmited; +} DOT11_QOS_TX_MEDIUM_TIME, *PDOT11_QOS_TX_MEDIUM_TIME; + +typedef struct _DOT11_SUPPORTED_OFDM_FREQUENCY { + ULONG uCenterFrequency; +} DOT11_SUPPORTED_OFDM_FREQUENCY, *PDOT11_SUPPORTED_OFDM_FREQUENCY; + +typedef struct _DOT11_SUPPORTED_OFDM_FREQUENCY_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_SUPPORTED_OFDM_FREQUENCY dot11SupportedOFDMFrequency[1]; +} DOT11_SUPPORTED_OFDM_FREQUENCY_LIST, *PDOT11_SUPPORTED_OFDM_FREQUENCY_LIST; + +typedef struct _DOT11_SUPPORTED_DSSS_CHANNEL { + ULONG uChannel; +} DOT11_SUPPORTED_DSSS_CHANNEL, *PDOT11_SUPPORTED_DSSS_CHANNEL; + +typedef struct _DOT11_SUPPORTED_DSSS_CHANNEL_LIST { + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_SUPPORTED_DSSS_CHANNEL dot11SupportedDSSSChannel[1]; +} DOT11_SUPPORTED_DSSS_CHANNEL_LIST, *PDOT11_SUPPORTED_DSSS_CHANNEL_LIST; + +typedef struct DOT11_BYTE_ARRAY { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfBytes; + ULONG uTotalNumOfBytes; + UCHAR ucBuffer[1]; +} DOT11_BYTE_ARRAY, *PDOT11_BYTE_ARRAY; + +#define OID_DOT11_QOS_TX_MEDIUM_TIME (OID_DOT11_NDIS_START + 108) +#define OID_DOT11_SUPPORTED_OFDM_FREQUENCY_LIST (OID_DOT11_NDIS_START + 109) +#define OID_DOT11_SUPPORTED_DSSS_CHANNEL_LIST (OID_DOT11_NDIS_START + 110) + +#define OID_DOT11_AUTO_CONFIG_ENABLED NWF_DEFINE_OID (120, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENUM_BSS_LIST NWF_DEFINE_OID (121, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_FLUSH_BSS_LIST NWF_DEFINE_OID (122, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_POWER_MGMT_REQUEST NWF_DEFINE_OID (123, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DESIRED_SSID_LIST NWF_DEFINE_OID (124, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_EXCLUDED_MAC_ADDRESS_LIST NWF_DEFINE_OID (125, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) + +#define DOT11_PHY_AUTO_CONFIG_ENABLED_FLAG 0x00000001U +#define DOT11_MAC_AUTO_CONFIG_ENABLED_FLAG 0x00000002U + +#define DOT11_BSS_ENTRY_BYTE_ARRAY_REVISION_1 1 + +#ifndef __WIDL__ +typedef union DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO { + ULONG uChCenterFrequency; + struct { + ULONG uHopPattern; + ULONG uHopSet; + ULONG uDwellTime; + } FHSS; +} DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO, *PDOT11_BSS_ENTRY_PHY_SPECIFIC_INFO; + +typedef struct DOT11_BSS_ENTRY { + ULONG uPhyId; + DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO PhySpecificInfo; + DOT11_MAC_ADDRESS dot11BSSID; + DOT11_BSS_TYPE dot11BSSType; + LONG lRSSI; + ULONG uLinkQuality; + BOOLEAN bInRegDomain; + USHORT usBeaconPeriod; + ULONGLONG ullTimestamp; + ULONGLONG ullHostTimestamp; + USHORT usCapabilityInformation; + ULONG uBufferLength; + UCHAR ucBuffer[1]; +} DOT11_BSS_ENTRY, *PDOT11_BSS_ENTRY; +#endif + +#define DOT11_POWER_SAVING_NO_POWER_SAVING 0 +#define DOT11_POWER_SAVING_FAST_PSP 8 +#define DOT11_POWER_SAVING_MAX_PSP 16 +#define DOT11_POWER_SAVING_MAXIMUM_LEVEL 24 + +#define DOT11_SSID_LIST_REVISION_1 1 +#define DOT11_MAC_ADDRESS_LIST_REVISION_1 1 +#define DOT11_PMKID_LIST_REVISION_1 1 + +typedef struct DOT11_SSID_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; +#ifdef __WIDL__ + [unique, size_is (uTotalNumOfEntries)] DOT11_SSID SSIDs[*]; +#else + DOT11_SSID SSIDs[1]; +#endif +} DOT11_SSID_LIST, *PDOT11_SSID_LIST; + +typedef struct DOT11_MAC_ADDRESS_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_MAC_ADDRESS MacAddrs[1]; +} DOT11_MAC_ADDRESS_LIST, *PDOT11_MAC_ADDRESS_LIST; + +#define OID_DOT11_DESIRED_BSSID_LIST NWF_DEFINE_OID (126, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DESIRED_BSS_TYPE NWF_DEFINE_OID (127, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_PMKID_LIST NWF_DEFINE_OID (128, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID) +#define OID_DOT11_CONNECT_REQUEST NWF_DEFINE_OID (129, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_EXCLUDE_UNENCRYPTED NWF_DEFINE_OID (130, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_STATISTICS NWF_DEFINE_OID (131, NWF_STATISTICS_OID, NWF_MANDATORY_OID) +#define OID_DOT11_PRIVACY_EXEMPTION_LIST NWF_DEFINE_OID (132, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENABLED_AUTHENTICATION_ALGORITHM NWF_DEFINE_OID (133, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) + +typedef UCHAR DOT11_PMKID_VALUE[16]; + +typedef struct DOT11_PMKID_ENTRY { + DOT11_MAC_ADDRESS BSSID; + DOT11_PMKID_VALUE PMKID; + ULONG uFlags; +} DOT11_PMKID_ENTRY, *PDOT11_PMKID_ENTRY; + +typedef struct DOT11_PMKID_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_PMKID_ENTRY PMKIDs[1]; +} DOT11_PMKID_LIST, *PDOT11_PMKID_LIST; + +#define DOT11_STATISTICS_UNKNOWN (ULONGLONG) (-1LL) + +typedef struct DOT11_PHY_FRAME_STATISTICS { + ULONGLONG ullTransmittedFrameCount; + ULONGLONG ullMulticastTransmittedFrameCount; + ULONGLONG ullFailedCount; + ULONGLONG ullRetryCount; + ULONGLONG ullMultipleRetryCount; + ULONGLONG ullMaxTXLifetimeExceededCount; + ULONGLONG ullTransmittedFragmentCount; + ULONGLONG ullRTSSuccessCount; + ULONGLONG ullRTSFailureCount; + ULONGLONG ullACKFailureCount; + ULONGLONG ullReceivedFrameCount; + ULONGLONG ullMulticastReceivedFrameCount; + ULONGLONG ullPromiscuousReceivedFrameCount; + ULONGLONG ullMaxRXLifetimeExceededCount; + ULONGLONG ullFrameDuplicateCount; + ULONGLONG ullReceivedFragmentCount; + ULONGLONG ullPromiscuousReceivedFragmentCount; + ULONGLONG ullFCSErrorCount; +} DOT11_PHY_FRAME_STATISTICS, *PDOT11_PHY_FRAME_STATISTICS; + +typedef struct DOT11_MAC_FRAME_STATISTICS { + ULONGLONG ullTransmittedFrameCount; + ULONGLONG ullReceivedFrameCount; + ULONGLONG ullTransmittedFailureFrameCount; + ULONGLONG ullReceivedFailureFrameCount; + ULONGLONG ullWEPExcludedCount; + ULONGLONG ullTKIPLocalMICFailures; + ULONGLONG ullTKIPReplays; + ULONGLONG ullTKIPICVErrorCount; + ULONGLONG ullCCMPReplays; + ULONGLONG ullCCMPDecryptErrors; + ULONGLONG ullWEPUndecryptableCount; + ULONGLONG ullWEPICVErrorCount; + ULONGLONG ullDecryptSuccessCount; + ULONGLONG ullDecryptFailureCount; +} DOT11_MAC_FRAME_STATISTICS, *PDOT11_MAC_FRAME_STATISTICS; + +#define DOT11_STATISTICS_REVISION_1 1 +#define DOT11_PRIVACY_EXEMPTION_LIST_REVISION_1 1 + +typedef struct DOT11_STATISTICS { + NDIS_OBJECT_HEADER Header; + ULONGLONG ullFourWayHandshakeFailures; + ULONGLONG ullTKIPCounterMeasuresInvoked; + ULONGLONG ullReserved; + DOT11_MAC_FRAME_STATISTICS MacUcastCounters; + DOT11_MAC_FRAME_STATISTICS MacMcastCounters; + DOT11_PHY_FRAME_STATISTICS PhyCounters[1]; +} DOT11_STATISTICS, *PDOT11_STATISTICS; + +#define DOT11_EXEMPT_NO_EXEMPTION 0 +#define DOT11_EXEMPT_ALWAYS 1 +#define DOT11_EXEMPT_ON_KEY_MAPPING_KEY_UNAVAILABLE 2 + +#define DOT11_EXEMPT_UNICAST 1 +#define DOT11_EXEMPT_MULTICAST 2 +#define DOT11_EXEMPT_BOTH 3 + +typedef struct DOT11_PRIVACY_EXEMPTION { + USHORT usEtherType; + USHORT usExemptionActionType; + USHORT usExemptionPacketType; +} DOT11_PRIVACY_EXEMPTION, *PDOT11_PRIVACY_EXEMPTION; + +typedef struct DOT11_PRIVACY_EXEMPTION_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; +#ifdef __WIDL__ + [unique, size_is (uTotalNumOfEntries)] DOT11_PRIVACY_EXEMPTION PrivacyExemptionEntries[*]; +#else + DOT11_PRIVACY_EXEMPTION PrivacyExemptionEntries[1]; +#endif +} DOT11_PRIVACY_EXEMPTION_LIST, *PDOT11_PRIVACY_EXEMPTION_LIST; + +#define DOT11_AUTH_ALGORITHM_LIST_REVISION_1 1 +#define DOT11_AUTH_CIPHER_PAIR_LIST_REVISION_1 1 +#define DOT11_CIPHER_ALGORITHM_LIST_REVISION_1 1 +#define DOT11_CIPHER_DEFAULT_KEY_VALUE_REVISION_1 1 + +#define OID_DOT11_SUPPORTED_UNICAST_ALGORITHM_PAIR NWF_DEFINE_OID (134, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENABLED_UNICAST_CIPHER_ALGORITHM NWF_DEFINE_OID (135, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_SUPPORTED_MULTICAST_ALGORITHM_PAIR NWF_DEFINE_OID (136, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENABLED_MULTICAST_CIPHER_ALGORITHM NWF_DEFINE_OID (137, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_CIPHER_DEFAULT_KEY_ID NWF_DEFINE_OID (138, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_CIPHER_DEFAULT_KEY NWF_DEFINE_OID (139, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) + +typedef struct DOT11_AUTH_ALGORITHM_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_AUTH_ALGORITHM AlgorithmIds[1]; +} DOT11_AUTH_ALGORITHM_LIST, *PDOT11_AUTH_ALGORITHM_LIST; + +typedef struct DOT11_AUTH_CIPHER_PAIR_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_AUTH_CIPHER_PAIR AuthCipherPairs[1]; +} DOT11_AUTH_CIPHER_PAIR_LIST, *PDOT11_AUTH_CIPHER_PAIR_LIST; + +typedef struct DOT11_CIPHER_ALGORITHM_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_CIPHER_ALGORITHM AlgorithmIds[1]; +} DOT11_CIPHER_ALGORITHM_LIST, *PDOT11_CIPHER_ALGORITHM_LIST; + +typedef struct DOT11_CIPHER_DEFAULT_KEY_VALUE { + NDIS_OBJECT_HEADER Header; + ULONG uKeyIndex; + DOT11_CIPHER_ALGORITHM AlgorithmId; + DOT11_MAC_ADDRESS MacAddr; + BOOLEAN bDelete; + BOOLEAN bStatic; + USHORT usKeyLength; +#ifdef __WIDL__ + [unique, size_is (usKeyLength)] UCHAR ucKey[*]; +#else + UCHAR ucKey[1]; +#endif +} DOT11_CIPHER_DEFAULT_KEY_VALUE, *PDOT11_CIPHER_DEFAULT_KEY_VALUE; + +typedef struct DOT11_KEY_ALGO_TKIP_MIC { + UCHAR ucIV48Counter[6]; + ULONG ulTKIPKeyLength; + ULONG ulMICKeyLength; + UCHAR ucTKIPMICKeys[1]; +} DOT11_KEY_ALGO_TKIP_MIC, *PDOT11_KEY_ALGO_TKIP_MIC; + +typedef struct DOT11_KEY_ALGO_CCMP { + UCHAR ucIV48Counter[6]; + ULONG ulCCMPKeyLength; + UCHAR ucCCMPKey[1]; +} DOT11_KEY_ALGO_CCMP, *PDOT11_KEY_ALGO_CCMP; + +typedef struct DOT11_KEY_ALGO_GCMP { + UCHAR ucIV48Counter[6]; + ULONG ulGCMPKeyLength; + UCHAR ucGCMPKey[1]; +} DOT11_KEY_ALGO_GCMP, *PDOT11_KEY_ALGO_GCMP; + +typedef struct DOT11_KEY_ALGO_GCMP_256 { + UCHAR ucIV48Counter[6]; + ULONG ulGCMP256KeyLength; + UCHAR ucGCMP256Key[1]; +} DOT11_KEY_ALGO_GCMP_256, *PDOT11_KEY_ALGO_GCMP_256; + +typedef struct DOT11_KEY_ALGO_BIP { + UCHAR ucIPN[6]; + ULONG ulBIPKeyLength; + UCHAR ucBIPKey[1]; +} DOT11_KEY_ALGO_BIP, *PDOT11_KEY_ALGO_BIP; + +typedef struct DOT11_KEY_ALGO_BIP_GMAC_256 { + UCHAR ucIPN[6]; + ULONG ulBIPGmac256KeyLength; + UCHAR ucBIPGmac256Key[1]; +} DOT11_KEY_ALGO_BIP_GMAC_256, *PDOT11_KEY_ALGO_BIP_GMAC_256; + +#define DOT11_CIPHER_KEY_MAPPING_KEY_VALUE_BYTE_ARRAY_REVISION_1 1 +#define DOT11_ASSOCIATION_INFO_LIST_REVISION_1 1 + +#define OID_DOT11_CIPHER_KEY_MAPPING_KEY NWF_DEFINE_OID (140, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENUM_ASSOCIATION_INFO NWF_DEFINE_OID (141, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) + +typedef enum DOT11_DIRECTION { + DOT11_DIR_INBOUND = 1, + DOT11_DIR_OUTBOUND, + DOT11_DIR_BOTH +} DOT11_DIRECTION, *PDOT11_DIRECTION; + +typedef struct DOT11_CIPHER_KEY_MAPPING_KEY_VALUE { + DOT11_MAC_ADDRESS PeerMacAddr; + DOT11_CIPHER_ALGORITHM AlgorithmId; + DOT11_DIRECTION Direction; + BOOLEAN bDelete; + BOOLEAN bStatic; + USHORT usKeyLength; +#ifdef __WIDL__ + [unique, size_is (usKeyLength)] UCHAR ucKey[*]; +#else + UCHAR ucKey[1]; +#endif +} DOT11_CIPHER_KEY_MAPPING_KEY_VALUE, *PDOT11_CIPHER_KEY_MAPPING_KEY_VALUE; + +typedef enum _DOT11_ASSOCIATION_STATE { + dot11_assoc_state_zero = 0, + dot11_assoc_state_unauth_unassoc = 1, + dot11_assoc_state_auth_unassoc = 2, + dot11_assoc_state_auth_assoc = 3 +} DOT11_ASSOCIATION_STATE, *PDOT11_ASSOCIATION_STATE; + +typedef struct _DOT11_ASSOCIATION_INFO_EX { + DOT11_MAC_ADDRESS PeerMacAddress; + DOT11_MAC_ADDRESS BSSID; + USHORT usCapabilityInformation; + USHORT usListenInterval; + UCHAR ucPeerSupportedRates[MAX_NUM_SUPPORTED_RATES_V2]; + USHORT usAssociationID; + DOT11_ASSOCIATION_STATE dot11AssociationState; + DOT11_POWER_MODE dot11PowerMode; + LARGE_INTEGER liAssociationUpTime; + ULONGLONG ullNumOfTxPacketSuccesses; + ULONGLONG ullNumOfTxPacketFailures; + ULONGLONG ullNumOfRxPacketSuccesses; + ULONGLONG ullNumOfRxPacketFailures; +} DOT11_ASSOCIATION_INFO_EX, *PDOT11_ASSOCIATION_INFO_EX; + +typedef struct DOT11_ASSOCIATION_INFO_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_ASSOCIATION_INFO_EX dot11AssocInfo[1]; +} DOT11_ASSOCIATION_INFO_LIST, *PDOT11_ASSOCIATION_INFO_LIST; + +typedef struct DOT11_PHY_ID_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + ULONG dot11PhyId[1]; +} DOT11_PHY_ID_LIST, *PDOT11_PHY_ID_LIST; + +#define DOT11_PHY_ID_ANY (0xffffffffU) + +#define OID_DOT11_DISCONNECT_REQUEST NWF_DEFINE_OID (142, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_UNICAST_USE_GROUP_ENABLED NWF_DEFINE_OID (143, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_HARDWARE_PHY_STATE NWF_DEFINE_OID (144, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DESIRED_PHY_LIST NWF_DEFINE_OID (145, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_CURRENT_PHY_ID NWF_DEFINE_OID (146, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_MEDIA_STREAMING_ENABLED NWF_DEFINE_OID (147, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_UNREACHABLE_DETECTION_THRESHOLD NWF_DEFINE_OID (148, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ACTIVE_PHY_LIST NWF_DEFINE_OID (149, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_EXTSTA_CAPABILITY NWF_DEFINE_OID (150, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) + +#define DOT11_PHY_ID_LIST_REVISION_1 1 +#define DOT11_EXTSTA_CAPABILITY_REVISION_1 1 + +typedef struct DOT11_EXTSTA_CAPABILITY { + NDIS_OBJECT_HEADER Header; + ULONG uScanSSIDListSize; + ULONG uDesiredBSSIDListSize; + ULONG uDesiredSSIDListSize; + ULONG uExcludedMacAddressListSize; + ULONG uPrivacyExemptionListSize; + ULONG uKeyMappingTableSize; + ULONG uDefaultKeyTableSize; + ULONG uWEPKeyValueMaxLength; + ULONG uPMKIDCacheSize; + ULONG uMaxNumPerSTADefaultKeyTables; +} DOT11_EXTSTA_CAPABILITY, *PDOT11_EXTSTA_CAPABILITY; + +typedef struct DOT11_DATA_RATE_MAPPING_ENTRY { + UCHAR ucDataRateIndex; + UCHAR ucDataRateFlag; + USHORT usDataRateValue; +} DOT11_DATA_RATE_MAPPING_ENTRY, *PDOT11_DATA_RATE_MAPPING_ENTRY; + +typedef struct _DOT11_DATA_RATE_MAPPING_TABLE { + NDIS_OBJECT_HEADER Header; + ULONG uDataRateMappingLength; + DOT11_DATA_RATE_MAPPING_ENTRY DataRateMappingEntries[DOT11_RATE_SET_MAX_LENGTH]; +} DOT11_DATA_RATE_MAPPING_TABLE, *PDOT11_DATA_RATE_MAPPING_TABLE; + +typedef struct DOT11_COUNTRY_OR_REGION_STRING_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_COUNTRY_OR_REGION_STRING CountryOrRegionStrings[1]; +} DOT11_COUNTRY_OR_REGION_STRING_LIST, *PDOT11_COUNTRY_OR_REGION_STRING_LIST; + +typedef struct DOT11_PORT_STATE_NOTIFICATION { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMac; + BOOLEAN bOpen; +} DOT11_PORT_STATE_NOTIFICATION, *PDOT11_PORT_STATE_NOTIFICATION; + +typedef struct DOT11_IBSS_PARAMS { + NDIS_OBJECT_HEADER Header; + BOOLEAN bJoinOnly; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_IBSS_PARAMS, *PDOT11_IBSS_PARAMS; + +typedef struct DOT11_QOS_PARAMS { + NDIS_OBJECT_HEADER Header; + UCHAR ucEnabledQoSProtocolFlags; +} DOT11_QOS_PARAMS, *PDOT11_QOS_PARAMS; + +#define DOT11_DATA_RATE_NON_STANDARD 0x01U +#define DOT11_DATA_RATE_INDEX_MASK 0x7fU + +#define DOT11_QOS_PROTOCOL_FLAG_WMM (0x01U) +#define DOT11_QOS_PROTOCOL_FLAG_11E (0x02U) + +#define OID_DOT11_DATA_RATE_MAPPING_TABLE NWF_DEFINE_OID (151, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_SUPPORTED_COUNTRY_OR_REGION_STRING NWF_DEFINE_OID (152, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DESIRED_COUNTRY_OR_REGION_STRING NWF_DEFINE_OID (153, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_PORT_STATE_NOTIFICATION NWF_DEFINE_OID (154, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID) +#define OID_DOT11_IBSS_PARAMS NWF_DEFINE_OID (155, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_QOS_PARAMS NWF_DEFINE_OID (156, NWF_OPERATIONAL_OID, NWF_OPTIONAL_OID) +#define OID_DOT11_SAFE_MODE_ENABLED NWF_DEFINE_OID (157, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_HIDDEN_NETWORK_ENABLED NWF_DEFINE_OID (158, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ASSOCIATION_PARAMS NWF_DEFINE_OID (159, NWF_OPERATIONAL_OID, NWF_MANDATORY_OID) +#define OID_DOT11_SAFE_MODE_HT_ENABLED NWF_DEFINE_OID(160,NWF_OPERATIONAL_OID,NWF_MANDATORY_OID) + +#define DOT11_DATA_RATE_MAPPING_TABLE_REVISION_1 1 +#define DOT11_COUNTRY_OR_REGION_STRING_LIST_REVISION_1 1 +#define DOT11_PORT_STATE_NOTIFICATION_REVISION_1 1 +#define DOT11_IBSS_PARAMS_REVISION_1 1 +#define DOT11_QOS_PARAMS_REVISION_1 1 +#define DOT11_ASSOCIATION_PARAMS_REVISION_1 1 + +typedef struct DOT11_ASSOCIATION_PARAMS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS BSSID; + ULONG uAssocRequestIEsOffset; + ULONG uAssocRequestIEsLength; +} DOT11_ASSOCIATION_PARAMS, *PDOT11_ASSOCIATION_PARAMS; + +#define DOT11_MAX_NUM_OF_FRAGMENTS 16 + +#define DOT11_PRIORITY_CONTENTION 0 +#define DOT11_PRIORITY_CONTENTION_FREE 1 + +#define DOT11_SERVICE_CLASS_REORDERABLE_MULTICAST 0 +#define DOT11_SERVICE_CLASS_STRICTLY_ORDERED 1 + +#define DOT11_FLAGS_80211B_SHORT_PREAMBLE 0x00000001 +#define DOT11_FLAGS_80211B_PBCC 0x00000002 +#define DOT11_FLAGS_80211B_CHANNEL_AGILITY 0x00000004 +#define DOT11_FLAGS_PS_ON 0x00000008 +#define DOT11_FLAGS_80211G_DSSS_OFDM 0x00000010 +#define DOT11_FLAGS_80211G_USE_PROTECTION 0x00000020 +#define DOT11_FLAGS_80211G_NON_ERP_PRESENT 0x00000040 +#define DOT11_FLAGS_80211G_BARKER_PREAMBLE_MODE 0x00000080 +#define DOT11_WME_PACKET 0x00000100 + +typedef struct _DOT11_FRAGMENT_DESCRIPTOR { + ULONG uOffset; + ULONG uLength; +} DOT11_FRAGMENT_DESCRIPTOR, *PDOT11_FRAGMENT_DESCRIPTOR; + +typedef struct _DOT11_PER_MSDU_COUNTERS { + ULONG uTransmittedFragmentCount; + ULONG uRetryCount; + ULONG uRTSSuccessCount; + ULONG uRTSFailureCount; + ULONG uACKFailureCount; +} DOT11_PER_MSDU_COUNTERS, *PDOT11_PER_MSDU_COUNTERS; + +typedef struct DOT11_PHY_ATTRIBUTES DOT11_PHY_ATTRIBUTES, *PDOT11_PHY_ATTRIBUTES; + +typedef struct DOT11_HRDSSS_PHY_ATTRIBUTES { + BOOLEAN bShortPreambleOptionImplemented; + BOOLEAN bPBCCOptionImplemented; + BOOLEAN bChannelAgilityPresent; + ULONG uHRCCAModeSupported; +} DOT11_HRDSSS_PHY_ATTRIBUTES, *PDOT11_HRDSSS_PHY_ATTRIBUTES; + +typedef struct DOT11_OFDM_PHY_ATTRIBUTES { + ULONG uFrequencyBandsSupported; +} DOT11_OFDM_PHY_ATTRIBUTES, *PDOT11_OFDM_PHY_ATTRIBUTES; + +typedef struct DOT11_ERP_PHY_ATTRIBUTES { +#ifdef __cplusplus + DOT11_HRDSSS_PHY_ATTRIBUTES HRDSSSAttributes; +#else + __C89_NAMELESS struct { + BOOLEAN bShortPreambleOptionImplemented; + BOOLEAN bPBCCOptionImplemented; + BOOLEAN bChannelAgilityPresent; + ULONG uHRCCAModeSupported; + }; +#endif + BOOLEAN bERPPBCCOptionImplemented; + BOOLEAN bDSSSOFDMOptionImplemented; + BOOLEAN bShortSlotTimeOptionImplemented; +} DOT11_ERP_PHY_ATTRIBUTES, *PDOT11_ERP_PHY_ATTRIBUTES; + +#define DOT11_PHY_ATTRIBUTES_REVISION_1 1 + +struct DOT11_PHY_ATTRIBUTES { + NDIS_OBJECT_HEADER Header; + DOT11_PHY_TYPE PhyType; + BOOLEAN bHardwarePhyState; + BOOLEAN bSoftwarePhyState; + BOOLEAN bCFPollable; + ULONG uMPDUMaxLength; + DOT11_TEMP_TYPE TempType; + DOT11_DIVERSITY_SUPPORT DiversitySupport; +#ifdef __WIDL__ + [switch_is (PhyType)] +#else + __C89_NAMELESS +#endif + union { +#ifdef __WIDL__ + [case (dot11_phy_type_hrdsss)] +#endif + DOT11_HRDSSS_PHY_ATTRIBUTES HRDSSSAttributes; +#ifdef __WIDL__ + [case (dot11_phy_type_ofdm)] +#endif + DOT11_OFDM_PHY_ATTRIBUTES OFDMAttributes; +#ifdef __WIDL__ + [case (dot11_phy_type_erp)] +#endif + DOT11_ERP_PHY_ATTRIBUTES ERPAttributes; +#ifdef __WIDL__ + [case (dot11_phy_type_ht)] ; + [default] + ; +#endif + } +#ifdef __cplusplus + PhySpecificAttributes +#endif + ; + ULONG uNumberSupportedPowerLevels; + ULONG TxPowerLevels[8]; + ULONG uNumDataRateMappingEntries; + DOT11_DATA_RATE_MAPPING_ENTRY DataRateMappingEntries[DOT11_RATE_SET_MAX_LENGTH]; + DOT11_SUPPORTED_DATA_RATES_VALUE_V2 SupportedDataRatesValue; +}; + +#define DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_OID_SUPPORTED 0x1 +#define DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_CERTIFIED 0x2 +#define DOT11_EXTSTA_ATTRIBUTES_SAFEMODE_RESERVED 0xc + +#define DOT11_EXTSTA_ATTRIBUTES_REVISION_1 1 +#define DOT11_EXTSTA_ATTRIBUTES_REVISION_2 2 +#define DOT11_EXTSTA_ATTRIBUTES_REVISION_3 3 +#define DOT11_EXTSTA_ATTRIBUTES_REVISION_4 4 + +typedef struct DOT11_EXTSTA_ATTRIBUTES DOT11_EXTSTA_ATTRIBUTES, *PDOT11_EXTSTA_ATTRIBUTES; + +struct DOT11_EXTSTA_ATTRIBUTES { + NDIS_OBJECT_HEADER Header; + ULONG uScanSSIDListSize; + ULONG uDesiredBSSIDListSize; + ULONG uDesiredSSIDListSize; + ULONG uExcludedMacAddressListSize; + ULONG uPrivacyExemptionListSize; + ULONG uKeyMappingTableSize; + ULONG uDefaultKeyTableSize; + ULONG uWEPKeyValueMaxLength; + ULONG uPMKIDCacheSize; + ULONG uMaxNumPerSTADefaultKeyTables; + BOOLEAN bStrictlyOrderedServiceClassImplemented; + UCHAR ucSupportedQoSProtocolFlags; + BOOLEAN bSafeModeImplemented; + ULONG uNumSupportedCountryOrRegionStrings; +#ifdef __WIDL__ + [size_is (uNumSupportedCountryOrRegionStrings)] +#endif + PDOT11_COUNTRY_OR_REGION_STRING pSupportedCountryOrRegionStrings; + ULONG uInfraNumSupportedUcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uInfraNumSupportedUcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pInfraSupportedUcastAlgoPairs; + ULONG uInfraNumSupportedMcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uInfraNumSupportedMcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pInfraSupportedMcastAlgoPairs; + ULONG uAdhocNumSupportedUcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uAdhocNumSupportedUcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pAdhocSupportedUcastAlgoPairs; + ULONG uAdhocNumSupportedMcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uAdhocNumSupportedMcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pAdhocSupportedMcastAlgoPairs; + BOOLEAN bAutoPowerSaveMode; + ULONG uMaxNetworkOffloadListSize; + BOOLEAN bMFPCapable; + ULONG uInfraNumSupportedMcastMgmtAlgoPairs; +#ifdef __WIDL__ + [size_is (uInfraNumSupportedMcastMgmtAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pInfraSupportedMcastMgmtAlgoPairs; +}; + +#if defined (_NDIS_) || defined (NDIS_WRAPPER) +#define DOT11_SEND_CONTEXT_REVISION_1 1 + +#define DOT11_SEND_CONTEXT_SIZE ((sizeof (DOT11_SEND_CONTEXT) + MEMORY_ALLOCATION_ALIGNMENT - 1) &~ (MEMORY_ALLOCATION_ALIGNMENT-1)) + +typedef struct _DOT11_SEND_CONTEXT { + NDIS_OBJECT_HEADER Header; + PVOID pvReserved; + ULONG uFlags; + ULONG uPSLifetime; + ULONG uDelayedSleepValue; + UCHAR ucTXDataRates[8]; + BOOLEAN bIndicateAssociatedACKs; + BOOLEAN bIndicateTXStatus; + UCHAR ucPriority; + BOOLEAN bDontFragment; + ULONG dwExtendedStatus; + HANDLE hIntegrityOffload; + HANDLE hWEPOffload; + UCHAR ucWPAMSDUPriority; + UCHAR ucNumOfRWsOnPeer; + USHORT usAID; + PDOT11_PER_MSDU_COUNTERS pDot11PerMSDUCounters; +} DOT11_SEND_CONTEXT, *PDOT11_SEND_CONTEXT; + +typedef struct _DOT11_SEND_EXTENSION_INFO { + ULONG uVersion; + NDIS_OBJECT_HEADER Header; + PVOID pvReserved; + ULONG uFlags; + ULONG uPSLifetime; + ULONG uDelayedSleepValue; + UCHAR ucTXDataRates[8]; + BOOLEAN bIndicateAssociatedACKs; + BOOLEAN bIndicateTXStatus; + UCHAR ucPriority; + BOOLEAN bDontFragment; + ULONG dwExtendedStatus; + HANDLE hIntegrityOffload; + HANDLE hWEPOffload; + UCHAR ucWPAMSDUPriority; + UCHAR ucNumOfRWsOnPeer; + USHORT usAID; + PDOT11_PER_MSDU_COUNTERS pDot11PerMSDUCounters; + USHORT usNumberOfFragments; + DOT11_FRAGMENT_DESCRIPTOR Dot11FragmentDescriptors[1]; +} DOT11_SEND_EXTENSION_INFO, *PDOT11_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, *PDOT11_ACK_POLICY; + +typedef struct _DOT11_SEND_EXTENSION_INFO_V2 { + UCHAR ucQoSPriority:4; + UCHAR ucAckPolicy:4; + USHORT usExtendedTXDataRatesOffset; + UCHAR ucNumOfExtendedTXDataRates; + UCHAR ucBuffer[1]; +} DOT11_SEND_EXTENSION_INFO_V2, *PDOT11_SEND_EXTENSION_INFO_V2; + +#define DOT11_RECV_CONTEXT_REVISION_1 1 + +typedef struct _DOT11_RECV_CONTEXT { + NDIS_OBJECT_HEADER Header; + PVOID pvReserved; + DOT11_PHY_TYPE dot11PhyType; + ULONG uChCenterFrequency; + LONG lRSSI; + ULONG uRSSI; + UCHAR ucPriority; + UCHAR ucDataRate; + UCHAR ucPeerMacAddress[6]; + ULONG dwExtendedStatus; + HANDLE hWEPOffloadContext; + HANDLE hAuthOffloadContext; + USHORT usWEPAppliedMask; + USHORT usWPAMSDUPriority; + DOT11_IV48_COUNTER dot11LowestIV48Counter; + USHORT usDot11LeftRWBitMap; + DOT11_IV48_COUNTER dot11HighestIV48Counter; + USHORT usDot11RightRWBitMap; + USHORT usNumberOfMPDUsReceived; +} DOT11_RECV_CONTEXT, *PDOT11_RECV_CONTEXT; + +#define DOT11_RECV_CONTEXT_SIZE ((sizeof (DOT11_RECV_CONTEXT) + MEMORY_ALLOCATION_ALIGNMENT - 1) &~ (MEMORY_ALLOCATION_ALIGNMENT-1)) +#else +typedef struct _DOT11_RECV_EXTENSION_INFO { + ULONG uVersion; + PVOID pvReserved; + DOT11_PHY_TYPE dot11PhyType; + ULONG uChCenterFrequency; + LONG lRSSI; + LONG lRSSIMin; + LONG lRSSIMax; + ULONG uRSSI; + UCHAR ucPriority; + UCHAR ucDataRate; + UCHAR ucPeerMacAddress[6]; + ULONG dwExtendedStatus; + HANDLE hWEPOffloadContext; + HANDLE hAuthOffloadContext; + USHORT usWEPAppliedMask; + USHORT usWPAMSDUPriority; + DOT11_IV48_COUNTER dot11LowestIV48Counter; + USHORT usDot11LeftRWBitMap; + DOT11_IV48_COUNTER dot11HighestIV48Counter; + USHORT usDot11RightRWBitMap; + USHORT usNumberOfMPDUsReceived; + USHORT usNumberOfFragments; + PVOID pNdisPackets[1]; +} DOT11_RECV_EXTENSION_INFO, *PDOT11_RECV_EXTENSION_INFO; + +typedef struct _DOT11_RECV_EXTENSION_INFO_V2 { + ULONG uVersion; + PVOID pvReserved; + DOT11_PHY_TYPE dot11PhyType; + ULONG uChCenterFrequency; + LONG lRSSI; + ULONG uRSSI; + UCHAR ucPriority; + UCHAR ucDataRate; + UCHAR ucPeerMacAddress[6]; + ULONG dwExtendedStatus; + HANDLE hWEPOffloadContext; + HANDLE hAuthOffloadContext; + USHORT usWEPAppliedMask; + USHORT usWPAMSDUPriority; + DOT11_IV48_COUNTER dot11LowestIV48Counter; + USHORT usDot11LeftRWBitMap; + DOT11_IV48_COUNTER dot11HighestIV48Counter; + USHORT usDot11RightRWBitMap; + USHORT usNumberOfMPDUsReceived; + USHORT usNumberOfFragments; + PVOID pNdisPackets[1]; +} DOT11_RECV_EXTENSION_INFO_V2, *PDOT11_RECV_EXTENSION_INFO_V2; +#endif + +#define DOT11_STATUS_SUCCESS 0x00000001 +#define DOT11_STATUS_RETRY_LIMIT_EXCEEDED 0x00000002 +#define DOT11_STATUS_UNSUPPORTED_PRIORITY 0x00000004 +#define DOT11_STATUS_UNSUPPORTED_SERVICE_CLASS 0x00000008 +#define DOT11_STATUS_UNAVAILABLE_PRIORITY 0x00000010 +#define DOT11_STATUS_UNAVAILABLE_SERVICE_CLASS 0x00000020 +#define DOT11_STATUS_XMIT_MSDU_TIMER_EXPIRED 0x00000040 +#define DOT11_STATUS_UNAVAILABLE_BSS 0x00000080 +#define DOT11_STATUS_EXCESSIVE_DATA_LENGTH 0x00000100 +#define DOT11_STATUS_ENCRYPTION_FAILED 0x00000200 +#define DOT11_STATUS_WEP_KEY_UNAVAILABLE 0x00000400 +#define DOT11_STATUS_ICV_VERIFIED 0x00000800 +#define DOT11_STATUS_PACKET_REASSEMBLED 0x00001000 +#define DOT11_STATUS_PACKET_NOT_REASSEMBLED 0x00002000 +#define DOT11_STATUS_GENERATE_AUTH_FAILED 0x00004000 +#define DOT11_STATUS_AUTH_NOT_VERIFIED 0x00008000 +#define DOT11_STATUS_AUTH_VERIFIED 0x00010000 +#define DOT11_STATUS_AUTH_FAILED 0x00020000 +#define DOT11_STATUS_PS_LIFETIME_EXPIRED 0x00040000 + +typedef struct _DOT11_STATUS_INDICATION { + ULONG uStatusType; + NDIS_STATUS ndisStatus; +} DOT11_STATUS_INDICATION, *PDOT11_STATUS_INDICATION; + +typedef struct DOT11_MPDU_MAX_LENGTH_INDICATION { + NDIS_OBJECT_HEADER Header; + ULONG uPhyId; + ULONG uMPDUMaxLength; +} DOT11_MPDU_MAX_LENGTH_INDICATION, *PDOT11_MPDU_MAX_LENGTH_INDICATION; + +#define DOT11_MPDU_MAX_LENGTH_INDICATION_REVISION_1 1 +#define DOT11_ASSOCIATION_START_PARAMETERS_REVISION_1 1 + +typedef struct DOT11_ASSOCIATION_START_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS MacAddr; + DOT11_SSID SSID; + ULONG uIHVDataOffset, uIHVDataSize; +} DOT11_ASSOCIATION_START_PARAMETERS, *PDOT11_ASSOCIATION_START_PARAMETERS; + +typedef struct DOT11_ENCAP_ENTRY { + USHORT usEtherType; + USHORT usEncapType; +} DOT11_ENCAP_ENTRY, *PDOT11_ENCAP_ENTRY; + +typedef enum DOT11_DS_INFO { + DOT11_DS_CHANGED, + DOT11_DS_UNCHANGED, + DOT11_DS_UNKNOWN +} DOT11_DS_INFO, *PDOT11_DS_INFO; + +typedef ULONG DOT11_ASSOC_STATUS; + +#define DOT11_ENCAP_RFC_1042 1 +#define DOT11_ENCAP_802_1H 2 + +#define DOT11_STATUS_SCAN_CONFIRM 1 +#define DOT11_STATUS_JOIN_CONFIRM 2 +#define DOT11_STATUS_START_CONFIRM 3 +#define DOT11_STATUS_RESET_CONFIRM 4 +#define DOT11_STATUS_AP_JOIN_CONFIRM 5 +#define DOT11_STATUS_MPDU_MAX_LENGTH_CHANGED 6 + +#define DOT11_ASSOC_STATUS_SUCCESS 0 +#define DOT11_ASSOC_STATUS_FAILURE 0x00000001U +#define DOT11_ASSOC_STATUS_UNREACHABLE 0x00000002U +#define DOT11_ASSOC_STATUS_RADIO_OFF 0x00000003U +#define DOT11_ASSOC_STATUS_PHY_DISABLED 0x00000004U +#define DOT11_ASSOC_STATUS_CANCELLED 0x00000005U +#define DOT11_ASSOC_STATUS_CANDIDATE_LIST_EXHAUSTED 0x00000006U +#define DOT11_ASSOC_STATUS_DISASSOCIATED_BY_OS 0x00000007U +#define DOT11_ASSOC_STATUS_DISASSOCIATED_BY_ROAMING 0x00000008U +#define DOT11_ASSOC_STATUS_DISASSOCIATED_BY_RESET 0x00000009U +#define DOT11_ASSOC_STATUS_SYSTEM_ERROR 0x0000000aU +#define DOT11_ASSOC_STATUS_ROAMING_BETTER_AP_FOUND 0x0000000bU +#define DOT11_ASSOC_STATUS_ROAMING_ASSOCIATION_LOST 0x0000000cU +#define DOT11_ASSOC_STATUS_ROAMING_ADHOC 0x0000000dU + +#define DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED 0x00010000U +#define DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED_START DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED +#define DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED_END 0x0001ffffU + +#define DOT11_ASSOC_STATUS_PEER_DISASSOCIATED 0x00020000U +#define DOT11_ASSOC_STATUS_PEER_DISASSOCIATED_START DOT11_ASSOC_STATUS_PEER_DISASSOCIATED +#define DOT11_ASSOC_STATUS_PEER_DISASSOCIATED_END 0x0002ffffU + +#define DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE 0x00030000U +#define DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE_START DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE +#define DOT11_ASSOC_STATUS_ASSOCIATION_RESPONSE_END 0x0003ffffU + +#define DOT11_ASSOC_STATUS_REASON_CODE_MASK 0xffffU + +#define DOT11_ASSOC_STATUS_IHV_START 0x80000000U +#define DOT11_ASSOC_STATUS_IHV_END 0xffffffffU + +#define DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_1 1 +#define DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_2 2 + +typedef struct DOT11_ASSOCIATION_COMPLETION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS MacAddr; + DOT11_ASSOC_STATUS uStatus; + BOOLEAN bReAssocReq; + BOOLEAN bReAssocResp; + ULONG uAssocReqOffset, uAssocReqSize; + ULONG uAssocRespOffset, uAssocRespSize; + ULONG uBeaconOffset, uBeaconSize; + ULONG uIHVDataOffset, uIHVDataSize; + DOT11_AUTH_ALGORITHM AuthAlgo; + DOT11_CIPHER_ALGORITHM UnicastCipher; + DOT11_CIPHER_ALGORITHM MulticastCipher; + ULONG uActivePhyListOffset, uActivePhyListSize; + BOOLEAN bFourAddressSupported; + BOOLEAN bPortAuthorized; + UCHAR ucActiveQoSProtocol; + DOT11_DS_INFO DSInfo; + ULONG uEncapTableOffset, uEncapTableSize; +#if NTDDI_VERSION >= NTDDI_WIN8 + DOT11_CIPHER_ALGORITHM MulticastMgmtCipher; + ULONG uAssocComebackTime; +#endif +} DOT11_ASSOCIATION_COMPLETION_PARAMETERS, *PDOT11_ASSOCIATION_COMPLETION_PARAMETERS; + +#define DOT11_CONNECTION_STATUS_SUCCESS DOT11_ASSOC_STATUS_SUCCESS +#define DOT11_CONNECTION_STATUS_FAILURE DOT11_ASSOC_STATUS_FAILURE +#define DOT11_CONNECTION_STATUS_CANDIDATE_LIST_EXHAUSTED DOT11_ASSOC_STATUS_CANDIDATE_LIST_EXHAUSTED +#define DOT11_CONNECTION_STATUS_PHY_POWER_DOWN DOT11_ASSOC_STATUS_RADIO_OFF +#define DOT11_CONNECTION_STATUS_CANCELLED DOT11_ASSOC_STATUS_CANCELLED +#define DOT11_CONNECTION_STATUS_IHV_START DOT11_ASSOC_STATUS_IHV_START +#define DOT11_CONNECTION_STATUS_IHV_END DOT11_ASSOC_STATUS_IHV_END + +#define DOT11_ROAMING_REASON_BETTER_AP_FOUND DOT11_ASSOC_STATUS_ROAMING_BETTER_AP_FOUND +#define DOT11_ROAMING_REASON_ASSOCIATION_LOST DOT11_ASSOC_STATUS_ROAMING_ASSOCIATION_LOST +#define DOT11_ROAMING_REASON_ADHOC DOT11_ASSOC_STATUS_ROAMING_ADHOC +#define DOT11_ROAMING_REASON_IHV_START DOT11_ASSOC_STATUS_IHV_START +#define DOT11_ROAMING_REASON_IHV_END DOT11_ASSOC_STATUS_IHV_END + +#define DOT11_DISASSOC_REASON_OS DOT11_ASSOC_STATUS_DISASSOCIATED_BY_OS +#define DOT11_DISASSOC_REASON_PEER_UNREACHABLE DOT11_ASSOC_STATUS_UNREACHABLE +#define DOT11_DISASSOC_REASON_PEER_DEAUTHENTICATED DOT11_ASSOC_STATUS_PEER_DEAUTHENTICATED +#define DOT11_DISASSOC_REASON_PEER_DISASSOCIATED DOT11_ASSOC_STATUS_PEER_DISASSOCIATED +#define DOT11_DISASSOC_REASON_RADIO_OFF DOT11_ASSOC_STATUS_RADIO_OFF +#define DOT11_DISASSOC_REASON_PHY_DISABLED DOT11_ASSOC_STATUS_PHY_DISABLED +#define DOT11_DISASSOC_REASON_IHV_START DOT11_ASSOC_STATUS_IHV_START +#define DOT11_DISASSOC_REASON_IHV_END DOT11_ASSOC_STATUS_IHV_END + +#define DOT11_CONNECTION_START_PARAMETERS_REVISION_1 1 +#define DOT11_CONNECTION_COMPLETION_PARAMETERS_REVISION_1 1 +#define DOT11_ROAMING_START_PARAMETERS_REVISION_1 1 +#define DOT11_ROAMING_COMPLETION_PARAMETERS_REVISION_1 1 +#define DOT11_DISASSOCIATION_PARAMETERS_REVISION_1 1 +#define DOT11_TKIPMIC_FAILURE_PARAMETERS_REVISION_1 1 +#define DOT11_PMKID_CANDIDATE_LIST_PARAMETERS_REVISION_1 1 +#define DOT11_PHY_STATE_PARAMETERS_REVISION_1 1 +#define DOT11_LINK_QUALITY_PARAMETERS_REVISION_1 1 +#define DOT11_EXTSTA_SEND_CONTEXT_REVISION_1 1 +#define DOT11_EXTSTA_RECV_CONTEXT_REVISION_1 1 + +typedef struct DOT11_CONNECTION_START_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_BSS_TYPE BSSType; + DOT11_MAC_ADDRESS AdhocBSSID; + DOT11_SSID AdhocSSID; +} DOT11_CONNECTION_START_PARAMETERS, *PDOT11_CONNECTION_START_PARAMETERS; + +typedef struct DOT11_CONNECTION_COMPLETION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_ASSOC_STATUS uStatus; +} DOT11_CONNECTION_COMPLETION_PARAMETERS, *PDOT11_CONNECTION_COMPLETION_PARAMETERS; + +typedef struct DOT11_ROAMING_START_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS AdhocBSSID; + DOT11_SSID AdhocSSID; + DOT11_ASSOC_STATUS uRoamingReason; +} DOT11_ROAMING_START_PARAMETERS, *PDOT11_ROAMING_START_PARAMETERS; + +typedef struct DOT11_ROAMING_COMPLETION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_ASSOC_STATUS uStatus; +} DOT11_ROAMING_COMPLETION_PARAMETERS, *PDOT11_ROAMING_COMPLETION_PARAMETERS; + +typedef struct DOT11_DISASSOCIATION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS MacAddr; + DOT11_ASSOC_STATUS uReason; + ULONG uIHVDataOffset, uIHVDataSize; +} DOT11_DISASSOCIATION_PARAMETERS, *PDOT11_DISASSOCIATION_PARAMETERS; + +typedef struct DOT11_TKIPMIC_FAILURE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + BOOLEAN bDefaultKeyFailure; + ULONG uKeyIndex; + DOT11_MAC_ADDRESS PeerMac; +} DOT11_TKIPMIC_FAILURE_PARAMETERS, *PDOT11_TKIPMIC_FAILURE_PARAMETERS; + +typedef struct DOT11_PMKID_CANDIDATE_LIST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG uCandidateListSize; + ULONG uCandidateListOffset; +} DOT11_PMKID_CANDIDATE_LIST_PARAMETERS, *PDOT11_PMKID_CANDIDATE_LIST_PARAMETERS; + +typedef struct DOT11_BSSID_CANDIDATE { + DOT11_MAC_ADDRESS BSSID; + ULONG uFlags; +} DOT11_BSSID_CANDIDATE, *PDOT11_BSSID_CANDIDATE; + +typedef struct DOT11_PHY_STATE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG uPhyId; + BOOLEAN bHardwarePhyState; + BOOLEAN bSoftwarePhyState; +} DOT11_PHY_STATE_PARAMETERS, *PDOT11_PHY_STATE_PARAMETERS; + +typedef struct DOT11_LINK_QUALITY_ENTRY { + DOT11_MAC_ADDRESS PeerMacAddr; + UCHAR ucLinkQuality; +} DOT11_LINK_QUALITY_ENTRY, *PDOT11_LINK_QUALITY_ENTRY; + +typedef struct DOT11_LINK_QUALITY_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG uLinkQualityListSize; + ULONG uLinkQualityListOffset; +} DOT11_LINK_QUALITY_PARAMETERS, *PDOT11_LINK_QUALITY_PARAMETERS; + +typedef struct DOT11_EXTSTA_SEND_CONTEXT { + NDIS_OBJECT_HEADER Header; + USHORT usExemptionActionType; + ULONG uPhyId; + ULONG uDelayedSleepValue; +#ifdef __WIDL__ + ULONG_PTR pvMediaSpecificInfo; +#else + PVOID pvMediaSpecificInfo; +#endif + ULONG uSendFlags; +} DOT11_EXTSTA_SEND_CONTEXT, *PDOT11_EXTSTA_SEND_CONTEXT; + +typedef struct DOT11_EXTSTA_RECV_CONTEXT { + NDIS_OBJECT_HEADER Header; + ULONG uReceiveFlags; + ULONG uPhyId; + ULONG uChCenterFrequency; + USHORT usNumberOfMPDUsReceived; + LONG lRSSI; + UCHAR ucDataRate; + ULONG uSizeMediaSpecificInfo; +#ifdef __WIDL__ + ULONG_PTR pvMediaSpecificInfo; +#else + PVOID pvMediaSpecificInfo; +#endif + ULONGLONG ullTimestamp; +} DOT11_EXTSTA_RECV_CONTEXT, *PDOT11_EXTSTA_RECV_CONTEXT; + +#define OID_DOT11_PRIVATE_OIDS_START (OID_DOT11_NDIS_START + 1024) + +#define OID_DOT11_CURRENT_ADDRESS (OID_DOT11_PRIVATE_OIDS_START + 2) +#define OID_DOT11_PERMANENT_ADDRESS (OID_DOT11_PRIVATE_OIDS_START + 3) +#define OID_DOT11_MULTICAST_LIST (OID_DOT11_PRIVATE_OIDS_START + 4) +#define OID_DOT11_MAXIMUM_LIST_SIZE (OID_DOT11_PRIVATE_OIDS_START + 5) + +#define DOT11_RECV_FLAG_RAW_PACKET 0x00000001U +#define DOT11_RECV_FLAG_RAW_PACKET_FCS_FAILURE 0x00000002U +#define DOT11_RECV_FLAG_RAW_PACKET_TIMESTAMP 0x00000004U + +#define DOT11_PMKID_CANDIDATE_PREAUTH_ENABLED 0x00000001U + +#define DEFINE_NWF_GUID(NAME, ORD) DEFINE_GUID (NAME, 0x6cb9a43e + (ORD), 0xc45f, 0x4039, 0x9f, 0xe6, 0xd0, 0x8c, 0xb0, 0x57, 0x18, 0x4c) + +DEFINE_NWF_GUID (GUID_NWF_OFFLOAD_CAPABILITY, 0); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_OFFLOAD_CAPABILITY, 1); +DEFINE_NWF_GUID (GUID_NWF_WEP_OFFLOAD, 2); +DEFINE_NWF_GUID (GUID_NWF_WEP_UPLOAD, 3); +DEFINE_NWF_GUID (GUID_NWF_DEFAULT_WEP_OFFLOAD, 4); +DEFINE_NWF_GUID (GUID_NWF_DEFAULT_WEP_UPLOAD, 5); +DEFINE_NWF_GUID (GUID_NWF_MPDU_MAX_LENGTH, 6); +DEFINE_NWF_GUID (GUID_NWF_OPERATION_MODE_CAPABILITY, 7); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_OPERATION_MODE, 8); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_PACKET_FILTER, 9); +DEFINE_NWF_GUID (GUID_NWF_ATIM_WINDOW, 10); +DEFINE_NWF_GUID (GUID_NWF_SCAN_REQUEST, 11); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_PHY_TYPE, 12); +DEFINE_NWF_GUID (GUID_NWF_JOIN_REQUEST, 13); +DEFINE_NWF_GUID (GUID_NWF_START_REQUEST, 14); +DEFINE_NWF_GUID (GUID_NWF_UPDATE_IE, 15); +DEFINE_NWF_GUID (GUID_NWF_RESET_REQUEST, 16); +DEFINE_NWF_GUID (GUID_NWF_NIC_POWER_STATE, 17); +DEFINE_NWF_GUID (GUID_NWF_OPTIONAL_CAPABILITY, 18); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_OPTIONAL_CAPABILITY, 19); +DEFINE_NWF_GUID (GUID_NWF_STATION_ID, 20); +DEFINE_NWF_GUID (GUID_NWF_MEDIUM_OCCUPANCY_LIMIT, 21); +DEFINE_NWF_GUID (GUID_NWF_CF_POLLABLE, 22); +DEFINE_NWF_GUID (GUID_NWF_CFP_PERIOD, 23); +DEFINE_NWF_GUID (GUID_NWF_CFP_MAX_DURATION, 24); +DEFINE_NWF_GUID (GUID_NWF_POWER_MGMT_MODE, 25); +DEFINE_NWF_GUID (GUID_NWF_OPERATIONAL_RATE_SET, 26); +DEFINE_NWF_GUID (GUID_NWF_BEACON_PERIOD, 27); +DEFINE_NWF_GUID (GUID_NWF_DTIM_PERIOD, 28); +DEFINE_NWF_GUID (GUID_NWF_WEP_ICV_ERROR_COUNT, 29); +DEFINE_NWF_GUID (GUID_NWF_MAC_ADDRESS, 30); +DEFINE_NWF_GUID (GUID_NWF_RTS_THRESHOLD, 31); +DEFINE_NWF_GUID (GUID_NWF_SHORT_RETRY_LIMIT, 32); +DEFINE_NWF_GUID (GUID_NWF_LONG_RETRY_LIMIT, 33); +DEFINE_NWF_GUID (GUID_NWF_FRAGMENTATION_THRESHOLD, 34); +DEFINE_NWF_GUID (GUID_NWF_MAX_TRANSMIT_MSDU_LIFETIME, 35); +DEFINE_NWF_GUID (GUID_NWF_MAX_RECEIVE_LIFETIME, 36); +DEFINE_NWF_GUID (GUID_NWF_COUNTERS_ENTRY, 37); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_PHY_TYPES, 38); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_REG_DOMAIN, 39); +DEFINE_NWF_GUID (GUID_NWF_TEMP_TYPE, 40); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_TX_ANTENNA, 41); +DEFINE_NWF_GUID (GUID_NWF_DIVERSITY_SUPPORT, 42); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_RX_ANTENNA, 43); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_POWER_LEVELS, 44); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_TX_POWER_LEVEL, 45); +DEFINE_NWF_GUID (GUID_NWF_HOP_TIME, 46); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_CHANNEL_NUMBER, 47); +DEFINE_NWF_GUID (GUID_NWF_MAX_DWELL_TIME, 48); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_DWELL_TIME, 49); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_SET, 50); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_PATTERN, 51); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_INDEX, 52); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_CHANNEL, 53); +DEFINE_NWF_GUID (GUID_NWF_CCA_MODE_SUPPORTED, 54); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_CCA_MODE, 55); +DEFINE_NWF_GUID (GUID_NWF_ED_THRESHOLD, 56); +DEFINE_NWF_GUID (GUID_NWF_CCA_WATCHDOG_TIMER_MAX, 57); +DEFINE_NWF_GUID (GUID_NWF_CCA_WATCHDOG_COUNT_MAX, 58); +DEFINE_NWF_GUID (GUID_NWF_CCA_WATCHDOG_TIMER_MIN, 59); +DEFINE_NWF_GUID (GUID_NWF_CCA_WATCHDOG_COUNT_MIN, 60); +DEFINE_NWF_GUID (GUID_NWF_REG_DOMAINS_SUPPORT_VALUE, 61); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_TX_ANTENNA, 62); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_RX_ANTENNA, 63); +DEFINE_NWF_GUID (GUID_NWF_DIVERSITY_SELECTION_RX, 64); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_DATA_RATES_VALUE, 65); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_FREQUENCY, 66); +DEFINE_NWF_GUID (GUID_NWF_TI_THRESHOLD, 67); +DEFINE_NWF_GUID (GUID_NWF_FREQUENCY_BANDS_SUPPORTED, 68); +DEFINE_NWF_GUID (GUID_NWF_SHORT_PREAMBLE_OPTION_IMPLEMENTED, 69); +DEFINE_NWF_GUID (GUID_NWF_PBCC_OPTION_IMPLEMENTED, 70); +DEFINE_NWF_GUID (GUID_NWF_CHANNEL_AGILITY_PRESENT, 71); +DEFINE_NWF_GUID (GUID_NWF_CHANNEL_AGILITY_ENABLED, 72); +DEFINE_NWF_GUID (GUID_NWF_HR_CCA_MODE_SUPPORTED, 73); +DEFINE_NWF_GUID (GUID_NWF_MULTI_DOMAIN_CAPABILITY_IMPLEMENTED, 74); +DEFINE_NWF_GUID (GUID_NWF_MULTI_DOMAIN_CAPABILITY_ENABLED, 75); +DEFINE_NWF_GUID (GUID_NWF_COUNTRY_STRING, 76); +DEFINE_NWF_GUID (GUID_NWF_MULTI_DOMAIN_CAPABILITY, 77); +DEFINE_NWF_GUID (GUID_NWF_EHCC_PRIME_RADIX, 78); +DEFINE_NWF_GUID (GUID_NWF_EHCC_NUMBER_OF_CHANNELS_FAMILY_INDEX, 79); +DEFINE_NWF_GUID (GUID_NWF_EHCC_CAPABILITY_IMPLEMENTED, 80); +DEFINE_NWF_GUID (GUID_NWF_EHCC_CAPABILITY_ENABLED, 81); +DEFINE_NWF_GUID (GUID_NWF_HOP_ALGORITHM_ADOPTED, 82); +DEFINE_NWF_GUID (GUID_NWF_RANDOM_TABLE_FLAG, 83); +DEFINE_NWF_GUID (GUID_NWF_NUMBER_OF_HOPPING_SETS, 84); +DEFINE_NWF_GUID (GUID_NWF_HOP_MODULUS, 85); +DEFINE_NWF_GUID (GUID_NWF_HOP_OFFSET, 86); +DEFINE_NWF_GUID (GUID_NWF_HOPPING_PATTERN, 87); +DEFINE_NWF_GUID (GUID_NWF_RANDOM_TABLE_FIELD_NUMBER, 88); +DEFINE_NWF_GUID (GUID_NWF_WPA_TSC, 89); +DEFINE_NWF_GUID (GUID_NWF_RSSI_RANGE, 90); +DEFINE_NWF_GUID (GUID_NWF_RF_USAGE, 91); +DEFINE_NWF_GUID (GUID_NWF_NIC_SPECIFIC_EXTENSION, 92); +DEFINE_NWF_GUID (GUID_NWF_AP_JOIN_REQUEST, 93); +DEFINE_NWF_GUID (GUID_NWF_ERP_PBCC_OPTION_IMPLEMENTED, 94); +DEFINE_NWF_GUID (GUID_NWF_ERP_PBCC_OPTION_ENABLED, 95); +DEFINE_NWF_GUID (GUID_NWF_DSSS_OFDM_OPTION_IMPLEMENTED, 96); +DEFINE_NWF_GUID (GUID_NWF_DSSS_OFDM_OPTION_ENABLED, 97); +DEFINE_NWF_GUID (GUID_NWF_SHORT_SLOT_TIME_OPTION_IMPLEMENTED, 98); +DEFINE_NWF_GUID (GUID_NWF_SHORT_SLOT_TIME_OPTION_ENABLED, 99); +DEFINE_NWF_GUID (GUID_NWF_MAX_MAC_ADDRESS_STATES, 100); +DEFINE_NWF_GUID (GUID_NWF_RECV_SENSITIVITY_LIST, 101); +DEFINE_NWF_GUID (GUID_NWF_WME_IMPLEMENTED, 102); +DEFINE_NWF_GUID (GUID_NWF_WME_ENABLED, 103); +DEFINE_NWF_GUID (GUID_NWF_WME_AC_PARAMETERS, 104); +DEFINE_NWF_GUID (GUID_NWF_WME_UPDATE_IE, 105); +DEFINE_NWF_GUID (GUID_NWF_QOS_TX_QUEUES_SUPPORTED, 106); +DEFINE_NWF_GUID (GUID_NWF_QOS_TX_DURATION, 107); +DEFINE_NWF_GUID (GUID_NWF_QOS_TX_MEDIUM_TIME, 108); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_OFDM_FREQUENCY_LIST, 109); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_DSSS_CHANNEL_LIST, 110); +DEFINE_NWF_GUID (GUID_NWF_AUTO_CONFIG_ENABLED, 120); +DEFINE_NWF_GUID (GUID_NWF_ENUM_BSS_LIST, 121); +DEFINE_NWF_GUID (GUID_NWF_FLUSH_BSS_LIST, 122); +DEFINE_NWF_GUID (GUID_NWF_POWER_MGMT_REQUEST, 123); +DEFINE_NWF_GUID (GUID_NWF_DESIRED_SSID_LIST, 124); +DEFINE_NWF_GUID (GUID_NWF_EXCLUDED_MAC_ADDRESS_LIST, 125); +DEFINE_NWF_GUID (GUID_NWF_DESIRED_BSSID_LIST, 126); +DEFINE_NWF_GUID (GUID_NWF_DESIRED_BSS_TYPE, 127); +DEFINE_NWF_GUID (GUID_NWF_PMKID_LIST, 128); +DEFINE_NWF_GUID (GUID_NWF_CONNECT_REQUEST, 129); +DEFINE_NWF_GUID (GUID_NWF_EXCLUDE_UNENCRYPTED, 130); +DEFINE_NWF_GUID (GUID_NWF_STATISTICS, 131); +DEFINE_NWF_GUID (GUID_NWF_PRIVACY_EXEMPTION_LIST, 132); +DEFINE_NWF_GUID (GUID_NWF_ENABLED_AUTHENTICATION_ALGORITHM, 133); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_UNICAST_ALGORITHM_PAIR, 134); +DEFINE_NWF_GUID (GUID_NWF_ENABLED_UNICAST_CIPHER_ALGORITHM, 135); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_MULTICAST_ALGORITHM_PAIR, 136); +DEFINE_NWF_GUID (GUID_NWF_ENABLED_MULTICAST_CIPHER_ALGORITHM, 137); +DEFINE_NWF_GUID (GUID_NWF_CIPHER_DEFAULT_KEY_ID, 138); +DEFINE_NWF_GUID (GUID_NWF_CIPHER_DEFAULT_KEY, 139); +DEFINE_NWF_GUID (GUID_NWF_CIPHER_KEY_MAPPING_KEY, 140); +DEFINE_NWF_GUID (GUID_NWF_ENUM_ASSOCIATION_INFO, 141); +DEFINE_NWF_GUID (GUID_NWF_DISCONNECT_REQUEST, 142); +DEFINE_NWF_GUID (GUID_NWF_UNICAST_USE_GROUP_ENABLED, 143); +DEFINE_NWF_GUID (GUID_NWF_PHY_STATE, 144); +DEFINE_NWF_GUID (GUID_NWF_DESIRED_PHY_LIST, 145); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_PHY_ID, 146); +DEFINE_NWF_GUID (GUID_NWF_MEDIA_STREAMING_ENABLED, 147); +DEFINE_NWF_GUID (GUID_NWF_UNREACHABLE_DETECTION_THRESHOLD, 148); +DEFINE_NWF_GUID (GUID_NWF_ACTIVE_PHY_LIST, 149); +DEFINE_NWF_GUID (GUID_NWF_EXTSTA_CAPABILITY, 150); +DEFINE_NWF_GUID (GUID_NWF_DATA_RATE_MAPPING_TABLE, 151); +DEFINE_NWF_GUID (GUID_NWF_SUPPORTED_COUNTRY_OR_REGION_STRING, 152); +DEFINE_NWF_GUID (GUID_NWF_DESIRED_COUNTRY_OR_REGION_STRING, 153); +DEFINE_NWF_GUID (GUID_NWF_PORT_STATE_NOTIFICATION, 154); +DEFINE_NWF_GUID (GUID_NWF_IBSS_PARAMS, 155); +DEFINE_NWF_GUID (GUID_NWF_QOS_PARAMS, 156); +DEFINE_NWF_GUID (GUID_NWF_SAFE_MODE_ENABLED, 157); +DEFINE_NWF_GUID (GUID_NWF_HIDDEN_NETWORK_ENABLED, 158); +DEFINE_NWF_GUID (GUID_NWF_ASSOCIATION_PARAMS, 159); +DEFINE_NWF_GUID (GUID_NWF_CURRENT_ADDRESS, 1026); +DEFINE_NWF_GUID (GUID_NWF_PERMANENT_ADDRESS, 1027); +DEFINE_NWF_GUID (GUID_NWF_MULTICAST_LIST, 1028); +DEFINE_NWF_GUID (GUID_NWF_MAXIMUM_LIST_SIZE, 1029); +#endif + +#ifdef NWF_EXTAP_SUPPORTED +#define NWF_EXTAP_OID (0x03U) + +#define OID_DOT11_WPS_ENABLED NWF_DEFINE_OID (0x01, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_START_AP_REQUEST NWF_DEFINE_OID (0x02, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_AVAILABLE_CHANNEL_LIST NWF_DEFINE_OID (0x03, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_AVAILABLE_FREQUENCY_LIST NWF_DEFINE_OID (0x04, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DISASSOCIATE_PEER_REQUEST NWF_DEFINE_OID (0x05, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_INCOMING_ASSOCIATION_DECISION NWF_DEFINE_OID (0x06, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ADDITIONAL_IE NWF_DEFINE_OID (0x07, NWF_EXTAP_OID, NWF_MANDATORY_OID) +#define OID_DOT11_ENUM_PEER_INFO NWF_DEFINE_OID (0x08, NWF_EXTAP_OID, NWF_MANDATORY_OID) + +#define DOT11_ASSOC_ERROR_SOURCE_OS 0x0 +#define DOT11_ASSOC_ERROR_SOURCE_REMOTE 0x01 +#define DOT11_ASSOC_ERROR_SOURCE_OTHER 0xff + +#define DOT11_STOP_AP_REASON_FREQUENCY_NOT_AVAILABLE 0x1 +#define DOT11_STOP_AP_REASON_CHANNEL_NOT_AVAILABLE 0x2 +#define DOT11_STOP_AP_REASON_AP_ACTIVE 0x3 + +#define DOT11_STOP_AP_REASON_IHV_START 0xff000000 +#define DOT11_STOP_AP_REASON_IHV_END 0xffffffff + +#define DOT11_CAN_SUSTAIN_AP_REASON_IHV_START 0xff000000 +#define DOT11_CAN_SUSTAIN_AP_REASON_IHV_END 0xffffffff + +#define DOT11_EXTAP_ATTRIBUTES_REVISION_1 1 +#define DOT11_INCOMING_ASSOC_STARTED_PARAMETERS_REVISION_1 1 +#define DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS_REVISION_1 1 +#define DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS_REVISION_1 1 +#define DOT11_STOP_AP_PARAMETERS_REVISION_1 1 +#define DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS_REVISION_1 1 +#define DOT11_CAN_SUSTAIN_AP_PARAMETERS_REVISION_1 1 +#define DOT11_AVAILABLE_CHANNEL_LIST_REVISION_1 1 +#define DOT11_AVAILABLE_FREQUENCY_LIST_REVISION_1 1 +#define DOT11_DISASSOCIATE_PEER_REQUEST_REVISION_1 1 +#define DOT11_INCOMING_ASSOC_DECISION_REVISION_1 1 +#define DOT11_ADDITIONAL_IE_REVISION_1 1 +#define DOT11_EXTAP_SEND_CONTEXT_REVISION_1 1 +#define DOT11_EXTAP_RECV_CONTEXT_REVISION_1 1 +#define DOT11_PEER_INFO_LIST_REVISION_1 1 +#ifdef NWF_WFD_SUPPORTED +#define DOT11_INCOMING_ASSOC_DECISION_REVISION_2 2 +#endif + +#define NDIS_SIZEOF_DOT11_EXTAP_ATTRIBUTES_REVISION_1 sizeof (DOT11_EXTAP_ATTRIBUTES) +#define DOT11_SIZEOF_INCOMING_ASSOC_DECISION_REVISION_1 sizeof (DOT11_INCOMING_ASSOC_DECISION) +#ifdef NWF_WFD_SUPPORTED +#define DOT11_SIZEOF_INCOMING_ASSOC_DECISION_REVISION_2 sizeof (DOT11_INCOMING_ASSOC_DECISION_V2) +#endif + +typedef struct _DOT11_EXTAP_ATTRIBUTES { + NDIS_OBJECT_HEADER Header; + ULONG uScanSSIDListSize; + ULONG uDesiredSSIDListSize; + ULONG uPrivacyExemptionListSize; + ULONG uAssociationTableSize; + ULONG uDefaultKeyTableSize; + ULONG uWEPKeyValueMaxLength; + BOOLEAN bStrictlyOrderedServiceClassImplemented; + ULONG uNumSupportedCountryOrRegionStrings; +#ifdef __WIDL__ + [size_is (uNumSupportedCountryOrRegionStrings)] +#endif + PDOT11_COUNTRY_OR_REGION_STRING pSupportedCountryOrRegionStrings; + ULONG uInfraNumSupportedUcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uInfraNumSupportedUcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pInfraSupportedUcastAlgoPairs; + ULONG uInfraNumSupportedMcastAlgoPairs; +#ifdef __WIDL__ + [size_is (uInfraNumSupportedMcastAlgoPairs)] +#endif + PDOT11_AUTH_CIPHER_PAIR pInfraSupportedMcastAlgoPairs; +} DOT11_EXTAP_ATTRIBUTES, *PDOT11_EXTAP_ATTRIBUTES; + +typedef struct _DOT11_INCOMING_ASSOC_STARTED_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; +} DOT11_INCOMING_ASSOC_STARTED_PARAMETERS, *PDOT11_INCOMING_ASSOC_STARTED_PARAMETERS; + +typedef struct _DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; + BOOLEAN bReAssocReq; + ULONG uAssocReqOffset; + ULONG uAssocReqSize; +} DOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS, *PDOT11_INCOMING_ASSOC_REQUEST_RECEIVED_PARAMETERS; + +typedef struct _DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; + ULONG uStatus; + UCHAR ucErrorSource; + BOOLEAN bReAssocReq; + BOOLEAN bReAssocResp; + ULONG uAssocReqOffset; + ULONG uAssocReqSize; + ULONG uAssocRespOffset; + ULONG uAssocRespSize; + DOT11_AUTH_ALGORITHM AuthAlgo; + DOT11_CIPHER_ALGORITHM UnicastCipher; + DOT11_CIPHER_ALGORITHM MulticastCipher; + ULONG uActivePhyListOffset; + ULONG uActivePhyListSize; + ULONG uBeaconOffset; + ULONG uBeaconSize; +} DOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS, *PDOT11_INCOMING_ASSOC_COMPLETION_PARAMETERS; + +typedef struct _DOT11_STOP_AP_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG ulReason; +} DOT11_STOP_AP_PARAMETERS, *PDOT11_STOP_AP_PARAMETERS; + +typedef struct _DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG ulPhyId; + __C89_NAMELESS union { + ULONG ulChannel; + ULONG ulFrequency; + }; +} DOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS, *PDOT11_PHY_FREQUENCY_ADOPTED_PARAMETERS; + +typedef struct _DOT11_CAN_SUSTAIN_AP_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG ulReason; +} DOT11_CAN_SUSTAIN_AP_PARAMETERS, *PDOT11_CAN_SUSTAIN_AP_PARAMETERS; + +typedef struct _DOT11_AVAILABLE_CHANNEL_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + ULONG uChannelNumber[1]; +} DOT11_AVAILABLE_CHANNEL_LIST, *PDOT11_AVAILABLE_CHANNEL_LIST; + +typedef struct _DOT11_AVAILABLE_FREQUENCY_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + ULONG uFrequencyValue[1]; +} DOT11_AVAILABLE_FREQUENCY_LIST, *PDOT11_AVAILABLE_FREQUENCY_LIST; + +typedef struct _DOT11_DISASSOCIATE_PEER_REQUEST { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; + USHORT usReason; +} DOT11_DISASSOCIATE_PEER_REQUEST, *PDOT11_DISASSOCIATE_PEER_REQUEST; + +typedef struct _DOT11_INCOMING_ASSOC_DECISION { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; + BOOLEAN bAccept; + USHORT usReasonCode; + ULONG uAssocResponseIEsOffset; + ULONG uAssocResponseIEsLength; +} DOT11_INCOMING_ASSOC_DECISION, *PDOT11_INCOMING_ASSOC_DECISION; + +#ifdef NWF_WFD_SUPPORTED +typedef struct _DOT11_INCOMING_ASSOC_DECISION_V2 { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerMacAddr; + BOOLEAN bAccept; + USHORT usReasonCode; + ULONG uAssocResponseIEsOffset; + ULONG uAssocResponseIEsLength; + DOT11_WFD_STATUS_CODE WFDStatus; +} DOT11_INCOMING_ASSOC_DECISION_V2, *PDOT11_INCOMING_ASSOC_DECISION_V2; +#endif + +typedef struct _DOT11_ADDITIONAL_IE { + NDIS_OBJECT_HEADER Header; + ULONG uBeaconIEsOffset; + ULONG uBeaconIEsLength; + ULONG uResponseIEsOffset; + ULONG uResponseIEsLength; +} DOT11_ADDITIONAL_IE, *PDOT11_ADDITIONAL_IE; + +typedef struct DOT11_EXTSTA_SEND_CONTEXT DOT11_EXTAP_SEND_CONTEXT, *PDOT11_EXTAP_SEND_CONTEXT; +typedef struct DOT11_EXTSTA_RECV_CONTEXT DOT11_EXTAP_RECV_CONTEXT, *PDOT11_EXTAP_RECV_CONTEXT; + +typedef struct _DOT11_PEER_STATISTICS { + ULONGLONG ullDecryptSuccessCount; + ULONGLONG ullDecryptFailureCount; + ULONGLONG ullTxPacketSuccessCount; + ULONGLONG ullTxPacketFailureCount; + ULONGLONG ullRxPacketSuccessCount; + ULONGLONG ullRxPacketFailureCount; +} DOT11_PEER_STATISTICS, *PDOT11_PEER_STATISTICS; + +typedef struct _DOT11_PEER_INFO { + DOT11_MAC_ADDRESS MacAddress; + USHORT usCapabilityInformation; + DOT11_AUTH_ALGORITHM AuthAlgo; + DOT11_CIPHER_ALGORITHM UnicastCipherAlgo; + DOT11_CIPHER_ALGORITHM MulticastCipherAlgo; + BOOLEAN bWpsEnabled; + USHORT usListenInterval; + UCHAR ucSupportedRates[MAX_NUM_SUPPORTED_RATES_V2]; + USHORT usAssociationID; + DOT11_ASSOCIATION_STATE AssociationState; + DOT11_POWER_MODE PowerMode; + LARGE_INTEGER liAssociationUpTime; + DOT11_PEER_STATISTICS Statistics; +} DOT11_PEER_INFO, *PDOT11_PEER_INFO; + +typedef struct _DOT11_PEER_INFO_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_PEER_INFO PeerInfo[1]; +} DOT11_PEER_INFO_LIST, *PDOT11_PEER_INFO_LIST; +#endif + +#ifdef NWF_VWIFI_SUPPORTED + +#define DOT11_VWIFI_COMBINATION_REVISION_1 1 +typedef struct _DOT11_VWIFI_COMBINATION { + NDIS_OBJECT_HEADER Header; + ULONG uNumInfrastructure; + ULONG uNumAdhoc; + ULONG uNumSoftAP; +} DOT11_VWIFI_COMBINATION, *PDOT11_VWIFI_COMBINATION; +#define DOT11_SIZEOF_VWIFI_COMBINATION_REVISION_1 sizeof (DOT11_VWIFI_COMBINATION) + +#define DOT11_VWIFI_COMBINATION_REVISION_2 2 + +typedef struct _DOT11_VWIFI_COMBINATION_V2 { + NDIS_OBJECT_HEADER Header; + ULONG uNumInfrastructure; + ULONG uNumAdhoc; + ULONG uNumSoftAP; + ULONG uNumVirtualStation; +} DOT11_VWIFI_COMBINATION_V2, *PDOT11_VWIFI_COMBINATION_V2; + +#define DOT11_SIZEOF_VWIFI_COMBINATION_REVISION_2 sizeof (DOT11_VWIFI_COMBINATION_V2) + +#ifdef NWF_WFD_SUPPORTED +#define DOT11_VWIFI_COMBINATION_REVISION_3 3 + +#define DOT11_SIZEOF_VWIFI_COMBINATION_REVISION_3 sizeof (DOT11_VWIFI_COMBINATION_V3) + +typedef struct _DOT11_VWIFI_COMBINATION_V3 { + NDIS_OBJECT_HEADER Header; + ULONG uNumInfrastructure; + ULONG uNumAdhoc; + ULONG uNumSoftAP; + ULONG uNumVirtualStation; + ULONG uNumWFDGroup; +} DOT11_VWIFI_COMBINATION_V3, *PDOT11_VWIFI_COMBINATION_V3; +#endif + +#define NWF_VWIFI_OID (0x04U) + +#define OID_DOT11_CREATE_MAC NWF_DEFINE_OID (0x01, NWF_VWIFI_OID, NWF_MANDATORY_OID) +#define OID_DOT11_DELETE_MAC NWF_DEFINE_OID (0x02, NWF_VWIFI_OID, NWF_MANDATORY_OID) +#define OID_DOT11_PREFERRED_MAC NWF_DEFINE_OID (0x03, NWF_VWIFI_OID, NWF_MANDATORY_OID) +#define OID_DOT11_VIRTUAL_STATION_CAPABILITY NWF_DEFINE_OID (0x04, NWF_VWIFI_OID, NWF_OPTIONAL_OID) + +#define DOT11_VWIFI_ATTRIBUTES_REVISION_1 1 +#define DOT11_MAC_PARAMETERS_REVISION_1 1 + +#define DOT11_SIZEOF_MAC_PARAMETERS_REVISION_1 sizeof (DOT11_MAC_PARAMETERS) + +typedef struct DOT11_VWIFI_ATTRIBUTES { + NDIS_OBJECT_HEADER Header; + ULONG uTotalNumOfEntries; +#ifdef __WIDL__ + [unique, size_is (uTotalNumOfEntries)] DOT11_VWIFI_COMBINATION Combinations[*]; +#else + DOT11_VWIFI_COMBINATION Combinations[1]; +#endif +} DOT11_VWIFI_ATTRIBUTES, *PDOT11_VWIFI_ATTRIBUTES; + +typedef struct _DOT11_MAC_PARAMETERS { + NDIS_OBJECT_HEADER Header; + ULONG uOpmodeMask; +} DOT11_MAC_PARAMETERS, *PDOT11_MAC_PARAMETERS; + +typedef struct DOT11_MAC_INFO { + ULONG uReserved; + ULONG uNdisPortNumber; + DOT11_MAC_ADDRESS MacAddr; +} DOT11_MAC_INFO, *PDOT11_MAC_INFO; +#endif + +#ifdef NWF_WFD_SUPPORTED + +#define DOT11_WFD_ATTRIBUTES_REVISION_1 1 + +#define DOT11_SIZEOF_WFD_ATTRIBUTES_REVISION_1 sizeof (DOT11_WFD_ATTRIBUTES) + +typedef struct _DOT11_WFD_ATTRIBUTES { + NDIS_OBJECT_HEADER Header; + ULONG uNumConcurrentGORole; + ULONG uNumConcurrentClientRole; + ULONG WPSVersionsSupported; + BOOLEAN bServiceDiscoverySupported; + BOOLEAN bClientDiscoverabilitySupported; + BOOLEAN bInfrastructureManagementSupported; + ULONG uMaxSecondaryDeviceTypeListSize; + DOT11_MAC_ADDRESS DeviceAddress; + ULONG uInterfaceAddressListCount; + PDOT11_MAC_ADDRESS pInterfaceAddressList; + ULONG uNumSupportedCountryOrRegionStrings; +#ifdef __WIDL__ + [size_is (uNumSupportedCountryOrRegionStrings)] +#endif + PDOT11_COUNTRY_OR_REGION_STRING pSupportedCountryOrRegionStrings; + ULONG uDiscoveryFilterListSize; + ULONG uGORoleClientTableSize; +} DOT11_WFD_ATTRIBUTES, *PDOT11_WFD_ATTRIBUTES; + +typedef UCHAR DOT11_WFD_GROUP_CAPABILITY; + +#define DOT11_WFD_STATUS_SUCCESS 0 +#define DOT11_WFD_STATUS_FAILED_INFORMATION_IS_UNAVAILABLE 1 +#define DOT11_WFD_STATUS_FAILED_INCOMPATIBLE_PARAMETERS 2 +#define DOT11_WFD_STATUS_FAILED_LIMIT_REACHED 3 +#define DOT11_WFD_STATUS_FAILED_INVALID_PARAMETERS 4 +#define DOT11_WFD_STATUS_FAILED_UNABLE_TO_ACCOMODATE_REQUEST 5 +#define DOT11_WFD_STATUS_FAILED_PREVIOUS_PROTOCOL_ERROR 6 +#define DOT11_WFD_STATUS_FAILED_NO_COMMON_CHANNELS 7 +#define DOT11_WFD_STATUS_FAILED_UNKNOWN_WFD_GROUP 8 +#define DOT11_WFD_STATUS_FAILED_MATCHING_MAX_INTENT 9 +#define DOT11_WFD_STATUS_FAILED_INCOMPATIBLE_PROVISIONING_METHOD 10 +#define DOT11_WFD_STATUS_FAILED_REJECTED_BY_USER 11 +#define DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER 12 +#define WFD_STATUS_SUCCEEDED(status) (((DOT11_WFD_STATUS_CODE)(status)) == DOT11_WFD_STATUS_SUCCESS || ((DOT11_WFD_STATUS_CODE)(status)) == DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER) +#define WFD_STATUS_FAILED(status) (((DOT11_WFD_STATUS_CODE)(status)) != DOT11_WFD_STATUS_SUCCESS && ((DOT11_WFD_STATUS_CODE)(status)) != DOT11_WFD_STATUS_SUCCESS_ACCEPTED_BY_USER) + +#define DOT11_WFD_MINOR_REASON_SUCCESS 0 +#define DOT11_WFD_MINOR_REASON_DISASSOCIATED_FROM_WLAN_CROSS_CONNECTION_POLICY 1 +#define DOT11_WFD_MINOR_REASON_DISASSOCIATED_NOT_MANAGED_INFRASTRUCTURE_CAPABLE 2 +#define DOT11_WFD_MINOR_REASON_DISASSOCIATED_WFD_COEXISTENCE_POLICY 3 +#define DOT11_WFD_MINOR_REASON_DISASSOCIATED_INFRASTRUCTURE_MANAGED_POLICY 4 + +#define DOT11_WPS_VERSION_1_0 0x01 +#define DOT11_WPS_VERSION_2_0 0x02 + +#define DOT11_WFD_DEVICE_CAPABILITY_SERVICE_DISCOVERY 0x01 +#define DOT11_WFD_DEVICE_CAPABILITY_P2P_CLIENT_DISCOVERABILITY 0x02 +#define DOT11_WFD_DEVICE_CAPABILITY_CONCURRENT_OPERATION 0x04 +#define DOT11_WFD_DEVICE_CAPABILITY_P2P_INFRASTRUCTURE_MANAGED 0x08 +#define DOT11_WFD_DEVICE_CAPABILITY_P2P_DEVICE_LIMIT 0x10 +#define DOT11_WFD_DEVICE_CAPABILITY_P2P_INVITATION_PROCEDURE 0x20 +#define DOT11_WFD_DEVICE_CAPABILITY_RESERVED_6 0x40 +#define DOT11_WFD_DEVICE_CAPABILITY_RESERVED_7 0x80 + +#define DOT11_WFD_GROUP_CAPABILITY_NONE 0x00 +#define DOT11_WFD_GROUP_CAPABILITY_GROUP_OWNER 0x01 +#define DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_GROUP 0x02 +#define DOT11_WFD_GROUP_CAPABILITY_GROUP_LIMIT_REACHED 0x04 +#define DOT11_WFD_GROUP_CAPABILITY_INTRABSS_DISTRIBUTION_SUPPORTED 0x08 +#define DOT11_WFD_GROUP_CAPABILITY_CROSS_CONNECTION_SUPPORTED 0x10 +#define DOT11_WFD_GROUP_CAPABILITY_PERSISTENT_RECONNECT_SUPPORTED 0x20 +#define DOT11_WFD_GROUP_CAPABILITY_IN_GROUP_FORMATION 0x40 +#define DOT11_WFD_GROUP_CAPABILITY_RESERVED_7 0x80 +#define DOT11_WFD_GROUP_CAPABILITY_EAPOL_KEY_IP_ADDRESS_ALLOCATION_SUPPORTED 0x80 + +#define DOT11_WPS_DEVICE_NAME_MAX_LENGTH 32 +#define DOT11_WPS_MAX_PASSKEY_LENGTH 8 +#define DOT11_WPS_MAX_MODEL_NAME_LENGTH 32 +#define DOT11_WPS_MAX_MODEL_NUMBER_LENGTH 32 + +typedef struct _DOT11_WFD_DEVICE_TYPE { + USHORT CategoryID; + USHORT SubCategoryID; + UCHAR OUI[4]; +} DOT11_WFD_DEVICE_TYPE, *PDOT11_WFD_DEVICE_TYPE; + +typedef struct _DOT11_WPS_DEVICE_NAME { + ULONG uDeviceNameLength; + UCHAR ucDeviceName[DOT11_WPS_DEVICE_NAME_MAX_LENGTH]; +} DOT11_WPS_DEVICE_NAME, *PDOT11_WPS_DEVICE_NAME; + +typedef struct _DOT11_WFD_CONFIGURATION_TIMEOUT { + UCHAR GOTimeout; + UCHAR ClientTimeout; +} DOT11_WFD_CONFIGURATION_TIMEOUT, *PDOT11_WFD_CONFIGURATION_TIMEOUT; + +typedef struct _DOT11_WFD_GROUP_ID { + DOT11_MAC_ADDRESS DeviceAddress; + DOT11_SSID SSID; +} DOT11_WFD_GROUP_ID, *PDOT11_WFD_GROUP_ID; + +typedef struct _DOT11_WFD_GO_INTENT { + UCHAR TieBreaker:1; + UCHAR Intent:7; +} DOT11_WFD_GO_INTENT, *PDOT11_WFD_GO_INTENT; + +typedef struct _DOT11_WFD_CHANNEL { + DOT11_COUNTRY_OR_REGION_STRING CountryRegionString; + UCHAR OperatingClass; + UCHAR ChannelNumber; +} DOT11_WFD_CHANNEL, *PDOT11_WFD_CHANNEL; + +typedef enum _DOT11_WPS_CONFIG_METHOD { + DOT11_WPS_CONFIG_METHOD_NULL = 0, + DOT11_WPS_CONFIG_METHOD_DISPLAY = 0x0008, + DOT11_WPS_CONFIG_METHOD_NFC_TAG = 0x0020, + DOT11_WPS_CONFIG_METHOD_NFC_INTERFACE = 0x0040, + DOT11_WPS_CONFIG_METHOD_PUSHBUTTON = 0x0080, + DOT11_WPS_CONFIG_METHOD_KEYPAD = 0x0100, + DOT11_WPS_CONFIG_METHOD_WFDS_DEFAULT = 0x1000 +} DOT11_WPS_CONFIG_METHOD, *PDOT11_WPS_CONFIG_METHOD; + +typedef enum _DOT11_WPS_DEVICE_PASSWORD_ID { + DOT11_WPS_PASSWORD_ID_DEFAULT = 0x0000, + DOT11_WPS_PASSWORD_ID_USER_SPECIFIED = 0x0001, + DOT11_WPS_PASSWORD_ID_MACHINE_SPECIFIED = 0x0002, + DOT11_WPS_PASSWORD_ID_REKEY = 0x0003, + DOT11_WPS_PASSWORD_ID_PUSHBUTTON = 0x0004, + DOT11_WPS_PASSWORD_ID_REGISTRAR_SPECIFIED = 0x0005, + DOT11_WPS_PASSWORD_ID_NFC_CONNECTION_HANDOVER = 0x0007, + DOT11_WPS_PASSWORD_ID_WFD_SERVICES = 0x0008, + DOT11_WPS_PASSWORD_ID_OOB_RANGE_MIN = 0x0010, + DOT11_WPS_PASSWORD_ID_OOB_RANGE_MAX = 0xffff +} DOT11_WPS_DEVICE_PASSWORD_ID, *PDOT11_WPS_DEVICE_PASSWORD_ID; + +#define DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS_REVISION_1 1 +#define DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +#define DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1 1 +#define DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +#define DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1 1 +#define DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS_REVISION_1 1 + +#define DOT11_SIZEOF_WFD_DISCOVER_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS) +#define DOT11_SIZEOF_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS) +#define DOT11_SIZEOF_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS) +#define DOT11_SIZEOF_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS) +#define DOT11_SIZEOF_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS) +#define DOT11_SIZEOF_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS) + +#define DOT11_WFD_DISCOVER_COMPLETE_MAX_LIST_SIZE 128 + +typedef struct _DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + NDIS_STATUS Status; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + ULONG uListOffset; + ULONG uListLength; +} DOT11_WFD_DISCOVER_COMPLETE_PARAMETERS, *PDOT11_WFD_DISCOVER_COMPLETE_PARAMETERS; + +typedef struct _DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS, *PDOT11_GO_NEGOTIATION_REQUEST_SEND_COMPLETE_PARAMETERS; + +typedef struct _DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS, *PDOT11_RECEIVED_GO_NEGOTIATION_REQUEST_PARAMETERS; + +typedef struct _DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS, *PDOT11_GO_NEGOTIATION_RESPONSE_SEND_COMPLETE_PARAMETERS; + +typedef struct _DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID ResponseContext; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS, *PDOT11_RECEIVED_GO_NEGOTIATION_RESPONSE_PARAMETERS; + +typedef struct _DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS, *PDOT11_GO_NEGOTIATION_CONFIRMATION_SEND_COMPLETE_PARAMETERS; + +#define DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS, *PDOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS; +#define DOT11_SIZEOF_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_GO_NEGOTIATION_CONFIRMATION_PARAMETERS) + +#define DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_MAC_ADDRESS ReceiverAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS, *PDOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS; +#define DOT11_SIZEOF_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_INVITATION_REQUEST_SEND_COMPLETE_PARAMETERS) + +#define DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS TransmitterDeviceAddress; + DOT11_MAC_ADDRESS BSSID; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS, *PDOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS; +#define DOT11_SIZEOF_RECEIVED_INVITATION_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_INVITATION_REQUEST_PARAMETERS) + +#define DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS ReceiverDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS, *PDOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS; +#define DOT11_SIZEOF_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_INVITATION_RESPONSE_SEND_COMPLETE_PARAMETERS) + +#define DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS TransmitterDeviceAddress; + DOT11_MAC_ADDRESS BSSID; + DOT11_DIALOG_TOKEN DialogToken; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS, *PDOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS; +#define DOT11_SIZEOF_RECEIVED_INVITATION_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_INVITATION_RESPONSE_PARAMETERS) + +#define DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +typedef struct _DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_MAC_ADDRESS ReceiverAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS, *PDOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS; + +#define NWF_WFD_DEVICE_OID (0x05U) +#define NWF_WFD_ROLE_OID (0x06U) + +#define DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1 1 +#define DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 1 +#define DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1 1 +#define DOT11_WFD_DEVICE_CAPABILITY_CONFIG_REVISION_1 1 +#define DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG_REVISION_1 1 +#define DOT11_WFD_DEVICE_INFO_REVISION_1 1 +#define DOT11_WFD_DISCOVER_DEVICE_FILTER_REVISION_1 +#define DOT11_SIZEOF_WFD_DISCOVER_DEVICE_FILTER_REVISION_1 +#define DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST_REVISION_1 1 +#define DOT11_WFD_DISCOVER_REQUEST_REVISION_1 1 +#define DOT11_WFD_ADDITIONAL_IE_REVISION_1 1 + +#define DOT11_SIZEOF_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_PROVISION_DISCOVERY_REQUEST_SEND_COMPLETE_PARAMETERS) +#define DOT11_SIZEOF_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS) +#define DOT11_SIZEOF_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS_REVISION_1 sizeof (DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS) +#define DOT11_SIZEOF_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS) +#define DOT11_SIZEOF_WFD_DEVICE_CAPABILITY_CONFIG_1 sizeof (DOT11_WFD_DEVICE_CAPABILITY_CONFIG) +#define DOT11_SIZEOF_WFD_GROUP_CAPABILITY_CONFIG_1 sizeof (DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG) +#define DOT11_SIZEOF_WFD_DEVICE_INFO_REVISION_1 sizeof (DOT11_WFD_DEVICE_INFO) +#define DOT11_SIZEOF_WFD_SECONDARY_DEVICE_TYPE_LIST_REVISION_1 FIELD_OFFSET (DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST, SecondaryDeviceTypes) +#define DOT11_SIZEOF_WFD_DISCOVER_REQUEST_REVISION_1 sizeof (DOT11_WFD_DISCOVER_REQUEST) + +#define OID_DOT11_WFD_DEVICE_CAPABILITY NWF_DEFINE_OID (0x01, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_GROUP_OWNER_CAPABILITY NWF_DEFINE_OID (0x02, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_DEVICE_INFO NWF_DEFINE_OID (0x03, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST NWF_DEFINE_OID (0x04, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_DISCOVER_REQUEST NWF_DEFINE_OID (0x05, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_ENUM_DEVICE_LIST NWF_DEFINE_OID (0x06, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_LISTEN_STATE_DISCOVERABILITY NWF_DEFINE_OID (0x07, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_ADDITIONAL_IE NWF_DEFINE_OID (0x08, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +#define DOT11_WFD_DEVICE_ENTRY_GET_DEVICE_SIZE(DEV) (sizeof (DOT11_WFD_DEVICE_ENTRY) + (DEV)->uBeaconIEsLength + (DEV)->uProbeResponseIEsLength) + +typedef struct _DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS TransmitterDeviceAddress; + DOT11_MAC_ADDRESS BSSID; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS, *PDOT11_RECEIVED_PROVISION_DISCOVERY_REQUEST_PARAMETERS; + +typedef struct _DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS ReceiverDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + NDIS_STATUS Status; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS, *PDOT11_PROVISION_DISCOVERY_RESPONSE_SEND_COMPLETE_PARAMETERS; + +typedef struct _DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS TransmitterDeviceAddress; + DOT11_MAC_ADDRESS BSSID; + DOT11_DIALOG_TOKEN DialogToken; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS, *PDOT11_RECEIVED_PROVISION_DISCOVERY_RESPONSE_PARAMETERS; + +typedef struct _DOT11_WFD_DEVICE_CAPABILITY_CONFIG { + NDIS_OBJECT_HEADER Header; + BOOLEAN bServiceDiscoveryEnabled; + BOOLEAN bClientDiscoverabilityEnabled; + BOOLEAN bConcurrentOperationSupported; + BOOLEAN bInfrastructureManagementEnabled; + BOOLEAN bDeviceLimitReached; + BOOLEAN bInvitationProcedureEnabled; + ULONG WPSVersionsEnabled; +} DOT11_WFD_DEVICE_CAPABILITY_CONFIG, *PDOT11_WFD_DEVICE_CAPABILITY_CONFIG; + +typedef struct _DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG { + NDIS_OBJECT_HEADER Header; + BOOLEAN bPersistentGroupEnabled; + BOOLEAN bIntraBSSDistributionSupported; + BOOLEAN bCrossConnectionSupported; + BOOLEAN bPersistentReconnectSupported; + BOOLEAN bGroupFormationEnabled; + ULONG uMaximumGroupLimit; +} DOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG, *PDOT11_WFD_GROUP_OWNER_CAPABILITY_CONFIG; + +typedef struct _DOT11_WFD_DEVICE_INFO { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS DeviceAddress; + USHORT ConfigMethods; + DOT11_WFD_DEVICE_TYPE PrimaryDeviceType; + DOT11_WPS_DEVICE_NAME DeviceName; +} DOT11_WFD_DEVICE_INFO, *PDOT11_WFD_DEVICE_INFO; + +typedef struct _DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST { + NDIS_OBJECT_HEADER Header; + ULONG uNumOfEntries; + ULONG uTotalNumOfEntries; + DOT11_WFD_DEVICE_TYPE SecondaryDeviceTypes[1]; +} DOT11_WFD_SECONDARY_DEVICE_TYPE_LIST, *PDOT11_WFD_SECONDARY_DEVICE_TYPE_LIST; + +typedef enum _DOT11_WFD_DISCOVER_TYPE { + dot11_wfd_discover_type_scan_only = 1, + dot11_wfd_discover_type_find_only = 2, + dot11_wfd_discover_type_auto = 3, + dot11_wfd_discover_type_scan_social_channels = 4, + dot11_wfd_discover_type_forced = 0x80000000 +} DOT11_WFD_DISCOVER_TYPE, *PDOT11_WFD_DISCOVER_TYPE; + +typedef enum _DOT11_WFD_SCAN_TYPE { + dot11_wfd_scan_type_active = 1, + dot11_wfd_scan_type_passive = 2, + dot11_wfd_scan_type_auto = 3 +} DOT11_WFD_SCAN_TYPE, *PDOT11_WFD_SCAN_TYPE; + +#define DISCOVERY_FILTER_BITMASK_DEVICE 0x1 +#define DISCOVERY_FILTER_BITMASK_GO 0x2 +#define DISCOVERY_FILTER_BITMASK_ANY 0xf + +typedef struct _DOT11_WFD_DISCOVER_DEVICE_FILTER { + DOT11_MAC_ADDRESS DeviceID; + UCHAR ucBitmask; + DOT11_SSID GroupSSID; +} DOT11_WFD_DISCOVER_DEVICE_FILTER, *PDOT11_WFD_DISCOVER_DEVICE_FILTER; + +typedef struct _DOT11_WFD_DISCOVER_REQUEST { + NDIS_OBJECT_HEADER Header; + DOT11_WFD_DISCOVER_TYPE DiscoverType; + DOT11_WFD_SCAN_TYPE ScanType; + ULONG uDiscoverTimeout; + ULONG uDeviceFilterListOffset; + ULONG uNumDeviceFilters; + ULONG uIEsOffset; + ULONG uIEsLength; + BOOLEAN bForceScanLegacyNetworks; +} DOT11_WFD_DISCOVER_REQUEST, *PDOT11_WFD_DISCOVER_REQUEST; + +#ifndef __WIDL__ +#define DOT11_DEVICE_ENTRY_BYTE_ARRAY_REVISION_1 1 +typedef struct _DOT11_WFD_DEVICE_ENTRY { + ULONG uPhyId; + DOT11_BSS_ENTRY_PHY_SPECIFIC_INFO PhySpecificInfo; + DOT11_MAC_ADDRESS dot11BSSID; + DOT11_BSS_TYPE dot11BSSType; + DOT11_MAC_ADDRESS TransmitterAddress; + LONG lRSSI; + ULONG uLinkQuality; + USHORT usBeaconPeriod; + ULONGLONG ullTimestamp; + ULONGLONG ullBeaconHostTimestamp; + ULONGLONG ullProbeResponseHostTimestamp; + USHORT usCapabilityInformation; + ULONG uBeaconIEsOffset; + ULONG uBeaconIEsLength; + ULONG uProbeResponseIEsOffset; + ULONG uProbeResponseIEsLength; +} DOT11_WFD_DEVICE_ENTRY, *PDOT11_WFD_DEVICE_ENTRY; +#endif + +#define DOT11_WFD_DEVICE_NOT_DISCOVERABLE 0 +#define DOT11_WFD_DEVICE_AUTO_AVAILABILITY 16 +#define DOT11_WFD_DEVICE_HIGH_AVAILABILITY 24 + +typedef struct _DOT11_WFD_ADDITIONAL_IE { + NDIS_OBJECT_HEADER Header; + ULONG uBeaconIEsOffset; + ULONG uBeaconIEsLength; + ULONG uProbeResponseIEsOffset; + ULONG uProbeResponseIEsLength; + ULONG uDefaultRequestIEsOffset; + ULONG uDefaultRequestIEsLength; +} DOT11_WFD_ADDITIONAL_IE, *PDOT11_WFD_ADDITIONAL_IE; + +#define DOT11_SIZEOF_WFD_ADDITIONAL_IE_REVISION_1 sizeof (DOT11_WFD_ADDITIONAL_IE) + +#define DOT11_WFD_ADDITIONAL_IE_GET_HEADER_SIZE(ADDIE) (sizeof (DOT11_WFD_ADDITIONAL_IE)) +#define DOT11_WFD_ADDITIONAL_IE_GET_HEADER_END(ADDIE) (((PCHAR) (ADDIE))+sizeof (DOT11_WFD_ADDITIONAL_IE)) +#define DOT11_WFD_ADDITIONAL_IE_GET_BEACON_IE(ADDIE) (((PCHAR) (ADDIE))+ (ADDIE)->uBeaconIEsOffset) +#define DOT11_WFD_ADDITIONAL_IE_SET_BEACON_IE(ADDIE, B) (ADDIE)->uBeaconIEsOffset = (DWORD) (((SIZE_T) (B))- ((SIZE_T) (ADDIE))) +#define DOT11_WFD_ADDITIONAL_IE_GET_BEACON_IE_SIZE(ADDIE) ((ADDIE)->uBeaconIEsLength) +#define DOT11_WFD_ADDITIONAL_IE_SET_BEACON_IE_SIZE(ADDIE, SZ) (ADDIE)->uBeaconIEsLength = (DWORD) (SZ) +#define DOT11_WFD_ADDITIONAL_IE_GET_BEACON_IE_END(ADDIE) (((PCHAR) (ADDIE))+ (ADDIE)->uBeaconIEsOffset+DOT11_WFD_ADDITIONAL_IE_GET_BEACON_IE_SIZE (ADDIE)) +#define DOT11_WFD_ADDITIONAL_IE_GET_PROBE_RESPONSE_IE(ADDIE) (((PCHAR) (ADDIE))+ (ADDIE)->uProbeResponseIEsOffset) +#define DOT11_WFD_ADDITIONAL_IE_SET_PROBE_RESPONSE_IE(ADDIE, _response_) (ADDIE)->uProbeResponseIEsOffset = (DWORD) (((SIZE_T) (_response_))- ((SIZE_T) (ADDIE))) +#define DOT11_WFD_ADDITIONAL_IE_GET_PROBE_RESPONSE_IE_SIZE(ADDIE) ((ADDIE)->uProbeResponseIEsLength) +#define DOT11_WFD_ADDITIONAL_IE_SET_PROBE_RESPONSE_IE_SIZE(ADDIE, SZ) (ADDIE)->uProbeResponseIEsLength = (DWORD) (SZ) +#define DOT11_WFD_ADDITIONAL_IE_GET_PROBE_RESPONSE_IE_END(ADDIE) (((PCHAR) (ADDIE))+ (ADDIE)->uProbeResponseIEsOffset+DOT11_WFD_ADDITIONAL_IE_GET_PROBE_RESPONSE_IE_SIZE (ADDIE)) +#define DOT11_WFD_ADDITIONAL_IE_GET_PROBE_REQUEST_IE(ADDIE) (((PCHAR) (ADDIE))+ (ADDIE)->uDefaultRequestIEsOffset) +#define DOT11_WFD_ADDITIONAL_IE_SET_PROBE_REQUEST_IE(ADDIE, REQ) (ADDIE)->uDefaultRequestIEsOffset = (DWORD) (((SIZE_T) (REQ))- ((SIZE_T) (ADDIE))) +#define DOT11_WFD_ADDITIONAL_IE_GET_PROBE_REQUEST_IE_SIZE(ADDIE) ((ADDIE)->uDefaultRequestIEsLength) +#define DOT11_WFD_ADDITIONAL_IE_SET_PROBE_REQUEST_IE_SIZE(ADDIE, SZ) (ADDIE)->uDefaultRequestIEsLength = (DWORD) (SZ) +#define DOT11_WFD_ADDITIONAL_IE_GET_ALL_IE_SIZE(ADDIE) ((ADDIE)->uBeaconIEsLength + (ADDIE)->uProbeResponseIEsLength + (ADDIE)->uDefaultRequestIEsLength) +#define DOT11_WFD_ADDITIONAL_IE_GET_TOTAL_SIZE(ADDIE) (DOT11_WFD_ADDITIONAL_IE_GET_HEADER_SIZE (ADDIE) + DOT11_WFD_ADDITIONAL_IE_GET_ALL_IE_SIZE (ADDIE)) + +#define OID_DOT11_WFD_FLUSH_DEVICE_LIST NWF_DEFINE_OID (0x09, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_SEND_GO_NEGOTIATION_REQUEST NWF_DEFINE_OID (0x0a, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +#define DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1 1 + +typedef struct _DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + ULONG uSendTimeout; + DOT11_WFD_GO_INTENT GroupOwnerIntent; + DOT11_WFD_CONFIGURATION_TIMEOUT MinimumConfigTimeout; + DOT11_MAC_ADDRESS IntendedInterfaceAddress; + DOT11_WFD_GROUP_CAPABILITY GroupCapability; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS, *PDOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS; + +#define DOT11_SIZEOF_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_GO_NEGOTIATION_REQUEST_PARAMETERS) + +#define OID_DOT11_WFD_SEND_GO_NEGOTIATION_RESPONSE NWF_DEFINE_OID (0x0b, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +#define DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1 1 + +typedef struct _DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uSendTimeout; + DOT11_WFD_STATUS_CODE Status; + DOT11_WFD_GO_INTENT GroupOwnerIntent; + DOT11_WFD_CONFIGURATION_TIMEOUT MinimumConfigTimeout; + DOT11_MAC_ADDRESS IntendedInterfaceAddress; + DOT11_WFD_GROUP_CAPABILITY GroupCapability; + DOT11_WFD_GROUP_ID GroupID; + BOOLEAN bUseGroupID; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS, *PDOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS; + +#define DOT11_SIZEOF_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_GO_NEGOTIATION_RESPONSE_PARAMETERS) + +#define OID_DOT11_WFD_SEND_GO_NEGOTIATION_CONFIRMATION NWF_DEFINE_OID (0x0c, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +#define DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1 1 + +typedef struct _DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS PeerDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID ResponseContext; + ULONG uSendTimeout; + DOT11_WFD_STATUS_CODE Status; + DOT11_WFD_GROUP_CAPABILITY GroupCapability; + DOT11_WFD_GROUP_ID GroupID; + BOOLEAN bUseGroupID; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS, *PDOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS; + +#define DOT11_SIZEOF_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_GO_NEGOTIATION_CONFIRMATION_PARAMETERS) + +#define OID_DOT11_WFD_SEND_INVITATION_REQUEST NWF_DEFINE_OID (0x0d, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +typedef struct _DOT11_WFD_INVITATION_FLAGS { + UCHAR InvitationType:1; + UCHAR Reserved:7; +} DOT11_WFD_INVITATION_FLAGS, *PDOT11_WFD_INVITATION_FLAGS; + +typedef struct _DOT11_SEND_INVITATION_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_DIALOG_TOKEN DialogToken; + DOT11_MAC_ADDRESS PeerDeviceAddress; + ULONG uSendTimeout; + DOT11_WFD_CONFIGURATION_TIMEOUT MinimumConfigTimeout; + DOT11_WFD_INVITATION_FLAGS InvitationFlags; + DOT11_MAC_ADDRESS GroupBSSID; + BOOLEAN bUseGroupBSSID; + DOT11_WFD_CHANNEL OperatingChannel; + BOOLEAN bUseSpecifiedOperatingChannel; + DOT11_WFD_GROUP_ID GroupID; + BOOLEAN bLocalGO; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_INVITATION_REQUEST_PARAMETERS, *PDOT11_SEND_INVITATION_REQUEST_PARAMETERS; + +typedef struct _DOT11_SEND_INVITATION_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS ReceiverDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uSendTimeout; + DOT11_WFD_STATUS_CODE Status; + DOT11_WFD_CONFIGURATION_TIMEOUT MinimumConfigTimeout; + DOT11_MAC_ADDRESS GroupBSSID; + BOOLEAN bUseGroupBSSID; + DOT11_WFD_CHANNEL OperatingChannel; + BOOLEAN bUseSpecifiedOperatingChannel; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_INVITATION_RESPONSE_PARAMETERS, *PDOT11_SEND_INVITATION_RESPONSE_PARAMETERS; + +#define DOT11_SIZEOF_SEND_INVITATION_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_INVITATION_REQUEST_PARAMETERS) +#define DOT11_SIZEOF_SEND_INVITATION_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_INVITATION_RESPONSE_PARAMETERS) + +#define OID_DOT11_WFD_SEND_INVITATION_RESPONSE NWF_DEFINE_OID (0x0e, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_SEND_PROVISION_DISCOVERY_REQUEST NWF_DEFINE_OID (0x0f, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) + +#define DOT11_SEND_INVITATION_REQUEST_PARAMETERS_REVISION_1 1 +#define DOT11_SEND_INVITATION_RESPONSE_PARAMETERS_REVISION_1 1 +#define DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1 1 + +typedef struct _DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_DIALOG_TOKEN DialogToken; + DOT11_MAC_ADDRESS PeerDeviceAddress; + ULONG uSendTimeout; + DOT11_WFD_GROUP_CAPABILITY GroupCapability; + DOT11_WFD_GROUP_ID GroupID; + BOOLEAN bUseGroupID; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS, *PDOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS; + +typedef struct _DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MAC_ADDRESS ReceiverDeviceAddress; + DOT11_DIALOG_TOKEN DialogToken; + PVOID RequestContext; + ULONG uSendTimeout; + ULONG uIEsOffset; + ULONG uIEsLength; +} DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS, *PDOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS; + +typedef struct _DOT11_WFD_DEVICE_LISTEN_CHANNEL { + NDIS_OBJECT_HEADER Header; + UCHAR ChannelNumber; +} DOT11_WFD_DEVICE_LISTEN_CHANNEL, *PDOT11_WFD_DEVICE_LISTEN_CHANNEL; + +typedef struct _DOT11_WFD_GROUP_START_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_WFD_CHANNEL AdvertisedOperatingChannel; +} DOT11_WFD_GROUP_START_PARAMETERS, *PDOT11_WFD_GROUP_START_PARAMETERS; + +typedef struct _DOT11_WFD_GROUP_JOIN_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_WFD_CHANNEL GOOperatingChannel; + ULONG GOConfigTime; + BOOLEAN bInGroupFormation; + BOOLEAN bWaitForWPSReady; +} DOT11_WFD_GROUP_JOIN_PARAMETERS, *PDOT11_WFD_GROUP_JOIN_PARAMETERS; + +#define OID_DOT11_WFD_SEND_PROVISION_DISCOVERY_RESPONSE NWF_DEFINE_OID (0x10, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_GET_DIALOG_TOKEN NWF_DEFINE_OID (0x11, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_STOP_DISCOVERY NWF_DEFINE_OID (0x12, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_DEVICE_LISTEN_CHANNEL NWF_DEFINE_OID (0x13, NWF_WFD_DEVICE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_DESIRED_GROUP_ID NWF_DEFINE_OID (0x01, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_START_GO_REQUEST NWF_DEFINE_OID (0x02, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_GROUP_START_PARAMETERS NWF_DEFINE_OID (0x03, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_CONNECT_TO_GROUP_REQUEST NWF_DEFINE_OID (0x04, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_DISCONNECT_FROM_GROUP_REQUEST NWF_DEFINE_OID (0x05, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_WFD_GROUP_JOIN_PARAMETERS NWF_DEFINE_OID (0x06, NWF_WFD_ROLE_OID, NWF_MANDATORY_OID) + +#define DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1 1 +#define DOT11_WFD_DEVICE_LISTEN_CHANNEL_REVISION_1 1 +#define DOT11_WFD_GROUP_JOIN_PARAMETERS_REVISION_1 1 +#define DOT11_WFD_GROUP_START_PARAMETERS_REVISION_1 1 + +#define DOT11_SIZEOF_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_PROVISION_DISCOVERY_REQUEST_PARAMETERS) +#define DOT11_SIZEOF_WFD_DEVICE_LISTEN_CHANNEL_REVISION_1 sizeof (DOT11_WFD_DEVICE_LISTEN_CHANNEL) +#define DOT11_SIZEOF_WFD_GROUP_START_PARAMETERS_REVISION_1 sizeof (DOT11_WFD_GROUP_START_PARAMETERS) +#define DOT11_SIZEOF_WFD_GROUP_JOIN_PARAMETERS_REVISION_1 sizeof (DOT11_WFD_GROUP_JOIN_PARAMETERS) +#define DOT11_SIZEOF_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS_REVISION_1 sizeof (DOT11_SEND_PROVISION_DISCOVERY_RESPONSE_PARAMETERS) +#endif + +#ifdef NWF_POWER_SAVE_SUPPORTED +#define NWF_POWER_SAVE_OID (0x07U) + +#define OID_DOT11_POWER_MGMT_MODE_AUTO_ENABLED NWF_DEFINE_OID (0x01, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_POWER_MGMT_MODE_STATUS NWF_DEFINE_OID (0x02, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID) +#define OID_DOT11_OFFLOAD_NETWORK_LIST NWF_DEFINE_OID (0x03, NWF_POWER_SAVE_OID, NWF_MANDATORY_OID) + +#define DOT11_MAX_CHANNEL_HINTS 4 +#define DOT11_INVALID_CHANNEL_NUMBER 0 + +#define DOT11_NLO_FLAG_STOP_NLO_INDICATION 0x00000001 +#define DOT11_NLO_FLAG_SCAN_ON_AOAC_PLATFORM 0x00000002 +#define DOT11_NLO_FLAG_SCAN_AT_SYSTEM_RESUME 0x00000004 + +#define DOT11_POWER_MGMT_AUTO_MODE_ENABLED_REVISION_1 1 +#define DOT11_OFFLOAD_NETWORK_LIST_REVISION_1 1 +#define DOT11_POWER_MGMT_MODE_STATUS_INFO_REVISION_1 1 +#define DOT11_SIZEOF_OFFLOAD_NETWORK_LIST_INFO_REVISION_1(UNOE) (FIELD_OFFSET (DOT11_OFFLOAD_NETWORK_LIST_INFO, offloadNetworkList)+ sizeof (DOT11_OFFLOAD_NETWORK) *(UNOE)) +#define DOT11_MIN_SIZEOF_OFFLOAD_NETWORK_LIST_INFO_REVISION_1 (FIELD_OFFSET (DOT11_OFFLOAD_NETWORK_LIST_INFO, offloadNetworkList)) + +#define DOT11_SIZEOF_POWER_MGMT_AUTO_MODE_ENABLE_INFO_REVISION_1 sizeof (DOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO) +#define DOT11_SIZEOF_POWER_MGMT_MODE_STATUS_INFO_REVISION_1 sizeof (DOT11_POWER_MGMT_MODE_STATUS_INFO) + +typedef struct _DOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO { + NDIS_OBJECT_HEADER Header; + BOOLEAN bEnabled; +} DOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO, *PDOT11_POWER_MGMT_AUTO_MODE_ENABLED_INFO; + +typedef enum _DOT11_POWER_MODE_REASON { + dot11_power_mode_reason_no_change =0, + dot11_power_mode_reason_noncompliant_AP =1, + dot11_power_mode_reason_legacy_WFD_device =2, + dot11_power_mode_reason_compliant_AP =3, + dot11_power_mode_reason_compliant_WFD_device=4, + dot11_power_mode_reason_others =5 +} DOT11_POWER_MODE_REASON; + +typedef struct _DOT11_POWER_MGMT_MODE_STATUS_INFO { + NDIS_OBJECT_HEADER Header; + DOT11_POWER_MODE PowerSaveMode; + ULONG uPowerSaveLevel; + DOT11_POWER_MODE_REASON Reason; +} DOT11_POWER_MGMT_MODE_STATUS_INFO, *PDOT11_POWER_MGMT_MODE_STATUSINFO; + +typedef struct DOT11_CHANNEL_HINT { + DOT11_PHY_TYPE Dot11PhyType; + ULONG uChannelNumber; +} DOT11_CHANNEL_HINT, *PDOT11_CHANNEL_HINT; + +typedef struct DOT11_OFFLOAD_NETWORK { + DOT11_SSID Ssid; + DOT11_CIPHER_ALGORITHM UnicastCipher; + DOT11_AUTH_ALGORITHM AuthAlgo; + DOT11_CHANNEL_HINT Dot11ChannelHints[DOT11_MAX_CHANNEL_HINTS]; +} DOT11_OFFLOAD_NETWORK, *PDOT11_OFFLOAD_NETWORK; + +typedef struct _DOT11_OFFLOAD_NETWORK_LIST_INFO { + NDIS_OBJECT_HEADER Header; + ULONG ulFlags; + ULONG FastScanPeriod; + ULONG FastScanIterations; + ULONG SlowScanPeriod; + ULONG uNumOfEntries; + DOT11_OFFLOAD_NETWORK offloadNetworkList[1]; +} DOT11_OFFLOAD_NETWORK_LIST_INFO, *PDOT11_OFFLOAD_NETWORK_LIST_INFO; +#endif + +typedef struct _DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS { + NDIS_OBJECT_HEADER Header; + NDIS_STATUS Status; +} DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS, *PDOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS; + +#define NWF_MANUFACTURING_OID (0x08U) + +#define DOT11_SIZEOF_OFFLOAD_NETWORK_STATUS_PARAMETERS_REVISION_1 sizeof (DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS) + +#define DOT11_MANUFACTURING_TEST_REVISION_1 1 +#define DOT11_MANUFACTURING_CALLBACK_REVISION_1 1 +#define DOT11_OFFLOAD_NETWORK_STATUS_PARAMETERS_REVISION_1 1 + +#define OID_DOT11_MANUFACTURING_TEST NWF_DEFINE_OID (0x01, NWF_MANUFACTURING_OID, NWF_OPTIONAL_OID) + +typedef enum _DOT11_MANUFACTURING_TEST_TYPE { + dot11_manufacturing_test_unknown = 0, + dot11_manufacturing_test_self_start = 1, + dot11_manufacturing_test_self_query_result = 2, + dot11_manufacturing_test_rx = 3, + dot11_manufacturing_test_tx = 4, + dot11_manufacturing_test_query_adc = 5, + dot11_manufacturing_test_set_data = 6, + dot11_manufacturing_test_query_data = 7, + dot11_manufacturing_test_sleep = 8, + dot11_manufacturing_test_awake = 9, + dot11_manufacturing_test_IHV_start = 0x80000000, + dot11_manufacturing_test_IHV_end = 0xffffffff +} DOT11_MANUFACTURING_TEST_TYPE, *PDOT11_MANUFACTURING_TEST_TYPE; + +typedef struct _DOT11_MANUFACTURING_TEST { + DOT11_MANUFACTURING_TEST_TYPE dot11ManufacturingTestType; + ULONG uBufferLength; + UCHAR ucBuffer[1]; +} DOT11_MANUFACTURING_TEST, *PDOT11_MANUFACTURING_TEST; + +typedef enum DOT11_MANUFACTURING_SELF_TEST_TYPE { + DOT11_MANUFACTURING_SELF_TEST_TYPE_INTERFACE = 1, + DOT11_MANUFACTURING_SELF_TEST_TYPE_RF_INTERFACE, + DOT11_MANUFACTURING_SELF_TEST_TYPE_BT_COEXISTENCE +} DOT11_MANUFACTURING_SELF_TEST_TYPE, *PDOT11_MANUFACTURING_SELF_TEST_TYPE; + +typedef struct _DOT11_MANUFACTURING_SELF_TEST_SET_PARAMS { + DOT11_MANUFACTURING_SELF_TEST_TYPE SelfTestType; + ULONG uTestID; + ULONG uPinBitMask; + PVOID pvContext; + ULONG uBufferLength; + UCHAR ucBufferIn[1]; +} DOT11_MANUFACTURING_SELF_TEST_SET_PARAMS, *PDOT11_MANUFACTURING_SELF_TEST_SET_PARAMS; + +typedef struct _DOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS { + DOT11_MANUFACTURING_SELF_TEST_TYPE SelfTestType; + ULONG uTestID; + BOOLEAN bResult; + ULONG uPinFailedBitMask; + PVOID pvContext; + ULONG uBytesWrittenOut; + UCHAR ucBufferOut[1]; +} DOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS, *PDOT11_MANUFACTURING_SELF_TEST_QUERY_RESULTS; + +typedef enum DOT11_BAND { + dot11_band_2p4g = 1, + dot11_band_4p9g, + dot11_band_5g +} DOT11_BAND, *PDOT11_BAND; + +typedef struct _DOT11_MANUFACTURING_FUNCTIONAL_TEST_RX { + BOOLEAN bEnabled; + DOT11_BAND Dot11Band; + ULONG uChannel; + LONG PowerLevel; +} DOT11_MANUFACTURING_FUNCTIONAL_TEST_RX, *PDOT11_MANUFACTURING_FUNCTIONAL_TEST_RX; + +typedef struct _DOT11_MANUFACTURING_FUNCTIONAL_TEST_TX { + BOOLEAN bEnable; + BOOLEAN bOpenLoop; + DOT11_BAND Dot11Band; + ULONG uChannel; + ULONG uSetPowerLevel; + LONG ADCPowerLevel; +} DOT11_MANUFACTURING_FUNCTIONAL_TEST_TX, *PDOT11_MANUFACTURING_FUNCTIONAL_TEST_TX; + +typedef struct _DOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC { + DOT11_BAND Dot11Band; + ULONG uChannel; + LONG ADCPowerLevel; +} DOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC, *PDOT11_MANUFACTURING_FUNCTIONAL_TEST_QUERY_ADC; + +typedef struct _DOT11_MANUFACTURING_TEST_SET_DATA { + ULONG uKey; + ULONG uOffset; + ULONG uBufferLength; + UCHAR ucBufferIn[1]; +} DOT11_MANUFACTURING_TEST_SET_DATA, *PDOT11_MANUFACTURING_TEST_SET_DATA; + +typedef struct _DOT11_MANUFACTURING_TEST_QUERY_DATA { + ULONG uKey; + ULONG uOffset; + ULONG uBufferLength; + ULONG uBytesRead; + UCHAR ucBufferOut[1]; +} DOT11_MANUFACTURING_TEST_QUERY_DATA, *PDOT11_MANUFACTURING_TEST_QUERY_DATA; + +typedef struct _DOT11_MANUFACTURING_TEST_SLEEP { + ULONG uSleepTime; + PVOID pvContext; +} DOT11_MANUFACTURING_TEST_SLEEP, *PDOT11_MANUFACTURING_TEST_SLEEP; + +typedef enum _DOT11_MANUFACTURING_CALLBACK_TYPE { + dot11_manufacturing_callback_unknown = 0, + dot11_manufacturing_callback_self_test_complete = 1, + dot11_manufacturing_callback_sleep_complete = 2, + dot11_manufacturing_callback_IHV_start = 0x80000000, + dot11_manufacturing_callback_IHV_end = 0xffffffff +} DOT11_MANUFACTURING_CALLBACK_TYPE, *PDOT11_MANUFACTURING_CALLBACK_TYPE; + +typedef struct DOT11_MANUFACTURING_CALLBACK_PARAMETERS { + NDIS_OBJECT_HEADER Header; + DOT11_MANUFACTURING_CALLBACK_TYPE dot11ManufacturingCallbackType; + ULONG uStatus; + PVOID pvContext; +} DOT11_MANUFACTURING_CALLBACK_PARAMETERS, *PDOT11_MANUFACTURING_CALLBACK_PARAMETERS; +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windows.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windows.h new file mode 100644 index 00000000..d506d348 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windows.h @@ -0,0 +1,141 @@ +/** + * 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 _WINDOWS_ +#define _WINDOWS_ + +#include <_mingw.h> +#include + +/* Some kludge for Obj-C. + For Obj-C the 'interface' is a keyword, but interface is used + in midl-code too. To resolve this conflict for at least the + main windows API header, we define it here temporary. */ +#ifdef __OBJC__ +#pragma push_macro("interface") +#undef interface +#define interface struct +#endif + +#ifndef _INC_WINDOWS +#define _INC_WINDOWS + +#if defined(RC_INVOKED) && !defined(NOWINRES) + +#include +#else + +#ifdef RC_INVOKED +#define NOATOM +#define NOGDI +#define NOGDICAPMASKS +#define NOMETAFILE +#define NOMINMAX +#define NOMSG +#define NOOPENFILE +#define NORASTEROPS +#define NOSCROLL +#define NOSOUND +#define NOSYSMETRICS +#define NOTEXTMETRIC +#define NOWH +#define NOCOMM +#define NOKANJI +#define NOCRYPT +#define NOMCX +#endif + +#if defined(__x86_64) && \ + !(defined(_X86_) || defined(__i386__) || defined(_IA64_)) +#if !defined(_AMD64_) +#define _AMD64_ +#endif +#endif /* _AMD64_ */ + +#if defined(__ia64__) && \ + !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_)) +#if !defined(_IA64_) +#define _IA64_ +#endif +#endif /* _IA64_ */ + +#ifndef RC_INVOKED +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef WIN32_LEAN_AND_MEAN +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if defined(__USE_W32_SOCKETS) || !defined(__CYGWIN__) +#include +#endif +#ifndef NOCRYPT +#include +#include +#include +#endif + +#ifndef NOUSER +#ifndef NOGDI +#include +#ifdef INC_OLE1 +#include +#else +#include +#endif +#include +#endif +#endif +#endif + +#ifndef __CYGWIN__ +#include +#endif + +#ifdef INC_OLE2 +#include +#endif + +#ifndef NOSERVICE +#include +#endif + +#ifndef NOMCX +#include +#endif + +#ifndef NOIME +#include +#endif + +#endif +#endif + +/* Restore old value of interface for Obj-C. See above. */ +#ifdef __OBJC__ +#pragma pop_macro("interface") +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.h new file mode 100644 index 00000000..e9708653 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.h @@ -0,0 +1,30 @@ +/** + * 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 _WINDOWSNUMERICS_ +#define _WINDOWSNUMERICS_ + +#ifndef __cplusplus +#error windowsnumerics.h requires C++ +#endif /* __cplusplus */ + +#define _WINDOWS_NUMERICS_NAMESPACE_ Windows::Foundation::Numerics + +#define _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ \ + namespace Windows { \ + namespace Foundation { \ + namespace Numerics + +#define _WINDOWS_NUMERICS_END_NAMESPACE_ \ + } \ + } + +#include "windowsnumerics.impl.h" + +#undef _WINDOWS_NUMERICS_NAMESPACE_ +#undef _WINDOWS_NUMERICS_BEGIN_NAMESPACE_ +#undef _WINDOWS_NUMERICS_END_NAMESPACE_ + +#endif /* _WINDOWSNUMERICS_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.impl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.impl.h new file mode 100644 index 00000000..e089602e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsnumerics.impl.h @@ -0,0 +1,1186 @@ +/** + * 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. + */ + +/** + * Normal users should include `windowsnumerics.h` instead of this header. + * However, the cppwinrt headers set `_WINDOWS_NUMERICS_NAMESPACE_`, + * `_WINDOWS_NUMERICS_BEGIN_NAMESPACE_` and `_WINDOWS_NUMERICS_END_NAMESPACE_` + * to custom values and include `windowsnumerics.impl.h`. Therefore this shall + * be considered a public header, and these macros are public API. +*/ + + +#ifdef min +# pragma push_macro("min") +# undef min +# define _WINDOWS_NUMERICS_IMPL_PUSHED_MIN_ +#endif + +#ifdef max +# pragma push_macro("max") +# undef max +# define _WINDOWS_NUMERICS_IMPL_PUSHED_MAX_ +#endif + +#include +#include + +#include "directxmath.h" + + +// === Internal macros === +#define _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(_ty1, _op, _ty2) \ + inline _ty1 &operator _op ## =(_ty1 &val1, _ty2 val2) { \ + val1 = operator _op (val1, val2); \ + return val1; \ + } + + +// === Internal functions === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + namespace _impl { + +#if 0 && defined(__cpp_lib_clamp) + using std::clamp; +#else + constexpr const float &clamp(const float &val, const float &min, const float &max) { + return val < min ? min : (val > max ? max : val); + } +#endif + +#if 0 && defined(__cpp_lib_interpolate) + using std::lerp; +#else + constexpr float lerp(float val1, float val2, float amount) { + // Don't do (val2 - val1) * amount + val1 as it has worse precision. + return val2 * amount + val1 * (1.0f - amount); + } +#endif + + } +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === Forward decls === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float2; + struct float3; + struct float4; + struct float3x2; + struct float4x4; + struct plane; + struct quaternion; + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === float2: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float2 { + float2() = default; + constexpr float2(float x, float y) + : x(x), y(y) + {} + constexpr explicit float2(float val) + : x(val), y(val) + {} + + static constexpr float2 zero() { + return float2(0.0f); + } + static constexpr float2 one() { + return float2(1.0f); + } + static constexpr float2 unit_x() { + return { 1.0f, 0.0f }; + } + static constexpr float2 unit_y() { + return { 0.0f, 1.0f }; + } + + float x; + float y; + }; + + // Forward decl functions + inline float length(const float2 &val); + inline float length_squared(const float2 &val); + inline float distance(const float2 &val1, const float2 &val2); + inline float distance_squared(const float2 &val1, const float2 &val2); + inline float dot(const float2 &val1, const float2 &val2); + inline float2 normalize(const float2 &val); + inline float2 reflect(const float2 &vec, const float2 &norm); + inline float2 min(const float2 &val1, const float2 &val2); + inline float2 max(const float2 &val1, const float2 &val2); + inline float2 clamp(const float2 &val, const float2 &min, const float2 &max); + inline float2 lerp(const float2 &val1, const float2 &val2, float amount); + inline float2 transform(const float2 &pos, const float3x2 &mat); + inline float2 transform(const float2 &pos, const float4x4 &mat); + inline float2 transform_normal(const float2 &norm, const float3x2 &mat); + inline float2 transform_normal(const float2 &norm, const float4x4 &mat); + inline float2 transform(const float2 &val, const quaternion &rot); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { val1.x _op val2.x, val1.y _op val2.y }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float2, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float2, -) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float2, *) + inline float2 operator*(const float2 &val1, float val2) { + return { val1.x * val2, val1.y * val2 }; + } + inline float2 operator*(float val1, const float2 &val2) { + return operator*(val2, val1); + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float2, /) + inline float2 operator/(const float2 &val1, float val2) { + return operator*(val1, 1.0f / val2); + } + inline float2 operator-(const float2 &val) { + return { -val.x, -val.y }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, +, const float2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, -, const float2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, *, const float2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, *, float) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, /, const float2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float2, /, float) + inline bool operator==(const float2 &val1, const float2 &val2) { + return val1.x == val2.x && val1.y == val2.y; + } + inline bool operator!=(const float2 &val1, const float2 &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === float3: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float3 { + float3() = default; + constexpr float3(float x, float y, float z) + : x(x), y(y), z(z) + {} + constexpr float3(float2 val, float z) + : x(val.x), y(val.y), z(z) + {} + constexpr explicit float3(float val) + : x(val), y(val), z(val) + {} + + static constexpr float3 zero() { + return float3(0.0); + } + static constexpr float3 one() { + return float3(1.0); + } + static constexpr float3 unit_x() { + return { 1.0f, 0.0f, 0.0f }; + } + static constexpr float3 unit_y() { + return { 0.0f, 1.0f, 0.0f }; + } + static constexpr float3 unit_z() { + return { 0.0f, 0.0f, 1.0f }; + } + + float x; + float y; + float z; + }; + + // Forward decl functions + inline float length(const float3 &val); + inline float length_squared(const float3 &val); + inline float distance(const float3 &val1, const float3 &val2); + inline float distance_squared(const float3 &val1, const float3 &val2); + inline float dot(const float3 &val1, const float3 &val2); + inline float3 normalize(const float3 &val); + inline float3 cross(const float3 &val1, const float3 &val2); + inline float3 reflect(const float3 &vec, const float3 &norm); + inline float3 min(const float3 &val1, const float3 &val2); + inline float3 max(const float3 &val1, const float3 &val2); + inline float3 clamp(const float3 &val, const float3 &min, const float3 &max); + inline float3 lerp(const float3 &val1, const float3 &val2, float amount); + inline float3 transform(const float3 &pos, const float4x4 &mat); + inline float3 transform_normal(const float3 &norm, const float4x4 &mat); + inline float3 transform(const float3 &val, const quaternion &rot); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { val1.x _op val2.x, val1.y _op val2.y, val1.z _op val2.z }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3, -) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3, *) + inline float3 operator*(const float3 &val1, float val2) { + return { val1.x * val2, val1.y * val2, val1.z * val2 }; + } + inline float3 operator*(float val1, const float3 &val2) { + return operator*(val2, val1); + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3, /) + inline float3 operator/(const float3 &val1, float val2) { + return operator*(val1, 1.0f / val2); + } + inline float3 operator-(const float3 &val) { + return { -val.x, -val.y, -val.z }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, +, const float3 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, -, const float3 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, *, const float3 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, *, float) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, /, const float3 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3, /, float) + inline bool operator==(const float3 &val1, const float3 &val2) { + return val1.x == val2.x && val1.y == val2.y && val1.z == val2.z; + } + inline bool operator!=(const float3 &val1, const float3 &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === float4: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float4 { + float4() = default; + constexpr float4(float x, float y, float z, float w) + : x(x), y(y), z(z), w(w) + {} + constexpr float4(float2 val, float z, float w) + : x(val.x), y(val.y), z(z), w(w) + {} + constexpr float4(float3 val, float w) + : x(val.x), y(val.y), z(val.z), w(w) + {} + constexpr explicit float4(float val) + : x(val), y(val), z(val), w(val) + {} + + static constexpr float4 zero() { + return float4(0.0); + } + static constexpr float4 one() { + return float4(1.0); + } + static constexpr float4 unit_x() { + return { 1.0f, 0.0f, 0.0f, 0.0f }; + } + static constexpr float4 unit_y() { + return { 0.0f, 1.0f, 0.0f, 0.0f }; + } + static constexpr float4 unit_z() { + return { 0.0f, 0.0f, 1.0f, 0.0f }; + } + static constexpr float4 unit_w() { + return { 0.0f, 0.0f, 0.0f, 1.0f }; + } + + float x; + float y; + float z; + float w; + }; + + // Forward decl functions + inline float length(const float4 &val); + inline float length_squared(const float4 &val); + inline float distance(const float4 &val1, const float4 &val2); + inline float distance_squared(const float4 &val1, const float4 &val2); + inline float dot(const float4 &val1, const float4 &val2); + inline float4 normalize(const float4 &val); + inline float4 min(const float4 &val1, const float4 &val2); + inline float4 max(const float4 &val1, const float4 &val2); + inline float4 clamp(const float4 &val, const float4 &min, const float4 &max); + inline float4 lerp(const float4 &val1, const float4 &val2, float amount); + inline float4 transform(const float4 &pos, const float4x4 &mat); + inline float4 transform4(const float3 &pos, const float4x4 &mat); + inline float4 transform4(const float2 &pos, const float4x4 &mat); + inline float4 transform(const float4 &val, const quaternion &rot); + inline float4 transform4(const float3 &val, const quaternion &rot); + inline float4 transform4(const float2 &val, const quaternion &rot); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { val1.x _op val2.x, val1.y _op val2.y, val1.z _op val2.z, val1.w _op val2.w }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4, -) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4, *) + inline float4 operator*(const float4 &val1, float val2) { + return { val1.x * val2, val1.y * val2, val1.z * val2, val1.w * val2 }; + } + inline float4 operator*(float val1, const float4 &val2) { + return operator*(val2, val1); + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4, /) + inline float4 operator/(const float4 &val1, float val2) { + return operator*(val1, 1.0f / val2); + } + inline float4 operator-(const float4 &val) { + return { -val.x, -val.y, -val.z, -val.w }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, +, const float4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, -, const float4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, *, const float4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, *, float) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, /, const float4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4, /, float) + inline bool operator==(const float4 &val1, const float4 &val2) { + return val1.x == val2.x && val1.y == val2.y && val1.z == val2.z && val2.w == val2.w; + } + inline bool operator!=(const float4 &val1, const float4 &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === float3x2: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float3x2 { + float3x2() = default; + constexpr float3x2( + float m11, float m12, + float m21, float m22, + float m31, float m32 + ) + : m11(m11), m12(m12) + , m21(m21), m22(m22) + , m31(m31), m32(m32) + {} + + static constexpr float3x2 identity() { + return { + 1.0f, 0.0f, + 0.0f, 1.0f, + 0.0f, 0.0f, + }; + } + + float m11; float m12; + float m21; float m22; + float m31; float m32; + }; + + // Forward decl functions + inline float3x2 make_float3x2_translation(const float2 &pos); + inline float3x2 make_float3x2_translation(float xpos, float ypos); + inline float3x2 make_float3x2_scale(float xscale, float yscale); + inline float3x2 make_float3x2_scale(float xscale, float yscale, const float2 ¢er); + inline float3x2 make_float3x2_scale(const float2 &xyscale); + inline float3x2 make_float3x2_scale(const float2 &xyscale, const float2 ¢er); + inline float3x2 make_float3x2_scale(float scale); + inline float3x2 make_float3x2_scale(float scale, const float2 ¢er); + inline float3x2 make_float3x2_skew(float xrad, float yrad); + inline float3x2 make_float3x2_skew(float xrad, float yrad, const float2 ¢er); + inline float3x2 make_float3x2_rotation(float rad); + inline float3x2 make_float3x2_rotation(float rad, const float2 ¢er); + inline bool is_identity(const float3x2 &val); + inline float determinant(const float3x2 &val); + inline float2 translation(const float3x2 &val); + inline bool invert(const float3x2 &val, float3x2 *out); + inline float3x2 lerp(const float3x2 &mat1, const float3x2 &mat2, float amount); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { \ + val1.m11 _op val2.m11, val1.m12 _op val2.m12, \ + val1.m21 _op val2.m21, val1.m22 _op val2.m22, \ + val1.m31 _op val2.m31, val1.m32 _op val2.m32, \ + }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3x2, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float3x2, -) + inline float3x2 operator*(const float3x2 &val1, const float3x2 &val2) { + // 2D transformation matrix has an implied 3rd column with (0, 0, 1) + const float3 v1r1(val1.m11, val1.m12, 0.0f); + const float3 v1r2(val1.m21, val1.m22, 0.0f); + const float3 v1r3(val1.m31, val1.m32, 1.0f); + const float3 v2c1(val2.m11, val2.m21, val2.m31); + const float3 v2c2(val2.m12, val2.m22, val2.m32); + // const float3 v2c3(0.0f, 0.0f, 1.0f); + return { + dot(v1r1, v2c1), dot(v1r1, v2c2), + dot(v1r2, v2c1), dot(v1r2, 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, + }; + } + inline float3x2 operator-(const float3x2 &val) { + return { + -val.m11, -val.m12, + -val.m21, -val.m22, + -val.m31, -val.m32, + }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3x2, +, const float3x2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3x2, -, const float3x2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3x2, *, const float3x2 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float3x2, *, float) + inline bool operator==(const float3x2 &val1, const float3x2 &val2) { + return + val1.m11 == val2.m11 && val1.m12 == val2.m12 && + val1.m21 == val2.m21 && val1.m22 == val2.m22 && + val1.m31 == val2.m31 && val1.m32 == val2.m32; + } + inline bool operator!=(const float3x2 &val1, const float3x2 &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === float4x4: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct float4x4 { + float4x4() = default; + constexpr float4x4( + float m11, float m12, float m13, float m14, + float m21, float m22, float m23, float m24, + float m31, float m32, float m33, float m34, + float m41, float m42, float m43, float m44 + ) + : m11(m11), m12(m12), m13(m13), m14(m14) + , m21(m21), m22(m22), m23(m23), m24(m24) + , m31(m31), m32(m32), m33(m33), m34(m34) + , m41(m41), m42(m42), m43(m43), m44(m44) + {} + + static constexpr float4x4 identity() { + return { + 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, + }; + } + + float m11; float m12; float m13; float m14; + float m21; float m22; float m23; float m24; + float m31; float m32; float m33; float m34; + float m41; float m42; float m43; float m44; + }; + + // Forward decl functions + inline float4x4 make_float4x4_billboard(const float3 &objpos, const float3 &camerapos, const float3 &cameraup, const float3 &camerafwd); + inline float4x4 make_float4x4_constrained_billboard(const float3 &objpos, const float3 &camerapos, const float3 &rotateaxis, const float3 &camerafwd, const float3 &objfwd); + inline float4x4 make_float4x4_translation(const float3 &pos); + inline float4x4 make_float4x4_translation(float xpos, float ypos, float zpos); + inline float4x4 make_float4x4_scale(float xscale, float yscale, float zscale); + inline float4x4 make_float4x4_scale(float xscale, float yscale, float zscale, const float3 ¢er); + inline float4x4 make_float4x4_scale(const float3 &xyzscale); + inline float4x4 make_float4x4_scale(const float3 &xyzscale, const float3 ¢er); + inline float4x4 make_float4x4_scale(float scale); + inline float4x4 make_float4x4_scale(float scale, const float3 ¢er); + inline float4x4 make_float4x4_rotation_x(float rad); + inline float4x4 make_float4x4_rotation_x(float rad, const float3 ¢er); + inline float4x4 make_float4x4_rotation_y(float rad); + inline float4x4 make_float4x4_rotation_y(float rad, const float3 ¢er); + inline float4x4 make_float4x4_rotation_z(float rad); + inline float4x4 make_float4x4_rotation_z(float rad, const float3 ¢er); + inline float4x4 make_float4x4_from_axis_angle(const float3 &axis, float angle); + inline float4x4 make_float4x4_perspective_field_of_view(float fov, float aspect, float nearplane, float farplane); + inline float4x4 make_float4x4_perspective(float w, float h, float nearplane, float farplane); + inline float4x4 make_float4x4_perspective_off_center(float left, float right, float bottom, float top, float nearplane, float farplane); + inline float4x4 make_float4x4_orthographic(float w, float h, float znearplane, float zfarplane); + inline float4x4 make_float4x4_orthographic_off_center(float left, float right, float bottom, float top, float znearplane, float zfarplane); + inline float4x4 make_float4x4_look_at(const float3 &camerapos, const float3 &target, const float3 &cameraup); + inline float4x4 make_float4x4_world(const float3 &pos, const float3 &fwd, const float3 &up); + inline float4x4 make_float4x4_from_quaternion(const quaternion &quat); + inline float4x4 make_float4x4_from_yaw_pitch_roll(float yaw, float pitch, float roll); + inline float4x4 make_float4x4_shadow(const float3 &lightdir, const plane &plane); + inline float4x4 make_float4x4_reflection(const plane &plane); + inline bool is_identity(const float4x4 &val); + inline float determinant(const float4x4 &val); + inline float3 translation(const float4x4 &val); + inline bool invert(const float4x4 &mat, float4x4 *out); + inline bool decompose(const float4x4 &mat, float3 *out_scale, quaternion *out_rot, float3 *out_translate); + inline float4x4 transform(const float4x4 &val, const quaternion &rot); + inline float4x4 transpose(const float4x4 &val); + inline float4x4 lerp(const float4x4 &val1, const float4x4 &val2, float amount); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { \ + val1.m11 _op val2.m11, val1.m12 _op val2.m12, val1.m13 _op val2.m13, val1.m14 _op val2.m14, \ + val1.m21 _op val2.m21, val1.m22 _op val2.m22, val1.m23 _op val2.m23, val1.m24 _op val2.m24, \ + val1.m31 _op val2.m31, val1.m32 _op val2.m32, val1.m33 _op val2.m33, val1.m34 _op val2.m34, \ + val1.m41 _op val2.m41, val1.m42 _op val2.m42, val1.m43 _op val2.m43, val1.m44 _op val2.m44, \ + }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4x4, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(float4x4, -) + inline float4x4 operator*(const float4x4 &val1, const float4x4 &val2) { + const float4 v1r1(val1.m11, val1.m12, val1.m13, val1.m14); + const float4 v1r2(val1.m21, val1.m22, val1.m23, val1.m24); + const float4 v1r3(val1.m31, val1.m32, val1.m33, val1.m34); + const float4 v1r4(val1.m41, val1.m42, val1.m43, val1.m44); + const float4 v2c1(val2.m11, val2.m21, val2.m31, val2.m41); + const float4 v2c2(val2.m12, val2.m22, val2.m32, val2.m42); + const float4 v2c3(val2.m13, val2.m23, val2.m33, val2.m43); + const float4 v2c4(val2.m14, val2.m24, val2.m34, val2.m44); + return { + 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), + }; + } + inline float4x4 operator*(const float4x4 &val1, float val2) { + return { + 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, + }; + } + inline float4x4 operator-(const float4x4 &val) { + return { + -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, + }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4x4, +, const float4x4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4x4, -, const float4x4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4x4, *, const float4x4 &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(float4x4, *, float) + inline bool operator==(const float4x4 &val1, const float4x4 &val2) { + return + val1.m11 == val2.m11 && val1.m12 == val2.m12 && val1.m13 == val2.m13 && val1.m14 == val2.m14 && + val1.m21 == val2.m21 && val1.m22 == val2.m22 && val1.m23 == val2.m23 && val1.m24 == val2.m24 && + val1.m31 == val2.m31 && val1.m32 == val2.m32 && val1.m33 == val2.m33 && val1.m34 == val2.m34 && + val1.m41 == val2.m41 && val1.m42 == val2.m42 && val1.m43 == val2.m43 && val1.m44 == val2.m44; + } + inline bool operator!=(const float4x4 &val1, const float4x4 &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === plane: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct plane { + plane() = default; + constexpr plane(float x, float y, float z, float d) + : normal(float3(x, y, z)), d(d) + {} + constexpr plane(float3 normal, float d) + : normal(normal), d(d) + {} + constexpr explicit plane(float4 val) + : normal(float3(val.x, val.y, val.z)), d(val.w) + {} + + float3 normal; + float d; + }; + + // Forward decl functions + inline plane make_plane_from_vertices(const float3 &pt1, const float3 &pt2, const float3 &pt3); + inline plane normalize(const plane &val); + inline plane transform(const plane &plane, const float4x4 &mat); + inline plane transform(const plane &plane, const quaternion &rot); + inline float dot(const plane &plane, const float4 &val); + inline float dot_coordinate(const plane &plane, const float3 &val); + inline float dot_normal(const plane &plane, const float3 &val); + + // Define operators + inline bool operator==(const plane &val1, const plane &val2) { + return val1.normal == val2.normal && val1.d == val2.d; + } + inline bool operator!=(const plane &val1, const plane &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === quaternion: Struct and function defs === +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + struct quaternion { + quaternion() = default; + constexpr quaternion(float x, float y, float z, float w) + : x(x), y(y), z(z), w(w) + {} + constexpr quaternion(float3 vecPart, float scalarPart) + : x(vecPart.x), y(vecPart.y), z(vecPart.z), w(scalarPart) + {} + + static constexpr quaternion identity() { + return { 0.0f, 0.0f, 0.0f, 1.0f }; + } + + float x; + float y; + float z; + float w; + }; + + // Forward decl functions + inline quaternion make_quaternion_from_axis_angle(const float3 &axis, float angle); + inline quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll); + inline quaternion make_quaternion_from_rotation_matrix(const float4x4 &mat); + inline bool is_identity(const quaternion &val); + inline float length(const quaternion &val); + inline float length_squared(const quaternion &val); + inline float dot(const quaternion &val1, const quaternion &val2); + inline quaternion normalize(const quaternion &val); + inline quaternion conjugate(const quaternion &val); + inline quaternion inverse(const quaternion &val); + inline quaternion slerp(const quaternion &val1, const quaternion &val2, float amount); + inline quaternion lerp(const quaternion &val1, const quaternion &val2, float amount); + inline quaternion concatenate(const quaternion &val1, const quaternion &val2); + + // Define operators +#define _WINDOWS_NUMERICS_IMPL_BINARY_OP(_ty, _op) \ + inline _ty operator _op(const _ty &val1, const _ty &val2) { \ + return { val1.x _op val2.x, val1.y _op val2.y, val1.z _op val2.z, val1.w _op val2.w }; \ + } + _WINDOWS_NUMERICS_IMPL_BINARY_OP(quaternion, +) + _WINDOWS_NUMERICS_IMPL_BINARY_OP(quaternion, -) + inline quaternion operator*(const quaternion &val1, const quaternion &val2) { + return { + 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, + }; } + inline quaternion operator*(const quaternion &val1, float val2) { + return { val1.x * val2, val1.y * val2, val1.z * val2, val1.w * val2 }; + } + inline quaternion operator/(const quaternion &val1, const quaternion &val2) { + return operator*(val1, inverse(val2)); + } + inline quaternion operator-(const quaternion &val) { + return { -val.x, -val.y, -val.z, -val.w }; + } +#undef _WINDOWS_NUMERICS_IMPL_BINARY_OP + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(quaternion, +, const quaternion &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(quaternion, -, const quaternion &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(quaternion, *, const quaternion &) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(quaternion, *, float) + _WINDOWS_NUMERICS_IMPL_ASSIGN_OP(quaternion, /, const quaternion &) + inline bool operator==(const quaternion &val1, const quaternion &val2) { + return val1.x == val2.x && val1.y == val2.y && val1.z == val2.z && val2.w == val2.w; + } + inline bool operator!=(const quaternion &val1, const quaternion &val2) { + return !operator==(val1, val2); + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// === Function definitions === + +// Define float2 functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + inline float length(const float2 &val) { + return ::std::sqrt(length_squared(val)); + } + inline float length_squared(const float2 &val) { + return val.x * val.x + val.y * val.y; + } + inline float distance(const float2 &val1, const float2 &val2) { + return length(val2 - val1); + } + inline float distance_squared(const float2 &val1, const float2 &val2) { + return length_squared(val2 - val1); + } + inline float dot(const float2 &val1, const float2 &val2) { + return val1.x * val2.x + val1.y * val2.y; + } + inline float2 normalize(const float2 &val) { + return val / length(val); + } + inline float2 reflect(const float2 &vec, const float2 &norm) { + // norm is assumed to be normalized. + return vec - 2.0f * dot(vec, norm) * norm; + } + inline float2 min(const float2 &val1, const float2 &val2) { + return { ::std::min(val1.x, val2.x), ::std::min(val1.y, val2.y) }; + } + inline float2 max(const float2 &val1, const float2 &val2) { + return { ::std::max(val1.x, val2.x), ::std::max(val1.y, val2.y) }; + } + inline float2 clamp(const float2 &val, const float2 &min, const float2 &max) { + return { _impl::clamp(val.x, min.x, max.x), _impl::clamp(val.y, min.y, max.y) }; + } + inline float2 lerp(const float2 &val1, const float2 &val2, float amount) { + return { _impl::lerp(val1.x, val2.x, amount), _impl::lerp(val1.y, val2.y, amount) }; + } + // TODO: impl + inline float2 transform(const float2 &pos, const float3x2 &mat); + inline float2 transform(const float2 &pos, const float4x4 &mat); + inline float2 transform_normal(const float2 &norm, const float3x2 &mat); + inline float2 transform_normal(const float2 &norm, const float4x4 &mat); + inline float2 transform(const float2 &val, const quaternion &rot) { + // See comments in the float3 transform function. + quaternion result = rot * quaternion(float3(val.x, val.y, 0.0f), 0.0f) * inverse(rot); + return { result.x, result.y }; + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define float3 functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + inline float length(const float3 &val) { + return ::std::sqrt(length_squared(val)); + } + inline float length_squared(const float3 &val) { + return val.x * val.x + val.y * val.y + val.z * val.z; + } + inline float distance(const float3 &val1, const float3 &val2) { + return length(val2 - val1); + } + inline float distance_squared(const float3 &val1, const float3 &val2) { + return length_squared(val2 - val1); + } + inline float dot(const float3 &val1, const float3 &val2) { + return val1.x * val2.x + val1.y * val2.y + val1.z * val2.z; + } + inline float3 normalize(const float3 &val) { + return val / length(val); + } + inline float3 cross(const float3 &val1, const float3 &val2) { + 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, + }; + } + inline float3 reflect(const float3 &vec, const float3 &norm) { + // norm is assumed to be normalized. + return vec - 2.0f * dot(vec, norm) * norm; + } + inline float3 min(const float3 &val1, const float3 &val2) { + return { ::std::min(val1.x, val2.x), ::std::min(val1.y, val2.y), ::std::min(val1.z, val2.z) }; + } + inline float3 max(const float3 &val1, const float3 &val2) { + return { ::std::max(val1.x, val2.x), ::std::max(val1.y, val2.y), ::std::max(val1.z, val2.z) }; + } + inline float3 clamp(const float3 &val, const float3 &min, const float3 &max) { + return { _impl::clamp(val.x, min.x, max.x), _impl::clamp(val.y, min.y, max.y), _impl::clamp(val.z, min.z, max.z) }; + } + inline float3 lerp(const float3 &val1, const float3 &val2, float amount) { + return { _impl::lerp(val1.x, val2.x, amount), _impl::lerp(val1.y, val2.y, amount), _impl::lerp(val1.z, val2.z, amount) }; + } + // TODO: impl + inline float3 transform(const float3 &pos, const float4x4 &mat); + inline float3 transform_normal(const float3 &norm, const float4x4 &mat); + inline float3 transform(const float3 &val, const quaternion &rot) { + // https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation#Using_quaternions_as_rotations + // If assuming rot is a unit quaternion, this could use + // conjugate() instead of inverse() too. + // This can be expressed as a matrix operation too, with + // https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation#Quaternion-derived_rotation_matrix + // (see make_float4x4_from_quaternion). + quaternion result = rot * quaternion(val, 0.0f) * inverse(rot); + return { result.x, result.y, result.z }; + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define float4 functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + inline float length(const float4 &val) { + return ::std::sqrt(length_squared(val)); + } + inline float length_squared(const float4 &val) { + return val.x * val.x + val.y * val.y + val.z * val.z + val.w * val.w; + } + inline float distance(const float4 &val1, const float4 &val2) { + return length(val2 - val1); + } + inline float distance_squared(const float4 &val1, const float4 &val2) { + return length_squared(val2 - val1); + } + inline float dot(const float4 &val1, const float4 &val2) { + return val1.x * val2.x + val1.y * val2.y + val1.z * val2.z + val1.w * val2.w; + } + inline float4 normalize(const float4 &val) { + return val / length(val); + } + inline float4 min(const float4 &val1, const float4 &val2) { + return { + ::std::min(val1.x, val2.x), + ::std::min(val1.y, val2.y), + ::std::min(val1.z, val2.z), + ::std::min(val1.w, val2.w), + }; + } + inline float4 max(const float4 &val1, const float4 &val2) { + return { + ::std::max(val1.x, val2.x), + ::std::max(val1.y, val2.y), + ::std::max(val1.z, val2.z), + ::std::max(val1.w, val2.w), + }; + } + inline float4 clamp(const float4 &val, const float4 &min, const float4 &max) { + return { + _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), + }; + } + inline float4 lerp(const float4 &val1, const float4 &val2, float amount) { + return { + _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), + }; + } + // TODO: impl + inline float4 transform(const float4 &pos, const float4x4 &mat); + inline float4 transform4(const float3 &pos, const float4x4 &mat); + inline float4 transform4(const float2 &pos, const float4x4 &mat); + inline float4 transform(const float4 &val, const quaternion &rot) { + // See comments in the float3 transform function. + quaternion result = rot * quaternion(float3(val.x, val.y, val.z), 0.0f) * inverse(rot); + return { result.x, result.y, result.z, val.w }; + } + inline float4 transform4(const float3 &val, const quaternion &rot) { + quaternion result = rot * quaternion(val, 0.0f) * inverse(rot); + return { result.x, result.y, result.z, 1.0f }; + } + inline float4 transform4(const float2 &val, const quaternion &rot) { + quaternion result = rot * quaternion(float3(val.x, val.y, 0.0f), 0.0f) * inverse(rot); + return { result.x, result.y, result.z, 1.0f }; + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define float3x2 functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + // TODO: impl + inline float3x2 make_float3x2_translation(const float2 &pos); + inline float3x2 make_float3x2_translation(float xpos, float ypos); + inline float3x2 make_float3x2_scale(float xscale, float yscale); + inline float3x2 make_float3x2_scale(float xscale, float yscale, const float2 ¢er); + inline float3x2 make_float3x2_scale(const float2 &xyscale); + inline float3x2 make_float3x2_scale(const float2 &xyscale, const float2 ¢er); + inline float3x2 make_float3x2_scale(float scale); + inline float3x2 make_float3x2_scale(float scale, const float2 ¢er); + inline float3x2 make_float3x2_skew(float xrad, float yrad); + inline float3x2 make_float3x2_skew(float xrad, float yrad, const float2 ¢er); + inline float3x2 make_float3x2_rotation(float rad); + inline float3x2 make_float3x2_rotation(float rad, const float2 ¢er); + inline bool is_identity(const float3x2 &val) { + return val == float3x2::identity(); + } + inline float determinant(const float3x2 &val) { + // 2D transformation matrix has an implied 3rd column with (0, 0, 1) + // det = m11 * m22 * m33 + m12 * m23 * m31 + m13 * m21 * m32 + // - m31 * m22 * m13 - m21 * m12 * m33 - m11 * m32 * m23; + return val.m11 * val.m22 - val.m21 * val.m12; + } + inline float2 translation(const float3x2 &val) { + return { val.m31, val.m32 }; + } + inline bool invert(const float3x2 &val, float3x2 *out); + inline float3x2 lerp(const float3x2 &mat1, const float3x2 &mat2, float amount); + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define float4x4 functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + // TODO: impl + inline float4x4 make_float4x4_billboard(const float3 &objpos, const float3 &camerapos, const float3 &cameraup, const float3 &camerafwd); + inline float4x4 make_float4x4_constrained_billboard(const float3 &objpos, const float3 &camerapos, const float3 &rotateaxis, const float3 &camerafwd, const float3 &objfwd); + inline float4x4 make_float4x4_translation(const float3 &pos) { + return { + 1.0f, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f, 0.0f, 0.0f, + 0.0f, 0.0f, 1.0f, 0.0f, + pos.x, pos.y, pos.z, 1.0f + }; + } + inline float4x4 make_float4x4_translation(float xpos, float ypos, float zpos); + inline float4x4 make_float4x4_scale(float xscale, float yscale, float zscale); + inline float4x4 make_float4x4_scale(float xscale, float yscale, float zscale, const float3 ¢er); + inline float4x4 make_float4x4_scale(const float3 &xyzscale) { + return { + xyzscale.x, 0.0f, 0.0f, 0.0f, + 0.0f, xyzscale.y, 0.0f, 0.0f, + 0.0f, 0.0f, xyzscale.z, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; + } + inline float4x4 make_float4x4_scale(const float3 &xyzscale, const float3 ¢er); + inline float4x4 make_float4x4_scale(float scale); + inline float4x4 make_float4x4_scale(float scale, const float3 ¢er); + inline float4x4 make_float4x4_rotation_x(float rad); + inline float4x4 make_float4x4_rotation_x(float rad, const float3 ¢er); + inline float4x4 make_float4x4_rotation_y(float rad); + inline float4x4 make_float4x4_rotation_y(float rad, const float3 ¢er); + inline float4x4 make_float4x4_rotation_z(float rad); + inline float4x4 make_float4x4_rotation_z(float rad, const float3 ¢er); + inline float4x4 make_float4x4_from_axis_angle(const float3 &axis, float angle); + inline float4x4 make_float4x4_perspective_field_of_view(float fov, float aspect, float nearplane, float farplane); + inline float4x4 make_float4x4_perspective(float w, float h, float nearplane, float farplane); + inline float4x4 make_float4x4_perspective_off_center(float left, float right, float bottom, float top, float nearplane, float farplane); + inline float4x4 make_float4x4_orthographic(float w, float h, float znearplane, float zfarplane); + inline float4x4 make_float4x4_orthographic_off_center(float left, float right, float bottom, float top, float znearplane, float zfarplane); + inline float4x4 make_float4x4_look_at(const float3 &camerapos, const float3 &target, const float3 &cameraup); + inline float4x4 make_float4x4_world(const float3 &pos, const float3 &fwd, const float3 &up); + inline float4x4 make_float4x4_from_quaternion(const quaternion &quat) { + // https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion + float xx = quat.x * quat.x; + float yy = quat.y * quat.y; + float zz = quat.z * quat.z; + float xy = quat.x * quat.y; + float xz = quat.x * quat.z; + float xw = quat.x * quat.w; + float yz = quat.y * quat.z; + float yw = quat.y * quat.w; + float zw = quat.z * quat.w; + return { + 1.0f - 2.0f*yy - 2.0f*zz, 2.0f*xy + 2.0f*zw, 2.0f*xz - 2.0f*yw, 0.0f, + 2.0f*xy - 2.0f*zw, 1.0f - 2.0f*xx - 2.0f*zz, 2.0f*yz + 2.0f*xw, 0.0f, + 2.0f*xz + 2.0f*yw, 2.0f*yz - 2.0f*xw, 1.0f - 2.0f*xx - 2.0f*yy, 0.0f, + 0.0f, 0.0f, 0.0f, 1.0f + }; + } + inline float4x4 make_float4x4_from_yaw_pitch_roll(float yaw, float pitch, float roll); + inline float4x4 make_float4x4_shadow(const float3 &lightdir, const plane &plane); + inline float4x4 make_float4x4_reflection(const plane &plane); + inline bool is_identity(const float4x4 &val) { + return val == float4x4::identity(); + } + inline float determinant(const float4x4 &val) { + const float det_33_44 = (val.m33 * val.m44 - val.m34 * val.m43); + const float det_32_44 = (val.m32 * val.m44 - val.m34 * val.m42); + const float det_32_43 = (val.m32 * val.m43 - val.m33 * val.m42); + const float det_31_44 = (val.m31 * val.m44 - val.m34 * val.m41); + const float det_31_43 = (val.m31 * val.m43 - val.m33 * val.m41); + const float det_31_42 = (val.m31 * val.m42 - val.m32 * val.m41); + return val.m11 * (val.m22 * det_33_44 - val.m23 * det_32_44 + val.m24 * det_32_43) + - val.m12 * (val.m21 * det_33_44 - val.m23 * det_31_44 + val.m24 * det_31_43) + + val.m13 * (val.m21 * det_32_44 - val.m22 * det_31_44 + val.m24 * det_31_42) + - val.m14 * (val.m21 * det_32_43 - val.m22 * det_31_43 + val.m23 * det_31_42); + } + inline float3 translation(const float4x4 &val) { + return { val.m41, val.m42, val.m43 }; + } + inline bool invert(const float4x4 &mat, float4x4 *out); + inline bool decompose(const float4x4 &mat, float3 *out_scale, quaternion *out_rot, float3 *out_translate); + inline float4x4 transform(const float4x4 &val, const quaternion &rot) { + return val * make_float4x4_from_quaternion(rot); + } + inline float4x4 transpose(const float4x4 &val) { + return { + 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, + }; + } + inline float4x4 lerp(const float4x4 &val1, const float4x4 &val2, float amount); + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define plane functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + // TODO: impl + inline plane make_plane_from_vertices(const float3 &pt1, const float3 &pt2, const float3 &pt3); + inline plane normalize(const plane &val) { + const float invlen = 1.0f / length(val.normal); + return { val.normal * invlen, val.d * invlen }; + } + inline plane transform(const plane &plane, const float4x4 &mat); + inline plane transform(const plane &plane, const quaternion &rot) { + quaternion result = rot * quaternion(plane.normal, 0.0f) * inverse(rot); + return { float3(result.x, result.y, result.z), plane.d }; + } + inline float dot(const plane &plane, const float4 &val); + inline float dot_coordinate(const plane &plane, const float3 &val); + inline float dot_normal(const plane &plane, const float3 &val); + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +// Define quaternion functions +_WINDOWS_NUMERICS_BEGIN_NAMESPACE_ { + + inline quaternion make_quaternion_from_axis_angle(const float3 &axis, float angle) { + return quaternion(axis * ::std::sin(angle * 0.5f), ::std::cos(angle * 0.5f)); + } + inline quaternion make_quaternion_from_yaw_pitch_roll(float yaw, float pitch, float roll) { + quaternion yq = make_quaternion_from_axis_angle(float3(0.0f, 1.0f, 0.0f), yaw); + quaternion pq = make_quaternion_from_axis_angle(float3(1.0f, 0.0f, 0.0f), pitch); + quaternion rq = make_quaternion_from_axis_angle(float3(0.0f, 0.0f, 1.0f), roll); + return concatenate(concatenate(rq, pq), yq); + } + inline quaternion make_quaternion_from_rotation_matrix(const float4x4 &mat) { + // https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion + float t = mat.m11 + mat.m22 + mat.m33; + if (t > 0) { + float r = ::std::sqrt(1.0f + t); + float s = 1.0f / (2.0f * r); + return { (mat.m23 - mat.m32) * s, (mat.m31 - mat.m13) * s, + (mat.m12 - mat.m21) * s, r * 0.5f }; + } else if (mat.m11 >= mat.m22 && mat.m11 >= mat.m33) { + float r = ::std::sqrt(1.0f + mat.m11 - mat.m22 - mat.m33); + float s = 1.0f / (2.0f * r); + return { r * 0.5f, (mat.m21 + mat.m12) * s, + (mat.m13 + mat.m31) * s, (mat.m23 - mat.m32) * s }; + } else if (mat.m22 >= mat.m11 && mat.m22 >= mat.m33) { + float r = ::std::sqrt(1.0f + mat.m22 - mat.m11 - mat.m33); + float s = 1.0f / (2.0f * r); + return { (mat.m21 + mat.m12) * s, r * 0.5f, + (mat.m32 + mat.m23) * s, (mat.m31 - mat.m13) * s }; + } else { + float r = ::std::sqrt(1.0f + mat.m33 - mat.m11 - mat.m22); + float s = 1.0f / (2.0f * r); + return { (mat.m13 + mat.m31) * s, (mat.m32 + mat.m23) * s, + r * 0.5f, (mat.m12 - mat.m21) * s }; + } + } + inline bool is_identity(const quaternion &val) { + return val == quaternion::identity(); + } + inline float length(const quaternion &val) { + return ::std::sqrt(length_squared(val)); + } + inline float length_squared(const quaternion &val) { + return dot(val, val); + } + inline float dot(const quaternion &val1, const quaternion &val2) { + return val1.x * val2.x + val1.y * val2.y + val1.z * val2.z + val1.w * val2.w; + } + inline quaternion normalize(const quaternion &val) { + return operator*(val, 1.0f / length(val)); + } + inline quaternion conjugate(const quaternion &val) { + return { -val.x, -val.y, -val.z, val.w}; + } + inline quaternion inverse(const quaternion &val) { + return operator*(conjugate(val), 1.0f / length_squared(val)); + } + inline quaternion slerp(const quaternion &val1, const quaternion &val2, float amount) { + // https://en.wikipedia.org/wiki/Slerp#Geometric_Slerp + float cosangle = dot(val1, val2); + quaternion end = val2; + if (cosangle < 0.0f) { + end = -val2; + cosangle = -cosangle; + } + float fact1, fact2; + const float epsilon = 1.0e-6f; + if (cosangle > 1.0f - epsilon) { + // Very small rotation range, or non-normalized input quaternions. + fact1 = (1.0f - amount); + fact2 = amount; + } else { + float angle = ::std::acos(cosangle); + float sinangle = ::std::sin(angle); + fact1 = ::std::sin((1.0f - amount) * angle) / sinangle; + fact2 = ::std::sin(amount * angle) / sinangle; + } + return val1 * fact1 + end * fact2; + } + inline quaternion lerp(const quaternion &val1, const quaternion &val2, float amount) { + quaternion end = val2; + if (dot(val1, val2) < 0.0f) + end = -val2; + return normalize(quaternion( + _impl::lerp(val1.x, end.x, amount), _impl::lerp(val1.y, end.y, amount), + _impl::lerp(val1.z, end.z, amount), _impl::lerp(val1.w, end.w, amount) + )); + } + inline quaternion concatenate(const quaternion &val1, const quaternion &val2) { + return val2 * val1; + } + +} _WINDOWS_NUMERICS_END_NAMESPACE_ + + +/** + * FIXME: Implement interop functions with DirectXMath. + * This is where we are supposed to define the functions to convert between + * Windows::Foundation::Numerics types and XMVECTOR / XMMATRIX. But our + * directxmath.h does not contain the definitions for these types... + */ +#if 0 +// === DirectXMath Interop === +namespace DirectX { + + // TODO: impl + XMVECTOR XMLoadFloat2(const _WINDOWS_NUMERICS_NAMESPACE_::float2 *src); + XMVECTOR XMLoadFloat3(const _WINDOWS_NUMERICS_NAMESPACE_::float3 *src); + XMVECTOR XMLoadFloat4(const _WINDOWS_NUMERICS_NAMESPACE_::float4 *src); + XMMATRIX XMLoadFloat3x2(const _WINDOWS_NUMERICS_NAMESPACE_::float3x2 *src); + XMMATRIX XMLoadFloat4x4(const _WINDOWS_NUMERICS_NAMESPACE_::float4x4 *src); + XMVECTOR XMLoadPlane(const _WINDOWS_NUMERICS_NAMESPACE_::plane *src); + XMVECTOR XMLoadQuaternion(const _WINDOWS_NUMERICS_NAMESPACE_::quaternion *src); + void XMStoreFloat2(_WINDOWS_NUMERICS_NAMESPACE_::float2 *out, FXMVECTOR in); + void XMStoreFloat3(_WINDOWS_NUMERICS_NAMESPACE_::float3 *out, FXMVECTOR in); + void XMStoreFloat4(_WINDOWS_NUMERICS_NAMESPACE_::float4 *out, FXMVECTOR in); + void XMStoreFloat3x2(_WINDOWS_NUMERICS_NAMESPACE_::float3x2 *out, FXMMATRIX in); + void XMStoreFloat4x4(_WINDOWS_NUMERICS_NAMESPACE_::float4x4 *out, FXMMATRIX in); + void XMStorePlane(_WINDOWS_NUMERICS_NAMESPACE_::plane *out, FXMVECTOR in); + void XMStoreQuaternion(_WINDOWS_NUMERICS_NAMESPACE_::quaternion *out, FXMVECTOR in); + +} /* namespace DirectX */ +#endif + + +#undef _WINDOWS_NUMERICS_IMPL_ASSIGN_OP + +#ifdef _WINDOWS_NUMERICS_IMPL_PUSHED_MIN_ +# undef _WINDOWS_NUMERICS_IMPL_PUSHED_MIN_ +# pragma pop_macro("min") +#endif + +#ifdef _WINDOWS_NUMERICS_IMPL_PUSHED_MAX_ +# undef _WINDOWS_NUMERICS_IMPL_PUSHED_MAX_ +# pragma pop_macro("max") +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h new file mode 100644 index 00000000..fbd48169 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h @@ -0,0 +1,790 @@ +/** + * 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_WINDOWSX +#define _INC_WINDOWSX + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef SNDMSG +#ifdef __cplusplus +#define SNDMSG ::SendMessage +#else +#define SNDMSG SendMessage +#endif +#endif + +#define GetInstanceModule(hInstance) (HMODULE)(hInstance) +#define GlobalPtrHandle(lp) ((HGLOBAL)GlobalHandle(lp)) +#define GlobalLockPtr(lp) ((WINBOOL)GlobalLock(GlobalPtrHandle(lp))) +#define GlobalUnlockPtr(lp) GlobalUnlock(GlobalPtrHandle(lp)) +#define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb)))) +#define GlobalReAllocPtr(lp,cbNew,flags) (GlobalUnlockPtr(lp),GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) ,(cbNew),(flags)))) +#define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(WINBOOL)(ULONG_PTR)GlobalFree(GlobalPtrHandle(lp))) +#define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen)) +#define SelectPen(hdc,hpen) ((HPEN)SelectObject((hdc),(HGDIOBJ)(HPEN)(hpen))) +#define GetStockPen(i) ((HPEN)GetStockObject(i)) +#define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr)) +#define SelectBrush(hdc,hbr) ((HBRUSH)SelectObject((hdc),(HGDIOBJ)(HBRUSH)(hbr))) +#define GetStockBrush(i) ((HBRUSH)GetStockObject(i)) +#define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn)) +#define CopyRgn(hrgnDst,hrgnSrc) CombineRgn(hrgnDst,hrgnSrc,0,RGN_COPY) +#define IntersectRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_AND) +#define SubtractRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_DIFF) +#define UnionRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_OR) +#define XorRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_XOR) +#define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal)) +#define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont)) +#define SelectFont(hdc,hfont) ((HFONT)SelectObject((hdc),(HGDIOBJ)(HFONT)(hfont))) +#define GetStockFont(i) ((HFONT)GetStockObject(i)) +#define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm)) +#define SelectBitmap(hdc,hbm) ((HBITMAP)SelectObject((hdc),(HGDIOBJ)(HBITMAP)(hbm))) +#define InsetRect(lprc,dx,dy) InflateRect((lprc),-(dx),-(dy)) +#define GetWindowInstance(hwnd) ((HMODULE)GetWindowLongPtr(hwnd,GWLP_HINSTANCE)) +#define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_STYLE)) +#define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_EXSTYLE)) +#define GetWindowOwner(hwnd) GetWindow(hwnd,GW_OWNER) +#define GetFirstChild(hwnd) GetTopWindow(hwnd) +#define GetFirstSibling(hwnd) GetWindow(hwnd,GW_HWNDFIRST) +#define GetLastSibling(hwnd) GetWindow(hwnd,GW_HWNDLAST) +#define GetNextSibling(hwnd) GetWindow(hwnd,GW_HWNDNEXT) +#define GetPrevSibling(hwnd) GetWindow(hwnd,GW_HWNDPREV) +#define GetWindowID(hwnd) GetDlgCtrlID(hwnd) +#define SetWindowRedraw(hwnd,fRedraw) ((void)SNDMSG(hwnd,WM_SETREDRAW,(WPARAM)(WINBOOL)(fRedraw),(LPARAM)0)) +#define SubclassWindow(hwnd,lpfn) ((WNDPROC)SetWindowLongPtr((hwnd),GWLP_WNDPROC,(LPARAM)(WNDPROC)(lpfn))) +#define IsMinimized(hwnd) IsIconic(hwnd) +#define IsMaximized(hwnd) IsZoomed(hwnd) +#define IsRestored(hwnd) (!(GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE))) +#define SetWindowFont(hwnd,hfont,fRedraw) FORWARD_WM_SETFONT((hwnd),(hfont),(fRedraw),SNDMSG) +#define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd),SNDMSG) +#define MapWindowRect(hwndFrom,hwndTo,lprc) MapWindowPoints((hwndFrom),(hwndTo),(POINT *)(lprc),2) +#define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0) +#define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0) +#define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0) +#define SubclassDialog(hwndDlg,lpfn) (SetWindowLongPtr(hwndDlg,DWLP_DLGPROC,(LPARAM)(lpfn))) +#define SetDlgMsgResult(hwnd,msg,result) (((msg)==WM_CTLCOLORMSGBOX || (msg)==WM_CTLCOLOREDIT || (msg)==WM_CTLCOLORLISTBOX || (msg)==WM_CTLCOLORBTN || (msg)==WM_CTLCOLORDLG || (msg)==WM_CTLCOLORSCROLLBAR || (msg)==WM_CTLCOLORSTATIC || (msg)==WM_COMPAREITEM || (msg)==WM_VKEYTOITEM || (msg)==WM_CHARTOITEM || (msg)==WM_QUERYDRAGICON || (msg)==WM_INITDIALOG) ? (WINBOOL)(result) : (SetWindowLongPtr((hwnd),DWLP_MSGRESULT,(LPARAM)(LRESULT)(result)),TRUE)) +#define DefDlgProcEx(hwnd,msg,wParam,lParam,pfRecursion) (*(pfRecursion) = TRUE,DefDlgProc(hwnd,msg,wParam,lParam)) +#define CheckDefDlgRecursion(pfRecursion) if (*(pfRecursion)) { *(pfRecursion) = FALSE; return FALSE; } +#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn)) +#define HANDLE_WM_COMPACTING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_COMPACTING(hwnd,compactRatio,fn) (void)(fn)((hwnd),WM_COMPACTING,(WPARAM)(UINT)(compactRatio),(LPARAM)0) +#define HANDLE_WM_WININICHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),(LRESULT)0) +#define FORWARD_WM_WININICHANGE(hwnd,lpszSectionName,fn) (void)(fn)((hwnd),WM_WININICHANGE,(WPARAM)0,(LPARAM)(LPCTSTR)(lpszSectionName)) +#define HANDLE_WM_SYSCOLORCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_SYSCOLORCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_SYSCOLORCHANGE,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_QUERYNEWPALETTE(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_QUERYNEWPALETTE(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYNEWPALETTE,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_PALETTEISCHANGING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_PALETTEISCHANGING(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTEISCHANGING,(WPARAM)(HWND)(hwndPaletteChange),(LPARAM)0) +#define HANDLE_WM_PALETTECHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_PALETTECHANGED(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTECHANGED,(WPARAM)(HWND)(hwndPaletteChange),(LPARAM)0) +#define HANDLE_WM_FONTCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_FONTCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_FONTCHANGE,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_SPOOLERSTATUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SPOOLERSTATUS(hwnd,status,cJobInQueue,fn) (void)(fn)((hwnd),WM_SPOOLERSTATUS,(WPARAM)(status),MAKELPARAM((cJobInQueue),0)) +#define HANDLE_WM_DEVMODECHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),(LRESULT)0) +#define FORWARD_WM_DEVMODECHANGE(hwnd,lpszDeviceName,fn) (void)(fn)((hwnd),WM_DEVMODECHANGE,(WPARAM)0,(LPARAM)(LPCTSTR)(lpszDeviceName)) +#define HANDLE_WM_TIMECHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_TIMECHANGE(hwnd,fn) (void)(fn)((hwnd),WM_TIMECHANGE,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_POWER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),(LRESULT)0) +#define FORWARD_WM_POWER(hwnd,code,fn) (void)(fn)((hwnd),WM_POWER,(WPARAM)(int)(code),(LPARAM)0) +#define HANDLE_WM_QUERYENDSESSION(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_QUERYENDSESSION(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYENDSESSION,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_ENDSESSION(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),(LRESULT)0) +#define FORWARD_WM_ENDSESSION(hwnd,fEnding,fn) (void)(fn)((hwnd),WM_ENDSESSION,(WPARAM)(WINBOOL)(fEnding),(LPARAM)0) +#define HANDLE_WM_QUIT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),(LRESULT)0) +#define FORWARD_WM_QUIT(hwnd,exitCode,fn) (void)(fn)((hwnd),WM_QUIT,(WPARAM)(exitCode),(LPARAM)0) +#define HANDLE_WM_SYSTEMERROR(hwnd,wParam,lParam,fn) (LRESULT)0 +#define FORWARD_WM_SYSTEMERROR(hwnd,errCode,fn) (LRESULT)0 + +#define HANDLE_WM_CREATE(hwnd,wParam,lParam,fn) (LRESULT)((fn)((hwnd),(LPCREATESTRUCT)(lParam)) ? 0 : -1) +#define FORWARD_WM_CREATE(hwnd,lpCreateStruct,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_CREATE,(WPARAM)0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct)) + +#define HANDLE_WM_NCCREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(LPCREATESTRUCT)(lParam)) +#define FORWARD_WM_NCCREATE(hwnd,lpCreateStruct,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_NCCREATE,(WPARAM)0,(LPARAM)(LPCREATESTRUCT)(lpCreateStruct)) + +#define HANDLE_WM_DESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_DESTROY(hwnd,fn) (void)(fn)((hwnd),WM_DESTROY,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_NCDESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_NCDESTROY(hwnd,fn) (void)(fn)((hwnd),WM_NCDESTROY,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_SHOWWINDOW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam),(UINT)(lParam)),(LRESULT)0) +#define FORWARD_WM_SHOWWINDOW(hwnd,fShow,status,fn) (void)(fn)((hwnd),WM_SHOWWINDOW,(WPARAM)(WINBOOL)(fShow),(LPARAM)(UINT)(status)) + +#define HANDLE_WM_SETREDRAW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),(LRESULT)0) +#define FORWARD_WM_SETREDRAW(hwnd,fRedraw,fn) (void)(fn)((hwnd),WM_SETREDRAW,(WPARAM)(WINBOOL)(fRedraw),(LPARAM)0) + +#define HANDLE_WM_ENABLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),(LRESULT)0) +#define FORWARD_WM_ENABLE(hwnd,fEnable,fn) (void)(fn)((hwnd),WM_ENABLE,(WPARAM)(WINBOOL)(fEnable),(LPARAM)0) + +#define HANDLE_WM_SETTEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCTSTR)(lParam)),(LRESULT)0) +#define FORWARD_WM_SETTEXT(hwnd,lpszText,fn) (void)(fn)((hwnd),WM_SETTEXT,(WPARAM)0,(LPARAM)(LPCTSTR)(lpszText)) + +#define HANDLE_WM_GETTEXT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)) +#define FORWARD_WM_GETTEXT(hwnd,cchTextMax,lpszText,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXT,(WPARAM)(int)(cchTextMax),(LPARAM)(LPTSTR)(lpszText)) + +#define HANDLE_WM_GETTEXTLENGTH(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)(hwnd) +#define FORWARD_WM_GETTEXTLENGTH(hwnd,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXTLENGTH,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_WINDOWPOSCHANGING(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(LPWINDOWPOS)(lParam)) +#define FORWARD_WM_WINDOWPOSCHANGING(hwnd,lpwpos,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_WINDOWPOSCHANGING,(WPARAM)0,(LPARAM)(LPWINDOWPOS)(lpwpos)) + +#define HANDLE_WM_WINDOWPOSCHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const LPWINDOWPOS)(lParam)),(LRESULT)0) +#define FORWARD_WM_WINDOWPOSCHANGED(hwnd,lpwpos,fn) (void)(fn)((hwnd),WM_WINDOWPOSCHANGED,(WPARAM)0,(LPARAM)(const LPWINDOWPOS)(lpwpos)) + +#define HANDLE_WM_MOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_MOVE(hwnd,x,y,fn) (void)(fn)((hwnd),WM_MOVE,(WPARAM)0,MAKELPARAM((x),(y))) + +#define HANDLE_WM_SIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SIZE(hwnd,state,cx,cy,fn) (void)(fn)((hwnd),WM_SIZE,(WPARAM)(UINT)(state),MAKELPARAM((cx),(cy))) + +#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_CLOSE(hwnd,fn) (void)(fn)((hwnd),WM_CLOSE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_QUERYOPEN(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),0) +#define FORWARD_WM_QUERYOPEN(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYOPEN,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_GETMINMAXINFO(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPMINMAXINFO)(lParam)),(LRESULT)0) +#define FORWARD_WM_GETMINMAXINFO(hwnd,lpMinMaxInfo,fn) (void)(fn)((hwnd),WM_GETMINMAXINFO,(WPARAM)0,(LPARAM)(LPMINMAXINFO)(lpMinMaxInfo)) + +#define HANDLE_WM_PAINT(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_PAINT(hwnd,fn) (void)(fn)((hwnd),WM_PAINT,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_ERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HDC)(wParam)) +#define FORWARD_WM_ERASEBKGND(hwnd,hdc,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_ERASEBKGND,(WPARAM)(HDC)(hdc),(LPARAM)0) + +#define HANDLE_WM_ICONERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HDC)(wParam)) +#define FORWARD_WM_ICONERASEBKGND(hwnd,hdc,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_ICONERASEBKGND,(WPARAM)(HDC)(hdc),(LPARAM)0) + +#define HANDLE_WM_NCPAINT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HRGN)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCPAINT(hwnd,hrgn,fn) (void)(fn)((hwnd),WM_NCPAINT,(WPARAM)(HRGN)(hrgn),(LPARAM)0) + +#define HANDLE_WM_NCCALCSIZE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(WINBOOL)(wParam),(NCCALCSIZE_PARAMS *)(lParam)) +#define FORWARD_WM_NCCALCSIZE(hwnd,fCalcValidRects,lpcsp,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCCALCSIZE,(WPARAM)(fCalcValidRects),(LPARAM)(NCCALCSIZE_PARAMS *)(lpcsp)) + +#define HANDLE_WM_NCHITTEST(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)) +#define FORWARD_WM_NCHITTEST(hwnd,x,y,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCHITTEST,(WPARAM)0,MAKELPARAM((x),(y))) + +#define HANDLE_WM_QUERYDRAGICON(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd) +#define FORWARD_WM_QUERYDRAGICON(hwnd,fn) (HICON)(UINT)(DWORD)(fn)((hwnd),WM_QUERYDRAGICON,(WPARAM)0,(LPARAM)0) + +#ifdef _INC_SHELLAPI + +#define HANDLE_WM_DROPFILES(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HDROP)(wParam)),(LRESULT)0) +#define FORWARD_WM_DROPFILES(hwnd,hdrop,fn) (void)(fn)((hwnd),WM_DROPFILES,(WPARAM)(HDROP)(hdrop),(LPARAM)0) +#endif + +#define HANDLE_WM_ACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(WINBOOL)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_ACTIVATE(hwnd,state,hwndActDeact,fMinimized,fn) (void)(fn)((hwnd),WM_ACTIVATE,MAKEWPARAM((state),(fMinimized)),(LPARAM)(HWND)(hwndActDeact)) + +#define HANDLE_WM_ACTIVATEAPP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam),(DWORD)(lParam)),(LRESULT)0) +#define FORWARD_WM_ACTIVATEAPP(hwnd,fActivate,dwThreadId,fn) (void)(fn)((hwnd),WM_ACTIVATEAPP,(WPARAM)(WINBOOL)(fActivate),(LPARAM)(dwThreadId)) + +#define HANDLE_WM_NCACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(WINBOOL)(wParam),(WPARAM)0,(LPARAM)0) +#define FORWARD_WM_NCACTIVATE(hwnd,fActive,hwndActDeact,fMinimized,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_NCACTIVATE,(WPARAM)(WINBOOL)(fActive),(LPARAM)0) + +#define HANDLE_WM_SETFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_SETFOCUS(hwnd,hwndOldFocus,fn) (void)(fn)((hwnd),WM_SETFOCUS,(WPARAM)(HWND)(hwndOldFocus),(LPARAM)0) + +#define HANDLE_WM_KILLFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_KILLFOCUS(hwnd,hwndNewFocus,fn) (void)(fn)((hwnd),WM_KILLFOCUS,(WPARAM)(HWND)(hwndNewFocus),(LPARAM)0) + +#define HANDLE_WM_KEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_KEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) + +#define HANDLE_WM_KEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_KEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) + +#define HANDLE_WM_CHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_CHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_CHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) + +#define HANDLE_WM_DEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_DEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_DEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) + +#define HANDLE_WM_SYSKEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SYSKEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) + +#define HANDLE_WM_SYSKEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)(short)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SYSKEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((cRepeat),(flags))) + +#define HANDLE_WM_SYSCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SYSCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) + +#define HANDLE_WM_SYSDEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(TCHAR)(wParam),(int)(short)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SYSDEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSDEADCHAR,(WPARAM)(TCHAR)(ch),MAKELPARAM((cRepeat),0)) + +#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_MOUSEMOVE(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MOUSEMOVE,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_LBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_LBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_LBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_LBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_LBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_LBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_RBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_RBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_RBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_RBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_RBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_RBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_MBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_MBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_MBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MOUSEWHEEL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(int)(short)HIWORD(wParam),(UINT)(short)LOWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_MOUSEWHEEL(hwnd,xPos,yPos,zDelta,fwKeys,fn) (void)(fn)((hwnd),WM_MOUSEWHEEL,MAKEWPARAM((fwKeys),(zDelta)),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCMOUSEMOVE(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMOUSEMOVE,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCLBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCLBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCLBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_NCLBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCLBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCLBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCRBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCRBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCRBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_NCRBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCRBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCRBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCMBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) + +#define HANDLE_WM_NCMBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_NCMBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MOUSEACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define FORWARD_WM_MOUSEACTIVATE(hwnd,hwndTopLevel,codeHitTest,msg,fn) (int)(DWORD)(fn)((hwnd),WM_MOUSEACTIVATE,(WPARAM)(HWND)(hwndTopLevel),MAKELPARAM((codeHitTest),(msg))) + +#define HANDLE_WM_CANCELMODE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_CANCELMODE(hwnd,fn) (void)(fn)((hwnd),WM_CANCELMODE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_TIMER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),(LRESULT)0) +#define FORWARD_WM_TIMER(hwnd,id,fn) (void)(fn)((hwnd),WM_TIMER,(WPARAM)(UINT)(id),(LPARAM)0) + +#define HANDLE_WM_INITMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam)),(LRESULT)0) +#define FORWARD_WM_INITMENU(hwnd,hMenu,fn) (void)(fn)((hwnd),WM_INITMENU,(WPARAM)(HMENU)(hMenu),(LPARAM)0) + +#define HANDLE_WM_INITMENUPOPUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam),(UINT)LOWORD(lParam),(WINBOOL)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_INITMENUPOPUP(hwnd,hMenu,item,fSystemMenu,fn) (void)(fn)((hwnd),WM_INITMENUPOPUP,(WPARAM)(HMENU)(hMenu),MAKELPARAM((item),(fSystemMenu))) + +#define HANDLE_WM_MENUSELECT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(lParam),(HIWORD(wParam) & MF_POPUP) ? 0 : (int)(LOWORD(wParam)),(HIWORD(wParam) & MF_POPUP) ? GetSubMenu((HMENU)lParam,LOWORD(wParam)) : (HMENU)0,(UINT)(((short)HIWORD(wParam)==-1) ? 0xFFFFFFFF : HIWORD(wParam))),(LRESULT)0) +#define FORWARD_WM_MENUSELECT(hwnd,hmenu,item,hmenuPopup,flags,fn) (void)(fn)((hwnd),WM_MENUSELECT,MAKEWPARAM((item),(flags)),(LPARAM)(HMENU)((hmenu) ? (hmenu) : (hmenuPopup))) + +#define HANDLE_WM_MENUCHAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(LOWORD(wParam)),(UINT)HIWORD(wParam),(HMENU)(lParam)) +#define FORWARD_WM_MENUCHAR(hwnd,ch,flags,hmenu,fn) (DWORD)(fn)((hwnd),WM_MENUCHAR,MAKEWPARAM(flags,(WORD)(ch)),(LPARAM)(HMENU)(hmenu)) + +#define HANDLE_WM_COMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(LOWORD(wParam)),(HWND)(lParam),(UINT)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_COMMAND(hwnd,id,hwndCtl,codeNotify,fn) (void)(fn)((hwnd),WM_COMMAND,MAKEWPARAM((UINT)(id),(UINT)(codeNotify)),(LPARAM)(HWND)(hwndCtl)) + +#define HANDLE_WM_HSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_HSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(HWND)(hwndCtl)) + +#define HANDLE_WM_VSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(lParam),(UINT)(LOWORD(wParam)),(int)(short)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_VSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLL,MAKEWPARAM((UINT)(int)(code),(UINT)(int)(pos)),(LPARAM)(HWND)(hwndCtl)) + +#define HANDLE_WM_CUT(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_CUT(hwnd,fn) (void)(fn)((hwnd),WM_CUT,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_COPY(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_COPY(hwnd,fn) (void)(fn)((hwnd),WM_COPY,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_PASTE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_PASTE(hwnd,fn) (void)(fn)((hwnd),WM_PASTE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_CLEAR(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_CLEAR(hwnd,fn) (void)(fn)((hwnd),WM_CLEAR,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_UNDO(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_UNDO(hwnd,fn) (void)(fn)((hwnd),WM_UNDO,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_RENDERFORMAT(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HANDLE)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_RENDERFORMAT(hwnd,fmt,fn) (HANDLE)(UINT_PTR)(fn)((hwnd),WM_RENDERFORMAT,(WPARAM)(UINT)(fmt),(LPARAM)0) + +#define HANDLE_WM_RENDERALLFORMATS(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_RENDERALLFORMATS(hwnd,fn) (void)(fn)((hwnd),WM_RENDERALLFORMATS,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_DESTROYCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_DESTROYCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DESTROYCLIPBOARD,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_DRAWCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_DRAWCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DRAWCLIPBOARD,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_PAINTCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPPAINTSTRUCT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),(LRESULT)0) +#define FORWARD_WM_PAINTCLIPBOARD(hwnd,hwndCBViewer,lpPaintStruct,fn) (void)(fn)((hwnd),WM_PAINTCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPPAINTSTRUCT)(lpPaintStruct)) + +#define HANDLE_WM_SIZECLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const LPRECT)GlobalLock((HGLOBAL)(lParam))),GlobalUnlock((HGLOBAL)(lParam)),(LRESULT)0) +#define FORWARD_WM_SIZECLIPBOARD(hwnd,hwndCBViewer,lprc,fn) (void)(fn)((hwnd),WM_SIZECLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(LPRECT)(lprc)) + +#define HANDLE_WM_VSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_VSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) + +#define HANDLE_WM_HSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(int)(short)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_HSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) + +#define HANDLE_WM_ASKCBFORMATNAME(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(LPTSTR)(lParam)),(LRESULT)0) +#define FORWARD_WM_ASKCBFORMATNAME(hwnd,cchMax,rgchName,fn) (void)(fn)((hwnd),WM_ASKCBFORMATNAME,(WPARAM)(int)(cchMax),(LPARAM)(rgchName)) + +#define HANDLE_WM_CHANGECBCHAIN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(HWND)(lParam)),(LRESULT)0) +#define FORWARD_WM_CHANGECBCHAIN(hwnd,hwndRemove,hwndNext,fn) (void)(fn)((hwnd),WM_CHANGECBCHAIN,(WPARAM)(HWND)(hwndRemove),(LPARAM)(HWND)(hwndNext)) + +#define HANDLE_WM_SETCURSOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define FORWARD_WM_SETCURSOR(hwnd,hwndCursor,codeHitTest,msg,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_SETCURSOR,(WPARAM)(HWND)(hwndCursor),MAKELPARAM((codeHitTest),(msg))) + +#define HANDLE_WM_SYSCOMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)(short)LOWORD(lParam),(int)(short)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_SYSCOMMAND(hwnd,cmd,x,y,fn) (void)(fn)((hwnd),WM_SYSCOMMAND,(WPARAM)(UINT)(cmd),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MDICREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(LPMDICREATESTRUCT)(lParam)) +#define FORWARD_WM_MDICREATE(hwnd,lpmcs,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDICREATE,(WPARAM)0,(LPARAM)(LPMDICREATESTRUCT)(lpmcs)) + +#define HANDLE_WM_MDIDESTROY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_MDIDESTROY(hwnd,hwndDestroy,fn) (void)(fn)((hwnd),WM_MDIDESTROY,(WPARAM)(hwndDestroy),(LPARAM)0) + +#define HANDLE_WM_MDIACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(lParam==(LPARAM)hwnd),(HWND)(lParam),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_MDIACTIVATE(hwnd,fActive,hwndActivate,hwndDeactivate,fn) (void)(fn)(hwnd,WM_MDIACTIVATE,(WPARAM)(hwndDeactivate),(LPARAM)(hwndActivate)) + +#define HANDLE_WM_MDIRESTORE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_MDIRESTORE(hwnd,hwndRestore,fn) (void)(fn)((hwnd),WM_MDIRESTORE,(WPARAM)(hwndRestore),(LPARAM)0) + +#define HANDLE_WM_MDINEXT(hwnd,wParam,lParam,fn) (LRESULT)(HWND)(fn)((hwnd),(HWND)(wParam),(WINBOOL)lParam) +#define FORWARD_WM_MDINEXT(hwnd,hwndCur,fPrev,fn) (HWND)(UINT_PTR)(fn)((hwnd),WM_MDINEXT,(WPARAM)(hwndCur),(LPARAM)(fPrev)) + +#define HANDLE_WM_MDIMAXIMIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),(LRESULT)0) +#define FORWARD_WM_MDIMAXIMIZE(hwnd,hwndMaximize,fn) (void)(fn)((hwnd),WM_MDIMAXIMIZE,(WPARAM)(hwndMaximize),(LPARAM)0) + +#define HANDLE_WM_MDITILE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_MDITILE(hwnd,cmd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_MDITILE,(WPARAM)(cmd),(LPARAM)0) + +#define HANDLE_WM_MDICASCADE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_MDICASCADE(hwnd,cmd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_MDICASCADE,(WPARAM)(cmd),(LPARAM)0) + +#define HANDLE_WM_MDIICONARRANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_MDIICONARRANGE(hwnd,fn) (void)(fn)((hwnd),WM_MDIICONARRANGE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_MDIGETACTIVE(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(fn)(hwnd) +#define FORWARD_WM_MDIGETACTIVE(hwnd,fn) (HWND)(UINT_PTR)(fn)((hwnd),WM_MDIGETACTIVE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_MDISETMENU(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(fn)((hwnd),(WINBOOL)(wParam),(HMENU)(wParam),(HMENU)(lParam)) +#define FORWARD_WM_MDISETMENU(hwnd,fRefresh,hmenuFrame,hmenuWindow,fn) (HMENU)(UINT_PTR)(fn)((hwnd),WM_MDISETMENU,(WPARAM)((fRefresh) ? (hmenuFrame) : 0),(LPARAM)(hmenuWindow)) + +#define HANDLE_WM_CHILDACTIVATE(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_CHILDACTIVATE(hwnd,fn) (void)(fn)((hwnd),WM_CHILDACTIVATE,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_INITDIALOG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(WINBOOL)(fn)((hwnd),(HWND)(wParam),lParam) +#define FORWARD_WM_INITDIALOG(hwnd,hwndFocus,lParam,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_INITDIALOG,(WPARAM)(HWND)(hwndFocus),(lParam)) + +#define HANDLE_WM_NEXTDLGCTL(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HWND)(fn)((hwnd),(HWND)(wParam),(WINBOOL)(lParam)) +#define FORWARD_WM_NEXTDLGCTL(hwnd,hwndSetFocus,fNext,fn) (HWND)(UINT_PTR)(fn)((hwnd),WM_NEXTDLGCTL,(WPARAM)(HWND)(hwndSetFocus),(LPARAM)(fNext)) + +#define HANDLE_WM_PARENTNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(UINT)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_PARENTNOTIFY(hwnd,msg,hwndChild,idChild,fn) (void)(fn)((hwnd),WM_PARENTNOTIFY,MAKEWPARAM(msg,idChild),(LPARAM)(hwndChild)) + +#define HANDLE_WM_ENTERIDLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)(lParam)),(LRESULT)0) +#define FORWARD_WM_ENTERIDLE(hwnd,source,hwndSource,fn) (void)(fn)((hwnd),WM_ENTERIDLE,(WPARAM)(UINT)(source),(LPARAM)(HWND)(hwndSource)) + +#define HANDLE_WM_GETDLGCODE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd,(LPMSG)(lParam)) +#define FORWARD_WM_GETDLGCODE(hwnd,lpmsg,fn) (UINT)(DWORD)(fn)((hwnd),WM_GETDLGCODE,(lpmsg ? lpmsg->wParam : 0),(LPARAM)(LPMSG)(lpmsg)) + +#define HANDLE_WM_CTLCOLORMSGBOX(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_MSGBOX) +#define FORWARD_WM_CTLCOLORMSGBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORMSGBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLOREDIT(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_EDIT) +#define FORWARD_WM_CTLCOLOREDIT(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLOREDIT,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLORLISTBOX(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_LISTBOX) +#define FORWARD_WM_CTLCOLORLISTBOX(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORLISTBOX,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLORBTN(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_BTN) +#define FORWARD_WM_CTLCOLORBTN(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORBTN,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLORDLG(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_DLG) +#define FORWARD_WM_CTLCOLORDLG(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORDLG,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_SCROLLBAR) +#define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORSCROLLBAR,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_CTLCOLORSTATIC(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)(lParam),CTLCOLOR_STATIC) +#define FORWARD_WM_CTLCOLORSTATIC(hwnd,hdc,hwndChild,fn) (HBRUSH)(UINT_PTR)(fn)((hwnd),WM_CTLCOLORSTATIC,(WPARAM)(HDC)(hdc),(LPARAM)(HWND)(hwndChild)) + +#define HANDLE_WM_SETFONT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HFONT)(wParam),(WINBOOL)(lParam)),(LRESULT)0) +#define FORWARD_WM_SETFONT(hwnd,hfont,fRedraw,fn) (void)(fn)((hwnd),WM_SETFONT,(WPARAM)(HFONT)(hfont),(LPARAM)(WINBOOL)(fRedraw)) + +#define HANDLE_WM_GETFONT(hwnd,wParam,lParam,fn) (LRESULT)(UINT_PTR)(HFONT)(fn)(hwnd) +#define FORWARD_WM_GETFONT(hwnd,fn) (HFONT)(UINT_PTR)(fn)((hwnd),WM_GETFONT,(WPARAM)0,(LPARAM)0) + +#define HANDLE_WM_DRAWITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DRAWITEMSTRUCT *)(lParam)),(LRESULT)0) +#define FORWARD_WM_DRAWITEM(hwnd,lpDrawItem,fn) (void)(fn)((hwnd),WM_DRAWITEM,(WPARAM)(((const DRAWITEMSTRUCT *)lpDrawItem)->CtlID),(LPARAM)(const DRAWITEMSTRUCT *)(lpDrawItem)) + +#define HANDLE_WM_MEASUREITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MEASUREITEMSTRUCT *)(lParam)),(LRESULT)0) +#define FORWARD_WM_MEASUREITEM(hwnd,lpMeasureItem,fn) (void)(fn)((hwnd),WM_MEASUREITEM,(WPARAM)(((MEASUREITEMSTRUCT *)lpMeasureItem)->CtlID),(LPARAM)(MEASUREITEMSTRUCT *)(lpMeasureItem)) + +#define HANDLE_WM_DELETEITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DELETEITEMSTRUCT *)(lParam)),(LRESULT)0) +#define FORWARD_WM_DELETEITEM(hwnd,lpDeleteItem,fn) (void)(fn)((hwnd),WM_DELETEITEM,(WPARAM)(((const DELETEITEMSTRUCT *)(lpDeleteItem))->CtlID),(LPARAM)(const DELETEITEMSTRUCT *)(lpDeleteItem)) + +#define HANDLE_WM_COMPAREITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(const COMPAREITEMSTRUCT *)(lParam)) +#define FORWARD_WM_COMPAREITEM(hwnd,lpCompareItem,fn) (int)(DWORD)(fn)((hwnd),WM_COMPAREITEM,(WPARAM)(((const COMPAREITEMSTRUCT *)(lpCompareItem))->CtlID),(LPARAM)(const COMPAREITEMSTRUCT *)(lpCompareItem)) + +#define HANDLE_WM_VKEYTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam)) +#define FORWARD_WM_VKEYTOITEM(hwnd,vk,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_VKEYTOITEM,MAKEWPARAM((vk),(iCaret)),(LPARAM)(hwndListBox)) + +#define HANDLE_WM_CHARTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)LOWORD(wParam),(HWND)(lParam),(int)(short)HIWORD(wParam)) +#define FORWARD_WM_CHARTOITEM(hwnd,ch,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_CHARTOITEM,MAKEWPARAM((UINT)(ch),(UINT)(iCaret)),(LPARAM)(hwndListBox)) + +#define HANDLE_WM_QUEUESYNC(hwnd,wParam,lParam,fn) ((fn)(hwnd),(LRESULT)0) +#define FORWARD_WM_QUEUESYNC(hwnd,fn) (void)(fn)((hwnd),WM_QUEUESYNC,(WPARAM)0,(LPARAM)0) +#define HANDLE_WM_COMMNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(UINT)LOWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_COMMNOTIFY(hwnd,cid,flags,fn) (void)(fn)((hwnd),WM_COMMNOTIFY,(WPARAM)(cid),MAKELPARAM((flags),0)) + +#define HANDLE_WM_DISPLAYCHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(wParam)),(LRESULT)0) +#define FORWARD_WM_DISPLAYCHANGE(hwnd,bitsPerPixel,cxScreen,cyScreen,fn) (void)(fn)((hwnd),WM_DISPLAYCHANGE,(WPARAM)(UINT)(bitsPerPixel),(LPARAM)MAKELPARAM((UINT)(cxScreen),(UINT)(cyScreen))) + +#define HANDLE_WM_DEVICECHANGE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(UINT)(wParam),(DWORD)(wParam)) +#define FORWARD_WM_DEVICECHANGE(hwnd,uEvent,dwEventData,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_DEVICECHANGE,(WPARAM)(UINT)(uEvent),(LPARAM)(DWORD)(dwEventData)) + +#define HANDLE_WM_CONTEXTMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_CONTEXTMENU(hwnd,hwndContext,xPos,yPos,fn) (void)(fn)((hwnd),WM_CONTEXTMENU,(WPARAM)(HWND)(hwndContext),MAKELPARAM((UINT)(xPos),(UINT)(yPos))) + +#define HANDLE_WM_COPYDATA(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(PCOPYDATASTRUCT)lParam),(LRESULT)0) +#define FORWARD_WM_COPYDATA(hwnd,hwndFrom,pcds,fn) (WINBOOL)(UINT)(DWORD)(fn)((hwnd),WM_COPYDATA,(WPARAM)(hwndFrom),(LPARAM)(pcds)) + +#define HANDLE_WM_HOTKEY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)),(LRESULT)0) +#define FORWARD_WM_HOTKEY(hwnd,idHotKey,fuModifiers,vk,fn) (void)(fn)((hwnd),WM_HOTKEY,(WPARAM)(idHotKey),MAKELPARAM((fuModifiers),(vk))) + +#define Static_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define Static_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Static_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define Static_SetIcon(hwndCtl,hIcon) ((HICON)(UINT_PTR)SNDMSG((hwndCtl),STM_SETICON,(WPARAM)(HICON)(hIcon),(LPARAM)0)) +#define Static_GetIcon(hwndCtl,hIcon) ((HICON)(UINT_PTR)SNDMSG((hwndCtl),STM_GETICON,(WPARAM)0,(LPARAM)0)) + +#define Button_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define Button_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Button_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define Button_GetCheck(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),BM_GETCHECK,(WPARAM)0,(LPARAM)0)) +#define Button_SetCheck(hwndCtl,check) ((void)SNDMSG((hwndCtl),BM_SETCHECK,(WPARAM)(int)(check),(LPARAM)0)) + +#define Button_GetState(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),BM_GETSTATE,(WPARAM)0,(LPARAM)0)) +#define Button_SetState(hwndCtl,state) ((UINT)(DWORD)SNDMSG((hwndCtl),BM_SETSTATE,(WPARAM)(int)(state),(LPARAM)0)) +#define Button_SetStyle(hwndCtl,style,fRedraw) ((void)SNDMSG((hwndCtl),BM_SETSTYLE,(WPARAM)LOWORD(style),MAKELPARAM(((fRedraw) ? TRUE : FALSE),0))) + +#define Edit_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) +#define Edit_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Edit_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) +#define Edit_LimitText(hwndCtl,cchMax) ((void)SNDMSG((hwndCtl),EM_LIMITTEXT,(WPARAM)(cchMax),(LPARAM)0)) +#define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),EM_GETLINECOUNT,(WPARAM)0,(LPARAM)0)) +#define Edit_GetLine(hwndCtl,line,lpch,cchMax) ((*((int *)(lpch)) = (cchMax)),((int)(DWORD)SNDMSG((hwndCtl),EM_GETLINE,(WPARAM)(int)(line),(LPARAM)(LPTSTR)(lpch)))) +#define Edit_GetRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_GETRECT,(LPARAM)0,(LPARAM)(RECT *)(lprc))) +#define Edit_SetRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_SETRECT,(LPARAM)0,(LPARAM)(const RECT *)(lprc))) +#define Edit_SetRectNoPaint(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),EM_SETRECTNP,(LPARAM)0,(LPARAM)(const RECT *)(lprc))) + +#define Edit_GetSel(hwndCtl) ((DWORD)SNDMSG((hwndCtl),EM_GETSEL,(WPARAM)0,(LPARAM)0)) +#define Edit_SetSel(hwndCtl,ichStart,ichEnd) ((void)SNDMSG((hwndCtl),EM_SETSEL,(ichStart),(ichEnd))) +#define Edit_ReplaceSel(hwndCtl,lpszReplace) ((void)SNDMSG((hwndCtl),EM_REPLACESEL,(LPARAM)0,(LPARAM)(LPCTSTR)(lpszReplace))) + +#define Edit_GetModify(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_GETMODIFY,(WPARAM)0,(LPARAM)0)) +#define Edit_SetModify(hwndCtl,fModified) ((void)SNDMSG((hwndCtl),EM_SETMODIFY,(WPARAM)(UINT)(fModified),(LPARAM)0)) + +#define Edit_ScrollCaret(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_SCROLLCARET,(WPARAM)0,(LPARAM)0)) + +#define Edit_LineFromChar(hwndCtl,ich) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINEFROMCHAR,(WPARAM)(int)(ich),(LPARAM)0)) +#define Edit_LineIndex(hwndCtl,line) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINEINDEX,(WPARAM)(int)(line),(LPARAM)0)) +#define Edit_LineLength(hwndCtl,line) ((int)(DWORD)SNDMSG((hwndCtl),EM_LINELENGTH,(WPARAM)(int)(line),(LPARAM)0)) + +#define Edit_Scroll(hwndCtl,dv,dh) ((void)SNDMSG((hwndCtl),EM_LINESCROLL,(WPARAM)(dh),(LPARAM)(dv))) + +#define Edit_CanUndo(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_CANUNDO,(WPARAM)0,(LPARAM)0)) +#define Edit_Undo(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_UNDO,(WPARAM)0,(LPARAM)0)) +#define Edit_EmptyUndoBuffer(hwndCtl) ((void)SNDMSG((hwndCtl),EM_EMPTYUNDOBUFFER,(WPARAM)0,(LPARAM)0)) + +#define Edit_SetPasswordChar(hwndCtl,ch) ((void)SNDMSG((hwndCtl),EM_SETPASSWORDCHAR,(WPARAM)(UINT)(ch),(LPARAM)0)) + +#define Edit_SetTabStops(hwndCtl,cTabs,lpTabs) ((void)SNDMSG((hwndCtl),EM_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(const int *)(lpTabs))) + +#define Edit_FmtLines(hwndCtl,fAddEOL) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_FMTLINES,(WPARAM)(WINBOOL)(fAddEOL),(LPARAM)0)) + +#define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT_PTR)SNDMSG((hwndCtl),EM_GETHANDLE,(WPARAM)0,(LPARAM)0)) +#define Edit_SetHandle(hwndCtl,h) ((void)SNDMSG((hwndCtl),EM_SETHANDLE,(WPARAM)(UINT_PTR)(HLOCAL)(h),(LPARAM)0)) + +#define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),EM_GETFIRSTVISIBLELINE,(WPARAM)0,(LPARAM)0)) + +#define Edit_SetReadOnly(hwndCtl,fReadOnly) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),EM_SETREADONLY,(WPARAM)(WINBOOL)(fReadOnly),(LPARAM)0)) + +#define Edit_GetPasswordChar(hwndCtl) ((TCHAR)(DWORD)SNDMSG((hwndCtl),EM_GETPASSWORDCHAR,(WPARAM)0,(LPARAM)0)) + +#define Edit_SetWordBreakProc(hwndCtl,lpfnWordBreak) ((void)SNDMSG((hwndCtl),EM_SETWORDBREAKPROC,(LPARAM)0,(LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak))) +#define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SNDMSG((hwndCtl),EM_GETWORDBREAKPROC,(WPARAM)0,(LPARAM)0)) + +#define ScrollBar_Enable(hwndCtl,flags) EnableScrollBar((hwndCtl),SB_CTL,(flags)) + +#define ScrollBar_Show(hwndCtl,fShow) ShowWindow((hwndCtl),(fShow) ? SW_SHOWNORMAL : SW_HIDE) + +#define ScrollBar_SetPos(hwndCtl,pos,fRedraw) SetScrollPos((hwndCtl),SB_CTL,(pos),(fRedraw)) +#define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl),SB_CTL) + +#define ScrollBar_SetRange(hwndCtl,posMin,posMax,fRedraw) SetScrollRange((hwndCtl),SB_CTL,(posMin),(posMax),(fRedraw)) +#define ScrollBar_GetRange(hwndCtl,lpposMin,lpposMax) GetScrollRange((hwndCtl),SB_CTL,(lpposMin),(lpposMax)) + +#define ListBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define ListBox_GetCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCOUNT,(WPARAM)0,(LPARAM)0)) +#define ListBox_ResetContent(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),LB_RESETCONTENT,(WPARAM)0,(LPARAM)0)) + +#define ListBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),LB_ADDSTRING,(LPARAM)0,(LPARAM)(LPCTSTR)(lpsz))) +#define ListBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz))) + +#define ListBox_AddItemData(hwndCtl,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_ADDSTRING,(LPARAM)0,(LPARAM)(data))) +#define ListBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ListBox_DeleteString(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_DELETESTRING,(WPARAM)(int)(index),(LPARAM)0)) + +#define ListBox_GetTextLen(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTEXTLEN,(WPARAM)(int)(index),(LPARAM)0)) +#define ListBox_GetText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer))) + +#define ListBox_GetItemData(hwndCtl,index) ((LRESULT)(ULONG_PTR)SNDMSG((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),(LPARAM)0)) +#define ListBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ListBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ListBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ListBox_SetSel(hwndCtl,fSelect,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETSEL,(WPARAM)(WINBOOL)(fSelect),(LPARAM)(index))) +#define ListBox_SelItemRange(hwndCtl,fSelect,first,last) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELITEMRANGE,(WPARAM)(WINBOOL)(fSelect),MAKELPARAM((first),(last)))) + +#define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCURSEL,(WPARAM)0,(LPARAM)0)) +#define ListBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETCURSEL,(WPARAM)(int)(index),(LPARAM)0)) + +#define ListBox_SelectString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ListBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ListBox_GetSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSEL,(WPARAM)(int)(index),(LPARAM)0)) +#define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSELCOUNT,(WPARAM)0,(LPARAM)0)) +#define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETTOPINDEX,(WPARAM)0,(LPARAM)0)) +#define ListBox_GetSelItems(hwndCtl,cItems,lpItems) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETSELITEMS,(WPARAM)(int)(cItems),(LPARAM)(int *)(lpItems))) + +#define ListBox_SetTopIndex(hwndCtl,indexTop) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETTOPINDEX,(WPARAM)(int)(indexTop),(LPARAM)0)) + +#define ListBox_SetColumnWidth(hwndCtl,cxColumn) ((void)SNDMSG((hwndCtl),LB_SETCOLUMNWIDTH,(WPARAM)(int)(cxColumn),(LPARAM)0)) +#define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETHORIZONTALEXTENT,(WPARAM)0,(LPARAM)0)) +#define ListBox_SetHorizontalExtent(hwndCtl,cxExtent) ((void)SNDMSG((hwndCtl),LB_SETHORIZONTALEXTENT,(WPARAM)(int)(cxExtent),(LPARAM)0)) + +#define ListBox_SetTabStops(hwndCtl,cTabs,lpTabs) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),LB_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(int *)(lpTabs))) + +#define ListBox_GetItemRect(hwndCtl,index,lprc) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETITEMRECT,(WPARAM)(int)(index),(LPARAM)(RECT *)(lprc))) + +#define ListBox_SetCaretIndex(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETCARETINDEX,(WPARAM)(int)(index),(LPARAM)0)) +#define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETCARETINDEX,(WPARAM)0,(LPARAM)0)) + +#define ListBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),LB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) + +#define ListBox_SetItemHeight(hwndCtl,index,cy) ((int)(DWORD)SNDMSG((hwndCtl),LB_SETITEMHEIGHT,(WPARAM)(int)(index),MAKELPARAM((cy),0))) +#define ListBox_GetItemHeight(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),LB_GETITEMHEIGHT,(WPARAM)(int)(index),(LPARAM)0)) + +#define ListBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SNDMSG((hwndCtl),LB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec))) + +#define ComboBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define ComboBox_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define ComboBox_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define ComboBox_LimitText(hwndCtl,cchLimit) ((int)(DWORD)SNDMSG((hwndCtl),CB_LIMITTEXT,(WPARAM)(int)(cchLimit),(LPARAM)0)) + +#define ComboBox_GetEditSel(hwndCtl) ((DWORD)SNDMSG((hwndCtl),CB_GETEDITSEL,(WPARAM)0,(LPARAM)0)) +#define ComboBox_SetEditSel(hwndCtl,ichStart,ichEnd) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETEDITSEL,(LPARAM)0,MAKELPARAM((ichStart),(ichEnd)))) + +#define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETCOUNT,(WPARAM)0,(LPARAM)0)) +#define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_RESETCONTENT,(WPARAM)0,(LPARAM)0)) + +#define ComboBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),CB_ADDSTRING,(LPARAM)0,(LPARAM)(LPCTSTR)(lpsz))) +#define ComboBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SNDMSG((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpsz))) + +#define ComboBox_AddItemData(hwndCtl,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_ADDSTRING,(LPARAM)0,(LPARAM)(data))) +#define ComboBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ComboBox_DeleteString(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_DELETESTRING,(WPARAM)(int)(index),(LPARAM)0)) + +#define ComboBox_GetLBTextLen(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETLBTEXTLEN,(WPARAM)(int)(index),(LPARAM)0)) +#define ComboBox_GetLBText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETLBTEXT,(WPARAM)(int)(index),(LPARAM)(LPCTSTR)(lpszBuffer))) + +#define ComboBox_GetItemData(hwndCtl,index) ((LRESULT)(ULONG_PTR)SNDMSG((hwndCtl),CB_GETITEMDATA,(WPARAM)(int)(index),(LPARAM)0)) +#define ComboBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ComboBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) +#define ComboBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETCURSEL,(WPARAM)0,(LPARAM)0)) +#define ComboBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETCURSEL,(WPARAM)(int)(index),(LPARAM)0)) + +#define ComboBox_SelectString(hwndCtl,indexStart,lpszSelect) ((int)(DWORD)SNDMSG((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszSelect))) +#define ComboBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SNDMSG((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ComboBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SNDMSG((hwndCtl),CB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCTSTR)(lpszFileSpec))) + +#define ComboBox_ShowDropdown(hwndCtl,fShow) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),CB_SHOWDROPDOWN,(WPARAM)(WINBOOL)(fShow),(LPARAM)0)) + +#define ComboBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SNDMSG((hwndCtl),CB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCTSTR)(lpszFind))) + +#define ComboBox_GetDroppedState(hwndCtl) ((WINBOOL)(DWORD)SNDMSG((hwndCtl),CB_GETDROPPEDSTATE,(WPARAM)0,(LPARAM)0)) +#define ComboBox_GetDroppedControlRect(hwndCtl,lprc) ((void)SNDMSG((hwndCtl),CB_GETDROPPEDCONTROLRECT,(LPARAM)0,(LPARAM)(RECT *)(lprc))) + +#define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SNDMSG((hwndCtl),CB_GETITEMHEIGHT,(WPARAM)0,(LPARAM)0)) +#define ComboBox_SetItemHeight(hwndCtl,index,cyItem) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETITEMHEIGHT,(WPARAM)(int)(index),(LPARAM)(int)cyItem)) + +#define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SNDMSG((hwndCtl),CB_GETEXTENDEDUI,(WPARAM)0,(LPARAM)0)) +#define ComboBox_SetExtendedUI(hwndCtl,flags) ((int)(DWORD)SNDMSG((hwndCtl),CB_SETEXTENDEDUI,(WPARAM)(UINT)(flags),(LPARAM)0)) + +#define GET_WPARAM(wp,lp) (wp) +#define GET_LPARAM(wp,lp) (lp) + +#define GET_X_LPARAM(lp) ((int)(short)LOWORD(lp)) +#define GET_Y_LPARAM(lp) ((int)(short)HIWORD(lp)) + +#define GET_WM_ACTIVATE_STATE(wp,lp) LOWORD(wp) +#define GET_WM_ACTIVATE_FMINIMIZED(wp,lp) (WINBOOL)HIWORD(wp) +#define GET_WM_ACTIVATE_HWND(wp,lp) (HWND)(lp) +#define GET_WM_ACTIVATE_MPS(s,fmin,hwnd) (WPARAM)MAKELONG((s),(fmin)),(LPARAM)(hwnd) + +#define GET_WM_CHARTOITEM_CHAR(wp,lp) (TCHAR)LOWORD(wp) +#define GET_WM_CHARTOITEM_POS(wp,lp) HIWORD(wp) +#define GET_WM_CHARTOITEM_HWND(wp,lp) (HWND)(lp) +#define GET_WM_CHARTOITEM_MPS(ch,pos,hwnd) (WPARAM)MAKELONG((pos),(ch)),(LPARAM)(hwnd) + +#define GET_WM_COMMAND_ID(wp,lp) LOWORD(wp) +#define GET_WM_COMMAND_HWND(wp,lp) (HWND)(lp) +#define GET_WM_COMMAND_CMD(wp,lp) HIWORD(wp) +#define GET_WM_COMMAND_MPS(id,hwnd,cmd) (WPARAM)MAKELONG(id,cmd),(LPARAM)(hwnd) + +#define WM_CTLCOLOR 0x0019 + +#define GET_WM_CTLCOLOR_HDC(wp,lp,msg) (HDC)(wp) +#define GET_WM_CTLCOLOR_HWND(wp,lp,msg) (HWND)(lp) +#define GET_WM_CTLCOLOR_TYPE(wp,lp,msg) (WORD)(msg - WM_CTLCOLORMSGBOX) +#define GET_WM_CTLCOLOR_MSG(type) (WORD)(WM_CTLCOLORMSGBOX+(type)) +#define GET_WM_CTLCOLOR_MPS(hdc,hwnd,type) (WPARAM)(hdc),(LPARAM)(hwnd) + +#define GET_WM_MENUSELECT_CMD(wp,lp) LOWORD(wp) +#define GET_WM_MENUSELECT_FLAGS(wp,lp) (UINT)(int)(short)HIWORD(wp) +#define GET_WM_MENUSELECT_HMENU(wp,lp) (HMENU)(lp) +#define GET_WM_MENUSELECT_MPS(cmd,f,hmenu) (WPARAM)MAKELONG(cmd,f),(LPARAM)(hmenu) + +#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd,wp,lp) (lp==(LPARAM)hwnd) +#define GET_WM_MDIACTIVATE_HWNDDEACT(wp,lp) (HWND)(wp) +#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp,lp) (HWND)(lp) + +#define GET_WM_MDIACTIVATE_MPS(f,hwndD,hwndA) (WPARAM)(hwndA),0 + +#define GET_WM_MDISETMENU_MPS(hmenuF,hmenuW) (WPARAM)hmenuF,(LPARAM)hmenuW + +#define GET_WM_MENUCHAR_CHAR(wp,lp) (TCHAR)LOWORD(wp) +#define GET_WM_MENUCHAR_HMENU(wp,lp) (HMENU)(lp) +#define GET_WM_MENUCHAR_FMENU(wp,lp) (WINBOOL)HIWORD(wp) +#define GET_WM_MENUCHAR_MPS(ch,hmenu,f) (WPARAM)MAKELONG(ch,f),(LPARAM)(hmenu) + +#define GET_WM_PARENTNOTIFY_MSG(wp,lp) LOWORD(wp) +#define GET_WM_PARENTNOTIFY_ID(wp,lp) HIWORD(wp) +#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp,lp) (HWND)(lp) +#define GET_WM_PARENTNOTIFY_X(wp,lp) (int)(short)LOWORD(lp) +#define GET_WM_PARENTNOTIFY_Y(wp,lp) (int)(short)HIWORD(lp) +#define GET_WM_PARENTNOTIFY_MPS(msg,id,hwnd) (WPARAM)MAKELONG(id,msg),(LPARAM)(hwnd) +#define GET_WM_PARENTNOTIFY2_MPS(msg,x,y) (WPARAM)MAKELONG(0,msg),MAKELONG(x,y) + +#define GET_WM_VKEYTOITEM_CODE(wp,lp) (int)(short)LOWORD(wp) +#define GET_WM_VKEYTOITEM_ITEM(wp,lp) HIWORD(wp) +#define GET_WM_VKEYTOITEM_HWND(wp,lp) (HWND)(lp) +#define GET_WM_VKEYTOITEM_MPS(code,item,hwnd) (WPARAM)MAKELONG(item,code),(LPARAM)(hwnd) + +#define GET_EM_SETSEL_START(wp,lp) (INT)(wp) +#define GET_EM_SETSEL_END(wp,lp) (lp) +#define GET_EM_SETSEL_MPS(iStart,iEnd) (WPARAM)(iStart),(LPARAM)(iEnd) + +#define GET_EM_LINESCROLL_MPS(vert,horz) (WPARAM)horz,(LPARAM)vert + +#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp,lp) (HWND)(lp) + +#define GET_WM_HSCROLL_CODE(wp,lp) LOWORD(wp) +#define GET_WM_HSCROLL_POS(wp,lp) HIWORD(wp) +#define GET_WM_HSCROLL_HWND(wp,lp) (HWND)(lp) +#define GET_WM_HSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LPARAM)(hwnd) + +#define GET_WM_VSCROLL_CODE(wp,lp) LOWORD(wp) +#define GET_WM_VSCROLL_POS(wp,lp) HIWORD(wp) +#define GET_WM_VSCROLL_HWND(wp,lp) (HWND)(lp) +#define GET_WM_VSCROLL_MPS(code,pos,hwnd) (WPARAM)MAKELONG(code,pos),(LPARAM)(hwnd) + +#define _ncalloc calloc +#define _nexpand _expand +#define _ffree free +#define _fmalloc malloc +#define _fmemccpy _memccpy +#define _fmemchr memchr +#define _fmemcmp memcmp +#define _fmemcpy memcpy +#define _fmemicmp _memicmp +#define _fmemmove memmove +#define _fmemset memset +#define _fmsize _msize +#define _frealloc realloc +#define _fstrcat strcat +#define _fstrchr strchr +#define _fstrcmp strcmp +#define _fstrcpy strcpy +#define _fstrcspn strcspn +#define _fstrdup _strdup +#define _fstricmp _stricmp +#define _fstrlen strlen +#define _fstrlwr _strlwr +#define _fstrncat strncat +#define _fstrncmp strncmp +#define _fstrncpy strncpy +#define _fstrnicmp _strnicmp +#define _fstrnset _strnset +#define _fstrpbrk strpbrk +#define _fstrrchr strrchr +#define _fstrrev _strrev +#define _fstrset _strset +#define _fstrspn strspn +#define _fstrstr strstr +#define _fstrtok strtok +#define _fstrupr _strupr +#define _nfree free +#define _nmalloc malloc +#define _nmsize _msize +#define _nrealloc realloc +#define _nstrdup _strdup +#define hmemcpy MoveMemory + +#ifndef DECLARE_HANDLE32 +#define DECLARE_HANDLE32 DECLARE_HANDLE +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h16 b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h16 new file mode 100644 index 00000000..0470d65c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/windowsx.h16 @@ -0,0 +1,757 @@ +/** + * 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_WINDOWSX +#define _INC_WINDOWSX + +#include "pshpack.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define GetInstanceModule(hInstance) GetModuleHandle((LPCSTR)MAKELP(0,hInstance)) + +#define GlobalPtrHandle(lp) ((HGLOBAL)LOWORD(GlobalHandle(SELECTOROF(lp)))) + +#define GlobalLockPtr(lp) ((WINBOOL)SELECTOROF(GlobalLock(GlobalPtrHandle(lp)))) +#define GlobalUnlockPtr(lp) GlobalUnlock(GlobalPtrHandle(lp)) + +#define GlobalAllocPtr(flags,cb) (GlobalLock(GlobalAlloc((flags),(cb)))) +#define GlobalReAllocPtr(lp,cbNew,flags) (GlobalUnlockPtr(lp),GlobalLock(GlobalReAlloc(GlobalPtrHandle(lp) ,(cbNew),(flags)))) +#define GlobalFreePtr(lp) (GlobalUnlockPtr(lp),(WINBOOL)GlobalFree(GlobalPtrHandle(lp))) + +#define DeletePen(hpen) DeleteObject((HGDIOBJ)(HPEN)(hpen)) +#define SelectPen(hdc,hpen) ((HPEN)SelectObject((hdc),(HGDIOBJ)(HPEN)(hpen))) +#define GetStockPen(i) ((HPEN)GetStockObject(i)) + +#define DeleteBrush(hbr) DeleteObject((HGDIOBJ)(HBRUSH)(hbr)) +#define SelectBrush(hdc,hbr) ((HBRUSH)SelectObject((hdc),(HGDIOBJ)(HBRUSH)(hbr))) +#define GetStockBrush(i) ((HBRUSH)GetStockObject(i)) + +#define DeleteRgn(hrgn) DeleteObject((HGDIOBJ)(HRGN)(hrgn)) + +#define CopyRgn(hrgnDst,hrgnSrc) CombineRgn(hrgnDst,hrgnSrc,0,RGN_COPY) +#define IntersectRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_AND) +#define SubtractRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_DIFF) +#define UnionRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_OR) +#define XorRgn(hrgnResult,hrgnA,hrgnB) CombineRgn(hrgnResult,hrgnA,hrgnB,RGN_XOR) + +#define DeletePalette(hpal) DeleteObject((HGDIOBJ)(HPALETTE)(hpal)) + +#define DeleteFont(hfont) DeleteObject((HGDIOBJ)(HFONT)(hfont)) +#define SelectFont(hdc,hfont) ((HFONT)SelectObject((hdc),(HGDIOBJ)(HFONT)(hfont))) +#define GetStockFont(i) ((HFONT)GetStockObject(i)) + +#define DeleteBitmap(hbm) DeleteObject((HGDIOBJ)(HBITMAP)(hbm)) +#define SelectBitmap(hdc,hbm) ((HBITMAP)SelectObject((hdc),(HGDIOBJ)(HBITMAP)(hbm))) + +#define InsetRect(lprc,dx,dy) InflateRect((lprc),-(dx),-(dy)) + +#define GetWindowInstance(hwnd) ((HINSTANCE)GetWindowWord(hwnd,GWW_HINSTANCE)) + +#define GetWindowStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_STYLE)) +#define GetWindowExStyle(hwnd) ((DWORD)GetWindowLong(hwnd,GWL_EXSTYLE)) + +#define GetWindowOwner(hwnd) GetWindow(hwnd,GW_OWNER) + +#define GetFirstChild(hwnd) GetTopWindow(hwnd) +#define GetFirstSibling(hwnd) GetWindow(hwnd,GW_HWNDFIRST) +#define GetLastSibling(hwnd) GetWindow(hwnd,GW_HWNDLAST) +#define GetNextSibling(hwnd) GetWindow(hwnd,GW_HWNDNEXT) +#define GetPrevSibling(hwnd) GetWindow(hwnd,GW_HWNDPREV) + +#define GetWindowID(hwnd) GetDlgCtrlID(hwnd) + +#define SetWindowRedraw(hwnd,fRedraw) ((void)SendMessage(hwnd,WM_SETREDRAW,(WPARAM)(WINBOOL)(fRedraw),0L)) + +#define SubclassWindow(hwnd,lpfn) ((WNDPROC)SetWindowLong((hwnd),GWL_WNDPROC,(LPARAM)(WNDPROC)(lpfn))) + +#define IsMinimized(hwnd) IsIconic(hwnd) +#define IsMaximized(hwnd) IsZoomed(hwnd) +#define IsRestored(hwnd) ((GetWindowStyle(hwnd) & (WS_MINIMIZE | WS_MAXIMIZE))==0L) + +#define SetWindowFont(hwnd,hfont,fRedraw) FORWARD_WM_SETFONT((hwnd),(hfont),(fRedraw),SendMessage) + +#define GetWindowFont(hwnd) FORWARD_WM_GETFONT((hwnd),SendMessage) + +#define MapWindowRect(hwndFrom,hwndTo,lprc) MapWindowPoints((hwndFrom),(hwndTo),(POINT *)(lprc),2) + +#define IsLButtonDown() (GetKeyState(VK_LBUTTON) < 0) +#define IsRButtonDown() (GetKeyState(VK_RBUTTON) < 0) +#define IsMButtonDown() (GetKeyState(VK_MBUTTON) < 0) + +#define SubclassDialog(hwndDlg,lpfn) ((DLGPROC)SetWindowLong(hwndDlg,DWL_DLGPROC,(LPARAM)(DLGPROC)(lpfn))) + +#define SetDlgMsgResult(hwnd,msg,result) (((msg)==WM_CTLCOLOR || (msg)==WM_COMPAREITEM || (msg)==WM_VKEYTOITEM || (msg)==WM_CHARTOITEM || (msg)==WM_QUERYDRAGICON || (msg)==WM_INITDIALOG) ? (WINBOOL)LOWORD(result) : (SetWindowLong((hwnd),DWL_MSGRESULT,(LPARAM)(LRESULT)(result)),TRUE)) + +#define DefDlgProcEx(hwnd,msg,wParam,lParam,pfRecursion) (*(pfRecursion) = TRUE,DefDlgProc(hwnd,msg,wParam,lParam)) + +#define CheckDefDlgRecursion(pfRecursion) if (*(pfRecursion)) { *(pfRecursion) = FALSE; return FALSE; } + +#define HANDLE_MSG(hwnd,message,fn) case (message): return HANDLE_##message((hwnd),(wParam),(lParam),(fn)) + +#define HANDLE_WM_COMPACTING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0L) +#define FORWARD_WM_COMPACTING(hwnd,compactRatio,fn) (void)(fn)((hwnd),WM_COMPACTING,(WPARAM)(UINT)(compactRatio),0L) + +#define HANDLE_WM_WININICHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCSTR)(lParam)),0L) +#define FORWARD_WM_WININICHANGE(hwnd,lpszSectionName,fn) (void)(fn)((hwnd),WM_WININICHANGE,0,(LPARAM)(LPCSTR)(lpszSectionName)) + +#define HANDLE_WM_SYSCOLORCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_SYSCOLORCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_SYSCOLORCHANGE,0,0L) + +#define HANDLE_WM_QUERYNEWPALETTE(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),0) +#define FORWARD_WM_QUERYNEWPALETTE(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYNEWPALETTE,0,0L) + +#define HANDLE_WM_PALETTEISCHANGING(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_PALETTEISCHANGING(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTEISCHANGING,(WPARAM)(HWND)(hwndPaletteChange),0L) + +#define HANDLE_WM_PALETTECHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_PALETTECHANGED(hwnd,hwndPaletteChange,fn) (void)(fn)((hwnd),WM_PALETTECHANGED,(WPARAM)(HWND)(hwndPaletteChange),0L) + +#define HANDLE_WM_FONTCHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_FONTCHANGE(hwnd,fn) (void)(fn)((hwnd),WM_FONTCHANGE,0,0L) + +#define HANDLE_WM_SPOOLERSTATUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_SPOOLERSTATUS(hwnd,status,cJobInQueue,fn) (void)(fn)((hwnd),WM_SPOOLERSTATUS,(WPARAM)(status),MAKELPARAM((UINT)(cJobInQueue),0)) + +#define HANDLE_WM_DEVMODECHANGE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCSTR)(lParam)),0L) +#define FORWARD_WM_DEVMODECHANGE(hwnd,lpszDeviceName,fn) (void)(fn)((hwnd),WM_DEVMODECHANGE,0,(LPARAM)(LPCSTR)(lpszDeviceName)) + +#define HANDLE_WM_TIMECHANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_TIMECHANGE(hwnd,fn) (void)(fn)((hwnd),WM_TIMECHANGE,0,0L) + +#define HANDLE_WM_POWER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0L) +#define FORWARD_WM_POWER(hwnd,code,fn) (void)(fn)((hwnd),WM_POWER,(WPARAM)(code),0L) + +#define HANDLE_WM_QUERYENDSESSION(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),0) +#define FORWARD_WM_QUERYENDSESSION(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYENDSESSION,0,0L) + +#define HANDLE_WM_ENDSESSION(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),0L) +#define FORWARD_WM_ENDSESSION(hwnd,fEnding,fn) (void)(fn)((hwnd),WM_ENDSESSION,(WPARAM)(WINBOOL)(fEnding),0L) + +#define HANDLE_WM_QUIT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0L) +#define FORWARD_WM_QUIT(hwnd,exitCode,fn) (void)(fn)((hwnd),WM_QUIT,(WPARAM)(exitCode),0L) + +#define HANDLE_WM_SYSTEMERROR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam)),0L) +#define FORWARD_WM_SYSTEMERROR(hwnd,errCode,fn) (void)(fn)((hwnd),WM_SYSTEMERROR,(WPARAM)(errCode),0L) + +#define HANDLE_WM_CREATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(CREATESTRUCT *)(lParam)) ? 0L : (LRESULT)-1L) +#define FORWARD_WM_CREATE(hwnd,lpCreateStruct,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_CREATE,0,(LPARAM)(CREATESTRUCT *)(lpCreateStruct)) + +#define HANDLE_WM_NCCREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(CREATESTRUCT *)(lParam)) +#define FORWARD_WM_NCCREATE(hwnd,lpCreateStruct,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_NCCREATE,0,(LPARAM)(CREATESTRUCT *)(lpCreateStruct)) + +#define HANDLE_WM_DESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_DESTROY(hwnd,fn) (void)(fn)((hwnd),WM_DESTROY,0,0L) + +#define HANDLE_WM_NCDESTROY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_NCDESTROY(hwnd,fn) (void)(fn)((hwnd),WM_NCDESTROY,0,0L) + +#define HANDLE_WM_SHOWWINDOW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam),LOWORD(lParam)),0L) +#define FORWARD_WM_SHOWWINDOW(hwnd,fShow,status,fn) (void)(fn)((hwnd),WM_SHOWWINDOW,(WPARAM)(WINBOOL)(fShow),MAKELPARAM((UINT)(status),0)) + +#define HANDLE_WM_SETREDRAW(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),0L) +#define FORWARD_WM_SETREDRAW(hwnd,fRedraw,fn) (void)(fn)((hwnd),WM_SETREDRAW,(WPARAM)(fRedraw),0L) + +#define HANDLE_WM_ENABLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam)),0L) +#define FORWARD_WM_ENABLE(hwnd,fEnable,fn) (void)(fn)((hwnd),WM_ENABLE,(WPARAM)(WINBOOL)(fEnable),0L) + +#define HANDLE_WM_SETTEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(LPCSTR)(lParam)),0L) +#define FORWARD_WM_SETTEXT(hwnd,lpszText,fn) (void)(fn)((hwnd),WM_SETTEXT,0,(LPARAM)(LPCSTR)(lpszText)) + +#define HANDLE_WM_GETTEXT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(int)(wParam),(LPSTR)(lParam)) +#define FORWARD_WM_GETTEXT(hwnd,cchTextMax,lpszText,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXT,(WPARAM)(int)(cchTextMax),(LPARAM)(LPSTR)(lpszText)) + +#define HANDLE_WM_GETTEXTLENGTH(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)(hwnd) +#define FORWARD_WM_GETTEXTLENGTH(hwnd,fn) (int)(DWORD)(fn)((hwnd),WM_GETTEXTLENGTH,0,0L) + +#define HANDLE_WM_WINDOWPOSCHANGING(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(WINDOWPOS *)(lParam)) +#define FORWARD_WM_WINDOWPOSCHANGING(hwnd,lpwpos,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_WINDOWPOSCHANGING,0,(LPARAM)(WINDOWPOS *)(lpwpos)) + +#define HANDLE_WM_WINDOWPOSCHANGED(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const WINDOWPOS *)(lParam)),0L) +#define FORWARD_WM_WINDOWPOSCHANGED(hwnd,lpwpos,fn) (void)(fn)((hwnd),WM_WINDOWPOSCHANGED,0,(LPARAM)(const WINDOWPOS *)(lpwpos)) + +#define HANDLE_WM_MOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam)),0L) +#define FORWARD_WM_MOVE(hwnd,x,y,fn) (void)(fn)((hwnd),WM_MOVE,0,MAKELPARAM((int)(x),(int)(y))) + +#define HANDLE_WM_SIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam),(int)HIWORD(lParam)),0L) +#define FORWARD_WM_SIZE(hwnd,state,cx,cy,fn) (void)(fn)((hwnd),WM_SIZE,(WPARAM)(UINT)(state),MAKELPARAM((int)(cx),(int)(cy))) + +#define HANDLE_WM_CLOSE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_CLOSE(hwnd,fn) (void)(fn)((hwnd),WM_CLOSE,0,0L) + +#define HANDLE_WM_QUERYOPEN(hwnd,wParam,lParam,fn) MAKELRESULT((WINBOOL)(fn)(hwnd),0) +#define FORWARD_WM_QUERYOPEN(hwnd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_QUERYOPEN,0,0L) + +#define HANDLE_WM_GETMINMAXINFO(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MINMAXINFO *)(lParam)),0L) +#define FORWARD_WM_GETMINMAXINFO(hwnd,lpMinMaxInfo,fn) (void)(fn)((hwnd),WM_GETMINMAXINFO,0,(LPARAM)(MINMAXINFO *)(lpMinMaxInfo)) + +#define HANDLE_WM_PAINT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_PAINT(hwnd,fn) (void)(fn)((hwnd),WM_PAINT,0,0L) + +#define HANDLE_WM_ERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HDC)(wParam)) +#define FORWARD_WM_ERASEBKGND(hwnd,hdc,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_ERASEBKGND,(WPARAM)(HDC)(hdc),0L) + +#define HANDLE_WM_ICONERASEBKGND(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HDC)(wParam)) +#define FORWARD_WM_ICONERASEBKGND(hwnd,hdc,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_ICONERASEBKGND,(WPARAM)(HDC)(hdc),0L) + +#define HANDLE_WM_NCPAINT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HRGN)(wParam)),0L) +#define FORWARD_WM_NCPAINT(hwnd,hrgn,fn) (void)(fn)((hwnd),WM_NCPAINT,(WPARAM)(HRGN)(hrgn),0L) + +#define HANDLE_WM_NCCALCSIZE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(WINBOOL)(wParam),(NCCALCSIZE_PARAMS *)(lParam)) +#define FORWARD_WM_NCCALCSIZE(hwnd,fCalcValidRects,lpcsp,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCCALCSIZE,(WPARAM)(fCalcValidRects),(LPARAM)(NCCALCSIZE_PARAMS *)(lpcsp)) + +#define HANDLE_WM_NCHITTEST(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam)) +#define FORWARD_WM_NCHITTEST(hwnd,x,y,fn) (UINT)(DWORD)(fn)((hwnd),WM_NCHITTEST,0,MAKELPARAM((int)(x),(int)(y))) + +#define HANDLE_WM_QUERYDRAGICON(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd) +#define FORWARD_WM_QUERYDRAGICON(hwnd,fn) (HICON)(UINT)(DWORD)(fn)((hwnd),WM_QUERYDRAGICON,0,0L) + +#ifdef _INC_SHELLAPI + +#define HANDLE_WM_DROPFILES(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HDROP)(wParam)),0L) +#define FORWARD_WM_DROPFILES(hwnd,hdrop,fn) (void)(fn)((hwnd),WM_DROPFILES,(WPARAM)(hdrop),0L) +#endif + +#define HANDLE_WM_ACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)LOWORD(lParam),(WINBOOL)HIWORD(lParam)),0L) +#define FORWARD_WM_ACTIVATE(hwnd,state,hwndActDeact,fMinimized,fn) (void)(fn)((hwnd),WM_ACTIVATE,(WPARAM)(UINT)(state),MAKELPARAM((UINT)(HWND)(hwndActDeact),(UINT)(WINBOOL)(fMinimized))) + +#define HANDLE_WM_ACTIVATEAPP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam),(HTASK)LOWORD(lParam)),0L) +#define FORWARD_WM_ACTIVATEAPP(hwnd,fActivate,htaskActDeact,fn) (void)(fn)((hwnd),WM_ACTIVATEAPP,(WPARAM)(WINBOOL)(fActivate),MAKELPARAM((htaskActDeact),0)) + +#define HANDLE_WM_NCACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(WINBOOL)(wParam),(HWND)LOWORD(lParam),(WINBOOL)HIWORD(lParam)) +#define FORWARD_WM_NCACTIVATE(hwnd,fActive,hwndActDeact,fMinimized,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_NCACTIVATE,(WPARAM)(WINBOOL)(fActive),MAKELPARAM((UINT)(HWND)(hwndActDeact),(UINT)(WINBOOL)(fMinimized))) + +#define HANDLE_WM_SETFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_SETFOCUS(hwnd,hwndOldFocus,fn) (void)(fn)((hwnd),WM_SETFOCUS,(WPARAM)(HWND)(hwndOldFocus),0L) + +#define HANDLE_WM_KILLFOCUS(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_KILLFOCUS(hwnd,hwndNewFocus,fn) (void)(fn)((hwnd),WM_KILLFOCUS,(WPARAM)(HWND)(hwndNewFocus),0L) + +#define HANDLE_WM_KEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_KEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((UINT)(cRepeat),(UINT)(flags))) + +#define HANDLE_WM_KEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_KEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_KEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((UINT)(cRepeat),(UINT)(flags))) + +#define HANDLE_WM_CHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_CHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_CHAR,(WPARAM)(UINT)(ch),MAKELPARAM((UINT)(cRepeat),0)) + +#define HANDLE_WM_DEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_DEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_DEADCHAR,(WPARAM)(UINT)(ch),MAKELPARAM((UINT)(cRepeat),0)) + +#define HANDLE_WM_SYSKEYDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),TRUE,(int)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_SYSKEYDOWN(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYDOWN,(WPARAM)(UINT)(vk),MAKELPARAM((UINT)(cRepeat),(UINT)(flags))) + +#define HANDLE_WM_SYSKEYUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),FALSE,(int)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_SYSKEYUP(hwnd,vk,cRepeat,flags,fn) (void)(fn)((hwnd),WM_SYSKEYUP,(WPARAM)(UINT)(vk),MAKELPARAM((UINT)(cRepeat),(UINT)(flags))) + +#define HANDLE_WM_SYSCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_SYSCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSCHAR,(WPARAM)(UINT)(ch),MAKELPARAM((UINT)(cRepeat),0)) + +#define HANDLE_WM_SYSDEADCHAR(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_SYSDEADCHAR(hwnd,ch,cRepeat,fn) (void)(fn)((hwnd),WM_SYSDEADCHAR,(WPARAM)(UINT)(ch),MAKELPARAM((UINT)(cRepeat),0)) + +#define HANDLE_WM_MOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_MOUSEMOVE(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MOUSEMOVE,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_LBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_LBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_LBUTTONDBLCLK : WM_LBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_LBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_LBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_LBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_LBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_RBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_RBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_RBUTTONDBLCLK : WM_RBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_RBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_RBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_RBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_RBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_MBUTTONDOWN(hwnd,fDoubleClick,x,y,keyFlags,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_MBUTTONDBLCLK : WM_MBUTTONDOWN,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_MBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_MBUTTONUP(hwnd,x,y,keyFlags,fn) (void)(fn)((hwnd),WM_MBUTTONUP,(WPARAM)(UINT)(keyFlags),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMOUSEMOVE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCMOUSEMOVE(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMOUSEMOVE,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCLBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCLBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCLBUTTONDBLCLK : WM_NCLBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCLBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_NCLBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCLBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCLBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCRBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCRBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCRBUTTONDBLCLK : WM_NCRBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCRBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_NCRBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCRBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCRBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMBUTTONDOWN(hwnd,wParam,lParam,fn) ((fn)((hwnd),FALSE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCMBUTTONDOWN(hwnd,fDoubleClick,x,y,codeHitTest,fn) (void)(fn)((hwnd),(fDoubleClick) ? WM_NCMBUTTONDBLCLK : WM_NCMBUTTONDOWN,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_NCMBUTTONDBLCLK(hwnd,wParam,lParam,fn) ((fn)((hwnd),TRUE,(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) + +#define HANDLE_WM_NCMBUTTONUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)LOWORD(lParam),(int)HIWORD(lParam),(UINT)(wParam)),0L) +#define FORWARD_WM_NCMBUTTONUP(hwnd,x,y,codeHitTest,fn) (void)(fn)((hwnd),WM_NCMBUTTONUP,(WPARAM)(UINT)(codeHitTest),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MOUSEACTIVATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define FORWARD_WM_MOUSEACTIVATE(hwnd,hwndTopLevel,codeHitTest,msg,fn) (int)(DWORD)(fn)((hwnd),WM_MOUSEACTIVATE,(WPARAM)(HWND)(hwndTopLevel),MAKELPARAM((codeHitTest),(msg))) + +#define HANDLE_WM_CANCELMODE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_CANCELMODE(hwnd,fn) (void)(fn)((hwnd),WM_CANCELMODE,0,0L) + +#define HANDLE_WM_TIMER(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam)),0L) +#define FORWARD_WM_TIMER(hwnd,id,fn) (void)(fn)((hwnd),WM_TIMER,(WPARAM)(UINT)(id),0L) + +#define HANDLE_WM_INITMENU(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam)),0L) +#define FORWARD_WM_INITMENU(hwnd,hMenu,fn) (void)(fn)((hwnd),WM_INITMENU,(WPARAM)(HMENU)(hMenu),0L) + +#define HANDLE_WM_INITMENUPOPUP(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)(wParam),(int)LOWORD(lParam),(WINBOOL)HIWORD(lParam)),0L) +#define FORWARD_WM_INITMENUPOPUP(hwnd,hMenu,item,fSystemMenu,fn) (void)(fn)((hwnd),WM_INITMENUPOPUP,(WPARAM)(HMENU)(hMenu),MAKELPARAM((item),(fSystemMenu))) + +#define HANDLE_WM_MENUSELECT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HMENU)HIWORD(lParam),(LOWORD(lParam) & MF_POPUP) ? 0 : (int)(wParam),(LOWORD(lParam) & MF_POPUP) ? (HMENU)(wParam) : 0,LOWORD(lParam)),0L) +#define FORWARD_WM_MENUSELECT(hwnd,hmenu,item,hmenuPopup,flags,fn) (void)(fn)((hwnd),WM_MENUSELECT,((flags) & MF_POPUP) ? (WPARAM)(HMENU)(hmenuPopup) : (WPARAM)(int)(item),MAKELPARAM((flags),(hmenu))) + +#define HANDLE_WM_MENUCHAR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam),LOWORD(lParam),(HMENU)HIWORD(lParam)) +#define FORWARD_WM_MENUCHAR(hwnd,ch,flags,hmenu,fn) (DWORD)(fn)((hwnd),WM_MENUCHAR,(WPARAM)(UINT)(ch),MAKELPARAM((flags),(UINT)(hmenu))) + +#define HANDLE_WM_COMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(HWND)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_COMMAND(hwnd,id,hwndCtl,codeNotify,fn) (void)(fn)((hwnd),WM_COMMAND,(WPARAM)(int)(id),MAKELPARAM((UINT)(hwndCtl),(codeNotify))) + +#define HANDLE_WM_HSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)HIWORD(lParam),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_HSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLL,(WPARAM)(UINT)(code),MAKELPARAM((pos),(UINT)(hwndCtl))) + +#define HANDLE_WM_VSCROLL(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)HIWORD(lParam),(UINT)(wParam),(int)LOWORD(lParam)),0L) +#define FORWARD_WM_VSCROLL(hwnd,hwndCtl,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLL,(WPARAM)(UINT)(code),MAKELPARAM((pos),(UINT)(hwndCtl))) + +#define HANDLE_WM_CUT(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_CUT(hwnd,fn) (void)(fn)((hwnd),WM_CUT,0,0L) + +#define HANDLE_WM_COPY(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_COPY(hwnd,fn) (void)(fn)((hwnd),WM_COPY,0,0L) + +#define HANDLE_WM_PASTE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_PASTE(hwnd,fn) (void)(fn)((hwnd),WM_PASTE,0,0L) + +#define HANDLE_WM_CLEAR(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_CLEAR(hwnd,fn) (void)(fn)((hwnd),WM_CLEAR,0,0L) + +#define HANDLE_WM_UNDO(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_UNDO(hwnd,fn) (void)(fn)((hwnd),WM_UNDO,0,0L) + +#define HANDLE_WM_RENDERFORMAT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_RENDERFORMAT(hwnd,fmt,fn) (HANDLE)(UINT)(DWORD)(fn)((hwnd),WM_RENDERFORMAT,(WPARAM)(UINT)(fmt),0L) + +#define HANDLE_WM_RENDERALLFORMATS(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_RENDERALLFORMATS(hwnd,fn) (void)(fn)((hwnd),WM_RENDERALLFORMATS,0,0L) + +#define HANDLE_WM_DESTROYCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_DESTROYCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DESTROYCLIPBOARD,0,0L) + +#define HANDLE_WM_DRAWCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_DRAWCLIPBOARD(hwnd,fn) (void)(fn)((hwnd),WM_DRAWCLIPBOARD,0,0L) + +#define HANDLE_WM_PAINTCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const PAINTSTRUCT *)GlobalLock((HGLOBAL)LOWORD(lParam))),GlobalUnlock((HGLOBAL)LOWORD(lParam)),0L) +#define FORWARD_WM_PAINTCLIPBOARD(hwnd,hwndCBViewer,lpPaintStruct,fn) (void)(fn)((hwnd),WM_PAINTCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(lpPaintStruct)) + +#define HANDLE_WM_SIZECLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(const RECT *)GlobalLock((HGLOBAL)LOWORD(lParam))),GlobalUnlock((HGLOBAL)LOWORD(lParam)),0L) +#define FORWARD_WM_SIZECLIPBOARD(hwnd,hwndCBViewer,lprc,fn) (void)(fn)((hwnd),WM_SIZECLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),(LPARAM)(lprc)) + +#define HANDLE_WM_VSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),LOWORD(lParam),(int)HIWORD(lParam)),0L) +#define FORWARD_WM_VSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_VSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) + +#define HANDLE_WM_HSCROLLCLIPBOARD(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),LOWORD(lParam),(int)HIWORD(lParam)),0L) +#define FORWARD_WM_HSCROLLCLIPBOARD(hwnd,hwndCBViewer,code,pos,fn) (void)(fn)((hwnd),WM_HSCROLLCLIPBOARD,(WPARAM)(HWND)(hwndCBViewer),MAKELPARAM((code),(pos))) + +#define HANDLE_WM_ASKCBFORMATNAME(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),(LPSTR)(lParam)),0L) +#define FORWARD_WM_ASKCBFORMATNAME(hwnd,cchMax,rgchName,fn) (void)(fn)((hwnd),WM_ASKCBFORMATNAME,(WPARAM)(int)(cchMax),(LPARAM)(rgchName)) + +#define HANDLE_WM_CHANGECBCHAIN(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(HWND)LOWORD(lParam)),0L) +#define FORWARD_WM_CHANGECBCHAIN(hwnd,hwndRemove,hwndNext,fn) (void)(fn)((hwnd),WM_CHANGECBCHAIN,(WPARAM)(HWND)(hwndRemove),MAKELPARAM((UINT)(hwndNext),0)) + +#define HANDLE_WM_SETCURSOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(WINBOOL)(fn)((hwnd),(HWND)(wParam),(UINT)LOWORD(lParam),(UINT)HIWORD(lParam)) +#define FORWARD_WM_SETCURSOR(hwnd,hwndCursor,codeHitTest,msg,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_SETCURSOR,(WPARAM)(HWND)(hwndCursor),MAKELPARAM((codeHitTest),(msg))) + +#define HANDLE_WM_SYSCOMMAND(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(int)LOWORD(lParam),(int)HIWORD(lParam)),0L) +#define FORWARD_WM_SYSCOMMAND(hwnd,cmd,x,y,fn) (void)(fn)((hwnd),WM_SYSCOMMAND,(WPARAM)(UINT)(cmd),MAKELPARAM((x),(y))) + +#define HANDLE_WM_MDICREATE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(MDICREATESTRUCT *)(lParam)) +#define FORWARD_WM_MDICREATE(hwnd,lpmcs,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDICREATE,0,(LPARAM)(lpmcs)) + +#define HANDLE_WM_MDIDESTROY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_MDIDESTROY(hwnd,hwndDestroy,fn) (void)(fn)((hwnd),WM_MDIDESTROY,(WPARAM)(hwndDestroy),0L) + +#define HANDLE_WM_MDIACTIVATE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(WINBOOL)(wParam),(HWND)LOWORD(lParam),(HWND)HIWORD(lParam)),0L) +#define FORWARD_WM_MDIACTIVATE(hwnd,fActive,hwndActivate,hwndDeactivate,fn) (void)(fn)(hwnd,WM_MDIACTIVATE,(WPARAM)(fActive),MAKELPARAM((hwndActivate),(hwndDeactivate))) + +#define HANDLE_WM_MDIRESTORE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_MDIRESTORE(hwnd,hwndRestore,fn) (void)(fn)((hwnd),WM_MDIRESTORE,(WPARAM)(hwndRestore),0L) + +#define HANDLE_WM_MDINEXT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam),(WINBOOL)LOWORD(lParam)),0L) +#define FORWARD_WM_MDINEXT(hwnd,hwndCur,fPrev,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDINEXT,(WPARAM)(hwndCur),MAKELPARAM((fPrev),0)) + +#define HANDLE_WM_MDIMAXIMIZE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HWND)(wParam)),0L) +#define FORWARD_WM_MDIMAXIMIZE(hwnd,hwndMaximize,fn) (void)(fn)((hwnd),WM_MDIMAXIMIZE,(WPARAM)(hwndMaximize),0L) + +#define HANDLE_WM_MDITILE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_MDITILE(hwnd,cmd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_MDITILE,(WPARAM)(cmd),0L) + +#define HANDLE_WM_MDICASCADE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(fn)((hwnd),(UINT)(wParam)) +#define FORWARD_WM_MDICASCADE(hwnd,cmd,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_MDICASCADE,(WPARAM)(cmd),0L) + +#define HANDLE_WM_MDIICONARRANGE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_MDIICONARRANGE(hwnd,fn) (void)(fn)((hwnd),WM_MDIICONARRANGE,0,0L) + +#define HANDLE_WM_MDIGETACTIVE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd) +#define FORWARD_WM_MDIGETACTIVE(hwnd,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_MDIGETACTIVE,0,0L) + +#define HANDLE_WM_MDISETMENU(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)((hwnd),(WINBOOL)(wParam),(HMENU)LOWORD(lParam),(HMENU)HIWORD(lParam)) +#define FORWARD_WM_MDISETMENU(hwnd,fRefresh,hmenuFrame,hmenuWindow,fn) (HMENU)(UINT)(DWORD)(fn)((hwnd),WM_MDISETMENU,(WPARAM)(fRefresh),MAKELPARAM((hmenuFrame),(hmenuWindow))) + +#define HANDLE_WM_CHILDACTIVATE(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_CHILDACTIVATE(hwnd,fn) (void)(fn)((hwnd),WM_CHILDACTIVATE,0,0L) + +#define HANDLE_WM_INITDIALOG(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(WINBOOL)(fn)((hwnd),(HWND)(wParam),lParam) +#define FORWARD_WM_INITDIALOG(hwnd,hwndFocus,lParam,fn) (WINBOOL)(DWORD)(fn)((hwnd),WM_INITDIALOG,(WPARAM)(HWND)(hwndFocus),(lParam)) + +#define HANDLE_WM_NEXTDLGCTL(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd),(HWND)(wParam),(WINBOOL)LOWORD(lParam)) +#define FORWARD_WM_NEXTDLGCTL(hwnd,hwndSetFocus,fNext,fn) (HWND)(UINT)(DWORD)(fn)((hwnd),WM_NEXTDLGCTL,(WPARAM)(HWND)(hwndSetFocus),MAKELPARAM((fNext),0)) + +#define HANDLE_WM_PARENTNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)LOWORD(lParam),(UINT)HIWORD(lParam)),0L) +#define FORWARD_WM_PARENTNOTIFY(hwnd,msg,hwndChild,idChild,fn) (void)(fn)((hwnd),WM_PARENTNOTIFY,(WPARAM)(UINT)(msg),MAKELPARAM((UINT)(HWND)(hwndChild),(UINT)(idChild))) + +#define HANDLE_WM_ENTERIDLE(hwnd,wParam,lParam,fn) ((fn)((hwnd),(UINT)(wParam),(HWND)LOWORD(lParam)),0L) +#define FORWARD_WM_ENTERIDLE(hwnd,source,hwndSource,fn) (void)(fn)((hwnd),WM_ENTERIDLE,(WPARAM)(UINT)(source),MAKELPARAM((UINT)(HWND)(hwndSource),0)) + +#define HANDLE_WM_GETDLGCODE(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(fn)(hwnd,(MSG *)(lParam)) +#define FORWARD_WM_GETDLGCODE(hwnd,lpmsg,fn) (UINT)(DWORD)(fn)((hwnd),WM_GETDLGCODE,(SELECTOROF(lpmsg) ? lpmsg->wParam : 0),(LPARAM)(lpmsg)) + +#define HANDLE_WM_CTLCOLOR(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd),(HDC)(wParam),(HWND)LOWORD(lParam),(int)(HIWORD(lParam))) +#define FORWARD_WM_CTLCOLOR(hwnd,hdc,hwndChild,type,fn) (HBRUSH)(UINT)(DWORD)(fn)((hwnd),WM_CTLCOLOR,(WPARAM)(HDC)(hdc),MAKELPARAM((UINT)(HWND)(hwndChild),(UINT)(int)(type))) + +#define HANDLE_WM_SETFONT(hwnd,wParam,lParam,fn) ((fn)((hwnd),(HFONT)(wParam),(WINBOOL)LOWORD(lParam)),0L) +#define FORWARD_WM_SETFONT(hwnd,hfont,fRedraw,fn) (void)(fn)((hwnd),WM_SETFONT,(WPARAM)(HFONT)(hfont),MAKELPARAM((UINT)(WINBOOL)(fRedraw),0)) + +#define HANDLE_WM_GETFONT(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd) +#define FORWARD_WM_GETFONT(hwnd,fn) (HFONT)(UINT)(DWORD)(fn)((hwnd),WM_GETFONT,0,0L) + +#define HANDLE_WM_DRAWITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DRAWITEMSTRUCT *)(lParam)),0L) +#define FORWARD_WM_DRAWITEM(hwnd,lpDrawItem,fn) (void)(fn)((hwnd),WM_DRAWITEM,0,(LPARAM)(const DRAWITEMSTRUCT *)(lpDrawItem)) + +#define HANDLE_WM_MEASUREITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(MEASUREITEMSTRUCT *)(lParam)),0L) +#define FORWARD_WM_MEASUREITEM(hwnd,lpMeasureItem,fn) (void)(fn)((hwnd),WM_MEASUREITEM,0,(LPARAM)(MEASUREITEMSTRUCT *)(lpMeasureItem)) + +#define HANDLE_WM_DELETEITEM(hwnd,wParam,lParam,fn) ((fn)((hwnd),(const DELETEITEMSTRUCT *)(lParam)),0L) +#define FORWARD_WM_DELETEITEM(hwnd,lpDeleteItem,fn) (void)(fn)((hwnd),WM_DELETEITEM,0,(LPARAM)(const DELETEITEMSTRUCT *)(lpDeleteItem)) + +#define HANDLE_WM_COMPAREITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(const COMPAREITEMSTRUCT *)(lParam)) +#define FORWARD_WM_COMPAREITEM(hwnd,lpCompareItem,fn) (int)(DWORD)(fn)((hwnd),WM_COMPAREITEM,0,(LPARAM)(const COMPAREITEMSTRUCT *)(lpCompareItem)) + +#define HANDLE_WM_VKEYTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)(wParam),(HWND)LOWORD(lParam),(int)HIWORD(lParam)) +#define FORWARD_WM_VKEYTOITEM(hwnd,vk,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_VKEYTOITEM,(WPARAM)(UINT)(vk),MAKELPARAM((UINT)(hwndListBox),(UINT)(iCaret))) + +#define HANDLE_WM_CHARTOITEM(hwnd,wParam,lParam,fn) (LRESULT)(DWORD)(int)(fn)((hwnd),(UINT)(wParam),(HWND)LOWORD(lParam),(int)HIWORD(lParam)) +#define FORWARD_WM_CHARTOITEM(hwnd,ch,hwndListBox,iCaret,fn) (int)(DWORD)(fn)((hwnd),WM_CHARTOITEM,(WPARAM)(UINT)(ch),MAKELPARAM((UINT)(hwndListBox),(UINT)(iCaret))) + +#define HANDLE_WM_QUEUESYNC(hwnd,wParam,lParam,fn) ((fn)(hwnd),0L) +#define FORWARD_WM_QUEUESYNC(hwnd,fn) (void)(fn)((hwnd),WM_QUEUESYNC,0,0L) + +#define HANDLE_WM_COMMNOTIFY(hwnd,wParam,lParam,fn) ((fn)((hwnd),(int)(wParam),LOWORD(lParam)),0L) +#define FORWARD_WM_COMMNOTIFY(hwnd,cid,flags,fn) (void)(fn)((hwnd),WM_COMMNOTIFY,(WPARAM)(cid),MAKELPARAM((flags),0)) + +#define Static_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define Static_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Static_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Static_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define Static_SetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_SETICON,(WPARAM)(HICON)(hIcon),0L)) +#define Static_GetIcon(hwndCtl,hIcon) ((HICON)(UINT)(DWORD)SendMessage((hwndCtl),STM_GETICON,0,0L)) + +#define Button_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define Button_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Button_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Button_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define Button_GetCheck(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETCHECK,0,0L)) +#define Button_SetCheck(hwndCtl,check) ((void)SendMessage((hwndCtl),BM_SETCHECK,(WPARAM)(int)(check),0L)) + +#define Button_GetState(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),BM_GETSTATE,0,0L)) +#define Button_SetState(hwndCtl,state) ((UINT)(DWORD)SendMessage((hwndCtl),BM_SETSTATE,(WPARAM)(int)(state),0L)) + +#define Button_SetStyle(hwndCtl,style,fRedraw) ((void)SendMessage((hwndCtl),BM_SETSTYLE,(WPARAM)LOWORD(style),MAKELPARAM(((fRedraw) ? TRUE : FALSE),0))) + +#define Edit_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define Edit_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define Edit_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define Edit_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define Edit_LimitText(hwndCtl,cchMax) ((void)SendMessage((hwndCtl),EM_LIMITTEXT,(WPARAM)(cchMax),0L)) + +#define Edit_GetLineCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETLINECOUNT,0,0L)) +#define Edit_GetLine(hwndCtl,line,lpch,cchMax) ((*((int *)(lpch)) = (cchMax)),((int)(DWORD)SendMessage((hwndCtl),EM_GETLINE,(WPARAM)(int)(line),(LPARAM)(LPSTR)(lpch)))) + +#define Edit_GetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_GETRECT,0,(LPARAM)(RECT *)(lprc))) +#define Edit_SetRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECT,0,(LPARAM)(const RECT *)(lprc))) +#define Edit_SetRectNoPaint(hwndCtl,lprc) ((void)SendMessage((hwndCtl),EM_SETRECTNP,0,(LPARAM)(const RECT *)(lprc))) + +#define Edit_GetSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),EM_GETSEL,0,0L)) +#define Edit_SetSel(hwndCtl,ichStart,ichEnd) ((void)SendMessage((hwndCtl),EM_SETSEL,0,MAKELPARAM((ichStart),(ichEnd)))) +#define Edit_ReplaceSel(hwndCtl,lpszReplace) ((void)SendMessage((hwndCtl),EM_REPLACESEL,0,(LPARAM)(LPCSTR)(lpszReplace))) + +#define Edit_GetModify(hwndCtl) ((WINBOOL)(DWORD)SendMessage((hwndCtl),EM_GETMODIFY,0,0L)) +#define Edit_SetModify(hwndCtl,fModified) ((void)SendMessage((hwndCtl),EM_SETMODIFY,(WPARAM)(UINT)(fModified),0L)) + +#define Edit_LineFromChar(hwndCtl,ich) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEFROMCHAR,(WPARAM)(int)(ich),0L)) +#define Edit_LineIndex(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINEINDEX,(WPARAM)(int)(line),0L)) +#define Edit_LineLength(hwndCtl,line) ((int)(DWORD)SendMessage((hwndCtl),EM_LINELENGTH,(WPARAM)(int)(line),0L)) + +#define Edit_Scroll(hwndCtl,dv,dh) ((void)SendMessage((hwndCtl),EM_LINESCROLL,0,MAKELPARAM((dv),(dh)))) + +#define Edit_CanUndo(hwndCtl) ((WINBOOL)(DWORD)SendMessage((hwndCtl),EM_CANUNDO,0,0L)) +#define Edit_Undo(hwndCtl) ((WINBOOL)(DWORD)SendMessage((hwndCtl),EM_UNDO,0,0L)) +#define Edit_EmptyUndoBuffer(hwndCtl) ((void)SendMessage((hwndCtl),EM_EMPTYUNDOBUFFER,0,0L)) + +#define Edit_SetPasswordChar(hwndCtl,ch) ((void)SendMessage((hwndCtl),EM_SETPASSWORDCHAR,(WPARAM)(UINT)(ch),0L)) + +#define Edit_SetTabStops(hwndCtl,cTabs,lpTabs) ((void)SendMessage((hwndCtl),EM_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(const int *)(lpTabs))) + +#define Edit_FmtLines(hwndCtl,fAddEOL) ((WINBOOL)(DWORD)SendMessage((hwndCtl),EM_FMTLINES,(WPARAM)(WINBOOL)(fAddEOL),0L)) + +#define Edit_GetHandle(hwndCtl) ((HLOCAL)(UINT)(DWORD)SendMessage((hwndCtl),EM_GETHANDLE,0,0L)) +#define Edit_SetHandle(hwndCtl,h) ((void)SendMessage((hwndCtl),EM_SETHANDLE,(WPARAM)(UINT)(HLOCAL)(h),0L)) + +#define Edit_GetFirstVisibleLine(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),EM_GETFIRSTVISIBLELINE,0,0L)) + +#define Edit_SetReadOnly(hwndCtl,fReadOnly) ((WINBOOL)(DWORD)SendMessage((hwndCtl),EM_SETREADONLY,(WPARAM)(WINBOOL)(fReadOnly),0L)) + +#define Edit_GetPasswordChar(hwndCtl) ((char)(DWORD)SendMessage((hwndCtl),EM_GETPASSWORDCHAR,0,0L)) + +#define Edit_SetWordBreakProc(hwndCtl,lpfnWordBreak) ((void)SendMessage((hwndCtl),EM_SETWORDBREAKPROC,0,(LPARAM)(EDITWORDBREAKPROC)(lpfnWordBreak))) +#define Edit_GetWordBreakProc(hwndCtl) ((EDITWORDBREAKPROC)SendMessage((hwndCtl),EM_GETWORDBREAKPROC,0,0L)) + +#define ScrollBar_Enable(hwndCtl,flags) EnableScrollBar((hwndCtl),SB_CTL,(flags)) + +#define ScrollBar_Show(hwndCtl,fShow) ShowWindow((hwndCtl),(fShow) ? SW_SHOWNORMAL : SW_HIDE) + +#define ScrollBar_SetPos(hwndCtl,pos,fRedraw) SetScrollPos((hwndCtl),SB_CTL,(pos),(fRedraw)) +#define ScrollBar_GetPos(hwndCtl) GetScrollPos((hwndCtl),SB_CTL) + +#define ScrollBar_SetRange(hwndCtl,posMin,posMax,fRedraw) SetScrollRange((hwndCtl),SB_CTL,(posMin),(posMax),(fRedraw)) +#define ScrollBar_GetRange(hwndCtl,lpposMin,lpposMax) GetScrollRange((hwndCtl),SB_CTL,(lpposMin),(lpposMax)) + +#define ListBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define ListBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCOUNT,0,0L)) +#define ListBox_ResetContent(hwndCtl) ((WINBOOL)(DWORD)SendMessage((hwndCtl),LB_RESETCONTENT,0,0L)) + +#define ListBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(LPCSTR)(lpsz))) +#define ListBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCSTR)(lpsz))) + +#define ListBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDSTRING,0,(LPARAM)(data))) +#define ListBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ListBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_DELETESTRING,(WPARAM)(int)(index),0L)) + +#define ListBox_GetTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXTLEN,(WPARAM)(int)(index),0L)) +#define ListBox_GetText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTEXT,(WPARAM)(int)(index),(LPARAM)(LPCSTR)(lpszBuffer))) + +#define ListBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),LB_GETITEMDATA,(WPARAM)(int)(index),0L)) +#define ListBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ListBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszFind))) +#define ListBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ListBox_SetSel(hwndCtl,fSelect,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETSEL,(WPARAM)(WINBOOL)(fSelect),MAKELPARAM((index),0))) +#define ListBox_SelItemRange(hwndCtl,fSelect,first,last) ((int)(DWORD)SendMessage((hwndCtl),LB_SELITEMRANGE,(WPARAM)(WINBOOL)(fSelect),MAKELPARAM((first),(last)))) + +#define ListBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCURSEL,0,0L)) +#define ListBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCURSEL,(WPARAM)(int)(index),0L)) + +#define ListBox_SelectString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszFind))) +#define ListBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),LB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ListBox_GetSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSEL,(WPARAM)(int)(index),0L)) +#define ListBox_GetSelCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELCOUNT,0,0L)) +#define ListBox_GetTopIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETTOPINDEX,0,0L)) +#define ListBox_GetSelItems(hwndCtl,cItems,lpItems) ((int)(DWORD)SendMessage((hwndCtl),LB_GETSELITEMS,(WPARAM)(int)(cItems),(LPARAM)(int *)(lpItems))) + +#define ListBox_SetTopIndex(hwndCtl,indexTop) ((int)(DWORD)SendMessage((hwndCtl),LB_SETTOPINDEX,(WPARAM)(int)(indexTop),0L)) + +#define ListBox_SetColumnWidth(hwndCtl,cxColumn) ((void)SendMessage((hwndCtl),LB_SETCOLUMNWIDTH,(WPARAM)(int)(cxColumn),0L)) +#define ListBox_GetHorizontalExtent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETHORIZONTALEXTENT,0,0L)) +#define ListBox_SetHorizontalExtent(hwndCtl,cxExtent) ((void)SendMessage((hwndCtl),LB_SETHORIZONTALEXTENT,(WPARAM)(int)(cxExtent),0L)) + +#define ListBox_SetTabStops(hwndCtl,cTabs,lpTabs) ((WINBOOL)(DWORD)SendMessage((hwndCtl),LB_SETTABSTOPS,(WPARAM)(int)(cTabs),(LPARAM)(int *)(lpTabs))) + +#define ListBox_GetItemRect(hwndCtl,index,lprc) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMRECT,(WPARAM)(int)(index),(LPARAM)(RECT *)(lprc))) + +#define ListBox_SetCaretIndex(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_SETCARETINDEX,(WPARAM)(int)(index),0L)) +#define ListBox_GetCaretIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETCARETINDEX,0,0L)) + +#define ListBox_SetAnchorIndex(hwndCtl,index) ((void)SendMessage((hwndCtl),LB_SETANCHORINDEX,(WPARAM)(int)(index),0L)) +#define ListBox_GetAnchorIndex(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),LB_GETANCHORINDEX,0,0L)) + +#define ListBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),LB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszFind))) + +#define ListBox_SetItemHeight(hwndCtl,index,cy) ((int)(DWORD)SendMessage((hwndCtl),LB_SETITEMHEIGHT,(WPARAM)(int)(index),MAKELPARAM((cy),0))) +#define ListBox_GetItemHeight(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),LB_GETITEMHEIGHT,(WPARAM)(int)(index),0L)) + +#define ListBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),LB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCSTR)(lpszFileSpec))) +#define ListBox_AddFile(hwndCtl,lpszFilename) ((int)(DWORD)SendMessage((hwndCtl),LB_ADDFILE,0,(LPARAM)(LPCSTR)(lpszFilename))) + +#define ComboBox_Enable(hwndCtl,fEnable) EnableWindow((hwndCtl),(fEnable)) + +#define ComboBox_GetText(hwndCtl,lpch,cchMax) GetWindowText((hwndCtl),(lpch),(cchMax)) +#define ComboBox_GetTextLength(hwndCtl) GetWindowTextLength(hwndCtl) +#define ComboBox_SetText(hwndCtl,lpsz) SetWindowText((hwndCtl),(lpsz)) + +#define ComboBox_LimitText(hwndCtl,cchLimit) ((int)(DWORD)SendMessage((hwndCtl),CB_LIMITTEXT,(WPARAM)(int)(cchLimit),0L)) + +#define ComboBox_GetEditSel(hwndCtl) ((DWORD)SendMessage((hwndCtl),CB_GETEDITSEL,0,0L)) +#define ComboBox_SetEditSel(hwndCtl,ichStart,ichEnd) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEDITSEL,0,MAKELPARAM((ichStart),(ichEnd)))) + +#define ComboBox_GetCount(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCOUNT,0,0L)) +#define ComboBox_ResetContent(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_RESETCONTENT,0,0L)) + +#define ComboBox_AddString(hwndCtl,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(LPCSTR)(lpsz))) +#define ComboBox_InsertString(hwndCtl,index,lpsz) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(LPCSTR)(lpsz))) + +#define ComboBox_AddItemData(hwndCtl,data) ((int)(DWORD)SendMessage((hwndCtl),CB_ADDSTRING,0,(LPARAM)(data))) +#define ComboBox_InsertItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_INSERTSTRING,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ComboBox_DeleteString(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_DELETESTRING,(WPARAM)(int)(index),0L)) + +#define ComboBox_GetLBTextLen(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXTLEN,(WPARAM)(int)(index),0L)) +#define ComboBox_GetLBText(hwndCtl,index,lpszBuffer) ((int)(DWORD)SendMessage((hwndCtl),CB_GETLBTEXT,(WPARAM)(int)(index),(LPARAM)(LPCSTR)(lpszBuffer))) + +#define ComboBox_GetItemData(hwndCtl,index) ((LRESULT)(DWORD)SendMessage((hwndCtl),CB_GETITEMDATA,(WPARAM)(int)(index),0L)) +#define ComboBox_SetItemData(hwndCtl,index,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMDATA,(WPARAM)(int)(index),(LPARAM)(data))) + +#define ComboBox_FindString(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszFind))) +#define ComboBox_FindItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ComboBox_GetCurSel(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETCURSEL,0,0L)) +#define ComboBox_SetCurSel(hwndCtl,index) ((int)(DWORD)SendMessage((hwndCtl),CB_SETCURSEL,(WPARAM)(int)(index),0L)) + +#define ComboBox_SelectString(hwndCtl,indexStart,lpszSelect) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszSelect))) +#define ComboBox_SelectItemData(hwndCtl,indexStart,data) ((int)(DWORD)SendMessage((hwndCtl),CB_SELECTSTRING,(WPARAM)(int)(indexStart),(LPARAM)(data))) + +#define ComboBox_Dir(hwndCtl,attrs,lpszFileSpec) ((int)(DWORD)SendMessage((hwndCtl),CB_DIR,(WPARAM)(UINT)(attrs),(LPARAM)(LPCSTR)(lpszFileSpec))) + +#define ComboBox_ShowDropdown(hwndCtl,fShow) ((WINBOOL)(DWORD)SendMessage((hwndCtl),CB_SHOWDROPDOWN,(WPARAM)(WINBOOL)(fShow),0L)) + +#define ComboBox_FindStringExact(hwndCtl,indexStart,lpszFind) ((int)(DWORD)SendMessage((hwndCtl),CB_FINDSTRINGEXACT,(WPARAM)(int)(indexStart),(LPARAM)(LPCSTR)(lpszFind))) + +#define ComboBox_GetDroppedState(hwndCtl) ((WINBOOL)(DWORD)SendMessage((hwndCtl),CB_GETDROPPEDSTATE,0,0L)) +#define ComboBox_GetDroppedControlRect(hwndCtl,lprc) ((void)SendMessage((hwndCtl),CB_GETDROPPEDCONTROLRECT,0,(LPARAM)(RECT *)(lprc))) + +#define ComboBox_GetItemHeight(hwndCtl) ((int)(DWORD)SendMessage((hwndCtl),CB_GETITEMHEIGHT,0,0L)) +#define ComboBox_SetItemHeight(hwndCtl,cyItem) ((int)(DWORD)SendMessage((hwndCtl),CB_SETITEMHEIGHT,(WPARAM)(int)(index),0L)) + +#define ComboBox_GetExtendedUI(hwndCtl) ((UINT)(DWORD)SendMessage((hwndCtl),CB_GETEXTENDEDUI,0,0L)) +#define ComboBox_SetExtendedUI(hwndCtl,flags) ((int)(DWORD)SendMessage((hwndCtl),CB_SETEXTENDEDUI,(WPARAM)(UINT)(flags),0L)) + +#define GET_WPARAM(wp,lp) (wp) +#define GET_LPARAM(wp,lp) (lp) + +#define GET_WM_ACTIVATE_STATE(wp,lp) (wp) +#define GET_WM_ACTIVATE_FMINIMIZED(wp,lp) (WINBOOL)HIWORD(lp) +#define GET_WM_ACTIVATE_HWND(wp,lp) (HWND)LOWORD(lp) +#define GET_WM_ACTIVATE_MPS(s,fmin,hwnd) (WPARAM)(s),MAKELONG(hwnd,fmin) + +#define GET_WM_CHARTOITEM_CHAR(wp,lp) (CHAR)(wp) +#define GET_WM_CHARTOITEM_POS(wp,lp) HIWORD(lp) +#define GET_WM_CHARTOITEM_HWND(wp,lp) (HWND)LOWORD(lp) +#define GET_WM_CHARTOITEM_MPS(ch,pos,hwnd) (WPARAM)(ch),MAKELONG(hwnd,pos) + +#define GET_WM_COMMAND_ID(wp,lp) (wp) +#define GET_WM_COMMAND_HWND(wp,lp) (HWND)LOWORD(lp) +#define GET_WM_COMMAND_CMD(wp,lp) HIWORD(lp) +#define GET_WM_COMMAND_MPS(id,hwnd,cmd) (WPARAM)(id),MAKELONG(hwnd,cmd) + +#define WM_CTLCOLORMSGBOX 0x0132 +#define WM_CTLCOLOREDIT 0x0133 +#define WM_CTLCOLORLISTBOX 0x0134 +#define WM_CTLCOLORBTN 0x0135 +#define WM_CTLCOLORDLG 0x0136 +#define WM_CTLCOLORSCROLLBAR 0x0137 +#define WM_CTLCOLORSTATIC 0x0138 + +#define GET_WM_CTLCOLOR_HDC(wp,lp,msg) (HDC)(wp) +#define GET_WM_CTLCOLOR_HWND(wp,lp,msg) (HWND)LOWORD(lp) +#define GET_WM_CTLCOLOR_TYPE(wp,lp,msg) HIWORD(lp) +#define GET_WM_CTLCOLOR_MPS(hdc,hwnd,type) (WPARAM)(hdc),MAKELONG(hwnd,type) + +#define GET_WM_MENUSELECT_CMD(wp,lp) (wp) +#define GET_WM_MENUSELECT_FLAGS(wp,lp) LOWORD(lp) +#define GET_WM_MENUSELECT_HMENU(wp,lp) (HMENU)HIWORD(lp) +#define GET_WM_MENUSELECT_MPS(cmd,f,hmenu) (WPARAM)(cmd),MAKELONG(f,hmenu) + +#define GET_WM_MDIACTIVATE_FACTIVATE(hwnd,wp,lp) (WINBOOL)(wp) +#define GET_WM_MDIACTIVATE_HWNDDEACT(wp,lp) (HWND)HIWORD(lp) +#define GET_WM_MDIACTIVATE_HWNDACTIVATE(wp,lp) (HWND)LOWORD(lp) + +#define GET_WM_MDIACTIVATE_MPS(f,hwndD,hwndA) (WPARAM)(hwndA),0 + +#define GET_WM_MDISETMENU_MPS(hmenuF,hmenuW) 0,MAKELONG(hmenuF,hmenuW) + +#define GET_WM_MENUCHAR_CHAR(wp,lp) (CHAR)(wp) +#define GET_WM_MENUCHAR_HMENU(wp,lp) (HMENU)LOWORD(lp) +#define GET_WM_MENUCHAR_FMENU(wp,lp) (WINBOOL)HIWORD(lp) +#define GET_WM_MENUCHAR_MPS(ch,hmenu,f) (WPARAM)(ch),MAKELONG(hmenu,f) + +#define GET_WM_PARENTNOTIFY_MSG(wp,lp) (wp) +#define GET_WM_PARENTNOTIFY_ID(wp,lp) HIWORD(lp) +#define GET_WM_PARENTNOTIFY_HWNDCHILD(wp,lp) (HWND)LOWORD(lp) +#define GET_WM_PARENTNOTIFY_X(wp,lp) (INT)LOWORD(lp) +#define GET_WM_PARENTNOTIFY_Y(wp,lp) (INT)HIWORD(lp) +#define GET_WM_PARENTNOTIFY_MPS(msg,id,hwnd) (WPARAM)(msg),MAKELONG(hwnd,id) +#define GET_WM_PARENTNOTIFY2_MPS(msg,x,y) (WPARAM)(msg),MAKELONG(x,y) + +#define GET_WM_VKEYTOITEM_CODE(wp,lp) (wp) +#define GET_WM_VKEYTOITEM_ITEM(wp,lp) (INT)HIWORD(lp) +#define GET_WM_VKEYTOITEM_HWND(wp,lp) (HWND)LOWORD(lp) +#define GET_WM_VKEYTOITEM_MPS(code,item,hwnd) (WPARAM)(code),MAKELONG(hwnd,item) + +#define GET_EM_SETSEL_START(wp,lp) LOWORD(lp) +#define GET_EM_SETSEL_END(wp,lp) HIWORD(lp) +#define GET_EM_SETSEL_MPS(iStart,iEnd) 0,MAKELONG(iStart,iEnd) + +#define GET_EM_LINESCROLL_MPS(vert,horz) 0,MAKELONG(vert,horz) + +#define GET_WM_CHANGECBCHAIN_HWNDNEXT(wp,lp) (HWND)LOWORD(lp) + +#define GET_WM_HSCROLL_CODE(wp,lp) (wp) +#define GET_WM_HSCROLL_POS(wp,lp) LOWORD(lp) +#define GET_WM_HSCROLL_HWND(wp,lp) (HWND)HIWORD(lp) +#define GET_WM_HSCROLL_MPS(code,pos,hwnd) (WPARAM)(code),MAKELONG(pos,hwnd) + +#define GET_WM_VSCROLL_CODE(wp,lp) (wp) +#define GET_WM_VSCROLL_POS(wp,lp) LOWORD(lp) +#define GET_WM_VSCROLL_HWND(wp,lp) (HWND)HIWORD(lp) +#define GET_WM_VSCROLL_MPS(code,pos,hwnd) (WPARAM)(code),MAKELONG(pos,hwnd) + +#include "poppack.h" + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winefs.h new file mode 100644 index 00000000..0ebc5245 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winefs.h @@ -0,0 +1,78 @@ +/** + * 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 __WINEFS_H__ +#define __WINEFS_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef ALGIDDEF +#define ALGIDDEF + typedef unsigned int ALG_ID; +#endif + + typedef struct _CERTIFICATE_BLOB { + DWORD dwCertEncodingType; + DWORD cbData; + PBYTE pbData; + } EFS_CERTIFICATE_BLOB,*PEFS_CERTIFICATE_BLOB; + + typedef struct _EFS_HASH_BLOB { + DWORD cbData; + PBYTE pbData; + } EFS_HASH_BLOB,*PEFS_HASH_BLOB; + + typedef struct _EFS_RPC_BLOB { + DWORD cbData; + PBYTE pbData; + } EFS_RPC_BLOB,*PEFS_RPC_BLOB; + + typedef struct _EFS_KEY_INFO { + DWORD dwVersion; + ULONG Entropy; + ALG_ID Algorithm; + ULONG KeyLength; + } EFS_KEY_INFO,*PEFS_KEY_INFO; + + typedef struct _ENCRYPTION_CERTIFICATE { + DWORD cbTotalLength; + SID *pUserSid; + PEFS_CERTIFICATE_BLOB pCertBlob; + } ENCRYPTION_CERTIFICATE,*PENCRYPTION_CERTIFICATE; + +#define MAX_SID_SIZE 256 + + typedef struct _ENCRYPTION_CERTIFICATE_HASH { + DWORD cbTotalLength; + SID *pUserSid; + PEFS_HASH_BLOB pHash; + LPWSTR lpDisplayInformation; + } ENCRYPTION_CERTIFICATE_HASH,*PENCRYPTION_CERTIFICATE_HASH; + + typedef struct _ENCRYPTION_CERTIFICATE_HASH_LIST { + DWORD nCert_Hash; + PENCRYPTION_CERTIFICATE_HASH *pUsers; + } ENCRYPTION_CERTIFICATE_HASH_LIST,*PENCRYPTION_CERTIFICATE_HASH_LIST; + + typedef struct _ENCRYPTION_CERTIFICATE_LIST { + DWORD nUsers; + PENCRYPTION_CERTIFICATE *pUsers; + } ENCRYPTION_CERTIFICATE_LIST,*PENCRYPTION_CERTIFICATE_LIST; + + WINADVAPI DWORD WINAPI QueryUsersOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pUsers); + WINADVAPI DWORD WINAPI QueryRecoveryAgentsOnEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST *pRecoveryAgents); + WINADVAPI DWORD WINAPI RemoveUsersFromEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_HASH_LIST pHashes); + WINADVAPI DWORD WINAPI AddUsersToEncryptedFile(LPCWSTR lpFileName,PENCRYPTION_CERTIFICATE_LIST pUsers); + WINADVAPI DWORD WINAPI SetUserFileEncryptionKey(PENCRYPTION_CERTIFICATE pEncryptionCertificate); + WINADVAPI VOID WINAPI FreeEncryptionCertificateHashList(PENCRYPTION_CERTIFICATE_HASH_LIST pHashes); + WINADVAPI WINBOOL WINAPI EncryptionDisable(LPCWSTR DirPath,WINBOOL Disable); + WINADVAPI DWORD WINAPI DuplicateEncryptionInfoFile(LPCWSTR SrcFileName,LPCWSTR DstFileName,DWORD dwCreationDistribution,DWORD dwAttributes,CONST LPSECURITY_ATTRIBUTES lpSecurityAttributes); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winerror.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winerror.h new file mode 100644 index 00000000..17a39240 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winerror.h @@ -0,0 +1,4926 @@ +/** + * 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 _WINERROR_ +#define _WINERROR_ + +#define __IN__WINERROR_ 1 + +#define FACILITY_NULL 0 +#define FACILITY_RPC 1 +#define FACILITY_DISPATCH 2 +#define FACILITY_STORAGE 3 +#define FACILITY_ITF 4 +#define FACILITY_WIN32 7 +#define FACILITY_WINDOWS 8 +#define FACILITY_SSPI 9 +#define FACILITY_SECURITY 9 +#define FACILITY_CONTROL 10 +#define FACILITY_CERT 11 +#define FACILITY_INTERNET 12 +#define FACILITY_MEDIASERVER 13 +#define FACILITY_MSMQ 14 +#define FACILITY_SETUPAPI 15 +#define FACILITY_SCARD 16 +#define FACILITY_COMPLUS 17 +#define FACILITY_AAF 18 +#define FACILITY_URT 19 +#define FACILITY_ACS 20 +#define FACILITY_DPLAY 21 +#define FACILITY_UMI 22 +#define FACILITY_SXS 23 +#define FACILITY_WINDOWS_CE 24 +#define FACILITY_HTTP 25 +#define FACILITY_USERMODE_COMMONLOG 26 +#define FACILITY_WER 27 +#define FACILITY_USERMODE_FILTER_MANAGER 31 +#define FACILITY_BACKGROUNDCOPY 32 +#define FACILITY_CONFIGURATION 33 +#define FACILITY_WIA 33 +#define FACILITY_STATE_MANAGEMENT 34 +#define FACILITY_METADIRECTORY 35 +#define FACILITY_WINDOWSUPDATE 36 +#define FACILITY_DIRECTORYSERVICE 37 +#define FACILITY_GRAPHICS 38 +#define FACILITY_SHELL 39 +#define FACILITY_NAP 39 +#define FACILITY_TPM_SERVICES 40 +#define FACILITY_TPM_SOFTWARE 41 +#define FACILITY_UI 42 +#define FACILITY_XAML 43 +#define FACILITY_ACTION_QUEUE 44 +#define FACILITY_PLA 48 +#define FACILITY_WINDOWS_SETUP 48 +#define FACILITY_FVE 49 +#define FACILITY_FWP 50 +#define FACILITY_WINRM 51 +#define FACILITY_NDIS 52 +#define FACILITY_USERMODE_HYPERVISOR 53 +#define FACILITY_CMI 54 +#define FACILITY_USERMODE_VIRTUALIZATION 55 +#define FACILITY_USERMODE_VOLMGR 56 +#define FACILITY_BCD 57 +#define FACILITY_USERMODE_VHD 58 +#define FACILITY_USERMODE_HNS 59 +#define FACILITY_SDIAG 60 +#define FACILITY_WEBSERVICES 61 +#define FACILITY_WINPE 61 +#define FACILITY_WPN 62 +#define FACILITY_WINDOWS_STORE 63 +#define FACILITY_INPUT 64 +#define FACILITY_QUIC 65 +#define FACILITY_EAP 66 +#define FACILITY_IORING 70 +#define FACILITY_WINDOWS_DEFENDER 80 +#define FACILITY_OPC 81 +#define FACILITY_XPS 82 +#define FACILITY_MBN 84 +#define FACILITY_POWERSHELL 84 +#define FACILITY_RAS 83 +#define FACILITY_P2P_INT 98 +#define FACILITY_P2P 99 +#define FACILITY_DAF 100 +#define FACILITY_BLUETOOTH_ATT 101 +#define FACILITY_AUDIO 102 +#define FACILITY_STATEREPOSITORY 103 +#define FACILITY_VISUALCPP 109 +#define FACILITY_SCRIPT 112 +#define FACILITY_PARSE 113 +#define FACILITY_BLB 120 +#define FACILITY_BLB_CLI 121 +#define FACILITY_WSBAPP 122 +#define FACILITY_BLBUI 128 +#define FACILITY_USN 129 +#define FACILITY_USERMODE_VOLSNAP 130 +#define FACILITY_TIERING 131 +#define FACILITY_WSB_ONLINE 133 +#define FACILITY_ONLINE_ID 134 +#define FACILITY_DEVICE_UPDATE_AGENT 135 +#define FACILITY_DRVSERVICING 136 +#define FACILITY_DLS 153 +#define FACILITY_DELIVERY_OPTIMIZATION 208 +#define FACILITY_USERMODE_SPACES 231 +#define FACILITY_USER_MODE_SECURITY_CORE 232 +#define FACILITY_USERMODE_LICENSING 234 +#define FACILITY_SOS 160 +#define FACILITY_OCP_UPDATE_AGENT 173 +#define FACILITY_DEBUGGERS 176 +#define FACILITY_SPP 256 +#define FACILITY_RESTORE 256 +#define FACILITY_DMSERVER 256 +#define FACILITY_DEPLOYMENT_SERVICES_SERVER 257 +#define FACILITY_DEPLOYMENT_SERVICES_IMAGING 258 +#define FACILITY_DEPLOYMENT_SERVICES_MANAGEMENT 259 +#define FACILITY_DEPLOYMENT_SERVICES_UTIL 260 +#define FACILITY_DEPLOYMENT_SERVICES_BINLSVC 261 +#define FACILITY_DEPLOYMENT_SERVICES_PXE 263 +#define FACILITY_DEPLOYMENT_SERVICES_TFTP 264 +#define FACILITY_DEPLOYMENT_SERVICES_TRANSPORT_MANAGEMENT 272 +#define FACILITY_DEPLOYMENT_SERVICES_DRIVER_PROVISIONING 278 +#define FACILITY_DEPLOYMENT_SERVICES_MULTICAST_SERVER 289 +#define FACILITY_DEPLOYMENT_SERVICES_MULTICAST_CLIENT 290 +#define FACILITY_DEPLOYMENT_SERVICES_CONTENT_PROVIDER 293 +#define FACILITY_HSP_SERVICES 296 +#define FACILITY_HSP_SOFTWARE 297 +#define FACILITY_LINGUISTIC_SERVICES 305 +#define FACILITY_AUDIOSTREAMING 1094 +#define FACILITY_TTD 1490 +#define FACILITY_ACCELERATOR 1536 +#define FACILITY_WMAAECMA 1996 +#define FACILITY_DIRECTMUSIC 2168 +#define FACILITY_DIRECT3D10 2169 +#define FACILITY_DXGI 2170 +#define FACILITY_DXGI_DDI 2171 +#define FACILITY_DIRECT3D11 2172 +#define FACILITY_DIRECT3D11_DEBUG 2173 +#define FACILITY_DIRECT3D12 2174 +#define FACILITY_DIRECT3D12_DEBUG 2175 +#define FACILITY_DXCORE 2176 +#define FACILITY_PRESENTATION 2177 +#define FACILITY_LEAP 2184 +#define FACILITY_AUDCLNT 2185 +#define FACILITY_WINCODEC_DWRITE_DWM 2200 +#define FACILITY_WINML 2192 +#define FACILITY_DIRECT2D 2201 +#define FACILITY_DEFRAG 2304 +#define FACILITY_USERMODE_SDBUS 2305 +#define FACILITY_JSCRIPT 2306 +#define FACILITY_PIDGENX 2561 +#define FACILITY_EAS 85 +#define FACILITY_WEB 885 +#define FACILITY_WEB_SOCKET 886 +#define FACILITY_MOBILE 1793 +#define FACILITY_SQLITE 1967 +#define FACILITY_SERVICE_FABRIC 1968 +#define FACILITY_UTC 1989 +#define FACILITY_WEP 2049 +#define FACILITY_SYNCENGINE 2050 +#define FACILITY_XBOX 2339 +#define FACILITY_GAME 2340 +#define FACILITY_USERMODE_UNIONFS 2341 +#define FACILITY_USERMODE_PRM 2342 +#define FACILITY_USERMODE_WIN_ACCEL 2343 +#define FACILITY_PIX 2748 + +#define ERROR_SUCCESS __MSABI_LONG(0) +#define NO_ERROR __MSABI_LONG(0) +#define SEC_E_OK ((HRESULT)0x00000000) +#define ERROR_INVALID_FUNCTION __MSABI_LONG(1) +#define ERROR_FILE_NOT_FOUND __MSABI_LONG(2) +#define ERROR_PATH_NOT_FOUND __MSABI_LONG(3) +#define ERROR_TOO_MANY_OPEN_FILES __MSABI_LONG(4) +#define ERROR_ACCESS_DENIED __MSABI_LONG(5) +#define ERROR_INVALID_HANDLE __MSABI_LONG(6) +#define ERROR_ARENA_TRASHED __MSABI_LONG(7) +#define ERROR_NOT_ENOUGH_MEMORY __MSABI_LONG(8) +#define ERROR_INVALID_BLOCK __MSABI_LONG(9) +#define ERROR_BAD_ENVIRONMENT __MSABI_LONG(10) +#define ERROR_BAD_FORMAT __MSABI_LONG(11) +#define ERROR_INVALID_ACCESS __MSABI_LONG(12) +#define ERROR_INVALID_DATA __MSABI_LONG(13) +#define ERROR_OUTOFMEMORY __MSABI_LONG(14) +#define ERROR_INVALID_DRIVE __MSABI_LONG(15) +#define ERROR_CURRENT_DIRECTORY __MSABI_LONG(16) +#define ERROR_NOT_SAME_DEVICE __MSABI_LONG(17) +#define ERROR_NO_MORE_FILES __MSABI_LONG(18) +#define ERROR_WRITE_PROTECT __MSABI_LONG(19) +#define ERROR_BAD_UNIT __MSABI_LONG(20) +#define ERROR_NOT_READY __MSABI_LONG(21) +#define ERROR_BAD_COMMAND __MSABI_LONG(22) +#define ERROR_CRC __MSABI_LONG(23) +#define ERROR_BAD_LENGTH __MSABI_LONG(24) +#define ERROR_SEEK __MSABI_LONG(25) +#define ERROR_NOT_DOS_DISK __MSABI_LONG(26) +#define ERROR_SECTOR_NOT_FOUND __MSABI_LONG(27) +#define ERROR_OUT_OF_PAPER __MSABI_LONG(28) +#define ERROR_WRITE_FAULT __MSABI_LONG(29) +#define ERROR_READ_FAULT __MSABI_LONG(30) +#define ERROR_GEN_FAILURE __MSABI_LONG(31) +#define ERROR_SHARING_VIOLATION __MSABI_LONG(32) +#define ERROR_LOCK_VIOLATION __MSABI_LONG(33) +#define ERROR_WRONG_DISK __MSABI_LONG(34) +#define ERROR_SHARING_BUFFER_EXCEEDED __MSABI_LONG(36) +#define ERROR_HANDLE_EOF __MSABI_LONG(38) +#define ERROR_HANDLE_DISK_FULL __MSABI_LONG(39) +#define ERROR_NOT_SUPPORTED __MSABI_LONG(50) +#define ERROR_REM_NOT_LIST __MSABI_LONG(51) +#define ERROR_DUP_NAME __MSABI_LONG(52) +#define ERROR_BAD_NETPATH __MSABI_LONG(53) +#define ERROR_NETWORK_BUSY __MSABI_LONG(54) +#define ERROR_DEV_NOT_EXIST __MSABI_LONG(55) +#define ERROR_TOO_MANY_CMDS __MSABI_LONG(56) +#define ERROR_ADAP_HDW_ERR __MSABI_LONG(57) +#define ERROR_BAD_NET_RESP __MSABI_LONG(58) +#define ERROR_UNEXP_NET_ERR __MSABI_LONG(59) +#define ERROR_BAD_REM_ADAP __MSABI_LONG(60) +#define ERROR_PRINTQ_FULL __MSABI_LONG(61) +#define ERROR_NO_SPOOL_SPACE __MSABI_LONG(62) +#define ERROR_PRINT_CANCELLED __MSABI_LONG(63) +#define ERROR_NETNAME_DELETED __MSABI_LONG(64) +#define ERROR_NETWORK_ACCESS_DENIED __MSABI_LONG(65) +#define ERROR_BAD_DEV_TYPE __MSABI_LONG(66) +#define ERROR_BAD_NET_NAME __MSABI_LONG(67) +#define ERROR_TOO_MANY_NAMES __MSABI_LONG(68) +#define ERROR_TOO_MANY_SESS __MSABI_LONG(69) +#define ERROR_SHARING_PAUSED __MSABI_LONG(70) +#define ERROR_REQ_NOT_ACCEP __MSABI_LONG(71) +#define ERROR_REDIR_PAUSED __MSABI_LONG(72) +#define ERROR_FILE_EXISTS __MSABI_LONG(80) +#define ERROR_CANNOT_MAKE __MSABI_LONG(82) +#define ERROR_FAIL_I24 __MSABI_LONG(83) +#define ERROR_OUT_OF_STRUCTURES __MSABI_LONG(84) +#define ERROR_ALREADY_ASSIGNED __MSABI_LONG(85) +#define ERROR_INVALID_PASSWORD __MSABI_LONG(86) +#define ERROR_INVALID_PARAMETER __MSABI_LONG(87) +#define ERROR_NET_WRITE_FAULT __MSABI_LONG(88) +#define ERROR_NO_PROC_SLOTS __MSABI_LONG(89) +#define ERROR_TOO_MANY_SEMAPHORES __MSABI_LONG(100) +#define ERROR_EXCL_SEM_ALREADY_OWNED __MSABI_LONG(101) +#define ERROR_SEM_IS_SET __MSABI_LONG(102) +#define ERROR_TOO_MANY_SEM_REQUESTS __MSABI_LONG(103) +#define ERROR_INVALID_AT_INTERRUPT_TIME __MSABI_LONG(104) +#define ERROR_SEM_OWNER_DIED __MSABI_LONG(105) +#define ERROR_SEM_USER_LIMIT __MSABI_LONG(106) +#define ERROR_DISK_CHANGE __MSABI_LONG(107) +#define ERROR_DRIVE_LOCKED __MSABI_LONG(108) +#define ERROR_BROKEN_PIPE __MSABI_LONG(109) +#define ERROR_OPEN_FAILED __MSABI_LONG(110) +#define ERROR_BUFFER_OVERFLOW __MSABI_LONG(111) +#define ERROR_DISK_FULL __MSABI_LONG(112) +#define ERROR_NO_MORE_SEARCH_HANDLES __MSABI_LONG(113) +#define ERROR_INVALID_TARGET_HANDLE __MSABI_LONG(114) +#define ERROR_INVALID_CATEGORY __MSABI_LONG(117) +#define ERROR_INVALID_VERIFY_SWITCH __MSABI_LONG(118) +#define ERROR_BAD_DRIVER_LEVEL __MSABI_LONG(119) +#define ERROR_CALL_NOT_IMPLEMENTED __MSABI_LONG(120) +#define ERROR_SEM_TIMEOUT __MSABI_LONG(121) +#define ERROR_INSUFFICIENT_BUFFER __MSABI_LONG(122) +#define ERROR_INVALID_NAME __MSABI_LONG(123) +#define ERROR_INVALID_LEVEL __MSABI_LONG(124) +#define ERROR_NO_VOLUME_LABEL __MSABI_LONG(125) +#define ERROR_MOD_NOT_FOUND __MSABI_LONG(126) +#define ERROR_PROC_NOT_FOUND __MSABI_LONG(127) +#define ERROR_WAIT_NO_CHILDREN __MSABI_LONG(128) +#define ERROR_CHILD_NOT_COMPLETE __MSABI_LONG(129) +#define ERROR_DIRECT_ACCESS_HANDLE __MSABI_LONG(130) +#define ERROR_NEGATIVE_SEEK __MSABI_LONG(131) +#define ERROR_SEEK_ON_DEVICE __MSABI_LONG(132) +#define ERROR_IS_JOIN_TARGET __MSABI_LONG(133) +#define ERROR_IS_JOINED __MSABI_LONG(134) +#define ERROR_IS_SUBSTED __MSABI_LONG(135) +#define ERROR_NOT_JOINED __MSABI_LONG(136) +#define ERROR_NOT_SUBSTED __MSABI_LONG(137) +#define ERROR_JOIN_TO_JOIN __MSABI_LONG(138) +#define ERROR_SUBST_TO_SUBST __MSABI_LONG(139) +#define ERROR_JOIN_TO_SUBST __MSABI_LONG(140) +#define ERROR_SUBST_TO_JOIN __MSABI_LONG(141) +#define ERROR_BUSY_DRIVE __MSABI_LONG(142) +#define ERROR_SAME_DRIVE __MSABI_LONG(143) +#define ERROR_DIR_NOT_ROOT __MSABI_LONG(144) +#define ERROR_DIR_NOT_EMPTY __MSABI_LONG(145) +#define ERROR_IS_SUBST_PATH __MSABI_LONG(146) +#define ERROR_IS_JOIN_PATH __MSABI_LONG(147) +#define ERROR_PATH_BUSY __MSABI_LONG(148) +#define ERROR_IS_SUBST_TARGET __MSABI_LONG(149) +#define ERROR_SYSTEM_TRACE __MSABI_LONG(150) +#define ERROR_INVALID_EVENT_COUNT __MSABI_LONG(151) +#define ERROR_TOO_MANY_MUXWAITERS __MSABI_LONG(152) +#define ERROR_INVALID_LIST_FORMAT __MSABI_LONG(153) +#define ERROR_LABEL_TOO_LONG __MSABI_LONG(154) +#define ERROR_TOO_MANY_TCBS __MSABI_LONG(155) +#define ERROR_SIGNAL_REFUSED __MSABI_LONG(156) +#define ERROR_DISCARDED __MSABI_LONG(157) +#define ERROR_NOT_LOCKED __MSABI_LONG(158) +#define ERROR_BAD_THREADID_ADDR __MSABI_LONG(159) +#define ERROR_BAD_ARGUMENTS __MSABI_LONG(160) +#define ERROR_BAD_PATHNAME __MSABI_LONG(161) +#define ERROR_SIGNAL_PENDING __MSABI_LONG(162) +#define ERROR_MAX_THRDS_REACHED __MSABI_LONG(164) +#define ERROR_LOCK_FAILED __MSABI_LONG(167) +#define ERROR_BUSY __MSABI_LONG(170) +#define ERROR_DEVICE_SUPPORT_IN_PROGRESS __MSABI_LONG(171) +#define ERROR_CANCEL_VIOLATION __MSABI_LONG(173) +#define ERROR_ATOMIC_LOCKS_NOT_SUPPORTED __MSABI_LONG(174) +#define ERROR_INVALID_SEGMENT_NUMBER __MSABI_LONG(180) +#define ERROR_INVALID_ORDINAL __MSABI_LONG(182) +#define ERROR_ALREADY_EXISTS __MSABI_LONG(183) +#define ERROR_INVALID_FLAG_NUMBER __MSABI_LONG(186) +#define ERROR_SEM_NOT_FOUND __MSABI_LONG(187) +#define ERROR_INVALID_STARTING_CODESEG __MSABI_LONG(188) +#define ERROR_INVALID_STACKSEG __MSABI_LONG(189) +#define ERROR_INVALID_MODULETYPE __MSABI_LONG(190) +#define ERROR_INVALID_EXE_SIGNATURE __MSABI_LONG(191) +#define ERROR_EXE_MARKED_INVALID __MSABI_LONG(192) +#define ERROR_BAD_EXE_FORMAT __MSABI_LONG(193) +#define ERROR_ITERATED_DATA_EXCEEDS_64k __MSABI_LONG(194) +#define ERROR_INVALID_MINALLOCSIZE __MSABI_LONG(195) +#define ERROR_DYNLINK_FROM_INVALID_RING __MSABI_LONG(196) +#define ERROR_IOPL_NOT_ENABLED __MSABI_LONG(197) +#define ERROR_INVALID_SEGDPL __MSABI_LONG(198) +#define ERROR_AUTODATASEG_EXCEEDS_64k __MSABI_LONG(199) +#define ERROR_RING2SEG_MUST_BE_MOVABLE __MSABI_LONG(200) +#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM __MSABI_LONG(201) +#define ERROR_INFLOOP_IN_RELOC_CHAIN __MSABI_LONG(202) +#define ERROR_ENVVAR_NOT_FOUND __MSABI_LONG(203) +#define ERROR_NO_SIGNAL_SENT __MSABI_LONG(205) +#define ERROR_FILENAME_EXCED_RANGE __MSABI_LONG(206) +#define ERROR_RING2_STACK_IN_USE __MSABI_LONG(207) +#define ERROR_META_EXPANSION_TOO_LONG __MSABI_LONG(208) +#define ERROR_INVALID_SIGNAL_NUMBER __MSABI_LONG(209) +#define ERROR_THREAD_1_INACTIVE __MSABI_LONG(210) +#define ERROR_LOCKED __MSABI_LONG(212) +#define ERROR_TOO_MANY_MODULES __MSABI_LONG(214) +#define ERROR_NESTING_NOT_ALLOWED __MSABI_LONG(215) +#define ERROR_EXE_MACHINE_TYPE_MISMATCH __MSABI_LONG(216) +#define ERROR_EXE_CANNOT_MODIFY_SIGNED_BINARY __MSABI_LONG(217) +#define ERROR_EXE_CANNOT_MODIFY_STRONG_SIGNED_BINARY __MSABI_LONG(218) +#define ERROR_FILE_CHECKED_OUT __MSABI_LONG(220) +#define ERROR_CHECKOUT_REQUIRED __MSABI_LONG(221) +#define ERROR_BAD_FILE_TYPE __MSABI_LONG(222) +#define ERROR_FILE_TOO_LARGE __MSABI_LONG(223) +#define ERROR_FORMS_AUTH_REQUIRED __MSABI_LONG(224) +#define ERROR_VIRUS_INFECTED __MSABI_LONG(225) +#define ERROR_VIRUS_DELETED __MSABI_LONG(226) +#define ERROR_PIPE_LOCAL __MSABI_LONG(229) +#define ERROR_BAD_PIPE __MSABI_LONG(230) +#define ERROR_PIPE_BUSY __MSABI_LONG(231) +#define ERROR_NO_DATA __MSABI_LONG(232) +#define ERROR_PIPE_NOT_CONNECTED __MSABI_LONG(233) +#define ERROR_MORE_DATA __MSABI_LONG(234) +#define ERROR_NO_WORK_DONE __MSABI_LONG(235) +#define ERROR_VC_DISCONNECTED __MSABI_LONG(240) +#define ERROR_INVALID_EA_NAME __MSABI_LONG(254) +#define ERROR_EA_LIST_INCONSISTENT __MSABI_LONG(255) +#define WAIT_TIMEOUT __MSABI_LONG(258) +#define ERROR_NO_MORE_ITEMS __MSABI_LONG(259) +#define ERROR_CANNOT_COPY __MSABI_LONG(266) +#define ERROR_DIRECTORY __MSABI_LONG(267) +#define ERROR_EAS_DIDNT_FIT __MSABI_LONG(275) +#define ERROR_EA_FILE_CORRUPT __MSABI_LONG(276) +#define ERROR_EA_TABLE_FULL __MSABI_LONG(277) +#define ERROR_INVALID_EA_HANDLE __MSABI_LONG(278) +#define ERROR_EAS_NOT_SUPPORTED __MSABI_LONG(282) +#define ERROR_NOT_OWNER __MSABI_LONG(288) +#define ERROR_TOO_MANY_POSTS __MSABI_LONG(298) +#define ERROR_PARTIAL_COPY __MSABI_LONG(299) +#define ERROR_OPLOCK_NOT_GRANTED __MSABI_LONG(300) +#define ERROR_INVALID_OPLOCK_PROTOCOL __MSABI_LONG(301) +#define ERROR_DISK_TOO_FRAGMENTED __MSABI_LONG(302) +#define ERROR_DELETE_PENDING __MSABI_LONG(303) +#define ERROR_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING __MSABI_LONG(304) +#define ERROR_SHORT_NAMES_NOT_ENABLED_ON_VOLUME __MSABI_LONG(305) +#define ERROR_SECURITY_STREAM_IS_INCONSISTENT __MSABI_LONG(306) +#define ERROR_INVALID_LOCK_RANGE __MSABI_LONG(307) +#define ERROR_IMAGE_SUBSYSTEM_NOT_PRESENT __MSABI_LONG(308) +#define ERROR_NOTIFICATION_GUID_ALREADY_DEFINED __MSABI_LONG(309) +#define ERROR_INVALID_EXCEPTION_HANDLER __MSABI_LONG(310) +#define ERROR_DUPLICATE_PRIVILEGES __MSABI_LONG(311) +#define ERROR_NO_RANGES_PROCESSED __MSABI_LONG(312) +#define ERROR_NOT_ALLOWED_ON_SYSTEM_FILE __MSABI_LONG(313) +#define ERROR_DISK_RESOURCES_EXHAUSTED __MSABI_LONG(314) +#define ERROR_INVALID_TOKEN __MSABI_LONG(315) +#define ERROR_DEVICE_FEATURE_NOT_SUPPORTED __MSABI_LONG(316) +#define ERROR_MR_MID_NOT_FOUND __MSABI_LONG(317) +#define ERROR_SCOPE_NOT_FOUND __MSABI_LONG(318) +#define ERROR_UNDEFINED_SCOPE __MSABI_LONG(319) +#define ERROR_INVALID_CAP __MSABI_LONG(320) +#define ERROR_DEVICE_UNREACHABLE __MSABI_LONG(321) +#define ERROR_DEVICE_NO_RESOURCES __MSABI_LONG(322) +#define ERROR_DATA_CHECKSUM_ERROR __MSABI_LONG(323) +#define ERROR_INTERMIXED_KERNEL_EA_OPERATION __MSABI_LONG(324) +#define ERROR_FILE_LEVEL_TRIM_NOT_SUPPORTED __MSABI_LONG(326) +#define ERROR_OFFSET_ALIGNMENT_VIOLATION __MSABI_LONG(327) +#define ERROR_INVALID_FIELD_IN_PARAMETER_LIST __MSABI_LONG(328) +#define ERROR_OPERATION_IN_PROGRESS __MSABI_LONG(329) +#define ERROR_BAD_DEVICE_PATH __MSABI_LONG(330) +#define ERROR_TOO_MANY_DESCRIPTORS __MSABI_LONG(331) +#define ERROR_SCRUB_DATA_DISABLED __MSABI_LONG(332) +#define ERROR_NOT_REDUNDANT_STORAGE __MSABI_LONG(333) +#define ERROR_RESIDENT_FILE_NOT_SUPPORTED __MSABI_LONG(334) +#define ERROR_COMPRESSED_FILE_NOT_SUPPORTED __MSABI_LONG(335) +#define ERROR_DIRECTORY_NOT_SUPPORTED __MSABI_LONG(336) +#define ERROR_NOT_READ_FROM_COPY __MSABI_LONG(337) +#define ERROR_FT_WRITE_FAILURE __MSABI_LONG(338) +#define ERROR_FT_DI_SCAN_REQUIRED __MSABI_LONG(339) +#define ERROR_INVALID_KERNEL_INFO_VERSION __MSABI_LONG(340) +#define ERROR_INVALID_PEP_INFO_VERSION __MSABI_LONG(341) +#define ERROR_OBJECT_NOT_EXTERNALLY_BACKED __MSABI_LONG(342) +#define ERROR_EXTERNAL_BACKING_PROVIDER_UNKNOWN __MSABI_LONG(343) +#define ERROR_COMPRESSION_NOT_BENEFICIAL __MSABI_LONG(344) +#define ERROR_STORAGE_TOPOLOGY_ID_MISMATCH __MSABI_LONG(345) +#define ERROR_BLOCKED_BY_PARENTAL_CONTROLS __MSABI_LONG(346) +#define ERROR_BLOCK_TOO_MANY_REFERENCES __MSABI_LONG(347) +#define ERROR_MARKED_TO_DISALLOW_WRITES __MSABI_LONG(348) +#define ERROR_ENCLAVE_FAILURE __MSABI_LONG(349) +#define ERROR_FAIL_NOACTION_REBOOT __MSABI_LONG(350) +#define ERROR_FAIL_SHUTDOWN __MSABI_LONG(351) +#define ERROR_FAIL_RESTART __MSABI_LONG(352) +#define ERROR_MAX_SESSIONS_REACHED __MSABI_LONG(353) +#define ERROR_NETWORK_ACCESS_DENIED_EDP __MSABI_LONG(354) +#define ERROR_DEVICE_HINT_NAME_BUFFER_TOO_SMALL __MSABI_LONG(355) +#define ERROR_EDP_POLICY_DENIES_OPERATION __MSABI_LONG(356) +#define ERROR_EDP_DPL_POLICY_CANT_BE_SATISFIED __MSABI_LONG(357) +#define ERROR_CLOUD_FILE_SYNC_ROOT_METADATA_CORRUPT __MSABI_LONG(358) +#define ERROR_DEVICE_IN_MAINTENANCE __MSABI_LONG(359) +#define ERROR_NOT_SUPPORTED_ON_DAX __MSABI_LONG(360) +#define ERROR_DAX_MAPPING_EXISTS __MSABI_LONG(361) +#define ERROR_CLOUD_FILE_PROVIDER_NOT_RUNNING __MSABI_LONG(362) +#define ERROR_CLOUD_FILE_METADATA_CORRUPT __MSABI_LONG(363) +#define ERROR_CLOUD_FILE_METADATA_TOO_LARGE __MSABI_LONG(364) +#define ERROR_CLOUD_FILE_PROPERTY_BLOB_TOO_LARGE __MSABI_LONG(365) +#define ERROR_CLOUD_FILE_PROPERTY_BLOB_CHECKSUM_MISMATCH __MSABI_LONG(366) +#define ERROR_CHILD_PROCESS_BLOCKED __MSABI_LONG(367) +#define ERROR_STORAGE_LOST_DATA_PERSISTENCE __MSABI_LONG(368) +#define ERROR_FILE_SYSTEM_VIRTUALIZATION_UNAVAILABLE __MSABI_LONG(369) +#define ERROR_FILE_SYSTEM_VIRTUALIZATION_METADATA_CORRUPT __MSABI_LONG(370) +#define ERROR_FILE_SYSTEM_VIRTUALIZATION_BUSY __MSABI_LONG(371) +#define ERROR_FILE_SYSTEM_VIRTUALIZATION_PROVIDER_UNKNOWN __MSABI_LONG(372) +#define ERROR_GDI_HANDLE_LEAK __MSABI_LONG(373) +#define ERROR_CLOUD_FILE_TOO_MANY_PROPERTY_BLOBS __MSABI_LONG(374) +#define ERROR_CLOUD_FILE_PROPERTY_VERSION_NOT_SUPPORTED __MSABI_LONG(375) +#define ERROR_NOT_A_CLOUD_FILE __MSABI_LONG(376) +#define ERROR_CLOUD_FILE_NOT_IN_SYNC __MSABI_LONG(377) +#define ERROR_CLOUD_FILE_ALREADY_CONNECTED __MSABI_LONG(378) +#define ERROR_CLOUD_FILE_NOT_SUPPORTED __MSABI_LONG(379) +#define ERROR_CLOUD_FILE_INVALID_REQUEST __MSABI_LONG(380) +#define ERROR_CLOUD_FILE_READ_ONLY_VOLUME __MSABI_LONG(381) +#define ERROR_CLOUD_FILE_CONNECTED_PROVIDER_ONLY __MSABI_LONG(382) +#define ERROR_CLOUD_FILE_VALIDATION_FAILED __MSABI_LONG(383) +#define ERROR_SMB1_NOT_AVAILABLE __MSABI_LONG(384) +#define ERROR_FILE_SYSTEM_VIRTUALIZATION_INVALID_OPERATION __MSABI_LONG(385) +#define ERROR_CLOUD_FILE_AUTHENTICATION_FAILED __MSABI_LONG(386) +#define ERROR_CLOUD_FILE_INSUFFICIENT_RESOURCES __MSABI_LONG(387) +#define ERROR_CLOUD_FILE_NETWORK_UNAVAILABLE __MSABI_LONG(388) +#define ERROR_CLOUD_FILE_UNSUCCESSFUL __MSABI_LONG(389) +#define ERROR_CLOUD_FILE_NOT_UNDER_SYNC_ROOT __MSABI_LONG(390) +#define ERROR_CLOUD_FILE_IN_USE __MSABI_LONG(391) +#define ERROR_CLOUD_FILE_PINNED __MSABI_LONG(392) +#define ERROR_CLOUD_FILE_REQUEST_ABORTED __MSABI_LONG(393) +#define ERROR_CLOUD_FILE_PROPERTY_CORRUPT __MSABI_LONG(394) +#define ERROR_CLOUD_FILE_ACCESS_DENIED __MSABI_LONG(395) +#define ERROR_CLOUD_FILE_INCOMPATIBLE_HARDLINKS __MSABI_LONG(396) +#define ERROR_CLOUD_FILE_PROPERTY_LOCK_CONFLICT __MSABI_LONG(397) +#define ERROR_CLOUD_FILE_REQUEST_CANCELED __MSABI_LONG(398) +#define ERROR_EXTERNAL_SYSKEY_NOT_SUPPORTED __MSABI_LONG(399) +#define ERROR_THREAD_MODE_ALREADY_BACKGROUND __MSABI_LONG(400) +#define ERROR_THREAD_MODE_NOT_BACKGROUND __MSABI_LONG(401) +#define ERROR_PROCESS_MODE_ALREADY_BACKGROUND __MSABI_LONG(402) +#define ERROR_PROCESS_MODE_NOT_BACKGROUND __MSABI_LONG(403) +#define ERROR_CLOUD_FILE_PROVIDER_TERMINATED __MSABI_LONG(404) +#define ERROR_NOT_A_CLOUD_SYNC_ROOT __MSABI_LONG(405) +#define ERROR_FILE_PROTECTED_UNDER_DPL __MSABI_LONG(406) +#define ERROR_VOLUME_NOT_CLUSTER_ALIGNED __MSABI_LONG(407) +#define ERROR_NO_PHYSICALLY_ALIGNED_FREE_SPACE_FOUND __MSABI_LONG(408) +#define ERROR_APPX_FILE_NOT_ENCRYPTED __MSABI_LONG(409) +#define ERROR_RWRAW_ENCRYPTED_FILE_NOT_ENCRYPTED __MSABI_LONG(410) +#define ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILEOFFSET __MSABI_LONG(411) +#define ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_FILERANGE __MSABI_LONG(412) +#define ERROR_RWRAW_ENCRYPTED_INVALID_EDATAINFO_PARAMETER __MSABI_LONG(413) +#define ERROR_LINUX_SUBSYSTEM_NOT_PRESENT __MSABI_LONG(414) +#define ERROR_FT_READ_FAILURE __MSABI_LONG(415) +#define ERROR_STORAGE_RESERVE_ID_INVALID __MSABI_LONG(416) +#define ERROR_STORAGE_RESERVE_DOES_NOT_EXIST __MSABI_LONG(417) +#define ERROR_STORAGE_RESERVE_ALREADY_EXISTS __MSABI_LONG(418) +#define ERROR_STORAGE_RESERVE_NOT_EMPTY __MSABI_LONG(419) +#define ERROR_NOT_A_DAX_VOLUME __MSABI_LONG(420) +#define ERROR_NOT_DAX_MAPPABLE __MSABI_LONG(421) +#define ERROR_TIME_SENSITIVE_THREAD __MSABI_LONG(422) +#define ERROR_DPL_NOT_SUPPORTED_FOR_USER __MSABI_LONG(423) +#define ERROR_CASE_DIFFERING_NAMES_IN_DIR __MSABI_LONG(424) +#define ERROR_FILE_NOT_SUPPORTED __MSABI_LONG(425) +#define ERROR_CLOUD_FILE_REQUEST_TIMEOUT __MSABI_LONG(426) +#define ERROR_NO_TASK_QUEUE __MSABI_LONG(427) +#define ERROR_SRC_SRV_DLL_LOAD_FAILED __MSABI_LONG(428) +#define ERROR_NOT_SUPPORTED_WITH_BTT __MSABI_LONG(429) +#define ERROR_ENCRYPTION_DISABLED __MSABI_LONG(430) +#define ERROR_ENCRYPTING_METADATA_DISALLOWED __MSABI_LONG(431) +#define ERROR_CANT_CLEAR_ENCRYPTION_FLAG __MSABI_LONG(432) +#define ERROR_NO_SUCH_DEVICE __MSABI_LONG(433) +#define ERROR_CLOUD_FILE_DEHYDRATION_DISALLOWED __MSABI_LONG(434) +#define ERROR_FILE_SNAP_IN_PROGRESS __MSABI_LONG(435) +#define ERROR_FILE_SNAP_USER_SECTION_NOT_SUPPORTED __MSABI_LONG(436) +#define ERROR_FILE_SNAP_MODIFY_NOT_SUPPORTED __MSABI_LONG(437) +#define ERROR_FILE_SNAP_IO_NOT_COORDINATED __MSABI_LONG(438) +#define ERROR_FILE_SNAP_UNEXPECTED_ERROR __MSABI_LONG(439) +#define ERROR_FILE_SNAP_INVALID_PARAMETER __MSABI_LONG(440) +#define ERROR_UNSATISFIED_DEPENDENCIES __MSABI_LONG(441) +#define ERROR_CASE_SENSITIVE_PATH __MSABI_LONG(442) +#define ERROR_UNEXPECTED_NTCACHEMANAGER_ERROR __MSABI_LONG(443) +#define ERROR_LINUX_SUBSYSTEM_UPDATE_REQUIRED __MSABI_LONG(444) +#define ERROR_DLP_POLICY_WARNS_AGAINST_OPERATION __MSABI_LONG(445) +#define ERROR_DLP_POLICY_DENIES_OPERATION __MSABI_LONG(446) +#define ERROR_SECURITY_DENIES_OPERATION __MSABI_LONG(447) +#define ERROR_UNTRUSTED_MOUNT_POINT __MSABI_LONG(448) +#define ERROR_DLP_POLICY_SILENTLY_FAIL __MSABI_LONG(449) +#define ERROR_CAPAUTHZ_NOT_DEVUNLOCKED __MSABI_LONG(450) +#define ERROR_CAPAUTHZ_CHANGE_TYPE __MSABI_LONG(451) +#define ERROR_CAPAUTHZ_NOT_PROVISIONED __MSABI_LONG(452) +#define ERROR_CAPAUTHZ_NOT_AUTHORIZED __MSABI_LONG(453) +#define ERROR_CAPAUTHZ_NO_POLICY __MSABI_LONG(454) +#define ERROR_CAPAUTHZ_DB_CORRUPTED __MSABI_LONG(455) +#define ERROR_CAPAUTHZ_SCCD_INVALID_CATALOG __MSABI_LONG(456) +#define ERROR_CAPAUTHZ_SCCD_NO_AUTH_ENTITY __MSABI_LONG(457) +#define ERROR_CAPAUTHZ_SCCD_PARSE_ERROR __MSABI_LONG(458) +#define ERROR_CAPAUTHZ_SCCD_DEV_MODE_REQUIRED __MSABI_LONG(459) +#define ERROR_CAPAUTHZ_SCCD_NO_CAPABILITY_MATCH __MSABI_LONG(460) +#define ERROR_CIMFS_IMAGE_CORRUPT __MSABI_LONG(470) +#define ERROR_CIMFS_IMAGE_VERSION_NOT_SUPPORTED __MSABI_LONG(471) +#define ERROR_STORAGE_STACK_ACCESS_DENIED __MSABI_LONG(472) +#define ERROR_INSUFFICIENT_VIRTUAL_ADDR_RESOURCES __MSABI_LONG(473) +#define ERROR_INDEX_OUT_OF_BOUNDS __MSABI_LONG(474) +#define ERROR_CLOUD_FILE_US_MESSAGE_TIMEOUT __MSABI_LONG(475) +#define ERROR_NOT_A_DEV_VOLUME __MSABI_LONG(476) +#define ERROR_FS_GUID_MISMATCH __MSABI_LONG(477) +#define ERROR_CANT_ATTACH_TO_DEV_VOLUME __MSABI_LONG(478) +#define ERROR_MEMORY_DECOMPRESSION_FAILURE __MSABI_LONG(479) +#define ERROR_PNP_QUERY_REMOVE_DEVICE_TIMEOUT __MSABI_LONG(480) +#define ERROR_PNP_QUERY_REMOVE_RELATED_DEVICE_TIMEOUT __MSABI_LONG(481) +#define ERROR_PNP_QUERY_REMOVE_UNRELATED_DEVICE_TIMEOUT __MSABI_LONG(482) +#define ERROR_DEVICE_HARDWARE_ERROR __MSABI_LONG(483) +#define ERROR_INVALID_ADDRESS __MSABI_LONG(487) +#define ERROR_HAS_SYSTEM_CRITICAL_FILES __MSABI_LONG(488) +#define ERROR_ENCRYPTED_FILE_NOT_SUPPORTED __MSABI_LONG(489) +#define ERROR_SPARSE_FILE_NOT_SUPPORTED __MSABI_LONG(490) +#define ERROR_PAGEFILE_NOT_SUPPORTED __MSABI_LONG(491) +#define ERROR_VOLUME_NOT_SUPPORTED __MSABI_LONG(492) +#define ERROR_NOT_SUPPORTED_WITH_BYPASSIO __MSABI_LONG(493) +#define ERROR_NO_BYPASSIO_DRIVER_SUPPORT __MSABI_LONG(494) +#define ERROR_NOT_SUPPORTED_WITH_ENCRYPTION __MSABI_LONG(495) +#define ERROR_NOT_SUPPORTED_WITH_COMPRESSION __MSABI_LONG(496) +#define ERROR_NOT_SUPPORTED_WITH_REPLICATION __MSABI_LONG(497) +#define ERROR_NOT_SUPPORTED_WITH_DEDUPLICATION __MSABI_LONG(498) +#define ERROR_NOT_SUPPORTED_WITH_AUDITING __MSABI_LONG(499) +#define ERROR_USER_PROFILE_LOAD __MSABI_LONG(500) +#define ERROR_SESSION_KEY_TOO_SHORT __MSABI_LONG(501) +#define ERROR_ACCESS_DENIED_APPDATA __MSABI_LONG(502) +#define ERROR_NOT_SUPPORTED_WITH_MONITORING __MSABI_LONG(503) +#define ERROR_NOT_SUPPORTED_WITH_SNAPSHOT __MSABI_LONG(504) +#define ERROR_NOT_SUPPORTED_WITH_VIRTUALIZATION __MSABI_LONG(505) +#define ERROR_BYPASSIO_FLT_NOT_SUPPORTED __MSABI_LONG(506) +#define ERROR_DEVICE_RESET_REQUIRED __MSABI_LONG(507) +#define ERROR_VOLUME_WRITE_ACCESS_DENIED __MSABI_LONG(508) +#define ERROR_NOT_SUPPORTED_WITH_CACHED_HANDLE __MSABI_LONG(509) +#define ERROR_FS_METADATA_INCONSISTENT __MSABI_LONG(510) +#define ERROR_BLOCK_WEAK_REFERENCE_INVALID __MSABI_LONG(511) +#define ERROR_BLOCK_SOURCE_WEAK_REFERENCE_INVALID __MSABI_LONG(512) +#define ERROR_BLOCK_TARGET_WEAK_REFERENCE_INVALID __MSABI_LONG(513) +#define ERROR_BLOCK_SHARED __MSABI_LONG(514) +#define ERROR_VOLUME_UPGRADE_NOT_NEEDED __MSABI_LONG(515) +#define ERROR_VOLUME_UPGRADE_PENDING __MSABI_LONG(516) +#define ERROR_VOLUME_UPGRADE_DISABLED __MSABI_LONG(517) +#define ERROR_VOLUME_UPGRADE_DISABLED_TILL_OS_DOWNGRADE_EXPIRED __MSABI_LONG(518) +#define ERROR_INVALID_CONFIG_VALUE __MSABI_LONG(519) +#define ERROR_MEMORY_DECOMPRESSION_HW_ERROR __MSABI_LONG(520) +#define ERROR_VOLUME_ROLLBACK_DETECTED __MSABI_LONG(521) +#define ERROR_ARITHMETIC_OVERFLOW __MSABI_LONG(534) +#define ERROR_PIPE_CONNECTED __MSABI_LONG(535) +#define ERROR_PIPE_LISTENING __MSABI_LONG(536) +#define ERROR_VERIFIER_STOP __MSABI_LONG(537) +#define ERROR_ABIOS_ERROR __MSABI_LONG(538) +#define ERROR_WX86_WARNING __MSABI_LONG(539) +#define ERROR_WX86_ERROR __MSABI_LONG(540) +#define ERROR_TIMER_NOT_CANCELED __MSABI_LONG(541) +#define ERROR_UNWIND __MSABI_LONG(542) +#define ERROR_BAD_STACK __MSABI_LONG(543) +#define ERROR_INVALID_UNWIND_TARGET __MSABI_LONG(544) +#define ERROR_INVALID_PORT_ATTRIBUTES __MSABI_LONG(545) +#define ERROR_PORT_MESSAGE_TOO_LONG __MSABI_LONG(546) +#define ERROR_INVALID_QUOTA_LOWER __MSABI_LONG(547) +#define ERROR_DEVICE_ALREADY_ATTACHED __MSABI_LONG(548) +#define ERROR_INSTRUCTION_MISALIGNMENT __MSABI_LONG(549) +#define ERROR_PROFILING_NOT_STARTED __MSABI_LONG(550) +#define ERROR_PROFILING_NOT_STOPPED __MSABI_LONG(551) +#define ERROR_COULD_NOT_INTERPRET __MSABI_LONG(552) +#define ERROR_PROFILING_AT_LIMIT __MSABI_LONG(553) +#define ERROR_CANT_WAIT __MSABI_LONG(554) +#define ERROR_CANT_TERMINATE_SELF __MSABI_LONG(555) +#define ERROR_UNEXPECTED_MM_CREATE_ERR __MSABI_LONG(556) +#define ERROR_UNEXPECTED_MM_MAP_ERROR __MSABI_LONG(557) +#define ERROR_UNEXPECTED_MM_EXTEND_ERR __MSABI_LONG(558) +#define ERROR_BAD_FUNCTION_TABLE __MSABI_LONG(559) +#define ERROR_NO_GUID_TRANSLATION __MSABI_LONG(560) +#define ERROR_INVALID_LDT_SIZE __MSABI_LONG(561) +#define ERROR_INVALID_LDT_OFFSET __MSABI_LONG(563) +#define ERROR_INVALID_LDT_DESCRIPTOR __MSABI_LONG(564) +#define ERROR_TOO_MANY_THREADS __MSABI_LONG(565) +#define ERROR_THREAD_NOT_IN_PROCESS __MSABI_LONG(566) +#define ERROR_PAGEFILE_QUOTA_EXCEEDED __MSABI_LONG(567) +#define ERROR_LOGON_SERVER_CONFLICT __MSABI_LONG(568) +#define ERROR_SYNCHRONIZATION_REQUIRED __MSABI_LONG(569) +#define ERROR_NET_OPEN_FAILED __MSABI_LONG(570) +#define ERROR_IO_PRIVILEGE_FAILED __MSABI_LONG(571) +#define ERROR_CONTROL_C_EXIT __MSABI_LONG(572) +#define ERROR_MISSING_SYSTEMFILE __MSABI_LONG(573) +#define ERROR_UNHANDLED_EXCEPTION __MSABI_LONG(574) +#define ERROR_APP_INIT_FAILURE __MSABI_LONG(575) +#define ERROR_PAGEFILE_CREATE_FAILED __MSABI_LONG(576) +#define ERROR_INVALID_IMAGE_HASH __MSABI_LONG(577) +#define ERROR_NO_PAGEFILE __MSABI_LONG(578) +#define ERROR_ILLEGAL_FLOAT_CONTEXT __MSABI_LONG(579) +#define ERROR_NO_EVENT_PAIR __MSABI_LONG(580) +#define ERROR_DOMAIN_CTRLR_CONFIG_ERROR __MSABI_LONG(581) +#define ERROR_ILLEGAL_CHARACTER __MSABI_LONG(582) +#define ERROR_UNDEFINED_CHARACTER __MSABI_LONG(583) +#define ERROR_FLOPPY_VOLUME __MSABI_LONG(584) +#define ERROR_BIOS_FAILED_TO_CONNECT_INTERRUPT __MSABI_LONG(585) +#define ERROR_BACKUP_CONTROLLER __MSABI_LONG(586) +#define ERROR_MUTANT_LIMIT_EXCEEDED __MSABI_LONG(587) +#define ERROR_FS_DRIVER_REQUIRED __MSABI_LONG(588) +#define ERROR_CANNOT_LOAD_REGISTRY_FILE __MSABI_LONG(589) +#define ERROR_DEBUG_ATTACH_FAILED __MSABI_LONG(590) +#define ERROR_SYSTEM_PROCESS_TERMINATED __MSABI_LONG(591) +#define ERROR_DATA_NOT_ACCEPTED __MSABI_LONG(592) +#define ERROR_VDM_HARD_ERROR __MSABI_LONG(593) +#define ERROR_DRIVER_CANCEL_TIMEOUT __MSABI_LONG(594) +#define ERROR_REPLY_MESSAGE_MISMATCH __MSABI_LONG(595) +#define ERROR_LOST_WRITEBEHIND_DATA __MSABI_LONG(596) +#define ERROR_CLIENT_SERVER_PARAMETERS_INVALID __MSABI_LONG(597) +#define ERROR_NOT_TINY_STREAM __MSABI_LONG(598) +#define ERROR_STACK_OVERFLOW_READ __MSABI_LONG(599) +#define ERROR_CONVERT_TO_LARGE __MSABI_LONG(600) +#define ERROR_FOUND_OUT_OF_SCOPE __MSABI_LONG(601) +#define ERROR_ALLOCATE_BUCKET __MSABI_LONG(602) +#define ERROR_MARSHALL_OVERFLOW __MSABI_LONG(603) +#define ERROR_INVALID_VARIANT __MSABI_LONG(604) +#define ERROR_BAD_COMPRESSION_BUFFER __MSABI_LONG(605) +#define ERROR_AUDIT_FAILED __MSABI_LONG(606) +#define ERROR_TIMER_RESOLUTION_NOT_SET __MSABI_LONG(607) +#define ERROR_INSUFFICIENT_LOGON_INFO __MSABI_LONG(608) +#define ERROR_BAD_DLL_ENTRYPOINT __MSABI_LONG(609) +#define ERROR_BAD_SERVICE_ENTRYPOINT __MSABI_LONG(610) +#define ERROR_IP_ADDRESS_CONFLICT1 __MSABI_LONG(611) +#define ERROR_IP_ADDRESS_CONFLICT2 __MSABI_LONG(612) +#define ERROR_REGISTRY_QUOTA_LIMIT __MSABI_LONG(613) +#define ERROR_NO_CALLBACK_ACTIVE __MSABI_LONG(614) +#define ERROR_PWD_TOO_SHORT __MSABI_LONG(615) +#define ERROR_PWD_TOO_RECENT __MSABI_LONG(616) +#define ERROR_PWD_HISTORY_CONFLICT __MSABI_LONG(617) +#define ERROR_UNSUPPORTED_COMPRESSION __MSABI_LONG(618) +#define ERROR_INVALID_HW_PROFILE __MSABI_LONG(619) +#define ERROR_INVALID_PLUGPLAY_DEVICE_PATH __MSABI_LONG(620) +#define ERROR_QUOTA_LIST_INCONSISTENT __MSABI_LONG(621) +#define ERROR_EVALUATION_EXPIRATION __MSABI_LONG(622) +#define ERROR_ILLEGAL_DLL_RELOCATION __MSABI_LONG(623) +#define ERROR_DLL_INIT_FAILED_LOGOFF __MSABI_LONG(624) +#define ERROR_VALIDATE_CONTINUE __MSABI_LONG(625) +#define ERROR_NO_MORE_MATCHES __MSABI_LONG(626) +#define ERROR_RANGE_LIST_CONFLICT __MSABI_LONG(627) +#define ERROR_SERVER_SID_MISMATCH __MSABI_LONG(628) +#define ERROR_CANT_ENABLE_DENY_ONLY __MSABI_LONG(629) +#define ERROR_FLOAT_MULTIPLE_FAULTS __MSABI_LONG(630) +#define ERROR_FLOAT_MULTIPLE_TRAPS __MSABI_LONG(631) +#define ERROR_NOINTERFACE __MSABI_LONG(632) +#define ERROR_DRIVER_FAILED_SLEEP __MSABI_LONG(633) +#define ERROR_CORRUPT_SYSTEM_FILE __MSABI_LONG(634) +#define ERROR_COMMITMENT_MINIMUM __MSABI_LONG(635) +#define ERROR_PNP_RESTART_ENUMERATION __MSABI_LONG(636) +#define ERROR_SYSTEM_IMAGE_BAD_SIGNATURE __MSABI_LONG(637) +#define ERROR_PNP_REBOOT_REQUIRED __MSABI_LONG(638) +#define ERROR_INSUFFICIENT_POWER __MSABI_LONG(639) +#define ERROR_MULTIPLE_FAULT_VIOLATION __MSABI_LONG(640) +#define ERROR_SYSTEM_SHUTDOWN __MSABI_LONG(641) +#define ERROR_PORT_NOT_SET __MSABI_LONG(642) +#define ERROR_DS_VERSION_CHECK_FAILURE __MSABI_LONG(643) +#define ERROR_RANGE_NOT_FOUND __MSABI_LONG(644) +#define ERROR_NOT_SAFE_MODE_DRIVER __MSABI_LONG(646) +#define ERROR_FAILED_DRIVER_ENTRY __MSABI_LONG(647) +#define ERROR_DEVICE_ENUMERATION_ERROR __MSABI_LONG(648) +#define ERROR_MOUNT_POINT_NOT_RESOLVED __MSABI_LONG(649) +#define ERROR_INVALID_DEVICE_OBJECT_PARAMETER __MSABI_LONG(650) +#define ERROR_MCA_OCCURED __MSABI_LONG(651) +#define ERROR_DRIVER_DATABASE_ERROR __MSABI_LONG(652) +#define ERROR_SYSTEM_HIVE_TOO_LARGE __MSABI_LONG(653) +#define ERROR_DRIVER_FAILED_PRIOR_UNLOAD __MSABI_LONG(654) +#define ERROR_VOLSNAP_PREPARE_HIBERNATE __MSABI_LONG(655) +#define ERROR_HIBERNATION_FAILURE __MSABI_LONG(656) +#define ERROR_PWD_TOO_LONG __MSABI_LONG(657) +#define ERROR_FILE_SYSTEM_LIMITATION __MSABI_LONG(665) +#define ERROR_ASSERTION_FAILURE __MSABI_LONG(668) +#define ERROR_ACPI_ERROR __MSABI_LONG(669) +#define ERROR_WOW_ASSERTION __MSABI_LONG(670) +#define ERROR_PNP_BAD_MPS_TABLE __MSABI_LONG(671) +#define ERROR_PNP_TRANSLATION_FAILED __MSABI_LONG(672) +#define ERROR_PNP_IRQ_TRANSLATION_FAILED __MSABI_LONG(673) +#define ERROR_PNP_INVALID_ID __MSABI_LONG(674) +#define ERROR_WAKE_SYSTEM_DEBUGGER __MSABI_LONG(675) +#define ERROR_HANDLES_CLOSED __MSABI_LONG(676) +#define ERROR_EXTRANEOUS_INFORMATION __MSABI_LONG(677) +#define ERROR_RXACT_COMMIT_NECESSARY __MSABI_LONG(678) +#define ERROR_MEDIA_CHECK __MSABI_LONG(679) +#define ERROR_GUID_SUBSTITUTION_MADE __MSABI_LONG(680) +#define ERROR_STOPPED_ON_SYMLINK __MSABI_LONG(681) +#define ERROR_LONGJUMP __MSABI_LONG(682) +#define ERROR_PLUGPLAY_QUERY_VETOED __MSABI_LONG(683) +#define ERROR_UNWIND_CONSOLIDATE __MSABI_LONG(684) +#define ERROR_REGISTRY_HIVE_RECOVERED __MSABI_LONG(685) +#define ERROR_DLL_MIGHT_BE_INSECURE __MSABI_LONG(686) +#define ERROR_DLL_MIGHT_BE_INCOMPATIBLE __MSABI_LONG(687) +#define ERROR_DBG_EXCEPTION_NOT_HANDLED __MSABI_LONG(688) +#define ERROR_DBG_REPLY_LATER __MSABI_LONG(689) +#define ERROR_DBG_UNABLE_TO_PROVIDE_HANDLE __MSABI_LONG(690) +#define ERROR_DBG_TERMINATE_THREAD __MSABI_LONG(691) +#define ERROR_DBG_TERMINATE_PROCESS __MSABI_LONG(692) +#define ERROR_DBG_CONTROL_C __MSABI_LONG(693) +#define ERROR_DBG_PRINTEXCEPTION_C __MSABI_LONG(694) +#define ERROR_DBG_RIPEXCEPTION __MSABI_LONG(695) +#define ERROR_DBG_CONTROL_BREAK __MSABI_LONG(696) +#define ERROR_DBG_COMMAND_EXCEPTION __MSABI_LONG(697) +#define ERROR_OBJECT_NAME_EXISTS __MSABI_LONG(698) +#define ERROR_THREAD_WAS_SUSPENDED __MSABI_LONG(699) +#define ERROR_IMAGE_NOT_AT_BASE __MSABI_LONG(700) +#define ERROR_RXACT_STATE_CREATED __MSABI_LONG(701) +#define ERROR_SEGMENT_NOTIFICATION __MSABI_LONG(702) +#define ERROR_BAD_CURRENT_DIRECTORY __MSABI_LONG(703) +#define ERROR_FT_READ_RECOVERY_FROM_BACKUP __MSABI_LONG(704) +#define ERROR_FT_WRITE_RECOVERY __MSABI_LONG(705) +#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH __MSABI_LONG(706) +#define ERROR_RECEIVE_PARTIAL __MSABI_LONG(707) +#define ERROR_RECEIVE_EXPEDITED __MSABI_LONG(708) +#define ERROR_RECEIVE_PARTIAL_EXPEDITED __MSABI_LONG(709) +#define ERROR_EVENT_DONE __MSABI_LONG(710) +#define ERROR_EVENT_PENDING __MSABI_LONG(711) +#define ERROR_CHECKING_FILE_SYSTEM __MSABI_LONG(712) +#define ERROR_FATAL_APP_EXIT __MSABI_LONG(713) +#define ERROR_PREDEFINED_HANDLE __MSABI_LONG(714) +#define ERROR_WAS_UNLOCKED __MSABI_LONG(715) +#define ERROR_SERVICE_NOTIFICATION __MSABI_LONG(716) +#define ERROR_WAS_LOCKED __MSABI_LONG(717) +#define ERROR_LOG_HARD_ERROR __MSABI_LONG(718) +#define ERROR_ALREADY_WIN32 __MSABI_LONG(719) +#define ERROR_IMAGE_MACHINE_TYPE_MISMATCH_EXE __MSABI_LONG(720) +#define ERROR_NO_YIELD_PERFORMED __MSABI_LONG(721) +#define ERROR_TIMER_RESUME_IGNORED __MSABI_LONG(722) +#define ERROR_ARBITRATION_UNHANDLED __MSABI_LONG(723) +#define ERROR_CARDBUS_NOT_SUPPORTED __MSABI_LONG(724) +#define ERROR_MP_PROCESSOR_MISMATCH __MSABI_LONG(725) +#define ERROR_HIBERNATED __MSABI_LONG(726) +#define ERROR_RESUME_HIBERNATION __MSABI_LONG(727) +#define ERROR_FIRMWARE_UPDATED __MSABI_LONG(728) +#define ERROR_DRIVERS_LEAKING_LOCKED_PAGES __MSABI_LONG(729) +#define ERROR_WAKE_SYSTEM __MSABI_LONG(730) +#define ERROR_WAIT_1 __MSABI_LONG(731) +#define ERROR_WAIT_2 __MSABI_LONG(732) +#define ERROR_WAIT_3 __MSABI_LONG(733) +#define ERROR_WAIT_63 __MSABI_LONG(734) +#define ERROR_ABANDONED_WAIT_0 __MSABI_LONG(735) +#define ERROR_ABANDONED_WAIT_63 __MSABI_LONG(736) +#define ERROR_USER_APC __MSABI_LONG(737) +#define ERROR_KERNEL_APC __MSABI_LONG(738) +#define ERROR_ALERTED __MSABI_LONG(739) +#define ERROR_ELEVATION_REQUIRED __MSABI_LONG(740) +#define ERROR_REPARSE __MSABI_LONG(741) +#define ERROR_OPLOCK_BREAK_IN_PROGRESS __MSABI_LONG(742) +#define ERROR_VOLUME_MOUNTED __MSABI_LONG(743) +#define ERROR_RXACT_COMMITTED __MSABI_LONG(744) +#define ERROR_NOTIFY_CLEANUP __MSABI_LONG(745) +#define ERROR_PRIMARY_TRANSPORT_CONNECT_FAILED __MSABI_LONG(746) +#define ERROR_PAGE_FAULT_TRANSITION __MSABI_LONG(747) +#define ERROR_PAGE_FAULT_DEMAND_ZERO __MSABI_LONG(748) +#define ERROR_PAGE_FAULT_COPY_ON_WRITE __MSABI_LONG(749) +#define ERROR_PAGE_FAULT_GUARD_PAGE __MSABI_LONG(750) +#define ERROR_PAGE_FAULT_PAGING_FILE __MSABI_LONG(751) +#define ERROR_CACHE_PAGE_LOCKED __MSABI_LONG(752) +#define ERROR_CRASH_DUMP __MSABI_LONG(753) +#define ERROR_BUFFER_ALL_ZEROS __MSABI_LONG(754) +#define ERROR_REPARSE_OBJECT __MSABI_LONG(755) +#define ERROR_RESOURCE_REQUIREMENTS_CHANGED __MSABI_LONG(756) +#define ERROR_TRANSLATION_COMPLETE __MSABI_LONG(757) +#define ERROR_NOTHING_TO_TERMINATE __MSABI_LONG(758) +#define ERROR_PROCESS_NOT_IN_JOB __MSABI_LONG(759) +#define ERROR_PROCESS_IN_JOB __MSABI_LONG(760) +#define ERROR_VOLSNAP_HIBERNATE_READY __MSABI_LONG(761) +#define ERROR_FSFILTER_OP_COMPLETED_SUCCESSFULLY __MSABI_LONG(762) +#define ERROR_INTERRUPT_VECTOR_ALREADY_CONNECTED __MSABI_LONG(763) +#define ERROR_INTERRUPT_STILL_CONNECTED __MSABI_LONG(764) +#define ERROR_WAIT_FOR_OPLOCK __MSABI_LONG(765) +#define ERROR_DBG_EXCEPTION_HANDLED __MSABI_LONG(766) +#define ERROR_DBG_CONTINUE __MSABI_LONG(767) +#define ERROR_CALLBACK_POP_STACK __MSABI_LONG(768) +#define ERROR_COMPRESSION_DISABLED __MSABI_LONG(769) +#define ERROR_CANTFETCHBACKWARDS __MSABI_LONG(770) +#define ERROR_CANTSCROLLBACKWARDS __MSABI_LONG(771) +#define ERROR_ROWSNOTRELEASED __MSABI_LONG(772) +#define ERROR_BAD_ACCESSOR_FLAGS __MSABI_LONG(773) +#define ERROR_ERRORS_ENCOUNTERED __MSABI_LONG(774) +#define ERROR_NOT_CAPABLE __MSABI_LONG(775) +#define ERROR_REQUEST_OUT_OF_SEQUENCE __MSABI_LONG(776) +#define ERROR_VERSION_PARSE_ERROR __MSABI_LONG(777) +#define ERROR_BADSTARTPOSITION __MSABI_LONG(778) +#define ERROR_MEMORY_HARDWARE __MSABI_LONG(779) +#define ERROR_DISK_REPAIR_DISABLED __MSABI_LONG(780) +#define ERROR_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE __MSABI_LONG(781) +#define ERROR_SYSTEM_POWERSTATE_TRANSITION __MSABI_LONG(782) +#define ERROR_SYSTEM_POWERSTATE_COMPLEX_TRANSITION __MSABI_LONG(783) +#define ERROR_MCA_EXCEPTION __MSABI_LONG(784) +#define ERROR_ACCESS_AUDIT_BY_POLICY __MSABI_LONG(785) +#define ERROR_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY __MSABI_LONG(786) +#define ERROR_ABANDON_HIBERFILE __MSABI_LONG(787) +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED __MSABI_LONG(788) +#define ERROR_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR __MSABI_LONG(789) +#define ERROR_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR __MSABI_LONG(790) +#define ERROR_BAD_MCFG_TABLE __MSABI_LONG(791) +#define ERROR_DISK_REPAIR_REDIRECTED __MSABI_LONG(792) +#define ERROR_DISK_REPAIR_UNSUCCESSFUL __MSABI_LONG(793) +#define ERROR_CORRUPT_LOG_OVERFULL __MSABI_LONG(794) +#define ERROR_CORRUPT_LOG_CORRUPTED __MSABI_LONG(795) +#define ERROR_CORRUPT_LOG_UNAVAILABLE __MSABI_LONG(796) +#define ERROR_CORRUPT_LOG_DELETED_FULL __MSABI_LONG(797) +#define ERROR_CORRUPT_LOG_CLEARED __MSABI_LONG(798) +#define ERROR_ORPHAN_NAME_EXHAUSTED __MSABI_LONG(799) +#define ERROR_OPLOCK_SWITCHED_TO_NEW_HANDLE __MSABI_LONG(800) +#define ERROR_CANNOT_GRANT_REQUESTED_OPLOCK __MSABI_LONG(801) +#define ERROR_CANNOT_BREAK_OPLOCK __MSABI_LONG(802) +#define ERROR_OPLOCK_HANDLE_CLOSED __MSABI_LONG(803) +#define ERROR_NO_ACE_CONDITION __MSABI_LONG(804) +#define ERROR_INVALID_ACE_CONDITION __MSABI_LONG(805) +#define ERROR_FILE_HANDLE_REVOKED __MSABI_LONG(806) +#define ERROR_IMAGE_AT_DIFFERENT_BASE __MSABI_LONG(807) +#define ERROR_ENCRYPTED_IO_NOT_POSSIBLE __MSABI_LONG(808) +#define ERROR_FILE_METADATA_OPTIMIZATION_IN_PROGRESS __MSABI_LONG(809) +#define ERROR_QUOTA_ACTIVITY __MSABI_LONG(810) +#define ERROR_HANDLE_REVOKED __MSABI_LONG(811) +#define ERROR_CALLBACK_INVOKE_INLINE __MSABI_LONG(812) +#define ERROR_CPU_SET_INVALID __MSABI_LONG(813) +#define ERROR_ENCLAVE_NOT_TERMINATED __MSABI_LONG(814) +#define ERROR_ENCLAVE_VIOLATION __MSABI_LONG(815) +#define ERROR_SERVER_TRANSPORT_CONFLICT __MSABI_LONG(816) +#define ERROR_CERTIFICATE_VALIDATION_PREFERENCE_CONFLICT __MSABI_LONG(817) +#define ERROR_FT_READ_FROM_COPY_FAILURE __MSABI_LONG(818) +#define ERROR_SECTION_DIRECT_MAP_ONLY __MSABI_LONG(819) +#define ERROR_EA_ACCESS_DENIED __MSABI_LONG(994) +#define ERROR_OPERATION_ABORTED __MSABI_LONG(995) +#define ERROR_IO_INCOMPLETE __MSABI_LONG(996) +#define ERROR_IO_PENDING __MSABI_LONG(997) +#define ERROR_NOACCESS __MSABI_LONG(998) +#define ERROR_SWAPERROR __MSABI_LONG(999) +#define ERROR_STACK_OVERFLOW __MSABI_LONG(1001) +#define ERROR_INVALID_MESSAGE __MSABI_LONG(1002) +#define ERROR_CAN_NOT_COMPLETE __MSABI_LONG(1003) +#define ERROR_INVALID_FLAGS __MSABI_LONG(1004) +#define ERROR_UNRECOGNIZED_VOLUME __MSABI_LONG(1005) +#define ERROR_FILE_INVALID __MSABI_LONG(1006) +#define ERROR_FULLSCREEN_MODE __MSABI_LONG(1007) +#define ERROR_NO_TOKEN __MSABI_LONG(1008) +#define ERROR_BADDB __MSABI_LONG(1009) +#define ERROR_BADKEY __MSABI_LONG(1010) +#define ERROR_CANTOPEN __MSABI_LONG(1011) +#define ERROR_CANTREAD __MSABI_LONG(1012) +#define ERROR_CANTWRITE __MSABI_LONG(1013) +#define ERROR_REGISTRY_RECOVERED __MSABI_LONG(1014) +#define ERROR_REGISTRY_CORRUPT __MSABI_LONG(1015) +#define ERROR_REGISTRY_IO_FAILED __MSABI_LONG(1016) +#define ERROR_NOT_REGISTRY_FILE __MSABI_LONG(1017) +#define ERROR_KEY_DELETED __MSABI_LONG(1018) +#define ERROR_NO_LOG_SPACE __MSABI_LONG(1019) +#define ERROR_KEY_HAS_CHILDREN __MSABI_LONG(1020) +#define ERROR_CHILD_MUST_BE_VOLATILE __MSABI_LONG(1021) +#define ERROR_NOTIFY_ENUM_DIR __MSABI_LONG(1022) +#define ERROR_DEPENDENT_SERVICES_RUNNING __MSABI_LONG(1051) +#define ERROR_INVALID_SERVICE_CONTROL __MSABI_LONG(1052) +#define ERROR_SERVICE_REQUEST_TIMEOUT __MSABI_LONG(1053) +#define ERROR_SERVICE_NO_THREAD __MSABI_LONG(1054) +#define ERROR_SERVICE_DATABASE_LOCKED __MSABI_LONG(1055) +#define ERROR_SERVICE_ALREADY_RUNNING __MSABI_LONG(1056) +#define ERROR_INVALID_SERVICE_ACCOUNT __MSABI_LONG(1057) +#define ERROR_SERVICE_DISABLED __MSABI_LONG(1058) +#define ERROR_CIRCULAR_DEPENDENCY __MSABI_LONG(1059) +#define ERROR_SERVICE_DOES_NOT_EXIST __MSABI_LONG(1060) +#define ERROR_SERVICE_CANNOT_ACCEPT_CTRL __MSABI_LONG(1061) +#define ERROR_SERVICE_NOT_ACTIVE __MSABI_LONG(1062) +#define ERROR_FAILED_SERVICE_CONTROLLER_CONNECT __MSABI_LONG(1063) +#define ERROR_EXCEPTION_IN_SERVICE __MSABI_LONG(1064) +#define ERROR_DATABASE_DOES_NOT_EXIST __MSABI_LONG(1065) +#define ERROR_SERVICE_SPECIFIC_ERROR __MSABI_LONG(1066) +#define ERROR_PROCESS_ABORTED __MSABI_LONG(1067) +#define ERROR_SERVICE_DEPENDENCY_FAIL __MSABI_LONG(1068) +#define ERROR_SERVICE_LOGON_FAILED __MSABI_LONG(1069) +#define ERROR_SERVICE_START_HANG __MSABI_LONG(1070) +#define ERROR_INVALID_SERVICE_LOCK __MSABI_LONG(1071) +#define ERROR_SERVICE_MARKED_FOR_DELETE __MSABI_LONG(1072) +#define ERROR_SERVICE_EXISTS __MSABI_LONG(1073) +#define ERROR_ALREADY_RUNNING_LKG __MSABI_LONG(1074) +#define ERROR_SERVICE_DEPENDENCY_DELETED __MSABI_LONG(1075) +#define ERROR_BOOT_ALREADY_ACCEPTED __MSABI_LONG(1076) +#define ERROR_SERVICE_NEVER_STARTED __MSABI_LONG(1077) +#define ERROR_DUPLICATE_SERVICE_NAME __MSABI_LONG(1078) +#define ERROR_DIFFERENT_SERVICE_ACCOUNT __MSABI_LONG(1079) +#define ERROR_CANNOT_DETECT_DRIVER_FAILURE __MSABI_LONG(1080) +#define ERROR_CANNOT_DETECT_PROCESS_ABORT __MSABI_LONG(1081) +#define ERROR_NO_RECOVERY_PROGRAM __MSABI_LONG(1082) +#define ERROR_SERVICE_NOT_IN_EXE __MSABI_LONG(1083) +#define ERROR_NOT_SAFEBOOT_SERVICE __MSABI_LONG(1084) +#define ERROR_END_OF_MEDIA __MSABI_LONG(1100) +#define ERROR_FILEMARK_DETECTED __MSABI_LONG(1101) +#define ERROR_BEGINNING_OF_MEDIA __MSABI_LONG(1102) +#define ERROR_SETMARK_DETECTED __MSABI_LONG(1103) +#define ERROR_NO_DATA_DETECTED __MSABI_LONG(1104) +#define ERROR_PARTITION_FAILURE __MSABI_LONG(1105) +#define ERROR_INVALID_BLOCK_LENGTH __MSABI_LONG(1106) +#define ERROR_DEVICE_NOT_PARTITIONED __MSABI_LONG(1107) +#define ERROR_UNABLE_TO_LOCK_MEDIA __MSABI_LONG(1108) +#define ERROR_UNABLE_TO_UNLOAD_MEDIA __MSABI_LONG(1109) +#define ERROR_MEDIA_CHANGED __MSABI_LONG(1110) +#define ERROR_BUS_RESET __MSABI_LONG(1111) +#define ERROR_NO_MEDIA_IN_DRIVE __MSABI_LONG(1112) +#define ERROR_NO_UNICODE_TRANSLATION __MSABI_LONG(1113) +#define ERROR_DLL_INIT_FAILED __MSABI_LONG(1114) +#define ERROR_SHUTDOWN_IN_PROGRESS __MSABI_LONG(1115) +#define ERROR_NO_SHUTDOWN_IN_PROGRESS __MSABI_LONG(1116) +#define ERROR_IO_DEVICE __MSABI_LONG(1117) +#define ERROR_SERIAL_NO_DEVICE __MSABI_LONG(1118) +#define ERROR_IRQ_BUSY __MSABI_LONG(1119) +#define ERROR_MORE_WRITES __MSABI_LONG(1120) +#define ERROR_COUNTER_TIMEOUT __MSABI_LONG(1121) +#define ERROR_FLOPPY_ID_MARK_NOT_FOUND __MSABI_LONG(1122) +#define ERROR_FLOPPY_WRONG_CYLINDER __MSABI_LONG(1123) +#define ERROR_FLOPPY_UNKNOWN_ERROR __MSABI_LONG(1124) +#define ERROR_FLOPPY_BAD_REGISTERS __MSABI_LONG(1125) +#define ERROR_DISK_RECALIBRATE_FAILED __MSABI_LONG(1126) +#define ERROR_DISK_OPERATION_FAILED __MSABI_LONG(1127) +#define ERROR_DISK_RESET_FAILED __MSABI_LONG(1128) +#define ERROR_EOM_OVERFLOW __MSABI_LONG(1129) +#define ERROR_NOT_ENOUGH_SERVER_MEMORY __MSABI_LONG(1130) +#define ERROR_POSSIBLE_DEADLOCK __MSABI_LONG(1131) +#define ERROR_MAPPED_ALIGNMENT __MSABI_LONG(1132) +#define ERROR_SET_POWER_STATE_VETOED __MSABI_LONG(1140) +#define ERROR_SET_POWER_STATE_FAILED __MSABI_LONG(1141) +#define ERROR_TOO_MANY_LINKS __MSABI_LONG(1142) +#define ERROR_OLD_WIN_VERSION __MSABI_LONG(1150) +#define ERROR_APP_WRONG_OS __MSABI_LONG(1151) +#define ERROR_SINGLE_INSTANCE_APP __MSABI_LONG(1152) +#define ERROR_RMODE_APP __MSABI_LONG(1153) +#define ERROR_INVALID_DLL __MSABI_LONG(1154) +#define ERROR_NO_ASSOCIATION __MSABI_LONG(1155) +#define ERROR_DDE_FAIL __MSABI_LONG(1156) +#define ERROR_DLL_NOT_FOUND __MSABI_LONG(1157) +#define ERROR_NO_MORE_USER_HANDLES __MSABI_LONG(1158) +#define ERROR_MESSAGE_SYNC_ONLY __MSABI_LONG(1159) +#define ERROR_SOURCE_ELEMENT_EMPTY __MSABI_LONG(1160) +#define ERROR_DESTINATION_ELEMENT_FULL __MSABI_LONG(1161) +#define ERROR_ILLEGAL_ELEMENT_ADDRESS __MSABI_LONG(1162) +#define ERROR_MAGAZINE_NOT_PRESENT __MSABI_LONG(1163) +#define ERROR_DEVICE_REINITIALIZATION_NEEDED __MSABI_LONG(1164) +#define ERROR_DEVICE_REQUIRES_CLEANING __MSABI_LONG(1165) +#define ERROR_DEVICE_DOOR_OPEN __MSABI_LONG(1166) +#define ERROR_DEVICE_NOT_CONNECTED __MSABI_LONG(1167) +#define ERROR_NOT_FOUND __MSABI_LONG(1168) +#define ERROR_NO_MATCH __MSABI_LONG(1169) +#define ERROR_SET_NOT_FOUND __MSABI_LONG(1170) +#define ERROR_POINT_NOT_FOUND __MSABI_LONG(1171) +#define ERROR_NO_TRACKING_SERVICE __MSABI_LONG(1172) +#define ERROR_NO_VOLUME_ID __MSABI_LONG(1173) +#define ERROR_UNABLE_TO_REMOVE_REPLACED __MSABI_LONG(1175) +#define ERROR_UNABLE_TO_MOVE_REPLACEMENT __MSABI_LONG(1176) +#define ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 __MSABI_LONG(1177) +#define ERROR_JOURNAL_DELETE_IN_PROGRESS __MSABI_LONG(1178) +#define ERROR_JOURNAL_NOT_ACTIVE __MSABI_LONG(1179) +#define ERROR_POTENTIAL_FILE_FOUND __MSABI_LONG(1180) +#define ERROR_JOURNAL_ENTRY_DELETED __MSABI_LONG(1181) +#define ERROR_PARTITION_TERMINATING __MSABI_LONG(1184) +#define ERROR_SHUTDOWN_IS_SCHEDULED __MSABI_LONG(1190) +#define ERROR_SHUTDOWN_USERS_LOGGED_ON __MSABI_LONG(1191) +#define ERROR_SHUTDOWN_DISKS_NOT_IN_MAINTENANCE_MODE __MSABI_LONG(1192) +#define ERROR_BAD_DEVICE __MSABI_LONG(1200) +#define ERROR_CONNECTION_UNAVAIL __MSABI_LONG(1201) +#define ERROR_DEVICE_ALREADY_REMEMBERED __MSABI_LONG(1202) +#define ERROR_NO_NET_OR_BAD_PATH __MSABI_LONG(1203) +#define ERROR_BAD_PROVIDER __MSABI_LONG(1204) +#define ERROR_CANNOT_OPEN_PROFILE __MSABI_LONG(1205) +#define ERROR_BAD_PROFILE __MSABI_LONG(1206) +#define ERROR_NOT_CONTAINER __MSABI_LONG(1207) +#define ERROR_EXTENDED_ERROR __MSABI_LONG(1208) +#define ERROR_INVALID_GROUPNAME __MSABI_LONG(1209) +#define ERROR_INVALID_COMPUTERNAME __MSABI_LONG(1210) +#define ERROR_INVALID_EVENTNAME __MSABI_LONG(1211) +#define ERROR_INVALID_DOMAINNAME __MSABI_LONG(1212) +#define ERROR_INVALID_SERVICENAME __MSABI_LONG(1213) +#define ERROR_INVALID_NETNAME __MSABI_LONG(1214) +#define ERROR_INVALID_SHARENAME __MSABI_LONG(1215) +#define ERROR_INVALID_PASSWORDNAME __MSABI_LONG(1216) +#define ERROR_INVALID_MESSAGENAME __MSABI_LONG(1217) +#define ERROR_INVALID_MESSAGEDEST __MSABI_LONG(1218) +#define ERROR_SESSION_CREDENTIAL_CONFLICT __MSABI_LONG(1219) +#define ERROR_REMOTE_SESSION_LIMIT_EXCEEDED __MSABI_LONG(1220) +#define ERROR_DUP_DOMAINNAME __MSABI_LONG(1221) +#define ERROR_NO_NETWORK __MSABI_LONG(1222) +#define ERROR_CANCELLED __MSABI_LONG(1223) +#define ERROR_USER_MAPPED_FILE __MSABI_LONG(1224) +#define ERROR_CONNECTION_REFUSED __MSABI_LONG(1225) +#define ERROR_GRACEFUL_DISCONNECT __MSABI_LONG(1226) +#define ERROR_ADDRESS_ALREADY_ASSOCIATED __MSABI_LONG(1227) +#define ERROR_ADDRESS_NOT_ASSOCIATED __MSABI_LONG(1228) +#define ERROR_CONNECTION_INVALID __MSABI_LONG(1229) +#define ERROR_CONNECTION_ACTIVE __MSABI_LONG(1230) +#define ERROR_NETWORK_UNREACHABLE __MSABI_LONG(1231) +#define ERROR_HOST_UNREACHABLE __MSABI_LONG(1232) +#define ERROR_PROTOCOL_UNREACHABLE __MSABI_LONG(1233) +#define ERROR_PORT_UNREACHABLE __MSABI_LONG(1234) +#define ERROR_REQUEST_ABORTED __MSABI_LONG(1235) +#define ERROR_CONNECTION_ABORTED __MSABI_LONG(1236) +#define ERROR_RETRY __MSABI_LONG(1237) +#define ERROR_CONNECTION_COUNT_LIMIT __MSABI_LONG(1238) +#define ERROR_LOGIN_TIME_RESTRICTION __MSABI_LONG(1239) +#define ERROR_LOGIN_WKSTA_RESTRICTION __MSABI_LONG(1240) +#define ERROR_INCORRECT_ADDRESS __MSABI_LONG(1241) +#define ERROR_ALREADY_REGISTERED __MSABI_LONG(1242) +#define ERROR_SERVICE_NOT_FOUND __MSABI_LONG(1243) +#define ERROR_NOT_AUTHENTICATED __MSABI_LONG(1244) +#define ERROR_NOT_LOGGED_ON __MSABI_LONG(1245) +#define ERROR_CONTINUE __MSABI_LONG(1246) +#define ERROR_ALREADY_INITIALIZED __MSABI_LONG(1247) +#define ERROR_NO_MORE_DEVICES __MSABI_LONG(1248) +#define ERROR_NO_SUCH_SITE __MSABI_LONG(1249) +#define ERROR_DOMAIN_CONTROLLER_EXISTS __MSABI_LONG(1250) +#define ERROR_ONLY_IF_CONNECTED __MSABI_LONG(1251) +#define ERROR_OVERRIDE_NOCHANGES __MSABI_LONG(1252) +#define ERROR_BAD_USER_PROFILE __MSABI_LONG(1253) +#define ERROR_NOT_SUPPORTED_ON_SBS __MSABI_LONG(1254) +#define ERROR_SERVER_SHUTDOWN_IN_PROGRESS __MSABI_LONG(1255) +#define ERROR_HOST_DOWN __MSABI_LONG(1256) +#define ERROR_NON_ACCOUNT_SID __MSABI_LONG(1257) +#define ERROR_NON_DOMAIN_SID __MSABI_LONG(1258) +#define ERROR_APPHELP_BLOCK __MSABI_LONG(1259) +#define ERROR_ACCESS_DISABLED_BY_POLICY __MSABI_LONG(1260) +#define ERROR_REG_NAT_CONSUMPTION __MSABI_LONG(1261) +#define ERROR_CSCSHARE_OFFLINE __MSABI_LONG(1262) +#define ERROR_PKINIT_FAILURE __MSABI_LONG(1263) +#define ERROR_SMARTCARD_SUBSYSTEM_FAILURE __MSABI_LONG(1264) +#define ERROR_DOWNGRADE_DETECTED __MSABI_LONG(1265) +#define ERROR_MACHINE_LOCKED __MSABI_LONG(1271) +#define ERROR_SMB_GUEST_LOGON_BLOCKED __MSABI_LONG(1272) +#define ERROR_CALLBACK_SUPPLIED_INVALID_DATA __MSABI_LONG(1273) +#define ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED __MSABI_LONG(1274) +#define ERROR_DRIVER_BLOCKED __MSABI_LONG(1275) +#define ERROR_INVALID_IMPORT_OF_NON_DLL __MSABI_LONG(1276) +#define ERROR_ACCESS_DISABLED_WEBBLADE __MSABI_LONG(1277) +#define ERROR_ACCESS_DISABLED_WEBBLADE_TAMPER __MSABI_LONG(1278) +#define ERROR_RECOVERY_FAILURE __MSABI_LONG(1279) +#define ERROR_ALREADY_FIBER __MSABI_LONG(1280) +#define ERROR_ALREADY_THREAD __MSABI_LONG(1281) +#define ERROR_STACK_BUFFER_OVERRUN __MSABI_LONG(1282) +#define ERROR_PARAMETER_QUOTA_EXCEEDED __MSABI_LONG(1283) +#define ERROR_DEBUGGER_INACTIVE __MSABI_LONG(1284) +#define ERROR_DELAY_LOAD_FAILED __MSABI_LONG(1285) +#define ERROR_VDM_DISALLOWED __MSABI_LONG(1286) +#define ERROR_UNIDENTIFIED_ERROR __MSABI_LONG(1287) +#define ERROR_INVALID_CRUNTIME_PARAMETER __MSABI_LONG(1288) +#define ERROR_BEYOND_VDL __MSABI_LONG(1289) +#define ERROR_INCOMPATIBLE_SERVICE_SID_TYPE __MSABI_LONG(1290) +#define ERROR_DRIVER_PROCESS_TERMINATED __MSABI_LONG(1291) +#define ERROR_IMPLEMENTATION_LIMIT __MSABI_LONG(1292) +#define ERROR_PROCESS_IS_PROTECTED __MSABI_LONG(1293) +#define ERROR_SERVICE_NOTIFY_CLIENT_LAGGING __MSABI_LONG(1294) +#define ERROR_DISK_QUOTA_EXCEEDED __MSABI_LONG(1295) +#define ERROR_CONTENT_BLOCKED __MSABI_LONG(1296) +#define ERROR_INCOMPATIBLE_SERVICE_PRIVILEGE __MSABI_LONG(1297) +#define ERROR_APP_HANG __MSABI_LONG(1298) +#define ERROR_INVALID_LABEL __MSABI_LONG(1299) +#define ERROR_NOT_ALL_ASSIGNED __MSABI_LONG(1300) +#define ERROR_SOME_NOT_MAPPED __MSABI_LONG(1301) +#define ERROR_NO_QUOTAS_FOR_ACCOUNT __MSABI_LONG(1302) +#define ERROR_LOCAL_USER_SESSION_KEY __MSABI_LONG(1303) +#define ERROR_NULL_LM_PASSWORD __MSABI_LONG(1304) +#define ERROR_UNKNOWN_REVISION __MSABI_LONG(1305) +#define ERROR_REVISION_MISMATCH __MSABI_LONG(1306) +#define ERROR_INVALID_OWNER __MSABI_LONG(1307) +#define ERROR_INVALID_PRIMARY_GROUP __MSABI_LONG(1308) +#define ERROR_NO_IMPERSONATION_TOKEN __MSABI_LONG(1309) +#define ERROR_CANT_DISABLE_MANDATORY __MSABI_LONG(1310) +#define ERROR_NO_LOGON_SERVERS __MSABI_LONG(1311) +#define ERROR_NO_SUCH_LOGON_SESSION __MSABI_LONG(1312) +#define ERROR_NO_SUCH_PRIVILEGE __MSABI_LONG(1313) +#define ERROR_PRIVILEGE_NOT_HELD __MSABI_LONG(1314) +#define ERROR_INVALID_ACCOUNT_NAME __MSABI_LONG(1315) +#define ERROR_USER_EXISTS __MSABI_LONG(1316) +#define ERROR_NO_SUCH_USER __MSABI_LONG(1317) +#define ERROR_GROUP_EXISTS __MSABI_LONG(1318) +#define ERROR_NO_SUCH_GROUP __MSABI_LONG(1319) +#define ERROR_MEMBER_IN_GROUP __MSABI_LONG(1320) +#define ERROR_MEMBER_NOT_IN_GROUP __MSABI_LONG(1321) +#define ERROR_LAST_ADMIN __MSABI_LONG(1322) +#define ERROR_WRONG_PASSWORD __MSABI_LONG(1323) +#define ERROR_ILL_FORMED_PASSWORD __MSABI_LONG(1324) +#define ERROR_PASSWORD_RESTRICTION __MSABI_LONG(1325) +#define ERROR_LOGON_FAILURE __MSABI_LONG(1326) +#define ERROR_ACCOUNT_RESTRICTION __MSABI_LONG(1327) +#define ERROR_INVALID_LOGON_HOURS __MSABI_LONG(1328) +#define ERROR_INVALID_WORKSTATION __MSABI_LONG(1329) +#define ERROR_PASSWORD_EXPIRED __MSABI_LONG(1330) +#define ERROR_ACCOUNT_DISABLED __MSABI_LONG(1331) +#define ERROR_NONE_MAPPED __MSABI_LONG(1332) +#define ERROR_TOO_MANY_LUIDS_REQUESTED __MSABI_LONG(1333) +#define ERROR_LUIDS_EXHAUSTED __MSABI_LONG(1334) +#define ERROR_INVALID_SUB_AUTHORITY __MSABI_LONG(1335) +#define ERROR_INVALID_ACL __MSABI_LONG(1336) +#define ERROR_INVALID_SID __MSABI_LONG(1337) +#define ERROR_INVALID_SECURITY_DESCR __MSABI_LONG(1338) +#define ERROR_BAD_INHERITANCE_ACL __MSABI_LONG(1340) +#define ERROR_SERVER_DISABLED __MSABI_LONG(1341) +#define ERROR_SERVER_NOT_DISABLED __MSABI_LONG(1342) +#define ERROR_INVALID_ID_AUTHORITY __MSABI_LONG(1343) +#define ERROR_ALLOTTED_SPACE_EXCEEDED __MSABI_LONG(1344) +#define ERROR_INVALID_GROUP_ATTRIBUTES __MSABI_LONG(1345) +#define ERROR_BAD_IMPERSONATION_LEVEL __MSABI_LONG(1346) +#define ERROR_CANT_OPEN_ANONYMOUS __MSABI_LONG(1347) +#define ERROR_BAD_VALIDATION_CLASS __MSABI_LONG(1348) +#define ERROR_BAD_TOKEN_TYPE __MSABI_LONG(1349) +#define ERROR_NO_SECURITY_ON_OBJECT __MSABI_LONG(1350) +#define ERROR_CANT_ACCESS_DOMAIN_INFO __MSABI_LONG(1351) +#define ERROR_INVALID_SERVER_STATE __MSABI_LONG(1352) +#define ERROR_INVALID_DOMAIN_STATE __MSABI_LONG(1353) +#define ERROR_INVALID_DOMAIN_ROLE __MSABI_LONG(1354) +#define ERROR_NO_SUCH_DOMAIN __MSABI_LONG(1355) +#define ERROR_DOMAIN_EXISTS __MSABI_LONG(1356) +#define ERROR_DOMAIN_LIMIT_EXCEEDED __MSABI_LONG(1357) +#define ERROR_INTERNAL_DB_CORRUPTION __MSABI_LONG(1358) +#define ERROR_INTERNAL_ERROR __MSABI_LONG(1359) +#define ERROR_GENERIC_NOT_MAPPED __MSABI_LONG(1360) +#define ERROR_BAD_DESCRIPTOR_FORMAT __MSABI_LONG(1361) +#define ERROR_NOT_LOGON_PROCESS __MSABI_LONG(1362) +#define ERROR_LOGON_SESSION_EXISTS __MSABI_LONG(1363) +#define ERROR_NO_SUCH_PACKAGE __MSABI_LONG(1364) +#define ERROR_BAD_LOGON_SESSION_STATE __MSABI_LONG(1365) +#define ERROR_LOGON_SESSION_COLLISION __MSABI_LONG(1366) +#define ERROR_INVALID_LOGON_TYPE __MSABI_LONG(1367) +#define ERROR_CANNOT_IMPERSONATE __MSABI_LONG(1368) +#define ERROR_RXACT_INVALID_STATE __MSABI_LONG(1369) +#define ERROR_RXACT_COMMIT_FAILURE __MSABI_LONG(1370) +#define ERROR_SPECIAL_ACCOUNT __MSABI_LONG(1371) +#define ERROR_SPECIAL_GROUP __MSABI_LONG(1372) +#define ERROR_SPECIAL_USER __MSABI_LONG(1373) +#define ERROR_MEMBERS_PRIMARY_GROUP __MSABI_LONG(1374) +#define ERROR_TOKEN_ALREADY_IN_USE __MSABI_LONG(1375) +#define ERROR_NO_SUCH_ALIAS __MSABI_LONG(1376) +#define ERROR_MEMBER_NOT_IN_ALIAS __MSABI_LONG(1377) +#define ERROR_MEMBER_IN_ALIAS __MSABI_LONG(1378) +#define ERROR_ALIAS_EXISTS __MSABI_LONG(1379) +#define ERROR_LOGON_NOT_GRANTED __MSABI_LONG(1380) +#define ERROR_TOO_MANY_SECRETS __MSABI_LONG(1381) +#define ERROR_SECRET_TOO_LONG __MSABI_LONG(1382) +#define ERROR_INTERNAL_DB_ERROR __MSABI_LONG(1383) +#define ERROR_TOO_MANY_CONTEXT_IDS __MSABI_LONG(1384) +#define ERROR_LOGON_TYPE_NOT_GRANTED __MSABI_LONG(1385) +#define ERROR_NT_CROSS_ENCRYPTION_REQUIRED __MSABI_LONG(1386) +#define ERROR_NO_SUCH_MEMBER __MSABI_LONG(1387) +#define ERROR_INVALID_MEMBER __MSABI_LONG(1388) +#define ERROR_TOO_MANY_SIDS __MSABI_LONG(1389) +#define ERROR_LM_CROSS_ENCRYPTION_REQUIRED __MSABI_LONG(1390) +#define ERROR_NO_INHERITANCE __MSABI_LONG(1391) +#define ERROR_FILE_CORRUPT __MSABI_LONG(1392) +#define ERROR_DISK_CORRUPT __MSABI_LONG(1393) +#define ERROR_NO_USER_SESSION_KEY __MSABI_LONG(1394) +#define ERROR_LICENSE_QUOTA_EXCEEDED __MSABI_LONG(1395) +#define ERROR_WRONG_TARGET_NAME __MSABI_LONG(1396) +#define ERROR_MUTUAL_AUTH_FAILED __MSABI_LONG(1397) +#define ERROR_TIME_SKEW __MSABI_LONG(1398) +#define ERROR_CURRENT_DOMAIN_NOT_ALLOWED __MSABI_LONG(1399) +#define ERROR_INVALID_WINDOW_HANDLE __MSABI_LONG(1400) +#define ERROR_INVALID_MENU_HANDLE __MSABI_LONG(1401) +#define ERROR_INVALID_CURSOR_HANDLE __MSABI_LONG(1402) +#define ERROR_INVALID_ACCEL_HANDLE __MSABI_LONG(1403) +#define ERROR_INVALID_HOOK_HANDLE __MSABI_LONG(1404) +#define ERROR_INVALID_DWP_HANDLE __MSABI_LONG(1405) +#define ERROR_TLW_WITH_WSCHILD __MSABI_LONG(1406) +#define ERROR_CANNOT_FIND_WND_CLASS __MSABI_LONG(1407) +#define ERROR_WINDOW_OF_OTHER_THREAD __MSABI_LONG(1408) +#define ERROR_HOTKEY_ALREADY_REGISTERED __MSABI_LONG(1409) +#define ERROR_CLASS_ALREADY_EXISTS __MSABI_LONG(1410) +#define ERROR_CLASS_DOES_NOT_EXIST __MSABI_LONG(1411) +#define ERROR_CLASS_HAS_WINDOWS __MSABI_LONG(1412) +#define ERROR_INVALID_INDEX __MSABI_LONG(1413) +#define ERROR_INVALID_ICON_HANDLE __MSABI_LONG(1414) +#define ERROR_PRIVATE_DIALOG_INDEX __MSABI_LONG(1415) +#define ERROR_LISTBOX_ID_NOT_FOUND __MSABI_LONG(1416) +#define ERROR_NO_WILDCARD_CHARACTERS __MSABI_LONG(1417) +#define ERROR_CLIPBOARD_NOT_OPEN __MSABI_LONG(1418) +#define ERROR_HOTKEY_NOT_REGISTERED __MSABI_LONG(1419) +#define ERROR_WINDOW_NOT_DIALOG __MSABI_LONG(1420) +#define ERROR_CONTROL_ID_NOT_FOUND __MSABI_LONG(1421) +#define ERROR_INVALID_COMBOBOX_MESSAGE __MSABI_LONG(1422) +#define ERROR_WINDOW_NOT_COMBOBOX __MSABI_LONG(1423) +#define ERROR_INVALID_EDIT_HEIGHT __MSABI_LONG(1424) +#define ERROR_DC_NOT_FOUND __MSABI_LONG(1425) +#define ERROR_INVALID_HOOK_FILTER __MSABI_LONG(1426) +#define ERROR_INVALID_FILTER_PROC __MSABI_LONG(1427) +#define ERROR_HOOK_NEEDS_HMOD __MSABI_LONG(1428) +#define ERROR_GLOBAL_ONLY_HOOK __MSABI_LONG(1429) +#define ERROR_JOURNAL_HOOK_SET __MSABI_LONG(1430) +#define ERROR_HOOK_NOT_INSTALLED __MSABI_LONG(1431) +#define ERROR_INVALID_LB_MESSAGE __MSABI_LONG(1432) +#define ERROR_SETCOUNT_ON_BAD_LB __MSABI_LONG(1433) +#define ERROR_LB_WITHOUT_TABSTOPS __MSABI_LONG(1434) +#define ERROR_DESTROY_OBJECT_OF_OTHER_THREAD __MSABI_LONG(1435) +#define ERROR_CHILD_WINDOW_MENU __MSABI_LONG(1436) +#define ERROR_NO_SYSTEM_MENU __MSABI_LONG(1437) +#define ERROR_INVALID_MSGBOX_STYLE __MSABI_LONG(1438) +#define ERROR_INVALID_SPI_VALUE __MSABI_LONG(1439) +#define ERROR_SCREEN_ALREADY_LOCKED __MSABI_LONG(1440) +#define ERROR_HWNDS_HAVE_DIFF_PARENT __MSABI_LONG(1441) +#define ERROR_NOT_CHILD_WINDOW __MSABI_LONG(1442) +#define ERROR_INVALID_GW_COMMAND __MSABI_LONG(1443) +#define ERROR_INVALID_THREAD_ID __MSABI_LONG(1444) +#define ERROR_NON_MDICHILD_WINDOW __MSABI_LONG(1445) +#define ERROR_POPUP_ALREADY_ACTIVE __MSABI_LONG(1446) +#define ERROR_NO_SCROLLBARS __MSABI_LONG(1447) +#define ERROR_INVALID_SCROLLBAR_RANGE __MSABI_LONG(1448) +#define ERROR_INVALID_SHOWWIN_COMMAND __MSABI_LONG(1449) +#define ERROR_NO_SYSTEM_RESOURCES __MSABI_LONG(1450) +#define ERROR_NONPAGED_SYSTEM_RESOURCES __MSABI_LONG(1451) +#define ERROR_PAGED_SYSTEM_RESOURCES __MSABI_LONG(1452) +#define ERROR_WORKING_SET_QUOTA __MSABI_LONG(1453) +#define ERROR_PAGEFILE_QUOTA __MSABI_LONG(1454) +#define ERROR_COMMITMENT_LIMIT __MSABI_LONG(1455) +#define ERROR_MENU_ITEM_NOT_FOUND __MSABI_LONG(1456) +#define ERROR_INVALID_KEYBOARD_HANDLE __MSABI_LONG(1457) +#define ERROR_HOOK_TYPE_NOT_ALLOWED __MSABI_LONG(1458) +#define ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION __MSABI_LONG(1459) +#define ERROR_TIMEOUT __MSABI_LONG(1460) +#define ERROR_INVALID_MONITOR_HANDLE __MSABI_LONG(1461) +#define ERROR_INCORRECT_SIZE __MSABI_LONG(1462) +#define ERROR_SYMLINK_CLASS_DISABLED __MSABI_LONG(1463) +#define ERROR_SYMLINK_NOT_SUPPORTED __MSABI_LONG(1464) +#define ERROR_XML_PARSE_ERROR __MSABI_LONG(1465) +#define ERROR_XMLDSIG_ERROR __MSABI_LONG(1466) +#define ERROR_RESTART_APPLICATION __MSABI_LONG(1467) +#define ERROR_WRONG_COMPARTMENT __MSABI_LONG(1468) +#define ERROR_AUTHIP_FAILURE __MSABI_LONG(1469) +#define ERROR_NO_NVRAM_RESOURCES __MSABI_LONG(1470) +#define ERROR_NOT_GUI_PROCESS __MSABI_LONG(1471) +#define ERROR_EVENTLOG_FILE_CORRUPT __MSABI_LONG(1500) +#define ERROR_EVENTLOG_CANT_START __MSABI_LONG(1501) +#define ERROR_LOG_FILE_FULL __MSABI_LONG(1502) +#define ERROR_EVENTLOG_FILE_CHANGED __MSABI_LONG(1503) +#define ERROR_CONTAINER_ASSIGNED __MSABI_LONG(1504) +#define ERROR_JOB_NO_CONTAINER __MSABI_LONG(1505) +#define ERROR_INVALID_TASK_NAME __MSABI_LONG(1550) +#define ERROR_INVALID_TASK_INDEX __MSABI_LONG(1551) +#define ERROR_THREAD_ALREADY_IN_TASK __MSABI_LONG(1552) +#define ERROR_INSTALL_SERVICE_FAILURE __MSABI_LONG(1601) +#define ERROR_INSTALL_USEREXIT __MSABI_LONG(1602) +#define ERROR_INSTALL_FAILURE __MSABI_LONG(1603) +#define ERROR_INSTALL_SUSPEND __MSABI_LONG(1604) +#define ERROR_UNKNOWN_PRODUCT __MSABI_LONG(1605) +#define ERROR_UNKNOWN_FEATURE __MSABI_LONG(1606) +#define ERROR_UNKNOWN_COMPONENT __MSABI_LONG(1607) +#define ERROR_UNKNOWN_PROPERTY __MSABI_LONG(1608) +#define ERROR_INVALID_HANDLE_STATE __MSABI_LONG(1609) +#define ERROR_BAD_CONFIGURATION __MSABI_LONG(1610) +#define ERROR_INDEX_ABSENT __MSABI_LONG(1611) +#define ERROR_INSTALL_SOURCE_ABSENT __MSABI_LONG(1612) +#define ERROR_INSTALL_PACKAGE_VERSION __MSABI_LONG(1613) +#define ERROR_PRODUCT_UNINSTALLED __MSABI_LONG(1614) +#define ERROR_BAD_QUERY_SYNTAX __MSABI_LONG(1615) +#define ERROR_INVALID_FIELD __MSABI_LONG(1616) +#define ERROR_DEVICE_REMOVED __MSABI_LONG(1617) +#define ERROR_INSTALL_ALREADY_RUNNING __MSABI_LONG(1618) +#define ERROR_INSTALL_PACKAGE_OPEN_FAILED __MSABI_LONG(1619) +#define ERROR_INSTALL_PACKAGE_INVALID __MSABI_LONG(1620) +#define ERROR_INSTALL_UI_FAILURE __MSABI_LONG(1621) +#define ERROR_INSTALL_LOG_FAILURE __MSABI_LONG(1622) +#define ERROR_INSTALL_LANGUAGE_UNSUPPORTED __MSABI_LONG(1623) +#define ERROR_INSTALL_TRANSFORM_FAILURE __MSABI_LONG(1624) +#define ERROR_INSTALL_PACKAGE_REJECTED __MSABI_LONG(1625) +#define ERROR_FUNCTION_NOT_CALLED __MSABI_LONG(1626) +#define ERROR_FUNCTION_FAILED __MSABI_LONG(1627) +#define ERROR_INVALID_TABLE __MSABI_LONG(1628) +#define ERROR_DATATYPE_MISMATCH __MSABI_LONG(1629) +#define ERROR_UNSUPPORTED_TYPE __MSABI_LONG(1630) +#define ERROR_CREATE_FAILED __MSABI_LONG(1631) +#define ERROR_INSTALL_TEMP_UNWRITABLE __MSABI_LONG(1632) +#define ERROR_INSTALL_PLATFORM_UNSUPPORTED __MSABI_LONG(1633) +#define ERROR_INSTALL_NOTUSED __MSABI_LONG(1634) +#define ERROR_PATCH_PACKAGE_OPEN_FAILED __MSABI_LONG(1635) +#define ERROR_PATCH_PACKAGE_INVALID __MSABI_LONG(1636) +#define ERROR_PATCH_PACKAGE_UNSUPPORTED __MSABI_LONG(1637) +#define ERROR_PRODUCT_VERSION __MSABI_LONG(1638) +#define ERROR_INVALID_COMMAND_LINE __MSABI_LONG(1639) +#define ERROR_INSTALL_REMOTE_DISALLOWED __MSABI_LONG(1640) +#define ERROR_SUCCESS_REBOOT_INITIATED __MSABI_LONG(1641) +#define ERROR_PATCH_TARGET_NOT_FOUND __MSABI_LONG(1642) +#define ERROR_PATCH_PACKAGE_REJECTED __MSABI_LONG(1643) +#define ERROR_INSTALL_TRANSFORM_REJECTED __MSABI_LONG(1644) +#define ERROR_INSTALL_REMOTE_PROHIBITED __MSABI_LONG(1645) +#define ERROR_PATCH_REMOVAL_UNSUPPORTED __MSABI_LONG(1646) +#define ERROR_UNKNOWN_PATCH __MSABI_LONG(1647) +#define ERROR_PATCH_NO_SEQUENCE __MSABI_LONG(1648) +#define ERROR_PATCH_REMOVAL_DISALLOWED __MSABI_LONG(1649) +#define ERROR_INVALID_PATCH_XML __MSABI_LONG(1650) +#define ERROR_PATCH_MANAGED_ADVERTISED_PRODUCT __MSABI_LONG(1651) +#define ERROR_INSTALL_SERVICE_SAFEBOOT __MSABI_LONG(1652) +#define ERROR_FAIL_FAST_EXCEPTION __MSABI_LONG(1653) +#define ERROR_INSTALL_REJECTED __MSABI_LONG(1654) +#define ERROR_DYNAMIC_CODE_BLOCKED __MSABI_LONG(1655) +#define ERROR_NOT_SAME_OBJECT __MSABI_LONG(1656) +#define ERROR_STRICT_CFG_VIOLATION __MSABI_LONG(1657) +#define ERROR_SET_CONTEXT_DENIED __MSABI_LONG(1660) +#define ERROR_CROSS_PARTITION_VIOLATION __MSABI_LONG(1661) +#define ERROR_RETURN_ADDRESS_HIJACK_ATTEMPT __MSABI_LONG(1662) +#define RPC_S_INVALID_STRING_BINDING __MSABI_LONG(1700) +#define RPC_S_WRONG_KIND_OF_BINDING __MSABI_LONG(1701) +#define RPC_S_INVALID_BINDING __MSABI_LONG(1702) +#define RPC_S_PROTSEQ_NOT_SUPPORTED __MSABI_LONG(1703) +#define RPC_S_INVALID_RPC_PROTSEQ __MSABI_LONG(1704) +#define RPC_S_INVALID_STRING_UUID __MSABI_LONG(1705) +#define RPC_S_INVALID_ENDPOINT_FORMAT __MSABI_LONG(1706) +#define RPC_S_INVALID_NET_ADDR __MSABI_LONG(1707) +#define RPC_S_NO_ENDPOINT_FOUND __MSABI_LONG(1708) +#define RPC_S_INVALID_TIMEOUT __MSABI_LONG(1709) +#define RPC_S_OBJECT_NOT_FOUND __MSABI_LONG(1710) +#define RPC_S_ALREADY_REGISTERED __MSABI_LONG(1711) +#define RPC_S_TYPE_ALREADY_REGISTERED __MSABI_LONG(1712) +#define RPC_S_ALREADY_LISTENING __MSABI_LONG(1713) +#define RPC_S_NO_PROTSEQS_REGISTERED __MSABI_LONG(1714) +#define RPC_S_NOT_LISTENING __MSABI_LONG(1715) +#define RPC_S_UNKNOWN_MGR_TYPE __MSABI_LONG(1716) +#define RPC_S_UNKNOWN_IF __MSABI_LONG(1717) +#define RPC_S_NO_BINDINGS __MSABI_LONG(1718) +#define RPC_S_NO_PROTSEQS __MSABI_LONG(1719) +#define RPC_S_CANT_CREATE_ENDPOINT __MSABI_LONG(1720) +#define RPC_S_OUT_OF_RESOURCES __MSABI_LONG(1721) +#define RPC_S_SERVER_UNAVAILABLE __MSABI_LONG(1722) +#define RPC_S_SERVER_TOO_BUSY __MSABI_LONG(1723) +#define RPC_S_INVALID_NETWORK_OPTIONS __MSABI_LONG(1724) +#define RPC_S_NO_CALL_ACTIVE __MSABI_LONG(1725) +#define RPC_S_CALL_FAILED __MSABI_LONG(1726) +#define RPC_S_CALL_FAILED_DNE __MSABI_LONG(1727) +#define RPC_S_PROTOCOL_ERROR __MSABI_LONG(1728) +#define RPC_S_PROXY_ACCESS_DENIED __MSABI_LONG(1729) +#define RPC_S_UNSUPPORTED_TRANS_SYN __MSABI_LONG(1730) +#define RPC_S_UNSUPPORTED_TYPE __MSABI_LONG(1732) +#define RPC_S_INVALID_TAG __MSABI_LONG(1733) +#define RPC_S_INVALID_BOUND __MSABI_LONG(1734) +#define RPC_S_NO_ENTRY_NAME __MSABI_LONG(1735) +#define RPC_S_INVALID_NAME_SYNTAX __MSABI_LONG(1736) +#define RPC_S_UNSUPPORTED_NAME_SYNTAX __MSABI_LONG(1737) +#define RPC_S_UUID_NO_ADDRESS __MSABI_LONG(1739) +#define RPC_S_DUPLICATE_ENDPOINT __MSABI_LONG(1740) +#define RPC_S_UNKNOWN_AUTHN_TYPE __MSABI_LONG(1741) +#define RPC_S_MAX_CALLS_TOO_SMALL __MSABI_LONG(1742) +#define RPC_S_STRING_TOO_LONG __MSABI_LONG(1743) +#define RPC_S_PROTSEQ_NOT_FOUND __MSABI_LONG(1744) +#define RPC_S_PROCNUM_OUT_OF_RANGE __MSABI_LONG(1745) +#define RPC_S_BINDING_HAS_NO_AUTH __MSABI_LONG(1746) +#define RPC_S_UNKNOWN_AUTHN_SERVICE __MSABI_LONG(1747) +#define RPC_S_UNKNOWN_AUTHN_LEVEL __MSABI_LONG(1748) +#define RPC_S_INVALID_AUTH_IDENTITY __MSABI_LONG(1749) +#define RPC_S_UNKNOWN_AUTHZ_SERVICE __MSABI_LONG(1750) +#define EPT_S_INVALID_ENTRY __MSABI_LONG(1751) +#define EPT_S_CANT_PERFORM_OP __MSABI_LONG(1752) +#define EPT_S_NOT_REGISTERED __MSABI_LONG(1753) +#define RPC_S_NOTHING_TO_EXPORT __MSABI_LONG(1754) +#define RPC_S_INCOMPLETE_NAME __MSABI_LONG(1755) +#define RPC_S_INVALID_VERS_OPTION __MSABI_LONG(1756) +#define RPC_S_NO_MORE_MEMBERS __MSABI_LONG(1757) +#define RPC_S_NOT_ALL_OBJS_UNEXPORTED __MSABI_LONG(1758) +#define RPC_S_INTERFACE_NOT_FOUND __MSABI_LONG(1759) +#define RPC_S_ENTRY_ALREADY_EXISTS __MSABI_LONG(1760) +#define RPC_S_ENTRY_NOT_FOUND __MSABI_LONG(1761) +#define RPC_S_NAME_SERVICE_UNAVAILABLE __MSABI_LONG(1762) +#define RPC_S_INVALID_NAF_ID __MSABI_LONG(1763) +#define RPC_S_CANNOT_SUPPORT __MSABI_LONG(1764) +#define RPC_S_NO_CONTEXT_AVAILABLE __MSABI_LONG(1765) +#define RPC_S_INTERNAL_ERROR __MSABI_LONG(1766) +#define RPC_S_ZERO_DIVIDE __MSABI_LONG(1767) +#define RPC_S_ADDRESS_ERROR __MSABI_LONG(1768) +#define RPC_S_FP_DIV_ZERO __MSABI_LONG(1769) +#define RPC_S_FP_UNDERFLOW __MSABI_LONG(1770) +#define RPC_S_FP_OVERFLOW __MSABI_LONG(1771) +#define RPC_X_NO_MORE_ENTRIES __MSABI_LONG(1772) +#define RPC_X_SS_CHAR_TRANS_OPEN_FAIL __MSABI_LONG(1773) +#define RPC_X_SS_CHAR_TRANS_SHORT_FILE __MSABI_LONG(1774) +#define RPC_X_SS_IN_NULL_CONTEXT __MSABI_LONG(1775) +#define RPC_X_SS_CONTEXT_DAMAGED __MSABI_LONG(1777) +#define RPC_X_SS_HANDLES_MISMATCH __MSABI_LONG(1778) +#define RPC_X_SS_CANNOT_GET_CALL_HANDLE __MSABI_LONG(1779) +#define RPC_X_NULL_REF_POINTER __MSABI_LONG(1780) +#define RPC_X_ENUM_VALUE_OUT_OF_RANGE __MSABI_LONG(1781) +#define RPC_X_BYTE_COUNT_TOO_SMALL __MSABI_LONG(1782) +#define RPC_X_BAD_STUB_DATA __MSABI_LONG(1783) +#define ERROR_INVALID_USER_BUFFER __MSABI_LONG(1784) +#define ERROR_UNRECOGNIZED_MEDIA __MSABI_LONG(1785) +#define ERROR_NO_TRUST_LSA_SECRET __MSABI_LONG(1786) +#define ERROR_NO_TRUST_SAM_ACCOUNT __MSABI_LONG(1787) +#define ERROR_TRUSTED_DOMAIN_FAILURE __MSABI_LONG(1788) +#define ERROR_TRUSTED_RELATIONSHIP_FAILURE __MSABI_LONG(1789) +#define ERROR_TRUST_FAILURE __MSABI_LONG(1790) +#define RPC_S_CALL_IN_PROGRESS __MSABI_LONG(1791) +#define ERROR_NETLOGON_NOT_STARTED __MSABI_LONG(1792) +#define ERROR_ACCOUNT_EXPIRED __MSABI_LONG(1793) +#define ERROR_REDIRECTOR_HAS_OPEN_HANDLES __MSABI_LONG(1794) +#define ERROR_PRINTER_DRIVER_ALREADY_INSTALLED __MSABI_LONG(1795) +#define ERROR_UNKNOWN_PORT __MSABI_LONG(1796) +#define ERROR_UNKNOWN_PRINTER_DRIVER __MSABI_LONG(1797) +#define ERROR_UNKNOWN_PRINTPROCESSOR __MSABI_LONG(1798) +#define ERROR_INVALID_SEPARATOR_FILE __MSABI_LONG(1799) +#define ERROR_INVALID_PRIORITY __MSABI_LONG(1800) +#define ERROR_INVALID_PRINTER_NAME __MSABI_LONG(1801) +#define ERROR_PRINTER_ALREADY_EXISTS __MSABI_LONG(1802) +#define ERROR_INVALID_PRINTER_COMMAND __MSABI_LONG(1803) +#define ERROR_INVALID_DATATYPE __MSABI_LONG(1804) +#define ERROR_INVALID_ENVIRONMENT __MSABI_LONG(1805) +#define RPC_S_NO_MORE_BINDINGS __MSABI_LONG(1806) +#define ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT __MSABI_LONG(1807) +#define ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT __MSABI_LONG(1808) +#define ERROR_NOLOGON_SERVER_TRUST_ACCOUNT __MSABI_LONG(1809) +#define ERROR_DOMAIN_TRUST_INCONSISTENT __MSABI_LONG(1810) +#define ERROR_SERVER_HAS_OPEN_HANDLES __MSABI_LONG(1811) +#define ERROR_RESOURCE_DATA_NOT_FOUND __MSABI_LONG(1812) +#define ERROR_RESOURCE_TYPE_NOT_FOUND __MSABI_LONG(1813) +#define ERROR_RESOURCE_NAME_NOT_FOUND __MSABI_LONG(1814) +#define ERROR_RESOURCE_LANG_NOT_FOUND __MSABI_LONG(1815) +#define ERROR_NOT_ENOUGH_QUOTA __MSABI_LONG(1816) +#define RPC_S_NO_INTERFACES __MSABI_LONG(1817) +#define RPC_S_CALL_CANCELLED __MSABI_LONG(1818) +#define RPC_S_BINDING_INCOMPLETE __MSABI_LONG(1819) +#define RPC_S_COMM_FAILURE __MSABI_LONG(1820) +#define RPC_S_UNSUPPORTED_AUTHN_LEVEL __MSABI_LONG(1821) +#define RPC_S_NO_PRINC_NAME __MSABI_LONG(1822) +#define RPC_S_NOT_RPC_ERROR __MSABI_LONG(1823) +#define RPC_S_UUID_LOCAL_ONLY __MSABI_LONG(1824) +#define RPC_S_SEC_PKG_ERROR __MSABI_LONG(1825) +#define RPC_S_NOT_CANCELLED __MSABI_LONG(1826) +#define RPC_X_INVALID_ES_ACTION __MSABI_LONG(1827) +#define RPC_X_WRONG_ES_VERSION __MSABI_LONG(1828) +#define RPC_X_WRONG_STUB_VERSION __MSABI_LONG(1829) +#define RPC_X_INVALID_PIPE_OBJECT __MSABI_LONG(1830) +#define RPC_X_WRONG_PIPE_ORDER __MSABI_LONG(1831) +#define RPC_X_WRONG_PIPE_VERSION __MSABI_LONG(1832) +#define RPC_S_COOKIE_AUTH_FAILED __MSABI_LONG(1833) +#define RPC_S_DO_NOT_DISTURB __MSABI_LONG(1834) +#define RPC_S_SYSTEM_HANDLE_COUNT_EXCEEDED __MSABI_LONG(1835) +#define RPC_S_SYSTEM_HANDLE_TYPE_MISMATCH __MSABI_LONG(1836) +#define RPC_S_GROUP_MEMBER_NOT_FOUND __MSABI_LONG(1898) +#define EPT_S_CANT_CREATE __MSABI_LONG(1899) +#define RPC_S_INVALID_OBJECT __MSABI_LONG(1900) +#define ERROR_INVALID_TIME __MSABI_LONG(1901) +#define ERROR_INVALID_FORM_NAME __MSABI_LONG(1902) +#define ERROR_INVALID_FORM_SIZE __MSABI_LONG(1903) +#define ERROR_ALREADY_WAITING __MSABI_LONG(1904) +#define ERROR_PRINTER_DELETED __MSABI_LONG(1905) +#define ERROR_INVALID_PRINTER_STATE __MSABI_LONG(1906) +#define ERROR_PASSWORD_MUST_CHANGE __MSABI_LONG(1907) +#define ERROR_DOMAIN_CONTROLLER_NOT_FOUND __MSABI_LONG(1908) +#define ERROR_ACCOUNT_LOCKED_OUT __MSABI_LONG(1909) +#define OR_INVALID_OXID __MSABI_LONG(1910) +#define OR_INVALID_OID __MSABI_LONG(1911) +#define OR_INVALID_SET __MSABI_LONG(1912) +#define RPC_S_SEND_INCOMPLETE __MSABI_LONG(1913) +#define RPC_S_INVALID_ASYNC_HANDLE __MSABI_LONG(1914) +#define RPC_S_INVALID_ASYNC_CALL __MSABI_LONG(1915) +#define RPC_X_PIPE_CLOSED __MSABI_LONG(1916) +#define RPC_X_PIPE_DISCIPLINE_ERROR __MSABI_LONG(1917) +#define RPC_X_PIPE_EMPTY __MSABI_LONG(1918) +#define ERROR_NO_SITENAME __MSABI_LONG(1919) +#define ERROR_CANT_ACCESS_FILE __MSABI_LONG(1920) +#define ERROR_CANT_RESOLVE_FILENAME __MSABI_LONG(1921) +#define RPC_S_ENTRY_TYPE_MISMATCH __MSABI_LONG(1922) +#define RPC_S_NOT_ALL_OBJS_EXPORTED __MSABI_LONG(1923) +#define RPC_S_INTERFACE_NOT_EXPORTED __MSABI_LONG(1924) +#define RPC_S_PROFILE_NOT_ADDED __MSABI_LONG(1925) +#define RPC_S_PRF_ELT_NOT_ADDED __MSABI_LONG(1926) +#define RPC_S_PRF_ELT_NOT_REMOVED __MSABI_LONG(1927) +#define RPC_S_GRP_ELT_NOT_ADDED __MSABI_LONG(1928) +#define RPC_S_GRP_ELT_NOT_REMOVED __MSABI_LONG(1929) +#define ERROR_KM_DRIVER_BLOCKED __MSABI_LONG(1930) +#define ERROR_CONTEXT_EXPIRED __MSABI_LONG(1931) +#define ERROR_PER_USER_TRUST_QUOTA_EXCEEDED __MSABI_LONG(1932) +#define ERROR_ALL_USER_TRUST_QUOTA_EXCEEDED __MSABI_LONG(1933) +#define ERROR_USER_DELETE_TRUST_QUOTA_EXCEEDED __MSABI_LONG(1934) +#define ERROR_AUTHENTICATION_FIREWALL_FAILED __MSABI_LONG(1935) +#define ERROR_REMOTE_PRINT_CONNECTIONS_BLOCKED __MSABI_LONG(1936) +#define ERROR_NTLM_BLOCKED __MSABI_LONG(1937) +#define ERROR_PASSWORD_CHANGE_REQUIRED __MSABI_LONG(1938) +#define ERROR_LOST_MODE_LOGON_RESTRICTION __MSABI_LONG(1939) +#define ERROR_INVALID_PIXEL_FORMAT __MSABI_LONG(2000) +#define ERROR_BAD_DRIVER __MSABI_LONG(2001) +#define ERROR_INVALID_WINDOW_STYLE __MSABI_LONG(2002) +#define ERROR_METAFILE_NOT_SUPPORTED __MSABI_LONG(2003) +#define ERROR_TRANSFORM_NOT_SUPPORTED __MSABI_LONG(2004) +#define ERROR_CLIPPING_NOT_SUPPORTED __MSABI_LONG(2005) +#define ERROR_INVALID_CMM __MSABI_LONG(2010) +#define ERROR_INVALID_PROFILE __MSABI_LONG(2011) +#define ERROR_TAG_NOT_FOUND __MSABI_LONG(2012) +#define ERROR_TAG_NOT_PRESENT __MSABI_LONG(2013) +#define ERROR_DUPLICATE_TAG __MSABI_LONG(2014) +#define ERROR_PROFILE_NOT_ASSOCIATED_WITH_DEVICE __MSABI_LONG(2015) +#define ERROR_PROFILE_NOT_FOUND __MSABI_LONG(2016) +#define ERROR_INVALID_COLORSPACE __MSABI_LONG(2017) +#define ERROR_ICM_NOT_ENABLED __MSABI_LONG(2018) +#define ERROR_DELETING_ICM_XFORM __MSABI_LONG(2019) +#define ERROR_INVALID_TRANSFORM __MSABI_LONG(2020) +#define ERROR_COLORSPACE_MISMATCH __MSABI_LONG(2021) +#define ERROR_INVALID_COLORINDEX __MSABI_LONG(2022) +#define ERROR_PROFILE_DOES_NOT_MATCH_DEVICE __MSABI_LONG(2023) +#define ERROR_CONNECTED_OTHER_PASSWORD __MSABI_LONG(2108) +#define ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT __MSABI_LONG(2109) +#define ERROR_BAD_USERNAME __MSABI_LONG(2202) +#define ERROR_NOT_CONNECTED __MSABI_LONG(2250) +#define ERROR_OPEN_FILES __MSABI_LONG(2401) +#define ERROR_ACTIVE_CONNECTIONS __MSABI_LONG(2402) +#define ERROR_DEVICE_IN_USE __MSABI_LONG(2404) +#define ERROR_UNKNOWN_PRINT_MONITOR __MSABI_LONG(3000) +#define ERROR_PRINTER_DRIVER_IN_USE __MSABI_LONG(3001) +#define ERROR_SPOOL_FILE_NOT_FOUND __MSABI_LONG(3002) +#define ERROR_SPL_NO_STARTDOC __MSABI_LONG(3003) +#define ERROR_SPL_NO_ADDJOB __MSABI_LONG(3004) +#define ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED __MSABI_LONG(3005) +#define ERROR_PRINT_MONITOR_ALREADY_INSTALLED __MSABI_LONG(3006) +#define ERROR_INVALID_PRINT_MONITOR __MSABI_LONG(3007) +#define ERROR_PRINT_MONITOR_IN_USE __MSABI_LONG(3008) +#define ERROR_PRINTER_HAS_JOBS_QUEUED __MSABI_LONG(3009) +#define ERROR_SUCCESS_REBOOT_REQUIRED __MSABI_LONG(3010) +#define ERROR_SUCCESS_RESTART_REQUIRED __MSABI_LONG(3011) +#define ERROR_PRINTER_NOT_FOUND __MSABI_LONG(3012) +#define ERROR_PRINTER_DRIVER_WARNED __MSABI_LONG(3013) +#define ERROR_PRINTER_DRIVER_BLOCKED __MSABI_LONG(3014) +#define ERROR_PRINTER_DRIVER_PACKAGE_IN_USE __MSABI_LONG(3015) +#define ERROR_CORE_DRIVER_PACKAGE_NOT_FOUND __MSABI_LONG(3016) +#define ERROR_FAIL_REBOOT_REQUIRED __MSABI_LONG(3017) +#define ERROR_FAIL_REBOOT_INITIATED __MSABI_LONG(3018) +#define ERROR_PRINTER_DRIVER_DOWNLOAD_NEEDED __MSABI_LONG(3019) +#define ERROR_PRINT_JOB_RESTART_REQUIRED __MSABI_LONG(3020) +#define ERROR_INVALID_PRINTER_DRIVER_MANIFEST __MSABI_LONG(3021) +#define ERROR_PRINTER_NOT_SHAREABLE __MSABI_LONG(3022) +#define ERROR_SERVER_SERVICE_CALL_REQUIRES_SMB1 __MSABI_LONG(3023) +#define ERROR_NETWORK_AUTHENTICATION_PROMPT_CANCELED __MSABI_LONG(3024) +#define ERROR_REMOTE_MAILSLOTS_DEPRECATED __MSABI_LONG(3025) +#define ERROR_REQUEST_PAUSED __MSABI_LONG(3050) +#define ERROR_APPEXEC_CONDITION_NOT_SATISFIED __MSABI_LONG(3060) +#define ERROR_APPEXEC_HANDLE_INVALIDATED __MSABI_LONG(3061) +#define ERROR_APPEXEC_INVALID_HOST_GENERATION __MSABI_LONG(3062) +#define ERROR_APPEXEC_UNEXPECTED_PROCESS_REGISTRATION __MSABI_LONG(3063) +#define ERROR_APPEXEC_INVALID_HOST_STATE __MSABI_LONG(3064) +#define ERROR_APPEXEC_NO_DONOR __MSABI_LONG(3065) +#define ERROR_APPEXEC_HOST_ID_MISMATCH __MSABI_LONG(3066) +#define ERROR_APPEXEC_UNKNOWN_USER __MSABI_LONG(3067) +#define ERROR_APPEXEC_APP_COMPAT_BLOCK __MSABI_LONG(3068) +#define ERROR_APPEXEC_CALLER_WAIT_TIMEOUT __MSABI_LONG(3069) +#define ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_TERMINATION __MSABI_LONG(3070) +#define ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_LICENSING __MSABI_LONG(3071) +#define ERROR_APPEXEC_CALLER_WAIT_TIMEOUT_RESOURCES __MSABI_LONG(3072) +#define ERROR_VRF_VOLATILE_CFG_AND_IO_ENABLED __MSABI_LONG(3080) +#define ERROR_VRF_VOLATILE_NOT_STOPPABLE __MSABI_LONG(3081) +#define ERROR_VRF_VOLATILE_SAFE_MODE __MSABI_LONG(3082) +#define ERROR_VRF_VOLATILE_NOT_RUNNABLE_SYSTEM __MSABI_LONG(3083) +#define ERROR_VRF_VOLATILE_NOT_SUPPORTED_RULECLASS __MSABI_LONG(3084) +#define ERROR_VRF_VOLATILE_PROTECTED_DRIVER __MSABI_LONG(3085) +#define ERROR_VRF_VOLATILE_NMI_REGISTERED __MSABI_LONG(3086) +#define ERROR_VRF_VOLATILE_SETTINGS_CONFLICT __MSABI_LONG(3087) +#define ERROR_CAR_LKD_IN_PROGRESS __MSABI_LONG(3088) +#define ERROR_DIF_ZERO_SIZE_INFORMATION __MSABI_LONG(3187) +#define ERROR_DIF_DRIVER_PLUGIN_MISMATCH __MSABI_LONG(3188) +#define ERROR_DIF_DRIVER_THUNKS_NOT_ALLOWED __MSABI_LONG(3189) +#define ERROR_DIF_IOCALLBACK_NOT_REPLACED __MSABI_LONG(3190) +#define ERROR_DIF_LIVEDUMP_LIMIT_EXCEEDED __MSABI_LONG(3191) +#define ERROR_DIF_VOLATILE_SECTION_NOT_LOCKED __MSABI_LONG(3192) +#define ERROR_DIF_VOLATILE_DRIVER_HOTPATCHED __MSABI_LONG(3193) +#define ERROR_DIF_VOLATILE_INVALID_INFO __MSABI_LONG(3194) +#define ERROR_DIF_VOLATILE_DRIVER_IS_NOT_RUNNING __MSABI_LONG(3195) +#define ERROR_DIF_VOLATILE_PLUGIN_IS_NOT_RUNNING __MSABI_LONG(3196) +#define ERROR_DIF_VOLATILE_PLUGIN_CHANGE_NOT_ALLOWED __MSABI_LONG(3197) +#define ERROR_DIF_VOLATILE_NOT_ALLOWED __MSABI_LONG(3198) +#define ERROR_DIF_BINDING_API_NOT_FOUND __MSABI_LONG(3199) +#define ERROR_IO_REISSUE_AS_CACHED __MSABI_LONG(3950) +#define ERROR_WINS_INTERNAL __MSABI_LONG(4000) +#define ERROR_CAN_NOT_DEL_LOCAL_WINS __MSABI_LONG(4001) +#define ERROR_STATIC_INIT __MSABI_LONG(4002) +#define ERROR_INC_BACKUP __MSABI_LONG(4003) +#define ERROR_FULL_BACKUP __MSABI_LONG(4004) +#define ERROR_REC_NON_EXISTENT __MSABI_LONG(4005) +#define ERROR_RPL_NOT_ALLOWED __MSABI_LONG(4006) +#define PEERDIST_ERROR_CONTENTINFO_VERSION_UNSUPPORTED __MSABI_LONG(4050) +#define PEERDIST_ERROR_CANNOT_PARSE_CONTENTINFO __MSABI_LONG(4051) +#define PEERDIST_ERROR_MISSING_DATA __MSABI_LONG(4052) +#define PEERDIST_ERROR_NO_MORE __MSABI_LONG(4053) +#define PEERDIST_ERROR_NOT_INITIALIZED __MSABI_LONG(4054) +#define PEERDIST_ERROR_ALREADY_INITIALIZED __MSABI_LONG(4055) +#define PEERDIST_ERROR_SHUTDOWN_IN_PROGRESS __MSABI_LONG(4056) +#define PEERDIST_ERROR_INVALIDATED __MSABI_LONG(4057) +#define PEERDIST_ERROR_ALREADY_EXISTS __MSABI_LONG(4058) +#define PEERDIST_ERROR_OPERATION_NOTFOUND __MSABI_LONG(4059) +#define PEERDIST_ERROR_ALREADY_COMPLETED __MSABI_LONG(4060) +#define PEERDIST_ERROR_OUT_OF_BOUNDS __MSABI_LONG(4061) +#define PEERDIST_ERROR_VERSION_UNSUPPORTED __MSABI_LONG(4062) +#define PEERDIST_ERROR_INVALID_CONFIGURATION __MSABI_LONG(4063) +#define PEERDIST_ERROR_NOT_LICENSED __MSABI_LONG(4064) +#define PEERDIST_ERROR_SERVICE_UNAVAILABLE __MSABI_LONG(4065) +#define PEERDIST_ERROR_TRUST_FAILURE __MSABI_LONG(4066) +#define ERROR_DHCP_ADDRESS_CONFLICT __MSABI_LONG(4100) +#define ERROR_WMI_GUID_NOT_FOUND __MSABI_LONG(4200) +#define ERROR_WMI_INSTANCE_NOT_FOUND __MSABI_LONG(4201) +#define ERROR_WMI_ITEMID_NOT_FOUND __MSABI_LONG(4202) +#define ERROR_WMI_TRY_AGAIN __MSABI_LONG(4203) +#define ERROR_WMI_DP_NOT_FOUND __MSABI_LONG(4204) +#define ERROR_WMI_UNRESOLVED_INSTANCE_REF __MSABI_LONG(4205) +#define ERROR_WMI_ALREADY_ENABLED __MSABI_LONG(4206) +#define ERROR_WMI_GUID_DISCONNECTED __MSABI_LONG(4207) +#define ERROR_WMI_SERVER_UNAVAILABLE __MSABI_LONG(4208) +#define ERROR_WMI_DP_FAILED __MSABI_LONG(4209) +#define ERROR_WMI_INVALID_MOF __MSABI_LONG(4210) +#define ERROR_WMI_INVALID_REGINFO __MSABI_LONG(4211) +#define ERROR_WMI_ALREADY_DISABLED __MSABI_LONG(4212) +#define ERROR_WMI_READ_ONLY __MSABI_LONG(4213) +#define ERROR_WMI_SET_FAILURE __MSABI_LONG(4214) +#define ERROR_NOT_APPCONTAINER __MSABI_LONG(4250) +#define ERROR_APPCONTAINER_REQUIRED __MSABI_LONG(4251) +#define ERROR_NOT_SUPPORTED_IN_APPCONTAINER __MSABI_LONG(4252) +#define ERROR_INVALID_PACKAGE_SID_LENGTH __MSABI_LONG(4253) +#define ERROR_INVALID_MEDIA __MSABI_LONG(4300) +#define ERROR_INVALID_LIBRARY __MSABI_LONG(4301) +#define ERROR_INVALID_MEDIA_POOL __MSABI_LONG(4302) +#define ERROR_DRIVE_MEDIA_MISMATCH __MSABI_LONG(4303) +#define ERROR_MEDIA_OFFLINE __MSABI_LONG(4304) +#define ERROR_LIBRARY_OFFLINE __MSABI_LONG(4305) +#define ERROR_EMPTY __MSABI_LONG(4306) +#define ERROR_NOT_EMPTY __MSABI_LONG(4307) +#define ERROR_MEDIA_UNAVAILABLE __MSABI_LONG(4308) +#define ERROR_RESOURCE_DISABLED __MSABI_LONG(4309) +#define ERROR_INVALID_CLEANER __MSABI_LONG(4310) +#define ERROR_UNABLE_TO_CLEAN __MSABI_LONG(4311) +#define ERROR_OBJECT_NOT_FOUND __MSABI_LONG(4312) +#define ERROR_DATABASE_FAILURE __MSABI_LONG(4313) +#define ERROR_DATABASE_FULL __MSABI_LONG(4314) +#define ERROR_MEDIA_INCOMPATIBLE __MSABI_LONG(4315) +#define ERROR_RESOURCE_NOT_PRESENT __MSABI_LONG(4316) +#define ERROR_INVALID_OPERATION __MSABI_LONG(4317) +#define ERROR_MEDIA_NOT_AVAILABLE __MSABI_LONG(4318) +#define ERROR_DEVICE_NOT_AVAILABLE __MSABI_LONG(4319) +#define ERROR_REQUEST_REFUSED __MSABI_LONG(4320) +#define ERROR_INVALID_DRIVE_OBJECT __MSABI_LONG(4321) +#define ERROR_LIBRARY_FULL __MSABI_LONG(4322) +#define ERROR_MEDIUM_NOT_ACCESSIBLE __MSABI_LONG(4323) +#define ERROR_UNABLE_TO_LOAD_MEDIUM __MSABI_LONG(4324) +#define ERROR_UNABLE_TO_INVENTORY_DRIVE __MSABI_LONG(4325) +#define ERROR_UNABLE_TO_INVENTORY_SLOT __MSABI_LONG(4326) +#define ERROR_UNABLE_TO_INVENTORY_TRANSPORT __MSABI_LONG(4327) +#define ERROR_TRANSPORT_FULL __MSABI_LONG(4328) +#define ERROR_CONTROLLING_IEPORT __MSABI_LONG(4329) +#define ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA __MSABI_LONG(4330) +#define ERROR_CLEANER_SLOT_SET __MSABI_LONG(4331) +#define ERROR_CLEANER_SLOT_NOT_SET __MSABI_LONG(4332) +#define ERROR_CLEANER_CARTRIDGE_SPENT __MSABI_LONG(4333) +#define ERROR_UNEXPECTED_OMID __MSABI_LONG(4334) +#define ERROR_CANT_DELETE_LAST_ITEM __MSABI_LONG(4335) +#define ERROR_MESSAGE_EXCEEDS_MAX_SIZE __MSABI_LONG(4336) +#define ERROR_VOLUME_CONTAINS_SYS_FILES __MSABI_LONG(4337) +#define ERROR_INDIGENOUS_TYPE __MSABI_LONG(4338) +#define ERROR_NO_SUPPORTING_DRIVES __MSABI_LONG(4339) +#define ERROR_CLEANER_CARTRIDGE_INSTALLED __MSABI_LONG(4340) +#define ERROR_IEPORT_FULL __MSABI_LONG(4341) +#define ERROR_FILE_OFFLINE __MSABI_LONG(4350) +#define ERROR_REMOTE_STORAGE_NOT_ACTIVE __MSABI_LONG(4351) +#define ERROR_REMOTE_STORAGE_MEDIA_ERROR __MSABI_LONG(4352) +#define ERROR_NOT_A_REPARSE_POINT __MSABI_LONG(4390) +#define ERROR_REPARSE_ATTRIBUTE_CONFLICT __MSABI_LONG(4391) +#define ERROR_INVALID_REPARSE_DATA __MSABI_LONG(4392) +#define ERROR_REPARSE_TAG_INVALID __MSABI_LONG(4393) +#define ERROR_REPARSE_TAG_MISMATCH __MSABI_LONG(4394) +#define ERROR_REPARSE_POINT_ENCOUNTERED __MSABI_LONG(4395) +#define ERROR_APP_DATA_NOT_FOUND __MSABI_LONG(4400) +#define ERROR_APP_DATA_EXPIRED __MSABI_LONG(4401) +#define ERROR_APP_DATA_CORRUPT __MSABI_LONG(4402) +#define ERROR_APP_DATA_LIMIT_EXCEEDED __MSABI_LONG(4403) +#define ERROR_APP_DATA_REBOOT_REQUIRED __MSABI_LONG(4404) +#define ERROR_SECUREBOOT_ROLLBACK_DETECTED __MSABI_LONG(4420) +#define ERROR_SECUREBOOT_POLICY_VIOLATION __MSABI_LONG(4421) +#define ERROR_SECUREBOOT_INVALID_POLICY __MSABI_LONG(4422) +#define ERROR_SECUREBOOT_POLICY_PUBLISHER_NOT_FOUND __MSABI_LONG(4423) +#define ERROR_SECUREBOOT_POLICY_NOT_SIGNED __MSABI_LONG(4424) +#define ERROR_SECUREBOOT_NOT_ENABLED __MSABI_LONG(4425) +#define ERROR_SECUREBOOT_FILE_REPLACED __MSABI_LONG(4426) +#define ERROR_SECUREBOOT_POLICY_NOT_AUTHORIZED __MSABI_LONG(4427) +#define ERROR_SECUREBOOT_POLICY_UNKNOWN __MSABI_LONG(4428) +#define ERROR_SECUREBOOT_POLICY_MISSING_ANTIROLLBACKVERSION __MSABI_LONG(4429) +#define ERROR_SECUREBOOT_PLATFORM_ID_MISMATCH __MSABI_LONG(4430) +#define ERROR_SECUREBOOT_POLICY_ROLLBACK_DETECTED __MSABI_LONG(4431) +#define ERROR_SECUREBOOT_POLICY_UPGRADE_MISMATCH __MSABI_LONG(4432) +#define ERROR_SECUREBOOT_REQUIRED_POLICY_FILE_MISSING __MSABI_LONG(4433) +#define ERROR_SECUREBOOT_NOT_BASE_POLICY __MSABI_LONG(4434) +#define ERROR_SECUREBOOT_NOT_SUPPLEMENTAL_POLICY __MSABI_LONG(4435) +#define ERROR_OFFLOAD_READ_FLT_NOT_SUPPORTED __MSABI_LONG(4440) +#define ERROR_OFFLOAD_WRITE_FLT_NOT_SUPPORTED __MSABI_LONG(4441) +#define ERROR_OFFLOAD_READ_FILE_NOT_SUPPORTED __MSABI_LONG(4442) +#define ERROR_OFFLOAD_WRITE_FILE_NOT_SUPPORTED __MSABI_LONG(4443) +#define ERROR_ALREADY_HAS_STREAM_ID __MSABI_LONG(4444) +#define ERROR_SMR_GARBAGE_COLLECTION_REQUIRED __MSABI_LONG(4445) +#define ERROR_WOF_WIM_HEADER_CORRUPT __MSABI_LONG(4446) +#define ERROR_WOF_WIM_RESOURCE_TABLE_CORRUPT __MSABI_LONG(4447) +#define ERROR_WOF_FILE_RESOURCE_TABLE_CORRUPT __MSABI_LONG(4448) +#define ERROR_OBJECT_IS_IMMUTABLE __MSABI_LONG(4449) +#define ERROR_VOLUME_NOT_SIS_ENABLED __MSABI_LONG(4500) +#define ERROR_SYSTEM_INTEGRITY_ROLLBACK_DETECTED __MSABI_LONG(4550) +#define ERROR_SYSTEM_INTEGRITY_POLICY_VIOLATION __MSABI_LONG(4551) +#define ERROR_SYSTEM_INTEGRITY_INVALID_POLICY __MSABI_LONG(4552) +#define ERROR_SYSTEM_INTEGRITY_POLICY_NOT_SIGNED __MSABI_LONG(4553) +#define ERROR_SYSTEM_INTEGRITY_TOO_MANY_POLICIES __MSABI_LONG(4554) +#define ERROR_SYSTEM_INTEGRITY_SUPPLEMENTAL_POLICY_NOT_AUTHORIZED __MSABI_LONG(4555) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_MALICIOUS __MSABI_LONG(4556) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_PUA __MSABI_LONG(4557) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_DANGEROUS_EXT __MSABI_LONG(4558) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_OFFLINE __MSABI_LONG(4559) +#define ERROR_VSM_NOT_INITIALIZED __MSABI_LONG(4560) +#define ERROR_VSM_DMA_PROTECTION_NOT_IN_USE __MSABI_LONG(4561) +#define ERROR_PLATFORM_MANIFEST_NOT_AUTHORIZED __MSABI_LONG(4570) +#define ERROR_PLATFORM_MANIFEST_INVALID __MSABI_LONG(4571) +#define ERROR_PLATFORM_MANIFEST_FILE_NOT_AUTHORIZED __MSABI_LONG(4572) +#define ERROR_PLATFORM_MANIFEST_CATALOG_NOT_AUTHORIZED __MSABI_LONG(4573) +#define ERROR_PLATFORM_MANIFEST_BINARY_ID_NOT_FOUND __MSABI_LONG(4574) +#define ERROR_PLATFORM_MANIFEST_NOT_ACTIVE __MSABI_LONG(4575) +#define ERROR_PLATFORM_MANIFEST_NOT_SIGNED __MSABI_LONG(4576) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_UNFRIENDLY_FILE __MSABI_LONG(4580) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_UNATTAINABLE __MSABI_LONG(4581) +#define ERROR_SYSTEM_INTEGRITY_REPUTATION_EXPLICIT_DENY_FILE __MSABI_LONG(4582) +#define ERROR_SYSTEM_INTEGRITY_WHQL_NOT_SATISFIED __MSABI_LONG(4583) +#define ERROR_DEPENDENT_RESOURCE_EXISTS __MSABI_LONG(5001) +#define ERROR_DEPENDENCY_NOT_FOUND __MSABI_LONG(5002) +#define ERROR_DEPENDENCY_ALREADY_EXISTS __MSABI_LONG(5003) +#define ERROR_RESOURCE_NOT_ONLINE __MSABI_LONG(5004) +#define ERROR_HOST_NODE_NOT_AVAILABLE __MSABI_LONG(5005) +#define ERROR_RESOURCE_NOT_AVAILABLE __MSABI_LONG(5006) +#define ERROR_RESOURCE_NOT_FOUND __MSABI_LONG(5007) +#define ERROR_SHUTDOWN_CLUSTER __MSABI_LONG(5008) +#define ERROR_CANT_EVICT_ACTIVE_NODE __MSABI_LONG(5009) +#define ERROR_OBJECT_ALREADY_EXISTS __MSABI_LONG(5010) +#define ERROR_OBJECT_IN_LIST __MSABI_LONG(5011) +#define ERROR_GROUP_NOT_AVAILABLE __MSABI_LONG(5012) +#define ERROR_GROUP_NOT_FOUND __MSABI_LONG(5013) +#define ERROR_GROUP_NOT_ONLINE __MSABI_LONG(5014) +#define ERROR_HOST_NODE_NOT_RESOURCE_OWNER __MSABI_LONG(5015) +#define ERROR_HOST_NODE_NOT_GROUP_OWNER __MSABI_LONG(5016) +#define ERROR_RESMON_CREATE_FAILED __MSABI_LONG(5017) +#define ERROR_RESMON_ONLINE_FAILED __MSABI_LONG(5018) +#define ERROR_RESOURCE_ONLINE __MSABI_LONG(5019) +#define ERROR_QUORUM_RESOURCE __MSABI_LONG(5020) +#define ERROR_NOT_QUORUM_CAPABLE __MSABI_LONG(5021) +#define ERROR_CLUSTER_SHUTTING_DOWN __MSABI_LONG(5022) +#define ERROR_INVALID_STATE __MSABI_LONG(5023) +#define ERROR_RESOURCE_PROPERTIES_STORED __MSABI_LONG(5024) +#define ERROR_NOT_QUORUM_CLASS __MSABI_LONG(5025) +#define ERROR_CORE_RESOURCE __MSABI_LONG(5026) +#define ERROR_QUORUM_RESOURCE_ONLINE_FAILED __MSABI_LONG(5027) +#define ERROR_QUORUMLOG_OPEN_FAILED __MSABI_LONG(5028) +#define ERROR_CLUSTERLOG_CORRUPT __MSABI_LONG(5029) +#define ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE __MSABI_LONG(5030) +#define ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE __MSABI_LONG(5031) +#define ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND __MSABI_LONG(5032) +#define ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE __MSABI_LONG(5033) +#define ERROR_QUORUM_OWNER_ALIVE __MSABI_LONG(5034) +#define ERROR_NETWORK_NOT_AVAILABLE __MSABI_LONG(5035) +#define ERROR_NODE_NOT_AVAILABLE __MSABI_LONG(5036) +#define ERROR_ALL_NODES_NOT_AVAILABLE __MSABI_LONG(5037) +#define ERROR_RESOURCE_FAILED __MSABI_LONG(5038) +#define ERROR_CLUSTER_INVALID_NODE __MSABI_LONG(5039) +#define ERROR_CLUSTER_NODE_EXISTS __MSABI_LONG(5040) +#define ERROR_CLUSTER_JOIN_IN_PROGRESS __MSABI_LONG(5041) +#define ERROR_CLUSTER_NODE_NOT_FOUND __MSABI_LONG(5042) +#define ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND __MSABI_LONG(5043) +#define ERROR_CLUSTER_NETWORK_EXISTS __MSABI_LONG(5044) +#define ERROR_CLUSTER_NETWORK_NOT_FOUND __MSABI_LONG(5045) +#define ERROR_CLUSTER_NETINTERFACE_EXISTS __MSABI_LONG(5046) +#define ERROR_CLUSTER_NETINTERFACE_NOT_FOUND __MSABI_LONG(5047) +#define ERROR_CLUSTER_INVALID_REQUEST __MSABI_LONG(5048) +#define ERROR_CLUSTER_INVALID_NETWORK_PROVIDER __MSABI_LONG(5049) +#define ERROR_CLUSTER_NODE_DOWN __MSABI_LONG(5050) +#define ERROR_CLUSTER_NODE_UNREACHABLE __MSABI_LONG(5051) +#define ERROR_CLUSTER_NODE_NOT_MEMBER __MSABI_LONG(5052) +#define ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS __MSABI_LONG(5053) +#define ERROR_CLUSTER_INVALID_NETWORK __MSABI_LONG(5054) +#define ERROR_CLUSTER_NODE_UP __MSABI_LONG(5056) +#define ERROR_CLUSTER_IPADDR_IN_USE __MSABI_LONG(5057) +#define ERROR_CLUSTER_NODE_NOT_PAUSED __MSABI_LONG(5058) +#define ERROR_CLUSTER_NO_SECURITY_CONTEXT __MSABI_LONG(5059) +#define ERROR_CLUSTER_NETWORK_NOT_INTERNAL __MSABI_LONG(5060) +#define ERROR_CLUSTER_NODE_ALREADY_UP __MSABI_LONG(5061) +#define ERROR_CLUSTER_NODE_ALREADY_DOWN __MSABI_LONG(5062) +#define ERROR_CLUSTER_NETWORK_ALREADY_ONLINE __MSABI_LONG(5063) +#define ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE __MSABI_LONG(5064) +#define ERROR_CLUSTER_NODE_ALREADY_MEMBER __MSABI_LONG(5065) +#define ERROR_CLUSTER_LAST_INTERNAL_NETWORK __MSABI_LONG(5066) +#define ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS __MSABI_LONG(5067) +#define ERROR_INVALID_OPERATION_ON_QUORUM __MSABI_LONG(5068) +#define ERROR_DEPENDENCY_NOT_ALLOWED __MSABI_LONG(5069) +#define ERROR_CLUSTER_NODE_PAUSED __MSABI_LONG(5070) +#define ERROR_NODE_CANT_HOST_RESOURCE __MSABI_LONG(5071) +#define ERROR_CLUSTER_NODE_NOT_READY __MSABI_LONG(5072) +#define ERROR_CLUSTER_NODE_SHUTTING_DOWN __MSABI_LONG(5073) +#define ERROR_CLUSTER_JOIN_ABORTED __MSABI_LONG(5074) +#define ERROR_CLUSTER_INCOMPATIBLE_VERSIONS __MSABI_LONG(5075) +#define ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED __MSABI_LONG(5076) +#define ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED __MSABI_LONG(5077) +#define ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND __MSABI_LONG(5078) +#define ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED __MSABI_LONG(5079) +#define ERROR_CLUSTER_RESNAME_NOT_FOUND __MSABI_LONG(5080) +#define ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED __MSABI_LONG(5081) +#define ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST __MSABI_LONG(5082) +#define ERROR_CLUSTER_DATABASE_SEQMISMATCH __MSABI_LONG(5083) +#define ERROR_RESMON_INVALID_STATE __MSABI_LONG(5084) +#define ERROR_CLUSTER_GUM_NOT_LOCKER __MSABI_LONG(5085) +#define ERROR_QUORUM_DISK_NOT_FOUND __MSABI_LONG(5086) +#define ERROR_DATABASE_BACKUP_CORRUPT __MSABI_LONG(5087) +#define ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT __MSABI_LONG(5088) +#define ERROR_RESOURCE_PROPERTY_UNCHANGEABLE __MSABI_LONG(5089) +#define ERROR_NO_ADMIN_ACCESS_POINT __MSABI_LONG(5090) +#define ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE __MSABI_LONG(5890) +#define ERROR_CLUSTER_QUORUMLOG_NOT_FOUND __MSABI_LONG(5891) +#define ERROR_CLUSTER_MEMBERSHIP_HALT __MSABI_LONG(5892) +#define ERROR_CLUSTER_INSTANCE_ID_MISMATCH __MSABI_LONG(5893) +#define ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP __MSABI_LONG(5894) +#define ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH __MSABI_LONG(5895) +#define ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP __MSABI_LONG(5896) +#define ERROR_CLUSTER_PARAMETER_MISMATCH __MSABI_LONG(5897) +#define ERROR_NODE_CANNOT_BE_CLUSTERED __MSABI_LONG(5898) +#define ERROR_CLUSTER_WRONG_OS_VERSION __MSABI_LONG(5899) +#define ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME __MSABI_LONG(5900) +#define ERROR_CLUSCFG_ALREADY_COMMITTED __MSABI_LONG(5901) +#define ERROR_CLUSCFG_ROLLBACK_FAILED __MSABI_LONG(5902) +#define ERROR_CLUSCFG_SYSTEM_DISK_DRIVE_LETTER_CONFLICT __MSABI_LONG(5903) +#define ERROR_CLUSTER_OLD_VERSION __MSABI_LONG(5904) +#define ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME __MSABI_LONG(5905) +#define ERROR_CLUSTER_NO_NET_ADAPTERS __MSABI_LONG(5906) +#define ERROR_CLUSTER_POISONED __MSABI_LONG(5907) +#define ERROR_CLUSTER_GROUP_MOVING __MSABI_LONG(5908) +#define ERROR_CLUSTER_RESOURCE_TYPE_BUSY __MSABI_LONG(5909) +#define ERROR_RESOURCE_CALL_TIMED_OUT __MSABI_LONG(5910) +#define ERROR_INVALID_CLUSTER_IPV6_ADDRESS __MSABI_LONG(5911) +#define ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION __MSABI_LONG(5912) +#define ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS __MSABI_LONG(5913) +#define ERROR_CLUSTER_PARTIAL_SEND __MSABI_LONG(5914) +#define ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION __MSABI_LONG(5915) +#define ERROR_CLUSTER_INVALID_STRING_TERMINATION __MSABI_LONG(5916) +#define ERROR_CLUSTER_INVALID_STRING_FORMAT __MSABI_LONG(5917) +#define ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS __MSABI_LONG(5918) +#define ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS __MSABI_LONG(5919) +#define ERROR_CLUSTER_NULL_DATA __MSABI_LONG(5920) +#define ERROR_CLUSTER_PARTIAL_READ __MSABI_LONG(5921) +#define ERROR_CLUSTER_PARTIAL_WRITE __MSABI_LONG(5922) +#define ERROR_CLUSTER_CANT_DESERIALIZE_DATA __MSABI_LONG(5923) +#define ERROR_DEPENDENT_RESOURCE_PROPERTY_CONFLICT __MSABI_LONG(5924) +#define ERROR_CLUSTER_NO_QUORUM __MSABI_LONG(5925) +#define ERROR_CLUSTER_INVALID_IPV6_NETWORK __MSABI_LONG(5926) +#define ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK __MSABI_LONG(5927) +#define ERROR_QUORUM_NOT_ALLOWED_IN_THIS_GROUP __MSABI_LONG(5928) +#define ERROR_DEPENDENCY_TREE_TOO_COMPLEX __MSABI_LONG(5929) +#define ERROR_EXCEPTION_IN_RESOURCE_CALL __MSABI_LONG(5930) +#define ERROR_CLUSTER_RHS_FAILED_INITIALIZATION __MSABI_LONG(5931) +#define ERROR_CLUSTER_NOT_INSTALLED __MSABI_LONG(5932) +#define ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE __MSABI_LONG(5933) +#define ERROR_CLUSTER_MAX_NODES_IN_CLUSTER __MSABI_LONG(5934) +#define ERROR_CLUSTER_TOO_MANY_NODES __MSABI_LONG(5935) +#define ERROR_CLUSTER_OBJECT_ALREADY_USED __MSABI_LONG(5936) +#define ERROR_NONCORE_GROUPS_FOUND __MSABI_LONG(5937) +#define ERROR_FILE_SHARE_RESOURCE_CONFLICT __MSABI_LONG(5938) +#define ERROR_CLUSTER_EVICT_INVALID_REQUEST __MSABI_LONG(5939) +#define ERROR_CLUSTER_SINGLETON_RESOURCE __MSABI_LONG(5940) +#define ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE __MSABI_LONG(5941) +#define ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED __MSABI_LONG(5942) +#define ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR __MSABI_LONG(5943) +#define ERROR_CLUSTER_GROUP_BUSY __MSABI_LONG(5944) +#define ERROR_CLUSTER_NOT_SHARED_VOLUME __MSABI_LONG(5945) +#define ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR __MSABI_LONG(5946) +#define ERROR_CLUSTER_SHARED_VOLUMES_IN_USE __MSABI_LONG(5947) +#define ERROR_CLUSTER_USE_SHARED_VOLUMES_API __MSABI_LONG(5948) +#define ERROR_CLUSTER_BACKUP_IN_PROGRESS __MSABI_LONG(5949) +#define ERROR_NON_CSV_PATH __MSABI_LONG(5950) +#define ERROR_CSV_VOLUME_NOT_LOCAL __MSABI_LONG(5951) +#define ERROR_CLUSTER_WATCHDOG_TERMINATING __MSABI_LONG(5952) +#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES __MSABI_LONG(5953) +#define ERROR_CLUSTER_INVALID_NODE_WEIGHT __MSABI_LONG(5954) +#define ERROR_CLUSTER_RESOURCE_VETOED_CALL __MSABI_LONG(5955) +#define ERROR_RESMON_SYSTEM_RESOURCES_LACKING __MSABI_LONG(5956) +#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION __MSABI_LONG(5957) +#define ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE __MSABI_LONG(5958) +#define ERROR_CLUSTER_GROUP_QUEUED __MSABI_LONG(5959) +#define ERROR_CLUSTER_RESOURCE_LOCKED_STATUS __MSABI_LONG(5960) +#define ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED __MSABI_LONG(5961) +#define ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS __MSABI_LONG(5962) +#define ERROR_CLUSTER_DISK_NOT_CONNECTED __MSABI_LONG(5963) +#define ERROR_DISK_NOT_CSV_CAPABLE __MSABI_LONG(5964) +#define ERROR_RESOURCE_NOT_IN_AVAILABLE_STORAGE __MSABI_LONG(5965) +#define ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED __MSABI_LONG(5966) +#define ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED __MSABI_LONG(5967) +#define ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES __MSABI_LONG(5968) +#define ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES __MSABI_LONG(5969) +#define ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE __MSABI_LONG(5970) +#define ERROR_CLUSTER_AFFINITY_CONFLICT __MSABI_LONG(5971) +#define ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE __MSABI_LONG(5972) +#define ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS __MSABI_LONG(5973) +#define ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED __MSABI_LONG(5974) +#define ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED __MSABI_LONG(5975) +#define ERROR_CLUSTER_UPGRADE_IN_PROGRESS __MSABI_LONG(5976) +#define ERROR_CLUSTER_UPGRADE_INCOMPLETE __MSABI_LONG(5977) +#define ERROR_CLUSTER_NODE_IN_GRACE_PERIOD __MSABI_LONG(5978) +#define ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT __MSABI_LONG(5979) +#define ERROR_NODE_NOT_ACTIVE_CLUSTER_MEMBER __MSABI_LONG(5980) +#define ERROR_CLUSTER_RESOURCE_NOT_MONITORED __MSABI_LONG(5981) +#define ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED __MSABI_LONG(5982) +#define ERROR_CLUSTER_RESOURCE_IS_REPLICATED __MSABI_LONG(5983) +#define ERROR_CLUSTER_NODE_ISOLATED __MSABI_LONG(5984) +#define ERROR_CLUSTER_NODE_QUARANTINED __MSABI_LONG(5985) +#define ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED __MSABI_LONG(5986) +#define ERROR_CLUSTER_SPACE_DEGRADED __MSABI_LONG(5987) +#define ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED __MSABI_LONG(5988) +#define ERROR_CLUSTER_CSV_INVALID_HANDLE __MSABI_LONG(5989) +#define ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR __MSABI_LONG(5990) +#define ERROR_GROUPSET_NOT_AVAILABLE __MSABI_LONG(5991) +#define ERROR_GROUPSET_NOT_FOUND __MSABI_LONG(5992) +#define ERROR_GROUPSET_CANT_PROVIDE __MSABI_LONG(5993) +#define ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND __MSABI_LONG(5994) +#define ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY __MSABI_LONG(5995) +#define ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION __MSABI_LONG(5996) +#define ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS __MSABI_LONG(5997) +#define ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME __MSABI_LONG(5998) +#define ERROR_CLUSTERSET_MANAGEMENT_CLUSTER_UNREACHABLE __MSABI_LONG(5999) +#define ERROR_ENCRYPTION_FAILED __MSABI_LONG(6000) +#define ERROR_DECRYPTION_FAILED __MSABI_LONG(6001) +#define ERROR_FILE_ENCRYPTED __MSABI_LONG(6002) +#define ERROR_NO_RECOVERY_POLICY __MSABI_LONG(6003) +#define ERROR_NO_EFS __MSABI_LONG(6004) +#define ERROR_WRONG_EFS __MSABI_LONG(6005) +#define ERROR_NO_USER_KEYS __MSABI_LONG(6006) +#define ERROR_FILE_NOT_ENCRYPTED __MSABI_LONG(6007) +#define ERROR_NOT_EXPORT_FORMAT __MSABI_LONG(6008) +#define ERROR_FILE_READ_ONLY __MSABI_LONG(6009) +#define ERROR_DIR_EFS_DISALLOWED __MSABI_LONG(6010) +#define ERROR_EFS_SERVER_NOT_TRUSTED __MSABI_LONG(6011) +#define ERROR_BAD_RECOVERY_POLICY __MSABI_LONG(6012) +#define ERROR_EFS_ALG_BLOB_TOO_BIG __MSABI_LONG(6013) +#define ERROR_VOLUME_NOT_SUPPORT_EFS __MSABI_LONG(6014) +#define ERROR_EFS_DISABLED __MSABI_LONG(6015) +#define ERROR_EFS_VERSION_NOT_SUPPORT __MSABI_LONG(6016) +#define ERROR_CS_ENCRYPTION_INVALID_SERVER_RESPONSE __MSABI_LONG(6017) +#define ERROR_CS_ENCRYPTION_UNSUPPORTED_SERVER __MSABI_LONG(6018) +#define ERROR_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE __MSABI_LONG(6019) +#define ERROR_CS_ENCRYPTION_NEW_ENCRYPTED_FILE __MSABI_LONG(6020) +#define ERROR_CS_ENCRYPTION_FILE_NOT_CSE __MSABI_LONG(6021) +#define ERROR_ENCRYPTION_POLICY_DENIES_OPERATION __MSABI_LONG(6022) +#define ERROR_WIP_ENCRYPTION_FAILED __MSABI_LONG(6023) +#define ERROR_PDE_ENCRYPTION_UNAVAILABLE_FAILURE __MSABI_LONG(6024) +#define ERROR_PDE_DECRYPTION_UNAVAILABLE_FAILURE __MSABI_LONG(6025) +#define ERROR_PDE_DECRYPTION_UNAVAILABLE __MSABI_LONG(6026) +#define ERROR_NO_BROWSER_SERVERS_FOUND __MSABI_LONG(6118) +#define SCHED_E_SERVICE_NOT_LOCALSYSTEM __MSABI_LONG(6200) +#define ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM __MSABI_LONG(6250) +#define ERROR_CNU_TEMPLATE_ALREADY_EXISTS __MSABI_LONG(6251) +#define ERROR_CNU_TEMPLATE_NAME_NOT_FOUND __MSABI_LONG(6252) +#define ERROR_CNU_RUN_NAME_NOT_FOUND __MSABI_LONG(6253) +#define ERROR_CNU_RUN_ALREADY_IN_PROGRESS __MSABI_LONG(6254) +#define ERROR_CNU_RUN_NOT_IN_PROGRESS __MSABI_LONG(6255) +#define ERROR_CNU_NOT_READY __MSABI_LONG(6256) +#define ERROR_LOG_SECTOR_INVALID __MSABI_LONG(6600) +#define ERROR_LOG_SECTOR_PARITY_INVALID __MSABI_LONG(6601) +#define ERROR_LOG_SECTOR_REMAPPED __MSABI_LONG(6602) +#define ERROR_LOG_BLOCK_INCOMPLETE __MSABI_LONG(6603) +#define ERROR_LOG_INVALID_RANGE __MSABI_LONG(6604) +#define ERROR_LOG_BLOCKS_EXHAUSTED __MSABI_LONG(6605) +#define ERROR_LOG_READ_CONTEXT_INVALID __MSABI_LONG(6606) +#define ERROR_LOG_RESTART_INVALID __MSABI_LONG(6607) +#define ERROR_LOG_BLOCK_VERSION __MSABI_LONG(6608) +#define ERROR_LOG_BLOCK_INVALID __MSABI_LONG(6609) +#define ERROR_LOG_READ_MODE_INVALID __MSABI_LONG(6610) +#define ERROR_LOG_NO_RESTART __MSABI_LONG(6611) +#define ERROR_LOG_METADATA_CORRUPT __MSABI_LONG(6612) +#define ERROR_LOG_METADATA_INVALID __MSABI_LONG(6613) +#define ERROR_LOG_METADATA_INCONSISTENT __MSABI_LONG(6614) +#define ERROR_LOG_RESERVATION_INVALID __MSABI_LONG(6615) +#define ERROR_LOG_CANT_DELETE __MSABI_LONG(6616) +#define ERROR_LOG_CONTAINER_LIMIT_EXCEEDED __MSABI_LONG(6617) +#define ERROR_LOG_START_OF_LOG __MSABI_LONG(6618) +#define ERROR_LOG_POLICY_ALREADY_INSTALLED __MSABI_LONG(6619) +#define ERROR_LOG_POLICY_NOT_INSTALLED __MSABI_LONG(6620) +#define ERROR_LOG_POLICY_INVALID __MSABI_LONG(6621) +#define ERROR_LOG_POLICY_CONFLICT __MSABI_LONG(6622) +#define ERROR_LOG_PINNED_ARCHIVE_TAIL __MSABI_LONG(6623) +#define ERROR_LOG_RECORD_NONEXISTENT __MSABI_LONG(6624) +#define ERROR_LOG_RECORDS_RESERVED_INVALID __MSABI_LONG(6625) +#define ERROR_LOG_SPACE_RESERVED_INVALID __MSABI_LONG(6626) +#define ERROR_LOG_TAIL_INVALID __MSABI_LONG(6627) +#define ERROR_LOG_FULL __MSABI_LONG(6628) +#define ERROR_COULD_NOT_RESIZE_LOG __MSABI_LONG(6629) +#define ERROR_LOG_MULTIPLEXED __MSABI_LONG(6630) +#define ERROR_LOG_DEDICATED __MSABI_LONG(6631) +#define ERROR_LOG_ARCHIVE_NOT_IN_PROGRESS __MSABI_LONG(6632) +#define ERROR_LOG_ARCHIVE_IN_PROGRESS __MSABI_LONG(6633) +#define ERROR_LOG_EPHEMERAL __MSABI_LONG(6634) +#define ERROR_LOG_NOT_ENOUGH_CONTAINERS __MSABI_LONG(6635) +#define ERROR_LOG_CLIENT_ALREADY_REGISTERED __MSABI_LONG(6636) +#define ERROR_LOG_CLIENT_NOT_REGISTERED __MSABI_LONG(6637) +#define ERROR_LOG_FULL_HANDLER_IN_PROGRESS __MSABI_LONG(6638) +#define ERROR_LOG_CONTAINER_READ_FAILED __MSABI_LONG(6639) +#define ERROR_LOG_CONTAINER_WRITE_FAILED __MSABI_LONG(6640) +#define ERROR_LOG_CONTAINER_OPEN_FAILED __MSABI_LONG(6641) +#define ERROR_LOG_CONTAINER_STATE_INVALID __MSABI_LONG(6642) +#define ERROR_LOG_STATE_INVALID __MSABI_LONG(6643) +#define ERROR_LOG_PINNED __MSABI_LONG(6644) +#define ERROR_LOG_METADATA_FLUSH_FAILED __MSABI_LONG(6645) +#define ERROR_LOG_INCONSISTENT_SECURITY __MSABI_LONG(6646) +#define ERROR_LOG_APPENDED_FLUSH_FAILED __MSABI_LONG(6647) +#define ERROR_LOG_PINNED_RESERVATION __MSABI_LONG(6648) +#define ERROR_INVALID_TRANSACTION __MSABI_LONG(6700) +#define ERROR_TRANSACTION_NOT_ACTIVE __MSABI_LONG(6701) +#define ERROR_TRANSACTION_REQUEST_NOT_VALID __MSABI_LONG(6702) +#define ERROR_TRANSACTION_NOT_REQUESTED __MSABI_LONG(6703) +#define ERROR_TRANSACTION_ALREADY_ABORTED __MSABI_LONG(6704) +#define ERROR_TRANSACTION_ALREADY_COMMITTED __MSABI_LONG(6705) +#define ERROR_TM_INITIALIZATION_FAILED __MSABI_LONG(6706) +#define ERROR_RESOURCEMANAGER_READ_ONLY __MSABI_LONG(6707) +#define ERROR_TRANSACTION_NOT_JOINED __MSABI_LONG(6708) +#define ERROR_TRANSACTION_SUPERIOR_EXISTS __MSABI_LONG(6709) +#define ERROR_CRM_PROTOCOL_ALREADY_EXISTS __MSABI_LONG(6710) +#define ERROR_TRANSACTION_PROPAGATION_FAILED __MSABI_LONG(6711) +#define ERROR_CRM_PROTOCOL_NOT_FOUND __MSABI_LONG(6712) +#define ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER __MSABI_LONG(6713) +#define ERROR_CURRENT_TRANSACTION_NOT_VALID __MSABI_LONG(6714) +#define ERROR_TRANSACTION_NOT_FOUND __MSABI_LONG(6715) +#define ERROR_RESOURCEMANAGER_NOT_FOUND __MSABI_LONG(6716) +#define ERROR_ENLISTMENT_NOT_FOUND __MSABI_LONG(6717) +#define ERROR_TRANSACTIONMANAGER_NOT_FOUND __MSABI_LONG(6718) +#define ERROR_TRANSACTIONMANAGER_NOT_ONLINE __MSABI_LONG(6719) +#define ERROR_TRANSACTIONMANAGER_RECOVERY_NAME_COLLISION __MSABI_LONG(6720) +#define ERROR_TRANSACTION_NOT_ROOT __MSABI_LONG(6721) +#define ERROR_TRANSACTION_OBJECT_EXPIRED __MSABI_LONG(6722) +#define ERROR_TRANSACTION_RESPONSE_NOT_ENLISTED __MSABI_LONG(6723) +#define ERROR_TRANSACTION_RECORD_TOO_LONG __MSABI_LONG(6724) +#define ERROR_IMPLICIT_TRANSACTION_NOT_SUPPORTED __MSABI_LONG(6725) +#define ERROR_TRANSACTION_INTEGRITY_VIOLATED __MSABI_LONG(6726) +#define ERROR_TRANSACTIONMANAGER_IDENTITY_MISMATCH __MSABI_LONG(6727) +#define ERROR_RM_CANNOT_BE_FROZEN_FOR_SNAPSHOT __MSABI_LONG(6728) +#define ERROR_TRANSACTION_MUST_WRITETHROUGH __MSABI_LONG(6729) +#define ERROR_TRANSACTION_NO_SUPERIOR __MSABI_LONG(6730) +#define ERROR_HEURISTIC_DAMAGE_POSSIBLE __MSABI_LONG(6731) +#define ERROR_TRANSACTIONAL_CONFLICT __MSABI_LONG(6800) +#define ERROR_RM_NOT_ACTIVE __MSABI_LONG(6801) +#define ERROR_RM_METADATA_CORRUPT __MSABI_LONG(6802) +#define ERROR_DIRECTORY_NOT_RM __MSABI_LONG(6803) +#define ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE __MSABI_LONG(6805) +#define ERROR_LOG_RESIZE_INVALID_SIZE __MSABI_LONG(6806) +#define ERROR_OBJECT_NO_LONGER_EXISTS __MSABI_LONG(6807) +#define ERROR_STREAM_MINIVERSION_NOT_FOUND __MSABI_LONG(6808) +#define ERROR_STREAM_MINIVERSION_NOT_VALID __MSABI_LONG(6809) +#define ERROR_MINIVERSION_INACCESSIBLE_FROM_SPECIFIED_TRANSACTION __MSABI_LONG(6810) +#define ERROR_CANT_OPEN_MINIVERSION_WITH_MODIFY_INTENT __MSABI_LONG(6811) +#define ERROR_CANT_CREATE_MORE_STREAM_MINIVERSIONS __MSABI_LONG(6812) +#define ERROR_REMOTE_FILE_VERSION_MISMATCH __MSABI_LONG(6814) +#define ERROR_HANDLE_NO_LONGER_VALID __MSABI_LONG(6815) +#define ERROR_NO_TXF_METADATA __MSABI_LONG(6816) +#define ERROR_LOG_CORRUPTION_DETECTED __MSABI_LONG(6817) +#define ERROR_CANT_RECOVER_WITH_HANDLE_OPEN __MSABI_LONG(6818) +#define ERROR_RM_DISCONNECTED __MSABI_LONG(6819) +#define ERROR_ENLISTMENT_NOT_SUPERIOR __MSABI_LONG(6820) +#define ERROR_RECOVERY_NOT_NEEDED __MSABI_LONG(6821) +#define ERROR_RM_ALREADY_STARTED __MSABI_LONG(6822) +#define ERROR_FILE_IDENTITY_NOT_PERSISTENT __MSABI_LONG(6823) +#define ERROR_CANT_BREAK_TRANSACTIONAL_DEPENDENCY __MSABI_LONG(6824) +#define ERROR_CANT_CROSS_RM_BOUNDARY __MSABI_LONG(6825) +#define ERROR_TXF_DIR_NOT_EMPTY __MSABI_LONG(6826) +#define ERROR_INDOUBT_TRANSACTIONS_EXIST __MSABI_LONG(6827) +#define ERROR_TM_VOLATILE __MSABI_LONG(6828) +#define ERROR_ROLLBACK_TIMER_EXPIRED __MSABI_LONG(6829) +#define ERROR_TXF_ATTRIBUTE_CORRUPT __MSABI_LONG(6830) +#define ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION __MSABI_LONG(6831) +#define ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED __MSABI_LONG(6832) +#define ERROR_LOG_GROWTH_FAILED __MSABI_LONG(6833) +#define ERROR_TRANSACTED_MAPPING_UNSUPPORTED_REMOTE __MSABI_LONG(6834) +#define ERROR_TXF_METADATA_ALREADY_PRESENT __MSABI_LONG(6835) +#define ERROR_TRANSACTION_SCOPE_CALLBACKS_NOT_SET __MSABI_LONG(6836) +#define ERROR_TRANSACTION_REQUIRED_PROMOTION __MSABI_LONG(6837) +#define ERROR_CANNOT_EXECUTE_FILE_IN_TRANSACTION __MSABI_LONG(6838) +#define ERROR_TRANSACTIONS_NOT_FROZEN __MSABI_LONG(6839) +#define ERROR_TRANSACTION_FREEZE_IN_PROGRESS __MSABI_LONG(6840) +#define ERROR_NOT_SNAPSHOT_VOLUME __MSABI_LONG(6841) +#define ERROR_NO_SAVEPOINT_WITH_OPEN_FILES __MSABI_LONG(6842) +#define ERROR_DATA_LOST_REPAIR __MSABI_LONG(6843) +#define ERROR_SPARSE_NOT_ALLOWED_IN_TRANSACTION __MSABI_LONG(6844) +#define ERROR_TM_IDENTITY_MISMATCH __MSABI_LONG(6845) +#define ERROR_FLOATED_SECTION __MSABI_LONG(6846) +#define ERROR_CANNOT_ACCEPT_TRANSACTED_WORK __MSABI_LONG(6847) +#define ERROR_CANNOT_ABORT_TRANSACTIONS __MSABI_LONG(6848) +#define ERROR_BAD_CLUSTERS __MSABI_LONG(6849) +#define ERROR_COMPRESSION_NOT_ALLOWED_IN_TRANSACTION __MSABI_LONG(6850) +#define ERROR_VOLUME_DIRTY __MSABI_LONG(6851) +#define ERROR_NO_LINK_TRACKING_IN_TRANSACTION __MSABI_LONG(6852) +#define ERROR_OPERATION_NOT_SUPPORTED_IN_TRANSACTION __MSABI_LONG(6853) +#define ERROR_EXPIRED_HANDLE __MSABI_LONG(6854) +#define ERROR_TRANSACTION_NOT_ENLISTED __MSABI_LONG(6855) +#define ERROR_CTX_WINSTATION_NAME_INVALID __MSABI_LONG(7001) +#define ERROR_CTX_INVALID_PD __MSABI_LONG(7002) +#define ERROR_CTX_PD_NOT_FOUND __MSABI_LONG(7003) +#define ERROR_CTX_WD_NOT_FOUND __MSABI_LONG(7004) +#define ERROR_CTX_CANNOT_MAKE_EVENTLOG_ENTRY __MSABI_LONG(7005) +#define ERROR_CTX_SERVICE_NAME_COLLISION __MSABI_LONG(7006) +#define ERROR_CTX_CLOSE_PENDING __MSABI_LONG(7007) +#define ERROR_CTX_NO_OUTBUF __MSABI_LONG(7008) +#define ERROR_CTX_MODEM_INF_NOT_FOUND __MSABI_LONG(7009) +#define ERROR_CTX_INVALID_MODEMNAME __MSABI_LONG(7010) +#define ERROR_CTX_MODEM_RESPONSE_ERROR __MSABI_LONG(7011) +#define ERROR_CTX_MODEM_RESPONSE_TIMEOUT __MSABI_LONG(7012) +#define ERROR_CTX_MODEM_RESPONSE_NO_CARRIER __MSABI_LONG(7013) +#define ERROR_CTX_MODEM_RESPONSE_NO_DIALTONE __MSABI_LONG(7014) +#define ERROR_CTX_MODEM_RESPONSE_BUSY __MSABI_LONG(7015) +#define ERROR_CTX_MODEM_RESPONSE_VOICE __MSABI_LONG(7016) +#define ERROR_CTX_TD_ERROR __MSABI_LONG(7017) +#define ERROR_CTX_WINSTATION_NOT_FOUND __MSABI_LONG(7022) +#define ERROR_CTX_WINSTATION_ALREADY_EXISTS __MSABI_LONG(7023) +#define ERROR_CTX_WINSTATION_BUSY __MSABI_LONG(7024) +#define ERROR_CTX_BAD_VIDEO_MODE __MSABI_LONG(7025) +#define ERROR_CTX_GRAPHICS_INVALID __MSABI_LONG(7035) +#define ERROR_CTX_LOGON_DISABLED __MSABI_LONG(7037) +#define ERROR_CTX_NOT_CONSOLE __MSABI_LONG(7038) +#define ERROR_CTX_CLIENT_QUERY_TIMEOUT __MSABI_LONG(7040) +#define ERROR_CTX_CONSOLE_DISCONNECT __MSABI_LONG(7041) +#define ERROR_CTX_CONSOLE_CONNECT __MSABI_LONG(7042) +#define ERROR_CTX_SHADOW_DENIED __MSABI_LONG(7044) +#define ERROR_CTX_WINSTATION_ACCESS_DENIED __MSABI_LONG(7045) +#define ERROR_CTX_INVALID_WD __MSABI_LONG(7049) +#define ERROR_CTX_SHADOW_INVALID __MSABI_LONG(7050) +#define ERROR_CTX_SHADOW_DISABLED __MSABI_LONG(7051) +#define ERROR_CTX_CLIENT_LICENSE_IN_USE __MSABI_LONG(7052) +#define ERROR_CTX_CLIENT_LICENSE_NOT_SET __MSABI_LONG(7053) +#define ERROR_CTX_LICENSE_NOT_AVAILABLE __MSABI_LONG(7054) +#define ERROR_CTX_LICENSE_CLIENT_INVALID __MSABI_LONG(7055) +#define ERROR_CTX_LICENSE_EXPIRED __MSABI_LONG(7056) +#define ERROR_CTX_SHADOW_NOT_RUNNING __MSABI_LONG(7057) +#define ERROR_CTX_SHADOW_ENDED_BY_MODE_CHANGE __MSABI_LONG(7058) +#define ERROR_ACTIVATION_COUNT_EXCEEDED __MSABI_LONG(7059) +#define ERROR_CTX_WINSTATIONS_DISABLED __MSABI_LONG(7060) +#define ERROR_CTX_ENCRYPTION_LEVEL_REQUIRED __MSABI_LONG(7061) +#define ERROR_CTX_SESSION_IN_USE __MSABI_LONG(7062) +#define ERROR_CTX_NO_FORCE_LOGOFF __MSABI_LONG(7063) +#define ERROR_CTX_ACCOUNT_RESTRICTION __MSABI_LONG(7064) +#define ERROR_RDP_PROTOCOL_ERROR __MSABI_LONG(7065) +#define ERROR_CTX_CDM_CONNECT __MSABI_LONG(7066) +#define ERROR_CTX_CDM_DISCONNECT __MSABI_LONG(7067) +#define ERROR_CTX_SECURITY_LAYER_ERROR __MSABI_LONG(7068) +#define ERROR_TS_INCOMPATIBLE_SESSIONS __MSABI_LONG(7069) +#define ERROR_TS_VIDEO_SUBSYSTEM_ERROR __MSABI_LONG(7070) +#define FRS_ERR_INVALID_API_SEQUENCE __MSABI_LONG(8001) +#define FRS_ERR_STARTING_SERVICE __MSABI_LONG(8002) +#define FRS_ERR_STOPPING_SERVICE __MSABI_LONG(8003) +#define FRS_ERR_INTERNAL_API __MSABI_LONG(8004) +#define FRS_ERR_INTERNAL __MSABI_LONG(8005) +#define FRS_ERR_SERVICE_COMM __MSABI_LONG(8006) +#define FRS_ERR_INSUFFICIENT_PRIV __MSABI_LONG(8007) +#define FRS_ERR_AUTHENTICATION __MSABI_LONG(8008) +#define FRS_ERR_PARENT_INSUFFICIENT_PRIV __MSABI_LONG(8009) +#define FRS_ERR_PARENT_AUTHENTICATION __MSABI_LONG(8010) +#define FRS_ERR_CHILD_TO_PARENT_COMM __MSABI_LONG(8011) +#define FRS_ERR_PARENT_TO_CHILD_COMM __MSABI_LONG(8012) +#define FRS_ERR_SYSVOL_POPULATE __MSABI_LONG(8013) +#define FRS_ERR_SYSVOL_POPULATE_TIMEOUT __MSABI_LONG(8014) +#define FRS_ERR_SYSVOL_IS_BUSY __MSABI_LONG(8015) +#define FRS_ERR_SYSVOL_DEMOTE __MSABI_LONG(8016) +#define FRS_ERR_INVALID_SERVICE_PARAMETER __MSABI_LONG(8017) +#define DS_S_SUCCESS NO_ERROR +#define ERROR_DS_NOT_INSTALLED __MSABI_LONG(8200) +#define ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY __MSABI_LONG(8201) +#define ERROR_DS_NO_ATTRIBUTE_OR_VALUE __MSABI_LONG(8202) +#define ERROR_DS_INVALID_ATTRIBUTE_SYNTAX __MSABI_LONG(8203) +#define ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED __MSABI_LONG(8204) +#define ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS __MSABI_LONG(8205) +#define ERROR_DS_BUSY __MSABI_LONG(8206) +#define ERROR_DS_UNAVAILABLE __MSABI_LONG(8207) +#define ERROR_DS_NO_RIDS_ALLOCATED __MSABI_LONG(8208) +#define ERROR_DS_NO_MORE_RIDS __MSABI_LONG(8209) +#define ERROR_DS_INCORRECT_ROLE_OWNER __MSABI_LONG(8210) +#define ERROR_DS_RIDMGR_INIT_ERROR __MSABI_LONG(8211) +#define ERROR_DS_OBJ_CLASS_VIOLATION __MSABI_LONG(8212) +#define ERROR_DS_CANT_ON_NON_LEAF __MSABI_LONG(8213) +#define ERROR_DS_CANT_ON_RDN __MSABI_LONG(8214) +#define ERROR_DS_CANT_MOD_OBJ_CLASS __MSABI_LONG(8215) +#define ERROR_DS_CROSS_DOM_MOVE_ERROR __MSABI_LONG(8216) +#define ERROR_DS_GC_NOT_AVAILABLE __MSABI_LONG(8217) +#define ERROR_SHARED_POLICY __MSABI_LONG(8218) +#define ERROR_POLICY_OBJECT_NOT_FOUND __MSABI_LONG(8219) +#define ERROR_POLICY_ONLY_IN_DS __MSABI_LONG(8220) +#define ERROR_PROMOTION_ACTIVE __MSABI_LONG(8221) +#define ERROR_NO_PROMOTION_ACTIVE __MSABI_LONG(8222) +#define ERROR_DS_OPERATIONS_ERROR __MSABI_LONG(8224) +#define ERROR_DS_PROTOCOL_ERROR __MSABI_LONG(8225) +#define ERROR_DS_TIMELIMIT_EXCEEDED __MSABI_LONG(8226) +#define ERROR_DS_SIZELIMIT_EXCEEDED __MSABI_LONG(8227) +#define ERROR_DS_ADMIN_LIMIT_EXCEEDED __MSABI_LONG(8228) +#define ERROR_DS_COMPARE_FALSE __MSABI_LONG(8229) +#define ERROR_DS_COMPARE_TRUE __MSABI_LONG(8230) +#define ERROR_DS_AUTH_METHOD_NOT_SUPPORTED __MSABI_LONG(8231) +#define ERROR_DS_STRONG_AUTH_REQUIRED __MSABI_LONG(8232) +#define ERROR_DS_INAPPROPRIATE_AUTH __MSABI_LONG(8233) +#define ERROR_DS_AUTH_UNKNOWN __MSABI_LONG(8234) +#define ERROR_DS_REFERRAL __MSABI_LONG(8235) +#define ERROR_DS_UNAVAILABLE_CRIT_EXTENSION __MSABI_LONG(8236) +#define ERROR_DS_CONFIDENTIALITY_REQUIRED __MSABI_LONG(8237) +#define ERROR_DS_INAPPROPRIATE_MATCHING __MSABI_LONG(8238) +#define ERROR_DS_CONSTRAINT_VIOLATION __MSABI_LONG(8239) +#define ERROR_DS_NO_SUCH_OBJECT __MSABI_LONG(8240) +#define ERROR_DS_ALIAS_PROBLEM __MSABI_LONG(8241) +#define ERROR_DS_INVALID_DN_SYNTAX __MSABI_LONG(8242) +#define ERROR_DS_IS_LEAF __MSABI_LONG(8243) +#define ERROR_DS_ALIAS_DEREF_PROBLEM __MSABI_LONG(8244) +#define ERROR_DS_UNWILLING_TO_PERFORM __MSABI_LONG(8245) +#define ERROR_DS_LOOP_DETECT __MSABI_LONG(8246) +#define ERROR_DS_NAMING_VIOLATION __MSABI_LONG(8247) +#define ERROR_DS_OBJECT_RESULTS_TOO_LARGE __MSABI_LONG(8248) +#define ERROR_DS_AFFECTS_MULTIPLE_DSAS __MSABI_LONG(8249) +#define ERROR_DS_SERVER_DOWN __MSABI_LONG(8250) +#define ERROR_DS_LOCAL_ERROR __MSABI_LONG(8251) +#define ERROR_DS_ENCODING_ERROR __MSABI_LONG(8252) +#define ERROR_DS_DECODING_ERROR __MSABI_LONG(8253) +#define ERROR_DS_FILTER_UNKNOWN __MSABI_LONG(8254) +#define ERROR_DS_PARAM_ERROR __MSABI_LONG(8255) +#define ERROR_DS_NOT_SUPPORTED __MSABI_LONG(8256) +#define ERROR_DS_NO_RESULTS_RETURNED __MSABI_LONG(8257) +#define ERROR_DS_CONTROL_NOT_FOUND __MSABI_LONG(8258) +#define ERROR_DS_CLIENT_LOOP __MSABI_LONG(8259) +#define ERROR_DS_REFERRAL_LIMIT_EXCEEDED __MSABI_LONG(8260) +#define ERROR_DS_SORT_CONTROL_MISSING __MSABI_LONG(8261) +#define ERROR_DS_OFFSET_RANGE_ERROR __MSABI_LONG(8262) +#define ERROR_DS_RIDMGR_DISABLED __MSABI_LONG(8263) +#define ERROR_DS_ROOT_MUST_BE_NC __MSABI_LONG(8301) +#define ERROR_DS_ADD_REPLICA_INHIBITED __MSABI_LONG(8302) +#define ERROR_DS_ATT_NOT_DEF_IN_SCHEMA __MSABI_LONG(8303) +#define ERROR_DS_MAX_OBJ_SIZE_EXCEEDED __MSABI_LONG(8304) +#define ERROR_DS_OBJ_STRING_NAME_EXISTS __MSABI_LONG(8305) +#define ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA __MSABI_LONG(8306) +#define ERROR_DS_RDN_DOESNT_MATCH_SCHEMA __MSABI_LONG(8307) +#define ERROR_DS_NO_REQUESTED_ATTS_FOUND __MSABI_LONG(8308) +#define ERROR_DS_USER_BUFFER_TO_SMALL __MSABI_LONG(8309) +#define ERROR_DS_ATT_IS_NOT_ON_OBJ __MSABI_LONG(8310) +#define ERROR_DS_ILLEGAL_MOD_OPERATION __MSABI_LONG(8311) +#define ERROR_DS_OBJ_TOO_LARGE __MSABI_LONG(8312) +#define ERROR_DS_BAD_INSTANCE_TYPE __MSABI_LONG(8313) +#define ERROR_DS_MASTERDSA_REQUIRED __MSABI_LONG(8314) +#define ERROR_DS_OBJECT_CLASS_REQUIRED __MSABI_LONG(8315) +#define ERROR_DS_MISSING_REQUIRED_ATT __MSABI_LONG(8316) +#define ERROR_DS_ATT_NOT_DEF_FOR_CLASS __MSABI_LONG(8317) +#define ERROR_DS_ATT_ALREADY_EXISTS __MSABI_LONG(8318) +#define ERROR_DS_CANT_ADD_ATT_VALUES __MSABI_LONG(8320) +#define ERROR_DS_SINGLE_VALUE_CONSTRAINT __MSABI_LONG(8321) +#define ERROR_DS_RANGE_CONSTRAINT __MSABI_LONG(8322) +#define ERROR_DS_ATT_VAL_ALREADY_EXISTS __MSABI_LONG(8323) +#define ERROR_DS_CANT_REM_MISSING_ATT __MSABI_LONG(8324) +#define ERROR_DS_CANT_REM_MISSING_ATT_VAL __MSABI_LONG(8325) +#define ERROR_DS_ROOT_CANT_BE_SUBREF __MSABI_LONG(8326) +#define ERROR_DS_NO_CHAINING __MSABI_LONG(8327) +#define ERROR_DS_NO_CHAINED_EVAL __MSABI_LONG(8328) +#define ERROR_DS_NO_PARENT_OBJECT __MSABI_LONG(8329) +#define ERROR_DS_PARENT_IS_AN_ALIAS __MSABI_LONG(8330) +#define ERROR_DS_CANT_MIX_MASTER_AND_REPS __MSABI_LONG(8331) +#define ERROR_DS_CHILDREN_EXIST __MSABI_LONG(8332) +#define ERROR_DS_OBJ_NOT_FOUND __MSABI_LONG(8333) +#define ERROR_DS_ALIASED_OBJ_MISSING __MSABI_LONG(8334) +#define ERROR_DS_BAD_NAME_SYNTAX __MSABI_LONG(8335) +#define ERROR_DS_ALIAS_POINTS_TO_ALIAS __MSABI_LONG(8336) +#define ERROR_DS_CANT_DEREF_ALIAS __MSABI_LONG(8337) +#define ERROR_DS_OUT_OF_SCOPE __MSABI_LONG(8338) +#define ERROR_DS_OBJECT_BEING_REMOVED __MSABI_LONG(8339) +#define ERROR_DS_CANT_DELETE_DSA_OBJ __MSABI_LONG(8340) +#define ERROR_DS_GENERIC_ERROR __MSABI_LONG(8341) +#define ERROR_DS_DSA_MUST_BE_INT_MASTER __MSABI_LONG(8342) +#define ERROR_DS_CLASS_NOT_DSA __MSABI_LONG(8343) +#define ERROR_DS_INSUFF_ACCESS_RIGHTS __MSABI_LONG(8344) +#define ERROR_DS_ILLEGAL_SUPERIOR __MSABI_LONG(8345) +#define ERROR_DS_ATTRIBUTE_OWNED_BY_SAM __MSABI_LONG(8346) +#define ERROR_DS_NAME_TOO_MANY_PARTS __MSABI_LONG(8347) +#define ERROR_DS_NAME_TOO_LONG __MSABI_LONG(8348) +#define ERROR_DS_NAME_VALUE_TOO_LONG __MSABI_LONG(8349) +#define ERROR_DS_NAME_UNPARSEABLE __MSABI_LONG(8350) +#define ERROR_DS_NAME_TYPE_UNKNOWN __MSABI_LONG(8351) +#define ERROR_DS_NOT_AN_OBJECT __MSABI_LONG(8352) +#define ERROR_DS_SEC_DESC_TOO_SHORT __MSABI_LONG(8353) +#define ERROR_DS_SEC_DESC_INVALID __MSABI_LONG(8354) +#define ERROR_DS_NO_DELETED_NAME __MSABI_LONG(8355) +#define ERROR_DS_SUBREF_MUST_HAVE_PARENT __MSABI_LONG(8356) +#define ERROR_DS_NCNAME_MUST_BE_NC __MSABI_LONG(8357) +#define ERROR_DS_CANT_ADD_SYSTEM_ONLY __MSABI_LONG(8358) +#define ERROR_DS_CLASS_MUST_BE_CONCRETE __MSABI_LONG(8359) +#define ERROR_DS_INVALID_DMD __MSABI_LONG(8360) +#define ERROR_DS_OBJ_GUID_EXISTS __MSABI_LONG(8361) +#define ERROR_DS_NOT_ON_BACKLINK __MSABI_LONG(8362) +#define ERROR_DS_NO_CROSSREF_FOR_NC __MSABI_LONG(8363) +#define ERROR_DS_SHUTTING_DOWN __MSABI_LONG(8364) +#define ERROR_DS_UNKNOWN_OPERATION __MSABI_LONG(8365) +#define ERROR_DS_INVALID_ROLE_OWNER __MSABI_LONG(8366) +#define ERROR_DS_COULDNT_CONTACT_FSMO __MSABI_LONG(8367) +#define ERROR_DS_CROSS_NC_DN_RENAME __MSABI_LONG(8368) +#define ERROR_DS_CANT_MOD_SYSTEM_ONLY __MSABI_LONG(8369) +#define ERROR_DS_REPLICATOR_ONLY __MSABI_LONG(8370) +#define ERROR_DS_OBJ_CLASS_NOT_DEFINED __MSABI_LONG(8371) +#define ERROR_DS_OBJ_CLASS_NOT_SUBCLASS __MSABI_LONG(8372) +#define ERROR_DS_NAME_REFERENCE_INVALID __MSABI_LONG(8373) +#define ERROR_DS_CROSS_REF_EXISTS __MSABI_LONG(8374) +#define ERROR_DS_CANT_DEL_MASTER_CROSSREF __MSABI_LONG(8375) +#define ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD __MSABI_LONG(8376) +#define ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX __MSABI_LONG(8377) +#define ERROR_DS_DUP_RDN __MSABI_LONG(8378) +#define ERROR_DS_DUP_OID __MSABI_LONG(8379) +#define ERROR_DS_DUP_MAPI_ID __MSABI_LONG(8380) +#define ERROR_DS_DUP_SCHEMA_ID_GUID __MSABI_LONG(8381) +#define ERROR_DS_DUP_LDAP_DISPLAY_NAME __MSABI_LONG(8382) +#define ERROR_DS_SEMANTIC_ATT_TEST __MSABI_LONG(8383) +#define ERROR_DS_SYNTAX_MISMATCH __MSABI_LONG(8384) +#define ERROR_DS_EXISTS_IN_MUST_HAVE __MSABI_LONG(8385) +#define ERROR_DS_EXISTS_IN_MAY_HAVE __MSABI_LONG(8386) +#define ERROR_DS_NONEXISTENT_MAY_HAVE __MSABI_LONG(8387) +#define ERROR_DS_NONEXISTENT_MUST_HAVE __MSABI_LONG(8388) +#define ERROR_DS_AUX_CLS_TEST_FAIL __MSABI_LONG(8389) +#define ERROR_DS_NONEXISTENT_POSS_SUP __MSABI_LONG(8390) +#define ERROR_DS_SUB_CLS_TEST_FAIL __MSABI_LONG(8391) +#define ERROR_DS_BAD_RDN_ATT_ID_SYNTAX __MSABI_LONG(8392) +#define ERROR_DS_EXISTS_IN_AUX_CLS __MSABI_LONG(8393) +#define ERROR_DS_EXISTS_IN_SUB_CLS __MSABI_LONG(8394) +#define ERROR_DS_EXISTS_IN_POSS_SUP __MSABI_LONG(8395) +#define ERROR_DS_RECALCSCHEMA_FAILED __MSABI_LONG(8396) +#define ERROR_DS_TREE_DELETE_NOT_FINISHED __MSABI_LONG(8397) +#define ERROR_DS_CANT_DELETE __MSABI_LONG(8398) +#define ERROR_DS_ATT_SCHEMA_REQ_ID __MSABI_LONG(8399) +#define ERROR_DS_BAD_ATT_SCHEMA_SYNTAX __MSABI_LONG(8400) +#define ERROR_DS_CANT_CACHE_ATT __MSABI_LONG(8401) +#define ERROR_DS_CANT_CACHE_CLASS __MSABI_LONG(8402) +#define ERROR_DS_CANT_REMOVE_ATT_CACHE __MSABI_LONG(8403) +#define ERROR_DS_CANT_REMOVE_CLASS_CACHE __MSABI_LONG(8404) +#define ERROR_DS_CANT_RETRIEVE_DN __MSABI_LONG(8405) +#define ERROR_DS_MISSING_SUPREF __MSABI_LONG(8406) +#define ERROR_DS_CANT_RETRIEVE_INSTANCE __MSABI_LONG(8407) +#define ERROR_DS_CODE_INCONSISTENCY __MSABI_LONG(8408) +#define ERROR_DS_DATABASE_ERROR __MSABI_LONG(8409) +#define ERROR_DS_GOVERNSID_MISSING __MSABI_LONG(8410) +#define ERROR_DS_MISSING_EXPECTED_ATT __MSABI_LONG(8411) +#define ERROR_DS_NCNAME_MISSING_CR_REF __MSABI_LONG(8412) +#define ERROR_DS_SECURITY_CHECKING_ERROR __MSABI_LONG(8413) +#define ERROR_DS_SCHEMA_NOT_LOADED __MSABI_LONG(8414) +#define ERROR_DS_SCHEMA_ALLOC_FAILED __MSABI_LONG(8415) +#define ERROR_DS_ATT_SCHEMA_REQ_SYNTAX __MSABI_LONG(8416) +#define ERROR_DS_GCVERIFY_ERROR __MSABI_LONG(8417) +#define ERROR_DS_DRA_SCHEMA_MISMATCH __MSABI_LONG(8418) +#define ERROR_DS_CANT_FIND_DSA_OBJ __MSABI_LONG(8419) +#define ERROR_DS_CANT_FIND_EXPECTED_NC __MSABI_LONG(8420) +#define ERROR_DS_CANT_FIND_NC_IN_CACHE __MSABI_LONG(8421) +#define ERROR_DS_CANT_RETRIEVE_CHILD __MSABI_LONG(8422) +#define ERROR_DS_SECURITY_ILLEGAL_MODIFY __MSABI_LONG(8423) +#define ERROR_DS_CANT_REPLACE_HIDDEN_REC __MSABI_LONG(8424) +#define ERROR_DS_BAD_HIERARCHY_FILE __MSABI_LONG(8425) +#define ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED __MSABI_LONG(8426) +#define ERROR_DS_CONFIG_PARAM_MISSING __MSABI_LONG(8427) +#define ERROR_DS_COUNTING_AB_INDICES_FAILED __MSABI_LONG(8428) +#define ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED __MSABI_LONG(8429) +#define ERROR_DS_INTERNAL_FAILURE __MSABI_LONG(8430) +#define ERROR_DS_UNKNOWN_ERROR __MSABI_LONG(8431) +#define ERROR_DS_ROOT_REQUIRES_CLASS_TOP __MSABI_LONG(8432) +#define ERROR_DS_REFUSING_FSMO_ROLES __MSABI_LONG(8433) +#define ERROR_DS_MISSING_FSMO_SETTINGS __MSABI_LONG(8434) +#define ERROR_DS_UNABLE_TO_SURRENDER_ROLES __MSABI_LONG(8435) +#define ERROR_DS_DRA_GENERIC __MSABI_LONG(8436) +#define ERROR_DS_DRA_INVALID_PARAMETER __MSABI_LONG(8437) +#define ERROR_DS_DRA_BUSY __MSABI_LONG(8438) +#define ERROR_DS_DRA_BAD_DN __MSABI_LONG(8439) +#define ERROR_DS_DRA_BAD_NC __MSABI_LONG(8440) +#define ERROR_DS_DRA_DN_EXISTS __MSABI_LONG(8441) +#define ERROR_DS_DRA_INTERNAL_ERROR __MSABI_LONG(8442) +#define ERROR_DS_DRA_INCONSISTENT_DIT __MSABI_LONG(8443) +#define ERROR_DS_DRA_CONNECTION_FAILED __MSABI_LONG(8444) +#define ERROR_DS_DRA_BAD_INSTANCE_TYPE __MSABI_LONG(8445) +#define ERROR_DS_DRA_OUT_OF_MEM __MSABI_LONG(8446) +#define ERROR_DS_DRA_MAIL_PROBLEM __MSABI_LONG(8447) +#define ERROR_DS_DRA_REF_ALREADY_EXISTS __MSABI_LONG(8448) +#define ERROR_DS_DRA_REF_NOT_FOUND __MSABI_LONG(8449) +#define ERROR_DS_DRA_OBJ_IS_REP_SOURCE __MSABI_LONG(8450) +#define ERROR_DS_DRA_DB_ERROR __MSABI_LONG(8451) +#define ERROR_DS_DRA_NO_REPLICA __MSABI_LONG(8452) +#define ERROR_DS_DRA_ACCESS_DENIED __MSABI_LONG(8453) +#define ERROR_DS_DRA_NOT_SUPPORTED __MSABI_LONG(8454) +#define ERROR_DS_DRA_RPC_CANCELLED __MSABI_LONG(8455) +#define ERROR_DS_DRA_SOURCE_DISABLED __MSABI_LONG(8456) +#define ERROR_DS_DRA_SINK_DISABLED __MSABI_LONG(8457) +#define ERROR_DS_DRA_NAME_COLLISION __MSABI_LONG(8458) +#define ERROR_DS_DRA_SOURCE_REINSTALLED __MSABI_LONG(8459) +#define ERROR_DS_DRA_MISSING_PARENT __MSABI_LONG(8460) +#define ERROR_DS_DRA_PREEMPTED __MSABI_LONG(8461) +#define ERROR_DS_DRA_ABANDON_SYNC __MSABI_LONG(8462) +#define ERROR_DS_DRA_SHUTDOWN __MSABI_LONG(8463) +#define ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET __MSABI_LONG(8464) +#define ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA __MSABI_LONG(8465) +#define ERROR_DS_DRA_EXTN_CONNECTION_FAILED __MSABI_LONG(8466) +#define ERROR_DS_INSTALL_SCHEMA_MISMATCH __MSABI_LONG(8467) +#define ERROR_DS_DUP_LINK_ID __MSABI_LONG(8468) +#define ERROR_DS_NAME_ERROR_RESOLVING __MSABI_LONG(8469) +#define ERROR_DS_NAME_ERROR_NOT_FOUND __MSABI_LONG(8470) +#define ERROR_DS_NAME_ERROR_NOT_UNIQUE __MSABI_LONG(8471) +#define ERROR_DS_NAME_ERROR_NO_MAPPING __MSABI_LONG(8472) +#define ERROR_DS_NAME_ERROR_DOMAIN_ONLY __MSABI_LONG(8473) +#define ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING __MSABI_LONG(8474) +#define ERROR_DS_CONSTRUCTED_ATT_MOD __MSABI_LONG(8475) +#define ERROR_DS_WRONG_OM_OBJ_CLASS __MSABI_LONG(8476) +#define ERROR_DS_DRA_REPL_PENDING __MSABI_LONG(8477) +#define ERROR_DS_DS_REQUIRED __MSABI_LONG(8478) +#define ERROR_DS_INVALID_LDAP_DISPLAY_NAME __MSABI_LONG(8479) +#define ERROR_DS_NON_BASE_SEARCH __MSABI_LONG(8480) +#define ERROR_DS_CANT_RETRIEVE_ATTS __MSABI_LONG(8481) +#define ERROR_DS_BACKLINK_WITHOUT_LINK __MSABI_LONG(8482) +#define ERROR_DS_EPOCH_MISMATCH __MSABI_LONG(8483) +#define ERROR_DS_SRC_NAME_MISMATCH __MSABI_LONG(8484) +#define ERROR_DS_SRC_AND_DST_NC_IDENTICAL __MSABI_LONG(8485) +#define ERROR_DS_DST_NC_MISMATCH __MSABI_LONG(8486) +#define ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC __MSABI_LONG(8487) +#define ERROR_DS_SRC_GUID_MISMATCH __MSABI_LONG(8488) +#define ERROR_DS_CANT_MOVE_DELETED_OBJECT __MSABI_LONG(8489) +#define ERROR_DS_PDC_OPERATION_IN_PROGRESS __MSABI_LONG(8490) +#define ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD __MSABI_LONG(8491) +#define ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION __MSABI_LONG(8492) +#define ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS __MSABI_LONG(8493) +#define ERROR_DS_NC_MUST_HAVE_NC_PARENT __MSABI_LONG(8494) +#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE __MSABI_LONG(8495) +#define ERROR_DS_DST_DOMAIN_NOT_NATIVE __MSABI_LONG(8496) +#define ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER __MSABI_LONG(8497) +#define ERROR_DS_CANT_MOVE_ACCOUNT_GROUP __MSABI_LONG(8498) +#define ERROR_DS_CANT_MOVE_RESOURCE_GROUP __MSABI_LONG(8499) +#define ERROR_DS_INVALID_SEARCH_FLAG __MSABI_LONG(8500) +#define ERROR_DS_NO_TREE_DELETE_ABOVE_NC __MSABI_LONG(8501) +#define ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE __MSABI_LONG(8502) +#define ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE __MSABI_LONG(8503) +#define ERROR_DS_SAM_INIT_FAILURE __MSABI_LONG(8504) +#define ERROR_DS_SENSITIVE_GROUP_VIOLATION __MSABI_LONG(8505) +#define ERROR_DS_CANT_MOD_PRIMARYGROUPID __MSABI_LONG(8506) +#define ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD __MSABI_LONG(8507) +#define ERROR_DS_NONSAFE_SCHEMA_CHANGE __MSABI_LONG(8508) +#define ERROR_DS_SCHEMA_UPDATE_DISALLOWED __MSABI_LONG(8509) +#define ERROR_DS_CANT_CREATE_UNDER_SCHEMA __MSABI_LONG(8510) +#define ERROR_DS_INSTALL_NO_SRC_SCH_VERSION __MSABI_LONG(8511) +#define ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE __MSABI_LONG(8512) +#define ERROR_DS_INVALID_GROUP_TYPE __MSABI_LONG(8513) +#define ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN __MSABI_LONG(8514) +#define ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN __MSABI_LONG(8515) +#define ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER __MSABI_LONG(8516) +#define ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER __MSABI_LONG(8517) +#define ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER __MSABI_LONG(8518) +#define ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER __MSABI_LONG(8519) +#define ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER __MSABI_LONG(8520) +#define ERROR_DS_HAVE_PRIMARY_MEMBERS __MSABI_LONG(8521) +#define ERROR_DS_STRING_SD_CONVERSION_FAILED __MSABI_LONG(8522) +#define ERROR_DS_NAMING_MASTER_GC __MSABI_LONG(8523) +#define ERROR_DS_DNS_LOOKUP_FAILURE __MSABI_LONG(8524) +#define ERROR_DS_COULDNT_UPDATE_SPNS __MSABI_LONG(8525) +#define ERROR_DS_CANT_RETRIEVE_SD __MSABI_LONG(8526) +#define ERROR_DS_KEY_NOT_UNIQUE __MSABI_LONG(8527) +#define ERROR_DS_WRONG_LINKED_ATT_SYNTAX __MSABI_LONG(8528) +#define ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD __MSABI_LONG(8529) +#define ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY __MSABI_LONG(8530) +#define ERROR_DS_CANT_START __MSABI_LONG(8531) +#define ERROR_DS_INIT_FAILURE __MSABI_LONG(8532) +#define ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION __MSABI_LONG(8533) +#define ERROR_DS_SOURCE_DOMAIN_IN_FOREST __MSABI_LONG(8534) +#define ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST __MSABI_LONG(8535) +#define ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED __MSABI_LONG(8536) +#define ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN __MSABI_LONG(8537) +#define ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER __MSABI_LONG(8538) +#define ERROR_DS_SRC_SID_EXISTS_IN_FOREST __MSABI_LONG(8539) +#define ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH __MSABI_LONG(8540) +#define ERROR_SAM_INIT_FAILURE __MSABI_LONG(8541) +#define ERROR_DS_DRA_SCHEMA_INFO_SHIP __MSABI_LONG(8542) +#define ERROR_DS_DRA_SCHEMA_CONFLICT __MSABI_LONG(8543) +#define ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT __MSABI_LONG(8544) +#define ERROR_DS_DRA_OBJ_NC_MISMATCH __MSABI_LONG(8545) +#define ERROR_DS_NC_STILL_HAS_DSAS __MSABI_LONG(8546) +#define ERROR_DS_GC_REQUIRED __MSABI_LONG(8547) +#define ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY __MSABI_LONG(8548) +#define ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS __MSABI_LONG(8549) +#define ERROR_DS_CANT_ADD_TO_GC __MSABI_LONG(8550) +#define ERROR_DS_NO_CHECKPOINT_WITH_PDC __MSABI_LONG(8551) +#define ERROR_DS_SOURCE_AUDITING_NOT_ENABLED __MSABI_LONG(8552) +#define ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC __MSABI_LONG(8553) +#define ERROR_DS_INVALID_NAME_FOR_SPN __MSABI_LONG(8554) +#define ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS __MSABI_LONG(8555) +#define ERROR_DS_UNICODEPWD_NOT_IN_QUOTES __MSABI_LONG(8556) +#define ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED __MSABI_LONG(8557) +#define ERROR_DS_MUST_BE_RUN_ON_DST_DC __MSABI_LONG(8558) +#define ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER __MSABI_LONG(8559) +#define ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ __MSABI_LONG(8560) +#define ERROR_DS_INIT_FAILURE_CONSOLE __MSABI_LONG(8561) +#define ERROR_DS_SAM_INIT_FAILURE_CONSOLE __MSABI_LONG(8562) +#define ERROR_DS_FOREST_VERSION_TOO_HIGH __MSABI_LONG(8563) +#define ERROR_DS_DOMAIN_VERSION_TOO_HIGH __MSABI_LONG(8564) +#define ERROR_DS_FOREST_VERSION_TOO_LOW __MSABI_LONG(8565) +#define ERROR_DS_DOMAIN_VERSION_TOO_LOW __MSABI_LONG(8566) +#define ERROR_DS_INCOMPATIBLE_VERSION __MSABI_LONG(8567) +#define ERROR_DS_LOW_DSA_VERSION __MSABI_LONG(8568) +#define ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN __MSABI_LONG(8569) +#define ERROR_DS_NOT_SUPPORTED_SORT_ORDER __MSABI_LONG(8570) +#define ERROR_DS_NAME_NOT_UNIQUE __MSABI_LONG(8571) +#define ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4 __MSABI_LONG(8572) +#define ERROR_DS_OUT_OF_VERSION_STORE __MSABI_LONG(8573) +#define ERROR_DS_INCOMPATIBLE_CONTROLS_USED __MSABI_LONG(8574) +#define ERROR_DS_NO_REF_DOMAIN __MSABI_LONG(8575) +#define ERROR_DS_RESERVED_LINK_ID __MSABI_LONG(8576) +#define ERROR_DS_LINK_ID_NOT_AVAILABLE __MSABI_LONG(8577) +#define ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER __MSABI_LONG(8578) +#define ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE __MSABI_LONG(8579) +#define ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC __MSABI_LONG(8580) +#define ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG __MSABI_LONG(8581) +#define ERROR_DS_MODIFYDN_WRONG_GRANDPARENT __MSABI_LONG(8582) +#define ERROR_DS_NAME_ERROR_TRUST_REFERRAL __MSABI_LONG(8583) +#define ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER __MSABI_LONG(8584) +#define ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD __MSABI_LONG(8585) +#define ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2 __MSABI_LONG(8586) +#define ERROR_DS_THREAD_LIMIT_EXCEEDED __MSABI_LONG(8587) +#define ERROR_DS_NOT_CLOSEST __MSABI_LONG(8588) +#define ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF __MSABI_LONG(8589) +#define ERROR_DS_SINGLE_USER_MODE_FAILED __MSABI_LONG(8590) +#define ERROR_DS_NTDSCRIPT_SYNTAX_ERROR __MSABI_LONG(8591) +#define ERROR_DS_NTDSCRIPT_PROCESS_ERROR __MSABI_LONG(8592) +#define ERROR_DS_DIFFERENT_REPL_EPOCHS __MSABI_LONG(8593) +#define ERROR_DS_DRS_EXTENSIONS_CHANGED __MSABI_LONG(8594) +#define ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR __MSABI_LONG(8595) +#define ERROR_DS_NO_MSDS_INTID __MSABI_LONG(8596) +#define ERROR_DS_DUP_MSDS_INTID __MSABI_LONG(8597) +#define ERROR_DS_EXISTS_IN_RDNATTID __MSABI_LONG(8598) +#define ERROR_DS_AUTHORIZATION_FAILED __MSABI_LONG(8599) +#define ERROR_DS_INVALID_SCRIPT __MSABI_LONG(8600) +#define ERROR_DS_REMOTE_CROSSREF_OP_FAILED __MSABI_LONG(8601) +#define ERROR_DS_CROSS_REF_BUSY __MSABI_LONG(8602) +#define ERROR_DS_CANT_DERIVE_SPN_FOR_DELETED_DOMAIN __MSABI_LONG(8603) +#define ERROR_DS_CANT_DEMOTE_WITH_WRITEABLE_NC __MSABI_LONG(8604) +#define ERROR_DS_DUPLICATE_ID_FOUND __MSABI_LONG(8605) +#define ERROR_DS_INSUFFICIENT_ATTR_TO_CREATE_OBJECT __MSABI_LONG(8606) +#define ERROR_DS_GROUP_CONVERSION_ERROR __MSABI_LONG(8607) +#define ERROR_DS_CANT_MOVE_APP_BASIC_GROUP __MSABI_LONG(8608) +#define ERROR_DS_CANT_MOVE_APP_QUERY_GROUP __MSABI_LONG(8609) +#define ERROR_DS_ROLE_NOT_VERIFIED __MSABI_LONG(8610) +#define ERROR_DS_WKO_CONTAINER_CANNOT_BE_SPECIAL __MSABI_LONG(8611) +#define ERROR_DS_DOMAIN_RENAME_IN_PROGRESS __MSABI_LONG(8612) +#define ERROR_DS_EXISTING_AD_CHILD_NC __MSABI_LONG(8613) +#define ERROR_DS_REPL_LIFETIME_EXCEEDED __MSABI_LONG(8614) +#define ERROR_DS_DISALLOWED_IN_SYSTEM_CONTAINER __MSABI_LONG(8615) +#define ERROR_DS_LDAP_SEND_QUEUE_FULL __MSABI_LONG(8616) +#define ERROR_DS_DRA_OUT_SCHEDULE_WINDOW __MSABI_LONG(8617) +#define ERROR_DS_POLICY_NOT_KNOWN __MSABI_LONG(8618) +#define ERROR_NO_SITE_SETTINGS_OBJECT __MSABI_LONG(8619) +#define ERROR_NO_SECRETS __MSABI_LONG(8620) +#define ERROR_NO_WRITABLE_DC_FOUND __MSABI_LONG(8621) +#define ERROR_DS_NO_SERVER_OBJECT __MSABI_LONG(8622) +#define ERROR_DS_NO_NTDSA_OBJECT __MSABI_LONG(8623) +#define ERROR_DS_NON_ASQ_SEARCH __MSABI_LONG(8624) +#define ERROR_DS_AUDIT_FAILURE __MSABI_LONG(8625) +#define ERROR_DS_INVALID_SEARCH_FLAG_SUBTREE __MSABI_LONG(8626) +#define ERROR_DS_INVALID_SEARCH_FLAG_TUPLE __MSABI_LONG(8627) +#define ERROR_DS_HIERARCHY_TABLE_TOO_DEEP __MSABI_LONG(8628) +#define ERROR_DS_DRA_CORRUPT_UTD_VECTOR __MSABI_LONG(8629) +#define ERROR_DS_DRA_SECRETS_DENIED __MSABI_LONG(8630) +#define ERROR_DS_RESERVED_MAPI_ID __MSABI_LONG(8631) +#define ERROR_DS_MAPI_ID_NOT_AVAILABLE __MSABI_LONG(8632) +#define ERROR_DS_DRA_MISSING_KRBTGT_SECRET __MSABI_LONG(8633) +#define ERROR_DS_DOMAIN_NAME_EXISTS_IN_FOREST __MSABI_LONG(8634) +#define ERROR_DS_FLAT_NAME_EXISTS_IN_FOREST __MSABI_LONG(8635) +#define ERROR_INVALID_USER_PRINCIPAL_NAME __MSABI_LONG(8636) +#define ERROR_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS __MSABI_LONG(8637) +#define ERROR_DS_OID_NOT_FOUND __MSABI_LONG(8638) +#define ERROR_DS_DRA_RECYCLED_TARGET __MSABI_LONG(8639) +#define ERROR_DS_DISALLOWED_NC_REDIRECT __MSABI_LONG(8640) +#define ERROR_DS_HIGH_ADLDS_FFL __MSABI_LONG(8641) +#define ERROR_DS_HIGH_DSA_VERSION __MSABI_LONG(8642) +#define ERROR_DS_LOW_ADLDS_FFL __MSABI_LONG(8643) +#define ERROR_DOMAIN_SID_SAME_AS_LOCAL_WORKSTATION __MSABI_LONG(8644) +#define ERROR_DS_UNDELETE_SAM_VALIDATION_FAILED __MSABI_LONG(8645) +#define ERROR_INCORRECT_ACCOUNT_TYPE __MSABI_LONG(8646) +#define ERROR_DS_SPN_VALUE_NOT_UNIQUE_IN_FOREST __MSABI_LONG(8647) +#define ERROR_DS_UPN_VALUE_NOT_UNIQUE_IN_FOREST __MSABI_LONG(8648) +#define ERROR_DS_MISSING_FOREST_TRUST __MSABI_LONG(8649) +#define ERROR_DS_VALUE_KEY_NOT_UNIQUE __MSABI_LONG(8650) +#define ERROR_WEAK_WHFBKEY_BLOCKED __MSABI_LONG(8651) +#define ERROR_DS_PER_ATTRIBUTE_AUTHZ_FAILED_DURING_ADD __MSABI_LONG(8652) +#define ERROR_LOCAL_POLICY_MODIFICATION_NOT_SUPPORTED __MSABI_LONG(8653) +#define DNS_ERROR_RESPONSE_CODES_BASE 9000 +#define DNS_ERROR_RCODE_NO_ERROR NO_ERROR +#define DNS_ERROR_MASK 0x00002328 +#define DNS_ERROR_RCODE_FORMAT_ERROR __MSABI_LONG(9001) +#define DNS_ERROR_RCODE_SERVER_FAILURE __MSABI_LONG(9002) +#define DNS_ERROR_RCODE_NAME_ERROR __MSABI_LONG(9003) +#define DNS_ERROR_RCODE_NOT_IMPLEMENTED __MSABI_LONG(9004) +#define DNS_ERROR_RCODE_REFUSED __MSABI_LONG(9005) +#define DNS_ERROR_RCODE_YXDOMAIN __MSABI_LONG(9006) +#define DNS_ERROR_RCODE_YXRRSET __MSABI_LONG(9007) +#define DNS_ERROR_RCODE_NXRRSET __MSABI_LONG(9008) +#define DNS_ERROR_RCODE_NOTAUTH __MSABI_LONG(9009) +#define DNS_ERROR_RCODE_NOTZONE __MSABI_LONG(9010) +#define DNS_ERROR_RCODE_BADSIG __MSABI_LONG(9016) +#define DNS_ERROR_RCODE_BADKEY __MSABI_LONG(9017) +#define DNS_ERROR_RCODE_BADTIME __MSABI_LONG(9018) +#define DNS_ERROR_RCODE_LAST DNS_ERROR_RCODE_BADTIME +#define DNS_ERROR_DNSSEC_BASE 9100 +#define DNS_ERROR_KEYMASTER_REQUIRED __MSABI_LONG(9101) +#define DNS_ERROR_NOT_ALLOWED_ON_SIGNED_ZONE __MSABI_LONG(9102) +#define DNS_ERROR_NSEC3_INCOMPATIBLE_WITH_RSA_SHA1 __MSABI_LONG(9103) +#define DNS_ERROR_NOT_ENOUGH_SIGNING_KEY_DESCRIPTORS __MSABI_LONG(9104) +#define DNS_ERROR_UNSUPPORTED_ALGORITHM __MSABI_LONG(9105) +#define DNS_ERROR_INVALID_KEY_SIZE __MSABI_LONG(9106) +#define DNS_ERROR_SIGNING_KEY_NOT_ACCESSIBLE __MSABI_LONG(9107) +#define DNS_ERROR_KSP_DOES_NOT_SUPPORT_PROTECTION __MSABI_LONG(9108) +#define DNS_ERROR_UNEXPECTED_DATA_PROTECTION_ERROR __MSABI_LONG(9109) +#define DNS_ERROR_UNEXPECTED_CNG_ERROR __MSABI_LONG(9110) +#define DNS_ERROR_UNKNOWN_SIGNING_PARAMETER_VERSION __MSABI_LONG(9111) +#define DNS_ERROR_KSP_NOT_ACCESSIBLE __MSABI_LONG(9112) +#define DNS_ERROR_TOO_MANY_SKDS __MSABI_LONG(9113) +#define DNS_ERROR_INVALID_ROLLOVER_PERIOD __MSABI_LONG(9114) +#define DNS_ERROR_INVALID_INITIAL_ROLLOVER_OFFSET __MSABI_LONG(9115) +#define DNS_ERROR_ROLLOVER_IN_PROGRESS __MSABI_LONG(9116) +#define DNS_ERROR_STANDBY_KEY_NOT_PRESENT __MSABI_LONG(9117) +#define DNS_ERROR_NOT_ALLOWED_ON_ZSK __MSABI_LONG(9118) +#define DNS_ERROR_NOT_ALLOWED_ON_ACTIVE_SKD __MSABI_LONG(9119) +#define DNS_ERROR_ROLLOVER_ALREADY_QUEUED __MSABI_LONG(9120) +#define DNS_ERROR_NOT_ALLOWED_ON_UNSIGNED_ZONE __MSABI_LONG(9121) +#define DNS_ERROR_BAD_KEYMASTER __MSABI_LONG(9122) +#define DNS_ERROR_INVALID_SIGNATURE_VALIDITY_PERIOD __MSABI_LONG(9123) +#define DNS_ERROR_INVALID_NSEC3_ITERATION_COUNT __MSABI_LONG(9124) +#define DNS_ERROR_DNSSEC_IS_DISABLED __MSABI_LONG(9125) +#define DNS_ERROR_INVALID_XML __MSABI_LONG(9126) +#define DNS_ERROR_NO_VALID_TRUST_ANCHORS __MSABI_LONG(9127) +#define DNS_ERROR_ROLLOVER_NOT_POKEABLE __MSABI_LONG(9128) +#define DNS_ERROR_NSEC3_NAME_COLLISION __MSABI_LONG(9129) +#define DNS_ERROR_NSEC_INCOMPATIBLE_WITH_NSEC3_RSA_SHA1 __MSABI_LONG(9130) +#define DNS_ERROR_PACKET_FMT_BASE 9500 +#define DNS_INFO_NO_RECORDS __MSABI_LONG(9501) +#define DNS_ERROR_BAD_PACKET __MSABI_LONG(9502) +#define DNS_ERROR_NO_PACKET __MSABI_LONG(9503) +#define DNS_ERROR_RCODE __MSABI_LONG(9504) +#define DNS_ERROR_UNSECURE_PACKET __MSABI_LONG(9505) +#define DNS_STATUS_PACKET_UNSECURE DNS_ERROR_UNSECURE_PACKET +#define DNS_REQUEST_PENDING __MSABI_LONG(9506) +#define DNS_ERROR_NO_MEMORY ERROR_OUTOFMEMORY +#define DNS_ERROR_INVALID_NAME ERROR_INVALID_NAME +#define DNS_ERROR_INVALID_DATA ERROR_INVALID_DATA +#define DNS_ERROR_GENERAL_API_BASE 9550 +#define DNS_ERROR_INVALID_TYPE __MSABI_LONG(9551) +#define DNS_ERROR_INVALID_IP_ADDRESS __MSABI_LONG(9552) +#define DNS_ERROR_INVALID_PROPERTY __MSABI_LONG(9553) +#define DNS_ERROR_TRY_AGAIN_LATER __MSABI_LONG(9554) +#define DNS_ERROR_NOT_UNIQUE __MSABI_LONG(9555) +#define DNS_ERROR_NON_RFC_NAME __MSABI_LONG(9556) +#define DNS_STATUS_FQDN __MSABI_LONG(9557) +#define DNS_STATUS_DOTTED_NAME __MSABI_LONG(9558) +#define DNS_STATUS_SINGLE_PART_NAME __MSABI_LONG(9559) +#define DNS_ERROR_INVALID_NAME_CHAR __MSABI_LONG(9560) +#define DNS_ERROR_NUMERIC_NAME __MSABI_LONG(9561) +#define DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER __MSABI_LONG(9562) +#define DNS_ERROR_NOT_ALLOWED_UNDER_DELEGATION __MSABI_LONG(9563) +#define DNS_ERROR_CANNOT_FIND_ROOT_HINTS __MSABI_LONG(9564) +#define DNS_ERROR_INCONSISTENT_ROOT_HINTS __MSABI_LONG(9565) +#define DNS_ERROR_DWORD_VALUE_TOO_SMALL __MSABI_LONG(9566) +#define DNS_ERROR_DWORD_VALUE_TOO_LARGE __MSABI_LONG(9567) +#define DNS_ERROR_BACKGROUND_LOADING __MSABI_LONG(9568) +#define DNS_ERROR_NOT_ALLOWED_ON_RODC __MSABI_LONG(9569) +#define DNS_ERROR_NOT_ALLOWED_UNDER_DNAME __MSABI_LONG(9570) +#define DNS_ERROR_DELEGATION_REQUIRED __MSABI_LONG(9571) +#define DNS_ERROR_INVALID_POLICY_TABLE __MSABI_LONG(9572) +#define DNS_ERROR_ADDRESS_REQUIRED __MSABI_LONG(9573) +#define DNS_ERROR_ZONE_BASE 9600 +#define DNS_ERROR_ZONE_DOES_NOT_EXIST __MSABI_LONG(9601) +#define DNS_ERROR_NO_ZONE_INFO __MSABI_LONG(9602) +#define DNS_ERROR_INVALID_ZONE_OPERATION __MSABI_LONG(9603) +#define DNS_ERROR_ZONE_CONFIGURATION_ERROR __MSABI_LONG(9604) +#define DNS_ERROR_ZONE_HAS_NO_SOA_RECORD __MSABI_LONG(9605) +#define DNS_ERROR_ZONE_HAS_NO_NS_RECORDS __MSABI_LONG(9606) +#define DNS_ERROR_ZONE_LOCKED __MSABI_LONG(9607) +#define DNS_ERROR_ZONE_CREATION_FAILED __MSABI_LONG(9608) +#define DNS_ERROR_ZONE_ALREADY_EXISTS __MSABI_LONG(9609) +#define DNS_ERROR_AUTOZONE_ALREADY_EXISTS __MSABI_LONG(9610) +#define DNS_ERROR_INVALID_ZONE_TYPE __MSABI_LONG(9611) +#define DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP __MSABI_LONG(9612) +#define DNS_ERROR_ZONE_NOT_SECONDARY __MSABI_LONG(9613) +#define DNS_ERROR_NEED_SECONDARY_ADDRESSES __MSABI_LONG(9614) +#define DNS_ERROR_WINS_INIT_FAILED __MSABI_LONG(9615) +#define DNS_ERROR_NEED_WINS_SERVERS __MSABI_LONG(9616) +#define DNS_ERROR_NBSTAT_INIT_FAILED __MSABI_LONG(9617) +#define DNS_ERROR_SOA_DELETE_INVALID __MSABI_LONG(9618) +#define DNS_ERROR_FORWARDER_ALREADY_EXISTS __MSABI_LONG(9619) +#define DNS_ERROR_ZONE_REQUIRES_MASTER_IP __MSABI_LONG(9620) +#define DNS_ERROR_ZONE_IS_SHUTDOWN __MSABI_LONG(9621) +#define DNS_ERROR_ZONE_LOCKED_FOR_SIGNING __MSABI_LONG(9622) +#define DNS_ERROR_DATAFILE_BASE 9650 +#define DNS_ERROR_PRIMARY_REQUIRES_DATAFILE __MSABI_LONG(9651) +#define DNS_ERROR_INVALID_DATAFILE_NAME __MSABI_LONG(9652) +#define DNS_ERROR_DATAFILE_OPEN_FAILURE __MSABI_LONG(9653) +#define DNS_ERROR_FILE_WRITEBACK_FAILED __MSABI_LONG(9654) +#define DNS_ERROR_DATAFILE_PARSING __MSABI_LONG(9655) +#define DNS_ERROR_DATABASE_BASE 9700 +#define DNS_ERROR_RECORD_DOES_NOT_EXIST __MSABI_LONG(9701) +#define DNS_ERROR_RECORD_FORMAT __MSABI_LONG(9702) +#define DNS_ERROR_NODE_CREATION_FAILED __MSABI_LONG(9703) +#define DNS_ERROR_UNKNOWN_RECORD_TYPE __MSABI_LONG(9704) +#define DNS_ERROR_RECORD_TIMED_OUT __MSABI_LONG(9705) +#define DNS_ERROR_NAME_NOT_IN_ZONE __MSABI_LONG(9706) +#define DNS_ERROR_CNAME_LOOP __MSABI_LONG(9707) +#define DNS_ERROR_NODE_IS_CNAME __MSABI_LONG(9708) +#define DNS_ERROR_CNAME_COLLISION __MSABI_LONG(9709) +#define DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT __MSABI_LONG(9710) +#define DNS_ERROR_RECORD_ALREADY_EXISTS __MSABI_LONG(9711) +#define DNS_ERROR_SECONDARY_DATA __MSABI_LONG(9712) +#define DNS_ERROR_NO_CREATE_CACHE_DATA __MSABI_LONG(9713) +#define DNS_ERROR_NAME_DOES_NOT_EXIST __MSABI_LONG(9714) +#define DNS_WARNING_PTR_CREATE_FAILED __MSABI_LONG(9715) +#define DNS_WARNING_DOMAIN_UNDELETED __MSABI_LONG(9716) +#define DNS_ERROR_DS_UNAVAILABLE __MSABI_LONG(9717) +#define DNS_ERROR_DS_ZONE_ALREADY_EXISTS __MSABI_LONG(9718) +#define DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE __MSABI_LONG(9719) +#define DNS_ERROR_NODE_IS_DNAME __MSABI_LONG(9720) +#define DNS_ERROR_DNAME_COLLISION __MSABI_LONG(9721) +#define DNS_ERROR_ALIAS_LOOP __MSABI_LONG(9722) +#define DNS_ERROR_OPERATION_BASE 9750 +#define DNS_INFO_AXFR_COMPLETE __MSABI_LONG(9751) +#define DNS_ERROR_AXFR __MSABI_LONG(9752) +#define DNS_INFO_ADDED_LOCAL_WINS __MSABI_LONG(9753) +#define DNS_ERROR_SECURE_BASE 9800 +#define DNS_STATUS_CONTINUE_NEEDED __MSABI_LONG(9801) +#define DNS_ERROR_SETUP_BASE 9850 +#define DNS_ERROR_NO_TCPIP __MSABI_LONG(9851) +#define DNS_ERROR_NO_DNS_SERVERS __MSABI_LONG(9852) +#define DNS_ERROR_DP_BASE 9900 +#define DNS_ERROR_DP_DOES_NOT_EXIST __MSABI_LONG(9901) +#define DNS_ERROR_DP_ALREADY_EXISTS __MSABI_LONG(9902) +#define DNS_ERROR_DP_NOT_ENLISTED __MSABI_LONG(9903) +#define DNS_ERROR_DP_ALREADY_ENLISTED __MSABI_LONG(9904) +#define DNS_ERROR_DP_NOT_AVAILABLE __MSABI_LONG(9905) +#define DNS_ERROR_DP_FSMO_ERROR __MSABI_LONG(9906) +#define DNS_ERROR_RRL_NOT_ENABLED __MSABI_LONG(9911) +#define DNS_ERROR_RRL_INVALID_WINDOW_SIZE __MSABI_LONG(9912) +#define DNS_ERROR_RRL_INVALID_IPV4_PREFIX __MSABI_LONG(9913) +#define DNS_ERROR_RRL_INVALID_IPV6_PREFIX __MSABI_LONG(9914) +#define DNS_ERROR_RRL_INVALID_TC_RATE __MSABI_LONG(9915) +#define DNS_ERROR_RRL_INVALID_LEAK_RATE __MSABI_LONG(9916) +#define DNS_ERROR_RRL_LEAK_RATE_LESSTHAN_TC_RATE __MSABI_LONG(9917) +#define DNS_ERROR_VIRTUALIZATION_INSTANCE_ALREADY_EXISTS __MSABI_LONG(9921) +#define DNS_ERROR_VIRTUALIZATION_INSTANCE_DOES_NOT_EXIST __MSABI_LONG(9922) +#define DNS_ERROR_VIRTUALIZATION_TREE_LOCKED __MSABI_LONG(9923) +#define DNS_ERROR_INVAILD_VIRTUALIZATION_INSTANCE_NAME __MSABI_LONG(9924) +#define DNS_ERROR_DEFAULT_VIRTUALIZATION_INSTANCE __MSABI_LONG(9925) +#define DNS_ERROR_ZONESCOPE_ALREADY_EXISTS __MSABI_LONG(9951) +#define DNS_ERROR_ZONESCOPE_DOES_NOT_EXIST __MSABI_LONG(9952) +#define DNS_ERROR_DEFAULT_ZONESCOPE __MSABI_LONG(9953) +#define DNS_ERROR_INVALID_ZONESCOPE_NAME __MSABI_LONG(9954) +#define DNS_ERROR_NOT_ALLOWED_WITH_ZONESCOPES __MSABI_LONG(9955) +#define DNS_ERROR_LOAD_ZONESCOPE_FAILED __MSABI_LONG(9956) +#define DNS_ERROR_ZONESCOPE_FILE_WRITEBACK_FAILED __MSABI_LONG(9957) +#define DNS_ERROR_INVALID_SCOPE_NAME __MSABI_LONG(9958) +#define DNS_ERROR_SCOPE_DOES_NOT_EXIST __MSABI_LONG(9959) +#define DNS_ERROR_DEFAULT_SCOPE __MSABI_LONG(9960) +#define DNS_ERROR_INVALID_SCOPE_OPERATION __MSABI_LONG(9961) +#define DNS_ERROR_SCOPE_LOCKED __MSABI_LONG(9962) +#define DNS_ERROR_SCOPE_ALREADY_EXISTS __MSABI_LONG(9963) +#define DNS_ERROR_POLICY_ALREADY_EXISTS __MSABI_LONG(9971) +#define DNS_ERROR_POLICY_DOES_NOT_EXIST __MSABI_LONG(9972) +#define DNS_ERROR_POLICY_INVALID_CRITERIA __MSABI_LONG(9973) +#define DNS_ERROR_POLICY_INVALID_SETTINGS __MSABI_LONG(9974) +#define DNS_ERROR_CLIENT_SUBNET_IS_ACCESSED __MSABI_LONG(9975) +#define DNS_ERROR_CLIENT_SUBNET_DOES_NOT_EXIST __MSABI_LONG(9976) +#define DNS_ERROR_CLIENT_SUBNET_ALREADY_EXISTS __MSABI_LONG(9977) +#define DNS_ERROR_SUBNET_DOES_NOT_EXIST __MSABI_LONG(9978) +#define DNS_ERROR_SUBNET_ALREADY_EXISTS __MSABI_LONG(9979) +#define DNS_ERROR_POLICY_LOCKED __MSABI_LONG(9980) +#define DNS_ERROR_POLICY_INVALID_WEIGHT __MSABI_LONG(9981) +#define DNS_ERROR_POLICY_INVALID_NAME __MSABI_LONG(9982) +#define DNS_ERROR_POLICY_MISSING_CRITERIA __MSABI_LONG(9983) +#define DNS_ERROR_INVALID_CLIENT_SUBNET_NAME __MSABI_LONG(9984) +#define DNS_ERROR_POLICY_PROCESSING_ORDER_INVALID __MSABI_LONG(9985) +#define DNS_ERROR_POLICY_SCOPE_MISSING __MSABI_LONG(9986) +#define DNS_ERROR_POLICY_SCOPE_NOT_ALLOWED __MSABI_LONG(9987) +#define DNS_ERROR_SERVERSCOPE_IS_REFERENCED __MSABI_LONG(9988) +#define DNS_ERROR_ZONESCOPE_IS_REFERENCED __MSABI_LONG(9989) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_CLIENT_SUBNET __MSABI_LONG(9990) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_TRANSPORT_PROTOCOL __MSABI_LONG(9991) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_NETWORK_PROTOCOL __MSABI_LONG(9992) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_INTERFACE __MSABI_LONG(9993) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_FQDN __MSABI_LONG(9994) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_QUERY_TYPE __MSABI_LONG(9995) +#define DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY __MSABI_LONG(9996) + +#ifndef WSABASEERR +#define WSABASEERR 10000 +#define WSAEINTR (WSABASEERR + 4) +#define WSAEBADF (WSABASEERR + 9) +#define WSAEACCES (WSABASEERR + 13) +#define WSAEFAULT (WSABASEERR + 14) +#define WSAEINVAL (WSABASEERR + 22) +#define WSAEMFILE (WSABASEERR + 24) +#define WSAEWOULDBLOCK (WSABASEERR + 35) +#define WSAEINPROGRESS (WSABASEERR + 36) +#define WSAEALREADY (WSABASEERR + 37) +#define WSAENOTSOCK (WSABASEERR + 38) +#define WSAEDESTADDRREQ (WSABASEERR + 39) +#define WSAEMSGSIZE (WSABASEERR + 40) +#define WSAEPROTOTYPE (WSABASEERR + 41) +#define WSAENOPROTOOPT (WSABASEERR + 42) +#define WSAEPROTONOSUPPORT (WSABASEERR + 43) +#define WSAESOCKTNOSUPPORT (WSABASEERR + 44) +#define WSAEOPNOTSUPP (WSABASEERR + 45) +#define WSAEPFNOSUPPORT (WSABASEERR + 46) +#define WSAEAFNOSUPPORT (WSABASEERR + 47) +#define WSAEADDRINUSE (WSABASEERR + 48) +#define WSAEADDRNOTAVAIL (WSABASEERR + 49) +#define WSAENETDOWN (WSABASEERR + 50) +#define WSAENETUNREACH (WSABASEERR + 51) +#define WSAENETRESET (WSABASEERR + 52) +#define WSAECONNABORTED (WSABASEERR + 53) +#define WSAECONNRESET (WSABASEERR + 54) +#define WSAENOBUFS (WSABASEERR + 55) +#define WSAEISCONN (WSABASEERR + 56) +#define WSAENOTCONN (WSABASEERR + 57) +#define WSAESHUTDOWN (WSABASEERR + 58) +#define WSAETOOMANYREFS (WSABASEERR + 59) +#define WSAETIMEDOUT (WSABASEERR + 60) +#define WSAECONNREFUSED (WSABASEERR + 61) +#define WSAELOOP (WSABASEERR + 62) +#define WSAENAMETOOLONG (WSABASEERR + 63) +#define WSAEHOSTDOWN (WSABASEERR + 64) +#define WSAEHOSTUNREACH (WSABASEERR + 65) +#define WSAENOTEMPTY (WSABASEERR + 66) +#define WSAEPROCLIM (WSABASEERR + 67) +#define WSAEUSERS (WSABASEERR + 68) +#define WSAEDQUOT (WSABASEERR + 69) +#define WSAESTALE (WSABASEERR + 70) +#define WSAEREMOTE (WSABASEERR + 71) +#define WSASYSNOTREADY (WSABASEERR + 91) +#define WSAVERNOTSUPPORTED (WSABASEERR + 92) +#define WSANOTINITIALISED (WSABASEERR + 93) +#define WSAEDISCON (WSABASEERR + 101) +#define WSAENOMORE (WSABASEERR + 102) +#define WSAECANCELLED (WSABASEERR + 103) +#define WSAEINVALIDPROCTABLE (WSABASEERR + 104) +#define WSAEINVALIDPROVIDER (WSABASEERR + 105) +#define WSAEPROVIDERFAILEDINIT (WSABASEERR + 106) +#define WSASYSCALLFAILURE (WSABASEERR + 107) +#define WSASERVICE_NOT_FOUND (WSABASEERR + 108) +#define WSATYPE_NOT_FOUND (WSABASEERR + 109) +#define WSA_E_NO_MORE (WSABASEERR + 110) +#define WSA_E_CANCELLED (WSABASEERR + 111) +#define WSAEREFUSED (WSABASEERR + 112) +#ifndef WSAHOST_NOT_FOUND +#define WSAHOST_NOT_FOUND (WSABASEERR + 1001) +#endif +#ifndef WSATRY_AGAIN +#define WSATRY_AGAIN (WSABASEERR + 1002) +#endif +#ifndef WSANO_RECOVERY +#define WSANO_RECOVERY (WSABASEERR + 1003) +#endif +#ifndef WSANO_DATA +#define WSANO_DATA (WSABASEERR + 1004) +#endif +#ifndef WSA_QOS_RECEIVERS +#define WSA_QOS_RECEIVERS (WSABASEERR + 1005) +#endif +#ifndef WSA_QOS_SENDERS +#define WSA_QOS_SENDERS (WSABASEERR + 1006) +#endif +#ifndef WSA_QOS_NO_SENDERS +#define WSA_QOS_NO_SENDERS (WSABASEERR + 1007) +#endif +#ifndef WSA_QOS_NO_RECEIVERS +#define WSA_QOS_NO_RECEIVERS (WSABASEERR + 1008) +#endif +#ifndef WSA_QOS_REQUEST_CONFIRMED +#define WSA_QOS_REQUEST_CONFIRMED (WSABASEERR + 1009) +#endif +#ifndef WSA_QOS_ADMISSION_FAILURE +#define WSA_QOS_ADMISSION_FAILURE (WSABASEERR + 1010) +#endif +#ifndef WSA_QOS_POLICY_FAILURE +#define WSA_QOS_POLICY_FAILURE (WSABASEERR + 1011) +#endif +#ifndef WSA_QOS_BAD_STYLE +#define WSA_QOS_BAD_STYLE (WSABASEERR + 1012) +#endif +#ifndef WSA_QOS_BAD_OBJECT +#define WSA_QOS_BAD_OBJECT (WSABASEERR + 1013) +#endif +#ifndef WSA_QOS_TRAFFIC_CTRL_ERROR +#define WSA_QOS_TRAFFIC_CTRL_ERROR (WSABASEERR + 1014) +#endif +#ifndef WSA_QOS_GENERIC_ERROR +#define WSA_QOS_GENERIC_ERROR (WSABASEERR + 1015) +#endif +#ifndef WSA_QOS_ESERVICETYPE +#define WSA_QOS_ESERVICETYPE (WSABASEERR + 1016) +#endif +#ifndef WSA_QOS_EFLOWSPEC +#define WSA_QOS_EFLOWSPEC (WSABASEERR + 1017) +#endif +#ifndef WSA_QOS_EPROVSPECBUF +#define WSA_QOS_EPROVSPECBUF (WSABASEERR + 1018) +#endif +#ifndef WSA_QOS_EFILTERSTYLE +#define WSA_QOS_EFILTERSTYLE (WSABASEERR + 1019) +#endif +#ifndef WSA_QOS_EFILTERTYPE +#define WSA_QOS_EFILTERTYPE (WSABASEERR + 1020) +#endif +#ifndef WSA_QOS_EFILTERCOUNT +#define WSA_QOS_EFILTERCOUNT (WSABASEERR + 1021) +#endif +#ifndef WSA_QOS_EOBJLENGTH +#define WSA_QOS_EOBJLENGTH (WSABASEERR + 1022) +#endif +#ifndef WSA_QOS_EFLOWCOUNT +#define WSA_QOS_EFLOWCOUNT (WSABASEERR + 1023) +#endif +#ifndef WSA_QOS_EUNKNOWNPSOBJ +#define WSA_QOS_EUNKNOWNPSOBJ (WSABASEERR + 1024) +#endif +#ifndef WSA_QOS_EUNKOWNPSOBJ +#define WSA_QOS_EUNKOWNPSOBJ WSA_QOS_EUNKNOWNPSOBJ +#endif +#ifndef WSA_QOS_EPOLICYOBJ +#define WSA_QOS_EPOLICYOBJ (WSABASEERR + 1025) +#endif +#ifndef WSA_QOS_EFLOWDESC +#define WSA_QOS_EFLOWDESC (WSABASEERR + 1026) +#endif +#ifndef WSA_QOS_EPSFLOWSPEC +#define WSA_QOS_EPSFLOWSPEC (WSABASEERR + 1027) +#endif +#ifndef WSA_QOS_EPSFILTERSPEC +#define WSA_QOS_EPSFILTERSPEC (WSABASEERR + 1028) +#endif +#ifndef WSA_QOS_ESDMODEOBJ +#define WSA_QOS_ESDMODEOBJ (WSABASEERR + 1029) +#endif +#ifndef WSA_QOS_ESHAPERATEOBJ +#define WSA_QOS_ESHAPERATEOBJ (WSABASEERR + 1030) +#endif +#ifndef WSA_QOS_RESERVED_PETYPE +#define WSA_QOS_RESERVED_PETYPE (WSABASEERR + 1031) +#endif +#ifndef WSA_SECURE_HOST_NOT_FOUND +#define WSA_SECURE_HOST_NOT_FOUND (WSABASEERR + 1032) +#endif +#ifndef WSA_IPSEC_NAME_POLICY_ERROR +#define WSA_IPSEC_NAME_POLICY_ERROR (WSABASEERR + 1033) +#endif +#endif /* WSABASEERR */ + +#define ERROR_SXS_SECTION_NOT_FOUND __MSABI_LONG(14000) +#define ERROR_SXS_CANT_GEN_ACTCTX __MSABI_LONG(14001) +#define ERROR_SXS_INVALID_ACTCTXDATA_FORMAT __MSABI_LONG(14002) +#define ERROR_SXS_ASSEMBLY_NOT_FOUND __MSABI_LONG(14003) +#define ERROR_SXS_MANIFEST_FORMAT_ERROR __MSABI_LONG(14004) +#define ERROR_SXS_MANIFEST_PARSE_ERROR __MSABI_LONG(14005) +#define ERROR_SXS_ACTIVATION_CONTEXT_DISABLED __MSABI_LONG(14006) +#define ERROR_SXS_KEY_NOT_FOUND __MSABI_LONG(14007) +#define ERROR_SXS_VERSION_CONFLICT __MSABI_LONG(14008) +#define ERROR_SXS_WRONG_SECTION_TYPE __MSABI_LONG(14009) +#define ERROR_SXS_THREAD_QUERIES_DISABLED __MSABI_LONG(14010) +#define ERROR_SXS_PROCESS_DEFAULT_ALREADY_SET __MSABI_LONG(14011) +#define ERROR_SXS_UNKNOWN_ENCODING_GROUP __MSABI_LONG(14012) +#define ERROR_SXS_UNKNOWN_ENCODING __MSABI_LONG(14013) +#define ERROR_SXS_INVALID_XML_NAMESPACE_URI __MSABI_LONG(14014) +#define ERROR_SXS_ROOT_MANIFEST_DEPENDENCY_NOT_INSTALLED __MSABI_LONG(14015) +#define ERROR_SXS_LEAF_MANIFEST_DEPENDENCY_NOT_INSTALLED __MSABI_LONG(14016) +#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE __MSABI_LONG(14017) +#define ERROR_SXS_MANIFEST_MISSING_REQUIRED_DEFAULT_NAMESPACE __MSABI_LONG(14018) +#define ERROR_SXS_MANIFEST_INVALID_REQUIRED_DEFAULT_NAMESPACE __MSABI_LONG(14019) +#define ERROR_SXS_PRIVATE_MANIFEST_CROSS_PATH_WITH_REPARSE_POINT __MSABI_LONG(14020) +#define ERROR_SXS_DUPLICATE_DLL_NAME __MSABI_LONG(14021) +#define ERROR_SXS_DUPLICATE_WINDOWCLASS_NAME __MSABI_LONG(14022) +#define ERROR_SXS_DUPLICATE_CLSID __MSABI_LONG(14023) +#define ERROR_SXS_DUPLICATE_IID __MSABI_LONG(14024) +#define ERROR_SXS_DUPLICATE_TLBID __MSABI_LONG(14025) +#define ERROR_SXS_DUPLICATE_PROGID __MSABI_LONG(14026) +#define ERROR_SXS_DUPLICATE_ASSEMBLY_NAME __MSABI_LONG(14027) +#define ERROR_SXS_FILE_HASH_MISMATCH __MSABI_LONG(14028) +#define ERROR_SXS_POLICY_PARSE_ERROR __MSABI_LONG(14029) +#define ERROR_SXS_XML_E_MISSINGQUOTE __MSABI_LONG(14030) +#define ERROR_SXS_XML_E_COMMENTSYNTAX __MSABI_LONG(14031) +#define ERROR_SXS_XML_E_BADSTARTNAMECHAR __MSABI_LONG(14032) +#define ERROR_SXS_XML_E_BADNAMECHAR __MSABI_LONG(14033) +#define ERROR_SXS_XML_E_BADCHARINSTRING __MSABI_LONG(14034) +#define ERROR_SXS_XML_E_XMLDECLSYNTAX __MSABI_LONG(14035) +#define ERROR_SXS_XML_E_BADCHARDATA __MSABI_LONG(14036) +#define ERROR_SXS_XML_E_MISSINGWHITESPACE __MSABI_LONG(14037) +#define ERROR_SXS_XML_E_EXPECTINGTAGEND __MSABI_LONG(14038) +#define ERROR_SXS_XML_E_MISSINGSEMICOLON __MSABI_LONG(14039) +#define ERROR_SXS_XML_E_UNBALANCEDPAREN __MSABI_LONG(14040) +#define ERROR_SXS_XML_E_INTERNALERROR __MSABI_LONG(14041) +#define ERROR_SXS_XML_E_UNEXPECTED_WHITESPACE __MSABI_LONG(14042) +#define ERROR_SXS_XML_E_INCOMPLETE_ENCODING __MSABI_LONG(14043) +#define ERROR_SXS_XML_E_MISSING_PAREN __MSABI_LONG(14044) +#define ERROR_SXS_XML_E_EXPECTINGCLOSEQUOTE __MSABI_LONG(14045) +#define ERROR_SXS_XML_E_MULTIPLE_COLONS __MSABI_LONG(14046) +#define ERROR_SXS_XML_E_INVALID_DECIMAL __MSABI_LONG(14047) +#define ERROR_SXS_XML_E_INVALID_HEXIDECIMAL __MSABI_LONG(14048) +#define ERROR_SXS_XML_E_INVALID_UNICODE __MSABI_LONG(14049) +#define ERROR_SXS_XML_E_WHITESPACEORQUESTIONMARK __MSABI_LONG(14050) +#define ERROR_SXS_XML_E_UNEXPECTEDENDTAG __MSABI_LONG(14051) +#define ERROR_SXS_XML_E_UNCLOSEDTAG __MSABI_LONG(14052) +#define ERROR_SXS_XML_E_DUPLICATEATTRIBUTE __MSABI_LONG(14053) +#define ERROR_SXS_XML_E_MULTIPLEROOTS __MSABI_LONG(14054) +#define ERROR_SXS_XML_E_INVALIDATROOTLEVEL __MSABI_LONG(14055) +#define ERROR_SXS_XML_E_BADXMLDECL __MSABI_LONG(14056) +#define ERROR_SXS_XML_E_MISSINGROOT __MSABI_LONG(14057) +#define ERROR_SXS_XML_E_UNEXPECTEDEOF __MSABI_LONG(14058) +#define ERROR_SXS_XML_E_BADPEREFINSUBSET __MSABI_LONG(14059) +#define ERROR_SXS_XML_E_UNCLOSEDSTARTTAG __MSABI_LONG(14060) +#define ERROR_SXS_XML_E_UNCLOSEDENDTAG __MSABI_LONG(14061) +#define ERROR_SXS_XML_E_UNCLOSEDSTRING __MSABI_LONG(14062) +#define ERROR_SXS_XML_E_UNCLOSEDCOMMENT __MSABI_LONG(14063) +#define ERROR_SXS_XML_E_UNCLOSEDDECL __MSABI_LONG(14064) +#define ERROR_SXS_XML_E_UNCLOSEDCDATA __MSABI_LONG(14065) +#define ERROR_SXS_XML_E_RESERVEDNAMESPACE __MSABI_LONG(14066) +#define ERROR_SXS_XML_E_INVALIDENCODING __MSABI_LONG(14067) +#define ERROR_SXS_XML_E_INVALIDSWITCH __MSABI_LONG(14068) +#define ERROR_SXS_XML_E_BADXMLCASE __MSABI_LONG(14069) +#define ERROR_SXS_XML_E_INVALID_STANDALONE __MSABI_LONG(14070) +#define ERROR_SXS_XML_E_UNEXPECTED_STANDALONE __MSABI_LONG(14071) +#define ERROR_SXS_XML_E_INVALID_VERSION __MSABI_LONG(14072) +#define ERROR_SXS_XML_E_MISSINGEQUALS __MSABI_LONG(14073) +#define ERROR_SXS_PROTECTION_RECOVERY_FAILED __MSABI_LONG(14074) +#define ERROR_SXS_PROTECTION_PUBLIC_KEY_TOO_SHORT __MSABI_LONG(14075) +#define ERROR_SXS_PROTECTION_CATALOG_NOT_VALID __MSABI_LONG(14076) +#define ERROR_SXS_UNTRANSLATABLE_HRESULT __MSABI_LONG(14077) +#define ERROR_SXS_PROTECTION_CATALOG_FILE_MISSING __MSABI_LONG(14078) +#define ERROR_SXS_MISSING_ASSEMBLY_IDENTITY_ATTRIBUTE __MSABI_LONG(14079) +#define ERROR_SXS_INVALID_ASSEMBLY_IDENTITY_ATTRIBUTE_NAME __MSABI_LONG(14080) +#define ERROR_SXS_ASSEMBLY_MISSING __MSABI_LONG(14081) +#define ERROR_SXS_CORRUPT_ACTIVATION_STACK __MSABI_LONG(14082) +#define ERROR_SXS_CORRUPTION __MSABI_LONG(14083) +#define ERROR_SXS_EARLY_DEACTIVATION __MSABI_LONG(14084) +#define ERROR_SXS_INVALID_DEACTIVATION __MSABI_LONG(14085) +#define ERROR_SXS_MULTIPLE_DEACTIVATION __MSABI_LONG(14086) +#define ERROR_SXS_PROCESS_TERMINATION_REQUESTED __MSABI_LONG(14087) +#define ERROR_SXS_RELEASE_ACTIVATION_CONTEXT __MSABI_LONG(14088) +#define ERROR_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY __MSABI_LONG(14089) +#define ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_VALUE __MSABI_LONG(14090) +#define ERROR_SXS_INVALID_IDENTITY_ATTRIBUTE_NAME __MSABI_LONG(14091) +#define ERROR_SXS_IDENTITY_DUPLICATE_ATTRIBUTE __MSABI_LONG(14092) +#define ERROR_SXS_IDENTITY_PARSE_ERROR __MSABI_LONG(14093) +#define ERROR_MALFORMED_SUBSTITUTION_STRING __MSABI_LONG(14094) +#define ERROR_SXS_INCORRECT_PUBLIC_KEY_TOKEN __MSABI_LONG(14095) +#define ERROR_UNMAPPED_SUBSTITUTION_STRING __MSABI_LONG(14096) +#define ERROR_SXS_ASSEMBLY_NOT_LOCKED __MSABI_LONG(14097) +#define ERROR_SXS_COMPONENT_STORE_CORRUPT __MSABI_LONG(14098) +#define ERROR_ADVANCED_INSTALLER_FAILED __MSABI_LONG(14099) +#define ERROR_XML_ENCODING_MISMATCH __MSABI_LONG(14100) +#define ERROR_SXS_MANIFEST_IDENTITY_SAME_BUT_CONTENTS_DIFFERENT __MSABI_LONG(14101) +#define ERROR_SXS_IDENTITIES_DIFFERENT __MSABI_LONG(14102) +#define ERROR_SXS_ASSEMBLY_IS_NOT_A_DEPLOYMENT __MSABI_LONG(14103) +#define ERROR_SXS_FILE_NOT_PART_OF_ASSEMBLY __MSABI_LONG(14104) +#define ERROR_SXS_MANIFEST_TOO_BIG __MSABI_LONG(14105) +#define ERROR_SXS_SETTING_NOT_REGISTERED __MSABI_LONG(14106) +#define ERROR_SXS_TRANSACTION_CLOSURE_INCOMPLETE __MSABI_LONG(14107) +#define ERROR_SMI_PRIMITIVE_INSTALLER_FAILED __MSABI_LONG(14108) +#define ERROR_GENERIC_COMMAND_FAILED __MSABI_LONG(14109) +#define ERROR_SXS_FILE_HASH_MISSING __MSABI_LONG(14110) +#define ERROR_IPSEC_QM_POLICY_EXISTS __MSABI_LONG(13000) +#define ERROR_IPSEC_QM_POLICY_NOT_FOUND __MSABI_LONG(13001) +#define ERROR_IPSEC_QM_POLICY_IN_USE __MSABI_LONG(13002) +#define ERROR_IPSEC_MM_POLICY_EXISTS __MSABI_LONG(13003) +#define ERROR_IPSEC_MM_POLICY_NOT_FOUND __MSABI_LONG(13004) +#define ERROR_IPSEC_MM_POLICY_IN_USE __MSABI_LONG(13005) +#define ERROR_IPSEC_MM_FILTER_EXISTS __MSABI_LONG(13006) +#define ERROR_IPSEC_MM_FILTER_NOT_FOUND __MSABI_LONG(13007) +#define ERROR_IPSEC_TRANSPORT_FILTER_EXISTS __MSABI_LONG(13008) +#define ERROR_IPSEC_TRANSPORT_FILTER_NOT_FOUND __MSABI_LONG(13009) +#define ERROR_IPSEC_MM_AUTH_EXISTS __MSABI_LONG(13010) +#define ERROR_IPSEC_MM_AUTH_NOT_FOUND __MSABI_LONG(13011) +#define ERROR_IPSEC_MM_AUTH_IN_USE __MSABI_LONG(13012) +#define ERROR_IPSEC_DEFAULT_MM_POLICY_NOT_FOUND __MSABI_LONG(13013) +#define ERROR_IPSEC_DEFAULT_MM_AUTH_NOT_FOUND __MSABI_LONG(13014) +#define ERROR_IPSEC_DEFAULT_QM_POLICY_NOT_FOUND __MSABI_LONG(13015) +#define ERROR_IPSEC_TUNNEL_FILTER_EXISTS __MSABI_LONG(13016) +#define ERROR_IPSEC_TUNNEL_FILTER_NOT_FOUND __MSABI_LONG(13017) +#define ERROR_IPSEC_MM_FILTER_PENDING_DELETION __MSABI_LONG(13018) +#define ERROR_IPSEC_TRANSPORT_FILTER_PENDING_DELETION __MSABI_LONG(13019) +#define ERROR_IPSEC_TUNNEL_FILTER_PENDING_DELETION __MSABI_LONG(13020) +#define ERROR_IPSEC_MM_POLICY_PENDING_DELETION __MSABI_LONG(13021) +#define ERROR_IPSEC_MM_AUTH_PENDING_DELETION __MSABI_LONG(13022) +#define ERROR_IPSEC_QM_POLICY_PENDING_DELETION __MSABI_LONG(13023) +#define WARNING_IPSEC_MM_POLICY_PRUNED __MSABI_LONG(13024) +#define WARNING_IPSEC_QM_POLICY_PRUNED __MSABI_LONG(13025) +#define ERROR_IPSEC_IKE_NEG_STATUS_BEGIN __MSABI_LONG(13800) +#define ERROR_IPSEC_IKE_AUTH_FAIL __MSABI_LONG(13801) +#define ERROR_IPSEC_IKE_ATTRIB_FAIL __MSABI_LONG(13802) +#define ERROR_IPSEC_IKE_NEGOTIATION_PENDING __MSABI_LONG(13803) +#define ERROR_IPSEC_IKE_GENERAL_PROCESSING_ERROR __MSABI_LONG(13804) +#define ERROR_IPSEC_IKE_TIMED_OUT __MSABI_LONG(13805) +#define ERROR_IPSEC_IKE_NO_CERT __MSABI_LONG(13806) +#define ERROR_IPSEC_IKE_SA_DELETED __MSABI_LONG(13807) +#define ERROR_IPSEC_IKE_SA_REAPED __MSABI_LONG(13808) +#define ERROR_IPSEC_IKE_MM_ACQUIRE_DROP __MSABI_LONG(13809) +#define ERROR_IPSEC_IKE_QM_ACQUIRE_DROP __MSABI_LONG(13810) +#define ERROR_IPSEC_IKE_QUEUE_DROP_MM __MSABI_LONG(13811) +#define ERROR_IPSEC_IKE_QUEUE_DROP_NO_MM __MSABI_LONG(13812) +#define ERROR_IPSEC_IKE_DROP_NO_RESPONSE __MSABI_LONG(13813) +#define ERROR_IPSEC_IKE_MM_DELAY_DROP __MSABI_LONG(13814) +#define ERROR_IPSEC_IKE_QM_DELAY_DROP __MSABI_LONG(13815) +#define ERROR_IPSEC_IKE_ERROR __MSABI_LONG(13816) +#define ERROR_IPSEC_IKE_CRL_FAILED __MSABI_LONG(13817) +#define ERROR_IPSEC_IKE_INVALID_KEY_USAGE __MSABI_LONG(13818) +#define ERROR_IPSEC_IKE_INVALID_CERT_TYPE __MSABI_LONG(13819) +#define ERROR_IPSEC_IKE_NO_PRIVATE_KEY __MSABI_LONG(13820) +#define ERROR_IPSEC_IKE_DH_FAIL __MSABI_LONG(13822) +#define ERROR_IPSEC_IKE_INVALID_HEADER __MSABI_LONG(13824) +#define ERROR_IPSEC_IKE_NO_POLICY __MSABI_LONG(13825) +#define ERROR_IPSEC_IKE_INVALID_SIGNATURE __MSABI_LONG(13826) +#define ERROR_IPSEC_IKE_KERBEROS_ERROR __MSABI_LONG(13827) +#define ERROR_IPSEC_IKE_NO_PUBLIC_KEY __MSABI_LONG(13828) +#define ERROR_IPSEC_IKE_PROCESS_ERR __MSABI_LONG(13829) +#define ERROR_IPSEC_IKE_PROCESS_ERR_SA __MSABI_LONG(13830) +#define ERROR_IPSEC_IKE_PROCESS_ERR_PROP __MSABI_LONG(13831) +#define ERROR_IPSEC_IKE_PROCESS_ERR_TRANS __MSABI_LONG(13832) +#define ERROR_IPSEC_IKE_PROCESS_ERR_KE __MSABI_LONG(13833) +#define ERROR_IPSEC_IKE_PROCESS_ERR_ID __MSABI_LONG(13834) +#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT __MSABI_LONG(13835) +#define ERROR_IPSEC_IKE_PROCESS_ERR_CERT_REQ __MSABI_LONG(13836) +#define ERROR_IPSEC_IKE_PROCESS_ERR_HASH __MSABI_LONG(13837) +#define ERROR_IPSEC_IKE_PROCESS_ERR_SIG __MSABI_LONG(13838) +#define ERROR_IPSEC_IKE_PROCESS_ERR_NONCE __MSABI_LONG(13839) +#define ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY __MSABI_LONG(13840) +#define ERROR_IPSEC_IKE_PROCESS_ERR_DELETE __MSABI_LONG(13841) +#define ERROR_IPSEC_IKE_PROCESS_ERR_VENDOR __MSABI_LONG(13842) +#define ERROR_IPSEC_IKE_INVALID_PAYLOAD __MSABI_LONG(13843) +#define ERROR_IPSEC_IKE_LOAD_SOFT_SA __MSABI_LONG(13844) +#define ERROR_IPSEC_IKE_SOFT_SA_TORN_DOWN __MSABI_LONG(13845) +#define ERROR_IPSEC_IKE_INVALID_COOKIE __MSABI_LONG(13846) +#define ERROR_IPSEC_IKE_NO_PEER_CERT __MSABI_LONG(13847) +#define ERROR_IPSEC_IKE_PEER_CRL_FAILED __MSABI_LONG(13848) +#define ERROR_IPSEC_IKE_POLICY_CHANGE __MSABI_LONG(13849) +#define ERROR_IPSEC_IKE_NO_MM_POLICY __MSABI_LONG(13850) +#define ERROR_IPSEC_IKE_NOTCBPRIV __MSABI_LONG(13851) +#define ERROR_IPSEC_IKE_SECLOADFAIL __MSABI_LONG(13852) +#define ERROR_IPSEC_IKE_FAILSSPINIT __MSABI_LONG(13853) +#define ERROR_IPSEC_IKE_FAILQUERYSSP __MSABI_LONG(13854) +#define ERROR_IPSEC_IKE_SRVACQFAIL __MSABI_LONG(13855) +#define ERROR_IPSEC_IKE_SRVQUERYCRED __MSABI_LONG(13856) +#define ERROR_IPSEC_IKE_GETSPIFAIL __MSABI_LONG(13857) +#define ERROR_IPSEC_IKE_INVALID_FILTER __MSABI_LONG(13858) +#define ERROR_IPSEC_IKE_OUT_OF_MEMORY __MSABI_LONG(13859) +#define ERROR_IPSEC_IKE_ADD_UPDATE_KEY_FAILED __MSABI_LONG(13860) +#define ERROR_IPSEC_IKE_INVALID_POLICY __MSABI_LONG(13861) +#define ERROR_IPSEC_IKE_UNKNOWN_DOI __MSABI_LONG(13862) +#define ERROR_IPSEC_IKE_INVALID_SITUATION __MSABI_LONG(13863) +#define ERROR_IPSEC_IKE_DH_FAILURE __MSABI_LONG(13864) +#define ERROR_IPSEC_IKE_INVALID_GROUP __MSABI_LONG(13865) +#define ERROR_IPSEC_IKE_ENCRYPT __MSABI_LONG(13866) +#define ERROR_IPSEC_IKE_DECRYPT __MSABI_LONG(13867) +#define ERROR_IPSEC_IKE_POLICY_MATCH __MSABI_LONG(13868) +#define ERROR_IPSEC_IKE_UNSUPPORTED_ID __MSABI_LONG(13869) +#define ERROR_IPSEC_IKE_INVALID_HASH __MSABI_LONG(13870) +#define ERROR_IPSEC_IKE_INVALID_HASH_ALG __MSABI_LONG(13871) +#define ERROR_IPSEC_IKE_INVALID_HASH_SIZE __MSABI_LONG(13872) +#define ERROR_IPSEC_IKE_INVALID_ENCRYPT_ALG __MSABI_LONG(13873) +#define ERROR_IPSEC_IKE_INVALID_AUTH_ALG __MSABI_LONG(13874) +#define ERROR_IPSEC_IKE_INVALID_SIG __MSABI_LONG(13875) +#define ERROR_IPSEC_IKE_LOAD_FAILED __MSABI_LONG(13876) +#define ERROR_IPSEC_IKE_RPC_DELETE __MSABI_LONG(13877) +#define ERROR_IPSEC_IKE_BENIGN_REINIT __MSABI_LONG(13878) +#define ERROR_IPSEC_IKE_INVALID_RESPONDER_LIFETIME_NOTIFY __MSABI_LONG(13879) +#define ERROR_IPSEC_IKE_INVALID_CERT_KEYLEN __MSABI_LONG(13881) +#define ERROR_IPSEC_IKE_MM_LIMIT __MSABI_LONG(13882) +#define ERROR_IPSEC_IKE_NEGOTIATION_DISABLED __MSABI_LONG(13883) +/* ******************** WARNING ******************** + * This is inconsistent with MSDN! + * In MSDN: + * ERROR_IPSEC_IKE_QM_LIMIT => 13884 (here not defined) + * ERROR_IPSEC_IKE_NEG_STATUS_END => 13897 (here 13884) + * Source: + * WinINet Reference -> WinINet Constants -> Error Messages + * https://msdn.microsoft.com/en-us/library/windows/desktop/aa385465%28v=vs.85%29.aspx + * ******************** END WARNING ******************** */ +/*#define ERROR_IPSEC_IKE_NEG_STATUS_END __MSABI_LONG(13884)*/ +#define ERROR_IPSEC_IKE_QM_LIMIT __MSABI_LONG(13884) +#define ERROR_IPSEC_IKE_MM_EXPIRED __MSABI_LONG(13885) +#define ERROR_IPSEC_IKE_PEER_MM_ASSUMED_INVALID __MSABI_LONG(13886) +#define ERROR_IPSEC_IKE_CERT_CHAIN_POLICY_MISMATCH __MSABI_LONG(13887) +#define ERROR_IPSEC_IKE_UNEXPECTED_MESSAGE_ID __MSABI_LONG(13888) +#define ERROR_IPSEC_IKE_INVALID_AUTH_PAYLOAD __MSABI_LONG(13889) +#define ERROR_IPSEC_IKE_DOS_COOKIE_SENT __MSABI_LONG(13890) +#define ERROR_IPSEC_IKE_SHUTTING_DOWN __MSABI_LONG(13891) +#define ERROR_IPSEC_IKE_CGA_AUTH_FAILED __MSABI_LONG(13892) +#define ERROR_IPSEC_IKE_PROCESS_ERR_NATOA __MSABI_LONG(13893) +#define ERROR_IPSEC_IKE_INVALID_MM_FOR_QM __MSABI_LONG(13894) +#define ERROR_IPSEC_IKE_QM_EXPIRED __MSABI_LONG(13895) +#define ERROR_IPSEC_IKE_TOO_MANY_FILTERS __MSABI_LONG(13896) +#define ERROR_IPSEC_IKE_NEG_STATUS_END __MSABI_LONG(13897) +#define ERROR_IPSEC_IKE_KILL_DUMMY_NAP_TUNNEL __MSABI_LONG(13898) +#define ERROR_IPSEC_IKE_INNER_IP_ASSIGNMENT_FAILURE __MSABI_LONG(13899) +#define ERROR_IPSEC_IKE_REQUIRE_CP_PAYLOAD_MISSING __MSABI_LONG(13900) +#define ERROR_IPSEC_KEY_MODULE_IMPERSONATION_NEGOTIATION_PENDING __MSABI_LONG(13901) +#define ERROR_IPSEC_IKE_COEXISTENCE_SUPPRESS __MSABI_LONG(13902) +#define ERROR_IPSEC_IKE_RATELIMIT_DROP __MSABI_LONG(13903) +#define ERROR_IPSEC_IKE_PEER_DOESNT_SUPPORT_MOBIKE __MSABI_LONG(13904) +#define ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE __MSABI_LONG(13905) +#define ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_FAILURE __MSABI_LONG(13906) +#define ERROR_IPSEC_IKE_AUTHORIZATION_FAILURE_WITH_OPTIONAL_RETRY __MSABI_LONG(13907) +#define ERROR_IPSEC_IKE_STRONG_CRED_AUTHORIZATION_AND_CERTMAP_FAILURE __MSABI_LONG(13908) +#define ERROR_IPSEC_IKE_NEG_STATUS_EXTENDED_END __MSABI_LONG(13909) +#define ERROR_IPSEC_BAD_SPI __MSABI_LONG(13910) +#define ERROR_IPSEC_SA_LIFETIME_EXPIRED __MSABI_LONG(13911) +#define ERROR_IPSEC_WRONG_SA __MSABI_LONG(13912) +#define ERROR_IPSEC_REPLAY_CHECK_FAILED __MSABI_LONG(13913) +#define ERROR_IPSEC_INVALID_PACKET __MSABI_LONG(13914) +#define ERROR_IPSEC_INTEGRITY_CHECK_FAILED __MSABI_LONG(13915) +#define ERROR_IPSEC_CLEAR_TEXT_DROP __MSABI_LONG(13916) +#define ERROR_IPSEC_AUTH_FIREWALL_DROP __MSABI_LONG(13917) +#define ERROR_IPSEC_THROTTLE_DROP __MSABI_LONG(13918) +#define ERROR_IPSEC_DOSP_BLOCK __MSABI_LONG(13925) +#define ERROR_IPSEC_DOSP_RECEIVED_MULTICAST __MSABI_LONG(13926) +#define ERROR_IPSEC_DOSP_INVALID_PACKET __MSABI_LONG(13927) +#define ERROR_IPSEC_DOSP_STATE_LOOKUP_FAILED __MSABI_LONG(13928) +#define ERROR_IPSEC_DOSP_MAX_ENTRIES __MSABI_LONG(13929) +#define ERROR_IPSEC_DOSP_KEYMOD_NOT_ALLOWED __MSABI_LONG(13930) +#define ERROR_IPSEC_DOSP_NOT_INSTALLED __MSABI_LONG(13931) +#define ERROR_IPSEC_DOSP_MAX_PER_IP_RATELIMIT_QUEUES __MSABI_LONG(13932) +#define ERROR_EVT_INVALID_CHANNEL_PATH __MSABI_LONG(15000) +#define ERROR_EVT_INVALID_QUERY __MSABI_LONG(15001) +#define ERROR_EVT_PUBLISHER_METADATA_NOT_FOUND __MSABI_LONG(15002) +#define ERROR_EVT_EVENT_TEMPLATE_NOT_FOUND __MSABI_LONG(15003) +#define ERROR_EVT_INVALID_PUBLISHER_NAME __MSABI_LONG(15004) +#define ERROR_EVT_INVALID_EVENT_DATA __MSABI_LONG(15005) +#define ERROR_EVT_CHANNEL_NOT_FOUND __MSABI_LONG(15007) +#define ERROR_EVT_MALFORMED_XML_TEXT __MSABI_LONG(15008) +#define ERROR_EVT_SUBSCRIPTION_TO_DIRECT_CHANNEL __MSABI_LONG(15009) +#define ERROR_EVT_CONFIGURATION_ERROR __MSABI_LONG(15010) +#define ERROR_EVT_QUERY_RESULT_STALE __MSABI_LONG(15011) +#define ERROR_EVT_QUERY_RESULT_INVALID_POSITION __MSABI_LONG(15012) +#define ERROR_EVT_NON_VALIDATING_MSXML __MSABI_LONG(15013) +#define ERROR_EVT_FILTER_ALREADYSCOPED __MSABI_LONG(15014) +#define ERROR_EVT_FILTER_NOTELTSET __MSABI_LONG(15015) +#define ERROR_EVT_FILTER_INVARG __MSABI_LONG(15016) +#define ERROR_EVT_FILTER_INVTEST __MSABI_LONG(15017) +#define ERROR_EVT_FILTER_INVTYPE __MSABI_LONG(15018) +#define ERROR_EVT_FILTER_PARSEERR __MSABI_LONG(15019) +#define ERROR_EVT_FILTER_UNSUPPORTEDOP __MSABI_LONG(15020) +#define ERROR_EVT_FILTER_UNEXPECTEDTOKEN __MSABI_LONG(15021) +#define ERROR_EVT_INVALID_OPERATION_OVER_ENABLED_DIRECT_CHANNEL __MSABI_LONG(15022) +#define ERROR_EVT_INVALID_CHANNEL_PROPERTY_VALUE __MSABI_LONG(15023) +#define ERROR_EVT_INVALID_PUBLISHER_PROPERTY_VALUE __MSABI_LONG(15024) +#define ERROR_EVT_CHANNEL_CANNOT_ACTIVATE __MSABI_LONG(15025) +#define ERROR_EVT_FILTER_TOO_COMPLEX __MSABI_LONG(15026) +#define ERROR_EVT_MESSAGE_NOT_FOUND __MSABI_LONG(15027) +#define ERROR_EVT_MESSAGE_ID_NOT_FOUND __MSABI_LONG(15028) +#define ERROR_EVT_UNRESOLVED_VALUE_INSERT __MSABI_LONG(15029) +#define ERROR_EVT_UNRESOLVED_PARAMETER_INSERT __MSABI_LONG(15030) +#define ERROR_EVT_MAX_INSERTS_REACHED __MSABI_LONG(15031) +#define ERROR_EVT_EVENT_DEFINITION_NOT_FOUND __MSABI_LONG(15032) +#define ERROR_EVT_MESSAGE_LOCALE_NOT_FOUND __MSABI_LONG(15033) +#define ERROR_EVT_VERSION_TOO_OLD __MSABI_LONG(15034) +#define ERROR_EVT_VERSION_TOO_NEW __MSABI_LONG(15035) +#define ERROR_EVT_CANNOT_OPEN_CHANNEL_OF_QUERY __MSABI_LONG(15036) +#define ERROR_EVT_PUBLISHER_DISABLED __MSABI_LONG(15037) +#define ERROR_EVT_FILTER_OUT_OF_RANGE __MSABI_LONG(15038) +#define ERROR_EC_SUBSCRIPTION_CANNOT_ACTIVATE __MSABI_LONG(15080) +#define ERROR_EC_LOG_DISABLED __MSABI_LONG(15081) +#define ERROR_EC_CIRCULAR_FORWARDING __MSABI_LONG(15082) +#define ERROR_EC_CREDSTORE_FULL __MSABI_LONG(15083) +#define ERROR_EC_CRED_NOT_FOUND __MSABI_LONG(15084) +#define ERROR_EC_NO_ACTIVE_CHANNEL __MSABI_LONG(15085) +#define ERROR_MUI_FILE_NOT_FOUND __MSABI_LONG(15100) +#define ERROR_MUI_INVALID_FILE __MSABI_LONG(15101) +#define ERROR_MUI_INVALID_RC_CONFIG __MSABI_LONG(15102) +#define ERROR_MUI_INVALID_LOCALE_NAME __MSABI_LONG(15103) +#define ERROR_MUI_INVALID_ULTIMATEFALLBACK_NAME __MSABI_LONG(15104) +#define ERROR_MUI_FILE_NOT_LOADED __MSABI_LONG(15105) +#define ERROR_RESOURCE_ENUM_USER_STOP __MSABI_LONG(15106) +#define ERROR_MUI_INTLSETTINGS_UILANG_NOT_INSTALLED __MSABI_LONG(15107) +#define ERROR_MUI_INTLSETTINGS_INVALID_LOCALE_NAME __MSABI_LONG(15108) +#define ERROR_MRM_RUNTIME_NO_DEFAULT_OR_NEUTRAL_RESOURCE __MSABI_LONG(15110) +#define ERROR_MRM_INVALID_PRICONFIG __MSABI_LONG(15111) +#define ERROR_MRM_INVALID_FILE_TYPE __MSABI_LONG(15112) +#define ERROR_MRM_UNKNOWN_QUALIFIER __MSABI_LONG(15113) +#define ERROR_MRM_INVALID_QUALIFIER_VALUE __MSABI_LONG(15114) +#define ERROR_MRM_NO_CANDIDATE __MSABI_LONG(15115) +#define ERROR_MRM_NO_MATCH_OR_DEFAULT_CANDIDATE __MSABI_LONG(15116) +#define ERROR_MRM_RESOURCE_TYPE_MISMATCH __MSABI_LONG(15117) +#define ERROR_MRM_DUPLICATE_MAP_NAME __MSABI_LONG(15118) +#define ERROR_MRM_DUPLICATE_ENTRY __MSABI_LONG(15119) +#define ERROR_MRM_INVALID_RESOURCE_IDENTIFIER __MSABI_LONG(15120) +#define ERROR_MRM_FILEPATH_TOO_LONG __MSABI_LONG(15121) +#define ERROR_MRM_UNSUPPORTED_DIRECTORY_TYPE __MSABI_LONG(15122) +#define ERROR_MRM_INVALID_PRI_FILE __MSABI_LONG(15126) +#define ERROR_MRM_NAMED_RESOURCE_NOT_FOUND __MSABI_LONG(15127) +#define ERROR_MRM_MAP_NOT_FOUND __MSABI_LONG(15135) +#define ERROR_MRM_UNSUPPORTED_PROFILE_TYPE __MSABI_LONG(15136) +#define ERROR_MRM_INVALID_QUALIFIER_OPERATOR __MSABI_LONG(15137) +#define ERROR_MRM_INDETERMINATE_QUALIFIER_VALUE __MSABI_LONG(15138) +#define ERROR_MRM_AUTOMERGE_ENABLED __MSABI_LONG(15139) +#define ERROR_MRM_TOO_MANY_RESOURCES __MSABI_LONG(15140) +#define ERROR_MCA_INVALID_CAPABILITIES_STRING __MSABI_LONG(15200) +#define ERROR_MCA_INVALID_VCP_VERSION __MSABI_LONG(15201) +#define ERROR_MCA_MONITOR_VIOLATES_MCCS_SPECIFICATION __MSABI_LONG(15202) +#define ERROR_MCA_MCCS_VERSION_MISMATCH __MSABI_LONG(15203) +#define ERROR_MCA_UNSUPPORTED_MCCS_VERSION __MSABI_LONG(15204) +#define ERROR_MCA_INTERNAL_ERROR __MSABI_LONG(15205) +#define ERROR_MCA_INVALID_TECHNOLOGY_TYPE_RETURNED __MSABI_LONG(15206) +#define ERROR_MCA_UNSUPPORTED_COLOR_TEMPERATURE __MSABI_LONG(15207) +#define ERROR_AMBIGUOUS_SYSTEM_DEVICE __MSABI_LONG(15250) +#define ERROR_SYSTEM_DEVICE_NOT_FOUND __MSABI_LONG(15299) +#define ERROR_HASH_NOT_SUPPORTED __MSABI_LONG(15300) +#define ERROR_HASH_NOT_PRESENT __MSABI_LONG(15301) +#define ERROR_SECONDARY_IC_PROVIDER_NOT_REGISTERED __MSABI_LONG(15321) +#define ERROR_GPIO_CLIENT_INFORMATION_INVALID __MSABI_LONG(15322) +#define ERROR_GPIO_VERSION_NOT_SUPPORTED __MSABI_LONG(15323) +#define ERROR_GPIO_INVALID_REGISTRATION_PACKET __MSABI_LONG(15324) +#define ERROR_GPIO_OPERATION_DENIED __MSABI_LONG(15325) +#define ERROR_GPIO_INCOMPATIBLE_CONNECT_MODE __MSABI_LONG(15326) +#define ERROR_GPIO_INTERRUPT_ALREADY_UNMASKED __MSABI_LONG(15327) +#define ERROR_CANNOT_SWITCH_RUNLEVEL __MSABI_LONG(15400) +#define ERROR_INVALID_RUNLEVEL_SETTING __MSABI_LONG(15401) +#define ERROR_RUNLEVEL_SWITCH_TIMEOUT __MSABI_LONG(15402) +#define ERROR_RUNLEVEL_SWITCH_AGENT_TIMEOUT __MSABI_LONG(15403) +#define ERROR_RUNLEVEL_SWITCH_IN_PROGRESS __MSABI_LONG(15404) +#define ERROR_SERVICES_FAILED_AUTOSTART __MSABI_LONG(15405) +#define ERROR_COM_TASK_STOP_PENDING __MSABI_LONG(15501) +#define ERROR_INSTALL_OPEN_PACKAGE_FAILED __MSABI_LONG(15600) +#define ERROR_INSTALL_PACKAGE_NOT_FOUND __MSABI_LONG(15601) +#define ERROR_INSTALL_INVALID_PACKAGE __MSABI_LONG(15602) +#define ERROR_INSTALL_RESOLVE_DEPENDENCY_FAILED __MSABI_LONG(15603) +#define ERROR_INSTALL_OUT_OF_DISK_SPACE __MSABI_LONG(15604) +#define ERROR_INSTALL_NETWORK_FAILURE __MSABI_LONG(15605) +#define ERROR_INSTALL_REGISTRATION_FAILURE __MSABI_LONG(15606) +#define ERROR_INSTALL_DEREGISTRATION_FAILURE __MSABI_LONG(15607) +#define ERROR_INSTALL_CANCEL __MSABI_LONG(15608) +#define ERROR_INSTALL_FAILED __MSABI_LONG(15609) +#define ERROR_REMOVE_FAILED __MSABI_LONG(15610) +#define ERROR_PACKAGE_ALREADY_EXISTS __MSABI_LONG(15611) +#define ERROR_NEEDS_REMEDIATION __MSABI_LONG(15612) +#define ERROR_INSTALL_PREREQUISITE_FAILED __MSABI_LONG(15613) +#define ERROR_PACKAGE_REPOSITORY_CORRUPTED __MSABI_LONG(15614) +#define ERROR_INSTALL_POLICY_FAILURE __MSABI_LONG(15615) +#define ERROR_PACKAGE_UPDATING __MSABI_LONG(15616) +#define ERROR_DEPLOYMENT_BLOCKED_BY_POLICY __MSABI_LONG(15617) +#define ERROR_PACKAGES_IN_USE __MSABI_LONG(15618) +#define ERROR_RECOVERY_FILE_CORRUPT __MSABI_LONG(15619) +#define ERROR_INVALID_STAGED_SIGNATURE __MSABI_LONG(15620) +#define ERROR_DELETING_EXISTING_APPLICATIONDATA_STORE_FAILED __MSABI_LONG(15621) +#define ERROR_INSTALL_PACKAGE_DOWNGRADE __MSABI_LONG(15622) +#define ERROR_SYSTEM_NEEDS_REMEDIATION __MSABI_LONG(15623) +#define ERROR_APPX_INTEGRITY_FAILURE_CLR_NGEN __MSABI_LONG(15624) +#define ERROR_RESILIENCY_FILE_CORRUPT __MSABI_LONG(15625) +#define ERROR_INSTALL_FIREWALL_SERVICE_NOT_RUNNING __MSABI_LONG(15626) +#define APPMODEL_ERROR_NO_PACKAGE __MSABI_LONG(15700) +#define APPMODEL_ERROR_PACKAGE_RUNTIME_CORRUPT __MSABI_LONG(15701) +#define APPMODEL_ERROR_PACKAGE_IDENTITY_CORRUPT __MSABI_LONG(15702) +#define APPMODEL_ERROR_NO_APPLICATION __MSABI_LONG(15703) +#define ERROR_STATE_LOAD_STORE_FAILED __MSABI_LONG(15800) +#define ERROR_STATE_GET_VERSION_FAILED __MSABI_LONG(15801) +#define ERROR_STATE_SET_VERSION_FAILED __MSABI_LONG(15802) +#define ERROR_STATE_STRUCTURED_RESET_FAILED __MSABI_LONG(15803) +#define ERROR_STATE_OPEN_CONTAINER_FAILED __MSABI_LONG(15804) +#define ERROR_STATE_CREATE_CONTAINER_FAILED __MSABI_LONG(15805) +#define ERROR_STATE_DELETE_CONTAINER_FAILED __MSABI_LONG(15806) +#define ERROR_STATE_READ_SETTING_FAILED __MSABI_LONG(15807) +#define ERROR_STATE_WRITE_SETTING_FAILED __MSABI_LONG(15808) +#define ERROR_STATE_DELETE_SETTING_FAILED __MSABI_LONG(15809) +#define ERROR_STATE_QUERY_SETTING_FAILED __MSABI_LONG(15810) +#define ERROR_STATE_READ_COMPOSITE_SETTING_FAILED __MSABI_LONG(15811) +#define ERROR_STATE_WRITE_COMPOSITE_SETTING_FAILED __MSABI_LONG(15812) +#define ERROR_STATE_ENUMERATE_CONTAINER_FAILED __MSABI_LONG(15813) +#define ERROR_STATE_ENUMERATE_SETTINGS_FAILED __MSABI_LONG(15814) +#define ERROR_STATE_COMPOSITE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED __MSABI_LONG(15815) +#define ERROR_STATE_SETTING_VALUE_SIZE_LIMIT_EXCEEDED __MSABI_LONG(15816) +#define ERROR_STATE_SETTING_NAME_SIZE_LIMIT_EXCEEDED __MSABI_LONG(15817) +#define ERROR_STATE_CONTAINER_NAME_SIZE_LIMIT_EXCEEDED __MSABI_LONG(15818) +#define ERROR_API_UNAVAILABLE __MSABI_LONG(15841) +#define SEVERITY_SUCCESS 0 +#define SEVERITY_ERROR 1 +#define SUCCEEDED(hr) ((HRESULT)(hr) >= 0) +#define FAILED(hr) ((HRESULT)(hr) < 0) +#define IS_ERROR(Status) ((unsigned __LONG32)(Status) >> 31==SEVERITY_ERROR) +#define HRESULT_CODE(hr) ((hr) & 0xFFFF) +#define SCODE_CODE(sc) ((sc) & 0xFFFF) +#define HRESULT_FACILITY(hr) (((hr) >> 16) & 0x1fff) +#define SCODE_FACILITY(sc) (((sc) >> 16) & 0x1fff) +#define HRESULT_SEVERITY(hr) (((hr) >> 31) & 0x1) +#define SCODE_SEVERITY(sc) (((sc) >> 31) & 0x1) +#define MAKE_HRESULT(sev,fac,code) ((HRESULT) (((unsigned __LONG32)(sev)<<31) | ((unsigned __LONG32)(fac)<<16) | ((unsigned __LONG32)(code)))) +#define MAKE_SCODE(sev,fac,code) ((SCODE) (((unsigned __LONG32)(sev)<<31) | ((unsigned __LONG32)(fac)<<16) | ((unsigned __LONG32)(code)))) +#define FACILITY_NT_BIT 0x10000000 +#define __HRESULT_FROM_WIN32(x) ((HRESULT)(x) <= 0 ? ((HRESULT)(x)) : ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000))) +#ifdef INLINE_HRESULT_FROM_WIN32 +#ifndef _HRESULT_DEFINED +#define _HRESULT_DEFINED +typedef __LONG32 HRESULT; +#endif +#ifndef __CRT__NO_INLINE +__CRT_INLINE HRESULT HRESULT_FROM_WIN32(__LONG32 x) { return x <= 0 ? (HRESULT)x : (HRESULT) (((x) & 0x0000FFFF) | (FACILITY_WIN32 << 16) | 0x80000000);} +#endif /* !__CRT__NO_INLINE */ +#else +#define HRESULT_FROM_WIN32(x) __HRESULT_FROM_WIN32(x) +#endif +#define HRESULT_FROM_NT(x) ((HRESULT) ((x) | FACILITY_NT_BIT)) +#define GetScode(hr) ((SCODE) (hr)) +#define ResultFromScode(sc) ((HRESULT) (sc)) +#define PropagateResult(hrPrevious,scBase) ((HRESULT) scBase) +#if defined (RC_INVOKED) || defined (__WIDL__) +#define _HRESULT_TYPEDEF_(_sc) _sc +#else +#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) +#endif +#define NOERROR 0 +#define E_UNEXPECTED _HRESULT_TYPEDEF_(0x8000FFFF) +#define E_NOTIMPL _HRESULT_TYPEDEF_(0x80004001) +#define E_OUTOFMEMORY _HRESULT_TYPEDEF_(0x8007000E) +#define E_INVALIDARG _HRESULT_TYPEDEF_(0x80070057) +#define E_NOINTERFACE _HRESULT_TYPEDEF_(0x80004002) +#define E_POINTER _HRESULT_TYPEDEF_(0x80004003) +#define E_HANDLE _HRESULT_TYPEDEF_(0x80070006) +#define E_ABORT _HRESULT_TYPEDEF_(0x80004004) +#define E_FAIL _HRESULT_TYPEDEF_(0x80004005) +#define E_ACCESSDENIED _HRESULT_TYPEDEF_(0x80070005) +#define E_PENDING _HRESULT_TYPEDEF_(0x8000000A) +#define E_BOUNDS _HRESULT_TYPEDEF_(0x8000000B) +#define E_NOT_SET HRESULT_FROM_WIN32(ERROR_NOT_FOUND) +#define E_NOT_VALID_STATE HRESULT_FROM_WIN32(ERROR_INVALID_STATE) +#define E_NOT_SUFFICIENT_BUFFER HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) +#define E_TIME_SENSITIVE_THREAD HRESULT_FROM_WIN32(ERROR_TIME_SENSITIVE_THREAD) +#define E_NO_TASK_QUEUE HRESULT_FROM_WIN32(ERROR_NO_TASK_QUEUE) +#define CO_E_INIT_TLS _HRESULT_TYPEDEF_(0x80004006) +#define CO_E_INIT_SHARED_ALLOCATOR _HRESULT_TYPEDEF_(0x80004007) +#define CO_E_INIT_MEMORY_ALLOCATOR _HRESULT_TYPEDEF_(0x80004008) +#define CO_E_INIT_CLASS_CACHE _HRESULT_TYPEDEF_(0x80004009) +#define CO_E_INIT_RPC_CHANNEL _HRESULT_TYPEDEF_(0x8000400A) +#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL _HRESULT_TYPEDEF_(0x8000400B) +#define CO_E_INIT_TLS_CHANNEL_CONTROL _HRESULT_TYPEDEF_(0x8000400C) +#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR _HRESULT_TYPEDEF_(0x8000400D) +#define CO_E_INIT_SCM_MUTEX_EXISTS _HRESULT_TYPEDEF_(0x8000400E) +#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS _HRESULT_TYPEDEF_(0x8000400F) +#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE _HRESULT_TYPEDEF_(0x80004010) +#define CO_E_INIT_SCM_EXEC_FAILURE _HRESULT_TYPEDEF_(0x80004011) +#define CO_E_INIT_ONLY_SINGLE_THREADED _HRESULT_TYPEDEF_(0x80004012) +#define CO_E_CANT_REMOTE _HRESULT_TYPEDEF_(0x80004013) +#define CO_E_BAD_SERVER_NAME _HRESULT_TYPEDEF_(0x80004014) +#define CO_E_WRONG_SERVER_IDENTITY _HRESULT_TYPEDEF_(0x80004015) +#define CO_E_OLE1DDE_DISABLED _HRESULT_TYPEDEF_(0x80004016) +#define CO_E_RUNAS_SYNTAX _HRESULT_TYPEDEF_(0x80004017) +#define CO_E_CREATEPROCESS_FAILURE _HRESULT_TYPEDEF_(0x80004018) +#define CO_E_RUNAS_CREATEPROCESS_FAILURE _HRESULT_TYPEDEF_(0x80004019) +#define CO_E_RUNAS_LOGON_FAILURE _HRESULT_TYPEDEF_(0x8000401A) +#define CO_E_LAUNCH_PERMSSION_DENIED _HRESULT_TYPEDEF_(0x8000401B) +#define CO_E_START_SERVICE_FAILURE _HRESULT_TYPEDEF_(0x8000401C) +#define CO_E_REMOTE_COMMUNICATION_FAILURE _HRESULT_TYPEDEF_(0x8000401D) +#define CO_E_SERVER_START_TIMEOUT _HRESULT_TYPEDEF_(0x8000401E) +#define CO_E_CLSREG_INCONSISTENT _HRESULT_TYPEDEF_(0x8000401F) +#define CO_E_IIDREG_INCONSISTENT _HRESULT_TYPEDEF_(0x80004020) +#define CO_E_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80004021) +#define CO_E_RELOAD_DLL _HRESULT_TYPEDEF_(0x80004022) +#define CO_E_MSI_ERROR _HRESULT_TYPEDEF_(0x80004023) +#define CO_E_ATTEMPT_TO_CREATE_OUTSIDE_CLIENT_CONTEXT _HRESULT_TYPEDEF_(0x80004024) +#define CO_E_SERVER_PAUSED _HRESULT_TYPEDEF_(0x80004025) +#define CO_E_SERVER_NOT_PAUSED _HRESULT_TYPEDEF_(0x80004026) +#define CO_E_CLASS_DISABLED _HRESULT_TYPEDEF_(0x80004027) +#define CO_E_CLRNOTAVAILABLE _HRESULT_TYPEDEF_(0x80004028) +#define CO_E_ASYNC_WORK_REJECTED _HRESULT_TYPEDEF_(0x80004029) +#define CO_E_SERVER_INIT_TIMEOUT _HRESULT_TYPEDEF_(0x8000402A) +#define CO_E_NO_SECCTX_IN_ACTIVATE _HRESULT_TYPEDEF_(0x8000402B) +#define CO_E_TRACKER_CONFIG _HRESULT_TYPEDEF_(0x80004030) +#define CO_E_THREADPOOL_CONFIG _HRESULT_TYPEDEF_(0x80004031) +#define CO_E_SXS_CONFIG _HRESULT_TYPEDEF_(0x80004032) +#define CO_E_MALFORMED_SPN _HRESULT_TYPEDEF_(0x80004033) +#define S_OK ((HRESULT)0x00000000) +#define S_FALSE ((HRESULT)0x00000001) +#define OLE_E_FIRST ((HRESULT)0x80040000) +#define OLE_E_LAST ((HRESULT)0x800400FF) +#define OLE_S_FIRST ((HRESULT)0x00040000) +#define OLE_S_LAST ((HRESULT)0x000400FF) +#define OLE_E_OLEVERB _HRESULT_TYPEDEF_(0x80040000) +#define OLE_E_ADVF _HRESULT_TYPEDEF_(0x80040001) +#define OLE_E_ENUM_NOMORE _HRESULT_TYPEDEF_(0x80040002) +#define OLE_E_ADVISENOTSUPPORTED _HRESULT_TYPEDEF_(0x80040003) +#define OLE_E_NOCONNECTION _HRESULT_TYPEDEF_(0x80040004) +#define OLE_E_NOTRUNNING _HRESULT_TYPEDEF_(0x80040005) +#define OLE_E_NOCACHE _HRESULT_TYPEDEF_(0x80040006) +#define OLE_E_BLANK _HRESULT_TYPEDEF_(0x80040007) +#define OLE_E_CLASSDIFF _HRESULT_TYPEDEF_(0x80040008) +#define OLE_E_CANT_GETMONIKER _HRESULT_TYPEDEF_(0x80040009) +#define OLE_E_CANT_BINDTOSOURCE _HRESULT_TYPEDEF_(0x8004000A) +#define OLE_E_STATIC _HRESULT_TYPEDEF_(0x8004000B) +#define OLE_E_PROMPTSAVECANCELLED _HRESULT_TYPEDEF_(0x8004000C) +#define OLE_E_INVALIDRECT _HRESULT_TYPEDEF_(0x8004000D) +#define OLE_E_WRONGCOMPOBJ _HRESULT_TYPEDEF_(0x8004000E) +#define OLE_E_INVALIDHWND _HRESULT_TYPEDEF_(0x8004000F) +#define OLE_E_NOT_INPLACEACTIVE _HRESULT_TYPEDEF_(0x80040010) +#define OLE_E_CANTCONVERT _HRESULT_TYPEDEF_(0x80040011) +#define OLE_E_NOSTORAGE _HRESULT_TYPEDEF_(0x80040012) +#define DV_E_FORMATETC _HRESULT_TYPEDEF_(0x80040064) +#define DV_E_DVTARGETDEVICE _HRESULT_TYPEDEF_(0x80040065) +#define DV_E_STGMEDIUM _HRESULT_TYPEDEF_(0x80040066) +#define DV_E_STATDATA _HRESULT_TYPEDEF_(0x80040067) +#define DV_E_LINDEX _HRESULT_TYPEDEF_(0x80040068) +#define DV_E_TYMED _HRESULT_TYPEDEF_(0x80040069) +#define DV_E_CLIPFORMAT _HRESULT_TYPEDEF_(0x8004006A) +#define DV_E_DVASPECT _HRESULT_TYPEDEF_(0x8004006B) +#define DV_E_DVTARGETDEVICE_SIZE _HRESULT_TYPEDEF_(0x8004006C) +#define DV_E_NOIVIEWOBJECT _HRESULT_TYPEDEF_(0x8004006D) +#define DRAGDROP_E_FIRST __MSABI_LONG(0x80040100) +#define DRAGDROP_E_LAST __MSABI_LONG(0x8004010F) +#define DRAGDROP_S_FIRST __MSABI_LONG(0x00040100) +#define DRAGDROP_S_LAST __MSABI_LONG(0x0004010F) +#define DRAGDROP_E_NOTREGISTERED _HRESULT_TYPEDEF_(0x80040100) +#define DRAGDROP_E_ALREADYREGISTERED _HRESULT_TYPEDEF_(0x80040101) +#define DRAGDROP_E_INVALIDHWND _HRESULT_TYPEDEF_(0x80040102) +#define CLASSFACTORY_E_FIRST __MSABI_LONG(0x80040110) +#define CLASSFACTORY_E_LAST __MSABI_LONG(0x8004011F) +#define CLASSFACTORY_S_FIRST __MSABI_LONG(0x00040110) +#define CLASSFACTORY_S_LAST __MSABI_LONG(0x0004011F) +#define CLASS_E_NOAGGREGATION _HRESULT_TYPEDEF_(0x80040110) +#define CLASS_E_CLASSNOTAVAILABLE _HRESULT_TYPEDEF_(0x80040111) +#define CLASS_E_NOTLICENSED _HRESULT_TYPEDEF_(0x80040112) +#define MARSHAL_E_FIRST __MSABI_LONG(0x80040120) +#define MARSHAL_E_LAST __MSABI_LONG(0x8004012F) +#define MARSHAL_S_FIRST __MSABI_LONG(0x00040120) +#define MARSHAL_S_LAST __MSABI_LONG(0x0004012F) +#define DATA_E_FIRST __MSABI_LONG(0x80040130) +#define DATA_E_LAST __MSABI_LONG(0x8004013F) +#define DATA_S_FIRST __MSABI_LONG(0x00040130) +#define DATA_S_LAST __MSABI_LONG(0x0004013F) +#define VIEW_E_FIRST __MSABI_LONG(0x80040140) +#define VIEW_E_LAST __MSABI_LONG(0x8004014F) +#define VIEW_S_FIRST __MSABI_LONG(0x00040140) +#define VIEW_S_LAST __MSABI_LONG(0x0004014F) +#define VIEW_E_DRAW _HRESULT_TYPEDEF_(0x80040140) +#define REGDB_E_FIRST __MSABI_LONG(0x80040150) +#define REGDB_E_LAST __MSABI_LONG(0x8004015F) +#define REGDB_S_FIRST __MSABI_LONG(0x00040150) +#define REGDB_S_LAST __MSABI_LONG(0x0004015F) +#define REGDB_E_READREGDB _HRESULT_TYPEDEF_(0x80040150) +#define REGDB_E_WRITEREGDB _HRESULT_TYPEDEF_(0x80040151) +#define REGDB_E_KEYMISSING _HRESULT_TYPEDEF_(0x80040152) +#define REGDB_E_INVALIDVALUE _HRESULT_TYPEDEF_(0x80040153) +#define REGDB_E_CLASSNOTREG _HRESULT_TYPEDEF_(0x80040154) +#define REGDB_E_IIDNOTREG _HRESULT_TYPEDEF_(0x80040155) +#define REGDB_E_BADTHREADINGMODEL _HRESULT_TYPEDEF_(0x80040156) +#define CAT_E_FIRST __MSABI_LONG(0x80040160) +#define CAT_E_LAST __MSABI_LONG(0x80040161) +#define CAT_E_CATIDNOEXIST _HRESULT_TYPEDEF_(0x80040160) +#define CAT_E_NODESCRIPTION _HRESULT_TYPEDEF_(0x80040161) +#define CS_E_FIRST __MSABI_LONG(0x80040164) +#define CS_E_LAST __MSABI_LONG(0x8004016F) +#define CS_E_PACKAGE_NOTFOUND _HRESULT_TYPEDEF_(0x80040164) +#define CS_E_NOT_DELETABLE _HRESULT_TYPEDEF_(0x80040165) +#define CS_E_CLASS_NOTFOUND _HRESULT_TYPEDEF_(0x80040166) +#define CS_E_INVALID_VERSION _HRESULT_TYPEDEF_(0x80040167) +#define CS_E_NO_CLASSSTORE _HRESULT_TYPEDEF_(0x80040168) +#define CS_E_OBJECT_NOTFOUND _HRESULT_TYPEDEF_(0x80040169) +#define CS_E_OBJECT_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x8004016A) +#define CS_E_INVALID_PATH _HRESULT_TYPEDEF_(0x8004016B) +#define CS_E_NETWORK_ERROR _HRESULT_TYPEDEF_(0x8004016C) +#define CS_E_ADMIN_LIMIT_EXCEEDED _HRESULT_TYPEDEF_(0x8004016D) +#define CS_E_SCHEMA_MISMATCH _HRESULT_TYPEDEF_(0x8004016E) +#define CS_E_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x8004016F) +#define CACHE_E_FIRST __MSABI_LONG(0x80040170) +#define CACHE_E_LAST __MSABI_LONG(0x8004017F) +#define CACHE_S_FIRST __MSABI_LONG(0x00040170) +#define CACHE_S_LAST __MSABI_LONG(0x0004017F) +#define CACHE_E_NOCACHE_UPDATED _HRESULT_TYPEDEF_(0x80040170) +#define OLEOBJ_E_FIRST __MSABI_LONG(0x80040180) +#define OLEOBJ_E_LAST __MSABI_LONG(0x8004018F) +#define OLEOBJ_S_FIRST __MSABI_LONG(0x00040180) +#define OLEOBJ_S_LAST __MSABI_LONG(0x0004018F) +#define OLEOBJ_E_NOVERBS _HRESULT_TYPEDEF_(0x80040180) +#define OLEOBJ_E_INVALIDVERB _HRESULT_TYPEDEF_(0x80040181) +#define CLIENTSITE_E_FIRST __MSABI_LONG(0x80040190) +#define CLIENTSITE_E_LAST __MSABI_LONG(0x8004019F) +#define CLIENTSITE_S_FIRST __MSABI_LONG(0x00040190) +#define CLIENTSITE_S_LAST __MSABI_LONG(0x0004019F) +#define INPLACE_E_NOTUNDOABLE _HRESULT_TYPEDEF_(0x800401A0) +#define INPLACE_E_NOTOOLSPACE _HRESULT_TYPEDEF_(0x800401A1) +#define INPLACE_E_FIRST __MSABI_LONG(0x800401A0) +#define INPLACE_E_LAST __MSABI_LONG(0x800401AF) +#define INPLACE_S_FIRST __MSABI_LONG(0x000401A0) +#define INPLACE_S_LAST __MSABI_LONG(0x000401AF) +#define ENUM_E_FIRST __MSABI_LONG(0x800401B0) +#define ENUM_E_LAST __MSABI_LONG(0x800401BF) +#define ENUM_S_FIRST __MSABI_LONG(0x000401B0) +#define ENUM_S_LAST __MSABI_LONG(0x000401BF) +#define CONVERT10_E_FIRST __MSABI_LONG(0x800401C0) +#define CONVERT10_E_LAST __MSABI_LONG(0x800401CF) +#define CONVERT10_S_FIRST __MSABI_LONG(0x000401C0) +#define CONVERT10_S_LAST __MSABI_LONG(0x000401CF) +#define CONVERT10_E_OLESTREAM_GET _HRESULT_TYPEDEF_(0x800401C0) +#define CONVERT10_E_OLESTREAM_PUT _HRESULT_TYPEDEF_(0x800401C1) +#define CONVERT10_E_OLESTREAM_FMT _HRESULT_TYPEDEF_(0x800401C2) +#define CONVERT10_E_OLESTREAM_BITMAP_TO_DIB _HRESULT_TYPEDEF_(0x800401C3) +#define CONVERT10_E_STG_FMT _HRESULT_TYPEDEF_(0x800401C4) +#define CONVERT10_E_STG_NO_STD_STREAM _HRESULT_TYPEDEF_(0x800401C5) +#define CONVERT10_E_STG_DIB_TO_BITMAP _HRESULT_TYPEDEF_(0x800401C6) +#define CLIPBRD_E_FIRST __MSABI_LONG(0x800401D0) +#define CLIPBRD_E_LAST __MSABI_LONG(0x800401DF) +#define CLIPBRD_S_FIRST __MSABI_LONG(0x000401D0) +#define CLIPBRD_S_LAST __MSABI_LONG(0x000401DF) +#define CLIPBRD_E_CANT_OPEN _HRESULT_TYPEDEF_(0x800401D0) +#define CLIPBRD_E_CANT_EMPTY _HRESULT_TYPEDEF_(0x800401D1) +#define CLIPBRD_E_CANT_SET _HRESULT_TYPEDEF_(0x800401D2) +#define CLIPBRD_E_BAD_DATA _HRESULT_TYPEDEF_(0x800401D3) +#define CLIPBRD_E_CANT_CLOSE _HRESULT_TYPEDEF_(0x800401D4) +#define MK_E_FIRST __MSABI_LONG(0x800401E0) +#define MK_E_LAST __MSABI_LONG(0x800401EF) +#define MK_S_FIRST __MSABI_LONG(0x000401E0) +#define MK_S_LAST __MSABI_LONG(0x000401EF) +#define MK_E_CONNECTMANUALLY _HRESULT_TYPEDEF_(0x800401E0) +#define MK_E_EXCEEDEDDEADLINE _HRESULT_TYPEDEF_(0x800401E1) +#define MK_E_NEEDGENERIC _HRESULT_TYPEDEF_(0x800401E2) +#define MK_E_UNAVAILABLE _HRESULT_TYPEDEF_(0x800401E3) +#define MK_E_SYNTAX _HRESULT_TYPEDEF_(0x800401E4) +#define MK_E_NOOBJECT _HRESULT_TYPEDEF_(0x800401E5) +#define MK_E_INVALIDEXTENSION _HRESULT_TYPEDEF_(0x800401E6) +#define MK_E_INTERMEDIATEINTERFACENOTSUPPORTED _HRESULT_TYPEDEF_(0x800401E7) +#define MK_E_NOTBINDABLE _HRESULT_TYPEDEF_(0x800401E8) +#define MK_E_NOTBOUND _HRESULT_TYPEDEF_(0x800401E9) +#define MK_E_CANTOPENFILE _HRESULT_TYPEDEF_(0x800401EA) +#define MK_E_MUSTBOTHERUSER _HRESULT_TYPEDEF_(0x800401EB) +#define MK_E_NOINVERSE _HRESULT_TYPEDEF_(0x800401EC) +#define MK_E_NOSTORAGE _HRESULT_TYPEDEF_(0x800401ED) +#define MK_E_NOPREFIX _HRESULT_TYPEDEF_(0x800401EE) +#define MK_E_ENUMERATION_FAILED _HRESULT_TYPEDEF_(0x800401EF) +#define CO_E_FIRST __MSABI_LONG(0x800401F0) +#define CO_E_LAST __MSABI_LONG(0x800401FF) +#define CO_S_FIRST __MSABI_LONG(0x000401F0) +#define CO_S_LAST __MSABI_LONG(0x000401FF) +#define CO_E_NOTINITIALIZED _HRESULT_TYPEDEF_(0x800401F0) +#define CO_E_ALREADYINITIALIZED _HRESULT_TYPEDEF_(0x800401F1) +#define CO_E_CANTDETERMINECLASS _HRESULT_TYPEDEF_(0x800401F2) +#define CO_E_CLASSSTRING _HRESULT_TYPEDEF_(0x800401F3) +#define CO_E_IIDSTRING _HRESULT_TYPEDEF_(0x800401F4) +#define CO_E_APPNOTFOUND _HRESULT_TYPEDEF_(0x800401F5) +#define CO_E_APPSINGLEUSE _HRESULT_TYPEDEF_(0x800401F6) +#define CO_E_ERRORINAPP _HRESULT_TYPEDEF_(0x800401F7) +#define CO_E_DLLNOTFOUND _HRESULT_TYPEDEF_(0x800401F8) +#define CO_E_ERRORINDLL _HRESULT_TYPEDEF_(0x800401F9) +#define CO_E_WRONGOSFORAPP _HRESULT_TYPEDEF_(0x800401FA) +#define CO_E_OBJNOTREG _HRESULT_TYPEDEF_(0x800401FB) +#define CO_E_OBJISREG _HRESULT_TYPEDEF_(0x800401FC) +#define CO_E_OBJNOTCONNECTED _HRESULT_TYPEDEF_(0x800401FD) +#define CO_E_APPDIDNTREG _HRESULT_TYPEDEF_(0x800401FE) +#define CO_E_RELEASED _HRESULT_TYPEDEF_(0x800401FF) +#define EVENT_E_FIRST __MSABI_LONG(0x80040200) +#define EVENT_E_LAST __MSABI_LONG(0x8004021F) +#define EVENT_S_FIRST __MSABI_LONG(0x00040200) +#define EVENT_S_LAST __MSABI_LONG(0x0004021F) +#define EVENT_S_SOME_SUBSCRIBERS_FAILED _HRESULT_TYPEDEF_(0x00040200) +#define EVENT_E_ALL_SUBSCRIBERS_FAILED _HRESULT_TYPEDEF_(0x80040201) +#define EVENT_S_NOSUBSCRIBERS _HRESULT_TYPEDEF_(0x00040202) +#define EVENT_E_QUERYSYNTAX _HRESULT_TYPEDEF_(0x80040203) +#define EVENT_E_QUERYFIELD _HRESULT_TYPEDEF_(0x80040204) +#define EVENT_E_INTERNALEXCEPTION _HRESULT_TYPEDEF_(0x80040205) +#define EVENT_E_INTERNALERROR _HRESULT_TYPEDEF_(0x80040206) +#define EVENT_E_INVALID_PER_USER_SID _HRESULT_TYPEDEF_(0x80040207) +#define EVENT_E_USER_EXCEPTION _HRESULT_TYPEDEF_(0x80040208) +#define EVENT_E_TOO_MANY_METHODS _HRESULT_TYPEDEF_(0x80040209) +#define EVENT_E_MISSING_EVENTCLASS _HRESULT_TYPEDEF_(0x8004020A) +#define EVENT_E_NOT_ALL_REMOVED _HRESULT_TYPEDEF_(0x8004020B) +#define EVENT_E_COMPLUS_NOT_INSTALLED _HRESULT_TYPEDEF_(0x8004020C) +#define EVENT_E_CANT_MODIFY_OR_DELETE_UNCONFIGURED_OBJECT _HRESULT_TYPEDEF_(0x8004020D) +#define EVENT_E_CANT_MODIFY_OR_DELETE_CONFIGURED_OBJECT _HRESULT_TYPEDEF_(0x8004020E) +#define EVENT_E_INVALID_EVENT_CLASS_PARTITION _HRESULT_TYPEDEF_(0x8004020F) +#define EVENT_E_PER_USER_SID_NOT_LOGGED_ON _HRESULT_TYPEDEF_(0x80040210) +#define XACT_E_FIRST 0x8004D000 +#define XACT_E_LAST 0x8004D029 +#define XACT_S_FIRST 0x0004D000 +#define XACT_S_LAST 0x0004D010 +#define XACT_E_ALREADYOTHERSINGLEPHASE _HRESULT_TYPEDEF_(0x8004D000) +#define XACT_E_CANTRETAIN _HRESULT_TYPEDEF_(0x8004D001) +#define XACT_E_COMMITFAILED _HRESULT_TYPEDEF_(0x8004D002) +#define XACT_E_COMMITPREVENTED _HRESULT_TYPEDEF_(0x8004D003) +#define XACT_E_HEURISTICABORT _HRESULT_TYPEDEF_(0x8004D004) +#define XACT_E_HEURISTICCOMMIT _HRESULT_TYPEDEF_(0x8004D005) +#define XACT_E_HEURISTICDAMAGE _HRESULT_TYPEDEF_(0x8004D006) +#define XACT_E_HEURISTICDANGER _HRESULT_TYPEDEF_(0x8004D007) +#define XACT_E_ISOLATIONLEVEL _HRESULT_TYPEDEF_(0x8004D008) +#define XACT_E_NOASYNC _HRESULT_TYPEDEF_(0x8004D009) +#define XACT_E_NOENLIST _HRESULT_TYPEDEF_(0x8004D00A) +#define XACT_E_NOISORETAIN _HRESULT_TYPEDEF_(0x8004D00B) +#define XACT_E_NORESOURCE _HRESULT_TYPEDEF_(0x8004D00C) +#define XACT_E_NOTCURRENT _HRESULT_TYPEDEF_(0x8004D00D) +#define XACT_E_NOTRANSACTION _HRESULT_TYPEDEF_(0x8004D00E) +#define XACT_E_NOTSUPPORTED _HRESULT_TYPEDEF_(0x8004D00F) +#define XACT_E_UNKNOWNRMGRID _HRESULT_TYPEDEF_(0x8004D010) +#define XACT_E_WRONGSTATE _HRESULT_TYPEDEF_(0x8004D011) +#define XACT_E_WRONGUOW _HRESULT_TYPEDEF_(0x8004D012) +#define XACT_E_XTIONEXISTS _HRESULT_TYPEDEF_(0x8004D013) +#define XACT_E_NOIMPORTOBJECT _HRESULT_TYPEDEF_(0x8004D014) +#define XACT_E_INVALIDCOOKIE _HRESULT_TYPEDEF_(0x8004D015) +#define XACT_E_INDOUBT _HRESULT_TYPEDEF_(0x8004D016) +#define XACT_E_NOTIMEOUT _HRESULT_TYPEDEF_(0x8004D017) +#define XACT_E_ALREADYINPROGRESS _HRESULT_TYPEDEF_(0x8004D018) +#define XACT_E_ABORTED _HRESULT_TYPEDEF_(0x8004D019) +#define XACT_E_LOGFULL _HRESULT_TYPEDEF_(0x8004D01A) +#define XACT_E_TMNOTAVAILABLE _HRESULT_TYPEDEF_(0x8004D01B) +#define XACT_E_CONNECTION_DOWN _HRESULT_TYPEDEF_(0x8004D01C) +#define XACT_E_CONNECTION_DENIED _HRESULT_TYPEDEF_(0x8004D01D) +#define XACT_E_REENLISTTIMEOUT _HRESULT_TYPEDEF_(0x8004D01E) +#define XACT_E_TIP_CONNECT_FAILED _HRESULT_TYPEDEF_(0x8004D01F) +#define XACT_E_TIP_PROTOCOL_ERROR _HRESULT_TYPEDEF_(0x8004D020) +#define XACT_E_TIP_PULL_FAILED _HRESULT_TYPEDEF_(0x8004D021) +#define XACT_E_DEST_TMNOTAVAILABLE _HRESULT_TYPEDEF_(0x8004D022) +#define XACT_E_TIP_DISABLED _HRESULT_TYPEDEF_(0x8004D023) +#define XACT_E_NETWORK_TX_DISABLED _HRESULT_TYPEDEF_(0x8004D024) +#define XACT_E_PARTNER_NETWORK_TX_DISABLED _HRESULT_TYPEDEF_(0x8004D025) +#define XACT_E_XA_TX_DISABLED _HRESULT_TYPEDEF_(0x8004D026) +#define XACT_E_UNABLE_TO_READ_DTC_CONFIG _HRESULT_TYPEDEF_(0x8004D027) +#define XACT_E_UNABLE_TO_LOAD_DTC_PROXY _HRESULT_TYPEDEF_(0x8004D028) +#define XACT_E_ABORTING _HRESULT_TYPEDEF_(0x8004D029) +#define XACT_E_CLERKNOTFOUND _HRESULT_TYPEDEF_(0x8004D080) +#define XACT_E_CLERKEXISTS _HRESULT_TYPEDEF_(0x8004D081) +#define XACT_E_RECOVERYINPROGRESS _HRESULT_TYPEDEF_(0x8004D082) +#define XACT_E_TRANSACTIONCLOSED _HRESULT_TYPEDEF_(0x8004D083) +#define XACT_E_INVALIDLSN _HRESULT_TYPEDEF_(0x8004D084) +#define XACT_E_REPLAYREQUEST _HRESULT_TYPEDEF_(0x8004D085) +#define XACT_S_ASYNC _HRESULT_TYPEDEF_(0x0004D000) +#define XACT_S_DEFECT _HRESULT_TYPEDEF_(0x0004D001) +#define XACT_S_READONLY _HRESULT_TYPEDEF_(0x0004D002) +#define XACT_S_SOMENORETAIN _HRESULT_TYPEDEF_(0x0004D003) +#define XACT_S_OKINFORM _HRESULT_TYPEDEF_(0x0004D004) +#define XACT_S_MADECHANGESCONTENT _HRESULT_TYPEDEF_(0x0004D005) +#define XACT_S_MADECHANGESINFORM _HRESULT_TYPEDEF_(0x0004D006) +#define XACT_S_ALLNORETAIN _HRESULT_TYPEDEF_(0x0004D007) +#define XACT_S_ABORTING _HRESULT_TYPEDEF_(0x0004D008) +#define XACT_S_SINGLEPHASE _HRESULT_TYPEDEF_(0x0004D009) +#define XACT_S_LOCALLY_OK _HRESULT_TYPEDEF_(0x0004D00A) +#define XACT_S_LASTRESOURCEMANAGER _HRESULT_TYPEDEF_(0x0004D010) +#define CONTEXT_E_FIRST __MSABI_LONG(0x8004E000) +#define CONTEXT_E_LAST __MSABI_LONG(0x8004E02F) +#define CONTEXT_S_FIRST __MSABI_LONG(0x0004E000) +#define CONTEXT_S_LAST __MSABI_LONG(0x0004E02F) +#define CONTEXT_E_ABORTED _HRESULT_TYPEDEF_(0x8004E002) +#define CONTEXT_E_ABORTING _HRESULT_TYPEDEF_(0x8004E003) +#define CONTEXT_E_NOCONTEXT _HRESULT_TYPEDEF_(0x8004E004) +#define CONTEXT_E_WOULD_DEADLOCK _HRESULT_TYPEDEF_(0x8004E005) +#define CONTEXT_E_SYNCH_TIMEOUT _HRESULT_TYPEDEF_(0x8004E006) +#define CONTEXT_E_OLDREF _HRESULT_TYPEDEF_(0x8004E007) +#define CONTEXT_E_ROLENOTFOUND _HRESULT_TYPEDEF_(0x8004E00C) +#define CONTEXT_E_TMNOTAVAILABLE _HRESULT_TYPEDEF_(0x8004E00F) +#define CO_E_ACTIVATIONFAILED _HRESULT_TYPEDEF_(0x8004E021) +#define CO_E_ACTIVATIONFAILED_EVENTLOGGED _HRESULT_TYPEDEF_(0x8004E022) +#define CO_E_ACTIVATIONFAILED_CATALOGERROR _HRESULT_TYPEDEF_(0x8004E023) +#define CO_E_ACTIVATIONFAILED_TIMEOUT _HRESULT_TYPEDEF_(0x8004E024) +#define CO_E_INITIALIZATIONFAILED _HRESULT_TYPEDEF_(0x8004E025) +#define CONTEXT_E_NOJIT _HRESULT_TYPEDEF_(0x8004E026) +#define CONTEXT_E_NOTRANSACTION _HRESULT_TYPEDEF_(0x8004E027) +#define CO_E_THREADINGMODEL_CHANGED _HRESULT_TYPEDEF_(0x8004E028) +#define CO_E_NOIISINTRINSICS _HRESULT_TYPEDEF_(0x8004E029) +#define CO_E_NOCOOKIES _HRESULT_TYPEDEF_(0x8004E02A) +#define CO_E_DBERROR _HRESULT_TYPEDEF_(0x8004E02B) +#define CO_E_NOTPOOLED _HRESULT_TYPEDEF_(0x8004E02C) +#define CO_E_NOTCONSTRUCTED _HRESULT_TYPEDEF_(0x8004E02D) +#define CO_E_NOSYNCHRONIZATION _HRESULT_TYPEDEF_(0x8004E02E) +#define CO_E_ISOLEVELMISMATCH _HRESULT_TYPEDEF_(0x8004E02F) +#define OLE_S_USEREG _HRESULT_TYPEDEF_(0x00040000) +#define OLE_S_STATIC _HRESULT_TYPEDEF_(0x00040001) +#define OLE_S_MAC_CLIPFORMAT _HRESULT_TYPEDEF_(0x00040002) +#define DRAGDROP_S_DROP _HRESULT_TYPEDEF_(0x00040100) +#define DRAGDROP_S_CANCEL _HRESULT_TYPEDEF_(0x00040101) +#define DRAGDROP_S_USEDEFAULTCURSORS _HRESULT_TYPEDEF_(0x00040102) +#define DATA_S_SAMEFORMATETC _HRESULT_TYPEDEF_(0x00040130) +#define VIEW_S_ALREADY_FROZEN _HRESULT_TYPEDEF_(0x00040140) +#define CACHE_S_FORMATETC_NOTSUPPORTED _HRESULT_TYPEDEF_(0x00040170) +#define CACHE_S_SAMECACHE _HRESULT_TYPEDEF_(0x00040171) +#define CACHE_S_SOMECACHES_NOTUPDATED _HRESULT_TYPEDEF_(0x00040172) +#define OLEOBJ_S_INVALIDVERB _HRESULT_TYPEDEF_(0x00040180) +#define OLEOBJ_S_CANNOT_DOVERB_NOW _HRESULT_TYPEDEF_(0x00040181) +#define OLEOBJ_S_INVALIDHWND _HRESULT_TYPEDEF_(0x00040182) +#define INPLACE_S_TRUNCATED _HRESULT_TYPEDEF_(0x000401A0) +#define CONVERT10_S_NO_PRESENTATION _HRESULT_TYPEDEF_(0x000401C0) +#define MK_S_REDUCED_TO_SELF _HRESULT_TYPEDEF_(0x000401E2) +#define MK_S_ME _HRESULT_TYPEDEF_(0x000401E4) +#define MK_S_HIM _HRESULT_TYPEDEF_(0x000401E5) +#define MK_S_US _HRESULT_TYPEDEF_(0x000401E6) +#define MK_S_MONIKERALREADYREGISTERED _HRESULT_TYPEDEF_(0x000401E7) +#define SCHED_S_TASK_READY _HRESULT_TYPEDEF_(0x00041300) +#define SCHED_S_TASK_RUNNING _HRESULT_TYPEDEF_(0x00041301) +#define SCHED_S_TASK_DISABLED _HRESULT_TYPEDEF_(0x00041302) +#define SCHED_S_TASK_HAS_NOT_RUN _HRESULT_TYPEDEF_(0x00041303) +#define SCHED_S_TASK_NO_MORE_RUNS _HRESULT_TYPEDEF_(0x00041304) +#define SCHED_S_TASK_NOT_SCHEDULED _HRESULT_TYPEDEF_(0x00041305) +#define SCHED_S_TASK_TERMINATED _HRESULT_TYPEDEF_(0x00041306) +#define SCHED_S_TASK_NO_VALID_TRIGGERS _HRESULT_TYPEDEF_(0x00041307) +#define SCHED_S_EVENT_TRIGGER _HRESULT_TYPEDEF_(0x00041308) +#define SCHED_E_TRIGGER_NOT_FOUND _HRESULT_TYPEDEF_(0x80041309) +#define SCHED_E_TASK_NOT_READY _HRESULT_TYPEDEF_(0x8004130A) +#define SCHED_E_TASK_NOT_RUNNING _HRESULT_TYPEDEF_(0x8004130B) +#define SCHED_E_SERVICE_NOT_INSTALLED _HRESULT_TYPEDEF_(0x8004130C) +#define SCHED_E_CANNOT_OPEN_TASK _HRESULT_TYPEDEF_(0x8004130D) +#define SCHED_E_INVALID_TASK _HRESULT_TYPEDEF_(0x8004130E) +#define SCHED_E_ACCOUNT_INFORMATION_NOT_SET _HRESULT_TYPEDEF_(0x8004130F) +#define SCHED_E_ACCOUNT_NAME_NOT_FOUND _HRESULT_TYPEDEF_(0x80041310) +#define SCHED_E_ACCOUNT_DBASE_CORRUPT _HRESULT_TYPEDEF_(0x80041311) +#define SCHED_E_NO_SECURITY_SERVICES _HRESULT_TYPEDEF_(0x80041312) +#define SCHED_E_UNKNOWN_OBJECT_VERSION _HRESULT_TYPEDEF_(0x80041313) +#define SCHED_E_UNSUPPORTED_ACCOUNT_OPTION _HRESULT_TYPEDEF_(0x80041314) +#define SCHED_E_SERVICE_NOT_RUNNING _HRESULT_TYPEDEF_(0x80041315) +#define CO_E_CLASS_CREATE_FAILED _HRESULT_TYPEDEF_(0x80080001) +#define CO_E_SCM_ERROR _HRESULT_TYPEDEF_(0x80080002) +#define CO_E_SCM_RPC_FAILURE _HRESULT_TYPEDEF_(0x80080003) +#define CO_E_BAD_PATH _HRESULT_TYPEDEF_(0x80080004) +#define CO_E_SERVER_EXEC_FAILURE _HRESULT_TYPEDEF_(0x80080005) +#define CO_E_OBJSRV_RPC_FAILURE _HRESULT_TYPEDEF_(0x80080006) +#define MK_E_NO_NORMALIZED _HRESULT_TYPEDEF_(0x80080007) +#define CO_E_SERVER_STOPPING _HRESULT_TYPEDEF_(0x80080008) +#define MEM_E_INVALID_ROOT _HRESULT_TYPEDEF_(0x80080009) +#define MEM_E_INVALID_LINK _HRESULT_TYPEDEF_(0x80080010) +#define MEM_E_INVALID_SIZE _HRESULT_TYPEDEF_(0x80080011) +#define CO_S_NOTALLINTERFACES _HRESULT_TYPEDEF_(0x00080012) +#define CO_S_MACHINENAMENOTFOUND _HRESULT_TYPEDEF_(0x00080013) +#define DISP_E_UNKNOWNINTERFACE _HRESULT_TYPEDEF_(0x80020001) +#define DISP_E_MEMBERNOTFOUND _HRESULT_TYPEDEF_(0x80020003) +#define DISP_E_PARAMNOTFOUND _HRESULT_TYPEDEF_(0x80020004) +#define DISP_E_TYPEMISMATCH _HRESULT_TYPEDEF_(0x80020005) +#define DISP_E_UNKNOWNNAME _HRESULT_TYPEDEF_(0x80020006) +#define DISP_E_NONAMEDARGS _HRESULT_TYPEDEF_(0x80020007) +#define DISP_E_BADVARTYPE _HRESULT_TYPEDEF_(0x80020008) +#define DISP_E_EXCEPTION _HRESULT_TYPEDEF_(0x80020009) +#define DISP_E_OVERFLOW _HRESULT_TYPEDEF_(0x8002000A) +#define DISP_E_BADINDEX _HRESULT_TYPEDEF_(0x8002000B) +#define DISP_E_UNKNOWNLCID _HRESULT_TYPEDEF_(0x8002000C) +#define DISP_E_ARRAYISLOCKED _HRESULT_TYPEDEF_(0x8002000D) +#define DISP_E_BADPARAMCOUNT _HRESULT_TYPEDEF_(0x8002000E) +#define DISP_E_PARAMNOTOPTIONAL _HRESULT_TYPEDEF_(0x8002000F) +#define DISP_E_BADCALLEE _HRESULT_TYPEDEF_(0x80020010) +#define DISP_E_NOTACOLLECTION _HRESULT_TYPEDEF_(0x80020011) +#define DISP_E_DIVBYZERO _HRESULT_TYPEDEF_(0x80020012) +#define DISP_E_BUFFERTOOSMALL _HRESULT_TYPEDEF_(0x80020013) +#define TYPE_E_BUFFERTOOSMALL _HRESULT_TYPEDEF_(0x80028016) +#define TYPE_E_FIELDNOTFOUND _HRESULT_TYPEDEF_(0x80028017) +#define TYPE_E_INVDATAREAD _HRESULT_TYPEDEF_(0x80028018) +#define TYPE_E_UNSUPFORMAT _HRESULT_TYPEDEF_(0x80028019) +#define TYPE_E_REGISTRYACCESS _HRESULT_TYPEDEF_(0x8002801C) +#define TYPE_E_LIBNOTREGISTERED _HRESULT_TYPEDEF_(0x8002801D) +#define TYPE_E_UNDEFINEDTYPE _HRESULT_TYPEDEF_(0x80028027) +#define TYPE_E_QUALIFIEDNAMEDISALLOWED _HRESULT_TYPEDEF_(0x80028028) +#define TYPE_E_INVALIDSTATE _HRESULT_TYPEDEF_(0x80028029) +#define TYPE_E_WRONGTYPEKIND _HRESULT_TYPEDEF_(0x8002802A) +#define TYPE_E_ELEMENTNOTFOUND _HRESULT_TYPEDEF_(0x8002802B) +#define TYPE_E_AMBIGUOUSNAME _HRESULT_TYPEDEF_(0x8002802C) +#define TYPE_E_NAMECONFLICT _HRESULT_TYPEDEF_(0x8002802D) +#define TYPE_E_UNKNOWNLCID _HRESULT_TYPEDEF_(0x8002802E) +#define TYPE_E_DLLFUNCTIONNOTFOUND _HRESULT_TYPEDEF_(0x8002802F) +#define TYPE_E_BADMODULEKIND _HRESULT_TYPEDEF_(0x800288BD) +#define TYPE_E_SIZETOOBIG _HRESULT_TYPEDEF_(0x800288C5) +#define TYPE_E_DUPLICATEID _HRESULT_TYPEDEF_(0x800288C6) +#define TYPE_E_INVALIDID _HRESULT_TYPEDEF_(0x800288CF) +#define TYPE_E_TYPEMISMATCH _HRESULT_TYPEDEF_(0x80028CA0) +#define TYPE_E_OUTOFBOUNDS _HRESULT_TYPEDEF_(0x80028CA1) +#define TYPE_E_IOERROR _HRESULT_TYPEDEF_(0x80028CA2) +#define TYPE_E_CANTCREATETMPFILE _HRESULT_TYPEDEF_(0x80028CA3) +#define TYPE_E_CANTLOADLIBRARY _HRESULT_TYPEDEF_(0x80029C4A) +#define TYPE_E_INCONSISTENTPROPFUNCS _HRESULT_TYPEDEF_(0x80029C83) +#define TYPE_E_CIRCULARTYPE _HRESULT_TYPEDEF_(0x80029C84) +#define STG_E_INVALIDFUNCTION _HRESULT_TYPEDEF_(0x80030001) +#define STG_E_FILENOTFOUND _HRESULT_TYPEDEF_(0x80030002) +#define STG_E_PATHNOTFOUND _HRESULT_TYPEDEF_(0x80030003) +#define STG_E_TOOMANYOPENFILES _HRESULT_TYPEDEF_(0x80030004) +#define STG_E_ACCESSDENIED _HRESULT_TYPEDEF_(0x80030005) +#define STG_E_INVALIDHANDLE _HRESULT_TYPEDEF_(0x80030006) +#define STG_E_INSUFFICIENTMEMORY _HRESULT_TYPEDEF_(0x80030008) +#define STG_E_INVALIDPOINTER _HRESULT_TYPEDEF_(0x80030009) +#define STG_E_NOMOREFILES _HRESULT_TYPEDEF_(0x80030012) +#define STG_E_DISKISWRITEPROTECTED _HRESULT_TYPEDEF_(0x80030013) +#define STG_E_SEEKERROR _HRESULT_TYPEDEF_(0x80030019) +#define STG_E_WRITEFAULT _HRESULT_TYPEDEF_(0x8003001D) +#define STG_E_READFAULT _HRESULT_TYPEDEF_(0x8003001E) +#define STG_E_SHAREVIOLATION _HRESULT_TYPEDEF_(0x80030020) +#define STG_E_LOCKVIOLATION _HRESULT_TYPEDEF_(0x80030021) +#define STG_E_FILEALREADYEXISTS _HRESULT_TYPEDEF_(0x80030050) +#define STG_E_INVALIDPARAMETER _HRESULT_TYPEDEF_(0x80030057) +#define STG_E_MEDIUMFULL _HRESULT_TYPEDEF_(0x80030070) +#define STG_E_PROPSETMISMATCHED _HRESULT_TYPEDEF_(0x800300F0) +#define STG_E_ABNORMALAPIEXIT _HRESULT_TYPEDEF_(0x800300FA) +#define STG_E_INVALIDHEADER _HRESULT_TYPEDEF_(0x800300FB) +#define STG_E_INVALIDNAME _HRESULT_TYPEDEF_(0x800300FC) +#define STG_E_UNKNOWN _HRESULT_TYPEDEF_(0x800300FD) +#define STG_E_UNIMPLEMENTEDFUNCTION _HRESULT_TYPEDEF_(0x800300FE) +#define STG_E_INVALIDFLAG _HRESULT_TYPEDEF_(0x800300FF) +#define STG_E_INUSE _HRESULT_TYPEDEF_(0x80030100) +#define STG_E_NOTCURRENT _HRESULT_TYPEDEF_(0x80030101) +#define STG_E_REVERTED _HRESULT_TYPEDEF_(0x80030102) +#define STG_E_CANTSAVE _HRESULT_TYPEDEF_(0x80030103) +#define STG_E_OLDFORMAT _HRESULT_TYPEDEF_(0x80030104) +#define STG_E_OLDDLL _HRESULT_TYPEDEF_(0x80030105) +#define STG_E_SHAREREQUIRED _HRESULT_TYPEDEF_(0x80030106) +#define STG_E_NOTFILEBASEDSTORAGE _HRESULT_TYPEDEF_(0x80030107) +#define STG_E_EXTANTMARSHALLINGS _HRESULT_TYPEDEF_(0x80030108) +#define STG_E_DOCFILECORRUPT _HRESULT_TYPEDEF_(0x80030109) +#define STG_E_BADBASEADDRESS _HRESULT_TYPEDEF_(0x80030110) +#define STG_E_DOCFILETOOLARGE _HRESULT_TYPEDEF_(0x80030111) +#define STG_E_NOTSIMPLEFORMAT _HRESULT_TYPEDEF_(0x80030112) +#define STG_E_INCOMPLETE _HRESULT_TYPEDEF_(0x80030201) +#define STG_E_TERMINATED _HRESULT_TYPEDEF_(0x80030202) +#define STG_S_CONVERTED _HRESULT_TYPEDEF_(0x00030200) +#define STG_S_BLOCK _HRESULT_TYPEDEF_(0x00030201) +#define STG_S_RETRYNOW _HRESULT_TYPEDEF_(0x00030202) +#define STG_S_MONITORING _HRESULT_TYPEDEF_(0x00030203) +#define STG_S_MULTIPLEOPENS _HRESULT_TYPEDEF_(0x00030204) +#define STG_S_CONSOLIDATIONFAILED _HRESULT_TYPEDEF_(0x00030205) +#define STG_S_CANNOTCONSOLIDATE _HRESULT_TYPEDEF_(0x00030206) +#define STG_E_STATUS_COPY_PROTECTION_FAILURE _HRESULT_TYPEDEF_(0x80030305) +#define STG_E_CSS_AUTHENTICATION_FAILURE _HRESULT_TYPEDEF_(0x80030306) +#define STG_E_CSS_KEY_NOT_PRESENT _HRESULT_TYPEDEF_(0x80030307) +#define STG_E_CSS_KEY_NOT_ESTABLISHED _HRESULT_TYPEDEF_(0x80030308) +#define STG_E_CSS_SCRAMBLED_SECTOR _HRESULT_TYPEDEF_(0x80030309) +#define STG_E_CSS_REGION_MISMATCH _HRESULT_TYPEDEF_(0x8003030A) +#define STG_E_RESETS_EXHAUSTED _HRESULT_TYPEDEF_(0x8003030B) +#define RPC_E_CALL_REJECTED _HRESULT_TYPEDEF_(0x80010001) +#define RPC_E_CALL_CANCELED _HRESULT_TYPEDEF_(0x80010002) +#define RPC_E_CANTPOST_INSENDCALL _HRESULT_TYPEDEF_(0x80010003) +#define RPC_E_CANTCALLOUT_INASYNCCALL _HRESULT_TYPEDEF_(0x80010004) +#define RPC_E_CANTCALLOUT_INEXTERNALCALL _HRESULT_TYPEDEF_(0x80010005) +#define RPC_E_CONNECTION_TERMINATED _HRESULT_TYPEDEF_(0x80010006) +#define RPC_E_SERVER_DIED _HRESULT_TYPEDEF_(0x80010007) +#define RPC_E_CLIENT_DIED _HRESULT_TYPEDEF_(0x80010008) +#define RPC_E_INVALID_DATAPACKET _HRESULT_TYPEDEF_(0x80010009) +#define RPC_E_CANTTRANSMIT_CALL _HRESULT_TYPEDEF_(0x8001000A) +#define RPC_E_CLIENT_CANTMARSHAL_DATA _HRESULT_TYPEDEF_(0x8001000B) +#define RPC_E_CLIENT_CANTUNMARSHAL_DATA _HRESULT_TYPEDEF_(0x8001000C) +#define RPC_E_SERVER_CANTMARSHAL_DATA _HRESULT_TYPEDEF_(0x8001000D) +#define RPC_E_SERVER_CANTUNMARSHAL_DATA _HRESULT_TYPEDEF_(0x8001000E) +#define RPC_E_INVALID_DATA _HRESULT_TYPEDEF_(0x8001000F) +#define RPC_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80010010) +#define RPC_E_CANTCALLOUT_AGAIN _HRESULT_TYPEDEF_(0x80010011) +#define RPC_E_SERVER_DIED_DNE _HRESULT_TYPEDEF_(0x80010012) +#define RPC_E_SYS_CALL_FAILED _HRESULT_TYPEDEF_(0x80010100) +#define RPC_E_OUT_OF_RESOURCES _HRESULT_TYPEDEF_(0x80010101) +#define RPC_E_ATTEMPTED_MULTITHREAD _HRESULT_TYPEDEF_(0x80010102) +#define RPC_E_NOT_REGISTERED _HRESULT_TYPEDEF_(0x80010103) +#define RPC_E_FAULT _HRESULT_TYPEDEF_(0x80010104) +#define RPC_E_SERVERFAULT _HRESULT_TYPEDEF_(0x80010105) +#define RPC_E_CHANGED_MODE _HRESULT_TYPEDEF_(0x80010106) +#define RPC_E_INVALIDMETHOD _HRESULT_TYPEDEF_(0x80010107) +#define RPC_E_DISCONNECTED _HRESULT_TYPEDEF_(0x80010108) +#define RPC_E_RETRY _HRESULT_TYPEDEF_(0x80010109) +#define RPC_E_SERVERCALL_RETRYLATER _HRESULT_TYPEDEF_(0x8001010A) +#define RPC_E_SERVERCALL_REJECTED _HRESULT_TYPEDEF_(0x8001010B) +#define RPC_E_INVALID_CALLDATA _HRESULT_TYPEDEF_(0x8001010C) +#define RPC_E_CANTCALLOUT_ININPUTSYNCCALL _HRESULT_TYPEDEF_(0x8001010D) +#define RPC_E_WRONG_THREAD _HRESULT_TYPEDEF_(0x8001010E) +#define RPC_E_THREAD_NOT_INIT _HRESULT_TYPEDEF_(0x8001010F) +#define RPC_E_VERSION_MISMATCH _HRESULT_TYPEDEF_(0x80010110) +#define RPC_E_INVALID_HEADER _HRESULT_TYPEDEF_(0x80010111) +#define RPC_E_INVALID_EXTENSION _HRESULT_TYPEDEF_(0x80010112) +#define RPC_E_INVALID_IPID _HRESULT_TYPEDEF_(0x80010113) +#define RPC_E_INVALID_OBJECT _HRESULT_TYPEDEF_(0x80010114) +#define RPC_S_CALLPENDING _HRESULT_TYPEDEF_(0x80010115) +#define RPC_S_WAITONTIMER _HRESULT_TYPEDEF_(0x80010116) +#define RPC_E_CALL_COMPLETE _HRESULT_TYPEDEF_(0x80010117) +#define RPC_E_UNSECURE_CALL _HRESULT_TYPEDEF_(0x80010118) +#define RPC_E_TOO_LATE _HRESULT_TYPEDEF_(0x80010119) +#define RPC_E_NO_GOOD_SECURITY_PACKAGES _HRESULT_TYPEDEF_(0x8001011A) +#define RPC_E_ACCESS_DENIED _HRESULT_TYPEDEF_(0x8001011B) +#define RPC_E_REMOTE_DISABLED _HRESULT_TYPEDEF_(0x8001011C) +#define RPC_E_INVALID_OBJREF _HRESULT_TYPEDEF_(0x8001011D) +#define RPC_E_NO_CONTEXT _HRESULT_TYPEDEF_(0x8001011E) +#define RPC_E_TIMEOUT _HRESULT_TYPEDEF_(0x8001011F) +#define RPC_E_NO_SYNC _HRESULT_TYPEDEF_(0x80010120) +#define RPC_E_FULLSIC_REQUIRED _HRESULT_TYPEDEF_(0x80010121) +#define RPC_E_INVALID_STD_NAME _HRESULT_TYPEDEF_(0x80010122) +#define CO_E_FAILEDTOIMPERSONATE _HRESULT_TYPEDEF_(0x80010123) +#define CO_E_FAILEDTOGETSECCTX _HRESULT_TYPEDEF_(0x80010124) +#define CO_E_FAILEDTOOPENTHREADTOKEN _HRESULT_TYPEDEF_(0x80010125) +#define CO_E_FAILEDTOGETTOKENINFO _HRESULT_TYPEDEF_(0x80010126) +#define CO_E_TRUSTEEDOESNTMATCHCLIENT _HRESULT_TYPEDEF_(0x80010127) +#define CO_E_FAILEDTOQUERYCLIENTBLANKET _HRESULT_TYPEDEF_(0x80010128) +#define CO_E_FAILEDTOSETDACL _HRESULT_TYPEDEF_(0x80010129) +#define CO_E_ACCESSCHECKFAILED _HRESULT_TYPEDEF_(0x8001012A) +#define CO_E_NETACCESSAPIFAILED _HRESULT_TYPEDEF_(0x8001012B) +#define CO_E_WRONGTRUSTEENAMESYNTAX _HRESULT_TYPEDEF_(0x8001012C) +#define CO_E_INVALIDSID _HRESULT_TYPEDEF_(0x8001012D) +#define CO_E_CONVERSIONFAILED _HRESULT_TYPEDEF_(0x8001012E) +#define CO_E_NOMATCHINGSIDFOUND _HRESULT_TYPEDEF_(0x8001012F) +#define CO_E_LOOKUPACCSIDFAILED _HRESULT_TYPEDEF_(0x80010130) +#define CO_E_NOMATCHINGNAMEFOUND _HRESULT_TYPEDEF_(0x80010131) +#define CO_E_LOOKUPACCNAMEFAILED _HRESULT_TYPEDEF_(0x80010132) +#define CO_E_SETSERLHNDLFAILED _HRESULT_TYPEDEF_(0x80010133) +#define CO_E_FAILEDTOGETWINDIR _HRESULT_TYPEDEF_(0x80010134) +#define CO_E_PATHTOOLONG _HRESULT_TYPEDEF_(0x80010135) +#define CO_E_FAILEDTOGENUUID _HRESULT_TYPEDEF_(0x80010136) +#define CO_E_FAILEDTOCREATEFILE _HRESULT_TYPEDEF_(0x80010137) +#define CO_E_FAILEDTOCLOSEHANDLE _HRESULT_TYPEDEF_(0x80010138) +#define CO_E_EXCEEDSYSACLLIMIT _HRESULT_TYPEDEF_(0x80010139) +#define CO_E_ACESINWRONGORDER _HRESULT_TYPEDEF_(0x8001013A) +#define CO_E_INCOMPATIBLESTREAMVERSION _HRESULT_TYPEDEF_(0x8001013B) +#define CO_E_FAILEDTOOPENPROCESSTOKEN _HRESULT_TYPEDEF_(0x8001013C) +#define CO_E_DECODEFAILED _HRESULT_TYPEDEF_(0x8001013D) +#define CO_E_ACNOTINITIALIZED _HRESULT_TYPEDEF_(0x8001013F) +#define CO_E_CANCEL_DISABLED _HRESULT_TYPEDEF_(0x80010140) +#define RPC_E_UNEXPECTED _HRESULT_TYPEDEF_(0x8001FFFF) +#define ERROR_AUDITING_DISABLED _HRESULT_TYPEDEF_(0xC0090001) +#define ERROR_ALL_SIDS_FILTERED _HRESULT_TYPEDEF_(0xC0090002) +#define NTE_BAD_UID _HRESULT_TYPEDEF_(0x80090001) +#define NTE_BAD_HASH _HRESULT_TYPEDEF_(0x80090002) +#define NTE_BAD_KEY _HRESULT_TYPEDEF_(0x80090003) +#define NTE_BAD_LEN _HRESULT_TYPEDEF_(0x80090004) +#define NTE_BAD_DATA _HRESULT_TYPEDEF_(0x80090005) +#define NTE_BAD_SIGNATURE _HRESULT_TYPEDEF_(0x80090006) +#define NTE_BAD_VER _HRESULT_TYPEDEF_(0x80090007) +#define NTE_BAD_ALGID _HRESULT_TYPEDEF_(0x80090008) +#define NTE_BAD_FLAGS _HRESULT_TYPEDEF_(0x80090009) +#define NTE_BAD_TYPE _HRESULT_TYPEDEF_(0x8009000A) +#define NTE_BAD_KEY_STATE _HRESULT_TYPEDEF_(0x8009000B) +#define NTE_BAD_HASH_STATE _HRESULT_TYPEDEF_(0x8009000C) +#define NTE_NO_KEY _HRESULT_TYPEDEF_(0x8009000D) +#define NTE_NO_MEMORY _HRESULT_TYPEDEF_(0x8009000E) +#define NTE_EXISTS _HRESULT_TYPEDEF_(0x8009000F) +#define NTE_PERM _HRESULT_TYPEDEF_(0x80090010) +#define NTE_NOT_FOUND _HRESULT_TYPEDEF_(0x80090011) +#define NTE_DOUBLE_ENCRYPT _HRESULT_TYPEDEF_(0x80090012) +#define NTE_BAD_PROVIDER _HRESULT_TYPEDEF_(0x80090013) +#define NTE_BAD_PROV_TYPE _HRESULT_TYPEDEF_(0x80090014) +#define NTE_BAD_PUBLIC_KEY _HRESULT_TYPEDEF_(0x80090015) +#define NTE_BAD_KEYSET _HRESULT_TYPEDEF_(0x80090016) +#define NTE_PROV_TYPE_NOT_DEF _HRESULT_TYPEDEF_(0x80090017) +#define NTE_PROV_TYPE_ENTRY_BAD _HRESULT_TYPEDEF_(0x80090018) +#define NTE_KEYSET_NOT_DEF _HRESULT_TYPEDEF_(0x80090019) +#define NTE_KEYSET_ENTRY_BAD _HRESULT_TYPEDEF_(0x8009001A) +#define NTE_PROV_TYPE_NO_MATCH _HRESULT_TYPEDEF_(0x8009001B) +#define NTE_SIGNATURE_FILE_BAD _HRESULT_TYPEDEF_(0x8009001C) +#define NTE_PROVIDER_DLL_FAIL _HRESULT_TYPEDEF_(0x8009001D) +#define NTE_PROV_DLL_NOT_FOUND _HRESULT_TYPEDEF_(0x8009001E) +#define NTE_BAD_KEYSET_PARAM _HRESULT_TYPEDEF_(0x8009001F) +#define NTE_FAIL _HRESULT_TYPEDEF_(0x80090020) +#define NTE_SYS_ERR _HRESULT_TYPEDEF_(0x80090021) +#define NTE_SILENT_CONTEXT _HRESULT_TYPEDEF_(0x80090022) +#define NTE_TOKEN_KEYSET_STORAGE_FULL _HRESULT_TYPEDEF_(0x80090023) +#define NTE_TEMPORARY_PROFILE _HRESULT_TYPEDEF_(0x80090024) +#define NTE_FIXEDPARAMETER _HRESULT_TYPEDEF_(0x80090025) +#define NTE_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090026) +#define NTE_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80090027) +#define NTE_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0x80090028) +#define NTE_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80090029) +#define NTE_NO_MORE_ITEMS _HRESULT_TYPEDEF_(0x8009002A) +#define NTE_BUFFERS_OVERLAP _HRESULT_TYPEDEF_(0x8009002B) +#define NTE_DECRYPTION_FAILURE _HRESULT_TYPEDEF_(0x8009002C) +#define NTE_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x8009002D) +#define NTE_UI_REQUIRED _HRESULT_TYPEDEF_(0x8009002E) +#define NTE_HMAC_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009002F) +#define NTE_DEVICE_NOT_READY _HRESULT_TYPEDEF_(0x80090030) +#define NTE_AUTHENTICATION_IGNORED _HRESULT_TYPEDEF_(0x80090031) +#define NTE_VALIDATION_FAILED _HRESULT_TYPEDEF_(0x80090032) +#define NTE_INCORRECT_PASSWORD _HRESULT_TYPEDEF_(0x80090033) +#define NTE_ENCRYPTION_FAILURE _HRESULT_TYPEDEF_(0x80090034) +#define NTE_DEVICE_NOT_FOUND _HRESULT_TYPEDEF_(0x80090035) +#define NTE_USER_CANCELLED _HRESULT_TYPEDEF_(0x80090036) +#define NTE_PASSWORD_CHANGE_REQUIRED _HRESULT_TYPEDEF_(0x80090037) +#define NTE_NOT_ACTIVE_CONSOLE _HRESULT_TYPEDEF_(0x80090038) +#define SEC_E_INSUFFICIENT_MEMORY _HRESULT_TYPEDEF_(0x80090300) +#define SEC_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80090301) +#define SEC_E_UNSUPPORTED_FUNCTION _HRESULT_TYPEDEF_(0x80090302) +#define SEC_E_TARGET_UNKNOWN _HRESULT_TYPEDEF_(0x80090303) +#define SEC_E_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x80090304) +#define SEC_E_SECPKG_NOT_FOUND _HRESULT_TYPEDEF_(0x80090305) +#define SEC_E_NOT_OWNER _HRESULT_TYPEDEF_(0x80090306) +#define SEC_E_CANNOT_INSTALL _HRESULT_TYPEDEF_(0x80090307) +#define SEC_E_INVALID_TOKEN _HRESULT_TYPEDEF_(0x80090308) +#define SEC_E_CANNOT_PACK _HRESULT_TYPEDEF_(0x80090309) +#define SEC_E_QOP_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009030A) +#define SEC_E_NO_IMPERSONATION _HRESULT_TYPEDEF_(0x8009030B) +#define SEC_E_LOGON_DENIED _HRESULT_TYPEDEF_(0x8009030C) +#define SEC_E_UNKNOWN_CREDENTIALS _HRESULT_TYPEDEF_(0x8009030D) +#define SEC_E_NO_CREDENTIALS _HRESULT_TYPEDEF_(0x8009030E) +#define SEC_E_MESSAGE_ALTERED _HRESULT_TYPEDEF_(0x8009030F) +#define SEC_E_OUT_OF_SEQUENCE _HRESULT_TYPEDEF_(0x80090310) +#define SEC_E_NO_AUTHENTICATING_AUTHORITY _HRESULT_TYPEDEF_(0x80090311) +#define SEC_I_CONTINUE_NEEDED _HRESULT_TYPEDEF_(0x00090312) +#define SEC_I_COMPLETE_NEEDED _HRESULT_TYPEDEF_(0x00090313) +#define SEC_I_COMPLETE_AND_CONTINUE _HRESULT_TYPEDEF_(0x00090314) +#define SEC_I_LOCAL_LOGON _HRESULT_TYPEDEF_(0x00090315) +#define SEC_I_GENERIC_EXTENSION_RECEIVED _HRESULT_TYPEDEF_(0x00090316) +#define SEC_E_BAD_PKGID _HRESULT_TYPEDEF_(0x80090316) +#define SEC_E_CONTEXT_EXPIRED _HRESULT_TYPEDEF_(0x80090317) +#define SEC_I_CONTEXT_EXPIRED _HRESULT_TYPEDEF_(0x00090317) +#define SEC_E_INCOMPLETE_MESSAGE _HRESULT_TYPEDEF_(0x80090318) +#define SEC_E_INCOMPLETE_CREDENTIALS _HRESULT_TYPEDEF_(0x80090320) +#define SEC_E_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0x80090321) +#define SEC_I_INCOMPLETE_CREDENTIALS _HRESULT_TYPEDEF_(0x00090320) +#define SEC_I_RENEGOTIATE _HRESULT_TYPEDEF_(0x00090321) +#define SEC_E_WRONG_PRINCIPAL _HRESULT_TYPEDEF_(0x80090322) +#define SEC_I_NO_LSA_CONTEXT _HRESULT_TYPEDEF_(0x00090323) +#define SEC_E_TIME_SKEW _HRESULT_TYPEDEF_(0x80090324) +#define SEC_E_UNTRUSTED_ROOT _HRESULT_TYPEDEF_(0x80090325) +#define SEC_E_ILLEGAL_MESSAGE _HRESULT_TYPEDEF_(0x80090326) +#define SEC_E_CERT_UNKNOWN _HRESULT_TYPEDEF_(0x80090327) +#define SEC_E_CERT_EXPIRED _HRESULT_TYPEDEF_(0x80090328) +#define SEC_E_ENCRYPT_FAILURE _HRESULT_TYPEDEF_(0x80090329) +#define SEC_E_DECRYPT_FAILURE _HRESULT_TYPEDEF_(0x80090330) +#define SEC_E_ALGORITHM_MISMATCH _HRESULT_TYPEDEF_(0x80090331) +#define SEC_E_SECURITY_QOS_FAILED _HRESULT_TYPEDEF_(0x80090332) +#define SEC_E_UNFINISHED_CONTEXT_DELETED _HRESULT_TYPEDEF_(0x80090333) +#define SEC_E_NO_TGT_REPLY _HRESULT_TYPEDEF_(0x80090334) +#define SEC_E_NO_IP_ADDRESSES _HRESULT_TYPEDEF_(0x80090335) +#define SEC_E_WRONG_CREDENTIAL_HANDLE _HRESULT_TYPEDEF_(0x80090336) +#define SEC_E_CRYPTO_SYSTEM_INVALID _HRESULT_TYPEDEF_(0x80090337) +#define SEC_E_MAX_REFERRALS_EXCEEDED _HRESULT_TYPEDEF_(0x80090338) +#define SEC_E_MUST_BE_KDC _HRESULT_TYPEDEF_(0x80090339) +#define SEC_E_STRONG_CRYPTO_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009033A) +#define SEC_E_TOO_MANY_PRINCIPALS _HRESULT_TYPEDEF_(0x8009033B) +#define SEC_E_NO_PA_DATA _HRESULT_TYPEDEF_(0x8009033C) +#define SEC_E_PKINIT_NAME_MISMATCH _HRESULT_TYPEDEF_(0x8009033D) +#define SEC_E_SMARTCARD_LOGON_REQUIRED _HRESULT_TYPEDEF_(0x8009033E) +#define SEC_E_SHUTDOWN_IN_PROGRESS _HRESULT_TYPEDEF_(0x8009033F) +#define SEC_E_KDC_INVALID_REQUEST _HRESULT_TYPEDEF_(0x80090340) +#define SEC_E_KDC_UNABLE_TO_REFER _HRESULT_TYPEDEF_(0x80090341) +#define SEC_E_KDC_UNKNOWN_ETYPE _HRESULT_TYPEDEF_(0x80090342) +#define SEC_E_UNSUPPORTED_PREAUTH _HRESULT_TYPEDEF_(0x80090343) +#define SEC_E_DELEGATION_REQUIRED _HRESULT_TYPEDEF_(0x80090345) +#define SEC_E_BAD_BINDINGS _HRESULT_TYPEDEF_(0x80090346) +#define SEC_E_MULTIPLE_ACCOUNTS _HRESULT_TYPEDEF_(0x80090347) +#define SEC_E_NO_KERB_KEY _HRESULT_TYPEDEF_(0x80090348) +#define SEC_E_CERT_WRONG_USAGE _HRESULT_TYPEDEF_(0x80090349) +#define SEC_E_DOWNGRADE_DETECTED _HRESULT_TYPEDEF_(0x80090350) +#define SEC_E_SMARTCARD_CERT_REVOKED _HRESULT_TYPEDEF_(0x80090351) +#define SEC_E_ISSUING_CA_UNTRUSTED _HRESULT_TYPEDEF_(0x80090352) +#define SEC_E_REVOCATION_OFFLINE_C _HRESULT_TYPEDEF_(0x80090353) +#define SEC_E_PKINIT_CLIENT_FAILURE _HRESULT_TYPEDEF_(0x80090354) +#define SEC_E_SMARTCARD_CERT_EXPIRED _HRESULT_TYPEDEF_(0x80090355) +#define SEC_E_NO_S4U_PROT_SUPPORT _HRESULT_TYPEDEF_(0x80090356) +#define SEC_E_CROSSREALM_DELEGATION_FAILURE _HRESULT_TYPEDEF_(0x80090357) +#define SEC_E_REVOCATION_OFFLINE_KDC _HRESULT_TYPEDEF_(0x80090358) +#define SEC_E_ISSUING_CA_UNTRUSTED_KDC _HRESULT_TYPEDEF_(0x80090359) +#define SEC_E_KDC_CERT_EXPIRED _HRESULT_TYPEDEF_(0x8009035A) +#define SEC_E_KDC_CERT_REVOKED _HRESULT_TYPEDEF_(0x8009035B) +#define SEC_I_SIGNATURE_NEEDED _HRESULT_TYPEDEF_(0x0009035C) +#define SEC_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x8009035D) +#define SEC_E_DELEGATION_POLICY _HRESULT_TYPEDEF_(0x8009035E) +#define SEC_E_POLICY_NLTM_ONLY _HRESULT_TYPEDEF_(0x8009035F) +#define SEC_I_NO_RENEGOTIATION _HRESULT_TYPEDEF_(0x00090360) +#define SEC_E_NO_CONTEXT _HRESULT_TYPEDEF_(0x80090361) +#define SEC_E_PKU2U_CERT_FAILURE _HRESULT_TYPEDEF_(0x80090362) +#define SEC_E_MUTUAL_AUTH_FAILED _HRESULT_TYPEDEF_(0x80090363) +#define SEC_I_MESSAGE_FRAGMENT _HRESULT_TYPEDEF_(0x00090364) +#define SEC_E_ONLY_HTTPS_ALLOWED _HRESULT_TYPEDEF_(0x80090365) +#define SEC_I_CONTINUE_NEEDED_MESSAGE_OK _HRESULT_TYPEDEF_(0x00090366) +#define SEC_E_APPLICATION_PROTOCOL_MISMATCH _HRESULT_TYPEDEF_(0x80090367) +#define SEC_I_ASYNC_CALL_PENDING _HRESULT_TYPEDEF_(0x00090368) +#define SEC_E_INVALID_UPN_NAME _HRESULT_TYPEDEF_(0x80090369) +#define SEC_E_EXT_BUFFER_TOO_SMALL _HRESULT_TYPEDEF_(0x8009036A) +#define SEC_E_INSUFFICIENT_BUFFERS _HRESULT_TYPEDEF_(0x8009036B) +#define SEC_E_NO_SPM SEC_E_INTERNAL_ERROR +#define SEC_E_NOT_SUPPORTED SEC_E_UNSUPPORTED_FUNCTION +#define CRYPT_E_MSG_ERROR _HRESULT_TYPEDEF_(0x80091001) +#define CRYPT_E_UNKNOWN_ALGO _HRESULT_TYPEDEF_(0x80091002) +#define CRYPT_E_OID_FORMAT _HRESULT_TYPEDEF_(0x80091003) +#define CRYPT_E_INVALID_MSG_TYPE _HRESULT_TYPEDEF_(0x80091004) +#define CRYPT_E_UNEXPECTED_ENCODING _HRESULT_TYPEDEF_(0x80091005) +#define CRYPT_E_AUTH_ATTR_MISSING _HRESULT_TYPEDEF_(0x80091006) +#define CRYPT_E_HASH_VALUE _HRESULT_TYPEDEF_(0x80091007) +#define CRYPT_E_INVALID_INDEX _HRESULT_TYPEDEF_(0x80091008) +#define CRYPT_E_ALREADY_DECRYPTED _HRESULT_TYPEDEF_(0x80091009) +#define CRYPT_E_NOT_DECRYPTED _HRESULT_TYPEDEF_(0x8009100A) +#define CRYPT_E_RECIPIENT_NOT_FOUND _HRESULT_TYPEDEF_(0x8009100B) +#define CRYPT_E_CONTROL_TYPE _HRESULT_TYPEDEF_(0x8009100C) +#define CRYPT_E_ISSUER_SERIALNUMBER _HRESULT_TYPEDEF_(0x8009100D) +#define CRYPT_E_SIGNER_NOT_FOUND _HRESULT_TYPEDEF_(0x8009100E) +#define CRYPT_E_ATTRIBUTES_MISSING _HRESULT_TYPEDEF_(0x8009100F) +#define CRYPT_E_STREAM_MSG_NOT_READY _HRESULT_TYPEDEF_(0x80091010) +#define CRYPT_E_STREAM_INSUFFICIENT_DATA _HRESULT_TYPEDEF_(0x80091011) +#define CRYPT_I_NEW_PROTECTION_REQUIRED _HRESULT_TYPEDEF_(0x00091012) +#define CRYPT_E_BAD_LEN _HRESULT_TYPEDEF_(0x80092001) +#define CRYPT_E_BAD_ENCODE _HRESULT_TYPEDEF_(0x80092002) +#define CRYPT_E_FILE_ERROR _HRESULT_TYPEDEF_(0x80092003) +#define CRYPT_E_NOT_FOUND _HRESULT_TYPEDEF_(0x80092004) +#define CRYPT_E_EXISTS _HRESULT_TYPEDEF_(0x80092005) +#define CRYPT_E_NO_PROVIDER _HRESULT_TYPEDEF_(0x80092006) +#define CRYPT_E_SELF_SIGNED _HRESULT_TYPEDEF_(0x80092007) +#define CRYPT_E_DELETED_PREV _HRESULT_TYPEDEF_(0x80092008) +#define CRYPT_E_NO_MATCH _HRESULT_TYPEDEF_(0x80092009) +#define CRYPT_E_UNEXPECTED_MSG_TYPE _HRESULT_TYPEDEF_(0x8009200A) +#define CRYPT_E_NO_KEY_PROPERTY _HRESULT_TYPEDEF_(0x8009200B) +#define CRYPT_E_NO_DECRYPT_CERT _HRESULT_TYPEDEF_(0x8009200C) +#define CRYPT_E_BAD_MSG _HRESULT_TYPEDEF_(0x8009200D) +#define CRYPT_E_NO_SIGNER _HRESULT_TYPEDEF_(0x8009200E) +#define CRYPT_E_PENDING_CLOSE _HRESULT_TYPEDEF_(0x8009200F) +#define CRYPT_E_REVOKED _HRESULT_TYPEDEF_(0x80092010) +#define CRYPT_E_NO_REVOCATION_DLL _HRESULT_TYPEDEF_(0x80092011) +#define CRYPT_E_NO_REVOCATION_CHECK _HRESULT_TYPEDEF_(0x80092012) +#define CRYPT_E_REVOCATION_OFFLINE _HRESULT_TYPEDEF_(0x80092013) +#define CRYPT_E_NOT_IN_REVOCATION_DATABASE _HRESULT_TYPEDEF_(0x80092014) +#define CRYPT_E_INVALID_NUMERIC_STRING _HRESULT_TYPEDEF_(0x80092020) +#define CRYPT_E_INVALID_PRINTABLE_STRING _HRESULT_TYPEDEF_(0x80092021) +#define CRYPT_E_INVALID_IA5_STRING _HRESULT_TYPEDEF_(0x80092022) +#define CRYPT_E_INVALID_X500_STRING _HRESULT_TYPEDEF_(0x80092023) +#define CRYPT_E_NOT_CHAR_STRING _HRESULT_TYPEDEF_(0x80092024) +#define CRYPT_E_FILERESIZED _HRESULT_TYPEDEF_(0x80092025) +#define CRYPT_E_SECURITY_SETTINGS _HRESULT_TYPEDEF_(0x80092026) +#define CRYPT_E_NO_VERIFY_USAGE_DLL _HRESULT_TYPEDEF_(0x80092027) +#define CRYPT_E_NO_VERIFY_USAGE_CHECK _HRESULT_TYPEDEF_(0x80092028) +#define CRYPT_E_VERIFY_USAGE_OFFLINE _HRESULT_TYPEDEF_(0x80092029) +#define CRYPT_E_NOT_IN_CTL _HRESULT_TYPEDEF_(0x8009202A) +#define CRYPT_E_NO_TRUSTED_SIGNER _HRESULT_TYPEDEF_(0x8009202B) +#define CRYPT_E_MISSING_PUBKEY_PARA _HRESULT_TYPEDEF_(0x8009202C) +#define CRYPT_E_OSS_ERROR _HRESULT_TYPEDEF_(0x80093000) +#define OSS_MORE_BUF _HRESULT_TYPEDEF_(0x80093001) +#define OSS_NEGATIVE_UINTEGER _HRESULT_TYPEDEF_(0x80093002) +#define OSS_PDU_RANGE _HRESULT_TYPEDEF_(0x80093003) +#define OSS_MORE_INPUT _HRESULT_TYPEDEF_(0x80093004) +#define OSS_DATA_ERROR _HRESULT_TYPEDEF_(0x80093005) +#define OSS_BAD_ARG _HRESULT_TYPEDEF_(0x80093006) +#define OSS_BAD_VERSION _HRESULT_TYPEDEF_(0x80093007) +#define OSS_OUT_MEMORY _HRESULT_TYPEDEF_(0x80093008) +#define OSS_PDU_MISMATCH _HRESULT_TYPEDEF_(0x80093009) +#define OSS_LIMITED _HRESULT_TYPEDEF_(0x8009300A) +#define OSS_BAD_PTR _HRESULT_TYPEDEF_(0x8009300B) +#define OSS_BAD_TIME _HRESULT_TYPEDEF_(0x8009300C) +#define OSS_INDEFINITE_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009300D) +#define OSS_MEM_ERROR _HRESULT_TYPEDEF_(0x8009300E) +#define OSS_BAD_TABLE _HRESULT_TYPEDEF_(0x8009300F) +#define OSS_TOO_LONG _HRESULT_TYPEDEF_(0x80093010) +#define OSS_CONSTRAINT_VIOLATED _HRESULT_TYPEDEF_(0x80093011) +#define OSS_FATAL_ERROR _HRESULT_TYPEDEF_(0x80093012) +#define OSS_ACCESS_SERIALIZATION_ERROR _HRESULT_TYPEDEF_(0x80093013) +#define OSS_NULL_TBL _HRESULT_TYPEDEF_(0x80093014) +#define OSS_NULL_FCN _HRESULT_TYPEDEF_(0x80093015) +#define OSS_BAD_ENCRULES _HRESULT_TYPEDEF_(0x80093016) +#define OSS_UNAVAIL_ENCRULES _HRESULT_TYPEDEF_(0x80093017) +#define OSS_CANT_OPEN_TRACE_WINDOW _HRESULT_TYPEDEF_(0x80093018) +#define OSS_UNIMPLEMENTED _HRESULT_TYPEDEF_(0x80093019) +#define OSS_OID_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x8009301A) +#define OSS_CANT_OPEN_TRACE_FILE _HRESULT_TYPEDEF_(0x8009301B) +#define OSS_TRACE_FILE_ALREADY_OPEN _HRESULT_TYPEDEF_(0x8009301C) +#define OSS_TABLE_MISMATCH _HRESULT_TYPEDEF_(0x8009301D) +#define OSS_TYPE_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8009301E) +#define OSS_REAL_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x8009301F) +#define OSS_REAL_CODE_NOT_LINKED _HRESULT_TYPEDEF_(0x80093020) +#define OSS_OUT_OF_RANGE _HRESULT_TYPEDEF_(0x80093021) +#define OSS_COPIER_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093022) +#define OSS_CONSTRAINT_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093023) +#define OSS_COMPARATOR_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093024) +#define OSS_COMPARATOR_CODE_NOT_LINKED _HRESULT_TYPEDEF_(0x80093025) +#define OSS_MEM_MGR_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093026) +#define OSS_PDV_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093027) +#define OSS_PDV_CODE_NOT_LINKED _HRESULT_TYPEDEF_(0x80093028) +#define OSS_API_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x80093029) +#define OSS_BERDER_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x8009302A) +#define OSS_PER_DLL_NOT_LINKED _HRESULT_TYPEDEF_(0x8009302B) +#define OSS_OPEN_TYPE_ERROR _HRESULT_TYPEDEF_(0x8009302C) +#define OSS_MUTEX_NOT_CREATED _HRESULT_TYPEDEF_(0x8009302D) +#define OSS_CANT_CLOSE_TRACE_FILE _HRESULT_TYPEDEF_(0x8009302E) +#define CRYPT_E_ASN1_ERROR _HRESULT_TYPEDEF_(0x80093100) +#define CRYPT_E_ASN1_INTERNAL _HRESULT_TYPEDEF_(0x80093101) +#define CRYPT_E_ASN1_EOD _HRESULT_TYPEDEF_(0x80093102) +#define CRYPT_E_ASN1_CORRUPT _HRESULT_TYPEDEF_(0x80093103) +#define CRYPT_E_ASN1_LARGE _HRESULT_TYPEDEF_(0x80093104) +#define CRYPT_E_ASN1_CONSTRAINT _HRESULT_TYPEDEF_(0x80093105) +#define CRYPT_E_ASN1_MEMORY _HRESULT_TYPEDEF_(0x80093106) +#define CRYPT_E_ASN1_OVERFLOW _HRESULT_TYPEDEF_(0x80093107) +#define CRYPT_E_ASN1_BADPDU _HRESULT_TYPEDEF_(0x80093108) +#define CRYPT_E_ASN1_BADARGS _HRESULT_TYPEDEF_(0x80093109) +#define CRYPT_E_ASN1_BADREAL _HRESULT_TYPEDEF_(0x8009310A) +#define CRYPT_E_ASN1_BADTAG _HRESULT_TYPEDEF_(0x8009310B) +#define CRYPT_E_ASN1_CHOICE _HRESULT_TYPEDEF_(0x8009310C) +#define CRYPT_E_ASN1_RULE _HRESULT_TYPEDEF_(0x8009310D) +#define CRYPT_E_ASN1_UTF8 _HRESULT_TYPEDEF_(0x8009310E) +#define CRYPT_E_ASN1_PDU_TYPE _HRESULT_TYPEDEF_(0x80093133) +#define CRYPT_E_ASN1_NYI _HRESULT_TYPEDEF_(0x80093134) +#define CRYPT_E_ASN1_EXTENDED _HRESULT_TYPEDEF_(0x80093201) +#define CRYPT_E_ASN1_NOEOD _HRESULT_TYPEDEF_(0x80093202) +#define CERTSRV_E_BAD_REQUESTSUBJECT _HRESULT_TYPEDEF_(0x80094001) +#define CERTSRV_E_NO_REQUEST _HRESULT_TYPEDEF_(0x80094002) +#define CERTSRV_E_BAD_REQUESTSTATUS _HRESULT_TYPEDEF_(0x80094003) +#define CERTSRV_E_PROPERTY_EMPTY _HRESULT_TYPEDEF_(0x80094004) +#define CERTSRV_E_INVALID_CA_CERTIFICATE _HRESULT_TYPEDEF_(0x80094005) +#define CERTSRV_E_SERVER_SUSPENDED _HRESULT_TYPEDEF_(0x80094006) +#define CERTSRV_E_ENCODING_LENGTH _HRESULT_TYPEDEF_(0x80094007) +#define CERTSRV_E_ROLECONFLICT _HRESULT_TYPEDEF_(0x80094008) +#define CERTSRV_E_RESTRICTEDOFFICER _HRESULT_TYPEDEF_(0x80094009) +#define CERTSRV_E_KEY_ARCHIVAL_NOT_CONFIGURED _HRESULT_TYPEDEF_(0x8009400A) +#define CERTSRV_E_NO_VALID_KRA _HRESULT_TYPEDEF_(0x8009400B) +#define CERTSRV_E_BAD_REQUEST_KEY_ARCHIVAL _HRESULT_TYPEDEF_(0x8009400C) +#define CERTSRV_E_NO_CAADMIN_DEFINED _HRESULT_TYPEDEF_(0x8009400D) +#define CERTSRV_E_BAD_RENEWAL_CERT_ATTRIBUTE _HRESULT_TYPEDEF_(0x8009400E) +#define CERTSRV_E_NO_DB_SESSIONS _HRESULT_TYPEDEF_(0x8009400F) +#define CERTSRV_E_ALIGNMENT_FAULT _HRESULT_TYPEDEF_(0x80094010) +#define CERTSRV_E_ENROLL_DENIED _HRESULT_TYPEDEF_(0x80094011) +#define CERTSRV_E_TEMPLATE_DENIED _HRESULT_TYPEDEF_(0x80094012) +#define CERTSRV_E_DOWNLEVEL_DC_SSL_OR_UPGRADE _HRESULT_TYPEDEF_(0x80094013) +#define CERTSRV_E_UNSUPPORTED_CERT_TYPE _HRESULT_TYPEDEF_(0x80094800) +#define CERTSRV_E_NO_CERT_TYPE _HRESULT_TYPEDEF_(0x80094801) +#define CERTSRV_E_TEMPLATE_CONFLICT _HRESULT_TYPEDEF_(0x80094802) +#define CERTSRV_E_SUBJECT_ALT_NAME_REQUIRED _HRESULT_TYPEDEF_(0x80094803) +#define CERTSRV_E_ARCHIVED_KEY_REQUIRED _HRESULT_TYPEDEF_(0x80094804) +#define CERTSRV_E_SMIME_REQUIRED _HRESULT_TYPEDEF_(0x80094805) +#define CERTSRV_E_BAD_RENEWAL_SUBJECT _HRESULT_TYPEDEF_(0x80094806) +#define CERTSRV_E_BAD_TEMPLATE_VERSION _HRESULT_TYPEDEF_(0x80094807) +#define CERTSRV_E_TEMPLATE_POLICY_REQUIRED _HRESULT_TYPEDEF_(0x80094808) +#define CERTSRV_E_SIGNATURE_POLICY_REQUIRED _HRESULT_TYPEDEF_(0x80094809) +#define CERTSRV_E_SIGNATURE_COUNT _HRESULT_TYPEDEF_(0x8009480A) +#define CERTSRV_E_SIGNATURE_REJECTED _HRESULT_TYPEDEF_(0x8009480B) +#define CERTSRV_E_ISSUANCE_POLICY_REQUIRED _HRESULT_TYPEDEF_(0x8009480C) +#define CERTSRV_E_SUBJECT_UPN_REQUIRED _HRESULT_TYPEDEF_(0x8009480D) +#define CERTSRV_E_SUBJECT_DIRECTORY_GUID_REQUIRED _HRESULT_TYPEDEF_(0x8009480E) +#define CERTSRV_E_SUBJECT_DNS_REQUIRED _HRESULT_TYPEDEF_(0x8009480F) +#define CERTSRV_E_ARCHIVED_KEY_UNEXPECTED _HRESULT_TYPEDEF_(0x80094810) +#define CERTSRV_E_KEY_LENGTH _HRESULT_TYPEDEF_(0x80094811) +#define CERTSRV_E_SUBJECT_EMAIL_REQUIRED _HRESULT_TYPEDEF_(0x80094812) +#define CERTSRV_E_UNKNOWN_CERT_TYPE _HRESULT_TYPEDEF_(0x80094813) +#define CERTSRV_E_CERT_TYPE_OVERLAP _HRESULT_TYPEDEF_(0x80094814) +#define XENROLL_E_KEY_NOT_EXPORTABLE _HRESULT_TYPEDEF_(0x80095000) +#define XENROLL_E_CANNOT_ADD_ROOT_CERT _HRESULT_TYPEDEF_(0x80095001) +#define XENROLL_E_RESPONSE_KA_HASH_NOT_FOUND _HRESULT_TYPEDEF_(0x80095002) +#define XENROLL_E_RESPONSE_UNEXPECTED_KA_HASH _HRESULT_TYPEDEF_(0x80095003) +#define XENROLL_E_RESPONSE_KA_HASH_MISMATCH _HRESULT_TYPEDEF_(0x80095004) +#define XENROLL_E_KEYSPEC_SMIME_MISMATCH _HRESULT_TYPEDEF_(0x80095005) +#define TRUST_E_SYSTEM_ERROR _HRESULT_TYPEDEF_(0x80096001) +#define TRUST_E_NO_SIGNER_CERT _HRESULT_TYPEDEF_(0x80096002) +#define TRUST_E_COUNTER_SIGNER _HRESULT_TYPEDEF_(0x80096003) +#define TRUST_E_CERT_SIGNATURE _HRESULT_TYPEDEF_(0x80096004) +#define TRUST_E_TIME_STAMP _HRESULT_TYPEDEF_(0x80096005) +#define TRUST_E_BAD_DIGEST _HRESULT_TYPEDEF_(0x80096010) +#define TRUST_E_BASIC_CONSTRAINTS _HRESULT_TYPEDEF_(0x80096019) +#define TRUST_E_FINANCIAL_CRITERIA _HRESULT_TYPEDEF_(0x8009601E) +#define MSSIPOTF_E_OUTOFMEMRANGE _HRESULT_TYPEDEF_(0x80097001) +#define MSSIPOTF_E_CANTGETOBJECT _HRESULT_TYPEDEF_(0x80097002) +#define MSSIPOTF_E_NOHEADTABLE _HRESULT_TYPEDEF_(0x80097003) +#define MSSIPOTF_E_BAD_MAGICNUMBER _HRESULT_TYPEDEF_(0x80097004) +#define MSSIPOTF_E_BAD_OFFSET_TABLE _HRESULT_TYPEDEF_(0x80097005) +#define MSSIPOTF_E_TABLE_TAGORDER _HRESULT_TYPEDEF_(0x80097006) +#define MSSIPOTF_E_TABLE_LONGWORD _HRESULT_TYPEDEF_(0x80097007) +#define MSSIPOTF_E_BAD_FIRST_TABLE_PLACEMENT _HRESULT_TYPEDEF_(0x80097008) +#define MSSIPOTF_E_TABLES_OVERLAP _HRESULT_TYPEDEF_(0x80097009) +#define MSSIPOTF_E_TABLE_PADBYTES _HRESULT_TYPEDEF_(0x8009700A) +#define MSSIPOTF_E_FILETOOSMALL _HRESULT_TYPEDEF_(0x8009700B) +#define MSSIPOTF_E_TABLE_CHECKSUM _HRESULT_TYPEDEF_(0x8009700C) +#define MSSIPOTF_E_FILE_CHECKSUM _HRESULT_TYPEDEF_(0x8009700D) +#define MSSIPOTF_E_FAILED_POLICY _HRESULT_TYPEDEF_(0x80097010) +#define MSSIPOTF_E_FAILED_HINTS_CHECK _HRESULT_TYPEDEF_(0x80097011) +#define MSSIPOTF_E_NOT_OPENTYPE _HRESULT_TYPEDEF_(0x80097012) +#define MSSIPOTF_E_FILE _HRESULT_TYPEDEF_(0x80097013) +#define MSSIPOTF_E_CRYPT _HRESULT_TYPEDEF_(0x80097014) +#define MSSIPOTF_E_BADVERSION _HRESULT_TYPEDEF_(0x80097015) +#define MSSIPOTF_E_DSIG_STRUCTURE _HRESULT_TYPEDEF_(0x80097016) +#define MSSIPOTF_E_PCONST_CHECK _HRESULT_TYPEDEF_(0x80097017) +#define MSSIPOTF_E_STRUCTURE _HRESULT_TYPEDEF_(0x80097018) +#define NTE_OP_OK 0 +#define TRUST_E_PROVIDER_UNKNOWN _HRESULT_TYPEDEF_(0x800B0001) +#define TRUST_E_ACTION_UNKNOWN _HRESULT_TYPEDEF_(0x800B0002) +#define TRUST_E_SUBJECT_FORM_UNKNOWN _HRESULT_TYPEDEF_(0x800B0003) +#define TRUST_E_SUBJECT_NOT_TRUSTED _HRESULT_TYPEDEF_(0x800B0004) +#define DIGSIG_E_ENCODE _HRESULT_TYPEDEF_(0x800B0005) +#define DIGSIG_E_DECODE _HRESULT_TYPEDEF_(0x800B0006) +#define DIGSIG_E_EXTENSIBILITY _HRESULT_TYPEDEF_(0x800B0007) +#define DIGSIG_E_CRYPTO _HRESULT_TYPEDEF_(0x800B0008) +#define PERSIST_E_SIZEDEFINITE _HRESULT_TYPEDEF_(0x800B0009) +#define PERSIST_E_SIZEINDEFINITE _HRESULT_TYPEDEF_(0x800B000A) +#define PERSIST_E_NOTSELFSIZING _HRESULT_TYPEDEF_(0x800B000B) +#define TRUST_E_NOSIGNATURE _HRESULT_TYPEDEF_(0x800B0100) +#define CERT_E_EXPIRED _HRESULT_TYPEDEF_(0x800B0101) +#define CERT_E_VALIDITYPERIODNESTING _HRESULT_TYPEDEF_(0x800B0102) +#define CERT_E_ROLE _HRESULT_TYPEDEF_(0x800B0103) +#define CERT_E_PATHLENCONST _HRESULT_TYPEDEF_(0x800B0104) +#define CERT_E_CRITICAL _HRESULT_TYPEDEF_(0x800B0105) +#define CERT_E_PURPOSE _HRESULT_TYPEDEF_(0x800B0106) +#define CERT_E_ISSUERCHAINING _HRESULT_TYPEDEF_(0x800B0107) +#define CERT_E_MALFORMED _HRESULT_TYPEDEF_(0x800B0108) +#define CERT_E_UNTRUSTEDROOT _HRESULT_TYPEDEF_(0x800B0109) +#define CERT_E_CHAINING _HRESULT_TYPEDEF_(0x800B010A) +#define TRUST_E_FAIL _HRESULT_TYPEDEF_(0x800B010B) +#define CERT_E_REVOKED _HRESULT_TYPEDEF_(0x800B010C) +#define CERT_E_UNTRUSTEDTESTROOT _HRESULT_TYPEDEF_(0x800B010D) +#define CERT_E_REVOCATION_FAILURE _HRESULT_TYPEDEF_(0x800B010E) +#define CERT_E_CN_NO_MATCH _HRESULT_TYPEDEF_(0x800B010F) +#define CERT_E_WRONG_USAGE _HRESULT_TYPEDEF_(0x800B0110) +#define TRUST_E_EXPLICIT_DISTRUST _HRESULT_TYPEDEF_(0x800B0111) +#define CERT_E_UNTRUSTEDCA _HRESULT_TYPEDEF_(0x800B0112) +#define CERT_E_INVALID_POLICY _HRESULT_TYPEDEF_(0x800B0113) +#define CERT_E_INVALID_NAME _HRESULT_TYPEDEF_(0x800B0114) +#define HRESULT_FROM_SETUPAPI(x) ((((x) & (APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR))==(APPLICATION_ERROR_MASK|ERROR_SEVERITY_ERROR)) ? ((HRESULT) (((x) & 0x0000FFFF) | (FACILITY_SETUPAPI << 16) | 0x80000000)) : HRESULT_FROM_WIN32(x)) +#define SPAPI_E_EXPECTED_SECTION_NAME _HRESULT_TYPEDEF_(0x800F0000) +#define SPAPI_E_BAD_SECTION_NAME_LINE _HRESULT_TYPEDEF_(0x800F0001) +#define SPAPI_E_SECTION_NAME_TOO_LONG _HRESULT_TYPEDEF_(0x800F0002) +#define SPAPI_E_GENERAL_SYNTAX _HRESULT_TYPEDEF_(0x800F0003) +#define SPAPI_E_WRONG_INF_STYLE _HRESULT_TYPEDEF_(0x800F0100) +#define SPAPI_E_SECTION_NOT_FOUND _HRESULT_TYPEDEF_(0x800F0101) +#define SPAPI_E_LINE_NOT_FOUND _HRESULT_TYPEDEF_(0x800F0102) +#define SPAPI_E_NO_BACKUP _HRESULT_TYPEDEF_(0x800F0103) +#define SPAPI_E_NO_ASSOCIATED_CLASS _HRESULT_TYPEDEF_(0x800F0200) +#define SPAPI_E_CLASS_MISMATCH _HRESULT_TYPEDEF_(0x800F0201) +#define SPAPI_E_DUPLICATE_FOUND _HRESULT_TYPEDEF_(0x800F0202) +#define SPAPI_E_NO_DRIVER_SELECTED _HRESULT_TYPEDEF_(0x800F0203) +#define SPAPI_E_KEY_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0x800F0204) +#define SPAPI_E_INVALID_DEVINST_NAME _HRESULT_TYPEDEF_(0x800F0205) +#define SPAPI_E_INVALID_CLASS _HRESULT_TYPEDEF_(0x800F0206) +#define SPAPI_E_DEVINST_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x800F0207) +#define SPAPI_E_DEVINFO_NOT_REGISTERED _HRESULT_TYPEDEF_(0x800F0208) +#define SPAPI_E_INVALID_REG_PROPERTY _HRESULT_TYPEDEF_(0x800F0209) +#define SPAPI_E_NO_INF _HRESULT_TYPEDEF_(0x800F020A) +#define SPAPI_E_NO_SUCH_DEVINST _HRESULT_TYPEDEF_(0x800F020B) +#define SPAPI_E_CANT_LOAD_CLASS_ICON _HRESULT_TYPEDEF_(0x800F020C) +#define SPAPI_E_INVALID_CLASS_INSTALLER _HRESULT_TYPEDEF_(0x800F020D) +#define SPAPI_E_DI_DO_DEFAULT _HRESULT_TYPEDEF_(0x800F020E) +#define SPAPI_E_DI_NOFILECOPY _HRESULT_TYPEDEF_(0x800F020F) +#define SPAPI_E_INVALID_HWPROFILE _HRESULT_TYPEDEF_(0x800F0210) +#define SPAPI_E_NO_DEVICE_SELECTED _HRESULT_TYPEDEF_(0x800F0211) +#define SPAPI_E_DEVINFO_LIST_LOCKED _HRESULT_TYPEDEF_(0x800F0212) +#define SPAPI_E_DEVINFO_DATA_LOCKED _HRESULT_TYPEDEF_(0x800F0213) +#define SPAPI_E_DI_BAD_PATH _HRESULT_TYPEDEF_(0x800F0214) +#define SPAPI_E_NO_CLASSINSTALL_PARAMS _HRESULT_TYPEDEF_(0x800F0215) +#define SPAPI_E_FILEQUEUE_LOCKED _HRESULT_TYPEDEF_(0x800F0216) +#define SPAPI_E_BAD_SERVICE_INSTALLSECT _HRESULT_TYPEDEF_(0x800F0217) +#define SPAPI_E_NO_CLASS_DRIVER_LIST _HRESULT_TYPEDEF_(0x800F0218) +#define SPAPI_E_NO_ASSOCIATED_SERVICE _HRESULT_TYPEDEF_(0x800F0219) +#define SPAPI_E_NO_DEFAULT_DEVICE_INTERFACE _HRESULT_TYPEDEF_(0x800F021A) +#define SPAPI_E_DEVICE_INTERFACE_ACTIVE _HRESULT_TYPEDEF_(0x800F021B) +#define SPAPI_E_DEVICE_INTERFACE_REMOVED _HRESULT_TYPEDEF_(0x800F021C) +#define SPAPI_E_BAD_INTERFACE_INSTALLSECT _HRESULT_TYPEDEF_(0x800F021D) +#define SPAPI_E_NO_SUCH_INTERFACE_CLASS _HRESULT_TYPEDEF_(0x800F021E) +#define SPAPI_E_INVALID_REFERENCE_STRING _HRESULT_TYPEDEF_(0x800F021F) +#define SPAPI_E_INVALID_MACHINENAME _HRESULT_TYPEDEF_(0x800F0220) +#define SPAPI_E_REMOTE_COMM_FAILURE _HRESULT_TYPEDEF_(0x800F0221) +#define SPAPI_E_MACHINE_UNAVAILABLE _HRESULT_TYPEDEF_(0x800F0222) +#define SPAPI_E_NO_CONFIGMGR_SERVICES _HRESULT_TYPEDEF_(0x800F0223) +#define SPAPI_E_INVALID_PROPPAGE_PROVIDER _HRESULT_TYPEDEF_(0x800F0224) +#define SPAPI_E_NO_SUCH_DEVICE_INTERFACE _HRESULT_TYPEDEF_(0x800F0225) +#define SPAPI_E_DI_POSTPROCESSING_REQUIRED _HRESULT_TYPEDEF_(0x800F0226) +#define SPAPI_E_INVALID_COINSTALLER _HRESULT_TYPEDEF_(0x800F0227) +#define SPAPI_E_NO_COMPAT_DRIVERS _HRESULT_TYPEDEF_(0x800F0228) +#define SPAPI_E_NO_DEVICE_ICON _HRESULT_TYPEDEF_(0x800F0229) +#define SPAPI_E_INVALID_INF_LOGCONFIG _HRESULT_TYPEDEF_(0x800F022A) +#define SPAPI_E_DI_DONT_INSTALL _HRESULT_TYPEDEF_(0x800F022B) +#define SPAPI_E_INVALID_FILTER_DRIVER _HRESULT_TYPEDEF_(0x800F022C) +#define SPAPI_E_NON_WINDOWS_NT_DRIVER _HRESULT_TYPEDEF_(0x800F022D) +#define SPAPI_E_NON_WINDOWS_DRIVER _HRESULT_TYPEDEF_(0x800F022E) +#define SPAPI_E_NO_CATALOG_FOR_OEM_INF _HRESULT_TYPEDEF_(0x800F022F) +#define SPAPI_E_DEVINSTALL_QUEUE_NONNATIVE _HRESULT_TYPEDEF_(0x800F0230) +#define SPAPI_E_NOT_DISABLEABLE _HRESULT_TYPEDEF_(0x800F0231) +#define SPAPI_E_CANT_REMOVE_DEVINST _HRESULT_TYPEDEF_(0x800F0232) +#define SPAPI_E_INVALID_TARGET _HRESULT_TYPEDEF_(0x800F0233) +#define SPAPI_E_DRIVER_NONNATIVE _HRESULT_TYPEDEF_(0x800F0234) +#define SPAPI_E_IN_WOW64 _HRESULT_TYPEDEF_(0x800F0235) +#define SPAPI_E_SET_SYSTEM_RESTORE_POINT _HRESULT_TYPEDEF_(0x800F0236) +#define SPAPI_E_INCORRECTLY_COPIED_INF _HRESULT_TYPEDEF_(0x800F0237) +#define SPAPI_E_SCE_DISABLED _HRESULT_TYPEDEF_(0x800F0238) +#define SPAPI_E_UNKNOWN_EXCEPTION _HRESULT_TYPEDEF_(0x800F0239) +#define SPAPI_E_PNP_REGISTRY_ERROR _HRESULT_TYPEDEF_(0x800F023A) +#define SPAPI_E_REMOTE_REQUEST_UNSUPPORTED _HRESULT_TYPEDEF_(0x800F023B) +#define SPAPI_E_NOT_AN_INSTALLED_OEM_INF _HRESULT_TYPEDEF_(0x800F023C) +#define SPAPI_E_INF_IN_USE_BY_DEVICES _HRESULT_TYPEDEF_(0x800F023D) +#define SPAPI_E_DI_FUNCTION_OBSOLETE _HRESULT_TYPEDEF_(0x800F023E) +#define SPAPI_E_NO_AUTHENTICODE_CATALOG _HRESULT_TYPEDEF_(0x800F023F) +#define SPAPI_E_AUTHENTICODE_DISALLOWED _HRESULT_TYPEDEF_(0x800F0240) +#define SPAPI_E_AUTHENTICODE_TRUSTED_PUBLISHER _HRESULT_TYPEDEF_(0x800F0241) +#define SPAPI_E_AUTHENTICODE_TRUST_NOT_ESTABLISHED _HRESULT_TYPEDEF_(0x800F0242) +#define SPAPI_E_AUTHENTICODE_PUBLISHER_NOT_TRUSTED _HRESULT_TYPEDEF_(0x800F0243) +#define SPAPI_E_SIGNATURE_OSATTRIBUTE_MISMATCH _HRESULT_TYPEDEF_(0x800F0244) +#define SPAPI_E_ONLY_VALIDATE_VIA_AUTHENTICODE _HRESULT_TYPEDEF_(0x800F0245) +#define SPAPI_E_UNRECOVERABLE_STACK_OVERFLOW _HRESULT_TYPEDEF_(0x800F0300) +#define SPAPI_E_ERROR_NOT_INSTALLED _HRESULT_TYPEDEF_(0x800F1000) +#define SCARD_S_SUCCESS NO_ERROR +#define SCARD_F_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x80100001) +#define SCARD_E_CANCELLED _HRESULT_TYPEDEF_(0x80100002) +#define SCARD_E_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80100003) +#define SCARD_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80100004) +#define SCARD_E_INVALID_TARGET _HRESULT_TYPEDEF_(0x80100005) +#define SCARD_E_NO_MEMORY _HRESULT_TYPEDEF_(0x80100006) +#define SCARD_F_WAITED_TOO_LONG _HRESULT_TYPEDEF_(0x80100007) +#define SCARD_E_INSUFFICIENT_BUFFER _HRESULT_TYPEDEF_(0x80100008) +#define SCARD_E_UNKNOWN_READER _HRESULT_TYPEDEF_(0x80100009) +#define SCARD_E_TIMEOUT _HRESULT_TYPEDEF_(0x8010000A) +#define SCARD_E_SHARING_VIOLATION _HRESULT_TYPEDEF_(0x8010000B) +#define SCARD_E_NO_SMARTCARD _HRESULT_TYPEDEF_(0x8010000C) +#define SCARD_E_UNKNOWN_CARD _HRESULT_TYPEDEF_(0x8010000D) +#define SCARD_E_CANT_DISPOSE _HRESULT_TYPEDEF_(0x8010000E) +#define SCARD_E_PROTO_MISMATCH _HRESULT_TYPEDEF_(0x8010000F) +#define SCARD_E_NOT_READY _HRESULT_TYPEDEF_(0x80100010) +#define SCARD_E_INVALID_VALUE _HRESULT_TYPEDEF_(0x80100011) +#define SCARD_E_SYSTEM_CANCELLED _HRESULT_TYPEDEF_(0x80100012) +#define SCARD_F_COMM_ERROR _HRESULT_TYPEDEF_(0x80100013) +#define SCARD_F_UNKNOWN_ERROR _HRESULT_TYPEDEF_(0x80100014) +#define SCARD_E_INVALID_ATR _HRESULT_TYPEDEF_(0x80100015) +#define SCARD_E_NOT_TRANSACTED _HRESULT_TYPEDEF_(0x80100016) +#define SCARD_E_READER_UNAVAILABLE _HRESULT_TYPEDEF_(0x80100017) +#define SCARD_P_SHUTDOWN _HRESULT_TYPEDEF_(0x80100018) +#define SCARD_E_PCI_TOO_SMALL _HRESULT_TYPEDEF_(0x80100019) +#define SCARD_E_READER_UNSUPPORTED _HRESULT_TYPEDEF_(0x8010001A) +#define SCARD_E_DUPLICATE_READER _HRESULT_TYPEDEF_(0x8010001B) +#define SCARD_E_CARD_UNSUPPORTED _HRESULT_TYPEDEF_(0x8010001C) +#define SCARD_E_NO_SERVICE _HRESULT_TYPEDEF_(0x8010001D) +#define SCARD_E_SERVICE_STOPPED _HRESULT_TYPEDEF_(0x8010001E) +#define SCARD_E_UNEXPECTED _HRESULT_TYPEDEF_(0x8010001F) +#define SCARD_E_ICC_INSTALLATION _HRESULT_TYPEDEF_(0x80100020) +#define SCARD_E_ICC_CREATEORDER _HRESULT_TYPEDEF_(0x80100021) +#define SCARD_E_UNSUPPORTED_FEATURE _HRESULT_TYPEDEF_(0x80100022) +#define SCARD_E_DIR_NOT_FOUND _HRESULT_TYPEDEF_(0x80100023) +#define SCARD_E_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x80100024) +#define SCARD_E_NO_DIR _HRESULT_TYPEDEF_(0x80100025) +#define SCARD_E_NO_FILE _HRESULT_TYPEDEF_(0x80100026) +#define SCARD_E_NO_ACCESS _HRESULT_TYPEDEF_(0x80100027) +#define SCARD_E_WRITE_TOO_MANY _HRESULT_TYPEDEF_(0x80100028) +#define SCARD_E_BAD_SEEK _HRESULT_TYPEDEF_(0x80100029) +#define SCARD_E_INVALID_CHV _HRESULT_TYPEDEF_(0x8010002A) +#define SCARD_E_UNKNOWN_RES_MNG _HRESULT_TYPEDEF_(0x8010002B) +#define SCARD_E_NO_SUCH_CERTIFICATE _HRESULT_TYPEDEF_(0x8010002C) +#define SCARD_E_CERTIFICATE_UNAVAILABLE _HRESULT_TYPEDEF_(0x8010002D) +#define SCARD_E_NO_READERS_AVAILABLE _HRESULT_TYPEDEF_(0x8010002E) +#define SCARD_E_COMM_DATA_LOST _HRESULT_TYPEDEF_(0x8010002F) +#define SCARD_E_NO_KEY_CONTAINER _HRESULT_TYPEDEF_(0x80100030) +#define SCARD_E_SERVER_TOO_BUSY _HRESULT_TYPEDEF_(0x80100031) +#define SCARD_E_PIN_CACHE_EXPIRED _HRESULT_TYPEDEF_(0x80100032) +#define SCARD_E_NO_PIN_CACHE _HRESULT_TYPEDEF_(0x80100033) +#define SCARD_E_READ_ONLY_CARD _HRESULT_TYPEDEF_(0x80100034) +#define SCARD_W_UNSUPPORTED_CARD _HRESULT_TYPEDEF_(0x80100065) +#define SCARD_W_UNRESPONSIVE_CARD _HRESULT_TYPEDEF_(0x80100066) +#define SCARD_W_UNPOWERED_CARD _HRESULT_TYPEDEF_(0x80100067) +#define SCARD_W_RESET_CARD _HRESULT_TYPEDEF_(0x80100068) +#define SCARD_W_REMOVED_CARD _HRESULT_TYPEDEF_(0x80100069) +#define SCARD_W_SECURITY_VIOLATION _HRESULT_TYPEDEF_(0x8010006A) +#define SCARD_W_WRONG_CHV _HRESULT_TYPEDEF_(0x8010006B) +#define SCARD_W_CHV_BLOCKED _HRESULT_TYPEDEF_(0x8010006C) +#define SCARD_W_EOF _HRESULT_TYPEDEF_(0x8010006D) +#define SCARD_W_CANCELLED_BY_USER _HRESULT_TYPEDEF_(0x8010006E) +#define SCARD_W_CARD_NOT_AUTHENTICATED _HRESULT_TYPEDEF_(0x8010006F) +#define SCARD_W_CACHE_ITEM_NOT_FOUND _HRESULT_TYPEDEF_(0x80100070) +#define SCARD_W_CACHE_ITEM_STALE _HRESULT_TYPEDEF_(0x80100071) +#define SCARD_W_CACHE_ITEM_TOO_BIG _HRESULT_TYPEDEF_(0x80100072) +#define COMADMIN_E_OBJECTERRORS _HRESULT_TYPEDEF_(0x80110401) +#define COMADMIN_E_OBJECTINVALID _HRESULT_TYPEDEF_(0x80110402) +#define COMADMIN_E_KEYMISSING _HRESULT_TYPEDEF_(0x80110403) +#define COMADMIN_E_ALREADYINSTALLED _HRESULT_TYPEDEF_(0x80110404) +#define COMADMIN_E_APP_FILE_WRITEFAIL _HRESULT_TYPEDEF_(0x80110407) +#define COMADMIN_E_APP_FILE_READFAIL _HRESULT_TYPEDEF_(0x80110408) +#define COMADMIN_E_APP_FILE_VERSION _HRESULT_TYPEDEF_(0x80110409) +#define COMADMIN_E_BADPATH _HRESULT_TYPEDEF_(0x8011040A) +#define COMADMIN_E_APPLICATIONEXISTS _HRESULT_TYPEDEF_(0x8011040B) +#define COMADMIN_E_ROLEEXISTS _HRESULT_TYPEDEF_(0x8011040C) +#define COMADMIN_E_CANTCOPYFILE _HRESULT_TYPEDEF_(0x8011040D) +#define COMADMIN_E_NOUSER _HRESULT_TYPEDEF_(0x8011040F) +#define COMADMIN_E_INVALIDUSERIDS _HRESULT_TYPEDEF_(0x80110410) +#define COMADMIN_E_NOREGISTRYCLSID _HRESULT_TYPEDEF_(0x80110411) +#define COMADMIN_E_BADREGISTRYPROGID _HRESULT_TYPEDEF_(0x80110412) +#define COMADMIN_E_AUTHENTICATIONLEVEL _HRESULT_TYPEDEF_(0x80110413) +#define COMADMIN_E_USERPASSWDNOTVALID _HRESULT_TYPEDEF_(0x80110414) +#define COMADMIN_E_CLSIDORIIDMISMATCH _HRESULT_TYPEDEF_(0x80110418) +#define COMADMIN_E_REMOTEINTERFACE _HRESULT_TYPEDEF_(0x80110419) +#define COMADMIN_E_DLLREGISTERSERVER _HRESULT_TYPEDEF_(0x8011041A) +#define COMADMIN_E_NOSERVERSHARE _HRESULT_TYPEDEF_(0x8011041B) +#define COMADMIN_E_DLLLOADFAILED _HRESULT_TYPEDEF_(0x8011041D) +#define COMADMIN_E_BADREGISTRYLIBID _HRESULT_TYPEDEF_(0x8011041E) +#define COMADMIN_E_APPDIRNOTFOUND _HRESULT_TYPEDEF_(0x8011041F) +#define COMADMIN_E_REGISTRARFAILED _HRESULT_TYPEDEF_(0x80110423) +#define COMADMIN_E_COMPFILE_DOESNOTEXIST _HRESULT_TYPEDEF_(0x80110424) +#define COMADMIN_E_COMPFILE_LOADDLLFAIL _HRESULT_TYPEDEF_(0x80110425) +#define COMADMIN_E_COMPFILE_GETCLASSOBJ _HRESULT_TYPEDEF_(0x80110426) +#define COMADMIN_E_COMPFILE_CLASSNOTAVAIL _HRESULT_TYPEDEF_(0x80110427) +#define COMADMIN_E_COMPFILE_BADTLB _HRESULT_TYPEDEF_(0x80110428) +#define COMADMIN_E_COMPFILE_NOTINSTALLABLE _HRESULT_TYPEDEF_(0x80110429) +#define COMADMIN_E_NOTCHANGEABLE _HRESULT_TYPEDEF_(0x8011042A) +#define COMADMIN_E_NOTDELETEABLE _HRESULT_TYPEDEF_(0x8011042B) +#define COMADMIN_E_SESSION _HRESULT_TYPEDEF_(0x8011042C) +#define COMADMIN_E_COMP_MOVE_LOCKED _HRESULT_TYPEDEF_(0x8011042D) +#define COMADMIN_E_COMP_MOVE_BAD_DEST _HRESULT_TYPEDEF_(0x8011042E) +#define COMADMIN_E_REGISTERTLB _HRESULT_TYPEDEF_(0x80110430) +#define COMADMIN_E_SYSTEMAPP _HRESULT_TYPEDEF_(0x80110433) +#define COMADMIN_E_COMPFILE_NOREGISTRAR _HRESULT_TYPEDEF_(0x80110434) +#define COMADMIN_E_COREQCOMPINSTALLED _HRESULT_TYPEDEF_(0x80110435) +#define COMADMIN_E_SERVICENOTINSTALLED _HRESULT_TYPEDEF_(0x80110436) +#define COMADMIN_E_PROPERTYSAVEFAILED _HRESULT_TYPEDEF_(0x80110437) +#define COMADMIN_E_OBJECTEXISTS _HRESULT_TYPEDEF_(0x80110438) +#define COMADMIN_E_COMPONENTEXISTS _HRESULT_TYPEDEF_(0x80110439) +#define COMADMIN_E_REGFILE_CORRUPT _HRESULT_TYPEDEF_(0x8011043B) +#define COMADMIN_E_PROPERTY_OVERFLOW _HRESULT_TYPEDEF_(0x8011043C) +#define COMADMIN_E_NOTINREGISTRY _HRESULT_TYPEDEF_(0x8011043E) +#define COMADMIN_E_OBJECTNOTPOOLABLE _HRESULT_TYPEDEF_(0x8011043F) +#define COMADMIN_E_APPLID_MATCHES_CLSID _HRESULT_TYPEDEF_(0x80110446) +#define COMADMIN_E_ROLE_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0x80110447) +#define COMADMIN_E_START_APP_NEEDS_COMPONENTS _HRESULT_TYPEDEF_(0x80110448) +#define COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM _HRESULT_TYPEDEF_(0x80110449) +#define COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY _HRESULT_TYPEDEF_(0x8011044A) +#define COMADMIN_E_CAN_NOT_START_APP _HRESULT_TYPEDEF_(0x8011044B) +#define COMADMIN_E_CAN_NOT_EXPORT_SYS_APP _HRESULT_TYPEDEF_(0x8011044C) +#define COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT _HRESULT_TYPEDEF_(0x8011044D) +#define COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER _HRESULT_TYPEDEF_(0x8011044E) +#define COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE _HRESULT_TYPEDEF_(0x8011044F) +#define COMADMIN_E_BASE_PARTITION_ONLY _HRESULT_TYPEDEF_(0x80110450) +#define COMADMIN_E_START_APP_DISABLED _HRESULT_TYPEDEF_(0x80110451) +#define COMADMIN_E_CAT_DUPLICATE_PARTITION_NAME _HRESULT_TYPEDEF_(0x80110457) +#define COMADMIN_E_CAT_INVALID_PARTITION_NAME _HRESULT_TYPEDEF_(0x80110458) +#define COMADMIN_E_CAT_PARTITION_IN_USE _HRESULT_TYPEDEF_(0x80110459) +#define COMADMIN_E_FILE_PARTITION_DUPLICATE_FILES _HRESULT_TYPEDEF_(0x8011045A) +#define COMADMIN_E_CAT_IMPORTED_COMPONENTS_NOT_ALLOWED _HRESULT_TYPEDEF_(0x8011045B) +#define COMADMIN_E_AMBIGUOUS_APPLICATION_NAME _HRESULT_TYPEDEF_(0x8011045C) +#define COMADMIN_E_AMBIGUOUS_PARTITION_NAME _HRESULT_TYPEDEF_(0x8011045D) +#define COMADMIN_E_REGDB_NOTINITIALIZED _HRESULT_TYPEDEF_(0x80110472) +#define COMADMIN_E_REGDB_NOTOPEN _HRESULT_TYPEDEF_(0x80110473) +#define COMADMIN_E_REGDB_SYSTEMERR _HRESULT_TYPEDEF_(0x80110474) +#define COMADMIN_E_REGDB_ALREADYRUNNING _HRESULT_TYPEDEF_(0x80110475) +#define COMADMIN_E_MIG_VERSIONNOTSUPPORTED _HRESULT_TYPEDEF_(0x80110480) +#define COMADMIN_E_MIG_SCHEMANOTFOUND _HRESULT_TYPEDEF_(0x80110481) +#define COMADMIN_E_CAT_BITNESSMISMATCH _HRESULT_TYPEDEF_(0x80110482) +#define COMADMIN_E_CAT_UNACCEPTABLEBITNESS _HRESULT_TYPEDEF_(0x80110483) +#define COMADMIN_E_CAT_WRONGAPPBITNESS _HRESULT_TYPEDEF_(0x80110484) +#define COMADMIN_E_CAT_PAUSE_RESUME_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80110485) +#define COMADMIN_E_CAT_SERVERFAULT _HRESULT_TYPEDEF_(0x80110486) +#define COMQC_E_APPLICATION_NOT_QUEUED _HRESULT_TYPEDEF_(0x80110600) +#define COMQC_E_NO_QUEUEABLE_INTERFACES _HRESULT_TYPEDEF_(0x80110601) +#define COMQC_E_QUEUING_SERVICE_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x80110602) +#define COMQC_E_NO_IPERSISTSTREAM _HRESULT_TYPEDEF_(0x80110603) +#define COMQC_E_BAD_MESSAGE _HRESULT_TYPEDEF_(0x80110604) +#define COMQC_E_UNAUTHENTICATED _HRESULT_TYPEDEF_(0x80110605) +#define COMQC_E_UNTRUSTED_ENQUEUER _HRESULT_TYPEDEF_(0x80110606) +#define MSDTC_E_DUPLICATE_RESOURCE _HRESULT_TYPEDEF_(0x80110701) +#define COMADMIN_E_OBJECT_PARENT_MISSING _HRESULT_TYPEDEF_(0x80110808) +#define COMADMIN_E_OBJECT_DOES_NOT_EXIST _HRESULT_TYPEDEF_(0x80110809) +#define COMADMIN_E_APP_NOT_RUNNING _HRESULT_TYPEDEF_(0x8011080A) +#define COMADMIN_E_INVALID_PARTITION _HRESULT_TYPEDEF_(0x8011080B) +#define COMADMIN_E_SVCAPP_NOT_POOLABLE_OR_RECYCLABLE _HRESULT_TYPEDEF_(0x8011080D) +#define COMADMIN_E_USER_IN_SET _HRESULT_TYPEDEF_(0x8011080E) +#define COMADMIN_E_CANTRECYCLELIBRARYAPPS _HRESULT_TYPEDEF_(0x8011080F) +#define COMADMIN_E_CANTRECYCLESERVICEAPPS _HRESULT_TYPEDEF_(0x80110811) +#define COMADMIN_E_PROCESSALREADYRECYCLED _HRESULT_TYPEDEF_(0x80110812) +#define COMADMIN_E_PAUSEDPROCESSMAYNOTBERECYCLED _HRESULT_TYPEDEF_(0x80110813) +#define COMADMIN_E_CANTMAKEINPROCSERVICE _HRESULT_TYPEDEF_(0x80110814) +#define COMADMIN_E_PROGIDINUSEBYCLSID _HRESULT_TYPEDEF_(0x80110815) +#define COMADMIN_E_DEFAULT_PARTITION_NOT_IN_SET _HRESULT_TYPEDEF_(0x80110816) +#define COMADMIN_E_RECYCLEDPROCESSMAYNOTBEPAUSED _HRESULT_TYPEDEF_(0x80110817) +#define COMADMIN_E_PARTITION_ACCESSDENIED _HRESULT_TYPEDEF_(0x80110818) +#define COMADMIN_E_PARTITION_MSI_ONLY _HRESULT_TYPEDEF_(0x80110819) +#define COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_1_0_FORMAT _HRESULT_TYPEDEF_(0x8011081A) +#define COMADMIN_E_LEGACYCOMPS_NOT_ALLOWED_IN_NONBASE_PARTITIONS _HRESULT_TYPEDEF_(0x8011081B) +#define COMADMIN_E_COMP_MOVE_SOURCE _HRESULT_TYPEDEF_(0x8011081C) +#define COMADMIN_E_COMP_MOVE_DEST _HRESULT_TYPEDEF_(0x8011081D) +#define COMADMIN_E_COMP_MOVE_PRIVATE _HRESULT_TYPEDEF_(0x8011081E) +#define COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET _HRESULT_TYPEDEF_(0x8011081F) +#define COMADMIN_E_CANNOT_ALIAS_EVENTCLASS _HRESULT_TYPEDEF_(0x80110820) +#define COMADMIN_E_PRIVATE_ACCESSDENIED _HRESULT_TYPEDEF_(0x80110821) +#define COMADMIN_E_SAFERINVALID _HRESULT_TYPEDEF_(0x80110822) +#define COMADMIN_E_REGISTRY_ACCESSDENIED _HRESULT_TYPEDEF_(0x80110823) +#define COMADMIN_E_PARTITIONS_DISABLED _HRESULT_TYPEDEF_(0x80110824) + +#define DXGI_STATUS_OCCLUDED _HRESULT_TYPEDEF_(0x087a0001) +#define DXGI_STATUS_CLIPPED _HRESULT_TYPEDEF_(0x087a0002) +#define DXGI_STATUS_NO_REDIRECTION _HRESULT_TYPEDEF_(0x087a0004) +#define DXGI_STATUS_NO_DESKTOP_ACCESS _HRESULT_TYPEDEF_(0x087a0005) +#define DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE _HRESULT_TYPEDEF_(0x087a0006) +#define DXGI_STATUS_MODE_CHANGED _HRESULT_TYPEDEF_(0x087a0007) +#define DXGI_STATUS_MODE_CHANGE_IN_PROGRESS _HRESULT_TYPEDEF_(0x087a0008) +#define DXGI_STATUS_UNOCCLUDED _HRESULT_TYPEDEF_(0x087a0009) +#define DXGI_STATUS_DDA_WAS_STILL_DRAWING _HRESULT_TYPEDEF_(0x087a000a) +#define DXGI_STATUS_PRESENT_REQUIRED _HRESULT_TYPEDEF_(0x087a002f) + +#define DXGI_ERROR_INVALID_CALL _HRESULT_TYPEDEF_(0x887A0001) +#define DXGI_ERROR_NOT_FOUND _HRESULT_TYPEDEF_(0x887A0002) +#define DXGI_ERROR_MORE_DATA _HRESULT_TYPEDEF_(0x887A0003) +#define DXGI_ERROR_UNSUPPORTED _HRESULT_TYPEDEF_(0x887A0004) +#define DXGI_ERROR_DEVICE_REMOVED _HRESULT_TYPEDEF_(0x887A0005) +#define DXGI_ERROR_DEVICE_HUNG _HRESULT_TYPEDEF_(0x887A0006) +#define DXGI_ERROR_DEVICE_RESET _HRESULT_TYPEDEF_(0x887A0007) +#define DXGI_ERROR_WAS_STILL_DRAWING _HRESULT_TYPEDEF_(0x887A000A) +#define DXGI_ERROR_FRAME_STATISTICS_DISJOINT _HRESULT_TYPEDEF_(0x887A000B) +#define DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE _HRESULT_TYPEDEF_(0x887A000C) +#define DXGI_ERROR_DRIVER_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x887A0020) +#define DXGI_ERROR_NONEXCLUSIVE _HRESULT_TYPEDEF_(0x887A0021) +#define DXGI_ERROR_NOT_CURRENTLY_AVAILABLE _HRESULT_TYPEDEF_(0x887A0022) +#define DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED _HRESULT_TYPEDEF_(0x887A0023) +#define DXGI_ERROR_REMOTE_OUTOFMEMORY _HRESULT_TYPEDEF_(0x887A0024) +#define DXGI_ERROR_ACCESS_LOST _HRESULT_TYPEDEF_(0x887A0026) +#define DXGI_ERROR_WAIT_TIMEOUT _HRESULT_TYPEDEF_(0x887A0027) +#define DXGI_ERROR_SESSION_DISCONNECTED _HRESULT_TYPEDEF_(0x887A0028) +#define DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE _HRESULT_TYPEDEF_(0x887A0029) +#define DXGI_ERROR_CANNOT_PROTECT_CONTENT _HRESULT_TYPEDEF_(0x887A002A) +#define DXGI_ERROR_ACCESS_DENIED _HRESULT_TYPEDEF_(0x887A002B) +#define DXGI_ERROR_NAME_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x887A002C) +#define DXGI_ERROR_SDK_COMPONENT_MISSING _HRESULT_TYPEDEF_(0x887A002D) +#define DXGI_ERROR_NOT_CURRENT _HRESULT_TYPEDEF_(0x887A002E) +#define DXGI_ERROR_HW_PROTECTION_OUTOFMEMORY _HRESULT_TYPEDEF_(0x887A0030) +#define DXGI_ERROR_DYNAMIC_CODE_POLICY_VIOLATION _HRESULT_TYPEDEF_(0x887A0031) +#define DXGI_ERROR_NON_COMPOSITED_UI _HRESULT_TYPEDEF_(0x887A0032) +#define DXGI_ERROR_MODE_CHANGE_IN_PROGRESS _HRESULT_TYPEDEF_(0x887A0025) +#define DXGI_ERROR_CACHE_CORRUPT _HRESULT_TYPEDEF_(0x887A0033) +#define DXGI_ERROR_CACHE_FULL _HRESULT_TYPEDEF_(0x887A0034) +#define DXGI_ERROR_CACHE_HASH_COLLISION _HRESULT_TYPEDEF_(0x887A0035) +#define DXGI_ERROR_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x887A0036) +#define DXGI_DDI_ERR_WASSTILLDRAWING _HRESULT_TYPEDEF_(0x887B0001) +#define DXGI_DDI_ERR_UNSUPPORTED _HRESULT_TYPEDEF_(0x887B0002) +#define DXGI_DDI_ERR_NONEXCLUSIVE _HRESULT_TYPEDEF_(0x887B0003) + +#define D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS _HRESULT_TYPEDEF_(0x88790001) +#define D3D10_ERROR_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x88790002) + +#define D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS _HRESULT_TYPEDEF_(0x887C0001) +#define D3D11_ERROR_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x887C0002) +#define D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS _HRESULT_TYPEDEF_(0x887C0003) +#define D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD _HRESULT_TYPEDEF_(0x887C0004) + +#define D3D12_ERROR_ADAPTER_NOT_FOUND _HRESULT_TYPEDEF_(0x887E0001) +#define D3D12_ERROR_DRIVER_VERSION_MISMATCH _HRESULT_TYPEDEF_(0x887E0002) + +#ifndef D2DERR_WRONG_STATE +/* may be defined from d2derr.h */ +#define D2DERR_WRONG_STATE _HRESULT_TYPEDEF_(0x88990001) +#define D2DERR_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x88990002) +#define D2DERR_UNSUPPORTED_OPERATION _HRESULT_TYPEDEF_(0x88990003) +#define D2DERR_SCANNER_FAILED _HRESULT_TYPEDEF_(0x88990004) +#define D2DERR_SCREEN_ACCESS_DENIED _HRESULT_TYPEDEF_(0x88990005) +#define D2DERR_DISPLAY_STATE_INVALID _HRESULT_TYPEDEF_(0x88990006) +#define D2DERR_ZERO_VECTOR _HRESULT_TYPEDEF_(0x88990007) +#define D2DERR_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x88990008) +#define D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x88990009) +#define D2DERR_INVALID_CALL _HRESULT_TYPEDEF_(0x8899000A) +#define D2DERR_NO_HARDWARE_DEVICE _HRESULT_TYPEDEF_(0x8899000B) +#define D2DERR_RECREATE_TARGET _HRESULT_TYPEDEF_(0x8899000C) +#define D2DERR_TOO_MANY_SHADER_ELEMENTS _HRESULT_TYPEDEF_(0x8899000D) +#define D2DERR_SHADER_COMPILE_FAILED _HRESULT_TYPEDEF_(0x8899000E) +#define D2DERR_MAX_TEXTURE_SIZE_EXCEEDED _HRESULT_TYPEDEF_(0x8899000F) +#define D2DERR_UNSUPPORTED_VERSION _HRESULT_TYPEDEF_(0x88990010) +#define D2DERR_BAD_NUMBER _HRESULT_TYPEDEF_(0x88990011) +#define D2DERR_WRONG_FACTORY _HRESULT_TYPEDEF_(0x88990012) +#define D2DERR_LAYER_ALREADY_IN_USE _HRESULT_TYPEDEF_(0x88990013) +#define D2DERR_POP_CALL_DID_NOT_MATCH_PUSH _HRESULT_TYPEDEF_(0x88990014) +#define D2DERR_WRONG_RESOURCE_DOMAIN _HRESULT_TYPEDEF_(0x88990015) +#define D2DERR_PUSH_POP_UNBALANCED _HRESULT_TYPEDEF_(0x88990016) +#define D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT _HRESULT_TYPEDEF_(0x88990017) +#define D2DERR_INCOMPATIBLE_BRUSH_TYPES _HRESULT_TYPEDEF_(0x88990018) +#define D2DERR_WIN32_ERROR _HRESULT_TYPEDEF_(0x88990019) +#define D2DERR_TARGET_NOT_GDI_COMPATIBLE _HRESULT_TYPEDEF_(0x8899001A) +#define D2DERR_TEXT_EFFECT_IS_WRONG_TYPE _HRESULT_TYPEDEF_(0x8899001B) +#define D2DERR_TEXT_RENDERER_NOT_RELEASED _HRESULT_TYPEDEF_(0x8899001C) +#define D2DERR_EXCEEDS_MAX_BITMAP_SIZE _HRESULT_TYPEDEF_(0x8899001D) +#endif +#define D2DERR_INVALID_GRAPH_CONFIGURATION _HRESULT_TYPEDEF_(0x8899001E) +#define D2DERR_INVALID_INTERNAL_GRAPH_CONFIGURATION _HRESULT_TYPEDEF_(0x8899001F) +#define D2DERR_CYCLIC_GRAPH _HRESULT_TYPEDEF_(0x88990020) +#define D2DERR_BITMAP_CANNOT_DRAW _HRESULT_TYPEDEF_(0x88990021) +#define D2DERR_OUTSTANDING_BITMAP_REFERENCES _HRESULT_TYPEDEF_(0x88990022) +#define D2DERR_ORIGINAL_TARGET_NOT_BOUND _HRESULT_TYPEDEF_(0x88990023) +#define D2DERR_INVALID_TARGET _HRESULT_TYPEDEF_(0x88990024) +#define D2DERR_BITMAP_BOUND_AS_TARGET _HRESULT_TYPEDEF_(0x88990025) +#define D2DERR_INSUFFICIENT_DEVICE_CAPABILITIES _HRESULT_TYPEDEF_(0x88990026) +#define D2DERR_INTERMEDIATE_TOO_LARGE _HRESULT_TYPEDEF_(0x88990027) +#define D2DERR_EFFECT_IS_NOT_REGISTERED _HRESULT_TYPEDEF_(0x88990028) +#define D2DERR_INVALID_PROPERTY _HRESULT_TYPEDEF_(0x88990029) +#define D2DERR_NO_SUBPROPERTIES _HRESULT_TYPEDEF_(0x8899002A) +#define D2DERR_PRINT_JOB_CLOSED _HRESULT_TYPEDEF_(0x8899002B) +#define D2DERR_PRINT_FORMAT_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8899002C) +#define D2DERR_TOO_MANY_TRANSFORM_INPUTS _HRESULT_TYPEDEF_(0x8899002D) +#define D2DERR_INVALID_GLYPH_IMAGE _HRESULT_TYPEDEF_(0x8899002E) + +#if (_WIN32_WINNT >= 0x0600) +#define TBS_E_INTERNAL_ERROR _HRESULT_TYPEDEF_(0x80284001) +#define TBS_E_BAD_PARAMETER _HRESULT_TYPEDEF_(0x80284002) +#define TBS_E_INVALID_OUTPUT_POINTER _HRESULT_TYPEDEF_(0x80284003) +#define TBS_E_INSUFFICIENT_BUFFER _HRESULT_TYPEDEF_(0x80284005) +#define TBS_E_IOERROR _HRESULT_TYPEDEF_(0x80284006) +#define TBS_E_INVALID_CONTEXT_PARAM _HRESULT_TYPEDEF_(0x80284007) +#define TBS_E_SERVICE_NOT_RUNNING _HRESULT_TYPEDEF_(0x80284008) +#define TBS_E_TOO_MANY_TBS_CONTEXTS _HRESULT_TYPEDEF_(0x80284009) +#define TBS_E_SERVICE_START_PENDING _HRESULT_TYPEDEF_(0x8028400B) +#define TBS_E_BUFFER_TOO_LARGE _HRESULT_TYPEDEF_(0x8028400E) +#define TBS_E_TPM_NOT_FOUND _HRESULT_TYPEDEF_(0x8028400F) +#define TBS_E_SERVICE_DISABLED _HRESULT_TYPEDEF_(0x80284010) +#define TBS_E_DEACTIVATED _HRESULT_TYPEDEF_(0x80284016) + +#define FWP_E_CALLOUT_NOT_FOUND _HRESULT_TYPEDEF_(0x80320001) +#define FWP_E_CONDITION_NOT_FOUND _HRESULT_TYPEDEF_(0x80320002) +#define FWP_E_FILTER_NOT_FOUND _HRESULT_TYPEDEF_(0x80320003) +#define FWP_E_LAYER_NOT_FOUND _HRESULT_TYPEDEF_(0x80320004) +#define FWP_E_PROVIDER_NOT_FOUND _HRESULT_TYPEDEF_(0x80320005) +#define FWP_E_PROVIDER_CONTEXT_NOT_FOUND _HRESULT_TYPEDEF_(0x80320006) +#define FWP_E_SUBLAYER_NOT_FOUND _HRESULT_TYPEDEF_(0x80320007) +#define FWP_E_NOT_FOUND _HRESULT_TYPEDEF_(0x80320008) +#define FWP_E_ALREADY_EXISTS _HRESULT_TYPEDEF_(0x80320009) +#define FWP_E_IN_USE _HRESULT_TYPEDEF_(0x8032000A) +#define FWP_E_DYNAMIC_SESSION_IN_PROGRESS _HRESULT_TYPEDEF_(0x8032000B) +#define FWP_E_WRONG_SESSION _HRESULT_TYPEDEF_(0x8032000C) +#define FWP_E_NO_TXN_IN_PROGRESS _HRESULT_TYPEDEF_(0x8032000D) +#define FWP_E_TXN_IN_PROGRESS _HRESULT_TYPEDEF_(0x8032000E) +#define FWP_E_TXN_ABORTED _HRESULT_TYPEDEF_(0x8032000F) +#define FWP_E_SESSION_ABORTED _HRESULT_TYPEDEF_(0x80320010) +#define FWP_E_INCOMPATIBLE_TXN _HRESULT_TYPEDEF_(0x80320011) +#define FWP_E_TIMEOUT _HRESULT_TYPEDEF_(0x80320012) +#define FWP_E_NET_EVENTS_DISABLED _HRESULT_TYPEDEF_(0x80320013) +#define FWP_E_INCOMPATIBLE_LAYER _HRESULT_TYPEDEF_(0x80320014) +#define FWP_E_KM_CLIENTS_ONLY _HRESULT_TYPEDEF_(0x80320015) +#define FWP_E_LIFETIME_MISMATCH _HRESULT_TYPEDEF_(0x80320016) +#define FWP_E_BUILTIN_OBJECT _HRESULT_TYPEDEF_(0x80320017) +#define FWP_E_TOO_MANY_CALLOUTS _HRESULT_TYPEDEF_(0x80320018) +#define FWP_E_NOTIFICATION_DROPPED _HRESULT_TYPEDEF_(0x80320019) +#define FWP_E_TRAFFIC_MISMATCH _HRESULT_TYPEDEF_(0x8032001A) +#define FWP_E_INCOMPATIBLE_SA_STATE _HRESULT_TYPEDEF_(0x8032001B) +#define FWP_E_NULL_POINTER _HRESULT_TYPEDEF_(0x8032001C) +#define FWP_E_INVALID_ENUMERATOR _HRESULT_TYPEDEF_(0x8032001D) +#define FWP_E_INVALID_FLAGS _HRESULT_TYPEDEF_(0x8032001E) +#define FWP_E_INVALID_NET_MASK _HRESULT_TYPEDEF_(0x8032001F) +#define FWP_E_INVALID_RANGE _HRESULT_TYPEDEF_(0x80320020) +#define FWP_E_INVALID_INTERVAL _HRESULT_TYPEDEF_(0x80320021) +#define FWP_E_ZERO_LENGTH_ARRAY _HRESULT_TYPEDEF_(0x80320022) +#define FWP_E_NULL_DISPLAY_NAME _HRESULT_TYPEDEF_(0x80320023) +#define FWP_E_INVALID_ACTION_TYPE _HRESULT_TYPEDEF_(0x80320024) +#define FWP_E_INVALID_WEIGHT _HRESULT_TYPEDEF_(0x80320025) +#define FWP_E_MATCH_TYPE_MISMATCH _HRESULT_TYPEDEF_(0x80320026) +#define FWP_E_TYPE_MISMATCH _HRESULT_TYPEDEF_(0x80320027) +#define FWP_E_OUT_OF_BOUNDS _HRESULT_TYPEDEF_(0x80320028) +#define FWP_E_RESERVED _HRESULT_TYPEDEF_(0x80320029) +#define FWP_E_DUPLICATE_CONDITION _HRESULT_TYPEDEF_(0x8032002A) +#define FWP_E_DUPLICATE_KEYMOD _HRESULT_TYPEDEF_(0x8032002B) +#define FWP_E_ACTION_INCOMPATIBLE_WITH_LAYER _HRESULT_TYPEDEF_(0x8032002C) +#define FWP_E_ACTION_INCOMPATIBLE_WITH_SUBLAYER _HRESULT_TYPEDEF_(0x8032002D) +#define FWP_E_CONTEXT_INCOMPATIBLE_WITH_LAYER _HRESULT_TYPEDEF_(0x8032002E) +#define FWP_E_CONTEXT_INCOMPATIBLE_WITH_CALLOUT _HRESULT_TYPEDEF_(0x8032002F) +#define FWP_E_INCOMPATIBLE_AUTH_METHOD _HRESULT_TYPEDEF_(0x80320030) +#define FWP_E_INCOMPATIBLE_DH_GROUP _HRESULT_TYPEDEF_(0x80320031) +#define FWP_E_EM_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80320032) +#define FWP_E_NEVER_MATCH _HRESULT_TYPEDEF_(0x80320033) +#define FWP_E_PROVIDER_CONTEXT_MISMATCH _HRESULT_TYPEDEF_(0x80320034) +#define FWP_E_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80320035) +#define FWP_E_TOO_MANY_SUBLAYERS _HRESULT_TYPEDEF_(0x80320036) +#define FWP_E_CALLOUT_NOTIFICATION_FAILED _HRESULT_TYPEDEF_(0x80320037) +#define FWP_E_INVALID_AUTH_TRANSFORM _HRESULT_TYPEDEF_(0x80320038) +#define FWP_E_INVALID_CIPHER_TRANSFORM _HRESULT_TYPEDEF_(0x80320039) + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#define WINCODEC_ERR_WRONGSTATE _HRESULT_TYPEDEF_(0x88982f04) +#define WINCODEC_ERR_VALUEOUTOFRANGE _HRESULT_TYPEDEF_(0x88982f05) +#define WINCODEC_ERR_UNKNOWNIMAGEFORMAT _HRESULT_TYPEDEF_(0x88982f07) +#define WINCODEC_ERR_UNSUPPORTEDVERSION _HRESULT_TYPEDEF_(0x88982f0b) +#define WINCODEC_ERR_NOTINITIALIZED _HRESULT_TYPEDEF_(0x88982f0c) +#define WINCODEC_ERR_ALREADYLOCKED _HRESULT_TYPEDEF_(0x88982f0d) +#define WINCODEC_ERR_PROPERTYNOTFOUND _HRESULT_TYPEDEF_(0x88982f40) +#define WINCODEC_ERR_PROPERTYNOTSUPPORTED _HRESULT_TYPEDEF_(0x88982f41) +#define WINCODEC_ERR_PROPERTYSIZE _HRESULT_TYPEDEF_(0x88982f42) +#define WINCODEC_ERR_CODECPRESENT _HRESULT_TYPEDEF_(0x88982f43) +#define WINCODEC_ERR_CODECNOTHUMBNAIL _HRESULT_TYPEDEF_(0x88982f44) +#define WINCODEC_ERR_PALETTEUNAVAILABLE _HRESULT_TYPEDEF_(0x88982f45) +#define WINCODEC_ERR_CODECTOOMANYSCANLINES _HRESULT_TYPEDEF_(0x88982f46) +#define WINCODEC_ERR_INTERNALERROR _HRESULT_TYPEDEF_(0x88982f48) +#define WINCODEC_ERR_SOURCERECTDOESNOTMATCHDIMENSIONS _HRESULT_TYPEDEF_(0x88982f49) +#define WINCODEC_ERR_COMPONENTNOTFOUND _HRESULT_TYPEDEF_(0x88982f50) +#define WINCODEC_ERR_IMAGESIZEOUTOFRANGE _HRESULT_TYPEDEF_(0x88982f51) +#define WINCODEC_ERR_TOOMUCHMETADATA _HRESULT_TYPEDEF_(0x88982f52) +#define WINCODEC_ERR_BADIMAGE _HRESULT_TYPEDEF_(0x88982f60) +#define WINCODEC_ERR_BADHEADER _HRESULT_TYPEDEF_(0x88982f61) +#define WINCODEC_ERR_FRAMEMISSING _HRESULT_TYPEDEF_(0x88982f62) +#define WINCODEC_ERR_BADMETADATAHEADER _HRESULT_TYPEDEF_(0x88982f63) +#define WINCODEC_ERR_BADSTREAMDATA _HRESULT_TYPEDEF_(0x88982f70) +#define WINCODEC_ERR_STREAMWRITE _HRESULT_TYPEDEF_(0x88982f71) +#define WINCODEC_ERR_STREAMREAD _HRESULT_TYPEDEF_(0x88982f72) +#define WINCODEC_ERR_STREAMNOTAVAILABLE _HRESULT_TYPEDEF_(0x88982f73) +#define WINCODEC_ERR_UNSUPPORTEDPIXELFORMAT _HRESULT_TYPEDEF_(0x88982f80) +#define WINCODEC_ERR_UNSUPPORTEDOPERATION _HRESULT_TYPEDEF_(0x88982f81) +#define WINCODEC_ERR_INVALIDREGISTRATION _HRESULT_TYPEDEF_(0x88982f8a) +#define WINCODEC_ERR_COMPONENTINITIALIZEFAILURE _HRESULT_TYPEDEF_(0x88982f8b) +#define WINCODEC_ERR_INSUFFICIENTBUFFER _HRESULT_TYPEDEF_(0x88982f8c) +#define WINCODEC_ERR_DUPLICATEMETADATAPRESENT _HRESULT_TYPEDEF_(0x88982f8d) +#define WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE _HRESULT_TYPEDEF_(0x88982f8e) +#define WINCODEC_ERR_UNEXPECTEDSIZE _HRESULT_TYPEDEF_(0x88982f8f) +#define WINCODEC_ERR_INVALIDQUERYREQUEST _HRESULT_TYPEDEF_(0x88982f90) +#define WINCODEC_ERR_UNEXPECTEDMETADATATYPE _HRESULT_TYPEDEF_(0x88982f91) +#define WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT _HRESULT_TYPEDEF_(0x88982f92) +#define WINCODEC_ERR_INVALIDQUERYCHARACTER _HRESULT_TYPEDEF_(0x88982f93) +#define WINCODEC_ERR_WIN32ERROR _HRESULT_TYPEDEF_(0x88982f94) +#define WINCODEC_ERR_INVALIDPROGRESSIVELEVEL _HRESULT_TYPEDEF_(0x88982f95) +#define WINCODEC_ERR_INVALIDJPEGSCANINDEX _HRESULT_TYPEDEF_(0x88982f96) + +#define NAP_E_INVALID_PACKET _HRESULT_TYPEDEF_(0x80270001) +#define NAP_E_MISSING_SOH _HRESULT_TYPEDEF_(0x80270002) +#define NAP_E_CONFLICTING_ID _HRESULT_TYPEDEF_(0x80270003) +#define NAP_E_NO_CACHED_SOH _HRESULT_TYPEDEF_(0x80270004) +#define NAP_E_STILL_BOUND _HRESULT_TYPEDEF_(0x80270005) +#define NAP_E_NOT_REGISTERED _HRESULT_TYPEDEF_(0x80270006) +#define NAP_E_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x80270007) +#define NAP_E_MISMATCHED_ID _HRESULT_TYPEDEF_(0x80270008) +#define NAP_E_NOT_PENDING _HRESULT_TYPEDEF_(0x80270009) +#define NAP_E_ID_NOT_FOUND _HRESULT_TYPEDEF_(0x8027000A) +#define NAP_E_MAXSIZE_TOO_SMALL _HRESULT_TYPEDEF_(0x8027000B) +#define NAP_E_SERVICE_NOT_RUNNING _HRESULT_TYPEDEF_(0x8027000C) +#define NAP_S_CERT_ALREADY_PRESENT _HRESULT_TYPEDEF_(0x0027000D) +#define NAP_E_ENTITY_DISABLED _HRESULT_TYPEDEF_(0x8027000E) +#define NAP_E_NETSH_GROUPPOLICY_ERROR _HRESULT_TYPEDEF_(0x8027000F) +#define NAP_E_TOO_MANY_CALLS _HRESULT_TYPEDEF_(0x80270010) + +#define NAP_E_SHV_CONFIG_EXISTED _HRESULT_TYPEDEF_(0x80270011) +#define NAP_E_SHV_CONFIG_NOT_FOUND _HRESULT_TYPEDEF_(0x80270012) +#define NAP_E_SHV_TIMEOUT _HRESULT_TYPEDEF_(0x80270013) + +#define E_BLUETOOTH_ATT_INVALID_HANDLE _HRESULT_TYPEDEF_(0x80650001) +#define E_BLUETOOTH_ATT_READ_NOT_PERMITTED _HRESULT_TYPEDEF_(0x80650002) +#define E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED _HRESULT_TYPEDEF_(0x80650003) +#define E_BLUETOOTH_ATT_INVALID_PDU _HRESULT_TYPEDEF_(0x80650004) +#define E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION _HRESULT_TYPEDEF_(0x80650005) +#define E_BLUETOOTH_ATT_REQUEST_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80650006) +#define E_BLUETOOTH_ATT_INVALID_OFFSET _HRESULT_TYPEDEF_(0x80650007) +#define E_BLUETOOTH_ATT_INSUFFICIENT_AUTHORIZATION _HRESULT_TYPEDEF_(0x80650008) +#define E_BLUETOOTH_ATT_PREPARE_QUEUE_FULL _HRESULT_TYPEDEF_(0x80650009) +#define E_BLUETOOTH_ATT_ATTRIBUTE_NOT_FOUND _HRESULT_TYPEDEF_(0x8065000a) +#define E_BLUETOOTH_ATT_ATTRIBUTE_NOT_LONG _HRESULT_TYPEDEF_(0x8065000b) +#define E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION_KEY_SIZE _HRESULT_TYPEDEF_(0x8065000c) +#define E_BLUETOOTH_ATT_INVALID_ATTRIBUTE_VALUE_LENGTH _HRESULT_TYPEDEF_(0x8065000d) +#define E_BLUETOOTH_ATT_UNLIKELY _HRESULT_TYPEDEF_(0x8065000e) +#define E_BLUETOOTH_ATT_INSUFFICIENT_ENCRYPTION _HRESULT_TYPEDEF_(0x8065000f) +#define E_BLUETOOTH_ATT_UNSUPPORTED_GROUP_TYPE _HRESULT_TYPEDEF_(0x80650010) +#define E_BLUETOOTH_ATT_INSUFFICIENT_RESOURCES _HRESULT_TYPEDEF_(0x80650011) +#define E_BLUETOOTH_ATT_UNKNOWN_ERROR _HRESULT_TYPEDEF_(0x80651000) + +#define DWRITE_E_FILEFORMAT _HRESULT_TYPEDEF_(0x88985000L) +#define DWRITE_E_UNEXPECTED _HRESULT_TYPEDEF_(0x88985001L) +#define DWRITE_E_NOFONT _HRESULT_TYPEDEF_(0x88985002L) +#define DWRITE_E_FILENOTFOUND _HRESULT_TYPEDEF_(0x88985003L) +#define DWRITE_E_FILEACCESS _HRESULT_TYPEDEF_(0x88985004L) +#define DWRITE_E_FONTCOLLECTIONOBSOLETE _HRESULT_TYPEDEF_(0x88985005L) +#define DWRITE_E_ALREADYREGISTERED _HRESULT_TYPEDEF_(0x88985006L) +#define DWRITE_E_CACHEFORMAT _HRESULT_TYPEDEF_(0x88985007L) +#define DWRITE_E_CACHEVERSION _HRESULT_TYPEDEF_(0x88985008L) +#define DWRITE_E_UNSUPPORTEDOPERATION _HRESULT_TYPEDEF_(0x88985009L) +#define DWRITE_E_TEXTRENDERERINCOMPATIBLE _HRESULT_TYPEDEF_(0x8898500AL) +#define DWRITE_E_FLOWDIRECTIONCONFLICTS _HRESULT_TYPEDEF_(0x8898500BL) +#define DWRITE_E_NOCOLOR _HRESULT_TYPEDEF_(0x8898500CL) +#define DWRITE_E_REMOTEFONT _HRESULT_TYPEDEF_(0x8898500DL) +#define DWRITE_E_DOWNLOADCANCELLED _HRESULT_TYPEDEF_(0x8898500EL) +#define DWRITE_E_DOWNLOADFAILED _HRESULT_TYPEDEF_(0x8898500FL) +#define DWRITE_E_TOOMANYDOWNLOADS _HRESULT_TYPEDEF_(0x88985010L) + +#include + +#undef __IN__WINERROR_ + +#endif /* _WINERROR_. */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winevt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winevt.h new file mode 100644 index 00000000..add920b2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winevt.h @@ -0,0 +1,591 @@ +/** + * 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 __WINEVT_H__ +#define __WINEVT_H__ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +#define EVT_READ_ACCESS 0x1 +#define EVT_WRITE_ACCESS 0x2 +#define EVT_CLEAR_ACCESS 0x4 +#define EVT_ALL_ACCESS 0x7 + +typedef enum _EVT_CHANNEL_CLOCK_TYPE { + EvtChannelClockTypeSystemTime = 0, + EvtChannelClockTypeQPC = 1 +} EVT_CHANNEL_CLOCK_TYPE; + +typedef enum _EVT_CHANNEL_CONFIG_PROPERTY_ID { + EvtChannelConfigEnabled = 0, + EvtChannelConfigIsolation = 1, + EvtChannelConfigType = 2, + EvtChannelConfigOwningPublisher = 3, + EvtChannelConfigClassicEventlog = 4, + EvtChannelConfigAccess = 5, + EvtChannelLoggingConfigRetention = 6, + EvtChannelLoggingConfigAutoBackup = 7, + EvtChannelLoggingConfigMaxSize = 8, + EvtChannelLoggingConfigLogFilePath = 9, + EvtChannelPublishingConfigLevel = 10, + EvtChannelPublishingConfigKeywords = 11, + EvtChannelPublishingConfigControlGuid = 12, + EvtChannelPublishingConfigBufferSize = 13, + EvtChannelPublishingConfigMinBuffers = 14, + EvtChannelPublishingConfigMaxBuffers = 15, + EvtChannelPublishingConfigLatency = 16, + EvtChannelPublishingConfigClockType = 17, + EvtChannelPublishingConfigSidType = 18, + EvtChannelPublisherList = 19, + EvtChannelPublishingConfigFileMax = 20, + EvtChannelConfigPropertyIdEND = 21 +} EVT_CHANNEL_CONFIG_PROPERTY_ID; + +typedef enum _EVT_CHANNEL_ISOLATION_TYPE { + EvtChannelIsolationTypeApplication = 0, + EvtChannelIsolationTypeSystem = 1, + EvtChannelIsolationTypeCustom = 2 +} EVT_CHANNEL_ISOLATION_TYPE; + +typedef enum _EVT_CHANNEL_REFERENCE_FLAGS { + EvtChannelReferenceImported = 0x1 +} EVT_CHANNEL_REFERENCE_FLAGS; + +typedef enum _EVT_CHANNEL_SID_TYPE { + EvtChannelSidTypeNone = 0, + EvtChannelSidTypePublishing = 1 +} EVT_CHANNEL_SID_TYPE; + +typedef enum _EVT_CHANNEL_TYPE { + EvtChannelTypeAdmin = 0, + EvtChannelTypeOperational = 1, + EvtChannelTypeAnalytic = 2, + EvtChannelTypeDebug = 3 +} EVT_CHANNEL_TYPE; + +typedef enum _EVT_EVENT_METADATA_PROPERTY_ID { + EventMetadataEventID = 0, + EventMetadataEventVersion = 1, + EventMetadataEventChannel = 2, + EventMetadataEventLevel = 3, + EventMetadataEventOpcode = 4, + EventMetadataEventTask = 5, + EventMetadataEventKeyword = 6, + EventMetadataEventMessageID = 7, + EventMetadataEventTemplate = 8, + EvtEventMetadataPropertyIdEND = 9 +} EVT_EVENT_METADATA_PROPERTY_ID; + +typedef enum _EVT_EVENT_PROPERTY_ID { + EvtEventQueryIDs = 0, + EvtEventPath = 1, + EvtEventPropertyIdEND = 2 +} EVT_EVENT_PROPERTY_ID; + +typedef enum _EVT_EXPORTLOG_FLAGS { + EvtExportLogChannelPath = 0x1, + EvtExportLogFilePath = 0x2, + EvtExportLogTolerateQueryErrors = 0x1000 +} EVT_EXPORTLOG_FLAGS; + +typedef enum _EVT_FORMAT_MESSAGE_FLAGS { + EvtFormatMessageEvent = 1, + EvtFormatMessageLevel = 2, + EvtFormatMessageTask = 3, + EvtFormatMessageOpcode = 4, + EvtFormatMessageKeyword = 5, + EvtFormatMessageChannel = 6, + EvtFormatMessageProvider = 7, + EvtFormatMessageId = 8, + EvtFormatMessageXml = 9 +} EVT_FORMAT_MESSAGE_FLAGS; + +typedef enum _EVT_LOG_PROPERTY_ID { + EvtLogCreationTime = 0, + EvtLogLastAccessTime = 1, + EvtLogLastWriteTime = 2, + EvtLogFileSize = 3, + EvtLogAttributes = 4, + EvtLogNumberOfLogRecords = 5, + EvtLogOldestRecordNumber = 6, + EvtLogFull = 7 +} EVT_LOG_PROPERTY_ID; + +typedef enum _EVT_LOGIN_CLASS { + EvtRpcLogin = 1 +} EVT_LOGIN_CLASS; + +typedef enum _EVT_OPEN_LOG_FLAGS { + EvtOpenChannelPath = 0x1, + EvtOpenFilePath = 0x2 +} EVT_OPEN_LOG_FLAGS; + +typedef enum _EVT_PUBLISHER_METADATA_PROPERTY_ID { + EvtPublisherMetadataPublisherGuid = 0, + EvtPublisherMetadataResourceFilePath, + EvtPublisherMetadataParameterFilePath, + EvtPublisherMetadataMessageFilePath, + EvtPublisherMetadataHelpLink, + EvtPublisherMetadataPublisherMessageID, + EvtPublisherMetadataChannelReferences, + EvtPublisherMetadataChannelReferencePath, + EvtPublisherMetadataChannelReferenceIndex, + EvtPublisherMetadataChannelReferenceID, + EvtPublisherMetadataChannelReferenceFlags, + EvtPublisherMetadataChannelReferenceMessageID, + EvtPublisherMetadataLevels, + EvtPublisherMetadataLevelName, + EvtPublisherMetadataLevelValue, + EvtPublisherMetadataLevelMessageID, + EvtPublisherMetadataTasks, + EvtPublisherMetadataTaskName, + EvtPublisherMetadataTaskEventGuid, + EvtPublisherMetadataTaskValue, + EvtPublisherMetadataTaskMessageID, + EvtPublisherMetadataOpcodes, + EvtPublisherMetadataOpcodeName, + EvtPublisherMetadataOpcodeValue, + EvtPublisherMetadataOpcodeMessageID, + EvtPublisherMetadataKeywords, + EvtPublisherMetadataKeywordName, + EvtPublisherMetadataKeywordValue, + EvtPublisherMetadataKeywordMessageID, + EvtPublisherMetadataPropertyIdEND +} EVT_PUBLISHER_METADATA_PROPERTY_ID; + +typedef enum _EVT_QUERY_FLAGS { + EvtQueryChannelPath = 0x1, + EvtQueryFilePath = 0x2, + EvtQueryForwardDirection = 0x100, + EvtQueryReverseDirection = 0x200, + EvtQueryTolerateQueryErrors = 0x1000 +} EVT_QUERY_FLAGS; + +typedef enum _EVT_QUERY_PROPERTY_ID { + EvtQueryNames = 0, + EvtQueryStatuses = 1, + EvtQueryPropertyIdEND = 2 +} EVT_QUERY_PROPERTY_ID; + +typedef enum _EVT_RENDER_CONTEXT_FLAGS { + EvtRenderContextValues = 0, + EvtRenderContextSystem = 1, + EvtRenderContextUser = 2 +} EVT_RENDER_CONTEXT_FLAGS; + +typedef enum _EVT_RENDER_FLAGS { + EvtRenderEventValues = 0, + EvtRenderEventXml = 1, + EvtRenderBookmark = 2 +} EVT_RENDER_FLAGS; + +typedef struct _EVT_RPC_LOGIN { + LPWSTR Server; + LPWSTR User; + LPWSTR Domain; + LPWSTR Password; + DWORD Flags; +} EVT_RPC_LOGIN; + +typedef enum _EVT_RPC_LOGIN_FLAGS { + EvtRpcLoginAuthDefault = 0, + EvtRpcLoginAuthNegotiate = 1, + EvtRpcLoginAuthKerberos = 2, + EvtRpcLoginAuthNTLM = 3 +} EVT_RPC_LOGIN_FLAGS; + +typedef enum _EVT_SEEK_FLAGS { + EvtSeekRelativeToFirst = 1, + EvtSeekRelativeToLast = 2, + EvtSeekRelativeToCurrent = 3, + EvtSeekRelativeToBookmark = 4, + EvtSeekOriginMask = 7, + EvtSeekStrict = 0x10000 +} EVT_SEEK_FLAGS; + +typedef enum _EVT_SUBSCRIBE_FLAGS { + EvtSubscribeToFutureEvents = 1, + EvtSubscribeStartAtOldestRecord = 2, + EvtSubscribeStartAfterBookmark = 3, + EvtSubscribeOriginMask = 0x3, + EvtSubscribeTolerateQueryErrors = 0x1000, + EvtSubscribeStrict = 0x10000 +} EVT_SUBSCRIBE_FLAGS; + +typedef enum _EVT_SUBSCRIBE_NOTIFY_ACTION { + EvtSubscribeActionError = 0, + EvtSubscribeActionDeliver = 1 +} EVT_SUBSCRIBE_NOTIFY_ACTION; + +typedef enum _EVT_SYSTEM_PROPERTY_ID { + EvtSystemProviderName = 0, + EvtSystemProviderGuid, + EvtSystemEventID, + EvtSystemQualifiers, + EvtSystemLevel, + EvtSystemTask, + EvtSystemOpcode, + EvtSystemKeywords, + EvtSystemTimeCreated, + EvtSystemEventRecordId, + EvtSystemActivityID, + EvtSystemRelatedActivityID, + EvtSystemProcessID, + EvtSystemThreadID, + EvtSystemChannel, + EvtSystemComputer, + EvtSystemUserID, + EvtSystemVersion, + EvtSystemPropertyIdEND +} EVT_SYSTEM_PROPERTY_ID; + +typedef enum _EVT_VARIANT_TYPE { + EvtVarTypeNull = 0, + EvtVarTypeString = 1, + EvtVarTypeAnsiString = 2, + EvtVarTypeSByte = 3, + EvtVarTypeByte = 4, + EvtVarTypeInt16 = 5, + EvtVarTypeUInt16 = 6, + EvtVarTypeInt32 = 7, + EvtVarTypeUInt32 = 8, + EvtVarTypeInt64 = 9, + EvtVarTypeUInt64 = 10, + EvtVarTypeSingle = 11, + EvtVarTypeDouble = 12, + EvtVarTypeBoolean = 13, + EvtVarTypeBinary = 14, + EvtVarTypeGuid = 15, + EvtVarTypeSizeT = 16, + EvtVarTypeFileTime = 17, + EvtVarTypeSysTime = 18, + EvtVarTypeSid = 19, + EvtVarTypeHexInt32 = 20, + EvtVarTypeHexInt64 = 21, + EvtVarTypeEvtHandle = 32, + EvtVarTypeEvtXml = 35 +} EVT_VARIANT_TYPE; + +#define EVT_VARIANT_TYPE_MASK 0x7f +#define EVT_VARIANT_TYPE_ARRAY 128 + +typedef HANDLE EVT_HANDLE; +typedef HANDLE EVT_OBJECT_ARRAY_PROPERTY_HANDLE; + +typedef struct _EVT_VARIANT { + __C89_NAMELESS union { + WINBOOL BooleanVal; + INT8 SByteVal; + INT16 Int16Val; + INT32 Int32Val; + INT64 Int64Val; + UINT8 ByteVal; + UINT16 UInt16Val; + UINT32 UInt32Val; + UINT64 UInt64Val; + float SingleVal; + double DoubleVal; + ULONGLONG FileTimeVal; + SYSTEMTIME *SysTimeVal; + GUID *GuidVal; + LPCWSTR StringVal; + LPCSTR AnsiStringVal; + PBYTE BinaryVal; + PSID SidVal; + size_t SizeTVal; + EVT_HANDLE EvtHandleVal; + BOOL *BooleanArr; + INT8 *SByteArr; + INT16 *Int16Arr; + INT32 *Int32Arr; + INT64 *Int64Arr; + UINT8 *ByteArr; + UINT16 *UInt16Arr; + UINT32 *UInt32Arr; + UINT64 *UInt64Arr; + float *SingleArr; + double *DoubleArr; + FILETIME *FileTimeArr; + SYSTEMTIME *SysTimeArr; + GUID *GuidArr; + LPWSTR *StringArr; + LPSTR *AnsiStringArr; + PSID *SidArr; + size_t *SizeTArr; + LPCWSTR XmlVal; + LPCWSTR* XmlValArr; + }; + DWORD Count; + DWORD Type; +} EVT_VARIANT, *PEVT_VARIANT; + +typedef DWORD ( WINAPI *EVT_SUBSCRIBE_CALLBACK )( + EVT_SUBSCRIBE_NOTIFY_ACTION Action, + PVOID UserContext, + EVT_HANDLE Event +); + +WINBOOL WINAPI EvtArchiveExportedLog( + EVT_HANDLE Session, + LPCWSTR LogFilePath, + LCID Locale, + DWORD Flags +); + +WINBOOL WINAPI EvtCancel( + EVT_HANDLE Object +); + +WINBOOL WINAPI EvtClearLog( + EVT_HANDLE Session, + LPCWSTR ChannelPath, + LPCWSTR TargetFilePath, + DWORD Flags +); + +WINBOOL WINAPI EvtClose( + EVT_HANDLE Object +); + +EVT_HANDLE WINAPI EvtCreateBookmark( + LPCWSTR BookmarkXml +); + +EVT_HANDLE WINAPI EvtCreateRenderContext( + DWORD ValuePathsCount, + LPCWSTR *ValuePaths, + DWORD Flags +); + +WINBOOL WINAPI EvtExportLog( + EVT_HANDLE Session, + LPCWSTR Path, + LPCWSTR Query, + LPCWSTR TargetFilePath, + DWORD Flags +); + +WINBOOL WINAPI EvtFormatMessage( + EVT_HANDLE PublisherMetadata, + EVT_HANDLE Event, + DWORD MessageId, + DWORD ValueCount, + PEVT_VARIANT Values, + DWORD Flags, + DWORD BufferSize, + LPWSTR Buffer, + PDWORD BufferUsed +); + +WINBOOL WINAPI EvtGetChannelConfigProperty( + EVT_HANDLE ChannelConfig, + EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, + DWORD Flags, + DWORD PropertyValueBufferSize, + PEVT_VARIANT PropertyValueBuffer, + PDWORD PropertyValueBufferUsed +); + +WINBOOL WINAPI EvtGetEventInfo( + EVT_HANDLE Event, + EVT_EVENT_PROPERTY_ID PropertyId, + DWORD PropertyValueBufferSize, + PEVT_VARIANT PropertyValueBuffer, + PDWORD PropertyValueBufferUsed +); + +WINBOOL WINAPI EvtGetEventMetadataProperty( + EVT_HANDLE EventMetadata, + EVT_EVENT_METADATA_PROPERTY_ID PropertyId, + DWORD Flags, + DWORD EventMetadataPropertyBufferSize, + PEVT_VARIANT EventMetadataPropertyBuffer, + PDWORD EventMetadataPropertyBufferUsed +); + +DWORD WINAPI EvtGetExtendedStatus( + DWORD BufferSize, + LPWSTR Buffer, + PDWORD BufferUsed +); + +WINBOOL WINAPI EvtGetLogInfo( + EVT_HANDLE Log, + EVT_LOG_PROPERTY_ID PropertyId, + DWORD PropertyValueBufferSize, + PEVT_VARIANT PropertyValueBuffer, + PDWORD PropertyValueBufferUsed +); + +WINBOOL WINAPI EvtGetObjectArrayProperty( + EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, + DWORD PropertyId, + DWORD ArrayIndex, + DWORD Flags, + DWORD PropertyValueBufferSize, + PEVT_VARIANT PropertyValueBuffer, + PDWORD PropertyValueBufferUsed +); + +WINBOOL WINAPI EvtGetObjectArraySize( + EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray, + PDWORD ObjectArraySize +); + +WINBOOL WINAPI EvtGetPublisherMetadataProperty( + EVT_HANDLE PublisherMetadata, + EVT_PUBLISHER_METADATA_PROPERTY_ID PropertyId, + DWORD Flags, + DWORD PublisherMetadataPropertyBufferSize, + PEVT_VARIANT PublisherMetadataPropertyBuffer, + PDWORD PublisherMetadataPropertyBufferUsed +); + +WINBOOL WINAPI EvtGetQueryInfo( + EVT_HANDLE QueryOrSubscription, + EVT_QUERY_PROPERTY_ID PropertyId, + DWORD PropertyValueBufferSize, + PEVT_VARIANT PropertyValueBuffer, + PDWORD PropertyValueBufferUsed +); + +WINBOOL WINAPI EvtNext( + EVT_HANDLE ResultSet, + DWORD EventArraySize, + EVT_HANDLE* EventArray, + DWORD Timeout, + DWORD Flags, + PDWORD Returned +); + +WINBOOL WINAPI EvtNextChannelPath( + EVT_HANDLE ChannelEnum, + DWORD ChannelPathBufferSize, + LPWSTR ChannelPathBuffer, + PDWORD ChannelPathBufferUsed +); + +EVT_HANDLE WINAPI EvtNextEventMetadata( + EVT_HANDLE EventMetadataEnum, + DWORD Flags +); + +WINBOOL WINAPI EvtNextPublisherId( + EVT_HANDLE PublisherEnum, + DWORD PublisherIdBufferSize, + LPWSTR PublisherIdBuffer, + PDWORD PublisherIdBufferUsed +); + +EVT_HANDLE WINAPI EvtOpenChannelConfig( + EVT_HANDLE Session, + LPCWSTR ChannelPath, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenChannelEnum( + EVT_HANDLE Session, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenEventMetadataEnum( + EVT_HANDLE PublisherMetadata, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenLog( + EVT_HANDLE Session, + LPCWSTR Path, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenPublisherEnum( + EVT_HANDLE Session, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenPublisherMetadata( + EVT_HANDLE Session, + LPCWSTR PublisherIdentity, + LPCWSTR LogFilePath, + LCID Locale, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtOpenSession( + EVT_LOGIN_CLASS LoginClass, + PVOID Login, + DWORD Timeout, + DWORD Flags +); + +EVT_HANDLE WINAPI EvtQuery( + EVT_HANDLE Session, + LPCWSTR Path, + LPCWSTR Query, + DWORD Flags +); + +WINBOOL WINAPI EvtRender( + EVT_HANDLE Context, + EVT_HANDLE Fragment, + DWORD Flags, + DWORD BufferSize, + PVOID Buffer, + PDWORD BufferUsed, + PDWORD PropertyCount +); + +WINBOOL WINAPI EvtSaveChannelConfig( + EVT_HANDLE ChannelConfig, + DWORD Flags +); + +WINBOOL WINAPI EvtSeek( + EVT_HANDLE ResultSet, + LONGLONG Position, + EVT_HANDLE Bookmark, + DWORD Timeout, + DWORD Flags +); + +WINBOOL WINAPI EvtSetChannelConfigProperty( + EVT_HANDLE ChannelConfig, + EVT_CHANNEL_CONFIG_PROPERTY_ID PropertyId, + DWORD Flags, + PEVT_VARIANT PropertyValue +); + +EVT_HANDLE WINAPI EvtSubscribe( + EVT_HANDLE Session, + HANDLE SignalEvent, + LPCWSTR ChannelPath, + LPCWSTR Query, + EVT_HANDLE Bookmark, + PVOID context, + EVT_SUBSCRIBE_CALLBACK Callback, + DWORD Flags +); + +WINBOOL WINAPI EvtUpdateBookmark( + EVT_HANDLE Bookmark, + EVT_HANDLE Event +); + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /* WINAPI_PARTITION_DESKTOP */ +#endif /*__WINEVT_H__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wingdi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wingdi.h new file mode 100644 index 00000000..5b69f412 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wingdi.h @@ -0,0 +1,4510 @@ +/** + * 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 _WINGDI_ +#define _WINGDI_ + +#include +#include <_mingw_unicode.h> + +#ifdef _GDI32_ +#define WINGDIAPI +#else +#define WINGDIAPI DECLSPEC_IMPORT +#endif + +#ifdef _SPOOL32_ +#define WINSPOOLAPI +#else +#define WINSPOOLAPI DECLSPEC_IMPORT +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0502 +#endif + +#ifndef NOGDI +#ifndef NORASTEROPS +#define R2_BLACK 1 +#define R2_NOTMERGEPEN 2 +#define R2_MASKNOTPEN 3 +#define R2_NOTCOPYPEN 4 +#define R2_MASKPENNOT 5 +#define R2_NOT 6 +#define R2_XORPEN 7 +#define R2_NOTMASKPEN 8 +#define R2_MASKPEN 9 +#define R2_NOTXORPEN 10 +#define R2_NOP 11 +#define R2_MERGENOTPEN 12 +#define R2_COPYPEN 13 +#define R2_MERGEPENNOT 14 +#define R2_MERGEPEN 15 +#define R2_WHITE 16 +#define R2_LAST 16 + +#define SRCCOPY (DWORD)0x00CC0020 +#define SRCPAINT (DWORD)0x00EE0086 +#define SRCAND (DWORD)0x008800C6 +#define SRCINVERT (DWORD)0x00660046 +#define SRCERASE (DWORD)0x00440328 +#define NOTSRCCOPY (DWORD)0x00330008 +#define NOTSRCERASE (DWORD)0x001100A6 +#define MERGECOPY (DWORD)0x00C000CA +#define MERGEPAINT (DWORD)0x00BB0226 +#define PATCOPY (DWORD)0x00F00021 +#define PATPAINT (DWORD)0x00FB0A09 +#define PATINVERT (DWORD)0x005A0049 +#define DSTINVERT (DWORD)0x00550009 +#define BLACKNESS (DWORD)0x00000042 +#define WHITENESS (DWORD)0x00FF0062 +#define NOMIRRORBITMAP (DWORD)0x80000000 +#define CAPTUREBLT (DWORD)0x40000000 +#define MAKEROP4(fore,back) (DWORD)((((back) << 8) & 0xFF000000) | (fore)) +#endif /* NORASTEROPS */ + +#define GDI_ERROR (__MSABI_LONG(0xFFFFFFFF)) +#define HGDI_ERROR (LongToHandle(0xFFFFFFFF)) + +#define ERROR 0 +#define NULLREGION 1 +#define SIMPLEREGION 2 +#define COMPLEXREGION 3 +#define RGN_ERROR ERROR + +#define RGN_AND 1 +#define RGN_OR 2 +#define RGN_XOR 3 +#define RGN_DIFF 4 +#define RGN_COPY 5 +#define RGN_MIN RGN_AND +#define RGN_MAX RGN_COPY + +#define BLACKONWHITE 1 +#define WHITEONBLACK 2 +#define COLORONCOLOR 3 +#define HALFTONE 4 +#define MAXSTRETCHBLTMODE 4 + +#define STRETCH_ANDSCANS BLACKONWHITE +#define STRETCH_ORSCANS WHITEONBLACK +#define STRETCH_DELETESCANS COLORONCOLOR +#define STRETCH_HALFTONE HALFTONE + +#define ALTERNATE 1 +#define WINDING 2 +#define POLYFILL_LAST 2 + +#define LAYOUT_RTL 0x00000001 +#define LAYOUT_BTT 0x00000002 +#define LAYOUT_VBH 0x00000004 +#define LAYOUT_ORIENTATIONMASK (LAYOUT_RTL | LAYOUT_BTT | LAYOUT_VBH) +#define LAYOUT_BITMAPORIENTATIONPRESERVED 0x00000008 + +#define TA_NOUPDATECP 0 +#define TA_UPDATECP 1 + +#define TA_LEFT 0 +#define TA_RIGHT 2 +#define TA_CENTER 6 + +#define TA_TOP 0 +#define TA_BOTTOM 8 +#define TA_BASELINE 24 +#define TA_RTLREADING 256 +#define TA_MASK (TA_BASELINE+TA_CENTER+TA_UPDATECP+TA_RTLREADING) + +#define VTA_BASELINE TA_BASELINE +#define VTA_LEFT TA_BOTTOM +#define VTA_RIGHT TA_TOP +#define VTA_CENTER TA_CENTER +#define VTA_BOTTOM TA_RIGHT +#define VTA_TOP TA_LEFT + +#define ETO_OPAQUE 0x0002 +#define ETO_CLIPPED 0x0004 +#define ETO_GLYPH_INDEX 0x0010 +#define ETO_RTLREADING 0x0080 +#define ETO_NUMERICSLOCAL 0x0400 +#define ETO_NUMERICSLATIN 0x0800 +#define ETO_IGNORELANGUAGE 0x1000 +#define ETO_PDY 0x2000 +#if _WIN32_WINNT >= 0x0600 +#define ETO_REVERSE_INDEX_MAP 0x10000 +#endif + +#define ASPECT_FILTERING 0x0001 + +#define DCB_RESET 0x0001 +#define DCB_ACCUMULATE 0x0002 +#define DCB_DIRTY DCB_ACCUMULATE +#define DCB_SET (DCB_RESET | DCB_ACCUMULATE) +#define DCB_ENABLE 0x0004 +#define DCB_DISABLE 0x0008 + +#ifndef NOMETAFILE + +#define META_SETBKCOLOR 0x0201 +#define META_SETBKMODE 0x0102 +#define META_SETMAPMODE 0x0103 +#define META_SETROP2 0x0104 +#define META_SETRELABS 0x0105 +#define META_SETPOLYFILLMODE 0x0106 +#define META_SETSTRETCHBLTMODE 0x0107 +#define META_SETTEXTCHAREXTRA 0x0108 +#define META_SETTEXTCOLOR 0x0209 +#define META_SETTEXTJUSTIFICATION 0x020A +#define META_SETWINDOWORG 0x020B +#define META_SETWINDOWEXT 0x020C +#define META_SETVIEWPORTORG 0x020D +#define META_SETVIEWPORTEXT 0x020E +#define META_OFFSETWINDOWORG 0x020F +#define META_SCALEWINDOWEXT 0x0410 +#define META_OFFSETVIEWPORTORG 0x0211 +#define META_SCALEVIEWPORTEXT 0x0412 +#define META_LINETO 0x0213 +#define META_MOVETO 0x0214 +#define META_EXCLUDECLIPRECT 0x0415 +#define META_INTERSECTCLIPRECT 0x0416 +#define META_ARC 0x0817 +#define META_ELLIPSE 0x0418 +#define META_FLOODFILL 0x0419 +#define META_PIE 0x081A +#define META_RECTANGLE 0x041B +#define META_ROUNDRECT 0x061C +#define META_PATBLT 0x061D +#define META_SAVEDC 0x001E +#define META_SETPIXEL 0x041F +#define META_OFFSETCLIPRGN 0x0220 +#define META_TEXTOUT 0x0521 +#define META_BITBLT 0x0922 +#define META_STRETCHBLT 0x0B23 +#define META_POLYGON 0x0324 +#define META_POLYLINE 0x0325 +#define META_ESCAPE 0x0626 +#define META_RESTOREDC 0x0127 +#define META_FILLREGION 0x0228 +#define META_FRAMEREGION 0x0429 +#define META_INVERTREGION 0x012A +#define META_PAINTREGION 0x012B +#define META_SELECTCLIPREGION 0x012C +#define META_SELECTOBJECT 0x012D +#define META_SETTEXTALIGN 0x012E +#define META_CHORD 0x0830 +#define META_SETMAPPERFLAGS 0x0231 +#define META_EXTTEXTOUT 0x0a32 +#define META_SETDIBTODEV 0x0d33 +#define META_SELECTPALETTE 0x0234 +#define META_REALIZEPALETTE 0x0035 +#define META_ANIMATEPALETTE 0x0436 +#define META_SETPALENTRIES 0x0037 +#define META_POLYPOLYGON 0x0538 +#define META_RESIZEPALETTE 0x0139 +#define META_DIBBITBLT 0x0940 +#define META_DIBSTRETCHBLT 0x0b41 +#define META_DIBCREATEPATTERNBRUSH 0x0142 +#define META_STRETCHDIB 0x0f43 +#define META_EXTFLOODFILL 0x0548 +#define META_SETLAYOUT 0x0149 +#define META_DELETEOBJECT 0x01f0 +#define META_CREATEPALETTE 0x00f7 +#define META_CREATEPATTERNBRUSH 0x01F9 +#define META_CREATEPENINDIRECT 0x02FA +#define META_CREATEFONTINDIRECT 0x02FB +#define META_CREATEBRUSHINDIRECT 0x02FC +#define META_CREATEREGION 0x06FF + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _DRAWPATRECT { + POINT ptPosition; + POINT ptSize; + WORD wStyle; + WORD wPattern; + } DRAWPATRECT,*PDRAWPATRECT; +#endif + +#endif /* NOMETAFILE */ + +#define NEWFRAME 1 +#define ABORTDOC 2 +#define NEXTBAND 3 +#define SETCOLORTABLE 4 +#define GETCOLORTABLE 5 +#define FLUSHOUTPUT 6 +#define DRAFTMODE 7 +#define QUERYESCSUPPORT 8 +#define SETABORTPROC 9 +#define STARTDOC 10 +#define ENDDOC 11 +#define GETPHYSPAGESIZE 12 +#define GETPRINTINGOFFSET 13 +#define GETSCALINGFACTOR 14 +#define MFCOMMENT 15 +#define GETPENWIDTH 16 +#define SETCOPYCOUNT 17 +#define SELECTPAPERSOURCE 18 +#define DEVICEDATA 19 +#define PASSTHROUGH 19 +#define GETTECHNOLGY 20 +#define GETTECHNOLOGY 20 +#define SETLINECAP 21 +#define SETLINEJOIN 22 +#define SETMITERLIMIT 23 +#define BANDINFO 24 +#define DRAWPATTERNRECT 25 +#define GETVECTORPENSIZE 26 +#define GETVECTORBRUSHSIZE 27 +#define ENABLEDUPLEX 28 +#define GETSETPAPERBINS 29 +#define GETSETPRINTORIENT 30 +#define ENUMPAPERBINS 31 +#define SETDIBSCALING 32 +#define EPSPRINTING 33 +#define ENUMPAPERMETRICS 34 +#define GETSETPAPERMETRICS 35 +#define POSTSCRIPT_DATA 37 +#define POSTSCRIPT_IGNORE 38 +#define MOUSETRAILS 39 +#define GETDEVICEUNITS 42 + +#define GETEXTENDEDTEXTMETRICS 256 +#define GETEXTENTTABLE 257 +#define GETPAIRKERNTABLE 258 +#define GETTRACKKERNTABLE 259 +#define EXTTEXTOUT 512 +#define GETFACENAME 513 +#define DOWNLOADFACE 514 +#define ENABLERELATIVEWIDTHS 768 +#define ENABLEPAIRKERNING 769 +#define SETKERNTRACK 770 +#define SETALLJUSTVALUES 771 +#define SETCHARSET 772 + +#define STRETCHBLT 2048 +#define METAFILE_DRIVER 2049 +#define GETSETSCREENPARAMS 3072 +#define QUERYDIBSUPPORT 3073 +#define BEGIN_PATH 4096 +#define CLIP_TO_PATH 4097 +#define END_PATH 4098 +#define EXT_DEVICE_CAPS 4099 +#define RESTORE_CTM 4100 +#define SAVE_CTM 4101 +#define SET_ARC_DIRECTION 4102 +#define SET_BACKGROUND_COLOR 4103 +#define SET_POLY_MODE 4104 +#define SET_SCREEN_ANGLE 4105 +#define SET_SPREAD 4106 +#define TRANSFORM_CTM 4107 +#define SET_CLIP_BOX 4108 +#define SET_BOUNDS 4109 +#define SET_MIRROR_MODE 4110 +#define OPENCHANNEL 4110 +#define DOWNLOADHEADER 4111 +#define CLOSECHANNEL 4112 +#define POSTSCRIPT_PASSTHROUGH 4115 +#define ENCAPSULATED_POSTSCRIPT 4116 + +#define POSTSCRIPT_IDENTIFY 4117 +#define POSTSCRIPT_INJECTION 4118 + +#define CHECKJPEGFORMAT 4119 +#define CHECKPNGFORMAT 4120 + +#define GET_PS_FEATURESETTING 4121 +#define GDIPLUS_TS_QUERYVER 4122 +#define GDIPLUS_TS_RECORD 4123 + +#if _WIN32_WINNT >= 0x0600 +#define MILCORE_TS_QUERYVER_RESULT_FALSE 0x0 +#define MILCORE_TS_QUERYVER_RESULT_TRUE 0x7FFFFFFF +#endif + +#define SPCLPASSTHROUGH2 4568 + +#define PSIDENT_GDICENTRIC 0 +#define PSIDENT_PSCENTRIC 1 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _PSINJECTDATA { + DWORD DataBytes; + WORD InjectionPoint; + WORD PageNumber; + } PSINJECTDATA,*PPSINJECTDATA; +#endif + +#define PSINJECT_BEGINSTREAM 1 +#define PSINJECT_PSADOBE 2 +#define PSINJECT_PAGESATEND 3 +#define PSINJECT_PAGES 4 + +#define PSINJECT_DOCNEEDEDRES 5 +#define PSINJECT_DOCSUPPLIEDRES 6 +#define PSINJECT_PAGEORDER 7 +#define PSINJECT_ORIENTATION 8 +#define PSINJECT_BOUNDINGBOX 9 +#define PSINJECT_DOCUMENTPROCESSCOLORS 10 + +#define PSINJECT_COMMENTS 11 +#define PSINJECT_BEGINDEFAULTS 12 +#define PSINJECT_ENDDEFAULTS 13 +#define PSINJECT_BEGINPROLOG 14 +#define PSINJECT_ENDPROLOG 15 +#define PSINJECT_BEGINSETUP 16 +#define PSINJECT_ENDSETUP 17 +#define PSINJECT_TRAILER 18 +#define PSINJECT_EOF 19 +#define PSINJECT_ENDSTREAM 20 +#define PSINJECT_DOCUMENTPROCESSCOLORSATEND 21 + +#define PSINJECT_PAGENUMBER 100 +#define PSINJECT_BEGINPAGESETUP 101 +#define PSINJECT_ENDPAGESETUP 102 +#define PSINJECT_PAGETRAILER 103 +#define PSINJECT_PLATECOLOR 104 + +#define PSINJECT_SHOWPAGE 105 +#define PSINJECT_PAGEBBOX 106 +#define PSINJECT_ENDPAGECOMMENTS 107 + +#define PSINJECT_VMSAVE 200 +#define PSINJECT_VMRESTORE 201 + +#define PSINJECT_DLFONT 0xdddddddd + +#define FEATURESETTING_NUP 0 +#define FEATURESETTING_OUTPUT 1 +#define FEATURESETTING_PSLEVEL 2 +#define FEATURESETTING_CUSTPAPER 3 +#define FEATURESETTING_MIRROR 4 +#define FEATURESETTING_NEGATIVE 5 +#define FEATURESETTING_PROTOCOL 6 + +#define FEATURESETTING_PRIVATE_BEGIN 0x1000 +#define FEATURESETTING_PRIVATE_END 0x1FFF + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _PSFEATURE_OUTPUT { + WINBOOL bPageIndependent; + WINBOOL bSetPageDevice; + } PSFEATURE_OUTPUT,*PPSFEATURE_OUTPUT; + + typedef struct _PSFEATURE_CUSTPAPER { + LONG lOrientation; + LONG lWidth; + LONG lHeight; + LONG lWidthOffset; + LONG lHeightOffset; + } PSFEATURE_CUSTPAPER,*PPSFEATURE_CUSTPAPER; +#endif + +#define PSPROTOCOL_ASCII 0 +#define PSPROTOCOL_BCP 1 +#define PSPROTOCOL_TBCP 2 +#define PSPROTOCOL_BINARY 3 + +#define QDI_SETDIBITS 1 +#define QDI_GETDIBITS 2 +#define QDI_DIBTOSCREEN 4 +#define QDI_STRETCHDIB 8 + +#define SP_NOTREPORTED 0x4000 +#define SP_ERROR (-1) +#define SP_APPABORT (-2) +#define SP_USERABORT (-3) +#define SP_OUTOFDISK (-4) +#define SP_OUTOFMEMORY (-5) + +#define PR_JOBSTATUS 0x0000 + +#define OBJ_PEN 1 +#define OBJ_BRUSH 2 +#define OBJ_DC 3 +#define OBJ_METADC 4 +#define OBJ_PAL 5 +#define OBJ_FONT 6 +#define OBJ_BITMAP 7 +#define OBJ_REGION 8 +#define OBJ_METAFILE 9 +#define OBJ_MEMDC 10 +#define OBJ_EXTPEN 11 +#define OBJ_ENHMETADC 12 +#define OBJ_ENHMETAFILE 13 +#define OBJ_COLORSPACE 14 + +#define GDI_OBJ_LAST OBJ_COLORSPACE + +#define GDI_MIN_OBJ_TYPE OBJ_PEN +#define GDI_MAX_OBJ_TYPE GDI_OBJ_LAST + +#define MWT_IDENTITY 1 +#define MWT_LEFTMULTIPLY 2 +#define MWT_RIGHTMULTIPLY 3 + +#define MWT_MIN MWT_IDENTITY +#define MWT_MAX MWT_RIGHTMULTIPLY + +#define _XFORM_ +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagXFORM { + FLOAT eM11; + FLOAT eM12; + FLOAT eM21; + FLOAT eM22; + FLOAT eDx; + FLOAT eDy; + } XFORM,*PXFORM,*LPXFORM; + + typedef struct tagBITMAP { + LONG bmType; + LONG bmWidth; + LONG bmHeight; + LONG bmWidthBytes; + WORD bmPlanes; + WORD bmBitsPixel; + LPVOID bmBits; + } BITMAP,*PBITMAP,*NPBITMAP,*LPBITMAP; + +#include + typedef struct tagRGBTRIPLE { + BYTE rgbtBlue; + BYTE rgbtGreen; + BYTE rgbtRed; + } RGBTRIPLE,*PRGBTRIPLE,*NPRGBTRIPLE,*LPRGBTRIPLE; +#include + + typedef struct tagRGBQUAD { + BYTE rgbBlue; + BYTE rgbGreen; + BYTE rgbRed; + BYTE rgbReserved; + } RGBQUAD; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef RGBQUAD *LPRGBQUAD; +#endif + +#define CS_ENABLE __MSABI_LONG(0x00000001) +#define CS_DISABLE __MSABI_LONG(0x00000002) +#define CS_DELETE_TRANSFORM __MSABI_LONG(0x00000003) + +#define LCS_SIGNATURE 'PSOC' + +#define LCS_sRGB 'sRGB' +#define LCS_WINDOWS_COLOR_SPACE 'Win ' + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef LONG LCSCSTYPE; +#define LCS_CALIBRATED_RGB __MSABI_LONG(0x00000000) + + typedef LONG LCSGAMUTMATCH; +#define LCS_GM_BUSINESS __MSABI_LONG(0x00000001) +#define LCS_GM_GRAPHICS __MSABI_LONG(0x00000002) +#define LCS_GM_IMAGES __MSABI_LONG(0x00000004) +#define LCS_GM_ABS_COLORIMETRIC __MSABI_LONG(0x00000008) + +#define CM_OUT_OF_GAMUT 255 +#define CM_IN_GAMUT 0 + +#define ICM_ADDPROFILE 1 +#define ICM_DELETEPROFILE 2 +#define ICM_QUERYPROFILE 3 +#define ICM_SETDEFAULTPROFILE 4 +#define ICM_REGISTERICMATCHER 5 +#define ICM_UNREGISTERICMATCHER 6 +#define ICM_QUERYMATCH 7 + +#define GetKValue(cmyk) ((BYTE)(cmyk)) +#define GetYValue(cmyk) ((BYTE)((cmyk)>> 8)) +#define GetMValue(cmyk) ((BYTE)((cmyk)>>16)) +#define GetCValue(cmyk) ((BYTE)((cmyk)>>24)) + +#define CMYK(c,m,y,k) ((COLORREF)((((BYTE)(k)|((WORD)((BYTE)(y))<<8))|(((DWORD)(BYTE)(m))<<16))|(((DWORD)(BYTE)(c))<<24))) + + typedef __LONG32 FXPT16DOT16,*LPFXPT16DOT16; + typedef __LONG32 FXPT2DOT30,*LPFXPT2DOT30; + + typedef struct tagCIEXYZ { + FXPT2DOT30 ciexyzX; + FXPT2DOT30 ciexyzY; + FXPT2DOT30 ciexyzZ; + } CIEXYZ; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef CIEXYZ *LPCIEXYZ; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagICEXYZTRIPLE { + CIEXYZ ciexyzRed; + CIEXYZ ciexyzGreen; + CIEXYZ ciexyzBlue; + } CIEXYZTRIPLE; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef CIEXYZTRIPLE *LPCIEXYZTRIPLE; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagLOGCOLORSPACEA { + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + CHAR lcsFilename[MAX_PATH]; + } LOGCOLORSPACEA,*LPLOGCOLORSPACEA; + + typedef struct tagLOGCOLORSPACEW { + DWORD lcsSignature; + DWORD lcsVersion; + DWORD lcsSize; + LCSCSTYPE lcsCSType; + LCSGAMUTMATCH lcsIntent; + CIEXYZTRIPLE lcsEndpoints; + DWORD lcsGammaRed; + DWORD lcsGammaGreen; + DWORD lcsGammaBlue; + WCHAR lcsFilename[MAX_PATH]; + } LOGCOLORSPACEW,*LPLOGCOLORSPACEW; + + __MINGW_TYPEDEF_AW(LOGCOLORSPACE) + __MINGW_TYPEDEF_AW(LPLOGCOLORSPACE) +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagBITMAPCOREHEADER { + DWORD bcSize; + WORD bcWidth; + WORD bcHeight; + WORD bcPlanes; + WORD bcBitCount; + } BITMAPCOREHEADER,*LPBITMAPCOREHEADER,*PBITMAPCOREHEADER; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagBITMAPINFOHEADER { + DWORD biSize; + LONG biWidth; + LONG biHeight; + WORD biPlanes; + WORD biBitCount; + DWORD biCompression; + DWORD biSizeImage; + LONG biXPelsPerMeter; + LONG biYPelsPerMeter; + DWORD biClrUsed; + DWORD biClrImportant; + } BITMAPINFOHEADER,*LPBITMAPINFOHEADER,*PBITMAPINFOHEADER; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct { + DWORD bV4Size; + LONG bV4Width; + LONG bV4Height; + WORD bV4Planes; + WORD bV4BitCount; + DWORD bV4V4Compression; + DWORD bV4SizeImage; + LONG bV4XPelsPerMeter; + LONG bV4YPelsPerMeter; + DWORD bV4ClrUsed; + DWORD bV4ClrImportant; + DWORD bV4RedMask; + DWORD bV4GreenMask; + DWORD bV4BlueMask; + DWORD bV4AlphaMask; + DWORD bV4CSType; + CIEXYZTRIPLE bV4Endpoints; + DWORD bV4GammaRed; + DWORD bV4GammaGreen; + DWORD bV4GammaBlue; + } BITMAPV4HEADER,*LPBITMAPV4HEADER,*PBITMAPV4HEADER; + + typedef struct { + DWORD bV5Size; + LONG bV5Width; + LONG bV5Height; + WORD bV5Planes; + WORD bV5BitCount; + DWORD bV5Compression; + DWORD bV5SizeImage; + LONG bV5XPelsPerMeter; + LONG bV5YPelsPerMeter; + DWORD bV5ClrUsed; + DWORD bV5ClrImportant; + DWORD bV5RedMask; + DWORD bV5GreenMask; + DWORD bV5BlueMask; + DWORD bV5AlphaMask; + DWORD bV5CSType; + CIEXYZTRIPLE bV5Endpoints; + DWORD bV5GammaRed; + DWORD bV5GammaGreen; + DWORD bV5GammaBlue; + DWORD bV5Intent; + DWORD bV5ProfileData; + DWORD bV5ProfileSize; + DWORD bV5Reserved; + } BITMAPV5HEADER,*LPBITMAPV5HEADER,*PBITMAPV5HEADER; +#endif + +#define PROFILE_LINKED 'LINK' +#define PROFILE_EMBEDDED 'MBED' + +#define BI_RGB __MSABI_LONG(0) +#define BI_RLE8 __MSABI_LONG(1) +#define BI_RLE4 __MSABI_LONG(2) +#define BI_BITFIELDS __MSABI_LONG(3) +#define BI_JPEG __MSABI_LONG(4) +#define BI_PNG __MSABI_LONG(5) + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagBITMAPINFO { + BITMAPINFOHEADER bmiHeader; + RGBQUAD bmiColors[1]; + } BITMAPINFO,*LPBITMAPINFO,*PBITMAPINFO; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagBITMAPCOREINFO { + BITMAPCOREHEADER bmciHeader; + RGBTRIPLE bmciColors[1]; + } BITMAPCOREINFO,*LPBITMAPCOREINFO,*PBITMAPCOREINFO; + +#include + typedef struct tagBITMAPFILEHEADER { + WORD bfType; + DWORD bfSize; + WORD bfReserved1; + WORD bfReserved2; + DWORD bfOffBits; + } BITMAPFILEHEADER,*LPBITMAPFILEHEADER,*PBITMAPFILEHEADER; +#include +#endif + +#define MAKEPOINTS(l) (*((POINTS *)&(l))) + +#ifndef NOFONTSIG + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagFONTSIGNATURE { + DWORD fsUsb[4]; + DWORD fsCsb[2]; + } FONTSIGNATURE,*PFONTSIGNATURE,*LPFONTSIGNATURE; + + typedef struct tagCHARSETINFO { + UINT ciCharset; + UINT ciACP; + FONTSIGNATURE fs; + } CHARSETINFO,*PCHARSETINFO,*NPCHARSETINFO,*LPCHARSETINFO; +#endif + +#define TCI_SRCCHARSET 1 +#define TCI_SRCCODEPAGE 2 +#define TCI_SRCFONTSIG 3 +#define TCI_SRCLOCALE 0x1000 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagLOCALESIGNATURE { + DWORD lsUsb[4]; + DWORD lsCsbDefault[2]; + DWORD lsCsbSupported[2]; + } LOCALESIGNATURE,*PLOCALESIGNATURE,*LPLOCALESIGNATURE; +#endif +#endif + +#ifndef NOMETAFILE +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagHANDLETABLE { + HGDIOBJ objectHandle[1]; + } HANDLETABLE,*PHANDLETABLE,*LPHANDLETABLE; + + typedef struct tagMETARECORD { + DWORD rdSize; + WORD rdFunction; + WORD rdParm[1]; + } METARECORD; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagMETARECORD UNALIGNED *PMETARECORD; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagMETARECORD UNALIGNED *LPMETARECORD; + + typedef struct tagMETAFILEPICT { + LONG mm; + LONG xExt; + LONG yExt; + HMETAFILE hMF; + } METAFILEPICT,*LPMETAFILEPICT; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#include + typedef struct tagMETAHEADER { + WORD mtType; + WORD mtHeaderSize; + WORD mtVersion; + DWORD mtSize; + WORD mtNoObjects; + DWORD mtMaxRecord; + WORD mtNoParameters; + } METAHEADER; + typedef struct tagMETAHEADER UNALIGNED *PMETAHEADER; + typedef struct tagMETAHEADER UNALIGNED *LPMETAHEADER; + +#include +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagENHMETARECORD { + DWORD iType; + DWORD nSize; + DWORD dParm[1]; + } ENHMETARECORD,*PENHMETARECORD,*LPENHMETARECORD; + + typedef struct tagENHMETAHEADER { + DWORD iType; + DWORD nSize; + RECTL rclBounds; + RECTL rclFrame; + DWORD dSignature; + DWORD nVersion; + DWORD nBytes; + DWORD nRecords; + WORD nHandles; + WORD sReserved; + DWORD nDescription; + DWORD offDescription; + DWORD nPalEntries; + SIZEL szlDevice; + SIZEL szlMillimeters; + DWORD cbPixelFormat; + DWORD offPixelFormat; + DWORD bOpenGL; + SIZEL szlMicrometers; + } ENHMETAHEADER,*PENHMETAHEADER,*LPENHMETAHEADER; +#endif +#endif /* NOMETAFILE */ + +#ifndef NOTEXTMETRIC +#define TMPF_FIXED_PITCH 0x01 +#define TMPF_VECTOR 0x02 +#define TMPF_DEVICE 0x08 +#define TMPF_TRUETYPE 0x04 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if defined(UNICODE) + typedef WCHAR BCHAR; +#else + typedef BYTE BCHAR; +#endif +#endif + +#ifndef _TEXTMETRIC_DEFINED +#define _TEXTMETRIC_DEFINED +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#include + + typedef struct tagTEXTMETRICA { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + } TEXTMETRICA,*PTEXTMETRICA,*NPTEXTMETRICA,*LPTEXTMETRICA; + + typedef struct tagTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + } TEXTMETRICW,*PTEXTMETRICW,*NPTEXTMETRICW,*LPTEXTMETRICW; + + __MINGW_TYPEDEF_AW(TEXTMETRIC) + __MINGW_TYPEDEF_AW(PTEXTMETRIC) + __MINGW_TYPEDEF_AW(NPTEXTMETRIC) + __MINGW_TYPEDEF_AW(LPTEXTMETRIC) +#include +#endif +#endif + +#define NTM_REGULAR __MSABI_LONG(0x00000040) +#define NTM_BOLD __MSABI_LONG(0x00000020) +#define NTM_ITALIC __MSABI_LONG(0x00000001) + +#define NTM_NONNEGATIVE_AC 0x00010000 +#define NTM_PS_OPENTYPE 0x00020000 +#define NTM_TT_OPENTYPE 0x00040000 +#define NTM_MULTIPLEMASTER 0x00080000 +#define NTM_TYPE1 0x00100000 +#define NTM_DSIG 0x00200000 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#include + typedef struct tagNEWTEXTMETRICA { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + BYTE tmFirstChar; + BYTE tmLastChar; + BYTE tmDefaultChar; + BYTE tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; + } NEWTEXTMETRICA,*PNEWTEXTMETRICA,*NPNEWTEXTMETRICA,*LPNEWTEXTMETRICA; + + typedef struct tagNEWTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; + DWORD ntmFlags; + UINT ntmSizeEM; + UINT ntmCellHeight; + UINT ntmAvgWidth; + } NEWTEXTMETRICW,*PNEWTEXTMETRICW,*NPNEWTEXTMETRICW,*LPNEWTEXTMETRICW; + + __MINGW_TYPEDEF_AW(NEWTEXTMETRIC) + __MINGW_TYPEDEF_AW(PNEWTEXTMETRIC) + __MINGW_TYPEDEF_AW(NPNEWTEXTMETRIC) + __MINGW_TYPEDEF_AW(LPNEWTEXTMETRIC) + +#include + + typedef struct tagNEWTEXTMETRICEXA { + NEWTEXTMETRICA ntmTm; + FONTSIGNATURE ntmFontSig; + } NEWTEXTMETRICEXA; + + typedef struct tagNEWTEXTMETRICEXW { + NEWTEXTMETRICW ntmTm; + FONTSIGNATURE ntmFontSig; + } NEWTEXTMETRICEXW; + + __MINGW_TYPEDEF_AW(NEWTEXTMETRICEX) +#endif +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagPELARRAY { + LONG paXCount; + LONG paYCount; + LONG paXExt; + LONG paYExt; + BYTE paRGBs; + } PELARRAY,*PPELARRAY,*NPPELARRAY,*LPPELARRAY; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagLOGBRUSH { + UINT lbStyle; + COLORREF lbColor; + ULONG_PTR lbHatch; + } LOGBRUSH,*PLOGBRUSH,*NPLOGBRUSH,*LPLOGBRUSH; + + typedef struct tagLOGBRUSH32 { + UINT lbStyle; + COLORREF lbColor; + ULONG lbHatch; + } LOGBRUSH32,*PLOGBRUSH32,*NPLOGBRUSH32,*LPLOGBRUSH32; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef LOGBRUSH PATTERN; + typedef PATTERN *PPATTERN; + typedef PATTERN *NPPATTERN; + typedef PATTERN *LPPATTERN; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagLOGPEN { + UINT lopnStyle; + POINT lopnWidth; + COLORREF lopnColor; + } LOGPEN,*PLOGPEN,*NPLOGPEN,*LPLOGPEN; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagEXTLOGPEN { + DWORD elpPenStyle; + DWORD elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + ULONG_PTR elpHatch; + DWORD elpNumEntries; + DWORD elpStyleEntry[1]; + } EXTLOGPEN,*PEXTLOGPEN,*NPEXTLOGPEN,*LPEXTLOGPEN; +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagEXTLOGPEN32 { + DWORD elpPenStyle; + DWORD elpWidth; + UINT elpBrushStyle; + COLORREF elpColor; + ULONG elpHatch; + DWORD elpNumEntries; + DWORD elpStyleEntry[1]; + } EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32; + +#ifndef _PALETTEENTRY_DEFINED +#define _PALETTEENTRY_DEFINED + typedef struct tagPALETTEENTRY { + BYTE peRed; + BYTE peGreen; + BYTE peBlue; + BYTE peFlags; + } PALETTEENTRY,*PPALETTEENTRY,*LPPALETTEENTRY; +#endif + +#ifndef _LOGPALETTE_DEFINED +#define _LOGPALETTE_DEFINED + typedef struct tagLOGPALETTE { + WORD palVersion; + WORD palNumEntries; + PALETTEENTRY palPalEntry[1]; + } LOGPALETTE,*PLOGPALETTE,*NPLOGPALETTE,*LPLOGPALETTE; +#endif + +#ifndef LF_FACESIZE +#define LF_FACESIZE 32 +#endif + + typedef struct tagLOGFONTA { + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + CHAR lfFaceName[LF_FACESIZE]; + } LOGFONTA,*PLOGFONTA,*NPLOGFONTA,*LPLOGFONTA; + + typedef struct tagLOGFONTW { + LONG lfHeight; + LONG lfWidth; + LONG lfEscapement; + LONG lfOrientation; + LONG lfWeight; + BYTE lfItalic; + BYTE lfUnderline; + BYTE lfStrikeOut; + BYTE lfCharSet; + BYTE lfOutPrecision; + BYTE lfClipPrecision; + BYTE lfQuality; + BYTE lfPitchAndFamily; + WCHAR lfFaceName[LF_FACESIZE]; + } LOGFONTW,*PLOGFONTW,*NPLOGFONTW,*LPLOGFONTW; + + __MINGW_TYPEDEF_AW(LOGFONT) + __MINGW_TYPEDEF_AW(PLOGFONT) + __MINGW_TYPEDEF_AW(NPLOGFONT) + __MINGW_TYPEDEF_AW(LPLOGFONT) +#endif /* WINAPI_PARTITION_APP */ + +#define LF_FULLFACESIZE 64 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagENUMLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + } ENUMLOGFONTA,*LPENUMLOGFONTA; + + typedef struct tagENUMLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + } ENUMLOGFONTW,*LPENUMLOGFONTW; + + __MINGW_TYPEDEF_AW(ENUMLOGFONT) + __MINGW_TYPEDEF_AW(LPENUMLOGFONT) + + typedef struct tagENUMLOGFONTEXA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + BYTE elfScript[LF_FACESIZE]; + } ENUMLOGFONTEXA,*LPENUMLOGFONTEXA; + + typedef struct tagENUMLOGFONTEXW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + WCHAR elfScript[LF_FACESIZE]; + } ENUMLOGFONTEXW,*LPENUMLOGFONTEXW; + + __MINGW_TYPEDEF_AW(ENUMLOGFONTEX) + __MINGW_TYPEDEF_AW(LPENUMLOGFONTEX) +#endif /* WINAPI_PARTITION_DESKTOP */ + +#define OUT_DEFAULT_PRECIS 0 +#define OUT_STRING_PRECIS 1 +#define OUT_CHARACTER_PRECIS 2 +#define OUT_STROKE_PRECIS 3 +#define OUT_TT_PRECIS 4 +#define OUT_DEVICE_PRECIS 5 +#define OUT_RASTER_PRECIS 6 +#define OUT_TT_ONLY_PRECIS 7 +#define OUT_OUTLINE_PRECIS 8 +#define OUT_SCREEN_OUTLINE_PRECIS 9 +#define OUT_PS_ONLY_PRECIS 10 + +#define CLIP_DEFAULT_PRECIS 0 +#define CLIP_CHARACTER_PRECIS 1 +#define CLIP_STROKE_PRECIS 2 +#define CLIP_MASK 0xf +#define CLIP_LH_ANGLES (1<<4) +#define CLIP_TT_ALWAYS (2<<4) +#if _WIN32_WINNT >= 0x0600 +#define CLIP_DFA_DISABLE (4<<4) +#endif +#define CLIP_EMBEDDED (8<<4) + +#define DEFAULT_QUALITY 0 +#define DRAFT_QUALITY 1 +#define PROOF_QUALITY 2 +#define NONANTIALIASED_QUALITY 3 +#define ANTIALIASED_QUALITY 4 + +#define CLEARTYPE_QUALITY 5 +#define CLEARTYPE_NATURAL_QUALITY 6 + +#define DEFAULT_PITCH 0 +#define FIXED_PITCH 1 +#define VARIABLE_PITCH 2 +#define MONO_FONT 8 + +#define ANSI_CHARSET 0 +#define DEFAULT_CHARSET 1 +#define SYMBOL_CHARSET 2 +#define SHIFTJIS_CHARSET 128 +#define HANGEUL_CHARSET 129 +#define HANGUL_CHARSET 129 +#define GB2312_CHARSET 134 +#define CHINESEBIG5_CHARSET 136 +#define OEM_CHARSET 255 +#define JOHAB_CHARSET 130 +#define HEBREW_CHARSET 177 +#define ARABIC_CHARSET 178 +#define GREEK_CHARSET 161 +#define TURKISH_CHARSET 162 +#define VIETNAMESE_CHARSET 163 +#define THAI_CHARSET 222 +#define EASTEUROPE_CHARSET 238 +#define RUSSIAN_CHARSET 204 + +#define MAC_CHARSET 77 +#define BALTIC_CHARSET 186 + +#define FS_LATIN1 __MSABI_LONG(0x00000001) +#define FS_LATIN2 __MSABI_LONG(0x00000002) +#define FS_CYRILLIC __MSABI_LONG(0x00000004) +#define FS_GREEK __MSABI_LONG(0x00000008) +#define FS_TURKISH __MSABI_LONG(0x00000010) +#define FS_HEBREW __MSABI_LONG(0x00000020) +#define FS_ARABIC __MSABI_LONG(0x00000040) +#define FS_BALTIC __MSABI_LONG(0x00000080) +#define FS_VIETNAMESE __MSABI_LONG(0x00000100) +#define FS_THAI __MSABI_LONG(0x00010000) +#define FS_JISJAPAN __MSABI_LONG(0x00020000) +#define FS_CHINESESIMP __MSABI_LONG(0x00040000) +#define FS_WANSUNG __MSABI_LONG(0x00080000) +#define FS_CHINESETRAD __MSABI_LONG(0x00100000) +#define FS_JOHAB __MSABI_LONG(0x00200000) +#define FS_SYMBOL __MSABI_LONG(0x80000000) + +#define FF_DONTCARE (0<<4) +#define FF_ROMAN (1<<4) + +#define FF_SWISS (2<<4) + +#define FF_MODERN (3<<4) + +#define FF_SCRIPT (4<<4) +#define FF_DECORATIVE (5<<4) + +#define FW_DONTCARE 0 +#define FW_THIN 100 +#define FW_EXTRALIGHT 200 +#define FW_LIGHT 300 +#define FW_NORMAL 400 +#define FW_MEDIUM 500 +#define FW_SEMIBOLD 600 +#define FW_BOLD 700 +#define FW_EXTRABOLD 800 +#define FW_HEAVY 900 + +#define FW_ULTRALIGHT FW_EXTRALIGHT +#define FW_REGULAR FW_NORMAL +#define FW_DEMIBOLD FW_SEMIBOLD +#define FW_ULTRABOLD FW_EXTRABOLD +#define FW_BLACK FW_HEAVY + +#define PANOSE_COUNT 10 +#define PAN_FAMILYTYPE_INDEX 0 +#define PAN_SERIFSTYLE_INDEX 1 +#define PAN_WEIGHT_INDEX 2 +#define PAN_PROPORTION_INDEX 3 +#define PAN_CONTRAST_INDEX 4 +#define PAN_STROKEVARIATION_INDEX 5 +#define PAN_ARMSTYLE_INDEX 6 +#define PAN_LETTERFORM_INDEX 7 +#define PAN_MIDLINE_INDEX 8 +#define PAN_XHEIGHT_INDEX 9 + +#define PAN_CULTURE_LATIN 0 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagPANOSE { + BYTE bFamilyType; + BYTE bSerifStyle; + BYTE bWeight; + BYTE bProportion; + BYTE bContrast; + BYTE bStrokeVariation; + BYTE bArmStyle; + BYTE bLetterform; + BYTE bMidline; + BYTE bXHeight; + } PANOSE,*LPPANOSE; + +#define PAN_ANY 0 +#define PAN_NO_FIT 1 + +#define PAN_FAMILY_TEXT_DISPLAY 2 +#define PAN_FAMILY_SCRIPT 3 +#define PAN_FAMILY_DECORATIVE 4 +#define PAN_FAMILY_PICTORIAL 5 + +#define PAN_SERIF_COVE 2 +#define PAN_SERIF_OBTUSE_COVE 3 +#define PAN_SERIF_SQUARE_COVE 4 +#define PAN_SERIF_OBTUSE_SQUARE_COVE 5 +#define PAN_SERIF_SQUARE 6 +#define PAN_SERIF_THIN 7 +#define PAN_SERIF_BONE 8 +#define PAN_SERIF_EXAGGERATED 9 +#define PAN_SERIF_TRIANGLE 10 +#define PAN_SERIF_NORMAL_SANS 11 +#define PAN_SERIF_OBTUSE_SANS 12 +#define PAN_SERIF_PERP_SANS 13 +#define PAN_SERIF_FLARED 14 +#define PAN_SERIF_ROUNDED 15 + +#define PAN_WEIGHT_VERY_LIGHT 2 +#define PAN_WEIGHT_LIGHT 3 +#define PAN_WEIGHT_THIN 4 +#define PAN_WEIGHT_BOOK 5 +#define PAN_WEIGHT_MEDIUM 6 +#define PAN_WEIGHT_DEMI 7 +#define PAN_WEIGHT_BOLD 8 +#define PAN_WEIGHT_HEAVY 9 +#define PAN_WEIGHT_BLACK 10 +#define PAN_WEIGHT_NORD 11 + +#define PAN_PROP_OLD_STYLE 2 +#define PAN_PROP_MODERN 3 +#define PAN_PROP_EVEN_WIDTH 4 +#define PAN_PROP_EXPANDED 5 +#define PAN_PROP_CONDENSED 6 +#define PAN_PROP_VERY_EXPANDED 7 +#define PAN_PROP_VERY_CONDENSED 8 +#define PAN_PROP_MONOSPACED 9 + +#define PAN_CONTRAST_NONE 2 +#define PAN_CONTRAST_VERY_LOW 3 +#define PAN_CONTRAST_LOW 4 +#define PAN_CONTRAST_MEDIUM_LOW 5 +#define PAN_CONTRAST_MEDIUM 6 +#define PAN_CONTRAST_MEDIUM_HIGH 7 +#define PAN_CONTRAST_HIGH 8 +#define PAN_CONTRAST_VERY_HIGH 9 + +#define PAN_STROKE_GRADUAL_DIAG 2 +#define PAN_STROKE_GRADUAL_TRAN 3 +#define PAN_STROKE_GRADUAL_VERT 4 +#define PAN_STROKE_GRADUAL_HORZ 5 +#define PAN_STROKE_RAPID_VERT 6 +#define PAN_STROKE_RAPID_HORZ 7 +#define PAN_STROKE_INSTANT_VERT 8 + +#define PAN_STRAIGHT_ARMS_HORZ 2 +#define PAN_STRAIGHT_ARMS_WEDGE 3 +#define PAN_STRAIGHT_ARMS_VERT 4 +#define PAN_STRAIGHT_ARMS_SINGLE_SERIF 5 +#define PAN_STRAIGHT_ARMS_DOUBLE_SERIF 6 +#define PAN_BENT_ARMS_HORZ 7 +#define PAN_BENT_ARMS_WEDGE 8 +#define PAN_BENT_ARMS_VERT 9 +#define PAN_BENT_ARMS_SINGLE_SERIF 10 +#define PAN_BENT_ARMS_DOUBLE_SERIF 11 + +#define PAN_LETT_NORMAL_CONTACT 2 +#define PAN_LETT_NORMAL_WEIGHTED 3 +#define PAN_LETT_NORMAL_BOXED 4 +#define PAN_LETT_NORMAL_FLATTENED 5 +#define PAN_LETT_NORMAL_ROUNDED 6 +#define PAN_LETT_NORMAL_OFF_CENTER 7 +#define PAN_LETT_NORMAL_SQUARE 8 +#define PAN_LETT_OBLIQUE_CONTACT 9 +#define PAN_LETT_OBLIQUE_WEIGHTED 10 +#define PAN_LETT_OBLIQUE_BOXED 11 +#define PAN_LETT_OBLIQUE_FLATTENED 12 +#define PAN_LETT_OBLIQUE_ROUNDED 13 +#define PAN_LETT_OBLIQUE_OFF_CENTER 14 +#define PAN_LETT_OBLIQUE_SQUARE 15 + +#define PAN_MIDLINE_STANDARD_TRIMMED 2 +#define PAN_MIDLINE_STANDARD_POINTED 3 +#define PAN_MIDLINE_STANDARD_SERIFED 4 +#define PAN_MIDLINE_HIGH_TRIMMED 5 +#define PAN_MIDLINE_HIGH_POINTED 6 +#define PAN_MIDLINE_HIGH_SERIFED 7 +#define PAN_MIDLINE_CONSTANT_TRIMMED 8 +#define PAN_MIDLINE_CONSTANT_POINTED 9 +#define PAN_MIDLINE_CONSTANT_SERIFED 10 +#define PAN_MIDLINE_LOW_TRIMMED 11 +#define PAN_MIDLINE_LOW_POINTED 12 +#define PAN_MIDLINE_LOW_SERIFED 13 + +#define PAN_XHEIGHT_CONSTANT_SMALL 2 +#define PAN_XHEIGHT_CONSTANT_STD 3 +#define PAN_XHEIGHT_CONSTANT_LARGE 4 +#define PAN_XHEIGHT_DUCKING_SMALL 5 +#define PAN_XHEIGHT_DUCKING_STD 6 +#define PAN_XHEIGHT_DUCKING_LARGE 7 + +#define ELF_VENDOR_SIZE 4 + + typedef struct tagEXTLOGFONTA { + LOGFONTA elfLogFont; + BYTE elfFullName[LF_FULLFACESIZE]; + BYTE elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; + } EXTLOGFONTA,*PEXTLOGFONTA,*NPEXTLOGFONTA,*LPEXTLOGFONTA; + + typedef struct tagEXTLOGFONTW { + LOGFONTW elfLogFont; + WCHAR elfFullName[LF_FULLFACESIZE]; + WCHAR elfStyle[LF_FACESIZE]; + DWORD elfVersion; + DWORD elfStyleSize; + DWORD elfMatch; + DWORD elfReserved; + BYTE elfVendorId[ELF_VENDOR_SIZE]; + DWORD elfCulture; + PANOSE elfPanose; + } EXTLOGFONTW,*PEXTLOGFONTW,*NPEXTLOGFONTW,*LPEXTLOGFONTW; + + __MINGW_TYPEDEF_AW(EXTLOGFONT) + __MINGW_TYPEDEF_AW(PEXTLOGFONT) + __MINGW_TYPEDEF_AW(NPEXTLOGFONT) + __MINGW_TYPEDEF_AW(LPEXTLOGFONT) +#endif /* WINAPI_PARTITION_APP */ + +#define ELF_VERSION 0 +#define ELF_CULTURE_LATIN 0 + +#define RASTER_FONTTYPE 0x0001 +#define DEVICE_FONTTYPE 0x002 +#define TRUETYPE_FONTTYPE 0x004 + +#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) +#define PALETTERGB(r,g,b) (0x02000000 | RGB(r,g,b)) +#define PALETTEINDEX(i) ((COLORREF)(0x01000000 | (DWORD)(WORD)(i))) + +#define PC_RESERVED 0x01 +#define PC_EXPLICIT 0x02 +#define PC_NOCOLLAPSE 0x04 + +#define GetRValue(rgb) (LOBYTE(rgb)) +#define GetGValue(rgb) (LOBYTE(((WORD)(rgb)) >> 8)) +#define GetBValue(rgb) (LOBYTE((rgb)>>16)) + +#define TRANSPARENT 1 +#define OPAQUE 2 +#define BKMODE_LAST 2 + +#define GM_COMPATIBLE 1 +#define GM_ADVANCED 2 +#define GM_LAST 2 + +#define PT_CLOSEFIGURE 0x01 +#define PT_LINETO 0x02 +#define PT_BEZIERTO 0x04 +#define PT_MOVETO 0x06 + +#define MM_TEXT 1 +#define MM_LOMETRIC 2 +#define MM_HIMETRIC 3 +#define MM_LOENGLISH 4 +#define MM_HIENGLISH 5 +#define MM_TWIPS 6 +#define MM_ISOTROPIC 7 +#define MM_ANISOTROPIC 8 + +#define MM_MIN MM_TEXT +#define MM_MAX MM_ANISOTROPIC +#define MM_MAX_FIXEDSCALE MM_TWIPS + +#define ABSOLUTE 1 +#define RELATIVE 2 + +#define WHITE_BRUSH 0 +#define LTGRAY_BRUSH 1 +#define GRAY_BRUSH 2 +#define DKGRAY_BRUSH 3 +#define BLACK_BRUSH 4 +#define NULL_BRUSH 5 +#define HOLLOW_BRUSH NULL_BRUSH +#define WHITE_PEN 6 +#define BLACK_PEN 7 +#define NULL_PEN 8 +#define OEM_FIXED_FONT 10 +#define ANSI_FIXED_FONT 11 +#define ANSI_VAR_FONT 12 +#define SYSTEM_FONT 13 +#define DEVICE_DEFAULT_FONT 14 +#define DEFAULT_PALETTE 15 +#define SYSTEM_FIXED_FONT 16 +#define DEFAULT_GUI_FONT 17 +#define DC_BRUSH 18 +#define DC_PEN 19 + +#define STOCK_LAST 19 + +#define CLR_INVALID 0xFFFFFFFF + +#define BS_SOLID 0 +#define BS_NULL 1 +#define BS_HOLLOW BS_NULL +#define BS_HATCHED 2 +#define BS_PATTERN 3 +#define BS_INDEXED 4 +#define BS_DIBPATTERN 5 +#define BS_DIBPATTERNPT 6 +#define BS_PATTERN8X8 7 +#define BS_DIBPATTERN8X8 8 +#define BS_MONOPATTERN 9 + +#define HS_HORIZONTAL 0 +#define HS_VERTICAL 1 +#define HS_FDIAGONAL 2 +#define HS_BDIAGONAL 3 +#define HS_CROSS 4 +#define HS_DIAGCROSS 5 +#define HS_API_MAX 12 + +#define PS_SOLID 0 +#define PS_DASH 1 +#define PS_DOT 2 +#define PS_DASHDOT 3 +#define PS_DASHDOTDOT 4 +#define PS_NULL 5 +#define PS_INSIDEFRAME 6 +#define PS_USERSTYLE 7 +#define PS_ALTERNATE 8 +#define PS_STYLE_MASK 0x0000000F + +#define PS_ENDCAP_ROUND 0x00000000 +#define PS_ENDCAP_SQUARE 0x00000100 +#define PS_ENDCAP_FLAT 0x00000200 +#define PS_ENDCAP_MASK 0x00000F00 + +#define PS_JOIN_ROUND 0x00000000 +#define PS_JOIN_BEVEL 0x00001000 +#define PS_JOIN_MITER 0x00002000 +#define PS_JOIN_MASK 0x0000F000 + +#define PS_COSMETIC 0x00000000 +#define PS_GEOMETRIC 0x00010000 +#define PS_TYPE_MASK 0x000F0000 + +#define AD_COUNTERCLOCKWISE 1 +#define AD_CLOCKWISE 2 + +#define DRIVERVERSION 0 +#define TECHNOLOGY 2 +#define HORZSIZE 4 +#define VERTSIZE 6 +#define HORZRES 8 +#define VERTRES 10 +#define BITSPIXEL 12 +#define PLANES 14 +#define NUMBRUSHES 16 +#define NUMPENS 18 +#define NUMMARKERS 20 +#define NUMFONTS 22 +#define NUMCOLORS 24 +#define PDEVICESIZE 26 +#define CURVECAPS 28 +#define LINECAPS 30 +#define POLYGONALCAPS 32 +#define TEXTCAPS 34 +#define CLIPCAPS 36 +#define RASTERCAPS 38 +#define ASPECTX 40 +#define ASPECTY 42 +#define ASPECTXY 44 + +#define LOGPIXELSX 88 +#define LOGPIXELSY 90 + +#define SIZEPALETTE 104 +#define NUMRESERVED 106 +#define COLORRES 108 + +#define PHYSICALWIDTH 110 +#define PHYSICALHEIGHT 111 +#define PHYSICALOFFSETX 112 +#define PHYSICALOFFSETY 113 +#define SCALINGFACTORX 114 +#define SCALINGFACTORY 115 + +#define VREFRESH 116 +#define DESKTOPVERTRES 117 +#define DESKTOPHORZRES 118 +#define BLTALIGNMENT 119 + +#define SHADEBLENDCAPS 120 +#define COLORMGMTCAPS 121 + +#ifndef NOGDICAPMASKS +#define DT_PLOTTER 0 +#define DT_RASDISPLAY 1 +#define DT_RASPRINTER 2 +#define DT_RASCAMERA 3 +#define DT_CHARSTREAM 4 +#define DT_METAFILE 5 +#define DT_DISPFILE 6 + +#define CC_NONE 0 +#define CC_CIRCLES 1 +#define CC_PIE 2 +#define CC_CHORD 4 +#define CC_ELLIPSES 8 +#define CC_WIDE 16 +#define CC_STYLED 32 +#define CC_WIDESTYLED 64 +#define CC_INTERIORS 128 +#define CC_ROUNDRECT 256 + +#define LC_NONE 0 +#define LC_POLYLINE 2 +#define LC_MARKER 4 +#define LC_POLYMARKER 8 +#define LC_WIDE 16 +#define LC_STYLED 32 +#define LC_WIDESTYLED 64 +#define LC_INTERIORS 128 + +#define PC_NONE 0 +#define PC_POLYGON 1 +#define PC_RECTANGLE 2 +#define PC_WINDPOLYGON 4 +#define PC_TRAPEZOID 4 +#define PC_SCANLINE 8 +#define PC_WIDE 16 +#define PC_STYLED 32 +#define PC_WIDESTYLED 64 +#define PC_INTERIORS 128 +#define PC_POLYPOLYGON 256 +#define PC_PATHS 512 + +#define CP_NONE 0 +#define CP_RECTANGLE 1 +#define CP_REGION 2 + +#define TC_OP_CHARACTER 0x00000001 +#define TC_OP_STROKE 0x00000002 +#define TC_CP_STROKE 0x00000004 +#define TC_CR_90 0x00000008 +#define TC_CR_ANY 0x00000010 +#define TC_SF_X_YINDEP 0x00000020 +#define TC_SA_DOUBLE 0x00000040 +#define TC_SA_INTEGER 0x00000080 +#define TC_SA_CONTIN 0x00000100 +#define TC_EA_DOUBLE 0x00000200 +#define TC_IA_ABLE 0x00000400 +#define TC_UA_ABLE 0x00000800 +#define TC_SO_ABLE 0x00001000 +#define TC_RA_ABLE 0x00002000 +#define TC_VA_ABLE 0x00004000 +#define TC_RESERVED 0x00008000 +#define TC_SCROLLBLT 0x00010000 +#endif + +#define RC_NONE +#define RC_BITBLT 1 +#define RC_BANDING 2 +#define RC_SCALING 4 +#define RC_BITMAP64 8 +#define RC_GDI20_OUTPUT 0x0010 +#define RC_GDI20_STATE 0x0020 +#define RC_SAVEBITMAP 0x0040 +#define RC_DI_BITMAP 0x0080 +#define RC_PALETTE 0x0100 +#define RC_DIBTODEV 0x0200 +#define RC_BIGFONT 0x0400 +#define RC_STRETCHBLT 0x0800 +#define RC_FLOODFILL 0x1000 +#define RC_STRETCHDIB 0x2000 +#define RC_OP_DX_OUTPUT 0x4000 +#define RC_DEVBITS 0x8000 + +#define SB_NONE 0x00000000 +#define SB_CONST_ALPHA 0x00000001 +#define SB_PIXEL_ALPHA 0x00000002 +#define SB_PREMULT_ALPHA 0x00000004 + +#define SB_GRAD_RECT 0x00000010 +#define SB_GRAD_TRI 0x00000020 + +#define CM_NONE 0x00000000 +#define CM_DEVICE_ICM 0x00000001 +#define CM_GAMMA_RAMP 0x00000002 +#define CM_CMYK_COLOR 0x00000004 + +#define DIB_RGB_COLORS 0 +#define DIB_PAL_COLORS 1 + +#define SYSPAL_ERROR 0 +#define SYSPAL_STATIC 1 +#define SYSPAL_NOSTATIC 2 +#define SYSPAL_NOSTATIC256 3 + +#define CBM_INIT __MSABI_LONG(0x04) + +#define FLOODFILLBORDER 0 +#define FLOODFILLSURFACE 1 + +#define CCHDEVICENAME 32 + +#define CCHFORMNAME 32 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct _devicemodeA { + BYTE dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + __C89_NAMELESS union { + __C89_NAMELESS struct { + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + }; + struct { + POINTL dmPosition; + DWORD dmDisplayOrientation; + DWORD dmDisplayFixedOutput; + }; + }; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + BYTE dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + __C89_NAMELESS union { + DWORD dmDisplayFlags; + DWORD dmNup; + }; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmReserved1; + DWORD dmReserved2; + DWORD dmPanningWidth; + DWORD dmPanningHeight; + } DEVMODEA,*PDEVMODEA,*NPDEVMODEA,*LPDEVMODEA; + + typedef struct _devicemodeW { + WCHAR dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + __C89_NAMELESS union { + __C89_NAMELESS struct { + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + }; + __C89_NAMELESS struct { + POINTL dmPosition; + DWORD dmDisplayOrientation; + DWORD dmDisplayFixedOutput; + }; + }; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + WCHAR dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + __C89_NAMELESS union { + DWORD dmDisplayFlags; + DWORD dmNup; + }; + DWORD dmDisplayFrequency; + DWORD dmICMMethod; + DWORD dmICMIntent; + DWORD dmMediaType; + DWORD dmDitherType; + DWORD dmReserved1; + DWORD dmReserved2; + DWORD dmPanningWidth; + DWORD dmPanningHeight; + } DEVMODEW,*PDEVMODEW,*NPDEVMODEW,*LPDEVMODEW; + + __MINGW_TYPEDEF_AW(DEVMODE) + __MINGW_TYPEDEF_AW(PDEVMODE) + __MINGW_TYPEDEF_AW(NPDEVMODE) + __MINGW_TYPEDEF_AW(LPDEVMODE) +#endif + +#define DM_SPECVERSION 0x0401 + +#define DM_ORIENTATION __MSABI_LONG(0x00000001) +#define DM_PAPERSIZE __MSABI_LONG(0x00000002) +#define DM_PAPERLENGTH __MSABI_LONG(0x00000004) +#define DM_PAPERWIDTH __MSABI_LONG(0x00000008) +#define DM_SCALE __MSABI_LONG(0x00000010) +#define DM_POSITION __MSABI_LONG(0x00000020) +#define DM_NUP __MSABI_LONG(0x00000040) +#define DM_DISPLAYORIENTATION __MSABI_LONG(0x00000080) +#define DM_COPIES __MSABI_LONG(0x00000100) +#define DM_DEFAULTSOURCE __MSABI_LONG(0x00000200) +#define DM_PRINTQUALITY __MSABI_LONG(0x00000400) +#define DM_COLOR __MSABI_LONG(0x00000800) +#define DM_DUPLEX __MSABI_LONG(0x00001000) +#define DM_YRESOLUTION __MSABI_LONG(0x00002000) +#define DM_TTOPTION __MSABI_LONG(0x00004000) +#define DM_COLLATE __MSABI_LONG(0x00008000) +#define DM_FORMNAME __MSABI_LONG(0x00010000) +#define DM_LOGPIXELS __MSABI_LONG(0x00020000) +#define DM_BITSPERPEL __MSABI_LONG(0x00040000) +#define DM_PELSWIDTH __MSABI_LONG(0x00080000) +#define DM_PELSHEIGHT __MSABI_LONG(0x00100000) +#define DM_DISPLAYFLAGS __MSABI_LONG(0x00200000) +#define DM_DISPLAYFREQUENCY __MSABI_LONG(0x00400000) +#define DM_ICMMETHOD __MSABI_LONG(0x00800000) +#define DM_ICMINTENT __MSABI_LONG(0x01000000) +#define DM_MEDIATYPE __MSABI_LONG(0x02000000) +#define DM_DITHERTYPE __MSABI_LONG(0x04000000) +#define DM_PANNINGWIDTH __MSABI_LONG(0x08000000) +#define DM_PANNINGHEIGHT __MSABI_LONG(0x10000000) +#define DM_DISPLAYFIXEDOUTPUT __MSABI_LONG(0x20000000) + +#define DMORIENT_PORTRAIT 1 +#define DMORIENT_LANDSCAPE 2 + +#define DMPAPER_FIRST DMPAPER_LETTER +#define DMPAPER_LETTER 1 +#define DMPAPER_LETTERSMALL 2 +#define DMPAPER_TABLOID 3 +#define DMPAPER_LEDGER 4 +#define DMPAPER_LEGAL 5 +#define DMPAPER_STATEMENT 6 +#define DMPAPER_EXECUTIVE 7 +#define DMPAPER_A3 8 +#define DMPAPER_A4 9 +#define DMPAPER_A4SMALL 10 +#define DMPAPER_A5 11 +#define DMPAPER_B4 12 +#define DMPAPER_B5 13 +#define DMPAPER_FOLIO 14 +#define DMPAPER_QUARTO 15 +#define DMPAPER_10X14 16 +#define DMPAPER_11X17 17 +#define DMPAPER_NOTE 18 +#define DMPAPER_ENV_9 19 +#define DMPAPER_ENV_10 20 +#define DMPAPER_ENV_11 21 +#define DMPAPER_ENV_12 22 +#define DMPAPER_ENV_14 23 +#define DMPAPER_CSHEET 24 +#define DMPAPER_DSHEET 25 +#define DMPAPER_ESHEET 26 +#define DMPAPER_ENV_DL 27 +#define DMPAPER_ENV_C5 28 +#define DMPAPER_ENV_C3 29 +#define DMPAPER_ENV_C4 30 +#define DMPAPER_ENV_C6 31 +#define DMPAPER_ENV_C65 32 +#define DMPAPER_ENV_B4 33 +#define DMPAPER_ENV_B5 34 +#define DMPAPER_ENV_B6 35 +#define DMPAPER_ENV_ITALY 36 +#define DMPAPER_ENV_MONARCH 37 +#define DMPAPER_ENV_PERSONAL 38 +#define DMPAPER_FANFOLD_US 39 +#define DMPAPER_FANFOLD_STD_GERMAN 40 +#define DMPAPER_FANFOLD_LGL_GERMAN 41 +#define DMPAPER_ISO_B4 42 +#define DMPAPER_JAPANESE_POSTCARD 43 +#define DMPAPER_9X11 44 +#define DMPAPER_10X11 45 +#define DMPAPER_15X11 46 +#define DMPAPER_ENV_INVITE 47 +#define DMPAPER_RESERVED_48 48 +#define DMPAPER_RESERVED_49 49 +#define DMPAPER_LETTER_EXTRA 50 +#define DMPAPER_LEGAL_EXTRA 51 +#define DMPAPER_TABLOID_EXTRA 52 +#define DMPAPER_A4_EXTRA 53 +#define DMPAPER_LETTER_TRANSVERSE 54 +#define DMPAPER_A4_TRANSVERSE 55 +#define DMPAPER_LETTER_EXTRA_TRANSVERSE 56 +#define DMPAPER_A_PLUS 57 +#define DMPAPER_B_PLUS 58 +#define DMPAPER_LETTER_PLUS 59 +#define DMPAPER_A4_PLUS 60 +#define DMPAPER_A5_TRANSVERSE 61 +#define DMPAPER_B5_TRANSVERSE 62 +#define DMPAPER_A3_EXTRA 63 +#define DMPAPER_A5_EXTRA 64 +#define DMPAPER_B5_EXTRA 65 +#define DMPAPER_A2 66 +#define DMPAPER_A3_TRANSVERSE 67 +#define DMPAPER_A3_EXTRA_TRANSVERSE 68 +#define DMPAPER_DBL_JAPANESE_POSTCARD 69 +#define DMPAPER_A6 70 +#define DMPAPER_JENV_KAKU2 71 +#define DMPAPER_JENV_KAKU3 72 +#define DMPAPER_JENV_CHOU3 73 +#define DMPAPER_JENV_CHOU4 74 +#define DMPAPER_LETTER_ROTATED 75 +#define DMPAPER_A3_ROTATED 76 +#define DMPAPER_A4_ROTATED 77 +#define DMPAPER_A5_ROTATED 78 +#define DMPAPER_B4_JIS_ROTATED 79 +#define DMPAPER_B5_JIS_ROTATED 80 +#define DMPAPER_JAPANESE_POSTCARD_ROTATED 81 +#define DMPAPER_DBL_JAPANESE_POSTCARD_ROTATED 82 +#define DMPAPER_A6_ROTATED 83 +#define DMPAPER_JENV_KAKU2_ROTATED 84 +#define DMPAPER_JENV_KAKU3_ROTATED 85 +#define DMPAPER_JENV_CHOU3_ROTATED 86 +#define DMPAPER_JENV_CHOU4_ROTATED 87 +#define DMPAPER_B6_JIS 88 +#define DMPAPER_B6_JIS_ROTATED 89 +#define DMPAPER_12X11 90 +#define DMPAPER_JENV_YOU4 91 +#define DMPAPER_JENV_YOU4_ROTATED 92 +#define DMPAPER_P16K 93 +#define DMPAPER_P32K 94 +#define DMPAPER_P32KBIG 95 +#define DMPAPER_PENV_1 96 +#define DMPAPER_PENV_2 97 +#define DMPAPER_PENV_3 98 +#define DMPAPER_PENV_4 99 +#define DMPAPER_PENV_5 100 +#define DMPAPER_PENV_6 101 +#define DMPAPER_PENV_7 102 +#define DMPAPER_PENV_8 103 +#define DMPAPER_PENV_9 104 +#define DMPAPER_PENV_10 105 +#define DMPAPER_P16K_ROTATED 106 +#define DMPAPER_P32K_ROTATED 107 +#define DMPAPER_P32KBIG_ROTATED 108 +#define DMPAPER_PENV_1_ROTATED 109 +#define DMPAPER_PENV_2_ROTATED 110 +#define DMPAPER_PENV_3_ROTATED 111 +#define DMPAPER_PENV_4_ROTATED 112 +#define DMPAPER_PENV_5_ROTATED 113 +#define DMPAPER_PENV_6_ROTATED 114 +#define DMPAPER_PENV_7_ROTATED 115 +#define DMPAPER_PENV_8_ROTATED 116 +#define DMPAPER_PENV_9_ROTATED 117 +#define DMPAPER_PENV_10_ROTATED 118 + +#define DMPAPER_LAST DMPAPER_PENV_10_ROTATED + +#define DMPAPER_USER 256 + +#define DMBIN_FIRST DMBIN_UPPER +#define DMBIN_UPPER 1 +#define DMBIN_ONLYONE 1 +#define DMBIN_LOWER 2 +#define DMBIN_MIDDLE 3 +#define DMBIN_MANUAL 4 +#define DMBIN_ENVELOPE 5 +#define DMBIN_ENVMANUAL 6 +#define DMBIN_AUTO 7 +#define DMBIN_TRACTOR 8 +#define DMBIN_SMALLFMT 9 +#define DMBIN_LARGEFMT 10 +#define DMBIN_LARGECAPACITY 11 +#define DMBIN_CASSETTE 14 +#define DMBIN_FORMSOURCE 15 +#define DMBIN_LAST DMBIN_FORMSOURCE + +#define DMBIN_USER 256 + +#define DMRES_DRAFT (-1) +#define DMRES_LOW (-2) +#define DMRES_MEDIUM (-3) +#define DMRES_HIGH (-4) + +#define DMCOLOR_MONOCHROME 1 +#define DMCOLOR_COLOR 2 + +#define DMDUP_SIMPLEX 1 +#define DMDUP_VERTICAL 2 +#define DMDUP_HORIZONTAL 3 + +#define DMTT_BITMAP 1 +#define DMTT_DOWNLOAD 2 +#define DMTT_SUBDEV 3 +#define DMTT_DOWNLOAD_OUTLINE 4 + +#define DMCOLLATE_FALSE 0 +#define DMCOLLATE_TRUE 1 + +#define DMDO_DEFAULT 0 +#define DMDO_90 1 +#define DMDO_180 2 +#define DMDO_270 3 + +#define DMDFO_DEFAULT 0 +#define DMDFO_STRETCH 1 +#define DMDFO_CENTER 2 + +#define DM_INTERLACED 0x00000002 +#define DMDISPLAYFLAGS_TEXTMODE 0x00000004 + +#define DMNUP_SYSTEM 1 +#define DMNUP_ONEUP 2 + +#define DMICMMETHOD_NONE 1 +#define DMICMMETHOD_SYSTEM 2 +#define DMICMMETHOD_DRIVER 3 +#define DMICMMETHOD_DEVICE 4 + +#define DMICMMETHOD_USER 256 + +#define DMICM_SATURATE 1 +#define DMICM_CONTRAST 2 +#define DMICM_COLORIMETRIC 3 +#define DMICM_ABS_COLORIMETRIC 4 + +#define DMICM_USER 256 + +#define DMMEDIA_STANDARD 1 +#define DMMEDIA_TRANSPARENCY 2 +#define DMMEDIA_GLOSSY 3 + +#define DMMEDIA_USER 256 + +#define DMDITHER_NONE 1 +#define DMDITHER_COARSE 2 +#define DMDITHER_FINE 3 +#define DMDITHER_LINEART 4 +#define DMDITHER_ERRORDIFFUSION 5 +#define DMDITHER_RESERVED6 6 +#define DMDITHER_RESERVED7 7 +#define DMDITHER_RESERVED8 8 +#define DMDITHER_RESERVED9 9 +#define DMDITHER_GRAYSCALE 10 + +#define DMDITHER_USER 256 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct _DISPLAY_DEVICEA { + DWORD cb; + CHAR DeviceName[32]; + CHAR DeviceString[128]; + DWORD StateFlags; + CHAR DeviceID[128]; + CHAR DeviceKey[128]; + } DISPLAY_DEVICEA,*PDISPLAY_DEVICEA,*LPDISPLAY_DEVICEA; + + typedef struct _DISPLAY_DEVICEW { + DWORD cb; + WCHAR DeviceName[32]; + WCHAR DeviceString[128]; + DWORD StateFlags; + WCHAR DeviceID[128]; + WCHAR DeviceKey[128]; + } DISPLAY_DEVICEW,*PDISPLAY_DEVICEW,*LPDISPLAY_DEVICEW; + + __MINGW_TYPEDEF_AW(DISPLAY_DEVICE) + __MINGW_TYPEDEF_AW(PDISPLAY_DEVICE) + __MINGW_TYPEDEF_AW(LPDISPLAY_DEVICE) +#endif + +#define DISPLAY_DEVICE_ATTACHED_TO_DESKTOP 0x00000001 +#define DISPLAY_DEVICE_MULTI_DRIVER 0x00000002 +#define DISPLAY_DEVICE_PRIMARY_DEVICE 0x00000004 +#define DISPLAY_DEVICE_MIRRORING_DRIVER 0x00000008 +#define DISPLAY_DEVICE_VGA_COMPATIBLE 0x00000010 +#define DISPLAY_DEVICE_REMOVABLE 0x00000020 +#if _WIN32_WINNT >= 0x0602 +#define DISPLAY_DEVICE_ACC_DRIVER 0x00000040 +#endif +#define DISPLAY_DEVICE_TS_COMPATIBLE 0x00200000 +#if _WIN32_WINNT >= 0x0600 +#define DISPLAY_DEVICE_UNSAFE_MODES_ON 0x00080000 +#endif +#define DISPLAY_DEVICE_MODESPRUNED 0x08000000 +#define DISPLAY_DEVICE_RDPUDD 0x01000000 +#define DISPLAY_DEVICE_REMOTE 0x04000000 +#define DISPLAY_DEVICE_DISCONNECT 0x02000000 + +#define DISPLAY_DEVICE_ACTIVE 0x00000001 +#define DISPLAY_DEVICE_ATTACHED 0x00000002 + +#if WINVER >= 0x0601 +#define DISPLAYCONFIG_MAXPATH 1024 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct DISPLAYCONFIG_RATIONAL { + UINT32 Numerator; + UINT32 Denominator; + } DISPLAYCONFIG_RATIONAL; + + typedef enum { + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = (int) -1, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = (int) 0, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = (int) 1, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = (int) 2, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = (int) 3, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = (int) 4, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = (int) 5, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = (int) 6, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = (int) 8, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = (int) 9, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = (int) 10, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = (int) 11, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = (int) 12, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = (int) 13, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = (int) 14, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = (int) 15, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = (int) 16, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = (int) 17, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_USB_TUNNEL = (int) 18, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = (int) 0x80000000, + DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = (int) 0xFFFFFFFF + } DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY; + + typedef enum { + DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, + DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = 2, + DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, + DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_SCANLINE_ORDERING; + + typedef struct DISPLAYCONFIG_2DREGION { + UINT32 cx; + UINT32 cy; + } DISPLAYCONFIG_2DREGION; + + typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { + UINT64 pixelRate; + DISPLAYCONFIG_RATIONAL hSyncFreq; + DISPLAYCONFIG_RATIONAL vSyncFreq; + DISPLAYCONFIG_2DREGION activeSize; + DISPLAYCONFIG_2DREGION totalSize; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 videoStandard : 16; + UINT32 vSyncFreqDivider : 6; + UINT32 reserved : 10; + } AdditionalSignalInfo; + UINT32 videoStandard; + }; + DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + } DISPLAYCONFIG_VIDEO_SIGNAL_INFO; + + typedef enum { + DISPLAYCONFIG_SCALING_IDENTITY = 1, + DISPLAYCONFIG_SCALING_CENTERED = 2, + DISPLAYCONFIG_SCALING_STRETCHED = 3, + DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, + DISPLAYCONFIG_SCALING_CUSTOM = 5, + DISPLAYCONFIG_SCALING_PREFERRED = 128, + DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_SCALING; + + typedef enum { + DISPLAYCONFIG_ROTATION_IDENTITY = 1, + DISPLAYCONFIG_ROTATION_ROTATE90 = 2, + DISPLAYCONFIG_ROTATION_ROTATE180 = 3, + DISPLAYCONFIG_ROTATION_ROTATE270 = 4, + DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_ROTATION; + + typedef enum { + DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, + DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, + DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3, + DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_MODE_INFO_TYPE; + + typedef enum { + DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, + DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, + DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, + DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, + DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, + DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff + } DISPLAYCONFIG_PIXELFORMAT; + + typedef struct DISPLAYCONFIG_SOURCE_MODE { + UINT32 width; + UINT32 height; + DISPLAYCONFIG_PIXELFORMAT pixelFormat; + POINTL position; + } DISPLAYCONFIG_SOURCE_MODE; + + typedef struct DISPLAYCONFIG_TARGET_MODE { + DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo; + } DISPLAYCONFIG_TARGET_MODE; + + typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO { + POINTL PathSourceSize; + RECTL DesktopImageRegion; + RECTL DesktopImageClip; + } DISPLAYCONFIG_DESKTOP_IMAGE_INFO; + + typedef struct DISPLAYCONFIG_MODE_INFO { + DISPLAYCONFIG_MODE_INFO_TYPE infoType; + UINT32 id; + LUID adapterId; + __C89_NAMELESS union { + DISPLAYCONFIG_TARGET_MODE targetMode; + DISPLAYCONFIG_SOURCE_MODE sourceMode; + }; + } DISPLAYCONFIG_MODE_INFO; + +#define DISPLAYCONFIG_PATH_MODE_IDX_INVALID 0xffffffff +#define DISPLAYCONFIG_PATH_TARGET_MODE_IDX_INVALID 0xffff +#define DISPLAYCONFIG_PATH_DESKTOP_IMAGE_IDX_INVALID 0xffff +#define DISPLAYCONFIG_PATH_SOURCE_MODE_IDX_INVALID 0xffff +#define DISPLAYCONFIG_PATH_CLONE_GROUP_INVALID 0xffff + + typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO { + LUID adapterId; + UINT32 id; + __C89_NAMELESS union { + UINT32 modeInfoIdx; + __C89_NAMELESS struct { + UINT32 cloneGroupId : 16; + UINT32 sourceModeInfoIdx : 16; + }; + }; + UINT32 statusFlags; + } DISPLAYCONFIG_PATH_SOURCE_INFO; + +#define DISPLAYCONFIG_SOURCE_IN_USE 0x1 + + typedef struct DISPLAYCONFIG_PATH_TARGET_INFO { + LUID adapterId; + UINT32 id; + __C89_NAMELESS union { + UINT32 modeInfoIdx; + __C89_NAMELESS struct { + UINT32 desktopModeInfoIdx : 16; + UINT32 targetModeInfoIdx : 16; + }; + }; + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + DISPLAYCONFIG_ROTATION rotation; + DISPLAYCONFIG_SCALING scaling; + DISPLAYCONFIG_RATIONAL refreshRate; + DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; + WINBOOL targetAvailable; + UINT32 statusFlags; + } DISPLAYCONFIG_PATH_TARGET_INFO; + +#define DISPLAYCONFIG_TARGET_IN_USE 0x00000001 +#define DISPLAYCONFIG_TARGET_FORCIBLE 0x00000002 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_BOOT 0x00000004 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_PATH 0x00000008 +#define DISPLAYCONFIG_TARGET_FORCED_AVAILABILITY_SYSTEM 0x00000010 +#define DISPLAYCONFIG_TARGET_IS_HMD 0x00000020 + + typedef struct DISPLAYCONFIG_PATH_INFO { + DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo; + DISPLAYCONFIG_PATH_TARGET_INFO targetInfo; + UINT32 flags; + } DISPLAYCONFIG_PATH_INFO; + +#define DISPLAYCONFIG_PATH_ACTIVE 0x00000001 +#define DISPLAYCONFIG_PATH_PREFERRED_UNSCALED 0x00000004 +#define DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE 0x00000008 +#define DISPLAYCONFIG_PATH_BOOST_REFRESH_RATE 0x00000010 +#define DISPLAYCONFIG_PATH_VALID_FLAGS 0x0000001D + + typedef enum DISPLAYCONFIG_TOPOLOGY_ID { + DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x1, + DISPLAYCONFIG_TOPOLOGY_CLONE = 0x2, + DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x4, + DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x8, + DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_TOPOLOGY_ID; + + typedef enum { + DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, + DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, + DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, + DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, + DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, + DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, + DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9, + DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10, + DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11, + DISPLAYCONFIG_DEVICE_INFO_GET_MONITOR_SPECIALIZATION = 12, + DISPLAYCONFIG_DEVICE_INFO_SET_MONITOR_SPECIALIZATION = 13, + DISPLAYCONFIG_DEVICE_INFO_SET_RESERVED1 = 14, + DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO_2 = 15, + DISPLAYCONFIG_DEVICE_INFO_SET_HDR_STATE = 16, + DISPLAYCONFIG_DEVICE_INFO_SET_WCG_STATE = 17, + DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_DEVICE_INFO_TYPE; + + typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER { + DISPLAYCONFIG_DEVICE_INFO_TYPE type; + UINT32 size; + LUID adapterId; + UINT32 id; + } DISPLAYCONFIG_DEVICE_INFO_HEADER; + +#endif /* WINAPI_PARTITION_APP */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + WCHAR viewGdiDeviceName[CCHDEVICENAME]; + } DISPLAYCONFIG_SOURCE_DEVICE_NAME; + + typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 friendlyNameFromEdid : 1; + UINT32 friendlyNameForced : 1; + UINT32 edidIdsValid : 1; + UINT32 reserved : 29; + }; + UINT32 value; + }; + } DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS; + + typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags; + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; + UINT16 edidManufactureId; + UINT16 edidProductCodeId; + UINT32 connectorInstance; + WCHAR monitorFriendlyDeviceName[64]; + WCHAR monitorDevicePath[128]; + } DISPLAYCONFIG_TARGET_DEVICE_NAME; + + typedef struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + UINT32 width; + UINT32 height; + DISPLAYCONFIG_TARGET_MODE targetMode; + } DISPLAYCONFIG_TARGET_PREFERRED_MODE; + + typedef struct DISPLAYCONFIG_ADAPTER_NAME { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + WCHAR adapterDevicePath[128]; + } DISPLAYCONFIG_ADAPTER_NAME; + + typedef struct DISPLAYCONFIG_TARGET_BASE_TYPE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology; + } DISPLAYCONFIG_TARGET_BASE_TYPE; + + typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 bootPersistenceOn : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + } DISPLAYCONFIG_SET_TARGET_PERSISTENCE; + + typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 disableMonitorVirtualResolution : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + } DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION; + + typedef enum _DISPLAYCONFIG_COLOR_ENCODING { + DISPLAYCONFIG_COLOR_ENCODING_RGB = 0, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2, + DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3, + DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4, + DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF + } DISPLAYCONFIG_COLOR_ENCODING; + + typedef struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 advancedColorSupported :1; + UINT32 advancedColorEnabled :1; + UINT32 wideColorEnforced :1; + UINT32 advancedColorForceDisabled :1; + UINT32 reserved :28; + }; + UINT32 value; + }; + DISPLAYCONFIG_COLOR_ENCODING colorEncoding; + UINT32 bitsPerColorChannel; + } DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO; + + typedef struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 enableAdvancedColor :1; + UINT32 reserved :31; + }; + UINT32 value; + }; +} DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE; + +#if (NTDDI_VERSION >= NTDDI_WIN11_GA) + + typedef enum _DISPLAYCONFIG_ADVANCED_COLOR_MODE { + DISPLAYCONFIG_ADVANCED_COLOR_MODE_SDR, + DISPLAYCONFIG_ADVANCED_COLOR_MODE_WCG, + DISPLAYCONFIG_ADVANCED_COLOR_MODE_HDR + } DISPLAYCONFIG_ADVANCED_COLOR_MODE; + + typedef struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO_2 { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 advancedColorSupported : 1; + UINT32 advancedColorActive : 1; + UINT32 reserved1 : 1; + UINT32 advancedColorLimitedByPolicy : 1; + UINT32 highDynamicRangeSupported : 1; + UINT32 highDynamicRangeUserEnabled : 1; + UINT32 wideColorSupported : 1; + UINT32 wideColorUserEnabled : 1; + UINT32 reserved : 24; + }; + UINT32 value; + }; + DISPLAYCONFIG_COLOR_ENCODING colorEncoding; + UINT32 bitsPerColorChannel; + DISPLAYCONFIG_ADVANCED_COLOR_MODE activeColorMode; + } DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO_2; + + typedef struct _DISPLAYCONFIG_SET_HDR_STATE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 enableHdr : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + } DISPLAYCONFIG_SET_HDR_STATE; + + typedef struct _DISPLAYCONFIG_SET_WCG_STATE { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 enableWcg : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + } DISPLAYCONFIG_SET_WCG_STATE; + +#endif /* (NTDDI_VERSION >= NTDDI_WIN11_GA) */ + + typedef struct _DISPLAYCONFIG_SDR_WHITE_LEVEL { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + ULONG SDRWhiteLevel; + } DISPLAYCONFIG_SDR_WHITE_LEVEL; + + typedef struct _DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 isSpecializationEnabled : 1; + UINT32 isSpecializationAvailableForMonitor : 1; + UINT32 isSpecializationAvailableForSystem : 1; + UINT32 reserved : 29; + }; + UINT32 value; + }; + } DISPLAYCONFIG_GET_MONITOR_SPECIALIZATION; + + typedef struct _DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION { + DISPLAYCONFIG_DEVICE_INFO_HEADER header; + __C89_NAMELESS union { + __C89_NAMELESS struct { + UINT32 isSpecializationEnabled : 1; + UINT32 reserved : 31; + }; + UINT32 value; + }; + GUID specializationType; + GUID specializationSubType; + WCHAR specializationApplicationName[128]; + } DISPLAYCONFIG_SET_MONITOR_SPECIALIZATION; + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#define QDC_ALL_PATHS 0x00000001 +#define QDC_ONLY_ACTIVE_PATHS 0x00000002 +#define QDC_DATABASE_CURRENT 0x00000004 +#define QDC_VIRTUAL_MODE_AWARE 0x00000010 +#define QDC_INCLUDE_HMD 0x00000020 +#define QDC_VIRTUAL_REFRESH_RATE_AWARE 0x00000040 + +#define SDC_TOPOLOGY_INTERNAL 0x00000001 +#define SDC_TOPOLOGY_CLONE 0x00000002 +#define SDC_TOPOLOGY_EXTEND 0x00000004 +#define SDC_TOPOLOGY_EXTERNAL 0x00000008 +#define SDC_TOPOLOGY_SUPPLIED 0x00000010 +#define SDC_USE_DATABASE_CURRENT (SDC_TOPOLOGY_INTERNAL | SDC_TOPOLOGY_CLONE \ + | SDC_TOPOLOGY_EXTEND | SDC_TOPOLOGY_EXTERNAL) + +#define SDC_USE_SUPPLIED_DISPLAY_CONFIG 0x00000020 +#define SDC_VALIDATE 0x00000040 +#define SDC_APPLY 0x00000080 +#define SDC_NO_OPTIMIZATION 0x00000100 +#define SDC_SAVE_TO_DATABASE 0x00000200 +#define SDC_ALLOW_CHANGES 0x00000400 +#define SDC_PATH_PERSIST_IF_REQUIRED 0x00000800 +#define SDC_FORCE_MODE_ENUMERATION 0x00001000 +#define SDC_ALLOW_PATH_ORDER_CHANGES 0x00002000 +#define SDC_VIRTUAL_MODE_AWARE 0x00008000 +#define SDC_VIRTUAL_REFRESH_RATE_AWARE 0x00020000 + +#endif /* WINVER >= 0x0601 */ + +#define RDH_RECTANGLES 1 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct _RGNDATAHEADER { + DWORD dwSize; + DWORD iType; + DWORD nCount; + DWORD nRgnSize; + RECT rcBound; + } RGNDATAHEADER,*PRGNDATAHEADER; + + typedef struct _RGNDATA { + RGNDATAHEADER rdh; + char Buffer[1]; + } RGNDATA,*PRGNDATA,*NPRGNDATA,*LPRGNDATA; +#endif + +#define SYSRGN 4 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _ABC { + int abcA; + UINT abcB; + int abcC; + } ABC,*PABC,*NPABC,*LPABC; + + typedef struct _ABCFLOAT { + FLOAT abcfA; + FLOAT abcfB; + FLOAT abcfC; + } ABCFLOAT,*PABCFLOAT,*NPABCFLOAT,*LPABCFLOAT; +#endif + +#ifndef NOTEXTMETRIC + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _OUTLINETEXTMETRICA { + UINT otmSize; + TEXTMETRICA otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; + } OUTLINETEXTMETRICA,*POUTLINETEXTMETRICA,*NPOUTLINETEXTMETRICA,*LPOUTLINETEXTMETRICA; + + typedef struct _OUTLINETEXTMETRICW { + UINT otmSize; + TEXTMETRICW otmTextMetrics; + BYTE otmFiller; + PANOSE otmPanoseNumber; + UINT otmfsSelection; + UINT otmfsType; + int otmsCharSlopeRise; + int otmsCharSlopeRun; + int otmItalicAngle; + UINT otmEMSquare; + int otmAscent; + int otmDescent; + UINT otmLineGap; + UINT otmsCapEmHeight; + UINT otmsXHeight; + RECT otmrcFontBox; + int otmMacAscent; + int otmMacDescent; + UINT otmMacLineGap; + UINT otmusMinimumPPEM; + POINT otmptSubscriptSize; + POINT otmptSubscriptOffset; + POINT otmptSuperscriptSize; + POINT otmptSuperscriptOffset; + UINT otmsStrikeoutSize; + int otmsStrikeoutPosition; + int otmsUnderscoreSize; + int otmsUnderscorePosition; + PSTR otmpFamilyName; + PSTR otmpFaceName; + PSTR otmpStyleName; + PSTR otmpFullName; + } OUTLINETEXTMETRICW,*POUTLINETEXTMETRICW,*NPOUTLINETEXTMETRICW,*LPOUTLINETEXTMETRICW; + + __MINGW_TYPEDEF_AW(OUTLINETEXTMETRIC) + __MINGW_TYPEDEF_AW(POUTLINETEXTMETRIC) + __MINGW_TYPEDEF_AW(NPOUTLINETEXTMETRIC) + __MINGW_TYPEDEF_AW(LPOUTLINETEXTMETRIC) +#endif +#endif /* NOTEXTMETRIC */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagPOLYTEXTA { + int x; + int y; + UINT n; + LPCSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; + } POLYTEXTA,*PPOLYTEXTA,*NPPOLYTEXTA,*LPPOLYTEXTA; + + typedef struct tagPOLYTEXTW { + int x; + int y; + UINT n; + LPCWSTR lpstr; + UINT uiFlags; + RECT rcl; + int *pdx; + } POLYTEXTW,*PPOLYTEXTW,*NPPOLYTEXTW,*LPPOLYTEXTW; + + __MINGW_TYPEDEF_AW(POLYTEXT) + __MINGW_TYPEDEF_AW(PPOLYTEXT) + __MINGW_TYPEDEF_AW(NPPOLYTEXT) + __MINGW_TYPEDEF_AW(LPPOLYTEXT) +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _FIXED { + WORD fract; + short value; + } FIXED; + + typedef struct _MAT2 { + FIXED eM11; + FIXED eM12; + FIXED eM21; + FIXED eM22; + } MAT2,*LPMAT2; + + typedef struct _GLYPHMETRICS { + UINT gmBlackBoxX; + UINT gmBlackBoxY; + POINT gmptGlyphOrigin; + short gmCellIncX; + short gmCellIncY; + } GLYPHMETRICS,*LPGLYPHMETRICS; +#endif + +#define GGO_METRICS 0 +#define GGO_BITMAP 1 +#define GGO_NATIVE 2 +#define GGO_BEZIER 3 +#define GGO_GRAY2_BITMAP 4 +#define GGO_GRAY4_BITMAP 5 +#define GGO_GRAY8_BITMAP 6 +#define GGO_GLYPH_INDEX 0x0080 +#define GGO_UNHINTED 0x0100 + +#define TT_POLYGON_TYPE 24 + +#define TT_PRIM_LINE 1 +#define TT_PRIM_QSPLINE 2 +#define TT_PRIM_CSPLINE 3 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagPOINTFX { + FIXED x; + FIXED y; + } POINTFX,*LPPOINTFX; + + typedef struct tagTTPOLYCURVE { + WORD wType; + WORD cpfx; + POINTFX apfx[1]; + } TTPOLYCURVE,*LPTTPOLYCURVE; + + typedef struct tagTTPOLYGONHEADER { + DWORD cb; + DWORD dwType; + POINTFX pfxStart; + } TTPOLYGONHEADER,*LPTTPOLYGONHEADER; +#endif + +#define GCP_DBCS 0x0001 +#define GCP_REORDER 0x0002 +#define GCP_USEKERNING 0x0008 +#define GCP_GLYPHSHAPE 0x0010 +#define GCP_LIGATE 0x0020 +#define GCP_DIACRITIC 0x0100 +#define GCP_KASHIDA 0x0400 +#define GCP_ERROR 0x8000 +#define FLI_MASK 0x103B + +#define GCP_JUSTIFY __MSABI_LONG(0x00010000) +#define FLI_GLYPHS __MSABI_LONG(0x00040000) +#define GCP_CLASSIN __MSABI_LONG(0x00080000) +#define GCP_MAXEXTENT __MSABI_LONG(0x00100000) +#define GCP_JUSTIFYIN __MSABI_LONG(0x00200000) +#define GCP_DISPLAYZWG __MSABI_LONG(0x00400000) +#define GCP_SYMSWAPOFF __MSABI_LONG(0x00800000) +#define GCP_NUMERICOVERRIDE __MSABI_LONG(0x01000000) +#define GCP_NEUTRALOVERRIDE __MSABI_LONG(0x02000000) +#define GCP_NUMERICSLATIN __MSABI_LONG(0x04000000) +#define GCP_NUMERICSLOCAL __MSABI_LONG(0x08000000) + +#define GCPCLASS_LATIN 1 +#define GCPCLASS_HEBREW 2 +#define GCPCLASS_ARABIC 2 +#define GCPCLASS_NEUTRAL 3 +#define GCPCLASS_LOCALNUMBER 4 +#define GCPCLASS_LATINNUMBER 5 +#define GCPCLASS_LATINNUMERICTERMINATOR 6 +#define GCPCLASS_LATINNUMERICSEPARATOR 7 +#define GCPCLASS_NUMERICSEPARATOR 8 +#define GCPCLASS_PREBOUNDLTR 0x80 +#define GCPCLASS_PREBOUNDRTL 0x40 +#define GCPCLASS_POSTBOUNDLTR 0x20 +#define GCPCLASS_POSTBOUNDRTL 0x10 + +#define GCPGLYPH_LINKBEFORE 0x8000 +#define GCPGLYPH_LINKAFTER 0x4000 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct tagGCP_RESULTSA { + DWORD lStructSize; + LPSTR lpOutString; + UINT *lpOrder; + int *lpDx; + int *lpCaretPos; + LPSTR lpClass; + LPWSTR lpGlyphs; + UINT nGlyphs; + int nMaxFit; + } GCP_RESULTSA,*LPGCP_RESULTSA; + typedef struct tagGCP_RESULTSW { + DWORD lStructSize; + LPWSTR lpOutString; + UINT *lpOrder; + int *lpDx; + int *lpCaretPos; + LPSTR lpClass; + LPWSTR lpGlyphs; + UINT nGlyphs; + int nMaxFit; + } GCP_RESULTSW,*LPGCP_RESULTSW; + + __MINGW_TYPEDEF_AW(GCP_RESULTS) + __MINGW_TYPEDEF_AW(LPGCP_RESULTS) + + typedef struct _RASTERIZER_STATUS { + short nSize; + short wFlags; + short nLanguageID; + } RASTERIZER_STATUS,*LPRASTERIZER_STATUS; +#endif + +#define TT_AVAILABLE 0x0001 +#define TT_ENABLED 0x0002 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct tagPIXELFORMATDESCRIPTOR { + WORD nSize; + WORD nVersion; + DWORD dwFlags; + BYTE iPixelType; + BYTE cColorBits; + BYTE cRedBits; + BYTE cRedShift; + BYTE cGreenBits; + BYTE cGreenShift; + BYTE cBlueBits; + BYTE cBlueShift; + BYTE cAlphaBits; + BYTE cAlphaShift; + BYTE cAccumBits; + BYTE cAccumRedBits; + BYTE cAccumGreenBits; + BYTE cAccumBlueBits; + BYTE cAccumAlphaBits; + BYTE cDepthBits; + BYTE cStencilBits; + BYTE cAuxBuffers; + BYTE iLayerType; + BYTE bReserved; + DWORD dwLayerMask; + DWORD dwVisibleMask; + DWORD dwDamageMask; + } PIXELFORMATDESCRIPTOR,*PPIXELFORMATDESCRIPTOR,*LPPIXELFORMATDESCRIPTOR; +#endif + +#define PFD_TYPE_RGBA 0 +#define PFD_TYPE_COLORINDEX 1 + +#define PFD_MAIN_PLANE 0 +#define PFD_OVERLAY_PLANE 1 +#define PFD_UNDERLAY_PLANE (-1) + +#define PFD_DOUBLEBUFFER 0x00000001 +#define PFD_STEREO 0x00000002 +#define PFD_DRAW_TO_WINDOW 0x00000004 +#define PFD_DRAW_TO_BITMAP 0x00000008 +#define PFD_SUPPORT_GDI 0x00000010 +#define PFD_SUPPORT_OPENGL 0x00000020 +#define PFD_GENERIC_FORMAT 0x00000040 +#define PFD_NEED_PALETTE 0x00000080 +#define PFD_NEED_SYSTEM_PALETTE 0x00000100 +#define PFD_SWAP_EXCHANGE 0x00000200 +#define PFD_SWAP_COPY 0x00000400 +#define PFD_SWAP_LAYER_BUFFERS 0x00000800 +#define PFD_GENERIC_ACCELERATED 0x00001000 +#define PFD_SUPPORT_DIRECTDRAW 0x00002000 +#define PFD_DIRECT3D_ACCELERATED 0x00004000 +#define PFD_SUPPORT_COMPOSITION 0x00008000 + +#define PFD_DEPTH_DONTCARE 0x20000000 +#define PFD_DOUBLEBUFFER_DONTCARE 0x40000000 +#define PFD_STEREO_DONTCARE 0x80000000 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef NOTEXTMETRIC + typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *,CONST TEXTMETRICA *,DWORD,LPARAM); + typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *,CONST TEXTMETRICW *,DWORD,LPARAM); + +#define OLDFONTENUMPROC __MINGW_NAME_AW(OLDFONTENUMPROC) +#else + typedef int (CALLBACK *OLDFONTENUMPROCA)(CONST LOGFONTA *,CONST VOID *,DWORD,LPARAM); + typedef int (CALLBACK *OLDFONTENUMPROCW)(CONST LOGFONTW *,CONST VOID *,DWORD,LPARAM); + +#define OLDFONTENUMPROC __MINGW_NAME_AW(OLDFONTENUMPROC) +#endif + + typedef OLDFONTENUMPROCA FONTENUMPROCA; + typedef OLDFONTENUMPROCW FONTENUMPROCW; + + __MINGW_TYPEDEF_AW(FONTENUMPROC) + + typedef int (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM); + typedef VOID (CALLBACK *LINEDDAPROC)(int,int,LPARAM); + +#define AddFontResource __MINGW_NAME_AW(AddFontResource) +#define CopyMetaFile __MINGW_NAME_AW(CopyMetaFile) +#define CreateDC __MINGW_NAME_AW(CreateDC) +#define CreateFontIndirect __MINGW_NAME_AW(CreateFontIndirect) +#define CreateFont __MINGW_NAME_AW(CreateFont) +#define CreateIC __MINGW_NAME_AW(CreateIC) +#define CreateMetaFile __MINGW_NAME_AW(CreateMetaFile) +#define CreateScalableFontResource __MINGW_NAME_AW(CreateScalableFontResource) + + + WINGDIAPI int WINAPI AddFontResourceA(LPCSTR); + WINGDIAPI int WINAPI AddFontResourceW(LPCWSTR); + WINGDIAPI WINBOOL WINAPI AnimatePalette(HPALETTE hPal,UINT iStartIndex,UINT cEntries,CONST PALETTEENTRY *ppe); + WINGDIAPI WINBOOL WINAPI Arc(HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4); + WINGDIAPI WINBOOL WINAPI BitBlt(HDC hdc,int x,int y,int cx,int cy,HDC hdcSrc,int x1,int y1,DWORD rop); + WINGDIAPI WINBOOL WINAPI CancelDC(HDC hdc); + WINGDIAPI WINBOOL WINAPI Chord(HDC hdc,int x1,int y1,int x2,int y2,int x3,int y3,int x4,int y4); + WINGDIAPI int WINAPI ChoosePixelFormat(HDC hdc,CONST PIXELFORMATDESCRIPTOR *ppfd); + WINGDIAPI HMETAFILE WINAPI CloseMetaFile(HDC hdc); + WINGDIAPI int WINAPI CombineRgn(HRGN hrgnDst,HRGN hrgnSrc1,HRGN hrgnSrc2,int iMode); + WINGDIAPI HMETAFILE WINAPI CopyMetaFileA(HMETAFILE,LPCSTR); + WINGDIAPI HMETAFILE WINAPI CopyMetaFileW(HMETAFILE,LPCWSTR); + WINGDIAPI HBITMAP WINAPI CreateBitmap(int nWidth,int nHeight,UINT nPlanes,UINT nBitCount,CONST VOID *lpBits); + WINGDIAPI HBITMAP WINAPI CreateBitmapIndirect(CONST BITMAP *pbm); + WINGDIAPI HBRUSH WINAPI CreateBrushIndirect(CONST LOGBRUSH *plbrush); + WINGDIAPI HBITMAP WINAPI CreateCompatibleBitmap(HDC hdc,int cx,int cy); + WINGDIAPI HBITMAP WINAPI CreateDiscardableBitmap(HDC hdc,int cx,int cy); + WINGDIAPI HDC WINAPI CreateCompatibleDC(HDC hdc); + WINGDIAPI HDC WINAPI CreateDCA(LPCSTR pwszDriver,LPCSTR pwszDevice,LPCSTR pszPort,CONST DEVMODEA *pdm); + WINGDIAPI HDC WINAPI CreateDCW(LPCWSTR pwszDriver,LPCWSTR pwszDevice,LPCWSTR pszPort,CONST DEVMODEW *pdm); + WINGDIAPI HBITMAP WINAPI CreateDIBitmap(HDC hdc,CONST BITMAPINFOHEADER *pbmih,DWORD flInit,CONST VOID *pjBits,CONST BITMAPINFO *pbmi,UINT iUsage); + WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrush(HGLOBAL h,UINT iUsage); + WINGDIAPI HBRUSH WINAPI CreateDIBPatternBrushPt(CONST VOID *lpPackedDIB,UINT iUsage); + WINGDIAPI HRGN WINAPI CreateEllipticRgn(int x1,int y1,int x2,int y2); + WINGDIAPI HRGN WINAPI CreateEllipticRgnIndirect(CONST RECT *lprect); + WINGDIAPI HFONT WINAPI CreateFontIndirectA(CONST LOGFONTA *lplf); + WINGDIAPI HFONT WINAPI CreateFontIndirectW(CONST LOGFONTW *lplf); + WINGDIAPI HFONT WINAPI CreateFontA(int cHeight,int cWidth,int cEscapement,int cOrientation,int cWeight,DWORD bItalic,DWORD bUnderline,DWORD bStrikeOut,DWORD iCharSet,DWORD iOutPrecision,DWORD iClipPrecision,DWORD iQuality,DWORD iPitchAndFamily,LPCSTR pszFaceName); + WINGDIAPI HFONT WINAPI CreateFontW(int cHeight,int cWidth,int cEscapement,int cOrientation,int cWeight,DWORD bItalic,DWORD bUnderline,DWORD bStrikeOut,DWORD iCharSet,DWORD iOutPrecision,DWORD iClipPrecision,DWORD iQuality,DWORD iPitchAndFamily,LPCWSTR pszFaceName); + WINGDIAPI HBRUSH WINAPI CreateHatchBrush(int iHatch,COLORREF color); + WINGDIAPI HDC WINAPI CreateICA(LPCSTR pszDriver,LPCSTR pszDevice,LPCSTR pszPort,CONST DEVMODEA *pdm); + WINGDIAPI HDC WINAPI CreateICW(LPCWSTR pszDriver,LPCWSTR pszDevice,LPCWSTR pszPort,CONST DEVMODEW *pdm); + WINGDIAPI HDC WINAPI CreateMetaFileA(LPCSTR pszFile); + WINGDIAPI HDC WINAPI CreateMetaFileW(LPCWSTR pszFile); + WINGDIAPI HPALETTE WINAPI CreatePalette(CONST LOGPALETTE *plpal); + WINGDIAPI HPEN WINAPI CreatePen(int iStyle,int cWidth,COLORREF color); + WINGDIAPI HPEN WINAPI CreatePenIndirect(CONST LOGPEN *plpen); + WINGDIAPI HRGN WINAPI CreatePolyPolygonRgn(CONST POINT *pptl,CONST INT *pc,int cPoly,int iMode); + WINGDIAPI HBRUSH WINAPI CreatePatternBrush(HBITMAP hbm); + WINGDIAPI HRGN WINAPI CreateRectRgn(int x1,int y1,int x2,int y2); + WINGDIAPI HRGN WINAPI CreateRectRgnIndirect(CONST RECT *lprect); + WINGDIAPI HRGN WINAPI CreateRoundRectRgn(int x1,int y1,int x2,int y2,int w,int h); + WINGDIAPI WINBOOL WINAPI CreateScalableFontResourceA(DWORD fdwHidden,LPCSTR lpszFont,LPCSTR lpszFile,LPCSTR lpszPath); + WINGDIAPI WINBOOL WINAPI CreateScalableFontResourceW(DWORD fdwHidden,LPCWSTR lpszFont,LPCWSTR lpszFile,LPCWSTR lpszPath); + WINGDIAPI HBRUSH WINAPI CreateSolidBrush(COLORREF color); + WINGDIAPI WINBOOL WINAPI DeleteDC(HDC hdc); + WINGDIAPI WINBOOL WINAPI DeleteMetaFile(HMETAFILE hmf); + WINGDIAPI WINBOOL WINAPI DeleteObject(HGDIOBJ ho); + WINGDIAPI int WINAPI DescribePixelFormat(HDC hdc,int iPixelFormat,UINT nBytes,LPPIXELFORMATDESCRIPTOR ppfd); + + typedef UINT (CALLBACK *LPFNDEVMODE)(HWND,HMODULE,LPDEVMODE,LPSTR,LPSTR,LPDEVMODE,LPSTR,UINT); + typedef DWORD (CALLBACK *LPFNDEVCAPS)(LPSTR,LPSTR,UINT,LPSTR,LPDEVMODE); +#endif /* WINAPI_PARTITION_DESKTOP */ + +#define DM_UPDATE 1 +#define DM_COPY 2 +#define DM_PROMPT 4 +#define DM_MODIFY 8 + +#define DM_IN_BUFFER DM_MODIFY +#define DM_IN_PROMPT DM_PROMPT +#define DM_OUT_BUFFER DM_COPY +#define DM_OUT_DEFAULT DM_UPDATE + +#define DC_FIELDS 1 +#define DC_PAPERS 2 +#define DC_PAPERSIZE 3 +#define DC_MINEXTENT 4 +#define DC_MAXEXTENT 5 +#define DC_BINS 6 +#define DC_DUPLEX 7 +#define DC_SIZE 8 +#define DC_EXTRA 9 +#define DC_VERSION 10 +#define DC_DRIVER 11 +#define DC_BINNAMES 12 +#define DC_ENUMRESOLUTIONS 13 +#define DC_FILEDEPENDENCIES 14 +#define DC_TRUETYPE 15 +#define DC_PAPERNAMES 16 +#define DC_ORIENTATION 17 +#define DC_COPIES 18 +#define DC_BINADJUST 19 +#define DC_EMF_COMPLIANT 20 +#define DC_DATATYPE_PRODUCED 21 +#define DC_COLLATE 22 +#define DC_MANUFACTURER 23 +#define DC_MODEL 24 +#define DC_PERSONALITY 25 +#define DC_PRINTRATE 26 +#define DC_PRINTRATEUNIT 27 +#define PRINTRATEUNIT_PPM 1 +#define PRINTRATEUNIT_CPS 2 +#define PRINTRATEUNIT_LPM 3 +#define PRINTRATEUNIT_IPM 4 +#define DC_PRINTERMEM 28 +#define DC_MEDIAREADY 29 +#define DC_STAPLE 30 +#define DC_PRINTRATEPPM 31 +#define DC_COLORDEVICE 32 +#define DC_NUP 33 +#define DC_MEDIATYPENAMES 34 +#define DC_MEDIATYPES 35 + +#define DCTT_BITMAP __MSABI_LONG(0x0000001) +#define DCTT_DOWNLOAD __MSABI_LONG(0x0000002) +#define DCTT_SUBDEV __MSABI_LONG(0x0000004) +#define DCTT_DOWNLOAD_OUTLINE __MSABI_LONG(0x0000008) + +#define DCBA_FACEUPNONE 0x0000 +#define DCBA_FACEUPCENTER 0x0001 +#define DCBA_FACEUPLEFT 0x0002 +#define DCBA_FACEUPRIGHT 0x0003 +#define DCBA_FACEDOWNNONE 0x0100 +#define DCBA_FACEDOWNCENTER 0x0101 +#define DCBA_FACEDOWNLEFT 0x0102 +#define DCBA_FACEDOWNRIGHT 0x0103 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define DeviceCapabilities __MINGW_NAME_AW(DeviceCapabilities) +#define EnumFontFamiliesEx __MINGW_NAME_AW(EnumFontFamiliesEx) +#define EnumFontFamilies __MINGW_NAME_AW(EnumFontFamilies) +#define EnumFonts __MINGW_NAME_AW(EnumFonts) +#define GetCharWidth __MINGW_NAME_AW(GetCharWidth) +#define GetCharWidth32 __MINGW_NAME_AW(GetCharWidth32) +#define GetCharWidthFloat __MINGW_NAME_AW(GetCharWidthFloat) +#define GetCharABCWidths __MINGW_NAME_AW(GetCharABCWidths) +#define GetCharABCWidthsFloat __MINGW_NAME_AW(GetCharABCWidthsFloat) +#define GetGlyphOutline __MINGW_NAME_AW(GetGlyphOutline) +#define GetMetaFile __MINGW_NAME_AW(GetMetaFile) + + WINSPOOLAPI int WINAPI DeviceCapabilitiesA(LPCSTR pDevice,LPCSTR pPort,WORD fwCapability,LPSTR pOutput,CONST DEVMODEA *pDevMode); + WINSPOOLAPI int WINAPI DeviceCapabilitiesW(LPCWSTR pDevice,LPCWSTR pPort,WORD fwCapability,LPWSTR pOutput,CONST DEVMODEW *pDevMode); + WINGDIAPI int WINAPI DrawEscape(HDC hdc,int iEscape,int cjIn,LPCSTR lpIn); + WINGDIAPI WINBOOL WINAPI Ellipse(HDC hdc,int left,int top,int right,int bottom); + WINGDIAPI int WINAPI EnumFontFamiliesExA(HDC hdc,LPLOGFONTA lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam,DWORD dwFlags); + WINGDIAPI int WINAPI EnumFontFamiliesExW(HDC hdc,LPLOGFONTW lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam,DWORD dwFlags); + WINGDIAPI int WINAPI EnumFontFamiliesA(HDC hdc,LPCSTR lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam); + WINGDIAPI int WINAPI EnumFontFamiliesW(HDC hdc,LPCWSTR lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam); + WINGDIAPI int WINAPI EnumFontsA(HDC hdc,LPCSTR lpLogfont,FONTENUMPROCA lpProc,LPARAM lParam); + WINGDIAPI int WINAPI EnumFontsW(HDC hdc,LPCWSTR lpLogfont,FONTENUMPROCW lpProc,LPARAM lParam); + WINGDIAPI int WINAPI EnumObjects(HDC hdc,int nType,GOBJENUMPROC lpFunc,LPARAM lParam); + WINGDIAPI WINBOOL WINAPI EqualRgn(HRGN hrgn1,HRGN hrgn2); + WINGDIAPI int WINAPI Escape(HDC hdc,int iEscape,int cjIn,LPCSTR pvIn,LPVOID pvOut); + WINGDIAPI int WINAPI ExtEscape(HDC hdc,int iEscape,int cjInput,LPCSTR lpInData,int cjOutput,LPSTR lpOutData); + WINGDIAPI int WINAPI ExcludeClipRect(HDC hdc,int left,int top,int right,int bottom); + WINGDIAPI HRGN WINAPI ExtCreateRegion(CONST XFORM *lpx,DWORD nCount,CONST RGNDATA *lpData); + WINGDIAPI WINBOOL WINAPI ExtFloodFill(HDC hdc,int x,int y,COLORREF color,UINT type); + WINGDIAPI WINBOOL WINAPI FillRgn(HDC hdc,HRGN hrgn,HBRUSH hbr); + WINGDIAPI WINBOOL WINAPI FloodFill(HDC hdc,int x,int y,COLORREF color); + WINGDIAPI WINBOOL WINAPI FrameRgn(HDC hdc,HRGN hrgn,HBRUSH hbr,int w,int h); + WINGDIAPI int WINAPI GetROP2(HDC hdc); + WINGDIAPI WINBOOL WINAPI GetAspectRatioFilterEx(HDC hdc,LPSIZE lpsize); + WINGDIAPI COLORREF WINAPI GetBkColor(HDC hdc); + WINGDIAPI COLORREF WINAPI GetDCBrushColor(HDC hdc); + WINGDIAPI COLORREF WINAPI GetDCPenColor(HDC hdc); + WINGDIAPI int WINAPI GetBkMode(HDC hdc); + WINGDIAPI LONG WINAPI GetBitmapBits(HBITMAP hbit,LONG cb,LPVOID lpvBits); + WINGDIAPI WINBOOL WINAPI GetBitmapDimensionEx(HBITMAP hbit,LPSIZE lpsize); + WINGDIAPI UINT WINAPI GetBoundsRect(HDC hdc,LPRECT lprect,UINT flags); + WINGDIAPI WINBOOL WINAPI GetBrushOrgEx(HDC hdc,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI GetCharWidthA(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharWidthW(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharWidth32A(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharWidth32W(HDC hdc,UINT iFirst,UINT iLast,LPINT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharWidthFloatA(HDC hdc,UINT iFirst,UINT iLast,PFLOAT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharWidthFloatW(HDC hdc,UINT iFirst,UINT iLast,PFLOAT lpBuffer); + WINGDIAPI WINBOOL WINAPI GetCharABCWidthsA(HDC hdc,UINT wFirst,UINT wLast,LPABC lpABC); + WINGDIAPI WINBOOL WINAPI GetCharABCWidthsW(HDC hdc,UINT wFirst,UINT wLast,LPABC lpABC); + WINGDIAPI WINBOOL WINAPI GetCharABCWidthsFloatA(HDC hdc,UINT iFirst,UINT iLast,LPABCFLOAT lpABC); + WINGDIAPI WINBOOL WINAPI GetCharABCWidthsFloatW(HDC hdc,UINT iFirst,UINT iLast,LPABCFLOAT lpABC); + WINGDIAPI int WINAPI GetClipBox(HDC hdc,LPRECT lprect); + WINGDIAPI int WINAPI GetClipRgn(HDC hdc,HRGN hrgn); + WINGDIAPI int WINAPI GetMetaRgn(HDC hdc,HRGN hrgn); + WINGDIAPI HGDIOBJ WINAPI GetCurrentObject(HDC hdc,UINT type); + WINGDIAPI WINBOOL WINAPI GetCurrentPositionEx(HDC hdc,LPPOINT lppt); + WINGDIAPI int WINAPI GetDeviceCaps(HDC hdc,int index); + WINGDIAPI int WINAPI GetDIBits(HDC hdc,HBITMAP hbm,UINT start,UINT cLines,LPVOID lpvBits,LPBITMAPINFO lpbmi,UINT usage); + WINGDIAPI DWORD WINAPI GetFontData (HDC hdc,DWORD dwTable,DWORD dwOffset,PVOID pvBuffer,DWORD cjBuffer); + WINGDIAPI DWORD WINAPI GetGlyphOutlineA(HDC hdc,UINT uChar,UINT fuFormat,LPGLYPHMETRICS lpgm,DWORD cjBuffer,LPVOID pvBuffer,CONST MAT2 *lpmat2); + WINGDIAPI DWORD WINAPI GetGlyphOutlineW(HDC hdc,UINT uChar,UINT fuFormat,LPGLYPHMETRICS lpgm,DWORD cjBuffer,LPVOID pvBuffer,CONST MAT2 *lpmat2); + WINGDIAPI int WINAPI GetGraphicsMode(HDC hdc); + WINGDIAPI int WINAPI GetMapMode(HDC hdc); + WINGDIAPI UINT WINAPI GetMetaFileBitsEx(HMETAFILE hMF,UINT cbBuffer,LPVOID lpData); + WINGDIAPI HMETAFILE WINAPI GetMetaFileA(LPCSTR lpName); + WINGDIAPI HMETAFILE WINAPI GetMetaFileW(LPCWSTR lpName); + WINGDIAPI COLORREF WINAPI GetNearestColor(HDC hdc,COLORREF color); + WINGDIAPI UINT WINAPI GetNearestPaletteIndex(HPALETTE h,COLORREF color); + WINGDIAPI DWORD WINAPI GetObjectType(HGDIOBJ h); + +#ifndef NOTEXTMETRIC + +#define GetOutlineTextMetrics __MINGW_NAME_AW(GetOutlineTextMetrics) + + WINGDIAPI UINT WINAPI GetOutlineTextMetricsA(HDC hdc,UINT cjCopy,LPOUTLINETEXTMETRICA potm); + WINGDIAPI UINT WINAPI GetOutlineTextMetricsW(HDC hdc,UINT cjCopy,LPOUTLINETEXTMETRICW potm); +#endif + +#define GetTextExtentPoint __MINGW_NAME_AW(GetTextExtentPoint) +#define GetTextExtentPoint32 __MINGW_NAME_AW(GetTextExtentPoint32) +#define GetTextExtentExPoint __MINGW_NAME_AW(GetTextExtentExPoint) +#define GetCharacterPlacement __MINGW_NAME_AW(GetCharacterPlacement) + + WINGDIAPI UINT WINAPI GetPaletteEntries(HPALETTE hpal,UINT iStart,UINT cEntries,LPPALETTEENTRY pPalEntries); + WINGDIAPI COLORREF WINAPI GetPixel(HDC hdc,int x,int y); + WINGDIAPI int WINAPI GetPixelFormat(HDC hdc); + WINGDIAPI int WINAPI GetPolyFillMode(HDC hdc); + WINGDIAPI WINBOOL WINAPI GetRasterizerCaps(LPRASTERIZER_STATUS lpraststat,UINT cjBytes); + WINGDIAPI int WINAPI GetRandomRgn (HDC hdc,HRGN hrgn,INT i); + WINGDIAPI DWORD WINAPI GetRegionData(HRGN hrgn,DWORD nCount,LPRGNDATA lpRgnData); + WINGDIAPI int WINAPI GetRgnBox(HRGN hrgn,LPRECT lprc); + WINGDIAPI HGDIOBJ WINAPI GetStockObject(int i); + WINGDIAPI int WINAPI GetStretchBltMode(HDC hdc); + WINGDIAPI UINT WINAPI GetSystemPaletteEntries(HDC hdc,UINT iStart,UINT cEntries,LPPALETTEENTRY pPalEntries); + WINGDIAPI UINT WINAPI GetSystemPaletteUse(HDC hdc); + WINGDIAPI int WINAPI GetTextCharacterExtra(HDC hdc); + WINGDIAPI UINT WINAPI GetTextAlign(HDC hdc); + WINGDIAPI COLORREF WINAPI GetTextColor(HDC hdc); + WINGDIAPI WINBOOL WINAPI GetTextExtentPointA(HDC hdc,LPCSTR lpString,int c,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI GetTextExtentPointW(HDC hdc,LPCWSTR lpString,int c,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI GetTextExtentPoint32A(HDC hdc,LPCSTR lpString,int c,LPSIZE psizl); + WINGDIAPI WINBOOL WINAPI GetTextExtentPoint32W(HDC hdc,LPCWSTR lpString,int c,LPSIZE psizl); + WINGDIAPI WINBOOL WINAPI GetTextExtentExPointA(HDC hdc,LPCSTR lpszString,int cchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize); + WINGDIAPI WINBOOL WINAPI GetTextExtentExPointW(HDC hdc,LPCWSTR lpszString,int cchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize); + WINGDIAPI int WINAPI GetTextCharset(HDC hdc); + WINGDIAPI int WINAPI GetTextCharsetInfo(HDC hdc,LPFONTSIGNATURE lpSig,DWORD dwFlags); + WINGDIAPI WINBOOL WINAPI TranslateCharsetInfo(DWORD *lpSrc,LPCHARSETINFO lpCs,DWORD dwFlags); + WINGDIAPI DWORD WINAPI GetFontLanguageInfo(HDC hdc); + WINGDIAPI DWORD WINAPI GetCharacterPlacementA(HDC hdc,LPCSTR lpString,int nCount,int nMexExtent,LPGCP_RESULTSA lpResults,DWORD dwFlags); + WINGDIAPI DWORD WINAPI GetCharacterPlacementW(HDC hdc,LPCWSTR lpString,int nCount,int nMexExtent,LPGCP_RESULTSW lpResults,DWORD dwFlags); + + typedef struct tagWCRANGE { + WCHAR wcLow; + USHORT cGlyphs; + } WCRANGE,*PWCRANGE,*LPWCRANGE; + + typedef struct tagGLYPHSET { + DWORD cbThis; + DWORD flAccel; + DWORD cGlyphsSupported; + DWORD cRanges; + WCRANGE ranges[1]; + } GLYPHSET,*PGLYPHSET,*LPGLYPHSET; + +#define GS_8BIT_INDICES 0x00000001 + +#define GGI_MARK_NONEXISTING_GLYPHS 0X0001 + +#define GetGlyphIndices __MINGW_NAME_AW(GetGlyphIndices) + + WINGDIAPI DWORD WINAPI GetFontUnicodeRanges(HDC hdc,LPGLYPHSET lpgs); + WINGDIAPI DWORD WINAPI GetGlyphIndicesA(HDC hdc,LPCSTR lpstr,int c,LPWORD pgi,DWORD fl); + WINGDIAPI DWORD WINAPI GetGlyphIndicesW(HDC hdc,LPCWSTR lpstr,int c,LPWORD pgi,DWORD fl); + WINGDIAPI WINBOOL WINAPI GetTextExtentPointI(HDC hdc,LPWORD pgiIn,int cgi,LPSIZE psize); + WINGDIAPI WINBOOL WINAPI GetTextExtentExPointI (HDC hdc,LPWORD lpwszString,int cwchString,int nMaxExtent,LPINT lpnFit,LPINT lpnDx,LPSIZE lpSize); + WINGDIAPI WINBOOL WINAPI GetCharWidthI(HDC hdc,UINT giFirst,UINT cgi,LPWORD pgi,LPINT piWidths); + WINGDIAPI WINBOOL WINAPI GetCharABCWidthsI(HDC hdc,UINT giFirst,UINT cgi,LPWORD pgi,LPABC pabc); + +#define STAMP_DESIGNVECTOR (0x8000000 + 'd' + ('v' << 8)) +#define STAMP_AXESLIST (0x8000000 + 'a' + ('l' << 8)) +#define STAMP_TRUETYPE_VARIATION (0x8000000 + 't' + ('v' << 8)) +#define STAMP_CFF2 (0x8000000 + 'c' + ('v' << 8)) +#define MM_MAX_NUMAXES 16 + + typedef struct tagDESIGNVECTOR { + DWORD dvReserved; + DWORD dvNumAxes; + LONG dvValues[MM_MAX_NUMAXES]; + } DESIGNVECTOR,*PDESIGNVECTOR,*LPDESIGNVECTOR; + +#define AddFontResourceEx __MINGW_NAME_AW(AddFontResourceEx) +#define RemoveFontResourceEx __MINGW_NAME_AW(RemoveFontResourceEx) + + WINGDIAPI int WINAPI AddFontResourceExA(LPCSTR name,DWORD fl,PVOID res); + WINGDIAPI int WINAPI AddFontResourceExW(LPCWSTR name,DWORD fl,PVOID res); + WINGDIAPI WINBOOL WINAPI RemoveFontResourceExA(LPCSTR name,DWORD fl,PVOID pdv); + WINGDIAPI WINBOOL WINAPI RemoveFontResourceExW(LPCWSTR name,DWORD fl,PVOID pdv); + WINGDIAPI HANDLE WINAPI AddFontMemResourceEx(PVOID pFileView,DWORD cjSize,PVOID pvResrved,DWORD *pNumFonts); + WINGDIAPI WINBOOL WINAPI RemoveFontMemResourceEx(HANDLE h); + +#define FR_PRIVATE 0x10 +#define FR_NOT_ENUM 0x20 + +#define MM_MAX_AXES_NAMELEN 16 + + typedef struct tagAXISINFOA { + LONG axMinValue; + LONG axMaxValue; + BYTE axAxisName[MM_MAX_AXES_NAMELEN]; + } AXISINFOA,*PAXISINFOA,*LPAXISINFOA; + + typedef struct tagAXISINFOW { + LONG axMinValue; + LONG axMaxValue; + WCHAR axAxisName[MM_MAX_AXES_NAMELEN]; + } AXISINFOW,*PAXISINFOW,*LPAXISINFOW; + + __MINGW_TYPEDEF_AW(AXISINFO) + __MINGW_TYPEDEF_AW(PAXISINFO) + __MINGW_TYPEDEF_AW(LPAXISINFO) + + typedef struct tagAXESLISTA { + DWORD axlReserved; + DWORD axlNumAxes; + AXISINFOA axlAxisInfo[MM_MAX_NUMAXES]; + } AXESLISTA,*PAXESLISTA,*LPAXESLISTA; + + typedef struct tagAXESLISTW { + DWORD axlReserved; + DWORD axlNumAxes; + AXISINFOW axlAxisInfo[MM_MAX_NUMAXES]; + } AXESLISTW,*PAXESLISTW,*LPAXESLISTW; + + __MINGW_TYPEDEF_AW(AXESLIST) + __MINGW_TYPEDEF_AW(PAXESLIST) + __MINGW_TYPEDEF_AW(LPAXESLIST) + + typedef struct tagENUMLOGFONTEXDVA { + ENUMLOGFONTEXA elfEnumLogfontEx; + DESIGNVECTOR elfDesignVector; + } ENUMLOGFONTEXDVA,*PENUMLOGFONTEXDVA,*LPENUMLOGFONTEXDVA; + + typedef struct tagENUMLOGFONTEXDVW { + ENUMLOGFONTEXW elfEnumLogfontEx; + DESIGNVECTOR elfDesignVector; + } ENUMLOGFONTEXDVW,*PENUMLOGFONTEXDVW,*LPENUMLOGFONTEXDVW; + + __MINGW_TYPEDEF_AW(ENUMLOGFONTEXDV) + __MINGW_TYPEDEF_AW(PENUMLOGFONTEXDV) + __MINGW_TYPEDEF_AW(LPENUMLOGFONTEXDV) + +#define CreateFontIndirectEx __MINGW_NAME_AW(CreateFontIndirectEx) + + WINGDIAPI HFONT WINAPI CreateFontIndirectExA(CONST ENUMLOGFONTEXDVA *); + WINGDIAPI HFONT WINAPI CreateFontIndirectExW(CONST ENUMLOGFONTEXDVW *); + +#ifndef NOTEXTMETRIC + typedef struct tagENUMTEXTMETRICA { + NEWTEXTMETRICEXA etmNewTextMetricEx; + AXESLISTA etmAxesList; + } ENUMTEXTMETRICA,*PENUMTEXTMETRICA,*LPENUMTEXTMETRICA; + typedef struct tagENUMTEXTMETRICW + { + NEWTEXTMETRICEXW etmNewTextMetricEx; + AXESLISTW etmAxesList; + } ENUMTEXTMETRICW,*PENUMTEXTMETRICW,*LPENUMTEXTMETRICW; + + __MINGW_TYPEDEF_AW(ENUMTEXTMETRIC) + __MINGW_TYPEDEF_AW(PENUMTEXTMETRIC) + __MINGW_TYPEDEF_AW(LPENUMTEXTMETRIC) +#endif + +#define ResetDC __MINGW_NAME_AW(ResetDC) +#define RemoveFontResource __MINGW_NAME_AW(RemoveFontResource) + + WINGDIAPI WINBOOL WINAPI GetViewportExtEx(HDC hdc,LPSIZE lpsize); + WINGDIAPI WINBOOL WINAPI GetViewportOrgEx(HDC hdc,LPPOINT lppoint); + WINGDIAPI WINBOOL WINAPI GetWindowExtEx(HDC hdc,LPSIZE lpsize); + WINGDIAPI WINBOOL WINAPI GetWindowOrgEx(HDC hdc,LPPOINT lppoint); + WINGDIAPI int WINAPI IntersectClipRect(HDC hdc,int left,int top,int right,int bottom); + WINGDIAPI WINBOOL WINAPI InvertRgn(HDC hdc,HRGN hrgn); + WINGDIAPI WINBOOL WINAPI LineDDA(int xStart,int yStart,int xEnd,int yEnd,LINEDDAPROC lpProc,LPARAM data); + WINGDIAPI WINBOOL WINAPI LineTo(HDC hdc,int x,int y); + WINGDIAPI WINBOOL WINAPI MaskBlt(HDC hdcDest,int xDest,int yDest,int width,int height,HDC hdcSrc,int xSrc,int ySrc,HBITMAP hbmMask,int xMask,int yMask,DWORD rop); + WINGDIAPI WINBOOL WINAPI PlgBlt(HDC hdcDest,CONST POINT *lpPoint,HDC hdcSrc,int xSrc,int ySrc,int width,int height,HBITMAP hbmMask,int xMask,int yMask); + WINGDIAPI int WINAPI OffsetClipRgn(HDC hdc,int x,int y); + WINGDIAPI int WINAPI OffsetRgn(HRGN hrgn,int x,int y); + WINGDIAPI WINBOOL WINAPI PatBlt(HDC hdc,int x,int y,int w,int h,DWORD rop); + WINGDIAPI WINBOOL WINAPI Pie(HDC hdc,int left,int top,int right,int bottom,int xr1,int yr1,int xr2,int yr2); + WINGDIAPI WINBOOL WINAPI PlayMetaFile(HDC hdc,HMETAFILE hmf); + WINGDIAPI WINBOOL WINAPI PaintRgn(HDC hdc,HRGN hrgn); + WINGDIAPI WINBOOL WINAPI PolyPolygon(HDC hdc,CONST POINT *apt,CONST INT *asz,int csz); + WINGDIAPI WINBOOL WINAPI PtInRegion(HRGN hrgn,int x,int y); + WINGDIAPI WINBOOL WINAPI PtVisible(HDC hdc,int x,int y); + WINGDIAPI WINBOOL WINAPI RectInRegion(HRGN hrgn,CONST RECT *lprect); + WINGDIAPI WINBOOL WINAPI RectVisible(HDC hdc,CONST RECT *lprect); + WINGDIAPI WINBOOL WINAPI Rectangle(HDC hdc,int left,int top,int right,int bottom); + WINGDIAPI WINBOOL WINAPI RestoreDC(HDC hdc,int nSavedDC); + WINGDIAPI HDC WINAPI ResetDCA(HDC hdc,CONST DEVMODEA *lpdm); + WINGDIAPI HDC WINAPI ResetDCW(HDC hdc,CONST DEVMODEW *lpdm); + WINGDIAPI UINT WINAPI RealizePalette(HDC hdc); + WINGDIAPI WINBOOL WINAPI RemoveFontResourceA(LPCSTR lpFileName); + WINGDIAPI WINBOOL WINAPI RemoveFontResourceW(LPCWSTR lpFileName); + WINGDIAPI WINBOOL WINAPI RoundRect(HDC hdc,int left,int top,int right,int bottom,int width,int height); + WINGDIAPI WINBOOL WINAPI ResizePalette(HPALETTE hpal,UINT n); + WINGDIAPI int WINAPI SaveDC(HDC hdc); + WINGDIAPI int WINAPI SelectClipRgn(HDC hdc,HRGN hrgn); + WINGDIAPI int WINAPI ExtSelectClipRgn(HDC hdc,HRGN hrgn,int mode); + WINGDIAPI int WINAPI SetMetaRgn(HDC hdc); + WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC hdc,HGDIOBJ h); + WINGDIAPI HPALETTE WINAPI SelectPalette(HDC hdc,HPALETTE hPal,WINBOOL bForceBkgd); + WINGDIAPI COLORREF WINAPI SetBkColor(HDC hdc,COLORREF color); + WINGDIAPI COLORREF WINAPI SetDCBrushColor(HDC hdc,COLORREF color); + WINGDIAPI COLORREF WINAPI SetDCPenColor(HDC hdc,COLORREF color); + WINGDIAPI int WINAPI SetBkMode(HDC hdc,int mode); + WINGDIAPI LONG WINAPI SetBitmapBits(HBITMAP hbm,DWORD cb,CONST VOID *pvBits); + WINGDIAPI UINT WINAPI SetBoundsRect(HDC hdc,CONST RECT *lprect,UINT flags); + WINGDIAPI int WINAPI SetDIBits(HDC hdc,HBITMAP hbm,UINT start,UINT cLines,CONST VOID *lpBits,CONST BITMAPINFO *lpbmi,UINT ColorUse); + WINGDIAPI int WINAPI SetDIBitsToDevice(HDC hdc,int xDest,int yDest,DWORD w,DWORD h,int xSrc,int ySrc,UINT StartScan,UINT cLines,CONST VOID *lpvBits,CONST BITMAPINFO *lpbmi,UINT ColorUse); + WINGDIAPI DWORD WINAPI SetMapperFlags(HDC hdc,DWORD flags); + WINGDIAPI int WINAPI SetGraphicsMode(HDC hdc,int iMode); + WINGDIAPI int WINAPI SetMapMode(HDC hdc,int iMode); + WINGDIAPI DWORD WINAPI SetLayout(HDC hdc,DWORD l); + WINGDIAPI DWORD WINAPI GetLayout(HDC hdc); + WINGDIAPI HMETAFILE WINAPI SetMetaFileBitsEx(UINT cbBuffer,CONST BYTE *lpData); + WINGDIAPI UINT WINAPI SetPaletteEntries(HPALETTE hpal,UINT iStart,UINT cEntries,CONST PALETTEENTRY *pPalEntries); + WINGDIAPI COLORREF WINAPI SetPixel(HDC hdc,int x,int y,COLORREF color); + WINGDIAPI WINBOOL WINAPI SetPixelV(HDC hdc,int x,int y,COLORREF color); + WINGDIAPI WINBOOL WINAPI SetPixelFormat(HDC hdc,int format,CONST PIXELFORMATDESCRIPTOR *ppfd); + WINGDIAPI int WINAPI SetPolyFillMode(HDC hdc,int mode); + WINGDIAPI WINBOOL WINAPI StretchBlt(HDC hdcDest,int xDest,int yDest,int wDest,int hDest,HDC hdcSrc,int xSrc,int ySrc,int wSrc,int hSrc,DWORD rop); + WINGDIAPI WINBOOL WINAPI SetRectRgn(HRGN hrgn,int left,int top,int right,int bottom); + WINGDIAPI int WINAPI StretchDIBits(HDC hdc,int xDest,int yDest,int DestWidth,int DestHeight,int xSrc,int ySrc,int SrcWidth,int SrcHeight,CONST VOID *lpBits,CONST BITMAPINFO *lpbmi,UINT iUsage,DWORD rop); + WINGDIAPI int WINAPI SetROP2(HDC hdc,int rop2); + WINGDIAPI int WINAPI SetStretchBltMode(HDC hdc,int mode); + WINGDIAPI UINT WINAPI SetSystemPaletteUse(HDC hdc,UINT use); + WINGDIAPI int WINAPI SetTextCharacterExtra(HDC hdc,int extra); + WINGDIAPI COLORREF WINAPI SetTextColor(HDC hdc,COLORREF color); + WINGDIAPI UINT WINAPI SetTextAlign(HDC hdc,UINT align); + WINGDIAPI WINBOOL WINAPI SetTextJustification(HDC hdc,int extra,int count); + WINGDIAPI WINBOOL WINAPI UpdateColors(HDC hdc); + +#if defined (COMBOX_SANDBOX) && _WIN32_WINNT >= 0x0600 + typedef PVOID (WINAPI *GDIMARSHALLOC)(DWORD dwSize, LPVOID pGdiRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKMARSHAL)(HGDIOBJ hGdiObj, + LPVOID pGdiRef, LPVOID *ppDDrawRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKUNMARSHAL)(LPVOID pData, HDC *phdc, + LPVOID *ppDDrawRef); + typedef HRESULT (WINAPI *DDRAWMARSHCALLBACKRELEASE)(LPVOID pDDrawRef); + +#define GDIREGISTERDDRAWPACKETVERSION 0x1 + + typedef struct { + DWORD dwSize; + DWORD dwVersion; + DDRAWMARSHCALLBACKMARSHAL pfnDdMarshal; + DDRAWMARSHCALLBACKUNMARSHAL pfnDdUnmarshal; + DDRAWMARSHCALLBACKRELEASE pfnDdRelease; + } GDIREGISTERDDRAWPACKET, *PGDIREGISTERDDRAWPACKET; + +WINGDIAPI BOOL WINAPI GdiRegisterDdraw(PGDIREGISTERDDRAWPACKET pPacket, + GDIMARSHALLOC *ppfnGdiAlloc); +WINGDIAPI ULONG WINAPI GdiMarshalSize(VOID); +WINGDIAPI VOID WINAPI GdiMarshal(DWORD dwProcessIdTo, HGDIOBJ hGdiObj, + PVOID pData, ULONG ulFlags); +WINGDIAPI HGDIOBJ WINAPI GdiUnmarshal(PVOID pData, ULONG ulFlags); +#endif + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef USHORT COLOR16; + + typedef struct _TRIVERTEX { + LONG x; + LONG y; + COLOR16 Red; + COLOR16 Green; + COLOR16 Blue; + COLOR16 Alpha; + } TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + typedef struct _GRADIENT_TRIANGLE { + ULONG Vertex1; + ULONG Vertex2; + ULONG Vertex3; + } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE; + + typedef struct _GRADIENT_RECT { + ULONG UpperLeft; + ULONG LowerRight; + } GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + typedef struct _BLENDFUNCTION { + BYTE BlendOp; + BYTE BlendFlags; + BYTE SourceConstantAlpha; + BYTE AlphaFormat; + } BLENDFUNCTION,*PBLENDFUNCTION; +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#define AC_SRC_OVER 0x00 +#define AC_SRC_ALPHA 0x01 + + WINGDIAPI WINBOOL WINAPI AlphaBlend(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,BLENDFUNCTION ftn); + WINGDIAPI WINBOOL WINAPI GdiAlphaBlend(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,BLENDFUNCTION ftn); + WINGDIAPI WINBOOL WINAPI TransparentBlt(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,UINT crTransparent); + WINGDIAPI WINBOOL WINAPI GdiTransparentBlt(HDC hdcDest,int xoriginDest,int yoriginDest,int wDest,int hDest,HDC hdcSrc,int xoriginSrc,int yoriginSrc,int wSrc,int hSrc,UINT crTransparent); + +#define GRADIENT_FILL_RECT_H 0x00000000 +#define GRADIENT_FILL_RECT_V 0x00000001 +#define GRADIENT_FILL_TRIANGLE 0x00000002 +#define GRADIENT_FILL_OP_FLAG 0x000000ff + + WINGDIAPI WINBOOL WINAPI GradientFill(HDC hdc,PTRIVERTEX pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,ULONG ulMode); + WINGDIAPI WINBOOL WINAPI GdiGradientFill(HDC hdc,PTRIVERTEX pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,ULONG ulMode); + +#ifndef NOMETAFILE + +#define CopyEnhMetaFile __MINGW_NAME_AW(CopyEnhMetaFile) +#define CreateEnhMetaFile __MINGW_NAME_AW(CreateEnhMetaFile) +#define GetEnhMetaFile __MINGW_NAME_AW(GetEnhMetaFile) +#define GetEnhMetaFileDescription __MINGW_NAME_AW(GetEnhMetaFileDescription) + + WINGDIAPI WINBOOL WINAPI PlayMetaFileRecord(HDC hdc,LPHANDLETABLE lpHandleTable,LPMETARECORD lpMR,UINT noObjs); + + typedef int (CALLBACK *MFENUMPROC)(HDC hdc,HANDLETABLE *lpht,METARECORD *lpMR,int nObj,LPARAM lParam); + + WINGDIAPI WINBOOL WINAPI EnumMetaFile(HDC hdc,HMETAFILE hmf,MFENUMPROC lpProc,LPARAM lParam); + + typedef int (CALLBACK *ENHMFENUMPROC)(HDC hdc,HANDLETABLE *lpht,CONST ENHMETARECORD *lpmr,int hHandles,LPARAM data); + + WINGDIAPI HENHMETAFILE WINAPI CloseEnhMetaFile(HDC hdc); + WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileA(HENHMETAFILE hEnh,LPCSTR lpFileName); + WINGDIAPI HENHMETAFILE WINAPI CopyEnhMetaFileW(HENHMETAFILE hEnh,LPCWSTR lpFileName); + WINGDIAPI HDC WINAPI CreateEnhMetaFileA(HDC hdc,LPCSTR lpFilename,CONST RECT *lprc,LPCSTR lpDesc); + WINGDIAPI HDC WINAPI CreateEnhMetaFileW(HDC hdc,LPCWSTR lpFilename,CONST RECT *lprc,LPCWSTR lpDesc); + WINGDIAPI WINBOOL WINAPI DeleteEnhMetaFile(HENHMETAFILE hmf); + WINGDIAPI WINBOOL WINAPI EnumEnhMetaFile(HDC hdc,HENHMETAFILE hmf,ENHMFENUMPROC lpProc,LPVOID lpParam,CONST RECT *lpRect); + WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileA(LPCSTR lpName); + WINGDIAPI HENHMETAFILE WINAPI GetEnhMetaFileW(LPCWSTR lpName); + WINGDIAPI UINT WINAPI GetEnhMetaFileBits(HENHMETAFILE hEMF,UINT nSize,LPBYTE lpData); + WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionA(HENHMETAFILE hemf,UINT cchBuffer,LPSTR lpDescription); + WINGDIAPI UINT WINAPI GetEnhMetaFileDescriptionW(HENHMETAFILE hemf,UINT cchBuffer,LPWSTR lpDescription); + WINGDIAPI UINT WINAPI GetEnhMetaFileHeader(HENHMETAFILE hemf,UINT nSize,LPENHMETAHEADER lpEnhMetaHeader); + WINGDIAPI UINT WINAPI GetEnhMetaFilePaletteEntries(HENHMETAFILE hemf,UINT nNumEntries,LPPALETTEENTRY lpPaletteEntries); + WINGDIAPI UINT WINAPI GetEnhMetaFilePixelFormat(HENHMETAFILE hemf,UINT cbBuffer,PIXELFORMATDESCRIPTOR *ppfd); + WINGDIAPI UINT WINAPI GetWinMetaFileBits(HENHMETAFILE hemf,UINT cbData16,LPBYTE pData16,INT iMapMode,HDC hdcRef); + WINGDIAPI WINBOOL WINAPI PlayEnhMetaFile(HDC hdc,HENHMETAFILE hmf,CONST RECT *lprect); + WINGDIAPI WINBOOL WINAPI PlayEnhMetaFileRecord(HDC hdc,LPHANDLETABLE pht,CONST ENHMETARECORD *pmr,UINT cht); + WINGDIAPI HENHMETAFILE WINAPI SetEnhMetaFileBits(UINT nSize,CONST BYTE *pb); + WINGDIAPI HENHMETAFILE WINAPI SetWinMetaFileBits(UINT nSize,CONST BYTE *lpMeta16Data,HDC hdcRef,CONST METAFILEPICT *lpMFP); + WINGDIAPI WINBOOL WINAPI GdiComment(HDC hdc,UINT nSize,CONST BYTE *lpData); +#endif + +#ifndef NOTEXTMETRIC +#define GetTextMetrics __MINGW_NAME_AW(GetTextMetrics) + + WINGDIAPI WINBOOL WINAPI GetTextMetricsA(HDC hdc,LPTEXTMETRICA lptm); + WINGDIAPI WINBOOL WINAPI GetTextMetricsW(HDC hdc,LPTEXTMETRICW lptm); +#endif + + typedef struct tagDIBSECTION { + BITMAP dsBm; + BITMAPINFOHEADER dsBmih; + DWORD dsBitfields[3]; + HANDLE dshSection; + DWORD dsOffset; + } DIBSECTION,*LPDIBSECTION,*PDIBSECTION; + + WINGDIAPI WINBOOL WINAPI AngleArc(HDC hdc,int x,int y,DWORD r,FLOAT StartAngle,FLOAT SweepAngle); + WINGDIAPI WINBOOL WINAPI PolyPolyline(HDC hdc,CONST POINT *apt,CONST DWORD *asz,DWORD csz); + WINGDIAPI WINBOOL WINAPI GetWorldTransform(HDC hdc,LPXFORM lpxf); + WINGDIAPI WINBOOL WINAPI SetWorldTransform(HDC hdc,CONST XFORM *lpxf); + WINGDIAPI WINBOOL WINAPI ModifyWorldTransform(HDC hdc,CONST XFORM *lpxf,DWORD mode); + WINGDIAPI WINBOOL WINAPI CombineTransform(LPXFORM lpxfOut,CONST XFORM *lpxf1,CONST XFORM *lpxf2); + WINGDIAPI HBITMAP WINAPI CreateDIBSection(HDC hdc,CONST BITMAPINFO *lpbmi,UINT usage,VOID **ppvBits,HANDLE hSection,DWORD offset); + WINGDIAPI UINT WINAPI GetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,RGBQUAD *prgbq); + WINGDIAPI UINT WINAPI SetDIBColorTable(HDC hdc,UINT iStart,UINT cEntries,CONST RGBQUAD *prgbq); + +#define GDI_WIDTHBYTES(bits) ((DWORD)(((bits)+31) & (~31)) / 8) +#define GDI_DIBWIDTHBYTES(bi) (DWORD)GDI_WIDTHBYTES((DWORD)(bi).biWidth * (DWORD)(bi).biBitCount) +#define GDI__DIBSIZE(bi) (GDI_DIBWIDTHBYTES(bi) * (DWORD)(bi).biHeight) +#define GDI_DIBSIZE(bi) ((bi).biHeight < 0 ? (-1)*(GDI__DIBSIZE(bi)) : GDI__DIBSIZE(bi)) + +#define CA_NEGATIVE 0x0001 +#define CA_LOG_FILTER 0x0002 + +#define ILLUMINANT_DEVICE_DEFAULT 0 +#define ILLUMINANT_A 1 +#define ILLUMINANT_B 2 +#define ILLUMINANT_C 3 +#define ILLUMINANT_D50 4 +#define ILLUMINANT_D55 5 +#define ILLUMINANT_D65 6 +#define ILLUMINANT_D75 7 +#define ILLUMINANT_F2 8 +#define ILLUMINANT_MAX_INDEX ILLUMINANT_F2 + +#define ILLUMINANT_TUNGSTEN ILLUMINANT_A +#define ILLUMINANT_DAYLIGHT ILLUMINANT_C +#define ILLUMINANT_FLUORESCENT ILLUMINANT_F2 +#define ILLUMINANT_NTSC ILLUMINANT_C + +#define RGB_GAMMA_MIN (WORD)02500 +#define RGB_GAMMA_MAX (WORD)65000 + +#define REFERENCE_WHITE_MIN (WORD)6000 +#define REFERENCE_WHITE_MAX (WORD)10000 +#define REFERENCE_BLACK_MIN (WORD)0 +#define REFERENCE_BLACK_MAX (WORD)4000 + +#define COLOR_ADJ_MIN (SHORT)-100 +#define COLOR_ADJ_MAX (SHORT)100 + + typedef struct tagCOLORADJUSTMENT { + WORD caSize; + WORD caFlags; + WORD caIlluminantIndex; + WORD caRedGamma; + WORD caGreenGamma; + WORD caBlueGamma; + WORD caReferenceBlack; + WORD caReferenceWhite; + SHORT caContrast; + SHORT caBrightness; + SHORT caColorfulness; + SHORT caRedGreenTint; + } COLORADJUSTMENT,*PCOLORADJUSTMENT,*LPCOLORADJUSTMENT; + + WINGDIAPI WINBOOL WINAPI SetColorAdjustment(HDC hdc,CONST COLORADJUSTMENT *lpca); + WINGDIAPI WINBOOL WINAPI GetColorAdjustment(HDC hdc,LPCOLORADJUSTMENT lpca); + WINGDIAPI HPALETTE WINAPI CreateHalftonePalette(HDC hdc); + + typedef WINBOOL (CALLBACK *ABORTPROC)(HDC,int); + + typedef struct _DOCINFOA { + int cbSize; + LPCSTR lpszDocName; + LPCSTR lpszOutput; + LPCSTR lpszDatatype; + DWORD fwType; + } DOCINFOA,*LPDOCINFOA; + + typedef struct _DOCINFOW { + int cbSize; + LPCWSTR lpszDocName; + LPCWSTR lpszOutput; + LPCWSTR lpszDatatype; + DWORD fwType; + } DOCINFOW,*LPDOCINFOW; + + __MINGW_TYPEDEF_AW(DOCINFO) + __MINGW_TYPEDEF_AW(LPDOCINFO) + +#define DI_APPBANDING 0x00000001 +#define DI_ROPS_READ_DESTINATION 0x00000002 + +#define StartDoc __MINGW_NAME_AW(StartDoc) +#define GetObject __MINGW_NAME_AW(GetObject) +#define TextOut __MINGW_NAME_AW(TextOut) +#define ExtTextOut __MINGW_NAME_AW(ExtTextOut) +#define PolyTextOut __MINGW_NAME_AW(PolyTextOut) +#define GetTextFace __MINGW_NAME_AW(GetTextFace) + + WINGDIAPI int WINAPI StartDocA(HDC hdc,CONST DOCINFOA *lpdi); + WINGDIAPI int WINAPI StartDocW(HDC hdc,CONST DOCINFOW *lpdi); + WINGDIAPI int WINAPI EndDoc(HDC hdc); + WINGDIAPI int WINAPI StartPage(HDC hdc); + WINGDIAPI int WINAPI EndPage(HDC hdc); + WINGDIAPI int WINAPI AbortDoc(HDC hdc); + WINGDIAPI int WINAPI SetAbortProc(HDC hdc,ABORTPROC lpProc); + WINGDIAPI WINBOOL WINAPI AbortPath(HDC hdc); + WINGDIAPI WINBOOL WINAPI ArcTo(HDC hdc,int left,int top,int right,int bottom,int xr1,int yr1,int xr2,int yr2); + WINGDIAPI WINBOOL WINAPI BeginPath(HDC hdc); + WINGDIAPI WINBOOL WINAPI CloseFigure(HDC hdc); + WINGDIAPI WINBOOL WINAPI EndPath(HDC hdc); + WINGDIAPI WINBOOL WINAPI FillPath(HDC hdc); + WINGDIAPI WINBOOL WINAPI FlattenPath(HDC hdc); + WINGDIAPI int WINAPI GetPath(HDC hdc,LPPOINT apt,LPBYTE aj,int cpt); + WINGDIAPI HRGN WINAPI PathToRegion(HDC hdc); + WINGDIAPI WINBOOL WINAPI PolyDraw(HDC hdc,CONST POINT *apt,CONST BYTE *aj,int cpt); + WINGDIAPI WINBOOL WINAPI SelectClipPath(HDC hdc,int mode); + WINGDIAPI int WINAPI SetArcDirection(HDC hdc,int dir); + WINGDIAPI WINBOOL WINAPI SetMiterLimit(HDC hdc,FLOAT limit,PFLOAT old); + WINGDIAPI WINBOOL WINAPI StrokeAndFillPath(HDC hdc); + WINGDIAPI WINBOOL WINAPI StrokePath(HDC hdc); + WINGDIAPI WINBOOL WINAPI WidenPath(HDC hdc); + WINGDIAPI HPEN WINAPI ExtCreatePen(DWORD iPenStyle,DWORD cWidth,CONST LOGBRUSH *plbrush,DWORD cStyle,CONST DWORD *pstyle); + WINGDIAPI WINBOOL WINAPI GetMiterLimit(HDC hdc,PFLOAT plimit); + WINGDIAPI int WINAPI GetArcDirection(HDC hdc); + WINGDIAPI int WINAPI GetObjectA(HANDLE h,int c,LPVOID pv); + WINGDIAPI int WINAPI GetObjectW(HANDLE h,int c,LPVOID pv); + WINGDIAPI WINBOOL WINAPI MoveToEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI TextOutA(HDC hdc,int x,int y,LPCSTR lpString,int c); + WINGDIAPI WINBOOL WINAPI TextOutW(HDC hdc,int x,int y,LPCWSTR lpString,int c); + WINGDIAPI WINBOOL WINAPI ExtTextOutA(HDC hdc,int x,int y,UINT options,CONST RECT *lprect,LPCSTR lpString,UINT c,CONST INT *lpDx); + WINGDIAPI WINBOOL WINAPI ExtTextOutW(HDC hdc,int x,int y,UINT options,CONST RECT *lprect,LPCWSTR lpString,UINT c,CONST INT *lpDx); + WINGDIAPI WINBOOL WINAPI PolyTextOutA(HDC hdc,CONST POLYTEXTA *ppt,int nstrings); + WINGDIAPI WINBOOL WINAPI PolyTextOutW(HDC hdc,CONST POLYTEXTW *ppt,int nstrings); + WINGDIAPI HRGN WINAPI CreatePolygonRgn(CONST POINT *pptl,int cPoint,int iMode); + WINGDIAPI WINBOOL WINAPI DPtoLP(HDC hdc,LPPOINT lppt,int c); + WINGDIAPI WINBOOL WINAPI LPtoDP(HDC hdc,LPPOINT lppt,int c); + WINGDIAPI WINBOOL WINAPI Polygon(HDC hdc,CONST POINT *apt,int cpt); + WINGDIAPI WINBOOL WINAPI Polyline(HDC hdc,CONST POINT *apt,int cpt); + WINGDIAPI WINBOOL WINAPI PolyBezier(HDC hdc,CONST POINT *apt,DWORD cpt); + WINGDIAPI WINBOOL WINAPI PolyBezierTo(HDC hdc,CONST POINT *apt,DWORD cpt); + WINGDIAPI WINBOOL WINAPI PolylineTo(HDC hdc,CONST POINT *apt,DWORD cpt); + WINGDIAPI WINBOOL WINAPI SetViewportExtEx(HDC hdc,int x,int y,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI SetViewportOrgEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI SetWindowExtEx(HDC hdc,int x,int y,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI SetWindowOrgEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI OffsetViewportOrgEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI OffsetWindowOrgEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI ScaleViewportExtEx(HDC hdc,int xn,int dx,int yn,int yd,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI ScaleWindowExtEx(HDC hdc,int xn,int xd,int yn,int yd,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI SetBitmapDimensionEx(HBITMAP hbm,int w,int h,LPSIZE lpsz); + WINGDIAPI WINBOOL WINAPI SetBrushOrgEx(HDC hdc,int x,int y,LPPOINT lppt); + WINGDIAPI int WINAPI GetTextFaceA(HDC hdc,int c,LPSTR lpName); + WINGDIAPI int WINAPI GetTextFaceW(HDC hdc,int c,LPWSTR lpName); + +#define FONTMAPPER_MAX 10 + + typedef struct tagKERNINGPAIR { + WORD wFirst; + WORD wSecond; + int iKernAmount; + } KERNINGPAIR,*LPKERNINGPAIR; + +#define GetKerningPairs __MINGW_NAME_AW(GetKerningPairs) + + WINGDIAPI DWORD WINAPI GetKerningPairsA(HDC hdc,DWORD nPairs,LPKERNINGPAIR lpKernPair); + WINGDIAPI DWORD WINAPI GetKerningPairsW(HDC hdc,DWORD nPairs,LPKERNINGPAIR lpKernPair); + WINGDIAPI WINBOOL WINAPI GetDCOrgEx(HDC hdc,LPPOINT lppt); + WINGDIAPI WINBOOL WINAPI FixBrushOrgEx(HDC hdc,int x,int y,LPPOINT ptl); + WINGDIAPI WINBOOL WINAPI UnrealizeObject(HGDIOBJ h); + WINGDIAPI WINBOOL WINAPI GdiFlush(void); + WINGDIAPI DWORD WINAPI GdiSetBatchLimit(DWORD dw); + WINGDIAPI DWORD WINAPI GdiGetBatchLimit(void); + +#define ICM_OFF 1 +#define ICM_ON 2 +#define ICM_QUERY 3 +#define ICM_DONE_OUTSIDEDC 4 + + typedef int (CALLBACK *ICMENUMPROCA)(LPSTR,LPARAM); + typedef int (CALLBACK *ICMENUMPROCW)(LPWSTR,LPARAM); + +#define ICMENUMPROC __MINGW_NAME_AW(ICMENUMPROC) +#define EnumICMProfiles __MINGW_NAME_AW(EnumICMProfiles) +#define UpdateICMRegKey __MINGW_NAME_AW(UpdateICMRegKey) +#define GetLogColorSpace __MINGW_NAME_AW(GetLogColorSpace) +#define CreateColorSpace __MINGW_NAME_AW(CreateColorSpace) +#define GetICMProfile __MINGW_NAME_AW(GetICMProfile) +#define SetICMProfile __MINGW_NAME_AW(SetICMProfile) + + WINGDIAPI int WINAPI SetICMMode(HDC hdc,int mode); + WINGDIAPI WINBOOL WINAPI CheckColorsInGamut(HDC hdc,LPVOID lpRGBTriple,LPVOID dlpBuffer,DWORD nCount); + WINGDIAPI HCOLORSPACE WINAPI GetColorSpace(HDC hdc); + WINGDIAPI WINBOOL WINAPI GetLogColorSpaceA(HCOLORSPACE hColorSpace,LPLOGCOLORSPACEA lpBuffer,DWORD nSize); + WINGDIAPI WINBOOL WINAPI GetLogColorSpaceW(HCOLORSPACE hColorSpace,LPLOGCOLORSPACEW lpBuffer,DWORD nSize); + WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceA(LPLOGCOLORSPACEA lplcs); + WINGDIAPI HCOLORSPACE WINAPI CreateColorSpaceW(LPLOGCOLORSPACEW lplcs); + WINGDIAPI HCOLORSPACE WINAPI SetColorSpace(HDC hdc,HCOLORSPACE hcs); + WINGDIAPI WINBOOL WINAPI DeleteColorSpace(HCOLORSPACE hcs); + WINGDIAPI WINBOOL WINAPI GetICMProfileA(HDC hdc,LPDWORD pBufSize,LPSTR pszFilename); + WINGDIAPI WINBOOL WINAPI GetICMProfileW(HDC hdc,LPDWORD pBufSize,LPWSTR pszFilename); + WINGDIAPI WINBOOL WINAPI SetICMProfileA(HDC hdc,LPSTR lpFileName); + WINGDIAPI WINBOOL WINAPI SetICMProfileW(HDC hdc,LPWSTR lpFileName); + WINGDIAPI WINBOOL WINAPI GetDeviceGammaRamp(HDC hdc,LPVOID lpRamp); + WINGDIAPI WINBOOL WINAPI SetDeviceGammaRamp(HDC hdc,LPVOID lpRamp); + WINGDIAPI WINBOOL WINAPI ColorMatchToTarget(HDC hdc,HDC hdcTarget,DWORD action); + WINGDIAPI int WINAPI EnumICMProfilesA(HDC hdc,ICMENUMPROCA lpProc,LPARAM lParam); + WINGDIAPI int WINAPI EnumICMProfilesW(HDC hdc,ICMENUMPROCW lpProc,LPARAM lParam); + WINGDIAPI WINBOOL WINAPI UpdateICMRegKeyA(DWORD reserved,LPSTR lpszCMID,LPSTR lpszFileName,UINT command); + WINGDIAPI WINBOOL WINAPI UpdateICMRegKeyW(DWORD reserved,LPWSTR lpszCMID,LPWSTR lpszFileName,UINT command); + WINGDIAPI WINBOOL WINAPI ColorCorrectPalette(HDC hdc,HPALETTE hPal,DWORD deFirst,DWORD num); + +#ifndef NOMETAFILE + +#define ENHMETA_SIGNATURE 0x464D4520 +#define ENHMETA_STOCK_OBJECT 0x80000000 + +#define EMR_HEADER 1 +#define EMR_POLYBEZIER 2 +#define EMR_POLYGON 3 +#define EMR_POLYLINE 4 +#define EMR_POLYBEZIERTO 5 +#define EMR_POLYLINETO 6 +#define EMR_POLYPOLYLINE 7 +#define EMR_POLYPOLYGON 8 +#define EMR_SETWINDOWEXTEX 9 +#define EMR_SETWINDOWORGEX 10 +#define EMR_SETVIEWPORTEXTEX 11 +#define EMR_SETVIEWPORTORGEX 12 +#define EMR_SETBRUSHORGEX 13 +#define EMR_EOF 14 +#define EMR_SETPIXELV 15 +#define EMR_SETMAPPERFLAGS 16 +#define EMR_SETMAPMODE 17 +#define EMR_SETBKMODE 18 +#define EMR_SETPOLYFILLMODE 19 +#define EMR_SETROP2 20 +#define EMR_SETSTRETCHBLTMODE 21 +#define EMR_SETTEXTALIGN 22 +#define EMR_SETCOLORADJUSTMENT 23 +#define EMR_SETTEXTCOLOR 24 +#define EMR_SETBKCOLOR 25 +#define EMR_OFFSETCLIPRGN 26 +#define EMR_MOVETOEX 27 +#define EMR_SETMETARGN 28 +#define EMR_EXCLUDECLIPRECT 29 +#define EMR_INTERSECTCLIPRECT 30 +#define EMR_SCALEVIEWPORTEXTEX 31 +#define EMR_SCALEWINDOWEXTEX 32 +#define EMR_SAVEDC 33 +#define EMR_RESTOREDC 34 +#define EMR_SETWORLDTRANSFORM 35 +#define EMR_MODIFYWORLDTRANSFORM 36 +#define EMR_SELECTOBJECT 37 +#define EMR_CREATEPEN 38 +#define EMR_CREATEBRUSHINDIRECT 39 +#define EMR_DELETEOBJECT 40 +#define EMR_ANGLEARC 41 +#define EMR_ELLIPSE 42 +#define EMR_RECTANGLE 43 +#define EMR_ROUNDRECT 44 +#define EMR_ARC 45 +#define EMR_CHORD 46 +#define EMR_PIE 47 +#define EMR_SELECTPALETTE 48 +#define EMR_CREATEPALETTE 49 +#define EMR_SETPALETTEENTRIES 50 +#define EMR_RESIZEPALETTE 51 +#define EMR_REALIZEPALETTE 52 +#define EMR_EXTFLOODFILL 53 +#define EMR_LINETO 54 +#define EMR_ARCTO 55 +#define EMR_POLYDRAW 56 +#define EMR_SETARCDIRECTION 57 +#define EMR_SETMITERLIMIT 58 +#define EMR_BEGINPATH 59 +#define EMR_ENDPATH 60 +#define EMR_CLOSEFIGURE 61 +#define EMR_FILLPATH 62 +#define EMR_STROKEANDFILLPATH 63 +#define EMR_STROKEPATH 64 +#define EMR_FLATTENPATH 65 +#define EMR_WIDENPATH 66 +#define EMR_SELECTCLIPPATH 67 +#define EMR_ABORTPATH 68 + +#define EMR_GDICOMMENT 70 +#define EMR_FILLRGN 71 +#define EMR_FRAMERGN 72 +#define EMR_INVERTRGN 73 +#define EMR_PAINTRGN 74 +#define EMR_EXTSELECTCLIPRGN 75 +#define EMR_BITBLT 76 +#define EMR_STRETCHBLT 77 +#define EMR_MASKBLT 78 +#define EMR_PLGBLT 79 +#define EMR_SETDIBITSTODEVICE 80 +#define EMR_STRETCHDIBITS 81 +#define EMR_EXTCREATEFONTINDIRECTW 82 +#define EMR_EXTTEXTOUTA 83 +#define EMR_EXTTEXTOUTW 84 +#define EMR_POLYBEZIER16 85 +#define EMR_POLYGON16 86 +#define EMR_POLYLINE16 87 +#define EMR_POLYBEZIERTO16 88 +#define EMR_POLYLINETO16 89 +#define EMR_POLYPOLYLINE16 90 +#define EMR_POLYPOLYGON16 91 +#define EMR_POLYDRAW16 92 +#define EMR_CREATEMONOBRUSH 93 +#define EMR_CREATEDIBPATTERNBRUSHPT 94 +#define EMR_EXTCREATEPEN 95 +#define EMR_POLYTEXTOUTA 96 +#define EMR_POLYTEXTOUTW 97 + +#define EMR_SETICMMODE 98 +#define EMR_CREATECOLORSPACE 99 +#define EMR_SETCOLORSPACE 100 +#define EMR_DELETECOLORSPACE 101 +#define EMR_GLSRECORD 102 +#define EMR_GLSBOUNDEDRECORD 103 +#define EMR_PIXELFORMAT 104 +#define EMR_RESERVED_105 105 +#define EMR_RESERVED_106 106 +#define EMR_RESERVED_107 107 +#define EMR_RESERVED_108 108 +#define EMR_RESERVED_109 109 +#define EMR_RESERVED_110 110 +#define EMR_COLORCORRECTPALETTE 111 +#define EMR_SETICMPROFILEA 112 +#define EMR_SETICMPROFILEW 113 +#define EMR_ALPHABLEND 114 +#define EMR_SETLAYOUT 115 +#define EMR_TRANSPARENTBLT 116 +#define EMR_RESERVED_117 117 +#define EMR_GRADIENTFILL 118 +#define EMR_RESERVED_119 119 +#define EMR_RESERVED_120 120 +#define EMR_COLORMATCHTOTARGETW 121 +#define EMR_CREATECOLORSPACEW 122 + +#define EMR_MIN 1 + +#define EMR_MAX 122 + + typedef struct tagEMR { + DWORD iType; + DWORD nSize; + } EMR,*PEMR; + + typedef struct tagEMRTEXT { + POINTL ptlReference; + DWORD nChars; + DWORD offString; + DWORD fOptions; + RECTL rcl; + DWORD offDx; + } EMRTEXT,*PEMRTEXT; + + typedef struct tagABORTPATH { + EMR emr; + } EMRABORTPATH,*PEMRABORTPATH,EMRBEGINPATH,*PEMRBEGINPATH,EMRENDPATH,*PEMRENDPATH,EMRCLOSEFIGURE,*PEMRCLOSEFIGURE,EMRFLATTENPATH,*PEMRFLATTENPATH,EMRWIDENPATH,*PEMRWIDENPATH,EMRSETMETARGN,*PEMRSETMETARGN,EMRSAVEDC,*PEMRSAVEDC,EMRREALIZEPALETTE,*PEMRREALIZEPALETTE; + + typedef struct tagEMRSELECTCLIPPATH { + EMR emr; + DWORD iMode; + } EMRSELECTCLIPPATH,*PEMRSELECTCLIPPATH,EMRSETBKMODE,*PEMRSETBKMODE,EMRSETMAPMODE,*PEMRSETMAPMODE,EMRSETLAYOUT,*PEMRSETLAYOUT, + EMRSETPOLYFILLMODE,*PEMRSETPOLYFILLMODE,EMRSETROP2,*PEMRSETROP2,EMRSETSTRETCHBLTMODE,*PEMRSETSTRETCHBLTMODE,EMRSETICMMODE, + *PEMRSETICMMODE,EMRSETTEXTALIGN,*PEMRSETTEXTALIGN; + + typedef struct tagEMRSETMITERLIMIT { + EMR emr; + FLOAT eMiterLimit; + } EMRSETMITERLIMIT,*PEMRSETMITERLIMIT; + + typedef struct tagEMRRESTOREDC { + EMR emr; + LONG iRelative; + } EMRRESTOREDC,*PEMRRESTOREDC; + + typedef struct tagEMRSETARCDIRECTION { + EMR emr; + DWORD iArcDirection; + + } EMRSETARCDIRECTION,*PEMRSETARCDIRECTION; + + typedef struct tagEMRSETMAPPERFLAGS { + EMR emr; + DWORD dwFlags; + } EMRSETMAPPERFLAGS,*PEMRSETMAPPERFLAGS; + + typedef struct tagEMRSETTEXTCOLOR { + EMR emr; + COLORREF crColor; + } EMRSETBKCOLOR,*PEMRSETBKCOLOR,EMRSETTEXTCOLOR,*PEMRSETTEXTCOLOR; + + typedef struct tagEMRSELECTOBJECT { + EMR emr; + DWORD ihObject; + } EMRSELECTOBJECT,*PEMRSELECTOBJECT,EMRDELETEOBJECT,*PEMRDELETEOBJECT; + + typedef struct tagEMRSELECTPALETTE { + EMR emr; + DWORD ihPal; + } EMRSELECTPALETTE,*PEMRSELECTPALETTE; + + typedef struct tagEMRRESIZEPALETTE { + EMR emr; + DWORD ihPal; + DWORD cEntries; + } EMRRESIZEPALETTE,*PEMRRESIZEPALETTE; + + typedef struct tagEMRSETPALETTEENTRIES { + EMR emr; + DWORD ihPal; + DWORD iStart; + DWORD cEntries; + PALETTEENTRY aPalEntries[1]; + } EMRSETPALETTEENTRIES,*PEMRSETPALETTEENTRIES; + + typedef struct tagEMRSETCOLORADJUSTMENT { + EMR emr; + COLORADJUSTMENT ColorAdjustment; + } EMRSETCOLORADJUSTMENT,*PEMRSETCOLORADJUSTMENT; + + typedef struct tagEMRGDICOMMENT { + EMR emr; + DWORD cbData; + BYTE Data[1]; + } EMRGDICOMMENT,*PEMRGDICOMMENT; + + typedef struct tagEMREOF { + EMR emr; + DWORD nPalEntries; + DWORD offPalEntries; + DWORD nSizeLast; + } EMREOF,*PEMREOF; + + typedef struct tagEMRLINETO { + EMR emr; + POINTL ptl; + } EMRLINETO,*PEMRLINETO,EMRMOVETOEX,*PEMRMOVETOEX; + + typedef struct tagEMROFFSETCLIPRGN { + EMR emr; + POINTL ptlOffset; + } EMROFFSETCLIPRGN,*PEMROFFSETCLIPRGN; + + typedef struct tagEMRFILLPATH { + EMR emr; + RECTL rclBounds; + } EMRFILLPATH,*PEMRFILLPATH,EMRSTROKEANDFILLPATH,*PEMRSTROKEANDFILLPATH,EMRSTROKEPATH,*PEMRSTROKEPATH; + + typedef struct tagEMREXCLUDECLIPRECT { + EMR emr; + RECTL rclClip; + } EMREXCLUDECLIPRECT,*PEMREXCLUDECLIPRECT,EMRINTERSECTCLIPRECT,*PEMRINTERSECTCLIPRECT; + + typedef struct tagEMRSETVIEWPORTORGEX { + EMR emr; + POINTL ptlOrigin; + } EMRSETVIEWPORTORGEX,*PEMRSETVIEWPORTORGEX,EMRSETWINDOWORGEX,*PEMRSETWINDOWORGEX,EMRSETBRUSHORGEX,*PEMRSETBRUSHORGEX; + + typedef struct tagEMRSETVIEWPORTEXTEX { + EMR emr; + SIZEL szlExtent; + } EMRSETVIEWPORTEXTEX,*PEMRSETVIEWPORTEXTEX,EMRSETWINDOWEXTEX,*PEMRSETWINDOWEXTEX; + + typedef struct tagEMRSCALEVIEWPORTEXTEX { + EMR emr; + LONG xNum; + LONG xDenom; + LONG yNum; + LONG yDenom; + } EMRSCALEVIEWPORTEXTEX,*PEMRSCALEVIEWPORTEXTEX,EMRSCALEWINDOWEXTEX,*PEMRSCALEWINDOWEXTEX; + + typedef struct tagEMRSETWORLDTRANSFORM { + EMR emr; + XFORM xform; + } EMRSETWORLDTRANSFORM,*PEMRSETWORLDTRANSFORM; + + typedef struct tagEMRMODIFYWORLDTRANSFORM { + EMR emr; + XFORM xform; + DWORD iMode; + } EMRMODIFYWORLDTRANSFORM,*PEMRMODIFYWORLDTRANSFORM; + + typedef struct tagEMRSETPIXELV { + EMR emr; + POINTL ptlPixel; + COLORREF crColor; + } EMRSETPIXELV,*PEMRSETPIXELV; + + typedef struct tagEMREXTFLOODFILL { + EMR emr; + POINTL ptlStart; + COLORREF crColor; + DWORD iMode; + } EMREXTFLOODFILL,*PEMREXTFLOODFILL; + + typedef struct tagEMRELLIPSE { + EMR emr; + RECTL rclBox; + } EMRELLIPSE,*PEMRELLIPSE,EMRRECTANGLE,*PEMRRECTANGLE; + + typedef struct tagEMRROUNDRECT { + EMR emr; + RECTL rclBox; + SIZEL szlCorner; + } EMRROUNDRECT,*PEMRROUNDRECT; + + typedef struct tagEMRARC { + EMR emr; + RECTL rclBox; + POINTL ptlStart; + POINTL ptlEnd; + } EMRARC,*PEMRARC,EMRARCTO,*PEMRARCTO,EMRCHORD,*PEMRCHORD,EMRPIE,*PEMRPIE; + + typedef struct tagEMRANGLEARC { + EMR emr; + POINTL ptlCenter; + DWORD nRadius; + FLOAT eStartAngle; + FLOAT eSweepAngle; + } EMRANGLEARC,*PEMRANGLEARC; + + typedef struct tagEMRPOLYLINE { + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL aptl[1]; + } EMRPOLYLINE,*PEMRPOLYLINE,EMRPOLYBEZIER,*PEMRPOLYBEZIER,EMRPOLYGON,*PEMRPOLYGON,EMRPOLYBEZIERTO,*PEMRPOLYBEZIERTO,EMRPOLYLINETO,*PEMRPOLYLINETO; + + typedef struct tagEMRPOLYLINE16 { + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTS apts[1]; + } EMRPOLYLINE16,*PEMRPOLYLINE16,EMRPOLYBEZIER16,*PEMRPOLYBEZIER16,EMRPOLYGON16,*PEMRPOLYGON16,EMRPOLYBEZIERTO16,*PEMRPOLYBEZIERTO16,EMRPOLYLINETO16,*PEMRPOLYLINETO16; + + typedef struct tagEMRPOLYDRAW { + EMR emr; + RECTL rclBounds; + DWORD cptl; + POINTL aptl[1]; + BYTE abTypes[1]; + } EMRPOLYDRAW,*PEMRPOLYDRAW; + + typedef struct tagEMRPOLYDRAW16 { + EMR emr; + RECTL rclBounds; + DWORD cpts; + POINTS apts[1]; + BYTE abTypes[1]; + } EMRPOLYDRAW16,*PEMRPOLYDRAW16; + + typedef struct tagEMRPOLYPOLYLINE { + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cptl; + DWORD aPolyCounts[1]; + POINTL aptl[1]; + } EMRPOLYPOLYLINE,*PEMRPOLYPOLYLINE,EMRPOLYPOLYGON,*PEMRPOLYPOLYGON; + + typedef struct tagEMRPOLYPOLYLINE16 { + EMR emr; + RECTL rclBounds; + DWORD nPolys; + DWORD cpts; + DWORD aPolyCounts[1]; + POINTS apts[1]; + } EMRPOLYPOLYLINE16,*PEMRPOLYPOLYLINE16,EMRPOLYPOLYGON16,*PEMRPOLYPOLYGON16; + + typedef struct tagEMRINVERTRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + BYTE RgnData[1]; + } EMRINVERTRGN,*PEMRINVERTRGN,EMRPAINTRGN,*PEMRPAINTRGN; + + typedef struct tagEMRFILLRGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + BYTE RgnData[1]; + } EMRFILLRGN,*PEMRFILLRGN; + + typedef struct tagEMRFRAMERGN { + EMR emr; + RECTL rclBounds; + DWORD cbRgnData; + DWORD ihBrush; + SIZEL szlStroke; + BYTE RgnData[1]; + } EMRFRAMERGN,*PEMRFRAMERGN; + + typedef struct tagEMREXTSELECTCLIPRGN { + EMR emr; + DWORD cbRgnData; + DWORD iMode; + BYTE RgnData[1]; + } EMREXTSELECTCLIPRGN,*PEMREXTSELECTCLIPRGN; + + typedef struct tagEMREXTTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + EMRTEXT emrtext; + } EMREXTTEXTOUTA,*PEMREXTTEXTOUTA,EMREXTTEXTOUTW,*PEMREXTTEXTOUTW; + + typedef struct tagEMRPOLYTEXTOUTA { + EMR emr; + RECTL rclBounds; + DWORD iGraphicsMode; + FLOAT exScale; + FLOAT eyScale; + LONG cStrings; + EMRTEXT aemrtext[1]; + } EMRPOLYTEXTOUTA,*PEMRPOLYTEXTOUTA,EMRPOLYTEXTOUTW,*PEMRPOLYTEXTOUTW; + + typedef struct tagEMRBITBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + } EMRBITBLT,*PEMRBITBLT; + + typedef struct tagEMRSTRETCHBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG cxSrc; + LONG cySrc; + } EMRSTRETCHBLT,*PEMRSTRETCHBLT; + + typedef struct tagEMRMASKBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; + } EMRMASKBLT,*PEMRMASKBLT; + + typedef struct tagEMRPLGBLT { + EMR emr; + RECTL rclBounds; + POINTL aptlDest[3]; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG xMask; + LONG yMask; + DWORD iUsageMask; + DWORD offBmiMask; + DWORD cbBmiMask; + DWORD offBitsMask; + DWORD cbBitsMask; + } EMRPLGBLT,*PEMRPLGBLT; + + typedef struct tagEMRSETDIBITSTODEVICE { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD iStartScan; + DWORD cScans; + } EMRSETDIBITSTODEVICE,*PEMRSETDIBITSTODEVICE; + + typedef struct tagEMRSTRETCHDIBITS { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG xSrc; + LONG ySrc; + LONG cxSrc; + LONG cySrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + DWORD iUsageSrc; + DWORD dwRop; + LONG cxDest; + LONG cyDest; + } EMRSTRETCHDIBITS,*PEMRSTRETCHDIBITS; + + typedef struct tagEMREXTCREATEFONTINDIRECTW { + EMR emr; + DWORD ihFont; + EXTLOGFONTW elfw; + } EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW; + + typedef struct tagEMRCREATEPALETTE { + EMR emr; + DWORD ihPal; + LOGPALETTE lgpl; + } EMRCREATEPALETTE,*PEMRCREATEPALETTE; + + typedef struct tagEMRCREATEPEN { + EMR emr; + DWORD ihPen; + LOGPEN lopn; + } EMRCREATEPEN,*PEMRCREATEPEN; + + typedef struct tagEMREXTCREATEPEN { + EMR emr; + DWORD ihPen; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + EXTLOGPEN elp; + } EMREXTCREATEPEN,*PEMREXTCREATEPEN; + + typedef struct tagEMRCREATEBRUSHINDIRECT { + EMR emr; + DWORD ihBrush; + LOGBRUSH32 lb; + } EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT; + + typedef struct tagEMRCREATEMONOBRUSH { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + } EMRCREATEMONOBRUSH,*PEMRCREATEMONOBRUSH; + + typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { + EMR emr; + DWORD ihBrush; + DWORD iUsage; + DWORD offBmi; + DWORD cbBmi; + DWORD offBits; + DWORD cbBits; + } EMRCREATEDIBPATTERNBRUSHPT,*PEMRCREATEDIBPATTERNBRUSHPT; + + typedef struct tagEMRFORMAT { + DWORD dSignature; + DWORD nVersion; + DWORD cbData; + DWORD offData; + } EMRFORMAT,*PEMRFORMAT; + + typedef struct tagEMRGLSRECORD { + EMR emr; + DWORD cbData; + BYTE Data[1]; + } EMRGLSRECORD,*PEMRGLSRECORD; + + typedef struct tagEMRGLSBOUNDEDRECORD { + EMR emr; + RECTL rclBounds; + DWORD cbData; + BYTE Data[1]; + } EMRGLSBOUNDEDRECORD,*PEMRGLSBOUNDEDRECORD; + + typedef struct tagEMRPIXELFORMAT { + EMR emr; + PIXELFORMATDESCRIPTOR pfd; + } EMRPIXELFORMAT,*PEMRPIXELFORMAT; + + typedef struct tagEMRCREATECOLORSPACE { + EMR emr; + DWORD ihCS; + LOGCOLORSPACEA lcs; + } EMRCREATECOLORSPACE,*PEMRCREATECOLORSPACE; + + typedef struct tagEMRSETCOLORSPACE { + EMR emr; + DWORD ihCS; + } EMRSETCOLORSPACE,*PEMRSETCOLORSPACE,EMRSELECTCOLORSPACE,*PEMRSELECTCOLORSPACE,EMRDELETECOLORSPACE,*PEMRDELETECOLORSPACE; + + typedef struct tagEMREXTESCAPE { + EMR emr; + INT iEscape; + INT cbEscData; + BYTE EscData[1]; + } EMREXTESCAPE,*PEMREXTESCAPE,EMRDRAWESCAPE,*PEMRDRAWESCAPE; + + typedef struct tagEMRNAMEDESCAPE { + EMR emr; + INT iEscape; + INT cbDriver; + INT cbEscData; + BYTE EscData[1]; + } EMRNAMEDESCAPE,*PEMRNAMEDESCAPE; + +#define SETICMPROFILE_EMBEDED 0x00000001 + + typedef struct tagEMRSETICMPROFILE { + EMR emr; + DWORD dwFlags; + DWORD cbName; + DWORD cbData; + BYTE Data[1]; + } EMRSETICMPROFILE,*PEMRSETICMPROFILE,EMRSETICMPROFILEA,*PEMRSETICMPROFILEA,EMRSETICMPROFILEW,*PEMRSETICMPROFILEW; + +#define CREATECOLORSPACE_EMBEDED 0x00000001 + + typedef struct tagEMRCREATECOLORSPACEW { + EMR emr; + DWORD ihCS; + LOGCOLORSPACEW lcs; + DWORD dwFlags; + DWORD cbData; + BYTE Data[1]; + } EMRCREATECOLORSPACEW,*PEMRCREATECOLORSPACEW; + +#define COLORMATCHTOTARGET_EMBEDED 0x00000001 + + typedef struct tagCOLORMATCHTOTARGET { + EMR emr; + DWORD dwAction; + DWORD dwFlags; + DWORD cbName; + DWORD cbData; + BYTE Data[1]; + } EMRCOLORMATCHTOTARGET,*PEMRCOLORMATCHTOTARGET; + + typedef struct tagCOLORCORRECTPALETTE { + EMR emr; + DWORD ihPalette; + DWORD nFirstEntry; + DWORD nPalEntries; + DWORD nReserved; + } EMRCOLORCORRECTPALETTE,*PEMRCOLORCORRECTPALETTE; + + typedef struct tagEMRALPHABLEND { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG cxSrc; + LONG cySrc; + } EMRALPHABLEND,*PEMRALPHABLEND; + + typedef struct tagEMRGRADIENTFILL { + EMR emr; + RECTL rclBounds; + DWORD nVer; + DWORD nTri; + ULONG ulMode; + TRIVERTEX Ver[1]; + } EMRGRADIENTFILL,*PEMRGRADIENTFILL; + + typedef struct tagEMRTRANSPARENTBLT { + EMR emr; + RECTL rclBounds; + LONG xDest; + LONG yDest; + LONG cxDest; + LONG cyDest; + DWORD dwRop; + LONG xSrc; + LONG ySrc; + XFORM xformSrc; + COLORREF crBkColorSrc; + DWORD iUsageSrc; + DWORD offBmiSrc; + DWORD cbBmiSrc; + DWORD offBitsSrc; + DWORD cbBitsSrc; + LONG cxSrc; + LONG cySrc; + } EMRTRANSPARENTBLT,*PEMRTRANSPARENTBLT; + +#define GDICOMMENT_IDENTIFIER 0x43494447 +#define GDICOMMENT_WINDOWS_METAFILE 0x80000001 +#define GDICOMMENT_BEGINGROUP 0x00000002 +#define GDICOMMENT_ENDGROUP 0x00000003 +#define GDICOMMENT_MULTIFORMATS 0x40000004 +#define EPS_SIGNATURE 0x46535045 +#define GDICOMMENT_UNICODE_STRING 0x00000040 +#define GDICOMMENT_UNICODE_END 0x00000080 +#endif /* NOMETAFILE */ + +#define wglUseFontBitmaps __MINGW_NAME_AW(wglUseFontBitmaps) + + WINGDIAPI WINBOOL WINAPI wglCopyContext(HGLRC,HGLRC,UINT); + WINGDIAPI HGLRC WINAPI wglCreateContext(HDC); + WINGDIAPI HGLRC WINAPI wglCreateLayerContext(HDC,int); + WINGDIAPI WINBOOL WINAPI wglDeleteContext(HGLRC); + WINGDIAPI HGLRC WINAPI wglGetCurrentContext(VOID); + WINGDIAPI HDC WINAPI wglGetCurrentDC(VOID); + WINGDIAPI PROC WINAPI wglGetProcAddress(LPCSTR); + WINGDIAPI WINBOOL WINAPI wglMakeCurrent(HDC,HGLRC); + WINGDIAPI WINBOOL WINAPI wglShareLists(HGLRC,HGLRC); + WINGDIAPI WINBOOL WINAPI wglUseFontBitmapsA(HDC,DWORD,DWORD,DWORD); + WINGDIAPI WINBOOL WINAPI wglUseFontBitmapsW(HDC,DWORD,DWORD,DWORD); + WINGDIAPI WINBOOL WINAPI SwapBuffers(HDC); + + typedef struct _POINTFLOAT { + FLOAT x; + FLOAT y; + } POINTFLOAT,*PPOINTFLOAT; + + typedef struct _GLYPHMETRICSFLOAT { + FLOAT gmfBlackBoxX; + FLOAT gmfBlackBoxY; + POINTFLOAT gmfptGlyphOrigin; + FLOAT gmfCellIncX; + FLOAT gmfCellIncY; + } GLYPHMETRICSFLOAT,*PGLYPHMETRICSFLOAT,*LPGLYPHMETRICSFLOAT; + +#define WGL_FONT_LINES 0 +#define WGL_FONT_POLYGONS 1 + +#define wglUseFontOutlines __MINGW_NAME_AW(wglUseFontOutlines) + + WINGDIAPI WINBOOL WINAPI wglUseFontOutlinesA(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); + WINGDIAPI WINBOOL WINAPI wglUseFontOutlinesW(HDC,DWORD,DWORD,DWORD,FLOAT,FLOAT,int,LPGLYPHMETRICSFLOAT); + + typedef struct tagLAYERPLANEDESCRIPTOR { + WORD nSize; + WORD nVersion; + DWORD dwFlags; + BYTE iPixelType; + BYTE cColorBits; + BYTE cRedBits; + BYTE cRedShift; + BYTE cGreenBits; + BYTE cGreenShift; + BYTE cBlueBits; + BYTE cBlueShift; + BYTE cAlphaBits; + BYTE cAlphaShift; + BYTE cAccumBits; + BYTE cAccumRedBits; + BYTE cAccumGreenBits; + BYTE cAccumBlueBits; + BYTE cAccumAlphaBits; + BYTE cDepthBits; + BYTE cStencilBits; + BYTE cAuxBuffers; + BYTE iLayerPlane; + BYTE bReserved; + COLORREF crTransparent; + } LAYERPLANEDESCRIPTOR,*PLAYERPLANEDESCRIPTOR,*LPLAYERPLANEDESCRIPTOR; + +#define LPD_DOUBLEBUFFER 0x00000001 +#define LPD_STEREO 0x00000002 +#define LPD_SUPPORT_GDI 0x00000010 +#define LPD_SUPPORT_OPENGL 0x00000020 +#define LPD_SHARE_DEPTH 0x00000040 +#define LPD_SHARE_STENCIL 0x00000080 +#define LPD_SHARE_ACCUM 0x00000100 +#define LPD_SWAP_EXCHANGE 0x00000200 +#define LPD_SWAP_COPY 0x00000400 +#define LPD_TRANSPARENT 0x00001000 + +#define LPD_TYPE_RGBA 0 +#define LPD_TYPE_COLORINDEX 1 + +#define WGL_SWAP_MAIN_PLANE 0x00000001 +#define WGL_SWAP_OVERLAY1 0x00000002 +#define WGL_SWAP_OVERLAY2 0x00000004 +#define WGL_SWAP_OVERLAY3 0x00000008 +#define WGL_SWAP_OVERLAY4 0x00000010 +#define WGL_SWAP_OVERLAY5 0x00000020 +#define WGL_SWAP_OVERLAY6 0x00000040 +#define WGL_SWAP_OVERLAY7 0x00000080 +#define WGL_SWAP_OVERLAY8 0x00000100 +#define WGL_SWAP_OVERLAY9 0x00000200 +#define WGL_SWAP_OVERLAY10 0x00000400 +#define WGL_SWAP_OVERLAY11 0x00000800 +#define WGL_SWAP_OVERLAY12 0x00001000 +#define WGL_SWAP_OVERLAY13 0x00002000 +#define WGL_SWAP_OVERLAY14 0x00004000 +#define WGL_SWAP_OVERLAY15 0x00008000 +#define WGL_SWAP_UNDERLAY1 0x00010000 +#define WGL_SWAP_UNDERLAY2 0x00020000 +#define WGL_SWAP_UNDERLAY3 0x00040000 +#define WGL_SWAP_UNDERLAY4 0x00080000 +#define WGL_SWAP_UNDERLAY5 0x00100000 +#define WGL_SWAP_UNDERLAY6 0x00200000 +#define WGL_SWAP_UNDERLAY7 0x00400000 +#define WGL_SWAP_UNDERLAY8 0x00800000 +#define WGL_SWAP_UNDERLAY9 0x01000000 +#define WGL_SWAP_UNDERLAY10 0x02000000 +#define WGL_SWAP_UNDERLAY11 0x04000000 +#define WGL_SWAP_UNDERLAY12 0x08000000 +#define WGL_SWAP_UNDERLAY13 0x10000000 +#define WGL_SWAP_UNDERLAY14 0x20000000 +#define WGL_SWAP_UNDERLAY15 0x40000000 + + WINGDIAPI WINBOOL WINAPI wglDescribeLayerPlane(HDC,int,int,UINT,LPLAYERPLANEDESCRIPTOR); + WINGDIAPI int WINAPI wglSetLayerPaletteEntries(HDC,int,int,int,CONST COLORREF *); + WINGDIAPI int WINAPI wglGetLayerPaletteEntries(HDC,int,int,int,COLORREF *); + WINGDIAPI WINBOOL WINAPI wglRealizeLayerPalette(HDC,int,WINBOOL); + WINGDIAPI WINBOOL WINAPI wglSwapLayerBuffers(HDC,UINT); + + typedef struct _WGLSWAP { + HDC hdc; + UINT uiFlags; + } WGLSWAP,*PWGLSWAP,*LPWGLSWAP; + +#define WGL_SWAPMULTIPLE_MAX 16 + + WINGDIAPI DWORD WINAPI wglSwapMultipleBuffers(UINT,CONST WGLSWAP *); +#endif + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#ifdef __cplusplus +} +#endif +#endif /* _WINGDI_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhttp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhttp.h new file mode 100644 index 00000000..d0ba52d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhttp.h @@ -0,0 +1,877 @@ +/* + * Copyright (C) 2007 Francois Gouget + * + * 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 __WINE_WINHTTP_H +#define __WINE_WINHTTP_H + +#ifdef _WIN64 +#include +#else +#include +#endif + +#ifdef _WINHTTP_INTERNAL_ +# define WINHTTPAPI +#else +# define WINHTTPAPI DECLSPEC_IMPORT +#endif + +#define BOOLAPI WINHTTPAPI WINBOOL WINAPI + + +typedef LPVOID HINTERNET; +typedef HINTERNET *LPHINTERNET; + +#define INTERNET_DEFAULT_PORT 0 +#define INTERNET_DEFAULT_HTTP_PORT 80 +#define INTERNET_DEFAULT_HTTPS_PORT 443 +typedef WORD INTERNET_PORT; +typedef INTERNET_PORT *LPINTERNET_PORT; + +/* Yes, these values contradict wininet.h */ +#define INTERNET_SCHEME_HTTP 1 +#define INTERNET_SCHEME_HTTPS 2 +#define INTERNET_SCHEME_FTP 3 +#define INTERNET_SCHEME_SOCKS 4 +typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME; + +#define ICU_ESCAPE 0x80000000 +#define ICU_ESCAPE_AUTHORITY 0x00002000 +#define ICU_REJECT_USERPWD 0x00004000 + +/* flags for WinHttpOpen */ +#define WINHTTP_FLAG_ASYNC 0x10000000 + +/* flags for WinHttpOpenRequest */ +#define WINHTTP_FLAG_ESCAPE_PERCENT 0x00000004 +#define WINHTTP_FLAG_NULL_CODEPAGE 0x00000008 +#define WINHTTP_FLAG_ESCAPE_DISABLE 0x00000040 +#define WINHTTP_FLAG_ESCAPE_DISABLE_QUERY 0x00000080 +#define WINHTTP_FLAG_BYPASS_PROXY_CACHE 0x00000100 +#define WINHTTP_FLAG_REFRESH WINHTTP_FLAG_BYPASS_PROXY_CACHE +#define WINHTTP_FLAG_SECURE 0x00800000 + +#define WINHTTP_ACCESS_TYPE_DEFAULT_PROXY 0 +#define WINHTTP_ACCESS_TYPE_NO_PROXY 1 +#define WINHTTP_ACCESS_TYPE_NAMED_PROXY 3 +#define WINHTTP_ACCESS_TYPE_AUTOMATIC_PROXY 4 + +#define WINHTTP_NO_PROXY_NAME NULL +#define WINHTTP_NO_PROXY_BYPASS NULL + +#define WINHTTP_NO_CLIENT_CERT_CONTEXT NULL + +#define WINHTTP_NO_REFERER NULL +#define WINHTTP_DEFAULT_ACCEPT_TYPES NULL + +#define WINHTTP_NO_ADDITIONAL_HEADERS NULL +#define WINHTTP_NO_REQUEST_DATA NULL + +#define WINHTTP_HEADER_NAME_BY_INDEX NULL +#define WINHTTP_NO_OUTPUT_BUFFER NULL +#define WINHTTP_NO_HEADER_INDEX NULL + +#define WINHTTP_ADDREQ_INDEX_MASK 0x0000FFFF +#define WINHTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 +#define WINHTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 +#define WINHTTP_ADDREQ_FLAG_ADD 0x20000000 +#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 +#define WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 +#define WINHTTP_ADDREQ_FLAG_COALESCE WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA +#define WINHTTP_ADDREQ_FLAG_REPLACE 0x80000000 + +#define WINHTTP_IGNORE_REQUEST_TOTAL_LENGTH 0 + +/* flags for WinHttp{Set/Query}Options */ +#define WINHTTP_FIRST_OPTION WINHTTP_OPTION_CALLBACK +#define WINHTTP_OPTION_CALLBACK 1 +#define WINHTTP_OPTION_RESOLVE_TIMEOUT 2 +#define WINHTTP_OPTION_CONNECT_TIMEOUT 3 +#define WINHTTP_OPTION_CONNECT_RETRIES 4 +#define WINHTTP_OPTION_SEND_TIMEOUT 5 +#define WINHTTP_OPTION_RECEIVE_TIMEOUT 6 +#define WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT 7 +#define WINHTTP_OPTION_HANDLE_TYPE 9 +#define WINHTTP_OPTION_READ_BUFFER_SIZE 12 +#define WINHTTP_OPTION_WRITE_BUFFER_SIZE 13 +#define WINHTTP_OPTION_PARENT_HANDLE 21 +#define WINHTTP_OPTION_EXTENDED_ERROR 24 +#define WINHTTP_OPTION_SECURITY_FLAGS 31 +#define WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT 32 +#define WINHTTP_OPTION_URL 34 +#define WINHTTP_OPTION_SECURITY_KEY_BITNESS 36 +#define WINHTTP_OPTION_PROXY 38 +#define WINHTTP_OPTION_PROXY_RESULT_ENTRY 39 +#define WINHTTP_OPTION_USER_AGENT 41 +#define WINHTTP_OPTION_CONTEXT_VALUE 45 +#define WINHTTP_OPTION_CLIENT_CERT_CONTEXT 47 +#define WINHTTP_OPTION_REQUEST_PRIORITY 58 +#define WINHTTP_OPTION_HTTP_VERSION 59 +#define WINHTTP_OPTION_DISABLE_FEATURE 63 +#define WINHTTP_OPTION_CODEPAGE 68 +#define WINHTTP_OPTION_MAX_CONNS_PER_SERVER 73 +#define WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER 74 +#define WINHTTP_OPTION_AUTOLOGON_POLICY 77 +#define WINHTTP_OPTION_SERVER_CERT_CONTEXT 78 +#define WINHTTP_OPTION_ENABLE_FEATURE 79 +#define WINHTTP_OPTION_WORKER_THREAD_COUNT 80 +#define WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT 81 +#define WINHTTP_OPTION_PASSPORT_COBRANDING_URL 82 +#define WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH 83 +#define WINHTTP_OPTION_SECURE_PROTOCOLS 84 +#define WINHTTP_OPTION_ENABLETRACING 85 +#define WINHTTP_OPTION_PASSPORT_SIGN_OUT 86 +#define WINHTTP_OPTION_PASSPORT_RETURN_URL 87 +#define WINHTTP_OPTION_REDIRECT_POLICY 88 +#define WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS 89 +#define WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE 90 +#define WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE 91 +#define WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE 92 +#define WINHTTP_OPTION_CONNECTION_INFO 93 +#define WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST 94 +#define WINHTTP_OPTION_SPN 96 +#define WINHTTP_OPTION_GLOBAL_PROXY_CREDS 97 +#define WINHTTP_OPTION_GLOBAL_SERVER_CREDS 98 +#define WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT 99 +#define WINHTTP_OPTION_REJECT_USERPWD_IN_URL 100 +#define WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS 101 +#define WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE 103 +#define WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE 104 +#define WINHTTP_OPTION_SERVER_SPN_USED 106 +#define WINHTTP_OPTION_PROXY_SPN_USED 107 +#define WINHTTP_OPTION_SERVER_CBT 108 +#define WINHTTP_OPTION_UNSAFE_HEADER_PARSING 110 +#define WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS 111 +#define WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET 114 +#define WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT 115 +#define WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL 116 +#define WINHTTP_OPTION_DECOMPRESSION 118 +#define WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE 122 +#define WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE 123 +#define WINHTTP_OPTION_TCP_PRIORITY_HINT 128 +#define WINHTTP_OPTION_CONNECTION_FILTER 131 +#define WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL 133 +#define WINHTTP_OPTION_HTTP_PROTOCOL_USED 134 +#define WINHTTP_OPTION_KDC_PROXY_SETTINGS 136 +#define WINHTTP_OPTION_ENCODE_EXTRA 138 +#define WINHTTP_OPTION_DISABLE_STREAM_QUEUE 139 +#define WINHTTP_OPTION_IPV6_FAST_FALLBACK 140 +#define WINHTTP_OPTION_CONNECTION_STATS_V0 141 +#define WINHTTP_OPTION_REQUEST_TIMES 142 +#define WINHTTP_OPTION_EXPIRE_CONNECTION 143 +#define WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK 144 +#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_USERNAME 0x1000 +#define WINHTTP_OPTION_PASSWORD 0x1001 +#define WINHTTP_OPTION_PROXY_USERNAME 0x1002 +#define WINHTTP_OPTION_PROXY_PASSWORD 0x1003 + +#define WINHTTP_CONNS_PER_SERVER_UNLIMITED 0xFFFFFFFF + +#define WINHTTP_DECOMPRESSION_FLAG_GZIP 0x00000001 +#define WINHTTP_DECOMPRESSION_FLAG_DEFLATE 0x00000002 + +#define WINHTTP_DECOMPRESSION_FLAG_ALL ( WINHTTP_DECOMPRESSION_FLAG_GZIP | WINHTTP_DECOMPRESSION_FLAG_DEFLATE ) + +#define WINHTTP_PROTOCOL_FLAG_HTTP2 0x1 +#define WINHTTP_PROTOCOL_FLAG_HTTP3 0x2 +#define WINHTTP_PROTOCOL_MASK (WINHTTP_PROTOCOL_FLAG_HTTP2 | WINHTTP_PROTOCOL_FLAG_HTTP3) + +#define WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM 0 +#define WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW 1 +#define WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH 2 +#define WINHTTP_AUTOLOGON_SECURITY_LEVEL_DEFAULT WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM + +#define WINHTTP_OPTION_REDIRECT_POLICY_NEVER 0 +#define WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP 1 +#define WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS 2 +#define WINHTTP_OPTION_REDIRECT_POLICY_LAST WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS +#define WINHTTP_OPTION_REDIRECT_POLICY_DEFAULT WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP + +#define WINHTTP_DISABLE_PASSPORT_AUTH 0x00000000 +#define WINHTTP_ENABLE_PASSPORT_AUTH 0x10000000 +#define WINHTTP_DISABLE_PASSPORT_KEYRING 0x20000000 +#define WINHTTP_ENABLE_PASSPORT_KEYRING 0x40000000 + +#define WINHTTP_DISABLE_COOKIES 0x00000001 +#define WINHTTP_DISABLE_REDIRECTS 0x00000002 +#define WINHTTP_DISABLE_AUTHENTICATION 0x00000004 +#define WINHTTP_DISABLE_KEEP_ALIVE 0x00000008 +#define WINHTTP_ENABLE_SSL_REVOCATION 0x00000001 +#define WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION 0x00000002 +#define WINHTTP_DISABLE_SPN_SERVER_PORT 0x00000000 +#define WINHTTP_ENABLE_SPN_SERVER_PORT 0x00000001 +#define WINHTTP_OPTION_SPN_MASK WINHTTP_ENABLE_SPN_SERVER_PORT + +/* Options for WinHttpOpenRequest */ +#define WINHTTP_NO_REFERER NULL +#define WINHTTP_DEFAULT_ACCEPT_TYPES NULL + +/* Options for WinHttpSendRequest */ +#define WINHTTP_NO_ADDITIONAL_HEADERS NULL +#define WINHTTP_NO_REQUEST_DATA NULL + +/* WinHTTP error codes */ +#define WINHTTP_ERROR_BASE 12000 +#define ERROR_WINHTTP_OUT_OF_HANDLES (WINHTTP_ERROR_BASE + 1) +#define ERROR_WINHTTP_TIMEOUT (WINHTTP_ERROR_BASE + 2) +#define ERROR_WINHTTP_INTERNAL_ERROR (WINHTTP_ERROR_BASE + 4) +#define ERROR_WINHTTP_INVALID_URL (WINHTTP_ERROR_BASE + 5) +#define ERROR_WINHTTP_UNRECOGNIZED_SCHEME (WINHTTP_ERROR_BASE + 6) +#define ERROR_WINHTTP_NAME_NOT_RESOLVED (WINHTTP_ERROR_BASE + 7) +#define ERROR_WINHTTP_INVALID_OPTION (WINHTTP_ERROR_BASE + 9) +#define ERROR_WINHTTP_OPTION_NOT_SETTABLE (WINHTTP_ERROR_BASE + 11) +#define ERROR_WINHTTP_SHUTDOWN (WINHTTP_ERROR_BASE + 12) +#define ERROR_WINHTTP_LOGIN_FAILURE (WINHTTP_ERROR_BASE + 15) +#define ERROR_WINHTTP_OPERATION_CANCELLED (WINHTTP_ERROR_BASE + 17) +#define ERROR_WINHTTP_INCORRECT_HANDLE_TYPE (WINHTTP_ERROR_BASE + 18) +#define ERROR_WINHTTP_INCORRECT_HANDLE_STATE (WINHTTP_ERROR_BASE + 19) +#define ERROR_WINHTTP_CANNOT_CONNECT (WINHTTP_ERROR_BASE + 29) +#define ERROR_WINHTTP_CONNECTION_ERROR (WINHTTP_ERROR_BASE + 30) +#define ERROR_WINHTTP_RESEND_REQUEST (WINHTTP_ERROR_BASE + 32) +#define ERROR_WINHTTP_SECURE_CERT_DATE_INVALID (WINHTTP_ERROR_BASE + 37) +#define ERROR_WINHTTP_SECURE_CERT_CN_INVALID (WINHTTP_ERROR_BASE + 38) +#define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED (WINHTTP_ERROR_BASE + 44) +#define ERROR_WINHTTP_SECURE_INVALID_CA (WINHTTP_ERROR_BASE + 45) +#define ERROR_WINHTTP_SECURE_CERT_REV_FAILED (WINHTTP_ERROR_BASE + 57) +#define ERROR_WINHTTP_CANNOT_CALL_BEFORE_OPEN (WINHTTP_ERROR_BASE + 100) +#define ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND (WINHTTP_ERROR_BASE + 101) +#define ERROR_WINHTTP_CANNOT_CALL_AFTER_SEND (WINHTTP_ERROR_BASE + 102) +#define ERROR_WINHTTP_CANNOT_CALL_AFTER_OPEN (WINHTTP_ERROR_BASE + 103) +#define ERROR_WINHTTP_HEADER_NOT_FOUND (WINHTTP_ERROR_BASE + 150) +#define ERROR_WINHTTP_INVALID_SERVER_RESPONSE (WINHTTP_ERROR_BASE + 152) +#define ERROR_WINHTTP_INVALID_HEADER (WINHTTP_ERROR_BASE + 153) +#define ERROR_WINHTTP_INVALID_QUERY_REQUEST (WINHTTP_ERROR_BASE + 154) +#define ERROR_WINHTTP_HEADER_ALREADY_EXISTS (WINHTTP_ERROR_BASE + 155) +#define ERROR_WINHTTP_REDIRECT_FAILED (WINHTTP_ERROR_BASE + 156) +#define ERROR_WINHTTP_SECURE_CHANNEL_ERROR (WINHTTP_ERROR_BASE + 157) +#define ERROR_WINHTTP_BAD_AUTO_PROXY_SCRIPT (WINHTTP_ERROR_BASE + 166) +#define ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT (WINHTTP_ERROR_BASE + 167) +#define ERROR_WINHTTP_SECURE_INVALID_CERT (WINHTTP_ERROR_BASE + 169) +#define ERROR_WINHTTP_SECURE_CERT_REVOKED (WINHTTP_ERROR_BASE + 170) +#define ERROR_WINHTTP_NOT_INITIALIZED (WINHTTP_ERROR_BASE + 172) +#define ERROR_WINHTTP_SECURE_FAILURE (WINHTTP_ERROR_BASE + 175) +#define ERROR_WINHTTP_UNHANDLED_SCRIPT_TYPE (WINHTTP_ERROR_BASE + 176) +#define ERROR_WINHTTP_SCRIPT_EXECUTION_ERROR (WINHTTP_ERROR_BASE + 177) +#define ERROR_WINHTTP_AUTO_PROXY_SERVICE_ERROR (WINHTTP_ERROR_BASE + 178) +#define ERROR_WINHTTP_SECURE_CERT_WRONG_USAGE (WINHTTP_ERROR_BASE + 179) +#define ERROR_WINHTTP_AUTODETECTION_FAILED (WINHTTP_ERROR_BASE + 180) +#define ERROR_WINHTTP_HEADER_COUNT_EXCEEDED (WINHTTP_ERROR_BASE + 181) +#define ERROR_WINHTTP_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 182) +#define ERROR_WINHTTP_CHUNKED_ENCODING_HEADER_SIZE_OVERFLOW (WINHTTP_ERROR_BASE + 183) +#define ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW (WINHTTP_ERROR_BASE + 184) +#define ERROR_WINHTTP_CLIENT_CERT_NO_PRIVATE_KEY (WINHTTP_ERROR_BASE + 185) +#define ERROR_WINHTTP_CLIENT_CERT_NO_ACCESS_PRIVATE_KEY (WINHTTP_ERROR_BASE + 186) +#define ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED_PROXY (WINHTTP_ERROR_BASE + 187) +#define ERROR_WINHTTP_SECURE_FAILURE_PROXY (WINHTTP_ERROR_BASE + 188) +#define ERROR_WINHTTP_RESERVED_189 (WINHTTP_ERROR_BASE + 189) +#define ERROR_WINHTTP_HTTP_PROTOCOL_MISMATCH (WINHTTP_ERROR_BASE + 190) +#define WINHTTP_ERROR_LAST (WINHTTP_ERROR_BASE + 188) + +#define WINHTTP_RESET_STATE 0x00000001 +#define WINHTTP_RESET_SWPAD_CURRENT_NETWORK 0x00000002 +#define WINHTTP_RESET_SWPAD_ALL 0x00000004 +#define WINHTTP_RESET_SCRIPT_CACHE 0x00000008 +#define WINHTTP_RESET_ALL 0x0000FFFF +#define WINHTTP_RESET_NOTIFY_NETWORK_CHANGED 0x00010000 +#define WINHTTP_RESET_OUT_OF_PROC 0x00020000 +#define WINHTTP_RESET_DISCARD_RESOLVERS 0x00040000 + +/* WinHttp status codes */ +#define HTTP_STATUS_CONTINUE 100 +#define HTTP_STATUS_SWITCH_PROTOCOLS 101 +#define HTTP_STATUS_OK 200 +#define HTTP_STATUS_CREATED 201 +#define HTTP_STATUS_ACCEPTED 202 +#define HTTP_STATUS_PARTIAL 203 +#define HTTP_STATUS_NO_CONTENT 204 +#define HTTP_STATUS_RESET_CONTENT 205 +#define HTTP_STATUS_PARTIAL_CONTENT 206 +#define HTTP_STATUS_WEBDAV_MULTI_STATUS 207 +#define HTTP_STATUS_AMBIGUOUS 300 +#define HTTP_STATUS_MOVED 301 +#define HTTP_STATUS_REDIRECT 302 +#define HTTP_STATUS_REDIRECT_METHOD 303 +#define HTTP_STATUS_NOT_MODIFIED 304 +#define HTTP_STATUS_USE_PROXY 305 +#define HTTP_STATUS_REDIRECT_KEEP_VERB 307 +#define HTTP_STATUS_PERMANENT_REDIRECT 308 +#define HTTP_STATUS_BAD_REQUEST 400 +#define HTTP_STATUS_DENIED 401 +#define HTTP_STATUS_PAYMENT_REQ 402 +#define HTTP_STATUS_FORBIDDEN 403 +#define HTTP_STATUS_NOT_FOUND 404 +#define HTTP_STATUS_BAD_METHOD 405 +#define HTTP_STATUS_NONE_ACCEPTABLE 406 +#define HTTP_STATUS_PROXY_AUTH_REQ 407 +#define HTTP_STATUS_REQUEST_TIMEOUT 408 +#define HTTP_STATUS_CONFLICT 409 +#define HTTP_STATUS_GONE 410 +#define HTTP_STATUS_LENGTH_REQUIRED 411 +#define HTTP_STATUS_PRECOND_FAILED 412 +#define HTTP_STATUS_REQUEST_TOO_LARGE 413 +#define HTTP_STATUS_URI_TOO_LONG 414 +#define HTTP_STATUS_UNSUPPORTED_MEDIA 415 +#define HTTP_STATUS_RETRY_WITH 449 +#define HTTP_STATUS_SERVER_ERROR 500 +#define HTTP_STATUS_NOT_SUPPORTED 501 +#define HTTP_STATUS_BAD_GATEWAY 502 +#define HTTP_STATUS_SERVICE_UNAVAIL 503 +#define HTTP_STATUS_GATEWAY_TIMEOUT 504 +#define HTTP_STATUS_VERSION_NOT_SUP 505 +#define HTTP_STATUS_FIRST HTTP_STATUS_CONTINUE +#define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP + +#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100 +#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 +#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID 0x00001000 +#define SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE 0x00000200 +#define SECURITY_FLAG_SECURE 0x00000001 +#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000 +#define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000 +#define SECURITY_FLAG_STRENGTH_STRONG 0x20000000 + +#define ICU_NO_ENCODE 0x20000000 +#define ICU_DECODE 0x10000000 +#define ICU_NO_META 0x08000000 +#define ICU_ENCODE_SPACES_ONLY 0x04000000 +#define ICU_BROWSER_MODE 0x02000000 +#define ICU_ENCODE_PERCENT 0x00001000 + +/* Query flags */ +#define WINHTTP_QUERY_MIME_VERSION 0 +#define WINHTTP_QUERY_CONTENT_TYPE 1 +#define WINHTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 +#define WINHTTP_QUERY_CONTENT_ID 3 +#define WINHTTP_QUERY_CONTENT_DESCRIPTION 4 +#define WINHTTP_QUERY_CONTENT_LENGTH 5 +#define WINHTTP_QUERY_CONTENT_LANGUAGE 6 +#define WINHTTP_QUERY_ALLOW 7 +#define WINHTTP_QUERY_PUBLIC 8 +#define WINHTTP_QUERY_DATE 9 +#define WINHTTP_QUERY_EXPIRES 10 +#define WINHTTP_QUERY_LAST_MODIFIED 11 +#define WINHTTP_QUERY_MESSAGE_ID 12 +#define WINHTTP_QUERY_URI 13 +#define WINHTTP_QUERY_DERIVED_FROM 14 +#define WINHTTP_QUERY_COST 15 +#define WINHTTP_QUERY_LINK 16 +#define WINHTTP_QUERY_PRAGMA 17 +#define WINHTTP_QUERY_VERSION 18 +#define WINHTTP_QUERY_STATUS_CODE 19 +#define WINHTTP_QUERY_STATUS_TEXT 20 +#define WINHTTP_QUERY_RAW_HEADERS 21 +#define WINHTTP_QUERY_RAW_HEADERS_CRLF 22 +#define WINHTTP_QUERY_CONNECTION 23 +#define WINHTTP_QUERY_ACCEPT 24 +#define WINHTTP_QUERY_ACCEPT_CHARSET 25 +#define WINHTTP_QUERY_ACCEPT_ENCODING 26 +#define WINHTTP_QUERY_ACCEPT_LANGUAGE 27 +#define WINHTTP_QUERY_AUTHORIZATION 28 +#define WINHTTP_QUERY_CONTENT_ENCODING 29 +#define WINHTTP_QUERY_FORWARDED 30 +#define WINHTTP_QUERY_FROM 31 +#define WINHTTP_QUERY_IF_MODIFIED_SINCE 32 +#define WINHTTP_QUERY_LOCATION 33 +#define WINHTTP_QUERY_ORIG_URI 34 +#define WINHTTP_QUERY_REFERER 35 +#define WINHTTP_QUERY_RETRY_AFTER 36 +#define WINHTTP_QUERY_SERVER 37 +#define WINHTTP_QUERY_TITLE 38 +#define WINHTTP_QUERY_USER_AGENT 39 +#define WINHTTP_QUERY_WWW_AUTHENTICATE 40 +#define WINHTTP_QUERY_PROXY_AUTHENTICATE 41 +#define WINHTTP_QUERY_ACCEPT_RANGES 42 +#define WINHTTP_QUERY_SET_COOKIE 43 +#define WINHTTP_QUERY_COOKIE 44 +#define WINHTTP_QUERY_REQUEST_METHOD 45 +#define WINHTTP_QUERY_REFRESH 46 +#define WINHTTP_QUERY_CONTENT_DISPOSITION 47 +#define WINHTTP_QUERY_AGE 48 +#define WINHTTP_QUERY_CACHE_CONTROL 49 +#define WINHTTP_QUERY_CONTENT_BASE 50 +#define WINHTTP_QUERY_CONTENT_LOCATION 51 +#define WINHTTP_QUERY_CONTENT_MD5 52 +#define WINHTTP_QUERY_CONTENT_RANGE 53 +#define WINHTTP_QUERY_ETAG 54 +#define WINHTTP_QUERY_HOST 55 +#define WINHTTP_QUERY_IF_MATCH 56 +#define WINHTTP_QUERY_IF_NONE_MATCH 57 +#define WINHTTP_QUERY_IF_RANGE 58 +#define WINHTTP_QUERY_IF_UNMODIFIED_SINCE 59 +#define WINHTTP_QUERY_MAX_FORWARDS 60 +#define WINHTTP_QUERY_PROXY_AUTHORIZATION 61 +#define WINHTTP_QUERY_RANGE 62 +#define WINHTTP_QUERY_TRANSFER_ENCODING 63 +#define WINHTTP_QUERY_UPGRADE 64 +#define WINHTTP_QUERY_VARY 65 +#define WINHTTP_QUERY_VIA 66 +#define WINHTTP_QUERY_WARNING 67 +#define WINHTTP_QUERY_EXPECT 68 +#define WINHTTP_QUERY_PROXY_CONNECTION 69 +#define WINHTTP_QUERY_UNLESS_MODIFIED_SINCE 70 +#define WINHTTP_QUERY_PROXY_SUPPORT 75 +#define WINHTTP_QUERY_AUTHENTICATION_INFO 76 +#define WINHTTP_QUERY_PASSPORT_URLS 77 +#define WINHTTP_QUERY_PASSPORT_CONFIG 78 +#define WINHTTP_QUERY_MAX 78 +#define WINHTTP_QUERY_CUSTOM 65535 +#define WINHTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 +#define WINHTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 +#define WINHTTP_QUERY_FLAG_NUMBER 0x20000000 +#define WINHTTP_QUERY_FLAG_NUMBER64 0x08000000 + +/* Callback options */ +#define WINHTTP_CALLBACK_STATUS_RESOLVING_NAME 0x00000001 +#define WINHTTP_CALLBACK_STATUS_NAME_RESOLVED 0x00000002 +#define WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER 0x00000004 +#define WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER 0x00000008 +#define WINHTTP_CALLBACK_STATUS_SENDING_REQUEST 0x00000010 +#define WINHTTP_CALLBACK_STATUS_REQUEST_SENT 0x00000020 +#define WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE 0x00000040 +#define WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED 0x00000080 +#define WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION 0x00000100 +#define WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED 0x00000200 +#define WINHTTP_CALLBACK_STATUS_HANDLE_CREATED 0x00000400 +#define WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING 0x00000800 +#define WINHTTP_CALLBACK_STATUS_DETECTING_PROXY 0x00001000 +#define WINHTTP_CALLBACK_STATUS_REDIRECT 0x00004000 +#define WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE 0x00008000 +#define WINHTTP_CALLBACK_STATUS_SECURE_FAILURE 0x00010000 +#define WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE 0x00020000 +#define WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE 0x00040000 +#define WINHTTP_CALLBACK_STATUS_READ_COMPLETE 0x00080000 +#define WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE 0x00100000 +#define WINHTTP_CALLBACK_STATUS_REQUEST_ERROR 0x00200000 +#define WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE 0x00400000 +#define WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE 0x01000000 +#define WINHTTP_CALLBACK_STATUS_CLOSE_COMPLETE 0x02000000 +#define WINHTTP_CALLBACK_STATUS_SHUTDOWN_COMPLETE 0x04000000 +#define WINHTTP_CALLBACK_STATUS_SETTINGS_WRITE_COMPLETE 0x10000000 +#define WINHTTP_CALLBACK_STATUS_SETTINGS_READ_COMPLETE 0x20000000 +#define WINHTTP_CALLBACK_FLAG_RESOLVE_NAME (WINHTTP_CALLBACK_STATUS_RESOLVING_NAME | WINHTTP_CALLBACK_STATUS_NAME_RESOLVED) +#define WINHTTP_CALLBACK_FLAG_CONNECT_TO_SERVER (WINHTTP_CALLBACK_STATUS_CONNECTING_TO_SERVER | WINHTTP_CALLBACK_STATUS_CONNECTED_TO_SERVER) +#define WINHTTP_CALLBACK_FLAG_SEND_REQUEST (WINHTTP_CALLBACK_STATUS_SENDING_REQUEST | WINHTTP_CALLBACK_STATUS_REQUEST_SENT) +#define WINHTTP_CALLBACK_FLAG_RECEIVE_RESPONSE (WINHTTP_CALLBACK_STATUS_RECEIVING_RESPONSE | WINHTTP_CALLBACK_STATUS_RESPONSE_RECEIVED) +#define WINHTTP_CALLBACK_FLAG_CLOSE_CONNECTION (WINHTTP_CALLBACK_STATUS_CLOSING_CONNECTION | WINHTTP_CALLBACK_STATUS_CONNECTION_CLOSED) +#define WINHTTP_CALLBACK_FLAG_HANDLES (WINHTTP_CALLBACK_STATUS_HANDLE_CREATED | WINHTTP_CALLBACK_STATUS_HANDLE_CLOSING) +#define WINHTTP_CALLBACK_FLAG_DETECTING_PROXY WINHTTP_CALLBACK_STATUS_DETECTING_PROXY +#define WINHTTP_CALLBACK_FLAG_REDIRECT WINHTTP_CALLBACK_STATUS_REDIRECT +#define WINHTTP_CALLBACK_FLAG_INTERMEDIATE_RESPONSE WINHTTP_CALLBACK_STATUS_INTERMEDIATE_RESPONSE +#define WINHTTP_CALLBACK_FLAG_SECURE_FAILURE WINHTTP_CALLBACK_STATUS_SECURE_FAILURE +#define WINHTTP_CALLBACK_FLAG_SENDREQUEST_COMPLETE WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE +#define WINHTTP_CALLBACK_FLAG_HEADERS_AVAILABLE WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE +#define WINHTTP_CALLBACK_FLAG_DATA_AVAILABLE WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE +#define WINHTTP_CALLBACK_FLAG_READ_COMPLETE WINHTTP_CALLBACK_STATUS_READ_COMPLETE +#define WINHTTP_CALLBACK_FLAG_WRITE_COMPLETE WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE +#define WINHTTP_CALLBACK_FLAG_REQUEST_ERROR WINHTTP_CALLBACK_STATUS_REQUEST_ERROR +#define WINHTTP_CALLBACK_FLAG_GETPROXYFORURL_COMPLETE WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE +#define WINHTTP_CALLBACK_FLAG_ALL_COMPLETIONS (WINHTTP_CALLBACK_STATUS_SENDREQUEST_COMPLETE | WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE \ + | WINHTTP_CALLBACK_STATUS_DATA_AVAILABLE | WINHTTP_CALLBACK_STATUS_READ_COMPLETE \ + | WINHTTP_CALLBACK_STATUS_WRITE_COMPLETE | WINHTTP_CALLBACK_STATUS_REQUEST_ERROR \ + | WINHTTP_CALLBACK_STATUS_GETPROXYFORURL_COMPLETE) +#define WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS 0xffffffff +#define WINHTTP_INVALID_STATUS_CALLBACK ((WINHTTP_STATUS_CALLBACK)(-1)) + +#define API_RECEIVE_RESPONSE (1) +#define API_QUERY_DATA_AVAILABLE (2) +#define API_READ_DATA (3) +#define API_WRITE_DATA (4) +#define API_SEND_REQUEST (5) +#define API_GET_PROXY_FOR_URL (6) + +#define WINHTTP_HANDLE_TYPE_SESSION 1 +#define WINHTTP_HANDLE_TYPE_CONNECT 2 +#define WINHTTP_HANDLE_TYPE_REQUEST 3 + +#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED 0x00000001 +#define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT 0x00000002 +#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED 0x00000004 +#define WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA 0x00000008 +#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID 0x00000010 +#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID 0x00000020 +#define WINHTTP_CALLBACK_STATUS_FLAG_CERT_WRONG_USAGE 0x00000040 +#define WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR 0x80000000 + +#define WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 0x00000008 +#define WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 0x00000020 +#define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 0x00000080 +#define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 0x00000200 +#define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 0x00000800 +#define WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 0x00002000 +#define WINHTTP_FLAG_SECURE_PROTOCOL_ALL (WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 |\ + WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 |\ + WINHTTP_FLAG_SECURE_PROTOCOL_TLS1) + +#define WINHTTP_AUTH_SCHEME_BASIC 0x00000001 +#define WINHTTP_AUTH_SCHEME_NTLM 0x00000002 +#define WINHTTP_AUTH_SCHEME_PASSPORT 0x00000004 +#define WINHTTP_AUTH_SCHEME_DIGEST 0x00000008 +#define WINHTTP_AUTH_SCHEME_NEGOTIATE 0x00000010 + +#define WINHTTP_AUTH_TARGET_SERVER 0x00000000 +#define WINHTTP_AUTH_TARGET_PROXY 0x00000001 + +#define WINHTTP_TIME_FORMAT_BUFSIZE 62 + +typedef struct +{ + DWORD dwStructSize; + LPWSTR lpszScheme; + DWORD dwSchemeLength; + INTERNET_SCHEME nScheme; + LPWSTR lpszHostName; + DWORD dwHostNameLength; + INTERNET_PORT nPort; + LPWSTR lpszUserName; + DWORD dwUserNameLength; + LPWSTR lpszPassword; + DWORD dwPasswordLength; + LPWSTR lpszUrlPath; + DWORD dwUrlPathLength; + LPWSTR lpszExtraInfo; + DWORD dwExtraInfoLength; +} URL_COMPONENTS, *LPURL_COMPONENTS; +typedef URL_COMPONENTS URL_COMPONENTSW; +typedef LPURL_COMPONENTS LPURL_COMPONENTSW; + +typedef struct +{ + DWORD_PTR dwResult; + DWORD dwError; +} WINHTTP_ASYNC_RESULT, *LPWINHTTP_ASYNC_RESULT; + +typedef struct +{ + FILETIME ftExpiry; + FILETIME ftStart; + LPWSTR lpszSubjectInfo; + LPWSTR lpszIssuerInfo; + LPWSTR lpszProtocolName; + LPWSTR lpszSignatureAlgName; + LPWSTR lpszEncryptionAlgName; + DWORD dwKeySize; +} WINHTTP_CERTIFICATE_INFO; + +typedef struct +{ + DWORD dwAccessType; + LPWSTR lpszProxy; + LPWSTR lpszProxyBypass; +} WINHTTP_PROXY_INFO, *LPWINHTTP_PROXY_INFO; +typedef WINHTTP_PROXY_INFO WINHTTP_PROXY_INFOW; +typedef LPWINHTTP_PROXY_INFO LPWINHTTP_PROXY_INFOW; + +typedef struct +{ + WINBOOL fAutoDetect; + LPWSTR lpszAutoConfigUrl; + LPWSTR lpszProxy; + LPWSTR lpszProxyBypass; +} WINHTTP_CURRENT_USER_IE_PROXY_CONFIG; + +typedef VOID (CALLBACK *WINHTTP_STATUS_CALLBACK)(HINTERNET,DWORD_PTR,DWORD,LPVOID,DWORD); +typedef WINHTTP_STATUS_CALLBACK * LPWINHTTP_STATUS_CALLBACK; + +#define WINHTTP_AUTO_DETECT_TYPE_DHCP 0x00000001 +#define WINHTTP_AUTO_DETECT_TYPE_DNS_A 0x00000002 + +#define WINHTTP_AUTOPROXY_AUTO_DETECT 0x00000001 +#define WINHTTP_AUTOPROXY_CONFIG_URL 0x00000002 +#define WINHTTP_AUTOPROXY_HOST_KEEPCASE 0x00000004 +#define WINHTTP_AUTOPROXY_HOST_LOWERCASE 0x00000008 +#define WINHTTP_AUTOPROXY_ALLOW_AUTOCONFIG 0x00000100 +#define WINHTTP_AUTOPROXY_ALLOW_STATIC 0x00000200 +#define WINHTTP_AUTOPROXY_ALLOW_CM 0x00000400 +#define WINHTTP_AUTOPROXY_RUN_INPROCESS 0x00010000 +#define WINHTTP_AUTOPROXY_RUN_OUTPROCESS_ONLY 0x00020000 +#define WINHTTP_AUTOPROXY_NO_DIRECTACCESS 0x00040000 +#define WINHTTP_AUTOPROXY_NO_CACHE_CLIENT 0x00080000 +#define WINHTTP_AUTOPROXY_NO_CACHE_SVC 0x00100000 +#define WINHTTP_AUTOPROXY_SORT_RESULTS 0x00400000 + +typedef struct +{ + DWORD dwFlags; + DWORD dwAutoDetectFlags; + LPCWSTR lpszAutoConfigUrl; + LPVOID lpvReserved; + DWORD dwReserved; + WINBOOL fAutoLogonIfChallenged; +} WINHTTP_AUTOPROXY_OPTIONS; + +typedef struct _WINHTTP_PROXY_RESULT_ENTRY +{ + WINBOOL fProxy; + WINBOOL fBypass; + INTERNET_SCHEME ProxyScheme; + PWSTR pwszProxy; + INTERNET_PORT ProxyPort; +} WINHTTP_PROXY_RESULT_ENTRY; + +typedef struct _WINHTTP_PROXY_RESULT +{ + DWORD cEntries; + WINHTTP_PROXY_RESULT_ENTRY *pEntries; +} WINHTTP_PROXY_RESULT; + +typedef struct _WINHTTP_PROXY_RESULT_EX +{ + DWORD cEntries; + WINHTTP_PROXY_RESULT_ENTRY *pEntries; + HANDLE hProxyDetectionHandle; + DWORD dwProxyInterfaceAffinity; +} WINHTTP_PROXY_RESULT_EX; + +#define NETWORKING_KEY_BUFSIZE 128 + +typedef struct _WinHttpProxyNetworkKey +{ + unsigned char pbBuffer[NETWORKING_KEY_BUFSIZE]; +} WINHTTP_PROXY_NETWORKING_KEY, *PWINHTTP_PROXY_NETWORKING_KEY; + +typedef struct _WINHTTP_PROXY_SETTINGS +{ + DWORD dwStructSize; + DWORD dwFlags; + DWORD dwCurrentSettingsVersion; + PWSTR pwszConnectionName; + PWSTR pwszProxy; + PWSTR pwszProxyBypass; + PWSTR pwszAutoconfigUrl; + PWSTR pwszAutoconfigSecondaryUrl; + DWORD dwAutoDiscoveryFlags; + PWSTR pwszLastKnownGoodAutoConfigUrl; + DWORD dwAutoconfigReloadDelayMins; + FILETIME ftLastKnownDetectTime; + DWORD dwDetectedInterfaceIpCount; + PDWORD pdwDetectedInterfaceIp; + DWORD cNetworkKeys; + PWINHTTP_PROXY_NETWORKING_KEY pNetworkKeys; +} WINHTTP_PROXY_SETTINGS, *PWINHTTP_PROXY_SETTINGS; + +typedef struct +{ + DWORD dwMajorVersion; + DWORD dwMinorVersion; +} HTTP_VERSION_INFO, *LPHTTP_VERSION_INFO; + +#ifdef _WS2DEF_ +typedef struct +{ + DWORD cbSize; + SOCKADDR_STORAGE LocalAddress; + SOCKADDR_STORAGE RemoteAddress; +} WINHTTP_CONNECTION_INFO; +#endif + +typedef enum _WINHTTP_REQUEST_TIME_ENTRY +{ + WinHttpProxyDetectionStart = 0, + WinHttpProxyDetectionEnd, + WinHttpConnectionAcquireStart, + WinHttpConnectionAcquireWaitEnd, + WinHttpConnectionAcquireEnd, + WinHttpNameResolutionStart, + WinHttpNameResolutionEnd, + WinHttpConnectionEstablishmentStart, + WinHttpConnectionEstablishmentEnd, + WinHttpTlsHandshakeClientLeg1Start, + WinHttpTlsHandshakeClientLeg1End, + WinHttpTlsHandshakeClientLeg2Start, + WinHttpTlsHandshakeClientLeg2End, + WinHttpTlsHandshakeClientLeg3Start, + WinHttpTlsHandshakeClientLeg3End, + WinHttpStreamWaitStart, + WinHttpStreamWaitEnd, + WinHttpSendRequestStart, + WinHttpSendRequestHeadersCompressionStart, + WinHttpSendRequestHeadersCompressionEnd, + WinHttpSendRequestHeadersEnd, + WinHttpSendRequestEnd, + WinHttpReceiveResponseStart, + WinHttpReceiveResponseHeadersDecompressionStart, + WinHttpReceiveResponseHeadersDecompressionEnd, + WinHttpReceiveResponseHeadersEnd, + WinHttpReceiveResponseBodyDecompressionDelta, + WinHttpReceiveResponseEnd, + WinHttpProxyTunnelStart, + WinHttpProxyTunnelEnd, + WinHttpProxyTlsHandshakeClientLeg1Start, + WinHttpProxyTlsHandshakeClientLeg1End, + WinHttpProxyTlsHandshakeClientLeg2Start, + WinHttpProxyTlsHandshakeClientLeg2End, + WinHttpProxyTlsHandshakeClientLeg3Start, + WinHttpProxyTlsHandshakeClientLeg3End, + WinHttpRequestTimeLast, + WinHttpRequestTimeMax = 64 +} WINHTTP_REQUEST_TIME_ENTRY; + +typedef struct _WINHTTP_REQUEST_TIMES +{ + ULONG cTimes; + ULONGLONG rgullTimes[WinHttpRequestTimeMax]; +} WINHTTP_REQUEST_TIMES, *PWINHTTP_REQUEST_TIMES; + +typedef enum _WINHTTP_REQUEST_STAT_ENTRY +{ + WinHttpConnectFailureCount = 0, + WinHttpProxyFailureCount, + WinHttpTlsHandshakeClientLeg1Size, + WinHttpTlsHandshakeServerLeg1Size, + WinHttpTlsHandshakeClientLeg2Size, + WinHttpTlsHandshakeServerLeg2Size, + WinHttpRequestHeadersSize, + WinHttpRequestHeadersCompressedSize, + WinHttpResponseHeadersSize, + WinHttpResponseHeadersCompressedSize, + WinHttpResponseBodySize, + WinHttpResponseBodyCompressedSize, + WinHttpProxyTlsHandshakeClientLeg1Size, + WinHttpProxyTlsHandshakeServerLeg1Size, + WinHttpProxyTlsHandshakeClientLeg2Size, + WinHttpProxyTlsHandshakeServerLeg2Size, + WinHttpRequestStatLast, + WinHttpRequestStatMax = 32 +} WINHTTP_REQUEST_STAT_ENTRY; + +#define WINHTTP_REQUEST_STAT_FLAG_TCP_FAST_OPEN 0x00000001 +#define WINHTTP_REQUEST_STAT_FLAG_TLS_SESSION_RESUMPTION 0x00000002 +#define WINHTTP_REQUEST_STAT_FLAG_TLS_FALSE_START 0x00000004 +#define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_SESSION_RESUMPTION 0x00000008 +#define WINHTTP_REQUEST_STAT_FLAG_PROXY_TLS_FALSE_START 0x00000010 +#define WINHTTP_REQUEST_STAT_FLAG_FIRST_REQUEST 0x00000020 + +typedef struct _WINHTTP_REQUEST_STATS +{ + ULONGLONG ullFlags; + ULONG ulIndex; + ULONG cStats; + ULONGLONG rgullStats[WinHttpRequestStatMax]; +} WINHTTP_REQUEST_STATS, *PWINHTTP_REQUEST_STATS; + +typedef enum _WINHTTP_WEB_SOCKET_OPERATION +{ + WINHTTP_WEB_SOCKET_SEND_OPERATION = 0, + WINHTTP_WEB_SOCKET_RECEIVE_OPERATION = 1, + WINHTTP_WEB_SOCKET_CLOSE_OPERATION = 2, + WINHTTP_WEB_SOCKET_SHUTDOWN_OPERATION = 3 +} WINHTTP_WEB_SOCKET_OPERATION; + +typedef enum _WINHTTP_WEB_SOCKET_BUFFER_TYPE +{ + WINHTTP_WEB_SOCKET_BINARY_MESSAGE_BUFFER_TYPE = 0, + WINHTTP_WEB_SOCKET_BINARY_FRAGMENT_BUFFER_TYPE = 1, + WINHTTP_WEB_SOCKET_UTF8_MESSAGE_BUFFER_TYPE = 2, + WINHTTP_WEB_SOCKET_UTF8_FRAGMENT_BUFFER_TYPE = 3, + WINHTTP_WEB_SOCKET_CLOSE_BUFFER_TYPE = 4 +} WINHTTP_WEB_SOCKET_BUFFER_TYPE; + +typedef enum _WINHTTP_WEB_SOCKET_CLOSE_STATUS +{ + WINHTTP_WEB_SOCKET_SUCCESS_CLOSE_STATUS = 1000, + WINHTTP_WEB_SOCKET_ENDPOINT_TERMINATED_CLOSE_STATUS = 1001, + WINHTTP_WEB_SOCKET_PROTOCOL_ERROR_CLOSE_STATUS = 1002, + WINHTTP_WEB_SOCKET_INVALID_DATA_TYPE_CLOSE_STATUS = 1003, + WINHTTP_WEB_SOCKET_EMPTY_CLOSE_STATUS = 1005, + WINHTTP_WEB_SOCKET_ABORTED_CLOSE_STATUS = 1006, + WINHTTP_WEB_SOCKET_INVALID_PAYLOAD_CLOSE_STATUS = 1007, + WINHTTP_WEB_SOCKET_POLICY_VIOLATION_CLOSE_STATUS = 1008, + WINHTTP_WEB_SOCKET_MESSAGE_TOO_BIG_CLOSE_STATUS = 1009, + WINHTTP_WEB_SOCKET_UNSUPPORTED_EXTENSIONS_CLOSE_STATUS = 1010, + WINHTTP_WEB_SOCKET_SERVER_ERROR_CLOSE_STATUS = 1011, + WINHTTP_WEB_SOCKET_SECURE_HANDSHAKE_ERROR_CLOSE_STATUS = 1015 +} WINHTTP_WEB_SOCKET_CLOSE_STATUS; + +typedef struct _WINHTTP_WEB_SOCKET_ASYNC_RESULT +{ + WINHTTP_ASYNC_RESULT AsyncResult; + WINHTTP_WEB_SOCKET_OPERATION Operation; +} WINHTTP_WEB_SOCKET_ASYNC_RESULT; + +typedef struct _WINHTTP_WEB_SOCKET_STATUS +{ + DWORD dwBytesTransferred; + WINHTTP_WEB_SOCKET_BUFFER_TYPE eBufferType; +} WINHTTP_WEB_SOCKET_STATUS; + +#define WINHTTP_WEB_SOCKET_MAX_CLOSE_REASON_LENGTH 123 +#define WINHTTP_WEB_SOCKET_MIN_KEEPALIVE_VALUE 15000 + +#ifdef __cplusplus +extern "C" { +#endif + +WINHTTPAPI WINBOOL WINAPI WinHttpAddRequestHeaders(HINTERNET,LPCWSTR,DWORD,DWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD,LPWSTR*); +WINHTTPAPI WINBOOL WINAPI WinHttpCheckPlatform(void); +WINHTTPAPI WINBOOL WINAPI WinHttpCloseHandle(HINTERNET); +WINHTTPAPI HINTERNET WINAPI WinHttpConnect(HINTERNET,LPCWSTR,INTERNET_PORT,DWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpCrackUrl(LPCWSTR,DWORD,DWORD,LPURL_COMPONENTS); +WINHTTPAPI DWORD WINAPI WinHttpCreateProxyResolver(HINTERNET,HINTERNET*); +WINHTTPAPI WINBOOL WINAPI WinHttpCreateUrl(LPURL_COMPONENTS,DWORD,LPWSTR,LPDWORD); +WINHTTPAPI VOID WINAPI WinHttpFreeProxyResult(WINHTTP_PROXY_RESULT*); +WINHTTPAPI VOID WINAPI WinHttpFreeProxyResultEx(WINHTTP_PROXY_RESULT_EX*); +WINHTTPAPI VOID WINAPI WinHttpFreeProxySettings(WINHTTP_PROXY_SETTINGS*); +WINHTTPAPI WINBOOL WINAPI WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*); +WINHTTPAPI WINBOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG*); +WINHTTPAPI WINBOOL WINAPI WinHttpGetProxyForUrl(HINTERNET,LPCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,WINHTTP_PROXY_INFO*); +WINHTTPAPI DWORD WINAPI WinHttpGetProxyForUrlEx(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD_PTR); +WINHTTPAPI DWORD WINAPI WinHttpGetProxyForUrlEx2(HINTERNET,PCWSTR,WINHTTP_AUTOPROXY_OPTIONS*,DWORD,BYTE*,DWORD_PTR); +WINHTTPAPI DWORD WINAPI WinHttpGetProxyResult(HINTERNET,WINHTTP_PROXY_RESULT*); +WINHTTPAPI DWORD WINAPI WinHttpGetProxyResultEx(HINTERNET,WINHTTP_PROXY_RESULT_EX*); +WINHTTPAPI DWORD WINAPI WinHttpGetProxySettingsVersion(HINTERNET,DWORD*); +WINHTTPAPI DWORD WINAPI WinHttpIsHostInProxyBypassList(const WINHTTP_PROXY_INFO*,PCWSTR,INTERNET_SCHEME,INTERNET_PORT,WINBOOL*); +WINHTTPAPI HINTERNET WINAPI WinHttpOpen(LPCWSTR,DWORD,LPCWSTR,LPCWSTR,DWORD); +WINHTTPAPI HINTERNET WINAPI WinHttpOpenRequest(HINTERNET,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR*,DWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpQueryAuthParams(HINTERNET,DWORD,LPVOID*); +WINHTTPAPI WINBOOL WINAPI WinHttpQueryAuthSchemes(HINTERNET,LPDWORD,LPDWORD,LPDWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpQueryDataAvailable(HINTERNET,LPDWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpQueryHeaders(HINTERNET,DWORD,LPCWSTR,LPVOID,LPDWORD,LPDWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpQueryOption(HINTERNET,DWORD,LPVOID,LPDWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpReadData(HINTERNET,LPVOID,DWORD,LPDWORD); +WINHTTPAPI DWORD WINAPI WinHttpReadProxySettings(HINTERNET,PCWSTR,WINBOOL,WINBOOL,DWORD*,WINBOOL*,WINHTTP_PROXY_SETTINGS*); +WINHTTPAPI WINBOOL WINAPI WinHttpReceiveResponse(HINTERNET,LPVOID); +WINHTTPAPI DWORD WINAPI WinHttpResetAutoProxy(HINTERNET,DWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpSendRequest(HINTERNET,LPCWSTR,DWORD,LPVOID,DWORD,DWORD,DWORD_PTR); +WINHTTPAPI WINBOOL WINAPI WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO*); +WINHTTPAPI WINBOOL WINAPI WinHttpSetCredentials(HINTERNET,DWORD,DWORD,LPCWSTR,LPCWSTR,LPVOID); +WINHTTPAPI WINBOOL WINAPI WinHttpSetOption(HINTERNET,DWORD,LPVOID,DWORD); +WINHTTPAPI WINHTTP_STATUS_CALLBACK WINAPI WinHttpSetStatusCallback(HINTERNET,WINHTTP_STATUS_CALLBACK,DWORD,DWORD_PTR); +WINHTTPAPI WINBOOL WINAPI WinHttpSetTimeouts(HINTERNET,int,int,int,int); +WINHTTPAPI WINBOOL WINAPI WinHttpTimeFromSystemTime(const SYSTEMTIME *,LPWSTR); +WINHTTPAPI WINBOOL WINAPI WinHttpTimeToSystemTime(LPCWSTR,SYSTEMTIME*); +WINHTTPAPI DWORD WINAPI WinHttpWebSocketClose(HINTERNET,USHORT,void *,DWORD); +WINHTTPAPI HINTERNET WINAPI WinHttpWebSocketCompleteUpgrade(HINTERNET,DWORD_PTR); +WINHTTPAPI DWORD WINAPI WinHttpWebSocketQueryCloseStatus(HINTERNET,USHORT*,void*,DWORD,DWORD*); +WINHTTPAPI DWORD WINAPI WinHttpWebSocketReceive(HINTERNET,void*,DWORD,DWORD*,WINHTTP_WEB_SOCKET_BUFFER_TYPE*); +WINHTTPAPI DWORD WINAPI WinHttpWebSocketSend(HINTERNET,WINHTTP_WEB_SOCKET_BUFFER_TYPE,void*,DWORD); +WINHTTPAPI DWORD WINAPI WinHttpWebSocketShutdown(HINTERNET,USHORT,void*,DWORD); +WINHTTPAPI WINBOOL WINAPI WinHttpWriteData(HINTERNET,LPCVOID,DWORD,LPDWORD); +WINHTTPAPI DWORD WINAPI WinHttpWriteProxySettings(HINTERNET,WINBOOL,WINHTTP_PROXY_SETTINGS*); + +#ifdef __cplusplus +} +#endif + +#include + +#endif /* __WINE_WINHTTP_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvemulation.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvemulation.h new file mode 100644 index 00000000..112f62bf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvemulation.h @@ -0,0 +1,82 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINHVEMUAPI_H_ +#define _WINHVEMUAPI_H_ + +#include +#include +#include +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#include + +typedef union WHV_EMULATOR_STATUS { + __C89_NAMELESS struct { + UINT32 EmulationSuccessful : 1; + UINT32 InternalEmulationFailure : 1; + UINT32 IoPortCallbackFailed : 1; + UINT32 MemoryCallbackFailed : 1; + UINT32 TranslateGvaPageCallbackFailed : 1; + UINT32 TranslateGvaPageCallbackGpaIsNotAligned : 1; + UINT32 GetVirtualProcessorRegistersCallbackFailed : 1; + UINT32 SetVirtualProcessorRegistersCallbackFailed : 1; + UINT32 InterruptCausedIntercept : 1; + UINT32 GuestCannotBeFaulted : 1; + UINT32 Reserved : 22; + }; + UINT32 AsUINT32; +} WHV_EMULATOR_STATUS; + +typedef struct WHV_EMULATOR_MEMORY_ACCESS_INFO { + WHV_GUEST_PHYSICAL_ADDRESS GpaAddress; + UINT8 Direction; + UINT8 AccessSize; + UINT8 Data[8]; +} WHV_EMULATOR_MEMORY_ACCESS_INFO; + +typedef struct WHV_EMULATOR_IO_ACCESS_INFO { + UINT8 Direction; + UINT16 Port; + UINT16 AccessSize; + UINT32 Data; +} WHV_EMULATOR_IO_ACCESS_INFO; + +typedef HRESULT (CALLBACK *WHV_EMULATOR_IO_PORT_CALLBACK)(VOID *Context, WHV_EMULATOR_IO_ACCESS_INFO *IoAccess); +typedef HRESULT (CALLBACK *WHV_EMULATOR_MEMORY_CALLBACK)(VOID *Context, WHV_EMULATOR_MEMORY_ACCESS_INFO *MemoryAccess); +typedef HRESULT (CALLBACK *WHV_EMULATOR_GET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK)(VOID *Context, const WHV_REGISTER_NAME *RegisterNames, UINT32 RegisterCount, WHV_REGISTER_VALUE *RegisterValues); +typedef HRESULT (CALLBACK *WHV_EMULATOR_SET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK)(VOID *Context, const WHV_REGISTER_NAME *RegisterNames, UINT32 RegisterCount, const WHV_REGISTER_VALUE *RegisterValues); +typedef HRESULT (CALLBACK *WHV_EMULATOR_TRANSLATE_GVA_PAGE_CALLBACK)(VOID *Context, WHV_GUEST_VIRTUAL_ADDRESS Gva, WHV_TRANSLATE_GVA_FLAGS TranslateFlags, WHV_TRANSLATE_GVA_RESULT_CODE *TranslationResult, WHV_GUEST_PHYSICAL_ADDRESS *Gpa); + +typedef struct WHV_EMULATOR_CALLBACKS { + UINT32 Size; + UINT32 Reserved; + WHV_EMULATOR_IO_PORT_CALLBACK WHvEmulatorIoPortCallback; + WHV_EMULATOR_MEMORY_CALLBACK WHvEmulatorMemoryCallback; + WHV_EMULATOR_GET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK WHvEmulatorGetVirtualProcessorRegisters; + WHV_EMULATOR_SET_VIRTUAL_PROCESSOR_REGISTERS_CALLBACK WHvEmulatorSetVirtualProcessorRegisters; + WHV_EMULATOR_TRANSLATE_GVA_PAGE_CALLBACK WHvEmulatorTranslateGvaPage; +} WHV_EMULATOR_CALLBACKS; + +typedef VOID* WHV_EMULATOR_HANDLE; + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT WINAPI WHvEmulatorCreateEmulator(const WHV_EMULATOR_CALLBACKS *Callbacks, WHV_EMULATOR_HANDLE *Emulator); +HRESULT WINAPI WHvEmulatorDestroyEmulator(WHV_EMULATOR_HANDLE Emulator); +HRESULT WINAPI WHvEmulatorTryIoEmulation(WHV_EMULATOR_HANDLE Emulator, VOID *Context, const WHV_VP_EXIT_CONTEXT *VpContext, const WHV_X64_IO_PORT_ACCESS_CONTEXT *IoInstructionContext, WHV_EMULATOR_STATUS *EmulatorReturnStatus); +HRESULT WINAPI WHvEmulatorTryMmioEmulation(WHV_EMULATOR_HANDLE Emulator, VOID *Context, const WHV_VP_EXIT_CONTEXT *VpContext, const WHV_MEMORY_ACCESS_CONTEXT *MmioInstructionContext, WHV_EMULATOR_STATUS *EmulatorReturnStatus); + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatform.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatform.h new file mode 100644 index 00000000..b148804f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatform.h @@ -0,0 +1,95 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINHVAPI_H_ +#define _WINHVAPI_H_ + +#include +#include +#include +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT WINAPI WHvGetCapability(WHV_CAPABILITY_CODE CapabilityCode, VOID *CapabilityBuffer, UINT32 CapabilityBufferSizeInBytes, UINT32 *WrittenSizeInBytes); +HRESULT WINAPI WHvCreatePartition(WHV_PARTITION_HANDLE *Partition); +HRESULT WINAPI WHvSetupPartition(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvResetPartition(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvDeletePartition(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvGetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes); +HRESULT WINAPI WHvSetPartitionProperty(WHV_PARTITION_HANDLE Partition, WHV_PARTITION_PROPERTY_CODE PropertyCode, const VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes); +HRESULT WINAPI WHvSuspendPartitionTime(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvResumePartitionTime(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvMapGpaRange(WHV_PARTITION_HANDLE Partition, VOID *SourceAddress, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes, WHV_MAP_GPA_RANGE_FLAGS Flags); +HRESULT WINAPI WHvMapGpaRange2(WHV_PARTITION_HANDLE Partition, HANDLE Process, VOID *SourceAddress, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes, WHV_MAP_GPA_RANGE_FLAGS Flags); +HRESULT WINAPI WHvUnmapGpaRange(WHV_PARTITION_HANDLE Partition, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, UINT64 SizeInBytes); +HRESULT WINAPI WHvTranslateGva(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_VIRTUAL_ADDRESS Gva, WHV_TRANSLATE_GVA_FLAGS TranslateFlags, WHV_TRANSLATE_GVA_RESULT *TranslationResult, WHV_GUEST_PHYSICAL_ADDRESS *Gpa); +HRESULT WINAPI WHvCreateVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, UINT32 Flags); +HRESULT WINAPI WHvCreateVirtualProcessor2(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, const WHV_VIRTUAL_PROCESSOR_PROPERTY *Properties, UINT32 PropertyCount); +HRESULT WINAPI WHvDeleteVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex); +HRESULT WINAPI WHvRunVirtualProcessor(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, VOID *ExitContext, UINT32 ExitContextSizeInBytes); +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); +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); +HRESULT WINAPI WHvRequestInterrupt(WHV_PARTITION_HANDLE Partition, const WHV_INTERRUPT_CONTROL *Interrupt, UINT32 InterruptControlSize); +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); +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); +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); +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); +HRESULT WINAPI WHvReadGpaRange(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, WHV_ACCESS_GPA_CONTROLS Controls, PVOID Data, UINT32 DataSizeInBytes); +HRESULT WINAPI WHvWriteGpaRange(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_GUEST_PHYSICAL_ADDRESS GuestAddress, WHV_ACCESS_GPA_CONTROLS Controls, const VOID *Data, UINT32 DataSizeInBytes); +HRESULT WINAPI WHvSignalVirtualProcessorSynicEvent(WHV_PARTITION_HANDLE Partition, WHV_SYNIC_EVENT_PARAMETERS SynicEvent, WINBOOL *NewlySignaled); +HRESULT WINAPI WHvGetVirtualProcessorState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_VIRTUAL_PROCESSOR_STATE_TYPE StateType, VOID *Buffer, UINT32 BufferSizeInBytes, UINT32 *BytesWritten); +HRESULT WINAPI WHvSetVirtualProcessorState(WHV_PARTITION_HANDLE Partition, UINT32 VpIndex, WHV_VIRTUAL_PROCESSOR_STATE_TYPE StateType, const VOID *Buffer, UINT32 BufferSizeInBytes); +HRESULT WINAPI WHvAllocateVpciResource(const GUID *ProviderId, WHV_ALLOCATE_VPCI_RESOURCE_FLAGS Flags, const VOID *ResourceDescriptor, UINT32 ResourceDescriptorSizeInBytes, HANDLE *VpciResource); +HRESULT WINAPI WHvCreateVpciDevice(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, HANDLE VpciResource, WHV_CREATE_VPCI_DEVICE_FLAGS Flags, HANDLE NotificationEventHandle); +HRESULT WINAPI WHvDeleteVpciDevice(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId); +HRESULT WINAPI WHvGetVpciDeviceProperty(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, WHV_VPCI_DEVICE_PROPERTY_CODE PropertyCode, VOID *PropertyBuffer, UINT32 PropertyBufferSizeInBytes, UINT32 *WrittenSizeInBytes); +HRESULT WINAPI WHvGetVpciDeviceNotification(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, WHV_VPCI_DEVICE_NOTIFICATION *Notification, UINT32 NotificationSizeInBytes); +HRESULT WINAPI WHvMapVpciDeviceMmioRanges(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 *MappingCount, WHV_VPCI_MMIO_MAPPING **Mappings); +HRESULT WINAPI WHvUnmapVpciDeviceMmioRanges(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId); +HRESULT WINAPI WHvSetVpciDevicePowerState(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, DEVICE_POWER_STATE PowerState); +HRESULT WINAPI WHvReadVpciDeviceRegister(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, const WHV_VPCI_DEVICE_REGISTER *Register, VOID *Data); +HRESULT WINAPI WHvWriteVpciDeviceRegister(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, const WHV_VPCI_DEVICE_REGISTER *Register, const VOID *Data); +HRESULT WINAPI WHvMapVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index, UINT32 MessageCount, const WHV_VPCI_INTERRUPT_TARGET *Target, UINT64 *MsiAddress, UINT32 *MsiData); +HRESULT WINAPI WHvUnmapVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index); +HRESULT WINAPI WHvRetargetVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT64 MsiAddress, UINT32 MsiData, const WHV_VPCI_INTERRUPT_TARGET *Target); +HRESULT WINAPI WHvRequestVpciDeviceInterrupt(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT64 MsiAddress, UINT32 MsiData); +HRESULT WINAPI WHvGetVpciDeviceInterruptTarget(WHV_PARTITION_HANDLE Partition, UINT64 LogicalDeviceId, UINT32 Index, UINT32 MultiMessageNumber, WHV_VPCI_INTERRUPT_TARGET *Target, UINT32 TargetSizeInBytes, UINT32 *BytesWritten); +HRESULT WINAPI WHvCreateTrigger(WHV_PARTITION_HANDLE Partition, const WHV_TRIGGER_PARAMETERS *Parameters, WHV_TRIGGER_HANDLE *TriggerHandle, HANDLE *EventHandle); +HRESULT WINAPI WHvUpdateTriggerParameters(WHV_PARTITION_HANDLE Partition, const WHV_TRIGGER_PARAMETERS *Parameters, WHV_TRIGGER_HANDLE TriggerHandle); +HRESULT WINAPI WHvDeleteTrigger(WHV_PARTITION_HANDLE Partition, WHV_TRIGGER_HANDLE TriggerHandle); +HRESULT WINAPI WHvCreateNotificationPort(WHV_PARTITION_HANDLE Partition, const WHV_NOTIFICATION_PORT_PARAMETERS *Parameters, HANDLE EventHandle, WHV_NOTIFICATION_PORT_HANDLE *PortHandle); +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); +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); +HRESULT WINAPI WHvStartPartitionMigration(WHV_PARTITION_HANDLE Partition, HANDLE *MigrationHandle); +HRESULT WHvCancelPartitionMigration(WHV_PARTITION_HANDLE Partition); +HRESULT WHvCompletePartitionMigration(WHV_PARTITION_HANDLE Partition); +HRESULT WINAPI WHvAcceptPartitionMigration(HANDLE MigrationHandle, WHV_PARTITION_HANDLE *Partition); + +#ifdef __cplusplus +} +#endif + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#endif /* _WINHVAPI_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatformdefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatformdefs.h new file mode 100644 index 00000000..9cf239cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winhvplatformdefs.h @@ -0,0 +1,2401 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#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__) + +typedef enum WHV_REGISTER_NAME { + WHvX64RegisterRax = 0x00000000, + WHvX64RegisterRcx = 0x00000001, + WHvX64RegisterRdx = 0x00000002, + WHvX64RegisterRbx = 0x00000003, + WHvX64RegisterRsp = 0x00000004, + WHvX64RegisterRbp = 0x00000005, + WHvX64RegisterRsi = 0x00000006, + WHvX64RegisterRdi = 0x00000007, + WHvX64RegisterR8 = 0x00000008, + WHvX64RegisterR9 = 0x00000009, + WHvX64RegisterR10 = 0x0000000A, + WHvX64RegisterR11 = 0x0000000B, + WHvX64RegisterR12 = 0x0000000C, + WHvX64RegisterR13 = 0x0000000D, + WHvX64RegisterR14 = 0x0000000E, + WHvX64RegisterR15 = 0x0000000F, + WHvX64RegisterRip = 0x00000010, + WHvX64RegisterRflags = 0x00000011, + WHvX64RegisterEs = 0x00000012, + WHvX64RegisterCs = 0x00000013, + WHvX64RegisterSs = 0x00000014, + WHvX64RegisterDs = 0x00000015, + WHvX64RegisterFs = 0x00000016, + WHvX64RegisterGs = 0x00000017, + WHvX64RegisterLdtr = 0x00000018, + WHvX64RegisterTr = 0x00000019, + WHvX64RegisterIdtr = 0x0000001A, + WHvX64RegisterGdtr = 0x0000001B, + WHvX64RegisterCr0 = 0x0000001C, + WHvX64RegisterCr2 = 0x0000001D, + WHvX64RegisterCr3 = 0x0000001E, + WHvX64RegisterCr4 = 0x0000001F, + WHvX64RegisterCr8 = 0x00000020, + WHvX64RegisterDr0 = 0x00000021, + WHvX64RegisterDr1 = 0x00000022, + WHvX64RegisterDr2 = 0x00000023, + WHvX64RegisterDr3 = 0x00000024, + WHvX64RegisterDr6 = 0x00000025, + WHvX64RegisterDr7 = 0x00000026, + WHvX64RegisterXCr0 = 0x00000027, + WHvX64RegisterVirtualCr0 = 0x00000028, + WHvX64RegisterVirtualCr3 = 0x00000029, + WHvX64RegisterVirtualCr4 = 0x0000002A, + WHvX64RegisterVirtualCr8 = 0x0000002B, + WHvX64RegisterXmm0 = 0x00001000, + WHvX64RegisterXmm1 = 0x00001001, + WHvX64RegisterXmm2 = 0x00001002, + WHvX64RegisterXmm3 = 0x00001003, + WHvX64RegisterXmm4 = 0x00001004, + WHvX64RegisterXmm5 = 0x00001005, + WHvX64RegisterXmm6 = 0x00001006, + WHvX64RegisterXmm7 = 0x00001007, + WHvX64RegisterXmm8 = 0x00001008, + WHvX64RegisterXmm9 = 0x00001009, + WHvX64RegisterXmm10 = 0x0000100A, + WHvX64RegisterXmm11 = 0x0000100B, + WHvX64RegisterXmm12 = 0x0000100C, + WHvX64RegisterXmm13 = 0x0000100D, + WHvX64RegisterXmm14 = 0x0000100E, + WHvX64RegisterXmm15 = 0x0000100F, + WHvX64RegisterFpMmx0 = 0x00001010, + WHvX64RegisterFpMmx1 = 0x00001011, + WHvX64RegisterFpMmx2 = 0x00001012, + WHvX64RegisterFpMmx3 = 0x00001013, + WHvX64RegisterFpMmx4 = 0x00001014, + WHvX64RegisterFpMmx5 = 0x00001015, + WHvX64RegisterFpMmx6 = 0x00001016, + WHvX64RegisterFpMmx7 = 0x00001017, + WHvX64RegisterFpControlStatus = 0x00001018, + WHvX64RegisterXmmControlStatus = 0x00001019, + WHvX64RegisterTsc = 0x00002000, + WHvX64RegisterEfer = 0x00002001, + WHvX64RegisterKernelGsBase = 0x00002002, + WHvX64RegisterApicBase = 0x00002003, + WHvX64RegisterPat = 0x00002004, + WHvX64RegisterSysenterCs = 0x00002005, + WHvX64RegisterSysenterEip = 0x00002006, + WHvX64RegisterSysenterEsp = 0x00002007, + WHvX64RegisterStar = 0x00002008, + WHvX64RegisterLstar = 0x00002009, + WHvX64RegisterCstar = 0x0000200A, + WHvX64RegisterSfmask = 0x0000200B, + WHvX64RegisterInitialApicId = 0x0000200C, + WHvX64RegisterMsrMtrrCap = 0x0000200D, + WHvX64RegisterMsrMtrrDefType = 0x0000200E, + WHvX64RegisterMsrMtrrPhysBase0 = 0x00002010, + WHvX64RegisterMsrMtrrPhysBase1 = 0x00002011, + WHvX64RegisterMsrMtrrPhysBase2 = 0x00002012, + WHvX64RegisterMsrMtrrPhysBase3 = 0x00002013, + WHvX64RegisterMsrMtrrPhysBase4 = 0x00002014, + WHvX64RegisterMsrMtrrPhysBase5 = 0x00002015, + WHvX64RegisterMsrMtrrPhysBase6 = 0x00002016, + WHvX64RegisterMsrMtrrPhysBase7 = 0x00002017, + WHvX64RegisterMsrMtrrPhysBase8 = 0x00002018, + WHvX64RegisterMsrMtrrPhysBase9 = 0x00002019, + WHvX64RegisterMsrMtrrPhysBaseA = 0x0000201A, + WHvX64RegisterMsrMtrrPhysBaseB = 0x0000201B, + WHvX64RegisterMsrMtrrPhysBaseC = 0x0000201C, + WHvX64RegisterMsrMtrrPhysBaseD = 0x0000201D, + WHvX64RegisterMsrMtrrPhysBaseE = 0x0000201E, + WHvX64RegisterMsrMtrrPhysBaseF = 0x0000201F, + WHvX64RegisterMsrMtrrPhysMask0 = 0x00002040, + WHvX64RegisterMsrMtrrPhysMask1 = 0x00002041, + WHvX64RegisterMsrMtrrPhysMask2 = 0x00002042, + WHvX64RegisterMsrMtrrPhysMask3 = 0x00002043, + WHvX64RegisterMsrMtrrPhysMask4 = 0x00002044, + WHvX64RegisterMsrMtrrPhysMask5 = 0x00002045, + WHvX64RegisterMsrMtrrPhysMask6 = 0x00002046, + WHvX64RegisterMsrMtrrPhysMask7 = 0x00002047, + WHvX64RegisterMsrMtrrPhysMask8 = 0x00002048, + WHvX64RegisterMsrMtrrPhysMask9 = 0x00002049, + WHvX64RegisterMsrMtrrPhysMaskA = 0x0000204A, + WHvX64RegisterMsrMtrrPhysMaskB = 0x0000204B, + WHvX64RegisterMsrMtrrPhysMaskC = 0x0000204C, + WHvX64RegisterMsrMtrrPhysMaskD = 0x0000204D, + WHvX64RegisterMsrMtrrPhysMaskE = 0x0000204E, + WHvX64RegisterMsrMtrrPhysMaskF = 0x0000204F, + WHvX64RegisterMsrMtrrFix64k00000 = 0x00002070, + WHvX64RegisterMsrMtrrFix16k80000 = 0x00002071, + WHvX64RegisterMsrMtrrFix16kA0000 = 0x00002072, + WHvX64RegisterMsrMtrrFix4kC0000 = 0x00002073, + WHvX64RegisterMsrMtrrFix4kC8000 = 0x00002074, + WHvX64RegisterMsrMtrrFix4kD0000 = 0x00002075, + WHvX64RegisterMsrMtrrFix4kD8000 = 0x00002076, + WHvX64RegisterMsrMtrrFix4kE0000 = 0x00002077, + WHvX64RegisterMsrMtrrFix4kE8000 = 0x00002078, + WHvX64RegisterMsrMtrrFix4kF0000 = 0x00002079, + WHvX64RegisterMsrMtrrFix4kF8000 = 0x0000207A, + WHvX64RegisterTscAux = 0x0000207B, + WHvX64RegisterBndcfgs = 0x0000207C, + WHvX64RegisterMCount = 0x0000207E, + WHvX64RegisterACount = 0x0000207F, + WHvX64RegisterSpecCtrl = 0x00002084, + WHvX64RegisterPredCmd = 0x00002085, + WHvX64RegisterTscVirtualOffset = 0x00002087, + WHvX64RegisterTsxCtrl = 0x00002088, + WHvX64RegisterXss = 0x0000208B, + WHvX64RegisterUCet = 0x0000208C, + WHvX64RegisterSCet = 0x0000208D, + WHvX64RegisterSsp = 0x0000208E, + WHvX64RegisterPl0Ssp = 0x0000208F, + WHvX64RegisterPl1Ssp = 0x00002090, + WHvX64RegisterPl2Ssp = 0x00002091, + WHvX64RegisterPl3Ssp = 0x00002092, + WHvX64RegisterInterruptSspTableAddr = 0x00002093, + WHvX64RegisterTscDeadline = 0x00002095, + WHvX64RegisterTscAdjust = 0x00002096, + WHvX64RegisterUmwaitControl = 0x00002098, + WHvX64RegisterXfd = 0x00002099, + WHvX64RegisterXfdErr = 0x0000209A, + WHvX64RegisterMsrIa32MiscEnable = 0x000020A0, + WHvX64RegisterIa32FeatureControl = 0x000020A1, + WHvX64RegisterIa32VmxBasic = 0x000020A2, + WHvX64RegisterIa32VmxPinbasedCtls = 0x000020A3, + WHvX64RegisterIa32VmxProcbasedCtls = 0x000020A4, + WHvX64RegisterIa32VmxExitCtls = 0x000020A5, + WHvX64RegisterIa32VmxEntryCtls = 0x000020A6, + WHvX64RegisterIa32VmxMisc = 0x000020A7, + WHvX64RegisterIa32VmxCr0Fixed0 = 0x000020A8, + WHvX64RegisterIa32VmxCr0Fixed1 = 0x000020A9, + WHvX64RegisterIa32VmxCr4Fixed0 = 0x000020AA, + WHvX64RegisterIa32VmxCr4Fixed1 = 0x000020AB, + WHvX64RegisterIa32VmxVmcsEnum = 0x000020AC, + WHvX64RegisterIa32VmxProcbasedCtls2 = 0x000020AD, + WHvX64RegisterIa32VmxEptVpidCap = 0x000020AE, + WHvX64RegisterIa32VmxTruePinbasedCtls = 0x000020AF, + WHvX64RegisterIa32VmxTrueProcbasedCtls = 0x000020B0, + WHvX64RegisterIa32VmxTrueExitCtls = 0x000020B1, + WHvX64RegisterIa32VmxTrueEntryCtls = 0x000020B2, + WHvX64RegisterAmdVmHsavePa = 0x000020B3, + WHvX64RegisterAmdVmCr = 0x000020B4, + WHvX64RegisterApicId = 0x00003002, + WHvX64RegisterApicVersion = 0x00003003, + WHvX64RegisterApicTpr = 0x00003008, + WHvX64RegisterApicPpr = 0x0000300A, + WHvX64RegisterApicEoi = 0x0000300B, + WHvX64RegisterApicLdr = 0x0000300D, + WHvX64RegisterApicSpurious = 0x0000300F, + WHvX64RegisterApicIsr0 = 0x00003010, + WHvX64RegisterApicIsr1 = 0x00003011, + WHvX64RegisterApicIsr2 = 0x00003012, + WHvX64RegisterApicIsr3 = 0x00003013, + WHvX64RegisterApicIsr4 = 0x00003014, + WHvX64RegisterApicIsr5 = 0x00003015, + WHvX64RegisterApicIsr6 = 0x00003016, + WHvX64RegisterApicIsr7 = 0x00003017, + WHvX64RegisterApicTmr0 = 0x00003018, + WHvX64RegisterApicTmr1 = 0x00003019, + WHvX64RegisterApicTmr2 = 0x0000301A, + WHvX64RegisterApicTmr3 = 0x0000301B, + WHvX64RegisterApicTmr4 = 0x0000301C, + WHvX64RegisterApicTmr5 = 0x0000301D, + WHvX64RegisterApicTmr6 = 0x0000301E, + WHvX64RegisterApicTmr7 = 0x0000301F, + WHvX64RegisterApicIrr0 = 0x00003020, + WHvX64RegisterApicIrr1 = 0x00003021, + WHvX64RegisterApicIrr2 = 0x00003022, + WHvX64RegisterApicIrr3 = 0x00003023, + WHvX64RegisterApicIrr4 = 0x00003024, + WHvX64RegisterApicIrr5 = 0x00003025, + WHvX64RegisterApicIrr6 = 0x00003026, + WHvX64RegisterApicIrr7 = 0x00003027, + WHvX64RegisterApicEse = 0x00003028, + WHvX64RegisterApicIcr = 0x00003030, + WHvX64RegisterApicLvtTimer = 0x00003032, + WHvX64RegisterApicLvtThermal = 0x00003033, + WHvX64RegisterApicLvtPerfmon = 0x00003034, + WHvX64RegisterApicLvtLint0 = 0x00003035, + WHvX64RegisterApicLvtLint1 = 0x00003036, + WHvX64RegisterApicLvtError = 0x00003037, + WHvX64RegisterApicInitCount = 0x00003038, + WHvX64RegisterApicCurrentCount = 0x00003039, + WHvX64RegisterApicDivide = 0x0000303E, + WHvX64RegisterApicSelfIpi = 0x0000303F, + WHvRegisterSint0 = 0x00004000, + WHvRegisterSint1 = 0x00004001, + WHvRegisterSint2 = 0x00004002, + WHvRegisterSint3 = 0x00004003, + WHvRegisterSint4 = 0x00004004, + WHvRegisterSint5 = 0x00004005, + WHvRegisterSint6 = 0x00004006, + WHvRegisterSint7 = 0x00004007, + WHvRegisterSint8 = 0x00004008, + WHvRegisterSint9 = 0x00004009, + WHvRegisterSint10 = 0x0000400A, + WHvRegisterSint11 = 0x0000400B, + WHvRegisterSint12 = 0x0000400C, + WHvRegisterSint13 = 0x0000400D, + WHvRegisterSint14 = 0x0000400E, + WHvRegisterSint15 = 0x0000400F, + WHvRegisterScontrol = 0x00004010, + WHvRegisterSversion = 0x00004011, + WHvRegisterSiefp = 0x00004012, + WHvRegisterSimp = 0x00004013, + WHvRegisterEom = 0x00004014, + WHvRegisterVpRuntime = 0x00005000, + WHvX64RegisterHypercall = 0x00005001, + WHvRegisterGuestOsId = 0x00005002, + WHvRegisterVpAssistPage = 0x00005013, + WHvRegisterReferenceTsc = 0x00005017, + WHvRegisterReferenceTscSequence = 0x0000501A, + WHvX64RegisterNestedGuestState = 0x00005050, + WHvX64RegisterNestedCurrentVmGpa = 0x00005051, + WHvX64RegisterNestedVmxInvEpt = 0x00005052, + WHvX64RegisterNestedVmxInvVpid = 0x00005053, + WHvRegisterPendingInterruption = 0x80000000, + WHvRegisterInterruptState = 0x80000001, + WHvRegisterPendingEvent = 0x80000002, + WHvRegisterPendingEvent1 = 0x80000003, + WHvX64RegisterDeliverabilityNotifications = 0x80000004, + WHvRegisterDeliverabilityNotifications = 0x80000004, + WHvRegisterInternalActivityState = 0x80000005, + WHvX64RegisterPendingDebugException = 0x80000006, + WHvRegisterPendingEvent2 = 0x80000007, + WHvRegisterPendingEvent3 = 0x80000008 +} WHV_REGISTER_NAME; + +#elif defined (__aarch64__) + +typedef enum WHV_REGISTER_NAME { + WHvArm64RegisterX0 = 0x00020000, + WHvArm64RegisterX1 = 0x00020001, + WHvArm64RegisterX2 = 0x00020002, + WHvArm64RegisterX3 = 0x00020003, + WHvArm64RegisterX4 = 0x00020004, + WHvArm64RegisterX5 = 0x00020005, + WHvArm64RegisterX6 = 0x00020006, + WHvArm64RegisterX7 = 0x00020007, + WHvArm64RegisterX8 = 0x00020008, + WHvArm64RegisterX9 = 0x00020009, + WHvArm64RegisterX10 = 0x0002000A, + WHvArm64RegisterX11 = 0x0002000B, + WHvArm64RegisterX12 = 0x0002000C, + WHvArm64RegisterX13 = 0x0002000D, + WHvArm64RegisterX14 = 0x0002000E, + WHvArm64RegisterX15 = 0x0002000F, + WHvArm64RegisterX16 = 0x00020010, + WHvArm64RegisterX17 = 0x00020011, + WHvArm64RegisterX18 = 0x00020012, + WHvArm64RegisterX19 = 0x00020013, + WHvArm64RegisterX20 = 0x00020014, + WHvArm64RegisterX21 = 0x00020015, + WHvArm64RegisterX22 = 0x00020016, + WHvArm64RegisterX23 = 0x00020017, + WHvArm64RegisterX24 = 0x00020018, + WHvArm64RegisterX25 = 0x00020019, + WHvArm64RegisterX26 = 0x0002001A, + WHvArm64RegisterX27 = 0x0002001B, + WHvArm64RegisterX28 = 0x0002001C, + WHvArm64RegisterFp = 0x0002001D, + WHvArm64RegisterLr = 0x0002001E, + WHvArm64RegisterPc = 0x00020022, + WHvArm64RegisterXzr = 0x0002FFFE, + WHvArm64RegisterQ0 = 0x00030000, + WHvArm64RegisterQ1 = 0x00030001, + WHvArm64RegisterQ2 = 0x00030002, + WHvArm64RegisterQ3 = 0x00030003, + WHvArm64RegisterQ4 = 0x00030004, + WHvArm64RegisterQ5 = 0x00030005, + WHvArm64RegisterQ6 = 0x00030006, + WHvArm64RegisterQ7 = 0x00030007, + WHvArm64RegisterQ8 = 0x00030008, + WHvArm64RegisterQ9 = 0x00030009, + WHvArm64RegisterQ10 = 0x0003000A, + WHvArm64RegisterQ11 = 0x0003000B, + WHvArm64RegisterQ12 = 0x0003000C, + WHvArm64RegisterQ13 = 0x0003000D, + WHvArm64RegisterQ14 = 0x0003000E, + WHvArm64RegisterQ15 = 0x0003000F, + WHvArm64RegisterQ16 = 0x00030010, + WHvArm64RegisterQ17 = 0x00030011, + WHvArm64RegisterQ18 = 0x00030012, + WHvArm64RegisterQ19 = 0x00030013, + WHvArm64RegisterQ20 = 0x00030014, + WHvArm64RegisterQ21 = 0x00030015, + WHvArm64RegisterQ22 = 0x00030016, + WHvArm64RegisterQ23 = 0x00030017, + WHvArm64RegisterQ24 = 0x00030018, + WHvArm64RegisterQ25 = 0x00030019, + WHvArm64RegisterQ26 = 0x0003001A, + WHvArm64RegisterQ27 = 0x0003001B, + WHvArm64RegisterQ28 = 0x0003001C, + 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, + WHvArm64RegisterIdAa64Dfr0El1 = 0x00022028, + WHvArm64RegisterIdAa64Dfr1El1 = 0x00022029, + WHvArm64RegisterIdAa64Isar0El1 = 0x00022030, + WHvArm64RegisterIdAa64Isar1El1 = 0x00022031, + WHvArm64RegisterIdAa64Isar2El1 = 0x00022032, + 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, + WHvArm64RegisterApdAKeyHiEl1 = 0x00040026, + WHvArm64RegisterApdAKeyLoEl1 = 0x00040027, + WHvArm64RegisterApdBKeyHiEl1 = 0x00040028, + WHvArm64RegisterApdBKeyLoEl1 = 0x00040029, + WHvArm64RegisterApgAKeyHiEl1 = 0x0004002A, + WHvArm64RegisterApgAKeyLoEl1 = 0x0004002B, + WHvArm64RegisterApiAKeyHiEl1 = 0x0004002C, + 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, + WHvArm64RegisterTpidrEl1 = 0x0004000E, + WHvArm64RegisterTpidrroEl0 = 0x00040010, + WHvArm64RegisterTtbr0El1 = 0x00040005, + WHvArm64RegisterTtbr1El1 = 0x00040006, + WHvArm64RegisterVbarEl1 = 0x0004000C, + WHvArm64RegisterDbgbcr0El1 = 0x00050000, + WHvArm64RegisterDbgbcr1El1 = 0x00050001, + WHvArm64RegisterDbgbcr2El1 = 0x00050002, + WHvArm64RegisterDbgbcr3El1 = 0x00050003, + WHvArm64RegisterDbgbcr4El1 = 0x00050004, + WHvArm64RegisterDbgbcr5El1 = 0x00050005, + WHvArm64RegisterDbgbcr6El1 = 0x00050006, + WHvArm64RegisterDbgbcr7El1 = 0x00050007, + WHvArm64RegisterDbgbcr8El1 = 0x00050008, + WHvArm64RegisterDbgbcr9El1 = 0x00050009, + WHvArm64RegisterDbgbcr10El1 = 0x0005000A, + WHvArm64RegisterDbgbcr11El1 = 0x0005000B, + WHvArm64RegisterDbgbcr12El1 = 0x0005000C, + WHvArm64RegisterDbgbcr13El1 = 0x0005000D, + WHvArm64RegisterDbgbcr14El1 = 0x0005000E, + WHvArm64RegisterDbgbcr15El1 = 0x0005000F, + WHvArm64RegisterDbgbvr0El1 = 0x00050020, + WHvArm64RegisterDbgbvr1El1 = 0x00050021, + WHvArm64RegisterDbgbvr2El1 = 0x00050022, + WHvArm64RegisterDbgbvr3El1 = 0x00050023, + WHvArm64RegisterDbgbvr4El1 = 0x00050024, + WHvArm64RegisterDbgbvr5El1 = 0x00050025, + WHvArm64RegisterDbgbvr6El1 = 0x00050026, + WHvArm64RegisterDbgbvr7El1 = 0x00050027, + WHvArm64RegisterDbgbvr8El1 = 0x00050028, + WHvArm64RegisterDbgbvr9El1 = 0x00050029, + WHvArm64RegisterDbgbvr10El1 = 0x0005002A, + WHvArm64RegisterDbgbvr11El1 = 0x0005002B, + WHvArm64RegisterDbgbvr12El1 = 0x0005002C, + WHvArm64RegisterDbgbvr13El1 = 0x0005002D, + WHvArm64RegisterDbgbvr14El1 = 0x0005002E, + WHvArm64RegisterDbgbvr15El1 = 0x0005002F, + WHvArm64RegisterDbgprcrEl1 = 0x00050045, + WHvArm64RegisterDbgwcr0El1 = 0x00050010, + WHvArm64RegisterDbgwcr1El1 = 0x00050011, + WHvArm64RegisterDbgwcr2El1 = 0x00050012, + WHvArm64RegisterDbgwcr3El1 = 0x00050013, + WHvArm64RegisterDbgwcr4El1 = 0x00050014, + WHvArm64RegisterDbgwcr5El1 = 0x00050015, + WHvArm64RegisterDbgwcr6El1 = 0x00050016, + WHvArm64RegisterDbgwcr7El1 = 0x00050017, + WHvArm64RegisterDbgwcr8El1 = 0x00050018, + WHvArm64RegisterDbgwcr9El1 = 0x00050019, + WHvArm64RegisterDbgwcr10El1 = 0x0005001A, + WHvArm64RegisterDbgwcr11El1 = 0x0005001B, + WHvArm64RegisterDbgwcr12El1 = 0x0005001C, + WHvArm64RegisterDbgwcr13El1 = 0x0005001D, + WHvArm64RegisterDbgwcr14El1 = 0x0005001E, + WHvArm64RegisterDbgwcr15El1 = 0x0005001F, + WHvArm64RegisterDbgwvr0El1 = 0x00050030, + WHvArm64RegisterDbgwvr1El1 = 0x00050031, + WHvArm64RegisterDbgwvr2El1 = 0x00050032, + WHvArm64RegisterDbgwvr3El1 = 0x00050033, + WHvArm64RegisterDbgwvr4El1 = 0x00050034, + WHvArm64RegisterDbgwvr5El1 = 0x00050035, + WHvArm64RegisterDbgwvr6El1 = 0x00050036, + WHvArm64RegisterDbgwvr7El1 = 0x00050037, + WHvArm64RegisterDbgwvr8El1 = 0x00050038, + WHvArm64RegisterDbgwvr9El1 = 0x00050039, + WHvArm64RegisterDbgwvr10El1 = 0x0005003A, + WHvArm64RegisterDbgwvr11El1 = 0x0005003B, + WHvArm64RegisterDbgwvr12El1 = 0x0005003C, + WHvArm64RegisterDbgwvr13El1 = 0x0005003D, + WHvArm64RegisterDbgwvr14El1 = 0x0005003E, + WHvArm64RegisterDbgwvr15El1 = 0x0005003F, + WHvArm64RegisterMdrarEl1 = 0x0005004C, + WHvArm64RegisterMdscrEl1 = 0x0005004D, + WHvArm64RegisterOsdlrEl1 = 0x0005004E, + WHvArm64RegisterOslarEl1 = 0x00050052, + WHvArm64RegisterOslsrEl1 = 0x00050053, + WHvArm64RegisterPmccfiltrEl0 = 0x00052000, + WHvArm64RegisterPmccntrEl0 = 0x00052001, + WHvArm64RegisterPmceid0El0 = 0x00052002, + WHvArm64RegisterPmceid1El0 = 0x00052003, + WHvArm64RegisterPmcntenclrEl0 = 0x00052004, + WHvArm64RegisterPmcntensetEl0 = 0x00052005, + WHvArm64RegisterPmcrEl0 = 0x00052006, + WHvArm64RegisterPmevcntr0El0 = 0x00052007, + WHvArm64RegisterPmevcntr1El0 = 0x00052008, + WHvArm64RegisterPmevcntr2El0 = 0x00052009, + WHvArm64RegisterPmevcntr3El0 = 0x0005200A, + WHvArm64RegisterPmevcntr4El0 = 0x0005200B, + WHvArm64RegisterPmevcntr5El0 = 0x0005200C, + WHvArm64RegisterPmevcntr6El0 = 0x0005200D, + WHvArm64RegisterPmevcntr7El0 = 0x0005200E, + WHvArm64RegisterPmevcntr8El0 = 0x0005200F, + WHvArm64RegisterPmevcntr9El0 = 0x00052010, + WHvArm64RegisterPmevcntr10El0 = 0x00052011, + WHvArm64RegisterPmevcntr11El0 = 0x00052012, + WHvArm64RegisterPmevcntr12El0 = 0x00052013, + WHvArm64RegisterPmevcntr13El0 = 0x00052014, + WHvArm64RegisterPmevcntr14El0 = 0x00052015, + WHvArm64RegisterPmevcntr15El0 = 0x00052016, + WHvArm64RegisterPmevcntr16El0 = 0x00052017, + WHvArm64RegisterPmevcntr17El0 = 0x00052018, + WHvArm64RegisterPmevcntr18El0 = 0x00052019, + WHvArm64RegisterPmevcntr19El0 = 0x0005201A, + WHvArm64RegisterPmevcntr20El0 = 0x0005201B, + WHvArm64RegisterPmevcntr21El0 = 0x0005201C, + WHvArm64RegisterPmevcntr22El0 = 0x0005201D, + WHvArm64RegisterPmevcntr23El0 = 0x0005201E, + WHvArm64RegisterPmevcntr24El0 = 0x0005201F, + WHvArm64RegisterPmevcntr25El0 = 0x00052020, + WHvArm64RegisterPmevcntr26El0 = 0x00052021, + WHvArm64RegisterPmevcntr27El0 = 0x00052022, + WHvArm64RegisterPmevcntr28El0 = 0x00052023, + WHvArm64RegisterPmevcntr29El0 = 0x00052024, + WHvArm64RegisterPmevcntr30El0 = 0x00052025, + WHvArm64RegisterPmevtyper0El0 = 0x00052026, + WHvArm64RegisterPmevtyper1El0 = 0x00052027, + WHvArm64RegisterPmevtyper2El0 = 0x00052028, + WHvArm64RegisterPmevtyper3El0 = 0x00052029, + WHvArm64RegisterPmevtyper4El0 = 0x0005202A, + WHvArm64RegisterPmevtyper5El0 = 0x0005202B, + WHvArm64RegisterPmevtyper6El0 = 0x0005202C, + WHvArm64RegisterPmevtyper7El0 = 0x0005202D, + WHvArm64RegisterPmevtyper8El0 = 0x0005202E, + WHvArm64RegisterPmevtyper9El0 = 0x0005202F, + WHvArm64RegisterPmevtyper10El0 = 0x00052030, + WHvArm64RegisterPmevtyper11El0 = 0x00052031, + WHvArm64RegisterPmevtyper12El0 = 0x00052032, + WHvArm64RegisterPmevtyper13El0 = 0x00052033, + WHvArm64RegisterPmevtyper14El0 = 0x00052034, + WHvArm64RegisterPmevtyper15El0 = 0x00052035, + WHvArm64RegisterPmevtyper16El0 = 0x00052036, + WHvArm64RegisterPmevtyper17El0 = 0x00052037, + WHvArm64RegisterPmevtyper18El0 = 0x00052038, + WHvArm64RegisterPmevtyper19El0 = 0x00052039, + WHvArm64RegisterPmevtyper20El0 = 0x0005203A, + WHvArm64RegisterPmevtyper21El0 = 0x0005203B, + WHvArm64RegisterPmevtyper22El0 = 0x0005203C, + WHvArm64RegisterPmevtyper23El0 = 0x0005203D, + WHvArm64RegisterPmevtyper24El0 = 0x0005203E, + WHvArm64RegisterPmevtyper25El0 = 0x0005203F, + WHvArm64RegisterPmevtyper26El0 = 0x00052040, + WHvArm64RegisterPmevtyper27El0 = 0x00052041, + WHvArm64RegisterPmevtyper28El0 = 0x00052042, + WHvArm64RegisterPmevtyper29El0 = 0x00052043, + WHvArm64RegisterPmevtyper30El0 = 0x00052044, + WHvArm64RegisterPmintenclrEl1 = 0x00052045, + WHvArm64RegisterPmintensetEl1 = 0x00052046, + 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, + WHvRegisterSint0 = 0x000A0000, + WHvRegisterSint1 = 0x000A0001, + WHvRegisterSint2 = 0x000A0002, + WHvRegisterSint3 = 0x000A0003, + WHvRegisterSint4 = 0x000A0004, + WHvRegisterSint5 = 0x000A0005, + WHvRegisterSint6 = 0x000A0006, + WHvRegisterSint7 = 0x000A0007, + WHvRegisterSint8 = 0x000A0008, + WHvRegisterSint9 = 0x000A0009, + WHvRegisterSint10 = 0x000A000A, + WHvRegisterSint11 = 0x000A000B, + WHvRegisterSint12 = 0x000A000C, + WHvRegisterSint13 = 0x000A000D, + WHvRegisterSint14 = 0x000A000E, + WHvRegisterSint15 = 0x000A000F, + WHvRegisterScontrol = 0x000A0010, + WHvRegisterSversion = 0x000A0011, + WHvRegisterSifp = 0x000A0012, + WHvRegisterSipp = 0x000A0013, + WHvRegisterEom = 0x000A0014, + WHvRegisterVpRuntime = 0x00090000, + WHvRegisterGuestOsId = 0x00090002, + WHvRegisterVpAssistPage = 0x00090013, + WHvArm64RegisterPartitionInfoPage = 0x00090015, + WHvRegisterReferenceTsc = 0x00090017, + WHvRegisterReferenceTscSequence = 0x0009001A, + WHvRegisterPendingEvent0 = 0x00010004, + WHvRegisterPendingEvent1 = 0x00010005, + WHvRegisterDeliverabilityNotifications = 0x00010006, + WHvRegisterInternalActivityState = 0x00000004, + WHvRegisterPendingEvent2 = 0x00010008, + WHvRegisterPendingEvent3 = 0x00010009 +} WHV_REGISTER_NAME; + +#define WHvRegisterSiefp WHvRegisterSifp +#define WHvRegisterSimp WHvRegisterSipp +#define WHvRegisterPendingEvent WHvRegisterPendingEvent0 + +#endif /* __x86_64__ || __aarch64__ */ + +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); + +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_FP_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 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) == 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); + +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) == sizeof(UINT64)); + +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) == sizeof(UINT64)); + +typedef struct WHV_SYNIC_SINT_DELIVERABLE_CONTEXT { + UINT16 DeliverableSints; + UINT16 Reserved1; + UINT32 Reserved2; +} WHV_SYNIC_SINT_DELIVERABLE_CONTEXT; + +C_ASSERT(sizeof(WHV_SYNIC_SINT_DELIVERABLE_CONTEXT) == 8); + +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_RUN_VP_EXIT_REASON { + WHvRunVpExitReasonNone = 0x00000000, + WHvRunVpExitReasonMemoryAccess = 0x00000001, + WHvRunVpExitReasonX64IoPortAccess = 0x00000002, + WHvRunVpExitReasonUnrecoverableException = 0x00000004, + WHvRunVpExitReasonInvalidVpRegisterValue = 0x00000005, + WHvRunVpExitReasonUnsupportedFeature = 0x00000006, + WHvRunVpExitReasonX64InterruptWindow = 0x00000007, + WHvRunVpExitReasonX64Halt = 0x00000008, + WHvRunVpExitReasonX64ApicEoi = 0x00000009, + WHvRunVpExitReasonSynicSintDeliverable = 0x0000000A, + WHvRunVpExitReasonX64MsrAccess = 0x00001000, + WHvRunVpExitReasonX64Cpuid = 0x00001001, + WHvRunVpExitReasonException = 0x00001002, + WHvRunVpExitReasonX64Rdtsc = 0x00001003, + WHvRunVpExitReasonX64ApicSmiTrap = 0x00001004, + WHvRunVpExitReasonHypercall = 0x00001005, + WHvRunVpExitReasonX64ApicInitSipiTrap = 0x00001006, + WHvRunVpExitReasonX64ApicWriteTrap = 0x00001007, + WHvRunVpExitReasonCanceled = 0x00002001 +} WHV_RUN_VP_EXIT_REASON; + +typedef union WHV_X64_VP_EXECUTION_STATE { + __C89_NAMELESS struct { + UINT16 Cpl : 2; + UINT16 Cr0Pe : 1; + UINT16 Cr0Am : 1; + UINT16 EferLma : 1; + UINT16 DebugActive : 1; + UINT16 InterruptionPending : 1; + UINT16 Reserved0 : 5; + UINT16 InterruptShadow : 1; + UINT16 Reserved1 : 3; + }; + UINT16 AsUINT16; +} WHV_X64_VP_EXECUTION_STATE; + +C_ASSERT(sizeof(WHV_X64_VP_EXECUTION_STATE) == sizeof(UINT16)); + +typedef struct WHV_VP_EXIT_CONTEXT { + WHV_X64_VP_EXECUTION_STATE ExecutionState; + UINT8 InstructionLength : 4; + UINT8 Cr8 : 4; + UINT8 Reserved; + UINT32 Reserved2; + WHV_X64_SEGMENT_REGISTER Cs; + UINT64 Rip; + UINT64 Rflags; +} WHV_VP_EXIT_CONTEXT; + +C_ASSERT(sizeof(WHV_VP_EXIT_CONTEXT) == 40); + +typedef union WHV_MEMORY_ACCESS_INFO { + __C89_NAMELESS struct { + UINT32 AccessType : 2; + UINT32 GpaUnmapped : 1; + UINT32 GvaValid : 1; + UINT32 Reserved : 28; + }; + UINT32 AsUINT32; +} WHV_MEMORY_ACCESS_INFO; + +C_ASSERT(sizeof(WHV_MEMORY_ACCESS_INFO) == 4); + +typedef struct WHV_MEMORY_ACCESS_CONTEXT { + UINT8 InstructionByteCount; + UINT8 Reserved[3]; + UINT8 InstructionBytes[16]; + WHV_MEMORY_ACCESS_INFO AccessInfo; + WHV_GUEST_PHYSICAL_ADDRESS Gpa; + WHV_GUEST_VIRTUAL_ADDRESS Gva; +} WHV_MEMORY_ACCESS_CONTEXT; + +C_ASSERT(sizeof(WHV_MEMORY_ACCESS_CONTEXT) == 40); + +typedef union WHV_X64_IO_PORT_ACCESS_INFO { + __C89_NAMELESS struct { + UINT32 IsWrite : 1; + UINT32 AccessSize: 3; + UINT32 StringOp : 1; + UINT32 RepPrefix : 1; + UINT32 Reserved : 26; + }; + UINT32 AsUINT32; +} WHV_X64_IO_PORT_ACCESS_INFO; + +C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_INFO) == sizeof(UINT32)); + +typedef struct WHV_X64_IO_PORT_ACCESS_CONTEXT { + UINT8 InstructionByteCount; + UINT8 Reserved[3]; + UINT8 InstructionBytes[16]; + WHV_X64_IO_PORT_ACCESS_INFO AccessInfo; + UINT16 PortNumber; + UINT16 Reserved2[3]; + UINT64 Rax; + UINT64 Rcx; + UINT64 Rsi; + UINT64 Rdi; + WHV_X64_SEGMENT_REGISTER Ds; + WHV_X64_SEGMENT_REGISTER Es; +} WHV_X64_IO_PORT_ACCESS_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_IO_PORT_ACCESS_CONTEXT) == 96); + +typedef union WHV_X64_MSR_ACCESS_INFO { + __C89_NAMELESS struct { + UINT32 IsWrite : 1; + UINT32 Reserved : 31; + }; + UINT32 AsUINT32; +} WHV_X64_MSR_ACCESS_INFO; + +C_ASSERT(sizeof(WHV_X64_MSR_ACCESS_INFO) == sizeof(UINT32)); + +typedef struct WHV_X64_MSR_ACCESS_CONTEXT { + WHV_X64_MSR_ACCESS_INFO AccessInfo; + UINT32 MsrNumber; + UINT64 Rax; + UINT64 Rdx; +} WHV_X64_MSR_ACCESS_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_MSR_ACCESS_CONTEXT) == 24); + +typedef struct WHV_X64_CPUID_ACCESS_CONTEXT { + UINT64 Rax; + UINT64 Rcx; + UINT64 Rdx; + UINT64 Rbx; + UINT64 DefaultResultRax; + UINT64 DefaultResultRcx; + UINT64 DefaultResultRdx; + UINT64 DefaultResultRbx; +} WHV_X64_CPUID_ACCESS_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_CPUID_ACCESS_CONTEXT) == 64); + +typedef union WHV_VP_EXCEPTION_INFO { + __C89_NAMELESS struct { + UINT32 ErrorCodeValid : 1; + UINT32 SoftwareException : 1; + UINT32 Reserved : 30; + }; + UINT32 AsUINT32; +} WHV_VP_EXCEPTION_INFO; + +C_ASSERT(sizeof(WHV_VP_EXCEPTION_INFO) == sizeof(UINT32)); + +typedef struct WHV_VP_EXCEPTION_CONTEXT { + UINT8 InstructionByteCount; + UINT8 Reserved[3]; + UINT8 InstructionBytes[16]; + WHV_VP_EXCEPTION_INFO ExceptionInfo; + UINT8 ExceptionType; + UINT8 Reserved2[3]; + UINT32 ErrorCode; + UINT64 ExceptionParameter; +} WHV_VP_EXCEPTION_CONTEXT; + +C_ASSERT(sizeof(WHV_VP_EXCEPTION_CONTEXT) == 40); + +typedef enum WHV_X64_UNSUPPORTED_FEATURE_CODE { + WHvUnsupportedFeatureIntercept = 1, + WHvUnsupportedFeatureTaskSwitchTss = 2 +} WHV_X64_UNSUPPORTED_FEATURE_CODE; + +typedef struct WHV_X64_UNSUPPORTED_FEATURE_CONTEXT { + WHV_X64_UNSUPPORTED_FEATURE_CODE FeatureCode; + UINT32 Reserved; + UINT64 FeatureParameter; +} WHV_X64_UNSUPPORTED_FEATURE_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_UNSUPPORTED_FEATURE_CONTEXT) == 16); + +typedef enum WHV_RUN_VP_CANCEL_REASON { + WhvRunVpCancelReasonUser = 0 +} WHV_RUN_VP_CANCEL_REASON; + +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); + +typedef enum WHV_X64_PENDING_INTERRUPTION_TYPE { + WHvX64PendingInterrupt = 0, + WHvX64PendingNmi = 2, + WHvX64PendingException = 3 +} WHV_X64_PENDING_INTERRUPTION_TYPE, *PWHV_X64_PENDING_INTERRUPTION_TYPE; + +typedef struct WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT { + WHV_X64_PENDING_INTERRUPTION_TYPE DeliverableType; +} WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT, *PWHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_INTERRUPTION_DELIVERABLE_CONTEXT) == 4); + +typedef struct WHV_X64_APIC_EOI_CONTEXT { + UINT32 InterruptVector; +} WHV_X64_APIC_EOI_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_APIC_EOI_CONTEXT) == 4); + +typedef union WHV_X64_RDTSC_INFO { + __C89_NAMELESS struct { + UINT64 IsRdtscp : 1; + UINT64 Reserved : 63; + }; + UINT64 AsUINT64; +} WHV_X64_RDTSC_INFO; + +C_ASSERT(sizeof(WHV_X64_RDTSC_INFO) == 8); + +typedef struct WHV_X64_RDTSC_CONTEXT { + UINT64 TscAux; + UINT64 VirtualOffset; + UINT64 Tsc; + UINT64 ReferenceTime; + WHV_X64_RDTSC_INFO RdtscInfo; +} WHV_X64_RDTSC_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_RDTSC_CONTEXT) == 40); + +typedef struct WHV_X64_APIC_SMI_CONTEXT { + UINT64 ApicIcr; +} WHV_X64_APIC_SMI_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_APIC_SMI_CONTEXT) == 8); + +#define WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS 6 + +typedef struct _WHV_HYPERCALL_CONTEXT { + UINT64 Rax; + UINT64 Rbx; + UINT64 Rcx; + UINT64 Rdx; + UINT64 R8; + UINT64 Rsi; + UINT64 Rdi; + UINT64 Reserved0; + WHV_UINT128 XmmRegisters[WHV_HYPERCALL_CONTEXT_MAX_XMM_REGISTERS]; + UINT64 Reserved1[2]; +} WHV_HYPERCALL_CONTEXT, *PWHV_HYPERCALL_CONTEXT; + +C_ASSERT(sizeof(WHV_HYPERCALL_CONTEXT) == 176); + +typedef struct WHV_X64_APIC_INIT_SIPI_CONTEXT { + UINT64 ApicIcr; +} WHV_X64_APIC_INIT_SIPI_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_APIC_INIT_SIPI_CONTEXT) == 8); + +typedef enum WHV_X64_APIC_WRITE_TYPE { + WHvX64ApicWriteTypeLdr = 0xD0, + WHvX64ApicWriteTypeDfr = 0xE0, + WHvX64ApicWriteTypeSvr = 0xF0, + WHvX64ApicWriteTypeLint0 = 0x350, + WHvX64ApicWriteTypeLint1 = 0x360 +} WHV_X64_APIC_WRITE_TYPE; + +typedef struct WHV_X64_APIC_WRITE_CONTEXT { + WHV_X64_APIC_WRITE_TYPE Type; + UINT32 Reserved; + UINT64 WriteValue; +} WHV_X64_APIC_WRITE_CONTEXT; + +C_ASSERT(sizeof(WHV_X64_APIC_WRITE_CONTEXT) == 16); + +typedef struct WHV_RUN_VP_EXIT_CONTEXT { + WHV_RUN_VP_EXIT_REASON ExitReason; + UINT32 Reserved; + WHV_VP_EXIT_CONTEXT VpContext; + __C89_NAMELESS union { + WHV_MEMORY_ACCESS_CONTEXT MemoryAccess; + 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; + }; +} WHV_RUN_VP_EXIT_CONTEXT; + +C_ASSERT(sizeof(WHV_RUN_VP_EXIT_CONTEXT) == 224); + +typedef enum WHV_INTERRUPT_TYPE { + WHvX64InterruptTypeFixed = 0, + WHvX64InterruptTypeLowestPriority = 1, + WHvX64InterruptTypeNmi = 4, + WHvX64InterruptTypeInit = 5, + WHvX64InterruptTypeSipi = 6, + WHvX64InterruptTypeLocalInt1 = 9 +} WHV_INTERRUPT_TYPE; + +typedef enum WHV_INTERRUPT_DESTINATION_MODE { + WHvX64InterruptDestinationModePhysical, + WHvX64InterruptDestinationModeLogical +} WHV_INTERRUPT_DESTINATION_MODE; + +typedef enum WHV_INTERRUPT_TRIGGER_MODE { + WHvX64InterruptTriggerModeEdge, + WHvX64InterruptTriggerModeLevel +} WHV_INTERRUPT_TRIGGER_MODE; + +typedef struct WHV_INTERRUPT_CONTROL { + UINT64 Type : 8; + UINT64 DestinationMode : 4; + UINT64 TriggerMode : 4; + UINT64 Reserved : 48; + UINT32 Destination; + UINT32 Vector; +} WHV_INTERRUPT_CONTROL; + +C_ASSERT(sizeof(WHV_INTERRUPT_CONTROL) == 16); + +typedef struct WHV_DOORBELL_MATCH_DATA { + WHV_GUEST_PHYSICAL_ADDRESS GuestAddress; + UINT64 Value; + UINT32 Length; + UINT32 MatchOnValue : 1; + UINT32 MatchOnLength : 1; + UINT32 Reserved : 30; +} WHV_DOORBELL_MATCH_DATA; + +C_ASSERT(sizeof(WHV_DOORBELL_MATCH_DATA) == 24); + +typedef enum WHV_PARTITION_COUNTER_SET { + WHvPartitionCounterSetMemory +} WHV_PARTITION_COUNTER_SET; + +typedef struct WHV_PARTITION_MEMORY_COUNTERS { + UINT64 Mapped4KPageCount; + UINT64 Mapped2MPageCount; + UINT64 Mapped1GPageCount; +} WHV_PARTITION_MEMORY_COUNTERS; + +C_ASSERT(sizeof(WHV_PARTITION_MEMORY_COUNTERS) == 24); + +typedef enum WHV_PROCESSOR_COUNTER_SET { + WHvProcessorCounterSetRuntime, + WHvProcessorCounterSetIntercepts, + WHvProcessorCounterSetEvents, + WHvProcessorCounterSetApic, + WHvProcessorCounterSetSyntheticFeatures +} WHV_PROCESSOR_COUNTER_SET; + +typedef struct WHV_PROCESSOR_RUNTIME_COUNTERS { + UINT64 TotalRuntime100ns; + UINT64 HypervisorRuntime100ns; +} WHV_PROCESSOR_RUNTIME_COUNTERS; + +C_ASSERT(sizeof(WHV_PROCESSOR_RUNTIME_COUNTERS) == 16); + +typedef struct WHV_PROCESSOR_INTERCEPT_COUNTER { + UINT64 Count; + UINT64 Time100ns; +} WHV_PROCESSOR_INTERCEPT_COUNTER; + +C_ASSERT(sizeof(WHV_PROCESSOR_INTERCEPT_COUNTER) == 16); + +typedef struct WHV_PROCESSOR_INTERCEPT_COUNTERS { + WHV_PROCESSOR_INTERCEPT_COUNTER PageInvalidations; + WHV_PROCESSOR_INTERCEPT_COUNTER ControlRegisterAccesses; + WHV_PROCESSOR_INTERCEPT_COUNTER IoInstructions; + WHV_PROCESSOR_INTERCEPT_COUNTER HaltInstructions; + WHV_PROCESSOR_INTERCEPT_COUNTER CpuidInstructions; + WHV_PROCESSOR_INTERCEPT_COUNTER MsrAccesses; + WHV_PROCESSOR_INTERCEPT_COUNTER OtherIntercepts; + WHV_PROCESSOR_INTERCEPT_COUNTER PendingInterrupts; + WHV_PROCESSOR_INTERCEPT_COUNTER EmulatedInstructions; + WHV_PROCESSOR_INTERCEPT_COUNTER DebugRegisterAccesses; + WHV_PROCESSOR_INTERCEPT_COUNTER PageFaultIntercepts; + WHV_PROCESSOR_INTERCEPT_COUNTER NestedPageFaultIntercepts; + WHV_PROCESSOR_INTERCEPT_COUNTER Hypercalls; + WHV_PROCESSOR_INTERCEPT_COUNTER RdpmcInstructions; +} WHV_PROCESSOR_ACTIVITY_COUNTERS; + +C_ASSERT(sizeof(WHV_PROCESSOR_ACTIVITY_COUNTERS) == 224); + +typedef struct WHV_PROCESSOR_EVENT_COUNTERS { + UINT64 PageFaultCount; + UINT64 ExceptionCount; + UINT64 InterruptCount; +} WHV_PROCESSOR_GUEST_EVENT_COUNTERS; + +C_ASSERT(sizeof(WHV_PROCESSOR_GUEST_EVENT_COUNTERS) == 24); + +typedef struct WHV_PROCESSOR_APIC_COUNTERS { + UINT64 MmioAccessCount; + UINT64 EoiAccessCount; + UINT64 TprAccessCount; + UINT64 SentIpiCount; + UINT64 SelfIpiCount; +} WHV_PROCESSOR_APIC_COUNTERS; + +C_ASSERT(sizeof(WHV_PROCESSOR_APIC_COUNTERS) == 40); + +typedef struct WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS { + UINT64 SyntheticInterruptsCount; + UINT64 LongSpinWaitHypercallsCount; + UINT64 OtherHypercallsCount; + UINT64 SyntheticInterruptHypercallsCount; + UINT64 VirtualInterruptHypercallsCount; + UINT64 VirtualMmuHypercallsCount; +} WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS; + +C_ASSERT(sizeof(WHV_PROCESSOR_SYNTHETIC_FEATURES_COUNTERS) == 48); + +typedef enum WHV_ADVISE_GPA_RANGE_CODE { + WHvAdviseGpaRangeCodePopulate = 0x00000000, + WHvAdviseGpaRangeCodePin = 0x00000001, + WHvAdviseGpaRangeCodeUnpin = 0x00000002 +} WHV_ADVISE_GPA_RANGE_CODE; + +typedef enum WHV_VIRTUAL_PROCESSOR_STATE_TYPE { + WHvVirtualProcessorStateTypeSynicMessagePage = 0x00000000, + WHvVirtualProcessorStateTypeSynicEventFlagPage = 0x00000001, + WHvVirtualProcessorStateTypeSynicTimerState = 0x00000002, + WHvVirtualProcessorStateTypeInterruptControllerState2 = 0x00001000, + WHvVirtualProcessorStateTypeXsaveState = 0x00001001 +} WHV_VIRTUAL_PROCESSOR_STATE_TYPE; + +typedef struct WHV_SYNIC_EVENT_PARAMETERS { + UINT32 VpIndex; + UINT8 TargetSint; + UINT8 Reserved; + UINT16 FlagNumber; +} WHV_SYNIC_EVENT_PARAMETERS; + +C_ASSERT(sizeof(WHV_SYNIC_EVENT_PARAMETERS) == 8); + +typedef enum WHV_ALLOCATE_VPCI_RESOURCE_FLAGS { + WHvAllocateVpciResourceFlagNone = 0x00000000, + WHvAllocateVpciResourceFlagAllowDirectP2P = 0x00000001 +} WHV_ALLOCATE_VPCI_RESOURCE_FLAGS; + +DEFINE_ENUM_FLAG_OPERATORS(WHV_ALLOCATE_VPCI_RESOURCE_FLAGS); + +#define WHV_MAX_DEVICE_ID_SIZE_IN_CHARS 200 + +typedef struct WHV_SRIOV_RESOURCE_DESCRIPTOR { + WCHAR PnpInstanceId[WHV_MAX_DEVICE_ID_SIZE_IN_CHARS]; + LUID VirtualFunctionId; + UINT16 VirtualFunctionIndex; + UINT16 Reserved; +} WHV_SRIOV_RESOURCE_DESCRIPTOR; + +C_ASSERT(sizeof(WHV_SRIOV_RESOURCE_DESCRIPTOR) == 412); + +typedef enum WHV_VPCI_DEVICE_NOTIFICATION_TYPE { + WHvVpciDeviceNotificationUndefined = 0, + WHvVpciDeviceNotificationMmioRemapping = 1, + WHvVpciDeviceNotificationSurpriseRemoval = 2 +} WHV_VPCI_DEVICE_NOTIFICATION_TYPE; + +typedef struct WHV_VPCI_DEVICE_NOTIFICATION { + WHV_VPCI_DEVICE_NOTIFICATION_TYPE NotificationType; + UINT32 Reserved1; + __C89_NAMELESS union { + UINT64 Reserved2; + }; +} WHV_VPCI_DEVICE_NOTIFICATION; + +C_ASSERT(sizeof(WHV_VPCI_DEVICE_NOTIFICATION) == 16); + +typedef enum WHV_CREATE_VPCI_DEVICE_FLAGS { + WHvCreateVpciDeviceFlagNone = 0x00000000, + WHvCreateVpciDeviceFlagPhysicallyBacked = 0x00000001, + WHvCreateVpciDeviceFlagUseLogicalInterrupts = 0x00000002 +} WHV_CREATE_VPCI_DEVICE_FLAGS; + +DEFINE_ENUM_FLAG_OPERATORS(WHV_CREATE_VPCI_DEVICE_FLAGS); + +typedef enum WHV_VPCI_DEVICE_PROPERTY_CODE { + WHvVpciDevicePropertyCodeUndefined = 0, + WHvVpciDevicePropertyCodeHardwareIDs = 1, + WHvVpciDevicePropertyCodeProbedBARs = 2 +} WHV_VPCI_DEVICE_PROPERTY_CODE; + +typedef struct WHV_VPCI_HARDWARE_IDS { + UINT16 VendorID; + UINT16 DeviceID; + UINT8 RevisionID; + UINT8 ProgIf; + UINT8 SubClass; + UINT8 BaseClass; + UINT16 SubVendorID; + UINT16 SubSystemID; +} WHV_VPCI_HARDWARE_IDS; + +C_ASSERT(sizeof(WHV_VPCI_HARDWARE_IDS) == 12); + +#define WHV_VPCI_TYPE0_BAR_COUNT 6 + +typedef struct WHV_VPCI_PROBED_BARS { + UINT32 Value[WHV_VPCI_TYPE0_BAR_COUNT]; +} WHV_VPCI_PROBED_BARS; + +C_ASSERT(sizeof(WHV_VPCI_PROBED_BARS) == 24); + +typedef enum WHV_VPCI_MMIO_RANGE_FLAGS { + WHvVpciMmioRangeFlagReadAccess = 0x00000001, + WHvVpciMmioRangeFlagWriteAccess = 0x00000002 +} WHV_VPCI_MMIO_RANGE_FLAGS; + +DEFINE_ENUM_FLAG_OPERATORS(WHV_VPCI_MMIO_RANGE_FLAGS); + +typedef enum WHV_VPCI_DEVICE_REGISTER_SPACE { + WHvVpciConfigSpace = -1, + WHvVpciBar0 = 0, + WHvVpciBar1 = 1, + WHvVpciBar2 = 2, + WHvVpciBar3 = 3, + WHvVpciBar4 = 4, + WHvVpciBar5 = 5 +} WHV_VPCI_DEVICE_REGISTER_SPACE; + +typedef struct WHV_VPCI_MMIO_MAPPING { + WHV_VPCI_DEVICE_REGISTER_SPACE Location; + WHV_VPCI_MMIO_RANGE_FLAGS Flags; + UINT64 SizeInBytes; + UINT64 OffsetInBytes; + PVOID VirtualAddress; +} WHV_VPCI_MMIO_MAPPING; + +C_ASSERT(sizeof(WHV_VPCI_MMIO_MAPPING) == 32); + +typedef struct WHV_VPCI_DEVICE_REGISTER { + WHV_VPCI_DEVICE_REGISTER_SPACE Location; + UINT32 SizeInBytes; + UINT64 OffsetInBytes; +} WHV_VPCI_DEVICE_REGISTER; + +C_ASSERT(sizeof(WHV_VPCI_DEVICE_REGISTER) == 16); + +typedef enum WHV_VPCI_INTERRUPT_TARGET_FLAGS { + WHvVpciInterruptTargetFlagNone = 0x00000000, + WHvVpciInterruptTargetFlagMulticast = 0x00000001 +} WHV_VPCI_INTERRUPT_TARGET_FLAGS; + +DEFINE_ENUM_FLAG_OPERATORS(WHV_VPCI_INTERRUPT_TARGET_FLAGS); + +typedef struct WHV_VPCI_INTERRUPT_TARGET { + UINT32 Vector; + WHV_VPCI_INTERRUPT_TARGET_FLAGS Flags; + UINT32 ProcessorCount; + UINT32 Processors[ANYSIZE_ARRAY]; +} WHV_VPCI_INTERRUPT_TARGET; + +C_ASSERT(sizeof(WHV_VPCI_INTERRUPT_TARGET) == 16); + +typedef enum WHV_TRIGGER_TYPE { + WHvTriggerTypeInterrupt = 0, + WHvTriggerTypeSynicEvent = 1, + WHvTriggerTypeDeviceInterrupt = 2 +} WHV_TRIGGER_TYPE; + +typedef struct WHV_TRIGGER_PARAMETERS { + WHV_TRIGGER_TYPE TriggerType; + UINT32 Reserved; + __C89_NAMELESS union { + WHV_INTERRUPT_CONTROL Interrupt; + WHV_SYNIC_EVENT_PARAMETERS SynicEvent; + __C89_NAMELESS struct { + UINT64 LogicalDeviceId; + UINT64 MsiAddress; + UINT32 MsiData; + UINT32 Reserved; + } DeviceInterrupt; + }; +} WHV_TRIGGER_PARAMETERS; + +C_ASSERT(sizeof(WHV_TRIGGER_PARAMETERS) == 32); + +typedef PVOID WHV_TRIGGER_HANDLE; + +typedef enum WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE { + WHvVirtualProcessorPropertyCodeNumaNode = 0x00000000 +} WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE; + +typedef struct WHV_VIRTUAL_PROCESSOR_PROPERTY { + WHV_VIRTUAL_PROCESSOR_PROPERTY_CODE PropertyCode; + UINT32 Reserved; + __C89_NAMELESS union { + USHORT NumaNode; + UINT64 Padding; + }; +} WHV_VIRTUAL_PROCESSOR_PROPERTY; + +C_ASSERT(sizeof(WHV_VIRTUAL_PROCESSOR_PROPERTY) == 16); + +typedef enum WHV_NOTIFICATION_PORT_TYPE { + WHvNotificationPortTypeEvent = 2, + WHvNotificationPortTypeDoorbell = 4 +} WHV_NOTIFICATION_PORT_TYPE; + +typedef struct WHV_NOTIFICATION_PORT_PARAMETERS { + WHV_NOTIFICATION_PORT_TYPE NotificationPortType; + UINT32 Reserved; + __C89_NAMELESS union { + WHV_DOORBELL_MATCH_DATA Doorbell; + __C89_NAMELESS struct { + UINT32 ConnectionId; + } Event; + }; +} WHV_NOTIFICATION_PORT_PARAMETERS; + +C_ASSERT(sizeof(WHV_NOTIFICATION_PORT_PARAMETERS) == 32); + +typedef enum WHV_NOTIFICATION_PORT_PROPERTY_CODE { + WHvNotificationPortPropertyPreferredTargetVp = 1, + WHvNotificationPortPropertyPreferredTargetDuration = 5 +} WHV_NOTIFICATION_PORT_PROPERTY_CODE; + +typedef UINT64 WHV_NOTIFICATION_PORT_PROPERTY; + +#define WHV_ANY_VP (0xFFFFFFFF) + +#define WHV_NOTIFICATION_PORT_PREFERRED_DURATION_MAX (0xFFFFFFFFFFFFFFFFULL) + +typedef PVOID WHV_NOTIFICATION_PORT_HANDLE; + +#define WHV_SYNIC_MESSAGE_SIZE 256 + +#endif /* _WINHVAPIDEFS_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wininet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wininet.h new file mode 100644 index 00000000..61c3a11b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wininet.h @@ -0,0 +1,1729 @@ +/** + * 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 _WININET_ +#define _WININET_ + +#include <_mingw_unicode.h> +#include + +#ifdef _WIN64 +#include +#else +#include +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#define INTERNETAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI +#define INTERNETAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI +#define URLCACHEAPI EXTERN_C DECLSPEC_IMPORT HRESULT WINAPI +#define URLCACHEAPI_(type) EXTERN_C DECLSPEC_IMPORT type WINAPI + +#define BOOLAPI INTERNETAPI_(WINBOOL) + + typedef LPVOID HINTERNET; + typedef HINTERNET *LPHINTERNET; + + typedef WORD INTERNET_PORT; + typedef INTERNET_PORT *LPINTERNET_PORT; + +#define INTERNET_INVALID_PORT_NUMBER 0 + +#define INTERNET_DEFAULT_FTP_PORT 21 +#define INTERNET_DEFAULT_GOPHER_PORT 70 +#define INTERNET_DEFAULT_HTTP_PORT 80 +#define INTERNET_DEFAULT_HTTPS_PORT 443 +#define INTERNET_DEFAULT_SOCKS_PORT 1080 + +#define INTERNET_MAX_HOST_NAME_LENGTH 256 +#define INTERNET_MAX_USER_NAME_LENGTH 128 +#define INTERNET_MAX_PASSWORD_LENGTH 128 +#define INTERNET_MAX_PORT_NUMBER_LENGTH 5 +#define INTERNET_MAX_PORT_NUMBER_VALUE 65535 +#define INTERNET_MAX_PATH_LENGTH 2048 +#define INTERNET_MAX_SCHEME_LENGTH 32 +#define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH + sizeof("://") + INTERNET_MAX_PATH_LENGTH) + +#define INTERNET_KEEP_ALIVE_UNKNOWN ((DWORD)-1) +#define INTERNET_KEEP_ALIVE_ENABLED 1 +#define INTERNET_KEEP_ALIVE_DISABLED 0 + +#define INTERNET_REQFLAG_FROM_CACHE 0x00000001 +#define INTERNET_REQFLAG_ASYNC 0x00000002 +#define INTERNET_REQFLAG_VIA_PROXY 0x00000004 +#define INTERNET_REQFLAG_NO_HEADERS 0x00000008 +#define INTERNET_REQFLAG_PASSIVE 0x00000010 +#define INTERNET_REQFLAG_CACHE_WRITE_DISABLED 0x00000040 +#define INTERNET_REQFLAG_NET_TIMEOUT 0x00000080 + +#define INTERNET_FLAG_IDN_DIRECT 0x00000001 +#define INTERNET_FLAG_IDN_PROXY 0x00000002 + +#define INTERNET_FLAG_RELOAD 0x80000000 + +#define INTERNET_FLAG_RAW_DATA 0x40000000 +#define INTERNET_FLAG_EXISTING_CONNECT 0x20000000 + +#define INTERNET_FLAG_ASYNC 0x10000000 + +#define INTERNET_FLAG_PASSIVE 0x08000000 + +#define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000 +#define INTERNET_FLAG_DONT_CACHE INTERNET_FLAG_NO_CACHE_WRITE +#define INTERNET_FLAG_MAKE_PERSISTENT 0x02000000 +#define INTERNET_FLAG_FROM_CACHE 0x01000000 +#define INTERNET_FLAG_OFFLINE INTERNET_FLAG_FROM_CACHE + +#define INTERNET_FLAG_SECURE 0x00800000 +#define INTERNET_FLAG_KEEP_CONNECTION 0x00400000 +#define INTERNET_FLAG_NO_AUTO_REDIRECT 0x00200000 +#define INTERNET_FLAG_READ_PREFETCH 0x00100000 +#define INTERNET_FLAG_NO_COOKIES 0x00080000 +#define INTERNET_FLAG_NO_AUTH 0x00040000 +#define INTERNET_FLAG_RESTRICTED_ZONE 0x00020000 +#define INTERNET_FLAG_CACHE_IF_NET_FAIL 0x00010000 + +#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP 0x00008000 +#define INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS 0x00004000 +#define INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 +#define INTERNET_FLAG_IGNORE_CERT_CN_INVALID 0x00001000 + +#define INTERNET_FLAG_RESYNCHRONIZE 0x00000800 +#define INTERNET_FLAG_HYPERLINK 0x00000400 +#define INTERNET_FLAG_NO_UI 0x00000200 +#define INTERNET_FLAG_PRAGMA_NOCACHE 0x00000100 +#define INTERNET_FLAG_CACHE_ASYNC 0x00000080 +#define INTERNET_FLAG_FORMS_SUBMIT 0x00000040 +#define INTERNET_FLAG_FWD_BACK 0x00000020 +#define INTERNET_FLAG_NEED_FILE 0x00000010 +#define INTERNET_FLAG_MUST_CACHE_REQUEST INTERNET_FLAG_NEED_FILE + +#define INTERNET_FLAG_TRANSFER_ASCII FTP_TRANSFER_TYPE_ASCII +#define INTERNET_FLAG_TRANSFER_BINARY FTP_TRANSFER_TYPE_BINARY + +#define SECURITY_INTERNET_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP) +#define SECURITY_IGNORE_ERROR_MASK (INTERNET_FLAG_IGNORE_CERT_CN_INVALID | INTERNET_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_WEAK_SIGNATURE) +#define INTERNET_FLAGS_MASK (INTERNET_FLAG_RELOAD | INTERNET_FLAG_RAW_DATA | INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_ASYNC | INTERNET_FLAG_PASSIVE | INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_MAKE_PERSISTENT | INTERNET_FLAG_FROM_CACHE | INTERNET_FLAG_SECURE | INTERNET_FLAG_KEEP_CONNECTION | INTERNET_FLAG_NO_AUTO_REDIRECT | INTERNET_FLAG_READ_PREFETCH | INTERNET_FLAG_NO_COOKIES | INTERNET_FLAG_NO_AUTH | INTERNET_FLAG_CACHE_IF_NET_FAIL | SECURITY_INTERNET_MASK | INTERNET_FLAG_RESYNCHRONIZE | INTERNET_FLAG_HYPERLINK | INTERNET_FLAG_NO_UI | INTERNET_FLAG_PRAGMA_NOCACHE | INTERNET_FLAG_CACHE_ASYNC | INTERNET_FLAG_FORMS_SUBMIT | INTERNET_FLAG_NEED_FILE | INTERNET_FLAG_RESTRICTED_ZONE | INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_TRANSFER_ASCII | INTERNET_FLAG_FWD_BACK | INTERNET_FLAG_BGUPDATE) + +#define INTERNET_ERROR_MASK_INSERT_CDROM 0x1 +#define INTERNET_ERROR_MASK_COMBINED_SEC_CERT 0x2 +#define INTERNET_ERROR_MASK_NEED_MSN_SSPI_PKG 0X4 +#define INTERNET_ERROR_MASK_LOGIN_FAILURE_DISPLAY_ENTITY_BODY 0x8 + +#define INTERNET_OPTIONS_MASK (~INTERNET_FLAGS_MASK) + +#define WININET_API_FLAG_ASYNC 0x00000001 +#define WININET_API_FLAG_SYNC 0x00000004 +#define WININET_API_FLAG_USE_CONTEXT 0x00000008 + +#define INTERNET_NO_CALLBACK 0 + + typedef enum { + INTERNET_SCHEME_PARTIAL = -2,INTERNET_SCHEME_UNKNOWN = -1,INTERNET_SCHEME_DEFAULT = 0,INTERNET_SCHEME_FTP,INTERNET_SCHEME_GOPHER, + INTERNET_SCHEME_HTTP,INTERNET_SCHEME_HTTPS,INTERNET_SCHEME_FILE,INTERNET_SCHEME_NEWS,INTERNET_SCHEME_MAILTO,INTERNET_SCHEME_SOCKS, + INTERNET_SCHEME_JAVASCRIPT,INTERNET_SCHEME_VBSCRIPT,INTERNET_SCHEME_RES,INTERNET_SCHEME_FIRST = INTERNET_SCHEME_FTP, + INTERNET_SCHEME_LAST = INTERNET_SCHEME_RES + } INTERNET_SCHEME,*LPINTERNET_SCHEME; + + typedef struct { + DWORD_PTR dwResult; + DWORD dwError; + } INTERNET_ASYNC_RESULT,*LPINTERNET_ASYNC_RESULT; + + typedef struct { + DWORD_PTR Socket; + DWORD SourcePort; + DWORD DestPort; + DWORD Flags; + } INTERNET_DIAGNOSTIC_SOCKET_INFO,*LPINTERNET_DIAGNOSTIC_SOCKET_INFO; + +#define IDSI_FLAG_KEEP_ALIVE 0x00000001 +#define IDSI_FLAG_SECURE 0x00000002 +#define IDSI_FLAG_PROXY 0x00000004 +#define IDSI_FLAG_TUNNEL 0x00000008 + + typedef struct { + DWORD dwAccessType; + LPCTSTR lpszProxy; + LPCTSTR lpszProxyBypass; + } INTERNET_PROXY_INFO,*LPINTERNET_PROXY_INFO; + + typedef struct { + DWORD dwOption; + union { + DWORD dwValue; + LPSTR pszValue; + FILETIME ftValue; + } Value; + } INTERNET_PER_CONN_OPTIONA,*LPINTERNET_PER_CONN_OPTIONA; + + typedef struct { + DWORD dwOption; + union { + DWORD dwValue; + LPWSTR pszValue; + FILETIME ftValue; + } Value; + } INTERNET_PER_CONN_OPTIONW,*LPINTERNET_PER_CONN_OPTIONW; + + __MINGW_TYPEDEF_AW(INTERNET_PER_CONN_OPTION) + __MINGW_TYPEDEF_AW(LPINTERNET_PER_CONN_OPTION) + + typedef struct { + DWORD dwSize; + LPSTR pszConnection; + DWORD dwOptionCount; + DWORD dwOptionError; + LPINTERNET_PER_CONN_OPTIONA pOptions; + } INTERNET_PER_CONN_OPTION_LISTA,*LPINTERNET_PER_CONN_OPTION_LISTA; + + typedef struct { + DWORD dwSize; + LPWSTR pszConnection; + DWORD dwOptionCount; + DWORD dwOptionError; + LPINTERNET_PER_CONN_OPTIONW pOptions; + } INTERNET_PER_CONN_OPTION_LISTW,*LPINTERNET_PER_CONN_OPTION_LISTW; + + __MINGW_TYPEDEF_AW(INTERNET_PER_CONN_OPTION_LIST) + __MINGW_TYPEDEF_AW(LPINTERNET_PER_CONN_OPTION_LIST) + +#define INTERNET_PER_CONN_FLAGS 1 +#define INTERNET_PER_CONN_PROXY_SERVER 2 +#define INTERNET_PER_CONN_PROXY_BYPASS 3 +#define INTERNET_PER_CONN_AUTOCONFIG_URL 4 +#define INTERNET_PER_CONN_AUTODISCOVERY_FLAGS 5 +#define INTERNET_PER_CONN_AUTOCONFIG_SECONDARY_URL 6 +#define INTERNET_PER_CONN_AUTOCONFIG_RELOAD_DELAY_MINS 7 +#define INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_TIME 8 +#define INTERNET_PER_CONN_AUTOCONFIG_LAST_DETECT_URL 9 +#define INTERNET_PER_CONN_FLAGS_UI 10 + +#define PROXY_TYPE_DIRECT 0x00000001 +#define PROXY_TYPE_PROXY 0x00000002 +#define PROXY_TYPE_AUTO_PROXY_URL 0x00000004 +#define PROXY_TYPE_AUTO_DETECT 0x00000008 + +#define AUTO_PROXY_FLAG_USER_SET 0x00000001 +#define AUTO_PROXY_FLAG_ALWAYS_DETECT 0x00000002 +#define AUTO_PROXY_FLAG_DETECTION_RUN 0x00000004 +#define AUTO_PROXY_FLAG_MIGRATED 0x00000008 +#define AUTO_PROXY_FLAG_DONT_CACHE_PROXY_RESULT 0x00000010 +#define AUTO_PROXY_FLAG_CACHE_INIT_RUN 0x00000020 +#define AUTO_PROXY_FLAG_DETECTION_SUSPECT 0x00000040 + + typedef struct { + DWORD dwMajorVersion; + DWORD dwMinorVersion; + } INTERNET_VERSION_INFO,*LPINTERNET_VERSION_INFO; + + typedef struct { + DWORD dwMajorVersion; + DWORD dwMinorVersion; + } HTTP_VERSION_INFO,*LPHTTP_VERSION_INFO; + + typedef struct { + DWORD dwConnectedState; + DWORD dwFlags; + } INTERNET_CONNECTED_INFO,*LPINTERNET_CONNECTED_INFO; + +#define ISO_FORCE_DISCONNECTED 0x00000001 + + typedef struct { + DWORD dwStructSize; + LPSTR lpszScheme; + DWORD dwSchemeLength; + INTERNET_SCHEME nScheme; + LPSTR lpszHostName; + DWORD dwHostNameLength; + INTERNET_PORT nPort; + LPSTR lpszUserName; + DWORD dwUserNameLength; + LPSTR lpszPassword; + DWORD dwPasswordLength; + LPSTR lpszUrlPath; + DWORD dwUrlPathLength; + LPSTR lpszExtraInfo; + DWORD dwExtraInfoLength; + } URL_COMPONENTSA,*LPURL_COMPONENTSA; + + typedef struct { + DWORD dwStructSize; + LPWSTR lpszScheme; + DWORD dwSchemeLength; + INTERNET_SCHEME nScheme; + LPWSTR lpszHostName; + DWORD dwHostNameLength; + INTERNET_PORT nPort; + LPWSTR lpszUserName; + DWORD dwUserNameLength; + LPWSTR lpszPassword; + DWORD dwPasswordLength; + LPWSTR lpszUrlPath; + DWORD dwUrlPathLength; + LPWSTR lpszExtraInfo; + DWORD dwExtraInfoLength; + } URL_COMPONENTSW,*LPURL_COMPONENTSW; + + __MINGW_TYPEDEF_AW(URL_COMPONENTS) + __MINGW_TYPEDEF_AW(LPURL_COMPONENTS) + + typedef struct { + FILETIME ftExpiry; + FILETIME ftStart; + LPTSTR lpszSubjectInfo; + LPTSTR lpszIssuerInfo; + LPTSTR lpszProtocolName; + LPTSTR lpszSignatureAlgName; + LPTSTR lpszEncryptionAlgName; + DWORD dwKeySize; + } INTERNET_CERTIFICATE_INFO,*LPINTERNET_CERTIFICATE_INFO; + + typedef struct _INTERNET_BUFFERSA { + DWORD dwStructSize; + struct _INTERNET_BUFFERSA *Next; + LPCSTR lpcszHeader; + DWORD dwHeadersLength; + DWORD dwHeadersTotal; + LPVOID lpvBuffer; + DWORD dwBufferLength; + DWORD dwBufferTotal; + DWORD dwOffsetLow; + DWORD dwOffsetHigh; + } INTERNET_BUFFERSA,*LPINTERNET_BUFFERSA; + + typedef struct _INTERNET_BUFFERSW { + DWORD dwStructSize; + struct _INTERNET_BUFFERSW *Next; + LPCWSTR lpcszHeader; + DWORD dwHeadersLength; + DWORD dwHeadersTotal; + LPVOID lpvBuffer; + DWORD dwBufferLength; + DWORD dwBufferTotal; + DWORD dwOffsetLow; + DWORD dwOffsetHigh; + } INTERNET_BUFFERSW,*LPINTERNET_BUFFERSW; + + __MINGW_TYPEDEF_AW(INTERNET_BUFFERS) + __MINGW_TYPEDEF_AW(LPINTERNET_BUFFERS) + +#if defined(UNICODE) +#define InternetTimeFromSystemTime InternetTimeFromSystemTimeW +#else + BOOLAPI InternetTimeFromSystemTime(CONST SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime); +#endif + + BOOLAPI InternetTimeFromSystemTimeA(CONST SYSTEMTIME *pst,DWORD dwRFC,LPSTR lpszTime,DWORD cbTime); + BOOLAPI InternetTimeFromSystemTimeW(CONST SYSTEMTIME *pst,DWORD dwRFC,LPWSTR lpszTime,DWORD cbTime); + +#define INTERNET_RFC1123_FORMAT 0 +#define INTERNET_RFC1123_BUFSIZE 30 + +#define InternetCrackUrl __MINGW_NAME_AW(InternetCrackUrl) +#define InternetCreateUrl __MINGW_NAME_AW(InternetCreateUrl) +#define InternetCanonicalizeUrl __MINGW_NAME_AW(InternetCanonicalizeUrl) +#define InternetCombineUrl __MINGW_NAME_AW(InternetCombineUrl) + +#if defined(UNICODE) +#define InternetTimeToSystemTime InternetTimeToSystemTimeW +#else + BOOLAPI InternetTimeToSystemTime(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); +#endif + + BOOLAPI InternetTimeToSystemTimeA(LPCSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); + BOOLAPI InternetTimeToSystemTimeW(LPCWSTR lpszTime,SYSTEMTIME *pst,DWORD dwReserved); + BOOLAPI InternetCrackUrlA(LPCSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSA lpUrlComponents); + BOOLAPI InternetCrackUrlW(LPCWSTR lpszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTSW lpUrlComponents); + BOOLAPI InternetCreateUrlA(LPURL_COMPONENTSA lpUrlComponents,DWORD dwFlags,LPSTR lpszUrl,LPDWORD lpdwUrlLength); + BOOLAPI InternetCreateUrlW(LPURL_COMPONENTSW lpUrlComponents,DWORD dwFlags,LPWSTR lpszUrl,LPDWORD lpdwUrlLength); + BOOLAPI InternetCanonicalizeUrlA(LPCSTR lpszUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); + BOOLAPI InternetCanonicalizeUrlW(LPCWSTR lpszUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); + BOOLAPI InternetCombineUrlA(LPCSTR lpszBaseUrl,LPCSTR lpszRelativeUrl,LPSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); + BOOLAPI InternetCombineUrlW(LPCWSTR lpszBaseUrl,LPCWSTR lpszRelativeUrl,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength,DWORD dwFlags); + +#define ICU_ESCAPE 0x80000000 +#define ICU_USERNAME 0x40000000 + +#define ICU_NO_ENCODE 0x20000000 +#define ICU_DECODE 0x10000000 +#define ICU_NO_META 0x08000000 +#define ICU_ENCODE_SPACES_ONLY 0x04000000 +#define ICU_BROWSER_MODE 0x02000000 +#define ICU_ENCODE_PERCENT 0x00001000 + +#define InternetOpen __MINGW_NAME_AW(InternetOpen) + + INTERNETAPI_(HINTERNET) InternetOpenA(LPCSTR lpszAgent,DWORD dwAccessType,LPCSTR lpszProxy,LPCSTR lpszProxyBypass,DWORD dwFlags); + INTERNETAPI_(HINTERNET) InternetOpenW(LPCWSTR lpszAgent,DWORD dwAccessType,LPCWSTR lpszProxy,LPCWSTR lpszProxyBypass,DWORD dwFlags); + +#define INTERNET_OPEN_TYPE_PRECONFIG 0 +#define INTERNET_OPEN_TYPE_DIRECT 1 +#define INTERNET_OPEN_TYPE_PROXY 3 +#define INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY 4 + +#define PRE_CONFIG_INTERNET_ACCESS INTERNET_OPEN_TYPE_PRECONFIG +#define LOCAL_INTERNET_ACCESS INTERNET_OPEN_TYPE_DIRECT +#define CERN_PROXY_INTERNET_ACCESS INTERNET_OPEN_TYPE_PROXY + +#define InternetConnect __MINGW_NAME_AW(InternetConnect) + + BOOLAPI InternetCloseHandle(HINTERNET hInternet); + INTERNETAPI_(HINTERNET) InternetConnectA(HINTERNET hInternet,LPCSTR lpszServerName,INTERNET_PORT nServerPort,LPCSTR lpszUserName,LPCSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) InternetConnectW(HINTERNET hInternet,LPCWSTR lpszServerName,INTERNET_PORT nServerPort,LPCWSTR lpszUserName,LPCWSTR lpszPassword,DWORD dwService,DWORD dwFlags,DWORD_PTR dwContext); + +#define INTERNET_SERVICE_FTP 1 +#define INTERNET_SERVICE_GOPHER 2 +#define INTERNET_SERVICE_HTTP 3 + +#define InternetOpenUrl __MINGW_NAME_AW(InternetOpenUrl) +#define InternetReadFileEx __MINGW_NAME_AW(InternetReadFileEx) + + INTERNETAPI_(HINTERNET) InternetOpenUrlA(HINTERNET hInternet,LPCSTR lpszUrl,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) InternetOpenUrlW(HINTERNET hInternet,LPCWSTR lpszUrl,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI InternetReadFile(HINTERNET hFile,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead); + INTERNETAPI_(WINBOOL) InternetReadFileExA(HINTERNET hFile,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(WINBOOL) InternetReadFileExW(HINTERNET hFile,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + +#define IRF_ASYNC WININET_API_FLAG_ASYNC +#define IRF_SYNC WININET_API_FLAG_SYNC +#define IRF_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT +#define IRF_NO_WAIT 0x00000008 + +#define InternetFindNextFile __MINGW_NAME_AW(InternetFindNextFile) +#define InternetQueryOption __MINGW_NAME_AW(InternetQueryOption) +#define InternetSetOption __MINGW_NAME_AW(InternetSetOption) +#define InternetSetOptionEx __MINGW_NAME_AW(InternetSetOptionEx) + + INTERNETAPI_(DWORD) InternetSetFilePointer(HINTERNET hFile,LONG lDistanceToMove,PVOID pReserved,DWORD dwMoveMethod,DWORD_PTR dwContext); + BOOLAPI InternetWriteFile(HINTERNET hFile,LPCVOID lpBuffer,DWORD dwNumberOfBytesToWrite,LPDWORD lpdwNumberOfBytesWritten); + BOOLAPI InternetQueryDataAvailable(HINTERNET hFile,LPDWORD lpdwNumberOfBytesAvailable,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI InternetFindNextFileA(HINTERNET hFind,LPVOID lpvFindData); + BOOLAPI InternetFindNextFileW(HINTERNET hFind,LPVOID lpvFindData); + BOOLAPI InternetQueryOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength); + BOOLAPI InternetQueryOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength); + BOOLAPI InternetSetOptionA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength); + BOOLAPI InternetSetOptionW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength); + BOOLAPI InternetSetOptionExA(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags); + BOOLAPI InternetSetOptionExW(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength,DWORD dwFlags); + BOOLAPI InternetLockRequestFile(HINTERNET hInternet,HANDLE *lphLockRequestInfo); + BOOLAPI InternetUnlockRequestFile(HANDLE hLockRequestInfo); + +#define ISO_GLOBAL 0x00000001 +#define ISO_REGISTRY 0x00000002 + +#define ISO_VALID_FLAGS (ISO_GLOBAL | ISO_REGISTRY) + +#define INTERNET_OPTION_CALLBACK 1 +#define INTERNET_OPTION_CONNECT_TIMEOUT 2 +#define INTERNET_OPTION_CONNECT_RETRIES 3 +#define INTERNET_OPTION_CONNECT_BACKOFF 4 +#define INTERNET_OPTION_SEND_TIMEOUT 5 +#define INTERNET_OPTION_CONTROL_SEND_TIMEOUT INTERNET_OPTION_SEND_TIMEOUT +#define INTERNET_OPTION_RECEIVE_TIMEOUT 6 +#define INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT INTERNET_OPTION_RECEIVE_TIMEOUT +#define INTERNET_OPTION_DATA_SEND_TIMEOUT 7 +#define INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 8 +#define INTERNET_OPTION_HANDLE_TYPE 9 +#define INTERNET_OPTION_LISTEN_TIMEOUT 11 +#define INTERNET_OPTION_READ_BUFFER_SIZE 12 +#define INTERNET_OPTION_WRITE_BUFFER_SIZE 13 + +#define INTERNET_OPTION_ASYNC_ID 15 +#define INTERNET_OPTION_ASYNC_PRIORITY 16 + +#define INTERNET_OPTION_PARENT_HANDLE 21 +#define INTERNET_OPTION_KEEP_CONNECTION 22 +#define INTERNET_OPTION_REQUEST_FLAGS 23 +#define INTERNET_OPTION_EXTENDED_ERROR 24 + +#define INTERNET_OPTION_OFFLINE_MODE 26 +#define INTERNET_OPTION_CACHE_STREAM_HANDLE 27 +#define INTERNET_OPTION_USERNAME 28 +#define INTERNET_OPTION_PASSWORD 29 +#define INTERNET_OPTION_ASYNC 30 +#define INTERNET_OPTION_SECURITY_FLAGS 31 +#define INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT 32 +#define INTERNET_OPTION_DATAFILE_NAME 33 +#define INTERNET_OPTION_URL 34 +#define INTERNET_OPTION_SECURITY_CERTIFICATE 35 +#define INTERNET_OPTION_SECURITY_KEY_BITNESS 36 +#define INTERNET_OPTION_REFRESH 37 +#define INTERNET_OPTION_PROXY 38 +#define INTERNET_OPTION_SETTINGS_CHANGED 39 +#define INTERNET_OPTION_VERSION 40 +#define INTERNET_OPTION_USER_AGENT 41 +#define INTERNET_OPTION_END_BROWSER_SESSION 42 +#define INTERNET_OPTION_PROXY_USERNAME 43 +#define INTERNET_OPTION_PROXY_PASSWORD 44 +#define INTERNET_OPTION_CONTEXT_VALUE 45 +#define INTERNET_OPTION_CONNECT_LIMIT 46 +#define INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT 47 +#define INTERNET_OPTION_POLICY 48 +#define INTERNET_OPTION_DISCONNECTED_TIMEOUT 49 +#define INTERNET_OPTION_CONNECTED_STATE 50 +#define INTERNET_OPTION_IDLE_STATE 51 +#define INTERNET_OPTION_OFFLINE_SEMANTICS 52 +#define INTERNET_OPTION_SECONDARY_CACHE_KEY 53 +#define INTERNET_OPTION_CALLBACK_FILTER 54 +#define INTERNET_OPTION_CONNECT_TIME 55 +#define INTERNET_OPTION_SEND_THROUGHPUT 56 +#define INTERNET_OPTION_RECEIVE_THROUGHPUT 57 +#define INTERNET_OPTION_REQUEST_PRIORITY 58 +#define INTERNET_OPTION_HTTP_VERSION 59 +#define INTERNET_OPTION_RESET_URLCACHE_SESSION 60 +#define INTERNET_OPTION_ERROR_MASK 62 +#define INTERNET_OPTION_FROM_CACHE_TIMEOUT 63 +#define INTERNET_OPTION_BYPASS_EDITED_ENTRY 64 +#define INTERNET_OPTION_HTTP_DECODING 65 +#define INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO 67 +#define INTERNET_OPTION_CODEPAGE 68 +#define INTERNET_OPTION_CACHE_TIMESTAMPS 69 +#define INTERNET_OPTION_DISABLE_AUTODIAL 70 +#define INTERNET_OPTION_MAX_CONNS_PER_SERVER 73 +#define INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER 74 +#define INTERNET_OPTION_PER_CONNECTION_OPTION 75 +#define INTERNET_OPTION_DIGEST_AUTH_UNLOAD 76 +#define INTERNET_OPTION_IGNORE_OFFLINE 77 +#define INTERNET_OPTION_IDENTITY 78 +#define INTERNET_OPTION_REMOVE_IDENTITY 79 +#define INTERNET_OPTION_ALTER_IDENTITY 80 +#define INTERNET_OPTION_SUPPRESS_BEHAVIOR 81 +#define INTERNET_OPTION_AUTODIAL_MODE 82 +#define INTERNET_OPTION_AUTODIAL_CONNECTION 83 +#define INTERNET_OPTION_CLIENT_CERT_CONTEXT 84 +#define INTERNET_OPTION_AUTH_FLAGS 85 +#define INTERNET_OPTION_COOKIES_3RD_PARTY 86 +#define INTERNET_OPTION_DISABLE_PASSPORT_AUTH 87 +#define INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY 88 +#define INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT 89 +#define INTERNET_OPTION_ENABLE_PASSPORT_AUTH 90 + +#define INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS 91 +#define INTERNET_OPTION_ACTIVATE_WORKER_THREADS 92 +#define INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS 93 +#define INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH 94 +#define INTERNET_OPTION_PROXY_SETTINGS_CHANGED 95 + +#define INTERNET_OPTION_DATAFILE_EXT 96 + +#define INTERNET_OPTION_CODEPAGE_PATH 100 +#define INTERNET_OPTION_CODEPAGE_EXTRA 101 +#define INTERNET_OPTION_IDN 102 +#define INTERNET_OPTION_MAX_CONNS_PER_PROXY 103 +#define INTERNET_OPTION_SUPPRESS_SERVER_AUTH 104 +#define INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT 105 + +#define INTERNET_OPTION_ENABLE_REDIRECT_CACHE_READ 122 + +#define INTERNET_OPTION_COMPRESSED_CONTENT_LENGTH 147 +#define INTERNET_OPTION_ENABLE_HTTP_PROTOCOL 148 +#define INTERNET_OPTION_HTTP_PROTOCOL_USED 149 + +#define INTERNET_OPTION_ENCODE_EXTRA 155 + +#define INTERNET_OPTION_HSTS 157 + +#define INTERNET_OPTION_ENTERPRISE_CONTEXT 159 + +#define INTERNET_OPTION_CONNECTION_FILTER 162 +#define INTERNET_OPTION_REFERER_TOKEN_BINDING_HOSTNAME 163 + +#define INTERNET_OPTION_TOKEN_BINDING_PUBLIC_KEY 181 + +#define INTERNET_OPTION_COOKIES_SAME_SITE_LEVEL 187 + +#define INTERNET_FIRST_OPTION INTERNET_OPTION_CALLBACK +#define INTERNET_LAST_OPTION INTERNET_OPTION_DATAFILE_EXT + +#define INTERNET_PRIORITY_FOREGROUND 1000 + +#define HTTP_COOKIES_SAME_SITE_LEVEL_UNKNOWN 0x0 +#define HTTP_COOKIES_SAME_SITE_LEVEL_SAME_SITE 0x1 +#define HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE_LAX 0x2 +#define HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE 0x3 + +#define HTTP_COOKIES_SAME_SITE_LEVEL_MAX HTTP_COOKIES_SAME_SITE_LEVEL_CROSS_SITE + +#define HTTP_PROTOCOL_FLAG_HTTP2 0x2 +#define HTTP_PROTOCOL_MASK HTTP_PROTOCOL_FLAG_HTTP2 + +#define INTERNET_HANDLE_TYPE_INTERNET 1 +#define INTERNET_HANDLE_TYPE_CONNECT_FTP 2 +#define INTERNET_HANDLE_TYPE_CONNECT_GOPHER 3 +#define INTERNET_HANDLE_TYPE_CONNECT_HTTP 4 +#define INTERNET_HANDLE_TYPE_FTP_FIND 5 +#define INTERNET_HANDLE_TYPE_FTP_FIND_HTML 6 +#define INTERNET_HANDLE_TYPE_FTP_FILE 7 +#define INTERNET_HANDLE_TYPE_FTP_FILE_HTML 8 +#define INTERNET_HANDLE_TYPE_GOPHER_FIND 9 +#define INTERNET_HANDLE_TYPE_GOPHER_FIND_HTML 10 +#define INTERNET_HANDLE_TYPE_GOPHER_FILE 11 +#define INTERNET_HANDLE_TYPE_GOPHER_FILE_HTML 12 +#define INTERNET_HANDLE_TYPE_HTTP_REQUEST 13 +#define INTERNET_HANDLE_TYPE_FILE_REQUEST 14 + +#define AUTH_FLAG_DISABLE_NEGOTIATE 0x00000001 +#define AUTH_FLAG_ENABLE_NEGOTIATE 0x00000002 +#define AUTH_FLAG_DISABLE_BASIC_CLEARCHANNEL 0x00000004 +#define AUTH_FLAG_DISABLE_SERVER_AUTH 0x00000008 + +#define SECURITY_FLAG_SECURE 0x00000001 +#define SECURITY_FLAG_STRENGTH_WEAK 0x10000000 +#define SECURITY_FLAG_STRENGTH_MEDIUM 0x40000000 +#define SECURITY_FLAG_STRENGTH_STRONG 0x20000000 +#define SECURITY_FLAG_UNKNOWNBIT 0x80000000 +#define SECURITY_FLAG_FORTEZZA 0x08000000 +#define SECURITY_FLAG_NORMALBITNESS SECURITY_FLAG_STRENGTH_WEAK + +#define SECURITY_FLAG_SSL 0x00000002 +#define SECURITY_FLAG_SSL3 0x00000004 +#define SECURITY_FLAG_PCT 0x00000008 +#define SECURITY_FLAG_PCT4 0x00000010 +#define SECURITY_FLAG_IETFSSL4 0x00000020 + +#define SECURITY_FLAG_40BIT SECURITY_FLAG_STRENGTH_WEAK +#define SECURITY_FLAG_128BIT SECURITY_FLAG_STRENGTH_STRONG +#define SECURITY_FLAG_56BIT SECURITY_FLAG_STRENGTH_MEDIUM + +#define SECURITY_FLAG_IGNORE_REVOCATION 0x00000080 +#define SECURITY_FLAG_IGNORE_UNKNOWN_CA 0x00000100 +#define SECURITY_FLAG_IGNORE_WRONG_USAGE 0x00000200 +#define SECURITY_FLAG_IGNORE_WEAK_SIGNATURE 0x00010000 + +#define SECURITY_FLAG_IGNORE_CERT_CN_INVALID INTERNET_FLAG_IGNORE_CERT_CN_INVALID +#define SECURITY_FLAG_IGNORE_CERT_DATE_INVALID INTERNET_FLAG_IGNORE_CERT_DATE_INVALID + +#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTPS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS +#define SECURITY_FLAG_IGNORE_REDIRECT_TO_HTTP INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP + +#define SECURITY_SET_MASK (SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_CERT_CN_INVALID | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_WRONG_USAGE) + +#define SECURITY_FLAG_OPT_IN_WEAK_SIGNATURE 0x00020000 + +#define AUTODIAL_MODE_NEVER 1 +#define AUTODIAL_MODE_ALWAYS 2 +#define AUTODIAL_MODE_NO_NETWORK_PRESENT 4 + +#define InternetGetLastResponseInfo __MINGW_NAME_AW(InternetGetLastResponseInfo) + + BOOLAPI InternetGetLastResponseInfoA(LPDWORD lpdwError,LPSTR lpszBuffer,LPDWORD lpdwBufferLength); + BOOLAPI InternetGetLastResponseInfoW(LPDWORD lpdwError,LPWSTR lpszBuffer,LPDWORD lpdwBufferLength); + + typedef VOID (CALLBACK *INTERNET_STATUS_CALLBACK)(HINTERNET hInternet,DWORD_PTR dwContext,DWORD dwInternetStatus,LPVOID lpvStatusInformation,DWORD dwStatusInformationLength); + typedef INTERNET_STATUS_CALLBACK *LPINTERNET_STATUS_CALLBACK; + +#if defined(UNICODE) +#define InternetSetStatusCallback InternetSetStatusCallbackW +#else + INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallback(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); +#endif + + INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallbackA(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); + INTERNETAPI_(INTERNET_STATUS_CALLBACK) InternetSetStatusCallbackW(HINTERNET hInternet,INTERNET_STATUS_CALLBACK lpfnInternetCallback); + +#define INTERNET_STATUS_RESOLVING_NAME 10 +#define INTERNET_STATUS_NAME_RESOLVED 11 +#define INTERNET_STATUS_CONNECTING_TO_SERVER 20 +#define INTERNET_STATUS_CONNECTED_TO_SERVER 21 +#define INTERNET_STATUS_SENDING_REQUEST 30 +#define INTERNET_STATUS_REQUEST_SENT 31 +#define INTERNET_STATUS_RECEIVING_RESPONSE 40 +#define INTERNET_STATUS_RESPONSE_RECEIVED 41 +#define INTERNET_STATUS_CTL_RESPONSE_RECEIVED 42 +#define INTERNET_STATUS_PREFETCH 43 +#define INTERNET_STATUS_CLOSING_CONNECTION 50 +#define INTERNET_STATUS_CONNECTION_CLOSED 51 +#define INTERNET_STATUS_HANDLE_CREATED 60 +#define INTERNET_STATUS_HANDLE_CLOSING 70 +#define INTERNET_STATUS_DETECTING_PROXY 80 +#define INTERNET_STATUS_REQUEST_COMPLETE 100 +#define INTERNET_STATUS_REDIRECT 110 +#define INTERNET_STATUS_INTERMEDIATE_RESPONSE 120 +#define INTERNET_STATUS_USER_INPUT_REQUIRED 140 +#define INTERNET_STATUS_STATE_CHANGE 200 +#define INTERNET_STATUS_COOKIE_SENT 320 +#define INTERNET_STATUS_COOKIE_RECEIVED 321 +#define INTERNET_STATUS_PRIVACY_IMPACTED 324 +#define INTERNET_STATUS_P3P_HEADER 325 +#define INTERNET_STATUS_P3P_POLICYREF 326 +#define INTERNET_STATUS_COOKIE_HISTORY 327 + +#define INTERNET_STATE_CONNECTED 0x00000001 +#define INTERNET_STATE_DISCONNECTED 0x00000002 +#define INTERNET_STATE_DISCONNECTED_BY_USER 0x00000010 +#define INTERNET_STATE_IDLE 0x00000100 +#define INTERNET_STATE_BUSY 0x00000200 + + typedef enum { + COOKIE_STATE_UNKNOWN = 0x0,COOKIE_STATE_ACCEPT = 0x1,COOKIE_STATE_PROMPT = 0x2,COOKIE_STATE_LEASH = 0x3,COOKIE_STATE_DOWNGRADE = 0x4, + COOKIE_STATE_REJECT = 0x5,COOKIE_STATE_MAX = COOKIE_STATE_REJECT + } InternetCookieState; + + typedef struct { + int cSession; + int cPersistent; + int cAccepted; + int cLeashed; + int cDowngraded; + int cBlocked; + const char *pszLocation; + } IncomingCookieState; + + typedef struct { + int cSent; + int cSuppressed; + + const char *pszLocation; + } OutgoingCookieState; + + typedef struct { + WINBOOL fAccepted; + WINBOOL fLeashed; + WINBOOL fDowngraded; + WINBOOL fRejected; + } InternetCookieHistory; + + typedef struct { + DWORD dwCookieState; + WINBOOL fAllowSession; + } CookieDecision; + +#define INTERNET_INVALID_STATUS_CALLBACK ((INTERNET_STATUS_CALLBACK)(INT_PTR)-1) + +#define FTP_TRANSFER_TYPE_UNKNOWN 0x00000000 +#define FTP_TRANSFER_TYPE_ASCII 0x00000001 +#define FTP_TRANSFER_TYPE_BINARY 0x00000002 + +#define FTP_TRANSFER_TYPE_MASK (FTP_TRANSFER_TYPE_ASCII | FTP_TRANSFER_TYPE_BINARY) + +#define FtpFindFirstFile __MINGW_NAME_AW(FtpFindFirstFile) +#define FtpGetFile __MINGW_NAME_AW(FtpGetFile) +#define FtpPutFile __MINGW_NAME_AW(FtpPutFile) +#define FtpDeleteFile __MINGW_NAME_AW(FtpDeleteFile) +#define FtpRenameFile __MINGW_NAME_AW(FtpRenameFile) +#define FtpOpenFile __MINGW_NAME_AW(FtpOpenFile) +#define FtpCreateDirectory __MINGW_NAME_AW(FtpCreateDirectory) +#define FtpRemoveDirectory __MINGW_NAME_AW(FtpRemoveDirectory) +#define FtpSetCurrentDirectory __MINGW_NAME_AW(FtpSetCurrentDirectory) +#define FtpGetCurrentDirectory __MINGW_NAME_AW(FtpGetCurrentDirectory) +#define FtpCommand __MINGW_NAME_AW(FtpCommand) + + INTERNETAPI_(HINTERNET) FtpFindFirstFileA(HINTERNET hConnect,LPCSTR lpszSearchFile,LPWIN32_FIND_DATAA lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) FtpFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszSearchFile,LPWIN32_FIND_DATAW lpFindFileData,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpGetFileA(HINTERNET hConnect,LPCSTR lpszRemoteFile,LPCSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpGetFileW(HINTERNET hConnect,LPCWSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpPutFileA(HINTERNET hConnect,LPCSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpPutFileW(HINTERNET hConnect,LPCWSTR lpszLocalFile,LPCWSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpGetFileEx(HINTERNET hFtpSession,LPCSTR lpszRemoteFile,LPCWSTR lpszNewFile,WINBOOL fFailIfExists,DWORD dwFlagsAndAttributes,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpPutFileEx(HINTERNET hFtpSession,LPCWSTR lpszLocalFile,LPCSTR lpszNewRemoteFile,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpDeleteFileA(HINTERNET hConnect,LPCSTR lpszFileName); + BOOLAPI FtpDeleteFileW(HINTERNET hConnect,LPCWSTR lpszFileName); + BOOLAPI FtpRenameFileA(HINTERNET hConnect,LPCSTR lpszExisting,LPCSTR lpszNew); + BOOLAPI FtpRenameFileW(HINTERNET hConnect,LPCWSTR lpszExisting,LPCWSTR lpszNew); + INTERNETAPI_(HINTERNET) FtpOpenFileA(HINTERNET hConnect,LPCSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) FtpOpenFileW(HINTERNET hConnect,LPCWSTR lpszFileName,DWORD dwAccess,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI FtpCreateDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); + BOOLAPI FtpCreateDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); + BOOLAPI FtpRemoveDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); + BOOLAPI FtpRemoveDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); + BOOLAPI FtpSetCurrentDirectoryA(HINTERNET hConnect,LPCSTR lpszDirectory); + BOOLAPI FtpSetCurrentDirectoryW(HINTERNET hConnect,LPCWSTR lpszDirectory); + BOOLAPI FtpGetCurrentDirectoryA(HINTERNET hConnect,LPSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory); + BOOLAPI FtpGetCurrentDirectoryW(HINTERNET hConnect,LPWSTR lpszCurrentDirectory,LPDWORD lpdwCurrentDirectory); + BOOLAPI FtpCommandA(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand); + BOOLAPI FtpCommandW(HINTERNET hConnect,WINBOOL fExpectResponse,DWORD dwFlags,LPCWSTR lpszCommand,DWORD_PTR dwContext,HINTERNET *phFtpCommand); + INTERNETAPI_(DWORD) FtpGetFileSize(HINTERNET hFile,LPDWORD lpdwFileSizeHigh); + +#define MAX_GOPHER_DISPLAY_TEXT 128 +#define MAX_GOPHER_SELECTOR_TEXT 256 +#define MAX_GOPHER_HOST_NAME INTERNET_MAX_HOST_NAME_LENGTH +#define MAX_GOPHER_LOCATOR_LENGTH (1 + MAX_GOPHER_DISPLAY_TEXT + 1 + MAX_GOPHER_SELECTOR_TEXT + 1 + MAX_GOPHER_HOST_NAME + 1 + INTERNET_MAX_PORT_NUMBER_LENGTH + 1 + 1 + 2) + + typedef struct { + CHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1]; + DWORD GopherType; + DWORD SizeLow; + DWORD SizeHigh; + FILETIME LastModificationTime; + CHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1]; + } GOPHER_FIND_DATAA,*LPGOPHER_FIND_DATAA; + + typedef struct { + WCHAR DisplayString[MAX_GOPHER_DISPLAY_TEXT + 1]; + DWORD GopherType; + DWORD SizeLow; + DWORD SizeHigh; + FILETIME LastModificationTime; + WCHAR Locator[MAX_GOPHER_LOCATOR_LENGTH + 1]; + } GOPHER_FIND_DATAW,*LPGOPHER_FIND_DATAW; + + __MINGW_TYPEDEF_AW(GOPHER_FIND_DATA) + __MINGW_TYPEDEF_AW(LPGOPHER_FIND_DATA) + +#define GOPHER_TYPE_TEXT_FILE 0x00000001 +#define GOPHER_TYPE_DIRECTORY 0x00000002 +#define GOPHER_TYPE_CSO 0x00000004 +#define GOPHER_TYPE_ERROR 0x00000008 +#define GOPHER_TYPE_MAC_BINHEX 0x00000010 +#define GOPHER_TYPE_DOS_ARCHIVE 0x00000020 +#define GOPHER_TYPE_UNIX_UUENCODED 0x00000040 +#define GOPHER_TYPE_INDEX_SERVER 0x00000080 +#define GOPHER_TYPE_TELNET 0x00000100 +#define GOPHER_TYPE_BINARY 0x00000200 +#define GOPHER_TYPE_REDUNDANT 0x00000400 +#define GOPHER_TYPE_TN3270 0x00000800 +#define GOPHER_TYPE_GIF 0x00001000 +#define GOPHER_TYPE_IMAGE 0x00002000 +#define GOPHER_TYPE_BITMAP 0x00004000 +#define GOPHER_TYPE_MOVIE 0x00008000 +#define GOPHER_TYPE_SOUND 0x00010000 +#define GOPHER_TYPE_HTML 0x00020000 +#define GOPHER_TYPE_PDF 0x00040000 +#define GOPHER_TYPE_CALENDAR 0x00080000 +#define GOPHER_TYPE_INLINE 0x00100000 +#define GOPHER_TYPE_UNKNOWN 0x20000000 +#define GOPHER_TYPE_ASK 0x40000000 +#define GOPHER_TYPE_GOPHER_PLUS 0x80000000 + +#define IS_GOPHER_FILE(type) (WINBOOL)(((type) & GOPHER_TYPE_FILE_MASK) ? TRUE : FALSE) +#define IS_GOPHER_DIRECTORY(type) (WINBOOL)(((type) & GOPHER_TYPE_DIRECTORY) ? TRUE : FALSE) +#define IS_GOPHER_PHONE_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_CSO) ? TRUE : FALSE) +#define IS_GOPHER_ERROR(type) (WINBOOL)(((type) & GOPHER_TYPE_ERROR) ? TRUE : FALSE) +#define IS_GOPHER_INDEX_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_INDEX_SERVER) ? TRUE : FALSE) +#define IS_GOPHER_TELNET_SESSION(type) (WINBOOL)(((type) & GOPHER_TYPE_TELNET) ? TRUE : FALSE) +#define IS_GOPHER_BACKUP_SERVER(type) (WINBOOL)(((type) & GOPHER_TYPE_REDUNDANT) ? TRUE : FALSE) +#define IS_GOPHER_TN3270_SESSION(type) (WINBOOL)(((type) & GOPHER_TYPE_TN3270) ? TRUE : FALSE) +#define IS_GOPHER_ASK(type) (WINBOOL)(((type) & GOPHER_TYPE_ASK) ? TRUE : FALSE) +#define IS_GOPHER_PLUS(type) (WINBOOL)(((type) & GOPHER_TYPE_GOPHER_PLUS) ? TRUE : FALSE) + +#define IS_GOPHER_TYPE_KNOWN(type) (WINBOOL)(((type) & GOPHER_TYPE_UNKNOWN) ? FALSE : TRUE) + +#define GOPHER_TYPE_FILE_MASK (GOPHER_TYPE_TEXT_FILE | GOPHER_TYPE_MAC_BINHEX | GOPHER_TYPE_DOS_ARCHIVE | GOPHER_TYPE_UNIX_UUENCODED | GOPHER_TYPE_BINARY | GOPHER_TYPE_GIF | GOPHER_TYPE_IMAGE | GOPHER_TYPE_BITMAP | GOPHER_TYPE_MOVIE | GOPHER_TYPE_SOUND | GOPHER_TYPE_HTML | GOPHER_TYPE_PDF | GOPHER_TYPE_CALENDAR | GOPHER_TYPE_INLINE) + + typedef struct { + LPCTSTR Comment; + LPCTSTR EmailAddress; + } GOPHER_ADMIN_ATTRIBUTE_TYPE,*LPGOPHER_ADMIN_ATTRIBUTE_TYPE; + + typedef struct { + FILETIME DateAndTime; + } GOPHER_MOD_DATE_ATTRIBUTE_TYPE,*LPGOPHER_MOD_DATE_ATTRIBUTE_TYPE; + + typedef struct { + DWORD Ttl; + } GOPHER_TTL_ATTRIBUTE_TYPE,*LPGOPHER_TTL_ATTRIBUTE_TYPE; + + typedef struct { + INT Score; + } GOPHER_SCORE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_ATTRIBUTE_TYPE; + + typedef struct { + INT LowerBound; + INT UpperBound; + } GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE,*LPGOPHER_SCORE_RANGE_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Site; + } GOPHER_SITE_ATTRIBUTE_TYPE,*LPGOPHER_SITE_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Organization; + } GOPHER_ORGANIZATION_ATTRIBUTE_TYPE,*LPGOPHER_ORGANIZATION_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Location; + } GOPHER_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_LOCATION_ATTRIBUTE_TYPE; + + typedef struct { + INT DegreesNorth; + INT MinutesNorth; + INT SecondsNorth; + INT DegreesEast; + INT MinutesEast; + INT SecondsEast; + } GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE,*LPGOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE; + + typedef struct { + INT Zone; + } GOPHER_TIMEZONE_ATTRIBUTE_TYPE,*LPGOPHER_TIMEZONE_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Provider; + } GOPHER_PROVIDER_ATTRIBUTE_TYPE,*LPGOPHER_PROVIDER_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Version; + } GOPHER_VERSION_ATTRIBUTE_TYPE,*LPGOPHER_VERSION_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR ShortAbstract; + LPCTSTR AbstractFile; + } GOPHER_ABSTRACT_ATTRIBUTE_TYPE,*LPGOPHER_ABSTRACT_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR ContentType; + LPCTSTR Language; + DWORD Size; + } GOPHER_VIEW_ATTRIBUTE_TYPE,*LPGOPHER_VIEW_ATTRIBUTE_TYPE; + + typedef struct { + WINBOOL TreeWalk; + } GOPHER_VERONICA_ATTRIBUTE_TYPE,*LPGOPHER_VERONICA_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR QuestionType; + LPCTSTR QuestionText; + } GOPHER_ASK_ATTRIBUTE_TYPE,*LPGOPHER_ASK_ATTRIBUTE_TYPE; + + typedef struct { + LPCTSTR Text; + } GOPHER_UNKNOWN_ATTRIBUTE_TYPE,*LPGOPHER_UNKNOWN_ATTRIBUTE_TYPE; + + typedef struct { + DWORD CategoryId; + DWORD AttributeId; + union { + GOPHER_ADMIN_ATTRIBUTE_TYPE Admin; + GOPHER_MOD_DATE_ATTRIBUTE_TYPE ModDate; + GOPHER_TTL_ATTRIBUTE_TYPE Ttl; + GOPHER_SCORE_ATTRIBUTE_TYPE Score; + GOPHER_SCORE_RANGE_ATTRIBUTE_TYPE ScoreRange; + GOPHER_SITE_ATTRIBUTE_TYPE Site; + GOPHER_ORGANIZATION_ATTRIBUTE_TYPE Organization; + GOPHER_LOCATION_ATTRIBUTE_TYPE Location; + GOPHER_GEOGRAPHICAL_LOCATION_ATTRIBUTE_TYPE GeographicalLocation; + GOPHER_TIMEZONE_ATTRIBUTE_TYPE TimeZone; + GOPHER_PROVIDER_ATTRIBUTE_TYPE Provider; + GOPHER_VERSION_ATTRIBUTE_TYPE Version; + GOPHER_ABSTRACT_ATTRIBUTE_TYPE Abstract; + GOPHER_VIEW_ATTRIBUTE_TYPE View; + GOPHER_VERONICA_ATTRIBUTE_TYPE Veronica; + GOPHER_ASK_ATTRIBUTE_TYPE Ask; + GOPHER_UNKNOWN_ATTRIBUTE_TYPE Unknown; + } AttributeType; + } GOPHER_ATTRIBUTE_TYPE,*LPGOPHER_ATTRIBUTE_TYPE; + +#define MAX_GOPHER_CATEGORY_NAME 128 +#define MAX_GOPHER_ATTRIBUTE_NAME 128 +#define MIN_GOPHER_ATTRIBUTE_LENGTH 256 + +#define GOPHER_INFO_CATEGORY TEXT("+INFO") +#define GOPHER_ADMIN_CATEGORY TEXT("+ADMIN") +#define GOPHER_VIEWS_CATEGORY TEXT("+VIEWS") +#define GOPHER_ABSTRACT_CATEGORY TEXT("+ABSTRACT") +#define GOPHER_VERONICA_CATEGORY TEXT("+VERONICA") + +#define GOPHER_ADMIN_ATTRIBUTE TEXT("Admin") +#define GOPHER_MOD_DATE_ATTRIBUTE TEXT("Mod-Date") +#define GOPHER_TTL_ATTRIBUTE TEXT("TTL") +#define GOPHER_SCORE_ATTRIBUTE TEXT("Score") +#define GOPHER_RANGE_ATTRIBUTE TEXT("Score-range") +#define GOPHER_SITE_ATTRIBUTE TEXT("Site") +#define GOPHER_ORG_ATTRIBUTE TEXT("Org") +#define GOPHER_LOCATION_ATTRIBUTE TEXT("Loc") +#define GOPHER_GEOG_ATTRIBUTE TEXT("Geog") +#define GOPHER_TIMEZONE_ATTRIBUTE TEXT("TZ") +#define GOPHER_PROVIDER_ATTRIBUTE TEXT("Provider") +#define GOPHER_VERSION_ATTRIBUTE TEXT("Version") +#define GOPHER_ABSTRACT_ATTRIBUTE TEXT("Abstract") +#define GOPHER_VIEW_ATTRIBUTE TEXT("View") +#define GOPHER_TREEWALK_ATTRIBUTE TEXT("treewalk") + +#define GOPHER_ATTRIBUTE_ID_BASE 0xabcccc00 + +#define GOPHER_CATEGORY_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 1) + +#define GOPHER_CATEGORY_ID_INFO (GOPHER_ATTRIBUTE_ID_BASE + 2) +#define GOPHER_CATEGORY_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 3) +#define GOPHER_CATEGORY_ID_VIEWS (GOPHER_ATTRIBUTE_ID_BASE + 4) +#define GOPHER_CATEGORY_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 5) +#define GOPHER_CATEGORY_ID_VERONICA (GOPHER_ATTRIBUTE_ID_BASE + 6) +#define GOPHER_CATEGORY_ID_ASK (GOPHER_ATTRIBUTE_ID_BASE + 7) + +#define GOPHER_CATEGORY_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 8) + +#define GOPHER_ATTRIBUTE_ID_ALL (GOPHER_ATTRIBUTE_ID_BASE + 9) + +#define GOPHER_ATTRIBUTE_ID_ADMIN (GOPHER_ATTRIBUTE_ID_BASE + 10) +#define GOPHER_ATTRIBUTE_ID_MOD_DATE (GOPHER_ATTRIBUTE_ID_BASE + 11) +#define GOPHER_ATTRIBUTE_ID_TTL (GOPHER_ATTRIBUTE_ID_BASE + 12) +#define GOPHER_ATTRIBUTE_ID_SCORE (GOPHER_ATTRIBUTE_ID_BASE + 13) +#define GOPHER_ATTRIBUTE_ID_RANGE (GOPHER_ATTRIBUTE_ID_BASE + 14) +#define GOPHER_ATTRIBUTE_ID_SITE (GOPHER_ATTRIBUTE_ID_BASE + 15) +#define GOPHER_ATTRIBUTE_ID_ORG (GOPHER_ATTRIBUTE_ID_BASE + 16) +#define GOPHER_ATTRIBUTE_ID_LOCATION (GOPHER_ATTRIBUTE_ID_BASE + 17) +#define GOPHER_ATTRIBUTE_ID_GEOG (GOPHER_ATTRIBUTE_ID_BASE + 18) +#define GOPHER_ATTRIBUTE_ID_TIMEZONE (GOPHER_ATTRIBUTE_ID_BASE + 19) +#define GOPHER_ATTRIBUTE_ID_PROVIDER (GOPHER_ATTRIBUTE_ID_BASE + 20) +#define GOPHER_ATTRIBUTE_ID_VERSION (GOPHER_ATTRIBUTE_ID_BASE + 21) +#define GOPHER_ATTRIBUTE_ID_ABSTRACT (GOPHER_ATTRIBUTE_ID_BASE + 22) +#define GOPHER_ATTRIBUTE_ID_VIEW (GOPHER_ATTRIBUTE_ID_BASE + 23) +#define GOPHER_ATTRIBUTE_ID_TREEWALK (GOPHER_ATTRIBUTE_ID_BASE + 24) + +#define GOPHER_ATTRIBUTE_ID_UNKNOWN (GOPHER_ATTRIBUTE_ID_BASE + 25) + +#define GopherCreateLocator __MINGW_NAME_AW(GopherCreateLocator) +#define GopherGetLocatorType __MINGW_NAME_AW(GopherGetLocatorType) +#define GopherFindFirstFile __MINGW_NAME_AW(GopherFindFirstFile) +#define GopherOpenFile __MINGW_NAME_AW(GopherOpenFile) +#define GopherGetAttribute __MINGW_NAME_AW(GopherGetAttribute) + + BOOLAPI GopherCreateLocatorA(LPCSTR lpszHost,INTERNET_PORT nServerPort,LPCSTR lpszDisplayString,LPCSTR lpszSelectorString,DWORD dwGopherType,LPSTR lpszLocator,LPDWORD lpdwBufferLength); + BOOLAPI GopherCreateLocatorW(LPCWSTR lpszHost,INTERNET_PORT nServerPort,LPCWSTR lpszDisplayString,LPCWSTR lpszSelectorString,DWORD dwGopherType,LPWSTR lpszLocator,LPDWORD lpdwBufferLength); + BOOLAPI GopherGetLocatorTypeA(LPCSTR lpszLocator,LPDWORD lpdwGopherType); + BOOLAPI GopherGetLocatorTypeW(LPCWSTR lpszLocator,LPDWORD lpdwGopherType); + INTERNETAPI_(HINTERNET) GopherFindFirstFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszSearchString,LPGOPHER_FIND_DATAA lpFindData,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) GopherFindFirstFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszSearchString,LPGOPHER_FIND_DATAW lpFindData,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) GopherOpenFileA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) GopherOpenFileW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszView,DWORD dwFlags,DWORD_PTR dwContext); + + typedef WINBOOL (CALLBACK *GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE lpAttributeInfo,DWORD dwError); + + BOOLAPI GopherGetAttributeA(HINTERNET hConnect,LPCSTR lpszLocator,LPCSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext); + BOOLAPI GopherGetAttributeW(HINTERNET hConnect,LPCWSTR lpszLocator,LPCWSTR lpszAttributeName,LPBYTE lpBuffer,DWORD dwBufferLength,LPDWORD lpdwCharactersReturned,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator,DWORD_PTR dwContext); + +#define HTTP_MAJOR_VERSION 1 +#define HTTP_MINOR_VERSION 0 + +#define HTTP_VERSIONA "HTTP/1.0" +#define HTTP_VERSIONW L"HTTP/1.0" + +#define HTTP_VERSION __MINGW_NAME_AW(HTTP_VERSION) + +#define HTTP_QUERY_MIME_VERSION 0 +#define HTTP_QUERY_CONTENT_TYPE 1 +#define HTTP_QUERY_CONTENT_TRANSFER_ENCODING 2 +#define HTTP_QUERY_CONTENT_ID 3 +#define HTTP_QUERY_CONTENT_DESCRIPTION 4 +#define HTTP_QUERY_CONTENT_LENGTH 5 +#define HTTP_QUERY_CONTENT_LANGUAGE 6 +#define HTTP_QUERY_ALLOW 7 +#define HTTP_QUERY_PUBLIC 8 +#define HTTP_QUERY_DATE 9 +#define HTTP_QUERY_EXPIRES 10 +#define HTTP_QUERY_LAST_MODIFIED 11 +#define HTTP_QUERY_MESSAGE_ID 12 +#define HTTP_QUERY_URI 13 +#define HTTP_QUERY_DERIVED_FROM 14 +#define HTTP_QUERY_COST 15 +#define HTTP_QUERY_LINK 16 +#define HTTP_QUERY_PRAGMA 17 +#define HTTP_QUERY_VERSION 18 +#define HTTP_QUERY_STATUS_CODE 19 +#define HTTP_QUERY_STATUS_TEXT 20 +#define HTTP_QUERY_RAW_HEADERS 21 +#define HTTP_QUERY_RAW_HEADERS_CRLF 22 +#define HTTP_QUERY_CONNECTION 23 +#define HTTP_QUERY_ACCEPT 24 +#define HTTP_QUERY_ACCEPT_CHARSET 25 +#define HTTP_QUERY_ACCEPT_ENCODING 26 +#define HTTP_QUERY_ACCEPT_LANGUAGE 27 +#define HTTP_QUERY_AUTHORIZATION 28 +#define HTTP_QUERY_CONTENT_ENCODING 29 +#define HTTP_QUERY_FORWARDED 30 +#define HTTP_QUERY_FROM 31 +#define HTTP_QUERY_IF_MODIFIED_SINCE 32 +#define HTTP_QUERY_LOCATION 33 +#define HTTP_QUERY_ORIG_URI 34 +#define HTTP_QUERY_REFERER 35 +#define HTTP_QUERY_RETRY_AFTER 36 +#define HTTP_QUERY_SERVER 37 +#define HTTP_QUERY_TITLE 38 +#define HTTP_QUERY_USER_AGENT 39 +#define HTTP_QUERY_WWW_AUTHENTICATE 40 +#define HTTP_QUERY_PROXY_AUTHENTICATE 41 +#define HTTP_QUERY_ACCEPT_RANGES 42 +#define HTTP_QUERY_SET_COOKIE 43 +#define HTTP_QUERY_COOKIE 44 +#define HTTP_QUERY_REQUEST_METHOD 45 +#define HTTP_QUERY_REFRESH 46 +#define HTTP_QUERY_CONTENT_DISPOSITION 47 + +#define HTTP_QUERY_AGE 48 +#define HTTP_QUERY_CACHE_CONTROL 49 +#define HTTP_QUERY_CONTENT_BASE 50 +#define HTTP_QUERY_CONTENT_LOCATION 51 +#define HTTP_QUERY_CONTENT_MD5 52 +#define HTTP_QUERY_CONTENT_RANGE 53 +#define HTTP_QUERY_ETAG 54 +#define HTTP_QUERY_HOST 55 +#define HTTP_QUERY_IF_MATCH 56 +#define HTTP_QUERY_IF_NONE_MATCH 57 +#define HTTP_QUERY_IF_RANGE 58 +#define HTTP_QUERY_IF_UNMODIFIED_SINCE 59 +#define HTTP_QUERY_MAX_FORWARDS 60 +#define HTTP_QUERY_PROXY_AUTHORIZATION 61 +#define HTTP_QUERY_RANGE 62 +#define HTTP_QUERY_TRANSFER_ENCODING 63 +#define HTTP_QUERY_UPGRADE 64 +#define HTTP_QUERY_VARY 65 +#define HTTP_QUERY_VIA 66 +#define HTTP_QUERY_WARNING 67 +#define HTTP_QUERY_EXPECT 68 +#define HTTP_QUERY_PROXY_CONNECTION 69 +#define HTTP_QUERY_UNLESS_MODIFIED_SINCE 70 + +#define HTTP_QUERY_ECHO_REQUEST 71 +#define HTTP_QUERY_ECHO_REPLY 72 + +#define HTTP_QUERY_ECHO_HEADERS 73 +#define HTTP_QUERY_ECHO_HEADERS_CRLF 74 + +#define HTTP_QUERY_PROXY_SUPPORT 75 +#define HTTP_QUERY_AUTHENTICATION_INFO 76 +#define HTTP_QUERY_PASSPORT_URLS 77 +#define HTTP_QUERY_PASSPORT_CONFIG 78 + +#define HTTP_QUERY_X_CONTENT_TYPE_OPTIONS 79 +#define HTTP_QUERY_P3P 80 +#define HTTP_QUERY_X_P2P_PEERDIST 81 +#define HTTP_QUERY_TRANSLATE 82 +#define HTTP_QUERY_X_UA_COMPATIBLE 83 +#define HTTP_QUERY_DEFAULT_STYLE 84 +#define HTTP_QUERY_X_FRAME_OPTIONS 85 +#define HTTP_QUERY_X_XSS_PROTECTION 86 + +#define HTTP_QUERY_SET_COOKIE2 87 + +#define HTTP_QUERY_DO_NOT_TRACK 88 + +#define HTTP_QUERY_KEEP_ALIVE 89 + +#define HTTP_QUERY_HTTP2_SETTINGS 90 + +#define HTTP_QUERY_STRICT_TRANSPORT_SECURITY 91 + +#define HTTP_QUERY_TOKEN_BINDING 92 + +#define HTTP_QUERY_INCLUDE_REFERRED_TOKEN_BINDING_ID 93 +#define HTTP_QUERY_INCLUDE_REFERER_TOKEN_BINDING_ID HTTP_QUERY_INCLUDE_REFERRED_TOKEN_BINDING_ID + +#define HTTP_QUERY_PUBLIC_KEY_PINS 94 +#define HTTP_QUERY_PUBLIC_KEY_PINS_REPORT_ONLY 95 + +#define HTTP_QUERY_MAX 78 +#define HTTP_QUERY_CUSTOM 65535 + +#define HTTP_QUERY_FLAG_REQUEST_HEADERS 0x80000000 +#define HTTP_QUERY_FLAG_SYSTEMTIME 0x40000000 +#define HTTP_QUERY_FLAG_NUMBER 0x20000000 +#define HTTP_QUERY_FLAG_COALESCE 0x10000000 +#define HTTP_QUERY_FLAG_NUMBER64 0x08000000 +#define HTTP_QUERY_FLAG_COALESCE_WITH_COMMA 0x04000000 +#define HTTP_QUERY_MODIFIER_FLAGS_MASK (HTTP_QUERY_FLAG_REQUEST_HEADERS | HTTP_QUERY_FLAG_SYSTEMTIME | HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_FLAG_COALESCE | HTTP_QUERY_FLAG_NUMBER64 | HTTP_QUERY_FLAG_COALESCE_WITH_COMMA) +#define HTTP_QUERY_HEADER_MASK (~HTTP_QUERY_MODIFIER_FLAGS_MASK) + +#define HTTP_STATUS_CONTINUE 100 +#define HTTP_STATUS_SWITCH_PROTOCOLS 101 + +#define HTTP_STATUS_OK 200 +#define HTTP_STATUS_CREATED 201 +#define HTTP_STATUS_ACCEPTED 202 +#define HTTP_STATUS_PARTIAL 203 +#define HTTP_STATUS_NO_CONTENT 204 +#define HTTP_STATUS_RESET_CONTENT 205 +#define HTTP_STATUS_PARTIAL_CONTENT 206 + +#define HTTP_STATUS_AMBIGUOUS 300 +#define HTTP_STATUS_MOVED 301 +#define HTTP_STATUS_REDIRECT 302 +#define HTTP_STATUS_REDIRECT_METHOD 303 +#define HTTP_STATUS_NOT_MODIFIED 304 +#define HTTP_STATUS_USE_PROXY 305 +#define HTTP_STATUS_REDIRECT_KEEP_VERB 307 +#define HTTP_STATUS_PERMANENT_REDIRECT 308 + +#define HTTP_STATUS_BAD_REQUEST 400 +#define HTTP_STATUS_DENIED 401 +#define HTTP_STATUS_PAYMENT_REQ 402 +#define HTTP_STATUS_FORBIDDEN 403 +#define HTTP_STATUS_NOT_FOUND 404 +#define HTTP_STATUS_BAD_METHOD 405 +#define HTTP_STATUS_NONE_ACCEPTABLE 406 +#define HTTP_STATUS_PROXY_AUTH_REQ 407 +#define HTTP_STATUS_REQUEST_TIMEOUT 408 +#define HTTP_STATUS_CONFLICT 409 +#define HTTP_STATUS_GONE 410 +#define HTTP_STATUS_LENGTH_REQUIRED 411 +#define HTTP_STATUS_PRECOND_FAILED 412 +#define HTTP_STATUS_REQUEST_TOO_LARGE 413 +#define HTTP_STATUS_URI_TOO_LONG 414 +#define HTTP_STATUS_UNSUPPORTED_MEDIA 415 +#define HTTP_STATUS_MISDIRECTED_REQUEST 421 +#define HTTP_STATUS_RETRY_WITH 449 + +#define HTTP_STATUS_SERVER_ERROR 500 +#define HTTP_STATUS_NOT_SUPPORTED 501 +#define HTTP_STATUS_BAD_GATEWAY 502 +#define HTTP_STATUS_SERVICE_UNAVAIL 503 +#define HTTP_STATUS_GATEWAY_TIMEOUT 504 +#define HTTP_STATUS_VERSION_NOT_SUP 505 + +#define HTTP_STATUS_FIRST HTTP_STATUS_CONTINUE +#define HTTP_STATUS_LAST HTTP_STATUS_VERSION_NOT_SUP + +#define HttpOpenRequest __MINGW_NAME_AW(HttpOpenRequest) +#define HttpAddRequestHeaders __MINGW_NAME_AW(HttpAddRequestHeaders) + + INTERNETAPI_(HINTERNET) HttpOpenRequestA(HINTERNET hConnect,LPCSTR lpszVerb,LPCSTR lpszObjectName,LPCSTR lpszVersion,LPCSTR lpszReferrer,LPCSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(HINTERNET) HttpOpenRequestW(HINTERNET hConnect,LPCWSTR lpszVerb,LPCWSTR lpszObjectName,LPCWSTR lpszVersion,LPCWSTR lpszReferrer,LPCWSTR *lplpszAcceptTypes,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI HttpAddRequestHeadersA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers); + BOOLAPI HttpAddRequestHeadersW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,DWORD dwModifiers); + +#define HTTP_ADDREQ_INDEX_MASK 0x0000FFFF +#define HTTP_ADDREQ_FLAGS_MASK 0xFFFF0000 + +#define HTTP_ADDREQ_FLAG_ADD_IF_NEW 0x10000000 +#define HTTP_ADDREQ_FLAG_ADD 0x20000000 +#define HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA 0x40000000 +#define HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON 0x01000000 +#define HTTP_ADDREQ_FLAG_COALESCE HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA +#define HTTP_ADDREQ_FLAG_REPLACE 0x80000000 + +#define HttpSendRequest __MINGW_NAME_AW(HttpSendRequest) +#define HttpSendRequestEx __MINGW_NAME_AW(HttpSendRequestEx) + + BOOLAPI HttpSendRequestA(HINTERNET hRequest,LPCSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength); + BOOLAPI HttpSendRequestW(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength); + INTERNETAPI_(WINBOOL) HttpSendRequestExA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersIn,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(WINBOOL) HttpSendRequestExW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersIn,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + +#define HSR_ASYNC WININET_API_FLAG_ASYNC +#define HSR_SYNC WININET_API_FLAG_SYNC +#define HSR_USE_CONTEXT WININET_API_FLAG_USE_CONTEXT +#define HSR_INITIATE 0x00000008 +#define HSR_DOWNLOAD 0x00000010 +#define HSR_CHUNKED 0x00000020 + +#define HttpEndRequest __MINGW_NAME_AW(HttpEndRequest) +#define HttpQueryInfo __MINGW_NAME_AW(HttpQueryInfo) + + INTERNETAPI_(WINBOOL) HttpEndRequestA(HINTERNET hRequest,LPINTERNET_BUFFERSA lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + INTERNETAPI_(WINBOOL) HttpEndRequestW(HINTERNET hRequest,LPINTERNET_BUFFERSW lpBuffersOut,DWORD dwFlags,DWORD_PTR dwContext); + BOOLAPI HttpQueryInfoA(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex); + BOOLAPI HttpQueryInfoW(HINTERNET hRequest,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex); + + typedef struct { + PWSTR pwszName; + PWSTR pwszValue; + PWSTR pwszDomain; + PWSTR pwszPath; + DWORD dwFlags; + FILETIME ftExpires; + WINBOOL fExpiresSet; + } INTERNET_COOKIE2; + +#define INTERNET_COOKIE_IS_SECURE 0x01 +#define INTERNET_COOKIE_IS_SESSION 0x02 + +#define INTERNET_COOKIE_THIRD_PARTY 0x10 +#define INTERNET_COOKIE_PROMPT_REQUIRED 0x20 +#define INTERNET_COOKIE_EVALUATE_P3P 0x40 +#define INTERNET_COOKIE_APPLY_P3P 0x80 + +#define INTERNET_COOKIE_P3P_ENABLED 0x100 +#define INTERNET_COOKIE_IS_RESTRICTED 0x200 +#define INTERNET_COOKIE_IE6 0x400 +#define INTERNET_COOKIE_IS_LEGACY 0x800 + +#define INTERNET_COOKIE_NON_SCRIPT 0x00001000 +#define INTERNET_COOKIE_HTTPONLY 0x00002000 +#define INTERNET_COOKIE_HOST_ONLY 0x00004000 +#define INTERNET_COOKIE_APPLY_HOST_ONLY 0x00008000 + +#define INTERNET_COOKIE_HOST_ONLY_APPLIED 0x00080000 +#define INTERNET_COOKIE_SAME_SITE_STRICT 0x00100000 +#define INTERNET_COOKIE_SAME_SITE_LAX 0x00200000 +#define INTERNET_COOKIE_SAME_SITE_LEVEL_CROSS_SITE 0x00400000 + +#define InternetSetCookie __MINGW_NAME_AW(InternetSetCookie) +#define InternetGetCookie __MINGW_NAME_AW(InternetGetCookie) +#define InternetSetCookieEx __MINGW_NAME_AW(InternetSetCookieEx) +#define InternetGetCookieEx __MINGW_NAME_AW(InternetGetCookieEx) +#define InternetCheckConnection __MINGW_NAME_AW(InternetCheckConnection) + + BOOLAPI InternetSetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData); + BOOLAPI InternetSetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData); + BOOLAPI InternetGetCookieA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize); + BOOLAPI InternetGetCookieW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize); + INTERNETAPI_(DWORD) InternetSetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPCSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved); + INTERNETAPI_(DWORD) InternetSetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPCWSTR lpszCookieData,DWORD dwFlags,DWORD_PTR dwReserved); + BOOLAPI InternetGetCookieExA(LPCSTR lpszUrl,LPCSTR lpszCookieName,LPSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved); + BOOLAPI InternetGetCookieExW(LPCWSTR lpszUrl,LPCWSTR lpszCookieName,LPWSTR lpszCookieData,LPDWORD lpdwSize,DWORD dwFlags,LPVOID lpReserved); + INTERNETAPI_(DWORD) InternetAttemptConnect(DWORD dwReserved); + BOOLAPI InternetCheckConnectionA(LPCSTR lpszUrl,DWORD dwFlags,DWORD dwReserved); + BOOLAPI InternetCheckConnectionW(LPCWSTR lpszUrl,DWORD dwFlags,DWORD dwReserved); + +#define FLAG_ICC_FORCE_CONNECTION 0x00000001 + +#define FLAGS_ERROR_UI_FILTER_FOR_ERRORS 0x01 +#define FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS 0x02 +#define FLAGS_ERROR_UI_FLAGS_GENERATE_DATA 0x04 +#define FLAGS_ERROR_UI_FLAGS_NO_UI 0x08 +#define FLAGS_ERROR_UI_SERIALIZE_DIALOGS 0x10 + + DWORD InternetAuthNotifyCallback(DWORD_PTR dwContext,DWORD dwReturn,LPVOID lpReserved); + typedef DWORD (CALLBACK *PFN_AUTH_NOTIFY) (DWORD_PTR,DWORD,LPVOID); + + typedef struct { + DWORD cbStruct; + DWORD dwOptions; + PFN_AUTH_NOTIFY pfnNotify; + DWORD_PTR dwContext; + } INTERNET_AUTH_NOTIFY_DATA; + +#if defined(UNICODE) +#define InternetConfirmZoneCrossing InternetConfirmZoneCrossingW +#else + INTERNETAPI_(DWORD) InternetConfirmZoneCrossing(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost); +#endif + + INTERNETAPI_(WINBOOL) ResumeSuspendedDownload(HINTERNET hRequest,DWORD dwResultCode); + INTERNETAPI_(DWORD) InternetErrorDlg(HWND hWnd,HINTERNET hRequest,DWORD dwError,DWORD dwFlags,LPVOID *lppvData); + INTERNETAPI_(DWORD) InternetConfirmZoneCrossingA(HWND hWnd,LPSTR szUrlPrev,LPSTR szUrlNew,WINBOOL bPost); + INTERNETAPI_(DWORD) InternetConfirmZoneCrossingW(HWND hWnd,LPWSTR szUrlPrev,LPWSTR szUrlNew,WINBOOL bPost); + +#define INTERNET_ERROR_BASE 12000 + +#define ERROR_INTERNET_OUT_OF_HANDLES (INTERNET_ERROR_BASE + 1) +#define ERROR_INTERNET_TIMEOUT (INTERNET_ERROR_BASE + 2) +#define ERROR_INTERNET_EXTENDED_ERROR (INTERNET_ERROR_BASE + 3) +#define ERROR_INTERNET_INTERNAL_ERROR (INTERNET_ERROR_BASE + 4) +#define ERROR_INTERNET_INVALID_URL (INTERNET_ERROR_BASE + 5) +#define ERROR_INTERNET_UNRECOGNIZED_SCHEME (INTERNET_ERROR_BASE + 6) +#define ERROR_INTERNET_NAME_NOT_RESOLVED (INTERNET_ERROR_BASE + 7) +#define ERROR_INTERNET_PROTOCOL_NOT_FOUND (INTERNET_ERROR_BASE + 8) +#define ERROR_INTERNET_INVALID_OPTION (INTERNET_ERROR_BASE + 9) +#define ERROR_INTERNET_BAD_OPTION_LENGTH (INTERNET_ERROR_BASE + 10) +#define ERROR_INTERNET_OPTION_NOT_SETTABLE (INTERNET_ERROR_BASE + 11) +#define ERROR_INTERNET_SHUTDOWN (INTERNET_ERROR_BASE + 12) +#define ERROR_INTERNET_INCORRECT_USER_NAME (INTERNET_ERROR_BASE + 13) +#define ERROR_INTERNET_INCORRECT_PASSWORD (INTERNET_ERROR_BASE + 14) +#define ERROR_INTERNET_LOGIN_FAILURE (INTERNET_ERROR_BASE + 15) +#define ERROR_INTERNET_INVALID_OPERATION (INTERNET_ERROR_BASE + 16) +#define ERROR_INTERNET_OPERATION_CANCELLED (INTERNET_ERROR_BASE + 17) +#define ERROR_INTERNET_INCORRECT_HANDLE_TYPE (INTERNET_ERROR_BASE + 18) +#define ERROR_INTERNET_INCORRECT_HANDLE_STATE (INTERNET_ERROR_BASE + 19) +#define ERROR_INTERNET_NOT_PROXY_REQUEST (INTERNET_ERROR_BASE + 20) +#define ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND (INTERNET_ERROR_BASE + 21) +#define ERROR_INTERNET_BAD_REGISTRY_PARAMETER (INTERNET_ERROR_BASE + 22) +#define ERROR_INTERNET_NO_DIRECT_ACCESS (INTERNET_ERROR_BASE + 23) +#define ERROR_INTERNET_NO_CONTEXT (INTERNET_ERROR_BASE + 24) +#define ERROR_INTERNET_NO_CALLBACK (INTERNET_ERROR_BASE + 25) +#define ERROR_INTERNET_REQUEST_PENDING (INTERNET_ERROR_BASE + 26) +#define ERROR_INTERNET_INCORRECT_FORMAT (INTERNET_ERROR_BASE + 27) +#define ERROR_INTERNET_ITEM_NOT_FOUND (INTERNET_ERROR_BASE + 28) +#define ERROR_INTERNET_CANNOT_CONNECT (INTERNET_ERROR_BASE + 29) +#define ERROR_INTERNET_CONNECTION_ABORTED (INTERNET_ERROR_BASE + 30) +#define ERROR_INTERNET_CONNECTION_RESET (INTERNET_ERROR_BASE + 31) +#define ERROR_INTERNET_FORCE_RETRY (INTERNET_ERROR_BASE + 32) +#define ERROR_INTERNET_INVALID_PROXY_REQUEST (INTERNET_ERROR_BASE + 33) +#define ERROR_INTERNET_NEED_UI (INTERNET_ERROR_BASE + 34) +#define ERROR_INTERNET_HANDLE_EXISTS (INTERNET_ERROR_BASE + 36) +#define ERROR_INTERNET_SEC_CERT_DATE_INVALID (INTERNET_ERROR_BASE + 37) +#define ERROR_INTERNET_SEC_CERT_CN_INVALID (INTERNET_ERROR_BASE + 38) +#define ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR (INTERNET_ERROR_BASE + 39) +#define ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR (INTERNET_ERROR_BASE + 40) +#define ERROR_INTERNET_MIXED_SECURITY (INTERNET_ERROR_BASE + 41) +#define ERROR_INTERNET_CHG_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 42) +#define ERROR_INTERNET_POST_IS_NON_SECURE (INTERNET_ERROR_BASE + 43) +#define ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED (INTERNET_ERROR_BASE + 44) +#define ERROR_INTERNET_INVALID_CA (INTERNET_ERROR_BASE + 45) +#define ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP (INTERNET_ERROR_BASE + 46) +#define ERROR_INTERNET_ASYNC_THREAD_FAILED (INTERNET_ERROR_BASE + 47) +#define ERROR_INTERNET_REDIRECT_SCHEME_CHANGE (INTERNET_ERROR_BASE + 48) +#define ERROR_INTERNET_DIALOG_PENDING (INTERNET_ERROR_BASE + 49) +#define ERROR_INTERNET_RETRY_DIALOG (INTERNET_ERROR_BASE + 50) +#define ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR (INTERNET_ERROR_BASE + 52) +#define ERROR_INTERNET_INSERT_CDROM (INTERNET_ERROR_BASE + 53) +#define ERROR_INTERNET_FORTEZZA_LOGIN_NEEDED (INTERNET_ERROR_BASE + 54) +#define ERROR_INTERNET_SEC_CERT_ERRORS (INTERNET_ERROR_BASE + 55) +#define ERROR_INTERNET_SEC_CERT_NO_REV (INTERNET_ERROR_BASE + 56) +#define ERROR_INTERNET_SEC_CERT_REV_FAILED (INTERNET_ERROR_BASE + 57) +#define ERROR_FTP_TRANSFER_IN_PROGRESS (INTERNET_ERROR_BASE + 110) +#define ERROR_FTP_DROPPED (INTERNET_ERROR_BASE + 111) +#define ERROR_FTP_NO_PASSIVE_MODE (INTERNET_ERROR_BASE + 112) +#define ERROR_GOPHER_PROTOCOL_ERROR (INTERNET_ERROR_BASE + 130) +#define ERROR_GOPHER_NOT_FILE (INTERNET_ERROR_BASE + 131) +#define ERROR_GOPHER_DATA_ERROR (INTERNET_ERROR_BASE + 132) +#define ERROR_GOPHER_END_OF_DATA (INTERNET_ERROR_BASE + 133) +#define ERROR_GOPHER_INVALID_LOCATOR (INTERNET_ERROR_BASE + 134) +#define ERROR_GOPHER_INCORRECT_LOCATOR_TYPE (INTERNET_ERROR_BASE + 135) +#define ERROR_GOPHER_NOT_GOPHER_PLUS (INTERNET_ERROR_BASE + 136) +#define ERROR_GOPHER_ATTRIBUTE_NOT_FOUND (INTERNET_ERROR_BASE + 137) +#define ERROR_GOPHER_UNKNOWN_LOCATOR (INTERNET_ERROR_BASE + 138) +#define ERROR_HTTP_HEADER_NOT_FOUND (INTERNET_ERROR_BASE + 150) +#define ERROR_HTTP_DOWNLEVEL_SERVER (INTERNET_ERROR_BASE + 151) +#define ERROR_HTTP_INVALID_SERVER_RESPONSE (INTERNET_ERROR_BASE + 152) +#define ERROR_HTTP_INVALID_HEADER (INTERNET_ERROR_BASE + 153) +#define ERROR_HTTP_INVALID_QUERY_REQUEST (INTERNET_ERROR_BASE + 154) +#define ERROR_HTTP_HEADER_ALREADY_EXISTS (INTERNET_ERROR_BASE + 155) +#define ERROR_HTTP_REDIRECT_FAILED (INTERNET_ERROR_BASE + 156) +#define ERROR_HTTP_NOT_REDIRECTED (INTERNET_ERROR_BASE + 160) +#define ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 161) +#define ERROR_HTTP_COOKIE_DECLINED (INTERNET_ERROR_BASE + 162) +#define ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION (INTERNET_ERROR_BASE + 168) +#define ERROR_INTERNET_SECURITY_CHANNEL_ERROR (INTERNET_ERROR_BASE + 157) +#define ERROR_INTERNET_UNABLE_TO_CACHE_FILE (INTERNET_ERROR_BASE + 158) +#define ERROR_INTERNET_TCPIP_NOT_INSTALLED (INTERNET_ERROR_BASE + 159) +#define ERROR_INTERNET_DISCONNECTED (INTERNET_ERROR_BASE + 163) +#define ERROR_INTERNET_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 164) +#define ERROR_INTERNET_PROXY_SERVER_UNREACHABLE (INTERNET_ERROR_BASE + 165) +#define ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT (INTERNET_ERROR_BASE + 166) +#define ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT (INTERNET_ERROR_BASE + 167) +#define ERROR_INTERNET_SEC_INVALID_CERT (INTERNET_ERROR_BASE + 169) +#define ERROR_INTERNET_SEC_CERT_REVOKED (INTERNET_ERROR_BASE + 170) +#define ERROR_INTERNET_FAILED_DUETOSECURITYCHECK (INTERNET_ERROR_BASE + 171) +#define ERROR_INTERNET_NOT_INITIALIZED (INTERNET_ERROR_BASE + 172) +#define ERROR_INTERNET_NEED_MSN_SSPI_PKG (INTERNET_ERROR_BASE + 173) +#define ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY (INTERNET_ERROR_BASE + 174) + +#define INTERNET_ERROR_LAST ERROR_INTERNET_LOGIN_FAILURE_DISPLAY_ENTITY_BODY + +#define NORMAL_CACHE_ENTRY 0x00000001 +#define STICKY_CACHE_ENTRY 0x00000004 +#define EDITED_CACHE_ENTRY 0x00000008 +#define TRACK_OFFLINE_CACHE_ENTRY 0x00000010 +#define TRACK_ONLINE_CACHE_ENTRY 0x00000020 +#define SPARSE_CACHE_ENTRY 0x00010000 +#define COOKIE_CACHE_ENTRY 0x00100000 +#define URLHISTORY_CACHE_ENTRY 0x00200000 + +#define URLCACHE_FIND_DEFAULT_FILTER NORMAL_CACHE_ENTRY | COOKIE_CACHE_ENTRY | URLHISTORY_CACHE_ENTRY | TRACK_OFFLINE_CACHE_ENTRY | TRACK_ONLINE_CACHE_ENTRY | STICKY_CACHE_ENTRY + + typedef struct _INTERNET_CACHE_ENTRY_INFOA { + DWORD dwStructSize; + LPSTR lpszSourceUrlName; + LPSTR lpszLocalFileName; + DWORD CacheEntryType; + DWORD dwUseCount; + DWORD dwHitRate; + DWORD dwSizeLow; + DWORD dwSizeHigh; + FILETIME LastModifiedTime; + FILETIME ExpireTime; + FILETIME LastAccessTime; + FILETIME LastSyncTime; + LPSTR lpHeaderInfo; + DWORD dwHeaderInfoSize; + LPSTR lpszFileExtension; + __C89_NAMELESS union { + DWORD dwReserved; + DWORD dwExemptDelta; + }; + } INTERNET_CACHE_ENTRY_INFOA,*LPINTERNET_CACHE_ENTRY_INFOA; + + typedef struct _INTERNET_CACHE_ENTRY_INFOW { + DWORD dwStructSize; + LPWSTR lpszSourceUrlName; + LPWSTR lpszLocalFileName; + DWORD CacheEntryType; + DWORD dwUseCount; + DWORD dwHitRate; + DWORD dwSizeLow; + DWORD dwSizeHigh; + FILETIME LastModifiedTime; + FILETIME ExpireTime; + FILETIME LastAccessTime; + FILETIME LastSyncTime; + LPWSTR lpHeaderInfo; + DWORD dwHeaderInfoSize; + LPWSTR lpszFileExtension; + __C89_NAMELESS union { + DWORD dwReserved; + DWORD dwExemptDelta; + }; + } INTERNET_CACHE_ENTRY_INFOW,*LPINTERNET_CACHE_ENTRY_INFOW; + + __MINGW_TYPEDEF_AW(INTERNET_CACHE_ENTRY_INFO) + __MINGW_TYPEDEF_AW(LPINTERNET_CACHE_ENTRY_INFO) + + typedef struct _INTERNET_CACHE_TIMESTAMPS { + FILETIME ftExpires; + FILETIME ftLastModified; + } INTERNET_CACHE_TIMESTAMPS,*LPINTERNET_CACHE_TIMESTAMPS; + + typedef LONGLONG GROUPID; + +#define CACHEGROUP_ATTRIBUTE_GET_ALL 0xffffffff +#define CACHEGROUP_ATTRIBUTE_BASIC 0x00000001 +#define CACHEGROUP_ATTRIBUTE_FLAG 0x00000002 +#define CACHEGROUP_ATTRIBUTE_TYPE 0x00000004 +#define CACHEGROUP_ATTRIBUTE_QUOTA 0x00000008 +#define CACHEGROUP_ATTRIBUTE_GROUPNAME 0x00000010 +#define CACHEGROUP_ATTRIBUTE_STORAGE 0x00000020 + +#define CACHEGROUP_FLAG_NONPURGEABLE 0x00000001 +#define CACHEGROUP_FLAG_GIDONLY 0x00000004 + +#define CACHEGROUP_FLAG_FLUSHURL_ONDELETE 0x00000002 + +#define CACHEGROUP_SEARCH_ALL 0x00000000 +#define CACHEGROUP_SEARCH_BYURL 0x00000001 + +#define CACHEGROUP_TYPE_INVALID 0x00000001 + +#define CACHEGROUP_READWRITE_MASK CACHEGROUP_ATTRIBUTE_TYPE | CACHEGROUP_ATTRIBUTE_QUOTA | CACHEGROUP_ATTRIBUTE_GROUPNAME | CACHEGROUP_ATTRIBUTE_STORAGE + +#define GROUPNAME_MAX_LENGTH 120 +#define GROUP_OWNER_STORAGE_SIZE 4 + typedef struct _INTERNET_CACHE_GROUP_INFOA { + DWORD dwGroupSize; + DWORD dwGroupFlags; + DWORD dwGroupType; + DWORD dwDiskUsage; + DWORD dwDiskQuota; + DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; + CHAR szGroupName[GROUPNAME_MAX_LENGTH]; + } INTERNET_CACHE_GROUP_INFOA,*LPINTERNET_CACHE_GROUP_INFOA; + + typedef struct _INTERNET_CACHE_GROUP_INFOW { + DWORD dwGroupSize; + DWORD dwGroupFlags; + DWORD dwGroupType; + DWORD dwDiskUsage; + DWORD dwDiskQuota; + DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; + WCHAR szGroupName[GROUPNAME_MAX_LENGTH]; + } INTERNET_CACHE_GROUP_INFOW,*LPINTERNET_CACHE_GROUP_INFOW; + + __MINGW_TYPEDEF_AW(INTERNET_CACHE_GROUP_INFO) + __MINGW_TYPEDEF_AW(LPINTERNET_CACHE_GROUP_INFO) + +#define CreateUrlCacheEntry __MINGW_NAME_AW(CreateUrlCacheEntry) +#define CommitUrlCacheEntry __MINGW_NAME_AW(CommitUrlCacheEntry) +#define RetrieveUrlCacheEntryFile __MINGW_NAME_AW(RetrieveUrlCacheEntryFile) +#define UnlockUrlCacheEntryFile __MINGW_NAME_AW(UnlockUrlCacheEntryFile) +#define RetrieveUrlCacheEntryStream __MINGW_NAME_AW(RetrieveUrlCacheEntryStream) +#define GetUrlCacheEntryInfo __MINGW_NAME_AW(GetUrlCacheEntryInfo) +#define GetUrlCacheGroupAttribute __MINGW_NAME_AW(GetUrlCacheGroupAttribute) +#define SetUrlCacheGroupAttribute __MINGW_NAME_AW(SetUrlCacheGroupAttribute) +#define GetUrlCacheEntryInfoEx __MINGW_NAME_AW(GetUrlCacheEntryInfoEx) + + BOOLAPI CreateUrlCacheEntryA(LPCSTR lpszUrlName,DWORD dwExpectedFileSize,LPCSTR lpszFileExtension,LPSTR lpszFileName,DWORD dwReserved); + BOOLAPI CreateUrlCacheEntryW(LPCWSTR lpszUrlName,DWORD dwExpectedFileSize,LPCWSTR lpszFileExtension,LPWSTR lpszFileName,DWORD dwReserved); +#ifndef USE_FIXED_COMMIT_URL_CACHE_ENTRY + BOOLAPI CommitUrlCacheEntryA(LPCSTR lpszUrlName,LPCSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPBYTE lpHeaderInfo,DWORD dwHeaderSize,LPCSTR lpszFileExtension,LPCSTR lpszOriginalUrl); + BOOLAPI CommitUrlCacheEntryW(LPCWSTR lpszUrlName,LPCWSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPWSTR lpszHeaderInfo,DWORD dwHeaders,LPCWSTR lpszFileExtension,LPCWSTR lpszOriginalUrl); +#else + CommitUrlCacheEntryA(LPCSTR lpszUrlName,LPCSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPCSTR lpHeaderInfo,DWORD dwHeaderSize,LPCSTR lpszFileExtension,LPCSTR lpszOriginalUrl); + CommitUrlCacheEntryW(LPCWSTR lpszUrlName,LPCWSTR lpszLocalFileName,FILETIME ExpireTime,FILETIME LastModifiedTime,DWORD CacheEntryType,LPCWSTR lpHeaderInfo,DWORD dwHeaderSize,LPCWSTR lpszFileExtension,LPCWSTR lpszOriginalUrl); +#endif + BOOLAPI RetrieveUrlCacheEntryFileA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved); + BOOLAPI RetrieveUrlCacheEntryFileW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,DWORD dwReserved); + BOOLAPI UnlockUrlCacheEntryFileA(LPCSTR lpszUrlName,DWORD dwReserved); + BOOLAPI UnlockUrlCacheEntryFileW(LPCWSTR lpszUrlName,DWORD dwReserved); + INTERNETAPI_(HANDLE) RetrieveUrlCacheEntryStreamA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved); + INTERNETAPI_(HANDLE) RetrieveUrlCacheEntryStreamW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,WINBOOL fRandomRead,DWORD dwReserved); + BOOLAPI ReadUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD dwLocation,LPVOID lpBuffer,LPDWORD lpdwLen,DWORD Reserved); + BOOLAPI UnlockUrlCacheEntryStream(HANDLE hUrlCacheStream,DWORD Reserved); + URLCACHEAPI_(WINBOOL) GetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + URLCACHEAPI_(WINBOOL) GetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + URLCACHEAPI_(HANDLE) FindFirstUrlCacheGroup(DWORD dwFlags,DWORD dwFilter,LPVOID lpSearchCondition,DWORD dwSearchCondition,GROUPID *lpGroupId,LPVOID lpReserved); + URLCACHEAPI_(WINBOOL) FindNextUrlCacheGroup(HANDLE hFind,GROUPID *lpGroupId,LPVOID lpReserved); + URLCACHEAPI_(WINBOOL) GetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved); + URLCACHEAPI_(WINBOOL) GetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPDWORD lpdwGroupInfo,LPVOID lpReserved); + URLCACHEAPI_(WINBOOL) SetUrlCacheGroupAttributeA(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo,LPVOID lpReserved); + URLCACHEAPI_(WINBOOL) SetUrlCacheGroupAttributeW(GROUPID gid,DWORD dwFlags,DWORD dwAttributes,LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo,LPVOID lpReserved); + INTERNETAPI_(GROUPID) CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved); + BOOLAPI DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved); + BOOLAPI GetUrlCacheEntryInfoExA(LPCSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags); + BOOLAPI GetUrlCacheEntryInfoExW(LPCWSTR lpszUrl,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,LPDWORD lpcbCacheEntryInfo,LPWSTR lpszRedirectUrl,LPDWORD lpcbRedirectUrl,LPVOID lpReserved,DWORD dwFlags); + +#define CACHE_ENTRY_ATTRIBUTE_FC 0x00000004 +#define CACHE_ENTRY_HITRATE_FC 0x00000010 +#define CACHE_ENTRY_MODTIME_FC 0x00000040 +#define CACHE_ENTRY_EXPTIME_FC 0x00000080 +#define CACHE_ENTRY_ACCTIME_FC 0x00000100 +#define CACHE_ENTRY_SYNCTIME_FC 0x00000200 +#define CACHE_ENTRY_HEADERINFO_FC 0x00000400 +#define CACHE_ENTRY_EXEMPT_DELTA_FC 0x00000800 + +#define SetUrlCacheEntryInfo __MINGW_NAME_AW(SetUrlCacheEntryInfo) +#define FindFirstUrlCacheEntryEx __MINGW_NAME_AW(FindFirstUrlCacheEntryEx) +#define FindNextUrlCacheEntryEx __MINGW_NAME_AW(FindNextUrlCacheEntryEx) +#define FindFirstUrlCacheEntry __MINGW_NAME_AW(FindFirstUrlCacheEntry) +#define FindNextUrlCacheEntry __MINGW_NAME_AW(FindNextUrlCacheEntry) + +#if defined(UNICODE) +#define InternetDial InternetDialW +#define InternetGoOnline InternetGoOnlineW +#define DeleteUrlCacheEntry DeleteUrlCacheEntryW +#define SetUrlCacheEntryGroup SetUrlCacheEntryGroupW +#else + BOOLAPI SetUrlCacheEntryGroup(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); + BOOLAPI DeleteUrlCacheEntry(LPCSTR lpszUrlName); + INTERNETAPI_(DWORD) InternetDial(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,LPDWORD lpdwConnection,DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetGoOnline(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags); +#endif + + BOOLAPI SetUrlCacheEntryInfoA(LPCSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo,DWORD dwFieldControl); + BOOLAPI SetUrlCacheEntryInfoW(LPCWSTR lpszUrlName,LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo,DWORD dwFieldControl); + INTERNETAPI_(GROUPID) CreateUrlCacheGroup(DWORD dwFlags,LPVOID lpReserved); + BOOLAPI DeleteUrlCacheGroup(GROUPID GroupId,DWORD dwFlags,LPVOID lpReserved); + +#define INTERNET_CACHE_GROUP_ADD 0 +#define INTERNET_CACHE_GROUP_REMOVE 1 + + BOOLAPI SetUrlCacheEntryGroupA(LPCSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); + BOOLAPI SetUrlCacheEntryGroupW(LPCWSTR lpszUrlName,DWORD dwFlags,GROUPID GroupId,LPBYTE pbGroupAttributes,DWORD cbGroupAttributes,LPVOID lpReserved); + INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryExA(LPCSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); + INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryExW(LPCWSTR lpszUrlSearchPattern,DWORD dwFlags,DWORD dwFilter,GROUPID GroupId,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); + BOOLAPI FindNextUrlCacheEntryExA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); + BOOLAPI FindNextUrlCacheEntryExW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbEntryInfo,LPVOID lpGroupAttributes,LPDWORD lpcbGroupAttributes,LPVOID lpReserved); + INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryA(LPCSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + INTERNETAPI_(HANDLE) FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern,LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + BOOLAPI FindNextUrlCacheEntryA(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + BOOLAPI FindNextUrlCacheEntryW(HANDLE hEnumHandle,LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo,LPDWORD lpcbCacheEntryInfo); + BOOLAPI FindCloseUrlCache(HANDLE hEnumHandle); + BOOLAPI DeleteUrlCacheEntryA(LPCSTR lpszUrlName); + BOOLAPI DeleteUrlCacheEntryW(LPCWSTR lpszUrlName); + INTERNETAPI_(DWORD) InternetDialA(HWND hwndParent,LPSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved); + INTERNETAPI_(DWORD) InternetDialW(HWND hwndParent,LPWSTR lpszConnectoid,DWORD dwFlags,DWORD_PTR *lpdwConnection,DWORD dwReserved); + +#define INTERNET_DIAL_FORCE_PROMPT 0x2000 +#define INTERNET_DIAL_SHOW_OFFLINE 0x4000 +#define INTERNET_DIAL_UNATTENDED 0x8000 + + INTERNETAPI_(DWORD) InternetHangUp(DWORD_PTR dwConnection,DWORD dwReserved); + +#define INTERENT_GOONLINE_REFRESH 0x00000001 +#define INTERENT_GOONLINE_MASK 0x00000001 + + INTERNETAPI_(WINBOOL) InternetGoOnlineA(LPSTR lpszURL,HWND hwndParent,DWORD dwFlags); + INTERNETAPI_(WINBOOL) InternetGoOnlineW(LPWSTR lpszURL,HWND hwndParent,DWORD dwFlags); + + INTERNETAPI_(WINBOOL) InternetAutodial(DWORD dwFlags,HWND hwndParent); + +#define INTERNET_AUTODIAL_FORCE_ONLINE 1 +#define INTERNET_AUTODIAL_FORCE_UNATTENDED 2 +#define INTERNET_AUTODIAL_FAILIFSECURITYCHECK 4 +#define INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT 8 + +#define INTERNET_AUTODIAL_FLAGS_MASK (INTERNET_AUTODIAL_FORCE_ONLINE | INTERNET_AUTODIAL_FORCE_UNATTENDED | INTERNET_AUTODIAL_FAILIFSECURITYCHECK | INTERNET_AUTODIAL_OVERRIDE_NET_PRESENT) + + INTERNETAPI_(WINBOOL) InternetAutodialHangup(DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetGetConnectedState(LPDWORD lpdwFlags,DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetGetConnectedStateExA(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetGetConnectedStateExW(LPDWORD lpdwFlags,LPWSTR lpszConnectionName,DWORD dwBufLen,DWORD dwReserved); + +#define PROXY_AUTO_DETECT_TYPE_DHCP 1 +#define PROXY_AUTO_DETECT_TYPE_DNS_A 2 + + struct AutoProxyHelperFunctions; + + typedef struct AutoProxyHelperVtbl { + WINBOOL (WINAPI *IsResolvable)(LPSTR lpszHost); + DWORD (WINAPI *GetIPAddress)(LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize); + DWORD (WINAPI *ResolveHostName)(LPSTR lpszHostName,LPSTR lpszIPAddress,LPDWORD lpdwIPAddressSize); + WINBOOL (WINAPI *IsInNet)(LPSTR lpszIPAddress,LPSTR lpszDest,LPSTR lpszMask); + } AutoProxyHelperVtbl; + + typedef struct { + DWORD dwStructSize; + LPSTR lpszScriptBuffer; + DWORD dwScriptBufferSize; + } AUTO_PROXY_SCRIPT_BUFFER,*LPAUTO_PROXY_SCRIPT_BUFFER; + + typedef struct AutoProxyHelperFunctions { + const struct AutoProxyHelperVtbl *lpVtbl; + } AutoProxyHelperFunctions; + + typedef WINBOOL (CALLBACK *pfnInternetInitializeAutoProxyDll)(DWORD dwVersion,LPSTR lpszDownloadedTempFile,LPSTR lpszMime,AutoProxyHelperFunctions *lpAutoProxyCallbacks,LPAUTO_PROXY_SCRIPT_BUFFER lpAutoProxyScriptBuffer); + typedef WINBOOL (CALLBACK *pfnInternetDeInitializeAutoProxyDll)(LPSTR lpszMime,DWORD dwReserved); + typedef WINBOOL (CALLBACK *pfnInternetGetProxyInfo)(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength); + +#if defined(UNICODE) +#define InternetGetConnectedStateEx InternetGetConnectedStateExW +#else + INTERNETAPI_(WINBOOL) InternetGetConnectedStateEx(LPDWORD lpdwFlags,LPSTR lpszConnectionName,DWORD dwNameLen,DWORD dwReserved); +#endif + + INTERNETAPI_(WINBOOL) InternetInitializeAutoProxyDll(DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetDeInitializeAutoProxyDll(LPSTR lpszMime,DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetGetProxyInfo(LPCSTR lpszUrl,DWORD dwUrlLength,LPSTR lpszUrlHostName,DWORD dwUrlHostNameLength,LPSTR *lplpszProxyHostName,LPDWORD lpdwProxyHostNameLength); + INTERNETAPI_(WINBOOL) DetectAutoProxyUrl(LPSTR lpszAutoProxyUrl,DWORD dwAutoProxyUrlLength,DWORD dwDetectFlags); + INTERNETAPI_(WINBOOL) CreateMD5SSOHash(PWSTR pszChallengeInfo,PWSTR pwszRealm,PWSTR pwszTarget,PBYTE pbHexHash); + +#define INTERNET_CONNECTION_MODEM 0x01 +#define INTERNET_CONNECTION_LAN 0x02 +#define INTERNET_CONNECTION_PROXY 0x04 +#define INTERNET_CONNECTION_MODEM_BUSY 0x08 +#define INTERNET_RAS_INSTALLED 0x10 +#define INTERNET_CONNECTION_OFFLINE 0x20 +#define INTERNET_CONNECTION_CONFIGURED 0x40 + + typedef DWORD (CALLBACK *PFN_DIAL_HANDLER) (HWND,LPCSTR,DWORD,LPDWORD); + +#define INTERNET_CUSTOMDIAL_CONNECT 0 +#define INTERNET_CUSTOMDIAL_UNATTENDED 1 +#define INTERNET_CUSTOMDIAL_DISCONNECT 2 +#define INTERNET_CUSTOMDIAL_SHOWOFFLINE 4 + +#define INTERNET_CUSTOMDIAL_SAFE_FOR_UNATTENDED 1 +#define INTERNET_CUSTOMDIAL_WILL_SUPPLY_STATE 2 +#define INTERNET_CUSTOMDIAL_CAN_HANGUP 4 + +#define InternetSetPerSiteCookieDecision __MINGW_NAME_AW(InternetSetPerSiteCookieDecision) +#define InternetGetPerSiteCookieDecision __MINGW_NAME_AW(InternetGetPerSiteCookieDecision) +#define InternetEnumPerSiteCookieDecision __MINGW_NAME_AW(InternetEnumPerSiteCookieDecision) + +#if defined(UNICODE) +#define InternetSetDialState InternetSetDialStateW +#else + INTERNETAPI_(WINBOOL) InternetSetDialState(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); +#endif + + INTERNETAPI_(WINBOOL) InternetSetDialStateA(LPCSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); + INTERNETAPI_(WINBOOL) InternetSetDialStateW(LPCWSTR lpszConnectoid,DWORD dwState,DWORD dwReserved); + +#define INTERNET_DIALSTATE_DISCONNECTED 1 + + INTERNETAPI_(WINBOOL) InternetSetPerSiteCookieDecisionA(LPCSTR pchHostName,DWORD dwDecision); + INTERNETAPI_(WINBOOL) InternetSetPerSiteCookieDecisionW(LPCWSTR pchHostName,DWORD dwDecision); + INTERNETAPI_(WINBOOL) InternetGetPerSiteCookieDecisionA(LPCSTR pchHostName,unsigned __LONG32 *pResult); + INTERNETAPI_(WINBOOL) InternetGetPerSiteCookieDecisionW(LPCWSTR pchHostName,unsigned __LONG32 *pResult); + INTERNETAPI_(WINBOOL) InternetClearAllPerSiteCookieDecisions(); + INTERNETAPI_(WINBOOL) InternetEnumPerSiteCookieDecisionA(LPSTR pszSiteName,unsigned __LONG32 *pcSiteNameSize,unsigned __LONG32 *pdwDecision,unsigned __LONG32 dwIndex); + INTERNETAPI_(WINBOOL) InternetEnumPerSiteCookieDecisionW(LPWSTR pszSiteName,unsigned __LONG32 *pcSiteNameSize,unsigned __LONG32 *pdwDecision,unsigned __LONG32 dwIndex); + +#define INTERNET_IDENTITY_FLAG_PRIVATE_CACHE 0x01 +#define INTERNET_IDENTITY_FLAG_SHARED_CACHE 0x02 +#define INTERNET_IDENTITY_FLAG_CLEAR_DATA 0x04 +#define INTERNET_IDENTITY_FLAG_CLEAR_COOKIES 0x08 +#define INTERNET_IDENTITY_FLAG_CLEAR_HISTORY 0x10 +#define INTERNET_IDENTITY_FLAG_CLEAR_CONTENT 0x20 + +#define INTERNET_SUPPRESS_RESET_ALL 0x00 +#define INTERNET_SUPPRESS_COOKIE_POLICY 0x01 +#define INTERNET_SUPPRESS_COOKIE_POLICY_RESET 0x02 + +#define PRIVACY_TEMPLATE_NO_COOKIES 0 +#define PRIVACY_TEMPLATE_HIGH 1 +#define PRIVACY_TEMPLATE_MEDIUM_HIGH 2 +#define PRIVACY_TEMPLATE_MEDIUM 3 +#define PRIVACY_TEMPLATE_MEDIUM_LOW 4 +#define PRIVACY_TEMPLATE_LOW 5 +#define PRIVACY_TEMPLATE_CUSTOM 100 +#define PRIVACY_TEMPLATE_ADVANCED 101 + +#define PRIVACY_TEMPLATE_MAX PRIVACY_TEMPLATE_LOW + +#define PRIVACY_TYPE_FIRST_PARTY 0 +#define PRIVACY_TYPE_THIRD_PARTY 1 + + INTERNETAPI_(DWORD) PrivacySetZonePreferenceW(DWORD dwZone,DWORD dwType,DWORD dwTemplate,LPCWSTR pszPreference); + INTERNETAPI_(DWORD) PrivacyGetZonePreferenceW(DWORD dwZone,DWORD dwType,LPDWORD pdwTemplate,LPWSTR pszBuffer,LPDWORD pdwBufferLength); + +#if defined(__cplusplus) +} +#endif + +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winineti.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winineti.h new file mode 100644 index 00000000..3af70830 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winineti.h @@ -0,0 +1,148 @@ +#include <_mingw_unicode.h> +/* + * Copyright (C) 2007 Francois Gouget + * + * 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 _WINE_WININETI_H_ +#define _WINE_WININETI_H_ + +/* FIXME: #include */ +#include +#include + +typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYA +{ + CHAR CachePath[MAX_PATH]; + DWORD dwCacheSize; +} INTERNET_CACHE_CONFIG_PATH_ENTRYA, *LPINTERNET_CACHE_CONFIG_PATH_ENTRYA; + +typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYW +{ + WCHAR CachePath[MAX_PATH]; + DWORD dwCacheSize; +} INTERNET_CACHE_CONFIG_PATH_ENTRYW, *LPINTERNET_CACHE_CONFIG_PATH_ENTRYW; + +__MINGW_TYPEDEF_AW(INTERNET_CACHE_CONFIG_PATH_ENTRY) +__MINGW_TYPEDEF_AW(LPINTERNET_CACHE_CONFIG_PATH_ENTRY) + +typedef struct _INTERNET_CACHE_CONFIG_INFOA +{ + DWORD dwStructSize; + DWORD dwContainer; + DWORD dwQuota; + DWORD dwReserved4; + WINBOOL fPerUser; + DWORD dwSyncMode; + DWORD dwNumCachePaths; + __C89_NAMELESS union + { + __C89_NAMELESS struct + { + CHAR CachePath[MAX_PATH]; + DWORD dwCacheSize; + } __C89_NAMELESSSTRUCTNAME; + INTERNET_CACHE_CONFIG_PATH_ENTRYA CachePaths[ANYSIZE_ARRAY]; + } __C89_NAMELESSUNIONNAME; + DWORD dwNormalUsage; + DWORD dwExemptUsage; +} INTERNET_CACHE_CONFIG_INFOA, *LPINTERNET_CACHE_CONFIG_INFOA; + +typedef struct _INTERNET_CACHE_CONFIG_INFOW +{ + DWORD dwStructSize; + DWORD dwContainer; + DWORD dwQuota; + DWORD dwReserved4; + WINBOOL fPerUser; + DWORD dwSyncMode; + DWORD dwNumCachePaths; + __C89_NAMELESS union + { + __C89_NAMELESS struct + { + WCHAR CachePath[MAX_PATH]; + DWORD dwCacheSize; + } __C89_NAMELESSSTRUCTNAME; + INTERNET_CACHE_CONFIG_PATH_ENTRYW CachePaths[ANYSIZE_ARRAY]; + } __C89_NAMELESSUNIONNAME; + DWORD dwNormalUsage; + DWORD dwExemptUsage; +} INTERNET_CACHE_CONFIG_INFOW, *LPINTERNET_CACHE_CONFIG_INFOW; + +__MINGW_TYPEDEF_AW(INTERNET_CACHE_CONFIG_INFO) +__MINGW_TYPEDEF_AW(LPINTERNET_CACHE_CONFIG_INFO) + +typedef enum { + WININET_SYNC_MODE_NEVER = 0, + WININET_SYNC_MODE_ON_EXPIRY, + WININET_SYNC_MODE_ONCE_PER_SESSION, + WININET_SYNC_MODE_ALWAYS, + WININET_SYNC_MODE_AUTOMATIC, + WININET_SYNC_MODE_DEFAULT = WININET_SYNC_MODE_AUTOMATIC +} WININET_SYNC_MODE; + +/* Flags for GetUrlCacheConfigInfoA/W and SetUrlCacheConfigInfoA/W */ +#define CACHE_CONFIG_FORCE_CLEANUP_FC 0x00000020 +#define CACHE_CONFIG_DISK_CACHE_PATHS_FC 0x00000040 +#define CACHE_CONFIG_SYNC_MODE_FC 0x00000080 +#define CACHE_CONFIG_CONTENT_PATHS_FC 0x00000100 +#define CACHE_CONFIG_COOKIES_PATHS_FC 0x00000200 +#define CACHE_CONFIG_HISTORY_PATHS_FC 0x00000400 +#define CACHE_CONFIG_QUOTA_FC 0x00000800 +#define CACHE_CONFIG_USER_MODE_FC 0x00001000 +#define CACHE_CONFIG_CONTENT_USAGE_FC 0x00002000 +#define CACHE_CONFIG_STICKY_CONTENT_USAGE_FC 0x00004000 + +#define ERROR_INTERNET_NO_NEW_CONTAINERS (INTERNET_ERROR_BASE + 51) +#define ERROR_INTERNET_SOURCE_PORT_IN_USE (INTERNET_ERROR_BASE + 58) +#define ERROR_INTERNET_INSECURE_FALLBACK_REQUIRED (INTERNET_ERROR_BASE + 59) +#define ERROR_INTERNET_PROXY_ALERT (INTERNET_ERROR_BASE + 61) +#define ERROR_INTERNET_NO_CM_CONNECTION (INTERNET_ERROR_BASE + 80) +#define ERROR_HTTP_PUSH_STATUS_CODE_NOT_SUPPORTED (INTERNET_ERROR_BASE + 147) +#define ERROR_HTTP_PUSH_RETRY_NOT_SUPPORTED (INTERNET_ERROR_BASE + 148) +#define ERROR_HTTP_PUSH_ENABLE_FAILED (INTERNET_ERROR_BASE + 149) + +#define ERROR_INTERNET_OFFLINE ERROR_INTERNET_DISCONNECTED + +#ifdef __cplusplus +extern "C" { +#endif + +DWORD WINAPI DeleteIE3Cache(HWND,HINSTANCE,LPSTR,int); +WINBOOL WINAPI GetDiskInfoA(PCSTR,PDWORD,PDWORDLONG,PDWORDLONG); +WINBOOL WINAPI GetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,LPDWORD,DWORD); +WINBOOL WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,LPDWORD,DWORD); +#define GetUrlCacheConfigInfo __MINGW_NAME_AW(GetUrlCacheConfigInfo) +WINBOOL WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD); +WINBOOL WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR); +WINBOOL WINAPI IsHostInProxyBypassList(INTERNET_SCHEME,LPCSTR,DWORD); +WINBOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*); +WINBOOL WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*); +#define IsUrlCacheEntryExpired __MINGW_NAME_AW(IsUrlCacheEntryExpired) +DWORD WINAPI ParseX509EncodedCertificateForListBoxEntry(LPBYTE,DWORD,LPSTR,LPDWORD); +WINBOOL WINAPI SetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,DWORD); +WINBOOL WINAPI SetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,DWORD); +#define SetUrlCacheConfigInfo __MINGW_NAME_AW(SetUrlCacheConfigInfo) +WINBOOL WINAPI InternetGetSecurityInfoByURLA(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*); +WINBOOL WINAPI InternetGetSecurityInfoByURLW(LPCWSTR,PCCERT_CHAIN_CONTEXT*,DWORD*); +#define InternetGetSecurityInfoByURL __MINGW_NAME_AW(InternetGetSecurityInfoByURL) + +#ifdef __cplusplus +} +#endif + +#endif /* _WINE_WININETI_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winioctl.h new file mode 100644 index 00000000..55aa288b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winioctl.h @@ -0,0 +1,3297 @@ +/** + * 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 DEFINE_GUID + +#ifndef FAR +#define FAR +#endif + +DEFINE_GUID(GUID_DEVINTERFACE_DISK,0x53f56307,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_CDROM,0x53f56308,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_PARTITION,0x53f5630a,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_TAPE,0x53f5630b,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_WRITEONCEDISK,0x53f5630c,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_VOLUME,0x53f5630d,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_MEDIUMCHANGER,0x53f56310,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_FLOPPY,0x53f56311,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_CDCHANGER,0x53f56312,0xb6bf,0x11d0,0x94,0xf2,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_STORAGEPORT,0x2accfe60,0xc130,0x11d2,0xb0,0x82,0x00,0xa0,0xc9,0x1e,0xfb,0x8b); +DEFINE_GUID(GUID_DEVINTERFACE_VMLUN,0x6f416619,0x9f29,0x42a5,0xb2,0x0b,0x37,0xe2,0x19,0xca,0x02,0xb0); +DEFINE_GUID(GUID_DEVINTERFACE_SES,0x1790c9ec,0x47d5,0x4df3,0xb5,0xaf,0x9a,0xdf,0x3c,0xf2,0x3e,0x48); +DEFINE_GUID(GUID_DEVINTERFACE_ZNSDISK,0xb87941c5,0xffdb,0x43c7,0xb6,0xb1,0x20,0xb6,0x32,0xf0,0xb1,0x09); +#define WDI_STORAGE_PREDICT_FAILURE_DPS_GUID {0xe9f2d03a,0x747c,0x41c2,{0xbb,0x9a,0x02,0xc6,0x2b,0x6d,0x5f,0xcb}}; + +DEFINE_GUID(GUID_DEVINTERFACE_SERVICE_VOLUME,0x6ead3d82,0x25ec,0x46bc,0xb7,0xfd,0xc1,0xf0,0xdf,0x8f,0x50,0x37); +DEFINE_GUID(GUID_DEVINTERFACE_HIDDEN_VOLUME,0x7f108a28,0x9833,0x4b3b,0xb7,0x80,0x2c,0x6b,0x5f,0xa5,0xc0,0x62); +DEFINE_GUID(GUID_DEVINTERFACE_UNIFIED_ACCESS_RPMB,0x27447c21,0xbcc3,0x4d07,0xa0,0x5b,0xa3,0x39,0x5b,0xb4,0xee,0xe7); +DEFINE_GUID(GUID_DEVINTERFACE_SCM_PHYSICAL_DEVICE,0x4283609d,0x4dc2,0x43be,0xbb,0xb4,0x4f,0x15,0xdf,0xce,0x2c,0x61); +DEFINE_GUID(GUID_SCM_PD_HEALTH_NOTIFICATION,0x9da2d386,0x72f5,0x4ee3,0x81,0x55,0xec,0xa0,0x67,0x8e,0x3b,0x6); +DEFINE_GUID(GUID_SCM_PD_PASSTHROUGH_INVDIMM,0x4309ac30,0x0d11,0x11e4,0x91,0x91,0x08,0x00,0x20,0x0c,0x9a,0x66); +DEFINE_GUID(GUID_DEVINTERFACE_COMPORT,0x86e0d1e0,0x8089,0x11d0,0x9c,0xe4,0x08,0x00,0x3e,0x30,0x1f,0x73); +DEFINE_GUID(GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR,0x4D36E978,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18); + +#define DiskClassGuid GUID_DEVINTERFACE_DISK +#define CdRomClassGuid GUID_DEVINTERFACE_CDROM +#define PartitionClassGuid GUID_DEVINTERFACE_PARTITION +#define TapeClassGuid GUID_DEVINTERFACE_TAPE +#define WriteOnceDiskClassGuid GUID_DEVINTERFACE_WRITEONCEDISK +#define VolumeClassGuid GUID_DEVINTERFACE_VOLUME +#define MediumChangerClassGuid GUID_DEVINTERFACE_MEDIUMCHANGER +#define FloppyClassGuid GUID_DEVINTERFACE_FLOPPY +#define CdChangerClassGuid GUID_DEVINTERFACE_CDCHANGER +#define StoragePortClassGuid GUID_DEVINTERFACE_STORAGEPORT +#define HiddenVolumeClassGuid GUID_DEVINTERFACE_HIDDEN_VOLUME +#define GUID_CLASS_COMPORT GUID_DEVINTERFACE_COMPORT +#define GUID_SERENUM_BUS_ENUMERATOR GUID_DEVINTERFACE_SERENUM_BUS_ENUMERATOR +#endif /* DEFINE_GUID */ + +#ifdef DEFINE_DEVPROPKEY + +#ifndef __WRAPPED__ +#define __WRAPPED__ +#endif + +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Portable,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,2); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Removable_Media,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,3); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_System_Critical,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,4); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Disk_Number,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,5); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Partition_Number,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,6); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Mbr_Type,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,7); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Gpt_Type,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,8); +DEFINE_DEVPROPKEY(DEVPKEY_Storage_Gpt_Name,0x4d1ebee8,0x803,0x4774,0x98,0x42,0xb7,0x7d,0xb5,0x2,0x65,0xe9,9); + +#endif /* DEFINE_DEVPROPKEY */ + +#ifndef _WINIOCTL_ +#define _WINIOCTL_ + +#ifndef _DEVIOCTL_ +#define _DEVIOCTL_ + +#ifndef DEVICE_TYPE +#define DEVICE_TYPE DWORD +#endif + +#define FILE_DEVICE_BEEP 0x00000001 +#define FILE_DEVICE_CD_ROM 0x00000002 +#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 +#define FILE_DEVICE_CONTROLLER 0x00000004 +#define FILE_DEVICE_DATALINK 0x00000005 +#define FILE_DEVICE_DFS 0x00000006 +#define FILE_DEVICE_DISK 0x00000007 +#define FILE_DEVICE_DISK_FILE_SYSTEM 0x00000008 +#define FILE_DEVICE_FILE_SYSTEM 0x00000009 +#define FILE_DEVICE_INPORT_PORT 0x0000000a +#define FILE_DEVICE_KEYBOARD 0x0000000b +#define FILE_DEVICE_MAILSLOT 0x0000000c +#define FILE_DEVICE_MIDI_IN 0x0000000d +#define FILE_DEVICE_MIDI_OUT 0x0000000e +#define FILE_DEVICE_MOUSE 0x0000000f +#define FILE_DEVICE_MULTI_UNC_PROVIDER 0x00000010 +#define FILE_DEVICE_NAMED_PIPE 0x00000011 +#define FILE_DEVICE_NETWORK 0x00000012 +#define FILE_DEVICE_NETWORK_BROWSER 0x00000013 +#define FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014 +#define FILE_DEVICE_NULL 0x00000015 +#define FILE_DEVICE_PARALLEL_PORT 0x00000016 +#define FILE_DEVICE_PHYSICAL_NETCARD 0x00000017 +#define FILE_DEVICE_PRINTER 0x00000018 +#define FILE_DEVICE_SCANNER 0x00000019 +#define FILE_DEVICE_SERIAL_MOUSE_PORT 0x0000001a +#define FILE_DEVICE_SERIAL_PORT 0x0000001b +#define FILE_DEVICE_SCREEN 0x0000001c +#define FILE_DEVICE_SOUND 0x0000001d +#define FILE_DEVICE_STREAMS 0x0000001e +#define FILE_DEVICE_TAPE 0x0000001f +#define FILE_DEVICE_TAPE_FILE_SYSTEM 0x00000020 +#define FILE_DEVICE_TRANSPORT 0x00000021 +#define FILE_DEVICE_UNKNOWN 0x00000022 +#define FILE_DEVICE_VIDEO 0x00000023 +#define FILE_DEVICE_VIRTUAL_DISK 0x00000024 +#define FILE_DEVICE_WAVE_IN 0x00000025 +#define FILE_DEVICE_WAVE_OUT 0x00000026 +#define FILE_DEVICE_8042_PORT 0x00000027 +#define FILE_DEVICE_NETWORK_REDIRECTOR 0x00000028 +#define FILE_DEVICE_BATTERY 0x00000029 +#define FILE_DEVICE_BUS_EXTENDER 0x0000002a +#define FILE_DEVICE_MODEM 0x0000002b +#define FILE_DEVICE_VDM 0x0000002c +#define FILE_DEVICE_MASS_STORAGE 0x0000002d +#define FILE_DEVICE_SMB 0x0000002e +#define FILE_DEVICE_KS 0x0000002f +#define FILE_DEVICE_CHANGER 0x00000030 +#define FILE_DEVICE_SMARTCARD 0x00000031 +#define FILE_DEVICE_ACPI 0x00000032 +#define FILE_DEVICE_DVD 0x00000033 +#define FILE_DEVICE_FULLSCREEN_VIDEO 0x00000034 +#define FILE_DEVICE_DFS_FILE_SYSTEM 0x00000035 +#define FILE_DEVICE_DFS_VOLUME 0x00000036 +#define FILE_DEVICE_SERENUM 0x00000037 +#define FILE_DEVICE_TERMSRV 0x00000038 +#define FILE_DEVICE_KSEC 0x00000039 +#define FILE_DEVICE_FIPS 0x0000003A +#define FILE_DEVICE_INFINIBAND 0x0000003B +#define FILE_DEVICE_VMBUS 0x0000003E +#define FILE_DEVICE_CRYPT_PROVIDER 0x0000003F +#define FILE_DEVICE_WPD 0x00000040 +#define FILE_DEVICE_BLUETOOTH 0x00000041 +#define FILE_DEVICE_MT_COMPOSITE 0x00000042 +#define FILE_DEVICE_MT_TRANSPORT 0x00000043 +#define FILE_DEVICE_BIOMETRIC 0x00000044 +#define FILE_DEVICE_PMI 0x00000045 +#define FILE_DEVICE_EHSTOR 0x00000046 +#define FILE_DEVICE_DEVAPI 0x00000047 +#define FILE_DEVICE_GPIO 0x00000048 +#define FILE_DEVICE_USBEX 0x00000049 +#define FILE_DEVICE_CONSOLE 0x00000050 +#define FILE_DEVICE_NFP 0x00000051 +#define FILE_DEVICE_SYSENV 0x00000052 +#define FILE_DEVICE_VIRTUAL_BLOCK 0x00000053 +#define FILE_DEVICE_POINT_OF_SERVICE 0x00000054 +#define FILE_DEVICE_STORAGE_REPLICATION 0x00000055 +#define FILE_DEVICE_TRUST_ENV 0x00000056 +#define FILE_DEVICE_UCM 0x00000057 +#define FILE_DEVICE_UCMTCPCI 0x00000058 +#define FILE_DEVICE_PERSISTENT_MEMORY 0x00000059 +#define FILE_DEVICE_NVDIMM 0x0000005a +#define FILE_DEVICE_HOLOGRAPHIC 0x0000005b +#define FILE_DEVICE_SDFXHCI 0x0000005c +#define FILE_DEVICE_UCMUCSI 0x0000005d +#define FILE_DEVICE_PRM 0x0000005e +#define FILE_DEVICE_EVENT_COLLECTOR 0x0000005f +#define FILE_DEVICE_USB4 0x00000060 +#define FILE_DEVICE_SOUNDWIRE 0x00000061 + +#define CTL_CODE(DeviceType,Function,Method,Access) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method)) + +#define DEVICE_TYPE_FROM_CTL_CODE(ctrlCode) (((DWORD)(ctrlCode & 0xffff0000)) >> 16) +#define METHOD_FROM_CTL_CODE(ctrlCode) ((DWORD)(ctrlCode & 3)) + +#define METHOD_BUFFERED 0 +#define METHOD_IN_DIRECT 1 +#define METHOD_OUT_DIRECT 2 +#define METHOD_NEITHER 3 + +#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT +#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT + +#define FILE_ANY_ACCESS 0 +#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS) +#define FILE_READ_ACCESS (0x0001) +#define FILE_WRITE_ACCESS (0x0002) + +#endif /* _DEVIOCTL_ */ + + +#ifndef _NTDDSTOR_H_ +#define _NTDDSTOR_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE + +#define IOCTL_STORAGE_CHECK_VERIFY CTL_CODE(IOCTL_STORAGE_BASE,0x0200,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_CHECK_VERIFY2 CTL_CODE(IOCTL_STORAGE_BASE,0x0200,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_MEDIA_REMOVAL CTL_CODE(IOCTL_STORAGE_BASE,0x0201,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_EJECT_MEDIA CTL_CODE(IOCTL_STORAGE_BASE,0x0202,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_LOAD_MEDIA CTL_CODE(IOCTL_STORAGE_BASE,0x0203,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_LOAD_MEDIA2 CTL_CODE(IOCTL_STORAGE_BASE,0x0203,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_RESERVE CTL_CODE(IOCTL_STORAGE_BASE,0x0204,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_RELEASE CTL_CODE(IOCTL_STORAGE_BASE,0x0205,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_FIND_NEW_DEVICES CTL_CODE(IOCTL_STORAGE_BASE,0x0206,METHOD_BUFFERED,FILE_READ_ACCESS) + +#define IOCTL_STORAGE_EJECTION_CONTROL CTL_CODE(IOCTL_STORAGE_BASE,0x0250,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_MCN_CONTROL CTL_CODE(IOCTL_STORAGE_BASE,0x0251,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define IOCTL_STORAGE_GET_MEDIA_TYPES CTL_CODE(IOCTL_STORAGE_BASE,0x0300,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_MEDIA_TYPES_EX CTL_CODE(IOCTL_STORAGE_BASE,0x0301,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER CTL_CODE(IOCTL_STORAGE_BASE,0x0304,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_HOTPLUG_INFO CTL_CODE(IOCTL_STORAGE_BASE,0x0305,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_SET_HOTPLUG_INFO CTL_CODE(IOCTL_STORAGE_BASE,0x0306,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE,0x0400,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_BREAK_RESERVATION CTL_CODE(IOCTL_STORAGE_BASE,0x0405,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_STORAGE_PERSISTENT_RESERVE_IN CTL_CODE(IOCTL_STORAGE_BASE, 0x0406, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_PERSISTENT_RESERVE_OUT CTL_CODE(IOCTL_STORAGE_BASE, 0x0407, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_GET_DEVICE_NUMBER CTL_CODE(IOCTL_STORAGE_BASE,0x0420,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_DEVICE_NUMBER_EX CTL_CODE(IOCTL_STORAGE_BASE,0x0421,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_PREDICT_FAILURE CTL_CODE(IOCTL_STORAGE_BASE,0x0440,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_FAILURE_PREDICTION_CONFIG CTL_CODE(IOCTL_STORAGE_BASE,0x0441,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_COUNTERS CTL_CODE(IOCTL_STORAGE_BASE,0x442,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_READ_CAPACITY CTL_CODE(IOCTL_STORAGE_BASE,0x0450,METHOD_BUFFERED,FILE_READ_ACCESS) + +#define IOCTL_STORAGE_GET_DEVICE_TELEMETRY CTL_CODE(IOCTL_STORAGE_BASE, 0x0470, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_DEVICE_TELEMETRY_NOTIFY CTL_CODE(IOCTL_STORAGE_BASE, 0x0471, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_DEVICE_TELEMETRY_QUERY_CAPS CTL_CODE(IOCTL_STORAGE_BASE, 0x0472, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_GET_DEVICE_TELEMETRY_RAW CTL_CODE(IOCTL_STORAGE_BASE, 0x0473, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_SET_TEMPERATURE_THRESHOLD CTL_CODE(IOCTL_STORAGE_BASE, 0x0480, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_PROTOCOL_COMMAND CTL_CODE(IOCTL_STORAGE_BASE, 0x04F0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_SET_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x04FF, METHOD_BUFFERED, FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_QUERY_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES CTL_CODE(IOCTL_STORAGE_BASE, 0x0501, METHOD_BUFFERED, FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_GET_LB_PROVISIONING_MAP_RESOURCES CTL_CODE(IOCTL_STORAGE_BASE, 0x0502, METHOD_BUFFERED, FILE_READ_ACCESS) + +#define IOCTL_STORAGE_REINITIALIZE_MEDIA CTL_CODE(IOCTL_STORAGE_BASE, 0x0590, METHOD_BUFFERED, FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_GET_BC_PROPERTIES CTL_CODE(IOCTL_STORAGE_BASE, 0x0600, METHOD_BUFFERED, FILE_READ_ACCESS) +#define IOCTL_STORAGE_ALLOCATE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0601, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_FREE_BC_STREAM CTL_CODE(IOCTL_STORAGE_BASE, 0x0602, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_CHECK_PRIORITY_HINT_SUPPORT CTL_CODE(IOCTL_STORAGE_BASE, 0x0620, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define IOCTL_STORAGE_START_DATA_INTEGRITY_CHECK CTL_CODE(IOCTL_STORAGE_BASE, 0x0621, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_STOP_DATA_INTEGRITY_CHECK CTL_CODE(IOCTL_STORAGE_BASE, 0x0622, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define OBSOLETE_IOCTL_STORAGE_RESET_BUS CTL_CODE(IOCTL_STORAGE_BASE,0x0400,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define OBSOLETE_IOCTL_STORAGE_RESET_DEVICE CTL_CODE(IOCTL_STORAGE_BASE,0x0401,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_FIRMWARE_GET_INFO CTL_CODE(IOCTL_STORAGE_BASE, 0x0700, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_FIRMWARE_DOWNLOAD CTL_CODE(IOCTL_STORAGE_BASE, 0x0701, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_FIRMWARE_ACTIVATE CTL_CODE(IOCTL_STORAGE_BASE, 0x0702, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_STORAGE_ENABLE_IDLE_POWER CTL_CODE(IOCTL_STORAGE_BASE, 0x0720, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_IDLE_POWERUP_REASON CTL_CODE(IOCTL_STORAGE_BASE, 0x0721, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define IOCTL_STORAGE_POWER_ACTIVE CTL_CODE(IOCTL_STORAGE_BASE, 0x0722, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_POWER_IDLE CTL_CODE(IOCTL_STORAGE_BASE, 0x0723, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define IOCTL_STORAGE_EVENT_NOTIFICATION CTL_CODE(IOCTL_STORAGE_BASE, 0x0724, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_DEVICE_POWER_CAP CTL_CODE(IOCTL_STORAGE_BASE, 0x0725, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_RPMB_COMMAND CTL_CODE(IOCTL_STORAGE_BASE, 0x0726, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_ATTRIBUTE_MANAGEMENT CTL_CODE(IOCTL_STORAGE_BASE, 0x0727, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_STORAGE_DIAGNOSTIC CTL_CODE(IOCTL_STORAGE_BASE, 0x0728, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_PHYSICAL_ELEMENT_STATUS CTL_CODE(IOCTL_STORAGE_BASE, 0x0729, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_REMOVE_ELEMENT_AND_TRUNCATE CTL_CODE(IOCTL_STORAGE_BASE, 0x0730, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_STORAGE_GET_DEVICE_INTERNAL_LOG CTL_CODE(IOCTL_STORAGE_BASE, 0x0731, METHOD_BUFFERED, FILE_ANY_ACCESS) + +typedef struct _STORAGE_READ_CAPACITY { + ULONG Version; + ULONG Size; + ULONG BlockLength; + LARGE_INTEGER NumberOfBlocks; + LARGE_INTEGER DiskLength; +} STORAGE_READ_CAPACITY, *PSTORAGE_READ_CAPACITY; + +#define IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES CTL_CODE(IOCTL_STORAGE_BASE, 0x0501, METHOD_BUFFERED, FILE_WRITE_ACCESS) +#define DeviceDsmActionFlag_NonDestructive 0x80000000 +#define DeviceDsmAction_None 0 +#define DeviceDsmAction_Trim 1 +#define DeviceDsmAction_Notification (2 | DeviceDsmActionFlag_NonDestructive) + +#define IsDsmActionNonDestructive(x) ((BOOLEAN)(!!((x) & DeviceDsmActionFlag_NonDestructive))) + +#define DEVICE_DSM_FLAG_ENTIRE_DATA_SET_RANGE __MSABI_LONG(0x00000001) + +#define DEVICE_DSM_NOTIFY_FLAG_BEGIN 0x00000001 +#define DEVICE_DSM_NOTIFY_FLAG_END 0x00000002 + +#define IOCTL_STORAGE_BC_VERSION 1 + +#define STORAGE_PRIORITY_HINT_SUPPORTED 0x0001 + + typedef DWORD DEVICE_DATA_MANAGEMENT_SET_ACTION; + typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES { + DWORD Size; + DEVICE_DATA_MANAGEMENT_SET_ACTION Action; + DWORD Flags; + DWORD ParameterBlockOffset; + DWORD ParameterBlockLength; + DWORD DataSetRangesOffset; + DWORD DataSetRangesLength; + } DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES; + + typedef struct _DEVICE_DATA_SET_RANGE { + LONGLONG StartingOffset; + DWORDLONG LengthInBytes; + } DEVICE_DATA_SET_RANGE, *PDEVICE_DATA_SET_RANGE; + + typedef struct _DEVICE_DSM_NOTIFICATION_PARAMETERS { + ULONG Size; + ULONG Flags; + ULONG NumFileTypeIDs; + GUID FileTypeID[1]; + } DEVICE_DSM_NOTIFICATION_PARAMETERS, *PDEVICE_DSM_NOTIFICATION_PARAMETERS; + + typedef struct _STORAGE_GET_BC_PROPERTIES_OUTPUT { + ULONG MaximumRequestsPerPeriod; + ULONG MinimumPeriod; + ULONGLONG MaximumRequestSize; + ULONG EstimatedTimePerRequest; + ULONG NumOutStandingRequests; + ULONGLONG RequestSize; + } STORAGE_GET_BC_PROPERTIES_OUTPUT, *PSTORAGE_GET_BC_PROPERTIES_OUTPUT; + + typedef struct _STORAGE_ALLOCATE_BC_STREAM_INPUT { + ULONG Version; + ULONG RequestsPerPeriod; + ULONG Period; + BOOLEAN RetryFailures; + BOOLEAN Discardable; + BOOLEAN Reserved1[2]; + ULONG AccessType; + ULONG AccessMode; + } STORAGE_ALLOCATE_BC_STREAM_INPUT, *PSTORAGE_ALLOCATE_BC_STREAM_INPUT; + + typedef struct _STORAGE_ALLOCATE_BC_STREAM_OUTPUT { + ULONGLONG RequestSize; + ULONG NumOutStandingRequests; + } STORAGE_ALLOCATE_BC_STREAM_OUTPUT, *PSTORAGE_ALLOCATE_BC_STREAM_OUTPUT; + + typedef struct _STORAGE_PRIORITY_HINT_SUPPORT { + ULONG SupportFlags; + } STORAGE_PRIORITY_HINT_SUPPORT, *PSTORAGE_PRIORITY_HINT_SUPPORT; + +#if defined(_MSC_EXTENSIONS) || defined(__GNUC__) + + typedef struct _STORAGE_MEDIA_SERIAL_NUMBER_DATA { + USHORT Reserved; + USHORT SerialNumberLength; + UCHAR SerialNumber[0]; + } STORAGE_MEDIA_SERIAL_NUMBER_DATA, *PSTORAGE_MEDIA_SERIAL_NUMBER_DATA; + + typedef struct _PERSISTENT_RESERVE_COMMAND { + ULONG Version; + ULONG Size; + __C89_NAMELESS union { + struct { + UCHAR ServiceAction:5; + UCHAR Reserved1:3; + USHORT AllocationLength; + } PR_IN; + struct { + UCHAR ServiceAction:5; + UCHAR Reserved1:3; + UCHAR Type:4; + UCHAR Scope:4; + UCHAR ParameterList[0]; + } PR_OUT; + } DUMMYUNIONNAME; + } PERSISTENT_RESERVE_COMMAND, *PPERSISTENT_RESERVE_COMMAND; + +#endif /* defined(_MSC_EXTENSIONS) */ + + typedef struct _STORAGE_HOTPLUG_INFO { + DWORD Size; + BOOLEAN MediaRemovable; + BOOLEAN MediaHotplug; + BOOLEAN DeviceHotplug; + BOOLEAN WriteCacheEnableOverride; + } STORAGE_HOTPLUG_INFO,*PSTORAGE_HOTPLUG_INFO; + + typedef struct _STORAGE_DEVICE_NUMBER { + DEVICE_TYPE DeviceType; + DWORD DeviceNumber; + DWORD PartitionNumber; + } STORAGE_DEVICE_NUMBER,*PSTORAGE_DEVICE_NUMBER; + + typedef struct _STORAGE_DEVICE_NUMBERS { + DWORD Version; + DWORD Size; + DWORD NumberOfDevices; + STORAGE_DEVICE_NUMBER Devices[ANYSIZE_ARRAY]; + } STORAGE_DEVICE_NUMBERS,*PSTORAGE_DEVICE_NUMBERS; + +#define STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT 0x1 +#define STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID 0x2 +#define STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID 0x4 + + typedef struct _STORAGE_DEVICE_NUMBER_EX { + DWORD Version; + DWORD Size; + DWORD Flags; + DEVICE_TYPE DeviceType; + DWORD DeviceNumber; + GUID DeviceGuid; + DWORD PartitionNumber; + } STORAGE_DEVICE_NUMBER_EX,*PSTORAGE_DEVICE_NUMBER_EX; + + typedef struct _STORAGE_BUS_RESET_REQUEST { + BYTE PathId; + } STORAGE_BUS_RESET_REQUEST,*PSTORAGE_BUS_RESET_REQUEST; + + typedef struct STORAGE_BREAK_RESERVATION_REQUEST { + DWORD Length; + BYTE _unused; + BYTE PathId; + BYTE TargetId; + BYTE Lun; + } STORAGE_BREAK_RESERVATION_REQUEST,*PSTORAGE_BREAK_RESERVATION_REQUEST; + + typedef struct _PREVENT_MEDIA_REMOVAL { + BOOLEAN PreventMediaRemoval; + } PREVENT_MEDIA_REMOVAL,*PPREVENT_MEDIA_REMOVAL; + + typedef struct _CLASS_MEDIA_CHANGE_CONTEXT { + DWORD MediaChangeCount; + DWORD NewState; + } CLASS_MEDIA_CHANGE_CONTEXT,*PCLASS_MEDIA_CHANGE_CONTEXT; + + typedef struct _TAPE_STATISTICS { + DWORD Version; + DWORD Flags; + LARGE_INTEGER RecoveredWrites; + LARGE_INTEGER UnrecoveredWrites; + LARGE_INTEGER RecoveredReads; + LARGE_INTEGER UnrecoveredReads; + BYTE CompressionRatioReads; + BYTE CompressionRatioWrites; + } TAPE_STATISTICS,*PTAPE_STATISTICS; + +#define RECOVERED_WRITES_VALID 0x00000001 +#define UNRECOVERED_WRITES_VALID 0x00000002 +#define RECOVERED_READS_VALID 0x00000004 +#define UNRECOVERED_READS_VALID 0x00000008 +#define WRITE_COMPRESSION_INFO_VALID 0x00000010 +#define READ_COMPRESSION_INFO_VALID 0x00000020 + + typedef struct _TAPE_GET_STATISTICS { + DWORD Operation; + } TAPE_GET_STATISTICS,*PTAPE_GET_STATISTICS; + +#define TAPE_RETURN_STATISTICS __MSABI_LONG(0) +#define TAPE_RETURN_ENV_INFO __MSABI_LONG(1) +#define TAPE_RESET_STATISTICS __MSABI_LONG(2) + + typedef enum _STORAGE_MEDIA_TYPE { + DDS_4mm = 0x20, + MiniQic, + Travan, + QIC, + MP_8mm, + AME_8mm, + AIT1_8mm, + DLT, + NCTP, + IBM_3480, + IBM_3490E, + IBM_Magstar_3590, + IBM_Magstar_MP, + STK_DATA_D3, + SONY_DTF, + DV_6mm, + DMI, + SONY_D2, + CLEANER_CARTRIDGE, + CD_ROM, + CD_R, + CD_RW, + DVD_ROM, + DVD_R, + DVD_RW, + MO_3_RW, + MO_5_WO, + MO_5_RW, + MO_5_LIMDOW, + PC_5_WO, + PC_5_RW, + PD_5_RW, + ABL_5_WO, + PINNACLE_APEX_5_RW, + SONY_12_WO, + PHILIPS_12_WO, + HITACHI_12_WO, + CYGNET_12_WO, + KODAK_14_WO, + MO_NFR_525, + NIKON_12_RW, + IOMEGA_ZIP, + IOMEGA_JAZ, + SYQUEST_EZ135, + SYQUEST_EZFLYER, + SYQUEST_SYJET, + AVATAR_F2, + MP2_8mm, + DST_S, + DST_M, + DST_L, + VXATape_1, + VXATape_2, + STK_9840, + LTO_Ultrium, + LTO_Accelis, + DVD_RAM, + AIT_8mm, + ADR_1, + ADR_2, + STK_9940, + SAIT, + VXATape + } STORAGE_MEDIA_TYPE, *PSTORAGE_MEDIA_TYPE; + +#define MEDIA_ERASEABLE 0x00000001 +#define MEDIA_WRITE_ONCE 0x00000002 +#define MEDIA_READ_ONLY 0x00000004 +#define MEDIA_READ_WRITE 0x00000008 + +#define MEDIA_WRITE_PROTECTED 0x00000100 +#define MEDIA_CURRENTLY_MOUNTED 0x80000000 + + typedef enum _STORAGE_BUS_TYPE { + BusTypeUnknown = 0x00, + BusTypeScsi = 0x1, + BusTypeAtapi = 0x2, + BusTypeAta = 0x3, + BusType1394 = 0x4, + BusTypeSsa = 0x5, + BusTypeFibre = 0x6, + BusTypeUsb = 0x7, + BusTypeRAID = 0x8, +#if (_WIN32_WINNT >= 0x0600) + BusTypeiScsi = 0x9, + BusTypeSas = 0xA, + BusTypeSata = 0xB, + BusTypeSd = 0xC, + BusTypeMmc = 0xD, +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#if (_WIN32_WINNT >= 0x0601) + BusTypeVirtual = 0xE, + BusTypeFileBackedVirtual = 0xF, + BusTypeSpaces = 0x10, + BusTypeNvme = 0x11, + BusTypeSCM = 0x12, + BusTypeUfs = 0x13, +#endif /*(_WIN32_WINNT >= 0x0601)*/ + BusTypeMax, + BusTypeMaxReserved = 0x7F + } STORAGE_BUS_TYPE, *PSTORAGE_BUS_TYPE; + +#define SupportsDeviceSharing(BusType) ((BusType == BusTypeScsi) || (BusType == BusTypeFibre) || (BusType == BusTypeiScsi) || (BusType == BusTypeSas) || (BusType == BusTypeSpaces)) + + typedef struct _DEVICE_MEDIA_INFO { + union { + struct { + LARGE_INTEGER Cylinders; + STORAGE_MEDIA_TYPE MediaType; + DWORD TracksPerCylinder; + DWORD SectorsPerTrack; + DWORD BytesPerSector; + DWORD NumberMediaSides; + DWORD MediaCharacteristics; + } DiskInfo; + struct { + LARGE_INTEGER Cylinders; + STORAGE_MEDIA_TYPE MediaType; + DWORD TracksPerCylinder; + DWORD SectorsPerTrack; + DWORD BytesPerSector; + DWORD NumberMediaSides; + DWORD MediaCharacteristics; + } RemovableDiskInfo; + struct { + STORAGE_MEDIA_TYPE MediaType; + DWORD MediaCharacteristics; + DWORD CurrentBlockSize; + STORAGE_BUS_TYPE BusType; + union { + struct { + BYTE MediumType; + BYTE DensityCode; + } ScsiInformation; + } BusSpecificData; + } TapeInfo; + } DeviceSpecific; + } DEVICE_MEDIA_INFO,*PDEVICE_MEDIA_INFO; + + typedef struct _GET_MEDIA_TYPES { + DWORD DeviceType; + DWORD MediaInfoCount; + DEVICE_MEDIA_INFO MediaInfo[1]; + } GET_MEDIA_TYPES,*PGET_MEDIA_TYPES; + + typedef struct _STORAGE_PREDICT_FAILURE { + DWORD PredictFailure; + BYTE VendorSpecific[512]; + } STORAGE_PREDICT_FAILURE,*PSTORAGE_PREDICT_FAILURE; + + typedef struct _STORAGE_FAILURE_PREDICTION_CONFIG { + DWORD Version; + DWORD Size; + BOOLEAN Set; + BOOLEAN Enabled; + WORD Reserved; + } STORAGE_FAILURE_PREDICTION_CONFIG,*PSTORAGE_FAILURE_PREDICTION_CONFIG; + +#define STORAGE_FAILURE_PREDICTION_CONFIG_V1 1 + +#ifdef __cplusplus +} +#endif +#endif /* _NTDDSTOR_H_ */ + + +#ifndef _NTDDDISK_H_ +#define _NTDDDISK_H_ + +#define IOCTL_DISK_BASE FILE_DEVICE_DISK +#define IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE,0x0000,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,0x0001,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE,0x0002,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x0003,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x0004,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x0005,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE,0x0006,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE,0x0007,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE,0x0008,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE,0x0009,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE,0x000a,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE,0x000b,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,0x000c,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE,0x000d,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE,0x000e,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE,0x000f,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE,0x0010,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_PERFORMANCE_OFF CTL_CODE(IOCTL_DISK_BASE,0x0018,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_CONTROLLER_NUMBER CTL_CODE(IOCTL_DISK_BASE,0x0011,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define SMART_GET_VERSION CTL_CODE(IOCTL_DISK_BASE,0x0020,METHOD_BUFFERED,FILE_READ_ACCESS) +#define SMART_SEND_DRIVE_COMMAND CTL_CODE(IOCTL_DISK_BASE,0x0021,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define SMART_RCV_DRIVE_DATA CTL_CODE(IOCTL_DISK_BASE,0x0022,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define IOCTL_DISK_GET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x0012,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_SET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE,0x0013,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x0014,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_SET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,0x0015,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_CREATE_DISK CTL_CODE(IOCTL_DISK_BASE,0x0016,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_LENGTH_INFO CTL_CODE(IOCTL_DISK_BASE,0x0017,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE,0x0028,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define IOCTL_DISK_REASSIGN_BLOCKS_EX CTL_CODE(IOCTL_DISK_BASE,0x0029,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_UPDATE_DRIVE_SIZE CTL_CODE(IOCTL_DISK_BASE,0x0032,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GROW_PARTITION CTL_CODE(IOCTL_DISK_BASE,0x0034,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_GET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x0035,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_SET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE,0x0036,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define OBSOLETE_DISK_GET_WRITE_CACHE_STATE CTL_CODE(IOCTL_DISK_BASE,0x0037,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_DELETE_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE,0x0040,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_UPDATE_PROPERTIES CTL_CODE(IOCTL_DISK_BASE,0x0050,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_RESET_SNAPSHOT_INFO CTL_CODE(IOCTL_DISK_BASE,0x0084,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_FORMAT_DRIVE CTL_CODE(IOCTL_DISK_BASE,0x00f3,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_DISK_SENSE_DEVICE CTL_CODE(IOCTL_DISK_BASE,0x00f8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE,0x0200,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE,0x0201,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x0202,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE,0x0203,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE,0x0204,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE,0x0205,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE,0x0206,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE,0x0300,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_STORAGE_QUERY_PROPERTY CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define PARTITION_ENTRY_UNUSED 0x00 +#define PARTITION_FAT_12 0x01 +#define PARTITION_XENIX_1 0x02 +#define PARTITION_XENIX_2 0x03 +#define PARTITION_FAT_16 0x04 +#define PARTITION_EXTENDED 0x05 +#define PARTITION_HUGE 0x06 +#define PARTITION_IFS 0x07 +#define PARTITION_OS2BOOTMGR 0x0A +#define PARTITION_FAT32 0x0B +#define PARTITION_FAT32_XINT13 0x0C +#define PARTITION_XINT13 0x0E +#define PARTITION_XINT13_EXTENDED 0x0F +#define PARTITION_PREP 0x41 +#define PARTITION_LDM 0x42 +#define PARTITION_UNIX 0x63 + +#define VALID_NTFT 0xC0 + +#define PARTITION_NTFT 0x80 + +#define IsRecognizedPartition(PartitionType) (((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_FAT_12)) || ((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_IFS)) || ((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_HUGE)) || ((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_FAT32)) || ((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_FAT32_XINT13)) || ((PartitionType & PARTITION_NTFT) && ((PartitionType & ~0xC0)==PARTITION_XINT13)) || ((PartitionType)==PARTITION_FAT_12) || ((PartitionType)==PARTITION_FAT_16) || ((PartitionType)==PARTITION_IFS) || ((PartitionType)==PARTITION_HUGE) || ((PartitionType)==PARTITION_FAT32) || ((PartitionType)==PARTITION_FAT32_XINT13) || ((PartitionType)==PARTITION_XINT13)) +#define IsContainerPartition(PartitionType) ((PartitionType==PARTITION_EXTENDED) || (PartitionType==PARTITION_XINT13_EXTENDED)) +#define IsFTPartition(PartitionType) (((PartitionType)&PARTITION_NTFT) && IsRecognizedPartition(PartitionType)) + +typedef enum _MEDIA_TYPE { + Unknown,F5_1Pt2_512,F3_1Pt44_512,F3_2Pt88_512,F3_20Pt8_512,F3_720_512,F5_360_512,F5_320_512,F5_320_1024,F5_180_512,F5_160_512, + RemovableMedia,FixedMedia,F3_120M_512,F3_640_512,F5_640_512,F5_720_512,F3_1Pt2_512,F3_1Pt23_1024,F5_1Pt23_1024,F3_128Mb_512, + F3_230Mb_512,F8_256_128,F3_200Mb_512,F3_240M_512,F3_32M_512 +} MEDIA_TYPE,*PMEDIA_TYPE; + +typedef struct _FORMAT_PARAMETERS { + MEDIA_TYPE MediaType; + DWORD StartCylinderNumber; + DWORD EndCylinderNumber; + DWORD StartHeadNumber; + DWORD EndHeadNumber; +} FORMAT_PARAMETERS,*PFORMAT_PARAMETERS; + +typedef WORD BAD_TRACK_NUMBER; +typedef WORD *PBAD_TRACK_NUMBER; + +typedef struct _FORMAT_EX_PARAMETERS { + MEDIA_TYPE MediaType; + DWORD StartCylinderNumber; + DWORD EndCylinderNumber; + DWORD StartHeadNumber; + DWORD EndHeadNumber; + WORD FormatGapLength; + WORD SectorsPerTrack; + WORD SectorNumber[1]; +} FORMAT_EX_PARAMETERS,*PFORMAT_EX_PARAMETERS; + +typedef struct _DISK_GEOMETRY { + LARGE_INTEGER Cylinders; + MEDIA_TYPE MediaType; + DWORD TracksPerCylinder; + DWORD SectorsPerTrack; + DWORD BytesPerSector; +} DISK_GEOMETRY,*PDISK_GEOMETRY; + +#define WMI_DISK_GEOMETRY_GUID { 0x25007f51,0x57c2,0x11d1,{ 0xa5,0x28,0x0,0xa0,0xc9,0x6,0x29,0x10 } } + +typedef struct _PARTITION_INFORMATION { + LARGE_INTEGER StartingOffset; + LARGE_INTEGER PartitionLength; + DWORD HiddenSectors; + DWORD PartitionNumber; + BYTE PartitionType; + BOOLEAN BootIndicator; + BOOLEAN RecognizedPartition; + BOOLEAN RewritePartition; +} PARTITION_INFORMATION,*PPARTITION_INFORMATION; + +typedef struct _SET_PARTITION_INFORMATION { + BYTE PartitionType; +} SET_PARTITION_INFORMATION,*PSET_PARTITION_INFORMATION; + +typedef struct _DRIVE_LAYOUT_INFORMATION { + DWORD PartitionCount; + DWORD Signature; + PARTITION_INFORMATION PartitionEntry[1]; +} DRIVE_LAYOUT_INFORMATION,*PDRIVE_LAYOUT_INFORMATION; + +typedef struct _VERIFY_INFORMATION { + LARGE_INTEGER StartingOffset; + DWORD Length; +} VERIFY_INFORMATION,*PVERIFY_INFORMATION; + +typedef struct _REASSIGN_BLOCKS { + WORD Reserved; + WORD Count; + DWORD BlockNumber[1]; +} REASSIGN_BLOCKS,*PREASSIGN_BLOCKS; + +#include +typedef struct _REASSIGN_BLOCKS_EX { + WORD Reserved; + WORD Count; + LARGE_INTEGER BlockNumber[1]; +} REASSIGN_BLOCKS_EX,*PREASSIGN_BLOCKS_EX; +#include + +typedef enum _PARTITION_STYLE { + PARTITION_STYLE_MBR,PARTITION_STYLE_GPT,PARTITION_STYLE_RAW +} PARTITION_STYLE; + +typedef struct _PARTITION_INFORMATION_GPT { + GUID PartitionType; + GUID PartitionId; + DWORD64 Attributes; + WCHAR Name [36]; +} PARTITION_INFORMATION_GPT,*PPARTITION_INFORMATION_GPT; + +#define GPT_ATTRIBUTE_PLATFORM_REQUIRED (0x0000000000000001) + +#define GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER (0x8000000000000000) +#define GPT_BASIC_DATA_ATTRIBUTE_HIDDEN (0x4000000000000000) +#define GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY (0x2000000000000000) +#define GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY (0x1000000000000000) + +typedef struct _PARTITION_INFORMATION_MBR { + BYTE PartitionType; + BOOLEAN BootIndicator; + BOOLEAN RecognizedPartition; + DWORD HiddenSectors; +#if NTDDI_VERSION > NTDDI_WINBLUE + GUID PartitionId; +#endif +} PARTITION_INFORMATION_MBR,*PPARTITION_INFORMATION_MBR; + +typedef SET_PARTITION_INFORMATION SET_PARTITION_INFORMATION_MBR; +typedef PARTITION_INFORMATION_GPT SET_PARTITION_INFORMATION_GPT; + +typedef struct _SET_PARTITION_INFORMATION_EX { + PARTITION_STYLE PartitionStyle; + __C89_NAMELESS union { + SET_PARTITION_INFORMATION_MBR Mbr; + SET_PARTITION_INFORMATION_GPT Gpt; + } DUMMYUNIONNAME; +} SET_PARTITION_INFORMATION_EX,*PSET_PARTITION_INFORMATION_EX; + +typedef struct _CREATE_DISK_GPT { + GUID DiskId; + DWORD MaxPartitionCount; +} CREATE_DISK_GPT,*PCREATE_DISK_GPT; + +typedef struct _CREATE_DISK_MBR { + DWORD Signature; +} CREATE_DISK_MBR,*PCREATE_DISK_MBR; + +typedef struct _CREATE_DISK { + PARTITION_STYLE PartitionStyle; + __C89_NAMELESS union { + CREATE_DISK_MBR Mbr; + CREATE_DISK_GPT Gpt; + } DUMMYUNIONNAME; +} CREATE_DISK,*PCREATE_DISK; + +typedef struct _GET_LENGTH_INFORMATION { + LARGE_INTEGER Length; +} GET_LENGTH_INFORMATION,*PGET_LENGTH_INFORMATION; + +typedef struct _PARTITION_INFORMATION_EX { + PARTITION_STYLE PartitionStyle; + LARGE_INTEGER StartingOffset; + LARGE_INTEGER PartitionLength; + DWORD PartitionNumber; + BOOLEAN RewritePartition; +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 + BOOLEAN IsServicePartition; +#endif + __C89_NAMELESS union { + PARTITION_INFORMATION_MBR Mbr; + PARTITION_INFORMATION_GPT Gpt; + } DUMMYUNIONNAME; +} PARTITION_INFORMATION_EX,*PPARTITION_INFORMATION_EX; + +typedef struct _DRIVE_LAYOUT_INFORMATION_GPT { + GUID DiskId; + LARGE_INTEGER StartingUsableOffset; + LARGE_INTEGER UsableLength; + DWORD MaxPartitionCount; +} DRIVE_LAYOUT_INFORMATION_GPT,*PDRIVE_LAYOUT_INFORMATION_GPT; + +typedef struct _DRIVE_LAYOUT_INFORMATION_MBR { + DWORD Signature; +} DRIVE_LAYOUT_INFORMATION_MBR,*PDRIVE_LAYOUT_INFORMATION_MBR; + +typedef struct _DRIVE_LAYOUT_INFORMATION_EX { + DWORD PartitionStyle; + DWORD PartitionCount; + __C89_NAMELESS union { + DRIVE_LAYOUT_INFORMATION_MBR Mbr; + DRIVE_LAYOUT_INFORMATION_GPT Gpt; + } DUMMYUNIONNAME; + PARTITION_INFORMATION_EX PartitionEntry[1]; +} DRIVE_LAYOUT_INFORMATION_EX,*PDRIVE_LAYOUT_INFORMATION_EX; + +typedef enum _DETECTION_TYPE { + DetectNone,DetectInt13,DetectExInt13 +} DETECTION_TYPE; + +typedef struct _DISK_INT13_INFO { + WORD DriveSelect; + DWORD MaxCylinders; + WORD SectorsPerTrack; + WORD MaxHeads; + WORD NumberDrives; +} DISK_INT13_INFO,*PDISK_INT13_INFO; + +typedef struct _DISK_EX_INT13_INFO { + WORD ExBufferSize; + WORD ExFlags; + DWORD ExCylinders; + DWORD ExHeads; + DWORD ExSectorsPerTrack; + DWORD64 ExSectorsPerDrive; + WORD ExSectorSize; + WORD ExReserved; +} DISK_EX_INT13_INFO,*PDISK_EX_INT13_INFO; + +typedef struct _DISK_DETECTION_INFO { + DWORD SizeOfDetectInfo; + DETECTION_TYPE DetectionType; + __C89_NAMELESS union { + __C89_NAMELESS struct { + DISK_INT13_INFO Int13; + DISK_EX_INT13_INFO ExInt13; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; +} DISK_DETECTION_INFO,*PDISK_DETECTION_INFO; + +typedef struct _DISK_PARTITION_INFO { + DWORD SizeOfPartitionInfo; + PARTITION_STYLE PartitionStyle; + __C89_NAMELESS union { + struct { + DWORD Signature; + DWORD CheckSum; + } Mbr; + struct { + GUID DiskId; + } Gpt; + } DUMMYUNIONNAME; +} DISK_PARTITION_INFO,*PDISK_PARTITION_INFO; + +#define DiskGeometryGetPartition(Geometry) ((PDISK_PARTITION_INFO)((Geometry)->Data)) +#define DiskGeometryGetDetect(Geometry) ((PDISK_DETECTION_INFO)(((DWORD_PTR)DiskGeometryGetPartition(Geometry)+ DiskGeometryGetPartition(Geometry)->SizeOfPartitionInfo))) + +typedef struct _DISK_GEOMETRY_EX { + DISK_GEOMETRY Geometry; + LARGE_INTEGER DiskSize; + BYTE Data[1]; +} DISK_GEOMETRY_EX,*PDISK_GEOMETRY_EX; + +typedef struct _DISK_CONTROLLER_NUMBER { + DWORD ControllerNumber; + DWORD DiskNumber; +} DISK_CONTROLLER_NUMBER,*PDISK_CONTROLLER_NUMBER; + +typedef enum { + EqualPriority,KeepPrefetchedData,KeepReadData +} DISK_CACHE_RETENTION_PRIORITY; + +typedef struct _DISK_CACHE_INFORMATION { + BOOLEAN ParametersSavable; + BOOLEAN ReadCacheEnabled; + BOOLEAN WriteCacheEnabled; + DISK_CACHE_RETENTION_PRIORITY ReadRetentionPriority; + DISK_CACHE_RETENTION_PRIORITY WriteRetentionPriority; + WORD DisablePrefetchTransferLength; + BOOLEAN PrefetchScalar; + __C89_NAMELESS union { + struct { + WORD Minimum; + WORD Maximum; + WORD MaximumBlocks; + } ScalarPrefetch; + struct { + WORD Minimum; + WORD Maximum; + } BlockPrefetch; + } DUMMYUNIONNAME; +} DISK_CACHE_INFORMATION,*PDISK_CACHE_INFORMATION; + +typedef struct _DISK_GROW_PARTITION { + DWORD PartitionNumber; + LARGE_INTEGER BytesToGrow; +} DISK_GROW_PARTITION,*PDISK_GROW_PARTITION; + +#define HIST_NO_OF_BUCKETS 24 + +typedef struct _HISTOGRAM_BUCKET { + DWORD Reads; + DWORD Writes; +} HISTOGRAM_BUCKET,*PHISTOGRAM_BUCKET; + +#define HISTOGRAM_BUCKET_SIZE sizeof(HISTOGRAM_BUCKET) + +typedef struct _DISK_HISTOGRAM { + LARGE_INTEGER DiskSize; + LARGE_INTEGER Start; + LARGE_INTEGER End; + LARGE_INTEGER Average; + LARGE_INTEGER AverageRead; + LARGE_INTEGER AverageWrite; + DWORD Granularity; + DWORD Size; + DWORD ReadCount; + DWORD WriteCount; + PHISTOGRAM_BUCKET Histogram; +} DISK_HISTOGRAM,*PDISK_HISTOGRAM; + +#define DISK_HISTOGRAM_SIZE sizeof(DISK_HISTOGRAM) + +typedef struct _DISK_PERFORMANCE { + LARGE_INTEGER BytesRead; + LARGE_INTEGER BytesWritten; + LARGE_INTEGER ReadTime; + LARGE_INTEGER WriteTime; + LARGE_INTEGER IdleTime; + DWORD ReadCount; + DWORD WriteCount; + DWORD QueueDepth; + DWORD SplitCount; + LARGE_INTEGER QueryTime; + DWORD StorageDeviceNumber; + WCHAR StorageManagerName[8]; +} DISK_PERFORMANCE,*PDISK_PERFORMANCE; + +typedef struct _DISK_RECORD { + LARGE_INTEGER ByteOffset; + LARGE_INTEGER StartTime; + LARGE_INTEGER EndTime; + PVOID VirtualAddress; + DWORD NumberOfBytes; + BYTE DeviceNumber; + BOOLEAN ReadRequest; +} DISK_RECORD,*PDISK_RECORD; + +typedef struct _DISK_LOGGING { + BYTE Function; + PVOID BufferAddress; + DWORD BufferSize; +} DISK_LOGGING,*PDISK_LOGGING; + +#define DISK_LOGGING_START 0 +#define DISK_LOGGING_STOP 1 +#define DISK_LOGGING_DUMP 2 +#define DISK_BINNING 3 + +typedef enum _BIN_TYPES { + RequestSize,RequestLocation +} BIN_TYPES; + +typedef struct _BIN_RANGE { + LARGE_INTEGER StartValue; + LARGE_INTEGER Length; +} BIN_RANGE,*PBIN_RANGE; + +typedef struct _PERF_BIN { + DWORD NumberOfBins; + DWORD TypeOfBin; + BIN_RANGE BinsRanges[1]; +} PERF_BIN,*PPERF_BIN; + +typedef struct _BIN_COUNT { + BIN_RANGE BinRange; + DWORD BinCount; +} BIN_COUNT,*PBIN_COUNT; + +typedef struct _BIN_RESULTS { + DWORD NumberOfBins; + BIN_COUNT BinCounts[1]; +} BIN_RESULTS,*PBIN_RESULTS; + +#include +typedef struct _GETVERSIONINPARAMS { + BYTE bVersion; + BYTE bRevision; + BYTE bReserved; + BYTE bIDEDeviceMap; + DWORD fCapabilities; + DWORD dwReserved[4]; +} GETVERSIONINPARAMS,*PGETVERSIONINPARAMS,*LPGETVERSIONINPARAMS; +#include + +#define CAP_ATA_ID_CMD 1 +#define CAP_ATAPI_ID_CMD 2 +#define CAP_SMART_CMD 4 + +#include +typedef struct _IDEREGS { + BYTE bFeaturesReg; + BYTE bSectorCountReg; + BYTE bSectorNumberReg; + BYTE bCylLowReg; + BYTE bCylHighReg; + BYTE bDriveHeadReg; + BYTE bCommandReg; + BYTE bReserved; +} IDEREGS,*PIDEREGS,*LPIDEREGS; +#include + +#define ATAPI_ID_CMD 0xA1 +#define ID_CMD 0xEC +#define SMART_CMD 0xB0 + +#define SMART_CYL_LOW 0x4F +#define SMART_CYL_HI 0xC2 + +#include +typedef struct _SENDCMDINPARAMS { + DWORD cBufferSize; + IDEREGS irDriveRegs; + BYTE bDriveNumber; + BYTE bReserved[3]; + DWORD dwReserved[4]; + BYTE bBuffer[1]; +} SENDCMDINPARAMS,*PSENDCMDINPARAMS,*LPSENDCMDINPARAMS; +#include + +#include +typedef struct _DRIVERSTATUS { + BYTE bDriverError; + BYTE bIDEError; + BYTE bReserved[2]; + DWORD dwReserved[2]; +} DRIVERSTATUS,*PDRIVERSTATUS,*LPDRIVERSTATUS; +#include + +#define SMART_NO_ERROR 0 +#define SMART_IDE_ERROR 1 +#define SMART_INVALID_FLAG 2 +#define SMART_INVALID_COMMAND 3 +#define SMART_INVALID_BUFFER 4 +#define SMART_INVALID_DRIVE 5 +#define SMART_INVALID_IOCTL 6 +#define SMART_ERROR_NO_MEM 7 +#define SMART_INVALID_REGISTER 8 +#define SMART_NOT_SUPPORTED 9 +#define SMART_NO_IDE_DEVICE 10 + +#define SMART_OFFLINE_ROUTINE_OFFLINE 0 +#define SMART_SHORT_SELFTEST_OFFLINE 1 +#define SMART_EXTENDED_SELFTEST_OFFLINE 2 +#define SMART_ABORT_OFFLINE_SELFTEST 127 +#define SMART_SHORT_SELFTEST_CAPTIVE 129 +#define SMART_EXTENDED_SELFTEST_CAPTIVE 130 + +#include +typedef struct _SENDCMDOUTPARAMS { + DWORD cBufferSize; + DRIVERSTATUS DriverStatus; + BYTE bBuffer[1]; +} SENDCMDOUTPARAMS,*PSENDCMDOUTPARAMS,*LPSENDCMDOUTPARAMS; +#include + +#define READ_ATTRIBUTE_BUFFER_SIZE 512 +#define IDENTIFY_BUFFER_SIZE 512 +#define READ_THRESHOLD_BUFFER_SIZE 512 +#define SMART_LOG_SECTOR_SIZE 512 + +#define READ_ATTRIBUTES 0xD0 +#define READ_THRESHOLDS 0xD1 +#define ENABLE_DISABLE_AUTOSAVE 0xD2 +#define SAVE_ATTRIBUTE_VALUES 0xD3 +#define EXECUTE_OFFLINE_DIAGS 0xD4 +#define SMART_READ_LOG 0xD5 +#define SMART_WRITE_LOG 0xd6 +#define ENABLE_SMART 0xD8 +#define DISABLE_SMART 0xD9 +#define RETURN_SMART_STATUS 0xDA +#define ENABLE_DISABLE_AUTO_OFFLINE 0xDB + +#endif /* _NTDDDISK_H_ */ + + +#define IOCTL_CHANGER_BASE FILE_DEVICE_CHANGER +#define IOCTL_CHANGER_GET_PARAMETERS CTL_CODE(IOCTL_CHANGER_BASE,0x0000,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_GET_STATUS CTL_CODE(IOCTL_CHANGER_BASE,0x0001,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_GET_PRODUCT_DATA CTL_CODE(IOCTL_CHANGER_BASE,0x0002,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_SET_ACCESS CTL_CODE(IOCTL_CHANGER_BASE,0x0004,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_CHANGER_GET_ELEMENT_STATUS CTL_CODE(IOCTL_CHANGER_BASE,0x0005,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS CTL_CODE(IOCTL_CHANGER_BASE,0x0006,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_SET_POSITION CTL_CODE(IOCTL_CHANGER_BASE,0x0007,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_EXCHANGE_MEDIUM CTL_CODE(IOCTL_CHANGER_BASE,0x0008,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_MOVE_MEDIUM CTL_CODE(IOCTL_CHANGER_BASE,0x0009,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_REINITIALIZE_TRANSPORT CTL_CODE(IOCTL_CHANGER_BASE,0x000A,METHOD_BUFFERED,FILE_READ_ACCESS) +#define IOCTL_CHANGER_QUERY_VOLUME_TAGS CTL_CODE(IOCTL_CHANGER_BASE,0x000B,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) + +#define MAX_VOLUME_ID_SIZE 36 +#define MAX_VOLUME_TEMPLATE_SIZE 40 + +#define VENDOR_ID_LENGTH 8 +#define PRODUCT_ID_LENGTH 16 +#define REVISION_LENGTH 4 +#define SERIAL_NUMBER_LENGTH 32 + +typedef enum _ELEMENT_TYPE { + AllElements,ChangerTransport,ChangerSlot,ChangerIEPort,ChangerDrive,ChangerDoor,ChangerKeypad,ChangerMaxElement +} ELEMENT_TYPE,*PELEMENT_TYPE; + +typedef struct _CHANGER_ELEMENT { + ELEMENT_TYPE ElementType; + DWORD ElementAddress; +} CHANGER_ELEMENT,*PCHANGER_ELEMENT; + +typedef struct _CHANGER_ELEMENT_LIST { + CHANGER_ELEMENT Element; + DWORD NumberOfElements; +} CHANGER_ELEMENT_LIST ,*PCHANGER_ELEMENT_LIST; + +#define CHANGER_BAR_CODE_SCANNER_INSTALLED 0x00000001 +#define CHANGER_INIT_ELEM_STAT_WITH_RANGE 0x00000002 +#define CHANGER_CLOSE_IEPORT 0x00000004 +#define CHANGER_OPEN_IEPORT 0x00000008 + +#define CHANGER_STATUS_NON_VOLATILE 0x00000010 +#define CHANGER_EXCHANGE_MEDIA 0x00000020 +#define CHANGER_CLEANER_SLOT 0x00000040 +#define CHANGER_LOCK_UNLOCK 0x00000080 + +#define CHANGER_CARTRIDGE_MAGAZINE 0x00000100 +#define CHANGER_MEDIUM_FLIP 0x00000200 +#define CHANGER_POSITION_TO_ELEMENT 0x00000400 +#define CHANGER_REPORT_IEPORT_STATE 0x00000800 + +#define CHANGER_STORAGE_DRIVE 0x00001000 +#define CHANGER_STORAGE_IEPORT 0x00002000 +#define CHANGER_STORAGE_SLOT 0x00004000 +#define CHANGER_STORAGE_TRANSPORT 0x00008000 + +#define CHANGER_DRIVE_CLEANING_REQUIRED 0x00010000 + +#define CHANGER_PREDISMOUNT_EJECT_REQUIRED 0x00020000 + +#define CHANGER_CLEANER_ACCESS_NOT_VALID 0x00040000 +#define CHANGER_PREMOUNT_EJECT_REQUIRED 0x00080000 + +#define CHANGER_VOLUME_IDENTIFICATION 0x00100000 +#define CHANGER_VOLUME_SEARCH 0x00200000 +#define CHANGER_VOLUME_ASSERT 0x00400000 +#define CHANGER_VOLUME_REPLACE 0x00800000 +#define CHANGER_VOLUME_UNDEFINE 0x01000000 + +#define CHANGER_SERIAL_NUMBER_VALID 0x04000000 + +#define CHANGER_DEVICE_REINITIALIZE_CAPABLE 0x08000000 +#define CHANGER_KEYPAD_ENABLE_DISABLE 0x10000000 +#define CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS 0x20000000 + +#define CHANGER_RESERVED_BIT 0x80000000 + +#define CHANGER_PREDISMOUNT_ALIGN_TO_SLOT 0x80000001 +#define CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE 0x80000002 +#define CHANGER_CLEANER_AUTODISMOUNT 0x80000004 +#define CHANGER_TRUE_EXCHANGE_CAPABLE 0x80000008 +#define CHANGER_SLOTS_USE_TRAYS 0x80000010 +#define CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR 0x80000020 +#define CHANGER_CLEANER_OPS_NOT_SUPPORTED 0x80000040 +#define CHANGER_IEPORT_USER_CONTROL_OPEN 0x80000080 +#define CHANGER_IEPORT_USER_CONTROL_CLOSE 0x80000100 +#define CHANGER_MOVE_EXTENDS_IEPORT 0x80000200 +#define CHANGER_MOVE_RETRACTS_IEPORT 0x80000400 + +#define CHANGER_TO_TRANSPORT 0x01 +#define CHANGER_TO_SLOT 0x02 +#define CHANGER_TO_IEPORT 0x04 +#define CHANGER_TO_DRIVE 0x08 + +#define LOCK_UNLOCK_IEPORT 0x01 +#define LOCK_UNLOCK_DOOR 0x02 +#define LOCK_UNLOCK_KEYPAD 0x04 + +typedef struct _GET_CHANGER_PARAMETERS { + DWORD Size; + WORD NumberTransportElements; + WORD NumberStorageElements; + WORD NumberCleanerSlots; + WORD NumberIEElements; + WORD NumberDataTransferElements; + WORD NumberOfDoors; + WORD FirstSlotNumber; + WORD FirstDriveNumber; + WORD FirstTransportNumber; + WORD FirstIEPortNumber; + WORD FirstCleanerSlotAddress; + WORD MagazineSize; + DWORD DriveCleanTimeout; + DWORD Features0; + DWORD Features1; + BYTE MoveFromTransport; + BYTE MoveFromSlot; + BYTE MoveFromIePort; + BYTE MoveFromDrive; + BYTE ExchangeFromTransport; + BYTE ExchangeFromSlot; + BYTE ExchangeFromIePort; + BYTE ExchangeFromDrive; + BYTE LockUnlockCapabilities; + BYTE PositionCapabilities; + BYTE Reserved1[2]; + DWORD Reserved2[2]; +} GET_CHANGER_PARAMETERS,*PGET_CHANGER_PARAMETERS; + +typedef struct _CHANGER_PRODUCT_DATA { + BYTE VendorId[VENDOR_ID_LENGTH]; + BYTE ProductId[PRODUCT_ID_LENGTH]; + BYTE Revision[REVISION_LENGTH]; + BYTE SerialNumber[SERIAL_NUMBER_LENGTH]; + BYTE DeviceType; +} CHANGER_PRODUCT_DATA,*PCHANGER_PRODUCT_DATA; + +#define LOCK_ELEMENT 0 +#define UNLOCK_ELEMENT 1 +#define EXTEND_IEPORT 2 +#define RETRACT_IEPORT 3 + +typedef struct _CHANGER_SET_ACCESS { + CHANGER_ELEMENT Element; + DWORD Control; +} CHANGER_SET_ACCESS,*PCHANGER_SET_ACCESS; + +typedef struct _CHANGER_READ_ELEMENT_STATUS { + CHANGER_ELEMENT_LIST ElementList; + BOOLEAN VolumeTagInfo; +} CHANGER_READ_ELEMENT_STATUS,*PCHANGER_READ_ELEMENT_STATUS; + +typedef struct _CHANGER_ELEMENT_STATUS { + CHANGER_ELEMENT Element; + CHANGER_ELEMENT SrcElementAddress; + DWORD Flags; + DWORD ExceptionCode; + BYTE TargetId; + BYTE Lun; + WORD Reserved; + BYTE PrimaryVolumeID[MAX_VOLUME_ID_SIZE]; + BYTE AlternateVolumeID[MAX_VOLUME_ID_SIZE]; +} CHANGER_ELEMENT_STATUS,*PCHANGER_ELEMENT_STATUS; + +typedef struct _CHANGER_ELEMENT_STATUS_EX { + CHANGER_ELEMENT Element; + CHANGER_ELEMENT SrcElementAddress; + DWORD Flags; + DWORD ExceptionCode; + BYTE TargetId; + BYTE Lun; + WORD Reserved; + BYTE PrimaryVolumeID[MAX_VOLUME_ID_SIZE]; + BYTE AlternateVolumeID[MAX_VOLUME_ID_SIZE]; + BYTE VendorIdentification[VENDOR_ID_LENGTH]; + BYTE ProductIdentification[PRODUCT_ID_LENGTH]; + BYTE SerialNumber[SERIAL_NUMBER_LENGTH]; +} CHANGER_ELEMENT_STATUS_EX,*PCHANGER_ELEMENT_STATUS_EX; + +#define ELEMENT_STATUS_FULL 0x00000001 +#define ELEMENT_STATUS_IMPEXP 0x00000002 +#define ELEMENT_STATUS_EXCEPT 0x00000004 +#define ELEMENT_STATUS_ACCESS 0x00000008 +#define ELEMENT_STATUS_EXENAB 0x00000010 +#define ELEMENT_STATUS_INENAB 0x00000020 + +#define ELEMENT_STATUS_PRODUCT_DATA 0x00000040 + +#define ELEMENT_STATUS_LUN_VALID 0x00001000 +#define ELEMENT_STATUS_ID_VALID 0x00002000 +#define ELEMENT_STATUS_NOT_BUS 0x00008000 +#define ELEMENT_STATUS_INVERT 0x00400000 +#define ELEMENT_STATUS_SVALID 0x00800000 + +#define ELEMENT_STATUS_PVOLTAG 0x10000000 +#define ELEMENT_STATUS_AVOLTAG 0x20000000 + +#define ERROR_LABEL_UNREADABLE 0x00000001 +#define ERROR_LABEL_QUESTIONABLE 0x00000002 +#define ERROR_SLOT_NOT_PRESENT 0x00000004 +#define ERROR_DRIVE_NOT_INSTALLED 0x00000008 +#define ERROR_TRAY_MALFUNCTION 0x00000010 +#define ERROR_INIT_STATUS_NEEDED 0x00000011 +#define ERROR_UNHANDLED_ERROR 0xFFFFFFFF + +typedef struct _CHANGER_INITIALIZE_ELEMENT_STATUS { + CHANGER_ELEMENT_LIST ElementList; + BOOLEAN BarCodeScan; +} CHANGER_INITIALIZE_ELEMENT_STATUS,*PCHANGER_INITIALIZE_ELEMENT_STATUS; + +typedef struct _CHANGER_SET_POSITION { + CHANGER_ELEMENT Transport; + CHANGER_ELEMENT Destination; + BOOLEAN Flip; +} CHANGER_SET_POSITION,*PCHANGER_SET_POSITION; + +typedef struct _CHANGER_EXCHANGE_MEDIUM { + CHANGER_ELEMENT Transport; + CHANGER_ELEMENT Source; + CHANGER_ELEMENT Destination1; + CHANGER_ELEMENT Destination2; + BOOLEAN Flip1; + BOOLEAN Flip2; +} CHANGER_EXCHANGE_MEDIUM,*PCHANGER_EXCHANGE_MEDIUM; + +typedef struct _CHANGER_MOVE_MEDIUM { + CHANGER_ELEMENT Transport; + CHANGER_ELEMENT Source; + CHANGER_ELEMENT Destination; + BOOLEAN Flip; +} CHANGER_MOVE_MEDIUM,*PCHANGER_MOVE_MEDIUM; + +typedef struct _CHANGER_SEND_VOLUME_TAG_INFORMATION { + CHANGER_ELEMENT StartingElement; + DWORD ActionCode; + BYTE VolumeIDTemplate[MAX_VOLUME_TEMPLATE_SIZE]; +} CHANGER_SEND_VOLUME_TAG_INFORMATION,*PCHANGER_SEND_VOLUME_TAG_INFORMATION; + +typedef struct _READ_ELEMENT_ADDRESS_INFO { + DWORD NumberOfElements; + CHANGER_ELEMENT_STATUS ElementStatus[1]; +} READ_ELEMENT_ADDRESS_INFO,*PREAD_ELEMENT_ADDRESS_INFO; + +#define SEARCH_ALL 0x0 +#define SEARCH_PRIMARY 0x1 +#define SEARCH_ALTERNATE 0x2 +#define SEARCH_ALL_NO_SEQ 0x4 +#define SEARCH_PRI_NO_SEQ 0x5 +#define SEARCH_ALT_NO_SEQ 0x6 + +#define ASSERT_PRIMARY 0x8 +#define ASSERT_ALTERNATE 0x9 + +#define REPLACE_PRIMARY 0xA +#define REPLACE_ALTERNATE 0xB + +#define UNDEFINE_PRIMARY 0xC +#define UNDEFINE_ALTERNATE 0xD + +typedef enum _CHANGER_DEVICE_PROBLEM_TYPE { + DeviceProblemNone,DeviceProblemHardware,DeviceProblemCHMError,DeviceProblemDoorOpen,DeviceProblemCalibrationError,DeviceProblemTargetFailure, + DeviceProblemCHMMoveError,DeviceProblemCHMZeroError,DeviceProblemCartridgeInsertError,DeviceProblemPositionError,DeviceProblemSensorError, + DeviceProblemCartridgeEjectError,DeviceProblemGripperError,DeviceProblemDriveError +} CHANGER_DEVICE_PROBLEM_TYPE,*PCHANGER_DEVICE_PROBLEM_TYPE; + +#define IOCTL_SERIAL_LSRMST_INSERT CTL_CODE(FILE_DEVICE_SERIAL_PORT,31,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define IOCTL_SERENUM_EXPOSE_HARDWARE CTL_CODE(FILE_DEVICE_SERENUM,128,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_SERENUM_REMOVE_HARDWARE CTL_CODE(FILE_DEVICE_SERENUM,129,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_SERENUM_PORT_DESC CTL_CODE(FILE_DEVICE_SERENUM,130,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_SERENUM_GET_PORT_NAME CTL_CODE(FILE_DEVICE_SERENUM,131,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define SERIAL_LSRMST_ESCAPE ((BYTE)0x00) + +#define SERIAL_LSRMST_LSR_DATA ((BYTE)0x01) + +#define SERIAL_LSRMST_LSR_NODATA ((BYTE)0x02) + +#define SERIAL_LSRMST_MST ((BYTE)0x03) + +#define SERIAL_IOC_FCR_FIFO_ENABLE ((DWORD)0x00000001) +#define SERIAL_IOC_FCR_RCVR_RESET ((DWORD)0x00000002) +#define SERIAL_IOC_FCR_XMIT_RESET ((DWORD)0x00000004) +#define SERIAL_IOC_FCR_DMA_MODE ((DWORD)0x00000008) +#define SERIAL_IOC_FCR_RES1 ((DWORD)0x00000010) +#define SERIAL_IOC_FCR_RES2 ((DWORD)0x00000020) +#define SERIAL_IOC_FCR_RCVR_TRIGGER_LSB ((DWORD)0x00000040) +#define SERIAL_IOC_FCR_RCVR_TRIGGER_MSB ((DWORD)0x00000080) + +#define SERIAL_IOC_MCR_DTR ((DWORD)0x00000001) +#define SERIAL_IOC_MCR_RTS ((DWORD)0x00000002) +#define SERIAL_IOC_MCR_OUT1 ((DWORD)0x00000004) +#define SERIAL_IOC_MCR_OUT2 ((DWORD)0x00000008) +#define SERIAL_IOC_MCR_LOOP ((DWORD)0x00000010) + +#ifndef _FILESYSTEMFSCTL_ +#define _FILESYSTEMFSCTL_ + +#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM,0,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM,1,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM,2,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,3,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM,4,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM,5,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,6,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,7,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,8,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM,10,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,11,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM,12,METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,14,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,15,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,16,METHOD_BUFFERED,FILE_READ_DATA | FILE_WRITE_DATA) + +#define FSCTL_SET_BOOTLOADER_ACCESSED CTL_CODE(FILE_DEVICE_FILE_SYSTEM,19,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_MARK_AS_SYSTEM_HIVE FSCTL_SET_BOOTLOADER_ACCESSED +#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM,20,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM,21,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM,22,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM,23,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,24,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,25,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM,26,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM,27,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM,28,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,29,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM,30,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,32,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,35,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,38,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,39,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,40,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,41,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,42,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,43,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,44,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM,45,METHOD_NEITHER,FILE_READ_DATA) +#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM,46,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM,47,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM,48,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,49,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) +#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,50,METHOD_BUFFERED,FILE_WRITE_DATA) +#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM,51,METHOD_NEITHER,FILE_READ_DATA) +#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,52,METHOD_BUFFERED,FILE_WRITE_DATA) +#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,53,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,54,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM,55,METHOD_NEITHER,FILE_SPECIAL_ACCESS) +#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM,56,METHOD_NEITHER,FILE_SPECIAL_ACCESS) +#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM,57,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,58,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM,59,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,60,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM,61,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM,62,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,63,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,64,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM,65,METHOD_BUFFERED,FILE_READ_DATA | FILE_WRITE_DATA) +#define FSCTL_HSM_MSG CTL_CODE(FILE_DEVICE_FILE_SYSTEM,66,METHOD_BUFFERED,FILE_READ_DATA | FILE_WRITE_DATA) +#define FSCTL_HSM_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,68,METHOD_NEITHER,FILE_READ_DATA | FILE_WRITE_DATA) +#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,69,METHOD_NEITHER,FILE_ANY_ACCESS) +#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM,71,METHOD_OUT_DIRECT,FILE_READ_DATA) +#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM,72,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) + +typedef struct _PATHNAME_BUFFER { + DWORD PathNameLength; + WCHAR Name[1]; +} PATHNAME_BUFFER,*PPATHNAME_BUFFER; + +typedef struct _FSCTL_QUERY_FAT_BPB_BUFFER { + BYTE First0x24BytesOfBootSector[0x24]; +} FSCTL_QUERY_FAT_BPB_BUFFER,*PFSCTL_QUERY_FAT_BPB_BUFFER; + +typedef struct { + LARGE_INTEGER VolumeSerialNumber; + LARGE_INTEGER NumberSectors; + LARGE_INTEGER TotalClusters; + LARGE_INTEGER FreeClusters; + LARGE_INTEGER TotalReserved; + DWORD BytesPerSector; + DWORD BytesPerCluster; + DWORD BytesPerFileRecordSegment; + DWORD ClustersPerFileRecordSegment; + LARGE_INTEGER MftValidDataLength; + LARGE_INTEGER MftStartLcn; + LARGE_INTEGER Mft2StartLcn; + LARGE_INTEGER MftZoneStart; + LARGE_INTEGER MftZoneEnd; +} NTFS_VOLUME_DATA_BUFFER,*PNTFS_VOLUME_DATA_BUFFER; + +typedef struct { + DWORD ByteCount; + WORD MajorVersion; + WORD MinorVersion; +} NTFS_EXTENDED_VOLUME_DATA,*PNTFS_EXTENDED_VOLUME_DATA; + +typedef struct { + LARGE_INTEGER StartingLcn; +} STARTING_LCN_INPUT_BUFFER,*PSTARTING_LCN_INPUT_BUFFER; + +typedef struct { + LARGE_INTEGER StartingLcn; + LARGE_INTEGER BitmapSize; + BYTE Buffer[1]; +} VOLUME_BITMAP_BUFFER,*PVOLUME_BITMAP_BUFFER; + +typedef struct { + LARGE_INTEGER StartingVcn; +} STARTING_VCN_INPUT_BUFFER,*PSTARTING_VCN_INPUT_BUFFER; + +typedef struct RETRIEVAL_POINTERS_BUFFER { + DWORD ExtentCount; + LARGE_INTEGER StartingVcn; + struct { + LARGE_INTEGER NextVcn; + LARGE_INTEGER Lcn; + } Extents[1]; +} RETRIEVAL_POINTERS_BUFFER,*PRETRIEVAL_POINTERS_BUFFER; + +typedef struct { + LARGE_INTEGER FileReferenceNumber; +} NTFS_FILE_RECORD_INPUT_BUFFER,*PNTFS_FILE_RECORD_INPUT_BUFFER; + +typedef struct { + LARGE_INTEGER FileReferenceNumber; + DWORD FileRecordLength; + BYTE FileRecordBuffer[1]; +} NTFS_FILE_RECORD_OUTPUT_BUFFER,*PNTFS_FILE_RECORD_OUTPUT_BUFFER; + +typedef struct { + HANDLE FileHandle; + LARGE_INTEGER StartingVcn; + LARGE_INTEGER StartingLcn; + DWORD ClusterCount; +} MOVE_FILE_DATA,*PMOVE_FILE_DATA; + +typedef struct _MOVE_FILE_RECORD_DATA { + HANDLE FileHandle; + LARGE_INTEGER SourceFileRecord; + LARGE_INTEGER TargetFileRecord; +} MOVE_FILE_RECORD_DATA, *PMOVE_FILE_RECORD_DATA; + +#ifdef _WIN64 +typedef struct _MOVE_FILE_DATA32 { + UINT32 FileHandle; + LARGE_INTEGER StartingVcn; + LARGE_INTEGER StartingLcn; + DWORD ClusterCount; +} MOVE_FILE_DATA32,*PMOVE_FILE_DATA32; +#endif + +typedef struct { + DWORD Restart; + SID Sid; +} FIND_BY_SID_DATA,*PFIND_BY_SID_DATA; + +typedef struct { + DWORD NextEntryOffset; + DWORD FileIndex; + DWORD FileNameLength; + WCHAR FileName[1]; +} FIND_BY_SID_OUTPUT,*PFIND_BY_SID_OUTPUT; + +typedef struct { + DWORDLONG StartFileReferenceNumber; + USN LowUsn; + USN HighUsn; +} MFT_ENUM_DATA,*PMFT_ENUM_DATA; + +typedef struct { + DWORDLONG MaximumSize; + DWORDLONG AllocationDelta; +} CREATE_USN_JOURNAL_DATA,*PCREATE_USN_JOURNAL_DATA; + +typedef struct { + USN StartUsn; + DWORD ReasonMask; + DWORD ReturnOnlyOnClose; + DWORDLONG Timeout; + DWORDLONG BytesToWaitFor; + DWORDLONG UsnJournalID; +} READ_USN_JOURNAL_DATA,*PREAD_USN_JOURNAL_DATA; + +typedef struct { + DWORD RecordLength; + WORD MajorVersion; + WORD MinorVersion; + DWORDLONG FileReferenceNumber; + DWORDLONG ParentFileReferenceNumber; + USN Usn; + LARGE_INTEGER TimeStamp; + DWORD Reason; + DWORD SourceInfo; + DWORD SecurityId; + DWORD FileAttributes; + WORD FileNameLength; + WORD FileNameOffset; + WCHAR FileName[1]; +} USN_RECORD,*PUSN_RECORD; + +#define USN_PAGE_SIZE (0x1000) + +#define USN_REASON_DATA_OVERWRITE (0x00000001) +#define USN_REASON_DATA_EXTEND (0x00000002) +#define USN_REASON_DATA_TRUNCATION (0x00000004) +#define USN_REASON_NAMED_DATA_OVERWRITE (0x00000010) +#define USN_REASON_NAMED_DATA_EXTEND (0x00000020) +#define USN_REASON_NAMED_DATA_TRUNCATION (0x00000040) +#define USN_REASON_FILE_CREATE (0x00000100) +#define USN_REASON_FILE_DELETE (0x00000200) +#define USN_REASON_EA_CHANGE (0x00000400) +#define USN_REASON_SECURITY_CHANGE (0x00000800) +#define USN_REASON_RENAME_OLD_NAME (0x00001000) +#define USN_REASON_RENAME_NEW_NAME (0x00002000) +#define USN_REASON_INDEXABLE_CHANGE (0x00004000) +#define USN_REASON_BASIC_INFO_CHANGE (0x00008000) +#define USN_REASON_HARD_LINK_CHANGE (0x00010000) +#define USN_REASON_COMPRESSION_CHANGE (0x00020000) +#define USN_REASON_ENCRYPTION_CHANGE (0x00040000) +#define USN_REASON_OBJECT_ID_CHANGE (0x00080000) +#define USN_REASON_REPARSE_POINT_CHANGE (0x00100000) +#define USN_REASON_STREAM_CHANGE (0x00200000) +#define USN_REASON_TRANSACTED_CHANGE (0x00400000) + +#define USN_REASON_CLOSE (0x80000000) + +typedef struct { + DWORDLONG UsnJournalID; + USN FirstUsn; + USN NextUsn; + USN LowestValidUsn; + USN MaxUsn; + DWORDLONG MaximumSize; + DWORDLONG AllocationDelta; +} USN_JOURNAL_DATA,*PUSN_JOURNAL_DATA; + +typedef struct { + DWORDLONG UsnJournalID; + DWORD DeleteFlags; +} DELETE_USN_JOURNAL_DATA,*PDELETE_USN_JOURNAL_DATA; + +#define USN_DELETE_FLAG_DELETE (0x00000001) +#define USN_DELETE_FLAG_NOTIFY (0x00000002) + +#define USN_DELETE_VALID_FLAGS (0x00000003) + +typedef struct { + DWORD UsnSourceInfo; + HANDLE VolumeHandle; + DWORD HandleInfo; +} MARK_HANDLE_INFO,*PMARK_HANDLE_INFO; + +#ifdef _WIN64 + +typedef struct { + DWORD UsnSourceInfo; + UINT32 VolumeHandle; + DWORD HandleInfo; + +} MARK_HANDLE_INFO32,*PMARK_HANDLE_INFO32; +#endif + +#define USN_SOURCE_DATA_MANAGEMENT (0x00000001) +#define USN_SOURCE_AUXILIARY_DATA (0x00000002) +#define USN_SOURCE_REPLICATION_MANAGEMENT (0x00000004) + +#define MARK_HANDLE_PROTECT_CLUSTERS (0x00000001) +#define MARK_HANDLE_TXF_SYSTEM_LOG (0x00000004) +#define MARK_HANDLE_NOT_TXF_SYSTEM_LOG (0x00000008) +#define MARK_HANDLE_REALTIME (0x00000020) +#define MARK_HANDLE_NOT_REALTIME (0x00000040) + +typedef struct { + ACCESS_MASK DesiredAccess; + DWORD SecurityIds[1]; +} BULK_SECURITY_TEST_DATA,*PBULK_SECURITY_TEST_DATA; + +#define VOLUME_IS_DIRTY (0x00000001) +#define VOLUME_UPGRADE_SCHEDULED (0x00000002) +#define VOLUME_SESSION_OPEN (0x00000004) + +typedef struct _FILE_PREFETCH { + DWORD Type; + DWORD Count; + DWORDLONG Prefetch[1]; +} FILE_PREFETCH,*PFILE_PREFETCH; + +typedef struct _FILE_PREFETCH_EX { + ULONG Type; + ULONG Count; + PVOID Context; + ULONGLONG Prefetch[1]; +} FILE_PREFETCH_EX, *PFILE_PREFETCH_EX; + +#define FILE_PREFETCH_TYPE_FOR_CREATE 0x1 +#define FILE_PREFETCH_TYPE_FOR_DIRENUM 0x2 +#define FILE_PREFETCH_TYPE_FOR_CREATE_EX 0x3 +#define FILE_PREFETCH_TYPE_FOR_DIRENUM_EX 0x4 + +#define FILE_PREFETCH_TYPE_MAX 0x4 + +typedef struct _FILESYSTEM_STATISTICS { + WORD FileSystemType; + WORD Version; + DWORD SizeOfCompleteStructure; + DWORD UserFileReads; + DWORD UserFileReadBytes; + DWORD UserDiskReads; + DWORD UserFileWrites; + DWORD UserFileWriteBytes; + DWORD UserDiskWrites; + DWORD MetaDataReads; + DWORD MetaDataReadBytes; + DWORD MetaDataDiskReads; + DWORD MetaDataWrites; + DWORD MetaDataWriteBytes; + DWORD MetaDataDiskWrites; +} FILESYSTEM_STATISTICS,*PFILESYSTEM_STATISTICS; + +#define FILESYSTEM_STATISTICS_TYPE_NTFS 1 +#define FILESYSTEM_STATISTICS_TYPE_FAT 2 +#define FILESYSTEM_STATISTICS_TYPE_EXFAT 3 + +typedef struct _FAT_STATISTICS { + DWORD CreateHits; + DWORD SuccessfulCreates; + DWORD FailedCreates; + DWORD NonCachedReads; + DWORD NonCachedReadBytes; + DWORD NonCachedWrites; + DWORD NonCachedWriteBytes; + DWORD NonCachedDiskReads; + DWORD NonCachedDiskWrites; +} FAT_STATISTICS,*PFAT_STATISTICS; + +typedef struct _EXFAT_STATISTICS { + DWORD CreateHits; + DWORD SuccessfulCreates; + DWORD FailedCreates; + DWORD NonCachedReads; + DWORD NonCachedReadBytes; + DWORD NonCachedWrites; + DWORD NonCachedWriteBytes; + DWORD NonCachedDiskReads; + DWORD NonCachedDiskWrites; +} EXFAT_STATISTICS, *PEXFAT_STATISTICS; + +typedef struct _NTFS_STATISTICS { + DWORD LogFileFullExceptions; + DWORD OtherExceptions; + DWORD MftReads; + DWORD MftReadBytes; + DWORD MftWrites; + DWORD MftWriteBytes; + struct { + WORD Write; + WORD Create; + WORD SetInfo; + WORD Flush; + } MftWritesUserLevel; + WORD MftWritesFlushForLogFileFull; + WORD MftWritesLazyWriter; + WORD MftWritesUserRequest; + DWORD Mft2Writes; + DWORD Mft2WriteBytes; + struct { + WORD Write; + WORD Create; + WORD SetInfo; + WORD Flush; + } Mft2WritesUserLevel; + WORD Mft2WritesFlushForLogFileFull; + WORD Mft2WritesLazyWriter; + WORD Mft2WritesUserRequest; + DWORD RootIndexReads; + DWORD RootIndexReadBytes; + DWORD RootIndexWrites; + DWORD RootIndexWriteBytes; + DWORD BitmapReads; + DWORD BitmapReadBytes; + DWORD BitmapWrites; + DWORD BitmapWriteBytes; + WORD BitmapWritesFlushForLogFileFull; + WORD BitmapWritesLazyWriter; + WORD BitmapWritesUserRequest; + struct { + WORD Write; + WORD Create; + WORD SetInfo; + } BitmapWritesUserLevel; + DWORD MftBitmapReads; + DWORD MftBitmapReadBytes; + DWORD MftBitmapWrites; + DWORD MftBitmapWriteBytes; + WORD MftBitmapWritesFlushForLogFileFull; + WORD MftBitmapWritesLazyWriter; + WORD MftBitmapWritesUserRequest; + struct { + WORD Write; + WORD Create; + WORD SetInfo; + WORD Flush; + } MftBitmapWritesUserLevel; + DWORD UserIndexReads; + DWORD UserIndexReadBytes; + DWORD UserIndexWrites; + DWORD UserIndexWriteBytes; + DWORD LogFileReads; + DWORD LogFileReadBytes; + DWORD LogFileWrites; + DWORD LogFileWriteBytes; + struct { + DWORD Calls; + DWORD Clusters; + DWORD Hints; + DWORD RunsReturned; + DWORD HintsHonored; + DWORD HintsClusters; + DWORD Cache; + DWORD CacheClusters; + DWORD CacheMiss; + DWORD CacheMissClusters; + } Allocate; +} NTFS_STATISTICS,*PNTFS_STATISTICS; + +typedef struct _FILE_OBJECTID_BUFFER { + BYTE ObjectId[16]; + __C89_NAMELESS union { + __C89_NAMELESS struct { + BYTE BirthVolumeId[16]; + BYTE BirthObjectId[16]; + BYTE DomainId[16]; + } DUMMYSTRUCTNAME; + BYTE ExtendedInfo[48]; + } DUMMYUNIONNAME; +} FILE_OBJECTID_BUFFER,*PFILE_OBJECTID_BUFFER; + +typedef struct _FILE_SET_SPARSE_BUFFER { + BOOLEAN SetSparse; +} FILE_SET_SPARSE_BUFFER,*PFILE_SET_SPARSE_BUFFER; + +typedef struct _FILE_ZERO_DATA_INFORMATION { + LARGE_INTEGER FileOffset; + LARGE_INTEGER BeyondFinalZero; +} FILE_ZERO_DATA_INFORMATION,*PFILE_ZERO_DATA_INFORMATION; + +typedef struct _FILE_ALLOCATED_RANGE_BUFFER { + LARGE_INTEGER FileOffset; + LARGE_INTEGER Length; +} FILE_ALLOCATED_RANGE_BUFFER,*PFILE_ALLOCATED_RANGE_BUFFER; + +typedef struct _ENCRYPTION_BUFFER { + DWORD EncryptionOperation; + BYTE Private[1]; +} ENCRYPTION_BUFFER,*PENCRYPTION_BUFFER; + +#define FILE_SET_ENCRYPTION 0x00000001 +#define FILE_CLEAR_ENCRYPTION 0x00000002 +#define STREAM_SET_ENCRYPTION 0x00000003 +#define STREAM_CLEAR_ENCRYPTION 0x00000004 + +#define MAXIMUM_ENCRYPTION_VALUE 0x00000004 + +typedef struct _DECRYPTION_STATUS_BUFFER { + BOOLEAN NoEncryptedStreams; +} DECRYPTION_STATUS_BUFFER,*PDECRYPTION_STATUS_BUFFER; + +#define ENCRYPTION_FORMAT_DEFAULT (0x01) +#define COMPRESSION_FORMAT_SPARSE (0x4000) + +typedef struct _REQUEST_RAW_ENCRYPTED_DATA { + LONGLONG FileOffset; + DWORD Length; +} REQUEST_RAW_ENCRYPTED_DATA,*PREQUEST_RAW_ENCRYPTED_DATA; + +typedef struct _ENCRYPTED_DATA_INFO { + DWORDLONG StartingFileOffset; + DWORD OutputBufferOffset; + DWORD BytesWithinFileSize; + DWORD BytesWithinValidDataLength; + WORD CompressionFormat; + BYTE DataUnitShift; + BYTE ChunkShift; + BYTE ClusterShift; + BYTE EncryptionFormat; + WORD NumberOfDataBlocks; + DWORD DataBlockSize[ANYSIZE_ARRAY]; +} ENCRYPTED_DATA_INFO; +typedef ENCRYPTED_DATA_INFO *PENCRYPTED_DATA_INFO; + +typedef struct _PLEX_READ_DATA_REQUEST { + LARGE_INTEGER ByteOffset; + DWORD ByteLength; + DWORD PlexNumber; +} PLEX_READ_DATA_REQUEST,*PPLEX_READ_DATA_REQUEST; + +typedef struct _SI_COPYFILE { + DWORD SourceFileNameLength; + DWORD DestinationFileNameLength; + DWORD Flags; + WCHAR FileNameBuffer[1]; +} SI_COPYFILE,*PSI_COPYFILE; + +#define COPYFILE_SIS_LINK 0x0001 +#define COPYFILE_SIS_REPLACE 0x0002 +#define COPYFILE_SIS_FLAGS 0x0003 + +typedef struct _STORAGE_DESCRIPTOR_HEADER { + DWORD Version; + DWORD Size; +} STORAGE_DESCRIPTOR_HEADER, *PSTORAGE_DESCRIPTOR_HEADER; + +typedef enum _STORAGE_PROPERTY_ID { + StorageDeviceProperty = 0, + StorageAdapterProperty, + StorageDeviceIdProperty, + StorageDeviceUniqueIdProperty, + StorageDeviceWriteCacheProperty, + StorageMiniportProperty, + StorageAccessAlignmentProperty, + StorageDeviceSeekPenaltyProperty, + StorageDeviceTrimProperty, + StorageDeviceWriteAggregationProperty, + StorageDeviceDeviceTelemetryProperty, + StorageDeviceLBProvisioningProperty, + StorageDevicePowerProperty, + StorageDeviceCopyOffloadProperty, + StorageDeviceResiliencyProperty, + StorageDeviceMediumProductType, + StorageAdapterRpmbProperty, + StorageAdapterCryptoProperty, + StorageDeviceIoCapabilityProperty = 48, + StorageAdapterProtocolSpecificProperty, + StorageDeviceProtocolSpecificProperty, + StorageAdapterTemperatureProperty, + StorageDeviceTemperatureProperty, + StorageAdapterPhysicalTopologyProperty, + StorageDevicePhysicalTopologyProperty, + StorageDeviceAttributesProperty, + StorageDeviceManagementStatus, + StorageAdapterSerialNumberProperty, + StorageDeviceLocationProperty, + StorageDeviceNumaProperty, + StorageDeviceZonedDeviceProperty, + StorageDeviceUnsafeShutdownCount, + StorageDeviceEnduranceProperty, + StorageDeviceLedStateProperty, + StorageDeviceSelfEncryptionProperty = 64, + StorageFruIdProperty +} STORAGE_PROPERTY_ID, *PSTORAGE_PROPERTY_ID; + +typedef enum _STORAGE_QUERY_TYPE { + PropertyStandardQuery = 0, + PropertyExistsQuery = 1, + PropertyMaskQuery = 2, + PropertyQueryMaxDefined = 3 +} STORAGE_QUERY_TYPE, *PSTORAGE_QUERY_TYPE; + +typedef enum _STORAGE_SET_TYPE { + PropertyStandardSet = 0, + PropertyExistsSet, + PropertySetMaxDefined +} STORAGE_SET_TYPE, *PSTORAGE_SET_TYPE; + +typedef struct _STORAGE_PROPERTY_QUERY { + STORAGE_PROPERTY_ID PropertyId; + STORAGE_QUERY_TYPE QueryType; + BYTE AdditionalParameters[1]; +} STORAGE_PROPERTY_QUERY, *PSTORAGE_PROPERTY_QUERY; + +typedef struct _STORAGE_PROPERTY_SET { + STORAGE_PROPERTY_ID PropertyId; + STORAGE_SET_TYPE SetType; + BYTE AdditionalParameters[1]; +} STORAGE_PROPERTY_SET, *PSTORAGE_PROPERTY_SET; + +typedef struct _STORAGE_DEVICE_DESCRIPTOR { + DWORD Version; + DWORD Size; + BYTE DeviceType; + BYTE DeviceTypeModifier; + BOOLEAN RemovableMedia; + BOOLEAN CommandQueueing; + DWORD VendorIdOffset; + DWORD ProductIdOffset; + DWORD ProductRevisionOffset; + DWORD SerialNumberOffset; + STORAGE_BUS_TYPE BusType; + DWORD RawPropertiesLength; + BYTE RawDeviceProperties[1]; +} STORAGE_DEVICE_DESCRIPTOR, *PSTORAGE_DEVICE_DESCRIPTOR; + +typedef struct _STORAGE_ADAPTER_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD MaximumTransferLength; + DWORD MaximumPhysicalPages; + DWORD AlignmentMask; + BOOLEAN AdapterUsesPio; + BOOLEAN AdapterScansDown; + BOOLEAN CommandQueueing; + BOOLEAN AcceleratedTransfer; + BYTE BusType; + WORD BusMajorVersion; + WORD BusMinorVersion; +#if NTDDI_VERSION >= NTDDI_WIN8 + BYTE SrbType; + BYTE AddressType; +#endif +} STORAGE_ADAPTER_DESCRIPTOR, *PSTORAGE_ADAPTER_DESCRIPTOR; + +#if NTDDI_VERSION >= NTDDI_WIN8 + +#define NO_SRBTYPE_ADAPTER_DESCRIPTOR_SIZE UFIELD_OFFSET(STORAGE_ADAPTER_DESCRIPTOR, SrbType) + +#ifndef SRB_TYPE_SCSI_REQUEST_BLOCK +#define SRB_TYPE_SCSI_REQUEST_BLOCK 0 +#endif + +#ifndef SRB_TYPE_STORAGE_REQUEST_BLOCK +#define SRB_TYPE_STORAGE_REQUEST_BLOCK 1 +#endif + +#ifndef STORAGE_ADDRESS_TYPE_BTL8 +#define STORAGE_ADDRESS_TYPE_BTL8 0 +#endif + +#endif + +typedef struct _STORAGE_DEVICE_ID_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD NumberOfIdentifiers; + BYTE Identifiers[1]; +} STORAGE_DEVICE_ID_DESCRIPTOR, *PSTORAGE_DEVICE_ID_DESCRIPTOR; + +typedef struct _VOLUME_GET_GPT_ATTRIBUTES_INFORMATION { + ULONGLONG GptAttributes; +} VOLUME_GET_GPT_ATTRIBUTES_INFORMATION, *PVOLUME_GET_GPT_ATTRIBUTES_INFORMATION; + +#if (_WIN32_WINNT >= 0x0600) +#define FSCTL_MAKE_MEDIA_COMPATIBLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 76, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_SET_DEFECT_MANAGEMENT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_QUERY_SPARING_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_ON_DISK_VOLUME_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_VOLUME_COMPRESSION_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,80, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_TXFS_MODIFY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM,81, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_QUERY_RM_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,82, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_TXFS_ROLLFORWARD_REDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,84, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_ROLLFORWARD_UNDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,85, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_START_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM,86, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_SHUTDOWN_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 87, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_READ_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,88, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,89, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_CREATE_SECONDARY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM,90,METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_GET_METADATA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,91, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_TXFS_GET_TRANSACTED_VERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,92, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_TXFS_SAVEPOINT_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,94, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_CREATE_MINIVERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 95, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_TXFS_TRANSACTION_ACTIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,99, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_SET_ZERO_ON_DEALLOCATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,101, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_SET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 102, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 103, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_WAIT_FOR_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 104, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_INITIATE_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 106, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSC_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 107, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_SHRINK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 108, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_SET_SHORT_NAME_BEHAVIOR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DFSR_SET_GHOST_HANDLE_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 110, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_TXFS_LIST_TRANSACTIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 121, METHOD_BUFFERED, FILE_READ_DATA) +#define FSCTL_QUERY_PAGEFILE_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 122, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_RESET_VOLUME_ALLOCATION_HINTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 123, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_TXFS_READ_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 126, METHOD_BUFFERED, FILE_ANY_ACCESS) + +#define SET_REPAIR_ENABLED 0x00000001 +#define SET_REPAIR_VOLUME_BITMAP_SCAN 0x00000002 +#define SET_REPAIR_DELETE_CROSSLINK 0x00000004 +#define SET_REPAIR_WARN_ABOUT_DATA_LOSS 0x00000008 +#define SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT 0x00000010 + +typedef struct _FILE_MAKE_COMPATIBLE_BUFFER { + BOOLEAN CloseDisc; +} FILE_MAKE_COMPATIBLE_BUFFER, *PFILE_MAKE_COMPATIBLE_BUFFER; + +typedef struct _FILE_SET_DEFECT_MGMT_BUFFER { + BOOLEAN Disable; +} FILE_SET_DEFECT_MGMT_BUFFER, *PFILE_SET_DEFECT_MGMT_BUFFER; + +typedef struct _FILE_QUERY_SPARING_BUFFER { + ULONG SparingUnitBytes; + BOOLEAN SoftwareSparing; + ULONG TotalSpareBlocks; + ULONG FreeSpareBlocks; +} FILE_QUERY_SPARING_BUFFER, *PFILE_QUERY_SPARING_BUFFER; + +typedef struct _FILE_QUERY_ON_DISK_VOL_INFO_BUFFER { + LARGE_INTEGER DirectoryCount; + LARGE_INTEGER FileCount; + WORD FsFormatMajVersion; + WORD FsFormatMinVersion; + WCHAR FsFormatName[12]; + LARGE_INTEGER FormatTime; + LARGE_INTEGER LastUpdateTime; + WCHAR CopyrightInfo[34]; + WCHAR AbstractInfo[34]; + WCHAR FormattingImplementationInfo[34]; + WCHAR LastModifyingImplementationInfo[34]; +} FILE_QUERY_ON_DISK_VOL_INFO_BUFFER, *PFILE_QUERY_ON_DISK_VOL_INFO_BUFFER; + +#define SET_REPAIR_ENABLED 0x00000001 +#define SET_REPAIR_VOLUME_BITMAP_SCAN 0x00000002 +#define SET_REPAIR_DELETE_CROSSLINK 0x00000004 +#define SET_REPAIR_WARN_ABOUT_DATA_LOSS 0x00000008 +#define SET_REPAIR_DISABLED_AND_BUGCHECK_ON_CORRUPT 0x00000010 +#define SET_REPAIR_VALID_MASK 0x0000001F + +typedef enum _SHRINK_VOLUME_REQUEST_TYPES { + ShrinkPrepare = 1, + ShrinkCommit, + ShrinkAbort +} SHRINK_VOLUME_REQUEST_TYPES; + +typedef struct _SHRINK_VOLUME_INFORMATION { + SHRINK_VOLUME_REQUEST_TYPES ShrinkRequestType; + DWORDLONG Flags; + LONGLONG NewNumberOfSectors; +} SHRINK_VOLUME_INFORMATION, *PSHRINK_VOLUME_INFORMATION; + +#define TXFS_RM_FLAG_LOGGING_MODE 0x00000001 +#define TXFS_RM_FLAG_RENAME_RM 0x00000002 +#define TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX 0x00000004 +#define TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN 0x00000008 +#define TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 0x00000010 +#define TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 0x00000020 +#define TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE 0x00000040 +#define TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 0x00000080 +#define TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 0x00000100 +#define TXFS_RM_FLAG_GROW_LOG 0x00000400 +#define TXFS_RM_FLAG_SHRINK_LOG 0x00000800 +#define TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE 0x00001000 +#define TXFS_RM_FLAG_PRESERVE_CHANGES 0x00002000 +#define TXFS_RM_FLAG_RESET_RM_AT_NEXT_START 0x00004000 +#define TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START 0x00008000 +#define TXFS_RM_FLAG_PREFER_CONSISTENCY 0x00010000 +#define TXFS_RM_FLAG_PREFER_AVAILABILITY 0x00020000 + +#define TXFS_LOGGING_MODE_SIMPLE 1 +#define TXFS_LOGGING_MODE_FULL 2 + +#define TXFS_TRANSACTION_STATE_NONE 0 +#define TXFS_TRANSACTION_STATE_ACTIVE 1 +#define TXFS_TRANSACTION_STATE_PREPARED 2 +#define TXFS_TRANSACTION_STATE_NOTACTIVE 3 + +#define TXFS_MODIFY_RM_VALID_FLAGS (TXFS_RM_FLAG_LOGGING_MODE | \ + TXFS_RM_FLAG_RENAME_RM | \ + TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MAX | \ + TXFS_RM_FLAG_LOG_CONTAINER_COUNT_MIN | \ + TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \ + TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \ + TXFS_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE | \ + TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \ + TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN | \ + TXFS_RM_FLAG_SHRINK_LOG | \ + TXFS_RM_FLAG_GROW_LOG | \ + TXFS_RM_FLAG_ENFORCE_MINIMUM_SIZE | \ + TXFS_RM_FLAG_PRESERVE_CHANGES | \ + TXFS_RM_FLAG_RESET_RM_AT_NEXT_START | \ + TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START | \ + TXFS_RM_FLAG_PREFER_CONSISTENCY | \ + TXFS_RM_FLAG_PREFER_AVAILABILITY) + +typedef struct _TXFS_MODIFY_RM { + ULONG Flags; + ULONG LogContainerCountMax; + ULONG LogContainerCountMin; + ULONG LogContainerCount; + ULONG LogGrowthIncrement; + ULONG LogAutoShrinkPercentage; + ULONGLONG Reserved; + USHORT LoggingMode; +} TXFS_MODIFY_RM, *PTXFS_MODIFY_RM; + +#define TXFS_RM_STATE_NOT_STARTED 0 +#define TXFS_RM_STATE_STARTING 1 +#define TXFS_RM_STATE_ACTIVE 2 +#define TXFS_RM_STATE_SHUTTING_DOWN 3 + +#define TXFS_QUERY_RM_INFORMATION_VALID_FLAGS \ + (TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \ + TXFS_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \ + TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \ + TXFS_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN | \ + TXFS_RM_FLAG_RESET_RM_AT_NEXT_START | \ + TXFS_RM_FLAG_DO_NOT_RESET_RM_AT_NEXT_START | \ + TXFS_RM_FLAG_PREFER_CONSISTENCY | \ + TXFS_RM_FLAG_PREFER_AVAILABILITY) + +typedef struct _TXFS_QUERY_RM_INFORMATION { + ULONG BytesRequired; + ULONGLONG TailLsn; + ULONGLONG CurrentLsn; + ULONGLONG ArchiveTailLsn; + ULONGLONG LogContainerSize; + LARGE_INTEGER HighestVirtualClock; + ULONG LogContainerCount; + ULONG LogContainerCountMax; + ULONG LogContainerCountMin; + ULONG LogGrowthIncrement; + ULONG LogAutoShrinkPercentage; + ULONG Flags; + USHORT LoggingMode; + USHORT Reserved; + ULONG RmState; + ULONGLONG LogCapacity; + ULONGLONG LogFree; + ULONGLONG TopsSize; + ULONGLONG TopsUsed; + ULONGLONG TransactionCount; + ULONGLONG OnePCCount; + ULONGLONG TwoPCCount; + ULONGLONG NumberLogFileFull; + ULONGLONG OldestTransactionAge; + GUID RMName; + ULONG TmLogPathOffset; +} TXFS_QUERY_RM_INFORMATION, *PTXFS_QUERY_RM_INFORMATION; + +#define TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN 0x01 +#define TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK 0x02 + +#define TXFS_ROLLFORWARD_REDO_VALID_FLAGS \ + (TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_REDO_LSN | \ + TXFS_ROLLFORWARD_REDO_FLAG_USE_LAST_VIRTUAL_CLOCK) + +typedef struct _TXFS_ROLLFORWARD_REDO_INFORMATION { + LARGE_INTEGER LastVirtualClock; + ULONGLONG LastRedoLsn; + ULONGLONG HighestRecoveryLsn; + ULONG Flags; +} TXFS_ROLLFORWARD_REDO_INFORMATION, *PTXFS_ROLLFORWARD_REDO_INFORMATION; + +#define TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX 0x00000001 +#define TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN 0x00000002 +#define TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE 0x00000004 +#define TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS 0x00000008 +#define TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT 0x00000010 +#define TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE 0x00000020 +#define TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX 0x00000040 +#define TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MIN 0x00000080 +#define TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT 0x00000200 +#define TXFS_START_RM_FLAG_LOGGING_MODE 0x00000400 +#define TXFS_START_RM_FLAG_PRESERVE_CHANGES 0x00000800 +#define TXFS_START_RM_FLAG_PREFER_CONSISTENCY 0x00001000 +#define TXFS_START_RM_FLAG_PREFER_AVAILABILITY 0x00002000 + +#define TXFS_START_RM_VALID_FLAGS \ + (TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MAX | \ + TXFS_START_RM_FLAG_LOG_CONTAINER_COUNT_MIN | \ + TXFS_START_RM_FLAG_LOG_CONTAINER_SIZE | \ + TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_NUM_CONTAINERS | \ + TXFS_START_RM_FLAG_LOG_GROWTH_INCREMENT_PERCENT | \ + TXFS_START_RM_FLAG_LOG_AUTO_SHRINK_PERCENTAGE | \ + TXFS_START_RM_FLAG_RECOVER_BEST_EFFORT | \ + TXFS_START_RM_FLAG_LOG_NO_CONTAINER_COUNT_MAX | \ + TXFS_START_RM_FLAG_LOGGING_MODE | \ + TXFS_START_RM_FLAG_PRESERVE_CHANGES | \ + TXFS_START_RM_FLAG_PREFER_CONSISTENCY | \ + TXFS_START_RM_FLAG_PREFER_AVAILABILITY) + +typedef struct _TXFS_START_RM_INFORMATION { + ULONG Flags; + ULONGLONG LogContainerSize; + ULONG LogContainerCountMin; + ULONG LogContainerCountMax; + ULONG LogGrowthIncrement; + ULONG LogAutoShrinkPercentage; + ULONG TmLogPathOffset; + USHORT TmLogPathLength; + USHORT LoggingMode; + USHORT LogPathLength; + USHORT Reserved; + WCHAR LogPath[1]; +} TXFS_START_RM_INFORMATION, *PTXFS_START_RM_INFORMATION; + +typedef struct _TXFS_GET_METADATA_INFO_OUT { + struct { + LONGLONG LowPart; + LONGLONG HighPart; + } TxfFileId; + GUID LockingTransaction; + ULONGLONG LastLsn; + ULONG TransactionState; +} TXFS_GET_METADATA_INFO_OUT, *PTXFS_GET_METADATA_INFO_OUT; + +#define TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_CREATED 0x00000001 +#define TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY_FLAG_DELETED 0x00000002 + +typedef struct _TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY { + ULONGLONG Offset; + ULONG NameFlags; + LONGLONG FileId; + ULONG Reserved1; + ULONG Reserved2; + LONGLONG Reserved3; + WCHAR FileName[1]; +} TXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY, *PTXFS_LIST_TRANSACTION_LOCKED_FILES_ENTRY; + +typedef struct _TXFS_LIST_TRANSACTION_LOCKED_FILES { + GUID KtmTransaction; + ULONGLONG NumberOfFiles; + ULONGLONG BufferSizeRequired; + ULONGLONG Offset; +} TXFS_LIST_TRANSACTION_LOCKED_FILES, *PTXFS_LIST_TRANSACTION_LOCKED_FILES; + +typedef struct _TXFS_LIST_TRANSACTIONS_ENTRY { + GUID TransactionId; + ULONG TransactionState; + ULONG Reserved1; + ULONG Reserved2; + LONGLONG Reserved3; +} TXFS_LIST_TRANSACTIONS_ENTRY, *PTXFS_LIST_TRANSACTIONS_ENTRY; + +typedef struct _TXFS_LIST_TRANSACTIONS { + ULONGLONG NumberOfTransactions; + ULONGLONG BufferSizeRequired; +} TXFS_LIST_TRANSACTIONS, *PTXFS_LIST_TRANSACTIONS; + +typedef struct _TXFS_READ_BACKUP_INFORMATION_OUT { + __C89_NAMELESS union { + ULONG BufferLength; + UCHAR Buffer; + } DUMMYUNIONNAME; +} TXFS_READ_BACKUP_INFORMATION_OUT, *PTXFS_READ_BACKUP_INFORMATION_OUT; + +typedef struct _TXFS_WRITE_BACKUP_INFORMATION { + UCHAR Buffer; +} TXFS_WRITE_BACKUP_INFORMATION, *PTXFS_WRITE_BACKUP_INFORMATION; + +#define TXFS_TRANSACTED_VERSION_NONTRANSACTED 0xFFFFFFFE +#define TXFS_TRANSACTED_VERSION_UNCOMMITTED 0xFFFFFFFF + +typedef struct _TXFS_GET_TRANSACTED_VERSION { + ULONG ThisBaseVersion; + ULONG LatestVersion; + USHORT ThisMiniVersion; + USHORT FirstMiniVersion; + USHORT LatestMiniVersion; +} TXFS_GET_TRANSACTED_VERSION, *PTXFS_GET_TRANSACTED_VERSION; + +#define TXFS_SAVEPOINT_SET 1 +#define TXFS_SAVEPOINT_ROLLBACK 2 +#define TXFS_SAVEPOINT_CLEAR 4 +#define TXFS_SAVEPOINT_CLEAR_ALL 16 + +typedef struct _TXFS_SAVEPOINT_INFORMATION { + HANDLE KtmTransaction; + ULONG ActionCode; + ULONG SavepointId; +} TXFS_SAVEPOINT_INFORMATION, *PTXFS_SAVEPOINT_INFORMATION; + +typedef struct _TXFS_CREATE_MINIVERSION_INFO { + USHORT StructureVersion; + USHORT StructureLength; + ULONG BaseVersion; + USHORT MiniVersion; +} TXFS_CREATE_MINIVERSION_INFO, *PTXFS_CREATE_MINIVERSION_INFO; + +typedef struct _TXFS_TRANSACTION_ACTIVE_INFO { + BOOLEAN TransactionsActiveAtSnapshot; +} TXFS_TRANSACTION_ACTIVE_INFO, *PTXFS_TRANSACTION_ACTIVE_INFO; + +typedef enum _WRITE_CACHE_TYPE { + WriteCacheTypeUnknown = 0, + WriteCacheTypeNone = 1, + WriteCacheTypeWriteBack = 2, + WriteCacheTypeWriteThrough = 3 +} WRITE_CACHE_TYPE; + +typedef enum _WRITE_CACHE_ENABLE { + WriteCacheEnableUnknown = 0, + WriteCacheDisabled = 1, + WriteCacheEnabled = 2 +} WRITE_CACHE_ENABLE; + +typedef enum _WRITE_CACHE_CHANGE { + WriteCacheChangeUnknown = 0, + WriteCacheNotChangeable = 1, + WriteCacheChangeable = 2 +} WRITE_CACHE_CHANGE; + +typedef enum _WRITE_THROUGH { + WriteThroughUnknown = 0, + WriteThroughNotSupported = 1, + WriteThroughSupported = 2 +} WRITE_THROUGH; + +typedef struct _STORAGE_WRITE_CACHE_PROPERTY { + DWORD Version; + DWORD Size; + WRITE_CACHE_TYPE WriteCacheType; + WRITE_CACHE_ENABLE WriteCacheEnabled; + WRITE_CACHE_CHANGE WriteCacheChangeable; + WRITE_THROUGH WriteThroughSupported; + BOOLEAN FlushCacheSupported; + BOOLEAN UserDefinedPowerProtection; + BOOLEAN NVCacheEnabled; +} STORAGE_WRITE_CACHE_PROPERTY, *PSTORAGE_WRITE_CACHE_PROPERTY; + +typedef enum _STORAGE_PORT_CODE_SET { + StoragePortCodeSetReserved = 0, + StoragePortCodeSetStorport = 1, + StoragePortCodeSetSCSIport = 2, + StoragePortCodeSetSpaceport = 3, + StoragePortCodeSetATAport = 4, + StoragePortCodeSetUSBport = 5, + StoragePortCodeSetSBP2port = 6, + StoragePortCodeSetSDport = 7 +} STORAGE_PORT_CODE_SET, *PSTORAGE_PORT_CODE_SET; + +typedef struct _STORAGE_MINIPORT_DESCRIPTOR { + DWORD Version; + DWORD Size; + STORAGE_PORT_CODE_SET Portdriver; + BOOLEAN LUNResetSupported; + BOOLEAN TargetResetSupported; +} STORAGE_MINIPORT_DESCRIPTOR, *PSTORAGE_MINIPORT_DESCRIPTOR; + +typedef enum _STORAGE_IDENTIFIER_CODE_SET { + StorageIdCodeSetReserved = 0, + StorageIdCodeSetBinary = 1, + StorageIdCodeSetAscii = 2, + StorageIdCodeSetUtf8 = 3 +} STORAGE_IDENTIFIER_CODE_SET, *PSTORAGE_IDENTIFIER_CODE_SET; + +typedef enum _STORAGE_IDENTIFIER_TYPE { + StorageIdTypeVendorSpecific = 0, + StorageIdTypeVendorId = 1, + StorageIdTypeEUI64 = 2, + StorageIdTypeFCPHName = 3, + StorageIdTypePortRelative = 4, + StorageIdTypeTargetPortGroup = 5, + StorageIdTypeLogicalUnitGroup = 6, + StorageIdTypeMD5LogicalUnitIdentifier = 7, + StorageIdTypeScsiNameString = 8 +} STORAGE_IDENTIFIER_TYPE, *PSTORAGE_IDENTIFIER_TYPE; + +#define StorageIdTypeNAA StorageIdTypeFCPHName + +typedef enum _STORAGE_ID_NAA_FORMAT { + StorageIdNAAFormatIEEEExtended = 2, + StorageIdNAAFormatIEEERegistered = 3, + StorageIdNAAFormatIEEEERegisteredExtended = 5 +} STORAGE_ID_NAA_FORMAT, *PSTORAGE_ID_NAA_FORMAT; + +typedef enum _STORAGE_ASSOCIATION_TYPE { + StorageIdAssocDevice = 0, + StorageIdAssocPort = 1, + StorageIdAssocTarget = 2 +} STORAGE_ASSOCIATION_TYPE, *PSTORAGE_ASSOCIATION_TYPE; + +typedef struct _STORAGE_IDENTIFIER { + STORAGE_IDENTIFIER_CODE_SET CodeSet; + STORAGE_IDENTIFIER_TYPE Type; + USHORT IdentifierSize; + USHORT NextOffset; + STORAGE_ASSOCIATION_TYPE Association; + UCHAR Identifier[1]; +} STORAGE_IDENTIFIER, *PSTORAGE_IDENTIFIER; + +typedef struct _STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD BytesPerCacheLine; + DWORD BytesOffsetForCacheAlignment; + DWORD BytesPerLogicalSector; + DWORD BytesPerPhysicalSector; + DWORD BytesOffsetForSectorAlignment; +} STORAGE_ACCESS_ALIGNMENT_DESCRIPTOR, *PSTORAGE_ACCESS_ALIGNMENT_DESCRIPTOR; + +typedef struct _STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD MediumProductType; +} STORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR, *PSTORAGE_MEDIUM_PRODUCT_TYPE_DESCRIPTOR; + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +typedef struct _DEVICE_SEEK_PENALTY_DESCRIPTOR { + DWORD Version; + DWORD Size; + BOOLEAN IncursSeekPenalty; +} DEVICE_SEEK_PENALTY_DESCRIPTOR, *PDEVICE_SEEK_PENALTY_DESCRIPTOR; + +typedef struct _DEVICE_WRITE_AGGREGATION_DESCRIPTOR { + ULONG Version; + ULONG Size; + BOOLEAN BenefitsFromWriteAggregation; +} DEVICE_WRITE_AGGREGATION_DESCRIPTOR, *PDEVICE_WRITE_AGGREGATION_DESCRIPTOR; + +typedef struct _DEVICE_TRIM_DESCRIPTOR { + DWORD Version; + DWORD Size; + BOOLEAN TrimEnabled; +} DEVICE_TRIM_DESCRIPTOR, *PDEVICE_TRIM_DESCRIPTOR; + +typedef struct _DEVICE_LB_PROVISIONING_DESCRIPTOR { + DWORD Version; + DWORD Size; + BYTE ThinProvisioningEnabled : 1; + BYTE ThinProvisioningReadZeros : 1; + BYTE AnchorSupported : 3; + BYTE UnmapGranularityAlignmentValid : 1; + BYTE GetFreeSpaceSupported : 1; + BYTE MapSupported : 1; + BYTE Reserved1[7]; + DWORDLONG OptimalUnmapGranularity; + DWORDLONG UnmapGranularityAlignment; +#if NTDDI_VERSION >= NTDDI_WINBLUE + DWORD MaxUnmapLbaCount; + DWORD MaxUnmapBlockDescriptorCount; +#endif +} DEVICE_LB_PROVISIONING_DESCRIPTOR, *PDEVICE_LB_PROVISIONING_DESCRIPTOR; + +#define DEVICE_LB_PROVISIONING_DESCRIPTOR_V1_SIZE RTL_SIZEOF_THROUGH_FIELD(DEVICE_LB_PROVISIONING_DESCRIPTOR, UnmapGranularityAlignment) + +typedef struct _STORAGE_LB_PROVISIONING_MAP_RESOURCES { + DWORD Size; + DWORD Version; + BYTE AvailableMappingResourcesValid : 1; + BYTE UsedMappingResourcesValid : 1; + BYTE Reserved0 : 6; + BYTE Reserved1[3]; + BYTE AvailableMappingResourcesScope : 2; + BYTE UsedMappingResourcesScope : 2; + BYTE Reserved2 : 4; + BYTE Reserved3[3]; + DWORDLONG AvailableMappingResources; + DWORDLONG UsedMappingResources; +} STORAGE_LB_PROVISIONING_MAP_RESOURCES, *PSTORAGE_LB_PROVISIONING_MAP_RESOURCES; + +typedef struct _DEVICE_POWER_DESCRIPTOR { + DWORD Version; + DWORD Size; + BOOLEAN DeviceAttentionSupported; + BOOLEAN AsynchronousNotificationSupported; + BOOLEAN IdlePowerManagementEnabled; + BOOLEAN D3ColdEnabled; + BOOLEAN D3ColdSupported; + BOOLEAN NoVerifyDuringIdlePower; + BYTE Reserved[2]; + DWORD IdleTimeoutInMS; +} DEVICE_POWER_DESCRIPTOR, *PDEVICE_POWER_DESCRIPTOR; + +typedef struct _DEVICE_COPY_OFFLOAD_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD MaximumTokenLifetime; + DWORD DefaultTokenLifetime; + DWORDLONG MaximumTransferSize; + DWORDLONG OptimalTransferCount; + DWORD MaximumDataDescriptors; + DWORD MaximumTransferLengthPerDescriptor; + DWORD OptimalTransferLengthPerDescriptor; + WORD OptimalTransferLengthGranularity; + BYTE Reserved[2]; +} DEVICE_COPY_OFFLOAD_DESCRIPTOR, *PDEVICE_COPY_OFFLOAD_DESCRIPTOR; + +typedef struct _STORAGE_DEVICE_RESILIENCY_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD NameOffset; + DWORD NumberOfLogicalCopies; + DWORD NumberOfPhysicalCopies; + DWORD PhysicalDiskRedundancy; + DWORD NumberOfColumns; + DWORD Interleave; +} STORAGE_DEVICE_RESILIENCY_DESCRIPTOR, *PSTORAGE_DEVICE_RESILIENCY_DESCRIPTOR; + +typedef enum _STORAGE_RPMB_FRAME_TYPE { + StorageRpmbFrameTypeUnknown = 0, + StorageRpmbFrameTypeStandard, + StorageRpmbFrameTypeMax +} STORAGE_RPMB_FRAME_TYPE, *PSTORAGE_RPMB_FRAME_TYPE; + +#define STORAGE_RPMB_DESCRIPTOR_VERSION_1 1 + +#define STORAGE_RPMB_MINIMUM_RELIABLE_WRITE_SIZE 512 + +typedef struct _STORAGE_RPMB_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD SizeInBytes; + DWORD MaxReliableWriteSizeInBytes; + STORAGE_RPMB_FRAME_TYPE FrameFormat; +} STORAGE_RPMB_DESCRIPTOR, *PSTORAGE_RPMB_DESCRIPTOR; + +typedef enum _STORAGE_CRYPTO_ALGORITHM_ID { + StorageCryptoAlgorithmUnknown = 0, + StorageCryptoAlgorithmXTSAES = 1, + StorageCryptoAlgorithmBitlockerAESCBC, + StorageCryptoAlgorithmAESECB, + StorageCryptoAlgorithmESSIVAESCBC, + StorageCryptoAlgorithmMax +} STORAGE_CRYPTO_ALGORITHM_ID, *PSTORAGE_CRYPTO_ALGORITHM_ID; + +typedef enum _STORAGE_CRYPTO_KEY_SIZE { + StorageCryptoKeySizeUnknown = 0, + StorageCryptoKeySize128Bits = 1, + StorageCryptoKeySize192Bits, + StorageCryptoKeySize256Bits, + StorageCryptoKeySize512Bits +} STORAGE_CRYPTO_KEY_SIZE, *PSTORAGE_CRYPTO_KEY_SIZE; + +#define STORAGE_CRYPTO_CAPABILITY_VERSION_1 1 + +typedef struct _STORAGE_CRYPTO_CAPABILITY { + DWORD Version; + DWORD Size; + DWORD CryptoCapabilityIndex; + STORAGE_CRYPTO_ALGORITHM_ID AlgorithmId; + STORAGE_CRYPTO_KEY_SIZE KeySize; + DWORD DataUnitSizeBitmask; +} STORAGE_CRYPTO_CAPABILITY, *PSTORAGE_CRYPTO_CAPABILITY; + +#define STORAGE_CRYPTO_DESCRIPTOR_VERSION_1 1 + +typedef struct _STORAGE_CRYPTO_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD NumKeysSupported; + DWORD NumCryptoCapabilities; + STORAGE_CRYPTO_CAPABILITY CryptoCapabilities[ANYSIZE_ARRAY]; +} STORAGE_CRYPTO_DESCRIPTOR, *PSTORAGE_CRYPTO_DESCRIPTOR; + +#define STORAGE_TIER_NAME_LENGTH (256) +#define STORAGE_TIER_DESCRIPTION_LENGTH (512) + +#define STORAGE_TIER_FLAG_NO_SEEK_PENALTY (0x00020000) +#define STORAGE_TIER_FLAG_WRITE_BACK_CACHE (0x00200000) +#define STORAGE_TIER_FLAG_READ_CACHE (0x00400000) +#define STORAGE_TIER_FLAG_PARITY (0x00800000) +#define STORAGE_TIER_FLAG_SMR (0x01000000) + +typedef enum _STORAGE_TIER_MEDIA_TYPE { + StorageTierMediaTypeUnspecified = 0, + StorageTierMediaTypeDisk = 1, + StorageTierMediaTypeSsd = 2, + StorageTierMediaTypeScm = 4, + StorageTierMediaTypeMax +} STORAGE_TIER_MEDIA_TYPE, *PSTORAGE_TIER_MEDIA_TYPE; + +typedef enum _STORAGE_TIER_CLASS { + StorageTierClassUnspecified = 0, + StorageTierClassCapacity, + StorageTierClassPerformance, + StorageTierClassMax +} STORAGE_TIER_CLASS, *PSTORAGE_TIER_CLASS; + +typedef struct _STORAGE_TIER { + GUID Id; + WCHAR Name[STORAGE_TIER_NAME_LENGTH]; + WCHAR Description[STORAGE_TIER_NAME_LENGTH]; + DWORDLONG Flags; + DWORDLONG ProvisionedCapacity; + STORAGE_TIER_MEDIA_TYPE MediaType; + STORAGE_TIER_CLASS Class; +} STORAGE_TIER, *PSTORAGE_TIER; + +typedef struct _STORAGE_DEVICE_TIERING_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD Flags; + DWORD TotalNumberOfTiers; + DWORD NumberOfTiersReturned; + STORAGE_TIER Tiers[ANYSIZE_ARRAY]; +} STORAGE_DEVICE_TIERING_DESCRIPTOR, *PSTORAGE_DEVICE_TIERING_DESCRIPTOR; + +typedef struct _STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR { + DWORD Version; + DWORD Size; + DWORD NumberOfFaultDomains; + GUID FaultDomainIds[ANYSIZE_ARRAY]; +} STORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR, *PSTORAGE_DEVICE_FAULT_DOMAIN_DESCRIPTOR; + +typedef enum _STORAGE_PROTOCOL_TYPE { + ProtocolTypeUnknown = 0x00, + ProtocolTypeScsi, + ProtocolTypeAta, + ProtocolTypeNvme, + ProtocolTypeSd, + ProtocolTypeUfs, + ProtocolTypeProprietary = 0x7E, + ProtocolTypeMaxReserved = 0x7F +} STORAGE_PROTOCOL_TYPE, *PSTORAGE_PROTOCOL_TYPE; + +typedef enum _STORAGE_PROTOCOL_NVME_DATA_TYPE { + NVMeDataTypeUnknown = 0, + NVMeDataTypeIdentify, + NVMeDataTypeLogPage, + NVMeDataTypeFeature +} STORAGE_PROTOCOL_NVME_DATA_TYPE, *PSTORAGE_PROTOCOL_NVME_DATA_TYPE; + +typedef enum _STORAGE_PROTOCOL_ATA_DATA_TYPE { + AtaDataTypeUnknown = 0, + AtaDataTypeIdentify, + AtaDataTypeLogPage +} STORAGE_PROTOCOL_ATA_DATA_TYPE, *PSTORAGE_PROTOCOL_ATA_DATA_TYPE; + +typedef enum _STORAGE_PROTOCOL_UFS_DATA_TYPE { + UfsDataTypeUnknown = 0, + UfsDataTypeQueryDescriptor, + UfsDataTypeQueryAttribute, + UfsDataTypeQueryFlag, + UfsDataTypeQueryDmeAttribute, + UfsDataTypeQueryDmePeerAttribute, + UfsDataTypeMax +} STORAGE_PROTOCOL_UFS_DATA_TYPE, *PSTORAGE_PROTOCOL_UFS_DATA_TYPE; + +typedef union _STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE { + __C89_NAMELESS struct { + DWORD RetainAsynEvent : 1; + DWORD LogSpecificField : 4; + DWORD Reserved : 27; + }; + DWORD AsUlong; +} STORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE, *PSTORAGE_PROTOCOL_DATA_SUBVALUE_GET_LOG_PAGE; + +typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA { + STORAGE_PROTOCOL_TYPE ProtocolType; + DWORD DataType; + DWORD ProtocolDataRequestValue; + DWORD ProtocolDataRequestSubValue; + DWORD ProtocolDataOffset; + DWORD ProtocolDataLength; + DWORD FixedProtocolReturnData; + DWORD ProtocolDataRequestSubValue2; + DWORD ProtocolDataRequestSubValue3; + DWORD ProtocolDataRequestSubValue4; +} STORAGE_PROTOCOL_SPECIFIC_DATA, *PSTORAGE_PROTOCOL_SPECIFIC_DATA; + +typedef struct _STORAGE_PROTOCOL_SPECIFIC_DATA_EXT { + STORAGE_PROTOCOL_TYPE ProtocolType; + DWORD DataType; + DWORD ProtocolDataValue; + DWORD ProtocolDataSubValue; + DWORD ProtocolDataOffset; + DWORD ProtocolDataLength; + DWORD FixedProtocolReturnData; + DWORD ProtocolDataSubValue2; + DWORD ProtocolDataSubValue3; + DWORD ProtocolDataSubValue4; + DWORD ProtocolDataSubValue5; + DWORD Reserved[5]; +} STORAGE_PROTOCOL_SPECIFIC_DATA_EXT, *PSTORAGE_PROTOCOL_SPECIFIC_DATA_EXT; + +typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR { + DWORD Version; + DWORD Size; + STORAGE_PROTOCOL_SPECIFIC_DATA ProtocolSpecificData; +} STORAGE_PROTOCOL_DATA_DESCRIPTOR, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR; + +typedef struct _STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT { + DWORD Version; + DWORD Size; + STORAGE_PROTOCOL_SPECIFIC_DATA_EXT ProtocolSpecificData; +} STORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT, *PSTORAGE_PROTOCOL_DATA_DESCRIPTOR_EXT; + +#define STORAGE_TEMPERATURE_VALUE_NOT_REPORTED 0x8000 + +typedef struct _STORAGE_TEMPERATURE_INFO { + WORD Index; + SHORT Temperature; + SHORT OverThreshold; + SHORT UnderThreshold; + BOOLEAN OverThresholdChangable; + BOOLEAN UnderThresholdChangable; + BOOLEAN EventGenerated; + BYTE Reserved0; + DWORD Reserved1; +} STORAGE_TEMPERATURE_INFO, *PSTORAGE_TEMPERATURE_INFO; + +typedef struct _STORAGE_TEMPERATURE_DATA_DESCRIPTOR { + DWORD Version; + DWORD Size; + SHORT CriticalTemperature; + SHORT WarningTemperature; + WORD InfoCount; + BYTE Reserved0[2]; + DWORD Reserved1[2]; + STORAGE_TEMPERATURE_INFO TemperatureInfo[ANYSIZE_ARRAY]; +} STORAGE_TEMPERATURE_DATA_DESCRIPTOR, *PSTORAGE_TEMPERATURE_DATA_DESCRIPTOR; + +#define STORAGE_TEMPERATURE_THRESHOLD_FLAG_ADAPTER_REQUEST 0x0001 + +typedef struct _STORAGE_TEMPERATURE_THRESHOLD { + DWORD Version; + DWORD Size; + WORD Flags; + WORD Index; + SHORT Threshold; + BOOLEAN OverThreshold; + BYTE Reserved; +} STORAGE_TEMPERATURE_THRESHOLD, *PSTORAGE_TEMPERATURE_THRESHOLD; + +#define STORAGE_PROTOCOL_STRUCTURE_VERSION 0x1 + +typedef struct _STORAGE_PROTOCOL_COMMAND { + DWORD Version; + DWORD Length; + STORAGE_PROTOCOL_TYPE ProtocolType; + DWORD Flags; + DWORD ReturnStatus; + DWORD ErrorCode; + DWORD CommandLength; + DWORD ErrorInfoLength; + DWORD DataToDeviceTransferLength; + DWORD DataFromDeviceTransferLength; + DWORD TimeOutValue; + DWORD ErrorInfoOffset; + DWORD DataToDeviceBufferOffset; + DWORD DataFromDeviceBufferOffset; + DWORD CommandSpecific; + DWORD Reserved0; + DWORD FixedProtocolReturnData; + DWORD Reserved1[3]; + BYTE Command[ANYSIZE_ARRAY]; +} STORAGE_PROTOCOL_COMMAND, *PSTORAGE_PROTOCOL_COMMAND; + +#define STORAGE_PROTOCOL_COMMAND_FLAG_ADAPTER_REQUEST 0x80000000 + +#define STORAGE_PROTOCOL_STATUS_PENDING 0x0 +#define STORAGE_PROTOCOL_STATUS_SUCCESS 0x1 +#define STORAGE_PROTOCOL_STATUS_ERROR 0x2 +#define STORAGE_PROTOCOL_STATUS_INVALID_REQUEST 0x3 +#define STORAGE_PROTOCOL_STATUS_NO_DEVICE 0x4 +#define STORAGE_PROTOCOL_STATUS_BUSY 0x5 +#define STORAGE_PROTOCOL_STATUS_DATA_OVERRUN 0x6 +#define STORAGE_PROTOCOL_STATUS_INSUFFICIENT_RESOURCES 0x7 +#define STORAGE_PROTOCOL_STATUS_THROTTLED_REQUEST 0x8 +#define STORAGE_PROTOCOL_STATUS_NOT_SUPPORTED 0xFF + +#define STORAGE_PROTOCOL_COMMAND_LENGTH_NVME 0x40 + +#define STORAGE_PROTOCOL_SPECIFIC_NVME_ADMIN_COMMAND 0x01 +#define STORAGE_PROTOCOL_SPECIFIC_NVME_NVM_COMMAND 0x02 + +#if (_WIN32_WINNT >= 0x0601) +typedef struct _REQUEST_OPLOCK_INPUT_BUFFER { + WORD StructureVersion; + WORD StructureLength; + DWORD RequestedOplockLevel; + DWORD Flags; +} REQUEST_OPLOCK_INPUT_BUFFER, *PREQUEST_OPLOCK_INPUT_BUFFER; + +typedef struct _REQUEST_OPLOCK_OUTPUT_BUFFER { + WORD StructureVersion; + WORD StructureLength; + DWORD OriginalOplockLevel; + DWORD NewOplockLevel; + DWORD Flags; + ACCESS_MASK AccessMode; + WORD ShareMode; +} REQUEST_OPLOCK_OUTPUT_BUFFER, *PREQUEST_OPLOCK_OUTPUT_BUFFER; + +#define PERSISTENT_VOLUME_STATE_SHORT_NAME_CREATION_DISABLED (0x00000001) + +typedef struct _BOOT_AREA_INFO { + ULONG BootSectorCount; + struct { + LARGE_INTEGER Offset; + } BootSectors[2]; +} BOOT_AREA_INFO, *PBOOT_AREA_INFO; + +typedef struct _RETRIEVAL_POINTER_BASE { + LARGE_INTEGER FileAreaOffset; +} RETRIEVAL_POINTER_BASE, *PRETRIEVAL_POINTER_BASE; + +typedef struct _FILE_FS_PERSISTENT_VOLUME_INFORMATION { + ULONG VolumeFlags; + ULONG FlagMask; + ULONG Version; + ULONG Reserved; +} FILE_FS_PERSISTENT_VOLUME_INFORMATION, *PFILE_FS_PERSISTENT_VOLUME_INFORMATION; + +typedef struct _FILE_SYSTEM_RECOGNITION_INFORMATION { + CHAR FileSystem[9]; +} FILE_SYSTEM_RECOGNITION_INFORMATION, *PFILE_SYSTEM_RECOGNITION_INFORMATION; + +typedef struct _FILE_SYSTEM_RECOGNITION_STRUCTURE { + UCHAR Jmp[3]; + UCHAR FsName[8]; + UCHAR MustBeZero[5]; + ULONG Identifier; + USHORT Length; + USHORT Checksum; +} FILE_SYSTEM_RECOGNITION_STRUCTURE; + +#define OPLOCK_LEVEL_CACHE_READ (0x00000001) +#define OPLOCK_LEVEL_CACHE_HANDLE (0x00000002) +#define OPLOCK_LEVEL_CACHE_WRITE (0x00000004) + +#define REQUEST_OPLOCK_INPUT_FLAG_REQUEST (0x00000001) +#define REQUEST_OPLOCK_INPUT_FLAG_ACK (0x00000002) +#define REQUEST_OPLOCK_INPUT_FLAG_COMPLETE_ACK_ON_CLOSE (0x00000004) + +#define REQUEST_OPLOCK_CURRENT_VERSION 1 + +#define REQUEST_OPLOCK_OUTPUT_FLAG_ACK_REQUIRED (0x00000001) +#define REQUEST_OPLOCK_OUTPUT_FLAG_MODES_PROVIDED (0x00000002) + +#define SD_GLOBAL_CHANGE_TYPE_MACHINE_SID 1 + +typedef struct _SD_CHANGE_MACHINE_SID_INPUT { + USHORT CurrentMachineSIDOffset; + USHORT CurrentMachineSIDLength; + USHORT NewMachineSIDOffset; + USHORT NewMachineSIDLength; +} SD_CHANGE_MACHINE_SID_INPUT, *PSD_CHANGE_MACHINE_SID_INPUT; + +typedef struct _SD_CHANGE_MACHINE_SID_OUTPUT { + ULONGLONG NumSDChangedSuccess; + ULONGLONG NumSDChangedFail; + ULONGLONG NumSDUnused; + ULONGLONG NumSDTotal; + ULONGLONG NumMftSDChangedSuccess; + ULONGLONG NumMftSDChangedFail; + ULONGLONG NumMftSDTotal; +} SD_CHANGE_MACHINE_SID_OUTPUT, *PSD_CHANGE_MACHINE_SID_OUTPUT; + +#define ENCRYPTED_DATA_INFO_SPARSE_FILE 1 + +typedef struct _EXTENDED_ENCRYPTED_DATA_INFO { + ULONG ExtendedCode; + ULONG Length; + ULONG Flags; + ULONG Reserved; +} EXTENDED_ENCRYPTED_DATA_INFO, *PEXTENDED_ENCRYPTED_DATA_INFO; + +typedef struct _LOOKUP_STREAM_FROM_CLUSTER_INPUT { + DWORD Flags; + DWORD NumberOfClusters; + LARGE_INTEGER Cluster[1]; +} LOOKUP_STREAM_FROM_CLUSTER_INPUT, *PLOOKUP_STREAM_FROM_CLUSTER_INPUT; + +typedef struct _LOOKUP_STREAM_FROM_CLUSTER_OUTPUT { + DWORD Offset; + DWORD NumberOfMatches; + DWORD BufferSizeRequired; +} LOOKUP_STREAM_FROM_CLUSTER_OUTPUT, *PLOOKUP_STREAM_FROM_CLUSTER_OUTPUT; + +typedef struct _LOOKUP_STREAM_FROM_CLUSTER_ENTRY { + DWORD OffsetToNext; + DWORD Flags; + LARGE_INTEGER Reserved; + LARGE_INTEGER Cluster; + WCHAR FileName[1]; +} LOOKUP_STREAM_FROM_CLUSTER_ENTRY, *PLOOKUP_STREAM_FROM_CLUSTER_ENTRY; + +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_MASK 0xff000000 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_PAGE_FILE 0x00000001 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_DENY_DEFRAG_SET 0x00000002 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_FS_SYSTEM_FILE 0x00000004 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_FLAG_TXF_SYSTEM_FILE 0x00000008 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_DATA 0x01000000 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_INDEX 0x02000000 +#define LOOKUP_STREAM_FROM_CLUSTER_ENTRY_ATTRIBUTE_SYSTEM 0x03000000 + +typedef struct _FILE_TYPE_NOTIFICATION_INPUT { + ULONG Flags; + ULONG NumFileTypeIDs; + GUID FileTypeID[1]; +} FILE_TYPE_NOTIFICATION_INPUT, *PFILE_TYPE_NOTIFICATION_INPUT; + +#define FILE_TYPE_NOTIFICATION_FLAG_USAGE_BEGIN 0x00000001 +#define FILE_TYPE_NOTIFICATION_FLAG_USAGE_END 0x00000002 + +#define FSCTL_QUERY_DEPENDENT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,124, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SD_GLOBAL_CHANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,125, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_LOOKUP_STREAM_FROM_CLUSTER CTL_CODE(FILE_DEVICE_FILE_SYSTEM,127, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM,128, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_FILE_TYPE_NOTIFICATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,129, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_BOOT_AREA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,140, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_RETRIEVAL_POINTER_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,141, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 142, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 143, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_REQUEST_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM,144,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define FSCTL_CSV_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 145, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_IS_CSV_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 146, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_FILE_SYSTEM_RECOGNITION CTL_CODE(FILE_DEVICE_FILE_SYSTEM,147, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_GET_VOLUME_PATH_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM,148, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 149, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 150, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_IS_FILE_ON_CSV_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 151, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 155, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 195, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_GET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 196, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DELETE_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 197, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_ENUM_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 198, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_ENUM_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 199, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_ADD_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 204, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_REMOVE_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 205, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_UPDATE_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 206, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_GET_WOF_VERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 218, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SUSPEND_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 225, METHOD_BUFFERED, FILE_ANY_ACCESS) + +typedef struct _CSV_NAMESPACE_INFO { + ULONG Version; + ULONG DeviceNumber; + LARGE_INTEGER StartingOffset; + ULONG SectorSize; +} CSV_NAMESPACE_INFO, *PCSV_NAMESPACE_INFO; + +#define CSV_NAMESPACE_INFO_V1 (sizeof(CSV_NAMESPACE_INFO)) +#define CSV_INVALID_DEVICE_NUMBER 0xFFFFFFFF + +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) +#define FSCTL_FILE_LEVEL_TRIM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_CORRUPTION_HANDLING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 152, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_OFFLOAD_READ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS) +#define FSCTL_OFFLOAD_WRITE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS) +#define FSCTL_SET_PURGE_FAILURE_MODE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 156, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_FILE_LAYOUT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 157, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_IS_VOLUME_OWNED_BYCSVFS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 158, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) +#define FSCTL_QUERY_FILE_REGIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 161, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_RKF_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 171, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_SCRUB_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 172, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_REPAIR_COPIES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 173, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) +#define FSCTL_DISABLE_LOCAL_BUFFERING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 174, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_MGMT_LOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 175, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 176, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_ADVANCE_FILE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 177, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 178, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 179, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_WRITE_USN_REASON CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 180, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 181, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_REFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 182, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 185, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SHUFFLE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 208, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#endif /*_WIN32_WINNT >= _WIN32_WINNT_WIN8 */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) +#define FSCTL_QUERY_STORAGE_CLASSES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 187, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_REGION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 188, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_USN_TRACK_MODIFIED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 189, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 192, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SVHDX_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 193, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SVHDX_SET_INITIATOR_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 194, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DUPLICATE_EXTENTS_TO_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_SPARSE_OVERALLOCATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 211, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_STORAGE_QOS_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 212, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 217, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD) +#define FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 215, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_QUERY_FILE_METADATA_OPTIMIZATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 216, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#define FSCTL_HCS_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 219, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_HCS_ASYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 220, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_EXTENT_READ_CACHE_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 221, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 222, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_CLEAN_VOLUME_METADATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 223, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_INTEGRITY_INFORMATION_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 224, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 226, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_FILESYSTEM_GET_STATISTICS_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 227, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_VOLUME_CONTAINER_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 228, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_LAYER_ROOT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 229, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 238, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_TH2) +#define FSCTL_QUERY_DIRECT_ACCESS_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 230, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 231, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SSDI_STORAGE_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 232, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GHOST_FILE_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 235, METHOD_BUFFERED, FILE_WRITE_ACCESS) +#define FSCTL_QUERY_GHOSTED_FILE_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 236, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_UNMAP_SPACE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 237, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_REFS_SMR_VOLUME_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 247, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 248, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 249, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_TH2) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1) +#define FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 233, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_READ_UNPRIVILEGED_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 234, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_START_VIRTUALIZATION_INSTANCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 240, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_FILTER_FILE_IDENTIFIER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 241, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_START_VIRTUALIZATION_INSTANCE_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 256, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_REPARSE_POINT_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 259, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS1) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS2) +#define FSCTL_STREAMS_QUERY_PARAMETERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 241, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_STREAMS_ASSOCIATE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 242, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_STREAMS_QUERY_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 243, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 244, METHOD_NEITHER, FILE_ANY_ACCESS) +#define FSCTL_QUERY_VOLUME_NUMA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 245, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_REFS_DEALLOCATE_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 246, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS2) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3) +#define FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_WRITE_DATA) +#define FSCTL_QUERY_BAD_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 251, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 252, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DELETE_CORRUPTED_REFS_CONTAINER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 253, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_SCRUB_UNDISCOVERABLE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 254, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS4) +#define FSCTL_NOTIFY_DATA_CHANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 255, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_ENCRYPTION_KEY_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 257, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 258, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS4) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS5) +#define FSCTL_REARRANGE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 264, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define FSCTL_VIRTUAL_STORAGE_PASSTHROUGH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 265, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_GET_RETRIEVAL_POINTER_COUNT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 266, METHOD_NEITHER, FILE_ANY_ACCESS) +#if defined(_WIN64) +#define FSCTL_ENABLE_PER_IO_FLAGS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 267, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN10_RS5) */ + +#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) +#define FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 268, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_MN) +#define FSCTL_SMB_SHARE_FLUSH_AND_PURGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 271, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_FE) +#define FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 272, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_CO) +#define FSCTL_MANAGE_BYPASS_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 274, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_FE) +#define FSCTL_REFS_DEALLOCATE_RANGES_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 275, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_FE) +#define FSCTL_SET_CACHED_RUNS_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 276, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_NI) +#define FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 277, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 278, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_NI) +#define FSCTL_DUPLICATE_CLUSTER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 279, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_CREATE_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 280, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DELETE_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 281, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_QUERY_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 282, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_DELETE_LCN_WEAK_REFERENCES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 283, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_NI) +#define FSCTL_REFS_SET_VOLUME_DEDUP_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 284, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 285, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif +#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) +#define FSCTL_LMR_QUERY_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 286, METHOD_BUFFERED, FILE_ANY_ACCESS) +#endif + +#endif /* _FILESYSTEMFSCTL_ */ + + +#define IOCTL_VOLUME_BASE ((DWORD) 'V') + +#define IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS CTL_CODE(IOCTL_VOLUME_BASE,0,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_SUPPORTS_ONLINE_OFFLINE CTL_CODE(IOCTL_VOLUME_BASE,1,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_ONLINE CTL_CODE(IOCTL_VOLUME_BASE,2,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_VOLUME_OFFLINE CTL_CODE(IOCTL_VOLUME_BASE,3,METHOD_BUFFERED,FILE_READ_ACCESS | FILE_WRITE_ACCESS) +#define IOCTL_VOLUME_IS_OFFLINE CTL_CODE(IOCTL_VOLUME_BASE,4,METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_VOLUME_IS_IO_CAPABLE CTL_CODE(IOCTL_VOLUME_BASE,5,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_QUERY_FAILOVER_SET CTL_CODE(IOCTL_VOLUME_BASE,6,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_QUERY_VOLUME_NUMBER CTL_CODE(IOCTL_VOLUME_BASE,7,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_LOGICAL_TO_PHYSICAL CTL_CODE(IOCTL_VOLUME_BASE,8,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_PHYSICAL_TO_LOGICAL CTL_CODE(IOCTL_VOLUME_BASE,9,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_IS_CLUSTERED CTL_CODE(IOCTL_VOLUME_BASE,12,METHOD_BUFFERED,FILE_ANY_ACCESS) +#define IOCTL_VOLUME_GET_GPT_ATTRIBUTES CTL_CODE(IOCTL_VOLUME_BASE,14,METHOD_BUFFERED,FILE_ANY_ACCESS) + +typedef struct _DISK_EXTENT { + DWORD DiskNumber; + LARGE_INTEGER StartingOffset; + LARGE_INTEGER ExtentLength; +} DISK_EXTENT,*PDISK_EXTENT; + +typedef struct _VOLUME_DISK_EXTENTS { + DWORD NumberOfDiskExtents; + DISK_EXTENT Extents[1]; +} VOLUME_DISK_EXTENTS,*PVOLUME_DISK_EXTENTS; + +#if (_WIN32_WINNT >= 0x0603) + +#define WOF_CURRENT_VERSION 1 + +typedef struct _WOF_EXTERNAL_INFO { + DWORD Version; + DWORD Provider; +} WOF_EXTERNAL_INFO, *PWOF_EXTERNAL_INFO; + +#endif /*(_WIN32_WINNT >= 0x0603)*/ + +#if (_WIN32_WINNT >= 0x0A00) + +#define WOF_PROVIDER_FILE 2 + +#define FILE_PROVIDER_CURRENT_VERSION 1 + +#define FILE_PROVIDER_COMPRESSION_XPRESS4K 0 +#define FILE_PROVIDER_COMPRESSION_LZX 1 +#define FILE_PROVIDER_COMPRESSION_XPRESS8K 2 +#define FILE_PROVIDER_COMPRESSION_XPRESS16K 3 + +typedef struct _FILE_PROVIDER_EXTERNAL_INFO_V0 { + DWORD Version; + DWORD Algorithm; +} FILE_PROVIDER_EXTERNAL_INFO_V0, *PFILE_PROVIDER_EXTERNAL_INFO_V0; + +typedef struct _FILE_PROVIDER_EXTERNAL_INFO_V1 { + DWORD Version; + DWORD Algorithm; + DWORD Flags; +} FILE_PROVIDER_EXTERNAL_INFO_V1, *PFILE_PROVIDER_EXTERNAL_INFO_V1; + +#endif /*(_WIN32_WINNT >= 0x0A00)*/ + +#endif /* _WINIOCTL_ */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winldap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winldap.h new file mode 100644 index 00000000..3f16834f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winldap.h @@ -0,0 +1,963 @@ +/** + * 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 LDAP_CLIENT_DEFINED +#define LDAP_CLIENT_DEFINED + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef BASETYPES +#include +#endif + +#include + +#define WINLDAPAPI DECLSPEC_IMPORT + +#ifndef LDAPAPI +#define LDAPAPI __cdecl +#endif + +#ifndef LDAP_UNICODE +#if defined(UNICODE) +#define LDAP_UNICODE 1 +#else +#define LDAP_UNICODE 0 +#endif +#endif + +#define LDAP_PORT 389 +#define LDAP_SSL_PORT 636 +#define LDAP_GC_PORT 3268 +#define LDAP_SSL_GC_PORT 3269 + +#define LDAP_VERSION1 1 +#define LDAP_VERSION2 2 +#define LDAP_VERSION3 3 +#define LDAP_VERSION LDAP_VERSION2 + +#define LDAP_BIND_CMD __MSABI_LONG(0x60) +#define LDAP_UNBIND_CMD __MSABI_LONG(0x42) +#define LDAP_SEARCH_CMD __MSABI_LONG(0x63) +#define LDAP_MODIFY_CMD __MSABI_LONG(0x66) +#define LDAP_ADD_CMD __MSABI_LONG(0x68) +#define LDAP_DELETE_CMD __MSABI_LONG(0x4a) +#define LDAP_MODRDN_CMD __MSABI_LONG(0x6c) +#define LDAP_COMPARE_CMD __MSABI_LONG(0x6e) +#define LDAP_ABANDON_CMD __MSABI_LONG(0x50) +#define LDAP_SESSION_CMD __MSABI_LONG(0x71) +#define LDAP_EXTENDED_CMD __MSABI_LONG(0x77) + +#define LDAP_RES_BIND __MSABI_LONG(0x61) +#define LDAP_RES_SEARCH_ENTRY __MSABI_LONG(0x64) +#define LDAP_RES_SEARCH_RESULT __MSABI_LONG(0x65) +#define LDAP_RES_MODIFY __MSABI_LONG(0x67) +#define LDAP_RES_ADD __MSABI_LONG(0x69) +#define LDAP_RES_DELETE __MSABI_LONG(0x6b) +#define LDAP_RES_MODRDN __MSABI_LONG(0x6d) +#define LDAP_RES_COMPARE __MSABI_LONG(0x6f) +#define LDAP_RES_SESSION __MSABI_LONG(0x72) +#define LDAP_RES_REFERRAL __MSABI_LONG(0x73) +#define LDAP_RES_EXTENDED __MSABI_LONG(0x78) + +#define LDAP_RES_ANY (__MSABI_LONG(-1)) + +#define LDAP_INVALID_CMD 0xff +#define LDAP_INVALID_RES 0xff + + typedef enum { + LDAP_SUCCESS = 0x00,LDAP_OPERATIONS_ERROR = 0x01,LDAP_PROTOCOL_ERROR = 0x02,LDAP_TIMELIMIT_EXCEEDED = 0x03,LDAP_SIZELIMIT_EXCEEDED = 0x04, + LDAP_COMPARE_FALSE = 0x05,LDAP_COMPARE_TRUE = 0x06,LDAP_AUTH_METHOD_NOT_SUPPORTED = 0x07,LDAP_STRONG_AUTH_REQUIRED = 0x08,LDAP_REFERRAL_V2 = 0x09, + LDAP_PARTIAL_RESULTS = 0x09,LDAP_REFERRAL = 0x0a,LDAP_ADMIN_LIMIT_EXCEEDED = 0x0b,LDAP_UNAVAILABLE_CRIT_EXTENSION = 0x0c, + LDAP_CONFIDENTIALITY_REQUIRED = 0x0d,LDAP_SASL_BIND_IN_PROGRESS = 0x0e,LDAP_NO_SUCH_ATTRIBUTE = 0x10,LDAP_UNDEFINED_TYPE = 0x11, + LDAP_INAPPROPRIATE_MATCHING = 0x12,LDAP_CONSTRAINT_VIOLATION = 0x13,LDAP_ATTRIBUTE_OR_VALUE_EXISTS = 0x14,LDAP_INVALID_SYNTAX = 0x15, + LDAP_NO_SUCH_OBJECT = 0x20,LDAP_ALIAS_PROBLEM = 0x21,LDAP_INVALID_DN_SYNTAX = 0x22,LDAP_IS_LEAF = 0x23,LDAP_ALIAS_DEREF_PROBLEM = 0x24, + LDAP_INAPPROPRIATE_AUTH = 0x30,LDAP_INVALID_CREDENTIALS = 0x31,LDAP_INSUFFICIENT_RIGHTS = 0x32,LDAP_BUSY = 0x33,LDAP_UNAVAILABLE = 0x34, + LDAP_UNWILLING_TO_PERFORM = 0x35,LDAP_LOOP_DETECT = 0x36,LDAP_SORT_CONTROL_MISSING = 0x3C,LDAP_OFFSET_RANGE_ERROR = 0x3D, + LDAP_NAMING_VIOLATION = 0x40,LDAP_OBJECT_CLASS_VIOLATION = 0x41,LDAP_NOT_ALLOWED_ON_NONLEAF = 0x42,LDAP_NOT_ALLOWED_ON_RDN = 0x43, + LDAP_ALREADY_EXISTS = 0x44,LDAP_NO_OBJECT_CLASS_MODS = 0x45,LDAP_RESULTS_TOO_LARGE = 0x46,LDAP_AFFECTS_MULTIPLE_DSAS = 0x47, + LDAP_VIRTUAL_LIST_VIEW_ERROR = 0x4c,LDAP_OTHER = 0x50,LDAP_SERVER_DOWN = 0x51,LDAP_LOCAL_ERROR = 0x52,LDAP_ENCODING_ERROR = 0x53, + LDAP_DECODING_ERROR = 0x54,LDAP_TIMEOUT = 0x55,LDAP_AUTH_UNKNOWN = 0x56,LDAP_FILTER_ERROR = 0x57,LDAP_USER_CANCELLED = 0x58,LDAP_PARAM_ERROR = 0x59, + LDAP_NO_MEMORY = 0x5a,LDAP_CONNECT_ERROR = 0x5b,LDAP_NOT_SUPPORTED = 0x5c,LDAP_NO_RESULTS_RETURNED = 0x5e,LDAP_CONTROL_NOT_FOUND = 0x5d, + LDAP_MORE_RESULTS_TO_RETURN = 0x5f,LDAP_CLIENT_LOOP = 0x60,LDAP_REFERRAL_LIMIT_EXCEEDED = 0x61 + } LDAP_RETCODE; + +#define LDAP_AUTH_SIMPLE __MSABI_LONG(0x80) +#define LDAP_AUTH_SASL __MSABI_LONG(0x83) +#define LDAP_AUTH_OTHERKIND __MSABI_LONG(0x86) +#define LDAP_AUTH_SICILY (LDAP_AUTH_OTHERKIND | 0x0200) +#define LDAP_AUTH_MSN (LDAP_AUTH_OTHERKIND | 0x0800) +#define LDAP_AUTH_NTLM (LDAP_AUTH_OTHERKIND | 0x1000) +#define LDAP_AUTH_DPA (LDAP_AUTH_OTHERKIND | 0x2000) +#define LDAP_AUTH_NEGOTIATE (LDAP_AUTH_OTHERKIND | 0x0400) +#define LDAP_AUTH_SSPI LDAP_AUTH_NEGOTIATE +#define LDAP_AUTH_DIGEST (LDAP_AUTH_OTHERKIND | 0x4000) +#define LDAP_AUTH_EXTERNAL (LDAP_AUTH_OTHERKIND | 0x0020) + +#define LDAP_FILTER_AND 0xa0 +#define LDAP_FILTER_OR 0xa1 +#define LDAP_FILTER_NOT 0xa2 +#define LDAP_FILTER_EQUALITY 0xa3 +#define LDAP_FILTER_SUBSTRINGS 0xa4 +#define LDAP_FILTER_GE 0xa5 +#define LDAP_FILTER_LE 0xa6 +#define LDAP_FILTER_PRESENT 0x87 +#define LDAP_FILTER_APPROX 0xa8 +#define LDAP_FILTER_EXTENSIBLE 0xa9 + +#define LDAP_SUBSTRING_INITIAL __MSABI_LONG(0x80) +#define LDAP_SUBSTRING_ANY __MSABI_LONG(0x81) +#define LDAP_SUBSTRING_FINAL __MSABI_LONG(0x82) + +#define LDAP_DEREF_NEVER 0 +#define LDAP_DEREF_SEARCHING 1 +#define LDAP_DEREF_FINDING 2 +#define LDAP_DEREF_ALWAYS 3 + +#define LDAP_NO_LIMIT 0 + +#define LDAP_OPT_DNS 0x00000001 +#define LDAP_OPT_CHASE_REFERRALS 0x00000002 +#define LDAP_OPT_RETURN_REFS 0x00000004 + +#ifndef _WIN64 +#pragma pack(push,4) +#endif + + typedef struct ldap { + struct { + UINT_PTR sb_sd; + UCHAR Reserved1[(10*sizeof(ULONG))+1]; + ULONG_PTR sb_naddr; + UCHAR Reserved2[(6*sizeof(ULONG))]; + } ld_sb; + PCHAR ld_host; + ULONG ld_version; + UCHAR ld_lberoptions; + ULONG ld_deref; + ULONG ld_timelimit; + ULONG ld_sizelimit; + ULONG ld_errno; + PCHAR ld_matched; + PCHAR ld_error; + ULONG ld_msgid; + UCHAR Reserved3[(6*sizeof(ULONG))+1]; + ULONG ld_cldaptries; + ULONG ld_cldaptimeout; + ULONG ld_refhoplimit; + ULONG ld_options; + } LDAP,*PLDAP; + + typedef struct l_timeval { + LONG tv_sec; + LONG tv_usec; + } LDAP_TIMEVAL,*PLDAP_TIMEVAL; + + typedef struct berval { + ULONG bv_len; + PCHAR bv_val; + } LDAP_BERVAL,*PLDAP_BERVAL,BERVAL,*PBERVAL,BerValue; + + typedef struct ldapmsg { + ULONG lm_msgid; + ULONG lm_msgtype; + PVOID lm_ber; + struct ldapmsg *lm_chain; + struct ldapmsg *lm_next; + ULONG lm_time; + + PLDAP Connection; + PVOID Request; + ULONG lm_returncode; + USHORT lm_referral; + BOOLEAN lm_chased; + BOOLEAN lm_eom; + BOOLEAN ConnectionReferenced; + } LDAPMessage,*PLDAPMessage; + + typedef struct ldapcontrolA { + PCHAR ldctl_oid; + struct berval ldctl_value; + BOOLEAN ldctl_iscritical; + } LDAPControlA,*PLDAPControlA; + + typedef struct ldapcontrolW { + PWCHAR ldctl_oid; + struct berval ldctl_value; + BOOLEAN ldctl_iscritical; + } LDAPControlW,*PLDAPControlW; + +#if LDAP_UNICODE +#define LDAPControl LDAPControlW +#define PLDAPControl PLDAPControlW +#else +#define LDAPControl LDAPControlA +#define PLDAPControl PLDAPControlA +#endif + +#define LDAP_CONTROL_REFERRALS_W L"1.2.840.113556.1.4.616" +#define LDAP_CONTROL_REFERRALS "1.2.840.113556.1.4.616" + +#define LDAP_MOD_ADD 0x00 +#define LDAP_MOD_DELETE 0x01 +#define LDAP_MOD_REPLACE 0x02 +#define LDAP_MOD_BVALUES 0x80 + + typedef struct ldapmodW { + ULONG mod_op; + PWCHAR mod_type; + union { + PWCHAR *modv_strvals; + struct berval **modv_bvals; + } mod_vals; + } LDAPModW,*PLDAPModW; + + typedef struct ldapmodA { + ULONG mod_op; + PCHAR mod_type; + union { + PCHAR *modv_strvals; + struct berval **modv_bvals; + } mod_vals; + } LDAPModA,*PLDAPModA; + +#if LDAP_UNICODE +#define LDAPMod LDAPModW +#define PLDAPMod PLDAPModW +#else +#define LDAPMod LDAPModA +#define PLDAPMod PLDAPModA +#endif + +#ifndef _WIN64 +#pragma pack(pop) +#endif + +#define LDAP_IS_CLDAP(ld) ((ld)->ld_sb.sb_naddr > 0) +#define mod_values mod_vals.modv_strvals +#define mod_bvalues mod_vals.modv_bvals +#define NAME_ERROR(n) ((n & 0xf0)==0x20) + + WINLDAPAPI LDAP *LDAPAPI ldap_openW(const PWCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_openA(const PCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_initW(const PWCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_initA(const PCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_sslinitW(PWCHAR HostName,ULONG PortNumber,int secure); + WINLDAPAPI LDAP *LDAPAPI ldap_sslinitA(PCHAR HostName,ULONG PortNumber,int secure); + WINLDAPAPI ULONG LDAPAPI ldap_connect(LDAP *ld,struct l_timeval *timeout); + +#if LDAP_UNICODE +#define ldap_open ldap_openW +#define ldap_init ldap_initW +#define ldap_sslinit ldap_sslinitW +#else + WINLDAPAPI LDAP *LDAPAPI ldap_open(PCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_init(PCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI ldap_sslinit(PCHAR HostName,ULONG PortNumber,int secure); +#endif + + WINLDAPAPI LDAP *LDAPAPI cldap_openW(PWCHAR HostName,ULONG PortNumber); + WINLDAPAPI LDAP *LDAPAPI cldap_openA(PCHAR HostName,ULONG PortNumber); + +#if LDAP_UNICODE +#define cldap_open cldap_openW +#else + WINLDAPAPI LDAP *LDAPAPI cldap_open(PCHAR HostName,ULONG PortNumber); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_unbind(LDAP *ld); + WINLDAPAPI ULONG LDAPAPI ldap_unbind_s(LDAP *ld); + WINLDAPAPI ULONG LDAPAPI ldap_get_option(LDAP *ld,int option,void *outvalue); + WINLDAPAPI ULONG LDAPAPI ldap_get_optionW(LDAP *ld,int option,void *outvalue); + WINLDAPAPI ULONG LDAPAPI ldap_set_option(LDAP *ld,int option,const void *invalue); + WINLDAPAPI ULONG LDAPAPI ldap_set_optionW(LDAP *ld,int option,const void *invalue); + +#if LDAP_UNICODE +#define ldap_get_option ldap_get_optionW +#define ldap_set_option ldap_set_optionW +#endif + +#define LDAP_OPT_API_INFO 0x00 +#define LDAP_OPT_DESC 0x01 +#define LDAP_OPT_DEREF 0x02 +#define LDAP_OPT_SIZELIMIT 0x03 +#define LDAP_OPT_TIMELIMIT 0x04 +#define LDAP_OPT_THREAD_FN_PTRS 0x05 +#define LDAP_OPT_REBIND_FN 0x06 +#define LDAP_OPT_REBIND_ARG 0x07 +#define LDAP_OPT_REFERRALS 0x08 +#define LDAP_OPT_RESTART 0x09 + +#define LDAP_OPT_SSL 0x0a +#define LDAP_OPT_IO_FN_PTRS 0x0b +#define LDAP_OPT_CACHE_FN_PTRS 0x0d +#define LDAP_OPT_CACHE_STRATEGY 0x0e +#define LDAP_OPT_CACHE_ENABLE 0x0f +#define LDAP_OPT_REFERRAL_HOP_LIMIT 0x10 +#define LDAP_OPT_PROTOCOL_VERSION 0x11 +#define LDAP_OPT_VERSION 0x11 +#define LDAP_OPT_API_FEATURE_INFO 0x15 + +#define LDAP_OPT_HOST_NAME 0x30 +#define LDAP_OPT_ERROR_NUMBER 0x31 +#define LDAP_OPT_ERROR_STRING 0x32 +#define LDAP_OPT_SERVER_ERROR 0x33 +#define LDAP_OPT_SERVER_EXT_ERROR 0x34 +#define LDAP_OPT_HOST_REACHABLE 0x3E +#define LDAP_OPT_PING_KEEP_ALIVE 0x36 +#define LDAP_OPT_PING_WAIT_TIME 0x37 +#define LDAP_OPT_PING_LIMIT 0x38 +#define LDAP_OPT_DNSDOMAIN_NAME 0x3B +#define LDAP_OPT_GETDSNAME_FLAGS 0x3D +#define LDAP_OPT_PROMPT_CREDENTIALS 0x3F +#define LDAP_OPT_AUTO_RECONNECT 0x91 +#define LDAP_OPT_SSPI_FLAGS 0x92 +#define LDAP_OPT_SSL_INFO 0x93 +#define LDAP_OPT_TLS LDAP_OPT_SSL +#define LDAP_OPT_TLS_INFO LDAP_OPT_SSL_INFO +#define LDAP_OPT_SIGN 0x95 +#define LDAP_OPT_ENCRYPT 0x96 +#define LDAP_OPT_SASL_METHOD 0x97 +#define LDAP_OPT_AREC_EXCLUSIVE 0x98 +#define LDAP_OPT_SECURITY_CONTEXT 0x99 +#define LDAP_OPT_ROOTDSE_CACHE 0x9a +#define LDAP_OPT_TCP_KEEPALIVE 0x40 +#define LDAP_OPT_FAST_CONCURRENT_BIND 0x41 +#define LDAP_OPT_SEND_TIMEOUT 0x42 +#define LDAP_OPT_ON ((void *) 1) +#define LDAP_OPT_OFF ((void *) 0) + +#define LDAP_CHASE_SUBORDINATE_REFERRALS 0x00000020 +#define LDAP_CHASE_EXTERNAL_REFERRALS 0x00000040 + + WINLDAPAPI ULONG LDAPAPI ldap_simple_bindW(LDAP *ld,PWCHAR dn,PWCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_simple_bindA(LDAP *ld,PCHAR dn,PCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_simple_bind_sW(LDAP *ld,PWCHAR dn,PWCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_simple_bind_sA(LDAP *ld,PCHAR dn,PCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_bindW(LDAP *ld,PWCHAR dn,PWCHAR cred,ULONG method); + WINLDAPAPI ULONG LDAPAPI ldap_bindA(LDAP *ld,PCHAR dn,PCHAR cred,ULONG method); + WINLDAPAPI ULONG LDAPAPI ldap_bind_sW(LDAP *ld,PWCHAR dn,PWCHAR cred,ULONG method); + WINLDAPAPI ULONG LDAPAPI ldap_bind_sA(LDAP *ld,PCHAR dn,PCHAR cred,ULONG method); + WINLDAPAPI INT LDAPAPI ldap_sasl_bindA(LDAP *ExternalHandle,const PCHAR DistName,const PCHAR AuthMechanism,const BERVAL *cred,PLDAPControlA *ServerCtrls,PLDAPControlA *ClientCtrls,int *MessageNumber); + WINLDAPAPI INT LDAPAPI ldap_sasl_bindW(LDAP *ExternalHandle,const PWCHAR DistName,const PWCHAR AuthMechanism,const BERVAL *cred,PLDAPControlW *ServerCtrls,PLDAPControlW *ClientCtrls,int *MessageNumber); + WINLDAPAPI INT LDAPAPI ldap_sasl_bind_sA(LDAP *ExternalHandle,const PCHAR DistName,const PCHAR AuthMechanism,const BERVAL *cred,PLDAPControlA *ServerCtrls,PLDAPControlA *ClientCtrls,PBERVAL *ServerData); + WINLDAPAPI INT LDAPAPI ldap_sasl_bind_sW(LDAP *ExternalHandle,const PWCHAR DistName,const PWCHAR AuthMechanism,const BERVAL *cred,PLDAPControlW *ServerCtrls,PLDAPControlW *ClientCtrls,PBERVAL *ServerData); + +#if LDAP_UNICODE +#define ldap_simple_bind ldap_simple_bindW +#define ldap_simple_bind_s ldap_simple_bind_sW + +#define ldap_bind ldap_bindW +#define ldap_bind_s ldap_bind_sW + +#define ldap_sasl_bind ldap_sasl_bindW +#define ldap_sasl_bind_s ldap_sasl_bind_sW +#else + + WINLDAPAPI ULONG LDAPAPI ldap_simple_bind(LDAP *ld,const PCHAR dn,const PCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_simple_bind_s(LDAP *ld,const PCHAR dn,const PCHAR passwd); + WINLDAPAPI ULONG LDAPAPI ldap_bind(LDAP *ld,const PCHAR dn,const PCHAR cred,ULONG method); + WINLDAPAPI ULONG LDAPAPI ldap_bind_s(LDAP *ld,const PCHAR dn,const PCHAR cred,ULONG method); + +#define ldap_sasl_bind ldap_sasl_bindA +#define ldap_sasl_bind_s ldap_sasl_bind_sA +#endif + +#define LDAP_SCOPE_BASE 0x00 +#define LDAP_SCOPE_ONELEVEL 0x01 +#define LDAP_SCOPE_SUBTREE 0x02 + + WINLDAPAPI ULONG LDAPAPI ldap_searchW(LDAP *ld,const PWCHAR base,ULONG scope,const PWCHAR filter,PWCHAR attrs[],ULONG attrsonly); + WINLDAPAPI ULONG LDAPAPI ldap_searchA(LDAP *ld,const PCHAR base,ULONG scope,const PCHAR filter,PCHAR attrs[],ULONG attrsonly); + WINLDAPAPI ULONG LDAPAPI ldap_search_sW(LDAP *ld,const PWCHAR base,ULONG scope,const PWCHAR filter,PWCHAR attrs[],ULONG attrsonly,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_sA(LDAP *ld,const PCHAR base,ULONG scope,const PCHAR filter,PCHAR attrs[],ULONG attrsonly,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_stW(LDAP *ld,const PWCHAR base,ULONG scope,const PWCHAR filter,PWCHAR attrs[],ULONG attrsonly,struct l_timeval *timeout,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_stA(LDAP *ld,const PCHAR base,ULONG scope,const PCHAR filter,PCHAR attrs[],ULONG attrsonly,struct l_timeval *timeout,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_extW(LDAP *ld,const PWCHAR base,ULONG scope,const PWCHAR filter,PWCHAR attrs[],ULONG attrsonly,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG TimeLimit,ULONG SizeLimit,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_search_extA(LDAP *ld,const PCHAR base,ULONG scope,const PCHAR filter,PCHAR attrs[],ULONG attrsonly,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG TimeLimit,ULONG SizeLimit,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_search_ext_sW(LDAP *ld,const PWCHAR base,ULONG scope,const PWCHAR filter,PWCHAR attrs[],ULONG attrsonly,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,struct l_timeval *timeout,ULONG SizeLimit,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_ext_sA(LDAP *ld,const PCHAR base,ULONG scope,const PCHAR filter,PCHAR attrs[],ULONG attrsonly,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,struct l_timeval *timeout,ULONG SizeLimit,LDAPMessage **res); + +#if LDAP_UNICODE +#define ldap_search ldap_searchW +#define ldap_search_s ldap_search_sW +#define ldap_search_st ldap_search_stW + +#define ldap_search_ext ldap_search_extW +#define ldap_search_ext_s ldap_search_ext_sW +#else + + WINLDAPAPI ULONG LDAPAPI ldap_search(LDAP *ld,PCHAR base,ULONG scope,PCHAR filter,PCHAR attrs[],ULONG attrsonly); + WINLDAPAPI ULONG LDAPAPI ldap_search_s(LDAP *ld,PCHAR base,ULONG scope,PCHAR filter,PCHAR attrs[],ULONG attrsonly,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_st(LDAP *ld,PCHAR base,ULONG scope,PCHAR filter,PCHAR attrs[],ULONG attrsonly,struct l_timeval *timeout,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_search_ext(LDAP *ld,PCHAR base,ULONG scope,PCHAR filter,PCHAR attrs[],ULONG attrsonly,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG TimeLimit,ULONG SizeLimit,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_search_ext_s(LDAP *ld,PCHAR base,ULONG scope,PCHAR filter,PCHAR attrs[],ULONG attrsonly,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,struct l_timeval *timeout,ULONG SizeLimit,LDAPMessage **res); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_check_filterW(LDAP *ld,PWCHAR SearchFilter); + WINLDAPAPI ULONG LDAPAPI ldap_check_filterA(LDAP *ld,PCHAR SearchFilter); + +#if LDAP_UNICODE +#define ldap_check_filter ldap_check_filterW +#else +#define ldap_check_filter ldap_check_filterA +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_modifyW(LDAP *ld,PWCHAR dn,LDAPModW *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modifyA(LDAP *ld,PCHAR dn,LDAPModA *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modify_sW(LDAP *ld,PWCHAR dn,LDAPModW *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modify_sA(LDAP *ld,PCHAR dn,LDAPModA *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modify_extW(LDAP *ld,const PWCHAR dn,LDAPModW *mods[],PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_modify_extA(LDAP *ld,const PCHAR dn,LDAPModA *mods[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_modify_ext_sW(LDAP *ld,const PWCHAR dn,LDAPModW *mods[],PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_modify_ext_sA(LDAP *ld,const PCHAR dn,LDAPModA *mods[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + +#if LDAP_UNICODE +#define ldap_modify ldap_modifyW +#define ldap_modify_s ldap_modify_sW +#define ldap_modify_ext ldap_modify_extW +#define ldap_modify_ext_s ldap_modify_ext_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_modify(LDAP *ld,PCHAR dn,LDAPModA *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modify_s(LDAP *ld,PCHAR dn,LDAPModA *mods[]); + WINLDAPAPI ULONG LDAPAPI ldap_modify_ext(LDAP *ld,const PCHAR dn,LDAPModA *mods[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_modify_ext_s(LDAP *ld,const PCHAR dn,LDAPModA *mods[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2W (LDAP *ExternalHandle,const PWCHAR DistinguishedName,const PWCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2A (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdnW (LDAP *ExternalHandle,const PWCHAR DistinguishedName,const PWCHAR NewDistinguishedName); + WINLDAPAPI ULONG LDAPAPI ldap_modrdnA (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_sW (LDAP *ExternalHandle,const PWCHAR DistinguishedName,const PWCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_sA (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn_sW (LDAP *ExternalHandle,const PWCHAR DistinguishedName,const PWCHAR NewDistinguishedName); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn_sA (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName); + +#if LDAP_UNICODE +#define ldap_modrdn2 ldap_modrdn2W +#define ldap_modrdn ldap_modrdnW +#define ldap_modrdn2_s ldap_modrdn2_sW +#define ldap_modrdn_s ldap_modrdn_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2 (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn2_s (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName,INT DeleteOldRdn); + WINLDAPAPI ULONG LDAPAPI ldap_modrdn_s (LDAP *ExternalHandle,const PCHAR DistinguishedName,const PCHAR NewDistinguishedName); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_rename_extW(LDAP *ld,const PWCHAR dn,const PWCHAR NewRDN,const PWCHAR NewParent,INT DeleteOldRdn,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_rename_extA(LDAP *ld,const PCHAR dn,const PCHAR NewRDN,const PCHAR NewParent,INT DeleteOldRdn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_sW(LDAP *ld,const PWCHAR dn,const PWCHAR NewRDN,const PWCHAR NewParent,INT DeleteOldRdn,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_sA(LDAP *ld,const PCHAR dn,const PCHAR NewRDN,const PCHAR NewParent,INT DeleteOldRdn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + +#if LDAP_UNICODE +#define ldap_rename ldap_rename_extW +#define ldap_rename_s ldap_rename_ext_sW +#else +#define ldap_rename ldap_rename_extA +#define ldap_rename_s ldap_rename_ext_sA +#endif + +#if LDAP_UNICODE +#define ldap_rename_ext ldap_rename_extW +#define ldap_rename_ext_s ldap_rename_ext_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_rename_ext(LDAP *ld,const PCHAR dn,const PCHAR NewRDN,const PCHAR NewParent,INT DeleteOldRdn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_rename_ext_s(LDAP *ld,const PCHAR dn,const PCHAR NewRDN,const PCHAR NewParent,INT DeleteOldRdn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_addW(LDAP *ld,PWCHAR dn,LDAPModW *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_addA(LDAP *ld,PCHAR dn,LDAPModA *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_add_sW(LDAP *ld,PWCHAR dn,LDAPModW *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_add_sA(LDAP *ld,PCHAR dn,LDAPModA *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_add_extW(LDAP *ld,const PWCHAR dn,LDAPModW *attrs[],PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_add_extA(LDAP *ld,const PCHAR dn,LDAPModA *attrs[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_add_ext_sW(LDAP *ld,const PWCHAR dn,LDAPModW *attrs[],PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_add_ext_sA(LDAP *ld,const PCHAR dn,LDAPModA *attrs[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + +#if LDAP_UNICODE +#define ldap_add ldap_addW +#define ldap_add_s ldap_add_sW +#define ldap_add_ext ldap_add_extW +#define ldap_add_ext_s ldap_add_ext_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_add(LDAP *ld,PCHAR dn,LDAPMod *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_add_s(LDAP *ld,PCHAR dn,LDAPMod *attrs[]); + WINLDAPAPI ULONG LDAPAPI ldap_add_ext(LDAP *ld,const PCHAR dn,LDAPModA *attrs[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_add_ext_s(LDAP *ld,const PCHAR dn,LDAPModA *attrs[],PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_compareW(LDAP *ld,const PWCHAR dn,const PWCHAR attr,PWCHAR value); + WINLDAPAPI ULONG LDAPAPI ldap_compareA(LDAP *ld,const PCHAR dn,const PCHAR attr,PCHAR value); + WINLDAPAPI ULONG LDAPAPI ldap_compare_sW(LDAP *ld,const PWCHAR dn,const PWCHAR attr,PWCHAR value); + WINLDAPAPI ULONG LDAPAPI ldap_compare_sA(LDAP *ld,const PCHAR dn,const PCHAR attr,PCHAR value); + +#if LDAP_UNICODE +#define ldap_compare ldap_compareW +#define ldap_compare_s ldap_compare_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_compare(LDAP *ld,const PCHAR dn,const PCHAR attr,PCHAR value); + WINLDAPAPI ULONG LDAPAPI ldap_compare_s(LDAP *ld,const PCHAR dn,const PCHAR attr,PCHAR value); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_compare_extW(LDAP *ld,const PWCHAR dn,const PWCHAR Attr,const PWCHAR Value,struct berval *Data,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_compare_extA(LDAP *ld,const PCHAR dn,const PCHAR Attr,const PCHAR Value,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_sW(LDAP *ld,const PWCHAR dn,const PWCHAR Attr,const PWCHAR Value,struct berval *Data,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_sA(LDAP *ld,const PCHAR dn,const PCHAR Attr,const PCHAR Value,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + +#if LDAP_UNICODE +#define ldap_compare_ext ldap_compare_extW +#define ldap_compare_ext_s ldap_compare_ext_sW +#else + + WINLDAPAPI ULONG LDAPAPI ldap_compare_ext(LDAP *ld,const PCHAR dn,const PCHAR Attr,const PCHAR Value,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_compare_ext_s(LDAP *ld,const PCHAR dn,const PCHAR Attr,const PCHAR Value,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_deleteW(LDAP *ld,const PWCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_deleteA(LDAP *ld,const PCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_delete_sW(LDAP *ld,const PWCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_delete_sA(LDAP *ld,const PCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_delete_extW(LDAP *ld,const PWCHAR dn,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_delete_extA(LDAP *ld,const PCHAR dn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_delete_ext_sW(LDAP *ld,const PWCHAR dn,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_delete_ext_sA(LDAP *ld,const PCHAR dn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + +#if LDAP_UNICODE +#define ldap_delete ldap_deleteW +#define ldap_delete_ext ldap_delete_extW +#define ldap_delete_s ldap_delete_sW +#define ldap_delete_ext_s ldap_delete_ext_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_delete(LDAP *ld,PCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_delete_s(LDAP *ld,PCHAR dn); + WINLDAPAPI ULONG LDAPAPI ldap_delete_ext(LDAP *ld,const PCHAR dn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_delete_ext_s(LDAP *ld,const PCHAR dn,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_abandon(LDAP *ld,ULONG msgid); + +#define LDAP_MSG_ONE 0 +#define LDAP_MSG_ALL 1 +#define LDAP_MSG_RECEIVED 2 + + WINLDAPAPI ULONG LDAPAPI ldap_result(LDAP *ld,ULONG msgid,ULONG all,struct l_timeval *timeout,LDAPMessage **res); + WINLDAPAPI ULONG LDAPAPI ldap_msgfree(LDAPMessage *res); + WINLDAPAPI ULONG LDAPAPI ldap_result2error(LDAP *ld,LDAPMessage *res,ULONG freeit); + WINLDAPAPI ULONG LDAPAPI ldap_parse_resultW (LDAP *Connection,LDAPMessage *ResultMessage,ULONG *ReturnCode,PWCHAR *MatchedDNs,PWCHAR *ErrorMessage,PWCHAR **Referrals,PLDAPControlW **ServerControls,BOOLEAN Freeit); + WINLDAPAPI ULONG LDAPAPI ldap_parse_resultA (LDAP *Connection,LDAPMessage *ResultMessage,ULONG *ReturnCode,PCHAR *MatchedDNs,PCHAR *ErrorMessage,PCHAR **Referrals,PLDAPControlA **ServerControls,BOOLEAN Freeit); + WINLDAPAPI ULONG LDAPAPI ldap_parse_extended_resultA (LDAP *Connection,LDAPMessage *ResultMessage,PCHAR *ResultOID,struct berval **ResultData,BOOLEAN Freeit); + WINLDAPAPI ULONG LDAPAPI ldap_parse_extended_resultW (LDAP *Connection,LDAPMessage *ResultMessage,PWCHAR *ResultOID,struct berval **ResultData,BOOLEAN Freeit); + WINLDAPAPI ULONG LDAPAPI ldap_controls_freeA (LDAPControlA **Controls); + WINLDAPAPI ULONG LDAPAPI ldap_control_freeA (LDAPControlA *Controls); + WINLDAPAPI ULONG LDAPAPI ldap_controls_freeW (LDAPControlW **Control); + WINLDAPAPI ULONG LDAPAPI ldap_control_freeW (LDAPControlW *Control); + WINLDAPAPI ULONG LDAPAPI ldap_free_controlsW (LDAPControlW **Controls); + WINLDAPAPI ULONG LDAPAPI ldap_free_controlsA (LDAPControlA **Controls); + +#if LDAP_UNICODE +#define ldap_parse_result ldap_parse_resultW +#define ldap_controls_free ldap_controls_freeW +#define ldap_control_free ldap_control_freeW +#define ldap_free_controls ldap_free_controlsW +#define ldap_parse_extended_result ldap_parse_extended_resultW +#else +#define ldap_parse_extended_result ldap_parse_extended_resultA + WINLDAPAPI ULONG LDAPAPI ldap_parse_result (LDAP *Connection,LDAPMessage *ResultMessage,ULONG *ReturnCode,PCHAR *MatchedDNs,PCHAR *ErrorMessage,PCHAR **Referrals,PLDAPControlA **ServerControls,BOOLEAN Freeit); + WINLDAPAPI ULONG LDAPAPI ldap_controls_free (LDAPControlA **Controls); + WINLDAPAPI ULONG LDAPAPI ldap_control_free (LDAPControlA *Control); + WINLDAPAPI ULONG LDAPAPI ldap_free_controls (LDAPControlA **Controls); +#endif + + WINLDAPAPI PWCHAR LDAPAPI ldap_err2stringW(ULONG err); + WINLDAPAPI PCHAR LDAPAPI ldap_err2stringA(ULONG err); + +#if LDAP_UNICODE +#define ldap_err2string ldap_err2stringW +#else + WINLDAPAPI PCHAR LDAPAPI ldap_err2string(ULONG err); +#endif + + WINLDAPAPI void LDAPAPI ldap_perror(LDAP *ld,const PCHAR msg); + WINLDAPAPI LDAPMessage *LDAPAPI ldap_first_entry(LDAP *ld,LDAPMessage *res); + WINLDAPAPI LDAPMessage *LDAPAPI ldap_next_entry(LDAP *ld,LDAPMessage *entry); + WINLDAPAPI ULONG LDAPAPI ldap_count_entries(LDAP *ld,LDAPMessage *res); + + typedef struct berelement { + PCHAR opaque; + } BerElement; + +#define NULLBER ((BerElement *) 0) + + WINLDAPAPI PWCHAR LDAPAPI ldap_first_attributeW(LDAP *ld,LDAPMessage *entry,BerElement **ptr); + WINLDAPAPI PCHAR LDAPAPI ldap_first_attributeA(LDAP *ld,LDAPMessage *entry,BerElement **ptr); + +#if LDAP_UNICODE +#define ldap_first_attribute ldap_first_attributeW +#else + WINLDAPAPI PCHAR LDAPAPI ldap_first_attribute(LDAP *ld,LDAPMessage *entry,BerElement **ptr); +#endif + + WINLDAPAPI PWCHAR LDAPAPI ldap_next_attributeW(LDAP *ld,LDAPMessage *entry,BerElement *ptr); + WINLDAPAPI PCHAR LDAPAPI ldap_next_attributeA(LDAP *ld,LDAPMessage *entry,BerElement *ptr); + +#if LDAP_UNICODE +#define ldap_next_attribute ldap_next_attributeW +#else + WINLDAPAPI PCHAR LDAPAPI ldap_next_attribute(LDAP *ld,LDAPMessage *entry,BerElement *ptr); +#endif + + WINLDAPAPI PWCHAR *LDAPAPI ldap_get_valuesW(LDAP *ld,LDAPMessage *entry,const PWCHAR attr); + WINLDAPAPI PCHAR *LDAPAPI ldap_get_valuesA(LDAP *ld,LDAPMessage *entry,const PCHAR attr); + +#if LDAP_UNICODE +#define ldap_get_values ldap_get_valuesW +#else + WINLDAPAPI PCHAR *LDAPAPI ldap_get_values(LDAP *ld,LDAPMessage *entry,const PCHAR attr); +#endif + + WINLDAPAPI struct berval **LDAPAPI ldap_get_values_lenW (LDAP *ExternalHandle,LDAPMessage *Message,const PWCHAR attr); + WINLDAPAPI struct berval **LDAPAPI ldap_get_values_lenA (LDAP *ExternalHandle,LDAPMessage *Message,const PCHAR attr); + +#if LDAP_UNICODE +#define ldap_get_values_len ldap_get_values_lenW +#else + WINLDAPAPI struct berval **LDAPAPI ldap_get_values_len (LDAP *ExternalHandle,LDAPMessage *Message,const PCHAR attr); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_count_valuesW(PWCHAR *vals); + WINLDAPAPI ULONG LDAPAPI ldap_count_valuesA(PCHAR *vals); + +#if LDAP_UNICODE +#define ldap_count_values ldap_count_valuesW +#else + WINLDAPAPI ULONG LDAPAPI ldap_count_values(PCHAR *vals); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_count_values_len(struct berval **vals); + WINLDAPAPI ULONG LDAPAPI ldap_value_freeW(PWCHAR *vals); + WINLDAPAPI ULONG LDAPAPI ldap_value_freeA(PCHAR *vals); + +#if LDAP_UNICODE +#define ldap_value_free ldap_value_freeW +#else + WINLDAPAPI ULONG LDAPAPI ldap_value_free(PCHAR *vals); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_value_free_len(struct berval **vals); + WINLDAPAPI PWCHAR LDAPAPI ldap_get_dnW(LDAP *ld,LDAPMessage *entry); + WINLDAPAPI PCHAR LDAPAPI ldap_get_dnA(LDAP *ld,LDAPMessage *entry); + +#if LDAP_UNICODE +#define ldap_get_dn ldap_get_dnW +#else + WINLDAPAPI PCHAR LDAPAPI ldap_get_dn(LDAP *ld,LDAPMessage *entry); +#endif + + WINLDAPAPI PWCHAR *LDAPAPI ldap_explode_dnW(const PWCHAR dn,ULONG notypes); + WINLDAPAPI PCHAR *LDAPAPI ldap_explode_dnA(const PCHAR dn,ULONG notypes); + +#if LDAP_UNICODE +#define ldap_explode_dn ldap_explode_dnW +#else + WINLDAPAPI PCHAR *LDAPAPI ldap_explode_dn(const PCHAR dn,ULONG notypes); +#endif + + WINLDAPAPI PWCHAR LDAPAPI ldap_dn2ufnW(const PWCHAR dn); + WINLDAPAPI PCHAR LDAPAPI ldap_dn2ufnA(const PCHAR dn); + +#if LDAP_UNICODE +#define ldap_dn2ufn ldap_dn2ufnW +#else + WINLDAPAPI PCHAR LDAPAPI ldap_dn2ufn(const PCHAR dn); +#endif + + WINLDAPAPI VOID LDAPAPI ldap_memfreeW(PWCHAR Block); + WINLDAPAPI VOID LDAPAPI ldap_memfreeA(PCHAR Block); + WINLDAPAPI VOID LDAPAPI ber_bvfree(struct berval *bv); + +#if LDAP_UNICODE +#define ldap_memfree ldap_memfreeW +#else + WINLDAPAPI VOID LDAPAPI ldap_memfree(PCHAR Block); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_ufn2dnW (const PWCHAR ufn,PWCHAR *pDn); + WINLDAPAPI ULONG LDAPAPI ldap_ufn2dnA (const PCHAR ufn,PCHAR *pDn); + +#if LDAP_UNICODE +#define ldap_ufn2dn ldap_ufn2dnW +#else + WINLDAPAPI ULONG LDAPAPI ldap_ufn2dn (const PCHAR ufn,PCHAR *pDn); +#endif + +#define LBER_USE_DER 0x01 +#define LBER_USE_INDEFINITE_LEN 0x02 +#define LBER_TRANSLATE_STRINGS 0x04 + +#define LAPI_MAJOR_VER1 1 +#define LAPI_MINOR_VER1 1 + + typedef struct ldap_version_info { + ULONG lv_size; + ULONG lv_major; + ULONG lv_minor; + } LDAP_VERSION_INFO,*PLDAP_VERSION_INFO; + + WINLDAPAPI ULONG LDAPAPI ldap_startup (PLDAP_VERSION_INFO version,HANDLE *Instance); + +#define LDAP_API_INFO_VERSION 1 +#define LDAP_API_VERSION 2004 +#define LDAP_VERSION_MIN 2 +#define LDAP_VERSION_MAX 3 +#define LDAP_VENDOR_NAME "Microsoft Corporation." +#define LDAP_VENDOR_NAME_W L"Microsoft Corporation." +#define LDAP_VENDOR_VERSION 510 + + typedef struct ldapapiinfoA { + int ldapai_info_version; + int ldapai_api_version; + int ldapai_protocol_version; + char **ldapai_extensions; + char *ldapai_vendor_name; + int ldapai_vendor_version; + } LDAPAPIInfoA; + + typedef struct ldapapiinfoW { + int ldapai_info_version; + int ldapai_api_version; + int ldapai_protocol_version; + PWCHAR *ldapai_extensions; + PWCHAR ldapai_vendor_name; + int ldapai_vendor_version; + } LDAPAPIInfoW; + +#define LDAP_FEATURE_INFO_VERSION 1 + + typedef struct ldap_apifeature_infoA { + int ldapaif_info_version; + char *ldapaif_name; + int ldapaif_version; + } LDAPAPIFeatureInfoA; + + typedef struct ldap_apifeature_infoW { + int ldapaif_info_version; + PWCHAR ldapaif_name; + int ldapaif_version; + } LDAPAPIFeatureInfoW; + +#if LDAP_UNICODE +#define LDAPAPIInfo LDAPAPIInfoW +#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoW +#else +#define LDAPAPIInfo LDAPAPIInfoA +#define LDAPAPIFeatureInfo LDAPAPIFeatureInfoA +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_cleanup (HANDLE hInstance); + WINLDAPAPI ULONG LDAPAPI ldap_escape_filter_elementW (PCHAR sourceFilterElement,ULONG sourceLength,PWCHAR destFilterElement,ULONG destLength); + WINLDAPAPI ULONG LDAPAPI ldap_escape_filter_elementA (PCHAR sourceFilterElement,ULONG sourceLength,PCHAR destFilterElement,ULONG destLength); + +#if LDAP_UNICODE +#define ldap_escape_filter_element ldap_escape_filter_elementW +#else + WINLDAPAPI ULONG LDAPAPI ldap_escape_filter_element (PCHAR sourceFilterElement,ULONG sourceLength,PCHAR destFilterElement,ULONG destLength); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_set_dbg_flags(ULONG NewFlags); + + typedef ULONG (LDAPAPI *DBGPRINT)(PCH Format,...); + + WINLDAPAPI VOID LDAPAPI ldap_set_dbg_routine(DBGPRINT DebugPrintRoutine); + WINLDAPAPI int LDAPAPI LdapUTF8ToUnicode(LPCSTR lpSrcStr,int cchSrc,LPWSTR lpDestStr,int cchDest); + WINLDAPAPI int LDAPAPI LdapUnicodeToUTF8(LPCWSTR lpSrcStr,int cchSrc,LPSTR lpDestStr,int cchDest); + +#define LDAP_SERVER_SORT_OID "1.2.840.113556.1.4.473" +#define LDAP_SERVER_SORT_OID_W L"1.2.840.113556.1.4.473" +#define LDAP_SERVER_RESP_SORT_OID "1.2.840.113556.1.4.474" +#define LDAP_SERVER_RESP_SORT_OID_W L"1.2.840.113556.1.4.474" + + typedef struct ldapsearch LDAPSearch,*PLDAPSearch; + + typedef struct ldapsortkeyW { + PWCHAR sk_attrtype; + PWCHAR sk_matchruleoid; + BOOLEAN sk_reverseorder; + } LDAPSortKeyW,*PLDAPSortKeyW; + + typedef struct ldapsortkeyA { + PCHAR sk_attrtype; + PCHAR sk_matchruleoid; + BOOLEAN sk_reverseorder; + } LDAPSortKeyA,*PLDAPSortKeyA; + +#if LDAP_UNICODE +#define LDAPSortKey LDAPSortKeyW +#define PLDAPSortKey PLDAPSortKeyW +#else +#define LDAPSortKey LDAPSortKeyA +#define PLDAPSortKey PLDAPSortKeyA +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_create_sort_controlA (PLDAP ExternalHandle,PLDAPSortKeyA *SortKeys,UCHAR IsCritical,PLDAPControlA *Control); + WINLDAPAPI ULONG LDAPAPI ldap_create_sort_controlW (PLDAP ExternalHandle,PLDAPSortKeyW *SortKeys,UCHAR IsCritical,PLDAPControlW *Control); + WINLDAPAPI ULONG LDAPAPI ldap_parse_sort_controlA (PLDAP ExternalHandle,PLDAPControlA *Control,ULONG *Result,PCHAR *Attribute); + WINLDAPAPI ULONG LDAPAPI ldap_parse_sort_controlW (PLDAP ExternalHandle,PLDAPControlW *Control,ULONG *Result,PWCHAR *Attribute); + +#if LDAP_UNICODE +#define ldap_create_sort_control ldap_create_sort_controlW +#define ldap_parse_sort_control ldap_parse_sort_controlW +#else + WINLDAPAPI ULONG LDAPAPI ldap_create_sort_control (PLDAP ExternalHandle,PLDAPSortKeyA *SortKeys,UCHAR IsCritical,PLDAPControlA *Control); + WINLDAPAPI ULONG LDAPAPI ldap_parse_sort_control (PLDAP ExternalHandle,PLDAPControlA *Control,ULONG *Result,PCHAR *Attribute); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_encode_sort_controlW (PLDAP ExternalHandle,PLDAPSortKeyW *SortKeys,PLDAPControlW Control,BOOLEAN Criticality); + WINLDAPAPI ULONG LDAPAPI ldap_encode_sort_controlA (PLDAP ExternalHandle,PLDAPSortKeyA *SortKeys,PLDAPControlA Control,BOOLEAN Criticality); + +#if LDAP_UNICODE +#define ldap_encode_sort_control ldap_encode_sort_controlW +#else + WINLDAPAPI ULONG LDAPAPI ldap_encode_sort_control (PLDAP ExternalHandle,PLDAPSortKeyA *SortKeys,PLDAPControlA Control,BOOLEAN Criticality); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_create_page_controlW(PLDAP ExternalHandle,ULONG PageSize,struct berval *Cookie,UCHAR IsCritical,PLDAPControlW *Control); + WINLDAPAPI ULONG LDAPAPI ldap_create_page_controlA(PLDAP ExternalHandle,ULONG PageSize,struct berval *Cookie,UCHAR IsCritical,PLDAPControlA *Control); + WINLDAPAPI ULONG LDAPAPI ldap_parse_page_controlW (PLDAP ExternalHandle,PLDAPControlW *ServerControls,ULONG *TotalCount,struct berval **Cookie); + WINLDAPAPI ULONG LDAPAPI ldap_parse_page_controlA (PLDAP ExternalHandle,PLDAPControlA *ServerControls,ULONG *TotalCount,struct berval **Cookie); + +#if LDAP_UNICODE +#define ldap_create_page_control ldap_create_page_controlW +#define ldap_parse_page_control ldap_parse_page_controlW +#else + WINLDAPAPI ULONG LDAPAPI ldap_create_page_control(PLDAP ExternalHandle,ULONG PageSize,struct berval *Cookie,UCHAR IsCritical,PLDAPControlA *Control); + WINLDAPAPI ULONG LDAPAPI ldap_parse_page_control (PLDAP ExternalHandle,PLDAPControlA *ServerControls,ULONG *TotalCount,struct berval **Cookie); +#endif + +#define LDAP_PAGED_RESULT_OID_STRING "1.2.840.113556.1.4.319" +#define LDAP_PAGED_RESULT_OID_STRING_W L"1.2.840.113556.1.4.319" + + WINLDAPAPI PLDAPSearch LDAPAPI ldap_search_init_pageW(PLDAP ExternalHandle,const PWCHAR DistinguishedName,ULONG ScopeOfSearch,const PWCHAR SearchFilter,PWCHAR AttributeList[],ULONG AttributesOnly,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG PageTimeLimit,ULONG TotalSizeLimit,PLDAPSortKeyW *SortKeys); + WINLDAPAPI PLDAPSearch LDAPAPI ldap_search_init_pageA(PLDAP ExternalHandle,const PCHAR DistinguishedName,ULONG ScopeOfSearch,const PCHAR SearchFilter,PCHAR AttributeList[],ULONG AttributesOnly,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG PageTimeLimit,ULONG TotalSizeLimit,PLDAPSortKeyA *SortKeys); + +#if LDAP_UNICODE +#define ldap_search_init_page ldap_search_init_pageW +#else + WINLDAPAPI PLDAPSearch LDAPAPI ldap_search_init_page(PLDAP ExternalHandle,const PCHAR DistinguishedName,ULONG ScopeOfSearch,const PCHAR SearchFilter,PCHAR AttributeList[],ULONG AttributesOnly,PLDAPControl *ServerControls,PLDAPControl *ClientControls,ULONG PageTimeLimit,ULONG TotalSizeLimit,PLDAPSortKey *SortKeys); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_get_next_page(PLDAP ExternalHandle,PLDAPSearch SearchHandle,ULONG PageSize,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_get_next_page_s(PLDAP ExternalHandle,PLDAPSearch SearchHandle,struct l_timeval *timeout,ULONG PageSize,ULONG *TotalCount,LDAPMessage **Results); + WINLDAPAPI ULONG LDAPAPI ldap_get_paged_count(PLDAP ExternalHandle,PLDAPSearch SearchBlock,ULONG *TotalCount,PLDAPMessage Results); + WINLDAPAPI ULONG LDAPAPI ldap_search_abandon_page(PLDAP ExternalHandle,PLDAPSearch SearchBlock); + +#define LDAP_CONTROL_VLVREQUEST "2.16.840.1.113730.3.4.9" +#define LDAP_CONTROL_VLVREQUEST_W L"2.16.840.1.113730.3.4.9" +#define LDAP_CONTROL_VLVRESPONSE "2.16.840.1.113730.3.4.10" +#define LDAP_CONTROL_VLVRESPONSE_W L"2.16.840.1.113730.3.4.10" + +#define LDAP_API_FEATURE_VIRTUAL_LIST_VIEW 1001 + +#define LDAP_VLVINFO_VERSION 1 + + typedef struct ldapvlvinfo { + int ldvlv_version; + ULONG ldvlv_before_count; + ULONG ldvlv_after_count; + ULONG ldvlv_offset; + ULONG ldvlv_count; + PBERVAL ldvlv_attrvalue; + PBERVAL ldvlv_context; + VOID *ldvlv_extradata; + } LDAPVLVInfo,*PLDAPVLVInfo; + + WINLDAPAPI INT LDAPAPI ldap_create_vlv_controlW (PLDAP ExternalHandle,PLDAPVLVInfo VlvInfo,UCHAR IsCritical,PLDAPControlW *Control); + WINLDAPAPI INT LDAPAPI ldap_create_vlv_controlA (PLDAP ExternalHandle,PLDAPVLVInfo VlvInfo,UCHAR IsCritical,PLDAPControlA *Control); + WINLDAPAPI INT LDAPAPI ldap_parse_vlv_controlW (PLDAP ExternalHandle,PLDAPControlW *Control,PULONG TargetPos,PULONG ListCount,PBERVAL *Context,PINT ErrCode); + WINLDAPAPI INT LDAPAPI ldap_parse_vlv_controlA (PLDAP ExternalHandle,PLDAPControlA *Control,PULONG TargetPos,PULONG ListCount,PBERVAL *Context,PINT ErrCode); + +#if LDAP_UNICODE +#define ldap_create_vlv_control ldap_create_vlv_controlW +#define ldap_parse_vlv_control ldap_parse_vlv_controlW +#else +#define ldap_create_vlv_control ldap_create_vlv_controlA +#define ldap_parse_vlv_control ldap_parse_vlv_controlA +#endif + +#define LDAP_START_TLS_OID "1.3.6.1.4.1.1466.20037" +#define LDAP_START_TLS_OID_W L"1.3.6.1.4.1.1466.20037" + + WINLDAPAPI ULONG LDAPAPI ldap_start_tls_sW(PLDAP ExternalHandle,PULONG ServerReturnValue,LDAPMessage **result,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls); + WINLDAPAPI ULONG LDAPAPI ldap_start_tls_sA(PLDAP ExternalHandle,PULONG ServerReturnValue,LDAPMessage **result,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls); + WINLDAPAPI BOOLEAN LDAPAPI ldap_stop_tls_s(PLDAP ExternalHandle); + +#if LDAP_UNICODE +#define ldap_start_tls_s ldap_start_tls_sW +#else +#define ldap_start_tls_s ldap_start_tls_sA +#endif + +#define LDAP_TTL_EXTENDED_OP_OID "1.3.6.1.4.1.1466.101.119.1" +#define LDAP_TTL_EXTENDED_OP_OID_W L"1.3.6.1.4.1.1466.101.119.1" + + WINLDAPAPI LDAPMessage *LDAPAPI ldap_first_reference(LDAP *ld,LDAPMessage *res); + WINLDAPAPI LDAPMessage *LDAPAPI ldap_next_reference(LDAP *ld,LDAPMessage *entry); + WINLDAPAPI ULONG LDAPAPI ldap_count_references(LDAP *ld,LDAPMessage *res); + WINLDAPAPI ULONG LDAPAPI ldap_parse_referenceW (LDAP *Connection,LDAPMessage *ResultMessage,PWCHAR **Referrals); + WINLDAPAPI ULONG LDAPAPI ldap_parse_referenceA (LDAP *Connection,LDAPMessage *ResultMessage,PCHAR **Referrals); + +#if LDAP_UNICODE +#define ldap_parse_reference ldap_parse_referenceW +#else + WINLDAPAPI ULONG LDAPAPI ldap_parse_reference (LDAP *Connection,LDAPMessage *ResultMessage,PCHAR **Referrals); +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_extended_operationW(LDAP *ld,const PWCHAR Oid,struct berval *Data,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_extended_operationA(LDAP *ld,const PCHAR Oid,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); + WINLDAPAPI ULONG LDAPAPI ldap_extended_operation_sA (LDAP *ExternalHandle,PCHAR Oid,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,PCHAR *ReturnedOid,struct berval **ReturnedData); + WINLDAPAPI ULONG LDAPAPI ldap_extended_operation_sW (LDAP *ExternalHandle,PWCHAR Oid,struct berval *Data,PLDAPControlW *ServerControls,PLDAPControlW *ClientControls,PWCHAR *ReturnedOid,struct berval **ReturnedData); + +#if LDAP_UNICODE +#define ldap_extended_operation ldap_extended_operationW +#define ldap_extended_operation_s ldap_extended_operation_sW +#else + WINLDAPAPI ULONG LDAPAPI ldap_extended_operation(LDAP *ld,const PCHAR Oid,struct berval *Data,PLDAPControlA *ServerControls,PLDAPControlA *ClientControls,ULONG *MessageNumber); +#define ldap_extended_operation_s ldap_extended_operation_sA +#endif + + WINLDAPAPI ULONG LDAPAPI ldap_close_extended_op(LDAP *ld,ULONG MessageNumber); + +#define LDAP_OPT_REFERRAL_CALLBACK 0x70 + + typedef ULONG (LDAPAPI QUERYFORCONNECTION)(PLDAP PrimaryConnection,PLDAP ReferralFromConnection,PWCHAR NewDN,PCHAR HostName,ULONG PortNumber,PVOID SecAuthIdentity,PVOID CurrentUserToken,PLDAP *ConnectionToUse); + typedef BOOLEAN (LDAPAPI NOTIFYOFNEWCONNECTION) (PLDAP PrimaryConnection,PLDAP ReferralFromConnection,PWCHAR NewDN,PCHAR HostName,PLDAP NewConnection,ULONG PortNumber,PVOID SecAuthIdentity,PVOID CurrentUser,ULONG ErrorCodeFromBind); + typedef ULONG (LDAPAPI DEREFERENCECONNECTION)(PLDAP PrimaryConnection,PLDAP ConnectionToDereference); + + typedef struct LdapReferralCallback { + ULONG SizeOfCallbacks; + QUERYFORCONNECTION *QueryForConnection; + NOTIFYOFNEWCONNECTION *NotifyRoutine; + DEREFERENCECONNECTION *DereferenceRoutine; + } LDAP_REFERRAL_CALLBACK,*PLDAP_REFERRAL_CALLBACK; + + WINLDAPAPI ULONG LDAPAPI LdapGetLastError(VOID); + WINLDAPAPI ULONG LDAPAPI LdapMapErrorToWin32(ULONG LdapError); + +#define LDAP_OPT_CLIENT_CERTIFICATE 0x80 +#define LDAP_OPT_SERVER_CERTIFICATE 0x81 +#define LDAP_OPT_REF_DEREF_CONN_PER_MSG 0x94 + + typedef BOOLEAN (LDAPAPI QUERYCLIENTCERT) (PLDAP Connection,PSecPkgContext_IssuerListInfoEx trusted_CAs,PCCERT_CONTEXT *ppCertificate); + typedef BOOLEAN (LDAPAPI VERIFYSERVERCERT) (PLDAP Connection,PCCERT_CONTEXT pServerCert); + + WINLDAPAPI LDAP *LDAPAPI ldap_conn_from_msg (LDAP *PrimaryConn,LDAPMessage *res); + + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnetwk.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnetwk.h new file mode 100644 index 00000000..9a3685d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnetwk.h @@ -0,0 +1,359 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WINNETWK_ +#define _WINNETWK_ + +#include +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define RESOURCE_CONNECTED 0x00000001 +#define RESOURCE_GLOBALNET 0x00000002 +#define RESOURCE_REMEMBERED 0x00000003 +#define RESOURCE_RECENT 0x00000004 +#define RESOURCE_CONTEXT 0x00000005 + +#define RESOURCETYPE_ANY 0x00000000 +#define RESOURCETYPE_DISK 0x00000001 +#define RESOURCETYPE_PRINT 0x00000002 +#define RESOURCETYPE_RESERVED 0x00000008 + +#define RESOURCETYPE_UNKNOWN 0xFFFFFFFF + +#define RESOURCEUSAGE_CONNECTABLE 0x00000001 +#define RESOURCEUSAGE_CONTAINER 0x00000002 +#define RESOURCEUSAGE_NOLOCALDEVICE 0x00000004 +#define RESOURCEUSAGE_SIBLING 0x00000008 +#define RESOURCEUSAGE_ATTACHED 0x00000010 +#define RESOURCEUSAGE_ALL (RESOURCEUSAGE_CONNECTABLE | RESOURCEUSAGE_CONTAINER | RESOURCEUSAGE_ATTACHED) +#define RESOURCEUSAGE_RESERVED 0x80000000 + +#define RESOURCEDISPLAYTYPE_GENERIC 0x00000000 +#define RESOURCEDISPLAYTYPE_DOMAIN 0x00000001 +#define RESOURCEDISPLAYTYPE_SERVER 0x00000002 +#define RESOURCEDISPLAYTYPE_SHARE 0x00000003 +#define RESOURCEDISPLAYTYPE_FILE 0x00000004 +#define RESOURCEDISPLAYTYPE_GROUP 0x00000005 +#define RESOURCEDISPLAYTYPE_NETWORK 0x00000006 +#define RESOURCEDISPLAYTYPE_ROOT 0x00000007 +#define RESOURCEDISPLAYTYPE_SHAREADMIN 0x00000008 +#define RESOURCEDISPLAYTYPE_DIRECTORY 0x00000009 +#define RESOURCEDISPLAYTYPE_TREE 0x0000000a +#define RESOURCEDISPLAYTYPE_NDSCONTAINER 0x0000000b + + typedef struct _NETRESOURCEA { + DWORD dwScope; + DWORD dwType; + DWORD dwDisplayType; + DWORD dwUsage; + LPSTR lpLocalName; + LPSTR lpRemoteName; + LPSTR lpComment; + LPSTR lpProvider; + } NETRESOURCEA,*LPNETRESOURCEA; + typedef struct _NETRESOURCEW { + DWORD dwScope; + DWORD dwType; + DWORD dwDisplayType; + DWORD dwUsage; + LPWSTR lpLocalName; + LPWSTR lpRemoteName; + LPWSTR lpComment; + LPWSTR lpProvider; + } NETRESOURCEW,*LPNETRESOURCEW; + + __MINGW_TYPEDEF_AW(NETRESOURCE) + __MINGW_TYPEDEF_AW(LPNETRESOURCE) + +#define NETPROPERTY_PERSISTENT 1 + +#define CONNECT_UPDATE_PROFILE 0x00000001 +#define CONNECT_UPDATE_RECENT 0x00000002 +#define CONNECT_TEMPORARY 0x00000004 +#define CONNECT_INTERACTIVE 0x00000008 +#define CONNECT_PROMPT 0x00000010 +#define CONNECT_NEED_DRIVE 0x00000020 +#define CONNECT_REFCOUNT 0x00000040 +#define CONNECT_REDIRECT 0x00000080 +#define CONNECT_LOCALDRIVE 0x00000100 +#define CONNECT_CURRENT_MEDIA 0x00000200 +#define CONNECT_DEFERRED 0x00000400 +#define CONNECT_RESERVED 0xFF000000 +#define CONNECT_COMMANDLINE 0x00000800 +#define CONNECT_CMD_SAVECRED 0x00001000 +#if WINVER >= 0x0600 +#define CONNECT_CRED_RESET 0x00002000 +#endif + +#define WNetAddConnection __MINGW_NAME_AW(WNetAddConnection) +#define WNetAddConnection2 __MINGW_NAME_AW(WNetAddConnection2) +#define WNetAddConnection3 __MINGW_NAME_AW(WNetAddConnection3) +#define WNetCancelConnection __MINGW_NAME_AW(WNetCancelConnection) +#define WNetCancelConnection2 __MINGW_NAME_AW(WNetCancelConnection2) +#define WNetGetConnection __MINGW_NAME_AW(WNetGetConnection) +#define WNetRestoreConnection __MINGW_NAME_AW(WNetRestoreConnection) +#define WNetUseConnection __MINGW_NAME_AW(WNetUseConnection) + + DWORD WINAPI WNetAddConnectionA(LPCSTR lpRemoteName,LPCSTR lpPassword,LPCSTR lpLocalName); + DWORD WINAPI WNetAddConnectionW(LPCWSTR lpRemoteName,LPCWSTR lpPassword,LPCWSTR lpLocalName); + DWORD WINAPI WNetAddConnection2A(LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags); + DWORD WINAPI WNetAddConnection2W(LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags); + DWORD WINAPI WNetAddConnection3A(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserName,DWORD dwFlags); + DWORD WINAPI WNetAddConnection3W(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserName,DWORD dwFlags); + DWORD WINAPI WNetCancelConnectionA(LPCSTR lpName,WINBOOL fForce); + DWORD WINAPI WNetCancelConnectionW(LPCWSTR lpName,WINBOOL fForce); + DWORD WINAPI WNetCancelConnection2A(LPCSTR lpName,DWORD dwFlags,WINBOOL fForce); + DWORD WINAPI WNetCancelConnection2W(LPCWSTR lpName,DWORD dwFlags,WINBOOL fForce); + DWORD WINAPI WNetGetConnectionA(LPCSTR lpLocalName,LPSTR lpRemoteName,LPDWORD lpnLength); + DWORD WINAPI WNetGetConnectionW(LPCWSTR lpLocalName,LPWSTR lpRemoteName,LPDWORD lpnLength); + DWORD WINAPI WNetRestoreConnectionA(HWND hwndParent,LPCSTR lpDevice); + DWORD WINAPI WNetUseConnectionA(HWND hwndOwner,LPNETRESOURCEA lpNetResource,LPCSTR lpPassword,LPCSTR lpUserID,DWORD dwFlags,LPSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult); + DWORD WINAPI WNetUseConnectionW(HWND hwndOwner,LPNETRESOURCEW lpNetResource,LPCWSTR lpPassword,LPCWSTR lpUserID,DWORD dwFlags,LPWSTR lpAccessName,LPDWORD lpBufferSize,LPDWORD lpResult); + DWORD WINAPI WNetConnectionDialog(HWND hwnd,DWORD dwType); + DWORD WINAPI WNetDisconnectDialog(HWND hwnd,DWORD dwType); +#if (_WIN32_WINNT >= _WIN32_WINNT_LONGHORN) + DWORD WINAPI WNetRestoreSingleConnectionW(HWND hwndParent, LPCWSTR lpDevice, WINBOOL fUseUI); +#else + DWORD WINAPI WNetRestoreConnectionW(HWND hwndParent,LPCWSTR lpDevice); +#endif + + typedef struct _CONNECTDLGSTRUCTA { + DWORD cbStructure; + HWND hwndOwner; + LPNETRESOURCEA lpConnRes; + DWORD dwFlags; + DWORD dwDevNum; + } CONNECTDLGSTRUCTA,*LPCONNECTDLGSTRUCTA; + + typedef struct _CONNECTDLGSTRUCTW { + DWORD cbStructure; + HWND hwndOwner; + LPNETRESOURCEW lpConnRes; + DWORD dwFlags; + DWORD dwDevNum; + } CONNECTDLGSTRUCTW,*LPCONNECTDLGSTRUCTW; + + __MINGW_TYPEDEF_AW(CONNECTDLGSTRUCT) + __MINGW_TYPEDEF_AW(LPCONNECTDLGSTRUCT) + +#define CONNDLG_RO_PATH 0x00000001 +#define CONNDLG_CONN_POINT 0x00000002 +#define CONNDLG_USE_MRU 0x00000004 +#define CONNDLG_HIDE_BOX 0x00000008 + +#define CONNDLG_PERSIST 0x00000010 +#define CONNDLG_NOT_PERSIST 0x00000020 + +#define WNetConnectionDialog1 __MINGW_NAME_AW(WNetConnectionDialog1) + + DWORD WINAPI WNetConnectionDialog1A(LPCONNECTDLGSTRUCTA lpConnDlgStruct); + DWORD WINAPI WNetConnectionDialog1W(LPCONNECTDLGSTRUCTW lpConnDlgStruct); + + typedef struct _DISCDLGSTRUCTA { + DWORD cbStructure; + HWND hwndOwner; + LPSTR lpLocalName; + LPSTR lpRemoteName; + DWORD dwFlags; + } DISCDLGSTRUCTA,*LPDISCDLGSTRUCTA; + + typedef struct _DISCDLGSTRUCTW { + DWORD cbStructure; + HWND hwndOwner; + LPWSTR lpLocalName; + LPWSTR lpRemoteName; + DWORD dwFlags; + } DISCDLGSTRUCTW,*LPDISCDLGSTRUCTW; + + __MINGW_TYPEDEF_AW(DISCDLGSTRUCT) + __MINGW_TYPEDEF_AW(LPDISCDLGSTRUCT) + +#define DISC_UPDATE_PROFILE 0x00000001 +#define DISC_NO_FORCE 0x00000040 + +#define WNetDisconnectDialog1 __MINGW_NAME_AW(WNetDisconnectDialog1) +#define WNetOpenEnum __MINGW_NAME_AW(WNetOpenEnum) +#define WNetEnumResource __MINGW_NAME_AW(WNetEnumResource) +#define WNetGetResourceParent __MINGW_NAME_AW(WNetGetResourceParent) +#define WNetGetResourceInformation __MINGW_NAME_AW(WNetGetResourceInformation) + + DWORD WINAPI WNetDisconnectDialog1A(LPDISCDLGSTRUCTA lpConnDlgStruct); + DWORD WINAPI WNetDisconnectDialog1W(LPDISCDLGSTRUCTW lpConnDlgStruct); + DWORD WINAPI WNetOpenEnumA(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEA lpNetResource,LPHANDLE lphEnum); + DWORD WINAPI WNetOpenEnumW(DWORD dwScope,DWORD dwType,DWORD dwUsage,LPNETRESOURCEW lpNetResource,LPHANDLE lphEnum); + DWORD WINAPI WNetEnumResourceA(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize); + DWORD WINAPI WNetEnumResourceW(HANDLE hEnum,LPDWORD lpcCount,LPVOID lpBuffer,LPDWORD lpBufferSize); + DWORD WINAPI WNetCloseEnum(HANDLE hEnum); + DWORD WINAPI WNetGetResourceParentA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer); + DWORD WINAPI WNetGetResourceParentW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer); + DWORD WINAPI WNetGetResourceInformationA(LPNETRESOURCEA lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPSTR *lplpSystem); + DWORD WINAPI WNetGetResourceInformationW(LPNETRESOURCEW lpNetResource,LPVOID lpBuffer,LPDWORD lpcbBuffer,LPWSTR *lplpSystem); + +#define UNIVERSAL_NAME_INFO_LEVEL 0x00000001 +#define REMOTE_NAME_INFO_LEVEL 0x00000002 + + typedef struct _UNIVERSAL_NAME_INFOA { + LPSTR lpUniversalName; + } UNIVERSAL_NAME_INFOA,*LPUNIVERSAL_NAME_INFOA; + + typedef struct _UNIVERSAL_NAME_INFOW { + LPWSTR lpUniversalName; + } UNIVERSAL_NAME_INFOW,*LPUNIVERSAL_NAME_INFOW; + + __MINGW_TYPEDEF_AW(UNIVERSAL_NAME_INFO) + __MINGW_TYPEDEF_AW(LPUNIVERSAL_NAME_INFO) + + typedef struct _REMOTE_NAME_INFOA { + LPSTR lpUniversalName; + LPSTR lpConnectionName; + LPSTR lpRemainingPath; + } REMOTE_NAME_INFOA,*LPREMOTE_NAME_INFOA; + + typedef struct _REMOTE_NAME_INFOW { + LPWSTR lpUniversalName; + LPWSTR lpConnectionName; + LPWSTR lpRemainingPath; + } REMOTE_NAME_INFOW,*LPREMOTE_NAME_INFOW; + + __MINGW_TYPEDEF_AW(REMOTE_NAME_INFO) + __MINGW_TYPEDEF_AW(LPREMOTE_NAME_INFO) + +#define WNetGetUniversalName __MINGW_NAME_AW(WNetGetUniversalName) +#define WNetGetUser __MINGW_NAME_AW(WNetGetUser) +#define WNetGetProviderName __MINGW_NAME_AW(WNetGetProviderName) + + DWORD WINAPI WNetGetUniversalNameA(LPCSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize); + DWORD WINAPI WNetGetUniversalNameW(LPCWSTR lpLocalPath,DWORD dwInfoLevel,LPVOID lpBuffer,LPDWORD lpBufferSize); + DWORD WINAPI WNetGetUserA(LPCSTR lpName,LPSTR lpUserName,LPDWORD lpnLength); + DWORD WINAPI WNetGetUserW(LPCWSTR lpName,LPWSTR lpUserName,LPDWORD lpnLength); + +#define WNFMT_MULTILINE 0x01 +#define WNFMT_ABBREVIATED 0x02 +#define WNFMT_INENUM 0x10 +#define WNFMT_CONNECTION 0x20 + + DWORD WINAPI WNetGetProviderNameA(DWORD dwNetType,LPSTR lpProviderName,LPDWORD lpBufferSize); + DWORD WINAPI WNetGetProviderNameW(DWORD dwNetType,LPWSTR lpProviderName,LPDWORD lpBufferSize); + + typedef struct _NETINFOSTRUCT { + DWORD cbStructure; + DWORD dwProviderVersion; + DWORD dwStatus; + DWORD dwCharacteristics; + ULONG_PTR dwHandle; + WORD wNetType; + DWORD dwPrinters; + DWORD dwDrives; + } NETINFOSTRUCT,*LPNETINFOSTRUCT; + +#define NETINFO_DLL16 0x00000001 +#define NETINFO_DISKRED 0x00000004 +#define NETINFO_PRINTERRED 0x00000008 + +#define WNetGetNetworkInformation __MINGW_NAME_AW(WNetGetNetworkInformation) + + DWORD WINAPI WNetGetNetworkInformationA(LPCSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct); + DWORD WINAPI WNetGetNetworkInformationW(LPCWSTR lpProvider,LPNETINFOSTRUCT lpNetInfoStruct); + + typedef UINT (WINAPI *PFNGETPROFILEPATHA) (LPCSTR pszUsername,LPSTR pszBuffer,UINT cbBuffer); + typedef UINT (WINAPI *PFNGETPROFILEPATHW) (LPCWSTR pszUsername,LPWSTR pszBuffer,UINT cbBuffer); + +#define PFNGETPROFILEPATH __MINGW_NAME_AW(PFNGETPROFILEPATH) + + typedef UINT (WINAPI *PFNRECONCILEPROFILEA) (LPCSTR pszCentralFile,LPCSTR pszLocalFile,DWORD dwFlags); + typedef UINT (WINAPI *PFNRECONCILEPROFILEW) (LPCWSTR pszCentralFile,LPCWSTR pszLocalFile,DWORD dwFlags); + +#define PFNRECONCILEPROFILE __MINGW_NAME_AW(PFNRECONCILEPROFILE) + +#define RP_LOGON 0x01 +#define RP_INIFILE 0x02 + + typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESA) (HWND hwnd,LPCSTR pszPath,LPCSTR pszUsername,LPCSTR pszComputerName,DWORD dwFlags); + typedef WINBOOL (WINAPI *PFNPROCESSPOLICIESW) (HWND hwnd,LPCWSTR pszPath,LPCWSTR pszUsername,LPCWSTR pszComputerName,DWORD dwFlags); + +#define PFNPROCESSPOLICIES __MINGW_NAME_AW(PFNPROCESSPOLICIES) + +#define PP_DISPLAYERRORS 0x01 + +#define WNetGetLastError __MINGW_NAME_AW(WNetGetLastError) + + DWORD WINAPI WNetGetLastErrorA(LPDWORD lpError,LPSTR lpErrorBuf,DWORD nErrorBufSize,LPSTR lpNameBuf,DWORD nNameBufSize); + DWORD WINAPI WNetGetLastErrorW(LPDWORD lpError,LPWSTR lpErrorBuf,DWORD nErrorBufSize,LPWSTR lpNameBuf,DWORD nNameBufSize); + +#define WN_SUCCESS NO_ERROR +#define WN_NO_ERROR NO_ERROR +#define WN_NOT_SUPPORTED ERROR_NOT_SUPPORTED +#define WN_CANCEL ERROR_CANCELLED +#define WN_RETRY ERROR_RETRY +#define WN_NET_ERROR ERROR_UNEXP_NET_ERR +#define WN_MORE_DATA ERROR_MORE_DATA +#define WN_BAD_POINTER ERROR_INVALID_ADDRESS +#define WN_BAD_VALUE ERROR_INVALID_PARAMETER +#define WN_BAD_USER ERROR_BAD_USERNAME +#define WN_BAD_PASSWORD ERROR_INVALID_PASSWORD +#define WN_ACCESS_DENIED ERROR_ACCESS_DENIED +#define WN_FUNCTION_BUSY ERROR_BUSY +#define WN_WINDOWS_ERROR ERROR_UNEXP_NET_ERR +#define WN_OUT_OF_MEMORY ERROR_NOT_ENOUGH_MEMORY +#define WN_NO_NETWORK ERROR_NO_NETWORK +#define WN_EXTENDED_ERROR ERROR_EXTENDED_ERROR +#define WN_BAD_LEVEL ERROR_INVALID_LEVEL +#define WN_BAD_HANDLE ERROR_INVALID_HANDLE +#define WN_NOT_INITIALIZING ERROR_ALREADY_INITIALIZED +#define WN_NO_MORE_DEVICES ERROR_NO_MORE_DEVICES +#define WN_NOT_CONNECTED ERROR_NOT_CONNECTED +#define WN_OPEN_FILES ERROR_OPEN_FILES +#define WN_DEVICE_IN_USE ERROR_DEVICE_IN_USE +#define WN_BAD_NETNAME ERROR_BAD_NET_NAME +#define WN_BAD_LOCALNAME ERROR_BAD_DEVICE +#define WN_ALREADY_CONNECTED ERROR_ALREADY_ASSIGNED +#define WN_DEVICE_ERROR ERROR_GEN_FAILURE +#define WN_CONNECTION_CLOSED ERROR_CONNECTION_UNAVAIL +#define WN_NO_NET_OR_BAD_PATH ERROR_NO_NET_OR_BAD_PATH +#define WN_BAD_PROVIDER ERROR_BAD_PROVIDER +#define WN_CANNOT_OPEN_PROFILE ERROR_CANNOT_OPEN_PROFILE +#define WN_BAD_PROFILE ERROR_BAD_PROFILE +#define WN_BAD_DEV_TYPE ERROR_BAD_DEV_TYPE +#define WN_DEVICE_ALREADY_REMEMBERED ERROR_DEVICE_ALREADY_REMEMBERED +#define WN_CONNECTED_OTHER_PASSWORD ERROR_CONNECTED_OTHER_PASSWORD +#define WN_CONNECTED_OTHER_PASSWORD_DEFAULT ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT +#define WN_NO_MORE_ENTRIES ERROR_NO_MORE_ITEMS +#define WN_NOT_CONTAINER ERROR_NOT_CONTAINER +#define WN_NOT_AUTHENTICATED ERROR_NOT_AUTHENTICATED +#define WN_NOT_LOGGED_ON ERROR_NOT_LOGGED_ON +#define WN_NOT_VALIDATED ERROR_NO_LOGON_SERVERS + + typedef struct _NETCONNECTINFOSTRUCT { + DWORD cbStructure; + DWORD dwFlags; + DWORD dwSpeed; + DWORD dwDelay; + DWORD dwOptDataSize; + } NETCONNECTINFOSTRUCT,*LPNETCONNECTINFOSTRUCT; + +#define WNCON_FORNETCARD 0x00000001 +#define WNCON_NOTROUTED 0x00000002 +#define WNCON_SLOWLINK 0x00000004 +#define WNCON_DYNAMIC 0x00000008 + +#define MultinetGetConnectionPerformance __MINGW_NAME_AW(MultinetGetConnectionPerformance) + + DWORD WINAPI MultinetGetConnectionPerformanceA(LPNETRESOURCEA lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct); + DWORD WINAPI MultinetGetConnectionPerformanceW(LPNETRESOURCEW lpNetResource,LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct); + +#ifdef __cplusplus +} +#endif + +#endif /* WINAPI_PARTITION_DESKTOP. */ + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls.h new file mode 100644 index 00000000..cd8c6025 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls.h @@ -0,0 +1,1164 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINNLS_ +#define _WINNLS_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef NOAPISET +#include +#include +#endif + +#ifndef NONLS + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + +#ifndef _NORMALIZE_ +#define WINNORMALIZEAPI DECLSPEC_IMPORT +#else +#define WINNORMALIZEAPI +#endif + +#define MAX_LEADBYTES 12 +#define MAX_DEFAULTCHAR 2 + +#define HIGH_SURROGATE_START 0xd800 +#define HIGH_SURROGATE_END 0xdbff +#define LOW_SURROGATE_START 0xdc00 +#define LOW_SURROGATE_END 0xdfff + +#define MB_PRECOMPOSED 0x00000001 +#define MB_COMPOSITE 0x00000002 +#define MB_USEGLYPHCHARS 0x00000004 +#define MB_ERR_INVALID_CHARS 0x00000008 +#define WC_DISCARDNS 0x00000010 +#define WC_SEPCHARS 0x00000020 +#define WC_DEFAULTCHAR 0x00000040 +#if WINVER >= 0x0600 +#define WC_ERR_INVALID_CHARS 0x00000080 +#endif +#define WC_COMPOSITECHECK 0x00000200 +#define WC_NO_BEST_FIT_CHARS 0x00000400 + +#define CT_CTYPE1 0x00000001 +#define CT_CTYPE2 0x00000002 +#define CT_CTYPE3 0x00000004 + +#define C1_UPPER 0x0001 +#define C1_LOWER 0x0002 +#define C1_DIGIT 0x0004 +#define C1_SPACE 0x0008 +#define C1_PUNCT 0x0010 +#define C1_CNTRL 0x0020 +#define C1_BLANK 0x0040 +#define C1_XDIGIT 0x0080 +#define C1_ALPHA 0x0100 +#define C1_DEFINED 0x0200 + +#define C2_LEFTTORIGHT 0x0001 +#define C2_RIGHTTOLEFT 0x0002 +#define C2_EUROPENUMBER 0x0003 +#define C2_EUROPESEPARATOR 0x0004 +#define C2_EUROPETERMINATOR 0x0005 +#define C2_ARABICNUMBER 0x0006 +#define C2_COMMONSEPARATOR 0x0007 +#define C2_BLOCKSEPARATOR 0x0008 +#define C2_SEGMENTSEPARATOR 0x0009 +#define C2_WHITESPACE 0x000a +#define C2_OTHERNEUTRAL 0x000b + +#define C2_NOTAPPLICABLE 0x0000 + +#define C3_NONSPACING 0x0001 +#define C3_DIACRITIC 0x0002 +#define C3_VOWELMARK 0x0004 +#define C3_SYMBOL 0x0008 +#define C3_KATAKANA 0x0010 +#define C3_HIRAGANA 0x0020 +#define C3_HALFWIDTH 0x0040 +#define C3_FULLWIDTH 0x0080 +#define C3_IDEOGRAPH 0x0100 +#define C3_KASHIDA 0x0200 +#define C3_LEXICAL 0x0400 +#define C3_HIGHSURROGATE 0x0800 +#define C3_LOWSURROGATE 0x1000 +#define C3_ALPHA 0x8000 + +#define C3_NOTAPPLICABLE 0x0000 + +#define NORM_IGNORECASE 0x00000001 +#define NORM_IGNORENONSPACE 0x00000002 +#define NORM_IGNORESYMBOLS 0x00000004 + +#define LINGUISTIC_IGNORECASE 0x00000010 +#define LINGUISTIC_IGNOREDIACRITIC 0x00000020 + +#define NORM_IGNOREKANATYPE 0x00010000 +#define NORM_IGNOREWIDTH 0x00020000 +#define NORM_LINGUISTIC_CASING 0x08000000 + +#define MAP_FOLDCZONE 0x00000010 +#define MAP_PRECOMPOSED 0x00000020 +#define MAP_COMPOSITE 0x00000040 +#define MAP_FOLDDIGITS 0x00000080 + +#define MAP_EXPAND_LIGATURES 0x00002000 + +#define LCMAP_LOWERCASE 0x00000100 +#define LCMAP_UPPERCASE 0x00000200 +#if WINVER >= 0x0601 +#define LCMAP_TITLECASE 0x00000300 +#endif + +#define LCMAP_SORTKEY 0x00000400 +#define LCMAP_BYTEREV 0x00000800 + +#define LCMAP_HIRAGANA 0x00100000 +#define LCMAP_KATAKANA 0x00200000 +#define LCMAP_HALFWIDTH 0x00400000 +#define LCMAP_FULLWIDTH 0x00800000 + +#define LCMAP_LINGUISTIC_CASING 0x01000000 + +#define LCMAP_SIMPLIFIED_CHINESE 0x02000000 +#define LCMAP_TRADITIONAL_CHINESE 0x04000000 + +#if WINVER >= 0x0602 +#define LCMAP_SORTHANDLE 0x20000000 +#define LCMAP_HASH 0x00040000 +#endif + +#define FIND_STARTSWITH 0x00100000 +#define FIND_ENDSWITH 0x00200000 +#define FIND_FROMSTART 0x00400000 +#define FIND_FROMEND 0x00800000 + +#define LGRPID_INSTALLED 0x00000001 +#define LGRPID_SUPPORTED 0x00000002 + +#define LCID_INSTALLED 0x00000001 +#define LCID_SUPPORTED 0x00000002 +#define LCID_ALTERNATE_SORTS 0x00000004 + +#if WINVER >= 0x0600 + +#define LOCALE_ALL 0 +#define LOCALE_WINDOWS 0x00000001 +#define LOCALE_SUPPLEMENTAL 0x00000002 +#define LOCALE_ALTERNATE_SORTS 0x00000004 +#define LOCALE_REPLACEMENT 0x00000008 +#endif +#if WINVER >= 0x0601 +#define LOCALE_NEUTRALDATA 0x00000010 +#define LOCALE_SPECIFICDATA 0x00000020 +#endif + +#define CP_INSTALLED 0x00000001 +#define CP_SUPPORTED 0x00000002 + +#define SORT_STRINGSORT 0x00001000 + +#if WINVER >= 0x0601 +#define SORT_DIGITSASNUMBERS 0x00000008 +#endif + +#define CSTR_LESS_THAN 1 +#define CSTR_EQUAL 2 +#define CSTR_GREATER_THAN 3 + +#define CP_ACP 0 +#define CP_OEMCP 1 +#define CP_MACCP 2 +#define CP_THREAD_ACP 3 +#define CP_SYMBOL 42 + +#define CP_UTF7 65000 +#define CP_UTF8 65001 + +#define CTRY_DEFAULT 0 + +#define CTRY_ALBANIA 355 +#define CTRY_ALGERIA 213 +#define CTRY_ARGENTINA 54 +#define CTRY_ARMENIA 374 +#define CTRY_AUSTRALIA 61 +#define CTRY_AUSTRIA 43 +#define CTRY_AZERBAIJAN 994 +#define CTRY_BAHRAIN 973 +#define CTRY_BELARUS 375 +#define CTRY_BELGIUM 32 +#define CTRY_BELIZE 501 +#define CTRY_BOLIVIA 591 +#define CTRY_BRAZIL 55 +#define CTRY_BRUNEI_DARUSSALAM 673 +#define CTRY_BULGARIA 359 +#define CTRY_CANADA 2 +#define CTRY_CARIBBEAN 1 +#define CTRY_CHILE 56 +#define CTRY_COLOMBIA 57 +#define CTRY_COSTA_RICA 506 +#define CTRY_CROATIA 385 +#define CTRY_CZECH 420 +#define CTRY_DENMARK 45 +#define CTRY_DOMINICAN_REPUBLIC 1 +#define CTRY_ECUADOR 593 +#define CTRY_EGYPT 20 +#define CTRY_EL_SALVADOR 503 +#define CTRY_ESTONIA 372 +#define CTRY_FAEROE_ISLANDS 298 +#define CTRY_FINLAND 358 +#define CTRY_FRANCE 33 +#define CTRY_GEORGIA 995 +#define CTRY_GERMANY 49 +#define CTRY_GREECE 30 +#define CTRY_GUATEMALA 502 +#define CTRY_HONDURAS 504 +#define CTRY_HONG_KONG 852 +#define CTRY_HUNGARY 36 +#define CTRY_ICELAND 354 +#define CTRY_INDIA 91 +#define CTRY_INDONESIA 62 +#define CTRY_IRAN 981 +#define CTRY_IRAQ 964 +#define CTRY_IRELAND 353 +#define CTRY_ISRAEL 972 +#define CTRY_ITALY 39 +#define CTRY_JAMAICA 1 +#define CTRY_JAPAN 81 +#define CTRY_JORDAN 962 +#define CTRY_KAZAKSTAN 7 +#define CTRY_KENYA 254 +#define CTRY_KUWAIT 965 +#define CTRY_KYRGYZSTAN 996 +#define CTRY_LATVIA 371 +#define CTRY_LEBANON 961 +#define CTRY_LIBYA 218 +#define CTRY_LIECHTENSTEIN 41 +#define CTRY_LITHUANIA 370 +#define CTRY_LUXEMBOURG 352 +#define CTRY_MACAU 853 +#define CTRY_MACEDONIA 389 +#define CTRY_MALAYSIA 60 +#define CTRY_MALDIVES 960 +#define CTRY_MEXICO 52 +#define CTRY_MONACO 33 +#define CTRY_MONGOLIA 976 +#define CTRY_MOROCCO 212 +#define CTRY_NETHERLANDS 31 +#define CTRY_NEW_ZEALAND 64 +#define CTRY_NICARAGUA 505 +#define CTRY_NORWAY 47 +#define CTRY_OMAN 968 +#define CTRY_PAKISTAN 92 +#define CTRY_PANAMA 507 +#define CTRY_PARAGUAY 595 +#define CTRY_PERU 51 +#define CTRY_PHILIPPINES 63 +#define CTRY_POLAND 48 +#define CTRY_PORTUGAL 351 +#define CTRY_PRCHINA 86 +#define CTRY_PUERTO_RICO 1 +#define CTRY_QATAR 974 +#define CTRY_ROMANIA 40 +#define CTRY_RUSSIA 7 +#define CTRY_SAUDI_ARABIA 966 +#define CTRY_SERBIA 381 +#define CTRY_SINGAPORE 65 +#define CTRY_SLOVAK 421 +#define CTRY_SLOVENIA 386 +#define CTRY_SOUTH_AFRICA 27 +#define CTRY_SOUTH_KOREA 82 +#define CTRY_SPAIN 34 +#define CTRY_SWEDEN 46 +#define CTRY_SWITZERLAND 41 +#define CTRY_SYRIA 963 +#define CTRY_TAIWAN 886 +#define CTRY_TATARSTAN 7 +#define CTRY_THAILAND 66 +#define CTRY_TRINIDAD_Y_TOBAGO 1 +#define CTRY_TUNISIA 216 +#define CTRY_TURKEY 90 +#define CTRY_UAE 971 +#define CTRY_UKRAINE 380 +#define CTRY_UNITED_KINGDOM 44 +#define CTRY_UNITED_STATES 1 +#define CTRY_URUGUAY 598 +#define CTRY_UZBEKISTAN 7 +#define CTRY_VENEZUELA 58 +#define CTRY_VIET_NAM 84 +#define CTRY_YEMEN 967 +#define CTRY_ZIMBABWE 263 + +#define LOCALE_SLOCALIZEDDISPLAYNAME 0x00000002 +#if WINVER >= 0x0601 +#define LOCALE_ALLOW_NEUTRAL_NAMES 0x08000000 +#define LOCALE_RETURN_GENITIVE_NAMES 0x10000000 +#endif +#define LOCALE_RETURN_NUMBER 0x20000000 +#define LOCALE_USE_CP_ACP 0x40000000 +#define LOCALE_NOUSEROVERRIDE 0x80000000 + +#if WINVER >= 0x0601 +#define LOCALE_SENGLISHDISPLAYNAME 0x00000072 +#define LOCALE_SNATIVEDISPLAYNAME 0x00000073 +#endif + +#if WINVER >= 0x0600 +#define LOCALE_SLOCALIZEDLANGUAGENAME 0x0000006f +#endif + +#define LOCALE_SENGLISHLANGUAGENAME 0x00001001 +#define LOCALE_SNATIVELANGUAGENAME 0x00000004 + +#define LOCALE_SLOCALIZEDCOUNTRYNAME 0x00000006 +#define LOCALE_SENGLISHCOUNTRYNAME 0x00001002 +#define LOCALE_SNATIVECOUNTRYNAME 0x00000008 + +#define LOCALE_SLANGUAGE 0x00000002 +#if WINVER >= 0x0600 +#define LOCALE_SLANGDISPLAYNAME 0x0000006f +#endif +#define LOCALE_SENGLANGUAGE 0x00001001 +#define LOCALE_SNATIVELANGNAME 0x00000004 +#define LOCALE_SCOUNTRY 0x00000006 +#define LOCALE_SENGCOUNTRY 0x00001002 +#define LOCALE_SNATIVECTRYNAME 0x00000008 + +#define LOCALE_ILANGUAGE 0x00000001 + +#define LOCALE_SABBREVLANGNAME 0x00000003 + +#define LOCALE_ICOUNTRY 0x00000005 +#define LOCALE_SABBREVCTRYNAME 0x00000007 +#define LOCALE_IGEOID 0x0000005b + +#define LOCALE_IDEFAULTLANGUAGE 0x00000009 +#define LOCALE_IDEFAULTCOUNTRY 0x0000000a +#define LOCALE_IDEFAULTCODEPAGE 0x0000000b +#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 +#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 + +#define LOCALE_IDIALINGCODE 0x00000005 + +#define LOCALE_SLIST 0x0000000c +#define LOCALE_IMEASURE 0x0000000d + +#define LOCALE_SDECIMAL 0x0000000e +#define LOCALE_STHOUSAND 0x0000000f +#define LOCALE_SGROUPING 0x00000010 +#define LOCALE_IDIGITS 0x00000011 +#define LOCALE_ILZERO 0x00000012 +#define LOCALE_INEGNUMBER 0x00001010 +#define LOCALE_SNATIVEDIGITS 0x00000013 + +#define LOCALE_SCURRENCY 0x00000014 +#define LOCALE_SINTLSYMBOL 0x00000015 +#define LOCALE_SMONDECIMALSEP 0x00000016 +#define LOCALE_SMONTHOUSANDSEP 0x00000017 +#define LOCALE_SMONGROUPING 0x00000018 +#define LOCALE_ICURRDIGITS 0x00000019 +#define LOCALE_IINTLCURRDIGITS 0x0000001a +#define LOCALE_ICURRENCY 0x0000001b +#define LOCALE_INEGCURR 0x0000001c + +#define LOCALE_SDATE 0x0000001d +#define LOCALE_STIME 0x0000001e +#define LOCALE_SSHORTDATE 0x0000001f +#define LOCALE_SLONGDATE 0x00000020 +#define LOCALE_STIMEFORMAT 0x00001003 +#define LOCALE_SAM 0x00000028 +#define LOCALE_SPM 0x00000029 +#define LOCALE_IDATE 0x00000021 +#define LOCALE_ILDATE 0x00000022 +#define LOCALE_ITIME 0x00000023 +#define LOCALE_ITIMEMARKPOSN 0x00001005 +#define LOCALE_ICENTURY 0x00000024 +#define LOCALE_ITLZERO 0x00000025 +#define LOCALE_IDAYLZERO 0x00000026 +#define LOCALE_IMONLZERO 0x00000027 +#define LOCALE_S1159 0x00000028 +#define LOCALE_S2359 0x00000029 + +#define LOCALE_ICALENDARTYPE 0x00001009 +#define LOCALE_IOPTIONALCALENDAR 0x0000100b +#define LOCALE_IFIRSTDAYOFWEEK 0x0000100c +#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100d + +#define LOCALE_SDAYNAME1 0x0000002a +#define LOCALE_SDAYNAME2 0x0000002b +#define LOCALE_SDAYNAME3 0x0000002c +#define LOCALE_SDAYNAME4 0x0000002d +#define LOCALE_SDAYNAME5 0x0000002e +#define LOCALE_SDAYNAME6 0x0000002f +#define LOCALE_SDAYNAME7 0x00000030 +#define LOCALE_SABBREVDAYNAME1 0x00000031 +#define LOCALE_SABBREVDAYNAME2 0x00000032 +#define LOCALE_SABBREVDAYNAME3 0x00000033 +#define LOCALE_SABBREVDAYNAME4 0x00000034 +#define LOCALE_SABBREVDAYNAME5 0x00000035 +#define LOCALE_SABBREVDAYNAME6 0x00000036 +#define LOCALE_SABBREVDAYNAME7 0x00000037 +#define LOCALE_SMONTHNAME1 0x00000038 +#define LOCALE_SMONTHNAME2 0x00000039 +#define LOCALE_SMONTHNAME3 0x0000003a +#define LOCALE_SMONTHNAME4 0x0000003b +#define LOCALE_SMONTHNAME5 0x0000003c +#define LOCALE_SMONTHNAME6 0x0000003d +#define LOCALE_SMONTHNAME7 0x0000003e +#define LOCALE_SMONTHNAME8 0x0000003f +#define LOCALE_SMONTHNAME9 0x00000040 +#define LOCALE_SMONTHNAME10 0x00000041 +#define LOCALE_SMONTHNAME11 0x00000042 +#define LOCALE_SMONTHNAME12 0x00000043 +#define LOCALE_SMONTHNAME13 0x0000100e +#define LOCALE_SABBREVMONTHNAME1 0x00000044 +#define LOCALE_SABBREVMONTHNAME2 0x00000045 +#define LOCALE_SABBREVMONTHNAME3 0x00000046 +#define LOCALE_SABBREVMONTHNAME4 0x00000047 +#define LOCALE_SABBREVMONTHNAME5 0x00000048 +#define LOCALE_SABBREVMONTHNAME6 0x00000049 +#define LOCALE_SABBREVMONTHNAME7 0x0000004a +#define LOCALE_SABBREVMONTHNAME8 0x0000004b +#define LOCALE_SABBREVMONTHNAME9 0x0000004c +#define LOCALE_SABBREVMONTHNAME10 0x0000004d +#define LOCALE_SABBREVMONTHNAME11 0x0000004e +#define LOCALE_SABBREVMONTHNAME12 0x0000004f +#define LOCALE_SABBREVMONTHNAME13 0x0000100f + +#define LOCALE_SPOSITIVESIGN 0x00000050 +#define LOCALE_SNEGATIVESIGN 0x00000051 +#define LOCALE_IPOSSIGNPOSN 0x00000052 +#define LOCALE_INEGSIGNPOSN 0x00000053 +#define LOCALE_IPOSSYMPRECEDES 0x00000054 +#define LOCALE_IPOSSEPBYSPACE 0x00000055 +#define LOCALE_INEGSYMPRECEDES 0x00000056 +#define LOCALE_INEGSEPBYSPACE 0x00000057 + +#define LOCALE_FONTSIGNATURE 0x00000058 +#define LOCALE_SISO639LANGNAME 0x00000059 +#define LOCALE_SISO3166CTRYNAME 0x0000005a + +#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012 +#define LOCALE_IPAPERSIZE 0x0000100a +#define LOCALE_SENGCURRNAME 0x00001007 +#define LOCALE_SNATIVECURRNAME 0x00001008 +#define LOCALE_SYEARMONTH 0x00001006 +#define LOCALE_SSORTNAME 0x00001013 +#define LOCALE_IDIGITSUBSTITUTION 0x00001014 + +#if WINVER >= 0x0600 +#define LOCALE_SNAME 0x0000005c +#define LOCALE_SDURATION 0x0000005d +#define LOCALE_SKEYBOARDSTOINSTALL 0x0000005e +#define LOCALE_SSHORTESTDAYNAME1 0x00000060 +#define LOCALE_SSHORTESTDAYNAME2 0x00000061 +#define LOCALE_SSHORTESTDAYNAME3 0x00000062 +#define LOCALE_SSHORTESTDAYNAME4 0x00000063 +#define LOCALE_SSHORTESTDAYNAME5 0x00000064 +#define LOCALE_SSHORTESTDAYNAME6 0x00000065 +#define LOCALE_SSHORTESTDAYNAME7 0x00000066 +#define LOCALE_SISO639LANGNAME2 0x00000067 +#define LOCALE_SISO3166CTRYNAME2 0x00000068 +#define LOCALE_SNAN 0x00000069 +#define LOCALE_SPOSINFINITY 0x0000006a +#define LOCALE_SNEGINFINITY 0x0000006b +#define LOCALE_SSCRIPTS 0x0000006c +#define LOCALE_SPARENT 0x0000006d +#define LOCALE_SCONSOLEFALLBACKNAME 0x0000006e +#endif + +#if WINVER >= 0x0601 +#define LOCALE_IREADINGLAYOUT 0x00000070 + +#define LOCALE_INEUTRAL 0x00000071 +#define LOCALE_INEGATIVEPERCENT 0x00000074 +#define LOCALE_IPOSITIVEPERCENT 0x00000075 +#define LOCALE_SPERCENT 0x00000076 +#define LOCALE_SPERMILLE 0x00000077 +#define LOCALE_SMONTHDAY 0x00000078 +#define LOCALE_SSHORTTIME 0x00000079 +#define LOCALE_SOPENTYPELANGUAGETAG 0x0000007a +#define LOCALE_SSORTLOCALE 0x0000007b +#endif + +#if WINVER >= _WIN32_WINNT_WIN8 +#define LOCALE_SRELATIVELONGDATE 0x0000007c +#endif + +#if WINVER >= _WIN32_WINNT_WIN10 +#define LOCALE_SSHORTESTAM 0x0000007e +#define LOCALE_SSHORTESTPM 0x0000007f +#endif + +#define TIME_NOMINUTESORSECONDS 0x00000001 +#define TIME_NOSECONDS 0x00000002 +#define TIME_NOTIMEMARKER 0x00000004 +#define TIME_FORCE24HOURFORMAT 0x00000008 + +#define DATE_SHORTDATE 0x00000001 +#define DATE_LONGDATE 0x00000002 +#define DATE_USE_ALT_CALENDAR 0x00000004 + +#define DATE_YEARMONTH 0x00000008 +#define DATE_LTRREADING 0x00000010 +#define DATE_RTLREADING 0x00000020 +#if WINVER >= 0x0601 +#define DATE_AUTOLAYOUT 0x00000040 +#endif +#if WINVER >= _WIN32_WINNT_WINTHRESHOLD +#define DATE_MONTHDAY 0x00000080 +#endif + +#define CAL_NOUSEROVERRIDE LOCALE_NOUSEROVERRIDE +#define CAL_USE_CP_ACP LOCALE_USE_CP_ACP +#define CAL_RETURN_NUMBER LOCALE_RETURN_NUMBER +#if WINVER >= 0x0601 +#define CAL_RETURN_GENITIVE_NAMES LOCALE_RETURN_GENITIVE_NAMES +#endif + +#define CAL_ICALINTVALUE 0x00000001 +#define CAL_SCALNAME 0x00000002 +#define CAL_IYEAROFFSETRANGE 0x00000003 +#define CAL_SERASTRING 0x00000004 +#define CAL_SSHORTDATE 0x00000005 +#define CAL_SLONGDATE 0x00000006 +#define CAL_SDAYNAME1 0x00000007 +#define CAL_SDAYNAME2 0x00000008 +#define CAL_SDAYNAME3 0x00000009 +#define CAL_SDAYNAME4 0x0000000a +#define CAL_SDAYNAME5 0x0000000b +#define CAL_SDAYNAME6 0x0000000c +#define CAL_SDAYNAME7 0x0000000d +#define CAL_SABBREVDAYNAME1 0x0000000e +#define CAL_SABBREVDAYNAME2 0x0000000f +#define CAL_SABBREVDAYNAME3 0x00000010 +#define CAL_SABBREVDAYNAME4 0x00000011 +#define CAL_SABBREVDAYNAME5 0x00000012 +#define CAL_SABBREVDAYNAME6 0x00000013 +#define CAL_SABBREVDAYNAME7 0x00000014 + +#define CAL_SMONTHNAME1 0x00000015 +#define CAL_SMONTHNAME2 0x00000016 +#define CAL_SMONTHNAME3 0x00000017 +#define CAL_SMONTHNAME4 0x00000018 +#define CAL_SMONTHNAME5 0x00000019 +#define CAL_SMONTHNAME6 0x0000001a +#define CAL_SMONTHNAME7 0x0000001b +#define CAL_SMONTHNAME8 0x0000001c +#define CAL_SMONTHNAME9 0x0000001d +#define CAL_SMONTHNAME10 0x0000001e +#define CAL_SMONTHNAME11 0x0000001f +#define CAL_SMONTHNAME12 0x00000020 +#define CAL_SMONTHNAME13 0x00000021 +#define CAL_SABBREVMONTHNAME1 0x00000022 +#define CAL_SABBREVMONTHNAME2 0x00000023 +#define CAL_SABBREVMONTHNAME3 0x00000024 +#define CAL_SABBREVMONTHNAME4 0x00000025 +#define CAL_SABBREVMONTHNAME5 0x00000026 +#define CAL_SABBREVMONTHNAME6 0x00000027 +#define CAL_SABBREVMONTHNAME7 0x00000028 +#define CAL_SABBREVMONTHNAME8 0x00000029 +#define CAL_SABBREVMONTHNAME9 0x0000002a +#define CAL_SABBREVMONTHNAME10 0x0000002b +#define CAL_SABBREVMONTHNAME11 0x0000002c +#define CAL_SABBREVMONTHNAME12 0x0000002d +#define CAL_SABBREVMONTHNAME13 0x0000002e +#define CAL_SYEARMONTH 0x0000002f +#define CAL_ITWODIGITYEARMAX 0x00000030 +#if WINVER >= 0x0600 +#define CAL_SSHORTESTDAYNAME1 0x00000031 +#define CAL_SSHORTESTDAYNAME2 0x00000032 +#define CAL_SSHORTESTDAYNAME3 0x00000033 +#define CAL_SSHORTESTDAYNAME4 0x00000034 +#define CAL_SSHORTESTDAYNAME5 0x00000035 +#define CAL_SSHORTESTDAYNAME6 0x00000036 +#define CAL_SSHORTESTDAYNAME7 0x00000037 +#endif +#if WINVER >= 0x0601 +#define CAL_SMONTHDAY 0x00000038 +#define CAL_SABBREVERASTRING 0x00000039 +#endif +#if WINVER >= _WIN32_WINNT_WIN8 +#define CAL_SRELATIVELONGDATE 0x0000003a +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS2 +#define CAL_SENGLISHERANAME 0x0000003b +#define CAL_SENGLISHABBREVERANAME 0x0000003c +#endif +#define CAL_SJAPANESEERAFIRSTYEAR 0x0000003d + +#define ENUM_ALL_CALENDARS 0xffffffff + +#define CAL_GREGORIAN 1 +#define CAL_GREGORIAN_US 2 +#define CAL_JAPAN 3 +#define CAL_TAIWAN 4 +#define CAL_KOREA 5 +#define CAL_HIJRI 6 +#define CAL_THAI 7 +#define CAL_HEBREW 8 +#define CAL_GREGORIAN_ME_FRENCH 9 +#define CAL_GREGORIAN_ARABIC 10 +#define CAL_GREGORIAN_XLIT_ENGLISH 11 +#define CAL_GREGORIAN_XLIT_FRENCH 12 +#define CAL_UMALQURA 23 + +#define LGRPID_WESTERN_EUROPE 0x0001 +#define LGRPID_CENTRAL_EUROPE 0x0002 +#define LGRPID_BALTIC 0x0003 +#define LGRPID_GREEK 0x0004 +#define LGRPID_CYRILLIC 0x0005 +#define LGRPID_TURKIC 0x0006 +#define LGRPID_TURKISH 0x0006 +#define LGRPID_JAPANESE 0x0007 +#define LGRPID_KOREAN 0x0008 +#define LGRPID_TRADITIONAL_CHINESE 0x0009 +#define LGRPID_SIMPLIFIED_CHINESE 0x000a +#define LGRPID_THAI 0x000b +#define LGRPID_HEBREW 0x000c +#define LGRPID_ARABIC 0x000d +#define LGRPID_VIETNAMESE 0x000e +#define LGRPID_INDIC 0x000f +#define LGRPID_GEORGIAN 0x0010 +#define LGRPID_ARMENIAN 0x0011 + +#if WINVER >= 0x0600 + +#define MUI_LANGUAGE_ID 0x4 +#define MUI_LANGUAGE_NAME 0x8 +#define MUI_MERGE_SYSTEM_FALLBACK 0x10 +#define MUI_MERGE_USER_FALLBACK 0x20 +#define MUI_UI_FALLBACK MUI_MERGE_SYSTEM_FALLBACK | MUI_MERGE_USER_FALLBACK +#define MUI_THREAD_LANGUAGES 0x40 +#define MUI_CONSOLE_FILTER 0x100 +#define MUI_COMPLEX_SCRIPT_FILTER 0x200 +#define MUI_RESET_FILTERS 0x001 +#define MUI_USER_PREFERRED_UI_LANGUAGES 0x10 +#define MUI_USE_INSTALLED_LANGUAGES 0x20 +#define MUI_USE_SEARCH_ALL_LANGUAGES 0x40 +#define MUI_LANG_NEUTRAL_PE_FILE 0x100 +#define MUI_NON_LANG_NEUTRAL_FILE 0x200 +#define MUI_MACHINE_LANGUAGE_SETTINGS 0x400 +#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x001 +#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x002 +#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x004 +#define MUI_QUERY_TYPE 0x001 +#define MUI_QUERY_CHECKSUM 0x002 +#define MUI_QUERY_LANGUAGE_NAME 0x004 +#define MUI_QUERY_RESOURCE_TYPES 0x008 +#define MUI_FILEINFO_VERSION 0x001 + +#define MUI_FULL_LANGUAGE 0x01 +#define MUI_PARTIAL_LANGUAGE 0x02 +#define MUI_LIP_LANGUAGE 0x04 +#define MUI_LANGUAGE_INSTALLED 0x20 +#define MUI_LANGUAGE_LICENSED 0x40 + +#define MUI_CALLBACK_ALL_FLAGS MUI_CALLBACK_FLAG_UPGRADED_INSTALLATION +#endif + + typedef DWORD LGRPID; + typedef DWORD LCTYPE; + typedef DWORD CALTYPE; + typedef DWORD CALID; + + typedef struct _cpinfo { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; + } CPINFO,*LPCPINFO; + typedef struct _cpinfoexA { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; + WCHAR UnicodeDefaultChar; + UINT CodePage; + CHAR CodePageName[MAX_PATH]; + } CPINFOEXA,*LPCPINFOEXA; + + typedef struct _cpinfoexW { + UINT MaxCharSize; + BYTE DefaultChar[MAX_DEFAULTCHAR]; + BYTE LeadByte[MAX_LEADBYTES]; + WCHAR UnicodeDefaultChar; + UINT CodePage; + WCHAR CodePageName[MAX_PATH]; + } CPINFOEXW,*LPCPINFOEXW; + + __MINGW_TYPEDEF_AW(CPINFOEX) + __MINGW_TYPEDEF_AW(LPCPINFOEX) + + typedef struct _numberfmtA { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPSTR lpDecimalSep; + LPSTR lpThousandSep; + UINT NegativeOrder; + } NUMBERFMTA,*LPNUMBERFMTA; + typedef struct _numberfmtW { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPWSTR lpDecimalSep; + LPWSTR lpThousandSep; + UINT NegativeOrder; + } NUMBERFMTW,*LPNUMBERFMTW; + + __MINGW_TYPEDEF_AW(NUMBERFMT) + __MINGW_TYPEDEF_AW(LPNUMBERFMT) + + typedef struct _currencyfmtA { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPSTR lpDecimalSep; + LPSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPSTR lpCurrencySymbol; + } CURRENCYFMTA,*LPCURRENCYFMTA; + + typedef struct _currencyfmtW { + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPWSTR lpDecimalSep; + LPWSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPWSTR lpCurrencySymbol; + } CURRENCYFMTW,*LPCURRENCYFMTW; + + __MINGW_TYPEDEF_AW(CURRENCYFMT) + __MINGW_TYPEDEF_AW(LPCURRENCYFMT) + + enum SYSNLS_FUNCTION { + COMPARE_STRING = 0x1 + }; + + typedef DWORD NLS_FUNCTION; + +#if WINVER >= 0x0602 + typedef struct _nlsversioninfo { + DWORD dwNLSVersionInfoSize; + DWORD dwNLSVersion; + DWORD dwDefinedVersion; + DWORD dwEffectiveId; + GUID guidCustomVersion; + } NLSVERSIONINFO,*LPNLSVERSIONINFO; +#else + typedef struct _nlsversioninfo { + DWORD dwNLSVersionInfoSize; + DWORD dwNLSVersion; + DWORD dwDefinedVersion; + } NLSVERSIONINFO,*LPNLSVERSIONINFO; +#endif + + typedef struct _nlsversioninfoex { + DWORD dwNLSVersionInfoSize; + DWORD dwNLSVersion; + DWORD dwDefinedVersion; + DWORD dwEffectiveId; + GUID guidCustomVersion; + } NLSVERSIONINFOEX,*LPNLSVERSIONINFOEX; + + typedef LONG GEOID; + typedef DWORD GEOTYPE; + typedef DWORD GEOCLASS; + +#define GEOID_NOT_AVAILABLE -1 + + enum SYSGEOTYPE { + GEO_NATION = 0x0001, + GEO_LATITUDE = 0x0002, + GEO_LONGITUDE = 0x0003, + GEO_ISO2 = 0x0004, + GEO_ISO3 = 0x0005, + GEO_RFC1766 = 0x0006, + GEO_LCID = 0x0007, + GEO_FRIENDLYNAME= 0x0008, + GEO_OFFICIALNAME= 0x0009, + GEO_TIMEZONES = 0x000a, + GEO_OFFICIALLANGUAGES = 0x000b, + GEO_ISO_UN_NUMBER = 0x000c, + GEO_PARENT = 0x000d, + GEO_DIALINGCODE = 0x000e, + GEO_CURRENCYCODE= 0x000f, + GEO_CURRENCYSYMBOL= 0x0010, +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 + GEO_NAME = 0x0011, + GEO_ID = 0x0012 +#endif + }; + + enum SYSGEOCLASS { + GEOCLASS_NATION = 16, + GEOCLASS_REGION = 14, + GEOCLASS_ALL = 0 + }; + +#if WINVER >= 0x0600 + typedef enum _NORM_FORM { + NormalizationOther = 0, + NormalizationC = 0x1, + NormalizationD = 0x2, + NormalizationKC = 0x5, + NormalizationKD = 0x6 + } NORM_FORM; + +#define IDN_ALLOW_UNASSIGNED 0x01 +#define IDN_USE_STD3_ASCII_RULES 0x02 +#define IDN_EMAIL_ADDRESS 0x04 +#define IDN_RAW_PUNYCODE 0x08 + +#define VS_ALLOW_LATIN 0x0001 + +#define GSS_ALLOW_INHERITED_COMMON 0x0001 +#endif + +#ifdef STRICT + typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCA) (LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR); + typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCA) (LGRPID, LCID, LPSTR, LONG_PTR); + typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCA) (LPSTR, LONG_PTR); + typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCA) (LPSTR); + typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCA) (LPSTR); + typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXA) (LPSTR, CALID); + typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCA) (LPSTR); + typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCA) (LPSTR); + typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXA) (LPSTR, CALID); + typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCA) (LPSTR); + typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCW) (LPWSTR); + typedef WINBOOL (CALLBACK *LANGUAGEGROUP_ENUMPROCW) (LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); + typedef WINBOOL (CALLBACK *LANGGROUPLOCALE_ENUMPROCW) (LGRPID, LCID, LPWSTR, LONG_PTR); + typedef WINBOOL (CALLBACK *UILANGUAGE_ENUMPROCW) (LPWSTR, LONG_PTR); + typedef WINBOOL (CALLBACK *CODEPAGE_ENUMPROCW) (LPWSTR); + typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCW) (LPWSTR); + typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXW) (LPWSTR, CALID); + typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCW) (LPWSTR); + typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCW) (LPWSTR); + typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXW) (LPWSTR, CALID); + typedef WINBOOL (CALLBACK *GEO_ENUMPROC) (GEOID); + #if NTDDI_VERSION >= NTDDI_WIN10_RS3 + typedef WINBOOL (CALLBACK *GEO_ENUMNAMEPROC) (PWSTR, LPARAM); + #endif +#else + typedef FARPROC LANGUAGEGROUP_ENUMPROCA; + typedef FARPROC LANGGROUPLOCALE_ENUMPROCA; + typedef FARPROC UILANGUAGE_ENUMPROCA; + typedef FARPROC CODEPAGE_ENUMPROCA; + typedef FARPROC DATEFMT_ENUMPROCA; + typedef FARPROC DATEFMT_ENUMPROCEXA; + typedef FARPROC TIMEFMT_ENUMPROCA; + typedef FARPROC CALINFO_ENUMPROCA; + typedef FARPROC CALINFO_ENUMPROCEXA; + typedef FARPROC GEO_ENUMPROC; + typedef FARPROC LOCALE_ENUMPROCA; + typedef FARPROC LOCALE_ENUMPROCW; + typedef FARPROC LANGUAGEGROUP_ENUMPROCW; + typedef FARPROC LANGGROUPLOCALE_ENUMPROCW; + typedef FARPROC UILANGUAGE_ENUMPROCW; + typedef FARPROC CODEPAGE_ENUMPROCW; + typedef FARPROC DATEFMT_ENUMPROCW; + typedef FARPROC DATEFMT_ENUMPROCEXW; + typedef FARPROC TIMEFMT_ENUMPROCW; + typedef FARPROC CALINFO_ENUMPROCW; + typedef FARPROC CALINFO_ENUMPROCEXW; + #if NTDDI_VERSION >= NTDDI_WIN10_RS3 + typedef FARPROC GEO_ENUMNAMEPROC; + #endif +#endif + +#ifdef UNICODE + +#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCW +#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCW +#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCW +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCW +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCW +#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXW +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCW +#define CALINFO_ENUMPROC CALINFO_ENUMPROCW +#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXW +#define LOCALE_ENUMPROC LOCALE_ENUMPROCW +#else + +#define LANGUAGEGROUP_ENUMPROC LANGUAGEGROUP_ENUMPROCA +#define LANGGROUPLOCALE_ENUMPROC LANGGROUPLOCALE_ENUMPROCA +#define UILANGUAGE_ENUMPROC UILANGUAGE_ENUMPROCA +#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA +#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA +#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA +#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA +#define CALINFO_ENUMPROC CALINFO_ENUMPROCA +#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA +#define LOCALE_ENUMPROC LOCALE_ENUMPROCA +#endif + + typedef struct _FILEMUIINFO { + DWORD dwSize; + DWORD dwVersion; + DWORD dwFileType; + BYTE pChecksum[16]; + BYTE pServiceChecksum[16]; + DWORD dwLanguageNameOffset; + DWORD dwTypeIDMainSize; + DWORD dwTypeIDMainOffset; + DWORD dwTypeNameMainOffset; + DWORD dwTypeIDMUISize; + DWORD dwTypeIDMUIOffset; + DWORD dwTypeNameMUIOffset; + BYTE abBuffer[8]; + } FILEMUIINFO,*PFILEMUIINFO; + +#ifndef NOAPISET +#include +#endif + +#define IS_HIGH_SURROGATE(wch) (((wch) >= HIGH_SURROGATE_START) && ((wch) <= HIGH_SURROGATE_END)) +#define IS_LOW_SURROGATE(wch) (((wch) >= LOW_SURROGATE_START) && ((wch) <= LOW_SURROGATE_END)) +#define IS_SURROGATE_PAIR(hs, ls) (IS_HIGH_SURROGATE (hs) && IS_LOW_SURROGATE (ls)) + +#define FILEMUIINFO_GET_CULTURE(pInfo) ((LPWSTR) ((pInfo->dwLanguageNameOffset>0)? (ULONG_PTR)pInfo+pInfo->dwLanguageNameOffset:NULL)) +#define FILEMUIINFO_GET_MAIN_TYPEIDS(pInfo) ((DWORD *) ((pInfo->dwTypeIDMainOffset>0)? (ULONG_PTR)pInfo+pInfo->dwTypeIDMainOffset:NULL)) +#define FILEMUIINFO_GET_MAIN_TYPEID(pInfo, iType) (((iTypedwTypeIDMainSize)&& (pInfo->dwTypeIDMainOffset>0))? *((DWORD *) ((ULONG_PTR)pInfo+pInfo->dwTypeIDMainOffset)+iType):0) +#define FILEMUIINFO_GET_MAIN_TYPENAMES(pInfo) ((LPWSTR) ((pInfo->dwTypeNameMainOffset>0)? (ULONG_PTR)pInfo+pInfo->dwTypeNameMainOffset:NULL)) +#define FILEMUIINFO_GET_MUI_TYPEIDS(pInfo) ((DWORD *) ((pInfo->dwTypeIDMUIOffset>0)? (ULONG_PTR)pInfo+pInfo->dwTypeIDMUIOffset:NULL)) +#define FILEMUIINFO_GET_MUI_TYPEID(pInfo, iType) (((iTypedwTypeIDMUISize)&& (pInfo->dwTypeIDMUIOffset>0))? *((DWORD *) ((ULONG_PTR)pInfo+pInfo->dwTypeIDMUIOffset)+iType):0) +#define FILEMUIINFO_GET_MUI_TYPENAMES(pInfo) ((LPWSTR) ((pInfo->dwTypeNameMUIOffset>0)? (ULONG_PTR)pInfo+pInfo->dwTypeNameMUIOffset:NULL)) + + WINBASEAPI WINBOOL WINAPI IsValidCodePage (UINT CodePage); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI UINT WINAPI GetACP (void); + WINBASEAPI WINBOOL WINAPI IsDBCSLeadByte (BYTE TestChar); + WINBASEAPI WINBOOL WINAPI IsDBCSLeadByteEx (UINT CodePage, BYTE TestChar); + WINBASEAPI WINBOOL WINAPI IsNLSDefinedString (NLS_FUNCTION Function, DWORD dwFlags, LPNLSVERSIONINFO lpVersionInformation, LPCWSTR lpString, INT cchStr); + WINBASEAPI int WINAPI GetLocaleInfoW (LCID Locale, LCTYPE LCType, LPWSTR lpLCData, int cchData); + WINBASEAPI int WINAPI GetLocaleInfoA (LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData); + +#ifndef UNICODE +#define GetLocaleInfo GetLocaleInfoA +#else +#define GetLocaleInfo GetLocaleInfoW +#endif + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI UINT WINAPI GetOEMCP (void); + WINBASEAPI int WINAPI CompareStringA (LCID Locale, DWORD dwCmpFlags, PCNZCH lpString1, int cchCount1, PCNZCH lpString2, int cchCount2); + WINBASEAPI int WINAPI LCMapStringW (LCID Locale, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest); + WINBASEAPI int WINAPI LCMapStringA (LCID Locale, DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest); + WINBASEAPI int WINAPI GetNumberFormatA (LCID Locale, DWORD dwFlags, LPCSTR lpValue, CONST NUMBERFMTA *lpFormat, LPSTR lpNumberStr, int cchNumber); + WINBASEAPI int WINAPI GetNumberFormatW (LCID Locale, DWORD dwFlags, LPCWSTR lpValue, CONST NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber); + WINBASEAPI int WINAPI GetCurrencyFormatA (LCID Locale, DWORD dwFlags, LPCSTR lpValue, CONST CURRENCYFMTA *lpFormat, LPSTR lpCurrencyStr, int cchCurrency); + WINBASEAPI int WINAPI GetCurrencyFormatW (LCID Locale, DWORD dwFlags, LPCWSTR lpValue, CONST CURRENCYFMTW *lpFormat, LPWSTR lpCurrencyStr, int cchCurrency); + WINBASEAPI WINBOOL WINAPI EnumCalendarInfoA (CALINFO_ENUMPROCA lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType); + WINBASEAPI WINBOOL WINAPI EnumCalendarInfoW (CALINFO_ENUMPROCW lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType); + WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExA (CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType); + WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExW (CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType); + WINBASEAPI WINBOOL WINAPI EnumTimeFormatsA (TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumTimeFormatsW (TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumDateFormatsA (DATEFMT_ENUMPROCA lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumDateFormatsW (DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumDateFormatsExA (DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumDateFormatsExW (DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI IsValidLanguageGroup (LGRPID LanguageGroup, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI GetNLSVersion (NLS_FUNCTION Function, LCID Locale, LPNLSVERSIONINFO lpVersionInformation); + WINBASEAPI WINBOOL WINAPI IsValidLocale (LCID Locale, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI SetLocaleInfoA (LCID Locale, LCTYPE LCType, LPCSTR lpLCData); + WINBASEAPI WINBOOL WINAPI SetLocaleInfoW (LCID Locale, LCTYPE LCType, LPCWSTR lpLCData); + WINBASEAPI int WINAPI GetCalendarInfoA (LCID Locale, CALID Calendar, CALTYPE CalType, LPSTR lpCalData, int cchData, LPDWORD lpValue); + WINBASEAPI int WINAPI GetCalendarInfoW (LCID Locale, CALID Calendar, CALTYPE CalType, LPWSTR lpCalData, int cchData, LPDWORD lpValue); + WINBASEAPI WINBOOL WINAPI SetCalendarInfoA (LCID Locale, CALID Calendar, CALTYPE CalType, LPCSTR lpCalData); + WINBASEAPI WINBOOL WINAPI SetCalendarInfoW (LCID Locale, CALID Calendar, CALTYPE CalType, LPCWSTR lpCalData); +#if WINVER >= 0x0600 + WINBASEAPI int WINAPI GetDurationFormat (LCID Locale, DWORD dwFlags, CONST SYSTEMTIME *lpDuration, ULONGLONG ullDuration, LPCWSTR lpFormat, LPWSTR lpDurationStr, int cchDuration); + WINBASEAPI int WINAPI FindNLSString (LCID Locale, DWORD dwFindNLSStringFlags, LPCWSTR lpStringSource, int cchSource, LPCWSTR lpStringValue, int cchValue, LPINT pcchFound); +#endif +#if WINVER >= 0x0601 + WINBASEAPI WINBOOL WINAPI LoadStringByReference (DWORD Flags, PCWSTR Language, PCWSTR SourceString, PWSTR Buffer, ULONG cchBuffer, PCWSTR Directory, PULONG pcchBufferOut); +#endif + +#define SetLocaleInfo __MINGW_NAME_AW(SetLocaleInfo) +#define GetCalendarInfo __MINGW_NAME_AW(GetCalendarInfo) +#define SetCalendarInfo __MINGW_NAME_AW(SetCalendarInfo) + +#if WINVER >= 0x0601 +#define MUI_FORMAT_REG_COMPAT 0x0001 +#define MUI_FORMAT_INF_COMPAT 0x0002 +#define MUI_VERIFY_FILE_EXISTS 0x0004 +#define MUI_SKIP_STRING_CACHE 0x0008 +#define MUI_IMMUTABLE_LOOKUP 0x0010 +#endif + +#ifndef UNICODE +#define CompareString CompareStringA +#define LCMapString LCMapStringA +#else +#define LCMapString LCMapStringW +#endif + +#define GetNumberFormat __MINGW_NAME_AW(GetNumberFormat) +#define GetCurrencyFormat __MINGW_NAME_AW(GetCurrencyFormat) +#define EnumCalendarInfo __MINGW_NAME_AW(EnumCalendarInfo) +#define EnumCalendarInfoEx __MINGW_NAME_AW(EnumCalendarInfoEx) +#define EnumTimeFormats __MINGW_NAME_AW(EnumTimeFormats) +#define EnumDateFormats __MINGW_NAME_AW(EnumDateFormats) +#define EnumDateFormatsEx __MINGW_NAME_AW(EnumDateFormatsEx) + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI int WINAPI GetGeoInfoA (GEOID Location, GEOTYPE GeoType, LPSTR lpGeoData, int cchData, LANGID LangId); + WINBASEAPI int WINAPI GetGeoInfoW (GEOID Location, GEOTYPE GeoType, LPWSTR lpGeoData, int cchData, LANGID LangId); + WINBASEAPI WINBOOL WINAPI EnumSystemGeoID (GEOCLASS GeoClass, GEOID ParentGeoId, GEO_ENUMPROC lpGeoEnumProc); + WINBASEAPI GEOID WINAPI GetUserGeoID (GEOCLASS GeoClass); + WINBASEAPI int WINAPI GetUserDefaultGeoName (LPWSTR geoName, int geoNameCount); + WINBASEAPI WINBOOL WINAPI GetCPInfo (UINT CodePage, LPCPINFO lpCPInfo); + WINBASEAPI WINBOOL WINAPI GetCPInfoExA (UINT CodePage, DWORD dwFlags, LPCPINFOEXA lpCPInfoEx); + WINBASEAPI WINBOOL WINAPI GetCPInfoExW (UINT CodePage, DWORD dwFlags, LPCPINFOEXW lpCPInfoEx); + +#if WINVER >= 0x0600 + WINBASEAPI int WINAPI LCIDToLocaleName (LCID Locale, LPWSTR lpName, int cchName, DWORD dwFlags); + WINBASEAPI LCID WINAPI LocaleNameToLCID (LPCWSTR lpName, DWORD dwFlags); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 + WINBASEAPI int WINAPI GetGeoInfoEx (PWSTR location, GEOTYPE geoType, PWSTR geoData, int geoDataCount); + WINBASEAPI WINBOOL WINAPI SetUserGeoName (PWSTR geoName); +#endif + +#define GetGeoInfo __MINGW_NAME_AW(GetGeoInfo) +#define GetCPInfoEx __MINGW_NAME_AW(GetCPInfoEx) + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI SetUserGeoID (GEOID GeoId); + WINBASEAPI LCID WINAPI ConvertDefaultLocale (LCID Locale); + WINBASEAPI LCID WINAPI GetThreadLocale (void); + WINBASEAPI WINBOOL WINAPI SetThreadLocale (LCID Locale); + WINBASEAPI LANGID WINAPI GetSystemDefaultUILanguage (void); + WINBASEAPI LANGID WINAPI GetSystemDefaultLangID (void); + WINBASEAPI LCID WINAPI GetSystemDefaultLCID (void); + WINBASEAPI LCID WINAPI GetUserDefaultLCID (void); + WINBASEAPI LANGID WINAPI SetThreadUILanguage (LANGID LangId); + WINBASEAPI WINBOOL WINAPI GetStringTypeA (LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType); + WINBASEAPI int WINAPI FoldStringA (DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest); + WINBASEAPI WINBOOL WINAPI EnumSystemLocalesA (LOCALE_ENUMPROCA lpLocaleEnumProc, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumSystemLocalesW (LOCALE_ENUMPROCW lpLocaleEnumProc, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsA (LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumSystemLanguageGroupsW (LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesA (LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumLanguageGroupLocalesW (LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam); +#if WINVER >= 0x0600 + WINBASEAPI LANGID WINAPI GetThreadUILanguage (void); + WINBASEAPI WINBOOL WINAPI GetProcessPreferredUILanguages (DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer); + WINBASEAPI WINBOOL WINAPI SetProcessPreferredUILanguages (DWORD dwFlags, PCZZWSTR pwszLanguagesBuffer, PULONG pulNumLanguages); + WINBASEAPI WINBOOL WINAPI GetUserPreferredUILanguages (DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer); + WINBASEAPI WINBOOL WINAPI GetSystemPreferredUILanguages (DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer); + WINBASEAPI WINBOOL WINAPI GetThreadPreferredUILanguages (DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer); + WINBASEAPI WINBOOL WINAPI SetThreadPreferredUILanguages (DWORD dwFlags, PCZZWSTR pwszLanguagesBuffer, PULONG pulNumLanguages); + WINBASEAPI WINBOOL WINAPI GetFileMUIInfo (DWORD dwFlags, PCWSTR pcwszFilePath, PFILEMUIINFO pFileMUIInfo, DWORD *pcbFileMUIInfo); + WINBASEAPI WINBOOL WINAPI GetFileMUIPath (DWORD dwFlags, PCWSTR pcwszFilePath, PWSTR pwszLanguage, PULONG pcchLanguage, PWSTR pwszFileMUIPath, PULONG pcchFileMUIPath, PULONGLONG pululEnumerator); + WINBASEAPI WINBOOL WINAPI GetUILanguageInfo (DWORD dwFlags, PCZZWSTR pwmszLanguage, PZZWSTR pwszFallbackLanguages, PDWORD pcchFallbackLanguages, PDWORD pAttributes); + WINBASEAPI WINBOOL WINAPI NotifyUILanguageChange (DWORD dwFlags, PCWSTR pcwstrNewLanguage, PCWSTR pcwstrPreviousLanguage, DWORD dwReserved, PDWORD pdwStatusRtrn); +#endif + +#ifndef UNICODE +#define FoldString FoldStringA +#endif + +#define EnumSystemLocales __MINGW_NAME_AW(EnumSystemLocales) +#define EnumSystemLanguageGroups __MINGW_NAME_AW(EnumSystemLanguageGroups) +#define EnumLanguageGroupLocales __MINGW_NAME_AW(EnumLanguageGroupLocales) +#define EnumUILanguages __MINGW_NAME_AW(EnumUILanguages) + +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 + WINBASEAPI WINBOOL WINAPI EnumSystemGeoNames (GEOCLASS geoClass, GEO_ENUMNAMEPROC geoEnumProc, LPARAM data); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_VB + DECLARE_HANDLE(HSAVEDUILANGUAGES); + WINBASEAPI WINBOOL WINAPI SetThreadPreferredUILanguages2 (ULONG flags, PCZZWSTR languages, PULONG numLanguagesSet, HSAVEDUILANGUAGES *snapshot); + WINBASEAPI void WINAPI RestoreThreadPreferredUILanguages (const HSAVEDUILANGUAGES snapshot); +#endif /* NTDDI_WIN10_VB */ + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI GetStringTypeExA (LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType); + WINBASEAPI LANGID WINAPI GetUserDefaultUILanguage (void); + WINBASEAPI WINBOOL WINAPI EnumUILanguagesA (UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumUILanguagesW (UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam); + WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesA (CODEPAGE_ENUMPROCA lpCodePageEnumProc, DWORD dwFlags); + WINBASEAPI WINBOOL WINAPI EnumSystemCodePagesW (CODEPAGE_ENUMPROCW lpCodePageEnumProc, DWORD dwFlags); + WINBASEAPI LANGID WINAPI GetUserDefaultLangID (void); + +#ifndef UNICODE +#define GetStringTypeEx GetStringTypeExA +#endif + +#define EnumSystemCodePages __MINGW_NAME_AW(EnumSystemCodePages) + +#if WINVER >= 0x0600 + +#define LOCALE_NAME_USER_DEFAULT NULL +#define LOCALE_NAME_INVARIANT L"" +#define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale" + + typedef WINBOOL (CALLBACK *CALINFO_ENUMPROCEXEX) (LPWSTR, CALID, LPWSTR, LPARAM); + typedef WINBOOL (CALLBACK *DATEFMT_ENUMPROCEXEX) (LPWSTR, CALID, LPARAM); + typedef WINBOOL (CALLBACK *TIMEFMT_ENUMPROCEX) (LPWSTR, LPARAM); + typedef WINBOOL (CALLBACK *LOCALE_ENUMPROCEX) (LPWSTR, DWORD, LPARAM); + + WINNORMALIZEAPI int WINAPI NormalizeString (NORM_FORM NormForm, LPCWSTR lpSrcString, int cwSrcLength, LPWSTR lpDstString, int cwDstLength); + WINNORMALIZEAPI WINBOOL WINAPI IsNormalizedString (NORM_FORM NormForm, LPCWSTR lpString, int cwLength); + WINNORMALIZEAPI int WINAPI IdnToAscii (DWORD dwFlags, LPCWSTR lpUnicodeCharStr, int cchUnicodeChar, LPWSTR lpASCIICharStr, int cchASCIIChar); + WINNORMALIZEAPI int WINAPI IdnToNameprepUnicode (DWORD dwFlags, LPCWSTR lpUnicodeCharStr, int cchUnicodeChar, LPWSTR lpNameprepCharStr, int cchNameprepChar); + WINNORMALIZEAPI int WINAPI IdnToUnicode (DWORD dwFlags, LPCWSTR lpASCIICharStr, int cchASCIIChar, LPWSTR lpUnicodeCharStr, int cchUnicodeChar); + + WINBASEAPI WINBOOL WINAPI VerifyScripts (DWORD dwFlags, LPCWSTR lpLocaleScripts, int cchLocaleScripts, LPCWSTR lpTestScripts, int cchTestScripts); + WINBASEAPI int WINAPI GetStringScripts (DWORD dwFlags, LPCWSTR lpString, int cchString, LPWSTR lpScripts, int cchScripts); + WINBASEAPI int WINAPI GetLocaleInfoEx (LPCWSTR lpLocaleName, LCTYPE LCType, LPWSTR lpLCData, int cchData); + WINBASEAPI int WINAPI GetCalendarInfoEx (LPCWSTR lpLocaleName, CALID Calendar, LPCWSTR lpReserved, CALTYPE CalType, LPWSTR lpCalData, int cchData, LPDWORD lpValue); + WINBASEAPI int WINAPI GetDurationFormatEx (LPCWSTR lpLocaleName, DWORD dwFlags, CONST SYSTEMTIME *lpDuration, ULONGLONG ullDuration, LPCWSTR lpFormat, LPWSTR lpDurationStr, int cchDuration); + WINBASEAPI int WINAPI GetNumberFormatEx (LPCWSTR lpLocaleName, DWORD dwFlags, LPCWSTR lpValue, CONST NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber); + WINBASEAPI int WINAPI GetCurrencyFormatEx (LPCWSTR lpLocaleName, DWORD dwFlags, LPCWSTR lpValue, CONST CURRENCYFMTW *lpFormat, LPWSTR lpCurrencyStr, int cchCurrency); + WINBASEAPI int WINAPI GetUserDefaultLocaleName (LPWSTR lpLocaleName, int cchLocaleName); + WINBASEAPI int WINAPI GetSystemDefaultLocaleName (LPWSTR lpLocaleName, int cchLocaleName); + WINBASEAPI WINBOOL WINAPI GetNLSVersionEx (NLS_FUNCTION function, LPCWSTR lpLocaleName, LPNLSVERSIONINFOEX lpVersionInformation); + WINBASEAPI int WINAPI FindNLSStringEx (LPCWSTR lpLocaleName, DWORD dwFindNLSStringFlags, LPCWSTR lpStringSource, int cchSource, LPCWSTR lpStringValue, int cchValue, LPINT pcchFound, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM sortHandle); + WINBASEAPI int WINAPI LCMapStringEx (LPCWSTR lpLocaleName, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM sortHandle); + WINBASEAPI WINBOOL WINAPI IsValidLocaleName (LPCWSTR lpLocaleName); + WINBASEAPI WINBOOL WINAPI EnumCalendarInfoExEx (CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx, LPCWSTR lpLocaleName, CALID Calendar, LPCWSTR lpReserved, CALTYPE CalType, LPARAM lParam); + WINBASEAPI WINBOOL WINAPI EnumDateFormatsExEx (DATEFMT_ENUMPROCEXEX lpDateFmtEnumProcExEx, LPCWSTR lpLocaleName, DWORD dwFlags, LPARAM lParam); + WINBASEAPI WINBOOL WINAPI EnumTimeFormatsEx (TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx, LPCWSTR lpLocaleName, DWORD dwFlags, LPARAM lParam); + WINBASEAPI WINBOOL WINAPI EnumSystemLocalesEx (LOCALE_ENUMPROCEX lpLocaleEnumProcEx, DWORD dwFlags, LPARAM lParam, LPVOID lpReserved); +#endif +#if WINVER >= 0x0601 + WINBASEAPI int WINAPI ResolveLocaleName (LPCWSTR lpNameToResolve, LPWSTR lpLocaleName, int cchLocaleName); +#endif +#if WINVER >= 0x0602 + WINBASEAPI DWORD WINAPI IsValidNLSVersion (NLS_FUNCTION function, LPCWSTR lpLocaleName, LPNLSVERSIONINFOEX lpVersionInformation); +#endif +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls32.h new file mode 100644 index 00000000..b4db39f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnls32.h @@ -0,0 +1,70 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINNLS32_ +#define _WINNLS32_ + +#include <_mingw_unicode.h> +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _tagDATETIME { + WORD year; + WORD month; + WORD day; + WORD hour; + WORD min; + WORD sec; + } DATETIME; + + typedef struct _tagIMEPROA { + HWND hWnd; + DATETIME InstDate; + UINT wVersion; + BYTE szDescription[50]; + BYTE szName[80]; + BYTE szOptions[30]; + } IMEPROA,*PIMEPROA,*NPIMEPROA,*LPIMEPROA; + + typedef struct _tagIMEPROW { + HWND hWnd; + DATETIME InstDate; + UINT wVersion; + WCHAR szDescription[50]; + WCHAR szName[80]; + WCHAR szOptions[30]; + } IMEPROW,*PIMEPROW,*NPIMEPROW,*LPIMEPROW; + + __MINGW_TYPEDEF_AW(IMEPRO) + __MINGW_TYPEDEF_AW(PIMEPRO) + __MINGW_TYPEDEF_AW(NPIMEPRO) + __MINGW_TYPEDEF_AW(LPIMEPRO) + + WINBOOL WINAPI IMPGetIMEA (HWND, LPIMEPROA); + WINBOOL WINAPI IMPGetIMEW (HWND, LPIMEPROW); + WINBOOL WINAPI IMPQueryIMEA (LPIMEPROA); + WINBOOL WINAPI IMPQueryIMEW (LPIMEPROW); + WINBOOL WINAPI IMPSetIMEA (HWND, LPIMEPROA); + WINBOOL WINAPI IMPSetIMEW (HWND, LPIMEPROW); + UINT WINAPI WINNLSGetIMEHotkey (HWND); + WINBOOL WINAPI WINNLSEnableIME (HWND, WINBOOL); + WINBOOL WINAPI WINNLSGetEnableStatus (HWND); + +#define IMPGetIME __MINGW_NAME_AW(IMPGetIME) +#define IMPQueryIME __MINGW_NAME_AW(IMPQueryIME) +#define IMPSetIME __MINGW_NAME_AW(IMPSetIME) + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.h new file mode 100644 index 00000000..9373525f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.h @@ -0,0 +1,10739 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WINNT_ +#define _WINNT_ + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#include <_mingw.h> +#include +#include +#include +#include + +#define ANYSIZE_ARRAY 1 + +#include + +#ifndef __WIDL__ +#define __INTRINSIC_GROUP_WINNT /* only define the intrinsics in this file */ +#include +#endif + +#if defined(__x86_64) && \ + !(defined(_X86_) || defined(__i386__) || defined(_IA64_) || defined (__arm__) || defined(__aarch64__)) +#if !defined(_AMD64_) +#define _AMD64_ +#endif +#endif /* _AMD64_ */ + +#if defined(__arm__) && \ + !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_) || defined (__ia64__) || defined(__aarch64__)) +#if !defined(_ARM_) +#define _ARM_ +#endif +#endif /* _ARM_ */ + +#if defined(__aarch64__) && \ + !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_) || defined (__ia64__) || defined(__arm__)) +#if !defined(_ARM64_) +#define _ARM64_ +#endif +#endif /* _ARM64_ */ + +#if defined(__arm64ec__) && \ + !(defined(_X86_) || defined(__i386__) || defined(_IA64_) || defined (__arm__) || defined(__aarch64__)) +#if !defined(_ARM64EC_) +#define _ARM64EC_ +#endif +#endif /* _ARM64EC_ */ + +#if defined(__ia64__) && \ + !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_) || defined (__arm__) || defined(__aarch64__)) +#if !defined(_IA64_) +#define _IA64_ +#endif +#endif /* _IA64_ */ + +#include + +#ifndef DUMMYUNIONNAME +#if defined (NONAMELESSUNION) +#define DUMMYUNIONNAME u +#define DUMMYUNIONNAME2 u2 +#define DUMMYUNIONNAME3 u3 +#define DUMMYUNIONNAME4 u4 +#define DUMMYUNIONNAME5 u5 +#define DUMMYUNIONNAME6 u6 +#define DUMMYUNIONNAME7 u7 +#define DUMMYUNIONNAME8 u8 +#define DUMMYUNIONNAME9 u9 +#else +#define DUMMYUNIONNAME +#define DUMMYUNIONNAME2 +#define DUMMYUNIONNAME3 +#define DUMMYUNIONNAME4 +#define DUMMYUNIONNAME5 +#define DUMMYUNIONNAME6 +#define DUMMYUNIONNAME7 +#define DUMMYUNIONNAME8 +#define DUMMYUNIONNAME9 +#endif +#endif + +#ifndef DUMMYSTRUCTNAME +#if defined (NONAMELESSUNION) +#define DUMMYSTRUCTNAME s +#define DUMMYSTRUCTNAME2 s2 +#define DUMMYSTRUCTNAME3 s3 +#define DUMMYSTRUCTNAME4 s4 +#define DUMMYSTRUCTNAME5 s5 +#else +#define DUMMYSTRUCTNAME +#define DUMMYSTRUCTNAME2 +#define DUMMYSTRUCTNAME3 +#define DUMMYSTRUCTNAME4 +#define DUMMYSTRUCTNAME5 +#endif +#endif + +#define RESTRICTED_POINTER + +#undef UNALIGNED /* avoid redefinition warnings vs _mingw.h */ +#undef UNALIGNED64 +#if defined (__ia64__) || defined (__x86_64__) || defined (__arm__) || defined(__aarch64__) +#define ALIGNMENT_MACHINE +#define UNALIGNED __unaligned +#if defined (_WIN64) +#define UNALIGNED64 __unaligned +#else +#define UNALIGNED64 +#endif +#else +#undef ALIGNMENT_MACHINE +#define UNALIGNED +#define UNALIGNED64 +#endif + +#ifdef _WIN64 +#define MAX_NATURAL_ALIGNMENT sizeof(ULONGLONG) +#define MEMORY_ALLOCATION_ALIGNMENT 16 +#else +#define MAX_NATURAL_ALIGNMENT sizeof(DWORD) +#define MEMORY_ALLOCATION_ALIGNMENT 8 +#endif + +#ifdef __cplusplus +#define TYPE_ALIGNMENT(t) __alignof__ (t) +#else +#define TYPE_ALIGNMENT(t) FIELD_OFFSET(struct { char x; t test; }, test) +#endif + +#if defined (__x86_64__) || defined (__i386__) +#define PROBE_ALIGNMENT(_s) TYPE_ALIGNMENT (DWORD) +#elif defined (__ia64__) || defined (__arm__) || defined(__aarch64__) +#define PROBE_ALIGNMENT(_s) (TYPE_ALIGNMENT (_s) > TYPE_ALIGNMENT (DWORD) ? TYPE_ALIGNMENT (_s) : TYPE_ALIGNMENT (DWORD)) +#elif !defined (RC_INVOKED) && !defined (__WIDL__) +#error No supported target architecture. +#endif + +#ifdef _WIN64 +#define PROBE_ALIGNMENT32(_s) TYPE_ALIGNMENT (DWORD) +#endif + +#if defined(_MSC_VER) +# define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] +#else +# define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1]) +#endif + +#include + +#ifndef DECLSPEC_IMPORT +#if (defined (__i386__) || defined (__ia64__) || defined (__x86_64__) || defined (__arm__) || defined(__aarch64__)) && !defined (__WIDL__) +#define DECLSPEC_IMPORT __declspec (dllimport) +#else +#define DECLSPEC_IMPORT +#endif +#endif + +#ifndef DECLSPEC_NORETURN +#ifndef __WIDL__ +#define DECLSPEC_NORETURN __declspec (noreturn) +#else +#define DECLSPEC_NORETURN +#endif +#endif + +#ifndef DECLSPEC_NOTHROW +#ifndef __WIDL__ +#define DECLSPEC_NOTHROW __declspec (nothrow) +#else +#define DECLSPEC_NOTHROW +#endif +#endif + +#ifndef DECLSPEC_ALIGN +#ifndef __WIDL__ +#if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS) +#define DECLSPEC_ALIGN(x) __declspec(align(x)) +#elif defined(__GNUC__) +#define DECLSPEC_ALIGN(x) __attribute__ ((__aligned__ (x))) +#else +#define DECLSPEC_ALIGN(x) /*__declspec (align (x))*/ +#endif +#else +#define DECLSPEC_ALIGN(x) +#endif +#endif /* DECLSPEC_ALIGN */ + +#ifndef X86_CACHE_ALIGNMENT_SIZE +#define X86_CACHE_ALIGNMENT_SIZE 64 +#endif + +#ifndef ARM_CACHE_ALIGNMENT_SIZE +#define ARM_CACHE_ALIGNMENT_SIZE 128 +#endif + +#ifndef SYSTEM_CACHE_ALIGNMENT_SIZE +#if defined(__x86_64__) || defined(__i386__) +#define SYSTEM_CACHE_ALIGNMENT_SIZE X86_CACHE_ALIGNMENT_SIZE +#elif defined(__aarch64__) || defined(__arm__) +#define SYSTEM_CACHE_ALIGNMENT_SIZE ARM_CACHE_ALIGNMENT_SIZE +#else +#error Must define a target architecture. +#endif +#endif + +#ifndef DECLSPEC_CACHEALIGN +#define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(SYSTEM_CACHE_ALIGNMENT_SIZE) +#endif + +#ifndef DECLSPEC_UUID +#define DECLSPEC_UUID(x) +#endif + +#ifndef DECLSPEC_NOVTABLE +#define DECLSPEC_NOVTABLE +#endif + +#ifndef DECLSPEC_SELECTANY +#define DECLSPEC_SELECTANY __declspec(selectany) +#endif + +#ifndef NOP_FUNCTION +#if (_MSC_VER >= 1210) +#define NOP_FUNCTION __noop +#else +#define NOP_FUNCTION (void)0 +#endif +#endif + +#ifndef DECLSPEC_ADDRSAFE +#define DECLSPEC_ADDRSAFE +#endif + +#ifndef DECLSPEC_NOINLINE +#if (_MSC_VER >= 1300) +#define DECLSPEC_NOINLINE __declspec(noinline) +#elif defined(__GNUC__) +#define DECLSPEC_NOINLINE __attribute__((noinline)) +#else +#define DECLSPEC_NOINLINE +#endif +#endif /* DECLSPEC_NOINLINE */ + +#ifndef FORCEINLINE +#if !defined(_MSC_VER) || (_MSC_VER >=1200) +#define FORCEINLINE __forceinline +#else +#define FORCEINLINE __inline +#endif +#endif /* FORCEINLINE */ + +#ifndef DECLSPEC_DEPRECATED +#if !defined (__WIDL__) +#define DECLSPEC_DEPRECATED __declspec(deprecated) +#define DEPRECATE_SUPPORTED +#else +#define DECLSPEC_DEPRECATED +#undef DEPRECATE_SUPPORTED +#endif +#endif + +#define DECLSPEC_DEPRECATED_DDK +#define PRAGMA_DEPRECATED_DDK 0 + + typedef void *PVOID; + typedef void *PVOID64; + +#ifndef FASTCALL +#if defined (__i386__) && !defined (__WIDL__) +#define FASTCALL __fastcall +#else +#define FASTCALL +#endif +#endif /* FASTCALL */ + +#if defined(_ARM_) || defined(_ARM64_) +#define NTAPI +#else +#define NTAPI __stdcall +#endif +#define NTAPI_INLINE NTAPI + +#if !defined(_NTSYSTEM_) +#define NTSYSAPI DECLSPEC_IMPORT +#define NTSYSCALLAPI DECLSPEC_IMPORT +#else +#define NTSYSAPI +#define NTSYSCALLAPI DECLSPEC_ADDRSAFE +#endif + +#ifndef VOID +#define VOID void + typedef char CHAR; + typedef short SHORT; + typedef __LONG32 LONG; +#if !defined (__WIDL__) + typedef int INT; +#endif +#endif + +#ifndef __WCHAR_DEFINED +#define __WCHAR_DEFINED + typedef wchar_t WCHAR; +#endif + typedef WCHAR *PWCHAR,*LPWCH,*PWCH; + typedef CONST WCHAR *LPCWCH,*PCWCH; + typedef WCHAR *NWPSTR,*LPWSTR,*PWSTR; + typedef PWSTR *PZPWSTR; + typedef CONST PWSTR *PCZPWSTR; + typedef WCHAR UNALIGNED *LPUWSTR,*PUWSTR; + typedef CONST WCHAR *LPCWSTR,*PCWSTR; + typedef PCWSTR *PZPCWSTR; + typedef CONST WCHAR UNALIGNED *LPCUWSTR,*PCUWSTR; + typedef WCHAR *PZZWSTR; + typedef CONST WCHAR *PCZZWSTR; + typedef WCHAR UNALIGNED *PUZZWSTR; + typedef CONST WCHAR UNALIGNED *PCUZZWSTR; + typedef WCHAR *PNZWCH; + typedef CONST WCHAR *PCNZWCH; + typedef WCHAR UNALIGNED *PUNZWCH; + typedef CONST WCHAR UNALIGNED *PCUNZWCH; + +#if _WIN32_WINNT >= 0x0600 || (defined (__cplusplus) && defined (WINDOWS_ENABLE_CPLUSPLUS)) + typedef CONST WCHAR *LPCWCHAR,*PCWCHAR; + typedef CONST WCHAR UNALIGNED *LPCUWCHAR,*PCUWCHAR; + typedef unsigned long UCSCHAR; + +#define UCSCHAR_INVALID_CHARACTER (0xffffffff) +#define MIN_UCSCHAR (0) +#define MAX_UCSCHAR (0x0010ffff) + + typedef UCSCHAR *PUCSCHAR; + typedef const UCSCHAR *PCUCSCHAR; + typedef UCSCHAR *PUCSSTR; + typedef UCSCHAR UNALIGNED *PUUCSSTR; + typedef const UCSCHAR *PCUCSSTR; + typedef const UCSCHAR UNALIGNED *PCUUCSSTR; + typedef UCSCHAR UNALIGNED *PUUCSCHAR; + typedef const UCSCHAR UNALIGNED *PCUUCSCHAR; +#endif + + typedef CHAR *PCHAR,*LPCH,*PCH; + typedef CONST CHAR *LPCCH,*PCCH; + typedef CHAR *NPSTR,*LPSTR,*PSTR; + typedef PSTR *PZPSTR; + typedef CONST PSTR *PCZPSTR; + typedef CONST CHAR *LPCSTR,*PCSTR; + typedef PCSTR *PZPCSTR; + typedef CHAR *PZZSTR; + typedef CONST CHAR *PCZZSTR; + typedef CHAR *PNZCH; + typedef CONST CHAR *PCNZCH; + +#ifdef UNICODE +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED + typedef WCHAR TCHAR, *PTCHAR; + typedef WCHAR TBYTE, *PTBYTE; +#endif + + typedef LPWSTR LPTCH,PTCH; + typedef LPWSTR PTSTR,LPTSTR; + typedef LPCWSTR PCTSTR,LPCTSTR; + typedef LPUWSTR PUTSTR,LPUTSTR; + typedef LPCUWSTR PCUTSTR,LPCUTSTR; + typedef LPWSTR LP; + typedef PZZWSTR PZZTSTR; + typedef PCZZWSTR PCZZTSTR; + typedef PUZZWSTR PUZZTSTR; + typedef PCUZZWSTR PCUZZTSTR; + typedef PZPWSTR PZPTSTR; + typedef PNZWCH PNZTCH; + typedef PCNZWCH PCNZTCH; + typedef PUNZWCH PUNZTCH; + typedef PCUNZWCH PCUNZTCH; + +#define __TEXT(quote) L##quote +#else +#ifndef _TCHAR_DEFINED +#define _TCHAR_DEFINED + typedef char TCHAR, *PTCHAR; + typedef unsigned char TBYTE, *PTBYTE; +#endif + + typedef LPSTR LPTCH,PTCH; + typedef LPCCH LPCTCH,PCTCH; + typedef LPSTR PTSTR,LPTSTR,PUTSTR,LPUTSTR; + typedef LPCSTR PCTSTR,LPCTSTR,PCUTSTR,LPCUTSTR; + typedef PZZSTR PZZTSTR, PUZZTSTR; + typedef PCZZSTR PCZZTSTR, PCUZZTSTR; + typedef PZPSTR PZPTSTR; + typedef PNZCH PNZTCH, PUNZTCH; + typedef PCNZCH PCNZTCH, PCUNZTCH; + +#define __TEXT(quote) quote +#endif + +#define TEXT(quote) __TEXT(quote) + + typedef SHORT *PSHORT; + typedef LONG *PLONG; + +#ifndef ___GROUP_AFFINITY_DEFINED +#define ___GROUP_AFFINITY_DEFINED +typedef struct _GROUP_AFFINITY { + KAFFINITY Mask; + WORD Group; + WORD Reserved[3]; +} GROUP_AFFINITY, *PGROUP_AFFINITY; +#endif /* !___GROUP_AFFINITY_DEFINED */ + +typedef struct _GROUP_AFFINITY32 { + DWORD Mask; + WORD Group; + WORD Reserved[3]; +} GROUP_AFFINITY32, *PGROUP_AFFINITY32; + +typedef struct _GROUP_AFFINITY64 { + unsigned __int64 Mask; + WORD Group; + WORD Reserved[3]; +} GROUP_AFFINITY64, *PGROUP_AFFINITY64; + +#ifdef STRICT + typedef void *HANDLE; +#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name +#else +typedef PVOID HANDLE; +#define DECLARE_HANDLE(name) typedef HANDLE name +#endif + + typedef HANDLE *PHANDLE; + typedef BYTE FCHAR; + typedef WORD FSHORT; + typedef DWORD FLONG; + +#ifndef _HRESULT_DEFINED +#define _HRESULT_DEFINED + typedef LONG HRESULT; +#endif + +#ifdef __cplusplus +#define EXTERN_C extern "C" +#else +#define EXTERN_C extern +#endif + +/* Keep in sync with basetyps.h header. */ +#ifndef STDMETHODCALLTYPE +#define STDMETHODCALLTYPE WINAPI +#define STDMETHODVCALLTYPE __cdecl +#define STDAPICALLTYPE WINAPI +#define STDAPIVCALLTYPE __cdecl + +#define STDAPI EXTERN_C HRESULT WINAPI +#define STDAPI_(type) EXTERN_C type WINAPI + +#define STDMETHODIMP HRESULT WINAPI +#define STDMETHODIMP_(type) type WINAPI + +#define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE +#define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE + +#define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE +#define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE +#endif + +#define IFACEMETHODIMP STDMETHODIMP +#define IFACEMETHODIMP_(type) STDMETHODIMP_(type) +#define IFACEMETHODIMPV STDMETHODIMPV +#define IFACEMETHODIMPV_(type) STDMETHODIMPV_(type) + + typedef char CCHAR; +#ifndef _LCID_DEFINED +#define _LCID_DEFINED +typedef DWORD LCID; +#endif + typedef PDWORD PLCID; +#ifndef _LANGID_DEFINED +#define _LANGID_DEFINED + typedef WORD LANGID; +#endif + +#ifndef __COMPARTMENT_ID_DEFINED__ +#define __COMPARTMENT_ID_DEFINED__ + +typedef enum { + UNSPECIFIED_COMPARTMENT_ID = 0, + DEFAULT_COMPARTMENT_ID +} COMPARTMENT_ID,*PCOMPARTMENT_ID; +#endif + +#define APPLICATION_ERROR_MASK 0x20000000 +#define ERROR_SEVERITY_SUCCESS 0x00000000 +#define ERROR_SEVERITY_INFORMATIONAL 0x40000000 +#define ERROR_SEVERITY_WARNING 0x80000000 +#define ERROR_SEVERITY_ERROR 0xC0000000 + +#if defined (__ia64__) && !defined (__WIDL__) + __declspec(align(16)) +#endif + typedef struct _FLOAT128 { + __MINGW_EXTENSION __int64 LowPart; + __MINGW_EXTENSION __int64 HighPart; + } FLOAT128; + + typedef FLOAT128 *PFLOAT128; + +#define _ULONGLONG_ + __MINGW_EXTENSION typedef __int64 LONGLONG; + __MINGW_EXTENSION typedef unsigned __int64 ULONGLONG; + +#define MAXLONGLONG (0x7fffffffffffffffll) + + typedef LONGLONG *PLONGLONG; + typedef ULONGLONG *PULONGLONG; + typedef LONGLONG USN; + +#ifndef _LARGE_INTEGER_DEFINED +#define _LARGE_INTEGER_DEFINED + +#if defined (__WIDL__) +typedef struct _LARGE_INTEGER { +#else + typedef union _LARGE_INTEGER { + __C89_NAMELESS struct { + DWORD LowPart; + LONG HighPart; + } DUMMYSTRUCTNAME; + struct { + DWORD LowPart; + LONG HighPart; + } u; +#endif + LONGLONG QuadPart; + } LARGE_INTEGER; + + typedef LARGE_INTEGER *PLARGE_INTEGER; + +#if defined (__WIDL__) + typedef struct _ULARGE_INTEGER { +#else + typedef union _ULARGE_INTEGER { + __C89_NAMELESS struct { + DWORD LowPart; + DWORD HighPart; + } DUMMYSTRUCTNAME; + struct { + DWORD LowPart; + DWORD HighPart; + } u; +#endif + ULONGLONG QuadPart; + } ULARGE_INTEGER; + + typedef ULARGE_INTEGER *PULARGE_INTEGER; + +typedef LONG_PTR RTL_REFERENCE_COUNT, *PRTL_REFERENCE_COUNT; +typedef LONG RTL_REFERENCE_COUNT32, *PRTL_REFERENCE_COUNT32; + + typedef struct _LUID { + DWORD LowPart; + LONG HighPart; + } LUID,*PLUID; + +#endif /* _LARGE_INTEGER_DEFINED */ + +#define _DWORDLONG_ + typedef ULONGLONG DWORDLONG; + typedef DWORDLONG *PDWORDLONG; + +#define Int32x32To64(a, b) (((LONGLONG) ((LONG) (a))) * ((LONGLONG) ((LONG) (b)))) +#define UInt32x32To64(a, b) (((ULONGLONG) ((unsigned int) (a))) *((ULONGLONG) ((unsigned int) (b)))) +#define Int64ShllMod32(a, b) (((ULONGLONG) (a)) << (b)) +#define Int64ShraMod32(a, b) (((LONGLONG) (a)) >> (b)) +#define Int64ShrlMod32(a, b) (((ULONGLONG) (a)) >> (b)) + +#ifdef __cplusplus + extern "C" { +#endif + +#ifdef __x86_64 + +#define RotateLeft8 _rotl8 +#define RotateLeft16 _rotl16 +#define RotateRight8 _rotr8 +#define RotateRight16 _rotr16 + + unsigned char __cdecl _rotl8(unsigned char Value,unsigned char Shift); + unsigned short __cdecl _rotl16(unsigned short Value,unsigned char Shift); + unsigned char __cdecl _rotr8(unsigned char Value,unsigned char Shift); + unsigned short __cdecl _rotr16(unsigned short Value,unsigned char Shift); +#endif /* __x86_64 */ + +#define RotateLeft32 _rotl +#define RotateLeft64 _rotl64 +#define RotateRight32 _rotr +#define RotateRight64 _rotr64 + +#pragma push_macro ("_rotl") +#pragma push_macro ("_rotr") +#undef _rotl +#undef _rotr + unsigned int __cdecl _rotl(unsigned int Value,int Shift); + unsigned int __cdecl _rotr(unsigned int Value,int Shift); +#pragma pop_macro ("_rotr") +#pragma pop_macro ("_rotl") +#pragma push_macro ("_rotr64") +#pragma push_macro ("_rotl64") +#undef _rotl64 +#undef _rotr64 + __MINGW_EXTENSION unsigned __int64 __cdecl _rotl64(unsigned __int64 Value,int Shift); + __MINGW_EXTENSION unsigned __int64 __cdecl _rotr64(unsigned __int64 Value,int Shift); +#pragma pop_macro ("_rotl64") +#pragma pop_macro ("_rotr64") + +#ifdef __cplusplus + } +#endif + +#define ANSI_NULL ((CHAR)0) +#define UNICODE_NULL ((WCHAR)0) +#define UNICODE_STRING_MAX_BYTES ((WORD) 65534) +#define UNICODE_STRING_MAX_CHARS (32767) + +#ifndef _BOOLEAN_ +#define _BOOLEAN_ + typedef BYTE BOOLEAN; +#endif + typedef BOOLEAN *PBOOLEAN; + +#ifndef _LIST_ENTRY_DEFINED +#define _LIST_ENTRY_DEFINED + + typedef struct _LIST_ENTRY { + struct _LIST_ENTRY *Flink; + struct _LIST_ENTRY *Blink; + } LIST_ENTRY,*PLIST_ENTRY,*RESTRICTED_POINTER PRLIST_ENTRY; + + typedef struct _SINGLE_LIST_ENTRY { + struct _SINGLE_LIST_ENTRY *Next; + } SINGLE_LIST_ENTRY,*PSINGLE_LIST_ENTRY; + + typedef struct LIST_ENTRY32 { + DWORD Flink; + DWORD Blink; + } LIST_ENTRY32; + typedef LIST_ENTRY32 *PLIST_ENTRY32; + + typedef struct LIST_ENTRY64 { + ULONGLONG Flink; + ULONGLONG Blink; + } LIST_ENTRY64; + typedef LIST_ENTRY64 *PLIST_ENTRY64; + +#endif /* _LIST_ENTRY_DEFINED */ + +#include + +#ifndef __OBJECTID_DEFINED +#define __OBJECTID_DEFINED + typedef struct _OBJECTID { + GUID Lineage; + DWORD Uniquifier; + } OBJECTID; +#endif + +#define MINCHAR 0x80 +#define MAXCHAR 0x7f +#define MINSHORT 0x8000 +#define MAXSHORT 0x7fff +#define MINLONG 0x80000000 +#define MAXLONG 0x7fffffff +#define MAXBYTE 0xff +#define MAXWORD 0xffff +#define MAXDWORD 0xffffffff + +#define FIELD_OFFSET(Type, Field) ((LONG) __builtin_offsetof(Type, Field)) +#define RTL_FIELD_SIZE(type,field) (sizeof(((type *)0)->field)) +#define RTL_SIZEOF_THROUGH_FIELD(type,field) (FIELD_OFFSET(type,field) + RTL_FIELD_SIZE(type,field)) +#define RTL_CONTAINS_FIELD(Struct,Size,Field) ((((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size))) +#define RTL_NUMBER_OF_V1(A) (sizeof(A)/sizeof((A)[0])) +#define RTL_NUMBER_OF_V2(A) RTL_NUMBER_OF_V1(A) + +#ifdef ENABLE_RTL_NUMBER_OF_V2 +#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V2(A) +#else +#define RTL_NUMBER_OF(A) RTL_NUMBER_OF_V1(A) +#endif + +#define ARRAYSIZE(A) RTL_NUMBER_OF_V2(A) +#define _ARRAYSIZE(A) RTL_NUMBER_OF_V1(A) + +#define RTL_FIELD_TYPE(type,field) (((type*)0)->field) +#define RTL_NUMBER_OF_FIELD(type,field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type,field))) +#define RTL_PADDING_BETWEEN_FIELDS(T,F1,F2) ((FIELD_OFFSET(T,F2) > FIELD_OFFSET(T,F1)) ? (FIELD_OFFSET(T,F2) - FIELD_OFFSET(T,F1) - RTL_FIELD_SIZE(T,F1)) : (FIELD_OFFSET(T,F1) - FIELD_OFFSET(T,F2) - RTL_FIELD_SIZE(T,F2))) + +#ifdef __cplusplus +#define RTL_CONST_CAST(type) const_cast +#else +#define RTL_CONST_CAST(type) (type) +#endif + +#ifdef __cplusplus +#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) \ +extern "C++" { \ +__MINGW_CXX11_CONSTEXPR inline ENUMTYPE operator ~ (ENUMTYPE a) { return ENUMTYPE(~((int)a)); } \ +__MINGW_CXX11_CONSTEXPR inline ENUMTYPE operator | (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) | ((int)b)); } \ +__MINGW_CXX11_CONSTEXPR inline ENUMTYPE operator & (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) & ((int)b)); } \ +__MINGW_CXX11_CONSTEXPR inline ENUMTYPE operator ^ (ENUMTYPE a, ENUMTYPE b) { return ENUMTYPE(((int)a) ^ ((int)b)); } \ +__MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator |= (ENUMTYPE& a, ENUMTYPE b) { return a = a | b; } \ +__MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator &= (ENUMTYPE& a, ENUMTYPE b) { return a = a & b; } \ +__MINGW_CXX14_CONSTEXPR inline ENUMTYPE& operator ^= (ENUMTYPE& a, ENUMTYPE b) { return a = a ^ b; } \ +} +#else +#define DEFINE_ENUM_FLAG_OPERATORS(ENUMTYPE) /* */ +#endif + +#define COMPILETIME_OR_2FLAGS(a, b) ((UINT) (a) | (UINT) (b)) +#define COMPILETIME_OR_3FLAGS(a, b, c) ((UINT) (a) | (UINT) (b) | (UINT) (c)) +#define COMPILETIME_OR_4FLAGS(a, b, c, d) ((UINT) (a) | (UINT) (b) | (UINT) (c) | (UINT) (d)) +#define COMPILETIME_OR_5FLAGS(a, b, c, d, e) ((UINT) (a) | (UINT) (b) | (UINT) (c) | (UINT) (d) | (UINT) (e)) + + +#define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) +#define RTL_BITS_OF_FIELD(type,field) (RTL_BITS_OF(RTL_FIELD_TYPE(type,field))) +#define CONTAINING_RECORD(address,type,field) ((type *)((PCHAR)(address) - (ULONG_PTR)(&((type *)0)->field))) + + typedef EXCEPTION_DISPOSITION NTAPI EXCEPTION_ROUTINE (struct _EXCEPTION_RECORD *ExceptionRecord, PVOID EstablisherFrame, struct _CONTEXT *ContextRecord, PVOID DispatcherContext); +#ifndef __PEXCEPTION_ROUTINE_DEFINED +#define __PEXCEPTION_ROUTINE_DEFINED + typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; +#endif + +#define ENCLAVE_SHORT_ID_LENGTH 16 +#define ENCLAVE_LONG_ID_LENGTH 32 + +#define VER_WORKSTATION_NT 0x40000000 +#define VER_SERVER_NT 0x80000000 +#define VER_SUITE_SMALLBUSINESS 0x00000001 +#define VER_SUITE_ENTERPRISE 0x00000002 +#define VER_SUITE_BACKOFFICE 0x00000004 +#define VER_SUITE_COMMUNICATIONS 0x00000008 +#define VER_SUITE_TERMINAL 0x00000010 +#define VER_SUITE_SMALLBUSINESS_RESTRICTED 0x00000020 +#define VER_SUITE_EMBEDDEDNT 0x00000040 +#define VER_SUITE_DATACENTER 0x00000080 +#define VER_SUITE_SINGLEUSERTS 0x00000100 +#define VER_SUITE_PERSONAL 0x00000200 +#define VER_SUITE_BLADE 0x00000400 +#define VER_SUITE_EMBEDDED_RESTRICTED 0x00000800 +#define VER_SUITE_SECURITY_APPLIANCE 0x00001000 +#define VER_SUITE_STORAGE_SERVER 0x00002000 +#define VER_SUITE_COMPUTE_SERVER 0x00004000 +#define VER_SUITE_WH_SERVER 0x00008000 +#define VER_SUITE_MULTIUSERTS 0x00020000 + +#define PRODUCT_UNDEFINED 0x0 + +#define PRODUCT_ULTIMATE 0x1 +#define PRODUCT_HOME_BASIC 0x2 +#define PRODUCT_HOME_PREMIUM 0x3 +#define PRODUCT_ENTERPRISE 0x4 +#define PRODUCT_HOME_BASIC_N 0x5 +#define PRODUCT_BUSINESS 0x6 +#define PRODUCT_STANDARD_SERVER 0x7 +#define PRODUCT_DATACENTER_SERVER 0x8 +#define PRODUCT_SMALLBUSINESS_SERVER 0x9 +#define PRODUCT_ENTERPRISE_SERVER 0xa +#define PRODUCT_STARTER 0xb +#define PRODUCT_DATACENTER_SERVER_CORE 0xc +#define PRODUCT_STANDARD_SERVER_CORE 0xd +#define PRODUCT_ENTERPRISE_SERVER_CORE 0xe +#define PRODUCT_ENTERPRISE_SERVER_IA64 0xf +#define PRODUCT_BUSINESS_N 0x10 +#define PRODUCT_WEB_SERVER 0x11 +#define PRODUCT_CLUSTER_SERVER 0x12 +#define PRODUCT_HOME_SERVER 0x13 +#define PRODUCT_STORAGE_EXPRESS_SERVER 0x14 +#define PRODUCT_STORAGE_STANDARD_SERVER 0x15 +#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x16 +#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x17 +#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x18 +#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x19 +#define PRODUCT_HOME_PREMIUM_N 0x1a +#define PRODUCT_ENTERPRISE_N 0x1b +#define PRODUCT_ULTIMATE_N 0x1c +#define PRODUCT_WEB_SERVER_CORE 0x1d +#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x1e +#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x1f +#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x20 +#define PRODUCT_SERVER_FOUNDATION 0x21 +#define PRODUCT_HOME_PREMIUM_SERVER 0x22 +#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x23 +#define PRODUCT_STANDARD_SERVER_V 0x24 +#define PRODUCT_DATACENTER_SERVER_V 0x25 +#define PRODUCT_SERVER_V 0x25 +#define PRODUCT_ENTERPRISE_SERVER_V 0x26 +#define PRODUCT_DATACENTER_SERVER_CORE_V 0x27 +#define PRODUCT_STANDARD_SERVER_CORE_V 0x28 +#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x29 +#define PRODUCT_HYPERV 0x2a +#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x2b +#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x2c +#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x2d +#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x2e +#define PRODUCT_STARTER_N 0x2f +#define PRODUCT_PROFESSIONAL 0x30 +#define PRODUCT_PROFESSIONAL_N 0x31 +#define PRODUCT_SB_SOLUTION_SERVER 0x32 +#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x33 +#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x34 +#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x35 +#define PRODUCT_SB_SOLUTION_SERVER_EM 0x36 +#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x37 +#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x38 +#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x39 +#define PRODUCT_PROFESSIONAL_EMBEDDED 0x3A +#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x3B +#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x3C +#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x3D +#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x3E +#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x3f +#define PRODUCT_CLUSTER_SERVER_V 0x40 +#define PRODUCT_EMBEDDED 0x41 +#define PRODUCT_STARTER_E 0x42 +#define PRODUCT_HOME_BASIC_E 0x43 +#define PRODUCT_HOME_PREMIUM_E 0x44 +#define PRODUCT_PROFESSIONAL_E 0x45 +#define PRODUCT_ENTERPRISE_E 0x46 +#define PRODUCT_ULTIMATE_E 0x47 +#define PRODUCT_ENTERPRISE_EVALUATION 0x48 +#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x4C +#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x4D +#define PRODUCT_STANDARD_EVALUATION_SERVER 0x4F +#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x50 +#define PRODUCT_ENTERPRISE_N_EVALUATION 0x54 +#define PRODUCT_EMBEDDED_AUTOMOTIVE 0x55 +#define PRODUCT_EMBEDDED_INDUSTRY_A 0x56 +#define PRODUCT_THINPC 0x57 +#define PRODUCT_EMBEDDED_A 0x58 +#define PRODUCT_EMBEDDED_INDUSTRY 0x59 +#define PRODUCT_EMBEDDED_E 0x5A +#define PRODUCT_EMBEDDED_INDUSTRY_E 0x5B +#define PRODUCT_EMBEDDED_INDUSTRY_A_E 0x5C +#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x5F +#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x60 +#define PRODUCT_CORE_ARM 0x61 +#define PRODUCT_CORE_N 0x62 +#define PRODUCT_CORE_COUNTRYSPECIFIC 0x63 +#define PRODUCT_CORE_SINGLELANGUAGE 0x64 +#define PRODUCT_CORE_LANGUAGESPECIFIC 0x64 +#define PRODUCT_CORE 0x65 +#define PRODUCT_PROFESSIONAL_WMC 0x67 +#define PRODUCT_MOBILE_CORE 0x68 +#define PRODUCT_EMBEDDED_INDUSTRY_EVAL 0x69 +#define PRODUCT_EMBEDDED_INDUSTRY_E_EVAL 0x6A +#define PRODUCT_EMBEDDED_EVAL 0x6B +#define PRODUCT_EMBEDDED_E_EVAL 0x6C +#define PRODUCT_NANO_SERVER 0x6D +#define PRODUCT_CLOUD_STORAGE_SERVER 0x6E +#define PRODUCT_CORE_CONNECTED 0x6F +#define PRODUCT_PROFESSIONAL_STUDENT 0x70 +#define PRODUCT_CORE_CONNECTED_N 0x71 +#define PRODUCT_PROFESSIONAL_STUDENT_N 0x72 +#define PRODUCT_CORE_CONNECTED_SINGLELANGUAGE 0x73 +#define PRODUCT_CORE_CONNECTED_COUNTRYSPECIFIC 0x74 +#define PRODUCT_CONNECTED_CAR 0x75 +#define PRODUCT_INDUSTRY_HANDHELD 0x76 +#define PRODUCT_PPI_PRO 0x77 +#define PRODUCT_ARM64_SERVER 0x78 +#define PRODUCT_EDUCATION 0x79 +#define PRODUCT_EDUCATION_N 0x7a +#define PRODUCT_IOTUAP 0x7B +#define PRODUCT_CLOUD_HOST_INFRASTRUCTURE_SERVER 0x7C +#define PRODUCT_ENTERPRISE_S 0x7D +#define PRODUCT_ENTERPRISE_S_N 0x7E +#define PRODUCT_PROFESSIONAL_S 0x7F +#define PRODUCT_PROFESSIONAL_S_N 0x80 +#define PRODUCT_ENTERPRISE_S_EVALUATION 0x81 +#define PRODUCT_ENTERPRISE_S_N_EVALUATION 0x82 +#define PRODUCT_MOBILE_ENTERPRISE 0x85 +#define PRODUCT_HOLOGRAPHIC 0x87 +#define PRODUCT_HOLOGRAPHIC_BUSINESS 0x88 +#define PRODUCT_PRO_SINGLE_LANGUAGE 0x8A +#define PRODUCT_PRO_CHINA 0x8B +#define PRODUCT_ENTERPRISE_SUBSCRIPTION 0x8C +#define PRODUCT_ENTERPRISE_SUBSCRIPTION_N 0x8D +#define PRODUCT_DATACENTER_NANO_SERVER 0x8F +#define PRODUCT_STANDARD_NANO_SERVER 0x90 +#define PRODUCT_DATACENTER_A_SERVER_CORE 0x91 +#define PRODUCT_STANDARD_A_SERVER_CORE 0x92 +#define PRODUCT_DATACENTER_WS_SERVER_CORE 0x93 +#define PRODUCT_STANDARD_WS_SERVER_CORE 0x94 +#define PRODUCT_UTILITY_VM 0x95 +#define PRODUCT_DATACENTER_EVALUATION_SERVER_CORE 0x9F +#define PRODUCT_STANDARD_EVALUATION_SERVER_CORE 0xA0 +#define PRODUCT_PRO_WORKSTATION 0xA1 +#define PRODUCT_PRO_WORKSTATION_N 0xA2 +#define PRODUCT_PRO_FOR_EDUCATION 0xA4 +#define PRODUCT_PRO_FOR_EDUCATION_N 0xA5 +#define PRODUCT_AZURE_SERVER_CORE 0xA8 +#define PRODUCT_AZURE_NANO_SERVER 0xA9 +#define PRODUCT_ENTERPRISEG 0xAB +#define PRODUCT_ENTERPRISEGN 0xAC +#define PRODUCT_SERVERRDSH 0xAF +#define PRODUCT_CLOUD 0xB2 +#define PRODUCT_CLOUDN 0xB3 +#define PRODUCT_HUBOS 0xB4 +#define PRODUCT_ONECOREUPDATEOS 0xB6 +#define PRODUCT_CLOUDE 0xB7 +#define PRODUCT_IOTOS 0xB9 +#define PRODUCT_CLOUDEN 0xBA +#define PRODUCT_IOTEDGEOS 0xBB +#define PRODUCT_IOTENTERPRISE 0xBC +#define PRODUCT_LITE 0xBD +#define PRODUCT_IOTENTERPRISES 0xBF +#define PRODUCT_XBOX_SYSTEMOS 0xC0 +#define PRODUCT_XBOX_NATIVEOS 0xC1 +#define PRODUCT_XBOX_GAMEOS 0xC2 +#define PRODUCT_XBOX_ERAOS 0xC3 +#define PRODUCT_XBOX_DURANGOHOSTOS 0xC4 +#define PRODUCT_XBOX_SCARLETTHOSTOS 0xC5 +#define PRODUCT_XBOX_KEYSTONE 0xC6 +#define PRODUCT_AZURE_SERVER_CLOUDHOST 0xC7 +#define PRODUCT_AZURE_SERVER_CLOUDMOS 0xC8 +#define PRODUCT_CLOUDEDITIONN 0xCA +#define PRODUCT_CLOUDEDITION 0xCB +#define PRODUCT_VALIDATION 0xCC +#define PRODUCT_IOTENTERPRISESK 0xCD +#define PRODUCT_IOTENTERPRISEK 0xCE +#define PRODUCT_IOTENTERPRISESEVAL 0xCF +#define PRODUCT_AZURE_SERVER_AGENTBRIDGE 0xD0 +#define PRODUCT_AZURE_SERVER_NANOHOST 0xD1 +#define PRODUCT_WNC 0xD2 +#define PRODUCT_AZURESTACKHCI_SERVER_CORE 0x196 +#define PRODUCT_DATACENTER_SERVER_AZURE_EDITION 0x197 +#define PRODUCT_DATACENTER_SERVER_CORE_AZURE_EDITION 0x198 + +#define PRODUCT_UNLICENSED 0xabcdabcd + +#define LANG_NEUTRAL 0x00 +#define LANG_INVARIANT 0x7f + +#define LANG_AFRIKAANS 0x36 +#define LANG_ALBANIAN 0x1c +#define LANG_ALSATIAN 0x84 +#define LANG_AMHARIC 0x5e +#define LANG_ARABIC 0x01 +#define LANG_ARMENIAN 0x2b +#define LANG_ASSAMESE 0x4d +#define LANG_AZERI 0x2c +#define LANG_AZERBAIJANI 0x2c +#define LANG_BANGLA 0x45 +#define LANG_BASHKIR 0x6d +#define LANG_BASQUE 0x2d +#define LANG_BELARUSIAN 0x23 +#define LANG_BENGALI 0x45 +#define LANG_BRETON 0x7e +#define LANG_BOSNIAN 0x1a +#define LANG_BOSNIAN_NEUTRAL 0x781a +#define LANG_BULGARIAN 0x02 +#define LANG_CATALAN 0x03 +#define LANG_CENTRAL_KURDISH 0x92 +#define LANG_CHEROKEE 0x5c +#define LANG_CHINESE 0x04 +#define LANG_CHINESE_SIMPLIFIED 0x04 +#define LANG_CHINESE_TRADITIONAL 0x7c04 +#define LANG_CORSICAN 0x83 +#define LANG_CROATIAN 0x1a +#define LANG_CZECH 0x05 +#define LANG_DANISH 0x06 +#define LANG_DARI 0x8c +#define LANG_DIVEHI 0x65 +#define LANG_DUTCH 0x13 +#define LANG_ENGLISH 0x09 +#define LANG_ESTONIAN 0x25 +#define LANG_FAEROESE 0x38 +#define LANG_FARSI 0x29 +#define LANG_FILIPINO 0x64 +#define LANG_FINNISH 0x0b +#define LANG_FRENCH 0x0c +#define LANG_FRISIAN 0x62 +#define LANG_FULAH 0x67 +#define LANG_GALICIAN 0x56 +#define LANG_GEORGIAN 0x37 +#define LANG_GERMAN 0x07 +#define LANG_GREEK 0x08 +#define LANG_GREENLANDIC 0x6f +#define LANG_GUJARATI 0x47 +#define LANG_HAUSA 0x68 +#define LANG_HAWAIIAN 0x75 +#define LANG_HEBREW 0x0d +#define LANG_HINDI 0x39 +#define LANG_HUNGARIAN 0x0e +#define LANG_ICELANDIC 0x0f +#define LANG_IGBO 0x70 +#define LANG_INDONESIAN 0x21 +#define LANG_INUKTITUT 0x5d +#define LANG_IRISH 0x3c +#define LANG_ITALIAN 0x10 +#define LANG_JAPANESE 0x11 +#define LANG_KANNADA 0x4b +#define LANG_KASHMIRI 0x60 +#define LANG_KAZAK 0x3f +#define LANG_KHMER 0x53 +#define LANG_KICHE 0x86 +#define LANG_KINYARWANDA 0x87 +#define LANG_KONKANI 0x57 +#define LANG_KOREAN 0x12 +#define LANG_KYRGYZ 0x40 +#define LANG_LAO 0x54 +#define LANG_LATVIAN 0x26 +#define LANG_LITHUANIAN 0x27 +#define LANG_LOWER_SORBIAN 0x2e +#define LANG_LUXEMBOURGISH 0x6e +#define LANG_MACEDONIAN 0x2f +#define LANG_MALAY 0x3e +#define LANG_MALAYALAM 0x4c +#define LANG_MALTESE 0x3a +#define LANG_MANIPURI 0x58 +#define LANG_MAORI 0x81 +#define LANG_MAPUDUNGUN 0x7a +#define LANG_MARATHI 0x4e +#define LANG_MOHAWK 0x7c +#define LANG_MONGOLIAN 0x50 +#define LANG_NEPALI 0x61 +#define LANG_NORWEGIAN 0x14 +#define LANG_OCCITAN 0x82 +#define LANG_ODIA 0x48 +#define LANG_ORIYA 0x48 +#define LANG_PASHTO 0x63 +#define LANG_PERSIAN 0x29 +#define LANG_POLISH 0x15 +#define LANG_PORTUGUESE 0x16 +#define LANG_PULAR 0x67 +#define LANG_PUNJABI 0x46 +#define LANG_QUECHUA 0x6b +#define LANG_ROMANIAN 0x18 +#define LANG_ROMANSH 0x17 +#define LANG_RUSSIAN 0x19 +#define LANG_SAKHA 0x85 +#define LANG_SAMI 0x3b +#define LANG_SANSKRIT 0x4f +#define LANG_SCOTTISH_GAELIC 0x91 +#define LANG_SERBIAN 0x1a +#define LANG_SERBIAN_NEUTRAL 0x7c1a +#define LANG_SINDHI 0x59 +#define LANG_SINHALESE 0x5b +#define LANG_SLOVAK 0x1b +#define LANG_SLOVENIAN 0x24 +#define LANG_SOTHO 0x6c +#define LANG_SPANISH 0x0a +#define LANG_SWAHILI 0x41 +#define LANG_SWEDISH 0x1d +#define LANG_SYRIAC 0x5a +#define LANG_TAJIK 0x28 +#define LANG_TAMAZIGHT 0x5f +#define LANG_TAMIL 0x49 +#define LANG_TATAR 0x44 +#define LANG_TELUGU 0x4a +#define LANG_THAI 0x1e +#define LANG_TIBETAN 0x51 +#define LANG_TIGRIGNA 0x73 +#define LANG_TIGRINYA 0x73 +#define LANG_TSWANA 0x32 +#define LANG_TURKISH 0x1f +#define LANG_TURKMEN 0x42 +#define LANG_UIGHUR 0x80 +#define LANG_UKRAINIAN 0x22 +#define LANG_UPPER_SORBIAN 0x2e +#define LANG_URDU 0x20 +#define LANG_UZBEK 0x43 +#define LANG_VALENCIAN 0x03 +#define LANG_VIETNAMESE 0x2a +#define LANG_WELSH 0x52 +#define LANG_WOLOF 0x88 +#define LANG_XHOSA 0x34 +#define LANG_YAKUT 0x85 +#define LANG_YI 0x78 +#define LANG_YORUBA 0x6a +#define LANG_ZULU 0x35 + +#define SUBLANG_NEUTRAL 0x00 +#define SUBLANG_DEFAULT 0x01 +#define SUBLANG_SYS_DEFAULT 0x02 +#define SUBLANG_CUSTOM_DEFAULT 0x03 +#define SUBLANG_CUSTOM_UNSPECIFIED 0x04 +#define SUBLANG_UI_CUSTOM_DEFAULT 0x05 + +#define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 +#define SUBLANG_ALBANIAN_ALBANIA 0x01 +#define SUBLANG_ALSATIAN_FRANCE 0x01 +#define SUBLANG_AMHARIC_ETHIOPIA 0x01 +#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +#define SUBLANG_ARABIC_IRAQ 0x02 +#define SUBLANG_ARABIC_EGYPT 0x03 +#define SUBLANG_ARABIC_LIBYA 0x04 +#define SUBLANG_ARABIC_ALGERIA 0x05 +#define SUBLANG_ARABIC_MOROCCO 0x06 +#define SUBLANG_ARABIC_TUNISIA 0x07 +#define SUBLANG_ARABIC_OMAN 0x08 +#define SUBLANG_ARABIC_YEMEN 0x09 +#define SUBLANG_ARABIC_SYRIA 0x0a +#define SUBLANG_ARABIC_JORDAN 0x0b +#define SUBLANG_ARABIC_LEBANON 0x0c +#define SUBLANG_ARABIC_KUWAIT 0x0d +#define SUBLANG_ARABIC_UAE 0x0e +#define SUBLANG_ARABIC_BAHRAIN 0x0f +#define SUBLANG_ARABIC_QATAR 0x10 +#define SUBLANG_ARMENIAN_ARMENIA 0x01 +#define SUBLANG_ASSAMESE_INDIA 0x01 +#define SUBLANG_AZERI_LATIN 0x01 +#define SUBLANG_AZERI_CYRILLIC 0x02 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02 +#define SUBLANG_BANGLA_INDIA 0x01 +#define SUBLANG_BANGLA_BANGLADESH 0x02 +#define SUBLANG_BASHKIR_RUSSIA 0x01 +#define SUBLANG_BASQUE_BASQUE 0x01 +#define SUBLANG_BELARUSIAN_BELARUS 0x01 +#define SUBLANG_BENGALI_INDIA 0x01 +#define SUBLANG_BENGALI_BANGLADESH 0x02 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 +#define SUBLANG_BRETON_FRANCE 0x01 +#define SUBLANG_BULGARIAN_BULGARIA 0x01 +#define SUBLANG_CATALAN_CATALAN 0x01 +#define SUBLANG_CENTRAL_KURDISH_IRAQ 0x01 +#define SUBLANG_CHEROKEE_CHEROKEE 0x01 +#define SUBLANG_CHINESE_TRADITIONAL 0x01 +#define SUBLANG_CHINESE_SIMPLIFIED 0x02 +#define SUBLANG_CHINESE_HONGKONG 0x03 +#define SUBLANG_CHINESE_SINGAPORE 0x04 +#define SUBLANG_CHINESE_MACAU 0x05 +#define SUBLANG_CORSICAN_FRANCE 0x01 +#define SUBLANG_CZECH_CZECH_REPUBLIC 0x01 +#define SUBLANG_CROATIAN_CROATIA 0x01 +#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 +#define SUBLANG_DANISH_DENMARK 0x01 +#define SUBLANG_DARI_AFGHANISTAN 0x01 +#define SUBLANG_DIVEHI_MALDIVES 0x01 +#define SUBLANG_DUTCH 0x01 +#define SUBLANG_DUTCH_BELGIAN 0x02 +#define SUBLANG_ENGLISH_US 0x01 +#define SUBLANG_ENGLISH_UK 0x02 +#define SUBLANG_ENGLISH_AUS 0x03 +#define SUBLANG_ENGLISH_CAN 0x04 +#define SUBLANG_ENGLISH_NZ 0x05 +#define SUBLANG_ENGLISH_IRELAND 0x06 +#define SUBLANG_ENGLISH_EIRE 0x06 +#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +#define SUBLANG_ENGLISH_JAMAICA 0x08 +#define SUBLANG_ENGLISH_CARIBBEAN 0x09 +#define SUBLANG_ENGLISH_BELIZE 0x0a +#define SUBLANG_ENGLISH_TRINIDAD 0x0b +#define SUBLANG_ENGLISH_ZIMBABWE 0x0c +#define SUBLANG_ENGLISH_PHILIPPINES 0x0d +#define SUBLANG_ENGLISH_INDIA 0x10 +#define SUBLANG_ENGLISH_MALAYSIA 0x11 +#define SUBLANG_ENGLISH_SINGAPORE 0x12 +#define SUBLANG_ESTONIAN_ESTONIA 0x01 +#define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 +#define SUBLANG_FILIPINO_PHILIPPINES 0x01 +#define SUBLANG_FINNISH_FINLAND 0x01 +#define SUBLANG_FRENCH 0x01 +#define SUBLANG_FRENCH_BELGIAN 0x02 +#define SUBLANG_FRENCH_CANADIAN 0x03 +#define SUBLANG_FRENCH_SWISS 0x04 +#define SUBLANG_FRENCH_LUXEMBOURG 0x05 +#define SUBLANG_FRENCH_MONACO 0x06 +#define SUBLANG_FRISIAN_NETHERLANDS 0x01 +#define SUBLANG_FULAH_SENEGAL 0x02 +#define SUBLANG_GALICIAN_GALICIAN 0x01 +#define SUBLANG_GEORGIAN_GEORGIA 0x01 +#define SUBLANG_GERMAN 0x01 +#define SUBLANG_GERMAN_SWISS 0x02 +#define SUBLANG_GERMAN_AUSTRIAN 0x03 +#define SUBLANG_GERMAN_LUXEMBOURG 0x04 +#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +#define SUBLANG_GREEK_GREECE 0x01 +#define SUBLANG_GREENLANDIC_GREENLAND 0x01 +#define SUBLANG_GUJARATI_INDIA 0x01 +#define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 +#define SUBLANG_HAUSA_NIGERIA SUBLANG_HAUSA_NIGERIA_LATIN /* SUBLANG_HAUSA_NIGERIA_LATIN is what MS defines */ +#define SUBLANG_HAWAIIAN_US 0x01 +#define SUBLANG_HEBREW_ISRAEL 0x01 +#define SUBLANG_HINDI_INDIA 0x01 +#define SUBLANG_HUNGARIAN_HUNGARY 0x01 +#define SUBLANG_ICELANDIC_ICELAND 0x01 +#define SUBLANG_IGBO_NIGERIA 0x01 +#define SUBLANG_INDONESIAN_INDONESIA 0x01 +#define SUBLANG_INUKTITUT_CANADA 0x01 +#define SUBLANG_INUKTITUT_CANADA_LATIN 0x02 +#define SUBLANG_IRISH_IRELAND 0x02 +#define SUBLANG_ITALIAN 0x01 +#define SUBLANG_ITALIAN_SWISS 0x02 +#define SUBLANG_JAPANESE_JAPAN 0x01 +#define SUBLANG_KANNADA_INDIA 0x01 +#define SUBLANG_KASHMIRI_INDIA 0x02 +#define SUBLANG_KASHMIRI_SASIA 0x02 +#define SUBLANG_KAZAK_KAZAKHSTAN 0x01 +#define SUBLANG_KHMER_CAMBODIA 0x01 +#define SUBLANG_KICHE_GUATEMALA 0x01 +#define SUBLANG_KINYARWANDA_RWANDA 0x01 +#define SUBLANG_KONKANI_INDIA 0x01 +#define SUBLANG_KOREAN 0x01 +#define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 +#define SUBLANG_LAO_LAO 0x01 +#define SUBLANG_LAO_LAO_PDR SUBLANG_LAO_LAO /* SUBLANG_LAO_LAO is what MS defines */ +#define SUBLANG_LATVIAN_LATVIA 0x01 +#if (WINVER >= 0x0600) +#define SUBLANG_LITHUANIAN_LITHUANIA 0x01 +#endif /* WINVER >= 0x0600 */ +#define SUBLANG_LITHUANIAN 0x01 +#define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 +#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 +#define SUBLANG_MACEDONIAN_MACEDONIA 0x01 +#define SUBLANG_MALAY_MALAYSIA 0x01 +#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +#define SUBLANG_MALAYALAM_INDIA 0x01 +#define SUBLANG_MALTESE_MALTA 0x01 +#define SUBLANG_MAORI_NEW_ZEALAND 0x01 +#define SUBLANG_MAPUDUNGUN_CHILE 0x01 +#define SUBLANG_MARATHI_INDIA 0x01 +#define SUBLANG_MOHAWK_MOHAWK 0x01 +#define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 +#define SUBLANG_MONGOLIAN_PRC 0x02 +#define SUBLANG_NEPALI_NEPAL 0x01 +#define SUBLANG_NEPALI_INDIA 0x02 +#define SUBLANG_NORWEGIAN_BOKMAL 0x01 +#define SUBLANG_NORWEGIAN_NYNORSK 0x02 +#define SUBLANG_OCCITAN_FRANCE 0x01 +#define SUBLANG_ODIA_INDIA 0x01 +#define SUBLANG_ORIYA_INDIA 0x01 +#define SUBLANG_PASHTO_AFGHANISTAN 0x01 +#define SUBLANG_PERSIAN_IRAN 0x01 +#define SUBLANG_POLISH_POLAND 0x01 +#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 +#if (WINVER >= 0x0600) +#define SUBLANG_PORTUGUESE_PORTUGAL 0x02 +#endif /* WINVER >= 0x0600 */ +#define SUBLANG_PORTUGUESE 0x02 +#define SUBLANG_PULAR_SENEGAL 0x02 +#define SUBLANG_PUNJABI_INDIA 0x01 +#define SUBLANG_PUNJABI_PAKISTAN 0x02 +#define SUBLANG_QUECHUA_BOLIVIA 0x01 +#define SUBLANG_QUECHUA_ECUADOR 0x02 +#define SUBLANG_QUECHUA_PERU 0x03 +#define SUBLANG_ROMANIAN_ROMANIA 0x01 +/* ??? #define SUBLANG_ROMANIAN_MOLDOVA 0x01 ??? */ +#define SUBLANG_ROMANSH_SWITZERLAND 0x01 +#define SUBLANG_RUSSIAN_RUSSIA 0x01 +#define SUBLANG_SAKHA_RUSSIA 0x01 +#define SUBLANG_SAMI_NORTHERN_NORWAY 0x01 +#define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 +#define SUBLANG_SAMI_NORTHERN_FINLAND 0x03 +#define SUBLANG_SAMI_LULE_NORWAY 0x04 +#define SUBLANG_SAMI_LULE_SWEDEN 0x05 +#define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 +#define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 +#define SUBLANG_SAMI_SKOLT_FINLAND 0x08 +#define SUBLANG_SAMI_INARI_FINLAND 0x09 +#define SUBLANG_SANSKRIT_INDIA 0x01 +#define SUBLANG_SCOTTISH_GAELIC 0x01 +#define SUBLANG_SERBIAN_LATIN 0x02 +#define SUBLANG_SERBIAN_CYRILLIC 0x03 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 +#define SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b +#define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c +#define SUBLANG_SERBIAN_SERBIA_LATIN 0x09 +#define SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a +#define SUBLANG_SERBIAN_CROATIA 0x01 +#define SUBLANG_SINDHI_INDIA 0x01 +#define SUBLANG_SINDHI_AFGHANISTAN 0x02 +#define SUBLANG_SINDHI_PAKISTAN 0x02 +#define SUBLANG_SINHALESE_SRI_LANKA 0x01 +#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01 +#define SUBLANG_SLOVAK_SLOVAKIA 0x01 +#define SUBLANG_SLOVENIAN_SLOVENIA 0x01 +#define SUBLANG_SPANISH 0x01 +#define SUBLANG_SPANISH_MEXICAN 0x02 +#define SUBLANG_SPANISH_MODERN 0x03 +#define SUBLANG_SPANISH_GUATEMALA 0x04 +#define SUBLANG_SPANISH_COSTA_RICA 0x05 +#define SUBLANG_SPANISH_PANAMA 0x06 +#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +#define SUBLANG_SPANISH_VENEZUELA 0x08 +#define SUBLANG_SPANISH_COLOMBIA 0x09 +#define SUBLANG_SPANISH_PERU 0x0a +#define SUBLANG_SPANISH_ARGENTINA 0x0b +#define SUBLANG_SPANISH_ECUADOR 0x0c +#define SUBLANG_SPANISH_CHILE 0x0d +#define SUBLANG_SPANISH_URUGUAY 0x0e +#define SUBLANG_SPANISH_PARAGUAY 0x0f +#define SUBLANG_SPANISH_BOLIVIA 0x10 +#define SUBLANG_SPANISH_EL_SALVADOR 0x11 +#define SUBLANG_SPANISH_HONDURAS 0x12 +#define SUBLANG_SPANISH_NICARAGUA 0x13 +#define SUBLANG_SPANISH_PUERTO_RICO 0x14 +#define SUBLANG_SPANISH_US 0x15 +#define SUBLANG_SWAHILI_KENYA 0x01 +#if (WINVER >= 0x0600) +#define SUBLANG_SWEDISH_SWEDEN 0x01 +#endif /* WINVER >= 0x0600 */ +#define SUBLANG_SWEDISH 0x01 +#define SUBLANG_SWEDISH_FINLAND 0x02 +#define SUBLANG_SYRIAC 0x01 +#define SUBLANG_SYRIAC_SYRIA SUBLANG_SYRIAC /* SUBLANG_SYRIAC_SYRIA is what MSDN mentions */ +#define SUBLANG_TAJIK_TAJIKISTAN 0x01 +#define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 +#define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 +#define SUBLANG_TAMIL_INDIA 0x01 +#define SUBLANG_TAMIL_SRI_LANKA 0x02 +#define SUBLANG_TATAR_RUSSIA 0x01 +#define SUBLANG_TELUGU_INDIA 0x01 +#define SUBLANG_THAI_THAILAND 0x01 +#define SUBLANG_TIBETAN_PRC 0x01 +#define SUBLANG_TIBETAN_BHUTAN 0x02 +#define SUBLANG_TIGRIGNA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ETHIOPIA 0x01 +#define SUBLANG_TSWANA_BOTSWANA 0x02 +#define SUBLANG_TSWANA_SOUTH_AFRICA 0x01 +#define SUBLANG_TURKISH_TURKEY 0x01 +#define SUBLANG_TURKMEN_TURKMENISTAN 0x01 +#define SUBLANG_UIGHUR_PRC 0x01 +#define SUBLANG_UKRAINIAN_UKRAINE 0x01 +#define SUBLANG_UPPER_SORBIAN_GERMANY 0x01 +#define SUBLANG_URDU_PAKISTAN 0x01 +#define SUBLANG_URDU_INDIA 0x02 +#define SUBLANG_UZBEK_LATIN 0x01 +#define SUBLANG_UZBEK_CYRILLIC 0x02 +#define SUBLANG_VALENCIAN_VALENCIA 0x02 +#define SUBLANG_VIETNAMESE_VIETNAM 0x01 +#define SUBLANG_WELSH_UNITED_KINGDOM 0x01 +#define SUBLANG_WOLOF_SENEGAL 0x01 +#define SUBLANG_YORUBA_NIGERIA 0x01 +#define SUBLANG_XHOSA_SOUTH_AFRICA 0x01 +#define SUBLANG_YAKUT_RUSSIA 0x01 +#define SUBLANG_YI_PRC 0x01 +#define SUBLANG_ZULU_SOUTH_AFRICA 0x01 + +#define SORT_DEFAULT 0x0 +#define SORT_INVARIANT_MATH 0x1 + +#define SORT_JAPANESE_XJIS 0x0 +#define SORT_JAPANESE_UNICODE 0x1 +#define SORT_JAPANESE_RADICALSTROKE 0x4 + +#define SORT_CHINESE_BIG5 0x0 +#define SORT_CHINESE_PRCP 0x0 +#define SORT_CHINESE_UNICODE 0x1 +#define SORT_CHINESE_PRC 0x2 +#define SORT_CHINESE_BOPOMOFO 0x3 +#define SORT_CHINESE_RADICALSTROKE 0x4 + +#define SORT_KOREAN_KSC 0x0 +#define SORT_KOREAN_UNICODE 0x1 + +#define SORT_GERMAN_PHONE_BOOK 0x1 + +#define SORT_HUNGARIAN_DEFAULT 0x0 +#define SORT_HUNGARIAN_TECHNICAL 0x1 + +#define SORT_GEORGIAN_TRADITIONAL 0x0 +#define SORT_GEORGIAN_MODERN 0x1 + +#define MAKELANGID(p,s) ((((WORD)(s)) << 10) | (WORD)(p)) +#define PRIMARYLANGID(lgid) ((WORD)(lgid) & 0x3ff) +#define SUBLANGID(lgid) ((WORD)(lgid) >> 10) + +#define NLS_VALID_LOCALE_MASK 0x000fffff + +#define MAKELCID(lgid,srtid) ((DWORD)((((DWORD)((WORD)(srtid))) << 16) | ((DWORD)((WORD)(lgid))))) +#define MAKESORTLCID(lgid,srtid,ver) ((DWORD)((MAKELCID(lgid,srtid)) | (((DWORD)((WORD)(ver))) << 20))) +#define LANGIDFROMLCID(lcid) ((WORD)(lcid)) +#define SORTIDFROMLCID(lcid) ((WORD)((((DWORD)(lcid)) >> 16) & 0xf)) +#define SORTVERSIONFROMLCID(lcid) ((WORD)((((DWORD)(lcid)) >> 20) & 0xf)) + +#define LOCALE_NAME_MAX_LENGTH 85 +#define LANG_SYSTEM_DEFAULT (MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT)) +#define LANG_USER_DEFAULT (MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT)) + +#define LOCALE_SYSTEM_DEFAULT (MAKELCID(LANG_SYSTEM_DEFAULT,SORT_DEFAULT)) +#define LOCALE_USER_DEFAULT (MAKELCID(LANG_USER_DEFAULT,SORT_DEFAULT)) + +#define LOCALE_NEUTRAL (MAKELCID(MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL),SORT_DEFAULT)) + +#define LOCALE_CUSTOM_DEFAULT (MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_DEFAULT), SORT_DEFAULT)) +#define LOCALE_CUSTOM_UNSPECIFIED (MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_CUSTOM_UNSPECIFIED), SORT_DEFAULT)) +#define LOCALE_CUSTOM_UI_DEFAULT (MAKELCID(MAKELANGID(LANG_NEUTRAL, SUBLANG_UI_CUSTOM_DEFAULT), SORT_DEFAULT)) + +#define LOCALE_INVARIANT (MAKELCID(MAKELANGID(LANG_INVARIANT,SUBLANG_NEUTRAL),SORT_DEFAULT)) + +#define LOCALE_TRANSIENT_KEYBOARD1 0x2000 +#define LOCALE_TRANSIENT_KEYBOARD2 0x2400 +#define LOCALE_TRANSIENT_KEYBOARD3 0x2800 +#define LOCALE_TRANSIENT_KEYBOARD4 0x2c00 + +#define LOCALE_UNASSIGNED_LCID LOCALE_CUSTOM_UNSPECIFIED + +#define UNREFERENCED_PARAMETER(P) {(P) = (P);} +#define UNREFERENCED_LOCAL_VARIABLE(V) {(V) = (V);} +#define DBG_UNREFERENCED_PARAMETER(P) (P) +#define DBG_UNREFERENCED_LOCAL_VARIABLE(V) (V) + +#define DEFAULT_UNREACHABLE + +#ifndef UMDF_USING_NTSTATUS +#ifndef WIN32_NO_STATUS +#define STATUS_WAIT_0 ((DWORD)0x00000000) +#define STATUS_ABANDONED_WAIT_0 ((DWORD)0x00000080) +#define STATUS_USER_APC ((DWORD)0x000000C0) +#define STATUS_TIMEOUT ((DWORD)0x00000102) +#define STATUS_PENDING ((DWORD)0x00000103) +#define DBG_EXCEPTION_HANDLED ((DWORD)0x00010001) +#define DBG_CONTINUE ((DWORD)0x00010002) +#define STATUS_SEGMENT_NOTIFICATION ((DWORD)0x40000005) +#define STATUS_FATAL_APP_EXIT ((DWORD)0x40000015) +#define DBG_REPLY_LATER ((DWORD)0x40010001) +#define DBG_TERMINATE_THREAD ((DWORD)0x40010003) +#define DBG_TERMINATE_PROCESS ((DWORD)0x40010004) +#define DBG_CONTROL_C ((DWORD)0x40010005) +#define DBG_PRINTEXCEPTION_C ((DWORD)0x40010006) +#define DBG_RIPEXCEPTION ((DWORD)0x40010007) +#define DBG_CONTROL_BREAK ((DWORD)0x40010008) +#define DBG_COMMAND_EXCEPTION ((DWORD)0x40010009) +#define DBG_PRINTEXCEPTION_WIDE_C ((DWORD)0x4001000A) +#define STATUS_GUARD_PAGE_VIOLATION ((DWORD)0x80000001) +#define STATUS_DATATYPE_MISALIGNMENT ((DWORD)0x80000002) +#define STATUS_BREAKPOINT ((DWORD)0x80000003) +#define STATUS_SINGLE_STEP ((DWORD)0x80000004) +#define STATUS_LONGJUMP ((DWORD)0x80000026) +#define STATUS_UNWIND_CONSOLIDATE ((DWORD)0x80000029) +#define DBG_EXCEPTION_NOT_HANDLED ((DWORD)0x80010001) +#define STATUS_ACCESS_VIOLATION ((DWORD)0xC0000005) +#define STATUS_IN_PAGE_ERROR ((DWORD)0xC0000006) +#define STATUS_INVALID_HANDLE ((DWORD)0xC0000008) +#define STATUS_INVALID_PARAMETER ((DWORD)0xC000000D) +#define STATUS_NO_MEMORY ((DWORD)0xC0000017) +#define STATUS_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D) +#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025) +#define STATUS_INVALID_DISPOSITION ((DWORD)0xC0000026) +#define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C) +#define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD)0xC000008D) +#define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD)0xC000008E) +#define STATUS_FLOAT_INEXACT_RESULT ((DWORD)0xC000008F) +#define STATUS_FLOAT_INVALID_OPERATION ((DWORD)0xC0000090) +#define STATUS_FLOAT_OVERFLOW ((DWORD)0xC0000091) +#define STATUS_FLOAT_STACK_CHECK ((DWORD)0xC0000092) +#define STATUS_FLOAT_UNDERFLOW ((DWORD)0xC0000093) +#define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD)0xC0000094) +#define STATUS_INTEGER_OVERFLOW ((DWORD)0xC0000095) +#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD)0xC0000096) +#define STATUS_STACK_OVERFLOW ((DWORD)0xC00000FD) +#define STATUS_DLL_NOT_FOUND ((DWORD)0xC0000135) +#define STATUS_ORDINAL_NOT_FOUND ((DWORD)0xC0000138) +#define STATUS_ENTRYPOINT_NOT_FOUND ((DWORD)0xC0000139) +#define STATUS_CONTROL_C_EXIT ((DWORD)0xC000013A) +#define STATUS_DLL_INIT_FAILED ((DWORD)0xC0000142) +#define STATUS_CONTROL_STACK_VIOLATION ((DWORD)0xC00001B2) +#define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD)0xC00002B4) +#define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD)0xC00002B5) +#define STATUS_REG_NAT_CONSUMPTION ((DWORD)0xC00002C9) +#define STATUS_HEAP_CORRUPTION ((DWORD)0xC0000374) +#define STATUS_STACK_BUFFER_OVERRUN ((DWORD)0xC0000409) +#define STATUS_INVALID_CRUNTIME_PARAMETER ((DWORD)0xC0000417) +#define STATUS_ASSERTION_FAILURE ((DWORD)0xC0000420) +#define STATUS_ENCLAVE_VIOLATION ((DWORD)0xC00004A2) +#define STATUS_INTERRUPTED ((DWORD)0xC0000515) +#define STATUS_THREAD_NOT_RUNNING ((DWORD)0xC0000516) +#define STATUS_ALREADY_REGISTERED ((DWORD)0xC0000718) + +#define STATUS_SXS_EARLY_DEACTIVATION ((DWORD)0xC015000F) +#define STATUS_SXS_INVALID_DEACTIVATION ((DWORD)0xC0150010) +#endif +#endif + +#define MAXIMUM_WAIT_OBJECTS 64 +#define MAXIMUM_SUSPEND_COUNT MAXCHAR + + typedef ULONG_PTR KSPIN_LOCK; + typedef KSPIN_LOCK *PKSPIN_LOCK; + + typedef struct DECLSPEC_ALIGN (16) _M128A { + ULONGLONG Low; + LONGLONG High; + } M128A,*PM128A; + + typedef struct DECLSPEC_ALIGN (16) _XSAVE_FORMAT { + WORD ControlWord; + WORD StatusWord; + BYTE TagWord; + BYTE Reserved1; + WORD ErrorOpcode; + DWORD ErrorOffset; + WORD ErrorSelector; + WORD Reserved2; + DWORD DataOffset; + WORD DataSelector; + WORD Reserved3; + DWORD MxCsr; + DWORD MxCsr_Mask; + M128A FloatRegisters[8]; +#ifdef _WIN64 + M128A XmmRegisters[16]; + BYTE Reserved4[96]; +#else + M128A XmmRegisters[8]; + BYTE Reserved4[220]; + DWORD Cr0NpxState; +#endif + } XSAVE_FORMAT,*PXSAVE_FORMAT; + + typedef struct _XSAVE_CET_U_FORMAT { + DWORD64 Ia32CetUMsr; + DWORD64 Ia32Pl3SspMsr; + } XSAVE_CET_U_FORMAT, *PXSAVE_CET_U_FORMAT; + + typedef struct _XSAVE_ARM64_SVE_HEADER { + DWORD VectorLength; + DWORD VectorRegisterOffset; + DWORD PredicateRegisterOffset; + DWORD Reserved[5]; + } XSAVE_ARM64_SVE_HEADER, *PXSAVE_ARM64_SVE_HEADER; + + typedef struct DECLSPEC_ALIGN (8) _XSAVE_AREA_HEADER { + DWORD64 Mask; + DWORD64 Reserved[7]; + } XSAVE_AREA_HEADER,*PXSAVE_AREA_HEADER; + + typedef struct DECLSPEC_ALIGN (16) _XSAVE_AREA { + XSAVE_FORMAT LegacyState; + XSAVE_AREA_HEADER Header; + } XSAVE_AREA,*PXSAVE_AREA; + +#define XSTATE_CONTEXT_FLAG_LOOKASIDE 0x1 + + typedef struct _XSTATE_CONTEXT { + DWORD64 Mask; + DWORD Length; + BYTE Flags; + BYTE Reserved0[3]; + PXSAVE_AREA Area; +#if defined (__i386__) + DWORD Reserved2; +#endif + PVOID Buffer; +#if defined (__i386__) + DWORD Reserved3; +#endif + } XSTATE_CONTEXT,*PXSTATE_CONTEXT; + + typedef struct _KERNEL_CET_CONTEXT { + DWORD64 Ssp; + DWORD64 Rip; + WORD SegCs; + __C89_NAMELESS union { + WORD AllFlags; + __C89_NAMELESS struct { + WORD UseWrss : 1; + WORD PopShadowStackOne : 1; + WORD Unused : 14; + }; + }; + WORD Fill[2]; + } KERNEL_CET_CONTEXT, *PKERNEL_CET_CONTEXT; + + typedef struct _SCOPE_TABLE_AMD64 { + DWORD Count; + struct { + DWORD BeginAddress; + DWORD EndAddress; + DWORD HandlerAddress; + DWORD JumpTarget; + } ScopeRecord[1]; + } SCOPE_TABLE_AMD64,*PSCOPE_TABLE_AMD64; + +#ifdef _AMD64_ + +#if defined(__x86_64) && !defined(__arm64ec__) && !defined(RC_INVOKED) + +#ifdef __cplusplus + extern "C" { +#endif + +#define BitTest _bittest +#define BitTestAndComplement _bittestandcomplement +#define BitTestAndSet _bittestandset +#define BitTestAndReset _bittestandreset +#define BitTest64 _bittest64 +#define BitTestAndComplement64 _bittestandcomplement64 +#define BitTestAndSet64 _bittestandset64 +#define BitTestAndReset64 _bittestandreset64 + + /* BOOLEAN _bittest(LONG const *Base,LONG Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandcomplement(LONG *Base,LONG Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandset(LONG *Base,LONG Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandreset(LONG *Base,LONG Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittest64(LONG64 const *Base,LONG64 Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandcomplement64(LONG64 *Base,LONG64 Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandset64(LONG64 *Base,LONG64 Offset); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _bittestandreset64(LONG64 *Base,LONG64 Offset); moved to psdk_inc/intrin-impl.h */ + +#define BitScanForward _BitScanForward +#define BitScanReverse _BitScanReverse +#define BitScanForward64 _BitScanForward64 +#define BitScanReverse64 _BitScanReverse64 + + /* BOOLEAN _BitScanForward(DWORD *Index,DWORD Mask); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _BitScanReverse(DWORD *Index,DWORD Mask); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _BitScanForward64(DWORD *Index,DWORD64 Mask); moved to psdk_inc/intrin-impl.h */ + /* BOOLEAN _BitScanReverse64(DWORD *Index,DWORD64 Mask); moved to psdk_inc/intrin-impl.h */ + +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 + +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedAdd _InterlockedAdd +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange + +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedAndAffinity InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedOrAffinity InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedAdd64 _InterlockedAdd64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAcquire64 InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer + +#define InterlockedExchangeAddSizeT(a,b) InterlockedExchangeAdd64((LONG64 *)a,b) +#define InterlockedIncrementSizeT(a) InterlockedIncrement64((LONG64 *)a) +#define InterlockedDecrementSizeT(a) InterlockedDecrement64((LONG64 *)a) + + /* SHORT InterlockedIncrement16(SHORT volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* SHORT InterlockedDecrement16(SHORT volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* SHORT InterlockedCompareExchange16(SHORT volatile *Destination,SHORT ExChange,SHORT Comperand); moved to psdk_inc/intrin-impl.h */ + /* LONG InterlockedIncrement(LONG volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* LONG InterlockedDecrement(LONG volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* LONG InterlockedExchange(LONG volatile *Target,LONG Value); moved to psdk_inc/intrin-impl.h */ + + /* LONG InterlockedExchangeAdd(LONG volatile *Addend,LONG Value); moved to psdk_inc/intrin-impl.h */ + /* LONG InterlockedCompareExchange(LONG volatile *Destination,LONG ExChange,LONG Comperand); moved to psdk_inc/intrin-impl.h */ + /* LONG InterlockedAdd(LONG volatile *Addend,LONG Value); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedIncrement64(LONG64 volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedDecrement64(LONG64 volatile *Addend); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedExchange64(LONG64 volatile *Target,LONG64 Value); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedExchangeAdd64(LONG64 volatile *Addend,LONG64 Value); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedAdd64(LONG64 volatile *Addend,LONG64 Value); moved to psdk_inc/intrin-impl.h */ + /* LONG64 InterlockedCompareExchange64(LONG64 volatile *Destination,LONG64 ExChange,LONG64 Comperand); moved to psdk_inc/intrin-impl.h */ + /* PVOID InterlockedCompareExchangePointer(PVOID volatile *Destination,PVOID ExChange,PVOID Comperand); moved to psdk_inc/intrin-impl.h */ + /* PVOID InterlockedExchangePointer(PVOID volatile *Target,PVOID Value); moved to psdk_inc/intrin-impl.h */ + +#define CacheLineFlush(Address) _mm_clflush(Address) + +#if !defined(RC_INVOKED) +# if defined(__cplusplus) +extern "C" { +# endif +# include +# if defined(__cplusplus) +} +# endif +#include +#endif /* !defined(RC_INVOKED) */ + +#define FastFence __faststorefence +#define LoadFence _mm_lfence +#define MemoryFence _mm_mfence +#define StoreFence _mm_sfence + +#define YieldProcessor _mm_pause +#define MemoryBarrier _mm_mfence +#define PreFetchCacheLine(l,a) _mm_prefetch((CHAR CONST *) a,l) +#define PrefetchForWrite(p) _m_prefetchw(p) +#define ReadForWriteAccess(p) (_m_prefetchw(p),*(p)) + +#define PF_TEMPORAL_LEVEL_1 _MM_HINT_T0 +#define PF_TEMPORAL_LEVEL_2 _MM_HINT_T1 +#define PF_TEMPORAL_LEVEL_3 _MM_HINT_T2 +#define PF_NON_TEMPORAL_LEVEL_ALL _MM_HINT_NTA + +#define ReadMxCsr _mm_getcsr +#define WriteMxCsr _mm_setcsr + +#define DbgRaiseAssertionFailure __int2c +#define GetCallersEflags() __getcallerseflags() + + unsigned __int32 __getcallerseflags(VOID); + +#define GetSegmentLimit __segmentlimit + + DWORD __segmentlimit(DWORD Selector); + +#define ReadTimeStampCounter() __rdtsc() + + /* VOID __movsb(PBYTE Destination,BYTE const *Source,SIZE_T Count); moved to psdk_inc/intrin-impl.h */ + /* VOID __movsw(PWORD Destination,WORD const *Source,SIZE_T Count); moved to psdk_inc/intrin-impl.h */ + /* VOID __movsd(PDWORD Destination,DWORD const *Source,SIZE_T Count); moved to psdk_inc/intrin-impl.h */ + /* VOID __movsq(PDWORD64 Destination,DWORD64 const *Source,SIZE_T Count); moved to psdk_inc/intrin-impl.h */ + +#define MultiplyHigh __mulh +#define UnsignedMultiplyHigh __umulh + + LONGLONG MultiplyHigh(LONGLONG Multiplier,LONGLONG Multiplicand); + ULONGLONG UnsignedMultiplyHigh(ULONGLONG Multiplier,ULONGLONG Multiplicand); + +#define ShiftLeft128 __shiftleft128 +#define ShiftRight128 __shiftright128 + + DWORD64 ShiftLeft128(DWORD64 LowPart,DWORD64 HighPart,BYTE Shift); + DWORD64 ShiftRight128(DWORD64 LowPart,DWORD64 HighPart,BYTE Shift); + +#define Multiply128 _mul128 + + LONG64 Multiply128(LONG64 Multiplier,LONG64 Multiplicand,LONG64 *HighProduct); + +#define UnsignedMultiply128 _umul128 + + DWORD64 UnsignedMultiply128(DWORD64 Multiplier,DWORD64 Multiplicand,DWORD64 *HighProduct); + + LONG64 MultiplyExtract128(LONG64 Multiplier,LONG64 Multiplicand,BYTE Shift); + DWORD64 UnsignedMultiplyExtract128(DWORD64 Multiplier,DWORD64 Multiplicand,BYTE Shift); + +#ifndef __CRT__NO_INLINE + __CRT_INLINE LONG64 MultiplyExtract128(LONG64 Multiplier,LONG64 Multiplicand,BYTE Shift) { + LONG64 extractedProduct; + LONG64 highProduct; + LONG64 lowProduct; + lowProduct = Multiply128(Multiplier,Multiplicand,&highProduct); + extractedProduct = (LONG64)ShiftRight128((LONG64)lowProduct,(LONG64)highProduct,Shift); + return extractedProduct; + } + + __CRT_INLINE DWORD64 UnsignedMultiplyExtract128(DWORD64 Multiplier,DWORD64 Multiplicand,BYTE Shift) { + DWORD64 extractedProduct; + DWORD64 highProduct; + DWORD64 lowProduct; + lowProduct = UnsignedMultiply128(Multiplier,Multiplicand,&highProduct); + extractedProduct = ShiftRight128(lowProduct,highProduct,Shift); + return extractedProduct; + } +#endif + + /* unsigned char __readgsbyte(unsigned __LONG32 Offset); moved to psdk_inc/intrin-impl.h */ + /* unsigned short __readgsword(unsigned __LONG32 Offset); moved to psdk_inc/intrin-impl.h */ + /* unsigned __LONG32 __readgsdword(unsigned __LONG32 Offset); moved to psdk_inc/intrin-impl.h */ + /* __MINGW_EXTENSION unsigned __int64 __readgsqword(unsigned __LONG32 Offset); moved to psdk_inc/intrin-impl.h */ + + /* void __writegsbyte(unsigned __LONG32 Offset,unsigned char Data); moved to psdk_inc/intrin-impl.h */ + /* void __writegsword(unsigned __LONG32 Offset,unsigned short Data); moved to psdk_inc/intrin-impl.h */ + /* void __writegsdword(unsigned __LONG32 Offset,unsigned __LONG32 Data); moved to psdk_inc/intrin-impl.h */ + +#ifdef __cplusplus + } +#endif +#endif /* defined(__x86_64) && !defined(__arm64ec__) && !defined(RC_INVOKED) */ + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 + +#if !defined(RC_INVOKED) + +#define CONTEXT_AMD64 0x100000 + +#define CONTEXT_CONTROL (CONTEXT_AMD64 | __MSABI_LONG(0x1)) +#define CONTEXT_INTEGER (CONTEXT_AMD64 | __MSABI_LONG(0x2)) +#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | __MSABI_LONG(0x4)) +#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | __MSABI_LONG(0x8)) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | __MSABI_LONG(0x10)) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT) +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS) + +#define CONTEXT_XSTATE (CONTEXT_AMD64 | __MSABI_LONG(0x40)) +#define CONTEXT_KERNEL_CET (CONTEXT_AMD64 | __MSABI_LONG(0x80)) + +#define CONTEXT_EXCEPTION_ACTIVE 0x8000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 +#define CONTEXT_UNWOUND_TO_CALL 0x20000000 + +#endif /* !defined(RC_INVOKED) */ + +#define INITIAL_MXCSR 0x1f80 +#define INITIAL_FPCSR 0x027f + + typedef struct _XMM_SAVE_AREA32 { + WORD ControlWord; + WORD StatusWord; + BYTE TagWord; + BYTE Reserved1; + WORD ErrorOpcode; + DWORD ErrorOffset; + WORD ErrorSelector; + WORD Reserved2; + DWORD DataOffset; + WORD DataSelector; + WORD Reserved3; + DWORD MxCsr; + DWORD MxCsr_Mask; + M128A FloatRegisters[8]; + M128A XmmRegisters[16]; + BYTE Reserved4[96]; + } XMM_SAVE_AREA32,*PXMM_SAVE_AREA32; + +#define LEGACY_SAVE_AREA_LENGTH sizeof(XMM_SAVE_AREA32) + + typedef struct DECLSPEC_ALIGN(16) _CONTEXT { + DWORD64 P1Home; + DWORD64 P2Home; + DWORD64 P3Home; + DWORD64 P4Home; + DWORD64 P5Home; + DWORD64 P6Home; + DWORD ContextFlags; + DWORD MxCsr; + WORD SegCs; + WORD SegDs; + WORD SegEs; + WORD SegFs; + WORD SegGs; + WORD SegSs; + DWORD EFlags; + DWORD64 Dr0; + DWORD64 Dr1; + DWORD64 Dr2; + DWORD64 Dr3; + DWORD64 Dr6; + DWORD64 Dr7; + DWORD64 Rax; + DWORD64 Rcx; + DWORD64 Rdx; + DWORD64 Rbx; + DWORD64 Rsp; + DWORD64 Rbp; + DWORD64 Rsi; + DWORD64 Rdi; + DWORD64 R8; + DWORD64 R9; + DWORD64 R10; + DWORD64 R11; + DWORD64 R12; + DWORD64 R13; + DWORD64 R14; + DWORD64 R15; + DWORD64 Rip; + __C89_NAMELESS union { + XMM_SAVE_AREA32 FltSave; + XMM_SAVE_AREA32 FloatSave; + __C89_NAMELESS struct { + M128A Header[2]; + M128A Legacy[8]; + M128A Xmm0; + M128A Xmm1; + M128A Xmm2; + M128A Xmm3; + M128A Xmm4; + M128A Xmm5; + M128A Xmm6; + M128A Xmm7; + M128A Xmm8; + M128A Xmm9; + M128A Xmm10; + M128A Xmm11; + M128A Xmm12; + M128A Xmm13; + M128A Xmm14; + M128A Xmm15; + }; + }; + M128A VectorRegister[26]; + DWORD64 VectorControl; + DWORD64 DebugControl; + DWORD64 LastBranchToRip; + DWORD64 LastBranchFromRip; + DWORD64 LastExceptionToRip; + DWORD64 LastExceptionFromRip; + } CONTEXT,*PCONTEXT; + +#define RUNTIME_FUNCTION_INDIRECT 0x1 + + typedef struct _RUNTIME_FUNCTION { + DWORD BeginAddress; + DWORD EndAddress; + DWORD UnwindData; + } RUNTIME_FUNCTION,*PRUNTIME_FUNCTION; + + typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); + typedef DWORD (*POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK)(HANDLE Process,PVOID TableAddress,PDWORD Entries,PRUNTIME_FUNCTION *Functions); + +#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" + +#define UNW_FLAG_NHANDLER 0x0 +#define UNW_FLAG_EHANDLER 0x1 +#define UNW_FLAG_UHANDLER 0x2 +#define UNW_FLAG_CHAININFO 0x4 + +#endif /* end of _AMD64_ */ + + +#ifdef _ARM_ + +#if defined(__arm__) && !defined(RC_INVOKED) + +#ifdef __cplusplus + extern "C" { +#endif + +#define BitTest _bittest +#define BitTestAndComplement _bittestandcomplement +#define BitTestAndSet _bittestandset +#define BitTestAndReset _bittestandreset + +#define BitScanForward _BitScanForward +#define BitScanReverse _BitScanReverse + +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 + +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedAdd _InterlockedAdd +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange + +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedAndAffinity InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedOrAffinity InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedAdd64 _InterlockedAdd64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAcquire64 InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer + +#define YieldProcessor() __asm__ __volatile__("dmb ishst\n\tyield":::"memory") +#define MemoryBarrier() __asm__ __volatile__("dmb":::"memory") +#define PreFetchCacheLine(l,a) __prefetch((const void *) (a)) +#define PrefetchForWrite(p) __prefetch((const void *) (p)) +#define ReadForWriteAccess(p) (*(p)) + +#define PF_TEMPORAL_LEVEL_1 0 +#define PF_TEMPORAL_LEVEL_2 1 +#define PF_TEMPORAL_LEVEL_3 2 +#define PF_NON_TEMPORAL_LEVEL_ALL 3 + +#ifdef __cplusplus + } +#endif +#endif /* defined(__arm__) && !defined(RC_INVOKED) */ + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 + +#if !defined(RC_INVOKED) + +#define CONTEXT_ARM 0x0200000 + +#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001) +#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002) +#define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT) + +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS) + +#define CONTEXT_EXCEPTION_ACTIVE 0x08000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 + +#define CONTEXT_UNWOUND_TO_CALL 0x20000000 + +#endif /* !defined(RC_INVOKED) */ + +#define INITIAL_CPSR 0x10 +#define INITIAL_FPSCR 0x00 + +#define ARM_MAX_BREAKPOINTS 8 +#define ARM_MAX_WATCHPOINTS 1 + + + typedef struct _NEON128 { + ULONGLONG Low; + LONGLONG High; + } NEON128, *PNEON128; + + typedef struct DECLSPEC_ALIGN(8) _CONTEXT { + DWORD ContextFlags; + + DWORD R0; + DWORD R1; + DWORD R2; + DWORD R3; + DWORD R4; + DWORD R5; + DWORD R6; + DWORD R7; + DWORD R8; + DWORD R9; + DWORD R10; + DWORD R11; + DWORD R12; + + DWORD Sp; + DWORD Lr; + DWORD Pc; + DWORD Cpsr; + + DWORD Fpscr; + DWORD Padding; + union { + NEON128 Q[16]; + ULONGLONG D[32]; + DWORD S[32]; + } DUMMYUNIONNAME; + + DWORD Bvr[ARM_MAX_BREAKPOINTS]; + DWORD Bcr[ARM_MAX_BREAKPOINTS]; + DWORD Wvr[ARM_MAX_WATCHPOINTS]; + DWORD Wcr[ARM_MAX_WATCHPOINTS]; + + DWORD Padding2[2]; + } CONTEXT, *PCONTEXT; + + typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; + typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD ControlPc,PVOID Context); + +#define UNW_FLAG_NHANDLER 0x0 +#define UNW_FLAG_EHANDLER 0x1 +#define UNW_FLAG_UHANDLER 0x2 + + struct _DISPATCHER_CONTEXT; + typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; + typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; + + struct _DISPATCHER_CONTEXT { + ULONG ControlPc; + ULONG ImageBase; + PRUNTIME_FUNCTION FunctionEntry; + ULONG EstablisherFrame; + ULONG TargetPc; + PCONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + struct _UNWIND_HISTORY_TABLE *HistoryTable; + ULONG ScopeIndex; + BOOLEAN ControlPcIsUnwound; + PBYTE NonVolatileRegisters; + ULONG VirtualVfpHead; + }; + + typedef struct _KNONVOLATILE_CONTEXT_POINTERS { + PDWORD R4; + PDWORD R5; + PDWORD R6; + PDWORD R7; + PDWORD R8; + PDWORD R9; + PDWORD R10; + PDWORD R11; + PDWORD Lr; + PULONGLONG D8; + PULONGLONG D9; + PULONGLONG D10; + PULONGLONG D11; + PULONGLONG D12; + PULONGLONG D13; + PULONGLONG D14; + PULONGLONG D15; + } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; + +#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" + +#endif /* _ARM_ */ + + +#if defined(_ARM64_) || defined(_ARM64EC_) + +#if (defined(__aarch64__) || defined(__arm64ec__)) && !defined(RC_INVOKED) + +#ifdef __cplusplus + extern "C" { +#endif + +#define BitTest _bittest +#define BitTestAndComplement _bittestandcomplement +#define BitTestAndSet _bittestandset +#define BitTestAndReset _bittestandreset + +#define BitScanForward _BitScanForward +#define BitScanReverse _BitScanReverse +#define BitScanForward64 _BitScanForward64 +#define BitScanReverse64 _BitScanReverse64 + +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 + +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedAdd _InterlockedAdd +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange + +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedAndAffinity InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedOrAffinity InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedAdd64 _InterlockedAdd64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAcquire64 InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer + +#define YieldProcessor() __asm__ __volatile__("dmb ishst\n\tyield":::"memory") +#define MemoryBarrier() __asm__ __volatile__("dmb sy":::"memory") +#define PreFetchCacheLine(l,a) __prefetch((const void *) (a)) +#define PrefetchForWrite(p) __prefetch((const void *) (p)) +#define ReadForWriteAccess(p) (*(p)) + +#define PF_TEMPORAL_LEVEL_1 0 +#define PF_TEMPORAL_LEVEL_2 1 +#define PF_TEMPORAL_LEVEL_3 2 +#define PF_NON_TEMPORAL_LEVEL_ALL 3 + +#ifdef __cplusplus + } +#endif +#endif /* (defined(__aarch64__) || defined(__arm64ec__)) && !defined(RC_INVOKED) */ + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 +#endif /* defined(_ARM64_) || defined(_ARM64EC_) */ + +#if !defined(RC_INVOKED) + +#define CONTEXT_ARM64 0x400000 +#define CONTEXT_ARM64_CONTROL (CONTEXT_ARM64 | 0x00000001) +#define CONTEXT_ARM64_INTEGER (CONTEXT_ARM64 | 0x00000002) +#define CONTEXT_ARM64_FLOATING_POINT (CONTEXT_ARM64 | 0x00000004) +#define CONTEXT_ARM64_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x00000008) +#define CONTEXT_ARM64_X18 (CONTEXT_ARM64 | 0x00000010) + + +#define CONTEXT_ARM64_FULL (CONTEXT_ARM64_CONTROL | CONTEXT_ARM64_INTEGER | CONTEXT_ARM64_FLOATING_POINT) +#define CONTEXT_ARM64_ALL (CONTEXT_ARM64_CONTROL | CONTEXT_ARM64_INTEGER | CONTEXT_ARM64_FLOATING_POINT | CONTEXT_ARM64_DEBUG_REGISTERS | CONTEXT_ARM64_X18) + +#define CONTEXT_ARM64_UNWOUND_TO_CALL 0x20000000 + +#ifdef _ARM64_ + +#define CONTEXT_CONTROL CONTEXT_ARM64_CONTROL +#define CONTEXT_INTEGER CONTEXT_ARM64_INTEGER +#define CONTEXT_FLOATING_POINT CONTEXT_ARM64_FLOATING_POINT +#define CONTEXT_DEBUG_REGISTERS CONTEXT_ARM64_DEBUG_REGISTERS +#define CONTEXT_FULL CONTEXT_ARM64_FULL +#define CONTEXT_ALL CONTEXT_ARM64_ALL +#define CONTEXT_UNWOUND_TO_CALL CONTEXT_ARM64_UNWOUND_TO_CALL + +#define CONTEXT_EXCEPTION_ACTIVE 0x08000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 + +#endif /* _ARM64_ */ + +#endif /* !defined(RC_INVOKED) */ + +#define ARM64_MAX_BREAKPOINTS 8 +#define ARM64_MAX_WATCHPOINTS 2 + + typedef union _ARM64_NT_NEON128 { + struct + { + ULONGLONG Low; + LONGLONG High; + } DUMMYSTRUCTNAME; + double D[2]; + float S[4]; + WORD H[8]; + BYTE B[16]; + } ARM64_NT_NEON128, *PARM64_NT_NEON128; + +#ifdef _ARM64_ + typedef ARM64_NT_NEON128 NEON128, *PNEON128; +#endif + + typedef struct DECLSPEC_ALIGN(16) +#ifdef _ARM64_ + _CONTEXT +#else + _ARM64_NT_CONTEXT +#endif + { + ULONG ContextFlags; /* 000 */ + /* CONTEXT_INTEGER */ + ULONG Cpsr; /* 004 */ + union + { + struct + { + DWORD64 X0; /* 008 */ + DWORD64 X1; /* 010 */ + DWORD64 X2; /* 018 */ + DWORD64 X3; /* 020 */ + DWORD64 X4; /* 028 */ + DWORD64 X5; /* 030 */ + DWORD64 X6; /* 038 */ + DWORD64 X7; /* 040 */ + DWORD64 X8; /* 048 */ + DWORD64 X9; /* 050 */ + DWORD64 X10; /* 058 */ + DWORD64 X11; /* 060 */ + DWORD64 X12; /* 068 */ + DWORD64 X13; /* 070 */ + DWORD64 X14; /* 078 */ + DWORD64 X15; /* 080 */ + DWORD64 X16; /* 088 */ + DWORD64 X17; /* 090 */ + DWORD64 X18; /* 098 */ + DWORD64 X19; /* 0a0 */ + DWORD64 X20; /* 0a8 */ + DWORD64 X21; /* 0b0 */ + DWORD64 X22; /* 0b8 */ + DWORD64 X23; /* 0c0 */ + DWORD64 X24; /* 0c8 */ + DWORD64 X25; /* 0d0 */ + DWORD64 X26; /* 0d8 */ + DWORD64 X27; /* 0e0 */ + DWORD64 X28; /* 0e8 */ + DWORD64 Fp; /* 0f0 */ + DWORD64 Lr; /* 0f8 */ + } DUMMYSTRUCTNAME; + DWORD64 X[31]; /* 008 */ + } DUMMYUNIONNAME; + /* CONTEXT_CONTROL */ + DWORD64 Sp; /* 100 */ + DWORD64 Pc; /* 108 */ + /* CONTEXT_FLOATING_POINT */ + ARM64_NT_NEON128 V[32]; /* 110 */ + DWORD Fpcr; /* 310 */ + DWORD Fpsr; /* 314 */ + /* CONTEXT_DEBUG_REGISTERS */ + DWORD Bcr[ARM64_MAX_BREAKPOINTS]; /* 318 */ + DWORD64 Bvr[ARM64_MAX_BREAKPOINTS]; /* 338 */ + DWORD Wcr[ARM64_MAX_WATCHPOINTS]; /* 378 */ + DWORD64 Wvr[ARM64_MAX_WATCHPOINTS]; /* 380 */ + } ARM64_NT_CONTEXT, *PARM64_NT_CONTEXT; + +#ifdef _ARM64_ + typedef ARM64_NT_CONTEXT CONTEXT, *PCONTEXT; +#endif + + + typedef struct DECLSPEC_ALIGN(16) _ARM64EC_NT_CONTEXT + { + union + { + struct + { + DWORD64 AMD64_P1Home; /* 000 */ + DWORD64 AMD64_P2Home; /* 008 */ + DWORD64 AMD64_P3Home; /* 010 */ + DWORD64 AMD64_P4Home; /* 018 */ + DWORD64 AMD64_P5Home; /* 020 */ + DWORD64 AMD64_P6Home; /* 028 */ + DWORD ContextFlags; /* 030 */ + DWORD AMD64_MxCsr_copy; /* 034 */ + WORD AMD64_SegCs; /* 038 */ + WORD AMD64_SegDs; /* 03a */ + WORD AMD64_SegEs; /* 03c */ + WORD AMD64_SegFs; /* 03e */ + WORD AMD64_SegGs; /* 040 */ + WORD AMD64_SegSs; /* 042 */ + DWORD AMD64_EFlags; /* 044 */ + DWORD64 AMD64_Dr0; /* 048 */ + DWORD64 AMD64_Dr1; /* 050 */ + DWORD64 AMD64_Dr2; /* 058 */ + DWORD64 AMD64_Dr3; /* 060 */ + DWORD64 AMD64_Dr6; /* 068 */ + DWORD64 AMD64_Dr7; /* 070 */ + DWORD64 X8; /* 078 (Rax) */ + DWORD64 X0; /* 080 (Rcx) */ + DWORD64 X1; /* 088 (Rdx) */ + DWORD64 X27; /* 090 (Rbx) */ + DWORD64 Sp; /* 098 (Rsp) */ + DWORD64 Fp; /* 0a0 (Rbp) */ + DWORD64 X25; /* 0a8 (Rsi) */ + DWORD64 X26; /* 0b0 (Rdi) */ + DWORD64 X2; /* 0b8 (R8) */ + DWORD64 X3; /* 0c0 (R9) */ + DWORD64 X4; /* 0c8 (R10) */ + DWORD64 X5; /* 0d0 (R11) */ + DWORD64 X19; /* 0d8 (R12) */ + DWORD64 X20; /* 0e0 (R13) */ + DWORD64 X21; /* 0e8 (R14) */ + DWORD64 X22; /* 0f0 (R15) */ + DWORD64 Pc; /* 0f8 (Rip) */ + struct + { + WORD AMD64_ControlWord; /* 100 */ + WORD AMD64_StatusWord; /* 102 */ + BYTE AMD64_TagWord; /* 104 */ + BYTE AMD64_Reserved1; /* 105 */ + WORD AMD64_ErrorOpcode; /* 106 */ + DWORD AMD64_ErrorOffset; /* 108 */ + WORD AMD64_ErrorSelector; /* 10c */ + WORD AMD64_Reserved2; /* 10e */ + DWORD AMD64_DataOffset; /* 110 */ + WORD AMD64_DataSelector; /* 114 */ + WORD AMD64_Reserved3; /* 116 */ + DWORD AMD64_MxCsr; /* 118 */ + DWORD AMD64_MxCsr_Mask; /* 11c */ + DWORD64 Lr; /* 120 (FloatRegisters[0]) */ + WORD X16_0; /* 128 */ + WORD AMD64_St0_Reserved1; /* 12a */ + DWORD AMD64_St0_Reserved2; /* 12c */ + DWORD64 X6; /* 130 (FloatRegisters[1]) */ + WORD X16_1; /* 138 */ + WORD AMD64_St1_Reserved1; /* 13a */ + DWORD AMD64_St1_Reserved2; /* 13c */ + DWORD64 X7; /* 140 (FloatRegisters[2]) */ + WORD X16_2; /* 148 */ + WORD AMD64_St2_Reserved1; /* 14a */ + DWORD AMD64_St2_Reserved2; /* 14c */ + DWORD64 X9; /* 150 (FloatRegisters[3]) */ + WORD X16_3; /* 158 */ + WORD AMD64_St3_Reserved1; /* 15a */ + DWORD AMD64_St3_Reserved2; /* 15c */ + DWORD64 X10; /* 160 (FloatRegisters[4]) */ + WORD X17_0; /* 168 */ + WORD AMD64_St4_Reserved1; /* 16a */ + DWORD AMD64_St4_Reserved2; /* 16c */ + DWORD64 X11; /* 170 (FloatRegisters[5]) */ + WORD X17_1; /* 178 */ + WORD AMD64_St5_Reserved1; /* 17a */ + DWORD AMD64_St5_Reserved2; /* 17c */ + DWORD64 X12; /* 180 (FloatRegisters[6]) */ + WORD X17_2; /* 188 */ + WORD AMD64_St6_Reserved1; /* 18a */ + DWORD AMD64_St6_Reserved2; /* 18c */ + DWORD64 X15; /* 190 (FloatRegisters[7]) */ + WORD X17_3; /* 198 */ + WORD AMD64_St7_Reserved1; /* 19a */ + DWORD AMD64_St7_Reserved2; /* 19c */ + ARM64_NT_NEON128 V[16]; /* 1a0 (XmmRegisters) */ + BYTE AMD64_XSAVE_FORMAT_Reserved4[96]; /* 2a0 */ + } DUMMYSTRUCTNAME; + ARM64_NT_NEON128 AMD64_VectorRegister[26]; /* 300 */ + DWORD64 AMD64_VectorControl; /* 4a0 */ + DWORD64 AMD64_DebugControl; /* 4a8 */ + DWORD64 AMD64_LastBranchToRip; /* 4b0 */ + DWORD64 AMD64_LastBranchFromRip; /* 4b8 */ + DWORD64 AMD64_LastExceptionToRip; /* 4c0 */ + DWORD64 AMD64_LastExceptionFromRip; /* 4c8 */ + } DUMMYSTRUCTNAME; +#ifdef _ARM64EC_ + CONTEXT AMD64_Context; +#endif + } DUMMYUNIONNAME; + } ARM64EC_NT_CONTEXT, *PARM64EC_NT_CONTEXT; + + typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY ARM64_RUNTIME_FUNCTION, *PARM64_RUNTIME_FUNCTION; + +#ifdef _ARM64_ + typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; + typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); +#endif + +#define UNW_FLAG_NHANDLER 0x0 +#define UNW_FLAG_EHANDLER 0x1 +#define UNW_FLAG_UHANDLER 0x2 + + typedef struct _DISPATCHER_CONTEXT_ARM64 { + ULONG_PTR ControlPc; + ULONG_PTR ImageBase; + PARM64_RUNTIME_FUNCTION FunctionEntry; + ULONG_PTR EstablisherFrame; + ULONG_PTR TargetPc; + PARM64_NT_CONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + struct _UNWIND_HISTORY_TABLE *HistoryTable; + ULONG ScopeIndex; + BOOLEAN ControlPcIsUnwound; + PBYTE NonVolatileRegisters; + } DISPATCHER_CONTEXT_ARM64, *PDISPATCHER_CONTEXT_ARM64; + +#if defined(_ARM64_) + typedef DISPATCHER_CONTEXT_ARM64 DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; +#endif + + typedef struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { + PDWORD64 X19; + PDWORD64 X20; + PDWORD64 X21; + PDWORD64 X22; + PDWORD64 X23; + PDWORD64 X24; + PDWORD64 X25; + PDWORD64 X26; + PDWORD64 X27; + PDWORD64 X28; + PDWORD64 Fp; + PDWORD64 Lr; + + PDWORD64 D8; + PDWORD64 D9; + PDWORD64 D10; + PDWORD64 D11; + PDWORD64 D12; + PDWORD64 D13; + PDWORD64 D14; + PDWORD64 D15; + } KNONVOLATILE_CONTEXT_POINTERS_ARM64, *PKNONVOLATILE_CONTEXT_POINTERS_ARM64; + +#ifdef _ARM64_ + typedef KNONVOLATILE_CONTEXT_POINTERS_ARM64 KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; +#endif + +#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" + +#ifdef _X86_ + +#if defined(__i386__) && !defined(__x86_64) && !defined(RC_INVOKED) +#ifdef __cplusplus + extern "C" { +#endif + +#define BitTest _bittest +#define BitTestAndComplement _bittestandcomplement +#define BitTestAndSet _bittestandset +#define BitTestAndReset _bittestandreset + +#define BitScanForward _BitScanForward +#define BitScanReverse _BitScanReverse + +#define InterlockedIncrement16 _InterlockedIncrement16 +#define InterlockedDecrement16 _InterlockedDecrement16 +#define InterlockedCompareExchange16 _InterlockedCompareExchange16 + +#define InterlockedAnd _InterlockedAnd +#define InterlockedOr _InterlockedOr +#define InterlockedXor _InterlockedXor +#define InterlockedIncrement _InterlockedIncrement +#define InterlockedIncrementAcquire InterlockedIncrement +#define InterlockedIncrementRelease InterlockedIncrement +#define InterlockedDecrement _InterlockedDecrement +#define InterlockedDecrementAcquire InterlockedDecrement +#define InterlockedDecrementRelease InterlockedDecrement +#define InterlockedAdd _InterlockedAdd +#define InterlockedExchange _InterlockedExchange +#define InterlockedExchangeAdd _InterlockedExchangeAdd +#define InterlockedCompareExchange _InterlockedCompareExchange +#define InterlockedCompareExchangeAcquire InterlockedCompareExchange +#define InterlockedCompareExchangeRelease InterlockedCompareExchange + +#define InterlockedAnd64 _InterlockedAnd64 +#define InterlockedAndAffinity InterlockedAnd64 +#define InterlockedOr64 _InterlockedOr64 +#define InterlockedOrAffinity InterlockedOr64 +#define InterlockedXor64 _InterlockedXor64 +#define InterlockedIncrement64 _InterlockedIncrement64 +#define InterlockedDecrement64 _InterlockedDecrement64 +#define InterlockedAdd64 _InterlockedAdd64 +#define InterlockedExchange64 _InterlockedExchange64 +#define InterlockedExchangeAcquire64 InterlockedExchange64 +#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 +#define InterlockedCompareExchange64 _InterlockedCompareExchange64 +#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 +#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 + +#define InterlockedExchangePointer _InterlockedExchangePointer +#define InterlockedCompareExchangePointer(Destination, ExChange, Comperand) (PVOID) (LONG_PTR)InterlockedCompareExchange ((LONG volatile *) (Destination),(LONG) (LONG_PTR) (ExChange),(LONG) (LONG_PTR) (Comperand)) +#define InterlockedCompareExchangePointerAcquire InterlockedCompareExchangePointer +#define InterlockedCompareExchangePointerRelease InterlockedCompareExchangePointer + +#ifdef _PREFIX_ + /* BYTE __readfsbyte(DWORD Offset); moved to psdk_inc/intrin-impl.h */ + /* WORD __readfsword(DWORD Offset); moved to psdk_inc/intrin-impl.h */ + /* DWORD __readfsdword(DWORD Offset); moved to psdk_inc/intrin-impl.h */ + /* VOID __writefsbyte(DWORD Offset,BYTE Data); moved to psdk_inc/intrin-impl.h */ + /* VOID __writefsword(DWORD Offset,WORD Data); moved to psdk_inc/intrin-impl.h */ + /* VOID __writefsdword(DWORD Offset,DWORD Data); moved to psdk_inc/intrin-impl.h */ +#endif + +#ifdef __cplusplus + } +#endif +#endif /* defined(__i386__) && !defined(__x86_64) && !defined(RC_INVOKED) */ + +#if defined(__i386__) && !defined(__x86_64) + +#if defined(__SSE2__) && !defined(RC_INVOKED) +#include +#define YieldProcessor _mm_pause +#define MemoryBarrier _mm_mfence +#else /* defined(__SSE2__) && !defined(RC_INVOKED) */ +#define YieldProcessor __buildpause +VOID MemoryBarrier(VOID); +FORCEINLINE VOID MemoryBarrier(VOID) +__buildmemorybarrier() +#endif /* defined(__SSE2__) && !defined(RC_INVOKED) */ + +#define PreFetchCacheLine(l,a) +#define ReadForWriteAccess(p) (*(p)) + +#define PF_TEMPORAL_LEVEL_1 +#define PF_NON_TEMPORAL_LEVEL_ALL + +#define DbgRaiseAssertionFailure __int2c + +#endif /* defined(__i386__) && !defined(__x86_64) */ + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 8 + +#define SIZE_OF_80387_REGISTERS 80 + +#if !defined(RC_INVOKED) + +#define CONTEXT_i386 0x00010000 +#define CONTEXT_i486 0x00010000 + +#define CONTEXT_CONTROL (CONTEXT_i386 | __MSABI_LONG(0x00000001)) +#define CONTEXT_INTEGER (CONTEXT_i386 | __MSABI_LONG(0x00000002)) +#define CONTEXT_SEGMENTS (CONTEXT_i386 | __MSABI_LONG(0x00000004)) +#define CONTEXT_FLOATING_POINT (CONTEXT_i386 | __MSABI_LONG(0x00000008)) +#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386 | __MSABI_LONG(0x00000010)) +#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386 | __MSABI_LONG(0x00000020)) + +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS) + +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS) +#endif /* !defined(RC_INVOKED) */ + +#define MAXIMUM_SUPPORTED_EXTENSION 512 + + typedef struct _FLOATING_SAVE_AREA { + DWORD ControlWord; + DWORD StatusWord; + DWORD TagWord; + DWORD ErrorOffset; + DWORD ErrorSelector; + DWORD DataOffset; + DWORD DataSelector; + BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; + DWORD Cr0NpxState; + } FLOATING_SAVE_AREA; + + typedef FLOATING_SAVE_AREA *PFLOATING_SAVE_AREA; + + typedef struct _CONTEXT { + DWORD ContextFlags; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr6; + DWORD Dr7; + FLOATING_SAVE_AREA FloatSave; + DWORD SegGs; + DWORD SegFs; + DWORD SegEs; + DWORD SegDs; + + DWORD Edi; + DWORD Esi; + DWORD Ebx; + DWORD Edx; + DWORD Ecx; + DWORD Eax; + DWORD Ebp; + DWORD Eip; + DWORD SegCs; + DWORD EFlags; + DWORD Esp; + DWORD SegSs; + BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; + } CONTEXT; + + typedef CONTEXT *PCONTEXT; + +#endif /* end of _X86_ */ + + /* LONG WINAPI InterlockedIncrement(LONG volatile *); moved to psdk_inc/intrin-impl.h */ + /* LONG WINAPI InterlockedDecrement(LONG volatile *); moved to psdk_inc/intrin-impl.h */ + /* LONG WINAPI InterlockedExchange(LONG volatile *, LONG); moved to psdk_inc/intrin-impl.h */ + +#ifndef _LDT_ENTRY_DEFINED +#define _LDT_ENTRY_DEFINED + + typedef struct _LDT_ENTRY { + WORD LimitLow; + WORD BaseLow; + union { + struct { + BYTE BaseMid; + BYTE Flags1; + BYTE Flags2; + BYTE BaseHi; + } Bytes; + struct { + DWORD BaseMid : 8; + DWORD Type : 5; + DWORD Dpl : 2; + DWORD Pres : 1; + DWORD LimitHi : 4; + DWORD Sys : 1; + DWORD Reserved_0 : 1; + DWORD Default_Big : 1; + DWORD Granularity : 1; + DWORD BaseHi : 8; + } Bits; + } HighWord; + } LDT_ENTRY,*PLDT_ENTRY; +#endif /* _LDT_ENTRY_DEFINED */ + +#if defined(__ia64__) && !defined(RC_INVOKED) + +#ifdef __cplusplus + extern "C" { +#endif + + BOOLEAN BitScanForward64(DWORD *Index,DWORD64 Mask); + BOOLEAN BitScanReverse64(DWORD *Index,DWORD64 Mask); + +#ifdef __cplusplus + } +#endif +#endif /* defined(__ia64__) && !defined(RC_INVOKED) */ + +#if !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) + + void *_cdecl _rdteb(void); + +#ifdef __ia64__ +#define NtCurrentTeb() ((struct _TEB *)_rdteb()) +#define GetCurrentFiber() (((PNT_TIB)NtCurrentTeb())->FiberData) +#define GetFiberData() (*(PVOID *)(GetCurrentFiber())) + +#ifdef __cplusplus + extern "C" { +#endif + + void __break(int); + void __yield(void); + void __mf(void); + void __lfetch(int Level,VOID CONST *Address); + void __lfetchfault(int Level,VOID CONST *Address); + void __lfetch_excl(int Level,VOID CONST *Address); + void __lfetchfault_excl(int Level,VOID CONST *Address); + +#define MD_LFHINT_NONE 0x00 +#define MD_LFHINT_NT1 0x01 +#define MD_LFHINT_NT2 0x02 +#define MD_LFHINT_NTA 0x03 + +#ifdef __cplusplus + } +#endif + +#define YieldProcessor __yield +#define MemoryBarrier __mf +#define PreFetchCacheLine __lfetch +#define ReadForWriteAccess(p) (*(p)) +#define DbgRaiseAssertionFailure() __break(ASSERT_BREAKPOINT) + +#define PF_TEMPORAL_LEVEL_1 MD_LFHINT_NONE +#define PF_NON_TEMPORAL_LEVEL_ALL MD_LFHINT_NTA + +#define UnsignedMultiplyHigh __UMULH + + ULONGLONG UnsignedMultiplyHigh(ULONGLONG Multiplier,ULONGLONG Multiplicand); +#endif /* __ia64__ */ +#endif /* !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) */ + +#ifdef _IA64_ + +#define EXCEPTION_READ_FAULT 0 +#define EXCEPTION_WRITE_FAULT 1 +#define EXCEPTION_EXECUTE_FAULT 2 + +#if !defined(RC_INVOKED) + +#define CONTEXT_IA64 0x00080000 + +#define CONTEXT_CONTROL (CONTEXT_IA64 | __MSABI_LONG(0x00000001)) +#define CONTEXT_LOWER_FLOATING_POINT (CONTEXT_IA64 | __MSABI_LONG(0x00000002)) +#define CONTEXT_HIGHER_FLOATING_POINT (CONTEXT_IA64 | __MSABI_LONG(0x00000004)) +#define CONTEXT_INTEGER (CONTEXT_IA64 | __MSABI_LONG(0x00000008)) +#define CONTEXT_DEBUG (CONTEXT_IA64 | __MSABI_LONG(0x00000010)) +#define CONTEXT_IA32_CONTROL (CONTEXT_IA64 | __MSABI_LONG(0x00000020)) + +#define CONTEXT_FLOATING_POINT (CONTEXT_LOWER_FLOATING_POINT | CONTEXT_HIGHER_FLOATING_POINT) +#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER | CONTEXT_IA32_CONTROL) +#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER | CONTEXT_DEBUG | CONTEXT_IA32_CONTROL) + +#define CONTEXT_EXCEPTION_ACTIVE 0x8000000 +#define CONTEXT_SERVICE_ACTIVE 0x10000000 +#define CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define CONTEXT_EXCEPTION_REPORTING 0x80000000 +#endif /* !defined(RC_INVOKED) */ + + typedef struct _CONTEXT { + DWORD ContextFlags; + DWORD Fill1[3]; + ULONGLONG DbI0; + ULONGLONG DbI1; + ULONGLONG DbI2; + ULONGLONG DbI3; + ULONGLONG DbI4; + ULONGLONG DbI5; + ULONGLONG DbI6; + ULONGLONG DbI7; + ULONGLONG DbD0; + ULONGLONG DbD1; + ULONGLONG DbD2; + ULONGLONG DbD3; + ULONGLONG DbD4; + ULONGLONG DbD5; + ULONGLONG DbD6; + ULONGLONG DbD7; + FLOAT128 FltS0; + FLOAT128 FltS1; + FLOAT128 FltS2; + FLOAT128 FltS3; + FLOAT128 FltT0; + FLOAT128 FltT1; + FLOAT128 FltT2; + FLOAT128 FltT3; + FLOAT128 FltT4; + FLOAT128 FltT5; + FLOAT128 FltT6; + FLOAT128 FltT7; + FLOAT128 FltT8; + FLOAT128 FltT9; + FLOAT128 FltS4; + FLOAT128 FltS5; + FLOAT128 FltS6; + FLOAT128 FltS7; + FLOAT128 FltS8; + FLOAT128 FltS9; + FLOAT128 FltS10; + FLOAT128 FltS11; + FLOAT128 FltS12; + FLOAT128 FltS13; + FLOAT128 FltS14; + FLOAT128 FltS15; + FLOAT128 FltS16; + FLOAT128 FltS17; + FLOAT128 FltS18; + FLOAT128 FltS19; + FLOAT128 FltF32; + FLOAT128 FltF33; + FLOAT128 FltF34; + FLOAT128 FltF35; + FLOAT128 FltF36; + FLOAT128 FltF37; + FLOAT128 FltF38; + FLOAT128 FltF39; + FLOAT128 FltF40; + FLOAT128 FltF41; + FLOAT128 FltF42; + FLOAT128 FltF43; + FLOAT128 FltF44; + FLOAT128 FltF45; + FLOAT128 FltF46; + FLOAT128 FltF47; + FLOAT128 FltF48; + FLOAT128 FltF49; + FLOAT128 FltF50; + FLOAT128 FltF51; + FLOAT128 FltF52; + FLOAT128 FltF53; + FLOAT128 FltF54; + FLOAT128 FltF55; + FLOAT128 FltF56; + FLOAT128 FltF57; + FLOAT128 FltF58; + FLOAT128 FltF59; + FLOAT128 FltF60; + FLOAT128 FltF61; + FLOAT128 FltF62; + FLOAT128 FltF63; + FLOAT128 FltF64; + FLOAT128 FltF65; + FLOAT128 FltF66; + FLOAT128 FltF67; + FLOAT128 FltF68; + FLOAT128 FltF69; + FLOAT128 FltF70; + FLOAT128 FltF71; + FLOAT128 FltF72; + FLOAT128 FltF73; + FLOAT128 FltF74; + FLOAT128 FltF75; + FLOAT128 FltF76; + FLOAT128 FltF77; + FLOAT128 FltF78; + FLOAT128 FltF79; + FLOAT128 FltF80; + FLOAT128 FltF81; + FLOAT128 FltF82; + FLOAT128 FltF83; + FLOAT128 FltF84; + FLOAT128 FltF85; + FLOAT128 FltF86; + FLOAT128 FltF87; + FLOAT128 FltF88; + FLOAT128 FltF89; + FLOAT128 FltF90; + FLOAT128 FltF91; + FLOAT128 FltF92; + FLOAT128 FltF93; + FLOAT128 FltF94; + FLOAT128 FltF95; + FLOAT128 FltF96; + FLOAT128 FltF97; + FLOAT128 FltF98; + FLOAT128 FltF99; + FLOAT128 FltF100; + FLOAT128 FltF101; + FLOAT128 FltF102; + FLOAT128 FltF103; + FLOAT128 FltF104; + FLOAT128 FltF105; + FLOAT128 FltF106; + FLOAT128 FltF107; + FLOAT128 FltF108; + FLOAT128 FltF109; + FLOAT128 FltF110; + FLOAT128 FltF111; + FLOAT128 FltF112; + FLOAT128 FltF113; + FLOAT128 FltF114; + FLOAT128 FltF115; + FLOAT128 FltF116; + FLOAT128 FltF117; + FLOAT128 FltF118; + FLOAT128 FltF119; + FLOAT128 FltF120; + FLOAT128 FltF121; + FLOAT128 FltF122; + FLOAT128 FltF123; + FLOAT128 FltF124; + FLOAT128 FltF125; + FLOAT128 FltF126; + FLOAT128 FltF127; + ULONGLONG StFPSR; + ULONGLONG IntGp; + ULONGLONG IntT0; + ULONGLONG IntT1; + ULONGLONG IntS0; + ULONGLONG IntS1; + ULONGLONG IntS2; + ULONGLONG IntS3; + ULONGLONG IntV0; + ULONGLONG IntT2; + ULONGLONG IntT3; + ULONGLONG IntT4; + ULONGLONG IntSp; + ULONGLONG IntTeb; + ULONGLONG IntT5; + ULONGLONG IntT6; + ULONGLONG IntT7; + ULONGLONG IntT8; + ULONGLONG IntT9; + ULONGLONG IntT10; + ULONGLONG IntT11; + ULONGLONG IntT12; + ULONGLONG IntT13; + ULONGLONG IntT14; + ULONGLONG IntT15; + ULONGLONG IntT16; + ULONGLONG IntT17; + ULONGLONG IntT18; + ULONGLONG IntT19; + ULONGLONG IntT20; + ULONGLONG IntT21; + ULONGLONG IntT22; + ULONGLONG IntNats; + ULONGLONG Preds; + ULONGLONG BrRp; + ULONGLONG BrS0; + ULONGLONG BrS1; + ULONGLONG BrS2; + ULONGLONG BrS3; + ULONGLONG BrS4; + ULONGLONG BrT0; + ULONGLONG BrT1; + ULONGLONG ApUNAT; + ULONGLONG ApLC; + ULONGLONG ApEC; + ULONGLONG ApCCV; + ULONGLONG ApDCR; + ULONGLONG RsPFS; + ULONGLONG RsBSP; + ULONGLONG RsBSPSTORE; + ULONGLONG RsRSC; + ULONGLONG RsRNAT; + ULONGLONG StIPSR; + ULONGLONG StIIP; + ULONGLONG StIFS; + ULONGLONG StFCR; + ULONGLONG Eflag; + ULONGLONG SegCSD; + ULONGLONG SegSSD; + ULONGLONG Cflag; + ULONGLONG StFSR; + ULONGLONG StFIR; + ULONGLONG StFDR; + ULONGLONG UNUSEDPACK; + } CONTEXT,*PCONTEXT; + + typedef struct _PLABEL_DESCRIPTOR { + ULONGLONG EntryPoint; + ULONGLONG GlobalPointer; + } PLABEL_DESCRIPTOR,*PPLABEL_DESCRIPTOR; + + typedef struct _RUNTIME_FUNCTION { + DWORD BeginAddress; + DWORD EndAddress; + DWORD UnwindInfoAddress; + } RUNTIME_FUNCTION,*PRUNTIME_FUNCTION; + + typedef PRUNTIME_FUNCTION (*PGET_RUNTIME_FUNCTION_CALLBACK)(DWORD64 ControlPc,PVOID Context); + typedef DWORD (*POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK)(HANDLE Process,PVOID TableAddress,PDWORD Entries,PRUNTIME_FUNCTION *Functions); + +#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback" + + VOID __jump_unwind(ULONGLONG TargetMsFrame,ULONGLONG TargetBsFrame,ULONGLONG TargetPc); +#endif /* end of _IA64_ */ + +/* http://www.nynaeve.net/?p=99 */ + +#define EXCEPTION_NONCONTINUABLE 0x1 +#define EXCEPTION_UNWINDING 0x2 +#define EXCEPTION_EXIT_UNWIND 0x4 +#define EXCEPTION_STACK_INVALID 0x8 +#define EXCEPTION_NESTED_CALL 0x10 +#define EXCEPTION_TARGET_UNWIND 0x20 +#define EXCEPTION_COLLIDED_UNWIND 0x40 +#define EXCEPTION_UNWIND 0x66 + +#define IS_UNWINDING(f) ((f & EXCEPTION_UNWIND) != 0) +#define IS_DISPATCHING(f) ((f & EXCEPTION_UNWIND) == 0) +#define IS_TARGET_UNWIND(f) ((f & EXCEPTION_TARGET_UNWIND) != 0) + +#define EXCEPTION_MAXIMUM_PARAMETERS 15 + + typedef struct _EXCEPTION_RECORD { + DWORD ExceptionCode; + DWORD ExceptionFlags; + struct _EXCEPTION_RECORD *ExceptionRecord; + PVOID ExceptionAddress; + DWORD NumberParameters; + ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD; + + typedef EXCEPTION_RECORD *PEXCEPTION_RECORD; + + typedef struct _EXCEPTION_RECORD32 { + DWORD ExceptionCode; + DWORD ExceptionFlags; + DWORD ExceptionRecord; + DWORD ExceptionAddress; + DWORD NumberParameters; + DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD32,*PEXCEPTION_RECORD32; + + typedef struct _EXCEPTION_RECORD64 { + DWORD ExceptionCode; + DWORD ExceptionFlags; + DWORD64 ExceptionRecord; + DWORD64 ExceptionAddress; + DWORD NumberParameters; + DWORD __unusedAlignment; + DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; + } EXCEPTION_RECORD64,*PEXCEPTION_RECORD64; + + typedef struct _EXCEPTION_POINTERS { + PEXCEPTION_RECORD ExceptionRecord; + PCONTEXT ContextRecord; + } EXCEPTION_POINTERS,*PEXCEPTION_POINTERS; + +#ifdef __ia64__ + NTSYSAPI VOID NTAPI RtlUnwind2 (FRAME_POINTERS TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord); +#endif + +#ifdef __x86_64__ + +#define UNWIND_HISTORY_TABLE_NONE 0 +#define UNWIND_HISTORY_TABLE_GLOBAL 1 +#define UNWIND_HISTORY_TABLE_LOCAL 2 + + /* http://msdn.microsoft.com/en-us/library/b6sf5kbd(VS.80).aspx */ + + struct _DISPATCHER_CONTEXT; + typedef struct _DISPATCHER_CONTEXT DISPATCHER_CONTEXT; + typedef struct _DISPATCHER_CONTEXT *PDISPATCHER_CONTEXT; + + struct _DISPATCHER_CONTEXT { + ULONG64 ControlPc; + ULONG64 ImageBase; + PRUNTIME_FUNCTION FunctionEntry; + ULONG64 EstablisherFrame; + ULONG64 TargetIp; + PCONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + /* http://www.nynaeve.net/?p=99 */ + struct _UNWIND_HISTORY_TABLE *HistoryTable; + ULONG ScopeIndex; + ULONG Fill0; + }; + +#ifdef _ARM64EC_ + typedef struct _DISPATCHER_CONTEXT_ARM64EC { + DWORD64 ControlPc; + DWORD64 ImageBase; + PRUNTIME_FUNCTION FunctionEntry; + DWORD64 EstablisherFrame; + union { + DWORD64 TargetIp; + DWORD64 TargetPc; + } DUMMYUNIONNAME; + PCONTEXT ContextRecord; + PEXCEPTION_ROUTINE LanguageHandler; + PVOID HandlerData; + struct _UNWIND_HISTORY_TABLE *HistoryTable; + DWORD ScopeIndex; + BOOLEAN ControlPcIsUnwound; + PBYTE NonVolatileRegisters; + } DISPATCHER_CONTEXT_ARM64EC, *PDISPATCHER_CONTEXT_ARM64EC; +#endif /* _ARM64EC_ */ + + /* http://msdn.microsoft.com/en-us/library/ms680617(VS.85).aspx */ + + typedef struct _KNONVOLATILE_CONTEXT_POINTERS + { + PM128A FloatingContext[16]; + PULONG64 IntegerContext[16]; + } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; +#endif /* defined(__x86_64__) */ + + typedef PVOID PACCESS_TOKEN; + typedef PVOID PSECURITY_DESCRIPTOR; + typedef PVOID PSID; + typedef PVOID PCLAIMS_BLOB; + typedef DWORD ACCESS_MASK; + typedef ACCESS_MASK *PACCESS_MASK; + +#define DELETE (__MSABI_LONG(0x00010000)) +#define READ_CONTROL (__MSABI_LONG(0x00020000)) +#define WRITE_DAC (__MSABI_LONG(0x00040000)) +#define WRITE_OWNER (__MSABI_LONG(0x00080000)) +#define SYNCHRONIZE (__MSABI_LONG(0x00100000)) + +#define STANDARD_RIGHTS_REQUIRED (__MSABI_LONG(0x000F0000)) + +#define STANDARD_RIGHTS_READ (READ_CONTROL) +#define STANDARD_RIGHTS_WRITE (READ_CONTROL) +#define STANDARD_RIGHTS_EXECUTE (READ_CONTROL) + +#define STANDARD_RIGHTS_ALL (__MSABI_LONG(0x001F0000)) + +#define SPECIFIC_RIGHTS_ALL (__MSABI_LONG(0x0000FFFF)) + +#define ACCESS_SYSTEM_SECURITY (__MSABI_LONG(0x01000000)) +#define MAXIMUM_ALLOWED (__MSABI_LONG(0x02000000)) + +#define GENERIC_READ (__MSABI_LONG(0x80000000)) +#define GENERIC_WRITE (__MSABI_LONG(0x40000000)) +#define GENERIC_EXECUTE (__MSABI_LONG(0x20000000)) +#define GENERIC_ALL (__MSABI_LONG(0x10000000)) + + typedef struct _GENERIC_MAPPING { + ACCESS_MASK GenericRead; + ACCESS_MASK GenericWrite; + ACCESS_MASK GenericExecute; + ACCESS_MASK GenericAll; + } GENERIC_MAPPING; + typedef GENERIC_MAPPING *PGENERIC_MAPPING; + +#include + typedef struct _LUID_AND_ATTRIBUTES { + LUID Luid; + DWORD Attributes; + } LUID_AND_ATTRIBUTES,*PLUID_AND_ATTRIBUTES; + typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; + typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY; +#include + +#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED +#define SID_IDENTIFIER_AUTHORITY_DEFINED + typedef struct _SID_IDENTIFIER_AUTHORITY { + BYTE Value[6]; + } SID_IDENTIFIER_AUTHORITY,*PSID_IDENTIFIER_AUTHORITY; +#endif /* SID_IDENTIFIER_AUTHORITY_DEFINED */ + +#ifndef SID_DEFINED +#define SID_DEFINED + typedef struct _SID { + BYTE Revision; + BYTE SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + DWORD SubAuthority[ANYSIZE_ARRAY]; + } SID,*PISID; +#endif /* SID_DEFINED */ + +#define SID_REVISION (1) +#define SID_MAX_SUB_AUTHORITIES (15) +#define SID_RECOMMENDED_SUB_AUTHORITIES (1) +#ifndef __WIDL__ +#define SECURITY_MAX_SID_SIZE (sizeof (SID) - sizeof (DWORD) + (SID_MAX_SUB_AUTHORITIES *sizeof (DWORD))) +#endif + +#define SID_HASH_SIZE 32 + + typedef enum _SID_NAME_USE { + SidTypeUser = 1,SidTypeGroup,SidTypeDomain,SidTypeAlias,SidTypeWellKnownGroup,SidTypeDeletedAccount,SidTypeInvalid,SidTypeUnknown,SidTypeComputer,SidTypeLabel,SidTypeLogonSession + } SID_NAME_USE,*PSID_NAME_USE; + + typedef struct _SID_AND_ATTRIBUTES { +#ifdef __WIDL__ + PISID Sid; +#else + PSID Sid; +#endif + DWORD Attributes; + } SID_AND_ATTRIBUTES,*PSID_AND_ATTRIBUTES; + + typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; + typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY; + + typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY; + + typedef struct _SID_AND_ATTRIBUTES_HASH { + DWORD SidCount; + PSID_AND_ATTRIBUTES SidAttr; + SID_HASH_ENTRY Hash[SID_HASH_SIZE]; + } SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH; + + typedef struct _ATTRIBUTES_AND_SID { + UINT32 Attributes; + DWORD SidStart; + } ATTRIBUTES_AND_SID, *PATTRIBUTES_AND_SID; + +#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} +#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} +#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} +#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} +#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} +#define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9} + +#define SECURITY_NULL_RID (__MSABI_LONG(0x00000000)) +#define SECURITY_WORLD_RID (__MSABI_LONG(0x00000000)) +#define SECURITY_LOCAL_RID (__MSABI_LONG(0x00000000)) +#define SECURITY_LOCAL_LOGON_RID (__MSABI_LONG(0x00000001)) + +#define SECURITY_CREATOR_OWNER_RID (__MSABI_LONG(0x00000000)) +#define SECURITY_CREATOR_GROUP_RID (__MSABI_LONG(0x00000001)) +#define SECURITY_CREATOR_OWNER_SERVER_RID (__MSABI_LONG(0x00000002)) +#define SECURITY_CREATOR_GROUP_SERVER_RID (__MSABI_LONG(0x00000003)) +#define SECURITY_CREATOR_OWNER_RIGHTS_RID (__MSABI_LONG(0x00000004)) + +#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} + +#define SECURITY_DIALUP_RID (__MSABI_LONG(0x00000001)) +#define SECURITY_NETWORK_RID (__MSABI_LONG(0x00000002)) +#define SECURITY_BATCH_RID (__MSABI_LONG(0x00000003)) +#define SECURITY_INTERACTIVE_RID (__MSABI_LONG(0x00000004)) +#define SECURITY_LOGON_IDS_RID (__MSABI_LONG(0x00000005)) +#define SECURITY_LOGON_IDS_RID_COUNT (__MSABI_LONG(3)) +#define SECURITY_SERVICE_RID (__MSABI_LONG(0x00000006)) +#define SECURITY_ANONYMOUS_LOGON_RID (__MSABI_LONG(0x00000007)) +#define SECURITY_PROXY_RID (__MSABI_LONG(0x00000008)) +#define SECURITY_ENTERPRISE_CONTROLLERS_RID (__MSABI_LONG(0x00000009)) +#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID +#define SECURITY_PRINCIPAL_SELF_RID (__MSABI_LONG(0x0000000A)) +#define SECURITY_AUTHENTICATED_USER_RID (__MSABI_LONG(0x0000000B)) +#define SECURITY_RESTRICTED_CODE_RID (__MSABI_LONG(0x0000000C)) +#define SECURITY_TERMINAL_SERVER_RID (__MSABI_LONG(0x0000000D)) +#define SECURITY_REMOTE_LOGON_RID (__MSABI_LONG(0x0000000E)) +#define SECURITY_THIS_ORGANIZATION_RID (__MSABI_LONG(0x0000000F)) +#define SECURITY_IUSER_RID (__MSABI_LONG(0x00000011)) +#define SECURITY_LOCAL_SYSTEM_RID (__MSABI_LONG(0x00000012)) +#define SECURITY_LOCAL_SERVICE_RID (__MSABI_LONG(0x00000013)) +#define SECURITY_NETWORK_SERVICE_RID (__MSABI_LONG(0x00000014)) + +#define SECURITY_NT_NON_UNIQUE (__MSABI_LONG(0x00000015)) +#define SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT (__MSABI_LONG(3)) + +#define SECURITY_ENTERPRISE_READONLY_CONTROLLERS_RID (__MSABI_LONG(0x00000016)) + +#define SECURITY_BUILTIN_DOMAIN_RID (__MSABI_LONG(0x00000020)) +#define SECURITY_WRITE_RESTRICTED_CODE_RID (__MSABI_LONG(0x00000021)) + +#define SECURITY_PACKAGE_BASE_RID (__MSABI_LONG(0x00000040)) +#define SECURITY_PACKAGE_RID_COUNT (__MSABI_LONG(2)) +#define SECURITY_PACKAGE_NTLM_RID (__MSABI_LONG(0x0000000A)) +#define SECURITY_PACKAGE_SCHANNEL_RID (__MSABI_LONG(0x0000000E)) +#define SECURITY_PACKAGE_DIGEST_RID (__MSABI_LONG(0x00000015)) + +#define SECURITY_CRED_TYPE_BASE_RID (__MSABI_LONG(0x00000041)) +#define SECURITY_CRED_TYPE_RID_COUNT (__MSABI_LONG(2)) +#define SECURITY_CRED_TYPE_THIS_ORG_CERT_RID (__MSABI_LONG(0x00000001)) + +#define SECURITY_MIN_BASE_RID (__MSABI_LONG(0x00000050)) + +#define SECURITY_SERVICE_ID_BASE_RID (__MSABI_LONG(0x00000050)) +#define SECURITY_SERVICE_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_RESERVED_ID_BASE_RID (__MSABI_LONG(0x00000051)) + +#define SECURITY_APPPOOL_ID_BASE_RID (__MSABI_LONG(0x00000052)) +#define SECURITY_APPPOOL_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_VIRTUALSERVER_ID_BASE_RID (__MSABI_LONG(0x00000053)) +#define SECURITY_VIRTUALSERVER_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_USERMODEDRIVERHOST_ID_BASE_RID (__MSABI_LONG(0x00000054)) +#define SECURITY_USERMODEDRIVERHOST_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_BASE_RID (__MSABI_LONG(0x00000055)) +#define SECURITY_CLOUD_INFRASTRUCTURE_SERVICES_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_WMIHOST_ID_BASE_RID (__MSABI_LONG(0x00000056)) +#define SECURITY_WMIHOST_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_TASK_ID_BASE_RID (__MSABI_LONG(0x00000057)) + +#define SECURITY_NFS_ID_BASE_RID (__MSABI_LONG(0x00000058)) + +#define SECURITY_COM_ID_BASE_RID (__MSABI_LONG(0x00000059)) + +#define SECURITY_WINDOW_MANAGER_BASE_RID (__MSABI_LONG(0x0000005a)) + +#define SECURITY_RDV_GFX_BASE_RID (__MSABI_LONG(0x0000005b)) + +#define SECURITY_DASHOST_ID_BASE_RID (__MSABI_LONG(0x0000005c)) +#define SECURITY_DASHOST_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_USERMANAGER_ID_BASE_RID (__MSABI_LONG(0x0000005d)) +#define SECURITY_USERMANAGER_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_WINRM_ID_BASE_RID (__MSABI_LONG(0x0000005e)) +#define SECURITY_WINRM_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_CCG_ID_BASE_RID (__MSABI_LONG(0x0000005f)) +#define SECURITY_UMFD_BASE_RID (__MSABI_LONG(0x00000060)) +#define SECURITY_UNIQUIFIED_SERVICE_BASE_RID (__MSABI_LONG(0x00000061)) + +#define SECURITY_VIRTUALACCOUNT_ID_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_EDGE_CLOUD_INFRASTRUCTURE_SERVICE_ID_BASE_RID (__MSABI_LONG(0x00000062)) + +#define SECURITY_RESTRICTED_SERVICES_BASE_RID (__MSABI_LONG(0x00000063)) +#define SECURITY_RESTRICTED_SERVICES_RID_COUNT (__MSABI_LONG(6)) + +#define SECURITY_MAX_BASE_RID (__MSABI_LONG(0x0000006f)) + +#define SECURITY_MAX_ALWAYS_FILTERED (__MSABI_LONG(0x000003E7)) +#define SECURITY_MIN_NEVER_FILTERED (__MSABI_LONG(0x000003E8)) + +#define SECURITY_OTHER_ORGANIZATION_RID (__MSABI_LONG(0x000003E8)) + +#define SECURITY_WINDOWSMOBILE_ID_BASE_RID (__MSABI_LONG(0x00000070)) + +#define SECURITY_INSTALLER_GROUP_CAPABILITY_BASE (0x20) +#define SECURITY_INSTALLER_GROUP_CAPABILITY_RID_COUNT (9) + +#define SECURITY_INSTALLER_CAPABILITY_RID_COUNT (10) + +#define SECURITY_LOCAL_ACCOUNT_RID (__MSABI_LONG(0x00000071)) +#define SECURITY_LOCAL_ACCOUNT_AND_ADMIN_RID (__MSABI_LONG(0x00000072)) + +#define DOMAIN_GROUP_RID_AUTHORIZATION_DATA_IS_COMPOUNDED (__MSABI_LONG(0x000001f0)) +#define DOMAIN_GROUP_RID_AUTHORIZATION_DATA_CONTAINS_CLAIMS (__MSABI_LONG(0x000001f1)) +#define DOMAIN_GROUP_RID_ENTERPRISE_READONLY_DOMAIN_CONTROLLERS (__MSABI_LONG(0x000001f2)) + +#define FOREST_USER_RID_MAX (__MSABI_LONG(0x000001F3)) + +#define DOMAIN_USER_RID_ADMIN (__MSABI_LONG(0x000001F4)) +#define DOMAIN_USER_RID_GUEST (__MSABI_LONG(0x000001F5)) +#define DOMAIN_USER_RID_KRBTGT (__MSABI_LONG(0x000001F6)) +#define DOMAIN_USER_RID_DEFAULT_ACCOUNT (__MSABI_LONG(0x000001F7)) +#define DOMAIN_USER_RID_WDAG_ACCOUNT (__MSABI_LONG(0x000001F8)) + +#define DOMAIN_USER_RID_MAX (__MSABI_LONG(0x000003E7)) + +#define DOMAIN_GROUP_RID_ADMINS (__MSABI_LONG(0x00000200)) +#define DOMAIN_GROUP_RID_USERS (__MSABI_LONG(0x00000201)) +#define DOMAIN_GROUP_RID_GUESTS (__MSABI_LONG(0x00000202)) +#define DOMAIN_GROUP_RID_COMPUTERS (__MSABI_LONG(0x00000203)) +#define DOMAIN_GROUP_RID_CONTROLLERS (__MSABI_LONG(0x00000204)) +#define DOMAIN_GROUP_RID_CERT_ADMINS (__MSABI_LONG(0x00000205)) +#define DOMAIN_GROUP_RID_SCHEMA_ADMINS (__MSABI_LONG(0x00000206)) +#define DOMAIN_GROUP_RID_ENTERPRISE_ADMINS (__MSABI_LONG(0x00000207)) +#define DOMAIN_GROUP_RID_POLICY_ADMINS (__MSABI_LONG(0x00000208)) +#define DOMAIN_GROUP_RID_READONLY_CONTROLLERS (__MSABI_LONG(0x00000209)) +#define DOMAIN_GROUP_RID_CLONEABLE_CONTROLLERS (__MSABI_LONG(0x0000020a)) +#define DOMAIN_GROUP_RID_CDC_RESERVED (__MSABI_LONG(0x0000020c)) +#define DOMAIN_GROUP_RID_PROTECTED_USERS (__MSABI_LONG(0x0000020d)) +#define DOMAIN_GROUP_RID_KEY_ADMINS (__MSABI_LONG(0x0000020e)) +#define DOMAIN_GROUP_RID_ENTERPRISE_KEY_ADMINS (__MSABI_LONG(0x0000020f)) +#define DOMAIN_GROUP_RID_FOREST_TRUSTS (__MSABI_LONG(0x00000210)) +#define DOMAIN_GROUP_RID_EXTERNAL_TRUSTS (__MSABI_LONG(0x00000211)) + +#define DOMAIN_ALIAS_RID_ADMINS (__MSABI_LONG(0x00000220)) +#define DOMAIN_ALIAS_RID_USERS (__MSABI_LONG(0x00000221)) +#define DOMAIN_ALIAS_RID_GUESTS (__MSABI_LONG(0x00000222)) +#define DOMAIN_ALIAS_RID_POWER_USERS (__MSABI_LONG(0x00000223)) + +#define DOMAIN_ALIAS_RID_ACCOUNT_OPS (__MSABI_LONG(0x00000224)) +#define DOMAIN_ALIAS_RID_SYSTEM_OPS (__MSABI_LONG(0x00000225)) +#define DOMAIN_ALIAS_RID_PRINT_OPS (__MSABI_LONG(0x00000226)) +#define DOMAIN_ALIAS_RID_BACKUP_OPS (__MSABI_LONG(0x00000227)) + +#define DOMAIN_ALIAS_RID_REPLICATOR (__MSABI_LONG(0x00000228)) +#define DOMAIN_ALIAS_RID_RAS_SERVERS (__MSABI_LONG(0x00000229)) +#define DOMAIN_ALIAS_RID_PREW2KCOMPACCESS (__MSABI_LONG(0x0000022A)) +#define DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS (__MSABI_LONG(0x0000022B)) +#define DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS (__MSABI_LONG(0x0000022C)) +#define DOMAIN_ALIAS_RID_INCOMING_FOREST_TRUST_BUILDERS (__MSABI_LONG(0x0000022D)) + +#define DOMAIN_ALIAS_RID_MONITORING_USERS (__MSABI_LONG(0x0000022E)) +#define DOMAIN_ALIAS_RID_LOGGING_USERS (__MSABI_LONG(0x0000022F)) +#define DOMAIN_ALIAS_RID_AUTHORIZATIONACCESS (__MSABI_LONG(0x00000230)) +#define DOMAIN_ALIAS_RID_TS_LICENSE_SERVERS (__MSABI_LONG(0x00000231)) +#define DOMAIN_ALIAS_RID_DCOM_USERS (__MSABI_LONG(0x00000232)) + +#define DOMAIN_ALIAS_RID_IUSERS (__MSABI_LONG(0x00000238)) +#define DOMAIN_ALIAS_RID_CRYPTO_OPERATORS (__MSABI_LONG(0x00000239)) +#define DOMAIN_ALIAS_RID_CACHEABLE_PRINCIPALS_GROUP (__MSABI_LONG(0x0000023B)) +#define DOMAIN_ALIAS_RID_NON_CACHEABLE_PRINCIPALS_GROUP (__MSABI_LONG(0x0000023C)) +#define DOMAIN_ALIAS_RID_EVENT_LOG_READERS_GROUP (__MSABI_LONG(0x0000023D)) +#define DOMAIN_ALIAS_RID_CERTSVC_DCOM_ACCESS_GROUP (__MSABI_LONG(0x0000023e)) +#define DOMAIN_ALIAS_RID_RDS_REMOTE_ACCESS_SERVERS (__MSABI_LONG(0x0000023f)) +#define DOMAIN_ALIAS_RID_RDS_ENDPOINT_SERVERS (__MSABI_LONG(0x00000240)) +#define DOMAIN_ALIAS_RID_RDS_MANAGEMENT_SERVERS (__MSABI_LONG(0x00000241)) +#define DOMAIN_ALIAS_RID_HYPER_V_ADMINS (__MSABI_LONG(0x00000242)) +#define DOMAIN_ALIAS_RID_ACCESS_CONTROL_ASSISTANCE_OPS (__MSABI_LONG(0x00000243)) +#define DOMAIN_ALIAS_RID_REMOTE_MANAGEMENT_USERS (__MSABI_LONG(0x00000244)) +#define DOMAIN_ALIAS_RID_DEFAULT_ACCOUNT (__MSABI_LONG(0x00000245)) +#define DOMAIN_ALIAS_RID_STORAGE_REPLICA_ADMINS (__MSABI_LONG(0x00000246)) +#define DOMAIN_ALIAS_RID_DEVICE_OWNERS (__MSABI_LONG(0x00000247)) +#define DOMAIN_ALIAS_RID_USER_MODE_HARDWARE_OPERATORS (__MSABI_LONG(0x00000248)) +#define DOMAIN_ALIAS_RID_OPENSSH_USERS (__MSABI_LONG(0x00000249)) + +#define SECURITY_APP_PACKAGE_AUTHORITY {0, 0, 0, 0, 0, 15} + +#define SECURITY_APP_PACKAGE_BASE_RID (__MSABI_LONG(0x00000002)) +#define SECURITY_BUILTIN_APP_PACKAGE_RID_COUNT (__MSABI_LONG(2)) +#define SECURITY_APP_PACKAGE_RID_COUNT (__MSABI_LONG(8)) +#define SECURITY_CAPABILITY_BASE_RID (__MSABI_LONG(0x00000003)) +#define SECURITY_CAPABILITY_APP_RID (__MSABI_LONG(0x000000400)) +#define SECURITY_CAPABILITY_APP_SILO_RID (__MSABI_LONG(0x00010000)) +#define SECURITY_BUILTIN_CAPABILITY_RID_COUNT (__MSABI_LONG(2)) +#define SECURITY_CAPABILITY_RID_COUNT (__MSABI_LONG(5)) +#define SECURITY_PARENT_PACKAGE_RID_COUNT (SECURITY_APP_PACKAGE_RID_COUNT) +#define SECURITY_CHILD_PACKAGE_RID_COUNT (__MSABI_LONG(12)) + +#define SECURITY_BUILTIN_PACKAGE_ANY_PACKAGE (__MSABI_LONG(0x00000001)) +#define SECURITY_BUILTIN_PACKAGE_ANY_RESTRICTED_PACKAGE (__MSABI_LONG(0x00000002)) + +#define SECURITY_CAPABILITY_INTERNET_CLIENT (__MSABI_LONG(0x00000001)) +#define SECURITY_CAPABILITY_INTERNET_CLIENT_SERVER (__MSABI_LONG(0x00000002)) +#define SECURITY_CAPABILITY_PRIVATE_NETWORK_CLIENT_SERVER (__MSABI_LONG(0x00000003)) +#define SECURITY_CAPABILITY_PICTURES_LIBRARY (__MSABI_LONG(0x00000004)) +#define SECURITY_CAPABILITY_VIDEOS_LIBRARY (__MSABI_LONG(0x00000005)) +#define SECURITY_CAPABILITY_MUSIC_LIBRARY (__MSABI_LONG(0x00000006)) +#define SECURITY_CAPABILITY_DOCUMENTS_LIBRARY (__MSABI_LONG(0x00000007)) +#define SECURITY_CAPABILITY_ENTERPRISE_AUTHENTICATION (__MSABI_LONG(0x00000008)) +#define SECURITY_CAPABILITY_SHARED_USER_CERTIFICATES (__MSABI_LONG(0x00000009)) +#define SECURITY_CAPABILITY_REMOVABLE_STORAGE (__MSABI_LONG(0x0000000a)) +#define SECURITY_CAPABILITY_APPOINTMENTS (__MSABI_LONG(0x0000000b)) +#define SECURITY_CAPABILITY_CONTACTS (__MSABI_LONG(0x0000000c)) +#define SECURITY_CAPABILITY_INTERNET_EXPLORER (__MSABI_LONG(0x00001000)) + + + +#define SECURITY_MANDATORY_LABEL_AUTHORITY {0,0,0,0,0,16} +#define SECURITY_MANDATORY_UNTRUSTED_RID (__MSABI_LONG(0x00000000)) +#define SECURITY_MANDATORY_LOW_RID (__MSABI_LONG(0x00001000)) +#define SECURITY_MANDATORY_MEDIUM_RID (__MSABI_LONG(0x00002000)) +#define SECURITY_MANDATORY_MEDIUM_PLUS_RID (SECURITY_MANDATORY_MEDIUM_RID + 0x100) +#define SECURITY_MANDATORY_HIGH_RID (__MSABI_LONG(0x00003000)) +#define SECURITY_MANDATORY_SYSTEM_RID (__MSABI_LONG(0x00004000)) +#define SECURITY_MANDATORY_PROTECTED_PROCESS_RID (__MSABI_LONG(0x00005000)) + +#define SECURITY_MANDATORY_MAXIMUM_USER_RID SECURITY_MANDATORY_SYSTEM_RID + +#define MANDATORY_LEVEL_TO_MANDATORY_RID(IL) (IL * 0x1000) + +#define SECURITY_SCOPED_POLICY_ID_AUTHORITY {0, 0, 0, 0, 0, 17} + +#define SECURITY_AUTHENTICATION_AUTHORITY {0, 0, 0, 0, 0, 18} +#define SECURITY_AUTHENTICATION_AUTHORITY_RID_COUNT (__MSABI_LONG(1)) +#define SECURITY_AUTHENTICATION_AUTHORITY_ASSERTED_RID (__MSABI_LONG(0x00000001)) +#define SECURITY_AUTHENTICATION_SERVICE_ASSERTED_RID (__MSABI_LONG(0x00000002)) +#define SECURITY_AUTHENTICATION_FRESH_KEY_AUTH_RID (__MSABI_LONG(0x00000003)) +#define SECURITY_AUTHENTICATION_KEY_TRUST_RID (__MSABI_LONG(0x00000004)) +#define SECURITY_AUTHENTICATION_KEY_PROPERTY_MFA_RID (__MSABI_LONG(0x00000005)) +#define SECURITY_AUTHENTICATION_KEY_PROPERTY_ATTESTATION_RID (__MSABI_LONG(0x00000006)) + +#define SECURITY_PROCESS_TRUST_AUTHORITY {0,0,0,0,0,19} +#define SECURITY_PROCESS_TRUST_AUTHORITY_RID_COUNT (__MSABI_LONG(2)) + +#define SECURITY_PROCESS_PROTECTION_TYPE_FULL_RID (__MSABI_LONG(0x00000400)) +#define SECURITY_PROCESS_PROTECTION_TYPE_LITE_RID (__MSABI_LONG(0x00000200)) +#define SECURITY_PROCESS_PROTECTION_TYPE_NONE_RID (__MSABI_LONG(0x00000000)) + +#define SECURITY_PROCESS_PROTECTION_LEVEL_WINTCB_RID (__MSABI_LONG(0x00002000)) +#define SECURITY_PROCESS_PROTECTION_LEVEL_WINDOWS_RID (__MSABI_LONG(0x00001000)) +#define SECURITY_PROCESS_PROTECTION_LEVEL_APP_RID (__MSABI_LONG(0x00000800)) +#define SECURITY_PROCESS_PROTECTION_LEVEL_ANTIMALWARE_RID (__MSABI_LONG(0x00000600)) +#define SECURITY_PROCESS_PROTECTION_LEVEL_AUTHENTICODE_RID (__MSABI_LONG(0x00000400)) +#define SECURITY_PROCESS_PROTECTION_LEVEL_NONE_RID (__MSABI_LONG(0x00000000)) + +#define SECURITY_TRUSTED_INSTALLER_RID1 956008885 +#define SECURITY_TRUSTED_INSTALLER_RID2 3418522649 +#define SECURITY_TRUSTED_INSTALLER_RID3 1831038044 +#define SECURITY_TRUSTED_INSTALLER_RID4 1853292631 +#define SECURITY_TRUSTED_INSTALLER_RID5 2271478464 + + typedef enum { + WinNullSid = 0,WinWorldSid = 1,WinLocalSid = 2,WinCreatorOwnerSid = 3, + WinCreatorGroupSid = 4,WinCreatorOwnerServerSid = 5, + WinCreatorGroupServerSid = 6,WinNtAuthoritySid = 7,WinDialupSid = 8, + WinNetworkSid = 9,WinBatchSid = 10,WinInteractiveSid = 11, + WinServiceSid = 12,WinAnonymousSid = 13,WinProxySid = 14, + WinEnterpriseControllersSid = 15,WinSelfSid = 16, + WinAuthenticatedUserSid = 17,WinRestrictedCodeSid = 18, + WinTerminalServerSid = 19,WinRemoteLogonIdSid = 20,WinLogonIdsSid = 21, + WinLocalSystemSid = 22,WinLocalServiceSid = 23,WinNetworkServiceSid = 24, + WinBuiltinDomainSid = 25,WinBuiltinAdministratorsSid = 26, + WinBuiltinUsersSid = 27,WinBuiltinGuestsSid = 28, + WinBuiltinPowerUsersSid = 29,WinBuiltinAccountOperatorsSid = 30, + WinBuiltinSystemOperatorsSid = 31,WinBuiltinPrintOperatorsSid = 32, + WinBuiltinBackupOperatorsSid = 33,WinBuiltinReplicatorSid = 34, + WinBuiltinPreWindows2000CompatibleAccessSid = 35, + WinBuiltinRemoteDesktopUsersSid = 36, + WinBuiltinNetworkConfigurationOperatorsSid = 37, + WinAccountAdministratorSid = 38,WinAccountGuestSid = 39, + WinAccountKrbtgtSid = 40,WinAccountDomainAdminsSid = 41, + WinAccountDomainUsersSid = 42,WinAccountDomainGuestsSid = 43, + WinAccountComputersSid = 44,WinAccountControllersSid = 45, + WinAccountCertAdminsSid = 46,WinAccountSchemaAdminsSid = 47, + WinAccountEnterpriseAdminsSid = 48,WinAccountPolicyAdminsSid = 49, + WinAccountRasAndIasServersSid = 50,WinNTLMAuthenticationSid = 51, + WinDigestAuthenticationSid = 52,WinSChannelAuthenticationSid = 53, + WinThisOrganizationSid = 54,WinOtherOrganizationSid = 55, + WinBuiltinIncomingForestTrustBuildersSid = 56, + WinBuiltinPerfMonitoringUsersSid = 57,WinBuiltinPerfLoggingUsersSid = 58, + WinBuiltinAuthorizationAccessSid = 59, + WinBuiltinTerminalServerLicenseServersSid = 60, + WinBuiltinDCOMUsersSid = 61,WinBuiltinIUsersSid = 62, + WinIUserSid = 63, WinBuiltinCryptoOperatorsSid = 64, + WinUntrustedLabelSid = 65, WinLowLabelSid = 66, WinMediumLabelSid = 67, + WinHighLabelSid = 68, WinSystemLabelSid = 69, WinWriteRestrictedCodeSid = 70, + WinCreatorOwnerRightsSid = 71, WinCacheablePrincipalsGroupSid = 72, + WinNonCacheablePrincipalsGroupSid = 73, WinEnterpriseReadonlyControllersSid = 74, + WinAccountReadonlyControllersSid = 75, WinBuiltinEventLogReadersGroup = 76, + WinNewEnterpriseReadonlyControllersSid = 77, WinBuiltinCertSvcDComAccessGroup = 78, + WinMediumPlusLabelSid = 79, WinLocalLogonSid = 80, WinConsoleLogonSid = 81, + WinThisOrganizationCertificateSid = 82, WinApplicationPackageAuthoritySid = 83, + WinBuiltinAnyPackageSid = 84, WinCapabilityInternetClientSid = 85, + WinCapabilityInternetClientServerSid = 86, + WinCapabilityPrivateNetworkClientServerSid = 87, + WinCapabilityPicturesLibrarySid = 88, WinCapabilityVideosLibrarySid = 89, + WinCapabilityMusicLibrarySid = 90, WinCapabilityDocumentsLibrarySid = 91, + WinCapabilitySharedUserCertificatesSid = 92, WinCapabilityEnterpriseAuthenticationSid = 93, + WinCapabilityRemovableStorageSid = 94, WinBuiltinRDSRemoteAccessServersSid = 95, + WinBuiltinRDSEndpointServersSid = 96, WinBuiltinRDSManagementServersSid = 97, + WinUserModeDriversSid = 98, WinBuiltinHyperVAdminsSid = 99, + WinAccountCloneableControllersSid = 100, + WinBuiltinAccessControlAssistanceOperatorsSid = 101, + WinBuiltinRemoteManagementUsersSid = 102, WinAuthenticationAuthorityAssertedSid = 103, + WinAuthenticationServiceAssertedSid = 104, + WinLocalAccountSid = 105, + WinLocalAccountAndAdministratorSid = 106, + WinAccountProtectedUsersSid = 107, + WinCapabilityAppointmentsSid = 108, + WinCapabilityContactsSid = 109, + WinAccountDefaultSystemManagedSid = 110, + WinBuiltinDefaultSystemManagedGroupSid = 111, + WinBuiltinStorageReplicaAdminsSid = 112, + WinAccountKeyAdminsSid = 113, + WinAccountEnterpriseKeyAdminsSid = 114, + WinAuthenticationKeyTrustSid = 115, + WinAuthenticationKeyPropertyMFASid = 116, + WinAuthenticationKeyPropertyAttestationSid = 117, + WinAuthenticationFreshKeyAuthSid = 118, + WinBuiltinDeviceOwnersSid = 119, + WinBuiltinUserModeHardwareOperatorsSid = 120, + WinBuiltinOpenSSHUsersSid = 121 +} WELL_KNOWN_SID_TYPE; + +#define SYSTEM_LUID { 0x3e7, 0x0 } +#define ANONYMOUS_LOGON_LUID { 0x3e6, 0x0 } +#define LOCALSERVICE_LUID { 0x3e5, 0x0 } +#define NETWORKSERVICE_LUID { 0x3e4, 0x0 } +#define IUSER_LUID { 0x3e3, 0x0 } +#define PROTECTED_TO_SYSTEM_LUID { 0x3e2, 0x0 } + +#define SE_GROUP_MANDATORY (__MSABI_LONG(0x00000001)) +#define SE_GROUP_ENABLED_BY_DEFAULT (__MSABI_LONG(0x00000002)) +#define SE_GROUP_ENABLED (__MSABI_LONG(0x00000004)) +#define SE_GROUP_OWNER (__MSABI_LONG(0x00000008)) +#define SE_GROUP_USE_FOR_DENY_ONLY (__MSABI_LONG(0x00000010)) +#define SE_GROUP_INTEGRITY (__MSABI_LONG(0x00000020)) +#define SE_GROUP_INTEGRITY_ENABLED (__MSABI_LONG(0x00000040)) +#define SE_GROUP_LOGON_ID (__MSABI_LONG(0xC0000000)) +#define SE_GROUP_RESOURCE (__MSABI_LONG(0x20000000)) + +#define SE_GROUP_VALID_ATTRIBUTES (SE_GROUP_MANDATORY | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_ENABLED | SE_GROUP_OWNER | SE_GROUP_USE_FOR_DENY_ONLY | SE_GROUP_LOGON_ID | SE_GROUP_RESOURCE | SE_GROUP_INTEGRITY | SE_GROUP_INTEGRITY_ENABLED) + +#define ACL_REVISION (2) +#define ACL_REVISION_DS (4) + +#define ACL_REVISION1 (1) +#define MIN_ACL_REVISION ACL_REVISION2 +#define ACL_REVISION2 (2) +#define ACL_REVISION3 (3) +#define ACL_REVISION4 (4) +#define MAX_ACL_REVISION ACL_REVISION4 + + typedef struct _ACL { + BYTE AclRevision; + BYTE Sbz1; + WORD AclSize; + WORD AceCount; + WORD Sbz2; + } ACL; + typedef ACL *PACL; + + typedef struct _ACE_HEADER { + BYTE AceType; + BYTE AceFlags; + WORD AceSize; + } ACE_HEADER; + typedef ACE_HEADER *PACE_HEADER; + +#define ACCESS_MIN_MS_ACE_TYPE (0x0) +#define ACCESS_ALLOWED_ACE_TYPE (0x0) +#define ACCESS_DENIED_ACE_TYPE (0x1) +#define SYSTEM_AUDIT_ACE_TYPE (0x2) +#define SYSTEM_ALARM_ACE_TYPE (0x3) +#define ACCESS_MAX_MS_V2_ACE_TYPE (0x3) + +#define ACCESS_ALLOWED_COMPOUND_ACE_TYPE (0x4) +#define ACCESS_MAX_MS_V3_ACE_TYPE (0x4) + +#define ACCESS_MIN_MS_OBJECT_ACE_TYPE (0x5) +#define ACCESS_ALLOWED_OBJECT_ACE_TYPE (0x5) +#define ACCESS_DENIED_OBJECT_ACE_TYPE (0x6) +#define SYSTEM_AUDIT_OBJECT_ACE_TYPE (0x7) +#define SYSTEM_ALARM_OBJECT_ACE_TYPE (0x8) +#define ACCESS_MAX_MS_OBJECT_ACE_TYPE (0x8) + +#define ACCESS_MAX_MS_V4_ACE_TYPE (0x8) +#define ACCESS_MAX_MS_ACE_TYPE (0x8) + +#define ACCESS_ALLOWED_CALLBACK_ACE_TYPE (0x9) +#define ACCESS_DENIED_CALLBACK_ACE_TYPE (0xA) +#define ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE (0xB) +#define ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE (0xC) +#define SYSTEM_AUDIT_CALLBACK_ACE_TYPE (0xD) +#define SYSTEM_ALARM_CALLBACK_ACE_TYPE (0xE) +#define SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE (0xF) +#define SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE (0x10) + +#define SYSTEM_MANDATORY_LABEL_ACE_TYPE (0x11) +#define SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE (0x12) +#define SYSTEM_SCOPED_POLICY_ID_ACE_TYPE (0x13) +#define SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE (0x14) +#define SYSTEM_ACCESS_FILTER_ACE_TYPE (0x15) +#define ACCESS_MAX_MS_V5_ACE_TYPE (0x15) + +#define OBJECT_INHERIT_ACE (0x1) +#define CONTAINER_INHERIT_ACE (0x2) +#define NO_PROPAGATE_INHERIT_ACE (0x4) +#define INHERIT_ONLY_ACE (0x8) +#define INHERITED_ACE (0x10) +#define VALID_INHERIT_FLAGS (0x1F) +#define CRITICAL_ACE_FLAG (0x20) + +#define SUCCESSFUL_ACCESS_ACE_FLAG (0x40) +#define FAILED_ACCESS_ACE_FLAG (0x80) +#define TRUST_PROTECTED_FILTER_ACE_FLAG (0x40) + + typedef struct _ACCESS_ALLOWED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } ACCESS_ALLOWED_ACE; + + typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE; + + typedef struct _ACCESS_DENIED_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } ACCESS_DENIED_ACE; + typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE; + + typedef struct _SYSTEM_AUDIT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_AUDIT_ACE; + typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; + + typedef struct _SYSTEM_ALARM_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_ALARM_ACE; + typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE; + + typedef struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_RESOURCE_ATTRIBUTE_ACE,*PSYSTEM_RESOURCE_ATTRIBUTE_ACE; + + typedef struct _SYSTEM_SCOPED_POLICY_ID_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_SCOPED_POLICY_ID_ACE,*PSYSTEM_SCOPED_POLICY_ID_ACE; + + typedef struct _SYSTEM_MANDATORY_LABEL_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE; + + typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE; + + typedef struct _SYSTEM_ACCESS_FILTER_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_ACCESS_FILTER_ACE, *PSYSTEM_ACCESS_FILTER_ACE; + +#define SYSTEM_MANDATORY_LABEL_NO_WRITE_UP 0x1 +#define SYSTEM_MANDATORY_LABEL_NO_READ_UP 0x2 +#define SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP 0x4 + +#define SYSTEM_MANDATORY_LABEL_VALID_MASK (SYSTEM_MANDATORY_LABEL_NO_WRITE_UP | SYSTEM_MANDATORY_LABEL_NO_READ_UP | SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP) + +#define SYSTEM_PROCESS_TRUST_LABEL_VALID_MASK 0x00ffffff +#define SYSTEM_PROCESS_TRUST_NOCONSTRAINT_MASK 0xffffffff +#define SYSTEM_ACCESS_FILTER_VALID_MASK 0x00ffffff +#define SYSTEM_ACCESS_FILTER_NOCONSTRAINT_MASK 0xffffffff + + typedef struct _ACCESS_ALLOWED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE; + + typedef struct _ACCESS_DENIED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE; + + typedef struct _SYSTEM_AUDIT_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE; + + typedef struct _SYSTEM_ALARM_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE; + + typedef struct _ACCESS_ALLOWED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } ACCESS_ALLOWED_CALLBACK_ACE,*PACCESS_ALLOWED_CALLBACK_ACE; + + typedef struct _ACCESS_DENIED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } ACCESS_DENIED_CALLBACK_ACE,*PACCESS_DENIED_CALLBACK_ACE; + + typedef struct _SYSTEM_AUDIT_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_AUDIT_CALLBACK_ACE,*PSYSTEM_AUDIT_CALLBACK_ACE; + + typedef struct _SYSTEM_ALARM_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; + } SYSTEM_ALARM_CALLBACK_ACE,*PSYSTEM_ALARM_CALLBACK_ACE; + + typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + + } ACCESS_ALLOWED_CALLBACK_OBJECT_ACE,*PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; + + typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } ACCESS_DENIED_CALLBACK_OBJECT_ACE,*PACCESS_DENIED_CALLBACK_OBJECT_ACE; + + typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + } SYSTEM_AUDIT_CALLBACK_OBJECT_ACE,*PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; + + typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; + + } SYSTEM_ALARM_CALLBACK_OBJECT_ACE,*PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; + +#define ACE_OBJECT_TYPE_PRESENT 0x1 +#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x2 + + typedef enum _ACL_INFORMATION_CLASS { + AclRevisionInformation = 1,AclSizeInformation + } ACL_INFORMATION_CLASS; + + typedef struct _ACL_REVISION_INFORMATION { + DWORD AclRevision; + } ACL_REVISION_INFORMATION; + typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION; + + typedef struct _ACL_SIZE_INFORMATION { + DWORD AceCount; + DWORD AclBytesInUse; + DWORD AclBytesFree; + } ACL_SIZE_INFORMATION; + typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION; + +#define SECURITY_DESCRIPTOR_REVISION (1) +#define SECURITY_DESCRIPTOR_REVISION1 (1) + +#define SECURITY_DESCRIPTOR_MIN_LENGTH (sizeof(SECURITY_DESCRIPTOR)) + + typedef WORD SECURITY_DESCRIPTOR_CONTROL,*PSECURITY_DESCRIPTOR_CONTROL; + +#define SE_OWNER_DEFAULTED (0x0001) +#define SE_GROUP_DEFAULTED (0x0002) +#define SE_DACL_PRESENT (0x0004) +#define SE_DACL_DEFAULTED (0x0008) +#define SE_SACL_PRESENT (0x0010) +#define SE_SACL_DEFAULTED (0x0020) +#define SE_DACL_AUTO_INHERIT_REQ (0x0100) +#define SE_SACL_AUTO_INHERIT_REQ (0x0200) +#define SE_DACL_AUTO_INHERITED (0x0400) +#define SE_SACL_AUTO_INHERITED (0x0800) +#define SE_DACL_PROTECTED (0x1000) +#define SE_SACL_PROTECTED (0x2000) +#define SE_RM_CONTROL_VALID (0x4000) +#define SE_SELF_RELATIVE (0x8000) + + typedef struct _SECURITY_DESCRIPTOR_RELATIVE { + BYTE Revision; + BYTE Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + DWORD Owner; + DWORD Group; + DWORD Sacl; + DWORD Dacl; + } SECURITY_DESCRIPTOR_RELATIVE,*PISECURITY_DESCRIPTOR_RELATIVE; + + typedef struct _SECURITY_DESCRIPTOR { + BYTE Revision; + BYTE Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + PSID Owner; + PSID Group; + PACL Sacl; + PACL Dacl; + } SECURITY_DESCRIPTOR,*PISECURITY_DESCRIPTOR; + + typedef struct _SECURITY_OBJECT_AI_PARAMS { + DWORD Size; + DWORD ConstraintMask; + } SECURITY_OBJECT_AI_PARAMS, *PSECURITY_OBJECT_AI_PARAMS; + + typedef struct _OBJECT_TYPE_LIST { + WORD Level; + WORD Sbz; + GUID *ObjectType; + } OBJECT_TYPE_LIST,*POBJECT_TYPE_LIST; + +#define ACCESS_OBJECT_GUID 0 +#define ACCESS_PROPERTY_SET_GUID 1 +#define ACCESS_PROPERTY_GUID 2 + +#define ACCESS_MAX_LEVEL 4 + + typedef enum _AUDIT_EVENT_TYPE { + AuditEventObjectAccess,AuditEventDirectoryServiceAccess + } AUDIT_EVENT_TYPE,*PAUDIT_EVENT_TYPE; + +#define AUDIT_ALLOW_NO_PRIVILEGE 0x1 + +#define ACCESS_DS_SOURCE_A "DS" +#define ACCESS_DS_SOURCE_W L"DS" +#define ACCESS_DS_OBJECT_TYPE_NAME_A "Directory Service Object" +#define ACCESS_DS_OBJECT_TYPE_NAME_W L"Directory Service Object" + +#define SE_PRIVILEGE_ENABLED_BY_DEFAULT (__MSABI_LONG(0x00000001)) +#define SE_PRIVILEGE_ENABLED (__MSABI_LONG(0x00000002)) +#define SE_PRIVILEGE_REMOVED (0X00000004L) +#define SE_PRIVILEGE_USED_FOR_ACCESS (__MSABI_LONG(0x80000000)) + +#define SE_PRIVILEGE_VALID_ATTRIBUTES (SE_PRIVILEGE_ENABLED_BY_DEFAULT | SE_PRIVILEGE_ENABLED | SE_PRIVILEGE_REMOVED | SE_PRIVILEGE_USED_FOR_ACCESS) + +#define PRIVILEGE_SET_ALL_NECESSARY (1) + + typedef struct _PRIVILEGE_SET { + DWORD PrivilegeCount; + DWORD Control; + LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; + } PRIVILEGE_SET,*PPRIVILEGE_SET; + +#define ACCESS_REASON_TYPE_MASK 0x00ff0000 +#define ACCESS_REASON_DATA_MASK 0x0000ffff + +#define ACCESS_REASON_STAGING_MASK 0x80000000 +#define ACCESS_REASON_EXDATA_MASK 0x7f000000 + + typedef enum _ACCESS_REASON_TYPE { + AccessReasonNone = 0x00000000, + AccessReasonAllowedAce = 0x00010000, + AccessReasonDeniedAce = 0x00020000, + AccessReasonAllowedParentAce = 0x00030000, + AccessReasonDeniedParentAce = 0x00040000, + AccessReasonNotGrantedByCape = 0x00050000, + AccessReasonNotGrantedByParentCape = 0x00060000, + AccessReasonNotGrantedToAppContainer = 0x00070000, + AccessReasonMissingPrivilege = 0x00100000, + AccessReasonFromPrivilege = 0x00200000, + AccessReasonIntegrityLevel = 0x00300000, + AccessReasonOwnership = 0x00400000, + AccessReasonNullDacl = 0x00500000, + AccessReasonEmptyDacl = 0x00600000, + AccessReasonNoSD = 0x00700000, + AccessReasonNoGrant = 0x00800000, + AccessReasonTrustLabel = 0x00900000, + AccessReasonFilterAce = 0x00a00000 + } ACCESS_REASON_TYPE; + typedef DWORD ACCESS_REASON; + + typedef struct _ACCESS_REASONS { + ACCESS_REASON Data[32]; + } ACCESS_REASONS,*PACCESS_REASONS; + +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_ACCESS_FILTER_ACE 0x00000004 +#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000007 + +#define SE_ACCESS_CHECK_FLAG_NO_LEARNING_MODE_LOGGING 0x00000008 +#define SE_ACCESS_CHECK_VALID_FLAGS 0x00000008 + + typedef struct _SE_SECURITY_DESCRIPTOR { + DWORD Size; + DWORD Flags; + PSECURITY_DESCRIPTOR SecurityDescriptor; + } SE_SECURITY_DESCRIPTOR,*PSE_SECURITY_DESCRIPTOR; + + typedef struct _SE_ACCESS_REQUEST { + DWORD Size; + PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor; + ACCESS_MASK DesiredAccess; + ACCESS_MASK PreviouslyGrantedAccess; + PSID PrincipalSelfSid; + PGENERIC_MAPPING GenericMapping; + DWORD ObjectTypeListCount; + POBJECT_TYPE_LIST ObjectTypeList; + } SE_ACCESS_REQUEST,*PSE_ACCESS_REQUEST; + + typedef struct _SE_ACCESS_REPLY { + DWORD Size; + DWORD ResultListCount; + PACCESS_MASK GrantedAccess; + PDWORD AccessStatus; + PACCESS_REASONS AccessReason; + PPRIVILEGE_SET *Privileges; + } SE_ACCESS_REPLY,*PSE_ACCESS_REPLY; + +#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege") +#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege") +#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege") +#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege") +#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege") +#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege") +#define SE_TCB_NAME TEXT("SeTcbPrivilege") +#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege") +#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege") +#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege") +#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege") +#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege") +#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege") +#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege") +#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege") +#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege") +#define SE_BACKUP_NAME TEXT("SeBackupPrivilege") +#define SE_RESTORE_NAME TEXT("SeRestorePrivilege") +#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege") +#define SE_DEBUG_NAME TEXT("SeDebugPrivilege") +#define SE_AUDIT_NAME TEXT("SeAuditPrivilege") +#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege") +#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege") +#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege") +#define SE_UNDOCK_NAME TEXT("SeUndockPrivilege") +#define SE_SYNC_AGENT_NAME TEXT("SeSyncAgentPrivilege") +#define SE_ENABLE_DELEGATION_NAME TEXT("SeEnableDelegationPrivilege") +#define SE_MANAGE_VOLUME_NAME TEXT("SeManageVolumePrivilege") +#define SE_IMPERSONATE_NAME TEXT("SeImpersonatePrivilege") +#define SE_CREATE_GLOBAL_NAME TEXT("SeCreateGlobalPrivilege") +#define SE_TRUSTED_CREDMAN_ACCESS_NAME TEXT("SeTrustedCredManAccessPrivilege") +#define SE_RELABEL_NAME TEXT("SeRelabelPrivilege") +#define SE_INC_WORKING_SET_NAME TEXT("SeIncreaseWorkingSetPrivilege") +#define SE_TIME_ZONE_NAME TEXT("SeTimeZonePrivilege") +#define SE_CREATE_SYMBOLIC_LINK_NAME TEXT("SeCreateSymbolicLinkPrivilege") +#define SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME TEXT("SeDelegateSessionUserImpersonatePrivilege") + +#define SE_ACTIVATE_AS_USER_CAPABILITY L"activateAsUser" +#define SE_CONSTRAINED_IMPERSONATION_CAPABILITY L"constrainedImpersonation" +#define SE_SESSION_IMPERSONATION_CAPABILITY L"sessionImpersonation" +#define SE_MUMA_CAPABILITY L"muma" +#define SE_DEVELOPMENT_MODE_NETWORK_CAPABILITY L"developmentModeNetwork" +#define SE_LEARNING_MODE_LOGGING_CAPABILITY L"learningModeLogging" +#define SE_PERMISSIVE_LEARNING_MODE_CAPABILITY L"permissiveLearningMode" +#define SE_APP_SILO_VOLUME_ROOT_MINIMAL_CAPABILITY L"isolatedWin32-volumeRootMinimal" +#define SE_APP_SILO_PROFILES_ROOT_MINIMAL_CAPABILITY L"isolatedWin32-profilesRootMinimal" +#define SE_APP_SILO_USER_PROFILE_MINIMAL_CAPABILITY L"isolatedWin32-userProfileMinimal" +#define SE_APP_SILO_PRINT_CAPABILITY L"isolatedWin32-print" + + typedef enum _SECURITY_IMPERSONATION_LEVEL { + SecurityAnonymous,SecurityIdentification,SecurityImpersonation,SecurityDelegation + } SECURITY_IMPERSONATION_LEVEL,*PSECURITY_IMPERSONATION_LEVEL; + +#define SECURITY_MAX_IMPERSONATION_LEVEL SecurityDelegation +#define SECURITY_MIN_IMPERSONATION_LEVEL SecurityAnonymous +#define DEFAULT_IMPERSONATION_LEVEL SecurityImpersonation +#define VALID_IMPERSONATION_LEVEL(L) (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL)) + +#define TOKEN_ASSIGN_PRIMARY (0x0001) +#define TOKEN_DUPLICATE (0x0002) +#define TOKEN_IMPERSONATE (0x0004) +#define TOKEN_QUERY (0x0008) +#define TOKEN_QUERY_SOURCE (0x0010) +#define TOKEN_ADJUST_PRIVILEGES (0x0020) +#define TOKEN_ADJUST_GROUPS (0x0040) +#define TOKEN_ADJUST_DEFAULT (0x0080) +#define TOKEN_ADJUST_SESSIONID (0x0100) + +#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID) +#define TOKEN_READ (STANDARD_RIGHTS_READ | TOKEN_QUERY) + +#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT) + +#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) + +#define TOKEN_TRUST_CONSTRAINT_MASK (STANDARD_RIGHTS_READ | TOKEN_QUERY | TOKEN_QUERY_SOURCE) + +#if NTDDI_VERSION >= NTDDI_WIN8 +#define TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 (TOKEN_QUERY | TOKEN_QUERY_SOURCE) +#define TOKEN_ACCESS_PSEUDO_HANDLE TOKEN_ACCESS_PSEUDO_HANDLE_WIN8 +#endif + typedef enum _TOKEN_TYPE { + TokenPrimary = 1,TokenImpersonation + } TOKEN_TYPE; + typedef TOKEN_TYPE *PTOKEN_TYPE; + + typedef enum _TOKEN_ELEVATION_TYPE { + TokenElevationTypeDefault = 1, + TokenElevationTypeFull, + TokenElevationTypeLimited + } TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE; + + typedef enum _TOKEN_INFORMATION_CLASS { + TokenUser = 1, + TokenGroups, + TokenPrivileges, + TokenOwner, + TokenPrimaryGroup, + TokenDefaultDacl, + TokenSource, + TokenType, + TokenImpersonationLevel, + TokenStatistics, + TokenRestrictedSids, + TokenSessionId, + TokenGroupsAndPrivileges, + TokenSessionReference, + TokenSandBoxInert, + TokenAuditPolicy, + TokenOrigin, + TokenElevationType, + TokenLinkedToken, + TokenElevation, + TokenHasRestrictions, + TokenAccessInformation, + TokenVirtualizationAllowed, + TokenVirtualizationEnabled, + TokenIntegrityLevel, + TokenUIAccess, + TokenMandatoryPolicy, + TokenLogonSid, + TokenIsAppContainer, + TokenCapabilities, + TokenAppContainerSid, + TokenAppContainerNumber, + TokenUserClaimAttributes, + TokenDeviceClaimAttributes, + TokenRestrictedUserClaimAttributes, + TokenRestrictedDeviceClaimAttributes, + TokenDeviceGroups, + TokenRestrictedDeviceGroups, + TokenSecurityAttributes, + TokenIsRestricted, + TokenProcessTrustLevel, + TokenPrivateNameSpace, + TokenSingletonAttributes, + TokenBnoIsolation, + TokenChildProcessFlags, + TokenIsLessPrivilegedAppContainer, + TokenIsSandboxed, + TokenIsAppSilo, + MaxTokenInfoClass + } TOKEN_INFORMATION_CLASS,*PTOKEN_INFORMATION_CLASS; + + typedef struct _TOKEN_USER { + SID_AND_ATTRIBUTES User; + } TOKEN_USER,*PTOKEN_USER; + +#ifndef __WIDL__ + + typedef struct _SE_TOKEN_USER { + __C89_NAMELESS union { + TOKEN_USER TokenUser; + SID_AND_ATTRIBUTES User; + }; + __C89_NAMELESS union { + SID Sid; + BYTE Buffer[SECURITY_MAX_SID_SIZE]; + }; + } SE_TOKEN_USER,*PSE_TOKEN_USER; + +#define TOKEN_USER_MAX_SIZE (sizeof(TOKEN_USER) + SECURITY_MAX_SID_SIZE) + +#endif + + typedef struct _TOKEN_GROUPS { + DWORD GroupCount; +#ifdef __WIDL__ + [size_is (GroupCount)] SID_AND_ATTRIBUTES Groups[*]; +#else + SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; +#endif + } TOKEN_GROUPS,*PTOKEN_GROUPS; + + typedef struct _TOKEN_PRIVILEGES { + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; + } TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES; + + typedef struct _TOKEN_OWNER { + PSID Owner; + } TOKEN_OWNER,*PTOKEN_OWNER; + +#ifndef __WIDL__ +#define TOKEN_OWNER_MAX_SIZE (sizeof(TOKEN_OWNER) + SECURITY_MAX_SID_SIZE) +#endif + + typedef struct _TOKEN_PRIMARY_GROUP { + PSID PrimaryGroup; + } TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; + + typedef struct _TOKEN_DEFAULT_DACL { + PACL DefaultDacl; + } TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; + + typedef struct _TOKEN_USER_CLAIMS { + PCLAIMS_BLOB UserClaims; + } TOKEN_USER_CLAIMS,*PTOKEN_USER_CLAIMS; + + typedef struct _TOKEN_DEVICE_CLAIMS { + PCLAIMS_BLOB DeviceClaims; + } TOKEN_DEVICE_CLAIMS,*PTOKEN_DEVICE_CLAIMS; + + typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { + DWORD SidCount; + DWORD SidLength; + PSID_AND_ATTRIBUTES Sids; + DWORD RestrictedSidCount; + DWORD RestrictedSidLength; + PSID_AND_ATTRIBUTES RestrictedSids; + DWORD PrivilegeCount; + DWORD PrivilegeLength; + PLUID_AND_ATTRIBUTES Privileges; + LUID AuthenticationId; + } TOKEN_GROUPS_AND_PRIVILEGES,*PTOKEN_GROUPS_AND_PRIVILEGES; + + typedef struct _TOKEN_LINKED_TOKEN { + HANDLE LinkedToken; + } TOKEN_LINKED_TOKEN,*PTOKEN_LINKED_TOKEN; + + typedef struct _TOKEN_ELEVATION { + DWORD TokenIsElevated; + } TOKEN_ELEVATION,*PTOKEN_ELEVATION; + + typedef struct _TOKEN_MANDATORY_LABEL { + SID_AND_ATTRIBUTES Label; + } TOKEN_MANDATORY_LABEL,*PTOKEN_MANDATORY_LABEL; + +#define TOKEN_MANDATORY_POLICY_OFF 0x0 +#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 0x1 +#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 0x2 + +#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) + +#ifndef __WIDL__ +#define TOKEN_INTEGRITY_LEVEL_MAX_SIZE ((((DWORD)(sizeof(TOKEN_MANDATORY_LABEL)) + sizeof(PVOID) - 1) & ~(sizeof(PVOID)-1)) + SECURITY_MAX_SID_SIZE) +#endif + + typedef struct _TOKEN_MANDATORY_POLICY { + DWORD Policy; + } TOKEN_MANDATORY_POLICY,*PTOKEN_MANDATORY_POLICY; + + typedef PVOID PSECURITY_ATTRIBUTES_OPAQUE; + + typedef struct _TOKEN_ACCESS_INFORMATION { + PSID_AND_ATTRIBUTES_HASH SidHash; + PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; + PTOKEN_PRIVILEGES Privileges; + LUID AuthenticationId; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + TOKEN_MANDATORY_POLICY MandatoryPolicy; + DWORD Flags; + DWORD AppContainerNumber; + PSID PackageSid; + PSID_AND_ATTRIBUTES_HASH CapabilitiesHash; + } TOKEN_ACCESS_INFORMATION,*PTOKEN_ACCESS_INFORMATION; + +#define POLICY_AUDIT_SUBCATEGORY_COUNT (56) + + typedef struct _TOKEN_AUDIT_POLICY { + UCHAR PerUserPolicy[((POLICY_AUDIT_SUBCATEGORY_COUNT) >> 1) + 1]; + } TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY; + +#define TOKEN_SOURCE_LENGTH 8 + + typedef struct _TOKEN_SOURCE { + CHAR SourceName[TOKEN_SOURCE_LENGTH]; + LUID SourceIdentifier; + } TOKEN_SOURCE,*PTOKEN_SOURCE; + + typedef struct _TOKEN_STATISTICS { + LUID TokenId; + LUID AuthenticationId; + LARGE_INTEGER ExpirationTime; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD DynamicCharged; + DWORD DynamicAvailable; + DWORD GroupCount; + DWORD PrivilegeCount; + LUID ModifiedId; + } TOKEN_STATISTICS,*PTOKEN_STATISTICS; + + typedef struct _TOKEN_CONTROL { + LUID TokenId; + LUID AuthenticationId; + LUID ModifiedId; + TOKEN_SOURCE TokenSource; + } TOKEN_CONTROL,*PTOKEN_CONTROL; + + typedef struct _TOKEN_ORIGIN { + LUID OriginatingLogonSession; + } TOKEN_ORIGIN,*PTOKEN_ORIGIN; + + typedef enum _MANDATORY_LEVEL { + MandatoryLevelUntrusted = 0, + MandatoryLevelLow, + MandatoryLevelMedium, + MandatoryLevelHigh, + MandatoryLevelSystem, + MandatoryLevelSecureProcess, + MandatoryLevelCount + } MANDATORY_LEVEL,*PMANDATORY_LEVEL; + + typedef struct _TOKEN_APPCONTAINER_INFORMATION { + PSID TokenAppContainer; + } TOKEN_APPCONTAINER_INFORMATION,*PTOKEN_APPCONTAINER_INFORMATION; + +#ifndef __WIDL__ +#define TOKEN_APPCONTAINER_SID_MAX_SIZE (sizeof(TOKEN_APPCONTAINER_INFORMATION) + SECURITY_MAX_SID_SIZE) +#endif + + typedef struct _TOKEN_SID_INFORMATION { + PSID Sid; + } TOKEN_SID_INFORMATION,*PTOKEN_SID_INFORMATION; + + typedef struct _TOKEN_BNO_ISOLATION_INFORMATION { + PWSTR IsolationPrefix; + BOOLEAN IsolationEnabled; + } TOKEN_BNO_ISOLATION_INFORMATION,*PTOKEN_BNO_ISOLATION_INFORMATION; + +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_INVALID 0x00 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 0x01 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 0x02 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING 0x03 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN 0x04 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_SID 0x05 +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN 0x06 + + typedef struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { + DWORD64 Version; + PWSTR Name; + } CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE,*PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; + + typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { + PVOID pValue; + DWORD ValueLength; + } CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; + +#define CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING 0x10 +#define CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE 0x0001 +#define CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE 0x0002 +#define CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY 0x0004 +#define CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT 0x0008 +#define CLAIM_SECURITY_ATTRIBUTE_DISABLED 0x0010 +#define CLAIM_SECURITY_ATTRIBUTE_MANDATORY 0x0020 + +#define CLAIM_SECURITY_ATTRIBUTE_VALID_FLAGS (CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE | CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE | CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY | CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT | CLAIM_SECURITY_ATTRIBUTE_DISABLED | CLAIM_SECURITY_ATTRIBUTE_MANDATORY) +#define CLAIM_SECURITY_ATTRIBUTE_CUSTOM_FLAGS 0xffff0000 + + typedef struct _CLAIM_SECURITY_ATTRIBUTE_V1 { + PWSTR Name; + WORD ValueType; + WORD Reserved; + DWORD Flags; + DWORD ValueCount; + union { + PLONG64 pInt64; + PDWORD64 pUint64; + PWSTR *ppString; + PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn; + PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString; + } Values; + } CLAIM_SECURITY_ATTRIBUTE_V1,*PCLAIM_SECURITY_ATTRIBUTE_V1; + + typedef struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { + DWORD Name; + WORD ValueType; + WORD Reserved; + DWORD Flags; + DWORD ValueCount; + union { + DWORD pInt64[ANYSIZE_ARRAY]; + DWORD pUint64[ANYSIZE_ARRAY]; + DWORD ppString[ANYSIZE_ARRAY]; + DWORD pFqbn[ANYSIZE_ARRAY]; + DWORD pOctetString[ANYSIZE_ARRAY]; + } Values; + } CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1,*PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; + +#define CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1 1 + +#define CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION_V1 + + typedef struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION { + WORD Version; + WORD Reserved; + DWORD AttributeCount; + union { + PCLAIM_SECURITY_ATTRIBUTE_V1 pAttributeV1; + } Attribute; + } CLAIM_SECURITY_ATTRIBUTES_INFORMATION,*PCLAIM_SECURITY_ATTRIBUTES_INFORMATION; + +#define SECURITY_DYNAMIC_TRACKING (TRUE) +#define SECURITY_STATIC_TRACKING (FALSE) + + typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE,*PSECURITY_CONTEXT_TRACKING_MODE; + + typedef struct _SECURITY_QUALITY_OF_SERVICE { + DWORD Length; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; + BOOLEAN EffectiveOnly; + } SECURITY_QUALITY_OF_SERVICE,*PSECURITY_QUALITY_OF_SERVICE; + + typedef struct _SE_IMPERSONATION_STATE { + PACCESS_TOKEN Token; + BOOLEAN CopyOnOpen; + BOOLEAN EffectiveOnly; + SECURITY_IMPERSONATION_LEVEL Level; + } SE_IMPERSONATION_STATE,*PSE_IMPERSONATION_STATE; + +#define DISABLE_MAX_PRIVILEGE 0x1 +#define SANDBOX_INERT 0x2 +#define LUA_TOKEN 0x4 +#define WRITE_RESTRICTED 0x8 + + typedef DWORD SECURITY_INFORMATION,*PSECURITY_INFORMATION; + +#define OWNER_SECURITY_INFORMATION (__MSABI_LONG(0x00000001)) +#define GROUP_SECURITY_INFORMATION (__MSABI_LONG(0x00000002)) +#define DACL_SECURITY_INFORMATION (__MSABI_LONG(0x00000004)) +#define SACL_SECURITY_INFORMATION (__MSABI_LONG(0x00000008)) +#define LABEL_SECURITY_INFORMATION (__MSABI_LONG(0x00000010)) +#define ATTRIBUTE_SECURITY_INFORMATION (__MSABI_LONG(0x00000020)) +#define SCOPE_SECURITY_INFORMATION (__MSABI_LONG(0x00000040)) +#define PROCESS_TRUST_LABEL_SECURITY_INFORMATION (__MSABI_LONG(0x00000080)) +#define ACCESS_FILTER_SECURITY_INFORMATION (__MSABI_LONG(0x00000100)) +#define BACKUP_SECURITY_INFORMATION (__MSABI_LONG(0x00010000)) + +#define PROTECTED_DACL_SECURITY_INFORMATION (__MSABI_LONG(0x80000000)) +#define PROTECTED_SACL_SECURITY_INFORMATION (__MSABI_LONG(0x40000000)) +#define UNPROTECTED_DACL_SECURITY_INFORMATION (__MSABI_LONG(0x20000000)) +#define UNPROTECTED_SACL_SECURITY_INFORMATION (__MSABI_LONG(0x10000000)) + +typedef BYTE SE_SIGNING_LEVEL, *PSE_SIGNING_LEVEL; + +#define SE_SIGNING_LEVEL_UNCHECKED 0x00000000 +#define SE_SIGNING_LEVEL_UNSIGNED 0x00000001 +#define SE_SIGNING_LEVEL_ENTERPRISE 0x00000002 +#define SE_SIGNING_LEVEL_CUSTOM_1 0x00000003 +#define SE_SIGNING_LEVEL_DEVELOPER SE_SIGNING_LEVEL_CUSTOM_1 +#define SE_SIGNING_LEVEL_AUTHENTICODE 0x00000004 +#define SE_SIGNING_LEVEL_CUSTOM_2 0x00000005 +#define SE_SIGNING_LEVEL_STORE 0x00000006 +#define SE_SIGNING_LEVEL_CUSTOM_3 0x00000007 +#define SE_SIGNING_LEVEL_ANTIMALWARE SE_SIGNING_LEVEL_CUSTOM_3 +#define SE_SIGNING_LEVEL_MICROSOFT 0x00000008 +#define SE_SIGNING_LEVEL_CUSTOM_4 0x00000009 +#define SE_SIGNING_LEVEL_CUSTOM_5 0x0000000A +#define SE_SIGNING_LEVEL_DYNAMIC_CODEGEN 0x0000000B +#define SE_SIGNING_LEVEL_WINDOWS 0x0000000C +#define SE_SIGNING_LEVEL_CUSTOM_7 0x0000000D +#define SE_SIGNING_LEVEL_WINDOWS_TCB 0x0000000E +#define SE_SIGNING_LEVEL_CUSTOM_6 0x0000000F + + typedef enum _SE_IMAGE_SIGNATURE_TYPE { + SeImageSignatureNone = 0, + SeImageSignatureEmbedded, + SeImageSignatureCache, + SeImageSignatureCatalogCached, + SeImageSignatureCatalogNotCached, + SeImageSignatureCatalogHint, + SeImageSignaturePackageCatalog, + SeImageSignaturePplMitigated + } SE_IMAGE_SIGNATURE_TYPE, *PSE_IMAGE_SIGNATURE_TYPE; + + typedef enum _SE_LEARNING_MODE_DATA_TYPE { + SeLearningModeInvalidType = 0, + SeLearningModeSettings, + SeLearningModeMax + } SE_LEARNING_MODE_DATA_TYPE; + +#define SE_LEARNING_MODE_FLAG_PERMISSIVE 0x00000001 + + typedef struct _SECURITY_CAPABILITIES { + PSID AppContainerSid; + PSID_AND_ATTRIBUTES Capabilities; + DWORD CapabilityCount; + DWORD Reserved; + } SECURITY_CAPABILITIES,*PSECURITY_CAPABILITIES,*LPSECURITY_CAPABILITIES; + +#define PROCESS_TERMINATE (0x0001) +#define PROCESS_CREATE_THREAD (0x0002) +#define PROCESS_SET_SESSIONID (0x0004) +#define PROCESS_VM_OPERATION (0x0008) +#define PROCESS_VM_READ (0x0010) +#define PROCESS_VM_WRITE (0x0020) +#define PROCESS_DUP_HANDLE (0x0040) +#define PROCESS_CREATE_PROCESS (0x0080) +#define PROCESS_SET_QUOTA (0x0100) +#define PROCESS_SET_INFORMATION (0x0200) +#define PROCESS_QUERY_INFORMATION (0x0400) +#define PROCESS_SUSPEND_RESUME (0x0800) +#define PROCESS_QUERY_LIMITED_INFORMATION (0x1000) +#define PROCESS_SET_LIMITED_INFORMATION (0x2000) + +#if NTDDI_VERSION >= 0x06000000 +#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff) +#else +#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xfff) +#endif + +#ifdef _WIN64 +#define MAXIMUM_PROC_PER_GROUP 64 +#else +#define MAXIMUM_PROC_PER_GROUP 32 +#endif + +#define MAXIMUM_PROCESSORS MAXIMUM_PROC_PER_GROUP + +#define THREAD_TERMINATE (0x0001) +#define THREAD_SUSPEND_RESUME (0x0002) +#define THREAD_GET_CONTEXT (0x0008) +#define THREAD_SET_CONTEXT (0x0010) +#define THREAD_SET_INFORMATION (0x0020) +#define THREAD_QUERY_INFORMATION (0x0040) +#define THREAD_SET_THREAD_TOKEN (0x0080) +#define THREAD_IMPERSONATE (0x0100) +#define THREAD_DIRECT_IMPERSONATION (0x0200) +#define THREAD_SET_LIMITED_INFORMATION (0x0400) +#define THREAD_QUERY_LIMITED_INFORMATION (0x0800) +#define THREAD_RESUME (0x1000) + +#if NTDDI_VERSION >= 0x06000000 +#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xffff) +#else +#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3ff) +#endif + +#define JOB_OBJECT_ASSIGN_PROCESS (0x0001) +#define JOB_OBJECT_SET_ATTRIBUTES (0x0002) +#define JOB_OBJECT_QUERY (0x0004) +#define JOB_OBJECT_TERMINATE (0x0008) +#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (0x0010) +#define JOB_OBJECT_IMPERSONATE (0x0020) +#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3F) + + typedef struct _JOB_SET_ARRAY { + HANDLE JobHandle; + DWORD MemberLevel; + DWORD Flags; + } JOB_SET_ARRAY,*PJOB_SET_ARRAY; + +#if NTDDI_VERSION >= NTDDI_WIN10_19H1 +#define FLS_MAXIMUM_AVAILABLE 4080 +#else +#define FLS_MAXIMUM_AVAILABLE 128 +#endif +#define TLS_MINIMUM_AVAILABLE 64 + +#ifndef __MINGW_EXCPT_DEFINE_PSDK + typedef struct _EXCEPTION_REGISTRATION_RECORD { + __C89_NAMELESS union { + struct _EXCEPTION_REGISTRATION_RECORD *Next; + struct _EXCEPTION_REGISTRATION_RECORD *prev; + }; + __C89_NAMELESS union { + PEXCEPTION_ROUTINE Handler; + PEXCEPTION_ROUTINE handler; + }; + } EXCEPTION_REGISTRATION_RECORD; + + typedef EXCEPTION_REGISTRATION_RECORD *PEXCEPTION_REGISTRATION_RECORD; + + typedef EXCEPTION_REGISTRATION_RECORD EXCEPTION_REGISTRATION; + typedef PEXCEPTION_REGISTRATION_RECORD PEXCEPTION_REGISTRATION; +#endif + +#ifndef _NT_TIB_DEFINED +#define _NT_TIB_DEFINED + __C89_NAMELESS typedef struct _NT_TIB { + struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; + PVOID StackBase; + PVOID StackLimit; + PVOID SubSystemTib; + __C89_NAMELESS union { + PVOID FiberData; + DWORD Version; + }; + PVOID ArbitraryUserPointer; + struct _NT_TIB *Self; + } NT_TIB; + typedef NT_TIB *PNT_TIB; +#endif /* _NT_TIB_DEFINED */ + + __C89_NAMELESS typedef struct _NT_TIB32 { + DWORD ExceptionList; + DWORD StackBase; + DWORD StackLimit; + DWORD SubSystemTib; + __C89_NAMELESS union { + DWORD FiberData; + DWORD Version; + }; + DWORD ArbitraryUserPointer; + DWORD Self; + } NT_TIB32,*PNT_TIB32; + + __C89_NAMELESS typedef struct _NT_TIB64 { + DWORD64 ExceptionList; + DWORD64 StackBase; + DWORD64 StackLimit; + DWORD64 SubSystemTib; + __C89_NAMELESS union { + DWORD64 FiberData; + DWORD Version; + }; + DWORD64 ArbitraryUserPointer; + DWORD64 Self; + } NT_TIB64,*PNT_TIB64; + +#if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) +#define WX86 +#endif + +#define THREAD_DYNAMIC_CODE_ALLOW 1 + +#define THREAD_BASE_PRIORITY_LOWRT 15 +#define THREAD_BASE_PRIORITY_MAX 2 +#define THREAD_BASE_PRIORITY_MIN (-2) +#define THREAD_BASE_PRIORITY_IDLE (-15) + + typedef struct _UMS_CREATE_THREAD_ATTRIBUTES { + DWORD UmsVersion; + PVOID UmsContext; + PVOID UmsCompletionList; + } UMS_CREATE_THREAD_ATTRIBUTES,*PUMS_CREATE_THREAD_ATTRIBUTES; + +#define COMPONENT_KTM 0x01 +#define COMPONENT_VALID_FLAGS COMPONENT_KTM + + typedef struct _COMPONENT_FILTER { + DWORD ComponentFlags; + } COMPONENT_FILTER,*PCOMPONENT_FILTER; + +#define DYNAMIC_EH_CONTINUATION_TARGET_ADD 0x00000001 +#define DYNAMIC_EH_CONTINUATION_TARGET_PROCESSED 0x00000002 + + typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET { + ULONG_PTR TargetAddress; + ULONG_PTR Flags; + } PROCESS_DYNAMIC_EH_CONTINUATION_TARGET,*PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET; + + typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION { + WORD NumberOfTargets; + WORD Reserved; + DWORD Reserved2; + PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets; + } PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION,*PPROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; + +#define DYNAMIC_ENFORCED_ADDRESS_RANGE_ADD 0x00000001 +#define DYNAMIC_ENFORCED_ADDRESS_RANGE_PROCESSED 0x00000002 + + typedef struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE { + ULONG_PTR BaseAddress; + SIZE_T Size; + DWORD Flags; + } PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE,*PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE; + + typedef struct _PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION { + WORD NumberOfRanges; + WORD Reserved; + DWORD Reserved2; + PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE Ranges; + } PROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION,*PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGES_INFORMATION; + + typedef struct _QUOTA_LIMITS { + SIZE_T PagedPoolLimit; + SIZE_T NonPagedPoolLimit; + SIZE_T MinimumWorkingSetSize; + SIZE_T MaximumWorkingSetSize; + SIZE_T PagefileLimit; + LARGE_INTEGER TimeLimit; + } QUOTA_LIMITS,*PQUOTA_LIMITS; + +#define QUOTA_LIMITS_HARDWS_MIN_ENABLE 0x00000001 +#define QUOTA_LIMITS_HARDWS_MIN_DISABLE 0x00000002 +#define QUOTA_LIMITS_HARDWS_MAX_ENABLE 0x00000004 +#define QUOTA_LIMITS_HARDWS_MAX_DISABLE 0x00000008 +#define QUOTA_LIMITS_USE_DEFAULT_LIMITS 0x00000010 + + typedef union _RATE_QUOTA_LIMIT { + DWORD RateData; + __C89_NAMELESS struct { + DWORD RatePercent : 7; + DWORD Reserved0 : 25; + } DUMMYSTRUCTNAME; + } RATE_QUOTA_LIMIT, *PRATE_QUOTA_LIMIT; + + typedef struct _QUOTA_LIMITS_EX { + SIZE_T PagedPoolLimit; + SIZE_T NonPagedPoolLimit; + SIZE_T MinimumWorkingSetSize; + SIZE_T MaximumWorkingSetSize; + SIZE_T PagefileLimit; + LARGE_INTEGER TimeLimit; + SIZE_T WorkingSetLimit; + SIZE_T Reserved2; + SIZE_T Reserved3; + SIZE_T Reserved4; + DWORD Flags; + RATE_QUOTA_LIMIT CpuRateLimit; + } QUOTA_LIMITS_EX,*PQUOTA_LIMITS_EX; + + typedef struct _IO_COUNTERS { + ULONGLONG ReadOperationCount; + ULONGLONG WriteOperationCount; + ULONGLONG OtherOperationCount; + ULONGLONG ReadTransferCount; + ULONGLONG WriteTransferCount; + ULONGLONG OtherTransferCount; + } IO_COUNTERS; + typedef IO_COUNTERS *PIO_COUNTERS; + +#define MAX_HW_COUNTERS 16 +#define THREAD_PROFILING_FLAG_DISPATCH 0x1 + + typedef enum _HARDWARE_COUNTER_TYPE { + PMCCounter, + MaxHardwareCounterType + } HARDWARE_COUNTER_TYPE, *PHARDWARE_COUNTER_TYPE; + + typedef enum _PROCESS_MITIGATION_POLICY { + ProcessDEPPolicy, + ProcessASLRPolicy, + ProcessDynamicCodePolicy, + ProcessStrictHandleCheckPolicy, + ProcessSystemCallDisablePolicy, + ProcessMitigationOptionsMask, + ProcessExtensionPointDisablePolicy, + ProcessControlFlowGuardPolicy, + ProcessSignaturePolicy, + ProcessFontDisablePolicy, + ProcessImageLoadPolicy, + ProcessSystemCallFilterPolicy, + ProcessPayloadRestrictionPolicy, + ProcessChildProcessPolicy, + ProcessSideChannelIsolationPolicy, + ProcessUserShadowStackPolicy, + ProcessRedirectionTrustPolicy, + ProcessUserPointerAuthPolicy, + ProcessSEHOPPolicy, + MaxProcessMitigationPolicy + } PROCESS_MITIGATION_POLICY,*PPROCESS_MITIGATION_POLICY; + + typedef struct _PROCESS_MITIGATION_ASLR_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableBottomUpRandomization : 1; + DWORD EnableForceRelocateImages : 1; + DWORD EnableHighEntropy : 1; + DWORD DisallowStrippedImages : 1; + DWORD ReservedFlags : 28; + }; + }; + } PROCESS_MITIGATION_ASLR_POLICY,*PPROCESS_MITIGATION_ASLR_POLICY; + + typedef struct _PROCESS_MITIGATION_DEP_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD Enable : 1; + DWORD DisableAtlThunkEmulation : 1; + DWORD ReservedFlags : 30; + }; + }; + BOOLEAN Permanent; + } PROCESS_MITIGATION_DEP_POLICY,*PPROCESS_MITIGATION_DEP_POLICY; + + typedef struct _PROCESS_MITIGATION_SEHOP_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableSehop : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_SEHOP_POLICY,*PPROCESS_MITIGATION_SEHOP_POLICY; + + typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD RaiseExceptionOnInvalidHandleReference : 1; + DWORD HandleExceptionsPermanentlyEnabled : 1; + DWORD ReservedFlags : 30; + }; + }; + } PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY,*PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; + + typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD DisallowWin32kSystemCalls : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY,*PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; + + typedef struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD DisableExtensionPoints : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY,*PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; + + typedef struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableControlFlowGuard :1; + DWORD EnableExportSuppression :1; + DWORD StrictMode :1; + DWORD ReservedFlags :29; + }; + }; + } PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, *PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; + + typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD MicrosoftSignedOnly :1; + DWORD StoreSignedOnly :1; + DWORD MitigationOptIn :1; + DWORD ReservedFlags :29; + }; + }; + } PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; + + typedef struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD ProhibitDynamicCode :1; + DWORD AllowThreadOptOut :1; + DWORD AllowRemoteDowngrade :1; + DWORD ReservedFlags :29; + }; + }; + } PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, *PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY; + + typedef struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD DisableNonSystemFonts :1; + DWORD AuditNonSystemFontLoading :1; + DWORD ReservedFlags :30; + }; + }; + } PROCESS_MITIGATION_FONT_DISABLE_POLICY, *PPROCESS_MITIGATION_FONT_DISABLE_POLICY; + + typedef struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD NoRemoteImages :1; + DWORD NoLowMandatoryLabelImages :1; + DWORD PreferSystem32Images :1; + DWORD ReservedFlags :29; + }; + }; + } PROCESS_MITIGATION_IMAGE_LOAD_POLICY, *PPROCESS_MITIGATION_IMAGE_LOAD_POLICY; + + typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD FilterId :4; + DWORD ReservedFlags :28; + }; + }; + } PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; + + typedef struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableExportAddressFilter :1; + DWORD AuditExportAddressFilter :1; + DWORD EnableExportAddressFilterPlus :1; + DWORD AuditExportAddressFilterPlus :1; + DWORD EnableImportAddressFilter :1; + DWORD AuditImportAddressFilter :1; + DWORD EnableRopStackPivot :1; + DWORD AuditRopStackPivot :1; + DWORD EnableRopCallerCheck :1; + DWORD AuditRopCallerCheck :1; + DWORD EnableRopSimExec :1; + DWORD AuditRopSimExec :1; + DWORD ReservedFlags :20; + }; + }; + } PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY, *PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; + + typedef struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD NoChildProcessCreation :1; + DWORD AuditNoChildProcessCreation :1; + DWORD AllowSecureProcessCreation :1; + DWORD ReservedFlags :29; + }; + }; + } PROCESS_MITIGATION_CHILD_PROCESS_POLICY, *PPROCESS_MITIGATION_CHILD_PROCESS_POLICY; + + typedef struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD SmtBranchTargetIsolation :1; + DWORD IsolateSecurityDomain :1; + DWORD DisablePageCombine :1; + DWORD SpeculativeStoreBypassDisable :1; + DWORD RestrictCoreSharing : 1; + DWORD ReservedFlags : 27; + }; + }; + } PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY, *PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; + + typedef struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnableUserShadowStack : 1; + DWORD AuditUserShadowStack : 1; + DWORD SetContextIpValidation : 1; + DWORD AuditSetContextIpValidation : 1; + DWORD EnableUserShadowStackStrictMode : 1; + DWORD BlockNonCetBinaries : 1; + DWORD BlockNonCetBinariesNonEhcont : 1; + DWORD AuditBlockNonCetBinaries : 1; + DWORD CetDynamicApisOutOfProcOnly : 1; + DWORD SetContextIpValidationRelaxedMode : 1; + DWORD ReservedFlags : 22; + }; + }; + } PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY, *PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; + + typedef struct _PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnablePointerAuthUserIp : 1; + DWORD ReservedFlags : 31; + }; + }; + } PROCESS_MITIGATION_USER_POINTER_AUTH_POLICY, *PPROCESS_MITIGATION_USER_POINTER_AUTH_POLICY; + + typedef struct _PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY { + __C89_NAMELESS union { + DWORD Flags; + __C89_NAMELESS struct { + DWORD EnforceRedirectionTrust : 1; + DWORD AuditRedirectionTrust : 1; + DWORD ReservedFlags : 30; + }; + }; + } PROCESS_MITIGATION_REDIRECTION_TRUST_POLICY, *PPROCESS_MITIGATION_REDIRECTION_TRUST_POLICY; + + typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { + LARGE_INTEGER TotalUserTime; + LARGE_INTEGER TotalKernelTime; + LARGE_INTEGER ThisPeriodTotalUserTime; + LARGE_INTEGER ThisPeriodTotalKernelTime; + DWORD TotalPageFaultCount; + DWORD TotalProcesses; + DWORD ActiveProcesses; + DWORD TotalTerminatedProcesses; + } JOBOBJECT_BASIC_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; + + typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { + LARGE_INTEGER PerProcessUserTimeLimit; + LARGE_INTEGER PerJobUserTimeLimit; + DWORD LimitFlags; + SIZE_T MinimumWorkingSetSize; + SIZE_T MaximumWorkingSetSize; + DWORD ActiveProcessLimit; + ULONG_PTR Affinity; + DWORD PriorityClass; + DWORD SchedulingClass; + } JOBOBJECT_BASIC_LIMIT_INFORMATION,*PJOBOBJECT_BASIC_LIMIT_INFORMATION; + + typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { + JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; + IO_COUNTERS IoInfo; + SIZE_T ProcessMemoryLimit; + SIZE_T JobMemoryLimit; + SIZE_T PeakProcessMemoryUsed; + SIZE_T PeakJobMemoryUsed; + } JOBOBJECT_EXTENDED_LIMIT_INFORMATION,*PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; + + typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { + DWORD NumberOfAssignedProcesses; + DWORD NumberOfProcessIdsInList; + ULONG_PTR ProcessIdList[1]; + } JOBOBJECT_BASIC_PROCESS_ID_LIST,*PJOBOBJECT_BASIC_PROCESS_ID_LIST; + + typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { + DWORD UIRestrictionsClass; + } JOBOBJECT_BASIC_UI_RESTRICTIONS,*PJOBOBJECT_BASIC_UI_RESTRICTIONS; + + typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { + DWORD SecurityLimitFlags; + HANDLE JobToken; + PTOKEN_GROUPS SidsToDisable; + PTOKEN_PRIVILEGES PrivilegesToDelete; + PTOKEN_GROUPS RestrictedSids; + } JOBOBJECT_SECURITY_LIMIT_INFORMATION,*PJOBOBJECT_SECURITY_LIMIT_INFORMATION; + + typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { + DWORD EndOfJobTimeAction; + } JOBOBJECT_END_OF_JOB_TIME_INFORMATION,*PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; + + typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { + PVOID CompletionKey; + HANDLE CompletionPort; + } JOBOBJECT_ASSOCIATE_COMPLETION_PORT,*PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; + + typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { + JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; + IO_COUNTERS IoInfo; + } JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION,*PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; + + typedef struct _JOBOBJECT_JOBSET_INFORMATION { + DWORD MemberLevel; + } JOBOBJECT_JOBSET_INFORMATION,*PJOBOBJECT_JOBSET_INFORMATION; + + typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE { + ToleranceLow = 1, + ToleranceMedium, + ToleranceHigh + } JOBOBJECT_RATE_CONTROL_TOLERANCE; + + typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL { + ToleranceIntervalShort = 1, + ToleranceIntervalMedium, + ToleranceIntervalLong + } JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; + + typedef struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { + DWORD64 IoReadBytesLimit; + DWORD64 IoWriteBytesLimit; + LARGE_INTEGER PerJobUserTimeLimit; + DWORD64 JobMemoryLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval; + DWORD LimitFlags; + } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION,*PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; + + typedef struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { + DWORD64 IoReadBytesLimit; + DWORD64 IoWriteBytesLimit; + LARGE_INTEGER PerJobUserTimeLimit; + __C89_NAMELESS union { + DWORD64 JobHighMemoryLimit; + DWORD64 JobMemoryLimit; + }; + __C89_NAMELESS union { + JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance; + }; + __C89_NAMELESS union { + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval; + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL CpuRateControlToleranceInterval; + }; + DWORD LimitFlags; + JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance; + DWORD64 JobLowMemoryLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL IoRateControlToleranceInterval; + JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL NetRateControlToleranceInterval; + } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2; + + typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION { + DWORD LimitFlags; + DWORD ViolationLimitFlags; + DWORD64 IoReadBytes; + DWORD64 IoReadBytesLimit; + DWORD64 IoWriteBytes; + DWORD64 IoWriteBytesLimit; + LARGE_INTEGER PerJobUserTime; + LARGE_INTEGER PerJobUserTimeLimit; + DWORD64 JobMemory; + DWORD64 JobMemoryLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceLimit; + } JOBOBJECT_LIMIT_VIOLATION_INFORMATION,*PJOBOBJECT_LIMIT_VIOLATION_INFORMATION; + + typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { + DWORD LimitFlags; + DWORD ViolationLimitFlags; + DWORD64 IoReadBytes; + DWORD64 IoReadBytesLimit; + DWORD64 IoWriteBytes; + DWORD64 IoWriteBytesLimit; + LARGE_INTEGER PerJobUserTime; + LARGE_INTEGER PerJobUserTimeLimit; + DWORD64 JobMemory; + __C89_NAMELESS union { + DWORD64 JobHighMemoryLimit; + DWORD64 JobMemoryLimit; + }; + __C89_NAMELESS union { + JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance; + }; + __C89_NAMELESS union { + JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit; + }; + DWORD64 JobLowMemoryLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit; + JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance; + JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit; + } JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2; + + typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { + DWORD ControlFlags; + __C89_NAMELESS union { + DWORD CpuRate; + DWORD Weight; + }; + } JOBOBJECT_CPU_RATE_CONTROL_INFORMATION,*PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION; + + typedef enum JOB_OBJECT_NET_RATE_CONTROL_FLAGS { + JOB_OBJECT_NET_RATE_CONTROL_ENABLE = 0x1, + JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH = 0x2, + JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG = 0x4, + JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS = 0x7 + } JOB_OBJECT_NET_RATE_CONTROL_FLAGS; + +#if !defined(SORTPP_PASS) && !defined(__WIDL__) && !defined(RC_INVOKED) +DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_NET_RATE_CONTROL_FLAGS) +C_ASSERT(JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS == (JOB_OBJECT_NET_RATE_CONTROL_ENABLE + JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH + JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG)); +#endif + +#define JOB_OBJECT_NET_RATE_CONTROL_MAX_DSCP_TAG 64 + + typedef struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { + DWORD64 MaxBandwidth; + JOB_OBJECT_NET_RATE_CONTROL_FLAGS ControlFlags; + BYTE DscpTag; + } JOBOBJECT_NET_RATE_CONTROL_INFORMATION; + + typedef enum JOB_OBJECT_IO_RATE_CONTROL_FLAGS { + JOB_OBJECT_IO_RATE_CONTROL_ENABLE = 0x1, + JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME = 0x2, + JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL = 0x4, + JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP = 0x8, + JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS = JOB_OBJECT_IO_RATE_CONTROL_ENABLE | JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP + } JOB_OBJECT_IO_RATE_CONTROL_FLAGS; + +#if !defined(SORTPP_PASS) && !defined(__WIDL__) && !defined(RC_INVOKED) +DEFINE_ENUM_FLAG_OPERATORS(JOB_OBJECT_IO_RATE_CONTROL_FLAGS) +#endif + + typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { + LONG64 MaxIops; + LONG64 MaxBandwidth; + LONG64 ReservationIops; + PWSTR VolumeName; + DWORD BaseIoSize; + JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; + WORD VolumeNameLength; + } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; + + typedef JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1; + + typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { + LONG64 MaxIops; + LONG64 MaxBandwidth; + LONG64 ReservationIops; + PWSTR VolumeName; + DWORD BaseIoSize; + JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; + WORD VolumeNameLength; + LONG64 CriticalReservationIops; + LONG64 ReservationBandwidth; + LONG64 CriticalReservationBandwidth; + LONG64 MaxTimePercent; + LONG64 ReservationTimePercent; + LONG64 CriticalReservationTimePercent; + } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2; + + typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { + LONG64 MaxIops; + LONG64 MaxBandwidth; + LONG64 ReservationIops; + PWSTR VolumeName; + DWORD BaseIoSize; + JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; + WORD VolumeNameLength; + LONG64 CriticalReservationIops; + LONG64 ReservationBandwidth; + LONG64 CriticalReservationBandwidth; + LONG64 MaxTimePercent; + LONG64 ReservationTimePercent; + LONG64 CriticalReservationTimePercent; + LONG64 SoftMaxIops; + LONG64 SoftMaxBandwidth; + LONG64 SoftMaxTimePercent; + LONG64 LimitExcessNotifyIops; + LONG64 LimitExcessNotifyBandwidth; + LONG64 LimitExcessNotifyTimePercent; + } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3; + + typedef enum JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS { + JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE = 0x1, + JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE = 0x2, + JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS = 0x3 + } JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS; + + typedef struct _JOBOBJECT_IO_ATTRIBUTION_STATS { + ULONG_PTR IoCount; + ULONGLONG TotalNonOverlappedQueueTime; + ULONGLONG TotalNonOverlappedServiceTime; + ULONGLONG TotalSize; + } JOBOBJECT_IO_ATTRIBUTION_STATS, *PJOBOBJECT_IO_ATTRIBUTION_STATS; + + typedef struct _JOBOBJECT_IO_ATTRIBUTION_INFORMATION { + DWORD ControlFlags; + JOBOBJECT_IO_ATTRIBUTION_STATS ReadStats; + JOBOBJECT_IO_ATTRIBUTION_STATS WriteStats; + } JOBOBJECT_IO_ATTRIBUTION_INFORMATION, *PJOBOBJECT_IO_ATTRIBUTION_INFORMATION; + +#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB 0 +#define JOB_OBJECT_POST_AT_END_OF_JOB 1 + +#define JOB_OBJECT_MSG_END_OF_JOB_TIME 1 +#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME 2 +#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT 3 +#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO 4 +#define JOB_OBJECT_MSG_NEW_PROCESS 6 +#define JOB_OBJECT_MSG_EXIT_PROCESS 7 +#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS 8 +#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 9 +#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10 +#define JOB_OBJECT_MSG_NOTIFICATION_LIMIT 11 +#define JOB_OBJECT_MSG_JOB_CYCLE_TIME_LIMIT 12 +#define JOB_OBJECT_MSG_SILO_TERMINATED 13 + +#define JOB_OBJECT_MSG_MINIMUM 1 +#define JOB_OBJECT_MSG_MAXIMUM 12 +#define JOB_OBJECT_VALID_COMPLETION_FILTER (((__MSABI_LONG(1U) << (JOB_OBJECT_MSG_MAXIMUM + 1)) - 1) - ((__MSABI_LONG(1U) << JOB_OBJECT_MSG_MINIMUM) - 1)) + +#define JOB_OBJECT_LIMIT_WORKINGSET 0x00000001 +#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x00000002 +#define JOB_OBJECT_LIMIT_JOB_TIME 0x00000004 +#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x00000008 +#define JOB_OBJECT_LIMIT_AFFINITY 0x00000010 +#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x00000020 +#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x00000040 +#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x00000080 + +#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x00000100 +#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x00000200 +#define JOB_OBJECT_LIMIT_JOB_MEMORY_HIGH JOB_OBJECT_LIMIT_JOB_MEMORY +#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x00000400 +#define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x00000800 +#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x00001000 +#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x00002000 +#define JOB_OBJECT_LIMIT_SUBSET_AFFINITY 0x00004000 +#define JOB_OBJECT_LIMIT_JOB_MEMORY_LOW 0x00008000 + +#define JOB_OBJECT_LIMIT_JOB_READ_BYTES 0x00010000 +#define JOB_OBJECT_LIMIT_JOB_WRITE_BYTES 0x00020000 +#define JOB_OBJECT_LIMIT_RATE_CONTROL 0x00040000 +#define JOB_OBJECT_LIMIT_CPU_RATE_CONTROL JOB_OBJECT_LIMIT_RATE_CONTROL +#define JOB_OBJECT_LIMIT_IO_RATE_CONTROL 0x00080000 +#define JOB_OBJECT_LIMIT_NET_RATE_CONTROL 0x00100000 + +#define JOB_OBJECT_LIMIT_RESERVED3 0x00008000 +#define JOB_OBJECT_LIMIT_RESERVED4 0x00010000 +#define JOB_OBJECT_LIMIT_RESERVED5 0x00020000 +#define JOB_OBJECT_LIMIT_RESERVED6 0x00040000 + +#define JOB_OBJECT_LIMIT_VALID_FLAGS 0x0007ffff + +#define JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS 0x000000ff +#define JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS 0x00007fff +#define JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS 0x0007ffff +#define JOB_OBJECT_NOTIFICATION_LIMIT_VALID_FLAGS 0x00070204 + +#define JOB_OBJECT_UILIMIT_NONE 0x00000000 + +#define JOB_OBJECT_UILIMIT_HANDLES 0x00000001 +#define JOB_OBJECT_UILIMIT_READCLIPBOARD 0x00000002 +#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD 0x00000004 +#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x00000008 +#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x00000010 +#define JOB_OBJECT_UILIMIT_GLOBALATOMS 0x00000020 +#define JOB_OBJECT_UILIMIT_DESKTOP 0x00000040 +#define JOB_OBJECT_UILIMIT_EXITWINDOWS 0x00000080 + +#define JOB_OBJECT_UILIMIT_ALL 0x000000FF + +#define JOB_OBJECT_UI_VALID_FLAGS 0x000000FF + +#define JOB_OBJECT_SECURITY_NO_ADMIN 0x00000001 +#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x00000002 +#define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x00000004 +#define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x00000008 + +#define JOB_OBJECT_SECURITY_VALID_FLAGS 0x0000000f + +#define JOB_OBJECT_CPU_RATE_CONTROL_ENABLE 0x1 +#define JOB_OBJECT_CPU_RATE_CONTROL_WEIGHT_BASED 0x2 +#define JOB_OBJECT_CPU_RATE_CONTROL_HARD_CAP 0x4 +#define JOB_OBJECT_CPU_RATE_CONTROL_NOTIFY 0x8 +#define JOB_OBJECT_CPU_RATE_CONTROL_MIN_MAX_RATE 0x10 +#define JOB_OBJECT_CPU_RATE_CONTROL_VALID_FLAGS 0x1f + + typedef enum _JOBOBJECTINFOCLASS { + JobObjectBasicAccountingInformation = 1, + JobObjectBasicLimitInformation, + JobObjectBasicProcessIdList, + JobObjectBasicUIRestrictions, + JobObjectSecurityLimitInformation, + JobObjectEndOfJobTimeInformation, + JobObjectAssociateCompletionPortInformation, + JobObjectBasicAndIoAccountingInformation, + JobObjectExtendedLimitInformation, + JobObjectJobSetInformation, + JobObjectGroupInformation, + JobObjectNotificationLimitInformation, + JobObjectLimitViolationInformation, + JobObjectGroupInformationEx, + JobObjectCpuRateControlInformation, + JobObjectCompletionFilter, + JobObjectCompletionCounter, + JobObjectReserved1Information = 18, + JobObjectReserved2Information, + JobObjectReserved3Information, + JobObjectReserved4Information, + JobObjectReserved5Information, + JobObjectReserved6Information, + JobObjectReserved7Information, + JobObjectReserved8Information, + JobObjectReserved9Information, + JobObjectReserved10Information, + JobObjectReserved11Information, + JobObjectReserved12Information, + JobObjectReserved13Information, + JobObjectReserved14Information = 31, + JobObjectNetRateControlInformation, + JobObjectNotificationLimitInformation2, + JobObjectLimitViolationInformation2, + JobObjectCreateSilo, + JobObjectSiloBasicInformation, + JobObjectReserved15Information = 37, + JobObjectReserved16Information = 38, + JobObjectReserved17Information = 39, + JobObjectReserved18Information = 40, + JobObjectReserved19Information = 41, + JobObjectReserved20Information = 42, + JobObjectReserved21Information = 43, + JobObjectReserved22Information = 44, + JobObjectReserved23Information = 45, + JobObjectReserved24Information = 46, + JobObjectReserved25Information = 47, + MaxJobObjectInfoClass + } JOBOBJECTINFOCLASS; + + typedef struct _SILOOBJECT_BASIC_INFORMATION { + DWORD SiloId; + DWORD SiloParentId; + DWORD NumberOfProcesses; + BOOLEAN IsInServerSilo; + BYTE Reserved[3]; + } SILOOBJECT_BASIC_INFORMATION, *PSILOOBJECT_BASIC_INFORMATION; + + typedef enum _SERVERSILO_STATE { + SERVERSILO_INITING = 0, + SERVERSILO_STARTED, + SERVERSILO_SHUTTING_DOWN, + SERVERSILO_TERMINATING, + SERVERSILO_TERMINATED, + } SERVERSILO_STATE, *PSERVERSILO_STATE; + + typedef struct _SERVERSILO_BASIC_INFORMATION { + DWORD ServiceSessionId; + SERVERSILO_STATE State; + DWORD ExitStatus; + BOOLEAN IsDownlevelContainer; + PVOID ApiSetSchema; + PVOID HostApiSetSchema; + } SERVERSILO_BASIC_INFORMATION, *PSERVERSILO_BASIC_INFORMATION; + +#define MEMORY_PARTITION_QUERY_ACCESS 0x0001 +#define MEMORY_PARTITION_MODIFY_ACCESS 0x0002 +#define MEMORY_PARTITION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MEMORY_PARTITION_QUERY_ACCESS | MEMORY_PARTITION_MODIFY_ACCESS) + + typedef enum _FIRMWARE_TYPE { + FirmwareTypeUnknown, + FirmwareTypeBios, + FirmwareTypeUefi, + FirmwareTypeMax + } FIRMWARE_TYPE,*PFIRMWARE_TYPE; + +#define EVENT_MODIFY_STATE 0x0002 +#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) + +#define MUTANT_QUERY_STATE 0x0001 + +#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| MUTANT_QUERY_STATE) +#define SEMAPHORE_MODIFY_STATE 0x0002 +#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) + +#define TIMER_QUERY_STATE 0x0001 +#define TIMER_MODIFY_STATE 0x0002 + +#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| TIMER_QUERY_STATE|TIMER_MODIFY_STATE) + +#define TIME_ZONE_ID_UNKNOWN 0 +#define TIME_ZONE_ID_STANDARD 1 +#define TIME_ZONE_ID_DAYLIGHT 2 + + typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP { + RelationProcessorCore, + RelationNumaNode, + RelationCache, + RelationProcessorPackage, + RelationGroup, + RelationProcessorDie, + RelationNumaNodeEx, + RelationProcessorModule, + RelationAll = 0xffff + } LOGICAL_PROCESSOR_RELATIONSHIP; + +#define LTP_PC_SMT 0x1 + + typedef enum _PROCESSOR_CACHE_TYPE { + CacheUnified,CacheInstruction,CacheData,CacheTrace,CacheUnknown + } PROCESSOR_CACHE_TYPE; + +#define CACHE_FULLY_ASSOCIATIVE 0xFF + + typedef struct _CACHE_DESCRIPTOR { + BYTE Level; + BYTE Associativity; + WORD LineSize; + DWORD Size; + PROCESSOR_CACHE_TYPE Type; + } CACHE_DESCRIPTOR,*PCACHE_DESCRIPTOR; + + typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION { + ULONG_PTR ProcessorMask; + LOGICAL_PROCESSOR_RELATIONSHIP Relationship; + __C89_NAMELESS union { + struct { + BYTE Flags; + } ProcessorCore; + struct { + DWORD NodeNumber; + } NumaNode; + CACHE_DESCRIPTOR Cache; + ULONGLONG Reserved[2]; + } DUMMYUNIONNAME; + } SYSTEM_LOGICAL_PROCESSOR_INFORMATION,*PSYSTEM_LOGICAL_PROCESSOR_INFORMATION; + + typedef struct _PROCESSOR_RELATIONSHIP { + BYTE Flags; + BYTE EfficiencyClass; + BYTE Reserved[20]; + WORD GroupCount; + GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY]; + } PROCESSOR_RELATIONSHIP,*PPROCESSOR_RELATIONSHIP; + + typedef struct _NUMA_NODE_RELATIONSHIP { + DWORD NodeNumber; + BYTE Reserved[18]; + WORD GroupCount; + __C89_NAMELESS union { + GROUP_AFFINITY GroupMask; + GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY]; + }; + } NUMA_NODE_RELATIONSHIP,*PNUMA_NODE_RELATIONSHIP; + + typedef struct _CACHE_RELATIONSHIP { + BYTE Level; + BYTE Associativity; + WORD LineSize; + DWORD CacheSize; + PROCESSOR_CACHE_TYPE Type; + BYTE Reserved[18]; + WORD GroupCount; + __C89_NAMELESS union { + GROUP_AFFINITY GroupMask; + GROUP_AFFINITY GroupMasks[ANYSIZE_ARRAY]; + }; + } CACHE_RELATIONSHIP,*PCACHE_RELATIONSHIP; + + typedef struct _PROCESSOR_GROUP_INFO { + BYTE MaximumProcessorCount; + BYTE ActiveProcessorCount; + BYTE Reserved[38]; + KAFFINITY ActiveProcessorMask; + } PROCESSOR_GROUP_INFO,*PPROCESSOR_GROUP_INFO; + + typedef struct _GROUP_RELATIONSHIP { + WORD MaximumGroupCount; + WORD ActiveGroupCount; + BYTE Reserved[20]; + PROCESSOR_GROUP_INFO GroupInfo[ANYSIZE_ARRAY]; + } GROUP_RELATIONSHIP,*PGROUP_RELATIONSHIP; + + struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX { + LOGICAL_PROCESSOR_RELATIONSHIP Relationship; + DWORD Size; + __C89_NAMELESS union { + PROCESSOR_RELATIONSHIP Processor; + NUMA_NODE_RELATIONSHIP NumaNode; + CACHE_RELATIONSHIP Cache; + GROUP_RELATIONSHIP Group; + }; + }; + + typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; + + typedef enum _CPU_SET_INFORMATION_TYPE { + CpuSetInformation + } CPU_SET_INFORMATION_TYPE, *PCPU_SET_INFORMATION_TYPE; + +#define SYSTEM_CPU_SET_INFORMATION_PARKED 0x1 +#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED 0x2 +#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS 0x4 +#define SYSTEM_CPU_SET_INFORMATION_REALTIME 0x8 + + struct _SYSTEM_CPU_SET_INFORMATION { + DWORD Size; + CPU_SET_INFORMATION_TYPE Type; + __C89_NAMELESS union { + struct { + DWORD Id; + WORD Group; + BYTE LogicalProcessorIndex; + BYTE CoreIndex; + BYTE LastLevelCacheIndex; + BYTE NumaNodeIndex; + BYTE EfficiencyClass; + __C89_NAMELESS union { + BYTE AllFlags; + __C89_NAMELESS struct { + BYTE Parked : 1; + BYTE Allocated : 1; + BYTE AllocatedToTargetProcess : 1; + BYTE RealTime : 1; + BYTE ReservedFlags : 4; + }; + }; + __C89_NAMELESS union { + DWORD Reserved; + BYTE SchedulingClass; + }; + DWORD64 AllocationTag; + } CpuSet; + }; + }; + + typedef struct _SYSTEM_CPU_SET_INFORMATION SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION; + + typedef struct _SYSTEM_POOL_ZEROING_INFORMATION { + BOOLEAN PoolZeroingSupportPresent; + } SYSTEM_POOL_ZEROING_INFORMATION, *PSYSTEM_POOL_ZEROING_INFORMATION; + + typedef struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { + DWORD64 CycleTime; + } SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION,*PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; + + typedef struct _SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION { + DWORD Machine : 16; + DWORD KernelMode : 1; + DWORD UserMode : 1; + DWORD Native : 1; + DWORD Process : 1; + DWORD WoW64Container : 1; + DWORD ReservedZero0 : 11; + } SYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION,*PSYSTEM_SUPPORTED_PROCESSOR_ARCHITECTURES_INFORMATION; + +#define PROCESSOR_INTEL_386 386 +#define PROCESSOR_INTEL_486 486 +#define PROCESSOR_INTEL_PENTIUM 586 +#define PROCESSOR_INTEL_IA64 2200 +#define PROCESSOR_AMD_X8664 8664 +#define PROCESSOR_MIPS_R4000 4000 +#define PROCESSOR_ALPHA_21064 21064 +#define PROCESSOR_PPC_601 601 +#define PROCESSOR_PPC_603 603 +#define PROCESSOR_PPC_604 604 +#define PROCESSOR_PPC_620 620 +#define PROCESSOR_HITACHI_SH3 10003 +#define PROCESSOR_HITACHI_SH3E 10004 +#define PROCESSOR_HITACHI_SH4 10005 +#define PROCESSOR_MOTOROLA_821 821 +#define PROCESSOR_SHx_SH3 103 +#define PROCESSOR_SHx_SH4 104 +#define PROCESSOR_STRONGARM 2577 +#define PROCESSOR_ARM720 1824 +#define PROCESSOR_ARM820 2080 +#define PROCESSOR_ARM920 2336 +#define PROCESSOR_ARM_7TDMI 70001 +#define PROCESSOR_OPTIL 0x494f + +#define PROCESSOR_ARCHITECTURE_INTEL 0 +#define PROCESSOR_ARCHITECTURE_MIPS 1 +#define PROCESSOR_ARCHITECTURE_ALPHA 2 +#define PROCESSOR_ARCHITECTURE_PPC 3 +#define PROCESSOR_ARCHITECTURE_SHX 4 +#define PROCESSOR_ARCHITECTURE_ARM 5 +#define PROCESSOR_ARCHITECTURE_IA64 6 +#define PROCESSOR_ARCHITECTURE_ALPHA64 7 +#define PROCESSOR_ARCHITECTURE_MSIL 8 +#define PROCESSOR_ARCHITECTURE_AMD64 9 +#define PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 10 +#define PROCESSOR_ARCHITECTURE_NEUTRAL 11 +#define PROCESSOR_ARCHITECTURE_ARM64 12 +#define PROCESSOR_ARCHITECTURE_ARM32_ON_WIN64 13 +#define PROCESSOR_ARCHITECTURE_IA32_ON_ARM64 14 + +#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xffff + +#define PF_FLOATING_POINT_PRECISION_ERRATA 0 +#define PF_FLOATING_POINT_EMULATED 1 +#define PF_COMPARE_EXCHANGE_DOUBLE 2 +#define PF_MMX_INSTRUCTIONS_AVAILABLE 3 +#define PF_PPC_MOVEMEM_64BIT_OK 4 +#define PF_ALPHA_BYTE_INSTRUCTIONS 5 +#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6 +#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7 +#define PF_RDTSC_INSTRUCTION_AVAILABLE 8 +#define PF_PAE_ENABLED 9 +#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10 +#define PF_SSE_DAZ_MODE_AVAILABLE 11 +#define PF_NX_ENABLED 12 +#define PF_SSE3_INSTRUCTIONS_AVAILABLE 13 +#define PF_COMPARE_EXCHANGE128 14 +#define PF_COMPARE64_EXCHANGE128 15 +#define PF_CHANNELS_ENABLED 16 +#define PF_XSAVE_ENABLED 17 +#define PF_ARM_VFP_32_REGISTERS_AVAILABLE 18 +#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE 19 +#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION 20 +#define PF_VIRT_FIRMWARE_ENABLED 21 +#define PF_RDWRFSGSBASE_AVAILABLE 22 +#define PF_FASTFAIL_AVAILABLE 23 +#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE 24 +#define PF_ARM_64BIT_LOADSTORE_ATOMIC 25 +#define PF_ARM_EXTERNAL_CACHE_AVAILABLE 26 +#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE 27 +#define PF_RDRAND_INSTRUCTION_AVAILABLE 28 +#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE 29 +#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE 30 +#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31 +#define PF_RDTSCP_INSTRUCTION_AVAILABLE 32 +#define PF_RDPID_INSTRUCTION_AVAILABLE 33 +#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE 34 +#define PF_MONITORX_INSTRUCTION_AVAILABLE 35 +#define PF_SSSE3_INSTRUCTIONS_AVAILABLE 36 +#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE 37 +#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE 38 +#define PF_AVX_INSTRUCTIONS_AVAILABLE 39 +#define PF_AVX2_INSTRUCTIONS_AVAILABLE 40 +#define PF_AVX512F_INSTRUCTIONS_AVAILABLE 41 +#define PF_ERMS_AVAILABLE 42 +#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE 43 +#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 44 +#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE 45 +#define PF_ARM_SVE_INSTRUCTIONS_AVAILABLE 46 +#define PF_ARM_SVE2_INSTRUCTIONS_AVAILABLE 47 +#define PF_ARM_SVE2_1_INSTRUCTIONS_AVAILABLE 48 +#define PF_ARM_SVE_AES_INSTRUCTIONS_AVAILABLE 49 +#define PF_ARM_SVE_PMULL128_INSTRUCTIONS_AVAILABLE 50 +#define PF_ARM_SVE_BITPERM_INSTRUCTIONS_AVAILABLE 51 +#define PF_ARM_SVE_BF16_INSTRUCTIONS_AVAILABLE 52 +#define PF_ARM_SVE_EBF16_INSTRUCTIONS_AVAILABLE 53 +#define PF_ARM_SVE_B16B16_INSTRUCTIONS_AVAILABLE 54 +#define PF_ARM_SVE_SHA3_INSTRUCTIONS_AVAILABLE 55 +#define PF_ARM_SVE_SM4_INSTRUCTIONS_AVAILABLE 56 +#define PF_ARM_SVE_I8MM_INSTRUCTIONS_AVAILABLE 57 +#define PF_ARM_SVE_F32MM_INSTRUCTIONS_AVAILABLE 58 +#define PF_ARM_SVE_F64MM_INSTRUCTIONS_AVAILABLE 59 +#define PF_BMI2_INSTRUCTIONS_AVAILABLE 60 + +#define XSTATE_LEGACY_FLOATING_POINT (0) +#define XSTATE_LEGACY_SSE (1) +#define XSTATE_GSSE (2) +#define XSTATE_AVX (XSTATE_GSSE) +#define XSTATE_MPX_BNDREGS (3) +#define XSTATE_MPX_BNDCSR (4) +#define XSTATE_AVX512_KMASK (5) +#define XSTATE_AVX512_ZMM_H (6) +#define XSTATE_AVX512_ZMM (7) +#define XSTATE_IPT (8) +#define XSTATE_PASID (10) +#define XSTATE_CET_U (11) +#define XSTATE_CET_S (12) +#define XSTATE_AMX_TILE_CONFIG (17) +#define XSTATE_AMX_TILE_DATA (18) +#define XSTATE_LWP (62) +#define MAXIMUM_XSTATE_FEATURES (64) + +#define XSTATE_MASK_LEGACY_FLOATING_POINT (1ULL << (XSTATE_LEGACY_FLOATING_POINT)) +#define XSTATE_MASK_LEGACY_SSE (1ULL << (XSTATE_LEGACY_SSE)) +#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE) +#define XSTATE_MASK_GSSE (1LLU << (XSTATE_GSSE)) +#define XSTATE_MASK_AVX (XSTATE_MASK_GSSE) +#define XSTATE_MASK_MPX ((1LLU << (XSTATE_MPX_BNDREGS)) | (1LLU << (XSTATE_MPX_BNDCSR))) +#define XSTATE_MASK_AVX512 ((1LLU << (XSTATE_AVX512_KMASK)) | (1LLU << (XSTATE_AVX512_ZMM_H)) | (1LLU << (XSTATE_AVX512_ZMM))) +#define XSTATE_MASK_IPT (1LLU << (XSTATE_IPT)) +#define XSTATE_MASK_PASID (1LLU << (XSTATE_PASID)) +#define XSTATE_MASK_CET_U (1LLU << (XSTATE_CET_U)) +#define XSTATE_MASK_CET_S (1LLU << (XSTATE_CET_S)) +#define XSTATE_MASK_AMX_TILE_CONFIG (1LLU << (XSTATE_AMX_TILE_CONFIG)) +#define XSTATE_MASK_AMX_TILE_DATA (1LLU << (XSTATE_AMX_TILE_DATA)) +#define XSTATE_MASK_LWP (1LLU << (XSTATE_LWP)) +#if defined(_AMD64_) || defined(__x86_64__) +#define XSTATE_MASK_ALLOWED (XSTATE_MASK_LEGACY | XSTATE_MASK_AVX | XSTATE_MASK_MPX | XSTATE_MASK_AVX512 | XSTATE_MASK_IPT | XSTATE_MASK_PASID | XSTATE_MASK_CET_U | XSTATE_MASK_AMX_TILE_CONFIG | XSTATE_MASK_AMX_TILE_DATA | XSTATE_MASK_LWP) +#elif defined(_X86_) || defined(__i386__) +#define XSTATE_MASK_ALLOWED (XSTATE_MASK_LEGACY | XSTATE_MASK_AVX | XSTATE_MASK_MPX | XSTATE_MASK_AVX512 | XSTATE_MASK_IPT | XSTATE_MASK_CET_U | XSTATE_MASK_LWP) +#endif +#define XSTATE_MASK_PERSISTENT ((1LLU << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP) +#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U) +#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA) + +#define XSTATE_COMPACTION_ENABLE (63) +#define XSTATE_COMPACTION_ENABLE_MASK (1ULL << (XSTATE_COMPACTION_ENABLE)) + +#define XSTATE_ALIGN_BIT (1) +#define XSTATE_ALIGN_MASK (1ULL << (XSTATE_ALIGN_BIT)) + +#define XSTATE_XFD_BIT (2) +#define XSTATE_XFD_MASK (1ULL << (XSTATE_XFD_BIT)) + +#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK (1) +#define XSTATE_CONTROLFLAG_XSAVEC_MASK (2) +#define XSTATE_CONTROLFLAG_XFD_MASK (4) +#define XSTATE_CONTROLFLAG_VALID_MASK (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | XSTATE_CONTROLFLAG_XSAVEC_MASK | XSTATE_CONTROLFLAG_XFD_MASK) + + typedef struct _XSTATE_FEATURE { + DWORD Offset; + DWORD Size; + } XSTATE_FEATURE,*PXSTATE_FEATURE; + + typedef struct _XSTATE_CONFIGURATION { + DWORD64 EnabledFeatures; + DWORD64 EnabledVolatileFeatures; + DWORD Size; + __C89_NAMELESS union { + DWORD ControlFlags; + __C89_NAMELESS struct { + DWORD OptimizedSave : 1; + DWORD CompactionEnabled : 1; + DWORD ExtendedFeatureDisable : 1; + }; + }; + XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]; + DWORD64 EnabledSupervisorFeatures; + DWORD64 AlignedFeatures; + DWORD AllFeatureSize; + DWORD AllFeatures[MAXIMUM_XSTATE_FEATURES]; + DWORD64 EnabledUserVisibleSupervisorFeatures; + DWORD64 ExtendedFeatureDisableFeatures; + DWORD AllNonLargeFeatureSize; + DWORD Spare; + } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; + + typedef struct _MEMORY_BASIC_INFORMATION { + PVOID BaseAddress; + PVOID AllocationBase; + DWORD AllocationProtect; +#if defined (_WIN64) + WORD PartitionId; +#endif + SIZE_T RegionSize; + DWORD State; + DWORD Protect; + DWORD Type; + } MEMORY_BASIC_INFORMATION,*PMEMORY_BASIC_INFORMATION; + + typedef struct _MEMORY_BASIC_INFORMATION32 { + DWORD BaseAddress; + DWORD AllocationBase; + DWORD AllocationProtect; + DWORD RegionSize; + DWORD State; + DWORD Protect; + DWORD Type; + } MEMORY_BASIC_INFORMATION32,*PMEMORY_BASIC_INFORMATION32; + + typedef struct DECLSPEC_ALIGN(16) _MEMORY_BASIC_INFORMATION64 { + ULONGLONG BaseAddress; + ULONGLONG AllocationBase; + DWORD AllocationProtect; + DWORD __alignment1; + ULONGLONG RegionSize; + DWORD State; + DWORD Protect; + DWORD Type; + DWORD __alignment2; + } MEMORY_BASIC_INFORMATION64,*PMEMORY_BASIC_INFORMATION64; + +#define CFG_CALL_TARGET_VALID 0x01 +#define CFG_CALL_TARGET_PROCESSED 0x02 +#define CFG_CALL_TARGET_CONVERT_EXPORT_SUPPRESSED_TO_VALID 0x04 +#define CFG_CALL_TARGET_VALID_XFG (0x08) +#define CFG_CALL_TARGET_CONVERT_XFG_TO_CFG (0x10) + + typedef struct _CFG_CALL_TARGET_INFO { + ULONG_PTR Offset; + ULONG_PTR Flags; + } CFG_CALL_TARGET_INFO, *PCFG_CALL_TARGET_INFO; + +#define SECTION_QUERY 0x0001 +#define SECTION_MAP_WRITE 0x0002 +#define SECTION_MAP_READ 0x0004 +#define SECTION_MAP_EXECUTE 0x0008 +#define SECTION_EXTEND_SIZE 0x0010 +#define SECTION_MAP_EXECUTE_EXPLICIT 0x0020 + +#define SECTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE) + +#define SESSION_QUERY_ACCESS 0x1 +#define SESSION_MODIFY_ACCESS 0x2 + +#define SESSION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SESSION_QUERY_ACCESS | SESSION_MODIFY_ACCESS) + +#define PAGE_NOACCESS 0x01 +#define PAGE_READONLY 0x02 +#define PAGE_READWRITE 0x04 +#define PAGE_WRITECOPY 0x08 +#define PAGE_EXECUTE 0x10 +#define PAGE_EXECUTE_READ 0x20 +#define PAGE_EXECUTE_READWRITE 0x40 +#define PAGE_EXECUTE_WRITECOPY 0x80 +#define PAGE_GUARD 0x100 +#define PAGE_NOCACHE 0x200 +#define PAGE_WRITECOMBINE 0x400 +#define PAGE_GRAPHICS_NOACCESS 0x0800 +#define PAGE_GRAPHICS_READONLY 0x1000 +#define PAGE_GRAPHICS_READWRITE 0x2000 +#define PAGE_GRAPHICS_EXECUTE 0x4000 +#define PAGE_GRAPHICS_EXECUTE_READ 0x8000 +#define PAGE_GRAPHICS_EXECUTE_READWRITE 0x10000 +#define PAGE_GRAPHICS_COHERENT 0x20000 +#define PAGE_GRAPHICS_NOCACHE 0x40000 +#define PAGE_ENCLAVE_THREAD_CONTROL 0x80000000 +#define PAGE_REVERT_TO_FILE_MAP 0x80000000 +#define PAGE_TARGETS_NO_UPDATE 0x40000000 +#define PAGE_TARGETS_INVALID 0x40000000 +#define PAGE_ENCLAVE_UNVALIDATED 0x20000000 +#define PAGE_ENCLAVE_MASK 0x10000000 +#define PAGE_ENCLAVE_DECOMMIT (PAGE_ENCLAVE_MASK | 0) +#define PAGE_ENCLAVE_SS_FIRST (PAGE_ENCLAVE_MASK | 1) +#define PAGE_ENCLAVE_SS_REST (PAGE_ENCLAVE_MASK | 2) + +#define MEM_COMMIT 0x1000 +#define MEM_RESERVE 0x2000 +#define MEM_REPLACE_PLACEHOLDER 0x4000 +#define MEM_DECOMMIT 0x4000 +#define MEM_RELEASE 0x8000 +#define MEM_FREE 0x10000 +#define MEM_PRIVATE 0x20000 +#define MEM_RESERVE_PLACEHOLDER 0x40000 +#define MEM_MAPPED 0x40000 +#define MEM_RESET 0x80000 +#define MEM_TOP_DOWN 0x100000 +#define MEM_WRITE_WATCH 0x200000 +#define MEM_PHYSICAL 0x400000 +#define MEM_ROTATE 0x800000 +#define MEM_DIFFERENT_IMAGE_BASE_OK 0x800000 +#define MEM_RESET_UNDO 0x1000000 +#define MEM_LARGE_PAGES 0x20000000 +#define MEM_4MB_PAGES 0x80000000 +#define MEM_64K_PAGES (MEM_LARGE_PAGES | MEM_PHYSICAL) +#define MEM_UNMAP_WITH_TRANSIENT_BOOST 0x00000001 +#define MEM_COALESCE_PLACEHOLDERS 0x00000001 +#define MEM_PRESERVE_PLACEHOLDER 0x00000002 + + typedef struct _MEM_ADDRESS_REQUIREMENTS { + PVOID LowestStartingAddress; + PVOID HighestEndingAddress; + SIZE_T Alignment; + } MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS; + +#define MEM_EXTENDED_PARAMETER_GRAPHICS 0x01 +#define MEM_EXTENDED_PARAMETER_NONPAGED 0x02 +#define MEM_EXTENDED_PARAMETER_ZERO_PAGES_OPTIONAL 0x04 +#define MEM_EXTENDED_PARAMETER_NONPAGED_LARGE 0x08 +#define MEM_EXTENDED_PARAMETER_NONPAGED_HUGE 0x10 +#define MEM_EXTENDED_PARAMETER_SOFT_FAULT_PAGES 0x20 +#define MEM_EXTENDED_PARAMETER_EC_CODE 0x40 +#define MEM_EXTENDED_PARAMETER_IMAGE_NO_HPAT 0x80 + +#define MEM_EXTENDED_PARAMETER_NUMA_NODE_MANDATORY MINLONG64 + + typedef enum MEM_EXTENDED_PARAMETER_TYPE { + MemExtendedParameterInvalidType = 0, + MemExtendedParameterAddressRequirements, + MemExtendedParameterNumaNode, + MemExtendedParameterPartitionHandle, + MemExtendedParameterUserPhysicalHandle, + MemExtendedParameterAttributeFlags, + MemExtendedParameterImageMachine, + MemExtendedParameterMax + } MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE; + +#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8 + + typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER { + __C89_NAMELESS struct { + DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS; + DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS; + }; + __C89_NAMELESS union { + DWORD64 ULong64; + PVOID Pointer; + SIZE_T Size; + HANDLE Handle; + DWORD ULong; + }; + } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER; + +#define MEMORY_CURRENT_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-1)) +#define MEMORY_SYSTEM_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-2)) +#define MEMORY_EXISTING_VAD_PARTITION_HANDLE ((HANDLE)(LONG_PTR)(-3)) +#define MEM_DEDICATED_ATTRIBUTE_NOT_SPECIFIED ((DWORD64)(-1)) + + typedef enum _MEM_DEDICATED_ATTRIBUTE_TYPE { + MemDedicatedAttributeReadBandwidth = 0, + MemDedicatedAttributeReadLatency, + MemDedicatedAttributeWriteBandwidth, + MemDedicatedAttributeWriteLatency, + MemDedicatedAttributeMax + } MEM_DEDICATED_ATTRIBUTE_TYPE, *PMEM_DEDICATED_ATTRIBUTE_TYPE; + +#define SEC_HUGE_PAGES 0x20000 +#define SEC_PARTITION_OWNER_HANDLE 0x40000 +#define SEC_64K_PAGES 0x80000 +#define SEC_FILE 0x800000 +#define SEC_IMAGE 0x1000000 +#define SEC_PROTECTED_IMAGE 0x2000000 +#define SEC_RESERVE 0x4000000 +#define SEC_COMMIT 0x8000000 +#define SEC_NOCACHE 0x10000000 +#define SEC_WRITECOMBINE 0x40000000 +#define SEC_LARGE_PAGES 0x80000000 +#define SEC_IMAGE_NO_EXECUTE (SEC_IMAGE | SEC_NOCACHE) + + typedef enum MEM_SECTION_EXTENDED_PARAMETER_TYPE { + MemSectionExtendedParameterInvalidType = 0, + MemSectionExtendedParameterUserPhysicalFlags, + MemSectionExtendedParameterNumaNode, + MemSectionExtendedParameterSigningLevel, + MemSectionExtendedParameterMax + } MEM_SECTION_EXTENDED_PARAMETER_TYPE, *PMEM_SECTION_EXTENDED_PARAMETER_TYPE; + +#define MEM_IMAGE SEC_IMAGE +#define WRITE_WATCH_FLAG_RESET 0x01 + +#define ENCLAVE_TYPE_SGX 0x00000001 +#define ENCLAVE_TYPE_SGX2 0x00000002 + + typedef struct _ENCLAVE_CREATE_INFO_SGX { + BYTE Secs[4096]; + } ENCLAVE_CREATE_INFO_SGX, *PENCLAVE_CREATE_INFO_SGX; + + typedef struct _ENCLAVE_INIT_INFO_SGX { + BYTE SigStruct[1808]; + BYTE Reserved1[240]; + BYTE EInitToken[304]; + BYTE Reserved2[1744]; + } ENCLAVE_INIT_INFO_SGX, *PENCLAVE_INIT_INFO_SGX; + +#define ENCLAVE_TYPE_VBS 0x00000010 + + typedef struct _ENCLAVE_CREATE_INFO_VBS { + DWORD Flags; + BYTE OwnerID[32]; + } ENCLAVE_CREATE_INFO_VBS, *PENCLAVE_CREATE_INFO_VBS; + +#define ENCLAVE_VBS_FLAG_DEBUG 0x00000001 + +#define ENCLAVE_TYPE_VBS_BASIC 0x00000011 + + typedef struct _ENCLAVE_CREATE_INFO_VBS_BASIC { + DWORD Flags; + BYTE OwnerID[32]; + } ENCLAVE_CREATE_INFO_VBS_BASIC, *PENCLAVE_CREATE_INFO_VBS_BASIC; + + typedef struct _ENCLAVE_LOAD_DATA_VBS_BASIC { + DWORD PageType; + } ENCLAVE_LOAD_DATA_VBS_BASIC, *PENCLAVE_LOAD_DATA_VBS_BASIC; + +#define VBS_BASIC_PAGE_MEASURED_DATA 0x00000001 +#define VBS_BASIC_PAGE_UNMEASURED_DATA 0x00000002 +#define VBS_BASIC_PAGE_ZERO_FILL 0x00000003 +#define VBS_BASIC_PAGE_THREAD_DESCRIPTOR 0x00000004 +#define VBS_BASIC_PAGE_SYSTEM_CALL 0x00000005 + + typedef struct _ENCLAVE_INIT_INFO_VBS_BASIC { + BYTE FamilyId[ENCLAVE_SHORT_ID_LENGTH]; + BYTE ImageId[ENCLAVE_SHORT_ID_LENGTH]; + ULONGLONG EnclaveSize; + DWORD EnclaveSvn; + DWORD Reserved; + __C89_NAMELESS union { + HANDLE SignatureInfoHandle; + ULONGLONG Unused; + }; + } ENCLAVE_INIT_INFO_VBS_BASIC, *PENCLAVE_INIT_INFO_VBS_BASIC; + + typedef struct _ENCLAVE_INIT_INFO_VBS { + DWORD Length; + DWORD ThreadCount; + } ENCLAVE_INIT_INFO_VBS, *PENCLAVE_INIT_INFO_VBS; + +#if !defined(SORTPP_PASS) && !defined(__WIDL__) && !defined(RC_INVOKED) + typedef PVOID (ENCLAVE_TARGET_FUNCTION)(PVOID); + typedef ENCLAVE_TARGET_FUNCTION (*PENCLAVE_TARGET_FUNCTION); + typedef PENCLAVE_TARGET_FUNCTION LPENCLAVE_TARGET_FUNCTION; +#endif + +#define DEDICATED_MEMORY_CACHE_ELIGIBLE 0x1 + + typedef struct DECLSPEC_ALIGN(8) _MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE { + MEM_DEDICATED_ATTRIBUTE_TYPE Type; + DWORD Reserved; + DWORD64 Value; + } MEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE, *PMEMORY_PARTITION_DEDICATED_MEMORY_ATTRIBUTE; + + typedef struct DECLSPEC_ALIGN(8) _MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION { + DWORD NextEntryOffset; + DWORD SizeOfInformation; + DWORD Flags; + DWORD AttributesOffset; + DWORD AttributeCount; + DWORD Reserved; + DWORD64 TypeId; + } MEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION, *PMEMORY_PARTITION_DEDICATED_MEMORY_INFORMATION; + +#define FILE_READ_DATA (0x0001) +#define FILE_LIST_DIRECTORY (0x0001) + +#define FILE_WRITE_DATA (0x0002) +#define FILE_ADD_FILE (0x0002) + +#define FILE_APPEND_DATA (0x0004) +#define FILE_ADD_SUBDIRECTORY (0x0004) +#define FILE_CREATE_PIPE_INSTANCE (0x0004) + +#define FILE_READ_EA (0x0008) +#define FILE_WRITE_EA (0x0010) +#define FILE_EXECUTE (0x0020) +#define FILE_TRAVERSE (0x0020) +#define FILE_DELETE_CHILD (0x0040) +#define FILE_READ_ATTRIBUTES (0x0080) +#define FILE_WRITE_ATTRIBUTES (0x0100) + +#define FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF) +#define FILE_GENERIC_READ (STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE) +#define FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE) +#define FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE) + +#define FILE_SUPERSEDE 0x00000000 +#define FILE_OPEN 0x00000001 +#define FILE_CREATE 0x00000002 +#define FILE_OPEN_IF 0x00000003 +#define FILE_OVERWRITE 0x00000004 +#define FILE_OVERWRITE_IF 0x00000005 +#define FILE_MAXIMUM_DISPOSITION 0x00000005 + +#define FILE_DIRECTORY_FILE 0x00000001 +#define FILE_WRITE_THROUGH 0x00000002 +#define FILE_SEQUENTIAL_ONLY 0x00000004 +#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008 +#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010 +#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020 +#define FILE_NON_DIRECTORY_FILE 0x00000040 +#define FILE_CREATE_TREE_CONNECTION 0x00000080 +#define FILE_COMPLETE_IF_OPLOCKED 0x00000100 +#define FILE_NO_EA_KNOWLEDGE 0x00000200 +#define FILE_OPEN_REMOTE_INSTANCE 0x00000400 +#define FILE_RANDOM_ACCESS 0x00000800 +#define FILE_DELETE_ON_CLOSE 0x00001000 +#define FILE_OPEN_BY_FILE_ID 0x00002000 +#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000 +#define FILE_NO_COMPRESSION 0x00008000 +#if (NTDDI_VERSION >= NTDDI_WIN7) +#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000 +#define FILE_DISALLOW_EXCLUSIVE 0x00020000 +#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ +#define FILE_RESERVE_OPFILTER 0x00100000 +#define FILE_OPEN_REPARSE_POINT 0x00200000 +#define FILE_OPEN_NO_RECALL 0x00400000 +#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 + +#define FILE_SHARE_READ 0x00000001 +#define FILE_SHARE_WRITE 0x00000002 +#define FILE_SHARE_DELETE 0x00000004 +#define FILE_SHARE_VALID_FLAGS 0x00000007 +#define FILE_ATTRIBUTE_READONLY 0x00000001 +#define FILE_ATTRIBUTE_HIDDEN 0x00000002 +#define FILE_ATTRIBUTE_SYSTEM 0x00000004 +#define FILE_ATTRIBUTE_DIRECTORY 0x00000010 +#define FILE_ATTRIBUTE_ARCHIVE 0x00000020 +#define FILE_ATTRIBUTE_DEVICE 0x00000040 +#define FILE_ATTRIBUTE_NORMAL 0x00000080 +#define FILE_ATTRIBUTE_TEMPORARY 0x00000100 +#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 +#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 +#define FILE_ATTRIBUTE_COMPRESSED 0x00000800 +#define FILE_ATTRIBUTE_OFFLINE 0x00001000 +#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 +#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 +#define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000 +#define FILE_ATTRIBUTE_VIRTUAL 0x00010000 +#define FILE_ATTRIBUTE_NO_SCRUB_DATA 0x00020000 +#define FILE_ATTRIBUTE_EA 0x00040000 +#define FILE_ATTRIBUTE_PINNED 0x00080000 +#define FILE_ATTRIBUTE_UNPINNED 0x00100000 +#define FILE_ATTRIBUTE_RECALL_ON_OPEN 0x00040000 +#define FILE_ATTRIBUTE_RECALL_ON_DATA_ACCESS 0x00400000 +#define TREE_CONNECT_ATTRIBUTE_PRIVACY 0x00004000 +#define TREE_CONNECT_ATTRIBUTE_INTEGRITY 0x00008000 +#define TREE_CONNECT_ATTRIBUTE_GLOBAL 0x00000004 +#define TREE_CONNECT_ATTRIBUTE_PINNED 0x00000002 +#define FILE_ATTRIBUTE_STRICTLY_SEQUENTIAL 0x20000000 +#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 +#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 +#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 +#define FILE_NOTIFY_CHANGE_SIZE 0x00000008 +#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010 +#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020 +#define FILE_NOTIFY_CHANGE_CREATION 0x00000040 +#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100 +#define FILE_ACTION_ADDED 0x00000001 +#define FILE_ACTION_REMOVED 0x00000002 +#define FILE_ACTION_MODIFIED 0x00000003 +#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004 +#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005 +#define MAILSLOT_NO_MESSAGE ((DWORD)-1) +#define MAILSLOT_WAIT_FOREVER ((DWORD)-1) +#define FILE_CASE_SENSITIVE_SEARCH 0x00000001 +#define FILE_CASE_PRESERVED_NAMES 0x00000002 +#define FILE_UNICODE_ON_DISK 0x00000004 +#define FILE_PERSISTENT_ACLS 0x00000008 +#define FILE_FILE_COMPRESSION 0x00000010 +#define FILE_VOLUME_QUOTAS 0x00000020 +#define FILE_SUPPORTS_SPARSE_FILES 0x00000040 +#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080 +#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100 +#define FILE_RETURNS_CLEANUP_RESULT_INFO 0x00000200 +#define FILE_SUPPORTS_POSIX_UNLINK_RENAME 0x00000400 +#define FILE_SUPPORTS_BYPASS_IO 0x00000800 +#define FILE_SUPPORTS_STREAM_SNAPSHOTS 0x00001000 +#define FILE_SUPPORTS_CASE_SENSITIVE_DIRS 0x00002000 + +#define FILE_VOLUME_IS_COMPRESSED 0x00008000 +#define FILE_SUPPORTS_OBJECT_IDS 0x00010000 +#define FILE_SUPPORTS_ENCRYPTION 0x00020000 +#define FILE_NAMED_STREAMS 0x00040000 +#define FILE_READ_ONLY_VOLUME 0x00080000 +#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000 +#define FILE_SUPPORTS_TRANSACTIONS 0x00200000 +#define FILE_SUPPORTS_HARD_LINKS 0x00400000 +#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000 +#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000 +#define FILE_SUPPORTS_USN_JOURNAL 0x02000000 +#define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000 +#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000 +#define FILE_SUPPORTS_SPARSE_VDL 0x10000000 +#define FILE_DAX_VOLUME 0x20000000 +#define FILE_SUPPORTS_GHOSTING 0x40000000 +#define FILE_INVALID_FILE_ID ((LONGLONG)(-1LL)) + + typedef struct _FILE_ID_128 { + BYTE Identifier[16]; + } FILE_ID_128, *PFILE_ID_128; + + typedef struct _FILE_NOTIFY_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + DWORD FileNameLength; + WCHAR FileName[1]; + } FILE_NOTIFY_INFORMATION,*PFILE_NOTIFY_INFORMATION; + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS3 + typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastModificationTime; + LARGE_INTEGER LastChangeTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER AllocatedLength; + LARGE_INTEGER FileSize; + DWORD FileAttributes; + __C89_NAMELESS union { + DWORD ReparsePointTag; + DWORD EaSize; + }; + LARGE_INTEGER FileId; + LARGE_INTEGER ParentFileId; + DWORD FileNameLength; + WCHAR FileName[1]; + } FILE_NOTIFY_EXTENDED_INFORMATION,*PFILE_NOTIFY_EXTENDED_INFORMATION; +#endif + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_NI +#define FILE_NAME_FLAG_HARDLINK 0 +#define FILE_NAME_FLAG_NTFS 0x01 +#define FILE_NAME_FLAG_DOS 0x02 +#define FILE_NAME_FLAG_BOTH 0x03 +#define FILE_NAME_FLAGS_UNSPECIFIED 0x80 + + typedef struct _FILE_NOTIFY_FULL_INFORMATION { + DWORD NextEntryOffset; + DWORD Action; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastModificationTime; + LARGE_INTEGER LastChangeTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER AllocatedLength; + LARGE_INTEGER FileSize; + DWORD FileAttributes; + __C89_NAMELESS union { + DWORD ReparsePointTag; + DWORD EaSize; + }; + LARGE_INTEGER FileId; + LARGE_INTEGER ParentFileId; + WORD FileNameLength; + BYTE FileNameFlags; + BYTE Reserved; + WCHAR FileName[1]; + } FILE_NOTIFY_FULL_INFORMATION,*PFILE_NOTIFY_FULL_INFORMATION; +#endif + + typedef struct _FILE_STAT_INFORMATION { + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD FileAttributes; + DWORD ReparseTag; + DWORD NumberOfLinks; + ACCESS_MASK EffectiveAccess; + } FILE_STAT_INFORMATION, *PFILE_STAT_INFORMATION; + +#define LX_FILE_METADATA_HAS_UID 0x1 +#define LX_FILE_METADATA_HAS_GID 0x2 +#define LX_FILE_METADATA_HAS_MODE 0x4 +#define LX_FILE_METADATA_HAS_DEVICE_ID 0x8 +#define LX_FILE_CASE_SENSITIVE_DIR 0x10 + + typedef struct _FILE_STAT_LX_INFORMATION { + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD FileAttributes; + DWORD ReparseTag; + DWORD NumberOfLinks; + ACCESS_MASK EffectiveAccess; + DWORD LxFlags; + DWORD LxUid; + DWORD LxGid; + DWORD LxMode; + DWORD LxDeviceIdMajor; + DWORD LxDeviceIdMinor; + } FILE_STAT_LX_INFORMATION, *PFILE_STAT_LX_INFORMATION; + +#if NTDDI_VERSION >= NTDDI_WIN11_ZN + typedef struct _FILE_STAT_BASIC_INFORMATION { + LARGE_INTEGER FileId; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD FileAttributes; + DWORD ReparseTag; + DWORD NumberOfLinks; + DWORD DeviceType; + DWORD DeviceCharacteristics; + DWORD Reserved; + LARGE_INTEGER VolumeSerialNumber; + FILE_ID_128 FileId128; + } FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION; +#endif + +#define FILE_CS_FLAG_CASE_SENSITIVE_DIR 0x00000001 + + typedef struct _FILE_CASE_SENSITIVE_INFORMATION { + DWORD Flags; + } FILE_CASE_SENSITIVE_INFORMATION, *PFILE_CASE_SENSITIVE_INFORMATION; + + typedef union _FILE_SEGMENT_ELEMENT { + PVOID64 Buffer; + ULONGLONG Alignment; + } FILE_SEGMENT_ELEMENT,*PFILE_SEGMENT_ELEMENT; + +#if NTDDI_VERSION >= NTDDI_WIN8 +#define FLUSH_FLAGS_FILE_DATA_ONLY 0x00000001 +#define FLUSH_FLAGS_NO_SYNC 0x00000002 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_RS1 +#define FLUSH_FLAGS_FILE_DATA_SYNC_ONLY 0x00000004 +#endif + + typedef struct _REPARSE_GUID_DATA_BUFFER { + DWORD ReparseTag; + WORD ReparseDataLength; + WORD Reserved; + GUID ReparseGuid; + struct { + BYTE DataBuffer[1]; + } GenericReparseBuffer; + } REPARSE_GUID_DATA_BUFFER,*PREPARSE_GUID_DATA_BUFFER; + +#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER,GenericReparseBuffer) + +#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE (16 *1024) + +#define SYMLINK_FLAG_RELATIVE 1 + +#define IO_REPARSE_TAG_RESERVED_ZERO (0) +#define IO_REPARSE_TAG_RESERVED_ONE (1) +#define IO_REPARSE_TAG_RESERVED_TWO (2) + +#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_TWO + +#define IsReparseTagMicrosoft(_tag) (((_tag) & 0x80000000)) +#define IsReparseTagNameSurrogate(_tag) (((_tag) & 0x20000000)) +#define IsReparseTagDirectory(_tag) (((_tag) & 0x10000000)) + +#define IO_REPARSE_TAG_MOUNT_POINT (__MSABI_LONG(0xA0000003)) +#define IO_REPARSE_TAG_HSM (__MSABI_LONG(0xC0000004)) +#define IO_REPARSE_TAG_DRIVE_EXTENDER (__MSABI_LONG(0x80000005)) +#define IO_REPARSE_TAG_HSM2 (__MSABI_LONG(0x80000006)) +#define IO_REPARSE_TAG_SIS (__MSABI_LONG(0x80000007)) +#define IO_REPARSE_TAG_WIM (__MSABI_LONG(0x80000008)) +#define IO_REPARSE_TAG_CSV (__MSABI_LONG(0x80000009)) +#define IO_REPARSE_TAG_DFS (__MSABI_LONG(0x8000000A)) +#define IO_REPARSE_TAG_FILTER_MANAGER (__MSABI_LONG(0x8000000B)) +#define IO_REPARSE_TAG_SYMLINK (__MSABI_LONG(0xA000000C)) +#define IO_REPARSE_TAG_IIS_CACHE (__MSABI_LONG(0xA0000010)) +#define IO_REPARSE_TAG_DFSR (__MSABI_LONG(0x80000012)) +#define IO_REPARSE_TAG_DEDUP (__MSABI_LONG(0x80000013)) +#define IO_REPARSE_TAG_NFS (__MSABI_LONG(0x80000014)) +#define IO_REPARSE_TAG_FILE_PLACEHOLDER (__MSABI_LONG(0x80000015)) +#define IO_REPARSE_TAG_WOF (__MSABI_LONG(0x80000017)) +#define IO_REPARSE_TAG_WCI (__MSABI_LONG(0x80000018)) +#define IO_REPARSE_TAG_WCI_1 (__MSABI_LONG(0x90001018)) +#define IO_REPARSE_TAG_GLOBAL_REPARSE (__MSABI_LONG(0xA0000019)) +#define IO_REPARSE_TAG_CLOUD (__MSABI_LONG(0x9000001A)) +#define IO_REPARSE_TAG_CLOUD_1 (__MSABI_LONG(0x9000101A)) +#define IO_REPARSE_TAG_CLOUD_2 (__MSABI_LONG(0x9000201A)) +#define IO_REPARSE_TAG_CLOUD_3 (__MSABI_LONG(0x9000301A)) +#define IO_REPARSE_TAG_CLOUD_4 (__MSABI_LONG(0x9000401A)) +#define IO_REPARSE_TAG_CLOUD_5 (__MSABI_LONG(0x9000501A)) +#define IO_REPARSE_TAG_CLOUD_6 (__MSABI_LONG(0x9000601A)) +#define IO_REPARSE_TAG_CLOUD_7 (__MSABI_LONG(0x9000701A)) +#define IO_REPARSE_TAG_CLOUD_8 (__MSABI_LONG(0x9000801A)) +#define IO_REPARSE_TAG_CLOUD_9 (__MSABI_LONG(0x9000901A)) +#define IO_REPARSE_TAG_CLOUD_A (__MSABI_LONG(0x9000A01A)) +#define IO_REPARSE_TAG_CLOUD_B (__MSABI_LONG(0x9000B01A)) +#define IO_REPARSE_TAG_CLOUD_C (__MSABI_LONG(0x9000C01A)) +#define IO_REPARSE_TAG_CLOUD_D (__MSABI_LONG(0x9000D01A)) +#define IO_REPARSE_TAG_CLOUD_E (__MSABI_LONG(0x9000E01A)) +#define IO_REPARSE_TAG_CLOUD_F (__MSABI_LONG(0x9000F01A)) +#define IO_REPARSE_TAG_CLOUD_MASK (__MSABI_LONG(0x0000F000)) +#define IO_REPARSE_TAG_APPEXECLINK (__MSABI_LONG(0x8000001B)) +#define IO_REPARSE_TAG_PROJFS (__MSABI_LONG(0x9000001C)) +#define IO_REPARSE_TAG_STORAGE_SYNC (__MSABI_LONG(0x8000001E)) +#define IO_REPARSE_TAG_WCI_TOMBSTONE (__MSABI_LONG(0xA000001F)) +#define IO_REPARSE_TAG_UNHANDLED (__MSABI_LONG(0x80000020)) +#define IO_REPARSE_TAG_ONEDRIVE (__MSABI_LONG(0x80000021)) +#define IO_REPARSE_TAG_PROJFS_TOMBSTONE (__MSABI_LONG(0xA0000022)) +#define IO_REPARSE_TAG_AF_UNIX (__MSABI_LONG(0x80000023)) +#define IO_REPARSE_TAG_WCI_LINK (__MSABI_LONG(0xA0000027)) +#define IO_REPARSE_TAG_WCI_LINK_1 (__MSABI_LONG(0xA0001027)) +#define IO_REPARSE_TAG_DATALESS_CIM (__MSABI_LONG(0xA0000028)) + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define SCRUB_DATA_INPUT_FLAG_RESUME 0x00000001 +#define SCRUB_DATA_INPUT_FLAG_SKIP_IN_SYNC 0x00000002 +#define SCRUB_DATA_INPUT_FLAG_SKIP_NON_INTEGRITY_DATA 0x00000004 +#define SCRUB_DATA_INPUT_FLAG_IGNORE_REDUNDANCY 0x00000008 +#define SCRUB_DATA_INPUT_FLAG_SKIP_DATA 0x00000010 +#define SCRUB_DATA_INPUT_FLAG_SCRUB_BY_OBJECT_ID 0x00000020 +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_19H2 +#define SCRUB_DATA_INPUT_FLAG_OPLOCK_NOT_ACQUIRED 0x00000040 +#endif +#define SCRUB_DATA_OUTPUT_FLAG_INCOMPLETE 0x00000001 +#define SCRUB_DATA_OUTPUT_FLAG_NON_USER_DATA_RANGE 0x00010000 +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE +#define SCRUB_DATA_OUTPUT_FLAG_PARITY_EXTENT_DATA_RETURNED 0x00020000 +#define SCRUB_DATA_OUTPUT_FLAG_RESUME_CONTEXT_LENGTH_SPECIFIED 0x00040000 +#endif + + typedef struct _SCRUB_DATA_INPUT { + DWORD Size; + DWORD Flags; + DWORD MaximumIos; + DWORD ObjectId[4]; + DWORD Reserved[41]; + BYTE ResumeContext[1040]; + } SCRUB_DATA_INPUT,*PSCRUB_DATA_INPUT; + +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE + + typedef struct _SCRUB_PARITY_EXTENT { + LONGLONG Offset; + ULONGLONG Length; + } SCRUB_PARITY_EXTENT, *PSCRUB_PARITY_EXTENT; + + typedef struct _SCRUB_PARITY_EXTENT_DATA { + WORD Size; + WORD Flags; + WORD NumberOfParityExtents; + WORD MaximumNumberOfParityExtents; + SCRUB_PARITY_EXTENT ParityExtents[ANYSIZE_ARRAY]; + } SCRUB_PARITY_EXTENT_DATA, *PSCRUB_PARITY_EXTENT_DATA; + +#endif /* _WIN32_WINNT >= _WIN32_WINNT_WINBLUE */ + + typedef struct _SCRUB_DATA_OUTPUT { + DWORD Size; + DWORD Flags; + DWORD Status; + ULONGLONG ErrorFileOffset; + ULONGLONG ErrorLength; + ULONGLONG NumberOfBytesRepaired; + ULONGLONG NumberOfBytesFailed; + ULONGLONG InternalFileReference; +#if _WIN32_WINNT >= _WIN32_WINNT_WINBLUE + WORD ResumeContextLength; + WORD ParityExtentDataOffset; + DWORD Reserved[9]; +#else + DWORD Reserved[10]; +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_RS5 + ULONGLONG NumberOfMetadataBytesProcessed; + ULONGLONG NumberOfDataBytesProcessed; + ULONGLONG TotalNumberOfMetadataBytesInUse; + ULONGLONG TotalNumberOfDataBytesInUse; +#else + ULONGLONG Reserved2[4]; +#endif +#if _WIN32_WINNT >= _WIN32_WINNT_WIN10_FE + ULONGLONG DataBytesSkippedDueToNoAllocation; + ULONGLONG DataBytesSkippedDueToInvalidRun; + ULONGLONG DataBytesSkippedDueToIntegrityStream; + ULONGLONG DataBytesSkippedDueToRegionBeingClean; + ULONGLONG DataBytesSkippedDueToLockConflict; + ULONGLONG DataBytesSkippedDueToNoScrubDataFlag; + ULONGLONG DataBytesSkippedDueToNoScrubNonIntegrityStreamFlag; + ULONGLONG DataBytesScrubbed; +#else + ULONGLONG Reserved3[8]; +#endif + BYTE ResumeContext[1040]; + } SCRUB_DATA_OUTPUT, *PSCRUB_DATA_OUTPUT; +#endif + +#define IO_COMPLETION_MODIFY_STATE 0x0002 +#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) +#define DUPLICATE_CLOSE_SOURCE 0x00000001 +#define DUPLICATE_SAME_ACCESS 0x00000002 + +#define POWERBUTTON_ACTION_INDEX_NOTHING 0 +#define POWERBUTTON_ACTION_INDEX_SLEEP 1 +#define POWERBUTTON_ACTION_INDEX_HIBERNATE 2 +#define POWERBUTTON_ACTION_INDEX_SHUTDOWN 3 + +#define POWERBUTTON_ACTION_VALUE_NOTHING 0 +#define POWERBUTTON_ACTION_VALUE_SLEEP 2 +#define POWERBUTTON_ACTION_VALUE_HIBERNATE 3 +#define POWERBUTTON_ACTION_VALUE_SHUTDOWN 6 + +#define PERFSTATE_POLICY_CHANGE_IDEAL 0 +#define PERFSTATE_POLICY_CHANGE_SINGLE 1 +#define PERFSTATE_POLICY_CHANGE_ROCKET 2 +#define PERFSTATE_POLICY_CHANGE_MAX PERFSTATE_POLICY_CHANGE_ROCKET + +#define PROCESSOR_PERF_BOOST_POLICY_DISABLED 0 +#define PROCESSOR_PERF_BOOST_POLICY_MAX 100 + +#define PROCESSOR_PERF_BOOST_MODE_DISABLED 0 +#define PROCESSOR_PERF_BOOST_MODE_ENABLED 1 +#define PROCESSOR_PERF_BOOST_MODE_AGGRESSIVE 2 +#define PROCESSOR_PERF_BOOST_MODE_EFFICIENT_ENABLED 3 +#define PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE 4 +#define PROCESSOR_PERF_BOOST_MODE_MAX PROCESSOR_PERF_BOOST_MODE_EFFICIENT_AGGRESSIVE + +#define CORE_PARKING_POLICY_CHANGE_IDEAL 0 +#define CORE_PARKING_POLICY_CHANGE_SINGLE 1 +#define CORE_PARKING_POLICY_CHANGE_ROCKET 2 +#define CORE_PARKING_POLICY_CHANGE_MULTISTEP 3 +#define CORE_PARKING_POLICY_CHANGE_MAX CORE_PARKING_POLICY_CHANGE_MULTISTEP + +#define POWER_DEVICE_IDLE_POLICY_PERFORMANCE 0 +#define POWER_DEVICE_IDLE_POLICY_CONSERVATIVE 1 + + DEFINE_GUID (GUID_MAX_POWER_SAVINGS, 0xa1841308, 0x3541, 0x4fab, 0xbc, 0x81, 0xf7, 0x15, 0x56, 0xf2, 0x0b, 0x4a); + DEFINE_GUID (GUID_MIN_POWER_SAVINGS, 0x8c5e7fda, 0xe8bf, 0x4a96, 0x9a, 0x85, 0xa6, 0xe2, 0x3a, 0x8c, 0x63, 0x5c); + DEFINE_GUID (GUID_TYPICAL_POWER_SAVINGS, 0x381b4222, 0xf694, 0x41f0, 0x96, 0x85, 0xff, 0x5b, 0xb2, 0x60, 0xdf, 0x2e); + DEFINE_GUID (NO_SUBGROUP_GUID, 0xfea3413e, 0x7e05, 0x4911, 0x9a, 0x71, 0x70, 0x03, 0x31, 0xf1, 0xc2, 0x94); + DEFINE_GUID (ALL_POWERSCHEMES_GUID, 0x68a1e95e, 0x13ea, 0x41e1, 0x80, 0x11, 0x0c, 0x49, 0x6c, 0xa4, 0x90, 0xb0); + DEFINE_GUID (GUID_POWERSCHEME_PERSONALITY, 0x245d8541, 0x3943, 0x4422, 0xb0, 0x25, 0x13, 0xa7, 0x84, 0xf6, 0x79, 0xb7); + DEFINE_GUID (GUID_ACTIVE_POWERSCHEME, 0x31f9f286, 0x5084, 0x42fe, 0xb7, 0x20, 0x2b, 0x02, 0x64, 0x99, 0x37, 0x63); + DEFINE_GUID (GUID_IDLE_RESILIENCY_SUBGROUP, 0x2e601130, 0x5351, 0x4d9d, 0x8e, 0x4, 0x25, 0x29, 0x66, 0xba, 0xd0, 0x54); + DEFINE_GUID (GUID_IDLE_RESILIENCY_PERIOD, 0xc42b79aa, 0xaa3a, 0x484b, 0xa9, 0x8f, 0x2c, 0xf3, 0x2a, 0xa9, 0xa, 0x28); + DEFINE_GUID (GUID_DISK_COALESCING_POWERDOWN_TIMEOUT, 0xc36f0eb4, 0x2988, 0x4a70, 0x8e, 0xee, 0x8, 0x84, 0xfc, 0x2c, 0x24, 0x33); + DEFINE_GUID (GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT, 0x3166bc41, 0x7e98, 0x4e03, 0xb3, 0x4e, 0xec, 0xf, 0x5f, 0x2b, 0x21, 0x8e); + DEFINE_GUID (GUID_VIDEO_SUBGROUP, 0x7516b95f, 0xf776, 0x4464, 0x8c, 0x53, 0x06, 0x16, 0x7f, 0x40, 0xcc, 0x99); + DEFINE_GUID (GUID_VIDEO_POWERDOWN_TIMEOUT, 0x3c0bc021, 0xc8a8, 0x4e07, 0xa9, 0x73, 0x6b, 0x14, 0xcb, 0xcb, 0x2b, 0x7e); + DEFINE_GUID (GUID_VIDEO_ANNOYANCE_TIMEOUT, 0x82dbcf2d, 0xcd67, 0x40c5, 0xbf, 0xdc, 0x9f, 0x1a, 0x5c, 0xcd, 0x46, 0x63); + DEFINE_GUID (GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE, 0xeed904df, 0xb142, 0x4183, 0xb1, 0x0b, 0x5a, 0x11, 0x97, 0xa3, 0x78, 0x64); + DEFINE_GUID (GUID_VIDEO_DIM_TIMEOUT, 0x17aaa29b, 0x8b43, 0x4b94, 0xaa, 0xfe, 0x35, 0xf6, 0x4d, 0xaa, 0xf1, 0xee); + DEFINE_GUID (GUID_VIDEO_ADAPTIVE_POWERDOWN, 0x90959d22, 0xd6a1, 0x49b9, 0xaf, 0x93, 0xbc, 0xe8, 0x85, 0xad, 0x33, 0x5b); + DEFINE_GUID (GUID_MONITOR_POWER_ON, 0x02731015, 0x4510, 0x4526, 0x99, 0xe6, 0xe5, 0xa1, 0x7e, 0xbd, 0x1a, 0xea); + DEFINE_GUID (GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS, __MSABI_LONG(0xaded5e82), 0xb909, 0x4619, 0x99, 0x49, 0xf5, 0xd7, 0x1d, 0xac, 0x0b, 0xcb); + DEFINE_GUID (GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS, 0xf1fbfde2, 0xa960, 0x4165, 0x9f, 0x88, 0x50, 0x66, 0x79, 0x11, 0xce, 0x96); + DEFINE_GUID (GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS, 0x8ffee2c6, 0x2d01, 0x46be, 0xad, 0xb9, 0x39, 0x8a, 0xdd, 0xc5, 0xb4, 0xff); + DEFINE_GUID (GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS, 0xfbd9aa66, 0x9553, 0x4097, 0xba, 0x44, 0xed, 0x6e, 0x9d, 0x65, 0xea, 0xb8); + DEFINE_GUID (GUID_CONSOLE_DISPLAY_STATE, 0x6fe69556, 0x704a, 0x47a0, 0x8f, 0x24, 0xc2, 0x8d, 0x93, 0x6f, 0xda, 0x47); + DEFINE_GUID (GUID_ALLOW_DISPLAY_REQUIRED, 0xa9ceb8da, 0xcd46, 0x44fb, 0xa9, 0x8b, 0x02, 0xaf, 0x69, 0xde, 0x46, 0x23); + DEFINE_GUID (GUID_VIDEO_CONSOLE_LOCK_TIMEOUT, 0x8ec4b3a5, 0x6868, 0x48c2, 0xbe, 0x75, 0x4f, 0x30, 0x44, 0xbe, 0x88, 0xa7); + DEFINE_GUID (GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP, 0x8619b916, 0xe004, 0x4dd8, 0x9b, 0x66, 0xda, 0xe8, 0x6f, 0x80, 0x66, 0x98); + DEFINE_GUID (GUID_NON_ADAPTIVE_INPUT_TIMEOUT, 0x5adbbfbc, 0x74e, 0x4da1, 0xba, 0x38, 0xdb, 0x8b, 0x36, 0xb2, 0xc8, 0xf3); + DEFINE_GUID (GUID_DISK_SUBGROUP, 0x0012ee47, 0x9041, 0x4b5d, 0x9b, 0x77, 0x53, 0x5f, 0xba, 0x8b, 0x14, 0x42); + DEFINE_GUID (GUID_DISK_POWERDOWN_TIMEOUT, 0x6738e2c4, 0xe8a5, 0x4a42, 0xb1, 0x6a, 0xe0, 0x40, 0xe7, 0x69, 0x75, 0x6e); + DEFINE_GUID (GUID_DISK_IDLE_TIMEOUT, 0x58e39ba8, 0xb8e6, 0x4ef6, 0x90, 0xd0, 0x89, 0xae, 0x32, 0xb2, 0x58, 0xd6); + DEFINE_GUID (GUID_DISK_BURST_IGNORE_THRESHOLD, 0x80e3c60e, 0xbb94, 0x4ad8, 0xbb, 0xe0, 0x0d, 0x31, 0x95, 0xef, 0xc6, 0x63); + DEFINE_GUID (GUID_DISK_ADAPTIVE_POWERDOWN, 0x396a32e1, 0x499a, 0x40b2, 0x91, 0x24, 0xa9, 0x6a, 0xfe, 0x70, 0x76, 0x67); + DEFINE_GUID (GUID_SLEEP_SUBGROUP, 0x238c9fa8, 0x0aad, 0x41ed, 0x83, 0xf4, 0x97, 0xbe, 0x24, 0x2c, 0x8f, 0x20); + DEFINE_GUID (GUID_SLEEP_IDLE_THRESHOLD, 0x81cd32e0, 0x7833, 0x44f3, 0x87, 0x37, 0x70, 0x81, 0xf3, 0x8d, 0x1f, 0x70); + DEFINE_GUID (GUID_STANDBY_TIMEOUT, 0x29f6c1db, 0x86da, 0x48c5, 0x9f, 0xdb, 0xf2, 0xb6, 0x7b, 0x1f, 0x44, 0xda); + DEFINE_GUID (GUID_UNATTEND_SLEEP_TIMEOUT, 0x7bc4a2f9, 0xd8fc, 0x4469, 0xb0, 0x7b, 0x33, 0xeb, 0x78, 0x5a, 0xac, 0xa0); + DEFINE_GUID (GUID_HIBERNATE_TIMEOUT, 0x9d7815a6, 0x7ee4, 0x497e, 0x88, 0x88, 0x51, 0x5a, 0x05, 0xf0, 0x23, 0x64); + DEFINE_GUID (GUID_HIBERNATE_FASTS4_POLICY, 0x94ac6d29, 0x73ce, 0x41a6, 0x80, 0x9f, 0x63, 0x63, 0xba, 0x21, 0xb4, 0x7e); + DEFINE_GUID (GUID_CRITICAL_POWER_TRANSITION, 0xb7a27025, 0xe569, 0x46c2, 0xa5, 0x04, 0x2b, 0x96, 0xca, 0xd2, 0x25, 0xa1); + DEFINE_GUID (GUID_SYSTEM_AWAYMODE, 0x98a7f580, 0x01f7, 0x48aa, 0x9c, 0x0f, 0x44, 0x35, 0x2c, 0x29, 0xe5, 0xc0); + DEFINE_GUID (GUID_ALLOW_AWAYMODE, 0x25dfa149, 0x5dd1, 0x4736, 0xb5, 0xab, 0xe8, 0xa3, 0x7b, 0x5b, 0x81, 0x87); + DEFINE_GUID (GUID_ALLOW_STANDBY_STATES, 0xabfc2519, 0x3608, 0x4c2a, 0x94, 0xea, 0x17, 0x1b, 0x0e, 0xd5, 0x46, 0xab); + DEFINE_GUID (GUID_ALLOW_RTC_WAKE, 0xbd3b718a, 0x0680, 0x4d9d, 0x8a, 0xb2, 0xe1, 0xd2, 0xb4, 0xac, 0x80, 0x6d); + DEFINE_GUID (GUID_ALLOW_SYSTEM_REQUIRED, 0xa4b195f5, 0x8225, 0x47d8, 0x80, 0x12, 0x9d, 0x41, 0x36, 0x97, 0x86, 0xe2); + DEFINE_GUID (GUID_SYSTEM_BUTTON_SUBGROUP, 0x4f971e89, 0xeebd, 0x4455, 0xa8, 0xde, 0x9e, 0x59, 0x04, 0x0e, 0x73, 0x47); + DEFINE_GUID (GUID_POWERBUTTON_ACTION, 0x7648efa3, 0xdd9c, 0x4e3e, 0xb5, 0x66, 0x50, 0xf9, 0x29, 0x38, 0x62, 0x80); + DEFINE_GUID (GUID_SLEEPBUTTON_ACTION, 0x96996bc0, 0xad50, 0x47ec, 0x92, 0x3b, 0x6f, 0x41, 0x87, 0x4d, 0xd9, 0xeb); + DEFINE_GUID (GUID_USERINTERFACEBUTTON_ACTION, 0xa7066653, 0x8d6c, 0x40a8, 0x91, 0x0e, 0xa1, 0xf5, 0x4b, 0x84, 0xc7, 0xe5); + DEFINE_GUID (GUID_LIDCLOSE_ACTION, 0x5ca83367, 0x6e45, 0x459f, 0xa2, 0x7b, 0x47, 0x6b, 0x1d, 0x01, 0xc9, 0x36); + DEFINE_GUID (GUID_LIDOPEN_POWERSTATE, 0x99ff10e7, 0x23b1, 0x4c07, 0xa9, 0xd1, 0x5c, 0x32, 0x06, 0xd7, 0x41, 0xb4); + DEFINE_GUID (GUID_BATTERY_SUBGROUP, 0xe73a048d, 0xbf27, 0x4f12, 0x97, 0x31, 0x8b, 0x20, 0x76, 0xe8, 0x89, 0x1f); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_ACTION_0, 0x637ea02f, 0xbbcb, 0x4015, 0x8e, 0x2c, 0xa1, 0xc7, 0xb9, 0xc0, 0xb5, 0x46); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_LEVEL_0, 0x9a66d8d7, 0x4ff7, 0x4ef9, 0xb5, 0xa2, 0x5a, 0x32, 0x6c, 0xa2, 0xa4, 0x69); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_FLAGS_0, 0x5dbb7c9f, 0x38e9, 0x40d2, 0x97, 0x49, 0x4f, 0x8a, 0x0e, 0x9f, 0x64, 0x0f); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_ACTION_1, 0xd8742dcb, 0x3e6a, 0x4b3c, 0xb3, 0xfe, 0x37, 0x46, 0x23, 0xcd, 0xcf, 0x06); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_LEVEL_1, 0x8183ba9a, 0xe910, 0x48da, 0x87, 0x69, 0x14, 0xae, 0x6d, 0xc1, 0x17, 0x0a); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_FLAGS_1, 0xbcded951, 0x187b, 0x4d05, 0xbc, 0xcc, 0xf7, 0xe5, 0x19, 0x60, 0xc2, 0x58); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_ACTION_2, 0x421cba38, 0x1a8e, 0x4881, 0xac, 0x89, 0xe3, 0x3a, 0x8b, 0x04, 0xec, 0xe4); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_LEVEL_2, 0x07a07ca2, 0xadaf, 0x40d7, 0xb0, 0x77, 0x53, 0x3a, 0xad, 0xed, 0x1b, 0xfa); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_FLAGS_2, 0x7fd2f0c4, 0xfeb7, 0x4da3, 0x81, 0x17, 0xe3, 0xfb, 0xed, 0xc4, 0x65, 0x82); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_ACTION_3, 0x80472613, 0x9780, 0x455e, 0xb3, 0x08, 0x72, 0xd3, 0x00, 0x3c, 0xf2, 0xf8); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_LEVEL_3, 0x58afd5a6, 0xc2dd, 0x47d2, 0x9f, 0xbf, 0xef, 0x70, 0xcc, 0x5c, 0x59, 0x65); + DEFINE_GUID (GUID_BATTERY_DISCHARGE_FLAGS_3, 0x73613ccf, 0xdbfa, 0x4279, 0x83, 0x56, 0x49, 0x35, 0xf6, 0xbf, 0x62, 0xf3); + DEFINE_GUID (GUID_PROCESSOR_SETTINGS_SUBGROUP, 0x54533251, 0x82be, 0x4824, 0x96, 0xc1, 0x47, 0xb6, 0x0b, 0x74, 0x0d, 0x00); + DEFINE_GUID (GUID_PROCESSOR_THROTTLE_POLICY, 0x57027304, 0x4af6, 0x4104, 0x92, 0x60, 0xe3, 0xd9, 0x52, 0x48, 0xfc, 0x36); + DEFINE_GUID (GUID_PROCESSOR_THROTTLE_MAXIMUM, 0xbc5038f7, 0x23e0, 0x4960, 0x96, 0xda, 0x33, 0xab, 0xaf, 0x59, 0x35, 0xec); + DEFINE_GUID (GUID_PROCESSOR_THROTTLE_MINIMUM, 0x893dee8e, 0x2bef, 0x41e0, 0x89, 0xc6, 0xb5, 0x5d, 0x09, 0x29, 0x96, 0x4c); + DEFINE_GUID (GUID_PROCESSOR_ALLOW_THROTTLING, 0x3b04d4fd, 0x1cc7, 0x4f23, 0xab, 0x1c, 0xd1, 0x33, 0x78, 0x19, 0xc4, 0xbb); + DEFINE_GUID (GUID_PROCESSOR_IDLESTATE_POLICY, 0x68f262a7, 0xf621, 0x4069, 0xb9, 0xa5, 0x48, 0x74, 0x16, 0x9b, 0xe2, 0x3c); + DEFINE_GUID (GUID_PROCESSOR_PERFSTATE_POLICY, 0xbbdc3814, 0x18e9, 0x4463, 0x8a, 0x55, 0xd1, 0x97, 0x32, 0x7c, 0x45, 0xc0); + DEFINE_GUID (GUID_PROCESSOR_PERF_INCREASE_THRESHOLD, 0x06cadf0e, 0x64ed, 0x448a, 0x89, 0x27, 0xce, 0x7b, 0xf9, 0x0e, 0xb3, 0x5d); + DEFINE_GUID (GUID_PROCESSOR_PERF_DECREASE_THRESHOLD, 0x12a0ab44, 0xfe28, 0x4fa9, 0xb3, 0xbd, 0x4b, 0x64, 0xf4, 0x49, 0x60, 0xa6); + DEFINE_GUID (GUID_PROCESSOR_PERF_INCREASE_POLICY, 0x465e1f50, 0xb610, 0x473a, 0xab, 0x58, 0x0, 0xd1, 0x7, 0x7d, 0xc4, 0x18); + DEFINE_GUID (GUID_PROCESSOR_PERF_DECREASE_POLICY, 0x40fbefc7, 0x2e9d, 0x4d25, 0xa1, 0x85, 0xc, 0xfd, 0x85, 0x74, 0xba, 0xc6); + DEFINE_GUID (GUID_PROCESSOR_PERF_INCREASE_TIME, 0x984cf492, 0x3bed, 0x4488, 0xa8, 0xf9, 0x42, 0x86, 0xc9, 0x7b, 0xf5, 0xaa); + DEFINE_GUID (GUID_PROCESSOR_PERF_DECREASE_TIME, 0xd8edeb9b, 0x95cf, 0x4f95, 0xa7, 0x3c, 0xb0, 0x61, 0x97, 0x36, 0x93, 0xc8); + DEFINE_GUID (GUID_PROCESSOR_PERF_TIME_CHECK, 0x4d2b0152, 0x7d5c, 0x498b, 0x88, 0xe2, 0x34, 0x34, 0x53, 0x92, 0xa2, 0xc5); + DEFINE_GUID (GUID_PROCESSOR_PERF_BOOST_POLICY, 0x45bcc044, 0xd885, 0x43e2, 0x86, 0x5, 0xee, 0xe, 0xc6, 0xe9, 0x6b, 0x59); + DEFINE_GUID (GUID_PROCESSOR_PERF_BOOST_MODE, 0xbe337238, 0xd82, 0x4146, 0xa9, 0x60, 0x4f, 0x37, 0x49, 0xd4, 0x70, 0xc7); + DEFINE_GUID (GUID_PROCESSOR_IDLE_ALLOW_SCALING, 0x6c2993b0, 0x8f48, 0x481f, 0xbc, 0xc6, 0x0, 0xdd, 0x27, 0x42, 0xaa, 0x6); + DEFINE_GUID (GUID_PROCESSOR_IDLE_DISABLE, 0x5d76a2ca, 0xe8c0, 0x402f, 0xa1, 0x33, 0x21, 0x58, 0x49, 0x2d, 0x58, 0xad); + DEFINE_GUID (GUID_PROCESSOR_IDLE_STATE_MAXIMUM, 0x9943e905, 0x9a30, 0x4ec1, 0x9b, 0x99, 0x44, 0xdd, 0x3b, 0x76, 0xf7, 0xa2); + DEFINE_GUID (GUID_PROCESSOR_IDLE_TIME_CHECK, 0xc4581c31, 0x89ab, 0x4597, 0x8e, 0x2b, 0x9c, 0x9c, 0xab, 0x44, 0xe, 0x6b); + DEFINE_GUID (GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD, 0x4b92d758, 0x5a24, 0x4851, 0xa4, 0x70, 0x81, 0x5d, 0x78, 0xae, 0xe1, 0x19); + DEFINE_GUID (GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD, 0x7b224883, 0xb3cc, 0x4d79, 0x81, 0x9f, 0x83, 0x74, 0x15, 0x2c, 0xbe, 0x7c); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD, 0xdf142941, 0x20f3, 0x4edf, 0x9a, 0x4a, 0x9c, 0x83, 0xd3, 0xd7, 0x17, 0xd1); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD, 0x68dd2f27, 0xa4ce, 0x4e11, 0x84, 0x87, 0x37, 0x94, 0xe4, 0x13, 0x5d, 0xfa); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY, 0xc7be0679, 0x2817, 0x4d69, 0x9d, 0x02, 0x51, 0x9a, 0x53, 0x7e, 0xd0, 0xc6); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY, 0x71021b41, 0xc749, 0x4d21, 0xbe, 0x74, 0xa0, 0x0f, 0x33, 0x5d, 0x58, 0x2b); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_MAX_CORES, 0xea062031, 0x0e34, 0x4ff1, 0x9b, 0x6d, 0xeb, 0x10, 0x59, 0x33, 0x40, 0x28); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_MIN_CORES, 0x0cc5b647, 0xc1df, 0x4637, 0x89, 0x1a, 0xde, 0xc3, 0x5c, 0x31, 0x85, 0x83); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME, 0x2ddd5a84, 0x5a71, 0x437e, 0x91, 0x2a, 0xdb, 0x0b, 0x8c, 0x78, 0x87, 0x32); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME, 0xdfd10d17, 0xd5eb, 0x45dd, 0x87, 0x7a, 0x9a, 0x34, 0xdd, 0xd1, 0x5c, 0x82); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR, 0x8f7b45e3, 0xc393, 0x480a, 0x87, 0x8c, 0xf6, 0x7a, 0xc3, 0xd0, 0x70, 0x82); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD, 0x5b33697b, 0xe89d, 0x4d38, 0xaa, 0x46, 0x9e, 0x7d, 0xfb, 0x7c, 0xd2, 0xf9); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING, 0xe70867f1, 0xfa2f, 0x4f4e, 0xae, 0xa1, 0x4d, 0x8a, 0x0b, 0xa2, 0x3b, 0x20); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR, 0x1299023c, 0xbc28, 0x4f0a, 0x81, 0xec, 0xd3, 0x29, 0x5a, 0x8d, 0x81, 0x5d); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD, 0x9ac18e92, 0xaa3c, 0x4e27, 0xb3, 0x07, 0x01, 0xae, 0x37, 0x30, 0x71, 0x29); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING, 0x8809c2d8, 0xb155, 0x42d4, 0xbc, 0xda, 0x0d, 0x34, 0x56, 0x51, 0xb1, 0xdb); + DEFINE_GUID (GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD, 0x943c8cb6, 0x6f93, 0x4227, 0xad, 0x87, 0xe9, 0xa3, 0xfe, 0xec, 0x08, 0xd1); + DEFINE_GUID (GUID_PROCESSOR_PARKING_CORE_OVERRIDE, 0xa55612aa, 0xf624, 0x42c6, 0xa4, 0x43, 0x73, 0x97, 0xd0, 0x64, 0xc0, 0x4f); + DEFINE_GUID (GUID_PROCESSOR_PARKING_PERF_STATE, 0x447235c7, 0x6a8d, 0x4cc0, 0x8e, 0x24, 0x9e, 0xaf, 0x70, 0xb9, 0x6e, 0x2b); + DEFINE_GUID (GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD, 0x2430ab6f, 0xa520, 0x44a2, 0x96, 0x01, 0xf7, 0xf2, 0x3b, 0x51, 0x34, 0xb1); + DEFINE_GUID (GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD, 0xf735a673, 0x2066, 0x4f80, 0xa0, 0xc5, 0xdd, 0xee, 0x0c, 0xf1, 0xbf, 0x5d); + DEFINE_GUID (GUID_PROCESSOR_PERF_HISTORY, 0x7d24baa7, 0x0b84, 0x480f, 0x84, 0x0c, 0x1b, 0x07, 0x43, 0xc0, 0x0f, 0x5f); + DEFINE_GUID (GUID_PROCESSOR_PERF_LATENCY_HINT, 0x0822df31, 0x9c83, 0x441c, 0xa0, 0x79, 0x0d, 0xe4, 0xcf, 0x00, 0x9c, 0x7b); + DEFINE_GUID (GUID_PROCESSOR_DISTRIBUTE_UTILITY, 0xe0007330, 0xf589, 0x42ed, 0xa4, 0x01, 0x5d, 0xdb, 0x10, 0xe7, 0x85, 0xd3); + DEFINE_GUID (GUID_SYSTEM_COOLING_POLICY, 0x94d3a615, 0xa899, 0x4ac5, 0xae, 0x2b, 0xe4, 0xd8, 0xf6, 0x34, 0x36, 0x7f); + DEFINE_GUID (GUID_LOCK_CONSOLE_ON_WAKE, 0x0e796bdb, 0x100d, 0x47d6, 0xa2, 0xd5, 0xf7, 0xd2, 0xda, 0xa5, 0x1f, 0x51); + DEFINE_GUID (GUID_DEVICE_IDLE_POLICY, 0x4faab71a, 0x92e5, 0x4726, 0xb5, 0x31, 0x22, 0x45, 0x59, 0x67, 0x2d, 0x19); + DEFINE_GUID (GUID_ACDC_POWER_SOURCE, 0x5d3e9a59, 0xe9d5, 0x4b00, 0xa6, 0xbd, 0xff, 0x34, 0xff, 0x51, 0x65, 0x48); + DEFINE_GUID (GUID_LIDSWITCH_STATE_CHANGE, 0xba3e0f4d, 0xb817, 0x4094, 0xa2, 0xd1, 0xd5, 0x63, 0x79, 0xe6, 0xa0, 0xf3); + DEFINE_GUID (GUID_BATTERY_PERCENTAGE_REMAINING, 0xa7ad8041, 0xb45a, 0x4cae, 0x87, 0xa3, 0xee, 0xcb, 0xb4, 0x68, 0xa9, 0xe1); + DEFINE_GUID (GUID_GLOBAL_USER_PRESENCE, 0x786e8a1d, 0xb427, 0x4344, 0x92, 0x7, 0x9, 0xe7, 0xb, 0xdc, 0xbe, 0xa9); + DEFINE_GUID (GUID_SESSION_DISPLAY_STATUS, 0x2b84c20e, 0xad23, 0x4ddf, 0x93, 0xdb, 0x5, 0xff, 0xbd, 0x7e, 0xfc, 0xa5); + DEFINE_GUID (GUID_SESSION_USER_PRESENCE, 0x3c0f4548, 0xc03f, 0x4c4d, 0xb9, 0xf2, 0x23, 0x7e, 0xde, 0x68, 0x63, 0x76); + DEFINE_GUID (GUID_IDLE_BACKGROUND_TASK, 0x515c31d8, 0xf734, 0x163d, 0xa0, 0xfd, 0x11, 0xa0, 0x8c, 0x91, 0xe8, 0xf1); + DEFINE_GUID (GUID_BACKGROUND_TASK_NOTIFICATION, 0xcf23f240, 0x2a54, 0x48d8, 0xb1, 0x14, 0xde, 0x15, 0x18, 0xff, 0x05, 0x2e); + DEFINE_GUID (GUID_APPLAUNCH_BUTTON, 0x1a689231, 0x7399, 0x4e9a, 0x8f, 0x99, 0xb7, 0x1f, 0x99, 0x9d, 0xb3, 0xfa); + DEFINE_GUID (GUID_PCIEXPRESS_SETTINGS_SUBGROUP, 0x501a4d13, 0x42af, 0x4429, 0x9f, 0xd1, 0xa8, 0x21, 0x8c, 0x26, 0x8e, 0x20); + DEFINE_GUID (GUID_PCIEXPRESS_ASPM_POLICY, 0xee12f906, 0xd277, 0x404b, 0xb6, 0xda, 0xe5, 0xfa, 0x1a, 0x57, 0x6d, 0xf5); + DEFINE_GUID (GUID_ENABLE_SWITCH_FORCED_SHUTDOWN, 0x833a6b62, 0xdfa4, 0x46d1, 0x82, 0xf8, 0xe0, 0x9e, 0x34, 0xd0, 0x29, 0xd6); + + typedef enum _SYSTEM_POWER_STATE { + PowerSystemUnspecified = 0,PowerSystemWorking = 1,PowerSystemSleeping1 = 2,PowerSystemSleeping2 = 3,PowerSystemSleeping3 = 4,PowerSystemHibernate = 5,PowerSystemShutdown = 6,PowerSystemMaximum = 7 + } SYSTEM_POWER_STATE,*PSYSTEM_POWER_STATE; + +#define POWER_SYSTEM_MAXIMUM 7 + + typedef enum { + PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, + PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, + PowerActionWarmEject + } POWER_ACTION,*PPOWER_ACTION; + + typedef enum _DEVICE_POWER_STATE { + PowerDeviceUnspecified = 0, PowerDeviceD0, PowerDeviceD1, PowerDeviceD2, PowerDeviceD3, + PowerDeviceMaximum + } DEVICE_POWER_STATE,*PDEVICE_POWER_STATE; + + typedef enum _MONITOR_DISPLAY_STATE { + PowerMonitorOff = 0, PowerMonitorOn, PowerMonitorDim + } MONITOR_DISPLAY_STATE, *PMONITOR_DISPLAY_STATE; + + typedef enum _USER_ACTIVITY_PRESENCE { + PowerUserPresent = 0, + PowerUserNotPresent, + PowerUserInactive, + PowerUserMaximum, + PowerUserInvalid = PowerUserMaximum + } USER_ACTIVITY_PRESENCE,*PUSER_ACTIVITY_PRESENCE; + +#define ES_SYSTEM_REQUIRED ((DWORD)0x00000001) +#define ES_DISPLAY_REQUIRED ((DWORD)0x00000002) +#define ES_USER_PRESENT ((DWORD)0x00000004) +#define ES_AWAYMODE_REQUIRED ((DWORD)0x00000040) +#define ES_CONTINUOUS ((DWORD)0x80000000) + + typedef DWORD EXECUTION_STATE, *PEXECUTION_STATE; + + typedef enum { + LT_DONT_CARE,LT_LOWEST_LATENCY + } LATENCY_TIME; + +#define DIAGNOSTIC_REASON_VERSION 0 +#define POWER_REQUEST_CONTEXT_VERSION 0 + +#define DIAGNOSTIC_REASON_SIMPLE_STRING 0x00000001 +#define DIAGNOSTIC_REASON_DETAILED_STRING 0x00000002 +#define DIAGNOSTIC_REASON_NOT_SPECIFIED 0x80000000 +#define DIAGNOSTIC_REASON_INVALID_FLAGS (~0x80000003) + +#define POWER_REQUEST_CONTEXT_SIMPLE_STRING 0x00000001 +#define POWER_REQUEST_CONTEXT_DETAILED_STRING 0x00000002 + + typedef enum _POWER_REQUEST_TYPE { + PowerRequestDisplayRequired, + PowerRequestSystemRequired, + PowerRequestAwayModeRequired, + PowerRequestExecutionRequired + } POWER_REQUEST_TYPE,*PPOWER_REQUEST_TYPE; + +#define PDCAP_D0_SUPPORTED 0x00000001 +#define PDCAP_D1_SUPPORTED 0x00000002 +#define PDCAP_D2_SUPPORTED 0x00000004 +#define PDCAP_D3_SUPPORTED 0x00000008 +#define PDCAP_WAKE_FROM_D0_SUPPORTED 0x00000010 +#define PDCAP_WAKE_FROM_D1_SUPPORTED 0x00000020 +#define PDCAP_WAKE_FROM_D2_SUPPORTED 0x00000040 +#define PDCAP_WAKE_FROM_D3_SUPPORTED 0x00000080 +#define PDCAP_WARM_EJECT_SUPPORTED 0x00000100 + + typedef struct CM_Power_Data_s { + DWORD PD_Size; + DEVICE_POWER_STATE PD_MostRecentPowerState; + DWORD PD_Capabilities; + DWORD PD_D1Latency; + DWORD PD_D2Latency; + DWORD PD_D3Latency; + DEVICE_POWER_STATE PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM]; + SYSTEM_POWER_STATE PD_DeepestSystemWake; + } CM_POWER_DATA,*PCM_POWER_DATA; + + typedef enum { + SystemPowerPolicyAc, + SystemPowerPolicyDc, + VerifySystemPolicyAc, + VerifySystemPolicyDc, + SystemPowerCapabilities, + SystemBatteryState, + SystemPowerStateHandler, + ProcessorStateHandler, + SystemPowerPolicyCurrent, + AdministratorPowerPolicy, + SystemReserveHiberFile, + ProcessorInformation, + SystemPowerInformation, + ProcessorStateHandler2, + LastWakeTime, + LastSleepTime, + SystemExecutionState, + SystemPowerStateNotifyHandler, + ProcessorPowerPolicyAc, + ProcessorPowerPolicyDc, + VerifyProcessorPowerPolicyAc, + VerifyProcessorPowerPolicyDc, + ProcessorPowerPolicyCurrent, + SystemPowerStateLogging, + SystemPowerLoggingEntry, + SetPowerSettingValue, + NotifyUserPowerSetting, + PowerInformationLevelUnused0, + SystemMonitorHiberBootPowerOff, + SystemVideoState, + TraceApplicationPowerMessage, + TraceApplicationPowerMessageEnd, + ProcessorPerfStates, + ProcessorIdleStates, + ProcessorCap, + SystemWakeSource, + SystemHiberFileInformation, + TraceServicePowerMessage, + ProcessorLoad, + PowerShutdownNotification, + MonitorCapabilities, + SessionPowerInit, + SessionDisplayState, + PowerRequestCreate, + PowerRequestAction, + GetPowerRequestList, + ProcessorInformationEx, + NotifyUserModeLegacyPowerEvent, + GroupPark, + ProcessorIdleDomains, + WakeTimerList, + SystemHiberFileSize, + ProcessorIdleStatesHv, + ProcessorPerfStatesHv, + ProcessorPerfCapHv, + ProcessorSetIdle, + LogicalProcessorIdling, + UserPresence, + PowerSettingNotificationName, + GetPowerSettingValue, + IdleResiliency, + SessionRITState, + SessionConnectNotification, + SessionPowerCleanup, + SessionLockState, + SystemHiberbootState, + PlatformInformation, + PdcInvocation, + MonitorInvocation, + FirmwareTableInformationRegistered, + SetShutdownSelectedTime, + SuspendResumeInvocation, + PlmPowerRequestCreate, + ScreenOff, + CsDeviceNotification, + PlatformRole, + LastResumePerformance, + DisplayBurst, + ExitLatencySamplingPercentage, + ApplyLowPowerScenarioSettings, + PowerInformationLevelMaximum + } POWER_INFORMATION_LEVEL; + + typedef enum { + UserNotPresent = 0, + UserPresent = 1, + UserUnknown = 0xff + } POWER_USER_PRESENCE_TYPE,*PPOWER_USER_PRESENCE_TYPE; + + typedef struct _POWER_USER_PRESENCE { + POWER_USER_PRESENCE_TYPE UserPresence; + } POWER_USER_PRESENCE,*PPOWER_USER_PRESENCE; + + typedef struct _POWER_SESSION_CONNECT { + BOOLEAN Connected; + BOOLEAN Console; + } POWER_SESSION_CONNECT,*PPOWER_SESSION_CONNECT; + + typedef struct _POWER_SESSION_TIMEOUTS { + DWORD InputTimeout; + DWORD DisplayTimeout; + } POWER_SESSION_TIMEOUTS,*PPOWER_SESSION_TIMEOUTS; + + typedef struct _POWER_SESSION_RIT_STATE { + BOOLEAN Active; + DWORD LastInputTime; + } POWER_SESSION_RIT_STATE,*PPOWER_SESSION_RIT_STATE; + + typedef struct _POWER_SESSION_WINLOGON { + DWORD SessionId; + BOOLEAN Console; + BOOLEAN Locked; + } POWER_SESSION_WINLOGON,*PPOWER_SESSION_WINLOGON; + + typedef struct _POWER_IDLE_RESILIENCY { + DWORD CoalescingTimeout; + DWORD IdleResiliencyPeriod; + } POWER_IDLE_RESILIENCY,*PPOWER_IDLE_RESILIENCY; + + typedef enum { + MonitorRequestReasonUnknown, + MonitorRequestReasonPowerButton, + MonitorRequestReasonRemoteConnection, + MonitorRequestReasonScMonitorpower, + MonitorRequestReasonUserInput, + MonitorRequestReasonAcDcDisplayBurst, + MonitorRequestReasonUserDisplayBurst, + MonitorRequestReasonPoSetSystemState, + MonitorRequestReasonSetThreadExecutionState, + MonitorRequestReasonFullWake, + MonitorRequestReasonSessionUnlock, + MonitorRequestReasonScreenOffRequest, + MonitorRequestReasonIdleTimeout, + MonitorRequestReasonPolicyChange, + MonitorRequestReasonMax + } POWER_MONITOR_REQUEST_REASON; + + typedef struct _POWER_MONITOR_INVOCATION { + BOOLEAN On; + BOOLEAN Console; + POWER_MONITOR_REQUEST_REASON RequestReason; + } POWER_MONITOR_INVOCATION,*PPOWER_MONITOR_INVOCATION; + + typedef struct _RESUME_PERFORMANCE { + DWORD PostTimeMs; + ULONGLONG TotalResumeTimeMs; + ULONGLONG ResumeCompleteTimestamp; + } RESUME_PERFORMANCE,*PRESUME_PERFORMANCE; + + typedef enum { + PoAc, + PoDc, + PoHot, + PoConditionMaximum + } SYSTEM_POWER_CONDITION; + + typedef struct { + DWORD Version; + GUID Guid; + SYSTEM_POWER_CONDITION PowerCondition; + DWORD DataLength; + BYTE Data[ANYSIZE_ARRAY]; + } SET_POWER_SETTING_VALUE,*PSET_POWER_SETTING_VALUE; + +#define POWER_SETTING_VALUE_VERSION (0x1) + + typedef struct { + GUID Guid; + } NOTIFY_USER_POWER_SETTING,*PNOTIFY_USER_POWER_SETTING; + + typedef struct _APPLICATIONLAUNCH_SETTING_VALUE { + LARGE_INTEGER ActivationTime; + DWORD Flags; + DWORD ButtonInstanceID; + } APPLICATIONLAUNCH_SETTING_VALUE,*PAPPLICATIONLAUNCH_SETTING_VALUE; + + typedef enum _POWER_PLATFORM_ROLE { + PlatformRoleUnspecified = 0, + PlatformRoleDesktop, + PlatformRoleMobile, + PlatformRoleWorkstation, + PlatformRoleEnterpriseServer, + PlatformRoleSOHOServer, + PlatformRoleAppliancePC, + PlatformRolePerformanceServer, + PlatformRoleSlate, + PlatformRoleMaximum + } POWER_PLATFORM_ROLE,*PPOWER_PLATFORM_ROLE; + + typedef struct _POWER_PLATFORM_INFORMATION { + BOOLEAN AoAc; + } POWER_PLATFORM_INFORMATION,*PPOWER_PLATFORM_INFORMATION; + +#define POWER_PLATFORM_ROLE_V1 (0x00000001) +#define POWER_PLATFORM_ROLE_V1_MAX (PlatformRolePerformanceServer + 1) + +#define POWER_PLATFORM_ROLE_V2 (0x00000002) +#define POWER_PLATFORM_ROLE_V2_MAX (PlatformRoleSlate + 1) + +#if _WIN32_WINNT >= 0x0602 +#define POWER_PLATFORM_ROLE_VERSION POWER_PLATFORM_ROLE_V2 +#define POWER_PLATFORM_ROLE_VERSION_MAX POWER_PLATFORM_ROLE_V2_MAX +#else +#define POWER_PLATFORM_ROLE_VERSION POWER_PLATFORM_ROLE_V1 +#define POWER_PLATFORM_ROLE_VERSION_MAX POWER_PLATFORM_ROLE_V1_MAX +#endif + + typedef struct { + DWORD Granularity; + DWORD Capacity; + } BATTERY_REPORTING_SCALE,*PBATTERY_REPORTING_SCALE; + + typedef struct { + DWORD Frequency; + DWORD Flags; + DWORD PercentFrequency; + } PPM_WMI_LEGACY_PERFSTATE,*PPPM_WMI_LEGACY_PERFSTATE; + + typedef struct { + DWORD Latency; + DWORD Power; + DWORD TimeCheck; + BYTE PromotePercent; + BYTE DemotePercent; + BYTE StateType; + BYTE Reserved; + DWORD StateFlags; + DWORD Context; + DWORD IdleHandler; + DWORD Reserved1; + } PPM_WMI_IDLE_STATE,*PPPM_WMI_IDLE_STATE; + + typedef struct { + DWORD Type; + DWORD Count; + DWORD TargetState; + DWORD OldState; + DWORD64 TargetProcessors; + PPM_WMI_IDLE_STATE State[ANYSIZE_ARRAY]; + } PPM_WMI_IDLE_STATES,*PPPM_WMI_IDLE_STATES; + + typedef struct { + DWORD Type; + DWORD Count; + DWORD TargetState; + DWORD OldState; + PVOID TargetProcessors; + PPM_WMI_IDLE_STATE State[ANYSIZE_ARRAY]; + } PPM_WMI_IDLE_STATES_EX,*PPPM_WMI_IDLE_STATES_EX; + + typedef struct { + DWORD Frequency; + DWORD Power; + BYTE PercentFrequency; + BYTE IncreaseLevel; + BYTE DecreaseLevel; + BYTE Type; + DWORD IncreaseTime; + DWORD DecreaseTime; + DWORD64 Control; + DWORD64 Status; + DWORD HitCount; + DWORD Reserved1; + DWORD64 Reserved2; + DWORD64 Reserved3; + } PPM_WMI_PERF_STATE,*PPPM_WMI_PERF_STATE; + + typedef struct { + DWORD Count; + DWORD MaxFrequency; + DWORD CurrentState; + DWORD MaxPerfState; + DWORD MinPerfState; + DWORD LowestPerfState; + DWORD ThermalConstraint; + BYTE BusyAdjThreshold; + BYTE PolicyType; + BYTE Type; + BYTE Reserved; + DWORD TimerInterval; + DWORD64 TargetProcessors; + DWORD PStateHandler; + DWORD PStateContext; + DWORD TStateHandler; + DWORD TStateContext; + DWORD FeedbackHandler; + DWORD Reserved1; + DWORD64 Reserved2; + PPM_WMI_PERF_STATE State[ANYSIZE_ARRAY]; + } PPM_WMI_PERF_STATES,*PPPM_WMI_PERF_STATES; + + typedef struct { + DWORD Count; + DWORD MaxFrequency; + DWORD CurrentState; + DWORD MaxPerfState; + DWORD MinPerfState; + DWORD LowestPerfState; + DWORD ThermalConstraint; + BYTE BusyAdjThreshold; + BYTE PolicyType; + BYTE Type; + BYTE Reserved; + DWORD TimerInterval; + PVOID TargetProcessors; + DWORD PStateHandler; + DWORD PStateContext; + DWORD TStateHandler; + DWORD TStateContext; + DWORD FeedbackHandler; + DWORD Reserved1; + DWORD64 Reserved2; + PPM_WMI_PERF_STATE State[ANYSIZE_ARRAY]; + } PPM_WMI_PERF_STATES_EX,*PPPM_WMI_PERF_STATES_EX; + +#define PROC_IDLE_BUCKET_COUNT 6 +#define PROC_IDLE_BUCKET_COUNT_EX 16 + + typedef struct { + DWORD IdleTransitions; + DWORD FailedTransitions; + DWORD InvalidBucketIndex; + DWORD64 TotalTime; + DWORD IdleTimeBuckets[PROC_IDLE_BUCKET_COUNT]; + } PPM_IDLE_STATE_ACCOUNTING,*PPPM_IDLE_STATE_ACCOUNTING; + + typedef struct { + DWORD StateCount; + DWORD TotalTransitions; + DWORD ResetCount; + DWORD64 StartTime; + PPM_IDLE_STATE_ACCOUNTING State[ANYSIZE_ARRAY]; + } PPM_IDLE_ACCOUNTING,*PPPM_IDLE_ACCOUNTING; + + typedef struct { + DWORD64 TotalTimeUs; + DWORD MinTimeUs; + DWORD MaxTimeUs; + DWORD Count; + } PPM_IDLE_STATE_BUCKET_EX,*PPPM_IDLE_STATE_BUCKET_EX; + + typedef struct { + DWORD64 TotalTime; + DWORD IdleTransitions; + DWORD FailedTransitions; + DWORD InvalidBucketIndex; + DWORD MinTimeUs; + DWORD MaxTimeUs; + DWORD CancelledTransitions; + PPM_IDLE_STATE_BUCKET_EX IdleTimeBuckets[PROC_IDLE_BUCKET_COUNT_EX]; + } PPM_IDLE_STATE_ACCOUNTING_EX,*PPPM_IDLE_STATE_ACCOUNTING_EX; + + typedef struct { + DWORD StateCount; + DWORD TotalTransitions; + DWORD ResetCount; + DWORD AbortCount; + DWORD64 StartTime; + PPM_IDLE_STATE_ACCOUNTING_EX State[ANYSIZE_ARRAY]; + } PPM_IDLE_ACCOUNTING_EX,*PPPM_IDLE_ACCOUNTING_EX; + +#define ACPI_PPM_SOFTWARE_ALL 0xfc +#define ACPI_PPM_SOFTWARE_ANY 0xfd +#define ACPI_PPM_HARDWARE_ALL 0xfe + +#define MS_PPM_SOFTWARE_ALL 0x1 + +#define PPM_FIRMWARE_ACPI1C2 0x1 +#define PPM_FIRMWARE_ACPI1C3 0x2 +#define PPM_FIRMWARE_ACPI1TSTATES 0x4 +#define PPM_FIRMWARE_CST 0x8 +#define PPM_FIRMWARE_CSD 0x10 +#define PPM_FIRMWARE_PCT 0x20 +#define PPM_FIRMWARE_PSS 0x40 +#define PPM_FIRMWARE_XPSS 0x80 +#define PPM_FIRMWARE_PPC 0x100 +#define PPM_FIRMWARE_PSD 0x200 +#define PPM_FIRMWARE_PTC 0x400 +#define PPM_FIRMWARE_TSS 0x800 +#define PPM_FIRMWARE_TPC 0x1000 +#define PPM_FIRMWARE_TSD 0x2000 +#define PPM_FIRMWARE_PCCH 0x4000 +#define PPM_FIRMWARE_PCCP 0x8000 +#define PPM_FIRMWARE_OSC 0x10000 +#define PPM_FIRMWARE_PDC 0x20000 +#define PPM_FIRMWARE_CPC 0x40000 + +#define PPM_PERFORMANCE_IMPLEMENTATION_NONE 0 +#define PPM_PERFORMANCE_IMPLEMENTATION_PSTATES 1 +#define PPM_PERFORMANCE_IMPLEMENTATION_PCCV1 2 +#define PPM_PERFORMANCE_IMPLEMENTATION_CPPC 3 +#define PPM_PERFORMANCE_IMPLEMENTATION_PEP 4 + +#define PPM_IDLE_IMPLEMENTATION_NONE 0x0 +#define PPM_IDLE_IMPLEMENTATION_CSTATES 0x1 +#define PPM_IDLE_IMPLEMENTATION_PEP 0x2 + + typedef struct { + DWORD State; + DWORD Status; + DWORD Latency; + DWORD Speed; + DWORD Processor; + } PPM_PERFSTATE_EVENT,*PPPM_PERFSTATE_EVENT; + + typedef struct { + DWORD State; + DWORD Latency; + DWORD Speed; + DWORD64 Processors; + } PPM_PERFSTATE_DOMAIN_EVENT,*PPPM_PERFSTATE_DOMAIN_EVENT; + + typedef struct { + DWORD NewState; + DWORD OldState; + DWORD64 Processors; + } PPM_IDLESTATE_EVENT,*PPPM_IDLESTATE_EVENT; + + typedef struct { + DWORD ThermalConstraint; + DWORD64 Processors; + } PPM_THERMALCHANGE_EVENT,*PPPM_THERMALCHANGE_EVENT; + typedef struct { + BYTE Mode; + DWORD64 Processors; + } PPM_THERMAL_POLICY_EVENT,*PPPM_THERMAL_POLICY_EVENT; + + DEFINE_GUID (PPM_PERFSTATE_CHANGE_GUID, 0xa5b32ddd, 0x7f39, 0x4abc, 0xb8, 0x92, 0x90, 0xe, 0x43, 0xb5, 0x9e, 0xbb); + DEFINE_GUID (PPM_PERFSTATE_DOMAIN_CHANGE_GUID, 0x995e6b7f, 0xd653, 0x497a, 0xb9, 0x78, 0x36, 0xa3, 0xc, 0x29, 0xbf, 0x1); + DEFINE_GUID (PPM_IDLESTATE_CHANGE_GUID, 0x4838fe4f, 0xf71c, 0x4e51, 0x9e, 0xcc, 0x84, 0x30, 0xa7, 0xac, 0x4c, 0x6c); + DEFINE_GUID (PPM_PERFSTATES_DATA_GUID, 0x5708cc20, 0x7d40, 0x4bf4, 0xb4, 0xaa, 0x2b, 0x01, 0x33, 0x8d, 0x01, 0x26); + DEFINE_GUID (PPM_IDLESTATES_DATA_GUID, 0xba138e10, 0xe250, 0x4ad7, 0x86, 0x16, 0xcf, 0x1a, 0x7a, 0xd4, 0x10, 0xe7); + DEFINE_GUID (PPM_IDLE_ACCOUNTING_GUID, 0xe2a26f78, 0xae07, 0x4ee0, 0xa3, 0x0f, 0xce, 0x54, 0xf5, 0x5a, 0x94, 0xcd); + DEFINE_GUID (PPM_IDLE_ACCOUNTING_EX_GUID, 0xd67abd39, 0x81f8, 0x4a5e, 0x81, 0x52, 0x72, 0xe3, 0x1e, 0xc9, 0x12, 0xee); + DEFINE_GUID (PPM_THERMALCONSTRAINT_GUID, 0xa852c2c8, 0x1a4c, 0x423b, 0x8c, 0x2c, 0xf3, 0x0d, 0x82, 0x93, 0x1a, 0x88); + DEFINE_GUID (PPM_PERFMON_PERFSTATE_GUID, 0x7fd18652, 0xcfe, 0x40d2, 0xb0, 0xa1, 0xb, 0x6, 0x6a, 0x87, 0x75, 0x9e); + DEFINE_GUID (PPM_THERMAL_POLICY_CHANGE_GUID, 0x48f377b8, 0x6880, 0x4c7b, 0x8b, 0xdc, 0x38, 0x1, 0x76, 0xc6, 0x65, 0x4d); + + typedef struct { + POWER_ACTION Action; + DWORD Flags; + DWORD EventCode; + } POWER_ACTION_POLICY,*PPOWER_ACTION_POLICY; + +#define POWER_ACTION_QUERY_ALLOWED 0x00000001 +#define POWER_ACTION_UI_ALLOWED 0x00000002 +#define POWER_ACTION_OVERRIDE_APPS 0x00000004 +#define POWER_ACTION_HIBERBOOT 0x00000008 +#define POWER_ACTION_PSEUDO_TRANSITION 0x08000000 +#define POWER_ACTION_LIGHTEST_FIRST 0x10000000 +#define POWER_ACTION_LOCK_CONSOLE 0x20000000 +#define POWER_ACTION_DISABLE_WAKES 0x40000000 +#define POWER_ACTION_CRITICAL 0x80000000 + +#define POWER_LEVEL_USER_NOTIFY_TEXT 0x00000001 +#define POWER_LEVEL_USER_NOTIFY_SOUND 0x00000002 +#define POWER_LEVEL_USER_NOTIFY_EXEC 0x00000004 +#define POWER_USER_NOTIFY_BUTTON 0x00000008 +#define POWER_USER_NOTIFY_SHUTDOWN 0x00000010 +#define POWER_USER_NOTIFY_FORCED_SHUTDOWN 0x00000020 +#define POWER_FORCE_TRIGGER_RESET 0x80000000 + +#define BATTERY_DISCHARGE_FLAGS_EVENTCODE_MASK 0x00000007 +#define BATTERY_DISCHARGE_FLAGS_ENABLE 0x80000000 + +#define DISCHARGE_POLICY_CRITICAL 0 +#define DISCHARGE_POLICY_LOW 1 + +#define NUM_DISCHARGE_POLICIES 4 + +#define PROCESSOR_IDLESTATE_POLICY_COUNT 0x3 + + typedef struct { + DWORD TimeCheck; + BYTE DemotePercent; + BYTE PromotePercent; + BYTE Spare[2]; + } PROCESSOR_IDLESTATE_INFO,*PPROCESSOR_IDLESTATE_INFO; + + typedef struct { + BOOLEAN Enable; + BYTE Spare[3]; + DWORD BatteryLevel; + POWER_ACTION_POLICY PowerPolicy; + SYSTEM_POWER_STATE MinSystemState; + } SYSTEM_POWER_LEVEL,*PSYSTEM_POWER_LEVEL; + + typedef struct _SYSTEM_POWER_POLICY { + DWORD Revision; + POWER_ACTION_POLICY PowerButton; + POWER_ACTION_POLICY SleepButton; + POWER_ACTION_POLICY LidClose; + SYSTEM_POWER_STATE LidOpenWake; + DWORD Reserved; + POWER_ACTION_POLICY Idle; + DWORD IdleTimeout; + BYTE IdleSensitivity; + BYTE DynamicThrottle; + BYTE Spare2[2]; + SYSTEM_POWER_STATE MinSleep; + SYSTEM_POWER_STATE MaxSleep; + SYSTEM_POWER_STATE ReducedLatencySleep; + DWORD WinLogonFlags; + DWORD Spare3; + DWORD DozeS4Timeout; + DWORD BroadcastCapacityResolution; + SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; + DWORD VideoTimeout; + BOOLEAN VideoDimDisplay; + DWORD VideoReserved[3]; + DWORD SpindownTimeout; + BOOLEAN OptimizeForPower; + BYTE FanThrottleTolerance; + BYTE ForcedThrottle; + BYTE MinThrottle; + POWER_ACTION_POLICY OverThrottled; + } SYSTEM_POWER_POLICY,*PSYSTEM_POWER_POLICY; + +#define PO_THROTTLE_NONE 0 +#define PO_THROTTLE_CONSTANT 1 +#define PO_THROTTLE_DEGRADE 2 +#define PO_THROTTLE_ADAPTIVE 3 +#define PO_THROTTLE_MAXIMUM 4 + + typedef struct { + WORD Revision; + union { + WORD AsWORD; + __C89_NAMELESS struct { + WORD AllowScaling : 1; + WORD Disabled : 1; + WORD Reserved : 14; + } DUMMYSTRUCTNAME; + } Flags; + DWORD PolicyCount; + PROCESSOR_IDLESTATE_INFO Policy[PROCESSOR_IDLESTATE_POLICY_COUNT]; + } PROCESSOR_IDLESTATE_POLICY,*PPROCESSOR_IDLESTATE_POLICY; + + typedef struct _PROCESSOR_POWER_POLICY_INFO { + DWORD TimeCheck; + DWORD DemoteLimit; + DWORD PromoteLimit; + BYTE DemotePercent; + BYTE PromotePercent; + BYTE Spare[2]; + DWORD AllowDemotion:1; + DWORD AllowPromotion:1; + DWORD Reserved:30; + } PROCESSOR_POWER_POLICY_INFO,*PPROCESSOR_POWER_POLICY_INFO; + + typedef struct _PROCESSOR_POWER_POLICY { + DWORD Revision; + BYTE DynamicThrottle; + BYTE Spare[3]; + DWORD DisableCStates:1; + DWORD Reserved:31; + DWORD PolicyCount; + PROCESSOR_POWER_POLICY_INFO Policy[3]; + } PROCESSOR_POWER_POLICY,*PPROCESSOR_POWER_POLICY; + + typedef struct { + DWORD Revision; + BYTE MaxThrottle; + BYTE MinThrottle; + BYTE BusyAdjThreshold; + __C89_NAMELESS union { + BYTE Spare; + union { + BYTE AsBYTE; + __C89_NAMELESS struct { + BYTE NoDomainAccounting : 1; + BYTE IncreasePolicy: 2; + BYTE DecreasePolicy: 2; + BYTE Reserved : 3; + } DUMMYSTRUCTNAME; + } Flags; + } DUMMYUNIONNAME; + DWORD TimeCheck; + DWORD IncreaseTime; + DWORD DecreaseTime; + DWORD IncreasePercent; + DWORD DecreasePercent; + } PROCESSOR_PERFSTATE_POLICY,*PPROCESSOR_PERFSTATE_POLICY; + + typedef struct _ADMINISTRATOR_POWER_POLICY { + SYSTEM_POWER_STATE MinSleep; + SYSTEM_POWER_STATE MaxSleep; + DWORD MinVideoTimeout; + DWORD MaxVideoTimeout; + DWORD MinSpindownTimeout; + DWORD MaxSpindownTimeout; + } ADMINISTRATOR_POWER_POLICY,*PADMINISTRATOR_POWER_POLICY; + + typedef struct { + BOOLEAN PowerButtonPresent; + BOOLEAN SleepButtonPresent; + BOOLEAN LidPresent; + BOOLEAN SystemS1; + BOOLEAN SystemS2; + BOOLEAN SystemS3; + BOOLEAN SystemS4; + BOOLEAN SystemS5; + BOOLEAN HiberFilePresent; + BOOLEAN FullWake; + BOOLEAN VideoDimPresent; + BOOLEAN ApmPresent; + BOOLEAN UpsPresent; + BOOLEAN ThermalControl; + BOOLEAN ProcessorThrottle; + BYTE ProcessorMinThrottle; + BYTE ProcessorMaxThrottle; + BOOLEAN FastSystemS4; + BYTE spare2[3]; + BOOLEAN DiskSpinDown; + BYTE spare3[8]; + BOOLEAN SystemBatteriesPresent; + BOOLEAN BatteriesAreShortTerm; + BATTERY_REPORTING_SCALE BatteryScale[3]; + SYSTEM_POWER_STATE AcOnLineWake; + SYSTEM_POWER_STATE SoftLidWake; + SYSTEM_POWER_STATE RtcWake; + SYSTEM_POWER_STATE MinDeviceWakeState; + SYSTEM_POWER_STATE DefaultLowLatencyWake; + } SYSTEM_POWER_CAPABILITIES,*PSYSTEM_POWER_CAPABILITIES; + + typedef struct { + BOOLEAN AcOnLine; + BOOLEAN BatteryPresent; + BOOLEAN Charging; + BOOLEAN Discharging; + BOOLEAN Spare1[4]; + DWORD MaxCapacity; + DWORD RemainingCapacity; + DWORD Rate; + DWORD EstimatedTime; + DWORD DefaultAlert1; + DWORD DefaultAlert2; + } SYSTEM_BATTERY_STATE,*PSYSTEM_BATTERY_STATE; + +#include "pshpack4.h" + +#define IMAGE_DOS_SIGNATURE 0x5A4D +#define IMAGE_OS2_SIGNATURE 0x454E +#define IMAGE_OS2_SIGNATURE_LE 0x454C +#define IMAGE_VXD_SIGNATURE 0x454C +#define IMAGE_NT_SIGNATURE 0x00004550 + +#include "pshpack2.h" + + typedef struct _IMAGE_DOS_HEADER { + WORD e_magic; + WORD e_cblp; + WORD e_cp; + WORD e_crlc; + WORD e_cparhdr; + WORD e_minalloc; + WORD e_maxalloc; + WORD e_ss; + WORD e_sp; + WORD e_csum; + WORD e_ip; + WORD e_cs; + WORD e_lfarlc; + WORD e_ovno; + WORD e_res[4]; + WORD e_oemid; + WORD e_oeminfo; + WORD e_res2[10]; + LONG e_lfanew; + } IMAGE_DOS_HEADER,*PIMAGE_DOS_HEADER; + + typedef struct _IMAGE_OS2_HEADER { + WORD ne_magic; + CHAR ne_ver; + CHAR ne_rev; + WORD ne_enttab; + WORD ne_cbenttab; + LONG ne_crc; + WORD ne_flags; + WORD ne_autodata; + WORD ne_heap; + WORD ne_stack; + LONG ne_csip; + LONG ne_sssp; + WORD ne_cseg; + WORD ne_cmod; + WORD ne_cbnrestab; + WORD ne_segtab; + WORD ne_rsrctab; + WORD ne_restab; + WORD ne_modtab; + WORD ne_imptab; + LONG ne_nrestab; + WORD ne_cmovent; + WORD ne_align; + WORD ne_cres; + BYTE ne_exetyp; + BYTE ne_flagsothers; + WORD ne_pretthunks; + WORD ne_psegrefbytes; + WORD ne_swaparea; + WORD ne_expver; + } IMAGE_OS2_HEADER,*PIMAGE_OS2_HEADER; + + typedef struct _IMAGE_VXD_HEADER { + WORD e32_magic; + BYTE e32_border; + BYTE e32_worder; + DWORD e32_level; + WORD e32_cpu; + WORD e32_os; + DWORD e32_ver; + DWORD e32_mflags; + DWORD e32_mpages; + DWORD e32_startobj; + DWORD e32_eip; + DWORD e32_stackobj; + DWORD e32_esp; + DWORD e32_pagesize; + DWORD e32_lastpagesize; + DWORD e32_fixupsize; + DWORD e32_fixupsum; + DWORD e32_ldrsize; + DWORD e32_ldrsum; + DWORD e32_objtab; + DWORD e32_objcnt; + DWORD e32_objmap; + DWORD e32_itermap; + DWORD e32_rsrctab; + DWORD e32_rsrccnt; + DWORD e32_restab; + DWORD e32_enttab; + DWORD e32_dirtab; + DWORD e32_dircnt; + DWORD e32_fpagetab; + DWORD e32_frectab; + DWORD e32_impmod; + DWORD e32_impmodcnt; + DWORD e32_impproc; + DWORD e32_pagesum; + DWORD e32_datapage; + DWORD e32_preload; + DWORD e32_nrestab; + DWORD e32_cbnrestab; + DWORD e32_nressum; + DWORD e32_autodata; + DWORD e32_debuginfo; + DWORD e32_debuglen; + DWORD e32_instpreload; + DWORD e32_instdemand; + DWORD e32_heapsize; + BYTE e32_res3[12]; + DWORD e32_winresoff; + DWORD e32_winreslen; + WORD e32_devid; + WORD e32_ddkver; + } IMAGE_VXD_HEADER,*PIMAGE_VXD_HEADER; + +#include "poppack.h" + + typedef struct _IMAGE_FILE_HEADER { + WORD Machine; + WORD NumberOfSections; + DWORD TimeDateStamp; + DWORD PointerToSymbolTable; + DWORD NumberOfSymbols; + WORD SizeOfOptionalHeader; + WORD Characteristics; + } IMAGE_FILE_HEADER,*PIMAGE_FILE_HEADER; + +#define IMAGE_SIZEOF_FILE_HEADER 20 + +#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 +#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 +#define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 +#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 +#define IMAGE_FILE_AGGRESIVE_WS_TRIM 0x0010 +#define IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 +#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 +#define IMAGE_FILE_32BIT_MACHINE 0x0100 +#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 +#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 +#define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 +#define IMAGE_FILE_SYSTEM 0x1000 +#define IMAGE_FILE_DLL 0x2000 +#define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 +#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 + +#define IMAGE_FILE_MACHINE_UNKNOWN 0 +#define IMAGE_FILE_MACHINE_I386 0x014c +#define IMAGE_FILE_MACHINE_R3000 0x0162 +#define IMAGE_FILE_MACHINE_R4000 0x0166 +#define IMAGE_FILE_MACHINE_R10000 0x0168 +#define IMAGE_FILE_MACHINE_WCEMIPSV2 0x0169 +#define IMAGE_FILE_MACHINE_ALPHA 0x0184 +#define IMAGE_FILE_MACHINE_SH3 0x01a2 +#define IMAGE_FILE_MACHINE_SH3DSP 0x01a3 +#define IMAGE_FILE_MACHINE_SH3E 0x01a4 +#define IMAGE_FILE_MACHINE_SH4 0x01a6 +#define IMAGE_FILE_MACHINE_SH5 0x01a8 +#define IMAGE_FILE_MACHINE_ARM 0x01c0 +#define IMAGE_FILE_MACHINE_ARMV7 0x01c4 +#define IMAGE_FILE_MACHINE_ARMNT 0x01c4 +#define IMAGE_FILE_MACHINE_ARM64 0xaa64 +#define IMAGE_FILE_MACHINE_THUMB 0x01c2 +#define IMAGE_FILE_MACHINE_AM33 0x01d3 +#define IMAGE_FILE_MACHINE_POWERPC 0x01F0 +#define IMAGE_FILE_MACHINE_POWERPCFP 0x01f1 +#define IMAGE_FILE_MACHINE_IA64 0x0200 +#define IMAGE_FILE_MACHINE_MIPS16 0x0266 +#define IMAGE_FILE_MACHINE_ALPHA64 0x0284 +#define IMAGE_FILE_MACHINE_MIPSFPU 0x0366 +#define IMAGE_FILE_MACHINE_MIPSFPU16 0x0466 +#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64 +#define IMAGE_FILE_MACHINE_TRICORE 0x0520 +#define IMAGE_FILE_MACHINE_CEF 0x0CEF +#define IMAGE_FILE_MACHINE_EBC 0x0EBC +#define IMAGE_FILE_MACHINE_AMD64 0x8664 +#define IMAGE_FILE_MACHINE_M32R 0x9041 +#define IMAGE_FILE_MACHINE_CEE 0xc0ee + + typedef struct _IMAGE_DATA_DIRECTORY { + DWORD VirtualAddress; + DWORD Size; + } IMAGE_DATA_DIRECTORY,*PIMAGE_DATA_DIRECTORY; + +#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 + + typedef struct _IMAGE_OPTIONAL_HEADER { + + WORD Magic; + BYTE MajorLinkerVersion; + BYTE MinorLinkerVersion; + DWORD SizeOfCode; + DWORD SizeOfInitializedData; + DWORD SizeOfUninitializedData; + DWORD AddressOfEntryPoint; + DWORD BaseOfCode; + DWORD BaseOfData; + DWORD ImageBase; + DWORD SectionAlignment; + DWORD FileAlignment; + WORD MajorOperatingSystemVersion; + WORD MinorOperatingSystemVersion; + WORD MajorImageVersion; + WORD MinorImageVersion; + WORD MajorSubsystemVersion; + WORD MinorSubsystemVersion; + DWORD Win32VersionValue; + DWORD SizeOfImage; + DWORD SizeOfHeaders; + DWORD CheckSum; + WORD Subsystem; + WORD DllCharacteristics; + DWORD SizeOfStackReserve; + DWORD SizeOfStackCommit; + DWORD SizeOfHeapReserve; + DWORD SizeOfHeapCommit; + DWORD LoaderFlags; + DWORD NumberOfRvaAndSizes; + IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; + } IMAGE_OPTIONAL_HEADER32,*PIMAGE_OPTIONAL_HEADER32; + + typedef struct _IMAGE_ROM_OPTIONAL_HEADER { + WORD Magic; + BYTE MajorLinkerVersion; + BYTE MinorLinkerVersion; + DWORD SizeOfCode; + DWORD SizeOfInitializedData; + DWORD SizeOfUninitializedData; + DWORD AddressOfEntryPoint; + DWORD BaseOfCode; + DWORD BaseOfData; + DWORD BaseOfBss; + DWORD GprMask; + DWORD CprMask[4]; + DWORD GpValue; + } IMAGE_ROM_OPTIONAL_HEADER,*PIMAGE_ROM_OPTIONAL_HEADER; + + typedef struct _IMAGE_OPTIONAL_HEADER64 { + WORD Magic; + BYTE MajorLinkerVersion; + BYTE MinorLinkerVersion; + DWORD SizeOfCode; + DWORD SizeOfInitializedData; + DWORD SizeOfUninitializedData; + DWORD AddressOfEntryPoint; + DWORD BaseOfCode; + ULONGLONG ImageBase; + DWORD SectionAlignment; + DWORD FileAlignment; + WORD MajorOperatingSystemVersion; + WORD MinorOperatingSystemVersion; + WORD MajorImageVersion; + WORD MinorImageVersion; + WORD MajorSubsystemVersion; + WORD MinorSubsystemVersion; + DWORD Win32VersionValue; + DWORD SizeOfImage; + DWORD SizeOfHeaders; + DWORD CheckSum; + WORD Subsystem; + WORD DllCharacteristics; + ULONGLONG SizeOfStackReserve; + ULONGLONG SizeOfStackCommit; + ULONGLONG SizeOfHeapReserve; + ULONGLONG SizeOfHeapCommit; + DWORD LoaderFlags; + DWORD NumberOfRvaAndSizes; + IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; + } IMAGE_OPTIONAL_HEADER64,*PIMAGE_OPTIONAL_HEADER64; + +#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56 +#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28 +#define IMAGE_SIZEOF_NT_OPTIONAL32_HEADER 224 +#define IMAGE_SIZEOF_NT_OPTIONAL64_HEADER 240 + +#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b +#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b +#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 + +#ifdef _WIN64 + typedef IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER; + typedef PIMAGE_OPTIONAL_HEADER64 PIMAGE_OPTIONAL_HEADER; +#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER IMAGE_SIZEOF_NT_OPTIONAL64_HEADER +#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC +#else /* _WIN64 */ + typedef IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; + typedef PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; +#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER IMAGE_SIZEOF_NT_OPTIONAL32_HEADER +#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC +#endif /* _WIN64 */ + + typedef struct _IMAGE_NT_HEADERS64 { + DWORD Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER64 OptionalHeader; + } IMAGE_NT_HEADERS64,*PIMAGE_NT_HEADERS64; + + typedef struct _IMAGE_NT_HEADERS { + DWORD Signature; + IMAGE_FILE_HEADER FileHeader; + IMAGE_OPTIONAL_HEADER32 OptionalHeader; + } IMAGE_NT_HEADERS32,*PIMAGE_NT_HEADERS32; + + typedef struct _IMAGE_ROM_HEADERS { + IMAGE_FILE_HEADER FileHeader; + IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; + } IMAGE_ROM_HEADERS,*PIMAGE_ROM_HEADERS; + +#ifdef _WIN64 + typedef IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS; + typedef PIMAGE_NT_HEADERS64 PIMAGE_NT_HEADERS; +#else /* _WIN64 */ + typedef IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; + typedef PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; +#endif /* _WIN64 */ + +#define IMAGE_FIRST_SECTION(ntheader) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)ntheader + FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader) + ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader)) + +#define IMAGE_SUBSYSTEM_UNKNOWN 0 +#define IMAGE_SUBSYSTEM_NATIVE 1 +#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 +#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 +#define IMAGE_SUBSYSTEM_OS2_CUI 5 +#define IMAGE_SUBSYSTEM_POSIX_CUI 7 +#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8 +#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9 +#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 +#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11 +#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 +#define IMAGE_SUBSYSTEM_EFI_ROM 13 +#define IMAGE_SUBSYSTEM_XBOX 14 +#define IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION 16 + +#define IMAGE_DLLCHARACTERISTICS_HIGH_ENTROPY_VA 0x0020 +#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040 +#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080 +#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100 +#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200 +#define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400 +#define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800 +#define IMAGE_DLLCHARACTERISTICS_APPCONTAINER 0x1000 +#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000 +#define IMAGE_DLLCHARACTERISTICS_GUARD_CF 0x4000 +#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000 + +#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 +#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 +#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 +#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 +#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 +#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 +#define IMAGE_DIRECTORY_ENTRY_ARCHITECTURE 7 +#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 +#define IMAGE_DIRECTORY_ENTRY_TLS 9 +#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 +#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 +#define IMAGE_DIRECTORY_ENTRY_IAT 12 +#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 +#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 + + typedef struct ANON_OBJECT_HEADER { + WORD Sig1; + WORD Sig2; + WORD Version; + WORD Machine; + DWORD TimeDateStamp; + CLSID ClassID; + DWORD SizeOfData; + } ANON_OBJECT_HEADER; + + typedef struct ANON_OBJECT_HEADER_V2 { + WORD Sig1; + WORD Sig2; + WORD Version; + WORD Machine; + DWORD TimeDateStamp; + CLSID ClassID; + DWORD SizeOfData; + DWORD Flags; + DWORD MetaDataSize; + DWORD MetaDataOffset; + } ANON_OBJECT_HEADER_V2; + + typedef struct ANON_OBJECT_HEADER_BIGOBJ { + WORD Sig1; + WORD Sig2; + WORD Version; + WORD Machine; + DWORD TimeDateStamp; + CLSID ClassID; + DWORD SizeOfData; + DWORD Flags; + DWORD MetaDataSize; + DWORD MetaDataOffset; + DWORD NumberOfSections; + DWORD PointerToSymbolTable; + DWORD NumberOfSymbols; + } ANON_OBJECT_HEADER_BIGOBJ; + +#define IMAGE_SIZEOF_SHORT_NAME 8 + + typedef struct _IMAGE_SECTION_HEADER { + BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; + union { + DWORD PhysicalAddress; + DWORD VirtualSize; + } Misc; + DWORD VirtualAddress; + DWORD SizeOfRawData; + DWORD PointerToRawData; + DWORD PointerToRelocations; + DWORD PointerToLinenumbers; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD Characteristics; + } IMAGE_SECTION_HEADER,*PIMAGE_SECTION_HEADER; + +#define IMAGE_SIZEOF_SECTION_HEADER 40 + +#define IMAGE_SCN_TYPE_NO_PAD 0x00000008 + +#define IMAGE_SCN_CNT_CODE 0x00000020 +#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 +#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 +#define IMAGE_SCN_LNK_OTHER 0x00000100 +#define IMAGE_SCN_LNK_INFO 0x00000200 +#define IMAGE_SCN_LNK_REMOVE 0x00000800 +#define IMAGE_SCN_LNK_COMDAT 0x00001000 +#define IMAGE_SCN_NO_DEFER_SPEC_EXC 0x00004000 +#define IMAGE_SCN_GPREL 0x00008000 +#define IMAGE_SCN_MEM_FARDATA 0x00008000 +#define IMAGE_SCN_MEM_PURGEABLE 0x00020000 +#define IMAGE_SCN_MEM_16BIT 0x00020000 +#define IMAGE_SCN_MEM_LOCKED 0x00040000 +#define IMAGE_SCN_MEM_PRELOAD 0x00080000 + +#define IMAGE_SCN_ALIGN_1BYTES 0x00100000 +#define IMAGE_SCN_ALIGN_2BYTES 0x00200000 +#define IMAGE_SCN_ALIGN_4BYTES 0x00300000 +#define IMAGE_SCN_ALIGN_8BYTES 0x00400000 +#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 +#define IMAGE_SCN_ALIGN_32BYTES 0x00600000 +#define IMAGE_SCN_ALIGN_64BYTES 0x00700000 +#define IMAGE_SCN_ALIGN_128BYTES 0x00800000 +#define IMAGE_SCN_ALIGN_256BYTES 0x00900000 +#define IMAGE_SCN_ALIGN_512BYTES 0x00A00000 +#define IMAGE_SCN_ALIGN_1024BYTES 0x00B00000 +#define IMAGE_SCN_ALIGN_2048BYTES 0x00C00000 +#define IMAGE_SCN_ALIGN_4096BYTES 0x00D00000 +#define IMAGE_SCN_ALIGN_8192BYTES 0x00E00000 + +#define IMAGE_SCN_ALIGN_MASK 0x00F00000 + +#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 +#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 +#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 +#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 +#define IMAGE_SCN_MEM_SHARED 0x10000000 +#define IMAGE_SCN_MEM_EXECUTE 0x20000000 +#define IMAGE_SCN_MEM_READ 0x40000000 +#define IMAGE_SCN_MEM_WRITE 0x80000000 + +#define IMAGE_SCN_SCALE_INDEX 0x00000001 + +#include "pshpack2.h" + typedef struct _IMAGE_SYMBOL { + union { + BYTE ShortName[8]; + struct { + DWORD Short; + DWORD Long; + } Name; + DWORD LongName[2]; + } N; + DWORD Value; + SHORT SectionNumber; + WORD Type; + BYTE StorageClass; + BYTE NumberOfAuxSymbols; + } IMAGE_SYMBOL; + typedef IMAGE_SYMBOL UNALIGNED *PIMAGE_SYMBOL; + +#define IMAGE_SIZEOF_SYMBOL 18 + + typedef struct _IMAGE_SYMBOL_EX { + union { + BYTE ShortName[8]; + struct { + DWORD Short; + DWORD Long; + } Name; + DWORD LongName[2]; + } N; + DWORD Value; + LONG SectionNumber; + WORD Type; + BYTE StorageClass; + BYTE NumberOfAuxSymbols; + } IMAGE_SYMBOL_EX,UNALIGNED *PIMAGE_SYMBOL_EX; + +#define IMAGE_SYM_UNDEFINED (SHORT)0 +#define IMAGE_SYM_ABSOLUTE (SHORT)-1 +#define IMAGE_SYM_DEBUG (SHORT)-2 +#define IMAGE_SYM_SECTION_MAX 0xFEFF +#define IMAGE_SYM_SECTION_MAX_EX MAXLONG + +#define IMAGE_SYM_TYPE_NULL 0x0000 +#define IMAGE_SYM_TYPE_VOID 0x0001 +#define IMAGE_SYM_TYPE_CHAR 0x0002 +#define IMAGE_SYM_TYPE_SHORT 0x0003 +#define IMAGE_SYM_TYPE_INT 0x0004 +#define IMAGE_SYM_TYPE_LONG 0x0005 +#define IMAGE_SYM_TYPE_FLOAT 0x0006 +#define IMAGE_SYM_TYPE_DOUBLE 0x0007 +#define IMAGE_SYM_TYPE_STRUCT 0x0008 +#define IMAGE_SYM_TYPE_UNION 0x0009 +#define IMAGE_SYM_TYPE_ENUM 0x000A +#define IMAGE_SYM_TYPE_MOE 0x000B +#define IMAGE_SYM_TYPE_BYTE 0x000C +#define IMAGE_SYM_TYPE_WORD 0x000D +#define IMAGE_SYM_TYPE_UINT 0x000E +#define IMAGE_SYM_TYPE_DWORD 0x000F +#define IMAGE_SYM_TYPE_PCODE 0x8000 + +#define IMAGE_SYM_DTYPE_NULL 0 +#define IMAGE_SYM_DTYPE_POINTER 1 +#define IMAGE_SYM_DTYPE_FUNCTION 2 +#define IMAGE_SYM_DTYPE_ARRAY 3 + +#define IMAGE_SYM_CLASS_END_OF_FUNCTION (BYTE)-1 +#define IMAGE_SYM_CLASS_NULL 0x0000 +#define IMAGE_SYM_CLASS_AUTOMATIC 0x0001 +#define IMAGE_SYM_CLASS_EXTERNAL 0x0002 +#define IMAGE_SYM_CLASS_STATIC 0x0003 +#define IMAGE_SYM_CLASS_REGISTER 0x0004 +#define IMAGE_SYM_CLASS_EXTERNAL_DEF 0x0005 +#define IMAGE_SYM_CLASS_LABEL 0x0006 +#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 0x0007 +#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 0x0008 +#define IMAGE_SYM_CLASS_ARGUMENT 0x0009 +#define IMAGE_SYM_CLASS_STRUCT_TAG 0x000A +#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 0x000B +#define IMAGE_SYM_CLASS_UNION_TAG 0x000C +#define IMAGE_SYM_CLASS_TYPE_DEFINITION 0x000D +#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 0x000E +#define IMAGE_SYM_CLASS_ENUM_TAG 0x000F +#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 0x0010 +#define IMAGE_SYM_CLASS_REGISTER_PARAM 0x0011 +#define IMAGE_SYM_CLASS_BIT_FIELD 0x0012 +#define IMAGE_SYM_CLASS_FAR_EXTERNAL 0x0044 +#define IMAGE_SYM_CLASS_BLOCK 0x0064 +#define IMAGE_SYM_CLASS_FUNCTION 0x0065 +#define IMAGE_SYM_CLASS_END_OF_STRUCT 0x0066 +#define IMAGE_SYM_CLASS_FILE 0x0067 +#define IMAGE_SYM_CLASS_SECTION 0x0068 +#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 0x0069 +#define IMAGE_SYM_CLASS_CLR_TOKEN 0x006B + +#define N_BTMASK 0x000F +#define N_TMASK 0x0030 +#define N_TMASK1 0x00C0 +#define N_TMASK2 0x00F0 +#define N_BTSHFT 4 +#define N_TSHIFT 2 + +#define BTYPE(x) ((x) & N_BTMASK) + +#ifndef ISPTR +#define ISPTR(x) (((x) & N_TMASK)==(IMAGE_SYM_DTYPE_POINTER << N_BTSHFT)) +#endif + +#ifndef ISFCN +#define ISFCN(x) (((x) & N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT)) +#endif + +#ifndef ISARY +#define ISARY(x) (((x) & N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT)) +#endif + +#ifndef ISTAG +#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG || (x)==IMAGE_SYM_CLASS_UNION_TAG || (x)==IMAGE_SYM_CLASS_ENUM_TAG) +#endif + +#ifndef INCREF +#define INCREF(x) ((((x)&~N_BTMASK)<>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK)) +#endif + +#include + typedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF { + BYTE bAuxType; + BYTE bReserved; + DWORD SymbolTableIndex; + BYTE rgbReserved[12]; + } IMAGE_AUX_SYMBOL_TOKEN_DEF,UNALIGNED *PIMAGE_AUX_SYMBOL_TOKEN_DEF; +#include + + typedef union _IMAGE_AUX_SYMBOL { + struct { + DWORD TagIndex; + union { + struct { + WORD Linenumber; + WORD Size; + } LnSz; + DWORD TotalSize; + } Misc; + union { + struct { + DWORD PointerToLinenumber; + DWORD PointerToNextFunction; + } Function; + struct { + WORD Dimension[4]; + } Array; + } FcnAry; + WORD TvIndex; + } Sym; + struct { + BYTE Name[IMAGE_SIZEOF_SYMBOL]; + } File; + struct { + DWORD Length; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD CheckSum; + SHORT Number; + BYTE Selection; + } Section; + IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef; + struct { + DWORD crc; + BYTE rgbReserved[14]; + } CRC; + } IMAGE_AUX_SYMBOL,UNALIGNED *PIMAGE_AUX_SYMBOL; + + typedef union _IMAGE_AUX_SYMBOL_EX { + struct { + DWORD WeakDefaultSymIndex; + DWORD WeakSearchType; + BYTE rgbReserved[12]; + } Sym; + struct { + BYTE Name[sizeof (IMAGE_SYMBOL_EX)]; + } File; + struct { + DWORD Length; + WORD NumberOfRelocations; + WORD NumberOfLinenumbers; + DWORD CheckSum; + SHORT Number; + BYTE Selection; + BYTE bReserved; + SHORT HighNumber; + BYTE rgbReserved[2]; + } Section; + __C89_NAMELESS struct { + IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef; + BYTE rgbReserved[2]; + }; + struct { + DWORD crc; + BYTE rgbReserved[16]; + } CRC; + } IMAGE_AUX_SYMBOL_EX,UNALIGNED *PIMAGE_AUX_SYMBOL_EX; + +#define IMAGE_SIZEOF_AUX_SYMBOL 18 + + typedef enum IMAGE_AUX_SYMBOL_TYPE { + IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1 + } IMAGE_AUX_SYMBOL_TYPE; + +#define IMAGE_COMDAT_SELECT_NODUPLICATES 1 +#define IMAGE_COMDAT_SELECT_ANY 2 +#define IMAGE_COMDAT_SELECT_SAME_SIZE 3 +#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4 +#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5 +#define IMAGE_COMDAT_SELECT_LARGEST 6 +#define IMAGE_COMDAT_SELECT_NEWEST 7 + +#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1 +#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2 +#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3 + + typedef struct _IMAGE_RELOCATION { + __C89_NAMELESS union { + DWORD VirtualAddress; + DWORD RelocCount; + } DUMMYUNIONNAME; + DWORD SymbolTableIndex; + WORD Type; + } IMAGE_RELOCATION; + typedef IMAGE_RELOCATION UNALIGNED *PIMAGE_RELOCATION; + +#define IMAGE_SIZEOF_RELOCATION 10 + +#define IMAGE_REL_I386_ABSOLUTE 0x0000 +#define IMAGE_REL_I386_DIR16 0x0001 +#define IMAGE_REL_I386_REL16 0x0002 +#define IMAGE_REL_I386_DIR32 0x0006 +#define IMAGE_REL_I386_DIR32NB 0x0007 +#define IMAGE_REL_I386_SEG12 0x0009 +#define IMAGE_REL_I386_SECTION 0x000A +#define IMAGE_REL_I386_SECREL 0x000B +#define IMAGE_REL_I386_TOKEN 0x000C +#define IMAGE_REL_I386_SECREL7 0x000D +#define IMAGE_REL_I386_REL32 0x0014 + +#define IMAGE_REL_MIPS_ABSOLUTE 0x0000 +#define IMAGE_REL_MIPS_REFHALF 0x0001 +#define IMAGE_REL_MIPS_REFWORD 0x0002 +#define IMAGE_REL_MIPS_JMPADDR 0x0003 +#define IMAGE_REL_MIPS_REFHI 0x0004 +#define IMAGE_REL_MIPS_REFLO 0x0005 +#define IMAGE_REL_MIPS_GPREL 0x0006 +#define IMAGE_REL_MIPS_LITERAL 0x0007 +#define IMAGE_REL_MIPS_SECTION 0x000A +#define IMAGE_REL_MIPS_SECREL 0x000B +#define IMAGE_REL_MIPS_SECRELLO 0x000C +#define IMAGE_REL_MIPS_SECRELHI 0x000D +#define IMAGE_REL_MIPS_TOKEN 0x000E +#define IMAGE_REL_MIPS_JMPADDR16 0x0010 +#define IMAGE_REL_MIPS_REFWORDNB 0x0022 +#define IMAGE_REL_MIPS_PAIR 0x0025 + +#define IMAGE_REL_ALPHA_ABSOLUTE 0x0000 +#define IMAGE_REL_ALPHA_REFLONG 0x0001 +#define IMAGE_REL_ALPHA_REFQUAD 0x0002 +#define IMAGE_REL_ALPHA_GPREL32 0x0003 +#define IMAGE_REL_ALPHA_LITERAL 0x0004 +#define IMAGE_REL_ALPHA_LITUSE 0x0005 +#define IMAGE_REL_ALPHA_GPDISP 0x0006 +#define IMAGE_REL_ALPHA_BRADDR 0x0007 +#define IMAGE_REL_ALPHA_HINT 0x0008 +#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x0009 +#define IMAGE_REL_ALPHA_REFHI 0x000A +#define IMAGE_REL_ALPHA_REFLO 0x000B +#define IMAGE_REL_ALPHA_PAIR 0x000C +#define IMAGE_REL_ALPHA_MATCH 0x000D +#define IMAGE_REL_ALPHA_SECTION 0x000E +#define IMAGE_REL_ALPHA_SECREL 0x000F +#define IMAGE_REL_ALPHA_REFLONGNB 0x0010 +#define IMAGE_REL_ALPHA_SECRELLO 0x0011 +#define IMAGE_REL_ALPHA_SECRELHI 0x0012 +#define IMAGE_REL_ALPHA_REFQ3 0x0013 +#define IMAGE_REL_ALPHA_REFQ2 0x0014 +#define IMAGE_REL_ALPHA_REFQ1 0x0015 +#define IMAGE_REL_ALPHA_GPRELLO 0x0016 +#define IMAGE_REL_ALPHA_GPRELHI 0x0017 + +#define IMAGE_REL_PPC_ABSOLUTE 0x0000 +#define IMAGE_REL_PPC_ADDR64 0x0001 +#define IMAGE_REL_PPC_ADDR32 0x0002 +#define IMAGE_REL_PPC_ADDR24 0x0003 +#define IMAGE_REL_PPC_ADDR16 0x0004 +#define IMAGE_REL_PPC_ADDR14 0x0005 +#define IMAGE_REL_PPC_REL24 0x0006 +#define IMAGE_REL_PPC_REL14 0x0007 +#define IMAGE_REL_PPC_TOCREL16 0x0008 +#define IMAGE_REL_PPC_TOCREL14 0x0009 +#define IMAGE_REL_PPC_ADDR32NB 0x000A +#define IMAGE_REL_PPC_SECREL 0x000B +#define IMAGE_REL_PPC_SECTION 0x000C +#define IMAGE_REL_PPC_IFGLUE 0x000D +#define IMAGE_REL_PPC_IMGLUE 0x000E +#define IMAGE_REL_PPC_SECREL16 0x000F +#define IMAGE_REL_PPC_REFHI 0x0010 +#define IMAGE_REL_PPC_REFLO 0x0011 +#define IMAGE_REL_PPC_PAIR 0x0012 +#define IMAGE_REL_PPC_SECRELLO 0x0013 +#define IMAGE_REL_PPC_SECRELHI 0x0014 +#define IMAGE_REL_PPC_GPREL 0x0015 +#define IMAGE_REL_PPC_TOKEN 0x0016 +#define IMAGE_REL_PPC_TYPEMASK 0x00FF +#define IMAGE_REL_PPC_NEG 0x0100 +#define IMAGE_REL_PPC_BRTAKEN 0x0200 +#define IMAGE_REL_PPC_BRNTAKEN 0x0400 +#define IMAGE_REL_PPC_TOCDEFN 0x0800 + +#define IMAGE_REL_SH3_ABSOLUTE 0x0000 +#define IMAGE_REL_SH3_DIRECT16 0x0001 +#define IMAGE_REL_SH3_DIRECT32 0x0002 +#define IMAGE_REL_SH3_DIRECT8 0x0003 +#define IMAGE_REL_SH3_DIRECT8_WORD 0x0004 +#define IMAGE_REL_SH3_DIRECT8_LONG 0x0005 +#define IMAGE_REL_SH3_DIRECT4 0x0006 +#define IMAGE_REL_SH3_DIRECT4_WORD 0x0007 +#define IMAGE_REL_SH3_DIRECT4_LONG 0x0008 +#define IMAGE_REL_SH3_PCREL8_WORD 0x0009 +#define IMAGE_REL_SH3_PCREL8_LONG 0x000A +#define IMAGE_REL_SH3_PCREL12_WORD 0x000B +#define IMAGE_REL_SH3_STARTOF_SECTION 0x000C +#define IMAGE_REL_SH3_SIZEOF_SECTION 0x000D +#define IMAGE_REL_SH3_SECTION 0x000E +#define IMAGE_REL_SH3_SECREL 0x000F +#define IMAGE_REL_SH3_DIRECT32_NB 0x0010 +#define IMAGE_REL_SH3_GPREL4_LONG 0x0011 +#define IMAGE_REL_SH3_TOKEN 0x0012 + +#define IMAGE_REL_SHM_PCRELPT 0x0013 +#define IMAGE_REL_SHM_REFLO 0x0014 +#define IMAGE_REL_SHM_REFHALF 0x0015 +#define IMAGE_REL_SHM_RELLO 0x0016 +#define IMAGE_REL_SHM_RELHALF 0x0017 +#define IMAGE_REL_SHM_PAIR 0x0018 + +#define IMAGE_REL_SH_NOMODE 0x8000 + +#define IMAGE_REL_ARM_ABSOLUTE 0x0000 +#define IMAGE_REL_ARM_ADDR32 0x0001 +#define IMAGE_REL_ARM_ADDR32NB 0x0002 +#define IMAGE_REL_ARM_BRANCH24 0x0003 +#define IMAGE_REL_ARM_BRANCH11 0x0004 +#define IMAGE_REL_ARM_TOKEN 0x0005 +#define IMAGE_REL_ARM_GPREL12 0x0006 +#define IMAGE_REL_ARM_GPREL7 0x0007 +#define IMAGE_REL_ARM_BLX24 0x0008 +#define IMAGE_REL_ARM_BLX11 0x0009 +#define IMAGE_REL_ARM_SECTION 0x000E +#define IMAGE_REL_ARM_SECREL 0x000F +#define IMAGE_REL_ARM_MOV32A 0x0010 +#define IMAGE_REL_ARM_MOV32 0x0010 +#define IMAGE_REL_ARM_MOV32T 0x0011 +#define IMAGE_REL_THUMB_MOV32 0x0011 +#define IMAGE_REL_ARM_BRANCH20T 0x0012 +#define IMAGE_REL_THUMB_BRANCH20 0x0012 +#define IMAGE_REL_ARM_BRANCH24T 0x0014 +#define IMAGE_REL_THUMB_BRANCH24 0x0014 +#define IMAGE_REL_ARM_BLX23T 0x0015 +#define IMAGE_REL_THUMB_BLX23 0x0015 + +#define IMAGE_REL_AM_ABSOLUTE 0x0000 +#define IMAGE_REL_AM_ADDR32 0x0001 +#define IMAGE_REL_AM_ADDR32NB 0x0002 +#define IMAGE_REL_AM_CALL32 0x0003 +#define IMAGE_REL_AM_FUNCINFO 0x0004 +#define IMAGE_REL_AM_REL32_1 0x0005 +#define IMAGE_REL_AM_REL32_2 0x0006 +#define IMAGE_REL_AM_SECREL 0x0007 +#define IMAGE_REL_AM_SECTION 0x0008 +#define IMAGE_REL_AM_TOKEN 0x0009 + +#define IMAGE_REL_AMD64_ABSOLUTE 0x0000 +#define IMAGE_REL_AMD64_ADDR64 0x0001 +#define IMAGE_REL_AMD64_ADDR32 0x0002 +#define IMAGE_REL_AMD64_ADDR32NB 0x0003 +#define IMAGE_REL_AMD64_REL32 0x0004 +#define IMAGE_REL_AMD64_REL32_1 0x0005 +#define IMAGE_REL_AMD64_REL32_2 0x0006 +#define IMAGE_REL_AMD64_REL32_3 0x0007 +#define IMAGE_REL_AMD64_REL32_4 0x0008 +#define IMAGE_REL_AMD64_REL32_5 0x0009 +#define IMAGE_REL_AMD64_SECTION 0x000A +#define IMAGE_REL_AMD64_SECREL 0x000B +#define IMAGE_REL_AMD64_SECREL7 0x000C +#define IMAGE_REL_AMD64_TOKEN 0x000D +#define IMAGE_REL_AMD64_SREL32 0x000E +#define IMAGE_REL_AMD64_PAIR 0x000F +#define IMAGE_REL_AMD64_SSPAN32 0x0010 + +#define IMAGE_REL_IA64_ABSOLUTE 0x0000 +#define IMAGE_REL_IA64_IMM14 0x0001 +#define IMAGE_REL_IA64_IMM22 0x0002 +#define IMAGE_REL_IA64_IMM64 0x0003 +#define IMAGE_REL_IA64_DIR32 0x0004 +#define IMAGE_REL_IA64_DIR64 0x0005 +#define IMAGE_REL_IA64_PCREL21B 0x0006 +#define IMAGE_REL_IA64_PCREL21M 0x0007 +#define IMAGE_REL_IA64_PCREL21F 0x0008 +#define IMAGE_REL_IA64_GPREL22 0x0009 +#define IMAGE_REL_IA64_LTOFF22 0x000A +#define IMAGE_REL_IA64_SECTION 0x000B +#define IMAGE_REL_IA64_SECREL22 0x000C +#define IMAGE_REL_IA64_SECREL64I 0x000D +#define IMAGE_REL_IA64_SECREL32 0x000E + +#define IMAGE_REL_IA64_DIR32NB 0x0010 +#define IMAGE_REL_IA64_SREL14 0x0011 +#define IMAGE_REL_IA64_SREL22 0x0012 +#define IMAGE_REL_IA64_SREL32 0x0013 +#define IMAGE_REL_IA64_UREL32 0x0014 +#define IMAGE_REL_IA64_PCREL60X 0x0015 +#define IMAGE_REL_IA64_PCREL60B 0x0016 +#define IMAGE_REL_IA64_PCREL60F 0x0017 +#define IMAGE_REL_IA64_PCREL60I 0x0018 +#define IMAGE_REL_IA64_PCREL60M 0x0019 +#define IMAGE_REL_IA64_IMMGPREL64 0x001A +#define IMAGE_REL_IA64_TOKEN 0x001B +#define IMAGE_REL_IA64_GPREL32 0x001C +#define IMAGE_REL_IA64_ADDEND 0x001F + +#define IMAGE_REL_CEF_ABSOLUTE 0x0000 +#define IMAGE_REL_CEF_ADDR32 0x0001 +#define IMAGE_REL_CEF_ADDR64 0x0002 +#define IMAGE_REL_CEF_ADDR32NB 0x0003 +#define IMAGE_REL_CEF_SECTION 0x0004 +#define IMAGE_REL_CEF_SECREL 0x0005 +#define IMAGE_REL_CEF_TOKEN 0x0006 + +#define IMAGE_REL_CEE_ABSOLUTE 0x0000 +#define IMAGE_REL_CEE_ADDR32 0x0001 +#define IMAGE_REL_CEE_ADDR64 0x0002 +#define IMAGE_REL_CEE_ADDR32NB 0x0003 +#define IMAGE_REL_CEE_SECTION 0x0004 +#define IMAGE_REL_CEE_SECREL 0x0005 +#define IMAGE_REL_CEE_TOKEN 0x0006 + +#define IMAGE_REL_M32R_ABSOLUTE 0x0000 +#define IMAGE_REL_M32R_ADDR32 0x0001 +#define IMAGE_REL_M32R_ADDR32NB 0x0002 +#define IMAGE_REL_M32R_ADDR24 0x0003 +#define IMAGE_REL_M32R_GPREL16 0x0004 +#define IMAGE_REL_M32R_PCREL24 0x0005 +#define IMAGE_REL_M32R_PCREL16 0x0006 +#define IMAGE_REL_M32R_PCREL8 0x0007 +#define IMAGE_REL_M32R_REFHALF 0x0008 +#define IMAGE_REL_M32R_REFHI 0x0009 +#define IMAGE_REL_M32R_REFLO 0x000A +#define IMAGE_REL_M32R_PAIR 0x000B +#define IMAGE_REL_M32R_SECTION 0x000C +#define IMAGE_REL_M32R_SECREL32 0x000D +#define IMAGE_REL_M32R_TOKEN 0x000E + +#define IMAGE_REL_EBC_ABSOLUTE 0x0000 +#define IMAGE_REL_EBC_ADDR32NB 0x0001 +#define IMAGE_REL_EBC_REL32 0x0002 +#define IMAGE_REL_EBC_SECTION 0x0003 +#define IMAGE_REL_EBC_SECREL 0x0004 + +#define EXT_IMM64(Value,Address,Size,InstPos,ValPos) Value |= (((ULONGLONG)((*(Address) >> InstPos) & (((ULONGLONG)1 << Size) - 1))) << ValPos) +#define INS_IMM64(Value,Address,Size,InstPos,ValPos) *(PDWORD)Address = (*(PDWORD)Address & ~(((1 << Size) - 1) << InstPos)) | ((DWORD)((((ULONGLONG)Value >> ValPos) & (((ULONGLONG)1 << Size) - 1))) << InstPos) + +#define EMARCH_ENC_I17_IMM7B_INST_WORD_X 3 +#define EMARCH_ENC_I17_IMM7B_SIZE_X 7 +#define EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X 4 +#define EMARCH_ENC_I17_IMM7B_VAL_POS_X 0 + +#define EMARCH_ENC_I17_IMM9D_INST_WORD_X 3 +#define EMARCH_ENC_I17_IMM9D_SIZE_X 9 +#define EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X 18 +#define EMARCH_ENC_I17_IMM9D_VAL_POS_X 7 + +#define EMARCH_ENC_I17_IMM5C_INST_WORD_X 3 +#define EMARCH_ENC_I17_IMM5C_SIZE_X 5 +#define EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X 13 +#define EMARCH_ENC_I17_IMM5C_VAL_POS_X 16 + +#define EMARCH_ENC_I17_IC_INST_WORD_X 3 +#define EMARCH_ENC_I17_IC_SIZE_X 1 +#define EMARCH_ENC_I17_IC_INST_WORD_POS_X 12 +#define EMARCH_ENC_I17_IC_VAL_POS_X 21 + +#define EMARCH_ENC_I17_IMM41a_INST_WORD_X 1 +#define EMARCH_ENC_I17_IMM41a_SIZE_X 10 +#define EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X 14 +#define EMARCH_ENC_I17_IMM41a_VAL_POS_X 22 + +#define EMARCH_ENC_I17_IMM41b_INST_WORD_X 1 +#define EMARCH_ENC_I17_IMM41b_SIZE_X 8 +#define EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X 24 +#define EMARCH_ENC_I17_IMM41b_VAL_POS_X 32 + +#define EMARCH_ENC_I17_IMM41c_INST_WORD_X 2 +#define EMARCH_ENC_I17_IMM41c_SIZE_X 23 +#define EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X 0 +#define EMARCH_ENC_I17_IMM41c_VAL_POS_X 40 + +#define EMARCH_ENC_I17_SIGN_INST_WORD_X 3 +#define EMARCH_ENC_I17_SIGN_SIZE_X 1 +#define EMARCH_ENC_I17_SIGN_INST_WORD_POS_X 27 +#define EMARCH_ENC_I17_SIGN_VAL_POS_X 63 + +#define X3_OPCODE_INST_WORD_X 3 +#define X3_OPCODE_SIZE_X 4 +#define X3_OPCODE_INST_WORD_POS_X 28 +#define X3_OPCODE_SIGN_VAL_POS_X 0 + +#define X3_I_INST_WORD_X 3 +#define X3_I_SIZE_X 1 +#define X3_I_INST_WORD_POS_X 27 +#define X3_I_SIGN_VAL_POS_X 59 + +#define X3_D_WH_INST_WORD_X 3 +#define X3_D_WH_SIZE_X 3 +#define X3_D_WH_INST_WORD_POS_X 24 +#define X3_D_WH_SIGN_VAL_POS_X 0 + +#define X3_IMM20_INST_WORD_X 3 +#define X3_IMM20_SIZE_X 20 +#define X3_IMM20_INST_WORD_POS_X 4 +#define X3_IMM20_SIGN_VAL_POS_X 0 + +#define X3_IMM39_1_INST_WORD_X 2 +#define X3_IMM39_1_SIZE_X 23 +#define X3_IMM39_1_INST_WORD_POS_X 0 +#define X3_IMM39_1_SIGN_VAL_POS_X 36 + +#define X3_IMM39_2_INST_WORD_X 1 +#define X3_IMM39_2_SIZE_X 16 +#define X3_IMM39_2_INST_WORD_POS_X 16 +#define X3_IMM39_2_SIGN_VAL_POS_X 20 + +#define X3_P_INST_WORD_X 3 +#define X3_P_SIZE_X 4 +#define X3_P_INST_WORD_POS_X 0 +#define X3_P_SIGN_VAL_POS_X 0 + +#define X3_TMPLT_INST_WORD_X 0 +#define X3_TMPLT_SIZE_X 4 +#define X3_TMPLT_INST_WORD_POS_X 0 +#define X3_TMPLT_SIGN_VAL_POS_X 0 + +#define X3_BTYPE_QP_INST_WORD_X 2 +#define X3_BTYPE_QP_SIZE_X 9 +#define X3_BTYPE_QP_INST_WORD_POS_X 23 +#define X3_BTYPE_QP_INST_VAL_POS_X 0 + +#define X3_EMPTY_INST_WORD_X 1 +#define X3_EMPTY_SIZE_X 2 +#define X3_EMPTY_INST_WORD_POS_X 14 +#define X3_EMPTY_INST_VAL_POS_X 0 + + typedef struct _IMAGE_LINENUMBER { + union { + DWORD SymbolTableIndex; + DWORD VirtualAddress; + } Type; + WORD Linenumber; + } IMAGE_LINENUMBER; + typedef IMAGE_LINENUMBER UNALIGNED *PIMAGE_LINENUMBER; + +#define IMAGE_SIZEOF_LINENUMBER 6 + +#include "poppack.h" + + typedef struct _IMAGE_BASE_RELOCATION { + DWORD VirtualAddress; + DWORD SizeOfBlock; + } IMAGE_BASE_RELOCATION; + typedef IMAGE_BASE_RELOCATION UNALIGNED *PIMAGE_BASE_RELOCATION; + +#define IMAGE_SIZEOF_BASE_RELOCATION 8 + +#define IMAGE_REL_BASED_ABSOLUTE 0 +#define IMAGE_REL_BASED_HIGH 1 +#define IMAGE_REL_BASED_LOW 2 +#define IMAGE_REL_BASED_HIGHLOW 3 +#define IMAGE_REL_BASED_HIGHADJ 4 +#define IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define IMAGE_REL_BASED_ARM_MOV32 5 +#define IMAGE_REL_BASED_THUMB_MOV32 7 +#define IMAGE_REL_BASED_MIPS_JMPADDR16 9 +#define IMAGE_REL_BASED_IA64_IMM64 9 +#define IMAGE_REL_BASED_DIR64 10 + +#define IMAGE_ARCHIVE_START_SIZE 8 +#define IMAGE_ARCHIVE_START "!\n" +#define IMAGE_ARCHIVE_END "`\n" +#define IMAGE_ARCHIVE_PAD "\n" +#define IMAGE_ARCHIVE_LINKER_MEMBER "/ " +#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// " + + typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER { + BYTE Name[16]; + BYTE Date[12]; + BYTE UserID[6]; + BYTE GroupID[6]; + BYTE Mode[8]; + BYTE Size[10]; + BYTE EndHeader[2]; + } IMAGE_ARCHIVE_MEMBER_HEADER,*PIMAGE_ARCHIVE_MEMBER_HEADER; + +#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60 + + typedef struct _IMAGE_EXPORT_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD Name; + DWORD Base; + DWORD NumberOfFunctions; + DWORD NumberOfNames; + DWORD AddressOfFunctions; + DWORD AddressOfNames; + DWORD AddressOfNameOrdinals; + } IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY; + + typedef struct _IMAGE_IMPORT_BY_NAME { + WORD Hint; + CHAR Name[1]; + } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; + +#include "pshpack8.h" + + typedef struct _IMAGE_THUNK_DATA64 { + union { + ULONGLONG ForwarderString; + ULONGLONG Function; + ULONGLONG Ordinal; + ULONGLONG AddressOfData; + } u1; + } IMAGE_THUNK_DATA64; + typedef IMAGE_THUNK_DATA64 *PIMAGE_THUNK_DATA64; + +#include "poppack.h" + + typedef struct _IMAGE_THUNK_DATA32 { + union { + DWORD ForwarderString; + DWORD Function; + DWORD Ordinal; + DWORD AddressOfData; + } u1; + } IMAGE_THUNK_DATA32; + typedef IMAGE_THUNK_DATA32 *PIMAGE_THUNK_DATA32; + +#define IMAGE_ORDINAL_FLAG64 0x8000000000000000ull +#define IMAGE_ORDINAL_FLAG32 0x80000000 +#define IMAGE_ORDINAL64(Ordinal) (Ordinal & 0xffffull) +#define IMAGE_ORDINAL32(Ordinal) (Ordinal & 0xffff) +#define IMAGE_SNAP_BY_ORDINAL64(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG64)!=0) +#define IMAGE_SNAP_BY_ORDINAL32(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG32)!=0) + + typedef VOID (NTAPI *PIMAGE_TLS_CALLBACK)(PVOID DllHandle,DWORD Reason,PVOID Reserved); + + typedef struct _IMAGE_TLS_DIRECTORY64 { + ULONGLONG StartAddressOfRawData; + ULONGLONG EndAddressOfRawData; + ULONGLONG AddressOfIndex; + ULONGLONG AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; + } IMAGE_TLS_DIRECTORY64; + typedef IMAGE_TLS_DIRECTORY64 *PIMAGE_TLS_DIRECTORY64; + + typedef struct _IMAGE_TLS_DIRECTORY32 { + DWORD StartAddressOfRawData; + DWORD EndAddressOfRawData; + DWORD AddressOfIndex; + DWORD AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; + } IMAGE_TLS_DIRECTORY32; + typedef IMAGE_TLS_DIRECTORY32 *PIMAGE_TLS_DIRECTORY32; + +#ifdef _WIN64 +#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG64 +#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL64(Ordinal) + typedef IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; + typedef PIMAGE_THUNK_DATA64 PIMAGE_THUNK_DATA; +#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL64(Ordinal) + typedef IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; + typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY; +#else /* _WIN64 */ +#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG32 +#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL32(Ordinal) + typedef IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; + typedef PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; +#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL32(Ordinal) + typedef IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; + typedef PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; +#endif /* _WIN64 */ + + typedef struct _IMAGE_IMPORT_DESCRIPTOR { + __C89_NAMELESS union { + DWORD Characteristics; + DWORD OriginalFirstThunk; + } DUMMYUNIONNAME; + DWORD TimeDateStamp; + + DWORD ForwarderChain; + DWORD Name; + DWORD FirstThunk; + } IMAGE_IMPORT_DESCRIPTOR; + typedef IMAGE_IMPORT_DESCRIPTOR UNALIGNED *PIMAGE_IMPORT_DESCRIPTOR; + + typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { + DWORD TimeDateStamp; + WORD OffsetModuleName; + WORD NumberOfModuleForwarderRefs; + } IMAGE_BOUND_IMPORT_DESCRIPTOR,*PIMAGE_BOUND_IMPORT_DESCRIPTOR; + + typedef struct _IMAGE_BOUND_FORWARDER_REF { + DWORD TimeDateStamp; + WORD OffsetModuleName; + WORD Reserved; + } IMAGE_BOUND_FORWARDER_REF,*PIMAGE_BOUND_FORWARDER_REF; + + typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR { + union { + DWORD AllAttributes; + __C89_NAMELESS struct { + DWORD RvaBased : 1; + DWORD ReservedAttributes : 31; + }; + } Attributes; + DWORD DllNameRVA; + DWORD ModuleHandleRVA; + DWORD ImportAddressTableRVA; + DWORD ImportNameTableRVA; + DWORD BoundImportAddressTableRVA; + DWORD UnloadInformationTableRVA; + DWORD TimeDateStamp; + } IMAGE_DELAYLOAD_DESCRIPTOR,*PIMAGE_DELAYLOAD_DESCRIPTOR; + typedef const IMAGE_DELAYLOAD_DESCRIPTOR *PCIMAGE_DELAYLOAD_DESCRIPTOR; + + typedef struct _IMAGE_RESOURCE_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + WORD NumberOfNamedEntries; + WORD NumberOfIdEntries; + } IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY; + +#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 +#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 + + typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { + __C89_NAMELESS union { + __C89_NAMELESS struct { + DWORD NameOffset:31; + DWORD NameIsString:1; + } DUMMYSTRUCTNAME; + DWORD Name; + WORD Id; + } DUMMYUNIONNAME; + __C89_NAMELESS union { + DWORD OffsetToData; + __C89_NAMELESS struct { + DWORD OffsetToDirectory:31; + DWORD DataIsDirectory:1; + } DUMMYSTRUCTNAME2; + } DUMMYUNIONNAME2; + } IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY; + + typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING { + WORD Length; + CHAR NameString[1]; + } IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING; + + typedef struct _IMAGE_RESOURCE_DIR_STRING_U { + WORD Length; + WCHAR NameString[1]; + } IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U; + + typedef struct _IMAGE_RESOURCE_DATA_ENTRY { + DWORD OffsetToData; + DWORD Size; + DWORD CodePage; + DWORD Reserved; + } IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY; + + typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { + WORD Flags; + WORD Catalog; + DWORD CatalogOffset; + DWORD Reserved; + } IMAGE_LOAD_CONFIG_CODE_INTEGRITY,*PIMAGE_LOAD_CONFIG_CODE_INTEGRITY; + + typedef struct { + DWORD Size; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD GlobalFlagsClear; + DWORD GlobalFlagsSet; + DWORD CriticalSectionDefaultTimeout; + DWORD DeCommitFreeBlockThreshold; + DWORD DeCommitTotalFreeThreshold; + DWORD LockPrefixTable; + DWORD MaximumAllocationSize; + DWORD VirtualMemoryThreshold; + DWORD ProcessHeapFlags; + DWORD ProcessAffinityMask; + WORD CSDVersion; + WORD DependentLoadFlags; + DWORD EditList; + DWORD SecurityCookie; + DWORD SEHandlerTable; + DWORD SEHandlerCount; + DWORD GuardCFCheckFunctionPointer; + DWORD GuardCFDispatchFunctionPointer; + DWORD GuardCFFunctionTable; + DWORD GuardCFFunctionCount; + DWORD GuardFlags; + IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; + DWORD GuardAddressTakenIatEntryTable; + DWORD GuardAddressTakenIatEntryCount; + DWORD GuardLongJumpTargetTable; + DWORD GuardLongJumpTargetCount; + DWORD DynamicValueRelocTable; + DWORD CHPEMetadataPointer; + DWORD GuardRFFailureRoutine; + DWORD GuardRFFailureRoutineFunctionPointer; + DWORD DynamicValueRelocTableOffset; + WORD DynamicValueRelocTableSection; + WORD Reserved2; + DWORD GuardRFVerifyStackPointerFunctionPointer; + DWORD HotPatchTableOffset; + DWORD Reserved3; + DWORD EnclaveConfigurationPointer; + DWORD VolatileMetadataPointer; + DWORD GuardEHContinuationTable; + DWORD GuardEHContinuationCount; + DWORD GuardXFGCheckFunctionPointer; + DWORD GuardXFGDispatchFunctionPointer; + DWORD GuardXFGTableDispatchFunctionPointer; + DWORD CastGuardOsDeterminedFailureMode; + DWORD GuardMemcpyFunctionPointer; + } IMAGE_LOAD_CONFIG_DIRECTORY32,*PIMAGE_LOAD_CONFIG_DIRECTORY32; + + typedef struct { + DWORD Size; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD GlobalFlagsClear; + DWORD GlobalFlagsSet; + DWORD CriticalSectionDefaultTimeout; + ULONGLONG DeCommitFreeBlockThreshold; + ULONGLONG DeCommitTotalFreeThreshold; + ULONGLONG LockPrefixTable; + ULONGLONG MaximumAllocationSize; + ULONGLONG VirtualMemoryThreshold; + ULONGLONG ProcessAffinityMask; + DWORD ProcessHeapFlags; + WORD CSDVersion; + WORD DependentLoadFlags; + ULONGLONG EditList; + ULONGLONG SecurityCookie; + ULONGLONG SEHandlerTable; + ULONGLONG SEHandlerCount; + ULONGLONG GuardCFCheckFunctionPointer; + ULONGLONG GuardCFDispatchFunctionPointer; + ULONGLONG GuardCFFunctionTable; + ULONGLONG GuardCFFunctionCount; + DWORD GuardFlags; + IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; + ULONGLONG GuardAddressTakenIatEntryTable; + ULONGLONG GuardAddressTakenIatEntryCount; + ULONGLONG GuardLongJumpTargetTable; + ULONGLONG GuardLongJumpTargetCount; + ULONGLONG DynamicValueRelocTable; + ULONGLONG CHPEMetadataPointer; + ULONGLONG GuardRFFailureRoutine; + ULONGLONG GuardRFFailureRoutineFunctionPointer; + DWORD DynamicValueRelocTableOffset; + WORD DynamicValueRelocTableSection; + WORD Reserved2; + ULONGLONG GuardRFVerifyStackPointerFunctionPointer; + DWORD HotPatchTableOffset; + DWORD Reserved3; + ULONGLONG EnclaveConfigurationPointer; + ULONGLONG VolatileMetadataPointer; + ULONGLONG GuardEHContinuationTable; + ULONGLONG GuardEHContinuationCount; + ULONGLONG GuardXFGCheckFunctionPointer; + ULONGLONG GuardXFGDispatchFunctionPointer; + ULONGLONG GuardXFGTableDispatchFunctionPointer; + ULONGLONG CastGuardOsDeterminedFailureMode; + ULONGLONG GuardMemcpyFunctionPointer; + } IMAGE_LOAD_CONFIG_DIRECTORY64,*PIMAGE_LOAD_CONFIG_DIRECTORY64; + +#ifdef _WIN64 + typedef IMAGE_LOAD_CONFIG_DIRECTORY64 IMAGE_LOAD_CONFIG_DIRECTORY; + typedef PIMAGE_LOAD_CONFIG_DIRECTORY64 PIMAGE_LOAD_CONFIG_DIRECTORY; +#else /* _WIN64 */ + typedef IMAGE_LOAD_CONFIG_DIRECTORY32 IMAGE_LOAD_CONFIG_DIRECTORY; + typedef PIMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY; +#endif /* _WIN64 */ + + typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { + DWORD FuncStart; + DWORD PrologLen : 8; + DWORD FuncLen : 22; + DWORD ThirtyTwoBit : 1; + DWORD ExceptionFlag : 1; + } IMAGE_CE_RUNTIME_FUNCTION_ENTRY,*PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; + + typedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { + ULONGLONG BeginAddress; + ULONGLONG EndAddress; + ULONGLONG ExceptionHandler; + ULONGLONG HandlerData; + ULONGLONG PrologEndAddress; + } IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; + + typedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + DWORD EndAddress; + DWORD ExceptionHandler; + DWORD HandlerData; + DWORD PrologEndAddress; + } IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; + + typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + __C89_NAMELESS union { + DWORD UnwindData; + __C89_NAMELESS struct { + DWORD Flag : 2; + DWORD FunctionLength : 11; + DWORD Ret : 2; + DWORD H : 1; + DWORD Reg : 3; + DWORD R : 1; + DWORD L : 1; + DWORD C : 1; + DWORD StackAdjust : 10; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + } IMAGE_ARM_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY; + + typedef enum ARM64_FNPDATA_FLAGS { + PdataRefToFullXdata = 0, + PdataPackedUnwindFunction = 1, + PdataPackedUnwindFragment = 2, + } ARM64_FNPDATA_FLAGS; + + typedef enum ARM64_FNPDATA_CR { + PdataCrUnchained = 0, + PdataCrUnchainedSavedLr = 1, + PdataCrChainedWithPac = 2, + PdataCrChained = 3, + } ARM64_FNPDATA_CR; + + typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + __C89_NAMELESS union { + DWORD UnwindData; + __C89_NAMELESS struct { + DWORD Flag : 2; + DWORD FunctionLength : 11; + DWORD RegF : 3; + DWORD RegI : 4; + DWORD H : 1; + DWORD CR : 2; + DWORD FrameSize : 9; + } DUMMYSTRUCTNAME; + } DUMMYUNIONNAME; + } IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY,*PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; + + typedef union IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA { + DWORD HeaderData; + __C89_NAMELESS struct { + DWORD FunctionLength : 18; + DWORD Version : 2; + DWORD ExceptionDataPresent : 1; + DWORD EpilogInHeader : 1; + DWORD EpilogCount : 5; + DWORD CodeWords : 5; + } DUMMYSTRUCTNAME; + } IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA; + + typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY { + DWORD BeginAddress; + DWORD EndAddress; + __C89_NAMELESS union { + DWORD UnwindInfoAddress; + DWORD UnwindData; + } DUMMYUNIONNAME; + } _IMAGE_RUNTIME_FUNCTION_ENTRY,*_PIMAGE_RUNTIME_FUNCTION_ENTRY; + + typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; + typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; + +#if defined (_AXP64_) + typedef IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_AXP64_RUNTIME_FUNCTION_ENTRY; + typedef PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY PIMAGE_AXP64_RUNTIME_FUNCTION_ENTRY; + typedef IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; + typedef PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; +#elif defined (_ALPHA_) + typedef IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; + typedef PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; +#elif defined (__arm__) + typedef IMAGE_ARM_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; + typedef PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; +#elif defined (__aarch64__) + typedef IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; + typedef PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; +#else + typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; + typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; +#endif + + typedef struct _IMAGE_DEBUG_DIRECTORY { + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD Type; + DWORD SizeOfData; + DWORD AddressOfRawData; + DWORD PointerToRawData; + } IMAGE_DEBUG_DIRECTORY,*PIMAGE_DEBUG_DIRECTORY; + +#define IMAGE_DEBUG_TYPE_UNKNOWN 0 +#define IMAGE_DEBUG_TYPE_COFF 1 +#define IMAGE_DEBUG_TYPE_CODEVIEW 2 +#define IMAGE_DEBUG_TYPE_FPO 3 +#define IMAGE_DEBUG_TYPE_MISC 4 +#define IMAGE_DEBUG_TYPE_EXCEPTION 5 +#define IMAGE_DEBUG_TYPE_FIXUP 6 +#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7 +#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8 +#define IMAGE_DEBUG_TYPE_BORLAND 9 +#define IMAGE_DEBUG_TYPE_RESERVED10 10 +#define IMAGE_DEBUG_TYPE_CLSID 11 + + typedef struct _IMAGE_COFF_SYMBOLS_HEADER { + DWORD NumberOfSymbols; + DWORD LvaToFirstSymbol; + DWORD NumberOfLinenumbers; + DWORD LvaToFirstLinenumber; + DWORD RvaToFirstByteOfCode; + DWORD RvaToLastByteOfCode; + DWORD RvaToFirstByteOfData; + DWORD RvaToLastByteOfData; + } IMAGE_COFF_SYMBOLS_HEADER,*PIMAGE_COFF_SYMBOLS_HEADER; + +#define FRAME_FPO 0 +#define FRAME_TRAP 1 +#define FRAME_TSS 2 +#define FRAME_NONFPO 3 + + typedef struct _FPO_DATA { + DWORD ulOffStart; + DWORD cbProcSize; + DWORD cdwLocals; + WORD cdwParams; + WORD cbProlog : 8; + WORD cbRegs : 3; + WORD fHasSEH : 1; + WORD fUseBP : 1; + WORD reserved : 1; + WORD cbFrame : 2; + } FPO_DATA,*PFPO_DATA; +#define SIZEOF_RFPO_DATA 16 + +#define IMAGE_DEBUG_MISC_EXENAME 1 + + typedef struct _IMAGE_DEBUG_MISC { + DWORD DataType; + DWORD Length; + BOOLEAN Unicode; + BYTE Reserved[3]; + BYTE Data[1]; + } IMAGE_DEBUG_MISC,*PIMAGE_DEBUG_MISC; + + typedef struct _IMAGE_FUNCTION_ENTRY { + DWORD StartingAddress; + DWORD EndingAddress; + DWORD EndOfPrologue; + } IMAGE_FUNCTION_ENTRY,*PIMAGE_FUNCTION_ENTRY; + + typedef struct _IMAGE_FUNCTION_ENTRY64 { + ULONGLONG StartingAddress; + ULONGLONG EndingAddress; + __C89_NAMELESS union { + ULONGLONG EndOfPrologue; + ULONGLONG UnwindInfoAddress; + } DUMMYUNIONNAME; + } IMAGE_FUNCTION_ENTRY64,*PIMAGE_FUNCTION_ENTRY64; + + typedef struct _IMAGE_SEPARATE_DEBUG_HEADER { + WORD Signature; + WORD Flags; + WORD Machine; + WORD Characteristics; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD ImageBase; + DWORD SizeOfImage; + DWORD NumberOfSections; + DWORD ExportedNamesSize; + DWORD DebugDirectorySize; + DWORD SectionAlignment; + DWORD Reserved[2]; + } IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER; + + typedef struct _NON_PAGED_DEBUG_INFO { + WORD Signature; + WORD Flags; + DWORD Size; + WORD Machine; + WORD Characteristics; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD SizeOfImage; + ULONGLONG ImageBase; + } NON_PAGED_DEBUG_INFO,*PNON_PAGED_DEBUG_INFO; + +#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944 +#define NON_PAGED_DEBUG_SIGNATURE 0x494E + +#define IMAGE_SEPARATE_DEBUG_FLAGS_MASK 0x8000 +#define IMAGE_SEPARATE_DEBUG_MISMATCH 0x8000 + + typedef struct _ImageArchitectureHeader { + unsigned int AmaskValue: 1; + int Adummy1 : 7; + unsigned int AmaskShift : 8; + int Adummy2 : 16; + DWORD FirstEntryRVA; + } IMAGE_ARCHITECTURE_HEADER,*PIMAGE_ARCHITECTURE_HEADER; + + typedef struct _ImageArchitectureEntry { + DWORD FixupInstRVA; + DWORD NewInst; + } IMAGE_ARCHITECTURE_ENTRY,*PIMAGE_ARCHITECTURE_ENTRY; +#include "poppack.h" + +#define IMPORT_OBJECT_HDR_SIG2 0xffff + + typedef struct IMPORT_OBJECT_HEADER { + WORD Sig1; + WORD Sig2; + WORD Version; + WORD Machine; + DWORD TimeDateStamp; + DWORD SizeOfData; + __C89_NAMELESS union { + WORD Ordinal; + WORD Hint; + }; + WORD Type : 2; + WORD NameType : 3; + WORD Reserved : 11; + } IMPORT_OBJECT_HEADER; + + typedef enum IMPORT_OBJECT_TYPE { + IMPORT_OBJECT_CODE = 0,IMPORT_OBJECT_DATA = 1,IMPORT_OBJECT_CONST = 2 + } IMPORT_OBJECT_TYPE; + + typedef enum IMPORT_OBJECT_NAME_TYPE { + IMPORT_OBJECT_ORDINAL = 0,IMPORT_OBJECT_NAME = 1,IMPORT_OBJECT_NAME_NO_PREFIX = 2,IMPORT_OBJECT_NAME_UNDECORATE = 3 + } IMPORT_OBJECT_NAME_TYPE; + +#ifndef __IMAGE_COR20_HEADER_DEFINED__ +#define __IMAGE_COR20_HEADER_DEFINED__ + typedef enum ReplacesCorHdrNumericDefines { + COMIMAGE_FLAGS_ILONLY = 0x00000001,COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002,COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, + COMIMAGE_FLAGS_STRONGNAMESIGNED = 0x00000008,COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000,COR_VERSION_MAJOR_V2 = 2, + COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2,COR_VERSION_MINOR = 0,COR_DELETED_NAME_LENGTH = 8,COR_VTABLEGAP_NAME_LENGTH = 8, + NATIVE_TYPE_MAX_CB = 1,COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE= 0xFF,IMAGE_COR_MIH_METHODRVA = 0x01,IMAGE_COR_MIH_EHRVA = 0x02, + IMAGE_COR_MIH_BASICBLOCK = 0x08,COR_VTABLE_32BIT =0x01,COR_VTABLE_64BIT =0x02,COR_VTABLE_FROM_UNMANAGED = 0x04, + COR_VTABLE_CALL_MOST_DERIVED = 0x10,IMAGE_COR_EATJ_THUNK_SIZE = 32,MAX_CLASS_NAME =1024,MAX_PACKAGE_NAME = 1024 + } ReplacesCorHdrNumericDefines; + + typedef struct IMAGE_COR20_HEADER { + DWORD cb; + WORD MajorRuntimeVersion; + WORD MinorRuntimeVersion; + IMAGE_DATA_DIRECTORY MetaData; + DWORD Flags; + __C89_NAMELESS union { + DWORD EntryPointToken; + DWORD EntryPointRVA; + } DUMMYUNIONNAME; + IMAGE_DATA_DIRECTORY Resources; + IMAGE_DATA_DIRECTORY StrongNameSignature; + IMAGE_DATA_DIRECTORY CodeManagerTable; + IMAGE_DATA_DIRECTORY VTableFixups; + IMAGE_DATA_DIRECTORY ExportAddressTableJumps; + IMAGE_DATA_DIRECTORY ManagedNativeHeader; + } IMAGE_COR20_HEADER,*PIMAGE_COR20_HEADER; +#endif + +#ifndef __i386__ + +#define UNWIND_HISTORY_TABLE_SIZE 12 + + typedef struct _UNWIND_HISTORY_TABLE_ENTRY { + ULONG_PTR ImageBase; + PRUNTIME_FUNCTION FunctionEntry; + } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; + + typedef struct _UNWIND_HISTORY_TABLE { + DWORD Count; + BYTE LocalHint; + BYTE GlobalHint; + BYTE Search; + BYTE Once; + ULONG_PTR LowAddress; + ULONG_PTR HighAddress; + UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; + } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; +#endif /* !__i386__ */ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + NTSYSAPI WORD NTAPI RtlCaptureStackBackTrace (DWORD FramesToSkip, DWORD FramesToCapture, PVOID *BackTrace, PDWORD BackTraceHash); +#endif +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + NTSYSAPI VOID NTAPI __attribute__((__returns_twice__)) RtlCaptureContext (PCONTEXT ContextRecord); + NTSYSAPI SIZE_T NTAPI RtlCompareMemory (const VOID *Source1, const VOID *Source2, SIZE_T Length); +#if defined (__x86_64__) +#if _WIN32_WINNT >= 0x0602 + NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable (PVOID *DynamicTable, PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD MaximumEntryCount, ULONG_PTR RangeBase, ULONG_PTR RangeEnd); + NTSYSAPI VOID NTAPI RtlGrowFunctionTable (PVOID DynamicTable, DWORD NewEntryCount); + NTSYSAPI VOID NTAPI RtlDeleteGrowableFunctionTable (PVOID DynamicTable); +#endif + NTSYSAPI BOOLEAN __cdecl RtlAddFunctionTable (PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD64 BaseAddress); + NTSYSAPI BOOLEAN __cdecl RtlDeleteFunctionTable (PRUNTIME_FUNCTION FunctionTable); + NTSYSAPI BOOLEAN __cdecl RtlInstallFunctionTableCallback (DWORD64 TableIdentifier, DWORD64 BaseAddress, DWORD Length, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll); + NTSYSAPI VOID __cdecl __MINGW_ATTRIB_NORETURN RtlRestoreContext (PCONTEXT ContextRecord, struct _EXCEPTION_RECORD *ExceptionRecord); +#endif +#if defined (__arm__) +#if _WIN32_WINNT >= 0x0602 + NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable (PVOID *DynamicTable, PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD MaximumEntryCount, ULONG_PTR RangeBase, ULONG_PTR RangeEnd); + NTSYSAPI VOID NTAPI RtlGrowFunctionTable (PVOID DynamicTable, DWORD NewEntryCount); + NTSYSAPI VOID NTAPI RtlDeleteGrowableFunctionTable (PVOID DynamicTable); +#endif + NTSYSAPI BOOLEAN __cdecl RtlAddFunctionTable (PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD BaseAddress); + NTSYSAPI BOOLEAN __cdecl RtlDeleteFunctionTable (PRUNTIME_FUNCTION FunctionTable); + NTSYSAPI BOOLEAN __cdecl RtlInstallFunctionTableCallback (DWORD TableIdentifier, DWORD BaseAddress, DWORD Length, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll); + NTSYSAPI VOID __cdecl RtlRestoreContext (PCONTEXT ContextRecord, struct _EXCEPTION_RECORD *ExceptionRecord); +#endif +#if defined (__aarch64__) + NTSYSAPI DWORD NTAPI RtlAddGrowableFunctionTable (PVOID *DynamicTable, PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD MaximumEntryCount, ULONG_PTR RangeBase, ULONG_PTR RangeEnd); + NTSYSAPI VOID NTAPI RtlGrowFunctionTable (PVOID DynamicTable, DWORD NewEntryCount); + NTSYSAPI VOID NTAPI RtlDeleteGrowableFunctionTable (PVOID DynamicTable); + NTSYSAPI BOOLEAN __cdecl RtlAddFunctionTable (PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, ULONG_PTR BaseAddress); + NTSYSAPI BOOLEAN __cdecl RtlDeleteFunctionTable (PRUNTIME_FUNCTION FunctionTable); + NTSYSAPI BOOLEAN __cdecl RtlInstallFunctionTableCallback (ULONG_PTR TableIdentifier, ULONG_PTR BaseAddress, DWORD Length, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll); + NTSYSAPI VOID __cdecl RtlRestoreContext (PCONTEXT ContextRecord, struct _EXCEPTION_RECORD *ExceptionRecord); +#endif +#if defined (__ia64__) + NTSYSAPI BOOLEAN NTAPI RtlAddFunctionTable (PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, ULONGLONG BaseAddress, ULONGLONG TargetGp); + NTSYSAPI BOOLEAN NTAPI RtlDeleteFunctionTable (PRUNTIME_FUNCTION FunctionTable); + NTSYSAPI BOOLEAN NTAPI RtlInstallFunctionTableCallback (DWORD64 TableIdentifier, DWORD64 BaseAddress, DWORD Length, DWORD64 TargetGp, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll); + NTSYSAPI VOID NTAPI RtlRestoreContext (PCONTEXT ContextRecord, struct _EXCEPTION_RECORD *ExceptionRecord); +#endif + +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + NTSYSAPI VOID NTAPI 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 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 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 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 ULONGLONG NTAPI RtlVirtualUnwind (ULONGLONG ImageBase, ULONGLONG ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PBOOLEAN InFunction, PFRAME_POINTERS EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers); +#endif +#endif + +#include + +#ifndef _SLIST_HEADER_ +#define _SLIST_HEADER_ + +#if defined (_WIN64) + typedef struct DECLSPEC_ALIGN (16) _SLIST_ENTRY { + struct _SLIST_ENTRY *Next; + } SLIST_ENTRY,*PSLIST_ENTRY; + + typedef union DECLSPEC_ALIGN (16) _SLIST_HEADER { + __C89_NAMELESS struct { + ULONGLONG Alignment; + ULONGLONG Region; + } DUMMYSTRUCTNAME; + struct { + ULONGLONG Depth:16; + ULONGLONG Sequence:9; + ULONGLONG NextEntry:39; + ULONGLONG HeaderType:1; + ULONGLONG Init:1; + ULONGLONG Reserved:59; + ULONGLONG Region:3; + } Header8; + struct { + ULONGLONG Depth:16; + ULONGLONG Sequence:48; + ULONGLONG HeaderType:1; + ULONGLONG Reserved:3; + ULONGLONG NextEntry:60; + } HeaderX64; + } SLIST_HEADER,*PSLIST_HEADER; +#else /* _WIN64 */ + typedef struct _SINGLE_LIST_ENTRY SLIST_ENTRY,*PSLIST_ENTRY; + + typedef union _SLIST_HEADER { + ULONGLONG Alignment; + __C89_NAMELESS struct { + SLIST_ENTRY Next; + WORD Depth; + WORD Sequence; + } DUMMYSTRUCTNAME; + } SLIST_HEADER,*PSLIST_HEADER; +#endif /* _WIN64 */ + +#endif /* _SLIST_HEADER_ */ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + NTSYSAPI VOID NTAPI RtlInitializeSListHead (PSLIST_HEADER ListHead); + NTSYSAPI PSLIST_ENTRY NTAPI RtlFirstEntrySList (const SLIST_HEADER *ListHead); + NTSYSAPI PSLIST_ENTRY NTAPI RtlInterlockedPopEntrySList (PSLIST_HEADER ListHead); + NTSYSAPI PSLIST_ENTRY NTAPI RtlInterlockedPushEntrySList (PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry); + NTSYSAPI PSLIST_ENTRY NTAPI RtlInterlockedPushListSListEx (PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, DWORD Count); + NTSYSAPI PSLIST_ENTRY NTAPI RtlInterlockedFlushSList (PSLIST_HEADER ListHead); + NTSYSAPI WORD NTAPI RtlQueryDepthSList (PSLIST_HEADER ListHead); +#endif + +#ifndef _RTL_RUN_ONCE_DEF +#define _RTL_RUN_ONCE_DEF 1 + +typedef struct _RTL_RUN_ONCE { PVOID Ptr; } RTL_RUN_ONCE, *PRTL_RUN_ONCE; +typedef DWORD (WINAPI *PRTL_RUN_ONCE_INIT_FN)(PRTL_RUN_ONCE, PVOID, PVOID *); + +#define RTL_RUN_ONCE_INIT {0} +#define RTL_RUN_ONCE_CHECK_ONLY __MSABI_LONG(1U) +#define RTL_RUN_ONCE_ASYNC __MSABI_LONG(2U) +#define RTL_RUN_ONCE_INIT_FAILED __MSABI_LONG(4U) +#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2 +#endif + + typedef struct _RTL_BARRIER { + DWORD Reserved1; + DWORD Reserved2; + ULONG_PTR Reserved3[2]; + DWORD Reserved4; + DWORD Reserved5; + } RTL_BARRIER,*PRTL_BARRIER; + +#define FAST_FAIL_LEGACY_GS_VIOLATION 0 +#define FAST_FAIL_VTGUARD_CHECK_FAILURE 1 +#define FAST_FAIL_STACK_COOKIE_CHECK_FAILURE 2 +#define FAST_FAIL_CORRUPT_LIST_ENTRY 3 +#define FAST_FAIL_INCORRECT_STACK 4 +#define FAST_FAIL_INVALID_ARG 5 +#define FAST_FAIL_GS_COOKIE_INIT 6 +#define FAST_FAIL_FATAL_APP_EXIT 7 +#define FAST_FAIL_RANGE_CHECK_FAILURE 8 +#define FAST_FAIL_UNSAFE_REGISTRY_ACCESS 9 +#define FAST_FAIL_INVALID_FAST_FAIL_CODE 0xffffffff + +#define HEAP_NO_SERIALIZE 0x00000001 +#define HEAP_GROWABLE 0x00000002 +#define HEAP_GENERATE_EXCEPTIONS 0x00000004 +#define HEAP_ZERO_MEMORY 0x00000008 +#define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010 +#define HEAP_TAIL_CHECKING_ENABLED 0x00000020 +#define HEAP_FREE_CHECKING_ENABLED 0x00000040 +#define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080 +#define HEAP_CREATE_ALIGN_16 0x00010000 +#define HEAP_CREATE_ENABLE_TRACING 0x00020000 +#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000 +#define HEAP_MAXIMUM_TAG 0x0FFF +#define HEAP_PSEUDO_TAG_FLAG 0x8000 +#define HEAP_TAG_SHIFT 18 + + PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt); + +#if !defined (__CRT__NO_INLINE) && !defined (__WIDL__) + __CRT_INLINE PVOID WINAPI RtlSecureZeroMemory(PVOID ptr,SIZE_T cnt) { + volatile char *vptr =(volatile char *)ptr; +#if defined(__x86_64__) && !defined(__arm64ec__) + __stosb((PBYTE)((DWORD64)vptr),0,cnt); +#else + while(cnt) { + *vptr++ = 0; + cnt--; + } +#endif /* __x86_64 */ + return ptr; + } +#endif /* !__CRT__NO_INLINE // !__WIDL__ */ + +/* Let this macro fail for non-desktop mode. AFAIU this should be better an inline-function ... */ +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b) + ((o) << 18))) +#endif + +#define IS_TEXT_UNICODE_ASCII16 0x0001 +#define IS_TEXT_UNICODE_REVERSE_ASCII16 0x0010 + +#define IS_TEXT_UNICODE_STATISTICS 0x0002 +#define IS_TEXT_UNICODE_REVERSE_STATISTICS 0x0020 + +#define IS_TEXT_UNICODE_CONTROLS 0x0004 +#define IS_TEXT_UNICODE_REVERSE_CONTROLS 0x0040 + +#define IS_TEXT_UNICODE_SIGNATURE 0x0008 +#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 0x0080 + +#define IS_TEXT_UNICODE_ILLEGAL_CHARS 0x0100 +#define IS_TEXT_UNICODE_ODD_LENGTH 0x0200 +#define IS_TEXT_UNICODE_DBCS_LEADBYTE 0x0400 +#define IS_TEXT_UNICODE_NULL_BYTES 0x1000 + +#define IS_TEXT_UNICODE_UNICODE_MASK 0x000F +#define IS_TEXT_UNICODE_REVERSE_MASK 0x00F0 +#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 0x0F00 +#define IS_TEXT_UNICODE_NOT_ASCII_MASK 0xF000 + +#define COMPRESSION_FORMAT_NONE (0x0000) +#define COMPRESSION_FORMAT_DEFAULT (0x0001) +#define COMPRESSION_FORMAT_LZNT1 (0x0002) +#define COMPRESSION_FORMAT_XPRESS (0x0003) +#define COMPRESSION_FORMAT_XPRESS_HUFF (0x0004) +#define COMPRESSION_ENGINE_STANDARD (0x0000) +#define COMPRESSION_ENGINE_MAXIMUM (0x0100) +#define COMPRESSION_ENGINE_HIBER (0x0200) + +#ifndef __CRT__NO_INLINE +#if _DBG_MEMCPY_INLINE_ && !defined(_MEMCPY_INLINE_) && !defined(_CRTBLD) +#define _MEMCPY_INLINE_ + __CRT_INLINE PVOID __cdecl memcpy_inline(void *dst,const void *src,size_t size) { + if(((char *)dst > (char *)src) && ((char *)dst < ((char *)src + size))) { + __debugbreak(); + } + return memcpy(dst,src,size); + } +#define memcpy memcpy_inline +#endif /* _DBG_MEMCPY_INLINE_ && !defined(_MEMCPY_INLINE_) && !defined(_CRTBLD) */ +#endif /* !__CRT__NO_INLINE */ + +#define RtlEqualMemory(Destination,Source,Length) (!memcmp((Destination),(Source),(Length))) +#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length)) +#define RtlCopyMemory(Destination,Source,Length) memcpy((Destination),(Source),(Length)) +#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length)) +#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length)) + + typedef struct _MESSAGE_RESOURCE_ENTRY { + WORD Length; + WORD Flags; + BYTE Text[1]; + } MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY; + +#define SEF_DACL_AUTO_INHERIT 0x01 +#define SEF_SACL_AUTO_INHERIT 0x02 +#define SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT 0x04 +#define SEF_AVOID_PRIVILEGE_CHECK 0x08 +#define SEF_AVOID_OWNER_CHECK 0x10 +#define SEF_DEFAULT_OWNER_FROM_PARENT 0x20 +#define SEF_DEFAULT_GROUP_FROM_PARENT 0x40 +#define SEF_MACL_NO_WRITE_UP 0x100 +#define SEF_MACL_NO_READ_UP 0x200 +#define SEF_MACL_NO_EXECUTE_UP 0x400 +#define SEF_AVOID_OWNER_RESTRICTION 0x1000 + +#define SEF_MACL_VALID_FLAGS (SEF_MACL_NO_WRITE_UP | SEF_MACL_NO_READ_UP | SEF_MACL_NO_EXECUTE_UP) + +#define MESSAGE_RESOURCE_UNICODE 0x0001 + + typedef struct _MESSAGE_RESOURCE_BLOCK { + DWORD LowId; + DWORD HighId; + DWORD OffsetToEntries; + } MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK; + + typedef struct _MESSAGE_RESOURCE_DATA { + DWORD NumberOfBlocks; + MESSAGE_RESOURCE_BLOCK Blocks[1]; + } MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA; + + typedef struct _OSVERSIONINFOA { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; + } OSVERSIONINFOA,*POSVERSIONINFOA,*LPOSVERSIONINFOA; + + typedef struct _OSVERSIONINFOW { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; + } OSVERSIONINFOW,*POSVERSIONINFOW,*LPOSVERSIONINFOW,RTL_OSVERSIONINFOW,*PRTL_OSVERSIONINFOW; + + __MINGW_TYPEDEF_AW(OSVERSIONINFO) + __MINGW_TYPEDEF_AW(POSVERSIONINFO) + __MINGW_TYPEDEF_AW(LPOSVERSIONINFO) + + typedef struct _OSVERSIONINFOEXA { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; + } OSVERSIONINFOEXA,*POSVERSIONINFOEXA,*LPOSVERSIONINFOEXA; + + typedef struct _OSVERSIONINFOEXW { + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; + WORD wServicePackMajor; + WORD wServicePackMinor; + WORD wSuiteMask; + BYTE wProductType; + BYTE wReserved; + } OSVERSIONINFOEXW,*POSVERSIONINFOEXW,*LPOSVERSIONINFOEXW,RTL_OSVERSIONINFOEXW,*PRTL_OSVERSIONINFOEXW; + + __MINGW_TYPEDEF_AW(OSVERSIONINFOEX) + __MINGW_TYPEDEF_AW(POSVERSIONINFOEX) + __MINGW_TYPEDEF_AW(LPOSVERSIONINFOEX) + +#define VER_EQUAL 1 +#define VER_GREATER 2 +#define VER_GREATER_EQUAL 3 +#define VER_LESS 4 +#define VER_LESS_EQUAL 5 +#define VER_AND 6 +#define VER_OR 7 + +#define VER_CONDITION_MASK 7 +#define VER_NUM_BITS_PER_CONDITION_MASK 3 + +#define VER_MINORVERSION 0x0000001 +#define VER_MAJORVERSION 0x0000002 +#define VER_BUILDNUMBER 0x0000004 +#define VER_PLATFORMID 0x0000008 +#define VER_SERVICEPACKMINOR 0x0000010 +#define VER_SERVICEPACKMAJOR 0x0000020 +#define VER_SUITENAME 0x0000040 +#define VER_PRODUCT_TYPE 0x0000080 + +#define VER_NT_WORKSTATION 0x0000001 +#define VER_NT_DOMAIN_CONTROLLER 0x0000002 +#define VER_NT_SERVER 0x0000003 + +#define VER_PLATFORM_WIN32s 0 +#define VER_PLATFORM_WIN32_WINDOWS 1 +#define VER_PLATFORM_WIN32_NT 2 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if !defined (_WINBASE_) && !defined (__WIDL__) + NTSYSAPI ULONGLONG NTAPI VerSetConditionMask (ULONGLONG ConditionMask, DWORD TypeMask, BYTE Condition); +#endif + +#define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_) = VerSetConditionMask((_m_),(_t_),(_c_))) + +#if _WIN32_WINNT >= 0x0600 && !defined (__WIDL__) + NTSYSAPI BOOLEAN NTAPI RtlGetProductInfo (DWORD OSMajorVersion, DWORD OSMinorVersion, DWORD SpMajorVersion, DWORD SpMinorVersion, PDWORD ReturnedProductType); +#endif +#endif + +#define RTL_UMS_VERSION (0x0100) + + typedef enum _RTL_UMS_THREAD_INFO_CLASS { + UmsThreadInvalidInfoClass = 0, + UmsThreadUserContext, + UmsThreadPriority, + UmsThreadAffinity, + UmsThreadTeb, + UmsThreadIsSuspended, + UmsThreadIsTerminated, + UmsThreadMaxInfoClass + } RTL_UMS_THREAD_INFO_CLASS,*PRTL_UMS_THREAD_INFO_CLASS; + + typedef enum _RTL_UMS_SCHEDULER_REASON { + UmsSchedulerStartup = 0, + UmsSchedulerThreadBlocked, + 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); + typedef RTL_UMS_SCHEDULER_ENTRY_POINT *PRTL_UMS_SCHEDULER_ENTRY_POINT; + +#if _WIN32_WINNT >= 0x0602 +#ifndef IS_VALIDATION_ENABLED +#define IS_VALIDATION_ENABLED(C, L) ((L) & (C)) +#define VRL_PREDEFINED_CLASS_BEGIN (1) +#define VRL_CUSTOM_CLASS_BEGIN (1 << 8) +#define VRL_CLASS_CONSISTENCY (VRL_PREDEFINED_CLASS_BEGIN) +#define VRL_ENABLE_KERNEL_BREAKS (1 << 31) +#endif + +#define CTMF_INCLUDE_APPCONTAINER __MSABI_LONG(0x1U) +#define CTMF_VALID_FLAGS (CTMF_INCLUDE_APPCONTAINER) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + NTSYSAPI DWORD NTAPI RtlCrc32 (const void *Buffer, size_t Size, DWORD InitialCrc); + NTSYSAPI ULONGLONG NTAPI RtlCrc64 (const void *Buffer, size_t Size, ULONGLONG InitialCrc); +#endif +#endif + + typedef struct _RTL_CRITICAL_SECTION_DEBUG { + WORD Type; + WORD CreatorBackTraceIndex; + struct _RTL_CRITICAL_SECTION *CriticalSection; + LIST_ENTRY ProcessLocksList; + DWORD EntryCount; + DWORD ContentionCount; + DWORD Flags; + WORD CreatorBackTraceIndexHigh; + WORD SpareWORD; + } RTL_CRITICAL_SECTION_DEBUG,*PRTL_CRITICAL_SECTION_DEBUG,RTL_RESOURCE_DEBUG,*PRTL_RESOURCE_DEBUG; + +#define RTL_CRITSECT_TYPE 0 +#define RTL_RESOURCE_TYPE 1 + +#define RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO 0x01000000 +#define RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN 0x02000000 +#define RTL_CRITICAL_SECTION_FLAG_STATIC_INIT 0x04000000 +#define RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE 0x08000000 +#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO 0x10000000 +#define RTL_CRITICAL_SECTION_ALL_FLAG_BITS 0xff000000 + +#define RTL_CRITICAL_SECTION_FLAG_RESERVED (RTL_CRITICAL_SECTION_ALL_FLAG_BITS & (~(RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO | RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN | RTL_CRITICAL_SECTION_FLAG_STATIC_INIT | RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE | RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO))) + +#define RTL_CRITICAL_SECTION_DEBUG_FLAG_STATIC_INIT 0x00000001 + +#include + typedef struct _RTL_CRITICAL_SECTION { + PRTL_CRITICAL_SECTION_DEBUG DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + ULONG_PTR SpinCount; + } RTL_CRITICAL_SECTION,*PRTL_CRITICAL_SECTION; +#include + + typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK,*PRTL_SRWLOCK; + typedef struct _RTL_CONDITION_VARIABLE { PVOID Ptr; } RTL_CONDITION_VARIABLE,*PRTL_CONDITION_VARIABLE; + +#define RTL_SRWLOCK_INIT {0} +#define RTL_CONDITION_VARIABLE_INIT {0} + +#define RTL_CONDITION_VARIABLE_LOCKMODE_SHARED 0x1 + + typedef VOID (NTAPI *PAPCFUNC) (ULONG_PTR Parameter); + typedef LONG (NTAPI *PVECTORED_EXCEPTION_HANDLER) (struct _EXCEPTION_POINTERS *ExceptionInfo); + + typedef enum _HEAP_INFORMATION_CLASS { + HeapCompatibilityInformation = 0, + HeapEnableTerminationOnCorruption = 1 +#if ((NTDDI_VERSION > NTDDI_WINBLUE) || (NTDDI_VERSION == NTDDI_WINBLUE && defined(WINBLUE_KBSPRING14))) + ,HeapOptimizeResources = 3 +#endif + ,HeapTag = 7 + } HEAP_INFORMATION_CLASS; + +#if ((NTDDI_VERSION > NTDDI_WINBLUE) || (NTDDI_VERSION == NTDDI_WINBLUE && defined(WINBLUE_KBSPRING14))) +#define HEAP_OPTIMIZE_RESOURCES_CURRENT_VERSION 1 + typedef struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION { + DWORD Version; + DWORD Flags; + } HEAP_OPTIMIZE_RESOURCES_INFORMATION, *PHEAP_OPTIMIZE_RESOURCES_INFORMATION; +#endif + + typedef VOID (NTAPI *WORKERCALLBACKFUNC) (PVOID); + typedef VOID (NTAPI *APC_CALLBACK_FUNCTION) (DWORD, PVOID, PVOID); + typedef VOID (NTAPI *WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN); + typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; + typedef VOID (NTAPI *PFLS_CALLBACK_FUNCTION) (PVOID lpFlsData); + typedef BOOLEAN (NTAPI *PSECURE_MEMORY_CACHE_CALLBACK) (PVOID Addr, SIZE_T Range); + +#define WT_EXECUTEDEFAULT 0x00000000 +#define WT_EXECUTEINIOTHREAD 0x00000001 +#define WT_EXECUTEINUITHREAD 0x00000002 +#define WT_EXECUTEINWAITTHREAD 0x00000004 +#define WT_EXECUTEONLYONCE 0x00000008 +#define WT_EXECUTEINTIMERTHREAD 0x00000020 +#define WT_EXECUTELONGFUNCTION 0x00000010 +#define WT_EXECUTEINPERSISTENTIOTHREAD 0x00000040 +#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080 +#define WT_TRANSFER_IMPERSONATION 0x00000100 + +#define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit) ((Flags) |= (Limit) << 16) + +#define WT_EXECUTEDELETEWAIT 0x00000008 +#define WT_EXECUTEINLONGTHREAD 0x00000010 + + typedef enum _ACTIVATION_CONTEXT_INFO_CLASS { + ActivationContextBasicInformation = 1, + ActivationContextDetailedInformation = 2, + AssemblyDetailedInformationInActivationContext = 3, + FileInformationInAssemblyOfAssemblyInActivationContext = 4, + RunlevelInformationInActivationContext = 5, + CompatibilityInformationInActivationContext = 6, + ActivationContextManifestResourceName = 7, + MaxActivationContextInfoClass, + AssemblyDetailedInformationInActivationContxt = 3, + FileInformationInAssemblyOfAssemblyInActivationContxt = 4 + } ACTIVATION_CONTEXT_INFO_CLASS; + + typedef enum { + ACTCTX_RUN_LEVEL_UNSPECIFIED = 0, + ACTCTX_RUN_LEVEL_AS_INVOKER, + ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE, + ACTCTX_RUN_LEVEL_REQUIRE_ADMIN, + ACTCTX_RUN_LEVEL_NUMBERS + } ACTCTX_REQUESTED_RUN_LEVEL; + + typedef enum { + ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0, + ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS, + ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION + } ACTCTX_COMPATIBILITY_ELEMENT_TYPE; + + typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX { + DWORD ulAssemblyIndex; + DWORD ulFileIndexInAssembly; + } ACTIVATION_CONTEXT_QUERY_INDEX,*PACTIVATION_CONTEXT_QUERY_INDEX; + + typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION { + DWORD ulFlags; + DWORD ulFilenameLength; + DWORD ulPathLength; + PCWSTR lpFileName; + PCWSTR lpFilePath; + } ASSEMBLY_FILE_DETAILED_INFORMATION,*PASSEMBLY_FILE_DETAILED_INFORMATION; + + typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { + DWORD ulFlags; + DWORD ulEncodedAssemblyIdentityLength; + DWORD ulManifestPathType; + DWORD ulManifestPathLength; + LARGE_INTEGER liManifestLastWriteTime; + DWORD ulPolicyPathType; + DWORD ulPolicyPathLength; + LARGE_INTEGER liPolicyLastWriteTime; + DWORD ulMetadataSatelliteRosterIndex; + DWORD ulManifestVersionMajor; + DWORD ulManifestVersionMinor; + DWORD ulPolicyVersionMajor; + DWORD ulPolicyVersionMinor; + DWORD ulAssemblyDirectoryNameLength; + PCWSTR lpAssemblyEncodedAssemblyIdentity; + PCWSTR lpAssemblyManifestPath; + PCWSTR lpAssemblyPolicyPath; + PCWSTR lpAssemblyDirectoryName; + DWORD ulFileCount; + } ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; + + typedef struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION { + DWORD ulFlags; + ACTCTX_REQUESTED_RUN_LEVEL RunLevel; + DWORD UiAccess; + } ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION,*PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; + + typedef struct _COMPATIBILITY_CONTEXT_ELEMENT { + GUID Id; + ACTCTX_COMPATIBILITY_ELEMENT_TYPE Type; + } COMPATIBILITY_CONTEXT_ELEMENT,*PCOMPATIBILITY_CONTEXT_ELEMENT; + +/*Vista: {e2011457-1546-43c5-a5fe-008deee3d3f0}*/ +/*Seven: {35138b9a-5d96-4fbd-8e2d-a2440225f93a}*/ + typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION { + DWORD ElementCount; + COMPATIBILITY_CONTEXT_ELEMENT Elements[]; + } ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION,*PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; + +#define MAX_SUPPORTED_OS_NUM (4) + + typedef struct _SUPPORTED_OS_INFO { + WORD OsCount; + WORD MitigationExist; + WORD OsList[MAX_SUPPORTED_OS_NUM]; + } SUPPORTED_OS_INFO,*PSUPPORTED_OS_INFO; + + typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { + DWORD dwFlags; + DWORD ulFormatVersion; + DWORD ulAssemblyCount; + DWORD ulRootManifestPathType; + DWORD ulRootManifestPathChars; + DWORD ulRootConfigurationPathType; + DWORD ulRootConfigurationPathChars; + DWORD ulAppDirPathType; + DWORD ulAppDirPathChars; + PCWSTR lpRootManifestPath; + PCWSTR lpRootConfigurationPath; + PCWSTR lpAppDirPath; + } ACTIVATION_CONTEXT_DETAILED_INFORMATION,*PACTIVATION_CONTEXT_DETAILED_INFORMATION; + + typedef const struct _ACTIVATION_CONTEXT_QUERY_INDEX *PCACTIVATION_CONTEXT_QUERY_INDEX; + typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION; + typedef const struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; + typedef const struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION *PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; + typedef const struct _COMPATIBILITY_CONTEXT_ELEMENT *PCCOMPATIBILITY_CONTEXT_ELEMENT; + typedef const struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION *PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; + typedef const struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION; + +#define ACTIVATIONCONTEXTINFOCLASS ACTIVATION_CONTEXT_INFO_CLASS + +#define ACTIVATION_CONTEXT_PATH_TYPE_NONE (1) +#define ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE (2) +#define ACTIVATION_CONTEXT_PATH_TYPE_URL (3) +#define ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF (4) + +#define _ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION _ASSEMBLY_FILE_DETAILED_INFORMATION +#define ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION ASSEMBLY_FILE_DETAILED_INFORMATION +#define PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION PASSEMBLY_FILE_DETAILED_INFORMATION +#define PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION PCASSEMBLY_FILE_DETAILED_INFORMATION +#define INVALID_OS_COUNT (0xffff) + +#define CREATE_BOUNDARY_DESCRIPTOR_ADD_APPCONTAINER_SID 0x1 + + typedef VOID (NTAPI *RTL_VERIFIER_DLL_LOAD_CALLBACK) (PWSTR DllName,PVOID DllBase,SIZE_T DllSize,PVOID Reserved); + typedef VOID (NTAPI *RTL_VERIFIER_DLL_UNLOAD_CALLBACK) (PWSTR DllName,PVOID DllBase,SIZE_T DllSize,PVOID Reserved); + typedef VOID (NTAPI *RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK)(PVOID AllocationBase,SIZE_T AllocationSize); + + typedef struct _RTL_VERIFIER_THUNK_DESCRIPTOR { + PCHAR ThunkName; + PVOID ThunkOldAddress; + PVOID ThunkNewAddress; + } RTL_VERIFIER_THUNK_DESCRIPTOR,*PRTL_VERIFIER_THUNK_DESCRIPTOR; + + typedef struct _RTL_VERIFIER_DLL_DESCRIPTOR { + PWCHAR DllName; + DWORD DllFlags; + PVOID DllAddress; + PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks; + } RTL_VERIFIER_DLL_DESCRIPTOR,*PRTL_VERIFIER_DLL_DESCRIPTOR; + + typedef struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR { + DWORD Length; + PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls; + RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback; + RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback; + PWSTR VerifierImage; + DWORD VerifierFlags; + DWORD VerifierDebug; + PVOID RtlpGetStackTraceAddress; + PVOID RtlpDebugPageHeapCreate; + PVOID RtlpDebugPageHeapDestroy; + RTL_VERIFIER_NTDLLHEAPFREE_CALLBACK ProviderNtdllHeapFreeCallback; + } RTL_VERIFIER_PROVIDER_DESCRIPTOR,*PRTL_VERIFIER_PROVIDER_DESCRIPTOR; + +#define RTL_VRF_FLG_FULL_PAGE_HEAP 0x00000001 +#define RTL_VRF_FLG_RESERVED_DONOTUSE 0x00000002 +#define RTL_VRF_FLG_HANDLE_CHECKS 0x00000004 +#define RTL_VRF_FLG_STACK_CHECKS 0x00000008 +#define RTL_VRF_FLG_APPCOMPAT_CHECKS 0x00000010 +#define RTL_VRF_FLG_TLS_CHECKS 0x00000020 +#define RTL_VRF_FLG_DIRTY_STACKS 0x00000040 +#define RTL_VRF_FLG_RPC_CHECKS 0x00000080 +#define RTL_VRF_FLG_COM_CHECKS 0x00000100 +#define RTL_VRF_FLG_DANGEROUS_APIS 0x00000200 +#define RTL_VRF_FLG_RACE_CHECKS 0x00000400 +#define RTL_VRF_FLG_DEADLOCK_CHECKS 0x00000800 +#define RTL_VRF_FLG_FIRST_CHANCE_EXCEPTION_CHECKS 0x00001000 +#define RTL_VRF_FLG_VIRTUAL_MEM_CHECKS 0x00002000 +#define RTL_VRF_FLG_ENABLE_LOGGING 0x00004000 +#define RTL_VRF_FLG_FAST_FILL_HEAP 0x00008000 +#define RTL_VRF_FLG_VIRTUAL_SPACE_TRACKING 0x00010000 +#define RTL_VRF_FLG_ENABLED_SYSTEM_WIDE 0x00020000 +#define RTL_VRF_FLG_MISCELLANEOUS_CHECKS 0x00020000 +#define RTL_VRF_FLG_LOCK_CHECKS 0x00040000 + +#define APPLICATION_VERIFIER_INTERNAL_ERROR 0x80000000 +#define APPLICATION_VERIFIER_INTERNAL_WARNING 0x40000000 +#define APPLICATION_VERIFIER_NO_BREAK 0x20000000 +#define APPLICATION_VERIFIER_CONTINUABLE_BREAK 0x10000000 + +#define APPLICATION_VERIFIER_UNKNOWN_ERROR 0x0001 +#define APPLICATION_VERIFIER_ACCESS_VIOLATION 0x0002 +#define APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS 0x0003 +#define APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST 0x0004 +#define APPLICATION_VERIFIER_BAD_HEAP_HANDLE 0x0005 +#define APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE 0x0006 +#define APPLICATION_VERIFIER_DOUBLE_FREE 0x0007 +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK 0x0008 +#define APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP 0x0009 +#define APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION 0x000A +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_EXCEPTION_RAISED_FOR_HEADER 0x000B +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_EXCEPTION_RAISED_FOR_PROBING 0x000C +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_HEADER 0x000D +#define APPLICATION_VERIFIER_CORRUPTED_FREED_HEAP_BLOCK 0x000E +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_SUFFIX 0x000F +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_START_STAMP 0x0010 +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_END_STAMP 0x0011 +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK_PREFIX 0x0012 +#define APPLICATION_VERIFIER_FIRST_CHANCE_ACCESS_VIOLATION 0x0013 +#define APPLICATION_VERIFIER_CORRUPTED_HEAP_LIST 0x0014 + +#define APPLICATION_VERIFIER_TERMINATE_THREAD_CALL 0x0100 +#define APPLICATION_VERIFIER_STACK_OVERFLOW 0x0101 +#define APPLICATION_VERIFIER_INVALID_EXIT_PROCESS_CALL 0x0102 + +#define APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK 0x0200 +#define APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL 0x0201 +#define APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP 0x0202 +#define APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE 0x0203 +#define APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY 0x0204 +#define APPLICATION_VERIFIER_LOCK_CORRUPTED 0x0205 +#define APPLICATION_VERIFIER_LOCK_INVALID_OWNER 0x0206 +#define APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT 0x0207 +#define APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT 0x0208 +#define APPLICATION_VERIFIER_LOCK_OVER_RELEASED 0x0209 +#define APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED 0x0210 +#define APPLICATION_VERIFIER_LOCK_ALREADY_INITIALIZED 0x0211 +#define APPLICATION_VERIFIER_LOCK_IN_FREED_VMEM 0x0212 +#define APPLICATION_VERIFIER_LOCK_IN_UNMAPPED_MEM 0x0213 +#define APPLICATION_VERIFIER_THREAD_NOT_LOCK_OWNER 0x0214 + +#define APPLICATION_VERIFIER_INVALID_HANDLE 0x0300 +#define APPLICATION_VERIFIER_INVALID_TLS_VALUE 0x0301 +#define APPLICATION_VERIFIER_INCORRECT_WAIT_CALL 0x0302 +#define APPLICATION_VERIFIER_NULL_HANDLE 0x0303 +#define APPLICATION_VERIFIER_WAIT_IN_DLLMAIN 0x0304 + +#define APPLICATION_VERIFIER_COM_ERROR 0x0400 +#define APPLICATION_VERIFIER_COM_API_IN_DLLMAIN 0x0401 +#define APPLICATION_VERIFIER_COM_UNHANDLED_EXCEPTION 0x0402 +#define APPLICATION_VERIFIER_COM_UNBALANCED_COINIT 0x0403 +#define APPLICATION_VERIFIER_COM_UNBALANCED_OLEINIT 0x0404 +#define APPLICATION_VERIFIER_COM_UNBALANCED_SWC 0x0405 +#define APPLICATION_VERIFIER_COM_NULL_DACL 0x0406 +#define APPLICATION_VERIFIER_COM_UNSAFE_IMPERSONATION 0x0407 +#define APPLICATION_VERIFIER_COM_SMUGGLED_WRAPPER 0x0408 +#define APPLICATION_VERIFIER_COM_SMUGGLED_PROXY 0x0409 +#define APPLICATION_VERIFIER_COM_CF_SUCCESS_WITH_NULL 0x040A +#define APPLICATION_VERIFIER_COM_GCO_SUCCESS_WITH_NULL 0x040B +#define APPLICATION_VERIFIER_COM_OBJECT_IN_FREED_MEMORY 0x040C +#define APPLICATION_VERIFIER_COM_OBJECT_IN_UNLOADED_DLL 0x040D +#define APPLICATION_VERIFIER_COM_VTBL_IN_FREED_MEMORY 0x040E +#define APPLICATION_VERIFIER_COM_VTBL_IN_UNLOADED_DLL 0x040F +#define APPLICATION_VERIFIER_COM_HOLDING_LOCKS_ON_CALL 0x0410 + +#define APPLICATION_VERIFIER_RPC_ERROR 0x0500 + +#define APPLICATION_VERIFIER_INVALID_FREEMEM 0x0600 +#define APPLICATION_VERIFIER_INVALID_ALLOCMEM 0x0601 +#define APPLICATION_VERIFIER_INVALID_MAPVIEW 0x0602 +#define APPLICATION_VERIFIER_PROBE_INVALID_ADDRESS 0x0603 +#define APPLICATION_VERIFIER_PROBE_FREE_MEM 0x0604 +#define APPLICATION_VERIFIER_PROBE_GUARD_PAGE 0x0605 +#define APPLICATION_VERIFIER_PROBE_NULL 0x0606 +#define APPLICATION_VERIFIER_PROBE_INVALID_START_OR_SIZE 0x0607 +#define APPLICATION_VERIFIER_SIZE_HEAP_UNEXPECTED_EXCEPTION 0x0618 + +#define VERIFIER_STOP(Code,Msg,P1,S1,P2,S2,P3,S3,P4,S4) { RtlApplicationVerifierStop ((Code),(Msg),(ULONG_PTR)(P1),(S1),(ULONG_PTR)(P2),(S2),(ULONG_PTR)(P3),(S3),(ULONG_PTR)(P4),(S4)); } + + VOID NTAPI RtlApplicationVerifierStop(ULONG_PTR Code,PSTR Message,ULONG_PTR Param1,PSTR Description1,ULONG_PTR Param2,PSTR Description2,ULONG_PTR Param3,PSTR Description3,ULONG_PTR Param4,PSTR Description4); + NTSYSAPI LONG NTAPI RtlSetHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength); + NTSYSAPI LONG NTAPI RtlQueryHeapInformation(PVOID HeapHandle,HEAP_INFORMATION_CLASS HeapInformationClass,PVOID HeapInformation,SIZE_T HeapInformationLength,PSIZE_T ReturnLength); + DWORD NTAPI RtlMultipleAllocateHeap(PVOID HeapHandle,DWORD Flags,SIZE_T Size,DWORD Count,PVOID *Array); + DWORD NTAPI RtlMultipleFreeHeap(PVOID HeapHandle,DWORD Flags,DWORD Count,PVOID *Array); + + typedef struct _HARDWARE_COUNTER_DATA { + HARDWARE_COUNTER_TYPE Type; + DWORD Reserved; + DWORD64 Value; + } HARDWARE_COUNTER_DATA,*PHARDWARE_COUNTER_DATA; + + typedef struct _PERFORMANCE_DATA { + WORD Size; + BYTE Version; + BYTE HwCountersCount; + DWORD ContextSwitchCount; + DWORD64 WaitReasonBitMap; + DWORD64 CycleTime; + DWORD RetryCount; + DWORD Reserved; + HARDWARE_COUNTER_DATA HwCounters[MAX_HW_COUNTERS]; + } PERFORMANCE_DATA,*PPERFORMANCE_DATA; + +#define PERFORMANCE_DATA_VERSION 1 + +#define READ_THREAD_PROFILING_FLAG_DISPATCHING 0x00000001 +#define READ_THREAD_PROFILING_FLAG_HARDWARE_COUNTERS 0x00000002 + +#define DLL_PROCESS_ATTACH 1 +#define DLL_THREAD_ATTACH 2 +#define DLL_THREAD_DETACH 3 +#define DLL_PROCESS_DETACH 0 +#define DLL_PROCESS_VERIFIER 4 + +#define EVENTLOG_SEQUENTIAL_READ 0x0001 +#define EVENTLOG_SEEK_READ 0x0002 +#define EVENTLOG_FORWARDS_READ 0x0004 +#define EVENTLOG_BACKWARDS_READ 0x0008 + +#define EVENTLOG_SUCCESS 0x0000 +#define EVENTLOG_ERROR_TYPE 0x0001 +#define EVENTLOG_WARNING_TYPE 0x0002 +#define EVENTLOG_INFORMATION_TYPE 0x0004 +#define EVENTLOG_AUDIT_SUCCESS 0x0008 +#define EVENTLOG_AUDIT_FAILURE 0x0010 + +#define EVENTLOG_START_PAIRED_EVENT 0x0001 +#define EVENTLOG_END_PAIRED_EVENT 0x0002 +#define EVENTLOG_END_ALL_PAIRED_EVENTS 0x0004 +#define EVENTLOG_PAIRED_EVENT_ACTIVE 0x0008 +#define EVENTLOG_PAIRED_EVENT_INACTIVE 0x0010 + + typedef struct _EVENTLOGRECORD { + DWORD Length; + DWORD Reserved; + DWORD RecordNumber; + DWORD TimeGenerated; + DWORD TimeWritten; + DWORD EventID; + WORD EventType; + WORD NumStrings; + WORD EventCategory; + WORD ReservedFlags; + DWORD ClosingRecordNumber; + DWORD StringOffset; + DWORD UserSidLength; + DWORD UserSidOffset; + DWORD DataLength; + DWORD DataOffset; + } EVENTLOGRECORD,*PEVENTLOGRECORD; + +#define MAXLOGICALLOGNAMESIZE 256 + + typedef struct _EVENTSFORLOGFILE { + DWORD ulSize; + WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; + DWORD ulNumRecords; + EVENTLOGRECORD pEventLogRecords[]; + } EVENTSFORLOGFILE,*PEVENTSFORLOGFILE; + + typedef struct _PACKEDEVENTINFO { + DWORD ulSize; + DWORD ulNumEventsForLogFile; + DWORD ulOffsets[]; + } PACKEDEVENTINFO,*PPACKEDEVENTINFO; + +#define KEY_QUERY_VALUE (0x0001) +#define KEY_SET_VALUE (0x0002) +#define KEY_CREATE_SUB_KEY (0x0004) +#define KEY_ENUMERATE_SUB_KEYS (0x0008) +#define KEY_NOTIFY (0x0010) +#define KEY_CREATE_LINK (0x0020) +#define KEY_WOW64_64KEY (0x0100) +#define KEY_WOW64_32KEY (0x0200) +#define KEY_WOW64_RES (0x0300) + +#define KEY_READ ((STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE)) +#define KEY_WRITE ((STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE)) +#define KEY_EXECUTE ((KEY_READ) & (~SYNCHRONIZE)) +#define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE)) +#define REG_OPTION_RESERVED (__MSABI_LONG(0x00000000)) + +#define REG_OPTION_NON_VOLATILE (__MSABI_LONG(0x00000000)) +#define REG_OPTION_VOLATILE (__MSABI_LONG(0x00000001)) +#define REG_OPTION_CREATE_LINK (__MSABI_LONG(0x00000002)) +#define REG_OPTION_BACKUP_RESTORE (__MSABI_LONG(0x00000004)) +#define REG_OPTION_OPEN_LINK (__MSABI_LONG(0x00000008)) +#define REG_LEGAL_OPTION (REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK) + +#define REG_CREATED_NEW_KEY (__MSABI_LONG(0x00000001)) +#define REG_OPENED_EXISTING_KEY (__MSABI_LONG(0x00000002)) + +#define REG_STANDARD_FORMAT 1 +#define REG_LATEST_FORMAT 2 +#define REG_NO_COMPRESSION 4 + +#define REG_WHOLE_HIVE_VOLATILE (__MSABI_LONG(0x00000001)) +#define REG_REFRESH_HIVE (__MSABI_LONG(0x00000002)) +#define REG_NO_LAZY_FLUSH (__MSABI_LONG(0x00000004)) +#define REG_FORCE_RESTORE (__MSABI_LONG(0x00000008)) +#define REG_APP_HIVE (__MSABI_LONG(0x00000010)) +#define REG_PROCESS_PRIVATE (__MSABI_LONG(0x00000020)) +#define REG_START_JOURNAL (__MSABI_LONG(0x00000040)) +#define REG_HIVE_EXACT_FILE_GROWTH (__MSABI_LONG(0x00000080)) +#define REG_HIVE_NO_RM (__MSABI_LONG(0x00000100)) +#define REG_HIVE_SINGLE_LOG (__MSABI_LONG(0x00000200)) +#define REG_BOOT_HIVE (__MSABI_LONG(0x00000400)) + +#define REG_FORCE_UNLOAD 1 + +#define REG_NOTIFY_CHANGE_NAME (__MSABI_LONG(0x00000001)) +#define REG_NOTIFY_CHANGE_ATTRIBUTES (__MSABI_LONG(0x00000002)) +#define REG_NOTIFY_CHANGE_LAST_SET (__MSABI_LONG(0x00000004)) +#define REG_NOTIFY_CHANGE_SECURITY (__MSABI_LONG(0x00000008)) +#define REG_NOTIFY_THREAD_AGNOSTIC (__MSABI_LONG(0x10000000)) + +#define REG_LEGAL_CHANGE_FILTER (REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY | REG_NOTIFY_THREAD_AGNOSTIC) + +#define REG_NONE (0) +#define REG_SZ (1) +#define REG_EXPAND_SZ (2) +#define REG_BINARY (3) +#define REG_DWORD (4) +#define REG_DWORD_LITTLE_ENDIAN (4) +#define REG_DWORD_BIG_ENDIAN (5) +#define REG_LINK (6) +#define REG_MULTI_SZ (7) +#define REG_RESOURCE_LIST (8) +#define REG_FULL_RESOURCE_DESCRIPTOR (9) +#define REG_RESOURCE_REQUIREMENTS_LIST (10) +#define REG_QWORD (11) +#define REG_QWORD_LITTLE_ENDIAN (11) + +#define SERVICE_KERNEL_DRIVER 0x00000001 +#define SERVICE_FILE_SYSTEM_DRIVER 0x00000002 +#define SERVICE_ADAPTER 0x00000004 +#define SERVICE_RECOGNIZER_DRIVER 0x00000008 + +#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER) + +#define SERVICE_WIN32_OWN_PROCESS 0x00000010 +#define SERVICE_WIN32_SHARE_PROCESS 0x00000020 +#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS) + +#define SERVICE_INTERACTIVE_PROCESS 0x00000100 + +#define SERVICE_TYPE_ALL (SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS) + +#define SERVICE_BOOT_START 0x00000000 +#define SERVICE_SYSTEM_START 0x00000001 +#define SERVICE_AUTO_START 0x00000002 +#define SERVICE_DEMAND_START 0x00000003 +#define SERVICE_DISABLED 0x00000004 + +#define SERVICE_ERROR_IGNORE 0x00000000 +#define SERVICE_ERROR_NORMAL 0x00000001 +#define SERVICE_ERROR_SEVERE 0x00000002 +#define SERVICE_ERROR_CRITICAL 0x00000003 + + typedef enum _CM_SERVICE_NODE_TYPE { + DriverType = SERVICE_KERNEL_DRIVER,FileSystemType = SERVICE_FILE_SYSTEM_DRIVER,Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, + Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS,AdapterType = SERVICE_ADAPTER,RecognizerType = SERVICE_RECOGNIZER_DRIVER + } SERVICE_NODE_TYPE; + + typedef enum _CM_SERVICE_LOAD_TYPE { + BootLoad = SERVICE_BOOT_START,SystemLoad = SERVICE_SYSTEM_START,AutoLoad = SERVICE_AUTO_START,DemandLoad = SERVICE_DEMAND_START, + DisableLoad = SERVICE_DISABLED + } SERVICE_LOAD_TYPE; + + typedef enum _CM_ERROR_CONTROL_TYPE { + IgnoreError = SERVICE_ERROR_IGNORE,NormalError = SERVICE_ERROR_NORMAL,SevereError = SERVICE_ERROR_SEVERE,CriticalError = SERVICE_ERROR_CRITICAL + } SERVICE_ERROR_TYPE; + +#define CM_SERVICE_NETWORK_BOOT_LOAD 0x00000001 +#define CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD 0x00000002 +#define CM_SERVICE_USB_DISK_BOOT_LOAD 0x00000004 +#define CM_SERVICE_SD_DISK_BOOT_LOAD 0x00000008 +#define CM_SERVICE_USB3_DISK_BOOT_LOAD 0x00000010 +#define CM_SERVICE_MEASURED_BOOT_LOAD 0x00000020 +#define CM_SERVICE_VERIFIER_BOOT_LOAD 0x00000040 +#define CM_SERVICE_WINPE_BOOT_LOAD 0x00000080 + +#define CM_SERVICE_VALID_PROMOTION_MASK (CM_SERVICE_NETWORK_BOOT_LOAD | CM_SERVICE_VIRTUAL_DISK_BOOT_LOAD | CM_SERVICE_USB_DISK_BOOT_LOAD | CM_SERVICE_SD_DISK_BOOT_LOAD | CM_SERVICE_USB3_DISK_BOOT_LOAD | CM_SERVICE_MEASURED_BOOT_LOAD | CM_SERVICE_VERIFIER_BOOT_LOAD | CM_SERVICE_WINPE_BOOT_LOAD) + +#ifndef _NTDDTAPE_WINNT_ +#define _NTDDTAPE_WINNT_ + +#define TAPE_ERASE_SHORT __MSABI_LONG(0) +#define TAPE_ERASE_LONG __MSABI_LONG(1) + + typedef struct _TAPE_ERASE { + DWORD Type; + BOOLEAN Immediate; + } TAPE_ERASE,*PTAPE_ERASE; + +#define TAPE_LOAD __MSABI_LONG(0) +#define TAPE_UNLOAD __MSABI_LONG(1) +#define TAPE_TENSION __MSABI_LONG(2) +#define TAPE_LOCK __MSABI_LONG(3) +#define TAPE_UNLOCK __MSABI_LONG(4) +#define TAPE_FORMAT __MSABI_LONG(5) + + typedef struct _TAPE_PREPARE { + DWORD Operation; + BOOLEAN Immediate; + } TAPE_PREPARE,*PTAPE_PREPARE; + +#define TAPE_SETMARKS __MSABI_LONG(0) +#define TAPE_FILEMARKS __MSABI_LONG(1) +#define TAPE_SHORT_FILEMARKS __MSABI_LONG(2) +#define TAPE_LONG_FILEMARKS __MSABI_LONG(3) + + typedef struct _TAPE_WRITE_MARKS { + DWORD Type; + DWORD Count; + BOOLEAN Immediate; + } TAPE_WRITE_MARKS,*PTAPE_WRITE_MARKS; + +#define TAPE_ABSOLUTE_POSITION __MSABI_LONG(0) +#define TAPE_LOGICAL_POSITION __MSABI_LONG(1) +#define TAPE_PSEUDO_LOGICAL_POSITION __MSABI_LONG(2) + + typedef struct _TAPE_GET_POSITION { + DWORD Type; + DWORD Partition; + LARGE_INTEGER Offset; + } TAPE_GET_POSITION,*PTAPE_GET_POSITION; + +#define TAPE_REWIND __MSABI_LONG(0) +#define TAPE_ABSOLUTE_BLOCK __MSABI_LONG(1) +#define TAPE_LOGICAL_BLOCK __MSABI_LONG(2) +#define TAPE_PSEUDO_LOGICAL_BLOCK __MSABI_LONG(3) +#define TAPE_SPACE_END_OF_DATA __MSABI_LONG(4) +#define TAPE_SPACE_RELATIVE_BLOCKS __MSABI_LONG(5) +#define TAPE_SPACE_FILEMARKS __MSABI_LONG(6) +#define TAPE_SPACE_SEQUENTIAL_FMKS __MSABI_LONG(7) +#define TAPE_SPACE_SETMARKS __MSABI_LONG(8) +#define TAPE_SPACE_SEQUENTIAL_SMKS __MSABI_LONG(9) + + typedef struct _TAPE_SET_POSITION { + DWORD Method; + DWORD Partition; + LARGE_INTEGER Offset; + BOOLEAN Immediate; + } TAPE_SET_POSITION,*PTAPE_SET_POSITION; + +#define TAPE_DRIVE_FIXED 0x00000001 +#define TAPE_DRIVE_SELECT 0x00000002 +#define TAPE_DRIVE_INITIATOR 0x00000004 + +#define TAPE_DRIVE_ERASE_SHORT 0x00000010 +#define TAPE_DRIVE_ERASE_LONG 0x00000020 +#define TAPE_DRIVE_ERASE_BOP_ONLY 0x00000040 +#define TAPE_DRIVE_ERASE_IMMEDIATE 0x00000080 +#define TAPE_DRIVE_TAPE_CAPACITY 0x00000100 +#define TAPE_DRIVE_TAPE_REMAINING 0x00000200 +#define TAPE_DRIVE_FIXED_BLOCK 0x00000400 +#define TAPE_DRIVE_VARIABLE_BLOCK 0x00000800 +#define TAPE_DRIVE_WRITE_PROTECT 0x00001000 +#define TAPE_DRIVE_EOT_WZ_SIZE 0x00002000 +#define TAPE_DRIVE_ECC 0x00010000 +#define TAPE_DRIVE_COMPRESSION 0x00020000 +#define TAPE_DRIVE_PADDING 0x00040000 +#define TAPE_DRIVE_REPORT_SMKS 0x00080000 +#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x00100000 +#define TAPE_DRIVE_GET_LOGICAL_BLK 0x00200000 +#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x00400000 +#define TAPE_DRIVE_EJECT_MEDIA 0x01000000 +#define TAPE_DRIVE_CLEAN_REQUESTS 0x02000000 +#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x04000000 + +#define TAPE_DRIVE_RESERVED_BIT 0x80000000 + +#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001 +#define TAPE_DRIVE_TENSION 0x80000002 +#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004 +#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008 +#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010 + +#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020 +#define TAPE_DRIVE_TENSION_IMMED 0x80000040 +#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080 + +#define TAPE_DRIVE_SET_ECC 0x80000100 +#define TAPE_DRIVE_SET_COMPRESSION 0x80000200 +#define TAPE_DRIVE_SET_PADDING 0x80000400 +#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800 + +#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000 +#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000 +#define TAPE_DRIVE_LOGICAL_BLK 0x80004000 +#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000 + +#define TAPE_DRIVE_END_OF_DATA 0x80010000 +#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000 +#define TAPE_DRIVE_FILEMARKS 0x80040000 +#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000 + +#define TAPE_DRIVE_SETMARKS 0x80100000 +#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000 +#define TAPE_DRIVE_REVERSE_POSITION 0x80400000 +#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000 + +#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000 +#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000 +#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000 +#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000 + +#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000 +#define TAPE_DRIVE_FORMAT 0xA0000000 +#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000 +#define TAPE_DRIVE_HIGH_FEATURES 0x80000000 + + typedef struct _TAPE_GET_DRIVE_PARAMETERS { + BOOLEAN ECC; + BOOLEAN Compression; + BOOLEAN DataPadding; + BOOLEAN ReportSetmarks; + DWORD DefaultBlockSize; + DWORD MaximumBlockSize; + DWORD MinimumBlockSize; + DWORD MaximumPartitionCount; + DWORD FeaturesLow; + DWORD FeaturesHigh; + DWORD EOTWarningZoneSize; + } TAPE_GET_DRIVE_PARAMETERS,*PTAPE_GET_DRIVE_PARAMETERS; + + typedef struct _TAPE_SET_DRIVE_PARAMETERS { + BOOLEAN ECC; + BOOLEAN Compression; + BOOLEAN DataPadding; + BOOLEAN ReportSetmarks; + DWORD EOTWarningZoneSize; + } TAPE_SET_DRIVE_PARAMETERS,*PTAPE_SET_DRIVE_PARAMETERS; + + typedef struct _TAPE_GET_MEDIA_PARAMETERS { + LARGE_INTEGER Capacity; + LARGE_INTEGER Remaining; + DWORD BlockSize; + DWORD PartitionCount; + BOOLEAN WriteProtected; + } TAPE_GET_MEDIA_PARAMETERS,*PTAPE_GET_MEDIA_PARAMETERS; + + typedef struct _TAPE_SET_MEDIA_PARAMETERS { + DWORD BlockSize; + } TAPE_SET_MEDIA_PARAMETERS,*PTAPE_SET_MEDIA_PARAMETERS; + +#define TAPE_FIXED_PARTITIONS __MSABI_LONG(0) +#define TAPE_SELECT_PARTITIONS __MSABI_LONG(1) +#define TAPE_INITIATOR_PARTITIONS __MSABI_LONG(2) + + typedef struct _TAPE_CREATE_PARTITION { + DWORD Method; + DWORD Count; + DWORD Size; + } TAPE_CREATE_PARTITION,*PTAPE_CREATE_PARTITION; + +#define TAPE_QUERY_DRIVE_PARAMETERS __MSABI_LONG(0) +#define TAPE_QUERY_MEDIA_CAPACITY __MSABI_LONG(1) +#define TAPE_CHECK_FOR_DRIVE_PROBLEM __MSABI_LONG(2) +#define TAPE_QUERY_IO_ERROR_DATA __MSABI_LONG(3) +#define TAPE_QUERY_DEVICE_ERROR_DATA __MSABI_LONG(4) + + typedef struct _TAPE_WMI_OPERATIONS { + DWORD Method; + DWORD DataBufferSize; + PVOID DataBuffer; + } TAPE_WMI_OPERATIONS,*PTAPE_WMI_OPERATIONS; + + typedef enum _TAPE_DRIVE_PROBLEM_TYPE { + TapeDriveProblemNone,TapeDriveReadWriteWarning,TapeDriveReadWriteError,TapeDriveReadWarning,TapeDriveWriteWarning,TapeDriveReadError,TapeDriveWriteError,TapeDriveHardwareError,TapeDriveUnsupportedMedia,TapeDriveScsiConnectionError,TapeDriveTimetoClean,TapeDriveCleanDriveNow,TapeDriveMediaLifeExpired,TapeDriveSnappedTape + } TAPE_DRIVE_PROBLEM_TYPE; +#endif + + typedef DWORD TP_VERSION,*PTP_VERSION; + typedef struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE,*PTP_CALLBACK_INSTANCE; + typedef VOID (NTAPI *PTP_SIMPLE_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context); + typedef struct _TP_POOL TP_POOL,*PTP_POOL; + + typedef enum _TP_CALLBACK_PRIORITY { + TP_CALLBACK_PRIORITY_HIGH, + TP_CALLBACK_PRIORITY_NORMAL, + TP_CALLBACK_PRIORITY_LOW, + TP_CALLBACK_PRIORITY_INVALID, + TP_CALLBACK_PRIORITY_COUNT = TP_CALLBACK_PRIORITY_INVALID + } TP_CALLBACK_PRIORITY; + + typedef struct _TP_POOL_STACK_INFORMATION { + SIZE_T StackReserve; + SIZE_T StackCommit; + } TP_POOL_STACK_INFORMATION, *PTP_POOL_STACK_INFORMATION; + + typedef struct _TP_CLEANUP_GROUP TP_CLEANUP_GROUP,*PTP_CLEANUP_GROUP; + typedef VOID (NTAPI *PTP_CLEANUP_GROUP_CANCEL_CALLBACK) (PVOID ObjectContext, PVOID CleanupContext); + +#if _WIN32_WINNT >= 0x0601 + typedef struct _TP_CALLBACK_ENVIRON_V3 { + TP_VERSION Version; + PTP_POOL Pool; + PTP_CLEANUP_GROUP CleanupGroup; + PTP_CLEANUP_GROUP_CANCEL_CALLBACK CleanupGroupCancelCallback; + PVOID RaceDll; + struct _ACTIVATION_CONTEXT *ActivationContext; + PTP_SIMPLE_CALLBACK FinalizationCallback; + union { + DWORD Flags; + struct { + DWORD LongFunction : 1; + DWORD Persistent : 1; + DWORD Private : 30; + } s; + } u; + TP_CALLBACK_PRIORITY CallbackPriority; + DWORD Size; + } TP_CALLBACK_ENVIRON_V3; + typedef TP_CALLBACK_ENVIRON_V3 TP_CALLBACK_ENVIRON, *PTP_CALLBACK_ENVIRON; +#else + typedef struct _TP_CALLBACK_ENVIRON_V1 { + TP_VERSION Version; + PTP_POOL Pool; + PTP_CLEANUP_GROUP CleanupGroup; + PTP_CLEANUP_GROUP_CANCEL_CALLBACK CleanupGroupCancelCallback; + PVOID RaceDll; + struct _ACTIVATION_CONTEXT *ActivationContext; + PTP_SIMPLE_CALLBACK FinalizationCallback; + union { + DWORD Flags; + struct { + DWORD LongFunction : 1; + DWORD Persistent : 1; + DWORD Private : 30; + } s; + } u; + } TP_CALLBACK_ENVIRON_V1; + typedef TP_CALLBACK_ENVIRON_V1 TP_CALLBACK_ENVIRON,*PTP_CALLBACK_ENVIRON; +#endif + + typedef struct _TP_WORK TP_WORK,*PTP_WORK; + typedef VOID (NTAPI *PTP_WORK_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WORK Work); + typedef struct _TP_TIMER TP_TIMER,*PTP_TIMER; + typedef VOID (NTAPI *PTP_TIMER_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_TIMER Timer); + typedef DWORD TP_WAIT_RESULT; + typedef struct _TP_WAIT TP_WAIT,*PTP_WAIT; + typedef VOID (NTAPI *PTP_WAIT_CALLBACK) (PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WAIT Wait, TP_WAIT_RESULT WaitResult); + typedef struct _TP_IO TP_IO,*PTP_IO; + +#if !defined (__WIDL__) + FORCEINLINE VOID TpInitializeCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) { + cbe->Pool = NULL; + cbe->CleanupGroup = NULL; + cbe->CleanupGroupCancelCallback = NULL; + cbe->RaceDll = NULL; + cbe->ActivationContext = NULL; + cbe->FinalizationCallback = NULL; + cbe->u.Flags = 0; +#if _WIN32_WINNT < 0x0601 + cbe->Version = 1; +#else + cbe->Version = 3; + cbe->CallbackPriority = TP_CALLBACK_PRIORITY_NORMAL; + cbe->Size = sizeof (TP_CALLBACK_ENVIRON); +#endif + } + FORCEINLINE VOID TpSetCallbackThreadpool (PTP_CALLBACK_ENVIRON cbe, PTP_POOL pool) { cbe->Pool = pool; } + FORCEINLINE VOID TpSetCallbackCleanupGroup (PTP_CALLBACK_ENVIRON cbe, PTP_CLEANUP_GROUP cleanup_group, PTP_CLEANUP_GROUP_CANCEL_CALLBACK cleanup_group_cb) { + cbe->CleanupGroup = cleanup_group; + cbe->CleanupGroupCancelCallback = cleanup_group_cb; + } + FORCEINLINE VOID TpSetCallbackActivationContext (PTP_CALLBACK_ENVIRON cbe, struct _ACTIVATION_CONTEXT *actx) { cbe->ActivationContext = actx; } + FORCEINLINE VOID TpSetCallbackNoActivationContext (PTP_CALLBACK_ENVIRON cbe) { cbe->ActivationContext = (struct _ACTIVATION_CONTEXT *) (LONG_PTR) -1; } + FORCEINLINE VOID TpSetCallbackLongFunction (PTP_CALLBACK_ENVIRON cbe) { cbe->u.s.LongFunction = 1; } + FORCEINLINE VOID TpSetCallbackRaceWithDll (PTP_CALLBACK_ENVIRON cbe, PVOID h) { cbe->RaceDll = h; } + FORCEINLINE VOID TpSetCallbackFinalizationCallback (PTP_CALLBACK_ENVIRON cbe, PTP_SIMPLE_CALLBACK fini_cb) { cbe->FinalizationCallback = fini_cb; } +#if _WIN32_WINNT >= 0x0601 + FORCEINLINE VOID TpSetCallbackPriority (PTP_CALLBACK_ENVIRON cbe, TP_CALLBACK_PRIORITY prio) { cbe->CallbackPriority = prio; } +#endif + FORCEINLINE VOID TpSetCallbackPersistent (PTP_CALLBACK_ENVIRON cbe) { cbe->u.s.Persistent = 1; } + FORCEINLINE VOID TpDestroyCallbackEnviron (PTP_CALLBACK_ENVIRON cbe) { UNREFERENCED_PARAMETER (cbe); } +#endif + +#if !defined(__ia64__) && !defined (__WIDL__) + struct _TEB *NtCurrentTeb(VOID); + PVOID GetCurrentFiber(VOID); + PVOID GetFiberData(VOID); + +#if defined (__aarch64__) || defined(__arm64ec__) + register struct _TEB *__mingw_current_teb __asm__("x18"); + FORCEINLINE struct _TEB *NtCurrentTeb(VOID) + { + return __mingw_current_teb; + } + FORCEINLINE PVOID GetCurrentFiber(VOID) + { + return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); + } +#elif defined(__x86_64__) + FORCEINLINE struct _TEB *NtCurrentTeb(VOID) + { + return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB,Self)); + } + FORCEINLINE PVOID GetCurrentFiber(VOID) + { + return (PVOID)__readgsqword(FIELD_OFFSET(NT_TIB,FiberData)); + } +#elif defined(__i386__) +# define PcTeb 0x18 + FORCEINLINE struct _TEB *NtCurrentTeb(void) + { + return (struct _TEB *)__readfsdword(PcTeb); + } + FORCEINLINE PVOID GetCurrentFiber(void) + { + return (PVOID)__readfsdword(0x10); + } +#elif defined (__arm__) + FORCEINLINE struct _TEB *NtCurrentTeb(VOID) + { + struct _TEB *teb; + __asm ("mrc p15, 0, %0, c13, c0, 2" : "=r" (teb)); + return teb; + } + FORCEINLINE PVOID GetCurrentFiber(VOID) + { + return (PVOID)(((PNT_TIB)NtCurrentTeb())->FiberData); + } +#endif + + FORCEINLINE PVOID GetFiberData (VOID) { return *(void **)GetCurrentFiber (); } +#endif /* !defined(__ia64__) && !defined (__WIDL__) */ + +#ifndef _NTTMAPI_ +#define _NTTMAPI_ + +#ifdef __cplusplus + extern "C" { +#endif + +#include + +#define TRANSACTIONMANAGER_QUERY_INFORMATION 0x00001 +#define TRANSACTIONMANAGER_SET_INFORMATION 0x00002 +#define TRANSACTIONMANAGER_RECOVER 0x00004 +#define TRANSACTIONMANAGER_RENAME 0x00008 +#define TRANSACTIONMANAGER_CREATE_RM 0x00010 +#define TRANSACTIONMANAGER_BIND_TRANSACTION 0x00020 + +#define TRANSACTIONMANAGER_GENERIC_READ (STANDARD_RIGHTS_READ | TRANSACTIONMANAGER_QUERY_INFORMATION) +#define TRANSACTIONMANAGER_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | TRANSACTIONMANAGER_SET_INFORMATION | TRANSACTIONMANAGER_RECOVER | TRANSACTIONMANAGER_RENAME | TRANSACTIONMANAGER_CREATE_RM) +#define TRANSACTIONMANAGER_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE) +#define TRANSACTIONMANAGER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | TRANSACTIONMANAGER_GENERIC_READ | TRANSACTIONMANAGER_GENERIC_WRITE | TRANSACTIONMANAGER_GENERIC_EXECUTE | TRANSACTIONMANAGER_BIND_TRANSACTION) + +#define TRANSACTION_QUERY_INFORMATION (0x0001) +#define TRANSACTION_SET_INFORMATION (0x0002) +#define TRANSACTION_ENLIST (0x0004) +#define TRANSACTION_COMMIT (0x0008) +#define TRANSACTION_ROLLBACK (0x0010) +#define TRANSACTION_PROPAGATE (0x0020) +#define TRANSACTION_RIGHT_RESERVED1 (0x0040) + +#define TRANSACTION_GENERIC_READ (STANDARD_RIGHTS_READ | TRANSACTION_QUERY_INFORMATION | SYNCHRONIZE) +#define TRANSACTION_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | TRANSACTION_SET_INFORMATION | TRANSACTION_COMMIT | TRANSACTION_ENLIST | TRANSACTION_ROLLBACK | TRANSACTION_PROPAGATE | SYNCHRONIZE) +#define TRANSACTION_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE | TRANSACTION_COMMIT | TRANSACTION_ROLLBACK | SYNCHRONIZE) +#define TRANSACTION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | TRANSACTION_GENERIC_READ | TRANSACTION_GENERIC_WRITE | TRANSACTION_GENERIC_EXECUTE) +#define TRANSACTION_RESOURCE_MANAGER_RIGHTS (TRANSACTION_GENERIC_READ | STANDARD_RIGHTS_WRITE | TRANSACTION_SET_INFORMATION | TRANSACTION_ENLIST | TRANSACTION_ROLLBACK | TRANSACTION_PROPAGATE | SYNCHRONIZE) + +#define RESOURCEMANAGER_QUERY_INFORMATION (0x0001) +#define RESOURCEMANAGER_SET_INFORMATION (0x0002) +#define RESOURCEMANAGER_RECOVER (0x0004) +#define RESOURCEMANAGER_ENLIST (0x0008) +#define RESOURCEMANAGER_GET_NOTIFICATION (0x0010) +#define RESOURCEMANAGER_REGISTER_PROTOCOL (0x0020) +#define RESOURCEMANAGER_COMPLETE_PROPAGATION (0x0040) + +#define RESOURCEMANAGER_GENERIC_READ (STANDARD_RIGHTS_READ | RESOURCEMANAGER_QUERY_INFORMATION | SYNCHRONIZE) +#define RESOURCEMANAGER_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | RESOURCEMANAGER_SET_INFORMATION | RESOURCEMANAGER_RECOVER | RESOURCEMANAGER_ENLIST | RESOURCEMANAGER_GET_NOTIFICATION | RESOURCEMANAGER_REGISTER_PROTOCOL | RESOURCEMANAGER_COMPLETE_PROPAGATION | SYNCHRONIZE) +#define RESOURCEMANAGER_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE | RESOURCEMANAGER_RECOVER | RESOURCEMANAGER_ENLIST | RESOURCEMANAGER_GET_NOTIFICATION | RESOURCEMANAGER_COMPLETE_PROPAGATION | SYNCHRONIZE) +#define RESOURCEMANAGER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | RESOURCEMANAGER_GENERIC_READ | RESOURCEMANAGER_GENERIC_WRITE | RESOURCEMANAGER_GENERIC_EXECUTE) + +#define ENLISTMENT_QUERY_INFORMATION 1 +#define ENLISTMENT_SET_INFORMATION 2 +#define ENLISTMENT_RECOVER 4 +#define ENLISTMENT_SUBORDINATE_RIGHTS 8 +#define ENLISTMENT_SUPERIOR_RIGHTS 0x10 + +#define ENLISTMENT_GENERIC_READ (STANDARD_RIGHTS_READ | ENLISTMENT_QUERY_INFORMATION) +#define ENLISTMENT_GENERIC_WRITE (STANDARD_RIGHTS_WRITE | ENLISTMENT_SET_INFORMATION | ENLISTMENT_RECOVER | ENLISTMENT_SUBORDINATE_RIGHTS | ENLISTMENT_SUPERIOR_RIGHTS) +#define ENLISTMENT_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE | ENLISTMENT_RECOVER | ENLISTMENT_SUBORDINATE_RIGHTS | ENLISTMENT_SUPERIOR_RIGHTS) +#define ENLISTMENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | ENLISTMENT_GENERIC_READ | ENLISTMENT_GENERIC_WRITE | ENLISTMENT_GENERIC_EXECUTE) + + typedef enum _TRANSACTION_OUTCOME { + TransactionOutcomeUndetermined = 1, + TransactionOutcomeCommitted, + TransactionOutcomeAborted, + } TRANSACTION_OUTCOME; + + typedef enum _TRANSACTION_STATE { + TransactionStateNormal = 1, + TransactionStateIndoubt, + TransactionStateCommittedNotify, + } TRANSACTION_STATE; + + typedef struct _TRANSACTION_BASIC_INFORMATION { + GUID TransactionId; + DWORD State; + DWORD Outcome; + } TRANSACTION_BASIC_INFORMATION,*PTRANSACTION_BASIC_INFORMATION; + + typedef struct _TRANSACTIONMANAGER_BASIC_INFORMATION { + GUID TmIdentity; + LARGE_INTEGER VirtualClock; + } TRANSACTIONMANAGER_BASIC_INFORMATION,*PTRANSACTIONMANAGER_BASIC_INFORMATION; + + typedef struct _TRANSACTIONMANAGER_LOG_INFORMATION { + GUID LogIdentity; + } TRANSACTIONMANAGER_LOG_INFORMATION,*PTRANSACTIONMANAGER_LOG_INFORMATION; + + typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION { + DWORD LogPathLength; + WCHAR LogPath[1]; + } TRANSACTIONMANAGER_LOGPATH_INFORMATION,*PTRANSACTIONMANAGER_LOGPATH_INFORMATION; + + typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION { + ULONGLONG LastRecoveredLsn; + } TRANSACTIONMANAGER_RECOVERY_INFORMATION,*PTRANSACTIONMANAGER_RECOVERY_INFORMATION; + + typedef struct _TRANSACTIONMANAGER_OLDEST_INFORMATION { + GUID OldestTransactionGuid; + } TRANSACTIONMANAGER_OLDEST_INFORMATION,*PTRANSACTIONMANAGER_OLDEST_INFORMATION; + + typedef struct _TRANSACTION_PROPERTIES_INFORMATION { + DWORD IsolationLevel; + DWORD IsolationFlags; + LARGE_INTEGER Timeout; + DWORD Outcome; + DWORD DescriptionLength; + WCHAR Description[1]; + } TRANSACTION_PROPERTIES_INFORMATION,*PTRANSACTION_PROPERTIES_INFORMATION; + + typedef struct _TRANSACTION_BIND_INFORMATION { + HANDLE TmHandle; + } TRANSACTION_BIND_INFORMATION,*PTRANSACTION_BIND_INFORMATION; + + typedef struct _TRANSACTION_ENLISTMENT_PAIR { + GUID EnlistmentId; + GUID ResourceManagerId; + } TRANSACTION_ENLISTMENT_PAIR,*PTRANSACTION_ENLISTMENT_PAIR; + + typedef struct _TRANSACTION_ENLISTMENTS_INFORMATION { + DWORD NumberOfEnlistments; + TRANSACTION_ENLISTMENT_PAIR EnlistmentPair[1]; + } TRANSACTION_ENLISTMENTS_INFORMATION,*PTRANSACTION_ENLISTMENTS_INFORMATION; + + typedef struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION { + TRANSACTION_ENLISTMENT_PAIR SuperiorEnlistmentPair; + } TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION,*PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; + + typedef struct _RESOURCEMANAGER_BASIC_INFORMATION { + GUID ResourceManagerId; + DWORD DescriptionLength; + WCHAR Description[1]; + } RESOURCEMANAGER_BASIC_INFORMATION,*PRESOURCEMANAGER_BASIC_INFORMATION; + + typedef struct _RESOURCEMANAGER_COMPLETION_INFORMATION { + HANDLE IoCompletionPortHandle; + ULONG_PTR CompletionKey; + } RESOURCEMANAGER_COMPLETION_INFORMATION,*PRESOURCEMANAGER_COMPLETION_INFORMATION; + + typedef enum _TRANSACTION_INFORMATION_CLASS { + TransactionBasicInformation, + TransactionPropertiesInformation, + TransactionEnlistmentInformation, + TransactionSuperiorEnlistmentInformation, + TransactionBindInformation, + TransactionDTCPrivateInformation + } TRANSACTION_INFORMATION_CLASS; + + typedef enum _TRANSACTIONMANAGER_INFORMATION_CLASS { + TransactionManagerBasicInformation, + TransactionManagerLogInformation, + TransactionManagerLogPathInformation, + TransactionManagerOnlineProbeInformation = 3, + TransactionManagerRecoveryInformation = 4, + TransactionManagerOldestTransactionInformation = 5 + } TRANSACTIONMANAGER_INFORMATION_CLASS; + + typedef enum _RESOURCEMANAGER_INFORMATION_CLASS { + ResourceManagerBasicInformation, + ResourceManagerCompletionInformation + } RESOURCEMANAGER_INFORMATION_CLASS; + + typedef struct _ENLISTMENT_BASIC_INFORMATION { + GUID EnlistmentId; + GUID TransactionId; + GUID ResourceManagerId; + } ENLISTMENT_BASIC_INFORMATION,*PENLISTMENT_BASIC_INFORMATION; + + typedef struct _ENLISTMENT_CRM_INFORMATION { + GUID CrmTransactionManagerId; + GUID CrmResourceManagerId; + GUID CrmEnlistmentId; + } ENLISTMENT_CRM_INFORMATION,*PENLISTMENT_CRM_INFORMATION; + + typedef enum _ENLISTMENT_INFORMATION_CLASS { + EnlistmentBasicInformation, + EnlistmentRecoveryInformation, + EnlistmentCrmInformation + } ENLISTMENT_INFORMATION_CLASS; + + typedef struct _TRANSACTION_LIST_ENTRY { + /*UOW*/ GUID UOW; + } TRANSACTION_LIST_ENTRY,*PTRANSACTION_LIST_ENTRY; + + typedef struct _TRANSACTION_LIST_INFORMATION { + DWORD NumberOfTransactions; + TRANSACTION_LIST_ENTRY TransactionInformation[1]; + } TRANSACTION_LIST_INFORMATION,*PTRANSACTION_LIST_INFORMATION; + + typedef enum _KTMOBJECT_TYPE { + KTMOBJECT_TRANSACTION, + KTMOBJECT_TRANSACTION_MANAGER, + KTMOBJECT_RESOURCE_MANAGER, + KTMOBJECT_ENLISTMENT, + KTMOBJECT_INVALID + } KTMOBJECT_TYPE,*PKTMOBJECT_TYPE; + + typedef struct _KTMOBJECT_CURSOR { + GUID LastQuery; + DWORD ObjectIdCount; + GUID ObjectIds[1]; + } KTMOBJECT_CURSOR,*PKTMOBJECT_CURSOR; + +#ifdef __cplusplus + } +#endif + +#endif + +/* Field Names From (See _fields_ section) + * FIXME: Verify these against documentation + * -- These documentation describes Win32 Constants and Structures in Python -- + * Constants - http://packages.python.org/winappdbg/winappdbg.win32.context_i386-pysrc.html + * WOW64_FLOATING_SAVE_AREA - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_FLOATING_SAVE_AREA-class.html + * WOW64_CONTEXT - http://packages.python.org/winappdbg/winappdbg.win32.context_amd64.WOW64_CONTEXT-class.html + */ + +#define WOW64_CONTEXT_i386 0x00010000 +#define WOW64_CONTEXT_i486 0x00010000 +#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001)) +#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000002)) +#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000004)) +#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000008)) +#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000010)) +#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000020)) +#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS) +#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS) + +#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000040)) + +#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000 +#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000 +#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000 +#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000 + +#define WOW64_SIZE_OF_80387_REGISTERS 80 +#define WOW64_MAXIMUM_SUPPORTED_EXTENSION 512 + +typedef struct _WOW64_FLOATING_SAVE_AREA { + DWORD ControlWord; + DWORD StatusWord; + DWORD TagWord; + DWORD ErrorOffset; + DWORD ErrorSelector; + DWORD DataOffset; + DWORD DataSelector; + BYTE RegisterArea[WOW64_SIZE_OF_80387_REGISTERS]; + DWORD Cr0NpxState; +} WOW64_FLOATING_SAVE_AREA, *PWOW64_FLOATING_SAVE_AREA; + +#include "pshpack4.h" +typedef struct _WOW64_CONTEXT { + DWORD ContextFlags; + DWORD Dr0; + DWORD Dr1; + DWORD Dr2; + DWORD Dr3; + DWORD Dr6; + DWORD Dr7; + WOW64_FLOATING_SAVE_AREA FloatSave; + DWORD SegGs; + DWORD SegFs; + DWORD SegEs; + DWORD SegDs; + DWORD Edi; + DWORD Esi; + DWORD Ebx; + DWORD Edx; + DWORD Ecx; + DWORD Eax; + DWORD Ebp; + DWORD Eip; + DWORD SegCs; + DWORD EFlags; + DWORD Esp; + DWORD SegSs; + BYTE ExtendedRegisters[WOW64_MAXIMUM_SUPPORTED_EXTENSION]; +} WOW64_CONTEXT, *PWOW64_CONTEXT; +#include "poppack.h" + +typedef struct _WOW64_LDT_ENTRY { + WORD LimitLow; + WORD BaseLow; + __C89_NAMELESS union { + struct { + BYTE BaseMid; + BYTE Flags1; + BYTE Flags2; + BYTE BaseHi; + } Bytes; + struct { + DWORD BaseMid :8; + DWORD Type :5; + DWORD Dpl :2; + DWORD Pres :1; + DWORD LimitHi :4; + DWORD Sys :1; + DWORD Reserved_0 :1; + DWORD Default_Big :1; + DWORD Granularity :1; + DWORD BaseHi :8; + } Bits; + } HighWord; +} WOW64_LDT_ENTRY, *PWOW64_LDT_ENTRY; + + typedef struct _WOW64_DESCRIPTOR_TABLE_ENTRY { + DWORD Selector; + WOW64_LDT_ENTRY Descriptor; + } WOW64_DESCRIPTOR_TABLE_ENTRY,*PWOW64_DESCRIPTOR_TABLE_ENTRY; + +#if (_WIN32_WINNT >= 0x0601) + +#ifndef ___PROCESSOR_NUMBER_DEFINED +#define ___PROCESSOR_NUMBER_DEFINED +typedef struct _PROCESSOR_NUMBER { + WORD Group; + BYTE Number; + BYTE Reserved; +} PROCESSOR_NUMBER, *PPROCESSOR_NUMBER; + +#define ALL_PROCESSOR_GROUPS 0xffff +#endif /* !___PROCESSOR_NUMBER_DEFINED */ + +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION (1) +#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION (2) +#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION (3) +#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION (4) +#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION (5) +#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION (6) +#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION (7) +#define ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE (8) +#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES (9) +#define ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS (10) +#define ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO (11) +#define ACTIVATION_CONTEXT_SECTION_WINRT_ACTIVATABLE_CLASSES (12) + +#ifdef __cplusplus +} +#endif + +#endif /* _WINNT_ */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.rh b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.rh new file mode 100644 index 00000000..13a73943 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winnt.rh @@ -0,0 +1,426 @@ +/** + * 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. + */ +#if defined(UNICODE) +#define __TEXT(quote) L##quote +#else +#define __TEXT(quote) quote +#endif + +#define TEXT(quote) __TEXT(quote) + +#define LANG_NEUTRAL 0x00 +#define LANG_INVARIANT 0x7f + +#define LANG_AFRIKAANS 0x36 +#define LANG_ALBANIAN 0x1c +#define LANG_ALSATIAN 0x84 +#define LANG_AMHARIC 0x5e +#define LANG_ARABIC 0x01 +#define LANG_ARMENIAN 0x2b +#define LANG_ASSAMESE 0x4d +#define LANG_AZERI 0x2c +#define LANG_AZERBAIJANI 0x2c +#define LANG_BANGLA 0x45 +#define LANG_BASHKIR 0x6d +#define LANG_BASQUE 0x2d +#define LANG_BELARUSIAN 0x23 +#define LANG_BENGALI 0x45 +#define LANG_BRETON 0x7e +#define LANG_BOSNIAN 0x1a +#define LANG_BOSNIAN_NEUTRAL 0x781a +#define LANG_BULGARIAN 0x02 +#define LANG_CATALAN 0x03 +#define LANG_CENTRAL_KURDISH 0x92 +#define LANG_CHEROKEE 0x5c +#define LANG_CHINESE 0x04 +#define LANG_CHINESE_SIMPLIFIED 0x04 +#define LANG_CHINESE_TRADITIONAL 0x7c04 +#define LANG_CORSICAN 0x83 +#define LANG_CROATIAN 0x1a +#define LANG_CZECH 0x05 +#define LANG_DANISH 0x06 +#define LANG_DARI 0x8c +#define LANG_DIVEHI 0x65 +#define LANG_DUTCH 0x13 +#define LANG_ENGLISH 0x09 +#define LANG_ESTONIAN 0x25 +#define LANG_FAEROESE 0x38 +#define LANG_FARSI 0x29 +#define LANG_FILIPINO 0x64 +#define LANG_FINNISH 0x0b +#define LANG_FRENCH 0x0c +#define LANG_FRISIAN 0x62 +#define LANG_FULAH 0x67 +#define LANG_GALICIAN 0x56 +#define LANG_GEORGIAN 0x37 +#define LANG_GERMAN 0x07 +#define LANG_GREEK 0x08 +#define LANG_GREENLANDIC 0x6f +#define LANG_GUJARATI 0x47 +#define LANG_HAUSA 0x68 +#define LANG_HAWAIIAN 0x75 +#define LANG_HEBREW 0x0d +#define LANG_HINDI 0x39 +#define LANG_HUNGARIAN 0x0e +#define LANG_ICELANDIC 0x0f +#define LANG_IGBO 0x70 +#define LANG_INDONESIAN 0x21 +#define LANG_INUKTITUT 0x5d +#define LANG_IRISH 0x3c +#define LANG_ITALIAN 0x10 +#define LANG_JAPANESE 0x11 +#define LANG_KANNADA 0x4b +#define LANG_KASHMIRI 0x60 +#define LANG_KAZAK 0x3f +#define LANG_KHMER 0x53 +#define LANG_KICHE 0x86 +#define LANG_KINYARWANDA 0x87 +#define LANG_KONKANI 0x57 +#define LANG_KOREAN 0x12 +#define LANG_KYRGYZ 0x40 +#define LANG_LAO 0x54 +#define LANG_LATVIAN 0x26 +#define LANG_LITHUANIAN 0x27 +#define LANG_LOWER_SORBIAN 0x2e +#define LANG_LUXEMBOURGISH 0x6e +#define LANG_MACEDONIAN 0x2f +#define LANG_MALAY 0x3e +#define LANG_MALAYALAM 0x4c +#define LANG_MALTESE 0x3a +#define LANG_MANIPURI 0x58 +#define LANG_MAORI 0x81 +#define LANG_MAPUDUNGUN 0x7a +#define LANG_MARATHI 0x4e +#define LANG_MOHAWK 0x7c +#define LANG_MONGOLIAN 0x50 +#define LANG_NEPALI 0x61 +#define LANG_NORWEGIAN 0x14 +#define LANG_OCCITAN 0x82 +#define LANG_ODIA 0x48 +#define LANG_ORIYA 0x48 +#define LANG_PASHTO 0x63 +#define LANG_PERSIAN 0x29 +#define LANG_POLISH 0x15 +#define LANG_PORTUGUESE 0x16 +#define LANG_PULAR 0x67 +#define LANG_PUNJABI 0x46 +#define LANG_QUECHUA 0x6b +#define LANG_ROMANIAN 0x18 +#define LANG_ROMANSH 0x17 +#define LANG_RUSSIAN 0x19 +#define LANG_SAKHA 0x85 +#define LANG_SAMI 0x3b +#define LANG_SANSKRIT 0x4f +#define LANG_SCOTTISH_GAELIC 0x91 +#define LANG_SERBIAN 0x1a +#define LANG_SERBIAN_NEUTRAL 0x7c1a +#define LANG_SINDHI 0x59 +#define LANG_SINHALESE 0x5b +#define LANG_SLOVAK 0x1b +#define LANG_SLOVENIAN 0x24 +#define LANG_SOTHO 0x6c +#define LANG_SPANISH 0x0a +#define LANG_SWAHILI 0x41 +#define LANG_SWEDISH 0x1d +#define LANG_SYRIAC 0x5a +#define LANG_TAJIK 0x28 +#define LANG_TAMAZIGHT 0x5f +#define LANG_TAMIL 0x49 +#define LANG_TATAR 0x44 +#define LANG_TELUGU 0x4a +#define LANG_THAI 0x1e +#define LANG_TIBETAN 0x51 +#define LANG_TIGRIGNA 0x73 +#define LANG_TIGRINYA 0x73 +#define LANG_TSWANA 0x32 +#define LANG_TURKISH 0x1f +#define LANG_TURKMEN 0x42 +#define LANG_UIGHUR 0x80 +#define LANG_UKRAINIAN 0x22 +#define LANG_UPPER_SORBIAN 0x2e +#define LANG_URDU 0x20 +#define LANG_UZBEK 0x43 +#define LANG_VALENCIAN 0x03 +#define LANG_VIETNAMESE 0x2a +#define LANG_WELSH 0x52 +#define LANG_WOLOF 0x88 +#define LANG_XHOSA 0x34 +#define LANG_YAKUT 0x85 +#define LANG_YI 0x78 +#define LANG_YORUBA 0x6a +#define LANG_ZULU 0x35 + +#define SUBLANG_NEUTRAL 0x00 +#define SUBLANG_DEFAULT 0x01 +#define SUBLANG_SYS_DEFAULT 0x02 +#define SUBLANG_CUSTOM_DEFAULT 0x03 +#define SUBLANG_CUSTOM_UNSPECIFIED 0x04 +#define SUBLANG_UI_CUSTOM_DEFAULT 0x05 + +#define SUBLANG_AFRIKAANS_SOUTH_AFRICA 0x01 +#define SUBLANG_ALBANIAN_ALBANIA 0x01 +#define SUBLANG_ALSATIAN_FRANCE 0x01 +#define SUBLANG_AMHARIC_ETHIOPIA 0x01 +#define SUBLANG_ARABIC_SAUDI_ARABIA 0x01 +#define SUBLANG_ARABIC_IRAQ 0x02 +#define SUBLANG_ARABIC_EGYPT 0x03 +#define SUBLANG_ARABIC_LIBYA 0x04 +#define SUBLANG_ARABIC_ALGERIA 0x05 +#define SUBLANG_ARABIC_MOROCCO 0x06 +#define SUBLANG_ARABIC_TUNISIA 0x07 +#define SUBLANG_ARABIC_OMAN 0x08 +#define SUBLANG_ARABIC_YEMEN 0x09 +#define SUBLANG_ARABIC_SYRIA 0x0a +#define SUBLANG_ARABIC_JORDAN 0x0b +#define SUBLANG_ARABIC_LEBANON 0x0c +#define SUBLANG_ARABIC_KUWAIT 0x0d +#define SUBLANG_ARABIC_UAE 0x0e +#define SUBLANG_ARABIC_BAHRAIN 0x0f +#define SUBLANG_ARABIC_QATAR 0x10 +#define SUBLANG_ARMENIAN_ARMENIA 0x01 +#define SUBLANG_ASSAMESE_INDIA 0x01 +#define SUBLANG_AZERI_LATIN 0x01 +#define SUBLANG_AZERI_CYRILLIC 0x02 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_LATIN 0x01 +#define SUBLANG_AZERBAIJANI_AZERBAIJAN_CYRILLIC 0x02 +#define SUBLANG_BANGLA_INDIA 0x01 +#define SUBLANG_BANGLA_BANGLADESH 0x02 +#define SUBLANG_BASHKIR_RUSSIA 0x01 +#define SUBLANG_BASQUE_BASQUE 0x01 +#define SUBLANG_BELARUSIAN_BELARUS 0x01 +#define SUBLANG_BENGALI_INDIA 0x01 +#define SUBLANG_BENGALI_BANGLADESH 0x02 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN 0x05 +#define SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x08 +#define SUBLANG_BRETON_FRANCE 0x01 +#define SUBLANG_BULGARIAN_BULGARIA 0x01 +#define SUBLANG_CATALAN_CATALAN 0x01 +#define SUBLANG_CENTRAL_KURDISH_IRAQ 0x01 +#define SUBLANG_CHEROKEE_CHEROKEE 0x01 +#define SUBLANG_CHINESE_TRADITIONAL 0x01 +#define SUBLANG_CHINESE_SIMPLIFIED 0x02 +#define SUBLANG_CHINESE_HONGKONG 0x03 +#define SUBLANG_CHINESE_SINGAPORE 0x04 +#define SUBLANG_CHINESE_MACAU 0x05 +#define SUBLANG_CORSICAN_FRANCE 0x01 +#define SUBLANG_CZECH_CZECH_REPUBLIC 0x01 +#define SUBLANG_CROATIAN_CROATIA 0x01 +#define SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN 0x04 +#define SUBLANG_DANISH_DENMARK 0x01 +#define SUBLANG_DARI_AFGHANISTAN 0x01 +#define SUBLANG_DIVEHI_MALDIVES 0x01 +#define SUBLANG_DUTCH 0x01 +#define SUBLANG_DUTCH_BELGIAN 0x02 +#define SUBLANG_ENGLISH_US 0x01 +#define SUBLANG_ENGLISH_UK 0x02 +#define SUBLANG_ENGLISH_AUS 0x03 +#define SUBLANG_ENGLISH_CAN 0x04 +#define SUBLANG_ENGLISH_NZ 0x05 +#define SUBLANG_ENGLISH_EIRE 0x06 +#define SUBLANG_ENGLISH_SOUTH_AFRICA 0x07 +#define SUBLANG_ENGLISH_JAMAICA 0x08 +#define SUBLANG_ENGLISH_CARIBBEAN 0x09 +#define SUBLANG_ENGLISH_BELIZE 0x0a +#define SUBLANG_ENGLISH_TRINIDAD 0x0b +#define SUBLANG_ENGLISH_ZIMBABWE 0x0c +#define SUBLANG_ENGLISH_PHILIPPINES 0x0d +#define SUBLANG_ENGLISH_INDIA 0x10 +#define SUBLANG_ENGLISH_MALAYSIA 0x11 +#define SUBLANG_ENGLISH_SINGAPORE 0x12 +#define SUBLANG_ESTONIAN_ESTONIA 0x01 +#define SUBLANG_FAEROESE_FAROE_ISLANDS 0x01 +#define SUBLANG_FILIPINO_PHILIPPINES 0x01 +#define SUBLANG_FINNISH_FINLAND 0x01 +#define SUBLANG_FRENCH 0x01 +#define SUBLANG_FRENCH_BELGIAN 0x02 +#define SUBLANG_FRENCH_CANADIAN 0x03 +#define SUBLANG_FRENCH_SWISS 0x04 +#define SUBLANG_FRENCH_LUXEMBOURG 0x05 +#define SUBLANG_FRENCH_MONACO 0x06 +#define SUBLANG_FRISIAN_NETHERLANDS 0x01 +#define SUBLANG_FULAH_SENEGAL 0x02 +#define SUBLANG_GALICIAN_GALICIAN 0x01 +#define SUBLANG_GEORGIAN_GEORGIA 0x01 +#define SUBLANG_GERMAN 0x01 +#define SUBLANG_GERMAN_SWISS 0x02 +#define SUBLANG_GERMAN_AUSTRIAN 0x03 +#define SUBLANG_GERMAN_LUXEMBOURG 0x04 +#define SUBLANG_GERMAN_LIECHTENSTEIN 0x05 +#define SUBLANG_GREEK_GREECE 0x01 +#define SUBLANG_GREENLANDIC_GREENLAND 0x01 +#define SUBLANG_GUJARATI_INDIA 0x01 +#define SUBLANG_HAUSA_NIGERIA_LATIN 0x01 +#define SUBLANG_HAWAIIAN_US 0x01 +#define SUBLANG_HEBREW_ISRAEL 0x01 +#define SUBLANG_HINDI_INDIA 0x01 +#define SUBLANG_HUNGARIAN_HUNGARY 0x01 +#define SUBLANG_ICELANDIC_ICELAND 0x01 +#define SUBLANG_IGBO_NIGERIA 0x01 +#define SUBLANG_INDONESIAN_INDONESIA 0x01 +#define SUBLANG_INUKTITUT_CANADA 0x01 +#define SUBLANG_INUKTITUT_CANADA_LATIN 0x02 +#define SUBLANG_IRISH_IRELAND 0x02 +#define SUBLANG_ITALIAN 0x01 +#define SUBLANG_ITALIAN_SWISS 0x02 +#define SUBLANG_JAPANESE_JAPAN 0x01 +#define SUBLANG_KANNADA_INDIA 0x01 +#define SUBLANG_KASHMIRI_SASIA 0x02 +#define SUBLANG_KASHMIRI_INDIA 0x02 +#define SUBLANG_KAZAK_KAZAKHSTAN 0x01 +#define SUBLANG_KHMER_CAMBODIA 0x01 +#define SUBLANG_KICHE_GUATEMALA 0x01 +#define SUBLANG_KINYARWANDA_RWANDA 0x01 +#define SUBLANG_KONKANI_INDIA 0x01 +#define SUBLANG_KOREAN 0x01 +#define SUBLANG_KYRGYZ_KYRGYZSTAN 0x01 +#define SUBLANG_LAO_LAO 0x01 +#define SUBLANG_LATVIAN_LATVIA 0x01 +#define SUBLANG_LITHUANIAN 0x01 +#define SUBLANG_LOWER_SORBIAN_GERMANY 0x02 +#define SUBLANG_LUXEMBOURGISH_LUXEMBOURG 0x01 +#define SUBLANG_MACEDONIAN_MACEDONIA 0x01 +#define SUBLANG_MALAY_MALAYSIA 0x01 +#define SUBLANG_MALAY_BRUNEI_DARUSSALAM 0x02 +#define SUBLANG_MALAYALAM_INDIA 0x01 +#define SUBLANG_MALTESE_MALTA 0x01 +#define SUBLANG_MAORI_NEW_ZEALAND 0x01 +#define SUBLANG_MAPUDUNGUN_CHILE 0x01 +#define SUBLANG_MARATHI_INDIA 0x01 +#define SUBLANG_MOHAWK_MOHAWK 0x01 +#define SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA 0x01 +#define SUBLANG_MONGOLIAN_PRC 0x02 +#define SUBLANG_NEPALI_INDIA 0x02 +#define SUBLANG_NEPALI_NEPAL 0x01 +#define SUBLANG_NORWEGIAN_BOKMAL 0x01 +#define SUBLANG_NORWEGIAN_NYNORSK 0x02 +#define SUBLANG_OCCITAN_FRANCE 0x01 +#define SUBLANG_ODIA_INDIA 0x01 +#define SUBLANG_ORIYA_INDIA 0x01 +#define SUBLANG_PASHTO_AFGHANISTAN 0x01 +#define SUBLANG_PERSIAN_IRAN 0x01 +#define SUBLANG_POLISH_POLAND 0x01 +#define SUBLANG_PORTUGUESE 0x02 +#define SUBLANG_PORTUGUESE_BRAZILIAN 0x01 +#define SUBLANG_PULAR_SENEGAL 0x02 +#define SUBLANG_PUNJABI_INDIA 0x01 +#define SUBLANG_PUNJABI_PAKISTAN 0x02 +#define SUBLANG_QUECHUA_BOLIVIA 0x01 +#define SUBLANG_QUECHUA_ECUADOR 0x02 +#define SUBLANG_QUECHUA_PERU 0x03 +#define SUBLANG_ROMANIAN_ROMANIA 0x01 +#define SUBLANG_ROMANSH_SWITZERLAND 0x01 +#define SUBLANG_RUSSIAN_RUSSIA 0x01 +#define SUBLANG_SAKHA_RUSSIA 0x01 +#define SUBLANG_SAMI_NORTHERN_NORWAY 0x01 +#define SUBLANG_SAMI_NORTHERN_SWEDEN 0x02 +#define SUBLANG_SAMI_NORTHERN_FINLAND 0x03 +#define SUBLANG_SAMI_LULE_NORWAY 0x04 +#define SUBLANG_SAMI_LULE_SWEDEN 0x05 +#define SUBLANG_SAMI_SOUTHERN_NORWAY 0x06 +#define SUBLANG_SAMI_SOUTHERN_SWEDEN 0x07 +#define SUBLANG_SAMI_SKOLT_FINLAND 0x08 +#define SUBLANG_SAMI_INARI_FINLAND 0x09 +#define SUBLANG_SANSKRIT_INDIA 0x01 +#define SUBLANG_SCOTTISH_GAELIC 0x01 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN 0x06 +#define SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC 0x07 +#define SUBLANG_SERBIAN_MONTENEGRO_LATIN 0x0b +#define SUBLANG_SERBIAN_MONTENEGRO_CYRILLIC 0x0c +#define SUBLANG_SERBIAN_SERBIA_LATIN 0x09 +#define SUBLANG_SERBIAN_SERBIA_CYRILLIC 0x0a +#define SUBLANG_SERBIAN_CROATIA 0x01 +#define SUBLANG_SERBIAN_LATIN 0x02 +#define SUBLANG_SERBIAN_CYRILLIC 0x03 +#define SUBLANG_SINDHI_INDIA 0x01 +#define SUBLANG_SINDHI_PAKISTAN 0x02 +#define SUBLANG_SINDHI_AFGHANISTAN 0x02 +#define SUBLANG_SINHALESE_SRI_LANKA 0x01 +#define SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA 0x01 +#define SUBLANG_SLOVAK_SLOVAKIA 0x01 +#define SUBLANG_SLOVENIAN_SLOVENIA 0x01 +#define SUBLANG_SPANISH 0x01 +#define SUBLANG_SPANISH_MEXICAN 0x02 +#define SUBLANG_SPANISH_MODERN 0x03 +#define SUBLANG_SPANISH_GUATEMALA 0x04 +#define SUBLANG_SPANISH_COSTA_RICA 0x05 +#define SUBLANG_SPANISH_PANAMA 0x06 +#define SUBLANG_SPANISH_DOMINICAN_REPUBLIC 0x07 +#define SUBLANG_SPANISH_VENEZUELA 0x08 +#define SUBLANG_SPANISH_COLOMBIA 0x09 +#define SUBLANG_SPANISH_PERU 0x0a +#define SUBLANG_SPANISH_ARGENTINA 0x0b +#define SUBLANG_SPANISH_ECUADOR 0x0c +#define SUBLANG_SPANISH_CHILE 0x0d +#define SUBLANG_SPANISH_URUGUAY 0x0e +#define SUBLANG_SPANISH_PARAGUAY 0x0f +#define SUBLANG_SPANISH_BOLIVIA 0x10 +#define SUBLANG_SPANISH_EL_SALVADOR 0x11 +#define SUBLANG_SPANISH_HONDURAS 0x12 +#define SUBLANG_SPANISH_NICARAGUA 0x13 +#define SUBLANG_SPANISH_PUERTO_RICO 0x14 +#define SUBLANG_SPANISH_US 0x15 +#define SUBLANG_SWAHILI_KENYA 0x01 +#define SUBLANG_SWEDISH 0x01 +#define SUBLANG_SWEDISH_FINLAND 0x02 +#define SUBLANG_SYRIAC_SYRIA 0x01 +#define SUBLANG_TAJIK_TAJIKISTAN 0x01 +#define SUBLANG_TAMAZIGHT_ALGERIA_LATIN 0x02 +#define SUBLANG_TAMAZIGHT_MOROCCO_TIFINAGH 0x04 +#define SUBLANG_TAMIL_INDIA 0x01 +#define SUBLANG_TAMIL_SRI_LANKA 0x02 +#define SUBLANG_TATAR_RUSSIA 0x01 +#define SUBLANG_TELUGU_INDIA 0x01 +#define SUBLANG_THAI_THAILAND 0x01 +#define SUBLANG_TIBETAN_PRC 0x01 +#define SUBLANG_TIGRIGNA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ERITREA 0x02 +#define SUBLANG_TIGRINYA_ETHIOPIA 0x01 +#define SUBLANG_TSWANA_BOTSWANA 0x02 +#define SUBLANG_TSWANA_SOUTH_AFRICA 0x01 +#define SUBLANG_TURKISH_TURKEY 0x01 +#define SUBLANG_TURKMEN_TURKMENISTAN 0x01 +#define SUBLANG_UIGHUR_PRC 0x01 +#define SUBLANG_UKRAINIAN_UKRAINE 0x01 +#define SUBLANG_UPPER_SORBIAN_GERMANY 0x01 +#define SUBLANG_URDU_PAKISTAN 0x01 +#define SUBLANG_URDU_INDIA 0x02 +#define SUBLANG_UZBEK_LATIN 0x01 +#define SUBLANG_UZBEK_CYRILLIC 0x02 +#define SUBLANG_VALENCIAN_VALENCIA 0x02 +#define SUBLANG_VIETNAMESE_VIETNAM 0x01 +#define SUBLANG_WELSH_UNITED_KINGDOM 0x01 +#define SUBLANG_WOLOF_SENEGAL 0x01 +#define SUBLANG_XHOSA_SOUTH_AFRICA 0x01 +#define SUBLANG_YAKUT_RUSSIA 0x01 +#define SUBLANG_YI_PRC 0x01 +#define SUBLANG_YORUBA_NIGERIA 0x01 +#define SUBLANG_ZULU_SOUTH_AFRICA 0x01 + +#define SORT_DEFAULT 0x0 + +#define SORT_INVARIANT_MATH 0x1 + +#define SORT_JAPANESE_XJIS 0x0 +#define SORT_JAPANESE_UNICODE 0x1 +#define SORT_JAPANESE_RADICALSTROKE 0x4 + +#define SORT_CHINESE_BIG5 0x0 +#define SORT_CHINESE_PRCP 0x0 +#define SORT_CHINESE_UNICODE 0x1 +#define SORT_CHINESE_PRC 0x2 +#define SORT_CHINESE_BOPOMOFO 0x3 +#define SORT_CHINESE_RADICALSTROKE 0x4 + +#define SORT_KOREAN_KSC 0x0 +#define SORT_KOREAN_UNICODE 0x1 + +#define SORT_GERMAN_PHONE_BOOK 0x1 + +#define SORT_HUNGARIAN_DEFAULT 0x0 +#define SORT_HUNGARIAN_TECHNICAL 0x1 + +#define SORT_GEORGIAN_TRADITIONAL 0x0 +#define SORT_GEORGIAN_MODERN 0x1 diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winperf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winperf.h new file mode 100644 index 00000000..ce8e0d29 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winperf.h @@ -0,0 +1,193 @@ +/** + * 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 _WINPERF_ +#define _WINPERF_ + +#include + +#define PERF_DATA_VERSION 1 +#define PERF_DATA_REVISION 1 + +typedef struct _PERF_DATA_BLOCK { + WCHAR Signature[4]; + DWORD LittleEndian; + DWORD Version; + DWORD Revision; + DWORD TotalByteLength; + DWORD HeaderLength; + DWORD NumObjectTypes; + LONG DefaultObject; + SYSTEMTIME SystemTime; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; + LARGE_INTEGER PerfTime100nSec; + DWORD SystemNameLength; + DWORD SystemNameOffset; +} PERF_DATA_BLOCK,*PPERF_DATA_BLOCK; + +typedef struct _PERF_OBJECT_TYPE { + DWORD TotalByteLength; + DWORD DefinitionLength; + DWORD HeaderLength; + DWORD ObjectNameTitleIndex; +#ifdef _WIN64 + DWORD ObjectNameTitle; +#else + LPWSTR ObjectNameTitle; +#endif + DWORD ObjectHelpTitleIndex; +#ifdef _WIN64 + DWORD ObjectHelpTitle; +#else + LPWSTR ObjectHelpTitle; +#endif + DWORD DetailLevel; + DWORD NumCounters; + LONG DefaultCounter; + LONG NumInstances; + DWORD CodePage; + LARGE_INTEGER PerfTime; + LARGE_INTEGER PerfFreq; +} PERF_OBJECT_TYPE,*PPERF_OBJECT_TYPE; + +#define PERF_NO_INSTANCES -1 +#define PERF_SIZE_DWORD 0x00000000 +#define PERF_SIZE_LARGE 0x00000100 +#define PERF_SIZE_ZERO 0x00000200 +#define PERF_SIZE_VARIABLE_LEN 0x00000300 +#define PERF_TYPE_NUMBER 0x00000000 +#define PERF_TYPE_COUNTER 0x00000400 +#define PERF_TYPE_TEXT 0x00000800 +#define PERF_TYPE_ZERO 0x00000C00 +#define PERF_NUMBER_HEX 0x00000000 +#define PERF_NUMBER_DECIMAL 0x00010000 +#define PERF_NUMBER_DEC_1000 0x00020000 +#define PERF_COUNTER_VALUE 0x00000000 +#define PERF_COUNTER_RATE 0x00010000 +#define PERF_COUNTER_FRACTION 0x00020000 +#define PERF_COUNTER_BASE 0x00030000 +#define PERF_COUNTER_ELAPSED 0x00040000 +#define PERF_COUNTER_QUEUELEN 0x00050000 +#define PERF_COUNTER_HISTOGRAM 0x00060000 +#define PERF_COUNTER_PRECISION 0x00070000 +#define PERF_TEXT_UNICODE 0x00000000 +#define PERF_TEXT_ASCII 0x00010000 +#define PERF_TIMER_TICK 0x00000000 +#define PERF_TIMER_100NS 0x00100000 +#define PERF_OBJECT_TIMER 0x00200000 +#define PERF_DELTA_COUNTER 0x00400000 +#define PERF_DELTA_BASE 0x00800000 +#define PERF_INVERSE_COUNTER 0x01000000 +#define PERF_MULTI_COUNTER 0x02000000 + +#define PERF_DISPLAY_NO_SUFFIX 0x00000000 +#define PERF_DISPLAY_PER_SEC 0x10000000 +#define PERF_DISPLAY_PERCENT 0x20000000 +#define PERF_DISPLAY_SECONDS 0x30000000 +#define PERF_DISPLAY_NOSHOW 0x40000000 + +#define PERF_COUNTER_COUNTER (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_PER_SEC) +#define PERF_COUNTER_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_QUEUELEN_TYPE (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_QUEUELEN | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_QUEUELEN_TYPE (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_QUEUELEN | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_100NS_QUEUELEN_TYPE (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_QUEUELEN | PERF_TIMER_100NS | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_OBJ_TIME_QUEUELEN_TYPE (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_QUEUELEN | PERF_OBJECT_TIMER | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_BULK_COUNT (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_PER_SEC) +#define PERF_COUNTER_TEXT (PERF_SIZE_VARIABLE_LEN | PERF_TYPE_TEXT | PERF_TEXT_UNICODE | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_RAWCOUNT (PERF_SIZE_DWORD | PERF_TYPE_NUMBER | PERF_NUMBER_DECIMAL | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_RAWCOUNT (PERF_SIZE_LARGE | PERF_TYPE_NUMBER | PERF_NUMBER_DECIMAL | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_RAWCOUNT_HEX (PERF_SIZE_DWORD | PERF_TYPE_NUMBER | PERF_NUMBER_HEX | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_RAWCOUNT_HEX (PERF_SIZE_LARGE | PERF_TYPE_NUMBER | PERF_NUMBER_HEX | PERF_DISPLAY_NO_SUFFIX) +#define PERF_SAMPLE_FRACTION (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DELTA_COUNTER | PERF_DELTA_BASE | PERF_DISPLAY_PERCENT) +#define PERF_SAMPLE_COUNTER (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_NODATA (PERF_SIZE_ZERO | PERF_DISPLAY_NOSHOW) +#define PERF_COUNTER_TIMER_INV (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_SAMPLE_BASE (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x00000001) +#define PERF_AVERAGE_TIMER (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_SECONDS) +#define PERF_AVERAGE_BASE (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x00000002) +#define PERF_AVERAGE_BULK (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_NOSHOW) +#define PERF_OBJ_TIME_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_OBJECT_TIMER | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_100NSEC_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_100NSEC_TIMER_INV (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_DELTA_COUNTER | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_DELTA_COUNTER | PERF_TIMER_TICK | PERF_MULTI_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_TIMER_INV (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_RATE | PERF_DELTA_COUNTER | PERF_MULTI_COUNTER | PERF_TIMER_TICK | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_COUNTER_MULTI_BASE (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_MULTI_COUNTER | PERF_DISPLAY_NOSHOW) +#define PERF_100NSEC_MULTI_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_DELTA_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_MULTI_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_100NSEC_MULTI_TIMER_INV (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_DELTA_COUNTER | PERF_COUNTER_RATE | PERF_TIMER_100NS | PERF_MULTI_COUNTER | PERF_INVERSE_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_RAW_FRACTION (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_PERCENT) +#define PERF_LARGE_RAW_FRACTION (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_FRACTION | PERF_DISPLAY_PERCENT) +#define PERF_RAW_BASE (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW | 0x00000003) +#define PERF_LARGE_RAW_BASE (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_BASE | PERF_DISPLAY_NOSHOW) +#define PERF_ELAPSED_TIME (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_ELAPSED | PERF_OBJECT_TIMER | PERF_DISPLAY_SECONDS) +#define PERF_COUNTER_HISTOGRAM_TYPE 0x80000000 +#define PERF_COUNTER_DELTA (PERF_SIZE_DWORD | PERF_TYPE_COUNTER | PERF_COUNTER_VALUE | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_COUNTER_LARGE_DELTA (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_VALUE | PERF_DELTA_COUNTER | PERF_DISPLAY_NO_SUFFIX) +#define PERF_PRECISION_SYSTEM_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_PRECISION | PERF_TIMER_TICK | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_PRECISION_100NS_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_PRECISION | PERF_TIMER_100NS | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) +#define PERF_PRECISION_OBJECT_TIMER (PERF_SIZE_LARGE | PERF_TYPE_COUNTER | PERF_COUNTER_PRECISION | PERF_OBJECT_TIMER | PERF_DELTA_COUNTER | PERF_DISPLAY_PERCENT) + +#define PERF_PRECISION_TIMESTAMP PERF_LARGE_RAW_BASE + +#define PERF_DETAIL_NOVICE 100 +#define PERF_DETAIL_ADVANCED 200 +#define PERF_DETAIL_EXPERT 300 +#define PERF_DETAIL_WIZARD 400 + +typedef struct _PERF_COUNTER_DEFINITION { + DWORD ByteLength; + DWORD CounterNameTitleIndex; +#ifdef _WIN64 + DWORD CounterNameTitle; +#else + LPWSTR CounterNameTitle; +#endif + DWORD CounterHelpTitleIndex; +#ifdef _WIN64 + DWORD CounterHelpTitle; +#else + LPWSTR CounterHelpTitle; +#endif + LONG DefaultScale; + DWORD DetailLevel; + DWORD CounterType; + DWORD CounterSize; + DWORD CounterOffset; +} PERF_COUNTER_DEFINITION,*PPERF_COUNTER_DEFINITION; + +#define PERF_NO_UNIQUE_ID -1 + +typedef struct _PERF_INSTANCE_DEFINITION { + DWORD ByteLength; + DWORD ParentObjectTitleIndex; + DWORD ParentObjectInstance; + LONG UniqueID; + DWORD NameOffset; + DWORD NameLength; +} PERF_INSTANCE_DEFINITION,*PPERF_INSTANCE_DEFINITION; + +typedef struct _PERF_COUNTER_BLOCK { + DWORD ByteLength; + +} PERF_COUNTER_BLOCK,*PPERF_COUNTER_BLOCK; + +#define PERF_QUERY_OBJECTS ((LONG)0x80000000) +#define PERF_QUERY_GLOBAL ((LONG)0x80000001) +#define PERF_QUERY_COSTLY ((LONG)0x80000002) + +typedef DWORD (WINAPI PM_OPEN_PROC)(LPWSTR); +typedef DWORD (WINAPI PM_COLLECT_PROC)(LPWSTR,LPVOID *,LPDWORD,LPDWORD); +typedef DWORD (WINAPI PM_CLOSE_PROC)(void); +typedef DWORD (WINAPI PM_QUERY_PROC)(LPDWORD,LPVOID *,LPDWORD,LPDWORD); + +#define MAX_PERF_OBJECTS_IN_QUERY_FUNCTION (__MSABI_LONG(64)) + +#define WINPERF_LOG_NONE 0 +#define WINPERF_LOG_USER 1 +#define WINPERF_LOG_DEBUG 2 +#define WINPERF_LOG_VERBOSE 3 + +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winreg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winreg.h new file mode 100644 index 00000000..0affcacb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winreg.h @@ -0,0 +1,446 @@ +/** + * 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 _WINREG_ +#define _WINREG_ + +#include <_mingw_unicode.h> +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0502 +#endif + +#define RRF_RT_REG_NONE 0x00000001 +#define RRF_RT_REG_SZ 0x00000002 +#define RRF_RT_REG_EXPAND_SZ 0x00000004 +#define RRF_RT_REG_BINARY 0x00000008 +#define RRF_RT_REG_DWORD 0x00000010 +#define RRF_RT_REG_MULTI_SZ 0x00000020 +#define RRF_RT_REG_QWORD 0x00000040 + +#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD) +#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD) +#define RRF_RT_ANY 0x0000ffff + +#if (_WIN32_WINNT >= 0x0A00) +#define RRF_SUBKEY_WOW6464KEY 0x00010000 +#define RRF_SUBKEY_WOW6432KEY 0x00020000 +#define RRF_WOW64_MASK 0x00030000 +#endif + +#define RRF_NOEXPAND 0x10000000 +#define RRF_ZEROONFAILURE 0x20000000 + +#define REG_PROCESS_APPKEY 0x00000001 + + typedef ACCESS_MASK REGSAM; + typedef LONG LSTATUS; + +#define HKEY_CLASSES_ROOT ((HKEY) (ULONG_PTR)((LONG)0x80000000)) +#define HKEY_CURRENT_USER ((HKEY) (ULONG_PTR)((LONG)0x80000001)) +#define HKEY_LOCAL_MACHINE ((HKEY) (ULONG_PTR)((LONG)0x80000002)) +#define HKEY_USERS ((HKEY) (ULONG_PTR)((LONG)0x80000003)) +#define HKEY_PERFORMANCE_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000004)) +#define HKEY_PERFORMANCE_TEXT ((HKEY) (ULONG_PTR)((LONG)0x80000050)) +#define HKEY_PERFORMANCE_NLSTEXT ((HKEY) (ULONG_PTR)((LONG)0x80000060)) +#if (WINVER >= 0x0400) +#define HKEY_CURRENT_CONFIG ((HKEY) (ULONG_PTR)((LONG)0x80000005)) +#define HKEY_DYN_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000006)) +#define HKEY_CURRENT_USER_LOCAL_SETTINGS ((HKEY) (ULONG_PTR)((LONG)0x80000007)) + +#ifndef _PROVIDER_STRUCTS_DEFINED +#define _PROVIDER_STRUCTS_DEFINED + +#define PROVIDER_KEEPS_VALUE_LENGTH 0x1 + struct val_context { + int valuelen; + LPVOID value_context; + LPVOID val_buff_ptr; + }; + + typedef struct val_context *PVALCONTEXT; + + typedef struct pvalueA { + LPSTR pv_valuename; + int pv_valuelen; + LPVOID pv_value_context; + DWORD pv_type; + }PVALUEA,*PPVALUEA; + + typedef struct pvalueW { + LPWSTR pv_valuename; + int pv_valuelen; + LPVOID pv_value_context; + DWORD pv_type; + }PVALUEW,*PPVALUEW; + + __MINGW_TYPEDEF_AW(PVALUE) + __MINGW_TYPEDEF_AW(PPVALUE) + + typedef DWORD __cdecl QUERYHANDLER(LPVOID keycontext,PVALCONTEXT val_list,DWORD num_vals,LPVOID outputbuffer,DWORD *total_outlen,DWORD input_blen); + + typedef QUERYHANDLER *PQUERYHANDLER; + + typedef struct provider_info { + PQUERYHANDLER pi_R0_1val; + PQUERYHANDLER pi_R0_allvals; + PQUERYHANDLER pi_R3_1val; + PQUERYHANDLER pi_R3_allvals; + DWORD pi_flags; + LPVOID pi_key_context; + } REG_PROVIDER; + + typedef struct provider_info *PPROVIDER; + + typedef struct value_entA { + LPSTR ve_valuename; + DWORD ve_valuelen; + DWORD_PTR ve_valueptr; + DWORD ve_type; + } VALENTA,*PVALENTA; + + typedef struct value_entW { + LPWSTR ve_valuename; + DWORD ve_valuelen; + DWORD_PTR ve_valueptr; + DWORD ve_type; + } VALENTW,*PVALENTW; + + __MINGW_TYPEDEF_AW(VALENT) + __MINGW_TYPEDEF_AW(PVALENT) +#endif +#endif + +#define WIN31_CLASS NULL + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define REG_MUI_STRING_TRUNCATE 0x00000001 + +#if (WINVER >= 0x0400) +#define REG_SECURE_CONNECTION 1 +#endif + +#define RegConnectRegistry __MINGW_NAME_AW(RegConnectRegistry) +#define RegConnectRegistryEx __MINGW_NAME_AW(RegConnectRegistryEx) +#define RegCreateKey __MINGW_NAME_AW(RegCreateKey) +#define RegDeleteKey __MINGW_NAME_AW(RegDeleteKey) +#define RegEnumKey __MINGW_NAME_AW(RegEnumKey) +#define RegLoadKey __MINGW_NAME_AW(RegLoadKey) +#define RegOpenKey __MINGW_NAME_AW(RegOpenKey) +#define RegQueryValue __MINGW_NAME_AW(RegQueryValue) +#define RegQueryMultipleValues __MINGW_NAME_AW(RegQueryMultipleValues) +#define RegReplaceKey __MINGW_NAME_AW(RegReplaceKey) +#define RegRestoreKey __MINGW_NAME_AW(RegRestoreKey) +#define RegSaveKey __MINGW_NAME_AW(RegSaveKey) +#define RegSetValue __MINGW_NAME_AW(RegSetValue) +#define RegUnLoadKey __MINGW_NAME_AW(RegUnLoadKey) +#define InitiateSystemShutdown __MINGW_NAME_AW(InitiateSystemShutdown) +#define AbortSystemShutdown __MINGW_NAME_AW(AbortSystemShutdown) + + WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY hKey,HKEY hNewHKey); + WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult); + WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult); + WINADVAPI LONG WINAPI RegDisablePredefinedCache(void); + WINADVAPI LONG WINAPI RegDisablePredefinedCacheEx(void); + WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR lpMachineName,HKEY hKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR lpMachineName,HKEY hKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegConnectRegistryExA(LPCSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult); + WINADVAPI LONG WINAPI RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult); + WINADVAPI LONG WINAPI RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey); + WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey); + WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY hBase); + WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY hBase); + WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled); + WINADVAPI LONG WINAPI RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName); + WINADVAPI LONG WINAPI RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName); + WINADVAPI LONG WINAPI RegFlushKey(HKEY hKey); + WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor); + WINADVAPI LONG WINAPI RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpFile); + WINADVAPI LONG WINAPI RegLoadKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpFile); + WINADVAPI LONG WINAPI RegOpenKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegOpenKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult); + WINADVAPI LONG WINAPI RegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpData,PLONG lpcbData); + WINADVAPI LONG WINAPI RegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpData,PLONG lpcbData); + WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY hKey,PVALENTA val_list,DWORD num_vals,LPSTR lpValueBuf,LPDWORD ldwTotsize); + WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY hKey,PVALENTW val_list,DWORD num_vals,LPWSTR lpValueBuf,LPDWORD ldwTotsize); + WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpNewFile,LPCSTR lpOldFile); + WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpNewFile,LPCWSTR lpOldFile); + WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY hKey,LPCSTR lpFile,DWORD dwFlags); + WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY hKey,LPCWSTR lpFile,DWORD dwFlags); + WINADVAPI LONG WINAPI RegSaveKeyA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes); + WINADVAPI LONG WINAPI RegSaveKeyW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes); + WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor); + WINADVAPI LONG WINAPI RegSetValueA(HKEY hKey,LPCSTR lpSubKey,DWORD dwType,LPCSTR lpData,DWORD cbData); + WINADVAPI LONG WINAPI RegSetValueW(HKEY hKey,LPCWSTR lpSubKey,DWORD dwType,LPCWSTR lpData,DWORD cbData); + WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY hKey,LPCSTR lpSubKey); + WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY hKey,LPCWSTR lpSubKey); + WINADVAPI WINBOOL WINAPI InitiateSystemShutdownA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown); + WINADVAPI WINBOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown); + WINADVAPI WINBOOL WINAPI AbortSystemShutdownA(LPSTR lpMachineName); + WINADVAPI WINBOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName); + +#include + +#define REASON_SWINSTALL SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION +#define REASON_HWINSTALL SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION +#define REASON_SERVICEHANG SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG +#define REASON_UNSTABLE SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE +#define REASON_SWHWRECONF SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG +#define REASON_OTHER SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER +#define REASON_UNKNOWN SHTDN_REASON_UNKNOWN +#define REASON_LEGACY_API SHTDN_REASON_LEGACY_API +#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED + +#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60) + +#define InitiateSystemShutdownEx __MINGW_NAME_AW(InitiateSystemShutdownEx) +#define RegSaveKeyEx __MINGW_NAME_AW(RegSaveKeyEx) + + WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason); + WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason); + WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags); + WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags); + WINADVAPI LONG WINAPI Wow64Win32ApiEntry (DWORD dwFuncNumber,DWORD dwFlag,DWORD dwRes); + +#if (_WIN32_WINNT >= 0x0600) + +#define RegCopyTree __MINGW_NAME_AW(RegCopyTree) +WINADVAPI LONG WINAPI RegCopyTreeA( + HKEY hKeySrc, + LPCSTR lpSubKey, + HKEY hKeyDest +); + +WINADVAPI LONG WINAPI RegCopyTreeW( + HKEY hKeySrc, + LPCWSTR lpSubKey, + HKEY hKeyDest +); + +#define RegCreateKeyTransacted __MINGW_NAME_AW(RegCreateKeyTransacted) +WINADVAPI LONG WINAPI RegCreateKeyTransactedA( + HKEY hKey, + LPCSTR lpSubKey, + DWORD Reserved, + LPSTR lpClass, + DWORD dwOptions, + REGSAM samDesired, + const LPSECURITY_ATTRIBUTES lpSecurityAttributes, + PHKEY phkResult, + LPDWORD lpdwDisposition, + HANDLE hTransaction, + PVOID pExtendedParemeter +); + +WINADVAPI LONG WINAPI RegCreateKeyTransactedW( + HKEY hKey, + LPCWSTR lpSubKey, + DWORD Reserved, + LPWSTR lpClass, + DWORD dwOptions, + REGSAM samDesired, + const LPSECURITY_ATTRIBUTES lpSecurityAttributes, + PHKEY phkResult, + LPDWORD lpdwDisposition, + HANDLE hTransaction, + PVOID pExtendedParemeter +); + +#define RegDeleteKeyTransacted __MINGW_NAME_AW(RegDeleteKeyTransacted) +WINADVAPI LONG WINAPI RegDeleteKeyTransactedA( + HKEY hKey, + LPCSTR lpSubKey, + REGSAM samDesired, + DWORD Reserved, + HANDLE hTransaction, + PVOID pExtendedParameter +); + +WINADVAPI LONG WINAPI RegDeleteKeyTransactedW( + HKEY hKey, + LPCWSTR lpSubKey, + REGSAM samDesired, + DWORD Reserved, + HANDLE hTransaction, + PVOID pExtendedParameter +); + +#define RegDeleteKeyValue __MINGW_NAME_AW(RegDeleteKeyValue) +WINADVAPI LONG WINAPI RegDeleteKeyValueA( + HKEY hKey, + LPCSTR lpSubKey, + LPCSTR lpValueName +); + +WINADVAPI LONG WINAPI RegDeleteKeyValueW( + HKEY hKey, + LPCWSTR lpSubKey, + LPCWSTR lpValueName +); + +WINADVAPI LONG WINAPI RegLoadAppKeyA( + LPCSTR lpFile, + PHKEY phkResult, + REGSAM samDesired, + DWORD dwOptions, + DWORD Reserved +); + +WINADVAPI LONG WINAPI RegLoadAppKeyW( + LPCWSTR lpFile, + PHKEY phkResult, + REGSAM samDesired, + DWORD dwOptions, + DWORD Reserved +); + +#define RegLoadAppKey __MINGW_NAME_AW(RegLoadAppKey) + +WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY hKey, LPCSTR pszValue, LPSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCSTR pszDirectory); +WINADVAPI LONG WINAPI RegLoadMUIStringW(HKEY hKey, LPCWSTR pszValue, LPWSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCWSTR pszDirectory); + +#define RegLoadMUIString __MINGW_NAME_AW(RegLoadMUIString) + +WINADVAPI LONG WINAPI RegOpenKeyTransactedA( + HKEY hKey, + LPCSTR lpSubKey, + DWORD ulOptions, + REGSAM samDesired, + PHKEY phkResult, + HANDLE hTransaction, + PVOID pExtendedParameter +); + +WINADVAPI LONG WINAPI RegOpenKeyTransactedW( + HKEY hKey, + LPCWSTR lpSubKey, + DWORD ulOptions, + REGSAM samDesired, + PHKEY phkResult, + HANDLE hTransaction, + PVOID pExtendedParameter +); + +WINADVAPI LONG WINAPI RegRenameKey( + HKEY hKey, + LPCWSTR lpSubKeyName, + LPCWSTR lpNewKeyName); + +#define RegOpenKeyTransacted __MINGW_NAME_AW(RegOpenKeyTransacted) + +WINADVAPI LONG WINAPI RegSetKeyValueA( + HKEY hKey, + LPCSTR lpSubKey, + LPCSTR lpValueName, + DWORD dwType, + LPCVOID lpData, + DWORD cbData +); + +WINADVAPI LONG WINAPI RegSetKeyValueW( + HKEY hKey, + LPCWSTR lpSubKey, + LPCWSTR lpValueName, + DWORD dwType, + LPCVOID lpData, + DWORD cbData +); +#define RegSetKeyValue __MINGW_NAME_AW(RegSetKeyValue) + +#define SHUTDOWN_FORCE_OTHERS 0x00000001 +#define SHUTDOWN_FORCE_SELF 0x00000002 +#define SHUTDOWN_RESTART 0x00000004 +#define SHUTDOWN_POWEROFF 0x00000008 +#define SHUTDOWN_NOREBOOT 0x00000010 +#define SHUTDOWN_GRACE_OVERRIDE 0x00000020 +#define SHUTDOWN_INSTALL_UPDATES 0x00000040 +#define SHUTDOWN_RESTARTAPPS 0x00000080 +#define SHUTDOWN_SKIP_SVC_PRESHUTDOWN 0x00000100 +#define SHUTDOWN_HYBRID 0x00000200 +#define SHUTDOWN_RESTART_BOOTOPTIONS 0x00000400 +#define SHUTDOWN_SOFT_REBOOT 0x00000800 +#define SHUTDOWN_MOBILE_UI 0x00001000 +#define SHUTDOWN_ARSO 0x00002000 + +WINADVAPI DWORD WINAPI InitiateShutdownA( + LPSTR lpMachineName, + LPSTR lpMessage, + DWORD dwGracePeriod, + DWORD dwShutdownFlags, + DWORD dwReason +); + +WINADVAPI DWORD WINAPI InitiateShutdownW( + LPWSTR lpMachineName, + LPWSTR lpMessage, + DWORD dwGracePeriod, + DWORD dwShutdownFlags, + DWORD dwReason +); + +#define InitiateShutdown __MINGW_NAME_AW(InitiateShutdown) + +WINADVAPI DWORD WINAPI CheckForHiberboot( + PBOOLEAN pHiberboot, + BOOLEAN bClearFlag +); + +#endif /* (_WIN32_WINNT >= 0x0600) */ + +#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) */ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1 + WINADVAPI LONG WINAPI RegCloseKey(HKEY hKey); + WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition); + WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition); + WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved); + WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved); + WINADVAPI LONG WINAPI RegDeleteValueA(HKEY hKey,LPCSTR lpValueName); + WINADVAPI LONG WINAPI RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName); + WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime); + WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime); + WINADVAPI LONG WINAPI RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); + WINADVAPI LONG WINAPI RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); + WINADVAPI LONG WINAPI RegGetValueA(HKEY hkey,LPCSTR lpSubKey,LPCSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData); + WINADVAPI LONG WINAPI RegGetValueW(HKEY hkey,LPCWSTR lpSubKey,LPCWSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData); + WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY hKey,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,HANDLE hEvent,WINBOOL fAsynchronous); + WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult); + WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult); + WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY hKey,LPSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime); + WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY hKey,LPWSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime); + WINADVAPI LONG WINAPI RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); + WINADVAPI LONG WINAPI RegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData); + WINADVAPI LONG WINAPI RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData); + WINADVAPI LONG WINAPI RegSetValueExW(HKEY hKey,LPCWSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData); +#define RegCreateKeyEx __MINGW_NAME_AW(RegCreateKeyEx) +#define RegDeleteKeyEx __MINGW_NAME_AW(RegDeleteKeyEx) +#define RegDeleteValue __MINGW_NAME_AW(RegDeleteValue) +#define RegEnumKeyEx __MINGW_NAME_AW(RegEnumKeyEx) +#define RegEnumValue __MINGW_NAME_AW(RegEnumValue) +#define RegGetValue __MINGW_NAME_AW(RegGetValue) +#define RegOpenKeyEx __MINGW_NAME_AW(RegOpenKeyEx) +#define RegQueryInfoKey __MINGW_NAME_AW(RegQueryInfoKey) +#define RegQueryValueEx __MINGW_NAME_AW(RegQueryValueEx) +#define RegSetValueEx __MINGW_NAME_AW(RegSetValueEx) +#endif + +#if _WIN32_WINNT >= 0x0600 && (WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || NTDDI_VERSION >= NTDDI_WIN10_19H1) +WINADVAPI LONG WINAPI RegDeleteTreeA(HKEY hKey,LPCSTR lpSubKey); +WINADVAPI LONG WINAPI RegDeleteTreeW(HKEY hKey,LPCWSTR lpSubKey); +#define RegDeleteTree __MINGW_NAME_AW(RegDeleteTree) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winres.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winres.h new file mode 100644 index 00000000..ae26f248 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winres.h @@ -0,0 +1,12 @@ +/** + * 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 + +#ifdef IDC_STATIC +#undef IDC_STATIC +#endif +#define IDC_STATIC (-1) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winresrc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winresrc.h new file mode 100644 index 00000000..3e6dda7d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winresrc.h @@ -0,0 +1,31 @@ +/** + * 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 _WINRESRC_ +#define _WINRESRC_ + +#ifndef WINVER +#define WINVER 0x0502 +#endif + +#ifndef _WIN32_IE +#define _WIN32_IE 0x0501 +#endif + +#ifndef _WIN32_WINDOWS +#define _WIN32_WINDOWS 0x0502 +#endif + +#ifndef _WIN32_WINNT +#define _WIN32_WINNT 0x0502 +#endif + +#include +#include +#include +#include +#include +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsafer.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsafer.h new file mode 100644 index 00000000..2b8b885b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsafer.h @@ -0,0 +1,139 @@ +/** + * 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 _WINSAFER_H +#define _WINSAFER_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + DECLARE_HANDLE(SAFER_LEVEL_HANDLE); + +#define SAFER_SCOPEID_MACHINE 1 +#define SAFER_SCOPEID_USER 2 + +#define SAFER_LEVELID_FULLYTRUSTED 0x40000 +#define SAFER_LEVELID_NORMALUSER 0x20000 +#define SAFER_LEVELID_CONSTRAINED 0x10000 +#define SAFER_LEVELID_UNTRUSTED 0x01000 +#define SAFER_LEVELID_DISALLOWED 0x00000 + +#define SAFER_LEVEL_OPEN 1 + +#define SAFER_MAX_FRIENDLYNAME_SIZE 256 +#define SAFER_MAX_DESCRIPTION_SIZE 256 +#define SAFER_MAX_HASH_SIZE 64 + +#define SAFER_TOKEN_NULL_IF_EQUAL 0x00000001 +#define SAFER_TOKEN_COMPARE_ONLY 0x00000002 +#define SAFER_TOKEN_MAKE_INERT 0x00000004 +#define SAFER_TOKEN_WANT_FLAGS 0x00000008 + +#define SAFER_CRITERIA_IMAGEPATH 0x00001 +#define SAFER_CRITERIA_NOSIGNEDHASH 0x00002 +#define SAFER_CRITERIA_IMAGEHASH 0x00004 +#define SAFER_CRITERIA_AUTHENTICODE 0x00008 +#define SAFER_CRITERIA_URLZONE 0x00010 +#define SAFER_CRITERIA_IMAGEPATH_NT 0x01000 + +#include + + typedef struct _SAFER_CODE_PROPERTIES { + DWORD cbSize; + DWORD dwCheckFlags; + LPCWSTR ImagePath; + HANDLE hImageFileHandle; + DWORD UrlZoneId; + BYTE ImageHash[SAFER_MAX_HASH_SIZE]; + DWORD dwImageHashSize; + LARGE_INTEGER ImageSize; + ALG_ID HashAlgorithm; + LPBYTE pByteBlock; + HWND hWndParent; + DWORD dwWVTUIChoice; + } SAFER_CODE_PROPERTIES,*PSAFER_CODE_PROPERTIES; + +#include + +#define SAFER_POLICY_JOBID_MASK 0xFF000000 +#define SAFER_POLICY_JOBID_CONSTRAINED 0x04000000 +#define SAFER_POLICY_JOBID_UNTRUSTED 0x03000000 +#define SAFER_POLICY_ONLY_EXES 0x00010000 +#define SAFER_POLICY_SANDBOX_INERT 0x00020000 +#define SAFER_POLICY_HASH_DUPLICATE 0x00040000 +#define SAFER_POLICY_UIFLAGS_MASK 0x000000FF +#define SAFER_POLICY_UIFLAGS_INFORMATION_PROMPT 0x00000001 +#define SAFER_POLICY_UIFLAGS_OPTION_PROMPT 0x00000002 +#define SAFER_POLICY_UIFLAGS_HIDDEN 0x00000004 + + typedef enum _SAFER_POLICY_INFO_CLASS { + SaferPolicyLevelList = 1,SaferPolicyEnableTransparentEnforcement,SaferPolicyDefaultLevel,SaferPolicyEvaluateUserScope,SaferPolicyScopeFlags + } SAFER_POLICY_INFO_CLASS; + + typedef enum _SAFER_OBJECT_INFO_CLASS { + SaferObjectLevelId = 1,SaferObjectScopeId,SaferObjectFriendlyName,SaferObjectDescription,SaferObjectBuiltin,SaferObjectDisallowed, + SaferObjectDisableMaxPrivilege,SaferObjectInvertDeletedPrivileges,SaferObjectDeletedPrivileges,SaferObjectDefaultOwner,SaferObjectSidsToDisable, + SaferObjectRestrictedSidsInverted,SaferObjectRestrictedSidsAdded,SaferObjectAllIdentificationGuids,SaferObjectSingleIdentification, + SaferObjectExtendedError + } SAFER_OBJECT_INFO_CLASS; + +#include + + typedef enum _SAFER_IDENTIFICATION_TYPES { + SaferIdentityDefault,SaferIdentityTypeImageName = 1,SaferIdentityTypeImageHash,SaferIdentityTypeUrlZone,SaferIdentityTypeCertificate + } SAFER_IDENTIFICATION_TYPES; + + typedef struct _SAFER_IDENTIFICATION_HEADER { + SAFER_IDENTIFICATION_TYPES dwIdentificationType; + DWORD cbStructSize; + GUID IdentificationGuid; + FILETIME lastModified; + } SAFER_IDENTIFICATION_HEADER,*PSAFER_IDENTIFICATION_HEADER; + + typedef struct _SAFER_PATHNAME_IDENTIFICATION { + SAFER_IDENTIFICATION_HEADER header; + WCHAR Description[SAFER_MAX_DESCRIPTION_SIZE]; + PWCHAR ImageName; + DWORD dwSaferFlags; + } SAFER_PATHNAME_IDENTIFICATION,*PSAFER_PATHNAME_IDENTIFICATION; + + typedef struct _SAFER_HASH_IDENTIFICATION { + SAFER_IDENTIFICATION_HEADER header; + WCHAR Description[SAFER_MAX_DESCRIPTION_SIZE]; + WCHAR FriendlyName[SAFER_MAX_FRIENDLYNAME_SIZE]; + DWORD HashSize; + BYTE ImageHash[SAFER_MAX_HASH_SIZE]; + ALG_ID HashAlgorithm; + LARGE_INTEGER ImageSize; + DWORD dwSaferFlags; + } SAFER_HASH_IDENTIFICATION,*PSAFER_HASH_IDENTIFICATION; + + typedef struct _SAFER_URLZONE_IDENTIFICATION { + SAFER_IDENTIFICATION_HEADER header; + DWORD UrlZoneId; + DWORD dwSaferFlags; + } SAFER_URLZONE_IDENTIFICATION,*PSAFER_URLZONE_IDENTIFICATION; + +#include + + WINADVAPI WINBOOL WINAPI SaferGetPolicyInformation(DWORD dwScopeId,SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass,DWORD InfoBufferSize,PVOID InfoBuffer,PDWORD InfoBufferRetSize,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferSetPolicyInformation(DWORD dwScopeId,SAFER_POLICY_INFO_CLASS SaferPolicyInfoClass,DWORD InfoBufferSize,PVOID InfoBuffer,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferCreateLevel(DWORD dwScopeId,DWORD dwLevelId,DWORD OpenFlags,SAFER_LEVEL_HANDLE *pLevelHandle,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferCloseLevel(SAFER_LEVEL_HANDLE hLevelHandle); + WINADVAPI WINBOOL WINAPI SaferIdentifyLevel(DWORD dwNumProperties,PSAFER_CODE_PROPERTIES pCodeProperties,SAFER_LEVEL_HANDLE *pLevelHandle,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferComputeTokenFromLevel(SAFER_LEVEL_HANDLE LevelHandle,HANDLE InAccessToken,PHANDLE OutAccessToken,DWORD dwFlags,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferGetLevelInformation(SAFER_LEVEL_HANDLE LevelHandle,SAFER_OBJECT_INFO_CLASS dwInfoType,LPVOID lpQueryBuffer,DWORD dwInBufferSize,LPDWORD lpdwOutBufferSize); + WINADVAPI WINBOOL WINAPI SaferSetLevelInformation(SAFER_LEVEL_HANDLE LevelHandle,SAFER_OBJECT_INFO_CLASS dwInfoType,LPVOID lpQueryBuffer,DWORD dwInBufferSize); + WINADVAPI WINBOOL WINAPI SaferRecordEventLogEntry(SAFER_LEVEL_HANDLE hLevel,LPCWSTR szTargetPath,LPVOID lpReserved); + WINADVAPI WINBOOL WINAPI SaferiIsExecutableFileType(LPCWSTR szFullPathname,BOOLEAN bFromShellExecute); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsatcominterfacei.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsatcominterfacei.h new file mode 100644 index 00000000..e256244f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsatcominterfacei.h @@ -0,0 +1,33 @@ +/** + * 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_WINSATCOMINTERFACEI +#define _INC_WINSATCOMINTERFACEI + +typedef enum _WINSAT_ASSESSMENT_STATE { + WINSAT_ASSESSMENT_STATE_MIN = 0, + WINSAT_ASSESSMENT_STATE_UNKNOWN = 0, + WINSAT_ASSESSMENT_STATE_VALID = 1, + WINSAT_ASSESSMENT_STATE_INCOHERENT_WITH_HARDWARE = 2, + WINSAT_ASSESSMENT_STATE_NOT_AVAILABLE = 3, + WINSAT_ASSESSMENT_STATE_INVALID = 4, + WINSAT_ASSESSMENT_STATE_MAX = 4 +} WINSAT_ASSESSMENT_STATE; + +typedef enum _WINSAT_ASSESSMENT_TYPE { + WINSAT_ASSESSMENT_MEMORY = 0, + WINSAT_ASSESSMENT_CPU = 1, + WINSAT_ASSESSMENT_DISK = 2, + WINSAT_ASSESSMENT_D3D = 3, + WINSAT_ASSESSMENT_GRAPHICS = 4 +} WINSAT_ASSESSMENT_TYPE; + +typedef enum _WINSAT_BITMAP_SIZE { + WINSAT_BITMAP_SIZE_SMALL = 0, + WINSAT_BITMAP_SIZE_NORMAL = 1 +} WINSAT_BITMAP_SIZE; + +#endif /*_INC_WINSATCOMINTERFACEI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winscard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winscard.h new file mode 100644 index 00000000..40c4e8d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winscard.h @@ -0,0 +1,411 @@ +/** + * 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 _WINSCARD_H_ +#define _WINSCARD_H_ + +#include <_mingw_unicode.h> +#include +#include +#include "winsmcrd.h" +#ifndef SCARD_S_SUCCESS +#include "SCardErr.h" +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _LPCBYTE_DEFINED +#define _LPCBYTE_DEFINED + typedef const BYTE *LPCBYTE; +#endif +#ifndef _LPCVOID_DEFINED +#define _LPCVOID_DEFINED + typedef const VOID *LPCVOID; +#endif + +#ifndef WINSCARDAPI +#define WINSCARDAPI +#endif +#ifndef WINSCARDDATA +#define WINSCARDDATA __declspec(dllimport) +#endif + + WINSCARDDATA extern const SCARD_IO_REQUEST g_rgSCardT0Pci,g_rgSCardT1Pci,g_rgSCardRawPci; +#define SCARD_PCI_T0 (&g_rgSCardT0Pci) +#define SCARD_PCI_T1 (&g_rgSCardT1Pci) +#define SCARD_PCI_RAW (&g_rgSCardRawPci) + + typedef ULONG_PTR SCARDCONTEXT; + typedef SCARDCONTEXT *PSCARDCONTEXT,*LPSCARDCONTEXT; + + typedef ULONG_PTR SCARDHANDLE; + typedef SCARDHANDLE *PSCARDHANDLE,*LPSCARDHANDLE; + +#define SCARD_AUTOALLOCATE (DWORD)(-1) +#define SCARD_SCOPE_USER 0 +#define SCARD_SCOPE_TERMINAL 1 +#define SCARD_SCOPE_SYSTEM 2 + + extern WINSCARDAPI LONG WINAPI SCardEstablishContext(DWORD dwScope,LPCVOID pvReserved1,LPCVOID pvReserved2,LPSCARDCONTEXT phContext); + extern WINSCARDAPI LONG WINAPI SCardReleaseContext(SCARDCONTEXT hContext); + extern WINSCARDAPI LONG WINAPI SCardIsValidContext(SCARDCONTEXT hContext); + +#define SCARD_ALL_READERS TEXT("SCard$AllReaders\000") +#define SCARD_DEFAULT_READERS TEXT("SCard$DefaultReaders\000") +#define SCARD_LOCAL_READERS TEXT("SCard$LocalReaders\000") +#define SCARD_SYSTEM_READERS TEXT("SCard$SystemReaders\000") + +#define SCARD_PROVIDER_PRIMARY 1 +#define SCARD_PROVIDER_CSP 2 + +#define SCardListReaderGroups __MINGW_NAME_AW(SCardListReaderGroups) +#define SCardListReaders __MINGW_NAME_AW(SCardListReaders) +#define SCardListCards __MINGW_NAME_AW(SCardListCards) +#define SCardListInterfaces __MINGW_NAME_AW(SCardListInterfaces) +#define SCardGetProviderId __MINGW_NAME_AW(SCardGetProviderId) +#define SCardGetCardTypeProviderName __MINGW_NAME_AW(SCardGetCardTypeProviderName) +#define SCardIntroduceReaderGroup __MINGW_NAME_AW(SCardIntroduceReaderGroup) +#define SCardForgetReaderGroup __MINGW_NAME_AW(SCardForgetReaderGroup) +#define SCardIntroduceReader __MINGW_NAME_AW(SCardIntroduceReader) +#define SCardForgetReader __MINGW_NAME_AW(SCardForgetReader) +#define SCardAddReaderToGroup __MINGW_NAME_AW(SCardAddReaderToGroup) +#define SCardRemoveReaderFromGroup __MINGW_NAME_AW(SCardRemoveReaderFromGroup) +#define SCardIntroduceCardType __MINGW_NAME_AW(SCardIntroduceCardType) +#define SCardSetCardTypeProviderName __MINGW_NAME_AW(SCardSetCardTypeProviderName) +#define SCardForgetCardType __MINGW_NAME_AW(SCardForgetCardType) + + extern WINSCARDAPI LONG WINAPI SCardListReaderGroupsA(SCARDCONTEXT hContext,LPSTR mszGroups,LPDWORD pcchGroups); + extern WINSCARDAPI LONG WINAPI SCardListReaderGroupsW(SCARDCONTEXT hContext,LPWSTR mszGroups,LPDWORD pcchGroups); + extern WINSCARDAPI LONG WINAPI SCardListReadersA(SCARDCONTEXT hContext,LPCSTR mszGroups,LPSTR mszReaders,LPDWORD pcchReaders); + extern WINSCARDAPI LONG WINAPI SCardListReadersW(SCARDCONTEXT hContext,LPCWSTR mszGroups,LPWSTR mszReaders,LPDWORD pcchReaders); + extern WINSCARDAPI LONG WINAPI SCardListCardsA(SCARDCONTEXT hContext,LPCBYTE pbAtr,LPCGUID rgquidInterfaces,DWORD cguidInterfaceCount,LPSTR mszCards,LPDWORD pcchCards); + extern WINSCARDAPI LONG WINAPI SCardListCardsW(SCARDCONTEXT hContext,LPCBYTE pbAtr,LPCGUID rgquidInterfaces,DWORD cguidInterfaceCount,LPWSTR mszCards,LPDWORD pcchCards); +#define SCardListCardTypes SCardListCards + extern WINSCARDAPI LONG WINAPI SCardListInterfacesA(SCARDCONTEXT hContext,LPCSTR szCard,LPGUID pguidInterfaces,LPDWORD pcguidInterfaces); + extern WINSCARDAPI LONG WINAPI SCardListInterfacesW(SCARDCONTEXT hContext,LPCWSTR szCard,LPGUID pguidInterfaces,LPDWORD pcguidInterfaces); + extern WINSCARDAPI LONG WINAPI SCardGetProviderIdA(SCARDCONTEXT hContext,LPCSTR szCard,LPGUID pguidProviderId); + extern WINSCARDAPI LONG WINAPI SCardGetProviderIdW(SCARDCONTEXT hContext,LPCWSTR szCard,LPGUID pguidProviderId); + extern WINSCARDAPI LONG WINAPI SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext,LPCSTR szCardName,DWORD dwProviderId,LPSTR szProvider,LPDWORD pcchProvider); + extern WINSCARDAPI LONG WINAPI SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext,LPCWSTR szCardName,DWORD dwProviderId,LPWSTR szProvider,LPDWORD pcchProvider); + extern WINSCARDAPI LONG WINAPI SCardIntroduceReaderGroupA(SCARDCONTEXT hContext,LPCSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardIntroduceReaderGroupW(SCARDCONTEXT hContext,LPCWSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardForgetReaderGroupA(SCARDCONTEXT hContext,LPCSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardForgetReaderGroupW(SCARDCONTEXT hContext,LPCWSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardIntroduceReaderA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szDeviceName); + extern WINSCARDAPI LONG WINAPI SCardIntroduceReaderW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szDeviceName); + extern WINSCARDAPI LONG WINAPI SCardForgetReaderA(SCARDCONTEXT hContext,LPCSTR szReaderName); + extern WINSCARDAPI LONG WINAPI SCardForgetReaderW(SCARDCONTEXT hContext,LPCWSTR szReaderName); + extern WINSCARDAPI LONG WINAPI SCardAddReaderToGroupA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardAddReaderToGroupW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext,LPCSTR szReaderName,LPCSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext,LPCWSTR szReaderName,LPCWSTR szGroupName); + extern WINSCARDAPI LONG WINAPI SCardIntroduceCardTypeA(SCARDCONTEXT hContext,LPCSTR szCardName,LPCGUID pguidPrimaryProvider,LPCGUID rgguidInterfaces,DWORD dwInterfaceCount,LPCBYTE pbAtr,LPCBYTE pbAtrMask,DWORD cbAtrLen); + extern WINSCARDAPI LONG WINAPI SCardIntroduceCardTypeW(SCARDCONTEXT hContext,LPCWSTR szCardName,LPCGUID pguidPrimaryProvider,LPCGUID rgguidInterfaces,DWORD dwInterfaceCount,LPCBYTE pbAtr,LPCBYTE pbAtrMask,DWORD cbAtrLen); + +#define PCSCardIntroduceCardType(hContext,szCardName,pbAtr,pbAtrMask,cbAtrLen,pguidPrimaryProvider,rgguidInterfaces,dwInterfaceCount) SCardIntroduceCardType(hContext,szCardName,pguidPrimaryProvider,rgguidInterfaces,dwInterfaceCount,pbAtr,pbAtrMask,cbAtrLen) + + extern WINSCARDAPI LONG WINAPI SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext,LPCSTR szCardName,DWORD dwProviderId,LPCSTR szProvider); + extern WINSCARDAPI LONG WINAPI SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext,LPCWSTR szCardName,DWORD dwProviderId,LPCWSTR szProvider); + extern WINSCARDAPI LONG WINAPI SCardForgetCardTypeA(SCARDCONTEXT hContext,LPCSTR szCardName); + extern WINSCARDAPI LONG WINAPI SCardForgetCardTypeW(SCARDCONTEXT hContext,LPCWSTR szCardName); + extern WINSCARDAPI LONG WINAPI SCardFreeMemory(SCARDCONTEXT hContext,LPCVOID pvMem); + extern WINSCARDAPI HANDLE WINAPI SCardAccessStartedEvent(void); + extern WINSCARDAPI void WINAPI SCardReleaseStartedEvent(void); + + typedef struct { + LPCSTR szReader; + LPVOID pvUserData; + DWORD dwCurrentState; + DWORD dwEventState; + DWORD cbAtr; + BYTE rgbAtr[36]; + } SCARD_READERSTATEA,*PSCARD_READERSTATEA,*LPSCARD_READERSTATEA; + + typedef struct { + LPCWSTR szReader; + LPVOID pvUserData; + DWORD dwCurrentState; + DWORD dwEventState; + DWORD cbAtr; + BYTE rgbAtr[36]; + } SCARD_READERSTATEW,*PSCARD_READERSTATEW,*LPSCARD_READERSTATEW; + + __MINGW_TYPEDEF_AW(SCARD_READERSTATE) + __MINGW_TYPEDEF_AW(PSCARD_READERSTATE) + __MINGW_TYPEDEF_AW(LPSCARD_READERSTATE) + +#define SCardLocateCards __MINGW_NAME_AW(SCardLocateCards) +#define SCardLocateCardsByATR __MINGW_NAME_AW(SCardLocateCardsByATR) +#define SCardGetStatusChange __MINGW_NAME_AW(SCardGetStatusChange) +#define SCardConnect __MINGW_NAME_AW(SCardConnect) +#define SCardStatus __MINGW_NAME_AW(SCardStatus) + +#define SCARD_READERSTATE_A SCARD_READERSTATEA +#define SCARD_READERSTATE_W SCARD_READERSTATEW +#define PSCARD_READERSTATE_A PSCARD_READERSTATEA +#define PSCARD_READERSTATE_W PSCARD_READERSTATEW +#define LPSCARD_READERSTATE_A LPSCARD_READERSTATEA +#define LPSCARD_READERSTATE_W LPSCARD_READERSTATEW + +#define SCARD_STATE_UNAWARE 0x00000000 +#define SCARD_STATE_IGNORE 0x00000001 +#define SCARD_STATE_CHANGED 0x00000002 +#define SCARD_STATE_UNKNOWN 0x00000004 +#define SCARD_STATE_UNAVAILABLE 0x00000008 +#define SCARD_STATE_EMPTY 0x00000010 +#define SCARD_STATE_PRESENT 0x00000020 +#define SCARD_STATE_ATRMATCH 0x00000040 +#define SCARD_STATE_EXCLUSIVE 0x00000080 +#define SCARD_STATE_INUSE 0x00000100 +#define SCARD_STATE_MUTE 0x00000200 +#define SCARD_STATE_UNPOWERED 0x00000400 + + extern WINSCARDAPI LONG WINAPI SCardLocateCardsA(SCARDCONTEXT hContext,LPCSTR mszCards,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders); + extern WINSCARDAPI LONG WINAPI SCardLocateCardsW(SCARDCONTEXT hContext,LPCWSTR mszCards,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders); + + typedef struct _SCARD_ATRMASK { + DWORD cbAtr; + BYTE rgbAtr[36]; + BYTE rgbMask[36]; + } SCARD_ATRMASK,*PSCARD_ATRMASK,*LPSCARD_ATRMASK; + + extern WINSCARDAPI LONG WINAPI SCardLocateCardsByATRA(SCARDCONTEXT hContext,LPSCARD_ATRMASK rgAtrMasks,DWORD cAtrs,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders); + extern WINSCARDAPI LONG WINAPI SCardLocateCardsByATRW(SCARDCONTEXT hContext,LPSCARD_ATRMASK rgAtrMasks,DWORD cAtrs,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders); + extern WINSCARDAPI LONG WINAPI SCardGetStatusChangeA(SCARDCONTEXT hContext,DWORD dwTimeout,LPSCARD_READERSTATEA rgReaderStates,DWORD cReaders); + extern WINSCARDAPI LONG WINAPI SCardGetStatusChangeW(SCARDCONTEXT hContext,DWORD dwTimeout,LPSCARD_READERSTATEW rgReaderStates,DWORD cReaders); + extern WINSCARDAPI LONG WINAPI SCardCancel(SCARDCONTEXT hContext); + +#define SCARD_SHARE_EXCLUSIVE 1 +#define SCARD_SHARE_SHARED 2 +#define SCARD_SHARE_DIRECT 3 + +#define SCARD_LEAVE_CARD 0 +#define SCARD_RESET_CARD 1 +#define SCARD_UNPOWER_CARD 2 +#define SCARD_EJECT_CARD 3 + + extern WINSCARDAPI LONG WINAPI SCardConnectA(SCARDCONTEXT hContext,LPCSTR szReader,DWORD dwShareMode,DWORD dwPreferredProtocols,LPSCARDHANDLE phCard,LPDWORD pdwActiveProtocol); + extern WINSCARDAPI LONG WINAPI SCardConnectW(SCARDCONTEXT hContext,LPCWSTR szReader,DWORD dwShareMode,DWORD dwPreferredProtocols,LPSCARDHANDLE phCard,LPDWORD pdwActiveProtocol); + extern WINSCARDAPI LONG WINAPI SCardReconnect(SCARDHANDLE hCard,DWORD dwShareMode,DWORD dwPreferredProtocols,DWORD dwInitialization,LPDWORD pdwActiveProtocol); + extern WINSCARDAPI LONG WINAPI SCardDisconnect(SCARDHANDLE hCard,DWORD dwDisposition); + extern WINSCARDAPI LONG WINAPI SCardBeginTransaction(SCARDHANDLE hCard); + extern WINSCARDAPI LONG WINAPI SCardEndTransaction(SCARDHANDLE hCard,DWORD dwDisposition); + extern WINSCARDAPI LONG WINAPI SCardCancelTransaction(SCARDHANDLE hCard); + extern WINSCARDAPI LONG WINAPI SCardState(SCARDHANDLE hCard,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen); + extern WINSCARDAPI LONG WINAPI SCardStatusA(SCARDHANDLE hCard,LPSTR szReaderName,LPDWORD pcchReaderLen,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen); + extern WINSCARDAPI LONG WINAPI SCardStatusW(SCARDHANDLE hCard,LPWSTR szReaderName,LPDWORD pcchReaderLen,LPDWORD pdwState,LPDWORD pdwProtocol,LPBYTE pbAtr,LPDWORD pcbAtrLen); + extern WINSCARDAPI LONG WINAPI SCardTransmit(SCARDHANDLE hCard,LPCSCARD_IO_REQUEST pioSendPci,LPCBYTE pbSendBuffer,DWORD cbSendLength,LPSCARD_IO_REQUEST pioRecvPci,LPBYTE pbRecvBuffer,LPDWORD pcbRecvLength); + extern WINSCARDAPI LONG WINAPI SCardControl(SCARDHANDLE hCard,DWORD dwControlCode,LPCVOID lpInBuffer,DWORD nInBufferSize,LPVOID lpOutBuffer,DWORD nOutBufferSize,LPDWORD lpBytesReturned); + extern WINSCARDAPI LONG WINAPI SCardGetAttrib(SCARDHANDLE hCard,DWORD dwAttrId,LPBYTE pbAttr,LPDWORD pcbAttrLen); + +#define SCardGetReaderCapabilities SCardGetAttrib + + extern WINSCARDAPI LONG WINAPI SCardSetAttrib(SCARDHANDLE hCard,DWORD dwAttrId,LPCBYTE pbAttr,DWORD cbAttrLen); + +#define SCardSetReaderCapabilities SCardSetAttrib + +#define SC_DLG_MINIMAL_UI 0x01 +#define SC_DLG_NO_UI 0x02 +#define SC_DLG_FORCE_UI 0x04 + +#define SCERR_NOCARDNAME 0x4000 +#define SCERR_NOGUIDS 0x8000 + +#define LPOCNCONNPROC __MINGW_NAME_AW(LPOCNCONNPROC) + + typedef SCARDHANDLE (WINAPI *LPOCNCONNPROCA) (SCARDCONTEXT,LPSTR,LPSTR,PVOID); + typedef SCARDHANDLE (WINAPI *LPOCNCONNPROCW) (SCARDCONTEXT,LPWSTR,LPWSTR,PVOID); + typedef WINBOOL (WINAPI *LPOCNCHKPROC) (SCARDCONTEXT,SCARDHANDLE,PVOID); + typedef void (WINAPI *LPOCNDSCPROC) (SCARDCONTEXT,SCARDHANDLE,PVOID); + + typedef struct { + DWORD dwStructSize; + LPSTR lpstrGroupNames; + DWORD nMaxGroupNames; + LPCGUID rgguidInterfaces; + DWORD cguidInterfaces; + LPSTR lpstrCardNames; + DWORD nMaxCardNames; + LPOCNCHKPROC lpfnCheck; + LPOCNCONNPROCA lpfnConnect; + LPOCNDSCPROC lpfnDisconnect; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + } OPENCARD_SEARCH_CRITERIAA,*POPENCARD_SEARCH_CRITERIAA,*LPOPENCARD_SEARCH_CRITERIAA; + + typedef struct { + DWORD dwStructSize; + LPWSTR lpstrGroupNames; + DWORD nMaxGroupNames; + LPCGUID rgguidInterfaces; + DWORD cguidInterfaces; + LPWSTR lpstrCardNames; + DWORD nMaxCardNames; + LPOCNCHKPROC lpfnCheck; + LPOCNCONNPROCW lpfnConnect; + LPOCNDSCPROC lpfnDisconnect; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + } OPENCARD_SEARCH_CRITERIAW,*POPENCARD_SEARCH_CRITERIAW,*LPOPENCARD_SEARCH_CRITERIAW; + + __MINGW_TYPEDEF_AW(OPENCARD_SEARCH_CRITERIA) + __MINGW_TYPEDEF_AW(POPENCARD_SEARCH_CRITERIA) + __MINGW_TYPEDEF_AW(LPOPENCARD_SEARCH_CRITERIA) + + typedef struct { + DWORD dwStructSize; + SCARDCONTEXT hSCardContext; + HWND hwndOwner; + DWORD dwFlags; + LPCSTR lpstrTitle; + LPCSTR lpstrSearchDesc; + HICON hIcon; + POPENCARD_SEARCH_CRITERIAA pOpenCardSearchCriteria; + LPOCNCONNPROCA lpfnConnect; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + LPSTR lpstrRdr; + DWORD nMaxRdr; + LPSTR lpstrCard; + DWORD nMaxCard; + DWORD dwActiveProtocol; + SCARDHANDLE hCardHandle; + } OPENCARDNAME_EXA,*POPENCARDNAME_EXA,*LPOPENCARDNAME_EXA; + + typedef struct { + DWORD dwStructSize; + SCARDCONTEXT hSCardContext; + HWND hwndOwner; + DWORD dwFlags; + LPCWSTR lpstrTitle; + LPCWSTR lpstrSearchDesc; + HICON hIcon; + POPENCARD_SEARCH_CRITERIAW pOpenCardSearchCriteria; + LPOCNCONNPROCW lpfnConnect; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + LPWSTR lpstrRdr; + DWORD nMaxRdr; + LPWSTR lpstrCard; + DWORD nMaxCard; + DWORD dwActiveProtocol; + SCARDHANDLE hCardHandle; + } OPENCARDNAME_EXW,*POPENCARDNAME_EXW,*LPOPENCARDNAME_EXW; + + __MINGW_TYPEDEF_AW(OPENCARDNAME_EX) + __MINGW_TYPEDEF_AW(POPENCARDNAME_EX) + __MINGW_TYPEDEF_AW(LPOPENCARDNAME_EX) + +#define OPENCARDNAMEA_EX OPENCARDNAME_EXA +#define OPENCARDNAMEW_EX OPENCARDNAME_EXW +#define POPENCARDNAMEA_EX POPENCARDNAME_EXA +#define POPENCARDNAMEW_EX POPENCARDNAME_EXW +#define LPOPENCARDNAMEA_EX LPOPENCARDNAME_EXA +#define LPOPENCARDNAMEW_EX LPOPENCARDNAME_EXW + +#define SCardUIDlgSelectCard __MINGW_NAME_AW(SCardUIDlgSelectCard) + + extern WINSCARDAPI LONG WINAPI SCardUIDlgSelectCardA(LPOPENCARDNAMEA_EX); + extern WINSCARDAPI LONG WINAPI SCardUIDlgSelectCardW(LPOPENCARDNAMEW_EX); + + typedef struct { + DWORD dwStructSize; + HWND hwndOwner; + SCARDCONTEXT hSCardContext; + LPSTR lpstrGroupNames; + DWORD nMaxGroupNames; + LPSTR lpstrCardNames; + DWORD nMaxCardNames; + LPCGUID rgguidInterfaces; + DWORD cguidInterfaces; + LPSTR lpstrRdr; + DWORD nMaxRdr; + LPSTR lpstrCard; + DWORD nMaxCard; + LPCSTR lpstrTitle; + DWORD dwFlags; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + DWORD dwActiveProtocol; + LPOCNCONNPROCA lpfnConnect; + LPOCNCHKPROC lpfnCheck; + LPOCNDSCPROC lpfnDisconnect; + SCARDHANDLE hCardHandle; + } OPENCARDNAMEA,*POPENCARDNAMEA,*LPOPENCARDNAMEA; + + typedef struct { + DWORD dwStructSize; + HWND hwndOwner; + SCARDCONTEXT hSCardContext; + LPWSTR lpstrGroupNames; + DWORD nMaxGroupNames; + LPWSTR lpstrCardNames; + DWORD nMaxCardNames; + LPCGUID rgguidInterfaces; + DWORD cguidInterfaces; + LPWSTR lpstrRdr; + DWORD nMaxRdr; + LPWSTR lpstrCard; + DWORD nMaxCard; + LPCWSTR lpstrTitle; + DWORD dwFlags; + LPVOID pvUserData; + DWORD dwShareMode; + DWORD dwPreferredProtocols; + DWORD dwActiveProtocol; + LPOCNCONNPROCW lpfnConnect; + LPOCNCHKPROC lpfnCheck; + LPOCNDSCPROC lpfnDisconnect; + SCARDHANDLE hCardHandle; + } OPENCARDNAMEW,*POPENCARDNAMEW,*LPOPENCARDNAMEW; + + __MINGW_TYPEDEF_AW(OPENCARDNAME) + __MINGW_TYPEDEF_AW(POPENCARDNAME) + __MINGW_TYPEDEF_AW(LPOPENCARDNAME) + +#define OPENCARDNAME_A OPENCARDNAMEA +#define OPENCARDNAME_W OPENCARDNAMEW +#define POPENCARDNAME_A POPENCARDNAMEA +#define POPENCARDNAME_W POPENCARDNAMEW +#define LPOPENCARDNAME_A LPOPENCARDNAMEA +#define LPOPENCARDNAME_W LPOPENCARDNAMEW + +#define GetOpenCardName __MINGW_NAME_AW(GetOpenCardName) + + extern WINSCARDAPI LONG WINAPI GetOpenCardNameA(LPOPENCARDNAMEA); + extern WINSCARDAPI LONG WINAPI GetOpenCardNameW(LPOPENCARDNAMEW); + extern WINSCARDAPI LONG WINAPI SCardDlgExtendedError(void); + +#if (_WIN32_WINNT >= 0x0600) + + extern WINSCARDAPI LONG WINAPI SCardGetTransmitCount(SCARDHANDLE hCard,LPDWORD pcTransmitCount); + extern WINSCARDAPI LONG WINAPI SCardReadCacheA(SCARDCONTEXT hContext,UUID *CardIdentifier,DWORD FreshnessCounter,LPSTR LookupName,PBYTE Data,DWORD *DataLen); + extern WINSCARDAPI LONG WINAPI SCardReadCacheW(SCARDCONTEXT hContext,UUID *CardIdentifier,DWORD FreshnessCounter,LPWSTR LookupName,PBYTE Data,DWORD *DataLen); + +#define SCardReadCache __MINGW_NAME_AW(SCardReadCache) + + extern WINSCARDAPI LONG WINAPI SCardWriteCacheA(SCARDCONTEXT hContext,UUID *CardIdentifier,DWORD FreshnessCounter,LPSTR LookupName,PBYTE Data,DWORD DataLen); + extern WINSCARDAPI LONG WINAPI SCardWriteCacheW(SCARDCONTEXT hContext,UUID *CardIdentifier,DWORD FreshnessCounter,LPWSTR LookupName,PBYTE Data,DWORD DataLen); + +#define SCardWriteCache __MINGW_NAME_AW(SCardWriteCache) + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsdkver.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsdkver.h new file mode 100644 index 00000000..62e91829 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsdkver.h @@ -0,0 +1,21 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_WINSDKVER +#define _INC_WINSDKVER + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#define _WIN32_MAXVER 0x0A00 +#define _WIN32_WINDOWS_MAXVER 0x0A00 +#define NTDDI_MAXVER 0x0A00 +#define _WIN32_IE_MAXVER 0x0A00 +#define _WIN32_WINNT_MAXVER 0x0A00 +#define WINVER_MAXVER 0x0A00 + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsmcrd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsmcrd.h new file mode 100644 index 00000000..33756ab7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsmcrd.h @@ -0,0 +1,204 @@ +/** + * 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 _NTDDSCRD_H2_ +#define _NTDDSCRD_H2_ + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef BASETYPES +#define BASETYPES + typedef unsigned __LONG32 ULONG; + typedef ULONG *PULONG; + typedef unsigned short USHORT; + typedef USHORT *PUSHORT; + typedef unsigned char UCHAR; + typedef UCHAR *PUCHAR; + typedef char *PSZ; +#endif + +#ifdef _WINSCARD_H_ + typedef WORD UWORD; +#else + typedef ULONG DWORD; + typedef UCHAR BYTE; +#endif + +#ifndef DEVICE_TYPE_SMARTCARD +#define FILE_DEVICE_SMARTCARD 0x00000031 +#else +#if 0x00000031!=FILE_DEVICE_SMARTCARD +#error Incorrect smart card device definition +#endif +#endif + +#define SCARD_ATR_LENGTH 33 + +#define SCARD_PROTOCOL_UNDEFINED 0x00000000 +#define SCARD_PROTOCOL_T0 0x00000001 +#define SCARD_PROTOCOL_T1 0x00000002 +#define SCARD_PROTOCOL_RAW 0x00010000 +#define SCARD_PROTOCOL_Tx (SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1) +#define SCARD_PROTOCOL_DEFAULT 0x80000000 +#define SCARD_PROTOCOL_OPTIMAL 0x00000000 + +#define SCARD_POWER_DOWN 0 +#define SCARD_COLD_RESET 1 +#define SCARD_WARM_RESET 2 + +#define SCARD_CTL_CODE(code) CTL_CODE(FILE_DEVICE_SMARTCARD,(code),METHOD_BUFFERED,FILE_ANY_ACCESS) + +#define IOCTL_SMARTCARD_POWER SCARD_CTL_CODE(1) +#define IOCTL_SMARTCARD_GET_ATTRIBUTE SCARD_CTL_CODE(2) +#define IOCTL_SMARTCARD_SET_ATTRIBUTE SCARD_CTL_CODE(3) +#define IOCTL_SMARTCARD_CONFISCATE SCARD_CTL_CODE(4) +#define IOCTL_SMARTCARD_TRANSMIT SCARD_CTL_CODE(5) +#define IOCTL_SMARTCARD_EJECT SCARD_CTL_CODE(6) +#define IOCTL_SMARTCARD_SWALLOW SCARD_CTL_CODE(7) + +#define IOCTL_SMARTCARD_IS_PRESENT SCARD_CTL_CODE(10) +#define IOCTL_SMARTCARD_IS_ABSENT SCARD_CTL_CODE(11) +#define IOCTL_SMARTCARD_SET_PROTOCOL SCARD_CTL_CODE(12) +#define IOCTL_SMARTCARD_GET_STATE SCARD_CTL_CODE(14) +#define IOCTL_SMARTCARD_GET_LAST_ERROR SCARD_CTL_CODE(15) +#define IOCTL_SMARTCARD_GET_PERF_CNTR SCARD_CTL_CODE(16) + +#define MAXIMUM_ATTR_STRING_LENGTH 32 +#define MAXIMUM_SMARTCARD_READERS 10 + +#define SCARD_ATTR_VALUE(Class,Tag) ((((ULONG)(Class)) << 16) | ((ULONG)(Tag))) + +#define SCARD_CLASS_VENDOR_INFO 1 +#define SCARD_CLASS_COMMUNICATIONS 2 +#define SCARD_CLASS_PROTOCOL 3 +#define SCARD_CLASS_POWER_MGMT 4 +#define SCARD_CLASS_SECURITY 5 +#define SCARD_CLASS_MECHANICAL 6 +#define SCARD_CLASS_VENDOR_DEFINED 7 +#define SCARD_CLASS_IFD_PROTOCOL 8 +#define SCARD_CLASS_ICC_STATE 9 +#define SCARD_CLASS_PERF 0x7ffe +#define SCARD_CLASS_SYSTEM 0x7fff + +#define SCARD_ATTR_VENDOR_NAME SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO,0x0100) +#define SCARD_ATTR_VENDOR_IFD_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO,0x0101) +#define SCARD_ATTR_VENDOR_IFD_VERSION SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO,0x0102) +#define SCARD_ATTR_VENDOR_IFD_SERIAL_NO SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO,0x0103) +#define SCARD_ATTR_CHANNEL_ID SCARD_ATTR_VALUE(SCARD_CLASS_COMMUNICATIONS,0x0110) +#define SCARD_ATTR_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0120) + +#define SCARD_ATTR_DEFAULT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0121) +#define SCARD_ATTR_MAX_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0122) +#define SCARD_ATTR_DEFAULT_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0123) +#define SCARD_ATTR_MAX_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0124) +#define SCARD_ATTR_MAX_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL,0x0125) + +#define SCARD_ATTR_POWER_MGMT_SUPPORT SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT,0x0131) +#define SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY,0x0140) +#define SCARD_ATTR_USER_AUTH_INPUT_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY,0x0142) +#define SCARD_ATTR_CHARACTERISTICS SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL,0x0150) + +#define SCARD_ATTR_CURRENT_PROTOCOL_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0201) +#define SCARD_ATTR_CURRENT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0202) +#define SCARD_ATTR_CURRENT_F SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0203) +#define SCARD_ATTR_CURRENT_D SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0204) +#define SCARD_ATTR_CURRENT_N SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0205) +#define SCARD_ATTR_CURRENT_W SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0206) +#define SCARD_ATTR_CURRENT_IFSC SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0207) +#define SCARD_ATTR_CURRENT_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0208) +#define SCARD_ATTR_CURRENT_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x0209) +#define SCARD_ATTR_CURRENT_CWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x020a) +#define SCARD_ATTR_CURRENT_EBC_ENCODING SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x020b) +#define SCARD_ATTR_EXTENDED_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL,0x020c) + +#define SCARD_ATTR_ICC_PRESENCE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE,0x0300) +#define SCARD_ATTR_ICC_INTERFACE_STATUS SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE,0x0301) +#define SCARD_ATTR_CURRENT_IO_STATE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE,0x0302) +#define SCARD_ATTR_ATR_STRING SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE,0x0303) +#define SCARD_ATTR_ICC_TYPE_PER_ATR SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE,0x0304) + +#define SCARD_ATTR_ESC_RESET SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED,0xA000) +#define SCARD_ATTR_ESC_CANCEL SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED,0xA003) +#define SCARD_ATTR_ESC_AUTHREQUEST SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED,0xA005) +#define SCARD_ATTR_MAXINPUT SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED,0xA007) + +#define SCARD_ATTR_DEVICE_UNIT SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0001) +#define SCARD_ATTR_DEVICE_IN_USE SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0002) +#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0003) +#define SCARD_ATTR_DEVICE_SYSTEM_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0004) +#define SCARD_ATTR_DEVICE_FRIENDLY_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0005) +#define SCARD_ATTR_DEVICE_SYSTEM_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0006) +#define SCARD_ATTR_SUPRESS_T1_IFS_REQUEST SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM,0x0007) + +#define SCARD_PERF_NUM_TRANSMISSIONS SCARD_ATTR_VALUE(SCARD_CLASS_PERF,0x0001) +#define SCARD_PERF_BYTES_TRANSMITTED SCARD_ATTR_VALUE(SCARD_CLASS_PERF,0x0002) +#define SCARD_PERF_TRANSMISSION_TIME SCARD_ATTR_VALUE(SCARD_CLASS_PERF,0x0003) + +#define SCARD_ATTR_DEVICE_FRIENDLY_NAME __MINGW_NAME_UAW(SCARD_ATTR_DEVICE_FRIENDLY_NAME) +#define SCARD_ATTR_DEVICE_SYSTEM_NAME __MINGW_NAME_UAW(SCARD_ATTR_DEVICE_SYSTEM_NAME) + +#define SCARD_T0_HEADER_LENGTH 7 +#define SCARD_T0_CMD_LENGTH 5 + +#define SCARD_T1_PROLOGUE_LENGTH 3 +#define SCARD_T1_EPILOGUE_LENGTH 2 +#define SCARD_T1_MAX_IFS 254 + +#define SCARD_UNKNOWN 0 +#define SCARD_ABSENT 1 +#define SCARD_PRESENT 2 +#define SCARD_SWALLOWED 3 +#define SCARD_POWERED 4 +#define SCARD_NEGOTIABLE 5 +#define SCARD_SPECIFIC 6 + + typedef struct _SCARD_IO_REQUEST { + DWORD dwProtocol; + DWORD cbPciLength; + } SCARD_IO_REQUEST,*PSCARD_IO_REQUEST,*LPSCARD_IO_REQUEST; + typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; + + typedef struct { + BYTE + bCla,bIns,bP1,bP2,bP3; + } SCARD_T0_COMMAND,*LPSCARD_T0_COMMAND; + + typedef struct { + SCARD_IO_REQUEST ioRequest; + BYTE bSw1,bSw2; + __C89_NAMELESS union { + SCARD_T0_COMMAND CmdBytes; + BYTE rgbHeader[5]; + }; + } SCARD_T0_REQUEST; + + typedef SCARD_T0_REQUEST *PSCARD_T0_REQUEST,*LPSCARD_T0_REQUEST; + + typedef struct { + SCARD_IO_REQUEST ioRequest; + } SCARD_T1_REQUEST; + typedef SCARD_T1_REQUEST *PSCARD_T1_REQUEST,*LPSCARD_T1_REQUEST; + +#define SCARD_READER_SWALLOWS 0x00000001 +#define SCARD_READER_EJECTS 0x00000002 +#define SCARD_READER_CONFISCATES 0x00000004 + +#define SCARD_READER_TYPE_SERIAL 0x01 +#define SCARD_READER_TYPE_PARALELL 0x02 +#define SCARD_READER_TYPE_KEYBOARD 0x04 +#define SCARD_READER_TYPE_SCSI 0x08 +#define SCARD_READER_TYPE_IDE 0x10 +#define SCARD_READER_TYPE_USB 0x20 +#define SCARD_READER_TYPE_PCMCIA 0x40 +#define SCARD_READER_TYPE_VENDOR 0xF0 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsnmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsnmp.h new file mode 100644 index 00000000..f3987a70 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsnmp.h @@ -0,0 +1,288 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_WINSNMP +#define _INC_WINSNMP + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifndef _INC_WINDOWS +#include +#define _INC_WINDOWS +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + + typedef HANDLE HSNMP_SESSION,*LPHSNMP_SESSION; + typedef HANDLE HSNMP_ENTITY,*LPHSNMP_ENTITY; + typedef HANDLE HSNMP_CONTEXT,*LPHSNMP_CONTEXT; + typedef HANDLE HSNMP_PDU,*LPHSNMP_PDU; + typedef HANDLE HSNMP_VBL,*LPHSNMP_VBL; + typedef unsigned char smiBYTE,*smiLPBYTE; + +#if ULONG_MAX == 4294967295U + typedef signed __LONG32 smiINT,*smiLPINT; + typedef smiINT smiINT32,*smiLPINT32; + typedef unsigned __LONG32 smiUINT32,*smiLPUINT32; +#elif UINT_MAX == 4294967295U + typedef int smiINT,*smiLPINT; + typedef smiINT smiINT32,*smiLPINT32; + typedef unsigned int smiUINT32,*smiLPUINT32; +#else +#error can not define smiINT and smiUINT +#endif + + typedef struct { + smiUINT32 len; + smiLPBYTE ptr; + } smiOCTETS,*smiLPOCTETS; + + typedef const smiOCTETS *smiLPCOCTETS; + typedef smiOCTETS smiBITS,*smiLPBITS; + + typedef struct { + smiUINT32 len; + smiLPUINT32 ptr; + } smiOID,*smiLPOID; + + typedef const smiOID *smiLPCOID; + typedef smiOCTETS smiIPADDR,*smiLPIPADDR; + typedef smiUINT32 smiCNTR32,*smiLPCNTR32; + typedef smiUINT32 smiGAUGE32,*smiLPGAUGE32; + typedef smiUINT32 smiTIMETICKS,*smiLPTIMETICKS; + typedef smiOCTETS smiOPAQUE,*smiLPOPAQUE; + typedef smiOCTETS smiNSAPADDR,*smiLPNSAPADDR; + + typedef struct { + smiUINT32 hipart; + smiUINT32 lopart; + } smiCNTR64,*smiLPCNTR64; + +#define ASN_UNIVERSAL (0x00) +#define ASN_APPLICATION (0x40) +#define ASN_CONTEXT (0x80) +#define ASN_PRIVATE (0xc0) +#define ASN_PRIMITIVE (0x00) +#define ASN_CONSTRUCTOR (0x20) + +#define SNMP_SYNTAX_SEQUENCE (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10) +#define SNMP_SYNTAX_INT (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02) +#define SNMP_SYNTAX_BITS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03) +#define SNMP_SYNTAX_OCTETS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04) +#define SNMP_SYNTAX_NULL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05) +#define SNMP_SYNTAX_OID (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06) +#define SNMP_SYNTAX_INT32 SNMP_SYNTAX_INT +#define SNMP_SYNTAX_IPADDR (ASN_APPLICATION | ASN_PRIMITIVE | 0x00) +#define SNMP_SYNTAX_CNTR32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x01) +#define SNMP_SYNTAX_GAUGE32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02) +#define SNMP_SYNTAX_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03) +#define SNMP_SYNTAX_OPAQUE (ASN_APPLICATION | ASN_PRIMITIVE | 0x04) +#define SNMP_SYNTAX_NSAPADDR (ASN_APPLICATION | ASN_PRIMITIVE | 0x05) +#define SNMP_SYNTAX_CNTR64 (ASN_APPLICATION | ASN_PRIMITIVE | 0x06) +#define SNMP_SYNTAX_UINT32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x07) +#define SNMP_SYNTAX_UNSIGNED32 SNMP_SYNTAX_GAUGE32 +#define SNMP_SYNTAX_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x00) +#define SNMP_SYNTAX_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01) +#define SNMP_SYNTAX_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x02) + + typedef struct { + smiUINT32 syntax; + union { + smiINT sNumber; + smiUINT32 uNumber; + smiCNTR64 hNumber; + smiOCTETS string; + smiOID oid; + smiBYTE empty; + } value; + } smiVALUE,*smiLPVALUE; + typedef const smiVALUE *smiLPCVALUE; + +#define MAXOBJIDSIZE 128 +#define MAXOBJIDSTRSIZE 1408 + +#define SNMP_PDU_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0) +#define SNMP_PDU_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1) +#define SNMP_PDU_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2) +#define SNMP_PDU_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3) + +#define SNMP_PDU_V1TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4) +#define SNMP_PDU_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5) +#define SNMP_PDU_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6) +#define SNMP_PDU_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7) + +#define SNMPLISTEN_USEENTITY_ADDR 0 +#define SNMPLISTEN_ALL_ADDR 1 + +#define SNMP_TRAP_COLDSTART 0 +#define SNMP_TRAP_WARMSTART 1 +#define SNMP_TRAP_LINKDOWN 2 +#define SNMP_TRAP_LINKUP 3 +#define SNMP_TRAP_AUTHFAIL 4 +#define SNMP_TRAP_EGPNEIGHBORLOSS 5 +#define SNMP_TRAP_ENTERPRISESPECIFIC 6 + +#define SNMP_ERROR_NOERROR 0 +#define SNMP_ERROR_TOOBIG 1 +#define SNMP_ERROR_NOSUCHNAME 2 +#define SNMP_ERROR_BADVALUE 3 +#define SNMP_ERROR_READONLY 4 +#define SNMP_ERROR_GENERR 5 + +#define SNMP_ERROR_NOACCESS 6 +#define SNMP_ERROR_WRONGTYPE 7 +#define SNMP_ERROR_WRONGLENGTH 8 +#define SNMP_ERROR_WRONGENCODING 9 +#define SNMP_ERROR_WRONGVALUE 10 +#define SNMP_ERROR_NOCREATION 11 +#define SNMP_ERROR_INCONSISTENTVALUE 12 +#define SNMP_ERROR_RESOURCEUNAVAILABLE 13 +#define SNMP_ERROR_COMMITFAILED 14 +#define SNMP_ERROR_UNDOFAILED 15 +#define SNMP_ERROR_AUTHORIZATIONERROR 16 +#define SNMP_ERROR_NOTWRITABLE 17 +#define SNMP_ERROR_INCONSISTENTNAME 18 + +#define SNMPAPI_TRANSLATED 0 +#define SNMPAPI_UNTRANSLATED_V1 1 +#define SNMPAPI_UNTRANSLATED_V2 2 + +#define SNMPAPI_NO_SUPPORT 0 +#define SNMPAPI_V1_SUPPORT 1 +#define SNMPAPI_V2_SUPPORT 2 +#define SNMPAPI_M2M_SUPPORT 3 + +#define SNMPAPI_OFF 0 +#define SNMPAPI_ON 1 + + typedef smiUINT32 SNMPAPI_STATUS; + +#define SNMPAPI_FAILURE 0 +#define SNMPAPI_SUCCESS 1 + +#define SNMPAPI_ALLOC_ERROR 2 +#define SNMPAPI_CONTEXT_INVALID 3 +#define SNMPAPI_CONTEXT_UNKNOWN 4 +#define SNMPAPI_ENTITY_INVALID 5 +#define SNMPAPI_ENTITY_UNKNOWN 6 +#define SNMPAPI_INDEX_INVALID 7 +#define SNMPAPI_NOOP 8 +#define SNMPAPI_OID_INVALID 9 +#define SNMPAPI_OPERATION_INVALID 10 +#define SNMPAPI_OUTPUT_TRUNCATED 11 +#define SNMPAPI_PDU_INVALID 12 +#define SNMPAPI_SESSION_INVALID 13 +#define SNMPAPI_SYNTAX_INVALID 14 +#define SNMPAPI_VBL_INVALID 15 +#define SNMPAPI_MODE_INVALID 16 +#define SNMPAPI_SIZE_INVALID 17 +#define SNMPAPI_NOT_INITIALIZED 18 +#define SNMPAPI_MESSAGE_INVALID 19 +#define SNMPAPI_HWND_INVALID 20 +#define SNMPAPI_OTHER_ERROR 99 + +#define SNMPAPI_TL_NOT_INITIALIZED 100 +#define SNMPAPI_TL_NOT_SUPPORTED 101 +#define SNMPAPI_TL_NOT_AVAILABLE 102 +#define SNMPAPI_TL_RESOURCE_ERROR 103 +#define SNMPAPI_TL_UNDELIVERABLE 104 +#define SNMPAPI_TL_SRC_INVALID 105 +#define SNMPAPI_TL_INVALID_PARAM 106 +#define SNMPAPI_TL_IN_USE 107 +#define SNMPAPI_TL_TIMEOUT 108 +#define SNMPAPI_TL_PDU_TOO_BIG 109 +#define SNMPAPI_TL_OTHER 199 + +#ifndef IN +#define IN +#endif + +#ifndef OUT +#define OUT +#endif + +#define SNMPAPI_CALL WINAPI + +#define MAXVENDORINFO 32 + + typedef struct { + char vendorName[MAXVENDORINFO *2]; + char vendorContact[MAXVENDORINFO *2]; + char vendorVersionId[MAXVENDORINFO]; + char vendorVersionDate[MAXVENDORINFO]; + smiUINT32 vendorEnterprise; + } smiVENDORINFO,*smiLPVENDORINFO; + + typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK) (HSNMP_SESSION hSession, HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam, LPVOID lpClientData); + + SNMPAPI_STATUS WINAPI SnmpGetTranslateMode (smiLPUINT32 nTranslateMode); + SNMPAPI_STATUS WINAPI SnmpSetTranslateMode (smiUINT32 nTranslateMode); + SNMPAPI_STATUS WINAPI SnmpGetRetransmitMode (smiLPUINT32 nRetransmitMode); + SNMPAPI_STATUS WINAPI SnmpSetRetransmitMode (smiUINT32 nRetransmitMode); + SNMPAPI_STATUS WINAPI SnmpGetTimeout (HSNMP_ENTITY hEntity, smiLPTIMETICKS nPolicyTimeout, smiLPTIMETICKS nActualTimeout); + SNMPAPI_STATUS WINAPI SnmpSetTimeout (HSNMP_ENTITY hEntity, smiTIMETICKS nPolicyTimeout); + SNMPAPI_STATUS WINAPI SnmpGetRetry (HSNMP_ENTITY hEntity, smiLPUINT32 nPolicyRetry, smiLPUINT32 nActualRetry); + SNMPAPI_STATUS WINAPI SnmpSetRetry (HSNMP_ENTITY hEntity, smiUINT32 nPolicyRetry); + SNMPAPI_STATUS WINAPI SnmpGetVendorInfo (smiLPVENDORINFO vendorInfo); + SNMPAPI_STATUS WINAPI SnmpStartup (smiLPUINT32 nMajorVersion, smiLPUINT32 nMinorVersion, smiLPUINT32 nLevel, smiLPUINT32 nTranslateMode, smiLPUINT32 nRetransmitMode); + SNMPAPI_STATUS WINAPI SnmpCleanup (void); + HSNMP_SESSION WINAPI SnmpOpen (HWND hWnd, UINT wMsg); + SNMPAPI_STATUS WINAPI SnmpClose (HSNMP_SESSION session); + SNMPAPI_STATUS WINAPI SnmpSendMsg (HSNMP_SESSION session, HSNMP_ENTITY srcEntity, HSNMP_ENTITY dstEntity, HSNMP_CONTEXT context, HSNMP_PDU PDU); + SNMPAPI_STATUS WINAPI SnmpRecvMsg (HSNMP_SESSION session, LPHSNMP_ENTITY srcEntity, LPHSNMP_ENTITY dstEntity, LPHSNMP_CONTEXT context, LPHSNMP_PDU PDU); + SNMPAPI_STATUS WINAPI SnmpRegister (HSNMP_SESSION session, HSNMP_ENTITY srcEntity, HSNMP_ENTITY dstEntity, HSNMP_CONTEXT context, smiLPCOID notification, smiUINT32 state); + HSNMP_SESSION WINAPI SnmpCreateSession (HWND hWnd, UINT wMsg, SNMPAPI_CALLBACK fCallBack, LPVOID lpClientData); + SNMPAPI_STATUS WINAPI SnmpListen (HSNMP_ENTITY hEntity, SNMPAPI_STATUS lStatus); + SNMPAPI_STATUS WINAPI SnmpListenEx (HSNMP_ENTITY hEntity, SNMPAPI_STATUS lStatus, smiUINT32 nUseEntityAddr); + SNMPAPI_STATUS WINAPI SnmpCancelMsg (HSNMP_SESSION session, smiINT32 reqId); + SNMPAPI_STATUS WINAPI SnmpStartupEx (smiLPUINT32 nMajorVersion, smiLPUINT32 nMinorVersion, smiLPUINT32 nLevel, smiLPUINT32 nTranslateMode, smiLPUINT32 nRetransmitMode); + + typedef SNMPAPI_STATUS (WINAPI *PFNSNMPSTARTUPEX) (smiLPUINT32, smiLPUINT32, smiLPUINT32, smiLPUINT32, smiLPUINT32); + + SNMPAPI_STATUS WINAPI SnmpCleanupEx (void); + + typedef SNMPAPI_STATUS (WINAPI *PFNSNMPCLEANUPEX) (void); + + HSNMP_ENTITY WINAPI SnmpStrToEntity (HSNMP_SESSION session, LPCSTR string); + SNMPAPI_STATUS WINAPI SnmpEntityToStr (HSNMP_ENTITY entity, smiUINT32 size, LPSTR string); + SNMPAPI_STATUS WINAPI SnmpFreeEntity (HSNMP_ENTITY entity); + HSNMP_CONTEXT WINAPI SnmpStrToContext (HSNMP_SESSION session, smiLPCOCTETS string); + SNMPAPI_STATUS WINAPI SnmpContextToStr (HSNMP_CONTEXT context, smiLPOCTETS string); + SNMPAPI_STATUS WINAPI SnmpFreeContext (HSNMP_CONTEXT context); + SNMPAPI_STATUS WINAPI SnmpSetPort (HSNMP_ENTITY hEntity, UINT nPort); + HSNMP_PDU WINAPI SnmpCreatePdu (HSNMP_SESSION session, smiINT PDU_type, smiINT32 request_id, smiINT error_status, smiINT error_index, HSNMP_VBL varbindlist); + SNMPAPI_STATUS WINAPI SnmpGetPduData (HSNMP_PDU PDU, smiLPINT PDU_type, smiLPINT32 request_id, smiLPINT error_status, smiLPINT error_index, LPHSNMP_VBL varbindlist); + SNMPAPI_STATUS WINAPI SnmpSetPduData (HSNMP_PDU PDU, const smiINT *PDU_type, const smiINT32 *request_id, const smiINT *non_repeaters, const smiINT *max_repetitions, const HSNMP_VBL *varbindlist); + HSNMP_PDU WINAPI SnmpDuplicatePdu (HSNMP_SESSION session, HSNMP_PDU PDU); + SNMPAPI_STATUS WINAPI SnmpFreePdu (HSNMP_PDU PDU); + HSNMP_VBL WINAPI SnmpCreateVbl (HSNMP_SESSION session, smiLPCOID name, smiLPCVALUE value); + HSNMP_VBL WINAPI SnmpDuplicateVbl (HSNMP_SESSION session, HSNMP_VBL vbl); + SNMPAPI_STATUS WINAPI SnmpFreeVbl (HSNMP_VBL vbl); + SNMPAPI_STATUS WINAPI SnmpCountVbl (HSNMP_VBL vbl); + SNMPAPI_STATUS WINAPI SnmpGetVb (HSNMP_VBL vbl, smiUINT32 index, smiLPOID name, smiLPVALUE value); + SNMPAPI_STATUS WINAPI SnmpSetVb (HSNMP_VBL vbl, smiUINT32 index, smiLPCOID name, smiLPCVALUE value); + SNMPAPI_STATUS WINAPI SnmpDeleteVb (HSNMP_VBL vbl, smiUINT32 index); + SNMPAPI_STATUS WINAPI SnmpGetLastError (HSNMP_SESSION session); + SNMPAPI_STATUS WINAPI SnmpStrToOid (LPCSTR string, smiLPOID dstOID); + SNMPAPI_STATUS WINAPI SnmpOidToStr (smiLPCOID srcOID, smiUINT32 size, LPSTR string); + SNMPAPI_STATUS WINAPI SnmpOidCopy (smiLPCOID srcOID, smiLPOID dstOID); + SNMPAPI_STATUS WINAPI SnmpOidCompare (smiLPCOID xOID, smiLPCOID yOID, smiUINT32 maxlen, smiLPINT result); + SNMPAPI_STATUS WINAPI SnmpEncodeMsg (HSNMP_SESSION session, HSNMP_ENTITY srcEntity, HSNMP_ENTITY dstEntity, HSNMP_CONTEXT context, HSNMP_PDU pdu, smiLPOCTETS msgBufDesc); + SNMPAPI_STATUS WINAPI SnmpDecodeMsg (HSNMP_SESSION session, LPHSNMP_ENTITY srcEntity, LPHSNMP_ENTITY dstEntity, LPHSNMP_CONTEXT context, LPHSNMP_PDU pdu, smiLPCOCTETS msgBufDesc); + SNMPAPI_STATUS WINAPI SnmpFreeDescriptor (smiUINT32 syntax, smiLPOPAQUE descriptor); + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock.h new file mode 100644 index 00000000..6ef5d00b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock.h @@ -0,0 +1,371 @@ +/** + * 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 _WINSOCKAPI_ +#define _WINSOCKAPI_ + +#ifndef _INC_WINDOWS +#include +#endif + +/* define WINSOCK_API_LINKAGE and WSAAPI for less + * diff output between winsock.h and winsock2.h, but + * remember to undefine them at the end of file */ +#ifndef WINSOCK_API_LINKAGE +#define UNDEF_WINSOCK_API_LINKAGE +#ifdef DECLSPEC_IMPORT +#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT +#else +#define WINSOCK_API_LINKAGE +#endif +#endif /* WINSOCK_API_LINKAGE */ +#define WSAAPI WINAPI + +#ifdef __LP64__ +#pragma push_macro("u_long") +#undef u_long +#define u_long __ms_u_long +#endif + +#include <_timeval.h> +#include <_bsd_types.h> +#include +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define IOCPARM_MASK 0x7f +#define IOC_VOID 0x20000000 +#define IOC_OUT 0x40000000 +#define IOC_IN 0x80000000 +#define IOC_INOUT (IOC_IN|IOC_OUT) + +#define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) +#define _IOR(x,y,t) (IOC_OUT|(((__LONG32)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#define _IOW(x,y,t) (IOC_IN|(((__LONG32)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) + +#define FIONREAD _IOR('f',127,u_long) +#define FIONBIO _IOW('f',126,u_long) +#define FIOASYNC _IOW('f',125,u_long) + +#define SIOCSHIWAT _IOW('s',0,u_long) +#define SIOCGHIWAT _IOR('s',1,u_long) +#define SIOCSLOWAT _IOW('s',2,u_long) +#define SIOCGLOWAT _IOR('s',3,u_long) +#define SIOCATMARK _IOR('s',7,u_long) + +#define IPPROTO_IP 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_IGMP 2 +#define IPPROTO_GGP 3 +#define IPPROTO_TCP 6 +#define IPPROTO_PUP 12 +#define IPPROTO_UDP 17 +#define IPPROTO_IDP 22 +#define IPPROTO_ND 77 + +#define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 + +#define IPPORT_ECHO 7 +#define IPPORT_DISCARD 9 +#define IPPORT_SYSTAT 11 +#define IPPORT_DAYTIME 13 +#define IPPORT_NETSTAT 15 +#define IPPORT_FTP 21 +#define IPPORT_TELNET 23 +#define IPPORT_SMTP 25 +#define IPPORT_TIMESERVER 37 +#define IPPORT_NAMESERVER 42 +#define IPPORT_WHOIS 43 +#define IPPORT_MTP 57 + +#define IPPORT_TFTP 69 +#define IPPORT_RJE 77 +#define IPPORT_FINGER 79 +#define IPPORT_TTYLINK 87 +#define IPPORT_SUPDUP 95 + +#define IPPORT_EXECSERVER 512 +#define IPPORT_LOGINSERVER 513 +#define IPPORT_CMDSERVER 514 +#define IPPORT_EFSSERVER 520 + +#define IPPORT_BIFFUDP 512 +#define IPPORT_WHOSERVER 513 +#define IPPORT_ROUTESERVER 520 + +#define IPPORT_RESERVED 1024 + +#define IMPLINK_IP 155 +#define IMPLINK_LOWEXPER 156 +#define IMPLINK_HIGHEXPER 158 + + +#define IN_CLASSA(i) (((__LONG32)(i) & 0x80000000)==0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST 0x00ffffff +#define IN_CLASSA_MAX 128 + +#define IN_CLASSB(i) (((__LONG32)(i) & 0xc0000000)==0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST 0x0000ffff +#define IN_CLASSB_MAX 65536 + +#define IN_CLASSC(i) (((__LONG32)(i) & 0xe0000000)==0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST 0x000000ff + +#define INADDR_ANY (u_long)0x00000000 +#define INADDR_LOOPBACK 0x7f000001 +#define INADDR_BROADCAST (u_long)0xffffffff +#define INADDR_NONE 0xffffffff + + +#define IP_OPTIONS 1 +#define IP_MULTICAST_IF 2 +#define IP_MULTICAST_TTL 3 +#define IP_MULTICAST_LOOP 4 +#define IP_ADD_MEMBERSHIP 5 +#define IP_DROP_MEMBERSHIP 6 +#define IP_TTL 7 +#define IP_TOS 8 +#define IP_DONTFRAGMENT 9 + +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#define IP_MAX_MEMBERSHIPS 20 + +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 + +#define SO_DEBUG 0x0001 +#define SO_ACCEPTCONN 0x0002 +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_USELOOPBACK 0x0040 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 + +#define SO_DONTLINGER (u_int)(~SO_LINGER) + +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_SNDTIMEO 0x1005 +#define SO_RCVTIMEO 0x1006 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 + +#define SO_CONNDATA 0x7000 +#define SO_CONNOPT 0x7001 +#define SO_DISCDATA 0x7002 +#define SO_DISCOPT 0x7003 +#define SO_CONNDATALEN 0x7004 +#define SO_CONNOPTLEN 0x7005 +#define SO_DISCDATALEN 0x7006 +#define SO_DISCOPTLEN 0x7007 + +#define SO_OPENTYPE 0x7008 + +#define SO_SYNCHRONOUS_ALERT 0x10 +#define SO_SYNCHRONOUS_NONALERT 0x20 + +#define SO_MAXDG 0x7009 +#define SO_MAXPATHDG 0x700A +#define SO_UPDATE_ACCEPT_CONTEXT 0x700B +#define SO_CONNECT_TIME 0x700C + +#define TCP_NODELAY 0x0001 +#define TCP_BSDURGENT 0x7000 + +#define AF_UNSPEC 0 +#define AF_UNIX 1 +#define AF_INET 2 +#define AF_IMPLINK 3 +#define AF_PUP 4 +#define AF_CHAOS 5 +#define AF_IPX 6 +#define AF_NS 6 +#define AF_ISO 7 +#define AF_OSI AF_ISO +#define AF_ECMA 8 +#define AF_DATAKIT 9 +#define AF_CCITT 10 +#define AF_SNA 11 +#define AF_DECnet 12 +#define AF_DLI 13 +#define AF_LAT 14 +#define AF_HYLINK 15 +#define AF_APPLETALK 16 +#define AF_NETBIOS 17 +#define AF_VOICEVIEW 18 +#define AF_FIREFOX 19 +#define AF_UNKNOWN1 20 +#define AF_BAN 21 + +#define AF_MAX 22 + +#define PF_UNSPEC AF_UNSPEC +#define PF_UNIX AF_UNIX +#define PF_INET AF_INET +#define PF_IMPLINK AF_IMPLINK +#define PF_PUP AF_PUP +#define PF_CHAOS AF_CHAOS +#define PF_NS AF_NS +#define PF_IPX AF_IPX +#define PF_ISO AF_ISO +#define PF_OSI AF_OSI +#define PF_ECMA AF_ECMA +#define PF_DATAKIT AF_DATAKIT +#define PF_CCITT AF_CCITT +#define PF_SNA AF_SNA +#define PF_DECnet AF_DECnet +#define PF_DLI AF_DLI +#define PF_LAT AF_LAT +#define PF_HYLINK AF_HYLINK +#define PF_APPLETALK AF_APPLETALK +#define PF_VOICEVIEW AF_VOICEVIEW +#define PF_FIREFOX AF_FIREFOX +#define PF_UNKNOWN1 AF_UNKNOWN1 +#define PF_BAN AF_BAN + +#define PF_MAX AF_MAX + +#define SOL_SOCKET 0xffff + +#define SOMAXCONN 5 + +#define MSG_OOB 0x1 +#define MSG_PEEK 0x2 +#define MSG_DONTROUTE 0x4 + +#define MSG_MAXIOVLEN 16 + +#define MSG_PARTIAL 0x8000 + +#define MAXGETHOSTSTRUCT 1024 + +#define FD_READ 0x01 +#define FD_WRITE 0x02 +#define FD_OOB 0x04 +#define FD_ACCEPT 0x08 +#define FD_CONNECT 0x10 +#define FD_CLOSE 0x20 + +#include + +/* these 46 functions have the same prototypes as in winsock2 */ + WINSOCK_API_LINKAGE SOCKET WSAAPI accept(SOCKET s,struct sockaddr *addr,int *addrlen); + WINSOCK_API_LINKAGE int WSAAPI bind(SOCKET s,const struct sockaddr *name,int namelen); + WINSOCK_API_LINKAGE int WSAAPI closesocket(SOCKET s); + WINSOCK_API_LINKAGE int WSAAPI connect(SOCKET s,const struct sockaddr *name,int namelen); + WINSOCK_API_LINKAGE int WSAAPI ioctlsocket(SOCKET s,__LONG32 cmd,u_long *argp); + WINSOCK_API_LINKAGE int WSAAPI getpeername(SOCKET s,struct sockaddr *name,int *namelen); + WINSOCK_API_LINKAGE int WSAAPI getsockname(SOCKET s,struct sockaddr *name,int *namelen); + WINSOCK_API_LINKAGE int WSAAPI getsockopt(SOCKET s,int level,int optname,char *optval,int *optlen); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong); + WINSOCK_API_LINKAGE u_short WSAAPI htons(u_short hostshort); +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE unsigned __LONG32 WSAAPI inet_addr(const char *cp); + WINSOCK_API_LINKAGE char *WSAAPI inet_ntoa(struct in_addr in); + WINSOCK_API_LINKAGE int WSAAPI listen(SOCKET s,int backlog); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong); + WINSOCK_API_LINKAGE u_short WSAAPI ntohs(u_short netshort); +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags); + WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const TIMEVAL *timeout); +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags); + WINSOCK_API_LINKAGE int WSAAPI sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen); + WINSOCK_API_LINKAGE int WSAAPI setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen); + WINSOCK_API_LINKAGE int WSAAPI shutdown(SOCKET s,int how); + WINSOCK_API_LINKAGE SOCKET WSAAPI socket(int af,int type,int protocol); + WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type); + WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen); +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto); + WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto); + WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobynumber(int number); + WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobyname(const char *name); + WINSOCK_API_LINKAGE int WSAAPI WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData); + WINSOCK_API_LINKAGE int WSAAPI WSACleanup(void); + WINSOCK_API_LINKAGE void WSAAPI WSASetLastError(int iError); + WINSOCK_API_LINKAGE int WSAAPI WSAGetLastError(void); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSAIsBlocking(void); + WINSOCK_API_LINKAGE int WSAAPI WSAUnhookBlockingHook(void); + WINSOCK_API_LINKAGE FARPROC WSAAPI WSASetBlockingHook(FARPROC lpBlockFunc); + WINSOCK_API_LINKAGE int WSAAPI WSACancelBlockingCall(void); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByName(HWND hWnd,u_int wMsg,const char *name,const char *proto,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByPort(HWND hWnd,u_int wMsg,int port,const char *proto,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByNumber(HWND hWnd,u_int wMsg,int number,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByAddr(HWND hWnd,u_int wMsg,const char *addr,int len,int type,char *buf,int buflen); + WINSOCK_API_LINKAGE int WSAAPI WSACancelAsyncRequest(HANDLE hAsyncTaskHandle); + WINSOCK_API_LINKAGE int WSAAPI WSAAsyncSelect(SOCKET s,HWND hWnd,u_int wMsg,__LONG32 lEvent); +#define __WINSOCK_WS1_SHARED /* avoid redefinitions in winsock2.h */ + +/* these four functions are in mswsock.h in the new api */ + int WINAPI WSARecvEx(SOCKET s,char *buf,int len,int *flags); + +#define TF_DISCONNECT 0x01 +#define TF_REUSE_SOCKET 0x02 +#define TF_WRITE_BEHIND 0x04 + + WINBOOL WINAPI TransmitFile(SOCKET hSocket,HANDLE hFile,DWORD nNumberOfBytesToWrite,DWORD nNumberOfBytesPerSend,LPOVERLAPPED lpOverlapped,LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers,DWORD dwReserved); + WINBOOL WINAPI AcceptEx(SOCKET sListenSocket,SOCKET sAcceptSocket,PVOID lpOutputBuffer,DWORD dwReceiveDataLength,DWORD dwLocalAddressLength,DWORD dwRemoteAddressLength,LPDWORD lpdwBytesReceived,LPOVERLAPPED lpOverlapped); + VOID WINAPI GetAcceptExSockaddrs(PVOID lpOutputBuffer,DWORD dwReceiveDataLength,DWORD dwLocalAddressLength,DWORD dwRemoteAddressLength,struct sockaddr **LocalSockaddr,LPINT LocalSockaddrLength,struct sockaddr **RemoteSockaddr,LPINT RemoteSockaddrLength); +#define __MSWSOCK_WS1_SHARED /* avoid redefinitions in mswsock.h */ + +#define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error) +#define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error) +#define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam) +#define WSAGETASYNCERROR(lParam) HIWORD(lParam) +#define WSAGETSELECTEVENT(lParam) LOWORD(lParam) +#define WSAGETSELECTERROR(lParam) HIWORD(lParam) + +#ifdef __cplusplus +} +#endif + +#ifdef UNDEF_WINSOCK_API_LINKAGE +#undef WINSOCK_API_LINKAGE +#undef UNDEF_WINSOCK_API_LINKAGE +#endif + +#undef WSAAPI + +#ifdef IPV6STRICT +#error WINSOCK2 required. +#endif + +#ifdef __LP64__ +#pragma pop_macro("u_long") +#endif + +#endif /* _WINSOCKAPI_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock2.h new file mode 100644 index 00000000..930616e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsock2.h @@ -0,0 +1,1324 @@ +/** + * 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 _WINSOCK2API_ +#define _WINSOCK2API_ + +#include <_mingw_unicode.h> + +#ifndef _WINSOCKAPI_ +#define _WINSOCKAPI_ +#else +#warning Please include winsock2.h before windows.h +#endif + +#ifndef INCL_WINSOCK_API_TYPEDEFS +#define INCL_WINSOCK_API_TYPEDEFS 0 +#endif + +#ifndef _INC_WINDOWS +#include +#endif + +#ifndef MAKEWORD +#define MAKEWORD(low,high) ((WORD)(((BYTE)(low)) | ((WORD)((BYTE)(high))) << 8)) +#endif + +#ifndef WINSOCK_VERSION +#define WINSOCK_VERSION MAKEWORD(2,2) +#endif + +#ifndef WINSOCK_API_LINKAGE +#ifdef DECLSPEC_IMPORT +#define WINSOCK_API_LINKAGE DECLSPEC_IMPORT +#else +#define WINSOCK_API_LINKAGE +#endif +#endif /* WINSOCK_API_LINKAGE */ +#define WSAAPI WINAPI + +/* undefine macros from winsock.h */ +#include + +#ifdef __LP64__ +#pragma push_macro("u_long") +#undef u_long +#define u_long __ms_u_long +#endif + +#include <_timeval.h> +#include <_bsd_types.h> +#include +#include +#include +#include +#include +#include /* FIXME: include order */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define IOCPARM_MASK 0x7f +#define IOC_VOID 0x20000000 +#define IOC_OUT 0x40000000 +#define IOC_IN 0x80000000 +#define IOC_INOUT (IOC_IN|IOC_OUT) + +#define _IO(x,y) (IOC_VOID|((x)<<8)|(y)) +#define _IOR(x,y,t) (IOC_OUT|(((__LONG32)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) +#define _IOW(x,y,t) (IOC_IN|(((__LONG32)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y)) + +#define FIONREAD _IOR('f',127,u_long) +#define FIONBIO _IOW('f',126,u_long) +#define FIOASYNC _IOW('f',125,u_long) + +#define SIOCSHIWAT _IOW('s',0,u_long) +#define SIOCGHIWAT _IOR('s',1,u_long) +#define SIOCSLOWAT _IOW('s',2,u_long) +#define SIOCGLOWAT _IOR('s',3,u_long) +#define SIOCATMARK _IOR('s',7,u_long) + +#define IPPROTO_IP 0 +#define IPPROTO_HOPOPTS 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_IGMP 2 +#define IPPROTO_GGP 3 +#define IPPROTO_IPV4 4 +#define IPPROTO_ST 5 +#define IPPROTO_TCP 6 +#define IPPROTO_CBT 7 +#define IPPROTO_EGP 8 +#define IPPROTO_IGP 9 +#define IPPROTO_PUP 12 +#define IPPROTO_UDP 17 +#define IPPROTO_IDP 22 +#define IPPROTO_RDP 27 +#define IPPROTO_IPV6 41 +#define IPPROTO_ROUTING 43 +#define IPPROTO_FRAGMENT 44 +#define IPPROTO_ESP 50 +#define IPPROTO_AH 51 +#define IPPROTO_ICMPV6 58 +#define IPPROTO_NONE 59 +#define IPPROTO_DSTOPTS 60 +#define IPPROTO_ND 77 +#define IPPROTO_ICLFXBM 78 +#define IPPROTO_PIM 103 +#define IPPROTO_PGM 113 +#define IPPROTO_L2TP 115 +#define IPPROTO_SCTP 132 + +#define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 + +#define IPPORT_ECHO 7 +#define IPPORT_DISCARD 9 +#define IPPORT_SYSTAT 11 +#define IPPORT_DAYTIME 13 +#define IPPORT_NETSTAT 15 +#define IPPORT_FTP 21 +#define IPPORT_TELNET 23 +#define IPPORT_SMTP 25 +#define IPPORT_TIMESERVER 37 +#define IPPORT_NAMESERVER 42 +#define IPPORT_WHOIS 43 +#define IPPORT_MTP 57 + +#define IPPORT_TFTP 69 +#define IPPORT_RJE 77 +#define IPPORT_FINGER 79 +#define IPPORT_TTYLINK 87 +#define IPPORT_SUPDUP 95 + +#define IPPORT_EXECSERVER 512 +#define IPPORT_LOGINSERVER 513 +#define IPPORT_CMDSERVER 514 +#define IPPORT_EFSSERVER 520 + +#define IPPORT_BIFFUDP 512 +#define IPPORT_WHOSERVER 513 +#define IPPORT_ROUTESERVER 520 + +#define IPPORT_RESERVED 1024 + +#define IMPLINK_IP 155 +#define IMPLINK_LOWEXPER 156 +#define IMPLINK_HIGHEXPER 158 + + +#define IN_CLASSA(i) (((__LONG32)(i) & 0x80000000)==0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST 0x00ffffff +#define IN_CLASSA_MAX 128 + +#define IN_CLASSB(i) (((__LONG32)(i) & 0xc0000000)==0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST 0x0000ffff +#define IN_CLASSB_MAX 65536 + +#define IN_CLASSC(i) (((__LONG32)(i) & 0xe0000000)==0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST 0x000000ff + +#define IN_CLASSD(i) (((__LONG32)(i) & 0xf0000000)==0xe0000000) +#define IN_CLASSD_NET 0xf0000000 +#define IN_CLASSD_NSHIFT 28 +#define IN_CLASSD_HOST 0x0fffffff +#define IN_MULTICAST(i) IN_CLASSD(i) + +#define INADDR_ANY (u_long)0x00000000 +#define INADDR_LOOPBACK 0x7f000001 +#define INADDR_BROADCAST (u_long)0xffffffff +#define INADDR_NONE 0xffffffff + +#define ADDR_ANY INADDR_ANY + +#define FROM_PROTOCOL_INFO (-1) + +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 + +#define SO_DEBUG 0x0001 +#define SO_ACCEPTCONN 0x0002 +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_USELOOPBACK 0x0040 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 + +#define SO_DONTLINGER (int)(~SO_LINGER) +#define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) + +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_SNDTIMEO 0x1005 +#define SO_RCVTIMEO 0x1006 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 + +#define SO_GROUP_ID 0x2001 +#define SO_GROUP_PRIORITY 0x2002 +#define SO_MAX_MSG_SIZE 0x2003 +#define SO_PROTOCOL_INFOA 0x2004 +#define SO_PROTOCOL_INFOW 0x2005 + +#define SO_PROTOCOL_INFO __MINGW_NAME_AW(SO_PROTOCOL_INFO) + +#define PVD_CONFIG 0x3001 +#define SO_CONDITIONAL_ACCEPT 0x3002 + +#define TCP_NODELAY 0x0001 + +#define AF_UNSPEC 0 + +#define AF_UNIX 1 +#define AF_INET 2 +#define AF_IMPLINK 3 +#define AF_PUP 4 +#define AF_CHAOS 5 +#define AF_NS 6 +#define AF_IPX AF_NS +#define AF_ISO 7 +#define AF_OSI AF_ISO +#define AF_ECMA 8 +#define AF_DATAKIT 9 +#define AF_CCITT 10 +#define AF_SNA 11 +#define AF_DECnet 12 +#define AF_DLI 13 +#define AF_LAT 14 +#define AF_HYLINK 15 +#define AF_APPLETALK 16 +#define AF_NETBIOS 17 +#define AF_VOICEVIEW 18 +#define AF_FIREFOX 19 +#define AF_UNKNOWN1 20 +#define AF_BAN 21 +#define AF_ATM 22 +#define AF_INET6 23 +#define AF_CLUSTER 24 +#define AF_12844 25 +#define AF_IRDA 26 +#define AF_NETDES 28 +#define AF_TCNPROCESS 29 +#define AF_TCNMESSAGE 30 +#define AF_ICLFXBM 31 +#define AF_BTH 32 +#define AF_MAX 33 + +#define _SS_MAXSIZE 128 +#define _SS_ALIGNSIZE (8) + +#define _SS_PAD1SIZE (_SS_ALIGNSIZE - sizeof (short)) +#define _SS_PAD2SIZE (_SS_MAXSIZE - (sizeof (short) + _SS_PAD1SIZE + _SS_ALIGNSIZE)) + + struct sockaddr_storage { + short ss_family; + char __ss_pad1[_SS_PAD1SIZE]; + + __MINGW_EXTENSION __int64 __ss_align; + char __ss_pad2[_SS_PAD2SIZE]; + }; + +#define PF_UNSPEC AF_UNSPEC +#define PF_UNIX AF_UNIX +#define PF_INET AF_INET +#define PF_IMPLINK AF_IMPLINK +#define PF_PUP AF_PUP +#define PF_CHAOS AF_CHAOS +#define PF_NS AF_NS +#define PF_IPX AF_IPX +#define PF_ISO AF_ISO +#define PF_OSI AF_OSI +#define PF_ECMA AF_ECMA +#define PF_DATAKIT AF_DATAKIT +#define PF_CCITT AF_CCITT +#define PF_SNA AF_SNA +#define PF_DECnet AF_DECnet +#define PF_DLI AF_DLI +#define PF_LAT AF_LAT +#define PF_HYLINK AF_HYLINK +#define PF_APPLETALK AF_APPLETALK +#define PF_VOICEVIEW AF_VOICEVIEW +#define PF_FIREFOX AF_FIREFOX +#define PF_UNKNOWN1 AF_UNKNOWN1 +#define PF_BAN AF_BAN +#define PF_ATM AF_ATM +#define PF_INET6 AF_INET6 +#define PF_BTH AF_BTH + +#define PF_MAX AF_MAX + +#define SOL_SOCKET 0xffff + +#define SOMAXCONN 0x7fffffff + +#define MSG_OOB 0x1 +#define MSG_PEEK 0x2 +#define MSG_DONTROUTE 0x4 + +#if(_WIN32_WINNT >= 0x0502) +#define MSG_WAITALL 0x8 +#endif + +#if(_WIN32_WINNT >= 0x0603) +#define MSG_PUSH_IMMEDIATE 0x20 +#endif + +#define MSG_PARTIAL 0x8000 + +#define MSG_INTERRUPT 0x10 + +#define MSG_MAXIOVLEN 16 + +#define MAXGETHOSTSTRUCT 1024 + +#define FD_READ_BIT 0 +#define FD_READ (1 << FD_READ_BIT) + +#define FD_WRITE_BIT 1 +#define FD_WRITE (1 << FD_WRITE_BIT) + +#define FD_OOB_BIT 2 +#define FD_OOB (1 << FD_OOB_BIT) + +#define FD_ACCEPT_BIT 3 +#define FD_ACCEPT (1 << FD_ACCEPT_BIT) + +#define FD_CONNECT_BIT 4 +#define FD_CONNECT (1 << FD_CONNECT_BIT) + +#define FD_CLOSE_BIT 5 +#define FD_CLOSE (1 << FD_CLOSE_BIT) + +#define FD_QOS_BIT 6 +#define FD_QOS (1 << FD_QOS_BIT) + +#define FD_GROUP_QOS_BIT 7 +#define FD_GROUP_QOS (1 << FD_GROUP_QOS_BIT) + +#define FD_ROUTING_INTERFACE_CHANGE_BIT 8 +#define FD_ROUTING_INTERFACE_CHANGE (1 << FD_ROUTING_INTERFACE_CHANGE_BIT) + +#define FD_ADDRESS_LIST_CHANGE_BIT 9 +#define FD_ADDRESS_LIST_CHANGE (1 << FD_ADDRESS_LIST_CHANGE_BIT) + +#define FD_MAX_EVENTS 10 +#define FD_ALL_EVENTS ((1 << FD_MAX_EVENTS) - 1) + +#include + +#define WSAEVENT HANDLE +#define LPWSAEVENT LPHANDLE +#define WSAOVERLAPPED OVERLAPPED + + typedef struct _OVERLAPPED *LPWSAOVERLAPPED; + +#define WSA_IO_PENDING (ERROR_IO_PENDING) +#define WSA_IO_INCOMPLETE (ERROR_IO_INCOMPLETE) +#define WSA_INVALID_HANDLE (ERROR_INVALID_HANDLE) +#define WSA_INVALID_PARAMETER (ERROR_INVALID_PARAMETER) +#define WSA_NOT_ENOUGH_MEMORY (ERROR_NOT_ENOUGH_MEMORY) +#define WSA_OPERATION_ABORTED (ERROR_OPERATION_ABORTED) + +#define WSA_INVALID_EVENT ((WSAEVENT)NULL) +#define WSA_MAXIMUM_WAIT_EVENTS (MAXIMUM_WAIT_OBJECTS) +#define WSA_WAIT_FAILED (WAIT_FAILED) +#define WSA_WAIT_EVENT_0 (WAIT_OBJECT_0) +#define WSA_WAIT_IO_COMPLETION (WAIT_IO_COMPLETION) +#define WSA_WAIT_TIMEOUT (WAIT_TIMEOUT) +#define WSA_INFINITE (INFINITE) + + typedef struct _WSABUF { + u_long len; + char *buf; + } WSABUF,*LPWSABUF; + +#include + + typedef struct _QualityOfService { + FLOWSPEC SendingFlowspec; + FLOWSPEC ReceivingFlowspec; + WSABUF ProviderSpecific; + } QOS,*LPQOS; + +#define CF_ACCEPT 0x0000 +#define CF_REJECT 0x0001 +#define CF_DEFER 0x0002 + +#define SD_RECEIVE 0x00 +#define SD_SEND 0x01 +#define SD_BOTH 0x02 + +typedef unsigned int GROUP; + +#define SG_UNCONSTRAINED_GROUP 0x01 +#define SG_CONSTRAINED_GROUP 0x02 + + typedef struct _WSANETWORKEVENTS { + __LONG32 lNetworkEvents; + int iErrorCode[FD_MAX_EVENTS]; + } WSANETWORKEVENTS,*LPWSANETWORKEVENTS; + +#ifndef GUID_DEFINED +#include +#endif + +#define MAX_PROTOCOL_CHAIN 7 + +#define BASE_PROTOCOL 1 +#define LAYERED_PROTOCOL 0 + + typedef struct _WSAPROTOCOLCHAIN { + int ChainLen; + + DWORD ChainEntries[MAX_PROTOCOL_CHAIN]; + } WSAPROTOCOLCHAIN,*LPWSAPROTOCOLCHAIN; + +#define WSAPROTOCOL_LEN 255 + + typedef struct _WSAPROTOCOL_INFOA { + DWORD dwServiceFlags1; + DWORD dwServiceFlags2; + DWORD dwServiceFlags3; + DWORD dwServiceFlags4; + DWORD dwProviderFlags; + GUID ProviderId; + DWORD dwCatalogEntryId; + WSAPROTOCOLCHAIN ProtocolChain; + int iVersion; + int iAddressFamily; + int iMaxSockAddr; + int iMinSockAddr; + int iSocketType; + int iProtocol; + int iProtocolMaxOffset; + int iNetworkByteOrder; + int iSecurityScheme; + DWORD dwMessageSize; + DWORD dwProviderReserved; + CHAR szProtocol[WSAPROTOCOL_LEN+1]; + } WSAPROTOCOL_INFOA,*LPWSAPROTOCOL_INFOA; + + typedef struct _WSAPROTOCOL_INFOW { + DWORD dwServiceFlags1; + DWORD dwServiceFlags2; + DWORD dwServiceFlags3; + DWORD dwServiceFlags4; + DWORD dwProviderFlags; + GUID ProviderId; + DWORD dwCatalogEntryId; + WSAPROTOCOLCHAIN ProtocolChain; + int iVersion; + int iAddressFamily; + int iMaxSockAddr; + int iMinSockAddr; + int iSocketType; + int iProtocol; + int iProtocolMaxOffset; + int iNetworkByteOrder; + int iSecurityScheme; + DWORD dwMessageSize; + DWORD dwProviderReserved; + WCHAR szProtocol[WSAPROTOCOL_LEN+1]; + } WSAPROTOCOL_INFOW,*LPWSAPROTOCOL_INFOW; + + __MINGW_TYPEDEF_AW(WSAPROTOCOL_INFO) + __MINGW_TYPEDEF_AW(LPWSAPROTOCOL_INFO) + +#define PFL_MULTIPLE_PROTO_ENTRIES 0x00000001 +#define PFL_RECOMMENDED_PROTO_ENTRY 0x00000002 +#define PFL_HIDDEN 0x00000004 +#define PFL_MATCHES_PROTOCOL_ZERO 0x00000008 +#define PFL_NETWORKDIRECT_PROVIDER 0x00000010 + +#define XP1_CONNECTIONLESS 0x00000001 +#define XP1_GUARANTEED_DELIVERY 0x00000002 +#define XP1_GUARANTEED_ORDER 0x00000004 +#define XP1_MESSAGE_ORIENTED 0x00000008 +#define XP1_PSEUDO_STREAM 0x00000010 +#define XP1_GRACEFUL_CLOSE 0x00000020 +#define XP1_EXPEDITED_DATA 0x00000040 +#define XP1_CONNECT_DATA 0x00000080 +#define XP1_DISCONNECT_DATA 0x00000100 +#define XP1_SUPPORT_BROADCAST 0x00000200 +#define XP1_SUPPORT_MULTIPOINT 0x00000400 +#define XP1_MULTIPOINT_CONTROL_PLANE 0x00000800 +#define XP1_MULTIPOINT_DATA_PLANE 0x00001000 +#define XP1_QOS_SUPPORTED 0x00002000 +#define XP1_INTERRUPT 0x00004000 +#define XP1_UNI_SEND 0x00008000 +#define XP1_UNI_RECV 0x00010000 +#define XP1_IFS_HANDLES 0x00020000 +#define XP1_PARTIAL_MESSAGE 0x00040000 +#define XP1_SAN_SUPPORT_SDP 0x00080000 + +#define BIGENDIAN 0x0000 +#define LITTLEENDIAN 0x0001 + +#define SECURITY_PROTOCOL_NONE 0x0000 + +#define JL_SENDER_ONLY 0x01 +#define JL_RECEIVER_ONLY 0x02 +#define JL_BOTH 0x04 + +#define WSA_FLAG_OVERLAPPED 0x01 +#define WSA_FLAG_MULTIPOINT_C_ROOT 0x02 +#define WSA_FLAG_MULTIPOINT_C_LEAF 0x04 +#define WSA_FLAG_MULTIPOINT_D_ROOT 0x08 +#define WSA_FLAG_MULTIPOINT_D_LEAF 0x10 +#define WSA_FLAG_ACCESS_SYSTEM_SECURITY 0x40 +#define WSA_FLAG_NO_HANDLE_INHERIT 0x80 +#define WSA_FLAG_REGISTERED_IO 0x100 + +#define IOC_UNIX 0x00000000 +#define IOC_WS2 0x08000000 +#define IOC_PROTOCOL 0x10000000 +#define IOC_VENDOR 0x18000000 + +#define _WSAIO(x,y) (IOC_VOID|(x)|(y)) +#define _WSAIOR(x,y) (IOC_OUT|(x)|(y)) +#define _WSAIOW(x,y) (IOC_IN|(x)|(y)) +#define _WSAIORW(x,y) (IOC_INOUT|(x)|(y)) + +#define SIO_ASSOCIATE_HANDLE _WSAIOW(IOC_WS2,1) +#define SIO_ENABLE_CIRCULAR_QUEUEING _WSAIO(IOC_WS2,2) +#define SIO_FIND_ROUTE _WSAIOR(IOC_WS2,3) +#define SIO_FLUSH _WSAIO(IOC_WS2,4) +#define SIO_GET_BROADCAST_ADDRESS _WSAIOR(IOC_WS2,5) +#define SIO_GET_EXTENSION_FUNCTION_POINTER _WSAIORW(IOC_WS2,6) +#define SIO_GET_QOS _WSAIORW(IOC_WS2,7) +#define SIO_GET_GROUP_QOS _WSAIORW(IOC_WS2,8) +#define SIO_MULTIPOINT_LOOPBACK _WSAIOW(IOC_WS2,9) +#define SIO_MULTICAST_SCOPE _WSAIOW(IOC_WS2,10) +#define SIO_SET_QOS _WSAIOW(IOC_WS2,11) +#define SIO_SET_GROUP_QOS _WSAIOW(IOC_WS2,12) +#define SIO_TRANSLATE_HANDLE _WSAIORW(IOC_WS2,13) +#define SIO_ROUTING_INTERFACE_QUERY _WSAIORW(IOC_WS2,20) +#define SIO_ROUTING_INTERFACE_CHANGE _WSAIOW(IOC_WS2,21) +#define SIO_ADDRESS_LIST_QUERY _WSAIOR(IOC_WS2,22) +#define SIO_ADDRESS_LIST_CHANGE _WSAIO(IOC_WS2,23) +#define SIO_QUERY_TARGET_PNP_HANDLE _WSAIOR(IOC_WS2,24) +#define SIO_ADDRESS_LIST_SORT _WSAIORW(IOC_WS2,25) +#if (_WIN32_WINNT >= 0x0600) +#define SIO_RESERVED_1 _WSAIOW(IOC_WS2,26) +#define SIO_RESERVED_2 _WSAIOW(IOC_WS2,33) +#endif /* _WIN32_WINNT >= 0x0600 */ + + typedef int (CALLBACK *LPCONDITIONPROC)(LPWSABUF lpCallerId,LPWSABUF lpCallerData,LPQOS lpSQOS,LPQOS lpGQOS,LPWSABUF lpCalleeId,LPWSABUF lpCalleeData,GROUP *g,DWORD_PTR dwCallbackData); + typedef void (CALLBACK *LPWSAOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwError,DWORD cbTransferred,LPWSAOVERLAPPED lpOverlapped,DWORD dwFlags); + +#define SIO_NSP_NOTIFY_CHANGE _WSAIOW(IOC_WS2,25) + + typedef enum _WSACOMPLETIONTYPE { + NSP_NOTIFY_IMMEDIATELY = 0, + NSP_NOTIFY_HWND, + NSP_NOTIFY_EVENT, + NSP_NOTIFY_PORT, + NSP_NOTIFY_APC + } WSACOMPLETIONTYPE,*PWSACOMPLETIONTYPE,*LPWSACOMPLETIONTYPE; + + typedef struct _WSACOMPLETION { + WSACOMPLETIONTYPE Type; + union { + struct { + HWND hWnd; + UINT uMsg; + WPARAM context; + } WindowMessage; + struct { + LPWSAOVERLAPPED lpOverlapped; + } Event; + struct { + LPWSAOVERLAPPED lpOverlapped; + LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc; + } Apc; + struct { + LPWSAOVERLAPPED lpOverlapped; + HANDLE hPort; + ULONG_PTR Key; + } Port; + } Parameters; + } WSACOMPLETION,*PWSACOMPLETION,*LPWSACOMPLETION; + +#define TH_NETDEV 0x00000001 +#define TH_TAPI 0x00000002 + + typedef struct sockaddr_storage SOCKADDR_STORAGE; + typedef struct sockaddr_storage *PSOCKADDR_STORAGE; + typedef struct sockaddr_storage *LPSOCKADDR_STORAGE; + typedef u_short ADDRESS_FAMILY; + +#ifndef _tagBLOB_DEFINED +#define _tagBLOB_DEFINED +#define _BLOB_DEFINED +#define _LPBLOB_DEFINED + typedef struct _BLOB { + ULONG cbSize; + BYTE *pBlobData; + } BLOB,*LPBLOB; +#endif /* _tagBLOB_DEFINED */ + +#define SERVICE_MULTIPLE (0x00000001) + +#define NS_ALL (0) + +#define NS_SAP (1) +#define NS_NDS (2) +#define NS_PEER_BROWSE (3) +#define NS_SLP (5) +#define NS_DHCP (6) + +#define NS_TCPIP_LOCAL (10) +#define NS_TCPIP_HOSTS (11) +#define NS_DNS (12) +#define NS_NETBT (13) +#define NS_WINS (14) +#if(_WIN32_WINNT >= 0x0501) +#define NS_NLA (15) +#endif +#if (_WIN32_WINNT >= 0x0600) +#define NS_BTH (16) +#endif + +#define NS_NBP (20) + +#define NS_MS (30) +#define NS_STDA (31) +#define NS_NTDS (32) + +#if (_WIN32_WINNT >= 0x0600) +#define NS_EMAIL (37) +#define NS_PNRPNAME (38) +#define NS_PNRPCLOUD (39) +#endif + +#define NS_X500 (40) +#define NS_NIS (41) +#define NS_NISPLUS (42) + +#define NS_WRQ (50) + +#define NS_NETDES (60) + +#define RES_UNUSED_1 (0x00000001) +#define RES_FLUSH_CACHE (0x00000002) +#ifndef RES_SERVICE +#define RES_SERVICE (0x00000004) +#endif + +#define SERVICE_TYPE_VALUE_IPXPORTA "IpxSocket" +#define SERVICE_TYPE_VALUE_IPXPORTW L"IpxSocket" +#define SERVICE_TYPE_VALUE_SAPIDA "SapId" +#define SERVICE_TYPE_VALUE_SAPIDW L"SapId" + +#define SERVICE_TYPE_VALUE_TCPPORTA "TcpPort" +#define SERVICE_TYPE_VALUE_TCPPORTW L"TcpPort" + +#define SERVICE_TYPE_VALUE_UDPPORTA "UdpPort" +#define SERVICE_TYPE_VALUE_UDPPORTW L"UdpPort" + +#define SERVICE_TYPE_VALUE_OBJECTIDA "ObjectId" +#define SERVICE_TYPE_VALUE_OBJECTIDW L"ObjectId" + +#define SERVICE_TYPE_VALUE_SAPID __MINGW_NAME_AW(SERVICE_TYPE_VALUE_SAPID) +#define SERVICE_TYPE_VALUE_TCPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_TCPPORT) +#define SERVICE_TYPE_VALUE_UDPPORT __MINGW_NAME_AW(SERVICE_TYPE_VALUE_UDPPORT) +#define SERVICE_TYPE_VALUE_OBJECTID __MINGW_NAME_AW(SERVICE_TYPE_VALUE_OBJECTID) + +#ifndef __CSADDR_DEFINED__ +#define __CSADDR_DEFINED__ + + typedef struct _SOCKET_ADDRESS { + LPSOCKADDR lpSockaddr; + INT iSockaddrLength; + } SOCKET_ADDRESS,*PSOCKET_ADDRESS,*LPSOCKET_ADDRESS; + + typedef struct _CSADDR_INFO { + SOCKET_ADDRESS LocalAddr; + SOCKET_ADDRESS RemoteAddr; + INT iSocketType; + INT iProtocol; + } CSADDR_INFO,*PCSADDR_INFO,*LPCSADDR_INFO; +#endif /* __CSADDR_DEFINED__ */ + + typedef struct _SOCKET_ADDRESS_LIST { + INT iAddressCount; + SOCKET_ADDRESS Address[1]; + } SOCKET_ADDRESS_LIST,*PSOCKET_ADDRESS_LIST,*LPSOCKET_ADDRESS_LIST; + + typedef struct _AFPROTOCOLS { + INT iAddressFamily; + INT iProtocol; + } AFPROTOCOLS,*PAFPROTOCOLS,*LPAFPROTOCOLS; + + typedef enum _WSAEcomparator { + COMP_EQUAL = 0, + COMP_NOTLESS + } WSAECOMPARATOR,*PWSAECOMPARATOR,*LPWSAECOMPARATOR; + + typedef struct _WSAVersion { + DWORD dwVersion; + WSAECOMPARATOR ecHow; + } WSAVERSION,*PWSAVERSION,*LPWSAVERSION; + + typedef struct _WSAQuerySetA { + DWORD dwSize; + LPSTR lpszServiceInstanceName; + LPGUID lpServiceClassId; + LPWSAVERSION lpVersion; + LPSTR lpszComment; + DWORD dwNameSpace; + LPGUID lpNSProviderId; + LPSTR lpszContext; + DWORD dwNumberOfProtocols; + LPAFPROTOCOLS lpafpProtocols; + LPSTR lpszQueryString; + DWORD dwNumberOfCsAddrs; + LPCSADDR_INFO lpcsaBuffer; + DWORD dwOutputFlags; + LPBLOB lpBlob; + } WSAQUERYSETA,*PWSAQUERYSETA,*LPWSAQUERYSETA; + + typedef struct _WSAQuerySetW { + DWORD dwSize; + LPWSTR lpszServiceInstanceName; + LPGUID lpServiceClassId; + LPWSAVERSION lpVersion; + LPWSTR lpszComment; + DWORD dwNameSpace; + LPGUID lpNSProviderId; + LPWSTR lpszContext; + DWORD dwNumberOfProtocols; + LPAFPROTOCOLS lpafpProtocols; + LPWSTR lpszQueryString; + DWORD dwNumberOfCsAddrs; + LPCSADDR_INFO lpcsaBuffer; + DWORD dwOutputFlags; + LPBLOB lpBlob; + } WSAQUERYSETW,*PWSAQUERYSETW,*LPWSAQUERYSETW; + + __MINGW_TYPEDEF_AW(WSAQUERYSET) + __MINGW_TYPEDEF_AW(PWSAQUERYSET) + __MINGW_TYPEDEF_AW(LPWSAQUERYSET) + +#define LUP_DEEP 0x0001 +#define LUP_CONTAINERS 0x0002 +#define LUP_NOCONTAINERS 0x0004 +#define LUP_NEAREST 0x0008 +#define LUP_RETURN_NAME 0x0010 +#define LUP_RETURN_TYPE 0x0020 +#define LUP_RETURN_VERSION 0x0040 +#define LUP_RETURN_COMMENT 0x0080 +#define LUP_RETURN_ADDR 0x0100 +#define LUP_RETURN_BLOB 0x0200 +#define LUP_RETURN_ALIASES 0x0400 +#define LUP_RETURN_QUERY_STRING 0x0800 +#define LUP_RETURN_ALL 0x0FF0 +#define LUP_RES_SERVICE 0x8000 + +#define LUP_FLUSHCACHE 0x1000 +#define LUP_FLUSHPREVIOUS 0x2000 + +#define LUP_NON_AUTHORITATIVE 0x4000 +#define LUP_SECURE 0x8000 +#define LUP_RETURN_PREFERRED_NAMES 0x10000 +#define LUP_DNS_ONLY 0x20000 + +#define LUP_ADDRCONFIG 0x100000 +#define LUP_DUAL_ADDR 0x200000 +#define LUP_FILESERVER 0x400000 +#define LUP_DISABLE_IDN_ENCODING 0x00800000 +#define LUP_API_ANSI 0x01000000 + +#define LUP_RESOLUTION_HANDLE 0x80000000 + +#define LUP_RES_RESERVICE 0x8000 /* FIXME: not in PSDK anymore?? */ + +#define RESULT_IS_ALIAS 0x0001 +#if(_WIN32_WINNT >= 0x0501) +#define RESULT_IS_ADDED 0x0010 +#define RESULT_IS_CHANGED 0x0020 +#define RESULT_IS_DELETED 0x0040 +#endif + + typedef enum _WSAESETSERVICEOP { + RNRSERVICE_REGISTER = 0, + RNRSERVICE_DEREGISTER, + RNRSERVICE_DELETE + } WSAESETSERVICEOP,*PWSAESETSERVICEOP,*LPWSAESETSERVICEOP; + + typedef struct _WSANSClassInfoA { + LPSTR lpszName; + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + LPVOID lpValue; + } WSANSCLASSINFOA,*PWSANSCLASSINFOA,*LPWSANSCLASSINFOA; + + typedef struct _WSANSClassInfoW { + LPWSTR lpszName; + DWORD dwNameSpace; + DWORD dwValueType; + DWORD dwValueSize; + LPVOID lpValue; + } WSANSCLASSINFOW,*PWSANSCLASSINFOW,*LPWSANSCLASSINFOW; + + __MINGW_TYPEDEF_AW(WSANSCLASSINFO) + __MINGW_TYPEDEF_AW(PWSANSCLASSINFO) + __MINGW_TYPEDEF_AW(LPWSANSCLASSINFO) + + typedef struct _WSAServiceClassInfoA { + LPGUID lpServiceClassId; + LPSTR lpszServiceClassName; + DWORD dwCount; + LPWSANSCLASSINFOA lpClassInfos; + } WSASERVICECLASSINFOA,*PWSASERVICECLASSINFOA,*LPWSASERVICECLASSINFOA; + + typedef struct _WSAServiceClassInfoW { + LPGUID lpServiceClassId; + LPWSTR lpszServiceClassName; + DWORD dwCount; + LPWSANSCLASSINFOW lpClassInfos; + } WSASERVICECLASSINFOW,*PWSASERVICECLASSINFOW,*LPWSASERVICECLASSINFOW; + + __MINGW_TYPEDEF_AW(WSASERVICECLASSINFO) + __MINGW_TYPEDEF_AW(PWSASERVICECLASSINFO) + __MINGW_TYPEDEF_AW(LPWSASERVICECLASSINFO) + + typedef struct _WSANAMESPACE_INFOA { + GUID NSProviderId; + DWORD dwNameSpace; + WINBOOL fActive; + DWORD dwVersion; + LPSTR lpszIdentifier; + } WSANAMESPACE_INFOA,*PWSANAMESPACE_INFOA,*LPWSANAMESPACE_INFOA; + + typedef struct _WSANAMESPACE_INFOW { + GUID NSProviderId; + DWORD dwNameSpace; + WINBOOL fActive; + DWORD dwVersion; + LPWSTR lpszIdentifier; + } WSANAMESPACE_INFOW,*PWSANAMESPACE_INFOW,*LPWSANAMESPACE_INFOW; + + __MINGW_TYPEDEF_AW(WSANAMESPACE_INFO) + __MINGW_TYPEDEF_AW(PWSANAMESPACE_INFO) + __MINGW_TYPEDEF_AW(LPWSANAMESPACE_INFO) + +/* FIXME: WSAMSG originally lived in mswsock.h, + * newer SDKs moved it into a new ws2def.h. for + * now we keep it here. */ + typedef struct _WSAMSG { + LPSOCKADDR name; + INT namelen; + LPWSABUF lpBuffers; + DWORD dwBufferCount; + WSABUF Control; + DWORD dwFlags; + } WSAMSG,*PWSAMSG,*LPWSAMSG; + +#if INCL_WINSOCK_API_TYPEDEFS +#define LPFN_WSADUPLICATESOCKET __MINGW_NAME_AW(LPFN_WSADUPLICATESOCKET) +#define LPFN_WSAENUMPROTOCOLS __MINGW_NAME_AW(LPFN_WSAENUMPROTOCOLS) +#define LPFN_WSASOCKET __MINGW_NAME_AW(LPFN_WSASOCKET) +#define LPFN_WSAADDRESSTOSTRING __MINGW_NAME_AW(LPFN_WSAADDRESSTOSTRING) +#define LPFN_WSASTRINGTOADDRESS __MINGW_NAME_AW(LPFN_WSASTRINGTOADDRESS) +#define LPFN_WSALOOKUPSERVICEBEGIN __MINGW_NAME_AW(LPFN_WSALOOKUPSERVICEBEGIN) +#define LPFN_WSALOOKUPSERVICENEXT __MINGW_NAME_AW(LPFN_WSALOOKUPSERVICENEXT) +#define LPFN_WSAINSTALLSERVICECLASS __MINGW_NAME_AW(LPFN_WSAINSTALLSERVICECLASS) +#define LPFN_WSAGETSERVICECLASSINFO __MINGW_NAME_AW(LPFN_WSAGETSERVICECLASSINFO) +#define LPFN_WSAENUMNAMESPACEPROVIDERS __MINGW_NAME_AW(LPFN_WSAENUMNAMESPACEPROVIDERS) +#define LPFN_WSAGETSERVICECLASSNAMEBYCLASSID __MINGW_NAME_AW(LPFN_WSAGETSERVICECLASSNAMEBYCLASSID) +#define LPFN_WSASETSERVICE __MINGW_NAME_AW(LPFN_WSASETSERVICE) + + typedef SOCKET (WSAAPI *LPFN_ACCEPT)(SOCKET s,struct sockaddr *addr,int *addrlen); + typedef int (WSAAPI *LPFN_BIND)(SOCKET s,const struct sockaddr *name,int namelen); + typedef int (WSAAPI *LPFN_CLOSESOCKET)(SOCKET s); + typedef int (WSAAPI *LPFN_CONNECT)(SOCKET s,const struct sockaddr *name,int namelen); + typedef int (WSAAPI *LPFN_IOCTLSOCKET)(SOCKET s,__LONG32 cmd,u_long *argp); + typedef int (WSAAPI *LPFN_GETPEERNAME)(SOCKET s,struct sockaddr *name,int *namelen); + typedef int (WSAAPI *LPFN_GETSOCKNAME)(SOCKET s,struct sockaddr *name,int *namelen); + typedef int (WSAAPI *LPFN_GETSOCKOPT)(SOCKET s,int level,int optname,char *optval,int *optlen); + typedef u_long (WSAAPI *LPFN_HTONL)(u_long hostlong); + typedef u_short (WSAAPI *LPFN_HTONS)(u_short hostshort); + typedef unsigned __LONG32 (WSAAPI *LPFN_INET_ADDR)(const char *cp); + typedef char *(WSAAPI *LPFN_INET_NTOA)(struct in_addr in); + typedef int (WSAAPI *LPFN_LISTEN)(SOCKET s,int backlog); + typedef u_long (WSAAPI *LPFN_NTOHL)(u_long netlong); + typedef u_short (WSAAPI *LPFN_NTOHS)(u_short netshort); + typedef int (WSAAPI *LPFN_RECV)(SOCKET s,char *buf,int len,int flags); + typedef int (WSAAPI *LPFN_RECVFROM)(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen); + typedef int (WSAAPI *LPFN_SELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const TIMEVAL *timeout); + typedef int (WSAAPI *LPFN_SEND)(SOCKET s,const char *buf,int len,int flags); + typedef int (WSAAPI *LPFN_SENDTO)(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen); + typedef int (WSAAPI *LPFN_SETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen); + typedef int (WSAAPI *LPFN_SHUTDOWN)(SOCKET s,int how); + typedef SOCKET (WSAAPI *LPFN_SOCKET)(int af,int type,int protocol); + typedef struct hostent *(WSAAPI *LPFN_GETHOSTBYADDR)(const char *addr,int len,int type); + typedef struct hostent *(WSAAPI *LPFN_GETHOSTBYNAME)(const char *name); + typedef int (WSAAPI *LPFN_GETHOSTNAME)(char *name,int namelen); + typedef struct servent *(WSAAPI *LPFN_GETSERVBYPORT)(int port,const char *proto); + typedef struct servent *(WSAAPI *LPFN_GETSERVBYNAME)(const char *name,const char *proto); + typedef struct protoent *(WSAAPI *LPFN_GETPROTOBYNUMBER)(int number); + typedef struct protoent *(WSAAPI *LPFN_GETPROTOBYNAME)(const char *name); + typedef int (WSAAPI *LPFN_WSASTARTUP)(WORD wVersionRequested,LPWSADATA lpWSAData); + typedef int (WSAAPI *LPFN_WSACLEANUP)(void); + typedef void (WSAAPI *LPFN_WSASETLASTERROR)(int iError); + typedef int (WSAAPI *LPFN_WSAGETLASTERROR)(void); + typedef WINBOOL (WSAAPI *LPFN_WSAISBLOCKING)(void); + typedef int (WSAAPI *LPFN_WSAUNHOOKBLOCKINGHOOK)(void); + typedef FARPROC (WSAAPI *LPFN_WSASETBLOCKINGHOOK)(FARPROC lpBlockFunc); + typedef int (WSAAPI *LPFN_WSACANCELBLOCKINGCALL)(void); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETSERVBYNAME)(HWND hWnd,u_int wMsg,const char *name,const char *proto,char *buf,int buflen); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETSERVBYPORT)(HWND hWnd,u_int wMsg,int port,const char *proto,char *buf,int buflen); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETPROTOBYNAME)(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETPROTOBYNUMBER)(HWND hWnd,u_int wMsg,int number,char *buf,int buflen); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETHOSTBYNAME)(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + typedef HANDLE (WSAAPI *LPFN_WSAASYNCGETHOSTBYADDR)(HWND hWnd,u_int wMsg,const char *addr,int len,int type,char *buf,int buflen); + typedef int (WSAAPI *LPFN_WSACANCELASYNCREQUEST)(HANDLE hAsyncTaskHandle); + typedef int (WSAAPI *LPFN_WSAASYNCSELECT)(SOCKET s,HWND hWnd,u_int wMsg,__LONG32 lEvent); + typedef SOCKET (WSAAPI *LPFN_WSAACCEPT)(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData); + typedef WINBOOL (WSAAPI *LPFN_WSACLOSEEVENT)(WSAEVENT hEvent); + typedef int (WSAAPI *LPFN_WSACONNECT)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS); + typedef WSAEVENT (WSAAPI *LPFN_WSACREATEEVENT)(void); + typedef int (WSAAPI *LPFN_WSADUPLICATESOCKETA)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOA lpProtocolInfo); + typedef int (WSAAPI *LPFN_WSADUPLICATESOCKETW)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo); + typedef int (WSAAPI *LPFN_WSAENUMNETWORKEVENTS)(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents); + typedef int (WSAAPI *LPFN_WSAENUMPROTOCOLSA)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOA lpProtocolBuffer,LPDWORD lpdwBufferLength); + typedef int (WSAAPI *LPFN_WSAENUMPROTOCOLSW)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength); + typedef int (WSAAPI *LPFN_WSAEVENTSELECT)(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents); + typedef WINBOOL (WSAAPI *LPFN_WSAGETOVERLAPPEDRESULT)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags); + typedef WINBOOL (WSAAPI *LPFN_WSAGETQOSBYNAME)(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS); + typedef int (WSAAPI *LPFN_WSAHTONL)(SOCKET s,u_long hostlong,u_long *lpnetlong); + typedef int (WSAAPI *LPFN_WSAHTONS)(SOCKET s,u_short hostshort,u_short *lpnetshort); + typedef int (WSAAPI *LPFN_WSAIOCTL)(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + typedef SOCKET (WSAAPI *LPFN_WSAJOINLEAF)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags); + typedef int (WSAAPI *LPFN_WSANTOHL)(SOCKET s,u_long netlong,u_long *lphostlong); + typedef int (WSAAPI *LPFN_WSANTOHS)(SOCKET s,u_short netshort,u_short *lphostshort); + typedef int (WSAAPI *LPFN_WSARECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + typedef int (WSAAPI *LPFN_WSARECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData); + typedef int (WSAAPI *LPFN_WSARECVFROM)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + typedef WINBOOL (WSAAPI *LPFN_WSARESETEVENT)(WSAEVENT hEvent); + typedef int (WSAAPI *LPFN_WSASEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + typedef int (WSAAPI *LPFN_WSASENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData); + typedef int (WSAAPI *LPFN_WSASENDTO)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + typedef WINBOOL (WSAAPI *LPFN_WSASETEVENT)(WSAEVENT hEvent); + typedef SOCKET (WSAAPI *LPFN_WSASOCKETA)(int af,int type,int protocol,LPWSAPROTOCOL_INFOA lpProtocolInfo,GROUP g,DWORD dwFlags); + typedef SOCKET (WSAAPI *LPFN_WSASOCKETW)(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags); + typedef DWORD (WSAAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(DWORD cEvents,const WSAEVENT *lphEvents,WINBOOL fWaitAll,DWORD dwTimeout,WINBOOL fAlertable); + typedef INT (WSAAPI *LPFN_WSAADDRESSTOSTRINGA)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSTR lpszAddressString,LPDWORD lpdwAddressStringLength); + typedef INT (WSAAPI *LPFN_WSAADDRESSTOSTRINGW)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength); + typedef INT (WSAAPI *LPFN_WSASTRINGTOADDRESSA)(LPSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength); + typedef INT (WSAAPI *LPFN_WSASTRINGTOADDRESSW)(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength); + typedef INT (WSAAPI *LPFN_WSALOOKUPSERVICEBEGINA)(LPWSAQUERYSETA lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup); + typedef INT (WSAAPI *LPFN_WSALOOKUPSERVICEBEGINW)(LPWSAQUERYSETW lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup); + typedef INT (WSAAPI *LPFN_WSALOOKUPSERVICENEXTA)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETA lpqsResults); + typedef INT (WSAAPI *LPFN_WSALOOKUPSERVICENEXTW)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults); + typedef INT (WSAAPI *LPFN_WSANSPIOCTL)(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion); + typedef INT (WSAAPI *LPFN_WSALOOKUPSERVICEEND)(HANDLE hLookup); + typedef INT (WSAAPI *LPFN_WSAINSTALLSERVICECLASSA)(LPWSASERVICECLASSINFOA lpServiceClassInfo); + typedef INT (WSAAPI *LPFN_WSAINSTALLSERVICECLASSW)(LPWSASERVICECLASSINFOW lpServiceClassInfo); + typedef INT (WSAAPI *LPFN_WSAREMOVESERVICECLASS)(LPGUID lpServiceClassId); + typedef INT (WSAAPI *LPFN_WSAGETSERVICECLASSINFOA)(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOA lpServiceClassInfo); + typedef INT (WSAAPI *LPFN_WSAGETSERVICECLASSINFOW)(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo); + typedef INT (WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSA)(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOA lpnspBuffer); + typedef INT (WSAAPI *LPFN_WSAENUMNAMESPACEPROVIDERSW)(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer); + typedef INT (WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDA)(LPGUID lpServiceClassId,LPSTR lpszServiceClassName,LPDWORD lpdwBufferLength); + typedef INT (WSAAPI *LPFN_WSAGETSERVICECLASSNAMEBYCLASSIDW)(LPGUID lpServiceClassId,LPWSTR lpszServiceClassName,LPDWORD lpdwBufferLength); + typedef INT (WSAAPI *LPFN_WSASETSERVICEA)(LPWSAQUERYSETA lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags); + typedef INT (WSAAPI *LPFN_WSASETSERVICEW)(LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags); + typedef INT (WSAAPI *LPFN_WSAPROVIDERCONFIGCHANGE)(LPHANDLE lpNotificationHandle,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); +#endif + +#define WSADuplicateSocket __MINGW_NAME_AW(WSADuplicateSocket) +#define WSAEnumProtocols __MINGW_NAME_AW(WSAEnumProtocols) +#define WSAAddressToString __MINGW_NAME_AW(WSAAddressToString) +#define WSASocket __MINGW_NAME_AW(WSASocket) +#define WSAStringToAddress __MINGW_NAME_AW(WSAStringToAddress) +#define WSALookupServiceBegin __MINGW_NAME_AW(WSALookupServiceBegin) +#define WSALookupServiceNext __MINGW_NAME_AW(WSALookupServiceNext) +#define WSAInstallServiceClass __MINGW_NAME_AW(WSAInstallServiceClass) +#define WSAGetServiceClassInfo __MINGW_NAME_AW(WSAGetServiceClassInfo) +#define WSAEnumNameSpaceProviders __MINGW_NAME_AW(WSAEnumNameSpaceProviders) +#define WSAGetServiceClassNameByClassId __MINGW_NAME_AW(WSAGetServiceClassNameByClassId) +#define WSASetService __MINGW_NAME_AW(WSASetService) + +#ifndef __WINSOCK_WS1_SHARED +/* these 46 functions have the same prototypes as in winsock2 */ + WINSOCK_API_LINKAGE SOCKET WSAAPI accept(SOCKET s,struct sockaddr *addr,int *addrlen); + WINSOCK_API_LINKAGE int WSAAPI bind(SOCKET s,const struct sockaddr *name,int namelen); + WINSOCK_API_LINKAGE int WSAAPI closesocket(SOCKET s); + WINSOCK_API_LINKAGE int WSAAPI connect(SOCKET s,const struct sockaddr *name,int namelen); + WINSOCK_API_LINKAGE int WSAAPI ioctlsocket(SOCKET s,__LONG32 cmd,u_long *argp); + WINSOCK_API_LINKAGE int WSAAPI getpeername(SOCKET s,struct sockaddr *name,int *namelen); + WINSOCK_API_LINKAGE int WSAAPI getsockname(SOCKET s,struct sockaddr *name,int *namelen); + WINSOCK_API_LINKAGE int WSAAPI getsockopt(SOCKET s,int level,int optname,char *optval,int *optlen); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE u_long WSAAPI htonl(u_long hostlong); + WINSOCK_API_LINKAGE u_short WSAAPI htons(u_short hostshort); +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 + __forceinline unsigned __int64 htonll(unsigned __int64 Value) { return (((unsigned __int64)htonl(Value & 0xFFFFFFFFUL)) << 32) | htonl((u_long)(Value >> 32)); } +#endif +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE unsigned __LONG32 WSAAPI inet_addr(const char *cp); + WINSOCK_API_LINKAGE char *WSAAPI inet_ntoa(struct in_addr in); + WINSOCK_API_LINKAGE int WSAAPI listen(SOCKET s,int backlog); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE u_long WSAAPI ntohl(u_long netlong); + WINSOCK_API_LINKAGE u_short WSAAPI ntohs(u_short netshort); +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 + __forceinline unsigned __int64 ntohll(unsigned __int64 Value) { return (((unsigned __int64)ntohl(Value & 0xFFFFFFFFUL)) << 32) | ntohl((u_long)(Value >> 32)); } +#endif +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE int WSAAPI recv(SOCKET s,char *buf,int len,int flags); + WINSOCK_API_LINKAGE int WSAAPI recvfrom(SOCKET s,char *buf,int len,int flags,struct sockaddr *from,int *fromlen); +#ifndef __INSIDE_CYGWIN__ + WINSOCK_API_LINKAGE int WSAAPI select(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const TIMEVAL *timeout); +#endif /* !__INSIDE_CYGWIN__ */ + WINSOCK_API_LINKAGE int WSAAPI send(SOCKET s,const char *buf,int len,int flags); + WINSOCK_API_LINKAGE int WSAAPI sendto(SOCKET s,const char *buf,int len,int flags,const struct sockaddr *to,int tolen); + WINSOCK_API_LINKAGE int WSAAPI setsockopt(SOCKET s,int level,int optname,const char *optval,int optlen); + WINSOCK_API_LINKAGE int WSAAPI shutdown(SOCKET s,int how); + WINSOCK_API_LINKAGE SOCKET WSAAPI socket(int af,int type,int protocol); + WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyaddr(const char *addr,int len,int type); + WINSOCK_API_LINKAGE struct hostent *WSAAPI gethostbyname(const char *name); + WINSOCK_API_LINKAGE int WSAAPI gethostname(char *name,int namelen); + WINSOCK_API_LINKAGE int WSAAPI GetHostNameW(PWSTR name, int namelen); + WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyport(int port,const char *proto); + WINSOCK_API_LINKAGE struct servent *WSAAPI getservbyname(const char *name,const char *proto); + WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobynumber(int number); + WINSOCK_API_LINKAGE struct protoent *WSAAPI getprotobyname(const char *name); + WINSOCK_API_LINKAGE int WSAAPI WSAStartup(WORD wVersionRequested,LPWSADATA lpWSAData); + WINSOCK_API_LINKAGE int WSAAPI WSACleanup(void); + WINSOCK_API_LINKAGE void WSAAPI WSASetLastError(int iError); + WINSOCK_API_LINKAGE int WSAAPI WSAGetLastError(void); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSAIsBlocking(void); + WINSOCK_API_LINKAGE int WSAAPI WSAUnhookBlockingHook(void); + WINSOCK_API_LINKAGE FARPROC WSAAPI WSASetBlockingHook(FARPROC lpBlockFunc); + WINSOCK_API_LINKAGE int WSAAPI WSACancelBlockingCall(void); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByName(HWND hWnd,u_int wMsg,const char *name,const char *proto,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetServByPort(HWND hWnd,u_int wMsg,int port,const char *proto,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetProtoByNumber(HWND hWnd,u_int wMsg,int number,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByName(HWND hWnd,u_int wMsg,const char *name,char *buf,int buflen); + WINSOCK_API_LINKAGE HANDLE WSAAPI WSAAsyncGetHostByAddr(HWND hWnd,u_int wMsg,const char *addr,int len,int type,char *buf,int buflen); + WINSOCK_API_LINKAGE int WSAAPI WSACancelAsyncRequest(HANDLE hAsyncTaskHandle); + WINSOCK_API_LINKAGE int WSAAPI WSAAsyncSelect(SOCKET s,HWND hWnd,u_int wMsg,__LONG32 lEvent); +#endif /* __WINSOCK_WS1_SHARED */ + WINSOCK_API_LINKAGE SOCKET WSAAPI WSAAccept(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSACloseEvent(WSAEVENT hEvent); + WINSOCK_API_LINKAGE int WSAAPI WSAConnect(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS); + WINSOCK_API_LINKAGE WSAEVENT WSAAPI WSACreateEvent(void); + WINSOCK_API_LINKAGE int WSAAPI WSADuplicateSocketA(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOA lpProtocolInfo); + WINSOCK_API_LINKAGE int WSAAPI WSADuplicateSocketW(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo); + WINSOCK_API_LINKAGE int WSAAPI WSAEnumNetworkEvents(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents); + WINSOCK_API_LINKAGE int WSAAPI WSAEnumProtocolsA(LPINT lpiProtocols,LPWSAPROTOCOL_INFOA lpProtocolBuffer,LPDWORD lpdwBufferLength); + WINSOCK_API_LINKAGE int WSAAPI WSAEnumProtocolsW(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength); + WINSOCK_API_LINKAGE int WSAAPI WSAEventSelect(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSAGetOverlappedResult(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSAGetQOSByName(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS); + WINSOCK_API_LINKAGE int WSAAPI WSAHtonl(SOCKET s,u_long hostlong,u_long *lpnetlong); + WINSOCK_API_LINKAGE int WSAAPI WSAHtons(SOCKET s,u_short hostshort,u_short *lpnetshort); + WINSOCK_API_LINKAGE int WSAAPI WSAIoctl(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WINSOCK_API_LINKAGE SOCKET WSAAPI WSAJoinLeaf(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags); + WINSOCK_API_LINKAGE int WSAAPI WSANtohl(SOCKET s,u_long netlong,u_long *lphostlong); + WINSOCK_API_LINKAGE int WSAAPI WSANtohs(SOCKET s,u_short netshort,u_short *lphostshort); + WINSOCK_API_LINKAGE int WSAAPI WSARecv(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WINSOCK_API_LINKAGE int WSAAPI WSARecvDisconnect(SOCKET s,LPWSABUF lpInboundDisconnectData); + WINSOCK_API_LINKAGE int WSAAPI WSARecvFrom(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSAResetEvent(WSAEVENT hEvent); + WINSOCK_API_LINKAGE int WSAAPI WSASend(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WINSOCK_API_LINKAGE int WSAAPI WSASendDisconnect(SOCKET s,LPWSABUF lpOutboundDisconnectData); + WINSOCK_API_LINKAGE int WSAAPI WSASendTo(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + WINSOCK_API_LINKAGE WINBOOL WSAAPI WSASetEvent(WSAEVENT hEvent); + WINSOCK_API_LINKAGE SOCKET WSAAPI WSASocketA(int af,int type,int protocol,LPWSAPROTOCOL_INFOA lpProtocolInfo,GROUP g,DWORD dwFlags); + WINSOCK_API_LINKAGE SOCKET WSAAPI WSASocketW(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags); + WINSOCK_API_LINKAGE DWORD WSAAPI WSAWaitForMultipleEvents(DWORD cEvents,const WSAEVENT *lphEvents,WINBOOL fWaitAll,DWORD dwTimeout,WINBOOL fAlertable); + WINSOCK_API_LINKAGE INT WSAAPI WSAAddressToStringA(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSTR lpszAddressString,LPDWORD lpdwAddressStringLength); + WINSOCK_API_LINKAGE INT WSAAPI WSAAddressToStringW(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength); + WINSOCK_API_LINKAGE INT WSAAPI WSAStringToAddressA(LPSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOA lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength); + WINSOCK_API_LINKAGE INT WSAAPI WSAStringToAddressW(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength); + WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceBeginA(LPWSAQUERYSETA lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup); + WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceBeginW(LPWSAQUERYSETW lpqsRestrictions,DWORD dwControlFlags,LPHANDLE lphLookup); + WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceNextA(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETA lpqsResults); + WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceNextW(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults); + WINSOCK_API_LINKAGE INT WSAAPI WSANSPIoctl(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion); + WINSOCK_API_LINKAGE INT WSAAPI WSALookupServiceEnd(HANDLE hLookup); + WINSOCK_API_LINKAGE INT WSAAPI WSAInstallServiceClassA(LPWSASERVICECLASSINFOA lpServiceClassInfo); + WINSOCK_API_LINKAGE INT WSAAPI WSAInstallServiceClassW(LPWSASERVICECLASSINFOW lpServiceClassInfo); + WINSOCK_API_LINKAGE INT WSAAPI WSARemoveServiceClass(LPGUID lpServiceClassId); + WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassInfoA(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOA lpServiceClassInfo); + WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassInfoW(LPGUID lpProviderId,LPGUID lpServiceClassId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo); + WINSOCK_API_LINKAGE INT WSAAPI WSAEnumNameSpaceProvidersA(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOA lpnspBuffer); + WINSOCK_API_LINKAGE INT WSAAPI WSAEnumNameSpaceProvidersW(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer); + WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassNameByClassIdA(LPGUID lpServiceClassId,LPSTR lpszServiceClassName,LPDWORD lpdwBufferLength); + WINSOCK_API_LINKAGE INT WSAAPI WSAGetServiceClassNameByClassIdW(LPGUID lpServiceClassId,LPWSTR lpszServiceClassName,LPDWORD lpdwBufferLength); + WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceA(LPWSAQUERYSETA lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags); + WINSOCK_API_LINKAGE INT WSAAPI WSASetServiceW(LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essoperation,DWORD dwControlFlags); + WINSOCK_API_LINKAGE INT WSAAPI WSAProviderConfigChange(LPHANDLE lpNotificationHandle,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine); + +#define WSAMAKEASYNCREPLY(buflen,error) MAKELONG(buflen,error) +#define WSAMAKESELECTREPLY(event,error) MAKELONG(event,error) +#define WSAGETASYNCBUFLEN(lParam) LOWORD(lParam) +#define WSAGETASYNCERROR(lParam) HIWORD(lParam) +#define WSAGETSELECTEVENT(lParam) LOWORD(lParam) +#define WSAGETSELECTERROR(lParam) HIWORD(lParam) + +#if (_WIN32_WINNT >= 0x0600) +typedef struct _WSANAMESPACE_INFOEXA { + GUID NSProviderId; + DWORD dwNameSpace; + WINBOOL fActive; + DWORD dwVersion; + LPSTR lpszIdentifier; + BLOB ProviderSpecific; +} WSANAMESPACE_INFOEXA, *PWSANAMESPACE_INFOEXA, *LPWSANAMESPACE_INFOEXA; + +typedef struct _WSANAMESPACE_INFOEXW { + GUID NSProviderId; + DWORD dwNameSpace; + WINBOOL fActive; + DWORD dwVersion; + LPWSTR lpszIdentifier; + BLOB ProviderSpecific; +} WSANAMESPACE_INFOEXW, *PWSANAMESPACE_INFOEXW, *LPWSANAMESPACE_INFOEXW; + +__MINGW_TYPEDEF_AW(WSANAMESPACE_INFOEX) +__MINGW_TYPEDEF_AW(PWSANAMESPACE_INFOEX) +__MINGW_TYPEDEF_AW(LPWSANAMESPACE_INFOEX) + +typedef struct _WSAQUERYSET2A { + DWORD dwSize; + LPSTR lpszServiceInstanceName; + LPWSAVERSION lpVersion; + LPSTR lpszComment; + DWORD dwNameSpace; + LPGUID lpNSProviderId; + LPSTR lpszContext; + DWORD dwNumberOfProtocols; + LPAFPROTOCOLS lpafpProtocols; + LPSTR lpszQueryString; + DWORD dwNumberOfCsAddrs; + LPCSADDR_INFO lpcsaBuffer; + DWORD dwOutputFlags; + LPBLOB lpBlob; +} WSAQUERYSET2A, *PWSAQUERYSET2A, *LPWSAQUERYSET2A; + +typedef struct _WSAQUERYSET2W { + DWORD dwSize; + LPWSTR lpszServiceInstanceName; + LPWSAVERSION lpVersion; + LPWSTR lpszComment; + DWORD dwNameSpace; + LPGUID lpNSProviderId; + LPTSTR lpszContext; + DWORD dwNumberOfProtocols; + LPAFPROTOCOLS lpafpProtocols; + LPWSTR lpszQueryString; + DWORD dwNumberOfCsAddrs; + LPCSADDR_INFO lpcsaBuffer; + DWORD dwOutputFlags; + LPBLOB lpBlob; +} WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W; + +#define POLLRDNORM 0x0100 +#define POLLRDBAND 0x0200 +#define POLLIN (POLLRDNORM | POLLRDBAND) +#define POLLPRI 0x0400 + +#define POLLWRNORM 0x0010 +#define POLLOUT (POLLWRNORM) +#define POLLWRBAND 0x0020 + +#define POLLERR 0x0001 +#define POLLHUP 0x0002 +#define POLLNVAL 0x0004 + +typedef struct pollfd { + SOCKET fd; + short events; + short revents; +} WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; + +WINSOCK_API_LINKAGE WINBOOL PASCAL WSAConnectByList( + SOCKET s, + PSOCKET_ADDRESS_LIST SocketAddressList, + LPDWORD LocalAddressLength, + LPSOCKADDR LocalAddress, + LPDWORD RemoteAddressLength, + LPSOCKADDR RemoteAddress, + const TIMEVAL *timeout, + LPWSAOVERLAPPED Reserved +); + +WINSOCK_API_LINKAGE WINBOOL PASCAL WSAConnectByNameA( + SOCKET s, + LPSTR nodename, + LPSTR servicename, + LPDWORD LocalAddressLength, + LPSOCKADDR LocalAddress, + LPDWORD RemoteAddressLength, + LPSOCKADDR RemoteAddress, + const TIMEVAL *timeout, + LPWSAOVERLAPPED Reserved +); + +WINSOCK_API_LINKAGE WINBOOL PASCAL WSAConnectByNameW( + SOCKET s, + LPWSTR nodename, + LPWSTR servicename, + LPDWORD LocalAddressLength, + LPSOCKADDR LocalAddress, + LPDWORD RemoteAddressLength, + LPSOCKADDR RemoteAddress, + const TIMEVAL *timeout, + LPWSAOVERLAPPED Reserved +); +#define WSAConnectByName __MINGW_NAME_AW(WSAConnectByName) + +INT WSAAPI WSAEnumNameSpaceProvidersExA( + LPDWORD lpdwBufferLength, + LPWSANAMESPACE_INFOEXA lpnspBuffer +); + +INT WSAAPI WSAEnumNameSpaceProvidersExW( + LPDWORD lpdwBufferLength, + LPWSANAMESPACE_INFOEXW lpnspBuffer +); +#define WSAEnumNameSpaceProvidersEx __MINGW_NAME_AW(WSAEnumNameSpaceProvidersEx) + +int WSAAPI WSAPoll( + WSAPOLLFD fdarray[], + ULONG nfds, + INT timeout +); + +int WSAAPI WSASendMsg( + SOCKET s, + LPWSAMSG lpMsg, + DWORD dwFlags, + LPDWORD lpNumberOfBytesSent, + LPWSAOVERLAPPED lpOverlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine +); +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +typedef struct SOCK_NOTIFY_REGISTRATION { + SOCKET socket; + PVOID completionKey; + UINT16 eventFilter; + UINT8 operation; + UINT8 triggerFlags; + DWORD registrationResult; +} SOCK_NOTIFY_REGISTRATION; + +#define SOCK_NOTIFY_REGISTER_EVENT_NONE 0x00 +#define SOCK_NOTIFY_REGISTER_EVENT_IN 0x01 +#define SOCK_NOTIFY_REGISTER_EVENT_OUT 0x02 +#define SOCK_NOTIFY_REGISTER_EVENT_HANGUP 0x04 + +#define SOCK_NOTIFY_REGISTER_EVENTS_ALL (SOCK_NOTIFY_REGISTER_EVENT_IN | SOCK_NOTIFY_REGISTER_EVENT_OUT | SOCK_NOTIFY_REGISTER_EVENT_HANGUP) + +#define SOCK_NOTIFY_EVENT_IN SOCK_NOTIFY_REGISTER_EVENT_IN +#define SOCK_NOTIFY_EVENT_OUT SOCK_NOTIFY_REGISTER_EVENT_OUT +#define SOCK_NOTIFY_EVENT_HANGUP SOCK_NOTIFY_REGISTER_EVENT_HANGUP +#define SOCK_NOTIFY_EVENT_ERR 0x40 +#define SOCK_NOTIFY_EVENT_REMOVE 0x80 + +#define SOCK_NOTIFY_EVENTS_ALL (SOCK_NOTIFY_REGISTER_EVENTS_ALL | SOCK_NOTIFY_EVENT_ERR | SOCK_NOTIFY_EVENT_REMOVE) + +#define SOCK_NOTIFY_OP_NONE 0x00 +#define SOCK_NOTIFY_OP_ENABLE 0x01 +#define SOCK_NOTIFY_OP_DISABLE 0x02 +#define SOCK_NOTIFY_OP_REMOVE 0x04 + +#define SOCK_NOTIFY_TRIGGER_ONESHOT 0x01 +#define SOCK_NOTIFY_TRIGGER_PERSISTENT 0x02 +#define SOCK_NOTIFY_TRIGGER_LEVEL 0x04 +#define SOCK_NOTIFY_TRIGGER_EDGE 0x08 + +#define SOCK_NOTIFY_TRIGGER_ALL (SOCK_NOTIFY_TRIGGER_ONESHOT | SOCK_NOTIFY_TRIGGER_PERSISTENT | SOCK_NOTIFY_TRIGGER_LEVEL | SOCK_NOTIFY_TRIGGER_EDGE) + +#if (NTDDI_VERSION >= NTDDI_WIN10_MN) +#if INCL_WINSOCK_API_PROTOTYPES + WINSOCK_API_LINKAGE DWORD WSAAPI ProcessSocketNotifications(HANDLE completionPort, UINT32 registrationCount, SOCK_NOTIFY_REGISTRATION* registrationInfos, UINT32 timeoutMs, ULONG completionCount, OVERLAPPED_ENTRY* completionPortEntries, UINT32* receivedEntryCount); + +#if !defined(__midl) + static FORCEINLINE UINT32 SocketNotificationRetrieveEvents(OVERLAPPED_ENTRY* notification) { return (UINT32)notification->dwNumberOfBytesTransferred; } +#endif /* __midl */ + +#endif /* INCL_WINSOCK_API_PROTOTYPES */ +#endif /* (NTDDI_VERSION >= NTDDI_WIN10_MN) */ + +#ifdef __cplusplus +} +#endif + +#ifdef _NEED_POPPACK +#include +#endif + +#ifdef IPV6STRICT +#include +#endif + +#ifdef __LP64__ +#pragma pop_macro("u_long") +#endif + +#endif /* _WINSOCK2API_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsplp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsplp.h new file mode 100644 index 00000000..36640e78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsplp.h @@ -0,0 +1,806 @@ +/* + * winsplp.h + * + * This file is part of the ReactOS PSDK package. + * + * Contributors: + * Created by Amine Khaldi. + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAIMED. This includes but is not limited to warranties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + */ + +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#if (STRICT && (NTDDI_VERSION >= NTDDI_VISTA)) +#define HKEYMONITOR HKEY +#else +#define HKEYMONITOR HANDLE +#endif + +#define PRINTER_NOTIFY_STATUS_ENDPOINT 1 +#define PRINTER_NOTIFY_STATUS_POLL 2 +#define PRINTER_NOTIFY_STATUS_INFO 4 + +#define ROUTER_UNKNOWN 0 +#define ROUTER_SUCCESS 1 +#define ROUTER_STOP_ROUTING 2 + +#if (NTDDI_VERSION >= NTDDI_WINXP) +#define MONITOR2_SIZE_WIN2K (sizeof(DWORD) + (sizeof(PVOID)*18)) +#endif + +#define COPYFILE_EVENT_SET_PRINTER_DATAEX 1 +#define COPYFILE_EVENT_DELETE_PRINTER 2 +#define COPYFILE_EVENT_ADD_PRINTER_CONNECTION 3 +#define COPYFILE_EVENT_DELETE_PRINTER_CONNECTION 4 +#define COPYFILE_EVENT_FILES_CHANGED 5 + +#define COPYFILE_FLAG_CLIENT_SPOOLER 0x00000001 +#define COPYFILE_FLAG_SERVER_SPOOLER 0x00000002 + +#define PRINTER_NOTIFY_INFO_DATA_COMPACT 1 + +typedef struct _PRINTER_NOTIFY_INIT { + DWORD Size; + DWORD Reserved; + DWORD PollTime; +} PRINTER_NOTIFY_INIT, *LPPRINTER_NOTIFY_INIT, *PPRINTER_NOTIFY_INIT; + +typedef struct _SPLCLIENT_INFO_1 { + DWORD dwSize; + LPWSTR pMachineName; + LPWSTR pUserName; + DWORD dwBuildNum; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + WORD wProcessorArchitecture; +} SPLCLIENT_INFO_1, *LPSPLCLIENT_INFO_1, *PSPLCLIENT_INFO_1; + +typedef struct _SPLCLIENT_INFO_2_V1{ + ULONG_PTR hSplPrinter; +} SPLCLIENT_INFO_2_W2K; + +typedef struct _SPLCLIENT_INFO_2_V2{ +#ifdef _WIN64 + DWORD64 hSplPrinter; +#else + DWORD32 hSplPrinter; +#endif +} SPLCLIENT_INFO_2_WINXP; + +typedef struct _SPLCLIENT_INFO_2_V3{ + UINT64 hSplPrinter; +} SPLCLIENT_INFO_2_LONGHORN; + +typedef struct _PRINTPROVIDOR { + WINBOOL (WINAPI *fpOpenPrinter)(PWSTR lpPrinterName, HANDLE *phPrinter, + PPRINTER_DEFAULTSW pDefault); + WINBOOL (WINAPI *fpSetJob)(HANDLE hPrinter, DWORD JobID, DWORD Level, + LPBYTE pJob, DWORD Command); + WINBOOL (WINAPI *fpGetJob)(HANDLE hPrinter, DWORD JobID, DWORD Level, + LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpEnumJobs)(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, + DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded, + LPDWORD pcReturned); + HANDLE (WINAPI *fpAddPrinter)(LPWSTR pName, DWORD Level, LPBYTE pPrinter); + WINBOOL (WINAPI *fpDeletePrinter)(HANDLE hPrinter); + WINBOOL (WINAPI *fpSetPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, + DWORD Command); + WINBOOL (WINAPI *fpGetPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, + DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpEnumPrinters)(DWORD dwType, LPWSTR lpszName, DWORD dwLevel, + LPBYTE lpbPrinters, DWORD cbBuf, LPDWORD lpdwNeeded, + LPDWORD lpdwReturned); + WINBOOL (WINAPI *fpAddPrinterDriver)(LPWSTR pName, DWORD Level, LPBYTE pDriverInfo); + WINBOOL (WINAPI *fpEnumPrinterDrivers)(LPWSTR pName, LPWSTR pEnvironment, + DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, + LPDWORD pcbNeeded, LPDWORD pcbReturned); + WINBOOL (WINAPI *fpGetPrinterDriver)(HANDLE hPrinter, LPWSTR pEnvironment, + DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, + LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpGetPrinterDriverDirectory)(LPWSTR pName, LPWSTR pEnvironment, + DWORD Level, LPBYTE pDriverDirectory, + DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpDeletePrinterDriver)(LPWSTR pName, LPWSTR pEnvironment, + LPWSTR pDriverName); + WINBOOL (WINAPI *fpAddPrintProcessor)(LPWSTR pName, LPWSTR pEnvironment, + LPWSTR pPathName, LPWSTR pPrintProcessorName); + WINBOOL (WINAPI *fpEnumPrintProcessors)(LPWSTR pName, LPWSTR pEnvironment, + DWORD Level, LPBYTE pPrintProcessorInfo, + DWORD cbBuf, LPDWORD pcbNeeded, + LPDWORD pcbReturned); + WINBOOL (WINAPI *fpGetPrintProcessorDirectory)(LPWSTR pName, LPWSTR pEnvironment, + DWORD Level, LPBYTE pPrintProcessorInfo, + DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpDeletePrintProcessor)(LPWSTR pName, LPWSTR pEnvironment, + LPWSTR pPrintProcessorName); + WINBOOL (WINAPI *fpEnumPrintProcessorDatatypes)(LPWSTR pName, + LPWSTR pPrintProcessorName, + DWORD Level, LPBYTE pDatatypes, + DWORD cbBuf, LPDWORD pcbNeeded, + LPDWORD pcbReturned); + DWORD (WINAPI *fpStartDocPrinter)(HANDLE hPrinter, DWORD Level, LPBYTE pDocInfo); + WINBOOL (WINAPI *fpStartPagePrinter)(HANDLE hPrinter); + WINBOOL (WINAPI *fpWritePrinter)(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, + LPDWORD pcWritten); + WINBOOL (WINAPI *fpEndPagePrinter)(HANDLE hPrinter); + WINBOOL (WINAPI *fpAbortPrinter)(HANDLE hPrinter); + WINBOOL (WINAPI *fpReadPrinter)(HANDLE hPrinter, LPVOID pBuf, DWORD cbBuf, + LPDWORD pNoBytesRead); + WINBOOL (WINAPI *fpEndDocPrinter)(HANDLE hPrinter); + WINBOOL (WINAPI *fpAddJob)(HANDLE hPrinter, DWORD Level, LPBYTE pData, + DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpScheduleJob)(HANDLE hPrinter, DWORD JobID); + DWORD (WINAPI *fpGetPrinterData)(HANDLE hPrinter, LPWSTR pValueName, + LPDWORD pType, LPBYTE pData, DWORD nSize, + LPDWORD pcbNeeded); + DWORD (WINAPI *fpSetPrinterData)(HANDLE hPrinter, LPWSTR pValueName, + DWORD Type, LPBYTE pData, DWORD cbData); + DWORD (WINAPI *fpWaitForPrinterChange)(HANDLE hPrinter, DWORD Flags); + WINBOOL (WINAPI *fpClosePrinter)(HANDLE phPrinter); + WINBOOL (WINAPI *fpAddForm)(HANDLE hPrinter, DWORD Level, LPBYTE pForm); + WINBOOL (WINAPI *fpDeleteForm)(HANDLE hPrinter, LPWSTR pFormName); + WINBOOL (WINAPI *fpGetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, + LPBYTE pForm, DWORD cbBuf, LPDWORD pcbNeeded); + WINBOOL (WINAPI *fpSetForm)(HANDLE hPrinter, LPWSTR pFormName, DWORD Level, + LPBYTE pForm); + WINBOOL (WINAPI *fpEnumForms)(HANDLE hPrinter, DWORD Level, LPBYTE pForm, + DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); + WINBOOL (WINAPI *fpEnumMonitors)(LPWSTR pName, DWORD Level, LPBYTE pMonitors, + DWORD cbBuf, LPDWORD pcbNeeded, + LPDWORD pcReturned); + WINBOOL (WINAPI *fpEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts, + DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); + WINBOOL (WINAPI *fpAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName); + WINBOOL (WINAPI *fpConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName); + WINBOOL (WINAPI *fpDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName); + HANDLE (WINAPI *fpCreatePrinterIC)(HANDLE hPrinter, LPDEVMODEW pDevMode); + WINBOOL (WINAPI *fpPlayGdiScriptOnPrinterIC)(HANDLE hPrinterIC, LPBYTE pIn, + DWORD cIn, LPBYTE pOut, DWORD cOut, + DWORD ul); + WINBOOL (WINAPI *fpDeletePrinterIC)(HANDLE hPrinterIC); + WINBOOL (WINAPI *fpAddPrinterConnection)(LPWSTR pName); + WINBOOL (WINAPI *fpDeletePrinterConnection)(LPWSTR pName); + DWORD (WINAPI *fpPrinterMessageBox)(HANDLE hPrinter, DWORD Error, HWND hWnd, + LPWSTR pText, LPWSTR pCaption, + DWORD dwType); + WINBOOL (WINAPI *fpAddMonitor)(LPWSTR pName, DWORD Level, LPBYTE pMonitors); + WINBOOL (WINAPI *fpDeleteMonitor)(LPWSTR pName, LPWSTR pEnvironment, + LPWSTR pMonitorName); + WINBOOL (WINAPI *fpResetPrinter)(HANDLE hPrinter, LPPRINTER_DEFAULTSW pDefault); + WINBOOL (WINAPI *fpGetPrinterDriverEx)(HANDLE hPrinter, LPWSTR pEnvironment, + DWORD Level, LPBYTE pDriverInfo, + DWORD cbBuf, LPDWORD pcbNeeded, + DWORD dwClientMajorVersion, + DWORD dwClientMinorVersion, + PDWORD pdwServerMajorVersion, + PDWORD pdwServerMinorVersion); + HANDLE (WINAPI *fpFindFirstPrinterChangeNotification)(HANDLE hPrinter, + DWORD fdwFlags, + DWORD fdwOptions, + LPVOID pPrinterNotifyOptions); + WINBOOL (WINAPI *fpFindClosePrinterChangeNotification)(HANDLE hChange); + WINBOOL (WINAPI *fpAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer, + LPWSTR lpMonitorName); + WINBOOL (WINAPI *fpShutDown)(LPVOID pvReserved); + WINBOOL (WINAPI *fpRefreshPrinterChangeNotification)(HANDLE hPrinter, + DWORD Reserved, + PVOID pvReserved, + PVOID pPrinterNotifyInfo); + WINBOOL (WINAPI *fpOpenPrinterEx)(LPWSTR pPrinterName, LPHANDLE phPrinter, + LPPRINTER_DEFAULTSW pDefault, LPBYTE pClientInfo, + DWORD Level); + HANDLE (WINAPI *fpAddPrinterEx)(LPWSTR pName, DWORD Level, LPBYTE pPrinter, + LPBYTE pClientInfo, DWORD ClientInfoLevel); + WINBOOL (WINAPI *fpSetPort)(LPWSTR pName, LPWSTR pPortName, DWORD dwLevel, + LPBYTE pPortInfo); + DWORD (WINAPI *fpEnumPrinterData)(HANDLE hPrinter, DWORD dwIndex, + LPWSTR pValueName, DWORD cbValueName, + LPDWORD pcbValueName, LPDWORD pType, + LPBYTE pData, DWORD cbData, LPDWORD pcbData); + DWORD (WINAPI *fpDeletePrinterData)(HANDLE hPrinter, LPWSTR pValueName); + DWORD (WINAPI *fpClusterSplOpen)(LPCWSTR pszServer, LPCWSTR pszResource, + PHANDLE phSpooler, LPCWSTR pszName, + LPCWSTR pszAddress); + DWORD (WINAPI *fpClusterSplClose)(HANDLE hSpooler); + DWORD (WINAPI *fpClusterSplIsAlive)(HANDLE hSpooler); + DWORD (WINAPI *fpSetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName, + LPCWSTR pValueName, DWORD Type, + LPBYTE pData, DWORD cbData); + DWORD (WINAPI *fpGetPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName, + LPCWSTR pValueName, LPDWORD pType, + LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded); + DWORD (WINAPI *fpEnumPrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName, + LPBYTE pEnumValues, DWORD cbEnumValues, + LPDWORD pcbEnumValues, LPDWORD pnEnumValues); + DWORD (WINAPI *fpEnumPrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName, + LPWSTR pSubkey, DWORD cbSubkey, LPDWORD pcbSubkey); + DWORD (WINAPI *fpDeletePrinterDataEx)(HANDLE hPrinter, LPCWSTR pKeyName, + LPCWSTR pValueName); + DWORD (WINAPI *fpDeletePrinterKey)(HANDLE hPrinter, LPCWSTR pKeyName); + WINBOOL (WINAPI *fpSeekPrinter)(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, + PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, + WINBOOL bWrite); + WINBOOL (WINAPI *fpDeletePrinterDriverEx)(LPWSTR pName, LPWSTR pEnvironment, + LPWSTR pDriverName, DWORD dwDeleteFlag, + DWORD dwVersionNum); + WINBOOL (WINAPI *fpAddPerMachineConnection)(LPCWSTR pServer, + LPCWSTR pPrinterName, LPCWSTR pPrintServer, + LPCWSTR pProvider); + WINBOOL (WINAPI *fpDeletePerMachineConnection)(LPCWSTR pServer, + LPCWSTR pPrinterName); + WINBOOL (WINAPI *fpEnumPerMachineConnections)(LPCWSTR pServer, + LPBYTE pPrinterEnum, DWORD cbBuf, + LPDWORD pcbNeeded, + LPDWORD pcReturned); + WINBOOL (WINAPI *fpXcvData)(HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData, + DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, + PDWORD pcbOutputNeeded, PDWORD pdwStatus); + WINBOOL (WINAPI *fpAddPrinterDriverEx)(LPWSTR pName, DWORD Level, + LPBYTE pDriverInfo, DWORD dwFileCopyFlags); + WINBOOL (WINAPI *fpSplReadPrinter)(HANDLE hPrinter, LPBYTE *pBuf, DWORD cbBuf); + WINBOOL (WINAPI *fpDriverUnloadComplete)(LPWSTR pDriverFile); + WINBOOL (WINAPI *fpGetSpoolFileInfo)(HANDLE hPrinter, LPWSTR *pSpoolDir, + LPHANDLE phFile, HANDLE hSpoolerProcess, + HANDLE hAppProcess); + WINBOOL (WINAPI *fpCommitSpoolData)(HANDLE hPrinter, DWORD cbCommit); + WINBOOL (WINAPI *fpCloseSpoolFileHandle)(HANDLE hPrinter); + WINBOOL (WINAPI *fpFlushPrinter)(HANDLE hPrinter, LPBYTE pBuf, DWORD cbBuf, + LPDWORD pcWritten, DWORD cSleep); + DWORD (WINAPI *fpSendRecvBidiData)(HANDLE hPort, LPCWSTR pAction, + LPBIDI_REQUEST_CONTAINER pReqData, + LPBIDI_RESPONSE_CONTAINER *ppResData); + WINBOOL (WINAPI *fpAddDriverCatalog)(HANDLE hPrinter, DWORD dwLevel, + VOID *pvDriverInfCatInfo, DWORD dwCatalogCopyFlags); +} PRINTPROVIDOR, *LPPRINTPROVIDOR; + +typedef struct _PRINTPROCESSOROPENDATA { + PDEVMODEW pDevMode; + LPWSTR pDatatype; + LPWSTR pParameters; + LPWSTR pDocumentName; + DWORD JobId; + LPWSTR pOutputFile; + LPWSTR pPrinterName; +} PRINTPROCESSOROPENDATA, *LPPRINTPROCESSOROPENDATA, *PPRINTPROCESSOROPENDATA; + +typedef struct _MONITORREG { + DWORD cbSize; + LONG (WINAPI *fpCreateKey)(HANDLE hcKey, LPCWSTR pszSubKey, DWORD dwOptions, + REGSAM samDesired, + PSECURITY_ATTRIBUTES pSecurityAttributes, + PHANDLE phckResult, PDWORD pdwDisposition, + HANDLE hSpooler); + LONG (WINAPI *fpOpenKey)(HANDLE hcKey, LPCWSTR pszSubKey, REGSAM samDesired, + PHANDLE phkResult, HANDLE hSpooler); + LONG (WINAPI *fpCloseKey)(HANDLE hcKey, HANDLE hSpooler); + LONG (WINAPI *fpDeleteKey)(HANDLE hcKey, LPCWSTR pszSubKey, HANDLE hSpooler); + LONG (WINAPI *fpEnumKey)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszName, + PDWORD pcchName, PFILETIME pftLastWriteTime, + HANDLE hSpooler); + LONG (WINAPI *fpQueryInfoKey)(HANDLE hcKey, PDWORD pcSubKeys, PDWORD pcbKey, + PDWORD pcValues, PDWORD pcbValue, PDWORD pcbData, + PDWORD pcbSecurityDescriptor, + PFILETIME pftLastWriteTime, + HANDLE hSpooler); + LONG (WINAPI *fpSetValue)(HANDLE hcKey, LPCWSTR pszValue, DWORD dwType, + const BYTE* pData, DWORD cbData, HANDLE hSpooler); + LONG (WINAPI *fpDeleteValue)(HANDLE hcKey, LPCWSTR pszValue, HANDLE hSpooler); + LONG (WINAPI *fpEnumValue)(HANDLE hcKey, DWORD dwIndex, LPWSTR pszValue, + PDWORD pcbValue, PDWORD pType, PBYTE pData, PDWORD pcbData, + HANDLE hSpooler); + LONG (WINAPI *fpQueryValue)(HANDLE hcKey, LPCWSTR pszValue, PDWORD pType, + PBYTE pData, PDWORD pcbData, HANDLE hSpooler); +} MONITORREG, *PMONITORREG; + +typedef struct _MONITORINIT { + DWORD cbSize; + HANDLE hSpooler; + HKEYMONITOR hckRegistryRoot; + PMONITORREG pMonitorReg; + WINBOOL bLocal; + LPCWSTR pszServerName; +} MONITORINIT, *PMONITORINIT; + +typedef struct _MONITOR { + WINBOOL (WINAPI *pfnEnumPorts)(LPWSTR pName, DWORD Level, LPBYTE pPorts, + DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); + WINBOOL (WINAPI *pfnOpenPort)(LPWSTR pName, PHANDLE pHandle); + WINBOOL (WINAPI *pfnOpenPortEx)(LPWSTR pPortName, LPWSTR pPrinterName, + PHANDLE pHandle, struct _MONITOR *pMonitor); + WINBOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR pPrinterName, + DWORD JobId, DWORD Level, LPBYTE pDocInfo); + WINBOOL (WINAPI *pfnWritePort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuf, + LPDWORD pcbWritten); + WINBOOL (WINAPI *pfnReadPort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer, + LPDWORD pcbRead); + WINBOOL (WINAPI *pfnEndDocPort)(HANDLE hPort); + WINBOOL (WINAPI *pfnClosePort)(HANDLE hPort); + WINBOOL (WINAPI *pfnAddPort)(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName); + WINBOOL (WINAPI *pfnAddPortEx)(LPWSTR pName, DWORD Level, LPBYTE lpBuffer, + LPWSTR lpMonitorName); + WINBOOL (WINAPI *pfnConfigurePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName); + WINBOOL (WINAPI *pfnDeletePort)(LPWSTR pName, HWND hWnd, LPWSTR pPortName); + WINBOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID, + LPWSTR pValueName, LPWSTR lpInBuffer, + DWORD cbInBuffer, LPWSTR lpOutBuffer, + DWORD cbOutBuffer, LPDWORD lpcbReturned); + WINBOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO, + DWORD reserved); + WINBOOL (WINAPI *pfnXcvOpenPort)(LPCWSTR pszObject, ACCESS_MASK GrantedAccess, PHANDLE phXcv); + DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName, + PBYTE pInputData, DWORD cbInputData, + PBYTE pOutputData, DWORD cbOutputData, + PDWORD pcbOutputNeeded); + WINBOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv); +} MONITOR, *LPMONITOR; + +typedef struct _MONITOREX { + DWORD dwMonitorSize; + MONITOR Monitor; +} MONITOREX, *LPMONITOREX; + +typedef struct _MONITOR2 { + DWORD cbSize; + WINBOOL (WINAPI *pfnEnumPorts)(HANDLE hMonitor, LPWSTR pName, DWORD Level, LPBYTE pPorts, + DWORD cbBuf, LPDWORD pcbNeeded, + LPDWORD pcReturned); + WINBOOL (WINAPI *pfnOpenPort)(HANDLE hMonitor, LPWSTR pName, PHANDLE pHandle); + WINBOOL (WINAPI *pfnOpenPortEx)(HANDLE hMonitor, HANDLE hMonitorPort, LPWSTR pPortName, LPWSTR pPrinterName, + PHANDLE pHandle, struct _MONITOR2 *pMonitor2); + WINBOOL (WINAPI *pfnStartDocPort)(HANDLE hPort, LPWSTR pPrinterName, + DWORD JobId, DWORD Level, LPBYTE pDocInfo); + WINBOOL (WINAPI *pfnWritePort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuf, + LPDWORD pcbWritten); + WINBOOL (WINAPI *pfnReadPort)(HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer, + LPDWORD pcbRead); + WINBOOL (WINAPI *pfnEndDocPort)(HANDLE hPort); + WINBOOL (WINAPI *pfnClosePort)(HANDLE hPort); + WINBOOL (WINAPI *pfnAddPort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pMonitorName); + WINBOOL (WINAPI *pfnAddPortEx)(HANDLE hMonitor, LPWSTR pName, DWORD Level, LPBYTE lpBuffer, + LPWSTR lpMonitorName); + WINBOOL (WINAPI *pfnConfigurePort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pPortName); + WINBOOL (WINAPI *pfnDeletePort)(HANDLE hMonitor, LPWSTR pName, HWND hWnd, LPWSTR pPortName); + WINBOOL (WINAPI *pfnGetPrinterDataFromPort)(HANDLE hPort, DWORD ControlID, + LPWSTR pValueName, LPWSTR lpInBuffer, + DWORD cbInBuffer, LPWSTR lpOutBuffer, + DWORD cbOutBuffer, LPDWORD lpcbReturned); + WINBOOL (WINAPI *pfnSetPortTimeOuts)(HANDLE hPort, LPCOMMTIMEOUTS lpCTO, + DWORD reserved); + WINBOOL (WINAPI *pfnXcvOpenPort)(HANDLE hMonitor, LPCWSTR pszObject, + ACCESS_MASK GrantedAccess, PHANDLE phXcv); + DWORD (WINAPI *pfnXcvDataPort)(HANDLE hXcv, LPCWSTR pszDataName, + PBYTE pInputData, DWORD cbInputData, + PBYTE pOutputData, DWORD cbOutputData, + PDWORD pcbOutputNeeded); + WINBOOL (WINAPI *pfnXcvClosePort)(HANDLE hXcv); + VOID (WINAPI *pfnShutdown)(HANDLE hMonitor); +#if (NTDDI_VERSION >= NTDDI_WINXP) + DWORD (WINAPI *pfnSendRecvBidiDataFromPort)(HANDLE hPort, DWORD dwAccessBit, + LPCWSTR pAction, + PBIDI_REQUEST_CONTAINER pReqData, + PBIDI_RESPONSE_CONTAINER *ppResData); +#endif +#if (NTDDI_VERSION >= NTDDI_WIN7) + DWORD (WINAPI *pfnNotifyUsedPorts)(HANDLE hMonitor, DWORD cPorts, + PCWSTR *ppszPorts); + + DWORD (WINAPI *pfnNotifyUnusedPorts)(HANDLE hMonitor, DWORD cPorts, + PCWSTR *ppszPorts); +#endif +} MONITOR2, *LPMONITOR2, *PMONITOR2; + +typedef struct _MONITORUI { + DWORD dwMonitorUISize; + WINBOOL (WINAPI *pfnAddPortUI)(PCWSTR pszServer, HWND hWnd, + PCWSTR pszPortNameIn, PWSTR *ppszPortNameOut); + WINBOOL (WINAPI *pfnConfigurePortUI)(PCWSTR pName, HWND hWnd, PCWSTR pPortName); + WINBOOL (WINAPI *pfnDeletePortUI)(PCWSTR pszServer, HWND hWnd, PCWSTR pszPortName); +} MONITORUI, *PMONITORUI; + +#if (NTDDI_VERSION >= NTDDI_WINXP) + +typedef enum { + kMessageBox = 0 +} UI_TYPE; + +typedef struct { + DWORD cbSize; + LPWSTR pTitle; + LPWSTR pMessage; + DWORD Style; + DWORD dwTimeout; + WINBOOL bWait; +} MESSAGEBOX_PARAMS, *PMESSAGEBOX_PARAMS; + +typedef struct { + UI_TYPE UIType; + MESSAGEBOX_PARAMS MessageBoxParams; +} SHOWUIPARAMS, *PSHOWUIPARAMS; + +#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */ + +#if (NTDDI_VERSION >= NTDDI_WS03) +#ifndef __ATTRIBUTE_INFO_3__ +#define __ATTRIBUTE_INFO_3__ +typedef struct _ATTRIBUTE_INFO_3 { + DWORD dwJobNumberOfPagesPerSide; + DWORD dwDrvNumberOfPagesPerSide; + DWORD dwNupBorderFlags; + DWORD dwJobPageOrderFlags; + DWORD dwDrvPageOrderFlags; + DWORD dwJobNumberOfCopies; + DWORD dwDrvNumberOfCopies; + DWORD dwColorOptimization; + short dmPrintQuality; + short dmYResolution; +} ATTRIBUTE_INFO_3, *PATTRIBUTE_INFO_3; +#endif /* __ATTRIBUTE_INFO_3__ */ +#endif /* (NTDDI_VERSION >= NTDDI_WS03) */ + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +typedef WINBOOL +(CALLBACK *ROUTER_NOTIFY_CALLBACK)( + DWORD dwCommand, + PVOID pContext, + DWORD dwColor, + PPRINTER_NOTIFY_INFO pNofityInfo, + DWORD fdwFlags, + PDWORD pdwResult); + +typedef enum _NOTIFICATION_CALLBACK_COMMANDS { + NOTIFICATION_COMMAND_NOTIFY, + NOTIFICATION_COMMAND_CONTEXT_ACQUIRE, + NOTIFICATION_COMMAND_CONTEXT_RELEASE +} NOTIFICATION_CALLBACK_COMMANDS; + +typedef struct _NOTIFICATION_CONFIG_1 { + UINT cbSize; + DWORD fdwFlags; + ROUTER_NOTIFY_CALLBACK pfnNotifyCallback; + PVOID pContext; +} NOTIFICATION_CONFIG_1, *PNOTIFICATION_CONFIG_1; + +typedef enum _NOTIFICATION_CONFIG_FLAGS { + NOTIFICATION_CONFIG_CREATE_EVENT = 1 << 0, + NOTIFICATION_CONFIG_REGISTER_CALLBACK = 1 << 1, + NOTIFICATION_CONFIG_EVENT_TRIGGER = 1 << 2, + NOTIFICATION_CONFIG_ASYNC_CHANNEL = 1 << 3 +} NOTIFICATION_CONFIG_FLAGS; + +typedef struct _SPLCLIENT_INFO_3 { + UINT cbSize; + DWORD dwFlags; + DWORD dwSize; + PWSTR pMachineName; + PWSTR pUserName; + DWORD dwBuildNum; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + WORD wProcessorArchitecture; + UINT64 hSplPrinter; +} SPLCLIENT_INFO_3, *PSPLCLIENT_INFO_3, *LPSPLCLIENT_INFO_3; + +#ifndef __ATTRIBUTE_INFO_4__ +#define __ATTRIBUTE_INFO_4__ + +typedef struct _ATTRIBUTE_INFO_4 { + DWORD dwJobNumberOfPagesPerSide; + DWORD dwDrvNumberOfPagesPerSide; + DWORD dwNupBorderFlags; + DWORD dwJobPageOrderFlags; + DWORD dwDrvPageOrderFlags; + DWORD dwJobNumberOfCopies; + DWORD dwDrvNumberOfCopies; + DWORD dwColorOptimization; + short dmPrintQuality; + short dmYResolution; + DWORD dwDuplexFlags; + DWORD dwNupDirection; + DWORD dwBookletFlags; + DWORD dwScalingPercentX; + DWORD dwScalingPercentY; +} ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4; + +#define REVERSE_PAGES_FOR_REVERSE_DUPLEX (0x00000001) +#define DONT_SEND_EXTRA_PAGES_FOR_DUPLEX (0x00000001 << 1) + +#define RIGHT_THEN_DOWN (0x00000001) +#define DOWN_THEN_RIGHT (0x00000001 << 1) +#define LEFT_THEN_DOWN (0x00000001 << 2) +#define DOWN_THEN_LEFT (0x00000001 << 3) + +#define BOOKLET_EDGE_LEFT 0x00000000 +#define BOOKLET_EDGE_RIGHT 0x00000001 + +#endif /* __ATTRIBUTE_INFO_4__ */ + +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +#if (OSVER(NTDDI_VERSION) == NTDDI_W2K) +typedef SPLCLIENT_INFO_2_W2K SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2; +#elif ((OSVER(NTDDI_VERSION) == NTDDI_WINXP) || (OSVER(NTDDI_VERSION) == NTDDI_WS03)) +typedef SPLCLIENT_INFO_2_WINXP SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2; +#else +typedef SPLCLIENT_INFO_2_LONGHORN SPLCLIENT_INFO_2, *PSPLCLIENT_INFO_2, *LPSPLCLIENT_INFO_2; +#endif /* (OSVER(NTDDI_VERSION) == NTDDI_W2K) */ + +WINBOOL +WINAPI +InitializePrintProvidor( + LPPRINTPROVIDOR pPrintProvidor, + DWORD cbPrintProvidor, + LPWSTR pFullRegistryPath); + +HANDLE +WINAPI +OpenPrintProcessor( + LPWSTR pPrinterName, + PPRINTPROCESSOROPENDATA pPrintProcessorOpenData); + +WINBOOL +WINAPI +PrintDocumentOnPrintProcessor( + HANDLE hPrintProcessor, + LPWSTR pDocumentName); + +WINBOOL +WINAPI +ClosePrintProcessor( + HANDLE hPrintProcessor); + +WINBOOL +WINAPI +ControlPrintProcessor( + HANDLE hPrintProcessor, + DWORD Command); + +DWORD +WINAPI +GetPrintProcessorCapabilities( + LPTSTR pValueName, + DWORD dwAttributes, + LPBYTE pData, + DWORD nSize, + LPDWORD pcbNeeded); + +WINBOOL +WINAPI +InitializeMonitor( + LPWSTR pRegistryRoot); + +WINBOOL +WINAPI +OpenPort( + LPWSTR pName, + PHANDLE pHandle); + +WINBOOL +WINAPI +WritePort( + HANDLE hPort, + LPBYTE pBuffer, + DWORD cbBuf, + LPDWORD pcbWritten); + +WINBOOL +WINAPI +ReadPort( + HANDLE hPort, + LPBYTE pBuffer, + DWORD cbBuffer, + LPDWORD pcbRead); + +WINBOOL +WINAPI +ClosePort( + HANDLE hPort); + +WINBOOL +WINAPI +XcvOpenPort( + LPCWSTR pszObject, + ACCESS_MASK GrantedAccess, + PHANDLE phXcv); + +DWORD +WINAPI +XcvDataPort( + HANDLE hXcv, + LPCWSTR pszDataName, + PBYTE pInputData, + DWORD cbInputData, + PBYTE pOutputData, + DWORD cbOutputData, + PDWORD pcbOutputNeeded); + +WINBOOL +WINAPI +XcvClosePort( + HANDLE hXcv); + +WINBOOL +WINAPI +AddPortUI( + PCWSTR pszServer, + HWND hWnd, + PCWSTR pszMonitorNameIn, + PWSTR *ppszPortNameOut); + +WINBOOL +WINAPI +ConfigurePortUI( + PCWSTR pszServer, + HWND hWnd, + PCWSTR pszPortName); + +WINBOOL +WINAPI +DeletePortUI( + PCWSTR pszServer, + HWND hWnd, + PCWSTR pszPortName); + +WINBOOL +WINAPI +SplDeleteSpoolerPortStart( + PCWSTR pPortName); + +WINBOOL +WINAPI +SplDeleteSpoolerPortEnd( + PCWSTR pName, + WINBOOL bDeletePort); + +WINBOOL +WINAPI +SpoolerCopyFileEvent( + LPWSTR pszPrinterName, + LPWSTR pszKey, + DWORD dwCopyFileEvent); + +DWORD +WINAPI +GenerateCopyFilePaths( + LPCWSTR pszPrinterName, + LPCWSTR pszDirectory, + LPBYTE pSplClientInfo, + DWORD dwLevel, + LPWSTR pszSourceDir, + LPDWORD pcchSourceDirSize, + LPWSTR pszTargetDir, + LPDWORD pcchTargetDirSize, + DWORD dwFlags); + +HANDLE WINAPI CreatePrinterIC(HANDLE hPrinter, LPDEVMODEW pDevMode); +WINBOOL WINAPI PlayGdiScriptOnPrinterIC(HANDLE hPrinterIC, LPBYTE pIn, + DWORD cIn, LPBYTE pOut, DWORD cOut, DWORD ul); +WINBOOL WINAPI DeletePrinterIC(HANDLE hPrinterIC); +WINBOOL WINAPI DevQueryPrint(HANDLE hPrinter, LPDEVMODEW pDevMode, DWORD *pResID); +HANDLE WINAPI RevertToPrinterSelf(VOID); +WINBOOL WINAPI ImpersonatePrinterClient(HANDLE hToken); +WINBOOL WINAPI ReplyPrinterChangeNotification(HANDLE hNotify, DWORD fdwFlags, + PDWORD pdwResult, PVOID pPrinterNotifyInfo); +WINBOOL WINAPI ReplyPrinterChangeNotificationEx(HANDLE hNotify, DWORD dwColor, + DWORD fdwFlags, PDWORD pdwResult, + PVOID pPrinterNotifyInfo); +WINBOOL WINAPI PartialReplyPrinterChangeNotification(HANDLE hNotify, + PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc); +PPRINTER_NOTIFY_INFO WINAPI RouterAllocPrinterNotifyInfo(DWORD cPrinterNotifyInfoData); +WINBOOL WINAPI RouterFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo); + +WINBOOL WINAPI AppendPrinterNotifyInfoData(PPRINTER_NOTIFY_INFO pInfoDest, + PPRINTER_NOTIFY_INFO_DATA pInfoDataSrc, + DWORD fdwFlags); +DWORD WINAPI CallRouterFindFirstPrinterChangeNotification(HANDLE hPrinter, + DWORD fdwFlags, + DWORD fdwOptions, + HANDLE hNotify, + PPRINTER_NOTIFY_OPTIONS pPrinterNotifyOptions); +WINBOOL WINAPI ProvidorFindFirstPrinterChangeNotification(HANDLE hPrinter, + DWORD fdwFlags, + DWORD fdwOptions, + HANDLE hNotify, + PVOID pvReserved0, + PVOID pvReserved1); +WINBOOL WINAPI ProvidorFindClosePrinterChangeNotification(HANDLE hPrinter); + +/* Spooler */ +WINBOOL WINAPI SpoolerFindFirstPrinterChangeNotification(HANDLE hPrinter, + DWORD fdwFlags, + DWORD fdwOptions, + PHANDLE phEvent, + PVOID pPrinterNotifyOptions, + PVOID pvReserved); +WINBOOL WINAPI SpoolerFindNextPrinterChangeNotification(HANDLE hPrinter, + LPDWORD pfdwChange, + PVOID pvReserved0, + PVOID ppPrinterNotifyInfo); +VOID WINAPI SpoolerFreePrinterNotifyInfo(PPRINTER_NOTIFY_INFO pInfo); +WINBOOL WINAPI SpoolerFindClosePrinterChangeNotification(HANDLE hPrinter); + +/* Port monitor / Language monitor / Print monitor */ +LPMONITOR2 WINAPI InitializePrintMonitor2(PMONITORINIT pMonitorInit, + PHANDLE phMonitor); +PMONITORUI WINAPI InitializePrintMonitorUI(VOID); +LPMONITOREX WINAPI InitializePrintMonitor(LPWSTR pRegistryRoot); +WINBOOL WINAPI InitializeMonitorEx(LPWSTR pRegistryRoot, LPMONITOR pMonitor); + +#if (NTDDI_VERSION >= NTDDI_WINXP) + +PBIDI_RESPONSE_CONTAINER WINAPI RouterAllocBidiResponseContainer(DWORD Count); +PVOID WINAPI RouterAllocBidiMem(size_t NumBytes); +DWORD WINAPI RouterFreeBidiResponseContainer(PBIDI_RESPONSE_CONTAINER pData); +VOID WINAPI RouterFreeBidiMem(PVOID pMemPointer); + +WINBOOL +WINAPI +SplPromptUIInUsersSession( + HANDLE hPrinter, + DWORD JobId, + PSHOWUIPARAMS pUIParams, + DWORD *pResponse); + +DWORD +WINAPI +SplIsSessionZero( + HANDLE hPrinter, + DWORD JobId, + WINBOOL *pIsSessionZero); + +#endif /* (NTDDI_VERSION >= NTDDI_WINXP) */ + +#if (NTDDI_VERSION >= NTDDI_WS03) +WINBOOL +WINAPI +GetJobAttributes( + LPWSTR pPrinterName, + LPDEVMODEW pDevmode, + PATTRIBUTE_INFO_3 pAttributeInfo); +#endif + +#if (NTDDI_VERSION >= NTDDI_VISTA) + +#define FILL_WITH_DEFAULTS 0x1 + +WINBOOL +WINAPI +GetJobAttributesEx( + LPWSTR pPrinterName, + LPDEVMODEW pDevmode, + DWORD dwLevel, + LPBYTE pAttributeInfo, + DWORD nSize, + DWORD dwFlags); + +WINBOOL WINAPI SpoolerRefreshPrinterChangeNotification(HANDLE hPrinter, + DWORD dwColor, + PPRINTER_NOTIFY_OPTIONS pOptions, + PPRINTER_NOTIFY_INFO *ppInfo); + +#endif /* (NTDDI_VERSION >= NTDDI_VISTA) */ + +/* FIXME : The following declarations are not present in the official header */ + +WINBOOL WINAPI OpenPrinterToken(PHANDLE phToken); +WINBOOL WINAPI SetPrinterToken(HANDLE hToken); +WINBOOL WINAPI ClosePrinterToken(HANDLE hToken); +WINBOOL WINAPI InstallPrintProcessor(HWND hWnd); + +#ifdef __cplusplus +} +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winspool.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winspool.h new file mode 100644 index 00000000..0116d18f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winspool.h @@ -0,0 +1,1675 @@ +/** + * 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 _WINSPOOL_ +#define _WINSPOOL_ + +#include <_mingw_unicode.h> + +#ifdef _WINUSER_ +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct _PRINTER_INFO_1A { + DWORD Flags; + LPSTR pDescription; + LPSTR pName; + LPSTR pComment; + } PRINTER_INFO_1A,*PPRINTER_INFO_1A,*LPPRINTER_INFO_1A; + + typedef struct _PRINTER_INFO_1W { + DWORD Flags; + LPWSTR pDescription; + LPWSTR pName; + LPWSTR pComment; + } PRINTER_INFO_1W,*PPRINTER_INFO_1W,*LPPRINTER_INFO_1W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_1) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_1) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_1) + + typedef struct _PRINTER_INFO_2A { + LPSTR pServerName; + LPSTR pPrinterName; + LPSTR pShareName; + LPSTR pPortName; + LPSTR pDriverName; + LPSTR pComment; + LPSTR pLocation; + LPDEVMODEA pDevMode; + LPSTR pSepFile; + LPSTR pPrintProcessor; + LPSTR pDatatype; + LPSTR pParameters; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Attributes; + DWORD Priority; + DWORD DefaultPriority; + DWORD StartTime; + DWORD UntilTime; + DWORD Status; + DWORD cJobs; + DWORD AveragePPM; + } PRINTER_INFO_2A,*PPRINTER_INFO_2A,*LPPRINTER_INFO_2A; + + typedef struct _PRINTER_INFO_2W { + LPWSTR pServerName; + LPWSTR pPrinterName; + LPWSTR pShareName; + LPWSTR pPortName; + LPWSTR pDriverName; + LPWSTR pComment; + LPWSTR pLocation; + LPDEVMODEW pDevMode; + LPWSTR pSepFile; + LPWSTR pPrintProcessor; + LPWSTR pDatatype; + LPWSTR pParameters; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Attributes; + DWORD Priority; + DWORD DefaultPriority; + DWORD StartTime; + DWORD UntilTime; + DWORD Status; + DWORD cJobs; + DWORD AveragePPM; + } PRINTER_INFO_2W,*PPRINTER_INFO_2W,*LPPRINTER_INFO_2W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_2) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_2) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_2) + + typedef struct _PRINTER_INFO_3 { + PSECURITY_DESCRIPTOR pSecurityDescriptor; + } PRINTER_INFO_3,*PPRINTER_INFO_3,*LPPRINTER_INFO_3; + + typedef struct _PRINTER_INFO_4A { + LPSTR pPrinterName; + LPSTR pServerName; + DWORD Attributes; + } PRINTER_INFO_4A,*PPRINTER_INFO_4A,*LPPRINTER_INFO_4A; + + typedef struct _PRINTER_INFO_4W { + LPWSTR pPrinterName; + LPWSTR pServerName; + DWORD Attributes; + } PRINTER_INFO_4W,*PPRINTER_INFO_4W,*LPPRINTER_INFO_4W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_4) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_4) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_4) + + typedef struct _PRINTER_INFO_5A { + LPSTR pPrinterName; + LPSTR pPortName; + DWORD Attributes; + DWORD DeviceNotSelectedTimeout; + DWORD TransmissionRetryTimeout; + } PRINTER_INFO_5A,*PPRINTER_INFO_5A,*LPPRINTER_INFO_5A; + + typedef struct _PRINTER_INFO_5W { + LPWSTR pPrinterName; + LPWSTR pPortName; + DWORD Attributes; + DWORD DeviceNotSelectedTimeout; + DWORD TransmissionRetryTimeout; + } PRINTER_INFO_5W,*PPRINTER_INFO_5W,*LPPRINTER_INFO_5W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_5) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_5) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_5) + + typedef struct _PRINTER_INFO_6 { + DWORD dwStatus; + } PRINTER_INFO_6,*PPRINTER_INFO_6,*LPPRINTER_INFO_6; + + typedef struct _PRINTER_INFO_7A { + LPSTR pszObjectGUID; + DWORD dwAction; + } PRINTER_INFO_7A,*PPRINTER_INFO_7A,*LPPRINTER_INFO_7A; + + typedef struct _PRINTER_INFO_7W { + LPWSTR pszObjectGUID; + DWORD dwAction; + } PRINTER_INFO_7W,*PPRINTER_INFO_7W,*LPPRINTER_INFO_7W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_7) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_7) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_7) + +#define DSPRINT_PUBLISH 0x00000001 +#define DSPRINT_UPDATE 0x00000002 +#define DSPRINT_UNPUBLISH 0x00000004 +#define DSPRINT_REPUBLISH 0x00000008 +#define DSPRINT_PENDING 0x80000000 + + typedef struct _PRINTER_INFO_8A { + LPDEVMODEA pDevMode; + } PRINTER_INFO_8A,*PPRINTER_INFO_8A,*LPPRINTER_INFO_8A; + + typedef struct _PRINTER_INFO_8W { + LPDEVMODEW pDevMode; + } PRINTER_INFO_8W,*PPRINTER_INFO_8W,*LPPRINTER_INFO_8W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_8) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_8) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_8) + + typedef struct _PRINTER_INFO_9A { + LPDEVMODEA pDevMode; + } PRINTER_INFO_9A,*PPRINTER_INFO_9A,*LPPRINTER_INFO_9A; + + typedef struct _PRINTER_INFO_9W { + LPDEVMODEW pDevMode; + } PRINTER_INFO_9W,*PPRINTER_INFO_9W,*LPPRINTER_INFO_9W; + + __MINGW_TYPEDEF_AW(PRINTER_INFO_9) + __MINGW_TYPEDEF_AW(PPRINTER_INFO_9) + __MINGW_TYPEDEF_AW(LPPRINTER_INFO_9) + +#define PRINTER_CONTROL_PAUSE 1 +#define PRINTER_CONTROL_RESUME 2 +#define PRINTER_CONTROL_PURGE 3 +#define PRINTER_CONTROL_SET_STATUS 4 + +#define PRINTER_STATUS_PAUSED 0x00000001 +#define PRINTER_STATUS_ERROR 0x00000002 +#define PRINTER_STATUS_PENDING_DELETION 0x00000004 +#define PRINTER_STATUS_PAPER_JAM 0x00000008 +#define PRINTER_STATUS_PAPER_OUT 0x00000010 +#define PRINTER_STATUS_MANUAL_FEED 0x00000020 +#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040 +#define PRINTER_STATUS_OFFLINE 0x00000080 +#define PRINTER_STATUS_IO_ACTIVE 0x00000100 +#define PRINTER_STATUS_BUSY 0x00000200 +#define PRINTER_STATUS_PRINTING 0x00000400 +#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800 +#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000 +#define PRINTER_STATUS_WAITING 0x00002000 +#define PRINTER_STATUS_PROCESSING 0x00004000 +#define PRINTER_STATUS_INITIALIZING 0x00008000 +#define PRINTER_STATUS_WARMING_UP 0x00010000 +#define PRINTER_STATUS_TONER_LOW 0x00020000 +#define PRINTER_STATUS_NO_TONER 0x00040000 +#define PRINTER_STATUS_PAGE_PUNT 0x00080000 +#define PRINTER_STATUS_USER_INTERVENTION 0x00100000 +#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000 +#define PRINTER_STATUS_DOOR_OPEN 0x00400000 +#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000 +#define PRINTER_STATUS_POWER_SAVE 0x01000000 + +#define PRINTER_ATTRIBUTE_QUEUED 0x00000001 +#define PRINTER_ATTRIBUTE_DIRECT 0x00000002 +#define PRINTER_ATTRIBUTE_DEFAULT 0x00000004 +#define PRINTER_ATTRIBUTE_SHARED 0x00000008 +#define PRINTER_ATTRIBUTE_NETWORK 0x00000010 +#define PRINTER_ATTRIBUTE_HIDDEN 0x00000020 +#define PRINTER_ATTRIBUTE_LOCAL 0x00000040 + +#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080 +#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100 +#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200 + +#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400 +#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800 +#define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000 +#define PRINTER_ATTRIBUTE_PUBLISHED 0x00002000 +#define PRINTER_ATTRIBUTE_FAX 0x00004000 +#define PRINTER_ATTRIBUTE_TS 0x00008000 + +#define NO_PRIORITY 0 +#define MAX_PRIORITY 99 +#define MIN_PRIORITY 1 +#define DEF_PRIORITY 1 + + typedef struct _JOB_INFO_1A { + DWORD JobId; + LPSTR pPrinterName; + LPSTR pMachineName; + LPSTR pUserName; + LPSTR pDocument; + LPSTR pDatatype; + LPSTR pStatus; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD TotalPages; + DWORD PagesPrinted; + SYSTEMTIME Submitted; + } JOB_INFO_1A,*PJOB_INFO_1A,*LPJOB_INFO_1A; + + typedef struct _JOB_INFO_1W { + DWORD JobId; + LPWSTR pPrinterName; + LPWSTR pMachineName; + LPWSTR pUserName; + LPWSTR pDocument; + LPWSTR pDatatype; + LPWSTR pStatus; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD TotalPages; + DWORD PagesPrinted; + SYSTEMTIME Submitted; + } JOB_INFO_1W,*PJOB_INFO_1W,*LPJOB_INFO_1W; + + __MINGW_TYPEDEF_AW(JOB_INFO_1) + __MINGW_TYPEDEF_AW(PJOB_INFO_1) + __MINGW_TYPEDEF_AW(LPJOB_INFO_1) + + typedef struct _JOB_INFO_2A { + DWORD JobId; + LPSTR pPrinterName; + LPSTR pMachineName; + LPSTR pUserName; + LPSTR pDocument; + LPSTR pNotifyName; + LPSTR pDatatype; + LPSTR pPrintProcessor; + LPSTR pParameters; + LPSTR pDriverName; + LPDEVMODEA pDevMode; + LPSTR pStatus; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD StartTime; + DWORD UntilTime; + DWORD TotalPages; + DWORD Size; + SYSTEMTIME Submitted; + DWORD Time; + DWORD PagesPrinted; + } JOB_INFO_2A,*PJOB_INFO_2A,*LPJOB_INFO_2A; + + typedef struct _JOB_INFO_2W { + DWORD JobId; + LPWSTR pPrinterName; + LPWSTR pMachineName; + LPWSTR pUserName; + LPWSTR pDocument; + LPWSTR pNotifyName; + LPWSTR pDatatype; + LPWSTR pPrintProcessor; + LPWSTR pParameters; + LPWSTR pDriverName; + LPDEVMODEW pDevMode; + LPWSTR pStatus; + PSECURITY_DESCRIPTOR pSecurityDescriptor; + DWORD Status; + DWORD Priority; + DWORD Position; + DWORD StartTime; + DWORD UntilTime; + DWORD TotalPages; + DWORD Size; + SYSTEMTIME Submitted; + DWORD Time; + DWORD PagesPrinted; + } JOB_INFO_2W,*PJOB_INFO_2W,*LPJOB_INFO_2W; + + __MINGW_TYPEDEF_AW(JOB_INFO_2) + __MINGW_TYPEDEF_AW(PJOB_INFO_2) + __MINGW_TYPEDEF_AW(LPJOB_INFO_2) + + typedef struct _JOB_INFO_3 { + DWORD JobId; + DWORD NextJobId; + DWORD Reserved; + } JOB_INFO_3,*PJOB_INFO_3,*LPJOB_INFO_3; + +#define JOB_CONTROL_PAUSE 1 +#define JOB_CONTROL_RESUME 2 +#define JOB_CONTROL_CANCEL 3 +#define JOB_CONTROL_RESTART 4 +#define JOB_CONTROL_DELETE 5 +#define JOB_CONTROL_SENT_TO_PRINTER 6 +#define JOB_CONTROL_LAST_PAGE_EJECTED 7 + +#define JOB_STATUS_PAUSED 0x00000001 +#define JOB_STATUS_ERROR 0x00000002 +#define JOB_STATUS_DELETING 0x00000004 +#define JOB_STATUS_SPOOLING 0x00000008 +#define JOB_STATUS_PRINTING 0x00000010 +#define JOB_STATUS_OFFLINE 0x00000020 +#define JOB_STATUS_PAPEROUT 0x00000040 +#define JOB_STATUS_PRINTED 0x00000080 +#define JOB_STATUS_DELETED 0x00000100 +#define JOB_STATUS_BLOCKED_DEVQ 0x00000200 +#define JOB_STATUS_USER_INTERVENTION 0x00000400 +#define JOB_STATUS_RESTART 0x00000800 +#define JOB_STATUS_COMPLETE 0x00001000 + +#define JOB_POSITION_UNSPECIFIED 0 + + typedef struct _ADDJOB_INFO_1A { + LPSTR Path; + DWORD JobId; + } ADDJOB_INFO_1A,*PADDJOB_INFO_1A,*LPADDJOB_INFO_1A; + + typedef struct _ADDJOB_INFO_1W { + LPWSTR Path; + DWORD JobId; + } ADDJOB_INFO_1W,*PADDJOB_INFO_1W,*LPADDJOB_INFO_1W; + + __MINGW_TYPEDEF_AW(ADDJOB_INFO_1) + __MINGW_TYPEDEF_AW(PADDJOB_INFO_1) + __MINGW_TYPEDEF_AW(LPADDJOB_INFO_1) + + typedef struct _DRIVER_INFO_1A { + LPSTR pName; + } DRIVER_INFO_1A,*PDRIVER_INFO_1A,*LPDRIVER_INFO_1A; + + typedef struct _DRIVER_INFO_1W { + LPWSTR pName; + } DRIVER_INFO_1W,*PDRIVER_INFO_1W,*LPDRIVER_INFO_1W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_1) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_1) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_1) + + typedef struct _DRIVER_INFO_2A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + } DRIVER_INFO_2A,*PDRIVER_INFO_2A,*LPDRIVER_INFO_2A; + + typedef struct _DRIVER_INFO_2W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + } DRIVER_INFO_2W,*PDRIVER_INFO_2W,*LPDRIVER_INFO_2W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_2) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_2) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_2) + + typedef struct _DRIVER_INFO_3A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + LPSTR pHelpFile; + LPSTR pDependentFiles; + LPSTR pMonitorName; + LPSTR pDefaultDataType; + } DRIVER_INFO_3A,*PDRIVER_INFO_3A,*LPDRIVER_INFO_3A; + + typedef struct _DRIVER_INFO_3W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + LPWSTR pHelpFile; + LPWSTR pDependentFiles; + LPWSTR pMonitorName; + LPWSTR pDefaultDataType; + } DRIVER_INFO_3W,*PDRIVER_INFO_3W,*LPDRIVER_INFO_3W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_3) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_3) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_3) + + typedef struct _DRIVER_INFO_4A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + LPSTR pHelpFile; + LPSTR pDependentFiles; + LPSTR pMonitorName; + LPSTR pDefaultDataType; + LPSTR pszzPreviousNames; + } DRIVER_INFO_4A,*PDRIVER_INFO_4A,*LPDRIVER_INFO_4A; + + typedef struct _DRIVER_INFO_4W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + LPWSTR pHelpFile; + LPWSTR pDependentFiles; + LPWSTR pMonitorName; + LPWSTR pDefaultDataType; + LPWSTR pszzPreviousNames; + } DRIVER_INFO_4W,*PDRIVER_INFO_4W,*LPDRIVER_INFO_4W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_4) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_4) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_4) + + typedef struct _DRIVER_INFO_5A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + DWORD dwDriverAttributes; + DWORD dwConfigVersion; + DWORD dwDriverVersion; + } DRIVER_INFO_5A,*PDRIVER_INFO_5A,*LPDRIVER_INFO_5A; + + typedef struct _DRIVER_INFO_5W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + DWORD dwDriverAttributes; + DWORD dwConfigVersion; + DWORD dwDriverVersion; + } DRIVER_INFO_5W,*PDRIVER_INFO_5W,*LPDRIVER_INFO_5W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_5) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_5) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_5) + + typedef struct _DRIVER_INFO_6A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + LPSTR pHelpFile; + LPSTR pDependentFiles; + LPSTR pMonitorName; + LPSTR pDefaultDataType; + LPSTR pszzPreviousNames; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + LPSTR pszMfgName; + LPSTR pszOEMUrl; + LPSTR pszHardwareID; + LPSTR pszProvider; + } DRIVER_INFO_6A,*PDRIVER_INFO_6A,*LPDRIVER_INFO_6A; + + typedef struct _DRIVER_INFO_6W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + LPWSTR pHelpFile; + LPWSTR pDependentFiles; + LPWSTR pMonitorName; + LPWSTR pDefaultDataType; + LPWSTR pszzPreviousNames; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + LPWSTR pszMfgName; + LPWSTR pszOEMUrl; + LPWSTR pszHardwareID; + LPWSTR pszProvider; + } DRIVER_INFO_6W,*PDRIVER_INFO_6W,*LPDRIVER_INFO_6W; + + __MINGW_TYPEDEF_AW(DRIVER_INFO_6) + __MINGW_TYPEDEF_AW(PDRIVER_INFO_6) + __MINGW_TYPEDEF_AW(LPDRIVER_INFO_6) + +#define DRIVER_KERNELMODE 0x00000001 +#define DRIVER_USERMODE 0x00000002 + +#define DPD_DELETE_UNUSED_FILES 0x00000001 +#define DPD_DELETE_SPECIFIC_VERSION 0x00000002 +#define DPD_DELETE_ALL_FILES 0x00000004 + +#define APD_STRICT_UPGRADE 0x00000001 +#define APD_STRICT_DOWNGRADE 0x00000002 +#define APD_COPY_ALL_FILES 0x00000004 +#define APD_COPY_NEW_FILES 0x00000008 +#define APD_COPY_FROM_DIRECTORY 0x00000010 + + typedef struct _DOC_INFO_1A { + LPSTR pDocName; + LPSTR pOutputFile; + LPSTR pDatatype; + } DOC_INFO_1A,*PDOC_INFO_1A,*LPDOC_INFO_1A; + + typedef struct _DOC_INFO_1W { + LPWSTR pDocName; + LPWSTR pOutputFile; + LPWSTR pDatatype; + } DOC_INFO_1W,*PDOC_INFO_1W,*LPDOC_INFO_1W; + + __MINGW_TYPEDEF_AW(DOC_INFO_1) + __MINGW_TYPEDEF_AW(PDOC_INFO_1) + __MINGW_TYPEDEF_AW(LPDOC_INFO_1) + + typedef struct _FORM_INFO_1A { + DWORD Flags; + LPSTR pName; + SIZEL Size; + RECTL ImageableArea; + } FORM_INFO_1A,*PFORM_INFO_1A,*LPFORM_INFO_1A; + + typedef struct _FORM_INFO_1W { + DWORD Flags; + LPWSTR pName; + SIZEL Size; + RECTL ImageableArea; + } FORM_INFO_1W,*PFORM_INFO_1W,*LPFORM_INFO_1W; + + __MINGW_TYPEDEF_AW(FORM_INFO_1) + __MINGW_TYPEDEF_AW(PFORM_INFO_1) + __MINGW_TYPEDEF_AW(LPFORM_INFO_1) + + typedef struct _DOC_INFO_2A { + LPSTR pDocName; + LPSTR pOutputFile; + LPSTR pDatatype; + DWORD dwMode; + DWORD JobId; + } DOC_INFO_2A,*PDOC_INFO_2A,*LPDOC_INFO_2A; + + typedef struct _DOC_INFO_2W { + LPWSTR pDocName; + LPWSTR pOutputFile; + LPWSTR pDatatype; + DWORD dwMode; + DWORD JobId; + } DOC_INFO_2W,*PDOC_INFO_2W,*LPDOC_INFO_2W; + + __MINGW_TYPEDEF_AW(DOC_INFO_2) + __MINGW_TYPEDEF_AW(PDOC_INFO_2) + __MINGW_TYPEDEF_AW(LPDOC_INFO_2) + +#define DI_CHANNEL 1 +#define DI_READ_SPOOL_JOB 3 + + typedef struct _DOC_INFO_3A { + LPSTR pDocName; + LPSTR pOutputFile; + LPSTR pDatatype; + DWORD dwFlags; + } DOC_INFO_3A,*PDOC_INFO_3A,*LPDOC_INFO_3A; + + typedef struct _DOC_INFO_3W { + LPWSTR pDocName; + LPWSTR pOutputFile; + LPWSTR pDatatype; + DWORD dwFlags; + } DOC_INFO_3W,*PDOC_INFO_3W,*LPDOC_INFO_3W; + + __MINGW_TYPEDEF_AW(DOC_INFO_3) + __MINGW_TYPEDEF_AW(PDOC_INFO_3) + __MINGW_TYPEDEF_AW(LPDOC_INFO_3) + +#define DI_MEMORYMAP_WRITE 0x00000001 + +#define FORM_USER 0x00000000 +#define FORM_BUILTIN 0x00000001 +#define FORM_PRINTER 0x00000002 + + typedef struct _PRINTPROCESSOR_INFO_1A { + LPSTR pName; + } PRINTPROCESSOR_INFO_1A,*PPRINTPROCESSOR_INFO_1A,*LPPRINTPROCESSOR_INFO_1A; + + typedef struct _PRINTPROCESSOR_INFO_1W { + LPWSTR pName; + } PRINTPROCESSOR_INFO_1W,*PPRINTPROCESSOR_INFO_1W,*LPPRINTPROCESSOR_INFO_1W; + + __MINGW_TYPEDEF_AW(PRINTPROCESSOR_INFO_1) + __MINGW_TYPEDEF_AW(PPRINTPROCESSOR_INFO_1) + __MINGW_TYPEDEF_AW(LPPRINTPROCESSOR_INFO_1) + + typedef struct _PRINTPROCESSOR_CAPS_1 { + DWORD dwLevel; + DWORD dwNupOptions; + DWORD dwPageOrderFlags; + DWORD dwNumberOfCopies; + } PRINTPROCESSOR_CAPS_1,*PPRINTPROCESSOR_CAPS_1; + +#define NORMAL_PRINT 0x00000000 +#define REVERSE_PRINT 0x00000001 + + typedef struct _PORT_INFO_1A { + LPSTR pName; + } PORT_INFO_1A,*PPORT_INFO_1A,*LPPORT_INFO_1A; + typedef struct _PORT_INFO_1W { + LPWSTR pName; + } PORT_INFO_1W,*PPORT_INFO_1W,*LPPORT_INFO_1W; + + __MINGW_TYPEDEF_AW(PORT_INFO_1) + __MINGW_TYPEDEF_AW(PPORT_INFO_1) + __MINGW_TYPEDEF_AW(LPPORT_INFO_1) + + typedef struct _PORT_INFO_2A { + LPSTR pPortName; + LPSTR pMonitorName; + LPSTR pDescription; + DWORD fPortType; + DWORD Reserved; + } PORT_INFO_2A,*PPORT_INFO_2A,*LPPORT_INFO_2A; + + typedef struct _PORT_INFO_2W { + LPWSTR pPortName; + LPWSTR pMonitorName; + LPWSTR pDescription; + DWORD fPortType; + DWORD Reserved; + } PORT_INFO_2W,*PPORT_INFO_2W,*LPPORT_INFO_2W; + + __MINGW_TYPEDEF_AW(PORT_INFO_2) + __MINGW_TYPEDEF_AW(PPORT_INFO_2) + __MINGW_TYPEDEF_AW(LPPORT_INFO_2) + +#define PORT_TYPE_WRITE 0x0001 +#define PORT_TYPE_READ 0x0002 +#define PORT_TYPE_REDIRECTED 0x0004 +#define PORT_TYPE_NET_ATTACHED 0x0008 + + typedef struct _PORT_INFO_3A { + DWORD dwStatus; + LPSTR pszStatus; + DWORD dwSeverity; + } PORT_INFO_3A,*PPORT_INFO_3A,*LPPORT_INFO_3A; + + typedef struct _PORT_INFO_3W { + DWORD dwStatus; + LPWSTR pszStatus; + DWORD dwSeverity; + } PORT_INFO_3W,*PPORT_INFO_3W,*LPPORT_INFO_3W; + + __MINGW_TYPEDEF_AW(PORT_INFO_3) + __MINGW_TYPEDEF_AW(PPORT_INFO_3) + __MINGW_TYPEDEF_AW(LPPORT_INFO_3) + +#define PORT_STATUS_TYPE_ERROR 1 +#define PORT_STATUS_TYPE_WARNING 2 +#define PORT_STATUS_TYPE_INFO 3 + +#define PORT_STATUS_OFFLINE 1 +#define PORT_STATUS_PAPER_JAM 2 +#define PORT_STATUS_PAPER_OUT 3 +#define PORT_STATUS_OUTPUT_BIN_FULL 4 +#define PORT_STATUS_PAPER_PROBLEM 5 +#define PORT_STATUS_NO_TONER 6 +#define PORT_STATUS_DOOR_OPEN 7 +#define PORT_STATUS_USER_INTERVENTION 8 +#define PORT_STATUS_OUT_OF_MEMORY 9 +#define PORT_STATUS_TONER_LOW 10 +#define PORT_STATUS_WARMING_UP 11 +#define PORT_STATUS_POWER_SAVE 12 + + typedef struct _MONITOR_INFO_1A{ + LPSTR pName; + } MONITOR_INFO_1A,*PMONITOR_INFO_1A,*LPMONITOR_INFO_1A; + + typedef struct _MONITOR_INFO_1W{ + LPWSTR pName; + } MONITOR_INFO_1W,*PMONITOR_INFO_1W,*LPMONITOR_INFO_1W; + + __MINGW_TYPEDEF_AW(MONITOR_INFO_1) + __MINGW_TYPEDEF_AW(PMONITOR_INFO_1) + __MINGW_TYPEDEF_AW(LPMONITOR_INFO_1) + + typedef struct _MONITOR_INFO_2A { + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDLLName; + } MONITOR_INFO_2A,*PMONITOR_INFO_2A,*LPMONITOR_INFO_2A; + + typedef struct _MONITOR_INFO_2W { + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDLLName; + } MONITOR_INFO_2W,*PMONITOR_INFO_2W,*LPMONITOR_INFO_2W; + + __MINGW_TYPEDEF_AW(MONITOR_INFO_2) + __MINGW_TYPEDEF_AW(PMONITOR_INFO_2) + __MINGW_TYPEDEF_AW(LPMONITOR_INFO_2) + + typedef struct _DATATYPES_INFO_1A { + LPSTR pName; + } DATATYPES_INFO_1A,*PDATATYPES_INFO_1A,*LPDATATYPES_INFO_1A; + + typedef struct _DATATYPES_INFO_1W { + LPWSTR pName; + } DATATYPES_INFO_1W,*PDATATYPES_INFO_1W,*LPDATATYPES_INFO_1W; + + __MINGW_TYPEDEF_AW(DATATYPES_INFO_1) + __MINGW_TYPEDEF_AW(PDATATYPES_INFO_1) + __MINGW_TYPEDEF_AW(LPDATATYPES_INFO_1) + + typedef struct _PRINTER_DEFAULTSA { + LPSTR pDatatype; + LPDEVMODEA pDevMode; + ACCESS_MASK DesiredAccess; + } PRINTER_DEFAULTSA,*PPRINTER_DEFAULTSA,*LPPRINTER_DEFAULTSA; + + typedef struct _PRINTER_DEFAULTSW { + LPWSTR pDatatype; + LPDEVMODEW pDevMode; + ACCESS_MASK DesiredAccess; + } PRINTER_DEFAULTSW,*PPRINTER_DEFAULTSW,*LPPRINTER_DEFAULTSW; + + __MINGW_TYPEDEF_AW(PRINTER_DEFAULTS) + __MINGW_TYPEDEF_AW(PPRINTER_DEFAULTS) + __MINGW_TYPEDEF_AW(LPPRINTER_DEFAULTS) + + typedef struct _PRINTER_ENUM_VALUESA { + LPSTR pValueName; + DWORD cbValueName; + DWORD dwType; + LPBYTE pData; + DWORD cbData; + } PRINTER_ENUM_VALUESA,*PPRINTER_ENUM_VALUESA,*LPPRINTER_ENUM_VALUESA; + + typedef struct _PRINTER_ENUM_VALUESW { + LPWSTR pValueName; + DWORD cbValueName; + DWORD dwType; + LPBYTE pData; + DWORD cbData; + } PRINTER_ENUM_VALUESW,*PPRINTER_ENUM_VALUESW,*LPPRINTER_ENUM_VALUESW; + + __MINGW_TYPEDEF_AW(PRINTER_ENUM_VALUES) + __MINGW_TYPEDEF_AW(PPRINTER_ENUM_VALUES) + __MINGW_TYPEDEF_AW(LPPRINTER_ENUM_VALUES) + +#define EnumPrinters __MINGW_NAME_AW(EnumPrinters) + + WINBOOL WINAPI EnumPrintersA(DWORD Flags,LPSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumPrintersW(DWORD Flags,LPWSTR Name,DWORD Level,LPBYTE pPrinterEnum,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + +#define PRINTER_ENUM_DEFAULT 0x00000001 +#define PRINTER_ENUM_LOCAL 0x00000002 +#define PRINTER_ENUM_CONNECTIONS 0x00000004 +#define PRINTER_ENUM_FAVORITE 0x00000004 +#define PRINTER_ENUM_NAME 0x00000008 +#define PRINTER_ENUM_REMOTE 0x00000010 +#define PRINTER_ENUM_SHARED 0x00000020 +#define PRINTER_ENUM_NETWORK 0x00000040 + +#define PRINTER_ENUM_EXPAND 0x00004000 +#define PRINTER_ENUM_CONTAINER 0x00008000 + +#define PRINTER_ENUM_ICONMASK 0x00ff0000 +#define PRINTER_ENUM_ICON1 0x00010000 +#define PRINTER_ENUM_ICON2 0x00020000 +#define PRINTER_ENUM_ICON3 0x00040000 +#define PRINTER_ENUM_ICON4 0x00080000 +#define PRINTER_ENUM_ICON5 0x00100000 +#define PRINTER_ENUM_ICON6 0x00200000 +#define PRINTER_ENUM_ICON7 0x00400000 +#define PRINTER_ENUM_ICON8 0x00800000 +#define PRINTER_ENUM_HIDE 0x01000000 + +#define SPOOL_FILE_PERSISTENT 0x00000001 +#define SPOOL_FILE_TEMPORARY 0x00000002 + +#define OpenPrinter __MINGW_NAME_AW(OpenPrinter) +#define ResetPrinter __MINGW_NAME_AW(ResetPrinter) +#define SetJob __MINGW_NAME_AW(SetJob) +#define GetJob __MINGW_NAME_AW(GetJob) +#define EnumJobs __MINGW_NAME_AW(EnumJobs) +#define AddPrinter __MINGW_NAME_AW(AddPrinter) +#define SetPrinter __MINGW_NAME_AW(SetPrinter) +#define GetPrinter __MINGW_NAME_AW(GetPrinter) +#define AddPrinterDriver __MINGW_NAME_AW(AddPrinterDriver) +#define AddPrinterDriverEx __MINGW_NAME_AW(AddPrinterDriverEx) +#define EnumPrinterDrivers __MINGW_NAME_AW(EnumPrinterDrivers) +#define GetPrinterDriver __MINGW_NAME_AW(GetPrinterDriver) +#define GetPrinterDriverDirectory __MINGW_NAME_AW(GetPrinterDriverDirectory) +#define DeletePrinterDriver __MINGW_NAME_AW(DeletePrinterDriver) +#define DeletePrinterDriverEx __MINGW_NAME_AW(DeletePrinterDriverEx) +#define AddPrintProcessor __MINGW_NAME_AW(AddPrintProcessor) +#define EnumPrintProcessors __MINGW_NAME_AW(EnumPrintProcessors) +#define GetPrintProcessorDirectory __MINGW_NAME_AW(GetPrintProcessorDirectory) +#define EnumPrintProcessorDatatypes __MINGW_NAME_AW(EnumPrintProcessorDatatypes) +#define DeletePrintProcessor __MINGW_NAME_AW(DeletePrintProcessor) +#define StartDocPrinter __MINGW_NAME_AW(StartDocPrinter) +#define AddJob __MINGW_NAME_AW(AddJob) +#define DocumentProperties __MINGW_NAME_AW(DocumentProperties) +#define AdvancedDocumentProperties __MINGW_NAME_AW(AdvancedDocumentProperties) +#define GetPrinterData __MINGW_NAME_AW(GetPrinterData) +#define GetPrinterDataEx __MINGW_NAME_AW(GetPrinterDataEx) +#define EnumPrinterData __MINGW_NAME_AW(EnumPrinterData) +#define EnumPrinterDataEx __MINGW_NAME_AW(EnumPrinterDataEx) +#define EnumPrinterKey __MINGW_NAME_AW(EnumPrinterKey) +#define SetPrinterData __MINGW_NAME_AW(SetPrinterData) +#define SetPrinterDataEx __MINGW_NAME_AW(SetPrinterDataEx) +#define DeletePrinterData __MINGW_NAME_AW(DeletePrinterData) +#define DeletePrinterDataEx __MINGW_NAME_AW(DeletePrinterDataEx) +#define DeletePrinterKey __MINGW_NAME_AW(DeletePrinterKey) + + WINBOOL WINAPI OpenPrinterA(LPSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSA pDefault); + WINBOOL WINAPI OpenPrinterW(LPWSTR pPrinterName,LPHANDLE phPrinter,LPPRINTER_DEFAULTSW pDefault); + WINBOOL WINAPI ResetPrinterA(HANDLE hPrinter,LPPRINTER_DEFAULTSA pDefault); + WINBOOL WINAPI ResetPrinterW(HANDLE hPrinter,LPPRINTER_DEFAULTSW pDefault); + WINBOOL WINAPI SetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command); + WINBOOL WINAPI SetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD Command); + WINBOOL WINAPI GetJobA(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetJobW(HANDLE hPrinter,DWORD JobId,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI EnumJobsA(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumJobsW(HANDLE hPrinter,DWORD FirstJob,DWORD NoJobs,DWORD Level,LPBYTE pJob,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + HANDLE WINAPI AddPrinterA(LPSTR pName,DWORD Level,LPBYTE pPrinter); + HANDLE WINAPI AddPrinterW(LPWSTR pName,DWORD Level,LPBYTE pPrinter); + WINBOOL WINAPI DeletePrinter(HANDLE hPrinter); + WINBOOL WINAPI SetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command); + WINBOOL WINAPI SetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD Command); + WINBOOL WINAPI GetPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pPrinter,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI AddPrinterDriverA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo); + WINBOOL WINAPI AddPrinterDriverW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo); + WINBOOL WINAPI AddPrinterDriverExA(LPSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags); + WINBOOL WINAPI AddPrinterDriverExW(LPWSTR pName,DWORD Level,LPBYTE pDriverInfo,DWORD dwFileCopyFlags); + WINBOOL WINAPI EnumPrinterDriversA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumPrinterDriversW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI GetPrinterDriverA(HANDLE hPrinter,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetPrinterDriverW(HANDLE hPrinter,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverInfo,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetPrinterDriverDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetPrinterDriverDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pDriverDirectory,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI DeletePrinterDriverA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName); + WINBOOL WINAPI DeletePrinterDriverW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName); + WINBOOL WINAPI DeletePrinterDriverExA(LPSTR pName,LPSTR pEnvironment,LPSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag); + WINBOOL WINAPI DeletePrinterDriverExW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pDriverName,DWORD dwDeleteFlag,DWORD dwVersionFlag); + WINBOOL WINAPI AddPrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPathName,LPSTR pPrintProcessorName); + WINBOOL WINAPI AddPrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPathName,LPWSTR pPrintProcessorName); + WINBOOL WINAPI EnumPrintProcessorsA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumPrintProcessorsW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI GetPrintProcessorDirectoryA(LPSTR pName,LPSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetPrintProcessorDirectoryW(LPWSTR pName,LPWSTR pEnvironment,DWORD Level,LPBYTE pPrintProcessorInfo,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI EnumPrintProcessorDatatypesA(LPSTR pName,LPSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumPrintProcessorDatatypesW(LPWSTR pName,LPWSTR pPrintProcessorName,DWORD Level,LPBYTE pDatatypes,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI DeletePrintProcessorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProcessorName); + WINBOOL WINAPI DeletePrintProcessorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProcessorName); + DWORD WINAPI StartDocPrinterA(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo); + DWORD WINAPI StartDocPrinterW(HANDLE hPrinter,DWORD Level,LPBYTE pDocInfo); + WINBOOL WINAPI StartPagePrinter(HANDLE hPrinter); + WINBOOL WINAPI WritePrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten); + WINBOOL WINAPI FlushPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pcWritten,DWORD cSleep); + WINBOOL WINAPI EndPagePrinter(HANDLE hPrinter); + WINBOOL WINAPI AbortPrinter(HANDLE hPrinter); + WINBOOL WINAPI ReadPrinter(HANDLE hPrinter,LPVOID pBuf,DWORD cbBuf,LPDWORD pNoBytesRead); + WINBOOL WINAPI EndDocPrinter(HANDLE hPrinter); + WINBOOL WINAPI AddJobA(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI AddJobW(HANDLE hPrinter,DWORD Level,LPBYTE pData,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI ScheduleJob(HANDLE hPrinter,DWORD JobId); + WINBOOL WINAPI PrinterProperties(HWND hWnd,HANDLE hPrinter); + LONG WINAPI DocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput,DWORD fMode); + LONG WINAPI DocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput,DWORD fMode); + LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput); + LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput); + LONG ExtDeviceMode(HWND hWnd,HANDLE hInst,LPDEVMODEA pDevModeOutput,LPSTR pDeviceName,LPSTR pPort,LPDEVMODEA pDevModeInput,LPSTR pProfile,DWORD fMode); + DWORD WINAPI GetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); + DWORD WINAPI GetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); + DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); + DWORD WINAPI GetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); + DWORD WINAPI EnumPrinterDataA(HANDLE hPrinter,DWORD dwIndex,LPSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData); + DWORD WINAPI EnumPrinterDataW(HANDLE hPrinter,DWORD dwIndex,LPWSTR pValueName,DWORD cbValueName,LPDWORD pcbValueName,LPDWORD pType,LPBYTE pData,DWORD cbData,LPDWORD pcbData); + DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues); + DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPBYTE pEnumValues,DWORD cbEnumValues,LPDWORD pcbEnumValues,LPDWORD pnEnumValues); + DWORD WINAPI EnumPrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName,LPSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey); + DWORD WINAPI EnumPrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName,LPWSTR pSubkey,DWORD cbSubkey,LPDWORD pcbSubkey); + DWORD WINAPI SetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); + DWORD WINAPI SetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); + DWORD WINAPI SetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); + DWORD WINAPI SetPrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName,DWORD Type,LPBYTE pData,DWORD cbData); + DWORD WINAPI DeletePrinterDataA(HANDLE hPrinter,LPSTR pValueName); + DWORD WINAPI DeletePrinterDataW(HANDLE hPrinter,LPWSTR pValueName); + DWORD WINAPI DeletePrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName); + DWORD WINAPI DeletePrinterDataExW(HANDLE hPrinter,LPCWSTR pKeyName,LPCWSTR pValueName); + DWORD WINAPI DeletePrinterKeyA(HANDLE hPrinter,LPCSTR pKeyName); + DWORD WINAPI DeletePrinterKeyW(HANDLE hPrinter,LPCWSTR pKeyName); + +#define PRINTER_NOTIFY_TYPE 0x00 +#define JOB_NOTIFY_TYPE 0x01 + +#define PRINTER_NOTIFY_FIELD_SERVER_NAME 0x00 +#define PRINTER_NOTIFY_FIELD_PRINTER_NAME 0x01 +#define PRINTER_NOTIFY_FIELD_SHARE_NAME 0x02 +#define PRINTER_NOTIFY_FIELD_PORT_NAME 0x03 +#define PRINTER_NOTIFY_FIELD_DRIVER_NAME 0x04 +#define PRINTER_NOTIFY_FIELD_COMMENT 0x05 +#define PRINTER_NOTIFY_FIELD_LOCATION 0x06 +#define PRINTER_NOTIFY_FIELD_DEVMODE 0x07 +#define PRINTER_NOTIFY_FIELD_SEPFILE 0x08 +#define PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR 0x09 +#define PRINTER_NOTIFY_FIELD_PARAMETERS 0x0A +#define PRINTER_NOTIFY_FIELD_DATATYPE 0x0B +#define PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C +#define PRINTER_NOTIFY_FIELD_ATTRIBUTES 0x0D +#define PRINTER_NOTIFY_FIELD_PRIORITY 0x0E +#define PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY 0x0F +#define PRINTER_NOTIFY_FIELD_START_TIME 0x10 +#define PRINTER_NOTIFY_FIELD_UNTIL_TIME 0x11 +#define PRINTER_NOTIFY_FIELD_STATUS 0x12 +#define PRINTER_NOTIFY_FIELD_STATUS_STRING 0x13 +#define PRINTER_NOTIFY_FIELD_CJOBS 0x14 +#define PRINTER_NOTIFY_FIELD_AVERAGE_PPM 0x15 +#define PRINTER_NOTIFY_FIELD_TOTAL_PAGES 0x16 +#define PRINTER_NOTIFY_FIELD_PAGES_PRINTED 0x17 +#define PRINTER_NOTIFY_FIELD_TOTAL_BYTES 0x18 +#define PRINTER_NOTIFY_FIELD_BYTES_PRINTED 0x19 +#define PRINTER_NOTIFY_FIELD_OBJECT_GUID 0x1A + +#define JOB_NOTIFY_FIELD_PRINTER_NAME 0x00 +#define JOB_NOTIFY_FIELD_MACHINE_NAME 0x01 +#define JOB_NOTIFY_FIELD_PORT_NAME 0x02 +#define JOB_NOTIFY_FIELD_USER_NAME 0x03 +#define JOB_NOTIFY_FIELD_NOTIFY_NAME 0x04 +#define JOB_NOTIFY_FIELD_DATATYPE 0x05 +#define JOB_NOTIFY_FIELD_PRINT_PROCESSOR 0x06 +#define JOB_NOTIFY_FIELD_PARAMETERS 0x07 +#define JOB_NOTIFY_FIELD_DRIVER_NAME 0x08 +#define JOB_NOTIFY_FIELD_DEVMODE 0x09 +#define JOB_NOTIFY_FIELD_STATUS 0x0A +#define JOB_NOTIFY_FIELD_STATUS_STRING 0x0B +#define JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR 0x0C +#define JOB_NOTIFY_FIELD_DOCUMENT 0x0D +#define JOB_NOTIFY_FIELD_PRIORITY 0x0E +#define JOB_NOTIFY_FIELD_POSITION 0x0F +#define JOB_NOTIFY_FIELD_SUBMITTED 0x10 +#define JOB_NOTIFY_FIELD_START_TIME 0x11 +#define JOB_NOTIFY_FIELD_UNTIL_TIME 0x12 +#define JOB_NOTIFY_FIELD_TIME 0x13 +#define JOB_NOTIFY_FIELD_TOTAL_PAGES 0x14 +#define JOB_NOTIFY_FIELD_PAGES_PRINTED 0x15 +#define JOB_NOTIFY_FIELD_TOTAL_BYTES 0x16 +#define JOB_NOTIFY_FIELD_BYTES_PRINTED 0x17 + + typedef struct _PRINTER_NOTIFY_OPTIONS_TYPE { + WORD Type; + WORD Reserved0; + DWORD Reserved1; + DWORD Reserved2; + DWORD Count; + PWORD pFields; + } PRINTER_NOTIFY_OPTIONS_TYPE,*PPRINTER_NOTIFY_OPTIONS_TYPE,*LPPRINTER_NOTIFY_OPTIONS_TYPE; + +#define PRINTER_NOTIFY_OPTIONS_REFRESH 0x01 + + typedef struct _PRINTER_NOTIFY_OPTIONS { + DWORD Version; + DWORD Flags; + DWORD Count; + PPRINTER_NOTIFY_OPTIONS_TYPE pTypes; + } PRINTER_NOTIFY_OPTIONS,*PPRINTER_NOTIFY_OPTIONS,*LPPRINTER_NOTIFY_OPTIONS; + +#define PRINTER_NOTIFY_INFO_DISCARDED 0x01 + + typedef struct _PRINTER_NOTIFY_INFO_DATA { + WORD Type; + WORD Field; + DWORD Reserved; + DWORD Id; + union { + DWORD adwData[2]; + struct { + DWORD cbBuf; + LPVOID pBuf; + } Data; + } NotifyData; + } PRINTER_NOTIFY_INFO_DATA,*PPRINTER_NOTIFY_INFO_DATA,*LPPRINTER_NOTIFY_INFO_DATA; + + typedef struct _PRINTER_NOTIFY_INFO { + DWORD Version; + DWORD Flags; + DWORD Count; + PRINTER_NOTIFY_INFO_DATA aData[1]; + } PRINTER_NOTIFY_INFO,*PPRINTER_NOTIFY_INFO,*LPPRINTER_NOTIFY_INFO; + + typedef struct _BINARY_CONTAINER{ + DWORD cbBuf; + LPBYTE pData; + } BINARY_CONTAINER,*PBINARY_CONTAINER; + + typedef struct _BIDI_DATA{ + DWORD dwBidiType; + union { + WINBOOL bData; + LONG iData; + LPWSTR sData; + FLOAT fData; + BINARY_CONTAINER biData; + } u; + } BIDI_DATA,*PBIDI_DATA,*LPBIDI_DATA; + + typedef struct _BIDI_REQUEST_DATA{ + DWORD dwReqNumber; + LPWSTR pSchema; + BIDI_DATA data; + } BIDI_REQUEST_DATA ,*PBIDI_REQUEST_DATA ,*LPBIDI_REQUEST_DATA; + + typedef struct _BIDI_REQUEST_CONTAINER{ + DWORD Version; + DWORD Flags; + DWORD Count; + BIDI_REQUEST_DATA aData[1 ]; + }BIDI_REQUEST_CONTAINER,*PBIDI_REQUEST_CONTAINER,*LPBIDI_REQUEST_CONTAINER; + + typedef struct _BIDI_RESPONSE_DATA{ + DWORD dwResult; + DWORD dwReqNumber; + LPWSTR pSchema; + BIDI_DATA data; + } BIDI_RESPONSE_DATA,*PBIDI_RESPONSE_DATA,*LPBIDI_RESPONSE_DATA; + + typedef struct _BIDI_RESPONSE_CONTAINER{ + DWORD Version; + DWORD Flags; + DWORD Count; + BIDI_RESPONSE_DATA aData[1 ]; + } BIDI_RESPONSE_CONTAINER,*PBIDI_RESPONSE_CONTAINER,*LPBIDI_RESPONSE_CONTAINER; + +#define BIDI_ACTION_ENUM_SCHEMA L"EnumSchema" +#define BIDI_ACTION_GET L"Get" +#define BIDI_ACTION_SET L"Set" +#define BIDI_ACTION_GET_ALL L"GetAll" + + typedef enum { + BIDI_NULL = 0,BIDI_INT = 1,BIDI_FLOAT = 2,BIDI_BOOL = 3,BIDI_STRING = 4,BIDI_TEXT = 5,BIDI_ENUM = 6,BIDI_BLOB = 7 + } BIDI_TYPE; + +#define BIDI_ACCESS_ADMINISTRATOR 0x1 +#define BIDI_ACCESS_USER 0x2 + +#define ERROR_BIDI_STATUS_OK 0 +#define ERROR_BIDI_NOT_SUPPORTED ERROR_NOT_SUPPORTED + +#define ERROR_BIDI_ERROR_BASE 13000 +#define ERROR_BIDI_STATUS_WARNING (ERROR_BIDI_ERROR_BASE + 1) +#define ERROR_BIDI_SCHEMA_READ_ONLY (ERROR_BIDI_ERROR_BASE + 2) +#define ERROR_BIDI_SERVER_OFFLINE (ERROR_BIDI_ERROR_BASE + 3) +#define ERROR_BIDI_DEVICE_OFFLINE (ERROR_BIDI_ERROR_BASE + 4) +#define ERROR_BIDI_SCHEMA_NOT_SUPPORTED (ERROR_BIDI_ERROR_BASE + 5) + + DWORD WINAPI WaitForPrinterChange(HANDLE hPrinter,DWORD Flags); + HANDLE WINAPI FindFirstPrinterChangeNotification(HANDLE hPrinter,DWORD fdwFlags,DWORD fdwOptions,LPVOID pPrinterNotifyOptions); + WINBOOL WINAPI FindNextPrinterChangeNotification(HANDLE hChange,PDWORD pdwChange,LPVOID pPrinterNotifyOptions,LPVOID *ppPrinterNotifyInfo); + WINBOOL WINAPI FreePrinterNotifyInfo (PPRINTER_NOTIFY_INFO pPrinterNotifyInfo); + WINBOOL WINAPI FindClosePrinterChangeNotification(HANDLE hChange); + +#define PRINTER_CHANGE_ADD_PRINTER 0x00000001 +#define PRINTER_CHANGE_SET_PRINTER 0x00000002 +#define PRINTER_CHANGE_DELETE_PRINTER 0x00000004 +#define PRINTER_CHANGE_FAILED_CONNECTION_PRINTER 0x00000008 +#define PRINTER_CHANGE_PRINTER 0x000000FF +#define PRINTER_CHANGE_ADD_JOB 0x00000100 +#define PRINTER_CHANGE_SET_JOB 0x00000200 +#define PRINTER_CHANGE_DELETE_JOB 0x00000400 +#define PRINTER_CHANGE_WRITE_JOB 0x00000800 +#define PRINTER_CHANGE_JOB 0x0000FF00 +#define PRINTER_CHANGE_ADD_FORM 0x00010000 +#define PRINTER_CHANGE_SET_FORM 0x00020000 +#define PRINTER_CHANGE_DELETE_FORM 0x00040000 +#define PRINTER_CHANGE_FORM 0x00070000 +#define PRINTER_CHANGE_ADD_PORT 0x00100000 +#define PRINTER_CHANGE_CONFIGURE_PORT 0x00200000 +#define PRINTER_CHANGE_DELETE_PORT 0x00400000 +#define PRINTER_CHANGE_PORT 0x00700000 +#define PRINTER_CHANGE_ADD_PRINT_PROCESSOR 0x01000000 +#define PRINTER_CHANGE_DELETE_PRINT_PROCESSOR 0x04000000 +#define PRINTER_CHANGE_PRINT_PROCESSOR 0x07000000 +#define PRINTER_CHANGE_ADD_PRINTER_DRIVER 0x10000000 +#define PRINTER_CHANGE_SET_PRINTER_DRIVER 0x20000000 +#define PRINTER_CHANGE_DELETE_PRINTER_DRIVER 0x40000000 +#define PRINTER_CHANGE_PRINTER_DRIVER 0x70000000 +#define PRINTER_CHANGE_TIMEOUT 0x80000000 +#define PRINTER_CHANGE_ALL 0x7777FFFF + +#define PrinterMessageBox __MINGW_NAME_AW(PrinterMessageBox) +#define AddForm __MINGW_NAME_AW(AddForm) +#define DeleteForm __MINGW_NAME_AW(DeleteForm) +#define GetForm __MINGW_NAME_AW(GetForm) +#define SetForm __MINGW_NAME_AW(SetForm) +#define EnumForms __MINGW_NAME_AW(EnumForms) +#define EnumMonitors __MINGW_NAME_AW(EnumMonitors) +#define AddMonitor __MINGW_NAME_AW(AddMonitor) +#define DeleteMonitor __MINGW_NAME_AW(DeleteMonitor) +#define EnumPorts __MINGW_NAME_AW(EnumPorts) +#define AddPort __MINGW_NAME_AW(AddPort) +#define ConfigurePort __MINGW_NAME_AW(ConfigurePort) +#define DeletePort __MINGW_NAME_AW(DeletePort) +#define GetDefaultPrinter __MINGW_NAME_AW(GetDefaultPrinter) +#define SetDefaultPrinter __MINGW_NAME_AW(SetDefaultPrinter) +#define SetPort __MINGW_NAME_AW(SetPort) +#define AddPrinterConnection __MINGW_NAME_AW(AddPrinterConnection) +#define DeletePrinterConnection __MINGW_NAME_AW(DeletePrinterConnection) + + DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter,DWORD Error,HWND hWnd,LPSTR pText,LPSTR pCaption,DWORD dwType); + DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter,DWORD Error,HWND hWnd,LPWSTR pText,LPWSTR pCaption,DWORD dwType); + +#define PRINTER_ERROR_INFORMATION 0x80000000 +#define PRINTER_ERROR_WARNING 0x40000000 +#define PRINTER_ERROR_SEVERE 0x20000000 + +#define PRINTER_ERROR_OUTOFPAPER 0x00000001 +#define PRINTER_ERROR_JAM 0x00000002 +#define PRINTER_ERROR_OUTOFTONER 0x00000004 + + WINBOOL WINAPI ClosePrinter(HANDLE hPrinter); + WINBOOL WINAPI AddFormA(HANDLE hPrinter,DWORD Level,LPBYTE pForm); + WINBOOL WINAPI AddFormW(HANDLE hPrinter,DWORD Level,LPBYTE pForm); + WINBOOL WINAPI DeleteFormA(HANDLE hPrinter,LPSTR pFormName); + WINBOOL WINAPI DeleteFormW(HANDLE hPrinter,LPWSTR pFormName); + WINBOOL WINAPI GetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI GetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded); + WINBOOL WINAPI SetFormA(HANDLE hPrinter,LPSTR pFormName,DWORD Level,LPBYTE pForm); + WINBOOL WINAPI SetFormW(HANDLE hPrinter,LPWSTR pFormName,DWORD Level,LPBYTE pForm); + WINBOOL WINAPI EnumFormsA(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumFormsW(HANDLE hPrinter,DWORD Level,LPBYTE pForm,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumMonitorsA(LPSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumMonitorsW(LPWSTR pName,DWORD Level,LPBYTE pMonitor,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI AddMonitorA(LPSTR pName,DWORD Level,LPBYTE pMonitorInfo); + WINBOOL WINAPI AddMonitorW(LPWSTR pName,DWORD Level,LPBYTE pMonitorInfo); + WINBOOL WINAPI DeleteMonitorA(LPSTR pName,LPSTR pEnvironment,LPSTR pMonitorName); + WINBOOL WINAPI DeleteMonitorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pMonitorName); + WINBOOL WINAPI EnumPortsA(LPSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI EnumPortsW(LPWSTR pName,DWORD Level,LPBYTE pPorts,DWORD cbBuf,LPDWORD pcbNeeded,LPDWORD pcReturned); + WINBOOL WINAPI AddPortA(LPSTR pName,HWND hWnd,LPSTR pMonitorName); + WINBOOL WINAPI AddPortW(LPWSTR pName,HWND hWnd,LPWSTR pMonitorName); + WINBOOL WINAPI ConfigurePortA(LPSTR pName,HWND hWnd,LPSTR pPortName); + WINBOOL WINAPI ConfigurePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName); + WINBOOL WINAPI DeletePortA(LPSTR pName,HWND hWnd,LPSTR pPortName); + WINBOOL WINAPI DeletePortW(LPWSTR pName,HWND hWnd,LPWSTR pPortName); + WINBOOL WINAPI XcvDataW(HANDLE hXcv,PCWSTR pszDataName,PBYTE pInputData,DWORD cbInputData,PBYTE pOutputData,DWORD cbOutputData,PDWORD pcbOutputNeeded,PDWORD pdwStatus); + +#define XcvData XcvDataW + + WINBOOL WINAPI GetDefaultPrinterA(LPSTR pszBuffer,LPDWORD pcchBuffer); + WINBOOL WINAPI GetDefaultPrinterW(LPWSTR pszBuffer,LPDWORD pcchBuffer); + WINBOOL WINAPI SetDefaultPrinterA(LPCSTR pszPrinter); + WINBOOL WINAPI SetDefaultPrinterW(LPCWSTR pszPrinter); + WINBOOL WINAPI SetPortA(LPSTR pName,LPSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo); + WINBOOL WINAPI SetPortW(LPWSTR pName,LPWSTR pPortName,DWORD dwLevel,LPBYTE pPortInfo); + WINBOOL WINAPI AddPrinterConnectionA(LPSTR pName); + WINBOOL WINAPI AddPrinterConnectionW(LPWSTR pName); + WINBOOL WINAPI DeletePrinterConnectionA(LPSTR pName); + WINBOOL WINAPI DeletePrinterConnectionW(LPWSTR pName); + HANDLE WINAPI ConnectToPrinterDlg(HWND hwnd,DWORD Flags); + + typedef struct _PROVIDOR_INFO_1A{ + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDLLName; + } PROVIDOR_INFO_1A,*PPROVIDOR_INFO_1A,*LPPROVIDOR_INFO_1A; + + typedef struct _PROVIDOR_INFO_1W{ + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDLLName; + } PROVIDOR_INFO_1W,*PPROVIDOR_INFO_1W,*LPPROVIDOR_INFO_1W; + + __MINGW_TYPEDEF_AW(PROVIDOR_INFO_1) + __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_1) + __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_1) + + typedef struct _PROVIDOR_INFO_2A{ + LPSTR pOrder; + } PROVIDOR_INFO_2A,*PPROVIDOR_INFO_2A,*LPPROVIDOR_INFO_2A; + + typedef struct _PROVIDOR_INFO_2W{ + LPWSTR pOrder; + } PROVIDOR_INFO_2W,*PPROVIDOR_INFO_2W,*LPPROVIDOR_INFO_2W; + + __MINGW_TYPEDEF_AW(PROVIDOR_INFO_2) + __MINGW_TYPEDEF_AW(PPROVIDOR_INFO_2) + __MINGW_TYPEDEF_AW(LPPROVIDOR_INFO_2) + +#define AddPrintProvidor __MINGW_NAME_AW(AddPrintProvidor) +#define DeletePrintProvidor __MINGW_NAME_AW(DeletePrintProvidor) +#define IsValidDevmode __MINGW_NAME_AW(IsValidDevmode) + + WINBOOL WINAPI AddPrintProvidorA(LPSTR pName,DWORD level,LPBYTE pProvidorInfo); + WINBOOL WINAPI AddPrintProvidorW(LPWSTR pName,DWORD level,LPBYTE pProvidorInfo); + WINBOOL WINAPI DeletePrintProvidorA(LPSTR pName,LPSTR pEnvironment,LPSTR pPrintProvidorName); + WINBOOL WINAPI DeletePrintProvidorW(LPWSTR pName,LPWSTR pEnvironment,LPWSTR pPrintProvidorName); + WINBOOL WINAPI IsValidDevmodeA (PDEVMODEA pDevmode,size_t DevmodeSize); + WINBOOL WINAPI IsValidDevmodeW (PDEVMODEW pDevmode,size_t DevmodeSize); + +#define SPLREG_DEFAULT_SPOOL_DIRECTORY TEXT("DefaultSpoolDirectory") +#define SPLREG_PORT_THREAD_PRIORITY_DEFAULT TEXT("PortThreadPriorityDefault") +#define SPLREG_PORT_THREAD_PRIORITY TEXT("PortThreadPriority") +#define SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT TEXT("SchedulerThreadPriorityDefault") +#define SPLREG_SCHEDULER_THREAD_PRIORITY TEXT("SchedulerThreadPriority") +#define SPLREG_BEEP_ENABLED TEXT("BeepEnabled") +#define SPLREG_NET_POPUP TEXT("NetPopup") +#define SPLREG_RETRY_POPUP TEXT("RetryPopup") +#define SPLREG_NET_POPUP_TO_COMPUTER TEXT("NetPopupToComputer") +#define SPLREG_EVENT_LOG TEXT("EventLog") +#define SPLREG_MAJOR_VERSION TEXT("MajorVersion") +#define SPLREG_MINOR_VERSION TEXT("MinorVersion") +#define SPLREG_ARCHITECTURE TEXT("Architecture") +#define SPLREG_OS_VERSION TEXT("OSVersion") +#define SPLREG_OS_VERSIONEX TEXT("OSVersionEx") +#define SPLREG_DS_PRESENT TEXT("DsPresent") +#define SPLREG_DS_PRESENT_FOR_USER TEXT("DsPresentForUser") +#define SPLREG_REMOTE_FAX TEXT("RemoteFax") +#define SPLREG_RESTART_JOB_ON_POOL_ERROR TEXT("RestartJobOnPoolError") +#define SPLREG_RESTART_JOB_ON_POOL_ENABLED TEXT("RestartJobOnPoolEnabled") +#define SPLREG_DNS_MACHINE_NAME TEXT("DNSMachineName") +#define SPLREG_ALLOW_USER_MANAGEFORMS TEXT("AllowUserManageForms") +#define SPLREG_WEBSHAREMGMT TEXT("WebShareMgmt") + +#define SERVER_ACCESS_ADMINISTER 0x00000001 +#define SERVER_ACCESS_ENUMERATE 0x00000002 + +#define PRINTER_ACCESS_ADMINISTER 0x00000004 +#define PRINTER_ACCESS_USE 0x00000008 + +#define JOB_ACCESS_ADMINISTER 0x00000010 +#define JOB_ACCESS_READ 0x00000020 + +#define SERVER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE) +#define SERVER_READ (STANDARD_RIGHTS_READ | SERVER_ACCESS_ENUMERATE) +#define SERVER_WRITE (STANDARD_RIGHTS_WRITE | SERVER_ACCESS_ADMINISTER | SERVER_ACCESS_ENUMERATE) +#define SERVER_EXECUTE (STANDARD_RIGHTS_EXECUTE | SERVER_ACCESS_ENUMERATE) +#define PRINTER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | PRINTER_ACCESS_ADMINISTER | PRINTER_ACCESS_USE) +#define PRINTER_READ (STANDARD_RIGHTS_READ | PRINTER_ACCESS_USE) +#define PRINTER_WRITE (STANDARD_RIGHTS_WRITE | PRINTER_ACCESS_USE) +#define PRINTER_EXECUTE (STANDARD_RIGHTS_EXECUTE | PRINTER_ACCESS_USE) +#define JOB_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | JOB_ACCESS_ADMINISTER | JOB_ACCESS_READ) +#define JOB_READ (STANDARD_RIGHTS_READ | JOB_ACCESS_READ) +#define JOB_WRITE (STANDARD_RIGHTS_WRITE | JOB_ACCESS_ADMINISTER) +#define JOB_EXECUTE (STANDARD_RIGHTS_EXECUTE | JOB_ACCESS_ADMINISTER) + +#define SPLDS_SPOOLER_KEY TEXT("DsSpooler") +#define SPLDS_DRIVER_KEY TEXT("DsDriver") +#define SPLDS_USER_KEY TEXT("DsUser") + +#define SPLDS_ASSET_NUMBER TEXT("assetNumber") +#define SPLDS_BYTES_PER_MINUTE TEXT("bytesPerMinute") +#define SPLDS_DESCRIPTION TEXT("description") +#define SPLDS_DRIVER_NAME TEXT("driverName") +#define SPLDS_DRIVER_VERSION TEXT("driverVersion") +#define SPLDS_LOCATION TEXT("location") +#define SPLDS_PORT_NAME TEXT("portName") +#define SPLDS_PRINT_ATTRIBUTES TEXT("printAttributes") +#define SPLDS_PRINT_BIN_NAMES TEXT("printBinNames") +#define SPLDS_PRINT_COLLATE TEXT("printCollate") +#define SPLDS_PRINT_COLOR TEXT("printColor") +#define SPLDS_PRINT_DUPLEX_SUPPORTED TEXT("printDuplexSupported") +#define SPLDS_PRINT_END_TIME TEXT("printEndTime") +#define SPLDS_PRINTER_CLASS TEXT("printQueue") +#define SPLDS_PRINTER_NAME TEXT("printerName") +#define SPLDS_PRINT_KEEP_PRINTED_JOBS TEXT("printKeepPrintedJobs") +#define SPLDS_PRINT_LANGUAGE TEXT("printLanguage") +#define SPLDS_PRINT_MAC_ADDRESS TEXT("printMACAddress") +#define SPLDS_PRINT_MAX_X_EXTENT TEXT("printMaxXExtent") +#define SPLDS_PRINT_MAX_Y_EXTENT TEXT("printMaxYExtent") +#define SPLDS_PRINT_MAX_RESOLUTION_SUPPORTED TEXT("printMaxResolutionSupported") +#define SPLDS_PRINT_MEDIA_READY TEXT("printMediaReady") +#define SPLDS_PRINT_MEDIA_SUPPORTED TEXT("printMediaSupported") +#define SPLDS_PRINT_MEMORY TEXT("printMemory") +#define SPLDS_PRINT_MIN_X_EXTENT TEXT("printMinXExtent") +#define SPLDS_PRINT_MIN_Y_EXTENT TEXT("printMinYExtent") +#define SPLDS_PRINT_NETWORK_ADDRESS TEXT("printNetworkAddress") +#define SPLDS_PRINT_NOTIFY TEXT("printNotify") +#define SPLDS_PRINT_NUMBER_UP TEXT("printNumberUp") +#define SPLDS_PRINT_ORIENTATIONS_SUPPORTED TEXT("printOrientationsSupported") +#define SPLDS_PRINT_OWNER TEXT("printOwner") +#define SPLDS_PRINT_PAGES_PER_MINUTE TEXT("printPagesPerMinute") +#define SPLDS_PRINT_RATE TEXT("printRate") +#define SPLDS_PRINT_RATE_UNIT TEXT("printRateUnit") +#define SPLDS_PRINT_SEPARATOR_FILE TEXT("printSeparatorFile") +#define SPLDS_PRINT_SHARE_NAME TEXT("printShareName") +#define SPLDS_PRINT_SPOOLING TEXT("printSpooling") +#define SPLDS_PRINT_STAPLING_SUPPORTED TEXT("printStaplingSupported") +#define SPLDS_PRINT_START_TIME TEXT("printStartTime") +#define SPLDS_PRINT_STATUS TEXT("printStatus") +#define SPLDS_PRIORITY TEXT("priority") +#define SPLDS_SERVER_NAME TEXT("serverName") +#define SPLDS_SHORT_SERVER_NAME TEXT("shortServerName") +#define SPLDS_UNC_NAME TEXT("uNCName") +#define SPLDS_URL TEXT("url") +#define SPLDS_FLAGS TEXT("flags") +#define SPLDS_VERSION_NUMBER TEXT("versionNumber") + +#define SPLDS_PRINTER_NAME_ALIASES TEXT("printerNameAliases") +#define SPLDS_PRINTER_LOCATIONS TEXT("printerLocations") +#define SPLDS_PRINTER_MODEL TEXT("printerModel") + +#if (_WIN32_WINNT >= 0x0600) +#define AddPrinterConnection2 __MINGW_NAME_AW(AddPrinterConnection2) +#define DeletePrinterDriverPackage __MINGW_NAME_AW(DeletePrinterDriverPackage) +#define DocumentEvent __MINGW_NAME_AW(DocumentEvent) + +#define PRINTER_CONNECTION_MISMATCH 0x00000020 +#define PRINTER_CONNECTION_NO_UI 0x00000040 + +typedef enum tagPRINTER_OPTION_FLAGS { + PRINTER_OPTION_NO_CACHE, + PRINTER_OPTION_CACHE, + PRINTER_OPTION_CLIENT_CHANGE +} PRINTER_OPTION_FLAGS; + +typedef enum tagEPrintXPSJobOperation { + kJobProduction, + kJobConsumption +} EPrintXPSJobOperation; + +typedef enum tagEPrintXPSJobProgress { + kAddingDocumentSequence, + kDocumentSequenceAdded, + kAddingFixedDocument, + kFixedDocumentAdded, + kAddingFixedPage, + kFixedPageAdded, + kResourceAdded, + kFontAdded, + kImageAdded, + kXpsDocumentCommitted +} EPrintXPSJobProgress; + +typedef struct _PRINTER_CONNECTION_INFO_1 { + DWORD dwFlags; + LPTSTR pszDriverName; +} PRINTER_CONNECTION_INFO_1, *PPRINTER_CONNECTION_INFO_1; + + WINBOOL AddPrinterConnection2W(HWND hWnd,LPCWSTR pszName,DWORD dwLevel,PVOID pConnectionInfo); + WINBOOL AddPrinterConnection2A(HWND hWnd,LPCSTR pszName,DWORD dwLevel,PVOID pConnectionInfo); /*Not supported and returns ERROR_NOT_SUPPORTED.*/ + +HRESULT WINAPI DeletePrinterDriverPackageA( + LPCSTR pszServer, + LPCSTR pszInfPath, + LPCSTR pszEnvironment +); + +HRESULT WINAPI DeletePrinterDriverPackageW( + LPCWSTR pszServer, + LPCWSTR pszInfPath, + LPCWSTR pszEnvironment +); + +HRESULT DocumentEventA( + HANDLE hPrinter, + HDC hdc, + INT iEsc, + ULONG cbIn, + PVOID pvIn, + ULONG cbOut, + PVOID pvOut +); + +HRESULT DocumentEventW( + HANDLE hPrinter, + HDC hdc, + INT iEsc, + ULONG cbIn, + PVOID pvIn, + ULONG cbOut, + PVOID pvOut +); + +typedef struct _DRIVER_INFO_8W { + DWORD cVersion; + LPWSTR pName; + LPWSTR pEnvironment; + LPWSTR pDriverPath; + LPWSTR pDataFile; + LPWSTR pConfigFile; + LPWSTR pHelpFile; + LPWSTR pDependentFiles; + LPWSTR pMonitorName; + LPWSTR pDefaultDataType; + LPWSTR pszzPreviousNames; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + LPWSTR pszMfgName; + LPWSTR pszOEMUrl; + LPWSTR pszHardwareID; + LPWSTR pszProvider; + LPWSTR pszPrintProcessor; + LPWSTR pszVendorSetup; + LPWSTR pszzColorProfiles; + LPWSTR pszInfPath; + DWORD dwPrinterDriverAttributes; + LPWSTR pszzCoreDriverDependencies; + FILETIME ftMinInboxDriverVerDate; + DWORDLONG dwlMinInboxDriverVerVersion; +} DRIVER_INFO_8W, *PDRIVER_INFO_8W, *LPDRIVER_INFO_8W; + +typedef struct _DRIVER_INFO_8A { + DWORD cVersion; + LPSTR pName; + LPSTR pEnvironment; + LPSTR pDriverPath; + LPSTR pDataFile; + LPSTR pConfigFile; + LPSTR pHelpFile; + LPSTR pDependentFiles; + LPSTR pMonitorName; + LPSTR pDefaultDataType; + LPSTR pszzPreviousNames; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + LPSTR pszMfgName; + LPSTR pszOEMUrl; + LPSTR pszHardwareID; + LPSTR pszProvider; + LPSTR pszPrintProcessor; + LPSTR pszVendorSetup; + LPSTR pszzColorProfiles; + LPSTR pszInfPath; + DWORD dwPrinterDriverAttributes; + LPSTR pszzCoreDriverDependencies; + FILETIME ftMinInboxDriverVerDate; + DWORDLONG dwlMinInboxDriverVerVersion; +} DRIVER_INFO_8A, *PDRIVER_INFO_8A, *LPDRIVER_INFO_8A; + +typedef struct _FORM_INFO_2A { + DWORD Flags; + LPSTR pName; + SIZEL Size; + RECTL ImageableArea; + LPCSTR pKeyword; + DWORD StringType; + LPCSTR pMuiDll; + DWORD dwResourceId; + LPCSTR pDisplayName; + LANGID wLangId; +} FORM_INFO_2A, *PFORM_INFO_2A; + +typedef struct _FORM_INFO_2W { + DWORD Flags; + LPWSTR pName; + SIZEL Size; + RECTL ImageableArea; + LPCSTR pKeyword; + DWORD StringType; + LPCWSTR pMuiDll; + DWORD dwResourceId; + LPCWSTR pDisplayName; + LANGID wLangId; +} FORM_INFO_2W, *PFORM_INFO_2W; + +__MINGW_TYPEDEF_AW(DRIVER_INFO_8) +__MINGW_TYPEDEF_AW(PDRIVER_INFO_8) +__MINGW_TYPEDEF_AW(LPDRIVER_INFO_8) +__MINGW_TYPEDEF_AW(FORM_INFO_2) +__MINGW_TYPEDEF_AW(PFORM_INFO_2) + +typedef struct _PRINTPROCESSOR_CAPS_2 { + DWORD dwLevel; + DWORD dwNupOptions; + DWORD dwPageOrderFlags; + DWORD dwNumberOfCopies; + DWORD dwNupDirectionCaps; + DWORD dwNupBorderCaps; + DWORD dwBookletHandlingCaps; + DWORD dwDuplexHandlingCaps; + DWORD dwScalingCaps; +} PRINTPROCESSOR_CAPS_2, *PPRINTPROCESSOR_CAPS_2; + +HRESULT ReportJobProcessingProgress( + HANDLE printerHandle, + ULONG jobId, + EPrintXPSJobOperation jobOperation, + EPrintXPSJobProgress jobProgress +); + +typedef struct _CORE_PRINTER_DRIVERA { + GUID CoreDriverGUID; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + CHAR szPackageID[MAX_PATH]; +} CORE_PRINTER_DRIVERA, *PCORE_PRINTER_DRIVERA; + +typedef struct _CORE_PRINTER_DRIVERW { + GUID CoreDriverGUID; + FILETIME ftDriverDate; + DWORDLONG dwlDriverVersion; + WCHAR szPackageID[MAX_PATH]; +} CORE_PRINTER_DRIVERW, *PCORE_PRINTER_DRIVERW; + +typedef struct _PRINTER_OPTIONS { + UINT cbSize; + DWORD dwFlags; +} PRINTER_OPTIONS, *PPRINTER_OPTIONS; + +__MINGW_TYPEDEF_AW(CORE_PRINTER_DRIVER) +__MINGW_TYPEDEF_AW(PCORE_PRINTER_DRIVER) +#define GetCorePrinterDrivers __MINGW_NAME_AW(GetCorePrinterDrivers) +#define GetPrinterDriver2 __MINGW_NAME_AW(GetPrinterDriver2) +#define GetPrinterDriverPackagePath __MINGW_NAME_AW(GetPrinterDriverPackagePath) +#define GetSpoolFileHandle __MINGW_NAME_AW(GetSpoolFileHandle) + +HRESULT WINAPI GetCorePrinterDriversA( + LPCSTR pszServer, + LPCSTR pszEnvironment, + LPCSTR pszzCoreDriverDependencies, + DWORD cCorePrinterDrivers, + PCORE_PRINTER_DRIVERA pCorePrinterDrivers +); + +HRESULT WINAPI GetCorePrinterDriversW( + LPCWSTR pszServer, + LPCWSTR pszEnvironment, + LPCWSTR pszzCoreDriverDependencies, + DWORD cCorePrinterDrivers, + PCORE_PRINTER_DRIVERW pCorePrinterDrivers +); + +/*Unsupported*/ +WINBOOL WINAPI GetPrinterDriver2A( + HWND hWnd, + HANDLE hPrinter, + LPSTR pEnvironment, + DWORD Level, + LPBYTE pDriverInfo, + DWORD cbBuf, + LPDWORD pcbNeeded +); + +WINBOOL WINAPI GetPrinterDriver2W( + HWND hWnd, + HANDLE hPrinter, + LPWSTR pEnvironment, + DWORD Level, + LPBYTE pDriverInfo, + DWORD cbBuf, + LPDWORD pcbNeeded +); + +HRESULT WINAPI GetPrinterDriverPackagePathA( + LPCSTR pszServer, + LPCSTR pszEnvironment, + LPCSTR pszLanguage, + LPCSTR pszPackageID, + LPSTR pszDriverPackageCab, + DWORD cchDriverPackageCab, + LPDWORD pcchRequiredSize +); + +HRESULT WINAPI GetPrinterDriverPackagePathW( + LPCWSTR pszServer, + LPCWSTR pszEnvironment, + LPCWSTR pszLanguage, + LPCWSTR pszPackageID, + LPWSTR pszDriverPackageCab, + DWORD cchDriverPackageCab, + LPDWORD pcchRequiredSize +); + +HANDLE WINAPI GetSpoolFileHandleA( + HANDLE hPrinter +); + +HANDLE WINAPI GetSpoolFileHandleW( + HANDLE hPrinter +); + +HANDLE WINAPI CommitSpoolData( + HANDLE hPrinter, + HANDLE hSpoolFile, + DWORD cbCommit +); + +WINBOOL WINAPI CloseSpoolFileHandle( + HANDLE hPrinter, + HANDLE hSpoolFile +); + +WINBOOL WINAPI OpenPrinter2A( + LPCSTR pPrinterName, + LPHANDLE phPrinter, + LPPRINTER_DEFAULTS pDefault, + PPRINTER_OPTIONS pOptions +); + +WINBOOL WINAPI OpenPrinter2W( + LPCWSTR pPrinterName, + LPHANDLE phPrinter, + LPPRINTER_DEFAULTS pDefault, + PPRINTER_OPTIONS pOptions +); + +#define OpenPrinter2 __MINGW_NAME_AW(OpenPrinter2) + +HRESULT WINAPI UploadPrinterDriverPackageA( + LPCSTR pszServer, + LPCSTR pszInfPath, + LPCSTR pszEnvironment, + DWORD dwFlags, + HWND hwnd, + LPSTR pszDestInfPath, + PULONG pcchDestInfPath +); + +HRESULT WINAPI UploadPrinterDriverPackageW( + LPCWSTR pszServer, + LPCWSTR pszInfPath, + LPCWSTR pszEnvironment, + DWORD dwFlags, + HWND hwnd, + LPWSTR pszDestInfPath, + PULONG pcchDestInfPath +); + +#define UploadPrinterDriverPackage __MINGW_NAME_AW(UploadPrinterDriverPackage) + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winstring.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winstring.h new file mode 100644 index 00000000..d3febc47 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winstring.h @@ -0,0 +1,82 @@ +/** + * 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 __WINSTRING_H__ +#define __WINSTRING_H__ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void __RPC_USER HSTRING_UserFree(unsigned long *pFlags, HSTRING *ppidl); + +unsigned char* __RPC_USER HSTRING_UserMarshal(unsigned long *pFlags, unsigned char *pBuffer, HSTRING *ppidl); + +unsigned long __RPC_USER HSTRING_UserSize(unsigned long *pFlags, unsigned long StartingSize, HSTRING *ppidl); + +unsigned char* __RPC_USER HSTRING_UserUnmarshal(unsigned long *pFlags, unsigned char *pBuffer, HSTRING *ppidl); + +#ifdef _WIN64 +void __RPC_USER HSTRING_UserFree64(unsigned long *pFlags, HSTRING *ppidl); + +unsigned char* __RPC_USER HSTRING_UserMarshal64(unsigned long *pFlags, unsigned char *pBuffer, HSTRING *ppidl); + +unsigned long __RPC_USER HSTRING_UserSize64(unsigned long *pFlags, unsigned long StartingSize, HSTRING *ppidl); + +unsigned char* __RPC_USER HSTRING_UserUnmarshal64(unsigned long *pFlags, unsigned char *pBuffer, HSTRING *ppidl); +#endif + +HRESULT WINAPI WindowsCompareStringOrdinal(HSTRING string1, HSTRING string2, INT32 *result); + +HRESULT WINAPI WindowsConcatString(HSTRING string1, HSTRING string2, HSTRING *newString); + +HRESULT WINAPI WindowsCreateString(LPCWSTR sourceString, UINT32 length, HSTRING *string); + +HRESULT WINAPI WindowsCreateStringReference(PCWSTR sourceString, UINT32 length, HSTRING_HEADER *hstringHeader, HSTRING *string); + +HRESULT WINAPI WindowsDeleteString(HSTRING string); + +HRESULT WindowsDeleteStringBuffer(HSTRING_BUFFER bufferHandle); + +HRESULT WINAPI WindowsDuplicateString(HSTRING string, HSTRING *newString); + +UINT32 WINAPI WindowsGetStringLen(HSTRING string); + +PCWSTR WINAPI WindowsGetStringRawBuffer(HSTRING string, UINT32 *length); + +typedef HRESULT (WINAPI *PINSPECT_HSTRING_CALLBACK)(void *context, UINT_PTR readAddress, UINT32 length, BYTE *buffer); + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +HRESULT WINAPI WindowsInspectString(UINT_PTR targetHString, USHORT machine, PINSPECT_HSTRING_CALLBACK callback, void *context, UINT32 *length, UINT_PTR *targetStringAddress); +#endif + +BOOL WINAPI WindowsIsStringEmpty(HSTRING string); + +HRESULT WindowsPreallocateStringBuffer(UINT32 length, WCHAR **mutableBuffer, HSTRING_BUFFER *bufferHandle); + +HRESULT WindowsPromoteStringBuffer(HSTRING_BUFFER bufferHandle, HSTRING *string); + +HRESULT WINAPI WindowsReplaceString(HSTRING string, HSTRING stringReplaced, HSTRING stringReplaceWith, HSTRING *newString); + +HRESULT WINAPI WindowsStringHasEmbeddedNull(HSTRING string, BOOL *hasEmbedNull); + +HRESULT WINAPI WindowsSubstring(HSTRING string, UINT32 startIndex, HSTRING *newString); + +HRESULT WINAPI WindowsSubstringWithSpecifiedLength(HSTRING string, UINT32 startIndex, UINT32 length, HSTRING *newString); + +HRESULT WINAPI WindowsTrimStringEnd(HSTRING string, HSTRING trimString, HSTRING *newString); + +HRESULT WINAPI WindowsTrimStringStart(HSTRING string, HSTRING trimString, HSTRING *newString); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsvc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsvc.h new file mode 100644 index 00000000..aa7ba1ac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsvc.h @@ -0,0 +1,590 @@ +/** + * 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 _WINSVC_ +#define _WINSVC_ + +#include <_mingw.h> +#include <_mingw_unicode.h> +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define SERVICES_ACTIVE_DATABASEW L"ServicesActive" +#define SERVICES_FAILED_DATABASEW L"ServicesFailed" + +#define SERVICES_ACTIVE_DATABASEA "ServicesActive" +#define SERVICES_FAILED_DATABASEA "ServicesFailed" + +#define SC_GROUP_IDENTIFIERW L'+' +#define SC_GROUP_IDENTIFIERA '+' + +#define SERVICES_ACTIVE_DATABASE __MINGW_NAME_AW(SERVICES_ACTIVE_DATABASE) +#define SERVICES_FAILED_DATABASE __MINGW_NAME_AW(SERVICES_FAILED_DATABASE) + +#define SC_GROUP_IDENTIFIER __MINGW_NAME_AW(SC_GROUP_IDENTIFIER) + +#define SERVICE_NO_CHANGE 0xffffffff + +#define SERVICE_ACTIVE 0x00000001 +#define SERVICE_INACTIVE 0x00000002 +#define SERVICE_STATE_ALL (SERVICE_ACTIVE | SERVICE_INACTIVE) + +#define SERVICE_CONTROL_STOP 0x00000001 +#define SERVICE_CONTROL_PAUSE 0x00000002 +#define SERVICE_CONTROL_CONTINUE 0x00000003 +#define SERVICE_CONTROL_INTERROGATE 0x00000004 +#define SERVICE_CONTROL_SHUTDOWN 0x00000005 +#define SERVICE_CONTROL_PARAMCHANGE 0x00000006 +#define SERVICE_CONTROL_NETBINDADD 0x00000007 +#define SERVICE_CONTROL_NETBINDREMOVE 0x00000008 +#define SERVICE_CONTROL_NETBINDENABLE 0x00000009 +#define SERVICE_CONTROL_NETBINDDISABLE 0x0000000A +#define SERVICE_CONTROL_DEVICEEVENT 0x0000000B +#define SERVICE_CONTROL_HARDWAREPROFILECHANGE 0x0000000C +#define SERVICE_CONTROL_POWEREVENT 0x0000000D +#define SERVICE_CONTROL_SESSIONCHANGE 0x0000000E +#define SERVICE_CONTROL_PRESHUTDOWN 0x0000000F +#define SERVICE_CONTROL_TIMECHANGE 0x00000010 +#define SERVICE_CONTROL_USER_LOGOFF 0x00000011 +#define SERVICE_CONTROL_TRIGGEREVENT 0x00000020 +#define SERVICE_CONTROL_LOWRESOURCES 0x00000060 +#define SERVICE_CONTROL_SYSTEMLOWRESOURCES 0x00000061 + +#define SERVICE_STOPPED 0x00000001 +#define SERVICE_START_PENDING 0x00000002 +#define SERVICE_STOP_PENDING 0x00000003 +#define SERVICE_RUNNING 0x00000004 +#define SERVICE_CONTINUE_PENDING 0x00000005 +#define SERVICE_PAUSE_PENDING 0x00000006 +#define SERVICE_PAUSED 0x00000007 + +#define SERVICE_ACCEPT_STOP 0x00000001 +#define SERVICE_ACCEPT_PAUSE_CONTINUE 0x00000002 +#define SERVICE_ACCEPT_SHUTDOWN 0x00000004 +#define SERVICE_ACCEPT_PARAMCHANGE 0x00000008 +#define SERVICE_ACCEPT_NETBINDCHANGE 0x00000010 +#define SERVICE_ACCEPT_HARDWAREPROFILECHANGE 0x00000020 +#define SERVICE_ACCEPT_POWEREVENT 0x00000040 +#define SERVICE_ACCEPT_SESSIONCHANGE 0x00000080 +#define SERVICE_ACCEPT_PRESHUTDOWN 0x00000100 +#define SERVICE_ACCEPT_TIMECHANGE 0x00000200 +#define SERVICE_ACCEPT_TRIGGEREVENT 0x00000400 +#define SERVICE_ACCEPT_USER_LOGOFF 0x00000800 +#define SERVICE_ACCEPT_LOWRESOURCES 0x00002000 +#define SERVICE_ACCEPT_SYSTEMLOWRESOURCES 0x00004000 + +#define SC_MANAGER_CONNECT 0x0001 +#define SC_MANAGER_CREATE_SERVICE 0x0002 +#define SC_MANAGER_ENUMERATE_SERVICE 0x0004 +#define SC_MANAGER_LOCK 0x0008 +#define SC_MANAGER_QUERY_LOCK_STATUS 0x0010 +#define SC_MANAGER_MODIFY_BOOT_CONFIG 0x0020 + +#define SC_MANAGER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SC_MANAGER_CONNECT | SC_MANAGER_CREATE_SERVICE | SC_MANAGER_ENUMERATE_SERVICE | SC_MANAGER_LOCK | SC_MANAGER_QUERY_LOCK_STATUS | SC_MANAGER_MODIFY_BOOT_CONFIG) + +#define SERVICE_QUERY_CONFIG 0x0001 +#define SERVICE_CHANGE_CONFIG 0x0002 +#define SERVICE_QUERY_STATUS 0x0004 +#define SERVICE_ENUMERATE_DEPENDENTS 0x0008 +#define SERVICE_START 0x0010 +#define SERVICE_STOP 0x0020 +#define SERVICE_PAUSE_CONTINUE 0x0040 +#define SERVICE_INTERROGATE 0x0080 +#define SERVICE_USER_DEFINED_CONTROL 0x0100 + +#define SERVICE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SERVICE_QUERY_CONFIG | SERVICE_CHANGE_CONFIG | SERVICE_QUERY_STATUS | SERVICE_ENUMERATE_DEPENDENTS | SERVICE_START | SERVICE_STOP | SERVICE_PAUSE_CONTINUE | SERVICE_INTERROGATE | SERVICE_USER_DEFINED_CONTROL) + +#define SERVICE_RUNS_IN_SYSTEM_PROCESS 0x00000001 + +#define SERVICE_CONFIG_DESCRIPTION 1 +#define SERVICE_CONFIG_FAILURE_ACTIONS 2 +#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3 +#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4 +#define SERVICE_CONFIG_SERVICE_SID_INFO 5 +#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6 +#define SERVICE_CONFIG_PRESHUTDOWN_INFO 7 +#define SERVICE_CONFIG_TRIGGER_INFO 8 +#define SERVICE_CONFIG_PREFERRED_NODE 9 +#define SERVICE_CONFIG_LAUNCH_PROTECTED 12 + +#define SERVICE_NOTIFY_STATUS_CHANGE_1 1 +#define SERVICE_NOTIFY_STATUS_CHANGE_2 2 + +#define SERVICE_NOTIFY_STATUS_CHANGE SERVICE_NOTIFY_STATUS_CHANGE_2 + +#define SERVICE_NOTIFY_STOPPED 0x00000001 +#define SERVICE_NOTIFY_START_PENDING 0x00000002 +#define SERVICE_NOTIFY_STOP_PENDING 0x00000004 +#define SERVICE_NOTIFY_RUNNING 0x00000008 +#define SERVICE_NOTIFY_CONTINUE_PENDING 0x00000010 +#define SERVICE_NOTIFY_PAUSE_PENDING 0x00000020 +#define SERVICE_NOTIFY_PAUSED 0x00000040 +#define SERVICE_NOTIFY_CREATED 0x00000080 +#define SERVICE_NOTIFY_DELETED 0x00000100 +#define SERVICE_NOTIFY_DELETE_PENDING 0x00000200 + +#define SERVICE_STOP_REASON_FLAG_MIN 0x00000000 +#define SERVICE_STOP_REASON_FLAG_UNPLANNED 0x10000000 +#define SERVICE_STOP_REASON_FLAG_CUSTOM 0x20000000 +#define SERVICE_STOP_REASON_FLAG_PLANNED 0x40000000 +#define SERVICE_STOP_REASON_FLAG_MAX 0x80000000 + +#define SERVICE_STOP_REASON_MAJOR_MIN 0x00000000 +#define SERVICE_STOP_REASON_MAJOR_OTHER 0x00010000 +#define SERVICE_STOP_REASON_MAJOR_HARDWARE 0x00020000 +#define SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM 0x00030000 +#define SERVICE_STOP_REASON_MAJOR_SOFTWARE 0x00040000 +#define SERVICE_STOP_REASON_MAJOR_APPLICATION 0x00050000 +#define SERVICE_STOP_REASON_MAJOR_NONE 0x00060000 +#define SERVICE_STOP_REASON_MAJOR_MAX 0x00070000 +#define SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM 0x00400000 +#define SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM 0x00ff0000 + +#define SERVICE_STOP_REASON_MINOR_MIN 0x00000000 +#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001 +#define SERVICE_STOP_REASON_MINOR_MAINTENANCE 0x00000002 +#define SERVICE_STOP_REASON_MINOR_INSTALLATION 0x00000003 +#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004 +#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005 +#define SERVICE_STOP_REASON_MINOR_HUNG 0x00000006 +#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007 +#define SERVICE_STOP_REASON_MINOR_DISK 0x00000008 +#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009 +#define SERVICE_STOP_REASON_MINOR_ENVIRONMENT 0x0000000a +#define SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER 0x0000000b +#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c +#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d +#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e +#define SERVICE_STOP_REASON_MINOR_SECURITYFIX 0x0000000f +#define SERVICE_STOP_REASON_MINOR_SECURITY 0x00000010 +#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011 +#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012 +#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013 +#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE_UNINSTALL 0x00000014 +#define SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000015 +#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016 +#define SERVICE_STOP_REASON_MINOR_NONE 0x00000017 +#define SERVICE_STOP_REASON_MINOR_MEMOTYLIMIT 0x00000018 +#define SERVICE_STOP_REASON_MINOR_MAX 0x00000019 +#define SERVICE_STOP_REASON_MINOR_MIN_CUSTOM 0x00000100 +#define SERVICE_STOP_REASON_MINOR_MAX_CUSTOM 0x0000FFFF + +#define SERVICE_CONTROL_STATUS_REASON_INFO 1 + +#define SERVICE_TRIGGER_TYPE_DEVICE_INTERFACE_ARRIVAL 1 +#define SERVICE_TRIGGER_TYPE_IP_ADDRESS_AVAILABILITY 2 +#define SERVICE_TRIGGER_TYPE_DOMAIN_JOIN 3 +#define SERVICE_TRIGGER_TYPE_FIREWALL_PORT_EVENT 4 +#define SERVICE_TRIGGER_TYPE_GROUP_POLICY 5 +#define SERVICE_TRIGGER_TYPE_NETWORK_ENDPOINT 6 +#define SERVICE_TRIGGER_TYPE_CUSTOM_SYSTEM_STATE_CHANGE 7 +#define SERVICE_TRIGGER_TYPE_CUSTOM 20 +#define SERVICE_TRIGGER_TYPE_AGGREGATE 30 + +#define SERVICE_TRIGGER_DATA_TYPE_BINARY 1 +#define SERVICE_TRIGGER_DATA_TYPE_STRING 2 +#define SERVICE_TRIGGER_DATA_TYPE_LEVEL 3 +#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ANY 4 +#define SERVICE_TRIGGER_DATA_TYPE_KEYWORD_ALL 5 + +#define SERVICE_START_REASON_DEMAND 0x00000001 +#define SERVICE_START_REASON_AUTO 0x00000002 +#define SERVICE_START_REASON_TRIGGER 0x00000004 +#define SERVICE_START_REASON_RESTART_ON_FAILURE 0x00000008 +#define SERVICE_START_REASON_DELAYEDAUTO 0x00000010 + +#define SERVICE_DYNAMIC_INFORMATION_LEVEL_START_REASON 1 + +#define SERVICE_LAUNCH_PROTECTED_NONE 0 +#define SERVICE_LAUNCH_PROTECTED_WINDOWS 1 +#define SERVICE_LAUNCH_PROTECTED_WINDOWS_LIGHT 2 +#define SERVICE_LAUNCH_PROTECTED_ANTIMALWARE_LIGHT 3 + + typedef struct _SERVICE_DESCRIPTIONA { + LPSTR lpDescription; + } SERVICE_DESCRIPTIONA,*LPSERVICE_DESCRIPTIONA; + + typedef struct _SERVICE_DESCRIPTIONW { + LPWSTR lpDescription; + } SERVICE_DESCRIPTIONW,*LPSERVICE_DESCRIPTIONW; + + __MINGW_TYPEDEF_AW(SERVICE_DESCRIPTION) + __MINGW_TYPEDEF_AW(LPSERVICE_DESCRIPTION) + + typedef enum _SC_ACTION_TYPE { + SC_ACTION_NONE = 0,SC_ACTION_RESTART = 1,SC_ACTION_REBOOT = 2,SC_ACTION_RUN_COMMAND = 3 + } SC_ACTION_TYPE; + + typedef struct _SC_ACTION { + SC_ACTION_TYPE Type; + DWORD Delay; + } SC_ACTION,*LPSC_ACTION; + + typedef struct _SERVICE_FAILURE_ACTIONSA { + DWORD dwResetPeriod; + LPSTR lpRebootMsg; + LPSTR lpCommand; + DWORD cActions; + SC_ACTION *lpsaActions; + } SERVICE_FAILURE_ACTIONSA,*LPSERVICE_FAILURE_ACTIONSA; + + typedef struct _SERVICE_FAILURE_ACTIONSW { + DWORD dwResetPeriod; + LPWSTR lpRebootMsg; + LPWSTR lpCommand; + DWORD cActions; + SC_ACTION *lpsaActions; + } SERVICE_FAILURE_ACTIONSW,*LPSERVICE_FAILURE_ACTIONSW; + + __MINGW_TYPEDEF_AW(SERVICE_FAILURE_ACTIONS) + __MINGW_TYPEDEF_AW(LPSERVICE_FAILURE_ACTIONS) + + DECLARE_HANDLE(SC_HANDLE); + typedef SC_HANDLE *LPSC_HANDLE; + + DECLARE_HANDLE(SERVICE_STATUS_HANDLE); + + typedef enum _SC_STATUS_TYPE { + SC_STATUS_PROCESS_INFO = 0 + } SC_STATUS_TYPE; + + typedef enum _SC_ENUM_TYPE { + SC_ENUM_PROCESS_INFO = 0 + } SC_ENUM_TYPE; + + typedef struct _SERVICE_STATUS { + DWORD dwServiceType; + DWORD dwCurrentState; + DWORD dwControlsAccepted; + DWORD dwWin32ExitCode; + DWORD dwServiceSpecificExitCode; + DWORD dwCheckPoint; + DWORD dwWaitHint; + } SERVICE_STATUS,*LPSERVICE_STATUS; + + typedef struct _SERVICE_STATUS_PROCESS { + DWORD dwServiceType; + DWORD dwCurrentState; + DWORD dwControlsAccepted; + DWORD dwWin32ExitCode; + DWORD dwServiceSpecificExitCode; + DWORD dwCheckPoint; + DWORD dwWaitHint; + DWORD dwProcessId; + DWORD dwServiceFlags; + } SERVICE_STATUS_PROCESS,*LPSERVICE_STATUS_PROCESS; + + typedef struct _ENUM_SERVICE_STATUSA { + LPSTR lpServiceName; + LPSTR lpDisplayName; + SERVICE_STATUS ServiceStatus; + } ENUM_SERVICE_STATUSA,*LPENUM_SERVICE_STATUSA; + + typedef struct _ENUM_SERVICE_STATUSW { + LPWSTR lpServiceName; + LPWSTR lpDisplayName; + SERVICE_STATUS ServiceStatus; + } ENUM_SERVICE_STATUSW,*LPENUM_SERVICE_STATUSW; + + __MINGW_TYPEDEF_AW(ENUM_SERVICE_STATUS) + __MINGW_TYPEDEF_AW(LPENUM_SERVICE_STATUS) + + typedef struct _ENUM_SERVICE_STATUS_PROCESSA { + LPSTR lpServiceName; + LPSTR lpDisplayName; + SERVICE_STATUS_PROCESS ServiceStatusProcess; + } ENUM_SERVICE_STATUS_PROCESSA,*LPENUM_SERVICE_STATUS_PROCESSA; + + typedef struct _ENUM_SERVICE_STATUS_PROCESSW { + LPWSTR lpServiceName; + LPWSTR lpDisplayName; + SERVICE_STATUS_PROCESS ServiceStatusProcess; + } ENUM_SERVICE_STATUS_PROCESSW,*LPENUM_SERVICE_STATUS_PROCESSW; + + __MINGW_TYPEDEF_AW(ENUM_SERVICE_STATUS_PROCESS) + __MINGW_TYPEDEF_AW(LPENUM_SERVICE_STATUS_PROCESS) + + typedef LPVOID SC_LOCK; + + typedef struct _QUERY_SERVICE_LOCK_STATUSA { + DWORD fIsLocked; + LPSTR lpLockOwner; + DWORD dwLockDuration; + } QUERY_SERVICE_LOCK_STATUSA,*LPQUERY_SERVICE_LOCK_STATUSA; + + typedef struct _QUERY_SERVICE_LOCK_STATUSW { + DWORD fIsLocked; + LPWSTR lpLockOwner; + DWORD dwLockDuration; + } QUERY_SERVICE_LOCK_STATUSW,*LPQUERY_SERVICE_LOCK_STATUSW; + + __MINGW_TYPEDEF_AW(QUERY_SERVICE_LOCK_STATUS) + __MINGW_TYPEDEF_AW(LPQUERY_SERVICE_LOCK_STATUS) + + typedef struct _QUERY_SERVICE_CONFIGA { + DWORD dwServiceType; + DWORD dwStartType; + DWORD dwErrorControl; + LPSTR lpBinaryPathName; + LPSTR lpLoadOrderGroup; + DWORD dwTagId; + LPSTR lpDependencies; + LPSTR lpServiceStartName; + LPSTR lpDisplayName; + } QUERY_SERVICE_CONFIGA,*LPQUERY_SERVICE_CONFIGA; + + typedef struct _QUERY_SERVICE_CONFIGW { + DWORD dwServiceType; + DWORD dwStartType; + DWORD dwErrorControl; + LPWSTR lpBinaryPathName; + LPWSTR lpLoadOrderGroup; + DWORD dwTagId; + LPWSTR lpDependencies; + LPWSTR lpServiceStartName; + LPWSTR lpDisplayName; + } QUERY_SERVICE_CONFIGW,*LPQUERY_SERVICE_CONFIGW; + + __MINGW_TYPEDEF_AW(QUERY_SERVICE_CONFIG) + __MINGW_TYPEDEF_AW(LPQUERY_SERVICE_CONFIG) + + typedef VOID (WINAPI *LPSERVICE_MAIN_FUNCTIONW)(DWORD dwNumServicesArgs,LPWSTR *lpServiceArgVectors); + typedef VOID (WINAPI *LPSERVICE_MAIN_FUNCTIONA)(DWORD dwNumServicesArgs,LPSTR *lpServiceArgVectors); + +#define LPSERVICE_MAIN_FUNCTION __MINGW_NAME_AW(LPSERVICE_MAIN_FUNCTION) + + typedef struct _SERVICE_TABLE_ENTRYA { + LPSTR lpServiceName; + LPSERVICE_MAIN_FUNCTIONA lpServiceProc; + } SERVICE_TABLE_ENTRYA,*LPSERVICE_TABLE_ENTRYA; + + typedef struct _SERVICE_TABLE_ENTRYW { + LPWSTR lpServiceName; + LPSERVICE_MAIN_FUNCTIONW lpServiceProc; + } SERVICE_TABLE_ENTRYW,*LPSERVICE_TABLE_ENTRYW; + + __MINGW_TYPEDEF_AW(SERVICE_TABLE_ENTRY) + __MINGW_TYPEDEF_AW(LPSERVICE_TABLE_ENTRY) + + typedef VOID (WINAPI *LPHANDLER_FUNCTION)(DWORD dwControl); + typedef DWORD (WINAPI *LPHANDLER_FUNCTION_EX)(DWORD dwControl,DWORD dwEventType,LPVOID lpEventData,LPVOID lpContext); + +#define ChangeServiceConfig __MINGW_NAME_AW(ChangeServiceConfig) +#define ChangeServiceConfig2 __MINGW_NAME_AW(ChangeServiceConfig2) +#define CreateService __MINGW_NAME_AW(CreateService) +#define EnumDependentServices __MINGW_NAME_AW(EnumDependentServices) +#define EnumServicesStatus __MINGW_NAME_AW(EnumServicesStatus) +#define EnumServicesStatusEx __MINGW_NAME_AW(EnumServicesStatusEx) +#define GetServiceKeyName __MINGW_NAME_AW(GetServiceKeyName) +#define GetServiceDisplayName __MINGW_NAME_AW(GetServiceDisplayName) +#define OpenSCManager __MINGW_NAME_AW(OpenSCManager) +#define OpenService __MINGW_NAME_AW(OpenService) +#define QueryServiceConfig __MINGW_NAME_AW(QueryServiceConfig) +#define QueryServiceConfig2 __MINGW_NAME_AW(QueryServiceConfig2) +#define QueryServiceLockStatus __MINGW_NAME_AW(QueryServiceLockStatus) +#define RegisterServiceCtrlHandler __MINGW_NAME_AW(RegisterServiceCtrlHandler) +#define RegisterServiceCtrlHandlerEx __MINGW_NAME_AW(RegisterServiceCtrlHandlerEx) +#define StartServiceCtrlDispatcher __MINGW_NAME_AW(StartServiceCtrlDispatcher) +#define StartService __MINGW_NAME_AW(StartService) + + WINADVAPI WINBOOL WINAPI ChangeServiceConfigA(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword,LPCSTR lpDisplayName); + WINADVAPI WINBOOL WINAPI ChangeServiceConfigW(SC_HANDLE hService,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword,LPCWSTR lpDisplayName); + WINADVAPI WINBOOL WINAPI ChangeServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo); + WINADVAPI WINBOOL WINAPI ChangeServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPVOID lpInfo); + WINADVAPI WINBOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject); + WINADVAPI WINBOOL WINAPI ControlService(SC_HANDLE hService,DWORD dwControl,LPSERVICE_STATUS lpServiceStatus); + WINADVAPI SC_HANDLE WINAPI CreateServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPCSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCSTR lpBinaryPathName,LPCSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCSTR lpDependencies,LPCSTR lpServiceStartName,LPCSTR lpPassword); + WINADVAPI SC_HANDLE WINAPI CreateServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPCWSTR lpDisplayName,DWORD dwDesiredAccess,DWORD dwServiceType,DWORD dwStartType,DWORD dwErrorControl,LPCWSTR lpBinaryPathName,LPCWSTR lpLoadOrderGroup,LPDWORD lpdwTagId,LPCWSTR lpDependencies,LPCWSTR lpServiceStartName,LPCWSTR lpPassword); + WINADVAPI WINBOOL WINAPI DeleteService(SC_HANDLE hService); + WINADVAPI WINBOOL WINAPI EnumDependentServicesA(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned); + WINADVAPI WINBOOL WINAPI EnumDependentServicesW(SC_HANDLE hService,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned); + WINADVAPI WINBOOL WINAPI EnumServicesStatusA(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSA lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle); + WINADVAPI WINBOOL WINAPI EnumServicesStatusW(SC_HANDLE hSCManager,DWORD dwServiceType,DWORD dwServiceState,LPENUM_SERVICE_STATUSW lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle); + WINADVAPI WINBOOL WINAPI EnumServicesStatusExA(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCSTR pszGroupName); + WINADVAPI WINBOOL WINAPI EnumServicesStatusExW(SC_HANDLE hSCManager,SC_ENUM_TYPE InfoLevel,DWORD dwServiceType,DWORD dwServiceState,LPBYTE lpServices,DWORD cbBufSize,LPDWORD pcbBytesNeeded,LPDWORD lpServicesReturned,LPDWORD lpResumeHandle,LPCWSTR pszGroupName); + WINADVAPI WINBOOL WINAPI GetServiceKeyNameA(SC_HANDLE hSCManager,LPCSTR lpDisplayName,LPSTR lpServiceName,LPDWORD lpcchBuffer); + WINADVAPI WINBOOL WINAPI GetServiceKeyNameW(SC_HANDLE hSCManager,LPCWSTR lpDisplayName,LPWSTR lpServiceName,LPDWORD lpcchBuffer); + WINADVAPI WINBOOL WINAPI GetServiceDisplayNameA(SC_HANDLE hSCManager,LPCSTR lpServiceName,LPSTR lpDisplayName,LPDWORD lpcchBuffer); + WINADVAPI WINBOOL WINAPI GetServiceDisplayNameW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,LPWSTR lpDisplayName,LPDWORD lpcchBuffer); + WINADVAPI SC_LOCK WINAPI LockServiceDatabase(SC_HANDLE hSCManager); + WINADVAPI WINBOOL WINAPI NotifyBootConfigStatus(WINBOOL BootAcceptable); + WINADVAPI SC_HANDLE WINAPI OpenSCManagerA(LPCSTR lpMachineName,LPCSTR lpDatabaseName,DWORD dwDesiredAccess); + WINADVAPI SC_HANDLE WINAPI OpenSCManagerW(LPCWSTR lpMachineName,LPCWSTR lpDatabaseName,DWORD dwDesiredAccess); + WINADVAPI SC_HANDLE WINAPI OpenServiceA(SC_HANDLE hSCManager,LPCSTR lpServiceName,DWORD dwDesiredAccess); + WINADVAPI SC_HANDLE WINAPI OpenServiceW(SC_HANDLE hSCManager,LPCWSTR lpServiceName,DWORD dwDesiredAccess); + WINADVAPI WINBOOL WINAPI QueryServiceConfigA(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGA lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceConfigW(SC_HANDLE hService,LPQUERY_SERVICE_CONFIGW lpServiceConfig,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceConfig2A(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceConfig2W(SC_HANDLE hService,DWORD dwInfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceLockStatusA(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceLockStatusW(SC_HANDLE hSCManager,LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI WINBOOL WINAPI QueryServiceStatus(SC_HANDLE hService,LPSERVICE_STATUS lpServiceStatus); + WINADVAPI WINBOOL WINAPI QueryServiceStatusEx(SC_HANDLE hService,SC_STATUS_TYPE InfoLevel,LPBYTE lpBuffer,DWORD cbBufSize,LPDWORD pcbBytesNeeded); + WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerA(LPCSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc); + WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION lpHandlerProc); + WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExA(LPCSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext); + WINADVAPI SERVICE_STATUS_HANDLE WINAPI RegisterServiceCtrlHandlerExW(LPCWSTR lpServiceName,LPHANDLER_FUNCTION_EX lpHandlerProc,LPVOID lpContext); + WINADVAPI WINBOOL WINAPI SetServiceObjectSecurity(SC_HANDLE hService,SECURITY_INFORMATION dwSecurityInformation,PSECURITY_DESCRIPTOR lpSecurityDescriptor); + WINADVAPI WINBOOL WINAPI SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus,LPSERVICE_STATUS lpServiceStatus); + WINADVAPI WINBOOL WINAPI StartServiceCtrlDispatcherA(CONST SERVICE_TABLE_ENTRYA *lpServiceStartTable); + WINADVAPI WINBOOL WINAPI StartServiceCtrlDispatcherW(CONST SERVICE_TABLE_ENTRYW *lpServiceStartTable); + WINADVAPI WINBOOL WINAPI StartServiceA(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCSTR *lpServiceArgVectors); + WINADVAPI WINBOOL WINAPI StartServiceW(SC_HANDLE hService,DWORD dwNumServiceArgs,LPCWSTR *lpServiceArgVectors); + WINADVAPI WINBOOL WINAPI UnlockServiceDatabase(SC_LOCK ScLock); + +#if (_WIN32_WINNT >= 0x0600) + +typedef VOID( CALLBACK * PFN_SC_NOTIFY_CALLBACK ) ( + PVOID pParameter +); + +typedef struct _SERVICE_CONTROL_STATUS_REASON_PARAMSA { + DWORD dwReason; + LPSTR pszComment; + SERVICE_STATUS_PROCESS ServiceStatus; +} SERVICE_CONTROL_STATUS_REASON_PARAMSA, *PSERVICE_CONTROL_STATUS_REASON_PARAMSA; + +typedef struct _SERVICE_CONTROL_STATUS_REASON_PARAMSW { + DWORD dwReason; + LPWSTR pszComment; + SERVICE_STATUS_PROCESS ServiceStatus; +} SERVICE_CONTROL_STATUS_REASON_PARAMSW, *PSERVICE_CONTROL_STATUS_REASON_PARAMSW; + +__MINGW_TYPEDEF_AW(SERVICE_CONTROL_STATUS_REASON_PARAMS) +__MINGW_TYPEDEF_AW(PSERVICE_CONTROL_STATUS_REASON_PARAMS) + +#define SERVICE_STOP_REASON_FLAG_CUSTOM 0x20000000 +#define SERVICE_STOP_REASON_FLAG_PLANNED 0x40000000 +#define SERVICE_STOP_REASON_FLAG_UNPLANNED 0x10000000 + +#define SERVICE_STOP_REASON_MAJOR_APPLICATION 0x00050000 +#define SERVICE_STOP_REASON_MAJOR_HARDWARE 0x00020000 +#define SERVICE_STOP_REASON_MAJOR_NONE 0x00060000 +#define SERVICE_STOP_REASON_MAJOR_OPERATINGSYSTEM 0x00030000 +#define SERVICE_STOP_REASON_MAJOR_OTHER 0x00010000 +#define SERVICE_STOP_REASON_MAJOR_SOFTWARE 0x00040000 + +#define SERVICE_STOP_REASON_MINOR_DISK 0x00000008 +#define SERVICE_STOP_REASON_MINOR_ENVIRONMENT 0x0000000a +#define SERVICE_STOP_REASON_MINOR_HARDWARE_DRIVER 0x0000000b +#define SERVICE_STOP_REASON_MINOR_HUNG 0x00000006 +#define SERVICE_STOP_REASON_MINOR_INSTALLATION 0x00000003 +#define SERVICE_STOP_REASON_MINOR_MAINTENANCE 0x00000002 +#define SERVICE_STOP_REASON_MINOR_MMC 0x00000016 +#define SERVICE_STOP_REASON_MINOR_NETWORK_CONNECTIVITY 0x00000011 +#define SERVICE_STOP_REASON_MINOR_NETWORKCARD 0x00000009 +#define SERVICE_STOP_REASON_MINOR_OTHER 0x00000001 +#define SERVICE_STOP_REASON_MINOR_OTHERDRIVER 0x0000000c +#define SERVICE_STOP_REASON_MINOR_RECONFIG 0x00000005 +#define SERVICE_STOP_REASON_MINOR_SECURITY 0x00000010 +#define SERVICE_STOP_REASON_MINOR_SECURITYFIX 0x0000000f +#define SERVICE_STOP_REASON_MINOR_SECURITYFIX_UNINSTALL 0x00000015 +#define SERVICE_STOP_REASON_MINOR_SERVICEPACK 0x0000000d +#define SERVICE_STOP_REASON_MINOR_SERVICEPACK_UNINSTALL 0x00000013 +#define SERVICE_STOP_REASON_MINOR_SOFTWARE_UPDATE 0x0000000e +#define SERVICE_STOP_REASON_MINOR_UNSTABLE 0x00000007 +#define SERVICE_STOP_REASON_MINOR_UPGRADE 0x00000004 +#define SERVICE_STOP_REASON_MINOR_WMI 0x00000012 + +typedef struct _SERVICE_NOTIFYA { + DWORD dwVersion; + PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback; + PVOID pContext; + DWORD dwNotificationStatus; + SERVICE_STATUS_PROCESS ServiceStatus; + DWORD dwNotificationTriggered; + LPSTR pszServiceNames; +} SERVICE_NOTIFYA, *PSERVICE_NOTIFYA; + +typedef struct _SERVICE_NOTIFYW { + DWORD dwVersion; + PFN_SC_NOTIFY_CALLBACK pfnNotifyCallback; + PVOID pContext; + DWORD dwNotificationStatus; + SERVICE_STATUS_PROCESS ServiceStatus; + DWORD dwNotificationTriggered; + LPWSTR pszServiceNames; +} SERVICE_NOTIFYW, *PSERVICE_NOTIFYW; + +__MINGW_TYPEDEF_AW(SERVICE_NOTIFY) +__MINGW_TYPEDEF_AW(PSERVICE_NOTIFY) + +#define SERVICE_CONFIG_DELAYED_AUTO_START_INFO 3 +#define SERVICE_CONFIG_FAILURE_ACTIONS_FLAG 4 +#define SERVICE_CONFIG_SERVICE_SID_INFO 5 +#define SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO 6 +#define SERVICE_CONFIG_PRESHUTDOWN_INFO 7 + +typedef struct _SERVICE_DELAYED_AUTO_START_INFO { + WINBOOL fDelayedAutostart; +} SERVICE_DELAYED_AUTO_START_INFO, *LPSERVICE_DELAYED_AUTO_START_INFO; + +typedef struct _SERVICE_FAILURE_ACTIONS_FLAG { + WINBOOL fFailureActionsOnNonCrashFailures; +} SERVICE_FAILURE_ACTIONS_FLAG, *LPSERVICE_FAILURE_ACTIONS_FLAG; + +typedef struct _SERVICE_PRESHUTDOWN_INFO { + DWORD dwPreshutdownTimeout; +} SERVICE_PRESHUTDOWN_INFO, *LPSERVICE_PRESHUTDOWN_INFO; + +typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOA { + LPSTR pmszRequiredPrivileges; +} SERVICE_REQUIRED_PRIVILEGES_INFOA, *LPSERVICE_REQUIRED_PRIVILEGES_INFOA; + +typedef struct _SERVICE_REQUIRED_PRIVILEGES_INFOW { + LPWSTR pmszRequiredPrivileges; +} SERVICE_REQUIRED_PRIVILEGES_INFOW, *LPSERVICE_REQUIRED_PRIVILEGES_INFOW; + +__MINGW_TYPEDEF_AW(SERVICE_REQUIRED_PRIVILEGES_INFO) + +#define SERVICE_SID_TYPE_NONE 0x00000000 +#define SERVICE_SID_TYPE_RESTRICTED 0x00000003 +#define SERVICE_SID_TYPE_UNRESTRICTED 0x00000001 + +typedef struct _SERVICE_SID_INFO { + DWORD dwServiceSidType; +} SERVICE_SID_INFO, *LPSERVICE_SID_INFO; + +WINADVAPI WINBOOL WINAPI ControlServiceExA( + SC_HANDLE hService, + DWORD dwControl, + DWORD dwInfoLevel, + PVOID pControlParams +); + +WINADVAPI WINBOOL WINAPI ControlServiceExW( + SC_HANDLE hService, + DWORD dwControl, + DWORD dwInfoLevel, + PVOID pControlParams +); + +#define ControlServiceEx __MINGW_NAME_AW(ControlServiceEx) + +#define NotifyServiceStatusChange __MINGW_NAME_AW(NotifyServiceStatusChange) + +DWORD WINAPI NotifyServiceStatusChangeA( + SC_HANDLE hService, + DWORD dwNotifyMask, + PSERVICE_NOTIFYA pNotifyBuffer +); + +DWORD WINAPI NotifyServiceStatusChangeW( + SC_HANDLE hService, + DWORD dwNotifyMask, + PSERVICE_NOTIFYW pNotifyBuffer +); + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif + +#endif /* _WINSVC_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsxs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsxs.h new file mode 100644 index 00000000..28ade9e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsxs.h @@ -0,0 +1,94 @@ +/** + * 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_WINSXS +#define _INC_WINSXS +#if (_WIN32_WINNT >= 0x0600) + +typedef enum ASM_CMP_FLAGS { + ASM_CMPF_NAME = 0x1, + ASM_CMPF_MAJOR_VERSION = 0x2, + ASM_CMPF_MINOR_VERSION = 0x4, + ASM_CMPF_BUILD_NUMBER = 0x8, + ASM_CMPF_REVISION_NUMBER = 0x10, + ASM_CMPF_PUBLIC_KEY_TOKEN = 0x20, + ASM_CMPF_CULTURE = 0x40, + ASM_CMPF_CUSTOM = 0x80, + ASM_CMPF_ALL, + ASM_CMPF_DEFAULT = 0x100 +} ASM_CMP_FLAGS; + +typedef enum ASM_NAME { + ASM_NAME_PUBLIC_KEY, + ASM_NAME_PUBLIC_KEY_TOKEN, + ASM_NAME_HASH_VALUE, + ASM_NAME_NAME, + ASM_NAME_MAJOR_VERSION, + ASM_NAME_MINOR_VERSION, + ASM_NAME_BUILD_NUMBER, + ASM_NAME_REVISION_NUMBER, + ASM_NAME_CULTURE, + ASM_NAME_PROCESSOR_ID_ARRAY, + ASM_NAME_OSINFO_ARRAY, + ASM_NAME_HASH_ALGID, + ASM_NAME_ALIAS, + ASM_NAME_CODEBASE_URL, + ASM_NAME_CODEBASE_LASTMOD, + ASM_NAME_NULL_PUBLIC_KEY, + ASM_NAME_NULL_PUBLIC_KEY_TOKEN, + ASM_NAME_CUSTOM, + ASM_NAME_NULL_CUSTOM, + ASM_NAME_MVID, + ASM_NAME_MAX_PARAMS +} ASM_NAME; + +typedef enum _CREATE_ASM_NAME_OBJ_FLAGS { + CANOF_PARSE_DISPLAY_NAME = 0x1, + CANOF_SET_DEFAULT_VALUES = 0x2 +} CREATE_ASM_NAME_OBJ_FLAGS; + +typedef struct _ASSEMBLY_INFO { + ULONG cbAssemblyInfo; + DWORD dwAssemblyFlags; + ULARGE_INTEGER uliAssemblySizeInKB; + LPWSTR pszCurrentAssemblyPathBuf; + ULONG cchBuf; +} ASSEMBLY_INFO; + +typedef enum { + ASM_DISPLAYF_VERSION = 0x1, + ASM_DISPLAYF_CULTURE = 0x2, + ASM_DISPLAYF_PUBLIC_KEY_TOKEN = 0x4, + ASM_DISPLAYF_PUBLIC_KEY = 0x8, + ASM_DISPLAYF_CUSTOM = 0x10, + ASM_DISPLAYF_PROCESSORARCHITECTURE = 0x20, + ASM_DISPLAYF_LANGUAGEID = 0x40 +} ASM_DISPLAY_FLAGS; + +typedef struct _FUSION_INSTALL_REFERENCE { + DWORD cbSize; + DWORD dwFlags; + GUID guidScheme; + LPCWSTR szIdentifier; + LPCWSTR szNonCannonicalData; +} FUSION_INSTALL_REFERENCE , *LPFUSION_INSTALL_REFERENCE; + +/* in sxs.dll but not in any headers +HRESULT STDAPI CreateAssemblyCache( + IAssemblyCache **ppAsmCache, + DWORD dwReserved +); + +HRESULT STDAPI CreateAssemblyNameObject( + LPASSEMBLYNAME **ppAssemblyNameObj, + LPCWSTR szAssemblyName, + DWORD dwFlags, + LPVOID pvReserved +); + +*/ + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WINSXS*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsync.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsync.h new file mode 100644 index 00000000..30d5e5d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winsync.h @@ -0,0 +1,671 @@ +/** + * 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 __WINSYNC_H__ +#define __WINSYNC_H__ +#include + +#if (_WIN32_WINNT >= 0x0601) + +typedef enum _CONFLICT_RESOLUTION_POLICY { + CRP_NONE = 0, + CRP_DESTINATION_PROVIDER_WINS, + CRP_SOURCE_PROVIDER_WINS, + CRP_LAST +} CONFLICT_RESOLUTION_POLICY; + +typedef enum _FILTERING_TYPE { + FT_CURRENT_ITEMS_ONLY = 0 +} FILTERING_TYPE; + +typedef enum _KNOWLEDGE_COOKIE_COMPARISON_RESULT { + KCCR_COOKIE_KNOWLEDGE_EQUAL = 0, + KCCR_COOKIE_KNOWLEDGE_CONTAINED, + KCCR_COOKIE_KNOWLEDGE_CONTAINS, + KCCR_COOKIE_KNOWLEDGE_NOT_COMPARABLE +} KNOWLEDGE_COOKIE_COMPARISON_RESULT; + +typedef enum _SYNC_FULL_ENUMERATION_ACTION { + SFEA_FULL_ENUMERATION = 0, + SFEA_PARTIAL_SYNC, + SFEA_ABORT +} SYNC_FULL_ENUMERATION_ACTION; + +typedef enum _SYNC_PROGRESS_STAGE { + SPS_CHANGE_DETECTION = 0, + SPS_CHANGE_ENUMERATION, + SPS_CHANGE_APPLICATION +} SYNC_PROGRESS_STAGE; + +typedef enum _SYNC_PROVIDER_ROLE { + SPR_SOURCE = 0, + SPR_DESTINATION +} SYNC_PROVIDER_ROLE; + +typedef enum _SYNC_RESOLVE_ACTION { + SRA_DEFER = 0, + SRA_ACCEPT_DESTINATION_PROVIDER, + SRA_ACCEPT_SOURCE_PROVIDER, + SRA_MERGE, + SRA_TRANSFER_AND_DEFER, + SRA_LAST +} SYNC_RESOLVE_ACTION; + +typedef enum _SYNC_SERIALIZATION_VERSION { + SYNC_SERIALIZATION_VERSION_V1 = 0, + SYNC_SERIALIZATION_VERSION_V2 +} SYNC_SERIALIZATION_VERSION; + +typedef enum _SYNC_STATISTICS { + SYNC_STATISTICS_RANGE_COUNT = 0 +} SYNC_STATISTICS; + +typedef struct _ID_PARAMETER_PAIR { + WINBOOL fIsVariable; + USHORT cbIdSize; +} ID_PARAMETER_PAIR; + +typedef struct _ID_PARAMETERS { + DWORD dwSize; + ID_PARAMETER_PAIR replicaId; + ID_PARAMETER_PAIR itemId; + ID_PARAMETER_PAIR changeUnitId; +} ID_PARAMETERS; + +typedef struct _SYNC_RANGE { + BYTE * pbClosedLowerBound; + BYTE * pbClosedUpperBound; +} SYNC_RANGE; + +typedef struct _SYNC_SESSION_STATISTICS { + DWORD dwChangesApplied; + DWORD dwChangesFailed; +} SYNC_SESSION_STATISTICS; + +typedef struct _SYNC_TIME { + DWORD dwDate; + DWORD dwTime; +} SYNC_TIME; + +typedef struct _SYNC_VERSION { + DWORD dwLastUpdatingReplicaKey; + ULONGLONG ullTickCount; +} SYNC_VERSION; + +#ifndef __IAsynchronousDataRetriever_FWD_DEFINED__ +#define __IAsynchronousDataRetriever_FWD_DEFINED__ +typedef struct IAssociatedIdentityProvider IAssociatedIdentityProvider; +#endif + +#ifndef __IDataRetrieverCallback_FWD_DEFINED__ +#define __IDataRetrieverCallback_FWD_DEFINED__ +typedef struct IDataRetrieverCallback IDataRetrieverCallback; +#endif + +#ifndef __IChangeConflict_FWD_DEFINED__ +#define __IChangeConflict_FWD_DEFINED__ +typedef struct IChangeConflict IChangeConflict; +#endif + +#ifndef __IChangeUnitException_FWD_DEFINED__ +#define __IChangeUnitException_FWD_DEFINED__ +typedef struct IChangeUnitException IChangeUnitException; +#endif + +#ifndef __IChangeUnitListFilterInfo_FWD_DEFINED__ +#define __IChangeUnitListFilterInfo_FWD_DEFINED__ +typedef struct IChangeUnitListFilterInfo IChangeUnitListFilterInfo; +#endif + +#ifndef __ISyncFilterInfo_FWD_DEFINED__ +#define __ISyncFilterInfo_FWD_DEFINED__ +typedef struct ISyncFilterInfo ISyncFilterInfo; +#endif + +#ifndef __IClockVector_FWD_DEFINED__ +#define __IClockVector_FWD_DEFINED__ +typedef struct IClockVector IClockVector; +#endif + +#ifndef __IClockVectorElement_FWD_DEFINED__ +#define __IClockVectorElement_FWD_DEFINED__ +typedef struct IClockVectorElement IClockVectorElement; +#endif + +#ifndef __IConstructReplicaKeyMap_FWD_DEFINED__ +#define __IConstructReplicaKeyMap_FWD_DEFINED__ +typedef struct IConstructReplicaKeyMap IConstructReplicaKeyMap; +#endif + +#ifndef __ICoreFragment_FWD_DEFINED__ +#define __ICoreFragment_FWD_DEFINED__ +typedef struct ICoreFragment ICoreFragment; +#endif + +#ifndef __ILoadChangeContext_FWD_DEFINED__ +#define __ILoadChangeContext_FWD_DEFINED__ +typedef struct ILoadChangeContext ILoadChangeContext; +#endif + +#ifndef __ISyncChange_FWD_DEFINED__ +#define __ISyncChange_FWD_DEFINED__ +typedef struct ISyncChange ISyncChange; +#endif + +#ifndef __ISyncChangeUnit_FWD_DEFINED__ +#define __ISyncChangeUnit_FWD_DEFINED__ +typedef struct ISyncChangeUnit ISyncChangeUnit; +#endif + +#ifndef __IRecoverableErrorData_FWD_DEFINED__ +#define __IRecoverableErrorData_FWD_DEFINED__ +typedef struct IRecoverableErrorData IRecoverableErrorData; +#endif + +#ifndef __IEnumSyncChangeUnits_FWD_DEFINED__ +#define __IEnumSyncChangeUnits_FWD_DEFINED__ +typedef struct IEnumSyncChangeUnits IEnumSyncChangeUnits; +#endif + +/* Fixme: ISyncKnowledge method list is missing from MSDN */ +#ifndef __ISyncKnowledge_FWD_DEFINED__ +#define __ISyncKnowledge_FWD_DEFINED__ +typedef struct ISyncKnowledge ISyncKnowledge; +#endif + +#undef INTERFACE +#define INTERFACE IAsynchronousDataRetriever +#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_(IAsynchronousDataRetriever,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IAsynchronousDataRetriever methods */ + STDMETHOD_(HRESULT,GetIdParameters)(THIS_ ID_PARAMETERS *pIdParameters) PURE; + STDMETHOD_(HRESULT,LoadChangeData)(THIS_ ILoadChangeContext *pLoadChangeContext) PURE; + STDMETHOD_(HRESULT,RegisterCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE; + STDMETHOD_(HRESULT,RevokeCallback)(THIS_ IDataRetrieverCallback *pDataRetrieverCallback) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IAsynchronousDataRetriever_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAsynchronousDataRetriever_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAsynchronousDataRetriever_Release(This) (This)->lpVtbl->Release(This) +#define IAsynchronousDataRetriever_GetIdParameters(This,pIdParameters) (This)->lpVtbl->GetIdParameters(This,pIdParameters) +#define IAsynchronousDataRetriever_LoadChangeData(This,pLoadChangeContext) (This)->lpVtbl->LoadChangeData(This,pLoadChangeContext) +#define IAsynchronousDataRetriever_RegisterCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RegisterCallback(This,pDataRetrieverCallback) +#define IAsynchronousDataRetriever_RevokeCallback(This,pDataRetrieverCallback) (This)->lpVtbl->RevokeCallback(This,pDataRetrieverCallback) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IDataRetrieverCallback +#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_(IDataRetrieverCallback,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IDataRetrieverCallback methods */ + STDMETHOD_(HRESULT,LoadChangeDataComplete)(THIS_ IUnknown *pUnkData) PURE; + STDMETHOD_(HRESULT,LoadChangeDataError)(THIS_ HRESULT hrError) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IDataRetrieverCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDataRetrieverCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDataRetrieverCallback_Release(This) (This)->lpVtbl->Release(This) +#define IDataRetrieverCallback_LoadChangeDataComplete(This,pUnkData) (This)->lpVtbl->LoadChangeDataComplete(This,pUnkData) +#define IDataRetrieverCallback_LoadChangeDataError(This,hrError) (This)->lpVtbl->LoadChangeDataError(This,hrError) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IChangeConflict +#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_(IChangeConflict,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IChangeConflict methods */ + STDMETHOD_(HRESULT,GetDestinationProviderConflictingChange)(THIS_ ISyncChange **ppConflictingChange) PURE; + STDMETHOD_(HRESULT,GetDestinationProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE; + STDMETHOD_(HRESULT,GetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION *pResolveAction) PURE; + STDMETHOD_(HRESULT,GetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION *pResolveAction) PURE; + STDMETHOD_(HRESULT,GetSourceProviderConflictingChange)(THIS_ ISyncChange **ppSyncChange) PURE; + STDMETHOD_(HRESULT,GetSourceProviderConflictingData)(THIS_ IUnknown **ppConflictingData) PURE; + STDMETHOD_(HRESULT,SetResolveActionForChange)(THIS_ SYNC_RESOLVE_ACTION resolveAction) PURE; + STDMETHOD_(HRESULT,SetResolveActionForChangeUnit)(THIS_ ISyncChangeUnit *pChangeUnit,SYNC_RESOLVE_ACTION resolveAction) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IChangeConflict_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IChangeConflict_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IChangeConflict_Release(This) (This)->lpVtbl->Release(This) +#define IChangeConflict_GetDestinationProviderConflictingChange(This,ppConflictingChange) (This)->lpVtbl->GetDestinationProviderConflictingChange(This,ppConflictingChange) +#define IChangeConflict_GetDestinationProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetDestinationProviderConflictingData(This,ppConflictingData) +#define IChangeConflict_GetResolveActionForChange(This,pResolveAction) (This)->lpVtbl->GetResolveActionForChange(This,pResolveAction) +#define IChangeConflict_GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction) (This)->lpVtbl->GetResolveActionForChangeUnit(This,pChangeUnit,pResolveAction) +#define IChangeConflict_GetSourceProviderConflictingChange(This,ppSyncChange) (This)->lpVtbl->GetSourceProviderConflictingChange(This,ppSyncChange) +#define IChangeConflict_GetSourceProviderConflictingData(This,ppConflictingData) (This)->lpVtbl->GetSourceProviderConflictingData(This,ppConflictingData) +#define IChangeConflict_SetResolveActionForChange(This,resolveAction) (This)->lpVtbl->SetResolveActionForChange(This,resolveAction) +#define IChangeConflict_SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction) (This)->lpVtbl->SetResolveActionForChangeUnit(This,pChangeUnit,resolveAction) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IChangeUnitException +#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_(IChangeUnitException,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IChangeUnitException methods */ + STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE; + STDMETHOD_(HRESULT,GetClockVector)(THIS_ REFIID riid,void **ppUnk) PURE; + STDMETHOD_(HRESULT,GetItemId)(THIS_ DWORD *pcbIdSize) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IChangeUnitException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IChangeUnitException_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IChangeUnitException_Release(This) (This)->lpVtbl->Release(This) +#define IChangeUnitException_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize) +#define IChangeUnitException_GetClockVector(This,riid,ppUnk) (This)->lpVtbl->GetClockVector(This,riid,ppUnk) +#define IChangeUnitException_GetItemId(This,pcbIdSize) (This)->lpVtbl->GetItemId(This,pcbIdSize) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE ISyncFilterInfo +DECLARE_INTERFACE_(ISyncFilterInfo,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ISyncFilterInfo methods */ + STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define ISyncFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISyncFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISyncFilterInfo_Release(This) (This)->lpVtbl->Release(This) +#define ISyncFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IChangeUnitListFilterInfo +#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_(IChangeUnitListFilterInfo,ISyncFilterInfo) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ISyncFilterInfo methods */ + STDMETHOD_(HRESULT,Serialize)(THIS_ DWORD *pcbBuffer) PURE; + + /* IChangeUnitListFilterInfo methods */ + STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD dwChangeUnitIdIndex,DWORD *pcbIdSize) PURE; + STDMETHOD_(HRESULT,GetChangeUnitIdCount)(THIS_ DWORD *pdwChangeUnitIdCount) PURE; + STDMETHOD_(HRESULT,Initialize)(THIS_ const BYTE * const *ppbChangeUnitIds,DWORD dwChangeUnitCount) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IChangeUnitListFilterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IChangeUnitListFilterInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IChangeUnitListFilterInfo_Release(This) (This)->lpVtbl->Release(This) +#define IChangeUnitListFilterInfo_Serialize(This,pcbBuffer) (This)->lpVtbl->Serialize(This,pcbBuffer) +#define IChangeUnitListFilterInfo_GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,dwChangeUnitIdIndex,pcbIdSize) +#define IChangeUnitListFilterInfo_GetChangeUnitIdCount(This,pdwChangeUnitIdCount) (This)->lpVtbl->GetChangeUnitIdCount(This,pdwChangeUnitIdCount) +#define IChangeUnitListFilterInfo_Initialize(This,ppbChangeUnitIds,dwChangeUnitCount) (This)->lpVtbl->Initialize(This,ppbChangeUnitIds,dwChangeUnitCount) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IClockVector +#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_(IClockVector,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IClockVector methods */ + STDMETHOD_(HRESULT,GetClockVectorElementCount)(THIS_ DWORD *pdwCount) PURE; + STDMETHOD_(HRESULT,GetClockVectorElements)(THIS_ REFIID riid,void **ppiEnumClockVector) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IClockVector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IClockVector_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IClockVector_Release(This) (This)->lpVtbl->Release(This) +#define IClockVector_GetClockVectorElementCount(This,pdwCount) (This)->lpVtbl->GetClockVectorElementCount(This,pdwCount) +#define IClockVector_GetClockVectorElements(This,riid,ppiEnumClockVector) (This)->lpVtbl->GetClockVectorElements(This,riid,ppiEnumClockVector) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IClockVectorElement +#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_(IClockVectorElement,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IClockVectorElement methods */ + STDMETHOD_(HRESULT,GetReplicaKey)(THIS_ DWORD *pdwReplicaKey) PURE; + STDMETHOD_(HRESULT,GetTickCount)(THIS_ ULONGLONG *pullTickCount) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IClockVectorElement_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IClockVectorElement_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IClockVectorElement_Release(This) (This)->lpVtbl->Release(This) +#define IClockVectorElement_GetReplicaKey(This,pdwReplicaKey) (This)->lpVtbl->GetReplicaKey(This,pdwReplicaKey) +#define IClockVectorElement_GetTickCount(This,pullTickCount) (This)->lpVtbl->GetTickCount(This,pullTickCount) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IConstructReplicaKeyMap +DECLARE_INTERFACE_(IConstructReplicaKeyMap,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IConstructReplicaKeyMap methods */ + STDMETHOD_(HRESULT,FindOrAddReplica)(THIS_ BYTE *pbReplicaId,DWORD *pdwReplicaKey) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IConstructReplicaKeyMap_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IConstructReplicaKeyMap_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IConstructReplicaKeyMap_Release(This) (This)->lpVtbl->Release(This) +#define IConstructReplicaKeyMap_FindOrAddReplica(This,pbReplicaId,pdwReplicaKey) (This)->lpVtbl->FindOrAddReplica(This,pbReplicaId,pdwReplicaKey) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE ICoreFragment +#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_(ICoreFragment,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ICoreFragment methods */ + STDMETHOD_(HRESULT,GetColumnCount)(THIS_ DWORD *pColumnCount) PURE; + STDMETHOD_(HRESULT,GetRangeCount)(THIS_ DWORD *pRangeCount) PURE; + STDMETHOD_(HRESULT,NextColumn)(THIS_ DWORD *pChangeUnitIdSize) PURE; + STDMETHOD_(HRESULT,NextRange)(THIS_ DWORD *pItemIdSize,IClockVector **piClockVector) PURE; + STDMETHOD_(HRESULT,Reset)(THIS) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define ICoreFragment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICoreFragment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICoreFragment_Release(This) (This)->lpVtbl->Release(This) +#define ICoreFragment_GetColumnCount(This,pColumnCount) (This)->lpVtbl->GetColumnCount(This,pColumnCount) +#define ICoreFragment_GetRangeCount(This,pRangeCount) (This)->lpVtbl->GetRangeCount(This,pRangeCount) +#define ICoreFragment_NextColumn(This,pChangeUnitIdSize) (This)->lpVtbl->NextColumn(This,pChangeUnitIdSize) +#define ICoreFragment_NextRange(This,pItemIdSize,piClockVector) (This)->lpVtbl->NextRange(This,pItemIdSize,piClockVector) +#define ICoreFragment_Reset() (This)->lpVtbl->Reset(This) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE ILoadChangeContext +#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_(ILoadChangeContext,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ILoadChangeContext methods */ + STDMETHOD_(HRESULT,GetSyncChange)(THIS_ ISyncChange **ppSyncChange) PURE; + STDMETHOD_(HRESULT,SetRecoverableErrorOnChange)(THIS_ HRESULT hrError,IRecoverableErrorData *pErrorData) PURE; + STDMETHOD_(HRESULT,SetRecoverableErrorOnChangeUnit)(THIS_ HRESULT hrError,ISyncChangeUnit *pChangeUnit,IRecoverableErrorData *pErrorData) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define ILoadChangeContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ILoadChangeContext_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ILoadChangeContext_Release(This) (This)->lpVtbl->Release(This) +#define ILoadChangeContext_GetSyncChange(This,ppSyncChange) (This)->lpVtbl->GetSyncChange(This,ppSyncChange) +#define ILoadChangeContext_SetRecoverableErrorOnChange(This,hrError,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChange(This,hrError,pErrorData) +#define ILoadChangeContext_SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData) (This)->lpVtbl->SetRecoverableErrorOnChangeUnit(This,hrError,pChangeUnit,pErrorData) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE ISyncChange +#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_(ISyncChange,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ISyncChange methods */ + STDMETHOD_(HRESULT,GetChangeUnits)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE; + STDMETHOD_(HRESULT,GetChangeVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE; + STDMETHOD_(HRESULT,GetCreationVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE; + STDMETHOD_(HRESULT,GetFlags)(THIS_ DWORD *pdwFlags) PURE; + STDMETHOD_(HRESULT,GetLearnedKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE; + STDMETHOD_(HRESULT,GetMadeWithKnowledge)(THIS_ ISyncKnowledge **ppMadeWithKnowledge) PURE; + STDMETHOD_(HRESULT,GetOwnerReplicaId)(THIS_ DWORD *pcbIdSize) PURE; + STDMETHOD_(HRESULT,GetRootItemId)(THIS_ DWORD *pcbIdSize) PURE; + STDMETHOD_(HRESULT,GetWorkEstimate)(THIS_ DWORD *pdwWork) PURE; + STDMETHOD_(HRESULT,SetWorkEstimate)(THIS_ DWORD dwWork) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define ISyncChange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISyncChange_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISyncChange_Release(This) (This)->lpVtbl->Release(This) +#define ISyncChange_GetChangeUnits(This,ppEnum) (This)->lpVtbl->GetChangeUnits(This,ppEnum) +#define ISyncChange_GetChangeVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeVersion(This,pbCurrentReplicaId,pVersion) +#define ISyncChange_GetCreationVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetCreationVersion(This,pbCurrentReplicaId,pVersion) +#define ISyncChange_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) +#define ISyncChange_GetLearnedKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetLearnedKnowledge(This,ppMadeWithKnowledge) +#define ISyncChange_GetMadeWithKnowledge(This,ppMadeWithKnowledge) (This)->lpVtbl->GetMadeWithKnowledge(This,ppMadeWithKnowledge) +#define ISyncChange_GetOwnerReplicaId(This,pcbIdSize) (This)->lpVtbl->GetOwnerReplicaId(This,pcbIdSize) +#define ISyncChange_GetRootItemId(This,pcbIdSize) (This)->lpVtbl->GetRootItemId(This,pcbIdSize) +#define ISyncChange_GetWorkEstimate(This,pdwWork) (This)->lpVtbl->GetWorkEstimate(This,pdwWork) +#define ISyncChange_SetWorkEstimate(This,dwWork) (This)->lpVtbl->SetWorkEstimate(This,dwWork) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE ISyncChangeUnit +#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_(ISyncChangeUnit,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* ISyncChangeUnit methods */ + STDMETHOD_(HRESULT,GetChangeUnitId)(THIS_ DWORD *pcbIdSize) PURE; + STDMETHOD_(HRESULT,GetChangeUnitVersion)(THIS_ const BYTE *pbCurrentReplicaId,SYNC_VERSION *pVersion) PURE; + STDMETHOD_(HRESULT,GetItemChange)(THIS_ ISyncChange **ppSyncChange) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define ISyncChangeUnit_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISyncChangeUnit_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISyncChangeUnit_Release(This) (This)->lpVtbl->Release(This) +#define ISyncChangeUnit_GetChangeUnitId(This,pcbIdSize) (This)->lpVtbl->GetChangeUnitId(This,pcbIdSize) +#define ISyncChangeUnit_GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion) (This)->lpVtbl->GetChangeUnitVersion(This,pbCurrentReplicaId,pVersion) +#define ISyncChangeUnit_GetItemChange(This,ppSyncChange) (This)->lpVtbl->GetItemChange(This,ppSyncChange) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IRecoverableErrorData +#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_(IRecoverableErrorData,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IRecoverableErrorData methods */ + STDMETHOD_(HRESULT,GetErrorDescription)(THIS_ DWORD *pcchErrorDescription) PURE; + STDMETHOD_(HRESULT,GetItemDisplayName)(THIS_ DWORD *pcchItemDisplayName) PURE; + STDMETHOD_(HRESULT,Initialize)(THIS_ LPCWSTR pcszItemDisplayName,LPCWSTR pcszErrorDescription) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IRecoverableErrorData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IRecoverableErrorData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IRecoverableErrorData_Release(This) (This)->lpVtbl->Release(This) +#define IRecoverableErrorData_GetErrorDescription(This,pcchErrorDescription) (This)->lpVtbl->GetErrorDescription(This,pcchErrorDescription) +#define IRecoverableErrorData_GetItemDisplayName(This,pcchItemDisplayName) (This)->lpVtbl->GetItemDisplayName(This,pcchItemDisplayName) +#define IRecoverableErrorData_Initialize(This,pcszItemDisplayName,pcszErrorDescription) (This)->lpVtbl->Initialize(This,pcszItemDisplayName,pcszErrorDescription) +#endif /*COBJMACROS*/ + +#undef INTERFACE +#define INTERFACE IEnumSyncChangeUnits +#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_(IEnumSyncChangeUnits,IUnknown) +{ + BEGIN_INTERFACE + + /* IUnknown methods */ + STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; + STDMETHOD_(ULONG, AddRef)(THIS) PURE; + STDMETHOD_(ULONG, Release)(THIS) PURE; + + /* IEnumSyncChangeUnits methods */ + STDMETHOD_(HRESULT,Clone)(THIS_ IEnumSyncChangeUnits **ppEnum) PURE; + STDMETHOD_(HRESULT,Next)(THIS_ ULONG cChanges,ISyncChangeUnit **ppChangeUnit,ULONG *pcFetched) PURE; + STDMETHOD_(HRESULT,Reset)(THIS) PURE; + STDMETHOD_(HRESULT,Skip)(THIS_ ULONG cChanges) PURE; + + END_INTERFACE +}; +#ifdef COBJMACROS +#define IEnumSyncChangeUnits_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnumSyncChangeUnits_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnumSyncChangeUnits_Release(This) (This)->lpVtbl->Release(This) +#define IEnumSyncChangeUnits_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum) +#define IEnumSyncChangeUnits_Next(This,cChanges,ppChangeUnit,pcFetched) (This)->lpVtbl->Next(This,cChanges,ppChangeUnit,pcFetched) +#define IEnumSyncChangeUnits_Reset() (This)->lpVtbl->Reset(This) +#define IEnumSyncChangeUnits_Skip(This,cChanges) (This)->lpVtbl->Skip(This,cChanges) +#endif /*COBJMACROS*/ + +#endif /*(_WIN32_WINNT >= 0x0601)*/ +#endif /* __WINSYNC_H__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winternl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winternl.h new file mode 100644 index 00000000..95422dcf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winternl.h @@ -0,0 +1,1180 @@ +/** + * 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 _WINTERNL_ +#define _WINTERNL_ + +#include + +#ifndef NT_SUCCESS +#define NT_SUCCESS(status) ((NTSTATUS) (status) >= 0) +#endif + +#ifndef NT_INFORMATION +#define NT_INFORMATION(Status) ((((ULONG)(Status)) >> 30) == 1) +#endif + +#ifndef NT_WARNING +#define NT_WARNING(Status) ((((ULONG)(Status)) >> 30) == 2) +#endif + +#ifndef NT_ERROR +#define NT_ERROR(Status) ((((ULONG)(Status)) >> 30) == 3) +#endif + +#ifndef DEVICE_TYPE +#define DEVICE_TYPE ULONG +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __UNICODE_STRING_DEFINED +#define __UNICODE_STRING_DEFINED + typedef struct _UNICODE_STRING { + USHORT Length; + USHORT MaximumLength; + PWSTR Buffer; + } UNICODE_STRING; +#endif + + typedef struct _PEB_LDR_DATA { + BYTE Reserved1[8]; + PVOID Reserved2[3]; + LIST_ENTRY InMemoryOrderModuleList; + } PEB_LDR_DATA,*PPEB_LDR_DATA; + + typedef struct _LDR_DATA_TABLE_ENTRY { + PVOID Reserved1[2]; + LIST_ENTRY InMemoryOrderLinks; + PVOID Reserved2[2]; + PVOID DllBase; + PVOID Reserved3[2]; + UNICODE_STRING FullDllName; + BYTE Reserved4[8]; + PVOID Reserved5[3]; + __C89_NAMELESS union { + ULONG CheckSum; + PVOID Reserved6; + }; + ULONG TimeDateStamp; + } LDR_DATA_TABLE_ENTRY,*PLDR_DATA_TABLE_ENTRY; + +typedef struct _RTL_USER_PROCESS_PARAMETERS { + BYTE Reserved1[16]; + PVOID Reserved2[10]; + UNICODE_STRING ImagePathName; + UNICODE_STRING CommandLine; + } RTL_USER_PROCESS_PARAMETERS,*PRTL_USER_PROCESS_PARAMETERS; + + /* This function pointer is undocumented and just valid for windows 2000. + Therefore I guess. */ + typedef VOID (NTAPI *PPS_POST_PROCESS_INIT_ROUTINE)(VOID); + + typedef struct _PEB { + BYTE Reserved1[2]; + BYTE BeingDebugged; + BYTE Reserved2[1]; + PVOID Reserved3[2]; + PPEB_LDR_DATA Ldr; + PRTL_USER_PROCESS_PARAMETERS ProcessParameters; + PVOID Reserved4[3]; + PVOID AtlThunkSListPtr; + PVOID Reserved5; + ULONG Reserved6; + PVOID Reserved7; + ULONG Reserved8; + ULONG AtlThunkSListPtr32; + PVOID Reserved9[45]; + BYTE Reserved10[96]; + PPS_POST_PROCESS_INIT_ROUTINE PostProcessInitRoutine; + BYTE Reserved11[128]; + PVOID Reserved12[1]; + ULONG SessionId; + } PEB,*PPEB; + + typedef struct _TEB { + PVOID Reserved1[12]; + PPEB ProcessEnvironmentBlock; + PVOID Reserved2[399]; + BYTE Reserved3[1952]; + PVOID TlsSlots[64]; + BYTE Reserved4[8]; + PVOID Reserved5[26]; + PVOID ReservedForOle; + PVOID Reserved6[4]; + PVOID TlsExpansionSlots; + } TEB; + + typedef TEB *PTEB; + #if !defined (_NTDEF_) && !defined (_NTSTATUS_PSDK) + #define _NTSTATUS_PSDK + typedef LONG NTSTATUS, *PNTSTATUS; + #endif + typedef CONST char *PCSZ; + +#ifndef __STRING_DEFINED +#define __STRING_DEFINED + typedef struct _STRING { + USHORT Length; + USHORT MaximumLength; + PCHAR Buffer; + } STRING; +#endif + + typedef STRING *PSTRING; + typedef STRING ANSI_STRING; + typedef PSTRING PANSI_STRING; + typedef PSTRING PCANSI_STRING; + typedef STRING OEM_STRING; + typedef PSTRING POEM_STRING; + typedef CONST STRING *PCOEM_STRING; + + typedef UNICODE_STRING *PUNICODE_STRING; + typedef const UNICODE_STRING *PCUNICODE_STRING; + +#ifndef __OBJECT_ATTRIBUTES_DEFINED +#define __OBJECT_ATTRIBUTES_DEFINED + typedef struct _OBJECT_ATTRIBUTES { + ULONG Length; +#ifdef _WIN64 + ULONG pad1; +#endif + HANDLE RootDirectory; + PUNICODE_STRING ObjectName; + ULONG Attributes; +#ifdef _WIN64 + ULONG pad2; +#endif + PVOID SecurityDescriptor; + PVOID SecurityQualityOfService; + } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; +#endif + +/* Values for the Attributes member */ +#define OBJ_INHERIT 0x00000002L +#define OBJ_PERMANENT 0x00000010L +#define OBJ_EXCLUSIVE 0x00000020L +#define OBJ_CASE_INSENSITIVE 0x00000040L +#define OBJ_OPENIF 0x00000080L +#define OBJ_OPENLINK 0x00000100L +#define OBJ_KERNEL_HANDLE 0x00000200L +#define OBJ_FORCE_ACCESS_CHECK 0x00000400L +#define OBJ_IGNORE_IMPERSONATED_DEVICEMAP 0x00000800L +#define OBJ_DONT_REPARSE 0x00001000L +#define OBJ_VALID_ATTRIBUTES 0x00001FF2L + +/* Define the create disposition values */ +#define FILE_SUPERSEDE 0x00000000 +#define FILE_OPEN 0x00000001 +#define FILE_CREATE 0x00000002 +#define FILE_OPEN_IF 0x00000003 +#define FILE_OVERWRITE 0x00000004 +#define FILE_OVERWRITE_IF 0x00000005 +#define FILE_MAXIMUM_DISPOSITION 0x00000005 + +/* Define the create/open option flags */ +#define FILE_DIRECTORY_FILE 0x00000001 +#define FILE_WRITE_THROUGH 0x00000002 +#define FILE_SEQUENTIAL_ONLY 0x00000004 +#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008 +#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010 +#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020 +#define FILE_NON_DIRECTORY_FILE 0x00000040 +#define FILE_CREATE_TREE_CONNECTION 0x00000080 +#define FILE_COMPLETE_IF_OPLOCKED 0x00000100 +#define FILE_NO_EA_KNOWLEDGE 0x00000200 +#define FILE_OPEN_REMOTE_INSTANCE 0x00000400 +#define FILE_RANDOM_ACCESS 0x00000800 +#define FILE_DELETE_ON_CLOSE 0x00001000 +#define FILE_OPEN_BY_FILE_ID 0x00002000 +#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000 +#define FILE_NO_COMPRESSION 0x00008000 +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7) +#define FILE_OPEN_REQUIRING_OPLOCK 0x00010000 +#endif +#define FILE_RESERVE_OPFILTER 0x00100000 +#define FILE_OPEN_REPARSE_POINT 0x00200000 +#define FILE_OPEN_NO_RECALL 0x00400000 +#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000 +#define FILE_VALID_OPTION_FLAGS 0x00ffffff +#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032 +#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032 +#define FILE_VALID_SET_FLAGS 0x00000036 + +/* Define the I/O status information return values for NtCreateFile/NtOpenFile */ +#define FILE_SUPERSEDED 0x00000000 +#define FILE_OPENED 0x00000001 +#define FILE_CREATED 0x00000002 +#define FILE_OVERWRITTEN 0x00000003 +#define FILE_EXISTS 0x00000004 +#define FILE_DOES_NOT_EXIST 0x00000005 + + /* Helper Macro */ +#ifndef InitializeObjectAttributes + #define InitializeObjectAttributes(p,n,a,r,s) { \ + (p)->Length = sizeof(OBJECT_ATTRIBUTES); \ + (p)->RootDirectory = (r); \ + (p)->Attributes = (a); \ + (p)->ObjectName = (n); \ + (p)->SecurityDescriptor = (s); \ + (p)->SecurityQualityOfService = NULL; \ + } +#endif + + typedef struct _OBJECT_DATA_INFORMATION { + BOOLEAN InheritHandle; + BOOLEAN ProtectFromClose; + } OBJECT_DATA_INFORMATION, *POBJECT_DATA_INFORMATION; + + typedef struct _OBJECT_BASIC_INFORMATION { + ULONG Attributes; + ACCESS_MASK GrantedAccess; + ULONG HandleCount; + ULONG PointerCount; + ULONG PagedPoolUsage; + ULONG NonPagedPoolUsage; + ULONG Reserved[3]; + ULONG NameInformationLength; + ULONG TypeInformationLength; + ULONG SecurityDescriptorLength; + LARGE_INTEGER CreateTime; + } OBJECT_BASIC_INFORMATION, *POBJECT_BASIC_INFORMATION; + + typedef struct _OBJECT_NAME_INFORMATION { + UNICODE_STRING Name; + } OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION; + + typedef struct _OBJECT_TYPE_INFORMATION { + UNICODE_STRING TypeName; + ULONG TotalNumberOfObjects; + ULONG TotalNumberOfHandles; + ULONG TotalPagedPoolUsage; + ULONG TotalNonPagedPoolUsage; + ULONG TotalNamePoolUsage; + ULONG TotalHandleTableUsage; + ULONG HighWaterNumberOfObjects; + ULONG HighWaterNumberOfHandles; + ULONG HighWaterPagedPoolUsage; + ULONG HighWaterNonPagedPoolUsage; + ULONG HighWaterNamePoolUsage; + ULONG HighWaterHandleTableUsage; + ULONG InvalidAttributes; + GENERIC_MAPPING GenericMapping; + ULONG ValidAccessMask; + BOOLEAN SecurityRequired; + BOOLEAN MaintainHandleCount; + ULONG PoolType; + ULONG DefaultPagedPoolCharge; + ULONG DefaultNonPagedPoolCharge; + } OBJECT_TYPE_INFORMATION, *POBJECT_TYPE_INFORMATION; + + typedef struct _OBJECT_ALL_INFORMATION { + ULONG NumberOfObjects; + OBJECT_TYPE_INFORMATION ObjectTypeInformation[1]; + }OBJECT_ALL_INFORMATION, *POBJECT_ALL_INFORMATION; + + typedef enum _FILE_INFORMATION_CLASS { + FileDirectoryInformation = 1, + FileFullDirectoryInformation, + FileBothDirectoryInformation, + FileBasicInformation, + FileStandardInformation, + FileInternalInformation, + FileEaInformation, + FileAccessInformation, + FileNameInformation, + FileRenameInformation, + FileLinkInformation, + FileNamesInformation, + FileDispositionInformation, + FilePositionInformation, + FileFullEaInformation, + FileModeInformation, + FileAlignmentInformation, + FileAllInformation, + FileAllocationInformation, + FileEndOfFileInformation, + FileAlternateNameInformation, + FileStreamInformation, + FilePipeInformation, + FilePipeLocalInformation, + FilePipeRemoteInformation, + FileMailslotQueryInformation, + FileMailslotSetInformation, + FileCompressionInformation, + FileObjectIdInformation, + FileCompletionInformation, + FileMoveClusterInformation, + FileQuotaInformation, + FileReparsePointInformation, + FileNetworkOpenInformation, + FileAttributeTagInformation, + FileTrackingInformation, + FileIdBothDirectoryInformation, + FileIdFullDirectoryInformation, + FileValidDataLengthInformation, + FileShortNameInformation = 40, + FileSfioReserveInformation = 44, + FileSfioVolumeInformation = 45, + FileHardLinkInformation = 46, + FileNormalizedNameInformation = 48, + FileIdGlobalTxDirectoryInformation = 50, + FileStandardLinkInformation = 54, + FileMaximumInformation + } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS; + + typedef struct _FILE_DIRECTORY_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + WCHAR FileName[ANYSIZE_ARRAY]; + } FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION; + + typedef struct _FILE_FULL_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + WCHAR FileName[ANYSIZE_ARRAY]; + } FILE_FULL_DIR_INFORMATION, *PFILE_FULL_DIR_INFORMATION; + + typedef struct _FILE_ID_FULL_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + LARGE_INTEGER FileId; + WCHAR FileName[ANYSIZE_ARRAY]; + } FILE_ID_FULL_DIR_INFORMATION, *PFILE_ID_FULL_DIR_INFORMATION; + + typedef struct _FILE_BOTH_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + CHAR ShortNameLength; + WCHAR ShortName[12]; + WCHAR FileName[ANYSIZE_ARRAY]; + } FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION; + + typedef struct _FILE_ID_BOTH_DIR_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + ULONG FileAttributes; + ULONG FileNameLength; + ULONG EaSize; + CHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[ANYSIZE_ARRAY]; + } FILE_ID_BOTH_DIR_INFORMATION, *PFILE_ID_BOTH_DIR_INFORMATION; + + /* Old names of dir info structures as (partially) used in Nebbitt's + Native API Reference. Keep for backward compatibility. */ + typedef struct _FILE_FULL_DIR_INFORMATION + FILE_FULL_DIRECTORY_INFORMATION, *PFILE_FULL_DIRECTORY_INFORMATION; + typedef struct _FILE_ID_FULL_DIR_INFORMATION + FILE_ID_FULL_DIRECTORY_INFORMATION, *PFILE_ID_FULL_DIRECTORY_INFORMATION; + typedef struct _FILE_BOTH_DIR_INFORMATION + FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION; + typedef struct _FILE_ID_BOTH_DIR_INFORMATION + FILE_ID_BOTH_DIRECTORY_INFORMATION, *PFILE_ID_BOTH_DIRECTORY_INFORMATION; + + typedef struct _FILE_BASIC_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + ULONG FileAttributes; + } FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; + + typedef struct _FILE_STANDARD_INFORMATION { + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; + } FILE_STANDARD_INFORMATION, *PFILE_STANDARD_INFORMATION; + + typedef struct _FILE_INTERNAL_INFORMATION { + LARGE_INTEGER IndexNumber; + } FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION; + + typedef struct _FILE_EA_INFORMATION { + ULONG EaSize; + } FILE_EA_INFORMATION, *PFILE_EA_INFORMATION; + + typedef struct _FILE_ACCESS_INFORMATION { + ACCESS_MASK AccessFlags; + } FILE_ACCESS_INFORMATION, *PFILE_ACCESS_INFORMATION; + + typedef struct _FILE_LINK_INFORMATION { + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + ULONG FileNameLength; + WCHAR FileName[1]; + } FILE_LINK_INFORMATION, *PFILE_LINK_INFORMATION; + + typedef struct _FILE_NAME_INFORMATION { + ULONG FileNameLength; + WCHAR FileName[1]; + } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION; + + typedef struct _FILE_RENAME_INFORMATION { + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + ULONG FileNameLength; + WCHAR FileName[1]; + } FILE_RENAME_INFORMATION, *PFILE_RENAME_INFORMATION; + + typedef struct _FILE_NAMES_INFORMATION { + ULONG NextEntryOffset; + ULONG FileIndex; + ULONG FileNameLength; + WCHAR FileName[1]; + } FILE_NAMES_INFORMATION, *PFILE_NAMES_INFORMATION; + + typedef struct _FILE_DISPOSITION_INFORMATION { + BOOLEAN DoDeleteFile; + } FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION; + + typedef struct _FILE_POSITION_INFORMATION { + LARGE_INTEGER CurrentByteOffset; + } FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION; + + typedef struct _FILE_ALIGNMENT_INFORMATION { + ULONG AlignmentRequirement; + } FILE_ALIGNMENT_INFORMATION, *PFILE_ALIGNMENT_INFORMATION; + + typedef struct _FILE_ALLOCATION_INFORMATION { + LARGE_INTEGER AllocationSize; + } FILE_ALLOCATION_INFORMATION, *PFILE_ALLOCATION_INFORMATION; + + typedef struct _FILE_END_OF_FILE_INFORMATION { + LARGE_INTEGER EndOfFile; + } FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION; + + typedef struct _FILE_NETWORK_OPEN_INFORMATION { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + ULONG FileAttributes; + } FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION; + + typedef struct _FILE_FULL_EA_INFORMATION { + ULONG NextEntryOffset; + UCHAR Flags; + UCHAR EaNameLength; + USHORT EaValueLength; + CHAR EaName[1]; + } FILE_FULL_EA_INFORMATION, *PFILE_FULL_EA_INFORMATION; + + typedef struct _FILE_MODE_INFORMATION { + ULONG Mode; + } FILE_MODE_INFORMATION, *PFILE_MODE_INFORMATION; + + typedef struct _FILE_STREAM_INFORMATION { + ULONG NextEntryOffset; + ULONG StreamNameLength; + LARGE_INTEGER StreamSize; + LARGE_INTEGER StreamAllocationSize; + WCHAR StreamName[1]; + } FILE_STREAM_INFORMATION, *PFILE_STREAM_INFORMATION; + + typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION { + ULONG FileAttributes; + ULONG ReparseTag; + } FILE_ATTRIBUTE_TAG_INFORMATION, *PFILE_ATTRIBUTE_TAG_INFORMATION; + + typedef struct _FILE_MAILSLOT_QUERY_INFORMATION { + ULONG MaximumMessageSize; + ULONG MailslotQuota; + ULONG NextMessageSize; + ULONG MessagesAvailable; + LARGE_INTEGER ReadTimeout; + } FILE_MAILSLOT_QUERY_INFORMATION, *PFILE_MAILSLOT_QUERY_INFORMATION; + + typedef struct _FILE_MAILSLOT_SET_INFORMATION { + LARGE_INTEGER ReadTimeout; + } FILE_MAILSLOT_SET_INFORMATION, *PFILE_MAILSLOT_SET_INFORMATION; + + typedef struct _FILE_PIPE_LOCAL_INFORMATION { + ULONG NamedPipeType; + ULONG NamedPipeConfiguration; + ULONG MaximumInstances; + ULONG CurrentInstances; + ULONG InboundQuota; + ULONG ReadDataAvailable; + ULONG OutboundQuota; + ULONG WriteQuotaAvailable; + ULONG NamedPipeState; + ULONG NamedPipeEnd; + } FILE_PIPE_LOCAL_INFORMATION, *PFILE_PIPE_LOCAL_INFORMATION; + + typedef struct _FILE_ALL_INFORMATION { + FILE_BASIC_INFORMATION BasicInformation; + FILE_STANDARD_INFORMATION StandardInformation; + FILE_INTERNAL_INFORMATION InternalInformation; + FILE_EA_INFORMATION EaInformation; + FILE_ACCESS_INFORMATION AccessInformation; + FILE_POSITION_INFORMATION PositionInformation; + FILE_MODE_INFORMATION ModeInformation; + FILE_ALIGNMENT_INFORMATION AlignmentInformation; + FILE_NAME_INFORMATION NameInformation; + } FILE_ALL_INFORMATION, *PFILE_ALL_INFORMATION; + + typedef enum _FSINFOCLASS { + FileFsVolumeInformation = 1, + FileFsLabelInformation, + FileFsSizeInformation, + FileFsDeviceInformation, + FileFsAttributeInformation, + FileFsControlInformation, + FileFsFullSizeInformation, + FileFsObjectIdInformation, + FileFsDriverPathInformation, + FileFsVolumeFlagsInformation, + FileFsMaximumInformation + } FS_INFORMATION_CLASS, *PFS_INFORMATION_CLASS; + + typedef struct _FILE_FS_VOLUME_INFORMATION { + LARGE_INTEGER VolumeCreationTime; + ULONG VolumeSerialNumber; + ULONG VolumeLabelLength; + BOOLEAN SupportsObjects; + WCHAR VolumeLabel[1]; + } FILE_FS_VOLUME_INFORMATION, *PFILE_FS_VOLUME_INFORMATION; + + typedef struct _FILE_FS_LABEL_INFORMATION { + ULONG VolumeLabelLength; + WCHAR VolumeLabel[1]; + } FILE_FS_LABEL_INFORMATION, *PFILE_FS_LABEL_INFORMATION; + + typedef struct _FILE_FS_SIZE_INFORMATION { + LARGE_INTEGER TotalAllocationUnits; + LARGE_INTEGER AvailableAllocationUnits; + ULONG SectorsPerAllocationUnit; + ULONG BytesPerSector; + } FILE_FS_SIZE_INFORMATION, *PFILE_FS_SIZE_INFORMATION; + + typedef struct _FILE_FS_DEVICE_INFORMATION { + DEVICE_TYPE DeviceType; + ULONG Characteristics; + } FILE_FS_DEVICE_INFORMATION, *PFILE_FS_DEVICE_INFORMATION; + + typedef struct _FILE_FS_ATTRIBUTE_INFORMATION { + ULONG FileSystemAttributes; + ULONG MaximumComponentNameLength; + ULONG FileSystemNameLength; + WCHAR FileSystemName[1]; + } FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION; + + typedef struct _FILE_FS_FULL_SIZE_INFORMATION { + LARGE_INTEGER TotalAllocationUnits; + LARGE_INTEGER CallerAvailableAllocationUnits; + LARGE_INTEGER ActualAvailableAllocationUnits; + ULONG SectorsPerAllocationUnit; + ULONG BytesPerSector; + } FILE_FS_FULL_SIZE_INFORMATION, *PFILE_FS_FULL_SIZE_INFORMATION; + + typedef struct _FILE_FS_OBJECTID_INFORMATION { + UCHAR ObjectId[16]; + UCHAR ExtendedInfo[48]; + } FILE_FS_OBJECTID_INFORMATION, *PFILE_FS_OBJECTID_INFORMATION; + + typedef struct _IO_STATUS_BLOCK { + __C89_NAMELESS union { + NTSTATUS Status; + PVOID Pointer; + }; + ULONG_PTR Information; + } IO_STATUS_BLOCK,*PIO_STATUS_BLOCK; + + typedef VOID (NTAPI *PIO_APC_ROUTINE)(PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG Reserved); + +#ifdef __ia64__ + typedef struct _FRAME_POINTERS { + ULONGLONG MemoryStackFp; + ULONGLONG BackingStoreFp; + } FRAME_POINTERS,*PFRAME_POINTERS; + +#define UNWIND_HISTORY_TABLE_SIZE 12 + + typedef struct _RUNTIME_FUNCTION { + ULONG BeginAddress; + ULONG EndAddress; + ULONG UnwindInfoAddress; + } RUNTIME_FUNCTION,*PRUNTIME_FUNCTION; + + typedef struct _UNWIND_HISTORY_TABLE_ENTRY { + ULONG64 ImageBase; + ULONG64 Gp; + PRUNTIME_FUNCTION FunctionEntry; + } UNWIND_HISTORY_TABLE_ENTRY,*PUNWIND_HISTORY_TABLE_ENTRY; + + typedef struct _UNWIND_HISTORY_TABLE { + ULONG Count; + UCHAR Search; + ULONG64 LowAddress; + ULONG64 HighAddress; + UNWIND_HISTORY_TABLE_ENTRY Entry[UNWIND_HISTORY_TABLE_SIZE]; + } UNWIND_HISTORY_TABLE,*PUNWIND_HISTORY_TABLE; +#endif + + typedef struct _VM_COUNTERS { + SIZE_T PeakVirtualSize; + SIZE_T VirtualSize; + ULONG PageFaultCount; + SIZE_T PeakWorkingSetSize; + SIZE_T WorkingSetSize; + SIZE_T QuotaPeakPagedPoolUsage; + SIZE_T QuotaPagedPoolUsage; + SIZE_T QuotaPeakNonPagedPoolUsage; + SIZE_T QuotaNonPagedPoolUsage; + SIZE_T PagefileUsage; + SIZE_T PeakPagefileUsage; + } VM_COUNTERS, *PVM_COUNTERS; + + typedef enum _THREAD_STATE { + StateInitialized = 0, + StateReady, StateRunning, StateStandby, StateTerminated, + StateWait, StateTransition, + StateUnknown + } THREAD_STATE; + + typedef struct _CLIENT_ID { + HANDLE UniqueProcess; + HANDLE UniqueThread; + } CLIENT_ID, *PCLIENT_ID; + + typedef LONG KPRIORITY; + + typedef enum _KWAIT_REASON { + Executive = 0, + FreePage, PageIn, PoolAllocation, DelayExecution, + Suspended, UserRequest, WrExecutive, WrFreePage, WrPageIn, + WrPoolAllocation, WrDelayExecution, WrSuspended, + WrUserRequest, WrEventPair, WrQueue, WrLpcReceive, + WrLpcReply, WrVirtualMemory, WrPageOut, WrRendezvous, + Spare2, Spare3, Spare4, Spare5, Spare6, WrKernel, + MaximumWaitReason + } KWAIT_REASON; + + typedef struct _SYSTEM_THREADS + { + LARGE_INTEGER KernelTime; + LARGE_INTEGER UserTime; + LARGE_INTEGER CreateTime; + ULONG WaitTime; + PVOID StartAddress; + CLIENT_ID ClientId; + KPRIORITY Priority; + KPRIORITY BasePriority; + ULONG ContextSwitchCount; + THREAD_STATE State; + KWAIT_REASON WaitReason; + } SYSTEM_THREADS, *PSYSTEM_THREADS; + + typedef struct _PROCESS_BASIC_INFORMATION { + NTSTATUS ExitStatus; + PPEB PebBaseAddress; + KAFFINITY AffinityMask; + KPRIORITY BasePriority; + ULONG_PTR UniqueProcessId; + ULONG_PTR InheritedFromUniqueProcessId; + } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION; + + typedef struct _KERNEL_USER_TIMES { + FILETIME CreateTime; + FILETIME ExitTime; + LARGE_INTEGER KernelTime; + LARGE_INTEGER UserTime; + } KERNEL_USER_TIMES, *PKERNEL_USER_TIMES; + + typedef struct _SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION { + LARGE_INTEGER IdleTime; + LARGE_INTEGER KernelTime; + LARGE_INTEGER UserTime; + LARGE_INTEGER Reserved1[2]; + ULONG Reserved2; + } SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION,*PSYSTEM_PROCESSOR_PERFORMANCE_INFORMATION; + + typedef struct _SYSTEM_PROCESS_INFORMATION { + ULONG NextEntryOffset; + ULONG NumberOfThreads; + LARGE_INTEGER Reserved[3]; + LARGE_INTEGER CreateTime; + LARGE_INTEGER UserTime; + LARGE_INTEGER KernelTime; + UNICODE_STRING ImageName; + KPRIORITY BasePriority; + HANDLE UniqueProcessId; + HANDLE InheritedFromUniqueProcessId; + ULONG HandleCount; + ULONG SessionId; + ULONG PageDirectoryBase; + VM_COUNTERS VirtualMemoryCounters; + SIZE_T PrivatePageCount; + IO_COUNTERS IoCounters; + } SYSTEM_PROCESS_INFORMATION,*PSYSTEM_PROCESS_INFORMATION; + + typedef struct _SYSTEM_THREAD_INFORMATION { + LARGE_INTEGER Reserved1[3]; + ULONG Reserved2; + PVOID StartAddress; + CLIENT_ID ClientId; + KPRIORITY Priority; + LONG BasePriority; + ULONG Reserved3; + ULONG ThreadState; + ULONG WaitReason; + } SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION; + + typedef struct _SYSTEM_REGISTRY_QUOTA_INFORMATION { + ULONG RegistryQuotaAllowed; + ULONG RegistryQuotaUsed; + PVOID Reserved1; + } SYSTEM_REGISTRY_QUOTA_INFORMATION,*PSYSTEM_REGISTRY_QUOTA_INFORMATION; + + typedef struct _SYSTEM_BASIC_INFORMATION { + BYTE Reserved1[4]; + ULONG MaximumIncrement; + ULONG PhysicalPageSize; + ULONG NumberOfPhysicalPages; + ULONG LowestPhysicalPage; + ULONG HighestPhysicalPage; + ULONG AllocationGranularity; + ULONG_PTR LowestUserAddress; + ULONG_PTR HighestUserAddress; + ULONG_PTR ActiveProcessors; + CCHAR NumberOfProcessors; + } SYSTEM_BASIC_INFORMATION,*PSYSTEM_BASIC_INFORMATION; + + typedef struct _SYSTEM_PROCESSOR_INFORMATION { + USHORT ProcessorArchitecture; + USHORT ProcessorLevel; + USHORT ProcessorRevision; + USHORT Unknown; + ULONG FeatureBits; + } SYSTEM_PROCESSOR_INFORMATION, *PSYSTEM_PROCESSOR_INFORMATION; + + typedef struct _SYSTEM_TIMEOFDAY_INFORMATION { + LARGE_INTEGER BootTime; + LARGE_INTEGER CurrentTime; + LARGE_INTEGER TimeZoneBias; + ULONG CurrentTimeZoneId; + BYTE Reserved1[20]; + } SYSTEM_TIMEOFDAY_INFORMATION,*PSYSTEM_TIMEOFDAY_INFORMATION; + + typedef struct _SYSTEM_PERFORMANCE_INFORMATION { + LARGE_INTEGER IdleTime; + LARGE_INTEGER ReadTransferCount; + LARGE_INTEGER WriteTransferCount; + LARGE_INTEGER OtherTransferCount; + ULONG ReadOperationCount; + ULONG WriteOperationCount; + ULONG OtherOperationCount; + ULONG AvailablePages; + ULONG TotalCommittedPages; + ULONG TotalCommitLimit; + ULONG PeakCommitment; + ULONG PageFaults; + ULONG WriteCopyFaults; + ULONG TransitionFaults; + ULONG CacheTransitionFaults; + ULONG DemandZeroFaults; + ULONG PagesRead; + ULONG PageReadIos; + ULONG CacheReads; + ULONG CacheIos; + ULONG PagefilePagesWritten; + ULONG PagefilePageWriteIos; + ULONG MappedFilePagesWritten; + ULONG MappedFilePageWriteIos; + ULONG PagedPoolUsage; + ULONG NonPagedPoolUsage; + ULONG PagedPoolAllocs; + ULONG PagedPoolFrees; + ULONG NonPagedPoolAllocs; + ULONG NonPagedPoolFrees; + ULONG TotalFreeSystemPtes; + ULONG SystemCodePage; + ULONG TotalSystemDriverPages; + ULONG TotalSystemCodePages; + ULONG SmallNonPagedLookasideListAllocateHits; + ULONG SmallPagedLookasideListAllocateHits; + ULONG Reserved3; + ULONG MmSystemCachePage; + ULONG PagedPoolPage; + ULONG SystemDriverPage; + ULONG FastReadNoWait; + ULONG FastReadWait; + ULONG FastReadResourceMiss; + ULONG FastReadNotPossible; + ULONG FastMdlReadNoWait; + ULONG FastMdlReadWait; + ULONG FastMdlReadResourceMiss; + ULONG FastMdlReadNotPossible; + ULONG MapDataNoWait; + ULONG MapDataWait; + ULONG MapDataNoWaitMiss; + ULONG MapDataWaitMiss; + ULONG PinMappedDataCount; + ULONG PinReadNoWait; + ULONG PinReadWait; + ULONG PinReadNoWaitMiss; + ULONG PinReadWaitMiss; + ULONG CopyReadNoWait; + ULONG CopyReadWait; + ULONG CopyReadNoWaitMiss; + ULONG CopyReadWaitMiss; + ULONG MdlReadNoWait; + ULONG MdlReadWait; + ULONG MdlReadNoWaitMiss; + ULONG MdlReadWaitMiss; + ULONG ReadAheadIos; + ULONG LazyWriteIos; + ULONG LazyWritePages; + ULONG DataFlushes; + ULONG DataPages; + ULONG ContextSwitches; + ULONG FirstLevelTbFills; + ULONG SecondLevelTbFills; + ULONG SystemCalls; + } SYSTEM_PERFORMANCE_INFORMATION, *PSYSTEM_PERFORMANCE_INFORMATION; + + typedef struct _SYSTEM_EXCEPTION_INFORMATION { + BYTE Reserved1[16]; + } SYSTEM_EXCEPTION_INFORMATION,*PSYSTEM_EXCEPTION_INFORMATION; + + typedef struct _SYSTEM_LOOKASIDE_INFORMATION { + BYTE Reserved1[32]; + } SYSTEM_LOOKASIDE_INFORMATION,*PSYSTEM_LOOKASIDE_INFORMATION; + + typedef struct _SYSTEM_INTERRUPT_INFORMATION { + BYTE Reserved1[24]; + } SYSTEM_INTERRUPT_INFORMATION,*PSYSTEM_INTERRUPT_INFORMATION; + + typedef struct _SYSTEM_POLICY_INFORMATION { + PVOID Reserved1[2]; + ULONG Reserved2[3]; + } SYSTEM_POLICY_INFORMATION, *PSYSTEM_POLICY_INFORMATION; + + typedef struct _SYSTEM_HANDLE_ENTRY { + ULONG OwnerPid; + BYTE ObjectType; + BYTE HandleFlags; + USHORT HandleValue; + PVOID ObjectPointer; + ULONG AccessMask; + } SYSTEM_HANDLE_ENTRY, *PSYSTEM_HANDLE_ENTRY; + + typedef struct _SYSTEM_HANDLE_INFORMATION { + ULONG Count; + SYSTEM_HANDLE_ENTRY Handle[1]; + } SYSTEM_HANDLE_INFORMATION, *PSYSTEM_HANDLE_INFORMATION; + + typedef struct _SYSTEM_PAGEFILE_INFORMATION { + ULONG NextEntryOffset; + ULONG CurrentSize; + ULONG TotalUsed; + ULONG PeakUsed; + UNICODE_STRING FileName; + } SYSTEM_PAGEFILE_INFORMATION, *PSYSTEM_PAGEFILE_INFORMATION; + + typedef struct _PUBLIC_OBJECT_BASIC_INFORMATION { + ULONG Attributes; + ACCESS_MASK GrantedAccess; + ULONG HandleCount; + ULONG PointerCount; + ULONG Reserved[10]; + } PUBLIC_OBJECT_BASIC_INFORMATION, *PPUBLIC_OBJECT_BASIC_INFORMATION; + + typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION { + UNICODE_STRING TypeName; + ULONG Reserved[22]; + } PUBLIC_OBJECT_TYPE_INFORMATION, *PPUBLIC_OBJECT_TYPE_INFORMATION; + + typedef enum _PROCESSINFOCLASS { + ProcessBasicInformation, + ProcessQuotaLimits, + ProcessIoCounters, + ProcessVmCounters, + ProcessTimes, + ProcessBasePriority, + ProcessRaisePriority, + ProcessDebugPort, + ProcessExceptionPort, + ProcessAccessToken, + ProcessLdtInformation, + ProcessLdtSize, + ProcessDefaultHardErrorMode, + ProcessIoPortHandlers, + ProcessPooledUsageAndLimits, + ProcessWorkingSetWatch, + ProcessUserModeIOPL, + ProcessEnableAlignmentFaultFixup, + ProcessPriorityClass, + ProcessWx86Information, + ProcessHandleCount, + ProcessAffinityMask, + ProcessPriorityBoost, + ProcessDeviceMap, + ProcessSessionInformation, + ProcessForegroundInformation, + ProcessWow64Information, + ProcessImageFileName, + ProcessLUIDDeviceMapsEnabled, + ProcessBreakOnTermination, + ProcessDebugObjectHandle, + ProcessDebugFlags, + ProcessHandleTracing, + ProcessIoPriority, + ProcessExecuteFlags, + ProcessTlsInformation, + ProcessCookie, + ProcessImageInformation, + ProcessCycleTime, + ProcessPagePriority, + ProcessInstrumentationCallback, + ProcessThreadStackAllocation, + ProcessWorkingSetWatchEx, + ProcessImageFileNameWin32, + ProcessImageFileMapping, + ProcessAffinityUpdateMode, + ProcessMemoryAllocationMode, + ProcessGroupInformation, + ProcessTokenVirtualizationEnabled, + ProcessConsoleHostProcess, + ProcessWindowInformation, + MaxProcessInfoClass + } PROCESSINFOCLASS; + + typedef enum _THREADINFOCLASS { + ThreadBasicInformation, + ThreadTimes, + ThreadPriority, + ThreadBasePriority, + ThreadAffinityMask, + ThreadImpersonationToken, + ThreadDescriptorTableEntry, + ThreadEnableAlignmentFaultFixup, + ThreadEventPair, + ThreadQuerySetWin32StartAddress, + ThreadZeroTlsCell, + ThreadPerformanceCount, + ThreadAmILastThread, + ThreadIdealProcessor, + ThreadPriorityBoost, + ThreadSetTlsArrayAddress, + ThreadIsIoPending, + ThreadHideFromDebugger + } THREADINFOCLASS; + + typedef struct _THREAD_NAME_INFORMATION { + UNICODE_STRING ThreadName; + } THREAD_NAME_INFORMATION, *PTHREAD_NAME_INFORMATION; + +#define CODEINTEGRITY_OPTION_ENABLED 0x01 +#define CODEINTEGRITY_OPTION_TESTSIGN 0x02 +#define CODEINTEGRITY_OPTION_UMCI_ENABLED 0x04 +#define CODEINTEGRITY_OPTION_UMCI_AUDITMODE_ENABLED 0x08 +#define CODEINTEGRITY_OPTION_UMCI_EXCLUSIONPATHS_ENABLED 0x10 +#define CODEINTEGRITY_OPTION_TEST_BUILD 0x20 +#define CODEINTEGRITY_OPTION_PREPRODUCTION_BUILD 0x40 +#define CODEINTEGRITY_OPTION_DEBUGMODE_ENABLED 0x80 +#define CODEINTEGRITY_OPTION_FLIGHT_BUILD 0x100 +#define CODEINTEGRITY_OPTION_FLIGHTING_ENABLED 0x200 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_ENABLED 0x400 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_AUDITMODE_ENABLED 0x800 +#define CODEINTEGRITY_OPTION_HVCI_KMCI_STRICTMODE_ENABLED 0x1000 +#define CODEINTEGRITY_OPTION_HVCI_IUM_ENABLED 0x2000 + + typedef struct _SYSTEM_CODEINTEGRITY_INFORMATION { + ULONG Length; + ULONG CodeIntegrityOptions; + } SYSTEM_CODEINTEGRITY_INFORMATION, *PSYSTEM_CODEINTEGRITY_INFORMATION; + + typedef enum _SYSTEM_INFORMATION_CLASS { + SystemBasicInformation = 0, + SystemProcessorInformation = 1, + SystemPerformanceInformation = 2, + SystemTimeOfDayInformation = 3, + SystemProcessInformation = 5, + SystemProcessorPerformanceInformation = 8, + SystemHandleInformation = 16, + SystemPagefileInformation = 18, + SystemInterruptInformation = 23, + SystemExceptionInformation = 33, + SystemRegistryQuotaInformation = 37, + SystemLookasideInformation = 45, + SystemCodeIntegrityInformation = 103, + SystemPolicyInformation = 134 + } SYSTEM_INFORMATION_CLASS; + + typedef enum _OBJECT_INFORMATION_CLASS { + ObjectBasicInformation, + ObjectNameInformation, + ObjectTypeInformation, + ObjectAllInformation, + ObjectDataInformation + } OBJECT_INFORMATION_CLASS, *POBJECT_INFORMATION_CLASS; + +#if (_WIN32_WINNT >= 0x0501) +#define INTERNAL_TS_ACTIVE_CONSOLE_ID (*((volatile ULONG*)(0x7ffe02d8))) +#endif + +#define RtlMoveMemory(Destination,Source,Length) memmove((Destination),(Source),(Length)) +#define RtlFillMemory(Destination,Length,Fill) memset((Destination),(Fill),(Length)) +#define RtlZeroMemory(Destination,Length) memset((Destination),0,(Length)) + + typedef struct _KEY_VALUE_ENTRY { + PUNICODE_STRING ValueName; + ULONG DataLength; + ULONG DataOffset; + ULONG Type; + } KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY; + + typedef enum _KEY_SET_INFORMATION_CLASS { + KeyWriteTimeInformation, + KeyWow64FlagsInformation, + KeyControlFlagsInformation, + KeySetVirtualizationInformation, + KeySetDebugInformation, + KeySetHandleTagsInformation, + MaxKeySetInfoClass + } KEY_SET_INFORMATION_CLASS; + + NTSTATUS NTAPI NtClose(HANDLE Handle); + NTSTATUS NTAPI NtCreateFile(PHANDLE FileHandle,ACCESS_MASK DesiredAccess,POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,PLARGE_INTEGER AllocationSize,ULONG FileAttributes,ULONG ShareAccess,ULONG CreateDisposition,ULONG CreateOptions,PVOID EaBuffer,ULONG EaLength); + NTSTATUS NTAPI NtOpenFile(PHANDLE FileHandle,ACCESS_MASK DesiredAccess,POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,ULONG ShareAccess,ULONG OpenOptions); + NTSTATUS NTAPI NtRenameKey(HANDLE KeyHandle, PUNICODE_STRING NewName); + NTSTATUS NTAPI NtNotifyChangeMultipleKeys(HANDLE MasterKeyHandle, ULONG Count, OBJECT_ATTRIBUTES SubordinateObjects[], HANDLE Event, PIO_APC_ROUTINE ApcRoutine, PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG CompletionFilter, BOOLEAN WatchTree, PVOID Buffer, ULONG BufferSize, BOOLEAN Asynchronous); + NTSTATUS NTAPI NtQueryMultipleValueKey(HANDLE KeyHandle, PKEY_VALUE_ENTRY ValueEntries, ULONG EntryCount, PVOID ValueBuffer, PULONG BufferLength, PULONG RequiredBufferLength); + NTSTATUS NTAPI NtSetInformationKey(HANDLE KeyHandle, KEY_SET_INFORMATION_CLASS KeySetInformationClass, PVOID KeySetInformation, ULONG KeySetInformationLength); + NTSTATUS NTAPI NtFsControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID OutputBuffer,ULONG OutputBufferLength); + NTSTATUS NTAPI NtDeviceIoControlFile(HANDLE FileHandle,HANDLE Event,PIO_APC_ROUTINE ApcRoutine,PVOID ApcContext,PIO_STATUS_BLOCK IoStatusBlock,ULONG IoControlCode,PVOID InputBuffer,ULONG InputBufferLength,PVOID OutputBuffer,ULONG OutputBufferLength); + NTSTATUS NTAPI NtWaitForSingleObject(HANDLE Handle,BOOLEAN Alertable,PLARGE_INTEGER Timeout); + BOOLEAN NTAPI RtlIsNameLegalDOS8Dot3(PUNICODE_STRING Name,POEM_STRING OemName,PBOOLEAN NameContainsSpaces); + ULONG NTAPI RtlNtStatusToDosError (NTSTATUS Status); + NTSTATUS NTAPI NtQueryInformationProcess(HANDLE ProcessHandle,PROCESSINFOCLASS ProcessInformationClass,PVOID ProcessInformation,ULONG ProcessInformationLength,PULONG ReturnLength); + NTSTATUS NTAPI NtQueryInformationThread(HANDLE ThreadHandle,THREADINFOCLASS ThreadInformationClass,PVOID ThreadInformation,ULONG ThreadInformationLength,PULONG ReturnLength); + NTSTATUS NTAPI NtSetInformationThread(HANDLE ThreadHandle,THREADINFOCLASS ThreadInformationClass,PVOID ThreadInformation,ULONG ThreadInformationLength); + NTSTATUS NTAPI NtQueryInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass); + NTSTATUS NTAPI NtQueryObject(HANDLE Handle,OBJECT_INFORMATION_CLASS ObjectInformationClass,PVOID ObjectInformation,ULONG ObjectInformationLength,PULONG ReturnLength); + NTSTATUS NTAPI NtQuerySystemInformation(SYSTEM_INFORMATION_CLASS SystemInformationClass,PVOID SystemInformation,ULONG SystemInformationLength,PULONG ReturnLength); + NTSTATUS NTAPI NtQuerySystemTime(PLARGE_INTEGER SystemTime); + NTSTATUS NTAPI NtQueryTimerResolution(PULONG MaximumTime,PULONG MinimumTime,PULONG CurrentTime); + NTSTATUS NTAPI NtQueryVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FS_INFORMATION_CLASS FsInformationClass); + NTSTATUS NTAPI NtSetInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass); + NTSTATUS NTAPI NtSetInformationProcess(HANDLE ProcessHandle, PROCESSINFOCLASS ProcessInformationClass, PVOID ProcessInformation, ULONG ProcessInformationLength); + NTSTATUS NTAPI NtSetVolumeInformationFile(HANDLE hFile,PIO_STATUS_BLOCK io,PVOID ptr,ULONG len,FILE_INFORMATION_CLASS FileInformationClass); + NTSTATUS NTAPI RtlLocalTimeToSystemTime(PLARGE_INTEGER LocalTime,PLARGE_INTEGER SystemTime); + BOOLEAN NTAPI RtlTimeToSecondsSince1970(PLARGE_INTEGER Time,PULONG ElapsedSeconds); + VOID NTAPI RtlFreeAnsiString(PANSI_STRING AnsiString); + VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString); + VOID NTAPI RtlFreeOemString(POEM_STRING OemString); + VOID NTAPI RtlInitString (PSTRING DestinationString,PCSZ SourceString); + NTSTATUS NTAPI RtlInitStringEx(PSTRING DestinationString, PCSZ SourceString); + VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString,PCSZ SourceString); + NTSTATUS NTAPI RtlInitAnsiStringEx(PANSI_STRING DestinationString, PCSZ SourceString); + VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString,PCWSTR SourceString); + NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString,PCANSI_STRING SourceString,BOOLEAN AllocateDestinationString); + NTSTATUS NTAPI RtlUnicodeStringToAnsiString(PANSI_STRING DestinationString,PCUNICODE_STRING SourceString,BOOLEAN AllocateDestinationString); + NTSTATUS NTAPI RtlUnicodeStringToOemString(POEM_STRING DestinationString,PCUNICODE_STRING SourceString,BOOLEAN AllocateDestinationString); + NTSTATUS NTAPI RtlUnicodeToMultiByteSize(PULONG BytesInMultiByteString,PWCH UnicodeString,ULONG BytesInUnicodeString); + NTSTATUS NTAPI RtlCharToInteger (PCSZ String,ULONG Base,PULONG Value); + NTSTATUS NTAPI RtlConvertSidToUnicodeString(PUNICODE_STRING UnicodeString,PSID Sid,BOOLEAN AllocateDestinationString); + ULONG NTAPI RtlUniform(PULONG Seed); + VOID NTAPI RtlUnwind (PVOID TargetFrame,PVOID TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue); + BOOL NTAPI RtlDosPathNameToNtPathName_U(PCWSTR DosPathName, PUNICODE_STRING NtPathName, PCWSTR *NtFileNamePart, VOID *DirectoryInfo); + BOOLEAN NTAPI RtlPrefixUnicodeString(PCUNICODE_STRING String1, PCUNICODE_STRING String2, BOOLEAN CaseInSensitive); + BOOLEAN NTAPI RtlCreateUnicodeStringFromAsciiz(PUNICODE_STRING target, LPCSTR src); +#ifdef __ia64__ + VOID RtlUnwind2(FRAME_POINTERS TargetFrame,PVOID TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue,PCONTEXT ContextRecord); + VOID RtlUnwindEx(FRAME_POINTERS TargetFrame,PVOID TargetIp,PEXCEPTION_RECORD ExceptionRecord,PVOID ReturnValue,PCONTEXT ContextRecord,PUNWIND_HISTORY_TABLE HistoryTable); +#endif + + typedef NTSTATUS (NTAPI *PRTL_HEAP_COMMIT_ROUTINE) (PVOID Base, PVOID *CommitAddress, PSIZE_T CommitSize); + + typedef struct _RTL_HEAP_PARAMETERS { + ULONG Length; + SIZE_T SegmentReserve; + SIZE_T SegmentCommit; + SIZE_T DeCommitFreeBlockThreshold; + SIZE_T DeCommitTotalFreeThreshold; + SIZE_T MaximumAllocationSize; + SIZE_T VirtualMemoryThreshold; + SIZE_T InitialCommit; + SIZE_T InitialReserve; + PRTL_HEAP_COMMIT_ROUTINE CommitRoutine; + SIZE_T Reserved[ 2 ]; + } RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS; + + BOOLEAN NTAPI RtlFreeHeap(PVOID HeapHandle, ULONG Flags, PVOID HeapBase); + PVOID NTAPI RtlAllocateHeap(PVOID HeapHandle, ULONG Flags, SIZE_T Size); + PVOID NTAPI RtlCreateHeap(ULONG Flags, PVOID HeapBase, SIZE_T ReserveSize, SIZE_T CommitSize, PVOID Lock, PRTL_HEAP_PARAMETERS Parameters); + PVOID NTAPI RtlDestroyHeap(PVOID HeapHandle); + +#define LOGONID_CURRENT ((ULONG)-1) +#define SERVERNAME_CURRENT ((HANDLE)NULL) + + typedef enum _WINSTATIONINFOCLASS { + WinStationInformation = 8 + } WINSTATIONINFOCLASS; + + typedef struct _WINSTATIONINFORMATIONW { + BYTE Reserved2[70]; + ULONG LogonId; + BYTE Reserved3[1140]; + } WINSTATIONINFORMATIONW,*PWINSTATIONINFORMATIONW; + + typedef BOOLEAN (NTAPI *PWINSTATIONQUERYINFORMATIONW)(HANDLE,ULONG,WINSTATIONINFOCLASS,PVOID,ULONG,PULONG); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wintrust.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wintrust.h new file mode 100644 index 00000000..858b2d4d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wintrust.h @@ -0,0 +1,618 @@ +/** + * 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 WINTRUST_H +#define WINTRUST_H + +#include + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef WIN_CERT_REVISION_1_0 +#define WT_DEFINE_ALL_APIS +#else +#undef WT_DEFINE_ALL_APIS +#endif + +#include + +#define WTD_UI_ALL 1 +#define WTD_UI_NONE 2 +#define WTD_UI_NOBAD 3 +#define WTD_UI_NOGOOD 4 + +#define WTD_REVOKE_NONE 0x00000000 +#define WTD_REVOKE_WHOLECHAIN 0x00000001 + +#define WTD_CHOICE_FILE 1 +#define WTD_CHOICE_CATALOG 2 +#define WTD_CHOICE_BLOB 3 +#define WTD_CHOICE_SIGNER 4 +#define WTD_CHOICE_CERT 5 + +#define WTD_STATEACTION_IGNORE 0x00000000 +#define WTD_STATEACTION_VERIFY 0x00000001 +#define WTD_STATEACTION_CLOSE 0x00000002 +#define WTD_STATEACTION_AUTO_CACHE 0x00000003 +#define WTD_STATEACTION_AUTO_CACHE_FLUSH 0x00000004 + +#define WTD_PROV_FLAGS_MASK 0x0000FFFF +#define WTD_USE_IE4_TRUST_FLAG 0x00000001 +#define WTD_NO_IE4_CHAIN_FLAG 0x00000002 +#define WTD_NO_POLICY_USAGE_FLAG 0x00000004 +#define WTD_REVOCATION_CHECK_NONE 0x00000010 +#define WTD_REVOCATION_CHECK_END_CERT 0x00000020 +#define WTD_REVOCATION_CHECK_CHAIN 0x00000040 +#define WTD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x00000080 +#define WTD_SAFER_FLAG 0x00000100 +#define WTD_HASH_ONLY_FLAG 0x00000200 +#define WTD_USE_DEFAULT_OSVER_CHECK 0x00000400 +#define WTD_LIFETIME_SIGNING_FLAG 0x00000800 +#define WTD_CACHE_ONLY_URL_RETRIEVAL 0x00001000 + +#define WTD_UICONTEXT_EXECUTE 0 +#define WTD_UICONTEXT_INSTALL 1 + + typedef struct _WINTRUST_DATA { + DWORD cbStruct; + LPVOID pPolicyCallbackData; + LPVOID pSIPClientData; + DWORD dwUIChoice; + DWORD fdwRevocationChecks; + DWORD dwUnionChoice; + __C89_NAMELESS union { + struct WINTRUST_FILE_INFO_ *pFile; + struct WINTRUST_CATALOG_INFO_ *pCatalog; + struct WINTRUST_BLOB_INFO_ *pBlob; + struct WINTRUST_SGNR_INFO_ *pSgnr; + struct WINTRUST_CERT_INFO_ *pCert; + }; + DWORD dwStateAction; + HANDLE hWVTStateData; + WCHAR *pwszURLReference; + DWORD dwProvFlags; + DWORD dwUIContext; + } WINTRUST_DATA,*PWINTRUST_DATA; + + typedef struct WINTRUST_FILE_INFO_ { + DWORD cbStruct; + LPCWSTR pcwszFilePath; + HANDLE hFile; + GUID *pgKnownSubject; + } WINTRUST_FILE_INFO,*PWINTRUST_FILE_INFO; + + typedef HANDLE HCATADMIN; + + typedef struct WINTRUST_CATALOG_INFO_ { + DWORD cbStruct; + DWORD dwCatalogVersion; + LPCWSTR pcwszCatalogFilePath; + LPCWSTR pcwszMemberTag; + LPCWSTR pcwszMemberFilePath; + HANDLE hMemberFile; + BYTE *pbCalculatedFileHash; + DWORD cbCalculatedFileHash; + PCCTL_CONTEXT pcCatalogContext; +#if (NTDDI_VERSION >= NTDDI_WIN8) + HCATADMIN hCatAdmin; +#endif + } WINTRUST_CATALOG_INFO,*PWINTRUST_CATALOG_INFO; + + typedef struct WINTRUST_BLOB_INFO_ { + DWORD cbStruct; + GUID gSubject; + LPCWSTR pcwszDisplayName; + DWORD cbMemObject; + BYTE *pbMemObject; + DWORD cbMemSignedMsg; + BYTE *pbMemSignedMsg; + } WINTRUST_BLOB_INFO,*PWINTRUST_BLOB_INFO; + + typedef struct WINTRUST_SGNR_INFO_ { + DWORD cbStruct; + LPCWSTR pcwszDisplayName; + CMSG_SIGNER_INFO *psSignerInfo; + DWORD chStores; + HCERTSTORE *pahStores; + } WINTRUST_SGNR_INFO,*PWINTRUST_SGNR_INFO; + +#define WTCI_DONT_OPEN_STORES 0x00000001 +#define WTCI_OPEN_ONLY_ROOT 0x00000002 + + typedef struct WINTRUST_CERT_INFO_ { + DWORD cbStruct; + LPCWSTR pcwszDisplayName; + CERT_CONTEXT *psCertContext; + DWORD chStores; + HCERTSTORE *pahStores; + DWORD dwFlags; + FILETIME *psftVerifyAsOf; + } WINTRUST_CERT_INFO,*PWINTRUST_CERT_INFO; + +#include + + extern LONG WINAPI WinVerifyTrust(HWND hwnd,GUID *pgActionID,LPVOID pWVTData); + extern HRESULT WINAPI WinVerifyTrustEx(HWND hwnd,GUID *pgActionID,WINTRUST_DATA *pWinTrustData); + +#define WTPF_TRUSTTEST 0x00000020 +#define WTPF_TESTCANBEVALID 0x00000080 +#define WTPF_IGNOREEXPIRATION 0x00000100 +#define WTPF_IGNOREREVOKATION 0x00000200 +#define WTPF_OFFLINEOK_IND 0x00000400 +#define WTPF_OFFLINEOK_COM 0x00000800 +#define WTPF_OFFLINEOKNBU_IND 0x00001000 +#define WTPF_OFFLINEOKNBU_COM 0x00002000 +#define WTPF_VERIFY_V1_OFF 0x00010000 +#define WTPF_IGNOREREVOCATIONONTS 0x00020000 +#define WTPF_ALLOWONLYPERTRUST 0x00040000 + + extern void WINAPI WintrustGetRegPolicyFlags(DWORD *pdwPolicyFlags); + extern WINBOOL WINAPI WintrustSetRegPolicyFlags(DWORD dwPolicyFlags); + +#define TRUSTERROR_STEP_WVTPARAMS 0 +#define TRUSTERROR_STEP_FILEIO 2 +#define TRUSTERROR_STEP_SIP 3 +#define TRUSTERROR_STEP_SIPSUBJINFO 5 +#define TRUSTERROR_STEP_CATALOGFILE 6 +#define TRUSTERROR_STEP_CERTSTORE 7 +#define TRUSTERROR_STEP_MESSAGE 8 +#define TRUSTERROR_STEP_MSG_SIGNERCOUNT 9 +#define TRUSTERROR_STEP_MSG_INNERCNTTYPE 10 +#define TRUSTERROR_STEP_MSG_INNERCNT 11 +#define TRUSTERROR_STEP_MSG_STORE 12 +#define TRUSTERROR_STEP_MSG_SIGNERINFO 13 +#define TRUSTERROR_STEP_MSG_SIGNERCERT 14 +#define TRUSTERROR_STEP_MSG_CERTCHAIN 15 +#define TRUSTERROR_STEP_MSG_COUNTERSIGINFO 16 +#define TRUSTERROR_STEP_MSG_COUNTERSIGCERT 17 +#define TRUSTERROR_STEP_VERIFY_MSGHASH 18 +#define TRUSTERROR_STEP_VERIFY_MSGINDIRECTDATA 19 + +#define TRUSTERROR_STEP_FINAL_WVTINIT 30 +#define TRUSTERROR_STEP_FINAL_INITPROV 31 +#define TRUSTERROR_STEP_FINAL_OBJPROV 32 +#define TRUSTERROR_STEP_FINAL_SIGPROV 33 +#define TRUSTERROR_STEP_FINAL_CERTPROV 34 +#define TRUSTERROR_STEP_FINAL_CERTCHKPROV 35 +#define TRUSTERROR_STEP_FINAL_POLICYPROV 36 +#define TRUSTERROR_STEP_FINAL_UIPROV 37 + +#define TRUSTERROR_MAX_STEPS 38 + + typedef void *(*PFN_CPD_MEM_ALLOC)(DWORD cbSize); + typedef void (*PFN_CPD_MEM_FREE)(void *pvMem2Free); + typedef WINBOOL (*PFN_CPD_ADD_STORE)(struct _CRYPT_PROVIDER_DATA *pProvData,HCERTSTORE hStore2Add); + typedef WINBOOL (*PFN_CPD_ADD_SGNR)(struct _CRYPT_PROVIDER_DATA *pProvData,WINBOOL fCounterSigner,DWORD idxSigner,struct _CRYPT_PROVIDER_SGNR *pSgnr2Add); + typedef WINBOOL (*PFN_CPD_ADD_CERT)(struct _CRYPT_PROVIDER_DATA *pProvData,DWORD idxSigner,WINBOOL fCounterSigner,DWORD idxCounterSigner,PCCERT_CONTEXT pCert2Add); + typedef WINBOOL (*PFN_CPD_ADD_PRIVDATA)(struct _CRYPT_PROVIDER_DATA *pProvData,struct _CRYPT_PROVIDER_PRIVDATA *pPrivData2Add); + typedef HRESULT (*PFN_PROVIDER_INIT_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_OBJTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_SIGTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_CERTTRUST_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_FINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_TESTFINALPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef HRESULT (*PFN_PROVIDER_CLEANUP_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData); + typedef WINBOOL (*PFN_PROVIDER_CERTCHKPOLICY_CALL)(struct _CRYPT_PROVIDER_DATA *pProvData,DWORD idxSigner,WINBOOL fCounterSignerChain,DWORD idxCounterSigner); + +#define WVT_OFFSETOF(t,f) ((ULONG)((ULONG_PTR)(&((t*)0)->f))) +#define WVT_ISINSTRUCT(structtypedef,structpassedsize,member) ((WVT_OFFSETOF(structtypedef,member) < structpassedsize) ? TRUE : FALSE) +#define WVT_IS_CBSTRUCT_GT_MEMBEROFFSET(structtypedef,structpassedsize,member) WVT_ISINSTRUCT(structtypedef,structpassedsize,member) + +#include + +#define CPD_CHOICE_SIP 1 + +#define CPD_USE_NT5_CHAIN_FLAG 0x80000000 +#define CPD_REVOCATION_CHECK_NONE 0x00010000 +#define CPD_REVOCATION_CHECK_END_CERT 0x00020000 +#define CPD_REVOCATION_CHECK_CHAIN 0x00040000 +#define CPD_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT 0x00080000 + +#define CPD_UISTATE_MODE_PROMPT 0x00000000 +#define CPD_UISTATE_MODE_BLOCK 0x00000001 +#define CPD_UISTATE_MODE_ALLOW 0x00000002 +#define CPD_UISTATE_MODE_MASK 0x00000003 + + typedef struct _CRYPT_PROVIDER_DATA { + DWORD cbStruct; + WINTRUST_DATA *pWintrustData; + WINBOOL fOpenedFile; + HWND hWndParent; + GUID *pgActionID; + HCRYPTPROV hProv; + DWORD dwError; + DWORD dwRegSecuritySettings; + DWORD dwRegPolicySettings; + struct _CRYPT_PROVIDER_FUNCTIONS *psPfns; + DWORD cdwTrustStepErrors; + DWORD *padwTrustStepErrors; + DWORD chStores; + HCERTSTORE *pahStores; + DWORD dwEncoding; + HCRYPTMSG hMsg; + DWORD csSigners; + struct _CRYPT_PROVIDER_SGNR *pasSigners; + DWORD csProvPrivData; + struct _CRYPT_PROVIDER_PRIVDATA *pasProvPrivData; + DWORD dwSubjectChoice; + __C89_NAMELESS union { + struct _PROVDATA_SIP *pPDSip; + }; + char *pszUsageOID; + WINBOOL fRecallWithState; + FILETIME sftSystemTime; + char *pszCTLSignerUsageOID; + DWORD dwProvFlags; + DWORD dwFinalError; + PCERT_USAGE_MATCH pRequestUsage; + DWORD dwTrustPubSettings; + DWORD dwUIStateFlags; + } CRYPT_PROVIDER_DATA,*PCRYPT_PROVIDER_DATA; + + typedef struct _CRYPT_PROVIDER_FUNCTIONS { + DWORD cbStruct; + PFN_CPD_MEM_ALLOC pfnAlloc; + PFN_CPD_MEM_FREE pfnFree; + PFN_CPD_ADD_STORE pfnAddStore2Chain; + PFN_CPD_ADD_SGNR pfnAddSgnr2Chain; + PFN_CPD_ADD_CERT pfnAddCert2Chain; + PFN_CPD_ADD_PRIVDATA pfnAddPrivData2Chain; + PFN_PROVIDER_INIT_CALL pfnInitialize; + PFN_PROVIDER_OBJTRUST_CALL pfnObjectTrust; + PFN_PROVIDER_SIGTRUST_CALL pfnSignatureTrust; + PFN_PROVIDER_CERTTRUST_CALL pfnCertificateTrust; + PFN_PROVIDER_FINALPOLICY_CALL pfnFinalPolicy; + PFN_PROVIDER_CERTCHKPOLICY_CALL pfnCertCheckPolicy; + PFN_PROVIDER_TESTFINALPOLICY_CALL pfnTestFinalPolicy; + struct _CRYPT_PROVUI_FUNCS *psUIpfns; + PFN_PROVIDER_CLEANUP_CALL pfnCleanupPolicy; + } CRYPT_PROVIDER_FUNCTIONS,*PCRYPT_PROVIDER_FUNCTIONS; + + typedef WINBOOL (*PFN_PROVUI_CALL)(HWND hWndSecurityDialog,struct _CRYPT_PROVIDER_DATA *pProvData); + + typedef struct _CRYPT_PROVUI_FUNCS { + DWORD cbStruct; + struct _CRYPT_PROVUI_DATA *psUIData; + PFN_PROVUI_CALL pfnOnMoreInfoClick; + PFN_PROVUI_CALL pfnOnMoreInfoClickDefault; + PFN_PROVUI_CALL pfnOnAdvancedClick; + PFN_PROVUI_CALL pfnOnAdvancedClickDefault; + } CRYPT_PROVUI_FUNCS,*PCRYPT_PROVUI_FUNCS; + + typedef struct _CRYPT_PROVUI_DATA { + DWORD cbStruct; + DWORD dwFinalError; + WCHAR *pYesButtonText; + WCHAR *pNoButtonText; + WCHAR *pMoreInfoButtonText; + WCHAR *pAdvancedLinkText; + WCHAR *pCopyActionText; + WCHAR *pCopyActionTextNoTS; + WCHAR *pCopyActionTextNotSigned; + } CRYPT_PROVUI_DATA,*PCRYPT_PROVUI_DATA; + +#define SGNR_TYPE_TIMESTAMP 0x00000010 + + typedef struct _CRYPT_PROVIDER_SGNR { + DWORD cbStruct; + FILETIME sftVerifyAsOf; + DWORD csCertChain; + struct _CRYPT_PROVIDER_CERT *pasCertChain; + DWORD dwSignerType; + CMSG_SIGNER_INFO *psSigner; + DWORD dwError; + DWORD csCounterSigners; + struct _CRYPT_PROVIDER_SGNR *pasCounterSigners; + PCCERT_CHAIN_CONTEXT pChainContext; + } CRYPT_PROVIDER_SGNR,*PCRYPT_PROVIDER_SGNR; + +#define CERT_CONFIDENCE_SIG 0x10000000 +#define CERT_CONFIDENCE_TIME 0x01000000 +#define CERT_CONFIDENCE_TIMENEST 0x00100000 +#define CERT_CONFIDENCE_AUTHIDEXT 0x00010000 +#define CERT_CONFIDENCE_HYGIENE 0x00001000 +#define CERT_CONFIDENCE_HIGHEST 0x11111000 + + typedef struct _CRYPT_PROVIDER_CERT { + DWORD cbStruct; + PCCERT_CONTEXT pCert; + WINBOOL fCommercial; + WINBOOL fTrustedRoot; + WINBOOL fSelfSigned; + WINBOOL fTestCert; + DWORD dwRevokedReason; + DWORD dwConfidence; + DWORD dwError; + CTL_CONTEXT *pTrustListContext; + WINBOOL fTrustListSignerCert; + PCCTL_CONTEXT pCtlContext; + DWORD dwCtlError; + WINBOOL fIsCyclic; + PCERT_CHAIN_ELEMENT pChainElement; + } CRYPT_PROVIDER_CERT,*PCRYPT_PROVIDER_CERT; + + typedef struct _CRYPT_PROVIDER_PRIVDATA { + DWORD cbStruct; + GUID gProviderID; + DWORD cbProvData; + void *pvProvData; + } CRYPT_PROVIDER_PRIVDATA,*PCRYPT_PROVIDER_PRIVDATA; + + typedef struct _PROVDATA_SIP { + DWORD cbStruct; + GUID gSubject; + struct SIP_DISPATCH_INFO_ *pSip; + struct SIP_DISPATCH_INFO_ *pCATSip; + struct SIP_SUBJECTINFO_ *psSipSubjectInfo; + struct SIP_SUBJECTINFO_ *psSipCATSubjectInfo; + struct SIP_INDIRECT_DATA_ *psIndirectData; + } PROVDATA_SIP,*PPROVDATA_SIP; + +#define WT_CURRENT_VERSION 0x00000200 + + typedef struct _CRYPT_TRUST_REG_ENTRY { + DWORD cbStruct; + WCHAR *pwszDLLName; + WCHAR *pwszFunctionName; + } CRYPT_TRUST_REG_ENTRY,*PCRYPT_TRUST_REG_ENTRY; + + typedef struct _CRYPT_REGISTER_ACTIONID { + DWORD cbStruct; + CRYPT_TRUST_REG_ENTRY sInitProvider; + CRYPT_TRUST_REG_ENTRY sObjectProvider; + CRYPT_TRUST_REG_ENTRY sSignatureProvider; + CRYPT_TRUST_REG_ENTRY sCertificateProvider; + CRYPT_TRUST_REG_ENTRY sCertificatePolicyProvider; + CRYPT_TRUST_REG_ENTRY sFinalPolicyProvider; + CRYPT_TRUST_REG_ENTRY sTestPolicyProvider; + CRYPT_TRUST_REG_ENTRY sCleanupProvider; + } CRYPT_REGISTER_ACTIONID,*PCRYPT_REGISTER_ACTIONID; + + typedef WINBOOL (*PFN_ALLOCANDFILLDEFUSAGE)(const char *pszUsageOID,struct _CRYPT_PROVIDER_DEFUSAGE *psDefUsage); + typedef WINBOOL (*PFN_FREEDEFUSAGE)(const char *pszUsageOID,struct _CRYPT_PROVIDER_DEFUSAGE *psDefUsage); + + typedef struct _CRYPT_PROVIDER_REGDEFUSAGE { + DWORD cbStruct; + GUID *pgActionID; + WCHAR *pwszDllName; + char *pwszLoadCallbackDataFunctionName; + char *pwszFreeCallbackDataFunctionName; + } CRYPT_PROVIDER_REGDEFUSAGE,*PCRYPT_PROVIDER_REGDEFUSAGE; + + typedef struct _CRYPT_PROVIDER_DEFUSAGE { + DWORD cbStruct; + GUID gActionID; + LPVOID pDefPolicyCallbackData; + LPVOID pDefSIPClientData; + } CRYPT_PROVIDER_DEFUSAGE,*PCRYPT_PROVIDER_DEFUSAGE; + +#include + +#define WT_PROVIDER_DLL_NAME L"WINTRUST.DLL" +#define WT_PROVIDER_CERTTRUST_FUNCTION L"WintrustCertificateTrust" + + extern WINBOOL WINAPI WintrustAddActionID(GUID *pgActionID,DWORD fdwFlags,CRYPT_REGISTER_ACTIONID *psProvInfo); + +#define WT_ADD_ACTION_ID_RET_RESULT_FLAG 0x1 + + extern WINBOOL WINAPI WintrustRemoveActionID(GUID *pgActionID); + extern WINBOOL WINAPI WintrustLoadFunctionPointers(GUID *pgActionID,CRYPT_PROVIDER_FUNCTIONS *pPfns); + extern WINBOOL WINAPI WintrustAddDefaultForUsage(const char *pszUsageOID,CRYPT_PROVIDER_REGDEFUSAGE *psDefUsage); + +#define DWACTION_ALLOCANDFILL 1 +#define DWACTION_FREE 2 + + extern WINBOOL WINAPI WintrustGetDefaultForUsage(DWORD dwAction,const char *pszUsageOID,CRYPT_PROVIDER_DEFUSAGE *psUsage); + extern CRYPT_PROVIDER_SGNR *WINAPI WTHelperGetProvSignerFromChain(CRYPT_PROVIDER_DATA *pProvData,DWORD idxSigner,WINBOOL fCounterSigner,DWORD idxCounterSigner); + extern CRYPT_PROVIDER_CERT *WINAPI WTHelperGetProvCertFromChain(CRYPT_PROVIDER_SGNR *pSgnr,DWORD idxCert); + extern CRYPT_PROVIDER_DATA *WINAPI WTHelperProvDataFromStateData(HANDLE hStateData); + extern CRYPT_PROVIDER_PRIVDATA *WINAPI WTHelperGetProvPrivateDataFromChain(CRYPT_PROVIDER_DATA *pProvData,GUID *pgProviderID); + extern WINBOOL WINAPI WTHelperCertIsSelfSigned(DWORD dwEncoding,CERT_INFO *pCert); + extern HRESULT WINAPI WTHelperCertCheckValidSignature(CRYPT_PROVIDER_DATA *pProvData); + +#include + +#define szOID_TRUSTED_CODESIGNING_CA_LIST "1.3.6.1.4.1.311.2.2.1" +#define szOID_TRUSTED_CLIENT_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.2" +#define szOID_TRUSTED_SERVER_AUTH_CA_LIST "1.3.6.1.4.1.311.2.2.3" + +#define SPC_COMMON_NAME_OBJID szOID_COMMON_NAME +#define SPC_TIME_STAMP_REQUEST_OBJID "1.3.6.1.4.1.311.3.2.1" +#define SPC_INDIRECT_DATA_OBJID "1.3.6.1.4.1.311.2.1.4" +#define SPC_SP_AGENCY_INFO_OBJID "1.3.6.1.4.1.311.2.1.10" +#define SPC_STATEMENT_TYPE_OBJID "1.3.6.1.4.1.311.2.1.11" +#define SPC_SP_OPUS_INFO_OBJID "1.3.6.1.4.1.311.2.1.12" +#define SPC_CERT_EXTENSIONS_OBJID "1.3.6.1.4.1.311.2.1.14" +#define SPC_PE_IMAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.15" +#define SPC_RAW_FILE_DATA_OBJID "1.3.6.1.4.1.311.2.1.18" +#define SPC_STRUCTURED_STORAGE_DATA_OBJID "1.3.6.1.4.1.311.2.1.19" +#define SPC_JAVA_CLASS_DATA_OBJID "1.3.6.1.4.1.311.2.1.20" +#define SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.21" +#define SPC_COMMERCIAL_SP_KEY_PURPOSE_OBJID "1.3.6.1.4.1.311.2.1.22" +#define SPC_CAB_DATA_OBJID "1.3.6.1.4.1.311.2.1.25" +#define SPC_GLUE_RDN_OBJID "1.3.6.1.4.1.311.2.1.25" +#define SPC_MINIMAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.26" +#define SPC_FINANCIAL_CRITERIA_OBJID "1.3.6.1.4.1.311.2.1.27" +#define SPC_LINK_OBJID "1.3.6.1.4.1.311.2.1.28" +#define SPC_SIGINFO_OBJID "1.3.6.1.4.1.311.2.1.30" + +#define CAT_NAMEVALUE_OBJID "1.3.6.1.4.1.311.12.2.1" +#define CAT_MEMBERINFO_OBJID "1.3.6.1.4.1.311.12.2.2" + +#define SPC_SP_AGENCY_INFO_STRUCT ((LPCSTR) 2000) +#define SPC_MINIMAL_CRITERIA_STRUCT ((LPCSTR) 2001) +#define SPC_FINANCIAL_CRITERIA_STRUCT ((LPCSTR) 2002) +#define SPC_INDIRECT_DATA_CONTENT_STRUCT ((LPCSTR) 2003) +#define SPC_PE_IMAGE_DATA_STRUCT ((LPCSTR) 2004) +#define SPC_LINK_STRUCT ((LPCSTR) 2005) +#define SPC_STATEMENT_TYPE_STRUCT ((LPCSTR) 2006) +#define SPC_SP_OPUS_INFO_STRUCT ((LPCSTR) 2007) +#define SPC_CAB_DATA_STRUCT ((LPCSTR) 2008) +#define SPC_JAVA_CLASS_DATA_STRUCT ((LPCSTR) 2009) + +#define SPC_SIGINFO_STRUCT ((LPCSTR) 2130) + +#define CAT_NAMEVALUE_STRUCT ((LPCSTR) 2221) +#define CAT_MEMBERINFO_STRUCT ((LPCSTR) 2222) + +#define SPC_UUID_LENGTH 16 + + typedef BYTE SPC_UUID[SPC_UUID_LENGTH]; + + typedef struct _SPC_SERIALIZED_OBJECT { + SPC_UUID ClassId; + CRYPT_DATA_BLOB SerializedData; + } SPC_SERIALIZED_OBJECT,*PSPC_SERIALIZED_OBJECT; + + typedef struct SPC_SIGINFO_ { + DWORD dwSipVersion; + GUID gSIPGuid; + DWORD dwReserved1; + DWORD dwReserved2; + DWORD dwReserved3; + DWORD dwReserved4; + DWORD dwReserved5; + } SPC_SIGINFO,*PSPC_SIGINFO; + +#define SPC_URL_LINK_CHOICE 1 +#define SPC_MONIKER_LINK_CHOICE 2 +#define SPC_FILE_LINK_CHOICE 3 + + typedef struct SPC_LINK_ { + DWORD dwLinkChoice; + __C89_NAMELESS union { + LPWSTR pwszUrl; + SPC_SERIALIZED_OBJECT Moniker; + LPWSTR pwszFile; + }; + } SPC_LINK,*PSPC_LINK; + + typedef struct _SPC_PE_IMAGE_DATA { + CRYPT_BIT_BLOB Flags; + PSPC_LINK pFile; + } SPC_PE_IMAGE_DATA,*PSPC_PE_IMAGE_DATA; + + typedef struct _SPC_INDIRECT_DATA_CONTENT { + CRYPT_ATTRIBUTE_TYPE_VALUE Data; + CRYPT_ALGORITHM_IDENTIFIER DigestAlgorithm; + CRYPT_HASH_BLOB Digest; + } SPC_INDIRECT_DATA_CONTENT,*PSPC_INDIRECT_DATA_CONTENT; + + typedef struct _SPC_FINANCIAL_CRITERIA { + WINBOOL fFinancialInfoAvailable; + WINBOOL fMeetsCriteria; + } SPC_FINANCIAL_CRITERIA,*PSPC_FINANCIAL_CRITERIA; + + typedef struct _SPC_IMAGE { + struct SPC_LINK_ *pImageLink; + CRYPT_DATA_BLOB Bitmap; + CRYPT_DATA_BLOB Metafile; + CRYPT_DATA_BLOB EnhancedMetafile; + CRYPT_DATA_BLOB GifFile; + } SPC_IMAGE,*PSPC_IMAGE; + + typedef struct _SPC_SP_AGENCY_INFO { + struct SPC_LINK_ *pPolicyInformation; + LPWSTR pwszPolicyDisplayText; + PSPC_IMAGE pLogoImage; + struct SPC_LINK_ *pLogoLink; + } SPC_SP_AGENCY_INFO,*PSPC_SP_AGENCY_INFO; + + typedef struct _SPC_STATEMENT_TYPE { + DWORD cKeyPurposeId; + LPSTR *rgpszKeyPurposeId; + } SPC_STATEMENT_TYPE,*PSPC_STATEMENT_TYPE; + + typedef struct _SPC_SP_OPUS_INFO { + LPCWSTR pwszProgramName; + struct SPC_LINK_ *pMoreInfo; + struct SPC_LINK_ *pPublisherInfo; + } SPC_SP_OPUS_INFO,*PSPC_SP_OPUS_INFO; + + typedef struct _CAT_NAMEVALUE { + LPWSTR pwszTag; + DWORD fdwFlags; + CRYPT_DATA_BLOB Value; + } CAT_NAMEVALUE,*PCAT_NAMEVALUE; + + typedef struct _CAT_MEMBERINFO { + LPWSTR pwszSubjGuid; + DWORD dwCertVersion; + } CAT_MEMBERINFO,*PCAT_MEMBERINFO; + +#include + +#ifdef WT_DEFINE_ALL_APIS + typedef struct _WIN_CERTIFICATE { + DWORD dwLength; + WORD wRevision; + WORD wCertificateType; + BYTE bCertificate[ANYSIZE_ARRAY]; + } WIN_CERTIFICATE,*LPWIN_CERTIFICATE; + +#define WIN_CERT_REVISION_1_0 (0x0100) +#define WIN_CERT_REVISION_2_0 (0x0200) +#define WIN_CERT_TYPE_X509 (0x0001) +#define WIN_CERT_TYPE_PKCS_SIGNED_DATA (0x0002) +#define WIN_CERT_TYPE_RESERVED_1 (0x0003) +#define WIN_CERT_TYPE_TS_STACK_SIGNED (0x0004) + + typedef LPVOID WIN_TRUST_SUBJECT; + + typedef struct _WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT { + HANDLE hClientToken; + GUID *SubjectType; + WIN_TRUST_SUBJECT Subject; + } WIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT,*LPWIN_TRUST_ACTDATA_CONTEXT_WITH_SUBJECT; + + typedef struct _WIN_TRUST_ACTDATA_SUBJECT_ONLY { + GUID *SubjectType; + WIN_TRUST_SUBJECT Subject; + } WIN_TRUST_ACTDATA_SUBJECT_ONLY,*LPWIN_TRUST_ACTDATA_SUBJECT_ONLY; + +#define WIN_TRUST_SUBJTYPE_RAW_FILE { 0x959dc450,0x8d9e,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_TRUST_SUBJTYPE_PE_IMAGE { 0x43c9a1e0,0x8da0,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_TRUST_SUBJTYPE_JAVA_CLASS { 0x08ad3990,0x8da1,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_TRUST_SUBJTYPE_CABINET { 0xd17c5374,0xa392,0x11cf,{ 0x9d,0xf5,0x0,0xaa,0x0,0xc1,0x84,0xe0 } } + + typedef struct _WIN_TRUST_SUBJECT_FILE { + HANDLE hFile; + LPCWSTR lpPath; + } WIN_TRUST_SUBJECT_FILE,*LPWIN_TRUST_SUBJECT_FILE; + +#define WIN_TRUST_SUBJTYPE_RAW_FILEEX { 0x6f458110,0xc2f1,0x11cf,{ 0x8a,0x69,0x0,0xaa,0x0,0x6c,0x37,0x6 } } +#define WIN_TRUST_SUBJTYPE_PE_IMAGEEX { 0x6f458111,0xc2f1,0x11cf,{ 0x8a,0x69,0x0,0xaa,0x0,0x6c,0x37,0x6 } } +#define WIN_TRUST_SUBJTYPE_JAVA_CLASSEX { 0x6f458113,0xc2f1,0x11cf,{ 0x8a,0x69,0x0,0xaa,0x0,0x6c,0x37,0x6 } } +#define WIN_TRUST_SUBJTYPE_CABINETEX { 0x6f458114,0xc2f1,0x11cf,{ 0x8a,0x69,0x0,0xaa,0x0,0x6c,0x37,0x6 } } + + typedef struct _WIN_TRUST_SUBJECT_FILE_AND_DISPLAY { + HANDLE hFile; + LPCWSTR lpPath; + LPCWSTR lpDisplayName; + } WIN_TRUST_SUBJECT_FILE_AND_DISPLAY,*LPWIN_TRUST_SUBJECT_FILE_AND_DISPLAY; + +#define WIN_TRUST_SUBJTYPE_OLE_STORAGE { 0xc257e740,0x8da0,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_SPUB_ACTION_TRUSTED_PUBLISHER { 0x66426730,0x8da1,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_SPUB_ACTION_NT_ACTIVATE_IMAGE { 0x8bc96b00,0x8da1,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } +#define WIN_SPUB_ACTION_PUBLISHED_SOFTWARE { 0x64b9d180,0x8da2,0x11cf,{0x87,0x36,0x00,0xaa,0x00,0xa4,0x85,0xeb} } + + typedef struct _WIN_SPUB_TRUSTED_PUBLISHER_DATA { + HANDLE hClientToken; + LPWIN_CERTIFICATE lpCertificate; + } WIN_SPUB_TRUSTED_PUBLISHER_DATA,*LPWIN_SPUB_TRUSTED_PUBLISHER_DATA; + +#endif /* WT_DEFINE_ALL_APIS */ + +#if (_WIN32_WINNT >= 0x0600) +void WINAPI WintrustSetDefaultIncludePEPageHashes(WINBOOL fIncludePEPageHashes); +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusb.h new file mode 100644 index 00000000..c558ed74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusb.h @@ -0,0 +1,111 @@ +/* + This Software is provided under the Zope Public License (ZPL) Version 2.1. + + Copyright (c) 2009, 2010, 2013 by the mingw-w64 project + + See the AUTHORS file for the list of contributors to the mingw-w64 project. + + This license has been certified as open source. It has also been designated + as GPL compatible by the Free Software Foundation (FSF). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions in source code must retain the accompanying copyright + notice, this list of conditions, and the following disclaimer. + 2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + 3. Names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission + from the copyright holders. + 4. The right to distribute this software or to use it for any purpose does + not give you the right to use Servicemarks (sm) or Trademarks (tm) of + the copyright holders. Use of them is covered by separate agreement + with the copyright holders. + 5. If any files are modified, you must cause the modified files to carry + prominent notices stating that you changed the files and the date of + any change. + + Disclaimer + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __WUSB_H__ +#define __WUSB_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include /* for PWINUSB_PIPE_INFORMATION */ +#include /* for PUSB_INTERFACE_DESCRIPTOR */ + + typedef PVOID WINUSB_INTERFACE_HANDLE,*PWINUSB_INTERFACE_HANDLE; + typedef PVOID WINUSB_ISOCH_BUFFER_HANDLE,*PWINUSB_ISOCH_BUFFER_HANDLE; + +#include "pshpack1.h" + typedef struct _WINUSB_SETUP_PACKET { + UCHAR RequestType; + UCHAR Request; + USHORT Value; + USHORT Index; + USHORT Length; + } WINUSB_SETUP_PACKET,*PWINUSB_SETUP_PACKET; +#include "poppack.h" + + WINBOOL WINAPI WinUsb_AbortPipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID); + WINBOOL WINAPI WinUsb_ControlTransfer (WINUSB_INTERFACE_HANDLE InterfaceHandle, WINUSB_SETUP_PACKET SetupPacket, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_FlushPipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID); + WINBOOL WINAPI WinUsb_Free (WINUSB_INTERFACE_HANDLE InterfaceHandle); + WINBOOL WINAPI WinUsb_GetAdjustedFrameNumber (PULONG CurrentFrameNumber, LARGE_INTEGER TimeStamp); + WINBOOL WINAPI WinUsb_GetAssociatedInterface (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AssociatedInterfaceIndex, PWINUSB_INTERFACE_HANDLE AssociatedInterfaceHandle); + WINBOOL WINAPI WinUsb_GetCurrentAlternateSetting (WINUSB_INTERFACE_HANDLE InterfaceHandle, PUCHAR SettingNumber); + WINBOOL WINAPI WinUsb_GetCurrentFrameNumber (WINUSB_INTERFACE_HANDLE InterfaceHandle, PULONG CurrentFrameNumber, LARGE_INTEGER* TimeStamp); + WINBOOL WINAPI WinUsb_GetDescriptor (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR DescriptorType, UCHAR Index, USHORT LanguageID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred); + WINBOOL WINAPI WinUsb_GetOverlappedResult (WINUSB_INTERFACE_HANDLE InterfaceHandle, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, WINBOOL bWait); + WINBOOL WINAPI WinUsb_GetPipePolicy (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType, PULONG ValueLength, PVOID Value); + WINBOOL WINAPI WinUsb_GetPowerPolicy (WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType, PULONG ValueLength, PVOID Value); + WINBOOL WINAPI WinUsb_Initialize (HANDLE DeviceHandle, PWINUSB_INTERFACE_HANDLE InterfaceHandle); + PUSB_INTERFACE_DESCRIPTOR WINAPI WinUsb_ParseConfigurationDescriptor (PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor, PVOID StartPosition, LONG InterfaceNumber, LONG AlternateSetting, LONG InterfaceClass, LONG InterfaceSubClass, LONG InterfaceProtocol); + PUSB_COMMON_DESCRIPTOR WINAPI WinUsb_ParseDescriptors (PVOID DescriptorBuffer, ULONG TotalLength, PVOID StartPosition, LONG DescriptorType); + WINBOOL WINAPI WinUsb_ReadIsochPipe (WINUSB_ISOCH_BUFFER_HANDLE BufferHandle, ULONG Offset, ULONG Length, PULONG FrameNumber, ULONG NumberOfPackets, PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_ReadIsochPipeAsap (WINUSB_ISOCH_BUFFER_HANDLE BufferHandle, ULONG Offset, ULONG Length, BOOL ContinueStream, ULONG NumberOfPackets, PUSBD_ISO_PACKET_DESCRIPTOR IsoPacketDescriptors, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_ReadPipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_RegisterIsochBuffer(WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer, ULONG BufferLength, PWINUSB_ISOCH_BUFFER_HANDLE IsochBufferHandle); + WINBOOL WINAPI WinUsb_QueryDeviceInformation (WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG InformationType, PULONG BufferLength, PVOID Buffer); + WINBOOL WINAPI WinUsb_QueryInterfaceSettings (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AlternateInterfaceNumber, PUSB_INTERFACE_DESCRIPTOR UsbAltInterfaceDescriptor); + WINBOOL WINAPI WinUsb_QueryPipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AlternateInterfaceNumber, UCHAR PipeIndex, PWINUSB_PIPE_INFORMATION PipeInformation); + WINBOOL WINAPI WinUsb_QueryPipeEx (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR AlternateInterfaceNumber, UCHAR PipeIndex, PWINUSB_PIPE_INFORMATION_EX PipeInformationEx); + WINBOOL WINAPI WinUsb_ResetPipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID); + WINBOOL WINAPI WinUsb_SetCurrentAlternateSetting (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR SettingNumber); + WINBOOL WINAPI WinUsb_SetPipePolicy (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, ULONG PolicyType, ULONG ValueLength, PVOID Value); + WINBOOL WINAPI WinUsb_SetPowerPolicy (WINUSB_INTERFACE_HANDLE InterfaceHandle, ULONG PolicyType, ULONG ValueLength, PVOID Value); + WINBOOL WINAPI WinUsb_UnregisterIsochBuffer(WINUSB_ISOCH_BUFFER_HANDLE IsochBufferHandle); + WINBOOL WINAPI WinUsb_WriteIsochPipe (WINUSB_ISOCH_BUFFER_HANDLE BufferHandle, ULONG Offset, ULONG Length, PULONG FrameNumber, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_WriteIsochPipeAsap (WINUSB_ISOCH_BUFFER_HANDLE BufferHandle, ULONG Offset, ULONG Length, BOOL ContinueStream, LPOVERLAPPED Overlapped); + WINBOOL WINAPI WinUsb_WritePipe (WINUSB_INTERFACE_HANDLE InterfaceHandle, UCHAR PipeID, PUCHAR Buffer, ULONG BufferLength, PULONG LengthTransferred, LPOVERLAPPED Overlapped); + +#ifdef __cplusplus +} +#endif + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusbio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusbio.h new file mode 100644 index 00000000..18616550 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winusbio.h @@ -0,0 +1,106 @@ +/* + This Software is provided under the Zope Public License (ZPL) Version 2.1. + + Copyright (c) 2009, 2010, 2013 by the mingw-w64 project + + See the AUTHORS file for the list of contributors to the mingw-w64 project. + + This license has been certified as open source. It has also been designated + as GPL compatible by the Free Software Foundation (FSF). + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions in source code must retain the accompanying copyright + notice, this list of conditions, and the following disclaimer. + 2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + 3. Names of the copyright holders must not be used to endorse or promote + products derived from this software without prior written permission + from the copyright holders. + 4. The right to distribute this software or to use it for any purpose does + not give you the right to use Servicemarks (sm) or Trademarks (tm) of + the copyright holders. Use of them is covered by separate agreement + with the copyright holders. + 5. If any files are modified, you must cause the modified files to carry + prominent notices stating that you changed the files and the date of + any change. + + Disclaimer + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO + EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef __WINUSBIO_H +#define __WINUSBIO_H + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include +#include /* for USBD_PIPE_TYPE */ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _WINUSB_PIPE_INFORMATION { + USBD_PIPE_TYPE PipeType; + UCHAR PipeId; + USHORT MaximumPacketSize; + UCHAR Interval; +} WINUSB_PIPE_INFORMATION, *PWINUSB_PIPE_INFORMATION; + +typedef struct _WINUSB_PIPE_INFORMATION_EX { + USBD_PIPE_TYPE PipeType; + UCHAR PipeId; + USHORT MaximumPacketSize; + UCHAR Interval; + ULONG MaximumBytesPerInterval; +} WINUSB_PIPE_INFORMATION_EX, *PWINUSB_PIPE_INFORMATION_EX; + +/* constants for WinUsb_Get/SetPipePolicy. */ +#define SHORT_PACKET_TERMINATE 0x01 +#define AUTO_CLEAR_STALL 0x02 +#define PIPE_TRANSFER_TIMEOUT 0x03 +#define IGNORE_SHORT_PACKETS 0x04 +#define ALLOW_PARTIAL_READS 0x05 +#define AUTO_FLUSH 0x06 +#define RAW_IO 0x07 +#define MAXIMUM_TRANSFER_SIZE 0x08 +#define RESET_PIPE_ON_RESUME 0x09 + +/* constants for WinUsb_Get/SetPowerPolicy. */ +#define AUTO_SUSPEND 0x81 +#define ENABLE_WAKE 0x82 +#define SUSPEND_DELAY 0x83 + +/* constants for WinUsb_QueryDeviceInformation. */ +#define DEVICE_SPEED 0x01 +#define LowSpeed 0x01 +#define FullSpeed 0x02 +#define HighSpeed 0x03 + +#ifdef __cplusplus +} +#endif + +#include +DEFINE_GUID (WinUSB_TestGuid, 0xda812bff, 0x12c3, 0x46a2, 0x8e, 0x2b, 0xdb, 0xd3, 0xb7, 0x83, 0x4c, 0x43); + +#endif + +#endif /* __WINUSBIO_H */ + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.h new file mode 100644 index 00000000..d68333f7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.h @@ -0,0 +1,6803 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#ifndef _WINUSER_ +#define _WINUSER_ + +#include <_mingw_unicode.h> +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef WINVER +#define WINVER 0x0502 +#endif + +#include <_mingw.h> +#include +#include + +#ifndef NOAPISET +#include +#endif + +#ifndef NOUSER +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef HANDLE HDWP; + typedef VOID MENUTEMPLATEA; + typedef VOID MENUTEMPLATEW; + typedef PVOID LPMENUTEMPLATEA; + typedef PVOID LPMENUTEMPLATEW; + + __MINGW_TYPEDEF_AW(MENUTEMPLATE) + __MINGW_TYPEDEF_AW(LPMENUTEMPLATE) + + typedef LRESULT (CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM); +#endif + +#ifdef STRICT +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef INT_PTR (CALLBACK *DLGPROC) (HWND, UINT, WPARAM, LPARAM); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef VOID (CALLBACK *TIMERPROC) (HWND, UINT, UINT_PTR, DWORD); + typedef WINBOOL (CALLBACK *GRAYSTRINGPROC) (HDC, LPARAM, int); + typedef WINBOOL (CALLBACK *WNDENUMPROC) (HWND, LPARAM); + typedef LRESULT (CALLBACK *HOOKPROC) (int code, WPARAM wParam, LPARAM lParam); + typedef VOID (CALLBACK *SENDASYNCPROC) (HWND, UINT, ULONG_PTR, LRESULT); + + typedef WINBOOL (CALLBACK *PROPENUMPROCA) (HWND, LPCSTR, HANDLE); + typedef WINBOOL (CALLBACK *PROPENUMPROCW) (HWND, LPCWSTR, HANDLE); + + typedef WINBOOL (CALLBACK *PROPENUMPROCEXA) (HWND, LPSTR, HANDLE, ULONG_PTR); + typedef WINBOOL (CALLBACK *PROPENUMPROCEXW) (HWND, LPWSTR, HANDLE, ULONG_PTR); + + typedef int (CALLBACK *EDITWORDBREAKPROCA) (LPSTR lpch, int ichCurrent, int cch, int code); + typedef int (CALLBACK *EDITWORDBREAKPROCW) (LPWSTR lpch, int ichCurrent, int cch, int code); + + typedef WINBOOL (CALLBACK *DRAWSTATEPROC) (HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy); +#endif +#else +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef FARPROC DLGPROC; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef FARPROC TIMERPROC; + typedef FARPROC GRAYSTRINGPROC; + typedef FARPROC WNDENUMPROC; + typedef FARPROC HOOKPROC; + typedef FARPROC SENDASYNCPROC; + + typedef FARPROC EDITWORDBREAKPROCA; + typedef FARPROC EDITWORDBREAKPROCW; + + typedef FARPROC PROPENUMPROCA; + typedef FARPROC PROPENUMPROCW; + + typedef FARPROC PROPENUMPROCEXA; + typedef FARPROC PROPENUMPROCEXW; + + typedef FARPROC DRAWSTATEPROC; +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + __MINGW_TYPEDEF_AW(PROPENUMPROC) + __MINGW_TYPEDEF_AW(PROPENUMPROCEX) + __MINGW_TYPEDEF_AW(EDITWORDBREAKPROC) + +#ifdef STRICT + typedef WINBOOL (CALLBACK *NAMEENUMPROCA) (LPSTR, LPARAM); + typedef WINBOOL (CALLBACK *NAMEENUMPROCW) (LPWSTR, LPARAM); + typedef NAMEENUMPROCA WINSTAENUMPROCA; + typedef NAMEENUMPROCW WINSTAENUMPROCW; + typedef NAMEENUMPROCA DESKTOPENUMPROCA; + typedef NAMEENUMPROCW DESKTOPENUMPROCW; +#else + typedef FARPROC NAMEENUMPROCA; + typedef FARPROC NAMEENUMPROCW; + typedef FARPROC WINSTAENUMPROCA; + typedef FARPROC WINSTAENUMPROCW; + typedef FARPROC DESKTOPENUMPROCA; + typedef FARPROC DESKTOPENUMPROCW; +#endif + + __MINGW_TYPEDEF_AW(WINSTAENUMPROC) + __MINGW_TYPEDEF_AW(DESKTOPENUMPROC) +#endif + +#define IS_INTRESOURCE(_r) ((((ULONG_PTR)(_r)) >> 16)==0) +#define MAKEINTRESOURCEA(i) ((LPSTR)((ULONG_PTR)((WORD)(i)))) +#define MAKEINTRESOURCEW(i) ((LPWSTR)((ULONG_PTR)((WORD)(i)))) +#define MAKEINTRESOURCE __MINGW_NAME_AW(MAKEINTRESOURCE) + +#ifndef NORESOURCE +#define RT_CURSOR MAKEINTRESOURCE(1) +#define RT_BITMAP MAKEINTRESOURCE(2) +#define RT_ICON MAKEINTRESOURCE(3) +#define RT_MENU MAKEINTRESOURCE(4) +#define RT_DIALOG MAKEINTRESOURCE(5) +#define RT_STRING MAKEINTRESOURCE(6) +#define RT_FONTDIR MAKEINTRESOURCE(7) +#define RT_FONT MAKEINTRESOURCE(8) +#define RT_ACCELERATOR MAKEINTRESOURCE(9) +#define RT_RCDATA MAKEINTRESOURCE(10) +#define RT_MESSAGETABLE MAKEINTRESOURCE(11) + +#define DIFFERENCE 11 +#define RT_GROUP_CURSOR MAKEINTRESOURCE ((ULONG_PTR) (RT_CURSOR) + DIFFERENCE) +#define RT_GROUP_ICON MAKEINTRESOURCE ((ULONG_PTR) (RT_ICON) + DIFFERENCE) +#define RT_VERSION MAKEINTRESOURCE(16) +#define RT_DLGINCLUDE MAKEINTRESOURCE(17) +#define RT_PLUGPLAY MAKEINTRESOURCE(19) +#define RT_VXD MAKEINTRESOURCE(20) +#define RT_ANICURSOR MAKEINTRESOURCE(21) +#define RT_ANIICON MAKEINTRESOURCE(22) +#define RT_HTML MAKEINTRESOURCE(23) +#ifdef RC_INVOKED +#define RT_MANIFEST 24 + +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2 +#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3 +#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID 1 +#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID 16 +#else +#define RT_MANIFEST MAKEINTRESOURCE(24) + +#define CREATEPROCESS_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) +#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(2) +#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3) +#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(1) +#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(16) +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define wvsprintf __MINGW_NAME_AW(wvsprintf) +#define wsprintf __MINGW_NAME_AW(wsprintf) + + WINUSERAPI int WINAPI wvsprintfA(LPSTR,LPCSTR,va_list arglist); + WINUSERAPI int WINAPI wvsprintfW(LPWSTR,LPCWSTR,va_list arglist); + WINUSERAPI int WINAPIV wsprintfA(LPSTR,LPCSTR,...); + WINUSERAPI int WINAPIV wsprintfW(LPWSTR,LPCWSTR,...); +#endif + +#define SETWALLPAPER_DEFAULT ((LPWSTR)-1) + +#ifndef NOSCROLL +#define SB_HORZ 0 +#define SB_VERT 1 +#define SB_CTL 2 +#define SB_BOTH 3 + +#define SB_LINEUP 0 +#define SB_LINELEFT 0 +#define SB_LINEDOWN 1 +#define SB_LINERIGHT 1 +#define SB_PAGEUP 2 +#define SB_PAGELEFT 2 +#define SB_PAGEDOWN 3 +#define SB_PAGERIGHT 3 +#define SB_THUMBPOSITION 4 +#define SB_THUMBTRACK 5 +#define SB_TOP 6 +#define SB_LEFT 6 +#define SB_BOTTOM 7 +#define SB_RIGHT 7 +#define SB_ENDSCROLL 8 +#endif + +#ifndef NOSHOWWINDOW +#define SW_HIDE 0 +#define SW_SHOWNORMAL 1 +#define SW_NORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_SHOWMAXIMIZED 3 +#define SW_MAXIMIZE 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 + +#define HIDE_WINDOW 0 +#define SHOW_OPENWINDOW 1 +#define SHOW_ICONWINDOW 2 +#define SHOW_FULLSCREEN 3 +#define SHOW_OPENNOACTIVATE 4 + +#define SW_PARENTCLOSING 1 +#define SW_OTHERZOOM 2 +#define SW_PARENTOPENING 3 +#define SW_OTHERUNZOOM 4 +#endif + +#define AW_HOR_POSITIVE 0x00000001 +#define AW_HOR_NEGATIVE 0x00000002 +#define AW_VER_POSITIVE 0x00000004 +#define AW_VER_NEGATIVE 0x00000008 +#define AW_CENTER 0x00000010 +#define AW_HIDE 0x00010000 +#define AW_ACTIVATE 0x00020000 +#define AW_SLIDE 0x00040000 +#define AW_BLEND 0x00080000 + +#define KF_EXTENDED 0x0100 +#define KF_DLGMODE 0x0800 +#define KF_MENUMODE 0x1000 +#define KF_ALTDOWN 0x2000 +#define KF_REPEAT 0x4000 +#define KF_UP 0x8000 + +#ifndef NOVIRTUALKEYCODES + +#define VK_LBUTTON 0x01 +#define VK_RBUTTON 0x02 +#define VK_CANCEL 0x03 +#define VK_MBUTTON 0x04 +#define VK_XBUTTON1 0x05 +#define VK_XBUTTON2 0x06 +#define VK_BACK 0x08 +#define VK_TAB 0x09 +#define VK_CLEAR 0x0C +#define VK_RETURN 0x0D +#define VK_SHIFT 0x10 +#define VK_CONTROL 0x11 +#define VK_MENU 0x12 +#define VK_PAUSE 0x13 +#define VK_CAPITAL 0x14 +#define VK_KANA 0x15 +#define VK_HANGEUL 0x15 +#define VK_HANGUL 0x15 +#define VK_IME_ON 0x16 +#define VK_JUNJA 0x17 +#define VK_FINAL 0x18 +#define VK_HANJA 0x19 +#define VK_KANJI 0x19 +#define VK_IME_OFF 0x1A +#define VK_ESCAPE 0x1B +#define VK_CONVERT 0x1C +#define VK_NONCONVERT 0x1D +#define VK_ACCEPT 0x1E +#define VK_MODECHANGE 0x1F +#define VK_SPACE 0x20 +#define VK_PRIOR 0x21 +#define VK_NEXT 0x22 +#define VK_END 0x23 +#define VK_HOME 0x24 +#define VK_LEFT 0x25 +#define VK_UP 0x26 +#define VK_RIGHT 0x27 +#define VK_DOWN 0x28 +#define VK_SELECT 0x29 +#define VK_PRINT 0x2A +#define VK_EXECUTE 0x2B +#define VK_SNAPSHOT 0x2C +#define VK_INSERT 0x2D +#define VK_DELETE 0x2E +#define VK_HELP 0x2F + +#define VK_LWIN 0x5B +#define VK_RWIN 0x5C +#define VK_APPS 0x5D +#define VK_SLEEP 0x5F +#define VK_NUMPAD0 0x60 +#define VK_NUMPAD1 0x61 +#define VK_NUMPAD2 0x62 +#define VK_NUMPAD3 0x63 +#define VK_NUMPAD4 0x64 +#define VK_NUMPAD5 0x65 +#define VK_NUMPAD6 0x66 +#define VK_NUMPAD7 0x67 +#define VK_NUMPAD8 0x68 +#define VK_NUMPAD9 0x69 +#define VK_MULTIPLY 0x6A +#define VK_ADD 0x6B +#define VK_SEPARATOR 0x6C +#define VK_SUBTRACT 0x6D +#define VK_DECIMAL 0x6E +#define VK_DIVIDE 0x6F +#define VK_F1 0x70 +#define VK_F2 0x71 +#define VK_F3 0x72 +#define VK_F4 0x73 +#define VK_F5 0x74 +#define VK_F6 0x75 +#define VK_F7 0x76 +#define VK_F8 0x77 +#define VK_F9 0x78 +#define VK_F10 0x79 +#define VK_F11 0x7A +#define VK_F12 0x7B +#define VK_F13 0x7C +#define VK_F14 0x7D +#define VK_F15 0x7E +#define VK_F16 0x7F +#define VK_F17 0x80 +#define VK_F18 0x81 +#define VK_F19 0x82 +#define VK_F20 0x83 +#define VK_F21 0x84 +#define VK_F22 0x85 +#define VK_F23 0x86 +#define VK_F24 0x87 +#if _WIN32_WINNT >= 0x0604 +#define VK_NAVIGATION_VIEW 0x88 +#define VK_NAVIGATION_MENU 0x89 +#define VK_NAVIGATION_UP 0x8A +#define VK_NAVIGATION_DOWN 0x8B +#define VK_NAVIGATION_LEFT 0x8C +#define VK_NAVIGATION_RIGHT 0x8D +#define VK_NAVIGATION_ACCEPT 0x8E +#define VK_NAVIGATION_CANCEL 0x8F +#endif /* _WIN32_WINNT >= 0x0604 */ +#define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 +#define VK_OEM_NEC_EQUAL 0x92 +#define VK_OEM_FJ_JISHO 0x92 +#define VK_OEM_FJ_MASSHOU 0x93 +#define VK_OEM_FJ_TOUROKU 0x94 +#define VK_OEM_FJ_LOYA 0x95 +#define VK_OEM_FJ_ROYA 0x96 +#define VK_LSHIFT 0xA0 +#define VK_RSHIFT 0xA1 +#define VK_LCONTROL 0xA2 +#define VK_RCONTROL 0xA3 +#define VK_LMENU 0xA4 +#define VK_RMENU 0xA5 +#define VK_BROWSER_BACK 0xA6 +#define VK_BROWSER_FORWARD 0xA7 +#define VK_BROWSER_REFRESH 0xA8 +#define VK_BROWSER_STOP 0xA9 +#define VK_BROWSER_SEARCH 0xAA +#define VK_BROWSER_FAVORITES 0xAB +#define VK_BROWSER_HOME 0xAC +#define VK_VOLUME_MUTE 0xAD +#define VK_VOLUME_DOWN 0xAE +#define VK_VOLUME_UP 0xAF +#define VK_MEDIA_NEXT_TRACK 0xB0 +#define VK_MEDIA_PREV_TRACK 0xB1 +#define VK_MEDIA_STOP 0xB2 +#define VK_MEDIA_PLAY_PAUSE 0xB3 +#define VK_LAUNCH_MAIL 0xB4 +#define VK_LAUNCH_MEDIA_SELECT 0xB5 +#define VK_LAUNCH_APP1 0xB6 +#define VK_LAUNCH_APP2 0xB7 +#define VK_OEM_1 0xBA +#define VK_OEM_PLUS 0xBB +#define VK_OEM_COMMA 0xBC +#define VK_OEM_MINUS 0xBD +#define VK_OEM_PERIOD 0xBE +#define VK_OEM_2 0xBF +#define VK_OEM_3 0xC0 +#if _WIN32_WINNT >= 0x0604 +#define VK_GAMEPAD_A 0xC3 +#define VK_GAMEPAD_B 0xC4 +#define VK_GAMEPAD_X 0xC5 +#define VK_GAMEPAD_Y 0xC6 +#define VK_GAMEPAD_RIGHT_SHOULDER 0xC7 +#define VK_GAMEPAD_LEFT_SHOULDER 0xC8 +#define VK_GAMEPAD_LEFT_TRIGGER 0xC9 +#define VK_GAMEPAD_RIGHT_TRIGGER 0xCA +#define VK_GAMEPAD_DPAD_UP 0xCB +#define VK_GAMEPAD_DPAD_DOWN 0xCC +#define VK_GAMEPAD_DPAD_LEFT 0xCD +#define VK_GAMEPAD_DPAD_RIGHT 0xCE +#define VK_GAMEPAD_MENU 0xCF +#define VK_GAMEPAD_VIEW 0xD0 +#define VK_GAMEPAD_LEFT_THUMBSTICK_BUTTON 0xD1 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_BUTTON 0xD2 +#define VK_GAMEPAD_LEFT_THUMBSTICK_UP 0xD3 +#define VK_GAMEPAD_LEFT_THUMBSTICK_DOWN 0xD4 +#define VK_GAMEPAD_LEFT_THUMBSTICK_RIGHT 0xD5 +#define VK_GAMEPAD_LEFT_THUMBSTICK_LEFT 0xD6 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_UP 0xD7 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_DOWN 0xD8 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_RIGHT 0xD9 +#define VK_GAMEPAD_RIGHT_THUMBSTICK_LEFT 0xDA +#endif /* _WIN32_WINNT >= 0x0604 */ +#define VK_OEM_4 0xDB +#define VK_OEM_5 0xDC +#define VK_OEM_6 0xDD +#define VK_OEM_7 0xDE +#define VK_OEM_8 0xDF +#define VK_OEM_AX 0xE1 +#define VK_OEM_102 0xE2 +#define VK_ICO_HELP 0xE3 +#define VK_ICO_00 0xE4 +#define VK_PROCESSKEY 0xE5 +#define VK_ICO_CLEAR 0xE6 +#define VK_PACKET 0xE7 +#define VK_OEM_RESET 0xE9 +#define VK_OEM_JUMP 0xEA +#define VK_OEM_PA1 0xEB +#define VK_OEM_PA2 0xEC +#define VK_OEM_PA3 0xED +#define VK_OEM_WSCTRL 0xEE +#define VK_OEM_CUSEL 0xEF +#define VK_OEM_ATTN 0xF0 +#define VK_OEM_FINISH 0xF1 +#define VK_OEM_COPY 0xF2 +#define VK_OEM_AUTO 0xF3 +#define VK_OEM_ENLW 0xF4 +#define VK_OEM_BACKTAB 0xF5 +#define VK_ATTN 0xF6 +#define VK_CRSEL 0xF7 +#define VK_EXSEL 0xF8 +#define VK_EREOF 0xF9 +#define VK_PLAY 0xFA +#define VK_ZOOM 0xFB +#define VK_NONAME 0xFC +#define VK_PA1 0xFD +#define VK_OEM_CLEAR 0xFE +#endif + +#ifndef NOWH + +#define WH_MIN (-1) +#define WH_MSGFILTER (-1) +#define WH_JOURNALRECORD 0 +#define WH_JOURNALPLAYBACK 1 +#define WH_KEYBOARD 2 +#define WH_GETMESSAGE 3 +#define WH_CALLWNDPROC 4 +#define WH_CBT 5 +#define WH_SYSMSGFILTER 6 +#define WH_MOUSE 7 +#define WH_HARDWARE 8 +#define WH_DEBUG 9 +#define WH_SHELL 10 +#define WH_FOREGROUNDIDLE 11 +#define WH_CALLWNDPROCRET 12 + +#define WH_KEYBOARD_LL 13 +#define WH_MOUSE_LL 14 + +#define WH_MAX 14 + +#define WH_MINHOOK WH_MIN +#define WH_MAXHOOK WH_MAX + +#define HC_ACTION 0 +#define HC_GETNEXT 1 +#define HC_SKIP 2 +#define HC_NOREMOVE 3 +#define HC_NOREM HC_NOREMOVE +#define HC_SYSMODALON 4 +#define HC_SYSMODALOFF 5 + +#define HCBT_MOVESIZE 0 +#define HCBT_MINMAX 1 +#define HCBT_QS 2 +#define HCBT_CREATEWND 3 +#define HCBT_DESTROYWND 4 +#define HCBT_ACTIVATE 5 +#define HCBT_CLICKSKIPPED 6 +#define HCBT_KEYSKIPPED 7 +#define HCBT_SYSCOMMAND 8 +#define HCBT_SETFOCUS 9 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagCBT_CREATEWNDA { + struct tagCREATESTRUCTA *lpcs; + HWND hwndInsertAfter; + } CBT_CREATEWNDA,*LPCBT_CREATEWNDA; + + typedef struct tagCBT_CREATEWNDW { + struct tagCREATESTRUCTW *lpcs; + HWND hwndInsertAfter; + } CBT_CREATEWNDW,*LPCBT_CREATEWNDW; + + __MINGW_TYPEDEF_AW(CBT_CREATEWND) + __MINGW_TYPEDEF_AW(LPCBT_CREATEWND) + + typedef struct tagCBTACTIVATESTRUCT { + WINBOOL fMouse; + HWND hWndActive; + } CBTACTIVATESTRUCT,*LPCBTACTIVATESTRUCT; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagWTSSESSION_NOTIFICATION { + DWORD cbSize; + DWORD dwSessionId; + } WTSSESSION_NOTIFICATION,*PWTSSESSION_NOTIFICATION; +#endif + +#define WTS_CONSOLE_CONNECT 0x1 +#define WTS_CONSOLE_DISCONNECT 0x2 +#define WTS_REMOTE_CONNECT 0x3 +#define WTS_REMOTE_DISCONNECT 0x4 +#define WTS_SESSION_LOGON 0x5 +#define WTS_SESSION_LOGOFF 0x6 +#define WTS_SESSION_LOCK 0x7 +#define WTS_SESSION_UNLOCK 0x8 +#define WTS_SESSION_REMOTE_CONTROL 0x9 +#define WTS_SESSION_CREATE 0xa +#define WTS_SESSION_TERMINATE 0xb + +#define MSGF_DIALOGBOX 0 +#define MSGF_MESSAGEBOX 1 +#define MSGF_MENU 2 +#define MSGF_SCROLLBAR 5 +#define MSGF_NEXTWINDOW 6 +#define MSGF_MAX 8 +#define MSGF_USER 4096 + +#define HSHELL_WINDOWCREATED 1 +#define HSHELL_WINDOWDESTROYED 2 +#define HSHELL_ACTIVATESHELLWINDOW 3 +#define HSHELL_WINDOWACTIVATED 4 +#define HSHELL_GETMINRECT 5 +#define HSHELL_REDRAW 6 +#define HSHELL_TASKMAN 7 +#define HSHELL_LANGUAGE 8 +#define HSHELL_SYSMENU 9 +#define HSHELL_ENDTASK 10 +#define HSHELL_ACCESSIBILITYSTATE 11 +#define HSHELL_APPCOMMAND 12 +#define HSHELL_WINDOWREPLACED 13 +#define HSHELL_WINDOWREPLACING 14 +#if _WIN32_WINNT >= 0x0602 +#define HSHELL_MONITORCHANGED 16 +#endif + +#define HSHELL_HIGHBIT 0x8000 +#define HSHELL_FLASH (HSHELL_REDRAW|HSHELL_HIGHBIT) +#define HSHELL_RUDEAPPACTIVATED (HSHELL_WINDOWACTIVATED|HSHELL_HIGHBIT) + +#define ACCESS_STICKYKEYS 0x0001 +#define ACCESS_FILTERKEYS 0x0002 +#define ACCESS_MOUSEKEYS 0x0003 + +#define APPCOMMAND_BROWSER_BACKWARD 1 +#define APPCOMMAND_BROWSER_FORWARD 2 +#define APPCOMMAND_BROWSER_REFRESH 3 +#define APPCOMMAND_BROWSER_STOP 4 +#define APPCOMMAND_BROWSER_SEARCH 5 +#define APPCOMMAND_BROWSER_FAVORITES 6 +#define APPCOMMAND_BROWSER_HOME 7 +#define APPCOMMAND_VOLUME_MUTE 8 +#define APPCOMMAND_VOLUME_DOWN 9 +#define APPCOMMAND_VOLUME_UP 10 +#define APPCOMMAND_MEDIA_NEXTTRACK 11 +#define APPCOMMAND_MEDIA_PREVIOUSTRACK 12 +#define APPCOMMAND_MEDIA_STOP 13 +#define APPCOMMAND_MEDIA_PLAY_PAUSE 14 +#define APPCOMMAND_LAUNCH_MAIL 15 +#define APPCOMMAND_LAUNCH_MEDIA_SELECT 16 +#define APPCOMMAND_LAUNCH_APP1 17 +#define APPCOMMAND_LAUNCH_APP2 18 +#define APPCOMMAND_BASS_DOWN 19 +#define APPCOMMAND_BASS_BOOST 20 +#define APPCOMMAND_BASS_UP 21 +#define APPCOMMAND_TREBLE_DOWN 22 +#define APPCOMMAND_TREBLE_UP 23 +#define APPCOMMAND_MICROPHONE_VOLUME_MUTE 24 +#define APPCOMMAND_MICROPHONE_VOLUME_DOWN 25 +#define APPCOMMAND_MICROPHONE_VOLUME_UP 26 +#define APPCOMMAND_HELP 27 +#define APPCOMMAND_FIND 28 +#define APPCOMMAND_NEW 29 +#define APPCOMMAND_OPEN 30 +#define APPCOMMAND_CLOSE 31 +#define APPCOMMAND_SAVE 32 +#define APPCOMMAND_PRINT 33 +#define APPCOMMAND_UNDO 34 +#define APPCOMMAND_REDO 35 +#define APPCOMMAND_COPY 36 +#define APPCOMMAND_CUT 37 +#define APPCOMMAND_PASTE 38 +#define APPCOMMAND_REPLY_TO_MAIL 39 +#define APPCOMMAND_FORWARD_MAIL 40 +#define APPCOMMAND_SEND_MAIL 41 +#define APPCOMMAND_SPELL_CHECK 42 +#define APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE 43 +#define APPCOMMAND_MIC_ON_OFF_TOGGLE 44 +#define APPCOMMAND_CORRECTION_LIST 45 +#define APPCOMMAND_MEDIA_PLAY 46 +#define APPCOMMAND_MEDIA_PAUSE 47 +#define APPCOMMAND_MEDIA_RECORD 48 +#define APPCOMMAND_MEDIA_FAST_FORWARD 49 +#define APPCOMMAND_MEDIA_REWIND 50 +#define APPCOMMAND_MEDIA_CHANNEL_UP 51 +#define APPCOMMAND_MEDIA_CHANNEL_DOWN 52 +#if _WIN32_WINNT >= 0x0600 +#define APPCOMMAND_DELETE 53 +#define APPCOMMAND_DWM_FLIP3D 54 +#endif + +#define FAPPCOMMAND_MOUSE 0x8000 +#define FAPPCOMMAND_KEY 0 +#define FAPPCOMMAND_OEM 0x1000 +#define FAPPCOMMAND_MASK 0xF000 + +#define GET_APPCOMMAND_LPARAM(lParam) ((short)(HIWORD(lParam) & ~FAPPCOMMAND_MASK)) +#define GET_DEVICE_LPARAM(lParam) ((WORD)(HIWORD(lParam) & FAPPCOMMAND_MASK)) +#define GET_MOUSEORKEY_LPARAM GET_DEVICE_LPARAM +#define GET_FLAGS_LPARAM(lParam) (LOWORD(lParam)) +#define GET_KEYSTATE_LPARAM(lParam) GET_FLAGS_LPARAM(lParam) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct { + HWND hwnd; + RECT rc; + } SHELLHOOKINFO,*LPSHELLHOOKINFO; + + typedef struct tagEVENTMSG { + UINT message; + UINT paramL; + UINT paramH; + DWORD time; + HWND hwnd; + } EVENTMSG,*PEVENTMSGMSG,*NPEVENTMSGMSG,*LPEVENTMSGMSG; + + typedef struct tagEVENTMSG *PEVENTMSG,*NPEVENTMSG,*LPEVENTMSG; + + typedef struct tagCWPSTRUCT { + LPARAM lParam; + WPARAM wParam; + UINT message; + HWND hwnd; + } CWPSTRUCT,*PCWPSTRUCT,*NPCWPSTRUCT,*LPCWPSTRUCT; + + typedef struct tagCWPRETSTRUCT { + LRESULT lResult; + LPARAM lParam; + WPARAM wParam; + UINT message; + HWND hwnd; + } CWPRETSTRUCT,*PCWPRETSTRUCT,*NPCWPRETSTRUCT,*LPCWPRETSTRUCT; +#endif + +#define LLKHF_EXTENDED (KF_EXTENDED >> 8) +#define LLKHF_INJECTED 0x00000010 +#define LLKHF_ALTDOWN (KF_ALTDOWN >> 8) +#define LLKHF_UP (KF_UP >> 8) +#define LLKHF_LOWER_IL_INJECTED 0x00000002 + +#define LLMHF_INJECTED 0x00000001 +#define LLMHF_LOWER_IL_INJECTED 0x00000002 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagKBDLLHOOKSTRUCT { + DWORD vkCode; + DWORD scanCode; + DWORD flags; + DWORD time; + ULONG_PTR dwExtraInfo; + } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT; + + typedef struct tagMSLLHOOKSTRUCT { + POINT pt; + DWORD mouseData; + DWORD flags; + DWORD time; + ULONG_PTR dwExtraInfo; + } MSLLHOOKSTRUCT,*LPMSLLHOOKSTRUCT,*PMSLLHOOKSTRUCT; + + typedef struct tagDEBUGHOOKINFO { + DWORD idThread; + DWORD idThreadInstaller; + LPARAM lParam; + WPARAM wParam; + int code; + } DEBUGHOOKINFO,*PDEBUGHOOKINFO,*NPDEBUGHOOKINFO,*LPDEBUGHOOKINFO; + + typedef struct tagMOUSEHOOKSTRUCT { + POINT pt; + HWND hwnd; + UINT wHitTestCode; + ULONG_PTR dwExtraInfo; + } MOUSEHOOKSTRUCT,*LPMOUSEHOOKSTRUCT,*PMOUSEHOOKSTRUCT; + +#ifdef __cplusplus + typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT { + DWORD mouseData; + } MOUSEHOOKSTRUCTEX,*LPMOUSEHOOKSTRUCTEX,*PMOUSEHOOKSTRUCTEX; +#else + typedef struct tagMOUSEHOOKSTRUCTEX { + MOUSEHOOKSTRUCT __unnamed; + DWORD mouseData; + } MOUSEHOOKSTRUCTEX,*LPMOUSEHOOKSTRUCTEX,*PMOUSEHOOKSTRUCTEX; +#endif + + typedef struct tagHARDWAREHOOKSTRUCT { + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + } HARDWAREHOOKSTRUCT,*LPHARDWAREHOOKSTRUCT,*PHARDWAREHOOKSTRUCT; +#endif +#endif + +#define HKL_PREV 0 +#define HKL_NEXT 1 + +#define KLF_ACTIVATE 0x00000001 +#define KLF_SUBSTITUTE_OK 0x00000002 +#define KLF_REORDER 0x00000008 +#define KLF_REPLACELANG 0x00000010 +#define KLF_NOTELLSHELL 0x00000080 +#define KLF_SETFORPROCESS 0x00000100 +#define KLF_SHIFTLOCK 0x00010000 +#define KLF_RESET 0x40000000 + +#define INPUTLANGCHANGE_SYSCHARSET 0x0001 +#define INPUTLANGCHANGE_FORWARD 0x0002 +#define INPUTLANGCHANGE_BACKWARD 0x0004 + +#define KL_NAMELENGTH 9 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadKeyboardLayout __MINGW_NAME_AW(LoadKeyboardLayout) +#define GetKeyboardLayoutName __MINGW_NAME_AW(GetKeyboardLayoutName) + + WINUSERAPI HKL WINAPI LoadKeyboardLayoutA(LPCSTR pwszKLID,UINT Flags); + WINUSERAPI HKL WINAPI LoadKeyboardLayoutW(LPCWSTR pwszKLID,UINT Flags); + WINUSERAPI HKL WINAPI ActivateKeyboardLayout(HKL hkl,UINT Flags); + WINUSERAPI int WINAPI ToUnicodeEx(UINT wVirtKey,UINT wScanCode,CONST BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags,HKL dwhkl); + WINUSERAPI WINBOOL WINAPI UnloadKeyboardLayout(HKL hkl); + WINUSERAPI WINBOOL WINAPI GetKeyboardLayoutNameA(LPSTR pwszKLID); + WINUSERAPI WINBOOL WINAPI GetKeyboardLayoutNameW(LPWSTR pwszKLID); + WINUSERAPI int WINAPI GetKeyboardLayoutList(int nBuff,HKL *lpList); + WINUSERAPI HKL WINAPI GetKeyboardLayout(DWORD idThread); + + typedef struct tagMOUSEMOVEPOINT { + int x; + int y; + DWORD time; + ULONG_PTR dwExtraInfo; + } MOUSEMOVEPOINT,*PMOUSEMOVEPOINT,*LPMOUSEMOVEPOINT; + + WINUSERAPI int WINAPI GetMouseMovePointsEx(UINT cbSize,LPMOUSEMOVEPOINT lppt,LPMOUSEMOVEPOINT lpptBuf,int nBufPoints,DWORD resolution); +#endif + +#define GMMP_USE_DISPLAY_POINTS 1 +#define GMMP_USE_HIGH_RESOLUTION_POINTS 2 + +#ifndef NODESKTOP + +#define DESKTOP_READOBJECTS __MSABI_LONG(0x0001) +#define DESKTOP_CREATEWINDOW __MSABI_LONG(0x0002) +#define DESKTOP_CREATEMENU __MSABI_LONG(0x0004) +#define DESKTOP_HOOKCONTROL __MSABI_LONG(0x0008) +#define DESKTOP_JOURNALRECORD __MSABI_LONG(0x0010) +#define DESKTOP_JOURNALPLAYBACK __MSABI_LONG(0x0020) +#define DESKTOP_ENUMERATE __MSABI_LONG(0x0040) +#define DESKTOP_WRITEOBJECTS __MSABI_LONG(0x0080) +#define DESKTOP_SWITCHDESKTOP __MSABI_LONG(0x0100) + +#define DF_ALLOWOTHERACCOUNTHOOK __MSABI_LONG(0x0001) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#ifdef _WINGDI_ +#ifndef NOGDI + +#define CreateDesktop __MINGW_NAME_AW(CreateDesktop) +#define CreateDesktopEx __MINGW_NAME_AW(CreateDesktopEx) + + WINUSERAPI HDESK WINAPI CreateDesktopA(LPCSTR lpszDesktop,LPCSTR lpszDevice,LPDEVMODEA pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa); + WINUSERAPI HDESK WINAPI CreateDesktopW(LPCWSTR lpszDesktop,LPCWSTR lpszDevice,LPDEVMODEW pDevmode,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa); + WINUSERAPI HDESK WINAPI CreateDesktopExA (LPCSTR lpszDesktop, LPCSTR lpszDevice, DEVMODEA *pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid); + WINUSERAPI HDESK WINAPI CreateDesktopExW (LPCWSTR lpszDesktop, LPCWSTR lpszDevice, DEVMODEW *pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid); +#endif +#endif + +#define OpenDesktop __MINGW_NAME_AW(OpenDesktop) +#define EnumDesktops __MINGW_NAME_AW(EnumDesktops) + + WINUSERAPI HDESK WINAPI OpenDesktopA(LPCSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess); + WINUSERAPI HDESK WINAPI OpenDesktopW(LPCWSTR lpszDesktop,DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess); + WINUSERAPI HDESK WINAPI OpenInputDesktop(DWORD dwFlags,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess); + WINUSERAPI WINBOOL WINAPI EnumDesktopsA(HWINSTA hwinsta,DESKTOPENUMPROCA lpEnumFunc,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI EnumDesktopsW(HWINSTA hwinsta,DESKTOPENUMPROCW lpEnumFunc,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI EnumDesktopWindows(HDESK hDesktop,WNDENUMPROC lpfn,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI SwitchDesktop(HDESK hDesktop); + WINUSERAPI WINBOOL WINAPI SetThreadDesktop(HDESK hDesktop); + WINUSERAPI WINBOOL WINAPI CloseDesktop(HDESK hDesktop); + WINUSERAPI HDESK WINAPI GetThreadDesktop(DWORD dwThreadId); +#endif +#endif + +#ifndef NOWINDOWSTATION +#define WINSTA_ENUMDESKTOPS __MSABI_LONG(0x0001) +#define WINSTA_READATTRIBUTES __MSABI_LONG(0x0002) +#define WINSTA_ACCESSCLIPBOARD __MSABI_LONG(0x0004) +#define WINSTA_CREATEDESKTOP __MSABI_LONG(0x0008) +#define WINSTA_WRITEATTRIBUTES __MSABI_LONG(0x0010) +#define WINSTA_ACCESSGLOBALATOMS __MSABI_LONG(0x0020) +#define WINSTA_EXITWINDOWS __MSABI_LONG(0x0040) +#define WINSTA_ENUMERATE __MSABI_LONG(0x0100) +#define WINSTA_READSCREEN __MSABI_LONG(0x0200) +#define WINSTA_ALL_ACCESS (WINSTA_ENUMDESKTOPS | WINSTA_READATTRIBUTES | WINSTA_ACCESSCLIPBOARD | WINSTA_CREATEDESKTOP | WINSTA_WRITEATTRIBUTES | WINSTA_ACCESSGLOBALATOMS | WINSTA_EXITWINDOWS | WINSTA_ENUMERATE | WINSTA_READSCREEN) + +#define CWF_CREATE_ONLY 0x00000001 + +#define WSF_VISIBLE __MSABI_LONG(0x0001) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CreateWindowStation __MINGW_NAME_AW(CreateWindowStation) +#define OpenWindowStation __MINGW_NAME_AW(OpenWindowStation) +#define EnumWindowStations __MINGW_NAME_AW(EnumWindowStations) + + WINUSERAPI HWINSTA WINAPI CreateWindowStationA(LPCSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa); + WINUSERAPI HWINSTA WINAPI CreateWindowStationW(LPCWSTR lpwinsta,DWORD dwFlags,ACCESS_MASK dwDesiredAccess,LPSECURITY_ATTRIBUTES lpsa); + WINUSERAPI HWINSTA WINAPI OpenWindowStationA(LPCSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess); + WINUSERAPI HWINSTA WINAPI OpenWindowStationW(LPCWSTR lpszWinSta,WINBOOL fInherit,ACCESS_MASK dwDesiredAccess); + WINUSERAPI WINBOOL WINAPI EnumWindowStationsA(WINSTAENUMPROCA lpEnumFunc,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI EnumWindowStationsW(WINSTAENUMPROCW lpEnumFunc,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI CloseWindowStation(HWINSTA hWinSta); + WINUSERAPI WINBOOL WINAPI SetProcessWindowStation(HWINSTA hWinSta); + WINUSERAPI HWINSTA WINAPI GetProcessWindowStation(VOID); +#endif +#endif + +#ifndef NOSECURITY +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI SetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID); + WINUSERAPI WINBOOL WINAPI GetUserObjectSecurity(HANDLE hObj,PSECURITY_INFORMATION pSIRequested,PSECURITY_DESCRIPTOR pSID,DWORD nLength,LPDWORD lpnLengthNeeded); +#endif + +#define UOI_FLAGS 1 +#define UOI_NAME 2 +#define UOI_TYPE 3 +#define UOI_USER_SID 4 +#if WINVER >= 0x0600 +#define UOI_HEAPSIZE 5 +#define UOI_IO 6 +#endif +#define UOI_TIMERPROC_EXCEPTION_SUPPRESSION 7 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagUSEROBJECTFLAGS { + WINBOOL fInherit; + WINBOOL fReserved; + DWORD dwFlags; + } USEROBJECTFLAGS,*PUSEROBJECTFLAGS; + +#define GetUserObjectInformation __MINGW_NAME_AW(GetUserObjectInformation) +#define SetUserObjectInformation __MINGW_NAME_AW(SetUserObjectInformation) + + WINUSERAPI WINBOOL WINAPI GetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded); + WINUSERAPI WINBOOL WINAPI GetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength,LPDWORD lpnLengthNeeded); + WINUSERAPI WINBOOL WINAPI SetUserObjectInformationA(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength); + WINUSERAPI WINBOOL WINAPI SetUserObjectInformationW(HANDLE hObj,int nIndex,PVOID pvInfo,DWORD nLength); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagWNDCLASSEXA { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HINSTANCE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; + HICON hIconSm; + } WNDCLASSEXA,*PWNDCLASSEXA,*NPWNDCLASSEXA,*LPWNDCLASSEXA; + + typedef struct tagWNDCLASSEXW { + UINT cbSize; + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HINSTANCE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; + HICON hIconSm; + } WNDCLASSEXW,*PWNDCLASSEXW,*NPWNDCLASSEXW,*LPWNDCLASSEXW; + + __MINGW_TYPEDEF_AW(WNDCLASSEX) + __MINGW_TYPEDEF_AW(PWNDCLASSEX) + __MINGW_TYPEDEF_AW(NPWNDCLASSEX) + __MINGW_TYPEDEF_AW(LPWNDCLASSEX) + + typedef struct tagWNDCLASSA { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HINSTANCE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCSTR lpszMenuName; + LPCSTR lpszClassName; + } WNDCLASSA,*PWNDCLASSA,*NPWNDCLASSA,*LPWNDCLASSA; + + typedef struct tagWNDCLASSW { + UINT style; + WNDPROC lpfnWndProc; + int cbClsExtra; + int cbWndExtra; + HINSTANCE hInstance; + HICON hIcon; + HCURSOR hCursor; + HBRUSH hbrBackground; + LPCWSTR lpszMenuName; + LPCWSTR lpszClassName; + } WNDCLASSW,*PWNDCLASSW,*NPWNDCLASSW,*LPWNDCLASSW; + + __MINGW_TYPEDEF_AW(WNDCLASS) + __MINGW_TYPEDEF_AW(PWNDCLASS) + __MINGW_TYPEDEF_AW(NPWNDCLASS) + __MINGW_TYPEDEF_AW(LPWNDCLASS) + + WINUSERAPI WINBOOL WINAPI IsHungAppWindow(HWND hwnd); + WINUSERAPI VOID WINAPI DisableProcessWindowsGhosting(VOID); +#endif + +#ifndef NOMSG +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct tagMSG { + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; + } MSG,*PMSG,*NPMSG,*LPMSG; +#endif + +#define POINTSTOPOINT(pt,pts) { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } + +#define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x),(short)((pt).y))) +#define MAKEWPARAM(l,h) ((WPARAM)(DWORD)MAKELONG(l,h)) +#define MAKELPARAM(l,h) ((LPARAM)(DWORD)MAKELONG(l,h)) +#define MAKELRESULT(l,h) ((LRESULT)(DWORD)MAKELONG(l,h)) +#endif + +#ifndef NOWINOFFSETS +#define GWL_WNDPROC (-4) +#define GWL_HINSTANCE (-6) +#define GWL_HWNDPARENT (-8) +#define GWL_STYLE (-16) +#define GWL_EXSTYLE (-20) +#define GWL_USERDATA (-21) +#define GWL_ID (-12) + +#ifdef _WIN64 +#undef GWL_WNDPROC +#undef GWL_HINSTANCE +#undef GWL_HWNDPARENT +#undef GWL_USERDATA +#endif + +#define GWLP_WNDPROC (-4) +#define GWLP_HINSTANCE (-6) +#define GWLP_HWNDPARENT (-8) +#define GWLP_USERDATA (-21) +#define GWLP_ID (-12) + +#define GCL_MENUNAME (-8) +#define GCL_HBRBACKGROUND (-10) +#define GCL_HCURSOR (-12) +#define GCL_HICON (-14) +#define GCL_HMODULE (-16) +#define GCL_CBWNDEXTRA (-18) +#define GCL_CBCLSEXTRA (-20) +#define GCL_WNDPROC (-24) +#define GCL_STYLE (-26) +#define GCW_ATOM (-32) +#define GCL_HICONSM (-34) + +#ifdef _WIN64 +#undef GCL_MENUNAME +#undef GCL_HBRBACKGROUND +#undef GCL_HCURSOR +#undef GCL_HICON +#undef GCL_HMODULE +#undef GCL_WNDPROC +#undef GCL_HICONSM +#endif + +#define GCLP_MENUNAME (-8) +#define GCLP_HBRBACKGROUND (-10) +#define GCLP_HCURSOR (-12) +#define GCLP_HICON (-14) +#define GCLP_HMODULE (-16) +#define GCLP_WNDPROC (-24) +#define GCLP_HICONSM (-34) +#endif + +#ifndef NOWINMESSAGES + +#define WM_NULL 0x0000 +#define WM_CREATE 0x0001 +#define WM_DESTROY 0x0002 +#define WM_MOVE 0x0003 +#define WM_SIZE 0x0005 + +#define WM_ACTIVATE 0x0006 + +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 + +#define WM_SETFOCUS 0x0007 +#define WM_KILLFOCUS 0x0008 +#define WM_ENABLE 0x000A +#define WM_SETREDRAW 0x000B +#define WM_SETTEXT 0x000C +#define WM_GETTEXT 0x000D +#define WM_GETTEXTLENGTH 0x000E +#define WM_PAINT 0x000F +#define WM_CLOSE 0x0010 +#ifndef _WIN32_WCE +#define WM_QUERYENDSESSION 0x0011 +#define WM_QUERYOPEN 0x0013 +#define WM_ENDSESSION 0x0016 +#endif +#define WM_QUIT 0x0012 +#define WM_ERASEBKGND 0x0014 +#define WM_SYSCOLORCHANGE 0x0015 +#define WM_SHOWWINDOW 0x0018 +#define WM_WININICHANGE 0x001A +#define WM_SETTINGCHANGE WM_WININICHANGE +#define WM_DEVMODECHANGE 0x001B +#define WM_ACTIVATEAPP 0x001C +#define WM_FONTCHANGE 0x001D +#define WM_TIMECHANGE 0x001E +#define WM_CANCELMODE 0x001F +#define WM_SETCURSOR 0x0020 +#define WM_MOUSEACTIVATE 0x0021 +#define WM_CHILDACTIVATE 0x0022 +#define WM_QUEUESYNC 0x0023 +#define WM_GETMINMAXINFO 0x0024 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagMINMAXINFO { + POINT ptReserved; + POINT ptMaxSize; + POINT ptMaxPosition; + POINT ptMinTrackSize; + POINT ptMaxTrackSize; + } MINMAXINFO,*PMINMAXINFO,*LPMINMAXINFO; +#endif + +#define WM_PAINTICON 0x0026 +#define WM_ICONERASEBKGND 0x0027 +#define WM_NEXTDLGCTL 0x0028 +#define WM_SPOOLERSTATUS 0x002A +#define WM_DRAWITEM 0x002B +#define WM_MEASUREITEM 0x002C +#define WM_DELETEITEM 0x002D +#define WM_VKEYTOITEM 0x002E +#define WM_CHARTOITEM 0x002F +#define WM_SETFONT 0x0030 +#define WM_GETFONT 0x0031 +#define WM_SETHOTKEY 0x0032 +#define WM_GETHOTKEY 0x0033 +#define WM_QUERYDRAGICON 0x0037 +#define WM_COMPAREITEM 0x0039 +#ifndef _WIN32_WCE +#define WM_GETOBJECT 0x003D +#endif +#define WM_COMPACTING 0x0041 +#define WM_COMMNOTIFY 0x0044 +#define WM_WINDOWPOSCHANGING 0x0046 +#define WM_WINDOWPOSCHANGED 0x0047 +#define WM_POWER 0x0048 + +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 + +#define WM_COPYDATA 0x004A +#define WM_CANCELJOURNAL 0x004B + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagCOPYDATASTRUCT { + ULONG_PTR dwData; + DWORD cbData; + PVOID lpData; + } COPYDATASTRUCT,*PCOPYDATASTRUCT; + + typedef struct tagMDINEXTMENU { + HMENU hmenuIn; + HMENU hmenuNext; + HWND hwndNext; + } MDINEXTMENU,*PMDINEXTMENU,*LPMDINEXTMENU; +#endif + +#define WM_NOTIFY 0x004E +#define WM_INPUTLANGCHANGEREQUEST 0x0050 +#define WM_INPUTLANGCHANGE 0x0051 +#define WM_TCARD 0x0052 +#define WM_HELP 0x0053 +#define WM_USERCHANGED 0x0054 +#define WM_NOTIFYFORMAT 0x0055 + +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 + +#define WM_CONTEXTMENU 0x007B +#define WM_STYLECHANGING 0x007C +#define WM_STYLECHANGED 0x007D +#define WM_DISPLAYCHANGE 0x007E +#define WM_GETICON 0x007F +#define WM_SETICON 0x0080 + +#define WM_NCCREATE 0x0081 +#define WM_NCDESTROY 0x0082 +#define WM_NCCALCSIZE 0x0083 +#define WM_NCHITTEST 0x0084 +#define WM_NCPAINT 0x0085 +#define WM_NCACTIVATE 0x0086 +#define WM_GETDLGCODE 0x0087 +#ifndef _WIN32_WCE +#define WM_SYNCPAINT 0x0088 +#endif +#define WM_NCMOUSEMOVE 0x00A0 +#define WM_NCLBUTTONDOWN 0x00A1 +#define WM_NCLBUTTONUP 0x00A2 +#define WM_NCLBUTTONDBLCLK 0x00A3 +#define WM_NCRBUTTONDOWN 0x00A4 +#define WM_NCRBUTTONUP 0x00A5 +#define WM_NCRBUTTONDBLCLK 0x00A6 +#define WM_NCMBUTTONDOWN 0x00A7 +#define WM_NCMBUTTONUP 0x00A8 +#define WM_NCMBUTTONDBLCLK 0x00A9 + +#define WM_NCXBUTTONDOWN 0x00AB +#define WM_NCXBUTTONUP 0x00AC +#define WM_NCXBUTTONDBLCLK 0x00AD +#define WM_INPUT_DEVICE_CHANGE 0x00fe +#define WM_INPUT 0x00FF +#define WM_KEYFIRST 0x0100 +#define WM_KEYDOWN 0x0100 +#define WM_KEYUP 0x0101 +#define WM_CHAR 0x0102 +#define WM_DEADCHAR 0x0103 +#define WM_SYSKEYDOWN 0x0104 +#define WM_SYSKEYUP 0x0105 +#define WM_SYSCHAR 0x0106 +#define WM_SYSDEADCHAR 0x0107 +#if _WIN32_WINNT >= 0x0501 +#define WM_UNICHAR 0x0109 +#define WM_KEYLAST 0x0109 +#define UNICODE_NOCHAR 0xFFFF +#else +#define WM_KEYLAST 0x0108 +#endif +#define WM_IME_STARTCOMPOSITION 0x010D +#define WM_IME_ENDCOMPOSITION 0x010E +#define WM_IME_COMPOSITION 0x010F +#define WM_IME_KEYLAST 0x010F +#define WM_INITDIALOG 0x0110 +#define WM_COMMAND 0x0111 +#define WM_SYSCOMMAND 0x0112 +#define WM_TIMER 0x0113 +#define WM_HSCROLL 0x0114 +#define WM_VSCROLL 0x0115 +#define WM_INITMENU 0x0116 +#define WM_INITMENUPOPUP 0x0117 +#define WM_MENUSELECT 0x011F +#if _WIN32_WINNT >= 0x0601 +#define WM_GESTURE 0x0119 +#define WM_GESTURENOTIFY 0x011A +#endif /* _WIN32_WINNT >= 0x0601 */ +#define WM_MENUCHAR 0x0120 +#define WM_ENTERIDLE 0x0121 +#ifndef _WIN32_WCE +#define WM_MENURBUTTONUP 0x0122 +#define WM_MENUDRAG 0x0123 +#define WM_MENUGETOBJECT 0x0124 +#define WM_UNINITMENUPOPUP 0x0125 +#define WM_MENUCOMMAND 0x0126 +#define WM_CHANGEUISTATE 0x0127 +#define WM_UPDATEUISTATE 0x0128 +#define WM_QUERYUISTATE 0x0129 + +#define UIS_SET 1 +#define UIS_CLEAR 2 +#define UIS_INITIALIZE 3 + +#define UISF_HIDEFOCUS 0x1 +#define UISF_HIDEACCEL 0x2 +#define UISF_ACTIVE 0x4 +#endif + +#define WM_CTLCOLORMSGBOX 0x0132 +#define WM_CTLCOLOREDIT 0x0133 +#define WM_CTLCOLORLISTBOX 0x0134 +#define WM_CTLCOLORBTN 0x0135 +#define WM_CTLCOLORDLG 0x0136 +#define WM_CTLCOLORSCROLLBAR 0x0137 +#define WM_CTLCOLORSTATIC 0x0138 +#define MN_GETHMENU 0x01E1 + +#define WM_MOUSEFIRST 0x0200 +#define WM_MOUSEMOVE 0x0200 +#define WM_LBUTTONDOWN 0x0201 +#define WM_LBUTTONUP 0x0202 +#define WM_LBUTTONDBLCLK 0x0203 +#define WM_RBUTTONDOWN 0x0204 +#define WM_RBUTTONUP 0x0205 +#define WM_RBUTTONDBLCLK 0x0206 +#define WM_MBUTTONDOWN 0x0207 +#define WM_MBUTTONUP 0x0208 +#define WM_MBUTTONDBLCLK 0x0209 +#define WM_MOUSEWHEEL 0x020A +#define WM_XBUTTONDOWN 0x020B +#define WM_XBUTTONUP 0x020C +#define WM_XBUTTONDBLCLK 0x020D +#if _WIN32_WINNT >= 0x0600 +#define WM_MOUSEHWHEEL 0x020e +#endif + +#if _WIN32_WINNT >= 0x0600 +#define WM_MOUSELAST 0x020e +#elif _WIN32_WINNT >= 0x0500 +#define WM_MOUSELAST 0x020d +#elif (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) +#define WM_MOUSELAST 0x020a +#else +#define WM_MOUSELAST 0x0209 +#endif + +#define WHEEL_DELTA 120 +#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) + +#define WHEEL_PAGESCROLL (UINT_MAX) + +#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) +#define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) +#define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) + +#define XBUTTON1 0x0001 +#define XBUTTON2 0x0002 + +#define WM_PARENTNOTIFY 0x0210 +#define WM_ENTERMENULOOP 0x0211 +#define WM_EXITMENULOOP 0x0212 +#define WM_NEXTMENU 0x0213 +#define WM_SIZING 0x0214 +#define WM_CAPTURECHANGED 0x0215 +#define WM_MOVING 0x0216 +#define WM_POWERBROADCAST 0x0218 + +#ifndef _WIN32_WCE +#define PBT_APMQUERYSUSPEND 0x0000 +#define PBT_APMQUERYSTANDBY 0x0001 + +#define PBT_APMQUERYSUSPENDFAILED 0x0002 +#define PBT_APMQUERYSTANDBYFAILED 0x0003 + +#define PBT_APMSUSPEND 0x0004 +#define PBT_APMSTANDBY 0x0005 + +#define PBT_APMRESUMECRITICAL 0x0006 +#define PBT_APMRESUMESUSPEND 0x0007 +#define PBT_APMRESUMESTANDBY 0x0008 + +#define PBTF_APMRESUMEFROMFAILURE 0x00000001 + +#define PBT_APMBATTERYLOW 0x0009 +#define PBT_APMPOWERSTATUSCHANGE 0x000A + +#define PBT_APMOEMEVENT 0x000B +#define PBT_APMRESUMEAUTOMATIC 0x0012 +#if _WIN32_WINNT >= 0x0502 +#ifndef PBT_POWERSETTINGCHANGE +#define PBT_POWERSETTINGCHANGE 32787 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct { + GUID PowerSetting; + DWORD DataLength; + UCHAR Data[1]; + } POWERBROADCAST_SETTING,*PPOWERBROADCAST_SETTING; +#endif +#endif +#endif +#endif + +#define WM_DEVICECHANGE 0x0219 + +#define WM_MDICREATE 0x0220 +#define WM_MDIDESTROY 0x0221 +#define WM_MDIACTIVATE 0x0222 +#define WM_MDIRESTORE 0x0223 +#define WM_MDINEXT 0x0224 +#define WM_MDIMAXIMIZE 0x0225 +#define WM_MDITILE 0x0226 +#define WM_MDICASCADE 0x0227 +#define WM_MDIICONARRANGE 0x0228 +#define WM_MDIGETACTIVE 0x0229 + +#define WM_MDISETMENU 0x0230 +#define WM_ENTERSIZEMOVE 0x0231 +#define WM_EXITSIZEMOVE 0x0232 +#define WM_DROPFILES 0x0233 +#define WM_MDIREFRESHMENU 0x0234 +#if WINVER >= 0x0602 +#define WM_POINTERDEVICECHANGE 0x238 +#define WM_POINTERDEVICEINRANGE 0x239 +#define WM_POINTERDEVICEOUTOFRANGE 0x23a +#endif +#if WINVER >= 0x0601 +#define WM_TOUCH 0x0240 +#endif +#if WINVER >= 0x0602 +#define WM_NCPOINTERUPDATE 0x0241 +#define WM_NCPOINTERDOWN 0x0242 +#define WM_NCPOINTERUP 0x0243 +#define WM_POINTERUPDATE 0x0245 +#define WM_POINTERDOWN 0x0246 +#define WM_POINTERUP 0x0247 +#define WM_POINTERENTER 0x0249 +#define WM_POINTERLEAVE 0x024a +#define WM_POINTERACTIVATE 0x024b +#define WM_POINTERCAPTURECHANGED 0x024c +#define WM_TOUCHHITTESTING 0x024d +#define WM_POINTERWHEEL 0x024e +#define WM_POINTERHWHEEL 0x024f +#define DM_POINTERHITTEST 0x0250 +#define WM_POINTERROUTEDTO 0x0251 +#define WM_POINTERROUTEDAWAY 0x0252 +#define WM_POINTERROUTEDRELEASED 0x0253 +#endif + +#define WM_IME_SETCONTEXT 0x0281 +#define WM_IME_NOTIFY 0x0282 +#define WM_IME_CONTROL 0x0283 +#define WM_IME_COMPOSITIONFULL 0x0284 +#define WM_IME_SELECT 0x0285 +#define WM_IME_CHAR 0x0286 +#define WM_IME_REQUEST 0x0288 +#define WM_IME_KEYDOWN 0x0290 +#define WM_IME_KEYUP 0x0291 + +#define WM_MOUSEHOVER 0x02A1 +#define WM_MOUSELEAVE 0x02A3 +#define WM_NCMOUSEHOVER 0x02A0 +#define WM_NCMOUSELEAVE 0x02A2 +#define WM_WTSSESSION_CHANGE 0x02B1 +#define WM_TABLET_FIRST 0x02c0 +#define WM_TABLET_LAST 0x02df +#if WINVER >= 0x0601 +#define WM_DPICHANGED 0x02e0 +#endif +#if WINVER >= 0x0605 +#define WM_DPICHANGED_BEFOREPARENT 0x02e2 +#define WM_DPICHANGED_AFTERPARENT 0x02e3 +#define WM_GETDPISCALEDSIZE 0x02e4 +#endif +#define WM_CUT 0x0300 +#define WM_COPY 0x0301 +#define WM_PASTE 0x0302 +#define WM_CLEAR 0x0303 +#define WM_UNDO 0x0304 +#define WM_RENDERFORMAT 0x0305 +#define WM_RENDERALLFORMATS 0x0306 +#define WM_DESTROYCLIPBOARD 0x0307 +#define WM_DRAWCLIPBOARD 0x0308 +#define WM_PAINTCLIPBOARD 0x0309 +#define WM_VSCROLLCLIPBOARD 0x030A +#define WM_SIZECLIPBOARD 0x030B +#define WM_ASKCBFORMATNAME 0x030C +#define WM_CHANGECBCHAIN 0x030D +#define WM_HSCROLLCLIPBOARD 0x030E +#define WM_QUERYNEWPALETTE 0x030F +#define WM_PALETTEISCHANGING 0x0310 +#define WM_PALETTECHANGED 0x0311 +#define WM_HOTKEY 0x0312 +#define WM_PRINT 0x0317 +#define WM_PRINTCLIENT 0x0318 +#define WM_APPCOMMAND 0x0319 +#define WM_THEMECHANGED 0x031A +#define WM_CLIPBOARDUPDATE 0x031d +#if _WIN32_WINNT >= 0x0600 +#define WM_DWMCOMPOSITIONCHANGED 0x031e +#define WM_DWMNCRENDERINGCHANGED 0x031f +#define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320 +#define WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321 +#endif +#if _WIN32_WINNT >= 0x0601 +#define WM_DWMSENDICONICTHUMBNAIL 0x0323 +#define WM_DWMSENDICONICLIVEPREVIEWBITMAP 0x0326 +#endif +#if WINVER >= 0x0600 +#define WM_GETTITLEBARINFOEX 0x033f +#endif + +#define WM_HANDHELDFIRST 0x0358 +#define WM_HANDHELDLAST 0x035F +#define WM_AFXFIRST 0x0360 +#define WM_AFXLAST 0x037F +#define WM_PENWINFIRST 0x0380 +#define WM_PENWINLAST 0x038F +#define WM_APP 0x8000 +#define WM_USER 0x0400 + +#define WMSZ_LEFT 1 +#define WMSZ_RIGHT 2 +#define WMSZ_TOP 3 +#define WMSZ_TOPLEFT 4 +#define WMSZ_TOPRIGHT 5 +#define WMSZ_BOTTOM 6 +#define WMSZ_BOTTOMLEFT 7 +#define WMSZ_BOTTOMRIGHT 8 + +#ifndef NONCMESSAGES + +#define HTERROR (-2) +#define HTTRANSPARENT (-1) +#define HTNOWHERE 0 +#define HTCLIENT 1 +#define HTCAPTION 2 +#define HTSYSMENU 3 +#define HTGROWBOX 4 +#define HTSIZE HTGROWBOX +#define HTMENU 5 +#define HTHSCROLL 6 +#define HTVSCROLL 7 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 +#define HTLEFT 10 +#define HTRIGHT 11 +#define HTTOP 12 +#define HTTOPLEFT 13 +#define HTTOPRIGHT 14 +#define HTBOTTOM 15 +#define HTBOTTOMLEFT 16 +#define HTBOTTOMRIGHT 17 +#define HTBORDER 18 +#define HTREDUCE HTMINBUTTON +#define HTZOOM HTMAXBUTTON +#define HTSIZEFIRST HTLEFT +#define HTSIZELAST HTBOTTOMRIGHT +#define HTOBJECT 19 +#define HTCLOSE 20 +#define HTHELP 21 + +#define SMTO_NORMAL 0x0000 +#define SMTO_BLOCK 0x0001 +#define SMTO_ABORTIFHUNG 0x0002 +#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008 +#if WINVER >= 0x0600 +#define SMTO_ERRORONEXIT 0x0020 +#endif +#endif + +#define MA_ACTIVATE 1 +#define MA_ACTIVATEANDEAT 2 +#define MA_NOACTIVATE 3 +#define MA_NOACTIVATEANDEAT 4 + +#define ICON_SMALL 0 +#define ICON_BIG 1 +#define ICON_SMALL2 2 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define RegisterWindowMessage __MINGW_NAME_AW(RegisterWindowMessage) + + WINUSERAPI UINT WINAPI RegisterWindowMessageA(LPCSTR lpString); + WINUSERAPI UINT WINAPI RegisterWindowMessageW(LPCWSTR lpString); +#endif + +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 + +#define SIZENORMAL SIZE_RESTORED +#define SIZEICONIC SIZE_MINIMIZED +#define SIZEFULLSCREEN SIZE_MAXIMIZED +#define SIZEZOOMSHOW SIZE_MAXSHOW +#define SIZEZOOMHIDE SIZE_MAXHIDE + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagWINDOWPOS { + HWND hwnd; + HWND hwndInsertAfter; + int x; + int y; + int cx; + int cy; + UINT flags; + } WINDOWPOS,*LPWINDOWPOS,*PWINDOWPOS; + + typedef struct tagNCCALCSIZE_PARAMS { + RECT rgrc[3]; + PWINDOWPOS lppos; + } NCCALCSIZE_PARAMS,*LPNCCALCSIZE_PARAMS; +#endif + +#define WVR_ALIGNTOP 0x0010 +#define WVR_ALIGNLEFT 0x0020 +#define WVR_ALIGNBOTTOM 0x0040 +#define WVR_ALIGNRIGHT 0x0080 +#define WVR_HREDRAW 0x0100 +#define WVR_VREDRAW 0x0200 +#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW) +#define WVR_VALIDRECTS 0x0400 + +#ifndef NOKEYSTATES + +#define MK_LBUTTON 0x0001 +#define MK_RBUTTON 0x0002 +#define MK_SHIFT 0x0004 +#define MK_CONTROL 0x0008 +#define MK_MBUTTON 0x0010 +#define MK_XBUTTON1 0x0020 +#define MK_XBUTTON2 0x0040 +#endif + +#ifndef NOTRACKMOUSEEVENT +#define TME_HOVER 0x00000001 +#define TME_LEAVE 0x00000002 +#define TME_NONCLIENT 0x00000010 +#define TME_QUERY 0x40000000 +#define TME_CANCEL 0x80000000 + +#define HOVER_DEFAULT 0xFFFFFFFF +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagTRACKMOUSEEVENT { + DWORD cbSize; + DWORD dwFlags; + HWND hwndTrack; + DWORD dwHoverTime; + } TRACKMOUSEEVENT,*LPTRACKMOUSEEVENT; + + WINUSERAPI WINBOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT lpEventTrack); +#endif +#endif + +#ifndef NOWINSTYLES + +#define WS_OVERLAPPED __MSABI_LONG(0x00000000) +#define WS_POPUP __MSABI_LONG(0x80000000) +#define WS_CHILD __MSABI_LONG(0x40000000) +#define WS_MINIMIZE __MSABI_LONG(0x20000000) +#define WS_VISIBLE __MSABI_LONG(0x10000000) +#define WS_DISABLED __MSABI_LONG(0x08000000) +#define WS_CLIPSIBLINGS __MSABI_LONG(0x04000000) +#define WS_CLIPCHILDREN __MSABI_LONG(0x02000000) +#define WS_MAXIMIZE __MSABI_LONG(0x01000000) +#define WS_CAPTION __MSABI_LONG(0x00C00000) +#define WS_BORDER __MSABI_LONG(0x00800000) +#define WS_DLGFRAME __MSABI_LONG(0x00400000) +#define WS_VSCROLL __MSABI_LONG(0x00200000) +#define WS_HSCROLL __MSABI_LONG(0x00100000) +#define WS_SYSMENU __MSABI_LONG(0x00080000) +#define WS_THICKFRAME __MSABI_LONG(0x00040000) +#define WS_GROUP __MSABI_LONG(0x00020000) +#define WS_TABSTOP __MSABI_LONG(0x00010000) +#define WS_MINIMIZEBOX __MSABI_LONG(0x00020000) +#define WS_MAXIMIZEBOX __MSABI_LONG(0x00010000) +#define WS_TILED WS_OVERLAPPED +#define WS_ICONIC WS_MINIMIZE +#define WS_SIZEBOX WS_THICKFRAME +#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW + +#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX) +#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) +#define WS_CHILDWINDOW (WS_CHILD) + +#define WS_EX_DLGMODALFRAME __MSABI_LONG(0x00000001) +#define WS_EX_NOPARENTNOTIFY __MSABI_LONG(0x00000004) +#define WS_EX_TOPMOST __MSABI_LONG(0x00000008) +#define WS_EX_ACCEPTFILES __MSABI_LONG(0x00000010) +#define WS_EX_TRANSPARENT __MSABI_LONG(0x00000020) +#define WS_EX_MDICHILD __MSABI_LONG(0x00000040) +#define WS_EX_TOOLWINDOW __MSABI_LONG(0x00000080) +#define WS_EX_WINDOWEDGE __MSABI_LONG(0x00000100) +#define WS_EX_CLIENTEDGE __MSABI_LONG(0x00000200) +#define WS_EX_CONTEXTHELP __MSABI_LONG(0x00000400) +#define WS_EX_RIGHT __MSABI_LONG(0x00001000) +#define WS_EX_LEFT __MSABI_LONG(0x00000000) +#define WS_EX_RTLREADING __MSABI_LONG(0x00002000) +#define WS_EX_LTRREADING __MSABI_LONG(0x00000000) +#define WS_EX_LEFTSCROLLBAR __MSABI_LONG(0x00004000) +#define WS_EX_RIGHTSCROLLBAR __MSABI_LONG(0x00000000) +#define WS_EX_CONTROLPARENT __MSABI_LONG(0x00010000) +#define WS_EX_STATICEDGE __MSABI_LONG(0x00020000) +#define WS_EX_APPWINDOW __MSABI_LONG(0x00040000) + +#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE) +#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST) +#define WS_EX_LAYERED 0x00080000 +#define WS_EX_NOINHERITLAYOUT __MSABI_LONG(0x00100000) +#if WINVER >= 0x0602 +#define WS_EX_NOREDIRECTIONBITMAP __MSABI_LONG(0x00200000) +#endif +#define WS_EX_LAYOUTRTL __MSABI_LONG(0x00400000) +#define WS_EX_COMPOSITED __MSABI_LONG(0x02000000) +#define WS_EX_NOACTIVATE __MSABI_LONG(0x08000000) + +#define CS_VREDRAW 0x0001 +#define CS_HREDRAW 0x0002 +#define CS_DBLCLKS 0x0008 +#define CS_OWNDC 0x0020 +#define CS_CLASSDC 0x0040 +#define CS_PARENTDC 0x0080 +#define CS_NOCLOSE 0x0200 +#define CS_SAVEBITS 0x0800 +#define CS_BYTEALIGNCLIENT 0x1000 +#define CS_BYTEALIGNWINDOW 0x2000 +#define CS_GLOBALCLASS 0x4000 +#define CS_IME 0x00010000 +#define CS_DROPSHADOW 0x00020000 +#endif + +#define PRF_CHECKVISIBLE __MSABI_LONG(0x00000001) +#define PRF_NONCLIENT __MSABI_LONG(0x00000002) +#define PRF_CLIENT __MSABI_LONG(0x00000004) +#define PRF_ERASEBKGND __MSABI_LONG(0x00000008) +#define PRF_CHILDREN __MSABI_LONG(0x00000010) +#define PRF_OWNED __MSABI_LONG(0x00000020) + +#define BDR_RAISEDOUTER 0x0001 +#define BDR_SUNKENOUTER 0x0002 +#define BDR_RAISEDINNER 0x0004 +#define BDR_SUNKENINNER 0x0008 + +#define BDR_OUTER (BDR_RAISEDOUTER | BDR_SUNKENOUTER) +#define BDR_INNER (BDR_RAISEDINNER | BDR_SUNKENINNER) +#define BDR_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER) +#define BDR_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER) + +#define EDGE_RAISED (BDR_RAISEDOUTER | BDR_RAISEDINNER) +#define EDGE_SUNKEN (BDR_SUNKENOUTER | BDR_SUNKENINNER) +#define EDGE_ETCHED (BDR_SUNKENOUTER | BDR_RAISEDINNER) +#define EDGE_BUMP (BDR_RAISEDOUTER | BDR_SUNKENINNER) + +#define BF_LEFT 0x0001 +#define BF_TOP 0x0002 +#define BF_RIGHT 0x0004 +#define BF_BOTTOM 0x0008 + +#define BF_TOPLEFT (BF_TOP | BF_LEFT) +#define BF_TOPRIGHT (BF_TOP | BF_RIGHT) +#define BF_BOTTOMLEFT (BF_BOTTOM | BF_LEFT) +#define BF_BOTTOMRIGHT (BF_BOTTOM | BF_RIGHT) +#define BF_RECT (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM) + +#define BF_DIAGONAL 0x0010 + +#define BF_DIAGONAL_ENDTOPRIGHT (BF_DIAGONAL | BF_TOP | BF_RIGHT) +#define BF_DIAGONAL_ENDTOPLEFT (BF_DIAGONAL | BF_TOP | BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMLEFT (BF_DIAGONAL | BF_BOTTOM | BF_LEFT) +#define BF_DIAGONAL_ENDBOTTOMRIGHT (BF_DIAGONAL | BF_BOTTOM | BF_RIGHT) + +#define BF_MIDDLE 0x0800 +#define BF_SOFT 0x1000 +#define BF_ADJUST 0x2000 +#define BF_FLAT 0x4000 +#define BF_MONO 0x8000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI DrawEdge(HDC hdc,LPRECT qrc,UINT edge,UINT grfFlags); +#endif + +#define DFC_CAPTION 1 +#define DFC_MENU 2 +#define DFC_SCROLL 3 +#define DFC_BUTTON 4 +#define DFC_POPUPMENU 5 + +#define DFCS_CAPTIONCLOSE 0x0000 +#define DFCS_CAPTIONMIN 0x0001 +#define DFCS_CAPTIONMAX 0x0002 +#define DFCS_CAPTIONRESTORE 0x0003 +#define DFCS_CAPTIONHELP 0x0004 + +#define DFCS_MENUARROW 0x0000 +#define DFCS_MENUCHECK 0x0001 +#define DFCS_MENUBULLET 0x0002 +#define DFCS_MENUARROWRIGHT 0x0004 +#define DFCS_SCROLLUP 0x0000 +#define DFCS_SCROLLDOWN 0x0001 +#define DFCS_SCROLLLEFT 0x0002 +#define DFCS_SCROLLRIGHT 0x0003 +#define DFCS_SCROLLCOMBOBOX 0x0005 +#define DFCS_SCROLLSIZEGRIP 0x0008 +#define DFCS_SCROLLSIZEGRIPRIGHT 0x0010 + +#define DFCS_BUTTONCHECK 0x0000 +#define DFCS_BUTTONRADIOIMAGE 0x0001 +#define DFCS_BUTTONRADIOMASK 0x0002 +#define DFCS_BUTTONRADIO 0x0004 +#define DFCS_BUTTON3STATE 0x0008 +#define DFCS_BUTTONPUSH 0x0010 + +#define DFCS_INACTIVE 0x0100 +#define DFCS_PUSHED 0x0200 +#define DFCS_CHECKED 0x0400 + +#define DFCS_TRANSPARENT 0x0800 +#define DFCS_HOT 0x1000 + +#define DFCS_ADJUSTRECT 0x2000 +#define DFCS_FLAT 0x4000 +#define DFCS_MONO 0x8000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI DrawFrameControl(HDC,LPRECT,UINT,UINT); +#endif + +#define DC_ACTIVE 0x0001 +#define DC_SMALLCAP 0x0002 +#define DC_ICON 0x0004 +#define DC_TEXT 0x0008 +#define DC_INBUTTON 0x0010 +#define DC_GRADIENT 0x0020 +#define DC_BUTTONS 0x1000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI DrawCaption(HWND hwnd,HDC hdc,CONST RECT *lprect,UINT flags); +#endif + +#define IDANI_OPEN 1 +#define IDANI_CAPTION 3 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI DrawAnimatedRects(HWND hwnd,int idAni,CONST RECT *lprcFrom,CONST RECT *lprcTo); +#endif + +#ifndef NOCLIPBOARD + +#define CF_TEXT 1 +#define CF_BITMAP 2 +#define CF_METAFILEPICT 3 +#define CF_SYLK 4 +#define CF_DIF 5 +#define CF_TIFF 6 +#define CF_OEMTEXT 7 +#define CF_DIB 8 +#define CF_PALETTE 9 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 +#define CF_HDROP 15 +#define CF_LOCALE 16 +#define CF_DIBV5 17 +#if WINVER >= 0x0500 +#define CF_MAX 18 +#elif WINVER >= 0x0400 +#define CF_MAX 17 +#else +#define CF_MAX 15 +#endif + +#define CF_OWNERDISPLAY 0x0080 +#define CF_DSPTEXT 0x0081 +#define CF_DSPBITMAP 0x0082 +#define CF_DSPMETAFILEPICT 0x0083 +#define CF_DSPENHMETAFILE 0x008E + +#define CF_PRIVATEFIRST 0x0200 +#define CF_PRIVATELAST 0x02FF + +#define CF_GDIOBJFIRST 0x0300 +#define CF_GDIOBJLAST 0x03FF +#endif + +#define FVIRTKEY TRUE +#define FNOINVERT 0x02 +#define FSHIFT 0x04 +#define FCONTROL 0x08 +#define FALT 0x10 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagACCEL { + BYTE fVirt; + WORD key; + WORD cmd; + } ACCEL,*LPACCEL; + + typedef struct tagPAINTSTRUCT { + HDC hdc; + WINBOOL fErase; + RECT rcPaint; + WINBOOL fRestore; + WINBOOL fIncUpdate; + BYTE rgbReserved[32]; + } PAINTSTRUCT,*PPAINTSTRUCT,*NPPAINTSTRUCT,*LPPAINTSTRUCT; + + typedef struct tagCREATESTRUCTA { + LPVOID lpCreateParams; + HINSTANCE hInstance; + HMENU hMenu; + HWND hwndParent; + int cy; + int cx; + int y; + int x; + LONG style; + LPCSTR lpszName; + LPCSTR lpszClass; + DWORD dwExStyle; + } CREATESTRUCTA,*LPCREATESTRUCTA; + + typedef struct tagCREATESTRUCTW { + LPVOID lpCreateParams; + HINSTANCE hInstance; + HMENU hMenu; + HWND hwndParent; + int cy; + int cx; + int y; + int x; + LONG style; + LPCWSTR lpszName; + LPCWSTR lpszClass; + DWORD dwExStyle; + } CREATESTRUCTW,*LPCREATESTRUCTW; + + __MINGW_TYPEDEF_AW(CREATESTRUCT) + __MINGW_TYPEDEF_AW(LPCREATESTRUCT) + + typedef struct tagWINDOWPLACEMENT { + UINT length; + UINT flags; + UINT showCmd; + POINT ptMinPosition; + POINT ptMaxPosition; + RECT rcNormalPosition; + } WINDOWPLACEMENT; + typedef WINDOWPLACEMENT *PWINDOWPLACEMENT,*LPWINDOWPLACEMENT; +#endif + +#define WPF_SETMINPOSITION 0x0001 +#define WPF_RESTORETOMAXIMIZED 0x0002 +#define WPF_ASYNCWINDOWPLACEMENT 0x0004 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct tagNMHDR { + HWND hwndFrom; + UINT_PTR idFrom; + UINT code; + } NMHDR; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef NMHDR *LPNMHDR; + + typedef struct tagSTYLESTRUCT { + DWORD styleOld; + DWORD styleNew; + } STYLESTRUCT,*LPSTYLESTRUCT; +#endif + +#define ODT_MENU 1 +#define ODT_LISTBOX 2 +#define ODT_COMBOBOX 3 +#define ODT_BUTTON 4 +#define ODT_STATIC 5 + +#define ODA_DRAWENTIRE 0x0001 +#define ODA_SELECT 0x0002 +#define ODA_FOCUS 0x0004 + +#define ODS_SELECTED 0x0001 +#define ODS_GRAYED 0x0002 +#define ODS_DISABLED 0x0004 +#define ODS_CHECKED 0x0008 +#define ODS_FOCUS 0x0010 +#define ODS_DEFAULT 0x0020 +#define ODS_COMBOBOXEDIT 0x1000 +#define ODS_HOTLIGHT 0x0040 +#define ODS_INACTIVE 0x0080 +#define ODS_NOACCEL 0x0100 +#define ODS_NOFOCUSRECT 0x0200 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagMEASUREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemWidth; + UINT itemHeight; + ULONG_PTR itemData; + } MEASUREITEMSTRUCT,*PMEASUREITEMSTRUCT,*LPMEASUREITEMSTRUCT; + + typedef struct tagDRAWITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + UINT itemAction; + UINT itemState; + HWND hwndItem; + HDC hDC; + RECT rcItem; + ULONG_PTR itemData; + } DRAWITEMSTRUCT,*PDRAWITEMSTRUCT,*LPDRAWITEMSTRUCT; + + typedef struct tagDELETEITEMSTRUCT { + UINT CtlType; + UINT CtlID; + UINT itemID; + HWND hwndItem; + ULONG_PTR itemData; + } DELETEITEMSTRUCT,*PDELETEITEMSTRUCT,*LPDELETEITEMSTRUCT; + + typedef struct tagCOMPAREITEMSTRUCT { + UINT CtlType; + UINT CtlID; + HWND hwndItem; + UINT itemID1; + ULONG_PTR itemData1; + UINT itemID2; + ULONG_PTR itemData2; + DWORD dwLocaleId; + } COMPAREITEMSTRUCT,*PCOMPAREITEMSTRUCT,*LPCOMPAREITEMSTRUCT; +#endif + +#ifndef NOMSG +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define GetMessage __MINGW_NAME_AW(GetMessage) +#define DispatchMessage __MINGW_NAME_AW(DispatchMessage) +#define PeekMessage __MINGW_NAME_AW(PeekMessage) + + WINUSERAPI WINBOOL WINAPI GetMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax); + WINUSERAPI WINBOOL WINAPI GetMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax); + WINUSERAPI WINBOOL WINAPI TranslateMessage(CONST MSG *lpMsg); + WINUSERAPI LRESULT WINAPI DispatchMessageA(CONST MSG *lpMsg); + WINUSERAPI LRESULT WINAPI DispatchMessageW(CONST MSG *lpMsg); + WINUSERAPI WINBOOL WINAPI SetMessageQueue(int cMessagesMax); + WINUSERAPI WINBOOL WINAPI PeekMessageA(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg); + WINUSERAPI WINBOOL WINAPI PeekMessageW(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilterMax,UINT wRemoveMsg); +#endif + +#define PM_NOREMOVE 0x0000 +#define PM_REMOVE 0x0001 +#define PM_NOYIELD 0x0002 + +#define PM_QS_INPUT (QS_INPUT << 16) +#define PM_QS_POSTMESSAGE ((QS_POSTMESSAGE | QS_HOTKEY | QS_TIMER) << 16) +#define PM_QS_PAINT (QS_PAINT << 16) +#define PM_QS_SENDMESSAGE (QS_SENDMESSAGE << 16) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI RegisterHotKey(HWND hWnd,int id,UINT fsModifiers,UINT vk); + WINUSERAPI WINBOOL WINAPI UnregisterHotKey(HWND hWnd,int id); +#endif + +#define MOD_ALT 0x0001 +#define MOD_CONTROL 0x0002 +#define MOD_SHIFT 0x0004 +#define MOD_WIN 0x0008 +#if WINVER >= 0x0601 +#define MOD_NOREPEAT 0x4000 +#endif + +#define IDHOT_SNAPWINDOW (-1) +#define IDHOT_SNAPDESKTOP (-2) + +#ifdef WIN_INTERNAL +#ifndef LSTRING +#define NOLSTRING +#endif +#ifndef LFILEIO +#define NOLFILEIO +#endif +#endif + +#define ENDSESSION_CLOSEAPP 0x00000001 +#define ENDSESSION_CRITICAL 0x40000000 +#define ENDSESSION_LOGOFF 0x80000000 + +#define EWX_LOGOFF 0x00000000 +#define EWX_SHUTDOWN 0x00000001 +#define EWX_REBOOT 0x00000002 +#define EWX_FORCE 0x00000004 +#define EWX_POWEROFF 0x00000008 +#define EWX_FORCEIFHUNG 0x00000010 +#define EWX_QUICKRESOLVE 0x00000020 +#if _WIN32_WINNT >= 0x0600 +#define EWX_RESTARTAPPS 0x00000040 +#endif +#define EWX_HYBRID_SHUTDOWN 0x00400000 +#define EWX_BOOTOPTIONS 0x01000000 +#define EWX_ARSO 0x04000000 +#define EWX_CHECK_SAFE_FOR_SERVER 0x08000000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define ExitWindows(dwReserved,Code) ExitWindowsEx(EWX_LOGOFF,0xFFFFFFFF) + +#define SendMessage __MINGW_NAME_AW(SendMessage) +#define SendMessageTimeout __MINGW_NAME_AW(SendMessageTimeout) +#define SendNotifyMessage __MINGW_NAME_AW(SendNotifyMessage) +#define SendMessageCallback __MINGW_NAME_AW(SendMessageCallback) + + WINUSERAPI WINBOOL WINAPI ExitWindowsEx(UINT uFlags,DWORD dwReason); + WINUSERAPI WINBOOL WINAPI SwapMouseButton(WINBOOL fSwap); + WINUSERAPI DWORD WINAPI GetMessagePos(VOID); + WINUSERAPI LONG WINAPI GetMessageTime(VOID); + WINUSERAPI LPARAM WINAPI GetMessageExtraInfo(VOID); +#if _WIN32_WINNT >= 0x0602 + WINUSERAPI DWORD WINAPI GetUnpredictedMessagePos (VOID); +#endif + WINUSERAPI WINBOOL WINAPI IsWow64Message(VOID); + WINUSERAPI LPARAM WINAPI SetMessageExtraInfo(LPARAM lParam); + WINUSERAPI LRESULT WINAPI SendMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI SendMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI SendMessageTimeoutA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult); + WINUSERAPI LRESULT WINAPI SendMessageTimeoutW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,UINT fuFlags,UINT uTimeout,PDWORD_PTR lpdwResult); + WINUSERAPI WINBOOL WINAPI SendNotifyMessageA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI SendNotifyMessageW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI SendMessageCallbackA(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData); + WINUSERAPI WINBOOL WINAPI SendMessageCallbackW(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam,SENDASYNCPROC lpResultCallBack,ULONG_PTR dwData); + + typedef struct { + UINT cbSize; + HDESK hdesk; + HWND hwnd; + LUID luid; + } BSMINFO,*PBSMINFO; + +#define BroadcastSystemMessageEx __MINGW_NAME_AW(BroadcastSystemMessageEx) +#define BroadcastSystemMessage __MINGW_NAME_AW(BroadcastSystemMessage) + + WINUSERAPI __LONG32 WINAPI BroadcastSystemMessageExA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo); + WINUSERAPI __LONG32 WINAPI BroadcastSystemMessageExW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam,PBSMINFO pbsmInfo); + WINUSERAPI __LONG32 WINAPI BroadcastSystemMessageA(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI __LONG32 WINAPI BroadcastSystemMessageW(DWORD flags,LPDWORD lpInfo,UINT Msg,WPARAM wParam,LPARAM lParam); +#endif + +#define BSM_ALLCOMPONENTS 0x00000000 +#define BSM_VXDS 0x00000001 +#define BSM_NETDRIVER 0x00000002 +#define BSM_INSTALLABLEDRIVERS 0x00000004 +#define BSM_APPLICATIONS 0x00000008 +#define BSM_ALLDESKTOPS 0x00000010 + +#define BSF_QUERY 0x00000001 +#define BSF_IGNORECURRENTTASK 0x00000002 +#define BSF_FLUSHDISK 0x00000004 +#define BSF_NOHANG 0x00000008 +#define BSF_POSTMESSAGE 0x00000010 +#define BSF_FORCEIFHUNG 0x00000020 +#define BSF_NOTIMEOUTIFNOTHUNG 0x00000040 +#define BSF_ALLOWSFW 0x00000080 +#define BSF_SENDNOTIFYMESSAGE 0x00000100 +#define BSF_RETURNHDESK 0x00000200 +#define BSF_LUID 0x00000400 + +#define BROADCAST_QUERY_DENY 0x424D5144 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef PVOID HDEVNOTIFY; + typedef HDEVNOTIFY *PHDEVNOTIFY; +#endif + +#define DEVICE_NOTIFY_WINDOW_HANDLE 0x00000000 +#define DEVICE_NOTIFY_SERVICE_HANDLE 0x00000001 +#define DEVICE_NOTIFY_ALL_INTERFACE_CLASSES 0x00000004 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define RegisterDeviceNotification __MINGW_NAME_AW(RegisterDeviceNotification) +#define PostMessage __MINGW_NAME_AW(PostMessage) +#define PostThreadMessage __MINGW_NAME_AW(PostThreadMessage) +#define PostAppMessage __MINGW_NAME_AW(PostAppMessage) +#define DefWindowProc __MINGW_NAME_AW(DefWindowProc) +#define CallWindowProc __MINGW_NAME_AW(CallWindowProc) +#define RegisterClass __MINGW_NAME_AW(RegisterClass) +#define UnregisterClass __MINGW_NAME_AW(UnregisterClass) +#define GetClassInfo __MINGW_NAME_AW(GetClassInfo) +#define RegisterClassEx __MINGW_NAME_AW(RegisterClassEx) +#define GetClassInfoEx __MINGW_NAME_AW(GetClassInfoEx) + +#if _WIN32_WINNT >= 0x0502 +#ifndef _HPOWERNOTIFY_DEF_ +#define _HPOWERNOTIFY_DEF_ + typedef HANDLE HPOWERNOTIFY; + typedef HPOWERNOTIFY *PHPOWERNOTIFY; +#endif + + WINUSERAPI HPOWERNOTIFY WINAPI RegisterPowerSettingNotification (HANDLE hRecipient, LPCGUID PowerSettingGuid, DWORD Flags); + WINUSERAPI WINBOOL WINAPI UnregisterPowerSettingNotification (HPOWERNOTIFY Handle); + WINUSERAPI HPOWERNOTIFY WINAPI RegisterSuspendResumeNotification (HANDLE hRecipient, DWORD Flags); + WINUSERAPI WINBOOL WINAPI UnregisterSuspendResumeNotification (HPOWERNOTIFY Handle); +#endif + + WINUSERAPI WINBOOL WINAPI PostMessageA (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI WINBOOL WINAPI PostMessageW (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI WINBOOL WINAPI PostThreadMessageA (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI WINBOOL WINAPI PostThreadMessageW (DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam); + +#define PostAppMessageA(idThread, wMsg, wParam, lParam) PostThreadMessageA ((DWORD)idThread, wMsg, wParam, lParam) +#define PostAppMessageW(idThread, wMsg, wParam, lParam) PostThreadMessageW ((DWORD)idThread, wMsg, wParam, lParam) + + WINUSERAPI WINBOOL WINAPI AttachThreadInput (DWORD idAttach, DWORD idAttachTo, WINBOOL fAttach); + WINUSERAPI WINBOOL WINAPI ReplyMessage (LRESULT lResult); + WINUSERAPI WINBOOL WINAPI WaitMessage (VOID); + WINUSERAPI DWORD WINAPI WaitForInputIdle (HANDLE hProcess, DWORD dwMilliseconds); + WINUSERAPI LRESULT WINAPI DefWindowProcA (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI LRESULT WINAPI DefWindowProcW (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI VOID WINAPI PostQuitMessage (int nExitCode); + WINUSERAPI WINBOOL WINAPI InSendMessage (VOID); + WINUSERAPI DWORD WINAPI InSendMessageEx (LPVOID lpReserved); + WINUSERAPI UINT WINAPI GetDoubleClickTime (VOID); + WINUSERAPI WINBOOL WINAPI SetDoubleClickTime (UINT); + WINUSERAPI ATOM WINAPI RegisterClassA (CONST WNDCLASSA *lpWndClass); + WINUSERAPI ATOM WINAPI RegisterClassW (CONST WNDCLASSW *lpWndClass); + WINUSERAPI WINBOOL WINAPI UnregisterClassA (LPCSTR lpClassName, HINSTANCE hInstance); + WINUSERAPI WINBOOL WINAPI UnregisterClassW (LPCWSTR lpClassName, HINSTANCE hInstance); + WINUSERAPI WINBOOL WINAPI GetClassInfoA (HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass); + WINUSERAPI WINBOOL WINAPI GetClassInfoW (HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass); + WINUSERAPI ATOM WINAPI RegisterClassExA (CONST WNDCLASSEXA *); + WINUSERAPI ATOM WINAPI RegisterClassExW (CONST WNDCLASSEXW *); + WINUSERAPI WINBOOL WINAPI GetClassInfoExA (HINSTANCE hInstance, LPCSTR lpszClass, LPWNDCLASSEXA lpwcx); + WINUSERAPI WINBOOL WINAPI GetClassInfoExW (HINSTANCE hInstance, LPCWSTR lpszClass, LPWNDCLASSEXW lpwcx); + +#ifdef STRICT + WINUSERAPI LRESULT WINAPI CallWindowProcA (WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI LRESULT WINAPI CallWindowProcW (WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); +#else + WINUSERAPI LRESULT WINAPI CallWindowProcA (FARPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); + WINUSERAPI LRESULT WINAPI CallWindowProcW (FARPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); +#endif +#endif + +#define CW_USEDEFAULT ((int)0x80000000) + +#define HWND_BROADCAST ((HWND)0xffff) +#define HWND_MESSAGE ((HWND)-3) +#define HWND_DESKTOP ((HWND)0) + +#define ISMEX_NOSEND 0x00000000 +#define ISMEX_SEND 0x00000001 +#define ISMEX_NOTIFY 0x00000002 +#define ISMEX_CALLBACK 0x00000004 +#define ISMEX_REPLIED 0x00000008 + +#if (_WIN32_WINNT >= 0x0502) + extern const GUID GUID_POWERSCHEME_PERSONALITY; + extern const GUID GUID_MIN_POWER_SAVINGS; + extern const GUID GUID_MAX_POWER_SAVINGS; + extern const GUID GUID_TYPICAL_POWER_SAVINGS; + extern const GUID GUID_ACDC_POWER_SOURCE; + extern const GUID GUID_BATTERY_PERCENTAGE_REMAINING; + extern const GUID GUID_IDLE_BACKGROUND_TASK; + extern const GUID GUID_SYSTEM_AWAYMODE; + extern const GUID GUID_MONITOR_POWER_ON; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationA(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags); + WINUSERAPI HDEVNOTIFY WINAPI RegisterDeviceNotificationW(HANDLE hRecipient,LPVOID NotificationFilter,DWORD Flags); + WINUSERAPI WINBOOL WINAPI UnregisterDeviceNotification(HDEVNOTIFY Handle); + + typedef BOOLEAN (WINAPI *PREGISTERCLASSNAMEW)(LPCWSTR); + +#define CreateWindowEx __MINGW_NAME_AW(CreateWindowEx) +#define CreateWindow __MINGW_NAME_AW(CreateWindow) + + WINUSERAPI HWND WINAPI CreateWindowExA(DWORD dwExStyle,LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam); + WINUSERAPI HWND WINAPI CreateWindowExW(DWORD dwExStyle,LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HMENU hMenu,HINSTANCE hInstance,LPVOID lpParam); + +#define CreateWindowA(lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) CreateWindowExA((DWORD)0,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) +#define CreateWindowW(lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) CreateWindowExW((DWORD)0,lpClassName,lpWindowName,dwStyle,x,y,nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam) + + WINUSERAPI WINBOOL WINAPI IsWindow(HWND hWnd); + WINUSERAPI WINBOOL WINAPI IsMenu(HMENU hMenu); + WINUSERAPI WINBOOL WINAPI IsChild(HWND hWndParent,HWND hWnd); + WINUSERAPI WINBOOL WINAPI DestroyWindow(HWND hWnd); + WINUSERAPI WINBOOL WINAPI ShowWindow(HWND hWnd,int nCmdShow); + WINUSERAPI WINBOOL WINAPI AnimateWindow(HWND hWnd,DWORD dwTime,DWORD dwFlags); +#endif + +#if defined (_WINGDI_) && !defined (NOGDI) +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI UpdateLayeredWindow (HWND hWnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags); + + typedef struct tagUPDATELAYEREDWINDOWINFO { + DWORD cbSize; + HDC hdcDst; + const POINT *pptDst; + const SIZE *psize; + HDC hdcSrc; + const POINT *pptSrc; + COLORREF crKey; + const BLENDFUNCTION *pblend; + DWORD dwFlags; + const RECT *prcDirty; + } UPDATELAYEREDWINDOWINFO,*PUPDATELAYEREDWINDOWINFO; + +#if _WIN32_WINNT < 0x0502 + typedef +#endif + WINUSERAPI WINBOOL WINAPI UpdateLayeredWindowIndirect (HWND hWnd, const UPDATELAYEREDWINDOWINFO *pULWInfo); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI GetLayeredWindowAttributes (HWND hwnd, COLORREF *pcrKey, BYTE *pbAlpha, DWORD *pdwFlags); + +#define PW_CLIENTONLY 0x00000001 +#if _WIN32_WINNT >= 0x0603 +#define PW_RENDERFULLCONTENT 0x00000002 +#endif + + WINUSERAPI WINBOOL WINAPI PrintWindow (HWND hwnd, HDC hdcBlt, UINT nFlags); + WINUSERAPI WINBOOL WINAPI SetLayeredWindowAttributes (HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); +#endif + +#define LWA_COLORKEY 0x00000001 +#define LWA_ALPHA 0x00000002 + +#define ULW_COLORKEY 0x00000001 +#define ULW_ALPHA 0x00000002 +#define ULW_OPAQUE 0x00000004 +#define ULW_EX_NORESIZE 0x00000008 + +#define FLASHW_STOP 0 +#define FLASHW_CAPTION 0x00000001 +#define FLASHW_TRAY 0x00000002 +#define FLASHW_ALL (FLASHW_CAPTION | FLASHW_TRAY) +#define FLASHW_TIMER 0x00000004 +#define FLASHW_TIMERNOFG 0x0000000c + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct { + UINT cbSize; + HWND hwnd; + DWORD dwFlags; + UINT uCount; + DWORD dwTimeout; + } FLASHWINFO,*PFLASHWINFO; + + WINUSERAPI WINBOOL WINAPI ShowWindowAsync (HWND hWnd, int nCmdShow); + WINUSERAPI WINBOOL WINAPI FlashWindow (HWND hWnd, WINBOOL bInvert); + WINUSERAPI WINBOOL WINAPI FlashWindowEx (PFLASHWINFO pfwi); + WINUSERAPI WINBOOL WINAPI ShowOwnedPopups (HWND hWnd, WINBOOL fShow); + WINUSERAPI WINBOOL WINAPI OpenIcon (HWND hWnd); + WINUSERAPI WINBOOL WINAPI CloseWindow (HWND hWnd); + WINUSERAPI WINBOOL WINAPI MoveWindow (HWND hWnd, int X, int Y, int nWidth, int nHeight, WINBOOL bRepaint); + WINUSERAPI WINBOOL WINAPI SetWindowPos (HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); + WINUSERAPI WINBOOL WINAPI GetWindowPlacement (HWND hWnd, WINDOWPLACEMENT *lpwndpl); + WINUSERAPI WINBOOL WINAPI SetWindowPlacement (HWND hWnd, CONST WINDOWPLACEMENT *lpwndpl); + +#if _WIN32_WINNT >= 0x0601 +#define WDA_NONE 0x00000000 +#define WDA_MONITOR 0x00000001 +#define WDA_EXCLUDEFROMCAPTURE 0x00000011 + + WINUSERAPI WINBOOL WINAPI GetWindowDisplayAffinity (HWND hWnd, DWORD *pdwAffinity); + WINUSERAPI WINBOOL WINAPI SetWindowDisplayAffinity (HWND hWnd, DWORD dwAffinity); +#endif +#endif + +#ifndef NODEFERWINDOWPOS +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI HDWP WINAPI BeginDeferWindowPos (int nNumWindows); + WINUSERAPI HDWP WINAPI DeferWindowPos (HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags); + WINUSERAPI WINBOOL WINAPI EndDeferWindowPos (HDWP hWinPosInfo); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI IsWindowVisible (HWND hWnd); + WINUSERAPI WINBOOL WINAPI IsIconic (HWND hWnd); + WINUSERAPI WINBOOL WINAPI AnyPopup (VOID); + WINUSERAPI WINBOOL WINAPI BringWindowToTop (HWND hWnd); + WINUSERAPI WINBOOL WINAPI IsZoomed (HWND hWnd); +#endif + +#define SWP_NOSIZE 0x0001 +#define SWP_NOMOVE 0x0002 +#define SWP_NOZORDER 0x0004 +#define SWP_NOREDRAW 0x0008 +#define SWP_NOACTIVATE 0x0010 +#define SWP_FRAMECHANGED 0x0020 +#define SWP_SHOWWINDOW 0x0040 +#define SWP_HIDEWINDOW 0x0080 +#define SWP_NOCOPYBITS 0x0100 +#define SWP_NOOWNERZORDER 0x0200 +#define SWP_NOSENDCHANGING 0x0400 + +#define SWP_DRAWFRAME SWP_FRAMECHANGED +#define SWP_NOREPOSITION SWP_NOOWNERZORDER +#define SWP_DEFERERASE 0x2000 +#define SWP_ASYNCWINDOWPOS 0x4000 + +#define HWND_TOP ((HWND)0) +#define HWND_BOTTOM ((HWND)1) +#define HWND_TOPMOST ((HWND)-1) +#define HWND_NOTOPMOST ((HWND)-2) + +#ifndef NOCTLMGR + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef struct { + DWORD style; + DWORD dwExtendedStyle; + WORD cdit; + short x; + short y; + short cx; + short cy; + } DLGTEMPLATE; +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef DLGTEMPLATE *LPDLGTEMPLATEA; + typedef DLGTEMPLATE *LPDLGTEMPLATEW; + + __MINGW_TYPEDEF_AW(LPDLGTEMPLATE) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEA; + typedef CONST DLGTEMPLATE *LPCDLGTEMPLATEW; + + __MINGW_TYPEDEF_AW(LPCDLGTEMPLATE) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct { + DWORD style; + DWORD dwExtendedStyle; + short x; + short y; + short cx; + short cy; + WORD id; + } DLGITEMTEMPLATE; + + typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA; + typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW; + + __MINGW_TYPEDEF_AW(PDLGITEMTEMPLATE) + + typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA; + typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW; + + __MINGW_TYPEDEF_AW(LPDLGITEMTEMPLATE) +#endif + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CreateDialogParam __MINGW_NAME_AW(CreateDialogParam) +#define CreateDialogIndirectParam __MINGW_NAME_AW(CreateDialogIndirectParam) +#define CreateDialog __MINGW_NAME_AW(CreateDialog) +#define CreateDialogIndirect __MINGW_NAME_AW(CreateDialogIndirect) +#define DialogBoxParam __MINGW_NAME_AW(DialogBoxParam) +#define DialogBoxIndirectParam __MINGW_NAME_AW(DialogBoxIndirectParam) +#define DialogBox __MINGW_NAME_AW(DialogBox) +#define DialogBoxIndirect __MINGW_NAME_AW(DialogBoxIndirect) +#define SetDlgItemText __MINGW_NAME_AW(SetDlgItemText) +#define GetDlgItemText __MINGW_NAME_AW(GetDlgItemText) +#define SendDlgItemMessage __MINGW_NAME_AW(SendDlgItemMessage) +#define DefDlgProc __MINGW_NAME_AW(DefDlgProc) + + WINUSERAPI HWND WINAPI CreateDialogParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI HWND WINAPI CreateDialogParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI HWND WINAPI CreateDialogIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI HWND WINAPI CreateDialogIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW lpTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + +#define CreateDialogA(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamA(hInstance,lpName,hWndParent,lpDialogFunc,(LPARAM)0) +#define CreateDialogW(hInstance,lpName,hWndParent,lpDialogFunc) CreateDialogParamW(hInstance,lpName,hWndParent,lpDialogFunc,(LPARAM)0) +#define CreateDialogIndirectA(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) +#define CreateDialogIndirectW(hInstance,lpTemplate,hWndParent,lpDialogFunc) CreateDialogIndirectParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) + + WINUSERAPI INT_PTR WINAPI DialogBoxParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI INT_PTR WINAPI DialogBoxParamW(HINSTANCE hInstance,LPCWSTR lpTemplateName,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI INT_PTR WINAPI DialogBoxIndirectParamA(HINSTANCE hInstance,LPCDLGTEMPLATEA hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); + WINUSERAPI INT_PTR WINAPI DialogBoxIndirectParamW(HINSTANCE hInstance,LPCDLGTEMPLATEW hDialogTemplate,HWND hWndParent,DLGPROC lpDialogFunc,LPARAM dwInitParam); +#define DialogBoxA(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) +#define DialogBoxW(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) +#define DialogBoxIndirectA(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxIndirectParamA(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) +#define DialogBoxIndirectW(hInstance,lpTemplate,hWndParent,lpDialogFunc) DialogBoxIndirectParamW(hInstance,lpTemplate,hWndParent,lpDialogFunc,(LPARAM)0) + WINUSERAPI WINBOOL WINAPI EndDialog(HWND hDlg,INT_PTR nResult); + WINUSERAPI HWND WINAPI GetDlgItem(HWND hDlg,int nIDDlgItem); + WINUSERAPI WINBOOL WINAPI SetDlgItemInt(HWND hDlg,int nIDDlgItem,UINT uValue,WINBOOL bSigned); + WINUSERAPI UINT WINAPI GetDlgItemInt(HWND hDlg,int nIDDlgItem,WINBOOL *lpTranslated,WINBOOL bSigned); + WINUSERAPI WINBOOL WINAPI SetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPCSTR lpString); + WINUSERAPI WINBOOL WINAPI SetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPCWSTR lpString); + WINUSERAPI UINT WINAPI GetDlgItemTextA(HWND hDlg,int nIDDlgItem,LPSTR lpString,int cchMax); + WINUSERAPI UINT WINAPI GetDlgItemTextW(HWND hDlg,int nIDDlgItem,LPWSTR lpString,int cchMax); + WINUSERAPI WINBOOL WINAPI CheckDlgButton(HWND hDlg,int nIDButton,UINT uCheck); + WINUSERAPI WINBOOL WINAPI CheckRadioButton(HWND hDlg,int nIDFirstButton,int nIDLastButton,int nIDCheckButton); + WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND hDlg,int nIDButton); + WINUSERAPI LRESULT WINAPI SendDlgItemMessageA(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI SendDlgItemMessageW(HWND hDlg,int nIDDlgItem,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI HWND WINAPI GetNextDlgGroupItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious); + WINUSERAPI HWND WINAPI GetNextDlgTabItem(HWND hDlg,HWND hCtl,WINBOOL bPrevious); + WINUSERAPI int WINAPI GetDlgCtrlID(HWND hWnd); + WINUSERAPI __LONG32 WINAPI GetDialogBaseUnits(VOID); + WINUSERAPI LRESULT WINAPI DefDlgProcA(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI DefDlgProcW(HWND hDlg,UINT Msg,WPARAM wParam,LPARAM lParam); +#endif + + typedef enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS { + DCDC_DEFAULT = 0x0000, + DCDC_DISABLE_FONT_UPDATE = 0x0001, + DCDC_DISABLE_RELAYOUT = 0x0002 + } DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; + +WINBOOL WINAPI SetDialogControlDpiChangeBehavior(HWND hWnd, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values); +DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS WINAPI GetDialogControlDpiChangeBehavior(HWND hWnd); + + typedef enum DIALOG_DPI_CHANGE_BEHAVIORS { + DDC_DEFAULT = 0x0000, + DDC_DISABLE_ALL = 0x0001, + DDC_DISABLE_RESIZE = 0x0002, + DDC_DISABLE_CONTROL_RELAYOUT = 0x0004 + } DIALOG_DPI_CHANGE_BEHAVIORS; + +WINBOOL WINAPI SetDialogDpiChangeBehavior(HWND hDlg, DIALOG_DPI_CHANGE_BEHAVIORS mask, DIALOG_DPI_CHANGE_BEHAVIORS values); +DIALOG_DPI_CHANGE_BEHAVIORS WINAPI GetDialogDpiChangeBehavior(HWND hDlg); + +#define DLGWINDOWEXTRA 30 +#endif /* !NOCTLMGR */ + +#ifndef NOMSG +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CallMsgFilter __MINGW_NAME_AW(CallMsgFilter) + + WINUSERAPI WINBOOL WINAPI CallMsgFilterA(LPMSG lpMsg,int nCode); + WINUSERAPI WINBOOL WINAPI CallMsgFilterW(LPMSG lpMsg,int nCode); +#endif +#endif + +#ifndef NOCLIPBOARD +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define RegisterClipboardFormat __MINGW_NAME_AW(RegisterClipboardFormat) +#define GetClipboardFormatName __MINGW_NAME_AW(GetClipboardFormatName) + + WINUSERAPI WINBOOL WINAPI OpenClipboard(HWND hWndNewOwner); + WINUSERAPI WINBOOL WINAPI CloseClipboard(VOID); + WINUSERAPI DWORD WINAPI GetClipboardSequenceNumber(VOID); + WINUSERAPI HWND WINAPI GetClipboardOwner(VOID); + WINUSERAPI HWND WINAPI SetClipboardViewer(HWND hWndNewViewer); + WINUSERAPI HWND WINAPI GetClipboardViewer(VOID); + WINUSERAPI WINBOOL WINAPI ChangeClipboardChain(HWND hWndRemove, HWND hWndNewNext); + WINUSERAPI HANDLE WINAPI SetClipboardData(UINT uFormat, HANDLE hMem); + WINUSERAPI HANDLE WINAPI GetClipboardData(UINT uFormat); + WINUSERAPI UINT WINAPI RegisterClipboardFormatA(LPCSTR lpszFormat); + WINUSERAPI UINT WINAPI RegisterClipboardFormatW(LPCWSTR lpszFormat); + WINUSERAPI int WINAPI CountClipboardFormats(VOID); + WINUSERAPI UINT WINAPI EnumClipboardFormats(UINT format); + WINUSERAPI int WINAPI GetClipboardFormatNameA(UINT format, LPSTR lpszFormatName, int cchMaxCount); + WINUSERAPI int WINAPI GetClipboardFormatNameW(UINT format, LPWSTR lpszFormatName, int cchMaxCount); + WINUSERAPI WINBOOL WINAPI EmptyClipboard(VOID); + WINUSERAPI WINBOOL WINAPI IsClipboardFormatAvailable(UINT format); + WINUSERAPI int WINAPI GetPriorityClipboardFormat(UINT *paFormatPriorityList, int cFormats); + WINUSERAPI HWND WINAPI GetOpenClipboardWindow(VOID); +#if WINVER >= 0x0600 + WINUSERAPI WINBOOL WINAPI AddClipboardFormatListener (HWND hwnd); + WINUSERAPI WINBOOL WINAPI RemoveClipboardFormatListener (HWND hwnd); + WINUSERAPI WINBOOL WINAPI GetUpdatedClipboardFormats (PUINT lpuiFormats, UINT cFormats, PUINT pcFormatsOut); +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define CharToOem __MINGW_NAME_AW(CharToOem) +#define OemToChar __MINGW_NAME_AW(OemToChar) +#define CharToOemBuff __MINGW_NAME_AW(CharToOemBuff) +#define OemToCharBuff __MINGW_NAME_AW(OemToCharBuff) +#define CharUpper __MINGW_NAME_AW(CharUpper) +#define CharUpperBuff __MINGW_NAME_AW(CharUpperBuff) +#define CharLower __MINGW_NAME_AW(CharLower) +#define CharLowerBuff __MINGW_NAME_AW(CharLowerBuff) +#define CharNext __MINGW_NAME_AW(CharNext) +#define CharPrev __MINGW_NAME_AW(CharPrev) + + WINUSERAPI WINBOOL WINAPI CharToOemA(LPCSTR lpszSrc,LPSTR lpszDst); + WINUSERAPI WINBOOL WINAPI CharToOemW(LPCWSTR lpszSrc,LPSTR lpszDst); + WINUSERAPI WINBOOL WINAPI OemToCharA(LPCSTR lpszSrc,LPSTR lpszDst); + WINUSERAPI WINBOOL WINAPI OemToCharW(LPCSTR lpszSrc,LPWSTR lpszDst); + WINUSERAPI WINBOOL WINAPI CharToOemBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength); + WINUSERAPI WINBOOL WINAPI CharToOemBuffW(LPCWSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength); + WINUSERAPI WINBOOL WINAPI OemToCharBuffA(LPCSTR lpszSrc,LPSTR lpszDst,DWORD cchDstLength); + WINUSERAPI WINBOOL WINAPI OemToCharBuffW(LPCSTR lpszSrc,LPWSTR lpszDst,DWORD cchDstLength); + WINUSERAPI LPSTR WINAPI CharUpperA(LPSTR lpsz); + WINUSERAPI LPWSTR WINAPI CharUpperW(LPWSTR lpsz); + WINUSERAPI DWORD WINAPI CharUpperBuffA(LPSTR lpsz,DWORD cchLength); + WINUSERAPI DWORD WINAPI CharUpperBuffW(LPWSTR lpsz,DWORD cchLength); + WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR lpsz); + WINUSERAPI LPWSTR WINAPI CharLowerW(LPWSTR lpsz); + WINUSERAPI DWORD WINAPI CharLowerBuffA(LPSTR lpsz,DWORD cchLength); + WINUSERAPI DWORD WINAPI CharLowerBuffW(LPWSTR lpsz,DWORD cchLength); + WINUSERAPI LPSTR WINAPI CharNextA(LPCSTR lpsz); + WINUSERAPI LPWSTR WINAPI CharNextW(LPCWSTR lpsz); + WINUSERAPI LPSTR WINAPI CharPrevA(LPCSTR lpszStart,LPCSTR lpszCurrent); + WINUSERAPI LPWSTR WINAPI CharPrevW(LPCWSTR lpszStart,LPCWSTR lpszCurrent); + WINUSERAPI LPSTR WINAPI CharNextExA(WORD CodePage,LPCSTR lpCurrentChar,DWORD dwFlags); + WINUSERAPI LPSTR WINAPI CharPrevExA(WORD CodePage,LPCSTR lpStart,LPCSTR lpCurrentChar,DWORD dwFlags); +#endif + +#define AnsiToOem CharToOemA +#define OemToAnsi OemToCharA +#define AnsiToOemBuff CharToOemBuffA +#define OemToAnsiBuff OemToCharBuffA +#define AnsiUpper CharUpperA +#define AnsiUpperBuff CharUpperBuffA +#define AnsiLower CharLowerA +#define AnsiLowerBuff CharLowerBuffA +#define AnsiNext CharNextA +#define AnsiPrev CharPrevA + +#ifndef NOLANGUAGE +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define IsCharAlpha __MINGW_NAME_AW(IsCharAlpha) +#define IsCharAlphaNumeric __MINGW_NAME_AW(IsCharAlphaNumeric) +#define IsCharUpper __MINGW_NAME_AW(IsCharUpper) +#define IsCharLower __MINGW_NAME_AW(IsCharLower) + + WINUSERAPI WINBOOL WINAPI IsCharAlphaA(CHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharAlphaW(WCHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharAlphaNumericA(CHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharAlphaNumericW(WCHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharUpperA(CHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharUpperW(WCHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharLowerA(CHAR ch); + WINUSERAPI WINBOOL WINAPI IsCharLowerW(WCHAR ch); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define GetKeyNameText __MINGW_NAME_AW(GetKeyNameText) +#define VkKeyScan __MINGW_NAME_AW(VkKeyScan) +#define VkKeyScanEx __MINGW_NAME_AW(VkKeyScanEx) + + WINUSERAPI HWND WINAPI SetFocus(HWND hWnd); + WINUSERAPI HWND WINAPI GetActiveWindow(VOID); + WINUSERAPI HWND WINAPI GetFocus(VOID); + WINUSERAPI UINT WINAPI GetKBCodePage(VOID); + WINUSERAPI SHORT WINAPI GetKeyState(int nVirtKey); + WINUSERAPI SHORT WINAPI GetAsyncKeyState(int vKey); + WINUSERAPI WINBOOL WINAPI GetKeyboardState(PBYTE lpKeyState); + WINUSERAPI WINBOOL WINAPI SetKeyboardState(LPBYTE lpKeyState); + WINUSERAPI int WINAPI GetKeyNameTextA(LONG lParam,LPSTR lpString,int cchSize); + WINUSERAPI int WINAPI GetKeyNameTextW(LONG lParam,LPWSTR lpString,int cchSize); + WINUSERAPI int WINAPI GetKeyboardType(int nTypeFlag); + WINUSERAPI int WINAPI ToAscii(UINT uVirtKey,UINT uScanCode,CONST BYTE *lpKeyState,LPWORD lpChar,UINT uFlags); + WINUSERAPI int WINAPI ToAsciiEx(UINT uVirtKey,UINT uScanCode,CONST BYTE *lpKeyState,LPWORD lpChar,UINT uFlags,HKL dwhkl); + WINUSERAPI int WINAPI ToUnicode(UINT wVirtKey,UINT wScanCode,CONST BYTE *lpKeyState,LPWSTR pwszBuff,int cchBuff,UINT wFlags); + WINUSERAPI DWORD WINAPI OemKeyScan(WORD wOemChar); + WINUSERAPI SHORT WINAPI VkKeyScanA(CHAR ch); + WINUSERAPI SHORT WINAPI VkKeyScanW(WCHAR ch); + WINUSERAPI SHORT WINAPI VkKeyScanExA(CHAR ch,HKL dwhkl); + WINUSERAPI SHORT WINAPI VkKeyScanExW(WCHAR ch,HKL dwhkl); + WINUSERAPI VOID WINAPI keybd_event(BYTE bVk,BYTE bScan,DWORD dwFlags,ULONG_PTR dwExtraInfo); +#endif + +#define KEYEVENTF_EXTENDEDKEY 0x0001 +#define KEYEVENTF_KEYUP 0x0002 +#define KEYEVENTF_UNICODE 0x0004 +#define KEYEVENTF_SCANCODE 0x0008 + +#define MOUSEEVENTF_MOVE 0x0001 +#define MOUSEEVENTF_LEFTDOWN 0x0002 +#define MOUSEEVENTF_LEFTUP 0x0004 +#define MOUSEEVENTF_RIGHTDOWN 0x0008 +#define MOUSEEVENTF_RIGHTUP 0x0010 +#define MOUSEEVENTF_MIDDLEDOWN 0x0020 +#define MOUSEEVENTF_MIDDLEUP 0x0040 +#define MOUSEEVENTF_XDOWN 0x0080 +#define MOUSEEVENTF_XUP 0x0100 +#define MOUSEEVENTF_WHEEL 0x0800 +#if _WIN32_WINNT >= 0x0600 +#define MOUSEEVENTF_HWHEEL 0x01000 +#endif +#if WINVER >= 0x0600 +#define MOUSEEVENTF_MOVE_NOCOALESCE 0x2000 +#endif +#define MOUSEEVENTF_VIRTUALDESK 0x4000 +#define MOUSEEVENTF_ABSOLUTE 0x8000 + +#define INPUT_MOUSE 0 +#define INPUT_KEYBOARD 1 +#define INPUT_HARDWARE 2 + +#if WINVER >= 0x0601 +#define TOUCH_COORD_TO_PIXEL(l) ((l) / 100) + +#define TOUCHEVENTF_MOVE 0x0001 +#define TOUCHEVENTF_DOWN 0x0002 +#define TOUCHEVENTF_UP 0x0004 +#define TOUCHEVENTF_INRANGE 0x0008 +#define TOUCHEVENTF_PRIMARY 0x0010 +#define TOUCHEVENTF_NOCOALESCE 0x0020 +#define TOUCHEVENTF_PEN 0x0040 +#define TOUCHEVENTF_PALM 0x0080 + +#define TOUCHINPUTMASKF_TIMEFROMSYSTEM 0x0001 +#define TOUCHINPUTMASKF_EXTRAINFO 0x0002 +#define TOUCHINPUTMASKF_CONTACTAREA 0x0004 + +#define TWF_FINETOUCH (0x00000001) +#define TWF_WANTPALM (0x00000002) +#endif + +#if WINVER >= 0x0602 +#define POINTER_FLAG_NONE 0x00000000 +#define POINTER_FLAG_NEW 0x00000001 +#define POINTER_FLAG_INRANGE 0x00000002 +#define POINTER_FLAG_INCONTACT 0x00000004 +#define POINTER_FLAG_FIRSTBUTTON 0x00000010 +#define POINTER_FLAG_SECONDBUTTON 0x00000020 +#define POINTER_FLAG_THIRDBUTTON 0x00000040 +#define POINTER_FLAG_FOURTHBUTTON 0x00000080 +#define POINTER_FLAG_FIFTHBUTTON 0x00000100 +#define POINTER_FLAG_PRIMARY 0x00002000 +#define POINTER_FLAG_CONFIDENCE 0x00004000 +#define POINTER_FLAG_CANCELED 0x00008000 +#define POINTER_FLAG_DOWN 0x00010000 +#define POINTER_FLAG_UPDATE 0x00020000 +#define POINTER_FLAG_UP 0x00040000 +#define POINTER_FLAG_WHEEL 0x00080000 +#define POINTER_FLAG_HWHEEL 0x00100000 +#define POINTER_FLAG_CAPTURECHANGED 0x00200000 +#define POINTER_FLAG_HASTRANSFORM 0x00400000 + +#define POINTER_MOD_SHIFT (0x0004) +#define POINTER_MOD_CTRL (0x0008) + +#define TOUCH_FLAG_NONE 0x00000000 + +#define TOUCH_MASK_NONE 0x00000000 +#define TOUCH_MASK_CONTACTAREA 0x00000001 +#define TOUCH_MASK_ORIENTATION 0x00000002 +#define TOUCH_MASK_PRESSURE 0x00000004 + +#define PEN_FLAG_NONE 0x00000000 +#define PEN_FLAG_BARREL 0x00000001 +#define PEN_FLAG_INVERTED 0x00000002 +#define PEN_FLAG_ERASER 0x00000004 + +#define PEN_MASK_NONE 0x00000000 +#define PEN_MASK_PRESSURE 0x00000001 +#define PEN_MASK_ROTATION 0x00000002 +#define PEN_MASK_TILT_X 0x00000004 +#define PEN_MASK_TILT_Y 0x00000008 + +#define POINTER_MESSAGE_FLAG_NEW 0x00000001 +#define POINTER_MESSAGE_FLAG_INRANGE 0x00000002 +#define POINTER_MESSAGE_FLAG_INCONTACT 0x00000004 +#define POINTER_MESSAGE_FLAG_FIRSTBUTTON 0x00000010 +#define POINTER_MESSAGE_FLAG_SECONDBUTTON 0x00000020 +#define POINTER_MESSAGE_FLAG_THIRDBUTTON 0x00000040 +#define POINTER_MESSAGE_FLAG_FOURTHBUTTON 0x00000080 +#define POINTER_MESSAGE_FLAG_FIFTHBUTTON 0x00000100 +#define POINTER_MESSAGE_FLAG_PRIMARY 0x00002000 +#define POINTER_MESSAGE_FLAG_CONFIDENCE 0x00004000 +#define POINTER_MESSAGE_FLAG_CANCELED 0x00008000 + +#define GET_POINTERID_WPARAM(wParam) (LOWORD (wParam)) +#define IS_POINTER_FLAG_SET_WPARAM(wParam, flag) (((DWORD)HIWORD (wParam) &(flag)) == (flag)) +#define IS_POINTER_NEW_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_NEW) +#define IS_POINTER_INRANGE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_INRANGE) +#define IS_POINTER_INCONTACT_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_INCONTACT) +#define IS_POINTER_FIRSTBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_FIRSTBUTTON) +#define IS_POINTER_SECONDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_SECONDBUTTON) +#define IS_POINTER_THIRDBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_THIRDBUTTON) +#define IS_POINTER_FOURTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_FOURTHBUTTON) +#define IS_POINTER_FIFTHBUTTON_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_FIFTHBUTTON) +#define IS_POINTER_PRIMARY_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_PRIMARY) +#define HAS_POINTER_CONFIDENCE_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_CONFIDENCE) +#define IS_POINTER_CANCELED_WPARAM(wParam) IS_POINTER_FLAG_SET_WPARAM (wParam, POINTER_MESSAGE_FLAG_CANCELED) + +#define PA_ACTIVATE MA_ACTIVATE +#define PA_NOACTIVATE MA_NOACTIVATE + +#define MAX_TOUCH_COUNT 256 + +#define TOUCH_FEEDBACK_DEFAULT 0x1 +#define TOUCH_FEEDBACK_INDIRECT 0x2 +#define TOUCH_FEEDBACK_NONE 0x3 + +#define TOUCH_HIT_TESTING_DEFAULT 0x0 +#define TOUCH_HIT_TESTING_CLIENT 0x1 +#define TOUCH_HIT_TESTING_NONE 0x2 + +#define TOUCH_HIT_TESTING_PROXIMITY_CLOSEST 0x0 +#define TOUCH_HIT_TESTING_PROXIMITY_FARTHEST 0xfff + +#define GWFS_INCLUDE_ANCESTORS 0x00000001 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI VOID WINAPI mouse_event(DWORD dwFlags,DWORD dx,DWORD dy,DWORD dwData,ULONG_PTR dwExtraInfo); + + typedef struct tagMOUSEINPUT { + LONG dx; + LONG dy; + DWORD mouseData; + DWORD dwFlags; + DWORD time; + ULONG_PTR dwExtraInfo; + } MOUSEINPUT,*PMOUSEINPUT,*LPMOUSEINPUT; + + typedef struct tagKEYBDINPUT { + WORD wVk; + WORD wScan; + DWORD dwFlags; + DWORD time; + ULONG_PTR dwExtraInfo; + } KEYBDINPUT,*PKEYBDINPUT,*LPKEYBDINPUT; + + typedef struct tagHARDWAREINPUT { + DWORD uMsg; + WORD wParamL; + WORD wParamH; + } HARDWAREINPUT,*PHARDWAREINPUT,*LPHARDWAREINPUT; + + typedef struct tagINPUT { + DWORD type; + __C89_NAMELESS union { + MOUSEINPUT mi; + KEYBDINPUT ki; + HARDWAREINPUT hi; + } DUMMYUNIONNAME; + } INPUT,*PINPUT,*LPINPUT; + + WINUSERAPI UINT WINAPI SendInput(UINT cInputs,LPINPUT pInputs,int cbSize); + +#if WINVER >= 0x0601 + DECLARE_HANDLE (HTOUCHINPUT); + + typedef struct tagTOUCHINPUT { + LONG x; + LONG y; + HANDLE hSource; + DWORD dwID; + DWORD dwFlags; + DWORD dwMask; + DWORD dwTime; + ULONG_PTR dwExtraInfo; + DWORD cxContact; + DWORD cyContact; + } TOUCHINPUT,*PTOUCHINPUT; + + typedef const TOUCHINPUT *PCTOUCHINPUT; + + WINUSERAPI WINBOOL WINAPI GetTouchInputInfo (HTOUCHINPUT hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize); + WINUSERAPI WINBOOL WINAPI CloseTouchInputHandle (HTOUCHINPUT hTouchInput); + WINUSERAPI WINBOOL WINAPI RegisterTouchWindow (HWND hwnd, ULONG ulFlags); + WINUSERAPI WINBOOL WINAPI UnregisterTouchWindow (HWND hwnd); + WINUSERAPI WINBOOL WINAPI IsTouchWindow (HWND hwnd, PULONG pulFlags); +#endif + +#if WINVER >= 0x0602 + typedef DWORD POINTER_INPUT_TYPE; + typedef UINT32 POINTER_FLAGS; + typedef UINT32 TOUCH_FLAGS; + typedef UINT32 TOUCH_MASK; + typedef UINT32 PEN_FLAGS; + typedef UINT32 PEN_MASK; + + enum tagPOINTER_INPUT_TYPE { + PT_POINTER = 0x00000001, + PT_TOUCH = 0x00000002, + PT_PEN = 0x00000003, + PT_MOUSE = 0x00000004 +#if WINVER >= 0x0603 + ,PT_TOUCHPAD = 0x00000005 +#endif + }; + + typedef enum tagFEEDBACK_TYPE { + FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1, + FEEDBACK_PEN_BARRELVISUALIZATION = 2, + FEEDBACK_PEN_TAP = 3, + FEEDBACK_PEN_DOUBLETAP = 4, + FEEDBACK_PEN_PRESSANDHOLD = 5, + FEEDBACK_PEN_RIGHTTAP = 6, + FEEDBACK_TOUCH_TAP = 7, + FEEDBACK_TOUCH_DOUBLETAP = 8, + FEEDBACK_TOUCH_PRESSANDHOLD = 9, + FEEDBACK_TOUCH_RIGHTTAP = 10, + FEEDBACK_GESTURE_PRESSANDTAP = 11, + FEEDBACK_MAX = 0xffffffff + } FEEDBACK_TYPE; + + typedef enum tagPOINTER_BUTTON_CHANGE_TYPE { + POINTER_CHANGE_NONE, + POINTER_CHANGE_FIRSTBUTTON_DOWN, + POINTER_CHANGE_FIRSTBUTTON_UP, + POINTER_CHANGE_SECONDBUTTON_DOWN, + POINTER_CHANGE_SECONDBUTTON_UP, + POINTER_CHANGE_THIRDBUTTON_DOWN, + POINTER_CHANGE_THIRDBUTTON_UP, + POINTER_CHANGE_FOURTHBUTTON_DOWN, + POINTER_CHANGE_FOURTHBUTTON_UP, + POINTER_CHANGE_FIFTHBUTTON_DOWN, + POINTER_CHANGE_FIFTHBUTTON_UP, + } POINTER_BUTTON_CHANGE_TYPE; + + typedef struct tagPOINTER_INFO { + POINTER_INPUT_TYPE pointerType; + UINT32 pointerId; + UINT32 frameId; + POINTER_FLAGS pointerFlags; + HANDLE sourceDevice; + HWND hwndTarget; + POINT ptPixelLocation; + POINT ptHimetricLocation; + POINT ptPixelLocationRaw; + POINT ptHimetricLocationRaw; + DWORD dwTime; + UINT32 historyCount; + INT32 InputData; + DWORD dwKeyStates; + UINT64 PerformanceCount; + POINTER_BUTTON_CHANGE_TYPE ButtonChangeType; + } POINTER_INFO; + + typedef struct tagPOINTER_TOUCH_INFO { + POINTER_INFO pointerInfo; + TOUCH_FLAGS touchFlags; + TOUCH_MASK touchMask; + RECT rcContact; + RECT rcContactRaw; + UINT32 orientation; + UINT32 pressure; + } POINTER_TOUCH_INFO; + + typedef struct tagPOINTER_PEN_INFO { + POINTER_INFO pointerInfo; + PEN_FLAGS penFlags; + PEN_MASK penMask; + UINT32 pressure; + UINT32 rotation; + INT32 tiltX; + INT32 tiltY; + } POINTER_PEN_INFO; + + typedef enum { + POINTER_FEEDBACK_DEFAULT = 1, + POINTER_FEEDBACK_INDIRECT = 2, + POINTER_FEEDBACK_NONE = 3 + } POINTER_FEEDBACK_MODE; + + typedef struct tagUSAGE_PROPERTIES { + USHORT level; + USHORT page; + USHORT usage; + INT32 logicalMinimum; + INT32 logicalMaximum; + USHORT unit; + USHORT exponent; + BYTE count; + INT32 physicalMinimum; + INT32 physicalMaximum; + } USAGE_PROPERTIES, *PUSAGE_PROPERTIES; + + typedef struct tagPOINTER_TYPE_INFO { + POINTER_INPUT_TYPE type; + __C89_NAMELESS union { + POINTER_TOUCH_INFO touchInfo; + POINTER_PEN_INFO penInfo; + }; + } POINTER_TYPE_INFO, *PPOINTER_TYPE_INFO; + + typedef struct tagINPUT_INJECTION_VALUE { + USHORT page; + USHORT usage; + INT32 value; + USHORT index; + } INPUT_INJECTION_VALUE, *PINPUT_INJECTION_VALUE; + + typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { + UINT16 score; + POINT adjustedPoint; + } TOUCH_HIT_TESTING_PROXIMITY_EVALUATION,*PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; + + typedef struct tagTOUCH_HIT_TESTING_INPUT { + UINT32 pointerId; + POINT point; + RECT boundingBox; + RECT nonOccludedBoundingBox; + UINT32 orientation; + } TOUCH_HIT_TESTING_INPUT,*PTOUCH_HIT_TESTING_INPUT; + + WINUSERAPI WINBOOL WINAPI InitializeTouchInjection (UINT32 maxCount, DWORD dwMode); + WINUSERAPI WINBOOL WINAPI InjectTouchInput (UINT32 count, CONST POINTER_TOUCH_INFO *contacts); + WINUSERAPI WINBOOL WINAPI GetPointerType (UINT32 pointerId, POINTER_INPUT_TYPE *pointerType); + WINUSERAPI WINBOOL WINAPI GetPointerCursorId (UINT32 pointerId, UINT32 *cursorId); + WINUSERAPI WINBOOL WINAPI GetPointerInfo (UINT32 pointerId, POINTER_INFO *pointerInfo); + WINUSERAPI WINBOOL WINAPI GetPointerInfoHistory (UINT32 pointerId, UINT32 *entriesCount, POINTER_INFO *pointerInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFrameInfo (UINT32 pointerId, UINT32 *pointerCount, POINTER_INFO *pointerInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFrameInfoHistory (UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_INFO *pointerInfo); + WINUSERAPI WINBOOL WINAPI GetPointerTouchInfo (UINT32 pointerId, POINTER_TOUCH_INFO *touchInfo); + WINUSERAPI WINBOOL WINAPI GetPointerTouchInfoHistory (UINT32 pointerId, UINT32 *entriesCount, POINTER_TOUCH_INFO *touchInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFrameTouchInfo (UINT32 pointerId, UINT32 *pointerCount, POINTER_TOUCH_INFO *touchInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFrameTouchInfoHistory (UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_TOUCH_INFO *touchInfo); + WINUSERAPI WINBOOL WINAPI GetPointerPenInfo (UINT32 pointerId, POINTER_PEN_INFO *penInfo); + WINUSERAPI WINBOOL WINAPI GetPointerPenInfoHistory (UINT32 pointerId, UINT32 *entriesCount, POINTER_PEN_INFO *penInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFramePenInfo (UINT32 pointerId, UINT32 *pointerCount, POINTER_PEN_INFO *penInfo); + WINUSERAPI WINBOOL WINAPI GetPointerFramePenInfoHistory (UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_PEN_INFO *penInfo); + WINUSERAPI WINBOOL WINAPI SkipPointerFrameMessages (UINT32 pointerId); + WINUSERAPI WINBOOL WINAPI RegisterPointerInputTarget (HWND hwnd, POINTER_INPUT_TYPE pointerType); + WINUSERAPI WINBOOL WINAPI RegisterPointerInputTargetEx(HWND hwnd, POINTER_INPUT_TYPE pointerType, WINBOOL fObserve); + WINUSERAPI WINBOOL WINAPI UnregisterPointerInputTarget (HWND hwnd, POINTER_INPUT_TYPE pointerType); + WINUSERAPI WINBOOL WINAPI UnregisterPointerInputTargetEx(HWND hwnd, POINTER_INPUT_TYPE pointerType); + WINUSERAPI WINBOOL WINAPI EnableMouseInPointer (WINBOOL fEnable); + WINUSERAPI WINBOOL WINAPI IsMouseInPointerEnabled (VOID); + WINUSERAPI WINBOOL WINAPI RegisterTouchHitTestingWindow (HWND hwnd, ULONG value); + WINUSERAPI WINBOOL WINAPI EvaluateProximityToRect (const RECT *controlBoundingBox, const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); + WINUSERAPI WINBOOL WINAPI EvaluateProximityToPolygon (UINT32 numVertices, const POINT *controlPolygon, const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); + WINUSERAPI LRESULT WINAPI PackTouchHitTestingProximityEvaluation (const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); + WINUSERAPI WINBOOL WINAPI GetWindowFeedbackSetting (HWND hwnd, FEEDBACK_TYPE feedback, DWORD dwFlags, UINT32 *pSize, VOID *config); + WINUSERAPI WINBOOL WINAPI SetWindowFeedbackSetting (HWND hwnd, FEEDBACK_TYPE feedback, DWORD dwFlags, UINT32 size, CONST VOID *configuration); + +#if WDK_NTDDI_VERSION >= NTDDI_WIN10_RS3 +WINUSERAPI WINBOOL WINAPI EnableMouseInPointerForThread(VOID); +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS5 +DECLARE_HANDLE(HSYNTHETICPOINTERDEVICE); +WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode); +WINUSERAPI WINBOOL WINAPI InjectSyntheticPointerInput(HSYNTHETICPOINTERDEVICE device, CONST POINTER_TYPE_INFO* pointerInfo, UINT32 count); +WINUSERAPI VOID WINAPI DestroySyntheticPointerDevice(HSYNTHETICPOINTERDEVICE device); +#endif /* NTDDI_VERSION >= NTDDI_WIN10_RS5 */ + +#endif /* WINVER >= 0x0602 */ + + typedef struct tagLASTINPUTINFO { + UINT cbSize; + DWORD dwTime; + } LASTINPUTINFO,*PLASTINPUTINFO; + +#define MapVirtualKey __MINGW_NAME_AW(MapVirtualKey) +#define MapVirtualKeyEx __MINGW_NAME_AW(MapVirtualKeyEx) + + WINUSERAPI WINBOOL WINAPI GetLastInputInfo(PLASTINPUTINFO plii); + WINUSERAPI UINT WINAPI MapVirtualKeyA(UINT uCode,UINT uMapType); + WINUSERAPI UINT WINAPI MapVirtualKeyW(UINT uCode,UINT uMapType); + WINUSERAPI UINT WINAPI MapVirtualKeyExA(UINT uCode,UINT uMapType,HKL dwhkl); + WINUSERAPI UINT WINAPI MapVirtualKeyExW(UINT uCode,UINT uMapType,HKL dwhkl); + WINUSERAPI WINBOOL WINAPI GetInputState(VOID); + WINUSERAPI DWORD WINAPI GetQueueStatus(UINT flags); + WINUSERAPI HWND WINAPI GetCapture(VOID); + WINUSERAPI HWND WINAPI SetCapture(HWND hWnd); + WINUSERAPI WINBOOL WINAPI ReleaseCapture(VOID); + WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjects(DWORD nCount,CONST HANDLE *pHandles,WINBOOL fWaitAll,DWORD dwMilliseconds,DWORD dwWakeMask); + WINUSERAPI DWORD WINAPI MsgWaitForMultipleObjectsEx(DWORD nCount,CONST HANDLE *pHandles,DWORD dwMilliseconds,DWORD dwWakeMask,DWORD dwFlags); +#endif + +#define MAPVK_VK_TO_VSC (0) +#define MAPVK_VSC_TO_VK (1) +#define MAPVK_VK_TO_CHAR (2) +#define MAPVK_VSC_TO_VK_EX (3) +#if WINVER >= 0x0600 +#define MAPVK_VK_TO_VSC_EX (4) +#endif + +#define MWMO_WAITALL 0x0001 +#define MWMO_ALERTABLE 0x0002 +#define MWMO_INPUTAVAILABLE 0x0004 + +#define QS_KEY 0x0001 +#define QS_MOUSEMOVE 0x0002 +#define QS_MOUSEBUTTON 0x0004 +#define QS_POSTMESSAGE 0x0008 +#define QS_TIMER 0x0010 +#define QS_PAINT 0x0020 +#define QS_SENDMESSAGE 0x0040 +#define QS_HOTKEY 0x0080 +#define QS_ALLPOSTMESSAGE 0x0100 +#define QS_RAWINPUT 0x0400 +#if _WIN32_WINNT >= 0x0602 +#define QS_TOUCH 0x0800 +#define QS_POINTER 0x1000 +#endif + +#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON) +#if _WIN32_WINNT >= 0x602 +#define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT | QS_TOUCH | QS_POINTER) +#else +#define QS_INPUT (QS_MOUSE | QS_KEY | QS_RAWINPUT) +#endif +#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY) +#define QS_ALLINPUT (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY | QS_SENDMESSAGE) + +#define USER_TIMER_MAXIMUM 0x7FFFFFFF +#define USER_TIMER_MINIMUM 0x0000000A + +#if WINVER >= 0x0601 +#define TIMERV_DEFAULT_COALESCING (0) +#define TIMERV_NO_COALESCING (0xffffffff) + +#define TIMERV_COALESCING_MIN (1) +#define TIMERV_COALESCING_MAX (0x7ffffff5) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadAccelerators __MINGW_NAME_AW(LoadAccelerators) +#define CreateAcceleratorTable __MINGW_NAME_AW(CreateAcceleratorTable) +#define CopyAcceleratorTable __MINGW_NAME_AW(CopyAcceleratorTable) + + WINUSERAPI UINT_PTR WINAPI SetTimer(HWND hWnd,UINT_PTR nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc); + WINUSERAPI WINBOOL WINAPI KillTimer(HWND hWnd,UINT_PTR uIDEvent); + WINUSERAPI WINBOOL WINAPI IsWindowUnicode(HWND hWnd); + WINUSERAPI WINBOOL WINAPI EnableWindow(HWND hWnd,WINBOOL bEnable); + WINUSERAPI WINBOOL WINAPI IsWindowEnabled(HWND hWnd); + WINUSERAPI HACCEL WINAPI LoadAcceleratorsA(HINSTANCE hInstance,LPCSTR lpTableName); + WINUSERAPI HACCEL WINAPI LoadAcceleratorsW(HINSTANCE hInstance,LPCWSTR lpTableName); + WINUSERAPI HACCEL WINAPI CreateAcceleratorTableA(LPACCEL paccel,int cAccel); + WINUSERAPI HACCEL WINAPI CreateAcceleratorTableW(LPACCEL paccel,int cAccel); + WINUSERAPI WINBOOL WINAPI DestroyAcceleratorTable(HACCEL hAccel); + WINUSERAPI int WINAPI CopyAcceleratorTableA(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries); + WINUSERAPI int WINAPI CopyAcceleratorTableW(HACCEL hAccelSrc,LPACCEL lpAccelDst,int cAccelEntries); + +#ifndef NOMSG +#define TranslateAccelerator __MINGW_NAME_AW(TranslateAccelerator) + + WINUSERAPI int WINAPI TranslateAcceleratorA(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg); + WINUSERAPI int WINAPI TranslateAcceleratorW(HWND hWnd,HACCEL hAccTable,LPMSG lpMsg); +#endif + +#if WINVER >= 0x0601 + WINUSERAPI UINT_PTR WINAPI SetCoalescableTimer (HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc, ULONG uToleranceDelay); +#endif +#endif + +#ifndef NOSYSMETRICS + +#define SM_CXSCREEN 0 +#define SM_CYSCREEN 1 +#define SM_CXVSCROLL 2 +#define SM_CYHSCROLL 3 +#define SM_CYCAPTION 4 +#define SM_CXBORDER 5 +#define SM_CYBORDER 6 +#define SM_CXDLGFRAME 7 +#define SM_CYDLGFRAME 8 +#define SM_CYVTHUMB 9 +#define SM_CXHTHUMB 10 +#define SM_CXICON 11 +#define SM_CYICON 12 +#define SM_CXCURSOR 13 +#define SM_CYCURSOR 14 +#define SM_CYMENU 15 +#define SM_CXFULLSCREEN 16 +#define SM_CYFULLSCREEN 17 +#define SM_CYKANJIWINDOW 18 +#define SM_MOUSEPRESENT 19 +#define SM_CYVSCROLL 20 +#define SM_CXHSCROLL 21 +#define SM_DEBUG 22 +#define SM_SWAPBUTTON 23 +#define SM_RESERVED1 24 +#define SM_RESERVED2 25 +#define SM_RESERVED3 26 +#define SM_RESERVED4 27 +#define SM_CXMIN 28 +#define SM_CYMIN 29 +#define SM_CXSIZE 30 +#define SM_CYSIZE 31 +#define SM_CXFRAME 32 +#define SM_CYFRAME 33 +#define SM_CXMINTRACK 34 +#define SM_CYMINTRACK 35 +#define SM_CXDOUBLECLK 36 +#define SM_CYDOUBLECLK 37 +#define SM_CXICONSPACING 38 +#define SM_CYICONSPACING 39 +#define SM_MENUDROPALIGNMENT 40 +#define SM_PENWINDOWS 41 +#define SM_DBCSENABLED 42 +#define SM_CMOUSEBUTTONS 43 + +#define SM_CXFIXEDFRAME SM_CXDLGFRAME +#define SM_CYFIXEDFRAME SM_CYDLGFRAME +#define SM_CXSIZEFRAME SM_CXFRAME +#define SM_CYSIZEFRAME SM_CYFRAME + +#define SM_SECURE 44 +#define SM_CXEDGE 45 +#define SM_CYEDGE 46 +#define SM_CXMINSPACING 47 +#define SM_CYMINSPACING 48 +#define SM_CXSMICON 49 +#define SM_CYSMICON 50 +#define SM_CYSMCAPTION 51 +#define SM_CXSMSIZE 52 +#define SM_CYSMSIZE 53 +#define SM_CXMENUSIZE 54 +#define SM_CYMENUSIZE 55 +#define SM_ARRANGE 56 +#define SM_CXMINIMIZED 57 +#define SM_CYMINIMIZED 58 +#define SM_CXMAXTRACK 59 +#define SM_CYMAXTRACK 60 +#define SM_CXMAXIMIZED 61 +#define SM_CYMAXIMIZED 62 +#define SM_NETWORK 63 +#define SM_CLEANBOOT 67 +#define SM_CXDRAG 68 +#define SM_CYDRAG 69 +#define SM_SHOWSOUNDS 70 +#define SM_CXMENUCHECK 71 +#define SM_CYMENUCHECK 72 +#define SM_SLOWMACHINE 73 +#define SM_MIDEASTENABLED 74 +#define SM_MOUSEWHEELPRESENT 75 +#define SM_XVIRTUALSCREEN 76 +#define SM_YVIRTUALSCREEN 77 +#define SM_CXVIRTUALSCREEN 78 +#define SM_CYVIRTUALSCREEN 79 +#define SM_CMONITORS 80 +#define SM_SAMEDISPLAYFORMAT 81 +#define SM_IMMENABLED 82 +#define SM_CXFOCUSBORDER 83 +#define SM_CYFOCUSBORDER 84 +#define SM_TABLETPC 86 +#define SM_MEDIACENTER 87 +#define SM_STARTER 88 +#define SM_SERVERR2 89 +#if _WIN32_WINNT >= 0x0600 +#define SM_MOUSEHORIZONTALWHEELPRESENT 91 +#define SM_CXPADDEDBORDER 92 +#endif +#if WINVER >= 0x0601 +#define SM_DIGITIZER 94 +#define SM_MAXIMUMTOUCHES 95 +#endif + +#if WINVER <= 0x501 +#define SM_CMETRICS 91 +#elif WINVER == 0x600 +#define SM_CMETRICS 93 +#else +#define SM_CMETRICS 97 +#endif + +#define SM_REMOTESESSION 0x1000 +#define SM_SHUTTINGDOWN 0x2000 +#define SM_REMOTECONTROL 0x2001 +#define SM_CARETBLINKINGENABLED 0x2002 +#if WINVER >= 0x0602 +#define SM_CONVERTIBLESLATEMODE 0x2003 +#define SM_SYSTEMDOCKED 0x2004 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI int WINAPI GetSystemMetrics(int nIndex); +#endif +#if WINVER >= 0x0605 +WINUSERAPI int WINAPI GetSystemMetricsForDpi(int nIndex, UINT dpi); +#endif + +#endif /* !NOSYSMETRICS */ + +#ifndef NOMENUS + +#define PMB_ACTIVE 0x00000001 + +#define MNC_IGNORE 0 +#define MNC_CLOSE 1 +#define MNC_EXECUTE 2 +#define MNC_SELECT 3 + +#define MNS_NOCHECK 0x80000000 +#define MNS_MODELESS 0x40000000 +#define MNS_DRAGDROP 0x20000000 +#define MNS_AUTODISMISS 0x10000000 +#define MNS_NOTIFYBYPOS 0x08000000 +#define MNS_CHECKORBMP 0x04000000 + +#define MIM_MAXHEIGHT 0x00000001 +#define MIM_BACKGROUND 0x00000002 +#define MIM_HELPID 0x00000004 +#define MIM_MENUDATA 0x00000008 +#define MIM_STYLE 0x00000010 +#define MIM_APPLYTOSUBMENUS 0x80000000 + +#define MND_CONTINUE 0 +#define MND_ENDMENU 1 + +#define MNGOF_TOPGAP 0x00000001 +#define MNGOF_BOTTOMGAP 0x00000002 + +#define MNGO_NOINTERFACE 0x00000000 +#define MNGO_NOERROR 0x00000001 + +#define MIIM_STATE 0x00000001 +#define MIIM_ID 0x00000002 +#define MIIM_SUBMENU 0x00000004 +#define MIIM_CHECKMARKS 0x00000008 +#define MIIM_TYPE 0x00000010 +#define MIIM_DATA 0x00000020 +#define MIIM_STRING 0x00000040 +#define MIIM_BITMAP 0x00000080 +#define MIIM_FTYPE 0x00000100 + +#define HBMMENU_CALLBACK ((HBITMAP) -1) +#define HBMMENU_SYSTEM ((HBITMAP) 1) +#define HBMMENU_MBAR_RESTORE ((HBITMAP) 2) +#define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3) +#define HBMMENU_MBAR_CLOSE ((HBITMAP) 5) +#define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6) +#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7) +#define HBMMENU_POPUP_CLOSE ((HBITMAP) 8) +#define HBMMENU_POPUP_RESTORE ((HBITMAP) 9) +#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10) +#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadMenu __MINGW_NAME_AW(LoadMenu) +#define LoadMenuIndirect __MINGW_NAME_AW(LoadMenuIndirect) +#define ChangeMenu __MINGW_NAME_AW(ChangeMenu) +#define GetMenuString __MINGW_NAME_AW(GetMenuString) +#define InsertMenu __MINGW_NAME_AW(InsertMenu) +#define AppendMenu __MINGW_NAME_AW(AppendMenu) +#define ModifyMenu __MINGW_NAME_AW(ModifyMenu) + + WINUSERAPI HMENU WINAPI LoadMenuA(HINSTANCE hInstance,LPCSTR lpMenuName); + WINUSERAPI HMENU WINAPI LoadMenuW(HINSTANCE hInstance,LPCWSTR lpMenuName); + WINUSERAPI HMENU WINAPI LoadMenuIndirectA(CONST MENUTEMPLATEA *lpMenuTemplate); + WINUSERAPI HMENU WINAPI LoadMenuIndirectW(CONST MENUTEMPLATEW *lpMenuTemplate); + WINUSERAPI HMENU WINAPI GetMenu(HWND hWnd); + WINUSERAPI WINBOOL WINAPI SetMenu(HWND hWnd,HMENU hMenu); + WINUSERAPI WINBOOL WINAPI ChangeMenuA(HMENU hMenu,UINT cmd,LPCSTR lpszNewItem,UINT cmdInsert,UINT flags); + WINUSERAPI WINBOOL WINAPI ChangeMenuW(HMENU hMenu,UINT cmd,LPCWSTR lpszNewItem,UINT cmdInsert,UINT flags); + WINUSERAPI WINBOOL WINAPI HiliteMenuItem(HWND hWnd,HMENU hMenu,UINT uIDHiliteItem,UINT uHilite); + WINUSERAPI int WINAPI GetMenuStringA(HMENU hMenu,UINT uIDItem,LPSTR lpString,int cchMax,UINT flags); + WINUSERAPI int WINAPI GetMenuStringW(HMENU hMenu,UINT uIDItem,LPWSTR lpString,int cchMax,UINT flags); + WINUSERAPI UINT WINAPI GetMenuState(HMENU hMenu,UINT uId,UINT uFlags); + WINUSERAPI WINBOOL WINAPI DrawMenuBar(HWND hWnd); + + WINUSERAPI HMENU WINAPI GetSystemMenu(HWND hWnd,WINBOOL bRevert); + WINUSERAPI HMENU WINAPI CreateMenu(VOID); + WINUSERAPI HMENU WINAPI CreatePopupMenu(VOID); + WINUSERAPI WINBOOL WINAPI DestroyMenu(HMENU hMenu); + WINUSERAPI DWORD WINAPI CheckMenuItem(HMENU hMenu,UINT uIDCheckItem,UINT uCheck); + WINUSERAPI WINBOOL WINAPI EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable); + WINUSERAPI HMENU WINAPI GetSubMenu(HMENU hMenu,int nPos); + WINUSERAPI UINT WINAPI GetMenuItemID(HMENU hMenu,int nPos); + WINUSERAPI int WINAPI GetMenuItemCount(HMENU hMenu); + WINUSERAPI WINBOOL WINAPI InsertMenuA(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI InsertMenuW(HMENU hMenu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI AppendMenuA(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI AppendMenuW(HMENU hMenu,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI ModifyMenuA(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI ModifyMenuW(HMENU hMnu,UINT uPosition,UINT uFlags,UINT_PTR uIDNewItem,LPCWSTR lpNewItem); + WINUSERAPI WINBOOL WINAPI RemoveMenu(HMENU hMenu,UINT uPosition,UINT uFlags); + WINUSERAPI WINBOOL WINAPI DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags); + WINUSERAPI WINBOOL WINAPI SetMenuItemBitmaps(HMENU hMenu,UINT uPosition,UINT uFlags,HBITMAP hBitmapUnchecked,HBITMAP hBitmapChecked); + WINUSERAPI LONG WINAPI GetMenuCheckMarkDimensions(VOID); + WINUSERAPI WINBOOL WINAPI TrackPopupMenu(HMENU hMenu,UINT uFlags,int x,int y,int nReserved,HWND hWnd,CONST RECT *prcRect); + + typedef struct tagTPMPARAMS { + UINT cbSize; + RECT rcExclude; + } TPMPARAMS; + + typedef struct tagMENUINFO { + DWORD cbSize; + DWORD fMask; + DWORD dwStyle; + UINT cyMax; + HBRUSH hbrBack; + DWORD dwContextHelpID; + ULONG_PTR dwMenuData; + } MENUINFO,*LPMENUINFO; + + typedef TPMPARAMS *LPTPMPARAMS; + typedef MENUINFO CONST *LPCMENUINFO; + + WINUSERAPI WINBOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS); + WINUSERAPI WINBOOL WINAPI GetMenuInfo(HMENU,LPMENUINFO); + WINUSERAPI WINBOOL WINAPI SetMenuInfo(HMENU,LPCMENUINFO); + WINUSERAPI WINBOOL WINAPI EndMenu(VOID); +#if _WIN32_WINNT >= 0x0601 + WINUSERAPI WINBOOL WINAPI CalculatePopupWindowPosition (const POINT *anchorPoint, const SIZE *windowSize, UINT flags, RECT *excludeRect, RECT *popupWindowPosition); +#endif + + typedef struct tagMENUGETOBJECTINFO { + DWORD dwFlags; + UINT uPos; + HMENU hmenu; + PVOID riid; + PVOID pvObj; + } MENUGETOBJECTINFO,*PMENUGETOBJECTINFO; + + typedef struct tagMENUITEMINFOA { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + ULONG_PTR dwItemData; + LPSTR dwTypeData; + UINT cch; + HBITMAP hbmpItem; + } MENUITEMINFOA,*LPMENUITEMINFOA; + + typedef struct tagMENUITEMINFOW { + UINT cbSize; + UINT fMask; + UINT fType; + UINT fState; + UINT wID; + HMENU hSubMenu; + HBITMAP hbmpChecked; + HBITMAP hbmpUnchecked; + ULONG_PTR dwItemData; + LPWSTR dwTypeData; + UINT cch; + HBITMAP hbmpItem; + } MENUITEMINFOW,*LPMENUITEMINFOW; + + __MINGW_TYPEDEF_AW(MENUITEMINFO) + __MINGW_TYPEDEF_AW(LPMENUITEMINFO) + + typedef MENUITEMINFOA CONST *LPCMENUITEMINFOA; + typedef MENUITEMINFOW CONST *LPCMENUITEMINFOW; + + __MINGW_TYPEDEF_AW(LPCMENUITEMINFO) + +#define InsertMenuItem __MINGW_NAME_AW(InsertMenuItem) +#define GetMenuItemInfo __MINGW_NAME_AW(GetMenuItemInfo) +#define SetMenuItemInfo __MINGW_NAME_AW(SetMenuItemInfo) + + WINUSERAPI WINBOOL WINAPI InsertMenuItemA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOA lpmi); + WINUSERAPI WINBOOL WINAPI InsertMenuItemW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPCMENUITEMINFOW lpmi); + WINUSERAPI WINBOOL WINAPI GetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOA lpmii); + WINUSERAPI WINBOOL WINAPI GetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPosition,LPMENUITEMINFOW lpmii); + WINUSERAPI WINBOOL WINAPI SetMenuItemInfoA(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOA lpmii); + WINUSERAPI WINBOOL WINAPI SetMenuItemInfoW(HMENU hmenu,UINT item,WINBOOL fByPositon,LPCMENUITEMINFOW lpmii); + +#define GMDI_USEDISABLED __MSABI_LONG(0x0001) +#define GMDI_GOINTOPOPUPS __MSABI_LONG(0x0002) + + WINUSERAPI UINT WINAPI GetMenuDefaultItem(HMENU hMenu,UINT fByPos,UINT gmdiFlags); + WINUSERAPI WINBOOL WINAPI SetMenuDefaultItem(HMENU hMenu,UINT uItem,UINT fByPos); + WINUSERAPI WINBOOL WINAPI GetMenuItemRect(HWND hWnd,HMENU hMenu,UINT uItem,LPRECT lprcItem); + WINUSERAPI int WINAPI MenuItemFromPoint(HWND hWnd,HMENU hMenu,POINT ptScreen); + +#define TPM_LEFTBUTTON __MSABI_LONG(0x0000) +#define TPM_RIGHTBUTTON __MSABI_LONG(0x0002) +#define TPM_LEFTALIGN __MSABI_LONG(0x0000) +#define TPM_CENTERALIGN __MSABI_LONG(0x0004) +#define TPM_RIGHTALIGN __MSABI_LONG(0x0008) +#define TPM_TOPALIGN __MSABI_LONG(0x0000) +#define TPM_VCENTERALIGN __MSABI_LONG(0x0010) +#define TPM_BOTTOMALIGN __MSABI_LONG(0x0020) + +#define TPM_HORIZONTAL __MSABI_LONG(0x0000) +#define TPM_VERTICAL __MSABI_LONG(0x0040) +#define TPM_NONOTIFY __MSABI_LONG(0x0080) +#define TPM_RETURNCMD __MSABI_LONG(0x0100) +#define TPM_RECURSE __MSABI_LONG(0x0001) +#define TPM_HORPOSANIMATION __MSABI_LONG(0x0400) +#define TPM_HORNEGANIMATION __MSABI_LONG(0x0800) +#define TPM_VERPOSANIMATION __MSABI_LONG(0x1000) +#define TPM_VERNEGANIMATION __MSABI_LONG(0x2000) +#define TPM_NOANIMATION __MSABI_LONG(0x4000) +#define TPM_LAYOUTRTL __MSABI_LONG(0x8000) +#if _WIN32_WINNT >= 0x0601 +#define TPM_WORKAREA __MSABI_LONG(0x10000) +#endif +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagDROPSTRUCT { + HWND hwndSource; + HWND hwndSink; + DWORD wFmt; + ULONG_PTR dwData; + POINT ptDrop; + DWORD dwControlData; + } DROPSTRUCT,*PDROPSTRUCT,*LPDROPSTRUCT; +#endif + +#define DOF_EXECUTABLE 0x8001 +#define DOF_DOCUMENT 0x8002 +#define DOF_DIRECTORY 0x8003 +#define DOF_MULTIPLE 0x8004 +#define DOF_PROGMAN 0x0001 +#define DOF_SHELLDATA 0x0002 + +#define DO_DROPFILE __MSABI_LONG(0x454C4946) +#define DO_PRINTFILE __MSABI_LONG(0x544E5250) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI DWORD WINAPI DragObject(HWND hwndParent,HWND hwndFrom,UINT fmt,ULONG_PTR data,HCURSOR hcur); + WINUSERAPI WINBOOL WINAPI DragDetect(HWND hwnd,POINT pt); + WINUSERAPI WINBOOL WINAPI DrawIcon(HDC hDC,int X,int Y,HICON hIcon); +#endif + +#ifndef NODRAWTEXT + +#define DT_TOP 0x00000000 +#define DT_LEFT 0x00000000 +#define DT_CENTER 0x00000001 +#define DT_RIGHT 0x00000002 +#define DT_VCENTER 0x00000004 +#define DT_BOTTOM 0x00000008 +#define DT_WORDBREAK 0x00000010 +#define DT_SINGLELINE 0x00000020 +#define DT_EXPANDTABS 0x00000040 +#define DT_TABSTOP 0x00000080 +#define DT_NOCLIP 0x00000100 +#define DT_EXTERNALLEADING 0x00000200 +#define DT_CALCRECT 0x00000400 +#define DT_NOPREFIX 0x00000800 +#define DT_INTERNAL 0x00001000 +#define DT_EDITCONTROL 0x00002000 +#define DT_PATH_ELLIPSIS 0x00004000 +#define DT_END_ELLIPSIS 0x00008000 +#define DT_MODIFYSTRING 0x00010000 +#define DT_RTLREADING 0x00020000 +#define DT_WORD_ELLIPSIS 0x00040000 +#define DT_NOFULLWIDTHCHARBREAK 0x00080000 +#define DT_HIDEPREFIX 0x00100000 +#define DT_PREFIXONLY 0x00200000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagDRAWTEXTPARAMS { + UINT cbSize; + int iTabLength; + int iLeftMargin; + int iRightMargin; + UINT uiLengthDrawn; + } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS; + +#define DrawText __MINGW_NAME_AW(DrawText) +#define DrawTextEx __MINGW_NAME_AW(DrawTextEx) + + WINUSERAPI int WINAPI DrawTextA(HDC hdc,LPCSTR lpchText,int cchText,LPRECT lprc,UINT format); + WINUSERAPI int WINAPI DrawTextW(HDC hdc,LPCWSTR lpchText,int cchText,LPRECT lprc,UINT format); + WINUSERAPI int WINAPI DrawTextExA(HDC hdc,LPSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp); + WINUSERAPI int WINAPI DrawTextExW(HDC hdc,LPWSTR lpchText,int cchText,LPRECT lprc,UINT format,LPDRAWTEXTPARAMS lpdtp); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define GrayString __MINGW_NAME_AW(GrayString) +#define DrawState __MINGW_NAME_AW(DrawState) +#define TabbedTextOut __MINGW_NAME_AW(TabbedTextOut) +#define GetTabbedTextExtent __MINGW_NAME_AW(GetTabbedTextExtent) + + WINUSERAPI WINBOOL WINAPI GrayStringA(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight); + WINUSERAPI WINBOOL WINAPI GrayStringW(HDC hDC,HBRUSH hBrush,GRAYSTRINGPROC lpOutputFunc,LPARAM lpData,int nCount,int X,int Y,int nWidth,int nHeight); + WINUSERAPI WINBOOL WINAPI DrawStateA(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags); + WINUSERAPI WINBOOL WINAPI DrawStateW(HDC hdc,HBRUSH hbrFore,DRAWSTATEPROC qfnCallBack,LPARAM lData,WPARAM wData,int x,int y,int cx,int cy,UINT uFlags); + WINUSERAPI LONG WINAPI TabbedTextOutA(HDC hdc,int x,int y,LPCSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions,int nTabOrigin); + WINUSERAPI LONG WINAPI TabbedTextOutW(HDC hdc,int x,int y,LPCWSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions,int nTabOrigin); + WINUSERAPI DWORD WINAPI GetTabbedTextExtentA(HDC hdc,LPCSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions); + WINUSERAPI DWORD WINAPI GetTabbedTextExtentW(HDC hdc,LPCWSTR lpString,int chCount,int nTabPositions,CONST INT *lpnTabStopPositions); + WINUSERAPI WINBOOL WINAPI UpdateWindow(HWND hWnd); + WINUSERAPI HWND WINAPI SetActiveWindow(HWND hWnd); + WINUSERAPI HWND WINAPI GetForegroundWindow(VOID); + WINUSERAPI WINBOOL WINAPI PaintDesktop(HDC hdc); + WINUSERAPI VOID WINAPI SwitchToThisWindow(HWND hwnd,WINBOOL fUnknown); + WINUSERAPI WINBOOL WINAPI SetForegroundWindow(HWND hWnd); + WINUSERAPI WINBOOL WINAPI AllowSetForegroundWindow(DWORD dwProcessId); + WINUSERAPI WINBOOL WINAPI LockSetForegroundWindow(UINT uLockCode); + WINUSERAPI HWND WINAPI WindowFromDC(HDC hDC); + WINUSERAPI HDC WINAPI GetDC(HWND hWnd); + WINUSERAPI HDC WINAPI GetDCEx(HWND hWnd,HRGN hrgnClip,DWORD flags); +#endif + +#define DST_COMPLEX 0x0000 +#define DST_TEXT 0x0001 +#define DST_PREFIXTEXT 0x0002 +#define DST_ICON 0x0003 +#define DST_BITMAP 0x0004 + +#define DSS_NORMAL 0x0000 +#define DSS_UNION 0x0010 +#define DSS_DISABLED 0x0020 +#define DSS_MONO 0x0080 +#define DSS_HIDEPREFIX 0x0200 +#define DSS_PREFIXONLY 0x0400 +#define DSS_RIGHT 0x8000 + +#define ASFW_ANY ((DWORD)-1) + +#define LSFW_LOCK 1 +#define LSFW_UNLOCK 2 + +#define DCX_WINDOW __MSABI_LONG(0x00000001) +#define DCX_CACHE __MSABI_LONG(0x00000002) +#define DCX_NORESETATTRS __MSABI_LONG(0x00000004) +#define DCX_CLIPCHILDREN __MSABI_LONG(0x00000008) +#define DCX_CLIPSIBLINGS __MSABI_LONG(0x00000010) +#define DCX_PARENTCLIP __MSABI_LONG(0x00000020) +#define DCX_EXCLUDERGN __MSABI_LONG(0x00000040) +#define DCX_INTERSECTRGN __MSABI_LONG(0x00000080) +#define DCX_EXCLUDEUPDATE __MSABI_LONG(0x00000100) +#define DCX_INTERSECTUPDATE __MSABI_LONG(0x00000200) +#define DCX_LOCKWINDOWUPDATE __MSABI_LONG(0x00000400) + +#define DCX_VALIDATE __MSABI_LONG(0x00200000) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI HDC WINAPI GetWindowDC(HWND hWnd); + WINUSERAPI int WINAPI ReleaseDC(HWND hWnd,HDC hDC); + WINUSERAPI HDC WINAPI BeginPaint(HWND hWnd,LPPAINTSTRUCT lpPaint); + WINUSERAPI WINBOOL WINAPI EndPaint(HWND hWnd,CONST PAINTSTRUCT *lpPaint); + WINUSERAPI WINBOOL WINAPI GetUpdateRect(HWND hWnd,LPRECT lpRect,WINBOOL bErase); + WINUSERAPI int WINAPI GetUpdateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase); + WINUSERAPI int WINAPI SetWindowRgn(HWND hWnd,HRGN hRgn,WINBOOL bRedraw); + WINUSERAPI int WINAPI GetWindowRgn(HWND hWnd,HRGN hRgn); + WINUSERAPI int WINAPI GetWindowRgnBox(HWND hWnd,LPRECT lprc); + WINUSERAPI int WINAPI ExcludeUpdateRgn(HDC hDC,HWND hWnd); + WINUSERAPI WINBOOL WINAPI InvalidateRect(HWND hWnd,CONST RECT *lpRect,WINBOOL bErase); + WINUSERAPI WINBOOL WINAPI ValidateRect(HWND hWnd,CONST RECT *lpRect); + WINUSERAPI WINBOOL WINAPI InvalidateRgn(HWND hWnd,HRGN hRgn,WINBOOL bErase); + WINUSERAPI WINBOOL WINAPI ValidateRgn(HWND hWnd,HRGN hRgn); + WINUSERAPI WINBOOL WINAPI RedrawWindow(HWND hWnd,CONST RECT *lprcUpdate,HRGN hrgnUpdate,UINT flags); +#endif + +#define RDW_INVALIDATE 0x0001 +#define RDW_INTERNALPAINT 0x0002 +#define RDW_ERASE 0x0004 + +#define RDW_VALIDATE 0x0008 +#define RDW_NOINTERNALPAINT 0x0010 +#define RDW_NOERASE 0x0020 + +#define RDW_NOCHILDREN 0x0040 +#define RDW_ALLCHILDREN 0x0080 + +#define RDW_UPDATENOW 0x0100 +#define RDW_ERASENOW 0x0200 + +#define RDW_FRAME 0x0400 +#define RDW_NOFRAME 0x0800 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI LockWindowUpdate(HWND hWndLock); + WINUSERAPI WINBOOL WINAPI ScrollWindow(HWND hWnd,int XAmount,int YAmount,CONST RECT *lpRect,CONST RECT *lpClipRect); + WINUSERAPI WINBOOL WINAPI ScrollDC(HDC hDC,int dx,int dy,CONST RECT *lprcScroll,CONST RECT *lprcClip,HRGN hrgnUpdate,LPRECT lprcUpdate); + WINUSERAPI int WINAPI ScrollWindowEx(HWND hWnd,int dx,int dy,CONST RECT *prcScroll,CONST RECT *prcClip,HRGN hrgnUpdate,LPRECT prcUpdate,UINT flags); +#endif + +#define SW_SCROLLCHILDREN 0x0001 +#define SW_INVALIDATE 0x0002 +#define SW_ERASE 0x0004 +#define SW_SMOOTHSCROLL 0x0010 + +#ifndef NOSCROLL +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI int WINAPI SetScrollPos(HWND hWnd,int nBar,int nPos,WINBOOL bRedraw); + WINUSERAPI int WINAPI GetScrollPos(HWND hWnd,int nBar); + WINUSERAPI WINBOOL WINAPI SetScrollRange(HWND hWnd,int nBar,int nMinPos,int nMaxPos,WINBOOL bRedraw); + WINUSERAPI WINBOOL WINAPI GetScrollRange(HWND hWnd,int nBar,LPINT lpMinPos,LPINT lpMaxPos); + WINUSERAPI WINBOOL WINAPI ShowScrollBar(HWND hWnd,int wBar,WINBOOL bShow); + WINUSERAPI WINBOOL WINAPI EnableScrollBar(HWND hWnd,UINT wSBflags,UINT wArrows); +#endif + +#define ESB_ENABLE_BOTH 0x0000 +#define ESB_DISABLE_BOTH 0x0003 +#define ESB_DISABLE_LEFT 0x0001 +#define ESB_DISABLE_RIGHT 0x0002 + +#define ESB_DISABLE_UP 0x0001 +#define ESB_DISABLE_DOWN 0x0002 + +#define ESB_DISABLE_LTUP ESB_DISABLE_LEFT +#define ESB_DISABLE_RTDN ESB_DISABLE_RIGHT +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define SetProp __MINGW_NAME_AW(SetProp) +#define GetProp __MINGW_NAME_AW(GetProp) +#define RemoveProp __MINGW_NAME_AW(RemoveProp) +#define EnumPropsEx __MINGW_NAME_AW(EnumPropsEx) +#define EnumProps __MINGW_NAME_AW(EnumProps) +#define SetWindowText __MINGW_NAME_AW(SetWindowText) +#define GetWindowText __MINGW_NAME_AW(GetWindowText) +#define GetWindowTextLength __MINGW_NAME_AW(GetWindowTextLength) + + WINUSERAPI WINBOOL WINAPI SetPropA(HWND hWnd,LPCSTR lpString,HANDLE hData); + WINUSERAPI WINBOOL WINAPI SetPropW(HWND hWnd,LPCWSTR lpString,HANDLE hData); + WINUSERAPI HANDLE WINAPI GetPropA(HWND hWnd,LPCSTR lpString); + WINUSERAPI HANDLE WINAPI GetPropW(HWND hWnd,LPCWSTR lpString); + WINUSERAPI HANDLE WINAPI RemovePropA(HWND hWnd,LPCSTR lpString); + WINUSERAPI HANDLE WINAPI RemovePropW(HWND hWnd,LPCWSTR lpString); + WINUSERAPI int WINAPI EnumPropsExA(HWND hWnd,PROPENUMPROCEXA lpEnumFunc,LPARAM lParam); + WINUSERAPI int WINAPI EnumPropsExW(HWND hWnd,PROPENUMPROCEXW lpEnumFunc,LPARAM lParam); + WINUSERAPI int WINAPI EnumPropsA(HWND hWnd,PROPENUMPROCA lpEnumFunc); + WINUSERAPI int WINAPI EnumPropsW(HWND hWnd,PROPENUMPROCW lpEnumFunc); + WINUSERAPI WINBOOL WINAPI SetWindowTextA(HWND hWnd,LPCSTR lpString); + WINUSERAPI WINBOOL WINAPI SetWindowTextW(HWND hWnd,LPCWSTR lpString); + WINUSERAPI int WINAPI GetWindowTextA(HWND hWnd,LPSTR lpString,int nMaxCount); + WINUSERAPI int WINAPI GetWindowTextW(HWND hWnd,LPWSTR lpString,int nMaxCount); + WINUSERAPI int WINAPI GetWindowTextLengthA(HWND hWnd); + WINUSERAPI int WINAPI GetWindowTextLengthW(HWND hWnd); + WINUSERAPI WINBOOL WINAPI GetClientRect(HWND hWnd,LPRECT lpRect); + WINUSERAPI WINBOOL WINAPI GetWindowRect(HWND hWnd,LPRECT lpRect); + WINUSERAPI WINBOOL WINAPI AdjustWindowRect(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu); + WINUSERAPI WINBOOL WINAPI AdjustWindowRectEx(LPRECT lpRect,DWORD dwStyle,WINBOOL bMenu,DWORD dwExStyle); +#if WINVER >= 0x0605 +WINUSERAPI WINBOOL WINAPI AdjustWindowRectExForDpi(LPRECT lpRect, DWORD dwStyle, WINBOOL bMenu, DWORD dwExStyle, UINT dpi); +#endif + +#endif + +#define HELPINFO_WINDOW 0x0001 +#define HELPINFO_MENUITEM 0x0002 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagHELPINFO { + UINT cbSize; + int iContextType; + int iCtrlId; + HANDLE hItemHandle; + DWORD_PTR dwContextId; + POINT MousePos; + } HELPINFO,*LPHELPINFO; + + WINUSERAPI WINBOOL WINAPI SetWindowContextHelpId(HWND,DWORD); + WINUSERAPI DWORD WINAPI GetWindowContextHelpId(HWND); + WINUSERAPI WINBOOL WINAPI SetMenuContextHelpId(HMENU,DWORD); + WINUSERAPI DWORD WINAPI GetMenuContextHelpId(HMENU); +#endif + +#ifndef NOMB + +#define MB_OK __MSABI_LONG(0x00000000) +#define MB_OKCANCEL __MSABI_LONG(0x00000001) +#define MB_ABORTRETRYIGNORE __MSABI_LONG(0x00000002) +#define MB_YESNOCANCEL __MSABI_LONG(0x00000003) +#define MB_YESNO __MSABI_LONG(0x00000004) +#define MB_RETRYCANCEL __MSABI_LONG(0x00000005) +#define MB_CANCELTRYCONTINUE __MSABI_LONG(0x00000006) +#define MB_ICONHAND __MSABI_LONG(0x00000010) +#define MB_ICONQUESTION __MSABI_LONG(0x00000020) +#define MB_ICONEXCLAMATION __MSABI_LONG(0x00000030) +#define MB_ICONASTERISK __MSABI_LONG(0x00000040) +#define MB_USERICON __MSABI_LONG(0x00000080) +#define MB_ICONWARNING MB_ICONEXCLAMATION +#define MB_ICONERROR MB_ICONHAND +#define MB_ICONINFORMATION MB_ICONASTERISK +#define MB_ICONSTOP MB_ICONHAND +#define MB_DEFBUTTON1 __MSABI_LONG(0x00000000) +#define MB_DEFBUTTON2 __MSABI_LONG(0x00000100) +#define MB_DEFBUTTON3 __MSABI_LONG(0x00000200) +#define MB_DEFBUTTON4 __MSABI_LONG(0x00000300) +#define MB_APPLMODAL __MSABI_LONG(0x00000000) +#define MB_SYSTEMMODAL __MSABI_LONG(0x00001000) +#define MB_TASKMODAL __MSABI_LONG(0x00002000) +#define MB_HELP __MSABI_LONG(0x00004000) +#define MB_NOFOCUS __MSABI_LONG(0x00008000) +#define MB_SETFOREGROUND __MSABI_LONG(0x00010000) +#define MB_DEFAULT_DESKTOP_ONLY __MSABI_LONG(0x00020000) +#define MB_TOPMOST __MSABI_LONG(0x00040000) +#define MB_RIGHT __MSABI_LONG(0x00080000) +#define MB_RTLREADING __MSABI_LONG(0x00100000) +#define MB_SERVICE_NOTIFICATION __MSABI_LONG(0x00200000) +#define MB_SERVICE_NOTIFICATION_NT3X __MSABI_LONG(0x00040000) +#define MB_TYPEMASK __MSABI_LONG(0x0000000F) +#define MB_ICONMASK __MSABI_LONG(0x000000F0) +#define MB_DEFMASK __MSABI_LONG(0x00000F00) +#define MB_MODEMASK __MSABI_LONG(0x00003000) +#define MB_MISCMASK __MSABI_LONG(0x0000C000) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define MessageBox __MINGW_NAME_AW(MessageBox) +#define MessageBoxEx __MINGW_NAME_AW(MessageBoxEx) + + WINUSERAPI int WINAPI MessageBoxA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType); + WINUSERAPI int WINAPI MessageBoxW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType); + WINUSERAPI int WINAPI MessageBoxExA(HWND hWnd,LPCSTR lpText,LPCSTR lpCaption,UINT uType,WORD wLanguageId); + WINUSERAPI int WINAPI MessageBoxExW(HWND hWnd,LPCWSTR lpText,LPCWSTR lpCaption,UINT uType,WORD wLanguageId); + + typedef VOID (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo); + + typedef struct tagMSGBOXPARAMSA { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpszText; + LPCSTR lpszCaption; + DWORD dwStyle; + LPCSTR lpszIcon; + DWORD_PTR dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; + } MSGBOXPARAMSA,*PMSGBOXPARAMSA,*LPMSGBOXPARAMSA; + + typedef struct tagMSGBOXPARAMSW { + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpszText; + LPCWSTR lpszCaption; + DWORD dwStyle; + LPCWSTR lpszIcon; + DWORD_PTR dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; + } MSGBOXPARAMSW,*PMSGBOXPARAMSW,*LPMSGBOXPARAMSW; + + __MINGW_TYPEDEF_AW(MSGBOXPARAMS) + __MINGW_TYPEDEF_AW(PMSGBOXPARAMS) + __MINGW_TYPEDEF_AW(LPMSGBOXPARAMS) + +#define MessageBoxIndirect __MINGW_NAME_AW(MessageBoxIndirect) + + WINUSERAPI int WINAPI MessageBoxIndirectA(CONST MSGBOXPARAMSA *lpmbp); + WINUSERAPI int WINAPI MessageBoxIndirectW(CONST MSGBOXPARAMSW *lpmbp); + WINUSERAPI WINBOOL WINAPI MessageBeep(UINT uType); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI int WINAPI ShowCursor(WINBOOL bShow); + WINUSERAPI WINBOOL WINAPI SetCursorPos(int X,int Y); + WINUSERAPI HCURSOR WINAPI SetCursor(HCURSOR hCursor); + WINUSERAPI WINBOOL WINAPI GetCursorPos(LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI ClipCursor(CONST RECT *lpRect); + WINUSERAPI WINBOOL WINAPI GetClipCursor(LPRECT lpRect); + WINUSERAPI HCURSOR WINAPI GetCursor(VOID); + WINUSERAPI WINBOOL WINAPI CreateCaret(HWND hWnd,HBITMAP hBitmap,int nWidth,int nHeight); + WINUSERAPI UINT WINAPI GetCaretBlinkTime(VOID); + WINUSERAPI WINBOOL WINAPI SetCaretBlinkTime(UINT uMSeconds); + WINUSERAPI WINBOOL WINAPI DestroyCaret(VOID); + WINUSERAPI WINBOOL WINAPI HideCaret(HWND hWnd); + WINUSERAPI WINBOOL WINAPI ShowCaret(HWND hWnd); + WINUSERAPI WINBOOL WINAPI SetCaretPos(int X,int Y); + WINUSERAPI WINBOOL WINAPI GetCaretPos(LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI ClientToScreen(HWND hWnd,LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI ScreenToClient(HWND hWnd,LPPOINT lpPoint); + WINUSERAPI int WINAPI MapWindowPoints(HWND hWndFrom,HWND hWndTo,LPPOINT lpPoints,UINT cPoints); + WINUSERAPI HWND WINAPI WindowFromPoint(POINT Point); + WINUSERAPI HWND WINAPI ChildWindowFromPoint(HWND hWndParent,POINT Point); + WINUSERAPI HWND WINAPI ChildWindowFromPointEx(HWND hwnd,POINT pt,UINT flags); +#if WINVER >= 0x0600 + WINUSERAPI WINBOOL WINAPI SetPhysicalCursorPos (int X, int Y); + WINUSERAPI WINBOOL WINAPI GetPhysicalCursorPos (LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI LogicalToPhysicalPoint (HWND hWnd, LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI PhysicalToLogicalPoint (HWND hWnd, LPPOINT lpPoint); + WINUSERAPI HWND WINAPI WindowFromPhysicalPoint (POINT Point); +#endif +#if WINVER >= 0x0603 + WINUSERAPI WINBOOL WINAPI LogicalToPhysicalPointForPerMonitorDPI (HWND hwnd, LPPOINT lpPoint); + WINUSERAPI WINBOOL WINAPI PhysicalToLogicalPointForPerMonitorDPI (HWND hwnd, LPPOINT lpPoint); +#endif +#endif + +#define CWP_ALL 0x0000 +#define CWP_SKIPINVISIBLE 0x0001 +#define CWP_SKIPDISABLED 0x0002 +#define CWP_SKIPTRANSPARENT 0x0004 + +#ifndef NOCOLOR + +#define CTLCOLOR_MSGBOX 0 +#define CTLCOLOR_EDIT 1 +#define CTLCOLOR_LISTBOX 2 +#define CTLCOLOR_BTN 3 +#define CTLCOLOR_DLG 4 +#define CTLCOLOR_SCROLLBAR 5 +#define CTLCOLOR_STATIC 6 +#define CTLCOLOR_MAX 7 + +#define COLOR_SCROLLBAR 0 +#define COLOR_BACKGROUND 1 +#define COLOR_ACTIVECAPTION 2 +#define COLOR_INACTIVECAPTION 3 +#define COLOR_MENU 4 +#define COLOR_WINDOW 5 +#define COLOR_WINDOWFRAME 6 +#define COLOR_MENUTEXT 7 +#define COLOR_WINDOWTEXT 8 +#define COLOR_CAPTIONTEXT 9 +#define COLOR_ACTIVEBORDER 10 +#define COLOR_INACTIVEBORDER 11 +#define COLOR_APPWORKSPACE 12 +#define COLOR_HIGHLIGHT 13 +#define COLOR_HIGHLIGHTTEXT 14 +#define COLOR_BTNFACE 15 +#define COLOR_BTNSHADOW 16 +#define COLOR_GRAYTEXT 17 +#define COLOR_BTNTEXT 18 +#define COLOR_INACTIVECAPTIONTEXT 19 +#define COLOR_BTNHIGHLIGHT 20 + +#define COLOR_3DDKSHADOW 21 +#define COLOR_3DLIGHT 22 +#define COLOR_INFOTEXT 23 +#define COLOR_INFOBK 24 +#define COLOR_HOTLIGHT 26 +#define COLOR_GRADIENTACTIVECAPTION 27 +#define COLOR_GRADIENTINACTIVECAPTION 28 +#define COLOR_MENUHILIGHT 29 +#define COLOR_MENUBAR 30 + +#define COLOR_DESKTOP COLOR_BACKGROUND +#define COLOR_3DFACE COLOR_BTNFACE +#define COLOR_3DSHADOW COLOR_BTNSHADOW +#define COLOR_3DHIGHLIGHT COLOR_BTNHIGHLIGHT +#define COLOR_3DHILIGHT COLOR_BTNHIGHLIGHT +#define COLOR_BTNHILIGHT COLOR_BTNHIGHLIGHT + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI DWORD WINAPI GetSysColor(int nIndex); + WINUSERAPI HBRUSH WINAPI GetSysColorBrush(int nIndex); + WINUSERAPI WINBOOL WINAPI SetSysColors(int cElements,CONST INT *lpaElements,CONST COLORREF *lpaRgbValues); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI DrawFocusRect(HDC hDC,CONST RECT *lprc); + WINUSERAPI int WINAPI FillRect(HDC hDC,CONST RECT *lprc,HBRUSH hbr); + WINUSERAPI int WINAPI FrameRect(HDC hDC,CONST RECT *lprc,HBRUSH hbr); + WINUSERAPI WINBOOL WINAPI InvertRect(HDC hDC,CONST RECT *lprc); + WINUSERAPI WINBOOL WINAPI SetRect(LPRECT lprc,int xLeft,int yTop,int xRight,int yBottom); + WINUSERAPI WINBOOL WINAPI SetRectEmpty(LPRECT lprc); + WINUSERAPI WINBOOL WINAPI CopyRect(LPRECT lprcDst,CONST RECT *lprcSrc); + WINUSERAPI WINBOOL WINAPI InflateRect(LPRECT lprc,int dx,int dy); + WINUSERAPI WINBOOL WINAPI IntersectRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2); + WINUSERAPI WINBOOL WINAPI UnionRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2); + WINUSERAPI WINBOOL WINAPI SubtractRect(LPRECT lprcDst,CONST RECT *lprcSrc1,CONST RECT *lprcSrc2); + WINUSERAPI WINBOOL WINAPI OffsetRect(LPRECT lprc,int dx,int dy); + WINUSERAPI WINBOOL WINAPI IsRectEmpty(CONST RECT *lprc); + WINUSERAPI WINBOOL WINAPI EqualRect(CONST RECT *lprc1,CONST RECT *lprc2); + WINUSERAPI WINBOOL WINAPI PtInRect(CONST RECT *lprc,POINT pt); + +#ifndef NOWINOFFSETS + +#define GetWindowLong __MINGW_NAME_AW(GetWindowLong) +#define SetWindowLong __MINGW_NAME_AW(SetWindowLong) +#define GetClassLong __MINGW_NAME_AW(GetClassLong) +#define SetClassLong __MINGW_NAME_AW(SetClassLong) + + WINUSERAPI WORD WINAPI GetWindowWord(HWND hWnd,int nIndex); + WINUSERAPI WORD WINAPI SetWindowWord(HWND hWnd,int nIndex,WORD wNewWord); + WINUSERAPI LONG WINAPI GetWindowLongA(HWND hWnd,int nIndex); + WINUSERAPI LONG WINAPI GetWindowLongW(HWND hWnd,int nIndex); + WINUSERAPI LONG WINAPI SetWindowLongA(HWND hWnd,int nIndex,LONG dwNewLong); + WINUSERAPI LONG WINAPI SetWindowLongW(HWND hWnd,int nIndex,LONG dwNewLong); + +#ifdef _WIN64 +#define GetWindowLongPtr __MINGW_NAME_AW(GetWindowLongPtr) +#define SetWindowLongPtr __MINGW_NAME_AW(SetWindowLongPtr) + + WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND hWnd,int nIndex); + WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND hWnd,int nIndex); + WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong); + WINUSERAPI LONG_PTR WINAPI SetWindowLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong); +#else +#define GetWindowLongPtr __MINGW_NAME_AW(GetWindowLongPtr) +#define SetWindowLongPtr __MINGW_NAME_AW(SetWindowLongPtr) + +#define GetWindowLongPtrA GetWindowLongA +#define GetWindowLongPtrW GetWindowLongW +#define SetWindowLongPtrA SetWindowLongA +#define SetWindowLongPtrW SetWindowLongW +#endif + + WINUSERAPI WORD WINAPI GetClassWord(HWND hWnd,int nIndex); + WINUSERAPI WORD WINAPI SetClassWord(HWND hWnd,int nIndex,WORD wNewWord); + WINUSERAPI DWORD WINAPI GetClassLongA(HWND hWnd,int nIndex); + WINUSERAPI DWORD WINAPI GetClassLongW(HWND hWnd,int nIndex); + WINUSERAPI DWORD WINAPI SetClassLongA(HWND hWnd,int nIndex,LONG dwNewLong); + WINUSERAPI DWORD WINAPI SetClassLongW(HWND hWnd,int nIndex,LONG dwNewLong); + +#ifdef _WIN64 +#define GetClassLongPtr __MINGW_NAME_AW(GetClassLongPtr) +#define SetClassLongPtr __MINGW_NAME_AW(SetClassLongPtr) + + WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrA(HWND hWnd,int nIndex); + WINUSERAPI ULONG_PTR WINAPI GetClassLongPtrW(HWND hWnd,int nIndex); + WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrA(HWND hWnd,int nIndex,LONG_PTR dwNewLong); + WINUSERAPI ULONG_PTR WINAPI SetClassLongPtrW(HWND hWnd,int nIndex,LONG_PTR dwNewLong); +#else +#define GetClassLongPtr __MINGW_NAME_AW(GetClassLongPtr) +#define SetClassLongPtr __MINGW_NAME_AW(SetClassLongPtr) + +#define GetClassLongPtrA GetClassLongA +#define GetClassLongPtrW GetClassLongW +#define SetClassLongPtrA SetClassLongA +#define SetClassLongPtrW SetClassLongW +#endif +#endif + +#define FindWindow __MINGW_NAME_AW(FindWindow) +#define FindWindowEx __MINGW_NAME_AW(FindWindowEx) +#define GetClassName __MINGW_NAME_AW(GetClassName) + + WINUSERAPI WINBOOL WINAPI GetProcessDefaultLayout(DWORD *pdwDefaultLayout); + WINUSERAPI WINBOOL WINAPI SetProcessDefaultLayout(DWORD dwDefaultLayout); + WINUSERAPI HWND WINAPI GetDesktopWindow(VOID); + WINUSERAPI HWND WINAPI GetParent(HWND hWnd); + WINUSERAPI HWND WINAPI SetParent(HWND hWndChild,HWND hWndNewParent); + WINUSERAPI WINBOOL WINAPI EnumChildWindows(HWND hWndParent,WNDENUMPROC lpEnumFunc,LPARAM lParam); + WINUSERAPI HWND WINAPI FindWindowA(LPCSTR lpClassName,LPCSTR lpWindowName); + WINUSERAPI HWND WINAPI FindWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName); + WINUSERAPI HWND WINAPI FindWindowExA(HWND hWndParent,HWND hWndChildAfter,LPCSTR lpszClass,LPCSTR lpszWindow); + WINUSERAPI HWND WINAPI FindWindowExW(HWND hWndParent,HWND hWndChildAfter,LPCWSTR lpszClass,LPCWSTR lpszWindow); + WINUSERAPI HWND WINAPI GetShellWindow(VOID); + WINUSERAPI WINBOOL WINAPI RegisterShellHookWindow(HWND hwnd); + WINUSERAPI WINBOOL WINAPI DeregisterShellHookWindow(HWND hwnd); + WINUSERAPI WINBOOL WINAPI EnumWindows(WNDENUMPROC lpEnumFunc,LPARAM lParam); + WINUSERAPI WINBOOL WINAPI EnumThreadWindows(DWORD dwThreadId,WNDENUMPROC lpfn,LPARAM lParam); + +#define EnumTaskWindows(hTask,lpfn,lParam) EnumThreadWindows(HandleToUlong(hTask),lpfn,lParam) + + WINUSERAPI int WINAPI GetClassNameA(HWND hWnd,LPSTR lpClassName,int nMaxCount); + WINUSERAPI int WINAPI GetClassNameW(HWND hWnd,LPWSTR lpClassName,int nMaxCount); + WINUSERAPI HWND WINAPI GetTopWindow(HWND hWnd); + +#define GetNextWindow(hWnd,wCmd) GetWindow(hWnd,wCmd) +#define GetSysModalWindow() (NULL) +#define SetSysModalWindow(hWnd) (NULL) + + WINUSERAPI DWORD WINAPI GetWindowThreadProcessId(HWND hWnd,LPDWORD lpdwProcessId); + WINUSERAPI WINBOOL WINAPI IsGUIThread(WINBOOL bConvert); + +#define GetWindowTask(hWnd) ((HANDLE)(DWORD_PTR)GetWindowThreadProcessId(hWnd,NULL)) + + WINUSERAPI HWND WINAPI GetLastActivePopup(HWND hWnd); + +#define GW_HWNDFIRST 0 +#define GW_HWNDLAST 1 +#define GW_HWNDNEXT 2 +#define GW_HWNDPREV 3 +#define GW_OWNER 4 +#define GW_CHILD 5 +#if WINVER <= 0x0400 +#define GW_MAX 5 +#else +#define GW_ENABLEDPOPUP 6 +#define GW_MAX 6 +#endif + + WINUSERAPI HWND WINAPI GetWindow(HWND hWnd,UINT uCmd); + +#ifndef NOWH +#define SetWindowsHook __MINGW_NAME_AW(SetWindowsHook) +#define SetWindowsHookEx __MINGW_NAME_AW(SetWindowsHookEx) + +#ifdef STRICT + WINUSERAPI HHOOK WINAPI SetWindowsHookA (int nFilterType, HOOKPROC pfnFilterProc); + WINUSERAPI HHOOK WINAPI SetWindowsHookW (int nFilterType, HOOKPROC pfnFilterProc); + +#define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx (*phhk, nCode, wParam, lParam) +#else + WINUSERAPI HOOKPROC WINAPI SetWindowsHookA (int nFilterType, HOOKPROC pfnFilterProc); + WINUSERAPI HOOKPROC WINAPI SetWindowsHookW (int nFilterType, HOOKPROC pfnFilterProc); + +#define DefHookProc(nCode, wParam, lParam, phhk) CallNextHookEx ((HHOOK) *phhk, nCode, wParam, lParam) +#endif + WINUSERAPI WINBOOL WINAPI UnhookWindowsHook (int nCode, HOOKPROC pfnFilterProc); + WINUSERAPI HHOOK WINAPI SetWindowsHookExA (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId); + WINUSERAPI HHOOK WINAPI SetWindowsHookExW (int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId); + WINUSERAPI WINBOOL WINAPI UnhookWindowsHookEx (HHOOK hhk); + WINUSERAPI LRESULT WINAPI CallNextHookEx (HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); +#endif +#endif + +#ifndef NOMENUS + +#define MF_INSERT __MSABI_LONG(0x00000000) +#define MF_CHANGE __MSABI_LONG(0x00000080) +#define MF_APPEND __MSABI_LONG(0x00000100) +#define MF_DELETE __MSABI_LONG(0x00000200) +#define MF_REMOVE __MSABI_LONG(0x00001000) +#define MF_BYCOMMAND __MSABI_LONG(0x00000000) +#define MF_BYPOSITION __MSABI_LONG(0x00000400) +#define MF_SEPARATOR __MSABI_LONG(0x00000800) +#define MF_ENABLED __MSABI_LONG(0x00000000) +#define MF_GRAYED __MSABI_LONG(0x00000001) +#define MF_DISABLED __MSABI_LONG(0x00000002) +#define MF_UNCHECKED __MSABI_LONG(0x00000000) +#define MF_CHECKED __MSABI_LONG(0x00000008) +#define MF_USECHECKBITMAPS __MSABI_LONG(0x00000200) +#define MF_STRING __MSABI_LONG(0x00000000) +#define MF_BITMAP __MSABI_LONG(0x00000004) +#define MF_OWNERDRAW __MSABI_LONG(0x00000100) +#define MF_POPUP __MSABI_LONG(0x00000010) +#define MF_MENUBARBREAK __MSABI_LONG(0x00000020) +#define MF_MENUBREAK __MSABI_LONG(0x00000040) +#define MF_UNHILITE __MSABI_LONG(0x00000000) +#define MF_HILITE __MSABI_LONG(0x00000080) +#define MF_DEFAULT __MSABI_LONG(0x00001000) +#define MF_SYSMENU __MSABI_LONG(0x00002000) +#define MF_HELP __MSABI_LONG(0x00004000) +#define MF_RIGHTJUSTIFY __MSABI_LONG(0x00004000) +#define MF_MOUSESELECT __MSABI_LONG(0x00008000) +#define MF_END __MSABI_LONG(0x00000080) + +#define MFT_STRING MF_STRING +#define MFT_BITMAP MF_BITMAP +#define MFT_MENUBARBREAK MF_MENUBARBREAK +#define MFT_MENUBREAK MF_MENUBREAK +#define MFT_OWNERDRAW MF_OWNERDRAW +#define MFT_RADIOCHECK __MSABI_LONG(0x00000200) +#define MFT_SEPARATOR MF_SEPARATOR +#define MFT_RIGHTORDER __MSABI_LONG(0x00002000) +#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY + +#define MFS_GRAYED __MSABI_LONG(0x00000003) +#define MFS_DISABLED MFS_GRAYED +#define MFS_CHECKED MF_CHECKED +#define MFS_HILITE MF_HILITE +#define MFS_ENABLED MF_ENABLED +#define MFS_UNCHECKED MF_UNCHECKED +#define MFS_UNHILITE MF_UNHILITE +#define MFS_DEFAULT MF_DEFAULT + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI CheckMenuRadioItem(HMENU hmenu,UINT first,UINT last,UINT check,UINT flags); + + typedef struct { + WORD versionNumber; + WORD offset; + } MENUITEMTEMPLATEHEADER,*PMENUITEMTEMPLATEHEADER; + + typedef struct { + WORD mtOption; + WORD mtID; + WCHAR mtString[1]; + } MENUITEMTEMPLATE,*PMENUITEMTEMPLATE; +#define MF_END __MSABI_LONG(0x00000080) +#endif +#endif + +#ifndef NOSYSCOMMANDS + +#define SC_SIZE 0xF000 +#define SC_MOVE 0xF010 +#define SC_MINIMIZE 0xF020 +#define SC_MAXIMIZE 0xF030 +#define SC_NEXTWINDOW 0xF040 +#define SC_PREVWINDOW 0xF050 +#define SC_CLOSE 0xF060 +#define SC_VSCROLL 0xF070 +#define SC_HSCROLL 0xF080 +#define SC_MOUSEMENU 0xF090 +#define SC_KEYMENU 0xF100 +#define SC_ARRANGE 0xF110 +#define SC_RESTORE 0xF120 +#define SC_TASKLIST 0xF130 +#define SC_SCREENSAVE 0xF140 +#define SC_HOTKEY 0xF150 +#define SC_DEFAULT 0xF160 +#define SC_MONITORPOWER 0xF170 +#define SC_CONTEXTHELP 0xF180 +#define SC_SEPARATOR 0xF00F + +#if WINVER >= 0x0600 +#define SCF_ISSECURE 0x00000001 +#endif + +#define GET_SC_WPARAM(wParam) ((int)wParam &0xfff0) + +#define SC_ICON SC_MINIMIZE +#define SC_ZOOM SC_MAXIMIZE +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadBitmap __MINGW_NAME_AW(LoadBitmap) +#define LoadCursor __MINGW_NAME_AW(LoadCursor) +#define LoadCursorFromFile __MINGW_NAME_AW(LoadCursorFromFile) + + WINUSERAPI HBITMAP WINAPI LoadBitmapA(HINSTANCE hInstance,LPCSTR lpBitmapName); + WINUSERAPI HBITMAP WINAPI LoadBitmapW(HINSTANCE hInstance,LPCWSTR lpBitmapName); + WINUSERAPI HCURSOR WINAPI LoadCursorA(HINSTANCE hInstance,LPCSTR lpCursorName); + WINUSERAPI HCURSOR WINAPI LoadCursorW(HINSTANCE hInstance,LPCWSTR lpCursorName); + WINUSERAPI HCURSOR WINAPI LoadCursorFromFileA(LPCSTR lpFileName); + WINUSERAPI HCURSOR WINAPI LoadCursorFromFileW(LPCWSTR lpFileName); + WINUSERAPI HCURSOR WINAPI CreateCursor(HINSTANCE hInst,int xHotSpot,int yHotSpot,int nWidth,int nHeight,CONST VOID *pvANDPlane,CONST VOID *pvXORPlane); + WINUSERAPI WINBOOL WINAPI DestroyCursor(HCURSOR hCursor); + +#define CopyCursor(pcur) ((HCURSOR)CopyIcon((HICON)(pcur))) +#endif + +#define IDC_ARROW MAKEINTRESOURCE(32512) +#define IDC_IBEAM MAKEINTRESOURCE(32513) +#define IDC_WAIT MAKEINTRESOURCE(32514) +#define IDC_CROSS MAKEINTRESOURCE(32515) +#define IDC_UPARROW MAKEINTRESOURCE(32516) +#define IDC_SIZE MAKEINTRESOURCE(32640) +#define IDC_ICON MAKEINTRESOURCE(32641) +#define IDC_SIZENWSE MAKEINTRESOURCE(32642) +#define IDC_SIZENESW MAKEINTRESOURCE(32643) +#define IDC_SIZEWE MAKEINTRESOURCE(32644) +#define IDC_SIZENS MAKEINTRESOURCE(32645) +#define IDC_SIZEALL MAKEINTRESOURCE(32646) +#define IDC_NO MAKEINTRESOURCE(32648) +#define IDC_HAND MAKEINTRESOURCE(32649) +#define IDC_APPSTARTING MAKEINTRESOURCE(32650) +#define IDC_HELP MAKEINTRESOURCE(32651) +#if WINVER >= 0x0606 +#define IDC_PIN MAKEINTRESOURCE(32671) +#define IDC_PERSON MAKEINTRESOURCE(32672) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct _ICONINFO { + WINBOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; + } ICONINFO; + typedef ICONINFO *PICONINFO; + +#define LoadIcon __MINGW_NAME_AW(LoadIcon) +#define PrivateExtractIcons __MINGW_NAME_AW(PrivateExtractIcons) + + WINUSERAPI WINBOOL WINAPI SetSystemCursor(HCURSOR hcur,DWORD id); + WINUSERAPI HICON WINAPI LoadIconA(HINSTANCE hInstance,LPCSTR lpIconName); + WINUSERAPI HICON WINAPI LoadIconW(HINSTANCE hInstance,LPCWSTR lpIconName); + WINUSERAPI UINT WINAPI PrivateExtractIconsA(LPCSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags); + WINUSERAPI UINT WINAPI PrivateExtractIconsW(LPCWSTR szFileName,int nIconIndex,int cxIcon,int cyIcon,HICON *phicon,UINT *piconid,UINT nIcons,UINT flags); + WINUSERAPI HICON WINAPI CreateIcon(HINSTANCE hInstance,int nWidth,int nHeight,BYTE cPlanes,BYTE cBitsPixel,CONST BYTE *lpbANDbits,CONST BYTE *lpbXORbits); + WINUSERAPI WINBOOL WINAPI DestroyIcon(HICON hIcon); + WINUSERAPI int WINAPI LookupIconIdFromDirectory(PBYTE presbits,WINBOOL fIcon); + WINUSERAPI int WINAPI LookupIconIdFromDirectoryEx(PBYTE presbits,WINBOOL fIcon,int cxDesired,int cyDesired,UINT Flags); + WINUSERAPI HICON WINAPI CreateIconFromResource(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer); + WINUSERAPI HICON WINAPI CreateIconFromResourceEx(PBYTE presbits,DWORD dwResSize,WINBOOL fIcon,DWORD dwVer,int cxDesired,int cyDesired,UINT Flags); + + typedef struct tagCURSORSHAPE { + int xHotSpot; + int yHotSpot; + int cx; + int cy; + int cbWidth; + BYTE Planes; + BYTE BitsPixel; + } CURSORSHAPE,*LPCURSORSHAPE; +#endif + +#define IMAGE_BITMAP 0 +#define IMAGE_ICON 1 +#define IMAGE_CURSOR 2 +#define IMAGE_ENHMETAFILE 3 + +#define LR_DEFAULTCOLOR 0x0000 +#define LR_MONOCHROME 0x0001 +#define LR_COLOR 0x0002 +#define LR_COPYRETURNORG 0x0004 +#define LR_COPYDELETEORG 0x0008 +#define LR_LOADFROMFILE 0x0010 +#define LR_LOADTRANSPARENT 0x0020 +#define LR_DEFAULTSIZE 0x0040 +#define LR_VGACOLOR 0x0080 +#define LR_LOADMAP3DCOLORS 0x1000 +#define LR_CREATEDIBSECTION 0x2000 +#define LR_COPYFROMRESOURCE 0x4000 +#define LR_SHARED 0x8000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadImage __MINGW_NAME_AW(LoadImage) + + WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE hInst,LPCSTR name,UINT type,int cx,int cy,UINT fuLoad); + WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE hInst,LPCWSTR name,UINT type,int cx,int cy,UINT fuLoad); + WINUSERAPI HANDLE WINAPI CopyImage(HANDLE h,UINT type,int cx,int cy,UINT flags); + WINUSERAPI WINBOOL WINAPI DrawIconEx(HDC hdc,int xLeft,int yTop,HICON hIcon,int cxWidth,int cyWidth,UINT istepIfAniCur,HBRUSH hbrFlickerFreeDraw,UINT diFlags); + WINUSERAPI HICON WINAPI CreateIconIndirect(PICONINFO piconinfo); + WINUSERAPI HICON WINAPI CopyIcon(HICON hIcon); + WINUSERAPI WINBOOL WINAPI GetIconInfo(HICON hIcon,PICONINFO piconinfo); + +#if _WIN32_WINNT >= 0x0600 + typedef struct _ICONINFOEXA { + DWORD cbSize; + WINBOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; + WORD wResID; + CHAR szModName[MAX_PATH]; + CHAR szResName[MAX_PATH]; + } ICONINFOEXA,*PICONINFOEXA; + + typedef struct _ICONINFOEXW { + DWORD cbSize; + WINBOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; + WORD wResID; + WCHAR szModName[MAX_PATH]; + WCHAR szResName[MAX_PATH]; + } ICONINFOEXW,*PICONINFOEXW; + + __MINGW_TYPEDEF_AW (ICONINFOEX); + __MINGW_TYPEDEF_AW (PICONINFOEX); + +#define GetIconInfoEx __MINGW_NAME_AW(GetIconInfoEx) + + WINUSERAPI WINBOOL WINAPI GetIconInfoExA (HICON hicon, PICONINFOEXA piconinfo); + WINUSERAPI WINBOOL WINAPI GetIconInfoExW (HICON hicon, PICONINFOEXW piconinfo); +#endif +#endif + +#define DI_MASK 0x0001 +#define DI_IMAGE 0x0002 +#define DI_NORMAL 0x0003 +#define DI_COMPAT 0x0004 +#define DI_DEFAULTSIZE 0x0008 +#define DI_NOMIRROR 0x0010 + +#define RES_ICON 1 +#define RES_CURSOR 2 + +#ifdef OEMRESOURCE + +#define OBM_CLOSE 32754 +#define OBM_UPARROW 32753 +#define OBM_DNARROW 32752 +#define OBM_RGARROW 32751 +#define OBM_LFARROW 32750 +#define OBM_REDUCE 32749 +#define OBM_ZOOM 32748 +#define OBM_RESTORE 32747 +#define OBM_REDUCED 32746 +#define OBM_ZOOMD 32745 +#define OBM_RESTORED 32744 +#define OBM_UPARROWD 32743 +#define OBM_DNARROWD 32742 +#define OBM_RGARROWD 32741 +#define OBM_LFARROWD 32740 +#define OBM_MNARROW 32739 +#define OBM_COMBO 32738 +#define OBM_UPARROWI 32737 +#define OBM_DNARROWI 32736 +#define OBM_RGARROWI 32735 +#define OBM_LFARROWI 32734 + +#define OBM_OLD_CLOSE 32767 +#define OBM_SIZE 32766 +#define OBM_OLD_UPARROW 32765 +#define OBM_OLD_DNARROW 32764 +#define OBM_OLD_RGARROW 32763 +#define OBM_OLD_LFARROW 32762 +#define OBM_BTSIZE 32761 +#define OBM_CHECK 32760 +#define OBM_CHECKBOXES 32759 +#define OBM_BTNCORNERS 32758 +#define OBM_OLD_REDUCE 32757 +#define OBM_OLD_ZOOM 32756 +#define OBM_OLD_RESTORE 32755 + +#define OCR_NORMAL 32512 +#define OCR_IBEAM 32513 +#define OCR_WAIT 32514 +#define OCR_CROSS 32515 +#define OCR_UP 32516 +#define OCR_SIZE 32640 +#define OCR_ICON 32641 +#define OCR_SIZENWSE 32642 +#define OCR_SIZENESW 32643 +#define OCR_SIZEWE 32644 +#define OCR_SIZENS 32645 +#define OCR_SIZEALL 32646 +#define OCR_ICOCUR 32647 +#define OCR_NO 32648 +#define OCR_HAND 32649 +#define OCR_APPSTARTING 32650 + +#define OIC_SAMPLE 32512 +#define OIC_HAND 32513 +#define OIC_QUES 32514 +#define OIC_BANG 32515 +#define OIC_NOTE 32516 +#define OIC_WINLOGO 32517 +#define OIC_WARNING OIC_BANG +#define OIC_ERROR OIC_HAND +#define OIC_INFORMATION OIC_NOTE +#if WINVER >= 0x0600 +#define OIC_SHIELD 32518 +#endif +#endif + +#define ORD_LANGDRIVER 1 + +#ifndef NOICONS + +#ifdef RC_INVOKED +#define IDI_APPLICATION 32512 +#define IDI_HAND 32513 +#define IDI_QUESTION 32514 +#define IDI_EXCLAMATION 32515 +#define IDI_ASTERISK 32516 +#define IDI_WINLOGO 32517 +#if WINVER >= 0x0600 +#define IDI_SHIELD 32518 +#endif +#else +#define IDI_APPLICATION MAKEINTRESOURCE(32512) +#define IDI_HAND MAKEINTRESOURCE(32513) +#define IDI_QUESTION MAKEINTRESOURCE(32514) +#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) +#define IDI_ASTERISK MAKEINTRESOURCE(32516) +#define IDI_WINLOGO MAKEINTRESOURCE(32517) +#if WINVER >= 0x0600 +#define IDI_SHIELD MAKEINTRESOURCE (32518) +#endif +#endif + +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK +#endif + +#ifdef NOAPISET +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define LoadString __MINGW_NAME_AW(LoadString) + + WINUSERAPI int WINAPI LoadStringA (HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int cchBufferMax); + WINUSERAPI int WINAPI LoadStringW (HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int cchBufferMax); +#endif +#endif + +#define IDOK 1 +#define IDCANCEL 2 +#define IDABORT 3 +#define IDRETRY 4 +#define IDIGNORE 5 +#define IDYES 6 +#define IDNO 7 +#define IDCLOSE 8 +#define IDHELP 9 +#define IDTRYAGAIN 10 +#define IDCONTINUE 11 + +#ifndef IDTIMEOUT +#define IDTIMEOUT 32000 +#endif + +#ifndef NOCTLMGR + +#ifndef NOWINSTYLES +#define ES_LEFT __MSABI_LONG(0x0000) +#define ES_CENTER __MSABI_LONG(0x0001) +#define ES_RIGHT __MSABI_LONG(0x0002) +#define ES_MULTILINE __MSABI_LONG(0x0004) +#define ES_UPPERCASE __MSABI_LONG(0x0008) +#define ES_LOWERCASE __MSABI_LONG(0x0010) +#define ES_PASSWORD __MSABI_LONG(0x0020) +#define ES_AUTOVSCROLL __MSABI_LONG(0x0040) +#define ES_AUTOHSCROLL __MSABI_LONG(0x0080) +#define ES_NOHIDESEL __MSABI_LONG(0x0100) +#define ES_OEMCONVERT __MSABI_LONG(0x0400) +#define ES_READONLY __MSABI_LONG(0x0800) +#define ES_WANTRETURN __MSABI_LONG(0x1000) +#define ES_NUMBER __MSABI_LONG(0x2000) +#endif + +#define EN_SETFOCUS 0x0100 +#define EN_KILLFOCUS 0x0200 +#define EN_CHANGE 0x0300 +#define EN_UPDATE 0x0400 +#define EN_ERRSPACE 0x0500 +#define EN_MAXTEXT 0x0501 +#define EN_HSCROLL 0x0601 +#define EN_VSCROLL 0x0602 +#if _WIN32_WINNT >= 0x0500 +#define EN_ALIGN_LTR_EC 0x0700 +#define EN_ALIGN_RTL_EC 0x0701 +#endif +#if WINVER >= 0x0604 +#define EN_BEFORE_PASTE 0x0800 +#define EN_AFTER_PASTE 0x0801 +#endif +#if WINVER >= 0x0400 +#define EC_LEFTMARGIN 0x0001 +#define EC_RIGHTMARGIN 0x0002 +#define EC_USEFONTINFO 0xffff +#endif + +#define EMSIS_COMPOSITIONSTRING 0x0001 + +#define EIMES_GETCOMPSTRATONCE 0x0001 +#define EIMES_CANCELCOMPSTRINFOCUS 0x0002 +#define EIMES_COMPLETECOMPSTRKILLFOCUS 0x0004 + +#ifndef NOWINMESSAGES + +#define EM_GETSEL 0x00B0 +#define EM_SETSEL 0x00B1 +#define EM_GETRECT 0x00B2 +#define EM_SETRECT 0x00B3 +#define EM_SETRECTNP 0x00B4 +#define EM_SCROLL 0x00B5 +#define EM_LINESCROLL 0x00B6 +#define EM_SCROLLCARET 0x00B7 +#define EM_GETMODIFY 0x00B8 +#define EM_SETMODIFY 0x00B9 +#define EM_GETLINECOUNT 0x00BA +#define EM_LINEINDEX 0x00BB +#define EM_SETHANDLE 0x00BC +#define EM_GETHANDLE 0x00BD +#define EM_GETTHUMB 0x00BE +#define EM_LINELENGTH 0x00C1 +#define EM_REPLACESEL 0x00C2 +#define EM_GETLINE 0x00C4 +#define EM_LIMITTEXT 0x00C5 +#define EM_CANUNDO 0x00C6 +#define EM_UNDO 0x00C7 +#define EM_FMTLINES 0x00C8 +#define EM_LINEFROMCHAR 0x00C9 +#define EM_SETTABSTOPS 0x00CB +#define EM_SETPASSWORDCHAR 0x00CC +#define EM_EMPTYUNDOBUFFER 0x00CD +#define EM_GETFIRSTVISIBLELINE 0x00CE +#define EM_SETREADONLY 0x00CF +#define EM_SETWORDBREAKPROC 0x00D0 +#define EM_GETWORDBREAKPROC 0x00D1 +#define EM_GETPASSWORDCHAR 0x00D2 +#define EM_SETMARGINS 0x00D3 +#define EM_GETMARGINS 0x00D4 +#define EM_SETLIMITTEXT EM_LIMITTEXT +#define EM_GETLIMITTEXT 0x00D5 +#define EM_POSFROMCHAR 0x00D6 +#define EM_CHARFROMPOS 0x00D7 +#define EM_SETIMESTATUS 0x00D8 +#define EM_GETIMESTATUS 0x00D9 +#if WINVER >= 0x0604 +#define EM_ENABLEFEATURE 0x00DA +#endif +#endif /* !NOWINMESSAGES */ + +#define WB_LEFT 0 +#define WB_RIGHT 1 +#define WB_ISDELIMITER 2 + +#define BS_PUSHBUTTON __MSABI_LONG(0x00000000) +#define BS_DEFPUSHBUTTON __MSABI_LONG(0x00000001) +#define BS_CHECKBOX __MSABI_LONG(0x00000002) +#define BS_AUTOCHECKBOX __MSABI_LONG(0x00000003) +#define BS_RADIOBUTTON __MSABI_LONG(0x00000004) +#define BS_3STATE __MSABI_LONG(0x00000005) +#define BS_AUTO3STATE __MSABI_LONG(0x00000006) +#define BS_GROUPBOX __MSABI_LONG(0x00000007) +#define BS_USERBUTTON __MSABI_LONG(0x00000008) +#define BS_AUTORADIOBUTTON __MSABI_LONG(0x00000009) +#define BS_PUSHBOX __MSABI_LONG(0x0000000A) +#define BS_OWNERDRAW __MSABI_LONG(0x0000000B) +#define BS_TYPEMASK __MSABI_LONG(0x0000000F) +#define BS_LEFTTEXT __MSABI_LONG(0x00000020) +#define BS_TEXT __MSABI_LONG(0x00000000) +#define BS_ICON __MSABI_LONG(0x00000040) +#define BS_BITMAP __MSABI_LONG(0x00000080) +#define BS_LEFT __MSABI_LONG(0x00000100) +#define BS_RIGHT __MSABI_LONG(0x00000200) +#define BS_CENTER __MSABI_LONG(0x00000300) +#define BS_TOP __MSABI_LONG(0x00000400) +#define BS_BOTTOM __MSABI_LONG(0x00000800) +#define BS_VCENTER __MSABI_LONG(0x00000C00) +#define BS_PUSHLIKE __MSABI_LONG(0x00001000) +#define BS_MULTILINE __MSABI_LONG(0x00002000) +#define BS_NOTIFY __MSABI_LONG(0x00004000) +#define BS_FLAT __MSABI_LONG(0x00008000) +#define BS_RIGHTBUTTON BS_LEFTTEXT + +#define BN_CLICKED 0 +#define BN_PAINT 1 +#define BN_HILITE 2 +#define BN_UNHILITE 3 +#define BN_DISABLE 4 +#define BN_DOUBLECLICKED 5 +#define BN_PUSHED BN_HILITE +#define BN_UNPUSHED BN_UNHILITE +#define BN_DBLCLK BN_DOUBLECLICKED +#define BN_SETFOCUS 6 +#define BN_KILLFOCUS 7 + +#define BM_GETCHECK 0x00F0 +#define BM_SETCHECK 0x00F1 +#define BM_GETSTATE 0x00F2 +#define BM_SETSTATE 0x00F3 +#define BM_SETSTYLE 0x00F4 +#define BM_CLICK 0x00F5 +#define BM_GETIMAGE 0x00F6 +#define BM_SETIMAGE 0x00F7 +#if WINVER >= 0x0600 +#define BM_SETDONTCLICK 0x00f8 +#endif + +#define BST_UNCHECKED 0x0000 +#define BST_CHECKED 0x0001 +#define BST_INDETERMINATE 0x0002 +#define BST_PUSHED 0x0004 +#define BST_FOCUS 0x0008 + +#define SS_LEFT __MSABI_LONG(0x00000000) +#define SS_CENTER __MSABI_LONG(0x00000001) +#define SS_RIGHT __MSABI_LONG(0x00000002) +#define SS_ICON __MSABI_LONG(0x00000003) +#define SS_BLACKRECT __MSABI_LONG(0x00000004) +#define SS_GRAYRECT __MSABI_LONG(0x00000005) +#define SS_WHITERECT __MSABI_LONG(0x00000006) +#define SS_BLACKFRAME __MSABI_LONG(0x00000007) +#define SS_GRAYFRAME __MSABI_LONG(0x00000008) +#define SS_WHITEFRAME __MSABI_LONG(0x00000009) +#define SS_USERITEM __MSABI_LONG(0x0000000A) +#define SS_SIMPLE __MSABI_LONG(0x0000000B) +#define SS_LEFTNOWORDWRAP __MSABI_LONG(0x0000000C) +#define SS_OWNERDRAW __MSABI_LONG(0x0000000D) +#define SS_BITMAP __MSABI_LONG(0x0000000E) +#define SS_ENHMETAFILE __MSABI_LONG(0x0000000F) +#define SS_ETCHEDHORZ __MSABI_LONG(0x00000010) +#define SS_ETCHEDVERT __MSABI_LONG(0x00000011) +#define SS_ETCHEDFRAME __MSABI_LONG(0x00000012) +#define SS_TYPEMASK __MSABI_LONG(0x0000001F) +#define SS_REALSIZECONTROL __MSABI_LONG(0x00000040) +#define SS_NOPREFIX __MSABI_LONG(0x00000080) +#define SS_NOTIFY __MSABI_LONG(0x00000100) +#define SS_CENTERIMAGE __MSABI_LONG(0x00000200) +#define SS_RIGHTJUST __MSABI_LONG(0x00000400) +#define SS_REALSIZEIMAGE __MSABI_LONG(0x00000800) +#define SS_SUNKEN __MSABI_LONG(0x00001000) +#define SS_EDITCONTROL __MSABI_LONG(0x00002000) +#define SS_ENDELLIPSIS __MSABI_LONG(0x00004000) +#define SS_PATHELLIPSIS __MSABI_LONG(0x00008000) +#define SS_WORDELLIPSIS __MSABI_LONG(0x0000C000) +#define SS_ELLIPSISMASK __MSABI_LONG(0x0000C000) + +#ifndef NOWINMESSAGES + +#define STM_SETICON 0x0170 +#define STM_GETICON 0x0171 +#define STM_SETIMAGE 0x0172 +#define STM_GETIMAGE 0x0173 +#define STN_CLICKED 0 +#define STN_DBLCLK 1 +#define STN_ENABLE 2 +#define STN_DISABLE 3 + +#define STM_MSGMAX 0x0174 +#endif + +#define WC_DIALOG (MAKEINTATOM(0x8002)) + +#define DWL_MSGRESULT 0 +#define DWL_DLGPROC 4 +#define DWL_USER 8 + +#ifdef _WIN64 + +#undef DWL_MSGRESULT +#undef DWL_DLGPROC +#undef DWL_USER +#endif + +#define DWLP_MSGRESULT 0 +#define DWLP_DLGPROC DWLP_MSGRESULT + sizeof(LRESULT) +#define DWLP_USER DWLP_DLGPROC + sizeof(DLGPROC) + +#define DDL_READWRITE 0x0000 +#define DDL_READONLY 0x0001 +#define DDL_HIDDEN 0x0002 +#define DDL_SYSTEM 0x0004 +#define DDL_DIRECTORY 0x0010 +#define DDL_ARCHIVE 0x0020 + +#define DDL_POSTMSGS 0x2000 +#define DDL_DRIVES 0x4000 +#define DDL_EXCLUSIVE 0x8000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#ifndef NOMSG +#define IsDialogMessage __MINGW_NAME_AW(IsDialogMessage) + + WINUSERAPI WINBOOL WINAPI IsDialogMessageA(HWND hDlg,LPMSG lpMsg); + WINUSERAPI WINBOOL WINAPI IsDialogMessageW(HWND hDlg,LPMSG lpMsg); +#endif + +#define DlgDirList __MINGW_NAME_AW(DlgDirList) +#define DlgDirSelectEx __MINGW_NAME_AW(DlgDirSelectEx) +#define DlgDirListComboBox __MINGW_NAME_AW(DlgDirListComboBox) +#define DlgDirSelectComboBoxEx __MINGW_NAME_AW(DlgDirSelectComboBoxEx) + + WINUSERAPI WINBOOL WINAPI MapDialogRect(HWND hDlg,LPRECT lpRect); + WINUSERAPI int WINAPI DlgDirListA(HWND hDlg,LPSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType); + WINUSERAPI int WINAPI DlgDirListW(HWND hDlg,LPWSTR lpPathSpec,int nIDListBox,int nIDStaticPath,UINT uFileType); + WINUSERAPI WINBOOL WINAPI DlgDirSelectExA(HWND hwndDlg,LPSTR lpString,int chCount,int idListBox); + WINUSERAPI WINBOOL WINAPI DlgDirSelectExW(HWND hwndDlg,LPWSTR lpString,int chCount,int idListBox); + WINUSERAPI int WINAPI DlgDirListComboBoxA(HWND hDlg,LPSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype); + WINUSERAPI int WINAPI DlgDirListComboBoxW(HWND hDlg,LPWSTR lpPathSpec,int nIDComboBox,int nIDStaticPath,UINT uFiletype); + WINUSERAPI WINBOOL WINAPI DlgDirSelectComboBoxExA(HWND hwndDlg,LPSTR lpString,int cchOut,int idComboBox); + WINUSERAPI WINBOOL WINAPI DlgDirSelectComboBoxExW(HWND hwndDlg,LPWSTR lpString,int cchOut,int idComboBox); +#endif + +#define DS_ABSALIGN __MSABI_LONG(0x01) +#define DS_SYSMODAL __MSABI_LONG(0x02) +#define DS_LOCALEDIT __MSABI_LONG(0x20) +#define DS_SETFONT __MSABI_LONG(0x40) +#define DS_MODALFRAME __MSABI_LONG(0x80) +#define DS_NOIDLEMSG __MSABI_LONG(0x100) +#define DS_SETFOREGROUND __MSABI_LONG(0x200) + +#define DS_3DLOOK __MSABI_LONG(0x0004) +#define DS_FIXEDSYS __MSABI_LONG(0x0008) +#define DS_NOFAILCREATE __MSABI_LONG(0x0010) +#define DS_CONTROL __MSABI_LONG(0x0400) +#define DS_CENTER __MSABI_LONG(0x0800) +#define DS_CENTERMOUSE __MSABI_LONG(0x1000) +#define DS_CONTEXTHELP __MSABI_LONG(0x2000) + +#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS) + +#if defined (_WIN32_WCE) && (_WIN32_WCE >= 0x0500) +#define DS_USEPIXELS __MSABI_LONG(0x8000) +#endif + +#define DM_GETDEFID (WM_USER+0) +#define DM_SETDEFID (WM_USER+1) +#define DM_REPOSITION (WM_USER+2) + +#define DC_HASDEFID 0x534B + +#define DLGC_WANTARROWS 0x0001 +#define DLGC_WANTTAB 0x0002 +#define DLGC_WANTALLKEYS 0x0004 +#define DLGC_WANTMESSAGE 0x0004 +#define DLGC_HASSETSEL 0x0008 +#define DLGC_DEFPUSHBUTTON 0x0010 +#define DLGC_UNDEFPUSHBUTTON 0x0020 +#define DLGC_RADIOBUTTON 0x0040 +#define DLGC_WANTCHARS 0x0080 +#define DLGC_STATIC 0x0100 +#define DLGC_BUTTON 0x2000 + +#define LB_CTLCODE __MSABI_LONG(0) + +#define LB_OKAY 0 +#define LB_ERR (-1) +#define LB_ERRSPACE (-2) + +#define LBN_ERRSPACE (-2) +#define LBN_SELCHANGE 1 +#define LBN_DBLCLK 2 +#define LBN_SELCANCEL 3 +#define LBN_SETFOCUS 4 +#define LBN_KILLFOCUS 5 + +#ifndef NOWINMESSAGES + +#define LB_ADDSTRING 0x0180 +#define LB_INSERTSTRING 0x0181 +#define LB_DELETESTRING 0x0182 +#define LB_SELITEMRANGEEX 0x0183 +#define LB_RESETCONTENT 0x0184 +#define LB_SETSEL 0x0185 +#define LB_SETCURSEL 0x0186 +#define LB_GETSEL 0x0187 +#define LB_GETCURSEL 0x0188 +#define LB_GETTEXT 0x0189 +#define LB_GETTEXTLEN 0x018A +#define LB_GETCOUNT 0x018B +#define LB_SELECTSTRING 0x018C +#define LB_DIR 0x018D +#define LB_GETTOPINDEX 0x018E +#define LB_FINDSTRING 0x018F +#define LB_GETSELCOUNT 0x0190 +#define LB_GETSELITEMS 0x0191 +#define LB_SETTABSTOPS 0x0192 +#define LB_GETHORIZONTALEXTENT 0x0193 +#define LB_SETHORIZONTALEXTENT 0x0194 +#define LB_SETCOLUMNWIDTH 0x0195 +#define LB_ADDFILE 0x0196 +#define LB_SETTOPINDEX 0x0197 +#define LB_GETITEMRECT 0x0198 +#define LB_GETITEMDATA 0x0199 +#define LB_SETITEMDATA 0x019A +#define LB_SELITEMRANGE 0x019B +#define LB_SETANCHORINDEX 0x019C +#define LB_GETANCHORINDEX 0x019D +#define LB_SETCARETINDEX 0x019E +#define LB_GETCARETINDEX 0x019F +#define LB_SETITEMHEIGHT 0x01A0 +#define LB_GETITEMHEIGHT 0x01A1 +#define LB_FINDSTRINGEXACT 0x01A2 +#define LB_SETLOCALE 0x01A5 +#define LB_GETLOCALE 0x01A6 +#define LB_SETCOUNT 0x01A7 +#define LB_INITSTORAGE 0x01A8 +#define LB_ITEMFROMPOINT 0x01A9 +#if defined (_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define LB_MULTIPLEADDSTRING 0x01B1 +#endif +#define LB_GETLISTBOXINFO 0x01B2 +#if _WIN32_WINNT >= 0x0501 +#define LB_MSGMAX 0x01B3 +#elif defined(_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define LB_MSGMAX 0x01B1 +#elif WINVER >= 0x0400 +#define LB_MSGMAX 0x01B0 +#else +#define LB_MSGMAX 0x01A8 +#endif + +#endif /* !NOWINMESSAGES */ + +#ifndef NOWINSTYLES + +#define LBS_NOTIFY __MSABI_LONG(0x0001) +#define LBS_SORT __MSABI_LONG(0x0002) +#define LBS_NOREDRAW __MSABI_LONG(0x0004) +#define LBS_MULTIPLESEL __MSABI_LONG(0x0008) +#define LBS_OWNERDRAWFIXED __MSABI_LONG(0x0010) +#define LBS_OWNERDRAWVARIABLE __MSABI_LONG(0x0020) +#define LBS_HASSTRINGS __MSABI_LONG(0x0040) +#define LBS_USETABSTOPS __MSABI_LONG(0x0080) +#define LBS_NOINTEGRALHEIGHT __MSABI_LONG(0x0100) +#define LBS_MULTICOLUMN __MSABI_LONG(0x0200) +#define LBS_WANTKEYBOARDINPUT __MSABI_LONG(0x0400) +#define LBS_EXTENDEDSEL __MSABI_LONG(0x0800) +#define LBS_DISABLENOSCROLL __MSABI_LONG(0x1000) +#define LBS_NODATA __MSABI_LONG(0x2000) +#define LBS_NOSEL __MSABI_LONG(0x4000) +#define LBS_COMBOBOX __MSABI_LONG(0x8000) + +#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) +#endif + +#define CB_OKAY 0 +#define CB_ERR (-1) +#define CB_ERRSPACE (-2) + +#define CBN_ERRSPACE (-1) +#define CBN_SELCHANGE 1 +#define CBN_DBLCLK 2 +#define CBN_SETFOCUS 3 +#define CBN_KILLFOCUS 4 +#define CBN_EDITCHANGE 5 +#define CBN_EDITUPDATE 6 +#define CBN_DROPDOWN 7 +#define CBN_CLOSEUP 8 +#define CBN_SELENDOK 9 +#define CBN_SELENDCANCEL 10 + +#ifndef NOWINSTYLES + +#define CBS_SIMPLE __MSABI_LONG(0x0001) +#define CBS_DROPDOWN __MSABI_LONG(0x0002) +#define CBS_DROPDOWNLIST __MSABI_LONG(0x0003) +#define CBS_OWNERDRAWFIXED __MSABI_LONG(0x0010) +#define CBS_OWNERDRAWVARIABLE __MSABI_LONG(0x0020) +#define CBS_AUTOHSCROLL __MSABI_LONG(0x0040) +#define CBS_OEMCONVERT __MSABI_LONG(0x0080) +#define CBS_SORT __MSABI_LONG(0x0100) +#define CBS_HASSTRINGS __MSABI_LONG(0x0200) +#define CBS_NOINTEGRALHEIGHT __MSABI_LONG(0x0400) +#define CBS_DISABLENOSCROLL __MSABI_LONG(0x0800) +#define CBS_UPPERCASE __MSABI_LONG(0x2000) +#define CBS_LOWERCASE __MSABI_LONG(0x4000) +#endif + +#ifndef NOWINMESSAGES +#define CB_GETEDITSEL 0x0140 +#define CB_LIMITTEXT 0x0141 +#define CB_SETEDITSEL 0x0142 +#define CB_ADDSTRING 0x0143 +#define CB_DELETESTRING 0x0144 +#define CB_DIR 0x0145 +#define CB_GETCOUNT 0x0146 +#define CB_GETCURSEL 0x0147 +#define CB_GETLBTEXT 0x0148 +#define CB_GETLBTEXTLEN 0x0149 +#define CB_INSERTSTRING 0x014A +#define CB_RESETCONTENT 0x014B +#define CB_FINDSTRING 0x014C +#define CB_SELECTSTRING 0x014D +#define CB_SETCURSEL 0x014E +#define CB_SHOWDROPDOWN 0x014F +#define CB_GETITEMDATA 0x0150 +#define CB_SETITEMDATA 0x0151 +#define CB_GETDROPPEDCONTROLRECT 0x0152 +#define CB_SETITEMHEIGHT 0x0153 +#define CB_GETITEMHEIGHT 0x0154 +#define CB_SETEXTENDEDUI 0x0155 +#define CB_GETEXTENDEDUI 0x0156 +#define CB_GETDROPPEDSTATE 0x0157 +#define CB_FINDSTRINGEXACT 0x0158 +#define CB_SETLOCALE 0x0159 +#define CB_GETLOCALE 0x015A +#define CB_GETTOPINDEX 0x015b +#define CB_SETTOPINDEX 0x015c +#define CB_GETHORIZONTALEXTENT 0x015d +#define CB_SETHORIZONTALEXTENT 0x015e +#define CB_GETDROPPEDWIDTH 0x015f +#define CB_SETDROPPEDWIDTH 0x0160 +#define CB_INITSTORAGE 0x0161 +#if defined (_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define CB_MULTIPLEADDSTRING 0x0163 +#endif +#define CB_GETCOMBOBOXINFO 0x0164 +#if _WIN32_WINNT >= 0x0501 +#define CB_MSGMAX 0x0165 +#elif defined(_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#define CB_MSGMAX 0x0163 +#elif WINVER >= 0x0400 +#define CB_MSGMAX 0x0162 +#else +#define CB_MSGMAX 0x015B +#endif + +#endif /* !NOWINMESSAGES */ + +#ifndef NOWINSTYLES + +#define SBS_HORZ __MSABI_LONG(0x0000) +#define SBS_VERT __MSABI_LONG(0x0001) +#define SBS_TOPALIGN __MSABI_LONG(0x0002) +#define SBS_LEFTALIGN __MSABI_LONG(0x0002) +#define SBS_BOTTOMALIGN __MSABI_LONG(0x0004) +#define SBS_RIGHTALIGN __MSABI_LONG(0x0004) +#define SBS_SIZEBOXTOPLEFTALIGN __MSABI_LONG(0x0002) +#define SBS_SIZEBOXBOTTOMRIGHTALIGN __MSABI_LONG(0x0004) +#define SBS_SIZEBOX __MSABI_LONG(0x0008) +#define SBS_SIZEGRIP __MSABI_LONG(0x0010) +#endif + +#ifndef NOWINMESSAGES +#define SBM_SETPOS 0x00E0 +#define SBM_GETPOS 0x00E1 +#define SBM_SETRANGE 0x00E2 +#define SBM_SETRANGEREDRAW 0x00E6 +#define SBM_GETRANGE 0x00E3 +#define SBM_ENABLE_ARROWS 0x00E4 +#define SBM_SETSCROLLINFO 0x00E9 +#define SBM_GETSCROLLINFO 0x00EA +#define SBM_GETSCROLLBARINFO 0x00EB + +#define SIF_RANGE 0x0001 +#define SIF_PAGE 0x0002 +#define SIF_POS 0x0004 +#define SIF_DISABLENOSCROLL 0x0008 +#define SIF_TRACKPOS 0x0010 +#define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagSCROLLINFO { + UINT cbSize; + UINT fMask; + int nMin; + int nMax; + UINT nPage; + int nPos; + int nTrackPos; + } SCROLLINFO,*LPSCROLLINFO; + typedef SCROLLINFO CONST *LPCSCROLLINFO; + + WINUSERAPI int WINAPI SetScrollInfo(HWND hwnd,int nBar,LPCSCROLLINFO lpsi,WINBOOL redraw); + WINUSERAPI WINBOOL WINAPI GetScrollInfo(HWND hwnd,int nBar,LPSCROLLINFO lpsi); +#endif +#endif +#endif + +#ifndef NOMDI + +#define MDIS_ALLCHILDSTYLES 0x0001 + +#define MDITILE_VERTICAL 0x0000 +#define MDITILE_HORIZONTAL 0x0001 +#define MDITILE_SKIPDISABLED 0x0002 +#define MDITILE_ZORDER 0x0004 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagMDICREATESTRUCTA { + LPCSTR szClass; + LPCSTR szTitle; + HANDLE hOwner; + int x; + int y; + int cx; + int cy; + DWORD style; + LPARAM lParam; + } MDICREATESTRUCTA,*LPMDICREATESTRUCTA; + + typedef struct tagMDICREATESTRUCTW { + LPCWSTR szClass; + LPCWSTR szTitle; + HANDLE hOwner; + int x; + int y; + int cx; + int cy; + DWORD style; + LPARAM lParam; + } MDICREATESTRUCTW,*LPMDICREATESTRUCTW; + + __MINGW_TYPEDEF_AW(MDICREATESTRUCT) + __MINGW_TYPEDEF_AW(LPMDICREATESTRUCT) + + typedef struct tagCLIENTCREATESTRUCT { + HANDLE hWindowMenu; + UINT idFirstChild; + } CLIENTCREATESTRUCT,*LPCLIENTCREATESTRUCT; + +#define DefFrameProc __MINGW_NAME_AW(DefFrameProc) +#define DefMDIChildProc __MINGW_NAME_AW(DefMDIChildProc) +#define CreateMDIWindow __MINGW_NAME_AW(CreateMDIWindow) + + WINUSERAPI LRESULT WINAPI DefFrameProcA(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI DefFrameProcW(HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI DefMDIChildProcA(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); + WINUSERAPI LRESULT WINAPI DefMDIChildProcW(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); + +#ifndef NOMSG + WINUSERAPI WINBOOL WINAPI TranslateMDISysAccel(HWND hWndClient,LPMSG lpMsg); +#endif + + WINUSERAPI UINT WINAPI ArrangeIconicWindows(HWND hWnd); + WINUSERAPI HWND WINAPI CreateMDIWindowA(LPCSTR lpClassName,LPCSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam); + WINUSERAPI HWND WINAPI CreateMDIWindowW(LPCWSTR lpClassName,LPCWSTR lpWindowName,DWORD dwStyle,int X,int Y,int nWidth,int nHeight,HWND hWndParent,HINSTANCE hInstance,LPARAM lParam); + WINUSERAPI WORD WINAPI TileWindows(HWND hwndParent,UINT wHow,CONST RECT *lpRect,UINT cKids,const HWND *lpKids); + WINUSERAPI WORD WINAPI CascadeWindows(HWND hwndParent,UINT wHow,CONST RECT *lpRect,UINT cKids,const HWND *lpKids); +#endif +#endif +#endif + +#ifndef NOHELP +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef DWORD HELPPOLY; + + typedef struct tagMULTIKEYHELPA { + DWORD mkSize; + CHAR mkKeylist; + CHAR szKeyphrase[1]; + } MULTIKEYHELPA,*PMULTIKEYHELPA,*LPMULTIKEYHELPA; + + typedef struct tagMULTIKEYHELPW { + DWORD mkSize; + WCHAR mkKeylist; + WCHAR szKeyphrase[1]; + } MULTIKEYHELPW,*PMULTIKEYHELPW,*LPMULTIKEYHELPW; + + __MINGW_TYPEDEF_AW(MULTIKEYHELP) + __MINGW_TYPEDEF_AW(PMULTIKEYHELP) + __MINGW_TYPEDEF_AW(LPMULTIKEYHELP) + + typedef struct tagHELPWININFOA { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + CHAR rgchMember[2]; + } HELPWININFOA,*PHELPWININFOA,*LPHELPWININFOA; + + typedef struct tagHELPWININFOW { + int wStructSize; + int x; + int y; + int dx; + int dy; + int wMax; + WCHAR rgchMember[2]; + } HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW; + + __MINGW_TYPEDEF_AW(HELPWININFO) + __MINGW_TYPEDEF_AW(PHELPWININFO) + __MINGW_TYPEDEF_AW(LPHELPWININFO) + +#define WinHelp __MINGW_NAME_AW(WinHelp) + + WINUSERAPI WINBOOL WINAPI WinHelpA(HWND hWndMain,LPCSTR lpszHelp,UINT uCommand,ULONG_PTR dwData); + WINUSERAPI WINBOOL WINAPI WinHelpW(HWND hWndMain,LPCWSTR lpszHelp,UINT uCommand,ULONG_PTR dwData); + +#define HELP_CONTEXT 0x0001 +#define HELP_QUIT 0x0002 +#define HELP_INDEX 0x0003 +#define HELP_CONTENTS 0x0003 +#define HELP_HELPONHELP 0x0004 +#define HELP_SETINDEX 0x0005 +#define HELP_SETCONTENTS 0x0005 +#define HELP_CONTEXTPOPUP 0x0008 +#define HELP_FORCEFILE 0x0009 +#define HELP_KEY 0x0101 +#define HELP_COMMAND 0x0102 +#define HELP_PARTIALKEY 0x0105 +#define HELP_MULTIKEY 0x0201 +#define HELP_SETWINPOS 0x0203 +#define HELP_CONTEXTMENU 0x000a +#define HELP_FINDER 0x000b +#define HELP_WM_HELP 0x000c +#define HELP_SETPOPUP_POS 0x000d + +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 0x0010 +#define HELP_TCARD_OTHER_CALLER 0x0011 + +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 +#endif +#endif + +#define GR_GDIOBJECTS 0 +#define GR_USEROBJECTS 1 +#if WINVER >= 0x0601 +#define GR_GDIOBJECTS_PEAK 2 +#define GR_USEROBJECTS_PEAK 4 + +#define GR_GLOBAL ((HANDLE)-2) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI DWORD WINAPI GetGuiResources(HANDLE hProcess,DWORD uiFlags); +#endif + +#ifndef NOSYSPARAMSINFO + +#define SPI_GETBEEP 0x0001 +#define SPI_SETBEEP 0x0002 +#define SPI_GETMOUSE 0x0003 +#define SPI_SETMOUSE 0x0004 +#define SPI_GETBORDER 0x0005 +#define SPI_SETBORDER 0x0006 +#define SPI_GETKEYBOARDSPEED 0x000A +#define SPI_SETKEYBOARDSPEED 0x000B +#define SPI_LANGDRIVER 0x000C +#define SPI_ICONHORIZONTALSPACING 0x000D +#define SPI_GETSCREENSAVETIMEOUT 0x000E +#define SPI_SETSCREENSAVETIMEOUT 0x000F +#define SPI_GETSCREENSAVEACTIVE 0x0010 +#define SPI_SETSCREENSAVEACTIVE 0x0011 +#define SPI_GETGRIDGRANULARITY 0x0012 +#define SPI_SETGRIDGRANULARITY 0x0013 +#define SPI_SETDESKWALLPAPER 0x0014 +#define SPI_SETDESKPATTERN 0x0015 +#define SPI_GETKEYBOARDDELAY 0x0016 +#define SPI_SETKEYBOARDDELAY 0x0017 +#define SPI_ICONVERTICALSPACING 0x0018 +#define SPI_GETICONTITLEWRAP 0x0019 +#define SPI_SETICONTITLEWRAP 0x001A +#define SPI_GETMENUDROPALIGNMENT 0x001B +#define SPI_SETMENUDROPALIGNMENT 0x001C +#define SPI_SETDOUBLECLKWIDTH 0x001D +#define SPI_SETDOUBLECLKHEIGHT 0x001E +#define SPI_GETICONTITLELOGFONT 0x001F +#define SPI_SETDOUBLECLICKTIME 0x0020 +#define SPI_SETMOUSEBUTTONSWAP 0x0021 +#define SPI_SETICONTITLELOGFONT 0x0022 +#define SPI_GETFASTTASKSWITCH 0x0023 +#define SPI_SETFASTTASKSWITCH 0x0024 +#define SPI_SETDRAGFULLWINDOWS 0x0025 +#define SPI_GETDRAGFULLWINDOWS 0x0026 +#define SPI_GETNONCLIENTMETRICS 0x0029 +#define SPI_SETNONCLIENTMETRICS 0x002A +#define SPI_GETMINIMIZEDMETRICS 0x002B +#define SPI_SETMINIMIZEDMETRICS 0x002C +#define SPI_GETICONMETRICS 0x002D +#define SPI_SETICONMETRICS 0x002E +#define SPI_SETWORKAREA 0x002F +#define SPI_GETWORKAREA 0x0030 +#define SPI_SETPENWINDOWS 0x0031 + +#define SPI_GETHIGHCONTRAST 0x0042 +#define SPI_SETHIGHCONTRAST 0x0043 +#define SPI_GETKEYBOARDPREF 0x0044 +#define SPI_SETKEYBOARDPREF 0x0045 +#define SPI_GETSCREENREADER 0x0046 +#define SPI_SETSCREENREADER 0x0047 +#define SPI_GETANIMATION 0x0048 +#define SPI_SETANIMATION 0x0049 +#define SPI_GETFONTSMOOTHING 0x004A +#define SPI_SETFONTSMOOTHING 0x004B +#define SPI_SETDRAGWIDTH 0x004C +#define SPI_SETDRAGHEIGHT 0x004D +#define SPI_SETHANDHELD 0x004E +#define SPI_GETLOWPOWERTIMEOUT 0x004F +#define SPI_GETPOWEROFFTIMEOUT 0x0050 +#define SPI_SETLOWPOWERTIMEOUT 0x0051 +#define SPI_SETPOWEROFFTIMEOUT 0x0052 +#define SPI_GETLOWPOWERACTIVE 0x0053 +#define SPI_GETPOWEROFFACTIVE 0x0054 +#define SPI_SETLOWPOWERACTIVE 0x0055 +#define SPI_SETPOWEROFFACTIVE 0x0056 +#define SPI_SETCURSORS 0x0057 +#define SPI_SETICONS 0x0058 +#define SPI_GETDEFAULTINPUTLANG 0x0059 +#define SPI_SETDEFAULTINPUTLANG 0x005A +#define SPI_SETLANGTOGGLE 0x005B +#define SPI_GETWINDOWSEXTENSION 0x005C +#define SPI_SETMOUSETRAILS 0x005D +#define SPI_GETMOUSETRAILS 0x005E +#define SPI_SETSCREENSAVERRUNNING 0x0061 +#define SPI_SCREENSAVERRUNNING SPI_SETSCREENSAVERRUNNING +#define SPI_GETFILTERKEYS 0x0032 +#define SPI_SETFILTERKEYS 0x0033 +#define SPI_GETTOGGLEKEYS 0x0034 +#define SPI_SETTOGGLEKEYS 0x0035 +#define SPI_GETMOUSEKEYS 0x0036 +#define SPI_SETMOUSEKEYS 0x0037 +#define SPI_GETSHOWSOUNDS 0x0038 +#define SPI_SETSHOWSOUNDS 0x0039 +#define SPI_GETSTICKYKEYS 0x003A +#define SPI_SETSTICKYKEYS 0x003B +#define SPI_GETACCESSTIMEOUT 0x003C +#define SPI_SETACCESSTIMEOUT 0x003D +#define SPI_GETSERIALKEYS 0x003E +#define SPI_SETSERIALKEYS 0x003F +#define SPI_GETSOUNDSENTRY 0x0040 +#define SPI_SETSOUNDSENTRY 0x0041 +#define SPI_GETSNAPTODEFBUTTON 0x005F +#define SPI_SETSNAPTODEFBUTTON 0x0060 +#define SPI_GETMOUSEHOVERWIDTH 0x0062 +#define SPI_SETMOUSEHOVERWIDTH 0x0063 +#define SPI_GETMOUSEHOVERHEIGHT 0x0064 +#define SPI_SETMOUSEHOVERHEIGHT 0x0065 +#define SPI_GETMOUSEHOVERTIME 0x0066 +#define SPI_SETMOUSEHOVERTIME 0x0067 +#define SPI_GETWHEELSCROLLLINES 0x0068 +#define SPI_SETWHEELSCROLLLINES 0x0069 +#define SPI_GETMENUSHOWDELAY 0x006A +#define SPI_SETMENUSHOWDELAY 0x006B +#if _WIN32_WINNT >= 0x0600 +#define SPI_GETWHEELSCROLLCHARS 0x006C +#define SPI_SETWHEELSCROLLCHARS 0x006D +#endif +#define SPI_GETSHOWIMEUI 0x006E +#define SPI_SETSHOWIMEUI 0x006F +#define SPI_GETMOUSESPEED 0x0070 +#define SPI_SETMOUSESPEED 0x0071 +#define SPI_GETSCREENSAVERRUNNING 0x0072 +#define SPI_GETDESKWALLPAPER 0x0073 +#if WINVER >= 0x0600 +#define SPI_GETAUDIODESCRIPTION 0x0074 +#define SPI_SETAUDIODESCRIPTION 0x0075 +#define SPI_GETSCREENSAVESECURE 0x0076 +#define SPI_SETSCREENSAVESECURE 0x0077 +#endif +#if _WIN32_WINNT >= 0x0601 +#define SPI_GETHUNGAPPTIMEOUT 0x0078 +#define SPI_SETHUNGAPPTIMEOUT 0x0079 +#define SPI_GETWAITTOKILLTIMEOUT 0x007a +#define SPI_SETWAITTOKILLTIMEOUT 0x007b +#define SPI_GETWAITTOKILLSERVICETIMEOUT 0x007c +#define SPI_SETWAITTOKILLSERVICETIMEOUT 0x007d +#define SPI_GETMOUSEDOCKTHRESHOLD 0x007e +#define SPI_SETMOUSEDOCKTHRESHOLD 0x007f +#define SPI_GETPENDOCKTHRESHOLD 0x0080 +#define SPI_SETPENDOCKTHRESHOLD 0x0081 +#define SPI_GETWINARRANGING 0x0082 +#define SPI_SETWINARRANGING 0x0083 +#define SPI_GETMOUSEDRAGOUTTHRESHOLD 0x0084 +#define SPI_SETMOUSEDRAGOUTTHRESHOLD 0x0085 +#define SPI_GETPENDRAGOUTTHRESHOLD 0x0086 +#define SPI_SETPENDRAGOUTTHRESHOLD 0x0087 +#define SPI_GETMOUSESIDEMOVETHRESHOLD 0x0088 +#define SPI_SETMOUSESIDEMOVETHRESHOLD 0x0089 +#define SPI_GETPENSIDEMOVETHRESHOLD 0x008a +#define SPI_SETPENSIDEMOVETHRESHOLD 0x008b +#define SPI_GETDRAGFROMMAXIMIZE 0x008c +#define SPI_SETDRAGFROMMAXIMIZE 0x008d +#define SPI_GETSNAPSIZING 0x008e +#define SPI_SETSNAPSIZING 0x008f +#define SPI_GETDOCKMOVING 0x0090 +#define SPI_SETDOCKMOVING 0x0091 +#endif +#if WINVER >= 0x0602 +#define SPI_GETTOUCHPREDICTIONPARAMETERS 0x009c +#define SPI_SETTOUCHPREDICTIONPARAMETERS 0x009d +#define SPI_GETLOGICALDPIOVERRIDE 0x009e +#define SPI_SETLOGICALDPIOVERRIDE 0x009f +#define SPI_GETMOUSECORNERCLIPLENGTH 0x00a0 +#define SPI_SETMOUSECORNERCLIPLENGTH 0x00a1 +#define SPI_GETMENURECT 0x00a2 +#define SPI_SETMENURECT 0x00a3 +#endif + +#define SPI_GETACTIVEWINDOWTRACKING 0x1000 +#define SPI_SETACTIVEWINDOWTRACKING 0x1001 +#define SPI_GETMENUANIMATION 0x1002 +#define SPI_SETMENUANIMATION 0x1003 +#define SPI_GETCOMBOBOXANIMATION 0x1004 +#define SPI_SETCOMBOBOXANIMATION 0x1005 +#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006 +#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007 +#define SPI_GETGRADIENTCAPTIONS 0x1008 +#define SPI_SETGRADIENTCAPTIONS 0x1009 +#define SPI_GETKEYBOARDCUES 0x100A +#define SPI_SETKEYBOARDCUES 0x100B +#define SPI_GETMENUUNDERLINES SPI_GETKEYBOARDCUES +#define SPI_SETMENUUNDERLINES SPI_SETKEYBOARDCUES +#define SPI_GETACTIVEWNDTRKZORDER 0x100C +#define SPI_SETACTIVEWNDTRKZORDER 0x100D +#define SPI_GETHOTTRACKING 0x100E +#define SPI_SETHOTTRACKING 0x100F +#define SPI_GETMENUFADE 0x1012 +#define SPI_SETMENUFADE 0x1013 +#define SPI_GETSELECTIONFADE 0x1014 +#define SPI_SETSELECTIONFADE 0x1015 +#define SPI_GETTOOLTIPANIMATION 0x1016 +#define SPI_SETTOOLTIPANIMATION 0x1017 +#define SPI_GETTOOLTIPFADE 0x1018 +#define SPI_SETTOOLTIPFADE 0x1019 +#define SPI_GETCURSORSHADOW 0x101A +#define SPI_SETCURSORSHADOW 0x101B +#define SPI_GETMOUSESONAR 0x101C +#define SPI_SETMOUSESONAR 0x101D +#define SPI_GETMOUSECLICKLOCK 0x101E +#define SPI_SETMOUSECLICKLOCK 0x101F +#define SPI_GETMOUSEVANISH 0x1020 +#define SPI_SETMOUSEVANISH 0x1021 +#define SPI_GETFLATMENU 0x1022 +#define SPI_SETFLATMENU 0x1023 +#define SPI_GETDROPSHADOW 0x1024 +#define SPI_SETDROPSHADOW 0x1025 +#define SPI_GETBLOCKSENDINPUTRESETS 0x1026 +#define SPI_SETBLOCKSENDINPUTRESETS 0x1027 +#define SPI_GETUIEFFECTS 0x103E +#define SPI_SETUIEFFECTS 0x103F +#if _WIN32_WINNT >= 0x0600 +#define SPI_GETDISABLEOVERLAPPEDCONTENT 0x1040 +#define SPI_SETDISABLEOVERLAPPEDCONTENT 0x1041 +#define SPI_GETCLIENTAREAANIMATION 0x1042 +#define SPI_SETCLIENTAREAANIMATION 0x1043 +#define SPI_GETCLEARTYPE 0x1048 +#define SPI_SETCLEARTYPE 0x1049 +#define SPI_GETSPEECHRECOGNITION 0x104a +#define SPI_SETSPEECHRECOGNITION 0x104b +#endif +#if WINVER >= 0x0601 +#define SPI_GETCARETBROWSING 0x104c +#define SPI_SETCARETBROWSING 0x104d +#define SPI_GETTHREADLOCALINPUTSETTINGS 0x104e +#define SPI_SETTHREADLOCALINPUTSETTINGS 0x104f +#define SPI_GETSYSTEMLANGUAGEBAR 0x1050 +#define SPI_SETSYSTEMLANGUAGEBAR 0x1051 +#endif +#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000 +#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001 +#define SPI_GETACTIVEWNDTRKTIMEOUT 0x2002 +#define SPI_SETACTIVEWNDTRKTIMEOUT 0x2003 +#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004 +#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005 +#define SPI_GETCARETWIDTH 0x2006 +#define SPI_SETCARETWIDTH 0x2007 +#define SPI_GETMOUSECLICKLOCKTIME 0x2008 +#define SPI_SETMOUSECLICKLOCKTIME 0x2009 +#define SPI_GETFONTSMOOTHINGTYPE 0x200A +#define SPI_SETFONTSMOOTHINGTYPE 0x200B + +#define FE_FONTSMOOTHINGSTANDARD 0x0001 +#define FE_FONTSMOOTHINGCLEARTYPE 0x0002 +#define FE_FONTSMOOTHINGDOCKING 0x8000 + +#define SPI_GETFONTSMOOTHINGCONTRAST 0x200C +#define SPI_SETFONTSMOOTHINGCONTRAST 0x200D +#define SPI_GETFOCUSBORDERWIDTH 0x200E +#define SPI_SETFOCUSBORDERWIDTH 0x200F +#define SPI_GETFOCUSBORDERHEIGHT 0x2010 +#define SPI_SETFOCUSBORDERHEIGHT 0x2011 +#define SPI_GETFONTSMOOTHINGORIENTATION 0x2012 +#define SPI_SETFONTSMOOTHINGORIENTATION 0x2013 +#if _WIN32_WINNT >= 0x0600 +#define SPI_GETMINIMUMHITRADIUS 0x2014 +#define SPI_SETMINIMUMHITRADIUS 0x2015 +#define SPI_GETMESSAGEDURATION 0x2016 +#define SPI_SETMESSAGEDURATION 0x2017 +#endif +#if WINVER >= 0x0602 +#define SPI_GETCONTACTVISUALIZATION 0x2018 +#define SPI_SETCONTACTVISUALIZATION 0x2019 +#define SPI_GETGESTUREVISUALIZATION 0x201a +#define SPI_SETGESTUREVISUALIZATION 0x201b +#endif +#if WINVER >= 0x0602 +#define SPI_GETMOUSEWHEELROUTING 0x201C +#define SPI_SETMOUSEWHEELROUTING 0x201D +#define MOUSEWHEEL_ROUTING_FOCUS 0 +#define MOUSEWHEEL_ROUTING_HYBRID 1 +#endif +#if WINVER >= 0x0603 +#define MOUSEWHEEL_ROUTING_MOUSE_POS 2 +#endif + +#if WINVER >= 0x0604 +#define SPI_GETPENVISUALIZATION 0x201E +#define SPI_SETPENVISUALIZATION 0x201F + +#define PENVISUALIZATION_ON 0x0023 +#define PENVISUALIZATION_OFF 0x0000 +#define PENVISUALIZATION_TAP 0x0001 +#define PENVISUALIZATION_DOUBLETAP 0x0002 +#define PENVISUALIZATION_CURSOR 0x0020 + +#define SPI_GETPENARBITRATIONTYPE 0x2020 +#define SPI_SETPENARBITRATIONTYPE 0x2021 + +#define PENARBITRATIONTYPE_NONE 0x0000 +#define PENARBITRATIONTYPE_WIN8 0x0001 +#define PENARBITRATIONTYPE_FIS 0x0002 +#define PENARBITRATIONTYPE_SPT 0x0003 +#define PENARBITRATIONTYPE_MAX 0x0004 +#endif /* WINVER >= 0x0604 */ + +#if NTDDI_VERSION >= NTDDI_WIN10_RS3 +#define SPI_GETCARETTIMEOUT 0x2022 +#define SPI_SETCARETTIMEOUT 0x2023 +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_RS4 +#define SPI_GETHANDEDNESS 0x2024 +#define SPI_SETHANDEDNESS 0x2025 + + typedef enum tagHANDEDNESS { + HANDEDNESS_LEFT = 0, + HANDEDNESS_RIGHT + } HANDEDNESS, *PHANDEDNESS; +#endif + +#if WINVER >= 0x0602 +#define CONTACTVISUALIZATION_OFF 0x0000 +#define CONTACTVISUALIZATION_ON 0x0001 +#define CONTACTVISUALIZATION_PRESENTATIONMODE 0x0002 + +#define GESTUREVISUALIZATION_OFF 0x0000 +#define GESTUREVISUALIZATION_ON 0x001f +#define GESTUREVISUALIZATION_TAP 0x0001 +#define GESTUREVISUALIZATION_DOUBLETAP 0x0002 +#define GESTUREVISUALIZATION_PRESSANDTAP 0x0004 +#define GESTUREVISUALIZATION_PRESSANDHOLD 0x0008 +#define GESTUREVISUALIZATION_RIGHTTAP 0x0010 + +#define MAX_TOUCH_PREDICTION_FILTER_TAPS 3 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagTouchPredictionParameters { + UINT cbSize; + UINT dwLatency; + UINT dwSampleTime; + UINT bUseHWTimeStamp; + } TOUCHPREDICTIONPARAMETERS,*PTOUCHPREDICTIONPARAMETERS; +#endif + +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_LATENCY 8 +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_SAMPLETIME 8 +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_USE_HW_TIMESTAMP 1 +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_DELTA 0.001f +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MIN 0.9f +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_MAX 0.999f +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_LAMBDA_LEARNING_RATE 0.001f +#define TOUCHPREDICTIONPARAMETERS_DEFAULT_RLS_EXPO_SMOOTH_ALPHA 0.99f + +#define MAX_LOGICALDPIOVERRIDE 2 +#define MIN_LOGICALDPIOVERRIDE -2 +#endif + +#define FE_FONTSMOOTHINGORIENTATIONBGR 0x0000 +#define FE_FONTSMOOTHINGORIENTATIONRGB 0x0001 + +#define SPIF_UPDATEINIFILE 0x0001 +#define SPIF_SENDWININICHANGE 0x0002 +#define SPIF_SENDCHANGE SPIF_SENDWININICHANGE + +#define METRICS_USEDEFAULT -1 +#ifdef _WINGDI_ +#ifndef NOGDI +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagNONCLIENTMETRICSA { + UINT cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTA lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTA lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTA lfMenuFont; + LOGFONTA lfStatusFont; + LOGFONTA lfMessageFont; +#if WINVER >= 0x0600 + int iPaddedBorderWidth; +#endif + } NONCLIENTMETRICSA,*PNONCLIENTMETRICSA,*LPNONCLIENTMETRICSA; + + typedef struct tagNONCLIENTMETRICSW { + UINT cbSize; + int iBorderWidth; + int iScrollWidth; + int iScrollHeight; + int iCaptionWidth; + int iCaptionHeight; + LOGFONTW lfCaptionFont; + int iSmCaptionWidth; + int iSmCaptionHeight; + LOGFONTW lfSmCaptionFont; + int iMenuWidth; + int iMenuHeight; + LOGFONTW lfMenuFont; + LOGFONTW lfStatusFont; + LOGFONTW lfMessageFont; +#if WINVER >= 0x0600 + int iPaddedBorderWidth; +#endif + } NONCLIENTMETRICSW,*PNONCLIENTMETRICSW,*LPNONCLIENTMETRICSW; + + __MINGW_TYPEDEF_AW(NONCLIENTMETRICS) + __MINGW_TYPEDEF_AW(PNONCLIENTMETRICS) + __MINGW_TYPEDEF_AW(LPNONCLIENTMETRICS) +#endif +#endif +#endif + +#define ARW_BOTTOMLEFT __MSABI_LONG(0x0000) +#define ARW_BOTTOMRIGHT __MSABI_LONG(0x0001) +#define ARW_TOPLEFT __MSABI_LONG(0x0002) +#define ARW_TOPRIGHT __MSABI_LONG(0x0003) +#define ARW_STARTMASK __MSABI_LONG(0x0003) +#define ARW_STARTRIGHT __MSABI_LONG(0x0001) +#define ARW_STARTTOP __MSABI_LONG(0x0002) + +#define ARW_LEFT __MSABI_LONG(0x0000) +#define ARW_RIGHT __MSABI_LONG(0x0000) +#define ARW_UP __MSABI_LONG(0x0004) +#define ARW_DOWN __MSABI_LONG(0x0004) +#define ARW_HIDE __MSABI_LONG(0x0008) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagMINIMIZEDMETRICS { + UINT cbSize; + int iWidth; + int iHorzGap; + int iVertGap; + int iArrange; + } MINIMIZEDMETRICS,*PMINIMIZEDMETRICS,*LPMINIMIZEDMETRICS; + +#ifdef _WINGDI_ +#ifndef NOGDI + typedef struct tagICONMETRICSA { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTA lfFont; + } ICONMETRICSA,*PICONMETRICSA,*LPICONMETRICSA; + + typedef struct tagICONMETRICSW { + UINT cbSize; + int iHorzSpacing; + int iVertSpacing; + int iTitleWrap; + LOGFONTW lfFont; + } ICONMETRICSW,*PICONMETRICSW,*LPICONMETRICSW; + + __MINGW_TYPEDEF_AW(ICONMETRICS) + __MINGW_TYPEDEF_AW(PICONMETRICS) + __MINGW_TYPEDEF_AW(LPICONMETRICS) +#endif +#endif + + typedef struct tagANIMATIONINFO { + UINT cbSize; + int iMinAnimate; + } ANIMATIONINFO,*LPANIMATIONINFO; + + typedef struct tagSERIALKEYSA { + UINT cbSize; + DWORD dwFlags; + LPSTR lpszActivePort; + LPSTR lpszPort; + UINT iBaudRate; + UINT iPortState; + UINT iActive; + } SERIALKEYSA,*LPSERIALKEYSA; + + typedef struct tagSERIALKEYSW { + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszActivePort; + LPWSTR lpszPort; + UINT iBaudRate; + UINT iPortState; + UINT iActive; + } SERIALKEYSW,*LPSERIALKEYSW; + + __MINGW_TYPEDEF_AW(SERIALKEYS) + __MINGW_TYPEDEF_AW(LPSERIALKEYS) + + typedef struct tagHIGHCONTRASTA { + UINT cbSize; + DWORD dwFlags; + LPSTR lpszDefaultScheme; + } HIGHCONTRASTA,*LPHIGHCONTRASTA; + + typedef struct tagHIGHCONTRASTW { + UINT cbSize; + DWORD dwFlags; + LPWSTR lpszDefaultScheme; + } HIGHCONTRASTW,*LPHIGHCONTRASTW; + + __MINGW_TYPEDEF_AW(HIGHCONTRAST) + __MINGW_TYPEDEF_AW(LPHIGHCONTRAST) +#endif + +#define SERKF_SERIALKEYSON 0x00000001 +#define SERKF_AVAILABLE 0x00000002 +#define SERKF_INDICATOR 0x00000004 + +#define HCF_HIGHCONTRASTON 0x00000001 +#define HCF_AVAILABLE 0x00000002 +#define HCF_HOTKEYACTIVE 0x00000004 +#define HCF_CONFIRMHOTKEY 0x00000008 +#define HCF_HOTKEYSOUND 0x00000010 +#define HCF_INDICATOR 0x00000020 +#define HCF_HOTKEYAVAILABLE 0x00000040 +#define HCF_LOGONDESKTOP 0x00000100 +#define HCF_DEFAULTDESKTOP 0x00000200 +#define HCF_OPTION_NOTHEMECHANGE 0x00001000 + +#define CDS_UPDATEREGISTRY 0x00000001 +#define CDS_TEST 0x00000002 +#define CDS_FULLSCREEN 0x00000004 +#define CDS_GLOBAL 0x00000008 +#define CDS_SET_PRIMARY 0x00000010 +#define CDS_VIDEOPARAMETERS 0x00000020 +#if WINVER >= 0x0600 +#define CDS_ENABLE_UNSAFE_MODES 0x00000100 +#define CDS_DISABLE_UNSAFE_MODES 0x00000200 +#endif +#define CDS_RESET 0x40000000 +#define CDS_RESET_EX 0x20000000 +#define CDS_NORESET 0x10000000 + +#include + +#define DISP_CHANGE_SUCCESSFUL 0 +#define DISP_CHANGE_RESTART 1 +#define DISP_CHANGE_FAILED -1 +#define DISP_CHANGE_BADMODE -2 +#define DISP_CHANGE_NOTUPDATED -3 +#define DISP_CHANGE_BADFLAGS -4 +#define DISP_CHANGE_BADPARAM -5 +#define DISP_CHANGE_BADDUALVIEW -6 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#ifdef _WINGDI_ +#ifndef NOGDI +#define ChangeDisplaySettings __MINGW_NAME_AW(ChangeDisplaySettings) +#define ChangeDisplaySettingsEx __MINGW_NAME_AW(ChangeDisplaySettingsEx) +#define EnumDisplaySettings __MINGW_NAME_AW(EnumDisplaySettings) +#define EnumDisplaySettingsEx __MINGW_NAME_AW(EnumDisplaySettingsEx) +#define EnumDisplayDevices __MINGW_NAME_AW(EnumDisplayDevices) + + WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(LPDEVMODEA lpDevMode,DWORD dwFlags); + WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(LPDEVMODEW lpDevMode,DWORD dwFlags); + WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR lpszDeviceName,LPDEVMODEA lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam); + WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR lpszDeviceName,LPDEVMODEW lpDevMode,HWND hwnd,DWORD dwflags,LPVOID lParam); + +#define ENUM_CURRENT_SETTINGS ((DWORD)-1) +#define ENUM_REGISTRY_SETTINGS ((DWORD)-2) + + WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode); + WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode); + WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsExA(LPCSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEA lpDevMode,DWORD dwFlags); + WINUSERAPI WINBOOL WINAPI EnumDisplaySettingsExW(LPCWSTR lpszDeviceName,DWORD iModeNum,LPDEVMODEW lpDevMode,DWORD dwFlags); + +#define EDS_RAWMODE 0x00000002 +#define EDS_ROTATEDMODE 0x00000004 + + WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesA(LPCSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEA lpDisplayDevice,DWORD dwFlags); + WINUSERAPI WINBOOL WINAPI EnumDisplayDevicesW(LPCWSTR lpDevice,DWORD iDevNum,PDISPLAY_DEVICEW lpDisplayDevice,DWORD dwFlags); + +#define EDD_GET_DEVICE_INTERFACE_NAME 0x00000001 + +#if WINVER >= 0x0601 + WINUSERAPI LONG WINAPI GetDisplayConfigBufferSizes (UINT32 flags, UINT32 *numPathArrayElements, UINT32 *numModeInfoArrayElements); + WINUSERAPI LONG WINAPI SetDisplayConfig (UINT32 numPathArrayElements, DISPLAYCONFIG_PATH_INFO *pathArray, UINT32 numModeInfoArrayElements, DISPLAYCONFIG_MODE_INFO *modeInfoArray, UINT32 flags); + WINUSERAPI LONG WINAPI QueryDisplayConfig (UINT32 flags, UINT32 *numPathArrayElements, DISPLAYCONFIG_PATH_INFO *pathArray, UINT32 *numModeInfoArrayElements, DISPLAYCONFIG_MODE_INFO *modeInfoArray, DISPLAYCONFIG_TOPOLOGY_ID *currentTopologyId); + WINUSERAPI LONG WINAPI DisplayConfigGetDeviceInfo (DISPLAYCONFIG_DEVICE_INFO_HEADER *requestPacket); + WINUSERAPI LONG WINAPI DisplayConfigSetDeviceInfo (DISPLAYCONFIG_DEVICE_INFO_HEADER *setPacket); +#endif +#endif +#endif + +#define SystemParametersInfo __MINGW_NAME_AW(SystemParametersInfo) + + WINUSERAPI WINBOOL WINAPI SystemParametersInfoA(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni); + WINUSERAPI WINBOOL WINAPI SystemParametersInfoW(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinIni); + +#if WINVER >= 0x0605 +WINUSERAPI WINBOOL WINAPI SystemParametersInfoForDpi(UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni, UINT dpi); +#endif + +#endif +#endif /* !NOSYSPARAMSINFO */ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagFILTERKEYS { + UINT cbSize; + DWORD dwFlags; + DWORD iWaitMSec; + DWORD iDelayMSec; + DWORD iRepeatMSec; + DWORD iBounceMSec; + } FILTERKEYS,*LPFILTERKEYS; +#endif + +#define FKF_FILTERKEYSON 0x00000001 +#define FKF_AVAILABLE 0x00000002 +#define FKF_HOTKEYACTIVE 0x00000004 +#define FKF_CONFIRMHOTKEY 0x00000008 +#define FKF_HOTKEYSOUND 0x00000010 +#define FKF_INDICATOR 0x00000020 +#define FKF_CLICKON 0x00000040 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagSTICKYKEYS { + UINT cbSize; + DWORD dwFlags; + } STICKYKEYS,*LPSTICKYKEYS; +#endif + +#define SKF_STICKYKEYSON 0x00000001 +#define SKF_AVAILABLE 0x00000002 +#define SKF_HOTKEYACTIVE 0x00000004 +#define SKF_CONFIRMHOTKEY 0x00000008 +#define SKF_HOTKEYSOUND 0x00000010 +#define SKF_INDICATOR 0x00000020 +#define SKF_AUDIBLEFEEDBACK 0x00000040 +#define SKF_TRISTATE 0x00000080 +#define SKF_TWOKEYSOFF 0x00000100 +#define SKF_LALTLATCHED 0x10000000 +#define SKF_LCTLLATCHED 0x04000000 +#define SKF_LSHIFTLATCHED 0x01000000 +#define SKF_RALTLATCHED 0x20000000 +#define SKF_RCTLLATCHED 0x08000000 +#define SKF_RSHIFTLATCHED 0x02000000 +#define SKF_LWINLATCHED 0x40000000 +#define SKF_RWINLATCHED 0x80000000 +#define SKF_LALTLOCKED 0x00100000 +#define SKF_LCTLLOCKED 0x00040000 +#define SKF_LSHIFTLOCKED 0x00010000 +#define SKF_RALTLOCKED 0x00200000 +#define SKF_RCTLLOCKED 0x00080000 +#define SKF_RSHIFTLOCKED 0x00020000 +#define SKF_LWINLOCKED 0x00400000 +#define SKF_RWINLOCKED 0x00800000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagMOUSEKEYS { + UINT cbSize; + DWORD dwFlags; + DWORD iMaxSpeed; + DWORD iTimeToMaxSpeed; + DWORD iCtrlSpeed; + DWORD dwReserved1; + DWORD dwReserved2; + } MOUSEKEYS,*LPMOUSEKEYS; +#endif + +#define MKF_MOUSEKEYSON 0x00000001 +#define MKF_AVAILABLE 0x00000002 +#define MKF_HOTKEYACTIVE 0x00000004 +#define MKF_CONFIRMHOTKEY 0x00000008 +#define MKF_HOTKEYSOUND 0x00000010 +#define MKF_INDICATOR 0x00000020 +#define MKF_MODIFIERS 0x00000040 +#define MKF_REPLACENUMBERS 0x00000080 +#define MKF_LEFTBUTTONSEL 0x10000000 +#define MKF_RIGHTBUTTONSEL 0x20000000 +#define MKF_LEFTBUTTONDOWN 0x01000000 +#define MKF_RIGHTBUTTONDOWN 0x02000000 +#define MKF_MOUSEMODE 0x80000000 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagACCESSTIMEOUT { + UINT cbSize; + DWORD dwFlags; + DWORD iTimeOutMSec; + } ACCESSTIMEOUT,*LPACCESSTIMEOUT; +#endif + +#define ATF_TIMEOUTON 0x00000001 +#define ATF_ONOFFFEEDBACK 0x00000002 + +#define SSGF_NONE 0 +#define SSGF_DISPLAY 3 + +#define SSTF_NONE 0 +#define SSTF_CHARS 1 +#define SSTF_BORDER 2 +#define SSTF_DISPLAY 3 + +#define SSWF_NONE 0 +#define SSWF_TITLE 1 +#define SSWF_WINDOW 2 +#define SSWF_DISPLAY 3 +#define SSWF_CUSTOM 4 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagSOUNDSENTRYA { + UINT cbSize; + DWORD dwFlags; + DWORD iFSTextEffect; + DWORD iFSTextEffectMSec; + DWORD iFSTextEffectColorBits; + DWORD iFSGrafEffect; + DWORD iFSGrafEffectMSec; + DWORD iFSGrafEffectColor; + DWORD iWindowsEffect; + DWORD iWindowsEffectMSec; + LPSTR lpszWindowsEffectDLL; + DWORD iWindowsEffectOrdinal; + } SOUNDSENTRYA,*LPSOUNDSENTRYA; + + typedef struct tagSOUNDSENTRYW { + UINT cbSize; + DWORD dwFlags; + DWORD iFSTextEffect; + DWORD iFSTextEffectMSec; + DWORD iFSTextEffectColorBits; + DWORD iFSGrafEffect; + DWORD iFSGrafEffectMSec; + DWORD iFSGrafEffectColor; + DWORD iWindowsEffect; + DWORD iWindowsEffectMSec; + LPWSTR lpszWindowsEffectDLL; + DWORD iWindowsEffectOrdinal; + } SOUNDSENTRYW,*LPSOUNDSENTRYW; + + __MINGW_TYPEDEF_AW(SOUNDSENTRY) + __MINGW_TYPEDEF_AW(LPSOUNDSENTRY) +#endif + +#define SSF_SOUNDSENTRYON 0x00000001 +#define SSF_AVAILABLE 0x00000002 +#define SSF_INDICATOR 0x00000004 + +#ifndef CCHDEVICENAME +#define CCHDEVICENAME 32 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagTOGGLEKEYS { + UINT cbSize; + DWORD dwFlags; + } TOGGLEKEYS,*LPTOGGLEKEYS; + + typedef struct tagMONITORINFO { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; + } MONITORINFO,*LPMONITORINFO; + +#if _WIN32_WINNT >= 0x0600 + typedef struct tagAUDIODESCRIPTION { + UINT cbSize; + WINBOOL Enabled; + LCID Locale; + } AUDIODESCRIPTION,*LPAUDIODESCRIPTION; +#endif + +#ifdef __cplusplus + typedef struct tagMONITORINFOEXA : public tagMONITORINFO { + CHAR szDevice[CCHDEVICENAME]; + } MONITORINFOEXA,*LPMONITORINFOEXA; + + typedef struct tagMONITORINFOEXW : public tagMONITORINFO { + WCHAR szDevice[CCHDEVICENAME]; + } MONITORINFOEXW,*LPMONITORINFOEXW; + + __MINGW_TYPEDEF_AW(MONITORINFOEX) + __MINGW_TYPEDEF_AW(LPMONITORINFOEX) +#else + typedef struct tagMONITORINFOEXA { + __C89_NAMELESS struct { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; + }; + CHAR szDevice[CCHDEVICENAME]; + } MONITORINFOEXA,*LPMONITORINFOEXA; + + typedef struct tagMONITORINFOEXW { + __C89_NAMELESS struct { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; + }; + WCHAR szDevice[CCHDEVICENAME]; + } MONITORINFOEXW,*LPMONITORINFOEXW; + + __MINGW_TYPEDEF_AW(MONITORINFOEX) + __MINGW_TYPEDEF_AW(LPMONITORINFOEX) +#endif + + typedef WINBOOL (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM); + + WINUSERAPI VOID WINAPI SetDebugErrorLevel (DWORD dwLevel); + WINUSERAPI VOID WINAPI SetLastErrorEx (DWORD dwErrCode, DWORD dwType); + WINUSERAPI int WINAPI InternalGetWindowText (HWND hWnd, LPWSTR pString, int cchMaxCount); + WINUSERAPI WINBOOL WINAPI CancelShutdown (VOID); + WINUSERAPI HMONITOR WINAPI MonitorFromPoint(POINT pt,DWORD dwFlags); + WINUSERAPI HMONITOR WINAPI MonitorFromRect(LPCRECT lprc,DWORD dwFlags); + WINUSERAPI HMONITOR WINAPI MonitorFromWindow(HWND hwnd,DWORD dwFlags); +#ifdef WINNT + WINUSERAPI WINBOOL WINAPI EndTask (HWND hWnd, WINBOOL fShutDown, WINBOOL fForce); +#endif +#if _WIN32_WINNT >= 0x0600 + WINUSERAPI WINBOOL WINAPI SoundSentry (VOID); +#endif + +#define GetMonitorInfo __MINGW_NAME_AW(GetMonitorInfo) + + WINUSERAPI WINBOOL WINAPI GetMonitorInfoA(HMONITOR hMonitor,LPMONITORINFO lpmi); + WINUSERAPI WINBOOL WINAPI GetMonitorInfoW(HMONITOR hMonitor,LPMONITORINFO lpmi); + WINUSERAPI WINBOOL WINAPI EnumDisplayMonitors(HDC hdc,LPCRECT lprcClip,MONITORENUMPROC lpfnEnum,LPARAM dwData); +#endif + +#define TKF_TOGGLEKEYSON 0x00000001 +#define TKF_AVAILABLE 0x00000002 +#define TKF_HOTKEYACTIVE 0x00000004 +#define TKF_CONFIRMHOTKEY 0x00000008 +#define TKF_HOTKEYSOUND 0x00000010 +#define TKF_INDICATOR 0x00000020 + +#define SLE_ERROR 0x00000001 +#define SLE_MINORERROR 0x00000002 +#define SLE_WARNING 0x00000003 + +#define MONITOR_DEFAULTTONULL 0x00000000 +#define MONITOR_DEFAULTTOPRIMARY 0x00000001 +#define MONITOR_DEFAULTTONEAREST 0x00000002 + +#define MONITORINFOF_PRIMARY 0x00000001 + +#ifndef NOWINABLE +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef VOID (CALLBACK *WINEVENTPROC)(HWINEVENTHOOK hWinEventHook,DWORD event,HWND hwnd,LONG idObject,LONG idChild,DWORD idEventThread,DWORD dwmsEventTime); + + WINUSERAPI VOID WINAPI NotifyWinEvent(DWORD event,HWND hwnd,LONG idObject,LONG idChild); + WINUSERAPI HWINEVENTHOOK WINAPI SetWinEventHook(DWORD eventMin,DWORD eventMax,HMODULE hmodWinEventProc,WINEVENTPROC pfnWinEventProc,DWORD idProcess,DWORD idThread,DWORD dwFlags); + WINUSERAPI WINBOOL WINAPI IsWinEventHookInstalled(DWORD event); +#endif + +#define WINEVENT_OUTOFCONTEXT 0x0000 +#define WINEVENT_SKIPOWNTHREAD 0x0001 +#define WINEVENT_SKIPOWNPROCESS 0x0002 +#define WINEVENT_INCONTEXT 0x0004 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI UnhookWinEvent(HWINEVENTHOOK hWinEventHook); +#endif + +#define CHILDID_SELF 0 +#define INDEXID_OBJECT 0 +#define INDEXID_CONTAINER 0 + +#define OBJID_WINDOW ((LONG)0x00000000) +#define OBJID_SYSMENU ((LONG)0xFFFFFFFF) +#define OBJID_TITLEBAR ((LONG)0xFFFFFFFE) +#define OBJID_MENU ((LONG)0xFFFFFFFD) +#define OBJID_CLIENT ((LONG)0xFFFFFFFC) +#define OBJID_VSCROLL ((LONG)0xFFFFFFFB) +#define OBJID_HSCROLL ((LONG)0xFFFFFFFA) +#define OBJID_SIZEGRIP ((LONG)0xFFFFFFF9) +#define OBJID_CARET ((LONG)0xFFFFFFF8) +#define OBJID_CURSOR ((LONG)0xFFFFFFF7) +#define OBJID_ALERT ((LONG)0xFFFFFFF6) +#define OBJID_SOUND ((LONG)0xFFFFFFF5) +#define OBJID_QUERYCLASSNAMEIDX ((LONG)0xFFFFFFF4) +#define OBJID_NATIVEOM ((LONG)0xFFFFFFF0) + +#define EVENT_MIN 0x00000001 +#define EVENT_MAX 0x7FFFFFFF + +#define EVENT_SYSTEM_SOUND 0x0001 +#define EVENT_SYSTEM_ALERT 0x0002 +#define EVENT_SYSTEM_FOREGROUND 0x0003 +#define EVENT_SYSTEM_MENUSTART 0x0004 +#define EVENT_SYSTEM_MENUEND 0x0005 +#define EVENT_SYSTEM_MENUPOPUPSTART 0x0006 +#define EVENT_SYSTEM_MENUPOPUPEND 0x0007 +#define EVENT_SYSTEM_CAPTURESTART 0x0008 +#define EVENT_SYSTEM_CAPTUREEND 0x0009 +#define EVENT_SYSTEM_MOVESIZESTART 0x000A +#define EVENT_SYSTEM_MOVESIZEEND 0x000B +#define EVENT_SYSTEM_CONTEXTHELPSTART 0x000C +#define EVENT_SYSTEM_CONTEXTHELPEND 0x000D +#define EVENT_SYSTEM_DRAGDROPSTART 0x000E +#define EVENT_SYSTEM_DRAGDROPEND 0x000F +#define EVENT_SYSTEM_DIALOGSTART 0x0010 +#define EVENT_SYSTEM_DIALOGEND 0x0011 +#define EVENT_SYSTEM_SCROLLINGSTART 0x0012 +#define EVENT_SYSTEM_SCROLLINGEND 0x0013 +#define EVENT_SYSTEM_SWITCHSTART 0x0014 +#define EVENT_SYSTEM_SWITCHEND 0x0015 +#define EVENT_SYSTEM_MINIMIZESTART 0x0016 +#define EVENT_SYSTEM_MINIMIZEEND 0x0017 +#if _WIN32_WINNT >= 0x0600 +#define EVENT_SYSTEM_DESKTOPSWITCH 0x0020 +#endif +#if _WIN32_WINNT >= 0x0602 +#define EVENT_SYSTEM_SWITCHER_APPGRABBED 0x0024 +#define EVENT_SYSTEM_SWITCHER_APPOVERTARGET 0x0025 +#define EVENT_SYSTEM_SWITCHER_APPDROPPED 0x0026 +#define EVENT_SYSTEM_SWITCHER_CANCELLED 0x0027 +#endif +#if _WIN32_WINNT >= 0x0602 +#define EVENT_SYSTEM_IME_KEY_NOTIFICATION 0x0029 +#endif +#if _WIN32_WINNT >= 0x0601 +#define EVENT_SYSTEM_END 0x00ff +#define EVENT_OEM_DEFINED_START 0x0101 +#define EVENT_OEM_DEFINED_END 0x01ff +#define EVENT_UIA_EVENTID_START 0x4e00 +#define EVENT_UIA_EVENTID_END 0x4eff +#define EVENT_UIA_PROPID_START 0x7500 +#define EVENT_UIA_PROPID_END 0x75ff +#endif + +#define EVENT_CONSOLE_CARET 0x4001 +#define EVENT_CONSOLE_UPDATE_REGION 0x4002 +#define EVENT_CONSOLE_UPDATE_SIMPLE 0x4003 +#define EVENT_CONSOLE_UPDATE_SCROLL 0x4004 +#define EVENT_CONSOLE_LAYOUT 0x4005 +#define EVENT_CONSOLE_START_APPLICATION 0x4006 +#define EVENT_CONSOLE_END_APPLICATION 0x4007 + +#ifdef _WIN64 +#define CONSOLE_APPLICATION_16BIT 0x0000 +#else +#define CONSOLE_APPLICATION_16BIT 0x0001 +#endif +#define CONSOLE_CARET_SELECTION 0x0001 +#define CONSOLE_CARET_VISIBLE 0x0002 +#if _WIN32_WINNT >= 0x0601 +#define EVENT_CONSOLE_END 0x40ff +#endif + +#define EVENT_OBJECT_CREATE 0x8000 +#define EVENT_OBJECT_DESTROY 0x8001 +#define EVENT_OBJECT_SHOW 0x8002 +#define EVENT_OBJECT_HIDE 0x8003 +#define EVENT_OBJECT_REORDER 0x8004 +#define EVENT_OBJECT_FOCUS 0x8005 +#define EVENT_OBJECT_SELECTION 0x8006 +#define EVENT_OBJECT_SELECTIONADD 0x8007 +#define EVENT_OBJECT_SELECTIONREMOVE 0x8008 +#define EVENT_OBJECT_SELECTIONWITHIN 0x8009 +#define EVENT_OBJECT_STATECHANGE 0x800A +#define EVENT_OBJECT_LOCATIONCHANGE 0x800B +#define EVENT_OBJECT_NAMECHANGE 0x800C +#define EVENT_OBJECT_DESCRIPTIONCHANGE 0x800D +#define EVENT_OBJECT_VALUECHANGE 0x800E +#define EVENT_OBJECT_PARENTCHANGE 0x800F +#define EVENT_OBJECT_HELPCHANGE 0x8010 +#define EVENT_OBJECT_DEFACTIONCHANGE 0x8011 +#define EVENT_OBJECT_ACCELERATORCHANGE 0x8012 +#if _WIN32_WINNT >= 0x0600 +#define EVENT_OBJECT_INVOKED 0x8013 +#define EVENT_OBJECT_TEXTSELECTIONCHANGED 0x8014 +#define EVENT_OBJECT_CONTENTSCROLLED 0x8015 +#endif +#if _WIN32_WINNT >= 0x0601 +#define EVENT_SYSTEM_ARRANGMENTPREVIEW 0x8016 +#endif +#if _WIN32_WINNT >= 0x0602 +#define EVENT_OBJECT_CLOAKED 0x8017 +#define EVENT_OBJECT_UNCLOAKED 0x8018 +#define EVENT_OBJECT_LIVEREGIONCHANGED 0x8019 +#define EVENT_OBJECT_HOSTEDOBJECTSINVALIDATED 0x8020 +#define EVENT_OBJECT_DRAGSTART 0x8021 +#define EVENT_OBJECT_DRAGCANCEL 0x8022 +#define EVENT_OBJECT_DRAGCOMPLETE 0x8023 +#define EVENT_OBJECT_DRAGENTER 0x8024 +#define EVENT_OBJECT_DRAGLEAVE 0x8025 +#define EVENT_OBJECT_DRAGDROPPED 0x8026 +#define EVENT_OBJECT_IME_SHOW 0x8027 +#define EVENT_OBJECT_IME_HIDE 0x8028 +#define EVENT_OBJECT_IME_CHANGE 0x8029 +#endif + +#if _WIN32_WINNT >= 0x0601 +#define EVENT_OBJECT_END 0x80ff +#define EVENT_AIA_START 0xa000 +#define EVENT_AIA_END 0xafff +#endif + +#define SOUND_SYSTEM_STARTUP 1 +#define SOUND_SYSTEM_SHUTDOWN 2 +#define SOUND_SYSTEM_BEEP 3 +#define SOUND_SYSTEM_ERROR 4 +#define SOUND_SYSTEM_QUESTION 5 +#define SOUND_SYSTEM_WARNING 6 +#define SOUND_SYSTEM_INFORMATION 7 +#define SOUND_SYSTEM_MAXIMIZE 8 +#define SOUND_SYSTEM_MINIMIZE 9 +#define SOUND_SYSTEM_RESTOREUP 10 +#define SOUND_SYSTEM_RESTOREDOWN 11 +#define SOUND_SYSTEM_APPSTART 12 +#define SOUND_SYSTEM_FAULT 13 +#define SOUND_SYSTEM_APPEND 14 +#define SOUND_SYSTEM_MENUCOMMAND 15 +#define SOUND_SYSTEM_MENUPOPUP 16 +#define CSOUND_SYSTEM 16 + +#define ALERT_SYSTEM_INFORMATIONAL 1 +#define ALERT_SYSTEM_WARNING 2 +#define ALERT_SYSTEM_ERROR 3 +#define ALERT_SYSTEM_QUERY 4 +#define ALERT_SYSTEM_CRITICAL 5 +#define CALERT_SYSTEM 6 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagGUITHREADINFO { + DWORD cbSize; + DWORD flags; + HWND hwndActive; + HWND hwndFocus; + HWND hwndCapture; + HWND hwndMenuOwner; + HWND hwndMoveSize; + HWND hwndCaret; + RECT rcCaret; + } GUITHREADINFO,*PGUITHREADINFO,*LPGUITHREADINFO; +#endif + +#define GUI_CARETBLINKING 0x00000001 +#define GUI_INMOVESIZE 0x00000002 +#define GUI_INMENUMODE 0x00000004 +#define GUI_SYSTEMMENUMODE 0x00000008 +#define GUI_POPUPMENUMODE 0x00000010 +#ifdef _WIN64 +#define GUI_16BITTASK 0x00000000 +#else +#define GUI_16BITTASK 0x00000020 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define GetWindowModuleFileName __MINGW_NAME_AW(GetWindowModuleFileName) + + WINUSERAPI WINBOOL WINAPI GetGUIThreadInfo(DWORD idThread,PGUITHREADINFO pgui); + WINUSERAPI WINBOOL WINAPI BlockInput (WINBOOL fBlockIt); + WINUSERAPI UINT WINAPI GetWindowModuleFileNameA(HWND hwnd,LPSTR pszFileName,UINT cchFileNameMax); + WINUSERAPI UINT WINAPI GetWindowModuleFileNameW(HWND hwnd,LPWSTR pszFileName,UINT cchFileNameMax); +#if _WIN32_WINNT >= 0x0600 +#define USER_DEFAULT_SCREEN_DPI 96 + + WINUSERAPI WINBOOL WINAPI SetProcessDPIAware (VOID); + WINUSERAPI WINBOOL WINAPI IsProcessDPIAware (VOID); +#endif + +#if WINVER >= 0x0605 +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT dpiContext); +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetThreadDpiAwarenessContext(VOID); +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetWindowDpiAwarenessContext(HWND hwnd); +WINUSERAPI DPI_AWARENESS WINAPI GetAwarenessFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI UINT WINAPI GetDpiFromDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI WINBOOL WINAPI AreDpiAwarenessContextsEqual(DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB); +WINUSERAPI WINBOOL WINAPI IsValidDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +WINUSERAPI UINT WINAPI GetDpiForWindow(HWND hwnd); +WINUSERAPI UINT WINAPI GetDpiForSystem(VOID); +WINUSERAPI UINT WINAPI GetSystemDpiForProcess(HANDLE hProcess); +WINUSERAPI WINBOOL WINAPI EnableNonClientDpiScaling(HWND hwnd); +WINUSERAPI WINBOOL WINAPI InheritWindowMonitor(HWND hwnd, HWND hwndInherit); +WINUSERAPI WINBOOL WINAPI SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT value); +#endif /* WINVER >= 0x0605 */ + +#if WINVER >= 0x0606 +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI SetThreadDpiHostingBehavior(DPI_HOSTING_BEHAVIOR value); +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI GetThreadDpiHostingBehavior(VOID); +WINUSERAPI DPI_HOSTING_BEHAVIOR WINAPI GetWindowDpiHostingBehavior(HWND hwnd); +#endif /* WINVER >= 0x0606 */ + +#if NTDDI_VERSION >= NTDDI_WIN10_19H1 +WINUSERAPI DPI_AWARENESS_CONTEXT WINAPI GetDpiAwarenessContextForProcess(HANDLE hProcess); +#endif + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#ifndef NO_STATE_FLAGS +#define STATE_SYSTEM_UNAVAILABLE 0x00000001 +#define STATE_SYSTEM_SELECTED 0x00000002 +#define STATE_SYSTEM_FOCUSED 0x00000004 +#define STATE_SYSTEM_PRESSED 0x00000008 +#define STATE_SYSTEM_CHECKED 0x00000010 +#define STATE_SYSTEM_MIXED 0x00000020 +#define STATE_SYSTEM_INDETERMINATE STATE_SYSTEM_MIXED +#define STATE_SYSTEM_READONLY 0x00000040 +#define STATE_SYSTEM_HOTTRACKED 0x00000080 +#define STATE_SYSTEM_DEFAULT 0x00000100 +#define STATE_SYSTEM_EXPANDED 0x00000200 +#define STATE_SYSTEM_COLLAPSED 0x00000400 +#define STATE_SYSTEM_BUSY 0x00000800 +#define STATE_SYSTEM_FLOATING 0x00001000 +#define STATE_SYSTEM_MARQUEED 0x00002000 +#define STATE_SYSTEM_ANIMATED 0x00004000 +#define STATE_SYSTEM_INVISIBLE 0x00008000 +#define STATE_SYSTEM_OFFSCREEN 0x00010000 +#define STATE_SYSTEM_SIZEABLE 0x00020000 +#define STATE_SYSTEM_MOVEABLE 0x00040000 +#define STATE_SYSTEM_SELFVOICING 0x00080000 +#define STATE_SYSTEM_FOCUSABLE 0x00100000 +#define STATE_SYSTEM_SELECTABLE 0x00200000 +#define STATE_SYSTEM_LINKED 0x00400000 +#define STATE_SYSTEM_TRAVERSED 0x00800000 +#define STATE_SYSTEM_MULTISELECTABLE 0x01000000 +#define STATE_SYSTEM_EXTSELECTABLE 0x02000000 +#define STATE_SYSTEM_ALERT_LOW 0x04000000 +#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000 +#define STATE_SYSTEM_ALERT_HIGH 0x10000000 +#define STATE_SYSTEM_PROTECTED 0x20000000 +#define STATE_SYSTEM_VALID 0x3FFFFFFF +#endif + +#define CCHILDREN_TITLEBAR 5 +#define CCHILDREN_SCROLLBAR 5 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagCURSORINFO { + DWORD cbSize; + DWORD flags; + HCURSOR hCursor; + POINT ptScreenPos; + } CURSORINFO,*PCURSORINFO,*LPCURSORINFO; + +#define CURSOR_SHOWING 0x00000001 +#if WINVER >= 0x0602 +#define CURSOR_SUPPRESSED 0x00000002 +#endif + + WINUSERAPI WINBOOL WINAPI GetCursorInfo(PCURSORINFO pci); + + typedef struct tagWINDOWINFO { + DWORD cbSize; + RECT rcWindow; + RECT rcClient; + DWORD dwStyle; + DWORD dwExStyle; + DWORD dwWindowStatus; + UINT cxWindowBorders; + UINT cyWindowBorders; + ATOM atomWindowType; + WORD wCreatorVersion; + } WINDOWINFO,*PWINDOWINFO,*LPWINDOWINFO; + +#define WS_ACTIVECAPTION 0x0001 + + WINUSERAPI WINBOOL WINAPI GetWindowInfo(HWND hwnd,PWINDOWINFO pwi); + + typedef struct tagTITLEBARINFO { + DWORD cbSize; + RECT rcTitleBar; + DWORD rgstate[CCHILDREN_TITLEBAR + 1]; + } TITLEBARINFO,*PTITLEBARINFO,*LPTITLEBARINFO; + + WINUSERAPI WINBOOL WINAPI GetTitleBarInfo(HWND hwnd,PTITLEBARINFO pti); + +#if WINVER >= 0x0600 + typedef struct tagTITLEBARINFOEX { + DWORD cbSize; + RECT rcTitleBar; + DWORD rgstate[CCHILDREN_TITLEBAR + 1]; + RECT rgrect[CCHILDREN_TITLEBAR + 1]; + } TITLEBARINFOEX,*PTITLEBARINFOEX,*LPTITLEBARINFOEX; +#endif + + typedef struct tagMENUBARINFO { + DWORD cbSize; + RECT rcBar; + HMENU hMenu; + HWND hwndMenu; + WINBOOL fBarFocused:1; + WINBOOL fFocused:1; + } MENUBARINFO,*PMENUBARINFO,*LPMENUBARINFO; + + WINUSERAPI WINBOOL WINAPI GetMenuBarInfo(HWND hwnd,LONG idObject,LONG idItem,PMENUBARINFO pmbi); + + typedef struct tagSCROLLBARINFO { + DWORD cbSize; + RECT rcScrollBar; + int dxyLineButton; + int xyThumbTop; + int xyThumbBottom; + int reserved; + DWORD rgstate[CCHILDREN_SCROLLBAR + 1]; + } SCROLLBARINFO,*PSCROLLBARINFO,*LPSCROLLBARINFO; + + WINUSERAPI WINBOOL WINAPI GetScrollBarInfo(HWND hwnd,LONG idObject,PSCROLLBARINFO psbi); + + typedef struct tagCOMBOBOXINFO { + DWORD cbSize; + RECT rcItem; + RECT rcButton; + DWORD stateButton; + HWND hwndCombo; + HWND hwndItem; + HWND hwndList; + } COMBOBOXINFO,*PCOMBOBOXINFO,*LPCOMBOBOXINFO; + + WINUSERAPI WINBOOL WINAPI GetComboBoxInfo(HWND hwndCombo,PCOMBOBOXINFO pcbi); +#endif + +#define GA_PARENT 1 +#define GA_ROOT 2 +#define GA_ROOTOWNER 3 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#define RealGetWindowClass __MINGW_NAME_AW(RealGetWindowClass) + + WINUSERAPI HWND WINAPI GetAncestor(HWND hwnd,UINT gaFlags); + WINUSERAPI HWND WINAPI RealChildWindowFromPoint(HWND hwndParent,POINT ptParentClientCoords); + WINUSERAPI UINT WINAPI RealGetWindowClassA(HWND hwnd,LPSTR ptszClassName,UINT cchClassNameMax); + WINUSERAPI UINT WINAPI RealGetWindowClassW(HWND hwnd,LPWSTR ptszClassName,UINT cchClassNameMax); + + typedef struct tagALTTABINFO { + DWORD cbSize; + int cItems; + int cColumns; + int cRows; + int iColFocus; + int iRowFocus; + int cxItem; + int cyItem; + POINT ptStart; + } ALTTABINFO,*PALTTABINFO,*LPALTTABINFO; + +#define GetAltTabInfo __MINGW_NAME_AW(GetAltTabInfo) + + WINUSERAPI WINBOOL WINAPI GetAltTabInfoA(HWND hwnd,int iItem,PALTTABINFO pati,LPSTR pszItemText,UINT cchItemText); + WINUSERAPI WINBOOL WINAPI GetAltTabInfoW(HWND hwnd,int iItem,PALTTABINFO pati,LPWSTR pszItemText,UINT cchItemText); + WINUSERAPI DWORD WINAPI GetListBoxInfo(HWND hwnd); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI LockWorkStation(VOID); + WINUSERAPI WINBOOL WINAPI UserHandleGrantAccess(HANDLE hUserHandle,HANDLE hJob,WINBOOL bGrant); + + DECLARE_HANDLE(HRAWINPUT); +#endif + +#define GET_RAWINPUT_CODE_WPARAM(wParam) ((wParam) & 0xff) + +#define RIM_INPUT 0 +#define RIM_INPUTSINK 1 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRAWINPUTHEADER { + DWORD dwType; + DWORD dwSize; + HANDLE hDevice; + WPARAM wParam; + } RAWINPUTHEADER,*PRAWINPUTHEADER,*LPRAWINPUTHEADER; +#endif + +#define RIM_TYPEMOUSE 0 +#define RIM_TYPEKEYBOARD 1 +#define RIM_TYPEHID 2 +#define RIM_TYPEMAX 2 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRAWMOUSE { + USHORT usFlags; + __C89_NAMELESS union { + ULONG ulButtons; + __C89_NAMELESS struct { + USHORT usButtonFlags; + USHORT usButtonData; + }; + }; + ULONG ulRawButtons; + LONG lLastX; + LONG lLastY; + ULONG ulExtraInformation; + } RAWMOUSE,*PRAWMOUSE,*LPRAWMOUSE; +#endif + +#define RI_MOUSE_LEFT_BUTTON_DOWN 0x0001 +#define RI_MOUSE_LEFT_BUTTON_UP 0x0002 +#define RI_MOUSE_RIGHT_BUTTON_DOWN 0x0004 +#define RI_MOUSE_RIGHT_BUTTON_UP 0x0008 +#define RI_MOUSE_MIDDLE_BUTTON_DOWN 0x0010 +#define RI_MOUSE_MIDDLE_BUTTON_UP 0x0020 +#define RI_MOUSE_BUTTON_4_DOWN 0x0040 +#define RI_MOUSE_BUTTON_4_UP 0x0080 +#define RI_MOUSE_BUTTON_5_DOWN 0x0100 +#define RI_MOUSE_BUTTON_5_UP 0x0200 +#define RI_MOUSE_WHEEL 0x0400 +#if WINVER >= 0x0600 +#define RI_MOUSE_HWHEEL 0x0800 +#endif + +#define RI_MOUSE_BUTTON_1_DOWN RI_MOUSE_LEFT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_1_UP RI_MOUSE_LEFT_BUTTON_UP +#define RI_MOUSE_BUTTON_2_DOWN RI_MOUSE_RIGHT_BUTTON_DOWN +#define RI_MOUSE_BUTTON_2_UP RI_MOUSE_RIGHT_BUTTON_UP +#define RI_MOUSE_BUTTON_3_DOWN RI_MOUSE_MIDDLE_BUTTON_DOWN +#define RI_MOUSE_BUTTON_3_UP RI_MOUSE_MIDDLE_BUTTON_UP + +#define MOUSE_MOVE_RELATIVE 0 +#define MOUSE_MOVE_ABSOLUTE 1 +#define MOUSE_VIRTUAL_DESKTOP 0x02 +#define MOUSE_ATTRIBUTES_CHANGED 0x04 +#if WINVER >= 0x0600 +#define MOUSE_MOVE_NOCOALESCE 0x08 +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRAWKEYBOARD { + USHORT MakeCode; + USHORT Flags; + USHORT Reserved; + USHORT VKey; + UINT Message; + ULONG ExtraInformation; + } RAWKEYBOARD,*PRAWKEYBOARD,*LPRAWKEYBOARD; +#endif + +#define KEYBOARD_OVERRUN_MAKE_CODE 0xFF + +#define RI_KEY_MAKE 0 +#define RI_KEY_BREAK 1 +#define RI_KEY_E0 2 +#define RI_KEY_E1 4 +#define RI_KEY_TERMSRV_SET_LED 8 +#define RI_KEY_TERMSRV_SHADOW 0x10 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRAWHID { + DWORD dwSizeHid; + DWORD dwCount; + BYTE bRawData[1]; + } RAWHID,*PRAWHID,*LPRAWHID; + + typedef struct tagRAWINPUT { + RAWINPUTHEADER header; + union { + RAWMOUSE mouse; + RAWKEYBOARD keyboard; + RAWHID hid; + } data; + } RAWINPUT,*PRAWINPUT,*LPRAWINPUT; +#endif + +#ifdef _WIN64 +#define RAWINPUT_ALIGN(x) (((x) + sizeof(QWORD) - 1) & ~(sizeof(QWORD) - 1)) +#else +#define RAWINPUT_ALIGN(x) (((x) + sizeof(DWORD) - 1) & ~(sizeof(DWORD) - 1)) +#endif + +#define NEXTRAWINPUTBLOCK(ptr) ((PRAWINPUT)RAWINPUT_ALIGN((ULONG_PTR)((PBYTE)(ptr) + (ptr)->header.dwSize))) + +#define RID_INPUT 0x10000003 +#define RID_HEADER 0x10000005 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI UINT WINAPI GetRawInputData(HRAWINPUT hRawInput,UINT uiCommand,LPVOID pData,PUINT pcbSize,UINT cbSizeHeader); +#endif + +#define RIDI_PREPARSEDDATA 0x20000005 +#define RIDI_DEVICENAME 0x20000007 +#define RIDI_DEVICEINFO 0x2000000b + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRID_DEVICE_INFO_MOUSE { + DWORD dwId; + DWORD dwNumberOfButtons; + DWORD dwSampleRate; + WINBOOL fHasHorizontalWheel; + } RID_DEVICE_INFO_MOUSE,*PRID_DEVICE_INFO_MOUSE; + + typedef struct tagRID_DEVICE_INFO_KEYBOARD { + DWORD dwType; + DWORD dwSubType; + DWORD dwKeyboardMode; + DWORD dwNumberOfFunctionKeys; + DWORD dwNumberOfIndicators; + DWORD dwNumberOfKeysTotal; + } RID_DEVICE_INFO_KEYBOARD,*PRID_DEVICE_INFO_KEYBOARD; + + typedef struct tagRID_DEVICE_INFO_HID { + DWORD dwVendorId; + DWORD dwProductId; + DWORD dwVersionNumber; + USHORT usUsagePage; + USHORT usUsage; + } RID_DEVICE_INFO_HID,*PRID_DEVICE_INFO_HID; + + typedef struct tagRID_DEVICE_INFO { + DWORD cbSize; + DWORD dwType; + __C89_NAMELESS union { + RID_DEVICE_INFO_MOUSE mouse; + RID_DEVICE_INFO_KEYBOARD keyboard; + RID_DEVICE_INFO_HID hid; + } DUMMYUNIONNAME; + } RID_DEVICE_INFO,*PRID_DEVICE_INFO,*LPRID_DEVICE_INFO; + +#define GetRawInputDeviceInfo __MINGW_NAME_AW(GetRawInputDeviceInfo) + + WINUSERAPI UINT WINAPI GetRawInputDeviceInfoA(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize); + WINUSERAPI UINT WINAPI GetRawInputDeviceInfoW(HANDLE hDevice,UINT uiCommand,LPVOID pData,PUINT pcbSize); + WINUSERAPI UINT WINAPI GetRawInputBuffer(PRAWINPUT pData,PUINT pcbSize,UINT cbSizeHeader); + + typedef struct tagRAWINPUTDEVICE { + USHORT usUsagePage; + USHORT usUsage; + DWORD dwFlags; + HWND hwndTarget; + } RAWINPUTDEVICE,*PRAWINPUTDEVICE,*LPRAWINPUTDEVICE; + + typedef CONST RAWINPUTDEVICE *PCRAWINPUTDEVICE; +#endif + +#define RIDEV_REMOVE 0x00000001 +#define RIDEV_EXCLUDE 0x00000010 +#define RIDEV_PAGEONLY 0x00000020 +#define RIDEV_NOLEGACY 0x00000030 +#define RIDEV_INPUTSINK 0x00000100 +#define RIDEV_CAPTUREMOUSE 0x00000200 +#define RIDEV_NOHOTKEYS 0x00000200 +#define RIDEV_APPKEYS 0x00000400 +#define RIDEV_EXINPUTSINK 0x00001000 +#define RIDEV_DEVNOTIFY 0x00002000 + +#define RIDEV_EXMODEMASK 0x000000F0 +#define RIDEV_EXMODE(mode) ((mode) & RIDEV_EXMODEMASK) + +#define GIDC_ARRIVAL 1 +#define GIDC_REMOVAL 2 + +#if _WIN32_WINNT >= 0x0601 +#define GET_DEVICE_CHANGE_WPARAM(wParam) (LOWORD (wParam)) +#else +#define GET_DEVICE_CHANGE_LPARAM(lParam) (LOWORD (lParam)) +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagRAWINPUTDEVICELIST { + HANDLE hDevice; + DWORD dwType; + } RAWINPUTDEVICELIST,*PRAWINPUTDEVICELIST; + + WINUSERAPI WINBOOL WINAPI RegisterRawInputDevices (PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize); + WINUSERAPI UINT WINAPI GetRegisteredRawInputDevices (PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize); + WINUSERAPI UINT WINAPI GetRawInputDeviceList (PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize); + WINUSERAPI LRESULT WINAPI DefRawInputProc (PRAWINPUT *paRawInput, INT nInput, UINT cbSizeHeader); +#endif + +#if WINVER >= 0x0602 +#define POINTER_DEVICE_PRODUCT_STRING_MAX 520 +#define PDC_ARRIVAL 0x001 +#define PDC_REMOVAL 0x002 +#define PDC_ORIENTATION_0 0x004 +#define PDC_ORIENTATION_90 0x008 +#define PDC_ORIENTATION_180 0x010 +#define PDC_ORIENTATION_270 0x020 +#define PDC_MODE_DEFAULT 0x040 +#define PDC_MODE_CENTERED 0x080 +#define PDC_MAPPING_CHANGE 0x100 +#define PDC_RESOLUTION 0x200 +#define PDC_ORIGIN 0x400 +#define PDC_MODE_ASPECTRATIOPRESERVED 0x800 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef enum tagPOINTER_DEVICE_TYPE { + POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, + POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, + POINTER_DEVICE_TYPE_TOUCH = 0x00000003 +#if WINVER >= 0x0603 + ,POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004 +#endif + ,POINTER_DEVICE_TYPE_MAX = 0xffffffff + } POINTER_DEVICE_TYPE; + + typedef struct tagPOINTER_DEVICE_INFO { + DWORD displayOrientation; + HANDLE device; + POINTER_DEVICE_TYPE pointerDeviceType; + HMONITOR monitor; + ULONG startingCursorId; + USHORT maxActiveContacts; + WCHAR productString[POINTER_DEVICE_PRODUCT_STRING_MAX]; + } POINTER_DEVICE_INFO; + + typedef struct tagPOINTER_DEVICE_PROPERTY { + INT32 logicalMin; + INT32 logicalMax; + INT32 physicalMin; + INT32 physicalMax; + UINT32 unit; + UINT32 unitExponent; + USHORT usagePageId; + USHORT usageId; + } POINTER_DEVICE_PROPERTY; + + typedef enum tagPOINTER_DEVICE_CURSOR_TYPE { + POINTER_DEVICE_CURSOR_TYPE_UNKNOWN = 0x00000000, + POINTER_DEVICE_CURSOR_TYPE_TIP = 0x00000001, + POINTER_DEVICE_CURSOR_TYPE_ERASER = 0x00000002, + POINTER_DEVICE_CURSOR_TYPE_MAX = 0xffffffff + } POINTER_DEVICE_CURSOR_TYPE; + + typedef struct tagPOINTER_DEVICE_CURSOR_INFO { + UINT32 cursorId; + POINTER_DEVICE_CURSOR_TYPE cursor; + } POINTER_DEVICE_CURSOR_INFO; + + WINUSERAPI WINBOOL WINAPI GetPointerDevices (UINT32 *deviceCount, POINTER_DEVICE_INFO *pointerDevices); + WINUSERAPI WINBOOL WINAPI GetPointerDevice (HANDLE device, POINTER_DEVICE_INFO *pointerDevice); + WINUSERAPI WINBOOL WINAPI GetPointerDeviceProperties (HANDLE device, UINT32 *propertyCount, POINTER_DEVICE_PROPERTY *pointerProperties); + WINUSERAPI WINBOOL WINAPI RegisterPointerDeviceNotifications (HWND window, WINBOOL notifyRange); + WINUSERAPI WINBOOL WINAPI GetPointerDeviceRects (HANDLE device, RECT *pointerDeviceRect, RECT *displayRect); + WINUSERAPI WINBOOL WINAPI GetPointerDeviceCursors (HANDLE device, UINT32 *cursorCount, POINTER_DEVICE_CURSOR_INFO *deviceCursors); + WINUSERAPI WINBOOL WINAPI GetRawPointerDeviceData (UINT32 pointerId, UINT32 historyCount, UINT32 propertiesCount, POINTER_DEVICE_PROPERTY *pProperties, LONG *pValues); +#endif +#endif + +#if WINVER >= 0x0600 +#define MSGFLT_ADD 1 +#define MSGFLT_REMOVE 2 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI ChangeWindowMessageFilter (UINT message, DWORD dwFlag); +#endif +#endif +#if WINVER >= 0x0601 +#define MSGFLTINFO_NONE (0) +#define MSGFLTINFO_ALREADYALLOWED_FORWND (1) +#define MSGFLTINFO_ALREADYDISALLOWED_FORWND (2) +#define MSGFLTINFO_ALLOWED_HIGHER (3) + +#define MSGFLT_RESET (0) +#define MSGFLT_ALLOW (1) +#define MSGFLT_DISALLOW (2) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef struct tagCHANGEFILTERSTRUCT { + DWORD cbSize; + DWORD ExtStatus; + } CHANGEFILTERSTRUCT,*PCHANGEFILTERSTRUCT; + + WINUSERAPI WINBOOL WINAPI ChangeWindowMessageFilterEx (HWND hwnd, UINT message, DWORD action, PCHANGEFILTERSTRUCT pChangeFilterStruct); +#endif +#endif + +#if WINVER >= 0x0601 +#define GF_BEGIN 0x00000001 +#define GF_INERTIA 0x00000002 +#define GF_END 0x00000004 + +#define GID_BEGIN 1 +#define GID_END 2 +#define GID_ZOOM 3 +#define GID_PAN 4 +#define GID_ROTATE 5 +#define GID_TWOFINGERTAP 6 +#define GID_PRESSANDTAP 7 +#define GID_ROLLOVER GID_PRESSANDTAP + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + DECLARE_HANDLE (HGESTUREINFO); + + typedef struct tagGESTUREINFO { + UINT cbSize; + DWORD dwFlags; + DWORD dwID; + HWND hwndTarget; + POINTS ptsLocation; + DWORD dwInstanceID; + DWORD dwSequenceID; + ULONGLONG ullArguments; + UINT cbExtraArgs; + } GESTUREINFO,*PGESTUREINFO; + + typedef GESTUREINFO const *PCGESTUREINFO; + + typedef struct tagGESTURENOTIFYSTRUCT { + UINT cbSize; + DWORD dwFlags; + HWND hwndTarget; + POINTS ptsLocation; + DWORD dwInstanceID; + } GESTURENOTIFYSTRUCT,*PGESTURENOTIFYSTRUCT; + +#define GID_ROTATE_ANGLE_TO_ARGUMENT(_arg_) ((USHORT) ((((_arg_) + 2.0 *3.14159265) / (4.0 *3.14159265)) *65535.0)) +#define GID_ROTATE_ANGLE_FROM_ARGUMENT(_arg_) ((((double) (_arg_) / 65535.0) *4.0 *3.14159265) - 2.0 *3.14159265) + + WINUSERAPI WINBOOL WINAPI GetGestureInfo (HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo); + WINUSERAPI WINBOOL WINAPI GetGestureExtraArgs (HGESTUREINFO hGestureInfo, UINT cbExtraArgs, PBYTE pExtraArgs); + WINUSERAPI WINBOOL WINAPI CloseGestureInfoHandle (HGESTUREINFO hGestureInfo); + + typedef struct tagGESTURECONFIG { + DWORD dwID; + DWORD dwWant; + DWORD dwBlock; + } GESTURECONFIG,*PGESTURECONFIG; +#endif + +#define GC_ALLGESTURES 0x00000001 +#define GC_ZOOM 0x00000001 + +#define GC_PAN 0x00000001 +#define GC_PAN_WITH_SINGLE_FINGER_VERTICALLY 0x00000002 +#define GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY 0x00000004 +#define GC_PAN_WITH_GUTTER 0x00000008 +#define GC_PAN_WITH_INERTIA 0x00000010 + +#define GC_ROTATE 0x00000001 +#define GC_TWOFINGERTAP 0x00000001 +#define GC_PRESSANDTAP 0x00000001 +#define GC_ROLLOVER GC_PRESSANDTAP + +#define GESTURECONFIGMAXCOUNT 256 + +#define GCF_INCLUDE_ANCESTORS 0x00000001 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI SetGestureConfig (HWND hwnd, DWORD dwReserved, UINT cIDs, PGESTURECONFIG pGestureConfig, UINT cbSize); + WINUSERAPI WINBOOL WINAPI GetGestureConfig (HWND hwnd, DWORD dwReserved, DWORD dwFlags, PUINT pcIDs, PGESTURECONFIG pGestureConfig, UINT cbSize); +#endif +#endif + +#if WINVER >= 0x0601 +#define NID_INTEGRATED_TOUCH 0x00000001 +#define NID_EXTERNAL_TOUCH 0x00000002 +#define NID_INTEGRATED_PEN 0x00000004 +#define NID_EXTERNAL_PEN 0x00000008 +#define NID_MULTI_INPUT 0x00000040 +#define NID_READY 0x00000080 +#endif + +#define MAX_STR_BLOCKREASON 256 + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonCreate (HWND hWnd, LPCWSTR pwszReason); + WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonQuery (HWND hWnd, LPWSTR pwszBuff, DWORD *pcchBuff); + WINUSERAPI WINBOOL WINAPI ShutdownBlockReasonDestroy (HWND hWnd); + +#if WINVER >= 0x0601 + typedef enum tagINPUT_MESSAGE_DEVICE_TYPE { + IMDT_UNAVAILABLE = 0x00000000, + IMDT_KEYBOARD = 0x00000001, + IMDT_MOUSE = 0x00000002, + IMDT_TOUCH = 0x00000004, + IMDT_PEN = 0x00000008 +#if WINVER >= 0x0603 + ,IMDT_TOUCHPAD = 0x00000010 +#endif + } INPUT_MESSAGE_DEVICE_TYPE; + + typedef enum tagINPUT_MESSAGE_ORIGIN_ID { + IMO_UNAVAILABLE = 0x00000000, + IMO_HARDWARE = 0x00000001, + IMO_INJECTED = 0x00000002, + IMO_SYSTEM = 0x00000004, + } INPUT_MESSAGE_ORIGIN_ID; + + typedef struct tagINPUT_MESSAGE_SOURCE { + INPUT_MESSAGE_DEVICE_TYPE deviceType; + INPUT_MESSAGE_ORIGIN_ID originId; + } INPUT_MESSAGE_SOURCE; + + WINUSERAPI WINBOOL WINAPI GetCurrentInputMessageSource (INPUT_MESSAGE_SOURCE *inputMessageSource); + WINUSERAPI WINBOOL WINAPI GetCIMSSM (INPUT_MESSAGE_SOURCE *inputMessageSource); +#endif +#endif + +#if WINVER >= 0x0601 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + typedef enum tagAR_STATE { + AR_ENABLED = 0x0, + AR_DISABLED = 0x1, + AR_SUPPRESSED = 0x2, + AR_REMOTESESSION = 0x4, + AR_MULTIMON = 0x8, + AR_NOSENSOR = 0x10, + AR_NOT_SUPPORTED = 0x20, + AR_DOCKED = 0x40, + AR_LAPTOP = 0x80 + } AR_STATE,*PAR_STATE; +#endif + +#ifndef __WIDL__ + DEFINE_ENUM_FLAG_OPERATORS (AR_STATE); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + typedef enum ORIENTATION_PREFERENCE { + ORIENTATION_PREFERENCE_NONE = 0x0, + ORIENTATION_PREFERENCE_LANDSCAPE = 0x1, + ORIENTATION_PREFERENCE_PORTRAIT = 0x2, + ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4, + ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8 + } ORIENTATION_PREFERENCE; + +#ifndef __WIDL__ + DEFINE_ENUM_FLAG_OPERATORS (ORIENTATION_PREFERENCE); +#endif + + WINUSERAPI WINBOOL WINAPI GetAutoRotationState (PAR_STATE pState); + WINUSERAPI WINBOOL WINAPI GetDisplayAutoRotationPreferences (ORIENTATION_PREFERENCE *pOrientation); + WINUSERAPI WINBOOL WINAPI GetDisplayAutoRotationPreferencesByProcessId (DWORD dwProcessId, ORIENTATION_PREFERENCE *pOrientation, WINBOOL *fRotateScreen); + WINUSERAPI WINBOOL WINAPI SetDisplayAutoRotationPreferences (ORIENTATION_PREFERENCE orientation); +#endif +#endif + +#if WINVER >= 0x0601 +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINUSERAPI WINBOOL WINAPI IsImmersiveProcess (HANDLE hProcess); + WINUSERAPI WINBOOL WINAPI SetProcessRestrictionExemption (WINBOOL fEnableExemption); +#endif +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) +#if (_WIN32_WINNT >= 0x0602) +/* Does this belongs here? */ +typedef struct tagINPUT_TRANSFORM { + __C89_NAMELESS union { + __C89_NAMELESS struct { + float _11; + float _12; + float _13; + float _14; + float _21; + float _22; + float _23; + float _24; + float _31; + float _32; + float _33; + float _34; + float _41; + float _42; + float _43; + float _44; + }; + float m[4][4]; + }; +} INPUT_TRANSFORM; + +/* Do these functions belong here? */ +WINUSERAPI WINBOOL WINAPI GetPointerInputTransform(UINT32 pointerId, UINT32 historyCount, UINT32 *inputTransform); +WINUSERAPI WINBOOL WINAPI IsMousePointerEnabled(void); +#endif /*(_WIN32_WINNT >= 0x0602)*/ +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.rh b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.rh new file mode 100644 index 00000000..28e680e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winuser.rh @@ -0,0 +1,1135 @@ +/** + * 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 RT_MANIFEST 24 +#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1 +#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID 2 +#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID 3 +#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID 1 +#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID 16 + +#define SW_HIDE 0 +#define SW_SHOWNORMAL 1 +#define SW_NORMAL 1 +#define SW_SHOWMINIMIZED 2 +#define SW_SHOWMAXIMIZED 3 +#define SW_MAXIMIZE 3 +#define SW_SHOWNOACTIVATE 4 +#define SW_SHOW 5 +#define SW_MINIMIZE 6 +#define SW_SHOWMINNOACTIVE 7 +#define SW_SHOWNA 8 +#define SW_RESTORE 9 +#define SW_SHOWDEFAULT 10 +#define SW_FORCEMINIMIZE 11 +#define SW_MAX 11 + +#define HIDE_WINDOW 0 +#define SHOW_OPENWINDOW 1 +#define SHOW_ICONWINDOW 2 +#define SHOW_FULLSCREEN 3 +#define SHOW_OPENNOACTIVATE 4 + +#define SW_PARENTCLOSING 1 +#define SW_OTHERZOOM 2 +#define SW_PARENTOPENING 3 +#define SW_OTHERUNZOOM 4 + +#define VK_LBUTTON 0x01 +#define VK_RBUTTON 0x02 +#define VK_CANCEL 0x03 +#define VK_MBUTTON 0x04 +#define VK_XBUTTON1 0x05 +#define VK_XBUTTON2 0x06 +#define VK_BACK 0x08 +#define VK_TAB 0x09 +#define VK_CLEAR 0x0C +#define VK_RETURN 0x0D + +#define VK_SHIFT 0x10 +#define VK_CONTROL 0x11 +#define VK_MENU 0x12 +#define VK_PAUSE 0x13 +#define VK_CAPITAL 0x14 + +#define VK_KANA 0x15 +#define VK_HANGEUL 0x15 +#define VK_HANGUL 0x15 +#define VK_JUNJA 0x17 +#define VK_FINAL 0x18 +#define VK_HANJA 0x19 +#define VK_KANJI 0x19 + +#define VK_ESCAPE 0x1B + +#define VK_CONVERT 0x1C +#define VK_NONCONVERT 0x1D +#define VK_ACCEPT 0x1E +#define VK_MODECHANGE 0x1F + +#define VK_SPACE 0x20 +#define VK_PRIOR 0x21 +#define VK_NEXT 0x22 +#define VK_END 0x23 +#define VK_HOME 0x24 +#define VK_LEFT 0x25 +#define VK_UP 0x26 +#define VK_RIGHT 0x27 +#define VK_DOWN 0x28 +#define VK_SELECT 0x29 +#define VK_PRINT 0x2A +#define VK_EXECUTE 0x2B +#define VK_SNAPSHOT 0x2C +#define VK_INSERT 0x2D +#define VK_DELETE 0x2E +#define VK_HELP 0x2F + +#define VK_LWIN 0x5B +#define VK_RWIN 0x5C +#define VK_APPS 0x5D + +#define VK_SLEEP 0x5F + +#define VK_NUMPAD0 0x60 +#define VK_NUMPAD1 0x61 +#define VK_NUMPAD2 0x62 +#define VK_NUMPAD3 0x63 +#define VK_NUMPAD4 0x64 +#define VK_NUMPAD5 0x65 +#define VK_NUMPAD6 0x66 +#define VK_NUMPAD7 0x67 +#define VK_NUMPAD8 0x68 +#define VK_NUMPAD9 0x69 +#define VK_MULTIPLY 0x6A +#define VK_ADD 0x6B +#define VK_SEPARATOR 0x6C +#define VK_SUBTRACT 0x6D +#define VK_DECIMAL 0x6E +#define VK_DIVIDE 0x6F +#define VK_F1 0x70 +#define VK_F2 0x71 +#define VK_F3 0x72 +#define VK_F4 0x73 +#define VK_F5 0x74 +#define VK_F6 0x75 +#define VK_F7 0x76 +#define VK_F8 0x77 +#define VK_F9 0x78 +#define VK_F10 0x79 +#define VK_F11 0x7A +#define VK_F12 0x7B +#define VK_F13 0x7C +#define VK_F14 0x7D +#define VK_F15 0x7E +#define VK_F16 0x7F +#define VK_F17 0x80 +#define VK_F18 0x81 +#define VK_F19 0x82 +#define VK_F20 0x83 +#define VK_F21 0x84 +#define VK_F22 0x85 +#define VK_F23 0x86 +#define VK_F24 0x87 + +#define VK_NUMLOCK 0x90 +#define VK_SCROLL 0x91 + +#define VK_OEM_NEC_EQUAL 0x92 + +#define VK_OEM_FJ_JISHO 0x92 +#define VK_OEM_FJ_MASSHOU 0x93 +#define VK_OEM_FJ_TOUROKU 0x94 +#define VK_OEM_FJ_LOYA 0x95 +#define VK_OEM_FJ_ROYA 0x96 + +#define VK_LSHIFT 0xA0 +#define VK_RSHIFT 0xA1 +#define VK_LCONTROL 0xA2 +#define VK_RCONTROL 0xA3 +#define VK_LMENU 0xA4 +#define VK_RMENU 0xA5 + +#define VK_BROWSER_BACK 0xA6 +#define VK_BROWSER_FORWARD 0xA7 +#define VK_BROWSER_REFRESH 0xA8 +#define VK_BROWSER_STOP 0xA9 +#define VK_BROWSER_SEARCH 0xAA +#define VK_BROWSER_FAVORITES 0xAB +#define VK_BROWSER_HOME 0xAC + +#define VK_VOLUME_MUTE 0xAD +#define VK_VOLUME_DOWN 0xAE +#define VK_VOLUME_UP 0xAF +#define VK_MEDIA_NEXT_TRACK 0xB0 +#define VK_MEDIA_PREV_TRACK 0xB1 +#define VK_MEDIA_STOP 0xB2 +#define VK_MEDIA_PLAY_PAUSE 0xB3 +#define VK_LAUNCH_MAIL 0xB4 +#define VK_LAUNCH_MEDIA_SELECT 0xB5 +#define VK_LAUNCH_APP1 0xB6 +#define VK_LAUNCH_APP2 0xB7 + +#define VK_OEM_1 0xBA +#define VK_OEM_PLUS 0xBB +#define VK_OEM_COMMA 0xBC +#define VK_OEM_MINUS 0xBD +#define VK_OEM_PERIOD 0xBE +#define VK_OEM_2 0xBF +#define VK_OEM_3 0xC0 + +#define VK_OEM_4 0xDB +#define VK_OEM_5 0xDC +#define VK_OEM_6 0xDD +#define VK_OEM_7 0xDE +#define VK_OEM_8 0xDF + +#define VK_OEM_AX 0xE1 +#define VK_OEM_102 0xE2 +#define VK_ICO_HELP 0xE3 +#define VK_ICO_00 0xE4 +#define VK_PROCESSKEY 0xE5 +#define VK_ICO_CLEAR 0xE6 + +#define VK_PACKET 0xE7 + +#define VK_OEM_RESET 0xE9 +#define VK_OEM_JUMP 0xEA +#define VK_OEM_PA1 0xEB +#define VK_OEM_PA2 0xEC +#define VK_OEM_PA3 0xED +#define VK_OEM_WSCTRL 0xEE +#define VK_OEM_CUSEL 0xEF +#define VK_OEM_ATTN 0xF0 +#define VK_OEM_FINISH 0xF1 +#define VK_OEM_COPY 0xF2 +#define VK_OEM_AUTO 0xF3 +#define VK_OEM_ENLW 0xF4 +#define VK_OEM_BACKTAB 0xF5 + +#define VK_ATTN 0xF6 +#define VK_CRSEL 0xF7 +#define VK_EXSEL 0xF8 +#define VK_EREOF 0xF9 +#define VK_PLAY 0xFA +#define VK_ZOOM 0xFB +#define VK_NONAME 0xFC +#define VK_PA1 0xFD +#define VK_OEM_CLEAR 0xFE + +#define WM_NULL 0x0000 +#define WM_CREATE 0x0001 +#define WM_DESTROY 0x0002 +#define WM_MOVE 0x0003 +#define WM_SIZE 0x0005 + +#define WM_ACTIVATE 0x0006 + +#define WA_INACTIVE 0 +#define WA_ACTIVE 1 +#define WA_CLICKACTIVE 2 + +#define WM_SETFOCUS 0x0007 +#define WM_KILLFOCUS 0x0008 +#define WM_ENABLE 0x000A +#define WM_SETREDRAW 0x000B +#define WM_SETTEXT 0x000C +#define WM_GETTEXT 0x000D +#define WM_GETTEXTLENGTH 0x000E +#define WM_PAINT 0x000F +#define WM_CLOSE 0x0010 +#ifndef _WIN32_WCE +#define WM_QUERYENDSESSION 0x0011 +#define WM_QUERYOPEN 0x0013 +#define WM_ENDSESSION 0x0016 +#endif +#define WM_QUIT 0x0012 +#define WM_ERASEBKGND 0x0014 +#define WM_SYSCOLORCHANGE 0x0015 +#define WM_SHOWWINDOW 0x0018 +#define WM_WININICHANGE 0x001A +#define WM_SETTINGCHANGE WM_WININICHANGE + +#define WM_DEVMODECHANGE 0x001B +#define WM_ACTIVATEAPP 0x001C +#define WM_FONTCHANGE 0x001D +#define WM_TIMECHANGE 0x001E +#define WM_CANCELMODE 0x001F +#define WM_SETCURSOR 0x0020 +#define WM_MOUSEACTIVATE 0x0021 +#define WM_CHILDACTIVATE 0x0022 +#define WM_QUEUESYNC 0x0023 + +#define WM_GETMINMAXINFO 0x0024 +#define WM_PAINTICON 0x0026 +#define WM_ICONERASEBKGND 0x0027 +#define WM_NEXTDLGCTL 0x0028 +#define WM_SPOOLERSTATUS 0x002A +#define WM_DRAWITEM 0x002B +#define WM_MEASUREITEM 0x002C +#define WM_DELETEITEM 0x002D +#define WM_VKEYTOITEM 0x002E +#define WM_CHARTOITEM 0x002F +#define WM_SETFONT 0x0030 +#define WM_GETFONT 0x0031 +#define WM_SETHOTKEY 0x0032 +#define WM_GETHOTKEY 0x0033 +#define WM_QUERYDRAGICON 0x0037 +#define WM_COMPAREITEM 0x0039 +#ifndef _WIN32_WCE +#define WM_GETOBJECT 0x003D +#endif +#define WM_COMPACTING 0x0041 +#define WM_COMMNOTIFY 0x0044 +#define WM_WINDOWPOSCHANGING 0x0046 +#define WM_WINDOWPOSCHANGED 0x0047 + +#define WM_POWER 0x0048 + +#define PWR_OK 1 +#define PWR_FAIL (-1) +#define PWR_SUSPENDREQUEST 1 +#define PWR_SUSPENDRESUME 2 +#define PWR_CRITICALRESUME 3 + +#define WM_COPYDATA 0x004A +#define WM_CANCELJOURNAL 0x004B + +#define WM_NOTIFY 0x004E +#define WM_INPUTLANGCHANGEREQUEST 0x0050 +#define WM_INPUTLANGCHANGE 0x0051 +#define WM_TCARD 0x0052 +#define WM_HELP 0x0053 +#define WM_USERCHANGED 0x0054 +#define WM_NOTIFYFORMAT 0x0055 + +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 + +#define WM_CONTEXTMENU 0x007B +#define WM_STYLECHANGING 0x007C +#define WM_STYLECHANGED 0x007D +#define WM_DISPLAYCHANGE 0x007E +#define WM_GETICON 0x007F +#define WM_SETICON 0x0080 + +#define WM_NCCREATE 0x0081 +#define WM_NCDESTROY 0x0082 +#define WM_NCCALCSIZE 0x0083 +#define WM_NCHITTEST 0x0084 +#define WM_NCPAINT 0x0085 +#define WM_NCACTIVATE 0x0086 +#define WM_GETDLGCODE 0x0087 +#ifndef _WIN32_WCE +#define WM_SYNCPAINT 0x0088 +#endif +#define WM_NCMOUSEMOVE 0x00A0 +#define WM_NCLBUTTONDOWN 0x00A1 +#define WM_NCLBUTTONUP 0x00A2 +#define WM_NCLBUTTONDBLCLK 0x00A3 +#define WM_NCRBUTTONDOWN 0x00A4 +#define WM_NCRBUTTONUP 0x00A5 +#define WM_NCRBUTTONDBLCLK 0x00A6 +#define WM_NCMBUTTONDOWN 0x00A7 +#define WM_NCMBUTTONUP 0x00A8 +#define WM_NCMBUTTONDBLCLK 0x00A9 + +#define WM_NCXBUTTONDOWN 0x00AB +#define WM_NCXBUTTONUP 0x00AC +#define WM_NCXBUTTONDBLCLK 0x00AD +#define WM_INPUT 0x00FF +#define WM_KEYFIRST 0x0100 +#define WM_KEYDOWN 0x0100 +#define WM_KEYUP 0x0101 +#define WM_CHAR 0x0102 +#define WM_DEADCHAR 0x0103 +#define WM_SYSKEYDOWN 0x0104 +#define WM_SYSKEYUP 0x0105 +#define WM_SYSCHAR 0x0106 +#define WM_SYSDEADCHAR 0x0107 +#define WM_UNICHAR 0x0109 +#define WM_KEYLAST 0x0109 +#define UNICODE_NOCHAR 0xFFFF + +#define WM_IME_STARTCOMPOSITION 0x010D +#define WM_IME_ENDCOMPOSITION 0x010E +#define WM_IME_COMPOSITION 0x010F +#define WM_IME_KEYLAST 0x010F +#define WM_INITDIALOG 0x0110 +#define WM_COMMAND 0x0111 +#define WM_SYSCOMMAND 0x0112 +#define WM_TIMER 0x0113 +#define WM_HSCROLL 0x0114 +#define WM_VSCROLL 0x0115 +#define WM_INITMENU 0x0116 +#define WM_INITMENUPOPUP 0x0117 +#define WM_MENUSELECT 0x011F +#define WM_MENUCHAR 0x0120 +#define WM_ENTERIDLE 0x0121 +#ifndef _WIN32_WCE +#define WM_MENURBUTTONUP 0x0122 +#define WM_MENUDRAG 0x0123 +#define WM_MENUGETOBJECT 0x0124 +#define WM_UNINITMENUPOPUP 0x0125 +#define WM_MENUCOMMAND 0x0126 + +#ifndef _WIN32_WCE +#define WM_CHANGEUISTATE 0x0127 +#define WM_UPDATEUISTATE 0x0128 +#define WM_QUERYUISTATE 0x0129 + +#define UIS_SET 1 +#define UIS_CLEAR 2 +#define UIS_INITIALIZE 3 + +#define UISF_HIDEFOCUS 0x1 +#define UISF_HIDEACCEL 0x2 +#define UISF_ACTIVE 0x4 +#endif +#endif + +#define WM_CTLCOLORMSGBOX 0x0132 +#define WM_CTLCOLOREDIT 0x0133 +#define WM_CTLCOLORLISTBOX 0x0134 +#define WM_CTLCOLORBTN 0x0135 +#define WM_CTLCOLORDLG 0x0136 +#define WM_CTLCOLORSCROLLBAR 0x0137 +#define WM_CTLCOLORSTATIC 0x0138 +#define MN_GETHMENU 0x01E1 + +#define WM_MOUSEFIRST 0x0200 +#define WM_MOUSEMOVE 0x0200 +#define WM_LBUTTONDOWN 0x0201 +#define WM_LBUTTONUP 0x0202 +#define WM_LBUTTONDBLCLK 0x0203 +#define WM_RBUTTONDOWN 0x0204 +#define WM_RBUTTONUP 0x0205 +#define WM_RBUTTONDBLCLK 0x0206 +#define WM_MBUTTONDOWN 0x0207 +#define WM_MBUTTONUP 0x0208 +#define WM_MBUTTONDBLCLK 0x0209 +#define WM_MOUSEWHEEL 0x020A +#define WM_XBUTTONDOWN 0x020B +#define WM_XBUTTONUP 0x020C +#define WM_XBUTTONDBLCLK 0x020D +#define WM_MOUSELAST 0x020D +#define WHEEL_DELTA 120 +#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) + +#define WHEEL_PAGESCROLL (UINT_MAX) + +#define GET_KEYSTATE_WPARAM(wParam) (LOWORD(wParam)) +#define GET_NCHITTEST_WPARAM(wParam) ((short)LOWORD(wParam)) +#define GET_XBUTTON_WPARAM(wParam) (HIWORD(wParam)) + +#define XBUTTON1 0x0001 +#define XBUTTON2 0x0002 + +#define WM_PARENTNOTIFY 0x0210 +#define WM_ENTERMENULOOP 0x0211 +#define WM_EXITMENULOOP 0x0212 + +#define WM_NEXTMENU 0x0213 +#define WM_SIZING 0x0214 +#define WM_CAPTURECHANGED 0x0215 +#define WM_MOVING 0x0216 +#define WM_POWERBROADCAST 0x0218 +#define WM_DEVICECHANGE 0x0219 +#define WM_MDICREATE 0x0220 +#define WM_MDIDESTROY 0x0221 +#define WM_MDIACTIVATE 0x0222 +#define WM_MDIRESTORE 0x0223 +#define WM_MDINEXT 0x0224 +#define WM_MDIMAXIMIZE 0x0225 +#define WM_MDITILE 0x0226 +#define WM_MDICASCADE 0x0227 +#define WM_MDIICONARRANGE 0x0228 +#define WM_MDIGETACTIVE 0x0229 + +#define WM_MDISETMENU 0x0230 +#define WM_ENTERSIZEMOVE 0x0231 +#define WM_EXITSIZEMOVE 0x0232 +#define WM_DROPFILES 0x0233 +#define WM_MDIREFRESHMENU 0x0234 + +#define WM_IME_SETCONTEXT 0x0281 +#define WM_IME_NOTIFY 0x0282 +#define WM_IME_CONTROL 0x0283 +#define WM_IME_COMPOSITIONFULL 0x0284 +#define WM_IME_SELECT 0x0285 +#define WM_IME_CHAR 0x0286 +#define WM_IME_REQUEST 0x0288 +#define WM_IME_KEYDOWN 0x0290 +#define WM_IME_KEYUP 0x0291 + +#define WM_MOUSEHOVER 0x02A1 +#define WM_MOUSELEAVE 0x02A3 +#define WM_NCMOUSEHOVER 0x02A0 +#define WM_NCMOUSELEAVE 0x02A2 + +#define WM_WTSSESSION_CHANGE 0x02B1 + +#define WM_TABLET_FIRST 0x02c0 +#define WM_TABLET_LAST 0x02df +#define WM_CUT 0x0300 +#define WM_COPY 0x0301 +#define WM_PASTE 0x0302 +#define WM_CLEAR 0x0303 +#define WM_UNDO 0x0304 +#define WM_RENDERFORMAT 0x0305 +#define WM_RENDERALLFORMATS 0x0306 +#define WM_DESTROYCLIPBOARD 0x0307 +#define WM_DRAWCLIPBOARD 0x0308 +#define WM_PAINTCLIPBOARD 0x0309 +#define WM_VSCROLLCLIPBOARD 0x030A +#define WM_SIZECLIPBOARD 0x030B +#define WM_ASKCBFORMATNAME 0x030C +#define WM_CHANGECBCHAIN 0x030D +#define WM_HSCROLLCLIPBOARD 0x030E +#define WM_QUERYNEWPALETTE 0x030F +#define WM_PALETTEISCHANGING 0x0310 +#define WM_PALETTECHANGED 0x0311 +#define WM_HOTKEY 0x0312 + +#define WM_PRINT 0x0317 +#define WM_PRINTCLIENT 0x0318 + +#define WM_APPCOMMAND 0x0319 +#define WM_THEMECHANGED 0x031A +#define WM_HANDHELDFIRST 0x0358 +#define WM_HANDHELDLAST 0x035F +#define WM_AFXFIRST 0x0360 +#define WM_AFXLAST 0x037F +#define WM_PENWINFIRST 0x0380 +#define WM_PENWINLAST 0x038F +#define WM_APP 0x8000 +#define WM_USER 0x0400 + +#define WMSZ_LEFT 1 +#define WMSZ_RIGHT 2 +#define WMSZ_TOP 3 +#define WMSZ_TOPLEFT 4 +#define WMSZ_TOPRIGHT 5 +#define WMSZ_BOTTOM 6 +#define WMSZ_BOTTOMLEFT 7 +#define WMSZ_BOTTOMRIGHT 8 + +#ifndef NONCMESSAGES + +#define HTERROR (-2) +#define HTTRANSPARENT (-1) +#define HTNOWHERE 0 +#define HTCLIENT 1 +#define HTCAPTION 2 +#define HTSYSMENU 3 +#define HTGROWBOX 4 +#define HTSIZE HTGROWBOX +#define HTMENU 5 +#define HTHSCROLL 6 +#define HTVSCROLL 7 +#define HTMINBUTTON 8 +#define HTMAXBUTTON 9 +#define HTLEFT 10 +#define HTRIGHT 11 +#define HTTOP 12 +#define HTTOPLEFT 13 +#define HTTOPRIGHT 14 +#define HTBOTTOM 15 +#define HTBOTTOMLEFT 16 +#define HTBOTTOMRIGHT 17 +#define HTBORDER 18 +#define HTREDUCE HTMINBUTTON +#define HTZOOM HTMAXBUTTON +#define HTSIZEFIRST HTLEFT +#define HTSIZELAST HTBOTTOMRIGHT +#define HTOBJECT 19 +#define HTCLOSE 20 +#define HTHELP 21 + +#define SMTO_NORMAL 0x0000 +#define SMTO_BLOCK 0x0001 +#define SMTO_ABORTIFHUNG 0x0002 +#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008 +#endif + +#define MA_ACTIVATE 1 +#define MA_ACTIVATEANDEAT 2 +#define MA_NOACTIVATE 3 +#define MA_NOACTIVATEANDEAT 4 + +#define ICON_SMALL 0 +#define ICON_BIG 1 +#define ICON_SMALL2 2 +#define SIZE_RESTORED 0 +#define SIZE_MINIMIZED 1 +#define SIZE_MAXIMIZED 2 +#define SIZE_MAXSHOW 3 +#define SIZE_MAXHIDE 4 + +#define SIZENORMAL SIZE_RESTORED +#define SIZEICONIC SIZE_MINIMIZED +#define SIZEFULLSCREEN SIZE_MAXIMIZED +#define SIZEZOOMSHOW SIZE_MAXSHOW +#define SIZEZOOMHIDE SIZE_MAXHIDE + +#define WVR_ALIGNTOP 0x0010 +#define WVR_ALIGNLEFT 0x0020 +#define WVR_ALIGNBOTTOM 0x0040 +#define WVR_ALIGNRIGHT 0x0080 +#define WVR_HREDRAW 0x0100 +#define WVR_VREDRAW 0x0200 +#define WVR_REDRAW (WVR_HREDRAW | WVR_VREDRAW) +#define WVR_VALIDRECTS 0x0400 + +#ifndef NOKEYSTATES + +#define MK_LBUTTON 0x0001 +#define MK_RBUTTON 0x0002 +#define MK_SHIFT 0x0004 +#define MK_CONTROL 0x0008 +#define MK_MBUTTON 0x0010 +#define MK_XBUTTON1 0x0020 +#define MK_XBUTTON2 0x0040 +#endif + +#ifndef NOTRACKMOUSEEVENT +#define TME_HOVER 0x00000001 +#define TME_LEAVE 0x00000002 +#define TME_NONCLIENT 0x00000010 +#define TME_QUERY 0x40000000 +#define TME_CANCEL 0x80000000 + +#define HOVER_DEFAULT 0xFFFFFFFF +#endif + +#define WS_OVERLAPPED 0x00000000L +#define WS_POPUP 0x80000000L +#define WS_CHILD 0x40000000L +#define WS_MINIMIZE 0x20000000L +#define WS_VISIBLE 0x10000000L +#define WS_DISABLED 0x08000000L +#define WS_CLIPSIBLINGS 0x04000000L +#define WS_CLIPCHILDREN 0x02000000L +#define WS_MAXIMIZE 0x01000000L +#define WS_CAPTION 0x00C00000L +#define WS_BORDER 0x00800000L +#define WS_DLGFRAME 0x00400000L +#define WS_VSCROLL 0x00200000L +#define WS_HSCROLL 0x00100000L +#define WS_SYSMENU 0x00080000L +#define WS_THICKFRAME 0x00040000L +#define WS_GROUP 0x00020000L +#define WS_TABSTOP 0x00010000L + +#define WS_MINIMIZEBOX 0x00020000L +#define WS_MAXIMIZEBOX 0x00010000L + +#define WS_TILED WS_OVERLAPPED +#define WS_ICONIC WS_MINIMIZE +#define WS_SIZEBOX WS_THICKFRAME +#define WS_TILEDWINDOW WS_OVERLAPPEDWINDOW + +#define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX) + +#define WS_POPUPWINDOW (WS_POPUP | WS_BORDER | WS_SYSMENU) + +#define WS_CHILDWINDOW (WS_CHILD) + +#define WS_EX_DLGMODALFRAME 0x00000001L +#define WS_EX_NOPARENTNOTIFY 0x00000004L +#define WS_EX_TOPMOST 0x00000008L +#define WS_EX_ACCEPTFILES 0x00000010L +#define WS_EX_TRANSPARENT 0x00000020L +#define WS_EX_MDICHILD 0x00000040L +#define WS_EX_TOOLWINDOW 0x00000080L +#define WS_EX_WINDOWEDGE 0x00000100L +#define WS_EX_CLIENTEDGE 0x00000200L +#define WS_EX_CONTEXTHELP 0x00000400L +#define WS_EX_RIGHT 0x00001000L +#define WS_EX_LEFT 0x00000000L +#define WS_EX_RTLREADING 0x00002000L +#define WS_EX_LTRREADING 0x00000000L +#define WS_EX_LEFTSCROLLBAR 0x00004000L +#define WS_EX_RIGHTSCROLLBAR 0x00000000L + +#define WS_EX_CONTROLPARENT 0x00010000L +#define WS_EX_STATICEDGE 0x00020000L +#define WS_EX_APPWINDOW 0x00040000L + +#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE) +#define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST) +#define WS_EX_LAYERED 0x00080000 +#define WS_EX_NOINHERITLAYOUT 0x00100000L +#define WS_EX_LAYOUTRTL 0x00400000L +#define WS_EX_COMPOSITED 0x02000000L +#define WS_EX_NOACTIVATE 0x08000000L + +#define CS_VREDRAW 0x0001 +#define CS_HREDRAW 0x0002 +#define CS_DBLCLKS 0x0008 +#define CS_OWNDC 0x0020 +#define CS_CLASSDC 0x0040 +#define CS_PARENTDC 0x0080 +#define CS_NOCLOSE 0x0200 +#define CS_SAVEBITS 0x0800 +#define CS_BYTEALIGNCLIENT 0x1000 +#define CS_BYTEALIGNWINDOW 0x2000 +#define CS_GLOBALCLASS 0x4000 +#define CS_IME 0x00010000 +#define CS_DROPSHADOW 0x00020000 + +#define CF_TEXT 1 +#define CF_BITMAP 2 +#define CF_METAFILEPICT 3 +#define CF_SYLK 4 +#define CF_DIF 5 +#define CF_TIFF 6 +#define CF_OEMTEXT 7 +#define CF_DIB 8 +#define CF_PALETTE 9 +#define CF_PENDATA 10 +#define CF_RIFF 11 +#define CF_WAVE 12 +#define CF_UNICODETEXT 13 +#define CF_ENHMETAFILE 14 +#define CF_HDROP 15 +#define CF_LOCALE 16 +#define CF_DIBV5 17 + +#define CF_MAX 18 + +#define CF_OWNERDISPLAY 0x0080 +#define CF_DSPTEXT 0x0081 +#define CF_DSPBITMAP 0x0082 +#define CF_DSPMETAFILEPICT 0x0083 +#define CF_DSPENHMETAFILE 0x008E + +#define CF_PRIVATEFIRST 0x0200 +#define CF_PRIVATELAST 0x02FF + +#define CF_GDIOBJFIRST 0x0300 +#define CF_GDIOBJLAST 0x03FF + +#define MF_INSERT 0x00000000L +#define MF_CHANGE 0x00000080L +#define MF_APPEND 0x00000100L +#define MF_DELETE 0x00000200L +#define MF_REMOVE 0x00001000L + +#define MF_BYCOMMAND 0x00000000L +#define MF_BYPOSITION 0x00000400L + +#define MF_SEPARATOR 0x00000800L + +#define MF_ENABLED 0x00000000L +#define MF_GRAYED 0x00000001L +#define MF_DISABLED 0x00000002L + +#define MF_UNCHECKED 0x00000000L +#define MF_CHECKED 0x00000008L +#define MF_USECHECKBITMAPS 0x00000200L + +#define MF_STRING 0x00000000L +#define MF_BITMAP 0x00000004L +#define MF_OWNERDRAW 0x00000100L + +#define MF_POPUP 0x00000010L +#define MF_MENUBARBREAK 0x00000020L +#define MF_MENUBREAK 0x00000040L + +#define MF_UNHILITE 0x00000000L +#define MF_HILITE 0x00000080L + +#define MF_DEFAULT 0x00001000L +#define MF_SYSMENU 0x00002000L +#define MF_HELP 0x00004000L +#define MF_RIGHTJUSTIFY 0x00004000L +#define MF_MOUSESELECT 0x00008000L +#define MF_END 0x00000080L +#define MFT_STRING MF_STRING +#define MFT_BITMAP MF_BITMAP +#define MFT_MENUBARBREAK MF_MENUBARBREAK +#define MFT_MENUBREAK MF_MENUBREAK +#define MFT_OWNERDRAW MF_OWNERDRAW +#define MFT_RADIOCHECK 0x00000200L +#define MFT_SEPARATOR MF_SEPARATOR +#define MFT_RIGHTORDER 0x00002000L +#define MFT_RIGHTJUSTIFY MF_RIGHTJUSTIFY + +#define MFS_GRAYED 0x00000003L +#define MFS_DISABLED MFS_GRAYED +#define MFS_CHECKED MF_CHECKED +#define MFS_HILITE MF_HILITE +#define MFS_ENABLED MF_ENABLED +#define MFS_UNCHECKED MF_UNCHECKED +#define MFS_UNHILITE MF_UNHILITE +#define MFS_DEFAULT MF_DEFAULT + +#define MF_END 0x00000080L + +#define SC_SIZE 0xF000 +#define SC_MOVE 0xF010 +#define SC_MINIMIZE 0xF020 +#define SC_MAXIMIZE 0xF030 +#define SC_NEXTWINDOW 0xF040 +#define SC_PREVWINDOW 0xF050 +#define SC_CLOSE 0xF060 +#define SC_VSCROLL 0xF070 +#define SC_HSCROLL 0xF080 +#define SC_MOUSEMENU 0xF090 +#define SC_KEYMENU 0xF100 +#define SC_ARRANGE 0xF110 +#define SC_RESTORE 0xF120 +#define SC_TASKLIST 0xF130 +#define SC_SCREENSAVE 0xF140 +#define SC_HOTKEY 0xF150 +#define SC_DEFAULT 0xF160 +#define SC_MONITORPOWER 0xF170 +#define SC_CONTEXTHELP 0xF180 +#define SC_SEPARATOR 0xF00F + +#define SC_ICON SC_MINIMIZE +#define SC_ZOOM SC_MAXIMIZE + +#define OBM_CLOSE 32754 +#define OBM_UPARROW 32753 +#define OBM_DNARROW 32752 +#define OBM_RGARROW 32751 +#define OBM_LFARROW 32750 +#define OBM_REDUCE 32749 +#define OBM_ZOOM 32748 +#define OBM_RESTORE 32747 +#define OBM_REDUCED 32746 +#define OBM_ZOOMD 32745 +#define OBM_RESTORED 32744 +#define OBM_UPARROWD 32743 +#define OBM_DNARROWD 32742 +#define OBM_RGARROWD 32741 +#define OBM_LFARROWD 32740 +#define OBM_MNARROW 32739 +#define OBM_COMBO 32738 +#define OBM_UPARROWI 32737 +#define OBM_DNARROWI 32736 +#define OBM_RGARROWI 32735 +#define OBM_LFARROWI 32734 + +#define OBM_OLD_CLOSE 32767 +#define OBM_SIZE 32766 +#define OBM_OLD_UPARROW 32765 +#define OBM_OLD_DNARROW 32764 +#define OBM_OLD_RGARROW 32763 +#define OBM_OLD_LFARROW 32762 +#define OBM_BTSIZE 32761 +#define OBM_CHECK 32760 +#define OBM_CHECKBOXES 32759 +#define OBM_BTNCORNERS 32758 +#define OBM_OLD_REDUCE 32757 +#define OBM_OLD_ZOOM 32756 +#define OBM_OLD_RESTORE 32755 + +#define OCR_NORMAL 32512 +#define OCR_IBEAM 32513 +#define OCR_WAIT 32514 +#define OCR_CROSS 32515 +#define OCR_UP 32516 +#define OCR_SIZE 32640 +#define OCR_ICON 32641 +#define OCR_SIZENWSE 32642 +#define OCR_SIZENESW 32643 +#define OCR_SIZEWE 32644 +#define OCR_SIZENS 32645 +#define OCR_SIZEALL 32646 +#define OCR_ICOCUR 32647 +#define OCR_NO 32648 +#define OCR_HAND 32649 +#define OCR_APPSTARTING 32650 + +#define OIC_SAMPLE 32512 +#define OIC_HAND 32513 +#define OIC_QUES 32514 +#define OIC_BANG 32515 +#define OIC_NOTE 32516 +#define OIC_WINLOGO 32517 +#define OIC_WARNING OIC_BANG +#define OIC_ERROR OIC_HAND +#define OIC_INFORMATION OIC_NOTE + +#ifdef RC_INVOKED +#define IDI_APPLICATION 32512 +#define IDI_HAND 32513 +#define IDI_QUESTION 32514 +#define IDI_EXCLAMATION 32515 +#define IDI_ASTERISK 32516 +#define IDI_WINLOGO 32517 +#else +#define IDI_APPLICATION MAKEINTRESOURCE(32512) +#define IDI_HAND MAKEINTRESOURCE(32513) +#define IDI_QUESTION MAKEINTRESOURCE(32514) +#define IDI_EXCLAMATION MAKEINTRESOURCE(32515) +#define IDI_ASTERISK MAKEINTRESOURCE(32516) +#define IDI_WINLOGO MAKEINTRESOURCE(32517) +#endif + +#define IDI_WARNING IDI_EXCLAMATION +#define IDI_ERROR IDI_HAND +#define IDI_INFORMATION IDI_ASTERISK + +#define IDOK 1 +#define IDCANCEL 2 +#define IDABORT 3 +#define IDRETRY 4 +#define IDIGNORE 5 +#define IDYES 6 +#define IDNO 7 +#define IDCLOSE 8 +#define IDHELP 9 + +#define IDTRYAGAIN 10 +#define IDCONTINUE 11 + +#ifndef IDTIMEOUT +#define IDTIMEOUT 32000 +#endif + +#define ES_LEFT 0x0000L +#define ES_CENTER 0x0001L +#define ES_RIGHT 0x0002L +#define ES_MULTILINE 0x0004L +#define ES_UPPERCASE 0x0008L +#define ES_LOWERCASE 0x0010L +#define ES_PASSWORD 0x0020L +#define ES_AUTOVSCROLL 0x0040L +#define ES_AUTOHSCROLL 0x0080L +#define ES_NOHIDESEL 0x0100L +#define ES_OEMCONVERT 0x0400L +#define ES_READONLY 0x0800L +#define ES_WANTRETURN 0x1000L +#define ES_NUMBER 0x2000L + +#define EM_GETSEL 0x00B0 +#define EM_SETSEL 0x00B1 +#define EM_GETRECT 0x00B2 +#define EM_SETRECT 0x00B3 +#define EM_SETRECTNP 0x00B4 +#define EM_SCROLL 0x00B5 +#define EM_LINESCROLL 0x00B6 +#define EM_SCROLLCARET 0x00B7 +#define EM_GETMODIFY 0x00B8 +#define EM_SETMODIFY 0x00B9 +#define EM_GETLINECOUNT 0x00BA +#define EM_LINEINDEX 0x00BB +#define EM_SETHANDLE 0x00BC +#define EM_GETHANDLE 0x00BD +#define EM_GETTHUMB 0x00BE +#define EM_LINELENGTH 0x00C1 +#define EM_REPLACESEL 0x00C2 +#define EM_GETLINE 0x00C4 +#define EM_LIMITTEXT 0x00C5 +#define EM_CANUNDO 0x00C6 +#define EM_UNDO 0x00C7 +#define EM_FMTLINES 0x00C8 +#define EM_LINEFROMCHAR 0x00C9 +#define EM_SETTABSTOPS 0x00CB +#define EM_SETPASSWORDCHAR 0x00CC +#define EM_EMPTYUNDOBUFFER 0x00CD +#define EM_GETFIRSTVISIBLELINE 0x00CE +#define EM_SETREADONLY 0x00CF +#define EM_SETWORDBREAKPROC 0x00D0 +#define EM_GETWORDBREAKPROC 0x00D1 +#define EM_GETPASSWORDCHAR 0x00D2 +#define EM_SETMARGINS 0x00D3 +#define EM_GETMARGINS 0x00D4 +#define EM_SETLIMITTEXT EM_LIMITTEXT +#define EM_GETLIMITTEXT 0x00D5 +#define EM_POSFROMCHAR 0x00D6 +#define EM_CHARFROMPOS 0x00D7 +#define EM_SETIMESTATUS 0x00D8 +#define EM_GETIMESTATUS 0x00D9 + +#define BS_PUSHBUTTON 0x00000000L +#define BS_DEFPUSHBUTTON 0x00000001L +#define BS_CHECKBOX 0x00000002L +#define BS_AUTOCHECKBOX 0x00000003L +#define BS_RADIOBUTTON 0x00000004L +#define BS_3STATE 0x00000005L +#define BS_AUTO3STATE 0x00000006L +#define BS_GROUPBOX 0x00000007L +#define BS_USERBUTTON 0x00000008L +#define BS_AUTORADIOBUTTON 0x00000009L +#define BS_PUSHBOX 0x0000000AL +#define BS_OWNERDRAW 0x0000000BL +#define BS_TYPEMASK 0x0000000FL +#define BS_LEFTTEXT 0x00000020L +#define BS_TEXT 0x00000000L +#define BS_ICON 0x00000040L +#define BS_BITMAP 0x00000080L +#define BS_LEFT 0x00000100L +#define BS_RIGHT 0x00000200L +#define BS_CENTER 0x00000300L +#define BS_TOP 0x00000400L +#define BS_BOTTOM 0x00000800L +#define BS_VCENTER 0x00000C00L +#define BS_PUSHLIKE 0x00001000L +#define BS_MULTILINE 0x00002000L +#define BS_NOTIFY 0x00004000L +#define BS_FLAT 0x00008000L +#define BS_RIGHTBUTTON BS_LEFTTEXT + +#define BN_CLICKED 0 +#define BN_PAINT 1 +#define BN_HILITE 2 +#define BN_UNHILITE 3 +#define BN_DISABLE 4 +#define BN_DOUBLECLICKED 5 +#define BN_PUSHED BN_HILITE +#define BN_UNPUSHED BN_UNHILITE +#define BN_DBLCLK BN_DOUBLECLICKED +#define BN_SETFOCUS 6 +#define BN_KILLFOCUS 7 + +#define BM_GETCHECK 0x00F0 +#define BM_SETCHECK 0x00F1 +#define BM_GETSTATE 0x00F2 +#define BM_SETSTATE 0x00F3 +#define BM_SETSTYLE 0x00F4 +#define BM_CLICK 0x00F5 +#define BM_GETIMAGE 0x00F6 +#define BM_SETIMAGE 0x00F7 + +#define BST_UNCHECKED 0x0000 +#define BST_CHECKED 0x0001 +#define BST_INDETERMINATE 0x0002 +#define BST_PUSHED 0x0004 +#define BST_FOCUS 0x0008 + +#define SS_LEFT 0x00000000L +#define SS_CENTER 0x00000001L +#define SS_RIGHT 0x00000002L +#define SS_ICON 0x00000003L +#define SS_BLACKRECT 0x00000004L +#define SS_GRAYRECT 0x00000005L +#define SS_WHITERECT 0x00000006L +#define SS_BLACKFRAME 0x00000007L +#define SS_GRAYFRAME 0x00000008L +#define SS_WHITEFRAME 0x00000009L +#define SS_USERITEM 0x0000000AL +#define SS_SIMPLE 0x0000000BL +#define SS_LEFTNOWORDWRAP 0x0000000CL +#define SS_OWNERDRAW 0x0000000DL +#define SS_BITMAP 0x0000000EL +#define SS_ENHMETAFILE 0x0000000FL +#define SS_ETCHEDHORZ 0x00000010L +#define SS_ETCHEDVERT 0x00000011L +#define SS_ETCHEDFRAME 0x00000012L +#define SS_TYPEMASK 0x0000001FL +#define SS_REALSIZECONTROL 0x00000040L +#define SS_NOPREFIX 0x00000080L +#define SS_NOTIFY 0x00000100L +#define SS_CENTERIMAGE 0x00000200L +#define SS_RIGHTJUST 0x00000400L +#define SS_REALSIZEIMAGE 0x00000800L +#define SS_SUNKEN 0x00001000L +#define SS_EDITCONTROL 0x00002000L +#define SS_ENDELLIPSIS 0x00004000L +#define SS_PATHELLIPSIS 0x00008000L +#define SS_WORDELLIPSIS 0x0000C000L +#define SS_ELLIPSISMASK 0x0000C000L + +#define DS_ABSALIGN 0x01L +#define DS_SYSMODAL 0x02L +#define DS_LOCALEDIT 0x20L +#define DS_SETFONT 0x40L +#define DS_MODALFRAME 0x80L +#define DS_NOIDLEMSG 0x100L +#define DS_SETFOREGROUND 0x200L + +#define DS_3DLOOK 0x0004L +#define DS_FIXEDSYS 0x0008L +#define DS_NOFAILCREATE 0x0010L +#define DS_CONTROL 0x0400L +#define DS_CENTER 0x0800L +#define DS_CENTERMOUSE 0x1000L +#define DS_CONTEXTHELP 0x2000L + +#define DS_SHELLFONT (DS_SETFONT | DS_FIXEDSYS) + +#if(_WIN32_WCE >= 0x0500) +#define DS_USEPIXELS 0x8000L +#endif + +#define LBS_NOTIFY 0x0001L +#define LBS_SORT 0x0002L +#define LBS_NOREDRAW 0x0004L +#define LBS_MULTIPLESEL 0x0008L +#define LBS_OWNERDRAWFIXED 0x0010L +#define LBS_OWNERDRAWVARIABLE 0x0020L +#define LBS_HASSTRINGS 0x0040L +#define LBS_USETABSTOPS 0x0080L +#define LBS_NOINTEGRALHEIGHT 0x0100L +#define LBS_MULTICOLUMN 0x0200L +#define LBS_WANTKEYBOARDINPUT 0x0400L +#define LBS_EXTENDEDSEL 0x0800L +#define LBS_DISABLENOSCROLL 0x1000L +#define LBS_NODATA 0x2000L +#define LBS_NOSEL 0x4000L +#define LBS_COMBOBOX 0x8000L + +#define LBS_STANDARD (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER) + +#define CBS_SIMPLE 0x0001L +#define CBS_DROPDOWN 0x0002L +#define CBS_DROPDOWNLIST 0x0003L +#define CBS_OWNERDRAWFIXED 0x0010L +#define CBS_OWNERDRAWVARIABLE 0x0020L +#define CBS_AUTOHSCROLL 0x0040L +#define CBS_OEMCONVERT 0x0080L +#define CBS_SORT 0x0100L +#define CBS_HASSTRINGS 0x0200L +#define CBS_NOINTEGRALHEIGHT 0x0400L +#define CBS_DISABLENOSCROLL 0x0800L +#define CBS_UPPERCASE 0x2000L +#define CBS_LOWERCASE 0x4000L + +#define SBS_HORZ 0x0000L +#define SBS_VERT 0x0001L +#define SBS_TOPALIGN 0x0002L +#define SBS_LEFTALIGN 0x0002L +#define SBS_BOTTOMALIGN 0x0004L +#define SBS_RIGHTALIGN 0x0004L +#define SBS_SIZEBOXTOPLEFTALIGN 0x0002L +#define SBS_SIZEBOXBOTTOMRIGHTALIGN 0x0004L +#define SBS_SIZEBOX 0x0008L +#define SBS_SIZEGRIP 0x0010L + +#define HELP_CONTEXT 0x0001L +#define HELP_QUIT 0x0002L +#define HELP_INDEX 0x0003L +#define HELP_CONTENTS 0x0003L +#define HELP_HELPONHELP 0x0004L +#define HELP_SETINDEX 0x0005L +#define HELP_SETCONTENTS 0x0005L +#define HELP_CONTEXTPOPUP 0x0008L +#define HELP_FORCEFILE 0x0009L +#define HELP_KEY 0x0101L +#define HELP_COMMAND 0x0102L +#define HELP_PARTIALKEY 0x0105L +#define HELP_MULTIKEY 0x0201L +#define HELP_SETWINPOS 0x0203L +#define HELP_CONTEXTMENU 0x000a +#define HELP_FINDER 0x000b +#define HELP_WM_HELP 0x000c +#define HELP_SETPOPUP_POS 0x000d + +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 0x0010 +#define HELP_TCARD_OTHER_CALLER 0x0011 + +#define IDH_NO_HELP 28440 +#define IDH_MISSING_CONTEXT 28441 +#define IDH_GENERIC_HELP_BUTTON 28442 +#define IDH_OK 28443 +#define IDH_CANCEL 28444 +#define IDH_HELP 28445 diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winver.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winver.h new file mode 100644 index 00000000..2059cef1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winver.h @@ -0,0 +1,170 @@ +/** + * 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 VER_H +#define VER_H + +#include <_mingw.h> +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* defines from verrsrc.h file */ +#define VS_FILE_INFO RT_VERSION +#define VS_VERSION_INFO 1 +#define VS_USER_DEFINED 100 + +#define VS_FFI_SIGNATURE __MSABI_LONG(0xFEEF04BD) +#define VS_FFI_STRUCVERSION __MSABI_LONG(0x00010000) +#define VS_FFI_FILEFLAGSMASK __MSABI_LONG(0x0000003F) + +#define VS_FF_DEBUG __MSABI_LONG(0x00000001) +#define VS_FF_PRERELEASE __MSABI_LONG(0x00000002) +#define VS_FF_PATCHED __MSABI_LONG(0x00000004) +#define VS_FF_PRIVATEBUILD __MSABI_LONG(0x00000008) +#define VS_FF_INFOINFERRED __MSABI_LONG(0x00000010) +#define VS_FF_SPECIALBUILD __MSABI_LONG(0x00000020) + +#define VOS_UNKNOWN __MSABI_LONG(0x00000000) +#define VOS_DOS __MSABI_LONG(0x00010000) +#define VOS_OS216 __MSABI_LONG(0x00020000) +#define VOS_OS232 __MSABI_LONG(0x00030000) +#define VOS_NT __MSABI_LONG(0x00040000) +#define VOS_WINCE __MSABI_LONG(0x00050000) + +#define VOS__BASE __MSABI_LONG(0x00000000) +#define VOS__WINDOWS16 __MSABI_LONG(0x00000001) +#define VOS__PM16 __MSABI_LONG(0x00000002) +#define VOS__PM32 __MSABI_LONG(0x00000003) +#define VOS__WINDOWS32 __MSABI_LONG(0x00000004) + +#define VOS_DOS_WINDOWS16 __MSABI_LONG(0x00010001) +#define VOS_DOS_WINDOWS32 __MSABI_LONG(0x00010004) +#define VOS_OS216_PM16 __MSABI_LONG(0x00020002) +#define VOS_OS232_PM32 __MSABI_LONG(0x00030003) +#define VOS_NT_WINDOWS32 __MSABI_LONG(0x00040004) + +#define VFT_UNKNOWN __MSABI_LONG(0x00000000) +#define VFT_APP __MSABI_LONG(0x00000001) +#define VFT_DLL __MSABI_LONG(0x00000002) +#define VFT_DRV __MSABI_LONG(0x00000003) +#define VFT_FONT __MSABI_LONG(0x00000004) +#define VFT_VXD __MSABI_LONG(0x00000005) +#define VFT_STATIC_LIB __MSABI_LONG(0x00000007) + +#define VFT2_UNKNOWN __MSABI_LONG(0x00000000) +#define VFT2_DRV_PRINTER __MSABI_LONG(0x00000001) +#define VFT2_DRV_KEYBOARD __MSABI_LONG(0x00000002) +#define VFT2_DRV_LANGUAGE __MSABI_LONG(0x00000003) +#define VFT2_DRV_DISPLAY __MSABI_LONG(0x00000004) +#define VFT2_DRV_MOUSE __MSABI_LONG(0x00000005) +#define VFT2_DRV_NETWORK __MSABI_LONG(0x00000006) +#define VFT2_DRV_SYSTEM __MSABI_LONG(0x00000007) +#define VFT2_DRV_INSTALLABLE __MSABI_LONG(0x00000008) +#define VFT2_DRV_SOUND __MSABI_LONG(0x00000009) +#define VFT2_DRV_COMM __MSABI_LONG(0x0000000A) +#define VFT2_DRV_INPUTMETHOD __MSABI_LONG(0x0000000B) +#define VFT2_DRV_VERSIONED_PRINTER __MSABI_LONG(0x0000000C) + +#define VFT2_FONT_RASTER __MSABI_LONG(0x00000001) +#define VFT2_FONT_VECTOR __MSABI_LONG(0x00000002) +#define VFT2_FONT_TRUETYPE __MSABI_LONG(0x00000003) + +#define VFFF_ISSHAREDFILE 0x0001 + +#define VFF_CURNEDEST 0x0001 +#define VFF_FILEINUSE 0x0002 +#define VFF_BUFFTOOSMALL 0x0004 + +#define VIFF_FORCEINSTALL 0x0001 +#define VIFF_DONTDELETEOLD 0x0002 + +#define VIF_TEMPFILE __MSABI_LONG(0x00000001) +#define VIF_MISMATCH __MSABI_LONG(0x00000002) +#define VIF_SRCOLD __MSABI_LONG(0x00000004) + +#define VIF_DIFFLANG __MSABI_LONG(0x00000008) +#define VIF_DIFFCODEPG __MSABI_LONG(0x00000010) +#define VIF_DIFFTYPE __MSABI_LONG(0x00000020) + +#define VIF_WRITEPROT __MSABI_LONG(0x00000040) +#define VIF_FILEINUSE __MSABI_LONG(0x00000080) +#define VIF_OUTOFSPACE __MSABI_LONG(0x00000100) +#define VIF_ACCESSVIOLATION __MSABI_LONG(0x00000200) +#define VIF_SHARINGVIOLATION __MSABI_LONG(0x00000400) +#define VIF_CANNOTCREATE __MSABI_LONG(0x00000800) +#define VIF_CANNOTDELETE __MSABI_LONG(0x00001000) +#define VIF_CANNOTRENAME __MSABI_LONG(0x00002000) +#define VIF_CANNOTDELETECUR __MSABI_LONG(0x00004000) +#define VIF_OUTOFMEMORY __MSABI_LONG(0x00008000) + +#define VIF_CANNOTREADSRC __MSABI_LONG(0x00010000) +#define VIF_CANNOTREADDST __MSABI_LONG(0x00020000) + +#define VIF_BUFFTOOSMALL __MSABI_LONG(0x00040000) +#define VIF_CANNOTLOADLZ32 __MSABI_LONG(0x00080000) +#define VIF_CANNOTLOADCABINET __MSABI_LONG(0x00100000) + +#ifndef RC_INVOKED + +#define FILE_VER_GET_LOCALISED 0x01 +#define FILE_VER_GET_NEUTRAL 0x02 +#define FILE_VER_GET_PREFETCHED 0x04 + + typedef struct tagVS_FIXEDFILEINFO + { + DWORD dwSignature; + DWORD dwStrucVersion; + DWORD dwFileVersionMS; + DWORD dwFileVersionLS; + DWORD dwProductVersionMS; + DWORD dwProductVersionLS; + DWORD dwFileFlagsMask; + DWORD dwFileFlags; + DWORD dwFileOS; + DWORD dwFileType; + DWORD dwFileSubtype; + DWORD dwFileDateMS; + DWORD dwFileDateLS; + } VS_FIXEDFILEINFO; + +#define VerFindFile __MINGW_NAME_AW(VerFindFile) +#define VerInstallFile __MINGW_NAME_AW(VerInstallFile) +#define GetFileVersionInfoSize __MINGW_NAME_AW(GetFileVersionInfoSize) +#define GetFileVersionInfoSizeEx __MINGW_NAME_AW(GetFileVersionInfoSizeEx) +#define GetFileVersionInfo __MINGW_NAME_AW(GetFileVersionInfo) +#define GetFileVersionInfoEx __MINGW_NAME_AW(GetFileVersionInfoEx) +#define VerLanguageName __MINGW_NAME_AW(VerLanguageName) +#define VerQueryValue __MINGW_NAME_AW(VerQueryValue) + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + DWORD WINAPI VerFindFileA(DWORD uFlags,LPSTR szFileName,LPSTR szWinDir,LPSTR szAppDir,LPSTR szCurDir,PUINT lpuCurDirLen,LPSTR szDestDir,PUINT lpuDestDirLen); + DWORD WINAPI VerFindFileW(DWORD uFlags,LPWSTR szFileName,LPWSTR szWinDir,LPWSTR szAppDir,LPWSTR szCurDir,PUINT lpuCurDirLen,LPWSTR szDestDir,PUINT lpuDestDirLen); + DWORD WINAPI VerInstallFileA(DWORD uFlags,LPSTR szSrcFileName,LPSTR szDestFileName,LPSTR szSrcDir,LPSTR szDestDir,LPSTR szCurDir,LPSTR szTmpFile,PUINT lpuTmpFileLen); + DWORD WINAPI VerInstallFileW(DWORD uFlags,LPWSTR szSrcFileName,LPWSTR szDestFileName,LPWSTR szSrcDir,LPWSTR szDestDir,LPWSTR szCurDir,LPWSTR szTmpFile,PUINT lpuTmpFileLen); + DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR lptstrFilename,LPDWORD lpdwHandle); + DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR lptstrFilename,LPDWORD lpdwHandle); + DWORD WINAPI GetFileVersionInfoSizeExA(DWORD dwFlags, LPCSTR lpwstrFilename, LPDWORD lpdwHandle); + DWORD WINAPI GetFileVersionInfoSizeExW(DWORD dwFlags, LPCWSTR lpwstrFilename, LPDWORD lpdwHandle); + WINBOOL WINAPI GetFileVersionInfoA(LPCSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData); + WINBOOL WINAPI GetFileVersionInfoW(LPCWSTR lptstrFilename,DWORD dwHandle,DWORD dwLen,LPVOID lpData); + WINBOOL WINAPI GetFileVersionInfoExA(DWORD dwFlags, LPCSTR lpwstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData); + WINBOOL WINAPI GetFileVersionInfoExW(DWORD dwFlags, LPCWSTR lpwstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData); +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + DWORD WINAPI VerLanguageNameA(DWORD wLang,LPSTR szLang,DWORD nSize); + DWORD WINAPI VerLanguageNameW(DWORD wLang,LPWSTR szLang,DWORD nSize); + WINBOOL WINAPI VerQueryValueA(LPCVOID pBlock,LPCSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen); + WINBOOL WINAPI VerQueryValueW(LPCVOID pBlock,LPCWSTR lpSubBlock,LPVOID *lplpBuffer,PUINT puLen); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winwlx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winwlx.h new file mode 100644 index 00000000..cd0276ce --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/winwlx.h @@ -0,0 +1,353 @@ +/** + * 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 _WINWLX_ +#define _WINWLX_ + +#define WLX_VERSION_1_0 (0X00010000) +#define WLX_VERSION_1_1 (0X00010001) +#define WLX_VERSION_1_2 (0X00010002) +#define WLX_VERSION_1_3 (0X00010003) +#define WLX_VERSION_1_4 (0X00010004) +#define WLX_CURRENT_VERSION (WLX_VERSION_1_4) + +#define WLX_SAS_TYPE_TIMEOUT (0) +#define WLX_SAS_TYPE_CTRL_ALT_DEL (1) +#define WLX_SAS_TYPE_SCRNSVR_TIMEOUT (2) +#define WLX_SAS_TYPE_SCRNSVR_ACTIVITY (3) +#define WLX_SAS_TYPE_USER_LOGOFF (4) +#define WLX_SAS_TYPE_SC_INSERT (5) +#define WLX_SAS_TYPE_SC_REMOVE (6) +#define WLX_SAS_TYPE_AUTHENTICATED (7) +#define WLX_SAS_TYPE_SC_FIRST_READER_ARRIVED (8) +#define WLX_SAS_TYPE_SC_LAST_READER_REMOVED (9) +#define WLX_SAS_TYPE_SWITCHUSER (10) +#define WLX_SAS_TYPE_MAX_MSFT_VALUE (127) + +typedef struct _WLX_SC_NOTIFICATION_INFO { + PWSTR pszCard; + PWSTR pszReader; + PWSTR pszContainer; + PWSTR pszCryptoProvider; +} WLX_SC_NOTIFICATION_INFO,*PWLX_SC_NOTIFICATION_INFO; + +#define WLX_LOGON_OPT_NO_PROFILE (0x00000001) + +#define WLX_PROFILE_TYPE_V1_0 (1) +#define WLX_PROFILE_TYPE_V2_0 (2) + +#define WLX_SAS_ACTION_LOGON (1) +#define WLX_SAS_ACTION_NONE (2) +#define WLX_SAS_ACTION_LOCK_WKSTA (3) +#define WLX_SAS_ACTION_LOGOFF (4) +#define WLX_SAS_ACTION_SHUTDOWN (5) +#define WLX_SAS_ACTION_PWD_CHANGED (6) +#define WLX_SAS_ACTION_TASKLIST (7) +#define WLX_SAS_ACTION_UNLOCK_WKSTA (8) +#define WLX_SAS_ACTION_FORCE_LOGOFF (9) +#define WLX_SAS_ACTION_SHUTDOWN_POWER_OFF (10) +#define WLX_SAS_ACTION_SHUTDOWN_REBOOT (11) +#define WLX_SAS_ACTION_SHUTDOWN_SLEEP (12) +#define WLX_SAS_ACTION_SHUTDOWN_SLEEP2 (13) +#define WLX_SAS_ACTION_SHUTDOWN_HIBERNATE (14) +#define WLX_SAS_ACTION_RECONNECTED (15) +#define WLX_SAS_ACTION_DELAYED_FORCE_LOGOFF (16) +#define WLX_SAS_ACTION_SWITCH_CONSOLE (17) + +#define WLX_WM_SAS (WM_USER + 601) + +#define WLX_DLG_SAS 101 +#define WLX_DLG_INPUT_TIMEOUT 102 +#define WLX_DLG_SCREEN_SAVER_TIMEOUT 103 +#define WLX_DLG_USER_LOGOFF 104 + +typedef struct _WLX_PROFILE_V1_0 { + DWORD dwType; + PWSTR pszProfile; +} WLX_PROFILE_V1_0,*PWLX_PROFILE_V1_0; + +typedef struct _WLX_PROFILE_V2_0 { + DWORD dwType; + PWSTR pszProfile; + PWSTR pszPolicy; + PWSTR pszNetworkDefaultUserProfile; + PWSTR pszServerName; + PWSTR pszEnvironment; +} WLX_PROFILE_V2_0,*PWLX_PROFILE_V2_0; + +typedef struct _WLX_MPR_NOTIFY_INFO { + PWSTR pszUserName; + PWSTR pszDomain; + PWSTR pszPassword; + PWSTR pszOldPassword; +} WLX_MPR_NOTIFY_INFO,*PWLX_MPR_NOTIFY_INFO; + +#define WLX_DIRECTORY_LENGTH 256 + +typedef struct _WLX_TERMINAL_SERVICES_DATA { + WCHAR ProfilePath[WLX_DIRECTORY_LENGTH + 1]; + WCHAR HomeDir[WLX_DIRECTORY_LENGTH + 1]; + WCHAR HomeDirDrive[4]; +} WLX_TERMINAL_SERVICES_DATA,*PWLX_TERMINAL_SERVICES_DATA; + +#define WLX_CREDENTIAL_TYPE_V1_0 (1) +#define WLX_CREDENTIAL_TYPE_V2_0 (2) + +typedef struct _WLX_CLIENT_CREDENTIALS_INFO { + DWORD dwType; + PWSTR pszUserName; + PWSTR pszDomain; + PWSTR pszPassword; + WINBOOL fPromptForPassword; +} WLX_CLIENT_CREDENTIALS_INFO_V1_0,*PWLX_CLIENT_CREDENTIALS_INFO_V1_0; + +typedef struct _WLX_CLIENT_CREDENTIALS_INFO_2_0 { + DWORD dwType; + PWSTR pszUserName; + PWSTR pszDomain; + PWSTR pszPassword; + WINBOOL fPromptForPassword; + WINBOOL fDisconnectOnLogonFailure; +} WLX_CLIENT_CREDENTIALS_INFO_V2_0,*PWLX_CLIENT_CREDENTIALS_INFO_V2_0; + +#define WLX_CONSOLESWITCHCREDENTIAL_TYPE_V1_0 (1) + +typedef struct _WLX_CONSOLESWITCH_CREDENTIALS_INFO { + DWORD dwType; + HANDLE UserToken; + LUID LogonId; + QUOTA_LIMITS Quotas; + PWSTR UserName; + PWSTR Domain; + LARGE_INTEGER LogonTime; + WINBOOL SmartCardLogon; + ULONG ProfileLength; + DWORD MessageType; + USHORT LogonCount; + USHORT BadPasswordCount; + LARGE_INTEGER ProfileLogonTime; + LARGE_INTEGER LogoffTime; + LARGE_INTEGER KickOffTime; + LARGE_INTEGER PasswordLastSet; + LARGE_INTEGER PasswordCanChange; + LARGE_INTEGER PasswordMustChange; + PWSTR LogonScript; + PWSTR HomeDirectory; + PWSTR FullName; + PWSTR ProfilePath; + PWSTR HomeDirectoryDrive; + PWSTR LogonServer; + ULONG UserFlags; + ULONG PrivateDataLen; + PBYTE PrivateData; +} WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0,*PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0; + +WINBOOL WINAPI WlxNegotiate(DWORD dwWinlogonVersion,PDWORD pdwDllVersion); +WINBOOL WINAPI WlxInitialize(LPWSTR lpWinsta,HANDLE hWlx,PVOID pvReserved,PVOID pWinlogonFunctions,PVOID *pWlxContext); +VOID WINAPI WlxDisplaySASNotice(PVOID pWlxContext); +int WINAPI WlxLoggedOutSAS(PVOID pWlxContext,DWORD dwSasType,PLUID pAuthenticationId,PSID pLogonSid,PDWORD pdwOptions,PHANDLE phToken,PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,PVOID *pProfile); +WINBOOL WINAPI WlxActivateUserShell(PVOID pWlxContext,PWSTR pszDesktopName,PWSTR pszMprLogonScript,PVOID pEnvironment); +int WINAPI WlxLoggedOnSAS(PVOID pWlxContext,DWORD dwSasType,PVOID pReserved); +VOID WINAPI WlxDisplayLockedNotice(PVOID pWlxContext); +int WINAPI WlxWkstaLockedSAS(PVOID pWlxContext,DWORD dwSasType); +WINBOOL WINAPI WlxIsLockOk(PVOID pWlxContext); +WINBOOL WINAPI WlxIsLogoffOk(PVOID pWlxContext); +VOID WINAPI WlxLogoff(PVOID pWlxContext); +VOID WINAPI WlxShutdown(PVOID pWlxContext,DWORD ShutdownType); +WINBOOL WINAPI WlxScreenSaverNotify(PVOID pWlxContext,WINBOOL *pSecure); +WINBOOL WINAPI WlxStartApplication(PVOID pWlxContext,PWSTR pszDesktopName,PVOID pEnvironment,PWSTR pszCmdLine); +WINBOOL WINAPI WlxNetworkProviderLoad(PVOID pWlxContext,PWLX_MPR_NOTIFY_INFO pNprNotifyInfo); + +#define STATUSMSG_OPTION_NOANIMATION 0x00000001 +#define STATUSMSG_OPTION_SETFOREGROUND 0x00000002 + +WINBOOL WINAPI WlxDisplayStatusMessage(PVOID pWlxContext,HDESK hDesktop,DWORD dwOptions,PWSTR pTitle,PWSTR pMessage); +WINBOOL WINAPI WlxGetStatusMessage(PVOID pWlxContext,DWORD *pdwOptions,PWSTR pMessage,DWORD dwBufferSize); +WINBOOL WINAPI WlxRemoveStatusMessage(PVOID pWlxContext); +WINBOOL WINAPI WlxGetConsoleSwitchCredentials (PVOID pWlxContext,PVOID pCredInfo); +VOID WINAPI WlxReconnectNotify (PVOID pWlxContext); +VOID WINAPI WlxDisconnectNotify (PVOID pWlxContext); + +typedef struct _WLX_DESKTOP { + DWORD Size; + DWORD Flags; + HDESK hDesktop; + PWSTR pszDesktopName; +} WLX_DESKTOP,*PWLX_DESKTOP; + +#define WLX_DESKTOP_NAME 0x00000001 +#define WLX_DESKTOP_HANDLE 0x00000002 + +typedef VOID (WINAPI *PWLX_USE_CTRL_ALT_DEL)(HANDLE hWlx); +typedef VOID (WINAPI *PWLX_SET_CONTEXT_POINTER)(HANDLE hWlx,PVOID pWlxContext); +typedef VOID (WINAPI *PWLX_SAS_NOTIFY)(HANDLE hWlx,DWORD dwSasType); +typedef WINBOOL (WINAPI *PWLX_SET_TIMEOUT)(HANDLE hWlx,DWORD Timeout); +typedef int (WINAPI *PWLX_ASSIGN_SHELL_PROTECTION)(HANDLE hWlx,HANDLE hToken,HANDLE hProcess,HANDLE hThread); +typedef int (WINAPI *PWLX_MESSAGE_BOX)(HANDLE hWlx,HWND hwndOwner,LPWSTR lpszText,LPWSTR lpszTitle,UINT fuStyle); +typedef int (WINAPI *PWLX_DIALOG_BOX)(HANDLE hWlx,HANDLE hInst,LPWSTR lpszTemplate,HWND hwndOwner,DLGPROC dlgprc); +typedef int (WINAPI *PWLX_DIALOG_BOX_INDIRECT)(HANDLE hWlx,HANDLE hInst,LPCDLGTEMPLATE hDialogTemplate,HWND hwndOwner,DLGPROC dlgprc); +typedef int (WINAPI *PWLX_DIALOG_BOX_PARAM)(HANDLE hWlx,HANDLE hInst,LPWSTR lpszTemplate,HWND hwndOwner,DLGPROC dlgprc,LPARAM dwInitParam); +typedef int (WINAPI *PWLX_DIALOG_BOX_INDIRECT_PARAM)(HANDLE hWlx,HANDLE hInst,LPCDLGTEMPLATE hDialogTemplate,HWND hwndOwner,DLGPROC dlgprc,LPARAM dwInitParam); +typedef int (WINAPI *PWLX_SWITCH_DESKTOP_TO_USER)(HANDLE hWlx); +typedef int (WINAPI *PWLX_SWITCH_DESKTOP_TO_WINLOGON)(HANDLE hWlx); +typedef int (WINAPI *PWLX_CHANGE_PASSWORD_NOTIFY)(HANDLE hWlx,PWLX_MPR_NOTIFY_INFO pMprInfo,DWORD dwChangeInfo); +typedef WINBOOL (WINAPI *PWLX_GET_SOURCE_DESKTOP)(HANDLE hWlx,PWLX_DESKTOP *ppDesktop); +typedef WINBOOL (WINAPI *PWLX_SET_RETURN_DESKTOP)(HANDLE hWlx,PWLX_DESKTOP pDesktop); +typedef WINBOOL (WINAPI *PWLX_CREATE_USER_DESKTOP)(HANDLE hWlx,HANDLE hToken,DWORD Flags,PWSTR pszDesktopName,PWLX_DESKTOP *ppDesktop); + +#define WLX_CREATE_INSTANCE_ONLY 0x00000001 +#define WLX_CREATE_USER 0x00000002 + +typedef int (WINAPI *PWLX_CHANGE_PASSWORD_NOTIFY_EX)(HANDLE hWlx,PWLX_MPR_NOTIFY_INFO pMprInfo,DWORD dwChangeInfo,PWSTR ProviderName,PVOID Reserved); +typedef WINBOOL (WINAPI *PWLX_CLOSE_USER_DESKTOP)(HANDLE hWlx,PWLX_DESKTOP pDesktop,HANDLE hToken); +typedef WINBOOL (WINAPI *PWLX_SET_OPTION)(HANDLE hWlx,DWORD Option,ULONG_PTR Value,ULONG_PTR *OldValue); +typedef WINBOOL (WINAPI *PWLX_GET_OPTION)(HANDLE hWlx,DWORD Option,ULONG_PTR *Value); +typedef VOID (WINAPI *PWLX_WIN31_MIGRATE)(HANDLE hWlx); +typedef WINBOOL (WINAPI *PWLX_QUERY_CLIENT_CREDENTIALS)(PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred); +typedef WINBOOL (WINAPI *PWLX_QUERY_IC_CREDENTIALS)(PWLX_CLIENT_CREDENTIALS_INFO_V1_0 pCred); +typedef WINBOOL (WINAPI *PWLX_QUERY_TS_LOGON_CREDENTIALS)(PWLX_CLIENT_CREDENTIALS_INFO_V2_0 pCred); +typedef WINBOOL (WINAPI *PWLX_DISCONNECT)(); +typedef DWORD (WINAPI *PWLX_QUERY_TERMINAL_SERVICES_DATA)(HANDLE hWlx,PWLX_TERMINAL_SERVICES_DATA pTSData,WCHAR *UserName,WCHAR *Domain); +typedef DWORD (WINAPI *PWLX_QUERY_CONSOLESWITCH_CREDENTIALS)(PWLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 pCred); + +#define WLX_OPTION_USE_CTRL_ALT_DEL 0x00000001 +#define WLX_OPTION_CONTEXT_POINTER 0x00000002 +#define WLX_OPTION_USE_SMART_CARD 0x00000003 +#define WLX_OPTION_FORCE_LOGOFF_TIME 0x00000004 +#define WLX_OPTION_IGNORE_AUTO_LOGON 0x00000008 +#define WLX_OPTION_NO_SWITCH_ON_SAS 0x00000009 + +#define WLX_OPTION_SMART_CARD_PRESENT 0x00010001 +#define WLX_OPTION_SMART_CARD_INFO 0x00010002 +#define WLX_OPTION_DISPATCH_TABLE_SIZE 0x00010003 + +typedef struct _WLX_DISPATCH_VERSION_1_0 { + PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel; + PWLX_SET_CONTEXT_POINTER WlxSetContextPointer; + PWLX_SAS_NOTIFY WlxSasNotify; + PWLX_SET_TIMEOUT WlxSetTimeout; + PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection; + PWLX_MESSAGE_BOX WlxMessageBox; + PWLX_DIALOG_BOX WlxDialogBox; + PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam; + PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect; + PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam; + PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser; + PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon; + PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify; +} WLX_DISPATCH_VERSION_1_0,*PWLX_DISPATCH_VERSION_1_0; + +typedef struct _WLX_DISPATCH_VERSION_1_1 { + PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel; + PWLX_SET_CONTEXT_POINTER WlxSetContextPointer; + PWLX_SAS_NOTIFY WlxSasNotify; + PWLX_SET_TIMEOUT WlxSetTimeout; + PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection; + PWLX_MESSAGE_BOX WlxMessageBox; + PWLX_DIALOG_BOX WlxDialogBox; + PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam; + PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect; + PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam; + PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser; + PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon; + PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify; + PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop; + PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop; + PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop; + PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx; +} WLX_DISPATCH_VERSION_1_1,*PWLX_DISPATCH_VERSION_1_1; + +typedef struct _WLX_DISPATCH_VERSION_1_2 { + PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel; + PWLX_SET_CONTEXT_POINTER WlxSetContextPointer; + PWLX_SAS_NOTIFY WlxSasNotify; + PWLX_SET_TIMEOUT WlxSetTimeout; + PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection; + PWLX_MESSAGE_BOX WlxMessageBox; + PWLX_DIALOG_BOX WlxDialogBox; + PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam; + PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect; + PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam; + PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser; + PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon; + PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify; + PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop; + PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop; + PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop; + PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx; + PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop; +} WLX_DISPATCH_VERSION_1_2,*PWLX_DISPATCH_VERSION_1_2; + +typedef struct _WLX_DISPATCH_VERSION_1_3 { + PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel; + PWLX_SET_CONTEXT_POINTER WlxSetContextPointer; + PWLX_SAS_NOTIFY WlxSasNotify; + PWLX_SET_TIMEOUT WlxSetTimeout; + PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection; + PWLX_MESSAGE_BOX WlxMessageBox; + PWLX_DIALOG_BOX WlxDialogBox; + PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam; + PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect; + PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam; + PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser; + PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon; + PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify; + PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop; + PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop; + PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop; + PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx; + PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop; + PWLX_SET_OPTION WlxSetOption; + PWLX_GET_OPTION WlxGetOption; + PWLX_WIN31_MIGRATE WlxWin31Migrate; + PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials; + PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials; + PWLX_DISCONNECT WlxDisconnect; + PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData; +} WLX_DISPATCH_VERSION_1_3,*PWLX_DISPATCH_VERSION_1_3; + +typedef struct _WLX_DISPATCH_VERSION_1_4 { + PWLX_USE_CTRL_ALT_DEL WlxUseCtrlAltDel; + PWLX_SET_CONTEXT_POINTER WlxSetContextPointer; + PWLX_SAS_NOTIFY WlxSasNotify; + PWLX_SET_TIMEOUT WlxSetTimeout; + PWLX_ASSIGN_SHELL_PROTECTION WlxAssignShellProtection; + PWLX_MESSAGE_BOX WlxMessageBox; + PWLX_DIALOG_BOX WlxDialogBox; + PWLX_DIALOG_BOX_PARAM WlxDialogBoxParam; + PWLX_DIALOG_BOX_INDIRECT WlxDialogBoxIndirect; + PWLX_DIALOG_BOX_INDIRECT_PARAM WlxDialogBoxIndirectParam; + PWLX_SWITCH_DESKTOP_TO_USER WlxSwitchDesktopToUser; + PWLX_SWITCH_DESKTOP_TO_WINLOGON WlxSwitchDesktopToWinlogon; + PWLX_CHANGE_PASSWORD_NOTIFY WlxChangePasswordNotify; + PWLX_GET_SOURCE_DESKTOP WlxGetSourceDesktop; + PWLX_SET_RETURN_DESKTOP WlxSetReturnDesktop; + PWLX_CREATE_USER_DESKTOP WlxCreateUserDesktop; + PWLX_CHANGE_PASSWORD_NOTIFY_EX WlxChangePasswordNotifyEx; + PWLX_CLOSE_USER_DESKTOP WlxCloseUserDesktop; + PWLX_SET_OPTION WlxSetOption; + PWLX_GET_OPTION WlxGetOption; + PWLX_WIN31_MIGRATE WlxWin31Migrate; + PWLX_QUERY_CLIENT_CREDENTIALS WlxQueryClientCredentials; + PWLX_QUERY_IC_CREDENTIALS WlxQueryInetConnectorCredentials; + PWLX_DISCONNECT WlxDisconnect; + PWLX_QUERY_TERMINAL_SERVICES_DATA WlxQueryTerminalServicesData; + PWLX_QUERY_CONSOLESWITCH_CREDENTIALS WlxQueryConsoleSwitchCredentials; + PWLX_QUERY_TS_LOGON_CREDENTIALS WlxQueryTsLogonCredentials; +} WLX_DISPATCH_VERSION_1_4,*PWLX_DISPATCH_VERSION_1_4; + +typedef DWORD (*PFNMSGECALLBACK)(WINBOOL bVerbose,LPWSTR lpMessage); + +typedef struct _WLX_NOTIFICATION_INFO { + ULONG Size; + ULONG Flags; + PWSTR UserName; + PWSTR Domain; + PWSTR WindowStation; + HANDLE hToken; + HDESK hDesktop; + PFNMSGECALLBACK pStatusCallback; +} WLX_NOTIFICATION_INFO,*PWLX_NOTIFICATION_INFO; +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanapi.h new file mode 100644 index 00000000..46f3a84d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanapi.h @@ -0,0 +1,1093 @@ +/** + * 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_WLANAPI +#define _INC_WLANAPI + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define WLAN_MAX_NAME_LENGTH L2_PROFILE_MAX_NAME_LENGTH + +#define WLAN_SET_EAPHOST_DATA_ALL_USERS 0x00000001 + +#define WLAN_NOTIFICATION_SOURCE_NONE L2_NOTIFICATION_SOURCE_NONE +#define WLAN_NOTIFICATION_SOURCE_ALL L2_NOTIFICATION_SOURCE_ALL +#define WLAN_NOTIFICATION_SOURCE_ACM L2_NOTIFICATION_SOURCE_WLAN_ACM +#define WLAN_NOTIFICATION_SOURCE_MSM L2_NOTIFICATION_SOURCE_WLAN_MSM +#define WLAN_NOTIFICATION_SOURCE_SECURITY L2_NOTIFICATION_SOURCE_WLAN_SECURITY +#define WLAN_NOTIFICATION_SOURCE_IHV L2_NOTIFICATION_SOURCE_WLAN_IHV +#define WLAN_NOTIFICATION_SOURCE_HNWK L2_NOTIFICATION_SOURCE_WLAN_HNWK +#define WLAN_NOTIFICATION_SOURCE_ONEX L2_NOTIFICATION_SOURCE_ONEX +#define WLAN_NOTIFICATION_SOURCE_DEVICE_SERVICE L2_NOTIFICATION_SOURCE_WLAN_DEVICE_SERVICE + +#define WLAN_REASON_CODE_SUCCESS L2_REASON_CODE_SUCCESS +#define WLAN_REASON_CODE_UNKNOWN L2_REASON_CODE_UNKNOWN +#define WLAN_REASON_CODE_RANGE_SIZE L2_REASON_CODE_GROUP_SIZE +#define WLAN_REASON_CODE_BASE L2_REASON_CODE_DOT11_AC_BASE +#define WLAN_REASON_CODE_AC_BASE L2_REASON_CODE_DOT11_AC_BASE +#define WLAN_REASON_CODE_AC_CONNECT_BASE (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) +#define WLAN_REASON_CODE_AC_END (WLAN_REASON_CODE_AC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) +#define WLAN_REASON_CODE_PROFILE_BASE L2_REASON_CODE_PROFILE_BASE +#define WLAN_REASON_CODE_PROFILE_CONNECT_BASE (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) +#define WLAN_REASON_CODE_PROFILE_END (WLAN_REASON_CODE_PROFILE_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) +#define WLAN_REASON_CODE_MSM_BASE L2_REASON_CODE_DOT11_MSM_BASE +#define WLAN_REASON_CODE_MSM_CONNECT_BASE (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) +#define WLAN_REASON_CODE_MSM_END (WLAN_REASON_CODE_MSM_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) +#define WLAN_REASON_CODE_MSMSEC_BASE L2_REASON_CODE_DOT11_SECURITY_BASE +#define WLAN_REASON_CODE_MSMSEC_CONNECT_BASE (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE / 2) +#define WLAN_REASON_CODE_MSMSEC_END (WLAN_REASON_CODE_MSMSEC_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) +#define WLAN_REASON_CODE_RESERVED_BASE L2_REASON_CODE_RESERVED_BASE +#define WLAN_REASON_CODE_RESERVED_END (WLAN_REASON_CODE_RESERVED_BASE + WLAN_REASON_CODE_RANGE_SIZE - 1) +#define WLAN_REASON_CODE_NETWORK_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +1) +#define WLAN_REASON_CODE_PROFILE_NOT_COMPATIBLE (WLAN_REASON_CODE_AC_BASE +2) +#define WLAN_REASON_CODE_NO_AUTO_CONNECTION (WLAN_REASON_CODE_AC_CONNECT_BASE +1) +#define WLAN_REASON_CODE_NOT_VISIBLE (WLAN_REASON_CODE_AC_CONNECT_BASE +2) +#define WLAN_REASON_CODE_GP_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +3) +#define WLAN_REASON_CODE_USER_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE +4) +#define WLAN_REASON_CODE_BSS_TYPE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE +5) +#define WLAN_REASON_CODE_IN_FAILED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +6) +#define WLAN_REASON_CODE_IN_BLOCKED_LIST (WLAN_REASON_CODE_AC_CONNECT_BASE +7) +#define WLAN_REASON_CODE_SSID_LIST_TOO_LONG (WLAN_REASON_CODE_AC_CONNECT_BASE +8) +#define WLAN_REASON_CODE_CONNECT_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +9) +#define WLAN_REASON_CODE_SCAN_CALL_FAIL (WLAN_REASON_CODE_AC_CONNECT_BASE +10) +#define WLAN_REASON_CODE_NETWORK_NOT_AVAILABLE (WLAN_REASON_CODE_AC_CONNECT_BASE +11) +#define WLAN_REASON_CODE_PROFILE_CHANGED_OR_DELETED (WLAN_REASON_CODE_AC_CONNECT_BASE +12) +#define WLAN_REASON_CODE_KEY_MISMATCH (WLAN_REASON_CODE_AC_CONNECT_BASE + 13) +#define WLAN_REASON_CODE_USER_NOT_RESPOND (WLAN_REASON_CODE_AC_CONNECT_BASE + 14) +#define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED_FOR_CLIENT (WLAN_REASON_CODE_AC_CONNECT_BASE + 15) +#define WLAN_REASON_CODE_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_AC_CONNECT_BASE + 16) +#define WLAN_REASON_CODE_HOTSPOT2_PROFILE_DENIED (WLAN_REASON_CODE_AC_CONNECT_BASE + 17) +#define WLAN_REASON_CODE_INVALID_PROFILE_SCHEMA (WLAN_REASON_CODE_PROFILE_BASE +1) +#define WLAN_REASON_CODE_PROFILE_MISSING (WLAN_REASON_CODE_PROFILE_BASE +2) +#define WLAN_REASON_CODE_INVALID_PROFILE_NAME (WLAN_REASON_CODE_PROFILE_BASE +3) +#define WLAN_REASON_CODE_INVALID_PROFILE_TYPE (WLAN_REASON_CODE_PROFILE_BASE +4) +#define WLAN_REASON_CODE_INVALID_PHY_TYPE (WLAN_REASON_CODE_PROFILE_BASE +5) +#define WLAN_REASON_CODE_MSM_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +6) +#define WLAN_REASON_CODE_IHV_SECURITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +7) +#define WLAN_REASON_CODE_IHV_OUI_MISMATCH (WLAN_REASON_CODE_PROFILE_BASE +8) +#define WLAN_REASON_CODE_IHV_OUI_MISSING (WLAN_REASON_CODE_PROFILE_BASE +9) +#define WLAN_REASON_CODE_IHV_SETTINGS_MISSING (WLAN_REASON_CODE_PROFILE_BASE +10) +#define WLAN_REASON_CODE_CONFLICT_SECURITY (WLAN_REASON_CODE_PROFILE_BASE +11) +#define WLAN_REASON_CODE_SECURITY_MISSING (WLAN_REASON_CODE_PROFILE_BASE +12) +#define WLAN_REASON_CODE_INVALID_BSS_TYPE (WLAN_REASON_CODE_PROFILE_BASE +13) +#define WLAN_REASON_CODE_INVALID_ADHOC_CONNECTION_MODE (WLAN_REASON_CODE_PROFILE_BASE +14) +#define WLAN_REASON_CODE_NON_BROADCAST_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +15) +#define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_ADHOC (WLAN_REASON_CODE_PROFILE_BASE +16) +#define WLAN_REASON_CODE_AUTO_SWITCH_SET_FOR_MANUAL_CONNECTION (WLAN_REASON_CODE_PROFILE_BASE +17) +#define WLAN_REASON_CODE_IHV_SECURITY_ONEX_MISSING (WLAN_REASON_CODE_PROFILE_BASE +18) +#define WLAN_REASON_CODE_PROFILE_SSID_INVALID (WLAN_REASON_CODE_PROFILE_BASE +19) +#define WLAN_REASON_CODE_TOO_MANY_SSID (WLAN_REASON_CODE_PROFILE_BASE +20) +#define WLAN_REASON_CODE_IHV_CONNECTIVITY_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +21) +#define WLAN_REASON_CODE_BAD_MAX_NUMBER_OF_CLIENTS_FOR_AP (WLAN_REASON_CODE_PROFILE_BASE +22) +#define WLAN_REASON_CODE_INVALID_CHANNEL (WLAN_REASON_CODE_PROFILE_BASE +23) +#define WLAN_REASON_CODE_OPERATION_MODE_NOT_SUPPORTED (WLAN_REASON_CODE_PROFILE_BASE +24) +#define WLAN_REASON_CODE_AUTO_AP_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +25) +#define WLAN_REASON_CODE_AUTO_CONNECTION_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +26) +#define WLAN_REASON_CODE_HOTSPOT2_PROFILE_NOT_ALLOWED (WLAN_REASON_CODE_PROFILE_BASE +27) +#define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET_BY_OS (WLAN_REASON_CODE_MSM_BASE +1) +#define WLAN_REASON_CODE_UNSUPPORTED_SECURITY_SET (WLAN_REASON_CODE_MSM_BASE +2) +#define WLAN_REASON_CODE_BSS_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +3) +#define WLAN_REASON_CODE_PHY_TYPE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +4) +#define WLAN_REASON_CODE_DATARATE_UNMATCH (WLAN_REASON_CODE_MSM_BASE +5) +#define WLAN_REASON_CODE_USER_CANCELLED (WLAN_REASON_CODE_MSM_CONNECT_BASE+1) +#define WLAN_REASON_CODE_ASSOCIATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+2) +#define WLAN_REASON_CODE_ASSOCIATION_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+3) +#define WLAN_REASON_CODE_PRE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+4) +#define WLAN_REASON_CODE_START_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+5) +#define WLAN_REASON_CODE_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+6) +#define WLAN_REASON_CODE_SECURITY_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+7) +#define WLAN_REASON_CODE_ROAMING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+8) +#define WLAN_REASON_CODE_ROAMING_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+9) +#define WLAN_REASON_CODE_ADHOC_SECURITY_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+10) +#define WLAN_REASON_CODE_DRIVER_DISCONNECTED (WLAN_REASON_CODE_MSM_CONNECT_BASE+11) +#define WLAN_REASON_CODE_DRIVER_OPERATION_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+12) +#define WLAN_REASON_CODE_IHV_NOT_AVAILABLE (WLAN_REASON_CODE_MSM_CONNECT_BASE+13) +#define WLAN_REASON_CODE_IHV_NOT_RESPONDING (WLAN_REASON_CODE_MSM_CONNECT_BASE+14) +#define WLAN_REASON_CODE_DISCONNECT_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+15) +#define WLAN_REASON_CODE_INTERNAL_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+16) +#define WLAN_REASON_CODE_UI_REQUEST_TIMEOUT (WLAN_REASON_CODE_MSM_CONNECT_BASE+17) +#define WLAN_REASON_CODE_TOO_MANY_SECURITY_ATTEMPTS (WLAN_REASON_CODE_MSM_CONNECT_BASE+18) +#define WLAN_REASON_CODE_AP_STARTING_FAILURE (WLAN_REASON_CODE_MSM_CONNECT_BASE+19) +#define WLAN_REASON_CODE_NO_VISIBLE_AP (WLAN_REASON_CODE_MSM_CONNECT_BASE+20) +#define WLAN_REASON_CODE_MSMSEC_MIN WLAN_REASON_CODE_MSMSEC_BASE +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_KEY_INDEX (WLAN_REASON_CODE_MSMSEC_BASE+1) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_PRESENT (WLAN_REASON_CODE_MSMSEC_BASE+2) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+3) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_PSK_LENGTH (WLAN_REASON_CODE_MSMSEC_BASE+4) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_NO_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+5) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_TOO_MANY_AUTH_CIPHER_SPECIFIED (WLAN_REASON_CODE_MSMSEC_BASE+6) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_DUPLICATE_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+7) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_RAWDATA_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+8) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_AUTH_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+9) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_DISABLED (WLAN_REASON_CODE_MSMSEC_BASE+10) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_ONEX_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+11) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+12) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_SIZE (WLAN_REASON_CODE_MSMSEC_BASE+13) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PMKCACHE_TTL (WLAN_REASON_CODE_MSMSEC_BASE+14) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_MODE (WLAN_REASON_CODE_MSMSEC_BASE+15) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_PREAUTH_THROTTLE (WLAN_REASON_CODE_MSMSEC_BASE+16) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_PREAUTH_ONLY_ENABLED (WLAN_REASON_CODE_MSMSEC_BASE+17) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+18) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_NIC (WLAN_REASON_CODE_MSMSEC_BASE+19) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE (WLAN_REASON_CODE_MSMSEC_BASE+20) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_DISCOVERY (WLAN_REASON_CODE_MSMSEC_BASE+21) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_PASSPHRASE_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+22) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEYMATERIAL_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+23) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_WRONG_KEYTYPE (WLAN_REASON_CODE_MSMSEC_BASE+24) +#define WLAN_REASON_CODE_MSMSEC_MIXED_CELL (WLAN_REASON_CODE_MSMSEC_BASE+25) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_AUTH_TIMERS_INVALID (WLAN_REASON_CODE_MSMSEC_BASE+26) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_INVALID_GKEY_INTV (WLAN_REASON_CODE_MSMSEC_BASE+27) +#define WLAN_REASON_CODE_MSMSEC_TRANSITION_NETWORK (WLAN_REASON_CODE_MSMSEC_BASE+28) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_KEY_UNMAPPED_CHAR (WLAN_REASON_CODE_MSMSEC_BASE+29) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+30) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+31) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_SAFE_MODE (WLAN_REASON_CODE_MSMSEC_BASE+32) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NIC (WLAN_REASON_CODE_MSMSEC_BASE+33) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_PROFILE_SAFE_MODE_NW (WLAN_REASON_CODE_MSMSEC_BASE+34) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_AUTH (WLAN_REASON_CODE_MSMSEC_BASE+35) +#define WLAN_REASON_CODE_MSMSEC_PROFILE_UNSUPPORTED_CIPHER (WLAN_REASON_CODE_MSMSEC_BASE+36) +#define WLAN_REASON_CODE_MSMSEC_CAPABILITY_MFP_NW_NIC (WLAN_REASON_CODE_MSMSEC_BASE+37) +#define WLAN_REASON_CODE_MSMSEC_UI_REQUEST_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+1) +#define WLAN_REASON_CODE_MSMSEC_AUTH_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+2) +#define WLAN_REASON_CODE_MSMSEC_AUTH_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+3) +#define WLAN_REASON_CODE_MSMSEC_KEY_START_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+4) +#define WLAN_REASON_CODE_MSMSEC_KEY_SUCCESS_TIMEOUT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+5) +#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+6) +#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+7) +#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+8) +#define WLAN_REASON_CODE_MSMSEC_PR_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+9) +#define WLAN_REASON_CODE_MSMSEC_SEC_IE_MATCHING (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+10) +#define WLAN_REASON_CODE_MSMSEC_NO_PAIRWISE_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+11) +#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+12) +#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+13) +#define WLAN_REASON_CODE_MSMSEC_PEER_INDICATED_INSECURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+14) +#define WLAN_REASON_CODE_MSMSEC_NO_AUTHENTICATOR (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+15) +#define WLAN_REASON_CODE_MSMSEC_NIC_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+16) +#define WLAN_REASON_CODE_MSMSEC_CANCELLED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+17) +#define WLAN_REASON_CODE_MSMSEC_KEY_FORMAT (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+18) +#define WLAN_REASON_CODE_MSMSEC_DOWNGRADE_DETECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+19) +#define WLAN_REASON_CODE_MSMSEC_PSK_MISMATCH_SUSPECTED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+20) +#define WLAN_REASON_CODE_MSMSEC_FORCED_FAILURE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+21) +#define WLAN_REASON_CODE_MSMSEC_M3_TOO_MANY_RSNIE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+22) +#define WLAN_REASON_CODE_MSMSEC_M2_MISSING_KEY_DATA (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+23) +#define WLAN_REASON_CODE_MSMSEC_M2_MISSING_IE (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+24) +#define WLAN_REASON_CODE_MSMSEC_AUTH_WCN_COMPLETED (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+25) +#define WLAN_REASON_CODE_MSMSEC_M3_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+26) +#define WLAN_REASON_CODE_MSMSEC_G1_MISSING_MGMT_GRP_KEY (WLAN_REASON_CODE_MSMSEC_CONNECT_BASE+27) +#define WLAN_REASON_CODE_MSMSEC_MAX WLAN_REASON_CODE_MSMSEC_END + +#define WLAN_AVAILABLE_NETWORK_CONNECTED 0x00000001 +#define WLAN_AVAILABLE_NETWORK_HAS_PROFILE 0x00000002 +#define WLAN_AVAILABLE_NETWORK_CONSOLE_USER_PROFILE 0x00000004 +#define WLAN_AVAILABLE_NETWORK_INTERWORKING_SUPPORTED 0x00000008 +#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ENABLED 0x00000010 +#define WLAN_AVAILABLE_NETWORK_ANQP_SUPPORTED 0x00000020 +#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_DOMAIN 0x00000040 +#define WLAN_AVAILABLE_NETWORK_HOTSPOT2_ROAMING 0x00000080 +#define WLAN_AVAILABLE_NETWORK_AUTO_CONNECT_FAILED 0x00000100 + +#define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_ADHOC_PROFILES 0x00000001 +#define WLAN_AVAILABLE_NETWORK_INCLUDE_ALL_MANUAL_HIDDEN_PROFILES 0x00000002 + +#define WLAN_READ_ACCESS (STANDARD_RIGHTS_READ | FILE_READ_DATA) +#define WLAN_EXECUTE_ACCESS (WLAN_READ_ACCESS | STANDARD_RIGHTS_EXECUTE | FILE_EXECUTE) +#define WLAN_WRITE_ACCESS (WLAN_READ_ACCESS | WLAN_EXECUTE_ACCESS | STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | DELETE | WRITE_DAC) + +typedef DWORD WLAN_REASON_CODE, *PWLAN_REASON_CODE; +typedef ULONG WLAN_SIGNAL_QUALITY, *PWLAN_SIGNAL_QUALITY; + +typedef struct _DOT11_NETWORK { + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; +} DOT11_NETWORK, *PDOT11_NETWORK; + +typedef enum _DOT11_RADIO_STATE { + dot11_radio_state_unknown, + dot11_radio_state_on, + dot11_radio_state_off +} DOT11_RADIO_STATE, *PDOT11_RADIO_STATE; + +typedef enum _WLAN_NOTIFICATION_ACM { + wlan_notification_acm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, + wlan_notification_acm_autoconf_enabled, + wlan_notification_acm_autoconf_disabled, + wlan_notification_acm_background_scan_enabled, + wlan_notification_acm_background_scan_disabled, + wlan_notification_acm_bss_type_change, + wlan_notification_acm_power_setting_change, + wlan_notification_acm_scan_complete, + wlan_notification_acm_scan_fail, + wlan_notification_acm_connection_start, + wlan_notification_acm_connection_complete, + wlan_notification_acm_connection_attempt_fail, + wlan_notification_acm_filter_list_change, + wlan_notification_acm_interface_arrival, + wlan_notification_acm_interface_removal, + wlan_notification_acm_profile_change, + wlan_notification_acm_profile_name_change, + wlan_notification_acm_profiles_exhausted, + wlan_notification_acm_network_not_available, + wlan_notification_acm_network_available, + wlan_notification_acm_disconnecting, + wlan_notification_acm_disconnected, + wlan_notification_acm_adhoc_network_state_change, + wlan_notification_acm_profile_unblocked, + wlan_notification_acm_screen_power_change, + wlan_notification_acm_profile_blocked, + wlan_notification_acm_scan_list_refresh, + wlan_notification_acm_operational_state_change, + wlan_notification_acm_end +} WLAN_NOTIFICATION_ACM, *PWLAN_NOTIFICATION_ACM; + +typedef enum _WLAN_NOTIFICATION_MSM { + wlan_notification_msm_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, + wlan_notification_msm_associating, + wlan_notification_msm_associated, + wlan_notification_msm_authenticating, + wlan_notification_msm_connected, + wlan_notification_msm_roaming_start, + wlan_notification_msm_roaming_end, + wlan_notification_msm_radio_state_change, + wlan_notification_msm_signal_quality_change, + wlan_notification_msm_disassociating, + wlan_notification_msm_disconnected, + wlan_notification_msm_peer_join, + wlan_notification_msm_peer_leave, + wlan_notification_msm_adapter_removal, + wlan_notification_msm_adapter_operation_mode_change, + wlan_notification_msm_link_degraded, + wlan_notification_msm_link_improved, + wlan_notification_msm_end +} WLAN_NOTIFICATION_MSM, *PWLAN_NOTIFICATION_MSM; + +typedef enum _WLAN_NOTIFICATION_SECURITY { + wlan_notification_security_start = L2_NOTIFICATION_CODE_PUBLIC_BEGIN, + wlan_notification_security_end +} WLAN_NOTIFICATION_SECURITY, *PWLAN_NOTIFICATION_SECURITY; + +typedef enum _WLAN_INTERFACE_STATE { + wlan_interface_state_not_ready = 0, + wlan_interface_state_connected = 1, + wlan_interface_state_ad_hoc_network_formed = 2, + wlan_interface_state_disconnecting = 3, + wlan_interface_state_disconnected = 4, + wlan_interface_state_associating = 5, + wlan_interface_state_discovering = 6, + wlan_interface_state_authenticating = 7 +} WLAN_INTERFACE_STATE, *PWLAN_INTERFACE_STATE; + +typedef enum _WLAN_CONNECTION_MODE { + wlan_connection_mode_profile, + wlan_connection_mode_temporary_profile, + wlan_connection_mode_discovery_secure, + wlan_connection_mode_discovery_unsecure, + wlan_connection_mode_auto, + wlan_connection_mode_invalid +} WLAN_CONNECTION_MODE, *PWLAN_CONNECTION_MODE; + +typedef enum _WLAN_INTERFACE_TYPE { + wlan_interface_type_emulated_802_11 = 0, + wlan_interface_type_native_802_11, + wlan_interface_type_invalid +} WLAN_INTERFACE_TYPE, *PWLAN_INTERFACE_TYPE; + +typedef enum _WLAN_INTF_OPCODE { + wlan_intf_opcode_autoconf_start = 0x000000000, + wlan_intf_opcode_autoconf_enabled, + wlan_intf_opcode_background_scan_enabled, + wlan_intf_opcode_media_streaming_mode, + wlan_intf_opcode_radio_state, + wlan_intf_opcode_bss_type, + wlan_intf_opcode_interface_state, + wlan_intf_opcode_current_connection, + wlan_intf_opcode_channel_number, + wlan_intf_opcode_supported_infrastructure_auth_cipher_pairs, + wlan_intf_opcode_supported_adhoc_auth_cipher_pairs, + wlan_intf_opcode_supported_country_or_region_string_list, + wlan_intf_opcode_current_operation_mode, + wlan_intf_opcode_supported_safe_mode, + wlan_intf_opcode_certified_safe_mode, + wlan_intf_opcode_hosted_network_capable, + wlan_intf_opcode_management_frame_protection_capable, + wlan_intf_opcode_secondary_sta_interfaces, + wlan_intf_opcode_secondary_sta_synchronized_connections, + wlan_intf_opcode_autoconf_end = 0x0fffffff, + wlan_intf_opcode_msm_start = 0x10000100, + wlan_intf_opcode_statistics, + wlan_intf_opcode_rssi, + wlan_intf_opcode_msm_end = 0x1fffffff, + wlan_intf_opcode_security_start = 0x20010000, + wlan_intf_opcode_security_end = 0x2fffffff, + wlan_intf_opcode_ihv_start = 0x30000000, + wlan_intf_opcode_ihv_end = 0x3fffffff +} WLAN_INTF_OPCODE, *PWLAN_INTF_OPCODE; + +typedef enum _WLAN_OPCODE_VALUE_TYPE { + wlan_opcode_value_type_query_only = 0, + wlan_opcode_value_type_set_by_group_policy = 1, + wlan_opcode_value_type_set_by_user = 2, + wlan_opcode_value_type_invalid = 3 +} WLAN_OPCODE_VALUE_TYPE, *PWLAN_OPCODE_VALUE_TYPE; + +typedef enum _WLAN_POWER_SETTING { + wlan_power_setting_no_saving, + wlan_power_setting_low_saving, + wlan_power_setting_medium_saving, + wlan_power_setting_maximum_saving, + wlan_power_setting_invalid +} WLAN_POWER_SETTING, *PWLAN_POWER_SETTING; + +typedef struct _WLAN_ASSOCIATION_ATTRIBUTES { + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; + DOT11_MAC_ADDRESS dot11Bssid; + DOT11_PHY_TYPE dot11PhyType; + ULONG uDot11PhyIndex; + WLAN_SIGNAL_QUALITY wlanSignalQuality; + ULONG ulRxRate; + ULONG ulTxRate; +} WLAN_ASSOCIATION_ATTRIBUTES, *PWLAN_ASSOCIATION_ATTRIBUTES; + +typedef struct _WLAN_AUTH_CIPHER_PAIR_LIST { + DWORD dwNumberOfItems; + DOT11_AUTH_CIPHER_PAIR pAuthCipherPairList[1]; +} WLAN_AUTH_CIPHER_PAIR_LIST, *PWLAN_AUTH_CIPHER_PAIR_LIST; + +typedef struct _WLAN_NOTIFICATION_DATA { + DWORD NotificationSource; + DWORD NotificationCode; + GUID InterfaceGuid; + DWORD dwDataSize; + PVOID pData; +} WLAN_NOTIFICATION_DATA, *PWLAN_NOTIFICATION_DATA; + +#define WLAN_MAX_PHY_TYPE_NUMBER 8 + +typedef struct _WLAN_AVAILABLE_NETWORK { + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; + ULONG uNumberOfBssids; + WINBOOL bNetworkConnectable; + WLAN_REASON_CODE wlanNotConnectableReason; + ULONG uNumberOfPhyTypes; + DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER]; + WINBOOL bMorePhyTypes; + WLAN_SIGNAL_QUALITY wlanSignalQuality; + WINBOOL bSecurityEnabled; + DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm; + DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm; + DWORD dwFlags; + DWORD dwReserved; +} WLAN_AVAILABLE_NETWORK, *PWLAN_AVAILABLE_NETWORK; + +typedef struct _WLAN_AVAILABLE_NETWORK_V2 { + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; + ULONG uNumberOfBssids; + WINBOOL bNetworkConnectable; + WLAN_REASON_CODE wlanNotConnectableReason; + ULONG uNumberOfPhyTypes; + DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_TYPE_NUMBER]; + WINBOOL bMorePhyTypes; + WLAN_SIGNAL_QUALITY wlanSignalQuality; + WINBOOL bSecurityEnabled; + DOT11_AUTH_ALGORITHM dot11DefaultAuthAlgorithm; + DOT11_CIPHER_ALGORITHM dot11DefaultCipherAlgorithm; + DWORD dwFlags; + DOT11_ACCESSNETWORKOPTIONS AccessNetworkOptions; + DOT11_HESSID dot11HESSID; + DOT11_VENUEINFO VenueInfo; + DWORD dwReserved; +} WLAN_AVAILABLE_NETWORK_V2, *PWLAN_AVAILABLE_NETWORK_V2; + +typedef struct _WLAN_AVAILABLE_NETWORK_LIST { + DWORD dwNumberOfItems; + DWORD dwIndex; + WLAN_AVAILABLE_NETWORK Network[1]; +} WLAN_AVAILABLE_NETWORK_LIST, *PWLAN_AVAILABLE_NETWORK_LIST; + +typedef struct _WLAN_AVAILABLE_NETWORK_LIST_V2 { + DWORD dwNumberOfItems; + DWORD dwIndex; + WLAN_AVAILABLE_NETWORK_V2 Network[1]; +} WLAN_AVAILABLE_NETWORK_LIST_V2, *PWLAN_AVAILABLE_NETWORK_LIST_V2; + +typedef struct _WLAN_SECURITY_ATTRIBUTES { + WINBOOL bSecurityEnabled; + WINBOOL bOneXEnabled; + DOT11_AUTH_ALGORITHM dot11AuthAlgorithm; + DOT11_CIPHER_ALGORITHM dot11CipherAlgorithm; +} WLAN_SECURITY_ATTRIBUTES, *PWLAN_SECURITY_ATTRIBUTES; + +typedef struct _WLAN_CONNECTION_ATTRIBUTES { + WLAN_INTERFACE_STATE isState; + WLAN_CONNECTION_MODE wlanConnectionMode; + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + WLAN_ASSOCIATION_ATTRIBUTES wlanAssociationAttributes; + WLAN_SECURITY_ATTRIBUTES wlanSecurityAttributes; +} WLAN_CONNECTION_ATTRIBUTES, *PWLAN_CONNECTION_ATTRIBUTES; + +/* Assuming stdcall */ +typedef VOID (CALLBACK *WLAN_NOTIFICATION_CALLBACK)( + PWLAN_NOTIFICATION_DATA , + PVOID +); + +#define WLAN_CONNECTION_NOTIFICATION_ADHOC_NETWORK_FORMED 0x00000001 +#define WLAN_CONNECTION_NOTIFICATION_CONSOLE_USER_PROFILE 0x00000004 + +typedef struct _WLAN_CONNECTION_NOTIFICATION_DATA { + WLAN_CONNECTION_MODE wlanConnectionMode; + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; + WINBOOL bSecurityEnabled; + WLAN_REASON_CODE wlanReasonCode; + DWORD dwFlags; + WCHAR strProfileXml[1]; +} WLAN_CONNECTION_NOTIFICATION_DATA, *PWLAN_CONNECTION_NOTIFICATION_DATA; + +typedef struct _WLAN_DEVICE_SERVICE_NOTIFICATION_DATA { + GUID DeviceService; + DWORD dwOpCode; + DWORD dwDataSize; + BYTE DataBlob[1]; +} WLAN_DEVICE_SERVICE_NOTIFICATION_DATA, *PWLAN_DEVICE_SERVICE_NOTIFICATION_DATA; + +#define WLAN_CONNECTION_HIDDEN_NETWORK 0x00000001 +#define WLAN_CONNECTION_ADHOC_JOIN_ONLY 0x00000002 +#define WLAN_CONNECTION_IGNORE_PRIVACY_BIT 0x00000004 +#define WLAN_CONNECTION_EAPOL_PASSTHROUGH 0x00000008 +#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE 0x00000010 +#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_CONNECTION_MODE_AUTO 0x00000020 +#define WLAN_CONNECTION_PERSIST_DISCOVERY_PROFILE_OVERWRITE_EXISTING 0x00000040 + +typedef struct _WLAN_CONNECTION_PARAMETERS { + WLAN_CONNECTION_MODE wlanConnectionMode; + LPCWSTR strProfile; + PDOT11_SSID pDot11Ssid; + PDOT11_BSSID_LIST pDesiredBssidList; + DOT11_BSS_TYPE dot11BssType; + DWORD dwFlags; +} WLAN_CONNECTION_PARAMETERS, *PWLAN_CONNECTION_PARAMETERS; + +typedef struct _WLAN_CONNECTION_PARAMETERS_V2 { + WLAN_CONNECTION_MODE wlanConnectionMode; + LPCWSTR strProfile; + PDOT11_SSID pDot11Ssid; + PDOT11_HESSID pDot11Hessid; + PDOT11_BSSID_LIST pDesiredBssidList; + DOT11_BSS_TYPE dot11BssType; + DWORD dwFlags; + PDOT11_ACCESSNETWORKOPTIONS pDot11AccessNetworkOptions; +} WLAN_CONNECTION_PARAMETERS_V2, *PWLAN_CONNECTION_PARAMETERS_V2; + +typedef struct _WLAN_INTERFACE_INFO { + GUID InterfaceGuid; + WCHAR strInterfaceDescription[WLAN_MAX_NAME_LENGTH]; + WLAN_INTERFACE_STATE isState; +} WLAN_INTERFACE_INFO, *PWLAN_INTERFACE_INFO; + +typedef struct _WLAN_INTERFACE_INFO_LIST { + DWORD dwNumberOfItems; + DWORD dwIndex; + WLAN_INTERFACE_INFO InterfaceInfo[]; +} WLAN_INTERFACE_INFO_LIST, *PWLAN_INTERFACE_INFO_LIST; + +typedef struct _WLAN_PROFILE_INFO { + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + DWORD dwFlags; +} WLAN_PROFILE_INFO, *PWLAN_PROFILE_INFO; + +typedef struct _WLAN_PROFILE_INFO_LIST { + DWORD dwNumberOfItems; + DWORD dwIndex; + WLAN_PROFILE_INFO ProfileInfo[1]; +} WLAN_PROFILE_INFO_LIST, *PWLAN_PROFILE_INFO_LIST; + +#define WFD_API_VERSION_1_0 0x00000001 + +#if _WIN32_WINNT >= _WIN32_WINNT_WIN8 +#define WFD_API_SUPPORTED +#define WFD_API_VERSION WFD_API_VERSION_1_0 +#endif + +#ifdef WFD_API_SUPPORTED + typedef enum _WFD_ROLE_TYPE { + WFD_ROLE_TYPE_NONE = 0x00, + WFD_ROLE_TYPE_DEVICE = 0x01, + WFD_ROLE_TYPE_GROUP_OWNER = 0x02, + WFD_ROLE_TYPE_CLIENT = 0x04, + WFD_ROLE_TYPE_MAX = 0x05 + } WFD_ROLE_TYPE, *PWFD_ROLE_TYPE; +#endif + + typedef struct _WFD_GROUP_ID { + DOT11_MAC_ADDRESS DeviceAddress; + DOT11_SSID GroupSSID; + } WFD_GROUP_ID, *PWFD_GROUP_ID; + +PVOID WINAPI WlanAllocateMemory( + DWORD dwMemorySize +); + +DWORD WINAPI WlanCloseHandle( + HANDLE hClientHandle, + PVOID pReserved +); + +DWORD WINAPI WlanConnect( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + const PWLAN_CONNECTION_PARAMETERS pConnectionParameters, + PVOID pReserved +); + +DWORD WINAPI WlanConnect2( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + const PWLAN_CONNECTION_PARAMETERS_V2 pConnectionParameters, + PVOID pReserved +); + +DWORD WINAPI WlanDeleteProfile( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + PVOID pReserved +); + +DWORD WINAPI WlanDeviceServiceCommand( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPGUID pDeviceServiceGuid, + DWORD dwOpCode, + DWORD dwInBufferSize, + PVOID pInBuffer, + DWORD dwOutBufferSize, + PVOID pOutBuffer, + PDWORD pdwBytesReturned +); + +DWORD WINAPI WlanDisconnect( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + PVOID pReserved +); + +DWORD WINAPI WlanEnumInterfaces( + HANDLE hClientHandle, + PVOID pReserved, + PWLAN_INTERFACE_INFO_LIST *ppInterfaceList +); + +VOID WINAPI WlanFreeMemory( + PVOID pMemory +); + +DWORD WINAPI WlanGetAvailableNetworkList( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + DWORD dwFlags, + PVOID pReserved, + PWLAN_AVAILABLE_NETWORK_LIST *ppAvailableNetworkList +); + +DWORD WINAPI WlanGetAvailableNetworkList2( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + DWORD dwFlags, + PVOID pReserved, + PWLAN_AVAILABLE_NETWORK_LIST_V2 *ppAvailableNetworkList +); + +DWORD WINAPI WlanGetProfile( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + PVOID pReserved, + LPWSTR *pstrProfileXml, + DWORD *pdwFlags, + PDWORD pdwGrantedAccess +); + +DWORD WINAPI WlanGetProfileList( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + PVOID pReserved, + PWLAN_PROFILE_INFO_LIST *ppProfileList +); + +DWORD WINAPI WlanOpenHandle( + DWORD dwClientVersion, + PVOID pReserved, + PDWORD pdwNegotiatedVersion, + PHANDLE phClientHandle +); + +DWORD WINAPI WlanQueryInterface( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + WLAN_INTF_OPCODE OpCode, + PVOID pReserved, + PDWORD pdwDataSize, + PVOID *ppData, + PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType +); + +DWORD WINAPI WlanReasonCodeToString( + DWORD dwReasonCode, + DWORD dwBufferSize, + PWCHAR pStringBuffer, + PVOID pReserved +); + +DWORD WINAPI WlanRegisterNotification( + HANDLE hClientHandle, + DWORD dwNotifSource, + WINBOOL bIgnoreDuplicate, + WLAN_NOTIFICATION_CALLBACK funcCallback, + PVOID pCallbackContext, + PVOID pReserved, + PDWORD pdwPrevNotifSource +); + +DWORD WINAPI WlanSetInterface( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + WLAN_INTF_OPCODE OpCode, + DWORD dwDataSize, + const PVOID pData, + PVOID pReserved +); + +DWORD WINAPI WlanSetProfile( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + DWORD dwFlags, + LPCWSTR strProfileXml, + LPCWSTR strAllUserProfileSecurity, + WINBOOL bOverwrite, + PVOID pReserved, + DWORD *pdwReasonCode +); + +DWORD WINAPI WlanSetProfileEapXmlUserData( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + DWORD dwFlags, + LPCWSTR strEapXmlUserData, + PVOID pReserved +); + +DWORD WINAPI WlanSetProfileList( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + DWORD dwItems, + LPCWSTR *strProfileNames, + PVOID pReserved +); + +DWORD WINAPI WlanSetProfilePosition( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + DWORD dwPosition, + PVOID pReserved +); + +typedef enum _WLAN_AUTOCONF_OPCODE { + wlan_autoconf_opcode_start = 0, + wlan_autoconf_opcode_show_denied_networks = 1, + wlan_autoconf_opcode_power_setting = 2, + wlan_autoconf_opcode_only_use_gp_profiles_for_allowed_networks = 3, + wlan_autoconf_opcode_allow_explicit_creds = 4, + wlan_autoconf_opcode_block_period = 5, + wlan_autoconf_opcode_allow_virtual_station_extensibility = 6, + wlan_autoconf_opcode_end = 7 +} WLAN_AUTOCONF_OPCODE, *PWLAN_AUTOCONF_OPCODE; + +typedef enum _WL_DISPLAY_PAGES { + WLConnectionPage, + WLSecurityPage +} WL_DISPLAY_PAGES, *PWL_DISPLAY_PAGES; + +typedef enum _WLAN_ADHOC_NETWORK_STATE { + wlan_adhoc_network_state_formed = 0, + wlan_adhoc_network_state_connected = 1 +} WLAN_ADHOC_NETWORK_STATE, *PWLAN_ADHOC_NETWORK_STATE; + +typedef enum _WLAN_IHV_CONTROL_TYPE { + wlan_ihv_control_type_service, + wlan_ihv_control_type_driver +} WLAN_IHV_CONTROL_TYPE, *PWLAN_IHV_CONTROL_TYPE; + +typedef enum _WLAN_FILTER_LIST_TYPE { + wlan_filter_list_type_gp_permit, + wlan_filter_list_type_gp_deny, + wlan_filter_list_type_user_permit, + wlan_filter_list_type_user_deny +} WLAN_FILTER_LIST_TYPE, *PWLAN_FILTER_LIST_TYPE; + +typedef enum _WLAN_SECURABLE_OBJECT { + wlan_secure_permit_list = 0, + wlan_secure_deny_list = 1, + wlan_secure_ac_enabled = 2, + wlan_secure_bc_scan_enabled = 3, + wlan_secure_bss_type = 4, + wlan_secure_show_denied = 5, + wlan_secure_interface_properties = 6, + wlan_secure_ihv_control = 7, + wlan_secure_all_user_profiles_order = 8, + wlan_secure_add_new_all_user_profiles = 9, + wlan_secure_add_new_per_user_profiles = 10, + wlan_secure_media_streaming_mode_enabled = 11, + wlan_secure_current_operation_mode = 12, + wlan_secure_get_plaintext_key = 13, + wlan_secure_hosted_network_elevated_access = 14, + wlan_secure_virtual_station_extensibility = 15, + wlan_secure_wfd_elevated_access = 16, + WLAN_SECURABLE_OBJECT_COUNT = 17 +} WLAN_SECURABLE_OBJECT, *PWLAN_SECURABLE_OBJECT; + +typedef struct _WLAN_DEVICE_SERVICE_GUID_LIST { + DWORD dwNumberOfItems; + DWORD dwIndex; + GUID DeviceService[1]; +} WLAN_DEVICE_SERVICE_GUID_LIST, *PWLAN_DEVICE_SERVICE_GUID_LIST; + +typedef struct _DOT11_NETWORK_LIST { + DWORD dwNumberOfItems; + DWORD dwIndex; + DOT11_NETWORK Network[1]; +} DOT11_NETWORK_LIST, *PDOT11_NETWORK_LIST; + +#define DOT11_RATE_SET_MAX_LENGTH 126 + +typedef struct _WLAN_RATE_SET { + ULONG uRateSetLength; + USHORT usRateSet[DOT11_RATE_SET_MAX_LENGTH]; +} WLAN_RATE_SET, *PWLAN_RATE_SET; + +typedef struct _WLAN_BSS_ENTRY { + DOT11_SSID dot11Ssid; + ULONG uPhyId; + DOT11_MAC_ADDRESS dot11Bssid; + DOT11_BSS_TYPE dot11BssType; + DOT11_PHY_TYPE dot11BssPhyType; + LONG lRssi; + ULONG uLinkQuality; + BOOLEAN bInRegDomain; + USHORT usBeaconPeriod; + ULONGLONG ullTimestamp; + ULONGLONG ullHostTimestamp; + USHORT usCapabilityInformation; + ULONG ulChCenterFrequency; + WLAN_RATE_SET wlanRateSet; + ULONG ulIeOffset; + ULONG ulIeSize; +} WLAN_BSS_ENTRY, *PWLAN_BSS_ENTRY; + +typedef struct _WLAN_BSS_LIST { + DWORD dwTotalSize; + DWORD dwNumberOfItems; + WLAN_BSS_ENTRY wlanBssEntries[1]; +} WLAN_BSS_LIST, *PWLAN_BSS_LIST; + +typedef struct _WLAN_COUNTRY_OR_REGION_STRING_LIST { + DWORD dwNumberOfItems; + DOT11_COUNTRY_OR_REGION_STRING pCountryOrRegionStringList[1]; +} WLAN_COUNTRY_OR_REGION_STRING_LIST, *PWLAN_COUNTRY_OR_REGION_STRING_LIST; + +#define WLAN_MAX_PHY_INDEX 64 + +typedef struct _WLAN_INTERFACE_CAPABILITY { + WLAN_INTERFACE_TYPE interfaceType; + WINBOOL bDot11DSupported; + DWORD dwMaxDesiredSsidListSize; + DWORD dwMaxDesiredBssidListSize; + DWORD dwNumberOfSupportedPhys; + DOT11_PHY_TYPE dot11PhyTypes[WLAN_MAX_PHY_INDEX]; +} WLAN_INTERFACE_CAPABILITY, *PWLAN_INTERFACE_CAPABILITY; + +typedef struct _WLAN_MAC_FRAME_STATISTICS { + ULONGLONG ullTransmittedFrameCount; + ULONGLONG ullReceivedFrameCount; + ULONGLONG ullWEPExcludedCount; + ULONGLONG ullTKIPLocalMICFailures; + ULONGLONG ullTKIPReplays; + ULONGLONG ullTKIPICVErrorCount; + ULONGLONG ullCCMPReplays; + ULONGLONG ullCCMPDecryptErrors; + ULONGLONG ullWEPUndecryptableCount; + ULONGLONG ullWEPICVErrorCount; + ULONGLONG ullDecryptSuccessCount; + ULONGLONG ullDecryptFailureCount; +} WLAN_MAC_FRAME_STATISTICS, *PWLAN_MAC_FRAME_STATISTICS; + +typedef struct _WLAN_MSM_NOTIFICATION_DATA { + WLAN_CONNECTION_MODE wlanConnectionMode; + WCHAR strProfileName[WLAN_MAX_NAME_LENGTH]; + DOT11_SSID dot11Ssid; + DOT11_BSS_TYPE dot11BssType; + DOT11_MAC_ADDRESS dot11MacAddr; + WINBOOL bSecurityEnabled; + WINBOOL bFirstPeer; + WINBOOL bLastPeer; + WLAN_REASON_CODE wlanReasonCode; +} WLAN_MSM_NOTIFICATION_DATA, *PWLAN_MSM_NOTIFICATION_DATA; + +typedef struct _WLAN_PHY_FRAME_STATISTICS { + ULONGLONG ullTransmittedFrameCount; + ULONGLONG ullMulticastTransmittedFrameCount; + ULONGLONG ullFailedCount; + ULONGLONG ullRetryCount; + ULONGLONG ullMultipleRetryCount; + ULONGLONG ullMaxTXLifetimeExceededCount; + ULONGLONG ullTransmittedFragmentCount; + ULONGLONG ullRTSSuccessCount; + ULONGLONG ullRTSFailureCount; + ULONGLONG ullACKFailureCount; + ULONGLONG ullReceivedFrameCount; + ULONGLONG ullMulticastReceivedFrameCount; + ULONGLONG ullPromiscuousReceivedFrameCount; + ULONGLONG ullMaxRXLifetimeExceededCount; + ULONGLONG ullFrameDuplicateCount; + ULONGLONG ullReceivedFragmentCount; + ULONGLONG ullPromiscuousReceivedFragmentCount; + ULONGLONG ullFCSErrorCount; +} WLAN_PHY_FRAME_STATISTICS, *PWLAN_PHY_FRAME_STATISTICS; + +typedef struct _WLAN_PHY_RADIO_STATE { + DWORD dwPhyIndex; + DOT11_RADIO_STATE dot11SoftwareRadioState; + DOT11_RADIO_STATE dot11HardwareRadioState; +} WLAN_PHY_RADIO_STATE, *PWLAN_PHY_RADIO_STATE; + +typedef struct _WLAN_RADIO_STATE { + DWORD dwNumberOfPhys; + WLAN_PHY_RADIO_STATE PhyRadioState[WLAN_MAX_PHY_INDEX]; +} WLAN_RADIO_STATE, *PWLAN_RADIO_STATE; + +typedef enum _WLAN_OPERATIONAL_STATE { + wlan_operational_state_unknown = 0, + wlan_operational_state_off, + wlan_operational_state_on, + wlan_operational_state_going_off, + wlan_operational_state_going_on +} WLAN_OPERATIONAL_STATE, *PWLAN_OPERATIONAL_STATE; + +#define DOT11_PSD_IE_MAX_DATA_SIZE 240 +#define DOT11_PSD_IE_MAX_ENTRY_NUMBER 5 + +typedef struct _WLAN_RAW_DATA { + DWORD dwDataSize; + BYTE DataBlob[1]; +} WLAN_RAW_DATA, *PWLAN_RAW_DATA; + +typedef struct _WLAN_RAW_DATA_LIST { + DWORD dwTotalSize; + DWORD dwNumberOfItems; + struct { + DWORD dwDataOffset; + DWORD dwDataSize; + } DataList[1]; +} WLAN_RAW_DATA_LIST, *PWLAN_RAW_DATA_LIST; + +typedef struct _WLAN_STATISTICS { + ULONGLONG ullFourWayHandshakeFailures; + ULONGLONG ullTKIPCounterMeasuresInvoked; + ULONGLONG ullReserved; + WLAN_MAC_FRAME_STATISTICS MacUcastCounters; + WLAN_MAC_FRAME_STATISTICS MacMcastCounters; + DWORD dwNumberOfPhys; + WLAN_PHY_FRAME_STATISTICS PhyCounters[1]; +} WLAN_STATISTICS, *PWLAN_STATISTICS; + +DWORD WINAPI WlanExtractPsdIEDataList( + HANDLE hClientHandle, + DWORD dwIeDataSize, + const PBYTE pRawIeData, + LPCWSTR strFormat, + PVOID pReserved, + PWLAN_RAW_DATA_LIST *ppPsdIEDataList +); + +DWORD WINAPI WlanGetFilterList( + HANDLE hClientHandle, + WLAN_FILTER_LIST_TYPE wlanFilterListType, + PVOID pReserved, + PDOT11_NETWORK_LIST *ppNetworkList +); + +DWORD WINAPI WlanGetInterfaceCapability( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + PVOID pReserved, + PWLAN_INTERFACE_CAPABILITY *ppCapability +); + +DWORD WINAPI WlanGetNetworkBssList( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + const PDOT11_SSID pDot11Ssid, + DOT11_BSS_TYPE dot11BssType, + WINBOOL bSecurityEnabled, + PVOID pReserved, + PWLAN_BSS_LIST *ppWlanBssList +); + +DWORD WINAPI WlanGetProfileCustomUserData( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + PVOID pReserved, + DWORD *pdwDataSize, + PBYTE *ppData +); + +DWORD WINAPI WlanGetSecuritySettings( + HANDLE hClientHandle, + WLAN_SECURABLE_OBJECT SecurableObject, + PWLAN_OPCODE_VALUE_TYPE pValueType, + LPWSTR *pstrCurrentSDDL, + PDWORD pdwGrantedAccess +); + +DWORD WINAPI WlanGetSupportedDeviceServices( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + PWLAN_DEVICE_SERVICE_GUID_LIST *ppDevSvcGuidList +); + +DWORD WINAPI WlanIhvControl( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + WLAN_IHV_CONTROL_TYPE Type, + DWORD dwInBufferSize, + PVOID pInBuffer, + DWORD dwOutBufferSize, + PVOID pOutBuffer, + PDWORD pdwBytesReturned +); + +DWORD WINAPI WlanQueryAutoConfigParameter( + HANDLE hClientHandle, + WLAN_AUTOCONF_OPCODE OpCode, + PVOID pReserved, + PDWORD pdwDataSize, + PVOID *ppData, + PWLAN_OPCODE_VALUE_TYPE pWlanOpcodeValueType +); + +DWORD WINAPI WlanRegisterDeviceServiceNotification( + HANDLE hClientHandle, + const PWLAN_DEVICE_SERVICE_GUID_LIST pDevSvcGuidList +); + +DWORD WINAPI WlanRenameProfile( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strOldProfileName, + LPCWSTR strNewProfileName, + PVOID pReserved +); + +#define WLAN_PROFILE_GROUP_POLICY 0x00000001 +#define WLAN_PROFILE_USER 0x00000002 +#define WLAN_PROFILE_GET_PLAINTEXT_KEY 0x00000004 +#define WLAN_PROFILE_CONNECTION_MODE_SET_BY_CLIENT 0x00010000 +#define WLAN_PROFILE_CONNECTION_MODE_AUTO 0x00020000 + +DWORD WINAPI WlanSaveTemporaryProfile( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + LPCWSTR strAllUserProfileSecurity, + DWORD dwFlags, + WINBOOL bOverWrite, + PVOID pReserved +); + +DWORD WINAPI WlanScan( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + const PDOT11_SSID pDot11Ssid, + const PWLAN_RAW_DATA pIeData, + PVOID pReserved +); + +DWORD WINAPI WlanSetAutoConfigParameter( + HANDLE hClientHandle, + WLAN_AUTOCONF_OPCODE OpCode, + DWORD dwDataSize, + const PVOID pData, + PVOID pReserved +); + +DWORD WINAPI WlanSetFilterList( + HANDLE hClientHandle, + WLAN_FILTER_LIST_TYPE wlanFilterListType, + const PDOT11_NETWORK_LIST pNetworkList, + PVOID pReserved +); + +DWORD WINAPI WlanSetProfileCustomUserData( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + DWORD dwDataSize, + const PBYTE pData, + PVOID pReserved +); + +DWORD WlanSetProfileEapUserData( + HANDLE hClientHandle, + const GUID *pInterfaceGuid, + LPCWSTR strProfileName, + EAP_METHOD_TYPE eapType, + DWORD dwFlags, + DWORD dwEapUserDataSize, + const LPBYTE pbEapUserData, + PVOID pReserved +); + +DWORD WINAPI WlanSetPsdIEDataList( + HANDLE hClientHandle, + LPCWSTR strFormat, + const PWLAN_RAW_DATA_LIST pPsdIEDataList, + PVOID pReserved +); + +DWORD WINAPI WlanSetSecuritySettings( + HANDLE hClientHandle, + WLAN_SECURABLE_OBJECT SecurableObject, + LPCWSTR strModifiedSDDL +); + +DWORD WINAPI WlanUIEditProfile( + DWORD dwClientVersion, + LPCWSTR wstrProfileName, + GUID *pInterfaceGuid, + HWND hWnd, + WL_DISPLAY_PAGES wlStartPage, + PVOID pReserved, + PWLAN_REASON_CODE *pWlanReasonCode +); + +#ifdef __cplusplus +} +#endif + +#endif /*_INC_WLANAPI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanihvtypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanihvtypes.h new file mode 100644 index 00000000..8164255a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlanihvtypes.h @@ -0,0 +1,56 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef __WLANIHVTYPES_H__ +#define __WLANIHVTYPES_H__ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include +#include + +#define MS_MAX_PROFILE_NAME_LENGTH 256 + +#define MS_PROFILE_GROUP_POLICY 0x1 +#define MS_PROFILE_USER 0x2 + +typedef struct _DOT11_MSSECURITY_SETTINGS { + DOT11_AUTH_ALGORITHM dot11AuthAlgorithm; + DOT11_CIPHER_ALGORITHM dot11CipherAlgorithm; + WINBOOL fOneXEnabled; + EAP_METHOD_TYPE eapMethodType; + DWORD dwEapConnectionDataLen; +#ifdef __WIDL__ + [size_is (dwEapConnectionDataLen)] +#endif + BYTE *pEapConnectionData; +} DOT11_MSSECURITY_SETTINGS, *PDOT11_MSSECURITY_SETTINGS; + +typedef struct _DOT11EXT_IHV_SSID_LIST { + ULONG ulCount; +#ifdef __WIDL__ + [unique, size_is (ulCount)] DOT11_SSID SSIDs[*]; +#else + DOT11_SSID SSIDs[1]; +#endif +} DOT11EXT_IHV_SSID_LIST, *PDOT11EXT_IHV_SSID_LIST; + +typedef struct _DOT11EXT_IHV_PROFILE_PARAMS { + PDOT11EXT_IHV_SSID_LIST pSsidList; + DOT11_BSS_TYPE BssType; + PDOT11_MSSECURITY_SETTINGS pMSSecuritySettings; +} DOT11EXT_IHV_PROFILE_PARAMS, *PDOT11EXT_IHV_PROFILE_PARAMS; + +typedef struct _DOT11EXT_IHV_PARAMS { + DOT11EXT_IHV_PROFILE_PARAMS dot11ExtIhvProfileParams; + WCHAR wstrProfileName[MS_MAX_PROFILE_NAME_LENGTH]; + DWORD dwProfileTypeFlags; + GUID interfaceGuid; +} DOT11EXT_IHV_PARAMS, *PDOT11EXT_IHV_PARAMS; +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlantypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlantypes.h new file mode 100644 index 00000000..f1b04043 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wlantypes.h @@ -0,0 +1,135 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _INC_WLANTYPES +#define _INC_WLANTYPES + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#ifdef __cplusplus +extern "C" { +#endif + +#define DOT11_SSID_MAX_LENGTH 32 + +#define DOT11_AUTH_ALGORITHM_OPEN_SYSTEM DOT11_AUTH_ALGO_80211_OPEN +#define DOT11_AUTH_ALGORITHM_SHARED_KEY DOT11_AUTH_ALGO_80211_SHARED_KEY +#define DOT11_AUTH_ALGORITHM_WPA DOT11_AUTH_ALGO_WPA +#define DOT11_AUTH_ALGORITHM_WPA_PSK DOT11_AUTH_ALGO_WPA_PSK +#define DOT11_AUTH_ALGORITHM_WPA_NONE DOT11_AUTH_ALGO_WPA_NONE +#define DOT11_AUTH_ALGORITHM_RSNA DOT11_AUTH_ALGO_RSNA +#define DOT11_AUTH_ALGORITHM_RSNA_PSK DOT11_AUTH_ALGO_RSNA_PSK +#define DOT11_AUTH_ALGORITHM_WPA3 DOT11_AUTH_ALGO_WPA3 +#if NTDDI_VERSION >= NTDDI_WIN10_FE +#define DOT11_AUTH_ALGORITHM_WPA3_ENT_192 DOT11_AUTH_ALGO_WPA3_ENT_192 +#endif +#define DOT11_AUTH_ALGORITHM_WPA3_SAE DOT11_AUTH_ALGO_WPA3_SAE +#if NTDDI_VERSION >= NTDDI_WIN10_VB +#define DOT11_AUTH_ALGORITHM_OWE DOT11_AUTH_ALGO_OWE +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_FE +#define DOT11_AUTH_ALGORITHM_WPA3_ENT DOT11_AUTH_ALGO_WPA3_ENT +#endif + +#ifdef __WIDL__ +typedef [v1_enum] enum _DOT11_AUTH_ALGORITHM { +#else +typedef enum _DOT11_AUTH_ALGORITHM { +#endif + DOT11_AUTH_ALGO_80211_OPEN = 1, + DOT11_AUTH_ALGO_80211_SHARED_KEY = 2, + DOT11_AUTH_ALGO_WPA = 3, + DOT11_AUTH_ALGO_WPA_PSK = 4, + DOT11_AUTH_ALGO_WPA_NONE = 5, + DOT11_AUTH_ALGO_RSNA = 6, + DOT11_AUTH_ALGO_RSNA_PSK = 7, + DOT11_AUTH_ALGO_WPA3 = 8 +#if NTDDI_VERSION >= NTDDI_WIN10_FE + , DOT11_AUTH_ALGO_WPA3_ENT_192 = DOT11_AUTH_ALGO_WPA3 +#endif + , DOT11_AUTH_ALGO_WPA3_SAE = 9 +#if NTDDI_VERSION >= NTDDI_WIN10_VB + , DOT11_AUTH_ALGO_OWE = 10 +#endif +#if NTDDI_VERSION >= NTDDI_WIN10_FE + , DOT11_AUTH_ALGO_WPA3_ENT = 11 +#endif + , DOT11_AUTH_ALGO_IHV_START = 0x80000000 + , DOT11_AUTH_ALGO_IHV_END = 0xffffffff +} DOT11_AUTH_ALGORITHM; + +typedef DOT11_AUTH_ALGORITHM *PDOT11_AUTH_ALGORITHM; + +#ifdef __WIDL__ + typedef [v1_enum] enum _DOT11_CIPHER_ALGORITHM { +#else +typedef enum _DOT11_CIPHER_ALGORITHM { +#endif + DOT11_CIPHER_ALGO_NONE = 0x00, + DOT11_CIPHER_ALGO_WEP40 = 0x01, + DOT11_CIPHER_ALGO_TKIP = 0x02, + DOT11_CIPHER_ALGO_CCMP = 0x04, + DOT11_CIPHER_ALGO_WEP104 = 0x05, + DOT11_CIPHER_ALGO_BIP = 0x06, + DOT11_CIPHER_ALGO_GCMP = 0x08, + DOT11_CIPHER_ALGO_GCMP_256 = 0x09, + DOT11_CIPHER_ALGO_CCMP_256 = 0x0a, + DOT11_CIPHER_ALGO_BIP_GMAC_128 = 0x0b, + DOT11_CIPHER_ALGO_BIP_GMAC_256 = 0x0c, + DOT11_CIPHER_ALGO_BIP_CMAC_256 = 0x0d, + DOT11_CIPHER_ALGO_WPA_USE_GROUP = 0x100, + DOT11_CIPHER_ALGO_RSN_USE_GROUP = 0x100, + DOT11_CIPHER_ALGO_WEP = 0x101, + DOT11_CIPHER_ALGO_IHV_START = 0x80000000, + DOT11_CIPHER_ALGO_IHV_END = 0xffffffff +} DOT11_CIPHER_ALGORITHM; + +typedef DOT11_CIPHER_ALGORITHM *PDOT11_CIPHER_ALGORITHM; + +typedef enum _DOT11_BSS_TYPE { + dot11_BSS_type_infrastructure = 1, + dot11_BSS_type_independent = 2, + dot11_BSS_type_any = 3 +} DOT11_BSS_TYPE, *PDOT11_BSS_TYPE; + +typedef struct _DOT11_AUTH_CIPHER_PAIR { + DOT11_AUTH_ALGORITHM AuthAlgoId; + DOT11_CIPHER_ALGORITHM CipherAlgoId; +} DOT11_AUTH_CIPHER_PAIR, *PDOT11_AUTH_CIPHER_PAIR; + +#define DOT11_OI_MAX_LENGTH 5 +#define DOT11_OI_MIN_LENGTH 3 + +typedef struct _DOT11_OI { + USHORT OILength; + UCHAR OI[DOT11_OI_MAX_LENGTH]; +} DOT11_OI, *PDOT11_OI; + +typedef struct DOT11_ACCESSNETWORKOPTIONS { + UINT8 AccessNetworkType; + UINT8 Internet; + UINT8 ASRA; + UINT8 ESR; + UINT8 UESA; +} DOT11_ACCESSNETWORKOPTIONS, *PDOT11_ACCESSNETWORKOPTIONS; + +typedef struct _DOT11_SSID { + ULONG uSSIDLength; + UCHAR ucSSID[DOT11_SSID_MAX_LENGTH]; +} DOT11_SSID, *PDOT11_SSID; + +typedef struct DOT11_VENUEINFO { + UINT8 VenueGroup; + UINT8 VenueType; +} DOT11_VENUEINFO, *PDOT11_VENUEINFO; + +#ifdef __cplusplus +} +#endif + +#endif +#endif /*_INC_WLANTYPES*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcodecdsp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcodecdsp.h new file mode 100644 index 00000000..ae24fd05 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcodecdsp.h @@ -0,0 +1,1932 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmcodecdsp.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 __wmcodecdsp_h__ +#define __wmcodecdsp_h__ + +/* Forward declarations */ + +#ifndef __IWMColorConvProps_FWD_DEFINED__ +#define __IWMColorConvProps_FWD_DEFINED__ +typedef interface IWMColorConvProps IWMColorConvProps; +#ifdef __cplusplus +interface IWMColorConvProps; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMValidate_FWD_DEFINED__ +#define __IWMValidate_FWD_DEFINED__ +typedef interface IWMValidate IWMValidate; +#ifdef __cplusplus +interface IWMValidate; +#endif /* __cplusplus */ +#endif + +#ifndef __CMpeg4DecMediaObject_FWD_DEFINED__ +#define __CMpeg4DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg4DecMediaObject CMpeg4DecMediaObject; +#else +typedef struct CMpeg4DecMediaObject CMpeg4DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg4DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg43DecMediaObject_FWD_DEFINED__ +#define __CMpeg43DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg43DecMediaObject CMpeg43DecMediaObject; +#else +typedef struct CMpeg43DecMediaObject CMpeg43DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg43DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg4sDecMediaObject_FWD_DEFINED__ +#define __CMpeg4sDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg4sDecMediaObject CMpeg4sDecMediaObject; +#else +typedef struct CMpeg4sDecMediaObject CMpeg4sDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg4sDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg4sDecMFT_FWD_DEFINED__ +#define __CMpeg4sDecMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg4sDecMFT CMpeg4sDecMFT; +#else +typedef struct CMpeg4sDecMFT CMpeg4sDecMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg4sDecMFT_FWD_DEFINED__ */ + +#ifndef __CZuneM4S2DecMediaObject_FWD_DEFINED__ +#define __CZuneM4S2DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CZuneM4S2DecMediaObject CZuneM4S2DecMediaObject; +#else +typedef struct CZuneM4S2DecMediaObject CZuneM4S2DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CZuneM4S2DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg4EncMediaObject_FWD_DEFINED__ +#define __CMpeg4EncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg4EncMediaObject CMpeg4EncMediaObject; +#else +typedef struct CMpeg4EncMediaObject CMpeg4EncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg4EncMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg4sEncMediaObject_FWD_DEFINED__ +#define __CMpeg4sEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg4sEncMediaObject CMpeg4sEncMediaObject; +#else +typedef struct CMpeg4sEncMediaObject CMpeg4sEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg4sEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CMSSCDecMediaObject_FWD_DEFINED__ +#define __CMSSCDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSSCDecMediaObject CMSSCDecMediaObject; +#else +typedef struct CMSSCDecMediaObject CMSSCDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMSSCDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMSSCEncMediaObject_FWD_DEFINED__ +#define __CMSSCEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSSCEncMediaObject CMSSCEncMediaObject; +#else +typedef struct CMSSCEncMediaObject CMSSCEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMSSCEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CMSSCEncMediaObject2_FWD_DEFINED__ +#define __CMSSCEncMediaObject2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSSCEncMediaObject2 CMSSCEncMediaObject2; +#else +typedef struct CMSSCEncMediaObject2 CMSSCEncMediaObject2; +#endif /* defined __cplusplus */ +#endif /* defined __CMSSCEncMediaObject2_FWD_DEFINED__ */ + +#ifndef __CWMADecMediaObject_FWD_DEFINED__ +#define __CWMADecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMADecMediaObject CWMADecMediaObject; +#else +typedef struct CWMADecMediaObject CWMADecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMADecMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMAEncMediaObject_FWD_DEFINED__ +#define __CWMAEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMAEncMediaObject CWMAEncMediaObject; +#else +typedef struct CWMAEncMediaObject CWMAEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMAEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMATransMediaObject_FWD_DEFINED__ +#define __CWMATransMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMATransMediaObject CWMATransMediaObject; +#else +typedef struct CWMATransMediaObject CWMATransMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMATransMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMSPDecMediaObject_FWD_DEFINED__ +#define __CWMSPDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMSPDecMediaObject CWMSPDecMediaObject; +#else +typedef struct CWMSPDecMediaObject CWMSPDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMSPDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMSPEncMediaObject_FWD_DEFINED__ +#define __CWMSPEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMSPEncMediaObject CWMSPEncMediaObject; +#else +typedef struct CWMSPEncMediaObject CWMSPEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMSPEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMSPEncMediaObject2_FWD_DEFINED__ +#define __CWMSPEncMediaObject2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMSPEncMediaObject2 CWMSPEncMediaObject2; +#else +typedef struct CWMSPEncMediaObject2 CWMSPEncMediaObject2; +#endif /* defined __cplusplus */ +#endif /* defined __CWMSPEncMediaObject2_FWD_DEFINED__ */ + +#ifndef __CWMTDecMediaObject_FWD_DEFINED__ +#define __CWMTDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMTDecMediaObject CWMTDecMediaObject; +#else +typedef struct CWMTDecMediaObject CWMTDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMTDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMTEncMediaObject_FWD_DEFINED__ +#define __CWMTEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMTEncMediaObject CWMTEncMediaObject; +#else +typedef struct CWMTEncMediaObject CWMTEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMTEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMVDecMediaObject_FWD_DEFINED__ +#define __CWMVDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMVDecMediaObject CWMVDecMediaObject; +#else +typedef struct CWMVDecMediaObject CWMVDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMVDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMVEncMediaObject2_FWD_DEFINED__ +#define __CWMVEncMediaObject2_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMVEncMediaObject2 CWMVEncMediaObject2; +#else +typedef struct CWMVEncMediaObject2 CWMVEncMediaObject2; +#endif /* defined __cplusplus */ +#endif /* defined __CWMVEncMediaObject2_FWD_DEFINED__ */ + +#ifndef __CWMVXEncMediaObject_FWD_DEFINED__ +#define __CWMVXEncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMVXEncMediaObject CWMVXEncMediaObject; +#else +typedef struct CWMVXEncMediaObject CWMVXEncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMVXEncMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMV9EncMediaObject_FWD_DEFINED__ +#define __CWMV9EncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMV9EncMediaObject CWMV9EncMediaObject; +#else +typedef struct CWMV9EncMediaObject CWMV9EncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWMV9EncMediaObject_FWD_DEFINED__ */ + +#ifndef __CWVC1DecMediaObject_FWD_DEFINED__ +#define __CWVC1DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWVC1DecMediaObject CWVC1DecMediaObject; +#else +typedef struct CWVC1DecMediaObject CWVC1DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWVC1DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CWVC1EncMediaObject_FWD_DEFINED__ +#define __CWVC1EncMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWVC1EncMediaObject CWVC1EncMediaObject; +#else +typedef struct CWVC1EncMediaObject CWVC1EncMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CWVC1EncMediaObject_FWD_DEFINED__ */ + +#ifndef __CDeColorConvMediaObject_FWD_DEFINED__ +#define __CDeColorConvMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDeColorConvMediaObject CDeColorConvMediaObject; +#else +typedef struct CDeColorConvMediaObject CDeColorConvMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CDeColorConvMediaObject_FWD_DEFINED__ */ + +#ifndef __CDVDecoderMediaObject_FWD_DEFINED__ +#define __CDVDecoderMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDVDecoderMediaObject CDVDecoderMediaObject; +#else +typedef struct CDVDecoderMediaObject CDVDecoderMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CDVDecoderMediaObject_FWD_DEFINED__ */ + +#ifndef __CDVEncoderMediaObject_FWD_DEFINED__ +#define __CDVEncoderMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDVEncoderMediaObject CDVEncoderMediaObject; +#else +typedef struct CDVEncoderMediaObject CDVEncoderMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CDVEncoderMediaObject_FWD_DEFINED__ */ + +#ifndef __CMpeg2DecMediaObject_FWD_DEFINED__ +#define __CMpeg2DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMpeg2DecMediaObject CMpeg2DecMediaObject; +#else +typedef struct CMpeg2DecMediaObject CMpeg2DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMpeg2DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CPK_DS_MPEG2Decoder_FWD_DEFINED__ +#define __CPK_DS_MPEG2Decoder_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CPK_DS_MPEG2Decoder CPK_DS_MPEG2Decoder; +#else +typedef struct CPK_DS_MPEG2Decoder CPK_DS_MPEG2Decoder; +#endif /* defined __cplusplus */ +#endif /* defined __CPK_DS_MPEG2Decoder_FWD_DEFINED__ */ + +#ifndef __CAC3DecMediaObject_FWD_DEFINED__ +#define __CAC3DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CAC3DecMediaObject CAC3DecMediaObject; +#else +typedef struct CAC3DecMediaObject CAC3DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CAC3DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CPK_DS_AC3Decoder_FWD_DEFINED__ +#define __CPK_DS_AC3Decoder_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CPK_DS_AC3Decoder CPK_DS_AC3Decoder; +#else +typedef struct CPK_DS_AC3Decoder CPK_DS_AC3Decoder; +#endif /* defined __cplusplus */ +#endif /* defined __CPK_DS_AC3Decoder_FWD_DEFINED__ */ + +#ifndef __CMP3DecMediaObject_FWD_DEFINED__ +#define __CMP3DecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMP3DecMediaObject CMP3DecMediaObject; +#else +typedef struct CMP3DecMediaObject CMP3DecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMP3DecMediaObject_FWD_DEFINED__ */ + +#ifndef __CResamplerMediaObject_FWD_DEFINED__ +#define __CResamplerMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CResamplerMediaObject CResamplerMediaObject; +#else +typedef struct CResamplerMediaObject CResamplerMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CResamplerMediaObject_FWD_DEFINED__ */ + +#ifndef __CResizerMediaObject_FWD_DEFINED__ +#define __CResizerMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CResizerMediaObject CResizerMediaObject; +#else +typedef struct CResizerMediaObject CResizerMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CResizerMediaObject_FWD_DEFINED__ */ + +#ifndef __CInterlaceMediaObject_FWD_DEFINED__ +#define __CInterlaceMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CInterlaceMediaObject CInterlaceMediaObject; +#else +typedef struct CInterlaceMediaObject CInterlaceMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CInterlaceMediaObject_FWD_DEFINED__ */ + +#ifndef __CWMAudioLFXAPO_FWD_DEFINED__ +#define __CWMAudioLFXAPO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMAudioLFXAPO CWMAudioLFXAPO; +#else +typedef struct CWMAudioLFXAPO CWMAudioLFXAPO; +#endif /* defined __cplusplus */ +#endif /* defined __CWMAudioLFXAPO_FWD_DEFINED__ */ + +#ifndef __CWMAudioGFXAPO_FWD_DEFINED__ +#define __CWMAudioGFXAPO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMAudioGFXAPO CWMAudioGFXAPO; +#else +typedef struct CWMAudioGFXAPO CWMAudioGFXAPO; +#endif /* defined __cplusplus */ +#endif /* defined __CWMAudioGFXAPO_FWD_DEFINED__ */ + +#ifndef __CWMAudioSpdTxDMO_FWD_DEFINED__ +#define __CWMAudioSpdTxDMO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMAudioSpdTxDMO CWMAudioSpdTxDMO; +#else +typedef struct CWMAudioSpdTxDMO CWMAudioSpdTxDMO; +#endif /* defined __cplusplus */ +#endif /* defined __CWMAudioSpdTxDMO_FWD_DEFINED__ */ + +#ifndef __CWMAudioAEC_FWD_DEFINED__ +#define __CWMAudioAEC_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CWMAudioAEC CWMAudioAEC; +#else +typedef struct CWMAudioAEC CWMAudioAEC; +#endif /* defined __cplusplus */ +#endif /* defined __CWMAudioAEC_FWD_DEFINED__ */ + +#ifndef __CClusterDetectorDmo_FWD_DEFINED__ +#define __CClusterDetectorDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CClusterDetectorDmo CClusterDetectorDmo; +#else +typedef struct CClusterDetectorDmo CClusterDetectorDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CClusterDetectorDmo_FWD_DEFINED__ */ + +#ifndef __CColorControlDmo_FWD_DEFINED__ +#define __CColorControlDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CColorControlDmo CColorControlDmo; +#else +typedef struct CColorControlDmo CColorControlDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CColorControlDmo_FWD_DEFINED__ */ + +#ifndef __CColorConvertDMO_FWD_DEFINED__ +#define __CColorConvertDMO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CColorConvertDMO CColorConvertDMO; +#else +typedef struct CColorConvertDMO CColorConvertDMO; +#endif /* defined __cplusplus */ +#endif /* defined __CColorConvertDMO_FWD_DEFINED__ */ + +#ifndef __CColorLegalizerDmo_FWD_DEFINED__ +#define __CColorLegalizerDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CColorLegalizerDmo CColorLegalizerDmo; +#else +typedef struct CColorLegalizerDmo CColorLegalizerDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CColorLegalizerDmo_FWD_DEFINED__ */ + +#ifndef __CFrameInterpDMO_FWD_DEFINED__ +#define __CFrameInterpDMO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CFrameInterpDMO CFrameInterpDMO; +#else +typedef struct CFrameInterpDMO CFrameInterpDMO; +#endif /* defined __cplusplus */ +#endif /* defined __CFrameInterpDMO_FWD_DEFINED__ */ + +#ifndef __CFrameRateConvertDmo_FWD_DEFINED__ +#define __CFrameRateConvertDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CFrameRateConvertDmo CFrameRateConvertDmo; +#else +typedef struct CFrameRateConvertDmo CFrameRateConvertDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CFrameRateConvertDmo_FWD_DEFINED__ */ + +#ifndef __CResizerDMO_FWD_DEFINED__ +#define __CResizerDMO_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CResizerDMO CResizerDMO; +#else +typedef struct CResizerDMO CResizerDMO; +#endif /* defined __cplusplus */ +#endif /* defined __CResizerDMO_FWD_DEFINED__ */ + +#ifndef __CShotDetectorDmo_FWD_DEFINED__ +#define __CShotDetectorDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CShotDetectorDmo CShotDetectorDmo; +#else +typedef struct CShotDetectorDmo CShotDetectorDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CShotDetectorDmo_FWD_DEFINED__ */ + +#ifndef __CSmpteTransformsDmo_FWD_DEFINED__ +#define __CSmpteTransformsDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CSmpteTransformsDmo CSmpteTransformsDmo; +#else +typedef struct CSmpteTransformsDmo CSmpteTransformsDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CSmpteTransformsDmo_FWD_DEFINED__ */ + +#ifndef __CThumbnailGeneratorDmo_FWD_DEFINED__ +#define __CThumbnailGeneratorDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CThumbnailGeneratorDmo CThumbnailGeneratorDmo; +#else +typedef struct CThumbnailGeneratorDmo CThumbnailGeneratorDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CThumbnailGeneratorDmo_FWD_DEFINED__ */ + +#ifndef __CTocGeneratorDmo_FWD_DEFINED__ +#define __CTocGeneratorDmo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CTocGeneratorDmo CTocGeneratorDmo; +#else +typedef struct CTocGeneratorDmo CTocGeneratorDmo; +#endif /* defined __cplusplus */ +#endif /* defined __CTocGeneratorDmo_FWD_DEFINED__ */ + +#ifndef __CMPEGAACDecMediaObject_FWD_DEFINED__ +#define __CMPEGAACDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEGAACDecMediaObject CMPEGAACDecMediaObject; +#else +typedef struct CMPEGAACDecMediaObject CMPEGAACDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEGAACDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CNokiaAACDecMediaObject_FWD_DEFINED__ +#define __CNokiaAACDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CNokiaAACDecMediaObject CNokiaAACDecMediaObject; +#else +typedef struct CNokiaAACDecMediaObject CNokiaAACDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CNokiaAACDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CVodafoneAACDecMediaObject_FWD_DEFINED__ +#define __CVodafoneAACDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CVodafoneAACDecMediaObject CVodafoneAACDecMediaObject; +#else +typedef struct CVodafoneAACDecMediaObject CVodafoneAACDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CVodafoneAACDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CZuneAACCCDecMediaObject_FWD_DEFINED__ +#define __CZuneAACCCDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CZuneAACCCDecMediaObject CZuneAACCCDecMediaObject; +#else +typedef struct CZuneAACCCDecMediaObject CZuneAACCCDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CZuneAACCCDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CNokiaAACCCDecMediaObject_FWD_DEFINED__ +#define __CNokiaAACCCDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CNokiaAACCCDecMediaObject CNokiaAACCCDecMediaObject; +#else +typedef struct CNokiaAACCCDecMediaObject CNokiaAACCCDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CNokiaAACCCDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CVodafoneAACCCDecMediaObject_FWD_DEFINED__ +#define __CVodafoneAACCCDecMediaObject_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CVodafoneAACCCDecMediaObject CVodafoneAACCCDecMediaObject; +#else +typedef struct CVodafoneAACCCDecMediaObject CVodafoneAACCCDecMediaObject; +#endif /* defined __cplusplus */ +#endif /* defined __CVodafoneAACCCDecMediaObject_FWD_DEFINED__ */ + +#ifndef __CMPEG2EncoderDS_FWD_DEFINED__ +#define __CMPEG2EncoderDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2EncoderDS CMPEG2EncoderDS; +#else +typedef struct CMPEG2EncoderDS CMPEG2EncoderDS; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2EncoderDS_FWD_DEFINED__ */ + +#ifndef __CMPEG2EncoderVideoDS_FWD_DEFINED__ +#define __CMPEG2EncoderVideoDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2EncoderVideoDS CMPEG2EncoderVideoDS; +#else +typedef struct CMPEG2EncoderVideoDS CMPEG2EncoderVideoDS; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2EncoderVideoDS_FWD_DEFINED__ */ + +#ifndef __CMPEG2EncoderAudioDS_FWD_DEFINED__ +#define __CMPEG2EncoderAudioDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2EncoderAudioDS CMPEG2EncoderAudioDS; +#else +typedef struct CMPEG2EncoderAudioDS CMPEG2EncoderAudioDS; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2EncoderAudioDS_FWD_DEFINED__ */ + +#ifndef __CMPEG2AudDecoderDS_FWD_DEFINED__ +#define __CMPEG2AudDecoderDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2AudDecoderDS CMPEG2AudDecoderDS; +#else +typedef struct CMPEG2AudDecoderDS CMPEG2AudDecoderDS; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2AudDecoderDS_FWD_DEFINED__ */ + +#ifndef __CMPEG2VidDecoderDS_FWD_DEFINED__ +#define __CMPEG2VidDecoderDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2VidDecoderDS CMPEG2VidDecoderDS; +#else +typedef struct CMPEG2VidDecoderDS CMPEG2VidDecoderDS; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2VidDecoderDS_FWD_DEFINED__ */ + +#ifndef __CDTVAudDecoderDS_FWD_DEFINED__ +#define __CDTVAudDecoderDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDTVAudDecoderDS CDTVAudDecoderDS; +#else +typedef struct CDTVAudDecoderDS CDTVAudDecoderDS; +#endif /* defined __cplusplus */ +#endif /* defined __CDTVAudDecoderDS_FWD_DEFINED__ */ + +#ifndef __CDTVVidDecoderDS_FWD_DEFINED__ +#define __CDTVVidDecoderDS_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CDTVVidDecoderDS CDTVVidDecoderDS; +#else +typedef struct CDTVVidDecoderDS CDTVVidDecoderDS; +#endif /* defined __cplusplus */ +#endif /* defined __CDTVVidDecoderDS_FWD_DEFINED__ */ + +#ifndef __CMSAC3Enc_FWD_DEFINED__ +#define __CMSAC3Enc_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSAC3Enc CMSAC3Enc; +#else +typedef struct CMSAC3Enc CMSAC3Enc; +#endif /* defined __cplusplus */ +#endif /* defined __CMSAC3Enc_FWD_DEFINED__ */ + +#ifndef __CMSH264DecoderMFT_FWD_DEFINED__ +#define __CMSH264DecoderMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSH264DecoderMFT CMSH264DecoderMFT; +#else +typedef struct CMSH264DecoderMFT CMSH264DecoderMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSH264DecoderMFT_FWD_DEFINED__ */ + +#ifndef __CMSH264EncoderMFT_FWD_DEFINED__ +#define __CMSH264EncoderMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSH264EncoderMFT CMSH264EncoderMFT; +#else +typedef struct CMSH264EncoderMFT CMSH264EncoderMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSH264EncoderMFT_FWD_DEFINED__ */ + +#ifndef __CMSH264RemuxMFT_FWD_DEFINED__ +#define __CMSH264RemuxMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSH264RemuxMFT CMSH264RemuxMFT; +#else +typedef struct CMSH264RemuxMFT CMSH264RemuxMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSH264RemuxMFT_FWD_DEFINED__ */ + +#ifndef __CMSAACDecMFT_FWD_DEFINED__ +#define __CMSAACDecMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSAACDecMFT CMSAACDecMFT; +#else +typedef struct CMSAACDecMFT CMSAACDecMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSAACDecMFT_FWD_DEFINED__ */ + +#ifndef __AACMFTEncoder_FWD_DEFINED__ +#define __AACMFTEncoder_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AACMFTEncoder AACMFTEncoder; +#else +typedef struct AACMFTEncoder AACMFTEncoder; +#endif /* defined __cplusplus */ +#endif /* defined __AACMFTEncoder_FWD_DEFINED__ */ + +#ifndef __CMSDDPlusDecMFT_FWD_DEFINED__ +#define __CMSDDPlusDecMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSDDPlusDecMFT CMSDDPlusDecMFT; +#else +typedef struct CMSDDPlusDecMFT CMSDDPlusDecMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSDDPlusDecMFT_FWD_DEFINED__ */ + +#ifndef __CMPEG2VideoEncoderMFT_FWD_DEFINED__ +#define __CMPEG2VideoEncoderMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2VideoEncoderMFT CMPEG2VideoEncoderMFT; +#else +typedef struct CMPEG2VideoEncoderMFT CMPEG2VideoEncoderMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2VideoEncoderMFT_FWD_DEFINED__ */ + +#ifndef __CMPEG2AudioEncoderMFT_FWD_DEFINED__ +#define __CMPEG2AudioEncoderMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMPEG2AudioEncoderMFT CMPEG2AudioEncoderMFT; +#else +typedef struct CMPEG2AudioEncoderMFT CMPEG2AudioEncoderMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMPEG2AudioEncoderMFT_FWD_DEFINED__ */ + +#ifndef __CMSMPEGDecoderMFT_FWD_DEFINED__ +#define __CMSMPEGDecoderMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSMPEGDecoderMFT CMSMPEGDecoderMFT; +#else +typedef struct CMSMPEGDecoderMFT CMSMPEGDecoderMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSMPEGDecoderMFT_FWD_DEFINED__ */ + +#ifndef __CMSMPEGAudDecMFT_FWD_DEFINED__ +#define __CMSMPEGAudDecMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSMPEGAudDecMFT CMSMPEGAudDecMFT; +#else +typedef struct CMSMPEGAudDecMFT CMSMPEGAudDecMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSMPEGAudDecMFT_FWD_DEFINED__ */ + +#ifndef __CMSDolbyDigitalEncMFT_FWD_DEFINED__ +#define __CMSDolbyDigitalEncMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSDolbyDigitalEncMFT CMSDolbyDigitalEncMFT; +#else +typedef struct CMSDolbyDigitalEncMFT CMSDolbyDigitalEncMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSDolbyDigitalEncMFT_FWD_DEFINED__ */ + +#ifndef __MP3ACMCodecWrapper_FWD_DEFINED__ +#define __MP3ACMCodecWrapper_FWD_DEFINED__ +#ifdef __cplusplus +typedef class MP3ACMCodecWrapper MP3ACMCodecWrapper; +#else +typedef struct MP3ACMCodecWrapper MP3ACMCodecWrapper; +#endif /* defined __cplusplus */ +#endif /* defined __MP3ACMCodecWrapper_FWD_DEFINED__ */ + +#ifndef __CMSVideoDSPMFT_FWD_DEFINED__ +#define __CMSVideoDSPMFT_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CMSVideoDSPMFT CMSVideoDSPMFT; +#else +typedef struct CMSVideoDSPMFT CMSVideoDSPMFT; +#endif /* defined __cplusplus */ +#endif /* defined __CMSVideoDSPMFT_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IWMColorConvProps interface + */ +#ifndef __IWMColorConvProps_INTERFACE_DEFINED__ +#define __IWMColorConvProps_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMColorConvProps, 0xe6a49e22, 0xc099, 0x421d, 0xaa,0xd3, 0xc0,0x61,0xfb,0x4a,0xe8,0x5b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e6a49e22-c099-421d-aad3-c061fb4ae85b") +IWMColorConvProps : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetMode( + LONG mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFullCroppingParam( + LONG src_left, + LONG src_top, + LONG dst_left, + LONG dst_top, + LONG width, + LONG height) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMColorConvProps, 0xe6a49e22, 0xc099, 0x421d, 0xaa,0xd3, 0xc0,0x61,0xfb,0x4a,0xe8,0x5b) +#endif +#else +typedef struct IWMColorConvPropsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMColorConvProps *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMColorConvProps *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMColorConvProps *This); + + /*** IWMColorConvProps methods ***/ + HRESULT (STDMETHODCALLTYPE *SetMode)( + IWMColorConvProps *This, + LONG mode); + + HRESULT (STDMETHODCALLTYPE *SetFullCroppingParam)( + IWMColorConvProps *This, + LONG src_left, + LONG src_top, + LONG dst_left, + LONG dst_top, + LONG width, + LONG height); + + END_INTERFACE +} IWMColorConvPropsVtbl; + +interface IWMColorConvProps { + CONST_VTBL IWMColorConvPropsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMColorConvProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMColorConvProps_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMColorConvProps_Release(This) (This)->lpVtbl->Release(This) +/*** IWMColorConvProps methods ***/ +#define IWMColorConvProps_SetMode(This,mode) (This)->lpVtbl->SetMode(This,mode) +#define IWMColorConvProps_SetFullCroppingParam(This,src_left,src_top,dst_left,dst_top,width,height) (This)->lpVtbl->SetFullCroppingParam(This,src_left,src_top,dst_left,dst_top,width,height) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMColorConvProps_QueryInterface(IWMColorConvProps* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMColorConvProps_AddRef(IWMColorConvProps* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMColorConvProps_Release(IWMColorConvProps* This) { + return This->lpVtbl->Release(This); +} +/*** IWMColorConvProps methods ***/ +static inline HRESULT IWMColorConvProps_SetMode(IWMColorConvProps* This,LONG mode) { + return This->lpVtbl->SetMode(This,mode); +} +static inline HRESULT IWMColorConvProps_SetFullCroppingParam(IWMColorConvProps* This,LONG src_left,LONG src_top,LONG dst_left,LONG dst_top,LONG width,LONG height) { + return This->lpVtbl->SetFullCroppingParam(This,src_left,src_top,dst_left,dst_top,width,height); +} +#endif +#endif + +#endif + + +#endif /* __IWMColorConvProps_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMValidate interface + */ +#ifndef __IWMValidate_INTERFACE_DEFINED__ +#define __IWMValidate_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMValidate, 0xcee3def2, 0x3808, 0x414d, 0xbe,0x66, 0xfa,0xfd,0x47,0x22,0x10,0xbc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cee3def2-3808-414d-be66-fafd472210bc") +IWMValidate : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetIdentifier( + GUID guidValidationID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMValidate, 0xcee3def2, 0x3808, 0x414d, 0xbe,0x66, 0xfa,0xfd,0x47,0x22,0x10,0xbc) +#endif +#else +typedef struct IWMValidateVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMValidate *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMValidate *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMValidate *This); + + /*** IWMValidate methods ***/ + HRESULT (STDMETHODCALLTYPE *SetIdentifier)( + IWMValidate *This, + GUID guidValidationID); + + END_INTERFACE +} IWMValidateVtbl; + +interface IWMValidate { + CONST_VTBL IWMValidateVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMValidate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMValidate_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMValidate_Release(This) (This)->lpVtbl->Release(This) +/*** IWMValidate methods ***/ +#define IWMValidate_SetIdentifier(This,guidValidationID) (This)->lpVtbl->SetIdentifier(This,guidValidationID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMValidate_QueryInterface(IWMValidate* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMValidate_AddRef(IWMValidate* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMValidate_Release(IWMValidate* This) { + return This->lpVtbl->Release(This); +} +/*** IWMValidate methods ***/ +static inline HRESULT IWMValidate_SetIdentifier(IWMValidate* This,GUID guidValidationID) { + return This->lpVtbl->SetIdentifier(This,guidValidationID); +} +#endif +#endif + +#endif + + +#endif /* __IWMValidate_INTERFACE_DEFINED__ */ + +DEFINE_GUID(MEDIASUBTYPE_I420,0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_RAW_AAC1,0x000000ff,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_DVM,0x00002000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_H264,0x34363248,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_h264,0x34363268,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_AVC1,0x31435641,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_X264,0x34363258,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +DEFINE_GUID(MEDIASUBTYPE_x264,0x34363278,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +/***************************************************************************** + * CMpeg4DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg4DecMediaObject, 0xf371728a, 0x6052, 0x4d47, 0x82,0x7c, 0xd0,0x39,0x33,0x5d,0xfe,0x0a); + +#ifdef __cplusplus +class DECLSPEC_UUID("f371728a-6052-4d47-827c-d039335dfe0a") CMpeg4DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg4DecMediaObject, 0xf371728a, 0x6052, 0x4d47, 0x82,0x7c, 0xd0,0x39,0x33,0x5d,0xfe,0x0a) +#endif +#endif + +/***************************************************************************** + * CMpeg43DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg43DecMediaObject, 0xcba9e78b, 0x49a3, 0x49ea, 0x93,0xd4, 0x6b,0xcb,0xa8,0xc4,0xde,0x07); + +#ifdef __cplusplus +class DECLSPEC_UUID("cba9e78b-49a3-49ea-93d4-6bcba8c4de07") CMpeg43DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg43DecMediaObject, 0xcba9e78b, 0x49a3, 0x49ea, 0x93,0xd4, 0x6b,0xcb,0xa8,0xc4,0xde,0x07) +#endif +#endif + +/***************************************************************************** + * CMpeg4sDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg4sDecMediaObject, 0x2a11bae2, 0xfe6e, 0x4249, 0x86,0x4b, 0x9e,0x9e,0xd6,0xe8,0xdb,0xc2); + +#ifdef __cplusplus +class DECLSPEC_UUID("2a11bae2-fe6e-4249-864b-9e9ed6e8dbc2") CMpeg4sDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg4sDecMediaObject, 0x2a11bae2, 0xfe6e, 0x4249, 0x86,0x4b, 0x9e,0x9e,0xd6,0xe8,0xdb,0xc2) +#endif +#endif + +/***************************************************************************** + * CMpeg4sDecMFT coclass + */ + +DEFINE_GUID(CLSID_CMpeg4sDecMFT, 0x5686a0d9, 0xfe39, 0x409f, 0x9d,0xff, 0x3f,0xdb,0xc8,0x49,0xf9,0xf5); + +#ifdef __cplusplus +class DECLSPEC_UUID("5686a0d9-fe39-409f-9dff-3fdbc849f9f5") CMpeg4sDecMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg4sDecMFT, 0x5686a0d9, 0xfe39, 0x409f, 0x9d,0xff, 0x3f,0xdb,0xc8,0x49,0xf9,0xf5) +#endif +#endif + +/***************************************************************************** + * CZuneM4S2DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CZuneM4S2DecMediaObject, 0xc56fc25c, 0x0fc6, 0x404a, 0x95,0x03, 0xb1,0x0b,0xf5,0x1a,0x8a,0xb9); + +#ifdef __cplusplus +class DECLSPEC_UUID("c56fc25c-0fc6-404a-9503-b10bf51a8ab9") CZuneM4S2DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CZuneM4S2DecMediaObject, 0xc56fc25c, 0x0fc6, 0x404a, 0x95,0x03, 0xb1,0x0b,0xf5,0x1a,0x8a,0xb9) +#endif +#endif + +/***************************************************************************** + * CMpeg4EncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg4EncMediaObject, 0x24f258d8, 0xc651, 0x4042, 0x93,0xe4, 0xca,0x65,0x4a,0xbb,0x68,0x2c); + +#ifdef __cplusplus +class DECLSPEC_UUID("24f258d8-c651-4042-93e4-ca654abb682c") CMpeg4EncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg4EncMediaObject, 0x24f258d8, 0xc651, 0x4042, 0x93,0xe4, 0xca,0x65,0x4a,0xbb,0x68,0x2c) +#endif +#endif + +/***************************************************************************** + * CMpeg4sEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg4sEncMediaObject, 0x6ec5a7be, 0xd81e, 0x4f9e, 0xad,0xa3, 0xcd,0x1b,0xf2,0x62,0xb6,0xd8); + +#ifdef __cplusplus +class DECLSPEC_UUID("6ec5a7be-d81e-4f9e-ada3-cd1bf262b6d8") CMpeg4sEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg4sEncMediaObject, 0x6ec5a7be, 0xd81e, 0x4f9e, 0xad,0xa3, 0xcd,0x1b,0xf2,0x62,0xb6,0xd8) +#endif +#endif + +/***************************************************************************** + * CMSSCDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMSSCDecMediaObject, 0x7bafb3b1, 0xd8f4, 0x4279, 0x92,0x53, 0x27,0xda,0x42,0x31,0x08,0xde); + +#ifdef __cplusplus +class DECLSPEC_UUID("7bafb3b1-d8f4-4279-9253-27da423108de") CMSSCDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSSCDecMediaObject, 0x7bafb3b1, 0xd8f4, 0x4279, 0x92,0x53, 0x27,0xda,0x42,0x31,0x08,0xde) +#endif +#endif + +/***************************************************************************** + * CMSSCEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMSSCEncMediaObject, 0x8cb9cc06, 0xd139, 0x4ae6, 0x8b,0xb4, 0x41,0xe6,0x12,0xe1,0x41,0xd5); + +#ifdef __cplusplus +class DECLSPEC_UUID("8cb9cc06-d139-4ae6-8bb4-41e612e141d5") CMSSCEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSSCEncMediaObject, 0x8cb9cc06, 0xd139, 0x4ae6, 0x8b,0xb4, 0x41,0xe6,0x12,0xe1,0x41,0xd5) +#endif +#endif + +/***************************************************************************** + * CMSSCEncMediaObject2 coclass + */ + +DEFINE_GUID(CLSID_CMSSCEncMediaObject2, 0xf7ffe0a0, 0xa4f5, 0x44b5, 0x94,0x9e, 0x15,0xed,0x2b,0xc6,0x6f,0x9d); + +#ifdef __cplusplus +class DECLSPEC_UUID("f7ffe0a0-a4f5-44b5-949e-15ed2bc66f9d") CMSSCEncMediaObject2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSSCEncMediaObject2, 0xf7ffe0a0, 0xa4f5, 0x44b5, 0x94,0x9e, 0x15,0xed,0x2b,0xc6,0x6f,0x9d) +#endif +#endif + +/***************************************************************************** + * CWMADecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMADecMediaObject, 0x2eeb4adf, 0x4578, 0x4d10, 0xbc,0xa7, 0xbb,0x95,0x5f,0x56,0x32,0x0a); + +#ifdef __cplusplus +class DECLSPEC_UUID("2eeb4adf-4578-4d10-bca7-bb955f56320a") CWMADecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMADecMediaObject, 0x2eeb4adf, 0x4578, 0x4d10, 0xbc,0xa7, 0xbb,0x95,0x5f,0x56,0x32,0x0a) +#endif +#endif + +/***************************************************************************** + * CWMAEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMAEncMediaObject, 0x70f598e9, 0xf4ab, 0x495a, 0x99,0xe2, 0xa7,0xc4,0xd3,0xd8,0x9a,0xbf); + +#ifdef __cplusplus +class DECLSPEC_UUID("70f598e9-f4ab-495a-99e2-a7c4d3d89abf") CWMAEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMAEncMediaObject, 0x70f598e9, 0xf4ab, 0x495a, 0x99,0xe2, 0xa7,0xc4,0xd3,0xd8,0x9a,0xbf) +#endif +#endif + +/***************************************************************************** + * CWMATransMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMATransMediaObject, 0xedcad9cb, 0x3127, 0x40df, 0xb5,0x27, 0x01,0x52,0xcc,0xb3,0xf6,0xf5); + +#ifdef __cplusplus +class DECLSPEC_UUID("edcad9cb-3127-40df-b527-0152ccb3f6f5") CWMATransMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMATransMediaObject, 0xedcad9cb, 0x3127, 0x40df, 0xb5,0x27, 0x01,0x52,0xcc,0xb3,0xf6,0xf5) +#endif +#endif + +/***************************************************************************** + * CWMSPDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMSPDecMediaObject, 0x874131cb, 0x4ecc, 0x443b, 0x89,0x48, 0x74,0x6b,0x89,0x59,0x5d,0x20); + +#ifdef __cplusplus +class DECLSPEC_UUID("874131cb-4ecc-443b-8948-746b89595d20") CWMSPDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMSPDecMediaObject, 0x874131cb, 0x4ecc, 0x443b, 0x89,0x48, 0x74,0x6b,0x89,0x59,0x5d,0x20) +#endif +#endif + +/***************************************************************************** + * CWMSPEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMSPEncMediaObject, 0x67841b03, 0xc689, 0x4188, 0xad,0x3f, 0x4c,0x9e,0xbe,0xec,0x71,0x0b); + +#ifdef __cplusplus +class DECLSPEC_UUID("67841b03-c689-4188-ad3f-4c9ebeec710b") CWMSPEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMSPEncMediaObject, 0x67841b03, 0xc689, 0x4188, 0xad,0x3f, 0x4c,0x9e,0xbe,0xec,0x71,0x0b) +#endif +#endif + +/***************************************************************************** + * CWMSPEncMediaObject2 coclass + */ + +DEFINE_GUID(CLSID_CWMSPEncMediaObject2, 0x1f1f4e1a, 0x2252, 0x4063, 0x84,0xbb, 0xee,0xe7,0x5f,0x88,0x56,0xd5); + +#ifdef __cplusplus +class DECLSPEC_UUID("1f1f4e1a-2252-4063-84bb-eee75f8856d5") CWMSPEncMediaObject2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMSPEncMediaObject2, 0x1f1f4e1a, 0x2252, 0x4063, 0x84,0xbb, 0xee,0xe7,0x5f,0x88,0x56,0xd5) +#endif +#endif + +/***************************************************************************** + * CWMTDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMTDecMediaObject, 0xf9dbc64e, 0x2dd0, 0x45dd, 0x9b,0x52, 0x66,0x64,0x2e,0xf9,0x44,0x31); + +#ifdef __cplusplus +class DECLSPEC_UUID("f9dbc64e-2dd0-45dd-9b52-66642ef94431") CWMTDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMTDecMediaObject, 0xf9dbc64e, 0x2dd0, 0x45dd, 0x9b,0x52, 0x66,0x64,0x2e,0xf9,0x44,0x31) +#endif +#endif + +/***************************************************************************** + * CWMTEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMTEncMediaObject, 0x60b67652, 0xe46b, 0x4e44, 0x86,0x09, 0xf7,0x4b,0xff,0xdc,0x08,0x3c); + +#ifdef __cplusplus +class DECLSPEC_UUID("60b67652-e46b-4e44-8609-f74bffdc083c") CWMTEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMTEncMediaObject, 0x60b67652, 0xe46b, 0x4e44, 0x86,0x09, 0xf7,0x4b,0xff,0xdc,0x08,0x3c) +#endif +#endif + +/***************************************************************************** + * CWMVDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMVDecMediaObject, 0x82d353df, 0x90bd, 0x4382, 0x8b,0xc2, 0x3f,0x61,0x92,0xb7,0x6e,0x34); + +#ifdef __cplusplus +class DECLSPEC_UUID("82d353df-90bd-4382-8bc2-3f6192b76e34") CWMVDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMVDecMediaObject, 0x82d353df, 0x90bd, 0x4382, 0x8b,0xc2, 0x3f,0x61,0x92,0xb7,0x6e,0x34) +#endif +#endif + +/***************************************************************************** + * CWMVEncMediaObject2 coclass + */ + +DEFINE_GUID(CLSID_CWMVEncMediaObject2, 0x96b57cdd, 0x8966, 0x410c, 0xbb,0x1f, 0xc9,0x7e,0xea,0x76,0x5c,0x04); + +#ifdef __cplusplus +class DECLSPEC_UUID("96b57cdd-8966-410c-bb1f-c97eea765c04") CWMVEncMediaObject2; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMVEncMediaObject2, 0x96b57cdd, 0x8966, 0x410c, 0xbb,0x1f, 0xc9,0x7e,0xea,0x76,0x5c,0x04) +#endif +#endif + +/***************************************************************************** + * CWMVXEncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMVXEncMediaObject, 0x7e320092, 0x596a, 0x41b2, 0xbb,0xeb, 0x17,0x5d,0x10,0x50,0x4e,0xb6); + +#ifdef __cplusplus +class DECLSPEC_UUID("7e320092-596a-41b2-bbeb-175d10504eb6") CWMVXEncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMVXEncMediaObject, 0x7e320092, 0x596a, 0x41b2, 0xbb,0xeb, 0x17,0x5d,0x10,0x50,0x4e,0xb6) +#endif +#endif + +/***************************************************************************** + * CWMV9EncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWMV9EncMediaObject, 0xd23b90d0, 0x144f, 0x46bd, 0x84,0x1d, 0x59,0xe4,0xeb,0x19,0xdc,0x59); + +#ifdef __cplusplus +class DECLSPEC_UUID("d23b90d0-144f-46bd-841d-59e4eb19dc59") CWMV9EncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMV9EncMediaObject, 0xd23b90d0, 0x144f, 0x46bd, 0x84,0x1d, 0x59,0xe4,0xeb,0x19,0xdc,0x59) +#endif +#endif + +/***************************************************************************** + * CWVC1DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWVC1DecMediaObject, 0xc9bfbccf, 0xe60e, 0x4588, 0xa3,0xdf, 0x5a,0x03,0xb1,0xfd,0x95,0x85); + +#ifdef __cplusplus +class DECLSPEC_UUID("c9bfbccf-e60e-4588-a3df-5a03b1fd9585") CWVC1DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWVC1DecMediaObject, 0xc9bfbccf, 0xe60e, 0x4588, 0xa3,0xdf, 0x5a,0x03,0xb1,0xfd,0x95,0x85) +#endif +#endif + +/***************************************************************************** + * CWVC1EncMediaObject coclass + */ + +DEFINE_GUID(CLSID_CWVC1EncMediaObject, 0x44653d0d, 0x8cca, 0x41e7, 0xba,0xca, 0x88,0x43,0x37,0xb7,0x47,0xac); + +#ifdef __cplusplus +class DECLSPEC_UUID("44653d0d-8cca-41e7-baca-884337b747ac") CWVC1EncMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWVC1EncMediaObject, 0x44653d0d, 0x8cca, 0x41e7, 0xba,0xca, 0x88,0x43,0x37,0xb7,0x47,0xac) +#endif +#endif + +/***************************************************************************** + * CDeColorConvMediaObject coclass + */ + +DEFINE_GUID(CLSID_CDeColorConvMediaObject, 0x49034c05, 0xf43c, 0x400f, 0x84,0xc1, 0x90,0xa6,0x83,0x19,0x5a,0x3a); + +#ifdef __cplusplus +class DECLSPEC_UUID("49034c05-f43c-400f-84c1-90a683195a3a") CDeColorConvMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDeColorConvMediaObject, 0x49034c05, 0xf43c, 0x400f, 0x84,0xc1, 0x90,0xa6,0x83,0x19,0x5a,0x3a) +#endif +#endif + +/***************************************************************************** + * CDVDecoderMediaObject coclass + */ + +DEFINE_GUID(CLSID_CDVDecoderMediaObject, 0xe54709c5, 0x1e17, 0x4c8d, 0x94,0xe7, 0x47,0x89,0x40,0x43,0x35,0x84); + +#ifdef __cplusplus +class DECLSPEC_UUID("e54709c5-1e17-4c8d-94e7-478940433584") CDVDecoderMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDVDecoderMediaObject, 0xe54709c5, 0x1e17, 0x4c8d, 0x94,0xe7, 0x47,0x89,0x40,0x43,0x35,0x84) +#endif +#endif + +/***************************************************************************** + * CDVEncoderMediaObject coclass + */ + +DEFINE_GUID(CLSID_CDVEncoderMediaObject, 0xc82ae729, 0xc327, 0x4cce, 0x91,0x4d, 0x81,0x71,0xfe,0xfe,0xbe,0xfb); + +#ifdef __cplusplus +class DECLSPEC_UUID("c82ae729-c327-4cce-914d-8171fefebefb") CDVEncoderMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDVEncoderMediaObject, 0xc82ae729, 0xc327, 0x4cce, 0x91,0x4d, 0x81,0x71,0xfe,0xfe,0xbe,0xfb) +#endif +#endif + +/***************************************************************************** + * CMpeg2DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMpeg2DecMediaObject, 0x863d66cd, 0xcdce, 0x4617, 0xb4,0x7f, 0xc8,0x92,0x9c,0xfc,0x28,0xa6); + +#ifdef __cplusplus +class DECLSPEC_UUID("863d66cd-cdce-4617-b47f-c8929cfc28a6") CMpeg2DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMpeg2DecMediaObject, 0x863d66cd, 0xcdce, 0x4617, 0xb4,0x7f, 0xc8,0x92,0x9c,0xfc,0x28,0xa6) +#endif +#endif + +/***************************************************************************** + * CPK_DS_MPEG2Decoder coclass + */ + +DEFINE_GUID(CLSID_CPK_DS_MPEG2Decoder, 0x9910c5cd, 0x95c9, 0x4e06, 0x86,0x5a, 0xef,0xa1,0xc8,0x01,0x6b,0xf4); + +#ifdef __cplusplus +class DECLSPEC_UUID("9910c5cd-95c9-4e06-865a-efa1c8016bf4") CPK_DS_MPEG2Decoder; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CPK_DS_MPEG2Decoder, 0x9910c5cd, 0x95c9, 0x4e06, 0x86,0x5a, 0xef,0xa1,0xc8,0x01,0x6b,0xf4) +#endif +#endif + +/***************************************************************************** + * CAC3DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CAC3DecMediaObject, 0x03d7c802, 0xecfa, 0x47d9, 0xb2,0x68, 0x5f,0xb3,0xe3,0x10,0xde,0xe4); + +#ifdef __cplusplus +class DECLSPEC_UUID("03d7c802-ecfa-47d9-b268-5fb3e310dee4") CAC3DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CAC3DecMediaObject, 0x03d7c802, 0xecfa, 0x47d9, 0xb2,0x68, 0x5f,0xb3,0xe3,0x10,0xde,0xe4) +#endif +#endif + +/***************************************************************************** + * CPK_DS_AC3Decoder coclass + */ + +DEFINE_GUID(CLSID_CPK_DS_AC3Decoder, 0x6c9c69d6, 0x0ffc, 0x4481, 0xaf,0xdb, 0xcd,0xf1,0xc7,0x9c,0x6f,0x3e); + +#ifdef __cplusplus +class DECLSPEC_UUID("6c9c69d6-0ffc-4481-afdb-cdf1c79c6f3e") CPK_DS_AC3Decoder; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CPK_DS_AC3Decoder, 0x6c9c69d6, 0x0ffc, 0x4481, 0xaf,0xdb, 0xcd,0xf1,0xc7,0x9c,0x6f,0x3e) +#endif +#endif + +/***************************************************************************** + * CMP3DecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMP3DecMediaObject, 0xbbeea841, 0x0a63, 0x4f52, 0xa7,0xab, 0xa9,0xb3,0xa8,0x4e,0xd3,0x8a); + +#ifdef __cplusplus +class DECLSPEC_UUID("bbeea841-0a63-4f52-a7ab-a9b3a84ed38a") CMP3DecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMP3DecMediaObject, 0xbbeea841, 0x0a63, 0x4f52, 0xa7,0xab, 0xa9,0xb3,0xa8,0x4e,0xd3,0x8a) +#endif +#endif + +/***************************************************************************** + * CResamplerMediaObject coclass + */ + +DEFINE_GUID(CLSID_CResamplerMediaObject, 0xf447b69e, 0x1884, 0x4a7e, 0x80,0x55, 0x34,0x6f,0x74,0xd6,0xed,0xb3); + +#ifdef __cplusplus +class DECLSPEC_UUID("f447b69e-1884-4a7e-8055-346f74d6edb3") CResamplerMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CResamplerMediaObject, 0xf447b69e, 0x1884, 0x4a7e, 0x80,0x55, 0x34,0x6f,0x74,0xd6,0xed,0xb3) +#endif +#endif + +/***************************************************************************** + * CResizerMediaObject coclass + */ + +DEFINE_GUID(CLSID_CResizerMediaObject, 0xd3ec8b8b, 0x7728, 0x4fd8, 0x9f,0xe0, 0x7b,0x67,0xd1,0x9f,0x73,0xa3); + +#ifdef __cplusplus +class DECLSPEC_UUID("d3ec8b8b-7728-4fd8-9fe0-7b67d19f73a3") CResizerMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CResizerMediaObject, 0xd3ec8b8b, 0x7728, 0x4fd8, 0x9f,0xe0, 0x7b,0x67,0xd1,0x9f,0x73,0xa3) +#endif +#endif + +/***************************************************************************** + * CInterlaceMediaObject coclass + */ + +DEFINE_GUID(CLSID_CInterlaceMediaObject, 0xb5a89c80, 0x4901, 0x407b, 0x9a,0xbc, 0x90,0xd9,0xa6,0x44,0xbb,0x46); + +#ifdef __cplusplus +class DECLSPEC_UUID("b5a89c80-4901-407b-9abc-90d9a644bb46") CInterlaceMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CInterlaceMediaObject, 0xb5a89c80, 0x4901, 0x407b, 0x9a,0xbc, 0x90,0xd9,0xa6,0x44,0xbb,0x46) +#endif +#endif + +/***************************************************************************** + * CWMAudioLFXAPO coclass + */ + +DEFINE_GUID(CLSID_CWMAudioLFXAPO, 0x62dc1a93, 0xae24, 0x464c, 0xa4,0x3e, 0x45,0x2f,0x82,0x4c,0x42,0x50); + +#ifdef __cplusplus +class DECLSPEC_UUID("62dc1a93-ae24-464c-a43e-452f824c4250") CWMAudioLFXAPO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMAudioLFXAPO, 0x62dc1a93, 0xae24, 0x464c, 0xa4,0x3e, 0x45,0x2f,0x82,0x4c,0x42,0x50) +#endif +#endif + +/***************************************************************************** + * CWMAudioGFXAPO coclass + */ + +DEFINE_GUID(CLSID_CWMAudioGFXAPO, 0x637c490d, 0xeee3, 0x4c0a, 0x97,0x3f, 0x37,0x19,0x58,0x80,0x2d,0xa2); + +#ifdef __cplusplus +class DECLSPEC_UUID("637c490d-eee3-4c0a-973f-371958802da2") CWMAudioGFXAPO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMAudioGFXAPO, 0x637c490d, 0xeee3, 0x4c0a, 0x97,0x3f, 0x37,0x19,0x58,0x80,0x2d,0xa2) +#endif +#endif + +/***************************************************************************** + * CWMAudioSpdTxDMO coclass + */ + +DEFINE_GUID(CLSID_CWMAudioSpdTxDMO, 0x5210f8e4, 0xb0bb, 0x47c3, 0xa8,0xd9, 0x7b,0x22,0x82,0xcc,0x79,0xed); + +#ifdef __cplusplus +class DECLSPEC_UUID("5210f8e4-b0bb-47c3-a8d9-7b2282cc79ed") CWMAudioSpdTxDMO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMAudioSpdTxDMO, 0x5210f8e4, 0xb0bb, 0x47c3, 0xa8,0xd9, 0x7b,0x22,0x82,0xcc,0x79,0xed) +#endif +#endif + +/***************************************************************************** + * CWMAudioAEC coclass + */ + +DEFINE_GUID(CLSID_CWMAudioAEC, 0x745057c7, 0xf353, 0x4f2d, 0xa7,0xee, 0x58,0x43,0x44,0x77,0x73,0x0e); + +#ifdef __cplusplus +class DECLSPEC_UUID("745057c7-f353-4f2d-a7ee-58434477730e") CWMAudioAEC; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CWMAudioAEC, 0x745057c7, 0xf353, 0x4f2d, 0xa7,0xee, 0x58,0x43,0x44,0x77,0x73,0x0e) +#endif +#endif + +/***************************************************************************** + * CClusterDetectorDmo coclass + */ + +DEFINE_GUID(CLSID_CClusterDetectorDmo, 0x36e820c4, 0x165a, 0x4521, 0x86,0x3c, 0x61,0x9e,0x11,0x60,0xd4,0xd4); + +#ifdef __cplusplus +class DECLSPEC_UUID("36e820c4-165a-4521-863c-619e1160d4d4") CClusterDetectorDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CClusterDetectorDmo, 0x36e820c4, 0x165a, 0x4521, 0x86,0x3c, 0x61,0x9e,0x11,0x60,0xd4,0xd4) +#endif +#endif + +/***************************************************************************** + * CColorControlDmo coclass + */ + +DEFINE_GUID(CLSID_CColorControlDmo, 0x798059f0, 0x89ca, 0x4160, 0xb3,0x25, 0xae,0xb4,0x8e,0xfe,0x4f,0x9a); + +#ifdef __cplusplus +class DECLSPEC_UUID("798059f0-89ca-4160-b325-aeb48efe4f9a") CColorControlDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CColorControlDmo, 0x798059f0, 0x89ca, 0x4160, 0xb3,0x25, 0xae,0xb4,0x8e,0xfe,0x4f,0x9a) +#endif +#endif + +/***************************************************************************** + * CColorConvertDMO coclass + */ + +DEFINE_GUID(CLSID_CColorConvertDMO, 0x98230571, 0x0087, 0x4204, 0xb0,0x20, 0x32,0x82,0x53,0x8e,0x57,0xd3); + +#ifdef __cplusplus +class DECLSPEC_UUID("98230571-0087-4204-b020-3282538e57d3") CColorConvertDMO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CColorConvertDMO, 0x98230571, 0x0087, 0x4204, 0xb0,0x20, 0x32,0x82,0x53,0x8e,0x57,0xd3) +#endif +#endif + +/***************************************************************************** + * CColorLegalizerDmo coclass + */ + +DEFINE_GUID(CLSID_CColorLegalizerDmo, 0xfdfaa753, 0xe48e, 0x4e33, 0x9c,0x74, 0x98,0xa2,0x7f,0xc6,0x72,0x6a); + +#ifdef __cplusplus +class DECLSPEC_UUID("fdfaa753-e48e-4e33-9c74-98a27fc6726a") CColorLegalizerDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CColorLegalizerDmo, 0xfdfaa753, 0xe48e, 0x4e33, 0x9c,0x74, 0x98,0xa2,0x7f,0xc6,0x72,0x6a) +#endif +#endif + +/***************************************************************************** + * CFrameInterpDMO coclass + */ + +DEFINE_GUID(CLSID_CFrameInterpDMO, 0x0a7cfe1b, 0x6ab5, 0x4334, 0x9e,0xd8, 0x3f,0x97,0xcb,0x37,0xda,0xa1); + +#ifdef __cplusplus +class DECLSPEC_UUID("0a7cfe1b-6ab5-4334-9ed8-3f97cb37daa1") CFrameInterpDMO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CFrameInterpDMO, 0x0a7cfe1b, 0x6ab5, 0x4334, 0x9e,0xd8, 0x3f,0x97,0xcb,0x37,0xda,0xa1) +#endif +#endif + +/***************************************************************************** + * CFrameRateConvertDmo coclass + */ + +DEFINE_GUID(CLSID_CFrameRateConvertDmo, 0x01f36ce2, 0x0907, 0x4d8b, 0x97,0x9d, 0xf1,0x51,0xbe,0x91,0xc8,0x83); + +#ifdef __cplusplus +class DECLSPEC_UUID("01f36ce2-0907-4d8b-979d-f151be91c883") CFrameRateConvertDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CFrameRateConvertDmo, 0x01f36ce2, 0x0907, 0x4d8b, 0x97,0x9d, 0xf1,0x51,0xbe,0x91,0xc8,0x83) +#endif +#endif + +/***************************************************************************** + * CResizerDMO coclass + */ + +DEFINE_GUID(CLSID_CResizerDMO, 0x1ea1ea14, 0x48f4, 0x4054, 0xad,0x1a, 0xe8,0xae,0xe1,0x0a,0xc8,0x05); + +#ifdef __cplusplus +class DECLSPEC_UUID("1ea1ea14-48f4-4054-ad1a-e8aee10ac805") CResizerDMO; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CResizerDMO, 0x1ea1ea14, 0x48f4, 0x4054, 0xad,0x1a, 0xe8,0xae,0xe1,0x0a,0xc8,0x05) +#endif +#endif + +/***************************************************************************** + * CShotDetectorDmo coclass + */ + +DEFINE_GUID(CLSID_CShotDetectorDmo, 0x56aefacd, 0x110c, 0x4397, 0x92,0x92, 0xb0,0xa0,0xc6,0x1b,0x67,0x50); + +#ifdef __cplusplus +class DECLSPEC_UUID("56aefacd-110c-4397-9292-b0a0c61b6750") CShotDetectorDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CShotDetectorDmo, 0x56aefacd, 0x110c, 0x4397, 0x92,0x92, 0xb0,0xa0,0xc6,0x1b,0x67,0x50) +#endif +#endif + +/***************************************************************************** + * CSmpteTransformsDmo coclass + */ + +DEFINE_GUID(CLSID_CSmpteTransformsDmo, 0xbde6388b, 0xda25, 0x485d, 0xba,0x7f, 0xfa,0xbc,0x28,0xb2,0x03,0x18); + +#ifdef __cplusplus +class DECLSPEC_UUID("bde6388b-da25-485d-ba7f-fabc28b20318") CSmpteTransformsDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CSmpteTransformsDmo, 0xbde6388b, 0xda25, 0x485d, 0xba,0x7f, 0xfa,0xbc,0x28,0xb2,0x03,0x18) +#endif +#endif + +/***************************************************************************** + * CThumbnailGeneratorDmo coclass + */ + +DEFINE_GUID(CLSID_CThumbnailGeneratorDmo, 0x559c6bad, 0x1ea8, 0x4963, 0xa0,0x87, 0x8a,0x68,0x10,0xf9,0x21,0x8b); + +#ifdef __cplusplus +class DECLSPEC_UUID("559c6bad-1ea8-4963-a087-8a6810f9218b") CThumbnailGeneratorDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CThumbnailGeneratorDmo, 0x559c6bad, 0x1ea8, 0x4963, 0xa0,0x87, 0x8a,0x68,0x10,0xf9,0x21,0x8b) +#endif +#endif + +/***************************************************************************** + * CTocGeneratorDmo coclass + */ + +DEFINE_GUID(CLSID_CTocGeneratorDmo, 0x4dda1941, 0x77a0, 0x4fb1, 0xa5,0x18, 0xe2,0x18,0x50,0x41,0xd7,0x0c); + +#ifdef __cplusplus +class DECLSPEC_UUID("4dda1941-77a0-4fb1-a518-e2185041d70c") CTocGeneratorDmo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CTocGeneratorDmo, 0x4dda1941, 0x77a0, 0x4fb1, 0xa5,0x18, 0xe2,0x18,0x50,0x41,0xd7,0x0c) +#endif +#endif + +/***************************************************************************** + * CMPEGAACDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CMPEGAACDecMediaObject, 0x8dde1772, 0xedad, 0x41c3, 0xb4,0xbe, 0x1f,0x30,0xfb,0x4e,0xe0,0xd6); + +#ifdef __cplusplus +class DECLSPEC_UUID("8dde1772-edad-41c3-b4be-1f30fb4ee0d6") CMPEGAACDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEGAACDecMediaObject, 0x8dde1772, 0xedad, 0x41c3, 0xb4,0xbe, 0x1f,0x30,0xfb,0x4e,0xe0,0xd6) +#endif +#endif + +/***************************************************************************** + * CNokiaAACDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CNokiaAACDecMediaObject, 0x3cb2bde4, 0x4e29, 0x4c44, 0xa7,0x3e, 0x2d,0x7c,0x2c,0x46,0xd6,0xec); + +#ifdef __cplusplus +class DECLSPEC_UUID("3cb2bde4-4e29-4c44-a73e-2d7c2c46d6ec") CNokiaAACDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CNokiaAACDecMediaObject, 0x3cb2bde4, 0x4e29, 0x4c44, 0xa7,0x3e, 0x2d,0x7c,0x2c,0x46,0xd6,0xec) +#endif +#endif + +/***************************************************************************** + * CVodafoneAACDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CVodafoneAACDecMediaObject, 0x7f36f942, 0xdcf3, 0x4d82, 0x92,0x89, 0x5b,0x18,0x20,0x27,0x8f,0x7c); + +#ifdef __cplusplus +class DECLSPEC_UUID("7f36f942-dcf3-4d82-9289-5b1820278f7c") CVodafoneAACDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CVodafoneAACDecMediaObject, 0x7f36f942, 0xdcf3, 0x4d82, 0x92,0x89, 0x5b,0x18,0x20,0x27,0x8f,0x7c) +#endif +#endif + +/***************************************************************************** + * CZuneAACCCDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CZuneAACCCDecMediaObject, 0xa74e98f2, 0x52d6, 0x4b4e, 0x88,0x5b, 0xe0,0xa6,0xca,0x4f,0x18,0x7a); + +#ifdef __cplusplus +class DECLSPEC_UUID("a74e98f2-52d6-4b4e-885b-e0a6ca4f187a") CZuneAACCCDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CZuneAACCCDecMediaObject, 0xa74e98f2, 0x52d6, 0x4b4e, 0x88,0x5b, 0xe0,0xa6,0xca,0x4f,0x18,0x7a) +#endif +#endif + +/***************************************************************************** + * CNokiaAACCCDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CNokiaAACCCDecMediaObject, 0xeabf7a6f, 0xccba, 0x4d60, 0x86,0x20, 0xb1,0x52,0xcc,0x97,0x72,0x63); + +#ifdef __cplusplus +class DECLSPEC_UUID("eabf7a6f-ccba-4d60-8620-b152cc977263") CNokiaAACCCDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CNokiaAACCCDecMediaObject, 0xeabf7a6f, 0xccba, 0x4d60, 0x86,0x20, 0xb1,0x52,0xcc,0x97,0x72,0x63) +#endif +#endif + +/***************************************************************************** + * CVodafoneAACCCDecMediaObject coclass + */ + +DEFINE_GUID(CLSID_CVodafoneAACCCDecMediaObject, 0x7e76bf7f, 0xc993, 0x4e26, 0x8f,0xab, 0x47,0x0a,0x70,0xc0,0xd5,0x9c); + +#ifdef __cplusplus +class DECLSPEC_UUID("7e76bf7f-c993-4e26-8fab-470a70c0d59c") CVodafoneAACCCDecMediaObject; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CVodafoneAACCCDecMediaObject, 0x7e76bf7f, 0xc993, 0x4e26, 0x8f,0xab, 0x47,0x0a,0x70,0xc0,0xd5,0x9c) +#endif +#endif + +/***************************************************************************** + * CMPEG2EncoderDS coclass + */ + +DEFINE_GUID(CLSID_CMPEG2EncoderDS, 0x5f5aff4a, 0x2f7f, 0x4279, 0x88,0xc2, 0xcd,0x88,0xeb,0x39,0xd1,0x44); + +#ifdef __cplusplus +class DECLSPEC_UUID("5f5aff4a-2f7f-4279-88c2-cd88eb39d144") CMPEG2EncoderDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2EncoderDS, 0x5f5aff4a, 0x2f7f, 0x4279, 0x88,0xc2, 0xcd,0x88,0xeb,0x39,0xd1,0x44) +#endif +#endif + +/***************************************************************************** + * CMPEG2EncoderVideoDS coclass + */ + +DEFINE_GUID(CLSID_CMPEG2EncoderVideoDS, 0x42150cd9, 0xca9a, 0x4ea5, 0x99,0x39, 0x30,0xee,0x03,0x7f,0x6e,0x74); + +#ifdef __cplusplus +class DECLSPEC_UUID("42150cd9-ca9a-4ea5-9939-30ee037f6e74") CMPEG2EncoderVideoDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2EncoderVideoDS, 0x42150cd9, 0xca9a, 0x4ea5, 0x99,0x39, 0x30,0xee,0x03,0x7f,0x6e,0x74) +#endif +#endif + +/***************************************************************************** + * CMPEG2EncoderAudioDS coclass + */ + +DEFINE_GUID(CLSID_CMPEG2EncoderAudioDS, 0xacd453bc, 0xc58a, 0x44d1, 0xbb,0xf5, 0xbf,0xb3,0x25,0xbe,0x2d,0x78); + +#ifdef __cplusplus +class DECLSPEC_UUID("acd453bc-c58a-44d1-bbf5-bfb325be2d78") CMPEG2EncoderAudioDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2EncoderAudioDS, 0xacd453bc, 0xc58a, 0x44d1, 0xbb,0xf5, 0xbf,0xb3,0x25,0xbe,0x2d,0x78) +#endif +#endif + +/***************************************************************************** + * CMPEG2AudDecoderDS coclass + */ + +DEFINE_GUID(CLSID_CMPEG2AudDecoderDS, 0xe1f1a0b8, 0xbeee, 0x490d, 0xba,0x7c, 0x06,0x6c,0x40,0xb5,0xe2,0xb9); + +#ifdef __cplusplus +class DECLSPEC_UUID("e1f1a0b8-beee-490d-ba7c-066c40b5e2b9") CMPEG2AudDecoderDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2AudDecoderDS, 0xe1f1a0b8, 0xbeee, 0x490d, 0xba,0x7c, 0x06,0x6c,0x40,0xb5,0xe2,0xb9) +#endif +#endif + +/***************************************************************************** + * CMPEG2VidDecoderDS coclass + */ + +DEFINE_GUID(CLSID_CMPEG2VidDecoderDS, 0x212690fb, 0x83e5, 0x4526, 0x8f,0xd7, 0x74,0x47,0x8b,0x79,0x39,0xcd); + +#ifdef __cplusplus +class DECLSPEC_UUID("212690fb-83e5-4526-8fd7-74478b7939cd") CMPEG2VidDecoderDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2VidDecoderDS, 0x212690fb, 0x83e5, 0x4526, 0x8f,0xd7, 0x74,0x47,0x8b,0x79,0x39,0xcd) +#endif +#endif + +/***************************************************************************** + * CDTVAudDecoderDS coclass + */ + +DEFINE_GUID(CLSID_CDTVAudDecoderDS, 0x8e269032, 0xfe03, 0x4753, 0x9b,0x17, 0x18,0x25,0x3c,0x21,0x72,0x2e); + +#ifdef __cplusplus +class DECLSPEC_UUID("8e269032-fe03-4753-9b17-18253c21722e") CDTVAudDecoderDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDTVAudDecoderDS, 0x8e269032, 0xfe03, 0x4753, 0x9b,0x17, 0x18,0x25,0x3c,0x21,0x72,0x2e) +#endif +#endif + +/***************************************************************************** + * CDTVVidDecoderDS coclass + */ + +DEFINE_GUID(CLSID_CDTVVidDecoderDS, 0x64777dc8, 0x4e24, 0x4beb, 0x9d,0x19, 0x60,0xa3,0x5b,0xe1,0xda,0xaf); + +#ifdef __cplusplus +class DECLSPEC_UUID("64777dc8-4e24-4beb-9d19-60a35be1daaf") CDTVVidDecoderDS; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CDTVVidDecoderDS, 0x64777dc8, 0x4e24, 0x4beb, 0x9d,0x19, 0x60,0xa3,0x5b,0xe1,0xda,0xaf) +#endif +#endif + +/***************************************************************************** + * CMSAC3Enc coclass + */ + +DEFINE_GUID(CLSID_CMSAC3Enc, 0xc6b400e2, 0x20a7, 0x4e58, 0xa2,0xfe, 0x24,0x61,0x96,0x82,0xce,0x6c); + +#ifdef __cplusplus +class DECLSPEC_UUID("c6b400e2-20a7-4e58-a2fe-24619682ce6c") CMSAC3Enc; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSAC3Enc, 0xc6b400e2, 0x20a7, 0x4e58, 0xa2,0xfe, 0x24,0x61,0x96,0x82,0xce,0x6c) +#endif +#endif + +/***************************************************************************** + * CMSH264DecoderMFT coclass + */ + +DEFINE_GUID(CLSID_CMSH264DecoderMFT, 0x62ce7e72, 0x4c71, 0x4d20, 0xb1,0x5d, 0x45,0x28,0x31,0xa8,0x7d,0x9d); + +#ifdef __cplusplus +class DECLSPEC_UUID("62ce7e72-4c71-4d20-b15d-452831a87d9d") CMSH264DecoderMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSH264DecoderMFT, 0x62ce7e72, 0x4c71, 0x4d20, 0xb1,0x5d, 0x45,0x28,0x31,0xa8,0x7d,0x9d) +#endif +#endif + +/***************************************************************************** + * CMSH264EncoderMFT coclass + */ + +DEFINE_GUID(CLSID_CMSH264EncoderMFT, 0x6ca50344, 0x051a, 0x4ded, 0x97,0x79, 0xa4,0x33,0x05,0x16,0x5e,0x35); + +#ifdef __cplusplus +class DECLSPEC_UUID("6ca50344-051a-4ded-9779-a43305165e35") CMSH264EncoderMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSH264EncoderMFT, 0x6ca50344, 0x051a, 0x4ded, 0x97,0x79, 0xa4,0x33,0x05,0x16,0x5e,0x35) +#endif +#endif + +/***************************************************************************** + * CMSH264RemuxMFT coclass + */ + +DEFINE_GUID(CLSID_CMSH264RemuxMFT, 0x05a47ebb, 0x8bf0, 0x4cbf, 0xad,0x2f, 0x3b,0x71,0xd7,0x58,0x66,0xf5); + +#ifdef __cplusplus +class DECLSPEC_UUID("05a47ebb-8bf0-4cbf-ad2f-3b71d75866f5") CMSH264RemuxMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSH264RemuxMFT, 0x05a47ebb, 0x8bf0, 0x4cbf, 0xad,0x2f, 0x3b,0x71,0xd7,0x58,0x66,0xf5) +#endif +#endif + +/***************************************************************************** + * CMSAACDecMFT coclass + */ + +DEFINE_GUID(CLSID_CMSAACDecMFT, 0x32d186a7, 0x218f, 0x4c75, 0x88,0x76, 0xdd,0x77,0x27,0x3a,0x89,0x99); + +#ifdef __cplusplus +class DECLSPEC_UUID("32d186a7-218f-4c75-8876-dd77273a8999") CMSAACDecMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSAACDecMFT, 0x32d186a7, 0x218f, 0x4c75, 0x88,0x76, 0xdd,0x77,0x27,0x3a,0x89,0x99) +#endif +#endif + +/***************************************************************************** + * AACMFTEncoder coclass + */ + +DEFINE_GUID(CLSID_AACMFTEncoder, 0x93af0c51, 0x2275, 0x45d2, 0xa3,0x5b, 0xf2,0xba,0x21,0xca,0xed,0x00); + +#ifdef __cplusplus +class DECLSPEC_UUID("93af0c51-2275-45d2-a35b-f2ba21caed00") AACMFTEncoder; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AACMFTEncoder, 0x93af0c51, 0x2275, 0x45d2, 0xa3,0x5b, 0xf2,0xba,0x21,0xca,0xed,0x00) +#endif +#endif + +/***************************************************************************** + * CMSDDPlusDecMFT coclass + */ + +DEFINE_GUID(CLSID_CMSDDPlusDecMFT, 0x177c0afe, 0x900b, 0x48d4, 0x9e,0x4c, 0x57,0xad,0xd2,0x50,0xb3,0xd4); + +#ifdef __cplusplus +class DECLSPEC_UUID("177c0afe-900b-48d4-9e4c-57add250b3d4") CMSDDPlusDecMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSDDPlusDecMFT, 0x177c0afe, 0x900b, 0x48d4, 0x9e,0x4c, 0x57,0xad,0xd2,0x50,0xb3,0xd4) +#endif +#endif + +/***************************************************************************** + * CMPEG2VideoEncoderMFT coclass + */ + +DEFINE_GUID(CLSID_CMPEG2VideoEncoderMFT, 0xe6335f02, 0x80b7, 0x4dc4, 0xad,0xfa, 0xdf,0xe7,0x21,0x0d,0x20,0xd5); + +#ifdef __cplusplus +class DECLSPEC_UUID("e6335f02-80b7-4dc4-adfa-dfe7210d20d5") CMPEG2VideoEncoderMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2VideoEncoderMFT, 0xe6335f02, 0x80b7, 0x4dc4, 0xad,0xfa, 0xdf,0xe7,0x21,0x0d,0x20,0xd5) +#endif +#endif + +/***************************************************************************** + * CMPEG2AudioEncoderMFT coclass + */ + +DEFINE_GUID(CLSID_CMPEG2AudioEncoderMFT, 0x46a4dd5c, 0x73f8, 0x4304, 0x94,0xdf, 0x30,0x8f,0x76,0x09,0x74,0xf4); + +#ifdef __cplusplus +class DECLSPEC_UUID("46a4dd5c-73f8-4304-94df-308f760974f4") CMPEG2AudioEncoderMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMPEG2AudioEncoderMFT, 0x46a4dd5c, 0x73f8, 0x4304, 0x94,0xdf, 0x30,0x8f,0x76,0x09,0x74,0xf4) +#endif +#endif + +/***************************************************************************** + * CMSMPEGDecoderMFT coclass + */ + +DEFINE_GUID(CLSID_CMSMPEGDecoderMFT, 0x2d709e52, 0x123f, 0x49b5, 0x9c,0xbc, 0x9a,0xf5,0xcd,0xe2,0x8f,0xb9); + +#ifdef __cplusplus +class DECLSPEC_UUID("2d709e52-123f-49b5-9cbc-9af5cde28fb9") CMSMPEGDecoderMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSMPEGDecoderMFT, 0x2d709e52, 0x123f, 0x49b5, 0x9c,0xbc, 0x9a,0xf5,0xcd,0xe2,0x8f,0xb9) +#endif +#endif + +/***************************************************************************** + * CMSMPEGAudDecMFT coclass + */ + +DEFINE_GUID(CLSID_CMSMPEGAudDecMFT, 0x70707b39, 0xb2ca, 0x4015, 0xab,0xea, 0xf8,0x44,0x7d,0x22,0xd8,0x8b); + +#ifdef __cplusplus +class DECLSPEC_UUID("70707b39-b2ca-4015-abea-f8447d22d88b") CMSMPEGAudDecMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSMPEGAudDecMFT, 0x70707b39, 0xb2ca, 0x4015, 0xab,0xea, 0xf8,0x44,0x7d,0x22,0xd8,0x8b) +#endif +#endif + +/***************************************************************************** + * CMSDolbyDigitalEncMFT coclass + */ + +DEFINE_GUID(CLSID_CMSDolbyDigitalEncMFT, 0xac3315c9, 0xf481, 0x45d7, 0x82,0x6c, 0x0b,0x40,0x6c,0x1f,0x64,0xb8); + +#ifdef __cplusplus +class DECLSPEC_UUID("ac3315c9-f481-45d7-826c-0b406c1f64b8") CMSDolbyDigitalEncMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSDolbyDigitalEncMFT, 0xac3315c9, 0xf481, 0x45d7, 0x82,0x6c, 0x0b,0x40,0x6c,0x1f,0x64,0xb8) +#endif +#endif + +/***************************************************************************** + * MP3ACMCodecWrapper coclass + */ + +DEFINE_GUID(CLSID_MP3ACMCodecWrapper, 0x11103421, 0x354c, 0x4cca, 0xa7,0xa3, 0x1a,0xff,0x9a,0x5b,0x67,0x01); + +#ifdef __cplusplus +class DECLSPEC_UUID("11103421-354c-4cca-a7a3-1aff9a5b6701") MP3ACMCodecWrapper; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(MP3ACMCodecWrapper, 0x11103421, 0x354c, 0x4cca, 0xa7,0xa3, 0x1a,0xff,0x9a,0x5b,0x67,0x01) +#endif +#endif + +/***************************************************************************** + * CMSVideoDSPMFT coclass + */ + +DEFINE_GUID(CLSID_CMSVideoDSPMFT, 0x51571744, 0x7fe4, 0x4ff2, 0xa4,0x98, 0x2d,0xc3,0x4f,0xf7,0x4f,0x1b); + +#ifdef __cplusplus +class DECLSPEC_UUID("51571744-7fe4-4ff2-a498-2dc34ff74f1b") CMSVideoDSPMFT; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(CMSVideoDSPMFT, 0x51571744, 0x7fe4, 0x4ff2, 0xa4,0x98, 0x2d,0xc3,0x4f,0xf7,0x4f,0x1b) +#endif +#endif + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmcodecdsp_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcontainer.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcontainer.h new file mode 100644 index 00000000..c91f0140 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmcontainer.h @@ -0,0 +1,2667 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmcontainer.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 __wmcontainer_h__ +#define __wmcontainer_h__ + +/* Forward declarations */ + +#ifndef __IMFASFContentInfo_FWD_DEFINED__ +#define __IMFASFContentInfo_FWD_DEFINED__ +typedef interface IMFASFContentInfo IMFASFContentInfo; +#ifdef __cplusplus +interface IMFASFContentInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFMutualExclusion_FWD_DEFINED__ +#define __IMFASFMutualExclusion_FWD_DEFINED__ +typedef interface IMFASFMutualExclusion IMFASFMutualExclusion; +#ifdef __cplusplus +interface IMFASFMutualExclusion; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFStreamPrioritization_FWD_DEFINED__ +#define __IMFASFStreamPrioritization_FWD_DEFINED__ +typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization; +#ifdef __cplusplus +interface IMFASFStreamPrioritization; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFSplitter_FWD_DEFINED__ +#define __IMFASFSplitter_FWD_DEFINED__ +typedef interface IMFASFSplitter IMFASFSplitter; +#ifdef __cplusplus +interface IMFASFSplitter; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFMultiplexer_FWD_DEFINED__ +#define __IMFASFMultiplexer_FWD_DEFINED__ +typedef interface IMFASFMultiplexer IMFASFMultiplexer; +#ifdef __cplusplus +interface IMFASFMultiplexer; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFIndexer_FWD_DEFINED__ +#define __IMFASFIndexer_FWD_DEFINED__ +typedef interface IMFASFIndexer IMFASFIndexer; +#ifdef __cplusplus +interface IMFASFIndexer; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFStreamSelector_FWD_DEFINED__ +#define __IMFASFStreamSelector_FWD_DEFINED__ +typedef interface IMFASFStreamSelector IMFASFStreamSelector; +#ifdef __cplusplus +interface IMFASFStreamSelector; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFDRMNetHelper_FWD_DEFINED__ +#define __IMFDRMNetHelper_FWD_DEFINED__ +typedef interface IMFDRMNetHelper IMFDRMNetHelper; +#ifdef __cplusplus +interface IMFDRMNetHelper; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFProfile_FWD_DEFINED__ +#define __IMFASFProfile_FWD_DEFINED__ +typedef interface IMFASFProfile IMFASFProfile; +#ifdef __cplusplus +interface IMFASFProfile; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFStreamConfig_FWD_DEFINED__ +#define __IMFASFStreamConfig_FWD_DEFINED__ +typedef interface IMFASFStreamConfig IMFASFStreamConfig; +#ifdef __cplusplus +interface IMFASFStreamConfig; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FILE_ID, 0x3de649b4, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_CREATION_TIME, 0x3de649b6, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FLAGS, 0x3de649bb, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE, 0x3de649bd, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE, 0x3de649be, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE, 0x3de649bc, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PACKETS, 0x3de649b7, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION, 0x3de649b8, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PREROLL, 0x3de649ba, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_SEND_DURATION, 0x3de649b9, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3); +EXTERN_GUID(CLSID_WMDRMSystemID, 0x8948BB22, 0x11BD, 0x4796, 0x93, 0xE3, 0x97, 0x4D, 0x1B, 0x57, 0x56, 0x78); +EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_KEYID, 0x8520fe3e, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); +EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL, 0x8520fe40, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); +EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA, 0x8520fe3f, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); +EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_TYPE, 0x8520fe3d, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe); +EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTIONEX_ENCRYPTION_DATA, 0x62508be5, 0xecdf, 0x4924, 0xa3, 0x59, 0x72, 0xba, 0xb3, 0x39, 0x7b, 0x9d); +EXTERN_GUID(MF_PD_ASF_LANGLIST, 0xf23de43c, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d); +EXTERN_GUID(MF_PD_ASF_MARKER, 0x5134330e, 0x83a6, 0x475e, 0xa9, 0xd5, 0x4f, 0xb8, 0x75, 0xfb, 0x2e, 0x31); +EXTERN_GUID(MF_PD_ASF_SCRIPT, 0xe29cd0d7, 0xd602, 0x4923, 0xa7, 0xfe, 0x73, 0xfd, 0x97, 0xec, 0xc6, 0x50); +EXTERN_GUID(MF_PD_ASF_CODECLIST, 0xe4bb3509, 0xc18d, 0x4df1, 0xbb, 0x99, 0x7a, 0x36, 0xb3, 0xcc, 0x41, 0x19); +EXTERN_GUID(MF_PD_ASF_METADATA_IS_VBR, 0x5fc6947a, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); +EXTERN_GUID(MF_PD_ASF_METADATA_V8_VBRPEAK, 0x5fc6947b, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); +EXTERN_GUID(MF_PD_ASF_METADATA_V8_BUFFERAVERAGE, 0x5fc6947c, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); +EXTERN_GUID(MF_PD_ASF_METADATA_LEAKY_BUCKET_PAIRS, 0x5fc6947d, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1); +EXTERN_GUID(MF_PD_ASF_DATA_START_OFFSET, 0xe7d5b3e7, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed); +EXTERN_GUID(MF_PD_ASF_DATA_LENGTH, 0xe7d5b3e8, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed); +EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX, 0x48f8a522, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); +EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE, 0x48f8a523, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); +EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE, 0x48f8a524, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); +EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE, 0x48f8a525, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); +EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE, 0x48f8a526, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80); +EXTERN_GUID(MF_SD_ASF_STREAMBITRATES_BITRATE, 0xa8e182ed, 0xafc8, 0x43d0, 0xb0, 0xd1, 0xf6, 0x5b, 0xad, 0x9d, 0xa5, 0x58); +EXTERN_GUID(MF_SD_ASF_METADATA_DEVICE_CONFORMANCE_TEMPLATE, 0x245e929d, 0xc44e, 0x4f7e, 0xbb, 0x3c, 0x77, 0xd4, 0xdf, 0xd2, 0x7f, 0x8a); +EXTERN_GUID(MF_PD_ASF_INFO_HAS_AUDIO, 0x80e62295, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); +EXTERN_GUID(MF_PD_ASF_INFO_HAS_VIDEO, 0x80e62296, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); +EXTERN_GUID(MF_PD_ASF_INFO_HAS_NON_AUDIO_VIDEO, 0x80e62297, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c); +#if WINVER >= 0x0601 +EXTERN_GUID(MFASFINDEXER_TYPE_TIMECODE, 0x49815231, 0x6bad, 0x44fd, 0x81, 0xa, 0x3f, 0x60, 0x98, 0x4e, 0xc7, 0xfd); +EXTERN_GUID(MF_PD_ASF_LANGLIST_LEGACYORDER, 0xf23de43d, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d); +#endif + +EXTERN_GUID(MFASFMutexType_Bitrate, 0x72178C2C, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); +EXTERN_GUID(MFASFMutexType_Language, 0x72178C2B, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); +EXTERN_GUID(MFASFMutexType_Presentation, 0x72178C2D, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); +EXTERN_GUID(MFASFMutexType_Unknown, 0x72178C2E, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); +EXTERN_GUID(MFASFSampleExtension_ContentType, 0xd590dc20, 0x07bc, 0x436c, 0x9c, 0xf7, 0xf3, 0xbb, 0xfb, 0xf1, 0xa4, 0xdc); +EXTERN_GUID(MFASFSampleExtension_Encryption_SampleID, 0x6698B84E, 0x0AFA, 0x4330, 0xAE, 0xB2, 0x1C, 0x0A, 0x98, 0xD7, 0xA4, 0x4D); +EXTERN_GUID(MFASFSampleExtension_Encryption_KeyID, 0x76376591, 0x795f, 0x4da1, 0x86, 0xed, 0x9d, 0x46, 0xec, 0xa1, 0x09, 0xa9); +EXTERN_GUID(MFASFSampleExtension_FileName, 0xe165ec0e, 0x19ed, 0x45d7, 0xb4, 0xa7, 0x25, 0xcb, 0xd1, 0xe2, 0x8e, 0x9b); +EXTERN_GUID(MFASFSampleExtension_OutputCleanPoint, 0xf72a3c6f, 0x6eb4, 0x4ebc, 0xb1, 0x92, 0x9, 0xad, 0x97, 0x59, 0xe8, 0x28); +EXTERN_GUID(MFASFSampleExtension_PixelAspectRatio, 0x1b1ee554, 0xf9ea, 0x4bc8, 0x82, 0x1a, 0x37, 0x6b, 0x74, 0xe4, 0xc4, 0xb8); +EXTERN_GUID(MFASFSampleExtension_SampleDuration, 0xc6bd9450, 0x867f, 0x4907, 0x83, 0xa3, 0xc7, 0x79, 0x21, 0xb7, 0x33, 0xad); +EXTERN_GUID(MFASFSampleExtension_SMPTE, 0x399595ec, 0x8667, 0x4e2d, 0x8f, 0xdb, 0x98, 0x81, 0x4c, 0xe7, 0x6c, 0x1e); +EXTERN_GUID(MFASFSPLITTER_PACKET_BOUNDARY, 0xfe584a05, 0xe8d6, 0x42e3, 0xb1, 0x76, 0xf1, 0x21, 0x17, 0x5, 0xfb, 0x6f); +EXTERN_GUID(MF_ASFPROFILE_MINPACKETSIZE, 0x22587626, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0); +EXTERN_GUID(MF_ASFPROFILE_MAXPACKETSIZE, 0x22587627, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0); +EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET1, 0xc69b5901, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd); +EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET2, 0xc69b5902, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd); +#ifndef __IMFASFProfile_FWD_DEFINED__ +#define __IMFASFProfile_FWD_DEFINED__ +typedef interface IMFASFProfile IMFASFProfile; +#ifdef __cplusplus +interface IMFASFProfile; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFStreamConfig_FWD_DEFINED__ +#define __IMFASFStreamConfig_FWD_DEFINED__ +typedef interface IMFASFStreamConfig IMFASFStreamConfig; +#ifdef __cplusplus +interface IMFASFStreamConfig; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFMutualExclusion_FWD_DEFINED__ +#define __IMFASFMutualExclusion_FWD_DEFINED__ +typedef interface IMFASFMutualExclusion IMFASFMutualExclusion; +#ifdef __cplusplus +interface IMFASFMutualExclusion; +#endif /* __cplusplus */ +#endif + +#ifndef __IMFASFStreamPrioritization_FWD_DEFINED__ +#define __IMFASFStreamPrioritization_FWD_DEFINED__ +typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization; +#ifdef __cplusplus +interface IMFASFStreamPrioritization; +#endif /* __cplusplus */ +#endif + +#define MFASFINDEXER_PER_ENTRY_BYTES_DYNAMIC 0xffff +#define MFASFINDEXER_NO_FIXED_INTERVAL 0xffffffff +#define MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT 0xffffffffffffffffll +#define MFASFINDEXER_APPROX_SEEK_TIME_UNKNOWN 0xffffffffffffffffll + +#define MFASF_MIN_HEADER_BYTES (sizeof (GUID) + sizeof (QWORD)) + +#define MFASF_MAX_STREAM_NUMBER 127 +#define MFASF_INVALID_STREAM_NUMBER (MFASF_MAX_STREAM_NUMBER + 1) +#define MFASF_PAYLOADEXTENSION_MAX_SIZE 0xff +#define MFASF_PAYLOADEXTENSION_VARIABLE_SIZE 0xffff +#define MFASF_DEFAULT_BUFFER_WINDOW_MS 3000 + +typedef enum MFASF_SPLITTERFLAGS { + MFASF_SPLITTER_REVERSE = 0x1, + MFASF_SPLITTER_WMDRM = 0x2 +} MFASF_SPLITTERFLAGS; +typedef enum ASF_STATUSFLAGS { + ASF_STATUSFLAGS_INCOMPLETE = 0x1 +} ASF_STATUSFLAGS; +typedef enum MFASF_MULTIPLEXERFLAGS { + MFASF_MULTIPLEXER_AUTOADJUST_BITRATE = 0x1 +} MFASF_MULTIPLEXERFLAGS; +typedef enum MFASF_INDEXERFLAGS { + MFASF_INDEXER_WRITE_NEW_INDEX = 0x1, + MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK = 0x2, + MFASF_INDEXER_WRITE_FOR_LIVEREAD = 0x4 +} MFASF_INDEXER_FLAGS; +typedef enum MFASF_STREAMSELECTORFLAGS { + MFASF_STREAMSELECTOR_DISABLE_THINNING = 0x1, + MFASF_STREAMSELECTOR_USE_AVERAGE_BITRATE = 0x2 +} MFASF_STREAMSELECTOR_FLAGS; +typedef enum ASF_SELECTION_STATUS { + ASF_STATUS_NOTSELECTED = 0, + ASF_STATUS_CLEANPOINTSONLY = 1, + ASF_STATUS_ALLDATAUNITS = 2 +} ASF_SELECTION_STATUS; +typedef enum _MFSINK_WMDRMACTION { + MFSINK_WMDRMACTION_UNDEFINED = 0, + MFSINK_WMDRMACTION_ENCODE = 1, + MFSINK_WMDRMACTION_TRANSCODE = 2, + MFSINK_WMDRMACTION_TRANSCRYPT = 3, + MFSINK_WMDRMACTION_LAST = 3 +} MFSINK_WMDRMACTION; + +typedef struct ASF_MUX_STATISTICS { + DWORD cFramesWritten; + DWORD cFramesDropped; +} ASF_MUX_STATISTICS; +typedef struct _ASF_INDEX_IDENTIFIER { + GUID guidIndexType; + WORD wStreamNumber; +} ASF_INDEX_IDENTIFIER; +typedef struct _ASF_INDEX_DESCRIPTOR { + ASF_INDEX_IDENTIFIER Identifier; + WORD cPerEntryBytes; + WCHAR szDescription[32]; + DWORD dwInterval; +} ASF_INDEX_DESCRIPTOR; + +/***************************************************************************** + * IMFASFContentInfo interface + */ +#ifndef __IMFASFContentInfo_INTERFACE_DEFINED__ +#define __IMFASFContentInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b1dca5cd-d5da-4451-8e9e-db5c59914ead") +IMFASFContentInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetHeaderSize( + IMFMediaBuffer *pIStartOfContent, + QWORD *cbHeaderSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE ParseHeader( + IMFMediaBuffer *pIHeaderBuffer, + QWORD cbOffsetWithinHeader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GenerateHeader( + IMFMediaBuffer *pIHeader, + DWORD *pcbHeader) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProfile( + IMFASFProfile **ppIProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProfile( + IMFASFProfile *pIProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE GeneratePresentationDescriptor( + IMFPresentationDescriptor **ppIPresentationDescriptor) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEncodingConfigurationPropertyStore( + WORD wStreamNumber, + IPropertyStore **ppIStore) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad) +#endif +#else +typedef struct IMFASFContentInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFContentInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFContentInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFContentInfo *This); + + /*** IMFASFContentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetHeaderSize)( + IMFASFContentInfo *This, + IMFMediaBuffer *pIStartOfContent, + QWORD *cbHeaderSize); + + HRESULT (STDMETHODCALLTYPE *ParseHeader)( + IMFASFContentInfo *This, + IMFMediaBuffer *pIHeaderBuffer, + QWORD cbOffsetWithinHeader); + + HRESULT (STDMETHODCALLTYPE *GenerateHeader)( + IMFASFContentInfo *This, + IMFMediaBuffer *pIHeader, + DWORD *pcbHeader); + + HRESULT (STDMETHODCALLTYPE *GetProfile)( + IMFASFContentInfo *This, + IMFASFProfile **ppIProfile); + + HRESULT (STDMETHODCALLTYPE *SetProfile)( + IMFASFContentInfo *This, + IMFASFProfile *pIProfile); + + HRESULT (STDMETHODCALLTYPE *GeneratePresentationDescriptor)( + IMFASFContentInfo *This, + IMFPresentationDescriptor **ppIPresentationDescriptor); + + HRESULT (STDMETHODCALLTYPE *GetEncodingConfigurationPropertyStore)( + IMFASFContentInfo *This, + WORD wStreamNumber, + IPropertyStore **ppIStore); + + END_INTERFACE +} IMFASFContentInfoVtbl; + +interface IMFASFContentInfo { + CONST_VTBL IMFASFContentInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFContentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFContentInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFContentInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFContentInfo methods ***/ +#define IMFASFContentInfo_GetHeaderSize(This,pIStartOfContent,cbHeaderSize) (This)->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize) +#define IMFASFContentInfo_ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader) (This)->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader) +#define IMFASFContentInfo_GenerateHeader(This,pIHeader,pcbHeader) (This)->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader) +#define IMFASFContentInfo_GetProfile(This,ppIProfile) (This)->lpVtbl->GetProfile(This,ppIProfile) +#define IMFASFContentInfo_SetProfile(This,pIProfile) (This)->lpVtbl->SetProfile(This,pIProfile) +#define IMFASFContentInfo_GeneratePresentationDescriptor(This,ppIPresentationDescriptor) (This)->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor) +#define IMFASFContentInfo_GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore) (This)->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFContentInfo_QueryInterface(IMFASFContentInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFContentInfo_AddRef(IMFASFContentInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFContentInfo_Release(IMFASFContentInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFContentInfo methods ***/ +static inline HRESULT IMFASFContentInfo_GetHeaderSize(IMFASFContentInfo* This,IMFMediaBuffer *pIStartOfContent,QWORD *cbHeaderSize) { + return This->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize); +} +static inline HRESULT IMFASFContentInfo_ParseHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeaderBuffer,QWORD cbOffsetWithinHeader) { + return This->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader); +} +static inline HRESULT IMFASFContentInfo_GenerateHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeader,DWORD *pcbHeader) { + return This->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader); +} +static inline HRESULT IMFASFContentInfo_GetProfile(IMFASFContentInfo* This,IMFASFProfile **ppIProfile) { + return This->lpVtbl->GetProfile(This,ppIProfile); +} +static inline HRESULT IMFASFContentInfo_SetProfile(IMFASFContentInfo* This,IMFASFProfile *pIProfile) { + return This->lpVtbl->SetProfile(This,pIProfile); +} +static inline HRESULT IMFASFContentInfo_GeneratePresentationDescriptor(IMFASFContentInfo* This,IMFPresentationDescriptor **ppIPresentationDescriptor) { + return This->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor); +} +static inline HRESULT IMFASFContentInfo_GetEncodingConfigurationPropertyStore(IMFASFContentInfo* This,WORD wStreamNumber,IPropertyStore **ppIStore) { + return This->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFContentInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFMutualExclusion interface + */ +#ifndef __IMFASFMutualExclusion_INTERFACE_DEFINED__ +#define __IMFASFMutualExclusion_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("12558291-e399-11d5-bc2a-00b0d0f3f4ab") +IMFASFMutualExclusion : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetType( + GUID *pguidType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetType( + REFGUID guidType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRecordCount( + DWORD *pdwRecordCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord( + DWORD dwRecordNumber, + WORD *pwStreamNumArray, + DWORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord( + DWORD dwRecordNumber, + WORD wStreamNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStreamFromRecord( + DWORD dwRecordNumber, + WORD wStreamNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveRecord( + DWORD dwRecordNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddRecord( + DWORD *pdwRecordNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IMFASFMutualExclusion **ppIMutex) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab) +#endif +#else +typedef struct IMFASFMutualExclusionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFMutualExclusion *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFMutualExclusion *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFMutualExclusion *This); + + /*** IMFASFMutualExclusion methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IMFASFMutualExclusion *This, + GUID *pguidType); + + HRESULT (STDMETHODCALLTYPE *SetType)( + IMFASFMutualExclusion *This, + REFGUID guidType); + + HRESULT (STDMETHODCALLTYPE *GetRecordCount)( + IMFASFMutualExclusion *This, + DWORD *pdwRecordCount); + + HRESULT (STDMETHODCALLTYPE *GetStreamsForRecord)( + IMFASFMutualExclusion *This, + DWORD dwRecordNumber, + WORD *pwStreamNumArray, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *AddStreamForRecord)( + IMFASFMutualExclusion *This, + DWORD dwRecordNumber, + WORD wStreamNumber); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamFromRecord)( + IMFASFMutualExclusion *This, + DWORD dwRecordNumber, + WORD wStreamNumber); + + HRESULT (STDMETHODCALLTYPE *RemoveRecord)( + IMFASFMutualExclusion *This, + DWORD dwRecordNumber); + + HRESULT (STDMETHODCALLTYPE *AddRecord)( + IMFASFMutualExclusion *This, + DWORD *pdwRecordNumber); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMFASFMutualExclusion *This, + IMFASFMutualExclusion **ppIMutex); + + END_INTERFACE +} IMFASFMutualExclusionVtbl; + +interface IMFASFMutualExclusion { + CONST_VTBL IMFASFMutualExclusionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFMutualExclusion_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFMutualExclusion methods ***/ +#define IMFASFMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) +#define IMFASFMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType) +#define IMFASFMutualExclusion_GetRecordCount(This,pdwRecordCount) (This)->lpVtbl->GetRecordCount(This,pdwRecordCount) +#define IMFASFMutualExclusion_GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams) +#define IMFASFMutualExclusion_AddStreamForRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber) +#define IMFASFMutualExclusion_RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber) +#define IMFASFMutualExclusion_RemoveRecord(This,dwRecordNumber) (This)->lpVtbl->RemoveRecord(This,dwRecordNumber) +#define IMFASFMutualExclusion_AddRecord(This,pdwRecordNumber) (This)->lpVtbl->AddRecord(This,pdwRecordNumber) +#define IMFASFMutualExclusion_Clone(This,ppIMutex) (This)->lpVtbl->Clone(This,ppIMutex) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFMutualExclusion_QueryInterface(IMFASFMutualExclusion* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFMutualExclusion_AddRef(IMFASFMutualExclusion* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFMutualExclusion_Release(IMFASFMutualExclusion* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFMutualExclusion methods ***/ +static inline HRESULT IMFASFMutualExclusion_GetType(IMFASFMutualExclusion* This,GUID *pguidType) { + return This->lpVtbl->GetType(This,pguidType); +} +static inline HRESULT IMFASFMutualExclusion_SetType(IMFASFMutualExclusion* This,REFGUID guidType) { + return This->lpVtbl->SetType(This,guidType); +} +static inline HRESULT IMFASFMutualExclusion_GetRecordCount(IMFASFMutualExclusion* This,DWORD *pdwRecordCount) { + return This->lpVtbl->GetRecordCount(This,pdwRecordCount); +} +static inline HRESULT IMFASFMutualExclusion_GetStreamsForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD *pwStreamNumArray,DWORD *pcStreams) { + return This->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams); +} +static inline HRESULT IMFASFMutualExclusion_AddStreamForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) { + return This->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber); +} +static inline HRESULT IMFASFMutualExclusion_RemoveStreamFromRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) { + return This->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber); +} +static inline HRESULT IMFASFMutualExclusion_RemoveRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber) { + return This->lpVtbl->RemoveRecord(This,dwRecordNumber); +} +static inline HRESULT IMFASFMutualExclusion_AddRecord(IMFASFMutualExclusion* This,DWORD *pdwRecordNumber) { + return This->lpVtbl->AddRecord(This,pdwRecordNumber); +} +static inline HRESULT IMFASFMutualExclusion_Clone(IMFASFMutualExclusion* This,IMFASFMutualExclusion **ppIMutex) { + return This->lpVtbl->Clone(This,ppIMutex); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFMutualExclusion_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFStreamPrioritization interface + */ +#ifndef __IMFASFStreamPrioritization_INTERFACE_DEFINED__ +#define __IMFASFStreamPrioritization_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("699bdc27-bbaf-49ff-8e38-9c39c9b5e088") +IMFASFStreamPrioritization : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamCount( + DWORD *pdwStreamCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + DWORD dwStreamIndex, + WORD *pwStreamNumber, + WORD *pwStreamFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStream( + WORD wStreamNumber, + WORD wStreamFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStream( + DWORD dwStreamIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88) +#endif +#else +typedef struct IMFASFStreamPrioritizationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFStreamPrioritization *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFStreamPrioritization *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFStreamPrioritization *This); + + /*** IMFASFStreamPrioritization methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IMFASFStreamPrioritization *This, + DWORD *pdwStreamCount); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IMFASFStreamPrioritization *This, + DWORD dwStreamIndex, + WORD *pwStreamNumber, + WORD *pwStreamFlags); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IMFASFStreamPrioritization *This, + WORD wStreamNumber, + WORD wStreamFlags); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IMFASFStreamPrioritization *This, + DWORD dwStreamIndex); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMFASFStreamPrioritization *This, + IMFASFStreamPrioritization **ppIStreamPrioritization); + + END_INTERFACE +} IMFASFStreamPrioritizationVtbl; + +interface IMFASFStreamPrioritization { + CONST_VTBL IMFASFStreamPrioritizationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFStreamPrioritization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFStreamPrioritization_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFStreamPrioritization_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFStreamPrioritization methods ***/ +#define IMFASFStreamPrioritization_GetStreamCount(This,pdwStreamCount) (This)->lpVtbl->GetStreamCount(This,pdwStreamCount) +#define IMFASFStreamPrioritization_GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags) +#define IMFASFStreamPrioritization_AddStream(This,wStreamNumber,wStreamFlags) (This)->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags) +#define IMFASFStreamPrioritization_RemoveStream(This,dwStreamIndex) (This)->lpVtbl->RemoveStream(This,dwStreamIndex) +#define IMFASFStreamPrioritization_Clone(This,ppIStreamPrioritization) (This)->lpVtbl->Clone(This,ppIStreamPrioritization) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFStreamPrioritization_QueryInterface(IMFASFStreamPrioritization* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFStreamPrioritization_AddRef(IMFASFStreamPrioritization* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFStreamPrioritization_Release(IMFASFStreamPrioritization* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFStreamPrioritization methods ***/ +static inline HRESULT IMFASFStreamPrioritization_GetStreamCount(IMFASFStreamPrioritization* This,DWORD *pdwStreamCount) { + return This->lpVtbl->GetStreamCount(This,pdwStreamCount); +} +static inline HRESULT IMFASFStreamPrioritization_GetStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex,WORD *pwStreamNumber,WORD *pwStreamFlags) { + return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags); +} +static inline HRESULT IMFASFStreamPrioritization_AddStream(IMFASFStreamPrioritization* This,WORD wStreamNumber,WORD wStreamFlags) { + return This->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags); +} +static inline HRESULT IMFASFStreamPrioritization_RemoveStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex) { + return This->lpVtbl->RemoveStream(This,dwStreamIndex); +} +static inline HRESULT IMFASFStreamPrioritization_Clone(IMFASFStreamPrioritization* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { + return This->lpVtbl->Clone(This,ppIStreamPrioritization); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFStreamPrioritization_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFSplitter interface + */ +#ifndef __IMFASFSplitter_INTERFACE_DEFINED__ +#define __IMFASFSplitter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("12558295-e399-11d5-bc2a-00b0d0f3f4ab") +IMFASFSplitter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IMFASFContentInfo *pIContentInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFlags( + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlags( + DWORD *pdwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SelectStreams( + WORD *pwStreamNumbers, + WORD wNumStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSelectedStreams( + WORD *pwStreamNumbers, + WORD *pwNumStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE ParseData( + IMFMediaBuffer *pIBuffer, + DWORD cbBufferOffset, + DWORD cbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextSample( + DWORD *pdwStatusFlags, + WORD *pwStreamNumber, + IMFSample **ppISample) = 0; + + virtual HRESULT STDMETHODCALLTYPE Flush( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastSendTime( + DWORD *pdwLastSendTime) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab) +#endif +#else +typedef struct IMFASFSplitterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFSplitter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFSplitter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFSplitter *This); + + /*** IMFASFSplitter methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IMFASFSplitter *This, + IMFASFContentInfo *pIContentInfo); + + HRESULT (STDMETHODCALLTYPE *SetFlags)( + IMFASFSplitter *This, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetFlags)( + IMFASFSplitter *This, + DWORD *pdwFlags); + + HRESULT (STDMETHODCALLTYPE *SelectStreams)( + IMFASFSplitter *This, + WORD *pwStreamNumbers, + WORD wNumStreams); + + HRESULT (STDMETHODCALLTYPE *GetSelectedStreams)( + IMFASFSplitter *This, + WORD *pwStreamNumbers, + WORD *pwNumStreams); + + HRESULT (STDMETHODCALLTYPE *ParseData)( + IMFASFSplitter *This, + IMFMediaBuffer *pIBuffer, + DWORD cbBufferOffset, + DWORD cbLength); + + HRESULT (STDMETHODCALLTYPE *GetNextSample)( + IMFASFSplitter *This, + DWORD *pdwStatusFlags, + WORD *pwStreamNumber, + IMFSample **ppISample); + + HRESULT (STDMETHODCALLTYPE *Flush)( + IMFASFSplitter *This); + + HRESULT (STDMETHODCALLTYPE *GetLastSendTime)( + IMFASFSplitter *This, + DWORD *pdwLastSendTime); + + END_INTERFACE +} IMFASFSplitterVtbl; + +interface IMFASFSplitter { + CONST_VTBL IMFASFSplitterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFSplitter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFSplitter_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFSplitter methods ***/ +#define IMFASFSplitter_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) +#define IMFASFSplitter_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) +#define IMFASFSplitter_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) +#define IMFASFSplitter_SelectStreams(This,pwStreamNumbers,wNumStreams) (This)->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams) +#define IMFASFSplitter_GetSelectedStreams(This,pwStreamNumbers,pwNumStreams) (This)->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams) +#define IMFASFSplitter_ParseData(This,pIBuffer,cbBufferOffset,cbLength) (This)->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength) +#define IMFASFSplitter_GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample) (This)->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample) +#define IMFASFSplitter_Flush(This) (This)->lpVtbl->Flush(This) +#define IMFASFSplitter_GetLastSendTime(This,pdwLastSendTime) (This)->lpVtbl->GetLastSendTime(This,pdwLastSendTime) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFSplitter_QueryInterface(IMFASFSplitter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFSplitter_AddRef(IMFASFSplitter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFSplitter_Release(IMFASFSplitter* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFSplitter methods ***/ +static inline HRESULT IMFASFSplitter_Initialize(IMFASFSplitter* This,IMFASFContentInfo *pIContentInfo) { + return This->lpVtbl->Initialize(This,pIContentInfo); +} +static inline HRESULT IMFASFSplitter_SetFlags(IMFASFSplitter* This,DWORD dwFlags) { + return This->lpVtbl->SetFlags(This,dwFlags); +} +static inline HRESULT IMFASFSplitter_GetFlags(IMFASFSplitter* This,DWORD *pdwFlags) { + return This->lpVtbl->GetFlags(This,pdwFlags); +} +static inline HRESULT IMFASFSplitter_SelectStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD wNumStreams) { + return This->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams); +} +static inline HRESULT IMFASFSplitter_GetSelectedStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD *pwNumStreams) { + return This->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams); +} +static inline HRESULT IMFASFSplitter_ParseData(IMFASFSplitter* This,IMFMediaBuffer *pIBuffer,DWORD cbBufferOffset,DWORD cbLength) { + return This->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength); +} +static inline HRESULT IMFASFSplitter_GetNextSample(IMFASFSplitter* This,DWORD *pdwStatusFlags,WORD *pwStreamNumber,IMFSample **ppISample) { + return This->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample); +} +static inline HRESULT IMFASFSplitter_Flush(IMFASFSplitter* This) { + return This->lpVtbl->Flush(This); +} +static inline HRESULT IMFASFSplitter_GetLastSendTime(IMFASFSplitter* This,DWORD *pdwLastSendTime) { + return This->lpVtbl->GetLastSendTime(This,pdwLastSendTime); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFSplitter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFMultiplexer interface + */ +#ifndef __IMFASFMultiplexer_INTERFACE_DEFINED__ +#define __IMFASFMultiplexer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("57bdd80a-9b38-4838-b737-c58f670d7d4f") +IMFASFMultiplexer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Initialize( + IMFASFContentInfo *pIContentInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFlags( + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlags( + DWORD *pdwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessSample( + WORD wStreamNumber, + IMFSample *pISample, + LONGLONG hnsTimestampAdjust) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextPacket( + DWORD *pdwStatusFlags, + IMFSample **ppIPacket) = 0; + + virtual HRESULT STDMETHODCALLTYPE Flush( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE End( + IMFASFContentInfo *pIContentInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatistics( + WORD wStreamNumber, + ASF_MUX_STATISTICS *pMuxStats) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( + DWORD msSyncTolerance) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f) +#endif +#else +typedef struct IMFASFMultiplexerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFMultiplexer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFMultiplexer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFMultiplexer *This); + + /*** IMFASFMultiplexer methods ***/ + HRESULT (STDMETHODCALLTYPE *Initialize)( + IMFASFMultiplexer *This, + IMFASFContentInfo *pIContentInfo); + + HRESULT (STDMETHODCALLTYPE *SetFlags)( + IMFASFMultiplexer *This, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetFlags)( + IMFASFMultiplexer *This, + DWORD *pdwFlags); + + HRESULT (STDMETHODCALLTYPE *ProcessSample)( + IMFASFMultiplexer *This, + WORD wStreamNumber, + IMFSample *pISample, + LONGLONG hnsTimestampAdjust); + + HRESULT (STDMETHODCALLTYPE *GetNextPacket)( + IMFASFMultiplexer *This, + DWORD *pdwStatusFlags, + IMFSample **ppIPacket); + + HRESULT (STDMETHODCALLTYPE *Flush)( + IMFASFMultiplexer *This); + + HRESULT (STDMETHODCALLTYPE *End)( + IMFASFMultiplexer *This, + IMFASFContentInfo *pIContentInfo); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IMFASFMultiplexer *This, + WORD wStreamNumber, + ASF_MUX_STATISTICS *pMuxStats); + + HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( + IMFASFMultiplexer *This, + DWORD msSyncTolerance); + + END_INTERFACE +} IMFASFMultiplexerVtbl; + +interface IMFASFMultiplexer { + CONST_VTBL IMFASFMultiplexerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFMultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFMultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFMultiplexer_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFMultiplexer methods ***/ +#define IMFASFMultiplexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) +#define IMFASFMultiplexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) +#define IMFASFMultiplexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) +#define IMFASFMultiplexer_ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust) (This)->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust) +#define IMFASFMultiplexer_GetNextPacket(This,pdwStatusFlags,ppIPacket) (This)->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket) +#define IMFASFMultiplexer_Flush(This) (This)->lpVtbl->Flush(This) +#define IMFASFMultiplexer_End(This,pIContentInfo) (This)->lpVtbl->End(This,pIContentInfo) +#define IMFASFMultiplexer_GetStatistics(This,wStreamNumber,pMuxStats) (This)->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats) +#define IMFASFMultiplexer_SetSyncTolerance(This,msSyncTolerance) (This)->lpVtbl->SetSyncTolerance(This,msSyncTolerance) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFMultiplexer_QueryInterface(IMFASFMultiplexer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFMultiplexer_AddRef(IMFASFMultiplexer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFMultiplexer_Release(IMFASFMultiplexer* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFMultiplexer methods ***/ +static inline HRESULT IMFASFMultiplexer_Initialize(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) { + return This->lpVtbl->Initialize(This,pIContentInfo); +} +static inline HRESULT IMFASFMultiplexer_SetFlags(IMFASFMultiplexer* This,DWORD dwFlags) { + return This->lpVtbl->SetFlags(This,dwFlags); +} +static inline HRESULT IMFASFMultiplexer_GetFlags(IMFASFMultiplexer* This,DWORD *pdwFlags) { + return This->lpVtbl->GetFlags(This,pdwFlags); +} +static inline HRESULT IMFASFMultiplexer_ProcessSample(IMFASFMultiplexer* This,WORD wStreamNumber,IMFSample *pISample,LONGLONG hnsTimestampAdjust) { + return This->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust); +} +static inline HRESULT IMFASFMultiplexer_GetNextPacket(IMFASFMultiplexer* This,DWORD *pdwStatusFlags,IMFSample **ppIPacket) { + return This->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket); +} +static inline HRESULT IMFASFMultiplexer_Flush(IMFASFMultiplexer* This) { + return This->lpVtbl->Flush(This); +} +static inline HRESULT IMFASFMultiplexer_End(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) { + return This->lpVtbl->End(This,pIContentInfo); +} +static inline HRESULT IMFASFMultiplexer_GetStatistics(IMFASFMultiplexer* This,WORD wStreamNumber,ASF_MUX_STATISTICS *pMuxStats) { + return This->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats); +} +static inline HRESULT IMFASFMultiplexer_SetSyncTolerance(IMFASFMultiplexer* This,DWORD msSyncTolerance) { + return This->lpVtbl->SetSyncTolerance(This,msSyncTolerance); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFMultiplexer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFIndexer interface + */ +#ifndef __IMFASFIndexer_INTERFACE_DEFINED__ +#define __IMFASFIndexer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("53590f48-dc3b-4297-813f-787761ad7b3e") +IMFASFIndexer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetFlags( + DWORD dwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlags( + DWORD *pdwFlags) = 0; + + virtual HRESULT STDMETHODCALLTYPE Initialize( + IMFASFContentInfo *pIContentInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIndexPosition( + IMFASFContentInfo *pIContentInfo, + QWORD *pcbIndexOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIndexByteStreams( + IMFByteStream **ppIByteStreams, + DWORD cByteStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIndexByteStreamCount( + DWORD *pcByteStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIndexStatus( + ASF_INDEX_IDENTIFIER *pIndexIdentifier, + WINBOOL *pfIsIndexed, + BYTE *pbIndexDescriptor, + DWORD *pcbIndexDescriptor) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIndexStatus( + BYTE *pbIndexDescriptor, + DWORD cbIndexDescriptor, + WINBOOL fGenerateIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSeekPositionForValue( + const PROPVARIANT *pvarValue, + ASF_INDEX_IDENTIFIER *pIndexIdentifier, + QWORD *pcbOffsetWithinData, + MFTIME *phnsApproxTime, + DWORD *pdwPayloadNumberOfStreamWithinPacket) = 0; + + virtual HRESULT STDMETHODCALLTYPE GenerateIndexEntries( + IMFSample *pIASFPacketSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE CommitIndex( + IMFASFContentInfo *pIContentInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIndexWriteSpace( + QWORD *pcbIndexWriteSpace) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCompletedIndex( + IMFMediaBuffer *pIIndexBuffer, + QWORD cbOffsetWithinIndex) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e) +#endif +#else +typedef struct IMFASFIndexerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFIndexer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFIndexer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFIndexer *This); + + /*** IMFASFIndexer methods ***/ + HRESULT (STDMETHODCALLTYPE *SetFlags)( + IMFASFIndexer *This, + DWORD dwFlags); + + HRESULT (STDMETHODCALLTYPE *GetFlags)( + IMFASFIndexer *This, + DWORD *pdwFlags); + + HRESULT (STDMETHODCALLTYPE *Initialize)( + IMFASFIndexer *This, + IMFASFContentInfo *pIContentInfo); + + HRESULT (STDMETHODCALLTYPE *GetIndexPosition)( + IMFASFIndexer *This, + IMFASFContentInfo *pIContentInfo, + QWORD *pcbIndexOffset); + + HRESULT (STDMETHODCALLTYPE *SetIndexByteStreams)( + IMFASFIndexer *This, + IMFByteStream **ppIByteStreams, + DWORD cByteStreams); + + HRESULT (STDMETHODCALLTYPE *GetIndexByteStreamCount)( + IMFASFIndexer *This, + DWORD *pcByteStreams); + + HRESULT (STDMETHODCALLTYPE *GetIndexStatus)( + IMFASFIndexer *This, + ASF_INDEX_IDENTIFIER *pIndexIdentifier, + WINBOOL *pfIsIndexed, + BYTE *pbIndexDescriptor, + DWORD *pcbIndexDescriptor); + + HRESULT (STDMETHODCALLTYPE *SetIndexStatus)( + IMFASFIndexer *This, + BYTE *pbIndexDescriptor, + DWORD cbIndexDescriptor, + WINBOOL fGenerateIndex); + + HRESULT (STDMETHODCALLTYPE *GetSeekPositionForValue)( + IMFASFIndexer *This, + const PROPVARIANT *pvarValue, + ASF_INDEX_IDENTIFIER *pIndexIdentifier, + QWORD *pcbOffsetWithinData, + MFTIME *phnsApproxTime, + DWORD *pdwPayloadNumberOfStreamWithinPacket); + + HRESULT (STDMETHODCALLTYPE *GenerateIndexEntries)( + IMFASFIndexer *This, + IMFSample *pIASFPacketSample); + + HRESULT (STDMETHODCALLTYPE *CommitIndex)( + IMFASFIndexer *This, + IMFASFContentInfo *pIContentInfo); + + HRESULT (STDMETHODCALLTYPE *GetIndexWriteSpace)( + IMFASFIndexer *This, + QWORD *pcbIndexWriteSpace); + + HRESULT (STDMETHODCALLTYPE *GetCompletedIndex)( + IMFASFIndexer *This, + IMFMediaBuffer *pIIndexBuffer, + QWORD cbOffsetWithinIndex); + + END_INTERFACE +} IMFASFIndexerVtbl; + +interface IMFASFIndexer { + CONST_VTBL IMFASFIndexerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFIndexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFIndexer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFIndexer_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFIndexer methods ***/ +#define IMFASFIndexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags) +#define IMFASFIndexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags) +#define IMFASFIndexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo) +#define IMFASFIndexer_GetIndexPosition(This,pIContentInfo,pcbIndexOffset) (This)->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset) +#define IMFASFIndexer_SetIndexByteStreams(This,ppIByteStreams,cByteStreams) (This)->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams) +#define IMFASFIndexer_GetIndexByteStreamCount(This,pcByteStreams) (This)->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams) +#define IMFASFIndexer_GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor) (This)->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor) +#define IMFASFIndexer_SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex) (This)->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex) +#define IMFASFIndexer_GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket) (This)->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket) +#define IMFASFIndexer_GenerateIndexEntries(This,pIASFPacketSample) (This)->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample) +#define IMFASFIndexer_CommitIndex(This,pIContentInfo) (This)->lpVtbl->CommitIndex(This,pIContentInfo) +#define IMFASFIndexer_GetIndexWriteSpace(This,pcbIndexWriteSpace) (This)->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace) +#define IMFASFIndexer_GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex) (This)->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFIndexer_QueryInterface(IMFASFIndexer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFIndexer_AddRef(IMFASFIndexer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFIndexer_Release(IMFASFIndexer* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFIndexer methods ***/ +static inline HRESULT IMFASFIndexer_SetFlags(IMFASFIndexer* This,DWORD dwFlags) { + return This->lpVtbl->SetFlags(This,dwFlags); +} +static inline HRESULT IMFASFIndexer_GetFlags(IMFASFIndexer* This,DWORD *pdwFlags) { + return This->lpVtbl->GetFlags(This,pdwFlags); +} +static inline HRESULT IMFASFIndexer_Initialize(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) { + return This->lpVtbl->Initialize(This,pIContentInfo); +} +static inline HRESULT IMFASFIndexer_GetIndexPosition(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo,QWORD *pcbIndexOffset) { + return This->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset); +} +static inline HRESULT IMFASFIndexer_SetIndexByteStreams(IMFASFIndexer* This,IMFByteStream **ppIByteStreams,DWORD cByteStreams) { + return This->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams); +} +static inline HRESULT IMFASFIndexer_GetIndexByteStreamCount(IMFASFIndexer* This,DWORD *pcByteStreams) { + return This->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams); +} +static inline HRESULT IMFASFIndexer_GetIndexStatus(IMFASFIndexer* This,ASF_INDEX_IDENTIFIER *pIndexIdentifier,WINBOOL *pfIsIndexed,BYTE *pbIndexDescriptor,DWORD *pcbIndexDescriptor) { + return This->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor); +} +static inline HRESULT IMFASFIndexer_SetIndexStatus(IMFASFIndexer* This,BYTE *pbIndexDescriptor,DWORD cbIndexDescriptor,WINBOOL fGenerateIndex) { + return This->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex); +} +static inline HRESULT IMFASFIndexer_GetSeekPositionForValue(IMFASFIndexer* This,const PROPVARIANT *pvarValue,ASF_INDEX_IDENTIFIER *pIndexIdentifier,QWORD *pcbOffsetWithinData,MFTIME *phnsApproxTime,DWORD *pdwPayloadNumberOfStreamWithinPacket) { + return This->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket); +} +static inline HRESULT IMFASFIndexer_GenerateIndexEntries(IMFASFIndexer* This,IMFSample *pIASFPacketSample) { + return This->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample); +} +static inline HRESULT IMFASFIndexer_CommitIndex(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) { + return This->lpVtbl->CommitIndex(This,pIContentInfo); +} +static inline HRESULT IMFASFIndexer_GetIndexWriteSpace(IMFASFIndexer* This,QWORD *pcbIndexWriteSpace) { + return This->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace); +} +static inline HRESULT IMFASFIndexer_GetCompletedIndex(IMFASFIndexer* This,IMFMediaBuffer *pIIndexBuffer,QWORD cbOffsetWithinIndex) { + return This->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFIndexer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFStreamSelector interface + */ +#ifndef __IMFASFStreamSelector_INTERFACE_DEFINED__ +#define __IMFASFStreamSelector_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d01bad4a-4fa0-4a60-9349-c27e62da9d41") +IMFASFStreamSelector : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamCount( + DWORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputCount( + DWORD *pcOutputs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputStreamCount( + DWORD dwOutputNum, + DWORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputStreamNumbers( + DWORD dwOutputNum, + WORD *rgwStreamNumbers) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputFromStream( + WORD wStreamNum, + DWORD *pdwOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputOverride( + DWORD dwOutputNum, + ASF_SELECTION_STATUS *pSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputOverride( + DWORD dwOutputNum, + ASF_SELECTION_STATUS Selection) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputMutexCount( + DWORD dwOutputNum, + DWORD *pcMutexes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputMutex( + DWORD dwOutputNum, + DWORD dwMutexNum, + IUnknown **ppMutex) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputMutexSelection( + DWORD dwOutputNum, + DWORD dwMutexNum, + WORD wSelectedRecord) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBandwidthStepCount( + DWORD *pcStepCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBandwidthStep( + DWORD dwStepNum, + DWORD *pdwBitrate, + WORD *rgwStreamNumbers, + ASF_SELECTION_STATUS *rgSelections) = 0; + + virtual HRESULT STDMETHODCALLTYPE BitrateToStepNumber( + DWORD dwBitrate, + DWORD *pdwStepNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamSelectorFlags( + DWORD dwStreamSelectorFlags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41) +#endif +#else +typedef struct IMFASFStreamSelectorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFStreamSelector *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFStreamSelector *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFStreamSelector *This); + + /*** IMFASFStreamSelector methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IMFASFStreamSelector *This, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetOutputCount)( + IMFASFStreamSelector *This, + DWORD *pcOutputs); + + HRESULT (STDMETHODCALLTYPE *GetOutputStreamCount)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetOutputStreamNumbers)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + WORD *rgwStreamNumbers); + + HRESULT (STDMETHODCALLTYPE *GetOutputFromStream)( + IMFASFStreamSelector *This, + WORD wStreamNum, + DWORD *pdwOutput); + + HRESULT (STDMETHODCALLTYPE *GetOutputOverride)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + ASF_SELECTION_STATUS *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetOutputOverride)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + ASF_SELECTION_STATUS Selection); + + HRESULT (STDMETHODCALLTYPE *GetOutputMutexCount)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + DWORD *pcMutexes); + + HRESULT (STDMETHODCALLTYPE *GetOutputMutex)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + DWORD dwMutexNum, + IUnknown **ppMutex); + + HRESULT (STDMETHODCALLTYPE *SetOutputMutexSelection)( + IMFASFStreamSelector *This, + DWORD dwOutputNum, + DWORD dwMutexNum, + WORD wSelectedRecord); + + HRESULT (STDMETHODCALLTYPE *GetBandwidthStepCount)( + IMFASFStreamSelector *This, + DWORD *pcStepCount); + + HRESULT (STDMETHODCALLTYPE *GetBandwidthStep)( + IMFASFStreamSelector *This, + DWORD dwStepNum, + DWORD *pdwBitrate, + WORD *rgwStreamNumbers, + ASF_SELECTION_STATUS *rgSelections); + + HRESULT (STDMETHODCALLTYPE *BitrateToStepNumber)( + IMFASFStreamSelector *This, + DWORD dwBitrate, + DWORD *pdwStepNum); + + HRESULT (STDMETHODCALLTYPE *SetStreamSelectorFlags)( + IMFASFStreamSelector *This, + DWORD dwStreamSelectorFlags); + + END_INTERFACE +} IMFASFStreamSelectorVtbl; + +interface IMFASFStreamSelector { + CONST_VTBL IMFASFStreamSelectorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFStreamSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFStreamSelector_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFStreamSelector_Release(This) (This)->lpVtbl->Release(This) +/*** IMFASFStreamSelector methods ***/ +#define IMFASFStreamSelector_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) +#define IMFASFStreamSelector_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) +#define IMFASFStreamSelector_GetOutputStreamCount(This,dwOutputNum,pcStreams) (This)->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams) +#define IMFASFStreamSelector_GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers) (This)->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers) +#define IMFASFStreamSelector_GetOutputFromStream(This,wStreamNum,pdwOutput) (This)->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput) +#define IMFASFStreamSelector_GetOutputOverride(This,dwOutputNum,pSelection) (This)->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection) +#define IMFASFStreamSelector_SetOutputOverride(This,dwOutputNum,Selection) (This)->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection) +#define IMFASFStreamSelector_GetOutputMutexCount(This,dwOutputNum,pcMutexes) (This)->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes) +#define IMFASFStreamSelector_GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex) (This)->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex) +#define IMFASFStreamSelector_SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord) (This)->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord) +#define IMFASFStreamSelector_GetBandwidthStepCount(This,pcStepCount) (This)->lpVtbl->GetBandwidthStepCount(This,pcStepCount) +#define IMFASFStreamSelector_GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections) (This)->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections) +#define IMFASFStreamSelector_BitrateToStepNumber(This,dwBitrate,pdwStepNum) (This)->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum) +#define IMFASFStreamSelector_SetStreamSelectorFlags(This,dwStreamSelectorFlags) (This)->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFStreamSelector_QueryInterface(IMFASFStreamSelector* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFStreamSelector_AddRef(IMFASFStreamSelector* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFStreamSelector_Release(IMFASFStreamSelector* This) { + return This->lpVtbl->Release(This); +} +/*** IMFASFStreamSelector methods ***/ +static inline HRESULT IMFASFStreamSelector_GetStreamCount(IMFASFStreamSelector* This,DWORD *pcStreams) { + return This->lpVtbl->GetStreamCount(This,pcStreams); +} +static inline HRESULT IMFASFStreamSelector_GetOutputCount(IMFASFStreamSelector* This,DWORD *pcOutputs) { + return This->lpVtbl->GetOutputCount(This,pcOutputs); +} +static inline HRESULT IMFASFStreamSelector_GetOutputStreamCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcStreams) { + return This->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams); +} +static inline HRESULT IMFASFStreamSelector_GetOutputStreamNumbers(IMFASFStreamSelector* This,DWORD dwOutputNum,WORD *rgwStreamNumbers) { + return This->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers); +} +static inline HRESULT IMFASFStreamSelector_GetOutputFromStream(IMFASFStreamSelector* This,WORD wStreamNum,DWORD *pdwOutput) { + return This->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput); +} +static inline HRESULT IMFASFStreamSelector_GetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS *pSelection) { + return This->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection); +} +static inline HRESULT IMFASFStreamSelector_SetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS Selection) { + return This->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection); +} +static inline HRESULT IMFASFStreamSelector_GetOutputMutexCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcMutexes) { + return This->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes); +} +static inline HRESULT IMFASFStreamSelector_GetOutputMutex(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,IUnknown **ppMutex) { + return This->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex); +} +static inline HRESULT IMFASFStreamSelector_SetOutputMutexSelection(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,WORD wSelectedRecord) { + return This->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord); +} +static inline HRESULT IMFASFStreamSelector_GetBandwidthStepCount(IMFASFStreamSelector* This,DWORD *pcStepCount) { + return This->lpVtbl->GetBandwidthStepCount(This,pcStepCount); +} +static inline HRESULT IMFASFStreamSelector_GetBandwidthStep(IMFASFStreamSelector* This,DWORD dwStepNum,DWORD *pdwBitrate,WORD *rgwStreamNumbers,ASF_SELECTION_STATUS *rgSelections) { + return This->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections); +} +static inline HRESULT IMFASFStreamSelector_BitrateToStepNumber(IMFASFStreamSelector* This,DWORD dwBitrate,DWORD *pdwStepNum) { + return This->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum); +} +static inline HRESULT IMFASFStreamSelector_SetStreamSelectorFlags(IMFASFStreamSelector* This,DWORD dwStreamSelectorFlags) { + return This->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFStreamSelector_INTERFACE_DEFINED__ */ + +#if WINVER >= 0x0601 +/***************************************************************************** + * IMFDRMNetHelper interface + */ +#ifndef __IMFDRMNetHelper_INTERFACE_DEFINED__ +#define __IMFDRMNetHelper_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3d1ff0ea-679a-4190-8d46-7fa69e8c7e15") +IMFDRMNetHelper : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ProcessLicenseRequest( + BYTE *pLicenseRequest, + DWORD cbLicenseRequest, + BYTE **ppLicenseResponse, + DWORD *pcbLicenseResponse, + BSTR *pbstrKID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetChainedLicenseResponse( + BYTE **ppLicenseResponse, + DWORD *pcbLicenseResponse) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15) +#endif +#else +typedef struct IMFDRMNetHelperVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFDRMNetHelper *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFDRMNetHelper *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFDRMNetHelper *This); + + /*** IMFDRMNetHelper methods ***/ + HRESULT (STDMETHODCALLTYPE *ProcessLicenseRequest)( + IMFDRMNetHelper *This, + BYTE *pLicenseRequest, + DWORD cbLicenseRequest, + BYTE **ppLicenseResponse, + DWORD *pcbLicenseResponse, + BSTR *pbstrKID); + + HRESULT (STDMETHODCALLTYPE *GetChainedLicenseResponse)( + IMFDRMNetHelper *This, + BYTE **ppLicenseResponse, + DWORD *pcbLicenseResponse); + + END_INTERFACE +} IMFDRMNetHelperVtbl; + +interface IMFDRMNetHelper { + CONST_VTBL IMFDRMNetHelperVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFDRMNetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFDRMNetHelper_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFDRMNetHelper_Release(This) (This)->lpVtbl->Release(This) +/*** IMFDRMNetHelper methods ***/ +#define IMFDRMNetHelper_ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID) (This)->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID) +#define IMFDRMNetHelper_GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse) (This)->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFDRMNetHelper_QueryInterface(IMFDRMNetHelper* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFDRMNetHelper_AddRef(IMFDRMNetHelper* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFDRMNetHelper_Release(IMFDRMNetHelper* This) { + return This->lpVtbl->Release(This); +} +/*** IMFDRMNetHelper methods ***/ +static inline HRESULT IMFDRMNetHelper_ProcessLicenseRequest(IMFDRMNetHelper* This,BYTE *pLicenseRequest,DWORD cbLicenseRequest,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse,BSTR *pbstrKID) { + return This->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID); +} +static inline HRESULT IMFDRMNetHelper_GetChainedLicenseResponse(IMFDRMNetHelper* This,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse) { + return This->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse); +} +#endif +#endif + +#endif + + +#endif /* __IMFDRMNetHelper_INTERFACE_DEFINED__ */ + +#endif +/***************************************************************************** + * IMFASFProfile interface + */ +#ifndef __IMFASFProfile_INTERFACE_DEFINED__ +#define __IMFASFProfile_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d267bf6a-028b-4e0d-903d-43f0ef82d0d4") +IMFASFProfile : public IMFAttributes +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamCount( + DWORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + DWORD dwStreamIndex, + WORD *pwStreamNumber, + IMFASFStreamConfig **ppIStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( + WORD wStreamNumber, + IMFASFStreamConfig **ppIStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStream( + IMFASFStreamConfig *pIStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStream( + WORD wStreamNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStream( + IMFMediaType *pIMediaType, + IMFASFStreamConfig **ppIStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( + DWORD *pcMutexs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( + DWORD dwMutexIndex, + IMFASFMutualExclusion **ppIMutex) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( + IMFASFMutualExclusion *pIMutex) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( + DWORD dwMutexIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMutualExclusion( + IMFASFMutualExclusion **ppIMutex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization( + IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStreamPrioritization( + IMFASFStreamPrioritization *pIStreamPrioritization) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStreamPrioritization( + IMFASFStreamPrioritization **ppIStreamPrioritization) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IMFASFProfile **ppIProfile) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4) +#endif +#else +typedef struct IMFASFProfileVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFProfile *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFProfile *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFProfile *This); + + /*** IMFAttributes methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItem)( + IMFASFProfile *This, + REFGUID guidKey, + PROPVARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *GetItemType)( + IMFASFProfile *This, + REFGUID guidKey, + MF_ATTRIBUTE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *CompareItem)( + IMFASFProfile *This, + REFGUID guidKey, + REFPROPVARIANT Value, + WINBOOL *pbResult); + + HRESULT (STDMETHODCALLTYPE *Compare)( + IMFASFProfile *This, + IMFAttributes *pTheirs, + MF_ATTRIBUTES_MATCH_TYPE MatchType, + WINBOOL *pbResult); + + HRESULT (STDMETHODCALLTYPE *GetUINT32)( + IMFASFProfile *This, + REFGUID guidKey, + UINT32 *punValue); + + HRESULT (STDMETHODCALLTYPE *GetUINT64)( + IMFASFProfile *This, + REFGUID guidKey, + UINT64 *punValue); + + HRESULT (STDMETHODCALLTYPE *GetDouble)( + IMFASFProfile *This, + REFGUID guidKey, + double *pfValue); + + HRESULT (STDMETHODCALLTYPE *GetGUID)( + IMFASFProfile *This, + REFGUID guidKey, + GUID *pguidValue); + + HRESULT (STDMETHODCALLTYPE *GetStringLength)( + IMFASFProfile *This, + REFGUID guidKey, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetString)( + IMFASFProfile *This, + REFGUID guidKey, + LPWSTR pwszValue, + UINT32 cchBufSize, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( + IMFASFProfile *This, + REFGUID guidKey, + LPWSTR *ppwszValue, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetBlobSize)( + IMFASFProfile *This, + REFGUID guidKey, + UINT32 *pcbBlobSize); + + HRESULT (STDMETHODCALLTYPE *GetBlob)( + IMFASFProfile *This, + REFGUID guidKey, + UINT8 *pBuf, + UINT32 cbBufSize, + UINT32 *pcbBlobSize); + + HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( + IMFASFProfile *This, + REFGUID guidKey, + UINT8 **ppBuf, + UINT32 *pcbSize); + + HRESULT (STDMETHODCALLTYPE *GetUnknown)( + IMFASFProfile *This, + REFGUID guidKey, + REFIID riid, + LPVOID *ppv); + + HRESULT (STDMETHODCALLTYPE *SetItem)( + IMFASFProfile *This, + REFGUID guidKey, + REFPROPVARIANT Value); + + HRESULT (STDMETHODCALLTYPE *DeleteItem)( + IMFASFProfile *This, + REFGUID guidKey); + + HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( + IMFASFProfile *This); + + HRESULT (STDMETHODCALLTYPE *SetUINT32)( + IMFASFProfile *This, + REFGUID guidKey, + UINT32 unValue); + + HRESULT (STDMETHODCALLTYPE *SetUINT64)( + IMFASFProfile *This, + REFGUID guidKey, + UINT64 unValue); + + HRESULT (STDMETHODCALLTYPE *SetDouble)( + IMFASFProfile *This, + REFGUID guidKey, + double fValue); + + HRESULT (STDMETHODCALLTYPE *SetGUID)( + IMFASFProfile *This, + REFGUID guidKey, + REFGUID guidValue); + + HRESULT (STDMETHODCALLTYPE *SetString)( + IMFASFProfile *This, + REFGUID guidKey, + LPCWSTR wszValue); + + HRESULT (STDMETHODCALLTYPE *SetBlob)( + IMFASFProfile *This, + REFGUID guidKey, + const UINT8 *pBuf, + UINT32 cbBufSize); + + HRESULT (STDMETHODCALLTYPE *SetUnknown)( + IMFASFProfile *This, + REFGUID guidKey, + IUnknown *pUnknown); + + HRESULT (STDMETHODCALLTYPE *LockStore)( + IMFASFProfile *This); + + HRESULT (STDMETHODCALLTYPE *UnlockStore)( + IMFASFProfile *This); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IMFASFProfile *This, + UINT32 *pcItems); + + HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( + IMFASFProfile *This, + UINT32 unIndex, + GUID *pguidKey, + PROPVARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *CopyAllItems)( + IMFASFProfile *This, + IMFAttributes *pDest); + + /*** IMFASFProfile methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IMFASFProfile *This, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IMFASFProfile *This, + DWORD dwStreamIndex, + WORD *pwStreamNumber, + IMFASFStreamConfig **ppIStream); + + HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( + IMFASFProfile *This, + WORD wStreamNumber, + IMFASFStreamConfig **ppIStream); + + HRESULT (STDMETHODCALLTYPE *SetStream)( + IMFASFProfile *This, + IMFASFStreamConfig *pIStream); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IMFASFProfile *This, + WORD wStreamNumber); + + HRESULT (STDMETHODCALLTYPE *CreateStream)( + IMFASFProfile *This, + IMFMediaType *pIMediaType, + IMFASFStreamConfig **ppIStream); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( + IMFASFProfile *This, + DWORD *pcMutexs); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( + IMFASFProfile *This, + DWORD dwMutexIndex, + IMFASFMutualExclusion **ppIMutex); + + HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( + IMFASFProfile *This, + IMFASFMutualExclusion *pIMutex); + + HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( + IMFASFProfile *This, + DWORD dwMutexIndex); + + HRESULT (STDMETHODCALLTYPE *CreateMutualExclusion)( + IMFASFProfile *This, + IMFASFMutualExclusion **ppIMutex); + + HRESULT (STDMETHODCALLTYPE *GetStreamPrioritization)( + IMFASFProfile *This, + IMFASFStreamPrioritization **ppIStreamPrioritization); + + HRESULT (STDMETHODCALLTYPE *AddStreamPrioritization)( + IMFASFProfile *This, + IMFASFStreamPrioritization *pIStreamPrioritization); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamPrioritization)( + IMFASFProfile *This); + + HRESULT (STDMETHODCALLTYPE *CreateStreamPrioritization)( + IMFASFProfile *This, + IMFASFStreamPrioritization **ppIStreamPrioritization); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMFASFProfile *This, + IMFASFProfile **ppIProfile); + + END_INTERFACE +} IMFASFProfileVtbl; + +interface IMFASFProfile { + CONST_VTBL IMFASFProfileVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFProfile_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFProfile_Release(This) (This)->lpVtbl->Release(This) +/*** IMFAttributes methods ***/ +#define IMFASFProfile_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) +#define IMFASFProfile_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) +#define IMFASFProfile_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) +#define IMFASFProfile_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) +#define IMFASFProfile_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) +#define IMFASFProfile_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) +#define IMFASFProfile_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) +#define IMFASFProfile_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) +#define IMFASFProfile_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) +#define IMFASFProfile_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) +#define IMFASFProfile_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) +#define IMFASFProfile_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) +#define IMFASFProfile_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) +#define IMFASFProfile_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) +#define IMFASFProfile_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) +#define IMFASFProfile_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) +#define IMFASFProfile_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) +#define IMFASFProfile_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) +#define IMFASFProfile_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) +#define IMFASFProfile_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) +#define IMFASFProfile_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) +#define IMFASFProfile_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) +#define IMFASFProfile_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) +#define IMFASFProfile_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) +#define IMFASFProfile_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) +#define IMFASFProfile_LockStore(This) (This)->lpVtbl->LockStore(This) +#define IMFASFProfile_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) +#define IMFASFProfile_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) +#define IMFASFProfile_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) +#define IMFASFProfile_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) +/*** IMFASFProfile methods ***/ +#define IMFASFProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) +#define IMFASFProfile_GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream) +#define IMFASFProfile_GetStreamByNumber(This,wStreamNumber,ppIStream) (This)->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream) +#define IMFASFProfile_SetStream(This,pIStream) (This)->lpVtbl->SetStream(This,pIStream) +#define IMFASFProfile_RemoveStream(This,wStreamNumber) (This)->lpVtbl->RemoveStream(This,wStreamNumber) +#define IMFASFProfile_CreateStream(This,pIMediaType,ppIStream) (This)->lpVtbl->CreateStream(This,pIMediaType,ppIStream) +#define IMFASFProfile_GetMutualExclusionCount(This,pcMutexs) (This)->lpVtbl->GetMutualExclusionCount(This,pcMutexs) +#define IMFASFProfile_GetMutualExclusion(This,dwMutexIndex,ppIMutex) (This)->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex) +#define IMFASFProfile_AddMutualExclusion(This,pIMutex) (This)->lpVtbl->AddMutualExclusion(This,pIMutex) +#define IMFASFProfile_RemoveMutualExclusion(This,dwMutexIndex) (This)->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex) +#define IMFASFProfile_CreateMutualExclusion(This,ppIMutex) (This)->lpVtbl->CreateMutualExclusion(This,ppIMutex) +#define IMFASFProfile_GetStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization) +#define IMFASFProfile_AddStreamPrioritization(This,pIStreamPrioritization) (This)->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization) +#define IMFASFProfile_RemoveStreamPrioritization(This) (This)->lpVtbl->RemoveStreamPrioritization(This) +#define IMFASFProfile_CreateStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization) +#define IMFASFProfile_Clone(This,ppIProfile) (This)->lpVtbl->Clone(This,ppIProfile) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFProfile_QueryInterface(IMFASFProfile* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFProfile_AddRef(IMFASFProfile* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFProfile_Release(IMFASFProfile* This) { + return This->lpVtbl->Release(This); +} +/*** IMFAttributes methods ***/ +static inline HRESULT IMFASFProfile_GetItem(IMFASFProfile* This,REFGUID guidKey,PROPVARIANT *pValue) { + return This->lpVtbl->GetItem(This,guidKey,pValue); +} +static inline HRESULT IMFASFProfile_GetItemType(IMFASFProfile* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { + return This->lpVtbl->GetItemType(This,guidKey,pType); +} +static inline HRESULT IMFASFProfile_CompareItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { + return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); +} +static inline HRESULT IMFASFProfile_Compare(IMFASFProfile* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { + return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); +} +static inline HRESULT IMFASFProfile_GetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 *punValue) { + return This->lpVtbl->GetUINT32(This,guidKey,punValue); +} +static inline HRESULT IMFASFProfile_GetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 *punValue) { + return This->lpVtbl->GetUINT64(This,guidKey,punValue); +} +static inline HRESULT IMFASFProfile_GetDouble(IMFASFProfile* This,REFGUID guidKey,double *pfValue) { + return This->lpVtbl->GetDouble(This,guidKey,pfValue); +} +static inline HRESULT IMFASFProfile_GetGUID(IMFASFProfile* This,REFGUID guidKey,GUID *pguidValue) { + return This->lpVtbl->GetGUID(This,guidKey,pguidValue); +} +static inline HRESULT IMFASFProfile_GetStringLength(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcchLength) { + return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); +} +static inline HRESULT IMFASFProfile_GetString(IMFASFProfile* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { + return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); +} +static inline HRESULT IMFASFProfile_GetAllocatedString(IMFASFProfile* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { + return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); +} +static inline HRESULT IMFASFProfile_GetBlobSize(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcbBlobSize) { + return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); +} +static inline HRESULT IMFASFProfile_GetBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { + return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); +} +static inline HRESULT IMFASFProfile_GetAllocatedBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { + return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); +} +static inline HRESULT IMFASFProfile_GetUnknown(IMFASFProfile* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { + return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); +} +static inline HRESULT IMFASFProfile_SetItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value) { + return This->lpVtbl->SetItem(This,guidKey,Value); +} +static inline HRESULT IMFASFProfile_DeleteItem(IMFASFProfile* This,REFGUID guidKey) { + return This->lpVtbl->DeleteItem(This,guidKey); +} +static inline HRESULT IMFASFProfile_DeleteAllItems(IMFASFProfile* This) { + return This->lpVtbl->DeleteAllItems(This); +} +static inline HRESULT IMFASFProfile_SetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 unValue) { + return This->lpVtbl->SetUINT32(This,guidKey,unValue); +} +static inline HRESULT IMFASFProfile_SetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 unValue) { + return This->lpVtbl->SetUINT64(This,guidKey,unValue); +} +static inline HRESULT IMFASFProfile_SetDouble(IMFASFProfile* This,REFGUID guidKey,double fValue) { + return This->lpVtbl->SetDouble(This,guidKey,fValue); +} +static inline HRESULT IMFASFProfile_SetGUID(IMFASFProfile* This,REFGUID guidKey,REFGUID guidValue) { + return This->lpVtbl->SetGUID(This,guidKey,guidValue); +} +static inline HRESULT IMFASFProfile_SetString(IMFASFProfile* This,REFGUID guidKey,LPCWSTR wszValue) { + return This->lpVtbl->SetString(This,guidKey,wszValue); +} +static inline HRESULT IMFASFProfile_SetBlob(IMFASFProfile* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { + return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); +} +static inline HRESULT IMFASFProfile_SetUnknown(IMFASFProfile* This,REFGUID guidKey,IUnknown *pUnknown) { + return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); +} +static inline HRESULT IMFASFProfile_LockStore(IMFASFProfile* This) { + return This->lpVtbl->LockStore(This); +} +static inline HRESULT IMFASFProfile_UnlockStore(IMFASFProfile* This) { + return This->lpVtbl->UnlockStore(This); +} +static inline HRESULT IMFASFProfile_GetCount(IMFASFProfile* This,UINT32 *pcItems) { + return This->lpVtbl->GetCount(This,pcItems); +} +static inline HRESULT IMFASFProfile_GetItemByIndex(IMFASFProfile* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { + return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); +} +static inline HRESULT IMFASFProfile_CopyAllItems(IMFASFProfile* This,IMFAttributes *pDest) { + return This->lpVtbl->CopyAllItems(This,pDest); +} +/*** IMFASFProfile methods ***/ +static inline HRESULT IMFASFProfile_GetStreamCount(IMFASFProfile* This,DWORD *pcStreams) { + return This->lpVtbl->GetStreamCount(This,pcStreams); +} +static inline HRESULT IMFASFProfile_GetStream(IMFASFProfile* This,DWORD dwStreamIndex,WORD *pwStreamNumber,IMFASFStreamConfig **ppIStream) { + return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream); +} +static inline HRESULT IMFASFProfile_GetStreamByNumber(IMFASFProfile* This,WORD wStreamNumber,IMFASFStreamConfig **ppIStream) { + return This->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream); +} +static inline HRESULT IMFASFProfile_SetStream(IMFASFProfile* This,IMFASFStreamConfig *pIStream) { + return This->lpVtbl->SetStream(This,pIStream); +} +static inline HRESULT IMFASFProfile_RemoveStream(IMFASFProfile* This,WORD wStreamNumber) { + return This->lpVtbl->RemoveStream(This,wStreamNumber); +} +static inline HRESULT IMFASFProfile_CreateStream(IMFASFProfile* This,IMFMediaType *pIMediaType,IMFASFStreamConfig **ppIStream) { + return This->lpVtbl->CreateStream(This,pIMediaType,ppIStream); +} +static inline HRESULT IMFASFProfile_GetMutualExclusionCount(IMFASFProfile* This,DWORD *pcMutexs) { + return This->lpVtbl->GetMutualExclusionCount(This,pcMutexs); +} +static inline HRESULT IMFASFProfile_GetMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex,IMFASFMutualExclusion **ppIMutex) { + return This->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex); +} +static inline HRESULT IMFASFProfile_AddMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion *pIMutex) { + return This->lpVtbl->AddMutualExclusion(This,pIMutex); +} +static inline HRESULT IMFASFProfile_RemoveMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex) { + return This->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex); +} +static inline HRESULT IMFASFProfile_CreateMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion **ppIMutex) { + return This->lpVtbl->CreateMutualExclusion(This,ppIMutex); +} +static inline HRESULT IMFASFProfile_GetStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { + return This->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization); +} +static inline HRESULT IMFASFProfile_AddStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization *pIStreamPrioritization) { + return This->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization); +} +static inline HRESULT IMFASFProfile_RemoveStreamPrioritization(IMFASFProfile* This) { + return This->lpVtbl->RemoveStreamPrioritization(This); +} +static inline HRESULT IMFASFProfile_CreateStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) { + return This->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization); +} +static inline HRESULT IMFASFProfile_Clone(IMFASFProfile* This,IMFASFProfile **ppIProfile) { + return This->lpVtbl->Clone(This,ppIProfile); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFProfile_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IMFASFStreamConfig interface + */ +#ifndef __IMFASFStreamConfig_INTERFACE_DEFINED__ +#define __IMFASFStreamConfig_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9e8ae8d2-dbbd-4200-9aca-06e6df484913") +IMFASFStreamConfig : public IMFAttributes +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamType( + GUID *pguidStreamType) = 0; + + virtual WORD STDMETHODCALLTYPE GetStreamNumber( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( + WORD wStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMediaType( + IMFMediaType **ppIMediaType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMediaType( + IMFMediaType *pIMediaType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPayloadExtensionCount( + WORD *pcPayloadExtensions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPayloadExtension( + WORD wPayloadExtensionNumber, + GUID *pguidExtensionSystemID, + WORD *pcbExtensionDataSize, + BYTE *pbExtensionSystemInfo, + DWORD *pcbExtensionSystemInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPayloadExtension( + GUID guidExtensionSystemID, + WORD cbExtensionDataSize, + BYTE *pbExtensionSystemInfo, + DWORD cbExtensionSystemInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAllPayloadExtensions( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IMFASFStreamConfig **ppIStreamConfig) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13) +#endif +#else +typedef struct IMFASFStreamConfigVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IMFASFStreamConfig *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IMFASFStreamConfig *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IMFASFStreamConfig *This); + + /*** IMFAttributes methods ***/ + HRESULT (STDMETHODCALLTYPE *GetItem)( + IMFASFStreamConfig *This, + REFGUID guidKey, + PROPVARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *GetItemType)( + IMFASFStreamConfig *This, + REFGUID guidKey, + MF_ATTRIBUTE_TYPE *pType); + + HRESULT (STDMETHODCALLTYPE *CompareItem)( + IMFASFStreamConfig *This, + REFGUID guidKey, + REFPROPVARIANT Value, + WINBOOL *pbResult); + + HRESULT (STDMETHODCALLTYPE *Compare)( + IMFASFStreamConfig *This, + IMFAttributes *pTheirs, + MF_ATTRIBUTES_MATCH_TYPE MatchType, + WINBOOL *pbResult); + + HRESULT (STDMETHODCALLTYPE *GetUINT32)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT32 *punValue); + + HRESULT (STDMETHODCALLTYPE *GetUINT64)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT64 *punValue); + + HRESULT (STDMETHODCALLTYPE *GetDouble)( + IMFASFStreamConfig *This, + REFGUID guidKey, + double *pfValue); + + HRESULT (STDMETHODCALLTYPE *GetGUID)( + IMFASFStreamConfig *This, + REFGUID guidKey, + GUID *pguidValue); + + HRESULT (STDMETHODCALLTYPE *GetStringLength)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetString)( + IMFASFStreamConfig *This, + REFGUID guidKey, + LPWSTR pwszValue, + UINT32 cchBufSize, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetAllocatedString)( + IMFASFStreamConfig *This, + REFGUID guidKey, + LPWSTR *ppwszValue, + UINT32 *pcchLength); + + HRESULT (STDMETHODCALLTYPE *GetBlobSize)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT32 *pcbBlobSize); + + HRESULT (STDMETHODCALLTYPE *GetBlob)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT8 *pBuf, + UINT32 cbBufSize, + UINT32 *pcbBlobSize); + + HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT8 **ppBuf, + UINT32 *pcbSize); + + HRESULT (STDMETHODCALLTYPE *GetUnknown)( + IMFASFStreamConfig *This, + REFGUID guidKey, + REFIID riid, + LPVOID *ppv); + + HRESULT (STDMETHODCALLTYPE *SetItem)( + IMFASFStreamConfig *This, + REFGUID guidKey, + REFPROPVARIANT Value); + + HRESULT (STDMETHODCALLTYPE *DeleteItem)( + IMFASFStreamConfig *This, + REFGUID guidKey); + + HRESULT (STDMETHODCALLTYPE *DeleteAllItems)( + IMFASFStreamConfig *This); + + HRESULT (STDMETHODCALLTYPE *SetUINT32)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT32 unValue); + + HRESULT (STDMETHODCALLTYPE *SetUINT64)( + IMFASFStreamConfig *This, + REFGUID guidKey, + UINT64 unValue); + + HRESULT (STDMETHODCALLTYPE *SetDouble)( + IMFASFStreamConfig *This, + REFGUID guidKey, + double fValue); + + HRESULT (STDMETHODCALLTYPE *SetGUID)( + IMFASFStreamConfig *This, + REFGUID guidKey, + REFGUID guidValue); + + HRESULT (STDMETHODCALLTYPE *SetString)( + IMFASFStreamConfig *This, + REFGUID guidKey, + LPCWSTR wszValue); + + HRESULT (STDMETHODCALLTYPE *SetBlob)( + IMFASFStreamConfig *This, + REFGUID guidKey, + const UINT8 *pBuf, + UINT32 cbBufSize); + + HRESULT (STDMETHODCALLTYPE *SetUnknown)( + IMFASFStreamConfig *This, + REFGUID guidKey, + IUnknown *pUnknown); + + HRESULT (STDMETHODCALLTYPE *LockStore)( + IMFASFStreamConfig *This); + + HRESULT (STDMETHODCALLTYPE *UnlockStore)( + IMFASFStreamConfig *This); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IMFASFStreamConfig *This, + UINT32 *pcItems); + + HRESULT (STDMETHODCALLTYPE *GetItemByIndex)( + IMFASFStreamConfig *This, + UINT32 unIndex, + GUID *pguidKey, + PROPVARIANT *pValue); + + HRESULT (STDMETHODCALLTYPE *CopyAllItems)( + IMFASFStreamConfig *This, + IMFAttributes *pDest); + + /*** IMFASFStreamConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamType)( + IMFASFStreamConfig *This, + GUID *pguidStreamType); + + WORD (STDMETHODCALLTYPE *GetStreamNumber)( + IMFASFStreamConfig *This); + + HRESULT (STDMETHODCALLTYPE *SetStreamNumber)( + IMFASFStreamConfig *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *GetMediaType)( + IMFASFStreamConfig *This, + IMFMediaType **ppIMediaType); + + HRESULT (STDMETHODCALLTYPE *SetMediaType)( + IMFASFStreamConfig *This, + IMFMediaType *pIMediaType); + + HRESULT (STDMETHODCALLTYPE *GetPayloadExtensionCount)( + IMFASFStreamConfig *This, + WORD *pcPayloadExtensions); + + HRESULT (STDMETHODCALLTYPE *GetPayloadExtension)( + IMFASFStreamConfig *This, + WORD wPayloadExtensionNumber, + GUID *pguidExtensionSystemID, + WORD *pcbExtensionDataSize, + BYTE *pbExtensionSystemInfo, + DWORD *pcbExtensionSystemInfo); + + HRESULT (STDMETHODCALLTYPE *AddPayloadExtension)( + IMFASFStreamConfig *This, + GUID guidExtensionSystemID, + WORD cbExtensionDataSize, + BYTE *pbExtensionSystemInfo, + DWORD cbExtensionSystemInfo); + + HRESULT (STDMETHODCALLTYPE *RemoveAllPayloadExtensions)( + IMFASFStreamConfig *This); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IMFASFStreamConfig *This, + IMFASFStreamConfig **ppIStreamConfig); + + END_INTERFACE +} IMFASFStreamConfigVtbl; + +interface IMFASFStreamConfig { + CONST_VTBL IMFASFStreamConfigVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IMFASFStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IMFASFStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IMFASFStreamConfig_Release(This) (This)->lpVtbl->Release(This) +/*** IMFAttributes methods ***/ +#define IMFASFStreamConfig_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue) +#define IMFASFStreamConfig_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType) +#define IMFASFStreamConfig_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult) +#define IMFASFStreamConfig_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult) +#define IMFASFStreamConfig_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue) +#define IMFASFStreamConfig_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue) +#define IMFASFStreamConfig_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue) +#define IMFASFStreamConfig_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue) +#define IMFASFStreamConfig_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength) +#define IMFASFStreamConfig_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) +#define IMFASFStreamConfig_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength) +#define IMFASFStreamConfig_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize) +#define IMFASFStreamConfig_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) +#define IMFASFStreamConfig_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) +#define IMFASFStreamConfig_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv) +#define IMFASFStreamConfig_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value) +#define IMFASFStreamConfig_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey) +#define IMFASFStreamConfig_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This) +#define IMFASFStreamConfig_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue) +#define IMFASFStreamConfig_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue) +#define IMFASFStreamConfig_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue) +#define IMFASFStreamConfig_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue) +#define IMFASFStreamConfig_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue) +#define IMFASFStreamConfig_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize) +#define IMFASFStreamConfig_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown) +#define IMFASFStreamConfig_LockStore(This) (This)->lpVtbl->LockStore(This) +#define IMFASFStreamConfig_UnlockStore(This) (This)->lpVtbl->UnlockStore(This) +#define IMFASFStreamConfig_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems) +#define IMFASFStreamConfig_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue) +#define IMFASFStreamConfig_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest) +/*** IMFASFStreamConfig methods ***/ +#define IMFASFStreamConfig_GetStreamType(This,pguidStreamType) (This)->lpVtbl->GetStreamType(This,pguidStreamType) +#define IMFASFStreamConfig_GetStreamNumber(This) (This)->lpVtbl->GetStreamNumber(This) +#define IMFASFStreamConfig_SetStreamNumber(This,wStreamNum) (This)->lpVtbl->SetStreamNumber(This,wStreamNum) +#define IMFASFStreamConfig_GetMediaType(This,ppIMediaType) (This)->lpVtbl->GetMediaType(This,ppIMediaType) +#define IMFASFStreamConfig_SetMediaType(This,pIMediaType) (This)->lpVtbl->SetMediaType(This,pIMediaType) +#define IMFASFStreamConfig_GetPayloadExtensionCount(This,pcPayloadExtensions) (This)->lpVtbl->GetPayloadExtensionCount(This,pcPayloadExtensions) +#define IMFASFStreamConfig_GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) (This)->lpVtbl->GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) +#define IMFASFStreamConfig_AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) (This)->lpVtbl->AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) +#define IMFASFStreamConfig_RemoveAllPayloadExtensions(This) (This)->lpVtbl->RemoveAllPayloadExtensions(This) +#define IMFASFStreamConfig_Clone(This,ppIStreamConfig) (This)->lpVtbl->Clone(This,ppIStreamConfig) +#else +/*** IUnknown methods ***/ +static inline HRESULT IMFASFStreamConfig_QueryInterface(IMFASFStreamConfig* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IMFASFStreamConfig_AddRef(IMFASFStreamConfig* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IMFASFStreamConfig_Release(IMFASFStreamConfig* This) { + return This->lpVtbl->Release(This); +} +/*** IMFAttributes methods ***/ +static inline HRESULT IMFASFStreamConfig_GetItem(IMFASFStreamConfig* This,REFGUID guidKey,PROPVARIANT *pValue) { + return This->lpVtbl->GetItem(This,guidKey,pValue); +} +static inline HRESULT IMFASFStreamConfig_GetItemType(IMFASFStreamConfig* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) { + return This->lpVtbl->GetItemType(This,guidKey,pType); +} +static inline HRESULT IMFASFStreamConfig_CompareItem(IMFASFStreamConfig* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) { + return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult); +} +static inline HRESULT IMFASFStreamConfig_Compare(IMFASFStreamConfig* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) { + return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult); +} +static inline HRESULT IMFASFStreamConfig_GetUINT32(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *punValue) { + return This->lpVtbl->GetUINT32(This,guidKey,punValue); +} +static inline HRESULT IMFASFStreamConfig_GetUINT64(IMFASFStreamConfig* This,REFGUID guidKey,UINT64 *punValue) { + return This->lpVtbl->GetUINT64(This,guidKey,punValue); +} +static inline HRESULT IMFASFStreamConfig_GetDouble(IMFASFStreamConfig* This,REFGUID guidKey,double *pfValue) { + return This->lpVtbl->GetDouble(This,guidKey,pfValue); +} +static inline HRESULT IMFASFStreamConfig_GetGUID(IMFASFStreamConfig* This,REFGUID guidKey,GUID *pguidValue) { + return This->lpVtbl->GetGUID(This,guidKey,pguidValue); +} +static inline HRESULT IMFASFStreamConfig_GetStringLength(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *pcchLength) { + return This->lpVtbl->GetStringLength(This,guidKey,pcchLength); +} +static inline HRESULT IMFASFStreamConfig_GetString(IMFASFStreamConfig* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) { + return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength); +} +static inline HRESULT IMFASFStreamConfig_GetAllocatedString(IMFASFStreamConfig* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) { + return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength); +} +static inline HRESULT IMFASFStreamConfig_GetBlobSize(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 *pcbBlobSize) { + return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize); +} +static inline HRESULT IMFASFStreamConfig_GetBlob(IMFASFStreamConfig* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) { + return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize); +} +static inline HRESULT IMFASFStreamConfig_GetAllocatedBlob(IMFASFStreamConfig* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) { + return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize); +} +static inline HRESULT IMFASFStreamConfig_GetUnknown(IMFASFStreamConfig* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) { + return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv); +} +static inline HRESULT IMFASFStreamConfig_SetItem(IMFASFStreamConfig* This,REFGUID guidKey,REFPROPVARIANT Value) { + return This->lpVtbl->SetItem(This,guidKey,Value); +} +static inline HRESULT IMFASFStreamConfig_DeleteItem(IMFASFStreamConfig* This,REFGUID guidKey) { + return This->lpVtbl->DeleteItem(This,guidKey); +} +static inline HRESULT IMFASFStreamConfig_DeleteAllItems(IMFASFStreamConfig* This) { + return This->lpVtbl->DeleteAllItems(This); +} +static inline HRESULT IMFASFStreamConfig_SetUINT32(IMFASFStreamConfig* This,REFGUID guidKey,UINT32 unValue) { + return This->lpVtbl->SetUINT32(This,guidKey,unValue); +} +static inline HRESULT IMFASFStreamConfig_SetUINT64(IMFASFStreamConfig* This,REFGUID guidKey,UINT64 unValue) { + return This->lpVtbl->SetUINT64(This,guidKey,unValue); +} +static inline HRESULT IMFASFStreamConfig_SetDouble(IMFASFStreamConfig* This,REFGUID guidKey,double fValue) { + return This->lpVtbl->SetDouble(This,guidKey,fValue); +} +static inline HRESULT IMFASFStreamConfig_SetGUID(IMFASFStreamConfig* This,REFGUID guidKey,REFGUID guidValue) { + return This->lpVtbl->SetGUID(This,guidKey,guidValue); +} +static inline HRESULT IMFASFStreamConfig_SetString(IMFASFStreamConfig* This,REFGUID guidKey,LPCWSTR wszValue) { + return This->lpVtbl->SetString(This,guidKey,wszValue); +} +static inline HRESULT IMFASFStreamConfig_SetBlob(IMFASFStreamConfig* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) { + return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize); +} +static inline HRESULT IMFASFStreamConfig_SetUnknown(IMFASFStreamConfig* This,REFGUID guidKey,IUnknown *pUnknown) { + return This->lpVtbl->SetUnknown(This,guidKey,pUnknown); +} +static inline HRESULT IMFASFStreamConfig_LockStore(IMFASFStreamConfig* This) { + return This->lpVtbl->LockStore(This); +} +static inline HRESULT IMFASFStreamConfig_UnlockStore(IMFASFStreamConfig* This) { + return This->lpVtbl->UnlockStore(This); +} +static inline HRESULT IMFASFStreamConfig_GetCount(IMFASFStreamConfig* This,UINT32 *pcItems) { + return This->lpVtbl->GetCount(This,pcItems); +} +static inline HRESULT IMFASFStreamConfig_GetItemByIndex(IMFASFStreamConfig* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) { + return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue); +} +static inline HRESULT IMFASFStreamConfig_CopyAllItems(IMFASFStreamConfig* This,IMFAttributes *pDest) { + return This->lpVtbl->CopyAllItems(This,pDest); +} +/*** IMFASFStreamConfig methods ***/ +static inline HRESULT IMFASFStreamConfig_GetStreamType(IMFASFStreamConfig* This,GUID *pguidStreamType) { + return This->lpVtbl->GetStreamType(This,pguidStreamType); +} +static inline WORD IMFASFStreamConfig_GetStreamNumber(IMFASFStreamConfig* This) { + return This->lpVtbl->GetStreamNumber(This); +} +static inline HRESULT IMFASFStreamConfig_SetStreamNumber(IMFASFStreamConfig* This,WORD wStreamNum) { + return This->lpVtbl->SetStreamNumber(This,wStreamNum); +} +static inline HRESULT IMFASFStreamConfig_GetMediaType(IMFASFStreamConfig* This,IMFMediaType **ppIMediaType) { + return This->lpVtbl->GetMediaType(This,ppIMediaType); +} +static inline HRESULT IMFASFStreamConfig_SetMediaType(IMFASFStreamConfig* This,IMFMediaType *pIMediaType) { + return This->lpVtbl->SetMediaType(This,pIMediaType); +} +static inline HRESULT IMFASFStreamConfig_GetPayloadExtensionCount(IMFASFStreamConfig* This,WORD *pcPayloadExtensions) { + return This->lpVtbl->GetPayloadExtensionCount(This,pcPayloadExtensions); +} +static inline HRESULT IMFASFStreamConfig_GetPayloadExtension(IMFASFStreamConfig* This,WORD wPayloadExtensionNumber,GUID *pguidExtensionSystemID,WORD *pcbExtensionDataSize,BYTE *pbExtensionSystemInfo,DWORD *pcbExtensionSystemInfo) { + return This->lpVtbl->GetPayloadExtension(This,wPayloadExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo); +} +static inline HRESULT IMFASFStreamConfig_AddPayloadExtension(IMFASFStreamConfig* This,GUID guidExtensionSystemID,WORD cbExtensionDataSize,BYTE *pbExtensionSystemInfo,DWORD cbExtensionSystemInfo) { + return This->lpVtbl->AddPayloadExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo); +} +static inline HRESULT IMFASFStreamConfig_RemoveAllPayloadExtensions(IMFASFStreamConfig* This) { + return This->lpVtbl->RemoveAllPayloadExtensions(This); +} +static inline HRESULT IMFASFStreamConfig_Clone(IMFASFStreamConfig* This,IMFASFStreamConfig **ppIStreamConfig) { + return This->lpVtbl->Clone(This,ppIStreamConfig); +} +#endif +#endif + +#endif + + +#endif /* __IMFASFStreamConfig_INTERFACE_DEFINED__ */ + + +EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_BASE_SENDTIME = { { 0xcddcbc82, 0x3411, 0x4119, 0x91, 0x35, 0x84, 0x23, 0xc4, 0x1b, 0x39, 0x57}, 3 }; +EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_AUTOADJUST_BITRATE = { { 0xcddcbc82, 0x3411, 0x4119, 0x91, 0x35, 0x84, 0x23, 0xc4, 0x1b, 0x39, 0x57}, 4 }; +EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMEDIASINK_DRMACTION = { { 0xa1db6f6c, 0x1d0a, 0x4cb6, 0x82, 0x54, 0xcb, 0x36, 0xbe, 0xed, 0xbc, 0x48}, 5 }; +EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFSTREAMSINK_CORRECTED_LEAKYBUCKET = { { 0xa2f152fb, 0x8ad9, 0x4a11, 0xb3, 0x45, 0x2c, 0xe2, 0xfa, 0xd8, 0x72, 0x3d}, 1 }; + +STDAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo); +STDAPI MFCreateASFIndexer(IMFASFIndexer **ppIIndexer); +STDAPI MFCreateASFIndexerByteStream(IMFByteStream *pIContentByteStream, QWORD cbIndexStartOffset, IMFByteStream **pIIndexByteStream); +STDAPI MFCreateASFMediaSink(IMFByteStream *pIByteStream, IMFMediaSink **ppIMediaSink); +STDAPI MFCreateASFMediaSinkActivate(LPCWSTR pwszFileName, IMFASFContentInfo *pContentInfo, IMFActivate **ppIActivate); +STDAPI MFCreateASFMultiplexer(IMFASFMultiplexer **ppIMultiplexer); +STDAPI MFCreateASFProfile(IMFASFProfile **ppIProfile); +STDAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescriptor *pIPD, IMFASFProfile **ppIProfile); +STDAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter); +STDAPI MFCreateASFStreamingMediaSink(IMFByteStream *pIByteStream, IMFMediaSink **ppIMediaSink); +STDAPI MFCreateASFStreamingMediaSinkActivate(IMFActivate *pByteStreamActivate, IMFASFContentInfo *pContentInfo, IMFActivate **ppIActivate); +STDAPI MFCreateASFStreamSelector(IMFASFProfile *pIASFProfile, IMFASFStreamSelector **ppSelector); +STDAPI MFCreatePresentationDescriptorFromASFProfile(IMFASFProfile *pIProfile, IMFPresentationDescriptor **ppIPD); +HRESULT STDMETHODCALLTYPE MFCreateWMVEncoderActivate(IMFMediaType *pMediaType, IPropertyStore *pEncodingConfigurationProperties, IMFActivate **ppActivate); +HRESULT STDMETHODCALLTYPE MFCreateWMAEncoderActivate(IMFMediaType *pMediaType, IPropertyStore *pEncodingConfigurationProperties, IMFActivate **ppActivate); +#endif +/* Begin additional prototypes for all interfaces */ + +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 /* __wmcontainer_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmdrmsdk.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmdrmsdk.h new file mode 100644 index 00000000..d2ff2488 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmdrmsdk.h @@ -0,0 +1,98 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmdrmsdk.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 __wmdrmsdk_h__ +#define __wmdrmsdk_h__ + +/* Forward declarations */ + +#ifndef __WMDRMContentEnablerActivate_FWD_DEFINED__ +#define __WMDRMContentEnablerActivate_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WMDRMContentEnablerActivate WMDRMContentEnablerActivate; +#else +typedef struct WMDRMContentEnablerActivate WMDRMContentEnablerActivate; +#endif /* defined __cplusplus */ +#endif /* defined __WMDRMContentEnablerActivate_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS { + WORD wCompressedDigitalVideo; + WORD wUncompressedDigitalVideo; + WORD wAnalogVideo; + WORD wCompressedDigitalAudio; + WORD wUncompressedDigitalAudio; +} DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS; +typedef struct _DRM_VIDEO_OUTPUT_PROTECTION { + GUID guidId; + BYTE bConfigData; +} DRM_VIDEO_OUTPUT_PROTECTION; +typedef struct _DRM_VIDEO_OUTPUT_PROTECTION_IDS { + WORD cEntries; + DRM_VIDEO_OUTPUT_PROTECTION *rgVop; +} DRM_VIDEO_OUTPUT_PROTECTION_IDS; +typedef struct _DRM_OPL_OUTPUT_IDS { + WORD cIds; + GUID *rgIds; +} DRM_OPL_OUTPUT_IDS; +typedef struct __tagDRM_COPY_OPL { + WORD wMinimumCopyLevel; + DRM_OPL_OUTPUT_IDS oplIdIncludes; + DRM_OPL_OUTPUT_IDS oplIdExcludes; +} DRM_COPY_OPL; +typedef struct __tagDRM_PLAY_OPL { + DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS minOPL; + DRM_OPL_OUTPUT_IDS oplIdReserved; + DRM_VIDEO_OUTPUT_PROTECTION_IDS vopi; +} DRM_PLAY_OPL; +#ifndef __WMDRMContentEnablerLib_LIBRARY_DEFINED__ +#define __WMDRMContentEnablerLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WMDRMContentEnablerLib, 0x82435be0, 0xf7c1, 0x4df9, 0x81,0x03, 0xee,0xab,0xeb,0xf3,0xd6,0xe1); + +/***************************************************************************** + * WMDRMContentEnablerActivate coclass + */ + +DEFINE_GUID(CLSID_WMDRMContentEnablerActivate, 0x82435bdf, 0xf7c1, 0x4df9, 0x81,0x03, 0xee,0xab,0xeb,0xf3,0xd6,0xe1); + +#ifdef __cplusplus +class DECLSPEC_UUID("82435bdf-f7c1-4df9-8103-eeabebf3d6e1") WMDRMContentEnablerActivate; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WMDRMContentEnablerActivate, 0x82435bdf, 0xf7c1, 0x4df9, 0x81,0x03, 0xee,0xab,0xeb,0xf3,0xd6,0xe1) +#endif +#endif + +#endif /* __WMDRMContentEnablerLib_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmdrmsdk_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiatlprov.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiatlprov.h new file mode 100644 index 00000000..316df767 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiatlprov.h @@ -0,0 +1,355 @@ +/** + * 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 __ATLWMIPROV_H__ +#define __ATLWMIPROV_H__ + +#ifndef __cplusplus +#error Requires C++ compilation (use a .cpp suffix) +#endif + +#include +#include + +namespace ATL { + class ATL_NO_VTABLE IWbemInstProviderImpl : public IWbemServices,public IWbemProviderInit { + public: + HRESULT WINAPI OpenNamespace(const BSTR Namespace,__LONG32 lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI CancelAsyncCall(IWbemObjectSink *pSink) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI QueryObjectSink(__LONG32 lFlags,IWbemObjectSink **ppResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI GetObject(const BSTR ObjectPath,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI PutClass(IWbemClassObject *pObject,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI PutClassAsync(IWbemClassObject *pObject,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI DeleteClass(const BSTR Class,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI DeleteClassAsync(const BSTR Class,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI CreateClassEnum(const BSTR Superclass,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI CreateClassEnumAsync(const BSTR Superclass,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI PutInstance(IWbemClassObject *pInst,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI DeleteInstance(const BSTR ObjectPath,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI CreateInstanceEnum(const BSTR Class,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI ExecQuery(const BSTR QueryLanguage,const BSTR Query,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI ExecNotificationQuery(const BSTR QueryLanguage,const BSTR Query,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI ExecNotificationQueryAsync(const BSTR QueryLanguage,const BSTR Query,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI ExecMethod(const BSTR strObjectPath,const BSTR strMethodName,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + HRESULT WINAPI ExecMethodAsync(const BSTR strObjectPath,const BSTR strMethodName,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + }; + + class CProviderHelper { + private: + CComPtr m_pErrorObject; + HRESULT m_hr; + public: + CProviderHelper(IWbemServices *pNamespace,IWbemContext *pCtx) { + m_hr = WBEM_E_FAILED; + m_pErrorObject = NULL; + if(!pNamespace) { + m_hr = WBEM_E_INVALID_PARAMETER; + ATLASSERT (0); + return; + } + BSTR bstrString = SysAllocString(L"__ExtendedStatus"); + if(!bstrString) { + m_hr = WBEM_E_OUT_OF_MEMORY; + return; + } + m_hr = pNamespace->GetObject(bstrString,0,pCtx,&m_pErrorObject,NULL); + SysFreeString(bstrString); + return; + } + virtual ~CProviderHelper() { } + HRESULT WINAPI ConstructErrorObject (const ULONG ulStatusCode,const BSTR bstrDescription,const BSTR bstrOperation,const BSTR bstrParameter,const BSTR bstrProviderName,IWbemClassObject **ppErrorObject) { + static const LPWSTR lpwstrDescription = L"Description"; + static const LPWSTR lpwstrOperation = L"Operation"; + static const LPWSTR lpwstrStatusCode = L"StatusCode"; + static const LPWSTR lpwstrParameterInfo = L"ParameterInfo"; + static const LPWSTR lpwstrProviderName = L"ProviderName"; + + if(FAILED (m_hr)) { + ATLASSERT (0); + return m_hr; + } + if(!ppErrorObject) { + ATLASSERT (0); + return WBEM_E_INVALID_PARAMETER; + } + HRESULT hr = m_pErrorObject->SpawnInstance(0,ppErrorObject); + if(FAILED(hr)) return hr; + VARIANT var; + VariantInit(&var); + var.vt = VT_I4; + var.lVal = ulStatusCode; + hr = (*ppErrorObject)->Put(lpwstrStatusCode,0,&var,0); + if(FAILED(hr)) return hr; + var.vt = VT_BSTR; + if(bstrDescription!=NULL) { + var.bstrVal = bstrDescription; + hr = (*ppErrorObject)->Put(lpwstrDescription,0,&var,0); + if(FAILED(hr)) return hr; + } + if(bstrOperation!=NULL) { + var.bstrVal = bstrOperation; + hr = (*ppErrorObject)->Put(lpwstrOperation,0,&var,0); + if(FAILED(hr)) return hr; + } + if(bstrParameter!=NULL) { + var.bstrVal = bstrParameter; + hr = (*ppErrorObject)->Put(lpwstrParameterInfo,0,&var,0); + if(FAILED(hr)) return hr; + } + if(bstrProviderName!=NULL) { + var.bstrVal = bstrProviderName; + hr = (*ppErrorObject)->Put(lpwstrProviderName,0,&var,0); + if(FAILED(hr)) return hr; + } + return hr; + } + }; + + class CIntrinsicEventProviderHelper : public CProviderHelper { + private: + CComPtr m_pCreationEventClass; + CComPtr m_pDeletionEventClass; + CComPtr m_pModificationEventClass; + HRESULT m_hr; + public: + CIntrinsicEventProviderHelper(IWbemServices *pNamespace,IWbemContext *pCtx) : CProviderHelper (pNamespace,pCtx) { + m_hr = WBEM_E_FAILED; + if(!pNamespace || !pCtx) { + m_hr = WBEM_E_INVALID_PARAMETER; + ATLASSERT (0); + return; + } + m_pCreationEventClass = NULL; + m_pModificationEventClass = NULL; + m_pDeletionEventClass = NULL; + BSTR bstrString = SysAllocString(L"__InstanceCreationEvent"); + if(!bstrString) { + m_hr = WBEM_E_OUT_OF_MEMORY; + return; + } + m_hr = pNamespace->GetObject(bstrString,0,pCtx,&m_pCreationEventClass,NULL); + SysFreeString(bstrString); + bstrString=NULL; + if(FAILED(m_hr)) return; + bstrString = SysAllocString(L"__InstanceModificationEvent"); + if(!bstrString) { + m_hr = WBEM_E_OUT_OF_MEMORY; + return; + } + m_hr = pNamespace->GetObject(bstrString,0,pCtx,&m_pModificationEventClass,NULL); + SysFreeString(bstrString); + bstrString=NULL; + if(FAILED(m_hr)) return; + bstrString = SysAllocString(L"__InstanceDeletionEvent"); + if(!bstrString) { + m_hr = WBEM_E_OUT_OF_MEMORY; + return; + } + m_hr = pNamespace->GetObject(bstrString,0,pCtx,&m_pDeletionEventClass,NULL); + SysFreeString(bstrString); + bstrString=NULL; + if(FAILED(m_hr)) return; + return; + } + virtual ~CIntrinsicEventProviderHelper() { } + HRESULT WINAPI FireCreationEvent(IWbemClassObject *pNewInstance,IWbemObjectSink *pSink) { + if(FAILED(m_hr)) { + ATLASSERT (0); + return m_hr; + } + if(!pNewInstance || !pSink) { + ATLASSERT (0); + return WBEM_E_INVALID_PARAMETER; + } + CComPtr pEvtInstance; + HRESULT hr = m_pCreationEventClass->SpawnInstance(0,&pEvtInstance); + if(FAILED(hr)) return hr; + VARIANT var; + VariantInit(&var); + var.vt = VT_UNKNOWN; + CComQIPtrpTemp(pNewInstance); + var.punkVal = pTemp; + hr = pEvtInstance->Put(L"TargetInstance",0,&var,0); + if(FAILED(hr)) return hr; + IWbemClassObject *_pEvtInstance = (IWbemClassObject*)pEvtInstance; + return pSink->Indicate(1,&_pEvtInstance); + } + HRESULT WINAPI FireDeletionEvent(IWbemClassObject *pInstanceToDelete,IWbemObjectSink *pSink) { + if(FAILED (m_hr)) { + ATLASSERT (0); + return m_hr; + } + if(!pInstanceToDelete || !pSink) { + ATLASSERT (0); + return WBEM_E_INVALID_PARAMETER; + } + CComPtr pEvtInstance; + HRESULT hr = m_pDeletionEventClass->SpawnInstance(0,&pEvtInstance); + if(FAILED(hr)) return hr; + VARIANT var; + VariantInit(&var); + var.vt = VT_UNKNOWN; + CComQIPtrpTemp(pInstanceToDelete); + var.punkVal = pTemp; + hr = pEvtInstance->Put(L"TargetInstance",0,&var,0); + if(FAILED(hr)) return hr; + IWbemClassObject *_pEvtInstance = (IWbemClassObject*)pEvtInstance; + return pSink->Indicate(1,&_pEvtInstance); + } + HRESULT WINAPI FireModificationEvent(IWbemClassObject *pOldInstance,IWbemClassObject *pNewInstance,IWbemObjectSink *pSink) { + if(FAILED (m_hr)) { + ATLASSERT (0); + return m_hr; + } + if(!pOldInstance || !pNewInstance || !pSink) { + ATLASSERT (0); + return WBEM_E_INVALID_PARAMETER; + } + CComPtr pEvtInstance; + HRESULT hr = m_pModificationEventClass->SpawnInstance(0,&pEvtInstance); + if(FAILED(hr)) return hr; + VARIANT var; + VariantInit(&var); + var.vt = VT_UNKNOWN; + CComQIPtrpTempNew(pNewInstance); + var.punkVal = pTempNew; + hr = pEvtInstance->Put(L"TargetInstance",0,&var,0); + if(FAILED(hr)) return hr; + CComQIPtrpTempOld(pOldInstance); + var.punkVal = pTempOld; + hr = pEvtInstance->Put(L"PreviousInstance",0,&var,0); + if(FAILED(hr)) return hr; + IWbemClassObject *_pEvtInstance = (IWbemClassObject*)pEvtInstance; + return pSink->Indicate(1,&_pEvtInstance); + } + }; + + class CInstanceProviderHelper : public CProviderHelper { + public: + CInstanceProviderHelper (IWbemServices *pNamespace,IWbemContext *pCtx) : CProviderHelper (pNamespace,pCtx) { } + virtual ~CInstanceProviderHelper() { } + HRESULT WINAPI CheckInstancePath(IClassFactory *pParserFactory,const BSTR ObjectPath,const BSTR ClassName,ULONGLONG ullTest) { + if(!pParserFactory) { + ATLASSERT (0); + return WBEM_E_INVALID_PARAMETER; + } + CComPtrpPath; + HRESULT hr = pParserFactory->CreateInstance(NULL,IID_IWbemPath,(void **) &pPath); + if(FAILED(hr)) return WBEM_E_INVALID_PARAMETER; + hr = pPath->SetText(WBEMPATH_CREATE_ACCEPT_ALL,ObjectPath); + if(FAILED(hr)) return hr; + unsigned int nPathLen = SysStringLen(ObjectPath); + if(nPathLen >= (unsigned __LONG32)(-1)) return HRESULT_FROM_WIN32(ERROR_ARITHMETIC_OVERFLOW); + unsigned __LONG32 ulBufLen = (unsigned __LONG32)(nPathLen + 1); + WCHAR *wClass = new WCHAR[ulBufLen]; + if(!wClass) return WBEM_E_OUT_OF_MEMORY; + hr = pPath->GetClassName(&ulBufLen,wClass); + if(FAILED(hr)) { + delete[] wClass; + return hr; + } + DWORD lcid = MAKELCID(MAKELANGID(LANG_ENGLISH,SUBLANG_ENGLISH_US),SORT_DEFAULT); + if(CSTR_EQUAL!=CompareStringW(lcid,NORM_IGNORECASE,ClassName,-1,wClass,-1)) { + delete[] wClass; + return WBEM_E_NOT_FOUND; + } + delete[] wClass; + __MINGW_EXTENSION unsigned __int64 ullPathInfo; + hr = pPath->GetInfo((ULONG)0,&ullPathInfo); + if(FAILED(hr)) return hr; + if(!(ullPathInfo & ullTest)) return WBEM_E_INVALID_OBJECT_PATH; + return WBEM_S_NO_ERROR; + } + }; + + template class ATL_NO_VTABLE IWbemPullClassProviderImpl : public IWbemServices,public IWbemProviderInit { + public: + virtual HRESULT WINAPI OpenNamespace(const BSTR strNamespace,__LONG32 lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI CancelAsyncCall(IWbemObjectSink *pSink){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI QueryObjectSink(__LONG32 lFlags,IWbemObjectSink **ppResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI GetObject(const BSTR strObjectPath,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI PutClass(IWbemClassObject *pObject,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI DeleteClass(const BSTR strClass,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI CreateClassEnum(const BSTR strSuperclass,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI PutInstance(IWbemClassObject *pInst,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI PutInstanceAsync(IWbemClassObject *pInst,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI DeleteInstance(const BSTR strObjectPath,__LONG32 lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI DeleteInstanceAsync(const BSTR strObjectPath,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler){return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI CreateInstanceEnum(const BSTR strClass,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI CreateInstanceEnumAsync(const BSTR strClass,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI ExecQuery(const BSTR strQueryLanguage,const BSTR strQuery,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI ExecNotificationQuery(const BSTR strQueryLanguage,const BSTR strQuery,__LONG32 lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI ExecNotificationQueryAsync(const BSTR strQueryLanguage,const BSTR strQuery,__LONG32 lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI ExecMethod(const BSTR strObjectPath,const BSTR strMethodName,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) {return WBEM_E_NOT_SUPPORTED;}; + virtual HRESULT WINAPI ExecMethodAsync(const BSTR strObjectPath,const BSTR strMethodName,__LONG32 lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) {return WBEM_E_NOT_SUPPORTED;}; + }; + + class CImpersonateClientHelper { + private: + WINBOOL m_bImpersonate; + public: + CImpersonateClientHelper() { m_bImpersonate = FALSE; } + ~CImpersonateClientHelper() { + if(m_bImpersonate) + CoRevertToSelf(); + } + HRESULT ImpersonateClient() { + HRESULT hr = S_OK; + if(SUCCEEDED(hr = CoImpersonateClient())) m_bImpersonate = TRUE; + return hr; + } + HRESULT GetCurrentImpersonationLevel (DWORD & a_Level) { + DWORD t_ImpersonationLevel = RPC_C_IMP_LEVEL_ANONYMOUS; + HANDLE t_ThreadToken = NULL; + HRESULT t_Result = S_OK; + if(SUCCEEDED(t_Result = CoImpersonateClient())) { + WINBOOL t_Status = OpenThreadToken (GetCurrentThread() ,TOKEN_QUERY,TRUE,&t_ThreadToken); + if(t_Status) { + SECURITY_IMPERSONATION_LEVEL t_Level = SecurityAnonymous; + DWORD t_Returned = 0; + t_Status = GetTokenInformation (t_ThreadToken ,TokenImpersonationLevel ,&t_Level ,sizeof(SECURITY_IMPERSONATION_LEVEL),&t_Returned); + CloseHandle (t_ThreadToken); + if(t_Status==FALSE) { + t_Result = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,GetLastError()); + } else { + switch(t_Level) { + case SecurityAnonymous: + { + t_ImpersonationLevel = RPC_C_IMP_LEVEL_ANONYMOUS; + } + break; + case SecurityIdentification: + { + t_ImpersonationLevel = RPC_C_IMP_LEVEL_IDENTIFY; + } + break; + case SecurityImpersonation: + { + t_ImpersonationLevel = RPC_C_IMP_LEVEL_IMPERSONATE; + } + break; + case SecurityDelegation: + { + t_ImpersonationLevel = RPC_C_IMP_LEVEL_DELEGATE; + } + break; + default: + { + t_Result = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,E_UNEXPECTED); + } + break; + } + } + } else { + t_Result = MAKE_HRESULT(SEVERITY_ERROR,FACILITY_WIN32,GetLastError()); + } + CoRevertToSelf(); + } + a_Level = t_ImpersonationLevel; + return t_Result; + } + }; +} +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmistr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmistr.h new file mode 100644 index 00000000..c51c1320 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmistr.h @@ -0,0 +1,198 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WMISTR_ +#define _WMISTR_ + +typedef struct _WNODE_HEADER { + ULONG BufferSize; + ULONG ProviderId; + __C89_NAMELESS union { + ULONG64 HistoricalContext; + __C89_NAMELESS struct { + ULONG Version; + ULONG Linkage; + }; + }; + __C89_NAMELESS union { + ULONG CountLost; + HANDLE KernelHandle; + LARGE_INTEGER TimeStamp; + }; + GUID Guid; + ULONG ClientContext; + ULONG Flags; +} WNODE_HEADER,*PWNODE_HEADER; + +#define WNODE_FLAG_ALL_DATA 0x00000001 +#define WNODE_FLAG_SINGLE_INSTANCE 0x00000002 +#define WNODE_FLAG_SINGLE_ITEM 0x00000004 +#define WNODE_FLAG_EVENT_ITEM 0x00000008 +#define WNODE_FLAG_FIXED_INSTANCE_SIZE 0x00000010 +#define WNODE_FLAG_TOO_SMALL 0x00000020 +#define WNODE_FLAG_INSTANCES_SAME 0x00000040 +#define WNODE_FLAG_STATIC_INSTANCE_NAMES 0x00000080 +#define WNODE_FLAG_INTERNAL 0x00000100 +#define WNODE_FLAG_USE_TIMESTAMP 0x00000200 +#define WNODE_FLAG_PERSIST_EVENT 0x00000400 +#define WNODE_FLAG_EVENT_REFERENCE 0x00002000 +#define WNODE_FLAG_ANSI_INSTANCENAMES 0x00004000 +#define WNODE_FLAG_METHOD_ITEM 0x00008000 +#define WNODE_FLAG_PDO_INSTANCE_NAMES 0x00010000 +#define WNODE_FLAG_TRACED_GUID 0x00020000 +#define WNODE_FLAG_LOG_WNODE 0x00040000 +#define WNODE_FLAG_USE_GUID_PTR 0x00080000 +#define WNODE_FLAG_USE_MOF_PTR 0x00100000 +#define WNODE_FLAG_NO_HEADER 0x00200000 +#if NTDDI_VERSION >= 0x06000000 +#define WNODE_FLAG_SEND_DATA_BLOCK 0x00400000 +#endif +#define WNODE_FLAG_VERSIONED_PROPERTIES 0x00800000 +#define WNODE_FLAG_SEVERITY_MASK 0xff000000 + +typedef struct { + ULONG OffsetInstanceData; + ULONG LengthInstanceData; +} OFFSETINSTANCEDATAANDLENGTH,*POFFSETINSTANCEDATAANDLENGTH; + +typedef struct tagWNODE_ALL_DATA { + struct _WNODE_HEADER WnodeHeader; + ULONG DataBlockOffset; + ULONG InstanceCount; + ULONG OffsetInstanceNameOffsets; + __C89_NAMELESS union { + ULONG FixedInstanceSize; + OFFSETINSTANCEDATAANDLENGTH OffsetInstanceDataAndLength[1]; + }; +} WNODE_ALL_DATA,*PWNODE_ALL_DATA; + +typedef struct tagWNODE_SINGLE_INSTANCE { + struct _WNODE_HEADER WnodeHeader; + ULONG OffsetInstanceName; + ULONG InstanceIndex; + ULONG DataBlockOffset; + ULONG SizeDataBlock; + UCHAR VariableData[]; +} WNODE_SINGLE_INSTANCE,*PWNODE_SINGLE_INSTANCE; + +typedef struct tagWNODE_SINGLE_ITEM { + struct _WNODE_HEADER WnodeHeader; + ULONG OffsetInstanceName; + ULONG InstanceIndex; + ULONG ItemId; + ULONG DataBlockOffset; + ULONG SizeDataItem; + UCHAR VariableData[]; +} WNODE_SINGLE_ITEM,*PWNODE_SINGLE_ITEM; + +typedef struct tagWNODE_METHOD_ITEM { + struct _WNODE_HEADER WnodeHeader; + ULONG OffsetInstanceName; + ULONG InstanceIndex; + ULONG MethodId; + ULONG DataBlockOffset; + ULONG SizeDataBlock; + UCHAR VariableData[]; +} WNODE_METHOD_ITEM,*PWNODE_METHOD_ITEM; + +typedef struct tagWNODE_EVENT_ITEM { + struct _WNODE_HEADER WnodeHeader; +} WNODE_EVENT_ITEM,*PWNODE_EVENT_ITEM; + +typedef struct tagWNODE_EVENT_REFERENCE { + struct _WNODE_HEADER WnodeHeader; + GUID TargetGuid; + ULONG TargetDataBlockSize; + __C89_NAMELESS union { + ULONG TargetInstanceIndex; + WCHAR TargetInstanceName[1]; + }; +} WNODE_EVENT_REFERENCE,*PWNODE_EVENT_REFERENCE; + +typedef struct tagWNODE_TOO_SMALL { + struct _WNODE_HEADER WnodeHeader; + ULONG SizeNeeded; +} WNODE_TOO_SMALL,*PWNODE_TOO_SMALL; + +typedef struct { + GUID Guid; + ULONG Flags; + ULONG InstanceCount; + __C89_NAMELESS union { + ULONG InstanceNameList; + ULONG BaseNameOffset; + ULONG_PTR Pdo; + ULONG_PTR InstanceInfo; + }; +} WMIREGGUIDW,*PWMIREGGUIDW; + +typedef WMIREGGUIDW WMIREGGUID; +typedef PWMIREGGUIDW PWMIREGGUID; + +#define WMIREG_FLAG_EXPENSIVE 0x00000001 +#define WMIREG_FLAG_INSTANCE_LIST 0x00000004 +#define WMIREG_FLAG_INSTANCE_BASENAME 0x00000008 +#define WMIREG_FLAG_INSTANCE_PDO 0x00000020 +#define WMIREG_FLAG_REMOVE_GUID 0x00010000 +#define WMIREG_FLAG_RESERVED1 0x00020000 +#define WMIREG_FLAG_RESERVED2 0x00040000 +#define WMIREG_FLAG_TRACED_GUID 0x00080000 +#define WMIREG_FLAG_TRACE_CONTROL_GUID 0x00001000 +#define WMIREG_FLAG_EVENT_ONLY_GUID 0x00000040 + +typedef struct { + ULONG BufferSize; + ULONG NextWmiRegInfo; + ULONG RegistryPath; + ULONG MofResourceName; + ULONG GuidCount; + WMIREGGUIDW WmiRegGuid[]; +} WMIREGINFOW,*PWMIREGINFOW; + +typedef WMIREGINFOW WMIREGINFO; +typedef PWMIREGINFOW PWMIREGINFO; + +typedef enum { + WMI_GET_ALL_DATA = 0,WMI_GET_SINGLE_INSTANCE = 1,WMI_SET_SINGLE_INSTANCE = 2,WMI_SET_SINGLE_ITEM = 3,WMI_ENABLE_EVENTS = 4,WMI_DISABLE_EVENTS = 5, + WMI_ENABLE_COLLECTION = 6,WMI_DISABLE_COLLECTION = 7,WMI_REGINFO = 8,WMI_EXECUTE_METHOD = 9, + WMI_CAPTURE_STATE = 10 +} WMIDPREQUESTCODE; + +#if defined(_WINNT_) || defined(WINNT) + +#define WMI_GUIDTYPE_TRACECONTROL 0 +#define WMI_GUIDTYPE_TRACE 1 +#define WMI_GUIDTYPE_DATA 2 +#define WMI_GUIDTYPE_EVENT 3 + +#define WMIGUID_QUERY 0x0001 +#define WMIGUID_SET 0x0002 +#define WMIGUID_NOTIFICATION 0x0004 +#define WMIGUID_READ_DESCRIPTION 0x0008 +#define WMIGUID_EXECUTE 0x0010 +#define TRACELOG_CREATE_REALTIME 0x0020 +#define TRACELOG_CREATE_ONDISK 0x0040 +#define TRACELOG_GUID_ENABLE 0x0080 +#define TRACELOG_ACCESS_KERNEL_LOGGER 0x0100 +#define TRACELOG_CREATE_INPROC 0x0200 +#define TRACELOG_LOG_EVENT 0x0200 +#define TRACELOG_ACCESS_REALTIME 0x0400 +#define TRACELOG_REGISTER_GUIDS 0x0800 +#define TRACELOG_JOIN_GROUP 0x1000 + +#define WMIGUID_ALL_ACCESS_WIN2K (STANDARD_RIGHTS_READ | WMIGUID_QUERY | WMIGUID_SET | WMIGUID_NOTIFICATION | WMIGUID_READ_DESCRIPTION | WMIGUID_EXECUTE | TRACELOG_CREATE_REALTIME | TRACELOG_CREATE_ONDISK | TRACELOG_GUID_ENABLE | TRACELOG_ACCESS_KERNEL_LOGGER | TRACELOG_CREATE_INPROC | TRACELOG_ACCESS_REALTIME) +#define WMIGUID_ALL_ACCESS_WINXP (WMIGUID_ALL_ACCESS_WIN2K | SYNCHRONIZE | TRACELOG_REGISTER_GUIDS) +#define WMIGUID_ALL_ACCESS_RS1 (WMIGUID_ALL_ACCESS_WINXP | TRACELOG_JOIN_GROUP) + +#if (NTDDI_VERSION >= 0x0A000002) +#define WMIGUID_ALL_ACCESS WMIGUID_ALL_ACCESS_RS1 +#elif (NTDDI_VERSION >= 0x05010000) +#define WMIGUID_ALL_ACCESS WMIGUID_ALL_ACCESS_WINXP +#else +#define WMIGUID_ALL_ACCESS WMIGUID_ALL_ACCESS_WIN2K +#endif + +#define WMI_GLOBAL_LOGGER_ID 0x0001 +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiutils.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiutils.h new file mode 100644 index 00000000..2ff4093f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmiutils.h @@ -0,0 +1,545 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __wmiutils_h__ +#define __wmiutils_h__ + +#ifndef __IWbemPathKeyList_FWD_DEFINED__ +#define __IWbemPathKeyList_FWD_DEFINED__ +typedef struct IWbemPathKeyList IWbemPathKeyList; +#endif + +#ifndef __IWbemPath_FWD_DEFINED__ +#define __IWbemPath_FWD_DEFINED__ +typedef struct IWbemPath IWbemPath; +#endif + +#ifndef __WbemDefPath_FWD_DEFINED__ +#define __WbemDefPath_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class WbemDefPath WbemDefPath; +#else +typedef struct WbemDefPath WbemDefPath; +#endif +#endif + +#ifndef __IWbemQuery_FWD_DEFINED__ +#define __IWbemQuery_FWD_DEFINED__ +typedef struct IWbemQuery IWbemQuery; +#endif + +#ifndef __WbemQuery_FWD_DEFINED__ +#define __WbemQuery_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WbemQuery WbemQuery; +#else +typedef struct WbemQuery WbemQuery; +#endif +#endif + +#ifndef __IWbemQuery_FWD_DEFINED__ +#define __IWbemQuery_FWD_DEFINED__ +typedef struct IWbemQuery IWbemQuery; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + + extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0000_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0000_v0_0_s_ifspec; + +#ifndef __WbemUtilities_v1_LIBRARY_DEFINED__ +#define __WbemUtilities_v1_LIBRARY_DEFINED__ + + typedef enum tag_WBEM_PATH_STATUS_FLAG { + WBEMPATH_INFO_ANON_LOCAL_MACHINE = 0x1,WBEMPATH_INFO_HAS_MACHINE_NAME = 0x2,WBEMPATH_INFO_IS_CLASS_REF = 0x4,WBEMPATH_INFO_IS_INST_REF = 0x8, + WBEMPATH_INFO_HAS_SUBSCOPES = 0x10,WBEMPATH_INFO_IS_COMPOUND = 0x20,WBEMPATH_INFO_HAS_V2_REF_PATHS = 0x40,WBEMPATH_INFO_HAS_IMPLIED_KEY = 0x80, + WBEMPATH_INFO_CONTAINS_SINGLETON = 0x100,WBEMPATH_INFO_V1_COMPLIANT = 0x200,WBEMPATH_INFO_V2_COMPLIANT = 0x400,WBEMPATH_INFO_CIM_COMPLIANT = 0x800, + WBEMPATH_INFO_IS_SINGLETON = 0x1000,WBEMPATH_INFO_IS_PARENT = 0x2000,WBEMPATH_INFO_SERVER_NAMESPACE_ONLY = 0x4000,WBEMPATH_INFO_NATIVE_PATH = 0x8000, + WBEMPATH_INFO_WMI_PATH = 0x10000,WBEMPATH_INFO_PATH_HAD_SERVER = 0x20000 + } tag_WBEM_PATH_STATUS_FLAG; + + typedef enum tag_WBEM_PATH_CREATE_FLAG { + WBEMPATH_CREATE_ACCEPT_RELATIVE = 0x1,WBEMPATH_CREATE_ACCEPT_ABSOLUTE = 0x2,WBEMPATH_CREATE_ACCEPT_ALL = 0x4,WBEMPATH_TREAT_SINGLE_IDENT_AS_NS = 0x8 + } tag_WBEM_PATH_CREATE_FLAG; + + typedef enum tag_WBEM_GET_TEXT_FLAGS { + WBEMPATH_COMPRESSED = 0x1,WBEMPATH_GET_RELATIVE_ONLY = 0x2,WBEMPATH_GET_SERVER_TOO = 0x4,WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY = 0x8, + WBEMPATH_GET_NAMESPACE_ONLY = 0x10,WBEMPATH_GET_ORIGINAL = 0x20 + } tag_WBEM_GET_TEXT_FLAGS; + + typedef enum tag_WBEM_GET_KEY_FLAGS { + WBEMPATH_TEXT = 0x1,WBEMPATH_QUOTEDTEXT = 0x2 + } tag_WBEM_GET_KEY_FLAGS; + + EXTERN_C const IID LIBID_WbemUtilities_v1; +#ifndef __IWbemPathKeyList_INTERFACE_DEFINED__ +#define __IWbemPathKeyList_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IWbemPathKeyList; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IWbemPathKeyList : public IUnknown { + public: + virtual HRESULT WINAPI GetCount(ULONG *puKeyCount) = 0; + virtual HRESULT WINAPI SetKey(LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal) = 0; + virtual HRESULT WINAPI SetKey2(LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal) = 0; + virtual HRESULT WINAPI GetKey(ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType) = 0; + virtual HRESULT WINAPI GetKey2(ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType) = 0; + virtual HRESULT WINAPI RemoveKey(LPCWSTR wszName,ULONG uFlags) = 0; + virtual HRESULT WINAPI RemoveAllKeys(ULONG uFlags) = 0; + virtual HRESULT WINAPI MakeSingleton(boolean bSet) = 0; + virtual HRESULT WINAPI GetInfo(ULONG uRequestedInfo,ULONGLONG *puResponse) = 0; + virtual HRESULT WINAPI GetText(__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText) = 0; + }; +#else + typedef struct IWbemPathKeyListVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IWbemPathKeyList *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IWbemPathKeyList *This); + ULONG (WINAPI *Release)(IWbemPathKeyList *This); + HRESULT (WINAPI *GetCount)(IWbemPathKeyList *This,ULONG *puKeyCount); + HRESULT (WINAPI *SetKey)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal); + HRESULT (WINAPI *SetKey2)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal); + HRESULT (WINAPI *GetKey)(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType); + HRESULT (WINAPI *GetKey2)(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType); + HRESULT (WINAPI *RemoveKey)(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags); + HRESULT (WINAPI *RemoveAllKeys)(IWbemPathKeyList *This,ULONG uFlags); + HRESULT (WINAPI *MakeSingleton)(IWbemPathKeyList *This,boolean bSet); + HRESULT (WINAPI *GetInfo)(IWbemPathKeyList *This,ULONG uRequestedInfo,ULONGLONG *puResponse); + HRESULT (WINAPI *GetText)(IWbemPathKeyList *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); + END_INTERFACE + } IWbemPathKeyListVtbl; + struct IWbemPathKeyList { + CONST_VTBL struct IWbemPathKeyListVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IWbemPathKeyList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemPathKeyList_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemPathKeyList_Release(This) (This)->lpVtbl->Release(This) +#define IWbemPathKeyList_GetCount(This,puKeyCount) (This)->lpVtbl->GetCount(This,puKeyCount) +#define IWbemPathKeyList_SetKey(This,wszName,uFlags,uCimType,pKeyVal) (This)->lpVtbl->SetKey(This,wszName,uFlags,uCimType,pKeyVal) +#define IWbemPathKeyList_SetKey2(This,wszName,uFlags,uCimType,pKeyVal) (This)->lpVtbl->SetKey2(This,wszName,uFlags,uCimType,pKeyVal) +#define IWbemPathKeyList_GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType) (This)->lpVtbl->GetKey(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,puKeyValBufSize,pKeyVal,puApparentCimType) +#define IWbemPathKeyList_GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType) (This)->lpVtbl->GetKey2(This,uKeyIx,uFlags,puNameBufSize,pszKeyName,pKeyValue,puApparentCimType) +#define IWbemPathKeyList_RemoveKey(This,wszName,uFlags) (This)->lpVtbl->RemoveKey(This,wszName,uFlags) +#define IWbemPathKeyList_RemoveAllKeys(This,uFlags) (This)->lpVtbl->RemoveAllKeys(This,uFlags) +#define IWbemPathKeyList_MakeSingleton(This,bSet) (This)->lpVtbl->MakeSingleton(This,bSet) +#define IWbemPathKeyList_GetInfo(This,uRequestedInfo,puResponse) (This)->lpVtbl->GetInfo(This,uRequestedInfo,puResponse) +#define IWbemPathKeyList_GetText(This,lFlags,puBuffLength,pszText) (This)->lpVtbl->GetText(This,lFlags,puBuffLength,pszText) +#endif +#endif + HRESULT WINAPI IWbemPathKeyList_GetCount_Proxy(IWbemPathKeyList *This,ULONG *puKeyCount); + void __RPC_STUB IWbemPathKeyList_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_SetKey_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,LPVOID pKeyVal); + void __RPC_STUB IWbemPathKeyList_SetKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_SetKey2_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags,ULONG uCimType,VARIANT *pKeyVal); + void __RPC_STUB IWbemPathKeyList_SetKey2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_GetKey_Proxy(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,ULONG *puKeyValBufSize,LPVOID pKeyVal,ULONG *puApparentCimType); + void __RPC_STUB IWbemPathKeyList_GetKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_GetKey2_Proxy(IWbemPathKeyList *This,ULONG uKeyIx,ULONG uFlags,ULONG *puNameBufSize,LPWSTR pszKeyName,VARIANT *pKeyValue,ULONG *puApparentCimType); + void __RPC_STUB IWbemPathKeyList_GetKey2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_RemoveKey_Proxy(IWbemPathKeyList *This,LPCWSTR wszName,ULONG uFlags); + void __RPC_STUB IWbemPathKeyList_RemoveKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_RemoveAllKeys_Proxy(IWbemPathKeyList *This,ULONG uFlags); + void __RPC_STUB IWbemPathKeyList_RemoveAllKeys_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_MakeSingleton_Proxy(IWbemPathKeyList *This,boolean bSet); + void __RPC_STUB IWbemPathKeyList_MakeSingleton_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_GetInfo_Proxy(IWbemPathKeyList *This,ULONG uRequestedInfo,ULONGLONG *puResponse); + void __RPC_STUB IWbemPathKeyList_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPathKeyList_GetText_Proxy(IWbemPathKeyList *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); + void __RPC_STUB IWbemPathKeyList_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IWbemPath_INTERFACE_DEFINED__ +#define __IWbemPath_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IWbemPath; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IWbemPath : public IUnknown { + public: + virtual HRESULT WINAPI SetText(ULONG uMode,LPCWSTR pszPath) = 0; + virtual HRESULT WINAPI GetText(__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText) = 0; + virtual HRESULT WINAPI GetInfo(ULONG uRequestedInfo,ULONGLONG *puResponse) = 0; + virtual HRESULT WINAPI SetServer(LPCWSTR Name) = 0; + virtual HRESULT WINAPI GetServer(ULONG *puNameBufLength,LPWSTR pName) = 0; + virtual HRESULT WINAPI GetNamespaceCount(ULONG *puCount) = 0; + virtual HRESULT WINAPI SetNamespaceAt(ULONG uIndex,LPCWSTR pszName) = 0; + virtual HRESULT WINAPI GetNamespaceAt(ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName) = 0; + virtual HRESULT WINAPI RemoveNamespaceAt(ULONG uIndex) = 0; + virtual HRESULT WINAPI RemoveAllNamespaces(void) = 0; + virtual HRESULT WINAPI GetScopeCount(ULONG *puCount) = 0; + virtual HRESULT WINAPI SetScope(ULONG uIndex,LPWSTR pszClass) = 0; + virtual HRESULT WINAPI SetScopeFromText(ULONG uIndex,LPWSTR pszText) = 0; + virtual HRESULT WINAPI GetScope(ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList) = 0; + virtual HRESULT WINAPI GetScopeAsText(ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText) = 0; + virtual HRESULT WINAPI RemoveScope(ULONG uIndex) = 0; + virtual HRESULT WINAPI RemoveAllScopes(void) = 0; + virtual HRESULT WINAPI SetClassName(LPCWSTR Name) = 0; + virtual HRESULT WINAPI GetClassName(ULONG *puBuffLength,LPWSTR pszName) = 0; + virtual HRESULT WINAPI GetKeyList(IWbemPathKeyList **pOut) = 0; + virtual HRESULT WINAPI CreateClassPart(__LONG32 lFlags,LPCWSTR Name) = 0; + virtual HRESULT WINAPI DeleteClassPart(__LONG32 lFlags) = 0; + virtual WINBOOL WINAPI IsRelative(LPWSTR wszMachine,LPWSTR wszNamespace) = 0; + virtual WINBOOL WINAPI IsRelativeOrChild(LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags) = 0; + virtual WINBOOL WINAPI IsLocal(LPCWSTR wszMachine) = 0; + virtual WINBOOL WINAPI IsSameClassName(LPCWSTR wszClass) = 0; + }; +#else + typedef struct IWbemPathVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IWbemPath *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IWbemPath *This); + ULONG (WINAPI *Release)(IWbemPath *This); + HRESULT (WINAPI *SetText)(IWbemPath *This,ULONG uMode,LPCWSTR pszPath); + HRESULT (WINAPI *GetText)(IWbemPath *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); + HRESULT (WINAPI *GetInfo)(IWbemPath *This,ULONG uRequestedInfo,ULONGLONG *puResponse); + HRESULT (WINAPI *SetServer)(IWbemPath *This,LPCWSTR Name); + HRESULT (WINAPI *GetServer)(IWbemPath *This,ULONG *puNameBufLength,LPWSTR pName); + HRESULT (WINAPI *GetNamespaceCount)(IWbemPath *This,ULONG *puCount); + HRESULT (WINAPI *SetNamespaceAt)(IWbemPath *This,ULONG uIndex,LPCWSTR pszName); + HRESULT (WINAPI *GetNamespaceAt)(IWbemPath *This,ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName); + HRESULT (WINAPI *RemoveNamespaceAt)(IWbemPath *This,ULONG uIndex); + HRESULT (WINAPI *RemoveAllNamespaces)(IWbemPath *This); + HRESULT (WINAPI *GetScopeCount)(IWbemPath *This,ULONG *puCount); + HRESULT (WINAPI *SetScope)(IWbemPath *This,ULONG uIndex,LPWSTR pszClass); + HRESULT (WINAPI *SetScopeFromText)(IWbemPath *This,ULONG uIndex,LPWSTR pszText); + HRESULT (WINAPI *GetScope)(IWbemPath *This,ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList); + HRESULT (WINAPI *GetScopeAsText)(IWbemPath *This,ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText); + HRESULT (WINAPI *RemoveScope)(IWbemPath *This,ULONG uIndex); + HRESULT (WINAPI *RemoveAllScopes)(IWbemPath *This); + HRESULT (WINAPI *SetClassName)(IWbemPath *This,LPCWSTR Name); + HRESULT (WINAPI *GetClassName)(IWbemPath *This,ULONG *puBuffLength,LPWSTR pszName); + HRESULT (WINAPI *GetKeyList)(IWbemPath *This,IWbemPathKeyList **pOut); + HRESULT (WINAPI *CreateClassPart)(IWbemPath *This,__LONG32 lFlags,LPCWSTR Name); + HRESULT (WINAPI *DeleteClassPart)(IWbemPath *This,__LONG32 lFlags); + WINBOOL (WINAPI *IsRelative)(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace); + WINBOOL (WINAPI *IsRelativeOrChild)(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags); + WINBOOL (WINAPI *IsLocal)(IWbemPath *This,LPCWSTR wszMachine); + WINBOOL (WINAPI *IsSameClassName)(IWbemPath *This,LPCWSTR wszClass); + END_INTERFACE + } IWbemPathVtbl; + struct IWbemPath { + CONST_VTBL struct IWbemPathVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IWbemPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemPath_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemPath_Release(This) (This)->lpVtbl->Release(This) +#define IWbemPath_SetText(This,uMode,pszPath) (This)->lpVtbl->SetText(This,uMode,pszPath) +#define IWbemPath_GetText(This,lFlags,puBuffLength,pszText) (This)->lpVtbl->GetText(This,lFlags,puBuffLength,pszText) +#define IWbemPath_GetInfo(This,uRequestedInfo,puResponse) (This)->lpVtbl->GetInfo(This,uRequestedInfo,puResponse) +#define IWbemPath_SetServer(This,Name) (This)->lpVtbl->SetServer(This,Name) +#define IWbemPath_GetServer(This,puNameBufLength,pName) (This)->lpVtbl->GetServer(This,puNameBufLength,pName) +#define IWbemPath_GetNamespaceCount(This,puCount) (This)->lpVtbl->GetNamespaceCount(This,puCount) +#define IWbemPath_SetNamespaceAt(This,uIndex,pszName) (This)->lpVtbl->SetNamespaceAt(This,uIndex,pszName) +#define IWbemPath_GetNamespaceAt(This,uIndex,puNameBufLength,pName) (This)->lpVtbl->GetNamespaceAt(This,uIndex,puNameBufLength,pName) +#define IWbemPath_RemoveNamespaceAt(This,uIndex) (This)->lpVtbl->RemoveNamespaceAt(This,uIndex) +#define IWbemPath_RemoveAllNamespaces(This) (This)->lpVtbl->RemoveAllNamespaces(This) +#define IWbemPath_GetScopeCount(This,puCount) (This)->lpVtbl->GetScopeCount(This,puCount) +#define IWbemPath_SetScope(This,uIndex,pszClass) (This)->lpVtbl->SetScope(This,uIndex,pszClass) +#define IWbemPath_SetScopeFromText(This,uIndex,pszText) (This)->lpVtbl->SetScopeFromText(This,uIndex,pszText) +#define IWbemPath_GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList) (This)->lpVtbl->GetScope(This,uIndex,puClassNameBufSize,pszClass,pKeyList) +#define IWbemPath_GetScopeAsText(This,uIndex,puTextBufSize,pszText) (This)->lpVtbl->GetScopeAsText(This,uIndex,puTextBufSize,pszText) +#define IWbemPath_RemoveScope(This,uIndex) (This)->lpVtbl->RemoveScope(This,uIndex) +#define IWbemPath_RemoveAllScopes(This) (This)->lpVtbl->RemoveAllScopes(This) +#define IWbemPath_SetClassName(This,Name) (This)->lpVtbl->SetClassName(This,Name) +#define IWbemPath_GetClassName(This,puBuffLength,pszName) (This)->lpVtbl->GetClassName(This,puBuffLength,pszName) +#define IWbemPath_GetKeyList(This,pOut) (This)->lpVtbl->GetKeyList(This,pOut) +#define IWbemPath_CreateClassPart(This,lFlags,Name) (This)->lpVtbl->CreateClassPart(This,lFlags,Name) +#define IWbemPath_DeleteClassPart(This,lFlags) (This)->lpVtbl->DeleteClassPart(This,lFlags) +#define IWbemPath_IsRelative(This,wszMachine,wszNamespace) (This)->lpVtbl->IsRelative(This,wszMachine,wszNamespace) +#define IWbemPath_IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags) (This)->lpVtbl->IsRelativeOrChild(This,wszMachine,wszNamespace,lFlags) +#define IWbemPath_IsLocal(This,wszMachine) (This)->lpVtbl->IsLocal(This,wszMachine) +#define IWbemPath_IsSameClassName(This,wszClass) (This)->lpVtbl->IsSameClassName(This,wszClass) +#endif +#endif + HRESULT WINAPI IWbemPath_SetText_Proxy(IWbemPath *This,ULONG uMode,LPCWSTR pszPath); + void __RPC_STUB IWbemPath_SetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetText_Proxy(IWbemPath *This,__LONG32 lFlags,ULONG *puBuffLength,LPWSTR pszText); + void __RPC_STUB IWbemPath_GetText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetInfo_Proxy(IWbemPath *This,ULONG uRequestedInfo,ULONGLONG *puResponse); + void __RPC_STUB IWbemPath_GetInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_SetServer_Proxy(IWbemPath *This,LPCWSTR Name); + void __RPC_STUB IWbemPath_SetServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetServer_Proxy(IWbemPath *This,ULONG *puNameBufLength,LPWSTR pName); + void __RPC_STUB IWbemPath_GetServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetNamespaceCount_Proxy(IWbemPath *This,ULONG *puCount); + void __RPC_STUB IWbemPath_GetNamespaceCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_SetNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex,LPCWSTR pszName); + void __RPC_STUB IWbemPath_SetNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puNameBufLength,LPWSTR pName); + void __RPC_STUB IWbemPath_GetNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_RemoveNamespaceAt_Proxy(IWbemPath *This,ULONG uIndex); + void __RPC_STUB IWbemPath_RemoveNamespaceAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_RemoveAllNamespaces_Proxy(IWbemPath *This); + void __RPC_STUB IWbemPath_RemoveAllNamespaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetScopeCount_Proxy(IWbemPath *This,ULONG *puCount); + void __RPC_STUB IWbemPath_GetScopeCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_SetScope_Proxy(IWbemPath *This,ULONG uIndex,LPWSTR pszClass); + void __RPC_STUB IWbemPath_SetScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_SetScopeFromText_Proxy(IWbemPath *This,ULONG uIndex,LPWSTR pszText); + void __RPC_STUB IWbemPath_SetScopeFromText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetScope_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puClassNameBufSize,LPWSTR pszClass,IWbemPathKeyList **pKeyList); + void __RPC_STUB IWbemPath_GetScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetScopeAsText_Proxy(IWbemPath *This,ULONG uIndex,ULONG *puTextBufSize,LPWSTR pszText); + void __RPC_STUB IWbemPath_GetScopeAsText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_RemoveScope_Proxy(IWbemPath *This,ULONG uIndex); + void __RPC_STUB IWbemPath_RemoveScope_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_RemoveAllScopes_Proxy(IWbemPath *This); + void __RPC_STUB IWbemPath_RemoveAllScopes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_SetClassName_Proxy(IWbemPath *This,LPCWSTR Name); + void __RPC_STUB IWbemPath_SetClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetClassName_Proxy(IWbemPath *This,ULONG *puBuffLength,LPWSTR pszName); + void __RPC_STUB IWbemPath_GetClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_GetKeyList_Proxy(IWbemPath *This,IWbemPathKeyList **pOut); + void __RPC_STUB IWbemPath_GetKeyList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_CreateClassPart_Proxy(IWbemPath *This,__LONG32 lFlags,LPCWSTR Name); + void __RPC_STUB IWbemPath_CreateClassPart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemPath_DeleteClassPart_Proxy(IWbemPath *This,__LONG32 lFlags); + void __RPC_STUB IWbemPath_DeleteClassPart_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + WINBOOL WINAPI IWbemPath_IsRelative_Proxy(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace); + void __RPC_STUB IWbemPath_IsRelative_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + WINBOOL WINAPI IWbemPath_IsRelativeOrChild_Proxy(IWbemPath *This,LPWSTR wszMachine,LPWSTR wszNamespace,__LONG32 lFlags); + void __RPC_STUB IWbemPath_IsRelativeOrChild_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + WINBOOL WINAPI IWbemPath_IsLocal_Proxy(IWbemPath *This,LPCWSTR wszMachine); + void __RPC_STUB IWbemPath_IsLocal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + WINBOOL WINAPI IWbemPath_IsSameClassName_Proxy(IWbemPath *This,LPCWSTR wszClass); + void __RPC_STUB IWbemPath_IsSameClassName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + EXTERN_C const CLSID CLSID_WbemDefPath; +#ifdef __cplusplus + class WbemDefPath; +#endif + +#ifndef __IWbemQuery_INTERFACE_DEFINED__ +#define __IWbemQuery_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IWbemQuery; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IWbemQuery : public IUnknown { + public: + virtual HRESULT WINAPI Empty(void) = 0; + virtual HRESULT WINAPI SetLanguageFeatures(ULONG uFlags,ULONG uArraySize,ULONG *puFeatures) = 0; + virtual HRESULT WINAPI TestLanguageFeatures(ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures) = 0; + virtual HRESULT WINAPI Parse(LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags) = 0; + virtual HRESULT WINAPI GetAnalysis(ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis) = 0; + virtual HRESULT WINAPI FreeMemory(LPVOID pMem) = 0; + virtual HRESULT WINAPI GetQueryInfo(ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf) = 0; + }; +#else + typedef struct IWbemQueryVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IWbemQuery *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IWbemQuery *This); + ULONG (WINAPI *Release)(IWbemQuery *This); + HRESULT (WINAPI *Empty)(IWbemQuery *This); + HRESULT (WINAPI *SetLanguageFeatures)(IWbemQuery *This,ULONG uFlags,ULONG uArraySize,ULONG *puFeatures); + HRESULT (WINAPI *TestLanguageFeatures)(IWbemQuery *This,ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures); + HRESULT (WINAPI *Parse)(IWbemQuery *This,LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags); + HRESULT (WINAPI *GetAnalysis)(IWbemQuery *This,ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis); + HRESULT (WINAPI *FreeMemory)(IWbemQuery *This,LPVOID pMem); + HRESULT (WINAPI *GetQueryInfo)(IWbemQuery *This,ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf); + END_INTERFACE + } IWbemQueryVtbl; + struct IWbemQuery { + CONST_VTBL struct IWbemQueryVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IWbemQuery_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWbemQuery_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWbemQuery_Release(This) (This)->lpVtbl->Release(This) +#define IWbemQuery_Empty(This) (This)->lpVtbl->Empty(This) +#define IWbemQuery_SetLanguageFeatures(This,uFlags,uArraySize,puFeatures) (This)->lpVtbl->SetLanguageFeatures(This,uFlags,uArraySize,puFeatures) +#define IWbemQuery_TestLanguageFeatures(This,uFlags,uArraySize,puFeatures) (This)->lpVtbl->TestLanguageFeatures(This,uFlags,uArraySize,puFeatures) +#define IWbemQuery_Parse(This,pszLang,pszQuery,uFlags) (This)->lpVtbl->Parse(This,pszLang,pszQuery,uFlags) +#define IWbemQuery_GetAnalysis(This,uAnalysisType,uFlags,pAnalysis) (This)->lpVtbl->GetAnalysis(This,uAnalysisType,uFlags,pAnalysis) +#define IWbemQuery_FreeMemory(This,pMem) (This)->lpVtbl->FreeMemory(This,pMem) +#define IWbemQuery_GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf) (This)->lpVtbl->GetQueryInfo(This,uAnalysisType,uInfoId,uBufSize,pDestBuf) +#endif +#endif + HRESULT WINAPI IWbemQuery_Empty_Proxy(IWbemQuery *This); + void __RPC_STUB IWbemQuery_Empty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_SetLanguageFeatures_Proxy(IWbemQuery *This,ULONG uFlags,ULONG uArraySize,ULONG *puFeatures); + void __RPC_STUB IWbemQuery_SetLanguageFeatures_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_TestLanguageFeatures_Proxy(IWbemQuery *This,ULONG uFlags,ULONG *uArraySize,ULONG *puFeatures); + void __RPC_STUB IWbemQuery_TestLanguageFeatures_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_Parse_Proxy(IWbemQuery *This,LPCWSTR pszLang,LPCWSTR pszQuery,ULONG uFlags); + void __RPC_STUB IWbemQuery_Parse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_GetAnalysis_Proxy(IWbemQuery *This,ULONG uAnalysisType,ULONG uFlags,LPVOID *pAnalysis); + void __RPC_STUB IWbemQuery_GetAnalysis_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_FreeMemory_Proxy(IWbemQuery *This,LPVOID pMem); + void __RPC_STUB IWbemQuery_FreeMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWbemQuery_GetQueryInfo_Proxy(IWbemQuery *This,ULONG uAnalysisType,ULONG uInfoId,ULONG uBufSize,LPVOID pDestBuf); + void __RPC_STUB IWbemQuery_GetQueryInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + EXTERN_C const CLSID CLSID_WbemQuery; +#ifdef __cplusplus + class WbemQuery; +#endif +#endif + + typedef enum __MIDL___MIDL_itf_wmiutils_0116_0001 { + WMIQ_ANALYSIS_RPN_SEQUENCE = 0x1,WMIQ_ANALYSIS_ASSOC_QUERY = 0x2,WMIQ_ANALYSIS_PROP_ANALYSIS_MATRIX = 0x3,WMIQ_ANALYSIS_QUERY_TEXT = 0x4, + WMIQ_ANALYSIS_RESERVED = 0x8000000 + } WMIQ_ANALYSIS_TYPE; + + typedef enum __MIDL___MIDL_itf_wmiutils_0116_0002 { + WMIQ_RPN_TOKEN_EXPRESSION = 1,WMIQ_RPN_TOKEN_AND = 2,WMIQ_RPN_TOKEN_OR = 3,WMIQ_RPN_TOKEN_NOT = 4,WMIQ_RPN_OP_UNDEFINED = 0,WMIQ_RPN_OP_EQ = 1, + WMIQ_RPN_OP_NE = 2,WMIQ_RPN_OP_GE = 3,WMIQ_RPN_OP_LE = 4,WMIQ_RPN_OP_LT = 5,WMIQ_RPN_OP_GT = 6,WMIQ_RPN_OP_LIKE = 7,WMIQ_RPN_OP_ISA = 8, + WMIQ_RPN_OP_ISNOTA = 9,WMIQ_RPN_OP_ISNULL = 10,WMIQ_RPN_OP_ISNOTNULL = 11,WMIQ_RPN_LEFT_PROPERTY_NAME = 0x1,WMIQ_RPN_RIGHT_PROPERTY_NAME = 0x2, + WMIQ_RPN_CONST2 = 0x4,WMIQ_RPN_CONST = 0x8,WMIQ_RPN_RELOP = 0x10,WMIQ_RPN_LEFT_FUNCTION = 0x20,WMIQ_RPN_RIGHT_FUNCTION = 0x40, + WMIQ_RPN_GET_TOKEN_TYPE = 1,WMIQ_RPN_GET_EXPR_SHAPE = 2,WMIQ_RPN_GET_LEFT_FUNCTION = 3,WMIQ_RPN_GET_RIGHT_FUNCTION = 4,WMIQ_RPN_GET_RELOP = 5, + WMIQ_RPN_NEXT_TOKEN = 1,WMIQ_RPN_FROM_UNARY = 0x1,WMIQ_RPN_FROM_PATH = 0x2,WMIQ_RPN_FROM_CLASS_LIST = 0x4,WMIQ_RPN_FROM_MULTIPLE = 0x8 + } WMIQ_RPN_TOKEN_FLAGS; + + typedef enum __MIDL___MIDL_itf_wmiutils_0116_0003 { + WMIQ_ASSOCQ_ASSOCIATORS = 0x1,WMIQ_ASSOCQ_REFERENCES = 0x2,WMIQ_ASSOCQ_RESULTCLASS = 0x4,WMIQ_ASSOCQ_ASSOCCLASS = 0x8,WMIQ_ASSOCQ_ROLE = 0x10, + WMIQ_ASSOCQ_RESULTROLE = 0x20,WMIQ_ASSOCQ_REQUIREDQUALIFIER = 0x40,WMIQ_ASSOCQ_REQUIREDASSOCQUALIFIER = 0x80,WMIQ_ASSOCQ_CLASSDEFSONLY = 0x100, + WMIQ_ASSOCQ_KEYSONLY = 0x200,WMIQ_ASSOCQ_SCHEMAONLY = 0x400,WMIQ_ASSOCQ_CLASSREFSONLY = 0x800 + } WMIQ_ASSOCQ_FLAGS; + + typedef struct tag_SWbemQueryQualifiedName { + ULONG m_uVersion; + ULONG m_uTokenType; + ULONG m_uNameListSize; + LPCWSTR *m_ppszNameList; + WINBOOL m_bArraysUsed; + WINBOOL *m_pbArrayElUsed; + ULONG *m_puArrayIndex; + } SWbemQueryQualifiedName; + + typedef union tag_SWbemRpnConst { + LPCWSTR m_pszStrVal; + WINBOOL m_bBoolVal; + LONG m_lLongVal; + ULONG m_uLongVal; + double m_dblVal; + __MINGW_EXTENSION __int64 m_lVal64; + __MINGW_EXTENSION __int64 m_uVal64; + } SWbemRpnConst; + + typedef struct tag_SWbemRpnQueryToken { + ULONG m_uVersion; + ULONG m_uTokenType; + ULONG m_uSubexpressionShape; + ULONG m_uOperator; + SWbemQueryQualifiedName *m_pRightIdent; + SWbemQueryQualifiedName *m_pLeftIdent; + ULONG m_uConstApparentType; + SWbemRpnConst m_Const; + ULONG m_uConst2ApparentType; + SWbemRpnConst m_Const2; + LPCWSTR m_pszRightFunc; + LPCWSTR m_pszLeftFunc; + } SWbemRpnQueryToken; + + typedef struct tag_SWbemRpnTokenList { + ULONG m_uVersion; + ULONG m_uTokenType; + ULONG m_uNumTokens; + } SWbemRpnTokenList; + + typedef enum tag_WMIQ_LANGUAGE_FEATURES { + WMIQ_LF1_BASIC_SELECT = 1,WMIQ_LF2_CLASS_NAME_IN_QUERY = 2,WMIQ_LF3_STRING_CASE_FUNCTIONS = 3,WMIQ_LF4_PROP_TO_PROP_TESTS = 4, + WMIQ_LF5_COUNT_STAR = 5,WMIQ_LF6_ORDER_BY = 6,WMIQ_LF7_DISTINCT = 7,WMIQ_LF8_ISA = 8,WMIQ_LF9_THIS = 9,WMIQ_LF10_COMPEX_SUBEXPRESSIONS = 10, + WMIQ_LF11_ALIASING = 11,WMIQ_LF12_GROUP_BY_HAVING = 12,WMIQ_LF13_WMI_WITHIN = 13,WMIQ_LF14_SQL_WRITE_OPERATIONS = 14,WMIQ_LF15_GO = 15, + WMIQ_LF16_SINGLE_LEVEL_TRANSACTIONS = 16,WMIQ_LF17_QUALIFIED_NAMES = 17,WMIQ_LF18_ASSOCIATONS = 18,WMIQ_LF19_SYSTEM_PROPERTIES = 19, + WMIQ_LF20_EXTENDED_SYSTEM_PROPERTIES = 20,WMIQ_LF21_SQL89_JOINS = 21,WMIQ_LF22_SQL92_JOINS = 22,WMIQ_LF23_SUBSELECTS = 23, + WMIQ_LF24_UMI_EXTENSIONS = 24,WMIQ_LF25_DATEPART = 25,WMIQ_LF26_LIKE = 26,WMIQ_LF27_CIM_TEMPORAL_CONSTRUCTS = 27, + WMIQ_LF28_STANDARD_AGGREGATES = 28,WMIQ_LF29_MULTI_LEVEL_ORDER_BY = 29,WMIQ_LF30_WMI_PRAGMAS = 30,WMIQ_LF31_QUALIFIER_TESTS = 31, + WMIQ_LF32_SP_EXECUTE = 32,WMIQ_LF33_ARRAY_ACCESS = 33,WMIQ_LF34_UNION = 34,WMIQ_LF35_COMPLEX_SELECT_TARGET = 35,WMIQ_LF36_REFERENCE_TESTS = 36, + WMIQ_LF37_SELECT_INTO = 37,WMIQ_LF38_BASIC_DATETIME_TESTS = 38,WMIQ_LF39_COUNT_COLUMN = 39,WMIQ_LF40_BETWEEN = 40,WMIQ_LF_LAST = 40 + } WMIQ_LANGUAGE_FEATURES; + + typedef enum tag_WMIQ_RPNQ_FEATURE { + WMIQ_RPNF_WHERE_CLAUSE_PRESENT = 0x1,WMIQ_RPNF_QUERY_IS_CONJUNCTIVE = 0x2,WMIQ_RPNF_QUERY_IS_DISJUNCTIVE = 0x4,WMIQ_RPNF_PROJECTION = 0x8, + WMIQ_RPNF_FEATURE_SELECT_STAR = 0x10,WMIQ_RPNF_EQUALITY_TESTS_ONLY = 0x20,WMIQ_RPNF_COUNT_STAR = 0x40,WMIQ_RPNF_QUALIFIED_NAMES_USED = 0x80, + WMIQ_RPNF_SYSPROP_CLASS_USED = 0x100,WMIQ_RPNF_PROP_TO_PROP_TESTS = 0x200,WMIQ_RPNF_ORDER_BY = 0x400,WMIQ_RPNF_ISA_USED = 0x800, + WMIQ_RPNF_GROUP_BY_HAVING = 0x1000,WMIQ_RPNF_ARRAY_ACCESS_USED = 0x2000 + } WMIQ_RPNF_FEATURE; + + typedef struct tag_SWbemRpnEncodedQuery { + ULONG m_uVersion; + ULONG m_uTokenType; + __MINGW_EXTENSION unsigned __int64 m_uParsedFeatureMask; + ULONG m_uDetectedArraySize; + ULONG *m_puDetectedFeatures; + ULONG m_uSelectListSize; + SWbemQueryQualifiedName **m_ppSelectList; + ULONG m_uFromTargetType; + LPCWSTR m_pszOptionalFromPath; + ULONG m_uFromListSize; + LPCWSTR *m_ppszFromList; + ULONG m_uWhereClauseSize; + SWbemRpnQueryToken **m_ppRpnWhereClause; + double m_dblWithinPolling; + double m_dblWithinWindow; + ULONG m_uOrderByListSize; + LPCWSTR *m_ppszOrderByList; + ULONG *m_uOrderDirectionEl; + } SWbemRpnEncodedQuery; + + typedef struct tag_SWbemAnalysisMatrix { + ULONG m_uVersion; + ULONG m_uMatrixType; + LPCWSTR m_pszProperty; + ULONG m_uPropertyType; + ULONG m_uEntries; + LPVOID *m_pValues; + WINBOOL *m_pbTruthTable; + } SWbemAnalysisMatrix; + + typedef struct tag_SWbemAnalysisMatrixList { + ULONG m_uVersion; + ULONG m_uMatrixType; + ULONG m_uNumMatrices; + SWbemAnalysisMatrix *m_pMatrices; + } SWbemAnalysisMatrixList; + + typedef struct tag_SWbemAssocQueryInf { + ULONG m_uVersion; + ULONG m_uAnalysisType; + ULONG m_uFeatureMask; + IWbemPath *m_pPath; + LPWSTR m_pszPath; + LPWSTR m_pszQueryText; + LPWSTR m_pszResultClass; + LPWSTR m_pszAssocClass; + LPWSTR m_pszRole; + LPWSTR m_pszResultRole; + LPWSTR m_pszRequiredQualifier; + LPWSTR m_pszRequiredAssocQualifier; + } SWbemAssocQueryInf; + + extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0116_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_wmiutils_0116_v0_0_s_ifspec; + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmp.h new file mode 100644 index 00000000..012e32eb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmp.h @@ -0,0 +1,10255 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmp.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 __wmp_h__ +#define __wmp_h__ + +/* Forward declarations */ + +#ifndef __IWMPPlaylist_FWD_DEFINED__ +#define __IWMPPlaylist_FWD_DEFINED__ +typedef interface IWMPPlaylist IWMPPlaylist; +#ifdef __cplusplus +interface IWMPPlaylist; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPMedia_FWD_DEFINED__ +#define __IWMPMedia_FWD_DEFINED__ +typedef interface IWMPMedia IWMPMedia; +#ifdef __cplusplus +interface IWMPMedia; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPControls_FWD_DEFINED__ +#define __IWMPControls_FWD_DEFINED__ +typedef interface IWMPControls IWMPControls; +#ifdef __cplusplus +interface IWMPControls; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPControls2_FWD_DEFINED__ +#define __IWMPControls2_FWD_DEFINED__ +typedef interface IWMPControls2 IWMPControls2; +#ifdef __cplusplus +interface IWMPControls2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPRemoteMediaServices_FWD_DEFINED__ +#define __IWMPRemoteMediaServices_FWD_DEFINED__ +typedef interface IWMPRemoteMediaServices IWMPRemoteMediaServices; +#ifdef __cplusplus +interface IWMPRemoteMediaServices; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPSettings_FWD_DEFINED__ +#define __IWMPSettings_FWD_DEFINED__ +typedef interface IWMPSettings IWMPSettings; +#ifdef __cplusplus +interface IWMPSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPStringCollection_FWD_DEFINED__ +#define __IWMPStringCollection_FWD_DEFINED__ +typedef interface IWMPStringCollection IWMPStringCollection; +#ifdef __cplusplus +interface IWMPStringCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPMediaCollection_FWD_DEFINED__ +#define __IWMPMediaCollection_FWD_DEFINED__ +typedef interface IWMPMediaCollection IWMPMediaCollection; +#ifdef __cplusplus +interface IWMPMediaCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPPlaylistArray_FWD_DEFINED__ +#define __IWMPPlaylistArray_FWD_DEFINED__ +typedef interface IWMPPlaylistArray IWMPPlaylistArray; +#ifdef __cplusplus +interface IWMPPlaylistArray; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPPlaylistCollection_FWD_DEFINED__ +#define __IWMPPlaylistCollection_FWD_DEFINED__ +typedef interface IWMPPlaylistCollection IWMPPlaylistCollection; +#ifdef __cplusplus +interface IWMPPlaylistCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPNetwork_FWD_DEFINED__ +#define __IWMPNetwork_FWD_DEFINED__ +typedef interface IWMPNetwork IWMPNetwork; +#ifdef __cplusplus +interface IWMPNetwork; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCdrom_FWD_DEFINED__ +#define __IWMPCdrom_FWD_DEFINED__ +typedef interface IWMPCdrom IWMPCdrom; +#ifdef __cplusplus +interface IWMPCdrom; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCdromCollection_FWD_DEFINED__ +#define __IWMPCdromCollection_FWD_DEFINED__ +typedef interface IWMPCdromCollection IWMPCdromCollection; +#ifdef __cplusplus +interface IWMPCdromCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPDVD_FWD_DEFINED__ +#define __IWMPDVD_FWD_DEFINED__ +typedef interface IWMPDVD IWMPDVD; +#ifdef __cplusplus +interface IWMPDVD; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPClosedCaption_FWD_DEFINED__ +#define __IWMPClosedCaption_FWD_DEFINED__ +typedef interface IWMPClosedCaption IWMPClosedCaption; +#ifdef __cplusplus +interface IWMPClosedCaption; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPErrorItem_FWD_DEFINED__ +#define __IWMPErrorItem_FWD_DEFINED__ +typedef interface IWMPErrorItem IWMPErrorItem; +#ifdef __cplusplus +interface IWMPErrorItem; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPMedia2_FWD_DEFINED__ +#define __IWMPMedia2_FWD_DEFINED__ +typedef interface IWMPMedia2 IWMPMedia2; +#ifdef __cplusplus +interface IWMPMedia2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPMedia3_FWD_DEFINED__ +#define __IWMPMedia3_FWD_DEFINED__ +typedef interface IWMPMedia3 IWMPMedia3; +#ifdef __cplusplus +interface IWMPMedia3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPError_FWD_DEFINED__ +#define __IWMPError_FWD_DEFINED__ +typedef interface IWMPError IWMPError; +#ifdef __cplusplus +interface IWMPError; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPPlayerApplication_FWD_DEFINED__ +#define __IWMPPlayerApplication_FWD_DEFINED__ +typedef interface IWMPPlayerApplication IWMPPlayerApplication; +#ifdef __cplusplus +interface IWMPPlayerApplication; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCore_FWD_DEFINED__ +#define __IWMPCore_FWD_DEFINED__ +typedef interface IWMPCore IWMPCore; +#ifdef __cplusplus +interface IWMPCore; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCore2_FWD_DEFINED__ +#define __IWMPCore2_FWD_DEFINED__ +typedef interface IWMPCore2 IWMPCore2; +#ifdef __cplusplus +interface IWMPCore2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCore3_FWD_DEFINED__ +#define __IWMPCore3_FWD_DEFINED__ +typedef interface IWMPCore3 IWMPCore3; +#ifdef __cplusplus +interface IWMPCore3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPPlayer4_FWD_DEFINED__ +#define __IWMPPlayer4_FWD_DEFINED__ +typedef interface IWMPPlayer4 IWMPPlayer4; +#ifdef __cplusplus +interface IWMPPlayer4; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPPlayer_FWD_DEFINED__ +#define __IWMPPlayer_FWD_DEFINED__ +typedef interface IWMPPlayer IWMPPlayer; +#ifdef __cplusplus +interface IWMPPlayer; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPSyncDevice_FWD_DEFINED__ +#define __IWMPSyncDevice_FWD_DEFINED__ +typedef interface IWMPSyncDevice IWMPSyncDevice; +#ifdef __cplusplus +interface IWMPSyncDevice; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPSyncDevice2_FWD_DEFINED__ +#define __IWMPSyncDevice2_FWD_DEFINED__ +typedef interface IWMPSyncDevice2 IWMPSyncDevice2; +#ifdef __cplusplus +interface IWMPSyncDevice2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCdromRip_FWD_DEFINED__ +#define __IWMPCdromRip_FWD_DEFINED__ +typedef interface IWMPCdromRip IWMPCdromRip; +#ifdef __cplusplus +interface IWMPCdromRip; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPCdromBurn_FWD_DEFINED__ +#define __IWMPCdromBurn_FWD_DEFINED__ +typedef interface IWMPCdromBurn IWMPCdromBurn; +#ifdef __cplusplus +interface IWMPCdromBurn; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPLibrary_FWD_DEFINED__ +#define __IWMPLibrary_FWD_DEFINED__ +typedef interface IWMPLibrary IWMPLibrary; +#ifdef __cplusplus +interface IWMPLibrary; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPEvents_FWD_DEFINED__ +#define __IWMPEvents_FWD_DEFINED__ +typedef interface IWMPEvents IWMPEvents; +#ifdef __cplusplus +interface IWMPEvents; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPEvents2_FWD_DEFINED__ +#define __IWMPEvents2_FWD_DEFINED__ +typedef interface IWMPEvents2 IWMPEvents2; +#ifdef __cplusplus +interface IWMPEvents2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPEvents3_FWD_DEFINED__ +#define __IWMPEvents3_FWD_DEFINED__ +typedef interface IWMPEvents3 IWMPEvents3; +#ifdef __cplusplus +interface IWMPEvents3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPEvents4_FWD_DEFINED__ +#define __IWMPEvents4_FWD_DEFINED__ +typedef interface IWMPEvents4 IWMPEvents4; +#ifdef __cplusplus +interface IWMPEvents4; +#endif /* __cplusplus */ +#endif + +#ifndef ___WMPOCXEvents_FWD_DEFINED__ +#define ___WMPOCXEvents_FWD_DEFINED__ +typedef interface _WMPOCXEvents _WMPOCXEvents; +#ifdef __cplusplus +interface _WMPOCXEvents; +#endif /* __cplusplus */ +#endif + +#ifndef __WindowsMediaPlayer_FWD_DEFINED__ +#define __WindowsMediaPlayer_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WindowsMediaPlayer WindowsMediaPlayer; +#else +typedef struct WindowsMediaPlayer WindowsMediaPlayer; +#endif /* defined __cplusplus */ +#endif /* defined __WindowsMediaPlayer_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __WMPLib_LIBRARY_DEFINED__ +#define __WMPLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WMPLib, 0x6bf52a50, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); + +typedef enum __WIDL_wmp_generated_name_00000020 { + wmposUndefined = 0, + wmposPlaylistChanging = 1, + wmposPlaylistLocating = 2, + wmposPlaylistConnecting = 3, + wmposPlaylistLoading = 4, + wmposPlaylistOpening = 5, + wmposPlaylistOpenNoMedia = 6, + wmposPlaylistChanged = 7, + wmposMediaChanging = 8, + wmposMediaLocating = 9, + wmposMediaConnecting = 10, + wmposMediaLoading = 11, + wmposMediaOpening = 12, + wmposMediaOpen = 13, + wmposBeginCodecAcquisition = 14, + wmposEndCodecAcquisition = 15, + wmposBeginLicenseAcquisition = 16, + wmposEndLicenseAcquisition = 17, + wmposBeginIndividualization = 18, + wmposEndIndividualization = 19, + wmposMediaWaiting = 20, + wmposOpeningUnknownURL = 21 +} WMPOpenState; +typedef enum __WIDL_wmp_generated_name_00000021 { + wmppsUndefined = 0, + wmppsStopped = 1, + wmppsPaused = 2, + wmppsPlaying = 3, + wmppsScanForward = 4, + wmppsScanReverse = 5, + wmppsBuffering = 6, + wmppsWaiting = 7, + wmppsMediaEnded = 8, + wmppsTransitioning = 9, + wmppsReady = 10, + wmppsReconnecting = 11, + wmppsLast = 12 +} WMPPlayState; +typedef enum __WIDL_wmp_generated_name_00000022 { + wmplcUnknown = 0, + wmplcClear = 1, + wmplcInfoChange = 2, + wmplcMove = 3, + wmplcDelete = 4, + wmplcInsert = 5, + wmplcAppend = 6, + wmplcPrivate = 7, + wmplcNameChange = 8, + wmplcMorph = 9, + wmplcSort = 10, + wmplcLast = 11 +} WMPPlaylistChangeEventType; +typedef enum __WIDL_wmp_generated_name_00000023 { + wmpdsUnknown = 0, + wmpdsPartnershipExists = 1, + wmpdsPartnershipDeclined = 2, + wmpdsPartnershipAnother = 3, + wmpdsManualDevice = 4, + wmpdsNewDevice = 5, + wmpdsLast = 6 +} WMPDeviceStatus; +typedef enum __WIDL_wmp_generated_name_00000024 { + wmpssUnknown = 0, + wmpssSynchronizing = 1, + wmpssStopped = 2, + wmpssEstimating = 3, + wmpssLast = 4 +} WMPSyncState; +typedef enum __WIDL_wmp_generated_name_00000025 { + wmprsUnknown = 0, + wmprsRipping = 1, + wmprsStopped = 2 +} WMPRipState; +typedef enum __WIDL_wmp_generated_name_00000026 { + wmpbfAudioCD = 0, + wmpbfDataCD = 1 +} WMPBurnFormat; +typedef enum __WIDL_wmp_generated_name_00000027 { + wmpbsUnknown = 0, + wmpbsBusy = 1, + wmpbsReady = 2, + wmpbsWaitingForDisc = 3, + wmpbsRefreshStatusPending = 4, + wmpbsPreparingToBurn = 5, + wmpbsBurning = 6, + wmpbsStopped = 7, + wmpbsErasing = 8, + wmpbsDownloading = 9 +} WMPBurnState; +typedef enum __WIDL_wmp_generated_name_00000028 { + wmpltUnknown = 0, + wmpltAll = 1, + wmpltLocal = 2, + wmpltRemote = 3, + wmpltDisc = 4, + wmpltPortableDevice = 5 +} WMPLibraryType; +typedef enum __WIDL_wmp_generated_name_00000029 { + wmpfssUnknown = 0, + wmpfssScanning = 1, + wmpfssUpdating = 2, + wmpfssStopped = 3 +} WMPFolderScanState; +typedef enum __WIDL_wmp_generated_name_0000002A { + wmpsccetUnknown = 0, + wmpsccetInsert = 1, + wmpsccetChange = 2, + wmpsccetDelete = 3, + wmpsccetClear = 4, + wmpsccetBeginUpdates = 5, + wmpsccetEndUpdates = 6 +} WMPStringCollectionChangeEventType; +#ifndef __IWMPMedia_FWD_DEFINED__ +#define __IWMPMedia_FWD_DEFINED__ +typedef interface IWMPMedia IWMPMedia; +#ifdef __cplusplus +interface IWMPMedia; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWMPPlaylist interface + */ +#ifndef __IWMPPlaylist_INTERFACE_DEFINED__ +#define __IWMPPlaylist_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d5f0f4f1-130c-11d3-b14e-00c04f79faa6") +IWMPPlaylist : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_count( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_name( + BSTR *pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_name( + BSTR pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_attributeCount( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_attributeName( + LONG lIndex, + BSTR *pbstrAttributeName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG lIndex, + IWMPMedia **ppIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfo( + BSTR bstrName, + BSTR *pbstrVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE setItemInfo( + BSTR bstrName, + BSTR bstrValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_isIdentical( + IWMPPlaylist *pIWMPPlaylist, + VARIANT_BOOL *pvbool) = 0; + + virtual HRESULT STDMETHODCALLTYPE clear( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE insertItem( + LONG lIndex, + IWMPMedia *pIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE appendItem( + IWMPMedia *pIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE removeItem( + IWMPMedia *pIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE moveItem( + LONG lIndexOld, + LONG lIndexNew) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlaylist, 0xd5f0f4f1, 0x130c, 0x11d3, 0xb1,0x4e, 0x00,0xc0,0x4f,0x79,0xfa,0xa6) +#endif +#else +typedef struct IWMPPlaylistVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlaylist *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlaylist *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlaylist *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlaylist *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlaylist *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlaylist *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlaylist *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPPlaylist methods ***/ + HRESULT (STDMETHODCALLTYPE *get_count)( + IWMPPlaylist *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *get_name)( + IWMPPlaylist *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *put_name)( + IWMPPlaylist *This, + BSTR pbstrName); + + HRESULT (STDMETHODCALLTYPE *get_attributeCount)( + IWMPPlaylist *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *get_attributeName)( + IWMPPlaylist *This, + LONG lIndex, + BSTR *pbstrAttributeName); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IWMPPlaylist *This, + LONG lIndex, + IWMPMedia **ppIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPPlaylist *This, + BSTR bstrName, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *setItemInfo)( + IWMPPlaylist *This, + BSTR bstrName, + BSTR bstrValue); + + HRESULT (STDMETHODCALLTYPE *get_isIdentical)( + IWMPPlaylist *This, + IWMPPlaylist *pIWMPPlaylist, + VARIANT_BOOL *pvbool); + + HRESULT (STDMETHODCALLTYPE *clear)( + IWMPPlaylist *This); + + HRESULT (STDMETHODCALLTYPE *insertItem)( + IWMPPlaylist *This, + LONG lIndex, + IWMPMedia *pIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *appendItem)( + IWMPPlaylist *This, + IWMPMedia *pIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *removeItem)( + IWMPPlaylist *This, + IWMPMedia *pIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *moveItem)( + IWMPPlaylist *This, + LONG lIndexOld, + LONG lIndexNew); + + END_INTERFACE +} IWMPPlaylistVtbl; + +interface IWMPPlaylist { + CONST_VTBL IWMPPlaylistVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlaylist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlaylist_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlaylist_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlaylist_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPPlaylist methods ***/ +#define IWMPPlaylist_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount) +#define IWMPPlaylist_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName) +#define IWMPPlaylist_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName) +#define IWMPPlaylist_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount) +#define IWMPPlaylist_get_attributeName(This,lIndex,pbstrAttributeName) (This)->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName) +#define IWMPPlaylist_get_Item(This,lIndex,ppIWMPMedia) (This)->lpVtbl->get_Item(This,lIndex,ppIWMPMedia) +#define IWMPPlaylist_getItemInfo(This,bstrName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrName,pbstrVal) +#define IWMPPlaylist_setItemInfo(This,bstrName,bstrValue) (This)->lpVtbl->setItemInfo(This,bstrName,bstrValue) +#define IWMPPlaylist_get_isIdentical(This,pIWMPPlaylist,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool) +#define IWMPPlaylist_clear(This) (This)->lpVtbl->clear(This) +#define IWMPPlaylist_insertItem(This,lIndex,pIWMPMedia) (This)->lpVtbl->insertItem(This,lIndex,pIWMPMedia) +#define IWMPPlaylist_appendItem(This,pIWMPMedia) (This)->lpVtbl->appendItem(This,pIWMPMedia) +#define IWMPPlaylist_removeItem(This,pIWMPMedia) (This)->lpVtbl->removeItem(This,pIWMPMedia) +#define IWMPPlaylist_moveItem(This,lIndexOld,lIndexNew) (This)->lpVtbl->moveItem(This,lIndexOld,lIndexNew) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlaylist_QueryInterface(IWMPPlaylist* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlaylist_AddRef(IWMPPlaylist* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlaylist_Release(IWMPPlaylist* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlaylist_GetTypeInfoCount(IWMPPlaylist* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlaylist_GetTypeInfo(IWMPPlaylist* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlaylist_GetIDsOfNames(IWMPPlaylist* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlaylist_Invoke(IWMPPlaylist* 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); +} +/*** IWMPPlaylist methods ***/ +static inline HRESULT IWMPPlaylist_get_count(IWMPPlaylist* This,LONG *plCount) { + return This->lpVtbl->get_count(This,plCount); +} +static inline HRESULT IWMPPlaylist_get_name(IWMPPlaylist* This,BSTR *pbstrName) { + return This->lpVtbl->get_name(This,pbstrName); +} +static inline HRESULT IWMPPlaylist_put_name(IWMPPlaylist* This,BSTR pbstrName) { + return This->lpVtbl->put_name(This,pbstrName); +} +static inline HRESULT IWMPPlaylist_get_attributeCount(IWMPPlaylist* This,LONG *plCount) { + return This->lpVtbl->get_attributeCount(This,plCount); +} +static inline HRESULT IWMPPlaylist_get_attributeName(IWMPPlaylist* This,LONG lIndex,BSTR *pbstrAttributeName) { + return This->lpVtbl->get_attributeName(This,lIndex,pbstrAttributeName); +} +static inline HRESULT IWMPPlaylist_get_Item(IWMPPlaylist* This,LONG lIndex,IWMPMedia **ppIWMPMedia) { + return This->lpVtbl->get_Item(This,lIndex,ppIWMPMedia); +} +static inline HRESULT IWMPPlaylist_getItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfo(This,bstrName,pbstrVal); +} +static inline HRESULT IWMPPlaylist_setItemInfo(IWMPPlaylist* This,BSTR bstrName,BSTR bstrValue) { + return This->lpVtbl->setItemInfo(This,bstrName,bstrValue); +} +static inline HRESULT IWMPPlaylist_get_isIdentical(IWMPPlaylist* This,IWMPPlaylist *pIWMPPlaylist,VARIANT_BOOL *pvbool) { + return This->lpVtbl->get_isIdentical(This,pIWMPPlaylist,pvbool); +} +static inline HRESULT IWMPPlaylist_clear(IWMPPlaylist* This) { + return This->lpVtbl->clear(This); +} +static inline HRESULT IWMPPlaylist_insertItem(IWMPPlaylist* This,LONG lIndex,IWMPMedia *pIWMPMedia) { + return This->lpVtbl->insertItem(This,lIndex,pIWMPMedia); +} +static inline HRESULT IWMPPlaylist_appendItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) { + return This->lpVtbl->appendItem(This,pIWMPMedia); +} +static inline HRESULT IWMPPlaylist_removeItem(IWMPPlaylist* This,IWMPMedia *pIWMPMedia) { + return This->lpVtbl->removeItem(This,pIWMPMedia); +} +static inline HRESULT IWMPPlaylist_moveItem(IWMPPlaylist* This,LONG lIndexOld,LONG lIndexNew) { + return This->lpVtbl->moveItem(This,lIndexOld,lIndexNew); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlaylist_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPMedia interface + */ +#ifndef __IWMPMedia_INTERFACE_DEFINED__ +#define __IWMPMedia_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94d55e95-3fac-11d3-b155-00c04f79faa6") +IWMPMedia : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_isIdentical( + IWMPMedia *pIWMPMedia, + VARIANT_BOOL *pvbool) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_sourceURL( + BSTR *pbstrSourceURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_name( + BSTR *pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_name( + BSTR pbstrName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_imageSourceWidth( + LONG *pWidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_imageSourceHeight( + LONG *pHeight) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_markerCount( + LONG *pMarkerCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE getMarkerTime( + LONG MarkerNum, + double *pMarkerTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE getMarkerName( + LONG MarkerNum, + BSTR *pbstrMarkerName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_duration( + double *pDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_durationString( + BSTR *pbstrDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_attributeCount( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE getAttributeName( + LONG lIndex, + BSTR *pbstrItemName) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfo( + BSTR bstrItemName, + BSTR *pbstrVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE setItemInfo( + BSTR bstrItemName, + BSTR bstrVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfoByAtom( + LONG lAtom, + BSTR *pbstrVal) = 0; + + virtual HRESULT STDMETHODCALLTYPE isMemberOf( + IWMPPlaylist *pPlaylist, + VARIANT_BOOL *pvarfIsMemberOf) = 0; + + virtual HRESULT STDMETHODCALLTYPE isReadOnlyItem( + BSTR bstrItemName, + VARIANT_BOOL *pvarfIsReadOnly) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPMedia, 0x94d55e95, 0x3fac, 0x11d3, 0xb1,0x55, 0x00,0xc0,0x4f,0x79,0xfa,0xa6) +#endif +#else +typedef struct IWMPMediaVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPMedia *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPMedia *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPMedia *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPMedia *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPMedia *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPMedia *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPMedia *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPMedia methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isIdentical)( + IWMPMedia *This, + IWMPMedia *pIWMPMedia, + VARIANT_BOOL *pvbool); + + HRESULT (STDMETHODCALLTYPE *get_sourceURL)( + IWMPMedia *This, + BSTR *pbstrSourceURL); + + HRESULT (STDMETHODCALLTYPE *get_name)( + IWMPMedia *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *put_name)( + IWMPMedia *This, + BSTR pbstrName); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)( + IWMPMedia *This, + LONG *pWidth); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)( + IWMPMedia *This, + LONG *pHeight); + + HRESULT (STDMETHODCALLTYPE *get_markerCount)( + IWMPMedia *This, + LONG *pMarkerCount); + + HRESULT (STDMETHODCALLTYPE *getMarkerTime)( + IWMPMedia *This, + LONG MarkerNum, + double *pMarkerTime); + + HRESULT (STDMETHODCALLTYPE *getMarkerName)( + IWMPMedia *This, + LONG MarkerNum, + BSTR *pbstrMarkerName); + + HRESULT (STDMETHODCALLTYPE *get_duration)( + IWMPMedia *This, + double *pDuration); + + HRESULT (STDMETHODCALLTYPE *get_durationString)( + IWMPMedia *This, + BSTR *pbstrDuration); + + HRESULT (STDMETHODCALLTYPE *get_attributeCount)( + IWMPMedia *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *getAttributeName)( + IWMPMedia *This, + LONG lIndex, + BSTR *pbstrItemName); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPMedia *This, + BSTR bstrItemName, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *setItemInfo)( + IWMPMedia *This, + BSTR bstrItemName, + BSTR bstrVal); + + HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)( + IWMPMedia *This, + LONG lAtom, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *isMemberOf)( + IWMPMedia *This, + IWMPPlaylist *pPlaylist, + VARIANT_BOOL *pvarfIsMemberOf); + + HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)( + IWMPMedia *This, + BSTR bstrItemName, + VARIANT_BOOL *pvarfIsReadOnly); + + END_INTERFACE +} IWMPMediaVtbl; + +interface IWMPMedia { + CONST_VTBL IWMPMediaVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPMedia_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPMedia_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPMedia_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPMedia_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPMedia_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPMedia_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPMedia_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPMedia methods ***/ +#define IWMPMedia_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool) +#define IWMPMedia_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL) +#define IWMPMedia_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName) +#define IWMPMedia_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName) +#define IWMPMedia_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth) +#define IWMPMedia_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight) +#define IWMPMedia_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount) +#define IWMPMedia_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime) +#define IWMPMedia_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName) +#define IWMPMedia_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration) +#define IWMPMedia_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration) +#define IWMPMedia_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount) +#define IWMPMedia_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName) +#define IWMPMedia_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal) +#define IWMPMedia_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal) +#define IWMPMedia_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal) +#define IWMPMedia_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf) +#define IWMPMedia_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPMedia_QueryInterface(IWMPMedia* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPMedia_AddRef(IWMPMedia* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPMedia_Release(IWMPMedia* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPMedia_GetTypeInfoCount(IWMPMedia* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPMedia_GetTypeInfo(IWMPMedia* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPMedia_GetIDsOfNames(IWMPMedia* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPMedia_Invoke(IWMPMedia* 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); +} +/*** IWMPMedia methods ***/ +static inline HRESULT IWMPMedia_get_isIdentical(IWMPMedia* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) { + return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool); +} +static inline HRESULT IWMPMedia_get_sourceURL(IWMPMedia* This,BSTR *pbstrSourceURL) { + return This->lpVtbl->get_sourceURL(This,pbstrSourceURL); +} +static inline HRESULT IWMPMedia_get_name(IWMPMedia* This,BSTR *pbstrName) { + return This->lpVtbl->get_name(This,pbstrName); +} +static inline HRESULT IWMPMedia_put_name(IWMPMedia* This,BSTR pbstrName) { + return This->lpVtbl->put_name(This,pbstrName); +} +static inline HRESULT IWMPMedia_get_imageSourceWidth(IWMPMedia* This,LONG *pWidth) { + return This->lpVtbl->get_imageSourceWidth(This,pWidth); +} +static inline HRESULT IWMPMedia_get_imageSourceHeight(IWMPMedia* This,LONG *pHeight) { + return This->lpVtbl->get_imageSourceHeight(This,pHeight); +} +static inline HRESULT IWMPMedia_get_markerCount(IWMPMedia* This,LONG *pMarkerCount) { + return This->lpVtbl->get_markerCount(This,pMarkerCount); +} +static inline HRESULT IWMPMedia_getMarkerTime(IWMPMedia* This,LONG MarkerNum,double *pMarkerTime) { + return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime); +} +static inline HRESULT IWMPMedia_getMarkerName(IWMPMedia* This,LONG MarkerNum,BSTR *pbstrMarkerName) { + return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName); +} +static inline HRESULT IWMPMedia_get_duration(IWMPMedia* This,double *pDuration) { + return This->lpVtbl->get_duration(This,pDuration); +} +static inline HRESULT IWMPMedia_get_durationString(IWMPMedia* This,BSTR *pbstrDuration) { + return This->lpVtbl->get_durationString(This,pbstrDuration); +} +static inline HRESULT IWMPMedia_get_attributeCount(IWMPMedia* This,LONG *plCount) { + return This->lpVtbl->get_attributeCount(This,plCount); +} +static inline HRESULT IWMPMedia_getAttributeName(IWMPMedia* This,LONG lIndex,BSTR *pbstrItemName) { + return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName); +} +static inline HRESULT IWMPMedia_getItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal); +} +static inline HRESULT IWMPMedia_setItemInfo(IWMPMedia* This,BSTR bstrItemName,BSTR bstrVal) { + return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal); +} +static inline HRESULT IWMPMedia_getItemInfoByAtom(IWMPMedia* This,LONG lAtom,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal); +} +static inline HRESULT IWMPMedia_isMemberOf(IWMPMedia* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) { + return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf); +} +static inline HRESULT IWMPMedia_isReadOnlyItem(IWMPMedia* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) { + return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly); +} +#endif +#endif + +#endif + + +#endif /* __IWMPMedia_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPControls interface + */ +#ifndef __IWMPControls_INTERFACE_DEFINED__ +#define __IWMPControls_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("74c09e02-f828-11d2-a74b-00a0c905f36e") +IWMPControls : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_isAvailable( + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable) = 0; + + virtual HRESULT STDMETHODCALLTYPE play( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE stop( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE fastForward( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE fastReverse( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_currentPosition( + double *pdCurrentPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_currentPosition( + double pdCurrentPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_currentPositionString( + BSTR *pbstrCurrentPosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE next( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE previous( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE currentItem( + IWMPMedia **ppIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_currentItem( + IWMPMedia *ppIWMPMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_currentMarker( + LONG *plMarker) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_currentMarker( + LONG plMarker) = 0; + + virtual HRESULT STDMETHODCALLTYPE playItem( + IWMPMedia *pIWMPMedia) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPControls, 0x74c09e02, 0xf828, 0x11d2, 0xa7,0x4b, 0x00,0xa0,0xc9,0x05,0xf3,0x6e) +#endif +#else +typedef struct IWMPControlsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPControls *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPControls *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPControls *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPControls *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPControls *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPControls *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPControls *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPControls methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isAvailable)( + IWMPControls *This, + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable); + + HRESULT (STDMETHODCALLTYPE *play)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *stop)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *pause)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *fastForward)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *fastReverse)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *get_currentPosition)( + IWMPControls *This, + double *pdCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *put_currentPosition)( + IWMPControls *This, + double pdCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *get_currentPositionString)( + IWMPControls *This, + BSTR *pbstrCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *next)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *previous)( + IWMPControls *This); + + HRESULT (STDMETHODCALLTYPE *currentItem)( + IWMPControls *This, + IWMPMedia **ppIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentItem)( + IWMPControls *This, + IWMPMedia *ppIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *get_currentMarker)( + IWMPControls *This, + LONG *plMarker); + + HRESULT (STDMETHODCALLTYPE *put_currentMarker)( + IWMPControls *This, + LONG plMarker); + + HRESULT (STDMETHODCALLTYPE *playItem)( + IWMPControls *This, + IWMPMedia *pIWMPMedia); + + END_INTERFACE +} IWMPControlsVtbl; + +interface IWMPControls { + CONST_VTBL IWMPControlsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPControls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPControls_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPControls_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPControls_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPControls_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPControls_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPControls_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPControls methods ***/ +#define IWMPControls_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable) +#define IWMPControls_play(This) (This)->lpVtbl->play(This) +#define IWMPControls_stop(This) (This)->lpVtbl->stop(This) +#define IWMPControls_pause(This) (This)->lpVtbl->pause(This) +#define IWMPControls_fastForward(This) (This)->lpVtbl->fastForward(This) +#define IWMPControls_fastReverse(This) (This)->lpVtbl->fastReverse(This) +#define IWMPControls_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition) +#define IWMPControls_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition) +#define IWMPControls_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition) +#define IWMPControls_next(This) (This)->lpVtbl->next(This) +#define IWMPControls_previous(This) (This)->lpVtbl->previous(This) +#define IWMPControls_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia) +#define IWMPControls_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia) +#define IWMPControls_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker) +#define IWMPControls_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker) +#define IWMPControls_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPControls_QueryInterface(IWMPControls* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPControls_AddRef(IWMPControls* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPControls_Release(IWMPControls* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPControls_GetTypeInfoCount(IWMPControls* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPControls_GetTypeInfo(IWMPControls* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPControls_GetIDsOfNames(IWMPControls* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPControls_Invoke(IWMPControls* 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); +} +/*** IWMPControls methods ***/ +static inline HRESULT IWMPControls_get_isAvailable(IWMPControls* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) { + return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable); +} +static inline HRESULT IWMPControls_play(IWMPControls* This) { + return This->lpVtbl->play(This); +} +static inline HRESULT IWMPControls_stop(IWMPControls* This) { + return This->lpVtbl->stop(This); +} +static inline HRESULT IWMPControls_pause(IWMPControls* This) { + return This->lpVtbl->pause(This); +} +static inline HRESULT IWMPControls_fastForward(IWMPControls* This) { + return This->lpVtbl->fastForward(This); +} +static inline HRESULT IWMPControls_fastReverse(IWMPControls* This) { + return This->lpVtbl->fastReverse(This); +} +static inline HRESULT IWMPControls_get_currentPosition(IWMPControls* This,double *pdCurrentPosition) { + return This->lpVtbl->get_currentPosition(This,pdCurrentPosition); +} +static inline HRESULT IWMPControls_put_currentPosition(IWMPControls* This,double pdCurrentPosition) { + return This->lpVtbl->put_currentPosition(This,pdCurrentPosition); +} +static inline HRESULT IWMPControls_get_currentPositionString(IWMPControls* This,BSTR *pbstrCurrentPosition) { + return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition); +} +static inline HRESULT IWMPControls_next(IWMPControls* This) { + return This->lpVtbl->next(This); +} +static inline HRESULT IWMPControls_previous(IWMPControls* This) { + return This->lpVtbl->previous(This); +} +static inline HRESULT IWMPControls_currentItem(IWMPControls* This,IWMPMedia **ppIWMPMedia) { + return This->lpVtbl->currentItem(This,ppIWMPMedia); +} +static inline HRESULT IWMPControls_put_currentItem(IWMPControls* This,IWMPMedia *ppIWMPMedia) { + return This->lpVtbl->put_currentItem(This,ppIWMPMedia); +} +static inline HRESULT IWMPControls_get_currentMarker(IWMPControls* This,LONG *plMarker) { + return This->lpVtbl->get_currentMarker(This,plMarker); +} +static inline HRESULT IWMPControls_put_currentMarker(IWMPControls* This,LONG plMarker) { + return This->lpVtbl->put_currentMarker(This,plMarker); +} +static inline HRESULT IWMPControls_playItem(IWMPControls* This,IWMPMedia *pIWMPMedia) { + return This->lpVtbl->playItem(This,pIWMPMedia); +} +#endif +#endif + +#endif + + +#endif /* __IWMPControls_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPControls2 interface + */ +#ifndef __IWMPControls2_INTERFACE_DEFINED__ +#define __IWMPControls2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6f030d25-0890-480f-9775-1f7e40ab5b8e") +IWMPControls2 : public IWMPControls +{ + virtual HRESULT STDMETHODCALLTYPE step( + LONG lStep) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPControls2, 0x6f030d25, 0x0890, 0x480f, 0x97,0x75, 0x1f,0x7e,0x40,0xab,0x5b,0x8e) +#endif +#else +typedef struct IWMPControls2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPControls2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPControls2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPControls2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPControls2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPControls2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPControls2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPControls2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPControls methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isAvailable)( + IWMPControls2 *This, + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable); + + HRESULT (STDMETHODCALLTYPE *play)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *stop)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *pause)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *fastForward)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *fastReverse)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *get_currentPosition)( + IWMPControls2 *This, + double *pdCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *put_currentPosition)( + IWMPControls2 *This, + double pdCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *get_currentPositionString)( + IWMPControls2 *This, + BSTR *pbstrCurrentPosition); + + HRESULT (STDMETHODCALLTYPE *next)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *previous)( + IWMPControls2 *This); + + HRESULT (STDMETHODCALLTYPE *currentItem)( + IWMPControls2 *This, + IWMPMedia **ppIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentItem)( + IWMPControls2 *This, + IWMPMedia *ppIWMPMedia); + + HRESULT (STDMETHODCALLTYPE *get_currentMarker)( + IWMPControls2 *This, + LONG *plMarker); + + HRESULT (STDMETHODCALLTYPE *put_currentMarker)( + IWMPControls2 *This, + LONG plMarker); + + HRESULT (STDMETHODCALLTYPE *playItem)( + IWMPControls2 *This, + IWMPMedia *pIWMPMedia); + + /*** IWMPControls2 methods ***/ + HRESULT (STDMETHODCALLTYPE *step)( + IWMPControls2 *This, + LONG lStep); + + END_INTERFACE +} IWMPControls2Vtbl; + +interface IWMPControls2 { + CONST_VTBL IWMPControls2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPControls2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPControls2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPControls2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPControls2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPControls2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPControls2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPControls2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPControls methods ***/ +#define IWMPControls2_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable) +#define IWMPControls2_play(This) (This)->lpVtbl->play(This) +#define IWMPControls2_stop(This) (This)->lpVtbl->stop(This) +#define IWMPControls2_pause(This) (This)->lpVtbl->pause(This) +#define IWMPControls2_fastForward(This) (This)->lpVtbl->fastForward(This) +#define IWMPControls2_fastReverse(This) (This)->lpVtbl->fastReverse(This) +#define IWMPControls2_get_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->get_currentPosition(This,pdCurrentPosition) +#define IWMPControls2_put_currentPosition(This,pdCurrentPosition) (This)->lpVtbl->put_currentPosition(This,pdCurrentPosition) +#define IWMPControls2_get_currentPositionString(This,pbstrCurrentPosition) (This)->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition) +#define IWMPControls2_next(This) (This)->lpVtbl->next(This) +#define IWMPControls2_previous(This) (This)->lpVtbl->previous(This) +#define IWMPControls2_currentItem(This,ppIWMPMedia) (This)->lpVtbl->currentItem(This,ppIWMPMedia) +#define IWMPControls2_put_currentItem(This,ppIWMPMedia) (This)->lpVtbl->put_currentItem(This,ppIWMPMedia) +#define IWMPControls2_get_currentMarker(This,plMarker) (This)->lpVtbl->get_currentMarker(This,plMarker) +#define IWMPControls2_put_currentMarker(This,plMarker) (This)->lpVtbl->put_currentMarker(This,plMarker) +#define IWMPControls2_playItem(This,pIWMPMedia) (This)->lpVtbl->playItem(This,pIWMPMedia) +/*** IWMPControls2 methods ***/ +#define IWMPControls2_step(This,lStep) (This)->lpVtbl->step(This,lStep) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPControls2_QueryInterface(IWMPControls2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPControls2_AddRef(IWMPControls2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPControls2_Release(IWMPControls2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPControls2_GetTypeInfoCount(IWMPControls2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPControls2_GetTypeInfo(IWMPControls2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPControls2_GetIDsOfNames(IWMPControls2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPControls2_Invoke(IWMPControls2* 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); +} +/*** IWMPControls methods ***/ +static inline HRESULT IWMPControls2_get_isAvailable(IWMPControls2* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) { + return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable); +} +static inline HRESULT IWMPControls2_play(IWMPControls2* This) { + return This->lpVtbl->play(This); +} +static inline HRESULT IWMPControls2_stop(IWMPControls2* This) { + return This->lpVtbl->stop(This); +} +static inline HRESULT IWMPControls2_pause(IWMPControls2* This) { + return This->lpVtbl->pause(This); +} +static inline HRESULT IWMPControls2_fastForward(IWMPControls2* This) { + return This->lpVtbl->fastForward(This); +} +static inline HRESULT IWMPControls2_fastReverse(IWMPControls2* This) { + return This->lpVtbl->fastReverse(This); +} +static inline HRESULT IWMPControls2_get_currentPosition(IWMPControls2* This,double *pdCurrentPosition) { + return This->lpVtbl->get_currentPosition(This,pdCurrentPosition); +} +static inline HRESULT IWMPControls2_put_currentPosition(IWMPControls2* This,double pdCurrentPosition) { + return This->lpVtbl->put_currentPosition(This,pdCurrentPosition); +} +static inline HRESULT IWMPControls2_get_currentPositionString(IWMPControls2* This,BSTR *pbstrCurrentPosition) { + return This->lpVtbl->get_currentPositionString(This,pbstrCurrentPosition); +} +static inline HRESULT IWMPControls2_next(IWMPControls2* This) { + return This->lpVtbl->next(This); +} +static inline HRESULT IWMPControls2_previous(IWMPControls2* This) { + return This->lpVtbl->previous(This); +} +static inline HRESULT IWMPControls2_currentItem(IWMPControls2* This,IWMPMedia **ppIWMPMedia) { + return This->lpVtbl->currentItem(This,ppIWMPMedia); +} +static inline HRESULT IWMPControls2_put_currentItem(IWMPControls2* This,IWMPMedia *ppIWMPMedia) { + return This->lpVtbl->put_currentItem(This,ppIWMPMedia); +} +static inline HRESULT IWMPControls2_get_currentMarker(IWMPControls2* This,LONG *plMarker) { + return This->lpVtbl->get_currentMarker(This,plMarker); +} +static inline HRESULT IWMPControls2_put_currentMarker(IWMPControls2* This,LONG plMarker) { + return This->lpVtbl->put_currentMarker(This,plMarker); +} +static inline HRESULT IWMPControls2_playItem(IWMPControls2* This,IWMPMedia *pIWMPMedia) { + return This->lpVtbl->playItem(This,pIWMPMedia); +} +/*** IWMPControls2 methods ***/ +static inline HRESULT IWMPControls2_step(IWMPControls2* This,LONG lStep) { + return This->lpVtbl->step(This,lStep); +} +#endif +#endif + +#endif + + +#endif /* __IWMPControls2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPRemoteMediaServices interface + */ +#ifndef __IWMPRemoteMediaServices_INTERFACE_DEFINED__ +#define __IWMPRemoteMediaServices_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cbb92747-741f-44fe-ab5b-f1a48f3b2a59") +IWMPRemoteMediaServices : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetServiceType( + BSTR *type) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetApplicationName( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptableObject( + BSTR *name, + IDispatch **out) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustomUIMode( + BSTR *file) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPRemoteMediaServices, 0xcbb92747, 0x741f, 0x44fe, 0xab,0x5b, 0xf1,0xa4,0x8f,0x3b,0x2a,0x59) +#endif +#else +typedef struct IWMPRemoteMediaServicesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPRemoteMediaServices *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPRemoteMediaServices *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPRemoteMediaServices *This); + + /*** IWMPRemoteMediaServices methods ***/ + HRESULT (STDMETHODCALLTYPE *GetServiceType)( + IWMPRemoteMediaServices *This, + BSTR *type); + + HRESULT (STDMETHODCALLTYPE *GetApplicationName)( + IWMPRemoteMediaServices *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *GetScriptableObject)( + IWMPRemoteMediaServices *This, + BSTR *name, + IDispatch **out); + + HRESULT (STDMETHODCALLTYPE *GetCustomUIMode)( + IWMPRemoteMediaServices *This, + BSTR *file); + + END_INTERFACE +} IWMPRemoteMediaServicesVtbl; + +interface IWMPRemoteMediaServices { + CONST_VTBL IWMPRemoteMediaServicesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPRemoteMediaServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPRemoteMediaServices_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPRemoteMediaServices_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPRemoteMediaServices methods ***/ +#define IWMPRemoteMediaServices_GetServiceType(This,type) (This)->lpVtbl->GetServiceType(This,type) +#define IWMPRemoteMediaServices_GetApplicationName(This,name) (This)->lpVtbl->GetApplicationName(This,name) +#define IWMPRemoteMediaServices_GetScriptableObject(This,name,out) (This)->lpVtbl->GetScriptableObject(This,name,out) +#define IWMPRemoteMediaServices_GetCustomUIMode(This,file) (This)->lpVtbl->GetCustomUIMode(This,file) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPRemoteMediaServices_QueryInterface(IWMPRemoteMediaServices* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPRemoteMediaServices_AddRef(IWMPRemoteMediaServices* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPRemoteMediaServices_Release(IWMPRemoteMediaServices* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPRemoteMediaServices methods ***/ +static inline HRESULT IWMPRemoteMediaServices_GetServiceType(IWMPRemoteMediaServices* This,BSTR *type) { + return This->lpVtbl->GetServiceType(This,type); +} +static inline HRESULT IWMPRemoteMediaServices_GetApplicationName(IWMPRemoteMediaServices* This,BSTR *name) { + return This->lpVtbl->GetApplicationName(This,name); +} +static inline HRESULT IWMPRemoteMediaServices_GetScriptableObject(IWMPRemoteMediaServices* This,BSTR *name,IDispatch **out) { + return This->lpVtbl->GetScriptableObject(This,name,out); +} +static inline HRESULT IWMPRemoteMediaServices_GetCustomUIMode(IWMPRemoteMediaServices* This,BSTR *file) { + return This->lpVtbl->GetCustomUIMode(This,file); +} +#endif +#endif + +#endif + + +#endif /* __IWMPRemoteMediaServices_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPSettings interface + */ +#ifndef __IWMPSettings_INTERFACE_DEFINED__ +#define __IWMPSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9104d1ab-80c9-4fed-abf0-2e6417a6df14") +IWMPSettings : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_isAvailable( + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_autoStart( + VARIANT_BOOL *pfAutoStart) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_autoStart( + VARIANT_BOOL pfAutoStart) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_baseURL( + BSTR *pbstrBaseURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_baseURL( + BSTR pbstrBaseURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_defaultFrame( + BSTR *pbstrDefaultFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_defaultFrame( + BSTR pbstrDefaultFrame) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_invokeURLs( + VARIANT_BOOL *pfInvokeURLs) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_invokeURLs( + VARIANT_BOOL pfInvokeURLs) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_mute( + VARIANT_BOOL *pfMute) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_mute( + VARIANT_BOOL pfMute) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_playCount( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_playCount( + LONG plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_rate( + double *pdRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_rate( + double pdRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_balance( + LONG *plBalance) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_balance( + LONG plBalance) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_volume( + LONG *plVolume) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_volume( + LONG plVolume) = 0; + + virtual HRESULT STDMETHODCALLTYPE getMode( + BSTR bstrMode, + VARIANT_BOOL *pvarfMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE setMode( + BSTR bstrMode, + VARIANT_BOOL varfMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_enableErrorDialogs( + VARIANT_BOOL *pfEnableErrorDialogs) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_enableErrorDialogs( + VARIANT_BOOL pfEnableErrorDialogs) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPSettings, 0x9104d1ab, 0x80c9, 0x4fed, 0xab,0xf0, 0x2e,0x64,0x17,0xa6,0xdf,0x14) +#endif +#else +typedef struct IWMPSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPSettings *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPSettings *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPSettings *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPSettings *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPSettings *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isAvailable)( + IWMPSettings *This, + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable); + + HRESULT (STDMETHODCALLTYPE *get_autoStart)( + IWMPSettings *This, + VARIANT_BOOL *pfAutoStart); + + HRESULT (STDMETHODCALLTYPE *put_autoStart)( + IWMPSettings *This, + VARIANT_BOOL pfAutoStart); + + HRESULT (STDMETHODCALLTYPE *get_baseURL)( + IWMPSettings *This, + BSTR *pbstrBaseURL); + + HRESULT (STDMETHODCALLTYPE *put_baseURL)( + IWMPSettings *This, + BSTR pbstrBaseURL); + + HRESULT (STDMETHODCALLTYPE *get_defaultFrame)( + IWMPSettings *This, + BSTR *pbstrDefaultFrame); + + HRESULT (STDMETHODCALLTYPE *put_defaultFrame)( + IWMPSettings *This, + BSTR pbstrDefaultFrame); + + HRESULT (STDMETHODCALLTYPE *get_invokeURLs)( + IWMPSettings *This, + VARIANT_BOOL *pfInvokeURLs); + + HRESULT (STDMETHODCALLTYPE *put_invokeURLs)( + IWMPSettings *This, + VARIANT_BOOL pfInvokeURLs); + + HRESULT (STDMETHODCALLTYPE *get_mute)( + IWMPSettings *This, + VARIANT_BOOL *pfMute); + + HRESULT (STDMETHODCALLTYPE *put_mute)( + IWMPSettings *This, + VARIANT_BOOL pfMute); + + HRESULT (STDMETHODCALLTYPE *get_playCount)( + IWMPSettings *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *put_playCount)( + IWMPSettings *This, + LONG plCount); + + HRESULT (STDMETHODCALLTYPE *get_rate)( + IWMPSettings *This, + double *pdRate); + + HRESULT (STDMETHODCALLTYPE *put_rate)( + IWMPSettings *This, + double pdRate); + + HRESULT (STDMETHODCALLTYPE *get_balance)( + IWMPSettings *This, + LONG *plBalance); + + HRESULT (STDMETHODCALLTYPE *put_balance)( + IWMPSettings *This, + LONG plBalance); + + HRESULT (STDMETHODCALLTYPE *get_volume)( + IWMPSettings *This, + LONG *plVolume); + + HRESULT (STDMETHODCALLTYPE *put_volume)( + IWMPSettings *This, + LONG plVolume); + + HRESULT (STDMETHODCALLTYPE *getMode)( + IWMPSettings *This, + BSTR bstrMode, + VARIANT_BOOL *pvarfMode); + + HRESULT (STDMETHODCALLTYPE *setMode)( + IWMPSettings *This, + BSTR bstrMode, + VARIANT_BOOL varfMode); + + HRESULT (STDMETHODCALLTYPE *get_enableErrorDialogs)( + IWMPSettings *This, + VARIANT_BOOL *pfEnableErrorDialogs); + + HRESULT (STDMETHODCALLTYPE *put_enableErrorDialogs)( + IWMPSettings *This, + VARIANT_BOOL pfEnableErrorDialogs); + + END_INTERFACE +} IWMPSettingsVtbl; + +interface IWMPSettings { + CONST_VTBL IWMPSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPSettings methods ***/ +#define IWMPSettings_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable) +#define IWMPSettings_get_autoStart(This,pfAutoStart) (This)->lpVtbl->get_autoStart(This,pfAutoStart) +#define IWMPSettings_put_autoStart(This,pfAutoStart) (This)->lpVtbl->put_autoStart(This,pfAutoStart) +#define IWMPSettings_get_baseURL(This,pbstrBaseURL) (This)->lpVtbl->get_baseURL(This,pbstrBaseURL) +#define IWMPSettings_put_baseURL(This,pbstrBaseURL) (This)->lpVtbl->put_baseURL(This,pbstrBaseURL) +#define IWMPSettings_get_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame) +#define IWMPSettings_put_defaultFrame(This,pbstrDefaultFrame) (This)->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame) +#define IWMPSettings_get_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->get_invokeURLs(This,pfInvokeURLs) +#define IWMPSettings_put_invokeURLs(This,pfInvokeURLs) (This)->lpVtbl->put_invokeURLs(This,pfInvokeURLs) +#define IWMPSettings_get_mute(This,pfMute) (This)->lpVtbl->get_mute(This,pfMute) +#define IWMPSettings_put_mute(This,pfMute) (This)->lpVtbl->put_mute(This,pfMute) +#define IWMPSettings_get_playCount(This,plCount) (This)->lpVtbl->get_playCount(This,plCount) +#define IWMPSettings_put_playCount(This,plCount) (This)->lpVtbl->put_playCount(This,plCount) +#define IWMPSettings_get_rate(This,pdRate) (This)->lpVtbl->get_rate(This,pdRate) +#define IWMPSettings_put_rate(This,pdRate) (This)->lpVtbl->put_rate(This,pdRate) +#define IWMPSettings_get_balance(This,plBalance) (This)->lpVtbl->get_balance(This,plBalance) +#define IWMPSettings_put_balance(This,plBalance) (This)->lpVtbl->put_balance(This,plBalance) +#define IWMPSettings_get_volume(This,plVolume) (This)->lpVtbl->get_volume(This,plVolume) +#define IWMPSettings_put_volume(This,plVolume) (This)->lpVtbl->put_volume(This,plVolume) +#define IWMPSettings_getMode(This,bstrMode,pvarfMode) (This)->lpVtbl->getMode(This,bstrMode,pvarfMode) +#define IWMPSettings_setMode(This,bstrMode,varfMode) (This)->lpVtbl->setMode(This,bstrMode,varfMode) +#define IWMPSettings_get_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs) +#define IWMPSettings_put_enableErrorDialogs(This,pfEnableErrorDialogs) (This)->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPSettings_QueryInterface(IWMPSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPSettings_AddRef(IWMPSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPSettings_Release(IWMPSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPSettings_GetTypeInfoCount(IWMPSettings* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPSettings_GetTypeInfo(IWMPSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPSettings_GetIDsOfNames(IWMPSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPSettings_Invoke(IWMPSettings* 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); +} +/*** IWMPSettings methods ***/ +static inline HRESULT IWMPSettings_get_isAvailable(IWMPSettings* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) { + return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable); +} +static inline HRESULT IWMPSettings_get_autoStart(IWMPSettings* This,VARIANT_BOOL *pfAutoStart) { + return This->lpVtbl->get_autoStart(This,pfAutoStart); +} +static inline HRESULT IWMPSettings_put_autoStart(IWMPSettings* This,VARIANT_BOOL pfAutoStart) { + return This->lpVtbl->put_autoStart(This,pfAutoStart); +} +static inline HRESULT IWMPSettings_get_baseURL(IWMPSettings* This,BSTR *pbstrBaseURL) { + return This->lpVtbl->get_baseURL(This,pbstrBaseURL); +} +static inline HRESULT IWMPSettings_put_baseURL(IWMPSettings* This,BSTR pbstrBaseURL) { + return This->lpVtbl->put_baseURL(This,pbstrBaseURL); +} +static inline HRESULT IWMPSettings_get_defaultFrame(IWMPSettings* This,BSTR *pbstrDefaultFrame) { + return This->lpVtbl->get_defaultFrame(This,pbstrDefaultFrame); +} +static inline HRESULT IWMPSettings_put_defaultFrame(IWMPSettings* This,BSTR pbstrDefaultFrame) { + return This->lpVtbl->put_defaultFrame(This,pbstrDefaultFrame); +} +static inline HRESULT IWMPSettings_get_invokeURLs(IWMPSettings* This,VARIANT_BOOL *pfInvokeURLs) { + return This->lpVtbl->get_invokeURLs(This,pfInvokeURLs); +} +static inline HRESULT IWMPSettings_put_invokeURLs(IWMPSettings* This,VARIANT_BOOL pfInvokeURLs) { + return This->lpVtbl->put_invokeURLs(This,pfInvokeURLs); +} +static inline HRESULT IWMPSettings_get_mute(IWMPSettings* This,VARIANT_BOOL *pfMute) { + return This->lpVtbl->get_mute(This,pfMute); +} +static inline HRESULT IWMPSettings_put_mute(IWMPSettings* This,VARIANT_BOOL pfMute) { + return This->lpVtbl->put_mute(This,pfMute); +} +static inline HRESULT IWMPSettings_get_playCount(IWMPSettings* This,LONG *plCount) { + return This->lpVtbl->get_playCount(This,plCount); +} +static inline HRESULT IWMPSettings_put_playCount(IWMPSettings* This,LONG plCount) { + return This->lpVtbl->put_playCount(This,plCount); +} +static inline HRESULT IWMPSettings_get_rate(IWMPSettings* This,double *pdRate) { + return This->lpVtbl->get_rate(This,pdRate); +} +static inline HRESULT IWMPSettings_put_rate(IWMPSettings* This,double pdRate) { + return This->lpVtbl->put_rate(This,pdRate); +} +static inline HRESULT IWMPSettings_get_balance(IWMPSettings* This,LONG *plBalance) { + return This->lpVtbl->get_balance(This,plBalance); +} +static inline HRESULT IWMPSettings_put_balance(IWMPSettings* This,LONG plBalance) { + return This->lpVtbl->put_balance(This,plBalance); +} +static inline HRESULT IWMPSettings_get_volume(IWMPSettings* This,LONG *plVolume) { + return This->lpVtbl->get_volume(This,plVolume); +} +static inline HRESULT IWMPSettings_put_volume(IWMPSettings* This,LONG plVolume) { + return This->lpVtbl->put_volume(This,plVolume); +} +static inline HRESULT IWMPSettings_getMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL *pvarfMode) { + return This->lpVtbl->getMode(This,bstrMode,pvarfMode); +} +static inline HRESULT IWMPSettings_setMode(IWMPSettings* This,BSTR bstrMode,VARIANT_BOOL varfMode) { + return This->lpVtbl->setMode(This,bstrMode,varfMode); +} +static inline HRESULT IWMPSettings_get_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL *pfEnableErrorDialogs) { + return This->lpVtbl->get_enableErrorDialogs(This,pfEnableErrorDialogs); +} +static inline HRESULT IWMPSettings_put_enableErrorDialogs(IWMPSettings* This,VARIANT_BOOL pfEnableErrorDialogs) { + return This->lpVtbl->put_enableErrorDialogs(This,pfEnableErrorDialogs); +} +#endif +#endif + +#endif + + +#endif /* __IWMPSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPStringCollection interface + */ +#ifndef __IWMPStringCollection_INTERFACE_DEFINED__ +#define __IWMPStringCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4a976298-8c0d-11d3-b389-00c04f68574b") +IWMPStringCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_count( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + LONG lIndex, + BSTR *pbstrString) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPStringCollection, 0x4a976298, 0x8c0d, 0x11d3, 0xb3,0x89, 0x00,0xc0,0x4f,0x68,0x57,0x4b) +#endif +#else +typedef struct IWMPStringCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPStringCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPStringCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPStringCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPStringCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPStringCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPStringCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPStringCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPStringCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_count)( + IWMPStringCollection *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *Item)( + IWMPStringCollection *This, + LONG lIndex, + BSTR *pbstrString); + + END_INTERFACE +} IWMPStringCollectionVtbl; + +interface IWMPStringCollection { + CONST_VTBL IWMPStringCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPStringCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPStringCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPStringCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPStringCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPStringCollection methods ***/ +#define IWMPStringCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount) +#define IWMPStringCollection_Item(This,lIndex,pbstrString) (This)->lpVtbl->Item(This,lIndex,pbstrString) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPStringCollection_QueryInterface(IWMPStringCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPStringCollection_AddRef(IWMPStringCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPStringCollection_Release(IWMPStringCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPStringCollection_GetTypeInfoCount(IWMPStringCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPStringCollection_GetTypeInfo(IWMPStringCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPStringCollection_GetIDsOfNames(IWMPStringCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPStringCollection_Invoke(IWMPStringCollection* 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); +} +/*** IWMPStringCollection methods ***/ +static inline HRESULT IWMPStringCollection_get_count(IWMPStringCollection* This,LONG *plCount) { + return This->lpVtbl->get_count(This,plCount); +} +static inline HRESULT IWMPStringCollection_Item(IWMPStringCollection* This,LONG lIndex,BSTR *pbstrString) { + return This->lpVtbl->Item(This,lIndex,pbstrString); +} +#endif +#endif + +#endif + + +#endif /* __IWMPStringCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPMediaCollection interface + */ +#ifndef __IWMPMediaCollection_INTERFACE_DEFINED__ +#define __IWMPMediaCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8363bc22-b4b4-4b19-989d-1cd765749dd1") +IWMPMediaCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE add( + BSTR bstrURL, + IWMPMedia **ppItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE getAll( + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByName( + BSTR bstrName, + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByGenre( + BSTR bstrGenre, + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByAuthor( + BSTR bstrAuthor, + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByAlbum( + BSTR bstrAlbum, + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByAttribute( + BSTR bstrAttribute, + BSTR bstrValue, + IWMPPlaylist **ppMediaItems) = 0; + + virtual HRESULT STDMETHODCALLTYPE remove( + IWMPMedia *pItem, + VARIANT_BOOL varfDeleteFile) = 0; + + virtual HRESULT STDMETHODCALLTYPE getAttributeStringCollection( + BSTR bstrAttribute, + BSTR bstrMediaType, + IWMPStringCollection **ppStringCollection) = 0; + + virtual HRESULT STDMETHODCALLTYPE getMediaAtom( + BSTR bstrItemName, + LONG *plAtom) = 0; + + virtual HRESULT STDMETHODCALLTYPE setDeleted( + IWMPMedia *pItem, + VARIANT_BOOL varfIsDeleted) = 0; + + virtual HRESULT STDMETHODCALLTYPE isDeleted( + IWMPMedia *pItem, + VARIANT_BOOL *pvarfIsDeleted) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPMediaCollection, 0x8363bc22, 0xb4b4, 0x4b19, 0x98,0x9d, 0x1c,0xd7,0x65,0x74,0x9d,0xd1) +#endif +#else +typedef struct IWMPMediaCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPMediaCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPMediaCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPMediaCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPMediaCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPMediaCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPMediaCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPMediaCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPMediaCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *add)( + IWMPMediaCollection *This, + BSTR bstrURL, + IWMPMedia **ppItem); + + HRESULT (STDMETHODCALLTYPE *getAll)( + IWMPMediaCollection *This, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *getByName)( + IWMPMediaCollection *This, + BSTR bstrName, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *getByGenre)( + IWMPMediaCollection *This, + BSTR bstrGenre, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *getByAuthor)( + IWMPMediaCollection *This, + BSTR bstrAuthor, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *getByAlbum)( + IWMPMediaCollection *This, + BSTR bstrAlbum, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *getByAttribute)( + IWMPMediaCollection *This, + BSTR bstrAttribute, + BSTR bstrValue, + IWMPPlaylist **ppMediaItems); + + HRESULT (STDMETHODCALLTYPE *remove)( + IWMPMediaCollection *This, + IWMPMedia *pItem, + VARIANT_BOOL varfDeleteFile); + + HRESULT (STDMETHODCALLTYPE *getAttributeStringCollection)( + IWMPMediaCollection *This, + BSTR bstrAttribute, + BSTR bstrMediaType, + IWMPStringCollection **ppStringCollection); + + HRESULT (STDMETHODCALLTYPE *getMediaAtom)( + IWMPMediaCollection *This, + BSTR bstrItemName, + LONG *plAtom); + + HRESULT (STDMETHODCALLTYPE *setDeleted)( + IWMPMediaCollection *This, + IWMPMedia *pItem, + VARIANT_BOOL varfIsDeleted); + + HRESULT (STDMETHODCALLTYPE *isDeleted)( + IWMPMediaCollection *This, + IWMPMedia *pItem, + VARIANT_BOOL *pvarfIsDeleted); + + END_INTERFACE +} IWMPMediaCollectionVtbl; + +interface IWMPMediaCollection { + CONST_VTBL IWMPMediaCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPMediaCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPMediaCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPMediaCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPMediaCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPMediaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPMediaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPMediaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPMediaCollection methods ***/ +#define IWMPMediaCollection_add(This,bstrURL,ppItem) (This)->lpVtbl->add(This,bstrURL,ppItem) +#define IWMPMediaCollection_getAll(This,ppMediaItems) (This)->lpVtbl->getAll(This,ppMediaItems) +#define IWMPMediaCollection_getByName(This,bstrName,ppMediaItems) (This)->lpVtbl->getByName(This,bstrName,ppMediaItems) +#define IWMPMediaCollection_getByGenre(This,bstrGenre,ppMediaItems) (This)->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems) +#define IWMPMediaCollection_getByAuthor(This,bstrAuthor,ppMediaItems) (This)->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems) +#define IWMPMediaCollection_getByAlbum(This,bstrAlbum,ppMediaItems) (This)->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems) +#define IWMPMediaCollection_getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems) (This)->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems) +#define IWMPMediaCollection_remove(This,pItem,varfDeleteFile) (This)->lpVtbl->remove(This,pItem,varfDeleteFile) +#define IWMPMediaCollection_getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection) (This)->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection) +#define IWMPMediaCollection_getMediaAtom(This,bstrItemName,plAtom) (This)->lpVtbl->getMediaAtom(This,bstrItemName,plAtom) +#define IWMPMediaCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted) +#define IWMPMediaCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPMediaCollection_QueryInterface(IWMPMediaCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPMediaCollection_AddRef(IWMPMediaCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPMediaCollection_Release(IWMPMediaCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPMediaCollection_GetTypeInfoCount(IWMPMediaCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPMediaCollection_GetTypeInfo(IWMPMediaCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPMediaCollection_GetIDsOfNames(IWMPMediaCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPMediaCollection_Invoke(IWMPMediaCollection* 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); +} +/*** IWMPMediaCollection methods ***/ +static inline HRESULT IWMPMediaCollection_add(IWMPMediaCollection* This,BSTR bstrURL,IWMPMedia **ppItem) { + return This->lpVtbl->add(This,bstrURL,ppItem); +} +static inline HRESULT IWMPMediaCollection_getAll(IWMPMediaCollection* This,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getAll(This,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_getByName(IWMPMediaCollection* This,BSTR bstrName,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getByName(This,bstrName,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_getByGenre(IWMPMediaCollection* This,BSTR bstrGenre,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getByGenre(This,bstrGenre,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_getByAuthor(IWMPMediaCollection* This,BSTR bstrAuthor,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getByAuthor(This,bstrAuthor,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_getByAlbum(IWMPMediaCollection* This,BSTR bstrAlbum,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getByAlbum(This,bstrAlbum,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_getByAttribute(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrValue,IWMPPlaylist **ppMediaItems) { + return This->lpVtbl->getByAttribute(This,bstrAttribute,bstrValue,ppMediaItems); +} +static inline HRESULT IWMPMediaCollection_remove(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfDeleteFile) { + return This->lpVtbl->remove(This,pItem,varfDeleteFile); +} +static inline HRESULT IWMPMediaCollection_getAttributeStringCollection(IWMPMediaCollection* This,BSTR bstrAttribute,BSTR bstrMediaType,IWMPStringCollection **ppStringCollection) { + return This->lpVtbl->getAttributeStringCollection(This,bstrAttribute,bstrMediaType,ppStringCollection); +} +static inline HRESULT IWMPMediaCollection_getMediaAtom(IWMPMediaCollection* This,BSTR bstrItemName,LONG *plAtom) { + return This->lpVtbl->getMediaAtom(This,bstrItemName,plAtom); +} +static inline HRESULT IWMPMediaCollection_setDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL varfIsDeleted) { + return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted); +} +static inline HRESULT IWMPMediaCollection_isDeleted(IWMPMediaCollection* This,IWMPMedia *pItem,VARIANT_BOOL *pvarfIsDeleted) { + return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted); +} +#endif +#endif + +#endif + + +#endif /* __IWMPMediaCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPPlaylistArray interface + */ +#ifndef __IWMPPlaylistArray_INTERFACE_DEFINED__ +#define __IWMPPlaylistArray_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("679409c0-99f7-11d3-9fb7-00105aa620bb") +IWMPPlaylistArray : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_count( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + LONG lIndex, + IWMPPlaylist **ppItem) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlaylistArray, 0x679409c0, 0x99f7, 0x11d3, 0x9f,0xb7, 0x00,0x10,0x5a,0xa6,0x20,0xbb) +#endif +#else +typedef struct IWMPPlaylistArrayVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlaylistArray *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlaylistArray *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlaylistArray *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlaylistArray *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlaylistArray *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlaylistArray *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlaylistArray *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPPlaylistArray methods ***/ + HRESULT (STDMETHODCALLTYPE *get_count)( + IWMPPlaylistArray *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *Item)( + IWMPPlaylistArray *This, + LONG lIndex, + IWMPPlaylist **ppItem); + + END_INTERFACE +} IWMPPlaylistArrayVtbl; + +interface IWMPPlaylistArray { + CONST_VTBL IWMPPlaylistArrayVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlaylistArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlaylistArray_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlaylistArray_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlaylistArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlaylistArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlaylistArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlaylistArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPPlaylistArray methods ***/ +#define IWMPPlaylistArray_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount) +#define IWMPPlaylistArray_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlaylistArray_QueryInterface(IWMPPlaylistArray* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlaylistArray_AddRef(IWMPPlaylistArray* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlaylistArray_Release(IWMPPlaylistArray* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlaylistArray_GetTypeInfoCount(IWMPPlaylistArray* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlaylistArray_GetTypeInfo(IWMPPlaylistArray* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlaylistArray_GetIDsOfNames(IWMPPlaylistArray* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlaylistArray_Invoke(IWMPPlaylistArray* 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); +} +/*** IWMPPlaylistArray methods ***/ +static inline HRESULT IWMPPlaylistArray_get_count(IWMPPlaylistArray* This,LONG *plCount) { + return This->lpVtbl->get_count(This,plCount); +} +static inline HRESULT IWMPPlaylistArray_Item(IWMPPlaylistArray* This,LONG lIndex,IWMPPlaylist **ppItem) { + return This->lpVtbl->Item(This,lIndex,ppItem); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlaylistArray_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPPlaylistCollection interface + */ +#ifndef __IWMPPlaylistCollection_INTERFACE_DEFINED__ +#define __IWMPPlaylistCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("10a13217-23a7-439b-b1c0-d847c79b7774") +IWMPPlaylistCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE newPlaylist( + BSTR bstrName, + IWMPPlaylist **ppItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE getAll( + IWMPPlaylistArray **ppPlaylistArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByName( + BSTR bstrName, + IWMPPlaylistArray **ppPlaylistArray) = 0; + + virtual HRESULT STDMETHODCALLTYPE remove( + IWMPPlaylist *pItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE setDeleted( + IWMPPlaylist *pItem, + VARIANT_BOOL varfIsDeleted) = 0; + + virtual HRESULT STDMETHODCALLTYPE isDeleted( + IWMPPlaylist *pItem, + VARIANT_BOOL *pvarfIsDeleted) = 0; + + virtual HRESULT STDMETHODCALLTYPE importPlaylist( + IWMPPlaylist *pItem, + IWMPPlaylist **ppImportedItem) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlaylistCollection, 0x10a13217, 0x23a7, 0x439b, 0xb1,0xc0, 0xd8,0x47,0xc7,0x9b,0x77,0x74) +#endif +#else +typedef struct IWMPPlaylistCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlaylistCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlaylistCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlaylistCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlaylistCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlaylistCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlaylistCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlaylistCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPPlaylistCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *newPlaylist)( + IWMPPlaylistCollection *This, + BSTR bstrName, + IWMPPlaylist **ppItem); + + HRESULT (STDMETHODCALLTYPE *getAll)( + IWMPPlaylistCollection *This, + IWMPPlaylistArray **ppPlaylistArray); + + HRESULT (STDMETHODCALLTYPE *getByName)( + IWMPPlaylistCollection *This, + BSTR bstrName, + IWMPPlaylistArray **ppPlaylistArray); + + HRESULT (STDMETHODCALLTYPE *remove)( + IWMPPlaylistCollection *This, + IWMPPlaylist *pItem); + + HRESULT (STDMETHODCALLTYPE *setDeleted)( + IWMPPlaylistCollection *This, + IWMPPlaylist *pItem, + VARIANT_BOOL varfIsDeleted); + + HRESULT (STDMETHODCALLTYPE *isDeleted)( + IWMPPlaylistCollection *This, + IWMPPlaylist *pItem, + VARIANT_BOOL *pvarfIsDeleted); + + HRESULT (STDMETHODCALLTYPE *importPlaylist)( + IWMPPlaylistCollection *This, + IWMPPlaylist *pItem, + IWMPPlaylist **ppImportedItem); + + END_INTERFACE +} IWMPPlaylistCollectionVtbl; + +interface IWMPPlaylistCollection { + CONST_VTBL IWMPPlaylistCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlaylistCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlaylistCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlaylistCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlaylistCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPPlaylistCollection methods ***/ +#define IWMPPlaylistCollection_newPlaylist(This,bstrName,ppItem) (This)->lpVtbl->newPlaylist(This,bstrName,ppItem) +#define IWMPPlaylistCollection_getAll(This,ppPlaylistArray) (This)->lpVtbl->getAll(This,ppPlaylistArray) +#define IWMPPlaylistCollection_getByName(This,bstrName,ppPlaylistArray) (This)->lpVtbl->getByName(This,bstrName,ppPlaylistArray) +#define IWMPPlaylistCollection_remove(This,pItem) (This)->lpVtbl->remove(This,pItem) +#define IWMPPlaylistCollection_setDeleted(This,pItem,varfIsDeleted) (This)->lpVtbl->setDeleted(This,pItem,varfIsDeleted) +#define IWMPPlaylistCollection_isDeleted(This,pItem,pvarfIsDeleted) (This)->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted) +#define IWMPPlaylistCollection_importPlaylist(This,pItem,ppImportedItem) (This)->lpVtbl->importPlaylist(This,pItem,ppImportedItem) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlaylistCollection_QueryInterface(IWMPPlaylistCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlaylistCollection_AddRef(IWMPPlaylistCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlaylistCollection_Release(IWMPPlaylistCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlaylistCollection_GetTypeInfoCount(IWMPPlaylistCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlaylistCollection_GetTypeInfo(IWMPPlaylistCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlaylistCollection_GetIDsOfNames(IWMPPlaylistCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlaylistCollection_Invoke(IWMPPlaylistCollection* 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); +} +/*** IWMPPlaylistCollection methods ***/ +static inline HRESULT IWMPPlaylistCollection_newPlaylist(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylist **ppItem) { + return This->lpVtbl->newPlaylist(This,bstrName,ppItem); +} +static inline HRESULT IWMPPlaylistCollection_getAll(IWMPPlaylistCollection* This,IWMPPlaylistArray **ppPlaylistArray) { + return This->lpVtbl->getAll(This,ppPlaylistArray); +} +static inline HRESULT IWMPPlaylistCollection_getByName(IWMPPlaylistCollection* This,BSTR bstrName,IWMPPlaylistArray **ppPlaylistArray) { + return This->lpVtbl->getByName(This,bstrName,ppPlaylistArray); +} +static inline HRESULT IWMPPlaylistCollection_remove(IWMPPlaylistCollection* This,IWMPPlaylist *pItem) { + return This->lpVtbl->remove(This,pItem); +} +static inline HRESULT IWMPPlaylistCollection_setDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL varfIsDeleted) { + return This->lpVtbl->setDeleted(This,pItem,varfIsDeleted); +} +static inline HRESULT IWMPPlaylistCollection_isDeleted(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,VARIANT_BOOL *pvarfIsDeleted) { + return This->lpVtbl->isDeleted(This,pItem,pvarfIsDeleted); +} +static inline HRESULT IWMPPlaylistCollection_importPlaylist(IWMPPlaylistCollection* This,IWMPPlaylist *pItem,IWMPPlaylist **ppImportedItem) { + return This->lpVtbl->importPlaylist(This,pItem,ppImportedItem); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlaylistCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPNetwork interface + */ +#ifndef __IWMPNetwork_INTERFACE_DEFINED__ +#define __IWMPNetwork_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ec21b779-edef-462d-bba4-ad9dde2b29a7") +IWMPNetwork : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_bandWidth( + LONG *plBandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_recoveredPackets( + LONG *plRecoveredPackets) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_sourceProtocol( + BSTR *pbstrSourceProtocol) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_receivedPackets( + LONG *plReceivedPackets) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_lostPackets( + LONG *plLostPackets) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_receptionQuality( + LONG *plReceptionQuality) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_bufferingCount( + LONG *plBufferingCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_bufferingProgress( + LONG *plBufferingProgress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_bufferingTime( + LONG *plBufferingTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_bufferingTime( + LONG plBufferingTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_frameRate( + LONG *plFrameRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_maxBitRate( + LONG *plBitRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_bitRate( + LONG *plBitRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE getProxySettings( + BSTR bstrProtocol, + LONG *plProxySetting) = 0; + + virtual HRESULT STDMETHODCALLTYPE setProxySettings( + BSTR bstrProtocol, + LONG lProxySetting) = 0; + + virtual HRESULT STDMETHODCALLTYPE getProxyName( + BSTR bstrProtocol, + BSTR *pbstrProxyName) = 0; + + virtual HRESULT STDMETHODCALLTYPE setProxyName( + BSTR bstrProtocol, + BSTR bstrProxyName) = 0; + + virtual HRESULT STDMETHODCALLTYPE getProxyPort( + BSTR bstrProtocol, + LONG *lProxyPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE setProxyPort( + BSTR bstrProtocol, + LONG lProxyPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE getProxyExceptionList( + BSTR bstrProtocol, + BSTR *pbstrExceptionList) = 0; + + virtual HRESULT STDMETHODCALLTYPE setProxyExceptionList( + BSTR bstrProtocol, + BSTR pbstrExceptionList) = 0; + + virtual HRESULT STDMETHODCALLTYPE getProxyBypassForLocal( + BSTR bstrProtocol, + VARIANT_BOOL *pfBypassForLocal) = 0; + + virtual HRESULT STDMETHODCALLTYPE setProxyBypassForLocal( + BSTR bstrProtocol, + VARIANT_BOOL fBypassForLocal) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_maxBandwidth( + LONG *lMaxBandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_maxBandwidth( + LONG lMaxBandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_downloadProgress( + LONG *plDownloadProgress) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_encodedFrameRate( + LONG *plFrameRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_framesSkipped( + LONG *plFrames) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPNetwork, 0xec21b779, 0xedef, 0x462d, 0xbb,0xa4, 0xad,0x9d,0xde,0x2b,0x29,0xa7) +#endif +#else +typedef struct IWMPNetworkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPNetwork *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPNetwork *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPNetwork *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPNetwork *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPNetwork *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPNetwork *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPNetwork *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPNetwork methods ***/ + HRESULT (STDMETHODCALLTYPE *get_bandWidth)( + IWMPNetwork *This, + LONG *plBandwidth); + + HRESULT (STDMETHODCALLTYPE *get_recoveredPackets)( + IWMPNetwork *This, + LONG *plRecoveredPackets); + + HRESULT (STDMETHODCALLTYPE *get_sourceProtocol)( + IWMPNetwork *This, + BSTR *pbstrSourceProtocol); + + HRESULT (STDMETHODCALLTYPE *get_receivedPackets)( + IWMPNetwork *This, + LONG *plReceivedPackets); + + HRESULT (STDMETHODCALLTYPE *get_lostPackets)( + IWMPNetwork *This, + LONG *plLostPackets); + + HRESULT (STDMETHODCALLTYPE *get_receptionQuality)( + IWMPNetwork *This, + LONG *plReceptionQuality); + + HRESULT (STDMETHODCALLTYPE *get_bufferingCount)( + IWMPNetwork *This, + LONG *plBufferingCount); + + HRESULT (STDMETHODCALLTYPE *get_bufferingProgress)( + IWMPNetwork *This, + LONG *plBufferingProgress); + + HRESULT (STDMETHODCALLTYPE *get_bufferingTime)( + IWMPNetwork *This, + LONG *plBufferingTime); + + HRESULT (STDMETHODCALLTYPE *put_bufferingTime)( + IWMPNetwork *This, + LONG plBufferingTime); + + HRESULT (STDMETHODCALLTYPE *get_frameRate)( + IWMPNetwork *This, + LONG *plFrameRate); + + HRESULT (STDMETHODCALLTYPE *get_maxBitRate)( + IWMPNetwork *This, + LONG *plBitRate); + + HRESULT (STDMETHODCALLTYPE *get_bitRate)( + IWMPNetwork *This, + LONG *plBitRate); + + HRESULT (STDMETHODCALLTYPE *getProxySettings)( + IWMPNetwork *This, + BSTR bstrProtocol, + LONG *plProxySetting); + + HRESULT (STDMETHODCALLTYPE *setProxySettings)( + IWMPNetwork *This, + BSTR bstrProtocol, + LONG lProxySetting); + + HRESULT (STDMETHODCALLTYPE *getProxyName)( + IWMPNetwork *This, + BSTR bstrProtocol, + BSTR *pbstrProxyName); + + HRESULT (STDMETHODCALLTYPE *setProxyName)( + IWMPNetwork *This, + BSTR bstrProtocol, + BSTR bstrProxyName); + + HRESULT (STDMETHODCALLTYPE *getProxyPort)( + IWMPNetwork *This, + BSTR bstrProtocol, + LONG *lProxyPort); + + HRESULT (STDMETHODCALLTYPE *setProxyPort)( + IWMPNetwork *This, + BSTR bstrProtocol, + LONG lProxyPort); + + HRESULT (STDMETHODCALLTYPE *getProxyExceptionList)( + IWMPNetwork *This, + BSTR bstrProtocol, + BSTR *pbstrExceptionList); + + HRESULT (STDMETHODCALLTYPE *setProxyExceptionList)( + IWMPNetwork *This, + BSTR bstrProtocol, + BSTR pbstrExceptionList); + + HRESULT (STDMETHODCALLTYPE *getProxyBypassForLocal)( + IWMPNetwork *This, + BSTR bstrProtocol, + VARIANT_BOOL *pfBypassForLocal); + + HRESULT (STDMETHODCALLTYPE *setProxyBypassForLocal)( + IWMPNetwork *This, + BSTR bstrProtocol, + VARIANT_BOOL fBypassForLocal); + + HRESULT (STDMETHODCALLTYPE *get_maxBandwidth)( + IWMPNetwork *This, + LONG *lMaxBandwidth); + + HRESULT (STDMETHODCALLTYPE *put_maxBandwidth)( + IWMPNetwork *This, + LONG lMaxBandwidth); + + HRESULT (STDMETHODCALLTYPE *get_downloadProgress)( + IWMPNetwork *This, + LONG *plDownloadProgress); + + HRESULT (STDMETHODCALLTYPE *get_encodedFrameRate)( + IWMPNetwork *This, + LONG *plFrameRate); + + HRESULT (STDMETHODCALLTYPE *get_framesSkipped)( + IWMPNetwork *This, + LONG *plFrames); + + END_INTERFACE +} IWMPNetworkVtbl; + +interface IWMPNetwork { + CONST_VTBL IWMPNetworkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPNetwork_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPNetwork_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPNetwork_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPNetwork_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPNetwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPNetwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPNetwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPNetwork methods ***/ +#define IWMPNetwork_get_bandWidth(This,plBandwidth) (This)->lpVtbl->get_bandWidth(This,plBandwidth) +#define IWMPNetwork_get_recoveredPackets(This,plRecoveredPackets) (This)->lpVtbl->get_recoveredPackets(This,plRecoveredPackets) +#define IWMPNetwork_get_sourceProtocol(This,pbstrSourceProtocol) (This)->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol) +#define IWMPNetwork_get_receivedPackets(This,plReceivedPackets) (This)->lpVtbl->get_receivedPackets(This,plReceivedPackets) +#define IWMPNetwork_get_lostPackets(This,plLostPackets) (This)->lpVtbl->get_lostPackets(This,plLostPackets) +#define IWMPNetwork_get_receptionQuality(This,plReceptionQuality) (This)->lpVtbl->get_receptionQuality(This,plReceptionQuality) +#define IWMPNetwork_get_bufferingCount(This,plBufferingCount) (This)->lpVtbl->get_bufferingCount(This,plBufferingCount) +#define IWMPNetwork_get_bufferingProgress(This,plBufferingProgress) (This)->lpVtbl->get_bufferingProgress(This,plBufferingProgress) +#define IWMPNetwork_get_bufferingTime(This,plBufferingTime) (This)->lpVtbl->get_bufferingTime(This,plBufferingTime) +#define IWMPNetwork_put_bufferingTime(This,plBufferingTime) (This)->lpVtbl->put_bufferingTime(This,plBufferingTime) +#define IWMPNetwork_get_frameRate(This,plFrameRate) (This)->lpVtbl->get_frameRate(This,plFrameRate) +#define IWMPNetwork_get_maxBitRate(This,plBitRate) (This)->lpVtbl->get_maxBitRate(This,plBitRate) +#define IWMPNetwork_get_bitRate(This,plBitRate) (This)->lpVtbl->get_bitRate(This,plBitRate) +#define IWMPNetwork_getProxySettings(This,bstrProtocol,plProxySetting) (This)->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting) +#define IWMPNetwork_setProxySettings(This,bstrProtocol,lProxySetting) (This)->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting) +#define IWMPNetwork_getProxyName(This,bstrProtocol,pbstrProxyName) (This)->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName) +#define IWMPNetwork_setProxyName(This,bstrProtocol,bstrProxyName) (This)->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName) +#define IWMPNetwork_getProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort) +#define IWMPNetwork_setProxyPort(This,bstrProtocol,lProxyPort) (This)->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort) +#define IWMPNetwork_getProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList) +#define IWMPNetwork_setProxyExceptionList(This,bstrProtocol,pbstrExceptionList) (This)->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList) +#define IWMPNetwork_getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal) (This)->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal) +#define IWMPNetwork_setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal) (This)->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal) +#define IWMPNetwork_get_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->get_maxBandwidth(This,lMaxBandwidth) +#define IWMPNetwork_put_maxBandwidth(This,lMaxBandwidth) (This)->lpVtbl->put_maxBandwidth(This,lMaxBandwidth) +#define IWMPNetwork_get_downloadProgress(This,plDownloadProgress) (This)->lpVtbl->get_downloadProgress(This,plDownloadProgress) +#define IWMPNetwork_get_encodedFrameRate(This,plFrameRate) (This)->lpVtbl->get_encodedFrameRate(This,plFrameRate) +#define IWMPNetwork_get_framesSkipped(This,plFrames) (This)->lpVtbl->get_framesSkipped(This,plFrames) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPNetwork_QueryInterface(IWMPNetwork* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPNetwork_AddRef(IWMPNetwork* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPNetwork_Release(IWMPNetwork* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPNetwork_GetTypeInfoCount(IWMPNetwork* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPNetwork_GetTypeInfo(IWMPNetwork* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPNetwork_GetIDsOfNames(IWMPNetwork* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPNetwork_Invoke(IWMPNetwork* 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); +} +/*** IWMPNetwork methods ***/ +static inline HRESULT IWMPNetwork_get_bandWidth(IWMPNetwork* This,LONG *plBandwidth) { + return This->lpVtbl->get_bandWidth(This,plBandwidth); +} +static inline HRESULT IWMPNetwork_get_recoveredPackets(IWMPNetwork* This,LONG *plRecoveredPackets) { + return This->lpVtbl->get_recoveredPackets(This,plRecoveredPackets); +} +static inline HRESULT IWMPNetwork_get_sourceProtocol(IWMPNetwork* This,BSTR *pbstrSourceProtocol) { + return This->lpVtbl->get_sourceProtocol(This,pbstrSourceProtocol); +} +static inline HRESULT IWMPNetwork_get_receivedPackets(IWMPNetwork* This,LONG *plReceivedPackets) { + return This->lpVtbl->get_receivedPackets(This,plReceivedPackets); +} +static inline HRESULT IWMPNetwork_get_lostPackets(IWMPNetwork* This,LONG *plLostPackets) { + return This->lpVtbl->get_lostPackets(This,plLostPackets); +} +static inline HRESULT IWMPNetwork_get_receptionQuality(IWMPNetwork* This,LONG *plReceptionQuality) { + return This->lpVtbl->get_receptionQuality(This,plReceptionQuality); +} +static inline HRESULT IWMPNetwork_get_bufferingCount(IWMPNetwork* This,LONG *plBufferingCount) { + return This->lpVtbl->get_bufferingCount(This,plBufferingCount); +} +static inline HRESULT IWMPNetwork_get_bufferingProgress(IWMPNetwork* This,LONG *plBufferingProgress) { + return This->lpVtbl->get_bufferingProgress(This,plBufferingProgress); +} +static inline HRESULT IWMPNetwork_get_bufferingTime(IWMPNetwork* This,LONG *plBufferingTime) { + return This->lpVtbl->get_bufferingTime(This,plBufferingTime); +} +static inline HRESULT IWMPNetwork_put_bufferingTime(IWMPNetwork* This,LONG plBufferingTime) { + return This->lpVtbl->put_bufferingTime(This,plBufferingTime); +} +static inline HRESULT IWMPNetwork_get_frameRate(IWMPNetwork* This,LONG *plFrameRate) { + return This->lpVtbl->get_frameRate(This,plFrameRate); +} +static inline HRESULT IWMPNetwork_get_maxBitRate(IWMPNetwork* This,LONG *plBitRate) { + return This->lpVtbl->get_maxBitRate(This,plBitRate); +} +static inline HRESULT IWMPNetwork_get_bitRate(IWMPNetwork* This,LONG *plBitRate) { + return This->lpVtbl->get_bitRate(This,plBitRate); +} +static inline HRESULT IWMPNetwork_getProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG *plProxySetting) { + return This->lpVtbl->getProxySettings(This,bstrProtocol,plProxySetting); +} +static inline HRESULT IWMPNetwork_setProxySettings(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxySetting) { + return This->lpVtbl->setProxySettings(This,bstrProtocol,lProxySetting); +} +static inline HRESULT IWMPNetwork_getProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrProxyName) { + return This->lpVtbl->getProxyName(This,bstrProtocol,pbstrProxyName); +} +static inline HRESULT IWMPNetwork_setProxyName(IWMPNetwork* This,BSTR bstrProtocol,BSTR bstrProxyName) { + return This->lpVtbl->setProxyName(This,bstrProtocol,bstrProxyName); +} +static inline HRESULT IWMPNetwork_getProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG *lProxyPort) { + return This->lpVtbl->getProxyPort(This,bstrProtocol,lProxyPort); +} +static inline HRESULT IWMPNetwork_setProxyPort(IWMPNetwork* This,BSTR bstrProtocol,LONG lProxyPort) { + return This->lpVtbl->setProxyPort(This,bstrProtocol,lProxyPort); +} +static inline HRESULT IWMPNetwork_getProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR *pbstrExceptionList) { + return This->lpVtbl->getProxyExceptionList(This,bstrProtocol,pbstrExceptionList); +} +static inline HRESULT IWMPNetwork_setProxyExceptionList(IWMPNetwork* This,BSTR bstrProtocol,BSTR pbstrExceptionList) { + return This->lpVtbl->setProxyExceptionList(This,bstrProtocol,pbstrExceptionList); +} +static inline HRESULT IWMPNetwork_getProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL *pfBypassForLocal) { + return This->lpVtbl->getProxyBypassForLocal(This,bstrProtocol,pfBypassForLocal); +} +static inline HRESULT IWMPNetwork_setProxyBypassForLocal(IWMPNetwork* This,BSTR bstrProtocol,VARIANT_BOOL fBypassForLocal) { + return This->lpVtbl->setProxyBypassForLocal(This,bstrProtocol,fBypassForLocal); +} +static inline HRESULT IWMPNetwork_get_maxBandwidth(IWMPNetwork* This,LONG *lMaxBandwidth) { + return This->lpVtbl->get_maxBandwidth(This,lMaxBandwidth); +} +static inline HRESULT IWMPNetwork_put_maxBandwidth(IWMPNetwork* This,LONG lMaxBandwidth) { + return This->lpVtbl->put_maxBandwidth(This,lMaxBandwidth); +} +static inline HRESULT IWMPNetwork_get_downloadProgress(IWMPNetwork* This,LONG *plDownloadProgress) { + return This->lpVtbl->get_downloadProgress(This,plDownloadProgress); +} +static inline HRESULT IWMPNetwork_get_encodedFrameRate(IWMPNetwork* This,LONG *plFrameRate) { + return This->lpVtbl->get_encodedFrameRate(This,plFrameRate); +} +static inline HRESULT IWMPNetwork_get_framesSkipped(IWMPNetwork* This,LONG *plFrames) { + return This->lpVtbl->get_framesSkipped(This,plFrames); +} +#endif +#endif + +#endif + + +#endif /* __IWMPNetwork_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCdrom interface + */ +#ifndef __IWMPCdrom_INTERFACE_DEFINED__ +#define __IWMPCdrom_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cfab6e98-8730-11d3-b388-00c04f68574b") +IWMPCdrom : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_driveSpecifier( + BSTR *pbstrDrive) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Playlist( + IWMPPlaylist **ppPlaylist) = 0; + + virtual HRESULT STDMETHODCALLTYPE eject( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCdrom, 0xcfab6e98, 0x8730, 0x11d3, 0xb3,0x88, 0x00,0xc0,0x4f,0x68,0x57,0x4b) +#endif +#else +typedef struct IWMPCdromVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCdrom *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCdrom *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCdrom *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPCdrom *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPCdrom *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPCdrom *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPCdrom *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCdrom methods ***/ + HRESULT (STDMETHODCALLTYPE *get_driveSpecifier)( + IWMPCdrom *This, + BSTR *pbstrDrive); + + HRESULT (STDMETHODCALLTYPE *get_Playlist)( + IWMPCdrom *This, + IWMPPlaylist **ppPlaylist); + + HRESULT (STDMETHODCALLTYPE *eject)( + IWMPCdrom *This); + + END_INTERFACE +} IWMPCdromVtbl; + +interface IWMPCdrom { + CONST_VTBL IWMPCdromVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCdrom_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCdrom_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCdrom_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPCdrom_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPCdrom_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPCdrom_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPCdrom_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCdrom methods ***/ +#define IWMPCdrom_get_driveSpecifier(This,pbstrDrive) (This)->lpVtbl->get_driveSpecifier(This,pbstrDrive) +#define IWMPCdrom_get_Playlist(This,ppPlaylist) (This)->lpVtbl->get_Playlist(This,ppPlaylist) +#define IWMPCdrom_eject(This) (This)->lpVtbl->eject(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCdrom_QueryInterface(IWMPCdrom* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCdrom_AddRef(IWMPCdrom* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCdrom_Release(IWMPCdrom* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPCdrom_GetTypeInfoCount(IWMPCdrom* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPCdrom_GetTypeInfo(IWMPCdrom* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPCdrom_GetIDsOfNames(IWMPCdrom* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPCdrom_Invoke(IWMPCdrom* 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); +} +/*** IWMPCdrom methods ***/ +static inline HRESULT IWMPCdrom_get_driveSpecifier(IWMPCdrom* This,BSTR *pbstrDrive) { + return This->lpVtbl->get_driveSpecifier(This,pbstrDrive); +} +static inline HRESULT IWMPCdrom_get_Playlist(IWMPCdrom* This,IWMPPlaylist **ppPlaylist) { + return This->lpVtbl->get_Playlist(This,ppPlaylist); +} +static inline HRESULT IWMPCdrom_eject(IWMPCdrom* This) { + return This->lpVtbl->eject(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCdrom_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCdromCollection interface + */ +#ifndef __IWMPCdromCollection_INTERFACE_DEFINED__ +#define __IWMPCdromCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ee4c8fe2-34b2-11d3-a3bf-006097c9b344") +IWMPCdromCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_count( + LONG *plCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Item( + LONG lIndex, + IWMPCdrom **ppItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE getByDriveSpecifier( + BSTR bstrDriveSpecifier, + IWMPCdrom **ppCdrom) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCdromCollection, 0xee4c8fe2, 0x34b2, 0x11d3, 0xa3,0xbf, 0x00,0x60,0x97,0xc9,0xb3,0x44) +#endif +#else +typedef struct IWMPCdromCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCdromCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCdromCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCdromCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPCdromCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPCdromCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPCdromCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPCdromCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCdromCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_count)( + IWMPCdromCollection *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *Item)( + IWMPCdromCollection *This, + LONG lIndex, + IWMPCdrom **ppItem); + + HRESULT (STDMETHODCALLTYPE *getByDriveSpecifier)( + IWMPCdromCollection *This, + BSTR bstrDriveSpecifier, + IWMPCdrom **ppCdrom); + + END_INTERFACE +} IWMPCdromCollectionVtbl; + +interface IWMPCdromCollection { + CONST_VTBL IWMPCdromCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCdromCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCdromCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCdromCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPCdromCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPCdromCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPCdromCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPCdromCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCdromCollection methods ***/ +#define IWMPCdromCollection_get_count(This,plCount) (This)->lpVtbl->get_count(This,plCount) +#define IWMPCdromCollection_Item(This,lIndex,ppItem) (This)->lpVtbl->Item(This,lIndex,ppItem) +#define IWMPCdromCollection_getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom) (This)->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCdromCollection_QueryInterface(IWMPCdromCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCdromCollection_AddRef(IWMPCdromCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCdromCollection_Release(IWMPCdromCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPCdromCollection_GetTypeInfoCount(IWMPCdromCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPCdromCollection_GetTypeInfo(IWMPCdromCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPCdromCollection_GetIDsOfNames(IWMPCdromCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPCdromCollection_Invoke(IWMPCdromCollection* 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); +} +/*** IWMPCdromCollection methods ***/ +static inline HRESULT IWMPCdromCollection_get_count(IWMPCdromCollection* This,LONG *plCount) { + return This->lpVtbl->get_count(This,plCount); +} +static inline HRESULT IWMPCdromCollection_Item(IWMPCdromCollection* This,LONG lIndex,IWMPCdrom **ppItem) { + return This->lpVtbl->Item(This,lIndex,ppItem); +} +static inline HRESULT IWMPCdromCollection_getByDriveSpecifier(IWMPCdromCollection* This,BSTR bstrDriveSpecifier,IWMPCdrom **ppCdrom) { + return This->lpVtbl->getByDriveSpecifier(This,bstrDriveSpecifier,ppCdrom); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCdromCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPDVD interface + */ +#ifndef __IWMPDVD_INTERFACE_DEFINED__ +#define __IWMPDVD_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8da61686-4668-4a5c-ae5d-803193293dbe") +IWMPDVD : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_isAvailable( + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_domain( + BSTR *strDomain) = 0; + + virtual HRESULT STDMETHODCALLTYPE topMenu( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE titleMenu( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE back( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE resume( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPDVD, 0x8da61686, 0x4668, 0x4a5c, 0xae,0x5d, 0x80,0x31,0x93,0x29,0x3d,0xbe) +#endif +#else +typedef struct IWMPDVDVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPDVD *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPDVD *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPDVD *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPDVD *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPDVD *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPDVD *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPDVD *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPDVD methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isAvailable)( + IWMPDVD *This, + BSTR bstrItem, + VARIANT_BOOL *pIsAvailable); + + HRESULT (STDMETHODCALLTYPE *get_domain)( + IWMPDVD *This, + BSTR *strDomain); + + HRESULT (STDMETHODCALLTYPE *topMenu)( + IWMPDVD *This); + + HRESULT (STDMETHODCALLTYPE *titleMenu)( + IWMPDVD *This); + + HRESULT (STDMETHODCALLTYPE *back)( + IWMPDVD *This); + + HRESULT (STDMETHODCALLTYPE *resume)( + IWMPDVD *This); + + END_INTERFACE +} IWMPDVDVtbl; + +interface IWMPDVD { + CONST_VTBL IWMPDVDVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPDVD_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPDVD_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPDVD_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPDVD_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPDVD_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPDVD_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPDVD_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPDVD methods ***/ +#define IWMPDVD_get_isAvailable(This,bstrItem,pIsAvailable) (This)->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable) +#define IWMPDVD_get_domain(This,strDomain) (This)->lpVtbl->get_domain(This,strDomain) +#define IWMPDVD_topMenu(This) (This)->lpVtbl->topMenu(This) +#define IWMPDVD_titleMenu(This) (This)->lpVtbl->titleMenu(This) +#define IWMPDVD_back(This) (This)->lpVtbl->back(This) +#define IWMPDVD_resume(This) (This)->lpVtbl->resume(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPDVD_QueryInterface(IWMPDVD* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPDVD_AddRef(IWMPDVD* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPDVD_Release(IWMPDVD* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPDVD_GetTypeInfoCount(IWMPDVD* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPDVD_GetTypeInfo(IWMPDVD* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPDVD_GetIDsOfNames(IWMPDVD* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPDVD_Invoke(IWMPDVD* 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); +} +/*** IWMPDVD methods ***/ +static inline HRESULT IWMPDVD_get_isAvailable(IWMPDVD* This,BSTR bstrItem,VARIANT_BOOL *pIsAvailable) { + return This->lpVtbl->get_isAvailable(This,bstrItem,pIsAvailable); +} +static inline HRESULT IWMPDVD_get_domain(IWMPDVD* This,BSTR *strDomain) { + return This->lpVtbl->get_domain(This,strDomain); +} +static inline HRESULT IWMPDVD_topMenu(IWMPDVD* This) { + return This->lpVtbl->topMenu(This); +} +static inline HRESULT IWMPDVD_titleMenu(IWMPDVD* This) { + return This->lpVtbl->titleMenu(This); +} +static inline HRESULT IWMPDVD_back(IWMPDVD* This) { + return This->lpVtbl->back(This); +} +static inline HRESULT IWMPDVD_resume(IWMPDVD* This) { + return This->lpVtbl->resume(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPDVD_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPClosedCaption interface + */ +#ifndef __IWMPClosedCaption_INTERFACE_DEFINED__ +#define __IWMPClosedCaption_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4f2df574-c588-11d3-9ed0-00c04fb6e937") +IWMPClosedCaption : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_SAMIStyle( + BSTR *pbstrSAMIStyle) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SAMIStyle( + BSTR pbstrSAMIStyle) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SAMILang( + BSTR *pbstrSAMILang) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SAMILang( + BSTR pbstrSAMILang) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SAMIFileName( + BSTR *pbstrSAMIFileName) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_SAMIFileName( + BSTR pbstrSAMIFileName) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_captioningId( + BSTR *pbstrCaptioningID) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_captioningId( + BSTR pbstrCaptioningID) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPClosedCaption, 0x4f2df574, 0xc588, 0x11d3, 0x9e,0xd0, 0x00,0xc0,0x4f,0xb6,0xe9,0x37) +#endif +#else +typedef struct IWMPClosedCaptionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPClosedCaption *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPClosedCaption *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPClosedCaption *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPClosedCaption *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPClosedCaption *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPClosedCaption *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPClosedCaption *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPClosedCaption methods ***/ + HRESULT (STDMETHODCALLTYPE *get_SAMIStyle)( + IWMPClosedCaption *This, + BSTR *pbstrSAMIStyle); + + HRESULT (STDMETHODCALLTYPE *put_SAMIStyle)( + IWMPClosedCaption *This, + BSTR pbstrSAMIStyle); + + HRESULT (STDMETHODCALLTYPE *get_SAMILang)( + IWMPClosedCaption *This, + BSTR *pbstrSAMILang); + + HRESULT (STDMETHODCALLTYPE *put_SAMILang)( + IWMPClosedCaption *This, + BSTR pbstrSAMILang); + + HRESULT (STDMETHODCALLTYPE *get_SAMIFileName)( + IWMPClosedCaption *This, + BSTR *pbstrSAMIFileName); + + HRESULT (STDMETHODCALLTYPE *put_SAMIFileName)( + IWMPClosedCaption *This, + BSTR pbstrSAMIFileName); + + HRESULT (STDMETHODCALLTYPE *get_captioningId)( + IWMPClosedCaption *This, + BSTR *pbstrCaptioningID); + + HRESULT (STDMETHODCALLTYPE *put_captioningId)( + IWMPClosedCaption *This, + BSTR pbstrCaptioningID); + + END_INTERFACE +} IWMPClosedCaptionVtbl; + +interface IWMPClosedCaption { + CONST_VTBL IWMPClosedCaptionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPClosedCaption_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPClosedCaption_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPClosedCaption_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPClosedCaption_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPClosedCaption_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPClosedCaption_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPClosedCaption_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPClosedCaption methods ***/ +#define IWMPClosedCaption_get_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle) +#define IWMPClosedCaption_put_SAMIStyle(This,pbstrSAMIStyle) (This)->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle) +#define IWMPClosedCaption_get_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->get_SAMILang(This,pbstrSAMILang) +#define IWMPClosedCaption_put_SAMILang(This,pbstrSAMILang) (This)->lpVtbl->put_SAMILang(This,pbstrSAMILang) +#define IWMPClosedCaption_get_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName) +#define IWMPClosedCaption_put_SAMIFileName(This,pbstrSAMIFileName) (This)->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName) +#define IWMPClosedCaption_get_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->get_captioningId(This,pbstrCaptioningID) +#define IWMPClosedCaption_put_captioningId(This,pbstrCaptioningID) (This)->lpVtbl->put_captioningId(This,pbstrCaptioningID) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPClosedCaption_QueryInterface(IWMPClosedCaption* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPClosedCaption_AddRef(IWMPClosedCaption* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPClosedCaption_Release(IWMPClosedCaption* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPClosedCaption_GetTypeInfoCount(IWMPClosedCaption* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPClosedCaption_GetTypeInfo(IWMPClosedCaption* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPClosedCaption_GetIDsOfNames(IWMPClosedCaption* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPClosedCaption_Invoke(IWMPClosedCaption* 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); +} +/*** IWMPClosedCaption methods ***/ +static inline HRESULT IWMPClosedCaption_get_SAMIStyle(IWMPClosedCaption* This,BSTR *pbstrSAMIStyle) { + return This->lpVtbl->get_SAMIStyle(This,pbstrSAMIStyle); +} +static inline HRESULT IWMPClosedCaption_put_SAMIStyle(IWMPClosedCaption* This,BSTR pbstrSAMIStyle) { + return This->lpVtbl->put_SAMIStyle(This,pbstrSAMIStyle); +} +static inline HRESULT IWMPClosedCaption_get_SAMILang(IWMPClosedCaption* This,BSTR *pbstrSAMILang) { + return This->lpVtbl->get_SAMILang(This,pbstrSAMILang); +} +static inline HRESULT IWMPClosedCaption_put_SAMILang(IWMPClosedCaption* This,BSTR pbstrSAMILang) { + return This->lpVtbl->put_SAMILang(This,pbstrSAMILang); +} +static inline HRESULT IWMPClosedCaption_get_SAMIFileName(IWMPClosedCaption* This,BSTR *pbstrSAMIFileName) { + return This->lpVtbl->get_SAMIFileName(This,pbstrSAMIFileName); +} +static inline HRESULT IWMPClosedCaption_put_SAMIFileName(IWMPClosedCaption* This,BSTR pbstrSAMIFileName) { + return This->lpVtbl->put_SAMIFileName(This,pbstrSAMIFileName); +} +static inline HRESULT IWMPClosedCaption_get_captioningId(IWMPClosedCaption* This,BSTR *pbstrCaptioningID) { + return This->lpVtbl->get_captioningId(This,pbstrCaptioningID); +} +static inline HRESULT IWMPClosedCaption_put_captioningId(IWMPClosedCaption* This,BSTR pbstrCaptioningID) { + return This->lpVtbl->put_captioningId(This,pbstrCaptioningID); +} +#endif +#endif + +#endif + + +#endif /* __IWMPClosedCaption_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPErrorItem interface + */ +#ifndef __IWMPErrorItem_INTERFACE_DEFINED__ +#define __IWMPErrorItem_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3614c646-3b3b-4de7-a81e-930e3f2127b3") +IWMPErrorItem : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_errorCode( + LONG *phr) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_errorDescription( + BSTR *pbstrDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_errorContext( + VARIANT *pvarContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_remedy( + LONG *plRemedy) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_customUrl( + BSTR *pbstrCustomUrl) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPErrorItem, 0x3614c646, 0x3b3b, 0x4de7, 0xa8,0x1e, 0x93,0x0e,0x3f,0x21,0x27,0xb3) +#endif +#else +typedef struct IWMPErrorItemVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPErrorItem *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPErrorItem *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPErrorItem *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPErrorItem *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPErrorItem *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPErrorItem *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPErrorItem *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPErrorItem methods ***/ + HRESULT (STDMETHODCALLTYPE *get_errorCode)( + IWMPErrorItem *This, + LONG *phr); + + HRESULT (STDMETHODCALLTYPE *get_errorDescription)( + IWMPErrorItem *This, + BSTR *pbstrDescription); + + HRESULT (STDMETHODCALLTYPE *get_errorContext)( + IWMPErrorItem *This, + VARIANT *pvarContext); + + HRESULT (STDMETHODCALLTYPE *get_remedy)( + IWMPErrorItem *This, + LONG *plRemedy); + + HRESULT (STDMETHODCALLTYPE *get_customUrl)( + IWMPErrorItem *This, + BSTR *pbstrCustomUrl); + + END_INTERFACE +} IWMPErrorItemVtbl; + +interface IWMPErrorItem { + CONST_VTBL IWMPErrorItemVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPErrorItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPErrorItem_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPErrorItem_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPErrorItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPErrorItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPErrorItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPErrorItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPErrorItem methods ***/ +#define IWMPErrorItem_get_errorCode(This,phr) (This)->lpVtbl->get_errorCode(This,phr) +#define IWMPErrorItem_get_errorDescription(This,pbstrDescription) (This)->lpVtbl->get_errorDescription(This,pbstrDescription) +#define IWMPErrorItem_get_errorContext(This,pvarContext) (This)->lpVtbl->get_errorContext(This,pvarContext) +#define IWMPErrorItem_get_remedy(This,plRemedy) (This)->lpVtbl->get_remedy(This,plRemedy) +#define IWMPErrorItem_get_customUrl(This,pbstrCustomUrl) (This)->lpVtbl->get_customUrl(This,pbstrCustomUrl) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPErrorItem_QueryInterface(IWMPErrorItem* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPErrorItem_AddRef(IWMPErrorItem* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPErrorItem_Release(IWMPErrorItem* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPErrorItem_GetTypeInfoCount(IWMPErrorItem* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPErrorItem_GetTypeInfo(IWMPErrorItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPErrorItem_GetIDsOfNames(IWMPErrorItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPErrorItem_Invoke(IWMPErrorItem* 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); +} +/*** IWMPErrorItem methods ***/ +static inline HRESULT IWMPErrorItem_get_errorCode(IWMPErrorItem* This,LONG *phr) { + return This->lpVtbl->get_errorCode(This,phr); +} +static inline HRESULT IWMPErrorItem_get_errorDescription(IWMPErrorItem* This,BSTR *pbstrDescription) { + return This->lpVtbl->get_errorDescription(This,pbstrDescription); +} +static inline HRESULT IWMPErrorItem_get_errorContext(IWMPErrorItem* This,VARIANT *pvarContext) { + return This->lpVtbl->get_errorContext(This,pvarContext); +} +static inline HRESULT IWMPErrorItem_get_remedy(IWMPErrorItem* This,LONG *plRemedy) { + return This->lpVtbl->get_remedy(This,plRemedy); +} +static inline HRESULT IWMPErrorItem_get_customUrl(IWMPErrorItem* This,BSTR *pbstrCustomUrl) { + return This->lpVtbl->get_customUrl(This,pbstrCustomUrl); +} +#endif +#endif + +#endif + + +#endif /* __IWMPErrorItem_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPMedia2 interface + */ +#ifndef __IWMPMedia2_INTERFACE_DEFINED__ +#define __IWMPMedia2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ab7c88bb-143e-4ea4-acc3-e4350b2106c3") +IWMPMedia2 : public IWMPMedia +{ + virtual HRESULT STDMETHODCALLTYPE get_error( + IWMPErrorItem **out) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPMedia2, 0xab7c88bb, 0x143e, 0x4ea4, 0xac,0xc3, 0xe4,0x35,0x0b,0x21,0x06,0xc3) +#endif +#else +typedef struct IWMPMedia2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPMedia2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPMedia2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPMedia2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPMedia2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPMedia2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPMedia2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPMedia2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPMedia methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isIdentical)( + IWMPMedia2 *This, + IWMPMedia *pIWMPMedia, + VARIANT_BOOL *pvbool); + + HRESULT (STDMETHODCALLTYPE *get_sourceURL)( + IWMPMedia2 *This, + BSTR *pbstrSourceURL); + + HRESULT (STDMETHODCALLTYPE *get_name)( + IWMPMedia2 *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *put_name)( + IWMPMedia2 *This, + BSTR pbstrName); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)( + IWMPMedia2 *This, + LONG *pWidth); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)( + IWMPMedia2 *This, + LONG *pHeight); + + HRESULT (STDMETHODCALLTYPE *get_markerCount)( + IWMPMedia2 *This, + LONG *pMarkerCount); + + HRESULT (STDMETHODCALLTYPE *getMarkerTime)( + IWMPMedia2 *This, + LONG MarkerNum, + double *pMarkerTime); + + HRESULT (STDMETHODCALLTYPE *getMarkerName)( + IWMPMedia2 *This, + LONG MarkerNum, + BSTR *pbstrMarkerName); + + HRESULT (STDMETHODCALLTYPE *get_duration)( + IWMPMedia2 *This, + double *pDuration); + + HRESULT (STDMETHODCALLTYPE *get_durationString)( + IWMPMedia2 *This, + BSTR *pbstrDuration); + + HRESULT (STDMETHODCALLTYPE *get_attributeCount)( + IWMPMedia2 *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *getAttributeName)( + IWMPMedia2 *This, + LONG lIndex, + BSTR *pbstrItemName); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPMedia2 *This, + BSTR bstrItemName, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *setItemInfo)( + IWMPMedia2 *This, + BSTR bstrItemName, + BSTR bstrVal); + + HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)( + IWMPMedia2 *This, + LONG lAtom, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *isMemberOf)( + IWMPMedia2 *This, + IWMPPlaylist *pPlaylist, + VARIANT_BOOL *pvarfIsMemberOf); + + HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)( + IWMPMedia2 *This, + BSTR bstrItemName, + VARIANT_BOOL *pvarfIsReadOnly); + + /*** IWMPMedia2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_error)( + IWMPMedia2 *This, + IWMPErrorItem **out); + + END_INTERFACE +} IWMPMedia2Vtbl; + +interface IWMPMedia2 { + CONST_VTBL IWMPMedia2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPMedia2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPMedia2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPMedia2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPMedia2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPMedia2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPMedia2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPMedia2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPMedia methods ***/ +#define IWMPMedia2_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool) +#define IWMPMedia2_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL) +#define IWMPMedia2_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName) +#define IWMPMedia2_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName) +#define IWMPMedia2_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth) +#define IWMPMedia2_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight) +#define IWMPMedia2_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount) +#define IWMPMedia2_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime) +#define IWMPMedia2_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName) +#define IWMPMedia2_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration) +#define IWMPMedia2_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration) +#define IWMPMedia2_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount) +#define IWMPMedia2_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName) +#define IWMPMedia2_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal) +#define IWMPMedia2_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal) +#define IWMPMedia2_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal) +#define IWMPMedia2_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf) +#define IWMPMedia2_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) +/*** IWMPMedia2 methods ***/ +#define IWMPMedia2_get_error(This,out) (This)->lpVtbl->get_error(This,out) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPMedia2_QueryInterface(IWMPMedia2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPMedia2_AddRef(IWMPMedia2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPMedia2_Release(IWMPMedia2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPMedia2_GetTypeInfoCount(IWMPMedia2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPMedia2_GetTypeInfo(IWMPMedia2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPMedia2_GetIDsOfNames(IWMPMedia2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPMedia2_Invoke(IWMPMedia2* 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); +} +/*** IWMPMedia methods ***/ +static inline HRESULT IWMPMedia2_get_isIdentical(IWMPMedia2* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) { + return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool); +} +static inline HRESULT IWMPMedia2_get_sourceURL(IWMPMedia2* This,BSTR *pbstrSourceURL) { + return This->lpVtbl->get_sourceURL(This,pbstrSourceURL); +} +static inline HRESULT IWMPMedia2_get_name(IWMPMedia2* This,BSTR *pbstrName) { + return This->lpVtbl->get_name(This,pbstrName); +} +static inline HRESULT IWMPMedia2_put_name(IWMPMedia2* This,BSTR pbstrName) { + return This->lpVtbl->put_name(This,pbstrName); +} +static inline HRESULT IWMPMedia2_get_imageSourceWidth(IWMPMedia2* This,LONG *pWidth) { + return This->lpVtbl->get_imageSourceWidth(This,pWidth); +} +static inline HRESULT IWMPMedia2_get_imageSourceHeight(IWMPMedia2* This,LONG *pHeight) { + return This->lpVtbl->get_imageSourceHeight(This,pHeight); +} +static inline HRESULT IWMPMedia2_get_markerCount(IWMPMedia2* This,LONG *pMarkerCount) { + return This->lpVtbl->get_markerCount(This,pMarkerCount); +} +static inline HRESULT IWMPMedia2_getMarkerTime(IWMPMedia2* This,LONG MarkerNum,double *pMarkerTime) { + return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime); +} +static inline HRESULT IWMPMedia2_getMarkerName(IWMPMedia2* This,LONG MarkerNum,BSTR *pbstrMarkerName) { + return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName); +} +static inline HRESULT IWMPMedia2_get_duration(IWMPMedia2* This,double *pDuration) { + return This->lpVtbl->get_duration(This,pDuration); +} +static inline HRESULT IWMPMedia2_get_durationString(IWMPMedia2* This,BSTR *pbstrDuration) { + return This->lpVtbl->get_durationString(This,pbstrDuration); +} +static inline HRESULT IWMPMedia2_get_attributeCount(IWMPMedia2* This,LONG *plCount) { + return This->lpVtbl->get_attributeCount(This,plCount); +} +static inline HRESULT IWMPMedia2_getAttributeName(IWMPMedia2* This,LONG lIndex,BSTR *pbstrItemName) { + return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName); +} +static inline HRESULT IWMPMedia2_getItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal); +} +static inline HRESULT IWMPMedia2_setItemInfo(IWMPMedia2* This,BSTR bstrItemName,BSTR bstrVal) { + return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal); +} +static inline HRESULT IWMPMedia2_getItemInfoByAtom(IWMPMedia2* This,LONG lAtom,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal); +} +static inline HRESULT IWMPMedia2_isMemberOf(IWMPMedia2* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) { + return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf); +} +static inline HRESULT IWMPMedia2_isReadOnlyItem(IWMPMedia2* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) { + return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly); +} +/*** IWMPMedia2 methods ***/ +static inline HRESULT IWMPMedia2_get_error(IWMPMedia2* This,IWMPErrorItem **out) { + return This->lpVtbl->get_error(This,out); +} +#endif +#endif + +#endif + + +#endif /* __IWMPMedia2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPMedia3 interface + */ +#ifndef __IWMPMedia3_INTERFACE_DEFINED__ +#define __IWMPMedia3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f118efc7-f03a-4fb4-99c9-1c02a5c1065b") +IWMPMedia3 : public IWMPMedia2 +{ + virtual HRESULT STDMETHODCALLTYPE getAttributeCountByType( + BSTR type, + BSTR language, + LONG *out) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfoByType( + BSTR type, + BSTR language, + LONG index, + VARIANT *out) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPMedia3, 0xf118efc7, 0xf03a, 0x4fb4, 0x99,0xc9, 0x1c,0x02,0xa5,0xc1,0x06,0x5b) +#endif +#else +typedef struct IWMPMedia3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPMedia3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPMedia3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPMedia3 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPMedia3 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPMedia3 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPMedia3 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPMedia3 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPMedia methods ***/ + HRESULT (STDMETHODCALLTYPE *get_isIdentical)( + IWMPMedia3 *This, + IWMPMedia *pIWMPMedia, + VARIANT_BOOL *pvbool); + + HRESULT (STDMETHODCALLTYPE *get_sourceURL)( + IWMPMedia3 *This, + BSTR *pbstrSourceURL); + + HRESULT (STDMETHODCALLTYPE *get_name)( + IWMPMedia3 *This, + BSTR *pbstrName); + + HRESULT (STDMETHODCALLTYPE *put_name)( + IWMPMedia3 *This, + BSTR pbstrName); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceWidth)( + IWMPMedia3 *This, + LONG *pWidth); + + HRESULT (STDMETHODCALLTYPE *get_imageSourceHeight)( + IWMPMedia3 *This, + LONG *pHeight); + + HRESULT (STDMETHODCALLTYPE *get_markerCount)( + IWMPMedia3 *This, + LONG *pMarkerCount); + + HRESULT (STDMETHODCALLTYPE *getMarkerTime)( + IWMPMedia3 *This, + LONG MarkerNum, + double *pMarkerTime); + + HRESULT (STDMETHODCALLTYPE *getMarkerName)( + IWMPMedia3 *This, + LONG MarkerNum, + BSTR *pbstrMarkerName); + + HRESULT (STDMETHODCALLTYPE *get_duration)( + IWMPMedia3 *This, + double *pDuration); + + HRESULT (STDMETHODCALLTYPE *get_durationString)( + IWMPMedia3 *This, + BSTR *pbstrDuration); + + HRESULT (STDMETHODCALLTYPE *get_attributeCount)( + IWMPMedia3 *This, + LONG *plCount); + + HRESULT (STDMETHODCALLTYPE *getAttributeName)( + IWMPMedia3 *This, + LONG lIndex, + BSTR *pbstrItemName); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPMedia3 *This, + BSTR bstrItemName, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *setItemInfo)( + IWMPMedia3 *This, + BSTR bstrItemName, + BSTR bstrVal); + + HRESULT (STDMETHODCALLTYPE *getItemInfoByAtom)( + IWMPMedia3 *This, + LONG lAtom, + BSTR *pbstrVal); + + HRESULT (STDMETHODCALLTYPE *isMemberOf)( + IWMPMedia3 *This, + IWMPPlaylist *pPlaylist, + VARIANT_BOOL *pvarfIsMemberOf); + + HRESULT (STDMETHODCALLTYPE *isReadOnlyItem)( + IWMPMedia3 *This, + BSTR bstrItemName, + VARIANT_BOOL *pvarfIsReadOnly); + + /*** IWMPMedia2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_error)( + IWMPMedia3 *This, + IWMPErrorItem **out); + + /*** IWMPMedia3 methods ***/ + HRESULT (STDMETHODCALLTYPE *getAttributeCountByType)( + IWMPMedia3 *This, + BSTR type, + BSTR language, + LONG *out); + + HRESULT (STDMETHODCALLTYPE *getItemInfoByType)( + IWMPMedia3 *This, + BSTR type, + BSTR language, + LONG index, + VARIANT *out); + + END_INTERFACE +} IWMPMedia3Vtbl; + +interface IWMPMedia3 { + CONST_VTBL IWMPMedia3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPMedia3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPMedia3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPMedia3_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPMedia3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPMedia3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPMedia3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPMedia3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPMedia methods ***/ +#define IWMPMedia3_get_isIdentical(This,pIWMPMedia,pvbool) (This)->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool) +#define IWMPMedia3_get_sourceURL(This,pbstrSourceURL) (This)->lpVtbl->get_sourceURL(This,pbstrSourceURL) +#define IWMPMedia3_get_name(This,pbstrName) (This)->lpVtbl->get_name(This,pbstrName) +#define IWMPMedia3_put_name(This,pbstrName) (This)->lpVtbl->put_name(This,pbstrName) +#define IWMPMedia3_get_imageSourceWidth(This,pWidth) (This)->lpVtbl->get_imageSourceWidth(This,pWidth) +#define IWMPMedia3_get_imageSourceHeight(This,pHeight) (This)->lpVtbl->get_imageSourceHeight(This,pHeight) +#define IWMPMedia3_get_markerCount(This,pMarkerCount) (This)->lpVtbl->get_markerCount(This,pMarkerCount) +#define IWMPMedia3_getMarkerTime(This,MarkerNum,pMarkerTime) (This)->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime) +#define IWMPMedia3_getMarkerName(This,MarkerNum,pbstrMarkerName) (This)->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName) +#define IWMPMedia3_get_duration(This,pDuration) (This)->lpVtbl->get_duration(This,pDuration) +#define IWMPMedia3_get_durationString(This,pbstrDuration) (This)->lpVtbl->get_durationString(This,pbstrDuration) +#define IWMPMedia3_get_attributeCount(This,plCount) (This)->lpVtbl->get_attributeCount(This,plCount) +#define IWMPMedia3_getAttributeName(This,lIndex,pbstrItemName) (This)->lpVtbl->getAttributeName(This,lIndex,pbstrItemName) +#define IWMPMedia3_getItemInfo(This,bstrItemName,pbstrVal) (This)->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal) +#define IWMPMedia3_setItemInfo(This,bstrItemName,bstrVal) (This)->lpVtbl->setItemInfo(This,bstrItemName,bstrVal) +#define IWMPMedia3_getItemInfoByAtom(This,lAtom,pbstrVal) (This)->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal) +#define IWMPMedia3_isMemberOf(This,pPlaylist,pvarfIsMemberOf) (This)->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf) +#define IWMPMedia3_isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) (This)->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly) +/*** IWMPMedia2 methods ***/ +#define IWMPMedia3_get_error(This,out) (This)->lpVtbl->get_error(This,out) +/*** IWMPMedia3 methods ***/ +#define IWMPMedia3_getAttributeCountByType(This,type,language,out) (This)->lpVtbl->getAttributeCountByType(This,type,language,out) +#define IWMPMedia3_getItemInfoByType(This,type,language,index,out) (This)->lpVtbl->getItemInfoByType(This,type,language,index,out) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPMedia3_QueryInterface(IWMPMedia3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPMedia3_AddRef(IWMPMedia3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPMedia3_Release(IWMPMedia3* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPMedia3_GetTypeInfoCount(IWMPMedia3* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPMedia3_GetTypeInfo(IWMPMedia3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPMedia3_GetIDsOfNames(IWMPMedia3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPMedia3_Invoke(IWMPMedia3* 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); +} +/*** IWMPMedia methods ***/ +static inline HRESULT IWMPMedia3_get_isIdentical(IWMPMedia3* This,IWMPMedia *pIWMPMedia,VARIANT_BOOL *pvbool) { + return This->lpVtbl->get_isIdentical(This,pIWMPMedia,pvbool); +} +static inline HRESULT IWMPMedia3_get_sourceURL(IWMPMedia3* This,BSTR *pbstrSourceURL) { + return This->lpVtbl->get_sourceURL(This,pbstrSourceURL); +} +static inline HRESULT IWMPMedia3_get_name(IWMPMedia3* This,BSTR *pbstrName) { + return This->lpVtbl->get_name(This,pbstrName); +} +static inline HRESULT IWMPMedia3_put_name(IWMPMedia3* This,BSTR pbstrName) { + return This->lpVtbl->put_name(This,pbstrName); +} +static inline HRESULT IWMPMedia3_get_imageSourceWidth(IWMPMedia3* This,LONG *pWidth) { + return This->lpVtbl->get_imageSourceWidth(This,pWidth); +} +static inline HRESULT IWMPMedia3_get_imageSourceHeight(IWMPMedia3* This,LONG *pHeight) { + return This->lpVtbl->get_imageSourceHeight(This,pHeight); +} +static inline HRESULT IWMPMedia3_get_markerCount(IWMPMedia3* This,LONG *pMarkerCount) { + return This->lpVtbl->get_markerCount(This,pMarkerCount); +} +static inline HRESULT IWMPMedia3_getMarkerTime(IWMPMedia3* This,LONG MarkerNum,double *pMarkerTime) { + return This->lpVtbl->getMarkerTime(This,MarkerNum,pMarkerTime); +} +static inline HRESULT IWMPMedia3_getMarkerName(IWMPMedia3* This,LONG MarkerNum,BSTR *pbstrMarkerName) { + return This->lpVtbl->getMarkerName(This,MarkerNum,pbstrMarkerName); +} +static inline HRESULT IWMPMedia3_get_duration(IWMPMedia3* This,double *pDuration) { + return This->lpVtbl->get_duration(This,pDuration); +} +static inline HRESULT IWMPMedia3_get_durationString(IWMPMedia3* This,BSTR *pbstrDuration) { + return This->lpVtbl->get_durationString(This,pbstrDuration); +} +static inline HRESULT IWMPMedia3_get_attributeCount(IWMPMedia3* This,LONG *plCount) { + return This->lpVtbl->get_attributeCount(This,plCount); +} +static inline HRESULT IWMPMedia3_getAttributeName(IWMPMedia3* This,LONG lIndex,BSTR *pbstrItemName) { + return This->lpVtbl->getAttributeName(This,lIndex,pbstrItemName); +} +static inline HRESULT IWMPMedia3_getItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfo(This,bstrItemName,pbstrVal); +} +static inline HRESULT IWMPMedia3_setItemInfo(IWMPMedia3* This,BSTR bstrItemName,BSTR bstrVal) { + return This->lpVtbl->setItemInfo(This,bstrItemName,bstrVal); +} +static inline HRESULT IWMPMedia3_getItemInfoByAtom(IWMPMedia3* This,LONG lAtom,BSTR *pbstrVal) { + return This->lpVtbl->getItemInfoByAtom(This,lAtom,pbstrVal); +} +static inline HRESULT IWMPMedia3_isMemberOf(IWMPMedia3* This,IWMPPlaylist *pPlaylist,VARIANT_BOOL *pvarfIsMemberOf) { + return This->lpVtbl->isMemberOf(This,pPlaylist,pvarfIsMemberOf); +} +static inline HRESULT IWMPMedia3_isReadOnlyItem(IWMPMedia3* This,BSTR bstrItemName,VARIANT_BOOL *pvarfIsReadOnly) { + return This->lpVtbl->isReadOnlyItem(This,bstrItemName,pvarfIsReadOnly); +} +/*** IWMPMedia2 methods ***/ +static inline HRESULT IWMPMedia3_get_error(IWMPMedia3* This,IWMPErrorItem **out) { + return This->lpVtbl->get_error(This,out); +} +/*** IWMPMedia3 methods ***/ +static inline HRESULT IWMPMedia3_getAttributeCountByType(IWMPMedia3* This,BSTR type,BSTR language,LONG *out) { + return This->lpVtbl->getAttributeCountByType(This,type,language,out); +} +static inline HRESULT IWMPMedia3_getItemInfoByType(IWMPMedia3* This,BSTR type,BSTR language,LONG index,VARIANT *out) { + return This->lpVtbl->getItemInfoByType(This,type,language,index,out); +} +#endif +#endif + +#endif + + +#endif /* __IWMPMedia3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPError interface + */ +#ifndef __IWMPError_INTERFACE_DEFINED__ +#define __IWMPError_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a12dcf7d-14ab-4c1b-a8cd-63909f06025b") +IWMPError : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE clearErrorQueue( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_errorCount( + LONG *plNumErrors) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG dwIndex, + IWMPErrorItem **ppErrorItem) = 0; + + virtual HRESULT STDMETHODCALLTYPE webHelp( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPError, 0xa12dcf7d, 0x14ab, 0x4c1b, 0xa8,0xcd, 0x63,0x90,0x9f,0x06,0x02,0x5b) +#endif +#else +typedef struct IWMPErrorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPError *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPError *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPError *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPError *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPError *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPError *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPError *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPError methods ***/ + HRESULT (STDMETHODCALLTYPE *clearErrorQueue)( + IWMPError *This); + + HRESULT (STDMETHODCALLTYPE *get_errorCount)( + IWMPError *This, + LONG *plNumErrors); + + HRESULT (STDMETHODCALLTYPE *get_Item)( + IWMPError *This, + LONG dwIndex, + IWMPErrorItem **ppErrorItem); + + HRESULT (STDMETHODCALLTYPE *webHelp)( + IWMPError *This); + + END_INTERFACE +} IWMPErrorVtbl; + +interface IWMPError { + CONST_VTBL IWMPErrorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPError_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPError_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPError_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPError_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPError_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPError_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPError methods ***/ +#define IWMPError_clearErrorQueue(This) (This)->lpVtbl->clearErrorQueue(This) +#define IWMPError_get_errorCount(This,plNumErrors) (This)->lpVtbl->get_errorCount(This,plNumErrors) +#define IWMPError_get_Item(This,dwIndex,ppErrorItem) (This)->lpVtbl->get_Item(This,dwIndex,ppErrorItem) +#define IWMPError_webHelp(This) (This)->lpVtbl->webHelp(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPError_QueryInterface(IWMPError* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPError_AddRef(IWMPError* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPError_Release(IWMPError* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPError_GetTypeInfoCount(IWMPError* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPError_GetTypeInfo(IWMPError* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPError_GetIDsOfNames(IWMPError* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPError_Invoke(IWMPError* 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); +} +/*** IWMPError methods ***/ +static inline HRESULT IWMPError_clearErrorQueue(IWMPError* This) { + return This->lpVtbl->clearErrorQueue(This); +} +static inline HRESULT IWMPError_get_errorCount(IWMPError* This,LONG *plNumErrors) { + return This->lpVtbl->get_errorCount(This,plNumErrors); +} +static inline HRESULT IWMPError_get_Item(IWMPError* This,LONG dwIndex,IWMPErrorItem **ppErrorItem) { + return This->lpVtbl->get_Item(This,dwIndex,ppErrorItem); +} +static inline HRESULT IWMPError_webHelp(IWMPError* This) { + return This->lpVtbl->webHelp(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPError_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPPlayerApplication interface + */ +#ifndef __IWMPPlayerApplication_INTERFACE_DEFINED__ +#define __IWMPPlayerApplication_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("40897764-ceab-47be-ad4a-8e28537f9bbf") +IWMPPlayerApplication : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE switchToPlayerApplication( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE switchToControl( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_playerDocked( + VARIANT_BOOL *pbPlayerDocked) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_hasDisplay( + VARIANT_BOOL *pbHasDisplay) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlayerApplication, 0x40897764, 0xceab, 0x47be, 0xad,0x4a, 0x8e,0x28,0x53,0x7f,0x9b,0xbf) +#endif +#else +typedef struct IWMPPlayerApplicationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlayerApplication *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlayerApplication *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlayerApplication *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlayerApplication *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlayerApplication *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlayerApplication *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlayerApplication *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPPlayerApplication methods ***/ + HRESULT (STDMETHODCALLTYPE *switchToPlayerApplication)( + IWMPPlayerApplication *This); + + HRESULT (STDMETHODCALLTYPE *switchToControl)( + IWMPPlayerApplication *This); + + HRESULT (STDMETHODCALLTYPE *get_playerDocked)( + IWMPPlayerApplication *This, + VARIANT_BOOL *pbPlayerDocked); + + HRESULT (STDMETHODCALLTYPE *get_hasDisplay)( + IWMPPlayerApplication *This, + VARIANT_BOOL *pbHasDisplay); + + END_INTERFACE +} IWMPPlayerApplicationVtbl; + +interface IWMPPlayerApplication { + CONST_VTBL IWMPPlayerApplicationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlayerApplication_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlayerApplication_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlayerApplication_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlayerApplication_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlayerApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlayerApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlayerApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPPlayerApplication methods ***/ +#define IWMPPlayerApplication_switchToPlayerApplication(This) (This)->lpVtbl->switchToPlayerApplication(This) +#define IWMPPlayerApplication_switchToControl(This) (This)->lpVtbl->switchToControl(This) +#define IWMPPlayerApplication_get_playerDocked(This,pbPlayerDocked) (This)->lpVtbl->get_playerDocked(This,pbPlayerDocked) +#define IWMPPlayerApplication_get_hasDisplay(This,pbHasDisplay) (This)->lpVtbl->get_hasDisplay(This,pbHasDisplay) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlayerApplication_QueryInterface(IWMPPlayerApplication* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlayerApplication_AddRef(IWMPPlayerApplication* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlayerApplication_Release(IWMPPlayerApplication* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlayerApplication_GetTypeInfoCount(IWMPPlayerApplication* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlayerApplication_GetTypeInfo(IWMPPlayerApplication* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlayerApplication_GetIDsOfNames(IWMPPlayerApplication* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlayerApplication_Invoke(IWMPPlayerApplication* 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); +} +/*** IWMPPlayerApplication methods ***/ +static inline HRESULT IWMPPlayerApplication_switchToPlayerApplication(IWMPPlayerApplication* This) { + return This->lpVtbl->switchToPlayerApplication(This); +} +static inline HRESULT IWMPPlayerApplication_switchToControl(IWMPPlayerApplication* This) { + return This->lpVtbl->switchToControl(This); +} +static inline HRESULT IWMPPlayerApplication_get_playerDocked(IWMPPlayerApplication* This,VARIANT_BOOL *pbPlayerDocked) { + return This->lpVtbl->get_playerDocked(This,pbPlayerDocked); +} +static inline HRESULT IWMPPlayerApplication_get_hasDisplay(IWMPPlayerApplication* This,VARIANT_BOOL *pbHasDisplay) { + return This->lpVtbl->get_hasDisplay(This,pbHasDisplay); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlayerApplication_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCore interface + */ +#ifndef __IWMPCore_INTERFACE_DEFINED__ +#define __IWMPCore_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d84cca99-cce2-11d2-9ecc-0000f8085981") +IWMPCore : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_URL( + BSTR *pbstrURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_URL( + BSTR pbstrURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_openState( + WMPOpenState *pwmpos) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_playState( + WMPPlayState *pwmpps) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_controls( + IWMPControls **ppControl) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_settings( + IWMPSettings **ppSettings) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_currentMedia( + IWMPMedia **ppMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_currentMedia( + IWMPMedia *ppMedia) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_mediaCollection( + IWMPMediaCollection **ppMediaCollection) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_playlistCollection( + IWMPPlaylistCollection **ppPlaylistCollection) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_versionInfo( + BSTR *pbstrVersionInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE launchURL( + BSTR bstrURL) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_network( + IWMPNetwork **ppQNI) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_currentPlaylist( + IWMPPlaylist **ppPL) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_currentPlaylist( + IWMPPlaylist *ppPL) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_cdromCollection( + IWMPCdromCollection **ppCdromCollection) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_closedCaption( + IWMPClosedCaption **ppClosedCaption) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_isOnline( + VARIANT_BOOL *pfOnline) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Error( + IWMPError **ppError) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_status( + BSTR *pbstrStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCore, 0xd84cca99, 0xcce2, 0x11d2, 0x9e,0xcc, 0x00,0x00,0xf8,0x08,0x59,0x81) +#endif +#else +typedef struct IWMPCoreVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCore *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCore *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCore *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPCore *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPCore *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPCore *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPCore *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCore methods ***/ + HRESULT (STDMETHODCALLTYPE *close)( + IWMPCore *This); + + HRESULT (STDMETHODCALLTYPE *get_URL)( + IWMPCore *This, + BSTR *pbstrURL); + + HRESULT (STDMETHODCALLTYPE *put_URL)( + IWMPCore *This, + BSTR pbstrURL); + + HRESULT (STDMETHODCALLTYPE *get_openState)( + IWMPCore *This, + WMPOpenState *pwmpos); + + HRESULT (STDMETHODCALLTYPE *get_playState)( + IWMPCore *This, + WMPPlayState *pwmpps); + + HRESULT (STDMETHODCALLTYPE *get_controls)( + IWMPCore *This, + IWMPControls **ppControl); + + HRESULT (STDMETHODCALLTYPE *get_settings)( + IWMPCore *This, + IWMPSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *get_currentMedia)( + IWMPCore *This, + IWMPMedia **ppMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentMedia)( + IWMPCore *This, + IWMPMedia *ppMedia); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPCore *This, + IWMPMediaCollection **ppMediaCollection); + + HRESULT (STDMETHODCALLTYPE *get_playlistCollection)( + IWMPCore *This, + IWMPPlaylistCollection **ppPlaylistCollection); + + HRESULT (STDMETHODCALLTYPE *get_versionInfo)( + IWMPCore *This, + BSTR *pbstrVersionInfo); + + HRESULT (STDMETHODCALLTYPE *launchURL)( + IWMPCore *This, + BSTR bstrURL); + + HRESULT (STDMETHODCALLTYPE *get_network)( + IWMPCore *This, + IWMPNetwork **ppQNI); + + HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)( + IWMPCore *This, + IWMPPlaylist **ppPL); + + HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)( + IWMPCore *This, + IWMPPlaylist *ppPL); + + HRESULT (STDMETHODCALLTYPE *get_cdromCollection)( + IWMPCore *This, + IWMPCdromCollection **ppCdromCollection); + + HRESULT (STDMETHODCALLTYPE *get_closedCaption)( + IWMPCore *This, + IWMPClosedCaption **ppClosedCaption); + + HRESULT (STDMETHODCALLTYPE *get_isOnline)( + IWMPCore *This, + VARIANT_BOOL *pfOnline); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWMPCore *This, + IWMPError **ppError); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPCore *This, + BSTR *pbstrStatus); + + END_INTERFACE +} IWMPCoreVtbl; + +interface IWMPCore { + CONST_VTBL IWMPCoreVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCore_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCore_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPCore_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPCore_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPCore_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPCore_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCore methods ***/ +#define IWMPCore_close(This) (This)->lpVtbl->close(This) +#define IWMPCore_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL) +#define IWMPCore_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL) +#define IWMPCore_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos) +#define IWMPCore_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps) +#define IWMPCore_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl) +#define IWMPCore_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings) +#define IWMPCore_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia) +#define IWMPCore_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia) +#define IWMPCore_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection) +#define IWMPCore_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection) +#define IWMPCore_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo) +#define IWMPCore_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL) +#define IWMPCore_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI) +#define IWMPCore_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL) +#define IWMPCore_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL) +#define IWMPCore_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection) +#define IWMPCore_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption) +#define IWMPCore_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline) +#define IWMPCore_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError) +#define IWMPCore_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCore_QueryInterface(IWMPCore* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCore_AddRef(IWMPCore* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCore_Release(IWMPCore* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPCore_GetTypeInfoCount(IWMPCore* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPCore_GetTypeInfo(IWMPCore* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPCore_GetIDsOfNames(IWMPCore* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPCore_Invoke(IWMPCore* 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); +} +/*** IWMPCore methods ***/ +static inline HRESULT IWMPCore_close(IWMPCore* This) { + return This->lpVtbl->close(This); +} +static inline HRESULT IWMPCore_get_URL(IWMPCore* This,BSTR *pbstrURL) { + return This->lpVtbl->get_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore_put_URL(IWMPCore* This,BSTR pbstrURL) { + return This->lpVtbl->put_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore_get_openState(IWMPCore* This,WMPOpenState *pwmpos) { + return This->lpVtbl->get_openState(This,pwmpos); +} +static inline HRESULT IWMPCore_get_playState(IWMPCore* This,WMPPlayState *pwmpps) { + return This->lpVtbl->get_playState(This,pwmpps); +} +static inline HRESULT IWMPCore_get_controls(IWMPCore* This,IWMPControls **ppControl) { + return This->lpVtbl->get_controls(This,ppControl); +} +static inline HRESULT IWMPCore_get_settings(IWMPCore* This,IWMPSettings **ppSettings) { + return This->lpVtbl->get_settings(This,ppSettings); +} +static inline HRESULT IWMPCore_get_currentMedia(IWMPCore* This,IWMPMedia **ppMedia) { + return This->lpVtbl->get_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore_put_currentMedia(IWMPCore* This,IWMPMedia *ppMedia) { + return This->lpVtbl->put_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore_get_mediaCollection(IWMPCore* This,IWMPMediaCollection **ppMediaCollection) { + return This->lpVtbl->get_mediaCollection(This,ppMediaCollection); +} +static inline HRESULT IWMPCore_get_playlistCollection(IWMPCore* This,IWMPPlaylistCollection **ppPlaylistCollection) { + return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection); +} +static inline HRESULT IWMPCore_get_versionInfo(IWMPCore* This,BSTR *pbstrVersionInfo) { + return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo); +} +static inline HRESULT IWMPCore_launchURL(IWMPCore* This,BSTR bstrURL) { + return This->lpVtbl->launchURL(This,bstrURL); +} +static inline HRESULT IWMPCore_get_network(IWMPCore* This,IWMPNetwork **ppQNI) { + return This->lpVtbl->get_network(This,ppQNI); +} +static inline HRESULT IWMPCore_get_currentPlaylist(IWMPCore* This,IWMPPlaylist **ppPL) { + return This->lpVtbl->get_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore_put_currentPlaylist(IWMPCore* This,IWMPPlaylist *ppPL) { + return This->lpVtbl->put_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore_get_cdromCollection(IWMPCore* This,IWMPCdromCollection **ppCdromCollection) { + return This->lpVtbl->get_cdromCollection(This,ppCdromCollection); +} +static inline HRESULT IWMPCore_get_closedCaption(IWMPCore* This,IWMPClosedCaption **ppClosedCaption) { + return This->lpVtbl->get_closedCaption(This,ppClosedCaption); +} +static inline HRESULT IWMPCore_get_isOnline(IWMPCore* This,VARIANT_BOOL *pfOnline) { + return This->lpVtbl->get_isOnline(This,pfOnline); +} +static inline HRESULT IWMPCore_get_Error(IWMPCore* This,IWMPError **ppError) { + return This->lpVtbl->get_Error(This,ppError); +} +static inline HRESULT IWMPCore_get_status(IWMPCore* This,BSTR *pbstrStatus) { + return This->lpVtbl->get_status(This,pbstrStatus); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCore_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCore2 interface + */ +#ifndef __IWMPCore2_INTERFACE_DEFINED__ +#define __IWMPCore2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bc17e5b7-7561-4c18-bb90-17d485775659") +IWMPCore2 : public IWMPCore +{ + virtual HRESULT STDMETHODCALLTYPE get_dvd( + IWMPDVD **ppDVD) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCore2, 0xbc17e5b7, 0x7561, 0x4c18, 0xbb,0x90, 0x17,0xd4,0x85,0x77,0x56,0x59) +#endif +#else +typedef struct IWMPCore2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCore2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCore2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCore2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPCore2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPCore2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPCore2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPCore2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCore methods ***/ + HRESULT (STDMETHODCALLTYPE *close)( + IWMPCore2 *This); + + HRESULT (STDMETHODCALLTYPE *get_URL)( + IWMPCore2 *This, + BSTR *pbstrURL); + + HRESULT (STDMETHODCALLTYPE *put_URL)( + IWMPCore2 *This, + BSTR pbstrURL); + + HRESULT (STDMETHODCALLTYPE *get_openState)( + IWMPCore2 *This, + WMPOpenState *pwmpos); + + HRESULT (STDMETHODCALLTYPE *get_playState)( + IWMPCore2 *This, + WMPPlayState *pwmpps); + + HRESULT (STDMETHODCALLTYPE *get_controls)( + IWMPCore2 *This, + IWMPControls **ppControl); + + HRESULT (STDMETHODCALLTYPE *get_settings)( + IWMPCore2 *This, + IWMPSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *get_currentMedia)( + IWMPCore2 *This, + IWMPMedia **ppMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentMedia)( + IWMPCore2 *This, + IWMPMedia *ppMedia); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPCore2 *This, + IWMPMediaCollection **ppMediaCollection); + + HRESULT (STDMETHODCALLTYPE *get_playlistCollection)( + IWMPCore2 *This, + IWMPPlaylistCollection **ppPlaylistCollection); + + HRESULT (STDMETHODCALLTYPE *get_versionInfo)( + IWMPCore2 *This, + BSTR *pbstrVersionInfo); + + HRESULT (STDMETHODCALLTYPE *launchURL)( + IWMPCore2 *This, + BSTR bstrURL); + + HRESULT (STDMETHODCALLTYPE *get_network)( + IWMPCore2 *This, + IWMPNetwork **ppQNI); + + HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)( + IWMPCore2 *This, + IWMPPlaylist **ppPL); + + HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)( + IWMPCore2 *This, + IWMPPlaylist *ppPL); + + HRESULT (STDMETHODCALLTYPE *get_cdromCollection)( + IWMPCore2 *This, + IWMPCdromCollection **ppCdromCollection); + + HRESULT (STDMETHODCALLTYPE *get_closedCaption)( + IWMPCore2 *This, + IWMPClosedCaption **ppClosedCaption); + + HRESULT (STDMETHODCALLTYPE *get_isOnline)( + IWMPCore2 *This, + VARIANT_BOOL *pfOnline); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWMPCore2 *This, + IWMPError **ppError); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPCore2 *This, + BSTR *pbstrStatus); + + /*** IWMPCore2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_dvd)( + IWMPCore2 *This, + IWMPDVD **ppDVD); + + END_INTERFACE +} IWMPCore2Vtbl; + +interface IWMPCore2 { + CONST_VTBL IWMPCore2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCore2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCore2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCore2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPCore2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPCore2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPCore2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPCore2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCore methods ***/ +#define IWMPCore2_close(This) (This)->lpVtbl->close(This) +#define IWMPCore2_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL) +#define IWMPCore2_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL) +#define IWMPCore2_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos) +#define IWMPCore2_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps) +#define IWMPCore2_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl) +#define IWMPCore2_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings) +#define IWMPCore2_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia) +#define IWMPCore2_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia) +#define IWMPCore2_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection) +#define IWMPCore2_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection) +#define IWMPCore2_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo) +#define IWMPCore2_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL) +#define IWMPCore2_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI) +#define IWMPCore2_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL) +#define IWMPCore2_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL) +#define IWMPCore2_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection) +#define IWMPCore2_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption) +#define IWMPCore2_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline) +#define IWMPCore2_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError) +#define IWMPCore2_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus) +/*** IWMPCore2 methods ***/ +#define IWMPCore2_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCore2_QueryInterface(IWMPCore2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCore2_AddRef(IWMPCore2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCore2_Release(IWMPCore2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPCore2_GetTypeInfoCount(IWMPCore2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPCore2_GetTypeInfo(IWMPCore2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPCore2_GetIDsOfNames(IWMPCore2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPCore2_Invoke(IWMPCore2* 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); +} +/*** IWMPCore methods ***/ +static inline HRESULT IWMPCore2_close(IWMPCore2* This) { + return This->lpVtbl->close(This); +} +static inline HRESULT IWMPCore2_get_URL(IWMPCore2* This,BSTR *pbstrURL) { + return This->lpVtbl->get_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore2_put_URL(IWMPCore2* This,BSTR pbstrURL) { + return This->lpVtbl->put_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore2_get_openState(IWMPCore2* This,WMPOpenState *pwmpos) { + return This->lpVtbl->get_openState(This,pwmpos); +} +static inline HRESULT IWMPCore2_get_playState(IWMPCore2* This,WMPPlayState *pwmpps) { + return This->lpVtbl->get_playState(This,pwmpps); +} +static inline HRESULT IWMPCore2_get_controls(IWMPCore2* This,IWMPControls **ppControl) { + return This->lpVtbl->get_controls(This,ppControl); +} +static inline HRESULT IWMPCore2_get_settings(IWMPCore2* This,IWMPSettings **ppSettings) { + return This->lpVtbl->get_settings(This,ppSettings); +} +static inline HRESULT IWMPCore2_get_currentMedia(IWMPCore2* This,IWMPMedia **ppMedia) { + return This->lpVtbl->get_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore2_put_currentMedia(IWMPCore2* This,IWMPMedia *ppMedia) { + return This->lpVtbl->put_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore2_get_mediaCollection(IWMPCore2* This,IWMPMediaCollection **ppMediaCollection) { + return This->lpVtbl->get_mediaCollection(This,ppMediaCollection); +} +static inline HRESULT IWMPCore2_get_playlistCollection(IWMPCore2* This,IWMPPlaylistCollection **ppPlaylistCollection) { + return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection); +} +static inline HRESULT IWMPCore2_get_versionInfo(IWMPCore2* This,BSTR *pbstrVersionInfo) { + return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo); +} +static inline HRESULT IWMPCore2_launchURL(IWMPCore2* This,BSTR bstrURL) { + return This->lpVtbl->launchURL(This,bstrURL); +} +static inline HRESULT IWMPCore2_get_network(IWMPCore2* This,IWMPNetwork **ppQNI) { + return This->lpVtbl->get_network(This,ppQNI); +} +static inline HRESULT IWMPCore2_get_currentPlaylist(IWMPCore2* This,IWMPPlaylist **ppPL) { + return This->lpVtbl->get_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore2_put_currentPlaylist(IWMPCore2* This,IWMPPlaylist *ppPL) { + return This->lpVtbl->put_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore2_get_cdromCollection(IWMPCore2* This,IWMPCdromCollection **ppCdromCollection) { + return This->lpVtbl->get_cdromCollection(This,ppCdromCollection); +} +static inline HRESULT IWMPCore2_get_closedCaption(IWMPCore2* This,IWMPClosedCaption **ppClosedCaption) { + return This->lpVtbl->get_closedCaption(This,ppClosedCaption); +} +static inline HRESULT IWMPCore2_get_isOnline(IWMPCore2* This,VARIANT_BOOL *pfOnline) { + return This->lpVtbl->get_isOnline(This,pfOnline); +} +static inline HRESULT IWMPCore2_get_Error(IWMPCore2* This,IWMPError **ppError) { + return This->lpVtbl->get_Error(This,ppError); +} +static inline HRESULT IWMPCore2_get_status(IWMPCore2* This,BSTR *pbstrStatus) { + return This->lpVtbl->get_status(This,pbstrStatus); +} +/*** IWMPCore2 methods ***/ +static inline HRESULT IWMPCore2_get_dvd(IWMPCore2* This,IWMPDVD **ppDVD) { + return This->lpVtbl->get_dvd(This,ppDVD); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCore2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCore3 interface + */ +#ifndef __IWMPCore3_INTERFACE_DEFINED__ +#define __IWMPCore3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7587c667-628f-499f-88e7-6a6f4e888464") +IWMPCore3 : public IWMPCore2 +{ + virtual HRESULT STDMETHODCALLTYPE newPlaylist( + BSTR bstrName, + BSTR bstrURL, + IWMPPlaylist **ppPlaylist) = 0; + + virtual HRESULT STDMETHODCALLTYPE newMedia( + BSTR bstrURL, + IWMPMedia **ppMedia) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCore3, 0x7587c667, 0x628f, 0x499f, 0x88,0xe7, 0x6a,0x6f,0x4e,0x88,0x84,0x64) +#endif +#else +typedef struct IWMPCore3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCore3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCore3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCore3 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPCore3 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPCore3 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPCore3 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPCore3 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCore methods ***/ + HRESULT (STDMETHODCALLTYPE *close)( + IWMPCore3 *This); + + HRESULT (STDMETHODCALLTYPE *get_URL)( + IWMPCore3 *This, + BSTR *pbstrURL); + + HRESULT (STDMETHODCALLTYPE *put_URL)( + IWMPCore3 *This, + BSTR pbstrURL); + + HRESULT (STDMETHODCALLTYPE *get_openState)( + IWMPCore3 *This, + WMPOpenState *pwmpos); + + HRESULT (STDMETHODCALLTYPE *get_playState)( + IWMPCore3 *This, + WMPPlayState *pwmpps); + + HRESULT (STDMETHODCALLTYPE *get_controls)( + IWMPCore3 *This, + IWMPControls **ppControl); + + HRESULT (STDMETHODCALLTYPE *get_settings)( + IWMPCore3 *This, + IWMPSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *get_currentMedia)( + IWMPCore3 *This, + IWMPMedia **ppMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentMedia)( + IWMPCore3 *This, + IWMPMedia *ppMedia); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPCore3 *This, + IWMPMediaCollection **ppMediaCollection); + + HRESULT (STDMETHODCALLTYPE *get_playlistCollection)( + IWMPCore3 *This, + IWMPPlaylistCollection **ppPlaylistCollection); + + HRESULT (STDMETHODCALLTYPE *get_versionInfo)( + IWMPCore3 *This, + BSTR *pbstrVersionInfo); + + HRESULT (STDMETHODCALLTYPE *launchURL)( + IWMPCore3 *This, + BSTR bstrURL); + + HRESULT (STDMETHODCALLTYPE *get_network)( + IWMPCore3 *This, + IWMPNetwork **ppQNI); + + HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)( + IWMPCore3 *This, + IWMPPlaylist **ppPL); + + HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)( + IWMPCore3 *This, + IWMPPlaylist *ppPL); + + HRESULT (STDMETHODCALLTYPE *get_cdromCollection)( + IWMPCore3 *This, + IWMPCdromCollection **ppCdromCollection); + + HRESULT (STDMETHODCALLTYPE *get_closedCaption)( + IWMPCore3 *This, + IWMPClosedCaption **ppClosedCaption); + + HRESULT (STDMETHODCALLTYPE *get_isOnline)( + IWMPCore3 *This, + VARIANT_BOOL *pfOnline); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWMPCore3 *This, + IWMPError **ppError); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPCore3 *This, + BSTR *pbstrStatus); + + /*** IWMPCore2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_dvd)( + IWMPCore3 *This, + IWMPDVD **ppDVD); + + /*** IWMPCore3 methods ***/ + HRESULT (STDMETHODCALLTYPE *newPlaylist)( + IWMPCore3 *This, + BSTR bstrName, + BSTR bstrURL, + IWMPPlaylist **ppPlaylist); + + HRESULT (STDMETHODCALLTYPE *newMedia)( + IWMPCore3 *This, + BSTR bstrURL, + IWMPMedia **ppMedia); + + END_INTERFACE +} IWMPCore3Vtbl; + +interface IWMPCore3 { + CONST_VTBL IWMPCore3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCore3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCore3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCore3_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPCore3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPCore3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPCore3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPCore3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCore methods ***/ +#define IWMPCore3_close(This) (This)->lpVtbl->close(This) +#define IWMPCore3_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL) +#define IWMPCore3_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL) +#define IWMPCore3_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos) +#define IWMPCore3_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps) +#define IWMPCore3_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl) +#define IWMPCore3_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings) +#define IWMPCore3_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia) +#define IWMPCore3_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia) +#define IWMPCore3_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection) +#define IWMPCore3_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection) +#define IWMPCore3_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo) +#define IWMPCore3_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL) +#define IWMPCore3_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI) +#define IWMPCore3_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL) +#define IWMPCore3_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL) +#define IWMPCore3_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection) +#define IWMPCore3_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption) +#define IWMPCore3_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline) +#define IWMPCore3_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError) +#define IWMPCore3_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus) +/*** IWMPCore2 methods ***/ +#define IWMPCore3_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD) +/*** IWMPCore3 methods ***/ +#define IWMPCore3_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist) +#define IWMPCore3_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCore3_QueryInterface(IWMPCore3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCore3_AddRef(IWMPCore3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCore3_Release(IWMPCore3* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPCore3_GetTypeInfoCount(IWMPCore3* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPCore3_GetTypeInfo(IWMPCore3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPCore3_GetIDsOfNames(IWMPCore3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPCore3_Invoke(IWMPCore3* 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); +} +/*** IWMPCore methods ***/ +static inline HRESULT IWMPCore3_close(IWMPCore3* This) { + return This->lpVtbl->close(This); +} +static inline HRESULT IWMPCore3_get_URL(IWMPCore3* This,BSTR *pbstrURL) { + return This->lpVtbl->get_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore3_put_URL(IWMPCore3* This,BSTR pbstrURL) { + return This->lpVtbl->put_URL(This,pbstrURL); +} +static inline HRESULT IWMPCore3_get_openState(IWMPCore3* This,WMPOpenState *pwmpos) { + return This->lpVtbl->get_openState(This,pwmpos); +} +static inline HRESULT IWMPCore3_get_playState(IWMPCore3* This,WMPPlayState *pwmpps) { + return This->lpVtbl->get_playState(This,pwmpps); +} +static inline HRESULT IWMPCore3_get_controls(IWMPCore3* This,IWMPControls **ppControl) { + return This->lpVtbl->get_controls(This,ppControl); +} +static inline HRESULT IWMPCore3_get_settings(IWMPCore3* This,IWMPSettings **ppSettings) { + return This->lpVtbl->get_settings(This,ppSettings); +} +static inline HRESULT IWMPCore3_get_currentMedia(IWMPCore3* This,IWMPMedia **ppMedia) { + return This->lpVtbl->get_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore3_put_currentMedia(IWMPCore3* This,IWMPMedia *ppMedia) { + return This->lpVtbl->put_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPCore3_get_mediaCollection(IWMPCore3* This,IWMPMediaCollection **ppMediaCollection) { + return This->lpVtbl->get_mediaCollection(This,ppMediaCollection); +} +static inline HRESULT IWMPCore3_get_playlistCollection(IWMPCore3* This,IWMPPlaylistCollection **ppPlaylistCollection) { + return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection); +} +static inline HRESULT IWMPCore3_get_versionInfo(IWMPCore3* This,BSTR *pbstrVersionInfo) { + return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo); +} +static inline HRESULT IWMPCore3_launchURL(IWMPCore3* This,BSTR bstrURL) { + return This->lpVtbl->launchURL(This,bstrURL); +} +static inline HRESULT IWMPCore3_get_network(IWMPCore3* This,IWMPNetwork **ppQNI) { + return This->lpVtbl->get_network(This,ppQNI); +} +static inline HRESULT IWMPCore3_get_currentPlaylist(IWMPCore3* This,IWMPPlaylist **ppPL) { + return This->lpVtbl->get_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore3_put_currentPlaylist(IWMPCore3* This,IWMPPlaylist *ppPL) { + return This->lpVtbl->put_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPCore3_get_cdromCollection(IWMPCore3* This,IWMPCdromCollection **ppCdromCollection) { + return This->lpVtbl->get_cdromCollection(This,ppCdromCollection); +} +static inline HRESULT IWMPCore3_get_closedCaption(IWMPCore3* This,IWMPClosedCaption **ppClosedCaption) { + return This->lpVtbl->get_closedCaption(This,ppClosedCaption); +} +static inline HRESULT IWMPCore3_get_isOnline(IWMPCore3* This,VARIANT_BOOL *pfOnline) { + return This->lpVtbl->get_isOnline(This,pfOnline); +} +static inline HRESULT IWMPCore3_get_Error(IWMPCore3* This,IWMPError **ppError) { + return This->lpVtbl->get_Error(This,ppError); +} +static inline HRESULT IWMPCore3_get_status(IWMPCore3* This,BSTR *pbstrStatus) { + return This->lpVtbl->get_status(This,pbstrStatus); +} +/*** IWMPCore2 methods ***/ +static inline HRESULT IWMPCore3_get_dvd(IWMPCore3* This,IWMPDVD **ppDVD) { + return This->lpVtbl->get_dvd(This,ppDVD); +} +/*** IWMPCore3 methods ***/ +static inline HRESULT IWMPCore3_newPlaylist(IWMPCore3* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) { + return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist); +} +static inline HRESULT IWMPCore3_newMedia(IWMPCore3* This,BSTR bstrURL,IWMPMedia **ppMedia) { + return This->lpVtbl->newMedia(This,bstrURL,ppMedia); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCore3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPPlayer4 interface + */ +#ifndef __IWMPPlayer4_INTERFACE_DEFINED__ +#define __IWMPPlayer4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6c497d62-8919-413c-82db-e935fb3ec584") +IWMPPlayer4 : public IWMPCore3 +{ + virtual HRESULT STDMETHODCALLTYPE get_enabled( + VARIANT_BOOL *pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_enabled( + VARIANT_BOOL pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_fullScreen( + VARIANT_BOOL *pbFullScreen) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_fullScreen( + VARIANT_BOOL pbFullScreen) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu( + VARIANT_BOOL *pbEnableContextMenu) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu( + VARIANT_BOOL pbEnableContextMenu) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_uiMode( + BSTR pbstrMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_uiMode( + BSTR *pbstrMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_stretchToFit( + VARIANT_BOOL *pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_stretchToFit( + VARIANT_BOOL pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_windowlessVideo( + VARIANT_BOOL *pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_windowlessVideo( + VARIANT_BOOL pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_isRemote( + VARIANT_BOOL *pvarfIsRemote) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_playerApplication( + IWMPPlayerApplication **ppIWMPPlayerApplication) = 0; + + virtual HRESULT STDMETHODCALLTYPE openPlayer( + BSTR bstrURL) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlayer4, 0x6c497d62, 0x8919, 0x413c, 0x82,0xdb, 0xe9,0x35,0xfb,0x3e,0xc5,0x84) +#endif +#else +typedef struct IWMPPlayer4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlayer4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlayer4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlayer4 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlayer4 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlayer4 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlayer4 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlayer4 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCore methods ***/ + HRESULT (STDMETHODCALLTYPE *close)( + IWMPPlayer4 *This); + + HRESULT (STDMETHODCALLTYPE *get_URL)( + IWMPPlayer4 *This, + BSTR *pbstrURL); + + HRESULT (STDMETHODCALLTYPE *put_URL)( + IWMPPlayer4 *This, + BSTR pbstrURL); + + HRESULT (STDMETHODCALLTYPE *get_openState)( + IWMPPlayer4 *This, + WMPOpenState *pwmpos); + + HRESULT (STDMETHODCALLTYPE *get_playState)( + IWMPPlayer4 *This, + WMPPlayState *pwmpps); + + HRESULT (STDMETHODCALLTYPE *get_controls)( + IWMPPlayer4 *This, + IWMPControls **ppControl); + + HRESULT (STDMETHODCALLTYPE *get_settings)( + IWMPPlayer4 *This, + IWMPSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *get_currentMedia)( + IWMPPlayer4 *This, + IWMPMedia **ppMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentMedia)( + IWMPPlayer4 *This, + IWMPMedia *ppMedia); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPPlayer4 *This, + IWMPMediaCollection **ppMediaCollection); + + HRESULT (STDMETHODCALLTYPE *get_playlistCollection)( + IWMPPlayer4 *This, + IWMPPlaylistCollection **ppPlaylistCollection); + + HRESULT (STDMETHODCALLTYPE *get_versionInfo)( + IWMPPlayer4 *This, + BSTR *pbstrVersionInfo); + + HRESULT (STDMETHODCALLTYPE *launchURL)( + IWMPPlayer4 *This, + BSTR bstrURL); + + HRESULT (STDMETHODCALLTYPE *get_network)( + IWMPPlayer4 *This, + IWMPNetwork **ppQNI); + + HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)( + IWMPPlayer4 *This, + IWMPPlaylist **ppPL); + + HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)( + IWMPPlayer4 *This, + IWMPPlaylist *ppPL); + + HRESULT (STDMETHODCALLTYPE *get_cdromCollection)( + IWMPPlayer4 *This, + IWMPCdromCollection **ppCdromCollection); + + HRESULT (STDMETHODCALLTYPE *get_closedCaption)( + IWMPPlayer4 *This, + IWMPClosedCaption **ppClosedCaption); + + HRESULT (STDMETHODCALLTYPE *get_isOnline)( + IWMPPlayer4 *This, + VARIANT_BOOL *pfOnline); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWMPPlayer4 *This, + IWMPError **ppError); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPPlayer4 *This, + BSTR *pbstrStatus); + + /*** IWMPCore2 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_dvd)( + IWMPPlayer4 *This, + IWMPDVD **ppDVD); + + /*** IWMPCore3 methods ***/ + HRESULT (STDMETHODCALLTYPE *newPlaylist)( + IWMPPlayer4 *This, + BSTR bstrName, + BSTR bstrURL, + IWMPPlaylist **ppPlaylist); + + HRESULT (STDMETHODCALLTYPE *newMedia)( + IWMPPlayer4 *This, + BSTR bstrURL, + IWMPMedia **ppMedia); + + /*** IWMPPlayer4 methods ***/ + HRESULT (STDMETHODCALLTYPE *get_enabled)( + IWMPPlayer4 *This, + VARIANT_BOOL *pbEnabled); + + HRESULT (STDMETHODCALLTYPE *put_enabled)( + IWMPPlayer4 *This, + VARIANT_BOOL pbEnabled); + + HRESULT (STDMETHODCALLTYPE *get_fullScreen)( + IWMPPlayer4 *This, + VARIANT_BOOL *pbFullScreen); + + HRESULT (STDMETHODCALLTYPE *put_fullScreen)( + IWMPPlayer4 *This, + VARIANT_BOOL pbFullScreen); + + HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)( + IWMPPlayer4 *This, + VARIANT_BOOL *pbEnableContextMenu); + + HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)( + IWMPPlayer4 *This, + VARIANT_BOOL pbEnableContextMenu); + + HRESULT (STDMETHODCALLTYPE *put_uiMode)( + IWMPPlayer4 *This, + BSTR pbstrMode); + + HRESULT (STDMETHODCALLTYPE *get_uiMode)( + IWMPPlayer4 *This, + BSTR *pbstrMode); + + HRESULT (STDMETHODCALLTYPE *get_stretchToFit)( + IWMPPlayer4 *This, + VARIANT_BOOL *pbEnabled); + + HRESULT (STDMETHODCALLTYPE *put_stretchToFit)( + IWMPPlayer4 *This, + VARIANT_BOOL pbEnabled); + + HRESULT (STDMETHODCALLTYPE *get_windowlessVideo)( + IWMPPlayer4 *This, + VARIANT_BOOL *pbEnabled); + + HRESULT (STDMETHODCALLTYPE *put_windowlessVideo)( + IWMPPlayer4 *This, + VARIANT_BOOL pbEnabled); + + HRESULT (STDMETHODCALLTYPE *get_isRemote)( + IWMPPlayer4 *This, + VARIANT_BOOL *pvarfIsRemote); + + HRESULT (STDMETHODCALLTYPE *get_playerApplication)( + IWMPPlayer4 *This, + IWMPPlayerApplication **ppIWMPPlayerApplication); + + HRESULT (STDMETHODCALLTYPE *openPlayer)( + IWMPPlayer4 *This, + BSTR bstrURL); + + END_INTERFACE +} IWMPPlayer4Vtbl; + +interface IWMPPlayer4 { + CONST_VTBL IWMPPlayer4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlayer4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlayer4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlayer4_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlayer4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlayer4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlayer4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlayer4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCore methods ***/ +#define IWMPPlayer4_close(This) (This)->lpVtbl->close(This) +#define IWMPPlayer4_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL) +#define IWMPPlayer4_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL) +#define IWMPPlayer4_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos) +#define IWMPPlayer4_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps) +#define IWMPPlayer4_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl) +#define IWMPPlayer4_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings) +#define IWMPPlayer4_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia) +#define IWMPPlayer4_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia) +#define IWMPPlayer4_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection) +#define IWMPPlayer4_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection) +#define IWMPPlayer4_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo) +#define IWMPPlayer4_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL) +#define IWMPPlayer4_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI) +#define IWMPPlayer4_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL) +#define IWMPPlayer4_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL) +#define IWMPPlayer4_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection) +#define IWMPPlayer4_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption) +#define IWMPPlayer4_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline) +#define IWMPPlayer4_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError) +#define IWMPPlayer4_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus) +/*** IWMPCore2 methods ***/ +#define IWMPPlayer4_get_dvd(This,ppDVD) (This)->lpVtbl->get_dvd(This,ppDVD) +/*** IWMPCore3 methods ***/ +#define IWMPPlayer4_newPlaylist(This,bstrName,bstrURL,ppPlaylist) (This)->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist) +#define IWMPPlayer4_newMedia(This,bstrURL,ppMedia) (This)->lpVtbl->newMedia(This,bstrURL,ppMedia) +/*** IWMPPlayer4 methods ***/ +#define IWMPPlayer4_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled) +#define IWMPPlayer4_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled) +#define IWMPPlayer4_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen) +#define IWMPPlayer4_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen) +#define IWMPPlayer4_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu) +#define IWMPPlayer4_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu) +#define IWMPPlayer4_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode) +#define IWMPPlayer4_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode) +#define IWMPPlayer4_get_stretchToFit(This,pbEnabled) (This)->lpVtbl->get_stretchToFit(This,pbEnabled) +#define IWMPPlayer4_put_stretchToFit(This,pbEnabled) (This)->lpVtbl->put_stretchToFit(This,pbEnabled) +#define IWMPPlayer4_get_windowlessVideo(This,pbEnabled) (This)->lpVtbl->get_windowlessVideo(This,pbEnabled) +#define IWMPPlayer4_put_windowlessVideo(This,pbEnabled) (This)->lpVtbl->put_windowlessVideo(This,pbEnabled) +#define IWMPPlayer4_get_isRemote(This,pvarfIsRemote) (This)->lpVtbl->get_isRemote(This,pvarfIsRemote) +#define IWMPPlayer4_get_playerApplication(This,ppIWMPPlayerApplication) (This)->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication) +#define IWMPPlayer4_openPlayer(This,bstrURL) (This)->lpVtbl->openPlayer(This,bstrURL) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlayer4_QueryInterface(IWMPPlayer4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlayer4_AddRef(IWMPPlayer4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlayer4_Release(IWMPPlayer4* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlayer4_GetTypeInfoCount(IWMPPlayer4* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlayer4_GetTypeInfo(IWMPPlayer4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlayer4_GetIDsOfNames(IWMPPlayer4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlayer4_Invoke(IWMPPlayer4* 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); +} +/*** IWMPCore methods ***/ +static inline HRESULT IWMPPlayer4_close(IWMPPlayer4* This) { + return This->lpVtbl->close(This); +} +static inline HRESULT IWMPPlayer4_get_URL(IWMPPlayer4* This,BSTR *pbstrURL) { + return This->lpVtbl->get_URL(This,pbstrURL); +} +static inline HRESULT IWMPPlayer4_put_URL(IWMPPlayer4* This,BSTR pbstrURL) { + return This->lpVtbl->put_URL(This,pbstrURL); +} +static inline HRESULT IWMPPlayer4_get_openState(IWMPPlayer4* This,WMPOpenState *pwmpos) { + return This->lpVtbl->get_openState(This,pwmpos); +} +static inline HRESULT IWMPPlayer4_get_playState(IWMPPlayer4* This,WMPPlayState *pwmpps) { + return This->lpVtbl->get_playState(This,pwmpps); +} +static inline HRESULT IWMPPlayer4_get_controls(IWMPPlayer4* This,IWMPControls **ppControl) { + return This->lpVtbl->get_controls(This,ppControl); +} +static inline HRESULT IWMPPlayer4_get_settings(IWMPPlayer4* This,IWMPSettings **ppSettings) { + return This->lpVtbl->get_settings(This,ppSettings); +} +static inline HRESULT IWMPPlayer4_get_currentMedia(IWMPPlayer4* This,IWMPMedia **ppMedia) { + return This->lpVtbl->get_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPPlayer4_put_currentMedia(IWMPPlayer4* This,IWMPMedia *ppMedia) { + return This->lpVtbl->put_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPPlayer4_get_mediaCollection(IWMPPlayer4* This,IWMPMediaCollection **ppMediaCollection) { + return This->lpVtbl->get_mediaCollection(This,ppMediaCollection); +} +static inline HRESULT IWMPPlayer4_get_playlistCollection(IWMPPlayer4* This,IWMPPlaylistCollection **ppPlaylistCollection) { + return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection); +} +static inline HRESULT IWMPPlayer4_get_versionInfo(IWMPPlayer4* This,BSTR *pbstrVersionInfo) { + return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo); +} +static inline HRESULT IWMPPlayer4_launchURL(IWMPPlayer4* This,BSTR bstrURL) { + return This->lpVtbl->launchURL(This,bstrURL); +} +static inline HRESULT IWMPPlayer4_get_network(IWMPPlayer4* This,IWMPNetwork **ppQNI) { + return This->lpVtbl->get_network(This,ppQNI); +} +static inline HRESULT IWMPPlayer4_get_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist **ppPL) { + return This->lpVtbl->get_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPPlayer4_put_currentPlaylist(IWMPPlayer4* This,IWMPPlaylist *ppPL) { + return This->lpVtbl->put_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPPlayer4_get_cdromCollection(IWMPPlayer4* This,IWMPCdromCollection **ppCdromCollection) { + return This->lpVtbl->get_cdromCollection(This,ppCdromCollection); +} +static inline HRESULT IWMPPlayer4_get_closedCaption(IWMPPlayer4* This,IWMPClosedCaption **ppClosedCaption) { + return This->lpVtbl->get_closedCaption(This,ppClosedCaption); +} +static inline HRESULT IWMPPlayer4_get_isOnline(IWMPPlayer4* This,VARIANT_BOOL *pfOnline) { + return This->lpVtbl->get_isOnline(This,pfOnline); +} +static inline HRESULT IWMPPlayer4_get_Error(IWMPPlayer4* This,IWMPError **ppError) { + return This->lpVtbl->get_Error(This,ppError); +} +static inline HRESULT IWMPPlayer4_get_status(IWMPPlayer4* This,BSTR *pbstrStatus) { + return This->lpVtbl->get_status(This,pbstrStatus); +} +/*** IWMPCore2 methods ***/ +static inline HRESULT IWMPPlayer4_get_dvd(IWMPPlayer4* This,IWMPDVD **ppDVD) { + return This->lpVtbl->get_dvd(This,ppDVD); +} +/*** IWMPCore3 methods ***/ +static inline HRESULT IWMPPlayer4_newPlaylist(IWMPPlayer4* This,BSTR bstrName,BSTR bstrURL,IWMPPlaylist **ppPlaylist) { + return This->lpVtbl->newPlaylist(This,bstrName,bstrURL,ppPlaylist); +} +static inline HRESULT IWMPPlayer4_newMedia(IWMPPlayer4* This,BSTR bstrURL,IWMPMedia **ppMedia) { + return This->lpVtbl->newMedia(This,bstrURL,ppMedia); +} +/*** IWMPPlayer4 methods ***/ +static inline HRESULT IWMPPlayer4_get_enabled(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) { + return This->lpVtbl->get_enabled(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_put_enabled(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) { + return This->lpVtbl->put_enabled(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_get_fullScreen(IWMPPlayer4* This,VARIANT_BOOL *pbFullScreen) { + return This->lpVtbl->get_fullScreen(This,pbFullScreen); +} +static inline HRESULT IWMPPlayer4_put_fullScreen(IWMPPlayer4* This,VARIANT_BOOL pbFullScreen) { + return This->lpVtbl->put_fullScreen(This,pbFullScreen); +} +static inline HRESULT IWMPPlayer4_get_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL *pbEnableContextMenu) { + return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu); +} +static inline HRESULT IWMPPlayer4_put_enableContextMenu(IWMPPlayer4* This,VARIANT_BOOL pbEnableContextMenu) { + return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu); +} +static inline HRESULT IWMPPlayer4_put_uiMode(IWMPPlayer4* This,BSTR pbstrMode) { + return This->lpVtbl->put_uiMode(This,pbstrMode); +} +static inline HRESULT IWMPPlayer4_get_uiMode(IWMPPlayer4* This,BSTR *pbstrMode) { + return This->lpVtbl->get_uiMode(This,pbstrMode); +} +static inline HRESULT IWMPPlayer4_get_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) { + return This->lpVtbl->get_stretchToFit(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_put_stretchToFit(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) { + return This->lpVtbl->put_stretchToFit(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_get_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL *pbEnabled) { + return This->lpVtbl->get_windowlessVideo(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_put_windowlessVideo(IWMPPlayer4* This,VARIANT_BOOL pbEnabled) { + return This->lpVtbl->put_windowlessVideo(This,pbEnabled); +} +static inline HRESULT IWMPPlayer4_get_isRemote(IWMPPlayer4* This,VARIANT_BOOL *pvarfIsRemote) { + return This->lpVtbl->get_isRemote(This,pvarfIsRemote); +} +static inline HRESULT IWMPPlayer4_get_playerApplication(IWMPPlayer4* This,IWMPPlayerApplication **ppIWMPPlayerApplication) { + return This->lpVtbl->get_playerApplication(This,ppIWMPPlayerApplication); +} +static inline HRESULT IWMPPlayer4_openPlayer(IWMPPlayer4* This,BSTR bstrURL) { + return This->lpVtbl->openPlayer(This,bstrURL); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlayer4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPPlayer interface + */ +#ifndef __IWMPPlayer_INTERFACE_DEFINED__ +#define __IWMPPlayer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6bf52a4f-394a-11d3-b153-00c04f79faa6") +IWMPPlayer : public IWMPCore +{ + virtual HRESULT STDMETHODCALLTYPE get_enabled( + VARIANT_BOOL *pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_enabled( + VARIANT_BOOL pbEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_fullScreen( + VARIANT_BOOL *pbFullScreen) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_fullScreen( + VARIANT_BOOL pbFullScreen) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_enableContextMenu( + VARIANT_BOOL *pbEnableContextMenu) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_enableContextMenu( + VARIANT_BOOL pbEnableContextMenu) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_uiMode( + BSTR pbstrMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_uiMode( + BSTR *pbstrMode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPPlayer, 0x6bf52a4f, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6) +#endif +#else +typedef struct IWMPPlayerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPPlayer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPPlayer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPPlayer *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWMPPlayer *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWMPPlayer *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWMPPlayer *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWMPPlayer *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWMPCore methods ***/ + HRESULT (STDMETHODCALLTYPE *close)( + IWMPPlayer *This); + + HRESULT (STDMETHODCALLTYPE *get_URL)( + IWMPPlayer *This, + BSTR *pbstrURL); + + HRESULT (STDMETHODCALLTYPE *put_URL)( + IWMPPlayer *This, + BSTR pbstrURL); + + HRESULT (STDMETHODCALLTYPE *get_openState)( + IWMPPlayer *This, + WMPOpenState *pwmpos); + + HRESULT (STDMETHODCALLTYPE *get_playState)( + IWMPPlayer *This, + WMPPlayState *pwmpps); + + HRESULT (STDMETHODCALLTYPE *get_controls)( + IWMPPlayer *This, + IWMPControls **ppControl); + + HRESULT (STDMETHODCALLTYPE *get_settings)( + IWMPPlayer *This, + IWMPSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *get_currentMedia)( + IWMPPlayer *This, + IWMPMedia **ppMedia); + + HRESULT (STDMETHODCALLTYPE *put_currentMedia)( + IWMPPlayer *This, + IWMPMedia *ppMedia); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPPlayer *This, + IWMPMediaCollection **ppMediaCollection); + + HRESULT (STDMETHODCALLTYPE *get_playlistCollection)( + IWMPPlayer *This, + IWMPPlaylistCollection **ppPlaylistCollection); + + HRESULT (STDMETHODCALLTYPE *get_versionInfo)( + IWMPPlayer *This, + BSTR *pbstrVersionInfo); + + HRESULT (STDMETHODCALLTYPE *launchURL)( + IWMPPlayer *This, + BSTR bstrURL); + + HRESULT (STDMETHODCALLTYPE *get_network)( + IWMPPlayer *This, + IWMPNetwork **ppQNI); + + HRESULT (STDMETHODCALLTYPE *get_currentPlaylist)( + IWMPPlayer *This, + IWMPPlaylist **ppPL); + + HRESULT (STDMETHODCALLTYPE *put_currentPlaylist)( + IWMPPlayer *This, + IWMPPlaylist *ppPL); + + HRESULT (STDMETHODCALLTYPE *get_cdromCollection)( + IWMPPlayer *This, + IWMPCdromCollection **ppCdromCollection); + + HRESULT (STDMETHODCALLTYPE *get_closedCaption)( + IWMPPlayer *This, + IWMPClosedCaption **ppClosedCaption); + + HRESULT (STDMETHODCALLTYPE *get_isOnline)( + IWMPPlayer *This, + VARIANT_BOOL *pfOnline); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWMPPlayer *This, + IWMPError **ppError); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPPlayer *This, + BSTR *pbstrStatus); + + /*** IWMPPlayer methods ***/ + HRESULT (STDMETHODCALLTYPE *get_enabled)( + IWMPPlayer *This, + VARIANT_BOOL *pbEnabled); + + HRESULT (STDMETHODCALLTYPE *put_enabled)( + IWMPPlayer *This, + VARIANT_BOOL pbEnabled); + + HRESULT (STDMETHODCALLTYPE *get_fullScreen)( + IWMPPlayer *This, + VARIANT_BOOL *pbFullScreen); + + HRESULT (STDMETHODCALLTYPE *put_fullScreen)( + IWMPPlayer *This, + VARIANT_BOOL pbFullScreen); + + HRESULT (STDMETHODCALLTYPE *get_enableContextMenu)( + IWMPPlayer *This, + VARIANT_BOOL *pbEnableContextMenu); + + HRESULT (STDMETHODCALLTYPE *put_enableContextMenu)( + IWMPPlayer *This, + VARIANT_BOOL pbEnableContextMenu); + + HRESULT (STDMETHODCALLTYPE *put_uiMode)( + IWMPPlayer *This, + BSTR pbstrMode); + + HRESULT (STDMETHODCALLTYPE *get_uiMode)( + IWMPPlayer *This, + BSTR *pbstrMode); + + END_INTERFACE +} IWMPPlayerVtbl; + +interface IWMPPlayer { + CONST_VTBL IWMPPlayerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPPlayer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPPlayer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPPlayer_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWMPPlayer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWMPPlayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWMPPlayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWMPPlayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWMPCore methods ***/ +#define IWMPPlayer_close(This) (This)->lpVtbl->close(This) +#define IWMPPlayer_get_URL(This,pbstrURL) (This)->lpVtbl->get_URL(This,pbstrURL) +#define IWMPPlayer_put_URL(This,pbstrURL) (This)->lpVtbl->put_URL(This,pbstrURL) +#define IWMPPlayer_get_openState(This,pwmpos) (This)->lpVtbl->get_openState(This,pwmpos) +#define IWMPPlayer_get_playState(This,pwmpps) (This)->lpVtbl->get_playState(This,pwmpps) +#define IWMPPlayer_get_controls(This,ppControl) (This)->lpVtbl->get_controls(This,ppControl) +#define IWMPPlayer_get_settings(This,ppSettings) (This)->lpVtbl->get_settings(This,ppSettings) +#define IWMPPlayer_get_currentMedia(This,ppMedia) (This)->lpVtbl->get_currentMedia(This,ppMedia) +#define IWMPPlayer_put_currentMedia(This,ppMedia) (This)->lpVtbl->put_currentMedia(This,ppMedia) +#define IWMPPlayer_get_mediaCollection(This,ppMediaCollection) (This)->lpVtbl->get_mediaCollection(This,ppMediaCollection) +#define IWMPPlayer_get_playlistCollection(This,ppPlaylistCollection) (This)->lpVtbl->get_playlistCollection(This,ppPlaylistCollection) +#define IWMPPlayer_get_versionInfo(This,pbstrVersionInfo) (This)->lpVtbl->get_versionInfo(This,pbstrVersionInfo) +#define IWMPPlayer_launchURL(This,bstrURL) (This)->lpVtbl->launchURL(This,bstrURL) +#define IWMPPlayer_get_network(This,ppQNI) (This)->lpVtbl->get_network(This,ppQNI) +#define IWMPPlayer_get_currentPlaylist(This,ppPL) (This)->lpVtbl->get_currentPlaylist(This,ppPL) +#define IWMPPlayer_put_currentPlaylist(This,ppPL) (This)->lpVtbl->put_currentPlaylist(This,ppPL) +#define IWMPPlayer_get_cdromCollection(This,ppCdromCollection) (This)->lpVtbl->get_cdromCollection(This,ppCdromCollection) +#define IWMPPlayer_get_closedCaption(This,ppClosedCaption) (This)->lpVtbl->get_closedCaption(This,ppClosedCaption) +#define IWMPPlayer_get_isOnline(This,pfOnline) (This)->lpVtbl->get_isOnline(This,pfOnline) +#define IWMPPlayer_get_Error(This,ppError) (This)->lpVtbl->get_Error(This,ppError) +#define IWMPPlayer_get_status(This,pbstrStatus) (This)->lpVtbl->get_status(This,pbstrStatus) +/*** IWMPPlayer methods ***/ +#define IWMPPlayer_get_enabled(This,pbEnabled) (This)->lpVtbl->get_enabled(This,pbEnabled) +#define IWMPPlayer_put_enabled(This,pbEnabled) (This)->lpVtbl->put_enabled(This,pbEnabled) +#define IWMPPlayer_get_fullScreen(This,pbFullScreen) (This)->lpVtbl->get_fullScreen(This,pbFullScreen) +#define IWMPPlayer_put_fullScreen(This,pbFullScreen) (This)->lpVtbl->put_fullScreen(This,pbFullScreen) +#define IWMPPlayer_get_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu) +#define IWMPPlayer_put_enableContextMenu(This,pbEnableContextMenu) (This)->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu) +#define IWMPPlayer_put_uiMode(This,pbstrMode) (This)->lpVtbl->put_uiMode(This,pbstrMode) +#define IWMPPlayer_get_uiMode(This,pbstrMode) (This)->lpVtbl->get_uiMode(This,pbstrMode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPPlayer_QueryInterface(IWMPPlayer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPPlayer_AddRef(IWMPPlayer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPPlayer_Release(IWMPPlayer* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWMPPlayer_GetTypeInfoCount(IWMPPlayer* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWMPPlayer_GetTypeInfo(IWMPPlayer* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWMPPlayer_GetIDsOfNames(IWMPPlayer* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWMPPlayer_Invoke(IWMPPlayer* 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); +} +/*** IWMPCore methods ***/ +static inline HRESULT IWMPPlayer_close(IWMPPlayer* This) { + return This->lpVtbl->close(This); +} +static inline HRESULT IWMPPlayer_get_URL(IWMPPlayer* This,BSTR *pbstrURL) { + return This->lpVtbl->get_URL(This,pbstrURL); +} +static inline HRESULT IWMPPlayer_put_URL(IWMPPlayer* This,BSTR pbstrURL) { + return This->lpVtbl->put_URL(This,pbstrURL); +} +static inline HRESULT IWMPPlayer_get_openState(IWMPPlayer* This,WMPOpenState *pwmpos) { + return This->lpVtbl->get_openState(This,pwmpos); +} +static inline HRESULT IWMPPlayer_get_playState(IWMPPlayer* This,WMPPlayState *pwmpps) { + return This->lpVtbl->get_playState(This,pwmpps); +} +static inline HRESULT IWMPPlayer_get_controls(IWMPPlayer* This,IWMPControls **ppControl) { + return This->lpVtbl->get_controls(This,ppControl); +} +static inline HRESULT IWMPPlayer_get_settings(IWMPPlayer* This,IWMPSettings **ppSettings) { + return This->lpVtbl->get_settings(This,ppSettings); +} +static inline HRESULT IWMPPlayer_get_currentMedia(IWMPPlayer* This,IWMPMedia **ppMedia) { + return This->lpVtbl->get_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPPlayer_put_currentMedia(IWMPPlayer* This,IWMPMedia *ppMedia) { + return This->lpVtbl->put_currentMedia(This,ppMedia); +} +static inline HRESULT IWMPPlayer_get_mediaCollection(IWMPPlayer* This,IWMPMediaCollection **ppMediaCollection) { + return This->lpVtbl->get_mediaCollection(This,ppMediaCollection); +} +static inline HRESULT IWMPPlayer_get_playlistCollection(IWMPPlayer* This,IWMPPlaylistCollection **ppPlaylistCollection) { + return This->lpVtbl->get_playlistCollection(This,ppPlaylistCollection); +} +static inline HRESULT IWMPPlayer_get_versionInfo(IWMPPlayer* This,BSTR *pbstrVersionInfo) { + return This->lpVtbl->get_versionInfo(This,pbstrVersionInfo); +} +static inline HRESULT IWMPPlayer_launchURL(IWMPPlayer* This,BSTR bstrURL) { + return This->lpVtbl->launchURL(This,bstrURL); +} +static inline HRESULT IWMPPlayer_get_network(IWMPPlayer* This,IWMPNetwork **ppQNI) { + return This->lpVtbl->get_network(This,ppQNI); +} +static inline HRESULT IWMPPlayer_get_currentPlaylist(IWMPPlayer* This,IWMPPlaylist **ppPL) { + return This->lpVtbl->get_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPPlayer_put_currentPlaylist(IWMPPlayer* This,IWMPPlaylist *ppPL) { + return This->lpVtbl->put_currentPlaylist(This,ppPL); +} +static inline HRESULT IWMPPlayer_get_cdromCollection(IWMPPlayer* This,IWMPCdromCollection **ppCdromCollection) { + return This->lpVtbl->get_cdromCollection(This,ppCdromCollection); +} +static inline HRESULT IWMPPlayer_get_closedCaption(IWMPPlayer* This,IWMPClosedCaption **ppClosedCaption) { + return This->lpVtbl->get_closedCaption(This,ppClosedCaption); +} +static inline HRESULT IWMPPlayer_get_isOnline(IWMPPlayer* This,VARIANT_BOOL *pfOnline) { + return This->lpVtbl->get_isOnline(This,pfOnline); +} +static inline HRESULT IWMPPlayer_get_Error(IWMPPlayer* This,IWMPError **ppError) { + return This->lpVtbl->get_Error(This,ppError); +} +static inline HRESULT IWMPPlayer_get_status(IWMPPlayer* This,BSTR *pbstrStatus) { + return This->lpVtbl->get_status(This,pbstrStatus); +} +/*** IWMPPlayer methods ***/ +static inline HRESULT IWMPPlayer_get_enabled(IWMPPlayer* This,VARIANT_BOOL *pbEnabled) { + return This->lpVtbl->get_enabled(This,pbEnabled); +} +static inline HRESULT IWMPPlayer_put_enabled(IWMPPlayer* This,VARIANT_BOOL pbEnabled) { + return This->lpVtbl->put_enabled(This,pbEnabled); +} +static inline HRESULT IWMPPlayer_get_fullScreen(IWMPPlayer* This,VARIANT_BOOL *pbFullScreen) { + return This->lpVtbl->get_fullScreen(This,pbFullScreen); +} +static inline HRESULT IWMPPlayer_put_fullScreen(IWMPPlayer* This,VARIANT_BOOL pbFullScreen) { + return This->lpVtbl->put_fullScreen(This,pbFullScreen); +} +static inline HRESULT IWMPPlayer_get_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL *pbEnableContextMenu) { + return This->lpVtbl->get_enableContextMenu(This,pbEnableContextMenu); +} +static inline HRESULT IWMPPlayer_put_enableContextMenu(IWMPPlayer* This,VARIANT_BOOL pbEnableContextMenu) { + return This->lpVtbl->put_enableContextMenu(This,pbEnableContextMenu); +} +static inline HRESULT IWMPPlayer_put_uiMode(IWMPPlayer* This,BSTR pbstrMode) { + return This->lpVtbl->put_uiMode(This,pbstrMode); +} +static inline HRESULT IWMPPlayer_get_uiMode(IWMPPlayer* This,BSTR *pbstrMode) { + return This->lpVtbl->get_uiMode(This,pbstrMode); +} +#endif +#endif + +#endif + + +#endif /* __IWMPPlayer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPSyncDevice interface + */ +#ifndef __IWMPSyncDevice_INTERFACE_DEFINED__ +#define __IWMPSyncDevice_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("82a2986c-0293-4fd0-b279-b21b86c058be") +IWMPSyncDevice : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_friendlyName( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_friendlyName( + BSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_deviceName( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_deviceId( + BSTR *device) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_partnershipIndex( + LONG *index) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_connected( + VARIANT_BOOL *connected) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_status( + WMPDeviceStatus *status) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_syncState( + WMPSyncState *state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_progress( + LONG *progress) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfo( + BSTR name, + BSTR *val) = 0; + + virtual HRESULT STDMETHODCALLTYPE createPartnership( + VARIANT_BOOL showui) = 0; + + virtual HRESULT STDMETHODCALLTYPE deletePartnership( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE start( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE stop( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE showSettings( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE isIdentical( + IWMPSyncDevice *device, + VARIANT_BOOL *ret) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPSyncDevice, 0x82a2986c, 0x0293, 0x4fd0, 0xb2,0x79, 0xb2,0x1b,0x86,0xc0,0x58,0xbe) +#endif +#else +typedef struct IWMPSyncDeviceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPSyncDevice *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPSyncDevice *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPSyncDevice *This); + + /*** IWMPSyncDevice methods ***/ + HRESULT (STDMETHODCALLTYPE *get_friendlyName)( + IWMPSyncDevice *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_friendlyName)( + IWMPSyncDevice *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *get_deviceName)( + IWMPSyncDevice *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_deviceId)( + IWMPSyncDevice *This, + BSTR *device); + + HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)( + IWMPSyncDevice *This, + LONG *index); + + HRESULT (STDMETHODCALLTYPE *get_connected)( + IWMPSyncDevice *This, + VARIANT_BOOL *connected); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPSyncDevice *This, + WMPDeviceStatus *status); + + HRESULT (STDMETHODCALLTYPE *get_syncState)( + IWMPSyncDevice *This, + WMPSyncState *state); + + HRESULT (STDMETHODCALLTYPE *get_progress)( + IWMPSyncDevice *This, + LONG *progress); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPSyncDevice *This, + BSTR name, + BSTR *val); + + HRESULT (STDMETHODCALLTYPE *createPartnership)( + IWMPSyncDevice *This, + VARIANT_BOOL showui); + + HRESULT (STDMETHODCALLTYPE *deletePartnership)( + IWMPSyncDevice *This); + + HRESULT (STDMETHODCALLTYPE *start)( + IWMPSyncDevice *This); + + HRESULT (STDMETHODCALLTYPE *stop)( + IWMPSyncDevice *This); + + HRESULT (STDMETHODCALLTYPE *showSettings)( + IWMPSyncDevice *This); + + HRESULT (STDMETHODCALLTYPE *isIdentical)( + IWMPSyncDevice *This, + IWMPSyncDevice *device, + VARIANT_BOOL *ret); + + END_INTERFACE +} IWMPSyncDeviceVtbl; + +interface IWMPSyncDevice { + CONST_VTBL IWMPSyncDeviceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPSyncDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPSyncDevice_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPSyncDevice_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPSyncDevice methods ***/ +#define IWMPSyncDevice_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name) +#define IWMPSyncDevice_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name) +#define IWMPSyncDevice_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name) +#define IWMPSyncDevice_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device) +#define IWMPSyncDevice_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index) +#define IWMPSyncDevice_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected) +#define IWMPSyncDevice_get_status(This,status) (This)->lpVtbl->get_status(This,status) +#define IWMPSyncDevice_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state) +#define IWMPSyncDevice_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress) +#define IWMPSyncDevice_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val) +#define IWMPSyncDevice_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui) +#define IWMPSyncDevice_deletePartnership(This) (This)->lpVtbl->deletePartnership(This) +#define IWMPSyncDevice_start(This) (This)->lpVtbl->start(This) +#define IWMPSyncDevice_stop(This) (This)->lpVtbl->stop(This) +#define IWMPSyncDevice_showSettings(This) (This)->lpVtbl->showSettings(This) +#define IWMPSyncDevice_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPSyncDevice_QueryInterface(IWMPSyncDevice* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPSyncDevice_AddRef(IWMPSyncDevice* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPSyncDevice_Release(IWMPSyncDevice* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPSyncDevice methods ***/ +static inline HRESULT IWMPSyncDevice_get_friendlyName(IWMPSyncDevice* This,BSTR *name) { + return This->lpVtbl->get_friendlyName(This,name); +} +static inline HRESULT IWMPSyncDevice_put_friendlyName(IWMPSyncDevice* This,BSTR name) { + return This->lpVtbl->put_friendlyName(This,name); +} +static inline HRESULT IWMPSyncDevice_get_deviceName(IWMPSyncDevice* This,BSTR *name) { + return This->lpVtbl->get_deviceName(This,name); +} +static inline HRESULT IWMPSyncDevice_get_deviceId(IWMPSyncDevice* This,BSTR *device) { + return This->lpVtbl->get_deviceId(This,device); +} +static inline HRESULT IWMPSyncDevice_get_partnershipIndex(IWMPSyncDevice* This,LONG *index) { + return This->lpVtbl->get_partnershipIndex(This,index); +} +static inline HRESULT IWMPSyncDevice_get_connected(IWMPSyncDevice* This,VARIANT_BOOL *connected) { + return This->lpVtbl->get_connected(This,connected); +} +static inline HRESULT IWMPSyncDevice_get_status(IWMPSyncDevice* This,WMPDeviceStatus *status) { + return This->lpVtbl->get_status(This,status); +} +static inline HRESULT IWMPSyncDevice_get_syncState(IWMPSyncDevice* This,WMPSyncState *state) { + return This->lpVtbl->get_syncState(This,state); +} +static inline HRESULT IWMPSyncDevice_get_progress(IWMPSyncDevice* This,LONG *progress) { + return This->lpVtbl->get_progress(This,progress); +} +static inline HRESULT IWMPSyncDevice_getItemInfo(IWMPSyncDevice* This,BSTR name,BSTR *val) { + return This->lpVtbl->getItemInfo(This,name,val); +} +static inline HRESULT IWMPSyncDevice_createPartnership(IWMPSyncDevice* This,VARIANT_BOOL showui) { + return This->lpVtbl->createPartnership(This,showui); +} +static inline HRESULT IWMPSyncDevice_deletePartnership(IWMPSyncDevice* This) { + return This->lpVtbl->deletePartnership(This); +} +static inline HRESULT IWMPSyncDevice_start(IWMPSyncDevice* This) { + return This->lpVtbl->start(This); +} +static inline HRESULT IWMPSyncDevice_stop(IWMPSyncDevice* This) { + return This->lpVtbl->stop(This); +} +static inline HRESULT IWMPSyncDevice_showSettings(IWMPSyncDevice* This) { + return This->lpVtbl->showSettings(This); +} +static inline HRESULT IWMPSyncDevice_isIdentical(IWMPSyncDevice* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) { + return This->lpVtbl->isIdentical(This,device,ret); +} +#endif +#endif + +#endif + + +#endif /* __IWMPSyncDevice_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPSyncDevice2 interface + */ +#ifndef __IWMPSyncDevice2_INTERFACE_DEFINED__ +#define __IWMPSyncDevice2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("88afb4b2-140a-44d2-91e6-4543da467cd1") +IWMPSyncDevice2 : public IWMPSyncDevice +{ + virtual HRESULT STDMETHODCALLTYPE setItemInfo( + BSTR name, + BSTR val) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPSyncDevice2, 0x88afb4b2, 0x140a, 0x44d2, 0x91,0xe6, 0x45,0x43,0xda,0x46,0x7c,0xd1) +#endif +#else +typedef struct IWMPSyncDevice2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPSyncDevice2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPSyncDevice2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPSyncDevice2 *This); + + /*** IWMPSyncDevice methods ***/ + HRESULT (STDMETHODCALLTYPE *get_friendlyName)( + IWMPSyncDevice2 *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_friendlyName)( + IWMPSyncDevice2 *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *get_deviceName)( + IWMPSyncDevice2 *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_deviceId)( + IWMPSyncDevice2 *This, + BSTR *device); + + HRESULT (STDMETHODCALLTYPE *get_partnershipIndex)( + IWMPSyncDevice2 *This, + LONG *index); + + HRESULT (STDMETHODCALLTYPE *get_connected)( + IWMPSyncDevice2 *This, + VARIANT_BOOL *connected); + + HRESULT (STDMETHODCALLTYPE *get_status)( + IWMPSyncDevice2 *This, + WMPDeviceStatus *status); + + HRESULT (STDMETHODCALLTYPE *get_syncState)( + IWMPSyncDevice2 *This, + WMPSyncState *state); + + HRESULT (STDMETHODCALLTYPE *get_progress)( + IWMPSyncDevice2 *This, + LONG *progress); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPSyncDevice2 *This, + BSTR name, + BSTR *val); + + HRESULT (STDMETHODCALLTYPE *createPartnership)( + IWMPSyncDevice2 *This, + VARIANT_BOOL showui); + + HRESULT (STDMETHODCALLTYPE *deletePartnership)( + IWMPSyncDevice2 *This); + + HRESULT (STDMETHODCALLTYPE *start)( + IWMPSyncDevice2 *This); + + HRESULT (STDMETHODCALLTYPE *stop)( + IWMPSyncDevice2 *This); + + HRESULT (STDMETHODCALLTYPE *showSettings)( + IWMPSyncDevice2 *This); + + HRESULT (STDMETHODCALLTYPE *isIdentical)( + IWMPSyncDevice2 *This, + IWMPSyncDevice *device, + VARIANT_BOOL *ret); + + /*** IWMPSyncDevice2 methods ***/ + HRESULT (STDMETHODCALLTYPE *setItemInfo)( + IWMPSyncDevice2 *This, + BSTR name, + BSTR val); + + END_INTERFACE +} IWMPSyncDevice2Vtbl; + +interface IWMPSyncDevice2 { + CONST_VTBL IWMPSyncDevice2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPSyncDevice2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPSyncDevice2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPSyncDevice2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPSyncDevice methods ***/ +#define IWMPSyncDevice2_get_friendlyName(This,name) (This)->lpVtbl->get_friendlyName(This,name) +#define IWMPSyncDevice2_put_friendlyName(This,name) (This)->lpVtbl->put_friendlyName(This,name) +#define IWMPSyncDevice2_get_deviceName(This,name) (This)->lpVtbl->get_deviceName(This,name) +#define IWMPSyncDevice2_get_deviceId(This,device) (This)->lpVtbl->get_deviceId(This,device) +#define IWMPSyncDevice2_get_partnershipIndex(This,index) (This)->lpVtbl->get_partnershipIndex(This,index) +#define IWMPSyncDevice2_get_connected(This,connected) (This)->lpVtbl->get_connected(This,connected) +#define IWMPSyncDevice2_get_status(This,status) (This)->lpVtbl->get_status(This,status) +#define IWMPSyncDevice2_get_syncState(This,state) (This)->lpVtbl->get_syncState(This,state) +#define IWMPSyncDevice2_get_progress(This,progress) (This)->lpVtbl->get_progress(This,progress) +#define IWMPSyncDevice2_getItemInfo(This,name,val) (This)->lpVtbl->getItemInfo(This,name,val) +#define IWMPSyncDevice2_createPartnership(This,showui) (This)->lpVtbl->createPartnership(This,showui) +#define IWMPSyncDevice2_deletePartnership(This) (This)->lpVtbl->deletePartnership(This) +#define IWMPSyncDevice2_start(This) (This)->lpVtbl->start(This) +#define IWMPSyncDevice2_stop(This) (This)->lpVtbl->stop(This) +#define IWMPSyncDevice2_showSettings(This) (This)->lpVtbl->showSettings(This) +#define IWMPSyncDevice2_isIdentical(This,device,ret) (This)->lpVtbl->isIdentical(This,device,ret) +/*** IWMPSyncDevice2 methods ***/ +#define IWMPSyncDevice2_setItemInfo(This,name,val) (This)->lpVtbl->setItemInfo(This,name,val) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPSyncDevice2_QueryInterface(IWMPSyncDevice2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPSyncDevice2_AddRef(IWMPSyncDevice2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPSyncDevice2_Release(IWMPSyncDevice2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPSyncDevice methods ***/ +static inline HRESULT IWMPSyncDevice2_get_friendlyName(IWMPSyncDevice2* This,BSTR *name) { + return This->lpVtbl->get_friendlyName(This,name); +} +static inline HRESULT IWMPSyncDevice2_put_friendlyName(IWMPSyncDevice2* This,BSTR name) { + return This->lpVtbl->put_friendlyName(This,name); +} +static inline HRESULT IWMPSyncDevice2_get_deviceName(IWMPSyncDevice2* This,BSTR *name) { + return This->lpVtbl->get_deviceName(This,name); +} +static inline HRESULT IWMPSyncDevice2_get_deviceId(IWMPSyncDevice2* This,BSTR *device) { + return This->lpVtbl->get_deviceId(This,device); +} +static inline HRESULT IWMPSyncDevice2_get_partnershipIndex(IWMPSyncDevice2* This,LONG *index) { + return This->lpVtbl->get_partnershipIndex(This,index); +} +static inline HRESULT IWMPSyncDevice2_get_connected(IWMPSyncDevice2* This,VARIANT_BOOL *connected) { + return This->lpVtbl->get_connected(This,connected); +} +static inline HRESULT IWMPSyncDevice2_get_status(IWMPSyncDevice2* This,WMPDeviceStatus *status) { + return This->lpVtbl->get_status(This,status); +} +static inline HRESULT IWMPSyncDevice2_get_syncState(IWMPSyncDevice2* This,WMPSyncState *state) { + return This->lpVtbl->get_syncState(This,state); +} +static inline HRESULT IWMPSyncDevice2_get_progress(IWMPSyncDevice2* This,LONG *progress) { + return This->lpVtbl->get_progress(This,progress); +} +static inline HRESULT IWMPSyncDevice2_getItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR *val) { + return This->lpVtbl->getItemInfo(This,name,val); +} +static inline HRESULT IWMPSyncDevice2_createPartnership(IWMPSyncDevice2* This,VARIANT_BOOL showui) { + return This->lpVtbl->createPartnership(This,showui); +} +static inline HRESULT IWMPSyncDevice2_deletePartnership(IWMPSyncDevice2* This) { + return This->lpVtbl->deletePartnership(This); +} +static inline HRESULT IWMPSyncDevice2_start(IWMPSyncDevice2* This) { + return This->lpVtbl->start(This); +} +static inline HRESULT IWMPSyncDevice2_stop(IWMPSyncDevice2* This) { + return This->lpVtbl->stop(This); +} +static inline HRESULT IWMPSyncDevice2_showSettings(IWMPSyncDevice2* This) { + return This->lpVtbl->showSettings(This); +} +static inline HRESULT IWMPSyncDevice2_isIdentical(IWMPSyncDevice2* This,IWMPSyncDevice *device,VARIANT_BOOL *ret) { + return This->lpVtbl->isIdentical(This,device,ret); +} +/*** IWMPSyncDevice2 methods ***/ +static inline HRESULT IWMPSyncDevice2_setItemInfo(IWMPSyncDevice2* This,BSTR name,BSTR val) { + return This->lpVtbl->setItemInfo(This,name,val); +} +#endif +#endif + +#endif + + +#endif /* __IWMPSyncDevice2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCdromRip interface + */ +#ifndef __IWMPCdromRip_INTERFACE_DEFINED__ +#define __IWMPCdromRip_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("56e2294f-69ed-4629-a869-aea72c0dcc2c") +IWMPCdromRip : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_ripState( + WMPRipState *state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ripProgress( + LONG *progress) = 0; + + virtual HRESULT STDMETHODCALLTYPE startRip( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE stopRip( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCdromRip, 0x56e2294f, 0x69ed, 0x4629, 0xa8,0x69, 0xae,0xa7,0x2c,0x0d,0xcc,0x2c) +#endif +#else +typedef struct IWMPCdromRipVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCdromRip *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCdromRip *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCdromRip *This); + + /*** IWMPCdromRip methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ripState)( + IWMPCdromRip *This, + WMPRipState *state); + + HRESULT (STDMETHODCALLTYPE *get_ripProgress)( + IWMPCdromRip *This, + LONG *progress); + + HRESULT (STDMETHODCALLTYPE *startRip)( + IWMPCdromRip *This); + + HRESULT (STDMETHODCALLTYPE *stopRip)( + IWMPCdromRip *This); + + END_INTERFACE +} IWMPCdromRipVtbl; + +interface IWMPCdromRip { + CONST_VTBL IWMPCdromRipVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCdromRip_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCdromRip_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCdromRip_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPCdromRip methods ***/ +#define IWMPCdromRip_get_ripState(This,state) (This)->lpVtbl->get_ripState(This,state) +#define IWMPCdromRip_get_ripProgress(This,progress) (This)->lpVtbl->get_ripProgress(This,progress) +#define IWMPCdromRip_startRip(This) (This)->lpVtbl->startRip(This) +#define IWMPCdromRip_stopRip(This) (This)->lpVtbl->stopRip(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCdromRip_QueryInterface(IWMPCdromRip* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCdromRip_AddRef(IWMPCdromRip* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCdromRip_Release(IWMPCdromRip* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPCdromRip methods ***/ +static inline HRESULT IWMPCdromRip_get_ripState(IWMPCdromRip* This,WMPRipState *state) { + return This->lpVtbl->get_ripState(This,state); +} +static inline HRESULT IWMPCdromRip_get_ripProgress(IWMPCdromRip* This,LONG *progress) { + return This->lpVtbl->get_ripProgress(This,progress); +} +static inline HRESULT IWMPCdromRip_startRip(IWMPCdromRip* This) { + return This->lpVtbl->startRip(This); +} +static inline HRESULT IWMPCdromRip_stopRip(IWMPCdromRip* This) { + return This->lpVtbl->stopRip(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCdromRip_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPCdromBurn interface + */ +#ifndef __IWMPCdromBurn_INTERFACE_DEFINED__ +#define __IWMPCdromBurn_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bd94dbeb-417f-4928-aa06-087d56ed9b59") +IWMPCdromBurn : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE isAvailable( + BSTR item, + VARIANT_BOOL *available) = 0; + + virtual HRESULT STDMETHODCALLTYPE getItemInfo( + BSTR item, + BSTR *val) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_label( + BSTR *label) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_label( + BSTR label) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_burnFormat( + WMPBurnFormat *format) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_burnFormat( + WMPBurnFormat format) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_burnPlaylist( + IWMPPlaylist **playlist) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_burnPlaylist( + IWMPPlaylist *playlist) = 0; + + virtual HRESULT STDMETHODCALLTYPE refreshStatus( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_burnState( + WMPBurnState *state) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_burnProgress( + LONG *progress) = 0; + + virtual HRESULT STDMETHODCALLTYPE startBurn( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE stopBurn( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE erase( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPCdromBurn, 0xbd94dbeb, 0x417f, 0x4928, 0xaa,0x06, 0x08,0x7d,0x56,0xed,0x9b,0x59) +#endif +#else +typedef struct IWMPCdromBurnVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPCdromBurn *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPCdromBurn *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPCdromBurn *This); + + /*** IWMPCdromBurn methods ***/ + HRESULT (STDMETHODCALLTYPE *isAvailable)( + IWMPCdromBurn *This, + BSTR item, + VARIANT_BOOL *available); + + HRESULT (STDMETHODCALLTYPE *getItemInfo)( + IWMPCdromBurn *This, + BSTR item, + BSTR *val); + + HRESULT (STDMETHODCALLTYPE *get_label)( + IWMPCdromBurn *This, + BSTR *label); + + HRESULT (STDMETHODCALLTYPE *put_label)( + IWMPCdromBurn *This, + BSTR label); + + HRESULT (STDMETHODCALLTYPE *get_burnFormat)( + IWMPCdromBurn *This, + WMPBurnFormat *format); + + HRESULT (STDMETHODCALLTYPE *put_burnFormat)( + IWMPCdromBurn *This, + WMPBurnFormat format); + + HRESULT (STDMETHODCALLTYPE *get_burnPlaylist)( + IWMPCdromBurn *This, + IWMPPlaylist **playlist); + + HRESULT (STDMETHODCALLTYPE *put_burnPlaylist)( + IWMPCdromBurn *This, + IWMPPlaylist *playlist); + + HRESULT (STDMETHODCALLTYPE *refreshStatus)( + IWMPCdromBurn *This); + + HRESULT (STDMETHODCALLTYPE *get_burnState)( + IWMPCdromBurn *This, + WMPBurnState *state); + + HRESULT (STDMETHODCALLTYPE *get_burnProgress)( + IWMPCdromBurn *This, + LONG *progress); + + HRESULT (STDMETHODCALLTYPE *startBurn)( + IWMPCdromBurn *This); + + HRESULT (STDMETHODCALLTYPE *stopBurn)( + IWMPCdromBurn *This); + + HRESULT (STDMETHODCALLTYPE *erase)( + IWMPCdromBurn *This); + + END_INTERFACE +} IWMPCdromBurnVtbl; + +interface IWMPCdromBurn { + CONST_VTBL IWMPCdromBurnVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPCdromBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPCdromBurn_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPCdromBurn_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPCdromBurn methods ***/ +#define IWMPCdromBurn_isAvailable(This,item,available) (This)->lpVtbl->isAvailable(This,item,available) +#define IWMPCdromBurn_getItemInfo(This,item,val) (This)->lpVtbl->getItemInfo(This,item,val) +#define IWMPCdromBurn_get_label(This,label) (This)->lpVtbl->get_label(This,label) +#define IWMPCdromBurn_put_label(This,label) (This)->lpVtbl->put_label(This,label) +#define IWMPCdromBurn_get_burnFormat(This,format) (This)->lpVtbl->get_burnFormat(This,format) +#define IWMPCdromBurn_put_burnFormat(This,format) (This)->lpVtbl->put_burnFormat(This,format) +#define IWMPCdromBurn_get_burnPlaylist(This,playlist) (This)->lpVtbl->get_burnPlaylist(This,playlist) +#define IWMPCdromBurn_put_burnPlaylist(This,playlist) (This)->lpVtbl->put_burnPlaylist(This,playlist) +#define IWMPCdromBurn_refreshStatus(This) (This)->lpVtbl->refreshStatus(This) +#define IWMPCdromBurn_get_burnState(This,state) (This)->lpVtbl->get_burnState(This,state) +#define IWMPCdromBurn_get_burnProgress(This,progress) (This)->lpVtbl->get_burnProgress(This,progress) +#define IWMPCdromBurn_startBurn(This) (This)->lpVtbl->startBurn(This) +#define IWMPCdromBurn_stopBurn(This) (This)->lpVtbl->stopBurn(This) +#define IWMPCdromBurn_erase(This) (This)->lpVtbl->erase(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPCdromBurn_QueryInterface(IWMPCdromBurn* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPCdromBurn_AddRef(IWMPCdromBurn* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPCdromBurn_Release(IWMPCdromBurn* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPCdromBurn methods ***/ +static inline HRESULT IWMPCdromBurn_isAvailable(IWMPCdromBurn* This,BSTR item,VARIANT_BOOL *available) { + return This->lpVtbl->isAvailable(This,item,available); +} +static inline HRESULT IWMPCdromBurn_getItemInfo(IWMPCdromBurn* This,BSTR item,BSTR *val) { + return This->lpVtbl->getItemInfo(This,item,val); +} +static inline HRESULT IWMPCdromBurn_get_label(IWMPCdromBurn* This,BSTR *label) { + return This->lpVtbl->get_label(This,label); +} +static inline HRESULT IWMPCdromBurn_put_label(IWMPCdromBurn* This,BSTR label) { + return This->lpVtbl->put_label(This,label); +} +static inline HRESULT IWMPCdromBurn_get_burnFormat(IWMPCdromBurn* This,WMPBurnFormat *format) { + return This->lpVtbl->get_burnFormat(This,format); +} +static inline HRESULT IWMPCdromBurn_put_burnFormat(IWMPCdromBurn* This,WMPBurnFormat format) { + return This->lpVtbl->put_burnFormat(This,format); +} +static inline HRESULT IWMPCdromBurn_get_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist **playlist) { + return This->lpVtbl->get_burnPlaylist(This,playlist); +} +static inline HRESULT IWMPCdromBurn_put_burnPlaylist(IWMPCdromBurn* This,IWMPPlaylist *playlist) { + return This->lpVtbl->put_burnPlaylist(This,playlist); +} +static inline HRESULT IWMPCdromBurn_refreshStatus(IWMPCdromBurn* This) { + return This->lpVtbl->refreshStatus(This); +} +static inline HRESULT IWMPCdromBurn_get_burnState(IWMPCdromBurn* This,WMPBurnState *state) { + return This->lpVtbl->get_burnState(This,state); +} +static inline HRESULT IWMPCdromBurn_get_burnProgress(IWMPCdromBurn* This,LONG *progress) { + return This->lpVtbl->get_burnProgress(This,progress); +} +static inline HRESULT IWMPCdromBurn_startBurn(IWMPCdromBurn* This) { + return This->lpVtbl->startBurn(This); +} +static inline HRESULT IWMPCdromBurn_stopBurn(IWMPCdromBurn* This) { + return This->lpVtbl->stopBurn(This); +} +static inline HRESULT IWMPCdromBurn_erase(IWMPCdromBurn* This) { + return This->lpVtbl->erase(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPCdromBurn_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPLibrary interface + */ +#ifndef __IWMPLibrary_INTERFACE_DEFINED__ +#define __IWMPLibrary_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3df47861-7df1-4c1f-a81b-4c26f0f7a7c6") +IWMPLibrary : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE get_name( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_type( + WMPLibraryType *type) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_mediaCollection( + IWMPMediaCollection **collection) = 0; + + virtual HRESULT STDMETHODCALLTYPE isIdentical( + IWMPLibrary *wmplibrary, + VARIANT_BOOL *ret) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPLibrary, 0x3df47861, 0x7df1, 0x4c1f, 0xa8,0x1b, 0x4c,0x26,0xf0,0xf7,0xa7,0xc6) +#endif +#else +typedef struct IWMPLibraryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPLibrary *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPLibrary *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPLibrary *This); + + /*** IWMPLibrary methods ***/ + HRESULT (STDMETHODCALLTYPE *get_name)( + IWMPLibrary *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *get_type)( + IWMPLibrary *This, + WMPLibraryType *type); + + HRESULT (STDMETHODCALLTYPE *get_mediaCollection)( + IWMPLibrary *This, + IWMPMediaCollection **collection); + + HRESULT (STDMETHODCALLTYPE *isIdentical)( + IWMPLibrary *This, + IWMPLibrary *wmplibrary, + VARIANT_BOOL *ret); + + END_INTERFACE +} IWMPLibraryVtbl; + +interface IWMPLibrary { + CONST_VTBL IWMPLibraryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPLibrary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPLibrary_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPLibrary_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPLibrary methods ***/ +#define IWMPLibrary_get_name(This,name) (This)->lpVtbl->get_name(This,name) +#define IWMPLibrary_get_type(This,type) (This)->lpVtbl->get_type(This,type) +#define IWMPLibrary_get_mediaCollection(This,collection) (This)->lpVtbl->get_mediaCollection(This,collection) +#define IWMPLibrary_isIdentical(This,wmplibrary,ret) (This)->lpVtbl->isIdentical(This,wmplibrary,ret) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPLibrary_QueryInterface(IWMPLibrary* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPLibrary_AddRef(IWMPLibrary* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPLibrary_Release(IWMPLibrary* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPLibrary methods ***/ +static inline HRESULT IWMPLibrary_get_name(IWMPLibrary* This,BSTR *name) { + return This->lpVtbl->get_name(This,name); +} +static inline HRESULT IWMPLibrary_get_type(IWMPLibrary* This,WMPLibraryType *type) { + return This->lpVtbl->get_type(This,type); +} +static inline HRESULT IWMPLibrary_get_mediaCollection(IWMPLibrary* This,IWMPMediaCollection **collection) { + return This->lpVtbl->get_mediaCollection(This,collection); +} +static inline HRESULT IWMPLibrary_isIdentical(IWMPLibrary* This,IWMPLibrary *wmplibrary,VARIANT_BOOL *ret) { + return This->lpVtbl->isIdentical(This,wmplibrary,ret); +} +#endif +#endif + +#endif + + +#endif /* __IWMPLibrary_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPEvents interface + */ +#ifndef __IWMPEvents_INTERFACE_DEFINED__ +#define __IWMPEvents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("19a6627b-da9e-47c1-bb23-00b5e668236a") +IWMPEvents : public IUnknown +{ + virtual void STDMETHODCALLTYPE OpenStateChange( + LONG state) = 0; + + virtual void STDMETHODCALLTYPE PlayStateChange( + LONG state) = 0; + + virtual void STDMETHODCALLTYPE AudioLanguageChange( + LONG lang) = 0; + + virtual void STDMETHODCALLTYPE StatusChange( + ) = 0; + + virtual void STDMETHODCALLTYPE ScriptCommand( + BSTR type, + BSTR param) = 0; + + virtual void STDMETHODCALLTYPE NewStream( + ) = 0; + + virtual void STDMETHODCALLTYPE Disconnect( + LONG result) = 0; + + virtual void STDMETHODCALLTYPE Buffering( + VARIANT_BOOL start) = 0; + + virtual void STDMETHODCALLTYPE Error( + ) = 0; + + virtual void STDMETHODCALLTYPE Warning( + LONG warning, + LONG param, + BSTR description) = 0; + + virtual void STDMETHODCALLTYPE EndOfStream( + LONG result) = 0; + + virtual void STDMETHODCALLTYPE PositionChange( + double old_position, + double new_position) = 0; + + virtual void STDMETHODCALLTYPE MarkerHit( + LONG marker) = 0; + + virtual void STDMETHODCALLTYPE DurationUnitChange( + LONG duration) = 0; + + virtual void STDMETHODCALLTYPE CdromMediaChange( + LONG num) = 0; + + virtual void STDMETHODCALLTYPE PlaylistChange( + IDispatch *playlist, + WMPPlaylistChangeEventType change) = 0; + + virtual void STDMETHODCALLTYPE CurrentPlaylistChange( + WMPPlaylistChangeEventType change) = 0; + + virtual void STDMETHODCALLTYPE CurrentPlaylistItemAvailable( + BSTR item) = 0; + + virtual void STDMETHODCALLTYPE MediaChange( + IDispatch *item) = 0; + + virtual void STDMETHODCALLTYPE CurrentMediaItemAvailable( + BSTR name) = 0; + + virtual void STDMETHODCALLTYPE CurrentItemChange( + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionChange( + ) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded( + BSTR name, + BSTR val) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved( + BSTR name, + BSTR val) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged( + BSTR name, + BSTR old_val, + BSTR new_val) = 0; + + virtual void STDMETHODCALLTYPE PlaylistCollectionChange( + ) = 0; + + virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded( + BSTR name) = 0; + + virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved( + BSTR name) = 0; + + virtual void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted( + BSTR name, + VARIANT_BOOL deleted) = 0; + + virtual void STDMETHODCALLTYPE ModeChange( + BSTR ModeName, + VARIANT_BOOL value) = 0; + + virtual void STDMETHODCALLTYPE MediaError( + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE OpenPlaylistSwitch( + IDispatch *item) = 0; + + virtual void STDMETHODCALLTYPE DomainChange( + BSTR domain) = 0; + + virtual void STDMETHODCALLTYPE SwitchedToPlayerApplication( + ) = 0; + + virtual void STDMETHODCALLTYPE SwitchedToControl( + ) = 0; + + virtual void STDMETHODCALLTYPE PlayerDockedStateChange( + ) = 0; + + virtual void STDMETHODCALLTYPE PlayerReconnect( + ) = 0; + + virtual void STDMETHODCALLTYPE Click( + short button, + short shift_state, + LONG x, + LONG y) = 0; + + virtual void STDMETHODCALLTYPE DoubleClick( + short button, + short shift_state, + LONG fX, + LONG fY) = 0; + + virtual void STDMETHODCALLTYPE KeyDown( + short keycode, + short shift_state) = 0; + + virtual void STDMETHODCALLTYPE KeyPress( + short ascii) = 0; + + virtual void STDMETHODCALLTYPE KeyUp( + short keycode, + short shift_state) = 0; + + virtual void STDMETHODCALLTYPE MouseDown( + short button, + short nShiftState, + LONG x, + LONG y) = 0; + + virtual void STDMETHODCALLTYPE MouseMove( + short button, + short shift_state, + LONG x, + LONG y) = 0; + + virtual void STDMETHODCALLTYPE MouseUp( + short button, + short shift_state, + LONG x, + LONG y) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPEvents, 0x19a6627b, 0xda9e, 0x47c1, 0xbb,0x23, 0x00,0xb5,0xe6,0x68,0x23,0x6a) +#endif +#else +typedef struct IWMPEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPEvents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPEvents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPEvents *This); + + /*** IWMPEvents methods ***/ + void (STDMETHODCALLTYPE *OpenStateChange)( + IWMPEvents *This, + LONG state); + + void (STDMETHODCALLTYPE *PlayStateChange)( + IWMPEvents *This, + LONG state); + + void (STDMETHODCALLTYPE *AudioLanguageChange)( + IWMPEvents *This, + LONG lang); + + void (STDMETHODCALLTYPE *StatusChange)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *ScriptCommand)( + IWMPEvents *This, + BSTR type, + BSTR param); + + void (STDMETHODCALLTYPE *NewStream)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *Disconnect)( + IWMPEvents *This, + LONG result); + + void (STDMETHODCALLTYPE *Buffering)( + IWMPEvents *This, + VARIANT_BOOL start); + + void (STDMETHODCALLTYPE *Error)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *Warning)( + IWMPEvents *This, + LONG warning, + LONG param, + BSTR description); + + void (STDMETHODCALLTYPE *EndOfStream)( + IWMPEvents *This, + LONG result); + + void (STDMETHODCALLTYPE *PositionChange)( + IWMPEvents *This, + double old_position, + double new_position); + + void (STDMETHODCALLTYPE *MarkerHit)( + IWMPEvents *This, + LONG marker); + + void (STDMETHODCALLTYPE *DurationUnitChange)( + IWMPEvents *This, + LONG duration); + + void (STDMETHODCALLTYPE *CdromMediaChange)( + IWMPEvents *This, + LONG num); + + void (STDMETHODCALLTYPE *PlaylistChange)( + IWMPEvents *This, + IDispatch *playlist, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistChange)( + IWMPEvents *This, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)( + IWMPEvents *This, + BSTR item); + + void (STDMETHODCALLTYPE *MediaChange)( + IWMPEvents *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)( + IWMPEvents *This, + BSTR name); + + void (STDMETHODCALLTYPE *CurrentItemChange)( + IWMPEvents *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionChange)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)( + IWMPEvents *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)( + IWMPEvents *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)( + IWMPEvents *This, + BSTR name, + BSTR old_val, + BSTR new_val); + + void (STDMETHODCALLTYPE *PlaylistCollectionChange)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)( + IWMPEvents *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)( + IWMPEvents *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)( + IWMPEvents *This, + BSTR name, + VARIANT_BOOL deleted); + + void (STDMETHODCALLTYPE *ModeChange)( + IWMPEvents *This, + BSTR ModeName, + VARIANT_BOOL value); + + void (STDMETHODCALLTYPE *MediaError)( + IWMPEvents *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *OpenPlaylistSwitch)( + IWMPEvents *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *DomainChange)( + IWMPEvents *This, + BSTR domain); + + void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *SwitchedToControl)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *PlayerDockedStateChange)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *PlayerReconnect)( + IWMPEvents *This); + + void (STDMETHODCALLTYPE *Click)( + IWMPEvents *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *DoubleClick)( + IWMPEvents *This, + short button, + short shift_state, + LONG fX, + LONG fY); + + void (STDMETHODCALLTYPE *KeyDown)( + IWMPEvents *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *KeyPress)( + IWMPEvents *This, + short ascii); + + void (STDMETHODCALLTYPE *KeyUp)( + IWMPEvents *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *MouseDown)( + IWMPEvents *This, + short button, + short nShiftState, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseMove)( + IWMPEvents *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseUp)( + IWMPEvents *This, + short button, + short shift_state, + LONG x, + LONG y); + + END_INTERFACE +} IWMPEventsVtbl; + +interface IWMPEvents { + CONST_VTBL IWMPEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPEvents_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPEvents methods ***/ +#define IWMPEvents_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state) +#define IWMPEvents_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state) +#define IWMPEvents_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang) +#define IWMPEvents_StatusChange(This) (This)->lpVtbl->StatusChange(This) +#define IWMPEvents_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param) +#define IWMPEvents_NewStream(This) (This)->lpVtbl->NewStream(This) +#define IWMPEvents_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result) +#define IWMPEvents_Buffering(This,start) (This)->lpVtbl->Buffering(This,start) +#define IWMPEvents_Error(This) (This)->lpVtbl->Error(This) +#define IWMPEvents_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description) +#define IWMPEvents_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result) +#define IWMPEvents_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position) +#define IWMPEvents_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker) +#define IWMPEvents_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration) +#define IWMPEvents_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num) +#define IWMPEvents_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change) +#define IWMPEvents_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change) +#define IWMPEvents_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item) +#define IWMPEvents_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item) +#define IWMPEvents_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name) +#define IWMPEvents_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media) +#define IWMPEvents_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This) +#define IWMPEvents_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val) +#define IWMPEvents_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val) +#define IWMPEvents_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val) +#define IWMPEvents_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This) +#define IWMPEvents_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name) +#define IWMPEvents_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name) +#define IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) +#define IWMPEvents_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value) +#define IWMPEvents_MediaError(This,media) (This)->lpVtbl->MediaError(This,media) +#define IWMPEvents_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item) +#define IWMPEvents_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain) +#define IWMPEvents_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This) +#define IWMPEvents_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This) +#define IWMPEvents_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This) +#define IWMPEvents_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This) +#define IWMPEvents_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y) +#define IWMPEvents_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY) +#define IWMPEvents_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state) +#define IWMPEvents_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii) +#define IWMPEvents_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state) +#define IWMPEvents_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y) +#define IWMPEvents_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y) +#define IWMPEvents_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPEvents_QueryInterface(IWMPEvents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPEvents_AddRef(IWMPEvents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPEvents_Release(IWMPEvents* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPEvents methods ***/ +static inline void IWMPEvents_OpenStateChange(IWMPEvents* This,LONG state) { + This->lpVtbl->OpenStateChange(This,state); +} +static inline void IWMPEvents_PlayStateChange(IWMPEvents* This,LONG state) { + This->lpVtbl->PlayStateChange(This,state); +} +static inline void IWMPEvents_AudioLanguageChange(IWMPEvents* This,LONG lang) { + This->lpVtbl->AudioLanguageChange(This,lang); +} +static inline void IWMPEvents_StatusChange(IWMPEvents* This) { + This->lpVtbl->StatusChange(This); +} +static inline void IWMPEvents_ScriptCommand(IWMPEvents* This,BSTR type,BSTR param) { + This->lpVtbl->ScriptCommand(This,type,param); +} +static inline void IWMPEvents_NewStream(IWMPEvents* This) { + This->lpVtbl->NewStream(This); +} +static inline void IWMPEvents_Disconnect(IWMPEvents* This,LONG result) { + This->lpVtbl->Disconnect(This,result); +} +static inline void IWMPEvents_Buffering(IWMPEvents* This,VARIANT_BOOL start) { + This->lpVtbl->Buffering(This,start); +} +static inline void IWMPEvents_Error(IWMPEvents* This) { + This->lpVtbl->Error(This); +} +static inline void IWMPEvents_Warning(IWMPEvents* This,LONG warning,LONG param,BSTR description) { + This->lpVtbl->Warning(This,warning,param,description); +} +static inline void IWMPEvents_EndOfStream(IWMPEvents* This,LONG result) { + This->lpVtbl->EndOfStream(This,result); +} +static inline void IWMPEvents_PositionChange(IWMPEvents* This,double old_position,double new_position) { + This->lpVtbl->PositionChange(This,old_position,new_position); +} +static inline void IWMPEvents_MarkerHit(IWMPEvents* This,LONG marker) { + This->lpVtbl->MarkerHit(This,marker); +} +static inline void IWMPEvents_DurationUnitChange(IWMPEvents* This,LONG duration) { + This->lpVtbl->DurationUnitChange(This,duration); +} +static inline void IWMPEvents_CdromMediaChange(IWMPEvents* This,LONG num) { + This->lpVtbl->CdromMediaChange(This,num); +} +static inline void IWMPEvents_PlaylistChange(IWMPEvents* This,IDispatch *playlist,WMPPlaylistChangeEventType change) { + This->lpVtbl->PlaylistChange(This,playlist,change); +} +static inline void IWMPEvents_CurrentPlaylistChange(IWMPEvents* This,WMPPlaylistChangeEventType change) { + This->lpVtbl->CurrentPlaylistChange(This,change); +} +static inline void IWMPEvents_CurrentPlaylistItemAvailable(IWMPEvents* This,BSTR item) { + This->lpVtbl->CurrentPlaylistItemAvailable(This,item); +} +static inline void IWMPEvents_MediaChange(IWMPEvents* This,IDispatch *item) { + This->lpVtbl->MediaChange(This,item); +} +static inline void IWMPEvents_CurrentMediaItemAvailable(IWMPEvents* This,BSTR name) { + This->lpVtbl->CurrentMediaItemAvailable(This,name); +} +static inline void IWMPEvents_CurrentItemChange(IWMPEvents* This,IDispatch *media) { + This->lpVtbl->CurrentItemChange(This,media); +} +static inline void IWMPEvents_MediaCollectionChange(IWMPEvents* This) { + This->lpVtbl->MediaCollectionChange(This); +} +static inline void IWMPEvents_MediaCollectionAttributeStringAdded(IWMPEvents* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val); +} +static inline void IWMPEvents_MediaCollectionAttributeStringRemoved(IWMPEvents* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val); +} +static inline void IWMPEvents_MediaCollectionAttributeStringChanged(IWMPEvents* This,BSTR name,BSTR old_val,BSTR new_val) { + This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val); +} +static inline void IWMPEvents_PlaylistCollectionChange(IWMPEvents* This) { + This->lpVtbl->PlaylistCollectionChange(This); +} +static inline void IWMPEvents_PlaylistCollectionPlaylistAdded(IWMPEvents* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name); +} +static inline void IWMPEvents_PlaylistCollectionPlaylistRemoved(IWMPEvents* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name); +} +static inline void IWMPEvents_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents* This,BSTR name,VARIANT_BOOL deleted) { + This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted); +} +static inline void IWMPEvents_ModeChange(IWMPEvents* This,BSTR ModeName,VARIANT_BOOL value) { + This->lpVtbl->ModeChange(This,ModeName,value); +} +static inline void IWMPEvents_MediaError(IWMPEvents* This,IDispatch *media) { + This->lpVtbl->MediaError(This,media); +} +static inline void IWMPEvents_OpenPlaylistSwitch(IWMPEvents* This,IDispatch *item) { + This->lpVtbl->OpenPlaylistSwitch(This,item); +} +static inline void IWMPEvents_DomainChange(IWMPEvents* This,BSTR domain) { + This->lpVtbl->DomainChange(This,domain); +} +static inline void IWMPEvents_SwitchedToPlayerApplication(IWMPEvents* This) { + This->lpVtbl->SwitchedToPlayerApplication(This); +} +static inline void IWMPEvents_SwitchedToControl(IWMPEvents* This) { + This->lpVtbl->SwitchedToControl(This); +} +static inline void IWMPEvents_PlayerDockedStateChange(IWMPEvents* This) { + This->lpVtbl->PlayerDockedStateChange(This); +} +static inline void IWMPEvents_PlayerReconnect(IWMPEvents* This) { + This->lpVtbl->PlayerReconnect(This); +} +static inline void IWMPEvents_Click(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->Click(This,button,shift_state,x,y); +} +static inline void IWMPEvents_DoubleClick(IWMPEvents* This,short button,short shift_state,LONG fX,LONG fY) { + This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY); +} +static inline void IWMPEvents_KeyDown(IWMPEvents* This,short keycode,short shift_state) { + This->lpVtbl->KeyDown(This,keycode,shift_state); +} +static inline void IWMPEvents_KeyPress(IWMPEvents* This,short ascii) { + This->lpVtbl->KeyPress(This,ascii); +} +static inline void IWMPEvents_KeyUp(IWMPEvents* This,short keycode,short shift_state) { + This->lpVtbl->KeyUp(This,keycode,shift_state); +} +static inline void IWMPEvents_MouseDown(IWMPEvents* This,short button,short nShiftState,LONG x,LONG y) { + This->lpVtbl->MouseDown(This,button,nShiftState,x,y); +} +static inline void IWMPEvents_MouseMove(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseMove(This,button,shift_state,x,y); +} +static inline void IWMPEvents_MouseUp(IWMPEvents* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseUp(This,button,shift_state,x,y); +} +#endif +#endif + +#endif + + +#endif /* __IWMPEvents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPEvents2 interface + */ +#ifndef __IWMPEvents2_INTERFACE_DEFINED__ +#define __IWMPEvents2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1e7601fa-47ea-4107-9ea9-9004ed9684ff") +IWMPEvents2 : public IWMPEvents +{ + virtual void STDMETHODCALLTYPE DeviceConnect( + IWMPSyncDevice *device) = 0; + + virtual void STDMETHODCALLTYPE DeviceDisconnect( + IWMPSyncDevice *device) = 0; + + virtual void STDMETHODCALLTYPE DeviceStatusChange( + IWMPSyncDevice *device, + WMPDeviceStatus status) = 0; + + virtual void STDMETHODCALLTYPE DeviceSyncStateChange( + IWMPSyncDevice *device, + WMPSyncState state) = 0; + + virtual void STDMETHODCALLTYPE DeviceSyncError( + IWMPSyncDevice *device, + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE CreatePartnershipComplete( + IWMPSyncDevice *device, + HRESULT result) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPEvents2, 0x1e7601fa, 0x47ea, 0x4107, 0x9e,0xa9, 0x90,0x04,0xed,0x96,0x84,0xff) +#endif +#else +typedef struct IWMPEvents2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPEvents2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPEvents2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPEvents2 *This); + + /*** IWMPEvents methods ***/ + void (STDMETHODCALLTYPE *OpenStateChange)( + IWMPEvents2 *This, + LONG state); + + void (STDMETHODCALLTYPE *PlayStateChange)( + IWMPEvents2 *This, + LONG state); + + void (STDMETHODCALLTYPE *AudioLanguageChange)( + IWMPEvents2 *This, + LONG lang); + + void (STDMETHODCALLTYPE *StatusChange)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *ScriptCommand)( + IWMPEvents2 *This, + BSTR type, + BSTR param); + + void (STDMETHODCALLTYPE *NewStream)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *Disconnect)( + IWMPEvents2 *This, + LONG result); + + void (STDMETHODCALLTYPE *Buffering)( + IWMPEvents2 *This, + VARIANT_BOOL start); + + void (STDMETHODCALLTYPE *Error)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *Warning)( + IWMPEvents2 *This, + LONG warning, + LONG param, + BSTR description); + + void (STDMETHODCALLTYPE *EndOfStream)( + IWMPEvents2 *This, + LONG result); + + void (STDMETHODCALLTYPE *PositionChange)( + IWMPEvents2 *This, + double old_position, + double new_position); + + void (STDMETHODCALLTYPE *MarkerHit)( + IWMPEvents2 *This, + LONG marker); + + void (STDMETHODCALLTYPE *DurationUnitChange)( + IWMPEvents2 *This, + LONG duration); + + void (STDMETHODCALLTYPE *CdromMediaChange)( + IWMPEvents2 *This, + LONG num); + + void (STDMETHODCALLTYPE *PlaylistChange)( + IWMPEvents2 *This, + IDispatch *playlist, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistChange)( + IWMPEvents2 *This, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)( + IWMPEvents2 *This, + BSTR item); + + void (STDMETHODCALLTYPE *MediaChange)( + IWMPEvents2 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)( + IWMPEvents2 *This, + BSTR name); + + void (STDMETHODCALLTYPE *CurrentItemChange)( + IWMPEvents2 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionChange)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)( + IWMPEvents2 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)( + IWMPEvents2 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)( + IWMPEvents2 *This, + BSTR name, + BSTR old_val, + BSTR new_val); + + void (STDMETHODCALLTYPE *PlaylistCollectionChange)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)( + IWMPEvents2 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)( + IWMPEvents2 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)( + IWMPEvents2 *This, + BSTR name, + VARIANT_BOOL deleted); + + void (STDMETHODCALLTYPE *ModeChange)( + IWMPEvents2 *This, + BSTR ModeName, + VARIANT_BOOL value); + + void (STDMETHODCALLTYPE *MediaError)( + IWMPEvents2 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *OpenPlaylistSwitch)( + IWMPEvents2 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *DomainChange)( + IWMPEvents2 *This, + BSTR domain); + + void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *SwitchedToControl)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *PlayerDockedStateChange)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *PlayerReconnect)( + IWMPEvents2 *This); + + void (STDMETHODCALLTYPE *Click)( + IWMPEvents2 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *DoubleClick)( + IWMPEvents2 *This, + short button, + short shift_state, + LONG fX, + LONG fY); + + void (STDMETHODCALLTYPE *KeyDown)( + IWMPEvents2 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *KeyPress)( + IWMPEvents2 *This, + short ascii); + + void (STDMETHODCALLTYPE *KeyUp)( + IWMPEvents2 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *MouseDown)( + IWMPEvents2 *This, + short button, + short nShiftState, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseMove)( + IWMPEvents2 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseUp)( + IWMPEvents2 *This, + short button, + short shift_state, + LONG x, + LONG y); + + /*** IWMPEvents2 methods ***/ + void (STDMETHODCALLTYPE *DeviceConnect)( + IWMPEvents2 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceDisconnect)( + IWMPEvents2 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceStatusChange)( + IWMPEvents2 *This, + IWMPSyncDevice *device, + WMPDeviceStatus status); + + void (STDMETHODCALLTYPE *DeviceSyncStateChange)( + IWMPEvents2 *This, + IWMPSyncDevice *device, + WMPSyncState state); + + void (STDMETHODCALLTYPE *DeviceSyncError)( + IWMPEvents2 *This, + IWMPSyncDevice *device, + IDispatch *media); + + void (STDMETHODCALLTYPE *CreatePartnershipComplete)( + IWMPEvents2 *This, + IWMPSyncDevice *device, + HRESULT result); + + END_INTERFACE +} IWMPEvents2Vtbl; + +interface IWMPEvents2 { + CONST_VTBL IWMPEvents2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPEvents2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPEvents2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPEvents methods ***/ +#define IWMPEvents2_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state) +#define IWMPEvents2_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state) +#define IWMPEvents2_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang) +#define IWMPEvents2_StatusChange(This) (This)->lpVtbl->StatusChange(This) +#define IWMPEvents2_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param) +#define IWMPEvents2_NewStream(This) (This)->lpVtbl->NewStream(This) +#define IWMPEvents2_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result) +#define IWMPEvents2_Buffering(This,start) (This)->lpVtbl->Buffering(This,start) +#define IWMPEvents2_Error(This) (This)->lpVtbl->Error(This) +#define IWMPEvents2_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description) +#define IWMPEvents2_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result) +#define IWMPEvents2_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position) +#define IWMPEvents2_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker) +#define IWMPEvents2_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration) +#define IWMPEvents2_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num) +#define IWMPEvents2_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change) +#define IWMPEvents2_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change) +#define IWMPEvents2_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item) +#define IWMPEvents2_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item) +#define IWMPEvents2_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name) +#define IWMPEvents2_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media) +#define IWMPEvents2_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This) +#define IWMPEvents2_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val) +#define IWMPEvents2_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val) +#define IWMPEvents2_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val) +#define IWMPEvents2_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This) +#define IWMPEvents2_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name) +#define IWMPEvents2_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name) +#define IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) +#define IWMPEvents2_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value) +#define IWMPEvents2_MediaError(This,media) (This)->lpVtbl->MediaError(This,media) +#define IWMPEvents2_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item) +#define IWMPEvents2_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain) +#define IWMPEvents2_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This) +#define IWMPEvents2_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This) +#define IWMPEvents2_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This) +#define IWMPEvents2_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This) +#define IWMPEvents2_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y) +#define IWMPEvents2_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY) +#define IWMPEvents2_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state) +#define IWMPEvents2_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii) +#define IWMPEvents2_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state) +#define IWMPEvents2_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y) +#define IWMPEvents2_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y) +#define IWMPEvents2_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y) +/*** IWMPEvents2 methods ***/ +#define IWMPEvents2_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device) +#define IWMPEvents2_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device) +#define IWMPEvents2_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status) +#define IWMPEvents2_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state) +#define IWMPEvents2_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media) +#define IWMPEvents2_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPEvents2_QueryInterface(IWMPEvents2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPEvents2_AddRef(IWMPEvents2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPEvents2_Release(IWMPEvents2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPEvents methods ***/ +static inline void IWMPEvents2_OpenStateChange(IWMPEvents2* This,LONG state) { + This->lpVtbl->OpenStateChange(This,state); +} +static inline void IWMPEvents2_PlayStateChange(IWMPEvents2* This,LONG state) { + This->lpVtbl->PlayStateChange(This,state); +} +static inline void IWMPEvents2_AudioLanguageChange(IWMPEvents2* This,LONG lang) { + This->lpVtbl->AudioLanguageChange(This,lang); +} +static inline void IWMPEvents2_StatusChange(IWMPEvents2* This) { + This->lpVtbl->StatusChange(This); +} +static inline void IWMPEvents2_ScriptCommand(IWMPEvents2* This,BSTR type,BSTR param) { + This->lpVtbl->ScriptCommand(This,type,param); +} +static inline void IWMPEvents2_NewStream(IWMPEvents2* This) { + This->lpVtbl->NewStream(This); +} +static inline void IWMPEvents2_Disconnect(IWMPEvents2* This,LONG result) { + This->lpVtbl->Disconnect(This,result); +} +static inline void IWMPEvents2_Buffering(IWMPEvents2* This,VARIANT_BOOL start) { + This->lpVtbl->Buffering(This,start); +} +static inline void IWMPEvents2_Error(IWMPEvents2* This) { + This->lpVtbl->Error(This); +} +static inline void IWMPEvents2_Warning(IWMPEvents2* This,LONG warning,LONG param,BSTR description) { + This->lpVtbl->Warning(This,warning,param,description); +} +static inline void IWMPEvents2_EndOfStream(IWMPEvents2* This,LONG result) { + This->lpVtbl->EndOfStream(This,result); +} +static inline void IWMPEvents2_PositionChange(IWMPEvents2* This,double old_position,double new_position) { + This->lpVtbl->PositionChange(This,old_position,new_position); +} +static inline void IWMPEvents2_MarkerHit(IWMPEvents2* This,LONG marker) { + This->lpVtbl->MarkerHit(This,marker); +} +static inline void IWMPEvents2_DurationUnitChange(IWMPEvents2* This,LONG duration) { + This->lpVtbl->DurationUnitChange(This,duration); +} +static inline void IWMPEvents2_CdromMediaChange(IWMPEvents2* This,LONG num) { + This->lpVtbl->CdromMediaChange(This,num); +} +static inline void IWMPEvents2_PlaylistChange(IWMPEvents2* This,IDispatch *playlist,WMPPlaylistChangeEventType change) { + This->lpVtbl->PlaylistChange(This,playlist,change); +} +static inline void IWMPEvents2_CurrentPlaylistChange(IWMPEvents2* This,WMPPlaylistChangeEventType change) { + This->lpVtbl->CurrentPlaylistChange(This,change); +} +static inline void IWMPEvents2_CurrentPlaylistItemAvailable(IWMPEvents2* This,BSTR item) { + This->lpVtbl->CurrentPlaylistItemAvailable(This,item); +} +static inline void IWMPEvents2_MediaChange(IWMPEvents2* This,IDispatch *item) { + This->lpVtbl->MediaChange(This,item); +} +static inline void IWMPEvents2_CurrentMediaItemAvailable(IWMPEvents2* This,BSTR name) { + This->lpVtbl->CurrentMediaItemAvailable(This,name); +} +static inline void IWMPEvents2_CurrentItemChange(IWMPEvents2* This,IDispatch *media) { + This->lpVtbl->CurrentItemChange(This,media); +} +static inline void IWMPEvents2_MediaCollectionChange(IWMPEvents2* This) { + This->lpVtbl->MediaCollectionChange(This); +} +static inline void IWMPEvents2_MediaCollectionAttributeStringAdded(IWMPEvents2* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val); +} +static inline void IWMPEvents2_MediaCollectionAttributeStringRemoved(IWMPEvents2* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val); +} +static inline void IWMPEvents2_MediaCollectionAttributeStringChanged(IWMPEvents2* This,BSTR name,BSTR old_val,BSTR new_val) { + This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val); +} +static inline void IWMPEvents2_PlaylistCollectionChange(IWMPEvents2* This) { + This->lpVtbl->PlaylistCollectionChange(This); +} +static inline void IWMPEvents2_PlaylistCollectionPlaylistAdded(IWMPEvents2* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name); +} +static inline void IWMPEvents2_PlaylistCollectionPlaylistRemoved(IWMPEvents2* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name); +} +static inline void IWMPEvents2_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents2* This,BSTR name,VARIANT_BOOL deleted) { + This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted); +} +static inline void IWMPEvents2_ModeChange(IWMPEvents2* This,BSTR ModeName,VARIANT_BOOL value) { + This->lpVtbl->ModeChange(This,ModeName,value); +} +static inline void IWMPEvents2_MediaError(IWMPEvents2* This,IDispatch *media) { + This->lpVtbl->MediaError(This,media); +} +static inline void IWMPEvents2_OpenPlaylistSwitch(IWMPEvents2* This,IDispatch *item) { + This->lpVtbl->OpenPlaylistSwitch(This,item); +} +static inline void IWMPEvents2_DomainChange(IWMPEvents2* This,BSTR domain) { + This->lpVtbl->DomainChange(This,domain); +} +static inline void IWMPEvents2_SwitchedToPlayerApplication(IWMPEvents2* This) { + This->lpVtbl->SwitchedToPlayerApplication(This); +} +static inline void IWMPEvents2_SwitchedToControl(IWMPEvents2* This) { + This->lpVtbl->SwitchedToControl(This); +} +static inline void IWMPEvents2_PlayerDockedStateChange(IWMPEvents2* This) { + This->lpVtbl->PlayerDockedStateChange(This); +} +static inline void IWMPEvents2_PlayerReconnect(IWMPEvents2* This) { + This->lpVtbl->PlayerReconnect(This); +} +static inline void IWMPEvents2_Click(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->Click(This,button,shift_state,x,y); +} +static inline void IWMPEvents2_DoubleClick(IWMPEvents2* This,short button,short shift_state,LONG fX,LONG fY) { + This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY); +} +static inline void IWMPEvents2_KeyDown(IWMPEvents2* This,short keycode,short shift_state) { + This->lpVtbl->KeyDown(This,keycode,shift_state); +} +static inline void IWMPEvents2_KeyPress(IWMPEvents2* This,short ascii) { + This->lpVtbl->KeyPress(This,ascii); +} +static inline void IWMPEvents2_KeyUp(IWMPEvents2* This,short keycode,short shift_state) { + This->lpVtbl->KeyUp(This,keycode,shift_state); +} +static inline void IWMPEvents2_MouseDown(IWMPEvents2* This,short button,short nShiftState,LONG x,LONG y) { + This->lpVtbl->MouseDown(This,button,nShiftState,x,y); +} +static inline void IWMPEvents2_MouseMove(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseMove(This,button,shift_state,x,y); +} +static inline void IWMPEvents2_MouseUp(IWMPEvents2* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseUp(This,button,shift_state,x,y); +} +/*** IWMPEvents2 methods ***/ +static inline void IWMPEvents2_DeviceConnect(IWMPEvents2* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceConnect(This,device); +} +static inline void IWMPEvents2_DeviceDisconnect(IWMPEvents2* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceDisconnect(This,device); +} +static inline void IWMPEvents2_DeviceStatusChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPDeviceStatus status) { + This->lpVtbl->DeviceStatusChange(This,device,status); +} +static inline void IWMPEvents2_DeviceSyncStateChange(IWMPEvents2* This,IWMPSyncDevice *device,WMPSyncState state) { + This->lpVtbl->DeviceSyncStateChange(This,device,state); +} +static inline void IWMPEvents2_DeviceSyncError(IWMPEvents2* This,IWMPSyncDevice *device,IDispatch *media) { + This->lpVtbl->DeviceSyncError(This,device,media); +} +static inline void IWMPEvents2_CreatePartnershipComplete(IWMPEvents2* This,IWMPSyncDevice *device,HRESULT result) { + This->lpVtbl->CreatePartnershipComplete(This,device,result); +} +#endif +#endif + +#endif + + +#endif /* __IWMPEvents2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPEvents3 interface + */ +#ifndef __IWMPEvents3_INTERFACE_DEFINED__ +#define __IWMPEvents3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1f504270-a66b-4223-8e96-26a06c63d69f") +IWMPEvents3 : public IWMPEvents2 +{ + virtual void STDMETHODCALLTYPE CdromRipStateChange( + IWMPCdromRip *rip, + WMPRipState state) = 0; + + virtual void STDMETHODCALLTYPE CdromRipMediaError( + IWMPCdromRip *rip, + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE CdromBurnStateChange( + IWMPCdromBurn *burn, + WMPBurnState state) = 0; + + virtual void STDMETHODCALLTYPE CdromBurnMediaError( + IWMPCdromBurn *burn, + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE CdromBurnError( + IWMPCdromBurn *burn, + HRESULT error) = 0; + + virtual void STDMETHODCALLTYPE LibraryConnect( + IWMPLibrary *wmplibrary) = 0; + + virtual void STDMETHODCALLTYPE LibraryDisconnect( + IWMPLibrary *wmplibrary) = 0; + + virtual void STDMETHODCALLTYPE FolderScanStateChange( + WMPFolderScanState state) = 0; + + virtual void STDMETHODCALLTYPE StringCollectionChange( + IDispatch *collection, + WMPStringCollectionChangeEventType change, + LONG index) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionMediaAdded( + IDispatch *media) = 0; + + virtual void STDMETHODCALLTYPE MediaCollectionMediaRemoved( + IDispatch *media) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPEvents3, 0x1f504270, 0xa66b, 0x4223, 0x8e,0x96, 0x26,0xa0,0x6c,0x63,0xd6,0x9f) +#endif +#else +typedef struct IWMPEvents3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPEvents3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPEvents3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPEvents3 *This); + + /*** IWMPEvents methods ***/ + void (STDMETHODCALLTYPE *OpenStateChange)( + IWMPEvents3 *This, + LONG state); + + void (STDMETHODCALLTYPE *PlayStateChange)( + IWMPEvents3 *This, + LONG state); + + void (STDMETHODCALLTYPE *AudioLanguageChange)( + IWMPEvents3 *This, + LONG lang); + + void (STDMETHODCALLTYPE *StatusChange)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *ScriptCommand)( + IWMPEvents3 *This, + BSTR type, + BSTR param); + + void (STDMETHODCALLTYPE *NewStream)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *Disconnect)( + IWMPEvents3 *This, + LONG result); + + void (STDMETHODCALLTYPE *Buffering)( + IWMPEvents3 *This, + VARIANT_BOOL start); + + void (STDMETHODCALLTYPE *Error)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *Warning)( + IWMPEvents3 *This, + LONG warning, + LONG param, + BSTR description); + + void (STDMETHODCALLTYPE *EndOfStream)( + IWMPEvents3 *This, + LONG result); + + void (STDMETHODCALLTYPE *PositionChange)( + IWMPEvents3 *This, + double old_position, + double new_position); + + void (STDMETHODCALLTYPE *MarkerHit)( + IWMPEvents3 *This, + LONG marker); + + void (STDMETHODCALLTYPE *DurationUnitChange)( + IWMPEvents3 *This, + LONG duration); + + void (STDMETHODCALLTYPE *CdromMediaChange)( + IWMPEvents3 *This, + LONG num); + + void (STDMETHODCALLTYPE *PlaylistChange)( + IWMPEvents3 *This, + IDispatch *playlist, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistChange)( + IWMPEvents3 *This, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)( + IWMPEvents3 *This, + BSTR item); + + void (STDMETHODCALLTYPE *MediaChange)( + IWMPEvents3 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)( + IWMPEvents3 *This, + BSTR name); + + void (STDMETHODCALLTYPE *CurrentItemChange)( + IWMPEvents3 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionChange)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)( + IWMPEvents3 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)( + IWMPEvents3 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)( + IWMPEvents3 *This, + BSTR name, + BSTR old_val, + BSTR new_val); + + void (STDMETHODCALLTYPE *PlaylistCollectionChange)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)( + IWMPEvents3 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)( + IWMPEvents3 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)( + IWMPEvents3 *This, + BSTR name, + VARIANT_BOOL deleted); + + void (STDMETHODCALLTYPE *ModeChange)( + IWMPEvents3 *This, + BSTR ModeName, + VARIANT_BOOL value); + + void (STDMETHODCALLTYPE *MediaError)( + IWMPEvents3 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *OpenPlaylistSwitch)( + IWMPEvents3 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *DomainChange)( + IWMPEvents3 *This, + BSTR domain); + + void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *SwitchedToControl)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *PlayerDockedStateChange)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *PlayerReconnect)( + IWMPEvents3 *This); + + void (STDMETHODCALLTYPE *Click)( + IWMPEvents3 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *DoubleClick)( + IWMPEvents3 *This, + short button, + short shift_state, + LONG fX, + LONG fY); + + void (STDMETHODCALLTYPE *KeyDown)( + IWMPEvents3 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *KeyPress)( + IWMPEvents3 *This, + short ascii); + + void (STDMETHODCALLTYPE *KeyUp)( + IWMPEvents3 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *MouseDown)( + IWMPEvents3 *This, + short button, + short nShiftState, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseMove)( + IWMPEvents3 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseUp)( + IWMPEvents3 *This, + short button, + short shift_state, + LONG x, + LONG y); + + /*** IWMPEvents2 methods ***/ + void (STDMETHODCALLTYPE *DeviceConnect)( + IWMPEvents3 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceDisconnect)( + IWMPEvents3 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceStatusChange)( + IWMPEvents3 *This, + IWMPSyncDevice *device, + WMPDeviceStatus status); + + void (STDMETHODCALLTYPE *DeviceSyncStateChange)( + IWMPEvents3 *This, + IWMPSyncDevice *device, + WMPSyncState state); + + void (STDMETHODCALLTYPE *DeviceSyncError)( + IWMPEvents3 *This, + IWMPSyncDevice *device, + IDispatch *media); + + void (STDMETHODCALLTYPE *CreatePartnershipComplete)( + IWMPEvents3 *This, + IWMPSyncDevice *device, + HRESULT result); + + /*** IWMPEvents3 methods ***/ + void (STDMETHODCALLTYPE *CdromRipStateChange)( + IWMPEvents3 *This, + IWMPCdromRip *rip, + WMPRipState state); + + void (STDMETHODCALLTYPE *CdromRipMediaError)( + IWMPEvents3 *This, + IWMPCdromRip *rip, + IDispatch *media); + + void (STDMETHODCALLTYPE *CdromBurnStateChange)( + IWMPEvents3 *This, + IWMPCdromBurn *burn, + WMPBurnState state); + + void (STDMETHODCALLTYPE *CdromBurnMediaError)( + IWMPEvents3 *This, + IWMPCdromBurn *burn, + IDispatch *media); + + void (STDMETHODCALLTYPE *CdromBurnError)( + IWMPEvents3 *This, + IWMPCdromBurn *burn, + HRESULT error); + + void (STDMETHODCALLTYPE *LibraryConnect)( + IWMPEvents3 *This, + IWMPLibrary *wmplibrary); + + void (STDMETHODCALLTYPE *LibraryDisconnect)( + IWMPEvents3 *This, + IWMPLibrary *wmplibrary); + + void (STDMETHODCALLTYPE *FolderScanStateChange)( + IWMPEvents3 *This, + WMPFolderScanState state); + + void (STDMETHODCALLTYPE *StringCollectionChange)( + IWMPEvents3 *This, + IDispatch *collection, + WMPStringCollectionChangeEventType change, + LONG index); + + void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)( + IWMPEvents3 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)( + IWMPEvents3 *This, + IDispatch *media); + + END_INTERFACE +} IWMPEvents3Vtbl; + +interface IWMPEvents3 { + CONST_VTBL IWMPEvents3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPEvents3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPEvents3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPEvents3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPEvents methods ***/ +#define IWMPEvents3_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state) +#define IWMPEvents3_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state) +#define IWMPEvents3_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang) +#define IWMPEvents3_StatusChange(This) (This)->lpVtbl->StatusChange(This) +#define IWMPEvents3_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param) +#define IWMPEvents3_NewStream(This) (This)->lpVtbl->NewStream(This) +#define IWMPEvents3_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result) +#define IWMPEvents3_Buffering(This,start) (This)->lpVtbl->Buffering(This,start) +#define IWMPEvents3_Error(This) (This)->lpVtbl->Error(This) +#define IWMPEvents3_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description) +#define IWMPEvents3_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result) +#define IWMPEvents3_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position) +#define IWMPEvents3_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker) +#define IWMPEvents3_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration) +#define IWMPEvents3_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num) +#define IWMPEvents3_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change) +#define IWMPEvents3_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change) +#define IWMPEvents3_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item) +#define IWMPEvents3_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item) +#define IWMPEvents3_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name) +#define IWMPEvents3_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media) +#define IWMPEvents3_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This) +#define IWMPEvents3_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val) +#define IWMPEvents3_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val) +#define IWMPEvents3_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val) +#define IWMPEvents3_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This) +#define IWMPEvents3_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name) +#define IWMPEvents3_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name) +#define IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) +#define IWMPEvents3_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value) +#define IWMPEvents3_MediaError(This,media) (This)->lpVtbl->MediaError(This,media) +#define IWMPEvents3_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item) +#define IWMPEvents3_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain) +#define IWMPEvents3_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This) +#define IWMPEvents3_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This) +#define IWMPEvents3_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This) +#define IWMPEvents3_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This) +#define IWMPEvents3_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y) +#define IWMPEvents3_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY) +#define IWMPEvents3_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state) +#define IWMPEvents3_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii) +#define IWMPEvents3_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state) +#define IWMPEvents3_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y) +#define IWMPEvents3_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y) +#define IWMPEvents3_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y) +/*** IWMPEvents2 methods ***/ +#define IWMPEvents3_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device) +#define IWMPEvents3_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device) +#define IWMPEvents3_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status) +#define IWMPEvents3_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state) +#define IWMPEvents3_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media) +#define IWMPEvents3_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result) +/*** IWMPEvents3 methods ***/ +#define IWMPEvents3_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state) +#define IWMPEvents3_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media) +#define IWMPEvents3_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state) +#define IWMPEvents3_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media) +#define IWMPEvents3_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error) +#define IWMPEvents3_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary) +#define IWMPEvents3_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary) +#define IWMPEvents3_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state) +#define IWMPEvents3_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index) +#define IWMPEvents3_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media) +#define IWMPEvents3_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPEvents3_QueryInterface(IWMPEvents3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPEvents3_AddRef(IWMPEvents3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPEvents3_Release(IWMPEvents3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPEvents methods ***/ +static inline void IWMPEvents3_OpenStateChange(IWMPEvents3* This,LONG state) { + This->lpVtbl->OpenStateChange(This,state); +} +static inline void IWMPEvents3_PlayStateChange(IWMPEvents3* This,LONG state) { + This->lpVtbl->PlayStateChange(This,state); +} +static inline void IWMPEvents3_AudioLanguageChange(IWMPEvents3* This,LONG lang) { + This->lpVtbl->AudioLanguageChange(This,lang); +} +static inline void IWMPEvents3_StatusChange(IWMPEvents3* This) { + This->lpVtbl->StatusChange(This); +} +static inline void IWMPEvents3_ScriptCommand(IWMPEvents3* This,BSTR type,BSTR param) { + This->lpVtbl->ScriptCommand(This,type,param); +} +static inline void IWMPEvents3_NewStream(IWMPEvents3* This) { + This->lpVtbl->NewStream(This); +} +static inline void IWMPEvents3_Disconnect(IWMPEvents3* This,LONG result) { + This->lpVtbl->Disconnect(This,result); +} +static inline void IWMPEvents3_Buffering(IWMPEvents3* This,VARIANT_BOOL start) { + This->lpVtbl->Buffering(This,start); +} +static inline void IWMPEvents3_Error(IWMPEvents3* This) { + This->lpVtbl->Error(This); +} +static inline void IWMPEvents3_Warning(IWMPEvents3* This,LONG warning,LONG param,BSTR description) { + This->lpVtbl->Warning(This,warning,param,description); +} +static inline void IWMPEvents3_EndOfStream(IWMPEvents3* This,LONG result) { + This->lpVtbl->EndOfStream(This,result); +} +static inline void IWMPEvents3_PositionChange(IWMPEvents3* This,double old_position,double new_position) { + This->lpVtbl->PositionChange(This,old_position,new_position); +} +static inline void IWMPEvents3_MarkerHit(IWMPEvents3* This,LONG marker) { + This->lpVtbl->MarkerHit(This,marker); +} +static inline void IWMPEvents3_DurationUnitChange(IWMPEvents3* This,LONG duration) { + This->lpVtbl->DurationUnitChange(This,duration); +} +static inline void IWMPEvents3_CdromMediaChange(IWMPEvents3* This,LONG num) { + This->lpVtbl->CdromMediaChange(This,num); +} +static inline void IWMPEvents3_PlaylistChange(IWMPEvents3* This,IDispatch *playlist,WMPPlaylistChangeEventType change) { + This->lpVtbl->PlaylistChange(This,playlist,change); +} +static inline void IWMPEvents3_CurrentPlaylistChange(IWMPEvents3* This,WMPPlaylistChangeEventType change) { + This->lpVtbl->CurrentPlaylistChange(This,change); +} +static inline void IWMPEvents3_CurrentPlaylistItemAvailable(IWMPEvents3* This,BSTR item) { + This->lpVtbl->CurrentPlaylistItemAvailable(This,item); +} +static inline void IWMPEvents3_MediaChange(IWMPEvents3* This,IDispatch *item) { + This->lpVtbl->MediaChange(This,item); +} +static inline void IWMPEvents3_CurrentMediaItemAvailable(IWMPEvents3* This,BSTR name) { + This->lpVtbl->CurrentMediaItemAvailable(This,name); +} +static inline void IWMPEvents3_CurrentItemChange(IWMPEvents3* This,IDispatch *media) { + This->lpVtbl->CurrentItemChange(This,media); +} +static inline void IWMPEvents3_MediaCollectionChange(IWMPEvents3* This) { + This->lpVtbl->MediaCollectionChange(This); +} +static inline void IWMPEvents3_MediaCollectionAttributeStringAdded(IWMPEvents3* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val); +} +static inline void IWMPEvents3_MediaCollectionAttributeStringRemoved(IWMPEvents3* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val); +} +static inline void IWMPEvents3_MediaCollectionAttributeStringChanged(IWMPEvents3* This,BSTR name,BSTR old_val,BSTR new_val) { + This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val); +} +static inline void IWMPEvents3_PlaylistCollectionChange(IWMPEvents3* This) { + This->lpVtbl->PlaylistCollectionChange(This); +} +static inline void IWMPEvents3_PlaylistCollectionPlaylistAdded(IWMPEvents3* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name); +} +static inline void IWMPEvents3_PlaylistCollectionPlaylistRemoved(IWMPEvents3* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name); +} +static inline void IWMPEvents3_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents3* This,BSTR name,VARIANT_BOOL deleted) { + This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted); +} +static inline void IWMPEvents3_ModeChange(IWMPEvents3* This,BSTR ModeName,VARIANT_BOOL value) { + This->lpVtbl->ModeChange(This,ModeName,value); +} +static inline void IWMPEvents3_MediaError(IWMPEvents3* This,IDispatch *media) { + This->lpVtbl->MediaError(This,media); +} +static inline void IWMPEvents3_OpenPlaylistSwitch(IWMPEvents3* This,IDispatch *item) { + This->lpVtbl->OpenPlaylistSwitch(This,item); +} +static inline void IWMPEvents3_DomainChange(IWMPEvents3* This,BSTR domain) { + This->lpVtbl->DomainChange(This,domain); +} +static inline void IWMPEvents3_SwitchedToPlayerApplication(IWMPEvents3* This) { + This->lpVtbl->SwitchedToPlayerApplication(This); +} +static inline void IWMPEvents3_SwitchedToControl(IWMPEvents3* This) { + This->lpVtbl->SwitchedToControl(This); +} +static inline void IWMPEvents3_PlayerDockedStateChange(IWMPEvents3* This) { + This->lpVtbl->PlayerDockedStateChange(This); +} +static inline void IWMPEvents3_PlayerReconnect(IWMPEvents3* This) { + This->lpVtbl->PlayerReconnect(This); +} +static inline void IWMPEvents3_Click(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->Click(This,button,shift_state,x,y); +} +static inline void IWMPEvents3_DoubleClick(IWMPEvents3* This,short button,short shift_state,LONG fX,LONG fY) { + This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY); +} +static inline void IWMPEvents3_KeyDown(IWMPEvents3* This,short keycode,short shift_state) { + This->lpVtbl->KeyDown(This,keycode,shift_state); +} +static inline void IWMPEvents3_KeyPress(IWMPEvents3* This,short ascii) { + This->lpVtbl->KeyPress(This,ascii); +} +static inline void IWMPEvents3_KeyUp(IWMPEvents3* This,short keycode,short shift_state) { + This->lpVtbl->KeyUp(This,keycode,shift_state); +} +static inline void IWMPEvents3_MouseDown(IWMPEvents3* This,short button,short nShiftState,LONG x,LONG y) { + This->lpVtbl->MouseDown(This,button,nShiftState,x,y); +} +static inline void IWMPEvents3_MouseMove(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseMove(This,button,shift_state,x,y); +} +static inline void IWMPEvents3_MouseUp(IWMPEvents3* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseUp(This,button,shift_state,x,y); +} +/*** IWMPEvents2 methods ***/ +static inline void IWMPEvents3_DeviceConnect(IWMPEvents3* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceConnect(This,device); +} +static inline void IWMPEvents3_DeviceDisconnect(IWMPEvents3* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceDisconnect(This,device); +} +static inline void IWMPEvents3_DeviceStatusChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPDeviceStatus status) { + This->lpVtbl->DeviceStatusChange(This,device,status); +} +static inline void IWMPEvents3_DeviceSyncStateChange(IWMPEvents3* This,IWMPSyncDevice *device,WMPSyncState state) { + This->lpVtbl->DeviceSyncStateChange(This,device,state); +} +static inline void IWMPEvents3_DeviceSyncError(IWMPEvents3* This,IWMPSyncDevice *device,IDispatch *media) { + This->lpVtbl->DeviceSyncError(This,device,media); +} +static inline void IWMPEvents3_CreatePartnershipComplete(IWMPEvents3* This,IWMPSyncDevice *device,HRESULT result) { + This->lpVtbl->CreatePartnershipComplete(This,device,result); +} +/*** IWMPEvents3 methods ***/ +static inline void IWMPEvents3_CdromRipStateChange(IWMPEvents3* This,IWMPCdromRip *rip,WMPRipState state) { + This->lpVtbl->CdromRipStateChange(This,rip,state); +} +static inline void IWMPEvents3_CdromRipMediaError(IWMPEvents3* This,IWMPCdromRip *rip,IDispatch *media) { + This->lpVtbl->CdromRipMediaError(This,rip,media); +} +static inline void IWMPEvents3_CdromBurnStateChange(IWMPEvents3* This,IWMPCdromBurn *burn,WMPBurnState state) { + This->lpVtbl->CdromBurnStateChange(This,burn,state); +} +static inline void IWMPEvents3_CdromBurnMediaError(IWMPEvents3* This,IWMPCdromBurn *burn,IDispatch *media) { + This->lpVtbl->CdromBurnMediaError(This,burn,media); +} +static inline void IWMPEvents3_CdromBurnError(IWMPEvents3* This,IWMPCdromBurn *burn,HRESULT error) { + This->lpVtbl->CdromBurnError(This,burn,error); +} +static inline void IWMPEvents3_LibraryConnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) { + This->lpVtbl->LibraryConnect(This,wmplibrary); +} +static inline void IWMPEvents3_LibraryDisconnect(IWMPEvents3* This,IWMPLibrary *wmplibrary) { + This->lpVtbl->LibraryDisconnect(This,wmplibrary); +} +static inline void IWMPEvents3_FolderScanStateChange(IWMPEvents3* This,WMPFolderScanState state) { + This->lpVtbl->FolderScanStateChange(This,state); +} +static inline void IWMPEvents3_StringCollectionChange(IWMPEvents3* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) { + This->lpVtbl->StringCollectionChange(This,collection,change,index); +} +static inline void IWMPEvents3_MediaCollectionMediaAdded(IWMPEvents3* This,IDispatch *media) { + This->lpVtbl->MediaCollectionMediaAdded(This,media); +} +static inline void IWMPEvents3_MediaCollectionMediaRemoved(IWMPEvents3* This,IDispatch *media) { + This->lpVtbl->MediaCollectionMediaRemoved(This,media); +} +#endif +#endif + +#endif + + +#endif /* __IWMPEvents3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPEvents4 interface + */ +#ifndef __IWMPEvents4_INTERFACE_DEFINED__ +#define __IWMPEvents4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("26dabcfa-306b-404d-9a6f-630a8405048d") +IWMPEvents4 : public IWMPEvents3 +{ + virtual void STDMETHODCALLTYPE DeviceEstimation( + IWMPSyncDevice *device, + HRESULT result, + LONGLONG used_space, + LONGLONG estimated_space) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPEvents4, 0x26dabcfa, 0x306b, 0x404d, 0x9a,0x6f, 0x63,0x0a,0x84,0x05,0x04,0x8d) +#endif +#else +typedef struct IWMPEvents4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPEvents4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPEvents4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPEvents4 *This); + + /*** IWMPEvents methods ***/ + void (STDMETHODCALLTYPE *OpenStateChange)( + IWMPEvents4 *This, + LONG state); + + void (STDMETHODCALLTYPE *PlayStateChange)( + IWMPEvents4 *This, + LONG state); + + void (STDMETHODCALLTYPE *AudioLanguageChange)( + IWMPEvents4 *This, + LONG lang); + + void (STDMETHODCALLTYPE *StatusChange)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *ScriptCommand)( + IWMPEvents4 *This, + BSTR type, + BSTR param); + + void (STDMETHODCALLTYPE *NewStream)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *Disconnect)( + IWMPEvents4 *This, + LONG result); + + void (STDMETHODCALLTYPE *Buffering)( + IWMPEvents4 *This, + VARIANT_BOOL start); + + void (STDMETHODCALLTYPE *Error)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *Warning)( + IWMPEvents4 *This, + LONG warning, + LONG param, + BSTR description); + + void (STDMETHODCALLTYPE *EndOfStream)( + IWMPEvents4 *This, + LONG result); + + void (STDMETHODCALLTYPE *PositionChange)( + IWMPEvents4 *This, + double old_position, + double new_position); + + void (STDMETHODCALLTYPE *MarkerHit)( + IWMPEvents4 *This, + LONG marker); + + void (STDMETHODCALLTYPE *DurationUnitChange)( + IWMPEvents4 *This, + LONG duration); + + void (STDMETHODCALLTYPE *CdromMediaChange)( + IWMPEvents4 *This, + LONG num); + + void (STDMETHODCALLTYPE *PlaylistChange)( + IWMPEvents4 *This, + IDispatch *playlist, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistChange)( + IWMPEvents4 *This, + WMPPlaylistChangeEventType change); + + void (STDMETHODCALLTYPE *CurrentPlaylistItemAvailable)( + IWMPEvents4 *This, + BSTR item); + + void (STDMETHODCALLTYPE *MediaChange)( + IWMPEvents4 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *CurrentMediaItemAvailable)( + IWMPEvents4 *This, + BSTR name); + + void (STDMETHODCALLTYPE *CurrentItemChange)( + IWMPEvents4 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionChange)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringAdded)( + IWMPEvents4 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringRemoved)( + IWMPEvents4 *This, + BSTR name, + BSTR val); + + void (STDMETHODCALLTYPE *MediaCollectionAttributeStringChanged)( + IWMPEvents4 *This, + BSTR name, + BSTR old_val, + BSTR new_val); + + void (STDMETHODCALLTYPE *PlaylistCollectionChange)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistAdded)( + IWMPEvents4 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistRemoved)( + IWMPEvents4 *This, + BSTR name); + + void (STDMETHODCALLTYPE *PlaylistCollectionPlaylistSetAsDeleted)( + IWMPEvents4 *This, + BSTR name, + VARIANT_BOOL deleted); + + void (STDMETHODCALLTYPE *ModeChange)( + IWMPEvents4 *This, + BSTR ModeName, + VARIANT_BOOL value); + + void (STDMETHODCALLTYPE *MediaError)( + IWMPEvents4 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *OpenPlaylistSwitch)( + IWMPEvents4 *This, + IDispatch *item); + + void (STDMETHODCALLTYPE *DomainChange)( + IWMPEvents4 *This, + BSTR domain); + + void (STDMETHODCALLTYPE *SwitchedToPlayerApplication)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *SwitchedToControl)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *PlayerDockedStateChange)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *PlayerReconnect)( + IWMPEvents4 *This); + + void (STDMETHODCALLTYPE *Click)( + IWMPEvents4 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *DoubleClick)( + IWMPEvents4 *This, + short button, + short shift_state, + LONG fX, + LONG fY); + + void (STDMETHODCALLTYPE *KeyDown)( + IWMPEvents4 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *KeyPress)( + IWMPEvents4 *This, + short ascii); + + void (STDMETHODCALLTYPE *KeyUp)( + IWMPEvents4 *This, + short keycode, + short shift_state); + + void (STDMETHODCALLTYPE *MouseDown)( + IWMPEvents4 *This, + short button, + short nShiftState, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseMove)( + IWMPEvents4 *This, + short button, + short shift_state, + LONG x, + LONG y); + + void (STDMETHODCALLTYPE *MouseUp)( + IWMPEvents4 *This, + short button, + short shift_state, + LONG x, + LONG y); + + /*** IWMPEvents2 methods ***/ + void (STDMETHODCALLTYPE *DeviceConnect)( + IWMPEvents4 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceDisconnect)( + IWMPEvents4 *This, + IWMPSyncDevice *device); + + void (STDMETHODCALLTYPE *DeviceStatusChange)( + IWMPEvents4 *This, + IWMPSyncDevice *device, + WMPDeviceStatus status); + + void (STDMETHODCALLTYPE *DeviceSyncStateChange)( + IWMPEvents4 *This, + IWMPSyncDevice *device, + WMPSyncState state); + + void (STDMETHODCALLTYPE *DeviceSyncError)( + IWMPEvents4 *This, + IWMPSyncDevice *device, + IDispatch *media); + + void (STDMETHODCALLTYPE *CreatePartnershipComplete)( + IWMPEvents4 *This, + IWMPSyncDevice *device, + HRESULT result); + + /*** IWMPEvents3 methods ***/ + void (STDMETHODCALLTYPE *CdromRipStateChange)( + IWMPEvents4 *This, + IWMPCdromRip *rip, + WMPRipState state); + + void (STDMETHODCALLTYPE *CdromRipMediaError)( + IWMPEvents4 *This, + IWMPCdromRip *rip, + IDispatch *media); + + void (STDMETHODCALLTYPE *CdromBurnStateChange)( + IWMPEvents4 *This, + IWMPCdromBurn *burn, + WMPBurnState state); + + void (STDMETHODCALLTYPE *CdromBurnMediaError)( + IWMPEvents4 *This, + IWMPCdromBurn *burn, + IDispatch *media); + + void (STDMETHODCALLTYPE *CdromBurnError)( + IWMPEvents4 *This, + IWMPCdromBurn *burn, + HRESULT error); + + void (STDMETHODCALLTYPE *LibraryConnect)( + IWMPEvents4 *This, + IWMPLibrary *wmplibrary); + + void (STDMETHODCALLTYPE *LibraryDisconnect)( + IWMPEvents4 *This, + IWMPLibrary *wmplibrary); + + void (STDMETHODCALLTYPE *FolderScanStateChange)( + IWMPEvents4 *This, + WMPFolderScanState state); + + void (STDMETHODCALLTYPE *StringCollectionChange)( + IWMPEvents4 *This, + IDispatch *collection, + WMPStringCollectionChangeEventType change, + LONG index); + + void (STDMETHODCALLTYPE *MediaCollectionMediaAdded)( + IWMPEvents4 *This, + IDispatch *media); + + void (STDMETHODCALLTYPE *MediaCollectionMediaRemoved)( + IWMPEvents4 *This, + IDispatch *media); + + /*** IWMPEvents4 methods ***/ + void (STDMETHODCALLTYPE *DeviceEstimation)( + IWMPEvents4 *This, + IWMPSyncDevice *device, + HRESULT result, + LONGLONG used_space, + LONGLONG estimated_space); + + END_INTERFACE +} IWMPEvents4Vtbl; + +interface IWMPEvents4 { + CONST_VTBL IWMPEvents4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPEvents4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPEvents4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPEvents4_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPEvents methods ***/ +#define IWMPEvents4_OpenStateChange(This,state) (This)->lpVtbl->OpenStateChange(This,state) +#define IWMPEvents4_PlayStateChange(This,state) (This)->lpVtbl->PlayStateChange(This,state) +#define IWMPEvents4_AudioLanguageChange(This,lang) (This)->lpVtbl->AudioLanguageChange(This,lang) +#define IWMPEvents4_StatusChange(This) (This)->lpVtbl->StatusChange(This) +#define IWMPEvents4_ScriptCommand(This,type,param) (This)->lpVtbl->ScriptCommand(This,type,param) +#define IWMPEvents4_NewStream(This) (This)->lpVtbl->NewStream(This) +#define IWMPEvents4_Disconnect(This,result) (This)->lpVtbl->Disconnect(This,result) +#define IWMPEvents4_Buffering(This,start) (This)->lpVtbl->Buffering(This,start) +#define IWMPEvents4_Error(This) (This)->lpVtbl->Error(This) +#define IWMPEvents4_Warning(This,warning,param,description) (This)->lpVtbl->Warning(This,warning,param,description) +#define IWMPEvents4_EndOfStream(This,result) (This)->lpVtbl->EndOfStream(This,result) +#define IWMPEvents4_PositionChange(This,old_position,new_position) (This)->lpVtbl->PositionChange(This,old_position,new_position) +#define IWMPEvents4_MarkerHit(This,marker) (This)->lpVtbl->MarkerHit(This,marker) +#define IWMPEvents4_DurationUnitChange(This,duration) (This)->lpVtbl->DurationUnitChange(This,duration) +#define IWMPEvents4_CdromMediaChange(This,num) (This)->lpVtbl->CdromMediaChange(This,num) +#define IWMPEvents4_PlaylistChange(This,playlist,change) (This)->lpVtbl->PlaylistChange(This,playlist,change) +#define IWMPEvents4_CurrentPlaylistChange(This,change) (This)->lpVtbl->CurrentPlaylistChange(This,change) +#define IWMPEvents4_CurrentPlaylistItemAvailable(This,item) (This)->lpVtbl->CurrentPlaylistItemAvailable(This,item) +#define IWMPEvents4_MediaChange(This,item) (This)->lpVtbl->MediaChange(This,item) +#define IWMPEvents4_CurrentMediaItemAvailable(This,name) (This)->lpVtbl->CurrentMediaItemAvailable(This,name) +#define IWMPEvents4_CurrentItemChange(This,media) (This)->lpVtbl->CurrentItemChange(This,media) +#define IWMPEvents4_MediaCollectionChange(This) (This)->lpVtbl->MediaCollectionChange(This) +#define IWMPEvents4_MediaCollectionAttributeStringAdded(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val) +#define IWMPEvents4_MediaCollectionAttributeStringRemoved(This,name,val) (This)->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val) +#define IWMPEvents4_MediaCollectionAttributeStringChanged(This,name,old_val,new_val) (This)->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val) +#define IWMPEvents4_PlaylistCollectionChange(This) (This)->lpVtbl->PlaylistCollectionChange(This) +#define IWMPEvents4_PlaylistCollectionPlaylistAdded(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistAdded(This,name) +#define IWMPEvents4_PlaylistCollectionPlaylistRemoved(This,name) (This)->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name) +#define IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) (This)->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted) +#define IWMPEvents4_ModeChange(This,ModeName,value) (This)->lpVtbl->ModeChange(This,ModeName,value) +#define IWMPEvents4_MediaError(This,media) (This)->lpVtbl->MediaError(This,media) +#define IWMPEvents4_OpenPlaylistSwitch(This,item) (This)->lpVtbl->OpenPlaylistSwitch(This,item) +#define IWMPEvents4_DomainChange(This,domain) (This)->lpVtbl->DomainChange(This,domain) +#define IWMPEvents4_SwitchedToPlayerApplication(This) (This)->lpVtbl->SwitchedToPlayerApplication(This) +#define IWMPEvents4_SwitchedToControl(This) (This)->lpVtbl->SwitchedToControl(This) +#define IWMPEvents4_PlayerDockedStateChange(This) (This)->lpVtbl->PlayerDockedStateChange(This) +#define IWMPEvents4_PlayerReconnect(This) (This)->lpVtbl->PlayerReconnect(This) +#define IWMPEvents4_Click(This,button,shift_state,x,y) (This)->lpVtbl->Click(This,button,shift_state,x,y) +#define IWMPEvents4_DoubleClick(This,button,shift_state,fX,fY) (This)->lpVtbl->DoubleClick(This,button,shift_state,fX,fY) +#define IWMPEvents4_KeyDown(This,keycode,shift_state) (This)->lpVtbl->KeyDown(This,keycode,shift_state) +#define IWMPEvents4_KeyPress(This,ascii) (This)->lpVtbl->KeyPress(This,ascii) +#define IWMPEvents4_KeyUp(This,keycode,shift_state) (This)->lpVtbl->KeyUp(This,keycode,shift_state) +#define IWMPEvents4_MouseDown(This,button,nShiftState,x,y) (This)->lpVtbl->MouseDown(This,button,nShiftState,x,y) +#define IWMPEvents4_MouseMove(This,button,shift_state,x,y) (This)->lpVtbl->MouseMove(This,button,shift_state,x,y) +#define IWMPEvents4_MouseUp(This,button,shift_state,x,y) (This)->lpVtbl->MouseUp(This,button,shift_state,x,y) +/*** IWMPEvents2 methods ***/ +#define IWMPEvents4_DeviceConnect(This,device) (This)->lpVtbl->DeviceConnect(This,device) +#define IWMPEvents4_DeviceDisconnect(This,device) (This)->lpVtbl->DeviceDisconnect(This,device) +#define IWMPEvents4_DeviceStatusChange(This,device,status) (This)->lpVtbl->DeviceStatusChange(This,device,status) +#define IWMPEvents4_DeviceSyncStateChange(This,device,state) (This)->lpVtbl->DeviceSyncStateChange(This,device,state) +#define IWMPEvents4_DeviceSyncError(This,device,media) (This)->lpVtbl->DeviceSyncError(This,device,media) +#define IWMPEvents4_CreatePartnershipComplete(This,device,result) (This)->lpVtbl->CreatePartnershipComplete(This,device,result) +/*** IWMPEvents3 methods ***/ +#define IWMPEvents4_CdromRipStateChange(This,rip,state) (This)->lpVtbl->CdromRipStateChange(This,rip,state) +#define IWMPEvents4_CdromRipMediaError(This,rip,media) (This)->lpVtbl->CdromRipMediaError(This,rip,media) +#define IWMPEvents4_CdromBurnStateChange(This,burn,state) (This)->lpVtbl->CdromBurnStateChange(This,burn,state) +#define IWMPEvents4_CdromBurnMediaError(This,burn,media) (This)->lpVtbl->CdromBurnMediaError(This,burn,media) +#define IWMPEvents4_CdromBurnError(This,burn,error) (This)->lpVtbl->CdromBurnError(This,burn,error) +#define IWMPEvents4_LibraryConnect(This,wmplibrary) (This)->lpVtbl->LibraryConnect(This,wmplibrary) +#define IWMPEvents4_LibraryDisconnect(This,wmplibrary) (This)->lpVtbl->LibraryDisconnect(This,wmplibrary) +#define IWMPEvents4_FolderScanStateChange(This,state) (This)->lpVtbl->FolderScanStateChange(This,state) +#define IWMPEvents4_StringCollectionChange(This,collection,change,index) (This)->lpVtbl->StringCollectionChange(This,collection,change,index) +#define IWMPEvents4_MediaCollectionMediaAdded(This,media) (This)->lpVtbl->MediaCollectionMediaAdded(This,media) +#define IWMPEvents4_MediaCollectionMediaRemoved(This,media) (This)->lpVtbl->MediaCollectionMediaRemoved(This,media) +/*** IWMPEvents4 methods ***/ +#define IWMPEvents4_DeviceEstimation(This,device,result,used_space,estimated_space) (This)->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPEvents4_QueryInterface(IWMPEvents4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPEvents4_AddRef(IWMPEvents4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPEvents4_Release(IWMPEvents4* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPEvents methods ***/ +static inline void IWMPEvents4_OpenStateChange(IWMPEvents4* This,LONG state) { + This->lpVtbl->OpenStateChange(This,state); +} +static inline void IWMPEvents4_PlayStateChange(IWMPEvents4* This,LONG state) { + This->lpVtbl->PlayStateChange(This,state); +} +static inline void IWMPEvents4_AudioLanguageChange(IWMPEvents4* This,LONG lang) { + This->lpVtbl->AudioLanguageChange(This,lang); +} +static inline void IWMPEvents4_StatusChange(IWMPEvents4* This) { + This->lpVtbl->StatusChange(This); +} +static inline void IWMPEvents4_ScriptCommand(IWMPEvents4* This,BSTR type,BSTR param) { + This->lpVtbl->ScriptCommand(This,type,param); +} +static inline void IWMPEvents4_NewStream(IWMPEvents4* This) { + This->lpVtbl->NewStream(This); +} +static inline void IWMPEvents4_Disconnect(IWMPEvents4* This,LONG result) { + This->lpVtbl->Disconnect(This,result); +} +static inline void IWMPEvents4_Buffering(IWMPEvents4* This,VARIANT_BOOL start) { + This->lpVtbl->Buffering(This,start); +} +static inline void IWMPEvents4_Error(IWMPEvents4* This) { + This->lpVtbl->Error(This); +} +static inline void IWMPEvents4_Warning(IWMPEvents4* This,LONG warning,LONG param,BSTR description) { + This->lpVtbl->Warning(This,warning,param,description); +} +static inline void IWMPEvents4_EndOfStream(IWMPEvents4* This,LONG result) { + This->lpVtbl->EndOfStream(This,result); +} +static inline void IWMPEvents4_PositionChange(IWMPEvents4* This,double old_position,double new_position) { + This->lpVtbl->PositionChange(This,old_position,new_position); +} +static inline void IWMPEvents4_MarkerHit(IWMPEvents4* This,LONG marker) { + This->lpVtbl->MarkerHit(This,marker); +} +static inline void IWMPEvents4_DurationUnitChange(IWMPEvents4* This,LONG duration) { + This->lpVtbl->DurationUnitChange(This,duration); +} +static inline void IWMPEvents4_CdromMediaChange(IWMPEvents4* This,LONG num) { + This->lpVtbl->CdromMediaChange(This,num); +} +static inline void IWMPEvents4_PlaylistChange(IWMPEvents4* This,IDispatch *playlist,WMPPlaylistChangeEventType change) { + This->lpVtbl->PlaylistChange(This,playlist,change); +} +static inline void IWMPEvents4_CurrentPlaylistChange(IWMPEvents4* This,WMPPlaylistChangeEventType change) { + This->lpVtbl->CurrentPlaylistChange(This,change); +} +static inline void IWMPEvents4_CurrentPlaylistItemAvailable(IWMPEvents4* This,BSTR item) { + This->lpVtbl->CurrentPlaylistItemAvailable(This,item); +} +static inline void IWMPEvents4_MediaChange(IWMPEvents4* This,IDispatch *item) { + This->lpVtbl->MediaChange(This,item); +} +static inline void IWMPEvents4_CurrentMediaItemAvailable(IWMPEvents4* This,BSTR name) { + This->lpVtbl->CurrentMediaItemAvailable(This,name); +} +static inline void IWMPEvents4_CurrentItemChange(IWMPEvents4* This,IDispatch *media) { + This->lpVtbl->CurrentItemChange(This,media); +} +static inline void IWMPEvents4_MediaCollectionChange(IWMPEvents4* This) { + This->lpVtbl->MediaCollectionChange(This); +} +static inline void IWMPEvents4_MediaCollectionAttributeStringAdded(IWMPEvents4* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringAdded(This,name,val); +} +static inline void IWMPEvents4_MediaCollectionAttributeStringRemoved(IWMPEvents4* This,BSTR name,BSTR val) { + This->lpVtbl->MediaCollectionAttributeStringRemoved(This,name,val); +} +static inline void IWMPEvents4_MediaCollectionAttributeStringChanged(IWMPEvents4* This,BSTR name,BSTR old_val,BSTR new_val) { + This->lpVtbl->MediaCollectionAttributeStringChanged(This,name,old_val,new_val); +} +static inline void IWMPEvents4_PlaylistCollectionChange(IWMPEvents4* This) { + This->lpVtbl->PlaylistCollectionChange(This); +} +static inline void IWMPEvents4_PlaylistCollectionPlaylistAdded(IWMPEvents4* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistAdded(This,name); +} +static inline void IWMPEvents4_PlaylistCollectionPlaylistRemoved(IWMPEvents4* This,BSTR name) { + This->lpVtbl->PlaylistCollectionPlaylistRemoved(This,name); +} +static inline void IWMPEvents4_PlaylistCollectionPlaylistSetAsDeleted(IWMPEvents4* This,BSTR name,VARIANT_BOOL deleted) { + This->lpVtbl->PlaylistCollectionPlaylistSetAsDeleted(This,name,deleted); +} +static inline void IWMPEvents4_ModeChange(IWMPEvents4* This,BSTR ModeName,VARIANT_BOOL value) { + This->lpVtbl->ModeChange(This,ModeName,value); +} +static inline void IWMPEvents4_MediaError(IWMPEvents4* This,IDispatch *media) { + This->lpVtbl->MediaError(This,media); +} +static inline void IWMPEvents4_OpenPlaylistSwitch(IWMPEvents4* This,IDispatch *item) { + This->lpVtbl->OpenPlaylistSwitch(This,item); +} +static inline void IWMPEvents4_DomainChange(IWMPEvents4* This,BSTR domain) { + This->lpVtbl->DomainChange(This,domain); +} +static inline void IWMPEvents4_SwitchedToPlayerApplication(IWMPEvents4* This) { + This->lpVtbl->SwitchedToPlayerApplication(This); +} +static inline void IWMPEvents4_SwitchedToControl(IWMPEvents4* This) { + This->lpVtbl->SwitchedToControl(This); +} +static inline void IWMPEvents4_PlayerDockedStateChange(IWMPEvents4* This) { + This->lpVtbl->PlayerDockedStateChange(This); +} +static inline void IWMPEvents4_PlayerReconnect(IWMPEvents4* This) { + This->lpVtbl->PlayerReconnect(This); +} +static inline void IWMPEvents4_Click(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->Click(This,button,shift_state,x,y); +} +static inline void IWMPEvents4_DoubleClick(IWMPEvents4* This,short button,short shift_state,LONG fX,LONG fY) { + This->lpVtbl->DoubleClick(This,button,shift_state,fX,fY); +} +static inline void IWMPEvents4_KeyDown(IWMPEvents4* This,short keycode,short shift_state) { + This->lpVtbl->KeyDown(This,keycode,shift_state); +} +static inline void IWMPEvents4_KeyPress(IWMPEvents4* This,short ascii) { + This->lpVtbl->KeyPress(This,ascii); +} +static inline void IWMPEvents4_KeyUp(IWMPEvents4* This,short keycode,short shift_state) { + This->lpVtbl->KeyUp(This,keycode,shift_state); +} +static inline void IWMPEvents4_MouseDown(IWMPEvents4* This,short button,short nShiftState,LONG x,LONG y) { + This->lpVtbl->MouseDown(This,button,nShiftState,x,y); +} +static inline void IWMPEvents4_MouseMove(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseMove(This,button,shift_state,x,y); +} +static inline void IWMPEvents4_MouseUp(IWMPEvents4* This,short button,short shift_state,LONG x,LONG y) { + This->lpVtbl->MouseUp(This,button,shift_state,x,y); +} +/*** IWMPEvents2 methods ***/ +static inline void IWMPEvents4_DeviceConnect(IWMPEvents4* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceConnect(This,device); +} +static inline void IWMPEvents4_DeviceDisconnect(IWMPEvents4* This,IWMPSyncDevice *device) { + This->lpVtbl->DeviceDisconnect(This,device); +} +static inline void IWMPEvents4_DeviceStatusChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPDeviceStatus status) { + This->lpVtbl->DeviceStatusChange(This,device,status); +} +static inline void IWMPEvents4_DeviceSyncStateChange(IWMPEvents4* This,IWMPSyncDevice *device,WMPSyncState state) { + This->lpVtbl->DeviceSyncStateChange(This,device,state); +} +static inline void IWMPEvents4_DeviceSyncError(IWMPEvents4* This,IWMPSyncDevice *device,IDispatch *media) { + This->lpVtbl->DeviceSyncError(This,device,media); +} +static inline void IWMPEvents4_CreatePartnershipComplete(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result) { + This->lpVtbl->CreatePartnershipComplete(This,device,result); +} +/*** IWMPEvents3 methods ***/ +static inline void IWMPEvents4_CdromRipStateChange(IWMPEvents4* This,IWMPCdromRip *rip,WMPRipState state) { + This->lpVtbl->CdromRipStateChange(This,rip,state); +} +static inline void IWMPEvents4_CdromRipMediaError(IWMPEvents4* This,IWMPCdromRip *rip,IDispatch *media) { + This->lpVtbl->CdromRipMediaError(This,rip,media); +} +static inline void IWMPEvents4_CdromBurnStateChange(IWMPEvents4* This,IWMPCdromBurn *burn,WMPBurnState state) { + This->lpVtbl->CdromBurnStateChange(This,burn,state); +} +static inline void IWMPEvents4_CdromBurnMediaError(IWMPEvents4* This,IWMPCdromBurn *burn,IDispatch *media) { + This->lpVtbl->CdromBurnMediaError(This,burn,media); +} +static inline void IWMPEvents4_CdromBurnError(IWMPEvents4* This,IWMPCdromBurn *burn,HRESULT error) { + This->lpVtbl->CdromBurnError(This,burn,error); +} +static inline void IWMPEvents4_LibraryConnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) { + This->lpVtbl->LibraryConnect(This,wmplibrary); +} +static inline void IWMPEvents4_LibraryDisconnect(IWMPEvents4* This,IWMPLibrary *wmplibrary) { + This->lpVtbl->LibraryDisconnect(This,wmplibrary); +} +static inline void IWMPEvents4_FolderScanStateChange(IWMPEvents4* This,WMPFolderScanState state) { + This->lpVtbl->FolderScanStateChange(This,state); +} +static inline void IWMPEvents4_StringCollectionChange(IWMPEvents4* This,IDispatch *collection,WMPStringCollectionChangeEventType change,LONG index) { + This->lpVtbl->StringCollectionChange(This,collection,change,index); +} +static inline void IWMPEvents4_MediaCollectionMediaAdded(IWMPEvents4* This,IDispatch *media) { + This->lpVtbl->MediaCollectionMediaAdded(This,media); +} +static inline void IWMPEvents4_MediaCollectionMediaRemoved(IWMPEvents4* This,IDispatch *media) { + This->lpVtbl->MediaCollectionMediaRemoved(This,media); +} +/*** IWMPEvents4 methods ***/ +static inline void IWMPEvents4_DeviceEstimation(IWMPEvents4* This,IWMPSyncDevice *device,HRESULT result,LONGLONG used_space,LONGLONG estimated_space) { + This->lpVtbl->DeviceEstimation(This,device,result,used_space,estimated_space); +} +#endif +#endif + +#endif + + +#endif /* __IWMPEvents4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * _WMPOCXEvents interface + */ +#ifndef ___WMPOCXEvents_INTERFACE_DEFINED__ +#define ___WMPOCXEvents_INTERFACE_DEFINED__ + +DEFINE_GUID(IID__WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6bf52a51-394a-11d3-b153-00c04f79faa6") +_WMPOCXEvents : public IDispatch +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(_WMPOCXEvents, 0x6bf52a51, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6) +#endif +#else +typedef struct _WMPOCXEventsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + _WMPOCXEvents *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + _WMPOCXEvents *This); + + ULONG (STDMETHODCALLTYPE *Release)( + _WMPOCXEvents *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + _WMPOCXEvents *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + _WMPOCXEvents *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + _WMPOCXEvents *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + _WMPOCXEvents *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + END_INTERFACE +} _WMPOCXEventsVtbl; + +interface _WMPOCXEvents { + CONST_VTBL _WMPOCXEventsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define _WMPOCXEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define _WMPOCXEvents_AddRef(This) (This)->lpVtbl->AddRef(This) +#define _WMPOCXEvents_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define _WMPOCXEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define _WMPOCXEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define _WMPOCXEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define _WMPOCXEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#else +/*** IUnknown methods ***/ +static inline HRESULT _WMPOCXEvents_QueryInterface(_WMPOCXEvents* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG _WMPOCXEvents_AddRef(_WMPOCXEvents* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG _WMPOCXEvents_Release(_WMPOCXEvents* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT _WMPOCXEvents_GetTypeInfoCount(_WMPOCXEvents* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT _WMPOCXEvents_GetTypeInfo(_WMPOCXEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT _WMPOCXEvents_GetIDsOfNames(_WMPOCXEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT _WMPOCXEvents_Invoke(_WMPOCXEvents* 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); +} +#endif +#endif + +#endif + + +#endif /* ___WMPOCXEvents_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * WindowsMediaPlayer coclass + */ + +DEFINE_GUID(CLSID_WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6); + +#ifdef __cplusplus +class DECLSPEC_UUID("6bf52a52-394a-11d3-b153-00c04f79faa6") WindowsMediaPlayer; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WindowsMediaPlayer, 0x6bf52a52, 0x394a, 0x11d3, 0xb1,0x53, 0x00,0xc0,0x4f,0x79,0xfa,0xa6) +#endif +#endif + +#endif /* __WMPLib_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + +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 *); +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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmp_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpids.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpids.h new file mode 100644 index 00000000..2ae1d5c8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpids.h @@ -0,0 +1,71 @@ +/* + * 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 + */ + +/* WMPCoreEvents */ +#define DISPID_WMPCOREEVENT_OPENSTATECHANGE 5001 +#define DISPID_WMPCOREEVENT_STATUSCHANGE 5002 + +#define DISPID_WMPCOREEVENT_PLAYSTATECHANGE 5101 +#define DISPID_WMPCOREEVENT_AUDIOLANGUAGECHANGE 5102 + +#define DISPID_WMPCOREEVENT_ENDOFSTREAM 5201 +#define DISPID_WMPCOREEVENT_POSITIONCHANGE 5202 +#define DISPID_WMPCOREEVENT_MARKERHIT 5203 +#define DISPID_WMPCOREEVENT_DURATIONUNITCHANGE 5204 + +#define DISPID_WMPCOREEVENT_SCRIPTCOMMAND 5301 + +#define DISPID_WMPCOREEVENT_DISCONNECT 5401 +#define DISPID_WMPCOREEVENT_BUFFERING 5402 +#define DISPID_WMPCOREEVENT_NEWSTREAM 5403 + +#define DISPID_WMPCOREEVENT_ERROR 5501 + +#define DISPID_WMPCOREEVENT_WARNING 5601 + +#define DISPID_WMPCOREEVENT_CDROMMEDIACHANGE 5701 + +#define DISPID_WMPCOREEVENT_PLAYLISTCHANGE 5801 +#define DISPID_WMPCOREEVENT_MEDIACHANGE 5802 +#define DISPID_WMPCOREEVENT_CURRENTMEDIAITEMAVAILABLE 5803 +#define DISPID_WMPCOREEVENT_CURRENTPLAYLISTCHANGE 5804 +#define DISPID_WMPCOREEVENT_CURRENTPLAYLISTITEMAVAILABLE 5805 +#define DISPID_WMPCOREEVENT_CURRENTITEMCHANGE 5806 +#define DISPID_WMPCOREEVENT_MEDIACOLLECTIONCHANGE 5807 +#define DISPID_WMPCOREEVENT_MEDIACOLLECTIONATTRIBUTESTRINGADDED 5808 +#define DISPID_WMPCOREEVENT_MEDIACOLLECTIONATTRIBUTESTRINGREMOVED 5809 +#define DISPID_WMPCOREEVENT_PLAYLISTCOLLECTIONCHANGE 5810 +#define DISPID_WMPCOREEVENT_PLAYLISTCOLLECTIONPLAYLISTADDED 5811 +#define DISPID_WMPCOREEVENT_PLAYLISTCOLLECTIONPLAYLISTREMOVED 5812 +#define DISPID_WMPCOREEVENT_PLAYLISTCOLLECTIONPLAYLISTSETASDELETED 5818 +#define DISPID_WMPCOREEVENT_MODECHANGE 5819 +#define DISPID_WMPCOREEVENT_MEDIACOLLECTIONATTRIBUTESTRINGCHANGED 5820 +#define DISPID_WMPCOREEVENT_MEDIAERROR 5821 +#define DISPID_WMPCOREEVENT_DOMAINCHANGE 5822 +#define DISPID_WMPCOREEVENT_OPENPLAYLISTSWITCH 5823 + +#define DISPID_WMPOCXEVENT_SWITCHEDTOPLAYERAPPLICATION 6501 +#define DISPID_WMPOCXEVENT_SWITCHEDTOCONTROL 6502 +#define DISPID_WMPOCXEVENT_PLAYERDOCKEDSTATECHANGE 6503 +#define DISPID_WMPOCXEVENT_PLAYERRECONNECT 6504 +#define DISPID_WMPOCXEVENT_CLICK 6505 +#define DISPID_WMPOCXEVENT_DOUBLECLICK 6506 +#define DISPID_WMPOCXEVENT_KEYDOWN 6507 +#define DISPID_WMPOCXEVENT_KEYPRESS 6508 +#define DISPID_WMPOCXEVENT_KEYUP 6509 +#define DISPID_WMPOCXEVENT_MOUSEDOWN 6510 +#define DISPID_WMPOCXEVENT_MOUSEMOVE 6511 +#define DISPID_WMPOCXEVENT_MOUSEUP 6512 diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmprealestate.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmprealestate.h new file mode 100644 index 00000000..e91b830e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmprealestate.h @@ -0,0 +1,221 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmprealestate.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 __wmprealestate_h__ +#define __wmprealestate_h__ + +/* Forward declarations */ + +#ifndef __IWMPVideoRenderConfig_FWD_DEFINED__ +#define __IWMPVideoRenderConfig_FWD_DEFINED__ +typedef interface IWMPVideoRenderConfig IWMPVideoRenderConfig; +#ifdef __cplusplus +interface IWMPVideoRenderConfig; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPRenderConfig_FWD_DEFINED__ +#define __IWMPRenderConfig_FWD_DEFINED__ +typedef interface IWMPRenderConfig IWMPRenderConfig; +#ifdef __cplusplus +interface IWMPRenderConfig; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IWMPVideoRenderConfig interface + */ +#ifndef __IWMPVideoRenderConfig_INTERFACE_DEFINED__ +#define __IWMPVideoRenderConfig_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPVideoRenderConfig, 0x6d6cf803, 0x1ec0, 0x4c8d, 0xb3,0xca, 0xf1,0x8e,0x27,0x28,0x20,0x74); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6d6cf803-1ec0-4c8d-b3ca-f18e27282074") +IWMPVideoRenderConfig : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE put_presenterActivate( + IMFActivate *activate) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPVideoRenderConfig, 0x6d6cf803, 0x1ec0, 0x4c8d, 0xb3,0xca, 0xf1,0x8e,0x27,0x28,0x20,0x74) +#endif +#else +typedef struct IWMPVideoRenderConfigVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPVideoRenderConfig *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPVideoRenderConfig *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPVideoRenderConfig *This); + + /*** IWMPVideoRenderConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *put_presenterActivate)( + IWMPVideoRenderConfig *This, + IMFActivate *activate); + + END_INTERFACE +} IWMPVideoRenderConfigVtbl; + +interface IWMPVideoRenderConfig { + CONST_VTBL IWMPVideoRenderConfigVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPVideoRenderConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPVideoRenderConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPVideoRenderConfig_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPVideoRenderConfig methods ***/ +#define IWMPVideoRenderConfig_put_presenterActivate(This,activate) (This)->lpVtbl->put_presenterActivate(This,activate) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPVideoRenderConfig_QueryInterface(IWMPVideoRenderConfig* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPVideoRenderConfig_AddRef(IWMPVideoRenderConfig* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPVideoRenderConfig_Release(IWMPVideoRenderConfig* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPVideoRenderConfig methods ***/ +static inline HRESULT IWMPVideoRenderConfig_put_presenterActivate(IWMPVideoRenderConfig* This,IMFActivate *activate) { + return This->lpVtbl->put_presenterActivate(This,activate); +} +#endif +#endif + +#endif + + +#endif /* __IWMPVideoRenderConfig_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPRenderConfig interface + */ +#ifndef __IWMPRenderConfig_INTERFACE_DEFINED__ +#define __IWMPRenderConfig_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPRenderConfig, 0x959506c1, 0x0314, 0x4ec5, 0x9e,0x61, 0x85,0x28,0xdb,0x5e,0x54,0x78); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("959506c1-0314-4ec5-9e61-8528db5e5478") +IWMPRenderConfig : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE put_inProcOnly( + WINBOOL fInProc) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_inProcOnly( + WINBOOL *pfInProc) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPRenderConfig, 0x959506c1, 0x0314, 0x4ec5, 0x9e,0x61, 0x85,0x28,0xdb,0x5e,0x54,0x78) +#endif +#else +typedef struct IWMPRenderConfigVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPRenderConfig *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPRenderConfig *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPRenderConfig *This); + + /*** IWMPRenderConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *put_inProcOnly)( + IWMPRenderConfig *This, + WINBOOL fInProc); + + HRESULT (STDMETHODCALLTYPE *get_inProcOnly)( + IWMPRenderConfig *This, + WINBOOL *pfInProc); + + END_INTERFACE +} IWMPRenderConfigVtbl; + +interface IWMPRenderConfig { + CONST_VTBL IWMPRenderConfigVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPRenderConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPRenderConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPRenderConfig_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPRenderConfig methods ***/ +#define IWMPRenderConfig_put_inProcOnly(This,fInProc) (This)->lpVtbl->put_inProcOnly(This,fInProc) +#define IWMPRenderConfig_get_inProcOnly(This,pfInProc) (This)->lpVtbl->get_inProcOnly(This,pfInProc) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPRenderConfig_QueryInterface(IWMPRenderConfig* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPRenderConfig_AddRef(IWMPRenderConfig* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPRenderConfig_Release(IWMPRenderConfig* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPRenderConfig methods ***/ +static inline HRESULT IWMPRenderConfig_put_inProcOnly(IWMPRenderConfig* This,WINBOOL fInProc) { + return This->lpVtbl->put_inProcOnly(This,fInProc); +} +static inline HRESULT IWMPRenderConfig_get_inProcOnly(IWMPRenderConfig* This,WINBOOL *pfInProc) { + return This->lpVtbl->get_inProcOnly(This,pfInProc); +} +#endif +#endif + +#endif + + +#endif /* __IWMPRenderConfig_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmprealestate_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpservices.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpservices.h new file mode 100644 index 00000000..2871fce9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmpservices.h @@ -0,0 +1,149 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmpservices.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 __wmpservices_h__ +#define __wmpservices_h__ + +/* Forward declarations */ + +#ifndef __IWMPGraphCreation_FWD_DEFINED__ +#define __IWMPGraphCreation_FWD_DEFINED__ +typedef interface IWMPGraphCreation IWMPGraphCreation; +#ifdef __cplusplus +interface IWMPGraphCreation; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define WMPGC_FLAGS_SUPPRESS_DIALOGS 0x00000002 +/***************************************************************************** + * IWMPGraphCreation interface + */ +#ifndef __IWMPGraphCreation_INTERFACE_DEFINED__ +#define __IWMPGraphCreation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPGraphCreation, 0xbfb377e5, 0xc594, 0x4369, 0xa9,0x70, 0xde,0x89,0x6d,0x5e,0xce,0x74); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bfb377e5-c594-4369-a970-de896d5ece74") +IWMPGraphCreation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GraphCreationPreRender( + IUnknown *filter_graph, + IUnknown *reserved) = 0; + + virtual HRESULT STDMETHODCALLTYPE GraphCreationPostRender( + IUnknown *filter_graph) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGraphCreationFlags( + DWORD *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPGraphCreation, 0xbfb377e5, 0xc594, 0x4369, 0xa9,0x70, 0xde,0x89,0x6d,0x5e,0xce,0x74) +#endif +#else +typedef struct IWMPGraphCreationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPGraphCreation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPGraphCreation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPGraphCreation *This); + + /*** IWMPGraphCreation methods ***/ + HRESULT (STDMETHODCALLTYPE *GraphCreationPreRender)( + IWMPGraphCreation *This, + IUnknown *filter_graph, + IUnknown *reserved); + + HRESULT (STDMETHODCALLTYPE *GraphCreationPostRender)( + IWMPGraphCreation *This, + IUnknown *filter_graph); + + HRESULT (STDMETHODCALLTYPE *GetGraphCreationFlags)( + IWMPGraphCreation *This, + DWORD *flags); + + END_INTERFACE +} IWMPGraphCreationVtbl; + +interface IWMPGraphCreation { + CONST_VTBL IWMPGraphCreationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPGraphCreation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPGraphCreation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPGraphCreation_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPGraphCreation methods ***/ +#define IWMPGraphCreation_GraphCreationPreRender(This,filter_graph,reserved) (This)->lpVtbl->GraphCreationPreRender(This,filter_graph,reserved) +#define IWMPGraphCreation_GraphCreationPostRender(This,filter_graph) (This)->lpVtbl->GraphCreationPostRender(This,filter_graph) +#define IWMPGraphCreation_GetGraphCreationFlags(This,flags) (This)->lpVtbl->GetGraphCreationFlags(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPGraphCreation_QueryInterface(IWMPGraphCreation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPGraphCreation_AddRef(IWMPGraphCreation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPGraphCreation_Release(IWMPGraphCreation* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPGraphCreation methods ***/ +static inline HRESULT IWMPGraphCreation_GraphCreationPreRender(IWMPGraphCreation* This,IUnknown *filter_graph,IUnknown *reserved) { + return This->lpVtbl->GraphCreationPreRender(This,filter_graph,reserved); +} +static inline HRESULT IWMPGraphCreation_GraphCreationPostRender(IWMPGraphCreation* This,IUnknown *filter_graph) { + return This->lpVtbl->GraphCreationPostRender(This,filter_graph); +} +static inline HRESULT IWMPGraphCreation_GetGraphCreationFlags(IWMPGraphCreation* This,DWORD *flags) { + return This->lpVtbl->GetGraphCreationFlags(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWMPGraphCreation_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmpservices_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsbuffer.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsbuffer.h new file mode 100644 index 00000000..e4f206ed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsbuffer.h @@ -0,0 +1,482 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmsbuffer.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 __wmsbuffer_h__ +#define __wmsbuffer_h__ + +/* Forward declarations */ + +#ifndef __INSSBuffer_FWD_DEFINED__ +#define __INSSBuffer_FWD_DEFINED__ +typedef interface INSSBuffer INSSBuffer; +#ifdef __cplusplus +interface INSSBuffer; +#endif /* __cplusplus */ +#endif + +#ifndef __INSSBuffer2_FWD_DEFINED__ +#define __INSSBuffer2_FWD_DEFINED__ +typedef interface INSSBuffer2 INSSBuffer2; +#ifdef __cplusplus +interface INSSBuffer2; +#endif /* __cplusplus */ +#endif + +#ifndef __INSSBuffer3_FWD_DEFINED__ +#define __INSSBuffer3_FWD_DEFINED__ +typedef interface INSSBuffer3 INSSBuffer3; +#ifdef __cplusplus +interface INSSBuffer3; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * INSSBuffer interface + */ +#ifndef __INSSBuffer_INTERFACE_DEFINED__ +#define __INSSBuffer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_INSSBuffer, 0xe1cd3524, 0x03d7, 0x11d2, 0x9e,0xed, 0x00,0x60,0x97,0xd2,0xd7,0xcf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e1cd3524-03d7-11d2-9eed-006097d2d7cf") +INSSBuffer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetLength( + DWORD *pdwLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLength( + DWORD dwLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxLength( + DWORD *pdwLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBuffer( + BYTE **ppdwBuffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength( + BYTE **ppdwBuffer, + DWORD *pdwLength) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(INSSBuffer, 0xe1cd3524, 0x03d7, 0x11d2, 0x9e,0xed, 0x00,0x60,0x97,0xd2,0xd7,0xcf) +#endif +#else +typedef struct INSSBufferVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + INSSBuffer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + INSSBuffer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + INSSBuffer *This); + + /*** INSSBuffer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLength)( + INSSBuffer *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *SetLength)( + INSSBuffer *This, + DWORD dwLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxLength)( + INSSBuffer *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetBuffer)( + INSSBuffer *This, + BYTE **ppdwBuffer); + + HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)( + INSSBuffer *This, + BYTE **ppdwBuffer, + DWORD *pdwLength); + + END_INTERFACE +} INSSBufferVtbl; + +interface INSSBuffer { + CONST_VTBL INSSBufferVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define INSSBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define INSSBuffer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define INSSBuffer_Release(This) (This)->lpVtbl->Release(This) +/*** INSSBuffer methods ***/ +#define INSSBuffer_GetLength(This,pdwLength) (This)->lpVtbl->GetLength(This,pdwLength) +#define INSSBuffer_SetLength(This,dwLength) (This)->lpVtbl->SetLength(This,dwLength) +#define INSSBuffer_GetMaxLength(This,pdwLength) (This)->lpVtbl->GetMaxLength(This,pdwLength) +#define INSSBuffer_GetBuffer(This,ppdwBuffer) (This)->lpVtbl->GetBuffer(This,ppdwBuffer) +#define INSSBuffer_GetBufferAndLength(This,ppdwBuffer,pdwLength) (This)->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength) +#else +/*** IUnknown methods ***/ +static inline HRESULT INSSBuffer_QueryInterface(INSSBuffer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG INSSBuffer_AddRef(INSSBuffer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG INSSBuffer_Release(INSSBuffer* This) { + return This->lpVtbl->Release(This); +} +/*** INSSBuffer methods ***/ +static inline HRESULT INSSBuffer_GetLength(INSSBuffer* This,DWORD *pdwLength) { + return This->lpVtbl->GetLength(This,pdwLength); +} +static inline HRESULT INSSBuffer_SetLength(INSSBuffer* This,DWORD dwLength) { + return This->lpVtbl->SetLength(This,dwLength); +} +static inline HRESULT INSSBuffer_GetMaxLength(INSSBuffer* This,DWORD *pdwLength) { + return This->lpVtbl->GetMaxLength(This,pdwLength); +} +static inline HRESULT INSSBuffer_GetBuffer(INSSBuffer* This,BYTE **ppdwBuffer) { + return This->lpVtbl->GetBuffer(This,ppdwBuffer); +} +static inline HRESULT INSSBuffer_GetBufferAndLength(INSSBuffer* This,BYTE **ppdwBuffer,DWORD *pdwLength) { + return This->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength); +} +#endif +#endif + +#endif + + +#endif /* __INSSBuffer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * INSSBuffer2 interface + */ +#ifndef __INSSBuffer2_INTERFACE_DEFINED__ +#define __INSSBuffer2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4,0x28, 0x75,0x75,0x61,0xad,0x3a,0x68); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4f528693-1035-43fe-b428-757561ad3a68") +INSSBuffer2 : public INSSBuffer +{ + virtual HRESULT STDMETHODCALLTYPE GetSampleProperties( + DWORD size, + BYTE *props) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSampleProperties( + DWORD size, + BYTE *props) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(INSSBuffer2, 0x4f528693, 0x1035, 0x43fe, 0xb4,0x28, 0x75,0x75,0x61,0xad,0x3a,0x68) +#endif +#else +typedef struct INSSBuffer2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + INSSBuffer2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + INSSBuffer2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + INSSBuffer2 *This); + + /*** INSSBuffer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLength)( + INSSBuffer2 *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *SetLength)( + INSSBuffer2 *This, + DWORD dwLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxLength)( + INSSBuffer2 *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetBuffer)( + INSSBuffer2 *This, + BYTE **ppdwBuffer); + + HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)( + INSSBuffer2 *This, + BYTE **ppdwBuffer, + DWORD *pdwLength); + + /*** INSSBuffer2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSampleProperties)( + INSSBuffer2 *This, + DWORD size, + BYTE *props); + + HRESULT (STDMETHODCALLTYPE *SetSampleProperties)( + INSSBuffer2 *This, + DWORD size, + BYTE *props); + + END_INTERFACE +} INSSBuffer2Vtbl; + +interface INSSBuffer2 { + CONST_VTBL INSSBuffer2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define INSSBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define INSSBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define INSSBuffer2_Release(This) (This)->lpVtbl->Release(This) +/*** INSSBuffer methods ***/ +#define INSSBuffer2_GetLength(This,pdwLength) (This)->lpVtbl->GetLength(This,pdwLength) +#define INSSBuffer2_SetLength(This,dwLength) (This)->lpVtbl->SetLength(This,dwLength) +#define INSSBuffer2_GetMaxLength(This,pdwLength) (This)->lpVtbl->GetMaxLength(This,pdwLength) +#define INSSBuffer2_GetBuffer(This,ppdwBuffer) (This)->lpVtbl->GetBuffer(This,ppdwBuffer) +#define INSSBuffer2_GetBufferAndLength(This,ppdwBuffer,pdwLength) (This)->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength) +/*** INSSBuffer2 methods ***/ +#define INSSBuffer2_GetSampleProperties(This,size,props) (This)->lpVtbl->GetSampleProperties(This,size,props) +#define INSSBuffer2_SetSampleProperties(This,size,props) (This)->lpVtbl->SetSampleProperties(This,size,props) +#else +/*** IUnknown methods ***/ +static inline HRESULT INSSBuffer2_QueryInterface(INSSBuffer2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG INSSBuffer2_AddRef(INSSBuffer2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG INSSBuffer2_Release(INSSBuffer2* This) { + return This->lpVtbl->Release(This); +} +/*** INSSBuffer methods ***/ +static inline HRESULT INSSBuffer2_GetLength(INSSBuffer2* This,DWORD *pdwLength) { + return This->lpVtbl->GetLength(This,pdwLength); +} +static inline HRESULT INSSBuffer2_SetLength(INSSBuffer2* This,DWORD dwLength) { + return This->lpVtbl->SetLength(This,dwLength); +} +static inline HRESULT INSSBuffer2_GetMaxLength(INSSBuffer2* This,DWORD *pdwLength) { + return This->lpVtbl->GetMaxLength(This,pdwLength); +} +static inline HRESULT INSSBuffer2_GetBuffer(INSSBuffer2* This,BYTE **ppdwBuffer) { + return This->lpVtbl->GetBuffer(This,ppdwBuffer); +} +static inline HRESULT INSSBuffer2_GetBufferAndLength(INSSBuffer2* This,BYTE **ppdwBuffer,DWORD *pdwLength) { + return This->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength); +} +/*** INSSBuffer2 methods ***/ +static inline HRESULT INSSBuffer2_GetSampleProperties(INSSBuffer2* This,DWORD size,BYTE *props) { + return This->lpVtbl->GetSampleProperties(This,size,props); +} +static inline HRESULT INSSBuffer2_SetSampleProperties(INSSBuffer2* This,DWORD size,BYTE *props) { + return This->lpVtbl->SetSampleProperties(This,size,props); +} +#endif +#endif + +#endif + + +#endif /* __INSSBuffer2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * INSSBuffer3 interface + */ +#ifndef __INSSBuffer3_INTERFACE_DEFINED__ +#define __INSSBuffer3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_INSSBuffer3, 0xc87ceaaf, 0x75be, 0x4bc4, 0x84,0xeb, 0xac,0x27,0x98,0x50,0x76,0x72); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c87ceaaf-75be-4bc4-84eb-ac2798507672") +INSSBuffer3 : public INSSBuffer2 +{ + virtual HRESULT STDMETHODCALLTYPE SetProperty( + GUID id, + void *value, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProperty( + GUID id, + void *value, + DWORD *size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(INSSBuffer3, 0xc87ceaaf, 0x75be, 0x4bc4, 0x84,0xeb, 0xac,0x27,0x98,0x50,0x76,0x72) +#endif +#else +typedef struct INSSBuffer3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + INSSBuffer3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + INSSBuffer3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + INSSBuffer3 *This); + + /*** INSSBuffer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLength)( + INSSBuffer3 *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *SetLength)( + INSSBuffer3 *This, + DWORD dwLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxLength)( + INSSBuffer3 *This, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetBuffer)( + INSSBuffer3 *This, + BYTE **ppdwBuffer); + + HRESULT (STDMETHODCALLTYPE *GetBufferAndLength)( + INSSBuffer3 *This, + BYTE **ppdwBuffer, + DWORD *pdwLength); + + /*** INSSBuffer2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSampleProperties)( + INSSBuffer3 *This, + DWORD size, + BYTE *props); + + HRESULT (STDMETHODCALLTYPE *SetSampleProperties)( + INSSBuffer3 *This, + DWORD size, + BYTE *props); + + /*** INSSBuffer3 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetProperty)( + INSSBuffer3 *This, + GUID id, + void *value, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *GetProperty)( + INSSBuffer3 *This, + GUID id, + void *value, + DWORD *size); + + END_INTERFACE +} INSSBuffer3Vtbl; + +interface INSSBuffer3 { + CONST_VTBL INSSBuffer3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define INSSBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define INSSBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define INSSBuffer3_Release(This) (This)->lpVtbl->Release(This) +/*** INSSBuffer methods ***/ +#define INSSBuffer3_GetLength(This,pdwLength) (This)->lpVtbl->GetLength(This,pdwLength) +#define INSSBuffer3_SetLength(This,dwLength) (This)->lpVtbl->SetLength(This,dwLength) +#define INSSBuffer3_GetMaxLength(This,pdwLength) (This)->lpVtbl->GetMaxLength(This,pdwLength) +#define INSSBuffer3_GetBuffer(This,ppdwBuffer) (This)->lpVtbl->GetBuffer(This,ppdwBuffer) +#define INSSBuffer3_GetBufferAndLength(This,ppdwBuffer,pdwLength) (This)->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength) +/*** INSSBuffer2 methods ***/ +#define INSSBuffer3_GetSampleProperties(This,size,props) (This)->lpVtbl->GetSampleProperties(This,size,props) +#define INSSBuffer3_SetSampleProperties(This,size,props) (This)->lpVtbl->SetSampleProperties(This,size,props) +/*** INSSBuffer3 methods ***/ +#define INSSBuffer3_SetProperty(This,id,value,size) (This)->lpVtbl->SetProperty(This,id,value,size) +#define INSSBuffer3_GetProperty(This,id,value,size) (This)->lpVtbl->GetProperty(This,id,value,size) +#else +/*** IUnknown methods ***/ +static inline HRESULT INSSBuffer3_QueryInterface(INSSBuffer3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG INSSBuffer3_AddRef(INSSBuffer3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG INSSBuffer3_Release(INSSBuffer3* This) { + return This->lpVtbl->Release(This); +} +/*** INSSBuffer methods ***/ +static inline HRESULT INSSBuffer3_GetLength(INSSBuffer3* This,DWORD *pdwLength) { + return This->lpVtbl->GetLength(This,pdwLength); +} +static inline HRESULT INSSBuffer3_SetLength(INSSBuffer3* This,DWORD dwLength) { + return This->lpVtbl->SetLength(This,dwLength); +} +static inline HRESULT INSSBuffer3_GetMaxLength(INSSBuffer3* This,DWORD *pdwLength) { + return This->lpVtbl->GetMaxLength(This,pdwLength); +} +static inline HRESULT INSSBuffer3_GetBuffer(INSSBuffer3* This,BYTE **ppdwBuffer) { + return This->lpVtbl->GetBuffer(This,ppdwBuffer); +} +static inline HRESULT INSSBuffer3_GetBufferAndLength(INSSBuffer3* This,BYTE **ppdwBuffer,DWORD *pdwLength) { + return This->lpVtbl->GetBufferAndLength(This,ppdwBuffer,pdwLength); +} +/*** INSSBuffer2 methods ***/ +static inline HRESULT INSSBuffer3_GetSampleProperties(INSSBuffer3* This,DWORD size,BYTE *props) { + return This->lpVtbl->GetSampleProperties(This,size,props); +} +static inline HRESULT INSSBuffer3_SetSampleProperties(INSSBuffer3* This,DWORD size,BYTE *props) { + return This->lpVtbl->SetSampleProperties(This,size,props); +} +/*** INSSBuffer3 methods ***/ +static inline HRESULT INSSBuffer3_SetProperty(INSSBuffer3* This,GUID id,void *value,DWORD size) { + return This->lpVtbl->SetProperty(This,id,value,size); +} +static inline HRESULT INSSBuffer3_GetProperty(INSSBuffer3* This,GUID id,void *value,DWORD *size) { + return This->lpVtbl->GetProperty(This,id,value,size); +} +#endif +#endif + +#endif + + +#endif /* __INSSBuffer3_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmsbuffer_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdk.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdk.h new file mode 100644 index 00000000..c524745e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdk.h @@ -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 + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#include + +#endif /* WINAPI_PARTITION_DESKTOP */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdkidl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdkidl.h new file mode 100644 index 00000000..65b0de7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsdkidl.h @@ -0,0 +1,12285 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmsdkidl.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 __wmsdkidl_h__ +#define __wmsdkidl_h__ + +/* Forward declarations */ + +#ifndef __IWMStatusCallback_FWD_DEFINED__ +#define __IWMStatusCallback_FWD_DEFINED__ +typedef interface IWMStatusCallback IWMStatusCallback; +#ifdef __cplusplus +interface IWMStatusCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderCallback_FWD_DEFINED__ +#define __IWMReaderCallback_FWD_DEFINED__ +typedef interface IWMReaderCallback IWMReaderCallback; +#ifdef __cplusplus +interface IWMReaderCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__ +#define __IWMReaderCallbackAdvanced_FWD_DEFINED__ +typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced; +#ifdef __cplusplus +interface IWMReaderCallbackAdvanced; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMStreamList_FWD_DEFINED__ +#define __IWMStreamList_FWD_DEFINED__ +typedef interface IWMStreamList IWMStreamList; +#ifdef __cplusplus +interface IWMStreamList; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMMutualExclusion_FWD_DEFINED__ +#define __IWMMutualExclusion_FWD_DEFINED__ +typedef interface IWMMutualExclusion IWMMutualExclusion; +#ifdef __cplusplus +interface IWMMutualExclusion; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMBandwidthSharing_FWD_DEFINED__ +#define __IWMBandwidthSharing_FWD_DEFINED__ +typedef interface IWMBandwidthSharing IWMBandwidthSharing; +#ifdef __cplusplus +interface IWMBandwidthSharing; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMStreamPrioritization_FWD_DEFINED__ +#define __IWMStreamPrioritization_FWD_DEFINED__ +typedef interface IWMStreamPrioritization IWMStreamPrioritization; +#ifdef __cplusplus +interface IWMStreamPrioritization; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMStreamConfig_FWD_DEFINED__ +#define __IWMStreamConfig_FWD_DEFINED__ +typedef interface IWMStreamConfig IWMStreamConfig; +#ifdef __cplusplus +interface IWMStreamConfig; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMProfile_FWD_DEFINED__ +#define __IWMProfile_FWD_DEFINED__ +typedef interface IWMProfile IWMProfile; +#ifdef __cplusplus +interface IWMProfile; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMProfile2_FWD_DEFINED__ +#define __IWMProfile2_FWD_DEFINED__ +typedef interface IWMProfile2 IWMProfile2; +#ifdef __cplusplus +interface IWMProfile2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMProfile3_FWD_DEFINED__ +#define __IWMProfile3_FWD_DEFINED__ +typedef interface IWMProfile3 IWMProfile3; +#ifdef __cplusplus +interface IWMProfile3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMProfileManager_FWD_DEFINED__ +#define __IWMProfileManager_FWD_DEFINED__ +typedef interface IWMProfileManager IWMProfileManager; +#ifdef __cplusplus +interface IWMProfileManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMProfileManager2_FWD_DEFINED__ +#define __IWMProfileManager2_FWD_DEFINED__ +typedef interface IWMProfileManager2 IWMProfileManager2; +#ifdef __cplusplus +interface IWMProfileManager2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMCodecInfo_FWD_DEFINED__ +#define __IWMCodecInfo_FWD_DEFINED__ +typedef interface IWMCodecInfo IWMCodecInfo; +#ifdef __cplusplus +interface IWMCodecInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMCodecInfo2_FWD_DEFINED__ +#define __IWMCodecInfo2_FWD_DEFINED__ +typedef interface IWMCodecInfo2 IWMCodecInfo2; +#ifdef __cplusplus +interface IWMCodecInfo2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMCodecInfo3_FWD_DEFINED__ +#define __IWMCodecInfo3_FWD_DEFINED__ +typedef interface IWMCodecInfo3 IWMCodecInfo3; +#ifdef __cplusplus +interface IWMCodecInfo3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMMediaProps_FWD_DEFINED__ +#define __IWMMediaProps_FWD_DEFINED__ +typedef interface IWMMediaProps IWMMediaProps; +#ifdef __cplusplus +interface IWMMediaProps; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMOutputMediaProps_FWD_DEFINED__ +#define __IWMOutputMediaProps_FWD_DEFINED__ +typedef interface IWMOutputMediaProps IWMOutputMediaProps; +#ifdef __cplusplus +interface IWMOutputMediaProps; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMMetadataEditor_FWD_DEFINED__ +#define __IWMMetadataEditor_FWD_DEFINED__ +typedef interface IWMMetadataEditor IWMMetadataEditor; +#ifdef __cplusplus +interface IWMMetadataEditor; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReader_FWD_DEFINED__ +#define __IWMReader_FWD_DEFINED__ +typedef interface IWMReader IWMReader; +#ifdef __cplusplus +interface IWMReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPlayerHook_FWD_DEFINED__ +#define __IWMPlayerHook_FWD_DEFINED__ +typedef interface IWMPlayerHook IWMPlayerHook; +#ifdef __cplusplus +interface IWMPlayerHook; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced_FWD_DEFINED__ +#define __IWMReaderAdvanced_FWD_DEFINED__ +typedef interface IWMReaderAdvanced IWMReaderAdvanced; +#ifdef __cplusplus +interface IWMReaderAdvanced; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced2_FWD_DEFINED__ +#define __IWMReaderAdvanced2_FWD_DEFINED__ +typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2; +#ifdef __cplusplus +interface IWMReaderAdvanced2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced3_FWD_DEFINED__ +#define __IWMReaderAdvanced3_FWD_DEFINED__ +typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3; +#ifdef __cplusplus +interface IWMReaderAdvanced3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced4_FWD_DEFINED__ +#define __IWMReaderAdvanced4_FWD_DEFINED__ +typedef interface IWMReaderAdvanced4 IWMReaderAdvanced4; +#ifdef __cplusplus +interface IWMReaderAdvanced4; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced5_FWD_DEFINED__ +#define __IWMReaderAdvanced5_FWD_DEFINED__ +typedef interface IWMReaderAdvanced5 IWMReaderAdvanced5; +#ifdef __cplusplus +interface IWMReaderAdvanced5; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAdvanced6_FWD_DEFINED__ +#define __IWMReaderAdvanced6_FWD_DEFINED__ +typedef interface IWMReaderAdvanced6 IWMReaderAdvanced6; +#ifdef __cplusplus +interface IWMReaderAdvanced6; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMSyncReader_FWD_DEFINED__ +#define __IWMSyncReader_FWD_DEFINED__ +typedef interface IWMSyncReader IWMSyncReader; +#ifdef __cplusplus +interface IWMSyncReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAllocatorEx_FWD_DEFINED__ +#define __IWMReaderAllocatorEx_FWD_DEFINED__ +typedef interface IWMReaderAllocatorEx IWMReaderAllocatorEx; +#ifdef __cplusplus +interface IWMReaderAllocatorEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMSyncReader2_FWD_DEFINED__ +#define __IWMSyncReader2_FWD_DEFINED__ +typedef interface IWMSyncReader2 IWMSyncReader2; +#ifdef __cplusplus +interface IWMSyncReader2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMInputMediaProps_FWD_DEFINED__ +#define __IWMInputMediaProps_FWD_DEFINED__ +typedef interface IWMInputMediaProps IWMInputMediaProps; +#ifdef __cplusplus +interface IWMInputMediaProps; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriterSink_FWD_DEFINED__ +#define __IWMWriterSink_FWD_DEFINED__ +typedef interface IWMWriterSink IWMWriterSink; +#ifdef __cplusplus +interface IWMWriterSink; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriter_FWD_DEFINED__ +#define __IWMWriter_FWD_DEFINED__ +typedef interface IWMWriter IWMWriter; +#ifdef __cplusplus +interface IWMWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriterAdvanced_FWD_DEFINED__ +#define __IWMWriterAdvanced_FWD_DEFINED__ +typedef interface IWMWriterAdvanced IWMWriterAdvanced; +#ifdef __cplusplus +interface IWMWriterAdvanced; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriterAdvanced2_FWD_DEFINED__ +#define __IWMWriterAdvanced2_FWD_DEFINED__ +typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2; +#ifdef __cplusplus +interface IWMWriterAdvanced2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriterAdvanced3_FWD_DEFINED__ +#define __IWMWriterAdvanced3_FWD_DEFINED__ +typedef interface IWMWriterAdvanced3 IWMWriterAdvanced3; +#ifdef __cplusplus +interface IWMWriterAdvanced3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMHeaderInfo_FWD_DEFINED__ +#define __IWMHeaderInfo_FWD_DEFINED__ +typedef interface IWMHeaderInfo IWMHeaderInfo; +#ifdef __cplusplus +interface IWMHeaderInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMHeaderInfo2_FWD_DEFINED__ +#define __IWMHeaderInfo2_FWD_DEFINED__ +typedef interface IWMHeaderInfo2 IWMHeaderInfo2; +#ifdef __cplusplus +interface IWMHeaderInfo2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMHeaderInfo3_FWD_DEFINED__ +#define __IWMHeaderInfo3_FWD_DEFINED__ +typedef interface IWMHeaderInfo3 IWMHeaderInfo3; +#ifdef __cplusplus +interface IWMHeaderInfo3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderNetworkConfig_FWD_DEFINED__ +#define __IWMReaderNetworkConfig_FWD_DEFINED__ +typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig; +#ifdef __cplusplus +interface IWMReaderNetworkConfig; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderNetworkConfig2_FWD_DEFINED__ +#define __IWMReaderNetworkConfig2_FWD_DEFINED__ +typedef interface IWMReaderNetworkConfig2 IWMReaderNetworkConfig2; +#ifdef __cplusplus +interface IWMReaderNetworkConfig2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderStreamClock_FWD_DEFINED__ +#define __IWMReaderStreamClock_FWD_DEFINED__ +typedef interface IWMReaderStreamClock IWMReaderStreamClock; +#ifdef __cplusplus +interface IWMReaderStreamClock; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPacketSize_FWD_DEFINED__ +#define __IWMPacketSize_FWD_DEFINED__ +typedef interface IWMPacketSize IWMPacketSize; +#ifdef __cplusplus +interface IWMPacketSize; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPacketSize2_FWD_DEFINED__ +#define __IWMPacketSize2_FWD_DEFINED__ +typedef interface IWMPacketSize2 IWMPacketSize2; +#ifdef __cplusplus +interface IWMPacketSize2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMDRMReader_FWD_DEFINED__ +#define __IWMDRMReader_FWD_DEFINED__ +typedef interface IWMDRMReader IWMDRMReader; +#ifdef __cplusplus +interface IWMDRMReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMDRMReader2_FWD_DEFINED__ +#define __IWMDRMReader2_FWD_DEFINED__ +typedef interface IWMDRMReader2 IWMDRMReader2; +#ifdef __cplusplus +interface IWMDRMReader2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMDRMReader3_FWD_DEFINED__ +#define __IWMDRMReader3_FWD_DEFINED__ +typedef interface IWMDRMReader3 IWMDRMReader3; +#ifdef __cplusplus +interface IWMDRMReader3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderAccelerator_FWD_DEFINED__ +#define __IWMReaderAccelerator_FWD_DEFINED__ +typedef interface IWMReaderAccelerator IWMReaderAccelerator; +#ifdef __cplusplus +interface IWMReaderAccelerator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderTimecode_FWD_DEFINED__ +#define __IWMReaderTimecode_FWD_DEFINED__ +typedef interface IWMReaderTimecode IWMReaderTimecode; +#ifdef __cplusplus +interface IWMReaderTimecode; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__ +#define __IWMReaderTypeNegotiation_FWD_DEFINED__ +typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation; +#ifdef __cplusplus +interface IWMReaderTypeNegotiation; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMLanguageList_FWD_DEFINED__ +#define __IWMLanguageList_FWD_DEFINED__ +typedef interface IWMLanguageList IWMLanguageList; +#ifdef __cplusplus +interface IWMLanguageList; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMReaderPlaylistBurn_FWD_DEFINED__ +#define __IWMReaderPlaylistBurn_FWD_DEFINED__ +typedef interface IWMReaderPlaylistBurn IWMReaderPlaylistBurn; +#ifdef __cplusplus +interface IWMReaderPlaylistBurn; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMPropertyVault_FWD_DEFINED__ +#define __IWMPropertyVault_FWD_DEFINED__ +typedef interface IWMPropertyVault IWMPropertyVault; +#ifdef __cplusplus +interface IWMPropertyVault; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMWriterPreprocess_FWD_DEFINED__ +#define __IWMWriterPreprocess_FWD_DEFINED__ +typedef interface IWMWriterPreprocess IWMWriterPreprocess; +#ifdef __cplusplus +interface IWMWriterPreprocess; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMLicenseBackup_FWD_DEFINED__ +#define __IWMLicenseBackup_FWD_DEFINED__ +typedef interface IWMLicenseBackup IWMLicenseBackup; +#ifdef __cplusplus +interface IWMLicenseBackup; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMLicenseRestore_FWD_DEFINED__ +#define __IWMLicenseRestore_FWD_DEFINED__ +typedef interface IWMLicenseRestore IWMLicenseRestore; +#ifdef __cplusplus +interface IWMLicenseRestore; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMIStreamProps_FWD_DEFINED__ +#define __IWMIStreamProps_FWD_DEFINED__ +typedef interface IWMIStreamProps IWMIStreamProps; +#ifdef __cplusplus +interface IWMIStreamProps; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMCredentialCallback_FWD_DEFINED__ +#define __IWMCredentialCallback_FWD_DEFINED__ +typedef interface IWMCredentialCallback IWMCredentialCallback; +#ifdef __cplusplus +interface IWMCredentialCallback; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct _WMMediaType { + GUID majortype; + GUID subtype; + WINBOOL bFixedSizeSamples; + WINBOOL bTemporalCompression; + ULONG lSampleSize; + GUID formattype; + IUnknown *pUnk; + ULONG cbFormat; + BYTE *pbFormat; +} WM_MEDIA_TYPE; +typedef struct _WMWriterStatistics { + QWORD qwSampleCount; + QWORD qwByteCount; + QWORD qwDroppedSampleCount; + QWORD qwDroppedByteCount; + DWORD dwCurrentBitrate; + DWORD dwAverageBitrate; + DWORD dwExpectedBitrate; + DWORD dwCurrentSampleRate; + DWORD dwAverageSampleRate; + DWORD dwExpectedSampleRate; +} WM_WRITER_STATISTICS; +typedef struct _WMWriterStatisticsEx { + DWORD dwBitratePlusOverhead; + DWORD dwCurrentSampleDropRateInQueue; + DWORD dwCurrentSampleDropRateInCodec; + DWORD dwCurrentSampleDropRateInMultiplexer; + DWORD dwTotalSampleDropsInQueue; + DWORD dwTotalSampleDropsInCodec; + DWORD dwTotalSampleDropsInMultiplexer; +} WM_WRITER_STATISTICS_EX; +typedef struct _WMReaderStatistics { + DWORD cbSize; + DWORD dwBandwidth; + DWORD cPacketsReceived; + DWORD cPacketsRecovered; + DWORD cPacketsLost; + WORD wQuality; +} WM_READER_STATISTICS; +typedef struct _WMReaderClientInfo { + DWORD cbSize; + WCHAR *wszLang; + WCHAR *wszBrowserUserAgent; + WCHAR *wszBrowserWebPage; + QWORD qwReserved; + LPARAM *pReserved; + WCHAR *wszHostExe; + QWORD qwHostVersion; + WCHAR *wszPlayerUserAgent; +} WM_READER_CLIENTINFO; +enum { + WM_SF_CLEANPOINT = 0x1, + WM_SF_DISCONTINUITY = 0x2, + WM_SF_DATALOSS = 0x4 +}; +typedef enum WMT_ATTR_DATATYPE { + WMT_TYPE_DWORD = 0, + WMT_TYPE_STRING = 1, + WMT_TYPE_BINARY = 2, + WMT_TYPE_BOOL = 3, + WMT_TYPE_QWORD = 4, + WMT_TYPE_WORD = 5, + WMT_TYPE_GUID = 6 +} WMT_ATTR_DATATYPE; +typedef enum WMT_STATUS { + WMT_ERROR = 0, + WMT_OPENED = 1, + WMT_BUFFERING_START = 2, + WMT_BUFFERING_STOP = 3, + WMT_EOF = 4, + WMT_END_OF_FILE = 4, + WMT_END_OF_SEGMENT = 5, + WMT_END_OF_STREAMING = 6, + WMT_LOCATING = 7, + WMT_CONNECTING = 8, + WMT_NO_RIGHTS = 9, + WMT_MISSING_CODEC = 10, + WMT_STARTED = 11, + WMT_STOPPED = 12, + WMT_CLOSED = 13, + WMT_STRIDING = 14, + WMT_TIMER = 15, + WMT_INDEX_PROGRESS = 16, + WMT_SAVEAS_START = 17, + WMT_SAVEAS_STOP = 18, + WMT_NEW_SOURCEFLAGS = 19, + WMT_NEW_METADATA = 20, + WMT_BACKUPRESTORE_BEGIN = 21, + WMT_SOURCE_SWITCH = 22, + WMT_ACQUIRE_LICENSE = 23, + WMT_INDIVIDUALIZE = 24, + WMT_NEEDS_INDIVIDUALIZATION = 25, + WMT_NO_RIGHTS_EX = 26, + WMT_BACKUPRESTORE_END = 27, + WMT_BACKUPRESTORE_CONNECTING = 28, + WMT_BACKUPRESTORE_DISCONNECTING = 29, + WMT_ERROR_WITHURL = 30, + WMT_RESTRICTED_LICENSE = 31, + WMT_CLIENT_CONNECT = 32, + WMT_CLIENT_DISCONNECT = 33, + WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34, + WMT_RECONNECT_START = 35, + WMT_RECONNECT_END = 36, + WMT_CLIENT_CONNECT_EX = 37, + WMT_CLIENT_DISCONNECT_EX = 38, + WMT_SET_FEC_SPAN = 39, + WMT_PREROLL_READY = 40, + WMT_PREROLL_COMPLETE = 41, + WMT_CLIENT_PROPERTIES = 42, + WMT_LICENSEURL_SIGNATURE_STATE = 43, + WMT_INIT_PLAYLIST_BURN = 44, + WMT_TRANSCRYPTOR_INIT = 45, + WMT_TRANSCRYPTOR_SEEKED = 46, + WMT_TRANSCRYPTOR_READ = 47, + WMT_TRANSCRYPTOR_CLOSED = 48, + WMT_PROXIMITY_RESULT = 49, + WMT_PROXIMITY_COMPLETED = 50, + WMT_CONTENT_ENABLER = 51 +} WMT_STATUS; +typedef enum WMT_STREAM_SELECTION { + WMT_OFF = 0, + WMT_CLEANPOINT_ONLY = 1, + WMT_ON = 2 +} WMT_STREAM_SELECTION; +typedef enum WMT_VERSION { + WMT_VER_4_0 = 0x40000, + WMT_VER_7_0 = 0x70000, + WMT_VER_8_0 = 0x80000, + WMT_VER_9_0 = 0x90000 +} WMT_VERSION; +typedef enum WMT_PLAY_MODE { + WMT_PLAY_MODE_AUTOSELECT = 0, + WMT_PLAY_MODE_LOCAL = 1, + WMT_PLAY_MODE_DOWNLOAD = 2, + WMT_PLAY_MODE_STREAMING = 3 +} WMT_PLAY_MODE; +typedef enum tagWMT_OFFSET_FORMAT { + WMT_OFFSET_FORMAT_100NS = 0, + WMT_OFFSET_FORMAT_FRAME_NUMBERS = 1, + WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = 2, + WMT_OFFSET_FORMAT_TIMECODE = 3, + WMT_OFFSET_FORMAT_100NS_APPROXIMATE = 4 +} WMT_OFFSET_FORMAT; +typedef enum WMT_CODEC_INFO_TYPE { + WMT_CODECINFO_AUDIO = 0, + WMT_CODECINFO_VIDEO = 1, + WMT_CODECINFO_UNKNOWN = 0xffffffff +} WMT_CODEC_INFO_TYPE; +typedef enum WMT_PROXY_SETTINGS { + WMT_PROXY_SETTING_NONE = 0, + WMT_PROXY_SETTING_MANUAL = 1, + WMT_PROXY_SETTING_AUTO = 2, + WMT_PROXY_SETTING_BROWSER = 3, + WMT_PROXY_SETTING_MAX = 4 +} WMT_PROXY_SETTINGS; +typedef enum tagWMT_STORAGE_FORMAT { + WMT_Storage_Format_MP3 = 0, + WMT_Storage_Format_V1 = 1 +} WMT_STORAGE_FORMAT; +typedef struct _WMStreamPrioritizationRecord { + WORD wStreamNumber; + WINBOOL fMandatory; +} WM_STREAM_PRIORITY_RECORD; +typedef struct _WMT_TIMECODE_EXTENSION_DATA { + WORD wRange; + DWORD dwTimecode; + DWORD dwUserbits; + DWORD dwAmFlags; +} WMT_TIMECODE_EXTENSION_DATA; +typedef struct _WM_PORT_NUMBER_RANGE { + WORD wPortBegin; + WORD wPortEnd; +} WM_PORT_NUMBER_RANGE; +typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE; +/***************************************************************************** + * IWMStatusCallback interface + */ +#ifndef __IWMStatusCallback_INTERFACE_DEFINED__ +#define __IWMStatusCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf") +IWMStatusCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnStatus( + WMT_STATUS Status, + HRESULT hr, + WMT_ATTR_DATATYPE dwType, + BYTE *pValue, + void *pvContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf) +#endif +#else +typedef struct IWMStatusCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMStatusCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMStatusCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMStatusCallback *This); + + /*** IWMStatusCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStatus)( + IWMStatusCallback *This, + WMT_STATUS Status, + HRESULT hr, + WMT_ATTR_DATATYPE dwType, + BYTE *pValue, + void *pvContext); + + END_INTERFACE +} IWMStatusCallbackVtbl; + +interface IWMStatusCallback { + CONST_VTBL IWMStatusCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMStatusCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStatusCallback methods ***/ +#define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMStatusCallback_QueryInterface(IWMStatusCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMStatusCallback_AddRef(IWMStatusCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMStatusCallback_Release(IWMStatusCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStatusCallback methods ***/ +static inline HRESULT IWMStatusCallback_OnStatus(IWMStatusCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) { + return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext); +} +#endif +#endif + +#endif + + +#endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderCallback interface + */ +#ifndef __IWMReaderCallback_INTERFACE_DEFINED__ +#define __IWMReaderCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd8-2b2b-11d3-b36b-00c04f6108ff") +IWMReaderCallback : public IWMStatusCallback +{ + virtual HRESULT STDMETHODCALLTYPE OnSample( + DWORD dwOutputNum, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample, + void *pvContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderCallback *This); + + /*** IWMStatusCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStatus)( + IWMReaderCallback *This, + WMT_STATUS Status, + HRESULT hr, + WMT_ATTR_DATATYPE dwType, + BYTE *pValue, + void *pvContext); + + /*** IWMReaderCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnSample)( + IWMReaderCallback *This, + DWORD dwOutputNum, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample, + void *pvContext); + + END_INTERFACE +} IWMReaderCallbackVtbl; + +interface IWMReaderCallback { + CONST_VTBL IWMReaderCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStatusCallback methods ***/ +#define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext) +/*** IWMReaderCallback methods ***/ +#define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) (This)->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderCallback_QueryInterface(IWMReaderCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderCallback_AddRef(IWMReaderCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderCallback_Release(IWMReaderCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStatusCallback methods ***/ +static inline HRESULT IWMReaderCallback_OnStatus(IWMReaderCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) { + return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext); +} +/*** IWMReaderCallback methods ***/ +static inline HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DWORD dwOutputNum,QWORD cnsSampleTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample,void *pvContext) { + return This->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderCallbackAdvanced interface + */ +#ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ +#define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderCallbackAdvanced, 0x96406beb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406beb-2b2b-11d3-b36b-00c04f6108ff") +IWMReaderCallbackAdvanced : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnStreamSample( + WORD stream_number, + QWORD pts, + QWORD duration, + DWORD flags, + INSSBuffer *sample, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnTime( + QWORD time, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnStreamSelection( + WORD count, + WORD *stream_numbers, + WMT_STREAM_SELECTION *selections, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged( + DWORD output_number, + WM_MEDIA_TYPE *mt, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateForStream( + WORD stream_number, + DWORD size, + INSSBuffer **sample, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateForOutput( + DWORD output_number, + DWORD size, + INSSBuffer **sample, + void *context) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderCallbackAdvanced, 0x96406beb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderCallbackAdvancedVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderCallbackAdvanced *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderCallbackAdvanced *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderCallbackAdvanced *This); + + /*** IWMReaderCallbackAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *OnStreamSample)( + IWMReaderCallbackAdvanced *This, + WORD stream_number, + QWORD pts, + QWORD duration, + DWORD flags, + INSSBuffer *sample, + void *context); + + HRESULT (STDMETHODCALLTYPE *OnTime)( + IWMReaderCallbackAdvanced *This, + QWORD time, + void *context); + + HRESULT (STDMETHODCALLTYPE *OnStreamSelection)( + IWMReaderCallbackAdvanced *This, + WORD count, + WORD *stream_numbers, + WMT_STREAM_SELECTION *selections, + void *context); + + HRESULT (STDMETHODCALLTYPE *OnOutputPropsChanged)( + IWMReaderCallbackAdvanced *This, + DWORD output_number, + WM_MEDIA_TYPE *mt, + void *context); + + HRESULT (STDMETHODCALLTYPE *AllocateForStream)( + IWMReaderCallbackAdvanced *This, + WORD stream_number, + DWORD size, + INSSBuffer **sample, + void *context); + + HRESULT (STDMETHODCALLTYPE *AllocateForOutput)( + IWMReaderCallbackAdvanced *This, + DWORD output_number, + DWORD size, + INSSBuffer **sample, + void *context); + + END_INTERFACE +} IWMReaderCallbackAdvancedVtbl; + +interface IWMReaderCallbackAdvanced { + CONST_VTBL IWMReaderCallbackAdvancedVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderCallbackAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderCallbackAdvanced_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderCallbackAdvanced methods ***/ +#define IWMReaderCallbackAdvanced_OnStreamSample(This,stream_number,pts,duration,flags,sample,context) (This)->lpVtbl->OnStreamSample(This,stream_number,pts,duration,flags,sample,context) +#define IWMReaderCallbackAdvanced_OnTime(This,time,context) (This)->lpVtbl->OnTime(This,time,context) +#define IWMReaderCallbackAdvanced_OnStreamSelection(This,count,stream_numbers,selections,context) (This)->lpVtbl->OnStreamSelection(This,count,stream_numbers,selections,context) +#define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,output_number,mt,context) (This)->lpVtbl->OnOutputPropsChanged(This,output_number,mt,context) +#define IWMReaderCallbackAdvanced_AllocateForStream(This,stream_number,size,sample,context) (This)->lpVtbl->AllocateForStream(This,stream_number,size,sample,context) +#define IWMReaderCallbackAdvanced_AllocateForOutput(This,output_number,size,sample,context) (This)->lpVtbl->AllocateForOutput(This,output_number,size,sample,context) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderCallbackAdvanced_QueryInterface(IWMReaderCallbackAdvanced* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderCallbackAdvanced_AddRef(IWMReaderCallbackAdvanced* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderCallbackAdvanced_Release(IWMReaderCallbackAdvanced* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderCallbackAdvanced methods ***/ +static inline HRESULT IWMReaderCallbackAdvanced_OnStreamSample(IWMReaderCallbackAdvanced* This,WORD stream_number,QWORD pts,QWORD duration,DWORD flags,INSSBuffer *sample,void *context) { + return This->lpVtbl->OnStreamSample(This,stream_number,pts,duration,flags,sample,context); +} +static inline HRESULT IWMReaderCallbackAdvanced_OnTime(IWMReaderCallbackAdvanced* This,QWORD time,void *context) { + return This->lpVtbl->OnTime(This,time,context); +} +static inline HRESULT IWMReaderCallbackAdvanced_OnStreamSelection(IWMReaderCallbackAdvanced* This,WORD count,WORD *stream_numbers,WMT_STREAM_SELECTION *selections,void *context) { + return This->lpVtbl->OnStreamSelection(This,count,stream_numbers,selections,context); +} +static inline HRESULT IWMReaderCallbackAdvanced_OnOutputPropsChanged(IWMReaderCallbackAdvanced* This,DWORD output_number,WM_MEDIA_TYPE *mt,void *context) { + return This->lpVtbl->OnOutputPropsChanged(This,output_number,mt,context); +} +static inline HRESULT IWMReaderCallbackAdvanced_AllocateForStream(IWMReaderCallbackAdvanced* This,WORD stream_number,DWORD size,INSSBuffer **sample,void *context) { + return This->lpVtbl->AllocateForStream(This,stream_number,size,sample,context); +} +static inline HRESULT IWMReaderCallbackAdvanced_AllocateForOutput(IWMReaderCallbackAdvanced* This,DWORD output_number,DWORD size,INSSBuffer **sample,void *context) { + return This->lpVtbl->AllocateForOutput(This,output_number,size,sample,context); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMStreamList interface + */ +#ifndef __IWMStreamList_INTERFACE_DEFINED__ +#define __IWMStreamList_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bdd-2b2b-11d3-b36b-00c04f6108ff") +IWMStreamList : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStreams( + WORD *pwStreamNumArray, + WORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStream( + WORD wStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStream( + WORD wStreamNum) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMStreamListVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMStreamList *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMStreamList *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMStreamList *This); + + /*** IWMStreamList methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreams)( + IWMStreamList *This, + WORD *pwStreamNumArray, + WORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMStreamList *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMStreamList *This, + WORD wStreamNum); + + END_INTERFACE +} IWMStreamListVtbl; + +interface IWMStreamList { + CONST_VTBL IWMStreamListVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMStreamList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMStreamList_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMStreamList_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStreamList methods ***/ +#define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams) +#define IWMStreamList_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum) +#define IWMStreamList_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMStreamList_QueryInterface(IWMStreamList* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMStreamList_AddRef(IWMStreamList* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMStreamList_Release(IWMStreamList* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStreamList methods ***/ +static inline HRESULT IWMStreamList_GetStreams(IWMStreamList* This,WORD *pwStreamNumArray,WORD *pcStreams) { + return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams); +} +static inline HRESULT IWMStreamList_AddStream(IWMStreamList* This,WORD wStreamNum) { + return This->lpVtbl->AddStream(This,wStreamNum); +} +static inline HRESULT IWMStreamList_RemoveStream(IWMStreamList* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStream(This,wStreamNum); +} +#endif +#endif + +#endif + + +#endif /* __IWMStreamList_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMMutualExclusion interface + */ +#ifndef __IWMMutualExclusion_INTERFACE_DEFINED__ +#define __IWMMutualExclusion_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bde-2b2b-11d3-b36b-00c04f6108ff") +IWMMutualExclusion : public IWMStreamList +{ + virtual HRESULT STDMETHODCALLTYPE GetType( + GUID *pguidType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetType( + REFGUID guidType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMMutualExclusionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMMutualExclusion *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMMutualExclusion *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMMutualExclusion *This); + + /*** IWMStreamList methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreams)( + IWMMutualExclusion *This, + WORD *pwStreamNumArray, + WORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMMutualExclusion *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMMutualExclusion *This, + WORD wStreamNum); + + /*** IWMMutualExclusion methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IWMMutualExclusion *This, + GUID *pguidType); + + HRESULT (STDMETHODCALLTYPE *SetType)( + IWMMutualExclusion *This, + REFGUID guidType); + + END_INTERFACE +} IWMMutualExclusionVtbl; + +interface IWMMutualExclusion { + CONST_VTBL IWMMutualExclusionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMMutualExclusion_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStreamList methods ***/ +#define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams) +#define IWMMutualExclusion_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum) +#define IWMMutualExclusion_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum) +/*** IWMMutualExclusion methods ***/ +#define IWMMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) +#define IWMMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMMutualExclusion_QueryInterface(IWMMutualExclusion* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMMutualExclusion_AddRef(IWMMutualExclusion* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMMutualExclusion_Release(IWMMutualExclusion* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStreamList methods ***/ +static inline HRESULT IWMMutualExclusion_GetStreams(IWMMutualExclusion* This,WORD *pwStreamNumArray,WORD *pcStreams) { + return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams); +} +static inline HRESULT IWMMutualExclusion_AddStream(IWMMutualExclusion* This,WORD wStreamNum) { + return This->lpVtbl->AddStream(This,wStreamNum); +} +static inline HRESULT IWMMutualExclusion_RemoveStream(IWMMutualExclusion* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStream(This,wStreamNum); +} +/*** IWMMutualExclusion methods ***/ +static inline HRESULT IWMMutualExclusion_GetType(IWMMutualExclusion* This,GUID *pguidType) { + return This->lpVtbl->GetType(This,pguidType); +} +static inline HRESULT IWMMutualExclusion_SetType(IWMMutualExclusion* This,REFGUID guidType) { + return This->lpVtbl->SetType(This,guidType); +} +#endif +#endif + +#endif + + +#endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMBandwidthSharing interface + */ +#ifndef __IWMBandwidthSharing_INTERFACE_DEFINED__ +#define __IWMBandwidthSharing_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMBandwidthSharing, 0xad694af1, 0xf8d9, 0x42f8, 0xbc,0x47, 0x70,0x31,0x1b,0x0c,0x4f,0x9e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ad694af1-f8d9-42f8-bc47-70311b0c4f9e") +IWMBandwidthSharing : public IWMStreamList +{ + virtual HRESULT STDMETHODCALLTYPE GetType( + GUID *guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetType( + REFGUID guid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBandwidth( + DWORD *bitrate, + DWORD *buffer) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBandwidth( + DWORD bitrate, + DWORD buffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMBandwidthSharing, 0xad694af1, 0xf8d9, 0x42f8, 0xbc,0x47, 0x70,0x31,0x1b,0x0c,0x4f,0x9e) +#endif +#else +typedef struct IWMBandwidthSharingVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMBandwidthSharing *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMBandwidthSharing *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMBandwidthSharing *This); + + /*** IWMStreamList methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreams)( + IWMBandwidthSharing *This, + WORD *pwStreamNumArray, + WORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMBandwidthSharing *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMBandwidthSharing *This, + WORD wStreamNum); + + /*** IWMBandwidthSharing methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IWMBandwidthSharing *This, + GUID *guid); + + HRESULT (STDMETHODCALLTYPE *SetType)( + IWMBandwidthSharing *This, + REFGUID guid); + + HRESULT (STDMETHODCALLTYPE *GetBandwidth)( + IWMBandwidthSharing *This, + DWORD *bitrate, + DWORD *buffer); + + HRESULT (STDMETHODCALLTYPE *SetBandwidth)( + IWMBandwidthSharing *This, + DWORD bitrate, + DWORD buffer); + + END_INTERFACE +} IWMBandwidthSharingVtbl; + +interface IWMBandwidthSharing { + CONST_VTBL IWMBandwidthSharingVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMBandwidthSharing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMBandwidthSharing_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMBandwidthSharing_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStreamList methods ***/ +#define IWMBandwidthSharing_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams) +#define IWMBandwidthSharing_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum) +#define IWMBandwidthSharing_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum) +/*** IWMBandwidthSharing methods ***/ +#define IWMBandwidthSharing_GetType(This,guid) (This)->lpVtbl->GetType(This,guid) +#define IWMBandwidthSharing_SetType(This,guid) (This)->lpVtbl->SetType(This,guid) +#define IWMBandwidthSharing_GetBandwidth(This,bitrate,buffer) (This)->lpVtbl->GetBandwidth(This,bitrate,buffer) +#define IWMBandwidthSharing_SetBandwidth(This,bitrate,buffer) (This)->lpVtbl->SetBandwidth(This,bitrate,buffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMBandwidthSharing_QueryInterface(IWMBandwidthSharing* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMBandwidthSharing_AddRef(IWMBandwidthSharing* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMBandwidthSharing_Release(IWMBandwidthSharing* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStreamList methods ***/ +static inline HRESULT IWMBandwidthSharing_GetStreams(IWMBandwidthSharing* This,WORD *pwStreamNumArray,WORD *pcStreams) { + return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams); +} +static inline HRESULT IWMBandwidthSharing_AddStream(IWMBandwidthSharing* This,WORD wStreamNum) { + return This->lpVtbl->AddStream(This,wStreamNum); +} +static inline HRESULT IWMBandwidthSharing_RemoveStream(IWMBandwidthSharing* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStream(This,wStreamNum); +} +/*** IWMBandwidthSharing methods ***/ +static inline HRESULT IWMBandwidthSharing_GetType(IWMBandwidthSharing* This,GUID *guid) { + return This->lpVtbl->GetType(This,guid); +} +static inline HRESULT IWMBandwidthSharing_SetType(IWMBandwidthSharing* This,REFGUID guid) { + return This->lpVtbl->SetType(This,guid); +} +static inline HRESULT IWMBandwidthSharing_GetBandwidth(IWMBandwidthSharing* This,DWORD *bitrate,DWORD *buffer) { + return This->lpVtbl->GetBandwidth(This,bitrate,buffer); +} +static inline HRESULT IWMBandwidthSharing_SetBandwidth(IWMBandwidthSharing* This,DWORD bitrate,DWORD buffer) { + return This->lpVtbl->SetBandwidth(This,bitrate,buffer); +} +#endif +#endif + +#endif + + +#endif /* __IWMBandwidthSharing_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMStreamPrioritization interface + */ +#ifndef __IWMStreamPrioritization_INTERFACE_DEFINED__ +#define __IWMStreamPrioritization_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMStreamPrioritization, 0x8c1c6090, 0xf9a8, 0x4748, 0x8e,0xc3, 0xdd,0x11,0x08,0xba,0x1e,0x77); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8c1c6090-f9a8-4748-8ec3-dd1108ba1e77") +IWMStreamPrioritization : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPriorityRecords( + WM_STREAM_PRIORITY_RECORD *array, + WORD *records) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPriorityRecords( + WM_STREAM_PRIORITY_RECORD *array, + WORD records) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMStreamPrioritization, 0x8c1c6090, 0xf9a8, 0x4748, 0x8e,0xc3, 0xdd,0x11,0x08,0xba,0x1e,0x77) +#endif +#else +typedef struct IWMStreamPrioritizationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMStreamPrioritization *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMStreamPrioritization *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMStreamPrioritization *This); + + /*** IWMStreamPrioritization methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPriorityRecords)( + IWMStreamPrioritization *This, + WM_STREAM_PRIORITY_RECORD *array, + WORD *records); + + HRESULT (STDMETHODCALLTYPE *SetPriorityRecords)( + IWMStreamPrioritization *This, + WM_STREAM_PRIORITY_RECORD *array, + WORD records); + + END_INTERFACE +} IWMStreamPrioritizationVtbl; + +interface IWMStreamPrioritization { + CONST_VTBL IWMStreamPrioritizationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMStreamPrioritization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMStreamPrioritization_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMStreamPrioritization_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStreamPrioritization methods ***/ +#define IWMStreamPrioritization_GetPriorityRecords(This,array,records) (This)->lpVtbl->GetPriorityRecords(This,array,records) +#define IWMStreamPrioritization_SetPriorityRecords(This,array,records) (This)->lpVtbl->SetPriorityRecords(This,array,records) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMStreamPrioritization_QueryInterface(IWMStreamPrioritization* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMStreamPrioritization_AddRef(IWMStreamPrioritization* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMStreamPrioritization_Release(IWMStreamPrioritization* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStreamPrioritization methods ***/ +static inline HRESULT IWMStreamPrioritization_GetPriorityRecords(IWMStreamPrioritization* This,WM_STREAM_PRIORITY_RECORD *array,WORD *records) { + return This->lpVtbl->GetPriorityRecords(This,array,records); +} +static inline HRESULT IWMStreamPrioritization_SetPriorityRecords(IWMStreamPrioritization* This,WM_STREAM_PRIORITY_RECORD *array,WORD records) { + return This->lpVtbl->SetPriorityRecords(This,array,records); +} +#endif +#endif + +#endif + + +#endif /* __IWMStreamPrioritization_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMStreamConfig interface + */ +#ifndef __IWMStreamConfig_INTERFACE_DEFINED__ +#define __IWMStreamConfig_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bdc-2b2b-11d3-b36b-00c04f6108ff") +IWMStreamConfig : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamType( + GUID *pguidStreamType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( + WORD *pwStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( + WORD wStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamName( + WCHAR *pwszStreamName, + WORD *pcchStreamName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamName( + LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConnectionName( + WCHAR *pwszInputName, + WORD *pcchInputName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetConnectionName( + LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBitrate( + DWORD *pdwBitrate) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBitrate( + DWORD pdwBitrate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBufferWindow( + DWORD *pmsBufferWindow) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBufferWindow( + DWORD msBufferWindow) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMStreamConfigVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMStreamConfig *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMStreamConfig *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMStreamConfig *This); + + /*** IWMStreamConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamType)( + IWMStreamConfig *This, + GUID *pguidStreamType); + + HRESULT (STDMETHODCALLTYPE *GetStreamNumber)( + IWMStreamConfig *This, + WORD *pwStreamNum); + + HRESULT (STDMETHODCALLTYPE *SetStreamNumber)( + IWMStreamConfig *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *GetStreamName)( + IWMStreamConfig *This, + WCHAR *pwszStreamName, + WORD *pcchStreamName); + + HRESULT (STDMETHODCALLTYPE *SetStreamName)( + IWMStreamConfig *This, + LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); + + HRESULT (STDMETHODCALLTYPE *GetConnectionName)( + IWMStreamConfig *This, + WCHAR *pwszInputName, + WORD *pcchInputName); + + HRESULT (STDMETHODCALLTYPE *SetConnectionName)( + IWMStreamConfig *This, + LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); + + HRESULT (STDMETHODCALLTYPE *GetBitrate)( + IWMStreamConfig *This, + DWORD *pdwBitrate); + + HRESULT (STDMETHODCALLTYPE *SetBitrate)( + IWMStreamConfig *This, + DWORD pdwBitrate); + + HRESULT (STDMETHODCALLTYPE *GetBufferWindow)( + IWMStreamConfig *This, + DWORD *pmsBufferWindow); + + HRESULT (STDMETHODCALLTYPE *SetBufferWindow)( + IWMStreamConfig *This, + DWORD msBufferWindow); + + END_INTERFACE +} IWMStreamConfigVtbl; + +interface IWMStreamConfig { + CONST_VTBL IWMStreamConfigVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMStreamConfig_Release(This) (This)->lpVtbl->Release(This) +/*** IWMStreamConfig methods ***/ +#define IWMStreamConfig_GetStreamType(This,pguidStreamType) (This)->lpVtbl->GetStreamType(This,pguidStreamType) +#define IWMStreamConfig_GetStreamNumber(This,pwStreamNum) (This)->lpVtbl->GetStreamNumber(This,pwStreamNum) +#define IWMStreamConfig_SetStreamNumber(This,wStreamNum) (This)->lpVtbl->SetStreamNumber(This,wStreamNum) +#define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName) (This)->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName) +#define IWMStreamConfig_SetStreamName(This,pwszStreamName) (This)->lpVtbl->SetStreamName(This,pwszStreamName) +#define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName) (This)->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName) +#define IWMStreamConfig_SetConnectionName(This,pwszInputName) (This)->lpVtbl->SetConnectionName(This,pwszInputName) +#define IWMStreamConfig_GetBitrate(This,pdwBitrate) (This)->lpVtbl->GetBitrate(This,pdwBitrate) +#define IWMStreamConfig_SetBitrate(This,pdwBitrate) (This)->lpVtbl->SetBitrate(This,pdwBitrate) +#define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow) (This)->lpVtbl->GetBufferWindow(This,pmsBufferWindow) +#define IWMStreamConfig_SetBufferWindow(This,msBufferWindow) (This)->lpVtbl->SetBufferWindow(This,msBufferWindow) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMStreamConfig_QueryInterface(IWMStreamConfig* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMStreamConfig_AddRef(IWMStreamConfig* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMStreamConfig_Release(IWMStreamConfig* This) { + return This->lpVtbl->Release(This); +} +/*** IWMStreamConfig methods ***/ +static inline HRESULT IWMStreamConfig_GetStreamType(IWMStreamConfig* This,GUID *pguidStreamType) { + return This->lpVtbl->GetStreamType(This,pguidStreamType); +} +static inline HRESULT IWMStreamConfig_GetStreamNumber(IWMStreamConfig* This,WORD *pwStreamNum) { + return This->lpVtbl->GetStreamNumber(This,pwStreamNum); +} +static inline HRESULT IWMStreamConfig_SetStreamNumber(IWMStreamConfig* This,WORD wStreamNum) { + return This->lpVtbl->SetStreamNumber(This,wStreamNum); +} +static inline HRESULT IWMStreamConfig_GetStreamName(IWMStreamConfig* This,WCHAR *pwszStreamName,WORD *pcchStreamName) { + return This->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName); +} +static inline HRESULT IWMStreamConfig_SetStreamName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) { + return This->lpVtbl->SetStreamName(This,pwszStreamName); +} +static inline HRESULT IWMStreamConfig_GetConnectionName(IWMStreamConfig* This,WCHAR *pwszInputName,WORD *pcchInputName) { + return This->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName); +} +static inline HRESULT IWMStreamConfig_SetConnectionName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) { + return This->lpVtbl->SetConnectionName(This,pwszInputName); +} +static inline HRESULT IWMStreamConfig_GetBitrate(IWMStreamConfig* This,DWORD *pdwBitrate) { + return This->lpVtbl->GetBitrate(This,pdwBitrate); +} +static inline HRESULT IWMStreamConfig_SetBitrate(IWMStreamConfig* This,DWORD pdwBitrate) { + return This->lpVtbl->SetBitrate(This,pdwBitrate); +} +static inline HRESULT IWMStreamConfig_GetBufferWindow(IWMStreamConfig* This,DWORD *pmsBufferWindow) { + return This->lpVtbl->GetBufferWindow(This,pmsBufferWindow); +} +static inline HRESULT IWMStreamConfig_SetBufferWindow(IWMStreamConfig* This,DWORD msBufferWindow) { + return This->lpVtbl->SetBufferWindow(This,msBufferWindow); +} +#endif +#endif + +#endif + + +#endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMProfile interface + */ +#ifndef __IWMProfile_INTERFACE_DEFINED__ +#define __IWMProfile_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bdb-2b2b-11d3-b36b-00c04f6108ff") +IWMProfile : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetVersion( + WMT_VERSION *pdwVersion) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetName( + WCHAR *pwszName, + DWORD *pcchName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetName( + const WCHAR *pwszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDescription( + WCHAR *pwszDescription, + DWORD *pcchDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDescription( + const WCHAR *pwszDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamCount( + DWORD *pcStreams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + DWORD dwStreamIndex, + IWMStreamConfig **ppConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( + WORD wStreamNum, + IWMStreamConfig **ppConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStream( + IWMStreamConfig *pConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber( + WORD wStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddStream( + IWMStreamConfig *pConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReconfigStream( + IWMStreamConfig *pConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewStream( + REFGUID guidStreamType, + IWMStreamConfig **ppConfig) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( + DWORD *pcME) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( + DWORD dwMEIndex, + IWMMutualExclusion **ppME) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( + IWMMutualExclusion *pME) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( + IWMMutualExclusion *pME) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion( + IWMMutualExclusion **ppME) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMProfileVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMProfile *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMProfile *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMProfile *This); + + /*** IWMProfile methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWMProfile *This, + WMT_VERSION *pdwVersion); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IWMProfile *This, + WCHAR *pwszName, + DWORD *pcchName); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IWMProfile *This, + const WCHAR *pwszName); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IWMProfile *This, + WCHAR *pwszDescription, + DWORD *pcchDescription); + + HRESULT (STDMETHODCALLTYPE *SetDescription)( + IWMProfile *This, + const WCHAR *pwszDescription); + + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IWMProfile *This, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IWMProfile *This, + DWORD dwStreamIndex, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( + IWMProfile *This, + WORD wStreamNum, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMProfile *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)( + IWMProfile *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMProfile *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *ReconfigStream)( + IWMProfile *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *CreateNewStream)( + IWMProfile *This, + REFGUID guidStreamType, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( + IWMProfile *This, + DWORD *pcME); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( + IWMProfile *This, + DWORD dwMEIndex, + IWMMutualExclusion **ppME); + + HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( + IWMProfile *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( + IWMProfile *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)( + IWMProfile *This, + IWMMutualExclusion **ppME); + + END_INTERFACE +} IWMProfileVtbl; + +interface IWMProfile { + CONST_VTBL IWMProfileVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMProfile_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMProfile_Release(This) (This)->lpVtbl->Release(This) +/*** IWMProfile methods ***/ +#define IWMProfile_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion) +#define IWMProfile_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName) +#define IWMProfile_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName) +#define IWMProfile_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription) +#define IWMProfile_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription) +#define IWMProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) +#define IWMProfile_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig) +#define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig) +#define IWMProfile_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig) +#define IWMProfile_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum) +#define IWMProfile_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig) +#define IWMProfile_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig) +#define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig) +#define IWMProfile_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME) +#define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME) +#define IWMProfile_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME) +#define IWMProfile_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME) +#define IWMProfile_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMProfile_QueryInterface(IWMProfile* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMProfile_AddRef(IWMProfile* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMProfile_Release(IWMProfile* This) { + return This->lpVtbl->Release(This); +} +/*** IWMProfile methods ***/ +static inline HRESULT IWMProfile_GetVersion(IWMProfile* This,WMT_VERSION *pdwVersion) { + return This->lpVtbl->GetVersion(This,pdwVersion); +} +static inline HRESULT IWMProfile_GetName(IWMProfile* This,WCHAR *pwszName,DWORD *pcchName) { + return This->lpVtbl->GetName(This,pwszName,pcchName); +} +static inline HRESULT IWMProfile_SetName(IWMProfile* This,const WCHAR *pwszName) { + return This->lpVtbl->SetName(This,pwszName); +} +static inline HRESULT IWMProfile_GetDescription(IWMProfile* This,WCHAR *pwszDescription,DWORD *pcchDescription) { + return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription); +} +static inline HRESULT IWMProfile_SetDescription(IWMProfile* This,const WCHAR *pwszDescription) { + return This->lpVtbl->SetDescription(This,pwszDescription); +} +static inline HRESULT IWMProfile_GetStreamCount(IWMProfile* This,DWORD *pcStreams) { + return This->lpVtbl->GetStreamCount(This,pcStreams); +} +static inline HRESULT IWMProfile_GetStream(IWMProfile* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig); +} +static inline HRESULT IWMProfile_GetStreamByNumber(IWMProfile* This,WORD wStreamNum,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig); +} +static inline HRESULT IWMProfile_RemoveStream(IWMProfile* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->RemoveStream(This,pConfig); +} +static inline HRESULT IWMProfile_RemoveStreamByNumber(IWMProfile* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum); +} +static inline HRESULT IWMProfile_AddStream(IWMProfile* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->AddStream(This,pConfig); +} +static inline HRESULT IWMProfile_ReconfigStream(IWMProfile* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->ReconfigStream(This,pConfig); +} +static inline HRESULT IWMProfile_CreateNewStream(IWMProfile* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) { + return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig); +} +static inline HRESULT IWMProfile_GetMutualExclusionCount(IWMProfile* This,DWORD *pcME) { + return This->lpVtbl->GetMutualExclusionCount(This,pcME); +} +static inline HRESULT IWMProfile_GetMutualExclusion(IWMProfile* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) { + return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME); +} +static inline HRESULT IWMProfile_RemoveMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) { + return This->lpVtbl->RemoveMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile_AddMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) { + return This->lpVtbl->AddMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile_CreateNewMutualExclusion(IWMProfile* This,IWMMutualExclusion **ppME) { + return This->lpVtbl->CreateNewMutualExclusion(This,ppME); +} +#endif +#endif + +#endif + + +#endif /* __IWMProfile_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMProfile2 interface + */ +#ifndef __IWMProfile2_INTERFACE_DEFINED__ +#define __IWMProfile2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMProfile2, 0x07e72d33, 0xd94e, 0x4be7, 0x88,0x43, 0x60,0xae,0x5f,0xf7,0xe5,0xf5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("07e72d33-d94e-4be7-8843-60ae5ff7e5f5") +IWMProfile2 : public IWMProfile +{ + virtual HRESULT STDMETHODCALLTYPE GetProfileID( + GUID *guid) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMProfile2, 0x07e72d33, 0xd94e, 0x4be7, 0x88,0x43, 0x60,0xae,0x5f,0xf7,0xe5,0xf5) +#endif +#else +typedef struct IWMProfile2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMProfile2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMProfile2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMProfile2 *This); + + /*** IWMProfile methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWMProfile2 *This, + WMT_VERSION *pdwVersion); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IWMProfile2 *This, + WCHAR *pwszName, + DWORD *pcchName); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IWMProfile2 *This, + const WCHAR *pwszName); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IWMProfile2 *This, + WCHAR *pwszDescription, + DWORD *pcchDescription); + + HRESULT (STDMETHODCALLTYPE *SetDescription)( + IWMProfile2 *This, + const WCHAR *pwszDescription); + + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IWMProfile2 *This, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IWMProfile2 *This, + DWORD dwStreamIndex, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( + IWMProfile2 *This, + WORD wStreamNum, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMProfile2 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)( + IWMProfile2 *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMProfile2 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *ReconfigStream)( + IWMProfile2 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *CreateNewStream)( + IWMProfile2 *This, + REFGUID guidStreamType, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( + IWMProfile2 *This, + DWORD *pcME); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( + IWMProfile2 *This, + DWORD dwMEIndex, + IWMMutualExclusion **ppME); + + HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( + IWMProfile2 *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( + IWMProfile2 *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)( + IWMProfile2 *This, + IWMMutualExclusion **ppME); + + /*** IWMProfile2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProfileID)( + IWMProfile2 *This, + GUID *guid); + + END_INTERFACE +} IWMProfile2Vtbl; + +interface IWMProfile2 { + CONST_VTBL IWMProfile2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMProfile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMProfile2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMProfile2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMProfile methods ***/ +#define IWMProfile2_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion) +#define IWMProfile2_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName) +#define IWMProfile2_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName) +#define IWMProfile2_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription) +#define IWMProfile2_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription) +#define IWMProfile2_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) +#define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig) +#define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig) +#define IWMProfile2_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig) +#define IWMProfile2_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum) +#define IWMProfile2_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig) +#define IWMProfile2_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig) +#define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig) +#define IWMProfile2_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME) +#define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME) +#define IWMProfile2_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME) +#define IWMProfile2_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME) +#define IWMProfile2_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME) +/*** IWMProfile2 methods ***/ +#define IWMProfile2_GetProfileID(This,guid) (This)->lpVtbl->GetProfileID(This,guid) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMProfile2_QueryInterface(IWMProfile2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMProfile2_AddRef(IWMProfile2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMProfile2_Release(IWMProfile2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMProfile methods ***/ +static inline HRESULT IWMProfile2_GetVersion(IWMProfile2* This,WMT_VERSION *pdwVersion) { + return This->lpVtbl->GetVersion(This,pdwVersion); +} +static inline HRESULT IWMProfile2_GetName(IWMProfile2* This,WCHAR *pwszName,DWORD *pcchName) { + return This->lpVtbl->GetName(This,pwszName,pcchName); +} +static inline HRESULT IWMProfile2_SetName(IWMProfile2* This,const WCHAR *pwszName) { + return This->lpVtbl->SetName(This,pwszName); +} +static inline HRESULT IWMProfile2_GetDescription(IWMProfile2* This,WCHAR *pwszDescription,DWORD *pcchDescription) { + return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription); +} +static inline HRESULT IWMProfile2_SetDescription(IWMProfile2* This,const WCHAR *pwszDescription) { + return This->lpVtbl->SetDescription(This,pwszDescription); +} +static inline HRESULT IWMProfile2_GetStreamCount(IWMProfile2* This,DWORD *pcStreams) { + return This->lpVtbl->GetStreamCount(This,pcStreams); +} +static inline HRESULT IWMProfile2_GetStream(IWMProfile2* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig); +} +static inline HRESULT IWMProfile2_GetStreamByNumber(IWMProfile2* This,WORD wStreamNum,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig); +} +static inline HRESULT IWMProfile2_RemoveStream(IWMProfile2* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->RemoveStream(This,pConfig); +} +static inline HRESULT IWMProfile2_RemoveStreamByNumber(IWMProfile2* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum); +} +static inline HRESULT IWMProfile2_AddStream(IWMProfile2* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->AddStream(This,pConfig); +} +static inline HRESULT IWMProfile2_ReconfigStream(IWMProfile2* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->ReconfigStream(This,pConfig); +} +static inline HRESULT IWMProfile2_CreateNewStream(IWMProfile2* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) { + return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig); +} +static inline HRESULT IWMProfile2_GetMutualExclusionCount(IWMProfile2* This,DWORD *pcME) { + return This->lpVtbl->GetMutualExclusionCount(This,pcME); +} +static inline HRESULT IWMProfile2_GetMutualExclusion(IWMProfile2* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) { + return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME); +} +static inline HRESULT IWMProfile2_RemoveMutualExclusion(IWMProfile2* This,IWMMutualExclusion *pME) { + return This->lpVtbl->RemoveMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile2_AddMutualExclusion(IWMProfile2* This,IWMMutualExclusion *pME) { + return This->lpVtbl->AddMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile2_CreateNewMutualExclusion(IWMProfile2* This,IWMMutualExclusion **ppME) { + return This->lpVtbl->CreateNewMutualExclusion(This,ppME); +} +/*** IWMProfile2 methods ***/ +static inline HRESULT IWMProfile2_GetProfileID(IWMProfile2* This,GUID *guid) { + return This->lpVtbl->GetProfileID(This,guid); +} +#endif +#endif + +#endif + + +#endif /* __IWMProfile2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMProfile3 interface + */ +#ifndef __IWMProfile3_INTERFACE_DEFINED__ +#define __IWMProfile3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMProfile3, 0x00ef96cc, 0xa461, 0x4546, 0x8b,0xcd, 0xc9,0xa2,0x8f,0x0e,0x06,0xf5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("00ef96cc-a461-4546-8bcd-c9a28f0e06f5") +IWMProfile3 : public IWMProfile2 +{ + virtual HRESULT STDMETHODCALLTYPE GetStorageFormat( + WMT_STORAGE_FORMAT *storage) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStorageFormat( + WMT_STORAGE_FORMAT storage) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharingCount( + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharing( + DWORD index, + IWMBandwidthSharing **bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveBandwidthSharing( + IWMBandwidthSharing *bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddBandwidthSharing( + IWMBandwidthSharing *bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewBandwidthSharing( + IWMBandwidthSharing **bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization( + IWMStreamPrioritization **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamPrioritization( + IWMStreamPrioritization *stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateNewStreamPrioritization( + IWMStreamPrioritization **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExpectedPacketCount( + QWORD duration, + QWORD *packets) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMProfile3, 0x00ef96cc, 0xa461, 0x4546, 0x8b,0xcd, 0xc9,0xa2,0x8f,0x0e,0x06,0xf5) +#endif +#else +typedef struct IWMProfile3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMProfile3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMProfile3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMProfile3 *This); + + /*** IWMProfile methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IWMProfile3 *This, + WMT_VERSION *pdwVersion); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IWMProfile3 *This, + WCHAR *pwszName, + DWORD *pcchName); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IWMProfile3 *This, + const WCHAR *pwszName); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IWMProfile3 *This, + WCHAR *pwszDescription, + DWORD *pcchDescription); + + HRESULT (STDMETHODCALLTYPE *SetDescription)( + IWMProfile3 *This, + const WCHAR *pwszDescription); + + HRESULT (STDMETHODCALLTYPE *GetStreamCount)( + IWMProfile3 *This, + DWORD *pcStreams); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IWMProfile3 *This, + DWORD dwStreamIndex, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)( + IWMProfile3 *This, + WORD wStreamNum, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStream)( + IWMProfile3 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)( + IWMProfile3 *This, + WORD wStreamNum); + + HRESULT (STDMETHODCALLTYPE *AddStream)( + IWMProfile3 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *ReconfigStream)( + IWMProfile3 *This, + IWMStreamConfig *pConfig); + + HRESULT (STDMETHODCALLTYPE *CreateNewStream)( + IWMProfile3 *This, + REFGUID guidStreamType, + IWMStreamConfig **ppConfig); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)( + IWMProfile3 *This, + DWORD *pcME); + + HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)( + IWMProfile3 *This, + DWORD dwMEIndex, + IWMMutualExclusion **ppME); + + HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)( + IWMProfile3 *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)( + IWMProfile3 *This, + IWMMutualExclusion *pME); + + HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)( + IWMProfile3 *This, + IWMMutualExclusion **ppME); + + /*** IWMProfile2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProfileID)( + IWMProfile3 *This, + GUID *guid); + + /*** IWMProfile3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStorageFormat)( + IWMProfile3 *This, + WMT_STORAGE_FORMAT *storage); + + HRESULT (STDMETHODCALLTYPE *SetStorageFormat)( + IWMProfile3 *This, + WMT_STORAGE_FORMAT storage); + + HRESULT (STDMETHODCALLTYPE *GetBandwidthSharingCount)( + IWMProfile3 *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetBandwidthSharing)( + IWMProfile3 *This, + DWORD index, + IWMBandwidthSharing **bandwidth); + + HRESULT (STDMETHODCALLTYPE *RemoveBandwidthSharing)( + IWMProfile3 *This, + IWMBandwidthSharing *bandwidth); + + HRESULT (STDMETHODCALLTYPE *AddBandwidthSharing)( + IWMProfile3 *This, + IWMBandwidthSharing *bandwidth); + + HRESULT (STDMETHODCALLTYPE *CreateNewBandwidthSharing)( + IWMProfile3 *This, + IWMBandwidthSharing **bandwidth); + + HRESULT (STDMETHODCALLTYPE *GetStreamPrioritization)( + IWMProfile3 *This, + IWMStreamPrioritization **stream); + + HRESULT (STDMETHODCALLTYPE *SetStreamPrioritization)( + IWMProfile3 *This, + IWMStreamPrioritization *stream); + + HRESULT (STDMETHODCALLTYPE *RemoveStreamPrioritization)( + IWMProfile3 *This); + + HRESULT (STDMETHODCALLTYPE *CreateNewStreamPrioritization)( + IWMProfile3 *This, + IWMStreamPrioritization **stream); + + HRESULT (STDMETHODCALLTYPE *GetExpectedPacketCount)( + IWMProfile3 *This, + QWORD duration, + QWORD *packets); + + END_INTERFACE +} IWMProfile3Vtbl; + +interface IWMProfile3 { + CONST_VTBL IWMProfile3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMProfile3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMProfile3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMProfile3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMProfile methods ***/ +#define IWMProfile3_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion) +#define IWMProfile3_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName) +#define IWMProfile3_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName) +#define IWMProfile3_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription) +#define IWMProfile3_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription) +#define IWMProfile3_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams) +#define IWMProfile3_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig) +#define IWMProfile3_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig) +#define IWMProfile3_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig) +#define IWMProfile3_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum) +#define IWMProfile3_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig) +#define IWMProfile3_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig) +#define IWMProfile3_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig) +#define IWMProfile3_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME) +#define IWMProfile3_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME) +#define IWMProfile3_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME) +#define IWMProfile3_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME) +#define IWMProfile3_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME) +/*** IWMProfile2 methods ***/ +#define IWMProfile3_GetProfileID(This,guid) (This)->lpVtbl->GetProfileID(This,guid) +/*** IWMProfile3 methods ***/ +#define IWMProfile3_GetStorageFormat(This,storage) (This)->lpVtbl->GetStorageFormat(This,storage) +#define IWMProfile3_SetStorageFormat(This,storage) (This)->lpVtbl->SetStorageFormat(This,storage) +#define IWMProfile3_GetBandwidthSharingCount(This,count) (This)->lpVtbl->GetBandwidthSharingCount(This,count) +#define IWMProfile3_GetBandwidthSharing(This,index,bandwidth) (This)->lpVtbl->GetBandwidthSharing(This,index,bandwidth) +#define IWMProfile3_RemoveBandwidthSharing(This,bandwidth) (This)->lpVtbl->RemoveBandwidthSharing(This,bandwidth) +#define IWMProfile3_AddBandwidthSharing(This,bandwidth) (This)->lpVtbl->AddBandwidthSharing(This,bandwidth) +#define IWMProfile3_CreateNewBandwidthSharing(This,bandwidth) (This)->lpVtbl->CreateNewBandwidthSharing(This,bandwidth) +#define IWMProfile3_GetStreamPrioritization(This,stream) (This)->lpVtbl->GetStreamPrioritization(This,stream) +#define IWMProfile3_SetStreamPrioritization(This,stream) (This)->lpVtbl->SetStreamPrioritization(This,stream) +#define IWMProfile3_RemoveStreamPrioritization(This) (This)->lpVtbl->RemoveStreamPrioritization(This) +#define IWMProfile3_CreateNewStreamPrioritization(This,stream) (This)->lpVtbl->CreateNewStreamPrioritization(This,stream) +#define IWMProfile3_GetExpectedPacketCount(This,duration,packets) (This)->lpVtbl->GetExpectedPacketCount(This,duration,packets) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMProfile3_QueryInterface(IWMProfile3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMProfile3_AddRef(IWMProfile3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMProfile3_Release(IWMProfile3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMProfile methods ***/ +static inline HRESULT IWMProfile3_GetVersion(IWMProfile3* This,WMT_VERSION *pdwVersion) { + return This->lpVtbl->GetVersion(This,pdwVersion); +} +static inline HRESULT IWMProfile3_GetName(IWMProfile3* This,WCHAR *pwszName,DWORD *pcchName) { + return This->lpVtbl->GetName(This,pwszName,pcchName); +} +static inline HRESULT IWMProfile3_SetName(IWMProfile3* This,const WCHAR *pwszName) { + return This->lpVtbl->SetName(This,pwszName); +} +static inline HRESULT IWMProfile3_GetDescription(IWMProfile3* This,WCHAR *pwszDescription,DWORD *pcchDescription) { + return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription); +} +static inline HRESULT IWMProfile3_SetDescription(IWMProfile3* This,const WCHAR *pwszDescription) { + return This->lpVtbl->SetDescription(This,pwszDescription); +} +static inline HRESULT IWMProfile3_GetStreamCount(IWMProfile3* This,DWORD *pcStreams) { + return This->lpVtbl->GetStreamCount(This,pcStreams); +} +static inline HRESULT IWMProfile3_GetStream(IWMProfile3* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig); +} +static inline HRESULT IWMProfile3_GetStreamByNumber(IWMProfile3* This,WORD wStreamNum,IWMStreamConfig **ppConfig) { + return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig); +} +static inline HRESULT IWMProfile3_RemoveStream(IWMProfile3* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->RemoveStream(This,pConfig); +} +static inline HRESULT IWMProfile3_RemoveStreamByNumber(IWMProfile3* This,WORD wStreamNum) { + return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum); +} +static inline HRESULT IWMProfile3_AddStream(IWMProfile3* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->AddStream(This,pConfig); +} +static inline HRESULT IWMProfile3_ReconfigStream(IWMProfile3* This,IWMStreamConfig *pConfig) { + return This->lpVtbl->ReconfigStream(This,pConfig); +} +static inline HRESULT IWMProfile3_CreateNewStream(IWMProfile3* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) { + return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig); +} +static inline HRESULT IWMProfile3_GetMutualExclusionCount(IWMProfile3* This,DWORD *pcME) { + return This->lpVtbl->GetMutualExclusionCount(This,pcME); +} +static inline HRESULT IWMProfile3_GetMutualExclusion(IWMProfile3* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) { + return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME); +} +static inline HRESULT IWMProfile3_RemoveMutualExclusion(IWMProfile3* This,IWMMutualExclusion *pME) { + return This->lpVtbl->RemoveMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile3_AddMutualExclusion(IWMProfile3* This,IWMMutualExclusion *pME) { + return This->lpVtbl->AddMutualExclusion(This,pME); +} +static inline HRESULT IWMProfile3_CreateNewMutualExclusion(IWMProfile3* This,IWMMutualExclusion **ppME) { + return This->lpVtbl->CreateNewMutualExclusion(This,ppME); +} +/*** IWMProfile2 methods ***/ +static inline HRESULT IWMProfile3_GetProfileID(IWMProfile3* This,GUID *guid) { + return This->lpVtbl->GetProfileID(This,guid); +} +/*** IWMProfile3 methods ***/ +static inline HRESULT IWMProfile3_GetStorageFormat(IWMProfile3* This,WMT_STORAGE_FORMAT *storage) { + return This->lpVtbl->GetStorageFormat(This,storage); +} +static inline HRESULT IWMProfile3_SetStorageFormat(IWMProfile3* This,WMT_STORAGE_FORMAT storage) { + return This->lpVtbl->SetStorageFormat(This,storage); +} +static inline HRESULT IWMProfile3_GetBandwidthSharingCount(IWMProfile3* This,DWORD *count) { + return This->lpVtbl->GetBandwidthSharingCount(This,count); +} +static inline HRESULT IWMProfile3_GetBandwidthSharing(IWMProfile3* This,DWORD index,IWMBandwidthSharing **bandwidth) { + return This->lpVtbl->GetBandwidthSharing(This,index,bandwidth); +} +static inline HRESULT IWMProfile3_RemoveBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing *bandwidth) { + return This->lpVtbl->RemoveBandwidthSharing(This,bandwidth); +} +static inline HRESULT IWMProfile3_AddBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing *bandwidth) { + return This->lpVtbl->AddBandwidthSharing(This,bandwidth); +} +static inline HRESULT IWMProfile3_CreateNewBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing **bandwidth) { + return This->lpVtbl->CreateNewBandwidthSharing(This,bandwidth); +} +static inline HRESULT IWMProfile3_GetStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization **stream) { + return This->lpVtbl->GetStreamPrioritization(This,stream); +} +static inline HRESULT IWMProfile3_SetStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization *stream) { + return This->lpVtbl->SetStreamPrioritization(This,stream); +} +static inline HRESULT IWMProfile3_RemoveStreamPrioritization(IWMProfile3* This) { + return This->lpVtbl->RemoveStreamPrioritization(This); +} +static inline HRESULT IWMProfile3_CreateNewStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization **stream) { + return This->lpVtbl->CreateNewStreamPrioritization(This,stream); +} +static inline HRESULT IWMProfile3_GetExpectedPacketCount(IWMProfile3* This,QWORD duration,QWORD *packets) { + return This->lpVtbl->GetExpectedPacketCount(This,duration,packets); +} +#endif +#endif + +#endif + + +#endif /* __IWMProfile3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMProfileManager interface + */ +#ifndef __IWMProfileManager_INTERFACE_DEFINED__ +#define __IWMProfileManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155") +IWMProfileManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile( + WMT_VERSION dwVersion, + IWMProfile **ppProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadProfileByID( + REFGUID guidProfile, + IWMProfile **ppProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadProfileByData( + const WCHAR *pwszProfile, + IWMProfile **ppProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveProfile( + IWMProfile *pIWMProfile, + WCHAR *pwszProfile, + DWORD *pdwLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount( + DWORD *pcProfiles) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile( + DWORD dwProfileIndex, + IWMProfile **ppProfile) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55) +#endif +#else +typedef struct IWMProfileManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMProfileManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMProfileManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMProfileManager *This); + + /*** IWMProfileManager methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateEmptyProfile)( + IWMProfileManager *This, + WMT_VERSION dwVersion, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *LoadProfileByID)( + IWMProfileManager *This, + REFGUID guidProfile, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *LoadProfileByData)( + IWMProfileManager *This, + const WCHAR *pwszProfile, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *SaveProfile)( + IWMProfileManager *This, + IWMProfile *pIWMProfile, + WCHAR *pwszProfile, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetSystemProfileCount)( + IWMProfileManager *This, + DWORD *pcProfiles); + + HRESULT (STDMETHODCALLTYPE *LoadSystemProfile)( + IWMProfileManager *This, + DWORD dwProfileIndex, + IWMProfile **ppProfile); + + END_INTERFACE +} IWMProfileManagerVtbl; + +interface IWMProfileManager { + CONST_VTBL IWMProfileManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMProfileManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMProfileManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMProfileManager_Release(This) (This)->lpVtbl->Release(This) +/*** IWMProfileManager methods ***/ +#define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile) (This)->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile) +#define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile) (This)->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile) +#define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile) (This)->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile) +#define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) (This)->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) +#define IWMProfileManager_GetSystemProfileCount(This,pcProfiles) (This)->lpVtbl->GetSystemProfileCount(This,pcProfiles) +#define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile) (This)->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMProfileManager_QueryInterface(IWMProfileManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMProfileManager_AddRef(IWMProfileManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMProfileManager_Release(IWMProfileManager* This) { + return This->lpVtbl->Release(This); +} +/*** IWMProfileManager methods ***/ +static inline HRESULT IWMProfileManager_CreateEmptyProfile(IWMProfileManager* This,WMT_VERSION dwVersion,IWMProfile **ppProfile) { + return This->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile); +} +static inline HRESULT IWMProfileManager_LoadProfileByID(IWMProfileManager* This,REFGUID guidProfile,IWMProfile **ppProfile) { + return This->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile); +} +static inline HRESULT IWMProfileManager_LoadProfileByData(IWMProfileManager* This,const WCHAR *pwszProfile,IWMProfile **ppProfile) { + return This->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile); +} +static inline HRESULT IWMProfileManager_SaveProfile(IWMProfileManager* This,IWMProfile *pIWMProfile,WCHAR *pwszProfile,DWORD *pdwLength) { + return This->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength); +} +static inline HRESULT IWMProfileManager_GetSystemProfileCount(IWMProfileManager* This,DWORD *pcProfiles) { + return This->lpVtbl->GetSystemProfileCount(This,pcProfiles); +} +static inline HRESULT IWMProfileManager_LoadSystemProfile(IWMProfileManager* This,DWORD dwProfileIndex,IWMProfile **ppProfile) { + return This->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile); +} +#endif +#endif + +#endif + + +#endif /* __IWMProfileManager_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMProfileManager2 interface + */ +#ifndef __IWMProfileManager2_INTERFACE_DEFINED__ +#define __IWMProfileManager2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMProfileManager2, 0x7a924e51, 0x73c1, 0x494d, 0x80,0x19, 0x23,0xd3,0x7e,0xd9,0xb8,0x9a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7a924e51-73c1-494d-8019-23d37ed9b89a") +IWMProfileManager2 : public IWMProfileManager +{ + virtual HRESULT STDMETHODCALLTYPE GetSystemProfileVersion( + WMT_VERSION *version) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSystemProfileVersion( + WMT_VERSION version) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMProfileManager2, 0x7a924e51, 0x73c1, 0x494d, 0x80,0x19, 0x23,0xd3,0x7e,0xd9,0xb8,0x9a) +#endif +#else +typedef struct IWMProfileManager2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMProfileManager2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMProfileManager2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMProfileManager2 *This); + + /*** IWMProfileManager methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateEmptyProfile)( + IWMProfileManager2 *This, + WMT_VERSION dwVersion, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *LoadProfileByID)( + IWMProfileManager2 *This, + REFGUID guidProfile, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *LoadProfileByData)( + IWMProfileManager2 *This, + const WCHAR *pwszProfile, + IWMProfile **ppProfile); + + HRESULT (STDMETHODCALLTYPE *SaveProfile)( + IWMProfileManager2 *This, + IWMProfile *pIWMProfile, + WCHAR *pwszProfile, + DWORD *pdwLength); + + HRESULT (STDMETHODCALLTYPE *GetSystemProfileCount)( + IWMProfileManager2 *This, + DWORD *pcProfiles); + + HRESULT (STDMETHODCALLTYPE *LoadSystemProfile)( + IWMProfileManager2 *This, + DWORD dwProfileIndex, + IWMProfile **ppProfile); + + /*** IWMProfileManager2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSystemProfileVersion)( + IWMProfileManager2 *This, + WMT_VERSION *version); + + HRESULT (STDMETHODCALLTYPE *SetSystemProfileVersion)( + IWMProfileManager2 *This, + WMT_VERSION version); + + END_INTERFACE +} IWMProfileManager2Vtbl; + +interface IWMProfileManager2 { + CONST_VTBL IWMProfileManager2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMProfileManager2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMProfileManager2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMProfileManager2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMProfileManager methods ***/ +#define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile) (This)->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile) +#define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile) (This)->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile) +#define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile) (This)->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile) +#define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) (This)->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) +#define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles) (This)->lpVtbl->GetSystemProfileCount(This,pcProfiles) +#define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile) (This)->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile) +/*** IWMProfileManager2 methods ***/ +#define IWMProfileManager2_GetSystemProfileVersion(This,version) (This)->lpVtbl->GetSystemProfileVersion(This,version) +#define IWMProfileManager2_SetSystemProfileVersion(This,version) (This)->lpVtbl->SetSystemProfileVersion(This,version) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMProfileManager2_QueryInterface(IWMProfileManager2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMProfileManager2_AddRef(IWMProfileManager2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMProfileManager2_Release(IWMProfileManager2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMProfileManager methods ***/ +static inline HRESULT IWMProfileManager2_CreateEmptyProfile(IWMProfileManager2* This,WMT_VERSION dwVersion,IWMProfile **ppProfile) { + return This->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile); +} +static inline HRESULT IWMProfileManager2_LoadProfileByID(IWMProfileManager2* This,REFGUID guidProfile,IWMProfile **ppProfile) { + return This->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile); +} +static inline HRESULT IWMProfileManager2_LoadProfileByData(IWMProfileManager2* This,const WCHAR *pwszProfile,IWMProfile **ppProfile) { + return This->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile); +} +static inline HRESULT IWMProfileManager2_SaveProfile(IWMProfileManager2* This,IWMProfile *pIWMProfile,WCHAR *pwszProfile,DWORD *pdwLength) { + return This->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength); +} +static inline HRESULT IWMProfileManager2_GetSystemProfileCount(IWMProfileManager2* This,DWORD *pcProfiles) { + return This->lpVtbl->GetSystemProfileCount(This,pcProfiles); +} +static inline HRESULT IWMProfileManager2_LoadSystemProfile(IWMProfileManager2* This,DWORD dwProfileIndex,IWMProfile **ppProfile) { + return This->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile); +} +/*** IWMProfileManager2 methods ***/ +static inline HRESULT IWMProfileManager2_GetSystemProfileVersion(IWMProfileManager2* This,WMT_VERSION *version) { + return This->lpVtbl->GetSystemProfileVersion(This,version); +} +static inline HRESULT IWMProfileManager2_SetSystemProfileVersion(IWMProfileManager2* This,WMT_VERSION version) { + return This->lpVtbl->SetSystemProfileVersion(This,version); +} +#endif +#endif + +#endif + + +#endif /* __IWMProfileManager2_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**); +/***************************************************************************** + * IWMCodecInfo interface + */ +#ifndef __IWMCodecInfo_INTERFACE_DEFINED__ +#define __IWMCodecInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMCodecInfo, 0xa970f41e, 0x34de, 0x4a98, 0xb3,0xba, 0xe4,0xb3,0xca,0x75,0x28,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a970f41e-34de-4a98-b3ba-e4b3ca7528f0") +IWMCodecInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( + REFGUID guid, + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecFormatCount( + REFGUID guid, + DWORD codecindex, + DWORD *formatcount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecFormat( + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMCodecInfo, 0xa970f41e, 0x34de, 0x4a98, 0xb3,0xba, 0xe4,0xb3,0xca,0x75,0x28,0xf0) +#endif +#else +typedef struct IWMCodecInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMCodecInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMCodecInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMCodecInfo *This); + + /*** IWMCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)( + IWMCodecInfo *This, + REFGUID guid, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormatCount)( + IWMCodecInfo *This, + REFGUID guid, + DWORD codecindex, + DWORD *formatcount); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormat)( + IWMCodecInfo *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig); + + END_INTERFACE +} IWMCodecInfoVtbl; + +interface IWMCodecInfo { + CONST_VTBL IWMCodecInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMCodecInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMCodecInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMCodecInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWMCodecInfo methods ***/ +#define IWMCodecInfo_GetCodecInfoCount(This,guid,count) (This)->lpVtbl->GetCodecInfoCount(This,guid,count) +#define IWMCodecInfo_GetCodecFormatCount(This,guid,codecindex,formatcount) (This)->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount) +#define IWMCodecInfo_GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) (This)->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMCodecInfo_QueryInterface(IWMCodecInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMCodecInfo_AddRef(IWMCodecInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMCodecInfo_Release(IWMCodecInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWMCodecInfo methods ***/ +static inline HRESULT IWMCodecInfo_GetCodecInfoCount(IWMCodecInfo* This,REFGUID guid,DWORD *count) { + return This->lpVtbl->GetCodecInfoCount(This,guid,count); +} +static inline HRESULT IWMCodecInfo_GetCodecFormatCount(IWMCodecInfo* This,REFGUID guid,DWORD codecindex,DWORD *formatcount) { + return This->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount); +} +static inline HRESULT IWMCodecInfo_GetCodecFormat(IWMCodecInfo* This,REFGUID guid,DWORD codecindex,DWORD formatindex,IWMStreamConfig **streamconfig) { + return This->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig); +} +#endif +#endif + +#endif + + +#endif /* __IWMCodecInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMCodecInfo2 interface + */ +#ifndef __IWMCodecInfo2_INTERFACE_DEFINED__ +#define __IWMCodecInfo2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMCodecInfo2, 0xaa65e273, 0xb686, 0x4056, 0x91,0xec, 0xdd,0x76,0x8d,0x4d,0xf7,0x10); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aa65e273-b686-4056-91ec-dd768d4df710") +IWMCodecInfo2 : public IWMCodecInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetCodecName( + REFGUID guid, + DWORD codecindex, + WCHAR *name, + DWORD *namesize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecFormatDesc( + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig, + WCHAR *description, + DWORD *descrsize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMCodecInfo2, 0xaa65e273, 0xb686, 0x4056, 0x91,0xec, 0xdd,0x76,0x8d,0x4d,0xf7,0x10) +#endif +#else +typedef struct IWMCodecInfo2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMCodecInfo2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMCodecInfo2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMCodecInfo2 *This); + + /*** IWMCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)( + IWMCodecInfo2 *This, + REFGUID guid, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormatCount)( + IWMCodecInfo2 *This, + REFGUID guid, + DWORD codecindex, + DWORD *formatcount); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormat)( + IWMCodecInfo2 *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig); + + /*** IWMCodecInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecName)( + IWMCodecInfo2 *This, + REFGUID guid, + DWORD codecindex, + WCHAR *name, + DWORD *namesize); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormatDesc)( + IWMCodecInfo2 *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig, + WCHAR *description, + DWORD *descrsize); + + END_INTERFACE +} IWMCodecInfo2Vtbl; + +interface IWMCodecInfo2 { + CONST_VTBL IWMCodecInfo2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMCodecInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMCodecInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMCodecInfo2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMCodecInfo methods ***/ +#define IWMCodecInfo2_GetCodecInfoCount(This,guid,count) (This)->lpVtbl->GetCodecInfoCount(This,guid,count) +#define IWMCodecInfo2_GetCodecFormatCount(This,guid,codecindex,formatcount) (This)->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount) +#define IWMCodecInfo2_GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) (This)->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) +/*** IWMCodecInfo2 methods ***/ +#define IWMCodecInfo2_GetCodecName(This,guid,codecindex,name,namesize) (This)->lpVtbl->GetCodecName(This,guid,codecindex,name,namesize) +#define IWMCodecInfo2_GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize) (This)->lpVtbl->GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMCodecInfo2_QueryInterface(IWMCodecInfo2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMCodecInfo2_AddRef(IWMCodecInfo2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMCodecInfo2_Release(IWMCodecInfo2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMCodecInfo methods ***/ +static inline HRESULT IWMCodecInfo2_GetCodecInfoCount(IWMCodecInfo2* This,REFGUID guid,DWORD *count) { + return This->lpVtbl->GetCodecInfoCount(This,guid,count); +} +static inline HRESULT IWMCodecInfo2_GetCodecFormatCount(IWMCodecInfo2* This,REFGUID guid,DWORD codecindex,DWORD *formatcount) { + return This->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount); +} +static inline HRESULT IWMCodecInfo2_GetCodecFormat(IWMCodecInfo2* This,REFGUID guid,DWORD codecindex,DWORD formatindex,IWMStreamConfig **streamconfig) { + return This->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig); +} +/*** IWMCodecInfo2 methods ***/ +static inline HRESULT IWMCodecInfo2_GetCodecName(IWMCodecInfo2* This,REFGUID guid,DWORD codecindex,WCHAR *name,DWORD *namesize) { + return This->lpVtbl->GetCodecName(This,guid,codecindex,name,namesize); +} +static inline HRESULT IWMCodecInfo2_GetCodecFormatDesc(IWMCodecInfo2* This,REFGUID guid,DWORD codecindex,DWORD formatindex,IWMStreamConfig **streamconfig,WCHAR *description,DWORD *descrsize) { + return This->lpVtbl->GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize); +} +#endif +#endif + +#endif + + +#endif /* __IWMCodecInfo2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMCodecInfo3 interface + */ +#ifndef __IWMCodecInfo3_INTERFACE_DEFINED__ +#define __IWMCodecInfo3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMCodecInfo3, 0x7e51f487, 0x4d93, 0x4f98, 0x8a,0xb4, 0x27,0xd0,0x56,0x5a,0xdc,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7e51f487-4d93-4f98-8ab4-27d0565adc51") +IWMCodecInfo3 : public IWMCodecInfo2 +{ + virtual HRESULT STDMETHODCALLTYPE GetCodecFormatProp( + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecProp( + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCodecEnumerationSetting( + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecEnumerationSetting( + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMCodecInfo3, 0x7e51f487, 0x4d93, 0x4f98, 0x8a,0xb4, 0x27,0xd0,0x56,0x5a,0xdc,0x51) +#endif +#else +typedef struct IWMCodecInfo3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMCodecInfo3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMCodecInfo3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMCodecInfo3 *This); + + /*** IWMCodecInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormatCount)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + DWORD *formatcount); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormat)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig); + + /*** IWMCodecInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecName)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + WCHAR *name, + DWORD *namesize); + + HRESULT (STDMETHODCALLTYPE *GetCodecFormatDesc)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + IWMStreamConfig **streamconfig, + WCHAR *description, + DWORD *descrsize); + + /*** IWMCodecInfo3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecFormatProp)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + DWORD formatindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *GetCodecProp)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetCodecEnumerationSetting)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *GetCodecEnumerationSetting)( + IWMCodecInfo3 *This, + REFGUID guid, + DWORD codecindex, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + END_INTERFACE +} IWMCodecInfo3Vtbl; + +interface IWMCodecInfo3 { + CONST_VTBL IWMCodecInfo3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMCodecInfo3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMCodecInfo3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMCodecInfo3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMCodecInfo methods ***/ +#define IWMCodecInfo3_GetCodecInfoCount(This,guid,count) (This)->lpVtbl->GetCodecInfoCount(This,guid,count) +#define IWMCodecInfo3_GetCodecFormatCount(This,guid,codecindex,formatcount) (This)->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount) +#define IWMCodecInfo3_GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) (This)->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig) +/*** IWMCodecInfo2 methods ***/ +#define IWMCodecInfo3_GetCodecName(This,guid,codecindex,name,namesize) (This)->lpVtbl->GetCodecName(This,guid,codecindex,name,namesize) +#define IWMCodecInfo3_GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize) (This)->lpVtbl->GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize) +/*** IWMCodecInfo3 methods ***/ +#define IWMCodecInfo3_GetCodecFormatProp(This,guid,codecindex,formatindex,name,type,value,size) (This)->lpVtbl->GetCodecFormatProp(This,guid,codecindex,formatindex,name,type,value,size) +#define IWMCodecInfo3_GetCodecProp(This,guid,codecindex,name,type,value,size) (This)->lpVtbl->GetCodecProp(This,guid,codecindex,name,type,value,size) +#define IWMCodecInfo3_SetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size) (This)->lpVtbl->SetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size) +#define IWMCodecInfo3_GetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size) (This)->lpVtbl->GetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMCodecInfo3_QueryInterface(IWMCodecInfo3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMCodecInfo3_AddRef(IWMCodecInfo3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMCodecInfo3_Release(IWMCodecInfo3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMCodecInfo methods ***/ +static inline HRESULT IWMCodecInfo3_GetCodecInfoCount(IWMCodecInfo3* This,REFGUID guid,DWORD *count) { + return This->lpVtbl->GetCodecInfoCount(This,guid,count); +} +static inline HRESULT IWMCodecInfo3_GetCodecFormatCount(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,DWORD *formatcount) { + return This->lpVtbl->GetCodecFormatCount(This,guid,codecindex,formatcount); +} +static inline HRESULT IWMCodecInfo3_GetCodecFormat(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,DWORD formatindex,IWMStreamConfig **streamconfig) { + return This->lpVtbl->GetCodecFormat(This,guid,codecindex,formatindex,streamconfig); +} +/*** IWMCodecInfo2 methods ***/ +static inline HRESULT IWMCodecInfo3_GetCodecName(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,WCHAR *name,DWORD *namesize) { + return This->lpVtbl->GetCodecName(This,guid,codecindex,name,namesize); +} +static inline HRESULT IWMCodecInfo3_GetCodecFormatDesc(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,DWORD formatindex,IWMStreamConfig **streamconfig,WCHAR *description,DWORD *descrsize) { + return This->lpVtbl->GetCodecFormatDesc(This,guid,codecindex,formatindex,streamconfig,description,descrsize); +} +/*** IWMCodecInfo3 methods ***/ +static inline HRESULT IWMCodecInfo3_GetCodecFormatProp(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,DWORD formatindex,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetCodecFormatProp(This,guid,codecindex,formatindex,name,type,value,size); +} +static inline HRESULT IWMCodecInfo3_GetCodecProp(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetCodecProp(This,guid,codecindex,name,type,value,size); +} +static inline HRESULT IWMCodecInfo3_SetCodecEnumerationSetting(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,DWORD size) { + return This->lpVtbl->SetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size); +} +static inline HRESULT IWMCodecInfo3_GetCodecEnumerationSetting(IWMCodecInfo3* This,REFGUID guid,DWORD codecindex,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetCodecEnumerationSetting(This,guid,codecindex,name,type,value,size); +} +#endif +#endif + +#endif + + +#endif /* __IWMCodecInfo3_INTERFACE_DEFINED__ */ + +static const WCHAR g_wszNumPasses[] = {'_','P','A','S','S','E','S','U','S','E','D',0}; +static const WCHAR g_wszVBREnabled[] = {'_','V','B','R','E','N','A','B','L','E','D',0}; +/***************************************************************************** + * IWMMediaProps interface + */ +#ifndef __IWMMediaProps_INTERFACE_DEFINED__ +#define __IWMMediaProps_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bce-2b2b-11d3-b36b-00c04f6108ff") +IWMMediaProps : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetType( + GUID *pguidType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMediaType( + WM_MEDIA_TYPE *pType, + DWORD *pcbType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMediaType( + WM_MEDIA_TYPE *pType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMMediaPropsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMMediaProps *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMMediaProps *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMMediaProps *This); + + /*** IWMMediaProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IWMMediaProps *This, + GUID *pguidType); + + HRESULT (STDMETHODCALLTYPE *GetMediaType)( + IWMMediaProps *This, + WM_MEDIA_TYPE *pType, + DWORD *pcbType); + + HRESULT (STDMETHODCALLTYPE *SetMediaType)( + IWMMediaProps *This, + WM_MEDIA_TYPE *pType); + + END_INTERFACE +} IWMMediaPropsVtbl; + +interface IWMMediaProps { + CONST_VTBL IWMMediaPropsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMMediaProps_Release(This) (This)->lpVtbl->Release(This) +/*** IWMMediaProps methods ***/ +#define IWMMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) +#define IWMMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) +#define IWMMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMMediaProps_QueryInterface(IWMMediaProps* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMMediaProps_AddRef(IWMMediaProps* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMMediaProps_Release(IWMMediaProps* This) { + return This->lpVtbl->Release(This); +} +/*** IWMMediaProps methods ***/ +static inline HRESULT IWMMediaProps_GetType(IWMMediaProps* This,GUID *pguidType) { + return This->lpVtbl->GetType(This,pguidType); +} +static inline HRESULT IWMMediaProps_GetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { + return This->lpVtbl->GetMediaType(This,pType,pcbType); +} +static inline HRESULT IWMMediaProps_SetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType) { + return This->lpVtbl->SetMediaType(This,pType); +} +#endif +#endif + +#endif + + +#endif /* __IWMMediaProps_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMOutputMediaProps interface + */ +#ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__ +#define __IWMOutputMediaProps_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd7-2b2b-11d3-b36b-00c04f6108ff") +IWMOutputMediaProps : public IWMMediaProps +{ + virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName( + WCHAR *pwszName, + WORD *pcchName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConnectionName( + WCHAR *pwszName, + WORD *pcchName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMOutputMediaPropsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMOutputMediaProps *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMOutputMediaProps *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMOutputMediaProps *This); + + /*** IWMMediaProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IWMOutputMediaProps *This, + GUID *pguidType); + + HRESULT (STDMETHODCALLTYPE *GetMediaType)( + IWMOutputMediaProps *This, + WM_MEDIA_TYPE *pType, + DWORD *pcbType); + + HRESULT (STDMETHODCALLTYPE *SetMediaType)( + IWMOutputMediaProps *This, + WM_MEDIA_TYPE *pType); + + /*** IWMOutputMediaProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStreamGroupName)( + IWMOutputMediaProps *This, + WCHAR *pwszName, + WORD *pcchName); + + HRESULT (STDMETHODCALLTYPE *GetConnectionName)( + IWMOutputMediaProps *This, + WCHAR *pwszName, + WORD *pcchName); + + END_INTERFACE +} IWMOutputMediaPropsVtbl; + +interface IWMOutputMediaProps { + CONST_VTBL IWMOutputMediaPropsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMOutputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMOutputMediaProps_Release(This) (This)->lpVtbl->Release(This) +/*** IWMMediaProps methods ***/ +#define IWMOutputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) +#define IWMOutputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) +#define IWMOutputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) +/*** IWMOutputMediaProps methods ***/ +#define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetStreamGroupName(This,pwszName,pcchName) +#define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMOutputMediaProps_QueryInterface(IWMOutputMediaProps* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMOutputMediaProps_AddRef(IWMOutputMediaProps* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMOutputMediaProps_Release(IWMOutputMediaProps* This) { + return This->lpVtbl->Release(This); +} +/*** IWMMediaProps methods ***/ +static inline HRESULT IWMOutputMediaProps_GetType(IWMOutputMediaProps* This,GUID *pguidType) { + return This->lpVtbl->GetType(This,pguidType); +} +static inline HRESULT IWMOutputMediaProps_GetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { + return This->lpVtbl->GetMediaType(This,pType,pcbType); +} +static inline HRESULT IWMOutputMediaProps_SetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType) { + return This->lpVtbl->SetMediaType(This,pType); +} +/*** IWMOutputMediaProps methods ***/ +static inline HRESULT IWMOutputMediaProps_GetStreamGroupName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { + return This->lpVtbl->GetStreamGroupName(This,pwszName,pcchName); +} +static inline HRESULT IWMOutputMediaProps_GetConnectionName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { + return This->lpVtbl->GetConnectionName(This,pwszName,pcchName); +} +#endif +#endif + +#endif + + +#endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMMetadataEditor interface + */ +#ifndef __IWMMetadataEditor_INTERFACE_DEFINED__ +#define __IWMMetadataEditor_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd9-2b2b-11d3-b36b-00c04f6108ff") +IWMMetadataEditor : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Open( + const WCHAR *pwszFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Flush( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMMetadataEditorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMMetadataEditor *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMMetadataEditor *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMMetadataEditor *This); + + /*** IWMMetadataEditor methods ***/ + HRESULT (STDMETHODCALLTYPE *Open)( + IWMMetadataEditor *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWMMetadataEditor *This); + + HRESULT (STDMETHODCALLTYPE *Flush)( + IWMMetadataEditor *This); + + END_INTERFACE +} IWMMetadataEditorVtbl; + +interface IWMMetadataEditor { + CONST_VTBL IWMMetadataEditorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMMetadataEditor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMMetadataEditor_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMMetadataEditor_Release(This) (This)->lpVtbl->Release(This) +/*** IWMMetadataEditor methods ***/ +#define IWMMetadataEditor_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename) +#define IWMMetadataEditor_Close(This) (This)->lpVtbl->Close(This) +#define IWMMetadataEditor_Flush(This) (This)->lpVtbl->Flush(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMMetadataEditor_QueryInterface(IWMMetadataEditor* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMMetadataEditor_AddRef(IWMMetadataEditor* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMMetadataEditor_Release(IWMMetadataEditor* This) { + return This->lpVtbl->Release(This); +} +/*** IWMMetadataEditor methods ***/ +static inline HRESULT IWMMetadataEditor_Open(IWMMetadataEditor* This,const WCHAR *pwszFilename) { + return This->lpVtbl->Open(This,pwszFilename); +} +static inline HRESULT IWMMetadataEditor_Close(IWMMetadataEditor* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWMMetadataEditor_Flush(IWMMetadataEditor* This) { + return This->lpVtbl->Flush(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReader interface + */ +#ifndef __IWMReader_INTERFACE_DEFINED__ +#define __IWMReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd6-2b2b-11d3-b36b-00c04f6108ff") +IWMReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Open( + const WCHAR *pwszURL, + IWMReaderCallback *pCallback, + void *pvContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputCount( + DWORD *pcOutputs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputProps( + DWORD dwOutputNum, + IWMOutputMediaProps **ppOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputProps( + DWORD dwOutputNum, + IWMOutputMediaProps *pOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( + DWORD dwOutputNumber, + DWORD *pcFormats) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( + DWORD dwOutputNumber, + DWORD dwFormatNumber, + IWMOutputMediaProps **ppProps) = 0; + + virtual HRESULT STDMETHODCALLTYPE Start( + QWORD cnsStart, + QWORD cnsDuration, + float fRate, + void *pvContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE Stop( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReader *This); + + /*** IWMReader methods ***/ + HRESULT (STDMETHODCALLTYPE *Open)( + IWMReader *This, + const WCHAR *pwszURL, + IWMReaderCallback *pCallback, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWMReader *This); + + HRESULT (STDMETHODCALLTYPE *GetOutputCount)( + IWMReader *This, + DWORD *pcOutputs); + + HRESULT (STDMETHODCALLTYPE *GetOutputProps)( + IWMReader *This, + DWORD dwOutputNum, + IWMOutputMediaProps **ppOutput); + + HRESULT (STDMETHODCALLTYPE *SetOutputProps)( + IWMReader *This, + DWORD dwOutputNum, + IWMOutputMediaProps *pOutput); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)( + IWMReader *This, + DWORD dwOutputNumber, + DWORD *pcFormats); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormat)( + IWMReader *This, + DWORD dwOutputNumber, + DWORD dwFormatNumber, + IWMOutputMediaProps **ppProps); + + HRESULT (STDMETHODCALLTYPE *Start)( + IWMReader *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IWMReader *This); + + HRESULT (STDMETHODCALLTYPE *Pause)( + IWMReader *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IWMReader *This); + + END_INTERFACE +} IWMReaderVtbl; + +interface IWMReader { + CONST_VTBL IWMReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReader methods ***/ +#define IWMReader_Open(This,pwszURL,pCallback,pvContext) (This)->lpVtbl->Open(This,pwszURL,pCallback,pvContext) +#define IWMReader_Close(This) (This)->lpVtbl->Close(This) +#define IWMReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) +#define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput) +#define IWMReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput) +#define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats) +#define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) +#define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext) (This)->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext) +#define IWMReader_Stop(This) (This)->lpVtbl->Stop(This) +#define IWMReader_Pause(This) (This)->lpVtbl->Pause(This) +#define IWMReader_Resume(This) (This)->lpVtbl->Resume(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReader_QueryInterface(IWMReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReader_AddRef(IWMReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReader_Release(IWMReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReader methods ***/ +static inline HRESULT IWMReader_Open(IWMReader* This,const WCHAR *pwszURL,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->Open(This,pwszURL,pCallback,pvContext); +} +static inline HRESULT IWMReader_Close(IWMReader* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWMReader_GetOutputCount(IWMReader* This,DWORD *pcOutputs) { + return This->lpVtbl->GetOutputCount(This,pcOutputs); +} +static inline HRESULT IWMReader_GetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) { + return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput); +} +static inline HRESULT IWMReader_SetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) { + return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput); +} +static inline HRESULT IWMReader_GetOutputFormatCount(IWMReader* This,DWORD dwOutputNumber,DWORD *pcFormats) { + return This->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats); +} +static inline HRESULT IWMReader_GetOutputFormat(IWMReader* This,DWORD dwOutputNumber,DWORD dwFormatNumber,IWMOutputMediaProps **ppProps) { + return This->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps); +} +static inline HRESULT IWMReader_Start(IWMReader* This,QWORD cnsStart,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReader_Stop(IWMReader* This) { + return This->lpVtbl->Stop(This); +} +static inline HRESULT IWMReader_Pause(IWMReader* This) { + return This->lpVtbl->Pause(This); +} +static inline HRESULT IWMReader_Resume(IWMReader* This) { + return This->lpVtbl->Resume(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPlayerHook interface + */ +#ifndef __IWMPlayerHook_INTERFACE_DEFINED__ +#define __IWMPlayerHook_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e5b7ca9a-0f1c-4f66-9002-74ec50d8b304") +IWMPlayerHook : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE PreDecode( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04) +#endif +#else +typedef struct IWMPlayerHookVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPlayerHook *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPlayerHook *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPlayerHook *This); + + /*** IWMPlayerHook methods ***/ + HRESULT (STDMETHODCALLTYPE *PreDecode)( + IWMPlayerHook *This); + + END_INTERFACE +} IWMPlayerHookVtbl; + +interface IWMPlayerHook { + CONST_VTBL IWMPlayerHookVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPlayerHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPlayerHook_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPlayerHook_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPlayerHook methods ***/ +#define IWMPlayerHook_PreDecode(This) (This)->lpVtbl->PreDecode(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPlayerHook_QueryInterface(IWMPlayerHook* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPlayerHook_AddRef(IWMPlayerHook* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPlayerHook_Release(IWMPlayerHook* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPlayerHook methods ***/ +static inline HRESULT IWMPlayerHook_PreDecode(IWMPlayerHook* This) { + return This->lpVtbl->PreDecode(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPlayerHook_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced interface + */ +#ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bea-2b2b-11d3-b36b-00c04f6108ff") +IWMReaderAdvanced : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock( + WINBOOL fUserClock) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock( + WINBOOL *pfUserClock) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeliverTime( + QWORD cnsTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection( + WINBOOL fSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection( + WINBOOL *pfSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks( + WINBOOL fGetCallbacks) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks( + WINBOOL *pfGetCallbacks) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples( + WORD wStreamNum, + WINBOOL fReceiveStreamSamples) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples( + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( + DWORD dwOutputNum, + WINBOOL fAllocate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( + DWORD dwOutputNum, + WINBOOL *pfAllocate) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( + WORD wStreamNum, + WINBOOL fAllocate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( + WORD dwStreamNum, + WINBOOL *pfAllocate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatistics( + WM_READER_STATISTICS *pStatistics) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetClientInfo( + WM_READER_CLIENTINFO *pClientInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( + DWORD dwOutput, + DWORD *pcbMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( + WORD wStream, + DWORD *pcbMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery( + QWORD cnsLateness) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderAdvancedVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced *This, + QWORD cnsLateness); + + END_INTERFACE +} IWMReaderAdvancedVtbl; + +interface IWMReaderAdvanced { + CONST_VTBL IWMReaderAdvancedVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced_QueryInterface(IWMReaderAdvanced* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced_AddRef(IWMReaderAdvanced* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced_Release(IWMReaderAdvanced* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced_DeliverTime(IWMReaderAdvanced* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced_GetStatistics(IWMReaderAdvanced* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced_SetClientInfo(IWMReaderAdvanced* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced2 interface + */ +#ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e") +IWMReaderAdvanced2 : public IWMReaderAdvanced +{ + virtual HRESULT STDMETHODCALLTYPE SetPlayMode( + WMT_PLAY_MODE Mode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPlayMode( + WMT_PLAY_MODE *pMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBufferProgress( + DWORD *pdwPercent, + QWORD *pcnsBuffering) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress( + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress( + DWORD *pdwPercent) = 0; + + virtual HRESULT STDMETHODCALLTYPE SaveFileAs( + const WCHAR *pwszFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProtocolName( + WCHAR *pwszProtocol, + DWORD *pcchProtocol) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartAtMarker( + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE Preroll( + QWORD cnsStart, + QWORD cnsDuration, + float fRate) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLogClientID( + WINBOOL fLogClientID) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLogClientID( + WINBOOL *pfLogClientID) = 0; + + virtual HRESULT STDMETHODCALLTYPE StopBuffering( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenStream( + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e) +#endif +#else +typedef struct IWMReaderAdvanced2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced2 *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced2 *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced2 *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced2 *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced2 *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced2 *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced2 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced2 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced2 *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced2 *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced2 *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced2 *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced2 *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced2 *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced2 *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced2 *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced2 *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced2 *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced2 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced2 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced2 *This, + QWORD cnsLateness); + + /*** IWMReaderAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayMode)( + IWMReaderAdvanced2 *This, + WMT_PLAY_MODE Mode); + + HRESULT (STDMETHODCALLTYPE *GetPlayMode)( + IWMReaderAdvanced2 *This, + WMT_PLAY_MODE *pMode); + + HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( + IWMReaderAdvanced2 *This, + DWORD *pdwPercent, + QWORD *pcnsBuffering); + + HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( + IWMReaderAdvanced2 *This, + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload); + + HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( + IWMReaderAdvanced2 *This, + DWORD *pdwPercent); + + HRESULT (STDMETHODCALLTYPE *SaveFileAs)( + IWMReaderAdvanced2 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetProtocolName)( + IWMReaderAdvanced2 *This, + WCHAR *pwszProtocol, + DWORD *pcchProtocol); + + HRESULT (STDMETHODCALLTYPE *StartAtMarker)( + IWMReaderAdvanced2 *This, + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMReaderAdvanced2 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMReaderAdvanced2 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *Preroll)( + IWMReaderAdvanced2 *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate); + + HRESULT (STDMETHODCALLTYPE *SetLogClientID)( + IWMReaderAdvanced2 *This, + WINBOOL fLogClientID); + + HRESULT (STDMETHODCALLTYPE *GetLogClientID)( + IWMReaderAdvanced2 *This, + WINBOOL *pfLogClientID); + + HRESULT (STDMETHODCALLTYPE *StopBuffering)( + IWMReaderAdvanced2 *This); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMReaderAdvanced2 *This, + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext); + + END_INTERFACE +} IWMReaderAdvanced2Vtbl; + +interface IWMReaderAdvanced2 { + CONST_VTBL IWMReaderAdvanced2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced2_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced2_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced2_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced2_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +/*** IWMReaderAdvanced2 methods ***/ +#define IWMReaderAdvanced2_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) +#define IWMReaderAdvanced2_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) +#define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) +#define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) +#define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) +#define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) +#define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) +#define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) +#define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) +#define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) +#define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) +#define IWMReaderAdvanced2_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) +#define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced2_QueryInterface(IWMReaderAdvanced2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced2_AddRef(IWMReaderAdvanced2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced2_Release(IWMReaderAdvanced2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced2_SetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced2_GetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced2_DeliverTime(IWMReaderAdvanced2* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced2_SetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced2_GetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced2_SetStreamsSelected(IWMReaderAdvanced2* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced2_GetStreamSelected(IWMReaderAdvanced2* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced2_SetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced2_GetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced2_SetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced2_GetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced2_SetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced2_GetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced2_SetAllocateForStream(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced2_GetAllocateForStream(IWMReaderAdvanced2* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced2_GetStatistics(IWMReaderAdvanced2* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced2_SetClientInfo(IWMReaderAdvanced2* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced2_GetMaxOutputSampleSize(IWMReaderAdvanced2* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced2_GetMaxStreamSampleSize(IWMReaderAdvanced2* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced2_NotifyLateDelivery(IWMReaderAdvanced2* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +/*** IWMReaderAdvanced2 methods ***/ +static inline HRESULT IWMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE Mode) { + return This->lpVtbl->SetPlayMode(This,Mode); +} +static inline HRESULT IWMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE *pMode) { + return This->lpVtbl->GetPlayMode(This,pMode); +} +static inline HRESULT IWMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { + return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); +} +static inline HRESULT IWMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { + return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); +} +static inline HRESULT IWMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent) { + return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); +} +static inline HRESULT IWMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced2* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SaveFileAs(This,pwszFilename); +} +static inline HRESULT IWMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced2* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { + return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); +} +static inline HRESULT IWMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced2* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMReaderAdvanced2_Preroll(IWMReaderAdvanced2* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { + return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); +} +static inline HRESULT IWMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced2* This,WINBOOL fLogClientID) { + return This->lpVtbl->SetLogClientID(This,fLogClientID); +} +static inline HRESULT IWMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced2* This,WINBOOL *pfLogClientID) { + return This->lpVtbl->GetLogClientID(This,pfLogClientID); +} +static inline HRESULT IWMReaderAdvanced2_StopBuffering(IWMReaderAdvanced2* This) { + return This->lpVtbl->StopBuffering(This); +} +static inline HRESULT IWMReaderAdvanced2_OpenStream(IWMReaderAdvanced2* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced3 interface + */ +#ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5dc0674b-f04b-4a4e-9f2a-b1afde2c8100") +IWMReaderAdvanced3 : public IWMReaderAdvanced2 +{ + virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartAtPosition( + WORD wStreamNum, + void *pvOffsetStart, + void *pvDuration, + WMT_OFFSET_FORMAT dwOffsetFormat, + float fRate, + void *pvContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00) +#endif +#else +typedef struct IWMReaderAdvanced3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced3 *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced3 *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced3 *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced3 *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced3 *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced3 *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced3 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced3 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced3 *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced3 *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced3 *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced3 *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced3 *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced3 *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced3 *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced3 *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced3 *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced3 *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced3 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced3 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced3 *This, + QWORD cnsLateness); + + /*** IWMReaderAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayMode)( + IWMReaderAdvanced3 *This, + WMT_PLAY_MODE Mode); + + HRESULT (STDMETHODCALLTYPE *GetPlayMode)( + IWMReaderAdvanced3 *This, + WMT_PLAY_MODE *pMode); + + HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( + IWMReaderAdvanced3 *This, + DWORD *pdwPercent, + QWORD *pcnsBuffering); + + HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( + IWMReaderAdvanced3 *This, + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload); + + HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( + IWMReaderAdvanced3 *This, + DWORD *pdwPercent); + + HRESULT (STDMETHODCALLTYPE *SaveFileAs)( + IWMReaderAdvanced3 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetProtocolName)( + IWMReaderAdvanced3 *This, + WCHAR *pwszProtocol, + DWORD *pcchProtocol); + + HRESULT (STDMETHODCALLTYPE *StartAtMarker)( + IWMReaderAdvanced3 *This, + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMReaderAdvanced3 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMReaderAdvanced3 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *Preroll)( + IWMReaderAdvanced3 *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate); + + HRESULT (STDMETHODCALLTYPE *SetLogClientID)( + IWMReaderAdvanced3 *This, + WINBOOL fLogClientID); + + HRESULT (STDMETHODCALLTYPE *GetLogClientID)( + IWMReaderAdvanced3 *This, + WINBOOL *pfLogClientID); + + HRESULT (STDMETHODCALLTYPE *StopBuffering)( + IWMReaderAdvanced3 *This); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMReaderAdvanced3 *This, + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext); + + /*** IWMReaderAdvanced3 methods ***/ + HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( + IWMReaderAdvanced3 *This); + + HRESULT (STDMETHODCALLTYPE *StartAtPosition)( + IWMReaderAdvanced3 *This, + WORD wStreamNum, + void *pvOffsetStart, + void *pvDuration, + WMT_OFFSET_FORMAT dwOffsetFormat, + float fRate, + void *pvContext); + + END_INTERFACE +} IWMReaderAdvanced3Vtbl; + +interface IWMReaderAdvanced3 { + CONST_VTBL IWMReaderAdvanced3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced3_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced3_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced3_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced3_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +/*** IWMReaderAdvanced2 methods ***/ +#define IWMReaderAdvanced3_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) +#define IWMReaderAdvanced3_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) +#define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) +#define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) +#define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) +#define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) +#define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) +#define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) +#define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) +#define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) +#define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) +#define IWMReaderAdvanced3_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) +#define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) +/*** IWMReaderAdvanced3 methods ***/ +#define IWMReaderAdvanced3_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) +#define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced3_QueryInterface(IWMReaderAdvanced3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced3_AddRef(IWMReaderAdvanced3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced3_Release(IWMReaderAdvanced3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced3_SetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced3_GetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced3_DeliverTime(IWMReaderAdvanced3* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced3_SetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced3_GetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced3_SetStreamsSelected(IWMReaderAdvanced3* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced3_GetStreamSelected(IWMReaderAdvanced3* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced3_SetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced3_GetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced3_SetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced3_GetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced3_SetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced3_GetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced3_SetAllocateForStream(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced3_GetAllocateForStream(IWMReaderAdvanced3* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced3_GetStatistics(IWMReaderAdvanced3* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced3_SetClientInfo(IWMReaderAdvanced3* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced3_GetMaxOutputSampleSize(IWMReaderAdvanced3* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced3_GetMaxStreamSampleSize(IWMReaderAdvanced3* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced3_NotifyLateDelivery(IWMReaderAdvanced3* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +/*** IWMReaderAdvanced2 methods ***/ +static inline HRESULT IWMReaderAdvanced3_SetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE Mode) { + return This->lpVtbl->SetPlayMode(This,Mode); +} +static inline HRESULT IWMReaderAdvanced3_GetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE *pMode) { + return This->lpVtbl->GetPlayMode(This,pMode); +} +static inline HRESULT IWMReaderAdvanced3_GetBufferProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { + return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); +} +static inline HRESULT IWMReaderAdvanced3_GetDownloadProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { + return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); +} +static inline HRESULT IWMReaderAdvanced3_GetSaveAsProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent) { + return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); +} +static inline HRESULT IWMReaderAdvanced3_SaveFileAs(IWMReaderAdvanced3* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SaveFileAs(This,pwszFilename); +} +static inline HRESULT IWMReaderAdvanced3_GetProtocolName(IWMReaderAdvanced3* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { + return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); +} +static inline HRESULT IWMReaderAdvanced3_StartAtMarker(IWMReaderAdvanced3* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReaderAdvanced3_GetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMReaderAdvanced3_SetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMReaderAdvanced3_Preroll(IWMReaderAdvanced3* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { + return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); +} +static inline HRESULT IWMReaderAdvanced3_SetLogClientID(IWMReaderAdvanced3* This,WINBOOL fLogClientID) { + return This->lpVtbl->SetLogClientID(This,fLogClientID); +} +static inline HRESULT IWMReaderAdvanced3_GetLogClientID(IWMReaderAdvanced3* This,WINBOOL *pfLogClientID) { + return This->lpVtbl->GetLogClientID(This,pfLogClientID); +} +static inline HRESULT IWMReaderAdvanced3_StopBuffering(IWMReaderAdvanced3* This) { + return This->lpVtbl->StopBuffering(This); +} +static inline HRESULT IWMReaderAdvanced3_OpenStream(IWMReaderAdvanced3* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); +} +/*** IWMReaderAdvanced3 methods ***/ +static inline HRESULT IWMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced3* This) { + return This->lpVtbl->StopNetStreaming(This); +} +static inline HRESULT IWMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced3* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { + return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced4 interface + */ +#ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced4_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("945a76a2-12ae-4d48-bd3c-cd1d90399b85") +IWMReaderAdvanced4 : public IWMReaderAdvanced3 +{ + virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( + DWORD dwOutputNum, + WORD *pwLanguageCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLanguage( + DWORD dwOutputNum, + WORD wLanguage, + WCHAR *pwszLanguageString, + WORD *pcchLanguageStringLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor( + double *pdblFactor) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache( + WINBOOL *pfUsingFastCache) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddLogParam( + LPCWSTR wszNameSpace, + LPCWSTR wszName, + LPCWSTR wszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SendLogParams( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs( + WINBOOL *pfCanSave) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetURL( + WCHAR *pwszURL, + DWORD *pcchURL) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85) +#endif +#else +typedef struct IWMReaderAdvanced4Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced4 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced4 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced4 *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced4 *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced4 *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced4 *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced4 *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced4 *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced4 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced4 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced4 *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced4 *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced4 *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced4 *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced4 *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced4 *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced4 *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced4 *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced4 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced4 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced4 *This, + QWORD cnsLateness); + + /*** IWMReaderAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayMode)( + IWMReaderAdvanced4 *This, + WMT_PLAY_MODE Mode); + + HRESULT (STDMETHODCALLTYPE *GetPlayMode)( + IWMReaderAdvanced4 *This, + WMT_PLAY_MODE *pMode); + + HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( + IWMReaderAdvanced4 *This, + DWORD *pdwPercent, + QWORD *pcnsBuffering); + + HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( + IWMReaderAdvanced4 *This, + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload); + + HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( + IWMReaderAdvanced4 *This, + DWORD *pdwPercent); + + HRESULT (STDMETHODCALLTYPE *SaveFileAs)( + IWMReaderAdvanced4 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetProtocolName)( + IWMReaderAdvanced4 *This, + WCHAR *pwszProtocol, + DWORD *pcchProtocol); + + HRESULT (STDMETHODCALLTYPE *StartAtMarker)( + IWMReaderAdvanced4 *This, + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *Preroll)( + IWMReaderAdvanced4 *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate); + + HRESULT (STDMETHODCALLTYPE *SetLogClientID)( + IWMReaderAdvanced4 *This, + WINBOOL fLogClientID); + + HRESULT (STDMETHODCALLTYPE *GetLogClientID)( + IWMReaderAdvanced4 *This, + WINBOOL *pfLogClientID); + + HRESULT (STDMETHODCALLTYPE *StopBuffering)( + IWMReaderAdvanced4 *This); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMReaderAdvanced4 *This, + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext); + + /*** IWMReaderAdvanced3 methods ***/ + HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( + IWMReaderAdvanced4 *This); + + HRESULT (STDMETHODCALLTYPE *StartAtPosition)( + IWMReaderAdvanced4 *This, + WORD wStreamNum, + void *pvOffsetStart, + void *pvDuration, + WMT_OFFSET_FORMAT dwOffsetFormat, + float fRate, + void *pvContext); + + /*** IWMReaderAdvanced4 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + WORD *pwLanguageCount); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IWMReaderAdvanced4 *This, + DWORD dwOutputNum, + WORD wLanguage, + WCHAR *pwszLanguageString, + WORD *pcchLanguageStringLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( + IWMReaderAdvanced4 *This, + double *pdblFactor); + + HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( + IWMReaderAdvanced4 *This, + WINBOOL *pfUsingFastCache); + + HRESULT (STDMETHODCALLTYPE *AddLogParam)( + IWMReaderAdvanced4 *This, + LPCWSTR wszNameSpace, + LPCWSTR wszName, + LPCWSTR wszValue); + + HRESULT (STDMETHODCALLTYPE *SendLogParams)( + IWMReaderAdvanced4 *This); + + HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( + IWMReaderAdvanced4 *This, + WINBOOL *pfCanSave); + + HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( + IWMReaderAdvanced4 *This); + + HRESULT (STDMETHODCALLTYPE *GetURL)( + IWMReaderAdvanced4 *This, + WCHAR *pwszURL, + DWORD *pcchURL); + + END_INTERFACE +} IWMReaderAdvanced4Vtbl; + +interface IWMReaderAdvanced4 { + CONST_VTBL IWMReaderAdvanced4Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced4_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced4_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced4_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced4_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced4_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced4_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced4_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced4_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced4_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced4_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced4_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced4_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced4_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced4_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced4_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced4_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced4_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced4_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced4_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced4_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced4_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +/*** IWMReaderAdvanced2 methods ***/ +#define IWMReaderAdvanced4_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) +#define IWMReaderAdvanced4_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) +#define IWMReaderAdvanced4_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) +#define IWMReaderAdvanced4_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) +#define IWMReaderAdvanced4_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) +#define IWMReaderAdvanced4_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) +#define IWMReaderAdvanced4_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) +#define IWMReaderAdvanced4_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) +#define IWMReaderAdvanced4_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMReaderAdvanced4_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMReaderAdvanced4_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) +#define IWMReaderAdvanced4_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) +#define IWMReaderAdvanced4_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) +#define IWMReaderAdvanced4_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) +#define IWMReaderAdvanced4_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) +/*** IWMReaderAdvanced3 methods ***/ +#define IWMReaderAdvanced4_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) +#define IWMReaderAdvanced4_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) +/*** IWMReaderAdvanced4 methods ***/ +#define IWMReaderAdvanced4_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) +#define IWMReaderAdvanced4_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) +#define IWMReaderAdvanced4_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) +#define IWMReaderAdvanced4_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) +#define IWMReaderAdvanced4_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) +#define IWMReaderAdvanced4_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) +#define IWMReaderAdvanced4_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) +#define IWMReaderAdvanced4_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) +#define IWMReaderAdvanced4_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced4_QueryInterface(IWMReaderAdvanced4* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced4_AddRef(IWMReaderAdvanced4* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced4_Release(IWMReaderAdvanced4* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced4_SetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced4_GetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced4_DeliverTime(IWMReaderAdvanced4* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced4_SetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced4_GetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced4_SetStreamsSelected(IWMReaderAdvanced4* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced4_GetStreamSelected(IWMReaderAdvanced4* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced4_SetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced4_GetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced4_SetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced4_GetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced4_SetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced4_GetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced4_SetAllocateForStream(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced4_GetAllocateForStream(IWMReaderAdvanced4* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced4_GetStatistics(IWMReaderAdvanced4* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced4_SetClientInfo(IWMReaderAdvanced4* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced4_GetMaxOutputSampleSize(IWMReaderAdvanced4* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced4_GetMaxStreamSampleSize(IWMReaderAdvanced4* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced4_NotifyLateDelivery(IWMReaderAdvanced4* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +/*** IWMReaderAdvanced2 methods ***/ +static inline HRESULT IWMReaderAdvanced4_SetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE Mode) { + return This->lpVtbl->SetPlayMode(This,Mode); +} +static inline HRESULT IWMReaderAdvanced4_GetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE *pMode) { + return This->lpVtbl->GetPlayMode(This,pMode); +} +static inline HRESULT IWMReaderAdvanced4_GetBufferProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { + return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); +} +static inline HRESULT IWMReaderAdvanced4_GetDownloadProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { + return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); +} +static inline HRESULT IWMReaderAdvanced4_GetSaveAsProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent) { + return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); +} +static inline HRESULT IWMReaderAdvanced4_SaveFileAs(IWMReaderAdvanced4* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SaveFileAs(This,pwszFilename); +} +static inline HRESULT IWMReaderAdvanced4_GetProtocolName(IWMReaderAdvanced4* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { + return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); +} +static inline HRESULT IWMReaderAdvanced4_StartAtMarker(IWMReaderAdvanced4* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReaderAdvanced4_GetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMReaderAdvanced4_SetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMReaderAdvanced4_Preroll(IWMReaderAdvanced4* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { + return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); +} +static inline HRESULT IWMReaderAdvanced4_SetLogClientID(IWMReaderAdvanced4* This,WINBOOL fLogClientID) { + return This->lpVtbl->SetLogClientID(This,fLogClientID); +} +static inline HRESULT IWMReaderAdvanced4_GetLogClientID(IWMReaderAdvanced4* This,WINBOOL *pfLogClientID) { + return This->lpVtbl->GetLogClientID(This,pfLogClientID); +} +static inline HRESULT IWMReaderAdvanced4_StopBuffering(IWMReaderAdvanced4* This) { + return This->lpVtbl->StopBuffering(This); +} +static inline HRESULT IWMReaderAdvanced4_OpenStream(IWMReaderAdvanced4* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); +} +/*** IWMReaderAdvanced3 methods ***/ +static inline HRESULT IWMReaderAdvanced4_StopNetStreaming(IWMReaderAdvanced4* This) { + return This->lpVtbl->StopNetStreaming(This); +} +static inline HRESULT IWMReaderAdvanced4_StartAtPosition(IWMReaderAdvanced4* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { + return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); +} +/*** IWMReaderAdvanced4 methods ***/ +static inline HRESULT IWMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD *pwLanguageCount) { + return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); +} +static inline HRESULT IWMReaderAdvanced4_GetLanguage(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { + return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); +} +static inline HRESULT IWMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced4* This,double *pdblFactor) { + return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); +} +static inline HRESULT IWMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced4* This,WINBOOL *pfUsingFastCache) { + return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); +} +static inline HRESULT IWMReaderAdvanced4_AddLogParam(IWMReaderAdvanced4* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { + return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); +} +static inline HRESULT IWMReaderAdvanced4_SendLogParams(IWMReaderAdvanced4* This) { + return This->lpVtbl->SendLogParams(This); +} +static inline HRESULT IWMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced4* This,WINBOOL *pfCanSave) { + return This->lpVtbl->CanSaveFileAs(This,pfCanSave); +} +static inline HRESULT IWMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced4* This) { + return This->lpVtbl->CancelSaveFileAs(This); +} +static inline HRESULT IWMReaderAdvanced4_GetURL(IWMReaderAdvanced4* This,WCHAR *pwszURL,DWORD *pcchURL) { + return This->lpVtbl->GetURL(This,pwszURL,pcchURL); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced5 interface + */ +#ifndef __IWMReaderAdvanced5_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced5_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("24c44db0-55d1-49ae-a5cc-f13815e36363") +IWMReaderAdvanced5 : public IWMReaderAdvanced4 +{ + virtual HRESULT STDMETHODCALLTYPE SetPlayerHook( + DWORD dwOutputNum, + IWMPlayerHook *pHook) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63) +#endif +#else +typedef struct IWMReaderAdvanced5Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced5 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced5 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced5 *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced5 *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced5 *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced5 *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced5 *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced5 *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced5 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced5 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced5 *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced5 *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced5 *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced5 *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced5 *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced5 *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced5 *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced5 *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced5 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced5 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced5 *This, + QWORD cnsLateness); + + /*** IWMReaderAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayMode)( + IWMReaderAdvanced5 *This, + WMT_PLAY_MODE Mode); + + HRESULT (STDMETHODCALLTYPE *GetPlayMode)( + IWMReaderAdvanced5 *This, + WMT_PLAY_MODE *pMode); + + HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( + IWMReaderAdvanced5 *This, + DWORD *pdwPercent, + QWORD *pcnsBuffering); + + HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( + IWMReaderAdvanced5 *This, + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload); + + HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( + IWMReaderAdvanced5 *This, + DWORD *pdwPercent); + + HRESULT (STDMETHODCALLTYPE *SaveFileAs)( + IWMReaderAdvanced5 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetProtocolName)( + IWMReaderAdvanced5 *This, + WCHAR *pwszProtocol, + DWORD *pcchProtocol); + + HRESULT (STDMETHODCALLTYPE *StartAtMarker)( + IWMReaderAdvanced5 *This, + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *Preroll)( + IWMReaderAdvanced5 *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate); + + HRESULT (STDMETHODCALLTYPE *SetLogClientID)( + IWMReaderAdvanced5 *This, + WINBOOL fLogClientID); + + HRESULT (STDMETHODCALLTYPE *GetLogClientID)( + IWMReaderAdvanced5 *This, + WINBOOL *pfLogClientID); + + HRESULT (STDMETHODCALLTYPE *StopBuffering)( + IWMReaderAdvanced5 *This); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMReaderAdvanced5 *This, + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext); + + /*** IWMReaderAdvanced3 methods ***/ + HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( + IWMReaderAdvanced5 *This); + + HRESULT (STDMETHODCALLTYPE *StartAtPosition)( + IWMReaderAdvanced5 *This, + WORD wStreamNum, + void *pvOffsetStart, + void *pvDuration, + WMT_OFFSET_FORMAT dwOffsetFormat, + float fRate, + void *pvContext); + + /*** IWMReaderAdvanced4 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + WORD *pwLanguageCount); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + WORD wLanguage, + WCHAR *pwszLanguageString, + WORD *pcchLanguageStringLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( + IWMReaderAdvanced5 *This, + double *pdblFactor); + + HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( + IWMReaderAdvanced5 *This, + WINBOOL *pfUsingFastCache); + + HRESULT (STDMETHODCALLTYPE *AddLogParam)( + IWMReaderAdvanced5 *This, + LPCWSTR wszNameSpace, + LPCWSTR wszName, + LPCWSTR wszValue); + + HRESULT (STDMETHODCALLTYPE *SendLogParams)( + IWMReaderAdvanced5 *This); + + HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( + IWMReaderAdvanced5 *This, + WINBOOL *pfCanSave); + + HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( + IWMReaderAdvanced5 *This); + + HRESULT (STDMETHODCALLTYPE *GetURL)( + IWMReaderAdvanced5 *This, + WCHAR *pwszURL, + DWORD *pcchURL); + + /*** IWMReaderAdvanced5 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayerHook)( + IWMReaderAdvanced5 *This, + DWORD dwOutputNum, + IWMPlayerHook *pHook); + + END_INTERFACE +} IWMReaderAdvanced5Vtbl; + +interface IWMReaderAdvanced5 { + CONST_VTBL IWMReaderAdvanced5Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced5_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced5_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced5_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced5_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced5_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced5_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced5_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced5_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced5_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced5_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced5_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced5_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced5_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced5_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced5_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced5_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced5_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced5_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced5_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced5_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced5_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced5_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +/*** IWMReaderAdvanced2 methods ***/ +#define IWMReaderAdvanced5_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) +#define IWMReaderAdvanced5_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) +#define IWMReaderAdvanced5_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) +#define IWMReaderAdvanced5_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) +#define IWMReaderAdvanced5_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) +#define IWMReaderAdvanced5_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) +#define IWMReaderAdvanced5_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) +#define IWMReaderAdvanced5_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) +#define IWMReaderAdvanced5_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMReaderAdvanced5_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMReaderAdvanced5_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) +#define IWMReaderAdvanced5_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) +#define IWMReaderAdvanced5_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) +#define IWMReaderAdvanced5_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) +#define IWMReaderAdvanced5_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) +/*** IWMReaderAdvanced3 methods ***/ +#define IWMReaderAdvanced5_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) +#define IWMReaderAdvanced5_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) +/*** IWMReaderAdvanced4 methods ***/ +#define IWMReaderAdvanced5_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) +#define IWMReaderAdvanced5_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) +#define IWMReaderAdvanced5_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) +#define IWMReaderAdvanced5_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) +#define IWMReaderAdvanced5_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) +#define IWMReaderAdvanced5_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) +#define IWMReaderAdvanced5_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) +#define IWMReaderAdvanced5_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) +#define IWMReaderAdvanced5_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) +/*** IWMReaderAdvanced5 methods ***/ +#define IWMReaderAdvanced5_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced5_QueryInterface(IWMReaderAdvanced5* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced5_AddRef(IWMReaderAdvanced5* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced5_Release(IWMReaderAdvanced5* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced5_SetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced5_GetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced5_DeliverTime(IWMReaderAdvanced5* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced5_SetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced5_GetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced5_SetStreamsSelected(IWMReaderAdvanced5* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced5_GetStreamSelected(IWMReaderAdvanced5* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced5_SetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced5_GetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced5_SetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced5_GetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced5_SetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced5_GetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced5_SetAllocateForStream(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced5_GetAllocateForStream(IWMReaderAdvanced5* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced5_GetStatistics(IWMReaderAdvanced5* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced5_SetClientInfo(IWMReaderAdvanced5* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced5_GetMaxOutputSampleSize(IWMReaderAdvanced5* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced5_GetMaxStreamSampleSize(IWMReaderAdvanced5* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced5_NotifyLateDelivery(IWMReaderAdvanced5* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +/*** IWMReaderAdvanced2 methods ***/ +static inline HRESULT IWMReaderAdvanced5_SetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE Mode) { + return This->lpVtbl->SetPlayMode(This,Mode); +} +static inline HRESULT IWMReaderAdvanced5_GetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE *pMode) { + return This->lpVtbl->GetPlayMode(This,pMode); +} +static inline HRESULT IWMReaderAdvanced5_GetBufferProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { + return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); +} +static inline HRESULT IWMReaderAdvanced5_GetDownloadProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { + return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); +} +static inline HRESULT IWMReaderAdvanced5_GetSaveAsProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent) { + return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); +} +static inline HRESULT IWMReaderAdvanced5_SaveFileAs(IWMReaderAdvanced5* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SaveFileAs(This,pwszFilename); +} +static inline HRESULT IWMReaderAdvanced5_GetProtocolName(IWMReaderAdvanced5* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { + return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); +} +static inline HRESULT IWMReaderAdvanced5_StartAtMarker(IWMReaderAdvanced5* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReaderAdvanced5_GetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMReaderAdvanced5_SetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMReaderAdvanced5_Preroll(IWMReaderAdvanced5* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { + return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); +} +static inline HRESULT IWMReaderAdvanced5_SetLogClientID(IWMReaderAdvanced5* This,WINBOOL fLogClientID) { + return This->lpVtbl->SetLogClientID(This,fLogClientID); +} +static inline HRESULT IWMReaderAdvanced5_GetLogClientID(IWMReaderAdvanced5* This,WINBOOL *pfLogClientID) { + return This->lpVtbl->GetLogClientID(This,pfLogClientID); +} +static inline HRESULT IWMReaderAdvanced5_StopBuffering(IWMReaderAdvanced5* This) { + return This->lpVtbl->StopBuffering(This); +} +static inline HRESULT IWMReaderAdvanced5_OpenStream(IWMReaderAdvanced5* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); +} +/*** IWMReaderAdvanced3 methods ***/ +static inline HRESULT IWMReaderAdvanced5_StopNetStreaming(IWMReaderAdvanced5* This) { + return This->lpVtbl->StopNetStreaming(This); +} +static inline HRESULT IWMReaderAdvanced5_StartAtPosition(IWMReaderAdvanced5* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { + return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); +} +/*** IWMReaderAdvanced4 methods ***/ +static inline HRESULT IWMReaderAdvanced5_GetLanguageCount(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD *pwLanguageCount) { + return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); +} +static inline HRESULT IWMReaderAdvanced5_GetLanguage(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { + return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); +} +static inline HRESULT IWMReaderAdvanced5_GetMaxSpeedFactor(IWMReaderAdvanced5* This,double *pdblFactor) { + return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); +} +static inline HRESULT IWMReaderAdvanced5_IsUsingFastCache(IWMReaderAdvanced5* This,WINBOOL *pfUsingFastCache) { + return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); +} +static inline HRESULT IWMReaderAdvanced5_AddLogParam(IWMReaderAdvanced5* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { + return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); +} +static inline HRESULT IWMReaderAdvanced5_SendLogParams(IWMReaderAdvanced5* This) { + return This->lpVtbl->SendLogParams(This); +} +static inline HRESULT IWMReaderAdvanced5_CanSaveFileAs(IWMReaderAdvanced5* This,WINBOOL *pfCanSave) { + return This->lpVtbl->CanSaveFileAs(This,pfCanSave); +} +static inline HRESULT IWMReaderAdvanced5_CancelSaveFileAs(IWMReaderAdvanced5* This) { + return This->lpVtbl->CancelSaveFileAs(This); +} +static inline HRESULT IWMReaderAdvanced5_GetURL(IWMReaderAdvanced5* This,WCHAR *pwszURL,DWORD *pcchURL) { + return This->lpVtbl->GetURL(This,pwszURL,pcchURL); +} +/*** IWMReaderAdvanced5 methods ***/ +static inline HRESULT IWMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced5* This,DWORD dwOutputNum,IWMPlayerHook *pHook) { + return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced5_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAdvanced6 interface + */ +#ifndef __IWMReaderAdvanced6_INTERFACE_DEFINED__ +#define __IWMReaderAdvanced6_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("18a2e7f8-428f-4acd-8a00-e64639bc93de") +IWMReaderAdvanced6 : public IWMReaderAdvanced5 +{ + virtual HRESULT STDMETHODCALLTYPE SetProtectStreamSamples( + BYTE *pbCertificate, + DWORD cbCertificate, + DWORD dwCertificateType, + DWORD dwFlags, + BYTE *pbInitializationVector, + DWORD *pcbInitializationVector) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde) +#endif +#else +typedef struct IWMReaderAdvanced6Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAdvanced6 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAdvanced6 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAdvanced6 *This); + + /*** IWMReaderAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)( + IWMReaderAdvanced6 *This, + WINBOOL fUserClock); + + HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)( + IWMReaderAdvanced6 *This, + WINBOOL *pfUserClock); + + HRESULT (STDMETHODCALLTYPE *DeliverTime)( + IWMReaderAdvanced6 *This, + QWORD cnsTime); + + HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)( + IWMReaderAdvanced6 *This, + WINBOOL fSelection); + + HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)( + IWMReaderAdvanced6 *This, + WINBOOL *pfSelection); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMReaderAdvanced6 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMReaderAdvanced6 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)( + IWMReaderAdvanced6 *This, + WINBOOL fGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)( + IWMReaderAdvanced6 *This, + WINBOOL *pfGetCallbacks); + + HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)( + IWMReaderAdvanced6 *This, + WORD wStreamNum, + WINBOOL fReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)( + IWMReaderAdvanced6 *This, + WORD wStreamNum, + WINBOOL *pfReceiveStreamSamples); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMReaderAdvanced6 *This, + WORD wStreamNum, + WINBOOL fAllocate); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMReaderAdvanced6 *This, + WORD dwStreamNum, + WINBOOL *pfAllocate); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMReaderAdvanced6 *This, + WM_READER_STATISTICS *pStatistics); + + HRESULT (STDMETHODCALLTYPE *SetClientInfo)( + IWMReaderAdvanced6 *This, + WM_READER_CLIENTINFO *pClientInfo); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMReaderAdvanced6 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMReaderAdvanced6 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)( + IWMReaderAdvanced6 *This, + QWORD cnsLateness); + + /*** IWMReaderAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayMode)( + IWMReaderAdvanced6 *This, + WMT_PLAY_MODE Mode); + + HRESULT (STDMETHODCALLTYPE *GetPlayMode)( + IWMReaderAdvanced6 *This, + WMT_PLAY_MODE *pMode); + + HRESULT (STDMETHODCALLTYPE *GetBufferProgress)( + IWMReaderAdvanced6 *This, + DWORD *pdwPercent, + QWORD *pcnsBuffering); + + HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)( + IWMReaderAdvanced6 *This, + DWORD *pdwPercent, + QWORD *pqwBytesDownloaded, + QWORD *pcnsDownload); + + HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)( + IWMReaderAdvanced6 *This, + DWORD *pdwPercent); + + HRESULT (STDMETHODCALLTYPE *SaveFileAs)( + IWMReaderAdvanced6 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetProtocolName)( + IWMReaderAdvanced6 *This, + WCHAR *pwszProtocol, + DWORD *pcchProtocol); + + HRESULT (STDMETHODCALLTYPE *StartAtMarker)( + IWMReaderAdvanced6 *This, + WORD wMarkerIndex, + QWORD cnsDuration, + float fRate, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *Preroll)( + IWMReaderAdvanced6 *This, + QWORD cnsStart, + QWORD cnsDuration, + float fRate); + + HRESULT (STDMETHODCALLTYPE *SetLogClientID)( + IWMReaderAdvanced6 *This, + WINBOOL fLogClientID); + + HRESULT (STDMETHODCALLTYPE *GetLogClientID)( + IWMReaderAdvanced6 *This, + WINBOOL *pfLogClientID); + + HRESULT (STDMETHODCALLTYPE *StopBuffering)( + IWMReaderAdvanced6 *This); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMReaderAdvanced6 *This, + IStream *pStream, + IWMReaderCallback *pCallback, + void *pvContext); + + /*** IWMReaderAdvanced3 methods ***/ + HRESULT (STDMETHODCALLTYPE *StopNetStreaming)( + IWMReaderAdvanced6 *This); + + HRESULT (STDMETHODCALLTYPE *StartAtPosition)( + IWMReaderAdvanced6 *This, + WORD wStreamNum, + void *pvOffsetStart, + void *pvDuration, + WMT_OFFSET_FORMAT dwOffsetFormat, + float fRate, + void *pvContext); + + /*** IWMReaderAdvanced4 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + WORD *pwLanguageCount); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + WORD wLanguage, + WCHAR *pwszLanguageString, + WORD *pcchLanguageStringLength); + + HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)( + IWMReaderAdvanced6 *This, + double *pdblFactor); + + HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)( + IWMReaderAdvanced6 *This, + WINBOOL *pfUsingFastCache); + + HRESULT (STDMETHODCALLTYPE *AddLogParam)( + IWMReaderAdvanced6 *This, + LPCWSTR wszNameSpace, + LPCWSTR wszName, + LPCWSTR wszValue); + + HRESULT (STDMETHODCALLTYPE *SendLogParams)( + IWMReaderAdvanced6 *This); + + HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)( + IWMReaderAdvanced6 *This, + WINBOOL *pfCanSave); + + HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)( + IWMReaderAdvanced6 *This); + + HRESULT (STDMETHODCALLTYPE *GetURL)( + IWMReaderAdvanced6 *This, + WCHAR *pwszURL, + DWORD *pcchURL); + + /*** IWMReaderAdvanced5 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetPlayerHook)( + IWMReaderAdvanced6 *This, + DWORD dwOutputNum, + IWMPlayerHook *pHook); + + /*** IWMReaderAdvanced6 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetProtectStreamSamples)( + IWMReaderAdvanced6 *This, + BYTE *pbCertificate, + DWORD cbCertificate, + DWORD dwCertificateType, + DWORD dwFlags, + BYTE *pbInitializationVector, + DWORD *pcbInitializationVector); + + END_INTERFACE +} IWMReaderAdvanced6Vtbl; + +interface IWMReaderAdvanced6 { + CONST_VTBL IWMReaderAdvanced6Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAdvanced6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAdvanced6_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAdvanced6_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAdvanced methods ***/ +#define IWMReaderAdvanced6_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock) +#define IWMReaderAdvanced6_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock) +#define IWMReaderAdvanced6_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime) +#define IWMReaderAdvanced6_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection) +#define IWMReaderAdvanced6_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection) +#define IWMReaderAdvanced6_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMReaderAdvanced6_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMReaderAdvanced6_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks) +#define IWMReaderAdvanced6_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks) +#define IWMReaderAdvanced6_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) +#define IWMReaderAdvanced6_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) +#define IWMReaderAdvanced6_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate) +#define IWMReaderAdvanced6_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate) +#define IWMReaderAdvanced6_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate) +#define IWMReaderAdvanced6_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate) +#define IWMReaderAdvanced6_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics) +#define IWMReaderAdvanced6_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo) +#define IWMReaderAdvanced6_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMReaderAdvanced6_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMReaderAdvanced6_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness) +/*** IWMReaderAdvanced2 methods ***/ +#define IWMReaderAdvanced6_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode) +#define IWMReaderAdvanced6_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode) +#define IWMReaderAdvanced6_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering) +#define IWMReaderAdvanced6_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) +#define IWMReaderAdvanced6_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent) +#define IWMReaderAdvanced6_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename) +#define IWMReaderAdvanced6_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol) +#define IWMReaderAdvanced6_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) +#define IWMReaderAdvanced6_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMReaderAdvanced6_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMReaderAdvanced6_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate) +#define IWMReaderAdvanced6_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID) +#define IWMReaderAdvanced6_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID) +#define IWMReaderAdvanced6_StopBuffering(This) (This)->lpVtbl->StopBuffering(This) +#define IWMReaderAdvanced6_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext) +/*** IWMReaderAdvanced3 methods ***/ +#define IWMReaderAdvanced6_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This) +#define IWMReaderAdvanced6_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) +/*** IWMReaderAdvanced4 methods ***/ +#define IWMReaderAdvanced6_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount) +#define IWMReaderAdvanced6_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) +#define IWMReaderAdvanced6_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor) +#define IWMReaderAdvanced6_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache) +#define IWMReaderAdvanced6_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue) +#define IWMReaderAdvanced6_SendLogParams(This) (This)->lpVtbl->SendLogParams(This) +#define IWMReaderAdvanced6_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave) +#define IWMReaderAdvanced6_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This) +#define IWMReaderAdvanced6_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL) +/*** IWMReaderAdvanced5 methods ***/ +#define IWMReaderAdvanced6_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook) +/*** IWMReaderAdvanced6 methods ***/ +#define IWMReaderAdvanced6_SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) (This)->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAdvanced6_QueryInterface(IWMReaderAdvanced6* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAdvanced6_AddRef(IWMReaderAdvanced6* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAdvanced6_Release(IWMReaderAdvanced6* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAdvanced methods ***/ +static inline HRESULT IWMReaderAdvanced6_SetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL fUserClock) { + return This->lpVtbl->SetUserProvidedClock(This,fUserClock); +} +static inline HRESULT IWMReaderAdvanced6_GetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL *pfUserClock) { + return This->lpVtbl->GetUserProvidedClock(This,pfUserClock); +} +static inline HRESULT IWMReaderAdvanced6_DeliverTime(IWMReaderAdvanced6* This,QWORD cnsTime) { + return This->lpVtbl->DeliverTime(This,cnsTime); +} +static inline HRESULT IWMReaderAdvanced6_SetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL fSelection) { + return This->lpVtbl->SetManualStreamSelection(This,fSelection); +} +static inline HRESULT IWMReaderAdvanced6_GetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL *pfSelection) { + return This->lpVtbl->GetManualStreamSelection(This,pfSelection); +} +static inline HRESULT IWMReaderAdvanced6_SetStreamsSelected(IWMReaderAdvanced6* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMReaderAdvanced6_GetStreamSelected(IWMReaderAdvanced6* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMReaderAdvanced6_SetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL fGetCallbacks) { + return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced6_GetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL *pfGetCallbacks) { + return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks); +} +static inline HRESULT IWMReaderAdvanced6_SetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) { + return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced6_GetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) { + return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples); +} +static inline HRESULT IWMReaderAdvanced6_SetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced6_GetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced6_SetAllocateForStream(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fAllocate) { + return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate); +} +static inline HRESULT IWMReaderAdvanced6_GetAllocateForStream(IWMReaderAdvanced6* This,WORD dwStreamNum,WINBOOL *pfAllocate) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate); +} +static inline HRESULT IWMReaderAdvanced6_GetStatistics(IWMReaderAdvanced6* This,WM_READER_STATISTICS *pStatistics) { + return This->lpVtbl->GetStatistics(This,pStatistics); +} +static inline HRESULT IWMReaderAdvanced6_SetClientInfo(IWMReaderAdvanced6* This,WM_READER_CLIENTINFO *pClientInfo) { + return This->lpVtbl->SetClientInfo(This,pClientInfo); +} +static inline HRESULT IWMReaderAdvanced6_GetMaxOutputSampleSize(IWMReaderAdvanced6* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMReaderAdvanced6_GetMaxStreamSampleSize(IWMReaderAdvanced6* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMReaderAdvanced6_NotifyLateDelivery(IWMReaderAdvanced6* This,QWORD cnsLateness) { + return This->lpVtbl->NotifyLateDelivery(This,cnsLateness); +} +/*** IWMReaderAdvanced2 methods ***/ +static inline HRESULT IWMReaderAdvanced6_SetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE Mode) { + return This->lpVtbl->SetPlayMode(This,Mode); +} +static inline HRESULT IWMReaderAdvanced6_GetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE *pMode) { + return This->lpVtbl->GetPlayMode(This,pMode); +} +static inline HRESULT IWMReaderAdvanced6_GetBufferProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pcnsBuffering) { + return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering); +} +static inline HRESULT IWMReaderAdvanced6_GetDownloadProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) { + return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload); +} +static inline HRESULT IWMReaderAdvanced6_GetSaveAsProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent) { + return This->lpVtbl->GetSaveAsProgress(This,pdwPercent); +} +static inline HRESULT IWMReaderAdvanced6_SaveFileAs(IWMReaderAdvanced6* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SaveFileAs(This,pwszFilename); +} +static inline HRESULT IWMReaderAdvanced6_GetProtocolName(IWMReaderAdvanced6* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) { + return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol); +} +static inline HRESULT IWMReaderAdvanced6_StartAtMarker(IWMReaderAdvanced6* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) { + return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext); +} +static inline HRESULT IWMReaderAdvanced6_GetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMReaderAdvanced6_SetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMReaderAdvanced6_Preroll(IWMReaderAdvanced6* This,QWORD cnsStart,QWORD cnsDuration,float fRate) { + return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate); +} +static inline HRESULT IWMReaderAdvanced6_SetLogClientID(IWMReaderAdvanced6* This,WINBOOL fLogClientID) { + return This->lpVtbl->SetLogClientID(This,fLogClientID); +} +static inline HRESULT IWMReaderAdvanced6_GetLogClientID(IWMReaderAdvanced6* This,WINBOOL *pfLogClientID) { + return This->lpVtbl->GetLogClientID(This,pfLogClientID); +} +static inline HRESULT IWMReaderAdvanced6_StopBuffering(IWMReaderAdvanced6* This) { + return This->lpVtbl->StopBuffering(This); +} +static inline HRESULT IWMReaderAdvanced6_OpenStream(IWMReaderAdvanced6* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) { + return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext); +} +/*** IWMReaderAdvanced3 methods ***/ +static inline HRESULT IWMReaderAdvanced6_StopNetStreaming(IWMReaderAdvanced6* This) { + return This->lpVtbl->StopNetStreaming(This); +} +static inline HRESULT IWMReaderAdvanced6_StartAtPosition(IWMReaderAdvanced6* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) { + return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext); +} +/*** IWMReaderAdvanced4 methods ***/ +static inline HRESULT IWMReaderAdvanced6_GetLanguageCount(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD *pwLanguageCount) { + return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount); +} +static inline HRESULT IWMReaderAdvanced6_GetLanguage(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) { + return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength); +} +static inline HRESULT IWMReaderAdvanced6_GetMaxSpeedFactor(IWMReaderAdvanced6* This,double *pdblFactor) { + return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor); +} +static inline HRESULT IWMReaderAdvanced6_IsUsingFastCache(IWMReaderAdvanced6* This,WINBOOL *pfUsingFastCache) { + return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache); +} +static inline HRESULT IWMReaderAdvanced6_AddLogParam(IWMReaderAdvanced6* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) { + return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue); +} +static inline HRESULT IWMReaderAdvanced6_SendLogParams(IWMReaderAdvanced6* This) { + return This->lpVtbl->SendLogParams(This); +} +static inline HRESULT IWMReaderAdvanced6_CanSaveFileAs(IWMReaderAdvanced6* This,WINBOOL *pfCanSave) { + return This->lpVtbl->CanSaveFileAs(This,pfCanSave); +} +static inline HRESULT IWMReaderAdvanced6_CancelSaveFileAs(IWMReaderAdvanced6* This) { + return This->lpVtbl->CancelSaveFileAs(This); +} +static inline HRESULT IWMReaderAdvanced6_GetURL(IWMReaderAdvanced6* This,WCHAR *pwszURL,DWORD *pcchURL) { + return This->lpVtbl->GetURL(This,pwszURL,pcchURL); +} +/*** IWMReaderAdvanced5 methods ***/ +static inline HRESULT IWMReaderAdvanced6_SetPlayerHook(IWMReaderAdvanced6* This,DWORD dwOutputNum,IWMPlayerHook *pHook) { + return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook); +} +/*** IWMReaderAdvanced6 methods ***/ +static inline HRESULT IWMReaderAdvanced6_SetProtectStreamSamples(IWMReaderAdvanced6* This,BYTE *pbCertificate,DWORD cbCertificate,DWORD dwCertificateType,DWORD dwFlags,BYTE *pbInitializationVector,DWORD *pcbInitializationVector) { + return This->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAdvanced6_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMSyncReader interface + */ +#ifndef __IWMSyncReader_INTERFACE_DEFINED__ +#define __IWMSyncReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9397f121-7705-4dc9-b049-98b698188414") +IWMSyncReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Open( + const WCHAR *pwszFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRange( + QWORD cnsStartTime, + LONGLONG cnsDuration) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRangeByFrame( + WORD wStreamNum, + QWORD qwFrameNumber, + LONGLONG cFramesToRead) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNextSample( + WORD wStreamNum, + INSSBuffer **ppSample, + QWORD *pcnsSampleTime, + QWORD *pcnsDuration, + DWORD *pdwFlags, + DWORD *pdwOutputNum, + WORD *pwStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetReadStreamSamples( + WORD wStreamNum, + WINBOOL fCompressed) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetReadStreamSamples( + WORD wStreamNum, + WINBOOL *pfCompressed) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputCount( + DWORD *pcOutputs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputProps( + DWORD dwOutputNum, + IWMOutputMediaProps **ppOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputProps( + DWORD dwOutputNum, + IWMOutputMediaProps *pOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( + DWORD dwOutputNum, + DWORD *pcFormats) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( + DWORD dwOutputNum, + DWORD dwFormatNum, + IWMOutputMediaProps **ppProps) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutputNumberForStream( + WORD wStreamNum, + DWORD *pdwOutputNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStreamNumberForOutput( + DWORD dwOutputNum, + WORD *pwStreamNum) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( + DWORD dwOutput, + DWORD *pcbMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( + WORD wStream, + DWORD *pcbMax) = 0; + + virtual HRESULT STDMETHODCALLTYPE OpenStream( + IStream *pStream) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14) +#endif +#else +typedef struct IWMSyncReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMSyncReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMSyncReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMSyncReader *This); + + /*** IWMSyncReader methods ***/ + HRESULT (STDMETHODCALLTYPE *Open)( + IWMSyncReader *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWMSyncReader *This); + + HRESULT (STDMETHODCALLTYPE *SetRange)( + IWMSyncReader *This, + QWORD cnsStartTime, + LONGLONG cnsDuration); + + HRESULT (STDMETHODCALLTYPE *SetRangeByFrame)( + IWMSyncReader *This, + WORD wStreamNum, + QWORD qwFrameNumber, + LONGLONG cFramesToRead); + + HRESULT (STDMETHODCALLTYPE *GetNextSample)( + IWMSyncReader *This, + WORD wStreamNum, + INSSBuffer **ppSample, + QWORD *pcnsSampleTime, + QWORD *pcnsDuration, + DWORD *pdwFlags, + DWORD *pdwOutputNum, + WORD *pwStreamNum); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMSyncReader *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMSyncReader *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReadStreamSamples)( + IWMSyncReader *This, + WORD wStreamNum, + WINBOOL fCompressed); + + HRESULT (STDMETHODCALLTYPE *GetReadStreamSamples)( + IWMSyncReader *This, + WORD wStreamNum, + WINBOOL *pfCompressed); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMSyncReader *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMSyncReader *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *GetOutputCount)( + IWMSyncReader *This, + DWORD *pcOutputs); + + HRESULT (STDMETHODCALLTYPE *GetOutputProps)( + IWMSyncReader *This, + DWORD dwOutputNum, + IWMOutputMediaProps **ppOutput); + + HRESULT (STDMETHODCALLTYPE *SetOutputProps)( + IWMSyncReader *This, + DWORD dwOutputNum, + IWMOutputMediaProps *pOutput); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)( + IWMSyncReader *This, + DWORD dwOutputNum, + DWORD *pcFormats); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormat)( + IWMSyncReader *This, + DWORD dwOutputNum, + DWORD dwFormatNum, + IWMOutputMediaProps **ppProps); + + HRESULT (STDMETHODCALLTYPE *GetOutputNumberForStream)( + IWMSyncReader *This, + WORD wStreamNum, + DWORD *pdwOutputNum); + + HRESULT (STDMETHODCALLTYPE *GetStreamNumberForOutput)( + IWMSyncReader *This, + DWORD dwOutputNum, + WORD *pwStreamNum); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMSyncReader *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMSyncReader *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMSyncReader *This, + IStream *pStream); + + END_INTERFACE +} IWMSyncReaderVtbl; + +interface IWMSyncReader { + CONST_VTBL IWMSyncReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMSyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMSyncReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMSyncReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWMSyncReader methods ***/ +#define IWMSyncReader_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename) +#define IWMSyncReader_Close(This) (This)->lpVtbl->Close(This) +#define IWMSyncReader_SetRange(This,cnsStartTime,cnsDuration) (This)->lpVtbl->SetRange(This,cnsStartTime,cnsDuration) +#define IWMSyncReader_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) (This)->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) +#define IWMSyncReader_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) (This)->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) +#define IWMSyncReader_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMSyncReader_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMSyncReader_SetReadStreamSamples(This,wStreamNum,fCompressed) (This)->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed) +#define IWMSyncReader_GetReadStreamSamples(This,wStreamNum,pfCompressed) (This)->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed) +#define IWMSyncReader_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMSyncReader_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMSyncReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) +#define IWMSyncReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput) +#define IWMSyncReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput) +#define IWMSyncReader_GetOutputFormatCount(This,dwOutputNum,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats) +#define IWMSyncReader_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) +#define IWMSyncReader_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) (This)->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) +#define IWMSyncReader_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) (This)->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) +#define IWMSyncReader_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMSyncReader_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMSyncReader_OpenStream(This,pStream) (This)->lpVtbl->OpenStream(This,pStream) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMSyncReader_QueryInterface(IWMSyncReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMSyncReader_AddRef(IWMSyncReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMSyncReader_Release(IWMSyncReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWMSyncReader methods ***/ +static inline HRESULT IWMSyncReader_Open(IWMSyncReader* This,const WCHAR *pwszFilename) { + return This->lpVtbl->Open(This,pwszFilename); +} +static inline HRESULT IWMSyncReader_Close(IWMSyncReader* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWMSyncReader_SetRange(IWMSyncReader* This,QWORD cnsStartTime,LONGLONG cnsDuration) { + return This->lpVtbl->SetRange(This,cnsStartTime,cnsDuration); +} +static inline HRESULT IWMSyncReader_SetRangeByFrame(IWMSyncReader* This,WORD wStreamNum,QWORD qwFrameNumber,LONGLONG cFramesToRead) { + return This->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead); +} +static inline HRESULT IWMSyncReader_GetNextSample(IWMSyncReader* This,WORD wStreamNum,INSSBuffer **ppSample,QWORD *pcnsSampleTime,QWORD *pcnsDuration,DWORD *pdwFlags,DWORD *pdwOutputNum,WORD *pwStreamNum) { + return This->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum); +} +static inline HRESULT IWMSyncReader_SetStreamsSelected(IWMSyncReader* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMSyncReader_GetStreamSelected(IWMSyncReader* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMSyncReader_SetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL fCompressed) { + return This->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed); +} +static inline HRESULT IWMSyncReader_GetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL *pfCompressed) { + return This->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed); +} +static inline HRESULT IWMSyncReader_GetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMSyncReader_SetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMSyncReader_GetOutputCount(IWMSyncReader* This,DWORD *pcOutputs) { + return This->lpVtbl->GetOutputCount(This,pcOutputs); +} +static inline HRESULT IWMSyncReader_GetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) { + return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput); +} +static inline HRESULT IWMSyncReader_SetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) { + return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput); +} +static inline HRESULT IWMSyncReader_GetOutputFormatCount(IWMSyncReader* This,DWORD dwOutputNum,DWORD *pcFormats) { + return This->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats); +} +static inline HRESULT IWMSyncReader_GetOutputFormat(IWMSyncReader* This,DWORD dwOutputNum,DWORD dwFormatNum,IWMOutputMediaProps **ppProps) { + return This->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps); +} +static inline HRESULT IWMSyncReader_GetOutputNumberForStream(IWMSyncReader* This,WORD wStreamNum,DWORD *pdwOutputNum) { + return This->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum); +} +static inline HRESULT IWMSyncReader_GetStreamNumberForOutput(IWMSyncReader* This,DWORD dwOutputNum,WORD *pwStreamNum) { + return This->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum); +} +static inline HRESULT IWMSyncReader_GetMaxOutputSampleSize(IWMSyncReader* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMSyncReader_GetMaxStreamSampleSize(IWMSyncReader* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMSyncReader_OpenStream(IWMSyncReader* This,IStream *pStream) { + return This->lpVtbl->OpenStream(This,pStream); +} +#endif +#endif + +#endif + + +#endif /* __IWMSyncReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAllocatorEx interface + */ +#ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__ +#define __IWMReaderAllocatorEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAllocatorEx, 0x9f762fa7, 0xa22e, 0x428d, 0x93,0xc9, 0xac,0x82,0xf3,0xaa,0xfe,0x5a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9f762fa7-a22e-428d-93c9-ac82f3aafe5a") +IWMReaderAllocatorEx : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx( + WORD wStreamNum, + DWORD cbBuffer, + INSSBuffer **ppBuffer, + DWORD dwFlags, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + void *pvContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx( + DWORD output, + DWORD cbBuffer, + INSSBuffer **ppBuffer, + DWORD dwFlags, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + void *pvContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAllocatorEx, 0x9f762fa7, 0xa22e, 0x428d, 0x93,0xc9, 0xac,0x82,0xf3,0xaa,0xfe,0x5a) +#endif +#else +typedef struct IWMReaderAllocatorExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAllocatorEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAllocatorEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAllocatorEx *This); + + /*** IWMReaderAllocatorEx methods ***/ + HRESULT (STDMETHODCALLTYPE *AllocateForStreamEx)( + IWMReaderAllocatorEx *This, + WORD wStreamNum, + DWORD cbBuffer, + INSSBuffer **ppBuffer, + DWORD dwFlags, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + void *pvContext); + + HRESULT (STDMETHODCALLTYPE *AllocateForOutputEx)( + IWMReaderAllocatorEx *This, + DWORD output, + DWORD cbBuffer, + INSSBuffer **ppBuffer, + DWORD dwFlags, + QWORD cnsSampleTime, + QWORD cnsSampleDuration, + void *pvContext); + + END_INTERFACE +} IWMReaderAllocatorExVtbl; + +interface IWMReaderAllocatorEx { + CONST_VTBL IWMReaderAllocatorExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAllocatorEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAllocatorEx_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAllocatorEx methods ***/ +#define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) +#define IWMReaderAllocatorEx_AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) (This)->lpVtbl->AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAllocatorEx_QueryInterface(IWMReaderAllocatorEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAllocatorEx_AddRef(IWMReaderAllocatorEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAllocatorEx_Release(IWMReaderAllocatorEx* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAllocatorEx methods ***/ +static inline HRESULT IWMReaderAllocatorEx_AllocateForStreamEx(IWMReaderAllocatorEx* This,WORD wStreamNum,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) { + return This->lpVtbl->AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext); +} +static inline HRESULT IWMReaderAllocatorEx_AllocateForOutputEx(IWMReaderAllocatorEx* This,DWORD output,DWORD cbBuffer,INSSBuffer **ppBuffer,DWORD dwFlags,QWORD cnsSampleTime,QWORD cnsSampleDuration,void *pvContext) { + return This->lpVtbl->AllocateForOutputEx(This,output,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMSyncReader2 interface + */ +#ifndef __IWMSyncReader2_INTERFACE_DEFINED__ +#define __IWMSyncReader2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMSyncReader2, 0xfaed3d21, 0x1b6b, 0x4af7, 0x8c,0xb6, 0x3e,0x18,0x9b,0xbc,0x18,0x7b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("faed3d21-1b6b-4af7-8cb6-3e189bbc187b") +IWMSyncReader2 : public IWMSyncReader +{ + virtual HRESULT STDMETHODCALLTYPE SetRangeByTimecode( + WORD wStreamNum, + WMT_TIMECODE_EXTENSION_DATA *pStart, + WMT_TIMECODE_EXTENSION_DATA *pEnd) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRangeByFrameEx( + WORD wStreamNum, + QWORD qwFrameNumber, + LONGLONG cFramesToRead, + QWORD *pcnsStartTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( + DWORD dwOutputNum, + IWMReaderAllocatorEx *pAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( + DWORD dwOutputNum, + IWMReaderAllocatorEx **ppAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( + DWORD dwStreamNum, + IWMReaderAllocatorEx *pAllocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( + DWORD dwStreamNum, + IWMReaderAllocatorEx **ppAllocator) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMSyncReader2, 0xfaed3d21, 0x1b6b, 0x4af7, 0x8c,0xb6, 0x3e,0x18,0x9b,0xbc,0x18,0x7b) +#endif +#else +typedef struct IWMSyncReader2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMSyncReader2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMSyncReader2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMSyncReader2 *This); + + /*** IWMSyncReader methods ***/ + HRESULT (STDMETHODCALLTYPE *Open)( + IWMSyncReader2 *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWMSyncReader2 *This); + + HRESULT (STDMETHODCALLTYPE *SetRange)( + IWMSyncReader2 *This, + QWORD cnsStartTime, + LONGLONG cnsDuration); + + HRESULT (STDMETHODCALLTYPE *SetRangeByFrame)( + IWMSyncReader2 *This, + WORD wStreamNum, + QWORD qwFrameNumber, + LONGLONG cFramesToRead); + + HRESULT (STDMETHODCALLTYPE *GetNextSample)( + IWMSyncReader2 *This, + WORD wStreamNum, + INSSBuffer **ppSample, + QWORD *pcnsSampleTime, + QWORD *pcnsDuration, + DWORD *pdwFlags, + DWORD *pdwOutputNum, + WORD *pwStreamNum); + + HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)( + IWMSyncReader2 *This, + WORD cStreamCount, + WORD *pwStreamNumbers, + WMT_STREAM_SELECTION *pSelections); + + HRESULT (STDMETHODCALLTYPE *GetStreamSelected)( + IWMSyncReader2 *This, + WORD wStreamNum, + WMT_STREAM_SELECTION *pSelection); + + HRESULT (STDMETHODCALLTYPE *SetReadStreamSamples)( + IWMSyncReader2 *This, + WORD wStreamNum, + WINBOOL fCompressed); + + HRESULT (STDMETHODCALLTYPE *GetReadStreamSamples)( + IWMSyncReader2 *This, + WORD wStreamNum, + WINBOOL *pfCompressed); + + HRESULT (STDMETHODCALLTYPE *GetOutputSetting)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetOutputSetting)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + HRESULT (STDMETHODCALLTYPE *GetOutputCount)( + IWMSyncReader2 *This, + DWORD *pcOutputs); + + HRESULT (STDMETHODCALLTYPE *GetOutputProps)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + IWMOutputMediaProps **ppOutput); + + HRESULT (STDMETHODCALLTYPE *SetOutputProps)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + IWMOutputMediaProps *pOutput); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + DWORD *pcFormats); + + HRESULT (STDMETHODCALLTYPE *GetOutputFormat)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + DWORD dwFormatNum, + IWMOutputMediaProps **ppProps); + + HRESULT (STDMETHODCALLTYPE *GetOutputNumberForStream)( + IWMSyncReader2 *This, + WORD wStreamNum, + DWORD *pdwOutputNum); + + HRESULT (STDMETHODCALLTYPE *GetStreamNumberForOutput)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + WORD *pwStreamNum); + + HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)( + IWMSyncReader2 *This, + DWORD dwOutput, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)( + IWMSyncReader2 *This, + WORD wStream, + DWORD *pcbMax); + + HRESULT (STDMETHODCALLTYPE *OpenStream)( + IWMSyncReader2 *This, + IStream *pStream); + + /*** IWMSyncReader2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetRangeByTimecode)( + IWMSyncReader2 *This, + WORD wStreamNum, + WMT_TIMECODE_EXTENSION_DATA *pStart, + WMT_TIMECODE_EXTENSION_DATA *pEnd); + + HRESULT (STDMETHODCALLTYPE *SetRangeByFrameEx)( + IWMSyncReader2 *This, + WORD wStreamNum, + QWORD qwFrameNumber, + LONGLONG cFramesToRead, + QWORD *pcnsStartTime); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + IWMReaderAllocatorEx *pAllocator); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)( + IWMSyncReader2 *This, + DWORD dwOutputNum, + IWMReaderAllocatorEx **ppAllocator); + + HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)( + IWMSyncReader2 *This, + DWORD dwStreamNum, + IWMReaderAllocatorEx *pAllocator); + + HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)( + IWMSyncReader2 *This, + DWORD dwStreamNum, + IWMReaderAllocatorEx **ppAllocator); + + END_INTERFACE +} IWMSyncReader2Vtbl; + +interface IWMSyncReader2 { + CONST_VTBL IWMSyncReader2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMSyncReader2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMSyncReader2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMSyncReader2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMSyncReader methods ***/ +#define IWMSyncReader2_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename) +#define IWMSyncReader2_Close(This) (This)->lpVtbl->Close(This) +#define IWMSyncReader2_SetRange(This,cnsStartTime,cnsDuration) (This)->lpVtbl->SetRange(This,cnsStartTime,cnsDuration) +#define IWMSyncReader2_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) (This)->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) +#define IWMSyncReader2_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) (This)->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) +#define IWMSyncReader2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) +#define IWMSyncReader2_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection) +#define IWMSyncReader2_SetReadStreamSamples(This,wStreamNum,fCompressed) (This)->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed) +#define IWMSyncReader2_GetReadStreamSamples(This,wStreamNum,pfCompressed) (This)->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed) +#define IWMSyncReader2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) +#define IWMSyncReader2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) +#define IWMSyncReader2_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs) +#define IWMSyncReader2_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput) +#define IWMSyncReader2_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput) +#define IWMSyncReader2_GetOutputFormatCount(This,dwOutputNum,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats) +#define IWMSyncReader2_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) +#define IWMSyncReader2_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) (This)->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) +#define IWMSyncReader2_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) (This)->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) +#define IWMSyncReader2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax) +#define IWMSyncReader2_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax) +#define IWMSyncReader2_OpenStream(This,pStream) (This)->lpVtbl->OpenStream(This,pStream) +/*** IWMSyncReader2 methods ***/ +#define IWMSyncReader2_SetRangeByTimecode(This,wStreamNum,pStart,pEnd) (This)->lpVtbl->SetRangeByTimecode(This,wStreamNum,pStart,pEnd) +#define IWMSyncReader2_SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime) (This)->lpVtbl->SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime) +#define IWMSyncReader2_SetAllocateForOutput(This,dwOutputNum,pAllocator) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,pAllocator) +#define IWMSyncReader2_GetAllocateForOutput(This,dwOutputNum,ppAllocator) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,ppAllocator) +#define IWMSyncReader2_SetAllocateForStream(This,dwStreamNum,pAllocator) (This)->lpVtbl->SetAllocateForStream(This,dwStreamNum,pAllocator) +#define IWMSyncReader2_GetAllocateForStream(This,dwStreamNum,ppAllocator) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,ppAllocator) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMSyncReader2_QueryInterface(IWMSyncReader2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMSyncReader2_AddRef(IWMSyncReader2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMSyncReader2_Release(IWMSyncReader2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMSyncReader methods ***/ +static inline HRESULT IWMSyncReader2_Open(IWMSyncReader2* This,const WCHAR *pwszFilename) { + return This->lpVtbl->Open(This,pwszFilename); +} +static inline HRESULT IWMSyncReader2_Close(IWMSyncReader2* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWMSyncReader2_SetRange(IWMSyncReader2* This,QWORD cnsStartTime,LONGLONG cnsDuration) { + return This->lpVtbl->SetRange(This,cnsStartTime,cnsDuration); +} +static inline HRESULT IWMSyncReader2_SetRangeByFrame(IWMSyncReader2* This,WORD wStreamNum,QWORD qwFrameNumber,LONGLONG cFramesToRead) { + return This->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead); +} +static inline HRESULT IWMSyncReader2_GetNextSample(IWMSyncReader2* This,WORD wStreamNum,INSSBuffer **ppSample,QWORD *pcnsSampleTime,QWORD *pcnsDuration,DWORD *pdwFlags,DWORD *pdwOutputNum,WORD *pwStreamNum) { + return This->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum); +} +static inline HRESULT IWMSyncReader2_SetStreamsSelected(IWMSyncReader2* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) { + return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections); +} +static inline HRESULT IWMSyncReader2_GetStreamSelected(IWMSyncReader2* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) { + return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection); +} +static inline HRESULT IWMSyncReader2_SetReadStreamSamples(IWMSyncReader2* This,WORD wStreamNum,WINBOOL fCompressed) { + return This->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed); +} +static inline HRESULT IWMSyncReader2_GetReadStreamSamples(IWMSyncReader2* This,WORD wStreamNum,WINBOOL *pfCompressed) { + return This->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed); +} +static inline HRESULT IWMSyncReader2_GetOutputSetting(IWMSyncReader2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMSyncReader2_SetOutputSetting(IWMSyncReader2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength); +} +static inline HRESULT IWMSyncReader2_GetOutputCount(IWMSyncReader2* This,DWORD *pcOutputs) { + return This->lpVtbl->GetOutputCount(This,pcOutputs); +} +static inline HRESULT IWMSyncReader2_GetOutputProps(IWMSyncReader2* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) { + return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput); +} +static inline HRESULT IWMSyncReader2_SetOutputProps(IWMSyncReader2* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) { + return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput); +} +static inline HRESULT IWMSyncReader2_GetOutputFormatCount(IWMSyncReader2* This,DWORD dwOutputNum,DWORD *pcFormats) { + return This->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats); +} +static inline HRESULT IWMSyncReader2_GetOutputFormat(IWMSyncReader2* This,DWORD dwOutputNum,DWORD dwFormatNum,IWMOutputMediaProps **ppProps) { + return This->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps); +} +static inline HRESULT IWMSyncReader2_GetOutputNumberForStream(IWMSyncReader2* This,WORD wStreamNum,DWORD *pdwOutputNum) { + return This->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum); +} +static inline HRESULT IWMSyncReader2_GetStreamNumberForOutput(IWMSyncReader2* This,DWORD dwOutputNum,WORD *pwStreamNum) { + return This->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum); +} +static inline HRESULT IWMSyncReader2_GetMaxOutputSampleSize(IWMSyncReader2* This,DWORD dwOutput,DWORD *pcbMax) { + return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax); +} +static inline HRESULT IWMSyncReader2_GetMaxStreamSampleSize(IWMSyncReader2* This,WORD wStream,DWORD *pcbMax) { + return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax); +} +static inline HRESULT IWMSyncReader2_OpenStream(IWMSyncReader2* This,IStream *pStream) { + return This->lpVtbl->OpenStream(This,pStream); +} +/*** IWMSyncReader2 methods ***/ +static inline HRESULT IWMSyncReader2_SetRangeByTimecode(IWMSyncReader2* This,WORD wStreamNum,WMT_TIMECODE_EXTENSION_DATA *pStart,WMT_TIMECODE_EXTENSION_DATA *pEnd) { + return This->lpVtbl->SetRangeByTimecode(This,wStreamNum,pStart,pEnd); +} +static inline HRESULT IWMSyncReader2_SetRangeByFrameEx(IWMSyncReader2* This,WORD wStreamNum,QWORD qwFrameNumber,LONGLONG cFramesToRead,QWORD *pcnsStartTime) { + return This->lpVtbl->SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime); +} +static inline HRESULT IWMSyncReader2_SetAllocateForOutput(IWMSyncReader2* This,DWORD dwOutputNum,IWMReaderAllocatorEx *pAllocator) { + return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,pAllocator); +} +static inline HRESULT IWMSyncReader2_GetAllocateForOutput(IWMSyncReader2* This,DWORD dwOutputNum,IWMReaderAllocatorEx **ppAllocator) { + return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,ppAllocator); +} +static inline HRESULT IWMSyncReader2_SetAllocateForStream(IWMSyncReader2* This,DWORD dwStreamNum,IWMReaderAllocatorEx *pAllocator) { + return This->lpVtbl->SetAllocateForStream(This,dwStreamNum,pAllocator); +} +static inline HRESULT IWMSyncReader2_GetAllocateForStream(IWMSyncReader2* This,DWORD dwStreamNum,IWMReaderAllocatorEx **ppAllocator) { + return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,ppAllocator); +} +#endif +#endif + +#endif + + +#endif /* __IWMSyncReader2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMInputMediaProps interface + */ +#ifndef __IWMInputMediaProps_INTERFACE_DEFINED__ +#define __IWMInputMediaProps_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd5-2b2b-11d3-b36b-00c04f6108ff") +IWMInputMediaProps : public IWMMediaProps +{ + virtual HRESULT STDMETHODCALLTYPE GetConnectionName( + WCHAR *pwszName, + WORD *pcchName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGroupName( + WCHAR *pwszName, + WORD *pcchName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMInputMediaPropsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMInputMediaProps *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMInputMediaProps *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMInputMediaProps *This); + + /*** IWMMediaProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetType)( + IWMInputMediaProps *This, + GUID *pguidType); + + HRESULT (STDMETHODCALLTYPE *GetMediaType)( + IWMInputMediaProps *This, + WM_MEDIA_TYPE *pType, + DWORD *pcbType); + + HRESULT (STDMETHODCALLTYPE *SetMediaType)( + IWMInputMediaProps *This, + WM_MEDIA_TYPE *pType); + + /*** IWMInputMediaProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetConnectionName)( + IWMInputMediaProps *This, + WCHAR *pwszName, + WORD *pcchName); + + HRESULT (STDMETHODCALLTYPE *GetGroupName)( + IWMInputMediaProps *This, + WCHAR *pwszName, + WORD *pcchName); + + END_INTERFACE +} IWMInputMediaPropsVtbl; + +interface IWMInputMediaProps { + CONST_VTBL IWMInputMediaPropsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMInputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMInputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMInputMediaProps_Release(This) (This)->lpVtbl->Release(This) +/*** IWMMediaProps methods ***/ +#define IWMInputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType) +#define IWMInputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType) +#define IWMInputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType) +/*** IWMInputMediaProps methods ***/ +#define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName) +#define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetGroupName(This,pwszName,pcchName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMInputMediaProps_QueryInterface(IWMInputMediaProps* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMInputMediaProps_AddRef(IWMInputMediaProps* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMInputMediaProps_Release(IWMInputMediaProps* This) { + return This->lpVtbl->Release(This); +} +/*** IWMMediaProps methods ***/ +static inline HRESULT IWMInputMediaProps_GetType(IWMInputMediaProps* This,GUID *pguidType) { + return This->lpVtbl->GetType(This,pguidType); +} +static inline HRESULT IWMInputMediaProps_GetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) { + return This->lpVtbl->GetMediaType(This,pType,pcbType); +} +static inline HRESULT IWMInputMediaProps_SetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType) { + return This->lpVtbl->SetMediaType(This,pType); +} +/*** IWMInputMediaProps methods ***/ +static inline HRESULT IWMInputMediaProps_GetConnectionName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { + return This->lpVtbl->GetConnectionName(This,pwszName,pcchName); +} +static inline HRESULT IWMInputMediaProps_GetGroupName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) { + return This->lpVtbl->GetGroupName(This,pwszName,pcchName); +} +#endif +#endif + +#endif + + +#endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriterSink interface + */ +#ifndef __IWMWriterSink_INTERFACE_DEFINED__ +#define __IWMWriterSink_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406be4-2b2b-11d3-b36b-00c04f6108ff") +IWMWriterSink : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnHeader( + INSSBuffer *pHeader) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsRealTime( + WINBOOL *pfRealTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit( + DWORD cbDataUnit, + INSSBuffer **ppDataUnit) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnDataUnit( + INSSBuffer *pDataUnit) = 0; + + virtual HRESULT STDMETHODCALLTYPE OnEndWriting( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMWriterSinkVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriterSink *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriterSink *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriterSink *This); + + /*** IWMWriterSink methods ***/ + HRESULT (STDMETHODCALLTYPE *OnHeader)( + IWMWriterSink *This, + INSSBuffer *pHeader); + + HRESULT (STDMETHODCALLTYPE *IsRealTime)( + IWMWriterSink *This, + WINBOOL *pfRealTime); + + HRESULT (STDMETHODCALLTYPE *AllocateDataUnit)( + IWMWriterSink *This, + DWORD cbDataUnit, + INSSBuffer **ppDataUnit); + + HRESULT (STDMETHODCALLTYPE *OnDataUnit)( + IWMWriterSink *This, + INSSBuffer *pDataUnit); + + HRESULT (STDMETHODCALLTYPE *OnEndWriting)( + IWMWriterSink *This); + + END_INTERFACE +} IWMWriterSinkVtbl; + +interface IWMWriterSink { + CONST_VTBL IWMWriterSinkVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriterSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriterSink_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriterSink_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriterSink methods ***/ +#define IWMWriterSink_OnHeader(This,pHeader) (This)->lpVtbl->OnHeader(This,pHeader) +#define IWMWriterSink_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) +#define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) (This)->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit) +#define IWMWriterSink_OnDataUnit(This,pDataUnit) (This)->lpVtbl->OnDataUnit(This,pDataUnit) +#define IWMWriterSink_OnEndWriting(This) (This)->lpVtbl->OnEndWriting(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriterSink_QueryInterface(IWMWriterSink* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriterSink_AddRef(IWMWriterSink* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriterSink_Release(IWMWriterSink* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriterSink methods ***/ +static inline HRESULT IWMWriterSink_OnHeader(IWMWriterSink* This,INSSBuffer *pHeader) { + return This->lpVtbl->OnHeader(This,pHeader); +} +static inline HRESULT IWMWriterSink_IsRealTime(IWMWriterSink* This,WINBOOL *pfRealTime) { + return This->lpVtbl->IsRealTime(This,pfRealTime); +} +static inline HRESULT IWMWriterSink_AllocateDataUnit(IWMWriterSink* This,DWORD cbDataUnit,INSSBuffer **ppDataUnit) { + return This->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit); +} +static inline HRESULT IWMWriterSink_OnDataUnit(IWMWriterSink* This,INSSBuffer *pDataUnit) { + return This->lpVtbl->OnDataUnit(This,pDataUnit); +} +static inline HRESULT IWMWriterSink_OnEndWriting(IWMWriterSink* This) { + return This->lpVtbl->OnEndWriting(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriterSink_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriter interface + */ +#ifndef __IWMWriter_INTERFACE_DEFINED__ +#define __IWMWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bd4-2b2b-11d3-b36b-00c04f6108ff") +IWMWriter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetProfileByID( + REFGUID guidProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProfile( + IWMProfile *pProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputFilename( + const WCHAR *pwszFilename) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInputCount( + DWORD *pcInputs) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInputProps( + DWORD dwInputNum, + IWMInputMediaProps **ppInput) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInputProps( + DWORD dwInputNum, + IWMInputMediaProps *pInput) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount( + DWORD dwInputNumber, + DWORD *pcFormats) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInputFormat( + DWORD dwInputNumber, + DWORD dwFormatNumber, + IWMInputMediaProps **pProps) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginWriting( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndWriting( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE AllocateSample( + DWORD dwSampleSize, + INSSBuffer **ppSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteSample( + DWORD dwInputNum, + QWORD cnsSampleTime, + DWORD dwFlags, + INSSBuffer *pSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE Flush( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriter *This); + + /*** IWMWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *SetProfileByID)( + IWMWriter *This, + REFGUID guidProfile); + + HRESULT (STDMETHODCALLTYPE *SetProfile)( + IWMWriter *This, + IWMProfile *pProfile); + + HRESULT (STDMETHODCALLTYPE *SetOutputFilename)( + IWMWriter *This, + const WCHAR *pwszFilename); + + HRESULT (STDMETHODCALLTYPE *GetInputCount)( + IWMWriter *This, + DWORD *pcInputs); + + HRESULT (STDMETHODCALLTYPE *GetInputProps)( + IWMWriter *This, + DWORD dwInputNum, + IWMInputMediaProps **ppInput); + + HRESULT (STDMETHODCALLTYPE *SetInputProps)( + IWMWriter *This, + DWORD dwInputNum, + IWMInputMediaProps *pInput); + + HRESULT (STDMETHODCALLTYPE *GetInputFormatCount)( + IWMWriter *This, + DWORD dwInputNumber, + DWORD *pcFormats); + + HRESULT (STDMETHODCALLTYPE *GetInputFormat)( + IWMWriter *This, + DWORD dwInputNumber, + DWORD dwFormatNumber, + IWMInputMediaProps **pProps); + + HRESULT (STDMETHODCALLTYPE *BeginWriting)( + IWMWriter *This); + + HRESULT (STDMETHODCALLTYPE *EndWriting)( + IWMWriter *This); + + HRESULT (STDMETHODCALLTYPE *AllocateSample)( + IWMWriter *This, + DWORD dwSampleSize, + INSSBuffer **ppSample); + + HRESULT (STDMETHODCALLTYPE *WriteSample)( + IWMWriter *This, + DWORD dwInputNum, + QWORD cnsSampleTime, + DWORD dwFlags, + INSSBuffer *pSample); + + HRESULT (STDMETHODCALLTYPE *Flush)( + IWMWriter *This); + + END_INTERFACE +} IWMWriterVtbl; + +interface IWMWriter { + CONST_VTBL IWMWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriter methods ***/ +#define IWMWriter_SetProfileByID(This,guidProfile) (This)->lpVtbl->SetProfileByID(This,guidProfile) +#define IWMWriter_SetProfile(This,pProfile) (This)->lpVtbl->SetProfile(This,pProfile) +#define IWMWriter_SetOutputFilename(This,pwszFilename) (This)->lpVtbl->SetOutputFilename(This,pwszFilename) +#define IWMWriter_GetInputCount(This,pcInputs) (This)->lpVtbl->GetInputCount(This,pcInputs) +#define IWMWriter_GetInputProps(This,dwInputNum,ppInput) (This)->lpVtbl->GetInputProps(This,dwInputNum,ppInput) +#define IWMWriter_SetInputProps(This,dwInputNum,pInput) (This)->lpVtbl->SetInputProps(This,dwInputNum,pInput) +#define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats) (This)->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats) +#define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) (This)->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) +#define IWMWriter_BeginWriting(This) (This)->lpVtbl->BeginWriting(This) +#define IWMWriter_EndWriting(This) (This)->lpVtbl->EndWriting(This) +#define IWMWriter_AllocateSample(This,dwSampleSize,ppSample) (This)->lpVtbl->AllocateSample(This,dwSampleSize,ppSample) +#define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) (This)->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) +#define IWMWriter_Flush(This) (This)->lpVtbl->Flush(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriter_QueryInterface(IWMWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriter_AddRef(IWMWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriter_Release(IWMWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriter methods ***/ +static inline HRESULT IWMWriter_SetProfileByID(IWMWriter* This,REFGUID guidProfile) { + return This->lpVtbl->SetProfileByID(This,guidProfile); +} +static inline HRESULT IWMWriter_SetProfile(IWMWriter* This,IWMProfile *pProfile) { + return This->lpVtbl->SetProfile(This,pProfile); +} +static inline HRESULT IWMWriter_SetOutputFilename(IWMWriter* This,const WCHAR *pwszFilename) { + return This->lpVtbl->SetOutputFilename(This,pwszFilename); +} +static inline HRESULT IWMWriter_GetInputCount(IWMWriter* This,DWORD *pcInputs) { + return This->lpVtbl->GetInputCount(This,pcInputs); +} +static inline HRESULT IWMWriter_GetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps **ppInput) { + return This->lpVtbl->GetInputProps(This,dwInputNum,ppInput); +} +static inline HRESULT IWMWriter_SetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps *pInput) { + return This->lpVtbl->SetInputProps(This,dwInputNum,pInput); +} +static inline HRESULT IWMWriter_GetInputFormatCount(IWMWriter* This,DWORD dwInputNumber,DWORD *pcFormats) { + return This->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats); +} +static inline HRESULT IWMWriter_GetInputFormat(IWMWriter* This,DWORD dwInputNumber,DWORD dwFormatNumber,IWMInputMediaProps **pProps) { + return This->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps); +} +static inline HRESULT IWMWriter_BeginWriting(IWMWriter* This) { + return This->lpVtbl->BeginWriting(This); +} +static inline HRESULT IWMWriter_EndWriting(IWMWriter* This) { + return This->lpVtbl->EndWriting(This); +} +static inline HRESULT IWMWriter_AllocateSample(IWMWriter* This,DWORD dwSampleSize,INSSBuffer **ppSample) { + return This->lpVtbl->AllocateSample(This,dwSampleSize,ppSample); +} +static inline HRESULT IWMWriter_WriteSample(IWMWriter* This,DWORD dwInputNum,QWORD cnsSampleTime,DWORD dwFlags,INSSBuffer *pSample) { + return This->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample); +} +static inline HRESULT IWMWriter_Flush(IWMWriter* This) { + return This->lpVtbl->Flush(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriterAdvanced interface + */ +#ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__ +#define __IWMWriterAdvanced_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406be3-2b2b-11d3-b36b-00c04f6108ff") +IWMWriterAdvanced : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSinkCount( + DWORD *pcSinks) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSink( + DWORD dwSinkNum, + IWMWriterSink **ppSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSink( + IWMWriterSink *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveSink( + IWMWriterSink *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteStreamSample( + WORD wStreamNum, + QWORD cnsSampleTime, + DWORD msSampleSendTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLiveSource( + WINBOOL fIsLiveSource) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsRealTime( + WINBOOL *pfRealTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWriterTime( + QWORD *pCurrentTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatistics( + WORD wStreamNum, + WM_WRITER_STATISTICS *pStats) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( + DWORD msWindow) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance( + DWORD *pmsWindow) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMWriterAdvancedVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriterAdvanced *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriterAdvanced *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriterAdvanced *This); + + /*** IWMWriterAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSinkCount)( + IWMWriterAdvanced *This, + DWORD *pcSinks); + + HRESULT (STDMETHODCALLTYPE *GetSink)( + IWMWriterAdvanced *This, + DWORD dwSinkNum, + IWMWriterSink **ppSink); + + HRESULT (STDMETHODCALLTYPE *AddSink)( + IWMWriterAdvanced *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *RemoveSink)( + IWMWriterAdvanced *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( + IWMWriterAdvanced *This, + WORD wStreamNum, + QWORD cnsSampleTime, + DWORD msSampleSendTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample); + + HRESULT (STDMETHODCALLTYPE *SetLiveSource)( + IWMWriterAdvanced *This, + WINBOOL fIsLiveSource); + + HRESULT (STDMETHODCALLTYPE *IsRealTime)( + IWMWriterAdvanced *This, + WINBOOL *pfRealTime); + + HRESULT (STDMETHODCALLTYPE *GetWriterTime)( + IWMWriterAdvanced *This, + QWORD *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMWriterAdvanced *This, + WORD wStreamNum, + WM_WRITER_STATISTICS *pStats); + + HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( + IWMWriterAdvanced *This, + DWORD msWindow); + + HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( + IWMWriterAdvanced *This, + DWORD *pmsWindow); + + END_INTERFACE +} IWMWriterAdvancedVtbl; + +interface IWMWriterAdvanced { + CONST_VTBL IWMWriterAdvancedVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriterAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriterAdvanced_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriterAdvanced methods ***/ +#define IWMWriterAdvanced_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) +#define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) +#define IWMWriterAdvanced_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) +#define IWMWriterAdvanced_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) +#define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) +#define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) +#define IWMWriterAdvanced_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) +#define IWMWriterAdvanced_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) +#define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) +#define IWMWriterAdvanced_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) +#define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriterAdvanced_QueryInterface(IWMWriterAdvanced* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriterAdvanced_AddRef(IWMWriterAdvanced* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriterAdvanced_Release(IWMWriterAdvanced* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriterAdvanced methods ***/ +static inline HRESULT IWMWriterAdvanced_GetSinkCount(IWMWriterAdvanced* This,DWORD *pcSinks) { + return This->lpVtbl->GetSinkCount(This,pcSinks); +} +static inline HRESULT IWMWriterAdvanced_GetSink(IWMWriterAdvanced* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { + return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); +} +static inline HRESULT IWMWriterAdvanced_AddSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) { + return This->lpVtbl->AddSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced_RemoveSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) { + return This->lpVtbl->RemoveSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced_WriteStreamSample(IWMWriterAdvanced* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { + return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); +} +static inline HRESULT IWMWriterAdvanced_SetLiveSource(IWMWriterAdvanced* This,WINBOOL fIsLiveSource) { + return This->lpVtbl->SetLiveSource(This,fIsLiveSource); +} +static inline HRESULT IWMWriterAdvanced_IsRealTime(IWMWriterAdvanced* This,WINBOOL *pfRealTime) { + return This->lpVtbl->IsRealTime(This,pfRealTime); +} +static inline HRESULT IWMWriterAdvanced_GetWriterTime(IWMWriterAdvanced* This,QWORD *pCurrentTime) { + return This->lpVtbl->GetWriterTime(This,pCurrentTime); +} +static inline HRESULT IWMWriterAdvanced_GetStatistics(IWMWriterAdvanced* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { + return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); +} +static inline HRESULT IWMWriterAdvanced_SetSyncTolerance(IWMWriterAdvanced* This,DWORD msWindow) { + return This->lpVtbl->SetSyncTolerance(This,msWindow); +} +static inline HRESULT IWMWriterAdvanced_GetSyncTolerance(IWMWriterAdvanced* This,DWORD *pmsWindow) { + return This->lpVtbl->GetSyncTolerance(This,pmsWindow); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriterAdvanced2 interface + */ +#ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__ +#define __IWMWriterAdvanced2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817") +IWMWriterAdvanced2 : public IWMWriterAdvanced +{ + virtual HRESULT STDMETHODCALLTYPE GetInputSetting( + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetInputSetting( + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17) +#endif +#else +typedef struct IWMWriterAdvanced2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriterAdvanced2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriterAdvanced2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriterAdvanced2 *This); + + /*** IWMWriterAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSinkCount)( + IWMWriterAdvanced2 *This, + DWORD *pcSinks); + + HRESULT (STDMETHODCALLTYPE *GetSink)( + IWMWriterAdvanced2 *This, + DWORD dwSinkNum, + IWMWriterSink **ppSink); + + HRESULT (STDMETHODCALLTYPE *AddSink)( + IWMWriterAdvanced2 *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *RemoveSink)( + IWMWriterAdvanced2 *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( + IWMWriterAdvanced2 *This, + WORD wStreamNum, + QWORD cnsSampleTime, + DWORD msSampleSendTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample); + + HRESULT (STDMETHODCALLTYPE *SetLiveSource)( + IWMWriterAdvanced2 *This, + WINBOOL fIsLiveSource); + + HRESULT (STDMETHODCALLTYPE *IsRealTime)( + IWMWriterAdvanced2 *This, + WINBOOL *pfRealTime); + + HRESULT (STDMETHODCALLTYPE *GetWriterTime)( + IWMWriterAdvanced2 *This, + QWORD *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMWriterAdvanced2 *This, + WORD wStreamNum, + WM_WRITER_STATISTICS *pStats); + + HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( + IWMWriterAdvanced2 *This, + DWORD msWindow); + + HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( + IWMWriterAdvanced2 *This, + DWORD *pmsWindow); + + /*** IWMWriterAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetInputSetting)( + IWMWriterAdvanced2 *This, + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetInputSetting)( + IWMWriterAdvanced2 *This, + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + END_INTERFACE +} IWMWriterAdvanced2Vtbl; + +interface IWMWriterAdvanced2 { + CONST_VTBL IWMWriterAdvanced2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriterAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriterAdvanced2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriterAdvanced methods ***/ +#define IWMWriterAdvanced2_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) +#define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) +#define IWMWriterAdvanced2_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) +#define IWMWriterAdvanced2_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) +#define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) +#define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) +#define IWMWriterAdvanced2_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) +#define IWMWriterAdvanced2_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) +#define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) +#define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) +#define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) +/*** IWMWriterAdvanced2 methods ***/ +#define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) +#define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriterAdvanced2_QueryInterface(IWMWriterAdvanced2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriterAdvanced2_AddRef(IWMWriterAdvanced2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriterAdvanced2_Release(IWMWriterAdvanced2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriterAdvanced methods ***/ +static inline HRESULT IWMWriterAdvanced2_GetSinkCount(IWMWriterAdvanced2* This,DWORD *pcSinks) { + return This->lpVtbl->GetSinkCount(This,pcSinks); +} +static inline HRESULT IWMWriterAdvanced2_GetSink(IWMWriterAdvanced2* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { + return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); +} +static inline HRESULT IWMWriterAdvanced2_AddSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) { + return This->lpVtbl->AddSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced2_RemoveSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) { + return This->lpVtbl->RemoveSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced2_WriteStreamSample(IWMWriterAdvanced2* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { + return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); +} +static inline HRESULT IWMWriterAdvanced2_SetLiveSource(IWMWriterAdvanced2* This,WINBOOL fIsLiveSource) { + return This->lpVtbl->SetLiveSource(This,fIsLiveSource); +} +static inline HRESULT IWMWriterAdvanced2_IsRealTime(IWMWriterAdvanced2* This,WINBOOL *pfRealTime) { + return This->lpVtbl->IsRealTime(This,pfRealTime); +} +static inline HRESULT IWMWriterAdvanced2_GetWriterTime(IWMWriterAdvanced2* This,QWORD *pCurrentTime) { + return This->lpVtbl->GetWriterTime(This,pCurrentTime); +} +static inline HRESULT IWMWriterAdvanced2_GetStatistics(IWMWriterAdvanced2* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { + return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); +} +static inline HRESULT IWMWriterAdvanced2_SetSyncTolerance(IWMWriterAdvanced2* This,DWORD msWindow) { + return This->lpVtbl->SetSyncTolerance(This,msWindow); +} +static inline HRESULT IWMWriterAdvanced2_GetSyncTolerance(IWMWriterAdvanced2* This,DWORD *pmsWindow) { + return This->lpVtbl->GetSyncTolerance(This,pmsWindow); +} +/*** IWMWriterAdvanced2 methods ***/ +static inline HRESULT IWMWriterAdvanced2_GetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMWriterAdvanced2_SetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriterAdvanced3 interface + */ +#ifndef __IWMWriterAdvanced3_INTERFACE_DEFINED__ +#define __IWMWriterAdvanced3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2cd6492d-7c37-4e76-9d3b-59261183a22e") +IWMWriterAdvanced3 : public IWMWriterAdvanced2 +{ + virtual HRESULT STDMETHODCALLTYPE GetStatisticsEx( + WORD wStreamNum, + WM_WRITER_STATISTICS_EX *pStats) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetNonBlocking( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e) +#endif +#else +typedef struct IWMWriterAdvanced3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriterAdvanced3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriterAdvanced3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriterAdvanced3 *This); + + /*** IWMWriterAdvanced methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSinkCount)( + IWMWriterAdvanced3 *This, + DWORD *pcSinks); + + HRESULT (STDMETHODCALLTYPE *GetSink)( + IWMWriterAdvanced3 *This, + DWORD dwSinkNum, + IWMWriterSink **ppSink); + + HRESULT (STDMETHODCALLTYPE *AddSink)( + IWMWriterAdvanced3 *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *RemoveSink)( + IWMWriterAdvanced3 *This, + IWMWriterSink *pSink); + + HRESULT (STDMETHODCALLTYPE *WriteStreamSample)( + IWMWriterAdvanced3 *This, + WORD wStreamNum, + QWORD cnsSampleTime, + DWORD msSampleSendTime, + QWORD cnsSampleDuration, + DWORD dwFlags, + INSSBuffer *pSample); + + HRESULT (STDMETHODCALLTYPE *SetLiveSource)( + IWMWriterAdvanced3 *This, + WINBOOL fIsLiveSource); + + HRESULT (STDMETHODCALLTYPE *IsRealTime)( + IWMWriterAdvanced3 *This, + WINBOOL *pfRealTime); + + HRESULT (STDMETHODCALLTYPE *GetWriterTime)( + IWMWriterAdvanced3 *This, + QWORD *pCurrentTime); + + HRESULT (STDMETHODCALLTYPE *GetStatistics)( + IWMWriterAdvanced3 *This, + WORD wStreamNum, + WM_WRITER_STATISTICS *pStats); + + HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)( + IWMWriterAdvanced3 *This, + DWORD msWindow); + + HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)( + IWMWriterAdvanced3 *This, + DWORD *pmsWindow); + + /*** IWMWriterAdvanced2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetInputSetting)( + IWMWriterAdvanced3 *This, + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE *pType, + BYTE *pValue, + WORD *pcbLength); + + HRESULT (STDMETHODCALLTYPE *SetInputSetting)( + IWMWriterAdvanced3 *This, + DWORD dwInputNum, + LPCWSTR pszName, + WMT_ATTR_DATATYPE Type, + const BYTE *pValue, + WORD cbLength); + + /*** IWMWriterAdvanced3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStatisticsEx)( + IWMWriterAdvanced3 *This, + WORD wStreamNum, + WM_WRITER_STATISTICS_EX *pStats); + + HRESULT (STDMETHODCALLTYPE *SetNonBlocking)( + IWMWriterAdvanced3 *This); + + END_INTERFACE +} IWMWriterAdvanced3Vtbl; + +interface IWMWriterAdvanced3 { + CONST_VTBL IWMWriterAdvanced3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriterAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriterAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriterAdvanced3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriterAdvanced methods ***/ +#define IWMWriterAdvanced3_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks) +#define IWMWriterAdvanced3_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink) +#define IWMWriterAdvanced3_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink) +#define IWMWriterAdvanced3_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink) +#define IWMWriterAdvanced3_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) +#define IWMWriterAdvanced3_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource) +#define IWMWriterAdvanced3_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime) +#define IWMWriterAdvanced3_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime) +#define IWMWriterAdvanced3_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats) +#define IWMWriterAdvanced3_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow) +#define IWMWriterAdvanced3_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow) +/*** IWMWriterAdvanced2 methods ***/ +#define IWMWriterAdvanced3_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) +#define IWMWriterAdvanced3_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) +/*** IWMWriterAdvanced3 methods ***/ +#define IWMWriterAdvanced3_GetStatisticsEx(This,wStreamNum,pStats) (This)->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats) +#define IWMWriterAdvanced3_SetNonBlocking(This) (This)->lpVtbl->SetNonBlocking(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriterAdvanced3_QueryInterface(IWMWriterAdvanced3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriterAdvanced3_AddRef(IWMWriterAdvanced3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriterAdvanced3_Release(IWMWriterAdvanced3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriterAdvanced methods ***/ +static inline HRESULT IWMWriterAdvanced3_GetSinkCount(IWMWriterAdvanced3* This,DWORD *pcSinks) { + return This->lpVtbl->GetSinkCount(This,pcSinks); +} +static inline HRESULT IWMWriterAdvanced3_GetSink(IWMWriterAdvanced3* This,DWORD dwSinkNum,IWMWriterSink **ppSink) { + return This->lpVtbl->GetSink(This,dwSinkNum,ppSink); +} +static inline HRESULT IWMWriterAdvanced3_AddSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) { + return This->lpVtbl->AddSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced3_RemoveSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) { + return This->lpVtbl->RemoveSink(This,pSink); +} +static inline HRESULT IWMWriterAdvanced3_WriteStreamSample(IWMWriterAdvanced3* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) { + return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample); +} +static inline HRESULT IWMWriterAdvanced3_SetLiveSource(IWMWriterAdvanced3* This,WINBOOL fIsLiveSource) { + return This->lpVtbl->SetLiveSource(This,fIsLiveSource); +} +static inline HRESULT IWMWriterAdvanced3_IsRealTime(IWMWriterAdvanced3* This,WINBOOL *pfRealTime) { + return This->lpVtbl->IsRealTime(This,pfRealTime); +} +static inline HRESULT IWMWriterAdvanced3_GetWriterTime(IWMWriterAdvanced3* This,QWORD *pCurrentTime) { + return This->lpVtbl->GetWriterTime(This,pCurrentTime); +} +static inline HRESULT IWMWriterAdvanced3_GetStatistics(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) { + return This->lpVtbl->GetStatistics(This,wStreamNum,pStats); +} +static inline HRESULT IWMWriterAdvanced3_SetSyncTolerance(IWMWriterAdvanced3* This,DWORD msWindow) { + return This->lpVtbl->SetSyncTolerance(This,msWindow); +} +static inline HRESULT IWMWriterAdvanced3_GetSyncTolerance(IWMWriterAdvanced3* This,DWORD *pmsWindow) { + return This->lpVtbl->GetSyncTolerance(This,pmsWindow); +} +/*** IWMWriterAdvanced2 methods ***/ +static inline HRESULT IWMWriterAdvanced3_GetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) { + return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength); +} +static inline HRESULT IWMWriterAdvanced3_SetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) { + return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength); +} +/*** IWMWriterAdvanced3 methods ***/ +static inline HRESULT IWMWriterAdvanced3_GetStatisticsEx(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS_EX *pStats) { + return This->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats); +} +static inline HRESULT IWMWriterAdvanced3_SetNonBlocking(IWMWriterAdvanced3* This) { + return This->lpVtbl->SetNonBlocking(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriterAdvanced3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMHeaderInfo interface + */ +#ifndef __IWMHeaderInfo_INTERFACE_DEFINED__ +#define __IWMHeaderInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMHeaderInfo, 0x96406bda, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bda-2b2b-11d3-b36b-00c04f6108ff") +IWMHeaderInfo : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetAttributeCount( + WORD stream_num, + WORD *attributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex( + WORD index, + WORD *stream_num, + WCHAR *name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeByName( + WORD *stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAttribute( + WORD stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMarkerCount( + WORD *markers) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMarker( + WORD index, + WCHAR *marker_name, + WORD *marker_len, + QWORD *marker_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddMarker( + LPCWSTR_WMSDK_TYPE_SAFE marker_name, + QWORD marker_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveMarker( + WORD index) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScriptCount( + WORD *scripts) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScript( + WORD index, + WCHAR *type, + WORD *type_len, + WCHAR *command, + WORD *command_len, + QWORD *script_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddScript( + LPCWSTR_WMSDK_TYPE_SAFE type, + LPCWSTR_WMSDK_TYPE_SAFE command, + QWORD script_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveScript( + WORD index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMHeaderInfo, 0x96406bda, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMHeaderInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMHeaderInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMHeaderInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMHeaderInfo *This); + + /*** IWMHeaderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAttributeCount)( + IWMHeaderInfo *This, + WORD stream_num, + WORD *attributes); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)( + IWMHeaderInfo *This, + WORD index, + WORD *stream_num, + WCHAR *name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByName)( + IWMHeaderInfo *This, + WORD *stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *SetAttribute)( + IWMHeaderInfo *This, + WORD stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetMarkerCount)( + IWMHeaderInfo *This, + WORD *markers); + + HRESULT (STDMETHODCALLTYPE *GetMarker)( + IWMHeaderInfo *This, + WORD index, + WCHAR *marker_name, + WORD *marker_len, + QWORD *marker_time); + + HRESULT (STDMETHODCALLTYPE *AddMarker)( + IWMHeaderInfo *This, + LPCWSTR_WMSDK_TYPE_SAFE marker_name, + QWORD marker_time); + + HRESULT (STDMETHODCALLTYPE *RemoveMarker)( + IWMHeaderInfo *This, + WORD index); + + HRESULT (STDMETHODCALLTYPE *GetScriptCount)( + IWMHeaderInfo *This, + WORD *scripts); + + HRESULT (STDMETHODCALLTYPE *GetScript)( + IWMHeaderInfo *This, + WORD index, + WCHAR *type, + WORD *type_len, + WCHAR *command, + WORD *command_len, + QWORD *script_time); + + HRESULT (STDMETHODCALLTYPE *AddScript)( + IWMHeaderInfo *This, + LPCWSTR_WMSDK_TYPE_SAFE type, + LPCWSTR_WMSDK_TYPE_SAFE command, + QWORD script_time); + + HRESULT (STDMETHODCALLTYPE *RemoveScript)( + IWMHeaderInfo *This, + WORD index); + + END_INTERFACE +} IWMHeaderInfoVtbl; + +interface IWMHeaderInfo { + CONST_VTBL IWMHeaderInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMHeaderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMHeaderInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMHeaderInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IWMHeaderInfo methods ***/ +#define IWMHeaderInfo_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes) +#define IWMHeaderInfo_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) +#define IWMHeaderInfo_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length) +#define IWMHeaderInfo_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length) +#define IWMHeaderInfo_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers) +#define IWMHeaderInfo_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time) +#define IWMHeaderInfo_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time) +#define IWMHeaderInfo_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index) +#define IWMHeaderInfo_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts) +#define IWMHeaderInfo_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time) +#define IWMHeaderInfo_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time) +#define IWMHeaderInfo_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMHeaderInfo_QueryInterface(IWMHeaderInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMHeaderInfo_AddRef(IWMHeaderInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMHeaderInfo_Release(IWMHeaderInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IWMHeaderInfo methods ***/ +static inline HRESULT IWMHeaderInfo_GetAttributeCount(IWMHeaderInfo* This,WORD stream_num,WORD *attributes) { + return This->lpVtbl->GetAttributeCount(This,stream_num,attributes); +} +static inline HRESULT IWMHeaderInfo_GetAttributeByIndex(IWMHeaderInfo* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length); +} +static inline HRESULT IWMHeaderInfo_GetAttributeByName(IWMHeaderInfo* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo_SetAttribute(IWMHeaderInfo* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo_GetMarkerCount(IWMHeaderInfo* This,WORD *markers) { + return This->lpVtbl->GetMarkerCount(This,markers); +} +static inline HRESULT IWMHeaderInfo_GetMarker(IWMHeaderInfo* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) { + return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time); +} +static inline HRESULT IWMHeaderInfo_AddMarker(IWMHeaderInfo* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) { + return This->lpVtbl->AddMarker(This,marker_name,marker_time); +} +static inline HRESULT IWMHeaderInfo_RemoveMarker(IWMHeaderInfo* This,WORD index) { + return This->lpVtbl->RemoveMarker(This,index); +} +static inline HRESULT IWMHeaderInfo_GetScriptCount(IWMHeaderInfo* This,WORD *scripts) { + return This->lpVtbl->GetScriptCount(This,scripts); +} +static inline HRESULT IWMHeaderInfo_GetScript(IWMHeaderInfo* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) { + return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time); +} +static inline HRESULT IWMHeaderInfo_AddScript(IWMHeaderInfo* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) { + return This->lpVtbl->AddScript(This,type,command,script_time); +} +static inline HRESULT IWMHeaderInfo_RemoveScript(IWMHeaderInfo* This,WORD index) { + return This->lpVtbl->RemoveScript(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IWMHeaderInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMHeaderInfo2 interface + */ +#ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__ +#define __IWMHeaderInfo2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMHeaderInfo2, 0x15cf9781, 0x454e, 0x482e, 0xb3,0x93, 0x85,0xfa,0xe4,0x87,0xa8,0x10); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("15cf9781-454e-482e-b393-85fae487a810") +IWMHeaderInfo2 : public IWMHeaderInfo +{ + virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( + DWORD *codec_infos) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCodecInfo( + DWORD index, + WORD *name_len, + WCHAR *name, + WORD *description_len, + WCHAR *description, + WMT_CODEC_INFO_TYPE *codec_type, + WORD *codec_info_cnt, + BYTE *codec_info) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMHeaderInfo2, 0x15cf9781, 0x454e, 0x482e, 0xb3,0x93, 0x85,0xfa,0xe4,0x87,0xa8,0x10) +#endif +#else +typedef struct IWMHeaderInfo2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMHeaderInfo2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMHeaderInfo2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMHeaderInfo2 *This); + + /*** IWMHeaderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAttributeCount)( + IWMHeaderInfo2 *This, + WORD stream_num, + WORD *attributes); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)( + IWMHeaderInfo2 *This, + WORD index, + WORD *stream_num, + WCHAR *name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByName)( + IWMHeaderInfo2 *This, + WORD *stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *SetAttribute)( + IWMHeaderInfo2 *This, + WORD stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetMarkerCount)( + IWMHeaderInfo2 *This, + WORD *markers); + + HRESULT (STDMETHODCALLTYPE *GetMarker)( + IWMHeaderInfo2 *This, + WORD index, + WCHAR *marker_name, + WORD *marker_len, + QWORD *marker_time); + + HRESULT (STDMETHODCALLTYPE *AddMarker)( + IWMHeaderInfo2 *This, + LPCWSTR_WMSDK_TYPE_SAFE marker_name, + QWORD marker_time); + + HRESULT (STDMETHODCALLTYPE *RemoveMarker)( + IWMHeaderInfo2 *This, + WORD index); + + HRESULT (STDMETHODCALLTYPE *GetScriptCount)( + IWMHeaderInfo2 *This, + WORD *scripts); + + HRESULT (STDMETHODCALLTYPE *GetScript)( + IWMHeaderInfo2 *This, + WORD index, + WCHAR *type, + WORD *type_len, + WCHAR *command, + WORD *command_len, + QWORD *script_time); + + HRESULT (STDMETHODCALLTYPE *AddScript)( + IWMHeaderInfo2 *This, + LPCWSTR_WMSDK_TYPE_SAFE type, + LPCWSTR_WMSDK_TYPE_SAFE command, + QWORD script_time); + + HRESULT (STDMETHODCALLTYPE *RemoveScript)( + IWMHeaderInfo2 *This, + WORD index); + + /*** IWMHeaderInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)( + IWMHeaderInfo2 *This, + DWORD *codec_infos); + + HRESULT (STDMETHODCALLTYPE *GetCodecInfo)( + IWMHeaderInfo2 *This, + DWORD index, + WORD *name_len, + WCHAR *name, + WORD *description_len, + WCHAR *description, + WMT_CODEC_INFO_TYPE *codec_type, + WORD *codec_info_cnt, + BYTE *codec_info); + + END_INTERFACE +} IWMHeaderInfo2Vtbl; + +interface IWMHeaderInfo2 { + CONST_VTBL IWMHeaderInfo2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMHeaderInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMHeaderInfo2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMHeaderInfo2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMHeaderInfo methods ***/ +#define IWMHeaderInfo2_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes) +#define IWMHeaderInfo2_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) +#define IWMHeaderInfo2_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length) +#define IWMHeaderInfo2_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length) +#define IWMHeaderInfo2_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers) +#define IWMHeaderInfo2_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time) +#define IWMHeaderInfo2_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time) +#define IWMHeaderInfo2_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index) +#define IWMHeaderInfo2_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts) +#define IWMHeaderInfo2_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time) +#define IWMHeaderInfo2_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time) +#define IWMHeaderInfo2_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index) +/*** IWMHeaderInfo2 methods ***/ +#define IWMHeaderInfo2_GetCodecInfoCount(This,codec_infos) (This)->lpVtbl->GetCodecInfoCount(This,codec_infos) +#define IWMHeaderInfo2_GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMHeaderInfo2_QueryInterface(IWMHeaderInfo2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMHeaderInfo2_AddRef(IWMHeaderInfo2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMHeaderInfo2_Release(IWMHeaderInfo2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMHeaderInfo methods ***/ +static inline HRESULT IWMHeaderInfo2_GetAttributeCount(IWMHeaderInfo2* This,WORD stream_num,WORD *attributes) { + return This->lpVtbl->GetAttributeCount(This,stream_num,attributes); +} +static inline HRESULT IWMHeaderInfo2_GetAttributeByIndex(IWMHeaderInfo2* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length); +} +static inline HRESULT IWMHeaderInfo2_GetAttributeByName(IWMHeaderInfo2* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo2_SetAttribute(IWMHeaderInfo2* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo2_GetMarkerCount(IWMHeaderInfo2* This,WORD *markers) { + return This->lpVtbl->GetMarkerCount(This,markers); +} +static inline HRESULT IWMHeaderInfo2_GetMarker(IWMHeaderInfo2* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) { + return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time); +} +static inline HRESULT IWMHeaderInfo2_AddMarker(IWMHeaderInfo2* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) { + return This->lpVtbl->AddMarker(This,marker_name,marker_time); +} +static inline HRESULT IWMHeaderInfo2_RemoveMarker(IWMHeaderInfo2* This,WORD index) { + return This->lpVtbl->RemoveMarker(This,index); +} +static inline HRESULT IWMHeaderInfo2_GetScriptCount(IWMHeaderInfo2* This,WORD *scripts) { + return This->lpVtbl->GetScriptCount(This,scripts); +} +static inline HRESULT IWMHeaderInfo2_GetScript(IWMHeaderInfo2* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) { + return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time); +} +static inline HRESULT IWMHeaderInfo2_AddScript(IWMHeaderInfo2* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) { + return This->lpVtbl->AddScript(This,type,command,script_time); +} +static inline HRESULT IWMHeaderInfo2_RemoveScript(IWMHeaderInfo2* This,WORD index) { + return This->lpVtbl->RemoveScript(This,index); +} +/*** IWMHeaderInfo2 methods ***/ +static inline HRESULT IWMHeaderInfo2_GetCodecInfoCount(IWMHeaderInfo2* This,DWORD *codec_infos) { + return This->lpVtbl->GetCodecInfoCount(This,codec_infos); +} +static inline HRESULT IWMHeaderInfo2_GetCodecInfo(IWMHeaderInfo2* This,DWORD index,WORD *name_len,WCHAR *name,WORD *description_len,WCHAR *description,WMT_CODEC_INFO_TYPE *codec_type,WORD *codec_info_cnt,BYTE *codec_info) { + return This->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info); +} +#endif +#endif + +#endif + + +#endif /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMHeaderInfo3 interface + */ +#ifndef __IWMHeaderInfo3_INTERFACE_DEFINED__ +#define __IWMHeaderInfo3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMHeaderInfo3, 0x15cc68e3, 0x27cc, 0x4ecd, 0xb2,0x22, 0x3f,0x5d,0x02,0xd8,0x0b,0xd5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("15cc68e3-27cc-4ecd-b222-3f5d02d80bd5") +IWMHeaderInfo3 : public IWMHeaderInfo2 +{ + virtual HRESULT STDMETHODCALLTYPE GetAttributeCountEx( + WORD stream_num, + WORD *attributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeIndices( + WORD stream_num, + LPCWSTR name, + WORD *lang_index, + WORD *indices, + WORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndexEx( + WORD stream_num, + WORD index, + LPWSTR name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + WORD *lang_index, + BYTE *value, + DWORD *data_len) = 0; + + virtual HRESULT STDMETHODCALLTYPE ModifyAttribute( + WORD stream_num, + WORD index, + WMT_ATTR_DATATYPE type, + WORD lang_index, + const BYTE *value, + DWORD length) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddAttribute( + WORD stream_num, + LPCWSTR name, + WORD *index, + WMT_ATTR_DATATYPE type, + WORD lang_index, + const BYTE *value, + DWORD length) = 0; + + virtual HRESULT STDMETHODCALLTYPE DeleteAttribute( + WORD stream_num, + WORD index) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddCodecInfo( + LPCWSTR_WMSDK_TYPE_SAFE name, + LPCWSTR_WMSDK_TYPE_SAFE description, + WMT_CODEC_INFO_TYPE codec_type, + WORD codec_info_cnt, + BYTE *codec_info) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMHeaderInfo3, 0x15cc68e3, 0x27cc, 0x4ecd, 0xb2,0x22, 0x3f,0x5d,0x02,0xd8,0x0b,0xd5) +#endif +#else +typedef struct IWMHeaderInfo3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMHeaderInfo3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMHeaderInfo3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMHeaderInfo3 *This); + + /*** IWMHeaderInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAttributeCount)( + IWMHeaderInfo3 *This, + WORD stream_num, + WORD *attributes); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)( + IWMHeaderInfo3 *This, + WORD index, + WORD *stream_num, + WCHAR *name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByName)( + IWMHeaderInfo3 *This, + WORD *stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *SetAttribute)( + IWMHeaderInfo3 *This, + WORD stream_num, + LPCWSTR name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetMarkerCount)( + IWMHeaderInfo3 *This, + WORD *markers); + + HRESULT (STDMETHODCALLTYPE *GetMarker)( + IWMHeaderInfo3 *This, + WORD index, + WCHAR *marker_name, + WORD *marker_len, + QWORD *marker_time); + + HRESULT (STDMETHODCALLTYPE *AddMarker)( + IWMHeaderInfo3 *This, + LPCWSTR_WMSDK_TYPE_SAFE marker_name, + QWORD marker_time); + + HRESULT (STDMETHODCALLTYPE *RemoveMarker)( + IWMHeaderInfo3 *This, + WORD index); + + HRESULT (STDMETHODCALLTYPE *GetScriptCount)( + IWMHeaderInfo3 *This, + WORD *scripts); + + HRESULT (STDMETHODCALLTYPE *GetScript)( + IWMHeaderInfo3 *This, + WORD index, + WCHAR *type, + WORD *type_len, + WCHAR *command, + WORD *command_len, + QWORD *script_time); + + HRESULT (STDMETHODCALLTYPE *AddScript)( + IWMHeaderInfo3 *This, + LPCWSTR_WMSDK_TYPE_SAFE type, + LPCWSTR_WMSDK_TYPE_SAFE command, + QWORD script_time); + + HRESULT (STDMETHODCALLTYPE *RemoveScript)( + IWMHeaderInfo3 *This, + WORD index); + + /*** IWMHeaderInfo2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)( + IWMHeaderInfo3 *This, + DWORD *codec_infos); + + HRESULT (STDMETHODCALLTYPE *GetCodecInfo)( + IWMHeaderInfo3 *This, + DWORD index, + WORD *name_len, + WCHAR *name, + WORD *description_len, + WCHAR *description, + WMT_CODEC_INFO_TYPE *codec_type, + WORD *codec_info_cnt, + BYTE *codec_info); + + /*** IWMHeaderInfo3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetAttributeCountEx)( + IWMHeaderInfo3 *This, + WORD stream_num, + WORD *attributes); + + HRESULT (STDMETHODCALLTYPE *GetAttributeIndices)( + IWMHeaderInfo3 *This, + WORD stream_num, + LPCWSTR name, + WORD *lang_index, + WORD *indices, + WORD *count); + + HRESULT (STDMETHODCALLTYPE *GetAttributeByIndexEx)( + IWMHeaderInfo3 *This, + WORD stream_num, + WORD index, + LPWSTR name, + WORD *name_len, + WMT_ATTR_DATATYPE *type, + WORD *lang_index, + BYTE *value, + DWORD *data_len); + + HRESULT (STDMETHODCALLTYPE *ModifyAttribute)( + IWMHeaderInfo3 *This, + WORD stream_num, + WORD index, + WMT_ATTR_DATATYPE type, + WORD lang_index, + const BYTE *value, + DWORD length); + + HRESULT (STDMETHODCALLTYPE *AddAttribute)( + IWMHeaderInfo3 *This, + WORD stream_num, + LPCWSTR name, + WORD *index, + WMT_ATTR_DATATYPE type, + WORD lang_index, + const BYTE *value, + DWORD length); + + HRESULT (STDMETHODCALLTYPE *DeleteAttribute)( + IWMHeaderInfo3 *This, + WORD stream_num, + WORD index); + + HRESULT (STDMETHODCALLTYPE *AddCodecInfo)( + IWMHeaderInfo3 *This, + LPCWSTR_WMSDK_TYPE_SAFE name, + LPCWSTR_WMSDK_TYPE_SAFE description, + WMT_CODEC_INFO_TYPE codec_type, + WORD codec_info_cnt, + BYTE *codec_info); + + END_INTERFACE +} IWMHeaderInfo3Vtbl; + +interface IWMHeaderInfo3 { + CONST_VTBL IWMHeaderInfo3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMHeaderInfo3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMHeaderInfo3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMHeaderInfo3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMHeaderInfo methods ***/ +#define IWMHeaderInfo3_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes) +#define IWMHeaderInfo3_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) +#define IWMHeaderInfo3_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length) +#define IWMHeaderInfo3_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length) +#define IWMHeaderInfo3_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers) +#define IWMHeaderInfo3_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time) +#define IWMHeaderInfo3_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time) +#define IWMHeaderInfo3_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index) +#define IWMHeaderInfo3_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts) +#define IWMHeaderInfo3_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time) +#define IWMHeaderInfo3_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time) +#define IWMHeaderInfo3_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index) +/*** IWMHeaderInfo2 methods ***/ +#define IWMHeaderInfo3_GetCodecInfoCount(This,codec_infos) (This)->lpVtbl->GetCodecInfoCount(This,codec_infos) +#define IWMHeaderInfo3_GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) +/*** IWMHeaderInfo3 methods ***/ +#define IWMHeaderInfo3_GetAttributeCountEx(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCountEx(This,stream_num,attributes) +#define IWMHeaderInfo3_GetAttributeIndices(This,stream_num,name,lang_index,indices,count) (This)->lpVtbl->GetAttributeIndices(This,stream_num,name,lang_index,indices,count) +#define IWMHeaderInfo3_GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len) (This)->lpVtbl->GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len) +#define IWMHeaderInfo3_ModifyAttribute(This,stream_num,index,type,lang_index,value,length) (This)->lpVtbl->ModifyAttribute(This,stream_num,index,type,lang_index,value,length) +#define IWMHeaderInfo3_AddAttribute(This,stream_num,name,index,type,lang_index,value,length) (This)->lpVtbl->AddAttribute(This,stream_num,name,index,type,lang_index,value,length) +#define IWMHeaderInfo3_DeleteAttribute(This,stream_num,index) (This)->lpVtbl->DeleteAttribute(This,stream_num,index) +#define IWMHeaderInfo3_AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMHeaderInfo3_QueryInterface(IWMHeaderInfo3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMHeaderInfo3_AddRef(IWMHeaderInfo3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMHeaderInfo3_Release(IWMHeaderInfo3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMHeaderInfo methods ***/ +static inline HRESULT IWMHeaderInfo3_GetAttributeCount(IWMHeaderInfo3* This,WORD stream_num,WORD *attributes) { + return This->lpVtbl->GetAttributeCount(This,stream_num,attributes); +} +static inline HRESULT IWMHeaderInfo3_GetAttributeByIndex(IWMHeaderInfo3* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length); +} +static inline HRESULT IWMHeaderInfo3_GetAttributeByName(IWMHeaderInfo3* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo3_SetAttribute(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length); +} +static inline HRESULT IWMHeaderInfo3_GetMarkerCount(IWMHeaderInfo3* This,WORD *markers) { + return This->lpVtbl->GetMarkerCount(This,markers); +} +static inline HRESULT IWMHeaderInfo3_GetMarker(IWMHeaderInfo3* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) { + return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time); +} +static inline HRESULT IWMHeaderInfo3_AddMarker(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) { + return This->lpVtbl->AddMarker(This,marker_name,marker_time); +} +static inline HRESULT IWMHeaderInfo3_RemoveMarker(IWMHeaderInfo3* This,WORD index) { + return This->lpVtbl->RemoveMarker(This,index); +} +static inline HRESULT IWMHeaderInfo3_GetScriptCount(IWMHeaderInfo3* This,WORD *scripts) { + return This->lpVtbl->GetScriptCount(This,scripts); +} +static inline HRESULT IWMHeaderInfo3_GetScript(IWMHeaderInfo3* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) { + return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time); +} +static inline HRESULT IWMHeaderInfo3_AddScript(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) { + return This->lpVtbl->AddScript(This,type,command,script_time); +} +static inline HRESULT IWMHeaderInfo3_RemoveScript(IWMHeaderInfo3* This,WORD index) { + return This->lpVtbl->RemoveScript(This,index); +} +/*** IWMHeaderInfo2 methods ***/ +static inline HRESULT IWMHeaderInfo3_GetCodecInfoCount(IWMHeaderInfo3* This,DWORD *codec_infos) { + return This->lpVtbl->GetCodecInfoCount(This,codec_infos); +} +static inline HRESULT IWMHeaderInfo3_GetCodecInfo(IWMHeaderInfo3* This,DWORD index,WORD *name_len,WCHAR *name,WORD *description_len,WCHAR *description,WMT_CODEC_INFO_TYPE *codec_type,WORD *codec_info_cnt,BYTE *codec_info) { + return This->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info); +} +/*** IWMHeaderInfo3 methods ***/ +static inline HRESULT IWMHeaderInfo3_GetAttributeCountEx(IWMHeaderInfo3* This,WORD stream_num,WORD *attributes) { + return This->lpVtbl->GetAttributeCountEx(This,stream_num,attributes); +} +static inline HRESULT IWMHeaderInfo3_GetAttributeIndices(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WORD *lang_index,WORD *indices,WORD *count) { + return This->lpVtbl->GetAttributeIndices(This,stream_num,name,lang_index,indices,count); +} +static inline HRESULT IWMHeaderInfo3_GetAttributeByIndexEx(IWMHeaderInfo3* This,WORD stream_num,WORD index,LPWSTR name,WORD *name_len,WMT_ATTR_DATATYPE *type,WORD *lang_index,BYTE *value,DWORD *data_len) { + return This->lpVtbl->GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len); +} +static inline HRESULT IWMHeaderInfo3_ModifyAttribute(IWMHeaderInfo3* This,WORD stream_num,WORD index,WMT_ATTR_DATATYPE type,WORD lang_index,const BYTE *value,DWORD length) { + return This->lpVtbl->ModifyAttribute(This,stream_num,index,type,lang_index,value,length); +} +static inline HRESULT IWMHeaderInfo3_AddAttribute(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WORD *index,WMT_ATTR_DATATYPE type,WORD lang_index,const BYTE *value,DWORD length) { + return This->lpVtbl->AddAttribute(This,stream_num,name,index,type,lang_index,value,length); +} +static inline HRESULT IWMHeaderInfo3_DeleteAttribute(IWMHeaderInfo3* This,WORD stream_num,WORD index) { + return This->lpVtbl->DeleteAttribute(This,stream_num,index); +} +static inline HRESULT IWMHeaderInfo3_AddCodecInfo(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE name,LPCWSTR_WMSDK_TYPE_SAFE description,WMT_CODEC_INFO_TYPE codec_type,WORD codec_info_cnt,BYTE *codec_info) { + return This->lpVtbl->AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info); +} +#endif +#endif + +#endif + + +#endif /* __IWMHeaderInfo3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderNetworkConfig interface + */ +#ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__ +#define __IWMReaderNetworkConfig_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderNetworkConfig, 0x96406bec, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bec-2b2b-11d3-b36b-00c04f6108ff") +IWMReaderNetworkConfig : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetBufferingTime( + QWORD *buffering_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBufferingTime( + QWORD buffering_time) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges( + WM_PORT_NUMBER_RANGE *array, + DWORD *ranges) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges( + WM_PORT_NUMBER_RANGE *array, + DWORD ranges) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProxySettings( + const WCHAR *protocol, + WMT_PROXY_SETTINGS *proxy) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProxySettings( + LPCWSTR protocol, + WMT_PROXY_SETTINGS proxy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProxyHostName( + const WCHAR *protocol, + WCHAR *hostname, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProxyHostName( + const WCHAR *protocol, + const WCHAR *hostname) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProxyPort( + const WCHAR *protocol, + DWORD *port) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProxyPort( + const WCHAR *protocol, + DWORD port) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList( + const WCHAR *protocol, + WCHAR *exceptions, + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList( + const WCHAR *protocol, + const WCHAR *exceptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal( + const WCHAR *protocol, + WINBOOL *bypass) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal( + const WCHAR *protocol, + WINBOOL bypass) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection( + WINBOOL *detection) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection( + WINBOOL detection) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast( + WINBOOL *multicast) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast( + WINBOOL multicast) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableUDP( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableUDP( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableTCP( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableTCP( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth( + DWORD *bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth( + DWORD bandwidth) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported( + DWORD *protocols) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName( + DWORD protocol_num, + WCHAR *protocol, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl( + const WCHAR *url) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl( + DWORD index, + WCHAR *url, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount( + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderNetworkConfig, 0x96406bec, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderNetworkConfigVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderNetworkConfig *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderNetworkConfig *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderNetworkConfig *This); + + /*** IWMReaderNetworkConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBufferingTime)( + IWMReaderNetworkConfig *This, + QWORD *buffering_time); + + HRESULT (STDMETHODCALLTYPE *SetBufferingTime)( + IWMReaderNetworkConfig *This, + QWORD buffering_time); + + HRESULT (STDMETHODCALLTYPE *GetUDPPortRanges)( + IWMReaderNetworkConfig *This, + WM_PORT_NUMBER_RANGE *array, + DWORD *ranges); + + HRESULT (STDMETHODCALLTYPE *SetUDPPortRanges)( + IWMReaderNetworkConfig *This, + WM_PORT_NUMBER_RANGE *array, + DWORD ranges); + + HRESULT (STDMETHODCALLTYPE *GetProxySettings)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + WMT_PROXY_SETTINGS *proxy); + + HRESULT (STDMETHODCALLTYPE *SetProxySettings)( + IWMReaderNetworkConfig *This, + LPCWSTR protocol, + WMT_PROXY_SETTINGS proxy); + + HRESULT (STDMETHODCALLTYPE *GetProxyHostName)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + WCHAR *hostname, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetProxyHostName)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + const WCHAR *hostname); + + HRESULT (STDMETHODCALLTYPE *GetProxyPort)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + DWORD *port); + + HRESULT (STDMETHODCALLTYPE *SetProxyPort)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + DWORD port); + + HRESULT (STDMETHODCALLTYPE *GetProxyExceptionList)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + WCHAR *exceptions, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *SetProxyExceptionList)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + const WCHAR *exceptions); + + HRESULT (STDMETHODCALLTYPE *GetProxyBypassForLocal)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + WINBOOL *bypass); + + HRESULT (STDMETHODCALLTYPE *SetProxyBypassForLocal)( + IWMReaderNetworkConfig *This, + const WCHAR *protocol, + WINBOOL bypass); + + HRESULT (STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection)( + IWMReaderNetworkConfig *This, + WINBOOL *detection); + + HRESULT (STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection)( + IWMReaderNetworkConfig *This, + WINBOOL detection); + + HRESULT (STDMETHODCALLTYPE *GetEnableMulticast)( + IWMReaderNetworkConfig *This, + WINBOOL *multicast); + + HRESULT (STDMETHODCALLTYPE *SetEnableMulticast)( + IWMReaderNetworkConfig *This, + WINBOOL multicast); + + HRESULT (STDMETHODCALLTYPE *GetEnableHTTP)( + IWMReaderNetworkConfig *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableHTTP)( + IWMReaderNetworkConfig *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableUDP)( + IWMReaderNetworkConfig *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableUDP)( + IWMReaderNetworkConfig *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableTCP)( + IWMReaderNetworkConfig *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableTCP)( + IWMReaderNetworkConfig *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *ResetProtocolRollover)( + IWMReaderNetworkConfig *This); + + HRESULT (STDMETHODCALLTYPE *GetConnectionBandwidth)( + IWMReaderNetworkConfig *This, + DWORD *bandwidth); + + HRESULT (STDMETHODCALLTYPE *SetConnectionBandwidth)( + IWMReaderNetworkConfig *This, + DWORD bandwidth); + + HRESULT (STDMETHODCALLTYPE *GetNumProtocolsSupported)( + IWMReaderNetworkConfig *This, + DWORD *protocols); + + HRESULT (STDMETHODCALLTYPE *GetSupportedProtocolName)( + IWMReaderNetworkConfig *This, + DWORD protocol_num, + WCHAR *protocol, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *AddLoggingUrl)( + IWMReaderNetworkConfig *This, + const WCHAR *url); + + HRESULT (STDMETHODCALLTYPE *GetLoggingUrl)( + IWMReaderNetworkConfig *This, + DWORD index, + WCHAR *url, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *GetLoggingUrlCount)( + IWMReaderNetworkConfig *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *ResetLoggingUrlList)( + IWMReaderNetworkConfig *This); + + END_INTERFACE +} IWMReaderNetworkConfigVtbl; + +interface IWMReaderNetworkConfig { + CONST_VTBL IWMReaderNetworkConfigVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderNetworkConfig_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderNetworkConfig_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderNetworkConfig methods ***/ +#define IWMReaderNetworkConfig_GetBufferingTime(This,buffering_time) (This)->lpVtbl->GetBufferingTime(This,buffering_time) +#define IWMReaderNetworkConfig_SetBufferingTime(This,buffering_time) (This)->lpVtbl->SetBufferingTime(This,buffering_time) +#define IWMReaderNetworkConfig_GetUDPPortRanges(This,array,ranges) (This)->lpVtbl->GetUDPPortRanges(This,array,ranges) +#define IWMReaderNetworkConfig_SetUDPPortRanges(This,array,ranges) (This)->lpVtbl->SetUDPPortRanges(This,array,ranges) +#define IWMReaderNetworkConfig_GetProxySettings(This,protocol,proxy) (This)->lpVtbl->GetProxySettings(This,protocol,proxy) +#define IWMReaderNetworkConfig_SetProxySettings(This,protocol,proxy) (This)->lpVtbl->SetProxySettings(This,protocol,proxy) +#define IWMReaderNetworkConfig_GetProxyHostName(This,protocol,hostname,size) (This)->lpVtbl->GetProxyHostName(This,protocol,hostname,size) +#define IWMReaderNetworkConfig_SetProxyHostName(This,protocol,hostname) (This)->lpVtbl->SetProxyHostName(This,protocol,hostname) +#define IWMReaderNetworkConfig_GetProxyPort(This,protocol,port) (This)->lpVtbl->GetProxyPort(This,protocol,port) +#define IWMReaderNetworkConfig_SetProxyPort(This,protocol,port) (This)->lpVtbl->SetProxyPort(This,protocol,port) +#define IWMReaderNetworkConfig_GetProxyExceptionList(This,protocol,exceptions,count) (This)->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count) +#define IWMReaderNetworkConfig_SetProxyExceptionList(This,protocol,exceptions) (This)->lpVtbl->SetProxyExceptionList(This,protocol,exceptions) +#define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass) +#define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass) +#define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->GetForceRerunAutoProxyDetection(This,detection) +#define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->SetForceRerunAutoProxyDetection(This,detection) +#define IWMReaderNetworkConfig_GetEnableMulticast(This,multicast) (This)->lpVtbl->GetEnableMulticast(This,multicast) +#define IWMReaderNetworkConfig_SetEnableMulticast(This,multicast) (This)->lpVtbl->SetEnableMulticast(This,multicast) +#define IWMReaderNetworkConfig_GetEnableHTTP(This,enable) (This)->lpVtbl->GetEnableHTTP(This,enable) +#define IWMReaderNetworkConfig_SetEnableHTTP(This,enable) (This)->lpVtbl->SetEnableHTTP(This,enable) +#define IWMReaderNetworkConfig_GetEnableUDP(This,enable) (This)->lpVtbl->GetEnableUDP(This,enable) +#define IWMReaderNetworkConfig_SetEnableUDP(This,enable) (This)->lpVtbl->SetEnableUDP(This,enable) +#define IWMReaderNetworkConfig_GetEnableTCP(This,enable) (This)->lpVtbl->GetEnableTCP(This,enable) +#define IWMReaderNetworkConfig_SetEnableTCP(This,enable) (This)->lpVtbl->SetEnableTCP(This,enable) +#define IWMReaderNetworkConfig_ResetProtocolRollover(This) (This)->lpVtbl->ResetProtocolRollover(This) +#define IWMReaderNetworkConfig_GetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->GetConnectionBandwidth(This,bandwidth) +#define IWMReaderNetworkConfig_SetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->SetConnectionBandwidth(This,bandwidth) +#define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,protocols) (This)->lpVtbl->GetNumProtocolsSupported(This,protocols) +#define IWMReaderNetworkConfig_GetSupportedProtocolName(This,protocol_num,protocol,size) (This)->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size) +#define IWMReaderNetworkConfig_AddLoggingUrl(This,url) (This)->lpVtbl->AddLoggingUrl(This,url) +#define IWMReaderNetworkConfig_GetLoggingUrl(This,index,url,size) (This)->lpVtbl->GetLoggingUrl(This,index,url,size) +#define IWMReaderNetworkConfig_GetLoggingUrlCount(This,count) (This)->lpVtbl->GetLoggingUrlCount(This,count) +#define IWMReaderNetworkConfig_ResetLoggingUrlList(This) (This)->lpVtbl->ResetLoggingUrlList(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderNetworkConfig_QueryInterface(IWMReaderNetworkConfig* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderNetworkConfig_AddRef(IWMReaderNetworkConfig* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderNetworkConfig_Release(IWMReaderNetworkConfig* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderNetworkConfig methods ***/ +static inline HRESULT IWMReaderNetworkConfig_GetBufferingTime(IWMReaderNetworkConfig* This,QWORD *buffering_time) { + return This->lpVtbl->GetBufferingTime(This,buffering_time); +} +static inline HRESULT IWMReaderNetworkConfig_SetBufferingTime(IWMReaderNetworkConfig* This,QWORD buffering_time) { + return This->lpVtbl->SetBufferingTime(This,buffering_time); +} +static inline HRESULT IWMReaderNetworkConfig_GetUDPPortRanges(IWMReaderNetworkConfig* This,WM_PORT_NUMBER_RANGE *array,DWORD *ranges) { + return This->lpVtbl->GetUDPPortRanges(This,array,ranges); +} +static inline HRESULT IWMReaderNetworkConfig_SetUDPPortRanges(IWMReaderNetworkConfig* This,WM_PORT_NUMBER_RANGE *array,DWORD ranges) { + return This->lpVtbl->SetUDPPortRanges(This,array,ranges); +} +static inline HRESULT IWMReaderNetworkConfig_GetProxySettings(IWMReaderNetworkConfig* This,const WCHAR *protocol,WMT_PROXY_SETTINGS *proxy) { + return This->lpVtbl->GetProxySettings(This,protocol,proxy); +} +static inline HRESULT IWMReaderNetworkConfig_SetProxySettings(IWMReaderNetworkConfig* This,LPCWSTR protocol,WMT_PROXY_SETTINGS proxy) { + return This->lpVtbl->SetProxySettings(This,protocol,proxy); +} +static inline HRESULT IWMReaderNetworkConfig_GetProxyHostName(IWMReaderNetworkConfig* This,const WCHAR *protocol,WCHAR *hostname,DWORD *size) { + return This->lpVtbl->GetProxyHostName(This,protocol,hostname,size); +} +static inline HRESULT IWMReaderNetworkConfig_SetProxyHostName(IWMReaderNetworkConfig* This,const WCHAR *protocol,const WCHAR *hostname) { + return This->lpVtbl->SetProxyHostName(This,protocol,hostname); +} +static inline HRESULT IWMReaderNetworkConfig_GetProxyPort(IWMReaderNetworkConfig* This,const WCHAR *protocol,DWORD *port) { + return This->lpVtbl->GetProxyPort(This,protocol,port); +} +static inline HRESULT IWMReaderNetworkConfig_SetProxyPort(IWMReaderNetworkConfig* This,const WCHAR *protocol,DWORD port) { + return This->lpVtbl->SetProxyPort(This,protocol,port); +} +static inline HRESULT IWMReaderNetworkConfig_GetProxyExceptionList(IWMReaderNetworkConfig* This,const WCHAR *protocol,WCHAR *exceptions,DWORD *count) { + return This->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count); +} +static inline HRESULT IWMReaderNetworkConfig_SetProxyExceptionList(IWMReaderNetworkConfig* This,const WCHAR *protocol,const WCHAR *exceptions) { + return This->lpVtbl->SetProxyExceptionList(This,protocol,exceptions); +} +static inline HRESULT IWMReaderNetworkConfig_GetProxyBypassForLocal(IWMReaderNetworkConfig* This,const WCHAR *protocol,WINBOOL *bypass) { + return This->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass); +} +static inline HRESULT IWMReaderNetworkConfig_SetProxyBypassForLocal(IWMReaderNetworkConfig* This,const WCHAR *protocol,WINBOOL bypass) { + return This->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass); +} +static inline HRESULT IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig* This,WINBOOL *detection) { + return This->lpVtbl->GetForceRerunAutoProxyDetection(This,detection); +} +static inline HRESULT IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig* This,WINBOOL detection) { + return This->lpVtbl->SetForceRerunAutoProxyDetection(This,detection); +} +static inline HRESULT IWMReaderNetworkConfig_GetEnableMulticast(IWMReaderNetworkConfig* This,WINBOOL *multicast) { + return This->lpVtbl->GetEnableMulticast(This,multicast); +} +static inline HRESULT IWMReaderNetworkConfig_SetEnableMulticast(IWMReaderNetworkConfig* This,WINBOOL multicast) { + return This->lpVtbl->SetEnableMulticast(This,multicast); +} +static inline HRESULT IWMReaderNetworkConfig_GetEnableHTTP(IWMReaderNetworkConfig* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableHTTP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_SetEnableHTTP(IWMReaderNetworkConfig* This,WINBOOL enable) { + return This->lpVtbl->SetEnableHTTP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_GetEnableUDP(IWMReaderNetworkConfig* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableUDP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_SetEnableUDP(IWMReaderNetworkConfig* This,WINBOOL enable) { + return This->lpVtbl->SetEnableUDP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_GetEnableTCP(IWMReaderNetworkConfig* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableTCP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_SetEnableTCP(IWMReaderNetworkConfig* This,WINBOOL enable) { + return This->lpVtbl->SetEnableTCP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig_ResetProtocolRollover(IWMReaderNetworkConfig* This) { + return This->lpVtbl->ResetProtocolRollover(This); +} +static inline HRESULT IWMReaderNetworkConfig_GetConnectionBandwidth(IWMReaderNetworkConfig* This,DWORD *bandwidth) { + return This->lpVtbl->GetConnectionBandwidth(This,bandwidth); +} +static inline HRESULT IWMReaderNetworkConfig_SetConnectionBandwidth(IWMReaderNetworkConfig* This,DWORD bandwidth) { + return This->lpVtbl->SetConnectionBandwidth(This,bandwidth); +} +static inline HRESULT IWMReaderNetworkConfig_GetNumProtocolsSupported(IWMReaderNetworkConfig* This,DWORD *protocols) { + return This->lpVtbl->GetNumProtocolsSupported(This,protocols); +} +static inline HRESULT IWMReaderNetworkConfig_GetSupportedProtocolName(IWMReaderNetworkConfig* This,DWORD protocol_num,WCHAR *protocol,DWORD *size) { + return This->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size); +} +static inline HRESULT IWMReaderNetworkConfig_AddLoggingUrl(IWMReaderNetworkConfig* This,const WCHAR *url) { + return This->lpVtbl->AddLoggingUrl(This,url); +} +static inline HRESULT IWMReaderNetworkConfig_GetLoggingUrl(IWMReaderNetworkConfig* This,DWORD index,WCHAR *url,DWORD *size) { + return This->lpVtbl->GetLoggingUrl(This,index,url,size); +} +static inline HRESULT IWMReaderNetworkConfig_GetLoggingUrlCount(IWMReaderNetworkConfig* This,DWORD *count) { + return This->lpVtbl->GetLoggingUrlCount(This,count); +} +static inline HRESULT IWMReaderNetworkConfig_ResetLoggingUrlList(IWMReaderNetworkConfig* This) { + return This->lpVtbl->ResetLoggingUrlList(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderNetworkConfig2 interface + */ +#ifndef __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ +#define __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderNetworkConfig2, 0xd979a853, 0x042b, 0x4050, 0x83,0x87, 0xc9,0x39,0xdb,0x22,0x01,0x3f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d979a853-042b-4050-8387-c939db22013f") +IWMReaderNetworkConfig2 : public IWMReaderNetworkConfig +{ + virtual HRESULT STDMETHODCALLTYPE GetEnableContentCaching( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableContentCaching( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableFastCache( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableFastCache( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAcceleratedStreamingDuration( + QWORD *duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAcceleratedStreamingDuration( + QWORD duration) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAutoReconnectLimit( + DWORD *limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAutoReconnectLimit( + DWORD limit) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableResends( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableResends( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnableThinning( + WINBOOL *enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEnableThinning( + WINBOOL enable) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMaxNetPacketSize( + DWORD *packet_size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderNetworkConfig2, 0xd979a853, 0x042b, 0x4050, 0x83,0x87, 0xc9,0x39,0xdb,0x22,0x01,0x3f) +#endif +#else +typedef struct IWMReaderNetworkConfig2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderNetworkConfig2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderNetworkConfig2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderNetworkConfig2 *This); + + /*** IWMReaderNetworkConfig methods ***/ + HRESULT (STDMETHODCALLTYPE *GetBufferingTime)( + IWMReaderNetworkConfig2 *This, + QWORD *buffering_time); + + HRESULT (STDMETHODCALLTYPE *SetBufferingTime)( + IWMReaderNetworkConfig2 *This, + QWORD buffering_time); + + HRESULT (STDMETHODCALLTYPE *GetUDPPortRanges)( + IWMReaderNetworkConfig2 *This, + WM_PORT_NUMBER_RANGE *array, + DWORD *ranges); + + HRESULT (STDMETHODCALLTYPE *SetUDPPortRanges)( + IWMReaderNetworkConfig2 *This, + WM_PORT_NUMBER_RANGE *array, + DWORD ranges); + + HRESULT (STDMETHODCALLTYPE *GetProxySettings)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + WMT_PROXY_SETTINGS *proxy); + + HRESULT (STDMETHODCALLTYPE *SetProxySettings)( + IWMReaderNetworkConfig2 *This, + LPCWSTR protocol, + WMT_PROXY_SETTINGS proxy); + + HRESULT (STDMETHODCALLTYPE *GetProxyHostName)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + WCHAR *hostname, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetProxyHostName)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + const WCHAR *hostname); + + HRESULT (STDMETHODCALLTYPE *GetProxyPort)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + DWORD *port); + + HRESULT (STDMETHODCALLTYPE *SetProxyPort)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + DWORD port); + + HRESULT (STDMETHODCALLTYPE *GetProxyExceptionList)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + WCHAR *exceptions, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *SetProxyExceptionList)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + const WCHAR *exceptions); + + HRESULT (STDMETHODCALLTYPE *GetProxyBypassForLocal)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + WINBOOL *bypass); + + HRESULT (STDMETHODCALLTYPE *SetProxyBypassForLocal)( + IWMReaderNetworkConfig2 *This, + const WCHAR *protocol, + WINBOOL bypass); + + HRESULT (STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection)( + IWMReaderNetworkConfig2 *This, + WINBOOL *detection); + + HRESULT (STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection)( + IWMReaderNetworkConfig2 *This, + WINBOOL detection); + + HRESULT (STDMETHODCALLTYPE *GetEnableMulticast)( + IWMReaderNetworkConfig2 *This, + WINBOOL *multicast); + + HRESULT (STDMETHODCALLTYPE *SetEnableMulticast)( + IWMReaderNetworkConfig2 *This, + WINBOOL multicast); + + HRESULT (STDMETHODCALLTYPE *GetEnableHTTP)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableHTTP)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableUDP)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableUDP)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableTCP)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableTCP)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *ResetProtocolRollover)( + IWMReaderNetworkConfig2 *This); + + HRESULT (STDMETHODCALLTYPE *GetConnectionBandwidth)( + IWMReaderNetworkConfig2 *This, + DWORD *bandwidth); + + HRESULT (STDMETHODCALLTYPE *SetConnectionBandwidth)( + IWMReaderNetworkConfig2 *This, + DWORD bandwidth); + + HRESULT (STDMETHODCALLTYPE *GetNumProtocolsSupported)( + IWMReaderNetworkConfig2 *This, + DWORD *protocols); + + HRESULT (STDMETHODCALLTYPE *GetSupportedProtocolName)( + IWMReaderNetworkConfig2 *This, + DWORD protocol_num, + WCHAR *protocol, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *AddLoggingUrl)( + IWMReaderNetworkConfig2 *This, + const WCHAR *url); + + HRESULT (STDMETHODCALLTYPE *GetLoggingUrl)( + IWMReaderNetworkConfig2 *This, + DWORD index, + WCHAR *url, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *GetLoggingUrlCount)( + IWMReaderNetworkConfig2 *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *ResetLoggingUrlList)( + IWMReaderNetworkConfig2 *This); + + /*** IWMReaderNetworkConfig2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEnableContentCaching)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableContentCaching)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableFastCache)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableFastCache)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetAcceleratedStreamingDuration)( + IWMReaderNetworkConfig2 *This, + QWORD *duration); + + HRESULT (STDMETHODCALLTYPE *SetAcceleratedStreamingDuration)( + IWMReaderNetworkConfig2 *This, + QWORD duration); + + HRESULT (STDMETHODCALLTYPE *GetAutoReconnectLimit)( + IWMReaderNetworkConfig2 *This, + DWORD *limit); + + HRESULT (STDMETHODCALLTYPE *SetAutoReconnectLimit)( + IWMReaderNetworkConfig2 *This, + DWORD limit); + + HRESULT (STDMETHODCALLTYPE *GetEnableResends)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableResends)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetEnableThinning)( + IWMReaderNetworkConfig2 *This, + WINBOOL *enable); + + HRESULT (STDMETHODCALLTYPE *SetEnableThinning)( + IWMReaderNetworkConfig2 *This, + WINBOOL enable); + + HRESULT (STDMETHODCALLTYPE *GetMaxNetPacketSize)( + IWMReaderNetworkConfig2 *This, + DWORD *packet_size); + + END_INTERFACE +} IWMReaderNetworkConfig2Vtbl; + +interface IWMReaderNetworkConfig2 { + CONST_VTBL IWMReaderNetworkConfig2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderNetworkConfig2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderNetworkConfig2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderNetworkConfig2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderNetworkConfig methods ***/ +#define IWMReaderNetworkConfig2_GetBufferingTime(This,buffering_time) (This)->lpVtbl->GetBufferingTime(This,buffering_time) +#define IWMReaderNetworkConfig2_SetBufferingTime(This,buffering_time) (This)->lpVtbl->SetBufferingTime(This,buffering_time) +#define IWMReaderNetworkConfig2_GetUDPPortRanges(This,array,ranges) (This)->lpVtbl->GetUDPPortRanges(This,array,ranges) +#define IWMReaderNetworkConfig2_SetUDPPortRanges(This,array,ranges) (This)->lpVtbl->SetUDPPortRanges(This,array,ranges) +#define IWMReaderNetworkConfig2_GetProxySettings(This,protocol,proxy) (This)->lpVtbl->GetProxySettings(This,protocol,proxy) +#define IWMReaderNetworkConfig2_SetProxySettings(This,protocol,proxy) (This)->lpVtbl->SetProxySettings(This,protocol,proxy) +#define IWMReaderNetworkConfig2_GetProxyHostName(This,protocol,hostname,size) (This)->lpVtbl->GetProxyHostName(This,protocol,hostname,size) +#define IWMReaderNetworkConfig2_SetProxyHostName(This,protocol,hostname) (This)->lpVtbl->SetProxyHostName(This,protocol,hostname) +#define IWMReaderNetworkConfig2_GetProxyPort(This,protocol,port) (This)->lpVtbl->GetProxyPort(This,protocol,port) +#define IWMReaderNetworkConfig2_SetProxyPort(This,protocol,port) (This)->lpVtbl->SetProxyPort(This,protocol,port) +#define IWMReaderNetworkConfig2_GetProxyExceptionList(This,protocol,exceptions,count) (This)->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count) +#define IWMReaderNetworkConfig2_SetProxyExceptionList(This,protocol,exceptions) (This)->lpVtbl->SetProxyExceptionList(This,protocol,exceptions) +#define IWMReaderNetworkConfig2_GetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass) +#define IWMReaderNetworkConfig2_SetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass) +#define IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->GetForceRerunAutoProxyDetection(This,detection) +#define IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->SetForceRerunAutoProxyDetection(This,detection) +#define IWMReaderNetworkConfig2_GetEnableMulticast(This,multicast) (This)->lpVtbl->GetEnableMulticast(This,multicast) +#define IWMReaderNetworkConfig2_SetEnableMulticast(This,multicast) (This)->lpVtbl->SetEnableMulticast(This,multicast) +#define IWMReaderNetworkConfig2_GetEnableHTTP(This,enable) (This)->lpVtbl->GetEnableHTTP(This,enable) +#define IWMReaderNetworkConfig2_SetEnableHTTP(This,enable) (This)->lpVtbl->SetEnableHTTP(This,enable) +#define IWMReaderNetworkConfig2_GetEnableUDP(This,enable) (This)->lpVtbl->GetEnableUDP(This,enable) +#define IWMReaderNetworkConfig2_SetEnableUDP(This,enable) (This)->lpVtbl->SetEnableUDP(This,enable) +#define IWMReaderNetworkConfig2_GetEnableTCP(This,enable) (This)->lpVtbl->GetEnableTCP(This,enable) +#define IWMReaderNetworkConfig2_SetEnableTCP(This,enable) (This)->lpVtbl->SetEnableTCP(This,enable) +#define IWMReaderNetworkConfig2_ResetProtocolRollover(This) (This)->lpVtbl->ResetProtocolRollover(This) +#define IWMReaderNetworkConfig2_GetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->GetConnectionBandwidth(This,bandwidth) +#define IWMReaderNetworkConfig2_SetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->SetConnectionBandwidth(This,bandwidth) +#define IWMReaderNetworkConfig2_GetNumProtocolsSupported(This,protocols) (This)->lpVtbl->GetNumProtocolsSupported(This,protocols) +#define IWMReaderNetworkConfig2_GetSupportedProtocolName(This,protocol_num,protocol,size) (This)->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size) +#define IWMReaderNetworkConfig2_AddLoggingUrl(This,url) (This)->lpVtbl->AddLoggingUrl(This,url) +#define IWMReaderNetworkConfig2_GetLoggingUrl(This,index,url,size) (This)->lpVtbl->GetLoggingUrl(This,index,url,size) +#define IWMReaderNetworkConfig2_GetLoggingUrlCount(This,count) (This)->lpVtbl->GetLoggingUrlCount(This,count) +#define IWMReaderNetworkConfig2_ResetLoggingUrlList(This) (This)->lpVtbl->ResetLoggingUrlList(This) +/*** IWMReaderNetworkConfig2 methods ***/ +#define IWMReaderNetworkConfig2_GetEnableContentCaching(This,enable) (This)->lpVtbl->GetEnableContentCaching(This,enable) +#define IWMReaderNetworkConfig2_SetEnableContentCaching(This,enable) (This)->lpVtbl->SetEnableContentCaching(This,enable) +#define IWMReaderNetworkConfig2_GetEnableFastCache(This,enable) (This)->lpVtbl->GetEnableFastCache(This,enable) +#define IWMReaderNetworkConfig2_SetEnableFastCache(This,enable) (This)->lpVtbl->SetEnableFastCache(This,enable) +#define IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(This,duration) (This)->lpVtbl->GetAcceleratedStreamingDuration(This,duration) +#define IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(This,duration) (This)->lpVtbl->SetAcceleratedStreamingDuration(This,duration) +#define IWMReaderNetworkConfig2_GetAutoReconnectLimit(This,limit) (This)->lpVtbl->GetAutoReconnectLimit(This,limit) +#define IWMReaderNetworkConfig2_SetAutoReconnectLimit(This,limit) (This)->lpVtbl->SetAutoReconnectLimit(This,limit) +#define IWMReaderNetworkConfig2_GetEnableResends(This,enable) (This)->lpVtbl->GetEnableResends(This,enable) +#define IWMReaderNetworkConfig2_SetEnableResends(This,enable) (This)->lpVtbl->SetEnableResends(This,enable) +#define IWMReaderNetworkConfig2_GetEnableThinning(This,enable) (This)->lpVtbl->GetEnableThinning(This,enable) +#define IWMReaderNetworkConfig2_SetEnableThinning(This,enable) (This)->lpVtbl->SetEnableThinning(This,enable) +#define IWMReaderNetworkConfig2_GetMaxNetPacketSize(This,packet_size) (This)->lpVtbl->GetMaxNetPacketSize(This,packet_size) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderNetworkConfig2_QueryInterface(IWMReaderNetworkConfig2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderNetworkConfig2_AddRef(IWMReaderNetworkConfig2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderNetworkConfig2_Release(IWMReaderNetworkConfig2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderNetworkConfig methods ***/ +static inline HRESULT IWMReaderNetworkConfig2_GetBufferingTime(IWMReaderNetworkConfig2* This,QWORD *buffering_time) { + return This->lpVtbl->GetBufferingTime(This,buffering_time); +} +static inline HRESULT IWMReaderNetworkConfig2_SetBufferingTime(IWMReaderNetworkConfig2* This,QWORD buffering_time) { + return This->lpVtbl->SetBufferingTime(This,buffering_time); +} +static inline HRESULT IWMReaderNetworkConfig2_GetUDPPortRanges(IWMReaderNetworkConfig2* This,WM_PORT_NUMBER_RANGE *array,DWORD *ranges) { + return This->lpVtbl->GetUDPPortRanges(This,array,ranges); +} +static inline HRESULT IWMReaderNetworkConfig2_SetUDPPortRanges(IWMReaderNetworkConfig2* This,WM_PORT_NUMBER_RANGE *array,DWORD ranges) { + return This->lpVtbl->SetUDPPortRanges(This,array,ranges); +} +static inline HRESULT IWMReaderNetworkConfig2_GetProxySettings(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WMT_PROXY_SETTINGS *proxy) { + return This->lpVtbl->GetProxySettings(This,protocol,proxy); +} +static inline HRESULT IWMReaderNetworkConfig2_SetProxySettings(IWMReaderNetworkConfig2* This,LPCWSTR protocol,WMT_PROXY_SETTINGS proxy) { + return This->lpVtbl->SetProxySettings(This,protocol,proxy); +} +static inline HRESULT IWMReaderNetworkConfig2_GetProxyHostName(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WCHAR *hostname,DWORD *size) { + return This->lpVtbl->GetProxyHostName(This,protocol,hostname,size); +} +static inline HRESULT IWMReaderNetworkConfig2_SetProxyHostName(IWMReaderNetworkConfig2* This,const WCHAR *protocol,const WCHAR *hostname) { + return This->lpVtbl->SetProxyHostName(This,protocol,hostname); +} +static inline HRESULT IWMReaderNetworkConfig2_GetProxyPort(IWMReaderNetworkConfig2* This,const WCHAR *protocol,DWORD *port) { + return This->lpVtbl->GetProxyPort(This,protocol,port); +} +static inline HRESULT IWMReaderNetworkConfig2_SetProxyPort(IWMReaderNetworkConfig2* This,const WCHAR *protocol,DWORD port) { + return This->lpVtbl->SetProxyPort(This,protocol,port); +} +static inline HRESULT IWMReaderNetworkConfig2_GetProxyExceptionList(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WCHAR *exceptions,DWORD *count) { + return This->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count); +} +static inline HRESULT IWMReaderNetworkConfig2_SetProxyExceptionList(IWMReaderNetworkConfig2* This,const WCHAR *protocol,const WCHAR *exceptions) { + return This->lpVtbl->SetProxyExceptionList(This,protocol,exceptions); +} +static inline HRESULT IWMReaderNetworkConfig2_GetProxyBypassForLocal(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WINBOOL *bypass) { + return This->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass); +} +static inline HRESULT IWMReaderNetworkConfig2_SetProxyBypassForLocal(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WINBOOL bypass) { + return This->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass); +} +static inline HRESULT IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2* This,WINBOOL *detection) { + return This->lpVtbl->GetForceRerunAutoProxyDetection(This,detection); +} +static inline HRESULT IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2* This,WINBOOL detection) { + return This->lpVtbl->SetForceRerunAutoProxyDetection(This,detection); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableMulticast(IWMReaderNetworkConfig2* This,WINBOOL *multicast) { + return This->lpVtbl->GetEnableMulticast(This,multicast); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableMulticast(IWMReaderNetworkConfig2* This,WINBOOL multicast) { + return This->lpVtbl->SetEnableMulticast(This,multicast); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableHTTP(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableHTTP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableHTTP(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableHTTP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableUDP(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableUDP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableUDP(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableUDP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableTCP(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableTCP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableTCP(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableTCP(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_ResetProtocolRollover(IWMReaderNetworkConfig2* This) { + return This->lpVtbl->ResetProtocolRollover(This); +} +static inline HRESULT IWMReaderNetworkConfig2_GetConnectionBandwidth(IWMReaderNetworkConfig2* This,DWORD *bandwidth) { + return This->lpVtbl->GetConnectionBandwidth(This,bandwidth); +} +static inline HRESULT IWMReaderNetworkConfig2_SetConnectionBandwidth(IWMReaderNetworkConfig2* This,DWORD bandwidth) { + return This->lpVtbl->SetConnectionBandwidth(This,bandwidth); +} +static inline HRESULT IWMReaderNetworkConfig2_GetNumProtocolsSupported(IWMReaderNetworkConfig2* This,DWORD *protocols) { + return This->lpVtbl->GetNumProtocolsSupported(This,protocols); +} +static inline HRESULT IWMReaderNetworkConfig2_GetSupportedProtocolName(IWMReaderNetworkConfig2* This,DWORD protocol_num,WCHAR *protocol,DWORD *size) { + return This->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size); +} +static inline HRESULT IWMReaderNetworkConfig2_AddLoggingUrl(IWMReaderNetworkConfig2* This,const WCHAR *url) { + return This->lpVtbl->AddLoggingUrl(This,url); +} +static inline HRESULT IWMReaderNetworkConfig2_GetLoggingUrl(IWMReaderNetworkConfig2* This,DWORD index,WCHAR *url,DWORD *size) { + return This->lpVtbl->GetLoggingUrl(This,index,url,size); +} +static inline HRESULT IWMReaderNetworkConfig2_GetLoggingUrlCount(IWMReaderNetworkConfig2* This,DWORD *count) { + return This->lpVtbl->GetLoggingUrlCount(This,count); +} +static inline HRESULT IWMReaderNetworkConfig2_ResetLoggingUrlList(IWMReaderNetworkConfig2* This) { + return This->lpVtbl->ResetLoggingUrlList(This); +} +/*** IWMReaderNetworkConfig2 methods ***/ +static inline HRESULT IWMReaderNetworkConfig2_GetEnableContentCaching(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableContentCaching(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableContentCaching(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableContentCaching(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableFastCache(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableFastCache(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableFastCache(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableFastCache(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(IWMReaderNetworkConfig2* This,QWORD *duration) { + return This->lpVtbl->GetAcceleratedStreamingDuration(This,duration); +} +static inline HRESULT IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(IWMReaderNetworkConfig2* This,QWORD duration) { + return This->lpVtbl->SetAcceleratedStreamingDuration(This,duration); +} +static inline HRESULT IWMReaderNetworkConfig2_GetAutoReconnectLimit(IWMReaderNetworkConfig2* This,DWORD *limit) { + return This->lpVtbl->GetAutoReconnectLimit(This,limit); +} +static inline HRESULT IWMReaderNetworkConfig2_SetAutoReconnectLimit(IWMReaderNetworkConfig2* This,DWORD limit) { + return This->lpVtbl->SetAutoReconnectLimit(This,limit); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableResends(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableResends(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableResends(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableResends(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetEnableThinning(IWMReaderNetworkConfig2* This,WINBOOL *enable) { + return This->lpVtbl->GetEnableThinning(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_SetEnableThinning(IWMReaderNetworkConfig2* This,WINBOOL enable) { + return This->lpVtbl->SetEnableThinning(This,enable); +} +static inline HRESULT IWMReaderNetworkConfig2_GetMaxNetPacketSize(IWMReaderNetworkConfig2* This,DWORD *packet_size) { + return This->lpVtbl->GetMaxNetPacketSize(This,packet_size); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderStreamClock interface + */ +#ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__ +#define __IWMReaderStreamClock_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderStreamClock, 0x96406bed, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("96406bed-2b2b-11d3-b36b-00c04f6108ff") +IWMReaderStreamClock : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetTime( + QWORD *now) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTimer( + QWORD when, + void *param, + DWORD *id) = 0; + + virtual HRESULT STDMETHODCALLTYPE KillTimer( + DWORD id) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderStreamClock, 0x96406bed, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff) +#endif +#else +typedef struct IWMReaderStreamClockVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderStreamClock *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderStreamClock *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderStreamClock *This); + + /*** IWMReaderStreamClock methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTime)( + IWMReaderStreamClock *This, + QWORD *now); + + HRESULT (STDMETHODCALLTYPE *SetTimer)( + IWMReaderStreamClock *This, + QWORD when, + void *param, + DWORD *id); + + HRESULT (STDMETHODCALLTYPE *KillTimer)( + IWMReaderStreamClock *This, + DWORD id); + + END_INTERFACE +} IWMReaderStreamClockVtbl; + +interface IWMReaderStreamClock { + CONST_VTBL IWMReaderStreamClockVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderStreamClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderStreamClock_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderStreamClock_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderStreamClock methods ***/ +#define IWMReaderStreamClock_GetTime(This,now) (This)->lpVtbl->GetTime(This,now) +#define IWMReaderStreamClock_SetTimer(This,when,param,id) (This)->lpVtbl->SetTimer(This,when,param,id) +#define IWMReaderStreamClock_KillTimer(This,id) (This)->lpVtbl->KillTimer(This,id) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderStreamClock_QueryInterface(IWMReaderStreamClock* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderStreamClock_AddRef(IWMReaderStreamClock* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderStreamClock_Release(IWMReaderStreamClock* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderStreamClock methods ***/ +static inline HRESULT IWMReaderStreamClock_GetTime(IWMReaderStreamClock* This,QWORD *now) { + return This->lpVtbl->GetTime(This,now); +} +static inline HRESULT IWMReaderStreamClock_SetTimer(IWMReaderStreamClock* This,QWORD when,void *param,DWORD *id) { + return This->lpVtbl->SetTimer(This,when,param,id); +} +static inline HRESULT IWMReaderStreamClock_KillTimer(IWMReaderStreamClock* This,DWORD id) { + return This->lpVtbl->KillTimer(This,id); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPacketSize interface + */ +#ifndef __IWMPacketSize_INTERFACE_DEFINED__ +#define __IWMPacketSize_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPacketSize, 0xcdfb97ab, 0x188f, 0x40b3, 0xb6,0x43, 0x5b,0x79,0x03,0x97,0x5c,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("cdfb97ab-188f-40b3-b643-5b7903975c59") +IWMPacketSize : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize( + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize( + DWORD size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPacketSize, 0xcdfb97ab, 0x188f, 0x40b3, 0xb6,0x43, 0x5b,0x79,0x03,0x97,0x5c,0x59) +#endif +#else +typedef struct IWMPacketSizeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPacketSize *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPacketSize *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPacketSize *This); + + /*** IWMPacketSize methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMaxPacketSize)( + IWMPacketSize *This, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetMaxPacketSize)( + IWMPacketSize *This, + DWORD size); + + END_INTERFACE +} IWMPacketSizeVtbl; + +interface IWMPacketSize { + CONST_VTBL IWMPacketSizeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPacketSize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPacketSize_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPacketSize_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPacketSize methods ***/ +#define IWMPacketSize_GetMaxPacketSize(This,size) (This)->lpVtbl->GetMaxPacketSize(This,size) +#define IWMPacketSize_SetMaxPacketSize(This,size) (This)->lpVtbl->SetMaxPacketSize(This,size) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPacketSize_QueryInterface(IWMPacketSize* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPacketSize_AddRef(IWMPacketSize* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPacketSize_Release(IWMPacketSize* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPacketSize methods ***/ +static inline HRESULT IWMPacketSize_GetMaxPacketSize(IWMPacketSize* This,DWORD *size) { + return This->lpVtbl->GetMaxPacketSize(This,size); +} +static inline HRESULT IWMPacketSize_SetMaxPacketSize(IWMPacketSize* This,DWORD size) { + return This->lpVtbl->SetMaxPacketSize(This,size); +} +#endif +#endif + +#endif + + +#endif /* __IWMPacketSize_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPacketSize2 interface + */ +#ifndef __IWMPacketSize2_INTERFACE_DEFINED__ +#define __IWMPacketSize2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPacketSize2, 0x8bfc2b9e, 0xb646, 0x4233, 0xa8,0x77, 0x1c,0x6a,0x07,0x96,0x69,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8bfc2b9e-b646-4233-a877-1c6a079669dc") +IWMPacketSize2 : public IWMPacketSize +{ + virtual HRESULT STDMETHODCALLTYPE GetMinPacketSize( + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMinPacketSize( + DWORD size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPacketSize2, 0x8bfc2b9e, 0xb646, 0x4233, 0xa8,0x77, 0x1c,0x6a,0x07,0x96,0x69,0xdc) +#endif +#else +typedef struct IWMPacketSize2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPacketSize2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPacketSize2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPacketSize2 *This); + + /*** IWMPacketSize methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMaxPacketSize)( + IWMPacketSize2 *This, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetMaxPacketSize)( + IWMPacketSize2 *This, + DWORD size); + + /*** IWMPacketSize2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMinPacketSize)( + IWMPacketSize2 *This, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetMinPacketSize)( + IWMPacketSize2 *This, + DWORD size); + + END_INTERFACE +} IWMPacketSize2Vtbl; + +interface IWMPacketSize2 { + CONST_VTBL IWMPacketSize2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPacketSize2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPacketSize2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPacketSize2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPacketSize methods ***/ +#define IWMPacketSize2_GetMaxPacketSize(This,size) (This)->lpVtbl->GetMaxPacketSize(This,size) +#define IWMPacketSize2_SetMaxPacketSize(This,size) (This)->lpVtbl->SetMaxPacketSize(This,size) +/*** IWMPacketSize2 methods ***/ +#define IWMPacketSize2_GetMinPacketSize(This,size) (This)->lpVtbl->GetMinPacketSize(This,size) +#define IWMPacketSize2_SetMinPacketSize(This,size) (This)->lpVtbl->SetMinPacketSize(This,size) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPacketSize2_QueryInterface(IWMPacketSize2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPacketSize2_AddRef(IWMPacketSize2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPacketSize2_Release(IWMPacketSize2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPacketSize methods ***/ +static inline HRESULT IWMPacketSize2_GetMaxPacketSize(IWMPacketSize2* This,DWORD *size) { + return This->lpVtbl->GetMaxPacketSize(This,size); +} +static inline HRESULT IWMPacketSize2_SetMaxPacketSize(IWMPacketSize2* This,DWORD size) { + return This->lpVtbl->SetMaxPacketSize(This,size); +} +/*** IWMPacketSize2 methods ***/ +static inline HRESULT IWMPacketSize2_GetMinPacketSize(IWMPacketSize2* This,DWORD *size) { + return This->lpVtbl->GetMinPacketSize(This,size); +} +static inline HRESULT IWMPacketSize2_SetMinPacketSize(IWMPacketSize2* This,DWORD size) { + return This->lpVtbl->SetMinPacketSize(This,size); +} +#endif +#endif + +#endif + + +#endif /* __IWMPacketSize2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMDRMReader interface + */ +#ifndef __IWMDRMReader_INTERFACE_DEFINED__ +#define __IWMDRMReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMDRMReader, 0xd2827540, 0x3ee7, 0x432c, 0xb1,0x4c, 0xdc,0x17,0xf0,0x85,0xd3,0xb3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d2827540-3ee7-432c-b14c-dc17f085d3b3") +IWMDRMReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AcquireLicense( + DWORD flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Individualize( + DWORD flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDRMProperty( + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDRMProperty( + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMDRMReader, 0xd2827540, 0x3ee7, 0x432c, 0xb1,0x4c, 0xdc,0x17,0xf0,0x85,0xd3,0xb3) +#endif +#else +typedef struct IWMDRMReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMDRMReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMDRMReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMDRMReader *This); + + /*** IWMDRMReader methods ***/ + HRESULT (STDMETHODCALLTYPE *AcquireLicense)( + IWMDRMReader *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)( + IWMDRMReader *This); + + HRESULT (STDMETHODCALLTYPE *Individualize)( + IWMDRMReader *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelIndividualization)( + IWMDRMReader *This); + + HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)( + IWMDRMReader *This); + + HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)( + IWMDRMReader *This); + + HRESULT (STDMETHODCALLTYPE *SetDRMProperty)( + IWMDRMReader *This, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetDRMProperty)( + IWMDRMReader *This, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + END_INTERFACE +} IWMDRMReaderVtbl; + +interface IWMDRMReader { + CONST_VTBL IWMDRMReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMDRMReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMDRMReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMDRMReader_Release(This) (This)->lpVtbl->Release(This) +/*** IWMDRMReader methods ***/ +#define IWMDRMReader_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags) +#define IWMDRMReader_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This) +#define IWMDRMReader_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags) +#define IWMDRMReader_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This) +#define IWMDRMReader_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This) +#define IWMDRMReader_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This) +#define IWMDRMReader_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length) +#define IWMDRMReader_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMDRMReader_QueryInterface(IWMDRMReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMDRMReader_AddRef(IWMDRMReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMDRMReader_Release(IWMDRMReader* This) { + return This->lpVtbl->Release(This); +} +/*** IWMDRMReader methods ***/ +static inline HRESULT IWMDRMReader_AcquireLicense(IWMDRMReader* This,DWORD flags) { + return This->lpVtbl->AcquireLicense(This,flags); +} +static inline HRESULT IWMDRMReader_CancelLicenseAcquisition(IWMDRMReader* This) { + return This->lpVtbl->CancelLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader_Individualize(IWMDRMReader* This,DWORD flags) { + return This->lpVtbl->Individualize(This,flags); +} +static inline HRESULT IWMDRMReader_CancelIndividualization(IWMDRMReader* This) { + return This->lpVtbl->CancelIndividualization(This); +} +static inline HRESULT IWMDRMReader_MonitorLicenseAcquisition(IWMDRMReader* This) { + return This->lpVtbl->MonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader_CancelMonitorLicenseAcquisition(IWMDRMReader* This) { + return This->lpVtbl->CancelMonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader_SetDRMProperty(IWMDRMReader* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetDRMProperty(This,name,type,value,length); +} +static inline HRESULT IWMDRMReader_GetDRMProperty(IWMDRMReader* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetDRMProperty(This,name,type,value,length); +} +#endif +#endif + +#endif + + +#endif /* __IWMDRMReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMDRMReader2 interface + */ +#ifndef __IWMDRMReader2_INTERFACE_DEFINED__ +#define __IWMDRMReader2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMDRMReader2, 0xbefe7a75, 0x9f1d, 0x4075, 0xb9,0xd9, 0xa3,0xc3,0x7b,0xda,0x49,0xa0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("befe7a75-9f1d-4075-b9d9-a3c37bda49a0") +IWMDRMReader2 : public IWMDRMReader +{ + virtual HRESULT STDMETHODCALLTYPE SetEvaluateOutputLevelLicenses( + WINBOOL evaluate) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPlayOutputLevels( + DRM_PLAY_OPL *play, + DWORD *length, + DWORD *level) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCopyOutputLevels( + DRM_COPY_OPL *copy, + DWORD *length, + DWORD *level) = 0; + + virtual HRESULT STDMETHODCALLTYPE TryNextLicense( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMDRMReader2, 0xbefe7a75, 0x9f1d, 0x4075, 0xb9,0xd9, 0xa3,0xc3,0x7b,0xda,0x49,0xa0) +#endif +#else +typedef struct IWMDRMReader2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMDRMReader2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMDRMReader2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMDRMReader2 *This); + + /*** IWMDRMReader methods ***/ + HRESULT (STDMETHODCALLTYPE *AcquireLicense)( + IWMDRMReader2 *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)( + IWMDRMReader2 *This); + + HRESULT (STDMETHODCALLTYPE *Individualize)( + IWMDRMReader2 *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelIndividualization)( + IWMDRMReader2 *This); + + HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)( + IWMDRMReader2 *This); + + HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)( + IWMDRMReader2 *This); + + HRESULT (STDMETHODCALLTYPE *SetDRMProperty)( + IWMDRMReader2 *This, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetDRMProperty)( + IWMDRMReader2 *This, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + /*** IWMDRMReader2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses)( + IWMDRMReader2 *This, + WINBOOL evaluate); + + HRESULT (STDMETHODCALLTYPE *GetPlayOutputLevels)( + IWMDRMReader2 *This, + DRM_PLAY_OPL *play, + DWORD *length, + DWORD *level); + + HRESULT (STDMETHODCALLTYPE *GetCopyOutputLevels)( + IWMDRMReader2 *This, + DRM_COPY_OPL *copy, + DWORD *length, + DWORD *level); + + HRESULT (STDMETHODCALLTYPE *TryNextLicense)( + IWMDRMReader2 *This); + + END_INTERFACE +} IWMDRMReader2Vtbl; + +interface IWMDRMReader2 { + CONST_VTBL IWMDRMReader2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMDRMReader2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMDRMReader2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMDRMReader2_Release(This) (This)->lpVtbl->Release(This) +/*** IWMDRMReader methods ***/ +#define IWMDRMReader2_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags) +#define IWMDRMReader2_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This) +#define IWMDRMReader2_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags) +#define IWMDRMReader2_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This) +#define IWMDRMReader2_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This) +#define IWMDRMReader2_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This) +#define IWMDRMReader2_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length) +#define IWMDRMReader2_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length) +/*** IWMDRMReader2 methods ***/ +#define IWMDRMReader2_SetEvaluateOutputLevelLicenses(This,evaluate) (This)->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate) +#define IWMDRMReader2_GetPlayOutputLevels(This,play,length,level) (This)->lpVtbl->GetPlayOutputLevels(This,play,length,level) +#define IWMDRMReader2_GetCopyOutputLevels(This,copy,length,level) (This)->lpVtbl->GetCopyOutputLevels(This,copy,length,level) +#define IWMDRMReader2_TryNextLicense(This) (This)->lpVtbl->TryNextLicense(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMDRMReader2_QueryInterface(IWMDRMReader2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMDRMReader2_AddRef(IWMDRMReader2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMDRMReader2_Release(IWMDRMReader2* This) { + return This->lpVtbl->Release(This); +} +/*** IWMDRMReader methods ***/ +static inline HRESULT IWMDRMReader2_AcquireLicense(IWMDRMReader2* This,DWORD flags) { + return This->lpVtbl->AcquireLicense(This,flags); +} +static inline HRESULT IWMDRMReader2_CancelLicenseAcquisition(IWMDRMReader2* This) { + return This->lpVtbl->CancelLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader2_Individualize(IWMDRMReader2* This,DWORD flags) { + return This->lpVtbl->Individualize(This,flags); +} +static inline HRESULT IWMDRMReader2_CancelIndividualization(IWMDRMReader2* This) { + return This->lpVtbl->CancelIndividualization(This); +} +static inline HRESULT IWMDRMReader2_MonitorLicenseAcquisition(IWMDRMReader2* This) { + return This->lpVtbl->MonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader2_CancelMonitorLicenseAcquisition(IWMDRMReader2* This) { + return This->lpVtbl->CancelMonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader2_SetDRMProperty(IWMDRMReader2* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetDRMProperty(This,name,type,value,length); +} +static inline HRESULT IWMDRMReader2_GetDRMProperty(IWMDRMReader2* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetDRMProperty(This,name,type,value,length); +} +/*** IWMDRMReader2 methods ***/ +static inline HRESULT IWMDRMReader2_SetEvaluateOutputLevelLicenses(IWMDRMReader2* This,WINBOOL evaluate) { + return This->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate); +} +static inline HRESULT IWMDRMReader2_GetPlayOutputLevels(IWMDRMReader2* This,DRM_PLAY_OPL *play,DWORD *length,DWORD *level) { + return This->lpVtbl->GetPlayOutputLevels(This,play,length,level); +} +static inline HRESULT IWMDRMReader2_GetCopyOutputLevels(IWMDRMReader2* This,DRM_COPY_OPL *copy,DWORD *length,DWORD *level) { + return This->lpVtbl->GetCopyOutputLevels(This,copy,length,level); +} +static inline HRESULT IWMDRMReader2_TryNextLicense(IWMDRMReader2* This) { + return This->lpVtbl->TryNextLicense(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMDRMReader2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMDRMReader3 interface + */ +#ifndef __IWMDRMReader3_INTERFACE_DEFINED__ +#define __IWMDRMReader3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMDRMReader3, 0xe08672de, 0xf1e7, 0x4ff4, 0xa0,0xa3, 0xfc,0x4b,0x08,0xe4,0xca,0xf8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8") +IWMDRMReader3 : public IWMDRMReader2 +{ + virtual HRESULT STDMETHODCALLTYPE GetInclusionList( + GUID **guids, + DWORD *count) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMDRMReader3, 0xe08672de, 0xf1e7, 0x4ff4, 0xa0,0xa3, 0xfc,0x4b,0x08,0xe4,0xca,0xf8) +#endif +#else +typedef struct IWMDRMReader3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMDRMReader3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMDRMReader3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMDRMReader3 *This); + + /*** IWMDRMReader methods ***/ + HRESULT (STDMETHODCALLTYPE *AcquireLicense)( + IWMDRMReader3 *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)( + IWMDRMReader3 *This); + + HRESULT (STDMETHODCALLTYPE *Individualize)( + IWMDRMReader3 *This, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *CancelIndividualization)( + IWMDRMReader3 *This); + + HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)( + IWMDRMReader3 *This); + + HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)( + IWMDRMReader3 *This); + + HRESULT (STDMETHODCALLTYPE *SetDRMProperty)( + IWMDRMReader3 *This, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + const BYTE *value, + WORD length); + + HRESULT (STDMETHODCALLTYPE *GetDRMProperty)( + IWMDRMReader3 *This, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + WORD *length); + + /*** IWMDRMReader2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses)( + IWMDRMReader3 *This, + WINBOOL evaluate); + + HRESULT (STDMETHODCALLTYPE *GetPlayOutputLevels)( + IWMDRMReader3 *This, + DRM_PLAY_OPL *play, + DWORD *length, + DWORD *level); + + HRESULT (STDMETHODCALLTYPE *GetCopyOutputLevels)( + IWMDRMReader3 *This, + DRM_COPY_OPL *copy, + DWORD *length, + DWORD *level); + + HRESULT (STDMETHODCALLTYPE *TryNextLicense)( + IWMDRMReader3 *This); + + /*** IWMDRMReader3 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetInclusionList)( + IWMDRMReader3 *This, + GUID **guids, + DWORD *count); + + END_INTERFACE +} IWMDRMReader3Vtbl; + +interface IWMDRMReader3 { + CONST_VTBL IWMDRMReader3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMDRMReader3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMDRMReader3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMDRMReader3_Release(This) (This)->lpVtbl->Release(This) +/*** IWMDRMReader methods ***/ +#define IWMDRMReader3_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags) +#define IWMDRMReader3_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This) +#define IWMDRMReader3_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags) +#define IWMDRMReader3_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This) +#define IWMDRMReader3_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This) +#define IWMDRMReader3_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This) +#define IWMDRMReader3_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length) +#define IWMDRMReader3_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length) +/*** IWMDRMReader2 methods ***/ +#define IWMDRMReader3_SetEvaluateOutputLevelLicenses(This,evaluate) (This)->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate) +#define IWMDRMReader3_GetPlayOutputLevels(This,play,length,level) (This)->lpVtbl->GetPlayOutputLevels(This,play,length,level) +#define IWMDRMReader3_GetCopyOutputLevels(This,copy,length,level) (This)->lpVtbl->GetCopyOutputLevels(This,copy,length,level) +#define IWMDRMReader3_TryNextLicense(This) (This)->lpVtbl->TryNextLicense(This) +/*** IWMDRMReader3 methods ***/ +#define IWMDRMReader3_GetInclusionList(This,guids,count) (This)->lpVtbl->GetInclusionList(This,guids,count) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMDRMReader3_QueryInterface(IWMDRMReader3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMDRMReader3_AddRef(IWMDRMReader3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMDRMReader3_Release(IWMDRMReader3* This) { + return This->lpVtbl->Release(This); +} +/*** IWMDRMReader methods ***/ +static inline HRESULT IWMDRMReader3_AcquireLicense(IWMDRMReader3* This,DWORD flags) { + return This->lpVtbl->AcquireLicense(This,flags); +} +static inline HRESULT IWMDRMReader3_CancelLicenseAcquisition(IWMDRMReader3* This) { + return This->lpVtbl->CancelLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader3_Individualize(IWMDRMReader3* This,DWORD flags) { + return This->lpVtbl->Individualize(This,flags); +} +static inline HRESULT IWMDRMReader3_CancelIndividualization(IWMDRMReader3* This) { + return This->lpVtbl->CancelIndividualization(This); +} +static inline HRESULT IWMDRMReader3_MonitorLicenseAcquisition(IWMDRMReader3* This) { + return This->lpVtbl->MonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader3_CancelMonitorLicenseAcquisition(IWMDRMReader3* This) { + return This->lpVtbl->CancelMonitorLicenseAcquisition(This); +} +static inline HRESULT IWMDRMReader3_SetDRMProperty(IWMDRMReader3* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) { + return This->lpVtbl->SetDRMProperty(This,name,type,value,length); +} +static inline HRESULT IWMDRMReader3_GetDRMProperty(IWMDRMReader3* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) { + return This->lpVtbl->GetDRMProperty(This,name,type,value,length); +} +/*** IWMDRMReader2 methods ***/ +static inline HRESULT IWMDRMReader3_SetEvaluateOutputLevelLicenses(IWMDRMReader3* This,WINBOOL evaluate) { + return This->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate); +} +static inline HRESULT IWMDRMReader3_GetPlayOutputLevels(IWMDRMReader3* This,DRM_PLAY_OPL *play,DWORD *length,DWORD *level) { + return This->lpVtbl->GetPlayOutputLevels(This,play,length,level); +} +static inline HRESULT IWMDRMReader3_GetCopyOutputLevels(IWMDRMReader3* This,DRM_COPY_OPL *copy,DWORD *length,DWORD *level) { + return This->lpVtbl->GetCopyOutputLevels(This,copy,length,level); +} +static inline HRESULT IWMDRMReader3_TryNextLicense(IWMDRMReader3* This) { + return This->lpVtbl->TryNextLicense(This); +} +/*** IWMDRMReader3 methods ***/ +static inline HRESULT IWMDRMReader3_GetInclusionList(IWMDRMReader3* This,GUID **guids,DWORD *count) { + return This->lpVtbl->GetInclusionList(This,guids,count); +} +#endif +#endif + +#endif + + +#endif /* __IWMDRMReader3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderAccelerator interface + */ +#ifndef __IWMReaderAccelerator_INTERFACE_DEFINED__ +#define __IWMReaderAccelerator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderAccelerator, 0xbddc4d08, 0x944d, 0x4d52, 0xa6,0x12, 0x46,0xc3,0xfd,0xa0,0x7d,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bddc4d08-944d-4d52-a612-46c3fda07dd4") +IWMReaderAccelerator : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCodecInterface( + DWORD output, + REFIID riid, + void **codec) = 0; + + virtual HRESULT STDMETHODCALLTYPE Notify( + DWORD output, + WM_MEDIA_TYPE *subtype) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderAccelerator, 0xbddc4d08, 0x944d, 0x4d52, 0xa6,0x12, 0x46,0xc3,0xfd,0xa0,0x7d,0xd4) +#endif +#else +typedef struct IWMReaderAcceleratorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderAccelerator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderAccelerator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderAccelerator *This); + + /*** IWMReaderAccelerator methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCodecInterface)( + IWMReaderAccelerator *This, + DWORD output, + REFIID riid, + void **codec); + + HRESULT (STDMETHODCALLTYPE *Notify)( + IWMReaderAccelerator *This, + DWORD output, + WM_MEDIA_TYPE *subtype); + + END_INTERFACE +} IWMReaderAcceleratorVtbl; + +interface IWMReaderAccelerator { + CONST_VTBL IWMReaderAcceleratorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderAccelerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderAccelerator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderAccelerator_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderAccelerator methods ***/ +#define IWMReaderAccelerator_GetCodecInterface(This,output,riid,codec) (This)->lpVtbl->GetCodecInterface(This,output,riid,codec) +#define IWMReaderAccelerator_Notify(This,output,subtype) (This)->lpVtbl->Notify(This,output,subtype) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderAccelerator_QueryInterface(IWMReaderAccelerator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderAccelerator_AddRef(IWMReaderAccelerator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderAccelerator_Release(IWMReaderAccelerator* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderAccelerator methods ***/ +static inline HRESULT IWMReaderAccelerator_GetCodecInterface(IWMReaderAccelerator* This,DWORD output,REFIID riid,void **codec) { + return This->lpVtbl->GetCodecInterface(This,output,riid,codec); +} +static inline HRESULT IWMReaderAccelerator_Notify(IWMReaderAccelerator* This,DWORD output,WM_MEDIA_TYPE *subtype) { + return This->lpVtbl->Notify(This,output,subtype); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderAccelerator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderTimecode interface + */ +#ifndef __IWMReaderTimecode_INTERFACE_DEFINED__ +#define __IWMReaderTimecode_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderTimecode, 0xf369e2f0, 0xe081, 0x4fe6, 0x84,0x50, 0xb8,0x10,0xb2,0xf4,0x10,0xd1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f369e2f0-e081-4fe6-8450-b810b2f410d1") +IWMReaderTimecode : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeCount( + WORD num, + WORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeBounds( + WORD stream, + WORD range, + DWORD *start_timecode, + DWORD *end_timecode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderTimecode, 0xf369e2f0, 0xe081, 0x4fe6, 0x84,0x50, 0xb8,0x10,0xb2,0xf4,0x10,0xd1) +#endif +#else +typedef struct IWMReaderTimecodeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderTimecode *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderTimecode *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderTimecode *This); + + /*** IWMReaderTimecode methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTimecodeRangeCount)( + IWMReaderTimecode *This, + WORD num, + WORD *count); + + HRESULT (STDMETHODCALLTYPE *GetTimecodeRangeBounds)( + IWMReaderTimecode *This, + WORD stream, + WORD range, + DWORD *start_timecode, + DWORD *end_timecode); + + END_INTERFACE +} IWMReaderTimecodeVtbl; + +interface IWMReaderTimecode { + CONST_VTBL IWMReaderTimecodeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderTimecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderTimecode_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderTimecode_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderTimecode methods ***/ +#define IWMReaderTimecode_GetTimecodeRangeCount(This,num,count) (This)->lpVtbl->GetTimecodeRangeCount(This,num,count) +#define IWMReaderTimecode_GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode) (This)->lpVtbl->GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderTimecode_QueryInterface(IWMReaderTimecode* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderTimecode_AddRef(IWMReaderTimecode* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderTimecode_Release(IWMReaderTimecode* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderTimecode methods ***/ +static inline HRESULT IWMReaderTimecode_GetTimecodeRangeCount(IWMReaderTimecode* This,WORD num,WORD *count) { + return This->lpVtbl->GetTimecodeRangeCount(This,num,count); +} +static inline HRESULT IWMReaderTimecode_GetTimecodeRangeBounds(IWMReaderTimecode* This,WORD stream,WORD range,DWORD *start_timecode,DWORD *end_timecode) { + return This->lpVtbl->GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderTimecode_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderTypeNegotiation interface + */ +#ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ +#define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderTypeNegotiation, 0xfdbe5592, 0x81a1, 0x41ea, 0x93,0xbd, 0x73,0x5c,0xad,0x1a,0xdc,0x05); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fdbe5592-81a1-41ea-93bd-735cad1adc05") +IWMReaderTypeNegotiation : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE TryOutputProps( + DWORD output, + IWMOutputMediaProps *props) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderTypeNegotiation, 0xfdbe5592, 0x81a1, 0x41ea, 0x93,0xbd, 0x73,0x5c,0xad,0x1a,0xdc,0x05) +#endif +#else +typedef struct IWMReaderTypeNegotiationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderTypeNegotiation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderTypeNegotiation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderTypeNegotiation *This); + + /*** IWMReaderTypeNegotiation methods ***/ + HRESULT (STDMETHODCALLTYPE *TryOutputProps)( + IWMReaderTypeNegotiation *This, + DWORD output, + IWMOutputMediaProps *props); + + END_INTERFACE +} IWMReaderTypeNegotiationVtbl; + +interface IWMReaderTypeNegotiation { + CONST_VTBL IWMReaderTypeNegotiationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderTypeNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderTypeNegotiation_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderTypeNegotiation methods ***/ +#define IWMReaderTypeNegotiation_TryOutputProps(This,output,props) (This)->lpVtbl->TryOutputProps(This,output,props) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderTypeNegotiation_QueryInterface(IWMReaderTypeNegotiation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderTypeNegotiation_AddRef(IWMReaderTypeNegotiation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderTypeNegotiation_Release(IWMReaderTypeNegotiation* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderTypeNegotiation methods ***/ +static inline HRESULT IWMReaderTypeNegotiation_TryOutputProps(IWMReaderTypeNegotiation* This,DWORD output,IWMOutputMediaProps *props) { + return This->lpVtbl->TryOutputProps(This,output,props); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMLanguageList interface + */ +#ifndef __IWMLanguageList_INTERFACE_DEFINED__ +#define __IWMLanguageList_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMLanguageList, 0xdf683f00, 0x2d49, 0x4d8e, 0x92,0xb7, 0xfb,0x19,0xf6,0xa0,0xdc,0x57); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("df683f00-2d49-4d8e-92b7-fb19f6a0dc57") +IWMLanguageList : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( + WORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLanguageDetails( + WORD index, + WCHAR *language, + WORD *length) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddLanguageByRFC1766String( + LPCWSTR_WMSDK_TYPE_SAFE language, + WORD *index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMLanguageList, 0xdf683f00, 0x2d49, 0x4d8e, 0x92,0xb7, 0xfb,0x19,0xf6,0xa0,0xdc,0x57) +#endif +#else +typedef struct IWMLanguageListVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMLanguageList *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMLanguageList *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMLanguageList *This); + + /*** IWMLanguageList methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLanguageCount)( + IWMLanguageList *This, + WORD *count); + + HRESULT (STDMETHODCALLTYPE *GetLanguageDetails)( + IWMLanguageList *This, + WORD index, + WCHAR *language, + WORD *length); + + HRESULT (STDMETHODCALLTYPE *AddLanguageByRFC1766String)( + IWMLanguageList *This, + LPCWSTR_WMSDK_TYPE_SAFE language, + WORD *index); + + END_INTERFACE +} IWMLanguageListVtbl; + +interface IWMLanguageList { + CONST_VTBL IWMLanguageListVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMLanguageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMLanguageList_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMLanguageList_Release(This) (This)->lpVtbl->Release(This) +/*** IWMLanguageList methods ***/ +#define IWMLanguageList_GetLanguageCount(This,count) (This)->lpVtbl->GetLanguageCount(This,count) +#define IWMLanguageList_GetLanguageDetails(This,index,language,length) (This)->lpVtbl->GetLanguageDetails(This,index,language,length) +#define IWMLanguageList_AddLanguageByRFC1766String(This,language,index) (This)->lpVtbl->AddLanguageByRFC1766String(This,language,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMLanguageList_QueryInterface(IWMLanguageList* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMLanguageList_AddRef(IWMLanguageList* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMLanguageList_Release(IWMLanguageList* This) { + return This->lpVtbl->Release(This); +} +/*** IWMLanguageList methods ***/ +static inline HRESULT IWMLanguageList_GetLanguageCount(IWMLanguageList* This,WORD *count) { + return This->lpVtbl->GetLanguageCount(This,count); +} +static inline HRESULT IWMLanguageList_GetLanguageDetails(IWMLanguageList* This,WORD index,WCHAR *language,WORD *length) { + return This->lpVtbl->GetLanguageDetails(This,index,language,length); +} +static inline HRESULT IWMLanguageList_AddLanguageByRFC1766String(IWMLanguageList* This,LPCWSTR_WMSDK_TYPE_SAFE language,WORD *index) { + return This->lpVtbl->AddLanguageByRFC1766String(This,language,index); +} +#endif +#endif + +#endif + + +#endif /* __IWMLanguageList_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMReaderPlaylistBurn interface + */ +#ifndef __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ +#define __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMReaderPlaylistBurn, 0xf28c0300, 0x9baa, 0x4477, 0xa8,0x46, 0x17,0x44,0xd9,0xcb,0xf5,0x33); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f28c0300-9baa-4477-a846-1744d9cbf533") +IWMReaderPlaylistBurn : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE InitPlaylistBurn( + DWORD count, + LPCWSTR_WMSDK_TYPE_SAFE *filenames, + IWMStatusCallback *callback, + void *context) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInitResults( + DWORD count, + HRESULT *stat) = 0; + + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndPlaylistBurn( + HRESULT result) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMReaderPlaylistBurn, 0xf28c0300, 0x9baa, 0x4477, 0xa8,0x46, 0x17,0x44,0xd9,0xcb,0xf5,0x33) +#endif +#else +typedef struct IWMReaderPlaylistBurnVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMReaderPlaylistBurn *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMReaderPlaylistBurn *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMReaderPlaylistBurn *This); + + /*** IWMReaderPlaylistBurn methods ***/ + HRESULT (STDMETHODCALLTYPE *InitPlaylistBurn)( + IWMReaderPlaylistBurn *This, + DWORD count, + LPCWSTR_WMSDK_TYPE_SAFE *filenames, + IWMStatusCallback *callback, + void *context); + + HRESULT (STDMETHODCALLTYPE *GetInitResults)( + IWMReaderPlaylistBurn *This, + DWORD count, + HRESULT *stat); + + HRESULT (STDMETHODCALLTYPE *Cancel)( + IWMReaderPlaylistBurn *This); + + HRESULT (STDMETHODCALLTYPE *EndPlaylistBurn)( + IWMReaderPlaylistBurn *This, + HRESULT result); + + END_INTERFACE +} IWMReaderPlaylistBurnVtbl; + +interface IWMReaderPlaylistBurn { + CONST_VTBL IWMReaderPlaylistBurnVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMReaderPlaylistBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMReaderPlaylistBurn_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMReaderPlaylistBurn_Release(This) (This)->lpVtbl->Release(This) +/*** IWMReaderPlaylistBurn methods ***/ +#define IWMReaderPlaylistBurn_InitPlaylistBurn(This,count,filenames,callback,context) (This)->lpVtbl->InitPlaylistBurn(This,count,filenames,callback,context) +#define IWMReaderPlaylistBurn_GetInitResults(This,count,stat) (This)->lpVtbl->GetInitResults(This,count,stat) +#define IWMReaderPlaylistBurn_Cancel(This) (This)->lpVtbl->Cancel(This) +#define IWMReaderPlaylistBurn_EndPlaylistBurn(This,result) (This)->lpVtbl->EndPlaylistBurn(This,result) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMReaderPlaylistBurn_QueryInterface(IWMReaderPlaylistBurn* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMReaderPlaylistBurn_AddRef(IWMReaderPlaylistBurn* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMReaderPlaylistBurn_Release(IWMReaderPlaylistBurn* This) { + return This->lpVtbl->Release(This); +} +/*** IWMReaderPlaylistBurn methods ***/ +static inline HRESULT IWMReaderPlaylistBurn_InitPlaylistBurn(IWMReaderPlaylistBurn* This,DWORD count,LPCWSTR_WMSDK_TYPE_SAFE *filenames,IWMStatusCallback *callback,void *context) { + return This->lpVtbl->InitPlaylistBurn(This,count,filenames,callback,context); +} +static inline HRESULT IWMReaderPlaylistBurn_GetInitResults(IWMReaderPlaylistBurn* This,DWORD count,HRESULT *stat) { + return This->lpVtbl->GetInitResults(This,count,stat); +} +static inline HRESULT IWMReaderPlaylistBurn_Cancel(IWMReaderPlaylistBurn* This) { + return This->lpVtbl->Cancel(This); +} +static inline HRESULT IWMReaderPlaylistBurn_EndPlaylistBurn(IWMReaderPlaylistBurn* This,HRESULT result) { + return This->lpVtbl->EndPlaylistBurn(This,result); +} +#endif +#endif + +#endif + + +#endif /* __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMPropertyVault interface + */ +#ifndef __IWMPropertyVault_INTERFACE_DEFINED__ +#define __IWMPropertyVault_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMPropertyVault, 0x72995a79, 0x5090, 0x42a4, 0x9c,0x8c, 0xd9,0xd0,0xb6,0xd3,0x4b,0xe5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("72995a79-5090-42a4-9c8c-d9d0b6d34be5") +IWMPropertyVault : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPropertyCount( + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyByName( + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProperty( + const WCHAR *name, + WMT_ATTR_DATATYPE type, + BYTE *value, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyByIndex( + DWORD index, + WCHAR *name, + DWORD *length, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyPropertiesFrom( + IWMPropertyVault *vault) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMPropertyVault, 0x72995a79, 0x5090, 0x42a4, 0x9c,0x8c, 0xd9,0xd0,0xb6,0xd3,0x4b,0xe5) +#endif +#else +typedef struct IWMPropertyVaultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMPropertyVault *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMPropertyVault *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMPropertyVault *This); + + /*** IWMPropertyVault methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPropertyCount)( + IWMPropertyVault *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetPropertyByName)( + IWMPropertyVault *This, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IWMPropertyVault *This, + const WCHAR *name, + WMT_ATTR_DATATYPE type, + BYTE *value, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *GetPropertyByIndex)( + IWMPropertyVault *This, + DWORD index, + WCHAR *name, + DWORD *length, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + HRESULT (STDMETHODCALLTYPE *CopyPropertiesFrom)( + IWMPropertyVault *This, + IWMPropertyVault *vault); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IWMPropertyVault *This); + + END_INTERFACE +} IWMPropertyVaultVtbl; + +interface IWMPropertyVault { + CONST_VTBL IWMPropertyVaultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMPropertyVault_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMPropertyVault_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMPropertyVault_Release(This) (This)->lpVtbl->Release(This) +/*** IWMPropertyVault methods ***/ +#define IWMPropertyVault_GetPropertyCount(This,count) (This)->lpVtbl->GetPropertyCount(This,count) +#define IWMPropertyVault_GetPropertyByName(This,name,type,value,size) (This)->lpVtbl->GetPropertyByName(This,name,type,value,size) +#define IWMPropertyVault_SetProperty(This,name,type,value,size) (This)->lpVtbl->SetProperty(This,name,type,value,size) +#define IWMPropertyVault_GetPropertyByIndex(This,index,name,length,type,value,size) (This)->lpVtbl->GetPropertyByIndex(This,index,name,length,type,value,size) +#define IWMPropertyVault_CopyPropertiesFrom(This,vault) (This)->lpVtbl->CopyPropertiesFrom(This,vault) +#define IWMPropertyVault_Clear(This) (This)->lpVtbl->Clear(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMPropertyVault_QueryInterface(IWMPropertyVault* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMPropertyVault_AddRef(IWMPropertyVault* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMPropertyVault_Release(IWMPropertyVault* This) { + return This->lpVtbl->Release(This); +} +/*** IWMPropertyVault methods ***/ +static inline HRESULT IWMPropertyVault_GetPropertyCount(IWMPropertyVault* This,DWORD *count) { + return This->lpVtbl->GetPropertyCount(This,count); +} +static inline HRESULT IWMPropertyVault_GetPropertyByName(IWMPropertyVault* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetPropertyByName(This,name,type,value,size); +} +static inline HRESULT IWMPropertyVault_SetProperty(IWMPropertyVault* This,const WCHAR *name,WMT_ATTR_DATATYPE type,BYTE *value,DWORD size) { + return This->lpVtbl->SetProperty(This,name,type,value,size); +} +static inline HRESULT IWMPropertyVault_GetPropertyByIndex(IWMPropertyVault* This,DWORD index,WCHAR *name,DWORD *length,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetPropertyByIndex(This,index,name,length,type,value,size); +} +static inline HRESULT IWMPropertyVault_CopyPropertiesFrom(IWMPropertyVault* This,IWMPropertyVault *vault) { + return This->lpVtbl->CopyPropertiesFrom(This,vault); +} +static inline HRESULT IWMPropertyVault_Clear(IWMPropertyVault* This) { + return This->lpVtbl->Clear(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMPropertyVault_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMWriterPreprocess interface + */ +#ifndef __IWMWriterPreprocess_INTERFACE_DEFINED__ +#define __IWMWriterPreprocess_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMWriterPreprocess, 0xfc54a285, 0x38c4, 0x45b5, 0xaa,0x23, 0x85,0xb9,0xf7,0xcb,0x42,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fc54a285-38c4-45b5-aa23-85b9f7cb424b") +IWMWriterPreprocess : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMaxPreprocessingPasses( + DWORD input, + DWORD flags, + DWORD *passes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetNumPreprocessingPasses( + DWORD input, + DWORD flags, + DWORD passes) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginPreprocessingPass( + DWORD input, + DWORD flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE PreprocessSample( + DWORD input, + QWORD sample_time, + DWORD flags, + INSSBuffer *sample) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndPreprocessingPass( + DWORD input, + DWORD flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMWriterPreprocess, 0xfc54a285, 0x38c4, 0x45b5, 0xaa,0x23, 0x85,0xb9,0xf7,0xcb,0x42,0x4b) +#endif +#else +typedef struct IWMWriterPreprocessVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMWriterPreprocess *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMWriterPreprocess *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMWriterPreprocess *This); + + /*** IWMWriterPreprocess methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMaxPreprocessingPasses)( + IWMWriterPreprocess *This, + DWORD input, + DWORD flags, + DWORD *passes); + + HRESULT (STDMETHODCALLTYPE *SetNumPreprocessingPasses)( + IWMWriterPreprocess *This, + DWORD input, + DWORD flags, + DWORD passes); + + HRESULT (STDMETHODCALLTYPE *BeginPreprocessingPass)( + IWMWriterPreprocess *This, + DWORD input, + DWORD flags); + + HRESULT (STDMETHODCALLTYPE *PreprocessSample)( + IWMWriterPreprocess *This, + DWORD input, + QWORD sample_time, + DWORD flags, + INSSBuffer *sample); + + HRESULT (STDMETHODCALLTYPE *EndPreprocessingPass)( + IWMWriterPreprocess *This, + DWORD input, + DWORD flags); + + END_INTERFACE +} IWMWriterPreprocessVtbl; + +interface IWMWriterPreprocess { + CONST_VTBL IWMWriterPreprocessVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMWriterPreprocess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMWriterPreprocess_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMWriterPreprocess_Release(This) (This)->lpVtbl->Release(This) +/*** IWMWriterPreprocess methods ***/ +#define IWMWriterPreprocess_GetMaxPreprocessingPasses(This,input,flags,passes) (This)->lpVtbl->GetMaxPreprocessingPasses(This,input,flags,passes) +#define IWMWriterPreprocess_SetNumPreprocessingPasses(This,input,flags,passes) (This)->lpVtbl->SetNumPreprocessingPasses(This,input,flags,passes) +#define IWMWriterPreprocess_BeginPreprocessingPass(This,input,flags) (This)->lpVtbl->BeginPreprocessingPass(This,input,flags) +#define IWMWriterPreprocess_PreprocessSample(This,input,sample_time,flags,sample) (This)->lpVtbl->PreprocessSample(This,input,sample_time,flags,sample) +#define IWMWriterPreprocess_EndPreprocessingPass(This,input,flags) (This)->lpVtbl->EndPreprocessingPass(This,input,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMWriterPreprocess_QueryInterface(IWMWriterPreprocess* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMWriterPreprocess_AddRef(IWMWriterPreprocess* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMWriterPreprocess_Release(IWMWriterPreprocess* This) { + return This->lpVtbl->Release(This); +} +/*** IWMWriterPreprocess methods ***/ +static inline HRESULT IWMWriterPreprocess_GetMaxPreprocessingPasses(IWMWriterPreprocess* This,DWORD input,DWORD flags,DWORD *passes) { + return This->lpVtbl->GetMaxPreprocessingPasses(This,input,flags,passes); +} +static inline HRESULT IWMWriterPreprocess_SetNumPreprocessingPasses(IWMWriterPreprocess* This,DWORD input,DWORD flags,DWORD passes) { + return This->lpVtbl->SetNumPreprocessingPasses(This,input,flags,passes); +} +static inline HRESULT IWMWriterPreprocess_BeginPreprocessingPass(IWMWriterPreprocess* This,DWORD input,DWORD flags) { + return This->lpVtbl->BeginPreprocessingPass(This,input,flags); +} +static inline HRESULT IWMWriterPreprocess_PreprocessSample(IWMWriterPreprocess* This,DWORD input,QWORD sample_time,DWORD flags,INSSBuffer *sample) { + return This->lpVtbl->PreprocessSample(This,input,sample_time,flags,sample); +} +static inline HRESULT IWMWriterPreprocess_EndPreprocessingPass(IWMWriterPreprocess* This,DWORD input,DWORD flags) { + return This->lpVtbl->EndPreprocessingPass(This,input,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWMWriterPreprocess_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMLicenseBackup interface + */ +#ifndef __IWMLicenseBackup_INTERFACE_DEFINED__ +#define __IWMLicenseBackup_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMLicenseBackup, 0x05e5ac9f, 0x3fb6, 0x4508, 0xbb,0x43, 0xa4,0x06,0x7b,0xa1,0xeb,0xe8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("05e5ac9f-3fb6-4508-bb43-a4067ba1ebe8") +IWMLicenseBackup : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE BackupLicenses( + DWORD dwFlags, + IWMStatusCallback *pCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelLicenseBackup( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMLicenseBackup, 0x05e5ac9f, 0x3fb6, 0x4508, 0xbb,0x43, 0xa4,0x06,0x7b,0xa1,0xeb,0xe8) +#endif +#else +typedef struct IWMLicenseBackupVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMLicenseBackup *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMLicenseBackup *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMLicenseBackup *This); + + /*** IWMLicenseBackup methods ***/ + HRESULT (STDMETHODCALLTYPE *BackupLicenses)( + IWMLicenseBackup *This, + DWORD dwFlags, + IWMStatusCallback *pCallback); + + HRESULT (STDMETHODCALLTYPE *CancelLicenseBackup)( + IWMLicenseBackup *This); + + END_INTERFACE +} IWMLicenseBackupVtbl; + +interface IWMLicenseBackup { + CONST_VTBL IWMLicenseBackupVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMLicenseBackup_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMLicenseBackup_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMLicenseBackup_Release(This) (This)->lpVtbl->Release(This) +/*** IWMLicenseBackup methods ***/ +#define IWMLicenseBackup_BackupLicenses(This,dwFlags,pCallback) (This)->lpVtbl->BackupLicenses(This,dwFlags,pCallback) +#define IWMLicenseBackup_CancelLicenseBackup(This) (This)->lpVtbl->CancelLicenseBackup(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMLicenseBackup_QueryInterface(IWMLicenseBackup* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMLicenseBackup_AddRef(IWMLicenseBackup* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMLicenseBackup_Release(IWMLicenseBackup* This) { + return This->lpVtbl->Release(This); +} +/*** IWMLicenseBackup methods ***/ +static inline HRESULT IWMLicenseBackup_BackupLicenses(IWMLicenseBackup* This,DWORD dwFlags,IWMStatusCallback *pCallback) { + return This->lpVtbl->BackupLicenses(This,dwFlags,pCallback); +} +static inline HRESULT IWMLicenseBackup_CancelLicenseBackup(IWMLicenseBackup* This) { + return This->lpVtbl->CancelLicenseBackup(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMLicenseBackup_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMLicenseRestore interface + */ +#ifndef __IWMLicenseRestore_INTERFACE_DEFINED__ +#define __IWMLicenseRestore_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMLicenseRestore, 0xc70b6334, 0xa22e, 0x4efb, 0xa2,0x45, 0x15,0xe6,0x5a,0x00,0x4a,0x13); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c70b6334-a22e-4efb-a245-15e65a004a13") +IWMLicenseRestore : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RestoreLicenses( + DWORD dwFlags, + IWMStatusCallback *pCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE CancelLicenseRestore( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMLicenseRestore, 0xc70b6334, 0xa22e, 0x4efb, 0xa2,0x45, 0x15,0xe6,0x5a,0x00,0x4a,0x13) +#endif +#else +typedef struct IWMLicenseRestoreVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMLicenseRestore *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMLicenseRestore *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMLicenseRestore *This); + + /*** IWMLicenseRestore methods ***/ + HRESULT (STDMETHODCALLTYPE *RestoreLicenses)( + IWMLicenseRestore *This, + DWORD dwFlags, + IWMStatusCallback *pCallback); + + HRESULT (STDMETHODCALLTYPE *CancelLicenseRestore)( + IWMLicenseRestore *This); + + END_INTERFACE +} IWMLicenseRestoreVtbl; + +interface IWMLicenseRestore { + CONST_VTBL IWMLicenseRestoreVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMLicenseRestore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMLicenseRestore_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMLicenseRestore_Release(This) (This)->lpVtbl->Release(This) +/*** IWMLicenseRestore methods ***/ +#define IWMLicenseRestore_RestoreLicenses(This,dwFlags,pCallback) (This)->lpVtbl->RestoreLicenses(This,dwFlags,pCallback) +#define IWMLicenseRestore_CancelLicenseRestore(This) (This)->lpVtbl->CancelLicenseRestore(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMLicenseRestore_QueryInterface(IWMLicenseRestore* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMLicenseRestore_AddRef(IWMLicenseRestore* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMLicenseRestore_Release(IWMLicenseRestore* This) { + return This->lpVtbl->Release(This); +} +/*** IWMLicenseRestore methods ***/ +static inline HRESULT IWMLicenseRestore_RestoreLicenses(IWMLicenseRestore* This,DWORD dwFlags,IWMStatusCallback *pCallback) { + return This->lpVtbl->RestoreLicenses(This,dwFlags,pCallback); +} +static inline HRESULT IWMLicenseRestore_CancelLicenseRestore(IWMLicenseRestore* This) { + return This->lpVtbl->CancelLicenseRestore(This); +} +#endif +#endif + +#endif + + +#endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMIStreamProps interface + */ +#ifndef __IWMIStreamProps_INTERFACE_DEFINED__ +#define __IWMIStreamProps_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMIStreamProps, 0x6816dad3, 0x2b4b, 0x4c8e, 0x81,0x49, 0x87,0x4c,0x34,0x83,0xa7,0x53); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6816dad3-2b4b-4c8e-8149-874c3483a753") +IWMIStreamProps : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetProperty( + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMIStreamProps, 0x6816dad3, 0x2b4b, 0x4c8e, 0x81,0x49, 0x87,0x4c,0x34,0x83,0xa7,0x53) +#endif +#else +typedef struct IWMIStreamPropsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMIStreamProps *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMIStreamProps *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMIStreamProps *This); + + /*** IWMIStreamProps methods ***/ + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IWMIStreamProps *This, + const WCHAR *name, + WMT_ATTR_DATATYPE *type, + BYTE *value, + DWORD *size); + + END_INTERFACE +} IWMIStreamPropsVtbl; + +interface IWMIStreamProps { + CONST_VTBL IWMIStreamPropsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMIStreamProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMIStreamProps_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMIStreamProps_Release(This) (This)->lpVtbl->Release(This) +/*** IWMIStreamProps methods ***/ +#define IWMIStreamProps_GetProperty(This,name,type,value,size) (This)->lpVtbl->GetProperty(This,name,type,value,size) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMIStreamProps_QueryInterface(IWMIStreamProps* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMIStreamProps_AddRef(IWMIStreamProps* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMIStreamProps_Release(IWMIStreamProps* This) { + return This->lpVtbl->Release(This); +} +/*** IWMIStreamProps methods ***/ +static inline HRESULT IWMIStreamProps_GetProperty(IWMIStreamProps* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,DWORD *size) { + return This->lpVtbl->GetProperty(This,name,type,value,size); +} +#endif +#endif + +#endif + + +#endif /* __IWMIStreamProps_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMCredentialCallback interface + */ +#ifndef __IWMCredentialCallback_INTERFACE_DEFINED__ +#define __IWMCredentialCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMCredentialCallback, 0x342e0eb7, 0xe651, 0x450c, 0x97,0x5b, 0x2a,0xce,0x2c,0x90,0xc4,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e") +IWMCredentialCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AcquireCredentials( + WCHAR *realm, + WCHAR *site, + WCHAR *username, + DWORD username_size, + WCHAR *password, + DWORD password_size, + HRESULT hr, + DWORD *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMCredentialCallback, 0x342e0eb7, 0xe651, 0x450c, 0x97,0x5b, 0x2a,0xce,0x2c,0x90,0xc4,0x8e) +#endif +#else +typedef struct IWMCredentialCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMCredentialCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMCredentialCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMCredentialCallback *This); + + /*** IWMCredentialCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *AcquireCredentials)( + IWMCredentialCallback *This, + WCHAR *realm, + WCHAR *site, + WCHAR *username, + DWORD username_size, + WCHAR *password, + DWORD password_size, + HRESULT hr, + DWORD *flags); + + END_INTERFACE +} IWMCredentialCallbackVtbl; + +interface IWMCredentialCallback { + CONST_VTBL IWMCredentialCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMCredentialCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMCredentialCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMCredentialCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWMCredentialCallback methods ***/ +#define IWMCredentialCallback_AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags) (This)->lpVtbl->AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMCredentialCallback_QueryInterface(IWMCredentialCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMCredentialCallback_AddRef(IWMCredentialCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMCredentialCallback_Release(IWMCredentialCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWMCredentialCallback methods ***/ +static inline HRESULT IWMCredentialCallback_AcquireCredentials(IWMCredentialCallback* This,WCHAR *realm,WCHAR *site,WCHAR *username,DWORD username_size,WCHAR *password,DWORD password_size,HRESULT hr,DWORD *flags) { + return This->lpVtbl->AcquireCredentials(This,realm,site,username,username_size,password,password_size,hr,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWMCredentialCallback_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WMCheckURLExtension(LPCWSTR); +HRESULT WINAPI WMCheckURLScheme(LPCWSTR); +HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**); +HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**); +HRESULT WINAPI WMCreateSyncReader(IUnknown*,DWORD,IWMSyncReader**); +HRESULT WINAPI WMCreateEditor(IWMMetadataEditor**); +HRESULT WINAPI WMCreateBackupRestorer(IUnknown*,IWMLicenseBackup**); +HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**); +HRESULT WINAPI WMIsContentProtected(const WCHAR*, WINBOOL*); +EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70); +EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37); +EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea); +EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71); +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmsdkidl_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsecure.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsecure.h new file mode 100644 index 00000000..2cd92bf4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wmsecure.h @@ -0,0 +1,472 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wmsecure.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 __wmsecure_h__ +#define __wmsecure_h__ + +/* Forward declarations */ + +#ifndef __IWMAuthorizer_FWD_DEFINED__ +#define __IWMAuthorizer_FWD_DEFINED__ +typedef interface IWMAuthorizer IWMAuthorizer; +#ifdef __cplusplus +interface IWMAuthorizer; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMSecureChannel_FWD_DEFINED__ +#define __IWMSecureChannel_FWD_DEFINED__ +typedef interface IWMSecureChannel IWMSecureChannel; +#ifdef __cplusplus +interface IWMSecureChannel; +#endif /* __cplusplus */ +#endif + +#ifndef __IWMGetSecureChannel_FWD_DEFINED__ +#define __IWMGetSecureChannel_FWD_DEFINED__ +typedef interface IWMGetSecureChannel IWMGetSecureChannel; +#ifdef __cplusplus +interface IWMGetSecureChannel; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/***************************************************************************** + * IWMAuthorizer interface + */ +#ifndef __IWMAuthorizer_INTERFACE_DEFINED__ +#define __IWMAuthorizer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMAuthorizer, 0xd9b67d36, 0xa9ad, 0x4eb4, 0xba,0xef, 0xdb,0x28,0x4e,0xf5,0x50,0x4c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d9b67d36-a9ad-4eb4-baef-db284ef5504c") +IWMAuthorizer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCertCount( + DWORD *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCert( + DWORD index, + BYTE **data) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSharedData( + DWORD index, + const BYTE *data, + BYTE *cert, + BYTE **ret_data) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMAuthorizer, 0xd9b67d36, 0xa9ad, 0x4eb4, 0xba,0xef, 0xdb,0x28,0x4e,0xf5,0x50,0x4c) +#endif +#else +typedef struct IWMAuthorizerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMAuthorizer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMAuthorizer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMAuthorizer *This); + + /*** IWMAuthorizer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCertCount)( + IWMAuthorizer *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetCert)( + IWMAuthorizer *This, + DWORD index, + BYTE **data); + + HRESULT (STDMETHODCALLTYPE *GetSharedData)( + IWMAuthorizer *This, + DWORD index, + const BYTE *data, + BYTE *cert, + BYTE **ret_data); + + END_INTERFACE +} IWMAuthorizerVtbl; + +interface IWMAuthorizer { + CONST_VTBL IWMAuthorizerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMAuthorizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMAuthorizer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMAuthorizer_Release(This) (This)->lpVtbl->Release(This) +/*** IWMAuthorizer methods ***/ +#define IWMAuthorizer_GetCertCount(This,count) (This)->lpVtbl->GetCertCount(This,count) +#define IWMAuthorizer_GetCert(This,index,data) (This)->lpVtbl->GetCert(This,index,data) +#define IWMAuthorizer_GetSharedData(This,index,data,cert,ret_data) (This)->lpVtbl->GetSharedData(This,index,data,cert,ret_data) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMAuthorizer_QueryInterface(IWMAuthorizer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMAuthorizer_AddRef(IWMAuthorizer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMAuthorizer_Release(IWMAuthorizer* This) { + return This->lpVtbl->Release(This); +} +/*** IWMAuthorizer methods ***/ +static inline HRESULT IWMAuthorizer_GetCertCount(IWMAuthorizer* This,DWORD *count) { + return This->lpVtbl->GetCertCount(This,count); +} +static inline HRESULT IWMAuthorizer_GetCert(IWMAuthorizer* This,DWORD index,BYTE **data) { + return This->lpVtbl->GetCert(This,index,data); +} +static inline HRESULT IWMAuthorizer_GetSharedData(IWMAuthorizer* This,DWORD index,const BYTE *data,BYTE *cert,BYTE **ret_data) { + return This->lpVtbl->GetSharedData(This,index,data,cert,ret_data); +} +#endif +#endif + +#endif + + +#endif /* __IWMAuthorizer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMSecureChannel interface + */ +#ifndef __IWMSecureChannel_INTERFACE_DEFINED__ +#define __IWMSecureChannel_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMSecureChannel, 0x2720598a, 0xd0f2, 0x4189, 0xbd,0x10, 0x91,0xc4,0x6e,0xf0,0x93,0x6f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2720598a-d0f2-4189-bd10-91c46ef0936f") +IWMSecureChannel : public IWMAuthorizer +{ + virtual HRESULT STDMETHODCALLTYPE WMSC_AddCertificate( + IWMAuthorizer *cert) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_AddSignature( + BYTE *signature, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Connect( + IWMSecureChannel *peer) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_IsConnected( + WINBOOL *connected) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Disconnect( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_GetValidCertificate( + BYTE **cert, + DWORD *signature) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Encrypt( + BYTE *data, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Decrypt( + BYTE *data, + DWORD size) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Lock( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_Unlock( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WMSC_SetSharedData( + DWORD index, + BYTE *data) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMSecureChannel, 0x2720598a, 0xd0f2, 0x4189, 0xbd,0x10, 0x91,0xc4,0x6e,0xf0,0x93,0x6f) +#endif +#else +typedef struct IWMSecureChannelVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMSecureChannel *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMSecureChannel *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMSecureChannel *This); + + /*** IWMAuthorizer methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCertCount)( + IWMSecureChannel *This, + DWORD *count); + + HRESULT (STDMETHODCALLTYPE *GetCert)( + IWMSecureChannel *This, + DWORD index, + BYTE **data); + + HRESULT (STDMETHODCALLTYPE *GetSharedData)( + IWMSecureChannel *This, + DWORD index, + const BYTE *data, + BYTE *cert, + BYTE **ret_data); + + /*** IWMSecureChannel methods ***/ + HRESULT (STDMETHODCALLTYPE *WMSC_AddCertificate)( + IWMSecureChannel *This, + IWMAuthorizer *cert); + + HRESULT (STDMETHODCALLTYPE *WMSC_AddSignature)( + IWMSecureChannel *This, + BYTE *signature, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *WMSC_Connect)( + IWMSecureChannel *This, + IWMSecureChannel *peer); + + HRESULT (STDMETHODCALLTYPE *WMSC_IsConnected)( + IWMSecureChannel *This, + WINBOOL *connected); + + HRESULT (STDMETHODCALLTYPE *WMSC_Disconnect)( + IWMSecureChannel *This); + + HRESULT (STDMETHODCALLTYPE *WMSC_GetValidCertificate)( + IWMSecureChannel *This, + BYTE **cert, + DWORD *signature); + + HRESULT (STDMETHODCALLTYPE *WMSC_Encrypt)( + IWMSecureChannel *This, + BYTE *data, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *WMSC_Decrypt)( + IWMSecureChannel *This, + BYTE *data, + DWORD size); + + HRESULT (STDMETHODCALLTYPE *WMSC_Lock)( + IWMSecureChannel *This); + + HRESULT (STDMETHODCALLTYPE *WMSC_Unlock)( + IWMSecureChannel *This); + + HRESULT (STDMETHODCALLTYPE *WMSC_SetSharedData)( + IWMSecureChannel *This, + DWORD index, + BYTE *data); + + END_INTERFACE +} IWMSecureChannelVtbl; + +interface IWMSecureChannel { + CONST_VTBL IWMSecureChannelVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMSecureChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMSecureChannel_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMSecureChannel_Release(This) (This)->lpVtbl->Release(This) +/*** IWMAuthorizer methods ***/ +#define IWMSecureChannel_GetCertCount(This,count) (This)->lpVtbl->GetCertCount(This,count) +#define IWMSecureChannel_GetCert(This,index,data) (This)->lpVtbl->GetCert(This,index,data) +#define IWMSecureChannel_GetSharedData(This,index,data,cert,ret_data) (This)->lpVtbl->GetSharedData(This,index,data,cert,ret_data) +/*** IWMSecureChannel methods ***/ +#define IWMSecureChannel_WMSC_AddCertificate(This,cert) (This)->lpVtbl->WMSC_AddCertificate(This,cert) +#define IWMSecureChannel_WMSC_AddSignature(This,signature,size) (This)->lpVtbl->WMSC_AddSignature(This,signature,size) +#define IWMSecureChannel_WMSC_Connect(This,peer) (This)->lpVtbl->WMSC_Connect(This,peer) +#define IWMSecureChannel_WMSC_IsConnected(This,connected) (This)->lpVtbl->WMSC_IsConnected(This,connected) +#define IWMSecureChannel_WMSC_Disconnect(This) (This)->lpVtbl->WMSC_Disconnect(This) +#define IWMSecureChannel_WMSC_GetValidCertificate(This,cert,signature) (This)->lpVtbl->WMSC_GetValidCertificate(This,cert,signature) +#define IWMSecureChannel_WMSC_Encrypt(This,data,size) (This)->lpVtbl->WMSC_Encrypt(This,data,size) +#define IWMSecureChannel_WMSC_Decrypt(This,data,size) (This)->lpVtbl->WMSC_Decrypt(This,data,size) +#define IWMSecureChannel_WMSC_Lock(This) (This)->lpVtbl->WMSC_Lock(This) +#define IWMSecureChannel_WMSC_Unlock(This) (This)->lpVtbl->WMSC_Unlock(This) +#define IWMSecureChannel_WMSC_SetSharedData(This,index,data) (This)->lpVtbl->WMSC_SetSharedData(This,index,data) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMSecureChannel_QueryInterface(IWMSecureChannel* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMSecureChannel_AddRef(IWMSecureChannel* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMSecureChannel_Release(IWMSecureChannel* This) { + return This->lpVtbl->Release(This); +} +/*** IWMAuthorizer methods ***/ +static inline HRESULT IWMSecureChannel_GetCertCount(IWMSecureChannel* This,DWORD *count) { + return This->lpVtbl->GetCertCount(This,count); +} +static inline HRESULT IWMSecureChannel_GetCert(IWMSecureChannel* This,DWORD index,BYTE **data) { + return This->lpVtbl->GetCert(This,index,data); +} +static inline HRESULT IWMSecureChannel_GetSharedData(IWMSecureChannel* This,DWORD index,const BYTE *data,BYTE *cert,BYTE **ret_data) { + return This->lpVtbl->GetSharedData(This,index,data,cert,ret_data); +} +/*** IWMSecureChannel methods ***/ +static inline HRESULT IWMSecureChannel_WMSC_AddCertificate(IWMSecureChannel* This,IWMAuthorizer *cert) { + return This->lpVtbl->WMSC_AddCertificate(This,cert); +} +static inline HRESULT IWMSecureChannel_WMSC_AddSignature(IWMSecureChannel* This,BYTE *signature,DWORD size) { + return This->lpVtbl->WMSC_AddSignature(This,signature,size); +} +static inline HRESULT IWMSecureChannel_WMSC_Connect(IWMSecureChannel* This,IWMSecureChannel *peer) { + return This->lpVtbl->WMSC_Connect(This,peer); +} +static inline HRESULT IWMSecureChannel_WMSC_IsConnected(IWMSecureChannel* This,WINBOOL *connected) { + return This->lpVtbl->WMSC_IsConnected(This,connected); +} +static inline HRESULT IWMSecureChannel_WMSC_Disconnect(IWMSecureChannel* This) { + return This->lpVtbl->WMSC_Disconnect(This); +} +static inline HRESULT IWMSecureChannel_WMSC_GetValidCertificate(IWMSecureChannel* This,BYTE **cert,DWORD *signature) { + return This->lpVtbl->WMSC_GetValidCertificate(This,cert,signature); +} +static inline HRESULT IWMSecureChannel_WMSC_Encrypt(IWMSecureChannel* This,BYTE *data,DWORD size) { + return This->lpVtbl->WMSC_Encrypt(This,data,size); +} +static inline HRESULT IWMSecureChannel_WMSC_Decrypt(IWMSecureChannel* This,BYTE *data,DWORD size) { + return This->lpVtbl->WMSC_Decrypt(This,data,size); +} +static inline HRESULT IWMSecureChannel_WMSC_Lock(IWMSecureChannel* This) { + return This->lpVtbl->WMSC_Lock(This); +} +static inline HRESULT IWMSecureChannel_WMSC_Unlock(IWMSecureChannel* This) { + return This->lpVtbl->WMSC_Unlock(This); +} +static inline HRESULT IWMSecureChannel_WMSC_SetSharedData(IWMSecureChannel* This,DWORD index,BYTE *data) { + return This->lpVtbl->WMSC_SetSharedData(This,index,data); +} +#endif +#endif + +#endif + + +#endif /* __IWMSecureChannel_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWMGetSecureChannel interface + */ +#ifndef __IWMGetSecureChannel_INTERFACE_DEFINED__ +#define __IWMGetSecureChannel_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWMGetSecureChannel, 0x94bc0598, 0xc3d2, 0x11d3, 0xbe,0xdf, 0x00,0xc0,0x4f,0x61,0x29,0x86); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94bc0598-c3d2-11d3-bedf-00c04f612986") +IWMGetSecureChannel : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPeerSecureChannelInterface( + IWMSecureChannel **channel) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWMGetSecureChannel, 0x94bc0598, 0xc3d2, 0x11d3, 0xbe,0xdf, 0x00,0xc0,0x4f,0x61,0x29,0x86) +#endif +#else +typedef struct IWMGetSecureChannelVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWMGetSecureChannel *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWMGetSecureChannel *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWMGetSecureChannel *This); + + /*** IWMGetSecureChannel methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPeerSecureChannelInterface)( + IWMGetSecureChannel *This, + IWMSecureChannel **channel); + + END_INTERFACE +} IWMGetSecureChannelVtbl; + +interface IWMGetSecureChannel { + CONST_VTBL IWMGetSecureChannelVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWMGetSecureChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWMGetSecureChannel_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWMGetSecureChannel_Release(This) (This)->lpVtbl->Release(This) +/*** IWMGetSecureChannel methods ***/ +#define IWMGetSecureChannel_GetPeerSecureChannelInterface(This,channel) (This)->lpVtbl->GetPeerSecureChannelInterface(This,channel) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWMGetSecureChannel_QueryInterface(IWMGetSecureChannel* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWMGetSecureChannel_AddRef(IWMGetSecureChannel* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWMGetSecureChannel_Release(IWMGetSecureChannel* This) { + return This->lpVtbl->Release(This); +} +/*** IWMGetSecureChannel methods ***/ +static inline HRESULT IWMGetSecureChannel_GetPeerSecureChannelInterface(IWMGetSecureChannel* This,IWMSecureChannel **channel) { + return This->lpVtbl->GetPeerSecureChannelInterface(This,channel); +} +#endif +#endif + +#endif + + +#endif /* __IWMGetSecureChannel_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wmsecure_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wnnc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wnnc.h new file mode 100644 index 00000000..df3ea011 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wnnc.h @@ -0,0 +1,86 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WNNC_ +#define _WNNC_ + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#define WNNC_NET_MSNET 0x00010000 +#define WNNC_NET_LANMAN WNNC_NET_SMB +#define WNNC_NET_SMB 0x00020000 +#define WNNC_NET_NETWARE 0x00030000 +#define WNNC_NET_VINES 0x00040000 +#define WNNC_NET_10NET 0x00050000 +#define WNNC_NET_LOCUS 0x00060000 +#define WNNC_NET_SUN_PC_NFS 0x00070000 +#define WNNC_NET_LANSTEP 0x00080000 +#define WNNC_NET_9TILES 0x00090000 +#define WNNC_NET_LANTASTIC 0x000a0000 +#define WNNC_NET_AS400 0x000b0000 +#define WNNC_NET_FTP_NFS 0x000c0000 +#define WNNC_NET_PATHWORKS 0x000d0000 +#define WNNC_NET_LIFENET 0x000e0000 +#define WNNC_NET_POWERLAN 0x000f0000 +#define WNNC_NET_BWNFS 0x00100000 +#define WNNC_NET_COGENT 0x00110000 +#define WNNC_NET_FARALLON 0x00120000 +#define WNNC_NET_APPLETALK 0x00130000 +#define WNNC_NET_INTERGRAPH 0x00140000 +#define WNNC_NET_SYMFONET 0x00150000 +#define WNNC_NET_CLEARCASE 0x00160000 +#define WNNC_NET_FRONTIER 0x00170000 +#define WNNC_NET_BMC 0x00180000 +#define WNNC_NET_DCE 0x00190000 +#define WNNC_NET_AVID 0x001a0000 +#define WNNC_NET_DOCUSPACE 0x001b0000 +#define WNNC_NET_MANGOSOFT 0x001c0000 +#define WNNC_NET_SERNET 0x001d0000 +#define WNNC_NET_RIVERFRONT1 0x001e0000 +#define WNNC_NET_RIVERFRONT2 0x001f0000 +#define WNNC_NET_DECORB 0x00200000 +#define WNNC_NET_PROTSTOR 0x00210000 +#define WNNC_NET_FJ_REDIR 0x00220000 +#define WNNC_NET_DISTINCT 0x00230000 +#define WNNC_NET_TWINS 0x00240000 +#define WNNC_NET_RDR2SAMPLE 0x00250000 +#define WNNC_NET_CSC 0x00260000 +#define WNNC_NET_3IN1 0x00270000 +#define WNNC_NET_EXTENDNET 0x00290000 +#define WNNC_NET_STAC 0x002a0000 +#define WNNC_NET_FOXBAT 0x002b0000 +#define WNNC_NET_YAHOO 0x002c0000 +#define WNNC_NET_EXIFS 0x002d0000 +#define WNNC_NET_DAV 0x002e0000 +#define WNNC_NET_KNOWARE 0x002f0000 +#define WNNC_NET_OBJECT_DIRE 0x00300000 +#define WNNC_NET_MASFAX 0x00310000 +#define WNNC_NET_HOB_NFS 0x00320000 +#define WNNC_NET_SHIVA 0x00330000 +#define WNNC_NET_IBMAL 0x00340000 +#define WNNC_NET_LOCK 0x00350000 +#define WNNC_NET_TERMSRV 0x00360000 +#define WNNC_NET_SRT 0x00370000 +#define WNNC_NET_QUINCY 0x00380000 +#define WNNC_NET_OPENAFS 0x00390000 +#define WNNC_NET_AVID1 0x003a0000 +#define WNNC_NET_DFS 0x003b0000 +#define WNNC_NET_KWNP 0x003c0000 +#define WNNC_NET_ZENWORKS 0x003d0000 +#define WNNC_NET_DRIVEONWEB 0x003e0000 +#define WNNC_NET_VMWARE 0x003f0000 +#define WNNC_NET_RSFX 0x00400000 +#define WNNC_NET_MFILES 0x00410000 +#define WNNC_NET_MS_NFS 0x00420000 +#define WNNC_NET_GOOGLE 0x00430000 +#define WNNC_NET_NDFS 0x00440000 + +#define WNNC_CRED_MANAGER 0xffff0000 + +#endif /* WINAPI_PARTITION_DESKTOP. */ + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wow64apiset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wow64apiset.h new file mode 100644 index 00000000..b8fe3a6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wow64apiset.h @@ -0,0 +1,55 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WOW64APISET_H_ +#define _WOW64APISET_H_ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + WINBASEAPI WINBOOL WINAPI Wow64DisableWow64FsRedirection (PVOID *OldValue); + WINBASEAPI WINBOOL WINAPI Wow64RevertWow64FsRedirection (PVOID OlValue); + + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR lpBuffer, UINT uSize); + WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR lpBuffer, UINT uSize); + #define GetSystemWow64Directory __MINGW_NAME_AW(GetSystemWow64Directory) + + #if _WIN32_WINNT >= 0x0600 + WINBASEAPI WINBOOL WINAPI Wow64GetThreadContext (HANDLE hThread, PWOW64_CONTEXT lpContext); + WINBASEAPI WINBOOL WINAPI Wow64SetThreadContext (HANDLE hThread, CONST WOW64_CONTEXT *lpContext); + WINBASEAPI DWORD WINAPI Wow64SuspendThread (HANDLE hThread); + #endif + + #if _WIN32_WINNT >= 0x0A00 + WINBASEAPI USHORT WINAPI Wow64SetThreadDefaultGuestMachine (USHORT Machine); + + WINBASEAPI UINT WINAPI GetSystemWow64Directory2A (LPSTR lpBuffer, UINT uSize, WORD ImageFileMachineType); + WINBASEAPI UINT WINAPI GetSystemWow64Directory2W (LPWSTR lpBuffer, UINT uSize, WORD ImageFileMachineType); + #define GetSystemWow64Directory2 __MINGW_NAME_AW(GetSystemWow64Directory2) + + WINBASEAPI HRESULT WINAPI IsWow64GuestMachineSupported (USHORT WowGuestMachine, WINBOOL *MachineIsSupported); + #endif + +#endif /* WINAPI_PARTITION_DESKTOP */ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_APP) + WINBASEAPI WINBOOL WINAPI IsWow64Process (HANDLE hProcess, PBOOL Wow64Process); + + #if _WIN32_WINNT >= 0x0A00 + WINBASEAPI WINBOOL WINAPI IsWow64Process2 (HANDLE hProcess, USHORT *pProcessMachine, USHORT *pNativeMachine); + #endif + +#endif /* WINAPI_PARTITION_APP */ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt16.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt16.h new file mode 100644 index 00000000..f481885e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt16.h @@ -0,0 +1,25 @@ +/** + * 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 _WOWNT16_ +#define _WOWNT16_ + +#ifdef __cplusplus +extern "C" { +#endif + + DWORD WINAPI GetVDMPointer32W(LPVOID vp,UINT fMode); + DWORD WINAPI LoadLibraryEx32W(LPCSTR lpszLibFile,DWORD hFile,DWORD dwFlags); + DWORD WINAPI GetProcAddress32W(DWORD hModule,LPCSTR lpszProc); + DWORD WINAPI FreeLibrary32W(DWORD hLibModule); + DWORD CDECL CallProcEx32W(DWORD,DWORD,DWORD,...); + +#define CPEX_DEST_STDCALL __MSABI_LONG(0x00000000) +#define CPEX_DEST_CDECL __MSABI_LONG(0x80000000) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt32.h new file mode 100644 index 00000000..27ad439f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wownt32.h @@ -0,0 +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. + */ +#ifndef _WOWNT32_ +#define _WOWNT32_ + +LPVOID WINAPI WOWGetVDMPointer(DWORD vp,DWORD dwBytes,WINBOOL fProtectedMode); +LPVOID WINAPI WOWGetVDMPointerFix(DWORD vp,DWORD dwBytes,WINBOOL fProtectedMode); +VOID WINAPI WOWGetVDMPointerUnfix(DWORD vp); +WORD WINAPI WOWGlobalAlloc16(WORD wFlags,DWORD cb); +WORD WINAPI WOWGlobalFree16(WORD hMem); +DWORD WINAPI WOWGlobalLock16(WORD hMem); +WINBOOL WINAPI WOWGlobalUnlock16(WORD hMem); +DWORD WINAPI WOWGlobalAllocLock16(WORD wFlags,DWORD cb,WORD *phMem); +WORD WINAPI WOWGlobalUnlockFree16(DWORD vpMem); +DWORD WINAPI WOWGlobalLockSize16(WORD hMem,PDWORD pcb); +VOID WINAPI WOWYield16(VOID); +VOID WINAPI WOWDirectedYield16(WORD htask16); + +typedef enum _WOW_HANDLE_TYPE { + WOW_TYPE_HWND,WOW_TYPE_HMENU,WOW_TYPE_HDWP,WOW_TYPE_HDROP,WOW_TYPE_HDC,WOW_TYPE_HFONT,WOW_TYPE_HMETAFILE,WOW_TYPE_HRGN,WOW_TYPE_HBITMAP, + WOW_TYPE_HBRUSH,WOW_TYPE_HPALETTE,WOW_TYPE_HPEN,WOW_TYPE_HACCEL,WOW_TYPE_HTASK,WOW_TYPE_FULLHWND +} WOW_HANDLE_TYPE; + +HANDLE WINAPI WOWHandle32 (WORD,WOW_HANDLE_TYPE); +WORD WINAPI WOWHandle16 (HANDLE,WOW_HANDLE_TYPE); + +#define HWND_32(h16) ((HWND) (WOWHandle32(h16,WOW_TYPE_HWND))) +#define HMENU_32(h16) ((HMENU) (WOWHandle32(h16,WOW_TYPE_HMENU))) +#define HDWP_32(h16) ((HDWP) (WOWHandle32(h16,WOW_TYPE_HDWP))) +#define HDROP_32(h16) ((HDROP) (WOWHandle32(h16,WOW_TYPE_HDROP))) +#define HDC_32(h16) ((HDC) (WOWHandle32(h16,WOW_TYPE_HDC))) +#define HFONT_32(h16) ((HFONT) (WOWHandle32(h16,WOW_TYPE_HFONT))) +#define HMETAFILE_32(h16) ((HMETAFILE) (WOWHandle32(h16,WOW_TYPE_HMETAFILE))) +#define HRGN_32(h16) ((HRGN) (WOWHandle32(h16,WOW_TYPE_HRGN))) +#define HBITMAP_32(h16) ((HBITMAP) (WOWHandle32(h16,WOW_TYPE_HBITMAP))) +#define HBRUSH_32(h16) ((HBRUSH) (WOWHandle32(h16,WOW_TYPE_HBRUSH))) +#define HPALETTE_32(h16) ((HPALETTE) (WOWHandle32(h16,WOW_TYPE_HPALETTE))) +#define HPEN_32(h16) ((HPEN) (WOWHandle32(h16,WOW_TYPE_HPEN))) +#define HACCEL_32(h16) ((HACCEL) (WOWHandle32(h16,WOW_TYPE_HACCEL))) +#define HTASK_32(h16) ((DWORD) (WOWHandle32(h16,WOW_TYPE_HTASK))) +#define FULLHWND_32(h16) ((HWND) (WOWHandle32(h16,WOW_TYPE_FULLHWND))) + +#define HWND_16(h32) (WOWHandle16(h32,WOW_TYPE_HWND)) +#define HMENU_16(h32) (WOWHandle16(h32,WOW_TYPE_HMENU)) +#define HDWP_16(h32) (WOWHandle16(h32,WOW_TYPE_HDWP)) +#define HDROP_16(h32) (WOWHandle16(h32,WOW_TYPE_HDROP)) +#define HDC_16(h32) (WOWHandle16(h32,WOW_TYPE_HDC)) +#define HFONT_16(h32) (WOWHandle16(h32,WOW_TYPE_HFONT)) +#define HMETAFILE_16(h32) (WOWHandle16(h32,WOW_TYPE_HMETAFILE)) +#define HRGN_16(h32) (WOWHandle16(h32,WOW_TYPE_HRGN)) +#define HBITMAP_16(h32) (WOWHandle16(h32,WOW_TYPE_HBITMAP)) +#define HBRUSH_16(h32) (WOWHandle16(h32,WOW_TYPE_HBRUSH)) +#define HPALETTE_16(h32) (WOWHandle16(h32,WOW_TYPE_HPALETTE)) +#define HPEN_16(h32) (WOWHandle16(h32,WOW_TYPE_HPEN)) +#define HACCEL_16(h32) (WOWHandle16(h32,WOW_TYPE_HACCEL)) +#define HTASK_16(h32) (WOWHandle16(h32,WOW_TYPE_HTASK)) + +DWORD WINAPI WOWCallback16(DWORD vpfn16,DWORD dwParam); + +#define WCB16_MAX_CBARGS (16) + +#define WCB16_PASCAL (0x0) +#define WCB16_CDECL (0x1) + +WINBOOL WINAPI WOWCallback16Ex(DWORD vpfn16,DWORD dwFlags,DWORD cbArgs,PVOID pArgs,PDWORD pdwRetCode); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapi.h new file mode 100644 index 00000000..c349d545 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapi.h @@ -0,0 +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. + */ +#ifndef __WP15API_H__ +#define __WP15API_H__ + +#include <_mingw_unicode.h> +#include +#include "wptypes.h" + +#include + +#define WPF_NO_RECURSIVE_POST 0x00000001 +#define WPF_NO_WIZARD 0x00000002 +#define WPF_MINIMAL_UI 0x00000004 +#define WPF_FIRST_FILE_AS_DEFAULT 0x00000008 +#define WPF_NO_DIRECT_LOOKUP 0x00000010 +#define WPF_NO_URL_LOOKUP 0x00000020 +#define WPF_USE_PROVIDER_PASSED 0x00000040 +#define WPF_NO_VERIFY_POST 0x00000080 +#define WPF_NO_PROGRESS_DLGS 0x00000200 +#define WPF_SHOWPAGE_WELCOME 0x00010000 +#define WPF_SHOWPAGE_SRCFILE 0x00020000 +#define WPF_SHOWPAGE_DESTSITE 0x00040000 +#define WPF_SHOWPAGE_PROVIDER 0x00080000 +#define WPF_ENABLE_LOCAL_BASE_DIR 0x00100000 +#define WPF_NO_UI WPF_NO_WIZARD | WPF_NO_PROGRESS_DLGS +#define WPF_SHOWPAGE_ALL WPF_SHOWPAGE_WELCOME | WPF_SHOWPAGE_SRCFILE | WPF_SHOWPAGE_DESTSITE | WPF_SHOWPAGE_PROVIDER + +#define MAX_SITENAME_LEN 128 + +#ifdef __cplusplus +extern "C" { +#endif + + DWORD WINAPI WpPostW(HWND hwnd,DWORD dwNumLocalPaths,LPWSTR *pwsLocalPaths,LPDWORD pdwSiteNameBufLen,LPWSTR wsSiteName,LPDWORD pdwDestURLBufLen,LPWSTR wsDestURL,DWORD dwFlag); + DWORD WINAPI WpListSitesW(LPDWORD pdwSitesBufLen,LPWPSITEINFOW pSitesBuffer,LPDWORD pdwNumSites); + DWORD WINAPI WpDoesSiteExistW(LPCWSTR wsSiteName,WINBOOL *pfSiteExists); + DWORD WINAPI WpDeleteSiteW(LPCWSTR wsSiteName); + DWORD WINAPI WpBindToSiteW(HWND hwnd,LPCWSTR wsSiteName,LPCWSTR wsSitePostingURL,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); + DWORD WINAPI WpCreateSiteW(LPCWSTR wsSiteName,LPCWSTR wsSiteLocalBaseDir,LPCWSTR wsSitePostingURL,LPCWSTR wsProviderCLSID,DWORD dwFlags); + DWORD WINAPI WpEnumProvidersW(LPDWORD pdwProvidersBufLen,LPWPPROVINFOW pProvidersBuffer,LPDWORD pdwNumProviders); + DWORD WINAPI WpGetErrorStringW(UINT uErrCode,LPWSTR wsOutputBuf,LPDWORD pdwBufLen); + DWORD WINAPI WpPostA(HWND hwnd,DWORD dwNumLocalPaths,LPSTR *psLocalPaths,LPDWORD pdwSiteNameBufLen,LPSTR sSiteName,LPDWORD pdwDestURLBufLen,LPSTR sDestURLBufLen,DWORD dwFlag); + DWORD WINAPI WpListSitesA(LPDWORD pdwSitesBufLen,LPWPSITEINFOA pSitesBuffer,LPDWORD pdwNumSites); + DWORD WINAPI WpDoesSiteExistA(LPCSTR sSiteName,WINBOOL *pfSiteExists); + DWORD WINAPI WpDeleteSiteA(LPCSTR sSiteName); + DWORD WINAPI WpBindToSiteA(HWND hwnd,LPCSTR sSiteName,LPCSTR sSitePostingURL,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); + DWORD WINAPI WpCreateSiteA(LPCSTR sSiteName,LPCSTR sSiteLocalBaseDir,LPCSTR sSitePostingURL,LPCSTR sProviderCLSID,DWORD dwFlags); + DWORD WINAPI WpEnumProvidersA(LPDWORD pdwProvidersBufLen,LPWPPROVINFOA pProvidersBuffer,LPDWORD pdwNumProviders); + DWORD WINAPI WpGetErrorStringA(UINT uErrCode,LPSTR sOutputBuf,LPDWORD pdwBufLen); + +#ifdef __cplusplus +} +#endif + +#define WpPost __MINGW_NAME_AW(WpPost) +#define WpListSites __MINGW_NAME_AW(WpListSites) +#define WpDoesSiteExist __MINGW_NAME_AW(WpDoesSiteExist) +#define WpDeleteSite __MINGW_NAME_AW(WpDeleteSite) +#define WpBindToSite __MINGW_NAME_AW(WpBindToSite) +#define WpCreateSite __MINGW_NAME_AW(WpCreateSite) +#define WpEnumProviders __MINGW_NAME_AW(WpEnumProviders) +#define WpGetErrorString __MINGW_NAME_AW(WpGetErrorString) + +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapimsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapimsg.h new file mode 100644 index 00000000..e4728bb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpapimsg.h @@ -0,0 +1,32 @@ +/** + * 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 WEBPOST_ERROR_FIRST __MSABI_LONG(0x40042100) +#define WEBPOST_ERROR_UNKNOWN __MSABI_LONG(0xC0042101) +#define WEBPOST_ERROR_PROVCLSID_UNKNOWN __MSABI_LONG(0xC0042102) +#define WEBPOST_ERROR_SITE_CORRUPT __MSABI_LONG(0xC0042103) +#define WEBPOST_ERROR_PROV_CORRUPT __MSABI_LONG(0xC0042104) +#define WEBPOST_ERROR_PROV_DLL __MSABI_LONG(0xC0042105) +#define WEBPOST_ERROR_PROV_EP __MSABI_LONG(0xC0042106) +#define WEBPOST_ERROR_INIT_FAILED __MSABI_LONG(0xC0042107) +#define WEBPOST_ERROR_LIST_SITES __MSABI_LONG(0xC0042108) +#define WEBPOST_ERROR_SITE_EXISTS __MSABI_LONG(0xC0042109) +#define WEBPOST_ERROR_CREATE_SITE __MSABI_LONG(0xC004210A) +#define WEBPOST_ERROR_SITE_DOESNOTEXIST __MSABI_LONG(0xC004210B) +#define WEBPOST_ERROR_DELETE_SITE __MSABI_LONG(0xC004210C) +#define WEBPOST_ERROR_ENUM_PROVS __MSABI_LONG(0xC004210D) +#define WEBPOST_ERROR_PROV_QI __MSABI_LONG(0xC004210E) +#define WEBPOST_ERROR_POST_FILES __MSABI_LONG(0xC004210F) +#define WEBPOST_ERROR_COCREATE_WIZARD __MSABI_LONG(0xC0042110) +#define WEBPOST_ERROR_POSTINFO_REQUIRED __MSABI_LONG(0xC0042111) +#define WEBPOST_ERROR_AUTOBIND_FAILED __MSABI_LONG(0xC0042112) +#define WEBPOST_ERROR_BAD_PROV_PTR __MSABI_LONG(0xC0042113) +#define WEBPOST_ERROR_PROV_NOT_IN_POSTINFO __MSABI_LONG(0x80042114) +#define WEBPOST_ERROR_EXTENDED_ERROR __MSABI_LONG(0xC0042116) +#define WEBPOST_ERROR_NO_EXT_ERR_INFO __MSABI_LONG(0xC0042117) +#define WEBPOST_ERROR_INVALID_POSTINFO __MSABI_LONG(0x40042118) +#define WEBPOST_ERROR_NO_POSTINFO __MSABI_LONG(0x40042119) +#define WEBPOST_ERROR_HTTP_GET_FAILED __MSABI_LONG(0x4004211A) +#define WEBPOST_ERROR_LAST __MSABI_LONG(0x400421FF) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcapi.h new file mode 100644 index 00000000..ca7a03b1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcapi.h @@ -0,0 +1,682 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wpcapi.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 __wpcapi_h__ +#define __wpcapi_h__ + +/* Forward declarations */ + +#ifndef __IWPCSettings_FWD_DEFINED__ +#define __IWPCSettings_FWD_DEFINED__ +typedef interface IWPCSettings IWPCSettings; +#ifdef __cplusplus +interface IWPCSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IWPCGamesSettings_FWD_DEFINED__ +#define __IWPCGamesSettings_FWD_DEFINED__ +typedef interface IWPCGamesSettings IWPCGamesSettings; +#ifdef __cplusplus +interface IWPCGamesSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IWPCWebSettings_FWD_DEFINED__ +#define __IWPCWebSettings_FWD_DEFINED__ +typedef interface IWPCWebSettings IWPCWebSettings; +#ifdef __cplusplus +interface IWPCWebSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowsParentalControlsCore_FWD_DEFINED__ +#define __IWindowsParentalControlsCore_FWD_DEFINED__ +typedef interface IWindowsParentalControlsCore IWindowsParentalControlsCore; +#ifdef __cplusplus +interface IWindowsParentalControlsCore; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowsParentalControls_FWD_DEFINED__ +#define __IWindowsParentalControls_FWD_DEFINED__ +typedef interface IWindowsParentalControls IWindowsParentalControls; +#ifdef __cplusplus +interface IWindowsParentalControls; +#endif /* __cplusplus */ +#endif + +#ifndef __WindowsParentalControls_FWD_DEFINED__ +#define __WindowsParentalControls_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WindowsParentalControls WindowsParentalControls; +#else +typedef struct WindowsParentalControls WindowsParentalControls; +#endif /* defined __cplusplus */ +#endif /* defined __WindowsParentalControls_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum tagWPCFLAG_RESTRICTION { + WPCFLAG_NO_RESTRICTION = 0x0, + WPCFLAG_LOGGING_REQUIRED = 0x1, + WPCFLAG_WEB_FILTERED = 0x2, + WPCFLAG_HOURS_RESTRICTED = 0x4, + WPCFLAG_GAMES_BLOCKED = 0x8, + WPCFLAG_APPS_RESTRICTED = 0x10 +} WPCFLAG_RESTRICTION; +/***************************************************************************** + * IWPCSettings interface + */ +#ifndef __IWPCSettings_INTERFACE_DEFINED__ +#define __IWPCSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWPCSettings, 0x8fdf6ca1, 0x0189, 0x47e4, 0xb6,0x70, 0x1a,0x8a,0x46,0x36,0xe3,0x40); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8fdf6ca1-0189-47e4-b670-1a8a4636e340") +IWPCSettings : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IsLoggingRequired( + WINBOOL *pfRequired) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastSettingsChangeTime( + SYSTEMTIME *pTime) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRestrictions( + DWORD *pdwRestrictions) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWPCSettings, 0x8fdf6ca1, 0x0189, 0x47e4, 0xb6,0x70, 0x1a,0x8a,0x46,0x36,0xe3,0x40) +#endif +#else +typedef struct IWPCSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWPCSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWPCSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWPCSettings *This); + + /*** IWPCSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *IsLoggingRequired)( + IWPCSettings *This, + WINBOOL *pfRequired); + + HRESULT (STDMETHODCALLTYPE *GetLastSettingsChangeTime)( + IWPCSettings *This, + SYSTEMTIME *pTime); + + HRESULT (STDMETHODCALLTYPE *GetRestrictions)( + IWPCSettings *This, + DWORD *pdwRestrictions); + + END_INTERFACE +} IWPCSettingsVtbl; + +interface IWPCSettings { + CONST_VTBL IWPCSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWPCSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWPCSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWPCSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IWPCSettings methods ***/ +#define IWPCSettings_IsLoggingRequired(This,pfRequired) (This)->lpVtbl->IsLoggingRequired(This,pfRequired) +#define IWPCSettings_GetLastSettingsChangeTime(This,pTime) (This)->lpVtbl->GetLastSettingsChangeTime(This,pTime) +#define IWPCSettings_GetRestrictions(This,pdwRestrictions) (This)->lpVtbl->GetRestrictions(This,pdwRestrictions) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWPCSettings_QueryInterface(IWPCSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWPCSettings_AddRef(IWPCSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWPCSettings_Release(IWPCSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IWPCSettings methods ***/ +static inline HRESULT IWPCSettings_IsLoggingRequired(IWPCSettings* This,WINBOOL *pfRequired) { + return This->lpVtbl->IsLoggingRequired(This,pfRequired); +} +static inline HRESULT IWPCSettings_GetLastSettingsChangeTime(IWPCSettings* This,SYSTEMTIME *pTime) { + return This->lpVtbl->GetLastSettingsChangeTime(This,pTime); +} +static inline HRESULT IWPCSettings_GetRestrictions(IWPCSettings* This,DWORD *pdwRestrictions) { + return This->lpVtbl->GetRestrictions(This,pdwRestrictions); +} +#endif +#endif + +#endif + + +#endif /* __IWPCSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWPCGamesSettings interface + */ +#ifndef __IWPCGamesSettings_INTERFACE_DEFINED__ +#define __IWPCGamesSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWPCGamesSettings, 0x95e87780, 0xe158, 0x489e, 0xb4,0x52, 0xbb,0xb8,0x50,0x79,0x07,0x15); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("95e87780-e158-489e-b452-bbb850790715") +IWPCGamesSettings : public IWPCSettings +{ + virtual HRESULT STDMETHODCALLTYPE IsBlocked( + GUID guidAppID, + DWORD *pdwReasons) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWPCGamesSettings, 0x95e87780, 0xe158, 0x489e, 0xb4,0x52, 0xbb,0xb8,0x50,0x79,0x07,0x15) +#endif +#else +typedef struct IWPCGamesSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWPCGamesSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWPCGamesSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWPCGamesSettings *This); + + /*** IWPCSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *IsLoggingRequired)( + IWPCGamesSettings *This, + WINBOOL *pfRequired); + + HRESULT (STDMETHODCALLTYPE *GetLastSettingsChangeTime)( + IWPCGamesSettings *This, + SYSTEMTIME *pTime); + + HRESULT (STDMETHODCALLTYPE *GetRestrictions)( + IWPCGamesSettings *This, + DWORD *pdwRestrictions); + + /*** IWPCGamesSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *IsBlocked)( + IWPCGamesSettings *This, + GUID guidAppID, + DWORD *pdwReasons); + + END_INTERFACE +} IWPCGamesSettingsVtbl; + +interface IWPCGamesSettings { + CONST_VTBL IWPCGamesSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWPCGamesSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWPCGamesSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWPCGamesSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IWPCSettings methods ***/ +#define IWPCGamesSettings_IsLoggingRequired(This,pfRequired) (This)->lpVtbl->IsLoggingRequired(This,pfRequired) +#define IWPCGamesSettings_GetLastSettingsChangeTime(This,pTime) (This)->lpVtbl->GetLastSettingsChangeTime(This,pTime) +#define IWPCGamesSettings_GetRestrictions(This,pdwRestrictions) (This)->lpVtbl->GetRestrictions(This,pdwRestrictions) +/*** IWPCGamesSettings methods ***/ +#define IWPCGamesSettings_IsBlocked(This,guidAppID,pdwReasons) (This)->lpVtbl->IsBlocked(This,guidAppID,pdwReasons) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWPCGamesSettings_QueryInterface(IWPCGamesSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWPCGamesSettings_AddRef(IWPCGamesSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWPCGamesSettings_Release(IWPCGamesSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IWPCSettings methods ***/ +static inline HRESULT IWPCGamesSettings_IsLoggingRequired(IWPCGamesSettings* This,WINBOOL *pfRequired) { + return This->lpVtbl->IsLoggingRequired(This,pfRequired); +} +static inline HRESULT IWPCGamesSettings_GetLastSettingsChangeTime(IWPCGamesSettings* This,SYSTEMTIME *pTime) { + return This->lpVtbl->GetLastSettingsChangeTime(This,pTime); +} +static inline HRESULT IWPCGamesSettings_GetRestrictions(IWPCGamesSettings* This,DWORD *pdwRestrictions) { + return This->lpVtbl->GetRestrictions(This,pdwRestrictions); +} +/*** IWPCGamesSettings methods ***/ +static inline HRESULT IWPCGamesSettings_IsBlocked(IWPCGamesSettings* This,GUID guidAppID,DWORD *pdwReasons) { + return This->lpVtbl->IsBlocked(This,guidAppID,pdwReasons); +} +#endif +#endif + +#endif + + +#endif /* __IWPCGamesSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWPCWebSettings interface + */ +#ifndef __IWPCWebSettings_INTERFACE_DEFINED__ +#define __IWPCWebSettings_INTERFACE_DEFINED__ + +typedef enum tagWPCFLAG_WEB_SETTING { + WPCFLAG_WEB_SETTING_NOTBLOCKED = 0, + WPCFLAG_WEB_SETTING_DOWNLOADSBLOCKED = 1 +} WPCFLAG_WEB_SETTING; +DEFINE_GUID(IID_IWPCWebSettings, 0xffccbdb8, 0x0992, 0x4c30, 0xb0,0xf1, 0x1c,0xbb,0x09,0xc2,0x40,0xaa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ffccbdb8-0992-4c30-b0f1-1cbb09c240aa") +IWPCWebSettings : public IWPCSettings +{ + virtual HRESULT STDMETHODCALLTYPE GetSettings( + DWORD *pdwSettings) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestURLOverride( + HWND hWnd, + LPCWSTR pcszURL, + DWORD cURLs, + LPCWSTR *ppcszSubURLs, + WINBOOL *pfChanged) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWPCWebSettings, 0xffccbdb8, 0x0992, 0x4c30, 0xb0,0xf1, 0x1c,0xbb,0x09,0xc2,0x40,0xaa) +#endif +#else +typedef struct IWPCWebSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWPCWebSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWPCWebSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWPCWebSettings *This); + + /*** IWPCSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *IsLoggingRequired)( + IWPCWebSettings *This, + WINBOOL *pfRequired); + + HRESULT (STDMETHODCALLTYPE *GetLastSettingsChangeTime)( + IWPCWebSettings *This, + SYSTEMTIME *pTime); + + HRESULT (STDMETHODCALLTYPE *GetRestrictions)( + IWPCWebSettings *This, + DWORD *pdwRestrictions); + + /*** IWPCWebSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSettings)( + IWPCWebSettings *This, + DWORD *pdwSettings); + + HRESULT (STDMETHODCALLTYPE *RequestURLOverride)( + IWPCWebSettings *This, + HWND hWnd, + LPCWSTR pcszURL, + DWORD cURLs, + LPCWSTR *ppcszSubURLs, + WINBOOL *pfChanged); + + END_INTERFACE +} IWPCWebSettingsVtbl; + +interface IWPCWebSettings { + CONST_VTBL IWPCWebSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWPCWebSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWPCWebSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWPCWebSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IWPCSettings methods ***/ +#define IWPCWebSettings_IsLoggingRequired(This,pfRequired) (This)->lpVtbl->IsLoggingRequired(This,pfRequired) +#define IWPCWebSettings_GetLastSettingsChangeTime(This,pTime) (This)->lpVtbl->GetLastSettingsChangeTime(This,pTime) +#define IWPCWebSettings_GetRestrictions(This,pdwRestrictions) (This)->lpVtbl->GetRestrictions(This,pdwRestrictions) +/*** IWPCWebSettings methods ***/ +#define IWPCWebSettings_GetSettings(This,pdwSettings) (This)->lpVtbl->GetSettings(This,pdwSettings) +#define IWPCWebSettings_RequestURLOverride(This,hWnd,pcszURL,cURLs,ppcszSubURLs,pfChanged) (This)->lpVtbl->RequestURLOverride(This,hWnd,pcszURL,cURLs,ppcszSubURLs,pfChanged) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWPCWebSettings_QueryInterface(IWPCWebSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWPCWebSettings_AddRef(IWPCWebSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWPCWebSettings_Release(IWPCWebSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IWPCSettings methods ***/ +static inline HRESULT IWPCWebSettings_IsLoggingRequired(IWPCWebSettings* This,WINBOOL *pfRequired) { + return This->lpVtbl->IsLoggingRequired(This,pfRequired); +} +static inline HRESULT IWPCWebSettings_GetLastSettingsChangeTime(IWPCWebSettings* This,SYSTEMTIME *pTime) { + return This->lpVtbl->GetLastSettingsChangeTime(This,pTime); +} +static inline HRESULT IWPCWebSettings_GetRestrictions(IWPCWebSettings* This,DWORD *pdwRestrictions) { + return This->lpVtbl->GetRestrictions(This,pdwRestrictions); +} +/*** IWPCWebSettings methods ***/ +static inline HRESULT IWPCWebSettings_GetSettings(IWPCWebSettings* This,DWORD *pdwSettings) { + return This->lpVtbl->GetSettings(This,pdwSettings); +} +static inline HRESULT IWPCWebSettings_RequestURLOverride(IWPCWebSettings* This,HWND hWnd,LPCWSTR pcszURL,DWORD cURLs,LPCWSTR *ppcszSubURLs,WINBOOL *pfChanged) { + return This->lpVtbl->RequestURLOverride(This,hWnd,pcszURL,cURLs,ppcszSubURLs,pfChanged); +} +#endif +#endif + +#endif + + +#endif /* __IWPCWebSettings_INTERFACE_DEFINED__ */ + +typedef enum tagWPCFLAG_VISIBILITY { + WPCFLAG_WPC_VISIBLE = 0, + WPCFLAG_WPC_HIDDEN = 1 +} WPCFLAG_VISIBILITY; +/***************************************************************************** + * IWindowsParentalControlsCore interface + */ +#ifndef __IWindowsParentalControlsCore_INTERFACE_DEFINED__ +#define __IWindowsParentalControlsCore_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWindowsParentalControlsCore, 0x4ff40a0f, 0x3f3b, 0x4d7c, 0xa4,0x1b, 0x4f,0x39,0xd7,0xb4,0x4d,0x05); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4ff40a0f-3f3b-4d7c-a41b-4f39d7b44d05") +IWindowsParentalControlsCore : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetVisibility( + WPCFLAG_VISIBILITY *peVisibility) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUserSettings( + LPCWSTR pcszSID, + IWPCSettings **ppSettings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWebSettings( + LPCWSTR pcszSID, + IWPCWebSettings **ppSettings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetWebFilterInfo( + GUID *pguidID, + LPWSTR *ppszName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowsParentalControlsCore, 0x4ff40a0f, 0x3f3b, 0x4d7c, 0xa4,0x1b, 0x4f,0x39,0xd7,0xb4,0x4d,0x05) +#endif +#else +typedef struct IWindowsParentalControlsCoreVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWindowsParentalControlsCore *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWindowsParentalControlsCore *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWindowsParentalControlsCore *This); + + /*** IWindowsParentalControlsCore methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVisibility)( + IWindowsParentalControlsCore *This, + WPCFLAG_VISIBILITY *peVisibility); + + HRESULT (STDMETHODCALLTYPE *GetUserSettings)( + IWindowsParentalControlsCore *This, + LPCWSTR pcszSID, + IWPCSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *GetWebSettings)( + IWindowsParentalControlsCore *This, + LPCWSTR pcszSID, + IWPCWebSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *GetWebFilterInfo)( + IWindowsParentalControlsCore *This, + GUID *pguidID, + LPWSTR *ppszName); + + END_INTERFACE +} IWindowsParentalControlsCoreVtbl; + +interface IWindowsParentalControlsCore { + CONST_VTBL IWindowsParentalControlsCoreVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWindowsParentalControlsCore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWindowsParentalControlsCore_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWindowsParentalControlsCore_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowsParentalControlsCore methods ***/ +#define IWindowsParentalControlsCore_GetVisibility(This,peVisibility) (This)->lpVtbl->GetVisibility(This,peVisibility) +#define IWindowsParentalControlsCore_GetUserSettings(This,pcszSID,ppSettings) (This)->lpVtbl->GetUserSettings(This,pcszSID,ppSettings) +#define IWindowsParentalControlsCore_GetWebSettings(This,pcszSID,ppSettings) (This)->lpVtbl->GetWebSettings(This,pcszSID,ppSettings) +#define IWindowsParentalControlsCore_GetWebFilterInfo(This,pguidID,ppszName) (This)->lpVtbl->GetWebFilterInfo(This,pguidID,ppszName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWindowsParentalControlsCore_QueryInterface(IWindowsParentalControlsCore* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWindowsParentalControlsCore_AddRef(IWindowsParentalControlsCore* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWindowsParentalControlsCore_Release(IWindowsParentalControlsCore* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowsParentalControlsCore methods ***/ +static inline HRESULT IWindowsParentalControlsCore_GetVisibility(IWindowsParentalControlsCore* This,WPCFLAG_VISIBILITY *peVisibility) { + return This->lpVtbl->GetVisibility(This,peVisibility); +} +static inline HRESULT IWindowsParentalControlsCore_GetUserSettings(IWindowsParentalControlsCore* This,LPCWSTR pcszSID,IWPCSettings **ppSettings) { + return This->lpVtbl->GetUserSettings(This,pcszSID,ppSettings); +} +static inline HRESULT IWindowsParentalControlsCore_GetWebSettings(IWindowsParentalControlsCore* This,LPCWSTR pcszSID,IWPCWebSettings **ppSettings) { + return This->lpVtbl->GetWebSettings(This,pcszSID,ppSettings); +} +static inline HRESULT IWindowsParentalControlsCore_GetWebFilterInfo(IWindowsParentalControlsCore* This,GUID *pguidID,LPWSTR *ppszName) { + return This->lpVtbl->GetWebFilterInfo(This,pguidID,ppszName); +} +#endif +#endif + +#endif + + +#endif /* __IWindowsParentalControlsCore_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWindowsParentalControls interface + */ +#ifndef __IWindowsParentalControls_INTERFACE_DEFINED__ +#define __IWindowsParentalControls_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWindowsParentalControls, 0x28b4d88b, 0xe072, 0x49e6, 0x80,0x4d, 0x26,0xed,0xbe,0x21,0xa7,0xb9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("28b4d88b-e072-49e6-804d-26edbe21a7b9") +IWindowsParentalControls : public IWindowsParentalControlsCore +{ + virtual HRESULT STDMETHODCALLTYPE GetGamesSettings( + LPCWSTR pcszSID, + IWPCGamesSettings **ppSettings) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowsParentalControls, 0x28b4d88b, 0xe072, 0x49e6, 0x80,0x4d, 0x26,0xed,0xbe,0x21,0xa7,0xb9) +#endif +#else +typedef struct IWindowsParentalControlsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWindowsParentalControls *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWindowsParentalControls *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWindowsParentalControls *This); + + /*** IWindowsParentalControlsCore methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVisibility)( + IWindowsParentalControls *This, + WPCFLAG_VISIBILITY *peVisibility); + + HRESULT (STDMETHODCALLTYPE *GetUserSettings)( + IWindowsParentalControls *This, + LPCWSTR pcszSID, + IWPCSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *GetWebSettings)( + IWindowsParentalControls *This, + LPCWSTR pcszSID, + IWPCWebSettings **ppSettings); + + HRESULT (STDMETHODCALLTYPE *GetWebFilterInfo)( + IWindowsParentalControls *This, + GUID *pguidID, + LPWSTR *ppszName); + + /*** IWindowsParentalControls methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGamesSettings)( + IWindowsParentalControls *This, + LPCWSTR pcszSID, + IWPCGamesSettings **ppSettings); + + END_INTERFACE +} IWindowsParentalControlsVtbl; + +interface IWindowsParentalControls { + CONST_VTBL IWindowsParentalControlsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWindowsParentalControls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWindowsParentalControls_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWindowsParentalControls_Release(This) (This)->lpVtbl->Release(This) +/*** IWindowsParentalControlsCore methods ***/ +#define IWindowsParentalControls_GetVisibility(This,peVisibility) (This)->lpVtbl->GetVisibility(This,peVisibility) +#define IWindowsParentalControls_GetUserSettings(This,pcszSID,ppSettings) (This)->lpVtbl->GetUserSettings(This,pcszSID,ppSettings) +#define IWindowsParentalControls_GetWebSettings(This,pcszSID,ppSettings) (This)->lpVtbl->GetWebSettings(This,pcszSID,ppSettings) +#define IWindowsParentalControls_GetWebFilterInfo(This,pguidID,ppszName) (This)->lpVtbl->GetWebFilterInfo(This,pguidID,ppszName) +/*** IWindowsParentalControls methods ***/ +#define IWindowsParentalControls_GetGamesSettings(This,pcszSID,ppSettings) (This)->lpVtbl->GetGamesSettings(This,pcszSID,ppSettings) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWindowsParentalControls_QueryInterface(IWindowsParentalControls* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWindowsParentalControls_AddRef(IWindowsParentalControls* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWindowsParentalControls_Release(IWindowsParentalControls* This) { + return This->lpVtbl->Release(This); +} +/*** IWindowsParentalControlsCore methods ***/ +static inline HRESULT IWindowsParentalControls_GetVisibility(IWindowsParentalControls* This,WPCFLAG_VISIBILITY *peVisibility) { + return This->lpVtbl->GetVisibility(This,peVisibility); +} +static inline HRESULT IWindowsParentalControls_GetUserSettings(IWindowsParentalControls* This,LPCWSTR pcszSID,IWPCSettings **ppSettings) { + return This->lpVtbl->GetUserSettings(This,pcszSID,ppSettings); +} +static inline HRESULT IWindowsParentalControls_GetWebSettings(IWindowsParentalControls* This,LPCWSTR pcszSID,IWPCWebSettings **ppSettings) { + return This->lpVtbl->GetWebSettings(This,pcszSID,ppSettings); +} +static inline HRESULT IWindowsParentalControls_GetWebFilterInfo(IWindowsParentalControls* This,GUID *pguidID,LPWSTR *ppszName) { + return This->lpVtbl->GetWebFilterInfo(This,pguidID,ppszName); +} +/*** IWindowsParentalControls methods ***/ +static inline HRESULT IWindowsParentalControls_GetGamesSettings(IWindowsParentalControls* This,LPCWSTR pcszSID,IWPCGamesSettings **ppSettings) { + return This->lpVtbl->GetGamesSettings(This,pcszSID,ppSettings); +} +#endif +#endif + +#endif + + +#endif /* __IWindowsParentalControls_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * WindowsParentalControls coclass + */ + +DEFINE_GUID(CLSID_WindowsParentalControls, 0xe77cc89b, 0x7401, 0x4c04, 0x8c,0xed, 0x14,0x9d,0xb3,0x5a,0xdd,0x04); + +#ifdef __cplusplus +class DECLSPEC_UUID("e77cc89b-7401-4c04-8ced-149db35add04") WindowsParentalControls; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WindowsParentalControls, 0xe77cc89b, 0x7401, 0x4c04, 0x8c,0xed, 0x14,0x9d,0xb3,0x5a,0xdd,0x04) +#endif +#endif + +/* Begin additional prototypes for all interfaces */ + +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wpcapi_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcevent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcevent.h new file mode 100644 index 00000000..5716ecec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcevent.h @@ -0,0 +1,27 @@ +/** + * 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 __WPCEVENT_H__ +#define __WPCEVENT_H__ + +#include + +EXTERN_C DECLSPEC_SELECTANY const GUID WPCPROV = {0x01090065, 0xb467, 0x4503, {0x9b,0x28,0x53,0x37,0x66,0x76,0x10,0x87}}; + +typedef enum tagWPC_ARGS_FILEDOWNLOADEVENT { + WPC_ARGS_FILEDOWNLOADEVENT_URL = 0, + WPC_ARGS_FILEDOWNLOADEVENT_APPNAME, + WPC_ARGS_FILEDOWNLOADEVENT_VERSION, + WPC_ARGS_FILEDOWNLOADEVENT_BLOCKED, + WPC_ARGS_FILEDOWNLOADEVENT_PATH, + WPC_ARGS_FILEDOWNLOADEVENT_CARGS +} WPC_ARGS_FILEDOWNLOADEVENT; + +EXTERN_C DECLSPEC_SELECTANY const EVENT_DESCRIPTOR WPCEVENT_WEB_FILEDOWNLOAD = {0xa,0x0,0x10,0x4,0x18,0xa,0x8000000000000030}; + +#define WPCEVENT_WEB_FILEDOWNLOAD_value 0xa + +#endif /*__WPCEVENT_H__*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcrsmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcrsmsg.h new file mode 100644 index 00000000..df01538d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpcrsmsg.h @@ -0,0 +1,16 @@ +/** + * 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 CRSWPP_ERROR_FIRST __MSABI_LONG(0x40042200) +#define CRSWPP_INVALID_POSTINFO_FILE __MSABI_LONG(0xC0042201) +#define CRSWPP_NO_MATCHING_MAPURL __MSABI_LONG(0xC0042202) +#define CRSWPP_SECURITY_PACKAGE __MSABI_LONG(0xC0042203) +#define CRSWPP_SECURITY_PACKAGE_NOT_FOUND __MSABI_LONG(0xC0042204) +#define CRSWPP_PROJECT_BINDING_INCOMPLETE __MSABI_LONG(0xC0042205) +#define CRSWPP_SERVER_BINDING_INCOMPLETE __MSABI_LONG(0xC0042206) +#define CRSWPP_SERVER_NOT_RESPONDING __MSABI_LONG(0xC0042207) +#define CRSWPP_FAILED_AUTH __MSABI_LONG(0xC0042208) +#define CRSWPP_POSTINFO_NEEDED __MSABI_LONG(0x40042209) +#define CRSWPP_BIND_FAILED __MSABI_LONG(0xC004220A) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpftpmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpftpmsg.h new file mode 100644 index 00000000..b2e0f9cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpftpmsg.h @@ -0,0 +1,9 @@ +/** + * 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 FTPWPP_ERROR_FIRST __MSABI_LONG(0x40042300) +#define FTPWPP_ERROR_INETOPEN_FAILED __MSABI_LONG(0xC0042301) +#define FTPWPP_ERROR_AUTHENTICATION_FAILED __MSABI_LONG(0xC0042302) +#define FTPWPP_ERROR_LAST __MSABI_LONG(0x400423FF) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wppstmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wppstmsg.h new file mode 100644 index 00000000..dd56ab38 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wppstmsg.h @@ -0,0 +1,10 @@ +/** + * 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 WPP_ERROR_FIRST __MSABI_LONG(0x40042380) +#define WPP_POST_POSTING_URL_ERROR __MSABI_LONG(0xC0042381) +#define WPP_POST_POSTING_SERVER_ERROR __MSABI_LONG(0xC0042382) +#define WPP_POST_POSTING_NO_RESPONSE_ERROR __MSABI_LONG(0xC0042383) +#define WPP_ERROR_LAST __MSABI_LONG(0x400423FF) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpspihlp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpspihlp.h new file mode 100644 index 00000000..e5b41510 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpspihlp.h @@ -0,0 +1,37 @@ +/** + * 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 __WPSPIHLP_H__ +#define __WPSPIHLP_H__ + +#include +#include "wptypes.h" + +#define WPPFUNC __declspec(dllimport) + +#define WPF_FORCE_BIND 0x00000100 + +typedef HRESULT (WINAPI *PFN_WPPBINDTOSITEA)(HWND hwnd,LPCSTR sSiteName,LPCSTR sURL,REFIID riid,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); +typedef HRESULT (WINAPI *PFN_WPPLISTSITESA)(LPDWORD pdwSitesBufLen,LPWPSITEINFOA pSitesBuffer,LPDWORD pdwNumSites); +typedef HRESULT (WINAPI *PFN_WPPDELETESITEA)(LPCSTR sSiteName); +typedef HRESULT (WINAPI *PFN_WPPBINDTOSITEW)(HWND hwnd,LPCWSTR sSiteName,LPCWSTR sURL,REFIID riid,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); +typedef HRESULT (WINAPI *PFN_WPPLISTSITESW)(LPDWORD pdwSitesBufLen,LPWPSITEINFOW pSitesBuffer,LPDWORD pdwNumSites); +typedef HRESULT (WINAPI *PFN_WPPDELETESITEW)(LPCWSTR sSiteName); + +HRESULT WPPFUNC WINAPI WppBindToSiteA(HWND hwnd,LPCSTR sSiteName,LPCSTR sURL,REFIID riid,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); +HRESULT WPPFUNC WINAPI WppListSitesA(LPDWORD pdwSitesBufLen,LPWPSITEINFOA pSitesBuffer,LPDWORD pdwNumSites); +HRESULT WPPFUNC WINAPI WppDeleteSiteA(LPCSTR sSiteName); +HRESULT WPPFUNC WINAPI WppBindToSiteW(HWND hwnd,LPCWSTR sSiteName,LPCWSTR sURL,REFIID riid,DWORD dwFlag,DWORD dwReserved,PVOID *ppvUnk); +HRESULT WPPFUNC WINAPI WppListSitesW(LPDWORD pdwSitesBufLen,LPWPSITEINFOW pSitesBuffer,LPDWORD pdwNumSites); +HRESULT WPPFUNC WINAPI WppDeleteSiteW(LPCWSTR sSiteName); + +#define EP_WPPBINDTOSITEW "WppBindToSiteW" +#define EP_WPPLISTSITESW "WppListSitesW" +#define EP_WPPDELETESITEW "WppDeleteSiteW" + +#define EP_WPPBINDTOSITEA "WppBindToSiteA" +#define EP_WPPLISTSITESA "WppListSitesA" +#define EP_WPPDELETESITEA "WppDeleteSiteA" +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wptypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wptypes.h new file mode 100644 index 00000000..f1e6f85d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wptypes.h @@ -0,0 +1,55 @@ +/** + * 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 __WPTYPES_H__ +#define __WPTYPES_H__ + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + + typedef struct tagWPSITEINFOA { + DWORD dwSize; + DWORD dwFlags; + LPSTR lpszSiteName; + LPSTR lpszSiteURL; + } WPSITEINFOA,*LPWPSITEINFOA; + + typedef struct tagWPSITEINFOW { + DWORD dwSize; + DWORD dwFlags; + LPWSTR lpszSiteName; + LPWSTR lpszSiteURL; + } WPSITEINFOW,*LPWPSITEINFOW; + + typedef struct tagWPPROVINFOA { + DWORD dwSize; + DWORD dwFlags; + DWORD dwPriority; + LPSTR lpszProviderName; + LPSTR lpszProviderCLSID; + LPSTR lpszDllPath; + } WPPROVINFOA,*LPWPPROVINFOA; + + typedef struct tagWPPROVINFOW { + DWORD dwSize; + DWORD dwFlags; + DWORD dwPriority; + LPWSTR lpszProviderName; + LPWSTR lpszProviderCLSID; + LPWSTR lpszDllPath; + } WPPROVINFOW,*LPWPPROVINFOW; + +#define WPSITEINFO __MINGW_NAME_AW(WPSITEINFO) +#define LPWPSITEINFO __MINGW_NAME_AW(LPWPSITEINFO) +#define WPPROVINFO __MINGW_NAME_AW(WPPROVINFO) +#define LPWPPROVINFO __MINGW_NAME_AW(LPWPPROVINFO) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpwizmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpwizmsg.h new file mode 100644 index 00000000..7194bb4b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wpwizmsg.h @@ -0,0 +1,17 @@ +/** + * 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 WPWIZ_ERROR_FIRST __MSABI_LONG(0x40042000) +#define WPWIZ_ERROR_UNKNOWN __MSABI_LONG(0xC0042001) +#define WPWIZ_ERROR_PROV_QI __MSABI_LONG(0xC0042002) +#define WPWIZ_ERROR_INIT_FAILED __MSABI_LONG(0xC0042003) +#define WPWIZ_ERROR_COCREATE_WEBPOST __MSABI_LONG(0xC0042004) +#define WPWIZ_ERROR_NO_PROVIDERS __MSABI_LONG(0xC0042005) +#define WPWIZ_ERROR_STATE_PTR __MSABI_LONG(0xC0042006) +#define WPWIZ_ERROR_WEBPOST_PTR __MSABI_LONG(0xC0042007) +#define WPWIZ_ERROR_FILE_NOT_FOUND __MSABI_LONG(0xC0042008) +#define WPWIZ_ERROR_PROPSHEET_ERROR __MSABI_LONG(0xC0042009) +#define WPWIZ_ERROR_OUTOFMEMORY __MSABI_LONG(0xC004200A) +#define WPWIZ_ERROR_LAST __MSABI_LONG(0x400420FF) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl.h new file mode 100644 index 00000000..be147fe6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl.h @@ -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. + */ + +#ifndef _WRL_H_ +#define _WRL_H_ + +#include +/* #include */ +#include +/* #include */ + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/client.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/client.h new file mode 100644 index 00000000..aeb886ea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/client.h @@ -0,0 +1,305 @@ +/** + * 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 _WRL_CLIENT_H_ +#define _WRL_CLIENT_H_ + +#include +#include +/* #include */ +#include + +/* #include */ +#include + +namespace Microsoft { + namespace WRL { + namespace Details { + template class ComPtrRefBase { + protected: + T* ptr_; + + public: + typedef typename T::InterfaceType InterfaceType; + +#ifndef __WRL_CLASSIC_COM__ + operator IInspectable**() const throw() { + static_assert(__is_base_of(IInspectable, InterfaceType), "Invalid cast"); + return reinterpret_cast(ptr_->ReleaseAndGetAddressOf()); + } +#endif + + operator IUnknown**() const throw() { + static_assert(__is_base_of(IUnknown, InterfaceType), "Invalid cast"); + return reinterpret_cast(ptr_->ReleaseAndGetAddressOf()); + } + }; + + template class ComPtrRef : public Details::ComPtrRefBase { + public: + ComPtrRef(T *ptr) throw() { + ComPtrRefBase::ptr_ = ptr; + } + + operator void**() const throw() { + return reinterpret_cast(ComPtrRefBase::ptr_->ReleaseAndGetAddressOf()); + } + + operator T*() throw() { + *ComPtrRefBase::ptr_ = nullptr; + return ComPtrRefBase::ptr_; + } + + operator typename ComPtrRefBase::InterfaceType**() throw() { + return ComPtrRefBase::ptr_->ReleaseAndGetAddressOf(); + } + + typename ComPtrRefBase::InterfaceType *operator*() throw() { + return ComPtrRefBase::ptr_->Get(); + } + + typename ComPtrRefBase::InterfaceType *const *GetAddressOf() const throw() { + return ComPtrRefBase::ptr_->GetAddressOf(); + } + + typename ComPtrRefBase::InterfaceType **ReleaseAndGetAddressOf() throw() { + return ComPtrRefBase::ptr_->ReleaseAndGetAddressOf(); + } + }; + + } + + template class ComPtr { + public: + typedef T InterfaceType; + + ComPtr() throw() : ptr_(nullptr) {} + ComPtr(decltype(nullptr)) throw() : ptr_(nullptr) {} + + template ComPtr(U *other) throw() : ptr_(other) { + InternalAddRef(); + } + + ComPtr(const ComPtr &other) throw() : ptr_(other.ptr_) { + InternalAddRef(); + } + + template + ComPtr(const ComPtr &other) throw() : ptr_(other.Get()) { + InternalAddRef(); + } + + ComPtr(ComPtr &&other) throw() : ptr_(nullptr) { + if(this != reinterpret_cast(&reinterpret_cast(other))) + Swap(other); + } + + template + ComPtr(ComPtr&& other) throw() : ptr_(other.Detach()) {} + + ~ComPtr() throw() { + InternalRelease(); + } + + ComPtr &operator=(decltype(nullptr)) throw() { + InternalRelease(); + return *this; + } + + ComPtr &operator=(InterfaceType *other) throw() { + if (ptr_ != other) { + InternalRelease(); + ptr_ = other; + InternalAddRef(); + } + return *this; + } + + template + ComPtr &operator=(U *other) throw() { + if (ptr_ != other) { + InternalRelease(); + ptr_ = other; + InternalAddRef(); + } + return *this; + } + + ComPtr& operator=(const ComPtr &other) throw() { + if (ptr_ != other.ptr_) + ComPtr(other).Swap(*this); + return *this; + } + + template + ComPtr &operator=(const ComPtr &other) throw() { + ComPtr(other).Swap(*this); + return *this; + } + + ComPtr& operator=(ComPtr &&other) throw() { + ComPtr(other).Swap(*this); + return *this; + } + + template + ComPtr& operator=(ComPtr &&other) throw() { + ComPtr(other).Swap(*this); + return *this; + } + + void Swap(ComPtr &&r) throw() { + InterfaceType *tmp = ptr_; + ptr_ = r.ptr_; + r.ptr_ = tmp; + } + + void Swap(ComPtr &r) throw() { + InterfaceType *tmp = ptr_; + ptr_ = r.ptr_; + r.ptr_ = tmp; + } + + operator Details::BoolType() const throw() { + return Get() != nullptr ? &Details::BoolStruct::Member : nullptr; + } + + InterfaceType *Get() const throw() { + return ptr_; + } + + InterfaceType *operator->() const throw() { + return ptr_; + } + + Details::ComPtrRef> operator&() throw() { + return Details::ComPtrRef>(this); + } + + const Details::ComPtrRef> operator&() const throw() { + return Details::ComPtrRef>(this); + } + + InterfaceType *const *GetAddressOf() const throw() { + return &ptr_; + } + + InterfaceType **GetAddressOf() throw() { + return &ptr_; + } + + InterfaceType **ReleaseAndGetAddressOf() throw() { + InternalRelease(); + return &ptr_; + } + + InterfaceType *Detach() throw() { + T* ptr = ptr_; + ptr_ = nullptr; + return ptr; + } + + void Attach(InterfaceType *other) throw() { + if (ptr_ != other) { + InternalRelease(); + ptr_ = other; + } + } + + unsigned long Reset() { + return InternalRelease(); + } + + HRESULT CopyTo(InterfaceType **ptr) const throw() { + InternalAddRef(); + *ptr = ptr_; + return S_OK; + } + + HRESULT CopyTo(REFIID riid, void **ptr) const throw() { + return ptr_->QueryInterface(riid, ptr); + } + + template + HRESULT CopyTo(U **ptr) const throw() { + return ptr_->QueryInterface(__uuidof(U), reinterpret_cast(ptr)); + } + + template + HRESULT As(Details::ComPtrRef> p) const throw() { + return ptr_->QueryInterface(__uuidof(U), p); + } + + template + HRESULT As(ComPtr *p) const throw() { + return ptr_->QueryInterface(__uuidof(U), reinterpret_cast(p->ReleaseAndGetAddressOf())); + } + + HRESULT AsIID(REFIID riid, ComPtr *p) const throw() { + return ptr_->QueryInterface(riid, reinterpret_cast(p->ReleaseAndGetAddressOf())); + } + + /* + HRESULT AsWeak(WeakRef *pWeakRef) const throw() { + return ::Microsoft::WRL::AsWeak(ptr_, pWeakRef); + } + */ + protected: + InterfaceType *ptr_; + + void InternalAddRef() const throw() { + if(ptr_) + ptr_->AddRef(); + } + + unsigned long InternalRelease() throw() { + InterfaceType *tmp = ptr_; + if(!tmp) + return 0; + ptr_ = nullptr; + return tmp->Release(); + } + }; + } +} + +template +void **IID_PPV_ARGS_Helper(::Microsoft::WRL::Details::ComPtrRef pp) throw() { + static_assert(__is_base_of(IUnknown, typename T::InterfaceType), "Expected COM interface"); + return pp; +} + +namespace Windows { + namespace Foundation { + template + inline HRESULT ActivateInstance(HSTRING classid, ::Microsoft::WRL::Details::ComPtrRef instance) throw() { + return ActivateInstance(classid, instance.ReleaseAndGetAddressOf()); + } + + template + inline HRESULT GetActivationFactory(HSTRING classid, ::Microsoft::WRL::Details::ComPtrRef factory) throw() { + return RoGetActivationFactory(classid, IID_INS_ARGS(factory.ReleaseAndGetAddressOf())); + } + } +} + +namespace ABI { + namespace Windows { + namespace Foundation { + template + inline HRESULT ActivateInstance(HSTRING classid, ::Microsoft::WRL::Details::ComPtrRef instance) throw() { + return ActivateInstance(classid, instance.ReleaseAndGetAddressOf()); + } + + template + inline HRESULT GetActivationFactory(HSTRING classid, ::Microsoft::WRL::Details::ComPtrRef factory) throw() { + return RoGetActivationFactory(classid, IID_INS_ARGS(factory.ReleaseAndGetAddressOf())); + } + } + } +} + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/internal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/internal.h new file mode 100644 index 00000000..715ef74e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/internal.h @@ -0,0 +1,36 @@ +/** + * 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 _WRL_INTERNAL_H_ +#define _WRL_INTERNAL_H_ + +#include + +namespace Microsoft { + namespace WRL { + namespace Details { + struct BoolStruct { + int Member; + }; + + typedef int BoolStruct::* BoolType; + + inline void DECLSPEC_NORETURN RaiseException(HRESULT hr, DWORD flags = EXCEPTION_NONCONTINUABLE) throw() { + ::RaiseException(static_cast(hr), flags, 0, NULL); + } + + template + struct EnableIf {}; + + template + struct EnableIf { + typedef T type; + }; + } + } +} + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/module.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/module.h new file mode 100644 index 00000000..4ac93ca8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/module.h @@ -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. + */ + +#ifndef _WRL_MODULE_H_ +#define _WRL_MODULE_H_ + +#include +#include +#include +#include +#include + +/* #include */ +#include +#include +/* #include */ +/* #include */ +#include + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/wrappers/corewrappers.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/wrappers/corewrappers.h new file mode 100644 index 00000000..182d4b06 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wrl/wrappers/corewrappers.h @@ -0,0 +1,302 @@ +/** + * 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 _WRL_COREWRAPPERS_H_ +#define _WRL_COREWRAPPERS_H_ + +#include + +#include +#include +#include +#include + +/* #include */ +#include + +namespace Microsoft { + namespace WRL { + namespace Details { + struct Dummy {}; + } + + namespace Wrappers { + class HStringReference; + + class HString { + public: + HString() throw() : hstr_(nullptr) {} + + HString(HString&& o) throw() : hstr_(o.hstr_) { + o.hstr_ = nullptr; + } + + HString(const HString&) = delete; + HString& operator=(const HString&) = delete; + + operator HSTRING() const throw() { + return hstr_; + } + + ~HString() throw() { + Release(); + } + + HString& operator=(HString&& o) throw() { + Release(); + hstr_ = o.hstr_; + o.hstr_ = nullptr; + return *this; + } + + HRESULT Set(const wchar_t *s, unsigned int l) throw() { + Release(); + return ::WindowsCreateString(s, l, &hstr_); + } + + template + HRESULT Set(const wchar_t (&str)[s]) throw() { + static_assert(static_cast(static_cast(s - 1)) == s - 1, "mismatch string length"); + return Set(str, s - 1); + } + + template + HRESULT Set(wchar_t (&strRef)[s]) throw() { + const wchar_t *str = static_cast(strRef); + unsigned int l; + HRESULT hr = SizeTToUInt32(::wcslen(str), &l); + if (SUCCEEDED(hr)) + hr = Set(str, l); + return hr; + } + + template + HRESULT Set(const T& s, typename ::std::enable_if<::std::is_convertible::value, ::Microsoft::WRL::Details::Dummy>::type = ::Microsoft::WRL::Details::Dummy()) throw() { + HRESULT hr = S_OK; + const wchar_t *str = static_cast(s); + if (str != nullptr) { + unsigned int l; + hr = SizeTToUInt32(::wcslen(str), &l); + if (SUCCEEDED(hr)) + hr = Set(str, l); + } + else + hr = Set(L"", 0); + return hr; + } + + HRESULT Set(const HSTRING& s) throw() { + HRESULT hr = S_OK; + if (s == nullptr || s != hstr_) { + Release(); + hr = ::WindowsDuplicateString(s, &hstr_); + } + return hr; + } + + void Attach(HSTRING h) throw() { + ::WindowsDeleteString(hstr_); + hstr_ = h; + } + + HSTRING Detach() throw() { + HSTRING t = hstr_; + hstr_ = nullptr; + return t; + } + + HSTRING* GetAddressOf() throw() { + Release(); + return &hstr_; + } + + HSTRING* ReleaseAndGetAddressOf() throw() { + Release(); + return &hstr_; + } + + HSTRING Get() const throw() { + return hstr_; + } + + void Release() throw() { + ::WindowsDeleteString(hstr_); + hstr_ = nullptr; + } + + bool IsValid() const throw() { + return hstr_ != nullptr; + } + + UINT32 Length() const throw() { + return ::WindowsGetStringLen(hstr_); + } + + const wchar_t* GetRawBuffer(unsigned int *l) const { + return ::WindowsGetStringRawBuffer(hstr_, l); + } + + HRESULT CopyTo(HSTRING *s) const throw() { + return ::WindowsDuplicateString(hstr_, s); + } + + HRESULT Duplicate(const HString& o) throw() { + HSTRING l; + HRESULT hr = ::WindowsDuplicateString(o, &l); + return ReleaseAndAssignOnSuccess(hr, l, *this); + } + + bool IsEmpty() const throw() { + return hstr_ == nullptr; + } + + HRESULT Concat(const HString& s, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsConcatString(hstr_, s, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + HRESULT TrimStart(const HString& t, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsTrimStringStart(hstr_, t, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + HRESULT TrimEnd(const HString& t, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsTrimStringEnd(hstr_, t, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + HRESULT Substring(UINT32 s, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsSubstring(hstr_, s, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + HRESULT Substring(UINT32 s, UINT32 len, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsSubstringWithSpecifiedLength(hstr_, s, len, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + HRESULT Replace(const HString& s1, const HString& s2, HString& n) const throw() { + HSTRING l; + HRESULT hr = ::WindowsReplaceString(hstr_, s1, s2, &l); + return ReleaseAndAssignOnSuccess(hr, l, n); + } + + template + static HStringReference MakeReference(wchar_t const (&str)[s]) throw(); + + template + static HStringReference MakeReference(wchar_t const (&str)[s], unsigned int l) throw(); + + private: + static HRESULT ReleaseAndAssignOnSuccess(HRESULT hr, HSTRING n, HString& t) { + if (SUCCEEDED(hr)) { + *t.ReleaseAndGetAddressOf() = n; + } + return hr; + } + + protected: + HSTRING hstr_; + }; + + class HStringReference { + private: + void Init(const wchar_t* str, unsigned int len) { + HRESULT hres = ::WindowsCreateStringReference(str, len, &header_, &hstr_); + if (FAILED(hres)) + ::Microsoft::WRL::Details::RaiseException(hres); + } + + HStringReference() : hstr_(nullptr) {} + + public: + HStringReference(const wchar_t* str, unsigned int len) throw() : hstr_(nullptr) { + Init(str, len); + } + + template + explicit HStringReference(wchar_t const (&str)[sizeDest]) throw() : hstr_(nullptr) { + Init(str, sizeDest - 1); + } + + template + explicit HStringReference(wchar_t (&strRef)[sizeDest]) throw() { + const wchar_t *str = static_cast(strRef); + Init(str, ::wcslen(str)); + } + + template + explicit HStringReference(const T &strRef) throw() : hstr_(nullptr) { + const wchar_t* str = static_cast(strRef); + size_t len = ::wcslen(str); + if(static_cast(static_cast(len)) != len) + ::Microsoft::WRL::Details::RaiseException(INTSAFE_E_ARITHMETIC_OVERFLOW); + Init(str, len); + } + + HStringReference(const HStringReference &other) throw() : hstr_(nullptr) { + unsigned int len = 0; + const wchar_t* value = other.GetRawBuffer(&len); + Init(value, len); + } + + ~HStringReference() throw() { + hstr_ = nullptr; + } + + HStringReference& operator=(const HStringReference &other) throw() { + unsigned int len = 0; + const wchar_t* value = other.GetRawBuffer(&len); + Init(value, len); + return *this; + } + + HSTRING Get() const throw() { + return hstr_; + } + + const wchar_t *GetRawBuffer(unsigned int *len) const { + return ::WindowsGetStringRawBuffer(hstr_, len); + } + + HRESULT CopyTo(HSTRING *str) const throw() { + return ::WindowsDuplicateString(hstr_, str); + } + + friend class HString; + + protected: + HSTRING_HEADER header_; + HSTRING hstr_; + }; + + class RoInitializeWrapper { + public: + RoInitializeWrapper(RO_INIT_TYPE flags) { + hres = ::Windows::Foundation::Initialize(flags); + } + + ~RoInitializeWrapper() { + if(SUCCEEDED(hres)) + ::Windows::Foundation::Uninitialize(); + } + + operator HRESULT() { + return hres; + } + private: + HRESULT hres; + }; + } + } +} + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2atm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2atm.h new file mode 100644 index 00000000..af1e4086 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2atm.h @@ -0,0 +1,333 @@ +/** + * 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 _WS2ATM_H_ +#define _WS2ATM_H_ + +#include + +#define ATMPROTO_AALUSER 0x00 +#define ATMPROTO_AAL1 0x01 +#define ATMPROTO_AAL2 0x02 +#define ATMPROTO_AAL34 0x03 +#define ATMPROTO_AAL5 0x05 + +#define SAP_FIELD_ABSENT 0xFFFFFFFE +#define SAP_FIELD_ANY 0xFFFFFFFF +#define SAP_FIELD_ANY_AESA_SEL 0xFFFFFFFA +#define SAP_FIELD_ANY_AESA_REST 0xFFFFFFFB + +#define ATM_E164 0x01 +#define ATM_NSAP 0x02 +#define ATM_AESA 0x02 + +#define ATM_ADDR_SIZE 20 +typedef struct { + DWORD AddressType; + DWORD NumofDigits; + UCHAR Addr[ATM_ADDR_SIZE]; +} ATM_ADDRESS; + +#define BLLI_L2_ISO_1745 0x01 +#define BLLI_L2_Q921 0x02 +#define BLLI_L2_X25L 0x06 +#define BLLI_L2_X25M 0x07 +#define BLLI_L2_ELAPB 0x08 +#define BLLI_L2_HDLC_ARM 0x09 +#define BLLI_L2_HDLC_NRM 0x0A +#define BLLI_L2_HDLC_ABM 0x0B +#define BLLI_L2_LLC 0x0C +#define BLLI_L2_X75 0x0D +#define BLLI_L2_Q922 0x0E +#define BLLI_L2_USER_SPECIFIED 0x10 +#define BLLI_L2_ISO_7776 0x11 + +#define BLLI_L3_X25 0x06 +#define BLLI_L3_ISO_8208 0x07 +#define BLLI_L3_X223 0x08 +#define BLLI_L3_SIO_8473 0x09 +#define BLLI_L3_T70 0x0A +#define BLLI_L3_ISO_TR9577 0x0B +#define BLLI_L3_USER_SPECIFIED 0x10 + +#define BLLI_L3_IPI_SNAP 0x80 +#define BLLI_L3_IPI_IP 0xCC + +typedef struct { + DWORD Layer2Protocol; + DWORD Layer2UserSpecifiedProtocol; + DWORD Layer3Protocol; + DWORD Layer3UserSpecifiedProtocol; + DWORD Layer3IPI; + UCHAR SnapID[5]; +} ATM_BLLI; + +#define BHLI_ISO 0x00 +#define BHLI_UserSpecific 0x01 +#define BHLI_HighLayerProfile 0x02 +#define BHLI_VendorSpecificAppId 0x03 + +typedef struct { + DWORD HighLayerInfoType; + DWORD HighLayerInfoLength; + UCHAR HighLayerInfo[8]; +} ATM_BHLI; + +typedef struct sockaddr_atm { + u_short satm_family; + ATM_ADDRESS satm_number; + ATM_BLLI satm_blli; + ATM_BHLI satm_bhli; +} sockaddr_atm,SOCKADDR_ATM,*PSOCKADDR_ATM,*LPSOCKADDR_ATM; + +typedef enum { + IE_AALParameters,IE_TrafficDescriptor,IE_BroadbandBearerCapability,IE_BHLI,IE_BLLI,IE_CalledPartyNumber,IE_CalledPartySubaddress, + IE_CallingPartyNumber,IE_CallingPartySubaddress,IE_Cause,IE_QOSClass,IE_TransitNetworkSelection +} Q2931_IE_TYPE; + +typedef struct { + Q2931_IE_TYPE IEType; + ULONG IELength; + UCHAR IE[1]; +} Q2931_IE; + +typedef enum { + AALTYPE_5 = 5,AALTYPE_USER = 16 +} AAL_TYPE; + +#define AAL5_MODE_MESSAGE 0x01 +#define AAL5_MODE_STREAMING 0x02 + +#define AAL5_SSCS_NULL 0x00 +#define AAL5_SSCS_SSCOP_ASSURED 0x01 +#define AAL5_SSCS_SSCOP_NON_ASSURED 0x02 +#define AAL5_SSCS_FRAME_RELAY 0x04 + +typedef struct { + ULONG ForwardMaxCPCSSDUSize; + ULONG BackwardMaxCPCSSDUSize; + UCHAR Mode; + UCHAR SSCSType; +} AAL5_PARAMETERS; + +typedef struct { + ULONG UserDefined; +} AALUSER_PARAMETERS; + +typedef struct { + AAL_TYPE AALType; + union { + AAL5_PARAMETERS AAL5Parameters; + AALUSER_PARAMETERS AALUserParameters; + } AALSpecificParameters; +} AAL_PARAMETERS_IE; + +typedef struct { + ULONG PeakCellRate_CLP0; + ULONG PeakCellRate_CLP01; + ULONG SustainableCellRate_CLP0; + ULONG SustainableCellRate_CLP01; + ULONG MaxBurstSize_CLP0; + ULONG MaxBurstSize_CLP01; + WINBOOL Tagging; +} ATM_TD; + +typedef struct { + ATM_TD Forward; + ATM_TD Backward; + WINBOOL BestEffort; +} ATM_TRAFFIC_DESCRIPTOR_IE; + +#define BCOB_A 0x01 +#define BCOB_C 0x03 +#define BCOB_X 0x10 + +#define TT_NOIND 0x00 +#define TT_CBR 0x04 +#define TT_VBR 0x08 + +#define TR_NOIND 0x00 +#define TR_END_TO_END 0x01 +#define TR_NO_END_TO_END 0x02 + +#define CLIP_NOT 0x00 +#define CLIP_SUS 0x20 + +#define UP_P2P 0x00 +#define UP_P2MP 0x01 + +typedef struct { + UCHAR BearerClass; + UCHAR TrafficType; + UCHAR TimingRequirements; + UCHAR ClippingSusceptability; + UCHAR UserPlaneConnectionConfig; +} ATM_BROADBAND_BEARER_CAPABILITY_IE; + +typedef ATM_BHLI ATM_BHLI_IE; + +#define BLLI_L2_MODE_NORMAL 0x40 +#define BLLI_L2_MODE_EXT 0x80 + +#define BLLI_L3_MODE_NORMAL 0x40 +#define BLLI_L3_MODE_EXT 0x80 + +#define BLLI_L3_PACKET_16 0x04 +#define BLLI_L3_PACKET_32 0x05 +#define BLLI_L3_PACKET_64 0x06 +#define BLLI_L3_PACKET_128 0x07 +#define BLLI_L3_PACKET_256 0x08 +#define BLLI_L3_PACKET_512 0x09 +#define BLLI_L3_PACKET_1024 0x0A +#define BLLI_L3_PACKET_2048 0x0B +#define BLLI_L3_PACKET_4096 0x0C + +typedef struct { + DWORD Layer2Protocol; + UCHAR Layer2Mode; + UCHAR Layer2WindowSize; + DWORD Layer2UserSpecifiedProtocol; + DWORD Layer3Protocol; + UCHAR Layer3Mode; + UCHAR Layer3DefaultPacketSize; + UCHAR Layer3PacketWindowSize; + DWORD Layer3UserSpecifiedProtocol; + DWORD Layer3IPI; + UCHAR SnapID[5]; +} ATM_BLLI_IE; + +typedef ATM_ADDRESS ATM_CALLED_PARTY_NUMBER_IE; +typedef ATM_ADDRESS ATM_CALLED_PARTY_SUBADDRESS_IE; + +#define PI_ALLOWED 0x00 +#define PI_RESTRICTED 0x40 +#define PI_NUMBER_NOT_AVAILABLE 0x80 + +#define SI_USER_NOT_SCREENED 0x00 +#define SI_USER_PASSED 0x01 +#define SI_USER_FAILED 0x02 +#define SI_NETWORK 0x03 + +typedef struct { + ATM_ADDRESS ATM_Number; + UCHAR Presentation_Indication; + UCHAR Screening_Indicator; +} ATM_CALLING_PARTY_NUMBER_IE; + +typedef ATM_ADDRESS ATM_CALLING_PARTY_SUBADDRESS_IE; + +#define CAUSE_LOC_USER 0x00 +#define CAUSE_LOC_PRIVATE_LOCAL 0x01 +#define CAUSE_LOC_PUBLIC_LOCAL 0x02 +#define CAUSE_LOC_TRANSIT_NETWORK 0x03 +#define CAUSE_LOC_PUBLIC_REMOTE 0x04 +#define CAUSE_LOC_PRIVATE_REMOTE 0x05 +#define CAUSE_LOC_INTERNATIONAL_NETWORK 0x07 +#define CAUSE_LOC_BEYOND_INTERWORKING 0x0A + +#define CAUSE_UNALLOCATED_NUMBER 0x01 +#define CAUSE_NO_ROUTE_TO_TRANSIT_NETWORK 0x02 +#define CAUSE_NO_ROUTE_TO_DESTINATION 0x03 +#define CAUSE_VPI_VCI_UNACCEPTABLE 0x0A +#define CAUSE_NORMAL_CALL_CLEARING 0x10 +#define CAUSE_USER_BUSY 0x11 +#define CAUSE_NO_USER_RESPONDING 0x12 +#define CAUSE_CALL_REJECTED 0x15 +#define CAUSE_NUMBER_CHANGED 0x16 +#define CAUSE_USER_REJECTS_CLIR 0x17 +#define CAUSE_DESTINATION_OUT_OF_ORDER 0x1B +#define CAUSE_INVALID_NUMBER_FORMAT 0x1C +#define CAUSE_STATUS_ENQUIRY_RESPONSE 0x1E +#define CAUSE_NORMAL_UNSPECIFIED 0x1F +#define CAUSE_VPI_VCI_UNAVAILABLE 0x23 +#define CAUSE_NETWORK_OUT_OF_ORDER 0x26 +#define CAUSE_TEMPORARY_FAILURE 0x29 +#define CAUSE_ACCESS_INFORMAION_DISCARDED 0x2B +#define CAUSE_NO_VPI_VCI_AVAILABLE 0x2D +#define CAUSE_RESOURCE_UNAVAILABLE 0x2F +#define CAUSE_QOS_UNAVAILABLE 0x31 +#define CAUSE_USER_CELL_RATE_UNAVAILABLE 0x33 +#define CAUSE_BEARER_CAPABILITY_UNAUTHORIZED 0x39 +#define CAUSE_BEARER_CAPABILITY_UNAVAILABLE 0x3A +#define CAUSE_OPTION_UNAVAILABLE 0x3F +#define CAUSE_BEARER_CAPABILITY_UNIMPLEMENTED 0x41 +#define CAUSE_UNSUPPORTED_TRAFFIC_PARAMETERS 0x49 +#define CAUSE_INVALID_CALL_REFERENCE 0x51 +#define CAUSE_CHANNEL_NONEXISTENT 0x52 +#define CAUSE_INCOMPATIBLE_DESTINATION 0x58 +#define CAUSE_INVALID_ENDPOINT_REFERENCE 0x59 +#define CAUSE_INVALID_TRANSIT_NETWORK_SELECTION 0x5B +#define CAUSE_TOO_MANY_PENDING_ADD_PARTY 0x5C +#define CAUSE_AAL_PARAMETERS_UNSUPPORTED 0x5D +#define CAUSE_MANDATORY_IE_MISSING 0x60 +#define CAUSE_UNIMPLEMENTED_MESSAGE_TYPE 0x61 +#define CAUSE_UNIMPLEMENTED_IE 0x63 +#define CAUSE_INVALID_IE_CONTENTS 0x64 +#define CAUSE_INVALID_STATE_FOR_MESSAGE 0x65 +#define CAUSE_RECOVERY_ON_TIMEOUT 0x66 +#define CAUSE_INCORRECT_MESSAGE_LENGTH 0x68 +#define CAUSE_PROTOCOL_ERROR 0x6F + +#define CAUSE_COND_UNKNOWN 0x00 +#define CAUSE_COND_PERMANENT 0x01 +#define CAUSE_COND_TRANSIENT 0x02 + +#define CAUSE_REASON_USER 0x00 +#define CAUSE_REASON_IE_MISSING 0x04 +#define CAUSE_REASON_IE_INSUFFICIENT 0x08 + +#define CAUSE_PU_PROVIDER 0x00 +#define CAUSE_PU_USER 0x08 + +#define CAUSE_NA_NORMAL 0x00 +#define CAUSE_NA_ABNORMAL 0x04 + +typedef struct { + UCHAR Location; + UCHAR Cause; + UCHAR DiagnosticsLength; + UCHAR Diagnostics[4]; +} ATM_CAUSE_IE; + +#define QOS_CLASS0 0x00 +#define QOS_CLASS1 0x01 +#define QOS_CLASS2 0x02 +#define QOS_CLASS3 0x03 +#define QOS_CLASS4 0x04 + +typedef struct { + UCHAR QOSClassForward; + UCHAR QOSClassBackward; +} ATM_QOS_CLASS_IE; + +#define TNS_TYPE_NATIONAL 0x40 + +#define TNS_PLAN_CARRIER_ID_CODE 0x01 + +typedef struct { + UCHAR TypeOfNetworkId; + UCHAR NetworkIdPlan; + UCHAR NetworkIdLength; + UCHAR NetworkId[1]; +} ATM_TRANSIT_NETWORK_SELECTION_IE; + +#define SIO_GET_NUMBER_OF_ATM_DEVICES 0x50160001 +#define SIO_GET_ATM_ADDRESS 0xd0160002 +#define SIO_ASSOCIATE_PVC 0x90160003 +#define SIO_GET_ATM_CONNECTION_ID 0x50160004 + +typedef struct { + DWORD DeviceNumber; + DWORD VPI; + DWORD VCI; +} ATM_CONNECTION_ID; + +typedef struct { + ATM_CONNECTION_ID PvcConnectionId; + QOS PvcQos; +} ATM_PVC_PARAMS; + +#include +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2bth.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2bth.h new file mode 100644 index 00000000..029c81f8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2bth.h @@ -0,0 +1,240 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#ifndef __WS2BTH__H +#define __WS2BTH__H + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#include +#include +#include + +#define BT_PORT_ANY ((ULONG)-1) +#define BT_PORT_MIN 0x1 +#define BT_PORT_MAX 0xffff +#define BT_PORT_DYN_FIRST 0x1001 + +#ifndef AF_BTH +#define AF_BTH 32 +#endif + +#ifndef PF_BTH +#define PF_BTH AF_BTH +#endif + +#ifndef NS_BTH +#define NS_BTH 16 +#endif + +typedef struct _SOCKADDR_BTH { + USHORT addressFamily; + BTH_ADDR btAddr; + GUID serviceClassId; + ULONG port; +} SOCKADDR_BTH,*PSOCKADDR_BTH; + +DEFINE_GUID (SVCID_BTH_PROVIDER, 0x6aa63e0, 0x7d60, 0x41ff, 0xaf, 0xb2, 0x3e, 0xe6, 0xd2, 0xd9, 0x39, 0x2d); + +#define BTH_ADDR_STRING_SIZE 12 + +#define BTHPROTO_RFCOMM 0x0003 +#define BTHPROTO_L2CAP 0x0100 + +#define SOL_RFCOMM BTHPROTO_RFCOMM +#define SOL_L2CAP BTHPROTO_L2CAP +#define SOL_SDP 0x0101 + +#define SO_BTH_AUTHENTICATE 0x80000001 +#define SO_BTH_ENCRYPT 0x00000002 +#define SO_BTH_MTU 0x80000007 +#define SO_BTH_MTU_MAX 0x80000008 +#define SO_BTH_MTU_MIN 0x8000000a + +#define RFCOMM_MAX_MTU 0x000003f3 +#define RFCOMM_MIN_MTU 0x00000017 + +#define BTH_SDP_VERSION 1 + +typedef struct _BTH_SET_SERVICE { + PULONG pSdpVersion; + HANDLE *pRecordHandle; + ULONG fCodService; + ULONG Reserved[5]; + ULONG ulRecordLength; + UCHAR pRecord[1]; +} BTH_SET_SERVICE,*PBTH_SET_SERVICE; + +#define SDP_DEFAULT_INQUIRY_SECONDS 6 +#define SDP_MAX_INQUIRY_SECONDS 60 + +#define SDP_DEFAULT_INQUIRY_MAX_RESPONSES 255 + +#define SDP_SERVICE_SEARCH_REQUEST 1 +#define SDP_SERVICE_ATTRIBUTE_REQUEST 2 +#define SDP_SERVICE_SEARCH_ATTRIBUTE_REQUEST 3 + +typedef struct _BTH_QUERY_DEVICE { + ULONG LAP; + UCHAR length; +} BTH_QUERY_DEVICE,*PBTH_QUERY_DEVICE; +typedef struct _BTH_QUERY_SERVICE { + ULONG type; + ULONG serviceHandle; + SdpQueryUuid uuids[MAX_UUIDS_IN_QUERY]; + ULONG numRange; + SdpAttributeRange pRange[1]; +} BTH_QUERY_SERVICE,*PBTH_QUERY_SERVICE; + +#define BTHNS_RESULT_DEVICE_CONNECTED 0x00010000 +#define BTHNS_RESULT_DEVICE_REMEMBERED 0x00020000 +#define BTHNS_RESULT_DEVICE_AUTHENTICATED 0x00040000 + +#define SIO_RFCOMM_SEND_COMMAND _WSAIORW (IOC_VENDOR, 101) +#define SIO_RFCOMM_WAIT_COMMAND _WSAIORW (IOC_VENDOR, 102) + +#define SIO_BTH_PING _WSAIORW (IOC_VENDOR, 8) +#define SIO_BTH_INFO _WSAIORW (IOC_VENDOR, 9) +#define SIO_RFCOMM_SESSION_FLOW_OFF _WSAIORW (IOC_VENDOR, 103) +#define SIO_RFCOMM_TEST _WSAIORW (IOC_VENDOR, 104) +#define SIO_RFCOMM_USECFC _WSAIORW (IOC_VENDOR, 105) + +#ifndef BIT +#define BIT(b) (1 << (b)) +#endif + +#define MSC_EA_BIT EA_BIT +#define MSC_FC_BIT BIT (1) +#define MSC_RTC_BIT BIT (2) +#define MSC_RTR_BIT BIT (3) +#define MSC_RESERVED (BIT (4)|BIT (5)) +#define MSC_IC_BIT BIT (6) +#define MSC_DV_BIT BIT (7) + +#define MSC_BREAK_BIT BIT (1) +#define MSC_SET_BREAK_LENGTH (b, l) ((b) = ((b) &0x3) | (((l) &0xf) << 4)) + +#define RLS_ERROR 0x01 +#define RLS_OVERRUN 0x02 +#define RLS_PARITY 0x04 +#define RLS_FRAMING 0x08 + +#define RPN_BAUD_2400 0 +#define RPN_BAUD_4800 1 +#define RPN_BAUD_7200 2 +#define RPN_BAUD_9600 3 +#define RPN_BAUD_19200 4 +#define RPN_BAUD_38400 5 +#define RPN_BAUD_57600 6 +#define RPN_BAUD_115200 7 +#define RPN_BAUD_230400 8 + +#define RPN_DATA_5 0x0 +#define RPN_DATA_6 0x1 +#define RPN_DATA_7 0x2 +#define RPN_DATA_8 0x3 + +#define RPN_STOP_1 0x0 +#define RPN_STOP_1_5 0x4 + +#define RPN_PARITY_NONE 0x00 +#define RPN_PARITY_ODD 0x08 +#define RPN_PARITY_EVEN 0x18 +#define RPN_PARITY_MARK 0x28 +#define RPN_PARITY_SPACE 0x38 + +#define RPN_FLOW_X_IN 0x01 +#define RPN_FLOW_X_OUT 0x02 +#define RPN_FLOW_RTR_IN 0x04 +#define RPN_FLOW_RTR_OUT 0x08 +#define RPN_FLOW_RTC_IN 0x10 +#define RPN_FLOW_RTC_OUT 0x20 + +#define RPN_PARAM_BAUD 0x01 +#define RPN_PARAM_DATA 0x02 +#define RPN_PARAM_STOP 0x04 +#define RPN_PARAM_PARITY 0x08 +#define RPN_PARAM_P_TYPE 0x10 +#define RPN_PARAM_XON 0x20 +#define RPN_PARAM_XOFF 0x40 + +#define RPN_PARAM_X_IN 0x01 +#define RPN_PARAM_X_OUT 0x02 +#define RPN_PARAM_RTR_IN 0x04 +#define RPN_PARAM_RTR_OUT 0x08 +#define RPN_PARAM_RTC_IN 0x10 +#define RPN_PARAM_RTC_OUT 0x20 + +#define RFCOMM_CMD_NONE 0 +#define RFCOMM_CMD_MSC 1 +#define RFCOMM_CMD_RLS 2 +#define RFCOMM_CMD_RPN 3 +#define RFCOMM_CMD_RPN_REQUEST 4 +#define RFCOMM_CMD_RPN_RESPONSE 5 + +typedef struct _RFCOMM_MSC_DATA { + UCHAR Signals; + UCHAR Break; +} RFCOMM_MSC_DATA,*PRFCOMM_MSC_DATA; + +typedef struct _RFCOMM_RLS_DATA { + UCHAR LineStatus; +} RFCOMM_RLS_DATA,*PRFCOMM_RLS_DATA; + +typedef struct _RFCOMM_RPN_DATA { + UCHAR Baud; + UCHAR Data; + UCHAR FlowControl; + UCHAR XonChar; + UCHAR XoffChar; + UCHAR ParameterMask1; + UCHAR ParameterMask2; +} RFCOMM_RPN_DATA,*PRFCOMM_RPN_DATA; + +typedef struct _RFCOMM_COMMAND { + ULONG CmdType; + union { + RFCOMM_MSC_DATA MSC; + RFCOMM_RLS_DATA RLS; + RFCOMM_RPN_DATA RPN; + } Data; +} RFCOMM_COMMAND,*PRFCOMM_COMMAND; + +typedef struct _BTH_PING_REQ { + BTH_ADDR btAddr; + UCHAR dataLen; + UCHAR data[MAX_L2CAP_PING_DATA_LENGTH]; +} BTH_PING_REQ,*PBTH_PING_REQ; + +typedef struct _BTH_PING_RSP { + UCHAR dataLen; + UCHAR data[MAX_L2CAP_PING_DATA_LENGTH]; +} BTH_PING_RSP,*PBTH_PING_RSP; + +typedef struct _BTH_INFO_REQ { + BTH_ADDR btAddr; + USHORT infoType; +} BTH_INFO_REQ,*PBTH_INFO_REQ; + +typedef struct _BTH_INFO_RSP { + USHORT result; + UCHAR dataLen; + __C89_NAMELESS union { + USHORT connectionlessMTU; + UCHAR data[MAX_L2CAP_INFO_DATA_LENGTH]; + }; +} BTH_INFO_RSP,*PBTH_INFO_RSP; + +typedef struct _BTH_SET_SERVICE BTHNS_SETBLOB,*PBTHNS_SETBLOB; +typedef struct _BTH_QUERY_DEVICE BTHNS_INQUIRYBLOB,*PBTHNS_INQUIRYBLOB; +typedef struct _BTH_QUERY_SERVICE BTHNS_RESTRICTIONBLOB,*PBTHNS_RESTRICTIONBLOB; + +#include + +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2def.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2def.h new file mode 100644 index 00000000..949003dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2def.h @@ -0,0 +1,38 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#ifndef _WS2DEF_ +#define _WS2DEF_ + +#include <_mingw.h> +#include + +/* FIXME FIXME FIXME FIXME FIXME: Much more data need moving here. + * This holds only SCOPE_LEVEL and SCOPE_ID so that compilations + * do not fail. + */ + +typedef enum _SCOPE_LEVEL { + ScopeLevelInterface = 1, + ScopeLevelLink = 2, + ScopeLevelSubnet = 3, + ScopeLevelAdmin = 4, + ScopeLevelSite = 5, + ScopeLevelOrganization = 8, + ScopeLevelGlobal = 14, + ScopeLevelCount = 16 +} SCOPE_LEVEL; + +typedef struct _SCOPE_ID { + __C89_NAMELESS union { + __C89_NAMELESS struct { + ULONG Zone : 28; + ULONG Level : 4; + }; + ULONG Value; + }; +} SCOPE_ID, *PSCOPE_ID; + +#endif /* _WS2DEF_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2dnet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2dnet.h new file mode 100644 index 00000000..72294868 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2dnet.h @@ -0,0 +1,138 @@ +/** + * 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 WS2DNET_H +#define WS2DNET_H + +#include + +#pragma pack(push,ws2dnet,1) + +#define DNPROTO_NSP 1 +#define DNPROTO_RAW 255 + +#define DN_MAXADDL 20 +#define DN_ADDL 2 +#define DN_MAXOPTL 16 +#define DN_MAXOBJL 16 +#define DN_MAXACCL 39 +#define DN_MAXALIASL 128 +#define DN_MAXNODEL 7 + +#define WS2API_DECNET_dnet_addr 1 +#define WS2API_DECNET_dnet_eof 2 +#define WS2API_DECNET_dnet_getacc 3 +#define WS2API_DECNET_dnet_getalias 4 +#define WS2API_DECNET_dnet_htoa 5 +#define WS2API_DECNET_dnet_ntoa 6 +#define WS2API_DECNET_getnodeadd 7 +#define WS2API_DECNET_getnodebyaddr 8 +#define WS2API_DECNET_getnodebyname 9 +#define WS2API_DECNET_getnodename 10 +#define WS2API_DECNET_MAX 10 + +typedef struct dn_naddr { + unsigned short a_len; + unsigned char a_addr[DN_MAXADDL]; +} DNNADDR,*LPDNNADDR; + +typedef struct sockaddr_dn { + unsigned short sdn_family; + unsigned char sdn_flags; + unsigned char sdn_objnum; + unsigned short sdn_objnamel; + char sdn_objname[DN_MAXOBJL]; + struct dn_naddr sdn_add; +} SOCKADDRDN,*LPSOCKADDRDN; + +#define sdn_nodeaddrl sdn_add.a_len +#define sdn_nodeaddr sdn_add.a_addr + +#define DNOBJECT_FAL 17 +#define DNOBJECT_NICE 19 +#define DNOBJECT_DTERM 23 +#define DNOBJECT_MIRROR 25 +#define DNOBJECT_EVR 26 +#define DNOBJECT_MAIL11 27 +#define DNOBJECT_PHONE 29 +#define DNOBJECT_CTERM 42 +#define DNOBJECT_DTR 63 + +typedef struct nodeent_f { + char *n_name; + unsigned short n_addrtype; + unsigned short n_length; + unsigned char *n_addr; + unsigned char *n_params; + unsigned char n_reserved[16]; +} NODEENTF,*LPNODEENTF; + +typedef struct optdata_dn { + unsigned short opt_status; + unsigned short opt_optl; + unsigned char opt_data[DN_MAXOPTL]; +} OPTDATADN,*LPOPTDATADN; + +typedef struct accessdata_dn { + unsigned short acc_accl; + unsigned char acc_acc[DN_MAXACCL+1]; + unsigned short acc_passl; + unsigned char acc_pass[DN_MAXACCL+1]; + unsigned short acc_userl; + unsigned char acc_user[DN_MAXACCL+1]; +} ACCESSDATADN,*LPACCESSDATADN; + +typedef struct calldata_dn { + struct optdata_dn optdata_dn; + struct accessdata_dn accessdata_dn; +} CALLDATADN,*LPCALLDATADN; + +typedef struct dnet_accent { + unsigned char dac_status; + unsigned char dac_type; + char dac_username[DN_MAXACCL+1]; + char dac_password[DN_MAXACCL+1]; +} DNETACCENT,*LPDNETACCENT; + +#define DN_NONE 0x00 +#define DN_RO 0x01 +#define DN_WO 0x02 +#define DN_RW 0x03 + +typedef struct linkinfo_dn { + unsigned short idn_segsize; + unsigned char idn_linkstate; +} LINKINFODN,*LPLINKINFODN; + +#define SO_LINKINFO 7 +#define LL_INACTIVE 0 +#define LL_CONNECTING 1 +#define LL_RUNNING 2 +#define LL_DISCONNECTING 3 + +#pragma pack(pop,ws2dnet) + +struct dn_naddr *WSAAPI dnet_addr(const char *); +int WSAAPI dnet_eof(SOCKET); +struct dnet_accent *WSAAPI dnet_getacc(const struct dnet_accent *); +char *WSAAPI dnet_getalias(const char *); +char *WSAAPI dnet_htoa(const struct dn_naddr *); +char *WSAAPI dnet_ntoa(const struct dn_naddr *); +struct dn_naddr *WSAAPI getnodeadd(void); +struct nodeent_f *WSAAPI getnodebyaddr(const unsigned char *addr,int,int); +struct nodeent_f *WSAAPI getnodebyname(const char *); +char *WSAAPI getnodename(void); + +typedef struct dn_naddr *(WSAAPI *LPDNETADDR)(const char *); +typedef int (WSAAPI *LPDNETEOF)(SOCKET); +typedef struct dnet_accent *(WSAAPI *LPDNETGETACC)(const struct dnet_accent *); +typedef char *(WSAAPI *LPDNETGETALIAS)(const char *); +typedef char *(WSAAPI *LPDNETHTOA)(const struct dn_naddr *); +typedef char *(WSAAPI *LPDNETNTOA)(const struct dn_naddr *); +typedef struct dn_naddr *(WSAAPI *LPGETNODEADD)(void); +typedef struct nodeent_f *(WSAAPI *LPGETNODEBYADDR)(const unsigned char *addr,int,int); +typedef struct nodeent_f *(WSAAPI *LPGETNODEBYNAME)(const char *); +typedef char *(WSAAPI *LPGETNODENAME)(void); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2ipdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2ipdef.h new file mode 100644 index 00000000..b7a64820 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2ipdef.h @@ -0,0 +1,283 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifndef _WS2IPDEF_ +#define _WS2IPDEF_ + +#include <_mingw_unicode.h> +#include + +#ifdef __LP64__ +#pragma push_macro("u_long") +#undef u_long +#define u_long __ms_u_long +#endif + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* options at IPPROTO_IP level */ +#define IP_OPTIONS 1 +#define IP_HDRINCL 2 +#define IP_TOS 3 +#define IP_TTL 4 +#define IP_MULTICAST_IF 9 +#define IP_MULTICAST_TTL 10 +#define IP_MULTICAST_LOOP 11 +#define IP_ADD_MEMBERSHIP 12 +#define IP_DROP_MEMBERSHIP 13 +#define IP_DONTFRAGMENT 14 +#define IP_ADD_SOURCE_MEMBERSHIP 15 +#define IP_DROP_SOURCE_MEMBERSHIP 16 +#define IP_BLOCK_SOURCE 17 +#define IP_UNBLOCK_SOURCE 18 +#define IP_PKTINFO 19 +#define IP_HOPLIMIT 21 +#define IP_RECVTTL 21 +#define IP_RECEIVE_BROADCAST 22 +#define IP_RECVIF 24 +#define IP_RECVDSTADDR 25 +#define IP_IFLIST 28 +#define IP_ADD_IFLIST 29 +#define IP_DEL_IFLIST 30 +#define IP_UNICAST_IF 31 +#define IP_RTHDR 32 +#define IP_GET_IFLIST 33 +#define IP_RECVRTHDR 38 +#define IP_TCLASS 39 +#define IP_RECVTCLASS 40 +#define IP_RECVTOS 40 +#define IP_ORIGINAL_ARRIVAL_IF 47 +#define IP_ECN 50 +#define IP_PKTINFO_EX 51 +#define IP_WFP_REDIRECT_RECORDS 60 +#define IP_WFP_REDIRECT_CONTEXT 70 +#define IP_MTU_DISCOVER 71 +#define IP_MTU 73 +#define IP_NRT_INTERFACE 74 +#define IP_RECVERR 75 +#define IP_USER_MTU 76 + +#define IP_UNSPECIFIED_TYPE_OF_SERVICE -1 +#define IP_UNSPECIFIED_USER_MTU MAXULONG + +#define IPV6_ADDRESS_BITS RTL_BITS_OF(IN6_ADDR) + +/* options at IPPROTO_IPV6 level */ +#define IPV6_HOPOPTS 1 +#define IPV6_HDRINCL 2 +#define IPV6_UNICAST_HOPS 4 +#define IPV6_MULTICAST_IF 9 +#define IPV6_MULTICAST_HOPS 10 +#define IPV6_MULTICAST_LOOP 11 +#define IPV6_ADD_MEMBERSHIP 12 +#define IPV6_JOIN_GROUP IPV6_ADD_MEMBERSHIP +#define IPV6_DROP_MEMBERSHIP 13 +#define IPV6_LEAVE_GROUP IPV6_DROP_MEMBERSHIP +#define IPV6_DONTFRAG 14 +#define IPV6_PKTINFO 19 +#define IPV6_HOPLIMIT 21 +#define IPV6_PROTECTION_LEVEL 23 +#define IPV6_RECVIF 24 +#define IPV6_RECVDSTADDR 25 +#define IPV6_CHECKSUM 26 +#define IPV6_V6ONLY 27 +#define IPV6_IFLIST 28 +#define IPV6_ADD_IFLIST 29 +#define IPV6_DEL_IFLIST 30 +#define IPV6_UNICAST_IF 31 +#define IPV6_RTHDR 32 +#define IPV6_GET_IFLIST 33 +#define IPV6_RECVRTHDR 38 +#define IPV6_TCLASS 39 +#define IPV6_RECVTCLASS 40 +#define IPV6_ECN 50 +#define IPV6_PKTINFO_EX 51 +#define IPV6_WFP_REDIRECT_RECORDS 60 +#define IPV6_WFP_REDIRECT_CONTEXT 70 +#define IPV6_MTU_DISCOVER 71 +#define IPV6_MTU 72 +#define IPV6_NRT_INTERFACE 74 +#define IPV6_RECVERR 75 +#define IPV6_USER_MTU 76 + +#define IP_UNSPECIFIED_HOP_LIMIT -1 + +#define IP_PROTECTION_LEVEL IPV6_PROTECTION_LEVEL + +#define PROTECTION_LEVEL_UNRESTRICTED 10 +#define PROTECTION_LEVEL_EDGERESTRICTED 20 +#define PROTECTION_LEVEL_RESTRICTED 30 + +#if NTDDI_VERSION < NTDDI_VISTA +#define PROTECTION_LEVEL_DEFAULT PROTECTION_LEVEL_EDGERESTRICTED +#else +#define PROTECTION_LEVEL_DEFAULT ((UINT)-1) +#endif + +typedef struct ipv6_mreq { + struct in6_addr ipv6mr_multiaddr; + unsigned int ipv6mr_interface; +} IPV6_MREQ; + +struct sockaddr_in6_old { + short sin6_family; + u_short sin6_port; + u_long sin6_flowinfo; + struct in6_addr sin6_addr; +}; + +typedef union sockaddr_gen { + struct sockaddr Address; + struct sockaddr_in AddressIn; + struct sockaddr_in6_old AddressIn6; +} sockaddr_gen; + +struct sockaddr_in6 { + short sin6_family; + u_short sin6_port; + u_long sin6_flowinfo; + struct in6_addr sin6_addr; + __C89_NAMELESS union { + u_long sin6_scope_id; + SCOPE_ID sin6_scope_struct; + }; +}; + +typedef struct sockaddr_in6 SOCKADDR_IN6; +typedef struct sockaddr_in6 *PSOCKADDR_IN6; +typedef struct sockaddr_in6 *LPSOCKADDR_IN6; + +typedef struct _INTERFACE_INFO { + u_long iiFlags; + sockaddr_gen iiAddress; + sockaddr_gen iiBroadcastAddress; + sockaddr_gen iiNetmask; +} INTERFACE_INFO,*LPINTERFACE_INFO; + +typedef struct _INTERFACE_INFO_EX { + u_long iiFlags; + SOCKET_ADDRESS iiAddress; + SOCKET_ADDRESS iiBroadcastAddress; + SOCKET_ADDRESS iiNetmask; +} INTERFACE_INFO_EX, *LPINTERFACE_INFO_EX; + +#define IFF_UP 0x00000001 +#define IFF_BROADCAST 0x00000002 +#define IFF_LOOPBACK 0x00000004 +#define IFF_POINTTOPOINT 0x00000008 +#define IFF_MULTICAST 0x00000010 + +typedef enum _PMTUD_STATE { + IP_PMTUDISC_NOT_SET, + IP_PMTUDISC_DO, + IP_PMTUDISC_DONT, + IP_PMTUDISC_PROBE, + IP_PMTUDISC_MAX +} PMTUD_STATE, *PPMTUD_STATE; + +#define MCAST_JOIN_GROUP 41 +#define MCAST_LEAVE_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_JOIN_SOURCE_GROUP 45 +#define MCAST_LEAVE_SOURCE_GROUP 46 + +typedef enum _MULTICAST_MODE_TYPE { + MCAST_INCLUDE = 0, + MCAST_EXCLUDE +} MULTICAST_MODE_TYPE; + +typedef struct ip_mreq_source { + IN_ADDR imr_multiaddr; + IN_ADDR imr_sourceaddr; + IN_ADDR imr_interface; +} IP_MREQ_SOURCE, *PIP_MREQ_SOURCE; + +typedef struct ip_msfilter { + IN_ADDR imsf_multiaddr; + IN_ADDR imsf_interface; + MULTICAST_MODE_TYPE imsf_fmode; + ULONG imsf_numsrc; + IN_ADDR imsf_slist[1]; +} IP_MSFILTER, *PIP_MSFILTER; + +#define IP_MSFILTER_SIZE(NumSources) (sizeof(IP_MSFILTER) - sizeof(IN_ADDR) + (NumSources) * sizeof(IN_ADDR)) + +typedef struct _sockaddr_in6_pair { + PSOCKADDR_IN6 SourceAddress; + PSOCKADDR_IN6 DestinationAddress; +} SOCKADDR_IN6_PAIR, *PSOCKADDR_IN6_PAIR; + +typedef union _SOCKADDR_INET { + SOCKADDR_IN Ipv4; + SOCKADDR_IN6 Ipv6; + ADDRESS_FAMILY si_family; +} SOCKADDR_INET, *PSOCKADDR_INET; + +typedef struct group_filter { + ULONG gf_interface; + SOCKADDR_STORAGE gf_group; + MULTICAST_MODE_TYPE gf_fmode; + ULONG gf_numsrc; + SOCKADDR_STORAGE gf_slist[1]; +} GROUP_FILTER, *PGROUP_FILTER; + +typedef struct group_req { + ULONG gr_interface; + SOCKADDR_STORAGE gr_group; +} GROUP_REQ, *PGROUP_REQ; + +typedef struct group_source_req { + ULONG gsr_interface; + SOCKADDR_STORAGE gsr_group; + SOCKADDR_STORAGE gsr_source; +} GROUP_SOURCE_REQ, *PGROUP_SOURCE_REQ; + +#define WS2TCPIP_INLINE __CRT_INLINE + +int IN6_ADDR_EQUAL(const struct in6_addr *,const struct in6_addr *); +WS2TCPIP_INLINE int IN6_ADDR_EQUAL(const struct in6_addr *a, const struct in6_addr *b) { + return !memcmp(a, b, sizeof(struct in6_addr)); +} + +#define IN6_ARE_ADDR_EQUAL IN6_ADDR_EQUAL + +#define TCP_OFFLOAD_NO_PREFERENCE 0 +#define TCP_OFFLOAD_NOT_PREFERRED 1 +#define TCP_OFFLOAD_PREFERRED 2 + +/* TCP_NODELAY is in winsock.h and winsock2.h */ +#define TCP_EXPEDITED_1122 0x0002 +#define TCP_KEEPALIVE 3 +#define TCP_MAXSEG 4 +#define TCP_MAXRT 5 +#define TCP_STDURG 6 +#define TCP_NOURG 7 +#define TCP_ATMARK 8 +#define TCP_NOSYNRETRIES 9 +#define TCP_TIMESTAMPS 10 +#define TCP_OFFLOAD_PREFERENCE 11 +#define TCP_CONGESTION_ALGORITHM 12 +#define TCP_DELAY_FIN_ACK 13 +#define TCP_MAXRTMS 14 +#define TCP_FASTOPEN 15 +#define TCP_KEEPCNT 16 +#define TCP_KEEPIDLE TCP_KEEPALIVE +#define TCP_KEEPINTVL 17 +#define TCP_FAIL_CONNECT_ON_ICMP_ERROR 18 +#define TCP_ICMP_ERROR_INFO 19 + +#ifdef __cplusplus +} +#endif + +#ifdef __LP64__ +#pragma pop_macro("u_long") +#endif + +#endif /*_WS2IPDEF_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2spi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2spi.h new file mode 100644 index 00000000..548d2217 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2spi.h @@ -0,0 +1,441 @@ +/** + * 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 _WINSOCK2SPI_ +#define _WINSOCK2SPI_ + +#ifndef _WIN64 +#include +#endif + +#include + +#define WSPDESCRIPTION_LEN 255 + +#define WSS_OPERATION_IN_PROGRESS __MSABI_LONG(0x00000103) + +typedef struct WSPData { + WORD wVersion; + WORD wHighVersion; + WCHAR szDescription[WSPDESCRIPTION_LEN+1]; +} WSPDATA,*LPWSPDATA; + +typedef struct _WSATHREADID { + HANDLE ThreadHandle; + DWORD_PTR Reserved; +} WSATHREADID,*LPWSATHREADID; + +#define WSPAPI WSAAPI + +#ifdef __cplusplus +extern "C" { +#endif + + typedef WINBOOL (CALLBACK *LPBLOCKINGCALLBACK)(DWORD_PTR dwContext); + typedef VOID (CALLBACK *LPWSAUSERAPC)(DWORD_PTR dwContext); + typedef SOCKET (WSPAPI *LPWSPACCEPT)(SOCKET s,struct sockaddr *addr,LPINT addrlen,LPCONDITIONPROC lpfnCondition,DWORD_PTR dwCallbackData,LPINT lpErrno); + typedef INT (WSPAPI *LPWSPADDRESSTOSTRING)(LPSOCKADDR lpsaAddress,DWORD dwAddressLength,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPWSTR lpszAddressString,LPDWORD lpdwAddressStringLength,LPINT lpErrno); + typedef int (WSPAPI *LPWSPASYNCSELECT)(SOCKET s,HWND hWnd,unsigned int wMsg,__LONG32 lEvent,LPINT lpErrno); + typedef int (WSPAPI *LPWSPBIND)(SOCKET s,const struct sockaddr *name,int namelen,LPINT lpErrno); + typedef int (WSPAPI *LPWSPCANCELBLOCKINGCALL)(LPINT lpErrno); + typedef int (WSPAPI *LPWSPCLEANUP)(LPINT lpErrno); + typedef int (WSPAPI *LPWSPCLOSESOCKET)(SOCKET s,LPINT lpErrno); + typedef int (WSPAPI *LPWSPCONNECT)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,LPINT lpErrno); + typedef int (WSPAPI *LPWSPDUPLICATESOCKET)(SOCKET s,DWORD dwProcessId,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPINT lpErrno); + typedef int (WSPAPI *LPWSPENUMNETWORKEVENTS)(SOCKET s,WSAEVENT hEventObject,LPWSANETWORKEVENTS lpNetworkEvents,LPINT lpErrno); + typedef int (WSPAPI *LPWSPEVENTSELECT)(SOCKET s,WSAEVENT hEventObject,__LONG32 lNetworkEvents,LPINT lpErrno); + typedef WINBOOL (WSPAPI *LPWSPGETOVERLAPPEDRESULT)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,LPDWORD lpcbTransfer,WINBOOL fWait,LPDWORD lpdwFlags,LPINT lpErrno); + typedef int (WSPAPI *LPWSPGETPEERNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno); + typedef int (WSPAPI *LPWSPGETSOCKNAME)(SOCKET s,struct sockaddr *name,LPINT namelen,LPINT lpErrno); + typedef int (WSPAPI *LPWSPGETSOCKOPT)(SOCKET s,int level,int optname,char *optval,LPINT optlen,LPINT lpErrno); + typedef WINBOOL (WSPAPI *LPWSPGETQOSBYNAME)(SOCKET s,LPWSABUF lpQOSName,LPQOS lpQOS,LPINT lpErrno); + typedef int (WSPAPI *LPWSPIOCTL)(SOCKET s,DWORD dwIoControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef SOCKET (WSPAPI *LPWSPJOINLEAF)(SOCKET s,const struct sockaddr *name,int namelen,LPWSABUF lpCallerData,LPWSABUF lpCalleeData,LPQOS lpSQOS,LPQOS lpGQOS,DWORD dwFlags,LPINT lpErrno); + typedef int (WSPAPI *LPWSPLISTEN)(SOCKET s,int backlog,LPINT lpErrno); + typedef int (WSPAPI *LPWSPRECV)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWSPRECVDISCONNECT)(SOCKET s,LPWSABUF lpInboundDisconnectData,LPINT lpErrno); + typedef int (WSPAPI *LPWSPRECVFROM)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesRecvd,LPDWORD lpFlags,struct sockaddr *lpFrom,LPINT lpFromlen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSELECT)(int nfds,fd_set *readfds,fd_set *writefds,fd_set *exceptfds,const TIMEVAL *timeout,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSEND)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSENDDISCONNECT)(SOCKET s,LPWSABUF lpOutboundDisconnectData,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSENDTO)(SOCKET s,LPWSABUF lpBuffers,DWORD dwBufferCount,LPDWORD lpNumberOfBytesSent,DWORD dwFlags,const struct sockaddr *lpTo,int iTolen,LPWSAOVERLAPPED lpOverlapped,LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSETSOCKOPT)(SOCKET s,int level,int optname,const char *optval,int optlen,LPINT lpErrno); + typedef int (WSPAPI *LPWSPSHUTDOWN)(SOCKET s,int how,LPINT lpErrno); + typedef SOCKET (WSPAPI *LPWSPSOCKET)(int af,int type,int protocol,LPWSAPROTOCOL_INFOW lpProtocolInfo,GROUP g,DWORD dwFlags,LPINT lpErrno); + typedef INT (WSPAPI *LPWSPSTRINGTOADDRESS)(LPWSTR AddressString,INT AddressFamily,LPWSAPROTOCOL_INFOW lpProtocolInfo,LPSOCKADDR lpAddress,LPINT lpAddressLength,LPINT lpErrno); + + typedef struct _WSPPROC_TABLE { + + LPWSPACCEPT lpWSPAccept; + LPWSPADDRESSTOSTRING lpWSPAddressToString; + LPWSPASYNCSELECT lpWSPAsyncSelect; + LPWSPBIND lpWSPBind; + LPWSPCANCELBLOCKINGCALL lpWSPCancelBlockingCall; + LPWSPCLEANUP lpWSPCleanup; + LPWSPCLOSESOCKET lpWSPCloseSocket; + LPWSPCONNECT lpWSPConnect; + LPWSPDUPLICATESOCKET lpWSPDuplicateSocket; + LPWSPENUMNETWORKEVENTS lpWSPEnumNetworkEvents; + LPWSPEVENTSELECT lpWSPEventSelect; + LPWSPGETOVERLAPPEDRESULT lpWSPGetOverlappedResult; + LPWSPGETPEERNAME lpWSPGetPeerName; + LPWSPGETSOCKNAME lpWSPGetSockName; + LPWSPGETSOCKOPT lpWSPGetSockOpt; + LPWSPGETQOSBYNAME lpWSPGetQOSByName; + LPWSPIOCTL lpWSPIoctl; + LPWSPJOINLEAF lpWSPJoinLeaf; + LPWSPLISTEN lpWSPListen; + LPWSPRECV lpWSPRecv; + LPWSPRECVDISCONNECT lpWSPRecvDisconnect; + LPWSPRECVFROM lpWSPRecvFrom; + LPWSPSELECT lpWSPSelect; + LPWSPSEND lpWSPSend; + LPWSPSENDDISCONNECT lpWSPSendDisconnect; + LPWSPSENDTO lpWSPSendTo; + LPWSPSETSOCKOPT lpWSPSetSockOpt; + LPWSPSHUTDOWN lpWSPShutdown; + LPWSPSOCKET lpWSPSocket; + LPWSPSTRINGTOADDRESS lpWSPStringToAddress; + } WSPPROC_TABLE,*LPWSPPROC_TABLE; + + typedef WINBOOL (WSPAPI *LPWPUCLOSEEVENT)(WSAEVENT hEvent,LPINT lpErrno); + typedef int (WSPAPI *LPWPUCLOSESOCKETHANDLE)(SOCKET s,LPINT lpErrno); + typedef WSAEVENT (WSPAPI *LPWPUCREATEEVENT)(LPINT lpErrno); + typedef SOCKET (WSPAPI *LPWPUCREATESOCKETHANDLE)(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno); + typedef int (WSPAPI *LPWPUFDISSET)(SOCKET s,fd_set *fdset); + typedef int (WSPAPI *LPWPUGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); + typedef SOCKET (WSPAPI *LPWPUMODIFYIFSHANDLE)(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno); + typedef WINBOOL (WSPAPI *LPWPUPOSTMESSAGE)(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + typedef int (WSPAPI *LPWPUQUERYBLOCKINGCALLBACK)(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno); + typedef int (WSPAPI *LPWPUQUERYSOCKETHANDLECONTEXT)(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno); + typedef int (WSPAPI *LPWPUQUEUEAPC)(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno); + typedef WINBOOL (WSPAPI *LPWPURESETEVENT)(WSAEVENT hEvent,LPINT lpErrno); + typedef WINBOOL (WSPAPI *LPWPUSETEVENT)(WSAEVENT hEvent,LPINT lpErrno); + typedef int (WSPAPI *LPWPUOPENCURRENTTHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWPUCLOSETHREAD)(LPWSATHREADID lpThreadId,LPINT lpErrno); + typedef int (WSPAPI *LPWPUCOMPLETEOVERLAPPEDREQUEST)(SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno); + + typedef struct _WSPUPCALLTABLE { + LPWPUCLOSEEVENT lpWPUCloseEvent; + LPWPUCLOSESOCKETHANDLE lpWPUCloseSocketHandle; + LPWPUCREATEEVENT lpWPUCreateEvent; + LPWPUCREATESOCKETHANDLE lpWPUCreateSocketHandle; + LPWPUFDISSET lpWPUFDIsSet; + LPWPUGETPROVIDERPATH lpWPUGetProviderPath; + LPWPUMODIFYIFSHANDLE lpWPUModifyIFSHandle; + LPWPUPOSTMESSAGE lpWPUPostMessage; + LPWPUQUERYBLOCKINGCALLBACK lpWPUQueryBlockingCallback; + LPWPUQUERYSOCKETHANDLECONTEXT lpWPUQuerySocketHandleContext; + LPWPUQUEUEAPC lpWPUQueueApc; + LPWPURESETEVENT lpWPUResetEvent; + LPWPUSETEVENT lpWPUSetEvent; + LPWPUOPENCURRENTTHREAD lpWPUOpenCurrentThread; + LPWPUCLOSETHREAD lpWPUCloseThread; + } WSPUPCALLTABLE,*LPWSPUPCALLTABLE; + + typedef int (WSPAPI *LPWSPSTARTUP)(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable); + typedef int (WSPAPI *LPWSCENUMPROTOCOLS)(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); + typedef int (WSPAPI *LPWSCDEINSTALLPROVIDER)(LPGUID lpProviderId,LPINT lpErrno); + typedef int (WSPAPI *LPWSCINSTALLPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); + typedef int (WSPAPI *LPWSCGETPROVIDERPATH)(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); + typedef int (WSPAPI *LPWSCUPDATEPROVIDER)(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); + typedef int (WSPAPI *LPWSCINSTALLQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName,LPQOS Qos); + typedef int (WSPAPI *LPWSCREMOVEQOSTEMPLATE)(const LPGUID Guid,LPWSABUF QosName); + + int WSPAPI WSPStartup(WORD wVersionRequested,LPWSPDATA lpWSPData,LPWSAPROTOCOL_INFOW lpProtocolInfo,WSPUPCALLTABLE UpcallTable,LPWSPPROC_TABLE lpProcTable); + int WSPAPI WSCEnumProtocols(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); + int WSPAPI WSCDeinstallProvider(LPGUID lpProviderId,LPINT lpErrno); + int WSPAPI WSCInstallProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); + int WSPAPI WSCGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); + int WSPAPI WSCUpdateProvider(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); + int WSPAPI WSCInstallQOSTemplate (const LPGUID Guid,LPWSABUF QosName,LPQOS Qos); + int WSPAPI WSCRemoveQOSTemplate (const LPGUID Guid,LPWSABUF QosName); + +#ifdef _WIN64 + int WSPAPI WSCEnumProtocols32(LPINT lpiProtocols,LPWSAPROTOCOL_INFOW lpProtocolBuffer,LPDWORD lpdwBufferLength,LPINT lpErrno); + int WSPAPI WSCDeinstallProvider32(LPGUID lpProviderId,LPINT lpErrno); + int WSPAPI WSCInstallProvider64_32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); + int WSPAPI WSCGetProviderPath32(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); + int WSPAPI WSCUpdateProvider32(LPGUID lpProviderId,const WCHAR *lpszProviderDllPath,const LPWSAPROTOCOL_INFOW lpProtocolInfoList,DWORD dwNumberOfEntries,LPINT lpErrno); +#endif + + WINBOOL WSPAPI WPUCloseEvent(WSAEVENT hEvent,LPINT lpErrno); + int WSPAPI WPUCloseSocketHandle(SOCKET s,LPINT lpErrno); + WSAEVENT WSPAPI WPUCreateEvent(LPINT lpErrno); + SOCKET WSPAPI WPUCreateSocketHandle(DWORD dwCatalogEntryId,DWORD_PTR dwContext,LPINT lpErrno); + int WSPAPI WPUFDIsSet(SOCKET s,fd_set *fdset); + int WSPAPI WPUGetProviderPath(LPGUID lpProviderId,WCHAR *lpszProviderDllPath,LPINT lpProviderDllPathLen,LPINT lpErrno); + SOCKET WSPAPI WPUModifyIFSHandle(DWORD dwCatalogEntryId,SOCKET ProposedHandle,LPINT lpErrno); + WINBOOL WSPAPI WPUPostMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam); + int WSPAPI WPUQueryBlockingCallback(DWORD dwCatalogEntryId,LPBLOCKINGCALLBACK *lplpfnCallback,PDWORD_PTR lpdwContext,LPINT lpErrno); + int WSPAPI WPUQuerySocketHandleContext(SOCKET s,PDWORD_PTR lpContext,LPINT lpErrno); + int WSPAPI WPUQueueApc(LPWSATHREADID lpThreadId,LPWSAUSERAPC lpfnUserApc,DWORD_PTR dwContext,LPINT lpErrno); + WINBOOL WSPAPI WPUResetEvent(WSAEVENT hEvent,LPINT lpErrno); + WINBOOL WSPAPI WPUSetEvent(WSAEVENT hEvent,LPINT lpErrno); + int WSPAPI WPUCompleteOverlappedRequest (SOCKET s,LPWSAOVERLAPPED lpOverlapped,DWORD dwError,DWORD cbTransferred,LPINT lpErrno); + int WSPAPI WPUOpenCurrentThread(LPWSATHREADID lpThreadId,LPINT lpErrno); + int WSPAPI WPUCloseThread(LPWSATHREADID lpThreadId,LPINT lpErrno); +#define WSCEnumNameSpaceProviders WSAEnumNameSpaceProvidersW +#define LPFN_WSCENUMNAMESPACEPROVIDERS LPFN_WSAENUMNAMESPACEPROVIDERSW + +#ifdef _WIN64 + INT WSAAPI WSCEnumNameSpaceProviders32(LPDWORD lpdwBufferLength,LPWSANAMESPACE_INFOW lpnspBuffer); +#endif + + typedef INT (WSPAPI *LPWSCINSTALLNAMESPACE)(LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); + typedef INT (WSPAPI *LPWSCUNINSTALLNAMESPACE)(LPGUID lpProviderId); + typedef INT (WSPAPI *LPWSCENABLENSPROVIDER)(LPGUID lpProviderId,WINBOOL fEnable); + + INT WSPAPI WSCInstallNameSpace (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); + INT WSPAPI WSCUnInstallNameSpace (LPGUID lpProviderId); + INT WSPAPI WSCEnableNSProvider (LPGUID lpProviderId,WINBOOL fEnable); + +#ifdef _WIN64 + INT WSPAPI WSCInstallNameSpace32 (LPWSTR lpszIdentifier,LPWSTR lpszPathName,DWORD dwNameSpace,DWORD dwVersion,LPGUID lpProviderId); + INT WSPAPI WSCUnInstallNameSpace32 (LPGUID lpProviderId); + INT WSPAPI WSCEnableNSProvider32 (LPGUID lpProviderId,WINBOOL fEnable); +#endif + + typedef INT (WSAAPI *LPNSPCLEANUP)(LPGUID lpProviderId); + typedef INT (WSAAPI *LPNSPLOOKUPSERVICEBEGIN)(LPGUID lpProviderId,LPWSAQUERYSETW lpqsRestrictions,LPWSASERVICECLASSINFOW lpServiceClassInfo,DWORD dwControlFlags,LPHANDLE lphLookup); + typedef INT (WSAAPI *LPNSPLOOKUPSERVICENEXT)(HANDLE hLookup,DWORD dwControlFlags,LPDWORD lpdwBufferLength,LPWSAQUERYSETW lpqsResults); + typedef INT (WSAAPI *LPNSPIOCTL)(HANDLE hLookup,DWORD dwControlCode,LPVOID lpvInBuffer,DWORD cbInBuffer,LPVOID lpvOutBuffer,DWORD cbOutBuffer,LPDWORD lpcbBytesReturned,LPWSACOMPLETION lpCompletion,LPWSATHREADID lpThreadId); + typedef INT (WSAAPI *LPNSPLOOKUPSERVICEEND)(HANDLE hLookup); + typedef INT (WSAAPI *LPNSPSETSERVICE)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo,LPWSAQUERYSETW lpqsRegInfo,WSAESETSERVICEOP essOperation,DWORD dwControlFlags); + typedef INT (WSAAPI *LPNSPINSTALLSERVICECLASS)(LPGUID lpProviderId,LPWSASERVICECLASSINFOW lpServiceClassInfo); + typedef INT (WSAAPI *LPNSPREMOVESERVICECLASS)(LPGUID lpProviderId,LPGUID lpServiceClassId); + typedef INT (WSAAPI *LPNSPGETSERVICECLASSINFO)(LPGUID lpProviderId,LPDWORD lpdwBufSize,LPWSASERVICECLASSINFOW lpServiceClassInfo); + + typedef struct _NSP_ROUTINE { + DWORD cbSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + LPNSPCLEANUP NSPCleanup; + LPNSPLOOKUPSERVICEBEGIN NSPLookupServiceBegin; + LPNSPLOOKUPSERVICENEXT NSPLookupServiceNext; + LPNSPLOOKUPSERVICEEND NSPLookupServiceEnd; + LPNSPSETSERVICE NSPSetService; + LPNSPINSTALLSERVICECLASS NSPInstallServiceClass; + LPNSPREMOVESERVICECLASS NSPRemoveServiceClass; + LPNSPGETSERVICECLASSINFO NSPGetServiceClassInfo; + LPNSPIOCTL NSPIoctl; + } NSP_ROUTINE,*LPNSP_ROUTINE; + + typedef INT (WSAAPI *LPNSPSTARTUP)(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines); + + INT WSAAPI NSPStartup(LPGUID lpProviderId,LPNSP_ROUTINE lpnspRoutines); + +#if (_WIN32_WINNT >= 0x0600) + +typedef int (WSAAPI *LPNSPV2CLEANUP)( + LPGUID lpProviderId, + LPVOID pvClientSessionArg +); + +typedef int (WSAAPI *LPNSPV2CLIENTSESSIONRUNDOWN)( + LPGUID lpProviderId, + LPVOID pvClientSessionArg +); + +typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEBEGIN)( + LPGUID lpProviderId, + LPWSAQUERYSET2W lpqsRestrictions, + DWORD dwControlFlags, + LPVOID lpvClientSessionArg, + LPHANDLE lphLookup +); + +typedef int (WSAAPI *LPNSPV2LOOKUPSERVICEEND)( + HANDLE hLookup +); + +typedef int (WSAAPI *LPNSPV2LOOKUPSERVICENEXTEX)( + HANDLE hAsyncCall, + HANDLE hLookup, + DWORD dwControlFlags, + LPDWORD lpdwBufferLength, + LPWSAQUERYSET2W lpqsResults +); + +typedef int (WSAAPI *LPNSPV2SETSERVICEEX)( + HANDLE hAsyncCall, + LPGUID lpProviderId, + LPWSAQUERYSET2W lpqsRegInfo, + WSAESETSERVICEOP essOperation, + DWORD dwControlFlags, + LPVOID lpvClientSessionArg +); + +typedef int (WSAAPI *LPNSPV2STARTUP)( + LPGUID lpProviderId, + LPVOID *ppvClientSessionArg +); + +typedef struct _NSPV2_ROUTINE { + DWORD cbSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + LPNSPV2STARTUP NSPv2Startup; + LPNSPV2CLEANUP NSPv2Cleanup; + LPNSPV2LOOKUPSERVICEBEGIN NSPv2LookupServiceBegin; + LPNSPV2LOOKUPSERVICENEXTEX NSPv2LookupServiceNextEx; + LPNSPV2LOOKUPSERVICEEND NSPv2LookupServiceEnd; + LPNSPV2SETSERVICEEX NSPv2SetServiceEx; + LPNSPV2CLIENTSESSIONRUNDOWN NSPv2ClientSessionRundown; +} NSPV2_ROUTINE, *PNSPV2_ROUTINE, *LPCNSPV2_ROUTINE; + +#define LSP_SYSTEM 0x80000000 +#define LSP_INSPECTOR 0x00000001 +#define LSP_REDIRECTOR 0x00000002 +#define LSP_PROXY 0x00000004 +#define LSP_FIREWALL 0x00000008 +#define LSP_INBOUND_MODIFY 0x00000010 +#define LSP_OUTBOUND_MODIFY 0x00000020 +#define LSP_CRYPTO_COMPRESS 0x00000040 +#define LSP_LOCAL_CACHE 0x00000080 + +typedef enum _WSC_PROVIDER_INFO_TYPE { + ProviderInfoLspCategories = 0, + ProviderInfoAudit +} WSC_PROVIDER_INFO_TYPE; + +typedef struct _WSC_PROVIDER_AUDIT_INFO { + DWORD RecordSize; + PVOID Reserved; +} WSC_PROVIDER_AUDIT_INFO, *PWSC_PROVIDER_AUDIT_INFO; + +INT WSAAPI WSAAdvertiseProvider( + const GUID *puuidProviderId, + const LPCNSPV2_ROUTINE *pNSPv2Routine +); + +INT WSPAPI WSAProviderCompleteAsyncCall( + HANDLE hAsyncCall, + INT iRetCode +); + +INT WSPAPI WSAUnadvertiseProvider( + const GUID *puuidProviderId +); + +int WSPAPI WSCGetApplicationCategory( + LPCWSTR Path, + DWORD PathLength, + LPCWSTR Extra, + DWORD ExtraLength, + DWORD *pPermittedLspCategories, + LPINT lpErrno +); + +int WSPAPI WSCGetProviderInfo( + LPGUID lpProviderId, + WSC_PROVIDER_INFO_TYPE InfoType, + PBYTE Info, + size_t *InfoSize, + DWORD Flags, + LPINT lpErrno +); + +#ifndef _WIN64 +int WSPAPI WSCInstallProviderAndChains( + const LPGUID lpProviderId, + const LPWSTR lpszProviderDllPath, + const LPWSTR lpszLspName, + DWORD dwServiceFlags, + const LPWSAPROTOCOL_INFO lpProtocolInfoList, + DWORD dwNumberOfEntries, + LPDWORD lpdwCatalogEntryId, + LPINT lpErrno +); +#endif /* !_WIN64 */ + +int WSPAPI WSCSetApplicationCategory( + LPCWSTR Path, + DWORD PathLength, + LPCWSTR Extra, + DWORD ExtraLength, + DWORD PermittedLspCategories, + DWORD *pPrevPermLspCat, + LPINT lpErrno +); + +int WSPAPI WSCSetProviderInfo( + LPGUID lpProviderId, + WSC_PROVIDER_INFO_TYPE InfoType, + PBYTE Info, + size_t InfoSize, + DWORD Flags, + LPINT lpErrno +); + +int WSAAPI WSCInstallNameSpaceEx( + LPWSTR lpszIdentifier, + LPWSTR lpszPathName, + DWORD dwNameSpace, + DWORD dwVersion, + LPGUID lpProviderId, + LPBLOB lpProviderInfo +); + +#define WSCEnumNameSpaceProvidersEx WSAEnumNameSpaceProvidersExW +#define LPFN_WSCENUMNAMESPACEPROVIDERSEX LPFN_WSAENUMNAMESPACEPROVIDERSEXW + +#ifdef _WIN64 +INT WSPAPI WSCEnumNameSpaceProvidersEx32( + LPDWORD lpdwBufferLength, + LPWSANAMESPACE_INFOEXW lpnspBuffer +); + +int WSPAPI WSCGetProviderInfo32( + LPGUID lpProviderId, + WSC_PROVIDER_INFO_TYPE InfoType, + PBYTE Info, + size_t *InfoSize, + DWORD Flags, + LPINT lpErrno +); + +int WSAAPI WSCInstallNameSpaceEx32( + LPWSTR lpszIdentifier, + LPWSTR lpszPathName, + DWORD dwNameSpace, + DWORD dwVersion, + LPGUID lpProviderId, + LPBLOB lpProviderInfo +); + +int WSPAPI WSCInstallProviderAndChains64_32( + const LPGUID lpProviderId, + const LPWSTR lpszProviderDllPath, + const LPWSTR lpszProviderDllPath32, + const LPWSTR lpszLspName, + DWORD dwServiceFlags, + const LPWSAPROTOCOL_INFO lpProtocolInfoList, + DWORD dwNumberOfEntries, + LPDWORD lpdwCatalogEntryId, + LPINT lpErrno +); + +int WSPAPI WSCSetProviderInfo32( + LPGUID lpProviderId, + WSC_PROVIDER_INFO_TYPE InfoType, + PBYTE Info, + size_t InfoSize, + DWORD Flags, + LPINT lpErrno +); + +#endif /* _WIN64*/ + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif + +#if !defined(_WIN64) +#include +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2tcpip.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2tcpip.h new file mode 100644 index 00000000..75ff1fc0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ws2tcpip.h @@ -0,0 +1,445 @@ +/** + * 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 _WS2TCPIP_H_ +#define _WS2TCPIP_H_ + +#include <_mingw_unicode.h> + +#ifdef __LP64__ +#pragma push_macro("u_long") +#undef u_long +#define u_long __ms_u_long +#endif + +#include +#include +#include +#include + +#define SIO_GET_INTERFACE_LIST _IOR('t',127,u_long) + +#define SIO_GET_INTERFACE_LIST_EX _IOR('t',126,u_long) +#define SIO_SET_MULTICAST_FILTER _IOW('t',125,u_long) +#define SIO_GET_MULTICAST_FILTER _IOW('t',124 | IOC_IN,u_long) +#define SIOCSIPMSFILTER SIO_SET_MULTICAST_FILTER +#define SIOCGIPMSFILTER SIO_GET_MULTICAST_FILTER +#define SIOCSMSFILTER _IOW('t',126,u_long) +#define SIOCGMSFILTER _IOW('t',127 | IOC_IN,u_long) + +#if NTDDI_VERSION >= NTDDI_VISTASP1 +#define IDEAL_SEND_BACKLOG_IOCTLS +#define SIO_IDEAL_SEND_BACKLOG_QUERY _IOR('t',123,u_long) +#define SIO_IDEAL_SEND_BACKLOG_CHANGE _IO('t',122) +#endif + +#define UDP_NOCHECKSUM 1 +#define UDP_CHECKSUM_COVERAGE 20 + +#include + + +#define SS_PORT(ssp) (((struct sockaddr_in*)(ssp))->sin_port) + +#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } +#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } + +#ifdef __cplusplus +extern "C" { +#endif + + extern const struct in6_addr in6addr_any; + extern const struct in6_addr in6addr_loopback; + +int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *); +int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *); +int IN6_IS_ADDR_MULTICAST(const struct in6_addr *); +int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *); +int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *); +int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *); +int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *); +int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); +int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); +int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); +int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *); +int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *); +int IN6ADDR_ISANY(const struct sockaddr_in6 *); +int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *); +void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *); +void IN6_SET_ADDR_LOOPBACK(struct in6_addr *); +void IN6ADDR_SETANY(struct sockaddr_in6 *); +void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *); + +WS2TCPIP_INLINE int IN6_IS_ADDR_UNSPECIFIED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0)); } +WS2TCPIP_INLINE int IN6_IS_ADDR_LOOPBACK(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && (a->s6_words[6]==0) && (a->s6_words[7]==0x0100)); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MULTICAST(const struct in6_addr *a) { return (a->s6_bytes[0]==0xff); } +WS2TCPIP_INLINE int IN6_IS_ADDR_LINKLOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0x80)); } +WS2TCPIP_INLINE int IN6_IS_ADDR_SITELOCAL(const struct in6_addr *a) { return ((a->s6_bytes[0]==0xfe) && ((a->s6_bytes[1] & 0xc0)==0xc0)); } +WS2TCPIP_INLINE int IN6_IS_ADDR_V4MAPPED(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0xffff)); } +WS2TCPIP_INLINE int IN6_IS_ADDR_V4COMPAT(const struct in6_addr *a) { return ((a->s6_words[0]==0) && (a->s6_words[1]==0) && (a->s6_words[2]==0) && (a->s6_words[3]==0) && (a->s6_words[4]==0) && (a->s6_words[5]==0) && !((a->s6_words[6]==0) && (a->s6_addr[14]==0) && ((a->s6_addr[15]==0) || (a->s6_addr[15]==1)))); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==1); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==2); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==5); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MC_ORGLOCAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==8); } +WS2TCPIP_INLINE int IN6_IS_ADDR_MC_GLOBAL(const struct in6_addr *a) { return IN6_IS_ADDR_MULTICAST(a) && ((a->s6_bytes[1] & 0xf)==0xe); } +WS2TCPIP_INLINE int IN6ADDR_ISANY(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_UNSPECIFIED(&a->sin6_addr)); } +WS2TCPIP_INLINE int IN6ADDR_ISLOOPBACK(const struct sockaddr_in6 *a) { return ((a->sin6_family==AF_INET6) && IN6_IS_ADDR_LOOPBACK(&a->sin6_addr)); } +WS2TCPIP_INLINE void IN6_SET_ADDR_UNSPECIFIED(struct in6_addr *a) { memset(a->s6_bytes,0,sizeof(struct in6_addr)); } +WS2TCPIP_INLINE void IN6_SET_ADDR_LOOPBACK(struct in6_addr *a) { + memset(a->s6_bytes,0,sizeof(struct in6_addr)); + a->s6_bytes[15] = 1; +} +WS2TCPIP_INLINE 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_scope_id = 0; +} +WS2TCPIP_INLINE void IN6ADDR_SETLOOPBACK(struct sockaddr_in6 *a) { + a->sin6_family = AF_INET6; + a->sin6_port = 0; + a->sin6_flowinfo = 0; + IN6_SET_ADDR_LOOPBACK(&a->sin6_addr); + a->sin6_scope_id = 0; +} + +#ifdef IDEAL_SEND_BACKLOG_IOCTLS +WS2TCPIP_INLINE int idealsendbacklogquery(SOCKET s, ULONG *isb) { + DWORD bytes; + return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_QUERY, NULL, 0, isb, sizeof(*isb), &bytes, NULL, NULL); +} + +WS2TCPIP_INLINE int idealsendbacklognotify(SOCKET s, LPWSAOVERLAPPED overlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE routine) { + DWORD bytes; + return WSAIoctl(s, SIO_IDEAL_SEND_BACKLOG_CHANGE, NULL, 0, NULL, 0, &bytes, overlapped, routine); +} +#endif + +/* Those declarations are mandatory for Open Group Base spec */ +#define IN6_IS_ADDR_UNSPECIFIED IN6_IS_ADDR_UNSPECIFIED +#define IN6_IS_ADDR_LOOPBACK IN6_IS_ADDR_LOOPBACK +#define IN6_IS_ADDR_MULTICAST IN6_IS_ADDR_MULTICAST +#define IN6_IS_ADDR_LINKLOCAL IN6_IS_ADDR_LINKLOCAL +#define IN6_IS_ADDR_SITELOCAL IN6_IS_ADDR_SITELOCAL +#define IN6_IS_ADDR_V4MAPPED IN6_IS_ADDR_V4MAPPED +#define IN6_IS_ADDR_V4COMPAT IN6_IS_ADDR_V4COMPAT +#define IN6_IS_ADDR_MC_NODELOCAL IN6_IS_ADDR_MC_NODELOCAL +#define IN6_IS_ADDR_MC_LINKLOCAL IN6_IS_ADDR_MC_LINKLOCAL +#define IN6_IS_ADDR_MC_SITELOCAL IN6_IS_ADDR_MC_SITELOCAL +#define IN6_IS_ADDR_MC_ORGLOCAL IN6_IS_ADDR_MC_ORGLOCAL +#define IN6_IS_ADDR_MC_GLOBAL IN6_IS_ADDR_MC_GLOBAL + +#ifdef __cplusplus +} +#endif + +typedef struct in_pktinfo { + IN_ADDR ipi_addr; + UINT ipi_ifindex; +} IN_PKTINFO; + +C_ASSERT(sizeof(IN_PKTINFO)==8); + +typedef struct in6_pktinfo { + IN6_ADDR ipi6_addr; + UINT ipi6_ifindex; +} IN6_PKTINFO; + +C_ASSERT(sizeof(IN6_PKTINFO)==20); + +#define EAI_AGAIN WSATRY_AGAIN +#define EAI_BADFLAGS WSAEINVAL +#define EAI_FAIL WSANO_RECOVERY +#define EAI_FAMILY WSAEAFNOSUPPORT +#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY + +#define EAI_NONAME WSAHOST_NOT_FOUND +#define EAI_SERVICE WSATYPE_NOT_FOUND +#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT + +#define EAI_NODATA 11004 /* WSANO_DATA */ + +typedef struct addrinfo { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + size_t ai_addrlen; + char *ai_canonname; + struct sockaddr *ai_addr; + struct addrinfo *ai_next; +} ADDRINFOA,*PADDRINFOA; + +typedef struct addrinfoW { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + size_t ai_addrlen; + PWSTR ai_canonname; + struct sockaddr *ai_addr; + struct addrinfoW *ai_next; +} ADDRINFOW,*PADDRINFOW; + +typedef __MINGW_NAME_AW(ADDRINFO) ADDRINFOT,*PADDRINFOT; + +typedef ADDRINFOA ADDRINFO,*LPADDRINFO; + +#define AI_PASSIVE 0x00000001 +#define AI_CANONNAME 0x00000002 +#define AI_NUMERICHOST 0x00000004 +#if (_WIN32_WINNT >= 0x0600) +#define AI_NUMERICSERV 0x00000008 +#define AI_ALL 0x00000100 +#define AI_ADDRCONFIG 0x00000400 +#define AI_V4MAPPED 0x00000800 +#define AI_NON_AUTHORITATIVE 0x00004000 +#define AI_SECURE 0x00008000 +#define AI_RETURN_PREFERRED_NAMES 0x00010000 +#endif +#if (_WIN32_WINNT >= 0x0601) +#define AI_FQDN 0x00020000 +#define AI_FILESERVER 0x00040000 +#endif +#if (_WIN32_WINNT >= 0x0602) +#define AI_DISABLE_IDN_ENCODING 0x00080000 +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define GetAddrInfo __MINGW_NAME_AW(GetAddrInfo) + + WINSOCK_API_LINKAGE int WSAAPI getaddrinfo(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res); + WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoW(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult); + +#define GetAddrInfoA getaddrinfo + +#if INCL_WINSOCK_API_TYPEDEFS + typedef int (WSAAPI *LPFN_GETADDRINFO)(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res); + typedef int (WSAAPI *LPFN_GETADDRINFOW)(PCWSTR pNodeName,PCWSTR pServiceName,const ADDRINFOW *pHints,PADDRINFOW *ppResult); + +#define LPFN_GETADDRINFOA LPFN_GETADDRINFO + +#define LPFN_GETADDRINFOT __MINGW_NAME_AW(LPFN_GETADDRINFO) +#endif + +#define FreeAddrInfo __MINGW_NAME_AW(FreeAddrInfo) + + WINSOCK_API_LINKAGE void WSAAPI freeaddrinfo(LPADDRINFO pAddrInfo); + WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoW(PADDRINFOW pAddrInfo); + +#define FreeAddrInfoA freeaddrinfo + +#if INCL_WINSOCK_API_TYPEDEFS + typedef void (WSAAPI *LPFN_FREEADDRINFO)(struct addrinfo *ai); + typedef void (WSAAPI *LPFN_FREEADDRINFOW)(PADDRINFOW pAddrInfo); + +#define LPFN_FREEADDRINFOA LPFN_FREEADDRINFO + +#define LPFN_FREEADDRINFOT __MINGW_NAME_AW(LPFN_FREEADDRINFO) +#endif + + typedef int socklen_t; + +#define GetNameInfo __MINGW_NAME_AW(GetNameInfo) + + WINSOCK_API_LINKAGE int WSAAPI getnameinfo(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags); + WINSOCK_API_LINKAGE INT WSAAPI GetNameInfoW(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags); + +#define GetNameInfoA getnameinfo + +#if INCL_WINSOCK_API_TYPEDEFS + typedef int (WSAAPI *LPFN_GETNAMEINFO)(const struct sockaddr *sa,socklen_t salen,char *host,DWORD hostlen,char *serv,DWORD servlen,int flags); + typedef INT (WSAAPI *LPFN_GETNAMEINFOW)(const SOCKADDR *pSockaddr,socklen_t SockaddrLength,PWCHAR pNodeBuffer,DWORD NodeBufferSize,PWCHAR pServiceBuffer,DWORD ServiceBufferSize,INT Flags); + +#define LPFN_GETNAMEINFOA LPFN_GETNAMEINFO + +#define LPFN_GETNAMEINFOT __MINGW_NAME_AW(LPFN_GETNAMEINFO) +#endif + +#define gai_strerror __MINGW_NAME_AW(gai_strerror) + +#define GAI_STRERROR_BUFFER_SIZE 1024 + +char *gai_strerrorA (int); +WCHAR *gai_strerrorW(int); + +#define NI_MAXHOST 1025 +#define NI_MAXSERV 32 + +#define INET_ADDRSTRLEN 22 +#define INET6_ADDRSTRLEN 65 + +#define NI_NOFQDN 0x01 +#define NI_NUMERICHOST 0x02 +#define NI_NAMEREQD 0x04 +#define NI_NUMERICSERV 0x08 +#define NI_DGRAM 0x10 + +#include + +#if (_WIN32_WINNT >= 0x0600) +#define ADDRINFOEX __MINGW_NAME_AW(ADDRINFOEX) +#define PADDRINFOEX __MINGW_NAME_AW(PADDRINFOEX) +#define GetAddrInfoEx __MINGW_NAME_AW(GetAddrInfoEx) +#define SetAddrInfoEx __MINGW_NAME_AW(SetAddrInfoEx) + + typedef struct addrinfoexA { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + size_t ai_addrlen; + LPCSTR ai_canonname; + struct sockaddr *ai_addr; + void *ai_blob; + size_t ai_bloblen; + LPGUID ai_provider; + struct addrinfoexA *ai_next; + } ADDRINFOEXA, *PADDRINFOEXA; + + typedef struct addrinfoexW { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + size_t ai_addrlen; + LPCWSTR ai_canonname; + struct sockaddr *ai_addr; + void *ai_blob; + size_t ai_bloblen; + LPGUID ai_provider; + struct addrinfoexW *ai_next; + } ADDRINFOEXW, *PADDRINFOEXW; + + typedef void (CALLBACK * LPLOOKUPSERVICE_COMPLETION_ROUTINE)( + DWORD dwError, + DWORD dwBytes, + LPWSAOVERLAPPED lpOverlapped + ); + +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExA(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace, + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult, + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); +WINSOCK_API_LINKAGE int WSAAPI GetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace, + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult, + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExA(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses, + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace, + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); +WINSOCK_API_LINKAGE int WSAAPI SetAddrInfoExW(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses, + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace, + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoEx(PADDRINFOEXA pAddrInfo); +WINSOCK_API_LINKAGE void WSAAPI FreeAddrInfoExW(PADDRINFOEXW pAddrInfo); + +#define FreeAddrInfoExA FreeAddrInfoEx +#ifdef UNICODE +# define FreeAddrInfoEx FreeAddrInfoExW +#endif /* UNICODE */ + +#if INCL_WINSOCK_API_TYPEDEFS +#define LPFN_GETADDRINFOEX __MINGW_NAME_AW(LPFN_GETADDRINFOEX) + typedef int (WSAAPI *LPFN_GETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, DWORD dwNameSpace, + LPGUID lpNspId,const ADDRINFOEXA *pHints,PADDRINFOEXA *ppResult, + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + typedef int (WSAAPI *LPFN_GETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,DWORD dwNameSpace, + LPGUID lpNspId,const ADDRINFOEXW *pHints,PADDRINFOEXW *ppResult, + PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + +#define LPFN_SETADDRINFOEX __MINGW_NAME_AW(LPFN_SETADDRINFOEX) + typedef int (WSAAPI *LPFN_SETADDRINFOEXA)(PCSTR pName, PCSTR pServiceName, SOCKET_ADDRESS *pAddresses, + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace, + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + typedef int (WSAAPI *LPFN_SETADDRINFOEXW)(PCWSTR pName,PCWSTR pServiceName,SOCKET_ADDRESS *pAddresses, + DWORD dwAddressCount,LPBLOB lpBlob,DWORD dwFlags,DWORD dwNameSpace, + LPGUID lpNspId,PTIMEVAL timeout,LPOVERLAPPED lpOverlapped, + LPLOOKUPSERVICE_COMPLETION_ROUTINE lpCompletionRoutine, + LPHANDLE lpNameHandle); + +#define LPFN_FREEADDRINFOEX __MINGW_NAME_AW(LPFN_FREEADDRINFOEX) + typedef void (WSAAPI *LPFN_FREEADDRINFOEXA)(PADDRINFOEXA pAddrInfo); + typedef void (WSAAPI *LPFN_FREEADDRINFOEXW)(PADDRINFOEXW pAddrInfo); +#endif /* INCL_WINSOCK_API_TYPEDEFS */ + + +WINSOCK_API_LINKAGE int WSAAPI WSAImpersonateSocketPeer( + SOCKET Socket, + const struct sockaddr *PeerAddress, + ULONG peerAddressLen +); + +WINSOCK_API_LINKAGE int WSAAPI WSAQuerySocketSecurity( + SOCKET Socket, + const SOCKET_SECURITY_QUERY_TEMPLATE *SecurityQueryTemplate, + ULONG SecurityQueryTemplateLen, + SOCKET_SECURITY_QUERY_INFO *SecurityQueryInfo, + ULONG *SecurityQueryInfoLen, + LPWSAOVERLAPPED Overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine +); + +WINSOCK_API_LINKAGE int WSAAPI WSARevertImpersonation(void); + +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketPeerTargetName( + SOCKET Socket, + const SOCKET_PEER_TARGET_NAME *PeerTargetName, + ULONG PeerTargetNameLen, + LPWSAOVERLAPPED Overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine +); + +WINSOCK_API_LINKAGE int WSAAPI WSASetSocketSecurity( + SOCKET Socket, + const SOCKET_SECURITY_SETTINGS *SecuritySettings, + ULONG SecuritySettingsLen, + LPWSAOVERLAPPED Overlapped, + LPWSAOVERLAPPED_COMPLETION_ROUTINE CompletionRoutine +); + +#define InetNtopA inet_ntop + +WINSOCK_API_LINKAGE LPCWSTR WSAAPI InetNtopW(INT Family, LPCVOID pAddr, LPWSTR pStringBuf, size_t StringBufSIze); +WINSOCK_API_LINKAGE LPCSTR WSAAPI InetNtopA(INT Family, LPCVOID pAddr, LPSTR pStringBuf, size_t StringBufSize); + +#define InetNtop __MINGW_NAME_AW(InetNtop) + +#define InetPtonA inet_pton + +WINSOCK_API_LINKAGE INT WSAAPI InetPtonW(INT Family, LPCWSTR pStringBuf, PVOID pAddr); +WINSOCK_API_LINKAGE INT WSAAPI InetPtonA(INT Family, LPCSTR pStringBuf, PVOID pAddr); + +#define InetPton __MINGW_NAME_AW(InetPton) + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#ifdef __cplusplus +} +#endif + +#ifdef __LP64__ +#pragma pop_macro("u_long") +#endif + +#endif /* _WS2TCPIP_H_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wscapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wscapi.h new file mode 100644 index 00000000..d52fff4a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wscapi.h @@ -0,0 +1,47 @@ +/** + * 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 WSCAPI_H +#define WSCAPI_H + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#if _WIN32_WINNT >= 0x0600 +typedef enum _WSC_SECURITY_PROVIDER { + WSC_SECURITY_PROVIDER_FIREWALL = 0x1, + WSC_SECURITY_PROVIDER_AUTOUPDATE_SETTINGS = 0x2, + WSC_SECURITY_PROVIDER_ANTIVIRUS = 0x4, + WSC_SECURITY_PROVIDER_ANTISPYWARE = 0x8, + WSC_SECURITY_PROVIDER_INTERNET_SETTINGS = 0x10, + WSC_SECURITY_PROVIDER_USER_ACCOUNT_CONTROL = 0x20, + WSC_SECURITY_PROVIDER_SERVICE = 0x40, + WSC_SECURITY_PROVIDER_NONE = 0, + WSC_SECURITY_PROVIDER_ALL = WSC_SECURITY_PROVIDER_FIREWALL | WSC_SECURITY_PROVIDER_AUTOUPDATE_SETTINGS | WSC_SECURITY_PROVIDER_ANTIVIRUS | WSC_SECURITY_PROVIDER_ANTISPYWARE | WSC_SECURITY_PROVIDER_INTERNET_SETTINGS | WSC_SECURITY_PROVIDER_USER_ACCOUNT_CONTROL | WSC_SECURITY_PROVIDER_SERVICE +} WSC_SECURITY_PROVIDER, *PWSC_SECURITY_PROVIDER; + +typedef enum _WSC_SECURITY_PROVIDER_HEALTH { + WSC_SECURITY_PROVIDER_HEALTH_GOOD, + WSC_SECURITY_PROVIDER_HEALTH_NOTMONITORED, + WSC_SECURITY_PROVIDER_HEALTH_POOR, + WSC_SECURITY_PROVIDER_HEALTH_SNOOZE +} WSC_SECURITY_PROVIDER_HEALTH, *PWSC_SECURITY_PROVIDER_HEALTH; + +STDAPI WscRegisterForChanges(LPVOID Reserved, PHANDLE phCallbackRegistration, LPTHREAD_START_ROUTINE lpCallbackAddress, PVOID pContext); +STDAPI WscUnRegisterChanges(HANDLE hRegistrationHandle); +STDAPI WscRegisterForUserNotifications(void); +STDAPI WscGetSecurityProviderHealth(DWORD Providers, PWSC_SECURITY_PROVIDER_HEALTH pHealth); +HRESULT wscShowAMSCN(DWORD InputFlags, PDWORD pdwResultFlags); +HRESULT wscLaunchAdminMakeDefaultUI(PCWSTR pwszProductName); +STDAPI WscQueryAntiMalwareUri(void); +STDAPI WscGetAntiMalwareUri(LPWSTR *ppszUri); + +#endif /* _WIN32_WINNT >= 0x0600 */ + +#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ + +#endif /* WSCAPI_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdapi.h new file mode 100644 index 00000000..31c96c56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdapi.h @@ -0,0 +1,55 @@ +/** + * 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_WSDAPI +#define _INC_WSDAPI +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct IWSDAsyncResult IWSDAsyncResult; +typedef struct IWSDServiceProxy IWSDServiceProxy; +typedef struct IWSDEndpointProxy IWSDEndpointProxy; + +typedef struct IWSDMessageParameters IWSDMessageParameters; +typedef struct IWSDServiceMessaging IWSDServiceMessaging; + +typedef struct _WSD_EVENT WSD_EVENT; +typedef struct _WSD_SOAP_FAULT_SUBCODE WSD_SOAP_FAULT_SUBCODE; +typedef struct _WSD_LOCALIZED_STRING_LIST WSD_LOCALIZED_STRING_LIST; +typedef struct _WSD_URI_LIST WSD_URI_LIST; +typedef struct _WSD_NAME_LIST WSD_NAME_LIST; +typedef struct _WSD_SERVICE_METADATA_LIST WSD_SERVICE_METADATA_LIST; +typedef struct _WSD_PROBE_MATCH_LIST WSD_PROBE_MATCH_LIST; + +typedef struct _WSDXML_NAME WSDXML_NAME; +typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT; +typedef struct _WSDXML_NODE WSDXML_NODE; +typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE; +typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING; +typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST; +typedef struct _WSDXML_TYPE WSDXML_TYPE; +typedef struct _WSD_METADATA_SECTION_LIST WSD_METADATA_SECTION_LIST; +typedef struct _WSD_METADATA_SECTION WSD_METADATA_SECTION; +typedef struct _WSD_ENDPOINT_REFERENCE_LIST WSD_ENDPOINT_REFERENCE_LIST; + +#ifdef __cplusplus +} +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WSDAPI*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdattachment.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdattachment.h new file mode 100644 index 00000000..07fa5e6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdattachment.h @@ -0,0 +1,355 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsdattachment.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 __wsdattachment_h__ +#define __wsdattachment_h__ + +/* Forward declarations */ + +#ifndef __IWSDAttachment_FWD_DEFINED__ +#define __IWSDAttachment_FWD_DEFINED__ +typedef interface IWSDAttachment IWSDAttachment; +#ifdef __cplusplus +interface IWSDAttachment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDInboundAttachment_FWD_DEFINED__ +#define __IWSDInboundAttachment_FWD_DEFINED__ +typedef interface IWSDInboundAttachment IWSDInboundAttachment; +#ifdef __cplusplus +interface IWSDInboundAttachment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDOutboundAttachment_FWD_DEFINED__ +#define __IWSDOutboundAttachment_FWD_DEFINED__ +typedef interface IWSDOutboundAttachment IWSDOutboundAttachment; +#ifdef __cplusplus +interface IWSDOutboundAttachment; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef _INC_WSDAPI +#error Please include wsdapi.h instead of this header. This header cannot be used directly. +#endif + +#ifndef __IWSDAttachment_FWD_DEFINED__ +#define __IWSDAttachment_FWD_DEFINED__ +typedef interface IWSDAttachment IWSDAttachment; +#ifdef __cplusplus +interface IWSDAttachment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDInboundAttachment_FWD_DEFINED__ +#define __IWSDInboundAttachment_FWD_DEFINED__ +typedef interface IWSDInboundAttachment IWSDInboundAttachment; +#ifdef __cplusplus +interface IWSDInboundAttachment; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDOutboundAttachment_FWD_DEFINED__ +#define __IWSDOutboundAttachment_FWD_DEFINED__ +typedef interface IWSDOutboundAttachment IWSDOutboundAttachment; +#ifdef __cplusplus +interface IWSDOutboundAttachment; +#endif /* __cplusplus */ +#endif + + +/***************************************************************************** + * IWSDAttachment interface + */ +#ifndef __IWSDAttachment_INTERFACE_DEFINED__ +#define __IWSDAttachment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDAttachment, 0x5d55a616, 0x9df8, 0x4b09, 0xb1,0x56, 0x9b,0xa3,0x51,0xa4,0x8b,0x76); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5d55a616-9df8-4b09-b156-9ba351a48b76") +IWSDAttachment : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDAttachment, 0x5d55a616, 0x9df8, 0x4b09, 0xb1,0x56, 0x9b,0xa3,0x51,0xa4,0x8b,0x76) +#endif +#else +typedef struct IWSDAttachmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDAttachment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDAttachment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDAttachment *This); + + END_INTERFACE +} IWSDAttachmentVtbl; + +interface IWSDAttachment { + CONST_VTBL IWSDAttachmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDAttachment_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDAttachment_QueryInterface(IWSDAttachment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDAttachment_AddRef(IWSDAttachment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDAttachment_Release(IWSDAttachment* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWSDAttachment_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWSDInboundAttachment interface + */ +#ifndef __IWSDInboundAttachment_INTERFACE_DEFINED__ +#define __IWSDInboundAttachment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDInboundAttachment, 0x5bd6ca65, 0x233c, 0x4fb8, 0x9f,0x7a, 0x26,0x41,0x61,0x96,0x55,0xc9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5bd6ca65-233c-4fb8-9f7a-2641619655c9") +IWSDInboundAttachment : public IWSDAttachment +{ + virtual HRESULT STDMETHODCALLTYPE Read( + BYTE *pBuffer, + DWORD dwBytesToRead, + LPDWORD pdwNumberOfBytesRead) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDInboundAttachment, 0x5bd6ca65, 0x233c, 0x4fb8, 0x9f,0x7a, 0x26,0x41,0x61,0x96,0x55,0xc9) +#endif +#else +typedef struct IWSDInboundAttachmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDInboundAttachment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDInboundAttachment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDInboundAttachment *This); + + /*** IWSDInboundAttachment methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IWSDInboundAttachment *This, + BYTE *pBuffer, + DWORD dwBytesToRead, + LPDWORD pdwNumberOfBytesRead); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWSDInboundAttachment *This); + + END_INTERFACE +} IWSDInboundAttachmentVtbl; + +interface IWSDInboundAttachment { + CONST_VTBL IWSDInboundAttachmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDInboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDInboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDInboundAttachment_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDInboundAttachment methods ***/ +#define IWSDInboundAttachment_Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead) (This)->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead) +#define IWSDInboundAttachment_Close(This) (This)->lpVtbl->Close(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDInboundAttachment_QueryInterface(IWSDInboundAttachment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDInboundAttachment_AddRef(IWSDInboundAttachment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDInboundAttachment_Release(IWSDInboundAttachment* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDInboundAttachment methods ***/ +static inline HRESULT IWSDInboundAttachment_Read(IWSDInboundAttachment* This,BYTE *pBuffer,DWORD dwBytesToRead,LPDWORD pdwNumberOfBytesRead) { + return This->lpVtbl->Read(This,pBuffer,dwBytesToRead,pdwNumberOfBytesRead); +} +static inline HRESULT IWSDInboundAttachment_Close(IWSDInboundAttachment* This) { + return This->lpVtbl->Close(This); +} +#endif +#endif + +#endif + + +#endif /* __IWSDInboundAttachment_INTERFACE_DEFINED__ */ + + +/***************************************************************************** + * IWSDOutboundAttachment interface + */ +#ifndef __IWSDOutboundAttachment_INTERFACE_DEFINED__ +#define __IWSDOutboundAttachment_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDOutboundAttachment, 0xaa302f8d, 0x5a22, 0x4ba5, 0xb3,0x92, 0xaa,0x84,0x86,0xf4,0xc1,0x5d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aa302f8d-5a22-4ba5-b392-aa8486f4c15d") +IWSDOutboundAttachment : public IWSDAttachment +{ + virtual HRESULT STDMETHODCALLTYPE Write( + const BYTE *pBuffer, + DWORD dwBytesToWrite, + LPDWORD pdwNumberOfBytesWritten) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abort( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDOutboundAttachment, 0xaa302f8d, 0x5a22, 0x4ba5, 0xb3,0x92, 0xaa,0x84,0x86,0xf4,0xc1,0x5d) +#endif +#else +typedef struct IWSDOutboundAttachmentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDOutboundAttachment *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDOutboundAttachment *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDOutboundAttachment *This); + + /*** IWSDOutboundAttachment methods ***/ + HRESULT (STDMETHODCALLTYPE *Write)( + IWSDOutboundAttachment *This, + const BYTE *pBuffer, + DWORD dwBytesToWrite, + LPDWORD pdwNumberOfBytesWritten); + + HRESULT (STDMETHODCALLTYPE *Close)( + IWSDOutboundAttachment *This); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IWSDOutboundAttachment *This); + + END_INTERFACE +} IWSDOutboundAttachmentVtbl; + +interface IWSDOutboundAttachment { + CONST_VTBL IWSDOutboundAttachmentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDOutboundAttachment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDOutboundAttachment_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDOutboundAttachment_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDOutboundAttachment methods ***/ +#define IWSDOutboundAttachment_Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten) (This)->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten) +#define IWSDOutboundAttachment_Close(This) (This)->lpVtbl->Close(This) +#define IWSDOutboundAttachment_Abort(This) (This)->lpVtbl->Abort(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDOutboundAttachment_QueryInterface(IWSDOutboundAttachment* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDOutboundAttachment_AddRef(IWSDOutboundAttachment* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDOutboundAttachment_Release(IWSDOutboundAttachment* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDOutboundAttachment methods ***/ +static inline HRESULT IWSDOutboundAttachment_Write(IWSDOutboundAttachment* This,const BYTE *pBuffer,DWORD dwBytesToWrite,LPDWORD pdwNumberOfBytesWritten) { + return This->lpVtbl->Write(This,pBuffer,dwBytesToWrite,pdwNumberOfBytesWritten); +} +static inline HRESULT IWSDOutboundAttachment_Close(IWSDOutboundAttachment* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IWSDOutboundAttachment_Abort(IWSDOutboundAttachment* This) { + return This->lpVtbl->Abort(This); +} +#endif +#endif + +#endif + + +#endif /* __IWSDOutboundAttachment_INTERFACE_DEFINED__ */ + + +HRESULT WINAPI WSDCreateOutboundAttachment(IWSDOutboundAttachment **ppAttachment); +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsdattachment_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdbase.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdbase.h new file mode 100644 index 00000000..7e98ef72 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdbase.h @@ -0,0 +1,1689 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsdbase.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 __wsdbase_h__ +#define __wsdbase_h__ + +/* Forward declarations */ + +#ifndef __IWSDAddress_FWD_DEFINED__ +#define __IWSDAddress_FWD_DEFINED__ +typedef interface IWSDAddress IWSDAddress; +#ifdef __cplusplus +interface IWSDAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDTransportAddress_FWD_DEFINED__ +#define __IWSDTransportAddress_FWD_DEFINED__ +typedef interface IWSDTransportAddress IWSDTransportAddress; +#ifdef __cplusplus +interface IWSDTransportAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDMessageParameters_FWD_DEFINED__ +#define __IWSDMessageParameters_FWD_DEFINED__ +typedef interface IWSDMessageParameters IWSDMessageParameters; +#ifdef __cplusplus +interface IWSDMessageParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDUdpMessageParameters_FWD_DEFINED__ +#define __IWSDUdpMessageParameters_FWD_DEFINED__ +typedef interface IWSDUdpMessageParameters IWSDUdpMessageParameters; +#ifdef __cplusplus +interface IWSDUdpMessageParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDUdpAddress_FWD_DEFINED__ +#define __IWSDUdpAddress_FWD_DEFINED__ +typedef interface IWSDUdpAddress IWSDUdpAddress; +#ifdef __cplusplus +interface IWSDUdpAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDHttpMessageParameters_FWD_DEFINED__ +#define __IWSDHttpMessageParameters_FWD_DEFINED__ +typedef interface IWSDHttpMessageParameters IWSDHttpMessageParameters; +#ifdef __cplusplus +interface IWSDHttpMessageParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDHttpAddress_FWD_DEFINED__ +#define __IWSDHttpAddress_FWD_DEFINED__ +typedef interface IWSDHttpAddress IWSDHttpAddress; +#ifdef __cplusplus +interface IWSDHttpAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDSSLClientCertificate_FWD_DEFINED__ +#define __IWSDSSLClientCertificate_FWD_DEFINED__ +typedef interface IWSDSSLClientCertificate IWSDSSLClientCertificate; +#ifdef __cplusplus +interface IWSDSSLClientCertificate; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDHttpAuthParameters_FWD_DEFINED__ +#define __IWSDHttpAuthParameters_FWD_DEFINED__ +typedef interface IWSDHttpAuthParameters IWSDHttpAuthParameters; +#ifdef __cplusplus +interface IWSDHttpAuthParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDSignatureProperty_FWD_DEFINED__ +#define __IWSDSignatureProperty_FWD_DEFINED__ +typedef interface IWSDSignatureProperty IWSDSignatureProperty; +#ifdef __cplusplus +interface IWSDSignatureProperty; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef __IWSDAddress_FWD_DEFINED__ +#define __IWSDAddress_FWD_DEFINED__ +typedef interface IWSDAddress IWSDAddress; +#ifdef __cplusplus +interface IWSDAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDMessageParameters_FWD_DEFINED__ +#define __IWSDMessageParameters_FWD_DEFINED__ +typedef interface IWSDMessageParameters IWSDMessageParameters; +#ifdef __cplusplus +interface IWSDMessageParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDUdpAddress_FWD_DEFINED__ +#define __IWSDUdpAddress_FWD_DEFINED__ +typedef interface IWSDUdpAddress IWSDUdpAddress; +#ifdef __cplusplus +interface IWSDUdpAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDUdpMessageParameters_FWD_DEFINED__ +#define __IWSDUdpMessageParameters_FWD_DEFINED__ +typedef interface IWSDUdpMessageParameters IWSDUdpMessageParameters; +#ifdef __cplusplus +interface IWSDUdpMessageParameters; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDHttpAddress_FWD_DEFINED__ +#define __IWSDHttpAddress_FWD_DEFINED__ +typedef interface IWSDHttpAddress IWSDHttpAddress; +#ifdef __cplusplus +interface IWSDHttpAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDHttpMessageParameters_FWD_DEFINED__ +#define __IWSDHttpMessageParameters_FWD_DEFINED__ +typedef interface IWSDHttpMessageParameters IWSDHttpMessageParameters; +#ifdef __cplusplus +interface IWSDHttpMessageParameters; +#endif /* __cplusplus */ +#endif + + +#if WINVER >= 0x601 +typedef enum __WIDL_wsdbase_generated_name_00000015 { + WSD_CONFIG_MAX_INBOUND_MESSAGE_SIZE = 1, + WSD_CONFIG_MAX_OUTBOUND_MESSAGE_SIZE = 2, + WSD_SECURITY_SSL_CERT_FOR_CLIENT_AUTH = 3, + WSD_SECURITY_SSL_SERVER_CERT_VALIDATION = 4, + WSD_SECURITY_SSL_CLIENT_CERT_VALIDATION = 5, + WSD_SECURITY_SSL_NEGOTIATE_CLIENT_CERT = 6, + WSD_SECURITY_COMPACTSIG_SIGNING_CERT = 7, + WSD_SECURITY_COMPACTSIG_VALIDATION = 8, + WSD_CONFIG_HOSTING_ADDRESSES = 9, + WSD_CONFIG_DEVICE_ADDRESSES = 10, + WSD_SECURITY_REQUIRE_HTTP_CLIENT_AUTH = 11, + WSD_SECURITY_REQUIRE_CLIENT_CERT_OR_HTTP_CLIENT_AUTH = 12, + WSD_SECURITY_USE_HTTP_CLIENT_AUTH = 13 +} WSD_CONFIG_PARAM_TYPE; +typedef struct _WSD_CONFIG_PARAM { + WSD_CONFIG_PARAM_TYPE configParamType; + PVOID pConfigData; + DWORD dwConfigDataSize; +} WSD_CONFIG_PARAM; +typedef struct _WSD_CONFIG_PARAM *PWSD_CONFIG_PARAM; +typedef struct _WSD_SECURITY_CERT_VALIDATION_V1 { + PCCERT_CONTEXT *certMatchArray; + DWORD dwCertMatchArrayCount; + HCERTSTORE hCertMatchStore; + HCERTSTORE hCertIssuerStore; + DWORD dwCertCheckOptions; +} WSD_SECURITY_CERT_VALIDATION_V1; +#if _WIN32_WINNT >= 0x602 +typedef struct _WSD_SECURITY_CERT_VALIDATION { + PCCERT_CONTEXT *certMatchArray; + DWORD dwCertMatchArrayCount; + HCERTSTORE hCertMatchStore; + HCERTSTORE hCertIssuerStore; + DWORD dwCertCheckOptions; + LPCWSTR pszCNGHashAlgId; + BYTE *pbCertHash; + DWORD dwCertHashSize; +} WSD_SECURITY_CERT_VALIDATION; +#else +typedef WSD_SECURITY_CERT_VALIDATION_V1 WSD_SECURITY_CERT_VALIDATION; +#endif + +typedef WSD_SECURITY_CERT_VALIDATION *PWSD_SECURITY_CERT_VALIDATION; +typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION { + PCCERT_CONTEXT *signingCertArray; + DWORD dwSigningCertArrayCount; + HCERTSTORE hSigningCertStore; + DWORD dwFlags; +} WSD_SECURITY_SIGNATURE_VALIDATION; +typedef struct _WSD_SECURITY_SIGNATURE_VALIDATION *PWSD_SECURITY_SIGNATURE_VALIDATION; +typedef DWORD WSD_SECURITY_HTTP_AUTH_SCHEMES; +typedef DWORD *PWSD_SECURITY_HTTP_AUTH_SCHEMES; + +#define WSDAPI_SSL_CERT_APPLY_DEFAULT_CHECKS 0x0 +#define WSDAPI_SSL_CERT_IGNORE_REVOCATION 0x1 +#define WSDAPI_SSL_CERT_IGNORE_EXPIRY 0x2 +#define WSDAPI_SSL_CERT_IGNORE_WRONG_USAGE 0x4 +#define WSDAPI_SSL_CERT_IGNORE_UNKNOWN_CA 0x8 +#define WSDAPI_SSL_CERT_IGNORE_INVALID_CN 0x10 + +#define WSDAPI_COMPACTSIG_ACCEPT_ALL_MESSAGES 0x1 + +#define WSD_SECURITY_HTTP_AUTH_SCHEME_NEGOTIATE 0x1 +#define WSD_SECURITY_HTTP_AUTH_SCHEME_NTLM 0x2 + +typedef struct _WSD_CONFIG_ADDRESSES { + IWSDAddress **addresses; + DWORD dwAddressCount; +} WSD_CONFIG_ADDRESSES; +typedef struct _WSD_CONFIG_ADDRESSES *PWSD_CONFIG_ADDRESSES; +#endif +#define WSDAPI_ADDRESSFAMILY_IPV4 1 +#define WSDAPI_ADDRESSFAMILY_IPV6 2 +/***************************************************************************** + * IWSDAddress interface + */ +#ifndef __IWSDAddress_INTERFACE_DEFINED__ +#define __IWSDAddress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDAddress, 0xb9574c6c, 0x12a6, 0x4f74, 0x93,0xa1, 0x33,0x18,0xff,0x60,0x57,0x59); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b9574c6c-12a6-4f74-93a1-3318ff605759") +IWSDAddress : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Serialize( + LPWSTR pszBuffer, + DWORD cchLength, + WINBOOL fSafe) = 0; + + virtual HRESULT STDMETHODCALLTYPE Deserialize( + LPCWSTR pszBuffer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDAddress, 0xb9574c6c, 0x12a6, 0x4f74, 0x93,0xa1, 0x33,0x18,0xff,0x60,0x57,0x59) +#endif +#else +typedef struct IWSDAddressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDAddress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDAddress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDAddress *This); + + /*** IWSDAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *Serialize)( + IWSDAddress *This, + LPWSTR pszBuffer, + DWORD cchLength, + WINBOOL fSafe); + + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IWSDAddress *This, + LPCWSTR pszBuffer); + + END_INTERFACE +} IWSDAddressVtbl; + +interface IWSDAddress { + CONST_VTBL IWSDAddressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDAddress_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAddress methods ***/ +#define IWSDAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe) +#define IWSDAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDAddress_QueryInterface(IWSDAddress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDAddress_AddRef(IWSDAddress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDAddress_Release(IWSDAddress* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAddress methods ***/ +static inline HRESULT IWSDAddress_Serialize(IWSDAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) { + return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe); +} +static inline HRESULT IWSDAddress_Deserialize(IWSDAddress* This,LPCWSTR pszBuffer) { + return This->lpVtbl->Deserialize(This,pszBuffer); +} +#endif +#endif + +#endif + + +#endif /* __IWSDAddress_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDTransportAddress interface + */ +#ifndef __IWSDTransportAddress_INTERFACE_DEFINED__ +#define __IWSDTransportAddress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDTransportAddress, 0x70d23498, 0x4ee6, 0x4340, 0xa3,0xdf, 0xd8,0x45,0xd2,0x23,0x54,0x67); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("70d23498-4ee6-4340-a3df-d845d2235467") +IWSDTransportAddress : public IWSDAddress +{ + virtual HRESULT STDMETHODCALLTYPE GetPort( + WORD *pwPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPort( + WORD wPort) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransportAddress( + LPCWSTR *ppszAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransportAddressEx( + WINBOOL fSafe, + LPCWSTR *ppszAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransportAddress( + LPCWSTR pszAddress) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDTransportAddress, 0x70d23498, 0x4ee6, 0x4340, 0xa3,0xdf, 0xd8,0x45,0xd2,0x23,0x54,0x67) +#endif +#else +typedef struct IWSDTransportAddressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDTransportAddress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDTransportAddress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDTransportAddress *This); + + /*** IWSDAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *Serialize)( + IWSDTransportAddress *This, + LPWSTR pszBuffer, + DWORD cchLength, + WINBOOL fSafe); + + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IWSDTransportAddress *This, + LPCWSTR pszBuffer); + + /*** IWSDTransportAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPort)( + IWSDTransportAddress *This, + WORD *pwPort); + + HRESULT (STDMETHODCALLTYPE *SetPort)( + IWSDTransportAddress *This, + WORD wPort); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddress)( + IWSDTransportAddress *This, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)( + IWSDTransportAddress *This, + WINBOOL fSafe, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *SetTransportAddress)( + IWSDTransportAddress *This, + LPCWSTR pszAddress); + + END_INTERFACE +} IWSDTransportAddressVtbl; + +interface IWSDTransportAddress { + CONST_VTBL IWSDTransportAddressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDTransportAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDTransportAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDTransportAddress_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAddress methods ***/ +#define IWSDTransportAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe) +#define IWSDTransportAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer) +/*** IWSDTransportAddress methods ***/ +#define IWSDTransportAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort) +#define IWSDTransportAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort) +#define IWSDTransportAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress) +#define IWSDTransportAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress) +#define IWSDTransportAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDTransportAddress_QueryInterface(IWSDTransportAddress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDTransportAddress_AddRef(IWSDTransportAddress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDTransportAddress_Release(IWSDTransportAddress* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAddress methods ***/ +static inline HRESULT IWSDTransportAddress_Serialize(IWSDTransportAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) { + return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe); +} +static inline HRESULT IWSDTransportAddress_Deserialize(IWSDTransportAddress* This,LPCWSTR pszBuffer) { + return This->lpVtbl->Deserialize(This,pszBuffer); +} +/*** IWSDTransportAddress methods ***/ +static inline HRESULT IWSDTransportAddress_GetPort(IWSDTransportAddress* This,WORD *pwPort) { + return This->lpVtbl->GetPort(This,pwPort); +} +static inline HRESULT IWSDTransportAddress_SetPort(IWSDTransportAddress* This,WORD wPort) { + return This->lpVtbl->SetPort(This,wPort); +} +static inline HRESULT IWSDTransportAddress_GetTransportAddress(IWSDTransportAddress* This,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddress(This,ppszAddress); +} +static inline HRESULT IWSDTransportAddress_GetTransportAddressEx(IWSDTransportAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress); +} +static inline HRESULT IWSDTransportAddress_SetTransportAddress(IWSDTransportAddress* This,LPCWSTR pszAddress) { + return This->lpVtbl->SetTransportAddress(This,pszAddress); +} +#endif +#endif + +#endif + + +#endif /* __IWSDTransportAddress_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDMessageParameters interface + */ +#ifndef __IWSDMessageParameters_INTERFACE_DEFINED__ +#define __IWSDMessageParameters_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDMessageParameters, 0x1fafe8a2, 0xe6fc, 0x4b80, 0xb6,0xcf, 0xb7,0xd4,0x5c,0x41,0x6d,0x7c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1fafe8a2-e6fc-4b80-b6cf-b7d45c416d7c") +IWSDMessageParameters : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetLocalAddress( + IWSDAddress **ppAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLocalAddress( + IWSDAddress *pAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRemoteAddress( + IWSDAddress **ppAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRemoteAddress( + IWSDAddress *pAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLowerParameters( + IWSDMessageParameters **ppTxParams) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDMessageParameters, 0x1fafe8a2, 0xe6fc, 0x4b80, 0xb6,0xcf, 0xb7,0xd4,0x5c,0x41,0x6d,0x7c) +#endif +#else +typedef struct IWSDMessageParametersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDMessageParameters *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDMessageParameters *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDMessageParameters *This); + + /*** IWSDMessageParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLocalAddress)( + IWSDMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetLocalAddress)( + IWSDMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)( + IWSDMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)( + IWSDMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetLowerParameters)( + IWSDMessageParameters *This, + IWSDMessageParameters **ppTxParams); + + END_INTERFACE +} IWSDMessageParametersVtbl; + +interface IWSDMessageParameters { + CONST_VTBL IWSDMessageParametersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDMessageParameters_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMessageParameters methods ***/ +#define IWSDMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress) +#define IWSDMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress) +#define IWSDMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress) +#define IWSDMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress) +#define IWSDMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDMessageParameters_QueryInterface(IWSDMessageParameters* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDMessageParameters_AddRef(IWSDMessageParameters* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDMessageParameters_Release(IWSDMessageParameters* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMessageParameters methods ***/ +static inline HRESULT IWSDMessageParameters_GetLocalAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetLocalAddress(This,ppAddress); +} +static inline HRESULT IWSDMessageParameters_SetLocalAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetLocalAddress(This,pAddress); +} +static inline HRESULT IWSDMessageParameters_GetRemoteAddress(IWSDMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetRemoteAddress(This,ppAddress); +} +static inline HRESULT IWSDMessageParameters_SetRemoteAddress(IWSDMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetRemoteAddress(This,pAddress); +} +static inline HRESULT IWSDMessageParameters_GetLowerParameters(IWSDMessageParameters* This,IWSDMessageParameters **ppTxParams) { + return This->lpVtbl->GetLowerParameters(This,ppTxParams); +} +#endif +#endif + +#endif + + +#endif /* __IWSDMessageParameters_INTERFACE_DEFINED__ */ + +HRESULT WINAPI +WSDCreateUdpMessageParameters( +IWSDUdpMessageParameters** ppTxParams); +typedef struct _WSDUdpRetransmitParams { + ULONG ulSendDelay; + ULONG ulRepeat; + ULONG ulRepeatMinDelay; + ULONG ulRepeatMaxDelay; + ULONG ulRepeatUpperDelay; +} WSDUdpRetransmitParams; +/***************************************************************************** + * IWSDUdpMessageParameters interface + */ +#ifndef __IWSDUdpMessageParameters_INTERFACE_DEFINED__ +#define __IWSDUdpMessageParameters_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDUdpMessageParameters, 0x9934149f, 0x8f0c, 0x447b, 0xaa,0x0b, 0x73,0x12,0x4b,0x0c,0xa7,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9934149f-8f0c-447b-aa0b-73124b0ca7f0") +IWSDUdpMessageParameters : public IWSDMessageParameters +{ + virtual HRESULT STDMETHODCALLTYPE SetRetransmitParams( + const WSDUdpRetransmitParams *pParams) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRetransmitParams( + WSDUdpRetransmitParams *pParams) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDUdpMessageParameters, 0x9934149f, 0x8f0c, 0x447b, 0xaa,0x0b, 0x73,0x12,0x4b,0x0c,0xa7,0xf0) +#endif +#else +typedef struct IWSDUdpMessageParametersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDUdpMessageParameters *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDUdpMessageParameters *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDUdpMessageParameters *This); + + /*** IWSDMessageParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLocalAddress)( + IWSDUdpMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetLocalAddress)( + IWSDUdpMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)( + IWSDUdpMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)( + IWSDUdpMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetLowerParameters)( + IWSDUdpMessageParameters *This, + IWSDMessageParameters **ppTxParams); + + /*** IWSDUdpMessageParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *SetRetransmitParams)( + IWSDUdpMessageParameters *This, + const WSDUdpRetransmitParams *pParams); + + HRESULT (STDMETHODCALLTYPE *GetRetransmitParams)( + IWSDUdpMessageParameters *This, + WSDUdpRetransmitParams *pParams); + + END_INTERFACE +} IWSDUdpMessageParametersVtbl; + +interface IWSDUdpMessageParameters { + CONST_VTBL IWSDUdpMessageParametersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDUdpMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDUdpMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDUdpMessageParameters_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMessageParameters methods ***/ +#define IWSDUdpMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress) +#define IWSDUdpMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress) +#define IWSDUdpMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress) +#define IWSDUdpMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress) +#define IWSDUdpMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams) +/*** IWSDUdpMessageParameters methods ***/ +#define IWSDUdpMessageParameters_SetRetransmitParams(This,pParams) (This)->lpVtbl->SetRetransmitParams(This,pParams) +#define IWSDUdpMessageParameters_GetRetransmitParams(This,pParams) (This)->lpVtbl->GetRetransmitParams(This,pParams) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDUdpMessageParameters_QueryInterface(IWSDUdpMessageParameters* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDUdpMessageParameters_AddRef(IWSDUdpMessageParameters* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDUdpMessageParameters_Release(IWSDUdpMessageParameters* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMessageParameters methods ***/ +static inline HRESULT IWSDUdpMessageParameters_GetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetLocalAddress(This,ppAddress); +} +static inline HRESULT IWSDUdpMessageParameters_SetLocalAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetLocalAddress(This,pAddress); +} +static inline HRESULT IWSDUdpMessageParameters_GetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetRemoteAddress(This,ppAddress); +} +static inline HRESULT IWSDUdpMessageParameters_SetRemoteAddress(IWSDUdpMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetRemoteAddress(This,pAddress); +} +static inline HRESULT IWSDUdpMessageParameters_GetLowerParameters(IWSDUdpMessageParameters* This,IWSDMessageParameters **ppTxParams) { + return This->lpVtbl->GetLowerParameters(This,ppTxParams); +} +/*** IWSDUdpMessageParameters methods ***/ +static inline HRESULT IWSDUdpMessageParameters_SetRetransmitParams(IWSDUdpMessageParameters* This,const WSDUdpRetransmitParams *pParams) { + return This->lpVtbl->SetRetransmitParams(This,pParams); +} +static inline HRESULT IWSDUdpMessageParameters_GetRetransmitParams(IWSDUdpMessageParameters* This,WSDUdpRetransmitParams *pParams) { + return This->lpVtbl->GetRetransmitParams(This,pParams); +} +#endif +#endif + +#endif + + +#endif /* __IWSDUdpMessageParameters_INTERFACE_DEFINED__ */ + +HRESULT WINAPI +WSDCreateUdpAddress( + IWSDUdpAddress** ppAddress); +#if 1 + +#ifndef __CSADDR_DEFINED__ +struct SOCKADDR_STORAGE; +#endif +#else +typedef void SOCKADDR_STORAGE; +#endif +typedef enum _WSDUdpMessageType { + ONE_WAY = 0, + TWO_WAY = 1 +} WSDUdpMessageType; +/***************************************************************************** + * IWSDUdpAddress interface + */ +#ifndef __IWSDUdpAddress_INTERFACE_DEFINED__ +#define __IWSDUdpAddress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDUdpAddress, 0x74d6124a, 0xa441, 0x4f78, 0xa1,0xeb, 0x97,0xa8,0xd1,0x99,0x68,0x93); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("74d6124a-a441-4f78-a1eb-97a8d1996893") +IWSDUdpAddress : public IWSDTransportAddress +{ + virtual HRESULT STDMETHODCALLTYPE SetSockaddr( + const SOCKADDR_STORAGE *pSockAddr) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSockaddr( + SOCKADDR_STORAGE *pSockAddr) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetExclusive( + WINBOOL fExclusive) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExclusive( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMessageType( + WSDUdpMessageType messageType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMessageType( + WSDUdpMessageType *pMessageType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTTL( + DWORD dwTTL) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTTL( + DWORD *pdwTTL) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAlias( + const GUID *pAlias) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAlias( + GUID *pAlias) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDUdpAddress, 0x74d6124a, 0xa441, 0x4f78, 0xa1,0xeb, 0x97,0xa8,0xd1,0x99,0x68,0x93) +#endif +#else +typedef struct IWSDUdpAddressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDUdpAddress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDUdpAddress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDUdpAddress *This); + + /*** IWSDAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *Serialize)( + IWSDUdpAddress *This, + LPWSTR pszBuffer, + DWORD cchLength, + WINBOOL fSafe); + + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IWSDUdpAddress *This, + LPCWSTR pszBuffer); + + /*** IWSDTransportAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPort)( + IWSDUdpAddress *This, + WORD *pwPort); + + HRESULT (STDMETHODCALLTYPE *SetPort)( + IWSDUdpAddress *This, + WORD wPort); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddress)( + IWSDUdpAddress *This, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)( + IWSDUdpAddress *This, + WINBOOL fSafe, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *SetTransportAddress)( + IWSDUdpAddress *This, + LPCWSTR pszAddress); + + /*** IWSDUdpAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *SetSockaddr)( + IWSDUdpAddress *This, + const SOCKADDR_STORAGE *pSockAddr); + + HRESULT (STDMETHODCALLTYPE *GetSockaddr)( + IWSDUdpAddress *This, + SOCKADDR_STORAGE *pSockAddr); + + HRESULT (STDMETHODCALLTYPE *SetExclusive)( + IWSDUdpAddress *This, + WINBOOL fExclusive); + + HRESULT (STDMETHODCALLTYPE *GetExclusive)( + IWSDUdpAddress *This); + + HRESULT (STDMETHODCALLTYPE *SetMessageType)( + IWSDUdpAddress *This, + WSDUdpMessageType messageType); + + HRESULT (STDMETHODCALLTYPE *GetMessageType)( + IWSDUdpAddress *This, + WSDUdpMessageType *pMessageType); + + HRESULT (STDMETHODCALLTYPE *SetTTL)( + IWSDUdpAddress *This, + DWORD dwTTL); + + HRESULT (STDMETHODCALLTYPE *GetTTL)( + IWSDUdpAddress *This, + DWORD *pdwTTL); + + HRESULT (STDMETHODCALLTYPE *SetAlias)( + IWSDUdpAddress *This, + const GUID *pAlias); + + HRESULT (STDMETHODCALLTYPE *GetAlias)( + IWSDUdpAddress *This, + GUID *pAlias); + + END_INTERFACE +} IWSDUdpAddressVtbl; + +interface IWSDUdpAddress { + CONST_VTBL IWSDUdpAddressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDUdpAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDUdpAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDUdpAddress_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAddress methods ***/ +#define IWSDUdpAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe) +#define IWSDUdpAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer) +/*** IWSDTransportAddress methods ***/ +#define IWSDUdpAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort) +#define IWSDUdpAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort) +#define IWSDUdpAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress) +#define IWSDUdpAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress) +#define IWSDUdpAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress) +/*** IWSDUdpAddress methods ***/ +#define IWSDUdpAddress_SetSockaddr(This,pSockAddr) (This)->lpVtbl->SetSockaddr(This,pSockAddr) +#define IWSDUdpAddress_GetSockaddr(This,pSockAddr) (This)->lpVtbl->GetSockaddr(This,pSockAddr) +#define IWSDUdpAddress_SetExclusive(This,fExclusive) (This)->lpVtbl->SetExclusive(This,fExclusive) +#define IWSDUdpAddress_GetExclusive(This) (This)->lpVtbl->GetExclusive(This) +#define IWSDUdpAddress_SetMessageType(This,messageType) (This)->lpVtbl->SetMessageType(This,messageType) +#define IWSDUdpAddress_GetMessageType(This,pMessageType) (This)->lpVtbl->GetMessageType(This,pMessageType) +#define IWSDUdpAddress_SetTTL(This,dwTTL) (This)->lpVtbl->SetTTL(This,dwTTL) +#define IWSDUdpAddress_GetTTL(This,pdwTTL) (This)->lpVtbl->GetTTL(This,pdwTTL) +#define IWSDUdpAddress_SetAlias(This,pAlias) (This)->lpVtbl->SetAlias(This,pAlias) +#define IWSDUdpAddress_GetAlias(This,pAlias) (This)->lpVtbl->GetAlias(This,pAlias) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDUdpAddress_QueryInterface(IWSDUdpAddress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDUdpAddress_AddRef(IWSDUdpAddress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDUdpAddress_Release(IWSDUdpAddress* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAddress methods ***/ +static inline HRESULT IWSDUdpAddress_Serialize(IWSDUdpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) { + return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe); +} +static inline HRESULT IWSDUdpAddress_Deserialize(IWSDUdpAddress* This,LPCWSTR pszBuffer) { + return This->lpVtbl->Deserialize(This,pszBuffer); +} +/*** IWSDTransportAddress methods ***/ +static inline HRESULT IWSDUdpAddress_GetPort(IWSDUdpAddress* This,WORD *pwPort) { + return This->lpVtbl->GetPort(This,pwPort); +} +static inline HRESULT IWSDUdpAddress_SetPort(IWSDUdpAddress* This,WORD wPort) { + return This->lpVtbl->SetPort(This,wPort); +} +static inline HRESULT IWSDUdpAddress_GetTransportAddress(IWSDUdpAddress* This,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddress(This,ppszAddress); +} +static inline HRESULT IWSDUdpAddress_GetTransportAddressEx(IWSDUdpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress); +} +static inline HRESULT IWSDUdpAddress_SetTransportAddress(IWSDUdpAddress* This,LPCWSTR pszAddress) { + return This->lpVtbl->SetTransportAddress(This,pszAddress); +} +/*** IWSDUdpAddress methods ***/ +static inline HRESULT IWSDUdpAddress_SetSockaddr(IWSDUdpAddress* This,const SOCKADDR_STORAGE *pSockAddr) { + return This->lpVtbl->SetSockaddr(This,pSockAddr); +} +static inline HRESULT IWSDUdpAddress_GetSockaddr(IWSDUdpAddress* This,SOCKADDR_STORAGE *pSockAddr) { + return This->lpVtbl->GetSockaddr(This,pSockAddr); +} +static inline HRESULT IWSDUdpAddress_SetExclusive(IWSDUdpAddress* This,WINBOOL fExclusive) { + return This->lpVtbl->SetExclusive(This,fExclusive); +} +static inline HRESULT IWSDUdpAddress_GetExclusive(IWSDUdpAddress* This) { + return This->lpVtbl->GetExclusive(This); +} +static inline HRESULT IWSDUdpAddress_SetMessageType(IWSDUdpAddress* This,WSDUdpMessageType messageType) { + return This->lpVtbl->SetMessageType(This,messageType); +} +static inline HRESULT IWSDUdpAddress_GetMessageType(IWSDUdpAddress* This,WSDUdpMessageType *pMessageType) { + return This->lpVtbl->GetMessageType(This,pMessageType); +} +static inline HRESULT IWSDUdpAddress_SetTTL(IWSDUdpAddress* This,DWORD dwTTL) { + return This->lpVtbl->SetTTL(This,dwTTL); +} +static inline HRESULT IWSDUdpAddress_GetTTL(IWSDUdpAddress* This,DWORD *pdwTTL) { + return This->lpVtbl->GetTTL(This,pdwTTL); +} +static inline HRESULT IWSDUdpAddress_SetAlias(IWSDUdpAddress* This,const GUID *pAlias) { + return This->lpVtbl->SetAlias(This,pAlias); +} +static inline HRESULT IWSDUdpAddress_GetAlias(IWSDUdpAddress* This,GUID *pAlias) { + return This->lpVtbl->GetAlias(This,pAlias); +} +#endif +#endif + +#endif + + +#endif /* __IWSDUdpAddress_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDHttpMessageParameters interface + */ +#ifndef __IWSDHttpMessageParameters_INTERFACE_DEFINED__ +#define __IWSDHttpMessageParameters_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDHttpMessageParameters, 0x540bd122, 0x5c83, 0x4dec, 0xb3,0x96, 0xea,0x62,0xa2,0x69,0x7f,0xdf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("540bd122-5c83-4dec-b396-ea62a2697fdf") +IWSDHttpMessageParameters : public IWSDMessageParameters +{ + virtual HRESULT STDMETHODCALLTYPE SetInboundHttpHeaders( + LPCWSTR pszHeaders) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInboundHttpHeaders( + LPCWSTR *ppszHeaders) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutboundHttpHeaders( + LPCWSTR pszHeaders) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOutboundHttpHeaders( + LPCWSTR *ppszHeaders) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetID( + LPCWSTR pszId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetID( + LPCWSTR *ppszId) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContext( + IUnknown *pContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContext( + IUnknown **ppContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDHttpMessageParameters, 0x540bd122, 0x5c83, 0x4dec, 0xb3,0x96, 0xea,0x62,0xa2,0x69,0x7f,0xdf) +#endif +#else +typedef struct IWSDHttpMessageParametersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDHttpMessageParameters *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDHttpMessageParameters *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDHttpMessageParameters *This); + + /*** IWSDMessageParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *GetLocalAddress)( + IWSDHttpMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetLocalAddress)( + IWSDHttpMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetRemoteAddress)( + IWSDHttpMessageParameters *This, + IWSDAddress **ppAddress); + + HRESULT (STDMETHODCALLTYPE *SetRemoteAddress)( + IWSDHttpMessageParameters *This, + IWSDAddress *pAddress); + + HRESULT (STDMETHODCALLTYPE *GetLowerParameters)( + IWSDHttpMessageParameters *This, + IWSDMessageParameters **ppTxParams); + + /*** IWSDHttpMessageParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *SetInboundHttpHeaders)( + IWSDHttpMessageParameters *This, + LPCWSTR pszHeaders); + + HRESULT (STDMETHODCALLTYPE *GetInboundHttpHeaders)( + IWSDHttpMessageParameters *This, + LPCWSTR *ppszHeaders); + + HRESULT (STDMETHODCALLTYPE *SetOutboundHttpHeaders)( + IWSDHttpMessageParameters *This, + LPCWSTR pszHeaders); + + HRESULT (STDMETHODCALLTYPE *GetOutboundHttpHeaders)( + IWSDHttpMessageParameters *This, + LPCWSTR *ppszHeaders); + + HRESULT (STDMETHODCALLTYPE *SetID)( + IWSDHttpMessageParameters *This, + LPCWSTR pszId); + + HRESULT (STDMETHODCALLTYPE *GetID)( + IWSDHttpMessageParameters *This, + LPCWSTR *ppszId); + + HRESULT (STDMETHODCALLTYPE *SetContext)( + IWSDHttpMessageParameters *This, + IUnknown *pContext); + + HRESULT (STDMETHODCALLTYPE *GetContext)( + IWSDHttpMessageParameters *This, + IUnknown **ppContext); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IWSDHttpMessageParameters *This); + + END_INTERFACE +} IWSDHttpMessageParametersVtbl; + +interface IWSDHttpMessageParameters { + CONST_VTBL IWSDHttpMessageParametersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDHttpMessageParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDHttpMessageParameters_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDHttpMessageParameters_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMessageParameters methods ***/ +#define IWSDHttpMessageParameters_GetLocalAddress(This,ppAddress) (This)->lpVtbl->GetLocalAddress(This,ppAddress) +#define IWSDHttpMessageParameters_SetLocalAddress(This,pAddress) (This)->lpVtbl->SetLocalAddress(This,pAddress) +#define IWSDHttpMessageParameters_GetRemoteAddress(This,ppAddress) (This)->lpVtbl->GetRemoteAddress(This,ppAddress) +#define IWSDHttpMessageParameters_SetRemoteAddress(This,pAddress) (This)->lpVtbl->SetRemoteAddress(This,pAddress) +#define IWSDHttpMessageParameters_GetLowerParameters(This,ppTxParams) (This)->lpVtbl->GetLowerParameters(This,ppTxParams) +/*** IWSDHttpMessageParameters methods ***/ +#define IWSDHttpMessageParameters_SetInboundHttpHeaders(This,pszHeaders) (This)->lpVtbl->SetInboundHttpHeaders(This,pszHeaders) +#define IWSDHttpMessageParameters_GetInboundHttpHeaders(This,ppszHeaders) (This)->lpVtbl->GetInboundHttpHeaders(This,ppszHeaders) +#define IWSDHttpMessageParameters_SetOutboundHttpHeaders(This,pszHeaders) (This)->lpVtbl->SetOutboundHttpHeaders(This,pszHeaders) +#define IWSDHttpMessageParameters_GetOutboundHttpHeaders(This,ppszHeaders) (This)->lpVtbl->GetOutboundHttpHeaders(This,ppszHeaders) +#define IWSDHttpMessageParameters_SetID(This,pszId) (This)->lpVtbl->SetID(This,pszId) +#define IWSDHttpMessageParameters_GetID(This,ppszId) (This)->lpVtbl->GetID(This,ppszId) +#define IWSDHttpMessageParameters_SetContext(This,pContext) (This)->lpVtbl->SetContext(This,pContext) +#define IWSDHttpMessageParameters_GetContext(This,ppContext) (This)->lpVtbl->GetContext(This,ppContext) +#define IWSDHttpMessageParameters_Clear(This) (This)->lpVtbl->Clear(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDHttpMessageParameters_QueryInterface(IWSDHttpMessageParameters* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDHttpMessageParameters_AddRef(IWSDHttpMessageParameters* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDHttpMessageParameters_Release(IWSDHttpMessageParameters* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMessageParameters methods ***/ +static inline HRESULT IWSDHttpMessageParameters_GetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetLocalAddress(This,ppAddress); +} +static inline HRESULT IWSDHttpMessageParameters_SetLocalAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetLocalAddress(This,pAddress); +} +static inline HRESULT IWSDHttpMessageParameters_GetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress **ppAddress) { + return This->lpVtbl->GetRemoteAddress(This,ppAddress); +} +static inline HRESULT IWSDHttpMessageParameters_SetRemoteAddress(IWSDHttpMessageParameters* This,IWSDAddress *pAddress) { + return This->lpVtbl->SetRemoteAddress(This,pAddress); +} +static inline HRESULT IWSDHttpMessageParameters_GetLowerParameters(IWSDHttpMessageParameters* This,IWSDMessageParameters **ppTxParams) { + return This->lpVtbl->GetLowerParameters(This,ppTxParams); +} +/*** IWSDHttpMessageParameters methods ***/ +static inline HRESULT IWSDHttpMessageParameters_SetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) { + return This->lpVtbl->SetInboundHttpHeaders(This,pszHeaders); +} +static inline HRESULT IWSDHttpMessageParameters_GetInboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) { + return This->lpVtbl->GetInboundHttpHeaders(This,ppszHeaders); +} +static inline HRESULT IWSDHttpMessageParameters_SetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR pszHeaders) { + return This->lpVtbl->SetOutboundHttpHeaders(This,pszHeaders); +} +static inline HRESULT IWSDHttpMessageParameters_GetOutboundHttpHeaders(IWSDHttpMessageParameters* This,LPCWSTR *ppszHeaders) { + return This->lpVtbl->GetOutboundHttpHeaders(This,ppszHeaders); +} +static inline HRESULT IWSDHttpMessageParameters_SetID(IWSDHttpMessageParameters* This,LPCWSTR pszId) { + return This->lpVtbl->SetID(This,pszId); +} +static inline HRESULT IWSDHttpMessageParameters_GetID(IWSDHttpMessageParameters* This,LPCWSTR *ppszId) { + return This->lpVtbl->GetID(This,ppszId); +} +static inline HRESULT IWSDHttpMessageParameters_SetContext(IWSDHttpMessageParameters* This,IUnknown *pContext) { + return This->lpVtbl->SetContext(This,pContext); +} +static inline HRESULT IWSDHttpMessageParameters_GetContext(IWSDHttpMessageParameters* This,IUnknown **ppContext) { + return This->lpVtbl->GetContext(This,ppContext); +} +static inline HRESULT IWSDHttpMessageParameters_Clear(IWSDHttpMessageParameters* This) { + return This->lpVtbl->Clear(This); +} +#endif +#endif + +#endif + + +#endif /* __IWSDHttpMessageParameters_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDHttpAddress interface + */ +#ifndef __IWSDHttpAddress_INTERFACE_DEFINED__ +#define __IWSDHttpAddress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDHttpAddress, 0xd09ac7bd, 0x2a3e, 0x4b85, 0x86,0x05, 0x27,0x37,0xff,0x3e,0x4e,0xa0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d09ac7bd-2a3e-4b85-8605-2737ff3e4ea0") +IWSDHttpAddress : public IWSDTransportAddress +{ + virtual HRESULT STDMETHODCALLTYPE GetSecure( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSecure( + WINBOOL fSecure) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPath( + LPCWSTR *ppszPath) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPath( + LPCWSTR pszPath) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDHttpAddress, 0xd09ac7bd, 0x2a3e, 0x4b85, 0x86,0x05, 0x27,0x37,0xff,0x3e,0x4e,0xa0) +#endif +#else +typedef struct IWSDHttpAddressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDHttpAddress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDHttpAddress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDHttpAddress *This); + + /*** IWSDAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *Serialize)( + IWSDHttpAddress *This, + LPWSTR pszBuffer, + DWORD cchLength, + WINBOOL fSafe); + + HRESULT (STDMETHODCALLTYPE *Deserialize)( + IWSDHttpAddress *This, + LPCWSTR pszBuffer); + + /*** IWSDTransportAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPort)( + IWSDHttpAddress *This, + WORD *pwPort); + + HRESULT (STDMETHODCALLTYPE *SetPort)( + IWSDHttpAddress *This, + WORD wPort); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddress)( + IWSDHttpAddress *This, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *GetTransportAddressEx)( + IWSDHttpAddress *This, + WINBOOL fSafe, + LPCWSTR *ppszAddress); + + HRESULT (STDMETHODCALLTYPE *SetTransportAddress)( + IWSDHttpAddress *This, + LPCWSTR pszAddress); + + /*** IWSDHttpAddress methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSecure)( + IWSDHttpAddress *This); + + HRESULT (STDMETHODCALLTYPE *SetSecure)( + IWSDHttpAddress *This, + WINBOOL fSecure); + + HRESULT (STDMETHODCALLTYPE *GetPath)( + IWSDHttpAddress *This, + LPCWSTR *ppszPath); + + HRESULT (STDMETHODCALLTYPE *SetPath)( + IWSDHttpAddress *This, + LPCWSTR pszPath); + + END_INTERFACE +} IWSDHttpAddressVtbl; + +interface IWSDHttpAddress { + CONST_VTBL IWSDHttpAddressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDHttpAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDHttpAddress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDHttpAddress_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAddress methods ***/ +#define IWSDHttpAddress_Serialize(This,pszBuffer,cchLength,fSafe) (This)->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe) +#define IWSDHttpAddress_Deserialize(This,pszBuffer) (This)->lpVtbl->Deserialize(This,pszBuffer) +/*** IWSDTransportAddress methods ***/ +#define IWSDHttpAddress_GetPort(This,pwPort) (This)->lpVtbl->GetPort(This,pwPort) +#define IWSDHttpAddress_SetPort(This,wPort) (This)->lpVtbl->SetPort(This,wPort) +#define IWSDHttpAddress_GetTransportAddress(This,ppszAddress) (This)->lpVtbl->GetTransportAddress(This,ppszAddress) +#define IWSDHttpAddress_GetTransportAddressEx(This,fSafe,ppszAddress) (This)->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress) +#define IWSDHttpAddress_SetTransportAddress(This,pszAddress) (This)->lpVtbl->SetTransportAddress(This,pszAddress) +/*** IWSDHttpAddress methods ***/ +#define IWSDHttpAddress_GetSecure(This) (This)->lpVtbl->GetSecure(This) +#define IWSDHttpAddress_SetSecure(This,fSecure) (This)->lpVtbl->SetSecure(This,fSecure) +#define IWSDHttpAddress_GetPath(This,ppszPath) (This)->lpVtbl->GetPath(This,ppszPath) +#define IWSDHttpAddress_SetPath(This,pszPath) (This)->lpVtbl->SetPath(This,pszPath) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDHttpAddress_QueryInterface(IWSDHttpAddress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDHttpAddress_AddRef(IWSDHttpAddress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDHttpAddress_Release(IWSDHttpAddress* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAddress methods ***/ +static inline HRESULT IWSDHttpAddress_Serialize(IWSDHttpAddress* This,LPWSTR pszBuffer,DWORD cchLength,WINBOOL fSafe) { + return This->lpVtbl->Serialize(This,pszBuffer,cchLength,fSafe); +} +static inline HRESULT IWSDHttpAddress_Deserialize(IWSDHttpAddress* This,LPCWSTR pszBuffer) { + return This->lpVtbl->Deserialize(This,pszBuffer); +} +/*** IWSDTransportAddress methods ***/ +static inline HRESULT IWSDHttpAddress_GetPort(IWSDHttpAddress* This,WORD *pwPort) { + return This->lpVtbl->GetPort(This,pwPort); +} +static inline HRESULT IWSDHttpAddress_SetPort(IWSDHttpAddress* This,WORD wPort) { + return This->lpVtbl->SetPort(This,wPort); +} +static inline HRESULT IWSDHttpAddress_GetTransportAddress(IWSDHttpAddress* This,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddress(This,ppszAddress); +} +static inline HRESULT IWSDHttpAddress_GetTransportAddressEx(IWSDHttpAddress* This,WINBOOL fSafe,LPCWSTR *ppszAddress) { + return This->lpVtbl->GetTransportAddressEx(This,fSafe,ppszAddress); +} +static inline HRESULT IWSDHttpAddress_SetTransportAddress(IWSDHttpAddress* This,LPCWSTR pszAddress) { + return This->lpVtbl->SetTransportAddress(This,pszAddress); +} +/*** IWSDHttpAddress methods ***/ +static inline HRESULT IWSDHttpAddress_GetSecure(IWSDHttpAddress* This) { + return This->lpVtbl->GetSecure(This); +} +static inline HRESULT IWSDHttpAddress_SetSecure(IWSDHttpAddress* This,WINBOOL fSecure) { + return This->lpVtbl->SetSecure(This,fSecure); +} +static inline HRESULT IWSDHttpAddress_GetPath(IWSDHttpAddress* This,LPCWSTR *ppszPath) { + return This->lpVtbl->GetPath(This,ppszPath); +} +static inline HRESULT IWSDHttpAddress_SetPath(IWSDHttpAddress* This,LPCWSTR pszPath) { + return This->lpVtbl->SetPath(This,pszPath); +} +#endif +#endif + +#endif + + +#endif /* __IWSDHttpAddress_INTERFACE_DEFINED__ */ + +#if WINVER >= 0x601 +/***************************************************************************** + * IWSDSSLClientCertificate interface + */ +#ifndef __IWSDSSLClientCertificate_INTERFACE_DEFINED__ +#define __IWSDSSLClientCertificate_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDSSLClientCertificate, 0xde105e87, 0xa0da, 0x418e, 0x98,0xad, 0x27,0xb9,0xee,0xd8,0x7b,0xdc); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("de105e87-a0da-418e-98ad-27b9eed87bdc") +IWSDSSLClientCertificate : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetClientCertificate( + PCCERT_CONTEXT *ppCertContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMappedAccessToken( + HANDLE *phToken) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDSSLClientCertificate, 0xde105e87, 0xa0da, 0x418e, 0x98,0xad, 0x27,0xb9,0xee,0xd8,0x7b,0xdc) +#endif +#else +typedef struct IWSDSSLClientCertificateVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDSSLClientCertificate *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDSSLClientCertificate *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDSSLClientCertificate *This); + + /*** IWSDSSLClientCertificate methods ***/ + HRESULT (STDMETHODCALLTYPE *GetClientCertificate)( + IWSDSSLClientCertificate *This, + PCCERT_CONTEXT *ppCertContext); + + HRESULT (STDMETHODCALLTYPE *GetMappedAccessToken)( + IWSDSSLClientCertificate *This, + HANDLE *phToken); + + END_INTERFACE +} IWSDSSLClientCertificateVtbl; + +interface IWSDSSLClientCertificate { + CONST_VTBL IWSDSSLClientCertificateVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDSSLClientCertificate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDSSLClientCertificate_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDSSLClientCertificate_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDSSLClientCertificate methods ***/ +#define IWSDSSLClientCertificate_GetClientCertificate(This,ppCertContext) (This)->lpVtbl->GetClientCertificate(This,ppCertContext) +#define IWSDSSLClientCertificate_GetMappedAccessToken(This,phToken) (This)->lpVtbl->GetMappedAccessToken(This,phToken) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDSSLClientCertificate_QueryInterface(IWSDSSLClientCertificate* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDSSLClientCertificate_AddRef(IWSDSSLClientCertificate* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDSSLClientCertificate_Release(IWSDSSLClientCertificate* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDSSLClientCertificate methods ***/ +static inline HRESULT IWSDSSLClientCertificate_GetClientCertificate(IWSDSSLClientCertificate* This,PCCERT_CONTEXT *ppCertContext) { + return This->lpVtbl->GetClientCertificate(This,ppCertContext); +} +static inline HRESULT IWSDSSLClientCertificate_GetMappedAccessToken(IWSDSSLClientCertificate* This,HANDLE *phToken) { + return This->lpVtbl->GetMappedAccessToken(This,phToken); +} +#endif +#endif + +#endif + + +#endif /* __IWSDSSLClientCertificate_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDHttpAuthParameters interface + */ +#ifndef __IWSDHttpAuthParameters_INTERFACE_DEFINED__ +#define __IWSDHttpAuthParameters_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDHttpAuthParameters, 0x0b476df0, 0x8dac, 0x480d, 0xb0,0x5c, 0x99,0x78,0x1a,0x58,0x84,0xaa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0b476df0-8dac-480d-b05c-99781a5884aa") +IWSDHttpAuthParameters : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetClientAccessToken( + HANDLE *phToken) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAuthType( + PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDHttpAuthParameters, 0x0b476df0, 0x8dac, 0x480d, 0xb0,0x5c, 0x99,0x78,0x1a,0x58,0x84,0xaa) +#endif +#else +typedef struct IWSDHttpAuthParametersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDHttpAuthParameters *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDHttpAuthParameters *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDHttpAuthParameters *This); + + /*** IWSDHttpAuthParameters methods ***/ + HRESULT (STDMETHODCALLTYPE *GetClientAccessToken)( + IWSDHttpAuthParameters *This, + HANDLE *phToken); + + HRESULT (STDMETHODCALLTYPE *GetAuthType)( + IWSDHttpAuthParameters *This, + PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType); + + END_INTERFACE +} IWSDHttpAuthParametersVtbl; + +interface IWSDHttpAuthParameters { + CONST_VTBL IWSDHttpAuthParametersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDHttpAuthParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDHttpAuthParameters_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDHttpAuthParameters_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDHttpAuthParameters methods ***/ +#define IWSDHttpAuthParameters_GetClientAccessToken(This,phToken) (This)->lpVtbl->GetClientAccessToken(This,phToken) +#define IWSDHttpAuthParameters_GetAuthType(This,pAuthType) (This)->lpVtbl->GetAuthType(This,pAuthType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDHttpAuthParameters_QueryInterface(IWSDHttpAuthParameters* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDHttpAuthParameters_AddRef(IWSDHttpAuthParameters* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDHttpAuthParameters_Release(IWSDHttpAuthParameters* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDHttpAuthParameters methods ***/ +static inline HRESULT IWSDHttpAuthParameters_GetClientAccessToken(IWSDHttpAuthParameters* This,HANDLE *phToken) { + return This->lpVtbl->GetClientAccessToken(This,phToken); +} +static inline HRESULT IWSDHttpAuthParameters_GetAuthType(IWSDHttpAuthParameters* This,PWSD_SECURITY_HTTP_AUTH_SCHEMES pAuthType) { + return This->lpVtbl->GetAuthType(This,pAuthType); +} +#endif +#endif + +#endif + + +#endif /* __IWSDHttpAuthParameters_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDSignatureProperty interface + */ +#ifndef __IWSDSignatureProperty_INTERFACE_DEFINED__ +#define __IWSDSignatureProperty_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDSignatureProperty, 0x03ce20aa, 0x71c4, 0x45e2, 0xb3,0x2e, 0x37,0x66,0xc6,0x1c,0x79,0x0f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("03ce20aa-71c4-45e2-b32e-3766c61c790f") +IWSDSignatureProperty : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE IsMessageSigned( + WINBOOL *pbSigned) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsMessageSignatureTrusted( + WINBOOL *pbSignatureTrusted) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetKeyInfo( + BYTE *pbKeyInfo, + DWORD *pdwKeyInfoSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignature( + BYTE *pbSignature, + DWORD *pdwSignatureSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignedInfoHash( + BYTE *pbSignedInfoHash, + DWORD *pdwHashSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDSignatureProperty, 0x03ce20aa, 0x71c4, 0x45e2, 0xb3,0x2e, 0x37,0x66,0xc6,0x1c,0x79,0x0f) +#endif +#else +typedef struct IWSDSignaturePropertyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDSignatureProperty *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDSignatureProperty *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDSignatureProperty *This); + + /*** IWSDSignatureProperty methods ***/ + HRESULT (STDMETHODCALLTYPE *IsMessageSigned)( + IWSDSignatureProperty *This, + WINBOOL *pbSigned); + + HRESULT (STDMETHODCALLTYPE *IsMessageSignatureTrusted)( + IWSDSignatureProperty *This, + WINBOOL *pbSignatureTrusted); + + HRESULT (STDMETHODCALLTYPE *GetKeyInfo)( + IWSDSignatureProperty *This, + BYTE *pbKeyInfo, + DWORD *pdwKeyInfoSize); + + HRESULT (STDMETHODCALLTYPE *GetSignature)( + IWSDSignatureProperty *This, + BYTE *pbSignature, + DWORD *pdwSignatureSize); + + HRESULT (STDMETHODCALLTYPE *GetSignedInfoHash)( + IWSDSignatureProperty *This, + BYTE *pbSignedInfoHash, + DWORD *pdwHashSize); + + END_INTERFACE +} IWSDSignaturePropertyVtbl; + +interface IWSDSignatureProperty { + CONST_VTBL IWSDSignaturePropertyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDSignatureProperty_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDSignatureProperty_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDSignatureProperty_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDSignatureProperty methods ***/ +#define IWSDSignatureProperty_IsMessageSigned(This,pbSigned) (This)->lpVtbl->IsMessageSigned(This,pbSigned) +#define IWSDSignatureProperty_IsMessageSignatureTrusted(This,pbSignatureTrusted) (This)->lpVtbl->IsMessageSignatureTrusted(This,pbSignatureTrusted) +#define IWSDSignatureProperty_GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize) (This)->lpVtbl->GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize) +#define IWSDSignatureProperty_GetSignature(This,pbSignature,pdwSignatureSize) (This)->lpVtbl->GetSignature(This,pbSignature,pdwSignatureSize) +#define IWSDSignatureProperty_GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize) (This)->lpVtbl->GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDSignatureProperty_QueryInterface(IWSDSignatureProperty* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDSignatureProperty_AddRef(IWSDSignatureProperty* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDSignatureProperty_Release(IWSDSignatureProperty* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDSignatureProperty methods ***/ +static inline HRESULT IWSDSignatureProperty_IsMessageSigned(IWSDSignatureProperty* This,WINBOOL *pbSigned) { + return This->lpVtbl->IsMessageSigned(This,pbSigned); +} +static inline HRESULT IWSDSignatureProperty_IsMessageSignatureTrusted(IWSDSignatureProperty* This,WINBOOL *pbSignatureTrusted) { + return This->lpVtbl->IsMessageSignatureTrusted(This,pbSignatureTrusted); +} +static inline HRESULT IWSDSignatureProperty_GetKeyInfo(IWSDSignatureProperty* This,BYTE *pbKeyInfo,DWORD *pdwKeyInfoSize) { + return This->lpVtbl->GetKeyInfo(This,pbKeyInfo,pdwKeyInfoSize); +} +static inline HRESULT IWSDSignatureProperty_GetSignature(IWSDSignatureProperty* This,BYTE *pbSignature,DWORD *pdwSignatureSize) { + return This->lpVtbl->GetSignature(This,pbSignature,pdwSignatureSize); +} +static inline HRESULT IWSDSignatureProperty_GetSignedInfoHash(IWSDSignatureProperty* This,BYTE *pbSignedInfoHash,DWORD *pdwHashSize) { + return This->lpVtbl->GetSignedInfoHash(This,pbSignedInfoHash,pdwHashSize); +} +#endif +#endif + +#endif + + +#endif /* __IWSDSignatureProperty_INTERFACE_DEFINED__ */ + +#endif +HRESULT WINAPI WSDCreateHttpAddress(IWSDHttpAddress **ppAdress); +HRESULT WINAPI WSDCreateHttpMessageParameters(IWSDHttpMessageParameters **ppTxParams); +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsdbase_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdclient.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdclient.h new file mode 100644 index 00000000..6d8a20fd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdclient.h @@ -0,0 +1,1484 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsdclient.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 __wsdclient_h__ +#define __wsdclient_h__ + +/* Forward declarations */ + +#ifndef __IWSDAsyncResult_FWD_DEFINED__ +#define __IWSDAsyncResult_FWD_DEFINED__ +typedef interface IWSDAsyncResult IWSDAsyncResult; +#ifdef __cplusplus +interface IWSDAsyncResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDAsyncCallback_FWD_DEFINED__ +#define __IWSDAsyncCallback_FWD_DEFINED__ +typedef interface IWSDAsyncCallback IWSDAsyncCallback; +#ifdef __cplusplus +interface IWSDAsyncCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDMetadataExchange_FWD_DEFINED__ +#define __IWSDMetadataExchange_FWD_DEFINED__ +typedef interface IWSDMetadataExchange IWSDMetadataExchange; +#ifdef __cplusplus +interface IWSDMetadataExchange; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDEventingStatus_FWD_DEFINED__ +#define __IWSDEventingStatus_FWD_DEFINED__ +typedef interface IWSDEventingStatus IWSDEventingStatus; +#ifdef __cplusplus +interface IWSDEventingStatus; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDEndpointProxy_FWD_DEFINED__ +#define __IWSDEndpointProxy_FWD_DEFINED__ +typedef interface IWSDEndpointProxy IWSDEndpointProxy; +#ifdef __cplusplus +interface IWSDEndpointProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDDeviceProxy_FWD_DEFINED__ +#define __IWSDDeviceProxy_FWD_DEFINED__ +typedef interface IWSDDeviceProxy IWSDDeviceProxy; +#ifdef __cplusplus +interface IWSDDeviceProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDServiceProxy_FWD_DEFINED__ +#define __IWSDServiceProxy_FWD_DEFINED__ +typedef interface IWSDServiceProxy IWSDServiceProxy; +#ifdef __cplusplus +interface IWSDServiceProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDServiceProxyEventing_FWD_DEFINED__ +#define __IWSDServiceProxyEventing_FWD_DEFINED__ +typedef interface IWSDServiceProxyEventing IWSDServiceProxyEventing; +#ifdef __cplusplus +interface IWSDServiceProxyEventing; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef __IWSDAddress_FWD_DEFINED__ +#define __IWSDAddress_FWD_DEFINED__ +typedef interface IWSDAddress IWSDAddress; +#ifdef __cplusplus +interface IWSDAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDXMLContext_FWD_DEFINED__ +#define __IWSDXMLContext_FWD_DEFINED__ +typedef interface IWSDXMLContext IWSDXMLContext; +#ifdef __cplusplus +interface IWSDXMLContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveredService_FWD_DEFINED__ +#define __IWSDiscoveredService_FWD_DEFINED__ +typedef interface IWSDiscoveredService IWSDiscoveredService; +#ifdef __cplusplus +interface IWSDiscoveredService; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDDeviceProxy_FWD_DEFINED__ +#define __IWSDDeviceProxy_FWD_DEFINED__ +typedef interface IWSDDeviceProxy IWSDDeviceProxy; +#ifdef __cplusplus +interface IWSDDeviceProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDServiceProxy_FWD_DEFINED__ +#define __IWSDServiceProxy_FWD_DEFINED__ +typedef interface IWSDServiceProxy IWSDServiceProxy; +#ifdef __cplusplus +interface IWSDServiceProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDEndpointProxy_FWD_DEFINED__ +#define __IWSDEndpointProxy_FWD_DEFINED__ +typedef interface IWSDEndpointProxy IWSDEndpointProxy; +#ifdef __cplusplus +interface IWSDEndpointProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDAsyncResult_FWD_DEFINED__ +#define __IWSDAsyncResult_FWD_DEFINED__ +typedef interface IWSDAsyncResult IWSDAsyncResult; +#ifdef __cplusplus +interface IWSDAsyncResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDAsyncCallback_FWD_DEFINED__ +#define __IWSDAsyncCallback_FWD_DEFINED__ +typedef interface IWSDAsyncCallback IWSDAsyncCallback; +#ifdef __cplusplus +interface IWSDAsyncCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDMetadataExchange_FWD_DEFINED__ +#define __IWSDMetadataExchange_FWD_DEFINED__ +typedef interface IWSDMetadataExchange IWSDMetadataExchange; +#ifdef __cplusplus +interface IWSDMetadataExchange; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDEventingStatus_FWD_DEFINED__ +#define __IWSDEventingStatus_FWD_DEFINED__ +typedef interface IWSDEventingStatus IWSDEventingStatus; +#ifdef __cplusplus +interface IWSDEventingStatus; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWSDAsyncResult interface + */ +#ifndef __IWSDAsyncResult_INTERFACE_DEFINED__ +#define __IWSDAsyncResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDAsyncResult, 0x11a9852a, 0x8dd8, 0x423e, 0xb5,0x37, 0x93,0x56,0xdb,0x4f,0xbf,0xb8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("11a9852a-8dd8-423e-b537-9356db4fbfb8") +IWSDAsyncResult : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetCallback( + IWSDAsyncCallback *pCallback, + IUnknown *pAsyncState) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetWaitHandle( + HANDLE hWaitHandle) = 0; + + virtual HRESULT STDMETHODCALLTYPE HasCompleted( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAsyncState( + IUnknown **ppAsyncState) = 0; + + virtual HRESULT STDMETHODCALLTYPE Abort( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEvent( + WSD_EVENT *pEvent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy( + IWSDEndpointProxy **ppEndpoint) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDAsyncResult, 0x11a9852a, 0x8dd8, 0x423e, 0xb5,0x37, 0x93,0x56,0xdb,0x4f,0xbf,0xb8) +#endif +#else +typedef struct IWSDAsyncResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDAsyncResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDAsyncResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDAsyncResult *This); + + /*** IWSDAsyncResult methods ***/ + HRESULT (STDMETHODCALLTYPE *SetCallback)( + IWSDAsyncResult *This, + IWSDAsyncCallback *pCallback, + IUnknown *pAsyncState); + + HRESULT (STDMETHODCALLTYPE *SetWaitHandle)( + IWSDAsyncResult *This, + HANDLE hWaitHandle); + + HRESULT (STDMETHODCALLTYPE *HasCompleted)( + IWSDAsyncResult *This); + + HRESULT (STDMETHODCALLTYPE *GetAsyncState)( + IWSDAsyncResult *This, + IUnknown **ppAsyncState); + + HRESULT (STDMETHODCALLTYPE *Abort)( + IWSDAsyncResult *This); + + HRESULT (STDMETHODCALLTYPE *GetEvent)( + IWSDAsyncResult *This, + WSD_EVENT *pEvent); + + HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)( + IWSDAsyncResult *This, + IWSDEndpointProxy **ppEndpoint); + + END_INTERFACE +} IWSDAsyncResultVtbl; + +interface IWSDAsyncResult { + CONST_VTBL IWSDAsyncResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDAsyncResult_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAsyncResult methods ***/ +#define IWSDAsyncResult_SetCallback(This,pCallback,pAsyncState) (This)->lpVtbl->SetCallback(This,pCallback,pAsyncState) +#define IWSDAsyncResult_SetWaitHandle(This,hWaitHandle) (This)->lpVtbl->SetWaitHandle(This,hWaitHandle) +#define IWSDAsyncResult_HasCompleted(This) (This)->lpVtbl->HasCompleted(This) +#define IWSDAsyncResult_GetAsyncState(This,ppAsyncState) (This)->lpVtbl->GetAsyncState(This,ppAsyncState) +#define IWSDAsyncResult_Abort(This) (This)->lpVtbl->Abort(This) +#define IWSDAsyncResult_GetEvent(This,pEvent) (This)->lpVtbl->GetEvent(This,pEvent) +#define IWSDAsyncResult_GetEndpointProxy(This,ppEndpoint) (This)->lpVtbl->GetEndpointProxy(This,ppEndpoint) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDAsyncResult_QueryInterface(IWSDAsyncResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDAsyncResult_AddRef(IWSDAsyncResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDAsyncResult_Release(IWSDAsyncResult* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAsyncResult methods ***/ +static inline HRESULT IWSDAsyncResult_SetCallback(IWSDAsyncResult* This,IWSDAsyncCallback *pCallback,IUnknown *pAsyncState) { + return This->lpVtbl->SetCallback(This,pCallback,pAsyncState); +} +static inline HRESULT IWSDAsyncResult_SetWaitHandle(IWSDAsyncResult* This,HANDLE hWaitHandle) { + return This->lpVtbl->SetWaitHandle(This,hWaitHandle); +} +static inline HRESULT IWSDAsyncResult_HasCompleted(IWSDAsyncResult* This) { + return This->lpVtbl->HasCompleted(This); +} +static inline HRESULT IWSDAsyncResult_GetAsyncState(IWSDAsyncResult* This,IUnknown **ppAsyncState) { + return This->lpVtbl->GetAsyncState(This,ppAsyncState); +} +static inline HRESULT IWSDAsyncResult_Abort(IWSDAsyncResult* This) { + return This->lpVtbl->Abort(This); +} +static inline HRESULT IWSDAsyncResult_GetEvent(IWSDAsyncResult* This,WSD_EVENT *pEvent) { + return This->lpVtbl->GetEvent(This,pEvent); +} +static inline HRESULT IWSDAsyncResult_GetEndpointProxy(IWSDAsyncResult* This,IWSDEndpointProxy **ppEndpoint) { + return This->lpVtbl->GetEndpointProxy(This,ppEndpoint); +} +#endif +#endif + +#endif + + +#endif /* __IWSDAsyncResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDAsyncCallback interface + */ +#ifndef __IWSDAsyncCallback_INTERFACE_DEFINED__ +#define __IWSDAsyncCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDAsyncCallback, 0xa63e109d, 0xce72, 0x49e2, 0xba,0x98, 0xe8,0x45,0xf5,0xee,0x16,0x66); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a63e109d-ce72-49e2-ba98-e845f5ee1666") +IWSDAsyncCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AsyncOperationComplete( + IWSDAsyncResult *pAsyncResult, + IUnknown *pAsyncState) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDAsyncCallback, 0xa63e109d, 0xce72, 0x49e2, 0xba,0x98, 0xe8,0x45,0xf5,0xee,0x16,0x66) +#endif +#else +typedef struct IWSDAsyncCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDAsyncCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDAsyncCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDAsyncCallback *This); + + /*** IWSDAsyncCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *AsyncOperationComplete)( + IWSDAsyncCallback *This, + IWSDAsyncResult *pAsyncResult, + IUnknown *pAsyncState); + + END_INTERFACE +} IWSDAsyncCallbackVtbl; + +interface IWSDAsyncCallback { + CONST_VTBL IWSDAsyncCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDAsyncCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDAsyncCallback methods ***/ +#define IWSDAsyncCallback_AsyncOperationComplete(This,pAsyncResult,pAsyncState) (This)->lpVtbl->AsyncOperationComplete(This,pAsyncResult,pAsyncState) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDAsyncCallback_QueryInterface(IWSDAsyncCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDAsyncCallback_AddRef(IWSDAsyncCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDAsyncCallback_Release(IWSDAsyncCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDAsyncCallback methods ***/ +static inline HRESULT IWSDAsyncCallback_AsyncOperationComplete(IWSDAsyncCallback* This,IWSDAsyncResult *pAsyncResult,IUnknown *pAsyncState) { + return This->lpVtbl->AsyncOperationComplete(This,pAsyncResult,pAsyncState); +} +#endif +#endif + +#endif + + +#endif /* __IWSDAsyncCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDMetadataExchange interface + */ +#ifndef __IWSDMetadataExchange_INTERFACE_DEFINED__ +#define __IWSDMetadataExchange_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDMetadataExchange, 0x06996d57, 0x1d67, 0x4928, 0x93,0x07, 0x3d,0x78,0x33,0xfd,0xb8,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("06996d57-1d67-4928-9307-3d7833fdb846") +IWSDMetadataExchange : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetMetadata( + WSD_METADATA_SECTION_LIST **MetadataOut) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDMetadataExchange, 0x06996d57, 0x1d67, 0x4928, 0x93,0x07, 0x3d,0x78,0x33,0xfd,0xb8,0x46) +#endif +#else +typedef struct IWSDMetadataExchangeVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDMetadataExchange *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDMetadataExchange *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDMetadataExchange *This); + + /*** IWSDMetadataExchange methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadata)( + IWSDMetadataExchange *This, + WSD_METADATA_SECTION_LIST **MetadataOut); + + END_INTERFACE +} IWSDMetadataExchangeVtbl; + +interface IWSDMetadataExchange { + CONST_VTBL IWSDMetadataExchangeVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDMetadataExchange_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDMetadataExchange_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDMetadataExchange_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMetadataExchange methods ***/ +#define IWSDMetadataExchange_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDMetadataExchange_QueryInterface(IWSDMetadataExchange* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDMetadataExchange_AddRef(IWSDMetadataExchange* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDMetadataExchange_Release(IWSDMetadataExchange* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMetadataExchange methods ***/ +static inline HRESULT IWSDMetadataExchange_GetMetadata(IWSDMetadataExchange* This,WSD_METADATA_SECTION_LIST **MetadataOut) { + return This->lpVtbl->GetMetadata(This,MetadataOut); +} +#endif +#endif + +#endif + + +#endif /* __IWSDMetadataExchange_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDEventingStatus interface + */ +#ifndef __IWSDEventingStatus_INTERFACE_DEFINED__ +#define __IWSDEventingStatus_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDEventingStatus, 0x49b17f52, 0x637a, 0x407a, 0xae,0x99, 0xfb,0xe8,0x2a,0x4d,0x38,0xc0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("49b17f52-637a-407a-ae99-fbe82a4d38c0") +IWSDEventingStatus : public IUnknown +{ + virtual void STDMETHODCALLTYPE SubscriptionRenewed( + LPCWSTR pszSubscriptionAction) = 0; + + virtual void STDMETHODCALLTYPE SubscriptionRenewalFailed( + LPCWSTR pszSubscriptionAction, + HRESULT hr) = 0; + + virtual void STDMETHODCALLTYPE SubscriptionEnded( + LPCWSTR pszSubscriptionAction) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDEventingStatus, 0x49b17f52, 0x637a, 0x407a, 0xae,0x99, 0xfb,0xe8,0x2a,0x4d,0x38,0xc0) +#endif +#else +typedef struct IWSDEventingStatusVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDEventingStatus *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDEventingStatus *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDEventingStatus *This); + + /*** IWSDEventingStatus methods ***/ + void (STDMETHODCALLTYPE *SubscriptionRenewed)( + IWSDEventingStatus *This, + LPCWSTR pszSubscriptionAction); + + void (STDMETHODCALLTYPE *SubscriptionRenewalFailed)( + IWSDEventingStatus *This, + LPCWSTR pszSubscriptionAction, + HRESULT hr); + + void (STDMETHODCALLTYPE *SubscriptionEnded)( + IWSDEventingStatus *This, + LPCWSTR pszSubscriptionAction); + + END_INTERFACE +} IWSDEventingStatusVtbl; + +interface IWSDEventingStatus { + CONST_VTBL IWSDEventingStatusVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDEventingStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDEventingStatus_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDEventingStatus_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDEventingStatus methods ***/ +#define IWSDEventingStatus_SubscriptionRenewed(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction) +#define IWSDEventingStatus_SubscriptionRenewalFailed(This,pszSubscriptionAction,hr) (This)->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr) +#define IWSDEventingStatus_SubscriptionEnded(This,pszSubscriptionAction) (This)->lpVtbl->SubscriptionEnded(This,pszSubscriptionAction) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDEventingStatus_QueryInterface(IWSDEventingStatus* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDEventingStatus_AddRef(IWSDEventingStatus* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDEventingStatus_Release(IWSDEventingStatus* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDEventingStatus methods ***/ +static inline void IWSDEventingStatus_SubscriptionRenewed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction) { + This->lpVtbl->SubscriptionRenewed(This,pszSubscriptionAction); +} +static inline void IWSDEventingStatus_SubscriptionRenewalFailed(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction,HRESULT hr) { + This->lpVtbl->SubscriptionRenewalFailed(This,pszSubscriptionAction,hr); +} +static inline void IWSDEventingStatus_SubscriptionEnded(IWSDEventingStatus* This,LPCWSTR pszSubscriptionAction) { + This->lpVtbl->SubscriptionEnded(This,pszSubscriptionAction); +} +#endif +#endif + +#endif + + +#endif /* __IWSDEventingStatus_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDEndpointProxy interface + */ +#ifndef __IWSDEndpointProxy_INTERFACE_DEFINED__ +#define __IWSDEndpointProxy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDEndpointProxy, 0x1860d430, 0xb24c, 0x4975, 0x9f,0x90, 0xdb,0xb3,0x9b,0xaa,0x24,0xec); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1860d430-b24c-4975-9f90-dbb39baa24ec") +IWSDEndpointProxy : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SendOneWayRequest( + const void *pBody, + const WSD_OPERATION *pOperation) = 0; + + virtual HRESULT STDMETHODCALLTYPE SendTwoWayRequest( + const void *pBody, + const WSD_OPERATION *pOperation, + const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext) = 0; + + virtual HRESULT STDMETHODCALLTYPE SendTwoWayRequestAsync( + const void *pBody, + const WSD_OPERATION *pOperation, + IUnknown *pAsyncState, + IWSDAsyncCallback *pCallback, + IWSDAsyncResult **pResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE AbortAsyncOperation( + IWSDAsyncResult *pAsyncResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProcessFault( + const WSD_SOAP_FAULT *pFault) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetErrorInfo( + LPCWSTR *ppszErrorInfo) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFaultInfo( + WSD_SOAP_FAULT **ppFault) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDEndpointProxy, 0x1860d430, 0xb24c, 0x4975, 0x9f,0x90, 0xdb,0xb3,0x9b,0xaa,0x24,0xec) +#endif +#else +typedef struct IWSDEndpointProxyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDEndpointProxy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDEndpointProxy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDEndpointProxy *This); + + /*** IWSDEndpointProxy methods ***/ + HRESULT (STDMETHODCALLTYPE *SendOneWayRequest)( + IWSDEndpointProxy *This, + const void *pBody, + const WSD_OPERATION *pOperation); + + HRESULT (STDMETHODCALLTYPE *SendTwoWayRequest)( + IWSDEndpointProxy *This, + const void *pBody, + const WSD_OPERATION *pOperation, + const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext); + + HRESULT (STDMETHODCALLTYPE *SendTwoWayRequestAsync)( + IWSDEndpointProxy *This, + const void *pBody, + const WSD_OPERATION *pOperation, + IUnknown *pAsyncState, + IWSDAsyncCallback *pCallback, + IWSDAsyncResult **pResult); + + HRESULT (STDMETHODCALLTYPE *AbortAsyncOperation)( + IWSDEndpointProxy *This, + IWSDAsyncResult *pAsyncResult); + + HRESULT (STDMETHODCALLTYPE *ProcessFault)( + IWSDEndpointProxy *This, + const WSD_SOAP_FAULT *pFault); + + HRESULT (STDMETHODCALLTYPE *GetErrorInfo)( + IWSDEndpointProxy *This, + LPCWSTR *ppszErrorInfo); + + HRESULT (STDMETHODCALLTYPE *GetFaultInfo)( + IWSDEndpointProxy *This, + WSD_SOAP_FAULT **ppFault); + + END_INTERFACE +} IWSDEndpointProxyVtbl; + +interface IWSDEndpointProxy { + CONST_VTBL IWSDEndpointProxyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDEndpointProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDEndpointProxy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDEndpointProxy_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDEndpointProxy methods ***/ +#define IWSDEndpointProxy_SendOneWayRequest(This,pBody,pOperation) (This)->lpVtbl->SendOneWayRequest(This,pBody,pOperation) +#define IWSDEndpointProxy_SendTwoWayRequest(This,pBody,pOperation,pResponseContext) (This)->lpVtbl->SendTwoWayRequest(This,pBody,pOperation,pResponseContext) +#define IWSDEndpointProxy_SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult) (This)->lpVtbl->SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult) +#define IWSDEndpointProxy_AbortAsyncOperation(This,pAsyncResult) (This)->lpVtbl->AbortAsyncOperation(This,pAsyncResult) +#define IWSDEndpointProxy_ProcessFault(This,pFault) (This)->lpVtbl->ProcessFault(This,pFault) +#define IWSDEndpointProxy_GetErrorInfo(This,ppszErrorInfo) (This)->lpVtbl->GetErrorInfo(This,ppszErrorInfo) +#define IWSDEndpointProxy_GetFaultInfo(This,ppFault) (This)->lpVtbl->GetFaultInfo(This,ppFault) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDEndpointProxy_QueryInterface(IWSDEndpointProxy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDEndpointProxy_AddRef(IWSDEndpointProxy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDEndpointProxy_Release(IWSDEndpointProxy* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDEndpointProxy methods ***/ +static inline HRESULT IWSDEndpointProxy_SendOneWayRequest(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation) { + return This->lpVtbl->SendOneWayRequest(This,pBody,pOperation); +} +static inline HRESULT IWSDEndpointProxy_SendTwoWayRequest(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation,const WSD_SYNCHRONOUS_RESPONSE_CONTEXT *pResponseContext) { + return This->lpVtbl->SendTwoWayRequest(This,pBody,pOperation,pResponseContext); +} +static inline HRESULT IWSDEndpointProxy_SendTwoWayRequestAsync(IWSDEndpointProxy* This,const void *pBody,const WSD_OPERATION *pOperation,IUnknown *pAsyncState,IWSDAsyncCallback *pCallback,IWSDAsyncResult **pResult) { + return This->lpVtbl->SendTwoWayRequestAsync(This,pBody,pOperation,pAsyncState,pCallback,pResult); +} +static inline HRESULT IWSDEndpointProxy_AbortAsyncOperation(IWSDEndpointProxy* This,IWSDAsyncResult *pAsyncResult) { + return This->lpVtbl->AbortAsyncOperation(This,pAsyncResult); +} +static inline HRESULT IWSDEndpointProxy_ProcessFault(IWSDEndpointProxy* This,const WSD_SOAP_FAULT *pFault) { + return This->lpVtbl->ProcessFault(This,pFault); +} +static inline HRESULT IWSDEndpointProxy_GetErrorInfo(IWSDEndpointProxy* This,LPCWSTR *ppszErrorInfo) { + return This->lpVtbl->GetErrorInfo(This,ppszErrorInfo); +} +static inline HRESULT IWSDEndpointProxy_GetFaultInfo(IWSDEndpointProxy* This,WSD_SOAP_FAULT **ppFault) { + return This->lpVtbl->GetFaultInfo(This,ppFault); +} +#endif +#endif + +#endif + + +#endif /* __IWSDEndpointProxy_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDDeviceProxy interface + */ +#ifndef __IWSDDeviceProxy_INTERFACE_DEFINED__ +#define __IWSDDeviceProxy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDDeviceProxy, 0xeee0c031, 0xc578, 0x4c0e, 0x9a,0x3b, 0x97,0x3c,0x35,0xf4,0x09,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eee0c031-c578-4c0e-9a3b-973c35f409db") +IWSDDeviceProxy : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Init( + LPCWSTR pszDeviceId, + IWSDAddress *pDeviceAddress, + LPCWSTR pszLocalId, + IWSDXMLContext *pContext, + IWSDDeviceProxy *pSponsor) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginGetMetadata( + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndGetMetadata( + IWSDAsyncResult *pResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHostMetadata( + WSD_HOST_METADATA **ppHostMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThisModelMetadata( + WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThisDeviceMetadata( + WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAllMetadata( + WSD_METADATA_SECTION_LIST **ppMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetServiceProxyById( + LPCWSTR pszServiceId, + IWSDServiceProxy **ppServiceProxy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetServiceProxyByType( + const WSDXML_NAME *pType, + IWSDServiceProxy **ppServiceProxy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy( + IWSDEndpointProxy **ppProxy) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDDeviceProxy, 0xeee0c031, 0xc578, 0x4c0e, 0x9a,0x3b, 0x97,0x3c,0x35,0xf4,0x09,0xdb) +#endif +#else +typedef struct IWSDDeviceProxyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDDeviceProxy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDDeviceProxy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDDeviceProxy *This); + + /*** IWSDDeviceProxy methods ***/ + HRESULT (STDMETHODCALLTYPE *Init)( + IWSDDeviceProxy *This, + LPCWSTR pszDeviceId, + IWSDAddress *pDeviceAddress, + LPCWSTR pszLocalId, + IWSDXMLContext *pContext, + IWSDDeviceProxy *pSponsor); + + HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)( + IWSDDeviceProxy *This, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndGetMetadata)( + IWSDDeviceProxy *This, + IWSDAsyncResult *pResult); + + HRESULT (STDMETHODCALLTYPE *GetHostMetadata)( + IWSDDeviceProxy *This, + WSD_HOST_METADATA **ppHostMetadata); + + HRESULT (STDMETHODCALLTYPE *GetThisModelMetadata)( + IWSDDeviceProxy *This, + WSD_THIS_MODEL_METADATA **ppManufacturerMetadata); + + HRESULT (STDMETHODCALLTYPE *GetThisDeviceMetadata)( + IWSDDeviceProxy *This, + WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata); + + HRESULT (STDMETHODCALLTYPE *GetAllMetadata)( + IWSDDeviceProxy *This, + WSD_METADATA_SECTION_LIST **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *GetServiceProxyById)( + IWSDDeviceProxy *This, + LPCWSTR pszServiceId, + IWSDServiceProxy **ppServiceProxy); + + HRESULT (STDMETHODCALLTYPE *GetServiceProxyByType)( + IWSDDeviceProxy *This, + const WSDXML_NAME *pType, + IWSDServiceProxy **ppServiceProxy); + + HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)( + IWSDDeviceProxy *This, + IWSDEndpointProxy **ppProxy); + + END_INTERFACE +} IWSDDeviceProxyVtbl; + +interface IWSDDeviceProxy { + CONST_VTBL IWSDDeviceProxyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDDeviceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDDeviceProxy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDDeviceProxy_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDDeviceProxy methods ***/ +#define IWSDDeviceProxy_Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor) (This)->lpVtbl->Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor) +#define IWSDDeviceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult) +#define IWSDDeviceProxy_EndGetMetadata(This,pResult) (This)->lpVtbl->EndGetMetadata(This,pResult) +#define IWSDDeviceProxy_GetHostMetadata(This,ppHostMetadata) (This)->lpVtbl->GetHostMetadata(This,ppHostMetadata) +#define IWSDDeviceProxy_GetThisModelMetadata(This,ppManufacturerMetadata) (This)->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata) +#define IWSDDeviceProxy_GetThisDeviceMetadata(This,ppThisDeviceMetadata) (This)->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata) +#define IWSDDeviceProxy_GetAllMetadata(This,ppMetadata) (This)->lpVtbl->GetAllMetadata(This,ppMetadata) +#define IWSDDeviceProxy_GetServiceProxyById(This,pszServiceId,ppServiceProxy) (This)->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy) +#define IWSDDeviceProxy_GetServiceProxyByType(This,pType,ppServiceProxy) (This)->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy) +#define IWSDDeviceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDDeviceProxy_QueryInterface(IWSDDeviceProxy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDDeviceProxy_AddRef(IWSDDeviceProxy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDDeviceProxy_Release(IWSDDeviceProxy* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDDeviceProxy methods ***/ +static inline HRESULT IWSDDeviceProxy_Init(IWSDDeviceProxy* This,LPCWSTR pszDeviceId,IWSDAddress *pDeviceAddress,LPCWSTR pszLocalId,IWSDXMLContext *pContext,IWSDDeviceProxy *pSponsor) { + return This->lpVtbl->Init(This,pszDeviceId,pDeviceAddress,pszLocalId,pContext,pSponsor); +} +static inline HRESULT IWSDDeviceProxy_BeginGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginGetMetadata(This,ppResult); +} +static inline HRESULT IWSDDeviceProxy_EndGetMetadata(IWSDDeviceProxy* This,IWSDAsyncResult *pResult) { + return This->lpVtbl->EndGetMetadata(This,pResult); +} +static inline HRESULT IWSDDeviceProxy_GetHostMetadata(IWSDDeviceProxy* This,WSD_HOST_METADATA **ppHostMetadata) { + return This->lpVtbl->GetHostMetadata(This,ppHostMetadata); +} +static inline HRESULT IWSDDeviceProxy_GetThisModelMetadata(IWSDDeviceProxy* This,WSD_THIS_MODEL_METADATA **ppManufacturerMetadata) { + return This->lpVtbl->GetThisModelMetadata(This,ppManufacturerMetadata); +} +static inline HRESULT IWSDDeviceProxy_GetThisDeviceMetadata(IWSDDeviceProxy* This,WSD_THIS_DEVICE_METADATA **ppThisDeviceMetadata) { + return This->lpVtbl->GetThisDeviceMetadata(This,ppThisDeviceMetadata); +} +static inline HRESULT IWSDDeviceProxy_GetAllMetadata(IWSDDeviceProxy* This,WSD_METADATA_SECTION_LIST **ppMetadata) { + return This->lpVtbl->GetAllMetadata(This,ppMetadata); +} +static inline HRESULT IWSDDeviceProxy_GetServiceProxyById(IWSDDeviceProxy* This,LPCWSTR pszServiceId,IWSDServiceProxy **ppServiceProxy) { + return This->lpVtbl->GetServiceProxyById(This,pszServiceId,ppServiceProxy); +} +static inline HRESULT IWSDDeviceProxy_GetServiceProxyByType(IWSDDeviceProxy* This,const WSDXML_NAME *pType,IWSDServiceProxy **ppServiceProxy) { + return This->lpVtbl->GetServiceProxyByType(This,pType,ppServiceProxy); +} +static inline HRESULT IWSDDeviceProxy_GetEndpointProxy(IWSDDeviceProxy* This,IWSDEndpointProxy **ppProxy) { + return This->lpVtbl->GetEndpointProxy(This,ppProxy); +} +#endif +#endif + +#endif + + +#endif /* __IWSDDeviceProxy_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDServiceProxy interface + */ +#ifndef __IWSDServiceProxy_INTERFACE_DEFINED__ +#define __IWSDServiceProxy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDServiceProxy, 0xd4c7fb9c, 0x03ab, 0x4175, 0x9d,0x67, 0x09,0x4f,0xaf,0xeb,0xf4,0x87); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d4c7fb9c-03ab-4175-9d67-094fafebf487") +IWSDServiceProxy : public IWSDMetadataExchange +{ + virtual HRESULT STDMETHODCALLTYPE BeginGetMetadata( + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndGetMetadata( + IWSDAsyncResult *pResult, + WSD_METADATA_SECTION_LIST **ppMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetServiceMetadata( + WSD_SERVICE_METADATA **ppServiceMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubscribeToOperation( + const WSD_OPERATION *pOperation, + IUnknown *pUnknown, + const WSDXML_ELEMENT *pAny, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeToOperation( + const WSD_OPERATION *pOperation) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEventingStatusCallback( + IWSDEventingStatus *pStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndpointProxy( + IWSDEndpointProxy **ppProxy) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDServiceProxy, 0xd4c7fb9c, 0x03ab, 0x4175, 0x9d,0x67, 0x09,0x4f,0xaf,0xeb,0xf4,0x87) +#endif +#else +typedef struct IWSDServiceProxyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDServiceProxy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDServiceProxy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDServiceProxy *This); + + /*** IWSDMetadataExchange methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadata)( + IWSDServiceProxy *This, + WSD_METADATA_SECTION_LIST **MetadataOut); + + /*** IWSDServiceProxy methods ***/ + HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)( + IWSDServiceProxy *This, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndGetMetadata)( + IWSDServiceProxy *This, + IWSDAsyncResult *pResult, + WSD_METADATA_SECTION_LIST **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *GetServiceMetadata)( + IWSDServiceProxy *This, + WSD_SERVICE_METADATA **ppServiceMetadata); + + HRESULT (STDMETHODCALLTYPE *SubscribeToOperation)( + IWSDServiceProxy *This, + const WSD_OPERATION *pOperation, + IUnknown *pUnknown, + const WSDXML_ELEMENT *pAny, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *UnsubscribeToOperation)( + IWSDServiceProxy *This, + const WSD_OPERATION *pOperation); + + HRESULT (STDMETHODCALLTYPE *SetEventingStatusCallback)( + IWSDServiceProxy *This, + IWSDEventingStatus *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)( + IWSDServiceProxy *This, + IWSDEndpointProxy **ppProxy); + + END_INTERFACE +} IWSDServiceProxyVtbl; + +interface IWSDServiceProxy { + CONST_VTBL IWSDServiceProxyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDServiceProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDServiceProxy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDServiceProxy_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMetadataExchange methods ***/ +#define IWSDServiceProxy_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut) +/*** IWSDServiceProxy methods ***/ +#define IWSDServiceProxy_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult) +#define IWSDServiceProxy_EndGetMetadata(This,pResult,ppMetadata) (This)->lpVtbl->EndGetMetadata(This,pResult,ppMetadata) +#define IWSDServiceProxy_GetServiceMetadata(This,ppServiceMetadata) (This)->lpVtbl->GetServiceMetadata(This,ppServiceMetadata) +#define IWSDServiceProxy_SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) (This)->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) +#define IWSDServiceProxy_UnsubscribeToOperation(This,pOperation) (This)->lpVtbl->UnsubscribeToOperation(This,pOperation) +#define IWSDServiceProxy_SetEventingStatusCallback(This,pStatus) (This)->lpVtbl->SetEventingStatusCallback(This,pStatus) +#define IWSDServiceProxy_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDServiceProxy_QueryInterface(IWSDServiceProxy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDServiceProxy_AddRef(IWSDServiceProxy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDServiceProxy_Release(IWSDServiceProxy* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMetadataExchange methods ***/ +static inline HRESULT IWSDServiceProxy_GetMetadata(IWSDServiceProxy* This,WSD_METADATA_SECTION_LIST **MetadataOut) { + return This->lpVtbl->GetMetadata(This,MetadataOut); +} +/*** IWSDServiceProxy methods ***/ +static inline HRESULT IWSDServiceProxy_BeginGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginGetMetadata(This,ppResult); +} +static inline HRESULT IWSDServiceProxy_EndGetMetadata(IWSDServiceProxy* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) { + return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata); +} +static inline HRESULT IWSDServiceProxy_GetServiceMetadata(IWSDServiceProxy* This,WSD_SERVICE_METADATA **ppServiceMetadata) { + return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata); +} +static inline HRESULT IWSDServiceProxy_SubscribeToOperation(IWSDServiceProxy* This,const WSD_OPERATION *pOperation,IUnknown *pUnknown,const WSDXML_ELEMENT *pAny,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny); +} +static inline HRESULT IWSDServiceProxy_UnsubscribeToOperation(IWSDServiceProxy* This,const WSD_OPERATION *pOperation) { + return This->lpVtbl->UnsubscribeToOperation(This,pOperation); +} +static inline HRESULT IWSDServiceProxy_SetEventingStatusCallback(IWSDServiceProxy* This,IWSDEventingStatus *pStatus) { + return This->lpVtbl->SetEventingStatusCallback(This,pStatus); +} +static inline HRESULT IWSDServiceProxy_GetEndpointProxy(IWSDServiceProxy* This,IWSDEndpointProxy **ppProxy) { + return This->lpVtbl->GetEndpointProxy(This,ppProxy); +} +#endif +#endif + +#endif + + +#endif /* __IWSDServiceProxy_INTERFACE_DEFINED__ */ + +#if WINVER >= 0x601 +/***************************************************************************** + * IWSDServiceProxyEventing interface + */ +#ifndef __IWSDServiceProxyEventing_INTERFACE_DEFINED__ +#define __IWSDServiceProxyEventing_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDServiceProxyEventing, 0xf9279d6d, 0x1012, 0x4a94, 0xb8,0xcc, 0xfd,0x35,0xd2,0x20,0x2b,0xfe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f9279d6d-1012-4a94-b8cc-fd35d2202bfe") +IWSDServiceProxyEventing : public IWSDServiceProxy +{ + virtual HRESULT STDMETHODCALLTYPE SubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IUnknown *pUnknown, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginSubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IUnknown *pUnknown, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndSubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnsubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginUnsubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndUnsubscribeToMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE RenewMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginRenewMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndRenewMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStatusForMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginGetStatusForMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndGetStatusForMultipleOperations( + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDServiceProxyEventing, 0xf9279d6d, 0x1012, 0x4a94, 0xb8,0xcc, 0xfd,0x35,0xd2,0x20,0x2b,0xfe) +#endif +#else +typedef struct IWSDServiceProxyEventingVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDServiceProxyEventing *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDServiceProxyEventing *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDServiceProxyEventing *This); + + /*** IWSDMetadataExchange methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMetadata)( + IWSDServiceProxyEventing *This, + WSD_METADATA_SECTION_LIST **MetadataOut); + + /*** IWSDServiceProxy methods ***/ + HRESULT (STDMETHODCALLTYPE *BeginGetMetadata)( + IWSDServiceProxyEventing *This, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndGetMetadata)( + IWSDServiceProxyEventing *This, + IWSDAsyncResult *pResult, + WSD_METADATA_SECTION_LIST **ppMetadata); + + HRESULT (STDMETHODCALLTYPE *GetServiceMetadata)( + IWSDServiceProxyEventing *This, + WSD_SERVICE_METADATA **ppServiceMetadata); + + HRESULT (STDMETHODCALLTYPE *SubscribeToOperation)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperation, + IUnknown *pUnknown, + const WSDXML_ELEMENT *pAny, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *UnsubscribeToOperation)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperation); + + HRESULT (STDMETHODCALLTYPE *SetEventingStatusCallback)( + IWSDServiceProxyEventing *This, + IWSDEventingStatus *pStatus); + + HRESULT (STDMETHODCALLTYPE *GetEndpointProxy)( + IWSDServiceProxyEventing *This, + IWSDEndpointProxy **ppProxy); + + /*** IWSDServiceProxyEventing methods ***/ + HRESULT (STDMETHODCALLTYPE *SubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IUnknown *pUnknown, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *BeginSubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IUnknown *pUnknown, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndSubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *UnsubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny); + + HRESULT (STDMETHODCALLTYPE *BeginUnsubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndUnsubscribeToMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult); + + HRESULT (STDMETHODCALLTYPE *RenewMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *BeginRenewMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSD_EVENTING_EXPIRES *pExpires, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndRenewMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *GetStatusForMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + HRESULT (STDMETHODCALLTYPE *BeginGetStatusForMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + const WSDXML_ELEMENT *pAny, + IUnknown *pAsyncState, + IWSDAsyncCallback *pAsyncCallback, + IWSDAsyncResult **ppResult); + + HRESULT (STDMETHODCALLTYPE *EndGetStatusForMultipleOperations)( + IWSDServiceProxyEventing *This, + const WSD_OPERATION *pOperations, + DWORD dwOperationCount, + IWSDAsyncResult *pResult, + WSD_EVENTING_EXPIRES **ppExpires, + WSDXML_ELEMENT **ppAny); + + END_INTERFACE +} IWSDServiceProxyEventingVtbl; + +interface IWSDServiceProxyEventing { + CONST_VTBL IWSDServiceProxyEventingVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDServiceProxyEventing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDServiceProxyEventing_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDServiceProxyEventing_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDMetadataExchange methods ***/ +#define IWSDServiceProxyEventing_GetMetadata(This,MetadataOut) (This)->lpVtbl->GetMetadata(This,MetadataOut) +/*** IWSDServiceProxy methods ***/ +#define IWSDServiceProxyEventing_BeginGetMetadata(This,ppResult) (This)->lpVtbl->BeginGetMetadata(This,ppResult) +#define IWSDServiceProxyEventing_EndGetMetadata(This,pResult,ppMetadata) (This)->lpVtbl->EndGetMetadata(This,pResult,ppMetadata) +#define IWSDServiceProxyEventing_GetServiceMetadata(This,ppServiceMetadata) (This)->lpVtbl->GetServiceMetadata(This,ppServiceMetadata) +#define IWSDServiceProxyEventing_SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) (This)->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny) +#define IWSDServiceProxyEventing_UnsubscribeToOperation(This,pOperation) (This)->lpVtbl->UnsubscribeToOperation(This,pOperation) +#define IWSDServiceProxyEventing_SetEventingStatusCallback(This,pStatus) (This)->lpVtbl->SetEventingStatusCallback(This,pStatus) +#define IWSDServiceProxyEventing_GetEndpointProxy(This,ppProxy) (This)->lpVtbl->GetEndpointProxy(This,ppProxy) +/*** IWSDServiceProxyEventing methods ***/ +#define IWSDServiceProxyEventing_SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny) (This)->lpVtbl->SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny) +#define IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) +#define IWSDServiceProxyEventing_EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) +#define IWSDServiceProxyEventing_UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny) (This)->lpVtbl->UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny) +#define IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) +#define IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult) (This)->lpVtbl->EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult) +#define IWSDServiceProxyEventing_RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny) (This)->lpVtbl->RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny) +#define IWSDServiceProxyEventing_BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult) +#define IWSDServiceProxyEventing_EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) +#define IWSDServiceProxyEventing_GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny) (This)->lpVtbl->GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny) +#define IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) (This)->lpVtbl->BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult) +#define IWSDServiceProxyEventing_EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) (This)->lpVtbl->EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDServiceProxyEventing_QueryInterface(IWSDServiceProxyEventing* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDServiceProxyEventing_AddRef(IWSDServiceProxyEventing* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDServiceProxyEventing_Release(IWSDServiceProxyEventing* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDMetadataExchange methods ***/ +static inline HRESULT IWSDServiceProxyEventing_GetMetadata(IWSDServiceProxyEventing* This,WSD_METADATA_SECTION_LIST **MetadataOut) { + return This->lpVtbl->GetMetadata(This,MetadataOut); +} +/*** IWSDServiceProxy methods ***/ +static inline HRESULT IWSDServiceProxyEventing_BeginGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginGetMetadata(This,ppResult); +} +static inline HRESULT IWSDServiceProxyEventing_EndGetMetadata(IWSDServiceProxyEventing* This,IWSDAsyncResult *pResult,WSD_METADATA_SECTION_LIST **ppMetadata) { + return This->lpVtbl->EndGetMetadata(This,pResult,ppMetadata); +} +static inline HRESULT IWSDServiceProxyEventing_GetServiceMetadata(IWSDServiceProxyEventing* This,WSD_SERVICE_METADATA **ppServiceMetadata) { + return This->lpVtbl->GetServiceMetadata(This,ppServiceMetadata); +} +static inline HRESULT IWSDServiceProxyEventing_SubscribeToOperation(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperation,IUnknown *pUnknown,const WSDXML_ELEMENT *pAny,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->SubscribeToOperation(This,pOperation,pUnknown,pAny,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_UnsubscribeToOperation(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperation) { + return This->lpVtbl->UnsubscribeToOperation(This,pOperation); +} +static inline HRESULT IWSDServiceProxyEventing_SetEventingStatusCallback(IWSDServiceProxyEventing* This,IWSDEventingStatus *pStatus) { + return This->lpVtbl->SetEventingStatusCallback(This,pStatus); +} +static inline HRESULT IWSDServiceProxyEventing_GetEndpointProxy(IWSDServiceProxyEventing* This,IWSDEndpointProxy **ppProxy) { + return This->lpVtbl->GetEndpointProxy(This,ppProxy); +} +/*** IWSDServiceProxyEventing methods ***/ +static inline HRESULT IWSDServiceProxyEventing_SubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IUnknown *pUnknown,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->SubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,ppExpires,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_BeginSubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IUnknown *pUnknown,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pUnknown,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult); +} +static inline HRESULT IWSDServiceProxyEventing_EndSubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->EndSubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_UnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny) { + return This->lpVtbl->UnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny); +} +static inline HRESULT IWSDServiceProxyEventing_BeginUnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult); +} +static inline HRESULT IWSDServiceProxyEventing_EndUnsubscribeToMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult) { + return This->lpVtbl->EndUnsubscribeToMultipleOperations(This,pOperations,dwOperationCount,pResult); +} +static inline HRESULT IWSDServiceProxyEventing_RenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->RenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,ppExpires,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_BeginRenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSD_EVENTING_EXPIRES *pExpires,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginRenewMultipleOperations(This,pOperations,dwOperationCount,pExpires,pAny,pAsyncState,pAsyncCallback,ppResult); +} +static inline HRESULT IWSDServiceProxyEventing_EndRenewMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->EndRenewMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_GetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->GetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,ppExpires,ppAny); +} +static inline HRESULT IWSDServiceProxyEventing_BeginGetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,const WSDXML_ELEMENT *pAny,IUnknown *pAsyncState,IWSDAsyncCallback *pAsyncCallback,IWSDAsyncResult **ppResult) { + return This->lpVtbl->BeginGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pAny,pAsyncState,pAsyncCallback,ppResult); +} +static inline HRESULT IWSDServiceProxyEventing_EndGetStatusForMultipleOperations(IWSDServiceProxyEventing* This,const WSD_OPERATION *pOperations,DWORD dwOperationCount,IWSDAsyncResult *pResult,WSD_EVENTING_EXPIRES **ppExpires,WSDXML_ELEMENT **ppAny) { + return This->lpVtbl->EndGetStatusForMultipleOperations(This,pOperations,dwOperationCount,pResult,ppExpires,ppAny); +} +#endif +#endif + +#endif + + +#endif /* __IWSDServiceProxyEventing_INTERFACE_DEFINED__ */ + +#endif +HRESULT WINAPI WSDCreateDeviceProxy(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy); +HRESULT WINAPI WSDCreateDeviceProxyAdvanced(LPCWSTR pszDeviceId, IWSDAddress* pDeviceAddress, LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceProxy **ppDeviceProxy); +#if WINVER >= 0x601 +HRESULT WINAPI WSDCreateDeviceProxy2(LPCWSTR pszDeviceId, LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceProxy **ppDeviceProxy); +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsdclient_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsddisco.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsddisco.h new file mode 100644 index 00000000..5596bcf4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsddisco.h @@ -0,0 +1,1139 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsddisco.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 __wsddisco_h__ +#define __wsddisco_h__ + +/* Forward declarations */ + +#ifndef __IWSDScopeMatchingRule_FWD_DEFINED__ +#define __IWSDScopeMatchingRule_FWD_DEFINED__ +typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule; +#ifdef __cplusplus +interface IWSDScopeMatchingRule; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__ +#define __IWSDiscoveryProviderNotify_FWD_DEFINED__ +typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify; +#ifdef __cplusplus +interface IWSDiscoveryProviderNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryProvider_FWD_DEFINED__ +#define __IWSDiscoveryProvider_FWD_DEFINED__ +typedef interface IWSDiscoveryProvider IWSDiscoveryProvider; +#ifdef __cplusplus +interface IWSDiscoveryProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveredService_FWD_DEFINED__ +#define __IWSDiscoveredService_FWD_DEFINED__ +typedef interface IWSDiscoveredService IWSDiscoveredService; +#ifdef __cplusplus +interface IWSDiscoveredService; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__ +#define __IWSDiscoveryPublisherNotify_FWD_DEFINED__ +typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify; +#ifdef __cplusplus +interface IWSDiscoveryPublisherNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryPublisher_FWD_DEFINED__ +#define __IWSDiscoveryPublisher_FWD_DEFINED__ +typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher; +#ifdef __cplusplus +interface IWSDiscoveryPublisher; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef __IWSDXMLContext_FWD_DEFINED__ +#define __IWSDXMLContext_FWD_DEFINED__ +typedef interface IWSDXMLContext IWSDXMLContext; +#ifdef __cplusplus +interface IWSDXMLContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryProvider_FWD_DEFINED__ +#define __IWSDiscoveryProvider_FWD_DEFINED__ +typedef interface IWSDiscoveryProvider IWSDiscoveryProvider; +#ifdef __cplusplus +interface IWSDiscoveryProvider; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryProviderNotify_FWD_DEFINED__ +#define __IWSDiscoveryProviderNotify_FWD_DEFINED__ +typedef interface IWSDiscoveryProviderNotify IWSDiscoveryProviderNotify; +#ifdef __cplusplus +interface IWSDiscoveryProviderNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveredService_FWD_DEFINED__ +#define __IWSDiscoveredService_FWD_DEFINED__ +typedef interface IWSDiscoveredService IWSDiscoveredService; +#ifdef __cplusplus +interface IWSDiscoveredService; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryPublisher_FWD_DEFINED__ +#define __IWSDiscoveryPublisher_FWD_DEFINED__ +typedef interface IWSDiscoveryPublisher IWSDiscoveryPublisher; +#ifdef __cplusplus +interface IWSDiscoveryPublisher; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDiscoveryPublisherNotify_FWD_DEFINED__ +#define __IWSDiscoveryPublisherNotify_FWD_DEFINED__ +typedef interface IWSDiscoveryPublisherNotify IWSDiscoveryPublisherNotify; +#ifdef __cplusplus +interface IWSDiscoveryPublisherNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDScopeMatchingRule_FWD_DEFINED__ +#define __IWSDScopeMatchingRule_FWD_DEFINED__ +typedef interface IWSDScopeMatchingRule IWSDScopeMatchingRule; +#ifdef __cplusplus +interface IWSDScopeMatchingRule; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWSDScopeMatchingRule interface + */ +#ifndef __IWSDScopeMatchingRule_INTERFACE_DEFINED__ +#define __IWSDScopeMatchingRule_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDScopeMatchingRule, 0xfcafe424, 0xfef5, 0x481a, 0xbd,0x9f, 0x33,0xce,0x05,0x74,0x25,0x6f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fcafe424-fef5-481a-bd9f-33ce0574256f") +IWSDScopeMatchingRule : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetScopeRule( + LPCWSTR *ppszScopeMatchingRule) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchScopes( + LPCWSTR pszScope1, + LPCWSTR pszScope2, + WINBOOL *pfMatch) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDScopeMatchingRule, 0xfcafe424, 0xfef5, 0x481a, 0xbd,0x9f, 0x33,0xce,0x05,0x74,0x25,0x6f) +#endif +#else +typedef struct IWSDScopeMatchingRuleVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDScopeMatchingRule *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDScopeMatchingRule *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDScopeMatchingRule *This); + + /*** IWSDScopeMatchingRule methods ***/ + HRESULT (STDMETHODCALLTYPE *GetScopeRule)( + IWSDScopeMatchingRule *This, + LPCWSTR *ppszScopeMatchingRule); + + HRESULT (STDMETHODCALLTYPE *MatchScopes)( + IWSDScopeMatchingRule *This, + LPCWSTR pszScope1, + LPCWSTR pszScope2, + WINBOOL *pfMatch); + + END_INTERFACE +} IWSDScopeMatchingRuleVtbl; + +interface IWSDScopeMatchingRule { + CONST_VTBL IWSDScopeMatchingRuleVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDScopeMatchingRule_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDScopeMatchingRule_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDScopeMatchingRule_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDScopeMatchingRule methods ***/ +#define IWSDScopeMatchingRule_GetScopeRule(This,ppszScopeMatchingRule) (This)->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule) +#define IWSDScopeMatchingRule_MatchScopes(This,pszScope1,pszScope2,pfMatch) (This)->lpVtbl->MatchScopes(This,pszScope1,pszScope2,pfMatch) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDScopeMatchingRule_QueryInterface(IWSDScopeMatchingRule* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDScopeMatchingRule_AddRef(IWSDScopeMatchingRule* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDScopeMatchingRule_Release(IWSDScopeMatchingRule* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDScopeMatchingRule methods ***/ +static inline HRESULT IWSDScopeMatchingRule_GetScopeRule(IWSDScopeMatchingRule* This,LPCWSTR *ppszScopeMatchingRule) { + return This->lpVtbl->GetScopeRule(This,ppszScopeMatchingRule); +} +static inline HRESULT IWSDScopeMatchingRule_MatchScopes(IWSDScopeMatchingRule* This,LPCWSTR pszScope1,LPCWSTR pszScope2,WINBOOL *pfMatch) { + return This->lpVtbl->MatchScopes(This,pszScope1,pszScope2,pfMatch); +} +#endif +#endif + +#endif + + +#endif /* __IWSDScopeMatchingRule_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDiscoveryProviderNotify interface + */ +#ifndef __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__ +#define __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDiscoveryProviderNotify, 0x73ee3ced, 0xb6e6, 0x4329, 0xa5,0x46, 0x3e,0x8a,0xd4,0x65,0x63,0xd2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("73ee3ced-b6e6-4329-a546-3e8ad46563d2") +IWSDiscoveryProviderNotify : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Add( + IWSDiscoveredService *pService) = 0; + + virtual HRESULT STDMETHODCALLTYPE Remove( + IWSDiscoveredService *pService) = 0; + + virtual HRESULT STDMETHODCALLTYPE SearchFailed( + HRESULT hr, + LPCWSTR pszTag) = 0; + + virtual HRESULT STDMETHODCALLTYPE SearchComplete( + LPCWSTR pszTag) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDiscoveryProviderNotify, 0x73ee3ced, 0xb6e6, 0x4329, 0xa5,0x46, 0x3e,0x8a,0xd4,0x65,0x63,0xd2) +#endif +#else +typedef struct IWSDiscoveryProviderNotifyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDiscoveryProviderNotify *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDiscoveryProviderNotify *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDiscoveryProviderNotify *This); + + /*** IWSDiscoveryProviderNotify methods ***/ + HRESULT (STDMETHODCALLTYPE *Add)( + IWSDiscoveryProviderNotify *This, + IWSDiscoveredService *pService); + + HRESULT (STDMETHODCALLTYPE *Remove)( + IWSDiscoveryProviderNotify *This, + IWSDiscoveredService *pService); + + HRESULT (STDMETHODCALLTYPE *SearchFailed)( + IWSDiscoveryProviderNotify *This, + HRESULT hr, + LPCWSTR pszTag); + + HRESULT (STDMETHODCALLTYPE *SearchComplete)( + IWSDiscoveryProviderNotify *This, + LPCWSTR pszTag); + + END_INTERFACE +} IWSDiscoveryProviderNotifyVtbl; + +interface IWSDiscoveryProviderNotify { + CONST_VTBL IWSDiscoveryProviderNotifyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDiscoveryProviderNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDiscoveryProviderNotify_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDiscoveryProviderNotify_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDiscoveryProviderNotify methods ***/ +#define IWSDiscoveryProviderNotify_Add(This,pService) (This)->lpVtbl->Add(This,pService) +#define IWSDiscoveryProviderNotify_Remove(This,pService) (This)->lpVtbl->Remove(This,pService) +#define IWSDiscoveryProviderNotify_SearchFailed(This,hr,pszTag) (This)->lpVtbl->SearchFailed(This,hr,pszTag) +#define IWSDiscoveryProviderNotify_SearchComplete(This,pszTag) (This)->lpVtbl->SearchComplete(This,pszTag) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDiscoveryProviderNotify_QueryInterface(IWSDiscoveryProviderNotify* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDiscoveryProviderNotify_AddRef(IWSDiscoveryProviderNotify* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDiscoveryProviderNotify_Release(IWSDiscoveryProviderNotify* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDiscoveryProviderNotify methods ***/ +static inline HRESULT IWSDiscoveryProviderNotify_Add(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) { + return This->lpVtbl->Add(This,pService); +} +static inline HRESULT IWSDiscoveryProviderNotify_Remove(IWSDiscoveryProviderNotify* This,IWSDiscoveredService *pService) { + return This->lpVtbl->Remove(This,pService); +} +static inline HRESULT IWSDiscoveryProviderNotify_SearchFailed(IWSDiscoveryProviderNotify* This,HRESULT hr,LPCWSTR pszTag) { + return This->lpVtbl->SearchFailed(This,hr,pszTag); +} +static inline HRESULT IWSDiscoveryProviderNotify_SearchComplete(IWSDiscoveryProviderNotify* This,LPCWSTR pszTag) { + return This->lpVtbl->SearchComplete(This,pszTag); +} +#endif +#endif + +#endif + + +#endif /* __IWSDiscoveryProviderNotify_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDiscoveryProvider interface + */ +#ifndef __IWSDiscoveryProvider_INTERFACE_DEFINED__ +#define __IWSDiscoveryProvider_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDiscoveryProvider, 0x8ffc8e55, 0xf0eb, 0x480f, 0x88,0xb7, 0xb4,0x35,0xdd,0x28,0x1d,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8ffc8e55-f0eb-480f-88b7-b435dd281d45") +IWSDiscoveryProvider : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetAddressFamily( + DWORD dwAddressFamily) = 0; + + virtual HRESULT STDMETHODCALLTYPE Attach( + IWSDiscoveryProviderNotify *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE Detach( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE SearchById( + LPCWSTR pszId, + LPCWSTR pszTag) = 0; + + virtual HRESULT STDMETHODCALLTYPE SearchByAddress( + LPCWSTR pszAddress, + LPCWSTR pszTag) = 0; + + virtual HRESULT STDMETHODCALLTYPE SearchByType( + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + LPCWSTR pszMatchBy, + LPCWSTR pszTag) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetXMLContext( + IWSDXMLContext **ppContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDiscoveryProvider, 0x8ffc8e55, 0xf0eb, 0x480f, 0x88,0xb7, 0xb4,0x35,0xdd,0x28,0x1d,0x45) +#endif +#else +typedef struct IWSDiscoveryProviderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDiscoveryProvider *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDiscoveryProvider *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDiscoveryProvider *This); + + /*** IWSDiscoveryProvider methods ***/ + HRESULT (STDMETHODCALLTYPE *SetAddressFamily)( + IWSDiscoveryProvider *This, + DWORD dwAddressFamily); + + HRESULT (STDMETHODCALLTYPE *Attach)( + IWSDiscoveryProvider *This, + IWSDiscoveryProviderNotify *pSink); + + HRESULT (STDMETHODCALLTYPE *Detach)( + IWSDiscoveryProvider *This); + + HRESULT (STDMETHODCALLTYPE *SearchById)( + IWSDiscoveryProvider *This, + LPCWSTR pszId, + LPCWSTR pszTag); + + HRESULT (STDMETHODCALLTYPE *SearchByAddress)( + IWSDiscoveryProvider *This, + LPCWSTR pszAddress, + LPCWSTR pszTag); + + HRESULT (STDMETHODCALLTYPE *SearchByType)( + IWSDiscoveryProvider *This, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + LPCWSTR pszMatchBy, + LPCWSTR pszTag); + + HRESULT (STDMETHODCALLTYPE *GetXMLContext)( + IWSDiscoveryProvider *This, + IWSDXMLContext **ppContext); + + END_INTERFACE +} IWSDiscoveryProviderVtbl; + +interface IWSDiscoveryProvider { + CONST_VTBL IWSDiscoveryProviderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDiscoveryProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDiscoveryProvider_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDiscoveryProvider_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDiscoveryProvider methods ***/ +#define IWSDiscoveryProvider_SetAddressFamily(This,dwAddressFamily) (This)->lpVtbl->SetAddressFamily(This,dwAddressFamily) +#define IWSDiscoveryProvider_Attach(This,pSink) (This)->lpVtbl->Attach(This,pSink) +#define IWSDiscoveryProvider_Detach(This) (This)->lpVtbl->Detach(This) +#define IWSDiscoveryProvider_SearchById(This,pszId,pszTag) (This)->lpVtbl->SearchById(This,pszId,pszTag) +#define IWSDiscoveryProvider_SearchByAddress(This,pszAddress,pszTag) (This)->lpVtbl->SearchByAddress(This,pszAddress,pszTag) +#define IWSDiscoveryProvider_SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag) (This)->lpVtbl->SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag) +#define IWSDiscoveryProvider_GetXMLContext(This,ppContext) (This)->lpVtbl->GetXMLContext(This,ppContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDiscoveryProvider_QueryInterface(IWSDiscoveryProvider* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDiscoveryProvider_AddRef(IWSDiscoveryProvider* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDiscoveryProvider_Release(IWSDiscoveryProvider* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDiscoveryProvider methods ***/ +static inline HRESULT IWSDiscoveryProvider_SetAddressFamily(IWSDiscoveryProvider* This,DWORD dwAddressFamily) { + return This->lpVtbl->SetAddressFamily(This,dwAddressFamily); +} +static inline HRESULT IWSDiscoveryProvider_Attach(IWSDiscoveryProvider* This,IWSDiscoveryProviderNotify *pSink) { + return This->lpVtbl->Attach(This,pSink); +} +static inline HRESULT IWSDiscoveryProvider_Detach(IWSDiscoveryProvider* This) { + return This->lpVtbl->Detach(This); +} +static inline HRESULT IWSDiscoveryProvider_SearchById(IWSDiscoveryProvider* This,LPCWSTR pszId,LPCWSTR pszTag) { + return This->lpVtbl->SearchById(This,pszId,pszTag); +} +static inline HRESULT IWSDiscoveryProvider_SearchByAddress(IWSDiscoveryProvider* This,LPCWSTR pszAddress,LPCWSTR pszTag) { + return This->lpVtbl->SearchByAddress(This,pszAddress,pszTag); +} +static inline HRESULT IWSDiscoveryProvider_SearchByType(IWSDiscoveryProvider* This,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,LPCWSTR pszMatchBy,LPCWSTR pszTag) { + return This->lpVtbl->SearchByType(This,pTypesList,pScopesList,pszMatchBy,pszTag); +} +static inline HRESULT IWSDiscoveryProvider_GetXMLContext(IWSDiscoveryProvider* This,IWSDXMLContext **ppContext) { + return This->lpVtbl->GetXMLContext(This,ppContext); +} +#endif +#endif + +#endif + + +#endif /* __IWSDiscoveryProvider_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDiscoveredService interface + */ +#ifndef __IWSDiscoveredService_INTERFACE_DEFINED__ +#define __IWSDiscoveredService_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDiscoveredService, 0x4bad8a3b, 0xb374, 0x4420, 0x96,0x32, 0xaa,0xc9,0x45,0xb3,0x74,0xaa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4bad8a3b-b374-4420-9632-aac945b374aa") +IWSDiscoveredService : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetEndpointReference( + WSD_ENDPOINT_REFERENCE **ppEndpointReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTypes( + WSD_NAME_LIST **ppTypesList) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetScopes( + WSD_URI_LIST **ppScopesList) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetXAddrs( + WSD_URI_LIST **ppXAddrsList) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetMetadataVersion( + ULONGLONG *pullMetadataVersion) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetExtendedDiscoXML( + WSDXML_ELEMENT **ppHeaderAny, + WSDXML_ELEMENT **ppBodyAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProbeResolveTag( + LPCWSTR *ppszTag) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRemoteTransportAddress( + LPCWSTR *ppszRemoteTransportAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLocalTransportAddress( + LPCWSTR *ppszLocalTransportAddress) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLocalInterfaceGUID( + GUID *pGuid) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInstanceId( + ULONGLONG *pullInstanceId) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDiscoveredService, 0x4bad8a3b, 0xb374, 0x4420, 0x96,0x32, 0xaa,0xc9,0x45,0xb3,0x74,0xaa) +#endif +#else +typedef struct IWSDiscoveredServiceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDiscoveredService *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDiscoveredService *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDiscoveredService *This); + + /*** IWSDiscoveredService methods ***/ + HRESULT (STDMETHODCALLTYPE *GetEndpointReference)( + IWSDiscoveredService *This, + WSD_ENDPOINT_REFERENCE **ppEndpointReference); + + HRESULT (STDMETHODCALLTYPE *GetTypes)( + IWSDiscoveredService *This, + WSD_NAME_LIST **ppTypesList); + + HRESULT (STDMETHODCALLTYPE *GetScopes)( + IWSDiscoveredService *This, + WSD_URI_LIST **ppScopesList); + + HRESULT (STDMETHODCALLTYPE *GetXAddrs)( + IWSDiscoveredService *This, + WSD_URI_LIST **ppXAddrsList); + + HRESULT (STDMETHODCALLTYPE *GetMetadataVersion)( + IWSDiscoveredService *This, + ULONGLONG *pullMetadataVersion); + + HRESULT (STDMETHODCALLTYPE *GetExtendedDiscoXML)( + IWSDiscoveredService *This, + WSDXML_ELEMENT **ppHeaderAny, + WSDXML_ELEMENT **ppBodyAny); + + HRESULT (STDMETHODCALLTYPE *GetProbeResolveTag)( + IWSDiscoveredService *This, + LPCWSTR *ppszTag); + + HRESULT (STDMETHODCALLTYPE *GetRemoteTransportAddress)( + IWSDiscoveredService *This, + LPCWSTR *ppszRemoteTransportAddress); + + HRESULT (STDMETHODCALLTYPE *GetLocalTransportAddress)( + IWSDiscoveredService *This, + LPCWSTR *ppszLocalTransportAddress); + + HRESULT (STDMETHODCALLTYPE *GetLocalInterfaceGUID)( + IWSDiscoveredService *This, + GUID *pGuid); + + HRESULT (STDMETHODCALLTYPE *GetInstanceId)( + IWSDiscoveredService *This, + ULONGLONG *pullInstanceId); + + END_INTERFACE +} IWSDiscoveredServiceVtbl; + +interface IWSDiscoveredService { + CONST_VTBL IWSDiscoveredServiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDiscoveredService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDiscoveredService_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDiscoveredService_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDiscoveredService methods ***/ +#define IWSDiscoveredService_GetEndpointReference(This,ppEndpointReference) (This)->lpVtbl->GetEndpointReference(This,ppEndpointReference) +#define IWSDiscoveredService_GetTypes(This,ppTypesList) (This)->lpVtbl->GetTypes(This,ppTypesList) +#define IWSDiscoveredService_GetScopes(This,ppScopesList) (This)->lpVtbl->GetScopes(This,ppScopesList) +#define IWSDiscoveredService_GetXAddrs(This,ppXAddrsList) (This)->lpVtbl->GetXAddrs(This,ppXAddrsList) +#define IWSDiscoveredService_GetMetadataVersion(This,pullMetadataVersion) (This)->lpVtbl->GetMetadataVersion(This,pullMetadataVersion) +#define IWSDiscoveredService_GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny) (This)->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny) +#define IWSDiscoveredService_GetProbeResolveTag(This,ppszTag) (This)->lpVtbl->GetProbeResolveTag(This,ppszTag) +#define IWSDiscoveredService_GetRemoteTransportAddress(This,ppszRemoteTransportAddress) (This)->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress) +#define IWSDiscoveredService_GetLocalTransportAddress(This,ppszLocalTransportAddress) (This)->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress) +#define IWSDiscoveredService_GetLocalInterfaceGUID(This,pGuid) (This)->lpVtbl->GetLocalInterfaceGUID(This,pGuid) +#define IWSDiscoveredService_GetInstanceId(This,pullInstanceId) (This)->lpVtbl->GetInstanceId(This,pullInstanceId) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDiscoveredService_QueryInterface(IWSDiscoveredService* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDiscoveredService_AddRef(IWSDiscoveredService* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDiscoveredService_Release(IWSDiscoveredService* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDiscoveredService methods ***/ +static inline HRESULT IWSDiscoveredService_GetEndpointReference(IWSDiscoveredService* This,WSD_ENDPOINT_REFERENCE **ppEndpointReference) { + return This->lpVtbl->GetEndpointReference(This,ppEndpointReference); +} +static inline HRESULT IWSDiscoveredService_GetTypes(IWSDiscoveredService* This,WSD_NAME_LIST **ppTypesList) { + return This->lpVtbl->GetTypes(This,ppTypesList); +} +static inline HRESULT IWSDiscoveredService_GetScopes(IWSDiscoveredService* This,WSD_URI_LIST **ppScopesList) { + return This->lpVtbl->GetScopes(This,ppScopesList); +} +static inline HRESULT IWSDiscoveredService_GetXAddrs(IWSDiscoveredService* This,WSD_URI_LIST **ppXAddrsList) { + return This->lpVtbl->GetXAddrs(This,ppXAddrsList); +} +static inline HRESULT IWSDiscoveredService_GetMetadataVersion(IWSDiscoveredService* This,ULONGLONG *pullMetadataVersion) { + return This->lpVtbl->GetMetadataVersion(This,pullMetadataVersion); +} +static inline HRESULT IWSDiscoveredService_GetExtendedDiscoXML(IWSDiscoveredService* This,WSDXML_ELEMENT **ppHeaderAny,WSDXML_ELEMENT **ppBodyAny) { + return This->lpVtbl->GetExtendedDiscoXML(This,ppHeaderAny,ppBodyAny); +} +static inline HRESULT IWSDiscoveredService_GetProbeResolveTag(IWSDiscoveredService* This,LPCWSTR *ppszTag) { + return This->lpVtbl->GetProbeResolveTag(This,ppszTag); +} +static inline HRESULT IWSDiscoveredService_GetRemoteTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszRemoteTransportAddress) { + return This->lpVtbl->GetRemoteTransportAddress(This,ppszRemoteTransportAddress); +} +static inline HRESULT IWSDiscoveredService_GetLocalTransportAddress(IWSDiscoveredService* This,LPCWSTR *ppszLocalTransportAddress) { + return This->lpVtbl->GetLocalTransportAddress(This,ppszLocalTransportAddress); +} +static inline HRESULT IWSDiscoveredService_GetLocalInterfaceGUID(IWSDiscoveredService* This,GUID *pGuid) { + return This->lpVtbl->GetLocalInterfaceGUID(This,pGuid); +} +static inline HRESULT IWSDiscoveredService_GetInstanceId(IWSDiscoveredService* This,ULONGLONG *pullInstanceId) { + return This->lpVtbl->GetInstanceId(This,pullInstanceId); +} +#endif +#endif + +#endif + + +#endif /* __IWSDiscoveredService_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDiscoveryPublisherNotify interface + */ +#ifndef __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__ +#define __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDiscoveryPublisherNotify, 0xe67651b0, 0x337a, 0x4b3c, 0x97,0x58, 0x73,0x33,0x88,0x56,0x82,0x51); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e67651b0-337a-4b3c-9758-733388568251") +IWSDiscoveryPublisherNotify : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ProbeHandler( + const WSD_SOAP_MESSAGE *pSoap, + IWSDMessageParameters *pMessageParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE ResolveHandler( + const WSD_SOAP_MESSAGE *pSoap, + IWSDMessageParameters *pMessageParameters) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDiscoveryPublisherNotify, 0xe67651b0, 0x337a, 0x4b3c, 0x97,0x58, 0x73,0x33,0x88,0x56,0x82,0x51) +#endif +#else +typedef struct IWSDiscoveryPublisherNotifyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDiscoveryPublisherNotify *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDiscoveryPublisherNotify *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDiscoveryPublisherNotify *This); + + /*** IWSDiscoveryPublisherNotify methods ***/ + HRESULT (STDMETHODCALLTYPE *ProbeHandler)( + IWSDiscoveryPublisherNotify *This, + const WSD_SOAP_MESSAGE *pSoap, + IWSDMessageParameters *pMessageParameters); + + HRESULT (STDMETHODCALLTYPE *ResolveHandler)( + IWSDiscoveryPublisherNotify *This, + const WSD_SOAP_MESSAGE *pSoap, + IWSDMessageParameters *pMessageParameters); + + END_INTERFACE +} IWSDiscoveryPublisherNotifyVtbl; + +interface IWSDiscoveryPublisherNotify { + CONST_VTBL IWSDiscoveryPublisherNotifyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDiscoveryPublisherNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDiscoveryPublisherNotify_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDiscoveryPublisherNotify_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDiscoveryPublisherNotify methods ***/ +#define IWSDiscoveryPublisherNotify_ProbeHandler(This,pSoap,pMessageParameters) (This)->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters) +#define IWSDiscoveryPublisherNotify_ResolveHandler(This,pSoap,pMessageParameters) (This)->lpVtbl->ResolveHandler(This,pSoap,pMessageParameters) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDiscoveryPublisherNotify_QueryInterface(IWSDiscoveryPublisherNotify* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDiscoveryPublisherNotify_AddRef(IWSDiscoveryPublisherNotify* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDiscoveryPublisherNotify_Release(IWSDiscoveryPublisherNotify* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDiscoveryPublisherNotify methods ***/ +static inline HRESULT IWSDiscoveryPublisherNotify_ProbeHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) { + return This->lpVtbl->ProbeHandler(This,pSoap,pMessageParameters); +} +static inline HRESULT IWSDiscoveryPublisherNotify_ResolveHandler(IWSDiscoveryPublisherNotify* This,const WSD_SOAP_MESSAGE *pSoap,IWSDMessageParameters *pMessageParameters) { + return This->lpVtbl->ResolveHandler(This,pSoap,pMessageParameters); +} +#endif +#endif + +#endif + + +#endif /* __IWSDiscoveryPublisherNotify_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDiscoveryPublisher interface + */ +#ifndef __IWSDiscoveryPublisher_INTERFACE_DEFINED__ +#define __IWSDiscoveryPublisher_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDiscoveryPublisher, 0xae01e1a8, 0x3ff9, 0x4148, 0x81,0x16, 0x05,0x7c,0xc6,0x16,0xfe,0x13); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ae01e1a8-3ff9-4148-8116-057cc616fe13") +IWSDiscoveryPublisher : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetAddressFamily( + DWORD dwAddressFamily) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterNotificationSink( + IWSDiscoveryPublisherNotify *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegisterNotificationSink( + IWSDiscoveryPublisherNotify *pSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE Publish( + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnPublish( + LPCWSTR pszId, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSDXML_ELEMENT *pAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchProbe( + const WSD_SOAP_MESSAGE *pProbeMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchResolve( + const WSD_SOAP_MESSAGE *pResolveMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList) = 0; + + virtual HRESULT STDMETHODCALLTYPE PublishEx( + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchProbeEx( + const WSD_SOAP_MESSAGE *pProbeMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE MatchResolveEx( + const WSD_SOAP_MESSAGE *pResolveMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterScopeMatchingRule( + IWSDScopeMatchingRule *pScopeMatchingRule) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnRegisterScopeMatchingRule( + IWSDScopeMatchingRule *pScopeMatchingRule) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetXMLContext( + IWSDXMLContext **ppContext) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDiscoveryPublisher, 0xae01e1a8, 0x3ff9, 0x4148, 0x81,0x16, 0x05,0x7c,0xc6,0x16,0xfe,0x13) +#endif +#else +typedef struct IWSDiscoveryPublisherVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDiscoveryPublisher *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDiscoveryPublisher *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDiscoveryPublisher *This); + + /*** IWSDiscoveryPublisher methods ***/ + HRESULT (STDMETHODCALLTYPE *SetAddressFamily)( + IWSDiscoveryPublisher *This, + DWORD dwAddressFamily); + + HRESULT (STDMETHODCALLTYPE *RegisterNotificationSink)( + IWSDiscoveryPublisher *This, + IWSDiscoveryPublisherNotify *pSink); + + HRESULT (STDMETHODCALLTYPE *UnRegisterNotificationSink)( + IWSDiscoveryPublisher *This, + IWSDiscoveryPublisherNotify *pSink); + + HRESULT (STDMETHODCALLTYPE *Publish)( + IWSDiscoveryPublisher *This, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList); + + HRESULT (STDMETHODCALLTYPE *UnPublish)( + IWSDiscoveryPublisher *This, + LPCWSTR pszId, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSDXML_ELEMENT *pAny); + + HRESULT (STDMETHODCALLTYPE *MatchProbe)( + IWSDiscoveryPublisher *This, + const WSD_SOAP_MESSAGE *pProbeMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList); + + HRESULT (STDMETHODCALLTYPE *MatchResolve)( + IWSDiscoveryPublisher *This, + const WSD_SOAP_MESSAGE *pResolveMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList); + + HRESULT (STDMETHODCALLTYPE *PublishEx)( + IWSDiscoveryPublisher *This, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny); + + HRESULT (STDMETHODCALLTYPE *MatchProbeEx)( + IWSDiscoveryPublisher *This, + const WSD_SOAP_MESSAGE *pProbeMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny); + + HRESULT (STDMETHODCALLTYPE *MatchResolveEx)( + IWSDiscoveryPublisher *This, + const WSD_SOAP_MESSAGE *pResolveMessage, + IWSDMessageParameters *pMessageParameters, + LPCWSTR pszId, + ULONGLONG ullMetadataVersion, + ULONGLONG ullInstanceId, + ULONGLONG ullMessageNumber, + LPCWSTR pszSessionId, + const WSD_NAME_LIST *pTypesList, + const WSD_URI_LIST *pScopesList, + const WSD_URI_LIST *pXAddrsList, + const WSDXML_ELEMENT *pHeaderAny, + const WSDXML_ELEMENT *pReferenceParameterAny, + const WSDXML_ELEMENT *pPolicyAny, + const WSDXML_ELEMENT *pEndpointReferenceAny, + const WSDXML_ELEMENT *pAny); + + HRESULT (STDMETHODCALLTYPE *RegisterScopeMatchingRule)( + IWSDiscoveryPublisher *This, + IWSDScopeMatchingRule *pScopeMatchingRule); + + HRESULT (STDMETHODCALLTYPE *UnRegisterScopeMatchingRule)( + IWSDiscoveryPublisher *This, + IWSDScopeMatchingRule *pScopeMatchingRule); + + HRESULT (STDMETHODCALLTYPE *GetXMLContext)( + IWSDiscoveryPublisher *This, + IWSDXMLContext **ppContext); + + END_INTERFACE +} IWSDiscoveryPublisherVtbl; + +interface IWSDiscoveryPublisher { + CONST_VTBL IWSDiscoveryPublisherVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDiscoveryPublisher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDiscoveryPublisher_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDiscoveryPublisher_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDiscoveryPublisher methods ***/ +#define IWSDiscoveryPublisher_SetAddressFamily(This,dwAddressFamily) (This)->lpVtbl->SetAddressFamily(This,dwAddressFamily) +#define IWSDiscoveryPublisher_RegisterNotificationSink(This,pSink) (This)->lpVtbl->RegisterNotificationSink(This,pSink) +#define IWSDiscoveryPublisher_UnRegisterNotificationSink(This,pSink) (This)->lpVtbl->UnRegisterNotificationSink(This,pSink) +#define IWSDiscoveryPublisher_Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) +#define IWSDiscoveryPublisher_UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny) (This)->lpVtbl->UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny) +#define IWSDiscoveryPublisher_MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) +#define IWSDiscoveryPublisher_MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) (This)->lpVtbl->MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList) +#define IWSDiscoveryPublisher_PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) +#define IWSDiscoveryPublisher_MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) +#define IWSDiscoveryPublisher_MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) (This)->lpVtbl->MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny) +#define IWSDiscoveryPublisher_RegisterScopeMatchingRule(This,pScopeMatchingRule) (This)->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule) +#define IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(This,pScopeMatchingRule) (This)->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule) +#define IWSDiscoveryPublisher_GetXMLContext(This,ppContext) (This)->lpVtbl->GetXMLContext(This,ppContext) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDiscoveryPublisher_QueryInterface(IWSDiscoveryPublisher* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDiscoveryPublisher_AddRef(IWSDiscoveryPublisher* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDiscoveryPublisher_Release(IWSDiscoveryPublisher* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDiscoveryPublisher methods ***/ +static inline HRESULT IWSDiscoveryPublisher_SetAddressFamily(IWSDiscoveryPublisher* This,DWORD dwAddressFamily) { + return This->lpVtbl->SetAddressFamily(This,dwAddressFamily); +} +static inline HRESULT IWSDiscoveryPublisher_RegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) { + return This->lpVtbl->RegisterNotificationSink(This,pSink); +} +static inline HRESULT IWSDiscoveryPublisher_UnRegisterNotificationSink(IWSDiscoveryPublisher* This,IWSDiscoveryPublisherNotify *pSink) { + return This->lpVtbl->UnRegisterNotificationSink(This,pSink); +} +static inline HRESULT IWSDiscoveryPublisher_Publish(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) { + return This->lpVtbl->Publish(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList); +} +static inline HRESULT IWSDiscoveryPublisher_UnPublish(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSDXML_ELEMENT *pAny) { + return This->lpVtbl->UnPublish(This,pszId,ullInstanceId,ullMessageNumber,pszSessionId,pAny); +} +static inline HRESULT IWSDiscoveryPublisher_MatchProbe(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pProbeMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) { + return This->lpVtbl->MatchProbe(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList); +} +static inline HRESULT IWSDiscoveryPublisher_MatchResolve(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pResolveMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList) { + return This->lpVtbl->MatchResolve(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList); +} +static inline HRESULT IWSDiscoveryPublisher_PublishEx(IWSDiscoveryPublisher* This,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) { + return This->lpVtbl->PublishEx(This,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny); +} +static inline HRESULT IWSDiscoveryPublisher_MatchProbeEx(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pProbeMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) { + return This->lpVtbl->MatchProbeEx(This,pProbeMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny); +} +static inline HRESULT IWSDiscoveryPublisher_MatchResolveEx(IWSDiscoveryPublisher* This,const WSD_SOAP_MESSAGE *pResolveMessage,IWSDMessageParameters *pMessageParameters,LPCWSTR pszId,ULONGLONG ullMetadataVersion,ULONGLONG ullInstanceId,ULONGLONG ullMessageNumber,LPCWSTR pszSessionId,const WSD_NAME_LIST *pTypesList,const WSD_URI_LIST *pScopesList,const WSD_URI_LIST *pXAddrsList,const WSDXML_ELEMENT *pHeaderAny,const WSDXML_ELEMENT *pReferenceParameterAny,const WSDXML_ELEMENT *pPolicyAny,const WSDXML_ELEMENT *pEndpointReferenceAny,const WSDXML_ELEMENT *pAny) { + return This->lpVtbl->MatchResolveEx(This,pResolveMessage,pMessageParameters,pszId,ullMetadataVersion,ullInstanceId,ullMessageNumber,pszSessionId,pTypesList,pScopesList,pXAddrsList,pHeaderAny,pReferenceParameterAny,pPolicyAny,pEndpointReferenceAny,pAny); +} +static inline HRESULT IWSDiscoveryPublisher_RegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) { + return This->lpVtbl->RegisterScopeMatchingRule(This,pScopeMatchingRule); +} +static inline HRESULT IWSDiscoveryPublisher_UnRegisterScopeMatchingRule(IWSDiscoveryPublisher* This,IWSDScopeMatchingRule *pScopeMatchingRule) { + return This->lpVtbl->UnRegisterScopeMatchingRule(This,pScopeMatchingRule); +} +static inline HRESULT IWSDiscoveryPublisher_GetXMLContext(IWSDiscoveryPublisher* This,IWSDXMLContext **ppContext) { + return This->lpVtbl->GetXMLContext(This,ppContext); +} +#endif +#endif + +#endif + + +#endif /* __IWSDiscoveryPublisher_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WSDCreateDiscoveryProvider(IWSDXMLContext *pContext, IWSDiscoveryProvider **ppProvider); +HRESULT WINAPI WSDCreateDiscoveryPublisher(IWSDXMLContext* pContext, IWSDiscoveryPublisher **ppPublisher); +#if WINVER >= 0x601 +HRESULT WINAPI WSDCreateDiscoveryProvider2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryProvider **ppProvider); +HRESULT WINAPI WSDCreateDiscoveryPublisher2(IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDiscoveryPublisher **ppPublisher); +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsddisco_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdhost.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdhost.h new file mode 100644 index 00000000..0fe49dc0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdhost.h @@ -0,0 +1,520 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsdhost.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 __wsdhost_h__ +#define __wsdhost_h__ + +/* Forward declarations */ + +#ifndef __IWSDDeviceHostNotify_FWD_DEFINED__ +#define __IWSDDeviceHostNotify_FWD_DEFINED__ +typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify; +#ifdef __cplusplus +interface IWSDDeviceHostNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDServiceMessaging_FWD_DEFINED__ +#define __IWSDServiceMessaging_FWD_DEFINED__ +typedef interface IWSDServiceMessaging IWSDServiceMessaging; +#ifdef __cplusplus +interface IWSDServiceMessaging; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDDeviceHost_FWD_DEFINED__ +#define __IWSDDeviceHost_FWD_DEFINED__ +typedef interface IWSDDeviceHost IWSDDeviceHost; +#ifdef __cplusplus +interface IWSDDeviceHost; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef __IWSDAddress_FWD_DEFINED__ +#define __IWSDAddress_FWD_DEFINED__ +typedef interface IWSDAddress IWSDAddress; +#ifdef __cplusplus +interface IWSDAddress; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDXMLContext_FWD_DEFINED__ +#define __IWSDXMLContext_FWD_DEFINED__ +typedef interface IWSDXMLContext IWSDXMLContext; +#ifdef __cplusplus +interface IWSDXMLContext; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDDeviceHost_FWD_DEFINED__ +#define __IWSDDeviceHost_FWD_DEFINED__ +typedef interface IWSDDeviceHost IWSDDeviceHost; +#ifdef __cplusplus +interface IWSDDeviceHost; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDDeviceHostNotify_FWD_DEFINED__ +#define __IWSDDeviceHostNotify_FWD_DEFINED__ +typedef interface IWSDDeviceHostNotify IWSDDeviceHostNotify; +#ifdef __cplusplus +interface IWSDDeviceHostNotify; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSDServiceMessaging_FWD_DEFINED__ +#define __IWSDServiceMessaging_FWD_DEFINED__ +typedef interface IWSDServiceMessaging IWSDServiceMessaging; +#ifdef __cplusplus +interface IWSDServiceMessaging; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * IWSDDeviceHostNotify interface + */ +#ifndef __IWSDDeviceHostNotify_INTERFACE_DEFINED__ +#define __IWSDDeviceHostNotify_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b5bee9f9-eeda-41fe-96f7-f45e14990fb0") +IWSDDeviceHostNotify : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetService( + LPCWSTR pszServiceId, + IUnknown **ppService) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDDeviceHostNotify, 0xb5bee9f9, 0xeeda, 0x41fe, 0x96,0xf7, 0xf4,0x5e,0x14,0x99,0x0f,0xb0) +#endif +#else +typedef struct IWSDDeviceHostNotifyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDDeviceHostNotify *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDDeviceHostNotify *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDDeviceHostNotify *This); + + /*** IWSDDeviceHostNotify methods ***/ + HRESULT (STDMETHODCALLTYPE *GetService)( + IWSDDeviceHostNotify *This, + LPCWSTR pszServiceId, + IUnknown **ppService); + + END_INTERFACE +} IWSDDeviceHostNotifyVtbl; + +interface IWSDDeviceHostNotify { + CONST_VTBL IWSDDeviceHostNotifyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDDeviceHostNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDDeviceHostNotify_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDDeviceHostNotify_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDDeviceHostNotify methods ***/ +#define IWSDDeviceHostNotify_GetService(This,pszServiceId,ppService) (This)->lpVtbl->GetService(This,pszServiceId,ppService) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDDeviceHostNotify_QueryInterface(IWSDDeviceHostNotify* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDDeviceHostNotify_AddRef(IWSDDeviceHostNotify* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDDeviceHostNotify_Release(IWSDDeviceHostNotify* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDDeviceHostNotify methods ***/ +static inline HRESULT IWSDDeviceHostNotify_GetService(IWSDDeviceHostNotify* This,LPCWSTR pszServiceId,IUnknown **ppService) { + return This->lpVtbl->GetService(This,pszServiceId,ppService); +} +#endif +#endif + +#endif + + +#endif /* __IWSDDeviceHostNotify_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDServiceMessaging interface + */ +#ifndef __IWSDServiceMessaging_INTERFACE_DEFINED__ +#define __IWSDServiceMessaging_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94974cf4-0cab-460d-a3f6-7a0ad623c0e6") +IWSDServiceMessaging : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SendResponse( + void *pBody, + WSD_OPERATION *pOperation, + IWSDMessageParameters *pMessageParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE FaultRequest( + WSD_SOAP_HEADER *pRequestHeader, + IWSDMessageParameters *pMessageParameters, + WSD_SOAP_FAULT *pFault) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDServiceMessaging, 0x94974cf4, 0x0cab, 0x460d, 0xa3,0xf6, 0x7a,0x0a,0xd6,0x23,0xc0,0xe6) +#endif +#else +typedef struct IWSDServiceMessagingVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDServiceMessaging *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDServiceMessaging *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDServiceMessaging *This); + + /*** IWSDServiceMessaging methods ***/ + HRESULT (STDMETHODCALLTYPE *SendResponse)( + IWSDServiceMessaging *This, + void *pBody, + WSD_OPERATION *pOperation, + IWSDMessageParameters *pMessageParameters); + + HRESULT (STDMETHODCALLTYPE *FaultRequest)( + IWSDServiceMessaging *This, + WSD_SOAP_HEADER *pRequestHeader, + IWSDMessageParameters *pMessageParameters, + WSD_SOAP_FAULT *pFault); + + END_INTERFACE +} IWSDServiceMessagingVtbl; + +interface IWSDServiceMessaging { + CONST_VTBL IWSDServiceMessagingVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDServiceMessaging_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDServiceMessaging_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDServiceMessaging_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDServiceMessaging methods ***/ +#define IWSDServiceMessaging_SendResponse(This,pBody,pOperation,pMessageParameters) (This)->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters) +#define IWSDServiceMessaging_FaultRequest(This,pRequestHeader,pMessageParameters,pFault) (This)->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDServiceMessaging_QueryInterface(IWSDServiceMessaging* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDServiceMessaging_AddRef(IWSDServiceMessaging* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDServiceMessaging_Release(IWSDServiceMessaging* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDServiceMessaging methods ***/ +static inline HRESULT IWSDServiceMessaging_SendResponse(IWSDServiceMessaging* This,void *pBody,WSD_OPERATION *pOperation,IWSDMessageParameters *pMessageParameters) { + return This->lpVtbl->SendResponse(This,pBody,pOperation,pMessageParameters); +} +static inline HRESULT IWSDServiceMessaging_FaultRequest(IWSDServiceMessaging* This,WSD_SOAP_HEADER *pRequestHeader,IWSDMessageParameters *pMessageParameters,WSD_SOAP_FAULT *pFault) { + return This->lpVtbl->FaultRequest(This,pRequestHeader,pMessageParameters,pFault); +} +#endif +#endif + +#endif + + +#endif /* __IWSDServiceMessaging_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSDDeviceHost interface + */ +#ifndef __IWSDDeviceHost_INTERFACE_DEFINED__ +#define __IWSDDeviceHost_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("917fe891-3d13-4138-9809-934c8abeb12c") +IWSDDeviceHost : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Init( + LPCWSTR pszLocalId, + IWSDXMLContext *pContext, + IWSDAddress **ppHostAddresses, + DWORD dwHostAddressCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE Start( + ULONGLONG ullInstanceId, + const WSD_URI_LIST *pScopeList, + IWSDDeviceHostNotify *pNotificationSink) = 0; + + virtual HRESULT STDMETHODCALLTYPE Stop( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Terminate( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterPortType( + const WSD_PORT_TYPE *pPortType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMetadata( + const WSD_THIS_MODEL_METADATA *pThisModelMetadata, + const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata, + const WSD_HOST_METADATA *pHostMetadata, + const WSD_METADATA_SECTION_LIST *pCustomMetadata) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterService( + LPCWSTR pszServiceId, + IUnknown *pService) = 0; + + virtual HRESULT STDMETHODCALLTYPE RetireService( + LPCWSTR pszServiceId) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDynamicService( + LPCWSTR pszServiceId, + LPCWSTR pszEndpointAddress, + const WSD_PORT_TYPE *pPortType, + const WSDXML_NAME *pPortName, + const WSDXML_ELEMENT *pAny, + IUnknown *pService) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveDynamicService( + LPCWSTR pszServiceId) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetServiceDiscoverable( + LPCWSTR pszServiceId, + WINBOOL fDiscoverable) = 0; + + virtual HRESULT STDMETHODCALLTYPE SignalEvent( + LPCWSTR pszServiceId, + const void *pBody, + const WSD_OPERATION *pOperation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDDeviceHost, 0x917fe891, 0x3d13, 0x4138, 0x98,0x09, 0x93,0x4c,0x8a,0xbe,0xb1,0x2c) +#endif +#else +typedef struct IWSDDeviceHostVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDDeviceHost *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDDeviceHost *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDDeviceHost *This); + + /*** IWSDDeviceHost methods ***/ + HRESULT (STDMETHODCALLTYPE *Init)( + IWSDDeviceHost *This, + LPCWSTR pszLocalId, + IWSDXMLContext *pContext, + IWSDAddress **ppHostAddresses, + DWORD dwHostAddressCount); + + HRESULT (STDMETHODCALLTYPE *Start)( + IWSDDeviceHost *This, + ULONGLONG ullInstanceId, + const WSD_URI_LIST *pScopeList, + IWSDDeviceHostNotify *pNotificationSink); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IWSDDeviceHost *This); + + HRESULT (STDMETHODCALLTYPE *Terminate)( + IWSDDeviceHost *This); + + HRESULT (STDMETHODCALLTYPE *RegisterPortType)( + IWSDDeviceHost *This, + const WSD_PORT_TYPE *pPortType); + + HRESULT (STDMETHODCALLTYPE *SetMetadata)( + IWSDDeviceHost *This, + const WSD_THIS_MODEL_METADATA *pThisModelMetadata, + const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata, + const WSD_HOST_METADATA *pHostMetadata, + const WSD_METADATA_SECTION_LIST *pCustomMetadata); + + HRESULT (STDMETHODCALLTYPE *RegisterService)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId, + IUnknown *pService); + + HRESULT (STDMETHODCALLTYPE *RetireService)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId); + + HRESULT (STDMETHODCALLTYPE *AddDynamicService)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId, + LPCWSTR pszEndpointAddress, + const WSD_PORT_TYPE *pPortType, + const WSDXML_NAME *pPortName, + const WSDXML_ELEMENT *pAny, + IUnknown *pService); + + HRESULT (STDMETHODCALLTYPE *RemoveDynamicService)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId); + + HRESULT (STDMETHODCALLTYPE *SetServiceDiscoverable)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId, + WINBOOL fDiscoverable); + + HRESULT (STDMETHODCALLTYPE *SignalEvent)( + IWSDDeviceHost *This, + LPCWSTR pszServiceId, + const void *pBody, + const WSD_OPERATION *pOperation); + + END_INTERFACE +} IWSDDeviceHostVtbl; + +interface IWSDDeviceHost { + CONST_VTBL IWSDDeviceHostVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDDeviceHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDDeviceHost_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDDeviceHost_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDDeviceHost methods ***/ +#define IWSDDeviceHost_Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount) (This)->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount) +#define IWSDDeviceHost_Start(This,ullInstanceId,pScopeList,pNotificationSink) (This)->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink) +#define IWSDDeviceHost_Stop(This) (This)->lpVtbl->Stop(This) +#define IWSDDeviceHost_Terminate(This) (This)->lpVtbl->Terminate(This) +#define IWSDDeviceHost_RegisterPortType(This,pPortType) (This)->lpVtbl->RegisterPortType(This,pPortType) +#define IWSDDeviceHost_SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata) (This)->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata) +#define IWSDDeviceHost_RegisterService(This,pszServiceId,pService) (This)->lpVtbl->RegisterService(This,pszServiceId,pService) +#define IWSDDeviceHost_RetireService(This,pszServiceId) (This)->lpVtbl->RetireService(This,pszServiceId) +#define IWSDDeviceHost_AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService) (This)->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService) +#define IWSDDeviceHost_RemoveDynamicService(This,pszServiceId) (This)->lpVtbl->RemoveDynamicService(This,pszServiceId) +#define IWSDDeviceHost_SetServiceDiscoverable(This,pszServiceId,fDiscoverable) (This)->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable) +#define IWSDDeviceHost_SignalEvent(This,pszServiceId,pBody,pOperation) (This)->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDDeviceHost_QueryInterface(IWSDDeviceHost* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDDeviceHost_AddRef(IWSDDeviceHost* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDDeviceHost_Release(IWSDDeviceHost* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDDeviceHost methods ***/ +static inline HRESULT IWSDDeviceHost_Init(IWSDDeviceHost* This,LPCWSTR pszLocalId,IWSDXMLContext *pContext,IWSDAddress **ppHostAddresses,DWORD dwHostAddressCount) { + return This->lpVtbl->Init(This,pszLocalId,pContext,ppHostAddresses,dwHostAddressCount); +} +static inline HRESULT IWSDDeviceHost_Start(IWSDDeviceHost* This,ULONGLONG ullInstanceId,const WSD_URI_LIST *pScopeList,IWSDDeviceHostNotify *pNotificationSink) { + return This->lpVtbl->Start(This,ullInstanceId,pScopeList,pNotificationSink); +} +static inline HRESULT IWSDDeviceHost_Stop(IWSDDeviceHost* This) { + return This->lpVtbl->Stop(This); +} +static inline HRESULT IWSDDeviceHost_Terminate(IWSDDeviceHost* This) { + return This->lpVtbl->Terminate(This); +} +static inline HRESULT IWSDDeviceHost_RegisterPortType(IWSDDeviceHost* This,const WSD_PORT_TYPE *pPortType) { + return This->lpVtbl->RegisterPortType(This,pPortType); +} +static inline HRESULT IWSDDeviceHost_SetMetadata(IWSDDeviceHost* This,const WSD_THIS_MODEL_METADATA *pThisModelMetadata,const WSD_THIS_DEVICE_METADATA *pThisDeviceMetadata,const WSD_HOST_METADATA *pHostMetadata,const WSD_METADATA_SECTION_LIST *pCustomMetadata) { + return This->lpVtbl->SetMetadata(This,pThisModelMetadata,pThisDeviceMetadata,pHostMetadata,pCustomMetadata); +} +static inline HRESULT IWSDDeviceHost_RegisterService(IWSDDeviceHost* This,LPCWSTR pszServiceId,IUnknown *pService) { + return This->lpVtbl->RegisterService(This,pszServiceId,pService); +} +static inline HRESULT IWSDDeviceHost_RetireService(IWSDDeviceHost* This,LPCWSTR pszServiceId) { + return This->lpVtbl->RetireService(This,pszServiceId); +} +static inline HRESULT IWSDDeviceHost_AddDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId,LPCWSTR pszEndpointAddress,const WSD_PORT_TYPE *pPortType,const WSDXML_NAME *pPortName,const WSDXML_ELEMENT *pAny,IUnknown *pService) { + return This->lpVtbl->AddDynamicService(This,pszServiceId,pszEndpointAddress,pPortType,pPortName,pAny,pService); +} +static inline HRESULT IWSDDeviceHost_RemoveDynamicService(IWSDDeviceHost* This,LPCWSTR pszServiceId) { + return This->lpVtbl->RemoveDynamicService(This,pszServiceId); +} +static inline HRESULT IWSDDeviceHost_SetServiceDiscoverable(IWSDDeviceHost* This,LPCWSTR pszServiceId,WINBOOL fDiscoverable) { + return This->lpVtbl->SetServiceDiscoverable(This,pszServiceId,fDiscoverable); +} +static inline HRESULT IWSDDeviceHost_SignalEvent(IWSDDeviceHost* This,LPCWSTR pszServiceId,const void *pBody,const WSD_OPERATION *pOperation) { + return This->lpVtbl->SignalEvent(This,pszServiceId,pBody,pOperation); +} +#endif +#endif + +#endif + + +#endif /* __IWSDDeviceHost_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WSDCreateDeviceHost(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDDeviceHost **ppDeviceHost); +#if WINVER >= 0x601 +HRESULT WINAPI WSDCreateDeviceHost2(LPCWSTR pszLocalId, IWSDXMLContext *pContext, WSD_CONFIG_PARAM *pConfigParams, DWORD dwConfigParamCount, IWSDDeviceHost **ppDeviceHost); +#endif +HRESULT WINAPI WSDCreateDeviceHostAdvanced(LPCWSTR pszLocalId, IWSDXMLContext *pContext, IWSDAddress** ppHostAddresses, DWORD dwHostAddressCount, IWSDDeviceHost **ppDeviceHost); +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsdhost_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdtypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdtypes.h new file mode 100644 index 00000000..d5a2b188 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdtypes.h @@ -0,0 +1,481 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#define WSDRegisterTypes(pContext) pContext->SetTypes (WSDTypes, 40, 0) + +#define TYPE_ENCODING_WSD_RELATIONSHIP_METADATA WSDXML_TYPE_ENCODING (0, 0) +#define TYPE_ENCODING_WSD_HOST_METADATA WSDXML_TYPE_ENCODING (1, 0) +#define TYPE_ENCODING_WSD_SERVICE_METADATA WSDXML_TYPE_ENCODING (2, 0) +#define TYPE_ENCODING_WSD_THIS_DEVICE_METADATA WSDXML_TYPE_ENCODING (3, 0) +#define TYPE_ENCODING_WSD_THIS_MODEL_METADATA WSDXML_TYPE_ENCODING (4, 0) +#define TYPE_ENCODING_WSD_SOAP_FAULT_REASON WSDXML_TYPE_ENCODING (5, 0) +#define TYPE_ENCODING_WSD_SOAP_FAULT_SUBCODE WSDXML_TYPE_ENCODING (6, 0) +#define TYPE_ENCODING_WSD_SOAP_FAULT_CODE WSDXML_TYPE_ENCODING (7, 0) +#define TYPE_ENCODING_WSD_SOAP_FAULT WSDXML_TYPE_ENCODING (8, 0) +#define TYPE_ENCODING_WSD_APP_SEQUENCE WSDXML_TYPE_ENCODING (9, 0) +#define TYPE_ENCODING_WSD_HEADER_RELATESTO WSDXML_TYPE_ENCODING (10, 0) +#define TYPE_ENCODING_WSD_SOAP_HEADER WSDXML_TYPE_ENCODING (11, 0) +#define TYPE_ENCODING_WSD_SOAP_MESSAGE WSDXML_TYPE_ENCODING (12, 0) +#define TYPE_ENCODING_WSD_RESOLVE_MATCHES WSDXML_TYPE_ENCODING (13, 0) +#define TYPE_ENCODING_WSD_RESOLVE_MATCH WSDXML_TYPE_ENCODING (14, 0) +#define TYPE_ENCODING_WSD_RESOLVE WSDXML_TYPE_ENCODING (15, 0) +#define TYPE_ENCODING_WSD_PROBE_MATCH WSDXML_TYPE_ENCODING (16, 0) +#define TYPE_ENCODING_WSD_PROBE_MATCHES WSDXML_TYPE_ENCODING (17, 0) +#define TYPE_ENCODING_WSD_PROBE WSDXML_TYPE_ENCODING (18, 0) +#define TYPE_ENCODING_WSD_BYE WSDXML_TYPE_ENCODING (19, 0) +#define TYPE_ENCODING_WSD_SCOPES WSDXML_TYPE_ENCODING (20, 0) +#define TYPE_ENCODING_WSD_HELLO WSDXML_TYPE_ENCODING (21, 0) +#define TYPE_ENCODING_WSD_REFERENCE_PARAMETERS WSDXML_TYPE_ENCODING (22, 0) +#define TYPE_ENCODING_WSD_REFERENCE_PROPERTIES WSDXML_TYPE_ENCODING (23, 0) +#define TYPE_ENCODING_WSD_ENDPOINT_REFERENCE WSDXML_TYPE_ENCODING (24, 0) +#define TYPE_ENCODING_WSD_METADATA_SECTION WSDXML_TYPE_ENCODING (25, 0) +#define TYPE_ENCODING_WSD_EVENTING_FILTER_ACTION WSDXML_TYPE_ENCODING (26, 0) +#define TYPE_ENCODING_WSD_EVENTING_FILTER WSDXML_TYPE_ENCODING (27, 0) +#define TYPE_ENCODING_WSD_EVENTING_EXPIRES WSDXML_TYPE_ENCODING (28, 0) +#define TYPE_ENCODING_WSD_EVENTING_DELIVERY_MODE_PUSH WSDXML_TYPE_ENCODING (29, 0) +#define TYPE_ENCODING_WSD_EVENTING_DELIVERY_MODE WSDXML_TYPE_ENCODING (30, 0) +#define TYPE_ENCODING_WSD_LOCALIZED_STRING WSDXML_TYPE_ENCODING (31, 0) +#define TYPE_ENCODING_WSD11_RESOLVE_MATCH WSDXML_TYPE_ENCODING (32, 0) +#define TYPE_ENCODING_WSD11_RESOLVE_MATCHES WSDXML_TYPE_ENCODING (33, 0) +#define TYPE_ENCODING_WSD11_RESOLVE WSDXML_TYPE_ENCODING (34, 0) +#define TYPE_ENCODING_WSD11_PROBE_MATCH WSDXML_TYPE_ENCODING (35, 0) +#define TYPE_ENCODING_WSD11_PROBE_MATCHES WSDXML_TYPE_ENCODING (36, 0) +#define TYPE_ENCODING_WSD11_PROBE WSDXML_TYPE_ENCODING (37, 0) +#define TYPE_ENCODING_WSD11_BYE WSDXML_TYPE_ENCODING (38, 0) +#define TYPE_ENCODING_WSD11_HELLO WSDXML_TYPE_ENCODING (39, 0) + +typedef enum _WSD_PROTOCOL_TYPE { + WSD_PT_NONE = 0x00, + WSD_PT_UDP = 0x01, + WSD_PT_HTTP = 0x02, + WSD_PT_HTTPS = 0x04, + WSD_PT_ALL = 0xff, +} WSD_PROTOCOL_TYPE; + +typedef enum _WSDEventType { + WSDET_NONE = 0, + WSDET_INCOMING_MESSAGE = 1, + WSDET_INCOMING_FAULT = 2, + WSDET_TRANSMISSION_FAILURE = 3, + WSDET_RESPONSE_TIMEOUT = 4 +} WSDEventType; + +typedef struct _WSD_DURATION WSD_DURATION; +typedef struct _WSD_DATETIME WSD_DATETIME; +typedef struct _WSD_EVENT WSD_EVENT; +typedef struct _WSD_RELATIONSHIP_METADATA WSD_RELATIONSHIP_METADATA; +typedef struct _WSD_SERVICE_METADATA_LIST WSD_SERVICE_METADATA_LIST; +typedef struct _WSD_HOST_METADATA WSD_HOST_METADATA; +typedef struct _WSD_ENDPOINT_REFERENCE_LIST WSD_ENDPOINT_REFERENCE_LIST; +typedef struct _WSD_SERVICE_METADATA WSD_SERVICE_METADATA; +typedef struct _WSD_THIS_DEVICE_METADATA WSD_THIS_DEVICE_METADATA; +typedef struct _WSD_THIS_MODEL_METADATA WSD_THIS_MODEL_METADATA; +typedef struct _WSD_LOCALIZED_STRING_LIST WSD_LOCALIZED_STRING_LIST; +typedef struct _WSD_SOAP_FAULT_REASON WSD_SOAP_FAULT_REASON; +typedef struct _WSD_SOAP_FAULT_SUBCODE WSD_SOAP_FAULT_SUBCODE; +typedef struct _WSD_SOAP_FAULT_CODE WSD_SOAP_FAULT_CODE; +typedef struct _WSD_SOAP_FAULT WSD_SOAP_FAULT; +typedef struct _WSD_HEADER_RELATESTO WSD_HEADER_RELATESTO; +typedef struct _WSD_SOAP_HEADER WSD_SOAP_HEADER; +typedef struct _WSD_SOAP_MESSAGE WSD_SOAP_MESSAGE; +typedef struct _WSD_RESOLVE_MATCHES WSD_RESOLVE_MATCHES; +typedef struct _WSD_RESOLVE_MATCH WSD_RESOLVE_MATCH; +typedef struct _WSD_RESOLVE WSD_RESOLVE; +typedef struct _WSD_PROBE_MATCH WSD_PROBE_MATCH; +typedef struct _WSD_PROBE_MATCH_LIST WSD_PROBE_MATCH_LIST; +typedef struct _WSD_PROBE_MATCHES WSD_PROBE_MATCHES; +typedef struct _WSD_PROBE WSD_PROBE; +typedef struct _WSD_BYE WSD_BYE; +typedef struct _WSD_SCOPES WSD_SCOPES; +typedef struct _WSD_NAME_LIST WSD_NAME_LIST; +typedef struct _WSD_HELLO WSD_HELLO; +typedef struct _WSD_REFERENCE_PARAMETERS WSD_REFERENCE_PARAMETERS; +typedef struct _WSD_REFERENCE_PROPERTIES WSD_REFERENCE_PROPERTIES; +typedef struct _WSD_ENDPOINT_REFERENCE WSD_ENDPOINT_REFERENCE; +typedef struct _WSD_METADATA_SECTION WSD_METADATA_SECTION; +typedef struct _WSD_METADATA_SECTION_LIST WSD_METADATA_SECTION_LIST; +typedef struct _WSD_URI_LIST WSD_URI_LIST; +typedef struct _WSD_EVENTING_FILTER_ACTION WSD_EVENTING_FILTER_ACTION; +typedef struct _WSD_EVENTING_FILTER WSD_EVENTING_FILTER; +typedef struct _WSD_EVENTING_EXPIRES WSD_EVENTING_EXPIRES; +typedef struct _WSD_EVENTING_DELIVERY_MODE_PUSH WSD_EVENTING_DELIVERY_MODE_PUSH; +typedef struct _WSD_EVENTING_DELIVERY_MODE WSD_EVENTING_DELIVERY_MODE; + +interface IWSDMessageParameters; +interface IWSDServiceMessaging; + +typedef HRESULT (*WSD_STUB_FUNCTION) (IUnknown *server, IWSDServiceMessaging *session, WSD_EVENT *event); +typedef HRESULT (*PWSD_SOAP_MESSAGE_HANDLER) (IUnknown *thisUnknown, WSD_EVENT *event); + +typedef struct _WSD_OPERATION { + WSDXML_TYPE *RequestType; + WSDXML_TYPE *ResponseType; + WSD_STUB_FUNCTION RequestStubFunction; +} WSD_OPERATION; + +typedef struct _WSD_SYNCHRONOUS_RESPONSE_CONTEXT { + HRESULT hr; + HANDLE eventHandle; + IWSDMessageParameters *messageParameters; + void *results; +} WSD_SYNCHRONOUS_RESPONSE_CONTEXT; + +typedef struct _WSD_LOCALIZED_STRING { + const WCHAR *lang; + const WCHAR *String; +} WSD_LOCALIZED_STRING; + +typedef struct _WSD_APP_SEQUENCE { + ULONGLONG InstanceId; + const WCHAR *SequenceId; + ULONGLONG MessageNumber; +} WSD_APP_SEQUENCE; + +typedef struct _WSD_HANDLER_CONTEXT { + PWSD_SOAP_MESSAGE_HANDLER Handler; + void *PVoid; + IUnknown *Unknown; +} WSD_HANDLER_CONTEXT; + +typedef struct _WSD_PORT_TYPE { + DWORD EncodedName; + DWORD OperationCount; + WSD_OPERATION *Operations; + WSD_PROTOCOL_TYPE ProtocolType; +} WSD_PORT_TYPE; + +struct _WSD_RELATIONSHIP_METADATA { + const WCHAR *Type; + WSD_HOST_METADATA *Data; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_SERVICE_METADATA_LIST { + WSD_SERVICE_METADATA_LIST *Next; + WSD_SERVICE_METADATA *Element; +}; + +struct _WSD_HOST_METADATA { + WSD_SERVICE_METADATA *Host; + WSD_SERVICE_METADATA_LIST *Hosted; +}; + +struct _WSD_ENDPOINT_REFERENCE_LIST { + WSD_ENDPOINT_REFERENCE_LIST *Next; + WSD_ENDPOINT_REFERENCE *Element; +}; + +struct _WSD_SERVICE_METADATA { + WSD_ENDPOINT_REFERENCE_LIST *EndpointReference; + WSD_NAME_LIST *Types; + const WCHAR *ServiceId; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_THIS_DEVICE_METADATA { + WSD_LOCALIZED_STRING_LIST *FriendlyName; + const WCHAR *FirmwareVersion; + const WCHAR *SerialNumber; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_THIS_MODEL_METADATA { + WSD_LOCALIZED_STRING_LIST *Manufacturer; + const WCHAR *ManufacturerUrl; + WSD_LOCALIZED_STRING_LIST *ModelName; + const WCHAR *ModelNumber; + const WCHAR *ModelUrl; + const WCHAR *PresentationUrl; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_LOCALIZED_STRING_LIST { + WSD_LOCALIZED_STRING_LIST *Next; + WSD_LOCALIZED_STRING *Element; +}; + +struct _WSD_SOAP_FAULT_REASON { + WSD_LOCALIZED_STRING_LIST *Text; +}; + +struct _WSD_SOAP_FAULT_SUBCODE { + WSDXML_NAME *Value; + WSD_SOAP_FAULT_SUBCODE *Subcode; +}; + +struct _WSD_SOAP_FAULT_CODE { + WSDXML_NAME *Value; + WSD_SOAP_FAULT_SUBCODE *Subcode; +}; + +struct _WSD_SOAP_FAULT { + WSD_SOAP_FAULT_CODE *Code; + WSD_SOAP_FAULT_REASON *Reason; + const WCHAR *Node; + const WCHAR *Role; + WSDXML_ELEMENT *Detail; +}; + +struct _WSD_HEADER_RELATESTO { + WSDXML_NAME *RelationshipType; + const WCHAR *MessageID; +}; + +struct _WSD_SOAP_HEADER { + const WCHAR *To; + const WCHAR *Action; + const WCHAR *MessageID; + WSD_HEADER_RELATESTO RelatesTo; + WSD_ENDPOINT_REFERENCE *ReplyTo; + WSD_ENDPOINT_REFERENCE *From; + WSD_ENDPOINT_REFERENCE *FaultTo; + WSD_APP_SEQUENCE *AppSequence; + WSDXML_ELEMENT *AnyHeaders; +}; + +struct _WSD_SOAP_MESSAGE { + WSD_SOAP_HEADER Header; + void *Body; + WSDXML_TYPE *BodyType; +}; + +struct _WSD_RESOLVE_MATCHES { + WSD_RESOLVE_MATCH *ResolveMatch; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_RESOLVE_MATCH { + WSD_ENDPOINT_REFERENCE *EndpointReference; + WSD_NAME_LIST *Types; + WSD_SCOPES *Scopes; + WSD_URI_LIST *XAddrs; + ULONGLONG MetadataVersion; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_RESOLVE { + WSD_ENDPOINT_REFERENCE *EndpointReference; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_PROBE_MATCH { + WSD_ENDPOINT_REFERENCE *EndpointReference; + WSD_NAME_LIST *Types; + WSD_SCOPES *Scopes; + WSD_URI_LIST *XAddrs; + ULONGLONG MetadataVersion; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_PROBE_MATCH_LIST { + WSD_PROBE_MATCH_LIST *Next; + WSD_PROBE_MATCH *Element; +}; + +struct _WSD_PROBE_MATCHES { + WSD_PROBE_MATCH_LIST *ProbeMatch; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_PROBE { + WSD_NAME_LIST *Types; + WSD_SCOPES *Scopes; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_BYE { + WSD_ENDPOINT_REFERENCE *EndpointReference; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_SCOPES { + const WCHAR *MatchBy; + WSD_URI_LIST *Scopes; +}; + +struct _WSD_NAME_LIST { + WSD_NAME_LIST *Next; + WSDXML_NAME *Element; +}; + +struct _WSD_HELLO { + WSD_ENDPOINT_REFERENCE *EndpointReference; + WSD_NAME_LIST *Types; + WSD_SCOPES *Scopes; + WSD_URI_LIST *XAddrs; + ULONGLONG MetadataVersion; + WSDXML_ELEMENT *Any; +}; +struct _WSD_REFERENCE_PARAMETERS { + WSDXML_ELEMENT *Any; +}; + +struct _WSD_REFERENCE_PROPERTIES { + WSDXML_ELEMENT *Any; +}; + +struct _WSD_ENDPOINT_REFERENCE { + const WCHAR *Address; + WSD_REFERENCE_PROPERTIES ReferenceProperties; + WSD_REFERENCE_PARAMETERS ReferenceParameters; + WSDXML_NAME *PortType; + WSDXML_NAME *ServiceName; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_METADATA_SECTION { + const WCHAR *Dialect; + const WCHAR *Identifier; + void *Data; + WSD_ENDPOINT_REFERENCE *MetadataReference; + const WCHAR *Location; + WSDXML_ELEMENT *Any; +}; + +struct _WSD_METADATA_SECTION_LIST { + WSD_METADATA_SECTION_LIST *Next; + WSD_METADATA_SECTION *Element; +}; + +struct _WSD_URI_LIST { + WSD_URI_LIST *Next; + const WCHAR *Element; +}; + +struct _WSD_EVENTING_FILTER_ACTION { + WSD_URI_LIST *Actions; +}; + +struct _WSD_EVENTING_FILTER { + const WCHAR *Dialect; + WSD_EVENTING_FILTER_ACTION *FilterAction; + void *Data; +}; + +struct _WSD_EVENTING_EXPIRES { + WSD_DURATION *Duration; + WSD_DATETIME *DateTime; +}; + +struct _WSD_EVENTING_DELIVERY_MODE_PUSH { + WSD_ENDPOINT_REFERENCE *NotifyTo; +}; + +struct _WSD_EVENTING_DELIVERY_MODE { + const WCHAR *Mode; + WSD_EVENTING_DELIVERY_MODE_PUSH *Push; + void *Data; +}; + +typedef struct { + WSD_METADATA_SECTION_LIST *Metadata; +} RESPONSEBODY_GetMetadata; + +typedef struct { + WSD_ENDPOINT_REFERENCE *EndTo; + WSD_EVENTING_DELIVERY_MODE *Delivery; + WSD_EVENTING_EXPIRES *Expires; + WSD_EVENTING_FILTER *Filter; + WSDXML_ELEMENT *Any; +} REQUESTBODY_Subscribe; + +typedef struct { + WSD_ENDPOINT_REFERENCE *SubscriptionManager; + WSD_EVENTING_EXPIRES *expires; + WSDXML_ELEMENT *any; +} RESPONSEBODY_Subscribe; + +typedef struct { + WSD_EVENTING_EXPIRES *Expires; + WSDXML_ELEMENT *Any; +} REQUESTBODY_Renew; + +typedef struct { + WSD_EVENTING_EXPIRES *expires; + WSDXML_ELEMENT *any; +} RESPONSEBODY_Renew; + +typedef struct { + WSDXML_ELEMENT *Any; +} REQUESTBODY_GetStatus; + +typedef struct { + WSD_EVENTING_EXPIRES *expires; + WSDXML_ELEMENT *any; +} RESPONSEBODY_GetStatus; + +typedef struct { + WSDXML_ELEMENT *any; +} REQUESTBODY_Unsubscribe; + +typedef struct { + WSD_ENDPOINT_REFERENCE *SubscriptionManager; + const WCHAR *Status; + WSD_LOCALIZED_STRING *Reason; + WSDXML_ELEMENT *Any; +} RESPONSEBODY_SubscriptionEnd; + +typedef struct _WSD_UNKNOWN_LOOKUP { + WSDXML_ELEMENT *Any; +} WSD_UNKNOWN_LOOKUP; + +struct _WSD_EVENT { + HRESULT Hr; + DWORD EventType; + WCHAR *DispatchTag; + WSD_HANDLER_CONTEXT HandlerContext; + WSD_SOAP_MESSAGE *Soap; + WSD_OPERATION *Operation; + IWSDMessageParameters *MessageParameters; +}; + +extern WSDXML_TYPE *WSDTypes[40]; + +extern WSDXML_TYPE Type_WSD_RELATIONSHIP_METADATA; +extern WSDXML_TYPE Type_WSD_HOST_METADATA; +extern WSDXML_TYPE Type_WSD_SERVICE_METADATA; +extern WSDXML_TYPE Type_WSD_THIS_DEVICE_METADATA; +extern WSDXML_TYPE Type_WSD_THIS_MODEL_METADATA; +extern WSDXML_TYPE Type_WSD_SOAP_FAULT_REASON; +extern WSDXML_TYPE Type_WSD_SOAP_FAULT_SUBCODE; +extern WSDXML_TYPE Type_WSD_SOAP_FAULT_CODE; +extern WSDXML_TYPE Type_WSD_SOAP_FAULT; +extern WSDXML_TYPE Type_WSD_APP_SEQUENCE; +extern WSDXML_TYPE Type_WSD_HEADER_RELATESTO; +extern WSDXML_TYPE Type_WSD_SOAP_HEADER; +extern WSDXML_TYPE Type_WSD_SOAP_MESSAGE; +extern WSDXML_TYPE Type_WSD_RESOLVE_MATCHES; +extern WSDXML_TYPE Type_WSD_RESOLVE_MATCH; +extern WSDXML_TYPE Type_WSD_RESOLVE; +extern WSDXML_TYPE Type_WSD_PROBE_MATCH; +extern WSDXML_TYPE Type_WSD_PROBE_MATCHES; +extern WSDXML_TYPE Type_WSD_PROBE; +extern WSDXML_TYPE Type_WSD_BYE; +extern WSDXML_TYPE Type_WSD_SCOPES; +extern WSDXML_TYPE Type_WSD_HELLO; +extern WSDXML_TYPE Type_WSD_REFERENCE_PARAMETERS; +extern WSDXML_TYPE Type_WSD_REFERENCE_PROPERTIES; +extern WSDXML_TYPE Type_WSD_ENDPOINT_REFERENCE; +extern WSDXML_TYPE Type_WSD_METADATA_SECTION; +extern WSDXML_TYPE Type_WSD_EVENTING_FILTER_ACTION; +extern WSDXML_TYPE Type_WSD_EVENTING_FILTER; +extern WSDXML_TYPE Type_WSD_EVENTING_EXPIRES; +extern WSDXML_TYPE Type_WSD_EVENTING_DELIVERY_MODE_PUSH; +extern WSDXML_TYPE Type_WSD_EVENTING_DELIVERY_MODE; +extern WSDXML_TYPE Type_WSD_LOCALIZED_STRING; +extern WSDXML_TYPE Type_WSD11_RESOLVE_MATCH; +extern WSDXML_TYPE Type_WSD11_RESOLVE_MATCHES; +extern WSDXML_TYPE Type_WSD11_RESOLVE; +extern WSDXML_TYPE Type_WSD11_PROBE_MATCH; +extern WSDXML_TYPE Type_WSD11_PROBE_MATCHES; +extern WSDXML_TYPE Type_WSD11_PROBE; +extern WSDXML_TYPE Type_WSD11_BYE; +extern WSDXML_TYPE Type_WSD11_HELLO; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdutil.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdutil.h new file mode 100644 index 00000000..4911d8f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdutil.h @@ -0,0 +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 _INC_WSDUTIL +#define _INC_WSDUTIL + +#ifndef _INC_WSDAPI +#error Please include wsdapi.h instead of this header. This header cannot be used directly. +#endif + +#if (_WIN32_WINNT >= 0x0600) + +#ifdef __cplusplus +extern "C" { +#endif + +void* WINAPI WSDAllocateLinkedMemory( + void *pParent, + size_t cbSize +); + +void WINAPI WSDAttachLinkedMemory( + void *pParent, + void *pChild +); + +void WINAPI WSDDetachLinkedMemory( + void *pVoid +); + +void WINAPI WSDFreeLinkedMemory( + void *pVoid +); + +HRESULT WINAPI WSDGenerateFault( + const LPCWSTR *pszCode, + const LPCWSTR *pszSubCode, + const LPCWSTR *pszReason, + const LPCWSTR *pszDetail, + IWSDXMLContext *pContext, + WSD_SOAP_FAULT **ppFault +); + +#define WSDAPI_OPTION_MAX_INBOUND_MESSAGE_SIZE 0x0001 + +HRESULT WINAPI WSDGenerateFaultEx( + WSDXML_NAME *pCode, + WSDXML_NAME *pSubCode, + WSD_LOCALIZED_STRING_LIST *pReasons, + const LPCWSTR *pszDetail, + WSD_SOAP_FAULT **ppFault +); + +HRESULT WINAPI WSDGetConfigurationOption( + DWORD dwOption, + LPVOID pVoid, + DWORD cbOutBuffer +); + +HRESULT WINAPI WSDSetConfigurationOption( + DWORD dwOption, + LPVOID pVoid, + DWORD cbInBuffer +); + +STDAPI WSDXMLAddChild( + WSDXML_ELEMENT *pParent, + WSDXML_ELEMENT *pChild +); + +STDAPI WSDXMLAddSibling( + WSDXML_ELEMENT *pFirst, + WSDXML_ELEMENT *pSecond +); + +STDAPI WSDXMLBuildAnyForSingleElement( + WSDXML_NAME *pElementName, + const LPCWSTR *pszText, + WSDXML_ELEMENT **ppAny +); + +HRESULT WINAPI WSDXMLCleanupElement( + WSDXML_ELEMENT *pAny +); + +STDAPI WSDXMLGetValueFromAny( + const WCHAR *pszNamespace, + const WCHAR *pszName, + WSDXML_ELEMENT *pAny, + const LPCWSTR *ppszValue +); + +#ifdef __cplusplus +} +#endif + +#endif /*(_WIN32_WINNT >= 0x0600)*/ +#endif /*_INC_WSDUTIL*/ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxml.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxml.h new file mode 100644 index 00000000..2d0a2829 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxml.h @@ -0,0 +1,314 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsdxml.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 __wsdxml_h__ +#define __wsdxml_h__ + +/* Forward declarations */ + +#ifndef __IWSDXMLContext_FWD_DEFINED__ +#define __IWSDXMLContext_FWD_DEFINED__ +typedef interface IWSDXMLContext IWSDXMLContext; +#ifdef __cplusplus +interface IWSDXMLContext; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +#ifndef __IWSDXMLContext_FWD_DEFINED__ +#define __IWSDXMLContext_FWD_DEFINED__ +typedef interface IWSDXMLContext IWSDXMLContext; +#ifdef __cplusplus +interface IWSDXMLContext; +#endif /* __cplusplus */ +#endif + +enum { + OpNone = 0, + OpEndOfTable = 1, + OpBeginElement_ = 2, + OpBeginAnyElement = 3, + OpEndElement = 4, + OpElement_ = 5, + OpAnyElement = 6, + OpAnyElements = 7, + OpAnyText = 8, + OpAttribute_ = 9, + OpBeginChoice = 10, + OpEndChoice = 11, + OpBeginSequence = 12, + OpEndSequence = 13, + OpBeginAll = 14, + OpEndAll = 15, + OpAnything = 16, + OpAnyNumber = 17, + OpOneOrMore = 18, + OpOptional = 19, + OpFormatBool_ = 20, + OpFormatInt8_ = 21, + OpFormatInt16_ = 22, + OpFormatInt32_ = 23, + OpFormatInt64_ = 24, + OpFormatUInt8_ = 25, + OpFormatUInt16_ = 26, + OpFormatUInt32_ = 27, + OpFormatUInt64_ = 28, + OpFormatUnicodeString_ = 29, + OpFormatDom_ = 30, + OpFormatStruct_ = 31, + OpFormatUri_ = 32, + OpFormatUuidUri_ = 33, + OpFormatName_ = 34, + OpFormatListInsertTail_ = 35, + OpFormatType_ = 36, + OpFormatDynamicType_ = 37, + OpFormatLookupType_ = 38, + OpFormatDuration_ = 39, + OpFormatDateTime_ = 40, + OpFormatFloat_ = 41, + OpFormatDouble_ = 42, + OpProcess_ = 43, + OpQualifiedAttribute_ = 44, + OpFormatXMLDeclaration_ = 45, + OpFormatMax = 46 +}; +typedef struct _WSDXML_NAMESPACE WSDXML_NAMESPACE; +typedef const WSDXML_NAMESPACE *PCWSDXML_NAMESPACE; +typedef struct _WSDXML_NAME WSDXML_NAME; +typedef struct _WSDXML_TYPE WSDXML_TYPE; +typedef const WSDXML_TYPE *PCWSDXML_TYPE; +typedef struct _WSDXML_PREFIX_MAPPING WSDXML_PREFIX_MAPPING; +typedef struct _WSDXML_ATTRIBUTE WSDXML_ATTRIBUTE; +typedef struct _WSDXML_NODE WSDXML_NODE; +typedef struct _WSDXML_ELEMENT WSDXML_ELEMENT; +typedef struct _WSDXML_TEXT WSDXML_TEXT; +typedef struct _WSDXML_ELEMENT_LIST WSDXML_ELEMENT_LIST; +typedef struct _WSD_DATETIME { + WINBOOL isPositive; + ULONG year; + UCHAR month; + UCHAR day; + UCHAR hour; + UCHAR minute; + UCHAR second; + UINT millisecond; + WINBOOL TZIsLocal; + WINBOOL TZIsPositive; + UCHAR TZHour; + UCHAR TZMinute; +} WSD_DATETIME; +typedef struct _WSD_DURATION { + WINBOOL isPositive; + ULONG year; + ULONG month; + ULONG day; + ULONG hour; + ULONG minute; + ULONG second; + ULONG millisecond; +} WSD_DURATION; + +#define WSDXML_TYPE_ENCODING(tidx,lno) ((((DWORD) lno) << 28) | tidx) +#define WSDXML_NAMESPACE_ENCODING(nsidx, lno) ((((WORD) lno) << 12) | nsidx) +#define WSDXML_NAME_ENCODING(nidx, nsenc) ((((DWORD) nsenc) << 16) | nidx) + +#define OFFSET(type,field) ((DWORD_PTR) (&((type *)0)->field)) +#define BYTE0(n) (BYTE) (((DWORD) n) & 0xff) +#define BYTE1(n) (BYTE) ((((DWORD) n) >> 8) & 0xff) +#define BYTE2(n) (BYTE) ((((DWORD) n) >> 16) & 0xff) +#define BYTE3(n) (BYTE)((((DWORD) n) >> 24) & 0xff) +#define BYTES(n) BYTE0(n), BYTE1(n), BYTE2(n), BYTE3(n) + +#define OpAttribute(name) OpAttribute_, BYTES(name) +#define OpBeginElement(name) OpBeginElement_, BYTES(name) +#define OpElement(name) OpElement_, BYTES(name) +#define OpFormatBool(type,field,isptr) OpFormatBool_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatDateTime(type,field) OpFormatDateTime_, BYTES(OFFSET(type,field)) +#define OpFormatDom(type,field) OpFormatDom_, BYTES(OFFSET(type,field)) +#define OpFormatDouble(type,field,isptr) OpFormatDouble_, BYTES(isptr),BYTES(OFFSET(type,field)) +#define OpFormatDuration(type,field) OpFormatDuration_, BYTES(OFFSET(type,field)) +#define OpFormatDynamicType(name,type,field) OpFormatDynamicType_, BYTES(name),BYTES(OFFSET(type,field)) +#define OpFormatFloat(type,field,isptr) OpFormatFloat_, BYTES(isptr),BYTES(OFFSET(type,field)) +#define OpFormatInt8(type,field,isptr) OpFormatInt8_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatInt16(type,field,isptr) OpFormatInt16_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatInt32(type,field,isptr) OpFormatInt32_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatInt64(type,field,isptr) OpFormatInt64_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatListInsertTail(s,type,field) OpFormatListInsertTail_,BYTES(sizeof(s)),BYTES(OFFSET(type,field)) +#define OpFormatLookupType(uriField,type,field) OpFormatLookupType_, BYTES(OFFSET(type,uriField)),BYTES(OFFSET(type,field)) +#define OpFormatName(type,field) OpFormatName_, BYTES(OFFSET(type,field)) +#define OpFormatPointerToStruct(sType) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(0) +#define OpFormatStruct(sType,type,field) OpFormatStruct_, BYTES(sizeof(sType)),BYTES(OFFSET(type,field)) +#define OpFormatType(table,type,field) OpFormatType_, BYTES(table),BYTES(OFFSET(type,field)) +#define OpFormatUInt8(type,field,isptr) OpFormatUInt8_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatUInt16(type,field,isptr) OpFormatUInt16_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatUInt32(type,field,isptr) OpFormatUInt32_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatUInt64(type,field,isptr) OpFormatUInt64_, BYTES(isptr), BYTES(OFFSET(type,field)) +#define OpFormatUnicodeString(type,field) OpFormatUnicodeString_, BYTES(OFFSET(type,field)) +#define OpFormatUri(type,field) OpFormatUri_, BYTES(OFFSET(type,field)) +#define OpFormatUuidUri(type,field,isptr) OpFormatUuidUri_, BYTES(isptr),BYTES(OFFSET(type,field)) +#define OpFormatXMLDeclaration(type,field) OpFormatXMLDeclaration_, BYTES(OFFSET(type,field)) +#define OpProcess(type,field) OpProcess_, BYTES(OFFSET(type,field)) +#define OpQualifiedAttribute(name) OpQualifiedAttribute_, BYTES(name) +/***************************************************************************** + * IWSDXMLContext interface + */ +#ifndef __IWSDXMLContext_INTERFACE_DEFINED__ +#define __IWSDXMLContext_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("75d8f3ee-3e5a-43b4-a15a-bcf6887460c0") +IWSDXMLContext : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AddNamespace( + LPCWSTR pszUri, + LPCWSTR pszSuggestedPrefix, + WSDXML_NAMESPACE **ppNamespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddNameToNamespace( + LPCWSTR pszUri, + LPCWSTR pszName, + WSDXML_NAME **ppName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetNamespaces( + const PCWSDXML_NAMESPACE *pNamespaces, + WORD wNamespacesCount, + BYTE bLayerNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTypes( + const PCWSDXML_TYPE *pTypes, + DWORD dwTypesCount, + BYTE bLayerNumber) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSDXMLContext, 0x75d8f3ee, 0x3e5a, 0x43b4, 0xa1,0x5a, 0xbc,0xf6,0x88,0x74,0x60,0xc0) +#endif +#else +typedef struct IWSDXMLContextVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSDXMLContext *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSDXMLContext *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSDXMLContext *This); + + /*** IWSDXMLContext methods ***/ + HRESULT (STDMETHODCALLTYPE *AddNamespace)( + IWSDXMLContext *This, + LPCWSTR pszUri, + LPCWSTR pszSuggestedPrefix, + WSDXML_NAMESPACE **ppNamespace); + + HRESULT (STDMETHODCALLTYPE *AddNameToNamespace)( + IWSDXMLContext *This, + LPCWSTR pszUri, + LPCWSTR pszName, + WSDXML_NAME **ppName); + + HRESULT (STDMETHODCALLTYPE *SetNamespaces)( + IWSDXMLContext *This, + const PCWSDXML_NAMESPACE *pNamespaces, + WORD wNamespacesCount, + BYTE bLayerNumber); + + HRESULT (STDMETHODCALLTYPE *SetTypes)( + IWSDXMLContext *This, + const PCWSDXML_TYPE *pTypes, + DWORD dwTypesCount, + BYTE bLayerNumber); + + END_INTERFACE +} IWSDXMLContextVtbl; + +interface IWSDXMLContext { + CONST_VTBL IWSDXMLContextVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSDXMLContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSDXMLContext_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSDXMLContext_Release(This) (This)->lpVtbl->Release(This) +/*** IWSDXMLContext methods ***/ +#define IWSDXMLContext_AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) (This)->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace) +#define IWSDXMLContext_AddNameToNamespace(This,pszUri,pszName,ppName) (This)->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName) +#define IWSDXMLContext_SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber) (This)->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber) +#define IWSDXMLContext_SetTypes(This,pTypes,dwTypesCount,bLayerNumber) (This)->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSDXMLContext_QueryInterface(IWSDXMLContext* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSDXMLContext_AddRef(IWSDXMLContext* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSDXMLContext_Release(IWSDXMLContext* This) { + return This->lpVtbl->Release(This); +} +/*** IWSDXMLContext methods ***/ +static inline HRESULT IWSDXMLContext_AddNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszSuggestedPrefix,WSDXML_NAMESPACE **ppNamespace) { + return This->lpVtbl->AddNamespace(This,pszUri,pszSuggestedPrefix,ppNamespace); +} +static inline HRESULT IWSDXMLContext_AddNameToNamespace(IWSDXMLContext* This,LPCWSTR pszUri,LPCWSTR pszName,WSDXML_NAME **ppName) { + return This->lpVtbl->AddNameToNamespace(This,pszUri,pszName,ppName); +} +static inline HRESULT IWSDXMLContext_SetNamespaces(IWSDXMLContext* This,const PCWSDXML_NAMESPACE *pNamespaces,WORD wNamespacesCount,BYTE bLayerNumber) { + return This->lpVtbl->SetNamespaces(This,pNamespaces,wNamespacesCount,bLayerNumber); +} +static inline HRESULT IWSDXMLContext_SetTypes(IWSDXMLContext* This,const PCWSDXML_TYPE *pTypes,DWORD dwTypesCount,BYTE bLayerNumber) { + return This->lpVtbl->SetTypes(This,pTypes,dwTypesCount,bLayerNumber); +} +#endif +#endif + +#endif + + +#endif /* __IWSDXMLContext_INTERFACE_DEFINED__ */ + +HRESULT WINAPI WSDXMLGetNameFromBuiltinNamespace(LPCWSTR pszNamespace, LPCWSTR pszName, WSDXML_NAME **ppName); +HRESULT WINAPI WSDXMLCreateContext(IWSDXMLContext **ppContext); +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsdxml_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxmldom.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxmldom.h new file mode 100644 index 00000000..efad1014 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsdxmldom.h @@ -0,0 +1,73 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#ifndef __WSDXMLDOM_H__ +#define __WSDXMLDOM_H__ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +typedef struct _WSDXML_TYPE { + const WCHAR *Uri; + const BYTE *Table; +} WSDXML_TYPE; + +typedef struct _WSDXML_NAMESPACE { + const WCHAR *Uri; + const WCHAR *PreferredPrefix; + struct _WSDXML_NAME *Names; + WORD NamesCount; + WORD Encoding; +} WSDXML_NAMESPACE; + +typedef struct _WSDXML_NAME { + WSDXML_NAMESPACE *Space; + WCHAR *LocalName; +} WSDXML_NAME; + +typedef struct _WSDXML_PREFIX_MAPPING { + DWORD Refs; + struct _WSDXML_PREFIX_MAPPING *Next; + WSDXML_NAMESPACE *Space; + WCHAR *Prefix; +} WSDXML_PREFIX_MAPPING; + +typedef struct _WSDXML_ATTRIBUTE { + struct _WSDXML_ELEMENT *Element; + struct _WSDXML_ATTRIBUTE *Next; + WSDXML_NAME *Name; + WCHAR *Value; +} WSDXML_ATTRIBUTE; + +typedef struct _WSDXML_NODE { + enum { + ElementType, + TextType + } Type; + struct _WSDXML_ELEMENT *Parent; + struct _WSDXML_NODE *Next; +} WSDXML_NODE; + +typedef struct _WSDXML_ELEMENT { + WSDXML_NODE Node; + WSDXML_NAME *Name; + WSDXML_ATTRIBUTE *FirstAttribute; + WSDXML_NODE *FirstChild; + WSDXML_PREFIX_MAPPING *PrefixMappings; +} WSDXML_ELEMENT; + +typedef struct _WSDXML_TEXT { + WSDXML_NODE Node; + WCHAR *Text; +} WSDXML_TEXT; + +typedef struct _WSDXML_ELEMENT_LIST { + struct _WSDXML_ELEMENT_LIST *Next; + WSDXML_ELEMENT *Element; +} WSDXML_ELEMENT_LIST; + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wshisotp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wshisotp.h new file mode 100644 index 00000000..8c2c73ac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wshisotp.h @@ -0,0 +1,41 @@ +/** + * 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 _WSHISOTP_ +#define _WSHISOTP_ + +#define ISOPROTO_TP0 25 +#define ISOPROTO_TP1 26 +#define ISOPROTO_TP2 27 +#define ISOPROTO_TP3 28 +#define ISOPROTO_TP4 29 +#define ISOPROTO_TP ISOPROTO_TP4 +#define ISOPROTO_CLTP 30 +#define ISOPROTO_CLNP 31 +#define ISOPROTO_X25 32 +#define ISOPROTO_INACT_NL 33 +#define ISOPROTO_ESIS 34 +#define ISOPROTO_INTRAISIS 35 + +#define IPPROTO_RAW 255 +#define IPPROTO_MAX 256 + +#define ISO_MAX_ADDR_LENGTH 64 +#define ISO_HIERARCHICAL 0 +#define ISO_NON_HIERARCHICAL 1 + +typedef struct sockaddr_tp { + u_short tp_family; + u_short tp_addr_type; + u_short tp_taddr_len; + u_short tp_tsel_len; + u_char tp_addr[ISO_MAX_ADDR_LENGTH]; +} SOCKADDR_TP,*PSOCKADDR_TP,*LPSOCKADDR_TP; + +#define ISO_SET_TP_ADDR(sa_tp,port,portlen,node,nodelen) (sa_tp)->tp_family = AF_ISO; (sa_tp)->tp_addr_type = ISO_HIERARCHICAL; (sa_tp)->tp_tsel_len = (portlen); (sa_tp)->tp_taddr_len = (portlen) + (nodelen); memcpy(&(sa_tp)->tp_addr,(port),(portlen)); memcpy(&(sa_tp)->tp_addr[portlen],(node),(nodelen)); + +#define ISO_EXP_DATA_USE 00 +#define ISO_EXP_DATA_NUSE 01 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipv6ok.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipv6ok.h new file mode 100644 index 00000000..1450fe61 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipv6ok.h @@ -0,0 +1,89 @@ +/** + * 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 _WSIPV6OK_ +#define _WSIPV6OK_ + +#ifdef IPV6STRICT + +#include +#include + +#undef AF_INET +#define AF_INET AF_INET_IPV6INCOMPATIBLE +#undef PF_INET +#define PF_INET PF_INET_IPV6INCOMPATIBLE +#undef in_addr +#define in_addr in_addr_IPV6INCOMPATIBLE +#undef IN_ADDR +#define IN_ADDR IN_ADDR_IPV6INCOMPATIBLE +#undef PIN_ADDR +#define PIN_ADDR PIN_ADDR_IPV6INCOMPATIBLE +#undef LPIN_ADDR +#define LPIN_ADDR LPIN_ADDR_IPV6INCOMPATIBLE +#undef IPAddr +#define IPAddr IPAddr_IPV6INCOMPATIBLE +#undef sockaddr_in +#define sockaddr_in sockaddr_in_IPV6INCOMPATIBLE +#undef SOCKADDR_IN +#define SOCKADDR_IN SOCKADDR_IN_IPV6INCOMPATIBLE +#undef PSOCKADDR_IN +#define PSOCKADDR_IN PSOCKADDR_IN_IPV6INCOMPATIBLE +#undef LPSOCKADDR_IN +#define LPSOCKADDR_IN LPSOCKADDR_IN_IPV6INCOMPATIBLE +#undef INADDR_ANY +#define INADDR_ANY INADDR_ANY_IPV6INCOMPATIBLE +#undef INADDR_LOOPBACK +#define INADDR_LOOPBACK INADDR_LOOPBACK_IPV6INCOMPATIBLE +#undef IPPROTO_IP +#define IPPROTO_IP IPPROTO_IP_IPV6INCOMPATIBLE +#undef IP_MULTICAST_IF +#define IP_MULTICAST_IF IP_MULTICAST_IF_IPV6INCOMPATIBLE +#undef IP_MULTICAST_TTL +#define IP_MULTICAST_TTL IP_MULTICAST_TTL_IPV6INCOMPATIBLE +#undef IP_MULTICAST_LOOP +#define IP_MULTICAST_LOOP IP_MULTICAST_LOOP_IPV6INCOMPATIBLE +#undef IP_ADD_MEMBERSHIP +#define IP_ADD_MEMBERSHIP IP_ADD_MEMBERSHIP_IPV6INCOMPATIBLE +#undef IP_DROP_MEMBERSHIP +#define IP_DROP_MEMBERSHIP IP_DROP_MEMBERSHIP_IPV6INCOMPATIBLE +#undef ip_mreq +#define ip_mreq ip_mreq_IPV6INCOMPATIBLE +#undef gethostbyname +#define gethostbyname(a) gethostbyname_IPV6INCOMPATIBLE +#undef hostent +#define hostent hostent_IPV6INCOMPATIBLE +#undef HOSTENT +#define HOSTENT HOSTENT_IPV6INCOMPATIBLE +#undef PHOSTENT +#define PHOSTENT PHOSTENT_IPV6INCOMPATIBLE +#undef LPHOSTENT +#define LPHOSTENT LPHOSTENT_IPV6INCOMPATIBLE +#undef inet_addr +#define inet_addr(a) inet_addr_IPV6INCOMPATIBLE +#undef gethostbyaddr +#define gethostbyaddr(a,b,c) gethostbyaddr_IPV6INCOMPATIBLE +#undef inet_ntoa +#define inet_ntoa(a) inet_ntoa_IPV6INCOMPATIBLE +#undef IN_MULTICAST +#define IN_MULTICAST(a) IN_MULTICAST_IPV6INCOMPATIBLE +#undef IN_CLASSD +#define IN_CLASSD(a) IN_CLASSD_IPV6INCOMPATIBLE +#undef IP_TTL +#define IP_TTL IP_TTL_IPV6INCOMPATIBLE +#undef IN_CLASSA +#define IN_CLASSA(a) IN_CLASSA_IPV6INCOMPATIBLE +#undef IN_CLASSB +#define IN_CLASSB(a) IN_CLASSB_IPV6INCOMPATIBLE +#undef IN_CLASSC +#define IN_CLASSC(a) IN_CLASSC_IPV6INCOMPATIBLE +#undef INADDR_BROADCAST +#define INADDR_BROADCAST(a) INADDR_BROADCAST_IPV6INCOMPATIBLE +#undef WSAAsyncGetHostByAddr +#define WSAAsyncGetHostByAddr(a,b,c,d,e,f,g) WSAAsyncGetHostByAddr_IPV6INCOMPATIBLE +#undef WSAAsyncGetHostByName +#define WSAAsyncGetHostByName(a,b,c,d,e) WSAAsyncGetHostByName_IPV6INCOMPATIBLE +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipx.h new file mode 100644 index 00000000..a0b1fcae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsipx.h @@ -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. + */ +#ifndef _WSIPX_ +#define _WSIPX_ + +typedef struct sockaddr_ipx { + short sa_family; + char sa_netnum[4]; + char sa_nodenum[6]; + unsigned short sa_socket; +} SOCKADDR_IPX,*PSOCKADDR_IPX,*LPSOCKADDR_IPX; + +#define NSPROTO_IPX 1000 +#define NSPROTO_SPX 1256 +#define NSPROTO_SPXII 1257 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wslapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wslapi.h new file mode 100644 index 00000000..ac17975f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wslapi.h @@ -0,0 +1,42 @@ +/** + * 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 _WSLAPI_H_ +#define _WSLAPI_H_ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + +BOOL WslIsDistributionRegistered(PCWSTR distributionName); +HRESULT WslRegisterDistribution(PCWSTR distributionName, PCWSTR tarGzFilename); +HRESULT WslUnregisterDistribution(PCWSTR distributionName); + +typedef enum { + WSL_DISTRIBUTION_FLAGS_NONE = 0x0, + WSL_DISTRIBUTION_FLAGS_ENABLE_INTEROP = 0x1, + WSL_DISTRIBUTION_FLAGS_APPEND_NT_PATH = 0x2, + WSL_DISTRIBUTION_FLAGS_ENABLE_DRIVE_MOUNTING = 0x4 +} WSL_DISTRIBUTION_FLAGS; + +#define WSL_DISTRIBUTION_FLAGS_VALID (WSL_DISTRIBUTION_FLAGS_ENABLE_INTEROP | WSL_DISTRIBUTION_FLAGS_APPEND_NT_PATH | WSL_DISTRIBUTION_FLAGS_ENABLE_DRIVE_MOUNTING) +#define WSL_DISTRIBUTION_FLAGS_DEFAULT (WSL_DISTRIBUTION_FLAGS_ENABLE_INTEROP | WSL_DISTRIBUTION_FLAGS_APPEND_NT_PATH | WSL_DISTRIBUTION_FLAGS_ENABLE_DRIVE_MOUNTING) + +HRESULT WslConfigureDistribution(PCWSTR distributionName, ULONG defaultUID, WSL_DISTRIBUTION_FLAGS wslDistributionFlags); +HRESULT WslGetDistributionConfiguration(PCWSTR distributionName, ULONG* distributionVersion, ULONG* defaultUID, WSL_DISTRIBUTION_FLAGS* wslDistributionFlags, PSTR** defaultEnvironmentVariables, ULONG* defaultEnvironmentVariableCount); +HRESULT WslLaunchInteractive(PCWSTR distributionName, PCWSTR command, BOOL useCurrentWorkingDirectory, DWORD* exitCode); +HRESULT WslLaunch(PCWSTR distributionName, PCWSTR command, BOOL useCurrentWorkingDirectory, HANDLE stdIn, HANDLE stdOut, HANDLE stdErr, HANDLE* process); + +#endif +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsman.h new file mode 100644 index 00000000..ae7a7096 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsman.h @@ -0,0 +1,426 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include + +#ifndef _WSMAN_H_ +#define _WSMAN_H_ + +#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) + +#if !defined (WSMAN_API_VERSION_1_0) && !defined (WSMAN_API_VERSION_1_1) +#error Either WSMAN_API_VERSION_1_0 or WSMAN_API_VERSION_1_1 need to be defined before including this header. +#endif + +#define WSMAN_FLAG_REQUESTED_API_VERSION_1_0 0x0 +#define WSMAN_FLAG_REQUESTED_API_VERSION_1_1 0x1 + +#define WSMAN_OPERATION_INFOV1 0x00000000 +#define WSMAN_OPERATION_INFOV2 0xaabbccdd + +#define WSMAN_STREAM_ID_STDIN L"stdin" +#define WSMAN_STREAM_ID_STDOUT L"stdout" +#define WSMAN_STREAM_ID_STDERR L"stderr" + +#define WSMAN_DEFAULT_TIMEOUT_MS 60000 + +#define WSMAN_FLAG_RECEIVE_RESULT_NO_MORE_DATA 1 +#define WSMAN_FLAG_RECEIVE_FLUSH 2 +#define WSMAN_FLAG_RECEIVE_RESULT_DATA_BOUNDARY 4 + +#define WSMAN_PLUGIN_PARAMS_MAX_ENVELOPE_SIZE 1 +#define WSMAN_PLUGIN_PARAMS_TIMEOUT 2 +#define WSMAN_PLUGIN_PARAMS_REMAINING_RESULT_SIZE 3 +#define WSMAN_PLUGIN_PARAMS_LARGEST_RESULT_SIZE 4 +#define WSMAN_PLUGIN_PARAMS_GET_REQUESTED_LOCALE 5 +#define WSMAN_PLUGIN_PARAMS_GET_REQUESTED_DATA_LOCALE 6 + +#define WSMAN_PLUGIN_PARAMS_SHAREDHOST 1 +#define WSMAN_PLUGIN_PARAMS_RUNAS_USER 2 +#define WSMAN_PLUGIN_PARAMS_AUTORESTART 3 +#define WSMAN_PLUGIN_PARAMS_HOSTIDLETIMEOUTSECONDS 4 +#define WSMAN_PLUGIN_PARAMS_NAME 5 + +#define WSMAN_PLUGIN_STARTUP_REQUEST_RECEIVED 0x0 +#define WSMAN_PLUGIN_STARTUP_AUTORESTARTED_REBOOT 0x1 +#define WSMAN_PLUGIN_STARTUP_AUTORESTARTED_CRASH 0x2 + +#define WSMAN_PLUGIN_SHUTDOWN_SYSTEM 1 +#define WSMAN_PLUGIN_SHUTDOWN_SERVICE 2 +#define WSMAN_PLUGIN_SHUTDOWN_IISHOST 3 +#define WSMAN_PLUGIN_SHUTDOWN_IDLETIMEOUT_ELAPSED 4 + +#define WSMAN_FLAG_SEND_NO_MORE_DATA 1 + +#define WSMAN_SHELL_NS L"http://schemas.microsoft.com/wbem/wsman/1/windows/shell" +#define WSMAN_SHELL_NS_LEN (sizeof (WSMAN_SHELL_NS)/sizeof (WCHAR)-1) + +#define WSMAN_CMDSHELL_URI WSMAN_SHELL_NS L"/cmd" + +#define WSMAN_CMDSHELL_OPTION_CODEPAGE L"WINRS_CODEPAGE" +#define WSMAN_SHELL_OPTION_NOPROFILE L"WINRS_NOPROFILE" + +#define WSMAN_CMDSHELL_OPTION_CONSOLEMODE_STDIN L"WINRS_CONSOLEMODE_STDIN" +#define WSMAN_CMDSHELL_OPTION_SKIP_CMD_SHELL L"WINRS_SKIP_CMD_SHELL" + +#define WSMAN_COMMAND_STATE_DONE WSMAN_SHELL_NS L"/CommandState/Done" +#define WSMAN_COMMAND_STATE_PENDING WSMAN_SHELL_NS L"/CommandState/Pending" +#define WSMAN_COMMAND_STATE_RUNNING WSMAN_SHELL_NS L"/CommandState/Running" + +#define WSMAN_SIGNAL_SHELL_CODE_TERMINATE WSMAN_SHELL_NS L"/signal/terminate" +#define WSMAN_SIGNAL_SHELL_CODE_CTRL_C WSMAN_SHELL_NS L"/signal/ctrl_c" +#define WSMAN_SIGNAL_SHELL_CODE_CTRL_BREAK WSMAN_SHELL_NS L"/signal/ctrl_break" + +#ifdef __cplusplus +extern "C" { +#endif + + typedef enum WSManDataType { + WSMAN_DATA_NONE = 0, + WSMAN_DATA_TYPE_TEXT = 1, + WSMAN_DATA_TYPE_BINARY = 2, + WSMAN_DATA_TYPE_DWORD = 4 + } WSManDataType; + + typedef enum WSManAuthenticationFlags { + WSMAN_FLAG_DEFAULT_AUTHENTICATION = 0x0, + WSMAN_FLAG_NO_AUTHENTICATION = 0x1, + WSMAN_FLAG_AUTH_DIGEST = 0x2, + WSMAN_FLAG_AUTH_NEGOTIATE = 0x4, + WSMAN_FLAG_AUTH_BASIC = 0x8, + WSMAN_FLAG_AUTH_KERBEROS = 0x10, + WSMAN_FLAG_AUTH_CLIENT_CERTIFICATE = 0x20 +#if WINVER >= 0x600 + ,WSMAN_FLAG_AUTH_CREDSSP = 0x80 +#endif + } WSManAuthenticationFlags; + + enum WSManProxyAccessType { + 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, + }; + + typedef enum WSManSessionOption { + WSMAN_OPTION_DEFAULT_OPERATION_TIMEOUTMS = 1, + WSMAN_OPTION_MAX_RETRY_TIME = 11, + WSMAN_OPTION_TIMEOUTMS_CREATE_SHELL = 12, + WSMAN_OPTION_TIMEOUTMS_RUN_SHELL_COMMAND = 13, + WSMAN_OPTION_TIMEOUTMS_RECEIVE_SHELL_OUTPUT = 14, + WSMAN_OPTION_TIMEOUTMS_SEND_SHELL_INPUT = 15, + WSMAN_OPTION_TIMEOUTMS_SIGNAL_SHELL = 16, + WSMAN_OPTION_TIMEOUTMS_CLOSE_SHELL = 17, + WSMAN_OPTION_SKIP_CA_CHECK = 18, + WSMAN_OPTION_SKIP_CN_CHECK = 19, + WSMAN_OPTION_UNENCRYPTED_MESSAGES = 20, + WSMAN_OPTION_UTF16 = 21, + WSMAN_OPTION_ENABLE_SPN_SERVER_PORT = 22, + WSMAN_OPTION_MACHINE_ID = 23, + WSMAN_OPTION_LOCALE = 25, + WSMAN_OPTION_UI_LANGUAGE = 26, + WSMAN_OPTION_MAX_ENVELOPE_SIZE_KB = 28, + WSMAN_OPTION_SHELL_MAX_DATA_SIZE_PER_MESSAGE_KB = 29, + WSMAN_OPTION_REDIRECT_LOCATION = 30, + WSMAN_OPTION_SKIP_REVOCATION_CHECK = 31, + WSMAN_OPTION_ALLOW_NEGOTIATE_IMPLICIT_CREDENTIALS = 32, + WSMAN_OPTION_USE_SSL = 33, + WSMAN_OPTION_USE_INTEARACTIVE_TOKEN = 34 + } WSManSessionOption; + + typedef enum WSManShellFlag { + WSMAN_FLAG_NO_COMPRESSION = 0x1, + WSMAN_FLAG_DELETE_SERVER_SESSION = 0x2, + WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP = 0x4, + WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK = 0x8, + WSMAN_FLAG_RECEIVE_DELAY_OUTPUT_STREAM = 0x10 + } WSManShellFlag; + + typedef enum WSManCallbackFlags { + WSMAN_FLAG_CALLBACK_END_OF_OPERATION = 0x1, + WSMAN_FLAG_CALLBACK_END_OF_STREAM = 0x8, + WSMAN_FLAG_CALLBACK_SHELL_SUPPORTS_DISCONNECT = 0x20, + WSMAN_FLAG_CALLBACK_SHELL_AUTODISCONNECTED = 0x40, + WSMAN_FLAG_CALLBACK_NETWORK_FAILURE_DETECTED = 0x100, + WSMAN_FLAG_CALLBACK_RETRYING_AFTER_NETWORK_FAILURE = 0x200, + WSMAN_FLAG_CALLBACK_RECONNECTED_AFTER_NETWORK_FAILURE = 0x400, + WSMAN_FLAG_CALLBACK_SHELL_AUTODISCONNECTING = 0x800, + WSMAN_FLAG_CALLBACK_RETRY_ABORTED_DUE_TO_INTERNAL_ERROR = 0x1000, + WSMAN_FLAG_CALLBACK_RECEIVE_DELAY_STREAM_REQUEST_PROCESSED = 0x2000 + } WSManCallbackFlags; + + typedef struct _WSMAN_DATA_TEXT { + DWORD bufferLength; + PCWSTR buffer; + } WSMAN_DATA_TEXT; + + typedef struct _WSMAN_DATA_BINARY { + DWORD dataLength; + BYTE *data; + } WSMAN_DATA_BINARY; + + typedef struct _WSMAN_DATA { + WSManDataType type; + __C89_NAMELESS union { + WSMAN_DATA_TEXT text; + WSMAN_DATA_BINARY binaryData; + DWORD number; + }; + } WSMAN_DATA; + + typedef struct _WSMAN_ERROR { + DWORD code; + PCWSTR errorDetail; + PCWSTR language; + PCWSTR machineName; + PCWSTR pluginName; + } WSMAN_ERROR; + + typedef struct _WSMAN_USERNAME_PASSWORD_CREDS { + PCWSTR username; + PCWSTR password; + } WSMAN_USERNAME_PASSWORD_CREDS; + + typedef struct _WSMAN_AUTHENTICATION_CREDENTIALS { + DWORD authenticationMechanism; + __C89_NAMELESS union { + WSMAN_USERNAME_PASSWORD_CREDS userAccount; + PCWSTR certificateThumbprint; + }; + } WSMAN_AUTHENTICATION_CREDENTIALS; + + typedef struct _WSMAN_OPTION { + PCWSTR name; + PCWSTR value; + WINBOOL mustComply; + } WSMAN_OPTION; + + typedef struct _WSMAN_OPTION_SET { + DWORD optionsCount; + WSMAN_OPTION *options; + WINBOOL optionsMustUnderstand; + } WSMAN_OPTION_SET; + + typedef struct _WSMAN_OPTION_SETEX { + DWORD optionsCount; + WSMAN_OPTION *options; + WINBOOL optionsMustUnderstand; + PCWSTR *optionTypes; + } WSMAN_OPTION_SETEX; + + typedef struct _WSMAN_KEY { + PCWSTR key; + PCWSTR value; + } WSMAN_KEY; + + typedef struct _WSMAN_SELECTOR_SET { + DWORD numberKeys; + WSMAN_KEY *keys; + } WSMAN_SELECTOR_SET; + + typedef struct _WSMAN_FRAGMENT { + PCWSTR path; + PCWSTR dialect; + } WSMAN_FRAGMENT; + + typedef struct _WSMAN_FILTER { + PCWSTR filter; + PCWSTR dialect; + } WSMAN_FILTER; + + typedef struct _WSMAN_OPERATION_INFO { + WSMAN_FRAGMENT fragment; + WSMAN_FILTER filter; + WSMAN_SELECTOR_SET selectorSet; + WSMAN_OPTION_SET optionSet; + void *reserved; + DWORD version; + } WSMAN_OPERATION_INFO; + + typedef struct _WSMAN_OPERATION_INFOEX { + WSMAN_FRAGMENT fragment; + WSMAN_FILTER filter; + WSMAN_SELECTOR_SET selectorSet; + WSMAN_OPTION_SETEX optionSet; + DWORD version; + PCWSTR uiLocale; + PCWSTR dataLocale; + } WSMAN_OPERATION_INFOEX; + + typedef struct _WSMAN_PROXY_INFO { + DWORD accessType; + WSMAN_AUTHENTICATION_CREDENTIALS authenticationCredentials; + } WSMAN_PROXY_INFO; + + typedef struct WSMAN_API *WSMAN_API_HANDLE; + typedef struct WSMAN_SESSION *WSMAN_SESSION_HANDLE; + typedef struct WSMAN_OPERATION *WSMAN_OPERATION_HANDLE; + typedef struct WSMAN_SHELL *WSMAN_SHELL_HANDLE; + typedef struct WSMAN_COMMAND *WSMAN_COMMAND_HANDLE; + + typedef struct _WSMAN_STREAM_ID_SET { + DWORD streamIDsCount; + PCWSTR *streamIDs; + } WSMAN_STREAM_ID_SET; + + typedef struct _WSMAN_ENVIRONMENT_VARIABLE { + PCWSTR name; + PCWSTR value; + } WSMAN_ENVIRONMENT_VARIABLE; + + typedef struct _WSMAN_ENVIRONMENT_VARIABLE_SET { + DWORD varsCount; + WSMAN_ENVIRONMENT_VARIABLE *vars; + } WSMAN_ENVIRONMENT_VARIABLE_SET; + + typedef struct _WSMAN_SHELL_STARTUP_INFO_V10 { + WSMAN_STREAM_ID_SET *inputStreamSet; + WSMAN_STREAM_ID_SET *outputStreamSet; + DWORD idleTimeoutMs; + PCWSTR workingDirectory; + WSMAN_ENVIRONMENT_VARIABLE_SET *variableSet; + } WSMAN_SHELL_STARTUP_INFO_V10; + + typedef struct _WSMAN_SHELL_STARTUP_INFO_V11 { + WSMAN_STREAM_ID_SET *inputStreamSet; + WSMAN_STREAM_ID_SET *outputStreamSet; + DWORD idleTimeoutMs; + PCWSTR workingDirectory; + WSMAN_ENVIRONMENT_VARIABLE_SET *variableSet; + PCWSTR name; + } WSMAN_SHELL_STARTUP_INFO_V11; + + typedef struct _WSMAN_SHELL_DISCONNECT_INFO { + DWORD idleTimeoutMs; + } WSMAN_SHELL_DISCONNECT_INFO; + + typedef struct _WSMAN_RECEIVE_DATA_RESULT { + PCWSTR streamId; + WSMAN_DATA streamData; + PCWSTR commandState; + DWORD exitCode; + } WSMAN_RECEIVE_DATA_RESULT; + +#ifdef WSMAN_API_VERSION_1_0 + typedef WSMAN_SHELL_STARTUP_INFO_V10 WSMAN_SHELL_STARTUP_INFO; + typedef void (CALLBACK *WSMAN_SHELL_COMPLETION_FUNCTION) (PVOID operationContext, DWORD flags, WSMAN_ERROR *error, WSMAN_SHELL_HANDLE shell, WSMAN_COMMAND_HANDLE command, WSMAN_OPERATION_HANDLE operationHandle, WSMAN_RECEIVE_DATA_RESULT *data); +#else + typedef WSMAN_SHELL_STARTUP_INFO_V11 WSMAN_SHELL_STARTUP_INFO; + typedef void (CALLBACK *WSMAN_SHELL_COMPLETION_FUNCTION) (PVOID operationContext, DWORD flags, WSMAN_ERROR *error, WSMAN_SHELL_HANDLE shell, WSMAN_COMMAND_HANDLE command, WSMAN_OPERATION_HANDLE operationHandle, WSMAN_RESPONSE_DATA *data); + + typedef struct _WSMAN_CONNECT_DATA { + WSMAN_DATA data; + } WSMAN_CONNECT_DATA; + + typedef struct _WSMAN_CREATE_SHELL_DATA { + WSMAN_DATA data; + } WSMAN_CREATE_SHELL_DATA; + + typedef union _WSMAN_RESPONSE_DATA { + WSMAN_RECEIVE_DATA_RESULT receiveData; + WSMAN_CONNECT_DATA connectData; + WSMAN_CREATE_SHELL_DATA createData; + } WSMAN_RESPONSE_DATA; +#endif + + typedef struct _WSMAN_SHELL_ASYNC { + PVOID operationContext; + WSMAN_SHELL_COMPLETION_FUNCTION completionFunction; + } WSMAN_SHELL_ASYNC; + + typedef struct _WSMAN_COMMAND_ARG_SET { + DWORD argsCount; + PCWSTR *args; + } WSMAN_COMMAND_ARG_SET; + + typedef struct _WSMAN_CERTIFICATE_DETAILS { + PCWSTR subject; + PCWSTR issuerName; + PCWSTR issuerThumbprint; + PCWSTR subjectName; + } WSMAN_CERTIFICATE_DETAILS; + + typedef struct _WSMAN_SENDER_DETAILS { + PCWSTR senderName; + PCWSTR authenticationMechanism; + WSMAN_CERTIFICATE_DETAILS *certificateDetails; + HANDLE clientToken; + PCWSTR httpURL; + } WSMAN_SENDER_DETAILS; + + typedef struct _WSMAN_PLUGIN_REQUEST { + WSMAN_SENDER_DETAILS *senderDetails; + PCWSTR locale; + PCWSTR resourceUri; + WSMAN_OPERATION_INFO *operationInfo; + volatile WINBOOL shutdownNotification; + HANDLE shutdownNotificationHandle; + PCWSTR dataLocale; + } WSMAN_PLUGIN_REQUEST; + + typedef struct _WSMAN_AUTHZ_QUOTA { + DWORD maxAllowedConcurrentShells; + DWORD maxAllowedConcurrentOperations; + DWORD timeslotSize; + DWORD maxAllowedOperationsPerTimeslot; + } WSMAN_AUTHZ_QUOTA; + + typedef VOID (WINAPI *WSMAN_PLUGIN_RELEASE_SHELL_CONTEXT) (PVOID shellContext); + typedef VOID (WINAPI *WSMAN_PLUGIN_RELEASE_COMMAND_CONTEXT) (PVOID shellContext, PVOID commandContext); + typedef DWORD (WINAPI *WSMAN_PLUGIN_STARTUP) (DWORD flags, PCWSTR applicationIdentification, PCWSTR extraInfo, PVOID *pluginContext); + typedef DWORD (WINAPI *WSMAN_PLUGIN_SHUTDOWN) (PVOID pluginContext, DWORD flags, DWORD reason); + typedef VOID (WINAPI *WSMAN_PLUGIN_SHELL) (PVOID pluginContext, WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, WSMAN_SHELL_STARTUP_INFO *startupInfo, WSMAN_DATA *inboundShellInformation); + typedef VOID (WINAPI *WSMAN_PLUGIN_COMMAND) (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID shellContext, PCWSTR commandLine, WSMAN_COMMAND_ARG_SET *arguments); + typedef VOID (WINAPI *WSMAN_PLUGIN_SEND) (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID shellContext, PVOID commandContext, PCWSTR stream, WSMAN_DATA *inboundData); + typedef VOID (WINAPI *WSMAN_PLUGIN_RECEIVE) (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID shellContext, PVOID commandContext, WSMAN_STREAM_ID_SET *streamSet); + typedef VOID (WINAPI *WSMAN_PLUGIN_SIGNAL) (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID shellContext, PVOID commandContext, PCWSTR code); + typedef VOID (WINAPI *WSMAN_PLUGIN_CONNECT) (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID shellContext, PVOID commandContext, WSMAN_DATA *inboundConnectInformation); + typedef VOID (WINAPI *WSMAN_PLUGIN_AUTHORIZE_USER) (PVOID pluginContext, WSMAN_SENDER_DETAILS *senderDetails, DWORD flags); + typedef VOID (WINAPI *WSMAN_PLUGIN_AUTHORIZE_OPERATION) (PVOID pluginContext, WSMAN_SENDER_DETAILS *senderDetails, DWORD flags, DWORD operation, PCWSTR action, PCWSTR resourceUri); + typedef VOID (WINAPI *WSMAN_PLUGIN_AUTHORIZE_QUERY_QUOTA) (PVOID pluginContext, WSMAN_SENDER_DETAILS *senderDetails, DWORD flags); + typedef VOID (WINAPI *WSMAN_PLUGIN_AUTHORIZE_RELEASE_CONTEXT) (PVOID userAuthorizationContext); + + DWORD WINAPI WSManInitialize (DWORD flags, WSMAN_API_HANDLE *apiHandle); + DWORD WINAPI WSManDeinitialize (WSMAN_API_HANDLE apiHandle, DWORD flags); + DWORD WINAPI WSManGetErrorMessage (WSMAN_API_HANDLE apiHandle, DWORD flags, PCWSTR languageCode, DWORD errorCode, DWORD messageLength, PWSTR message, DWORD *messageLengthUsed); + DWORD WINAPI WSManCreateSession (WSMAN_API_HANDLE apiHandle, PCWSTR connection, DWORD flags, WSMAN_AUTHENTICATION_CREDENTIALS *serverAuthenticationCredentials, WSMAN_PROXY_INFO *proxyInfo, WSMAN_SESSION_HANDLE *session); + DWORD WINAPI WSManCloseSession (WSMAN_SESSION_HANDLE session, DWORD flags); + DWORD WINAPI WSManSetSessionOption (WSMAN_SESSION_HANDLE session, WSManSessionOption option, WSMAN_DATA *data); + DWORD WINAPI WSManGetSessionOptionAsDword (WSMAN_SESSION_HANDLE session, WSManSessionOption option, DWORD *value); + DWORD WINAPI WSManGetSessionOptionAsString (WSMAN_SESSION_HANDLE session, WSManSessionOption option, DWORD stringLength, PWSTR string, DWORD *stringLengthUsed); + DWORD WINAPI WSManCloseOperation (WSMAN_OPERATION_HANDLE operationHandle, DWORD flags); + void WINAPI WSManCreateShell (WSMAN_SESSION_HANDLE session, DWORD flags, PCWSTR resourceUri, WSMAN_SHELL_STARTUP_INFO *startupInfo, WSMAN_OPTION_SET *options, WSMAN_DATA *createXml, WSMAN_SHELL_ASYNC *async, WSMAN_SHELL_HANDLE *shell); + void WINAPI WSManRunShellCommand (WSMAN_SHELL_HANDLE shell, DWORD flags, PCWSTR commandLine, WSMAN_COMMAND_ARG_SET *args, WSMAN_OPTION_SET *options, WSMAN_SHELL_ASYNC *async, WSMAN_COMMAND_HANDLE *command); + void WINAPI WSManSignalShell (WSMAN_SHELL_HANDLE shell, WSMAN_COMMAND_HANDLE command, DWORD flags, PCWSTR code, WSMAN_SHELL_ASYNC *async, WSMAN_OPERATION_HANDLE *signalOperation); + void WINAPI WSManReceiveShellOutput (WSMAN_SHELL_HANDLE shell, WSMAN_COMMAND_HANDLE command, DWORD flags, WSMAN_STREAM_ID_SET *desiredStreamSet, WSMAN_SHELL_ASYNC *async, WSMAN_OPERATION_HANDLE *receiveOperation); + void WINAPI WSManSendShellInput (WSMAN_SHELL_HANDLE shell, WSMAN_COMMAND_HANDLE command, DWORD flags, PCWSTR streamId, WSMAN_DATA *streamData, WINBOOL endOfStream, WSMAN_SHELL_ASYNC *async, WSMAN_OPERATION_HANDLE *sendOperation); + void WINAPI WSManCloseCommand (WSMAN_COMMAND_HANDLE commandHandle, DWORD flags, WSMAN_SHELL_ASYNC *async); + void WINAPI WSManCloseShell (WSMAN_SHELL_HANDLE shellHandle, DWORD flags, WSMAN_SHELL_ASYNC *async); + DWORD WINAPI WSManPluginReportContext (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PVOID context); + DWORD WINAPI WSManPluginReceiveResult (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, PCWSTR stream, WSMAN_DATA *streamResult, PCWSTR commandState, DWORD exitCode); + DWORD WINAPI WSManPluginOperationComplete (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, DWORD errorCode, PCWSTR extendedInformation); + DWORD WINAPI WSManPluginGetOperationParameters (WSMAN_PLUGIN_REQUEST *requestDetails, DWORD flags, WSMAN_DATA *data); + DWORD WINAPI WSManPluginGetConfiguration (PVOID pluginContext, DWORD flags, WSMAN_DATA *data); + DWORD WINAPI WSManPluginReportCompletion (PVOID pluginContext, DWORD flags); + DWORD WINAPI WSManPluginFreeRequestDetails (WSMAN_PLUGIN_REQUEST *requestDetails); + DWORD WINAPI WSManPluginAuthzUserComplete (WSMAN_SENDER_DETAILS *senderDetails, DWORD flags, PVOID userAuthorizationContext, HANDLE impersonationToken, WINBOOL userIsAdministrator, DWORD errorCode, PCWSTR extendedErrorInformation); + DWORD WINAPI WSManPluginAuthzOperationComplete (WSMAN_SENDER_DETAILS *senderDetails, DWORD flags, PVOID userAuthorizationContext, DWORD errorCode, PCWSTR extendedErrorInformation); + DWORD WINAPI WSManPluginAuthzQueryQuotaComplete (WSMAN_SENDER_DETAILS *senderDetails, DWORD flags, WSMAN_AUTHZ_QUOTA *quota, DWORD errorCode, PCWSTR extendedErrorInformation); +#ifdef WSMAN_API_VERSION_1_1 + void WINAPI WSManCreateShellEx (WSMAN_SESSION_HANDLE session, DWORD flags, PCWSTR resourceUri, PCWSTR shellId, WSMAN_SHELL_STARTUP_INFO *startupInfo, WSMAN_OPTION_SET *options, WSMAN_DATA *createXml, WSMAN_SHELL_ASYNC *async, WSMAN_SHELL_HANDLE *shell); + void WINAPI WSManRunShellCommandEx (WSMAN_SHELL_HANDLE shell, DWORD flags, PCWSTR commandId, PCWSTR commandLine, WSMAN_COMMAND_ARG_SET *args, WSMAN_OPTION_SET *options, WSMAN_SHELL_ASYNC *async, WSMAN_COMMAND_HANDLE *command); + void WINAPI WSManDisconnectShell (WSMAN_SHELL_HANDLE shell, DWORD flags, WSMAN_SHELL_DISCONNECT_INFO *disconnectInfo, WSMAN_SHELL_ASYNC *async); + void WINAPI WSManReconnectShell (WSMAN_SHELL_HANDLE shell, DWORD flags, WSMAN_SHELL_ASYNC *async); + void WINAPI WSManReconnectShellCommand (WSMAN_COMMAND_HANDLE commandHandle, DWORD flags, WSMAN_SHELL_ASYNC *async); + void WINAPI WSManConnectShell (WSMAN_SESSION_HANDLE session, DWORD flags, PCWSTR resourceUri, PCWSTR shellID, WSMAN_OPTION_SET *options, WSMAN_DATA *connectXml, WSMAN_SHELL_ASYNC *async, WSMAN_SHELL_HANDLE *shell); + void WINAPI WSManConnectShellCommand (WSMAN_SHELL_HANDLE shell, DWORD flags, PCWSTR commandID, WSMAN_OPTION_SET *options, WSMAN_DATA *connectXml, WSMAN_SHELL_ASYNC *async, WSMAN_COMMAND_HANDLE *command); +#endif + +#ifdef __cplusplus +} +#endif + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsmandisp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsmandisp.h new file mode 100644 index 00000000..550e6fa1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsmandisp.h @@ -0,0 +1,3050 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wsmandisp.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 __wsmandisp_h__ +#define __wsmandisp_h__ + +/* Forward declarations */ + +#ifndef __WSMan_FWD_DEFINED__ +#define __WSMan_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WSMan WSMan; +#else +typedef struct WSMan WSMan; +#endif /* defined __cplusplus */ +#endif /* defined __WSMan_FWD_DEFINED__ */ + +#ifndef __WSManInternal_FWD_DEFINED__ +#define __WSManInternal_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WSManInternal WSManInternal; +#else +typedef struct WSManInternal WSManInternal; +#endif /* defined __cplusplus */ +#endif /* defined __WSManInternal_FWD_DEFINED__ */ + +#ifndef __IWSMan_FWD_DEFINED__ +#define __IWSMan_FWD_DEFINED__ +typedef interface IWSMan IWSMan; +#ifdef __cplusplus +interface IWSMan; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx_FWD_DEFINED__ +#define __IWSManEx_FWD_DEFINED__ +typedef interface IWSManEx IWSManEx; +#ifdef __cplusplus +interface IWSManEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx2_FWD_DEFINED__ +#define __IWSManEx2_FWD_DEFINED__ +typedef interface IWSManEx2 IWSManEx2; +#ifdef __cplusplus +interface IWSManEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx3_FWD_DEFINED__ +#define __IWSManEx3_FWD_DEFINED__ +typedef interface IWSManEx3 IWSManEx3; +#ifdef __cplusplus +interface IWSManEx3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptions_FWD_DEFINED__ +#define __IWSManConnectionOptions_FWD_DEFINED__ +typedef interface IWSManConnectionOptions IWSManConnectionOptions; +#ifdef __cplusplus +interface IWSManConnectionOptions; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptionsEx_FWD_DEFINED__ +#define __IWSManConnectionOptionsEx_FWD_DEFINED__ +typedef interface IWSManConnectionOptionsEx IWSManConnectionOptionsEx; +#ifdef __cplusplus +interface IWSManConnectionOptionsEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptionsEx2_FWD_DEFINED__ +#define __IWSManConnectionOptionsEx2_FWD_DEFINED__ +typedef interface IWSManConnectionOptionsEx2 IWSManConnectionOptionsEx2; +#ifdef __cplusplus +interface IWSManConnectionOptionsEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManSession_FWD_DEFINED__ +#define __IWSManSession_FWD_DEFINED__ +typedef interface IWSManSession IWSManSession; +#ifdef __cplusplus +interface IWSManSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEnumerator_FWD_DEFINED__ +#define __IWSManEnumerator_FWD_DEFINED__ +typedef interface IWSManEnumerator IWSManEnumerator; +#ifdef __cplusplus +interface IWSManEnumerator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManResourceLocator_FWD_DEFINED__ +#define __IWSManResourceLocator_FWD_DEFINED__ +typedef interface IWSManResourceLocator IWSManResourceLocator; +#ifdef __cplusplus +interface IWSManResourceLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManResourceLocatorInternal_FWD_DEFINED__ +#define __IWSManResourceLocatorInternal_FWD_DEFINED__ +typedef interface IWSManResourceLocatorInternal IWSManResourceLocatorInternal; +#ifdef __cplusplus +interface IWSManResourceLocatorInternal; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManInternal_FWD_DEFINED__ +#define __IWSManInternal_FWD_DEFINED__ +typedef interface IWSManInternal IWSManInternal; +#ifdef __cplusplus +interface IWSManInternal; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#ifndef __WSManAutomation_LIBRARY_DEFINED__ +#define __WSManAutomation_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WSManAutomation, 0xf010be25, 0x296d, 0x4036, 0x98,0x0f, 0x5a,0x06,0x69,0xa1,0x75,0x77); + +typedef enum _WSManSessionFlags { + WSManFlagUTF8 = 0x1, + WSManFlagCredUsernamePassword = 0x1000, + WSManFlagSkipCACheck = 0x2000, + WSManFlagSkipCNCheck = 0x4000, + WSManFlagUseNoAuthentication = 0x8000, + WSManFlagUseDigest = 0x10000, + WSManFlagUseNegotiate = 0x20000, + WSManFlagUseBasic = 0x40000, + WSManFlagUseKerberos = 0x80000, + WSManFlagNoEncryption = 0x100000, + WSManFlagUseClientCertificate = 0x200000, + WSManFlagEnableSPNServerPort = 0x400000, + WSManFlagUTF16 = 0x800000, + WSManFlagUseCredSsp = 0x1000000, + WSManFlagSkipRevocationCheck = 0x2000000, + WSManFlagAllowNegotiateImplicitCredentials = 0x4000000, + WSManFlagUseSsl = 0x8000000 +} WSManSessionFlags; +typedef enum _WSManEnumFlags { + WSManFlagReturnObject = 0x0, + WSManFlagHierarchyDeep = 0x0, + WSManFlagAssociatedInstance = 0x0, + WSManFlagNonXmlText = 0x1, + WSManFlagReturnEPR = 0x2, + WSManFlagReturnObjectAndEPR = 0x4, + WSManFlagHierarchyShallow = 0x20, + WSManFlagHierarchyDeepBasePropsOnly = 0x40, + WSManFlagAssociationInstance = 0x80 +} WSManEnumFlags; +typedef enum _WSManProxyAccessTypeFlags { + WSManProxyIEConfig = 0x1, + WSManProxyWinHttpConfig = 0x2, + WSManProxyAutoDetect = 0x4, + WSManProxyNoProxyServer = 0x8 +} WSManProxyAccessTypeFlags; +typedef enum _WSManProxyAuthenticationFlags { + WSManFlagProxyAuthenticationUseNegotiate = 0x1, + WSManFlagProxyAuthenticationUseBasic = 0x2, + WSManFlagProxyAuthenticationUseDigest = 0x4 +} WSManProxyAuthenticationFlags; +#ifndef __IWSMan_FWD_DEFINED__ +#define __IWSMan_FWD_DEFINED__ +typedef interface IWSMan IWSMan; +#ifdef __cplusplus +interface IWSMan; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx_FWD_DEFINED__ +#define __IWSManEx_FWD_DEFINED__ +typedef interface IWSManEx IWSManEx; +#ifdef __cplusplus +interface IWSManEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx2_FWD_DEFINED__ +#define __IWSManEx2_FWD_DEFINED__ +typedef interface IWSManEx2 IWSManEx2; +#ifdef __cplusplus +interface IWSManEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEx3_FWD_DEFINED__ +#define __IWSManEx3_FWD_DEFINED__ +typedef interface IWSManEx3 IWSManEx3; +#ifdef __cplusplus +interface IWSManEx3; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptions_FWD_DEFINED__ +#define __IWSManConnectionOptions_FWD_DEFINED__ +typedef interface IWSManConnectionOptions IWSManConnectionOptions; +#ifdef __cplusplus +interface IWSManConnectionOptions; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptionsEx_FWD_DEFINED__ +#define __IWSManConnectionOptionsEx_FWD_DEFINED__ +typedef interface IWSManConnectionOptionsEx IWSManConnectionOptionsEx; +#ifdef __cplusplus +interface IWSManConnectionOptionsEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManConnectionOptionsEx2_FWD_DEFINED__ +#define __IWSManConnectionOptionsEx2_FWD_DEFINED__ +typedef interface IWSManConnectionOptionsEx2 IWSManConnectionOptionsEx2; +#ifdef __cplusplus +interface IWSManConnectionOptionsEx2; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManSession_FWD_DEFINED__ +#define __IWSManSession_FWD_DEFINED__ +typedef interface IWSManSession IWSManSession; +#ifdef __cplusplus +interface IWSManSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManSessionEx_FWD_DEFINED__ +#define __IWSManSessionEx_FWD_DEFINED__ +typedef interface IWSManSessionEx IWSManSessionEx; +#ifdef __cplusplus +interface IWSManSessionEx; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManEnumerator_FWD_DEFINED__ +#define __IWSManEnumerator_FWD_DEFINED__ +typedef interface IWSManEnumerator IWSManEnumerator; +#ifdef __cplusplus +interface IWSManEnumerator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManResourceLocator_FWD_DEFINED__ +#define __IWSManResourceLocator_FWD_DEFINED__ +typedef interface IWSManResourceLocator IWSManResourceLocator; +#ifdef __cplusplus +interface IWSManResourceLocator; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManResourceLocatorInternal_FWD_DEFINED__ +#define __IWSManResourceLocatorInternal_FWD_DEFINED__ +typedef interface IWSManResourceLocatorInternal IWSManResourceLocatorInternal; +#ifdef __cplusplus +interface IWSManResourceLocatorInternal; +#endif /* __cplusplus */ +#endif + +#ifndef __IWSManInternal_FWD_DEFINED__ +#define __IWSManInternal_FWD_DEFINED__ +typedef interface IWSManInternal IWSManInternal; +#ifdef __cplusplus +interface IWSManInternal; +#endif /* __cplusplus */ +#endif + +/***************************************************************************** + * WSMan coclass + */ + +DEFINE_GUID(CLSID_WSMan, 0xbced617b, 0xec03, 0x420b, 0x85,0x08, 0x97,0x7d,0xc7,0xa6,0x86,0xbd); + +#ifdef __cplusplus +class DECLSPEC_UUID("bced617b-ec03-420b-8508-977dc7a686bd") WSMan; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WSMan, 0xbced617b, 0xec03, 0x420b, 0x85,0x08, 0x97,0x7d,0xc7,0xa6,0x86,0xbd) +#endif +#endif + +/***************************************************************************** + * WSManInternal coclass + */ + +DEFINE_GUID(CLSID_WSManInternal, 0x7de087a5, 0x5dcb, 0x4df7, 0xbb,0x12, 0x09,0x24,0xad,0x8f,0xbd,0x9a); + +#ifdef __cplusplus +class DECLSPEC_UUID("7de087a5-5dcb-4df7-bb12-0924ad8fbd9a") WSManInternal; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WSManInternal, 0x7de087a5, 0x5dcb, 0x4df7, 0xbb,0x12, 0x09,0x24,0xad,0x8f,0xbd,0x9a) +#endif +#endif + +#endif /* __WSManAutomation_LIBRARY_DEFINED__ */ +/***************************************************************************** + * IWSMan interface + */ +#ifndef __IWSMan_INTERFACE_DEFINED__ +#define __IWSMan_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSMan, 0x190d8637, 0x5cd3, 0x496d, 0xad,0x24, 0x69,0x63,0x6b,0xb5,0xa3,0xb5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("190d8637-5cd3-496d-ad24-69636bb5a3b5") +IWSMan : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE CreateSession( + BSTR connection, + LONG flags, + IDispatch *connectionOptions, + IDispatch **session) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateConnectionOptions( + IDispatch **connectionOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CommandLine( + BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Error( + BSTR *value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSMan, 0x190d8637, 0x5cd3, 0x496d, 0xad,0x24, 0x69,0x63,0x6b,0xb5,0xa3,0xb5) +#endif +#else +typedef struct IWSManVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSMan *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSMan *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSMan *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSMan *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSMan *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSMan *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSMan *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSMan methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateSession)( + IWSMan *This, + BSTR connection, + LONG flags, + IDispatch *connectionOptions, + IDispatch **session); + + HRESULT (STDMETHODCALLTYPE *CreateConnectionOptions)( + IWSMan *This, + IDispatch **connectionOptions); + + HRESULT (STDMETHODCALLTYPE *get_CommandLine)( + IWSMan *This, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSMan *This, + BSTR *value); + + END_INTERFACE +} IWSManVtbl; + +interface IWSMan { + CONST_VTBL IWSManVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSMan_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSMan_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSMan_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSMan_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSMan_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSMan_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSMan_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSMan methods ***/ +#define IWSMan_CreateSession(This,connection,flags,connectionOptions,session) (This)->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session) +#define IWSMan_CreateConnectionOptions(This,connectionOptions) (This)->lpVtbl->CreateConnectionOptions(This,connectionOptions) +#define IWSMan_get_CommandLine(This,value) (This)->lpVtbl->get_CommandLine(This,value) +#define IWSMan_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSMan_QueryInterface(IWSMan* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSMan_AddRef(IWSMan* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSMan_Release(IWSMan* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSMan_GetTypeInfoCount(IWSMan* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSMan_GetTypeInfo(IWSMan* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSMan_GetIDsOfNames(IWSMan* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSMan_Invoke(IWSMan* 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); +} +/*** IWSMan methods ***/ +static inline HRESULT IWSMan_CreateSession(IWSMan* This,BSTR connection,LONG flags,IDispatch *connectionOptions,IDispatch **session) { + return This->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session); +} +static inline HRESULT IWSMan_CreateConnectionOptions(IWSMan* This,IDispatch **connectionOptions) { + return This->lpVtbl->CreateConnectionOptions(This,connectionOptions); +} +static inline HRESULT IWSMan_get_CommandLine(IWSMan* This,BSTR *value) { + return This->lpVtbl->get_CommandLine(This,value); +} +static inline HRESULT IWSMan_get_Error(IWSMan* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWSMan_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManEx interface + */ +#ifndef __IWSManEx_INTERFACE_DEFINED__ +#define __IWSManEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManEx, 0x2d53bdaa, 0x798e, 0x49e6, 0xa1,0xaa, 0x74,0xd0,0x12,0x56,0xf4,0x11); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2d53bdaa-798e-49e6-a1aa-74d01256f411") +IWSManEx : public IWSMan +{ + virtual HRESULT STDMETHODCALLTYPE CreateResourceLocator( + BSTR strResourceLocator, + IDispatch **newResourceLocator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUTF8( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagCredUsernamePassword( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagSkipCACheck( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagSkipCNCheck( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseDigest( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseNegotiate( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseBasic( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseKerberos( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagNoEncryption( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagEnableSPNServerPort( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseNoAuthentication( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagNonXmlText( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagReturnEPR( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagReturnObjectAndEPR( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetErrorMessage( + DWORD errorNumber, + BSTR *errorMessage) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagHierarchyDeep( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagHierarchyShallow( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagHierarchyDeepBasePropsOnly( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagReturnObject( + LONG *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManEx, 0x2d53bdaa, 0x798e, 0x49e6, 0xa1,0xaa, 0x74,0xd0,0x12,0x56,0xf4,0x11) +#endif +#else +typedef struct IWSManExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManEx *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManEx *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManEx *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManEx *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManEx *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSMan methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateSession)( + IWSManEx *This, + BSTR connection, + LONG flags, + IDispatch *connectionOptions, + IDispatch **session); + + HRESULT (STDMETHODCALLTYPE *CreateConnectionOptions)( + IWSManEx *This, + IDispatch **connectionOptions); + + HRESULT (STDMETHODCALLTYPE *get_CommandLine)( + IWSManEx *This, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManEx *This, + BSTR *value); + + /*** IWSManEx methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateResourceLocator)( + IWSManEx *This, + BSTR strResourceLocator, + IDispatch **newResourceLocator); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUTF8)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagCredUsernamePassword)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCACheck)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCNCheck)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseDigest)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNegotiate)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseBasic)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseKerberos)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagNoEncryption)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagEnableSPNServerPort)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNoAuthentication)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagNonXmlText)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnEPR)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObjectAndEPR)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *GetErrorMessage)( + IWSManEx *This, + DWORD errorNumber, + BSTR *errorMessage); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeep)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyShallow)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeepBasePropsOnly)( + IWSManEx *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObject)( + IWSManEx *This, + LONG *flags); + + END_INTERFACE +} IWSManExVtbl; + +interface IWSManEx { + CONST_VTBL IWSManExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManEx_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSMan methods ***/ +#define IWSManEx_CreateSession(This,connection,flags,connectionOptions,session) (This)->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session) +#define IWSManEx_CreateConnectionOptions(This,connectionOptions) (This)->lpVtbl->CreateConnectionOptions(This,connectionOptions) +#define IWSManEx_get_CommandLine(This,value) (This)->lpVtbl->get_CommandLine(This,value) +#define IWSManEx_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +/*** IWSManEx methods ***/ +#define IWSManEx_CreateResourceLocator(This,strResourceLocator,newResourceLocator) (This)->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator) +#define IWSManEx_SessionFlagUTF8(This,flags) (This)->lpVtbl->SessionFlagUTF8(This,flags) +#define IWSManEx_SessionFlagCredUsernamePassword(This,flags) (This)->lpVtbl->SessionFlagCredUsernamePassword(This,flags) +#define IWSManEx_SessionFlagSkipCACheck(This,flags) (This)->lpVtbl->SessionFlagSkipCACheck(This,flags) +#define IWSManEx_SessionFlagSkipCNCheck(This,flags) (This)->lpVtbl->SessionFlagSkipCNCheck(This,flags) +#define IWSManEx_SessionFlagUseDigest(This,flags) (This)->lpVtbl->SessionFlagUseDigest(This,flags) +#define IWSManEx_SessionFlagUseNegotiate(This,flags) (This)->lpVtbl->SessionFlagUseNegotiate(This,flags) +#define IWSManEx_SessionFlagUseBasic(This,flags) (This)->lpVtbl->SessionFlagUseBasic(This,flags) +#define IWSManEx_SessionFlagUseKerberos(This,flags) (This)->lpVtbl->SessionFlagUseKerberos(This,flags) +#define IWSManEx_SessionFlagNoEncryption(This,flags) (This)->lpVtbl->SessionFlagNoEncryption(This,flags) +#define IWSManEx_SessionFlagEnableSPNServerPort(This,flags) (This)->lpVtbl->SessionFlagEnableSPNServerPort(This,flags) +#define IWSManEx_SessionFlagUseNoAuthentication(This,flags) (This)->lpVtbl->SessionFlagUseNoAuthentication(This,flags) +#define IWSManEx_EnumerationFlagNonXmlText(This,flags) (This)->lpVtbl->EnumerationFlagNonXmlText(This,flags) +#define IWSManEx_EnumerationFlagReturnEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnEPR(This,flags) +#define IWSManEx_EnumerationFlagReturnObjectAndEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags) +#define IWSManEx_GetErrorMessage(This,errorNumber,errorMessage) (This)->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage) +#define IWSManEx_EnumerationFlagHierarchyDeep(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeep(This,flags) +#define IWSManEx_EnumerationFlagHierarchyShallow(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyShallow(This,flags) +#define IWSManEx_EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) +#define IWSManEx_EnumerationFlagReturnObject(This,flags) (This)->lpVtbl->EnumerationFlagReturnObject(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManEx_QueryInterface(IWSManEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManEx_AddRef(IWSManEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManEx_Release(IWSManEx* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManEx_GetTypeInfoCount(IWSManEx* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManEx_GetTypeInfo(IWSManEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManEx_GetIDsOfNames(IWSManEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManEx_Invoke(IWSManEx* 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); +} +/*** IWSMan methods ***/ +static inline HRESULT IWSManEx_CreateSession(IWSManEx* This,BSTR connection,LONG flags,IDispatch *connectionOptions,IDispatch **session) { + return This->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session); +} +static inline HRESULT IWSManEx_CreateConnectionOptions(IWSManEx* This,IDispatch **connectionOptions) { + return This->lpVtbl->CreateConnectionOptions(This,connectionOptions); +} +static inline HRESULT IWSManEx_get_CommandLine(IWSManEx* This,BSTR *value) { + return This->lpVtbl->get_CommandLine(This,value); +} +static inline HRESULT IWSManEx_get_Error(IWSManEx* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +/*** IWSManEx methods ***/ +static inline HRESULT IWSManEx_CreateResourceLocator(IWSManEx* This,BSTR strResourceLocator,IDispatch **newResourceLocator) { + return This->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator); +} +static inline HRESULT IWSManEx_SessionFlagUTF8(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUTF8(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagCredUsernamePassword(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagCredUsernamePassword(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagSkipCACheck(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCACheck(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagSkipCNCheck(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCNCheck(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagUseDigest(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseDigest(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagUseNegotiate(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNegotiate(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagUseBasic(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseBasic(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagUseKerberos(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseKerberos(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagNoEncryption(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagNoEncryption(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagEnableSPNServerPort(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagEnableSPNServerPort(This,flags); +} +static inline HRESULT IWSManEx_SessionFlagUseNoAuthentication(IWSManEx* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNoAuthentication(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagNonXmlText(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagNonXmlText(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagReturnEPR(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnEPR(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagReturnObjectAndEPR(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags); +} +static inline HRESULT IWSManEx_GetErrorMessage(IWSManEx* This,DWORD errorNumber,BSTR *errorMessage) { + return This->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage); +} +static inline HRESULT IWSManEx_EnumerationFlagHierarchyDeep(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeep(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagHierarchyShallow(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyShallow(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagHierarchyDeepBasePropsOnly(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags); +} +static inline HRESULT IWSManEx_EnumerationFlagReturnObject(IWSManEx* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObject(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWSManEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManEx2 interface + */ +#ifndef __IWSManEx2_INTERFACE_DEFINED__ +#define __IWSManEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManEx2, 0x1d1b5ae0, 0x42d9, 0x4021, 0x82,0x61, 0x39,0x87,0x61,0x95,0x12,0xe9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1d1b5ae0-42d9-4021-8261-3987619512e9") +IWSManEx2 : public IWSManEx +{ + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseClientCertificate( + LONG *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManEx2, 0x1d1b5ae0, 0x42d9, 0x4021, 0x82,0x61, 0x39,0x87,0x61,0x95,0x12,0xe9) +#endif +#else +typedef struct IWSManEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManEx2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManEx2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManEx2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManEx2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManEx2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSMan methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateSession)( + IWSManEx2 *This, + BSTR connection, + LONG flags, + IDispatch *connectionOptions, + IDispatch **session); + + HRESULT (STDMETHODCALLTYPE *CreateConnectionOptions)( + IWSManEx2 *This, + IDispatch **connectionOptions); + + HRESULT (STDMETHODCALLTYPE *get_CommandLine)( + IWSManEx2 *This, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManEx2 *This, + BSTR *value); + + /*** IWSManEx methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateResourceLocator)( + IWSManEx2 *This, + BSTR strResourceLocator, + IDispatch **newResourceLocator); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUTF8)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagCredUsernamePassword)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCACheck)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCNCheck)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseDigest)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNegotiate)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseBasic)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseKerberos)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagNoEncryption)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagEnableSPNServerPort)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNoAuthentication)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagNonXmlText)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnEPR)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObjectAndEPR)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *GetErrorMessage)( + IWSManEx2 *This, + DWORD errorNumber, + BSTR *errorMessage); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeep)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyShallow)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeepBasePropsOnly)( + IWSManEx2 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObject)( + IWSManEx2 *This, + LONG *flags); + + /*** IWSManEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SessionFlagUseClientCertificate)( + IWSManEx2 *This, + LONG *flags); + + END_INTERFACE +} IWSManEx2Vtbl; + +interface IWSManEx2 { + CONST_VTBL IWSManEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManEx2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManEx2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManEx2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManEx2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSMan methods ***/ +#define IWSManEx2_CreateSession(This,connection,flags,connectionOptions,session) (This)->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session) +#define IWSManEx2_CreateConnectionOptions(This,connectionOptions) (This)->lpVtbl->CreateConnectionOptions(This,connectionOptions) +#define IWSManEx2_get_CommandLine(This,value) (This)->lpVtbl->get_CommandLine(This,value) +#define IWSManEx2_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +/*** IWSManEx methods ***/ +#define IWSManEx2_CreateResourceLocator(This,strResourceLocator,newResourceLocator) (This)->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator) +#define IWSManEx2_SessionFlagUTF8(This,flags) (This)->lpVtbl->SessionFlagUTF8(This,flags) +#define IWSManEx2_SessionFlagCredUsernamePassword(This,flags) (This)->lpVtbl->SessionFlagCredUsernamePassword(This,flags) +#define IWSManEx2_SessionFlagSkipCACheck(This,flags) (This)->lpVtbl->SessionFlagSkipCACheck(This,flags) +#define IWSManEx2_SessionFlagSkipCNCheck(This,flags) (This)->lpVtbl->SessionFlagSkipCNCheck(This,flags) +#define IWSManEx2_SessionFlagUseDigest(This,flags) (This)->lpVtbl->SessionFlagUseDigest(This,flags) +#define IWSManEx2_SessionFlagUseNegotiate(This,flags) (This)->lpVtbl->SessionFlagUseNegotiate(This,flags) +#define IWSManEx2_SessionFlagUseBasic(This,flags) (This)->lpVtbl->SessionFlagUseBasic(This,flags) +#define IWSManEx2_SessionFlagUseKerberos(This,flags) (This)->lpVtbl->SessionFlagUseKerberos(This,flags) +#define IWSManEx2_SessionFlagNoEncryption(This,flags) (This)->lpVtbl->SessionFlagNoEncryption(This,flags) +#define IWSManEx2_SessionFlagEnableSPNServerPort(This,flags) (This)->lpVtbl->SessionFlagEnableSPNServerPort(This,flags) +#define IWSManEx2_SessionFlagUseNoAuthentication(This,flags) (This)->lpVtbl->SessionFlagUseNoAuthentication(This,flags) +#define IWSManEx2_EnumerationFlagNonXmlText(This,flags) (This)->lpVtbl->EnumerationFlagNonXmlText(This,flags) +#define IWSManEx2_EnumerationFlagReturnEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnEPR(This,flags) +#define IWSManEx2_EnumerationFlagReturnObjectAndEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags) +#define IWSManEx2_GetErrorMessage(This,errorNumber,errorMessage) (This)->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage) +#define IWSManEx2_EnumerationFlagHierarchyDeep(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeep(This,flags) +#define IWSManEx2_EnumerationFlagHierarchyShallow(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyShallow(This,flags) +#define IWSManEx2_EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) +#define IWSManEx2_EnumerationFlagReturnObject(This,flags) (This)->lpVtbl->EnumerationFlagReturnObject(This,flags) +/*** IWSManEx2 methods ***/ +#define IWSManEx2_SessionFlagUseClientCertificate(This,flags) (This)->lpVtbl->SessionFlagUseClientCertificate(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManEx2_QueryInterface(IWSManEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManEx2_AddRef(IWSManEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManEx2_Release(IWSManEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManEx2_GetTypeInfoCount(IWSManEx2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManEx2_GetTypeInfo(IWSManEx2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManEx2_GetIDsOfNames(IWSManEx2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManEx2_Invoke(IWSManEx2* 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); +} +/*** IWSMan methods ***/ +static inline HRESULT IWSManEx2_CreateSession(IWSManEx2* This,BSTR connection,LONG flags,IDispatch *connectionOptions,IDispatch **session) { + return This->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session); +} +static inline HRESULT IWSManEx2_CreateConnectionOptions(IWSManEx2* This,IDispatch **connectionOptions) { + return This->lpVtbl->CreateConnectionOptions(This,connectionOptions); +} +static inline HRESULT IWSManEx2_get_CommandLine(IWSManEx2* This,BSTR *value) { + return This->lpVtbl->get_CommandLine(This,value); +} +static inline HRESULT IWSManEx2_get_Error(IWSManEx2* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +/*** IWSManEx methods ***/ +static inline HRESULT IWSManEx2_CreateResourceLocator(IWSManEx2* This,BSTR strResourceLocator,IDispatch **newResourceLocator) { + return This->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator); +} +static inline HRESULT IWSManEx2_SessionFlagUTF8(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUTF8(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagCredUsernamePassword(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagCredUsernamePassword(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagSkipCACheck(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCACheck(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagSkipCNCheck(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCNCheck(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagUseDigest(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseDigest(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagUseNegotiate(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNegotiate(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagUseBasic(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseBasic(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagUseKerberos(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseKerberos(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagNoEncryption(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagNoEncryption(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagEnableSPNServerPort(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagEnableSPNServerPort(This,flags); +} +static inline HRESULT IWSManEx2_SessionFlagUseNoAuthentication(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNoAuthentication(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagNonXmlText(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagNonXmlText(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagReturnEPR(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnEPR(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagReturnObjectAndEPR(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags); +} +static inline HRESULT IWSManEx2_GetErrorMessage(IWSManEx2* This,DWORD errorNumber,BSTR *errorMessage) { + return This->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage); +} +static inline HRESULT IWSManEx2_EnumerationFlagHierarchyDeep(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeep(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagHierarchyShallow(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyShallow(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagHierarchyDeepBasePropsOnly(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags); +} +static inline HRESULT IWSManEx2_EnumerationFlagReturnObject(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObject(This,flags); +} +/*** IWSManEx2 methods ***/ +static inline HRESULT IWSManEx2_SessionFlagUseClientCertificate(IWSManEx2* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseClientCertificate(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWSManEx2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManEx3 interface + */ +#ifndef __IWSManEx3_INTERFACE_DEFINED__ +#define __IWSManEx3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManEx3, 0x6400e966, 0x011d, 0x4eac, 0x84,0x74, 0x04,0x9e,0x08,0x48,0xaf,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6400e966-011d-4eac-8474-049e0848afad") +IWSManEx3 : public IWSManEx2 +{ + virtual HRESULT STDMETHODCALLTYPE SessionFlagUTF16( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseCredSsp( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagAssociationInstance( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnumerationFlagAssociatedInstance( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagSkipRevocationCheck( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagAllowNegotiateImplicitCredentials( + LONG *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SessionFlagUseSsl( + LONG *flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManEx3, 0x6400e966, 0x011d, 0x4eac, 0x84,0x74, 0x04,0x9e,0x08,0x48,0xaf,0xad) +#endif +#else +typedef struct IWSManEx3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManEx3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManEx3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManEx3 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManEx3 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManEx3 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManEx3 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManEx3 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSMan methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateSession)( + IWSManEx3 *This, + BSTR connection, + LONG flags, + IDispatch *connectionOptions, + IDispatch **session); + + HRESULT (STDMETHODCALLTYPE *CreateConnectionOptions)( + IWSManEx3 *This, + IDispatch **connectionOptions); + + HRESULT (STDMETHODCALLTYPE *get_CommandLine)( + IWSManEx3 *This, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManEx3 *This, + BSTR *value); + + /*** IWSManEx methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateResourceLocator)( + IWSManEx3 *This, + BSTR strResourceLocator, + IDispatch **newResourceLocator); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUTF8)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagCredUsernamePassword)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCACheck)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipCNCheck)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseDigest)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNegotiate)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseBasic)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseKerberos)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagNoEncryption)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagEnableSPNServerPort)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseNoAuthentication)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagNonXmlText)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnEPR)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObjectAndEPR)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *GetErrorMessage)( + IWSManEx3 *This, + DWORD errorNumber, + BSTR *errorMessage); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeep)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyShallow)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagHierarchyDeepBasePropsOnly)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagReturnObject)( + IWSManEx3 *This, + LONG *flags); + + /*** IWSManEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SessionFlagUseClientCertificate)( + IWSManEx3 *This, + LONG *flags); + + /*** IWSManEx3 methods ***/ + HRESULT (STDMETHODCALLTYPE *SessionFlagUTF16)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseCredSsp)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagAssociationInstance)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *EnumerationFlagAssociatedInstance)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagSkipRevocationCheck)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagAllowNegotiateImplicitCredentials)( + IWSManEx3 *This, + LONG *flags); + + HRESULT (STDMETHODCALLTYPE *SessionFlagUseSsl)( + IWSManEx3 *This, + LONG *flags); + + END_INTERFACE +} IWSManEx3Vtbl; + +interface IWSManEx3 { + CONST_VTBL IWSManEx3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManEx3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManEx3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManEx3_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManEx3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManEx3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManEx3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManEx3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSMan methods ***/ +#define IWSManEx3_CreateSession(This,connection,flags,connectionOptions,session) (This)->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session) +#define IWSManEx3_CreateConnectionOptions(This,connectionOptions) (This)->lpVtbl->CreateConnectionOptions(This,connectionOptions) +#define IWSManEx3_get_CommandLine(This,value) (This)->lpVtbl->get_CommandLine(This,value) +#define IWSManEx3_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +/*** IWSManEx methods ***/ +#define IWSManEx3_CreateResourceLocator(This,strResourceLocator,newResourceLocator) (This)->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator) +#define IWSManEx3_SessionFlagUTF8(This,flags) (This)->lpVtbl->SessionFlagUTF8(This,flags) +#define IWSManEx3_SessionFlagCredUsernamePassword(This,flags) (This)->lpVtbl->SessionFlagCredUsernamePassword(This,flags) +#define IWSManEx3_SessionFlagSkipCACheck(This,flags) (This)->lpVtbl->SessionFlagSkipCACheck(This,flags) +#define IWSManEx3_SessionFlagSkipCNCheck(This,flags) (This)->lpVtbl->SessionFlagSkipCNCheck(This,flags) +#define IWSManEx3_SessionFlagUseDigest(This,flags) (This)->lpVtbl->SessionFlagUseDigest(This,flags) +#define IWSManEx3_SessionFlagUseNegotiate(This,flags) (This)->lpVtbl->SessionFlagUseNegotiate(This,flags) +#define IWSManEx3_SessionFlagUseBasic(This,flags) (This)->lpVtbl->SessionFlagUseBasic(This,flags) +#define IWSManEx3_SessionFlagUseKerberos(This,flags) (This)->lpVtbl->SessionFlagUseKerberos(This,flags) +#define IWSManEx3_SessionFlagNoEncryption(This,flags) (This)->lpVtbl->SessionFlagNoEncryption(This,flags) +#define IWSManEx3_SessionFlagEnableSPNServerPort(This,flags) (This)->lpVtbl->SessionFlagEnableSPNServerPort(This,flags) +#define IWSManEx3_SessionFlagUseNoAuthentication(This,flags) (This)->lpVtbl->SessionFlagUseNoAuthentication(This,flags) +#define IWSManEx3_EnumerationFlagNonXmlText(This,flags) (This)->lpVtbl->EnumerationFlagNonXmlText(This,flags) +#define IWSManEx3_EnumerationFlagReturnEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnEPR(This,flags) +#define IWSManEx3_EnumerationFlagReturnObjectAndEPR(This,flags) (This)->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags) +#define IWSManEx3_GetErrorMessage(This,errorNumber,errorMessage) (This)->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage) +#define IWSManEx3_EnumerationFlagHierarchyDeep(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeep(This,flags) +#define IWSManEx3_EnumerationFlagHierarchyShallow(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyShallow(This,flags) +#define IWSManEx3_EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) (This)->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags) +#define IWSManEx3_EnumerationFlagReturnObject(This,flags) (This)->lpVtbl->EnumerationFlagReturnObject(This,flags) +/*** IWSManEx2 methods ***/ +#define IWSManEx3_SessionFlagUseClientCertificate(This,flags) (This)->lpVtbl->SessionFlagUseClientCertificate(This,flags) +/*** IWSManEx3 methods ***/ +#define IWSManEx3_SessionFlagUTF16(This,flags) (This)->lpVtbl->SessionFlagUTF16(This,flags) +#define IWSManEx3_SessionFlagUseCredSsp(This,flags) (This)->lpVtbl->SessionFlagUseCredSsp(This,flags) +#define IWSManEx3_EnumerationFlagAssociationInstance(This,flags) (This)->lpVtbl->EnumerationFlagAssociationInstance(This,flags) +#define IWSManEx3_EnumerationFlagAssociatedInstance(This,flags) (This)->lpVtbl->EnumerationFlagAssociatedInstance(This,flags) +#define IWSManEx3_SessionFlagSkipRevocationCheck(This,flags) (This)->lpVtbl->SessionFlagSkipRevocationCheck(This,flags) +#define IWSManEx3_SessionFlagAllowNegotiateImplicitCredentials(This,flags) (This)->lpVtbl->SessionFlagAllowNegotiateImplicitCredentials(This,flags) +#define IWSManEx3_SessionFlagUseSsl(This,flags) (This)->lpVtbl->SessionFlagUseSsl(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManEx3_QueryInterface(IWSManEx3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManEx3_AddRef(IWSManEx3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManEx3_Release(IWSManEx3* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManEx3_GetTypeInfoCount(IWSManEx3* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManEx3_GetTypeInfo(IWSManEx3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManEx3_GetIDsOfNames(IWSManEx3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManEx3_Invoke(IWSManEx3* 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); +} +/*** IWSMan methods ***/ +static inline HRESULT IWSManEx3_CreateSession(IWSManEx3* This,BSTR connection,LONG flags,IDispatch *connectionOptions,IDispatch **session) { + return This->lpVtbl->CreateSession(This,connection,flags,connectionOptions,session); +} +static inline HRESULT IWSManEx3_CreateConnectionOptions(IWSManEx3* This,IDispatch **connectionOptions) { + return This->lpVtbl->CreateConnectionOptions(This,connectionOptions); +} +static inline HRESULT IWSManEx3_get_CommandLine(IWSManEx3* This,BSTR *value) { + return This->lpVtbl->get_CommandLine(This,value); +} +static inline HRESULT IWSManEx3_get_Error(IWSManEx3* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +/*** IWSManEx methods ***/ +static inline HRESULT IWSManEx3_CreateResourceLocator(IWSManEx3* This,BSTR strResourceLocator,IDispatch **newResourceLocator) { + return This->lpVtbl->CreateResourceLocator(This,strResourceLocator,newResourceLocator); +} +static inline HRESULT IWSManEx3_SessionFlagUTF8(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUTF8(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagCredUsernamePassword(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagCredUsernamePassword(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagSkipCACheck(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCACheck(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagSkipCNCheck(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipCNCheck(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseDigest(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseDigest(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseNegotiate(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNegotiate(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseBasic(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseBasic(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseKerberos(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseKerberos(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagNoEncryption(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagNoEncryption(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagEnableSPNServerPort(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagEnableSPNServerPort(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseNoAuthentication(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseNoAuthentication(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagNonXmlText(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagNonXmlText(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagReturnEPR(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnEPR(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagReturnObjectAndEPR(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObjectAndEPR(This,flags); +} +static inline HRESULT IWSManEx3_GetErrorMessage(IWSManEx3* This,DWORD errorNumber,BSTR *errorMessage) { + return This->lpVtbl->GetErrorMessage(This,errorNumber,errorMessage); +} +static inline HRESULT IWSManEx3_EnumerationFlagHierarchyDeep(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeep(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagHierarchyShallow(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyShallow(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagHierarchyDeepBasePropsOnly(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagHierarchyDeepBasePropsOnly(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagReturnObject(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagReturnObject(This,flags); +} +/*** IWSManEx2 methods ***/ +static inline HRESULT IWSManEx3_SessionFlagUseClientCertificate(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseClientCertificate(This,flags); +} +/*** IWSManEx3 methods ***/ +static inline HRESULT IWSManEx3_SessionFlagUTF16(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUTF16(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseCredSsp(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseCredSsp(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagAssociationInstance(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagAssociationInstance(This,flags); +} +static inline HRESULT IWSManEx3_EnumerationFlagAssociatedInstance(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->EnumerationFlagAssociatedInstance(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagSkipRevocationCheck(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagSkipRevocationCheck(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagAllowNegotiateImplicitCredentials(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagAllowNegotiateImplicitCredentials(This,flags); +} +static inline HRESULT IWSManEx3_SessionFlagUseSsl(IWSManEx3* This,LONG *flags) { + return This->lpVtbl->SessionFlagUseSsl(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IWSManEx3_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManConnectionOptions interface + */ +#ifndef __IWSManConnectionOptions_INTERFACE_DEFINED__ +#define __IWSManConnectionOptions_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManConnectionOptions, 0xf704e861, 0x9e52, 0x464f, 0xb7,0x86, 0xda,0x5e,0xb2,0x32,0x0f,0xdd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f704e861-9e52-464f-b786-da5eb2320fdd") +IWSManConnectionOptions : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_UserName( + BSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UserName( + BSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Password( + BSTR password) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManConnectionOptions, 0xf704e861, 0x9e52, 0x464f, 0xb7,0x86, 0xda,0x5e,0xb2,0x32,0x0f,0xdd) +#endif +#else +typedef struct IWSManConnectionOptionsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManConnectionOptions *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManConnectionOptions *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManConnectionOptions *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManConnectionOptions *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManConnectionOptions *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManConnectionOptions *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManConnectionOptions *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManConnectionOptions methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UserName)( + IWSManConnectionOptions *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_UserName)( + IWSManConnectionOptions *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *put_Password)( + IWSManConnectionOptions *This, + BSTR password); + + END_INTERFACE +} IWSManConnectionOptionsVtbl; + +interface IWSManConnectionOptions { + CONST_VTBL IWSManConnectionOptionsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManConnectionOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManConnectionOptions_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManConnectionOptions_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManConnectionOptions_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManConnectionOptions_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManConnectionOptions_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManConnectionOptions_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManConnectionOptions methods ***/ +#define IWSManConnectionOptions_get_UserName(This,name) (This)->lpVtbl->get_UserName(This,name) +#define IWSManConnectionOptions_put_UserName(This,name) (This)->lpVtbl->put_UserName(This,name) +#define IWSManConnectionOptions_put_Password(This,password) (This)->lpVtbl->put_Password(This,password) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManConnectionOptions_QueryInterface(IWSManConnectionOptions* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManConnectionOptions_AddRef(IWSManConnectionOptions* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManConnectionOptions_Release(IWSManConnectionOptions* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManConnectionOptions_GetTypeInfoCount(IWSManConnectionOptions* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManConnectionOptions_GetTypeInfo(IWSManConnectionOptions* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManConnectionOptions_GetIDsOfNames(IWSManConnectionOptions* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManConnectionOptions_Invoke(IWSManConnectionOptions* 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); +} +/*** IWSManConnectionOptions methods ***/ +static inline HRESULT IWSManConnectionOptions_get_UserName(IWSManConnectionOptions* This,BSTR *name) { + return This->lpVtbl->get_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptions_put_UserName(IWSManConnectionOptions* This,BSTR name) { + return This->lpVtbl->put_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptions_put_Password(IWSManConnectionOptions* This,BSTR password) { + return This->lpVtbl->put_Password(This,password); +} +#endif +#endif + +#endif + + +#endif /* __IWSManConnectionOptions_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManConnectionOptionsEx interface + */ +#ifndef __IWSManConnectionOptionsEx_INTERFACE_DEFINED__ +#define __IWSManConnectionOptionsEx_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManConnectionOptionsEx, 0xef43edf7, 0x2a48, 0x4d93, 0x95,0x26, 0x8b,0xd6,0xab,0x6d,0x4a,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ef43edf7-2a48-4d93-9526-8bd6ab6d4a6b") +IWSManConnectionOptionsEx : public IWSManConnectionOptions +{ + virtual HRESULT STDMETHODCALLTYPE get_CertificateThumbprint( + BSTR *thumbprint) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CertificateThumbprint( + BSTR thumbprint) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManConnectionOptionsEx, 0xef43edf7, 0x2a48, 0x4d93, 0x95,0x26, 0x8b,0xd6,0xab,0x6d,0x4a,0x6b) +#endif +#else +typedef struct IWSManConnectionOptionsExVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManConnectionOptionsEx *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManConnectionOptionsEx *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManConnectionOptionsEx *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManConnectionOptionsEx *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManConnectionOptionsEx *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManConnectionOptionsEx *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManConnectionOptionsEx *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManConnectionOptions methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UserName)( + IWSManConnectionOptionsEx *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_UserName)( + IWSManConnectionOptionsEx *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *put_Password)( + IWSManConnectionOptionsEx *This, + BSTR password); + + /*** IWSManConnectionOptionsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CertificateThumbprint)( + IWSManConnectionOptionsEx *This, + BSTR *thumbprint); + + HRESULT (STDMETHODCALLTYPE *put_CertificateThumbprint)( + IWSManConnectionOptionsEx *This, + BSTR thumbprint); + + END_INTERFACE +} IWSManConnectionOptionsExVtbl; + +interface IWSManConnectionOptionsEx { + CONST_VTBL IWSManConnectionOptionsExVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManConnectionOptionsEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManConnectionOptionsEx_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManConnectionOptionsEx_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManConnectionOptionsEx_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManConnectionOptionsEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManConnectionOptionsEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManConnectionOptionsEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManConnectionOptions methods ***/ +#define IWSManConnectionOptionsEx_get_UserName(This,name) (This)->lpVtbl->get_UserName(This,name) +#define IWSManConnectionOptionsEx_put_UserName(This,name) (This)->lpVtbl->put_UserName(This,name) +#define IWSManConnectionOptionsEx_put_Password(This,password) (This)->lpVtbl->put_Password(This,password) +/*** IWSManConnectionOptionsEx methods ***/ +#define IWSManConnectionOptionsEx_get_CertificateThumbprint(This,thumbprint) (This)->lpVtbl->get_CertificateThumbprint(This,thumbprint) +#define IWSManConnectionOptionsEx_put_CertificateThumbprint(This,thumbprint) (This)->lpVtbl->put_CertificateThumbprint(This,thumbprint) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManConnectionOptionsEx_QueryInterface(IWSManConnectionOptionsEx* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManConnectionOptionsEx_AddRef(IWSManConnectionOptionsEx* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManConnectionOptionsEx_Release(IWSManConnectionOptionsEx* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManConnectionOptionsEx_GetTypeInfoCount(IWSManConnectionOptionsEx* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManConnectionOptionsEx_GetTypeInfo(IWSManConnectionOptionsEx* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManConnectionOptionsEx_GetIDsOfNames(IWSManConnectionOptionsEx* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManConnectionOptionsEx_Invoke(IWSManConnectionOptionsEx* 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); +} +/*** IWSManConnectionOptions methods ***/ +static inline HRESULT IWSManConnectionOptionsEx_get_UserName(IWSManConnectionOptionsEx* This,BSTR *name) { + return This->lpVtbl->get_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptionsEx_put_UserName(IWSManConnectionOptionsEx* This,BSTR name) { + return This->lpVtbl->put_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptionsEx_put_Password(IWSManConnectionOptionsEx* This,BSTR password) { + return This->lpVtbl->put_Password(This,password); +} +/*** IWSManConnectionOptionsEx methods ***/ +static inline HRESULT IWSManConnectionOptionsEx_get_CertificateThumbprint(IWSManConnectionOptionsEx* This,BSTR *thumbprint) { + return This->lpVtbl->get_CertificateThumbprint(This,thumbprint); +} +static inline HRESULT IWSManConnectionOptionsEx_put_CertificateThumbprint(IWSManConnectionOptionsEx* This,BSTR thumbprint) { + return This->lpVtbl->put_CertificateThumbprint(This,thumbprint); +} +#endif +#endif + +#endif + + +#endif /* __IWSManConnectionOptionsEx_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManConnectionOptionsEx2 interface + */ +#ifndef __IWSManConnectionOptionsEx2_INTERFACE_DEFINED__ +#define __IWSManConnectionOptionsEx2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManConnectionOptionsEx2, 0xf500c9ec, 0x24ee, 0x48ab, 0xb3,0x8d, 0xfc,0x9a,0x16,0x4c,0x65,0x8e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f500c9ec-24ee-48ab-b38d-fc9a164c658e") +IWSManConnectionOptionsEx2 : public IWSManConnectionOptionsEx +{ + virtual HRESULT STDMETHODCALLTYPE SetProxy( + LONG accessType = 0, + LONG authenticationMechanism = 0, + BSTR userName = L"", + BSTR password = L"") = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyIEConfig( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyWinHttpConfig( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyAutoDetect( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyNoProxyServer( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyAuthenticationUseNegotiate( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyAuthenticationUseBasic( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ProxyAuthenticationUseDigest( + LONG *value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManConnectionOptionsEx2, 0xf500c9ec, 0x24ee, 0x48ab, 0xb3,0x8d, 0xfc,0x9a,0x16,0x4c,0x65,0x8e) +#endif +#else +typedef struct IWSManConnectionOptionsEx2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManConnectionOptionsEx2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManConnectionOptionsEx2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManConnectionOptionsEx2 *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManConnectionOptionsEx2 *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManConnectionOptionsEx2 *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManConnectionOptionsEx2 *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManConnectionOptionsEx2 *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManConnectionOptions methods ***/ + HRESULT (STDMETHODCALLTYPE *get_UserName)( + IWSManConnectionOptionsEx2 *This, + BSTR *name); + + HRESULT (STDMETHODCALLTYPE *put_UserName)( + IWSManConnectionOptionsEx2 *This, + BSTR name); + + HRESULT (STDMETHODCALLTYPE *put_Password)( + IWSManConnectionOptionsEx2 *This, + BSTR password); + + /*** IWSManConnectionOptionsEx methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CertificateThumbprint)( + IWSManConnectionOptionsEx2 *This, + BSTR *thumbprint); + + HRESULT (STDMETHODCALLTYPE *put_CertificateThumbprint)( + IWSManConnectionOptionsEx2 *This, + BSTR thumbprint); + + /*** IWSManConnectionOptionsEx2 methods ***/ + HRESULT (STDMETHODCALLTYPE *SetProxy)( + IWSManConnectionOptionsEx2 *This, + LONG accessType, + LONG authenticationMechanism, + BSTR userName, + BSTR password); + + HRESULT (STDMETHODCALLTYPE *ProxyIEConfig)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyWinHttpConfig)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyAutoDetect)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyNoProxyServer)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyAuthenticationUseNegotiate)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyAuthenticationUseBasic)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *ProxyAuthenticationUseDigest)( + IWSManConnectionOptionsEx2 *This, + LONG *value); + + END_INTERFACE +} IWSManConnectionOptionsEx2Vtbl; + +interface IWSManConnectionOptionsEx2 { + CONST_VTBL IWSManConnectionOptionsEx2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManConnectionOptionsEx2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManConnectionOptionsEx2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManConnectionOptionsEx2_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManConnectionOptionsEx2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManConnectionOptionsEx2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManConnectionOptionsEx2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManConnectionOptionsEx2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManConnectionOptions methods ***/ +#define IWSManConnectionOptionsEx2_get_UserName(This,name) (This)->lpVtbl->get_UserName(This,name) +#define IWSManConnectionOptionsEx2_put_UserName(This,name) (This)->lpVtbl->put_UserName(This,name) +#define IWSManConnectionOptionsEx2_put_Password(This,password) (This)->lpVtbl->put_Password(This,password) +/*** IWSManConnectionOptionsEx methods ***/ +#define IWSManConnectionOptionsEx2_get_CertificateThumbprint(This,thumbprint) (This)->lpVtbl->get_CertificateThumbprint(This,thumbprint) +#define IWSManConnectionOptionsEx2_put_CertificateThumbprint(This,thumbprint) (This)->lpVtbl->put_CertificateThumbprint(This,thumbprint) +/*** IWSManConnectionOptionsEx2 methods ***/ +#define IWSManConnectionOptionsEx2_SetProxy(This,accessType,authenticationMechanism,userName,password) (This)->lpVtbl->SetProxy(This,accessType,authenticationMechanism,userName,password) +#define IWSManConnectionOptionsEx2_ProxyIEConfig(This,value) (This)->lpVtbl->ProxyIEConfig(This,value) +#define IWSManConnectionOptionsEx2_ProxyWinHttpConfig(This,value) (This)->lpVtbl->ProxyWinHttpConfig(This,value) +#define IWSManConnectionOptionsEx2_ProxyAutoDetect(This,value) (This)->lpVtbl->ProxyAutoDetect(This,value) +#define IWSManConnectionOptionsEx2_ProxyNoProxyServer(This,value) (This)->lpVtbl->ProxyNoProxyServer(This,value) +#define IWSManConnectionOptionsEx2_ProxyAuthenticationUseNegotiate(This,value) (This)->lpVtbl->ProxyAuthenticationUseNegotiate(This,value) +#define IWSManConnectionOptionsEx2_ProxyAuthenticationUseBasic(This,value) (This)->lpVtbl->ProxyAuthenticationUseBasic(This,value) +#define IWSManConnectionOptionsEx2_ProxyAuthenticationUseDigest(This,value) (This)->lpVtbl->ProxyAuthenticationUseDigest(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManConnectionOptionsEx2_QueryInterface(IWSManConnectionOptionsEx2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManConnectionOptionsEx2_AddRef(IWSManConnectionOptionsEx2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManConnectionOptionsEx2_Release(IWSManConnectionOptionsEx2* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManConnectionOptionsEx2_GetTypeInfoCount(IWSManConnectionOptionsEx2* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManConnectionOptionsEx2_GetTypeInfo(IWSManConnectionOptionsEx2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManConnectionOptionsEx2_GetIDsOfNames(IWSManConnectionOptionsEx2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManConnectionOptionsEx2_Invoke(IWSManConnectionOptionsEx2* 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); +} +/*** IWSManConnectionOptions methods ***/ +static inline HRESULT IWSManConnectionOptionsEx2_get_UserName(IWSManConnectionOptionsEx2* This,BSTR *name) { + return This->lpVtbl->get_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptionsEx2_put_UserName(IWSManConnectionOptionsEx2* This,BSTR name) { + return This->lpVtbl->put_UserName(This,name); +} +static inline HRESULT IWSManConnectionOptionsEx2_put_Password(IWSManConnectionOptionsEx2* This,BSTR password) { + return This->lpVtbl->put_Password(This,password); +} +/*** IWSManConnectionOptionsEx methods ***/ +static inline HRESULT IWSManConnectionOptionsEx2_get_CertificateThumbprint(IWSManConnectionOptionsEx2* This,BSTR *thumbprint) { + return This->lpVtbl->get_CertificateThumbprint(This,thumbprint); +} +static inline HRESULT IWSManConnectionOptionsEx2_put_CertificateThumbprint(IWSManConnectionOptionsEx2* This,BSTR thumbprint) { + return This->lpVtbl->put_CertificateThumbprint(This,thumbprint); +} +/*** IWSManConnectionOptionsEx2 methods ***/ +static inline HRESULT IWSManConnectionOptionsEx2_SetProxy(IWSManConnectionOptionsEx2* This,LONG accessType,LONG authenticationMechanism,BSTR userName,BSTR password) { + return This->lpVtbl->SetProxy(This,accessType,authenticationMechanism,userName,password); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyIEConfig(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyIEConfig(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyWinHttpConfig(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyWinHttpConfig(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyAutoDetect(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyAutoDetect(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyNoProxyServer(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyNoProxyServer(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyAuthenticationUseNegotiate(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyAuthenticationUseNegotiate(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyAuthenticationUseBasic(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyAuthenticationUseBasic(This,value); +} +static inline HRESULT IWSManConnectionOptionsEx2_ProxyAuthenticationUseDigest(IWSManConnectionOptionsEx2* This,LONG *value) { + return This->lpVtbl->ProxyAuthenticationUseDigest(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWSManConnectionOptionsEx2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManSession interface + */ +#ifndef __IWSManSession_INTERFACE_DEFINED__ +#define __IWSManSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManSession, 0xfc84dc58, 0x1286, 0x40c4, 0x9d,0xa0, 0xc8,0xef,0x6e,0xc2,0x41,0xe0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fc84dc58-1286-40c4-9da0-c8ef6ec241e0") +IWSManSession : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE Get( + VARIANT resourceUri, + LONG flags, + BSTR *resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Put( + VARIANT resourceUri, + BSTR resource, + LONG flags, + BSTR *resultResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Create( + VARIANT resourceUri, + BSTR resource, + LONG flags, + BSTR *newUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE Delete( + VARIANT resourceUri, + LONG flags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE Invoke( + BSTR actionUri, + VARIANT resourceUri, + BSTR parameters, + LONG flags, + BSTR *result) = 0; + + virtual HRESULT STDMETHODCALLTYPE Enumerate( + VARIANT resourceUri, + BSTR filter, + BSTR dialect, + LONG flags, + IDispatch **resultSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE Identify( + LONG flags, + BSTR *result) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Error( + BSTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BatchItems( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_BatchItems( + LONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Timeout( + LONG *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Timeout( + LONG value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManSession, 0xfc84dc58, 0x1286, 0x40c4, 0x9d,0xa0, 0xc8,0xef,0x6e,0xc2,0x41,0xe0) +#endif +#else +typedef struct IWSManSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManSession *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManSession *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManSession *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManSession *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManSession *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManSession methods ***/ + HRESULT (STDMETHODCALLTYPE *Get)( + IWSManSession *This, + VARIANT resourceUri, + LONG flags, + BSTR *resource); + + HRESULT (STDMETHODCALLTYPE *Put)( + IWSManSession *This, + VARIANT resourceUri, + BSTR resource, + LONG flags, + BSTR *resultResource); + + HRESULT (STDMETHODCALLTYPE *Create)( + IWSManSession *This, + VARIANT resourceUri, + BSTR resource, + LONG flags, + BSTR *newUri); + + HRESULT (STDMETHODCALLTYPE *Delete)( + IWSManSession *This, + VARIANT resourceUri, + LONG flags); + + HRESULT (STDMETHODCALLTYPE *IWSManSession_Invoke)( + IWSManSession *This, + BSTR actionUri, + VARIANT resourceUri, + BSTR parameters, + LONG flags, + BSTR *result); + + HRESULT (STDMETHODCALLTYPE *Enumerate)( + IWSManSession *This, + VARIANT resourceUri, + BSTR filter, + BSTR dialect, + LONG flags, + IDispatch **resultSet); + + HRESULT (STDMETHODCALLTYPE *Identify)( + IWSManSession *This, + LONG flags, + BSTR *result); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManSession *This, + BSTR *value); + + HRESULT (STDMETHODCALLTYPE *get_BatchItems)( + IWSManSession *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *put_BatchItems)( + IWSManSession *This, + LONG value); + + HRESULT (STDMETHODCALLTYPE *get_Timeout)( + IWSManSession *This, + LONG *value); + + HRESULT (STDMETHODCALLTYPE *put_Timeout)( + IWSManSession *This, + LONG value); + + END_INTERFACE +} IWSManSessionVtbl; + +interface IWSManSession { + CONST_VTBL IWSManSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManSession_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +/*** IWSManSession methods ***/ +#define IWSManSession_Get(This,resourceUri,flags,resource) (This)->lpVtbl->Get(This,resourceUri,flags,resource) +#define IWSManSession_Put(This,resourceUri,resource,flags,resultResource) (This)->lpVtbl->Put(This,resourceUri,resource,flags,resultResource) +#define IWSManSession_Create(This,resourceUri,resource,flags,newUri) (This)->lpVtbl->Create(This,resourceUri,resource,flags,newUri) +#define IWSManSession_Delete(This,resourceUri,flags) (This)->lpVtbl->Delete(This,resourceUri,flags) +#define IWSManSession_Invoke(This,actionUri,resourceUri,parameters,flags,result) (This)->lpVtbl->IWSManSession_Invoke(This,actionUri,resourceUri,parameters,flags,result) +#define IWSManSession_Enumerate(This,resourceUri,filter,dialect,flags,resultSet) (This)->lpVtbl->Enumerate(This,resourceUri,filter,dialect,flags,resultSet) +#define IWSManSession_Identify(This,flags,result) (This)->lpVtbl->Identify(This,flags,result) +#define IWSManSession_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +#define IWSManSession_get_BatchItems(This,value) (This)->lpVtbl->get_BatchItems(This,value) +#define IWSManSession_put_BatchItems(This,value) (This)->lpVtbl->put_BatchItems(This,value) +#define IWSManSession_get_Timeout(This,value) (This)->lpVtbl->get_Timeout(This,value) +#define IWSManSession_put_Timeout(This,value) (This)->lpVtbl->put_Timeout(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManSession_QueryInterface(IWSManSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManSession_AddRef(IWSManSession* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManSession_Release(IWSManSession* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManSession_GetTypeInfoCount(IWSManSession* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManSession_GetTypeInfo(IWSManSession* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManSession_GetIDsOfNames(IWSManSession* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +/*** IWSManSession methods ***/ +static inline HRESULT IWSManSession_Get(IWSManSession* This,VARIANT resourceUri,LONG flags,BSTR *resource) { + return This->lpVtbl->Get(This,resourceUri,flags,resource); +} +static inline HRESULT IWSManSession_Put(IWSManSession* This,VARIANT resourceUri,BSTR resource,LONG flags,BSTR *resultResource) { + return This->lpVtbl->Put(This,resourceUri,resource,flags,resultResource); +} +static inline HRESULT IWSManSession_Create(IWSManSession* This,VARIANT resourceUri,BSTR resource,LONG flags,BSTR *newUri) { + return This->lpVtbl->Create(This,resourceUri,resource,flags,newUri); +} +static inline HRESULT IWSManSession_Delete(IWSManSession* This,VARIANT resourceUri,LONG flags) { + return This->lpVtbl->Delete(This,resourceUri,flags); +} +static inline HRESULT IWSManSession_Invoke(IWSManSession* This,BSTR actionUri,VARIANT resourceUri,BSTR parameters,LONG flags,BSTR *result) { + return This->lpVtbl->IWSManSession_Invoke(This,actionUri,resourceUri,parameters,flags,result); +} +static inline HRESULT IWSManSession_Enumerate(IWSManSession* This,VARIANT resourceUri,BSTR filter,BSTR dialect,LONG flags,IDispatch **resultSet) { + return This->lpVtbl->Enumerate(This,resourceUri,filter,dialect,flags,resultSet); +} +static inline HRESULT IWSManSession_Identify(IWSManSession* This,LONG flags,BSTR *result) { + return This->lpVtbl->Identify(This,flags,result); +} +static inline HRESULT IWSManSession_get_Error(IWSManSession* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +static inline HRESULT IWSManSession_get_BatchItems(IWSManSession* This,LONG *value) { + return This->lpVtbl->get_BatchItems(This,value); +} +static inline HRESULT IWSManSession_put_BatchItems(IWSManSession* This,LONG value) { + return This->lpVtbl->put_BatchItems(This,value); +} +static inline HRESULT IWSManSession_get_Timeout(IWSManSession* This,LONG *value) { + return This->lpVtbl->get_Timeout(This,value); +} +static inline HRESULT IWSManSession_put_Timeout(IWSManSession* This,LONG value) { + return This->lpVtbl->put_Timeout(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWSManSession_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManEnumerator interface + */ +#ifndef __IWSManEnumerator_INTERFACE_DEFINED__ +#define __IWSManEnumerator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManEnumerator, 0xf3457ca9, 0xabb9, 0x4fa5, 0xb8,0x50, 0x90,0xe8,0xca,0x30,0x0e,0x7f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f3457ca9-abb9-4fa5-b850-90e8ca300e7f") +IWSManEnumerator : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE ReadItem( + BSTR *resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AtEndOfStream( + VARIANT_BOOL *eos) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Error( + BSTR *value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManEnumerator, 0xf3457ca9, 0xabb9, 0x4fa5, 0xb8,0x50, 0x90,0xe8,0xca,0x30,0x0e,0x7f) +#endif +#else +typedef struct IWSManEnumeratorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManEnumerator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManEnumerator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManEnumerator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManEnumerator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManEnumerator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManEnumerator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManEnumerator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManEnumerator methods ***/ + HRESULT (STDMETHODCALLTYPE *ReadItem)( + IWSManEnumerator *This, + BSTR *resource); + + HRESULT (STDMETHODCALLTYPE *get_AtEndOfStream)( + IWSManEnumerator *This, + VARIANT_BOOL *eos); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManEnumerator *This, + BSTR *value); + + END_INTERFACE +} IWSManEnumeratorVtbl; + +interface IWSManEnumerator { + CONST_VTBL IWSManEnumeratorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManEnumerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManEnumerator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManEnumerator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManEnumerator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManEnumerator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManEnumerator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManEnumerator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManEnumerator methods ***/ +#define IWSManEnumerator_ReadItem(This,resource) (This)->lpVtbl->ReadItem(This,resource) +#define IWSManEnumerator_get_AtEndOfStream(This,eos) (This)->lpVtbl->get_AtEndOfStream(This,eos) +#define IWSManEnumerator_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManEnumerator_QueryInterface(IWSManEnumerator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManEnumerator_AddRef(IWSManEnumerator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManEnumerator_Release(IWSManEnumerator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManEnumerator_GetTypeInfoCount(IWSManEnumerator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManEnumerator_GetTypeInfo(IWSManEnumerator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManEnumerator_GetIDsOfNames(IWSManEnumerator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManEnumerator_Invoke(IWSManEnumerator* 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); +} +/*** IWSManEnumerator methods ***/ +static inline HRESULT IWSManEnumerator_ReadItem(IWSManEnumerator* This,BSTR *resource) { + return This->lpVtbl->ReadItem(This,resource); +} +static inline HRESULT IWSManEnumerator_get_AtEndOfStream(IWSManEnumerator* This,VARIANT_BOOL *eos) { + return This->lpVtbl->get_AtEndOfStream(This,eos); +} +static inline HRESULT IWSManEnumerator_get_Error(IWSManEnumerator* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWSManEnumerator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManResourceLocator interface + */ +#ifndef __IWSManResourceLocator_INTERFACE_DEFINED__ +#define __IWSManResourceLocator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManResourceLocator, 0xa7a1ba28, 0xde41, 0x466a, 0xad,0x0a, 0xc4,0x05,0x9e,0xad,0x74,0x28); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a7a1ba28-de41-466a-ad0a-c4059ead7428") +IWSManResourceLocator : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE put_ResourceURI( + BSTR uri) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResourceURI( + BSTR *uri) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSelector( + BSTR resourceSelName, + VARIANT selValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearSelectors( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FragmentPath( + BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FragmentPath( + BSTR text) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_FragmentDialect( + BSTR *text) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_FragmentDialect( + BSTR text) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddOption( + BSTR OptionName, + VARIANT OptionValue, + WINBOOL mustComply = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_MustUnderstandOptions( + WINBOOL mustUnderstand) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MustUnderstandOptions( + WINBOOL *mustUnderstand) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearOptions( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Error( + BSTR *value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManResourceLocator, 0xa7a1ba28, 0xde41, 0x466a, 0xad,0x0a, 0xc4,0x05,0x9e,0xad,0x74,0x28) +#endif +#else +typedef struct IWSManResourceLocatorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManResourceLocator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManResourceLocator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManResourceLocator *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManResourceLocator *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManResourceLocator *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManResourceLocator *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManResourceLocator *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManResourceLocator methods ***/ + HRESULT (STDMETHODCALLTYPE *put_ResourceURI)( + IWSManResourceLocator *This, + BSTR uri); + + HRESULT (STDMETHODCALLTYPE *get_ResourceURI)( + IWSManResourceLocator *This, + BSTR *uri); + + HRESULT (STDMETHODCALLTYPE *AddSelector)( + IWSManResourceLocator *This, + BSTR resourceSelName, + VARIANT selValue); + + HRESULT (STDMETHODCALLTYPE *ClearSelectors)( + IWSManResourceLocator *This); + + HRESULT (STDMETHODCALLTYPE *get_FragmentPath)( + IWSManResourceLocator *This, + BSTR *text); + + HRESULT (STDMETHODCALLTYPE *put_FragmentPath)( + IWSManResourceLocator *This, + BSTR text); + + HRESULT (STDMETHODCALLTYPE *get_FragmentDialect)( + IWSManResourceLocator *This, + BSTR *text); + + HRESULT (STDMETHODCALLTYPE *put_FragmentDialect)( + IWSManResourceLocator *This, + BSTR text); + + HRESULT (STDMETHODCALLTYPE *AddOption)( + IWSManResourceLocator *This, + BSTR OptionName, + VARIANT OptionValue, + WINBOOL mustComply); + + HRESULT (STDMETHODCALLTYPE *put_MustUnderstandOptions)( + IWSManResourceLocator *This, + WINBOOL mustUnderstand); + + HRESULT (STDMETHODCALLTYPE *get_MustUnderstandOptions)( + IWSManResourceLocator *This, + WINBOOL *mustUnderstand); + + HRESULT (STDMETHODCALLTYPE *ClearOptions)( + IWSManResourceLocator *This); + + HRESULT (STDMETHODCALLTYPE *get_Error)( + IWSManResourceLocator *This, + BSTR *value); + + END_INTERFACE +} IWSManResourceLocatorVtbl; + +interface IWSManResourceLocator { + CONST_VTBL IWSManResourceLocatorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManResourceLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManResourceLocator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManResourceLocator_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManResourceLocator_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManResourceLocator_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManResourceLocator_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManResourceLocator_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManResourceLocator methods ***/ +#define IWSManResourceLocator_put_ResourceURI(This,uri) (This)->lpVtbl->put_ResourceURI(This,uri) +#define IWSManResourceLocator_get_ResourceURI(This,uri) (This)->lpVtbl->get_ResourceURI(This,uri) +#define IWSManResourceLocator_AddSelector(This,resourceSelName,selValue) (This)->lpVtbl->AddSelector(This,resourceSelName,selValue) +#define IWSManResourceLocator_ClearSelectors(This) (This)->lpVtbl->ClearSelectors(This) +#define IWSManResourceLocator_get_FragmentPath(This,text) (This)->lpVtbl->get_FragmentPath(This,text) +#define IWSManResourceLocator_put_FragmentPath(This,text) (This)->lpVtbl->put_FragmentPath(This,text) +#define IWSManResourceLocator_get_FragmentDialect(This,text) (This)->lpVtbl->get_FragmentDialect(This,text) +#define IWSManResourceLocator_put_FragmentDialect(This,text) (This)->lpVtbl->put_FragmentDialect(This,text) +#define IWSManResourceLocator_AddOption(This,OptionName,OptionValue,mustComply) (This)->lpVtbl->AddOption(This,OptionName,OptionValue,mustComply) +#define IWSManResourceLocator_put_MustUnderstandOptions(This,mustUnderstand) (This)->lpVtbl->put_MustUnderstandOptions(This,mustUnderstand) +#define IWSManResourceLocator_get_MustUnderstandOptions(This,mustUnderstand) (This)->lpVtbl->get_MustUnderstandOptions(This,mustUnderstand) +#define IWSManResourceLocator_ClearOptions(This) (This)->lpVtbl->ClearOptions(This) +#define IWSManResourceLocator_get_Error(This,value) (This)->lpVtbl->get_Error(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManResourceLocator_QueryInterface(IWSManResourceLocator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManResourceLocator_AddRef(IWSManResourceLocator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManResourceLocator_Release(IWSManResourceLocator* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManResourceLocator_GetTypeInfoCount(IWSManResourceLocator* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManResourceLocator_GetTypeInfo(IWSManResourceLocator* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManResourceLocator_GetIDsOfNames(IWSManResourceLocator* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManResourceLocator_Invoke(IWSManResourceLocator* 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); +} +/*** IWSManResourceLocator methods ***/ +static inline HRESULT IWSManResourceLocator_put_ResourceURI(IWSManResourceLocator* This,BSTR uri) { + return This->lpVtbl->put_ResourceURI(This,uri); +} +static inline HRESULT IWSManResourceLocator_get_ResourceURI(IWSManResourceLocator* This,BSTR *uri) { + return This->lpVtbl->get_ResourceURI(This,uri); +} +static inline HRESULT IWSManResourceLocator_AddSelector(IWSManResourceLocator* This,BSTR resourceSelName,VARIANT selValue) { + return This->lpVtbl->AddSelector(This,resourceSelName,selValue); +} +static inline HRESULT IWSManResourceLocator_ClearSelectors(IWSManResourceLocator* This) { + return This->lpVtbl->ClearSelectors(This); +} +static inline HRESULT IWSManResourceLocator_get_FragmentPath(IWSManResourceLocator* This,BSTR *text) { + return This->lpVtbl->get_FragmentPath(This,text); +} +static inline HRESULT IWSManResourceLocator_put_FragmentPath(IWSManResourceLocator* This,BSTR text) { + return This->lpVtbl->put_FragmentPath(This,text); +} +static inline HRESULT IWSManResourceLocator_get_FragmentDialect(IWSManResourceLocator* This,BSTR *text) { + return This->lpVtbl->get_FragmentDialect(This,text); +} +static inline HRESULT IWSManResourceLocator_put_FragmentDialect(IWSManResourceLocator* This,BSTR text) { + return This->lpVtbl->put_FragmentDialect(This,text); +} +static inline HRESULT IWSManResourceLocator_AddOption(IWSManResourceLocator* This,BSTR OptionName,VARIANT OptionValue,WINBOOL mustComply) { + return This->lpVtbl->AddOption(This,OptionName,OptionValue,mustComply); +} +static inline HRESULT IWSManResourceLocator_put_MustUnderstandOptions(IWSManResourceLocator* This,WINBOOL mustUnderstand) { + return This->lpVtbl->put_MustUnderstandOptions(This,mustUnderstand); +} +static inline HRESULT IWSManResourceLocator_get_MustUnderstandOptions(IWSManResourceLocator* This,WINBOOL *mustUnderstand) { + return This->lpVtbl->get_MustUnderstandOptions(This,mustUnderstand); +} +static inline HRESULT IWSManResourceLocator_ClearOptions(IWSManResourceLocator* This) { + return This->lpVtbl->ClearOptions(This); +} +static inline HRESULT IWSManResourceLocator_get_Error(IWSManResourceLocator* This,BSTR *value) { + return This->lpVtbl->get_Error(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWSManResourceLocator_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManResourceLocatorInternal interface + */ +#ifndef __IWSManResourceLocatorInternal_INTERFACE_DEFINED__ +#define __IWSManResourceLocatorInternal_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManResourceLocatorInternal, 0xeffaead7, 0x7ec8, 0x4716, 0xb9,0xbe, 0xf2,0xe7,0xe9,0xfb,0x4a,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("effaead7-7ec8-4716-b9be-f2e7e9fb4adb") +IWSManResourceLocatorInternal : public IUnknown +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManResourceLocatorInternal, 0xeffaead7, 0x7ec8, 0x4716, 0xb9,0xbe, 0xf2,0xe7,0xe9,0xfb,0x4a,0xdb) +#endif +#else +typedef struct IWSManResourceLocatorInternalVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManResourceLocatorInternal *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManResourceLocatorInternal *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManResourceLocatorInternal *This); + + END_INTERFACE +} IWSManResourceLocatorInternalVtbl; + +interface IWSManResourceLocatorInternal { + CONST_VTBL IWSManResourceLocatorInternalVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManResourceLocatorInternal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManResourceLocatorInternal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManResourceLocatorInternal_Release(This) (This)->lpVtbl->Release(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManResourceLocatorInternal_QueryInterface(IWSManResourceLocatorInternal* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManResourceLocatorInternal_AddRef(IWSManResourceLocatorInternal* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManResourceLocatorInternal_Release(IWSManResourceLocatorInternal* This) { + return This->lpVtbl->Release(This); +} +#endif +#endif + +#endif + + +#endif /* __IWSManResourceLocatorInternal_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWSManInternal interface + */ +#ifndef __IWSManInternal_INTERFACE_DEFINED__ +#define __IWSManInternal_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWSManInternal, 0x04ae2b1d, 0x9954, 0x4d99, 0x94,0xa9, 0xa9,0x61,0xe7,0x2c,0x3a,0x13); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("04ae2b1d-9954-4d99-94a9-a961e72c3a13") +IWSManInternal : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE ConfigSDDL( + IDispatch *session, + VARIANT resourceUri, + LONG flags, + BSTR *resource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWSManInternal, 0x04ae2b1d, 0x9954, 0x4d99, 0x94,0xa9, 0xa9,0x61,0xe7,0x2c,0x3a,0x13) +#endif +#else +typedef struct IWSManInternalVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWSManInternal *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWSManInternal *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWSManInternal *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWSManInternal *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWSManInternal *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWSManInternal *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWSManInternal *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWSManInternal methods ***/ + HRESULT (STDMETHODCALLTYPE *ConfigSDDL)( + IWSManInternal *This, + IDispatch *session, + VARIANT resourceUri, + LONG flags, + BSTR *resource); + + END_INTERFACE +} IWSManInternalVtbl; + +interface IWSManInternal { + CONST_VTBL IWSManInternalVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWSManInternal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWSManInternal_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWSManInternal_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWSManInternal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWSManInternal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWSManInternal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWSManInternal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWSManInternal methods ***/ +#define IWSManInternal_ConfigSDDL(This,session,resourceUri,flags,resource) (This)->lpVtbl->ConfigSDDL(This,session,resourceUri,flags,resource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWSManInternal_QueryInterface(IWSManInternal* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWSManInternal_AddRef(IWSManInternal* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWSManInternal_Release(IWSManInternal* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWSManInternal_GetTypeInfoCount(IWSManInternal* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWSManInternal_GetTypeInfo(IWSManInternal* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWSManInternal_GetIDsOfNames(IWSManInternal* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWSManInternal_Invoke(IWSManInternal* 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); +} +/*** IWSManInternal methods ***/ +static inline HRESULT IWSManInternal_ConfigSDDL(IWSManInternal* This,IDispatch *session,VARIANT resourceUri,LONG flags,BSTR *resource) { + return This->lpVtbl->ConfigSDDL(This,session,resourceUri,flags,resource); +} +#endif +#endif + +#endif + + +#endif /* __IWSManInternal_INTERFACE_DEFINED__ */ + +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wsmandisp_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnetbs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnetbs.h new file mode 100644 index 00000000..9ad948b4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnetbs.h @@ -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. + */ +#ifndef _WSNETBS_ +#define _WSNETBS_ + +#define NETBIOS_NAME_LENGTH 16 + +typedef struct sockaddr_nb { + short snb_family; + u_short snb_type; + char snb_name[NETBIOS_NAME_LENGTH]; +} SOCKADDR_NB,*PSOCKADDR_NB,*LPSOCKADDR_NB; + +#define NETBIOS_UNIQUE_NAME (0x0000) +#define NETBIOS_GROUP_NAME (0x0001) +#define NETBIOS_TYPE_QUICK_UNIQUE (0x0002) +#define NETBIOS_TYPE_QUICK_GROUP (0x0003) + +#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) { int _i; (_snb)->snb_family = AF_NETBIOS; (_snb)->snb_type = (_type); for (_i=0; _isnb_name[_i] = ' '; } for (_i=0; *((_name)+_i)!='\0' && _isnb_name[_i] = *((_name)+_i); } (_snb)->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); } +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnwlink.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnwlink.h new file mode 100644 index 00000000..4393d107 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsnwlink.h @@ -0,0 +1,68 @@ +/** + * 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 _WSNWLINK_ +#define _WSNWLINK_ + +#define IPX_PTYPE 0x4000 + +#define IPX_FILTERPTYPE 0x4001 +#define IPX_STOPFILTERPTYPE 0x4003 +#define IPX_DSTYPE 0x4002 +#define IPX_EXTENDED_ADDRESS 0x4004 +#define IPX_RECVHDR 0x4005 +#define IPX_MAXSIZE 0x4006 +#define IPX_ADDRESS 0x4007 + +typedef struct _IPX_ADDRESS_DATA { + INT adapternum; + UCHAR netnum[4]; + UCHAR nodenum[6]; + BOOLEAN wan; + BOOLEAN status; + INT maxpkt; + ULONG linkspeed; +} IPX_ADDRESS_DATA,*PIPX_ADDRESS_DATA; + +#define IPX_GETNETINFO 0x4008 + +typedef struct _IPX_NETNUM_DATA { + UCHAR netnum[4]; + USHORT hopcount; + USHORT netdelay; + INT cardnum; + UCHAR router[6]; +} IPX_NETNUM_DATA,*PIPX_NETNUM_DATA; + +#define IPX_GETNETINFO_NORIP 0x4009 +#define IPX_SPXGETCONNECTIONSTATUS 0x400B + +typedef struct _IPX_SPXCONNSTATUS_DATA { + UCHAR ConnectionState; + UCHAR WatchDogActive; + USHORT LocalConnectionId; + USHORT RemoteConnectionId; + USHORT LocalSequenceNumber; + USHORT LocalAckNumber; + USHORT LocalAllocNumber; + USHORT RemoteAckNumber; + USHORT RemoteAllocNumber; + USHORT LocalSocket; + UCHAR ImmediateAddress[6]; + UCHAR RemoteNetwork[4]; + UCHAR RemoteNode[6]; + USHORT RemoteSocket; + USHORT RetransmissionCount; + USHORT EstimatedRoundTripDelay; + USHORT RetransmittedPackets; + USHORT SuppressedPacket; +} IPX_SPXCONNSTATUS_DATA,*PIPX_SPXCONNSTATUS_DATA; + +#define IPX_ADDRESS_NOTIFY 0x400C +#define IPX_MAX_ADAPTER_NUM 0x400D +#define IPX_RERIPNETNUMBER 0x400E +#define IPX_RECEIVE_BROADCAST 0x400F +#define IPX_IMMEDIATESPXACK 0x4010 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wspiapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wspiapi.h new file mode 100644 index 00000000..80be549d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wspiapi.h @@ -0,0 +1,203 @@ +/** + * 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 _WSPIAPI_H_ +#define _WSPIAPI_H_ + +#include +#include +#include +#include +#include + +#define _WSPIAPI_STRCPY_S(_Dst,_Size,_Src) strcpy((_Dst),(_Src)) +#define _WSPIAPI_STRCAT_S(_Dst,_Size,_Src) strcat((_Dst),(_Src)) +#define _WSPIAPI_STRNCPY_S(_Dst,_Size,_Src,_Count) strncpy((_Dst),(_Src),(_Count)); (_Dst)[(_Size) - 1] = 0 +#define _WSPIAPI_SPRINTF_S_1(_Dst,_Size,_Format,_Arg1) sprintf((_Dst),(_Format),(_Arg1)) + +#ifndef _WSPIAPI_COUNTOF +#ifndef __cplusplus +#define _WSPIAPI_COUNTOF(_Array) (sizeof(_Array) / sizeof(_Array[0])) +#else +template char (&__wspiapi_countof_helper(__CountofType (&_Array)[__wspiapi_countof_helper_N]))[__wspiapi_countof_helper_N]; +#define _WSPIAPI_COUNTOF(_Array) sizeof(__wspiapi_countof_helper(_Array)) +#endif +#endif + +#define WspiapiMalloc(tSize) calloc(1,(tSize)) +#define WspiapiFree(p) free(p) +#define WspiapiSwap(a,b,c) { (c) = (a); (a) = (b); (b) = (c); } +#define getaddrinfo WspiapiGetAddrInfo +#define getnameinfo WspiapiGetNameInfo +#define freeaddrinfo WspiapiFreeAddrInfo + +typedef int (WINAPI *WSPIAPI_PGETADDRINFO)(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res); +typedef int (WINAPI *WSPIAPI_PGETNAMEINFO)(const struct sockaddr *sa,socklen_t salen,char *host,size_t hostlen,char *serv,size_t servlen,int flags); +typedef void (WINAPI *WSPIAPI_PFREEADDRINFO)(struct addrinfo *ai); + +#ifdef __cplusplus +extern "C" { +#endif + typedef struct { + char const *pszName; + FARPROC pfAddress; + } WSPIAPI_FUNCTION; + +#define WSPIAPI_FUNCTION_ARRAY { { "getaddrinfo",(FARPROC)(void(*)(void)) WspiapiLegacyGetAddrInfo }, \ + { "getnameinfo",(FARPROC)(void(*)(void)) WspiapiLegacyGetNameInfo }, \ + { "freeaddrinfo",(FARPROC)(void(*)(void)) WspiapiLegacyFreeAddrInfo } } + + char *WINAPI WspiapiStrdup (const char *pszString); + WINBOOL WINAPI WspiapiParseV4Address (const char *pszAddress,PDWORD pdwAddress); + struct addrinfo * WINAPI WspiapiNewAddrInfo (int iSocketType,int iProtocol,WORD wPort,DWORD dwAddress); + int WINAPI WspiapiQueryDNS (const char *pszNodeName,int iSocketType,int iProtocol,WORD wPort,char pszAlias[NI_MAXHOST],struct addrinfo **pptResult); + int WINAPI WspiapiLookupNode (const char *pszNodeName,int iSocketType,int iProtocol,WORD wPort,WINBOOL bAI_CANONNAME,struct addrinfo **pptResult); + int WINAPI WspiapiClone (WORD wPort,struct addrinfo *ptResult); + void WINAPI WspiapiLegacyFreeAddrInfo (struct addrinfo *ptHead); + int WINAPI WspiapiLegacyGetAddrInfo(const char *pszNodeName,const char *pszServiceName,const struct addrinfo *ptHints,struct addrinfo **pptResult); + int WINAPI WspiapiLegacyGetNameInfo(const struct sockaddr *ptSocketAddress,socklen_t tSocketLength,char *pszNodeName,size_t tNodeLength,char *pszServiceName,size_t tServiceLength,int iFlags); + FARPROC WINAPI WspiapiLoad(WORD wFunction); + int WINAPI WspiapiGetAddrInfo(const char *nodename,const char *servname,const struct addrinfo *hints,struct addrinfo **res); + int WINAPI WspiapiGetNameInfo (const struct sockaddr *sa,socklen_t salen,char *host,size_t hostlen,char *serv,size_t servlen,int flags); + void WINAPI WspiapiFreeAddrInfo (struct addrinfo *ai); + +#ifndef __CRT__NO_INLINE + __CRT_INLINE char * WINAPI + WspiapiStrdup (const char *pszString) + { + char *rstr; + size_t szlen; + + if(!pszString) + return NULL; + szlen = strlen(pszString) + 1; + rstr = (char *) WspiapiMalloc (szlen); + if (!rstr) + return NULL; + strcpy (rstr, pszString); + return rstr; + } + + __CRT_INLINE WINBOOL WINAPI + WspiapiParseV4Address (const char *pszAddress, PDWORD pdwAddress) + { + DWORD dwAddress = 0; + const char *h = NULL; + int cnt; + + for (cnt = 0,h = pszAddress; *h != 0; h++) + if (h[0] == '.') + cnt++; + if (cnt != 3) + return FALSE; + dwAddress = inet_addr (pszAddress); + if (dwAddress == INADDR_NONE) + return FALSE; + *pdwAddress = dwAddress; + return TRUE; + } + + __CRT_INLINE struct addrinfo * WINAPI + WspiapiNewAddrInfo (int iSocketType,int iProtocol, WORD wPort,DWORD dwAddress) + { + struct addrinfo *n; + struct sockaddr_in *pa; + + if ((n = (struct addrinfo *) WspiapiMalloc (sizeof (struct addrinfo))) == NULL) + return NULL; + if ((pa = (struct sockaddr_in *) WspiapiMalloc (sizeof(struct sockaddr_in))) == NULL) + { + WspiapiFree(n); + return NULL; + } + pa->sin_family = AF_INET; + pa->sin_port = wPort; + pa->sin_addr.s_addr = dwAddress; + n->ai_family = PF_INET; + n->ai_socktype = iSocketType; + n->ai_protocol = iProtocol; + n->ai_addrlen = sizeof (struct sockaddr_in); + n->ai_addr = (struct sockaddr *) pa; + return n; + } + + __CRT_INLINE int WINAPI + WspiapiLookupNode (const char *pszNodeName, int iSocketType, int iProtocol, WORD wPort, + WINBOOL bAI_CANONNAME, struct addrinfo **pptResult) + { + int err = 0, cntAlias = 0; + char name[NI_MAXHOST] = ""; + char alias[NI_MAXHOST] = ""; + char *pname = name, *palias = alias, *tmp = NULL; + + strncpy (pname, pszNodeName, NI_MAXHOST - 1); + pname[NI_MAXHOST - 1] = 0; + for (;;) + { + err = WspiapiQueryDNS (pszNodeName, iSocketType, iProtocol, wPort, palias, pptResult); + if (err) + break; + if (*pptResult) + break; + ++cntAlias; + if (strlen (palias) == 0 || !strcmp (pname, palias) || cntAlias == 16) + { + err = EAI_FAIL; + break; + } + WspiapiSwap(pname, palias, tmp); + } + if (!err && bAI_CANONNAME) + { + (*pptResult)->ai_canonname = WspiapiStrdup (palias); + if (!(*pptResult)->ai_canonname) + err = EAI_MEMORY; + } + return err; + } + + __CRT_INLINE int WINAPI + WspiapiClone (WORD wPort,struct addrinfo *ptResult) + { + struct addrinfo *p = NULL; + struct addrinfo *n = NULL; + + for (p = ptResult; p != NULL;) + { + n = WspiapiNewAddrInfo (SOCK_DGRAM, p->ai_protocol, wPort, + ((struct sockaddr_in *) p->ai_addr)->sin_addr.s_addr); + if (!n) + break; + n->ai_next = p->ai_next; + p->ai_next = n; + p = n->ai_next; + } + if (p != NULL) + return EAI_MEMORY; + return 0; + } + + __CRT_INLINE void WINAPI + WspiapiLegacyFreeAddrInfo (struct addrinfo *ptHead) + { + struct addrinfo *p; + + for (p = ptHead; p != NULL; p = ptHead) + { + if (p->ai_canonname) + WspiapiFree (p->ai_canonname); + if (p->ai_addr) + WspiapiFree (p->ai_addr); + ptHead = p->ai_next; + WspiapiFree (p); + } + } +#endif /* !__CRT__NO_INLINE */ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsrm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsrm.h new file mode 100644 index 00000000..d738f474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsrm.h @@ -0,0 +1,93 @@ +/** + * 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 _WSRM_H_ +#define _WSRM_H_ + +#define IPPROTO_RM 113 +#define MAX_MCAST_TTL 255 + +#define RM_OPTIONSBASE 1000 +#define RM_RATE_WINDOW_SIZE (RM_OPTIONSBASE + 1) +#define RM_SET_MESSAGE_BOUNDARY (RM_OPTIONSBASE + 2) +#define RM_FLUSHCACHE (RM_OPTIONSBASE + 3) +#define RM_SENDER_WINDOW_ADVANCE_METHOD (RM_OPTIONSBASE + 4) +#define RM_SENDER_STATISTICS (RM_OPTIONSBASE + 5) +#define RM_LATEJOIN (RM_OPTIONSBASE + 6) +#define RM_SET_SEND_IF (RM_OPTIONSBASE + 7) +#define RM_ADD_RECEIVE_IF (RM_OPTIONSBASE + 8) +#define RM_DEL_RECEIVE_IF (RM_OPTIONSBASE + 9) +#define RM_SEND_WINDOW_ADV_RATE (RM_OPTIONSBASE + 10) +#define RM_USE_FEC (RM_OPTIONSBASE + 11) +#define RM_SET_MCAST_TTL (RM_OPTIONSBASE + 12) +#define RM_RECEIVER_STATISTICS (RM_OPTIONSBASE + 13) +#define RM_HIGH_SPEED_INTRANET_OPT (RM_OPTIONSBASE + 14) + +#define SENDER_DEFAULT_RATE_KBITS_PER_SEC 56 +#define SENDER_DEFAULT_WINDOW_SIZE_BYTES 10 *1000*1000 +#define SENDER_DEFAULT_WINDOW_ADV_PERCENTAGE 15 + +#define MAX_WINDOW_INCREMENT_PERCENTAGE 25 +#define SENDER_DEFAULT_LATE_JOINER_PERCENTAGE 0 +#define SENDER_MAX_LATE_JOINER_PERCENTAGE 75 + +#define BITS_PER_BYTE 8 +#define LOG2_BITS_PER_BYTE 3 + +enum eWINDOW_ADVANCE_METHOD { + E_WINDOW_ADVANCE_BY_TIME = 1,E_WINDOW_USE_AS_DATA_CACHE +}; + +typedef struct _RM_SEND_WINDOW { + ULONG RateKbitsPerSec; + ULONG WindowSizeInMSecs; + ULONG WindowSizeInBytes; +} RM_SEND_WINDOW; + +typedef struct _RM_SENDER_STATS { + ULONGLONG DataBytesSent; + ULONGLONG TotalBytesSent; + ULONGLONG NaksReceived; + ULONGLONG NaksReceivedTooLate; + ULONGLONG NumOutstandingNaks; + ULONGLONG NumNaksAfterRData; + ULONGLONG RepairPacketsSent; + ULONGLONG BufferSpaceAvailable; + ULONGLONG TrailingEdgeSeqId; + ULONGLONG LeadingEdgeSeqId; + ULONGLONG RateKBitsPerSecOverall; + ULONGLONG RateKBitsPerSecLast; + ULONGLONG TotalODataPacketsSent; +} RM_SENDER_STATS; + +typedef struct _RM_RECEIVER_STATS { + ULONGLONG NumODataPacketsReceived; + ULONGLONG NumRDataPacketsReceived; + ULONGLONG NumDuplicateDataPackets; + ULONGLONG DataBytesReceived; + ULONGLONG TotalBytesReceived; + ULONGLONG RateKBitsPerSecOverall; + ULONGLONG RateKBitsPerSecLast; + ULONGLONG TrailingEdgeSeqId; + ULONGLONG LeadingEdgeSeqId; + ULONGLONG AverageSequencesInWindow; + ULONGLONG MinSequencesInWindow; + ULONGLONG MaxSequencesInWindow; + ULONGLONG FirstNakSequenceNumber; + ULONGLONG NumPendingNaks; + ULONGLONG NumOutstandingNaks; + ULONGLONG NumDataPacketsBuffered; + ULONGLONG TotalSelectiveNaksSent; + ULONGLONG TotalParityNaksSent; +} RM_RECEIVER_STATS; + +typedef struct _RM_FEC_INFO { + USHORT FECBlockSize; + USHORT FECProActivePackets; + UCHAR FECGroupSize; + BOOLEAN fFECOnDemandParityEnabled; +} RM_FEC_INFO; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsvns.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsvns.h new file mode 100644 index 00000000..a2941388 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wsvns.h @@ -0,0 +1,21 @@ +/** + * 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 _WSVNS_ +#define _WSVNS_ + +typedef struct sockaddr_vns { + u_short sin_family; + u_char net_address[4]; + u_char subnet_addr[2]; + u_char port[2]; + u_char hops; + u_char filler[5]; +} SOCKADDR_VNS,*PSOCKADDR_VNS,*LPSOCKADDR_VNS; + +#define VNSPROTO_IPC 1 +#define VNSPROTO_RELIABLE_IPC 2 +#define VNSPROTO_SPP 3 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtsapi32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtsapi32.h new file mode 100644 index 00000000..a47e5659 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtsapi32.h @@ -0,0 +1,638 @@ +/** + * 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_WTSAPI +#define _INC_WTSAPI + +#include <_mingw_unicode.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#define WTS_CURRENT_SERVER ((HANDLE)NULL) +#define WTS_CURRENT_SERVER_HANDLE ((HANDLE)NULL) +#define WTS_CURRENT_SERVER_NAME (NULL) + +#define WTS_CURRENT_SESSION ((DWORD)-1) +#define WTS_ANY_SESSION ((DWORD)-2) + +#ifndef IDTIMEOUT +#define IDTIMEOUT 32000 +#endif +#ifndef IDASYNC +#define IDASYNC 32001 +#endif + +#define USERNAME_LENGTH 20 +#define CLIENTNAME_LENGTH 20 +#define CLIENTADDRESS_LENGTH 30 +#define WINSTATIONNAME_LENGTH 32 +#define DOMAIN_LENGTH 17 + +#define WTS_WSD_LOGOFF 0x1 +#define WTS_WSD_SHUTDOWN 0x2 +#define WTS_WSD_REBOOT 0x4 +#define WTS_WSD_POWEROFF 0x8 + +#define WTS_WSD_FASTREBOOT 0x10 + +#define MAX_ELAPSED_TIME_LENGTH 15 +#define MAX_DATE_TIME_LENGTH 56 +#define WINSTATIONNAME_LENGTH 32 +#define DOMAIN_LENGTH 17 + +#define WTS_DRIVE_LENGTH 3 +#define WTS_LISTENER_NAME_LENGTH 32 +#define WTS_COMMENT_LENGTH 60 + +#define WTS_LISTENER_CREATE 0x00000001 +#define WTS_LISTENER_UPDATE 0x00000010 + +#define WTS_SECURITY_QUERY_INFORMATION 0x00000001 +#define WTS_SECURITY_SET_INFORMATION 0x00000002 +#define WTS_SECURITY_RESET 0x00000004 +#define WTS_SECURITY_VIRTUAL_CHANNELS 0x00000008 +#define WTS_SECURITY_REMOTE_CONTROL 0x00000010 +#define WTS_SECURITY_LOGON 0x00000020 +#define WTS_SECURITY_LOGOFF 0x00000040 +#define WTS_SECURITY_MESSAGE 0x00000080 +#define WTS_SECURITY_CONNECT 0x00000100 +#define WTS_SECURITY_DISCONNECT 0x00000200 + +#define WTS_SECURITY_GUEST_ACCESS (WTS_SECURITY_LOGON) + +#define WTS_SECURITY_CURRENT_GUEST_ACCESS (WTS_SECURITY_VIRTUAL_CHANNELS | WTS_SECURITY_LOGOFF) + +#define WTS_SECURITY_USER_ACCESS (WTS_SECURITY_CURRENT_GUEST_ACCESS | WTS_SECURITY_QUERY_INFORMATION | WTS_SECURITY_CONNECT) + +#define WTS_SECURITY_CURRENT_USER_ACCESS (WTS_SECURITY_SET_INFORMATION | WTS_SECURITY_RESET | WTS_SECURITY_VIRTUAL_CHANNELS | WTS_SECURITY_LOGOFF | WTS_SECURITY_DISCONNECT) + +#define WTS_SECURITY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | WTS_SECURITY_QUERY_INFORMATION | WTS_SECURITY_SET_INFORMATION | WTS_SECURITY_RESET | WTS_SECURITY_VIRTUAL_CHANNELS | WTS_SECURITY_REMOTE_CONTROL | WTS_SECURITY_LOGON | WTS_SECURITY_MESSAGE | WTS_SECURITY_CONNECT | WTS_SECURITY_DISCONNECT) + + typedef enum _WTS_CONNECTSTATE_CLASS { + WTSActive,WTSConnected,WTSConnectQuery,WTSShadow,WTSDisconnected,WTSIdle,WTSListen,WTSReset,WTSDown,WTSInit + } WTS_CONNECTSTATE_CLASS; + + typedef struct _WTS_SERVER_INFOW { + LPWSTR pServerName; + } WTS_SERVER_INFOW,*PWTS_SERVER_INFOW; + + typedef struct _WTS_SERVER_INFOA { + LPSTR pServerName; + } WTS_SERVER_INFOA,*PWTS_SERVER_INFOA; + +#define WTS_SERVER_INFO __MINGW_NAME_AW(WTS_SERVER_INFO) +#define PWTS_SERVER_INFO __MINGW_NAME_AW(PWTS_SERVER_INFO) + + typedef struct _WTS_SESSION_INFOW { + DWORD SessionId; + LPWSTR pWinStationName; + WTS_CONNECTSTATE_CLASS State; + } WTS_SESSION_INFOW,*PWTS_SESSION_INFOW; + + typedef struct _WTS_SESSION_INFOA { + DWORD SessionId; + LPSTR pWinStationName; + WTS_CONNECTSTATE_CLASS State; + } WTS_SESSION_INFOA,*PWTS_SESSION_INFOA; + +#define WTS_SESSION_INFO __MINGW_NAME_AW(WTS_SESSION_INFO) +#define PWTS_SESSION_INFO __MINGW_NAME_AW(PWTS_SESSION_INFO) + + typedef struct _WTS_PROCESS_INFOW { + DWORD SessionId; + DWORD ProcessId; + LPWSTR pProcessName; + PSID pUserSid; + } WTS_PROCESS_INFOW,*PWTS_PROCESS_INFOW; + + typedef struct _WTS_PROCESS_INFOA { + DWORD SessionId; + DWORD ProcessId; + LPSTR pProcessName; + PSID pUserSid; + } WTS_PROCESS_INFOA,*PWTS_PROCESS_INFOA; + +#define WTS_PROCESS_INFO __MINGW_NAME_AW(WTS_PROCESS_INFO) +#define PWTS_PROCESS_INFO __MINGW_NAME_AW(PWTS_PROCESS_INFO) + +#define WTS_PROTOCOL_TYPE_CONSOLE 0 +#define WTS_PROTOCOL_TYPE_ICA 1 +#define WTS_PROTOCOL_TYPE_RDP 2 + + typedef enum _WTS_INFO_CLASS { + WTSInitialProgram = 0, + WTSApplicationName = 1, + WTSWorkingDirectory = 2, + WTSOEMId = 3, + WTSSessionId = 4, + WTSUserName = 5, + WTSWinStationName = 6, + WTSDomainName = 7, + WTSConnectState = 8, + WTSClientBuildNumber = 9, + WTSClientName = 10, + WTSClientDirectory = 11, + WTSClientProductId = 12, + WTSClientHardwareId = 13, + WTSClientAddress = 14, + WTSClientDisplay = 15, + WTSClientProtocolType = 16, + WTSIdleTime = 17, + WTSLogonTime = 18, + WTSIncomingBytes = 19, + WTSOutgoingBytes = 20, + WTSIncomingFrames = 21, + WTSOutgoingFrames = 22, + WTSClientInfo = 23, + WTSSessionInfo = 24, + WTSSessionInfoEx = 25, + WTSConfigInfo = 26, + WTSValidationInfo = 27, + WTSSessionAddressV4 = 28, + WTSIsRemoteSession = 29 + } WTS_INFO_CLASS; + + typedef struct _WTSCONFIGINFOW { + ULONG version; + ULONG fConnectClientDrivesAtLogon; + ULONG fConnectPrinterAtLogon; + ULONG fDisablePrinterRedirection; + ULONG fDisableDefaultMainClientPrinter; + ULONG ShadowSettings; + WCHAR LogonUserName[USERNAME_LENGTH + 1 ]; + WCHAR LogonDomain[DOMAIN_LENGTH + 1 ]; + WCHAR WorkDirectory[MAX_PATH + 1 ]; + WCHAR InitialProgram[MAX_PATH + 1 ]; + WCHAR ApplicationName[MAX_PATH + 1 ]; + } WTSCONFIGINFOW, *PWTSCONFIGINFOW; + + typedef struct _WTSCONFIGINFOA { + ULONG version; + ULONG fConnectClientDrivesAtLogon; + ULONG fConnectPrinterAtLogon; + ULONG fDisablePrinterRedirection; + ULONG fDisableDefaultMainClientPrinter; + ULONG ShadowSettings; + CHAR LogonUserName[USERNAME_LENGTH + 1 ]; + CHAR LogonDomain[DOMAIN_LENGTH + 1 ]; + CHAR WorkDirectory[MAX_PATH + 1 ]; + CHAR InitialProgram[MAX_PATH + 1 ]; + CHAR ApplicationName[MAX_PATH + 1 ]; + } WTSCONFIGINFOA, *PWTSCONFIGINFOA; + +__MINGW_TYPEDEF_AW(WTSCONFIGINFO) +__MINGW_TYPEDEF_AW(PWTSCONFIGINFO) + + typedef struct _WTS_CLIENT_ADDRESS { + DWORD AddressFamily; + BYTE Address[20]; + } WTS_CLIENT_ADDRESS,*PWTS_CLIENT_ADDRESS; + + typedef struct _WTS_CLIENT_DISPLAY { + DWORD HorizontalResolution; + DWORD VerticalResolution; + DWORD ColorDepth; + } WTS_CLIENT_DISPLAY,*PWTS_CLIENT_DISPLAY; + + typedef enum _WTS_CONFIG_CLASS { + WTSUserConfigInitialProgram,WTSUserConfigWorkingDirectory,WTSUserConfigfInheritInitialProgram,WTSUserConfigfAllowLogonTerminalServer, + WTSUserConfigTimeoutSettingsConnections,WTSUserConfigTimeoutSettingsDisconnections,WTSUserConfigTimeoutSettingsIdle, + WTSUserConfigfDeviceClientDrives,WTSUserConfigfDeviceClientPrinters,WTSUserConfigfDeviceClientDefaultPrinter,WTSUserConfigBrokenTimeoutSettings, + WTSUserConfigReconnectSettings,WTSUserConfigModemCallbackSettings,WTSUserConfigModemCallbackPhoneNumber,WTSUserConfigShadowingSettings, + WTSUserConfigTerminalServerProfilePath,WTSUserConfigTerminalServerHomeDir,WTSUserConfigTerminalServerHomeDirDrive, + WTSUserConfigfTerminalServerRemoteHomeDir,WTSUserConfigUser + } WTS_CONFIG_CLASS; + + typedef enum _WTS_CONFIG_SOURCE { + WTSUserConfigSourceSAM + } WTS_CONFIG_SOURCE; + + typedef struct _WTSUSERCONFIGA { + DWORD Source; + DWORD InheritInitialProgram; + DWORD AllowLogonTerminalServer; + DWORD TimeoutSettingsConnections; + DWORD TimeoutSettingsDisconnections; + DWORD TimeoutSettingsIdle; + DWORD DeviceClientDrives; + DWORD DeviceClientPrinters; + DWORD ClientDefaultPrinter; + DWORD BrokenTimeoutSettings; + DWORD ReconnectSettings; + DWORD ShadowingSettings; + DWORD TerminalServerRemoteHomeDir; + CHAR InitialProgram[ MAX_PATH + 1 ]; + CHAR WorkDirectory[ MAX_PATH + 1 ]; + CHAR TerminalServerProfilePath[ MAX_PATH + 1 ]; + CHAR TerminalServerHomeDir[ MAX_PATH + 1 ]; + CHAR TerminalServerHomeDirDrive[ WTS_DRIVE_LENGTH + 1 ]; + } WTSUSERCONFIGA, *PWTSUSERCONFIGA; + + typedef struct _WTSUSERCONFIGW { + DWORD Source; + DWORD InheritInitialProgram; + DWORD AllowLogonTerminalServer; + DWORD TimeoutSettingsConnections; + DWORD TimeoutSettingsDisconnections; + DWORD TimeoutSettingsIdle; + DWORD DeviceClientDrives; + DWORD DeviceClientPrinters; + DWORD ClientDefaultPrinter; + DWORD BrokenTimeoutSettings; + DWORD ReconnectSettings; + DWORD ShadowingSettings; + DWORD TerminalServerRemoteHomeDir; + WCHAR InitialProgram[ MAX_PATH + 1 ]; + WCHAR WorkDirectory[ MAX_PATH + 1 ]; + WCHAR TerminalServerProfilePath[ MAX_PATH + 1 ]; + WCHAR TerminalServerHomeDir[ MAX_PATH + 1 ]; + WCHAR TerminalServerHomeDirDrive[ WTS_DRIVE_LENGTH + 1 ]; + } WTSUSERCONFIGW, *PWTSUSERCONFIGW; + +__MINGW_TYPEDEF_AW(WTSUSERCONFIG) +__MINGW_TYPEDEF_AW(PWTSUSERCONFIG) + +#define WTS_EVENT_NONE 0x0 +#define WTS_EVENT_CREATE 0x1 +#define WTS_EVENT_DELETE 0x2 +#define WTS_EVENT_RENAME 0x4 +#define WTS_EVENT_CONNECT 0x8 +#define WTS_EVENT_DISCONNECT 0x10 +#define WTS_EVENT_LOGON 0x20 +#define WTS_EVENT_LOGOFF 0x40 +#define WTS_EVENT_STATECHANGE 0x80 +#define WTS_EVENT_LICENSE 0x100 +#define WTS_EVENT_ALL 0x7fffffff +#define WTS_EVENT_FLUSH 0x80000000 + +#define REMOTECONTROL_KBDSHIFT_HOTKEY 0x1 +#define REMOTECONTROL_KBDCTRL_HOTKEY 0x2 +#define REMOTECONTROL_KBDALT_HOTKEY 0x4 + + typedef enum _WTS_VIRTUAL_CLASS { + WTSVirtualClientData,WTSVirtualFileHandle + } WTS_VIRTUAL_CLASS; + + typedef struct _WTS_SESSION_ADDRESS { + DWORD AddressFamily; + BYTE Address[20]; + } WTS_SESSION_ADDRESS, *PWTS_SESSION_ADDRESS; + +#define WTSEnumerateServers __MINGW_NAME_AW(WTSEnumerateServers) +#define WTSOpenServer __MINGW_NAME_AW(WTSOpenServer) +#define WTSOpenServerEx __MINGW_NAME_AW(WTSOpenServerEx) +#define WTSEnumerateSessions __MINGW_NAME_AW(WTSEnumerateSessions) +#define WTSEnumerateProcesses __MINGW_NAME_AW(WTSEnumerateProcesses) +#define WTSQuerySessionInformation __MINGW_NAME_AW(WTSQuerySessionInformation) +#define WTSQueryUserConfig __MINGW_NAME_AW(WTSQueryUserConfig) +#define WTSSetUserConfig __MINGW_NAME_AW(WTSSetUserConfig) +#define WTSSendMessage __MINGW_NAME_AW(WTSSendMessage) + + WINBOOL WINAPI WTSEnumerateServersW(LPWSTR pDomainName,DWORD Reserved,DWORD Version,PWTS_SERVER_INFOW *ppServerInfo,DWORD *pCount); + WINBOOL WINAPI WTSEnumerateServersA(LPSTR pDomainName,DWORD Reserved,DWORD Version,PWTS_SERVER_INFOA *ppServerInfo,DWORD *pCount); + HANDLE WINAPI WTSOpenServerW(LPWSTR pServerName); + HANDLE WINAPI WTSOpenServerA(LPSTR pServerName); + HANDLE WINAPI WTSOpenServerExW(LPWSTR pServerName); + HANDLE WINAPI WTSOpenServerExA(LPSTR pServerName); + VOID WINAPI WTSCloseServer(HANDLE hServer); + WINBOOL WINAPI WTSEnumerateSessionsW(HANDLE hServer,DWORD Reserved,DWORD Version,PWTS_SESSION_INFOW *ppSessionInfo,DWORD *pCount); + WINBOOL WINAPI WTSEnumerateSessionsA(HANDLE hServer,DWORD Reserved,DWORD Version,PWTS_SESSION_INFOA *ppSessionInfo,DWORD *pCount); + WINBOOL WINAPI WTSEnumerateProcessesW(HANDLE hServer,DWORD Reserved,DWORD Version,PWTS_PROCESS_INFOW *ppProcessInfo,DWORD *pCount); + WINBOOL WINAPI WTSEnumerateProcessesA(HANDLE hServer,DWORD Reserved,DWORD Version,PWTS_PROCESS_INFOA *ppProcessInfo,DWORD *pCount); + WINBOOL WINAPI WTSTerminateProcess(HANDLE hServer,DWORD ProcessId,DWORD ExitCode); + WINBOOL WINAPI WTSQuerySessionInformationW(HANDLE hServer,DWORD SessionId,WTS_INFO_CLASS WTSInfoClass,LPWSTR *ppBuffer,DWORD *pBytesReturned); + WINBOOL WINAPI WTSQuerySessionInformationA(HANDLE hServer,DWORD SessionId,WTS_INFO_CLASS WTSInfoClass,LPSTR *ppBuffer,DWORD *pBytesReturned); + WINBOOL WINAPI WTSQueryUserConfigW(LPWSTR pServerName,LPWSTR pUserName,WTS_CONFIG_CLASS WTSConfigClass,LPWSTR *ppBuffer,DWORD *pBytesReturned); + WINBOOL WINAPI WTSQueryUserConfigA(LPSTR pServerName,LPSTR pUserName,WTS_CONFIG_CLASS WTSConfigClass,LPSTR *ppBuffer,DWORD *pBytesReturned); + WINBOOL WINAPI WTSSetUserConfigW(LPWSTR pServerName,LPWSTR pUserName,WTS_CONFIG_CLASS WTSConfigClass,LPWSTR pBuffer,DWORD DataLength); + WINBOOL WINAPI WTSSetUserConfigA(LPSTR pServerName,LPSTR pUserName,WTS_CONFIG_CLASS WTSConfigClass,LPSTR pBuffer,DWORD DataLength); + WINBOOL WINAPI WTSSendMessageW(HANDLE hServer,DWORD SessionId,LPWSTR pTitle,DWORD TitleLength,LPWSTR pMessage,DWORD MessageLength,DWORD Style,DWORD Timeout,DWORD *pResponse,WINBOOL bWait); + WINBOOL WINAPI WTSSendMessageA(HANDLE hServer,DWORD SessionId,LPSTR pTitle,DWORD TitleLength,LPSTR pMessage,DWORD MessageLength,DWORD Style,DWORD Timeout,DWORD *pResponse,WINBOOL bWait); + WINBOOL WINAPI WTSDisconnectSession(HANDLE hServer,DWORD SessionId,WINBOOL bWait); + WINBOOL WINAPI WTSLogoffSession(HANDLE hServer,DWORD SessionId,WINBOOL bWait); + WINBOOL WINAPI WTSShutdownSystem(HANDLE hServer,DWORD ShutdownFlag); + WINBOOL WINAPI WTSWaitSystemEvent(HANDLE hServer,DWORD EventMask,DWORD *pEventFlags); + HANDLE WINAPI WTSVirtualChannelOpen(HANDLE hServer,DWORD SessionId,LPSTR pVirtualName); + WINBOOL WINAPI WTSVirtualChannelClose(HANDLE hChannelHandle); + WINBOOL WINAPI WTSVirtualChannelRead(HANDLE hChannelHandle,ULONG TimeOut,PCHAR Buffer,ULONG BufferSize,PULONG pBytesRead); + WINBOOL WINAPI WTSVirtualChannelWrite(HANDLE hChannelHandle,PCHAR Buffer,ULONG Length,PULONG pBytesWritten); + WINBOOL WINAPI WTSVirtualChannelPurgeInput(HANDLE hChannelHandle); + WINBOOL WINAPI WTSVirtualChannelPurgeOutput(HANDLE hChannelHandle); + WINBOOL WINAPI WTSVirtualChannelQuery(HANDLE hChannelHandle,WTS_VIRTUAL_CLASS,PVOID *ppBuffer,DWORD *pBytesReturned); + VOID WINAPI WTSFreeMemory(PVOID pMemory); + +#define NOTIFY_FOR_ALL_SESSIONS 1 +#define NOTIFY_FOR_THIS_SESSION 0 + + WINBOOL WINAPI WTSRegisterSessionNotification(HWND hWnd,DWORD dwFlags); + WINBOOL WINAPI WTSUnRegisterSessionNotification(HWND hWnd); + WINBOOL WINAPI WTSQueryUserToken(ULONG SessionId,PHANDLE phToken); + +#if (_WIN32_WINNT >= 0x0600) +typedef struct _WTSCLIENTW { + WCHAR ClientName[CLIENTNAME_LENGTH + 1]; + WCHAR Domain[DOMAIN_LENGTH + 1 ]; + WCHAR UserName[USERNAME_LENGTH + 1]; + WCHAR WorkDirectory[MAX_PATH + 1]; + WCHAR InitialProgram[MAX_PATH + 1]; + BYTE EncryptionLevel; + ULONG ClientAddressFamily; + USHORT ClientAddress[CLIENTADDRESS_LENGTH + 1]; + USHORT HRes; + USHORT VRes; + USHORT ColorDepth; + WCHAR ClientDirectory[MAX_PATH + 1]; + ULONG ClientBuildNumber; + ULONG ClientHardwareId; + USHORT ClientProductId; + USHORT OutBufCountHost; + USHORT OutBufCountClient; + USHORT OutBufLength; + WCHAR DeviceId[MAX_PATH + 1]; +} WTSCLIENTW, *PWTSCLIENTW; + +typedef struct _WTSCLIENTA { + CHAR ClientName[CLIENTNAME_LENGTH + 1]; + CHAR Domain[DOMAIN_LENGTH + 1 ]; + CHAR UserName[USERNAME_LENGTH + 1]; + CHAR WorkDirectory[MAX_PATH + 1]; + CHAR InitialProgram[MAX_PATH + 1]; + BYTE EncryptionLevel; + ULONG ClientAddressFamily; + USHORT ClientAddress[CLIENTADDRESS_LENGTH + 1]; + USHORT HRes; + USHORT VRes; + USHORT ColorDepth; + CHAR ClientDirectory[MAX_PATH + 1]; + ULONG ClientBuildNumber; + ULONG ClientHardwareId; + USHORT ClientProductId; + USHORT OutBufCountHost; + USHORT OutBufCountClient; + USHORT OutBufLength; + CHAR DeviceId[MAX_PATH + 1]; +} WTSCLIENTA, *PWTSCLIENTA; + +__MINGW_TYPEDEF_AW(WTSCLIENT) +__MINGW_TYPEDEF_AW(PWTSCLIENT) + +#define PRODUCTINFO_COMPANYNAME_LENGTH 256 +#define PRODUCTINFO_PRODUCTID_LENGTH 4 + + typedef struct _WTS_PRODUCT_INFOA { + CHAR CompanyName[PRODUCTINFO_COMPANYNAME_LENGTH]; + CHAR ProductID[PRODUCTINFO_PRODUCTID_LENGTH]; + } PRODUCT_INFOA; + + typedef struct _WTS_PRODUCT_INFOW { + WCHAR CompanyName[PRODUCTINFO_COMPANYNAME_LENGTH]; + WCHAR ProductID[PRODUCTINFO_PRODUCTID_LENGTH]; + } PRODUCT_INFOW; + +__MINGW_TYPEDEF_AW(PRODUCT_INFO) + +#define VALIDATIONINFORMATION_LICENSE_LENGTH 16384 +#define VALIDATIONINFORMATION_HARDWAREID_LENGTH 20 + + typedef struct _WTS_VALIDATION_INFORMATIONA { + PRODUCT_INFOA ProductInfo; + BYTE License[VALIDATIONINFORMATION_LICENSE_LENGTH]; + DWORD LicenseLength; + BYTE HardwareID[VALIDATIONINFORMATION_HARDWAREID_LENGTH]; + DWORD HardwareIDLength; + } WTS_VALIDATION_INFORMATIONA, *PWTS_VALIDATION_INFORMATIONA; + + typedef struct _WTS_VALIDATION_INFORMATIONW { + PRODUCT_INFOW ProductInfo; + BYTE License[VALIDATIONINFORMATION_LICENSE_LENGTH]; + DWORD LicenseLength; + BYTE HardwareID[VALIDATIONINFORMATION_HARDWAREID_LENGTH]; + DWORD HardwareIDLength; + } WTS_VALIDATION_INFORMATIONW, *PWTS_VALIDATION_INFORMATIONW; + +__MINGW_TYPEDEF_AW(WTS_VALIDATION_INFORMATION) +__MINGW_TYPEDEF_AW(PWTS_VALIDATION_INFORMATION) + +typedef struct _WTSINFOW { + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + DWORD IncomingBytes; + DWORD OutgoingBytes; + DWORD IncomingFrames; + DWORD OutgoingFrames; + DWORD IncomingCompressedBytes; + DWORD OutgoingCompressedBytes; + WCHAR WinStationName[WINSTATIONNAME_LENGTH]; + WCHAR Domain[DOMAIN_LENGTH]; + WCHAR UserName[USERNAME_LENGTH+1]; + LARGE_INTEGER ConnectTime; + LARGE_INTEGER DisconnectTime; + LARGE_INTEGER LastInputTime; + LARGE_INTEGER LogonTime; + LARGE_INTEGER CurrentTime; +} WTSINFOW, *PWTSINFOW; + +typedef struct _WTSINFOA { + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + DWORD IncomingBytes; + DWORD OutgoingBytes; + DWORD IncomingFrames; + DWORD OutgoingFrames; + DWORD IncomingCompressedBytes; + DWORD OutgoingCompressedBytes; + CHAR WinStationName[WINSTATIONNAME_LENGTH]; + CHAR Domain[DOMAIN_LENGTH]; + CHAR UserName[USERNAME_LENGTH+1]; + LARGE_INTEGER ConnectTime; + LARGE_INTEGER DisconnectTime; + LARGE_INTEGER LastInputTime; + LARGE_INTEGER LogonTime; + LARGE_INTEGER CurrentTime; +} WTSINFOA, *PWTSINFOA; + +__MINGW_TYPEDEF_AW(WTSINFO) +__MINGW_TYPEDEF_AW(PWTSINFO) + +#define WTS_SESSIONSTATE_UNKNOWN 0xffffffff +#define WTS_SESSIONSTATE_LOCK 0x00000000 +#define WTS_SESSIONSTATE_UNLOCK 0x00000001 + + typedef struct _WTSINFOEX_LEVEL1_W { + ULONG SessionId; + WTS_CONNECTSTATE_CLASS SessionState; + LONG SessionFlags; + WCHAR WinStationName[WINSTATIONNAME_LENGTH + 1]; + WCHAR UserName[USERNAME_LENGTH + 1]; + WCHAR DomainName[DOMAIN_LENGTH + 1]; + LARGE_INTEGER LogonTime; + LARGE_INTEGER ConnectTime; + LARGE_INTEGER DisconnectTime; + LARGE_INTEGER LastInputTime; + LARGE_INTEGER CurrentTime; + DWORD IncomingBytes; + DWORD OutgoingBytes; + DWORD IncomingFrames; + DWORD OutgoingFrames; + DWORD IncomingCompressedBytes; + DWORD OutgoingCompressedBytes; + } WTSINFOEX_LEVEL1_W, *PWTSINFOEX_LEVEL1_W; + + typedef struct _WTSINFOEX_LEVEL1_A { + ULONG SessionId; + WTS_CONNECTSTATE_CLASS SessionState; + LONG SessionFlags; + CHAR WinStationName[WINSTATIONNAME_LENGTH + 1]; + CHAR UserName[USERNAME_LENGTH + 1]; + CHAR DomainName[DOMAIN_LENGTH + 1]; + LARGE_INTEGER LogonTime; + LARGE_INTEGER ConnectTime; + LARGE_INTEGER DisconnectTime; + LARGE_INTEGER LastInputTime; + LARGE_INTEGER CurrentTime; + DWORD IncomingBytes; + DWORD OutgoingBytes; + DWORD IncomingFrames; + DWORD OutgoingFrames; + DWORD IncomingCompressedBytes; + DWORD OutgoingCompressedBytes; + } WTSINFOEX_LEVEL1_A, *PWTSINFOEX_LEVEL1_A; + +__MINGW_TYPEDEF_UAW(WTSINFOEX_LEVEL1) +__MINGW_TYPEDEF_UAW(PWTSINFOEX_LEVEL1) + + typedef union _WTSINFOEX_LEVEL_W { + WTSINFOEX_LEVEL1_W WTSInfoExLevel1; + } WTSINFOEX_LEVEL_W, *PWTSINFOEX_LEVEL_W; + + typedef union _WTSINFOEX_LEVEL_A { + WTSINFOEX_LEVEL1_A WTSInfoExLevel1; + } WTSINFOEX_LEVEL_A, *PWTSINFOEX_LEVEL_A; + +__MINGW_TYPEDEF_UAW(WTSINFOEX_LEVEL) +__MINGW_TYPEDEF_UAW(PWTSINFOEX_LEVEL) + + typedef struct _WTSINFOEXW { + DWORD Level; + WTSINFOEX_LEVEL_W Data; + } WTSINFOEXW, *PWTSINFOEXW; + + typedef struct _WTSINFOEXA { + DWORD Level; + WTSINFOEX_LEVEL_A Data; + } WTSINFOEXA, *PWTSINFOEXA; + +__MINGW_TYPEDEF_AW(WTSINFOEX) +__MINGW_TYPEDEF_AW(PWTSINFOEX) + +WINBOOL WINAPI WTSConnectSessionA( + ULONG LogonId, + ULONG TargetLogonId, + PSTR pPassword, + WINBOOL bWait +); + +WINBOOL WINAPI WTSConnectSessionW( + ULONG LogonId, + ULONG TargetLogonId, + PWSTR pPassword, + WINBOOL bWait +); + +WINBOOL WTSRegisterSessionNotificationEx( + HANDLE hServer, + HWND hWnd, + DWORD dwFlags +); + +WINBOOL WINAPI WTSStartRemoteControlSessionA( + LPSTR pTargetServerName, + ULONG TargetLogonId, + BYTE HotkeyVk, + USHORT HotkeyModifiers +); + +WINBOOL WINAPI WTSStartRemoteControlSessionW( + LPWSTR pTargetServerName, + ULONG TargetLogonId, + BYTE HotkeyVk, + USHORT HotkeyModifiers +); + +#define WTSStartRemoteControlSession __MINGW_NAME_AW(WTSStartRemoteControlSession) +#define WTSConnectSession __MINGW_NAME_AW(WTSConnectSession) + +WINBOOL WINAPI WTSStopRemoteControlSession( + ULONG LogonId +); + +WINBOOL WINAPI WTSUnRegisterSessionNotificationEx( + HANDLE hServer, + HWND hWnd +); + +#define WTS_CHANNEL_OPTION_DYNAMIC 0x00000001 +#define WTS_CHANNEL_OPTION_DYNAMIC_PRI_LOW 0x00000000 +#define WTS_CHANNEL_OPTION_DYNAMIC_PRI_MED 0x00000002 +#define WTS_CHANNEL_OPTION_DYNAMIC_PRI_HIGH 0x00000004 +#define WTS_CHANNEL_OPTION_DYNAMIC_PRI_REAL 0x00000006 +#define WTS_CHANNEL_OPTION_DYNAMIC_NO_COMPRESS 0x00000008 + +HANDLE WINAPI WTSVirtualChannelOpenEx( + DWORD SessionId, + LPSTR pVirtualName, + DWORD flags +); + +#endif /*(_WIN32_WINNT >= 0x0600)*/ + +#if (_WIN32_WINNT >= 0x0601) + +typedef struct _WTS_SESSION_INFO_1A { + DWORD ExecEnvId; + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + LPSTR pSessionName; + LPSTR pHostName; + LPSTR pUserName; + LPSTR pDomainName; + LPSTR pFarmName; +} WTS_SESSION_INFO_1A, *PWTS_SESSION_INFO_1A; + +typedef struct _WTS_SESSION_INFO_1W { + DWORD ExecEnvId; + WTS_CONNECTSTATE_CLASS State; + DWORD SessionId; + LPWSTR pSessionName; + LPWSTR pHostName; + LPWSTR pUserName; + LPWSTR pDomainName; + LPWSTR pFarmName; +} WTS_SESSION_INFO_1W, * PWTS_SESSION_INFO_1W; + +#define WTS_SESSION_INFO_1 __MINGW_NAME_AW(WTS_SESSION_INFO_1) +#define PWTS_SESSION_INFO_1 __MINGW_NAME_AW(PWTS_SESSION_INFO_1) + +WINBOOL WINAPI WTSEnumerateSessionsExA(HANDLE hServer,DWORD* pLevel,DWORD Filter,PWTS_SESSION_INFO_1A* ppSessionInfo,DWORD* pCount); +WINBOOL WINAPI WTSEnumerateSessionsExW(HANDLE hServer,DWORD* pLevel,DWORD Filter,PWTS_SESSION_INFO_1W* ppSessionInfo,DWORD* pCount); +#define WTSEnumerateSessionsEx __MINGW_NAME_AW(WTSEnumerateSessionsEx) + +typedef enum _WTS_TYPE_CLASS { + WTSTypeProcessInfoLevel0, + WTSTypeProcessInfoLevel1, + WTSTypeSessionInfoLevel1 +} WTS_TYPE_CLASS; +WINBOOL WINAPI WTSFreeMemoryExA(WTS_TYPE_CLASS WTSTypeClass,PVOID pMemory,ULONG NumberOfEntries); +WINBOOL WINAPI WTSFreeMemoryExW(WTS_TYPE_CLASS WTSTypeClass,PVOID pMemory,ULONG NumberOfEntries); +#define WTSFreeMemoryEx __MINGW_NAME_AW(WTSFreeMemoryEx) + +#endif /*(_WIN32_WINNT >= 0x0601)*/ + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypes.h new file mode 100644 index 00000000..8a4b5180 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypes.h @@ -0,0 +1,631 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wtypes.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 __wtypes_h__ +#define __wtypes_h__ + +/* Forward declarations */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + + +/***************************************************************************** + * IWinTypes interface (v0.1) + */ +#ifndef __IWinTypes_INTERFACE_DEFINED__ +#define __IWinTypes_INTERFACE_DEFINED__ + +extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; +extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; +typedef struct tagRemHGLOBAL { + LONG fNullHGlobal; + ULONG cbData; + byte data[1]; +} RemHGLOBAL; + +typedef struct tagRemHMETAFILEPICT { + LONG mm; + LONG xExt; + LONG yExt; + ULONG cbData; + byte data[1]; +} RemHMETAFILEPICT; + +typedef struct tagRemHENHMETAFILE { + ULONG cbData; + byte data[1]; +} RemHENHMETAFILE; +typedef struct tagRemHBITMAP { + ULONG cbData; + byte data[1]; +} RemHBITMAP; + +typedef struct tagRemHPALETTE { + ULONG cbData; + byte data[1]; +} RemHPALETTE; + +typedef struct tagRemBRUSH { + ULONG cbData; + byte data[1]; +} RemHBRUSH; +#if 0 +typedef UINT_PTR WPARAM; +typedef LONG_PTR LPARAM; +typedef LONG_PTR LRESULT; +typedef void *HMODULE; +typedef void *HINSTANCE; +typedef void *HTASK; +typedef void *HKEY; +typedef void *HDESK; +typedef void *HMF; +typedef void *HEMF; +typedef void *HPEN; +typedef void *HRSRC; +typedef void *HSTR; +typedef void *HWINSTA; +typedef void *HKL; +typedef void *HGDIOBJ; +typedef HANDLE HDWP; +typedef INT HFILE; +typedef DWORD COLORREF; +typedef DWORD *LPCOLORREF; +typedef struct _RECTL { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECTL; +typedef struct _RECTL *PRECTL; +typedef struct _RECTL *LPRECTL; +typedef struct tagPOINT { + LONG x; + LONG y; +} POINT; +typedef struct tagPOINT *PPOINT; +typedef struct tagPOINT *LPPOINT; +typedef struct _POINTL { + LONG x; + LONG y; +} POINTL; +typedef struct _POINTL *PPOINTL; +typedef struct tagSIZE { + LONG cx; + LONG cy; +} SIZE; +typedef struct tagSIZE *PSIZE; +typedef struct tagSIZE *LPSIZE; +typedef struct tagSIZEL { + LONG cx; + LONG cy; +} SIZEL; +typedef struct tagSIZEL *PSIZEL; +typedef struct tagSIZEL *LPSIZEL; +#endif + +#ifndef _PALETTEENTRY_DEFINED +#define _PALETTEENTRY_DEFINED + +typedef struct tagPALETTEENTRY { + BYTE peRed; + BYTE peGreen; + BYTE peBlue; + BYTE peFlags; +} PALETTEENTRY; +typedef struct tagPALETTEENTRY *PPALETTEENTRY; +typedef struct tagPALETTEENTRY *LPPALETTEENTRY; +#endif + +#ifndef _LOGPALETTE_DEFINED +#define _LOGPALETTE_DEFINED + +typedef struct tagLOGPALETTE { + WORD palVersion; + WORD palNumEntries; + PALETTEENTRY palPalEntry[1]; +} LOGPALETTE; +typedef struct tagLOGPALETTE *PLOGPALETTE; +typedef struct tagLOGPALETTE *LPLOGPALETTE; +#endif + +#ifndef _WINDEF_ +typedef const RECTL *LPCRECTL; +typedef struct tagRECT { + LONG left; + LONG top; + LONG right; + LONG bottom; +} RECT; +typedef struct tagRECT *PRECT; +typedef struct tagRECT *LPRECT; +typedef const RECT *LPCRECT; +#endif + +#if 0 +typedef FMTID *REFFMTID; +#endif + +#ifndef _ROTFLAGS_DEFINED +#define _ROTFLAGS_DEFINED +#define ROTFLAGS_REGISTRATIONKEEPSALIVE 0x1 +#define ROTFLAGS_ALLOWANYCLIENT 0x2 +#endif + +#ifndef _ROT_COMPARE_MAX_DEFINED +#define _ROT_COMPARE_MAX_DEFINED +#define ROT_COMPARE_MAX 2048 +#endif + +typedef enum tagDVASPECT { + DVASPECT_CONTENT = 1, + DVASPECT_THUMBNAIL = 2, + DVASPECT_ICON = 4, + DVASPECT_DOCPRINT = 8 +} DVASPECT; + +typedef enum tagSTGC { + STGC_DEFAULT = 0, + STGC_OVERWRITE = 1, + STGC_ONLYIFCURRENT = 2, + STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, + STGC_CONSOLIDATE = 8 +} STGC; + +typedef enum tagSTGMOVE { + STGMOVE_MOVE = 0, + STGMOVE_COPY = 1, + STGMOVE_SHALLOWCOPY = 2 +} STGMOVE; + +typedef enum tagSTATFLAG { + STATFLAG_DEFAULT = 0, + STATFLAG_NONAME = 1, + STATFLAG_NOOPEN = 2 +} STATFLAG; +typedef void *HCONTEXT; + +#ifndef _LCID_DEFINED +#define _LCID_DEFINED +typedef DWORD LCID; +#endif + +#ifndef _LANGID_DEFINED +#define _LANGID_DEFINED +typedef USHORT LANGID; +#endif + +#define WDT_INPROC_CALL (0x48746457) + +#define WDT_REMOTE_CALL (0x52746457) + +#define WDT_INPROC64_CALL (0x50746457) + + +typedef struct _userCLIPFORMAT { + LONG fContext; + union __WIDL_wtypes_generated_name_00000001 { + DWORD dwValue; + wchar_t *pwszName; + } u; +} userCLIPFORMAT; + +typedef userCLIPFORMAT *wireCLIPFORMAT; +typedef WORD CLIPFORMAT; + +typedef struct _GDI_NONREMOTE { + LONG fContext; + union __WIDL_wtypes_generated_name_00000002 { + LONG hInproc; + DWORD_BLOB *hRemote; + } u; +} GDI_NONREMOTE; + +typedef struct _userHGLOBAL { + LONG fContext; + union __WIDL_wtypes_generated_name_00000003 { + LONG hInproc; + FLAGGED_BYTE_BLOB *hRemote; + INT64 hInproc64; + } u; +} userHGLOBAL; + +typedef userHGLOBAL *wireHGLOBAL; + +typedef struct _userHMETAFILE { + LONG fContext; + union __WIDL_wtypes_generated_name_00000004 { + LONG hInproc; + BYTE_BLOB *hRemote; + INT64 hInproc64; + } u; +} userHMETAFILE; + +typedef struct _remoteMETAFILEPICT { + LONG mm; + LONG xExt; + LONG yExt; + userHMETAFILE *hMF; +} remoteMETAFILEPICT; + +typedef struct _userHMETAFILEPICT { + LONG fContext; + union __WIDL_wtypes_generated_name_00000005 { + LONG hInproc; + remoteMETAFILEPICT *hRemote; + INT64 hInproc64; + } u; +} userHMETAFILEPICT; + +typedef struct _userHENHMETAFILE { + LONG fContext; + union __WIDL_wtypes_generated_name_00000006 { + LONG hInproc; + BYTE_BLOB *hRemote; + INT64 hInproc64; + } u; +} userHENHMETAFILE; + +typedef struct _userBITMAP { + LONG bmType; + LONG bmWidth; + LONG bmHeight; + LONG bmWidthBytes; + WORD bmPlanes; + WORD bmBitsPixel; + ULONG cbSize; + byte pBuffer[1]; +} userBITMAP; + +typedef struct _userHBITMAP { + LONG fContext; + union __WIDL_wtypes_generated_name_00000007 { + LONG hInproc; + userBITMAP *hRemote; + INT64 hInproc64; + } u; +} userHBITMAP; + +typedef struct _userHPALETTE { + LONG fContext; + union __WIDL_wtypes_generated_name_00000008 { + LONG hInproc; + LOGPALETTE *hRemote; + INT64 hInproc64; + } u; +} userHPALETTE; + +typedef struct _RemotableHandle { + LONG fContext; + union __WIDL_wtypes_generated_name_00000009 { + LONG hInproc; + LONG hRemote; + } u; +} RemotableHandle; + +typedef RemotableHandle *wireHWND; +typedef RemotableHandle *wireHMENU; +typedef RemotableHandle *wireHACCEL; +typedef RemotableHandle *wireHBRUSH; +typedef RemotableHandle *wireHFONT; +typedef RemotableHandle *wireHDC; +typedef RemotableHandle *wireHICON; +typedef RemotableHandle *wireHRGN; +typedef RemotableHandle *wireHMONITOR; + +#if 0 +typedef void *HWND; +typedef void *HMENU; +typedef void *HACCEL; +typedef void *HBRUSH; +typedef void *HFONT; +typedef void *HDC; +typedef void *HICON; +typedef void *HRGN; +typedef void *HMONITOR; + +#ifndef _HCURSOR_DEFINED +#define _HCURSOR_DEFINED +typedef HICON HCURSOR; +#endif + +#endif + +#ifndef _TEXTMETRIC_DEFINED +#define _TEXTMETRIC_DEFINED + +typedef struct tagTEXTMETRICW { + LONG tmHeight; + LONG tmAscent; + LONG tmDescent; + LONG tmInternalLeading; + LONG tmExternalLeading; + LONG tmAveCharWidth; + LONG tmMaxCharWidth; + LONG tmWeight; + LONG tmOverhang; + LONG tmDigitizedAspectX; + LONG tmDigitizedAspectY; + WCHAR tmFirstChar; + WCHAR tmLastChar; + WCHAR tmDefaultChar; + WCHAR tmBreakChar; + BYTE tmItalic; + BYTE tmUnderlined; + BYTE tmStruckOut; + BYTE tmPitchAndFamily; + BYTE tmCharSet; +} TEXTMETRICW; +typedef struct tagTEXTMETRICW *PTEXTMETRICW; +typedef struct tagTEXTMETRICW *LPTEXTMETRICW; +#endif + +#ifndef _WIN32 +#ifndef WINAPI +typedef struct tagMSG { + HWND hwnd; + UINT message; + WPARAM wParam; + LPARAM lParam; + DWORD time; + POINT pt; +} MSG; +typedef struct tagMSG *PMSG; +typedef struct tagMSG *NPMSG; +typedef struct tagMSG *LPMSG; +#endif +#endif + +typedef userHBITMAP *wireHBITMAP; +typedef userHPALETTE *wireHPALETTE; +typedef userHENHMETAFILE *wireHENHMETAFILE; +typedef userHMETAFILE *wireHMETAFILE; +typedef userHMETAFILEPICT *wireHMETAFILEPICT; + +#if 0 +typedef void *HGLOBAL; +typedef HGLOBAL HLOCAL; +typedef void *HBITMAP; +typedef void *HPALETTE; +typedef void *HENHMETAFILE; +typedef void *HMETAFILE; +#endif + +typedef void *HMETAFILEPICT; + +#endif /* __IWinTypes_INTERFACE_DEFINED__ */ + + +typedef double DATE; + +#ifndef _tagCY_DEFINED +#define _tagCY_DEFINED +#define _CY_DEFINED + +#if 0 +typedef struct tagCY { + LONGLONG int64; +} CY; +#else +typedef union tagCY { + __C89_NAMELESS struct { + unsigned __LONG32 Lo; + __LONG32 Hi; + } DUMMYSTRUCTNAME; + LONGLONG int64; +} CY; +#endif +#endif + +typedef CY *LPCY; + +#if 0 +typedef struct tagDEC { + USHORT wReserved; + BYTE scale; + BYTE sign; + ULONG Hi32; + ULONGLONG Lo64; +} DECIMAL; +#else +typedef struct tagDEC { + USHORT wReserved; + __C89_NAMELESS union { + __C89_NAMELESS struct { + BYTE scale; + BYTE sign; + } DUMMYSTRUCTNAME; + USHORT signscale; + } DUMMYUNIONNAME; + ULONG Hi32; + __C89_NAMELESS union { + __C89_NAMELESS struct { + ULONG Lo32; + ULONG Mid32; + } DUMMYSTRUCTNAME2; + ULONGLONG Lo64; + } DUMMYUNIONNAME2; +} DECIMAL; + +#define DECIMAL_NEG ((BYTE)0x80) +#define DECIMAL_SETZERO(dec) { (dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0; } +#endif + +typedef DECIMAL *LPDECIMAL; + +typedef FLAGGED_WORD_BLOB *wireBSTR; +typedef OLECHAR *BSTR; + +typedef BSTR *LPBSTR; + +typedef short VARIANT_BOOL; +#if 0 +typedef VARIANT_BOOL _VARIANT_BOOL; +#else +#define _VARIANT_BOOL /##/ +#endif + +#ifndef _tagBSTRBLOB_DEFINED +#define _tagBSTRBLOB_DEFINED + +typedef struct tagBSTRBLOB { + ULONG cbSize; + BYTE *pData; +} BSTRBLOB; +typedef struct tagBSTRBLOB *LPBSTRBLOB; +#endif + +#define VARIANT_TRUE ((VARIANT_BOOL)-1) +#define VARIANT_FALSE ((VARIANT_BOOL)0) + +typedef struct tagCLIPDATA { + ULONG cbSize; + LONG ulClipFmt; + BYTE *pClipData; +} CLIPDATA; + +#define CBPCLIPDATA(clipdata) ((clipdata).cbSize - sizeof((clipdata).ulClipFmt)) + +typedef unsigned short VARTYPE; + +enum VARENUM { + VT_EMPTY = 0, + VT_NULL = 1, + VT_I2 = 2, + VT_I4 = 3, + VT_R4 = 4, + VT_R8 = 5, + VT_CY = 6, + VT_DATE = 7, + VT_BSTR = 8, + VT_DISPATCH = 9, + VT_ERROR = 10, + VT_BOOL = 11, + VT_VARIANT = 12, + VT_UNKNOWN = 13, + VT_DECIMAL = 14, + VT_I1 = 16, + VT_UI1 = 17, + VT_UI2 = 18, + VT_UI4 = 19, + VT_I8 = 20, + VT_UI8 = 21, + VT_INT = 22, + VT_UINT = 23, + VT_VOID = 24, + VT_HRESULT = 25, + VT_PTR = 26, + VT_SAFEARRAY = 27, + VT_CARRAY = 28, + VT_USERDEFINED = 29, + VT_LPSTR = 30, + VT_LPWSTR = 31, + VT_RECORD = 36, + VT_INT_PTR = 37, + VT_UINT_PTR = 38, + VT_FILETIME = 64, + VT_BLOB = 65, + VT_STREAM = 66, + VT_STORAGE = 67, + VT_STREAMED_OBJECT = 68, + VT_STORED_OBJECT = 69, + VT_BLOB_OBJECT = 70, + VT_CF = 71, + VT_CLSID = 72, + VT_VERSIONED_STREAM = 73, + VT_BSTR_BLOB = 0xfff, + VT_VECTOR = 0x1000, + VT_ARRAY = 0x2000, + VT_BYREF = 0x4000, + VT_RESERVED = 0x8000, + VT_ILLEGAL = 0xffff, + VT_ILLEGALMASKED = 0xfff, + VT_TYPEMASK = 0xfff +}; + +typedef ULONG PROPID; + +#ifndef PROPERTYKEY_DEFINED +#define PROPERTYKEY_DEFINED + +typedef struct _tagpropertykey { + GUID fmtid; + DWORD pid; +} PROPERTYKEY; +#endif + +typedef struct tagCSPLATFORM { + DWORD dwPlatformId; + DWORD dwVersionHi; + DWORD dwVersionLo; + DWORD dwProcessorArch; +} CSPLATFORM; + +typedef struct tagQUERYCONTEXT { + DWORD dwContext; + CSPLATFORM Platform; + LCID Locale; + DWORD dwVersionHi; + DWORD dwVersionLo; +} QUERYCONTEXT; + +typedef enum tagTYSPEC { + TYSPEC_CLSID = 0, + TYSPEC_FILEEXT = 1, + TYSPEC_MIMETYPE = 2, + TYSPEC_FILENAME = 3, + TYSPEC_PROGID = 4, + TYSPEC_PACKAGENAME = 5, + TYSPEC_OBJECTID = 6 +} TYSPEC; + +typedef struct __WIDL_wtypes_generated_name_0000000B { + DWORD tyspec; + union __WIDL_wtypes_generated_name_0000000A { + CLSID clsid; + LPOLESTR pFileExt; + LPOLESTR pMimeType; + LPOLESTR pProgId; + LPOLESTR pFileName; + struct { + LPOLESTR pPackageName; + GUID PolicyId; + } ByName; + struct { + GUID ObjectId; + GUID PolicyId; + } ByObjectId; + } tagged_union; +} uCLSSPEC; +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wtypes_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypesbase.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypesbase.h new file mode 100644 index 00000000..99c07c2b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wtypesbase.h @@ -0,0 +1,424 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wtypesbase.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 __wtypesbase_h__ +#define __wtypesbase_h__ + +/* Forward declarations */ + +/* Headers for imported files */ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + + +/***************************************************************************** + * IWinTypesBase interface (v0.1) + */ +#ifndef __IWinTypesBase_INTERFACE_DEFINED__ +#define __IWinTypesBase_INTERFACE_DEFINED__ + +extern RPC_IF_HANDLE IWinTypesBase_v0_1_c_ifspec; +extern RPC_IF_HANDLE IWinTypesBase_v0_1_s_ifspec; + +#if 0 +typedef byte BYTE; +typedef unsigned short WORD; +typedef unsigned int UINT; +typedef int INT; +typedef LONG WINBOOL; +typedef LONG LONG; +typedef ULONG DWORD; +typedef void *HANDLE; +typedef WORD *LPWORD; +typedef DWORD *LPDWORD; +typedef char CHAR; +typedef CHAR *LPSTR; +typedef const CHAR *LPCSTR; +typedef wchar_t WCHAR; +typedef WCHAR TCHAR; +typedef WCHAR *LPWSTR; +typedef TCHAR *LPTSTR; +typedef const WCHAR *LPCWSTR; +typedef const TCHAR *LPCTSTR; +typedef HANDLE *LPHANDLE; +#endif + +#if !defined(OLE2ANSI) +typedef WCHAR OLECHAR; +typedef OLECHAR *LPOLESTR; +typedef const OLECHAR *LPCOLESTR; + +#define OLESTR(str) L##str +#else +typedef char OLECHAR; +typedef LPSTR LPOLESTR; +typedef LPCSTR LPCOLESTR; + +#define OLESTR(str) str +#endif + +#ifndef _WINDEF_ +#ifndef _MINWINDEF_ +typedef void *PVOID; +typedef void *LPVOID; +typedef float FLOAT; +#endif +#endif + +typedef unsigned char UCHAR; +typedef short SHORT; +typedef unsigned short USHORT; +typedef DWORD ULONG; +typedef double DOUBLE; +#ifndef _DWORDLONG_ +typedef UINT64 DWORDLONG; +typedef DWORDLONG *PDWORDLONG; +#endif + +#ifndef _ULONGLONG_ +typedef INT64 LONGLONG; +typedef UINT64 ULONGLONG; +typedef LONGLONG *PLONGLONG; +typedef ULONGLONG *PULONGLONG; +#endif +#if 0 +typedef struct _LARGE_INTEGER { + LONGLONG QuadPart; +} LARGE_INTEGER; +typedef LARGE_INTEGER *PLARGE_INTEGER; +typedef struct _ULARGE_INTEGER { + ULONGLONG QuadPart; +} ULARGE_INTEGER; +#endif + +#ifndef _WINBASE_ +#ifndef _FILETIME_ +#define _FILETIME_ + +typedef struct _FILETIME { + DWORD dwLowDateTime; + DWORD dwHighDateTime; +} FILETIME; +typedef struct _FILETIME *PFILETIME; +typedef struct _FILETIME *LPFILETIME; +#endif + +#ifndef _SYSTEMTIME_ +#define _SYSTEMTIME_ + +typedef struct _SYSTEMTIME { + WORD wYear; + WORD wMonth; + WORD wDayOfWeek; + WORD wDay; + WORD wHour; + WORD wMinute; + WORD wSecond; + WORD wMilliseconds; +} SYSTEMTIME; +typedef struct _SYSTEMTIME *PSYSTEMTIME; +typedef struct _SYSTEMTIME *LPSYSTEMTIME; +#endif + +#ifndef _SECURITY_ATTRIBUTES_ +#define _SECURITY_ATTRIBUTES_ + +typedef struct _SECURITY_ATTRIBUTES { + DWORD nLength; + LPVOID lpSecurityDescriptor; + WINBOOL bInheritHandle; +} SECURITY_ATTRIBUTES; +typedef struct _SECURITY_ATTRIBUTES *PSECURITY_ATTRIBUTES; +typedef struct _SECURITY_ATTRIBUTES *LPSECURITY_ATTRIBUTES; +#endif + +#ifndef SECURITY_DESCRIPTOR_REVISION +typedef USHORT SECURITY_DESCRIPTOR_CONTROL; +typedef USHORT *PSECURITY_DESCRIPTOR_CONTROL; +typedef PVOID PSID; + +typedef struct _ACL { + UCHAR AclRevision; + UCHAR Sbz1; + USHORT AclSize; + USHORT AceCount; + USHORT Sbz2; +} ACL; + +typedef ACL *PACL; + +typedef struct _SECURITY_DESCRIPTOR { + UCHAR Revision; + UCHAR Sbz1; + SECURITY_DESCRIPTOR_CONTROL Control; + PSID Owner; + PSID Group; + PACL Sacl; + PACL Dacl; +} SECURITY_DESCRIPTOR; +typedef struct _SECURITY_DESCRIPTOR *PISECURITY_DESCRIPTOR; +#endif +#endif + +typedef struct _COAUTHIDENTITY { + USHORT *User; + ULONG UserLength; + USHORT *Domain; + ULONG DomainLength; + USHORT *Password; + ULONG PasswordLength; + ULONG Flags; +} COAUTHIDENTITY; + +typedef struct _COAUTHINFO { + DWORD dwAuthnSvc; + DWORD dwAuthzSvc; + LPWSTR pwszServerPrincName; + DWORD dwAuthnLevel; + DWORD dwImpersonationLevel; + COAUTHIDENTITY *pAuthIdentityData; + DWORD dwCapabilities; +} COAUTHINFO; + +typedef LONG SCODE; +typedef SCODE *PSCODE; + +#ifndef _HRESULT_DEFINED +#define _HRESULT_DEFINED +#ifdef __WIDL__ +typedef LONG HRESULT; +#else +typedef __LONG32 HRESULT; +#endif +#endif + +#ifndef __OBJECTID_DEFINED +#define __OBJECTID_DEFINED +#define _OBJECTID_DEFINED + +typedef struct _OBJECTID { + GUID Lineage; + ULONG Uniquifier; +} OBJECTID; +#endif + +#if 0 +typedef GUID *REFGUID; +typedef IID *REFIID; +typedef CLSID *REFCLSID; +#endif + +typedef enum tagMEMCTX { + MEMCTX_TASK = 1, + MEMCTX_SHARED = 2, + MEMCTX_MACSYSTEM = 3, + MEMCTX_UNKNOWN = -1, + MEMCTX_SAME = -2 +} MEMCTX; +#ifndef _ROTREGFLAGS_DEFINED +#define _ROTREGFLAGS_DEFINED + +#define ROTREGFLAGS_ALLOWANYCLIENT 0x1 +#endif + +#ifndef _APPIDREGFLAGS_DEFINED +#define _APPIDREGFLAGS_DEFINED + +#define APPIDREGFLAGS_ACTIVATE_IUSERVER_INDESKTOP 0x1 +#define APPIDREGFLAGS_SECURE_SERVER_PROCESS_SD_AND_BIND 0x2 +#define APPIDREGFLAGS_ISSUE_ACTIVATION_RPC_AT_IDENTIFY 0x4 +#define APPIDREGFLAGS_IUSERVER_UNMODIFIED_LOGON_TOKEN 0x8 +#define APPIDREGFLAGS_IUSERVER_SELF_SID_IN_LAUNCH_PERMISSION 0x10 +#define APPIDREGFLAGS_IUSERVER_ACTIVATE_IN_CLIENT_SESSION_ONLY 0x20 +#define APPIDREGFLAGS_RESERVED1 0x40 +#endif + +#ifndef _DCOMSCM_REMOTECALL_FLAGS_DEFINED +#define _DCOMSCM_REMOTECALL_FLAGS_DEFINED + +#define DCOMSCM_ACTIVATION_USE_ALL_AUTHNSERVICES 0x1 +#define DCOMSCM_ACTIVATION_DISALLOW_UNSECURE_CALL 0x2 +#define DCOMSCM_RESOLVE_USE_ALL_AUTHNSERVICES 0x4 +#define DCOMSCM_RESOLVE_DISALLOW_UNSECURE_CALL 0x8 +#define DCOMSCM_PING_USE_MID_AUTHNSERVICE 0x10 +#define DCOMSCM_PING_DISALLOW_UNSECURE_CALL 0x20 +#endif + +typedef enum tagCLSCTX { + CLSCTX_INPROC_SERVER = 0x1, + CLSCTX_INPROC_HANDLER = 0x2, + CLSCTX_LOCAL_SERVER = 0x4, + CLSCTX_INPROC_SERVER16 = 0x8, + CLSCTX_REMOTE_SERVER = 0x10, + CLSCTX_INPROC_HANDLER16 = 0x20, + CLSCTX_RESERVED1 = 0x40, + CLSCTX_RESERVED2 = 0x80, + CLSCTX_RESERVED3 = 0x100, + CLSCTX_RESERVED4 = 0x200, + CLSCTX_NO_CODE_DOWNLOAD = 0x400, + CLSCTX_RESERVED5 = 0x800, + CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, + CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, + CLSCTX_NO_FAILURE_LOG = 0x4000, + CLSCTX_DISABLE_AAA = 0x8000, + CLSCTX_ENABLE_AAA = 0x10000, + CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, + CLSCTX_ACTIVATE_32_BIT_SERVER = 0x40000, + CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000, + CLSCTX_ENABLE_CLOAKING = 0x100000, + CLSCTX_APPCONTAINER = 0x400000, + CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000, + CLSCTX_PS_DLL = (int)0x80000000 +} CLSCTX; + +#define CLSCTX_VALID_MASK (CLSCTX_INPROC_SERVER | CLSCTX_INPROC_HANDLER | CLSCTX_LOCAL_SERVER | CLSCTX_INPROC_SERVER16 | CLSCTX_REMOTE_SERVER | CLSCTX_NO_CODE_DOWNLOAD | CLSCTX_NO_CUSTOM_MARSHAL | CLSCTX_ENABLE_CODE_DOWNLOAD | CLSCTX_NO_FAILURE_LOG | CLSCTX_DISABLE_AAA | CLSCTX_ENABLE_AAA | CLSCTX_FROM_DEFAULT_CONTEXT | CLSCTX_ACTIVATE_32_BIT_SERVER | CLSCTX_ACTIVATE_64_BIT_SERVER | CLSCTX_ENABLE_CLOAKING | CLSCTX_APPCONTAINER | CLSCTX_ACTIVATE_AAA_AS_IU | CLSCTX_PS_DLL) + +typedef enum tagMSHLFLAGS { + MSHLFLAGS_NORMAL = 0, + MSHLFLAGS_TABLESTRONG = 1, + MSHLFLAGS_TABLEWEAK = 2, + MSHLFLAGS_NOPING = 4, + MSHLFLAGS_RESERVED1 = 8, + MSHLFLAGS_RESERVED2 = 16, + MSHLFLAGS_RESERVED3 = 32, + MSHLFLAGS_RESERVED4 = 64 +} MSHLFLAGS; + +typedef enum tagMSHCTX { + MSHCTX_LOCAL = 0, + MSHCTX_NOSHAREDMEM = 1, + MSHCTX_DIFFERENTMACHINE = 2, + MSHCTX_INPROC = 3, + MSHCTX_CROSSCTX = 4 +} MSHCTX; + +typedef struct _BYTE_BLOB { + ULONG clSize; + byte abData[1]; +} BYTE_BLOB; + +typedef BYTE_BLOB *UP_BYTE_BLOB; + +typedef struct _WORD_BLOB { + ULONG clSize; + unsigned short asData[1]; +} WORD_BLOB; + +typedef WORD_BLOB *UP_WORD_BLOB; + +typedef struct _DWORD_BLOB { + ULONG clSize; + ULONG alData[1]; +} DWORD_BLOB; + +typedef DWORD_BLOB *UP_DWORD_BLOB; + +typedef struct _FLAGGED_BYTE_BLOB { + ULONG fFlags; + ULONG clSize; + byte abData[1]; +} FLAGGED_BYTE_BLOB; + +typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB; + +typedef struct _FLAGGED_WORD_BLOB { + ULONG fFlags; + ULONG clSize; + unsigned short asData[1]; +} FLAGGED_WORD_BLOB; + +typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; + +typedef struct _BYTE_SIZEDARR { + ULONG clSize; + byte *pData; +} BYTE_SIZEDARR; + +typedef struct _SHORT_SIZEDARR { + ULONG clSize; + unsigned short *pData; +} WORD_SIZEDARR; + +typedef struct _LONG_SIZEDARR { + ULONG clSize; + ULONG *pData; +} DWORD_SIZEDARR; + +typedef struct _HYPER_SIZEDARR { + ULONG clSize; + hyper *pData; +} HYPER_SIZEDARR; + +#endif /* __IWinTypesBase_INTERFACE_DEFINED__ */ + + +typedef boolean BOOLEAN; +#ifndef _tagBLOB_DEFINED +#define _tagBLOB_DEFINED +#define _BLOB_DEFINED +#define _LPBLOB_DEFINED + +typedef struct tagBLOB { + ULONG cbSize; + BYTE *pBlobData; +} BLOB; +typedef struct tagBLOB *LPBLOB; +#endif + +#ifndef SID_IDENTIFIER_AUTHORITY_DEFINED +#define SID_IDENTIFIER_AUTHORITY_DEFINED +typedef struct _SID_IDENTIFIER_AUTHORITY { + UCHAR Value[6]; +} SID_IDENTIFIER_AUTHORITY; +typedef struct _SID_IDENTIFIER_AUTHORITY *PSID_IDENTIFIER_AUTHORITY; +#endif + +#ifndef SID_DEFINED +#define SID_DEFINED + +typedef struct _SID { + BYTE Revision; + BYTE SubAuthorityCount; + SID_IDENTIFIER_AUTHORITY IdentifierAuthority; + ULONG SubAuthority[1]; +} SID; +typedef struct _SID *PISID; + +typedef struct _SID_AND_ATTRIBUTES { + SID *Sid; + DWORD Attributes; +} SID_AND_ATTRIBUTES; +typedef struct _SID_AND_ATTRIBUTES *PSID_AND_ATTRIBUTES; +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wtypesbase_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuapi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuapi.h new file mode 100644 index 00000000..6f48641e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuapi.h @@ -0,0 +1,7137 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/wuapi.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 __wuapi_h__ +#define __wuapi_h__ + +/* Forward declarations */ + +#ifndef __IAutomaticUpdatesSettings_FWD_DEFINED__ +#define __IAutomaticUpdatesSettings_FWD_DEFINED__ +typedef interface IAutomaticUpdatesSettings IAutomaticUpdatesSettings; +#ifdef __cplusplus +interface IAutomaticUpdatesSettings; +#endif /* __cplusplus */ +#endif + +#ifndef __IAutomaticUpdates_FWD_DEFINED__ +#define __IAutomaticUpdates_FWD_DEFINED__ +typedef interface IAutomaticUpdates IAutomaticUpdates; +#ifdef __cplusplus +interface IAutomaticUpdates; +#endif /* __cplusplus */ +#endif + +#ifndef __IWebProxy_FWD_DEFINED__ +#define __IWebProxy_FWD_DEFINED__ +typedef interface IWebProxy IWebProxy; +#ifdef __cplusplus +interface IWebProxy; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateSession_FWD_DEFINED__ +#define __IUpdateSession_FWD_DEFINED__ +typedef interface IUpdateSession IUpdateSession; +#ifdef __cplusplus +interface IUpdateSession; +#endif /* __cplusplus */ +#endif + +#ifndef __IImageInformation_FWD_DEFINED__ +#define __IImageInformation_FWD_DEFINED__ +typedef interface IImageInformation IImageInformation; +#ifdef __cplusplus +interface IImageInformation; +#endif /* __cplusplus */ +#endif + +#ifndef __ICategory_FWD_DEFINED__ +#define __ICategory_FWD_DEFINED__ +typedef interface ICategory ICategory; +#ifdef __cplusplus +interface ICategory; +#endif /* __cplusplus */ +#endif + +#ifndef __ICategoryCollection_FWD_DEFINED__ +#define __ICategoryCollection_FWD_DEFINED__ +typedef interface ICategoryCollection ICategoryCollection; +#ifdef __cplusplus +interface ICategoryCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IStringCollection_FWD_DEFINED__ +#define __IStringCollection_FWD_DEFINED__ +typedef interface IStringCollection IStringCollection; +#ifdef __cplusplus +interface IStringCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateException_FWD_DEFINED__ +#define __IUpdateException_FWD_DEFINED__ +typedef interface IUpdateException IUpdateException; +#ifdef __cplusplus +interface IUpdateException; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateExceptionCollection_FWD_DEFINED__ +#define __IUpdateExceptionCollection_FWD_DEFINED__ +typedef interface IUpdateExceptionCollection IUpdateExceptionCollection; +#ifdef __cplusplus +interface IUpdateExceptionCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateIdentity_FWD_DEFINED__ +#define __IUpdateIdentity_FWD_DEFINED__ +typedef interface IUpdateIdentity IUpdateIdentity; +#ifdef __cplusplus +interface IUpdateIdentity; +#endif /* __cplusplus */ +#endif + +#ifndef __IInstallationBehavior_FWD_DEFINED__ +#define __IInstallationBehavior_FWD_DEFINED__ +typedef interface IInstallationBehavior IInstallationBehavior; +#ifdef __cplusplus +interface IInstallationBehavior; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateDownloadContent_FWD_DEFINED__ +#define __IUpdateDownloadContent_FWD_DEFINED__ +typedef interface IUpdateDownloadContent IUpdateDownloadContent; +#ifdef __cplusplus +interface IUpdateDownloadContent; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateDownloadContentCollection_FWD_DEFINED__ +#define __IUpdateDownloadContentCollection_FWD_DEFINED__ +typedef interface IUpdateDownloadContentCollection IUpdateDownloadContentCollection; +#ifdef __cplusplus +interface IUpdateDownloadContentCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdate_FWD_DEFINED__ +#define __IUpdate_FWD_DEFINED__ +typedef interface IUpdate IUpdate; +#ifdef __cplusplus +interface IUpdate; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateCollection_FWD_DEFINED__ +#define __IUpdateCollection_FWD_DEFINED__ +typedef interface IUpdateCollection IUpdateCollection; +#ifdef __cplusplus +interface IUpdateCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __ISearchJob_FWD_DEFINED__ +#define __ISearchJob_FWD_DEFINED__ +typedef interface ISearchJob ISearchJob; +#ifdef __cplusplus +interface ISearchJob; +#endif /* __cplusplus */ +#endif + +#ifndef __ISearchResult_FWD_DEFINED__ +#define __ISearchResult_FWD_DEFINED__ +typedef interface ISearchResult ISearchResult; +#ifdef __cplusplus +interface ISearchResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateHistoryEntry_FWD_DEFINED__ +#define __IUpdateHistoryEntry_FWD_DEFINED__ +typedef interface IUpdateHistoryEntry IUpdateHistoryEntry; +#ifdef __cplusplus +interface IUpdateHistoryEntry; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateHistoryEntryCollection_FWD_DEFINED__ +#define __IUpdateHistoryEntryCollection_FWD_DEFINED__ +typedef interface IUpdateHistoryEntryCollection IUpdateHistoryEntryCollection; +#ifdef __cplusplus +interface IUpdateHistoryEntryCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateSearcher_FWD_DEFINED__ +#define __IUpdateSearcher_FWD_DEFINED__ +typedef interface IUpdateSearcher IUpdateSearcher; +#ifdef __cplusplus +interface IUpdateSearcher; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateDownloadResult_FWD_DEFINED__ +#define __IUpdateDownloadResult_FWD_DEFINED__ +typedef interface IUpdateDownloadResult IUpdateDownloadResult; +#ifdef __cplusplus +interface IUpdateDownloadResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IDownloadProgress_FWD_DEFINED__ +#define __IDownloadProgress_FWD_DEFINED__ +typedef interface IDownloadProgress IDownloadProgress; +#ifdef __cplusplus +interface IDownloadProgress; +#endif /* __cplusplus */ +#endif + +#ifndef __IDownloadJob_FWD_DEFINED__ +#define __IDownloadJob_FWD_DEFINED__ +typedef interface IDownloadJob IDownloadJob; +#ifdef __cplusplus +interface IDownloadJob; +#endif /* __cplusplus */ +#endif + +#ifndef __IDownloadResult_FWD_DEFINED__ +#define __IDownloadResult_FWD_DEFINED__ +typedef interface IDownloadResult IDownloadResult; +#ifdef __cplusplus +interface IDownloadResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateDownloader_FWD_DEFINED__ +#define __IUpdateDownloader_FWD_DEFINED__ +typedef interface IUpdateDownloader IUpdateDownloader; +#ifdef __cplusplus +interface IUpdateDownloader; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateInstallationResult_FWD_DEFINED__ +#define __IUpdateInstallationResult_FWD_DEFINED__ +typedef interface IUpdateInstallationResult IUpdateInstallationResult; +#ifdef __cplusplus +interface IUpdateInstallationResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IInstallationProgress_FWD_DEFINED__ +#define __IInstallationProgress_FWD_DEFINED__ +typedef interface IInstallationProgress IInstallationProgress; +#ifdef __cplusplus +interface IInstallationProgress; +#endif /* __cplusplus */ +#endif + +#ifndef __IInstallationJob_FWD_DEFINED__ +#define __IInstallationJob_FWD_DEFINED__ +typedef interface IInstallationJob IInstallationJob; +#ifdef __cplusplus +interface IInstallationJob; +#endif /* __cplusplus */ +#endif + +#ifndef __IInstallationResult_FWD_DEFINED__ +#define __IInstallationResult_FWD_DEFINED__ +typedef interface IInstallationResult IInstallationResult; +#ifdef __cplusplus +interface IInstallationResult; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateInstaller_FWD_DEFINED__ +#define __IUpdateInstaller_FWD_DEFINED__ +typedef interface IUpdateInstaller IUpdateInstaller; +#ifdef __cplusplus +interface IUpdateInstaller; +#endif /* __cplusplus */ +#endif + +#ifndef __ISystemInformation_FWD_DEFINED__ +#define __ISystemInformation_FWD_DEFINED__ +typedef interface ISystemInformation ISystemInformation; +#ifdef __cplusplus +interface ISystemInformation; +#endif /* __cplusplus */ +#endif + +#ifndef __IWindowsUpdateAgentInfo_FWD_DEFINED__ +#define __IWindowsUpdateAgentInfo_FWD_DEFINED__ +typedef interface IWindowsUpdateAgentInfo IWindowsUpdateAgentInfo; +#ifdef __cplusplus +interface IWindowsUpdateAgentInfo; +#endif /* __cplusplus */ +#endif + +#ifndef __AutomaticUpdates_FWD_DEFINED__ +#define __AutomaticUpdates_FWD_DEFINED__ +#ifdef __cplusplus +typedef class AutomaticUpdates AutomaticUpdates; +#else +typedef struct AutomaticUpdates AutomaticUpdates; +#endif /* defined __cplusplus */ +#endif /* defined __AutomaticUpdates_FWD_DEFINED__ */ + +#ifndef __UpdateInstaller_FWD_DEFINED__ +#define __UpdateInstaller_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UpdateInstaller UpdateInstaller; +#else +typedef struct UpdateInstaller UpdateInstaller; +#endif /* defined __cplusplus */ +#endif /* defined __UpdateInstaller_FWD_DEFINED__ */ + +#ifndef __UpdateSession_FWD_DEFINED__ +#define __UpdateSession_FWD_DEFINED__ +#ifdef __cplusplus +typedef class UpdateSession UpdateSession; +#else +typedef struct UpdateSession UpdateSession; +#endif /* defined __cplusplus */ +#endif /* defined __UpdateSession_FWD_DEFINED__ */ + +#ifndef __SystemInformation_FWD_DEFINED__ +#define __SystemInformation_FWD_DEFINED__ +#ifdef __cplusplus +typedef class SystemInformation SystemInformation; +#else +typedef struct SystemInformation SystemInformation; +#endif /* defined __cplusplus */ +#endif /* defined __SystemInformation_FWD_DEFINED__ */ + +#ifndef __WindowsUpdateAgentInfo_FWD_DEFINED__ +#define __WindowsUpdateAgentInfo_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WindowsUpdateAgentInfo WindowsUpdateAgentInfo; +#else +typedef struct WindowsUpdateAgentInfo WindowsUpdateAgentInfo; +#endif /* defined __cplusplus */ +#endif /* defined __WindowsUpdateAgentInfo_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __WUApiLib_LIBRARY_DEFINED__ +#define __WUApiLib_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_WUApiLib, 0xb596cc9f, 0x56e5, 0x419e, 0xa6,0x22, 0xe0,0x1b,0xb4,0x57,0x43,0x1e); + +#ifndef __ICategoryCollection_FWD_DEFINED__ +#define __ICategoryCollection_FWD_DEFINED__ +typedef interface ICategoryCollection ICategoryCollection; +#ifdef __cplusplus +interface ICategoryCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IStringCollection_FWD_DEFINED__ +#define __IStringCollection_FWD_DEFINED__ +typedef interface IStringCollection IStringCollection; +#ifdef __cplusplus +interface IStringCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateCollection_FWD_DEFINED__ +#define __IUpdateCollection_FWD_DEFINED__ +typedef interface IUpdateCollection IUpdateCollection; +#ifdef __cplusplus +interface IUpdateCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateDownloader_FWD_DEFINED__ +#define __IUpdateDownloader_FWD_DEFINED__ +typedef interface IUpdateDownloader IUpdateDownloader; +#ifdef __cplusplus +interface IUpdateDownloader; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateInstaller_FWD_DEFINED__ +#define __IUpdateInstaller_FWD_DEFINED__ +typedef interface IUpdateInstaller IUpdateInstaller; +#ifdef __cplusplus +interface IUpdateInstaller; +#endif /* __cplusplus */ +#endif + +#ifndef __IUpdateSearcher_FWD_DEFINED__ +#define __IUpdateSearcher_FWD_DEFINED__ +typedef interface IUpdateSearcher IUpdateSearcher; +#ifdef __cplusplus +interface IUpdateSearcher; +#endif /* __cplusplus */ +#endif + +typedef enum tagDownloadPriority { + dpLow = 1, + dpNormal = 2, + dpHigh = 3 +} DownloadPriority; +typedef enum tagServerSelection { + ssDefault = 0, + ssManagedServer = 1, + ssWindowsUpdate = 2, + ssOthers = 3 +} ServerSelection; +typedef enum tagAutomaticUpdatesNotificationLevel { + aunlNotConfigured = 0, + aunlDisabled = 1, + aunlNotifyBeforeDownload = 2, + aunlNotifyBeforeInstallation = 3, + aunlScheduledInstallation = 4 +} AutomaticUpdatesNotificationLevel; +typedef enum tagAutomaticUpdatesScheduledInstallationDay { + ausidEveryDay = 0, + ausidEverySunday = 1, + ausidEveryMonday = 2, + ausidEveryTuesday = 3, + ausidEveryWednesday = 4, + ausidEveryThursday = 5, + ausidEveryFriday = 6, + ausidEverySaturday = 7 +} AutomaticUpdatesScheduledInstallationDay; +typedef enum tagDownloadPhase { + dphInitializing = 0, + dphDownloading = 1, + dphVerifying = 2 +} DownloadPhase; +typedef enum tagOperationResultCode { + orcNotStarted = 0, + orcInProgress = 1, + orcSucceeded = 2, + orcSucceededWithErrors = 3, + orcFailed = 4, + orcAborted = 5 +} OperationResultCode; +typedef enum tagUpdateExceptionContext { + uecGeneral = 1, + uecWindowsDriver = 2, + uecWindowsInstaller = 3 +} UpdateExceptionContext; +typedef enum tagInstallationImpact { + iiNormal = 0, + iiMinor = 1, + iiRequiresExclusiveHandling = 2 +} InstallationImpact; +typedef enum tagInstallationRebootBehavior { + irbNeverReboots = 0, + irbAlwaysRequiresReboot = 1, + irbCanRequestReboot = 2 +} InstallationRebootBehavior; +typedef enum tagUpdateType { + utSoftware = 1, + utDriver = 2 +} UpdateType; +typedef enum tagUpdateOperation { + uoInstallation = 1, + uoUninstallation = 2 +} UpdateOperation; +typedef enum tagDeploymentAction { + daNone = 0, + daInstallation = 1, + daUninstallation = 2, + daDetection = 3 +} DeploymentAction; +/***************************************************************************** + * IAutomaticUpdatesSettings interface + */ +#ifndef __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ +#define __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAutomaticUpdatesSettings, 0x2ee48f22, 0xaf3c, 0x405f, 0x89,0x70, 0xf7,0x1b,0xe1,0x2e,0xe9,0xa2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2ee48f22-af3c-405f-8970-f71be12ee9a2") +IAutomaticUpdatesSettings : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_NotificationLevel( + AutomaticUpdatesNotificationLevel *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_NotificationLevel( + AutomaticUpdatesNotificationLevel value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReadOnly( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Required( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ScheduledInstallationDay( + AutomaticUpdatesScheduledInstallationDay *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ScheduledInstallationDay( + AutomaticUpdatesScheduledInstallationDay value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ScheduledInstallationTime( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ScheduledInstallationTime( + LONG value) = 0; + + virtual HRESULT STDMETHODCALLTYPE Refresh( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Save( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAutomaticUpdatesSettings, 0x2ee48f22, 0xaf3c, 0x405f, 0x89,0x70, 0xf7,0x1b,0xe1,0x2e,0xe9,0xa2) +#endif +#else +typedef struct IAutomaticUpdatesSettingsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAutomaticUpdatesSettings *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAutomaticUpdatesSettings *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAutomaticUpdatesSettings *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAutomaticUpdatesSettings *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAutomaticUpdatesSettings *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAutomaticUpdatesSettings *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAutomaticUpdatesSettings *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IAutomaticUpdatesSettings methods ***/ + HRESULT (STDMETHODCALLTYPE *get_NotificationLevel)( + IAutomaticUpdatesSettings *This, + AutomaticUpdatesNotificationLevel *retval); + + HRESULT (STDMETHODCALLTYPE *put_NotificationLevel)( + IAutomaticUpdatesSettings *This, + AutomaticUpdatesNotificationLevel value); + + HRESULT (STDMETHODCALLTYPE *get_ReadOnly)( + IAutomaticUpdatesSettings *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Required)( + IAutomaticUpdatesSettings *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_ScheduledInstallationDay)( + IAutomaticUpdatesSettings *This, + AutomaticUpdatesScheduledInstallationDay *retval); + + HRESULT (STDMETHODCALLTYPE *put_ScheduledInstallationDay)( + IAutomaticUpdatesSettings *This, + AutomaticUpdatesScheduledInstallationDay value); + + HRESULT (STDMETHODCALLTYPE *get_ScheduledInstallationTime)( + IAutomaticUpdatesSettings *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *put_ScheduledInstallationTime)( + IAutomaticUpdatesSettings *This, + LONG value); + + HRESULT (STDMETHODCALLTYPE *Refresh)( + IAutomaticUpdatesSettings *This); + + HRESULT (STDMETHODCALLTYPE *Save)( + IAutomaticUpdatesSettings *This); + + END_INTERFACE +} IAutomaticUpdatesSettingsVtbl; + +interface IAutomaticUpdatesSettings { + CONST_VTBL IAutomaticUpdatesSettingsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAutomaticUpdatesSettings_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAutomaticUpdatesSettings_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAutomaticUpdatesSettings_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAutomaticUpdatesSettings_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAutomaticUpdatesSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAutomaticUpdatesSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAutomaticUpdatesSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IAutomaticUpdatesSettings methods ***/ +#define IAutomaticUpdatesSettings_get_NotificationLevel(This,retval) (This)->lpVtbl->get_NotificationLevel(This,retval) +#define IAutomaticUpdatesSettings_put_NotificationLevel(This,value) (This)->lpVtbl->put_NotificationLevel(This,value) +#define IAutomaticUpdatesSettings_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval) +#define IAutomaticUpdatesSettings_get_Required(This,retval) (This)->lpVtbl->get_Required(This,retval) +#define IAutomaticUpdatesSettings_get_ScheduledInstallationDay(This,retval) (This)->lpVtbl->get_ScheduledInstallationDay(This,retval) +#define IAutomaticUpdatesSettings_put_ScheduledInstallationDay(This,value) (This)->lpVtbl->put_ScheduledInstallationDay(This,value) +#define IAutomaticUpdatesSettings_get_ScheduledInstallationTime(This,retval) (This)->lpVtbl->get_ScheduledInstallationTime(This,retval) +#define IAutomaticUpdatesSettings_put_ScheduledInstallationTime(This,value) (This)->lpVtbl->put_ScheduledInstallationTime(This,value) +#define IAutomaticUpdatesSettings_Refresh(This) (This)->lpVtbl->Refresh(This) +#define IAutomaticUpdatesSettings_Save(This) (This)->lpVtbl->Save(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAutomaticUpdatesSettings_QueryInterface(IAutomaticUpdatesSettings* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAutomaticUpdatesSettings_AddRef(IAutomaticUpdatesSettings* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAutomaticUpdatesSettings_Release(IAutomaticUpdatesSettings* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAutomaticUpdatesSettings_GetTypeInfoCount(IAutomaticUpdatesSettings* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAutomaticUpdatesSettings_GetTypeInfo(IAutomaticUpdatesSettings* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAutomaticUpdatesSettings_GetIDsOfNames(IAutomaticUpdatesSettings* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAutomaticUpdatesSettings_Invoke(IAutomaticUpdatesSettings* 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); +} +/*** IAutomaticUpdatesSettings methods ***/ +static inline HRESULT IAutomaticUpdatesSettings_get_NotificationLevel(IAutomaticUpdatesSettings* This,AutomaticUpdatesNotificationLevel *retval) { + return This->lpVtbl->get_NotificationLevel(This,retval); +} +static inline HRESULT IAutomaticUpdatesSettings_put_NotificationLevel(IAutomaticUpdatesSettings* This,AutomaticUpdatesNotificationLevel value) { + return This->lpVtbl->put_NotificationLevel(This,value); +} +static inline HRESULT IAutomaticUpdatesSettings_get_ReadOnly(IAutomaticUpdatesSettings* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ReadOnly(This,retval); +} +static inline HRESULT IAutomaticUpdatesSettings_get_Required(IAutomaticUpdatesSettings* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_Required(This,retval); +} +static inline HRESULT IAutomaticUpdatesSettings_get_ScheduledInstallationDay(IAutomaticUpdatesSettings* This,AutomaticUpdatesScheduledInstallationDay *retval) { + return This->lpVtbl->get_ScheduledInstallationDay(This,retval); +} +static inline HRESULT IAutomaticUpdatesSettings_put_ScheduledInstallationDay(IAutomaticUpdatesSettings* This,AutomaticUpdatesScheduledInstallationDay value) { + return This->lpVtbl->put_ScheduledInstallationDay(This,value); +} +static inline HRESULT IAutomaticUpdatesSettings_get_ScheduledInstallationTime(IAutomaticUpdatesSettings* This,LONG *retval) { + return This->lpVtbl->get_ScheduledInstallationTime(This,retval); +} +static inline HRESULT IAutomaticUpdatesSettings_put_ScheduledInstallationTime(IAutomaticUpdatesSettings* This,LONG value) { + return This->lpVtbl->put_ScheduledInstallationTime(This,value); +} +static inline HRESULT IAutomaticUpdatesSettings_Refresh(IAutomaticUpdatesSettings* This) { + return This->lpVtbl->Refresh(This); +} +static inline HRESULT IAutomaticUpdatesSettings_Save(IAutomaticUpdatesSettings* This) { + return This->lpVtbl->Save(This); +} +#endif +#endif + +#endif + + +#endif /* __IAutomaticUpdatesSettings_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IAutomaticUpdates interface + */ +#ifndef __IAutomaticUpdates_INTERFACE_DEFINED__ +#define __IAutomaticUpdates_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IAutomaticUpdates, 0x673425bf, 0xc082, 0x4c7c, 0xbd,0xfd, 0x56,0x94,0x64,0xb8,0xe0,0xce); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("673425bf-c082-4c7c-bdfd-569464b8e0ce") +IAutomaticUpdates : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE DetectNow( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Pause( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Resume( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ShowSettingsDialog( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Settings( + IAutomaticUpdatesSettings **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ServiceEnabled( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableService( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IAutomaticUpdates, 0x673425bf, 0xc082, 0x4c7c, 0xbd,0xfd, 0x56,0x94,0x64,0xb8,0xe0,0xce) +#endif +#else +typedef struct IAutomaticUpdatesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IAutomaticUpdates *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IAutomaticUpdates *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IAutomaticUpdates *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IAutomaticUpdates *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IAutomaticUpdates *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IAutomaticUpdates *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IAutomaticUpdates *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IAutomaticUpdates methods ***/ + HRESULT (STDMETHODCALLTYPE *DetectNow)( + IAutomaticUpdates *This); + + HRESULT (STDMETHODCALLTYPE *Pause)( + IAutomaticUpdates *This); + + HRESULT (STDMETHODCALLTYPE *Resume)( + IAutomaticUpdates *This); + + HRESULT (STDMETHODCALLTYPE *ShowSettingsDialog)( + IAutomaticUpdates *This); + + HRESULT (STDMETHODCALLTYPE *get_Settings)( + IAutomaticUpdates *This, + IAutomaticUpdatesSettings **retval); + + HRESULT (STDMETHODCALLTYPE *get_ServiceEnabled)( + IAutomaticUpdates *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *EnableService)( + IAutomaticUpdates *This); + + END_INTERFACE +} IAutomaticUpdatesVtbl; + +interface IAutomaticUpdates { + CONST_VTBL IAutomaticUpdatesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IAutomaticUpdates_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IAutomaticUpdates_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IAutomaticUpdates_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IAutomaticUpdates_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IAutomaticUpdates_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IAutomaticUpdates_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IAutomaticUpdates_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IAutomaticUpdates methods ***/ +#define IAutomaticUpdates_DetectNow(This) (This)->lpVtbl->DetectNow(This) +#define IAutomaticUpdates_Pause(This) (This)->lpVtbl->Pause(This) +#define IAutomaticUpdates_Resume(This) (This)->lpVtbl->Resume(This) +#define IAutomaticUpdates_ShowSettingsDialog(This) (This)->lpVtbl->ShowSettingsDialog(This) +#define IAutomaticUpdates_get_Settings(This,retval) (This)->lpVtbl->get_Settings(This,retval) +#define IAutomaticUpdates_get_ServiceEnabled(This,retval) (This)->lpVtbl->get_ServiceEnabled(This,retval) +#define IAutomaticUpdates_EnableService(This) (This)->lpVtbl->EnableService(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IAutomaticUpdates_QueryInterface(IAutomaticUpdates* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IAutomaticUpdates_AddRef(IAutomaticUpdates* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IAutomaticUpdates_Release(IAutomaticUpdates* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IAutomaticUpdates_GetTypeInfoCount(IAutomaticUpdates* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IAutomaticUpdates_GetTypeInfo(IAutomaticUpdates* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IAutomaticUpdates_GetIDsOfNames(IAutomaticUpdates* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IAutomaticUpdates_Invoke(IAutomaticUpdates* 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); +} +/*** IAutomaticUpdates methods ***/ +static inline HRESULT IAutomaticUpdates_DetectNow(IAutomaticUpdates* This) { + return This->lpVtbl->DetectNow(This); +} +static inline HRESULT IAutomaticUpdates_Pause(IAutomaticUpdates* This) { + return This->lpVtbl->Pause(This); +} +static inline HRESULT IAutomaticUpdates_Resume(IAutomaticUpdates* This) { + return This->lpVtbl->Resume(This); +} +static inline HRESULT IAutomaticUpdates_ShowSettingsDialog(IAutomaticUpdates* This) { + return This->lpVtbl->ShowSettingsDialog(This); +} +static inline HRESULT IAutomaticUpdates_get_Settings(IAutomaticUpdates* This,IAutomaticUpdatesSettings **retval) { + return This->lpVtbl->get_Settings(This,retval); +} +static inline HRESULT IAutomaticUpdates_get_ServiceEnabled(IAutomaticUpdates* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ServiceEnabled(This,retval); +} +static inline HRESULT IAutomaticUpdates_EnableService(IAutomaticUpdates* This) { + return This->lpVtbl->EnableService(This); +} +#endif +#endif + +#endif + + +#endif /* __IAutomaticUpdates_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWebProxy interface + */ +#ifndef __IWebProxy_INTERFACE_DEFINED__ +#define __IWebProxy_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWebProxy, 0x174c81fe, 0xaecd, 0x4dae, 0xb8,0xa0, 0x2c,0x63,0x18,0xdd,0x86,0xa8); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("174c81fe-aecd-4dae-b8a0-2c6318dd86a8") +IWebProxy : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Address( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Address( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BypassList( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_BypassList( + IStringCollection *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BypassProxyOnLocal( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_BypassProxyOnLocal( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReadOnly( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UserName( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_UserName( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPassword( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE PromptForCredentials( + IUnknown *parentWindow, + BSTR title) = 0; + + virtual HRESULT STDMETHODCALLTYPE PromptForCredentialsFromHwnd( + HWND parentWindow, + BSTR title) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AutoDetect( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AutoDetect( + VARIANT_BOOL value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWebProxy, 0x174c81fe, 0xaecd, 0x4dae, 0xb8,0xa0, 0x2c,0x63,0x18,0xdd,0x86,0xa8) +#endif +#else +typedef struct IWebProxyVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWebProxy *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWebProxy *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWebProxy *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWebProxy *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWebProxy *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWebProxy *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWebProxy *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWebProxy methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Address)( + IWebProxy *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_Address)( + IWebProxy *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get_BypassList)( + IWebProxy *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *put_BypassList)( + IWebProxy *This, + IStringCollection *value); + + HRESULT (STDMETHODCALLTYPE *get_BypassProxyOnLocal)( + IWebProxy *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_BypassProxyOnLocal)( + IWebProxy *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_ReadOnly)( + IWebProxy *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_UserName)( + IWebProxy *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_UserName)( + IWebProxy *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *SetPassword)( + IWebProxy *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *PromptForCredentials)( + IWebProxy *This, + IUnknown *parentWindow, + BSTR title); + + HRESULT (STDMETHODCALLTYPE *PromptForCredentialsFromHwnd)( + IWebProxy *This, + HWND parentWindow, + BSTR title); + + HRESULT (STDMETHODCALLTYPE *get_AutoDetect)( + IWebProxy *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_AutoDetect)( + IWebProxy *This, + VARIANT_BOOL value); + + END_INTERFACE +} IWebProxyVtbl; + +interface IWebProxy { + CONST_VTBL IWebProxyVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWebProxy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWebProxy_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWebProxy_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWebProxy_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWebProxy_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWebProxy_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWebProxy_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWebProxy methods ***/ +#define IWebProxy_get_Address(This,retval) (This)->lpVtbl->get_Address(This,retval) +#define IWebProxy_put_Address(This,value) (This)->lpVtbl->put_Address(This,value) +#define IWebProxy_get_BypassList(This,retval) (This)->lpVtbl->get_BypassList(This,retval) +#define IWebProxy_put_BypassList(This,value) (This)->lpVtbl->put_BypassList(This,value) +#define IWebProxy_get_BypassProxyOnLocal(This,retval) (This)->lpVtbl->get_BypassProxyOnLocal(This,retval) +#define IWebProxy_put_BypassProxyOnLocal(This,value) (This)->lpVtbl->put_BypassProxyOnLocal(This,value) +#define IWebProxy_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval) +#define IWebProxy_get_UserName(This,retval) (This)->lpVtbl->get_UserName(This,retval) +#define IWebProxy_put_UserName(This,value) (This)->lpVtbl->put_UserName(This,value) +#define IWebProxy_SetPassword(This,value) (This)->lpVtbl->SetPassword(This,value) +#define IWebProxy_PromptForCredentials(This,parentWindow,title) (This)->lpVtbl->PromptForCredentials(This,parentWindow,title) +#define IWebProxy_PromptForCredentialsFromHwnd(This,parentWindow,title) (This)->lpVtbl->PromptForCredentialsFromHwnd(This,parentWindow,title) +#define IWebProxy_get_AutoDetect(This,retval) (This)->lpVtbl->get_AutoDetect(This,retval) +#define IWebProxy_put_AutoDetect(This,value) (This)->lpVtbl->put_AutoDetect(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWebProxy_QueryInterface(IWebProxy* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWebProxy_AddRef(IWebProxy* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWebProxy_Release(IWebProxy* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWebProxy_GetTypeInfoCount(IWebProxy* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWebProxy_GetTypeInfo(IWebProxy* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWebProxy_GetIDsOfNames(IWebProxy* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWebProxy_Invoke(IWebProxy* 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); +} +/*** IWebProxy methods ***/ +static inline HRESULT IWebProxy_get_Address(IWebProxy* This,BSTR *retval) { + return This->lpVtbl->get_Address(This,retval); +} +static inline HRESULT IWebProxy_put_Address(IWebProxy* This,BSTR value) { + return This->lpVtbl->put_Address(This,value); +} +static inline HRESULT IWebProxy_get_BypassList(IWebProxy* This,IStringCollection **retval) { + return This->lpVtbl->get_BypassList(This,retval); +} +static inline HRESULT IWebProxy_put_BypassList(IWebProxy* This,IStringCollection *value) { + return This->lpVtbl->put_BypassList(This,value); +} +static inline HRESULT IWebProxy_get_BypassProxyOnLocal(IWebProxy* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_BypassProxyOnLocal(This,retval); +} +static inline HRESULT IWebProxy_put_BypassProxyOnLocal(IWebProxy* This,VARIANT_BOOL value) { + return This->lpVtbl->put_BypassProxyOnLocal(This,value); +} +static inline HRESULT IWebProxy_get_ReadOnly(IWebProxy* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ReadOnly(This,retval); +} +static inline HRESULT IWebProxy_get_UserName(IWebProxy* This,BSTR *retval) { + return This->lpVtbl->get_UserName(This,retval); +} +static inline HRESULT IWebProxy_put_UserName(IWebProxy* This,BSTR value) { + return This->lpVtbl->put_UserName(This,value); +} +static inline HRESULT IWebProxy_SetPassword(IWebProxy* This,BSTR value) { + return This->lpVtbl->SetPassword(This,value); +} +static inline HRESULT IWebProxy_PromptForCredentials(IWebProxy* This,IUnknown *parentWindow,BSTR title) { + return This->lpVtbl->PromptForCredentials(This,parentWindow,title); +} +static inline HRESULT IWebProxy_PromptForCredentialsFromHwnd(IWebProxy* This,HWND parentWindow,BSTR title) { + return This->lpVtbl->PromptForCredentialsFromHwnd(This,parentWindow,title); +} +static inline HRESULT IWebProxy_get_AutoDetect(IWebProxy* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_AutoDetect(This,retval); +} +static inline HRESULT IWebProxy_put_AutoDetect(IWebProxy* This,VARIANT_BOOL value) { + return This->lpVtbl->put_AutoDetect(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IWebProxy_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateSession interface + */ +#ifndef __IUpdateSession_INTERFACE_DEFINED__ +#define __IUpdateSession_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateSession, 0x816858a4, 0x260d, 0x4260, 0x93,0x3a, 0x25,0x85,0xf1,0xab,0xc7,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("816858a4-260d-4260-933a-2585f1abc76b") +IUpdateSession : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReadOnly( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_WebProxy( + IWebProxy **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_WebProxy( + IWebProxy *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateUpdateSearcher( + IUpdateSearcher **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateUpdateDownloader( + IUpdateDownloader **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateUpdateInstaller( + IUpdateInstaller **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateSession, 0x816858a4, 0x260d, 0x4260, 0x93,0x3a, 0x25,0x85,0xf1,0xab,0xc7,0x6b) +#endif +#else +typedef struct IUpdateSessionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateSession *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateSession *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateSession *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateSession *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateSession *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateSession *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateSession *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateSession methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)( + IUpdateSession *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)( + IUpdateSession *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get_ReadOnly)( + IUpdateSession *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_WebProxy)( + IUpdateSession *This, + IWebProxy **retval); + + HRESULT (STDMETHODCALLTYPE *put_WebProxy)( + IUpdateSession *This, + IWebProxy *value); + + HRESULT (STDMETHODCALLTYPE *CreateUpdateSearcher)( + IUpdateSession *This, + IUpdateSearcher **retval); + + HRESULT (STDMETHODCALLTYPE *CreateUpdateDownloader)( + IUpdateSession *This, + IUpdateDownloader **retval); + + HRESULT (STDMETHODCALLTYPE *CreateUpdateInstaller)( + IUpdateSession *This, + IUpdateInstaller **retval); + + END_INTERFACE +} IUpdateSessionVtbl; + +interface IUpdateSession { + CONST_VTBL IUpdateSessionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateSession_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateSession_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateSession_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateSession_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateSession_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateSession_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateSession_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateSession methods ***/ +#define IUpdateSession_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval) +#define IUpdateSession_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value) +#define IUpdateSession_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval) +#define IUpdateSession_get_WebProxy(This,retval) (This)->lpVtbl->get_WebProxy(This,retval) +#define IUpdateSession_put_WebProxy(This,value) (This)->lpVtbl->put_WebProxy(This,value) +#define IUpdateSession_CreateUpdateSearcher(This,retval) (This)->lpVtbl->CreateUpdateSearcher(This,retval) +#define IUpdateSession_CreateUpdateDownloader(This,retval) (This)->lpVtbl->CreateUpdateDownloader(This,retval) +#define IUpdateSession_CreateUpdateInstaller(This,retval) (This)->lpVtbl->CreateUpdateInstaller(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateSession_QueryInterface(IUpdateSession* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateSession_AddRef(IUpdateSession* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateSession_Release(IUpdateSession* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateSession_GetTypeInfoCount(IUpdateSession* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateSession_GetTypeInfo(IUpdateSession* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateSession_GetIDsOfNames(IUpdateSession* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateSession_Invoke(IUpdateSession* 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); +} +/*** IUpdateSession methods ***/ +static inline HRESULT IUpdateSession_get_ClientApplicationID(IUpdateSession* This,BSTR *retval) { + return This->lpVtbl->get_ClientApplicationID(This,retval); +} +static inline HRESULT IUpdateSession_put_ClientApplicationID(IUpdateSession* This,BSTR value) { + return This->lpVtbl->put_ClientApplicationID(This,value); +} +static inline HRESULT IUpdateSession_get_ReadOnly(IUpdateSession* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ReadOnly(This,retval); +} +static inline HRESULT IUpdateSession_get_WebProxy(IUpdateSession* This,IWebProxy **retval) { + return This->lpVtbl->get_WebProxy(This,retval); +} +static inline HRESULT IUpdateSession_put_WebProxy(IUpdateSession* This,IWebProxy *value) { + return This->lpVtbl->put_WebProxy(This,value); +} +static inline HRESULT IUpdateSession_CreateUpdateSearcher(IUpdateSession* This,IUpdateSearcher **retval) { + return This->lpVtbl->CreateUpdateSearcher(This,retval); +} +static inline HRESULT IUpdateSession_CreateUpdateDownloader(IUpdateSession* This,IUpdateDownloader **retval) { + return This->lpVtbl->CreateUpdateDownloader(This,retval); +} +static inline HRESULT IUpdateSession_CreateUpdateInstaller(IUpdateSession* This,IUpdateInstaller **retval) { + return This->lpVtbl->CreateUpdateInstaller(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateSession_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IImageInformation interface + */ +#ifndef __IImageInformation_INTERFACE_DEFINED__ +#define __IImageInformation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IImageInformation, 0x7c907864, 0x346c, 0x4aeb, 0x8f,0x3f, 0x57,0xda,0x28,0x9f,0x96,0x9f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7c907864-346c-4aeb-8f3f-57da289f969f") +IImageInformation : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_AltText( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Height( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Source( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Width( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IImageInformation, 0x7c907864, 0x346c, 0x4aeb, 0x8f,0x3f, 0x57,0xda,0x28,0x9f,0x96,0x9f) +#endif +#else +typedef struct IImageInformationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IImageInformation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IImageInformation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IImageInformation *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IImageInformation *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IImageInformation *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IImageInformation *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IImageInformation *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IImageInformation methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AltText)( + IImageInformation *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Height)( + IImageInformation *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_Source)( + IImageInformation *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Width)( + IImageInformation *This, + LONG *retval); + + END_INTERFACE +} IImageInformationVtbl; + +interface IImageInformation { + CONST_VTBL IImageInformationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IImageInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IImageInformation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IImageInformation_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IImageInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IImageInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IImageInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IImageInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IImageInformation methods ***/ +#define IImageInformation_get_AltText(This,retval) (This)->lpVtbl->get_AltText(This,retval) +#define IImageInformation_get_Height(This,retval) (This)->lpVtbl->get_Height(This,retval) +#define IImageInformation_get_Source(This,retval) (This)->lpVtbl->get_Source(This,retval) +#define IImageInformation_get_Width(This,retval) (This)->lpVtbl->get_Width(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IImageInformation_QueryInterface(IImageInformation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IImageInformation_AddRef(IImageInformation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IImageInformation_Release(IImageInformation* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IImageInformation_GetTypeInfoCount(IImageInformation* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IImageInformation_GetTypeInfo(IImageInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IImageInformation_GetIDsOfNames(IImageInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IImageInformation_Invoke(IImageInformation* 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); +} +/*** IImageInformation methods ***/ +static inline HRESULT IImageInformation_get_AltText(IImageInformation* This,BSTR *retval) { + return This->lpVtbl->get_AltText(This,retval); +} +static inline HRESULT IImageInformation_get_Height(IImageInformation* This,LONG *retval) { + return This->lpVtbl->get_Height(This,retval); +} +static inline HRESULT IImageInformation_get_Source(IImageInformation* This,BSTR *retval) { + return This->lpVtbl->get_Source(This,retval); +} +static inline HRESULT IImageInformation_get_Width(IImageInformation* This,LONG *retval) { + return This->lpVtbl->get_Width(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IImageInformation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICategory interface + */ +#ifndef __ICategory_INTERFACE_DEFINED__ +#define __ICategory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICategory, 0x81ddc1b8, 0x9d35, 0x47a6, 0xb4,0x71, 0x5b,0x80,0xf5,0x19,0x22,0x3b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("81ddc1b8-9d35-47a6-b471-5b80f519223b") +ICategory : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Name( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CategoryID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Children( + ICategoryCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Image( + IImageInformation **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Order( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Parent( + ICategory **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Type( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICategory, 0x81ddc1b8, 0x9d35, 0x47a6, 0xb4,0x71, 0x5b,0x80,0xf5,0x19,0x22,0x3b) +#endif +#else +typedef struct ICategoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICategory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICategory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICategory *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ICategory *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ICategory *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ICategory *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ICategory *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ICategory methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Name)( + ICategory *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_CategoryID)( + ICategory *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Children)( + ICategory *This, + ICategoryCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + ICategory *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Image)( + ICategory *This, + IImageInformation **retval); + + HRESULT (STDMETHODCALLTYPE *get_Order)( + ICategory *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_Parent)( + ICategory *This, + ICategory **retval); + + HRESULT (STDMETHODCALLTYPE *get_Type)( + ICategory *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + ICategory *This, + IUpdateCollection **retval); + + END_INTERFACE +} ICategoryVtbl; + +interface ICategory { + CONST_VTBL ICategoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICategory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICategory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICategory_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ICategory_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICategory_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICategory_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICategory_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ICategory methods ***/ +#define ICategory_get_Name(This,retval) (This)->lpVtbl->get_Name(This,retval) +#define ICategory_get_CategoryID(This,retval) (This)->lpVtbl->get_CategoryID(This,retval) +#define ICategory_get_Children(This,retval) (This)->lpVtbl->get_Children(This,retval) +#define ICategory_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval) +#define ICategory_get_Image(This,retval) (This)->lpVtbl->get_Image(This,retval) +#define ICategory_get_Order(This,retval) (This)->lpVtbl->get_Order(This,retval) +#define ICategory_get_Parent(This,retval) (This)->lpVtbl->get_Parent(This,retval) +#define ICategory_get_Type(This,retval) (This)->lpVtbl->get_Type(This,retval) +#define ICategory_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICategory_QueryInterface(ICategory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICategory_AddRef(ICategory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICategory_Release(ICategory* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ICategory_GetTypeInfoCount(ICategory* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ICategory_GetTypeInfo(ICategory* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ICategory_GetIDsOfNames(ICategory* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ICategory_Invoke(ICategory* 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); +} +/*** ICategory methods ***/ +static inline HRESULT ICategory_get_Name(ICategory* This,BSTR *retval) { + return This->lpVtbl->get_Name(This,retval); +} +static inline HRESULT ICategory_get_CategoryID(ICategory* This,BSTR *retval) { + return This->lpVtbl->get_CategoryID(This,retval); +} +static inline HRESULT ICategory_get_Children(ICategory* This,ICategoryCollection **retval) { + return This->lpVtbl->get_Children(This,retval); +} +static inline HRESULT ICategory_get_Description(ICategory* This,BSTR *retval) { + return This->lpVtbl->get_Description(This,retval); +} +static inline HRESULT ICategory_get_Image(ICategory* This,IImageInformation **retval) { + return This->lpVtbl->get_Image(This,retval); +} +static inline HRESULT ICategory_get_Order(ICategory* This,LONG *retval) { + return This->lpVtbl->get_Order(This,retval); +} +static inline HRESULT ICategory_get_Parent(ICategory* This,ICategory **retval) { + return This->lpVtbl->get_Parent(This,retval); +} +static inline HRESULT ICategory_get_Type(ICategory* This,BSTR *retval) { + return This->lpVtbl->get_Type(This,retval); +} +static inline HRESULT ICategory_get_Updates(ICategory* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __ICategory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ICategoryCollection interface + */ +#ifndef __ICategoryCollection_INTERFACE_DEFINED__ +#define __ICategoryCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ICategoryCollection, 0x3a56bfb8, 0x576c, 0x43f7, 0x93,0x35, 0xfe,0x48,0x38,0xfd,0x7e,0x37); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3a56bfb8-576c-43f7-9335-fe4838fd7e37") +ICategoryCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + ICategory **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ICategoryCollection, 0x3a56bfb8, 0x576c, 0x43f7, 0x93,0x35, 0xfe,0x48,0x38,0xfd,0x7e,0x37) +#endif +#else +typedef struct ICategoryCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ICategoryCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ICategoryCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ICategoryCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ICategoryCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ICategoryCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ICategoryCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ICategoryCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ICategoryCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + ICategoryCollection *This, + LONG index, + ICategory **retval); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + ICategoryCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + ICategoryCollection *This, + LONG *retval); + + END_INTERFACE +} ICategoryCollectionVtbl; + +interface ICategoryCollection { + CONST_VTBL ICategoryCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ICategoryCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICategoryCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICategoryCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ICategoryCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICategoryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICategoryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICategoryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ICategoryCollection methods ***/ +#define ICategoryCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define ICategoryCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define ICategoryCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT ICategoryCollection_QueryInterface(ICategoryCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ICategoryCollection_AddRef(ICategoryCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ICategoryCollection_Release(ICategoryCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ICategoryCollection_GetTypeInfoCount(ICategoryCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ICategoryCollection_GetTypeInfo(ICategoryCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ICategoryCollection_GetIDsOfNames(ICategoryCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ICategoryCollection_Invoke(ICategoryCollection* 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); +} +/*** ICategoryCollection methods ***/ +static inline HRESULT ICategoryCollection_get_Item(ICategoryCollection* This,LONG index,ICategory **retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT ICategoryCollection_get__NewEnum(ICategoryCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT ICategoryCollection_get_Count(ICategoryCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __ICategoryCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IStringCollection interface + */ +#ifndef __IStringCollection_INTERFACE_DEFINED__ +#define __IStringCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IStringCollection, 0xeff90582, 0x2ddc, 0x480f, 0xa0,0x6d, 0x60,0xf3,0xfb,0xc3,0x62,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("eff90582-2ddc-480f-a06d-60f3fbc362c3") +IStringCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Item( + LONG index, + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReadOnly( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + BSTR value, + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Copy( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Insert( + LONG index, + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + LONG index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IStringCollection, 0xeff90582, 0x2ddc, 0x480f, 0xa0,0x6d, 0x60,0xf3,0xfb,0xc3,0x62,0xc3) +#endif +#else +typedef struct IStringCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IStringCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IStringCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IStringCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IStringCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IStringCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IStringCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IStringCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IStringCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + IStringCollection *This, + LONG index, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_Item)( + IStringCollection *This, + LONG index, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IStringCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + IStringCollection *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ReadOnly)( + IStringCollection *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *Add)( + IStringCollection *This, + BSTR value, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IStringCollection *This); + + HRESULT (STDMETHODCALLTYPE *Copy)( + IStringCollection *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *Insert)( + IStringCollection *This, + LONG index, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IStringCollection *This, + LONG index); + + END_INTERFACE +} IStringCollectionVtbl; + +interface IStringCollection { + CONST_VTBL IStringCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IStringCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IStringCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IStringCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IStringCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IStringCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IStringCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IStringCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IStringCollection methods ***/ +#define IStringCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define IStringCollection_put_Item(This,index,value) (This)->lpVtbl->put_Item(This,index,value) +#define IStringCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define IStringCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#define IStringCollection_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval) +#define IStringCollection_Add(This,value,retval) (This)->lpVtbl->Add(This,value,retval) +#define IStringCollection_Clear(This) (This)->lpVtbl->Clear(This) +#define IStringCollection_Copy(This,retval) (This)->lpVtbl->Copy(This,retval) +#define IStringCollection_Insert(This,index,value) (This)->lpVtbl->Insert(This,index,value) +#define IStringCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IStringCollection_QueryInterface(IStringCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IStringCollection_AddRef(IStringCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IStringCollection_Release(IStringCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IStringCollection_GetTypeInfoCount(IStringCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IStringCollection_GetTypeInfo(IStringCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IStringCollection_GetIDsOfNames(IStringCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IStringCollection_Invoke(IStringCollection* 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); +} +/*** IStringCollection methods ***/ +static inline HRESULT IStringCollection_get_Item(IStringCollection* This,LONG index,BSTR *retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT IStringCollection_put_Item(IStringCollection* This,LONG index,BSTR value) { + return This->lpVtbl->put_Item(This,index,value); +} +static inline HRESULT IStringCollection_get__NewEnum(IStringCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT IStringCollection_get_Count(IStringCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +static inline HRESULT IStringCollection_get_ReadOnly(IStringCollection* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ReadOnly(This,retval); +} +static inline HRESULT IStringCollection_Add(IStringCollection* This,BSTR value,LONG *retval) { + return This->lpVtbl->Add(This,value,retval); +} +static inline HRESULT IStringCollection_Clear(IStringCollection* This) { + return This->lpVtbl->Clear(This); +} +static inline HRESULT IStringCollection_Copy(IStringCollection* This,IStringCollection **retval) { + return This->lpVtbl->Copy(This,retval); +} +static inline HRESULT IStringCollection_Insert(IStringCollection* This,LONG index,BSTR value) { + return This->lpVtbl->Insert(This,index,value); +} +static inline HRESULT IStringCollection_RemoveAt(IStringCollection* This,LONG index) { + return This->lpVtbl->RemoveAt(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IStringCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateException interface + */ +#ifndef __IUpdateException_INTERFACE_DEFINED__ +#define __IUpdateException_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateException, 0xa376dd5e, 0x09d4, 0x427f, 0xaf,0x7c, 0xfe,0xd5,0xb6,0xe1,0xc1,0xd6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a376dd5e-09d4-427f-af7c-fed5b6e1c1d6") +IUpdateException : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Message( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Context( + UpdateExceptionContext *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateException, 0xa376dd5e, 0x09d4, 0x427f, 0xaf,0x7c, 0xfe,0xd5,0xb6,0xe1,0xc1,0xd6) +#endif +#else +typedef struct IUpdateExceptionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateException *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateException *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateException *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateException *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateException *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateException *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateException *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateException methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Message)( + IUpdateException *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IUpdateException *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_Context)( + IUpdateException *This, + UpdateExceptionContext *retval); + + END_INTERFACE +} IUpdateExceptionVtbl; + +interface IUpdateException { + CONST_VTBL IUpdateExceptionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateException_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateException_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateException_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateException_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateException_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateException_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateException_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateException methods ***/ +#define IUpdateException_get_Message(This,retval) (This)->lpVtbl->get_Message(This,retval) +#define IUpdateException_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IUpdateException_get_Context(This,retval) (This)->lpVtbl->get_Context(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateException_QueryInterface(IUpdateException* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateException_AddRef(IUpdateException* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateException_Release(IUpdateException* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateException_GetTypeInfoCount(IUpdateException* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateException_GetTypeInfo(IUpdateException* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateException_GetIDsOfNames(IUpdateException* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateException_Invoke(IUpdateException* 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); +} +/*** IUpdateException methods ***/ +static inline HRESULT IUpdateException_get_Message(IUpdateException* This,BSTR *retval) { + return This->lpVtbl->get_Message(This,retval); +} +static inline HRESULT IUpdateException_get_HResult(IUpdateException* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IUpdateException_get_Context(IUpdateException* This,UpdateExceptionContext *retval) { + return This->lpVtbl->get_Context(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateException_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateExceptionCollection interface + */ +#ifndef __IUpdateExceptionCollection_INTERFACE_DEFINED__ +#define __IUpdateExceptionCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateExceptionCollection, 0x503626a3, 0x8e14, 0x4729, 0x93,0x55, 0x0f,0xe6,0x64,0xbd,0x23,0x21); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("503626a3-8e14-4729-9355-0fe664bd2321") +IUpdateExceptionCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + IUpdateException **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateExceptionCollection, 0x503626a3, 0x8e14, 0x4729, 0x93,0x55, 0x0f,0xe6,0x64,0xbd,0x23,0x21) +#endif +#else +typedef struct IUpdateExceptionCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateExceptionCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateExceptionCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateExceptionCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateExceptionCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateExceptionCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateExceptionCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateExceptionCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateExceptionCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + IUpdateExceptionCollection *This, + LONG index, + IUpdateException **retval); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IUpdateExceptionCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + IUpdateExceptionCollection *This, + LONG *retval); + + END_INTERFACE +} IUpdateExceptionCollectionVtbl; + +interface IUpdateExceptionCollection { + CONST_VTBL IUpdateExceptionCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateExceptionCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateExceptionCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateExceptionCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateExceptionCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateExceptionCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateExceptionCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateExceptionCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateExceptionCollection methods ***/ +#define IUpdateExceptionCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define IUpdateExceptionCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define IUpdateExceptionCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateExceptionCollection_QueryInterface(IUpdateExceptionCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateExceptionCollection_AddRef(IUpdateExceptionCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateExceptionCollection_Release(IUpdateExceptionCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateExceptionCollection_GetTypeInfoCount(IUpdateExceptionCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateExceptionCollection_GetTypeInfo(IUpdateExceptionCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateExceptionCollection_GetIDsOfNames(IUpdateExceptionCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateExceptionCollection_Invoke(IUpdateExceptionCollection* 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); +} +/*** IUpdateExceptionCollection methods ***/ +static inline HRESULT IUpdateExceptionCollection_get_Item(IUpdateExceptionCollection* This,LONG index,IUpdateException **retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT IUpdateExceptionCollection_get__NewEnum(IUpdateExceptionCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT IUpdateExceptionCollection_get_Count(IUpdateExceptionCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateExceptionCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateIdentity interface + */ +#ifndef __IUpdateIdentity_INTERFACE_DEFINED__ +#define __IUpdateIdentity_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateIdentity, 0x46297823, 0x9940, 0x4c09, 0xae,0xd9, 0xcd,0x3e,0xa6,0xd0,0x59,0x68); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("46297823-9940-4c09-aed9-cd3ea6d05968") +IUpdateIdentity : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_RevisionNumber( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UpdateID( + BSTR *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateIdentity, 0x46297823, 0x9940, 0x4c09, 0xae,0xd9, 0xcd,0x3e,0xa6,0xd0,0x59,0x68) +#endif +#else +typedef struct IUpdateIdentityVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateIdentity *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateIdentity *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateIdentity *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateIdentity *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateIdentity *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateIdentity *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateIdentity *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateIdentity methods ***/ + HRESULT (STDMETHODCALLTYPE *get_RevisionNumber)( + IUpdateIdentity *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_UpdateID)( + IUpdateIdentity *This, + BSTR *retval); + + END_INTERFACE +} IUpdateIdentityVtbl; + +interface IUpdateIdentity { + CONST_VTBL IUpdateIdentityVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateIdentity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateIdentity_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateIdentity_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateIdentity_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateIdentity_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateIdentity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateIdentity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateIdentity methods ***/ +#define IUpdateIdentity_get_RevisionNumber(This,retval) (This)->lpVtbl->get_RevisionNumber(This,retval) +#define IUpdateIdentity_get_UpdateID(This,retval) (This)->lpVtbl->get_UpdateID(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateIdentity_QueryInterface(IUpdateIdentity* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateIdentity_AddRef(IUpdateIdentity* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateIdentity_Release(IUpdateIdentity* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateIdentity_GetTypeInfoCount(IUpdateIdentity* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateIdentity_GetTypeInfo(IUpdateIdentity* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateIdentity_GetIDsOfNames(IUpdateIdentity* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateIdentity_Invoke(IUpdateIdentity* 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); +} +/*** IUpdateIdentity methods ***/ +static inline HRESULT IUpdateIdentity_get_RevisionNumber(IUpdateIdentity* This,LONG *retval) { + return This->lpVtbl->get_RevisionNumber(This,retval); +} +static inline HRESULT IUpdateIdentity_get_UpdateID(IUpdateIdentity* This,BSTR *retval) { + return This->lpVtbl->get_UpdateID(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateIdentity_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IInstallationBehavior interface + */ +#ifndef __IInstallationBehavior_INTERFACE_DEFINED__ +#define __IInstallationBehavior_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInstallationBehavior, 0xd9a59339, 0xe245, 0x4dbd, 0x96,0x86, 0x4d,0x57,0x63,0xe3,0x96,0x24); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d9a59339-e245-4dbd-9686-4d5763e39624") +IInstallationBehavior : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_CanRequestUserInput( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Impact( + InstallationImpact *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RebootBehavior( + InstallationRebootBehavior *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RequiresNetworkConnectivity( + VARIANT_BOOL *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInstallationBehavior, 0xd9a59339, 0xe245, 0x4dbd, 0x96,0x86, 0x4d,0x57,0x63,0xe3,0x96,0x24) +#endif +#else +typedef struct IInstallationBehaviorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInstallationBehavior *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInstallationBehavior *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInstallationBehavior *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IInstallationBehavior *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IInstallationBehavior *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IInstallationBehavior *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IInstallationBehavior *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IInstallationBehavior methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CanRequestUserInput)( + IInstallationBehavior *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Impact)( + IInstallationBehavior *This, + InstallationImpact *retval); + + HRESULT (STDMETHODCALLTYPE *get_RebootBehavior)( + IInstallationBehavior *This, + InstallationRebootBehavior *retval); + + HRESULT (STDMETHODCALLTYPE *get_RequiresNetworkConnectivity)( + IInstallationBehavior *This, + VARIANT_BOOL *retval); + + END_INTERFACE +} IInstallationBehaviorVtbl; + +interface IInstallationBehavior { + CONST_VTBL IInstallationBehaviorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInstallationBehavior_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInstallationBehavior_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInstallationBehavior_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IInstallationBehavior_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IInstallationBehavior_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IInstallationBehavior_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IInstallationBehavior_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IInstallationBehavior methods ***/ +#define IInstallationBehavior_get_CanRequestUserInput(This,retval) (This)->lpVtbl->get_CanRequestUserInput(This,retval) +#define IInstallationBehavior_get_Impact(This,retval) (This)->lpVtbl->get_Impact(This,retval) +#define IInstallationBehavior_get_RebootBehavior(This,retval) (This)->lpVtbl->get_RebootBehavior(This,retval) +#define IInstallationBehavior_get_RequiresNetworkConnectivity(This,retval) (This)->lpVtbl->get_RequiresNetworkConnectivity(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInstallationBehavior_QueryInterface(IInstallationBehavior* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInstallationBehavior_AddRef(IInstallationBehavior* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInstallationBehavior_Release(IInstallationBehavior* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IInstallationBehavior_GetTypeInfoCount(IInstallationBehavior* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IInstallationBehavior_GetTypeInfo(IInstallationBehavior* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IInstallationBehavior_GetIDsOfNames(IInstallationBehavior* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IInstallationBehavior_Invoke(IInstallationBehavior* 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); +} +/*** IInstallationBehavior methods ***/ +static inline HRESULT IInstallationBehavior_get_CanRequestUserInput(IInstallationBehavior* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_CanRequestUserInput(This,retval); +} +static inline HRESULT IInstallationBehavior_get_Impact(IInstallationBehavior* This,InstallationImpact *retval) { + return This->lpVtbl->get_Impact(This,retval); +} +static inline HRESULT IInstallationBehavior_get_RebootBehavior(IInstallationBehavior* This,InstallationRebootBehavior *retval) { + return This->lpVtbl->get_RebootBehavior(This,retval); +} +static inline HRESULT IInstallationBehavior_get_RequiresNetworkConnectivity(IInstallationBehavior* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_RequiresNetworkConnectivity(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IInstallationBehavior_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateDownloadContent interface + */ +#ifndef __IUpdateDownloadContent_INTERFACE_DEFINED__ +#define __IUpdateDownloadContent_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateDownloadContent, 0x54a2cb2d, 0x9a0c, 0x48b6, 0x8a,0x50, 0x9a,0xbb,0x69,0xee,0x2d,0x02); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("54a2cb2d-9a0c-48b6-8a50-9abb69ee2d02") +IUpdateDownloadContent : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_DownloadUrl( + BSTR *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateDownloadContent, 0x54a2cb2d, 0x9a0c, 0x48b6, 0x8a,0x50, 0x9a,0xbb,0x69,0xee,0x2d,0x02) +#endif +#else +typedef struct IUpdateDownloadContentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateDownloadContent *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateDownloadContent *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateDownloadContent *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateDownloadContent *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateDownloadContent *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateDownloadContent *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateDownloadContent *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateDownloadContent methods ***/ + HRESULT (STDMETHODCALLTYPE *get_DownloadUrl)( + IUpdateDownloadContent *This, + BSTR *retval); + + END_INTERFACE +} IUpdateDownloadContentVtbl; + +interface IUpdateDownloadContent { + CONST_VTBL IUpdateDownloadContentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateDownloadContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateDownloadContent_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateDownloadContent_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateDownloadContent_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateDownloadContent_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateDownloadContent_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateDownloadContent_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateDownloadContent methods ***/ +#define IUpdateDownloadContent_get_DownloadUrl(This,retval) (This)->lpVtbl->get_DownloadUrl(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateDownloadContent_QueryInterface(IUpdateDownloadContent* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateDownloadContent_AddRef(IUpdateDownloadContent* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateDownloadContent_Release(IUpdateDownloadContent* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateDownloadContent_GetTypeInfoCount(IUpdateDownloadContent* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateDownloadContent_GetTypeInfo(IUpdateDownloadContent* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateDownloadContent_GetIDsOfNames(IUpdateDownloadContent* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateDownloadContent_Invoke(IUpdateDownloadContent* 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); +} +/*** IUpdateDownloadContent methods ***/ +static inline HRESULT IUpdateDownloadContent_get_DownloadUrl(IUpdateDownloadContent* This,BSTR *retval) { + return This->lpVtbl->get_DownloadUrl(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateDownloadContent_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateDownloadContentCollection interface + */ +#ifndef __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ +#define __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateDownloadContentCollection, 0xbc5513c8, 0xb3b8, 0x4bf7, 0xa4,0xd4, 0x36,0x1c,0x0d,0x8c,0x88,0xba); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bc5513c8-b3b8-4bf7-a4d4-361c0d8c88ba") +IUpdateDownloadContentCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + IUpdateDownloadContent **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateDownloadContentCollection, 0xbc5513c8, 0xb3b8, 0x4bf7, 0xa4,0xd4, 0x36,0x1c,0x0d,0x8c,0x88,0xba) +#endif +#else +typedef struct IUpdateDownloadContentCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateDownloadContentCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateDownloadContentCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateDownloadContentCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateDownloadContentCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateDownloadContentCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateDownloadContentCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateDownloadContentCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateDownloadContentCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + IUpdateDownloadContentCollection *This, + LONG index, + IUpdateDownloadContent **retval); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IUpdateDownloadContentCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + IUpdateDownloadContentCollection *This, + LONG *retval); + + END_INTERFACE +} IUpdateDownloadContentCollectionVtbl; + +interface IUpdateDownloadContentCollection { + CONST_VTBL IUpdateDownloadContentCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateDownloadContentCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateDownloadContentCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateDownloadContentCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateDownloadContentCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateDownloadContentCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateDownloadContentCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateDownloadContentCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateDownloadContentCollection methods ***/ +#define IUpdateDownloadContentCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define IUpdateDownloadContentCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define IUpdateDownloadContentCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateDownloadContentCollection_QueryInterface(IUpdateDownloadContentCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateDownloadContentCollection_AddRef(IUpdateDownloadContentCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateDownloadContentCollection_Release(IUpdateDownloadContentCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateDownloadContentCollection_GetTypeInfoCount(IUpdateDownloadContentCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateDownloadContentCollection_GetTypeInfo(IUpdateDownloadContentCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateDownloadContentCollection_GetIDsOfNames(IUpdateDownloadContentCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateDownloadContentCollection_Invoke(IUpdateDownloadContentCollection* 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); +} +/*** IUpdateDownloadContentCollection methods ***/ +static inline HRESULT IUpdateDownloadContentCollection_get_Item(IUpdateDownloadContentCollection* This,LONG index,IUpdateDownloadContent **retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT IUpdateDownloadContentCollection_get__NewEnum(IUpdateDownloadContentCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT IUpdateDownloadContentCollection_get_Count(IUpdateDownloadContentCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateDownloadContentCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdate interface + */ +#ifndef __IUpdate_INTERFACE_DEFINED__ +#define __IUpdate_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdate, 0x6a92b07a, 0xd821, 0x4682, 0xb4,0x23, 0x5c,0x80,0x50,0x22,0xcc,0x4d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6a92b07a-d821-4682-b423-5c805022cc4d") +IUpdate : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Title( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AutoSelectOnWebSites( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_BundledUpdates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CanRequireSource( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Categories( + ICategoryCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Deadline( + VARIANT *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentAvailable( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DeltaCompressedContentPreferred( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EulaAccepted( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_EulaText( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HandlerID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Identity( + IUpdateIdentity **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Image( + IImageInformation **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_InstallationBehavior( + IInstallationBehavior **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsBeta( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsDownloaded( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsHidden( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsHidden( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsInstalled( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsMandatory( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsUninstallable( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Languages( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_LastDeploymentChangeTime( + DATE *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MaxDownloadSize( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MinDownloadSize( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MoreInfoUrls( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_MsrcSeverity( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RecommendedCpuSpeed( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RecommendedHardDiskSpace( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RecommendedMemory( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReleaseNotes( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SecurityBulletinIDs( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupersededUpdateIDs( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupportUrl( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Type( + UpdateType *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UninstallationNotes( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UninstallationBehavior( + IInstallationBehavior **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UninstallationSteps( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_KBArticleIDs( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE AcceptEula( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DeploymentAction( + DeploymentAction *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CopyFromCache( + BSTR path, + VARIANT_BOOL toExtractCabFiles) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DownloadPriority( + DownloadPriority *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_DownloadContents( + IUpdateDownloadContentCollection **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdate, 0x6a92b07a, 0xd821, 0x4682, 0xb4,0x23, 0x5c,0x80,0x50,0x22,0xcc,0x4d) +#endif +#else +typedef struct IUpdateVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdate *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdate *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdate *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdate *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdate *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdate *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdate *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdate methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Title)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_AutoSelectOnWebSites)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_BundledUpdates)( + IUpdate *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_CanRequireSource)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Categories)( + IUpdate *This, + ICategoryCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_Deadline)( + IUpdate *This, + VARIANT *retval); + + HRESULT (STDMETHODCALLTYPE *get_DeltaCompressedContentAvailable)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_DeltaCompressedContentPreferred)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_EulaAccepted)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_EulaText)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_HandlerID)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Identity)( + IUpdate *This, + IUpdateIdentity **retval); + + HRESULT (STDMETHODCALLTYPE *get_Image)( + IUpdate *This, + IImageInformation **retval); + + HRESULT (STDMETHODCALLTYPE *get_InstallationBehavior)( + IUpdate *This, + IInstallationBehavior **retval); + + HRESULT (STDMETHODCALLTYPE *get_IsBeta)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsDownloaded)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsHidden)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_IsHidden)( + IUpdate *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_IsInstalled)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsMandatory)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsUninstallable)( + IUpdate *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Languages)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_LastDeploymentChangeTime)( + IUpdate *This, + DATE *retval); + + HRESULT (STDMETHODCALLTYPE *get_MaxDownloadSize)( + IUpdate *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *get_MinDownloadSize)( + IUpdate *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *get_MoreInfoUrls)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_MsrcSeverity)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_RecommendedCpuSpeed)( + IUpdate *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_RecommendedHardDiskSpace)( + IUpdate *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_RecommendedMemory)( + IUpdate *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ReleaseNotes)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_SecurityBulletinIDs)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_SupersededUpdateIDs)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_SupportUrl)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Type)( + IUpdate *This, + UpdateType *retval); + + HRESULT (STDMETHODCALLTYPE *get_UninstallationNotes)( + IUpdate *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_UninstallationBehavior)( + IUpdate *This, + IInstallationBehavior **retval); + + HRESULT (STDMETHODCALLTYPE *get_UninstallationSteps)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_KBArticleIDs)( + IUpdate *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *AcceptEula)( + IUpdate *This); + + HRESULT (STDMETHODCALLTYPE *get_DeploymentAction)( + IUpdate *This, + DeploymentAction *retval); + + HRESULT (STDMETHODCALLTYPE *CopyFromCache)( + IUpdate *This, + BSTR path, + VARIANT_BOOL toExtractCabFiles); + + HRESULT (STDMETHODCALLTYPE *get_DownloadPriority)( + IUpdate *This, + DownloadPriority *retval); + + HRESULT (STDMETHODCALLTYPE *get_DownloadContents)( + IUpdate *This, + IUpdateDownloadContentCollection **retval); + + END_INTERFACE +} IUpdateVtbl; + +interface IUpdate { + CONST_VTBL IUpdateVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdate_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdate_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdate methods ***/ +#define IUpdate_get_Title(This,retval) (This)->lpVtbl->get_Title(This,retval) +#define IUpdate_get_AutoSelectOnWebSites(This,retval) (This)->lpVtbl->get_AutoSelectOnWebSites(This,retval) +#define IUpdate_get_BundledUpdates(This,retval) (This)->lpVtbl->get_BundledUpdates(This,retval) +#define IUpdate_get_CanRequireSource(This,retval) (This)->lpVtbl->get_CanRequireSource(This,retval) +#define IUpdate_get_Categories(This,retval) (This)->lpVtbl->get_Categories(This,retval) +#define IUpdate_get_Deadline(This,retval) (This)->lpVtbl->get_Deadline(This,retval) +#define IUpdate_get_DeltaCompressedContentAvailable(This,retval) (This)->lpVtbl->get_DeltaCompressedContentAvailable(This,retval) +#define IUpdate_get_DeltaCompressedContentPreferred(This,retval) (This)->lpVtbl->get_DeltaCompressedContentPreferred(This,retval) +#define IUpdate_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval) +#define IUpdate_get_EulaAccepted(This,retval) (This)->lpVtbl->get_EulaAccepted(This,retval) +#define IUpdate_get_EulaText(This,retval) (This)->lpVtbl->get_EulaText(This,retval) +#define IUpdate_get_HandlerID(This,retval) (This)->lpVtbl->get_HandlerID(This,retval) +#define IUpdate_get_Identity(This,retval) (This)->lpVtbl->get_Identity(This,retval) +#define IUpdate_get_Image(This,retval) (This)->lpVtbl->get_Image(This,retval) +#define IUpdate_get_InstallationBehavior(This,retval) (This)->lpVtbl->get_InstallationBehavior(This,retval) +#define IUpdate_get_IsBeta(This,retval) (This)->lpVtbl->get_IsBeta(This,retval) +#define IUpdate_get_IsDownloaded(This,retval) (This)->lpVtbl->get_IsDownloaded(This,retval) +#define IUpdate_get_IsHidden(This,retval) (This)->lpVtbl->get_IsHidden(This,retval) +#define IUpdate_put_IsHidden(This,value) (This)->lpVtbl->put_IsHidden(This,value) +#define IUpdate_get_IsInstalled(This,retval) (This)->lpVtbl->get_IsInstalled(This,retval) +#define IUpdate_get_IsMandatory(This,retval) (This)->lpVtbl->get_IsMandatory(This,retval) +#define IUpdate_get_IsUninstallable(This,retval) (This)->lpVtbl->get_IsUninstallable(This,retval) +#define IUpdate_get_Languages(This,retval) (This)->lpVtbl->get_Languages(This,retval) +#define IUpdate_get_LastDeploymentChangeTime(This,retval) (This)->lpVtbl->get_LastDeploymentChangeTime(This,retval) +#define IUpdate_get_MaxDownloadSize(This,retval) (This)->lpVtbl->get_MaxDownloadSize(This,retval) +#define IUpdate_get_MinDownloadSize(This,retval) (This)->lpVtbl->get_MinDownloadSize(This,retval) +#define IUpdate_get_MoreInfoUrls(This,retval) (This)->lpVtbl->get_MoreInfoUrls(This,retval) +#define IUpdate_get_MsrcSeverity(This,retval) (This)->lpVtbl->get_MsrcSeverity(This,retval) +#define IUpdate_get_RecommendedCpuSpeed(This,retval) (This)->lpVtbl->get_RecommendedCpuSpeed(This,retval) +#define IUpdate_get_RecommendedHardDiskSpace(This,retval) (This)->lpVtbl->get_RecommendedHardDiskSpace(This,retval) +#define IUpdate_get_RecommendedMemory(This,retval) (This)->lpVtbl->get_RecommendedMemory(This,retval) +#define IUpdate_get_ReleaseNotes(This,retval) (This)->lpVtbl->get_ReleaseNotes(This,retval) +#define IUpdate_get_SecurityBulletinIDs(This,retval) (This)->lpVtbl->get_SecurityBulletinIDs(This,retval) +#define IUpdate_get_SupersededUpdateIDs(This,retval) (This)->lpVtbl->get_SupersededUpdateIDs(This,retval) +#define IUpdate_get_SupportUrl(This,retval) (This)->lpVtbl->get_SupportUrl(This,retval) +#define IUpdate_get_Type(This,retval) (This)->lpVtbl->get_Type(This,retval) +#define IUpdate_get_UninstallationNotes(This,retval) (This)->lpVtbl->get_UninstallationNotes(This,retval) +#define IUpdate_get_UninstallationBehavior(This,retval) (This)->lpVtbl->get_UninstallationBehavior(This,retval) +#define IUpdate_get_UninstallationSteps(This,retval) (This)->lpVtbl->get_UninstallationSteps(This,retval) +#define IUpdate_get_KBArticleIDs(This,retval) (This)->lpVtbl->get_KBArticleIDs(This,retval) +#define IUpdate_AcceptEula(This) (This)->lpVtbl->AcceptEula(This) +#define IUpdate_get_DeploymentAction(This,retval) (This)->lpVtbl->get_DeploymentAction(This,retval) +#define IUpdate_CopyFromCache(This,path,toExtractCabFiles) (This)->lpVtbl->CopyFromCache(This,path,toExtractCabFiles) +#define IUpdate_get_DownloadPriority(This,retval) (This)->lpVtbl->get_DownloadPriority(This,retval) +#define IUpdate_get_DownloadContents(This,retval) (This)->lpVtbl->get_DownloadContents(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdate_QueryInterface(IUpdate* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdate_AddRef(IUpdate* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdate_Release(IUpdate* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdate_GetTypeInfoCount(IUpdate* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdate_GetTypeInfo(IUpdate* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdate_GetIDsOfNames(IUpdate* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdate_Invoke(IUpdate* 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); +} +/*** IUpdate methods ***/ +static inline HRESULT IUpdate_get_Title(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_Title(This,retval); +} +static inline HRESULT IUpdate_get_AutoSelectOnWebSites(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_AutoSelectOnWebSites(This,retval); +} +static inline HRESULT IUpdate_get_BundledUpdates(IUpdate* This,IUpdateCollection **retval) { + return This->lpVtbl->get_BundledUpdates(This,retval); +} +static inline HRESULT IUpdate_get_CanRequireSource(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_CanRequireSource(This,retval); +} +static inline HRESULT IUpdate_get_Categories(IUpdate* This,ICategoryCollection **retval) { + return This->lpVtbl->get_Categories(This,retval); +} +static inline HRESULT IUpdate_get_Deadline(IUpdate* This,VARIANT *retval) { + return This->lpVtbl->get_Deadline(This,retval); +} +static inline HRESULT IUpdate_get_DeltaCompressedContentAvailable(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_DeltaCompressedContentAvailable(This,retval); +} +static inline HRESULT IUpdate_get_DeltaCompressedContentPreferred(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_DeltaCompressedContentPreferred(This,retval); +} +static inline HRESULT IUpdate_get_Description(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_Description(This,retval); +} +static inline HRESULT IUpdate_get_EulaAccepted(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_EulaAccepted(This,retval); +} +static inline HRESULT IUpdate_get_EulaText(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_EulaText(This,retval); +} +static inline HRESULT IUpdate_get_HandlerID(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_HandlerID(This,retval); +} +static inline HRESULT IUpdate_get_Identity(IUpdate* This,IUpdateIdentity **retval) { + return This->lpVtbl->get_Identity(This,retval); +} +static inline HRESULT IUpdate_get_Image(IUpdate* This,IImageInformation **retval) { + return This->lpVtbl->get_Image(This,retval); +} +static inline HRESULT IUpdate_get_InstallationBehavior(IUpdate* This,IInstallationBehavior **retval) { + return This->lpVtbl->get_InstallationBehavior(This,retval); +} +static inline HRESULT IUpdate_get_IsBeta(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsBeta(This,retval); +} +static inline HRESULT IUpdate_get_IsDownloaded(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsDownloaded(This,retval); +} +static inline HRESULT IUpdate_get_IsHidden(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsHidden(This,retval); +} +static inline HRESULT IUpdate_put_IsHidden(IUpdate* This,VARIANT_BOOL value) { + return This->lpVtbl->put_IsHidden(This,value); +} +static inline HRESULT IUpdate_get_IsInstalled(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsInstalled(This,retval); +} +static inline HRESULT IUpdate_get_IsMandatory(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsMandatory(This,retval); +} +static inline HRESULT IUpdate_get_IsUninstallable(IUpdate* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsUninstallable(This,retval); +} +static inline HRESULT IUpdate_get_Languages(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_Languages(This,retval); +} +static inline HRESULT IUpdate_get_LastDeploymentChangeTime(IUpdate* This,DATE *retval) { + return This->lpVtbl->get_LastDeploymentChangeTime(This,retval); +} +static inline HRESULT IUpdate_get_MaxDownloadSize(IUpdate* This,DECIMAL *retval) { + return This->lpVtbl->get_MaxDownloadSize(This,retval); +} +static inline HRESULT IUpdate_get_MinDownloadSize(IUpdate* This,DECIMAL *retval) { + return This->lpVtbl->get_MinDownloadSize(This,retval); +} +static inline HRESULT IUpdate_get_MoreInfoUrls(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_MoreInfoUrls(This,retval); +} +static inline HRESULT IUpdate_get_MsrcSeverity(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_MsrcSeverity(This,retval); +} +static inline HRESULT IUpdate_get_RecommendedCpuSpeed(IUpdate* This,LONG *retval) { + return This->lpVtbl->get_RecommendedCpuSpeed(This,retval); +} +static inline HRESULT IUpdate_get_RecommendedHardDiskSpace(IUpdate* This,LONG *retval) { + return This->lpVtbl->get_RecommendedHardDiskSpace(This,retval); +} +static inline HRESULT IUpdate_get_RecommendedMemory(IUpdate* This,LONG *retval) { + return This->lpVtbl->get_RecommendedMemory(This,retval); +} +static inline HRESULT IUpdate_get_ReleaseNotes(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_ReleaseNotes(This,retval); +} +static inline HRESULT IUpdate_get_SecurityBulletinIDs(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_SecurityBulletinIDs(This,retval); +} +static inline HRESULT IUpdate_get_SupersededUpdateIDs(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_SupersededUpdateIDs(This,retval); +} +static inline HRESULT IUpdate_get_SupportUrl(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_SupportUrl(This,retval); +} +static inline HRESULT IUpdate_get_Type(IUpdate* This,UpdateType *retval) { + return This->lpVtbl->get_Type(This,retval); +} +static inline HRESULT IUpdate_get_UninstallationNotes(IUpdate* This,BSTR *retval) { + return This->lpVtbl->get_UninstallationNotes(This,retval); +} +static inline HRESULT IUpdate_get_UninstallationBehavior(IUpdate* This,IInstallationBehavior **retval) { + return This->lpVtbl->get_UninstallationBehavior(This,retval); +} +static inline HRESULT IUpdate_get_UninstallationSteps(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_UninstallationSteps(This,retval); +} +static inline HRESULT IUpdate_get_KBArticleIDs(IUpdate* This,IStringCollection **retval) { + return This->lpVtbl->get_KBArticleIDs(This,retval); +} +static inline HRESULT IUpdate_AcceptEula(IUpdate* This) { + return This->lpVtbl->AcceptEula(This); +} +static inline HRESULT IUpdate_get_DeploymentAction(IUpdate* This,DeploymentAction *retval) { + return This->lpVtbl->get_DeploymentAction(This,retval); +} +static inline HRESULT IUpdate_CopyFromCache(IUpdate* This,BSTR path,VARIANT_BOOL toExtractCabFiles) { + return This->lpVtbl->CopyFromCache(This,path,toExtractCabFiles); +} +static inline HRESULT IUpdate_get_DownloadPriority(IUpdate* This,DownloadPriority *retval) { + return This->lpVtbl->get_DownloadPriority(This,retval); +} +static inline HRESULT IUpdate_get_DownloadContents(IUpdate* This,IUpdateDownloadContentCollection **retval) { + return This->lpVtbl->get_DownloadContents(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdate_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateCollection interface + */ +#ifndef __IUpdateCollection_INTERFACE_DEFINED__ +#define __IUpdateCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateCollection, 0x07f7438c, 0x7709, 0x4ca5, 0xb5,0x18, 0x91,0x27,0x92,0x88,0x13,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("07f7438c-7709-4ca5-b518-91279288134e") +IUpdateCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + IUpdate **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Item( + LONG index, + IUpdate *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ReadOnly( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Add( + IUpdate *value, + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clear( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Copy( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Insert( + LONG index, + IUpdate *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + LONG index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateCollection, 0x07f7438c, 0x7709, 0x4ca5, 0xb5,0x18, 0x91,0x27,0x92,0x88,0x13,0x4e) +#endif +#else +typedef struct IUpdateCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + IUpdateCollection *This, + LONG index, + IUpdate **retval); + + HRESULT (STDMETHODCALLTYPE *put_Item)( + IUpdateCollection *This, + LONG index, + IUpdate *value); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IUpdateCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + IUpdateCollection *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ReadOnly)( + IUpdateCollection *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *Add)( + IUpdateCollection *This, + IUpdate *value, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *Clear)( + IUpdateCollection *This); + + HRESULT (STDMETHODCALLTYPE *Copy)( + IUpdateCollection *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *Insert)( + IUpdateCollection *This, + LONG index, + IUpdate *value); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IUpdateCollection *This, + LONG index); + + END_INTERFACE +} IUpdateCollectionVtbl; + +interface IUpdateCollection { + CONST_VTBL IUpdateCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateCollection methods ***/ +#define IUpdateCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define IUpdateCollection_put_Item(This,index,value) (This)->lpVtbl->put_Item(This,index,value) +#define IUpdateCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define IUpdateCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#define IUpdateCollection_get_ReadOnly(This,retval) (This)->lpVtbl->get_ReadOnly(This,retval) +#define IUpdateCollection_Add(This,value,retval) (This)->lpVtbl->Add(This,value,retval) +#define IUpdateCollection_Clear(This) (This)->lpVtbl->Clear(This) +#define IUpdateCollection_Copy(This,retval) (This)->lpVtbl->Copy(This,retval) +#define IUpdateCollection_Insert(This,index,value) (This)->lpVtbl->Insert(This,index,value) +#define IUpdateCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateCollection_QueryInterface(IUpdateCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateCollection_AddRef(IUpdateCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateCollection_Release(IUpdateCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateCollection_GetTypeInfoCount(IUpdateCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateCollection_GetTypeInfo(IUpdateCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateCollection_GetIDsOfNames(IUpdateCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateCollection_Invoke(IUpdateCollection* 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); +} +/*** IUpdateCollection methods ***/ +static inline HRESULT IUpdateCollection_get_Item(IUpdateCollection* This,LONG index,IUpdate **retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT IUpdateCollection_put_Item(IUpdateCollection* This,LONG index,IUpdate *value) { + return This->lpVtbl->put_Item(This,index,value); +} +static inline HRESULT IUpdateCollection_get__NewEnum(IUpdateCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT IUpdateCollection_get_Count(IUpdateCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +static inline HRESULT IUpdateCollection_get_ReadOnly(IUpdateCollection* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_ReadOnly(This,retval); +} +static inline HRESULT IUpdateCollection_Add(IUpdateCollection* This,IUpdate *value,LONG *retval) { + return This->lpVtbl->Add(This,value,retval); +} +static inline HRESULT IUpdateCollection_Clear(IUpdateCollection* This) { + return This->lpVtbl->Clear(This); +} +static inline HRESULT IUpdateCollection_Copy(IUpdateCollection* This,IUpdateCollection **retval) { + return This->lpVtbl->Copy(This,retval); +} +static inline HRESULT IUpdateCollection_Insert(IUpdateCollection* This,LONG index,IUpdate *value) { + return This->lpVtbl->Insert(This,index,value); +} +static inline HRESULT IUpdateCollection_RemoveAt(IUpdateCollection* This,LONG index) { + return This->lpVtbl->RemoveAt(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISearchJob interface + */ +#ifndef __ISearchJob_INTERFACE_DEFINED__ +#define __ISearchJob_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISearchJob, 0x7366ea16, 0x7a1a, 0x4ea2, 0xb0,0x42, 0x97,0x3d,0x3e,0x9c,0xd9,0x9b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7366ea16-7a1a-4ea2-b042-973d3e9cd99b") +ISearchJob : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_AsyncState( + VARIANT *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsCompleted( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CleanUp( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestAbort( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISearchJob, 0x7366ea16, 0x7a1a, 0x4ea2, 0xb0,0x42, 0x97,0x3d,0x3e,0x9c,0xd9,0x9b) +#endif +#else +typedef struct ISearchJobVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISearchJob *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISearchJob *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISearchJob *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISearchJob *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISearchJob *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISearchJob *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISearchJob *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISearchJob methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AsyncState)( + ISearchJob *This, + VARIANT *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsCompleted)( + ISearchJob *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *CleanUp)( + ISearchJob *This); + + HRESULT (STDMETHODCALLTYPE *RequestAbort)( + ISearchJob *This); + + END_INTERFACE +} ISearchJobVtbl; + +interface ISearchJob { + CONST_VTBL ISearchJobVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISearchJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISearchJob_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISearchJob_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISearchJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISearchJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISearchJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISearchJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISearchJob methods ***/ +#define ISearchJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval) +#define ISearchJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval) +#define ISearchJob_CleanUp(This) (This)->lpVtbl->CleanUp(This) +#define ISearchJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISearchJob_QueryInterface(ISearchJob* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISearchJob_AddRef(ISearchJob* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISearchJob_Release(ISearchJob* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISearchJob_GetTypeInfoCount(ISearchJob* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISearchJob_GetTypeInfo(ISearchJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISearchJob_GetIDsOfNames(ISearchJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISearchJob_Invoke(ISearchJob* 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); +} +/*** ISearchJob methods ***/ +static inline HRESULT ISearchJob_get_AsyncState(ISearchJob* This,VARIANT *retval) { + return This->lpVtbl->get_AsyncState(This,retval); +} +static inline HRESULT ISearchJob_get_IsCompleted(ISearchJob* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsCompleted(This,retval); +} +static inline HRESULT ISearchJob_CleanUp(ISearchJob* This) { + return This->lpVtbl->CleanUp(This); +} +static inline HRESULT ISearchJob_RequestAbort(ISearchJob* This) { + return This->lpVtbl->RequestAbort(This); +} +#endif +#endif + +#endif + + +#endif /* __ISearchJob_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISearchResult interface + */ +#ifndef __ISearchResult_INTERFACE_DEFINED__ +#define __ISearchResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISearchResult, 0xd40cff62, 0xe08c, 0x4498, 0x94,0x1a, 0x01,0xe2,0x5f,0x0f,0xd3,0x3c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d40cff62-e08c-4498-941a-01e25f0fd33c") +ISearchResult : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RootCategories( + ICategoryCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Warnings( + IUpdateExceptionCollection **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISearchResult, 0xd40cff62, 0xe08c, 0x4498, 0x94,0x1a, 0x01,0xe2,0x5f,0x0f,0xd3,0x3c) +#endif +#else +typedef struct ISearchResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISearchResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISearchResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISearchResult *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISearchResult *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISearchResult *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISearchResult *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISearchResult *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISearchResult methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + ISearchResult *This, + OperationResultCode *retval); + + HRESULT (STDMETHODCALLTYPE *get_RootCategories)( + ISearchResult *This, + ICategoryCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + ISearchResult *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_Warnings)( + ISearchResult *This, + IUpdateExceptionCollection **retval); + + END_INTERFACE +} ISearchResultVtbl; + +interface ISearchResult { + CONST_VTBL ISearchResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISearchResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISearchResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISearchResult_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISearchResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISearchResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISearchResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISearchResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISearchResult methods ***/ +#define ISearchResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#define ISearchResult_get_RootCategories(This,retval) (This)->lpVtbl->get_RootCategories(This,retval) +#define ISearchResult_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#define ISearchResult_get_Warnings(This,retval) (This)->lpVtbl->get_Warnings(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISearchResult_QueryInterface(ISearchResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISearchResult_AddRef(ISearchResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISearchResult_Release(ISearchResult* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISearchResult_GetTypeInfoCount(ISearchResult* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISearchResult_GetTypeInfo(ISearchResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISearchResult_GetIDsOfNames(ISearchResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISearchResult_Invoke(ISearchResult* 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); +} +/*** ISearchResult methods ***/ +static inline HRESULT ISearchResult_get_ResultCode(ISearchResult* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +static inline HRESULT ISearchResult_get_RootCategories(ISearchResult* This,ICategoryCollection **retval) { + return This->lpVtbl->get_RootCategories(This,retval); +} +static inline HRESULT ISearchResult_get_Updates(ISearchResult* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +static inline HRESULT ISearchResult_get_Warnings(ISearchResult* This,IUpdateExceptionCollection **retval) { + return This->lpVtbl->get_Warnings(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __ISearchResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateHistoryEntry interface + */ +#ifndef __IUpdateHistoryEntry_INTERFACE_DEFINED__ +#define __IUpdateHistoryEntry_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateHistoryEntry, 0xbe56a644, 0xaf0e, 0x4e0e, 0xa3,0x11, 0xc1,0xd8,0xe6,0x95,0xcb,0xff); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("be56a644-af0e-4e0e-a311-c1d8e695cbff") +IUpdateHistoryEntry : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Operation( + UpdateOperation *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Date( + DATE *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UpdateIdentity( + IUpdateIdentity **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Title( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Description( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UnmappedResultCode( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ServerSelection( + ServerSelection *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ServiceID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UninstallationSteps( + IStringCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_UninstallationNotes( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_SupportUrl( + BSTR *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateHistoryEntry, 0xbe56a644, 0xaf0e, 0x4e0e, 0xa3,0x11, 0xc1,0xd8,0xe6,0x95,0xcb,0xff) +#endif +#else +typedef struct IUpdateHistoryEntryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateHistoryEntry *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateHistoryEntry *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateHistoryEntry *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateHistoryEntry *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateHistoryEntry *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateHistoryEntry *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateHistoryEntry *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateHistoryEntry methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Operation)( + IUpdateHistoryEntry *This, + UpdateOperation *retval); + + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + IUpdateHistoryEntry *This, + OperationResultCode *retval); + + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IUpdateHistoryEntry *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_Date)( + IUpdateHistoryEntry *This, + DATE *retval); + + HRESULT (STDMETHODCALLTYPE *get_UpdateIdentity)( + IUpdateHistoryEntry *This, + IUpdateIdentity **retval); + + HRESULT (STDMETHODCALLTYPE *get_Title)( + IUpdateHistoryEntry *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_Description)( + IUpdateHistoryEntry *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_UnmappedResultCode)( + IUpdateHistoryEntry *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)( + IUpdateHistoryEntry *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_ServerSelection)( + IUpdateHistoryEntry *This, + ServerSelection *retval); + + HRESULT (STDMETHODCALLTYPE *get_ServiceID)( + IUpdateHistoryEntry *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_UninstallationSteps)( + IUpdateHistoryEntry *This, + IStringCollection **retval); + + HRESULT (STDMETHODCALLTYPE *get_UninstallationNotes)( + IUpdateHistoryEntry *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_SupportUrl)( + IUpdateHistoryEntry *This, + BSTR *retval); + + END_INTERFACE +} IUpdateHistoryEntryVtbl; + +interface IUpdateHistoryEntry { + CONST_VTBL IUpdateHistoryEntryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateHistoryEntry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateHistoryEntry_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateHistoryEntry_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateHistoryEntry_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateHistoryEntry_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateHistoryEntry_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateHistoryEntry_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateHistoryEntry methods ***/ +#define IUpdateHistoryEntry_get_Operation(This,retval) (This)->lpVtbl->get_Operation(This,retval) +#define IUpdateHistoryEntry_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#define IUpdateHistoryEntry_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IUpdateHistoryEntry_get_Date(This,retval) (This)->lpVtbl->get_Date(This,retval) +#define IUpdateHistoryEntry_get_UpdateIdentity(This,retval) (This)->lpVtbl->get_UpdateIdentity(This,retval) +#define IUpdateHistoryEntry_get_Title(This,retval) (This)->lpVtbl->get_Title(This,retval) +#define IUpdateHistoryEntry_get_Description(This,retval) (This)->lpVtbl->get_Description(This,retval) +#define IUpdateHistoryEntry_get_UnmappedResultCode(This,retval) (This)->lpVtbl->get_UnmappedResultCode(This,retval) +#define IUpdateHistoryEntry_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval) +#define IUpdateHistoryEntry_get_ServerSelection(This,retval) (This)->lpVtbl->get_ServerSelection(This,retval) +#define IUpdateHistoryEntry_get_ServiceID(This,retval) (This)->lpVtbl->get_ServiceID(This,retval) +#define IUpdateHistoryEntry_get_UninstallationSteps(This,retval) (This)->lpVtbl->get_UninstallationSteps(This,retval) +#define IUpdateHistoryEntry_get_UninstallationNotes(This,retval) (This)->lpVtbl->get_UninstallationNotes(This,retval) +#define IUpdateHistoryEntry_get_SupportUrl(This,retval) (This)->lpVtbl->get_SupportUrl(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateHistoryEntry_QueryInterface(IUpdateHistoryEntry* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateHistoryEntry_AddRef(IUpdateHistoryEntry* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateHistoryEntry_Release(IUpdateHistoryEntry* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateHistoryEntry_GetTypeInfoCount(IUpdateHistoryEntry* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateHistoryEntry_GetTypeInfo(IUpdateHistoryEntry* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateHistoryEntry_GetIDsOfNames(IUpdateHistoryEntry* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateHistoryEntry_Invoke(IUpdateHistoryEntry* 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); +} +/*** IUpdateHistoryEntry methods ***/ +static inline HRESULT IUpdateHistoryEntry_get_Operation(IUpdateHistoryEntry* This,UpdateOperation *retval) { + return This->lpVtbl->get_Operation(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_ResultCode(IUpdateHistoryEntry* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_HResult(IUpdateHistoryEntry* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_Date(IUpdateHistoryEntry* This,DATE *retval) { + return This->lpVtbl->get_Date(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_UpdateIdentity(IUpdateHistoryEntry* This,IUpdateIdentity **retval) { + return This->lpVtbl->get_UpdateIdentity(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_Title(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_Title(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_Description(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_Description(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_UnmappedResultCode(IUpdateHistoryEntry* This,LONG *retval) { + return This->lpVtbl->get_UnmappedResultCode(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_ClientApplicationID(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_ClientApplicationID(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_ServerSelection(IUpdateHistoryEntry* This,ServerSelection *retval) { + return This->lpVtbl->get_ServerSelection(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_ServiceID(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_ServiceID(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_UninstallationSteps(IUpdateHistoryEntry* This,IStringCollection **retval) { + return This->lpVtbl->get_UninstallationSteps(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_UninstallationNotes(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_UninstallationNotes(This,retval); +} +static inline HRESULT IUpdateHistoryEntry_get_SupportUrl(IUpdateHistoryEntry* This,BSTR *retval) { + return This->lpVtbl->get_SupportUrl(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateHistoryEntry_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateHistoryEntryCollection interface + */ +#ifndef __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ +#define __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateHistoryEntryCollection, 0xa7f04f3c, 0xa290, 0x435b, 0xaa,0xdf, 0xa1,0x16,0xc3,0x35,0x7a,0x5c); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a7f04f3c-a290-435b-aadf-a116c3357a5c") +IUpdateHistoryEntryCollection : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_Item( + LONG index, + IUpdateHistoryEntry **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get__NewEnum( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Count( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateHistoryEntryCollection, 0xa7f04f3c, 0xa290, 0x435b, 0xaa,0xdf, 0xa1,0x16,0xc3,0x35,0x7a,0x5c) +#endif +#else +typedef struct IUpdateHistoryEntryCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateHistoryEntryCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateHistoryEntryCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateHistoryEntryCollection *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateHistoryEntryCollection *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateHistoryEntryCollection *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateHistoryEntryCollection *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateHistoryEntryCollection *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateHistoryEntryCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Item)( + IUpdateHistoryEntryCollection *This, + LONG index, + IUpdateHistoryEntry **retval); + + HRESULT (STDMETHODCALLTYPE *get__NewEnum)( + IUpdateHistoryEntryCollection *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Count)( + IUpdateHistoryEntryCollection *This, + LONG *retval); + + END_INTERFACE +} IUpdateHistoryEntryCollectionVtbl; + +interface IUpdateHistoryEntryCollection { + CONST_VTBL IUpdateHistoryEntryCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateHistoryEntryCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateHistoryEntryCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateHistoryEntryCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateHistoryEntryCollection_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateHistoryEntryCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateHistoryEntryCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateHistoryEntryCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateHistoryEntryCollection methods ***/ +#define IUpdateHistoryEntryCollection_get_Item(This,index,retval) (This)->lpVtbl->get_Item(This,index,retval) +#define IUpdateHistoryEntryCollection_get__NewEnum(This,retval) (This)->lpVtbl->get__NewEnum(This,retval) +#define IUpdateHistoryEntryCollection_get_Count(This,retval) (This)->lpVtbl->get_Count(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateHistoryEntryCollection_QueryInterface(IUpdateHistoryEntryCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateHistoryEntryCollection_AddRef(IUpdateHistoryEntryCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateHistoryEntryCollection_Release(IUpdateHistoryEntryCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateHistoryEntryCollection_GetTypeInfoCount(IUpdateHistoryEntryCollection* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateHistoryEntryCollection_GetTypeInfo(IUpdateHistoryEntryCollection* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateHistoryEntryCollection_GetIDsOfNames(IUpdateHistoryEntryCollection* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateHistoryEntryCollection_Invoke(IUpdateHistoryEntryCollection* 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); +} +/*** IUpdateHistoryEntryCollection methods ***/ +static inline HRESULT IUpdateHistoryEntryCollection_get_Item(IUpdateHistoryEntryCollection* This,LONG index,IUpdateHistoryEntry **retval) { + return This->lpVtbl->get_Item(This,index,retval); +} +static inline HRESULT IUpdateHistoryEntryCollection_get__NewEnum(IUpdateHistoryEntryCollection* This,IUnknown **retval) { + return This->lpVtbl->get__NewEnum(This,retval); +} +static inline HRESULT IUpdateHistoryEntryCollection_get_Count(IUpdateHistoryEntryCollection* This,LONG *retval) { + return This->lpVtbl->get_Count(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateHistoryEntryCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateSearcher interface + */ +#ifndef __IUpdateSearcher_INTERFACE_DEFINED__ +#define __IUpdateSearcher_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateSearcher, 0x8f45abf1, 0xf9ae, 0x4b95, 0xa9,0x33, 0xf0,0xf6,0x6e,0x50,0x56,0xea); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("8f45abf1-f9ae-4b95-a933-f0f66e5056ea") +IUpdateSearcher : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_CanAutomaticallyUpgradeService( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_CanAutomaticallyUpgradeService( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IncludePotentiallySupersededUpdates( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IncludePotentiallySupersededUpdates( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ServerSelection( + ServerSelection *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ServerSelection( + ServerSelection value) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginSearch( + BSTR criteria, + IUnknown *onCompleted, + VARIANT state, + ISearchJob **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndSearch( + ISearchJob *searchJob, + ISearchResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EscapeString( + BSTR unescaped, + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE QueryHistory( + LONG startIndex, + LONG count, + IUpdateHistoryEntryCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Search( + BSTR criteria, + ISearchResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Online( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Online( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTotalHistoryCount( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ServiceID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ServiceID( + BSTR value) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateSearcher, 0x8f45abf1, 0xf9ae, 0x4b95, 0xa9,0x33, 0xf0,0xf6,0x6e,0x50,0x56,0xea) +#endif +#else +typedef struct IUpdateSearcherVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateSearcher *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateSearcher *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateSearcher *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateSearcher *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateSearcher *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateSearcher *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateSearcher *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateSearcher methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CanAutomaticallyUpgradeService)( + IUpdateSearcher *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_CanAutomaticallyUpgradeService)( + IUpdateSearcher *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)( + IUpdateSearcher *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)( + IUpdateSearcher *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get_IncludePotentiallySupersededUpdates)( + IUpdateSearcher *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_IncludePotentiallySupersededUpdates)( + IUpdateSearcher *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_ServerSelection)( + IUpdateSearcher *This, + ServerSelection *retval); + + HRESULT (STDMETHODCALLTYPE *put_ServerSelection)( + IUpdateSearcher *This, + ServerSelection value); + + HRESULT (STDMETHODCALLTYPE *BeginSearch)( + IUpdateSearcher *This, + BSTR criteria, + IUnknown *onCompleted, + VARIANT state, + ISearchJob **retval); + + HRESULT (STDMETHODCALLTYPE *EndSearch)( + IUpdateSearcher *This, + ISearchJob *searchJob, + ISearchResult **retval); + + HRESULT (STDMETHODCALLTYPE *EscapeString)( + IUpdateSearcher *This, + BSTR unescaped, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *QueryHistory)( + IUpdateSearcher *This, + LONG startIndex, + LONG count, + IUpdateHistoryEntryCollection **retval); + + HRESULT (STDMETHODCALLTYPE *Search)( + IUpdateSearcher *This, + BSTR criteria, + ISearchResult **retval); + + HRESULT (STDMETHODCALLTYPE *get_Online)( + IUpdateSearcher *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_Online)( + IUpdateSearcher *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *GetTotalHistoryCount)( + IUpdateSearcher *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ServiceID)( + IUpdateSearcher *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_ServiceID)( + IUpdateSearcher *This, + BSTR value); + + END_INTERFACE +} IUpdateSearcherVtbl; + +interface IUpdateSearcher { + CONST_VTBL IUpdateSearcherVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateSearcher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateSearcher_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateSearcher_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateSearcher_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateSearcher_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateSearcher_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateSearcher_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateSearcher methods ***/ +#define IUpdateSearcher_get_CanAutomaticallyUpgradeService(This,retval) (This)->lpVtbl->get_CanAutomaticallyUpgradeService(This,retval) +#define IUpdateSearcher_put_CanAutomaticallyUpgradeService(This,value) (This)->lpVtbl->put_CanAutomaticallyUpgradeService(This,value) +#define IUpdateSearcher_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval) +#define IUpdateSearcher_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value) +#define IUpdateSearcher_get_IncludePotentiallySupersededUpdates(This,retval) (This)->lpVtbl->get_IncludePotentiallySupersededUpdates(This,retval) +#define IUpdateSearcher_put_IncludePotentiallySupersededUpdates(This,value) (This)->lpVtbl->put_IncludePotentiallySupersededUpdates(This,value) +#define IUpdateSearcher_get_ServerSelection(This,retval) (This)->lpVtbl->get_ServerSelection(This,retval) +#define IUpdateSearcher_put_ServerSelection(This,value) (This)->lpVtbl->put_ServerSelection(This,value) +#define IUpdateSearcher_BeginSearch(This,criteria,onCompleted,state,retval) (This)->lpVtbl->BeginSearch(This,criteria,onCompleted,state,retval) +#define IUpdateSearcher_EndSearch(This,searchJob,retval) (This)->lpVtbl->EndSearch(This,searchJob,retval) +#define IUpdateSearcher_EscapeString(This,unescaped,retval) (This)->lpVtbl->EscapeString(This,unescaped,retval) +#define IUpdateSearcher_QueryHistory(This,startIndex,count,retval) (This)->lpVtbl->QueryHistory(This,startIndex,count,retval) +#define IUpdateSearcher_Search(This,criteria,retval) (This)->lpVtbl->Search(This,criteria,retval) +#define IUpdateSearcher_get_Online(This,retval) (This)->lpVtbl->get_Online(This,retval) +#define IUpdateSearcher_put_Online(This,value) (This)->lpVtbl->put_Online(This,value) +#define IUpdateSearcher_GetTotalHistoryCount(This,retval) (This)->lpVtbl->GetTotalHistoryCount(This,retval) +#define IUpdateSearcher_get_ServiceID(This,retval) (This)->lpVtbl->get_ServiceID(This,retval) +#define IUpdateSearcher_put_ServiceID(This,value) (This)->lpVtbl->put_ServiceID(This,value) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateSearcher_QueryInterface(IUpdateSearcher* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateSearcher_AddRef(IUpdateSearcher* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateSearcher_Release(IUpdateSearcher* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateSearcher_GetTypeInfoCount(IUpdateSearcher* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateSearcher_GetTypeInfo(IUpdateSearcher* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateSearcher_GetIDsOfNames(IUpdateSearcher* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateSearcher_Invoke(IUpdateSearcher* 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); +} +/*** IUpdateSearcher methods ***/ +static inline HRESULT IUpdateSearcher_get_CanAutomaticallyUpgradeService(IUpdateSearcher* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_CanAutomaticallyUpgradeService(This,retval); +} +static inline HRESULT IUpdateSearcher_put_CanAutomaticallyUpgradeService(IUpdateSearcher* This,VARIANT_BOOL value) { + return This->lpVtbl->put_CanAutomaticallyUpgradeService(This,value); +} +static inline HRESULT IUpdateSearcher_get_ClientApplicationID(IUpdateSearcher* This,BSTR *retval) { + return This->lpVtbl->get_ClientApplicationID(This,retval); +} +static inline HRESULT IUpdateSearcher_put_ClientApplicationID(IUpdateSearcher* This,BSTR value) { + return This->lpVtbl->put_ClientApplicationID(This,value); +} +static inline HRESULT IUpdateSearcher_get_IncludePotentiallySupersededUpdates(IUpdateSearcher* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IncludePotentiallySupersededUpdates(This,retval); +} +static inline HRESULT IUpdateSearcher_put_IncludePotentiallySupersededUpdates(IUpdateSearcher* This,VARIANT_BOOL value) { + return This->lpVtbl->put_IncludePotentiallySupersededUpdates(This,value); +} +static inline HRESULT IUpdateSearcher_get_ServerSelection(IUpdateSearcher* This,ServerSelection *retval) { + return This->lpVtbl->get_ServerSelection(This,retval); +} +static inline HRESULT IUpdateSearcher_put_ServerSelection(IUpdateSearcher* This,ServerSelection value) { + return This->lpVtbl->put_ServerSelection(This,value); +} +static inline HRESULT IUpdateSearcher_BeginSearch(IUpdateSearcher* This,BSTR criteria,IUnknown *onCompleted,VARIANT state,ISearchJob **retval) { + return This->lpVtbl->BeginSearch(This,criteria,onCompleted,state,retval); +} +static inline HRESULT IUpdateSearcher_EndSearch(IUpdateSearcher* This,ISearchJob *searchJob,ISearchResult **retval) { + return This->lpVtbl->EndSearch(This,searchJob,retval); +} +static inline HRESULT IUpdateSearcher_EscapeString(IUpdateSearcher* This,BSTR unescaped,BSTR *retval) { + return This->lpVtbl->EscapeString(This,unescaped,retval); +} +static inline HRESULT IUpdateSearcher_QueryHistory(IUpdateSearcher* This,LONG startIndex,LONG count,IUpdateHistoryEntryCollection **retval) { + return This->lpVtbl->QueryHistory(This,startIndex,count,retval); +} +static inline HRESULT IUpdateSearcher_Search(IUpdateSearcher* This,BSTR criteria,ISearchResult **retval) { + return This->lpVtbl->Search(This,criteria,retval); +} +static inline HRESULT IUpdateSearcher_get_Online(IUpdateSearcher* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_Online(This,retval); +} +static inline HRESULT IUpdateSearcher_put_Online(IUpdateSearcher* This,VARIANT_BOOL value) { + return This->lpVtbl->put_Online(This,value); +} +static inline HRESULT IUpdateSearcher_GetTotalHistoryCount(IUpdateSearcher* This,LONG *retval) { + return This->lpVtbl->GetTotalHistoryCount(This,retval); +} +static inline HRESULT IUpdateSearcher_get_ServiceID(IUpdateSearcher* This,BSTR *retval) { + return This->lpVtbl->get_ServiceID(This,retval); +} +static inline HRESULT IUpdateSearcher_put_ServiceID(IUpdateSearcher* This,BSTR value) { + return This->lpVtbl->put_ServiceID(This,value); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateSearcher_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateDownloadResult interface + */ +#ifndef __IUpdateDownloadResult_INTERFACE_DEFINED__ +#define __IUpdateDownloadResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateDownloadResult, 0xbf99af76, 0xb575, 0x42ad, 0x8a,0xa4, 0x33,0xcb,0xb5,0x47,0x7a,0xf1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bf99af76-b575-42ad-8aa4-33cbb5477af1") +IUpdateDownloadResult : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateDownloadResult, 0xbf99af76, 0xb575, 0x42ad, 0x8a,0xa4, 0x33,0xcb,0xb5,0x47,0x7a,0xf1) +#endif +#else +typedef struct IUpdateDownloadResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateDownloadResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateDownloadResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateDownloadResult *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateDownloadResult *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateDownloadResult *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateDownloadResult *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateDownloadResult *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateDownloadResult methods ***/ + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IUpdateDownloadResult *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + IUpdateDownloadResult *This, + OperationResultCode *retval); + + END_INTERFACE +} IUpdateDownloadResultVtbl; + +interface IUpdateDownloadResult { + CONST_VTBL IUpdateDownloadResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateDownloadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateDownloadResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateDownloadResult_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateDownloadResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateDownloadResult methods ***/ +#define IUpdateDownloadResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IUpdateDownloadResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateDownloadResult_QueryInterface(IUpdateDownloadResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateDownloadResult_AddRef(IUpdateDownloadResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateDownloadResult_Release(IUpdateDownloadResult* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateDownloadResult_GetTypeInfoCount(IUpdateDownloadResult* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateDownloadResult_GetTypeInfo(IUpdateDownloadResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateDownloadResult_GetIDsOfNames(IUpdateDownloadResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateDownloadResult_Invoke(IUpdateDownloadResult* 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); +} +/*** IUpdateDownloadResult methods ***/ +static inline HRESULT IUpdateDownloadResult_get_HResult(IUpdateDownloadResult* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IUpdateDownloadResult_get_ResultCode(IUpdateDownloadResult* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateDownloadResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDownloadProgress interface + */ +#ifndef __IDownloadProgress_INTERFACE_DEFINED__ +#define __IDownloadProgress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDownloadProgress, 0xd31a5bac, 0xf719, 0x4178, 0x9d,0xbb, 0x5e,0x2c,0xb4,0x7f,0xd1,0x8a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d31a5bac-f719-4178-9dbb-5e2cb47fd18a") +IDownloadProgress : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesDownloaded( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateBytesToDownload( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PercentComplete( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TotalBytesDownloaded( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_TotalBytesToDownload( + DECIMAL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateResult( + LONG updateIndex, + IUpdateDownloadResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateDownloadPhase( + DownloadPhase *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete( + LONG *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDownloadProgress, 0xd31a5bac, 0xf719, 0x4178, 0x9d,0xbb, 0x5e,0x2c,0xb4,0x7f,0xd1,0x8a) +#endif +#else +typedef struct IDownloadProgressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDownloadProgress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDownloadProgress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDownloadProgress *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDownloadProgress *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDownloadProgress *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDownloadProgress *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDownloadProgress *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IDownloadProgress methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateBytesDownloaded)( + IDownloadProgress *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateBytesToDownload)( + IDownloadProgress *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateIndex)( + IDownloadProgress *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_PercentComplete)( + IDownloadProgress *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_TotalBytesDownloaded)( + IDownloadProgress *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *get_TotalBytesToDownload)( + IDownloadProgress *This, + DECIMAL *retval); + + HRESULT (STDMETHODCALLTYPE *GetUpdateResult)( + IDownloadProgress *This, + LONG updateIndex, + IUpdateDownloadResult **retval); + + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateDownloadPhase)( + IDownloadProgress *This, + DownloadPhase *retval); + + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete)( + IDownloadProgress *This, + LONG *retval); + + END_INTERFACE +} IDownloadProgressVtbl; + +interface IDownloadProgress { + CONST_VTBL IDownloadProgressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDownloadProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDownloadProgress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDownloadProgress_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDownloadProgress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDownloadProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDownloadProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDownloadProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IDownloadProgress methods ***/ +#define IDownloadProgress_get_CurrentUpdateBytesDownloaded(This,retval) (This)->lpVtbl->get_CurrentUpdateBytesDownloaded(This,retval) +#define IDownloadProgress_get_CurrentUpdateBytesToDownload(This,retval) (This)->lpVtbl->get_CurrentUpdateBytesToDownload(This,retval) +#define IDownloadProgress_get_CurrentUpdateIndex(This,retval) (This)->lpVtbl->get_CurrentUpdateIndex(This,retval) +#define IDownloadProgress_get_PercentComplete(This,retval) (This)->lpVtbl->get_PercentComplete(This,retval) +#define IDownloadProgress_get_TotalBytesDownloaded(This,retval) (This)->lpVtbl->get_TotalBytesDownloaded(This,retval) +#define IDownloadProgress_get_TotalBytesToDownload(This,retval) (This)->lpVtbl->get_TotalBytesToDownload(This,retval) +#define IDownloadProgress_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval) +#define IDownloadProgress_get_CurrentUpdateDownloadPhase(This,retval) (This)->lpVtbl->get_CurrentUpdateDownloadPhase(This,retval) +#define IDownloadProgress_get_CurrentUpdatePercentComplete(This,retval) (This)->lpVtbl->get_CurrentUpdatePercentComplete(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDownloadProgress_QueryInterface(IDownloadProgress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDownloadProgress_AddRef(IDownloadProgress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDownloadProgress_Release(IDownloadProgress* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDownloadProgress_GetTypeInfoCount(IDownloadProgress* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDownloadProgress_GetTypeInfo(IDownloadProgress* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDownloadProgress_GetIDsOfNames(IDownloadProgress* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDownloadProgress_Invoke(IDownloadProgress* 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); +} +/*** IDownloadProgress methods ***/ +static inline HRESULT IDownloadProgress_get_CurrentUpdateBytesDownloaded(IDownloadProgress* This,DECIMAL *retval) { + return This->lpVtbl->get_CurrentUpdateBytesDownloaded(This,retval); +} +static inline HRESULT IDownloadProgress_get_CurrentUpdateBytesToDownload(IDownloadProgress* This,DECIMAL *retval) { + return This->lpVtbl->get_CurrentUpdateBytesToDownload(This,retval); +} +static inline HRESULT IDownloadProgress_get_CurrentUpdateIndex(IDownloadProgress* This,LONG *retval) { + return This->lpVtbl->get_CurrentUpdateIndex(This,retval); +} +static inline HRESULT IDownloadProgress_get_PercentComplete(IDownloadProgress* This,LONG *retval) { + return This->lpVtbl->get_PercentComplete(This,retval); +} +static inline HRESULT IDownloadProgress_get_TotalBytesDownloaded(IDownloadProgress* This,DECIMAL *retval) { + return This->lpVtbl->get_TotalBytesDownloaded(This,retval); +} +static inline HRESULT IDownloadProgress_get_TotalBytesToDownload(IDownloadProgress* This,DECIMAL *retval) { + return This->lpVtbl->get_TotalBytesToDownload(This,retval); +} +static inline HRESULT IDownloadProgress_GetUpdateResult(IDownloadProgress* This,LONG updateIndex,IUpdateDownloadResult **retval) { + return This->lpVtbl->GetUpdateResult(This,updateIndex,retval); +} +static inline HRESULT IDownloadProgress_get_CurrentUpdateDownloadPhase(IDownloadProgress* This,DownloadPhase *retval) { + return This->lpVtbl->get_CurrentUpdateDownloadPhase(This,retval); +} +static inline HRESULT IDownloadProgress_get_CurrentUpdatePercentComplete(IDownloadProgress* This,LONG *retval) { + return This->lpVtbl->get_CurrentUpdatePercentComplete(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IDownloadProgress_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDownloadJob interface + */ +#ifndef __IDownloadJob_INTERFACE_DEFINED__ +#define __IDownloadJob_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDownloadJob, 0xc574de85, 0x7358, 0x43f6, 0xaa,0xe8, 0x86,0x97,0xe6,0x2d,0x8b,0xa7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c574de85-7358-43f6-aae8-8697e62d8ba7") +IDownloadJob : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_AsyncState( + VARIANT *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsCompleted( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CleanUp( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProgress( + IDownloadProgress **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestAbort( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDownloadJob, 0xc574de85, 0x7358, 0x43f6, 0xaa,0xe8, 0x86,0x97,0xe6,0x2d,0x8b,0xa7) +#endif +#else +typedef struct IDownloadJobVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDownloadJob *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDownloadJob *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDownloadJob *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDownloadJob *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDownloadJob *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDownloadJob *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDownloadJob *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IDownloadJob methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AsyncState)( + IDownloadJob *This, + VARIANT *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsCompleted)( + IDownloadJob *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + IDownloadJob *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *CleanUp)( + IDownloadJob *This); + + HRESULT (STDMETHODCALLTYPE *GetProgress)( + IDownloadJob *This, + IDownloadProgress **retval); + + HRESULT (STDMETHODCALLTYPE *RequestAbort)( + IDownloadJob *This); + + END_INTERFACE +} IDownloadJobVtbl; + +interface IDownloadJob { + CONST_VTBL IDownloadJobVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDownloadJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDownloadJob_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDownloadJob_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDownloadJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDownloadJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDownloadJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDownloadJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IDownloadJob methods ***/ +#define IDownloadJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval) +#define IDownloadJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval) +#define IDownloadJob_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#define IDownloadJob_CleanUp(This) (This)->lpVtbl->CleanUp(This) +#define IDownloadJob_GetProgress(This,retval) (This)->lpVtbl->GetProgress(This,retval) +#define IDownloadJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDownloadJob_QueryInterface(IDownloadJob* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDownloadJob_AddRef(IDownloadJob* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDownloadJob_Release(IDownloadJob* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDownloadJob_GetTypeInfoCount(IDownloadJob* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDownloadJob_GetTypeInfo(IDownloadJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDownloadJob_GetIDsOfNames(IDownloadJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDownloadJob_Invoke(IDownloadJob* 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); +} +/*** IDownloadJob methods ***/ +static inline HRESULT IDownloadJob_get_AsyncState(IDownloadJob* This,VARIANT *retval) { + return This->lpVtbl->get_AsyncState(This,retval); +} +static inline HRESULT IDownloadJob_get_IsCompleted(IDownloadJob* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsCompleted(This,retval); +} +static inline HRESULT IDownloadJob_get_Updates(IDownloadJob* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +static inline HRESULT IDownloadJob_CleanUp(IDownloadJob* This) { + return This->lpVtbl->CleanUp(This); +} +static inline HRESULT IDownloadJob_GetProgress(IDownloadJob* This,IDownloadProgress **retval) { + return This->lpVtbl->GetProgress(This,retval); +} +static inline HRESULT IDownloadJob_RequestAbort(IDownloadJob* This) { + return This->lpVtbl->RequestAbort(This); +} +#endif +#endif + +#endif + + +#endif /* __IDownloadJob_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IDownloadResult interface + */ +#ifndef __IDownloadResult_INTERFACE_DEFINED__ +#define __IDownloadResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IDownloadResult, 0xdaa4fdd0, 0x4727, 0x4dbe, 0xa1,0xe7, 0x74,0x5d,0xca,0x31,0x71,0x44); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("daa4fdd0-4727-4dbe-a1e7-745dca317144") +IDownloadResult : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateResult( + LONG updateIndex, + IUpdateDownloadResult **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IDownloadResult, 0xdaa4fdd0, 0x4727, 0x4dbe, 0xa1,0xe7, 0x74,0x5d,0xca,0x31,0x71,0x44) +#endif +#else +typedef struct IDownloadResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IDownloadResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IDownloadResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IDownloadResult *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IDownloadResult *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IDownloadResult *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IDownloadResult *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IDownloadResult *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IDownloadResult methods ***/ + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IDownloadResult *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + IDownloadResult *This, + OperationResultCode *retval); + + HRESULT (STDMETHODCALLTYPE *GetUpdateResult)( + IDownloadResult *This, + LONG updateIndex, + IUpdateDownloadResult **retval); + + END_INTERFACE +} IDownloadResultVtbl; + +interface IDownloadResult { + CONST_VTBL IDownloadResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IDownloadResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IDownloadResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IDownloadResult_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IDownloadResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IDownloadResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IDownloadResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IDownloadResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IDownloadResult methods ***/ +#define IDownloadResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IDownloadResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#define IDownloadResult_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IDownloadResult_QueryInterface(IDownloadResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IDownloadResult_AddRef(IDownloadResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IDownloadResult_Release(IDownloadResult* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IDownloadResult_GetTypeInfoCount(IDownloadResult* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IDownloadResult_GetTypeInfo(IDownloadResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IDownloadResult_GetIDsOfNames(IDownloadResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IDownloadResult_Invoke(IDownloadResult* 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); +} +/*** IDownloadResult methods ***/ +static inline HRESULT IDownloadResult_get_HResult(IDownloadResult* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IDownloadResult_get_ResultCode(IDownloadResult* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +static inline HRESULT IDownloadResult_GetUpdateResult(IDownloadResult* This,LONG updateIndex,IUpdateDownloadResult **retval) { + return This->lpVtbl->GetUpdateResult(This,updateIndex,retval); +} +#endif +#endif + +#endif + + +#endif /* __IDownloadResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateDownloader interface + */ +#ifndef __IUpdateDownloader_INTERFACE_DEFINED__ +#define __IUpdateDownloader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateDownloader, 0x68f1c6f9, 0x7ecc, 0x4666, 0xa4,0x64, 0x24,0x7f,0xe1,0x24,0x96,0xc3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("68f1c6f9-7ecc-4666-a464-247fe12496c3") +IUpdateDownloader : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsForced( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsForced( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Priority( + DownloadPriority *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Priority( + DownloadPriority value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Updates( + IUpdateCollection *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginDownload( + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IDownloadJob **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Download( + IDownloadResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndDownload( + IDownloadJob *value, + IDownloadResult **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateDownloader, 0x68f1c6f9, 0x7ecc, 0x4666, 0xa4,0x64, 0x24,0x7f,0xe1,0x24,0x96,0xc3) +#endif +#else +typedef struct IUpdateDownloaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateDownloader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateDownloader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateDownloader *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateDownloader *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateDownloader *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateDownloader *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateDownloader *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateDownloader methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)( + IUpdateDownloader *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)( + IUpdateDownloader *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get_IsForced)( + IUpdateDownloader *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_IsForced)( + IUpdateDownloader *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_Priority)( + IUpdateDownloader *This, + DownloadPriority *retval); + + HRESULT (STDMETHODCALLTYPE *put_Priority)( + IUpdateDownloader *This, + DownloadPriority value); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + IUpdateDownloader *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *put_Updates)( + IUpdateDownloader *This, + IUpdateCollection *value); + + HRESULT (STDMETHODCALLTYPE *BeginDownload)( + IUpdateDownloader *This, + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IDownloadJob **retval); + + HRESULT (STDMETHODCALLTYPE *Download)( + IUpdateDownloader *This, + IDownloadResult **retval); + + HRESULT (STDMETHODCALLTYPE *EndDownload)( + IUpdateDownloader *This, + IDownloadJob *value, + IDownloadResult **retval); + + END_INTERFACE +} IUpdateDownloaderVtbl; + +interface IUpdateDownloader { + CONST_VTBL IUpdateDownloaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateDownloader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateDownloader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateDownloader_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateDownloader_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateDownloader_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateDownloader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateDownloader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateDownloader methods ***/ +#define IUpdateDownloader_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval) +#define IUpdateDownloader_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value) +#define IUpdateDownloader_get_IsForced(This,retval) (This)->lpVtbl->get_IsForced(This,retval) +#define IUpdateDownloader_put_IsForced(This,value) (This)->lpVtbl->put_IsForced(This,value) +#define IUpdateDownloader_get_Priority(This,retval) (This)->lpVtbl->get_Priority(This,retval) +#define IUpdateDownloader_put_Priority(This,value) (This)->lpVtbl->put_Priority(This,value) +#define IUpdateDownloader_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#define IUpdateDownloader_put_Updates(This,value) (This)->lpVtbl->put_Updates(This,value) +#define IUpdateDownloader_BeginDownload(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginDownload(This,onProgressChanged,onCompleted,state,retval) +#define IUpdateDownloader_Download(This,retval) (This)->lpVtbl->Download(This,retval) +#define IUpdateDownloader_EndDownload(This,value,retval) (This)->lpVtbl->EndDownload(This,value,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateDownloader_QueryInterface(IUpdateDownloader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateDownloader_AddRef(IUpdateDownloader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateDownloader_Release(IUpdateDownloader* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateDownloader_GetTypeInfoCount(IUpdateDownloader* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateDownloader_GetTypeInfo(IUpdateDownloader* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateDownloader_GetIDsOfNames(IUpdateDownloader* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateDownloader_Invoke(IUpdateDownloader* 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); +} +/*** IUpdateDownloader methods ***/ +static inline HRESULT IUpdateDownloader_get_ClientApplicationID(IUpdateDownloader* This,BSTR *retval) { + return This->lpVtbl->get_ClientApplicationID(This,retval); +} +static inline HRESULT IUpdateDownloader_put_ClientApplicationID(IUpdateDownloader* This,BSTR value) { + return This->lpVtbl->put_ClientApplicationID(This,value); +} +static inline HRESULT IUpdateDownloader_get_IsForced(IUpdateDownloader* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsForced(This,retval); +} +static inline HRESULT IUpdateDownloader_put_IsForced(IUpdateDownloader* This,VARIANT_BOOL value) { + return This->lpVtbl->put_IsForced(This,value); +} +static inline HRESULT IUpdateDownloader_get_Priority(IUpdateDownloader* This,DownloadPriority *retval) { + return This->lpVtbl->get_Priority(This,retval); +} +static inline HRESULT IUpdateDownloader_put_Priority(IUpdateDownloader* This,DownloadPriority value) { + return This->lpVtbl->put_Priority(This,value); +} +static inline HRESULT IUpdateDownloader_get_Updates(IUpdateDownloader* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +static inline HRESULT IUpdateDownloader_put_Updates(IUpdateDownloader* This,IUpdateCollection *value) { + return This->lpVtbl->put_Updates(This,value); +} +static inline HRESULT IUpdateDownloader_BeginDownload(IUpdateDownloader* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IDownloadJob **retval) { + return This->lpVtbl->BeginDownload(This,onProgressChanged,onCompleted,state,retval); +} +static inline HRESULT IUpdateDownloader_Download(IUpdateDownloader* This,IDownloadResult **retval) { + return This->lpVtbl->Download(This,retval); +} +static inline HRESULT IUpdateDownloader_EndDownload(IUpdateDownloader* This,IDownloadJob *value,IDownloadResult **retval) { + return This->lpVtbl->EndDownload(This,value,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateDownloader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateInstallationResult interface + */ +#ifndef __IUpdateInstallationResult_INTERFACE_DEFINED__ +#define __IUpdateInstallationResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateInstallationResult, 0xd940f0f8, 0x3cbb, 0x4fd0, 0x99,0x3f, 0x47,0x1e,0x7f,0x23,0x28,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d940f0f8-3cbb-4fd0-993f-471e7f2328ad") +IUpdateInstallationResult : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RebootRequired( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateInstallationResult, 0xd940f0f8, 0x3cbb, 0x4fd0, 0x99,0x3f, 0x47,0x1e,0x7f,0x23,0x28,0xad) +#endif +#else +typedef struct IUpdateInstallationResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateInstallationResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateInstallationResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateInstallationResult *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateInstallationResult *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateInstallationResult *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateInstallationResult *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateInstallationResult *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateInstallationResult methods ***/ + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IUpdateInstallationResult *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_RebootRequired)( + IUpdateInstallationResult *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + IUpdateInstallationResult *This, + OperationResultCode *retval); + + END_INTERFACE +} IUpdateInstallationResultVtbl; + +interface IUpdateInstallationResult { + CONST_VTBL IUpdateInstallationResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateInstallationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateInstallationResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateInstallationResult_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateInstallationResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateInstallationResult methods ***/ +#define IUpdateInstallationResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IUpdateInstallationResult_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval) +#define IUpdateInstallationResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateInstallationResult_QueryInterface(IUpdateInstallationResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateInstallationResult_AddRef(IUpdateInstallationResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateInstallationResult_Release(IUpdateInstallationResult* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateInstallationResult_GetTypeInfoCount(IUpdateInstallationResult* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateInstallationResult_GetTypeInfo(IUpdateInstallationResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateInstallationResult_GetIDsOfNames(IUpdateInstallationResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateInstallationResult_Invoke(IUpdateInstallationResult* 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); +} +/*** IUpdateInstallationResult methods ***/ +static inline HRESULT IUpdateInstallationResult_get_HResult(IUpdateInstallationResult* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IUpdateInstallationResult_get_RebootRequired(IUpdateInstallationResult* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_RebootRequired(This,retval); +} +static inline HRESULT IUpdateInstallationResult_get_ResultCode(IUpdateInstallationResult* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateInstallationResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IInstallationProgress interface + */ +#ifndef __IInstallationProgress_INTERFACE_DEFINED__ +#define __IInstallationProgress_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInstallationProgress, 0x345c8244, 0x43a3, 0x4e32, 0xa3,0x68, 0x65,0xf0,0x73,0xb7,0x6f,0x36); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("345c8244-43a3-4e32-a368-65f073b76f36") +IInstallationProgress : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdateIndex( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_CurrentUpdatePercentComplete( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_PercentComplete( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateResult( + LONG updateIndex, + IUpdateInstallationResult **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInstallationProgress, 0x345c8244, 0x43a3, 0x4e32, 0xa3,0x68, 0x65,0xf0,0x73,0xb7,0x6f,0x36) +#endif +#else +typedef struct IInstallationProgressVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInstallationProgress *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInstallationProgress *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInstallationProgress *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IInstallationProgress *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IInstallationProgress *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IInstallationProgress *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IInstallationProgress *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IInstallationProgress methods ***/ + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdateIndex)( + IInstallationProgress *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_CurrentUpdatePercentComplete)( + IInstallationProgress *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_PercentComplete)( + IInstallationProgress *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *GetUpdateResult)( + IInstallationProgress *This, + LONG updateIndex, + IUpdateInstallationResult **retval); + + END_INTERFACE +} IInstallationProgressVtbl; + +interface IInstallationProgress { + CONST_VTBL IInstallationProgressVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInstallationProgress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInstallationProgress_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInstallationProgress_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IInstallationProgress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IInstallationProgress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IInstallationProgress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IInstallationProgress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IInstallationProgress methods ***/ +#define IInstallationProgress_get_CurrentUpdateIndex(This,retval) (This)->lpVtbl->get_CurrentUpdateIndex(This,retval) +#define IInstallationProgress_get_CurrentUpdatePercentComplete(This,retval) (This)->lpVtbl->get_CurrentUpdatePercentComplete(This,retval) +#define IInstallationProgress_get_PercentComplete(This,retval) (This)->lpVtbl->get_PercentComplete(This,retval) +#define IInstallationProgress_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInstallationProgress_QueryInterface(IInstallationProgress* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInstallationProgress_AddRef(IInstallationProgress* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInstallationProgress_Release(IInstallationProgress* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IInstallationProgress_GetTypeInfoCount(IInstallationProgress* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IInstallationProgress_GetTypeInfo(IInstallationProgress* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IInstallationProgress_GetIDsOfNames(IInstallationProgress* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IInstallationProgress_Invoke(IInstallationProgress* 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); +} +/*** IInstallationProgress methods ***/ +static inline HRESULT IInstallationProgress_get_CurrentUpdateIndex(IInstallationProgress* This,LONG *retval) { + return This->lpVtbl->get_CurrentUpdateIndex(This,retval); +} +static inline HRESULT IInstallationProgress_get_CurrentUpdatePercentComplete(IInstallationProgress* This,LONG *retval) { + return This->lpVtbl->get_CurrentUpdatePercentComplete(This,retval); +} +static inline HRESULT IInstallationProgress_get_PercentComplete(IInstallationProgress* This,LONG *retval) { + return This->lpVtbl->get_PercentComplete(This,retval); +} +static inline HRESULT IInstallationProgress_GetUpdateResult(IInstallationProgress* This,LONG updateIndex,IUpdateInstallationResult **retval) { + return This->lpVtbl->GetUpdateResult(This,updateIndex,retval); +} +#endif +#endif + +#endif + + +#endif /* __IInstallationProgress_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IInstallationJob interface + */ +#ifndef __IInstallationJob_INTERFACE_DEFINED__ +#define __IInstallationJob_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInstallationJob, 0x5c209f0b, 0xbad5, 0x432a, 0x95,0x56, 0x46,0x99,0xbe,0xd2,0x63,0x8a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5c209f0b-bad5-432a-9556-4699bed2638a") +IInstallationJob : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_AsyncState( + VARIANT *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsCompleted( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE CleanUp( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProgress( + IInstallationProgress **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE RequestAbort( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInstallationJob, 0x5c209f0b, 0xbad5, 0x432a, 0x95,0x56, 0x46,0x99,0xbe,0xd2,0x63,0x8a) +#endif +#else +typedef struct IInstallationJobVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInstallationJob *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInstallationJob *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInstallationJob *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IInstallationJob *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IInstallationJob *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IInstallationJob *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IInstallationJob *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IInstallationJob methods ***/ + HRESULT (STDMETHODCALLTYPE *get_AsyncState)( + IInstallationJob *This, + VARIANT *retval); + + HRESULT (STDMETHODCALLTYPE *get_IsCompleted)( + IInstallationJob *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + IInstallationJob *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *CleanUp)( + IInstallationJob *This); + + HRESULT (STDMETHODCALLTYPE *GetProgress)( + IInstallationJob *This, + IInstallationProgress **retval); + + HRESULT (STDMETHODCALLTYPE *RequestAbort)( + IInstallationJob *This); + + END_INTERFACE +} IInstallationJobVtbl; + +interface IInstallationJob { + CONST_VTBL IInstallationJobVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInstallationJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInstallationJob_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInstallationJob_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IInstallationJob_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IInstallationJob_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IInstallationJob_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IInstallationJob_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IInstallationJob methods ***/ +#define IInstallationJob_get_AsyncState(This,retval) (This)->lpVtbl->get_AsyncState(This,retval) +#define IInstallationJob_get_IsCompleted(This,retval) (This)->lpVtbl->get_IsCompleted(This,retval) +#define IInstallationJob_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#define IInstallationJob_CleanUp(This) (This)->lpVtbl->CleanUp(This) +#define IInstallationJob_GetProgress(This,retval) (This)->lpVtbl->GetProgress(This,retval) +#define IInstallationJob_RequestAbort(This) (This)->lpVtbl->RequestAbort(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInstallationJob_QueryInterface(IInstallationJob* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInstallationJob_AddRef(IInstallationJob* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInstallationJob_Release(IInstallationJob* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IInstallationJob_GetTypeInfoCount(IInstallationJob* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IInstallationJob_GetTypeInfo(IInstallationJob* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IInstallationJob_GetIDsOfNames(IInstallationJob* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IInstallationJob_Invoke(IInstallationJob* 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); +} +/*** IInstallationJob methods ***/ +static inline HRESULT IInstallationJob_get_AsyncState(IInstallationJob* This,VARIANT *retval) { + return This->lpVtbl->get_AsyncState(This,retval); +} +static inline HRESULT IInstallationJob_get_IsCompleted(IInstallationJob* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsCompleted(This,retval); +} +static inline HRESULT IInstallationJob_get_Updates(IInstallationJob* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +static inline HRESULT IInstallationJob_CleanUp(IInstallationJob* This) { + return This->lpVtbl->CleanUp(This); +} +static inline HRESULT IInstallationJob_GetProgress(IInstallationJob* This,IInstallationProgress **retval) { + return This->lpVtbl->GetProgress(This,retval); +} +static inline HRESULT IInstallationJob_RequestAbort(IInstallationJob* This) { + return This->lpVtbl->RequestAbort(This); +} +#endif +#endif + +#endif + + +#endif /* __IInstallationJob_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IInstallationResult interface + */ +#ifndef __IInstallationResult_INTERFACE_DEFINED__ +#define __IInstallationResult_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IInstallationResult, 0xa43c56d6, 0x7451, 0x48d4, 0xaf,0x96, 0xb6,0xcd,0x2d,0x0d,0x9b,0x7a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a43c56d6-7451-48d4-af96-b6cd2d0d9b7a") +IInstallationResult : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_HResult( + LONG *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RebootRequired( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ResultCode( + OperationResultCode *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUpdateResult( + LONG updateIndex, + IUpdateInstallationResult **retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IInstallationResult, 0xa43c56d6, 0x7451, 0x48d4, 0xaf,0x96, 0xb6,0xcd,0x2d,0x0d,0x9b,0x7a) +#endif +#else +typedef struct IInstallationResultVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IInstallationResult *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IInstallationResult *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IInstallationResult *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IInstallationResult *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IInstallationResult *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IInstallationResult *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IInstallationResult *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IInstallationResult methods ***/ + HRESULT (STDMETHODCALLTYPE *get_HResult)( + IInstallationResult *This, + LONG *retval); + + HRESULT (STDMETHODCALLTYPE *get_RebootRequired)( + IInstallationResult *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *get_ResultCode)( + IInstallationResult *This, + OperationResultCode *retval); + + HRESULT (STDMETHODCALLTYPE *GetUpdateResult)( + IInstallationResult *This, + LONG updateIndex, + IUpdateInstallationResult **retval); + + END_INTERFACE +} IInstallationResultVtbl; + +interface IInstallationResult { + CONST_VTBL IInstallationResultVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IInstallationResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IInstallationResult_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IInstallationResult_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IInstallationResult_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IInstallationResult_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IInstallationResult_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IInstallationResult_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IInstallationResult methods ***/ +#define IInstallationResult_get_HResult(This,retval) (This)->lpVtbl->get_HResult(This,retval) +#define IInstallationResult_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval) +#define IInstallationResult_get_ResultCode(This,retval) (This)->lpVtbl->get_ResultCode(This,retval) +#define IInstallationResult_GetUpdateResult(This,updateIndex,retval) (This)->lpVtbl->GetUpdateResult(This,updateIndex,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IInstallationResult_QueryInterface(IInstallationResult* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IInstallationResult_AddRef(IInstallationResult* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IInstallationResult_Release(IInstallationResult* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IInstallationResult_GetTypeInfoCount(IInstallationResult* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IInstallationResult_GetTypeInfo(IInstallationResult* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IInstallationResult_GetIDsOfNames(IInstallationResult* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IInstallationResult_Invoke(IInstallationResult* 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); +} +/*** IInstallationResult methods ***/ +static inline HRESULT IInstallationResult_get_HResult(IInstallationResult* This,LONG *retval) { + return This->lpVtbl->get_HResult(This,retval); +} +static inline HRESULT IInstallationResult_get_RebootRequired(IInstallationResult* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_RebootRequired(This,retval); +} +static inline HRESULT IInstallationResult_get_ResultCode(IInstallationResult* This,OperationResultCode *retval) { + return This->lpVtbl->get_ResultCode(This,retval); +} +static inline HRESULT IInstallationResult_GetUpdateResult(IInstallationResult* This,LONG updateIndex,IUpdateInstallationResult **retval) { + return This->lpVtbl->GetUpdateResult(This,updateIndex,retval); +} +#endif +#endif + +#endif + + +#endif /* __IInstallationResult_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IUpdateInstaller interface + */ +#ifndef __IUpdateInstaller_INTERFACE_DEFINED__ +#define __IUpdateInstaller_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IUpdateInstaller, 0x7b929c68, 0xccdc, 0x4226, 0x96,0xb1, 0x87,0x24,0x60,0x0b,0x54,0xc2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7b929c68-ccdc-4226-96b1-8724600b54c2") +IUpdateInstaller : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_ClientApplicationID( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ClientApplicationID( + BSTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsForced( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_IsForced( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ParentHwnd( + HWND *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ParentHwnd( + HWND value) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_ParentWindow( + IUnknown *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_ParentWindow( + IUnknown **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Updates( + IUpdateCollection **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_Updates( + IUpdateCollection *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginInstall( + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IInstallationJob **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE BeginUninstall( + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IInstallationJob **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndInstall( + IInstallationJob *value, + IInstallationResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE EndUninstall( + IInstallationJob *value, + IInstallationResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Install( + IInstallationResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE RunWizard( + BSTR dialogTitle, + IInstallationResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_IsBusy( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE Uninstall( + IInstallationResult **retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_AllowSourcePrompts( + VARIANT_BOOL *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE put_AllowSourcePrompts( + VARIANT_BOOL value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RebootRequiredBeforeInstallation( + VARIANT_BOOL *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IUpdateInstaller, 0x7b929c68, 0xccdc, 0x4226, 0x96,0xb1, 0x87,0x24,0x60,0x0b,0x54,0xc2) +#endif +#else +typedef struct IUpdateInstallerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IUpdateInstaller *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IUpdateInstaller *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IUpdateInstaller *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IUpdateInstaller *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IUpdateInstaller *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IUpdateInstaller *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IUpdateInstaller *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IUpdateInstaller methods ***/ + HRESULT (STDMETHODCALLTYPE *get_ClientApplicationID)( + IUpdateInstaller *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *put_ClientApplicationID)( + IUpdateInstaller *This, + BSTR value); + + HRESULT (STDMETHODCALLTYPE *get_IsForced)( + IUpdateInstaller *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_IsForced)( + IUpdateInstaller *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_ParentHwnd)( + IUpdateInstaller *This, + HWND *retval); + + HRESULT (STDMETHODCALLTYPE *put_ParentHwnd)( + IUpdateInstaller *This, + HWND value); + + HRESULT (STDMETHODCALLTYPE *put_ParentWindow)( + IUpdateInstaller *This, + IUnknown *value); + + HRESULT (STDMETHODCALLTYPE *get_ParentWindow)( + IUpdateInstaller *This, + IUnknown **retval); + + HRESULT (STDMETHODCALLTYPE *get_Updates)( + IUpdateInstaller *This, + IUpdateCollection **retval); + + HRESULT (STDMETHODCALLTYPE *put_Updates)( + IUpdateInstaller *This, + IUpdateCollection *value); + + HRESULT (STDMETHODCALLTYPE *BeginInstall)( + IUpdateInstaller *This, + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IInstallationJob **retval); + + HRESULT (STDMETHODCALLTYPE *BeginUninstall)( + IUpdateInstaller *This, + IUnknown *onProgressChanged, + IUnknown *onCompleted, + VARIANT state, + IInstallationJob **retval); + + HRESULT (STDMETHODCALLTYPE *EndInstall)( + IUpdateInstaller *This, + IInstallationJob *value, + IInstallationResult **retval); + + HRESULT (STDMETHODCALLTYPE *EndUninstall)( + IUpdateInstaller *This, + IInstallationJob *value, + IInstallationResult **retval); + + HRESULT (STDMETHODCALLTYPE *Install)( + IUpdateInstaller *This, + IInstallationResult **retval); + + HRESULT (STDMETHODCALLTYPE *RunWizard)( + IUpdateInstaller *This, + BSTR dialogTitle, + IInstallationResult **retval); + + HRESULT (STDMETHODCALLTYPE *get_IsBusy)( + IUpdateInstaller *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *Uninstall)( + IUpdateInstaller *This, + IInstallationResult **retval); + + HRESULT (STDMETHODCALLTYPE *get_AllowSourcePrompts)( + IUpdateInstaller *This, + VARIANT_BOOL *retval); + + HRESULT (STDMETHODCALLTYPE *put_AllowSourcePrompts)( + IUpdateInstaller *This, + VARIANT_BOOL value); + + HRESULT (STDMETHODCALLTYPE *get_RebootRequiredBeforeInstallation)( + IUpdateInstaller *This, + VARIANT_BOOL *retval); + + END_INTERFACE +} IUpdateInstallerVtbl; + +interface IUpdateInstaller { + CONST_VTBL IUpdateInstallerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IUpdateInstaller_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IUpdateInstaller_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IUpdateInstaller_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IUpdateInstaller_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IUpdateInstaller_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IUpdateInstaller_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IUpdateInstaller_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IUpdateInstaller methods ***/ +#define IUpdateInstaller_get_ClientApplicationID(This,retval) (This)->lpVtbl->get_ClientApplicationID(This,retval) +#define IUpdateInstaller_put_ClientApplicationID(This,value) (This)->lpVtbl->put_ClientApplicationID(This,value) +#define IUpdateInstaller_get_IsForced(This,retval) (This)->lpVtbl->get_IsForced(This,retval) +#define IUpdateInstaller_put_IsForced(This,value) (This)->lpVtbl->put_IsForced(This,value) +#define IUpdateInstaller_get_ParentHwnd(This,retval) (This)->lpVtbl->get_ParentHwnd(This,retval) +#define IUpdateInstaller_put_ParentHwnd(This,value) (This)->lpVtbl->put_ParentHwnd(This,value) +#define IUpdateInstaller_put_ParentWindow(This,value) (This)->lpVtbl->put_ParentWindow(This,value) +#define IUpdateInstaller_get_ParentWindow(This,retval) (This)->lpVtbl->get_ParentWindow(This,retval) +#define IUpdateInstaller_get_Updates(This,retval) (This)->lpVtbl->get_Updates(This,retval) +#define IUpdateInstaller_put_Updates(This,value) (This)->lpVtbl->put_Updates(This,value) +#define IUpdateInstaller_BeginInstall(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginInstall(This,onProgressChanged,onCompleted,state,retval) +#define IUpdateInstaller_BeginUninstall(This,onProgressChanged,onCompleted,state,retval) (This)->lpVtbl->BeginUninstall(This,onProgressChanged,onCompleted,state,retval) +#define IUpdateInstaller_EndInstall(This,value,retval) (This)->lpVtbl->EndInstall(This,value,retval) +#define IUpdateInstaller_EndUninstall(This,value,retval) (This)->lpVtbl->EndUninstall(This,value,retval) +#define IUpdateInstaller_Install(This,retval) (This)->lpVtbl->Install(This,retval) +#define IUpdateInstaller_RunWizard(This,dialogTitle,retval) (This)->lpVtbl->RunWizard(This,dialogTitle,retval) +#define IUpdateInstaller_get_IsBusy(This,retval) (This)->lpVtbl->get_IsBusy(This,retval) +#define IUpdateInstaller_Uninstall(This,retval) (This)->lpVtbl->Uninstall(This,retval) +#define IUpdateInstaller_get_AllowSourcePrompts(This,retval) (This)->lpVtbl->get_AllowSourcePrompts(This,retval) +#define IUpdateInstaller_put_AllowSourcePrompts(This,value) (This)->lpVtbl->put_AllowSourcePrompts(This,value) +#define IUpdateInstaller_get_RebootRequiredBeforeInstallation(This,retval) (This)->lpVtbl->get_RebootRequiredBeforeInstallation(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IUpdateInstaller_QueryInterface(IUpdateInstaller* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IUpdateInstaller_AddRef(IUpdateInstaller* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IUpdateInstaller_Release(IUpdateInstaller* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IUpdateInstaller_GetTypeInfoCount(IUpdateInstaller* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IUpdateInstaller_GetTypeInfo(IUpdateInstaller* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IUpdateInstaller_GetIDsOfNames(IUpdateInstaller* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IUpdateInstaller_Invoke(IUpdateInstaller* 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); +} +/*** IUpdateInstaller methods ***/ +static inline HRESULT IUpdateInstaller_get_ClientApplicationID(IUpdateInstaller* This,BSTR *retval) { + return This->lpVtbl->get_ClientApplicationID(This,retval); +} +static inline HRESULT IUpdateInstaller_put_ClientApplicationID(IUpdateInstaller* This,BSTR value) { + return This->lpVtbl->put_ClientApplicationID(This,value); +} +static inline HRESULT IUpdateInstaller_get_IsForced(IUpdateInstaller* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsForced(This,retval); +} +static inline HRESULT IUpdateInstaller_put_IsForced(IUpdateInstaller* This,VARIANT_BOOL value) { + return This->lpVtbl->put_IsForced(This,value); +} +static inline HRESULT IUpdateInstaller_get_ParentHwnd(IUpdateInstaller* This,HWND *retval) { + return This->lpVtbl->get_ParentHwnd(This,retval); +} +static inline HRESULT IUpdateInstaller_put_ParentHwnd(IUpdateInstaller* This,HWND value) { + return This->lpVtbl->put_ParentHwnd(This,value); +} +static inline HRESULT IUpdateInstaller_put_ParentWindow(IUpdateInstaller* This,IUnknown *value) { + return This->lpVtbl->put_ParentWindow(This,value); +} +static inline HRESULT IUpdateInstaller_get_ParentWindow(IUpdateInstaller* This,IUnknown **retval) { + return This->lpVtbl->get_ParentWindow(This,retval); +} +static inline HRESULT IUpdateInstaller_get_Updates(IUpdateInstaller* This,IUpdateCollection **retval) { + return This->lpVtbl->get_Updates(This,retval); +} +static inline HRESULT IUpdateInstaller_put_Updates(IUpdateInstaller* This,IUpdateCollection *value) { + return This->lpVtbl->put_Updates(This,value); +} +static inline HRESULT IUpdateInstaller_BeginInstall(IUpdateInstaller* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IInstallationJob **retval) { + return This->lpVtbl->BeginInstall(This,onProgressChanged,onCompleted,state,retval); +} +static inline HRESULT IUpdateInstaller_BeginUninstall(IUpdateInstaller* This,IUnknown *onProgressChanged,IUnknown *onCompleted,VARIANT state,IInstallationJob **retval) { + return This->lpVtbl->BeginUninstall(This,onProgressChanged,onCompleted,state,retval); +} +static inline HRESULT IUpdateInstaller_EndInstall(IUpdateInstaller* This,IInstallationJob *value,IInstallationResult **retval) { + return This->lpVtbl->EndInstall(This,value,retval); +} +static inline HRESULT IUpdateInstaller_EndUninstall(IUpdateInstaller* This,IInstallationJob *value,IInstallationResult **retval) { + return This->lpVtbl->EndUninstall(This,value,retval); +} +static inline HRESULT IUpdateInstaller_Install(IUpdateInstaller* This,IInstallationResult **retval) { + return This->lpVtbl->Install(This,retval); +} +static inline HRESULT IUpdateInstaller_RunWizard(IUpdateInstaller* This,BSTR dialogTitle,IInstallationResult **retval) { + return This->lpVtbl->RunWizard(This,dialogTitle,retval); +} +static inline HRESULT IUpdateInstaller_get_IsBusy(IUpdateInstaller* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_IsBusy(This,retval); +} +static inline HRESULT IUpdateInstaller_Uninstall(IUpdateInstaller* This,IInstallationResult **retval) { + return This->lpVtbl->Uninstall(This,retval); +} +static inline HRESULT IUpdateInstaller_get_AllowSourcePrompts(IUpdateInstaller* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_AllowSourcePrompts(This,retval); +} +static inline HRESULT IUpdateInstaller_put_AllowSourcePrompts(IUpdateInstaller* This,VARIANT_BOOL value) { + return This->lpVtbl->put_AllowSourcePrompts(This,value); +} +static inline HRESULT IUpdateInstaller_get_RebootRequiredBeforeInstallation(IUpdateInstaller* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_RebootRequiredBeforeInstallation(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __IUpdateInstaller_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * ISystemInformation interface + */ +#ifndef __ISystemInformation_INTERFACE_DEFINED__ +#define __ISystemInformation_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_ISystemInformation, 0xade87bf7, 0x7b56, 0x4275, 0x8f,0xab, 0xb9,0xb0,0xe5,0x91,0x84,0x4b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ade87bf7-7b56-4275-8fab-b9b0e591844b") +ISystemInformation : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE get_OemHardwareSupportLink( + BSTR *retval) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_RebootRequired( + VARIANT_BOOL *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(ISystemInformation, 0xade87bf7, 0x7b56, 0x4275, 0x8f,0xab, 0xb9,0xb0,0xe5,0x91,0x84,0x4b) +#endif +#else +typedef struct ISystemInformationVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + ISystemInformation *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + ISystemInformation *This); + + ULONG (STDMETHODCALLTYPE *Release)( + ISystemInformation *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + ISystemInformation *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + ISystemInformation *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + ISystemInformation *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + ISystemInformation *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** ISystemInformation methods ***/ + HRESULT (STDMETHODCALLTYPE *get_OemHardwareSupportLink)( + ISystemInformation *This, + BSTR *retval); + + HRESULT (STDMETHODCALLTYPE *get_RebootRequired)( + ISystemInformation *This, + VARIANT_BOOL *retval); + + END_INTERFACE +} ISystemInformationVtbl; + +interface ISystemInformation { + CONST_VTBL ISystemInformationVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define ISystemInformation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISystemInformation_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISystemInformation_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define ISystemInformation_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISystemInformation_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISystemInformation_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISystemInformation_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** ISystemInformation methods ***/ +#define ISystemInformation_get_OemHardwareSupportLink(This,retval) (This)->lpVtbl->get_OemHardwareSupportLink(This,retval) +#define ISystemInformation_get_RebootRequired(This,retval) (This)->lpVtbl->get_RebootRequired(This,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT ISystemInformation_QueryInterface(ISystemInformation* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG ISystemInformation_AddRef(ISystemInformation* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG ISystemInformation_Release(ISystemInformation* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT ISystemInformation_GetTypeInfoCount(ISystemInformation* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT ISystemInformation_GetTypeInfo(ISystemInformation* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT ISystemInformation_GetIDsOfNames(ISystemInformation* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT ISystemInformation_Invoke(ISystemInformation* 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); +} +/*** ISystemInformation methods ***/ +static inline HRESULT ISystemInformation_get_OemHardwareSupportLink(ISystemInformation* This,BSTR *retval) { + return This->lpVtbl->get_OemHardwareSupportLink(This,retval); +} +static inline HRESULT ISystemInformation_get_RebootRequired(ISystemInformation* This,VARIANT_BOOL *retval) { + return This->lpVtbl->get_RebootRequired(This,retval); +} +#endif +#endif + +#endif + + +#endif /* __ISystemInformation_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IWindowsUpdateAgentInfo interface + */ +#ifndef __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ +#define __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("85713fa1-7796-4fa2-be3b-e2d6124dd373") +IWindowsUpdateAgentInfo : public IDispatch +{ + virtual HRESULT STDMETHODCALLTYPE GetInfo( + VARIANT varInfoIdentifier, + VARIANT *retval) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IWindowsUpdateAgentInfo, 0x85713fa1, 0x7796, 0x4fa2, 0xbe,0x3b, 0xe2,0xd6,0x12,0x4d,0xd3,0x73) +#endif +#else +typedef struct IWindowsUpdateAgentInfoVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IWindowsUpdateAgentInfo *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IWindowsUpdateAgentInfo *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IWindowsUpdateAgentInfo *This); + + /*** IDispatch methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)( + IWindowsUpdateAgentInfo *This, + UINT *pctinfo); + + HRESULT (STDMETHODCALLTYPE *GetTypeInfo)( + IWindowsUpdateAgentInfo *This, + UINT iTInfo, + LCID lcid, + ITypeInfo **ppTInfo); + + HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)( + IWindowsUpdateAgentInfo *This, + REFIID riid, + LPOLESTR *rgszNames, + UINT cNames, + LCID lcid, + DISPID *rgDispId); + + HRESULT (STDMETHODCALLTYPE *Invoke)( + IWindowsUpdateAgentInfo *This, + DISPID dispIdMember, + REFIID riid, + LCID lcid, + WORD wFlags, + DISPPARAMS *pDispParams, + VARIANT *pVarResult, + EXCEPINFO *pExcepInfo, + UINT *puArgErr); + + /*** IWindowsUpdateAgentInfo methods ***/ + HRESULT (STDMETHODCALLTYPE *GetInfo)( + IWindowsUpdateAgentInfo *This, + VARIANT varInfoIdentifier, + VARIANT *retval); + + END_INTERFACE +} IWindowsUpdateAgentInfoVtbl; + +interface IWindowsUpdateAgentInfo { + CONST_VTBL IWindowsUpdateAgentInfoVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IWindowsUpdateAgentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWindowsUpdateAgentInfo_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWindowsUpdateAgentInfo_Release(This) (This)->lpVtbl->Release(This) +/*** IDispatch methods ***/ +#define IWindowsUpdateAgentInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWindowsUpdateAgentInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWindowsUpdateAgentInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWindowsUpdateAgentInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +/*** IWindowsUpdateAgentInfo methods ***/ +#define IWindowsUpdateAgentInfo_GetInfo(This,varInfoIdentifier,retval) (This)->lpVtbl->GetInfo(This,varInfoIdentifier,retval) +#else +/*** IUnknown methods ***/ +static inline HRESULT IWindowsUpdateAgentInfo_QueryInterface(IWindowsUpdateAgentInfo* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IWindowsUpdateAgentInfo_AddRef(IWindowsUpdateAgentInfo* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IWindowsUpdateAgentInfo_Release(IWindowsUpdateAgentInfo* This) { + return This->lpVtbl->Release(This); +} +/*** IDispatch methods ***/ +static inline HRESULT IWindowsUpdateAgentInfo_GetTypeInfoCount(IWindowsUpdateAgentInfo* This,UINT *pctinfo) { + return This->lpVtbl->GetTypeInfoCount(This,pctinfo); +} +static inline HRESULT IWindowsUpdateAgentInfo_GetTypeInfo(IWindowsUpdateAgentInfo* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) { + return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo); +} +static inline HRESULT IWindowsUpdateAgentInfo_GetIDsOfNames(IWindowsUpdateAgentInfo* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) { + return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId); +} +static inline HRESULT IWindowsUpdateAgentInfo_Invoke(IWindowsUpdateAgentInfo* 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); +} +/*** IWindowsUpdateAgentInfo methods ***/ +static inline HRESULT IWindowsUpdateAgentInfo_GetInfo(IWindowsUpdateAgentInfo* This,VARIANT varInfoIdentifier,VARIANT *retval) { + return This->lpVtbl->GetInfo(This,varInfoIdentifier,retval); +} +#endif +#endif + +#endif + + +#endif /* __IWindowsUpdateAgentInfo_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * AutomaticUpdates coclass + */ + +DEFINE_GUID(CLSID_AutomaticUpdates, 0xbfe18e9c, 0x6d87, 0x4450, 0xb3,0x7c, 0xe0,0x2f,0x0b,0x37,0x38,0x03); + +#ifdef __cplusplus +class DECLSPEC_UUID("bfe18e9c-6d87-4450-b37c-e02f0b373803") AutomaticUpdates; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(AutomaticUpdates, 0xbfe18e9c, 0x6d87, 0x4450, 0xb3,0x7c, 0xe0,0x2f,0x0b,0x37,0x38,0x03) +#endif +#endif + +/***************************************************************************** + * UpdateInstaller coclass + */ + +DEFINE_GUID(CLSID_UpdateInstaller, 0xd2e0fe7f, 0xd23e, 0x48e1, 0x93,0xc0, 0x6f,0xa8,0xcc,0x34,0x64,0x74); + +#ifdef __cplusplus +class DECLSPEC_UUID("d2e0fe7f-d23e-48e1-93c0-6fa8cc346474") UpdateInstaller; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UpdateInstaller, 0xd2e0fe7f, 0xd23e, 0x48e1, 0x93,0xc0, 0x6f,0xa8,0xcc,0x34,0x64,0x74) +#endif +#endif + +/***************************************************************************** + * UpdateSession coclass + */ + +DEFINE_GUID(CLSID_UpdateSession, 0x4cb43d7f, 0x7eee, 0x4906, 0x86,0x98, 0x60,0xda,0x1c,0x38,0xf2,0xfe); + +#ifdef __cplusplus +class DECLSPEC_UUID("4cb43d7f-7eee-4906-8698-60da1c38f2fe") UpdateSession; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(UpdateSession, 0x4cb43d7f, 0x7eee, 0x4906, 0x86,0x98, 0x60,0xda,0x1c,0x38,0xf2,0xfe) +#endif +#endif + +/***************************************************************************** + * SystemInformation coclass + */ + +DEFINE_GUID(CLSID_SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0xa3,0x6f,0x46,0x91,0x33); + +#ifdef __cplusplus +class DECLSPEC_UUID("c01b9ba0-bea7-41ba-b604-d0a36f469133") SystemInformation; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(SystemInformation, 0xc01b9ba0, 0xbea7, 0x41ba, 0xb6,0x04, 0xd0,0xa3,0x6f,0x46,0x91,0x33) +#endif +#endif + +/***************************************************************************** + * WindowsUpdateAgentInfo coclass + */ + +DEFINE_GUID(CLSID_WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d); + +#ifdef __cplusplus +class DECLSPEC_UUID("c2e88c2f-6f5b-4aaa-894b-55c847ad3a2d") WindowsUpdateAgentInfo; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WindowsUpdateAgentInfo, 0xc2e88c2f, 0x6f5b, 0x4aaa, 0x89,0x4b, 0x55,0xc8,0x47,0xad,0x3a,0x2d) +#endif +#endif + +#endif /* __WUApiLib_LIBRARY_DEFINED__ */ +/* Begin additional prototypes for all interfaces */ + +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 *); +ULONG __RPC_USER HWND_UserSize (ULONG *, ULONG, HWND *); +unsigned char * __RPC_USER HWND_UserMarshal (ULONG *, unsigned char *, HWND *); +unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *); +void __RPC_USER HWND_UserFree (ULONG *, HWND *); +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 *); + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __wuapi_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuerror.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuerror.h new file mode 100644 index 00000000..62048e1a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/wuerror.h @@ -0,0 +1,482 @@ +/** + * 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 _WUERROR_ +#define _WUERROR_ + +#ifdef RC_INVOKED +#define _HRESULT_TYPEDEF_(_sc) _sc +#else +#define _HRESULT_TYPEDEF_(_sc) ((HRESULT)_sc) +#endif + +#define WU_S_SERVICE_STOP _HRESULT_TYPEDEF_(0x00240001) +#define WU_S_SELFUPDATE _HRESULT_TYPEDEF_(0x00240002) +#define WU_S_UPDATE_ERROR _HRESULT_TYPEDEF_(0x00240003) +#define WU_S_MARKED_FOR_DISCONNECT _HRESULT_TYPEDEF_(0x00240004) +#define WU_S_REBOOT_REQUIRED _HRESULT_TYPEDEF_(0x00240005) +#define WU_S_ALREADY_INSTALLED _HRESULT_TYPEDEF_(0x00240006) +#define WU_S_ALREADY_UNINSTALLED _HRESULT_TYPEDEF_(0x00240007) +#define WU_S_ALREADY_DOWNLOADED _HRESULT_TYPEDEF_(0x00240008) +#define WU_S_SOME_UPDATES_SKIPPED_ON_BATTERY _HRESULT_TYPEDEF_(0x00240009) +#define WU_S_ALREADY_REVERTED _HRESULT_TYPEDEF_(0x0024000A) +#define WU_S_SEARCH_CRITERIA_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x00240010) +#define WU_S_UH_INSTALLSTILLPENDING _HRESULT_TYPEDEF_(0x00242015) +#define WU_S_UH_DOWNLOAD_SIZE_CALCULATED _HRESULT_TYPEDEF_(0x00242016) +#define WU_S_SIH_NOOP _HRESULT_TYPEDEF_(0x00245001) +#define WU_S_DM_ALREADYDOWNLOADING _HRESULT_TYPEDEF_(0x00246001) +#define WU_S_METADATA_SKIPPED_BY_ENFORCEMENTMODE _HRESULT_TYPEDEF_(0x00247101) +#define WU_S_METADATA_IGNORED_SIGNATURE_VERIFICATION _HRESULT_TYPEDEF_(0x00247102) +#define WU_S_SEARCH_LOAD_SHEDDING _HRESULT_TYPEDEF_(0x00248001) +#define WU_E_NO_SERVICE _HRESULT_TYPEDEF_(0x80240001) +#define WU_E_MAX_CAPACITY_REACHED _HRESULT_TYPEDEF_(0x80240002) +#define WU_E_UNKNOWN_ID _HRESULT_TYPEDEF_(0x80240003) +#define WU_E_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x80240004) +#define WU_E_RANGEOVERLAP _HRESULT_TYPEDEF_(0x80240005) +#define WU_E_TOOMANYRANGES _HRESULT_TYPEDEF_(0x80240006) +#define WU_E_INVALIDINDEX _HRESULT_TYPEDEF_(0x80240007) +#define WU_E_ITEMNOTFOUND _HRESULT_TYPEDEF_(0x80240008) +#define WU_E_OPERATIONINPROGRESS _HRESULT_TYPEDEF_(0x80240009) +#define WU_E_COULDNOTCANCEL _HRESULT_TYPEDEF_(0x8024000A) +#define WU_E_CALL_CANCELLED _HRESULT_TYPEDEF_(0x8024000B) +#define WU_E_NOOP _HRESULT_TYPEDEF_(0x8024000C) +#define WU_E_XML_MISSINGDATA _HRESULT_TYPEDEF_(0x8024000D) +#define WU_E_XML_INVALID _HRESULT_TYPEDEF_(0x8024000E) +#define WU_E_CYCLE_DETECTED _HRESULT_TYPEDEF_(0x8024000F) +#define WU_E_TOO_DEEP_RELATION _HRESULT_TYPEDEF_(0x80240010) +#define WU_E_INVALID_RELATIONSHIP _HRESULT_TYPEDEF_(0x80240011) +#define WU_E_REG_VALUE_INVALID _HRESULT_TYPEDEF_(0x80240012) +#define WU_E_DUPLICATE_ITEM _HRESULT_TYPEDEF_(0x80240013) +#define WU_E_INVALID_INSTALL_REQUESTED _HRESULT_TYPEDEF_(0x80240014) +#define WU_E_INSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240016) +#define WU_E_NOT_APPLICABLE _HRESULT_TYPEDEF_(0x80240017) +#define WU_E_NO_USERTOKEN _HRESULT_TYPEDEF_(0x80240018) +#define WU_E_EXCLUSIVE_INSTALL_CONFLICT _HRESULT_TYPEDEF_(0x80240019) +#define WU_E_POLICY_NOT_SET _HRESULT_TYPEDEF_(0x8024001A) +#define WU_E_SELFUPDATE_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024001B) +#define WU_E_INVALID_UPDATE _HRESULT_TYPEDEF_(0x8024001D) +#define WU_E_SERVICE_STOP _HRESULT_TYPEDEF_(0x8024001E) +#define WU_E_NO_CONNECTION _HRESULT_TYPEDEF_(0x8024001F) +#define WU_E_NO_INTERACTIVE_USER _HRESULT_TYPEDEF_(0x80240020) +#define WU_E_TIME_OUT _HRESULT_TYPEDEF_(0x80240021) +#define WU_E_ALL_UPDATES_FAILED _HRESULT_TYPEDEF_(0x80240022) +#define WU_E_EULAS_DECLINED _HRESULT_TYPEDEF_(0x80240023) +#define WU_E_NO_UPDATE _HRESULT_TYPEDEF_(0x80240024) +#define WU_E_USER_ACCESS_DISABLED _HRESULT_TYPEDEF_(0x80240025) +#define WU_E_INVALID_UPDATE_TYPE _HRESULT_TYPEDEF_(0x80240026) +#define WU_E_URL_TOO_LONG _HRESULT_TYPEDEF_(0x80240027) +#define WU_E_UNINSTALL_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240028) +#define WU_E_INVALID_PRODUCT_LICENSE _HRESULT_TYPEDEF_(0x80240029) +#define WU_E_MISSING_HANDLER _HRESULT_TYPEDEF_(0x8024002A) +#define WU_E_LEGACYSERVER _HRESULT_TYPEDEF_(0x8024002B) +#define WU_E_BIN_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002C) +#define WU_E_SOURCE_ABSENT _HRESULT_TYPEDEF_(0x8024002D) +#define WU_E_WU_DISABLED _HRESULT_TYPEDEF_(0x8024002E) +#define WU_E_CALL_CANCELLED_BY_POLICY _HRESULT_TYPEDEF_(0x8024002F) +#define WU_E_INVALID_PROXY_SERVER _HRESULT_TYPEDEF_(0x80240030) +#define WU_E_INVALID_FILE _HRESULT_TYPEDEF_(0x80240031) +#define WU_E_INVALID_CRITERIA _HRESULT_TYPEDEF_(0x80240032) +#define WU_E_EULA_UNAVAILABLE _HRESULT_TYPEDEF_(0x80240033) +#define WU_E_DOWNLOAD_FAILED _HRESULT_TYPEDEF_(0x80240034) +#define WU_E_UPDATE_NOT_PROCESSED _HRESULT_TYPEDEF_(0x80240035) +#define WU_E_INVALID_OPERATION _HRESULT_TYPEDEF_(0x80240036) +#define WU_E_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80240037) +#define WU_E_WINHTTP_INVALID_FILE _HRESULT_TYPEDEF_(0x80240038) +#define WU_E_TOO_MANY_RESYNC _HRESULT_TYPEDEF_(0x80240039) +#define WU_E_NO_SERVER_CORE_SUPPORT _HRESULT_TYPEDEF_(0x80240040) +#define WU_E_SYSPREP_IN_PROGRESS _HRESULT_TYPEDEF_(0x80240041) +#define WU_E_UNKNOWN_SERVICE _HRESULT_TYPEDEF_(0x80240042) +#define WU_E_NO_UI_SUPPORT _HRESULT_TYPEDEF_(0x80240043) +#define WU_E_PER_MACHINE_UPDATE_ACCESS_DENIED _HRESULT_TYPEDEF_(0x80240044) +#define WU_E_UNSUPPORTED_SEARCHSCOPE _HRESULT_TYPEDEF_(0x80240045) +#define WU_E_BAD_FILE_URL _HRESULT_TYPEDEF_(0x80240046) +#define WU_E_REVERT_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240047) +#define WU_E_INVALID_NOTIFICATION_INFO _HRESULT_TYPEDEF_(0x80240048) +#define WU_E_OUTOFRANGE _HRESULT_TYPEDEF_(0x80240049) +#define WU_E_SETUP_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024004A) +#define WU_E_ORPHANED_DOWNLOAD_JOB _HRESULT_TYPEDEF_(0x8024004B) +#define WU_E_LOW_BATTERY _HRESULT_TYPEDEF_(0x8024004C) +#define WU_E_INFRASTRUCTUREFILE_INVALID_FORMAT _HRESULT_TYPEDEF_(0x8024004D) +#define WU_E_INFRASTRUCTUREFILE_REQUIRES_SSL _HRESULT_TYPEDEF_(0x8024004E) +#define WU_E_IDLESHUTDOWN_OPCOUNT_DISCOVERY _HRESULT_TYPEDEF_(0x8024004F) +#define WU_E_IDLESHUTDOWN_OPCOUNT_SEARCH _HRESULT_TYPEDEF_(0x80240050) +#define WU_E_IDLESHUTDOWN_OPCOUNT_DOWNLOAD _HRESULT_TYPEDEF_(0x80240051) +#define WU_E_IDLESHUTDOWN_OPCOUNT_INSTALL _HRESULT_TYPEDEF_(0x80240052) +#define WU_E_IDLESHUTDOWN_OPCOUNT_OTHER _HRESULT_TYPEDEF_(0x80240053) +#define WU_E_INTERACTIVE_CALL_CANCELLED _HRESULT_TYPEDEF_(0x80240054) +#define WU_E_AU_CALL_CANCELLED _HRESULT_TYPEDEF_(0x80240055) +#define WU_E_SYSTEM_UNSUPPORTED _HRESULT_TYPEDEF_(0x80240056) +#define WU_E_NO_SUCH_HANDLER_PLUGIN _HRESULT_TYPEDEF_(0x80240057) +#define WU_E_INVALID_SERIALIZATION_VERSION _HRESULT_TYPEDEF_(0x80240058) +#define WU_E_NETWORK_COST_EXCEEDS_POLICY _HRESULT_TYPEDEF_(0x80240059) +#define WU_E_CALL_CANCELLED_BY_HIDE _HRESULT_TYPEDEF_(0x8024005A) +#define WU_E_CALL_CANCELLED_BY_INVALID _HRESULT_TYPEDEF_(0x8024005B) +#define WU_E_INVALID_VOLUMEID _HRESULT_TYPEDEF_(0x8024005C) +#define WU_E_UNRECOGNIZED_VOLUMEID _HRESULT_TYPEDEF_(0x8024005D) +#define WU_E_EXTENDEDERROR_NOTSET _HRESULT_TYPEDEF_(0x8024005E) +#define WU_E_EXTENDEDERROR_FAILED _HRESULT_TYPEDEF_(0x8024005F) +#define WU_E_IDLESHUTDOWN_OPCOUNT_SERVICEREGISTRATION _HRESULT_TYPEDEF_(0x80240060) +#define WU_E_FILETRUST_SHA2SIGNATURE_MISSING _HRESULT_TYPEDEF_(0x80240061) +#define WU_E_UPDATE_NOT_APPROVED _HRESULT_TYPEDEF_(0x80240062) +#define WU_E_CALL_CANCELLED_BY_INTERACTIVE_SEARCH _HRESULT_TYPEDEF_(0x80240063) +#define WU_E_INSTALL_JOB_RESUME_NOT_ALLOWED _HRESULT_TYPEDEF_(0x80240064) +#define WU_E_INSTALL_JOB_NOT_SUSPENDED _HRESULT_TYPEDEF_(0x80240065) +#define WU_E_INSTALL_USERCONTEXT_ACCESSDENIED _HRESULT_TYPEDEF_(0x80240066) +#define WU_E_UNEXPECTED _HRESULT_TYPEDEF_(0x80240FFF) +#define WU_E_MSI_WRONG_VERSION _HRESULT_TYPEDEF_(0x80241001) +#define WU_E_MSI_NOT_CONFIGURED _HRESULT_TYPEDEF_(0x80241002) +#define WU_E_MSP_DISABLED _HRESULT_TYPEDEF_(0x80241003) +#define WU_E_MSI_WRONG_APP_CONTEXT _HRESULT_TYPEDEF_(0x80241004) +#define WU_E_MSI_NOT_PRESENT _HRESULT_TYPEDEF_(0x80241005) +#define WU_E_MSP_UNEXPECTED _HRESULT_TYPEDEF_(0x80241FFF) +#define WU_E_PT_SOAPCLIENT_BASE _HRESULT_TYPEDEF_(0x80244000) +#define WU_E_PT_SOAPCLIENT_INITIALIZE _HRESULT_TYPEDEF_(0x80244001) +#define WU_E_PT_SOAPCLIENT_OUTOFMEMORY _HRESULT_TYPEDEF_(0x80244002) +#define WU_E_PT_SOAPCLIENT_GENERATE _HRESULT_TYPEDEF_(0x80244003) +#define WU_E_PT_SOAPCLIENT_CONNECT _HRESULT_TYPEDEF_(0x80244004) +#define WU_E_PT_SOAPCLIENT_SEND _HRESULT_TYPEDEF_(0x80244005) +#define WU_E_PT_SOAPCLIENT_SERVER _HRESULT_TYPEDEF_(0x80244006) +#define WU_E_PT_SOAPCLIENT_SOAPFAULT _HRESULT_TYPEDEF_(0x80244007) +#define WU_E_PT_SOAPCLIENT_PARSEFAULT _HRESULT_TYPEDEF_(0x80244008) +#define WU_E_PT_SOAPCLIENT_READ _HRESULT_TYPEDEF_(0x80244009) +#define WU_E_PT_SOAPCLIENT_PARSE _HRESULT_TYPEDEF_(0x8024400A) +#define WU_E_PT_SOAP_VERSION _HRESULT_TYPEDEF_(0x8024400B) +#define WU_E_PT_SOAP_MUST_UNDERSTAND _HRESULT_TYPEDEF_(0x8024400C) +#define WU_E_PT_SOAP_CLIENT _HRESULT_TYPEDEF_(0x8024400D) +#define WU_E_PT_SOAP_SERVER _HRESULT_TYPEDEF_(0x8024400E) +#define WU_E_PT_WMI_ERROR _HRESULT_TYPEDEF_(0x8024400F) +#define WU_E_PT_EXCEEDED_MAX_SERVER_TRIPS _HRESULT_TYPEDEF_(0x80244010) +#define WU_E_PT_SUS_SERVER_NOT_SET _HRESULT_TYPEDEF_(0x80244011) +#define WU_E_PT_DOUBLE_INITIALIZATION _HRESULT_TYPEDEF_(0x80244012) +#define WU_E_PT_INVALID_COMPUTER_NAME _HRESULT_TYPEDEF_(0x80244013) +#define WU_E_PT_REFRESH_CACHE_REQUIRED _HRESULT_TYPEDEF_(0x80244015) +#define WU_E_PT_HTTP_STATUS_BAD_REQUEST _HRESULT_TYPEDEF_(0x80244016) +#define WU_E_PT_HTTP_STATUS_DENIED _HRESULT_TYPEDEF_(0x80244017) +#define WU_E_PT_HTTP_STATUS_FORBIDDEN _HRESULT_TYPEDEF_(0x80244018) +#define WU_E_PT_HTTP_STATUS_NOT_FOUND _HRESULT_TYPEDEF_(0x80244019) +#define WU_E_PT_HTTP_STATUS_BAD_METHOD _HRESULT_TYPEDEF_(0x8024401A) +#define WU_E_PT_HTTP_STATUS_PROXY_AUTH_REQ _HRESULT_TYPEDEF_(0x8024401B) +#define WU_E_PT_HTTP_STATUS_REQUEST_TIMEOUT _HRESULT_TYPEDEF_(0x8024401C) +#define WU_E_PT_HTTP_STATUS_CONFLICT _HRESULT_TYPEDEF_(0x8024401D) +#define WU_E_PT_HTTP_STATUS_GONE _HRESULT_TYPEDEF_(0x8024401E) +#define WU_E_PT_HTTP_STATUS_SERVER_ERROR _HRESULT_TYPEDEF_(0x8024401F) +#define WU_E_PT_HTTP_STATUS_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244020) +#define WU_E_PT_HTTP_STATUS_BAD_GATEWAY _HRESULT_TYPEDEF_(0x80244021) +#define WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL _HRESULT_TYPEDEF_(0x80244022) +#define WU_E_PT_HTTP_STATUS_GATEWAY_TIMEOUT _HRESULT_TYPEDEF_(0x80244023) +#define WU_E_PT_HTTP_STATUS_VERSION_NOT_SUP _HRESULT_TYPEDEF_(0x80244024) +#define WU_E_PT_FILE_LOCATIONS_CHANGED _HRESULT_TYPEDEF_(0x80244025) +#define WU_E_PT_REGISTRATION_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80244026) +#define WU_E_PT_NO_AUTH_PLUGINS_REQUESTED _HRESULT_TYPEDEF_(0x80244027) +#define WU_E_PT_NO_AUTH_COOKIES_CREATED _HRESULT_TYPEDEF_(0x80244028) +#define WU_E_PT_INVALID_CONFIG_PROP _HRESULT_TYPEDEF_(0x80244029) +#define WU_E_PT_CONFIG_PROP_MISSING _HRESULT_TYPEDEF_(0x8024402A) +#define WU_E_PT_HTTP_STATUS_NOT_MAPPED _HRESULT_TYPEDEF_(0x8024402B) +#define WU_E_PT_WINHTTP_NAME_NOT_RESOLVED _HRESULT_TYPEDEF_(0x8024402C) +#define WU_E_PT_LOAD_SHEDDING _HRESULT_TYPEDEF_(0x8024402D) +#define WU_E_PT_SAME_REDIR_ID _HRESULT_TYPEDEF_(0x8024502D) +#define WU_E_PT_NO_MANAGED_RECOVER _HRESULT_TYPEDEF_(0x8024502E) +#define WU_E_PT_ECP_SUCCEEDED_WITH_ERRORS _HRESULT_TYPEDEF_(0x8024402F) +#define WU_E_PT_ECP_INIT_FAILED _HRESULT_TYPEDEF_(0x80244030) +#define WU_E_PT_ECP_INVALID_FILE_FORMAT _HRESULT_TYPEDEF_(0x80244031) +#define WU_E_PT_ECP_INVALID_METADATA _HRESULT_TYPEDEF_(0x80244032) +#define WU_E_PT_ECP_FAILURE_TO_EXTRACT_DIGEST _HRESULT_TYPEDEF_(0x80244033) +#define WU_E_PT_ECP_FAILURE_TO_DECOMPRESS_CAB_FILE _HRESULT_TYPEDEF_(0x80244034) +#define WU_E_PT_ECP_FILE_LOCATION_ERROR _HRESULT_TYPEDEF_(0x80244035) +#define WU_E_PT_CATALOG_SYNC_REQUIRED _HRESULT_TYPEDEF_(0x80240436) +#define WU_E_PT_SECURITY_VERIFICATION_FAILURE _HRESULT_TYPEDEF_(0x80240437) +#define WU_E_PT_ENDPOINT_UNREACHABLE _HRESULT_TYPEDEF_(0x80240438) +#define WU_E_PT_INVALID_FORMAT _HRESULT_TYPEDEF_(0x80240439) +#define WU_E_PT_INVALID_URL _HRESULT_TYPEDEF_(0x8024043A) +#define WU_E_PT_NWS_NOT_LOADED _HRESULT_TYPEDEF_(0x8024043B) +#define WU_E_PT_PROXY_AUTH_SCHEME_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8024043C) +#define WU_E_SERVICEPROP_NOTAVAIL _HRESULT_TYPEDEF_(0x8024043D) +#define WU_E_PT_ENDPOINT_REFRESH_REQUIRED _HRESULT_TYPEDEF_(0x8024043E) +#define WU_E_PT_ENDPOINTURL_NOTAVAIL _HRESULT_TYPEDEF_(0x8024043F) +#define WU_E_PT_ENDPOINT_DISCONNECTED _HRESULT_TYPEDEF_(0x80240440) +#define WU_E_PT_INVALID_OPERATION _HRESULT_TYPEDEF_(0x80240441) +#define WU_E_PT_OBJECT_FAULTED _HRESULT_TYPEDEF_(0x80240442) +#define WU_E_PT_NUMERIC_OVERFLOW _HRESULT_TYPEDEF_(0x80240443) +#define WU_E_PT_OPERATION_ABORTED _HRESULT_TYPEDEF_(0x80240444) +#define WU_E_PT_OPERATION_ABANDONED _HRESULT_TYPEDEF_(0x80240445) +#define WU_E_PT_QUOTA_EXCEEDED _HRESULT_TYPEDEF_(0x80240446) +#define WU_E_PT_NO_TRANSLATION_AVAILABLE _HRESULT_TYPEDEF_(0x80240447) +#define WU_E_PT_ADDRESS_IN_USE _HRESULT_TYPEDEF_(0x80240448) +#define WU_E_PT_ADDRESS_NOT_AVAILABLE _HRESULT_TYPEDEF_(0x80240449) +#define WU_E_PT_OTHER _HRESULT_TYPEDEF_(0x8024044A) +#define WU_E_PT_SECURITY_SYSTEM_FAILURE _HRESULT_TYPEDEF_(0x8024044B) +#define WU_E_PT_UNEXPECTED _HRESULT_TYPEDEF_(0x80244FFF) +#define WU_E_REDIRECTOR_LOAD_XML _HRESULT_TYPEDEF_(0x80245001) +#define WU_E_REDIRECTOR_S_FALSE _HRESULT_TYPEDEF_(0x80245002) +#define WU_E_REDIRECTOR_ID_SMALLER _HRESULT_TYPEDEF_(0x80245003) +#define WU_E_REDIRECTOR_UNKNOWN_SERVICE _HRESULT_TYPEDEF_(0x80245004) +#define WU_E_REDIRECTOR_UNSUPPORTED_CONTENTTYPE _HRESULT_TYPEDEF_(0x80245005) +#define WU_E_REDIRECTOR_INVALID_RESPONSE _HRESULT_TYPEDEF_(0x80245006) +#define WU_E_REDIRECTOR_ATTRPROVIDER_EXCEEDED_MAX_NAMEVALUE _HRESULT_TYPEDEF_(0x80245008) +#define WU_E_REDIRECTOR_ATTRPROVIDER_INVALID_NAME _HRESULT_TYPEDEF_(0x80245009) +#define WU_E_REDIRECTOR_ATTRPROVIDER_INVALID_VALUE _HRESULT_TYPEDEF_(0x8024500A) +#define WU_E_REDIRECTOR_SLS_GENERIC_ERROR _HRESULT_TYPEDEF_(0x8024500B) +#define WU_E_REDIRECTOR_CONNECT_POLICY _HRESULT_TYPEDEF_(0x8024500C) +#define WU_E_REDIRECTOR_ONLINE_DISALLOWED _HRESULT_TYPEDEF_(0x8024500D) +#define WU_E_REDIRECTOR_UNEXPECTED _HRESULT_TYPEDEF_(0x802450FF) +#define WU_E_SIH_VERIFY_DOWNLOAD_ENGINE _HRESULT_TYPEDEF_(0x80245101) +#define WU_E_SIH_VERIFY_DOWNLOAD_PAYLOAD _HRESULT_TYPEDEF_(0x80245102) +#define WU_E_SIH_VERIFY_STAGE_ENGINE _HRESULT_TYPEDEF_(0x80245103) +#define WU_E_SIH_VERIFY_STAGE_PAYLOAD _HRESULT_TYPEDEF_(0x80245104) +#define WU_E_SIH_ACTION_NOT_FOUND _HRESULT_TYPEDEF_(0x80245105) +#define WU_E_SIH_SLS_PARSE _HRESULT_TYPEDEF_(0x80245106) +#define WU_E_SIH_INVALIDHASH _HRESULT_TYPEDEF_(0x80245107) +#define WU_E_SIH_NO_ENGINE _HRESULT_TYPEDEF_(0x80245108) +#define WU_E_SIH_POST_REBOOT_INSTALL_FAILED _HRESULT_TYPEDEF_(0x80245109) +#define WU_E_SIH_POST_REBOOT_NO_CACHED_SLS_RESPONSE _HRESULT_TYPEDEF_(0x8024510A) +#define WU_E_SIH_PARSE _HRESULT_TYPEDEF_(0x8024510B) +#define WU_E_SIH_SECURITY _HRESULT_TYPEDEF_(0x8024510C) +#define WU_E_SIH_PPL _HRESULT_TYPEDEF_(0x8024510D) +#define WU_E_SIH_POLICY _HRESULT_TYPEDEF_(0x8024510E) +#define WU_E_SIH_STDEXCEPTION _HRESULT_TYPEDEF_(0x8024510F) +#define WU_E_SIH_NONSTDEXCEPTION _HRESULT_TYPEDEF_(0x80245110) +#define WU_E_SIH_ENGINE_EXCEPTION _HRESULT_TYPEDEF_(0x80245111) +#define WU_E_SIH_BLOCKED_FOR_PLATFORM _HRESULT_TYPEDEF_(0x80245112) +#define WU_E_SIH_ANOTHER_INSTANCE_RUNNING _HRESULT_TYPEDEF_(0x80245113) +#define WU_E_SIH_DNSRESILIENCY_OFF _HRESULT_TYPEDEF_(0x80245114) +#define WU_E_SIH_UNEXPECTED _HRESULT_TYPEDEF_(0x802451FF) +#define WU_E_DRV_PRUNED _HRESULT_TYPEDEF_(0x8024C001) +#define WU_E_DRV_NOPROP_OR_LEGACY _HRESULT_TYPEDEF_(0x8024C002) +#define WU_E_DRV_REG_MISMATCH _HRESULT_TYPEDEF_(0x8024C003) +#define WU_E_DRV_NO_METADATA _HRESULT_TYPEDEF_(0x8024C004) +#define WU_E_DRV_MISSING_ATTRIBUTE _HRESULT_TYPEDEF_(0x8024C005) +#define WU_E_DRV_SYNC_FAILED _HRESULT_TYPEDEF_(0x8024C006) +#define WU_E_DRV_NO_PRINTER_CONTENT _HRESULT_TYPEDEF_(0x8024C007) +#define WU_E_DRV_DEVICE_PROBLEM _HRESULT_TYPEDEF_(0x8024C008) +#define WU_E_DRV_UNEXPECTED _HRESULT_TYPEDEF_(0x8024CFFF) +#define WU_E_DS_SHUTDOWN _HRESULT_TYPEDEF_(0x80248000) +#define WU_E_DS_INUSE _HRESULT_TYPEDEF_(0x80248001) +#define WU_E_DS_INVALID _HRESULT_TYPEDEF_(0x80248002) +#define WU_E_DS_TABLEMISSING _HRESULT_TYPEDEF_(0x80248003) +#define WU_E_DS_TABLEINCORRECT _HRESULT_TYPEDEF_(0x80248004) +#define WU_E_DS_INVALIDTABLENAME _HRESULT_TYPEDEF_(0x80248005) +#define WU_E_DS_BADVERSION _HRESULT_TYPEDEF_(0x80248006) +#define WU_E_DS_NODATA _HRESULT_TYPEDEF_(0x80248007) +#define WU_E_DS_MISSINGDATA _HRESULT_TYPEDEF_(0x80248008) +#define WU_E_DS_MISSINGREF _HRESULT_TYPEDEF_(0x80248009) +#define WU_E_DS_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x8024800A) +#define WU_E_DS_CANTDELETE _HRESULT_TYPEDEF_(0x8024800B) +#define WU_E_DS_LOCKTIMEOUTEXPIRED _HRESULT_TYPEDEF_(0x8024800C) +#define WU_E_DS_NOCATEGORIES _HRESULT_TYPEDEF_(0x8024800D) +#define WU_E_DS_ROWEXISTS _HRESULT_TYPEDEF_(0x8024800E) +#define WU_E_DS_STOREFILELOCKED _HRESULT_TYPEDEF_(0x8024800F) +#define WU_E_DS_CANNOTREGISTER _HRESULT_TYPEDEF_(0x80248010) +#define WU_E_DS_UNABLETOSTART _HRESULT_TYPEDEF_(0x80248011) +#define WU_E_DS_DUPLICATEUPDATEID _HRESULT_TYPEDEF_(0x80248013) +#define WU_E_DS_UNKNOWNSERVICE _HRESULT_TYPEDEF_(0x80248014) +#define WU_E_DS_SERVICEEXPIRED _HRESULT_TYPEDEF_(0x80248015) +#define WU_E_DS_DECLINENOTALLOWED _HRESULT_TYPEDEF_(0x80248016) +#define WU_E_DS_TABLESESSIONMISMATCH _HRESULT_TYPEDEF_(0x80248017) +#define WU_E_DS_SESSIONLOCKMISMATCH _HRESULT_TYPEDEF_(0x80248018) +#define WU_E_DS_NEEDWINDOWSSERVICE _HRESULT_TYPEDEF_(0x80248019) +#define WU_E_DS_INVALIDOPERATION _HRESULT_TYPEDEF_(0x8024801A) +#define WU_E_DS_SCHEMAMISMATCH _HRESULT_TYPEDEF_(0x8024801B) +#define WU_E_DS_RESETREQUIRED _HRESULT_TYPEDEF_(0x8024801C) +#define WU_E_DS_IMPERSONATED _HRESULT_TYPEDEF_(0x8024801D) +#define WU_E_DS_DATANOTAVAILABLE _HRESULT_TYPEDEF_(0x8024801E) +#define WU_E_DS_DATANOTLOADED _HRESULT_TYPEDEF_(0x8024801F) +#define WU_E_DS_NODATA_NOSUCHREVISION _HRESULT_TYPEDEF_(0x80248020) +#define WU_E_DS_NODATA_NOSUCHUPDATE _HRESULT_TYPEDEF_(0x80248021) +#define WU_E_DS_NODATA_EULA _HRESULT_TYPEDEF_(0x80248022) +#define WU_E_DS_NODATA_SERVICE _HRESULT_TYPEDEF_(0x80248023) +#define WU_E_DS_NODATA_COOKIE _HRESULT_TYPEDEF_(0x80248024) +#define WU_E_DS_NODATA_TIMER _HRESULT_TYPEDEF_(0x80248025) +#define WU_E_DS_NODATA_CCR _HRESULT_TYPEDEF_(0x80248026) +#define WU_E_DS_NODATA_FILE _HRESULT_TYPEDEF_(0x80248027) +#define WU_E_DS_NODATA_DOWNLOADJOB _HRESULT_TYPEDEF_(0x80248028) +#define WU_E_DS_NODATA_TMI _HRESULT_TYPEDEF_(0x80248029) +#define WU_E_DS_UNEXPECTED _HRESULT_TYPEDEF_(0x80248FFF) +#define WU_E_INVENTORY_PARSEFAILED _HRESULT_TYPEDEF_(0x80249001) +#define WU_E_INVENTORY_GET_INVENTORY_TYPE_FAILED _HRESULT_TYPEDEF_(0x80249002) +#define WU_E_INVENTORY_RESULT_UPLOAD_FAILED _HRESULT_TYPEDEF_(0x80249003) +#define WU_E_INVENTORY_UNEXPECTED _HRESULT_TYPEDEF_(0x80249004) +#define WU_E_INVENTORY_WMI_ERROR _HRESULT_TYPEDEF_(0x80249005) +#define WU_E_AU_NOSERVICE _HRESULT_TYPEDEF_(0x8024A000) +#define WU_E_AU_NONLEGACYSERVER _HRESULT_TYPEDEF_(0x8024A002) +#define WU_E_AU_LEGACYCLIENTDISABLED _HRESULT_TYPEDEF_(0x8024A003) +#define WU_E_AU_PAUSED _HRESULT_TYPEDEF_(0x8024A004) +#define WU_E_AU_NO_REGISTERED_SERVICE _HRESULT_TYPEDEF_(0x8024A005) +#define WU_E_AU_DETECT_SVCID_MISMATCH _HRESULT_TYPEDEF_(0x8024A006) +#define WU_E_REBOOT_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024A007) +#define WU_E_AU_OOBE_IN_PROGRESS _HRESULT_TYPEDEF_(0x8024A008) +#define WU_E_AU_UNEXPECTED _HRESULT_TYPEDEF_(0x8024AFFF) +#define WU_E_UH_REMOTEUNAVAILABLE _HRESULT_TYPEDEF_(0x80242000) +#define WU_E_UH_LOCALONLY _HRESULT_TYPEDEF_(0x80242001) +#define WU_E_UH_UNKNOWNHANDLER _HRESULT_TYPEDEF_(0x80242002) +#define WU_E_UH_REMOTEALREADYACTIVE _HRESULT_TYPEDEF_(0x80242003) +#define WU_E_UH_DOESNOTSUPPORTACTION _HRESULT_TYPEDEF_(0x80242004) +#define WU_E_UH_WRONGHANDLER _HRESULT_TYPEDEF_(0x80242005) +#define WU_E_UH_INVALIDMETADATA _HRESULT_TYPEDEF_(0x80242006) +#define WU_E_UH_INSTALLERHUNG _HRESULT_TYPEDEF_(0x80242007) +#define WU_E_UH_OPERATIONCANCELLED _HRESULT_TYPEDEF_(0x80242008) +#define WU_E_UH_BADHANDLERXML _HRESULT_TYPEDEF_(0x80242009) +#define WU_E_UH_CANREQUIREINPUT _HRESULT_TYPEDEF_(0x8024200A) +#define WU_E_UH_INSTALLERFAILURE _HRESULT_TYPEDEF_(0x8024200B) +#define WU_E_UH_FALLBACKTOSELFCONTAINED _HRESULT_TYPEDEF_(0x8024200C) +#define WU_E_UH_NEEDANOTHERDOWNLOAD _HRESULT_TYPEDEF_(0x8024200D) +#define WU_E_UH_NOTIFYFAILURE _HRESULT_TYPEDEF_(0x8024200E) +#define WU_E_UH_INCONSISTENT_FILE_NAMES _HRESULT_TYPEDEF_(0x8024200F) +#define WU_E_UH_FALLBACKERROR _HRESULT_TYPEDEF_(0x80242010) +#define WU_E_UH_TOOMANYDOWNLOADREQUESTS _HRESULT_TYPEDEF_(0x80242011) +#define WU_E_UH_UNEXPECTEDCBSRESPONSE _HRESULT_TYPEDEF_(0x80242012) +#define WU_E_UH_BADCBSPACKAGEID _HRESULT_TYPEDEF_(0x80242013) +#define WU_E_UH_POSTREBOOTSTILLPENDING _HRESULT_TYPEDEF_(0x80242014) +#define WU_E_UH_POSTREBOOTRESULTUNKNOWN _HRESULT_TYPEDEF_(0x80242015) +#define WU_E_UH_POSTREBOOTUNEXPECTEDSTATE _HRESULT_TYPEDEF_(0x80242016) +#define WU_E_UH_NEW_SERVICING_STACK_REQUIRED _HRESULT_TYPEDEF_(0x80242017) +#define WU_E_UH_CALLED_BACK_FAILURE _HRESULT_TYPEDEF_(0x80242018) +#define WU_E_UH_CUSTOMINSTALLER_INVALID_SIGNATURE _HRESULT_TYPEDEF_(0x80242019) +#define WU_E_UH_UNSUPPORTED_INSTALLCONTEXT _HRESULT_TYPEDEF_(0x8024201A) +#define WU_E_UH_INVALID_TARGETSESSION _HRESULT_TYPEDEF_(0x8024201B) +#define WU_E_UH_DECRYPTFAILURE _HRESULT_TYPEDEF_(0x8024201C) +#define WU_E_UH_HANDLER_DISABLEDUNTILREBOOT _HRESULT_TYPEDEF_(0x8024201D) +#define WU_E_UH_APPX_NOT_PRESENT _HRESULT_TYPEDEF_(0x8024201E) +#define WU_E_UH_NOTREADYTOCOMMIT _HRESULT_TYPEDEF_(0x8024201F) +#define WU_E_UH_APPX_INVALID_PACKAGE_VOLUME _HRESULT_TYPEDEF_(0x80242020) +#define WU_E_UH_APPX_DEFAULT_PACKAGE_VOLUME_UNAVAILABLE _HRESULT_TYPEDEF_(0x80242021) +#define WU_E_UH_APPX_INSTALLED_PACKAGE_VOLUME_UNAVAILABLE _HRESULT_TYPEDEF_(0x80242022) +#define WU_E_UH_APPX_PACKAGE_FAMILY_NOT_FOUND _HRESULT_TYPEDEF_(0x80242023) +#define WU_E_UH_APPX_SYSTEM_VOLUME_NOT_FOUND _HRESULT_TYPEDEF_(0x80242024) +#define WU_E_UH_UNEXPECTED _HRESULT_TYPEDEF_(0x80242FFF) +#define WU_E_DM_URLNOTAVAILABLE _HRESULT_TYPEDEF_(0x80246001) +#define WU_E_DM_INCORRECTFILEHASH _HRESULT_TYPEDEF_(0x80246002) +#define WU_E_DM_UNKNOWNALGORITHM _HRESULT_TYPEDEF_(0x80246003) +#define WU_E_DM_NEEDDOWNLOADREQUEST _HRESULT_TYPEDEF_(0x80246004) +#define WU_E_DM_NONETWORK _HRESULT_TYPEDEF_(0x80246005) +#define WU_E_DM_WRONGBITSVERSION _HRESULT_TYPEDEF_(0x80246006) +#define WU_E_DM_NOTDOWNLOADED _HRESULT_TYPEDEF_(0x80246007) +#define WU_E_DM_FAILTOCONNECTTOBITS _HRESULT_TYPEDEF_(0x80246008) +#define WU_E_DM_BITSTRANSFERERROR _HRESULT_TYPEDEF_(0x80246009) +#define WU_E_DM_DOWNLOADLOCATIONCHANGED _HRESULT_TYPEDEF_(0x8024600A) +#define WU_E_DM_CONTENTCHANGED _HRESULT_TYPEDEF_(0x8024600B) +#define WU_E_DM_DOWNLOADLIMITEDBYUPDATESIZE _HRESULT_TYPEDEF_(0x8024600C) +#define WU_E_DM_UNAUTHORIZED _HRESULT_TYPEDEF_(0x8024600E) +#define WU_E_DM_BG_ERROR_TOKEN_REQUIRED _HRESULT_TYPEDEF_(0x8024600F) +#define WU_E_DM_DOWNLOADSANDBOXNOTFOUND _HRESULT_TYPEDEF_(0x80246010) +#define WU_E_DM_DOWNLOADFILEPATHUNKNOWN _HRESULT_TYPEDEF_(0x80246011) +#define WU_E_DM_DOWNLOADFILEMISSING _HRESULT_TYPEDEF_(0x80246012) +#define WU_E_DM_UPDATEREMOVED _HRESULT_TYPEDEF_(0x80246013) +#define WU_E_DM_READRANGEFAILED _HRESULT_TYPEDEF_(0x80246014) +#define WU_E_DM_UNAUTHORIZED_NO_USER _HRESULT_TYPEDEF_(0x80246016) +#define WU_E_DM_UNAUTHORIZED_LOCAL_USER _HRESULT_TYPEDEF_(0x80246017) +#define WU_E_DM_UNAUTHORIZED_DOMAIN_USER _HRESULT_TYPEDEF_(0x80246018) +#define WU_E_DM_UNAUTHORIZED_MSA_USER _HRESULT_TYPEDEF_(0x80246019) +#define WU_E_DM_FALLINGBACKTOBITS _HRESULT_TYPEDEF_(0x8024601A) +#define WU_E_DM_DOWNLOAD_VOLUME_CONFLICT _HRESULT_TYPEDEF_(0x8024601B) +#define WU_E_DM_SANDBOX_HASH_MISMATCH _HRESULT_TYPEDEF_(0x8024601C) +#define WU_E_DM_HARDRESERVEID_CONFLICT _HRESULT_TYPEDEF_(0x8024601D) +#define WU_E_DM_DOSVC_REQUIRED _HRESULT_TYPEDEF_(0x8024601E) +#define WU_E_DM_UNEXPECTED _HRESULT_TYPEDEF_(0x80246FFF) +#define WU_E_SETUP_INVALID_INFDATA _HRESULT_TYPEDEF_(0x8024D001) +#define WU_E_SETUP_INVALID_IDENTDATA _HRESULT_TYPEDEF_(0x8024D002) +#define WU_E_SETUP_ALREADY_INITIALIZED _HRESULT_TYPEDEF_(0x8024D003) +#define WU_E_SETUP_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024D004) +#define WU_E_SETUP_SOURCE_VERSION_MISMATCH _HRESULT_TYPEDEF_(0x8024D005) +#define WU_E_SETUP_TARGET_VERSION_GREATER _HRESULT_TYPEDEF_(0x8024D006) +#define WU_E_SETUP_REGISTRATION_FAILED _HRESULT_TYPEDEF_(0x8024D007) +#define WU_E_SELFUPDATE_SKIP_ON_FAILURE _HRESULT_TYPEDEF_(0x8024D008) +#define WU_E_SETUP_SKIP_UPDATE _HRESULT_TYPEDEF_(0x8024D009) +#define WU_E_SETUP_UNSUPPORTED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00A) +#define WU_E_SETUP_BLOCKED_CONFIGURATION _HRESULT_TYPEDEF_(0x8024D00B) +#define WU_E_SETUP_REBOOT_TO_FIX _HRESULT_TYPEDEF_(0x8024D00C) +#define WU_E_SETUP_ALREADYRUNNING _HRESULT_TYPEDEF_(0x8024D00D) +#define WU_E_SETUP_REBOOTREQUIRED _HRESULT_TYPEDEF_(0x8024D00E) +#define WU_E_SETUP_HANDLER_EXEC_FAILURE _HRESULT_TYPEDEF_(0x8024D00F) +#define WU_E_SETUP_INVALID_REGISTRY_DATA _HRESULT_TYPEDEF_(0x8024D010) +#define WU_E_SELFUPDATE_REQUIRED _HRESULT_TYPEDEF_(0x8024D011) +#define WU_E_SELFUPDATE_REQUIRED_ADMIN _HRESULT_TYPEDEF_(0x8024D012) +#define WU_E_SETUP_WRONG_SERVER_VERSION _HRESULT_TYPEDEF_(0x8024D013) +#define WU_E_SETUP_DEFERRABLE_REBOOT_PENDING _HRESULT_TYPEDEF_(0x8024D014) +#define WU_E_SETUP_NON_DEFERRABLE_REBOOT_PENDING _HRESULT_TYPEDEF_(0x8024D015) +#define WU_E_SETUP_FAIL _HRESULT_TYPEDEF_(0x8024D016) +#define WU_E_SETUP_UNEXPECTED _HRESULT_TYPEDEF_(0x8024DFFF) +#define WU_E_EE_UNKNOWN_EXPRESSION _HRESULT_TYPEDEF_(0x8024E001) +#define WU_E_EE_INVALID_EXPRESSION _HRESULT_TYPEDEF_(0x8024E002) +#define WU_E_EE_MISSING_METADATA _HRESULT_TYPEDEF_(0x8024E003) +#define WU_E_EE_INVALID_VERSION _HRESULT_TYPEDEF_(0x8024E004) +#define WU_E_EE_NOT_INITIALIZED _HRESULT_TYPEDEF_(0x8024E005) +#define WU_E_EE_INVALID_ATTRIBUTEDATA _HRESULT_TYPEDEF_(0x8024E006) +#define WU_E_EE_CLUSTER_ERROR _HRESULT_TYPEDEF_(0x8024E007) +#define WU_E_EE_UNEXPECTED _HRESULT_TYPEDEF_(0x8024EFFF) +#define WU_E_INSTALLATION_RESULTS_UNKNOWN_VERSION _HRESULT_TYPEDEF_(0x80243001) +#define WU_E_INSTALLATION_RESULTS_INVALID_DATA _HRESULT_TYPEDEF_(0x80243002) +#define WU_E_INSTALLATION_RESULTS_NOT_FOUND _HRESULT_TYPEDEF_(0x80243003) +#define WU_E_TRAYICON_FAILURE _HRESULT_TYPEDEF_(0x80243004) +#define WU_E_NON_UI_MODE _HRESULT_TYPEDEF_(0x80243FFD) +#define WU_E_WUCLTUI_UNSUPPORTED_VERSION _HRESULT_TYPEDEF_(0x80243FFE) +#define WU_E_AUCLIENT_UNEXPECTED _HRESULT_TYPEDEF_(0x80243FFF) +#define WU_E_REPORTER_EVENTCACHECORRUPT _HRESULT_TYPEDEF_(0x8024F001) +#define WU_E_REPORTER_EVENTNAMESPACEPARSEFAILED _HRESULT_TYPEDEF_(0x8024F002) +#define WU_E_INVALID_EVENT _HRESULT_TYPEDEF_(0x8024F003) +#define WU_E_SERVER_BUSY _HRESULT_TYPEDEF_(0x8024F004) +#define WU_E_CALLBACK_COOKIE_NOT_FOUND _HRESULT_TYPEDEF_(0x8024F005) +#define WU_E_REPORTER_UNEXPECTED _HRESULT_TYPEDEF_(0x8024FFFF) +#define WU_E_OL_INVALID_SCANFILE _HRESULT_TYPEDEF_(0x80247001) +#define WU_E_OL_NEWCLIENT_REQUIRED _HRESULT_TYPEDEF_(0x80247002) +#define WU_E_INVALID_EVENT_PAYLOAD _HRESULT_TYPEDEF_(0x80247003) +#define WU_E_INVALID_EVENT_PAYLOADSIZE _HRESULT_TYPEDEF_(0x80247004) +#define WU_E_SERVICE_NOT_REGISTERED _HRESULT_TYPEDEF_(0x80247005) +#define WU_E_OL_UNEXPECTED _HRESULT_TYPEDEF_(0x80247FFF) +#define WU_E_METADATA_NOOP _HRESULT_TYPEDEF_(0x80247100) +#define WU_E_METADATA_CONFIG_INVALID_BINARY_ENCODING _HRESULT_TYPEDEF_(0x80247101) +#define WU_E_METADATA_FETCH_CONFIG _HRESULT_TYPEDEF_(0x80247102) +#define WU_E_METADATA_INVALID_PARAMETER _HRESULT_TYPEDEF_(0x80247104) +#define WU_E_METADATA_UNEXPECTED _HRESULT_TYPEDEF_(0x80247105) +#define WU_E_METADATA_NO_VERIFICATION_DATA _HRESULT_TYPEDEF_(0x80247106) +#define WU_E_METADATA_BAD_FRAGMENTSIGNING_CONFIG _HRESULT_TYPEDEF_(0x80247107) +#define WU_E_METADATA_FAILURE_PROCESSING_FRAGMENTSIGNING_CONFIG _HRESULT_TYPEDEF_(0x80247108) +#define WU_E_METADATA_XML_MISSING _HRESULT_TYPEDEF_(0x80247120) +#define WU_E_METADATA_XML_FRAGMENTSIGNING_MISSING _HRESULT_TYPEDEF_(0x80247121) +#define WU_E_METADATA_XML_MODE_MISSING _HRESULT_TYPEDEF_(0x80247122) +#define WU_E_METADATA_XML_MODE_INVALID _HRESULT_TYPEDEF_(0x80247123) +#define WU_E_METADATA_XML_VALIDITY_INVALID _HRESULT_TYPEDEF_(0x80247124) +#define WU_E_METADATA_XML_LEAFCERT_MISSING _HRESULT_TYPEDEF_(0x80247125) +#define WU_E_METADATA_XML_INTERMEDIATECERT_MISSING _HRESULT_TYPEDEF_(0x80247126) +#define WU_E_METADATA_XML_LEAFCERT_ID_MISSING _HRESULT_TYPEDEF_(0x80247127) +#define WU_E_METADATA_XML_BASE64CERDATA_MISSING _HRESULT_TYPEDEF_(0x80247128) +#define WU_E_METADATA_BAD_SIGNATURE _HRESULT_TYPEDEF_(0x80247140) +#define WU_E_METADATA_UNSUPPORTED_HASH_ALG _HRESULT_TYPEDEF_(0x80247141) +#define WU_E_METADATA_SIGNATURE_VERIFY_FAILED _HRESULT_TYPEDEF_(0x80247142) +#define WU_E_METADATATRUST_CERTIFICATECHAIN_VERIFICATION _HRESULT_TYPEDEF_(0x80247150) +#define WU_E_METADATATRUST_UNTRUSTED_CERTIFICATECHAIN _HRESULT_TYPEDEF_(0x80247151) +#define WU_E_METADATA_TIMESTAMP_TOKEN_MISSING _HRESULT_TYPEDEF_(0x80247160) +#define WU_E_METADATA_TIMESTAMP_TOKEN_VERIFICATION_FAILED _HRESULT_TYPEDEF_(0x80247161) +#define WU_E_METADATA_TIMESTAMP_TOKEN_UNTRUSTED _HRESULT_TYPEDEF_(0x80247162) +#define WU_E_METADATA_TIMESTAMP_TOKEN_VALIDITY_WINDOW _HRESULT_TYPEDEF_(0x80247163) +#define WU_E_METADATA_TIMESTAMP_TOKEN_SIGNATURE _HRESULT_TYPEDEF_(0x80247164) +#define WU_E_METADATA_TIMESTAMP_TOKEN_CERTCHAIN _HRESULT_TYPEDEF_(0x80247165) +#define WU_E_METADATA_TIMESTAMP_TOKEN_REFRESHONLINE _HRESULT_TYPEDEF_(0x80247166) +#define WU_E_METADATA_TIMESTAMP_TOKEN_ALL_BAD _HRESULT_TYPEDEF_(0x80247167) +#define WU_E_METADATA_TIMESTAMP_TOKEN_NODATA _HRESULT_TYPEDEF_(0x80247168) +#define WU_E_METADATA_TIMESTAMP_TOKEN_CACHELOOKUP _HRESULT_TYPEDEF_(0x80247169) +#define WU_E_METADATA_TIMESTAMP_TOKEN_VALIDITYWINDOW_UNEXPECTED _HRESULT_TYPEDEF_(0x8024717E) +#define WU_E_METADATA_TIMESTAMP_TOKEN_UNEXPECTED _HRESULT_TYPEDEF_(0x8024717F) +#define WU_E_METADATA_CERT_MISSING _HRESULT_TYPEDEF_(0x80247180) +#define WU_E_METADATA_LEAFCERT_BAD_TRANSPORT_ENCODING _HRESULT_TYPEDEF_(0x80247181) +#define WU_E_METADATA_INTCERT_BAD_TRANSPORT_ENCODING _HRESULT_TYPEDEF_(0x80247182) +#define WU_E_METADATA_CERT_UNTRUSTED _HRESULT_TYPEDEF_(0x80247183) +#define WU_E_WUTASK_INPROGRESS _HRESULT_TYPEDEF_(0x8024B001) +#define WU_E_WUTASK_STATUS_DISABLED _HRESULT_TYPEDEF_(0x8024B002) +#define WU_E_WUTASK_NOT_STARTED _HRESULT_TYPEDEF_(0x8024B003) +#define WU_E_WUTASK_RETRY _HRESULT_TYPEDEF_(0x8024B004) +#define WU_E_WUTASK_CANCELINSTALL_DISALLOWED _HRESULT_TYPEDEF_(0x8024B005) +#define WU_E_UNKNOWN_HARDWARECAPABILITY _HRESULT_TYPEDEF_(0x8024B101) +#define WU_E_BAD_XML_HARDWARECAPABILITY _HRESULT_TYPEDEF_(0x8024B102) +#define WU_E_WMI_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x8024B103) +#define WU_E_UPDATE_MERGE_NOT_ALLOWED _HRESULT_TYPEDEF_(0x8024B104) +#define WU_E_SKIPPED_UPDATE_INSTALLATION _HRESULT_TYPEDEF_(0x8024B105) +#define WU_E_SLS_INVALID_REVISION _HRESULT_TYPEDEF_(0x8024B201) +#define WU_E_FILETRUST_DUALSIGNATURE_RSA _HRESULT_TYPEDEF_(0x8024B301) +#define WU_E_FILETRUST_DUALSIGNATURE_ECC _HRESULT_TYPEDEF_(0x8024B302) +#define WU_E_TRUST_SUBJECT_NOT_TRUSTED _HRESULT_TYPEDEF_(0x8024B303) +#define WU_E_TRUST_PROVIDER_UNKNOWN _HRESULT_TYPEDEF_(0x8024B304) + +#endif /* _WUERROR_ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/x3daudio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/x3daudio.h new file mode 100644 index 00000000..e9685127 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/x3daudio.h @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2015 Andrew Eikum for CodeWeavers + * + * 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 _X3DAUDIO_H +#define _X3DAUDIO_H + +typedef struct X3DAUDIO_VECTOR { + float x, y, z; +} X3DAUDIO_VECTOR; + +typedef struct X3DAUDIO_CONE { + float InnerAngle; + float OuterAngle; + float InnerVolume; + float OuterVolume; + float InnerLPF; + float OuterLPF; + float InnerReverb; + float OuterReverb; +} X3DAUDIO_CONE; + +typedef struct X3DAUDIO_DISTANCE_CURVE_POINT { + float Distance; + float DSPSetting; +} X3DAUDIO_DISTANCE_CURVE_POINT; + +typedef struct X3DAUDIO_DISTANCE_CURVE { + X3DAUDIO_DISTANCE_CURVE_POINT *pPoints; + UINT32 PointCount; +} X3DAUDIO_DISTANCE_CURVE; + +typedef struct X3DAUDIO_LISTENER { + X3DAUDIO_VECTOR OrientFront; + X3DAUDIO_VECTOR OrientTop; + X3DAUDIO_VECTOR Position; + X3DAUDIO_VECTOR Velocity; + X3DAUDIO_CONE *pCone; +} X3DAUDIO_LISTENER; + +typedef struct X3DAUDIO_EMITTER { + X3DAUDIO_CONE *pCone; + X3DAUDIO_VECTOR OrientFront; + X3DAUDIO_VECTOR OrientTop; + X3DAUDIO_VECTOR Position; + X3DAUDIO_VECTOR Velocity; + float InnerRadius; + float InnerRadiusAngle; + UINT32 ChannelCount; + float ChannelRadius; + float *pChannelAzimuths; + X3DAUDIO_DISTANCE_CURVE *pVolumeCurve; + X3DAUDIO_DISTANCE_CURVE *pLFECurve; + X3DAUDIO_DISTANCE_CURVE *pLPFDirectCurve; + X3DAUDIO_DISTANCE_CURVE *pLPFReverbCurve; + X3DAUDIO_DISTANCE_CURVE *pReverbCurve; + float CurveDistanceScaler; + float DopplerScaler; +} X3DAUDIO_EMITTER; + +typedef struct X3DAUDIO_DSP_SETTINGS { + float *pMatrixCoefficients; + float *pDelayTimes; + UINT32 SrcChannelCount; + UINT32 DstChannelCount; + float LPFDirectCoefficient; + float LPFReverbCoefficient; + float ReverbLevel; + float DopplerFactor; + float EmitterToListenerAngle; + float EmitterToListenerDistance; + float EmitterVelocityComponent; + float ListenerVelocityComponent; +} X3DAUDIO_DSP_SETTINGS; + +#define X3DAUDIO_CALCULATE_MATRIX 0x00000001 +#define X3DAUDIO_CALCULATE_DELAY 0x00000002 +#define X3DAUDIO_CALCULATE_LPF_DIRECT 0x00000004 +#define X3DAUDIO_CALCULATE_LPF_REVERB 0x00000008 +#define X3DAUDIO_CALCULATE_REVERB 0x00000010 +#define X3DAUDIO_CALCULATE_DOPPLER 0x00000020 +#define X3DAUDIO_CALCULATE_EMITTER_ANGLE 0x00000040 +#define X3DAUDIO_CALCULATE_ZEROCENTER 0x00010000 +#define X3DAUDIO_CALCULATE_REDIRECT_TO_LFE 0x00020000 + +#ifndef _SPEAKER_POSITIONS_ +#define _SPEAKER_POSITIONS_ +#define SPEAKER_FRONT_LEFT 0x00000001 +#define SPEAKER_FRONT_RIGHT 0x00000002 +#define SPEAKER_FRONT_CENTER 0x00000004 +#define SPEAKER_LOW_FREQUENCY 0x00000008 +#define SPEAKER_BACK_LEFT 0x00000010 +#define SPEAKER_BACK_RIGHT 0x00000020 +#define SPEAKER_FRONT_LEFT_OF_CENTER 0x00000040 +#define SPEAKER_FRONT_RIGHT_OF_CENTER 0x00000080 +#define SPEAKER_BACK_CENTER 0x00000100 +#define SPEAKER_SIDE_LEFT 0x00000200 +#define SPEAKER_SIDE_RIGHT 0x00000400 +#define SPEAKER_TOP_CENTER 0x00000800 +#define SPEAKER_TOP_FRONT_LEFT 0x00001000 +#define SPEAKER_TOP_FRONT_CENTER 0x00002000 +#define SPEAKER_TOP_FRONT_RIGHT 0x00004000 +#define SPEAKER_TOP_BACK_LEFT 0x00008000 +#define SPEAKER_TOP_BACK_CENTER 0x00010000 +#define SPEAKER_TOP_BACK_RIGHT 0x00020000 +#define SPEAKER_RESERVED 0x7ffc0000 +#define SPEAKER_ALL 0x80000000 +#endif + +#ifndef SPEAKER_MONO +#define SPEAKER_MONO SPEAKER_FRONT_CENTER +#define SPEAKER_STEREO (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT) +#define SPEAKER_2POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY) +#define SPEAKER_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_BACK_CENTER) +#define SPEAKER_QUAD (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) +#define SPEAKER_4POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_LOW_FREQUENCY | SPEAKER_BACK_LEFT | \ + SPEAKER_BACK_RIGHT) +#define SPEAKER_5POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ + SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT) +#define SPEAKER_7POINT1 (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ + SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_FRONT_LEFT_OF_CENTER | \ + SPEAKER_FRONT_RIGHT_OF_CENTER) +#define SPEAKER_5POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ + SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) +#define SPEAKER_7POINT1_SURROUND (SPEAKER_FRONT_LEFT | SPEAKER_FRONT_RIGHT | SPEAKER_FRONT_CENTER | SPEAKER_LOW_FREQUENCY | \ + SPEAKER_BACK_LEFT | SPEAKER_BACK_RIGHT | SPEAKER_SIDE_LEFT | SPEAKER_SIDE_RIGHT) +#endif + +#define X3DAUDIO_SPEED_OF_SOUND 343.5f + +#define X3DAUDIO_HANDLE_BYTESIZE 20 +typedef BYTE X3DAUDIO_HANDLE[X3DAUDIO_HANDLE_BYTESIZE]; + +HRESULT CDECL X3DAudioInitialize(UINT32, float, X3DAUDIO_HANDLE); +void CDECL X3DAudioCalculate(const X3DAUDIO_HANDLE, const X3DAUDIO_LISTENER *, + const X3DAUDIO_EMITTER *, UINT32, X3DAUDIO_DSP_SETTINGS *); + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xa.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xa.h new file mode 100644 index 00000000..7d2f18bf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xa.h @@ -0,0 +1,124 @@ +/** + * 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 XA_H +#define XA_H + +#define XIDDATASIZE 128 +#define MAXGTRIDSIZE 64 +#define MAXBQUALSIZE 64 + +#ifndef _XID_T_DEFINED +#define _XID_T_DEFINED +struct xid_t { + __LONG32 formatID; + __LONG32 gtrid_length; + __LONG32 bqual_length; + char data[XIDDATASIZE]; +}; +#endif + +typedef struct xid_t XID; + +#ifdef _TMPROTOTYPES +extern int __cdecl ax_reg(int,XID *,__LONG32); +extern int __cdecl ax_unreg(int,__LONG32); +#else +extern int __cdecl ax_reg(); +extern int __cdecl ax_unreg(); +#endif + +#define RMNAMESZ 32 + +#define MAXINFOSIZE 256 + +#ifndef _XA_SWITCH_T_DEFINED +#define _XA_SWITCH_T_DEFINED +struct xa_switch_t { + char name[RMNAMESZ]; + __LONG32 flags; + __LONG32 version; + int (__cdecl *xa_open_entry)(char *,int,__LONG32); + int (__cdecl *xa_close_entry)(char *,int,__LONG32); + int (__cdecl *xa_start_entry)(XID *,int,__LONG32); + int (__cdecl *xa_end_entry)(XID *,int,__LONG32); + int (__cdecl *xa_rollback_entry)(XID *,int,__LONG32); + int (__cdecl *xa_prepare_entry)(XID *,int,__LONG32); + int (__cdecl *xa_commit_entry)(XID *,int,__LONG32); + int (__cdecl *xa_recover_entry)(XID *,__LONG32,int,__LONG32); + + int (__cdecl *xa_forget_entry)(XID *,int,__LONG32); + int (__cdecl *xa_complete_entry)(int *,int *,int,__LONG32); + +}; + +typedef struct xa_switch_t xa_switch_t; +#endif + +#define TMNOFLAGS __MSABI_LONG(0x00000000) +#define TMREGISTER __MSABI_LONG(0x00000001) +#define TMNOMIGRATE __MSABI_LONG(0x00000002) +#define TMUSEASYNC __MSABI_LONG(0x00000004) + +#define TMASYNC __MSABI_LONG(0x80000000) +#define TMONEPHASE __MSABI_LONG(0x40000000) +#define TMFAIL __MSABI_LONG(0x20000000) +#define TMNOWAIT __MSABI_LONG(0x10000000) +#define TMRESUME __MSABI_LONG(0x08000000) +#define TMSUCCESS __MSABI_LONG(0x04000000) +#define TMSUSPEND __MSABI_LONG(0x02000000) +#define TMSTARTRSCAN __MSABI_LONG(0x01000000) +#define TMENDRSCAN __MSABI_LONG(0x00800000) +#define TMMULTIPLE __MSABI_LONG(0x00400000) +#define TMJOIN __MSABI_LONG(0x00200000) +#define TMMIGRATE __MSABI_LONG(0x00100000) + +#define TM_JOIN 2 +#define TM_RESUME 1 +#define TM_OK 0 +#define TMER_TMERR (-1) +#define TMER_INVAL (-2) +#define TMER_PROTO (-3) + +#define XA_RBBASE 100 +#define XA_RBROLLBACK XA_RBBASE +#define XA_RBCOMMFAIL XA_RBBASE+1 +#define XA_RBDEADLOCK XA_RBBASE+2 +#define XA_RBINTEGRITY XA_RBBASE+3 +#define XA_RBOTHER XA_RBBASE+4 +#define XA_RBPROTO XA_RBBASE+5 +#define XA_RBTIMEOUT XA_RBBASE+6 +#define XA_RBTRANSIENT XA_RBBASE+7 +#define XA_RBEND XA_RBTRANSIENT + +#define XA_NOMIGRATE 9 +#define XA_HEURHAZ 8 +#define XA_HEURCOM 7 +#define XA_HEURRB 6 +#define XA_HEURMIX 5 +#define XA_RETRY 4 +#define XA_RDONLY 3 +#define XA_OK 0 +#define XAER_ASYNC (-2) +#define XAER_RMERR (-3) +#define XAER_NOTA (-4) +#define XAER_INVAL (-5) +#define XAER_PROTO (-6) +#define XAER_RMFAIL (-7) +#define XAER_DUPID (-8) +#define XAER_OUTSIDE (-9) + +typedef int (__cdecl *XA_OPEN_EPT)(char *,int,__LONG32); +typedef int (__cdecl *XA_CLOSE_EPT)(char *,int,__LONG32); +typedef int (__cdecl *XA_START_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_END_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_ROLLBACK_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_PREPARE_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_COMMIT_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_RECOVER_EPT)(XID *,__LONG32,int,__LONG32); +typedef int (__cdecl *XA_FORGET_EPT)(XID *,int,__LONG32); +typedef int (__cdecl *XA_COMPLETE_EPT)(int *,int *,int,__LONG32); + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xamlom.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xamlom.h new file mode 100644 index 00000000..42f035a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xamlom.h @@ -0,0 +1,1429 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xamlom.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 __xamlom_h__ +#define __xamlom_h__ + +/* Forward declarations */ + +#ifndef __IVisualTreeServiceCallback_FWD_DEFINED__ +#define __IVisualTreeServiceCallback_FWD_DEFINED__ +typedef interface IVisualTreeServiceCallback IVisualTreeServiceCallback; +#ifdef __cplusplus +interface IVisualTreeServiceCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IVisualTreeServiceCallback2_FWD_DEFINED__ +#define __IVisualTreeServiceCallback2_FWD_DEFINED__ +typedef interface IVisualTreeServiceCallback2 IVisualTreeServiceCallback2; +#ifdef __cplusplus +interface IVisualTreeServiceCallback2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVisualTreeService_FWD_DEFINED__ +#define __IVisualTreeService_FWD_DEFINED__ +typedef interface IVisualTreeService IVisualTreeService; +#ifdef __cplusplus +interface IVisualTreeService; +#endif /* __cplusplus */ +#endif + +#ifndef __IXamlDiagnostics_FWD_DEFINED__ +#define __IXamlDiagnostics_FWD_DEFINED__ +typedef interface IXamlDiagnostics IXamlDiagnostics; +#ifdef __cplusplus +interface IXamlDiagnostics; +#endif /* __cplusplus */ +#endif + +#ifndef __IBitmapData_FWD_DEFINED__ +#define __IBitmapData_FWD_DEFINED__ +typedef interface IBitmapData IBitmapData; +#ifdef __cplusplus +interface IBitmapData; +#endif /* __cplusplus */ +#endif + +#ifndef __IVisualTreeService2_FWD_DEFINED__ +#define __IVisualTreeService2_FWD_DEFINED__ +typedef interface IVisualTreeService2 IVisualTreeService2; +#ifdef __cplusplus +interface IVisualTreeService2; +#endif /* __cplusplus */ +#endif + +#ifndef __IVisualTreeService3_FWD_DEFINED__ +#define __IVisualTreeService3_FWD_DEFINED__ +typedef interface IVisualTreeService3 IVisualTreeService3; +#ifdef __cplusplus +interface IVisualTreeService3; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef E_NOTFOUND +#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND) +#endif +#define E_UNKNOWNTYPE _HRESULT_TYPEDEF_(0x802b0028) +HRESULT WINAPI InitializeXamlDiagnostic(PCWSTR, DWORD, PCWSTR, PCWSTR, CLSID); +HRESULT WINAPI InitializeXamlDiagnosticsEx(PCWSTR, DWORD, PCWSTR, PCWSTR, CLSID, PCWSTR); +typedef MIDL_uhyper InstanceHandle; +typedef enum VisualMutationType { + Add = 0, + Remove = 1 +} VisualMutationType; +typedef enum BaseValueSource { + BaseValueSourceUnknown = 0, + BaseValueSourceDefault = 1, + BaseValueSourceBuiltInStyle = 2, + BaseValueSourceStyle = 3, + BaseValueSourceLocal = 4, + Inherited = 5, + DefaultStyleTrigger = 6, + TemplateTrigger = 7, + StyleTrigger = 8, + ImplicitStyleReference = 9, + ParentTemplate = 10, + ParentTemplateTrigger = 11, + Animation = 12, + Coercion = 13, + BaseValueSourceVisualState = 14 +} BaseValueSource; +typedef struct SourceInfo { + BSTR FileName; + unsigned int LineNumber; + unsigned int ColumnNumber; + unsigned int CharPosition; + BSTR Hash; +} SourceInfo; +typedef struct ParentChildRelation { + InstanceHandle Parent; + InstanceHandle Child; + unsigned int ChildIndex; +} ParentChildRelation; +typedef struct VisualElement { + InstanceHandle Handle; + SourceInfo SrcInfo; + BSTR Type; + BSTR Name; + unsigned int NumChildren; +} VisualElement; +typedef struct PropertyChainSource { + InstanceHandle Handle; + BSTR TargetType; + BSTR Name; + BaseValueSource Source; + SourceInfo SrcInfo; +} PropertyChainSource; +typedef enum MetadataBit { + None = 0x0, + IsValueHandle = 0x1, + IsPropertyReadOnly = 0x2, + IsValueCollection = 0x4, + IsValueCollectionReadOnly = 0x8, + IsValueBindingExpression = 0x10, + IsValueNull = 0x20, + IsValueHandleAndEvaluatedValue = 0x40 +} MetadataBit; +typedef struct PropertyChainValue { + unsigned int Index; + BSTR Type; + BSTR DeclaringType; + BSTR ValueType; + BSTR ItemType; + BSTR Value; + WINBOOL Overridden; + hyper MetadataBits; + BSTR PropertyName; + unsigned int PropertyChainIndex; +} PropertyChainValue; +typedef struct EnumType { + BSTR Name; + SAFEARRAY *ValueInts; + SAFEARRAY *ValueStrings; +} EnumType; +typedef struct CollectionElementValue { + unsigned int Index; + BSTR ValueType; + BSTR Value; + hyper MetadataBits; +} CollectionElementValue; +typedef enum RenderTargetBitmapOptions { + RenderTarget = 0, + RenderTargetAndChildren = 1 +} RenderTargetBitmapOptions; +typedef struct BitmapDescription { + unsigned int Width; + unsigned int Height; + DXGI_FORMAT Format; + DXGI_ALPHA_MODE AlphaMode; +} BitmapDescription; +typedef enum ResourceType { + ResourceTypeStatic = 0, + ResourceTypeTheme = 1 +} ResourceType; +typedef enum VisualElementState { + ErrorResolved = 0, + ErrorResourceNotFound = 1, + ErrorInvalidResource = 2 +} VisualElementState; +/***************************************************************************** + * IVisualTreeServiceCallback interface + */ +#ifndef __IVisualTreeServiceCallback_INTERFACE_DEFINED__ +#define __IVisualTreeServiceCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVisualTreeServiceCallback, 0xaa7a8931, 0x80e4, 0x4fec, 0x8f,0x3b, 0x55,0x3f,0x87,0xb4,0x96,0x6e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("aa7a8931-80e4-4fec-8f3b-553f87b4966e") +IVisualTreeServiceCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE OnVisualTreeChange( + ParentChildRelation relation, + VisualElement element, + VisualMutationType mutation_type) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVisualTreeServiceCallback, 0xaa7a8931, 0x80e4, 0x4fec, 0x8f,0x3b, 0x55,0x3f,0x87,0xb4,0x96,0x6e) +#endif +#else +typedef struct IVisualTreeServiceCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVisualTreeServiceCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVisualTreeServiceCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVisualTreeServiceCallback *This); + + /*** IVisualTreeServiceCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnVisualTreeChange)( + IVisualTreeServiceCallback *This, + ParentChildRelation relation, + VisualElement element, + VisualMutationType mutation_type); + + END_INTERFACE +} IVisualTreeServiceCallbackVtbl; + +interface IVisualTreeServiceCallback { + CONST_VTBL IVisualTreeServiceCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVisualTreeServiceCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVisualTreeServiceCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVisualTreeServiceCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IVisualTreeServiceCallback methods ***/ +#define IVisualTreeServiceCallback_OnVisualTreeChange(This,relation,element,mutation_type) (This)->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVisualTreeServiceCallback_QueryInterface(IVisualTreeServiceCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVisualTreeServiceCallback_AddRef(IVisualTreeServiceCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVisualTreeServiceCallback_Release(IVisualTreeServiceCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IVisualTreeServiceCallback methods ***/ +static inline HRESULT IVisualTreeServiceCallback_OnVisualTreeChange(IVisualTreeServiceCallback* This,ParentChildRelation relation,VisualElement element,VisualMutationType mutation_type) { + return This->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type); +} +#endif +#endif + +#endif + + +#endif /* __IVisualTreeServiceCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVisualTreeServiceCallback2 interface + */ +#ifndef __IVisualTreeServiceCallback2_INTERFACE_DEFINED__ +#define __IVisualTreeServiceCallback2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVisualTreeServiceCallback2, 0xbad9eb88, 0xae77, 0x4397, 0xb9,0x48, 0x5f,0xa2,0xdb,0x0a,0x19,0xea); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bad9eb88-ae77-4397-b948-5fa2db0a19ea") +IVisualTreeServiceCallback2 : public IVisualTreeServiceCallback +{ + virtual HRESULT STDMETHODCALLTYPE OnElementStateChanged( + InstanceHandle element, + VisualElementState element_state, + LPCWSTR context) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVisualTreeServiceCallback2, 0xbad9eb88, 0xae77, 0x4397, 0xb9,0x48, 0x5f,0xa2,0xdb,0x0a,0x19,0xea) +#endif +#else +typedef struct IVisualTreeServiceCallback2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVisualTreeServiceCallback2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVisualTreeServiceCallback2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVisualTreeServiceCallback2 *This); + + /*** IVisualTreeServiceCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *OnVisualTreeChange)( + IVisualTreeServiceCallback2 *This, + ParentChildRelation relation, + VisualElement element, + VisualMutationType mutation_type); + + /*** IVisualTreeServiceCallback2 methods ***/ + HRESULT (STDMETHODCALLTYPE *OnElementStateChanged)( + IVisualTreeServiceCallback2 *This, + InstanceHandle element, + VisualElementState element_state, + LPCWSTR context); + + END_INTERFACE +} IVisualTreeServiceCallback2Vtbl; + +interface IVisualTreeServiceCallback2 { + CONST_VTBL IVisualTreeServiceCallback2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVisualTreeServiceCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVisualTreeServiceCallback2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVisualTreeServiceCallback2_Release(This) (This)->lpVtbl->Release(This) +/*** IVisualTreeServiceCallback methods ***/ +#define IVisualTreeServiceCallback2_OnVisualTreeChange(This,relation,element,mutation_type) (This)->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type) +/*** IVisualTreeServiceCallback2 methods ***/ +#define IVisualTreeServiceCallback2_OnElementStateChanged(This,element,element_state,context) (This)->lpVtbl->OnElementStateChanged(This,element,element_state,context) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVisualTreeServiceCallback2_QueryInterface(IVisualTreeServiceCallback2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVisualTreeServiceCallback2_AddRef(IVisualTreeServiceCallback2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVisualTreeServiceCallback2_Release(IVisualTreeServiceCallback2* This) { + return This->lpVtbl->Release(This); +} +/*** IVisualTreeServiceCallback methods ***/ +static inline HRESULT IVisualTreeServiceCallback2_OnVisualTreeChange(IVisualTreeServiceCallback2* This,ParentChildRelation relation,VisualElement element,VisualMutationType mutation_type) { + return This->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type); +} +/*** IVisualTreeServiceCallback2 methods ***/ +static inline HRESULT IVisualTreeServiceCallback2_OnElementStateChanged(IVisualTreeServiceCallback2* This,InstanceHandle element,VisualElementState element_state,LPCWSTR context) { + return This->lpVtbl->OnElementStateChanged(This,element,element_state,context); +} +#endif +#endif + +#endif + + +#endif /* __IVisualTreeServiceCallback2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVisualTreeService interface + */ +#ifndef __IVisualTreeService_INTERFACE_DEFINED__ +#define __IVisualTreeService_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVisualTreeService, 0xa593b11a, 0xd17f, 0x48bb, 0x8f,0x66, 0x83,0x91,0x07,0x31,0xc8,0xa5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a593b11a-d17f-48bb-8f66-83910731c8a5") +IVisualTreeService : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE AdviseVisualTreeChange( + IVisualTreeServiceCallback *callback) = 0; + + virtual HRESULT STDMETHODCALLTYPE UnadviseVisualTreeChange( + IVisualTreeServiceCallback *callback) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEnums( + unsigned int *count, + EnumType **enums) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateInstance( + BSTR type_name, + BSTR value, + InstanceHandle *instance_handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPropertyValuesChain( + InstanceHandle instance_handle, + unsigned int *source_count, + PropertyChainSource **property_sources, + unsigned int *property_count, + PropertyChainValue **property_values) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProperty( + InstanceHandle instance_handle, + InstanceHandle value, + unsigned int property_index) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearProperty( + InstanceHandle instance_handle, + unsigned int property_index) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCollectionCount( + InstanceHandle instance_handle, + unsigned int *collection_size) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCollectionElements( + InstanceHandle instance_handle, + unsigned int start_index, + unsigned int *element_count, + CollectionElementValue **element_values) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddChild( + InstanceHandle parent, + InstanceHandle child, + unsigned int index) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveChild( + InstanceHandle parent, + unsigned int index) = 0; + + virtual HRESULT STDMETHODCALLTYPE ClearChildren( + InstanceHandle parent) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVisualTreeService, 0xa593b11a, 0xd17f, 0x48bb, 0x8f,0x66, 0x83,0x91,0x07,0x31,0xc8,0xa5) +#endif +#else +typedef struct IVisualTreeServiceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVisualTreeService *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVisualTreeService *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVisualTreeService *This); + + /*** IVisualTreeService methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)( + IVisualTreeService *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)( + IVisualTreeService *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *GetEnums)( + IVisualTreeService *This, + unsigned int *count, + EnumType **enums); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IVisualTreeService *This, + BSTR type_name, + BSTR value, + InstanceHandle *instance_handle); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)( + IVisualTreeService *This, + InstanceHandle instance_handle, + unsigned int *source_count, + PropertyChainSource **property_sources, + unsigned int *property_count, + PropertyChainValue **property_values); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IVisualTreeService *This, + InstanceHandle instance_handle, + InstanceHandle value, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *ClearProperty)( + IVisualTreeService *This, + InstanceHandle instance_handle, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *GetCollectionCount)( + IVisualTreeService *This, + InstanceHandle instance_handle, + unsigned int *collection_size); + + HRESULT (STDMETHODCALLTYPE *GetCollectionElements)( + IVisualTreeService *This, + InstanceHandle instance_handle, + unsigned int start_index, + unsigned int *element_count, + CollectionElementValue **element_values); + + HRESULT (STDMETHODCALLTYPE *AddChild)( + IVisualTreeService *This, + InstanceHandle parent, + InstanceHandle child, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *RemoveChild)( + IVisualTreeService *This, + InstanceHandle parent, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *ClearChildren)( + IVisualTreeService *This, + InstanceHandle parent); + + END_INTERFACE +} IVisualTreeServiceVtbl; + +interface IVisualTreeService { + CONST_VTBL IVisualTreeServiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVisualTreeService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVisualTreeService_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVisualTreeService_Release(This) (This)->lpVtbl->Release(This) +/*** IVisualTreeService methods ***/ +#define IVisualTreeService_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback) +#define IVisualTreeService_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback) +#define IVisualTreeService_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums) +#define IVisualTreeService_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle) +#define IVisualTreeService_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) +#define IVisualTreeService_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index) +#define IVisualTreeService_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index) +#define IVisualTreeService_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size) +#define IVisualTreeService_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values) +#define IVisualTreeService_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index) +#define IVisualTreeService_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index) +#define IVisualTreeService_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVisualTreeService_QueryInterface(IVisualTreeService* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVisualTreeService_AddRef(IVisualTreeService* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVisualTreeService_Release(IVisualTreeService* This) { + return This->lpVtbl->Release(This); +} +/*** IVisualTreeService methods ***/ +static inline HRESULT IVisualTreeService_AdviseVisualTreeChange(IVisualTreeService* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->AdviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService_UnadviseVisualTreeChange(IVisualTreeService* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->UnadviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService_GetEnums(IVisualTreeService* This,unsigned int *count,EnumType **enums) { + return This->lpVtbl->GetEnums(This,count,enums); +} +static inline HRESULT IVisualTreeService_CreateInstance(IVisualTreeService* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) { + return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle); +} +static inline HRESULT IVisualTreeService_GetPropertyValuesChain(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) { + return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values); +} +static inline HRESULT IVisualTreeService_SetProperty(IVisualTreeService* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) { + return This->lpVtbl->SetProperty(This,instance_handle,value,property_index); +} +static inline HRESULT IVisualTreeService_ClearProperty(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int property_index) { + return This->lpVtbl->ClearProperty(This,instance_handle,property_index); +} +static inline HRESULT IVisualTreeService_GetCollectionCount(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int *collection_size) { + return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size); +} +static inline HRESULT IVisualTreeService_GetCollectionElements(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) { + return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values); +} +static inline HRESULT IVisualTreeService_AddChild(IVisualTreeService* This,InstanceHandle parent,InstanceHandle child,unsigned int index) { + return This->lpVtbl->AddChild(This,parent,child,index); +} +static inline HRESULT IVisualTreeService_RemoveChild(IVisualTreeService* This,InstanceHandle parent,unsigned int index) { + return This->lpVtbl->RemoveChild(This,parent,index); +} +static inline HRESULT IVisualTreeService_ClearChildren(IVisualTreeService* This,InstanceHandle parent) { + return This->lpVtbl->ClearChildren(This,parent); +} +#endif +#endif + +#endif + + +#endif /* __IVisualTreeService_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXamlDiagnostics interface + */ +#ifndef __IXamlDiagnostics_INTERFACE_DEFINED__ +#define __IXamlDiagnostics_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXamlDiagnostics, 0x18c9e2b6, 0x3f43, 0x4116, 0x9f,0x2b, 0xff,0x93,0x5d,0x77,0x70,0xd2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("18c9e2b6-3f43-4116-9f2b-ff935d7770d2") +IXamlDiagnostics : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDispatcher( + IInspectable **dispatcher) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUiLayer( + IInspectable **layer) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetApplication( + IInspectable **application) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIInspectableFromHandle( + InstanceHandle instance_handle, + IInspectable **instance) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHandleFromIInspectable( + IInspectable *instance, + InstanceHandle *handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE HitTest( + RECT rect, + unsigned int *count, + InstanceHandle **instance_handles) = 0; + + virtual HRESULT STDMETHODCALLTYPE RegisterInstance( + IInspectable *instance, + InstanceHandle *instance_handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetInitializationData( + BSTR *initialization_data) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXamlDiagnostics, 0x18c9e2b6, 0x3f43, 0x4116, 0x9f,0x2b, 0xff,0x93,0x5d,0x77,0x70,0xd2) +#endif +#else +typedef struct IXamlDiagnosticsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXamlDiagnostics *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXamlDiagnostics *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXamlDiagnostics *This); + + /*** IXamlDiagnostics methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDispatcher)( + IXamlDiagnostics *This, + IInspectable **dispatcher); + + HRESULT (STDMETHODCALLTYPE *GetUiLayer)( + IXamlDiagnostics *This, + IInspectable **layer); + + HRESULT (STDMETHODCALLTYPE *GetApplication)( + IXamlDiagnostics *This, + IInspectable **application); + + HRESULT (STDMETHODCALLTYPE *GetIInspectableFromHandle)( + IXamlDiagnostics *This, + InstanceHandle instance_handle, + IInspectable **instance); + + HRESULT (STDMETHODCALLTYPE *GetHandleFromIInspectable)( + IXamlDiagnostics *This, + IInspectable *instance, + InstanceHandle *handle); + + HRESULT (STDMETHODCALLTYPE *HitTest)( + IXamlDiagnostics *This, + RECT rect, + unsigned int *count, + InstanceHandle **instance_handles); + + HRESULT (STDMETHODCALLTYPE *RegisterInstance)( + IXamlDiagnostics *This, + IInspectable *instance, + InstanceHandle *instance_handle); + + HRESULT (STDMETHODCALLTYPE *GetInitializationData)( + IXamlDiagnostics *This, + BSTR *initialization_data); + + END_INTERFACE +} IXamlDiagnosticsVtbl; + +interface IXamlDiagnostics { + CONST_VTBL IXamlDiagnosticsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXamlDiagnostics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXamlDiagnostics_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXamlDiagnostics_Release(This) (This)->lpVtbl->Release(This) +/*** IXamlDiagnostics methods ***/ +#define IXamlDiagnostics_GetDispatcher(This,dispatcher) (This)->lpVtbl->GetDispatcher(This,dispatcher) +#define IXamlDiagnostics_GetUiLayer(This,layer) (This)->lpVtbl->GetUiLayer(This,layer) +#define IXamlDiagnostics_GetApplication(This,application) (This)->lpVtbl->GetApplication(This,application) +#define IXamlDiagnostics_GetIInspectableFromHandle(This,instance_handle,instance) (This)->lpVtbl->GetIInspectableFromHandle(This,instance_handle,instance) +#define IXamlDiagnostics_GetHandleFromIInspectable(This,instance,handle) (This)->lpVtbl->GetHandleFromIInspectable(This,instance,handle) +#define IXamlDiagnostics_HitTest(This,rect,count,instance_handles) (This)->lpVtbl->HitTest(This,rect,count,instance_handles) +#define IXamlDiagnostics_RegisterInstance(This,instance,instance_handle) (This)->lpVtbl->RegisterInstance(This,instance,instance_handle) +#define IXamlDiagnostics_GetInitializationData(This,initialization_data) (This)->lpVtbl->GetInitializationData(This,initialization_data) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXamlDiagnostics_QueryInterface(IXamlDiagnostics* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXamlDiagnostics_AddRef(IXamlDiagnostics* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXamlDiagnostics_Release(IXamlDiagnostics* This) { + return This->lpVtbl->Release(This); +} +/*** IXamlDiagnostics methods ***/ +static inline HRESULT IXamlDiagnostics_GetDispatcher(IXamlDiagnostics* This,IInspectable **dispatcher) { + return This->lpVtbl->GetDispatcher(This,dispatcher); +} +static inline HRESULT IXamlDiagnostics_GetUiLayer(IXamlDiagnostics* This,IInspectable **layer) { + return This->lpVtbl->GetUiLayer(This,layer); +} +static inline HRESULT IXamlDiagnostics_GetApplication(IXamlDiagnostics* This,IInspectable **application) { + return This->lpVtbl->GetApplication(This,application); +} +static inline HRESULT IXamlDiagnostics_GetIInspectableFromHandle(IXamlDiagnostics* This,InstanceHandle instance_handle,IInspectable **instance) { + return This->lpVtbl->GetIInspectableFromHandle(This,instance_handle,instance); +} +static inline HRESULT IXamlDiagnostics_GetHandleFromIInspectable(IXamlDiagnostics* This,IInspectable *instance,InstanceHandle *handle) { + return This->lpVtbl->GetHandleFromIInspectable(This,instance,handle); +} +static inline HRESULT IXamlDiagnostics_HitTest(IXamlDiagnostics* This,RECT rect,unsigned int *count,InstanceHandle **instance_handles) { + return This->lpVtbl->HitTest(This,rect,count,instance_handles); +} +static inline HRESULT IXamlDiagnostics_RegisterInstance(IXamlDiagnostics* This,IInspectable *instance,InstanceHandle *instance_handle) { + return This->lpVtbl->RegisterInstance(This,instance,instance_handle); +} +static inline HRESULT IXamlDiagnostics_GetInitializationData(IXamlDiagnostics* This,BSTR *initialization_data) { + return This->lpVtbl->GetInitializationData(This,initialization_data); +} +#endif +#endif + +#endif + + +#endif /* __IXamlDiagnostics_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IBitmapData interface + */ +#ifndef __IBitmapData_INTERFACE_DEFINED__ +#define __IBitmapData_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IBitmapData, 0xd1a34ef2, 0xcad8, 0x4635, 0xa3,0xd2, 0xfc,0xda,0x8d,0x3f,0x3c,0xaf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d1a34ef2-cad8-4635-a3d2-fcda8d3f3caf") +IBitmapData : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CopyBytesTo( + unsigned int source_offset_in_bytes, + unsigned int max_bytes_to_copy, + byte *bytes, + unsigned int *number_of_bytes_copied) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStride( + unsigned int *stride) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBitmapDescription( + BitmapDescription *bitmap_description) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSourceBitmapDescription( + BitmapDescription *bitmap_description) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IBitmapData, 0xd1a34ef2, 0xcad8, 0x4635, 0xa3,0xd2, 0xfc,0xda,0x8d,0x3f,0x3c,0xaf) +#endif +#else +typedef struct IBitmapDataVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IBitmapData *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IBitmapData *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IBitmapData *This); + + /*** IBitmapData methods ***/ + HRESULT (STDMETHODCALLTYPE *CopyBytesTo)( + IBitmapData *This, + unsigned int source_offset_in_bytes, + unsigned int max_bytes_to_copy, + byte *bytes, + unsigned int *number_of_bytes_copied); + + HRESULT (STDMETHODCALLTYPE *GetStride)( + IBitmapData *This, + unsigned int *stride); + + HRESULT (STDMETHODCALLTYPE *GetBitmapDescription)( + IBitmapData *This, + BitmapDescription *bitmap_description); + + HRESULT (STDMETHODCALLTYPE *GetSourceBitmapDescription)( + IBitmapData *This, + BitmapDescription *bitmap_description); + + END_INTERFACE +} IBitmapDataVtbl; + +interface IBitmapData { + CONST_VTBL IBitmapDataVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IBitmapData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IBitmapData_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IBitmapData_Release(This) (This)->lpVtbl->Release(This) +/*** IBitmapData methods ***/ +#define IBitmapData_CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied) (This)->lpVtbl->CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied) +#define IBitmapData_GetStride(This,stride) (This)->lpVtbl->GetStride(This,stride) +#define IBitmapData_GetBitmapDescription(This,bitmap_description) (This)->lpVtbl->GetBitmapDescription(This,bitmap_description) +#define IBitmapData_GetSourceBitmapDescription(This,bitmap_description) (This)->lpVtbl->GetSourceBitmapDescription(This,bitmap_description) +#else +/*** IUnknown methods ***/ +static inline HRESULT IBitmapData_QueryInterface(IBitmapData* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IBitmapData_AddRef(IBitmapData* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IBitmapData_Release(IBitmapData* This) { + return This->lpVtbl->Release(This); +} +/*** IBitmapData methods ***/ +static inline HRESULT IBitmapData_CopyBytesTo(IBitmapData* This,unsigned int source_offset_in_bytes,unsigned int max_bytes_to_copy,byte *bytes,unsigned int *number_of_bytes_copied) { + return This->lpVtbl->CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied); +} +static inline HRESULT IBitmapData_GetStride(IBitmapData* This,unsigned int *stride) { + return This->lpVtbl->GetStride(This,stride); +} +static inline HRESULT IBitmapData_GetBitmapDescription(IBitmapData* This,BitmapDescription *bitmap_description) { + return This->lpVtbl->GetBitmapDescription(This,bitmap_description); +} +static inline HRESULT IBitmapData_GetSourceBitmapDescription(IBitmapData* This,BitmapDescription *bitmap_description) { + return This->lpVtbl->GetSourceBitmapDescription(This,bitmap_description); +} +#endif +#endif + +#endif + + +#endif /* __IBitmapData_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVisualTreeService2 interface + */ +#ifndef __IVisualTreeService2_INTERFACE_DEFINED__ +#define __IVisualTreeService2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVisualTreeService2, 0x130f5136, 0xec43, 0x4f61, 0x89,0xc7, 0x98,0x01,0xa3,0x6d,0x2e,0x95); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("130f5136-ec43-4f61-89c7-9801a36d2e95") +IVisualTreeService2 : public IVisualTreeService +{ + virtual HRESULT STDMETHODCALLTYPE GetPropertyIndex( + InstanceHandle object, + LPCWSTR property_name, + unsigned int *property_index) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProperty( + InstanceHandle object, + unsigned int property_index, + InstanceHandle *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReplaceResource( + InstanceHandle resource_dictionary, + InstanceHandle key, + InstanceHandle new_value) = 0; + + virtual HRESULT STDMETHODCALLTYPE RenderTargetBitmap( + InstanceHandle handle, + RenderTargetBitmapOptions options, + unsigned int max_pixel_width, + unsigned int max_pixel_height, + IBitmapData **bitmap_data) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVisualTreeService2, 0x130f5136, 0xec43, 0x4f61, 0x89,0xc7, 0x98,0x01,0xa3,0x6d,0x2e,0x95) +#endif +#else +typedef struct IVisualTreeService2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVisualTreeService2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVisualTreeService2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVisualTreeService2 *This); + + /*** IVisualTreeService methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)( + IVisualTreeService2 *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)( + IVisualTreeService2 *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *GetEnums)( + IVisualTreeService2 *This, + unsigned int *count, + EnumType **enums); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IVisualTreeService2 *This, + BSTR type_name, + BSTR value, + InstanceHandle *instance_handle); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)( + IVisualTreeService2 *This, + InstanceHandle instance_handle, + unsigned int *source_count, + PropertyChainSource **property_sources, + unsigned int *property_count, + PropertyChainValue **property_values); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IVisualTreeService2 *This, + InstanceHandle instance_handle, + InstanceHandle value, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *ClearProperty)( + IVisualTreeService2 *This, + InstanceHandle instance_handle, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *GetCollectionCount)( + IVisualTreeService2 *This, + InstanceHandle instance_handle, + unsigned int *collection_size); + + HRESULT (STDMETHODCALLTYPE *GetCollectionElements)( + IVisualTreeService2 *This, + InstanceHandle instance_handle, + unsigned int start_index, + unsigned int *element_count, + CollectionElementValue **element_values); + + HRESULT (STDMETHODCALLTYPE *AddChild)( + IVisualTreeService2 *This, + InstanceHandle parent, + InstanceHandle child, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *RemoveChild)( + IVisualTreeService2 *This, + InstanceHandle parent, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *ClearChildren)( + IVisualTreeService2 *This, + InstanceHandle parent); + + /*** IVisualTreeService2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPropertyIndex)( + IVisualTreeService2 *This, + InstanceHandle object, + LPCWSTR property_name, + unsigned int *property_index); + + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IVisualTreeService2 *This, + InstanceHandle object, + unsigned int property_index, + InstanceHandle *value); + + HRESULT (STDMETHODCALLTYPE *ReplaceResource)( + IVisualTreeService2 *This, + InstanceHandle resource_dictionary, + InstanceHandle key, + InstanceHandle new_value); + + HRESULT (STDMETHODCALLTYPE *RenderTargetBitmap)( + IVisualTreeService2 *This, + InstanceHandle handle, + RenderTargetBitmapOptions options, + unsigned int max_pixel_width, + unsigned int max_pixel_height, + IBitmapData **bitmap_data); + + END_INTERFACE +} IVisualTreeService2Vtbl; + +interface IVisualTreeService2 { + CONST_VTBL IVisualTreeService2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVisualTreeService2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVisualTreeService2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVisualTreeService2_Release(This) (This)->lpVtbl->Release(This) +/*** IVisualTreeService methods ***/ +#define IVisualTreeService2_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback) +#define IVisualTreeService2_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback) +#define IVisualTreeService2_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums) +#define IVisualTreeService2_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle) +#define IVisualTreeService2_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) +#define IVisualTreeService2_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index) +#define IVisualTreeService2_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index) +#define IVisualTreeService2_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size) +#define IVisualTreeService2_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values) +#define IVisualTreeService2_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index) +#define IVisualTreeService2_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index) +#define IVisualTreeService2_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent) +/*** IVisualTreeService2 methods ***/ +#define IVisualTreeService2_GetPropertyIndex(This,object,property_name,property_index) (This)->lpVtbl->GetPropertyIndex(This,object,property_name,property_index) +#define IVisualTreeService2_GetProperty(This,object,property_index,value) (This)->lpVtbl->GetProperty(This,object,property_index,value) +#define IVisualTreeService2_ReplaceResource(This,resource_dictionary,key,new_value) (This)->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value) +#define IVisualTreeService2_RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) (This)->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVisualTreeService2_QueryInterface(IVisualTreeService2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVisualTreeService2_AddRef(IVisualTreeService2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVisualTreeService2_Release(IVisualTreeService2* This) { + return This->lpVtbl->Release(This); +} +/*** IVisualTreeService methods ***/ +static inline HRESULT IVisualTreeService2_AdviseVisualTreeChange(IVisualTreeService2* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->AdviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService2_UnadviseVisualTreeChange(IVisualTreeService2* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->UnadviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService2_GetEnums(IVisualTreeService2* This,unsigned int *count,EnumType **enums) { + return This->lpVtbl->GetEnums(This,count,enums); +} +static inline HRESULT IVisualTreeService2_CreateInstance(IVisualTreeService2* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) { + return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle); +} +static inline HRESULT IVisualTreeService2_GetPropertyValuesChain(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) { + return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values); +} +static inline HRESULT IVisualTreeService2_SetProperty(IVisualTreeService2* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) { + return This->lpVtbl->SetProperty(This,instance_handle,value,property_index); +} +static inline HRESULT IVisualTreeService2_ClearProperty(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int property_index) { + return This->lpVtbl->ClearProperty(This,instance_handle,property_index); +} +static inline HRESULT IVisualTreeService2_GetCollectionCount(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int *collection_size) { + return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size); +} +static inline HRESULT IVisualTreeService2_GetCollectionElements(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) { + return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values); +} +static inline HRESULT IVisualTreeService2_AddChild(IVisualTreeService2* This,InstanceHandle parent,InstanceHandle child,unsigned int index) { + return This->lpVtbl->AddChild(This,parent,child,index); +} +static inline HRESULT IVisualTreeService2_RemoveChild(IVisualTreeService2* This,InstanceHandle parent,unsigned int index) { + return This->lpVtbl->RemoveChild(This,parent,index); +} +static inline HRESULT IVisualTreeService2_ClearChildren(IVisualTreeService2* This,InstanceHandle parent) { + return This->lpVtbl->ClearChildren(This,parent); +} +/*** IVisualTreeService2 methods ***/ +static inline HRESULT IVisualTreeService2_GetPropertyIndex(IVisualTreeService2* This,InstanceHandle object,LPCWSTR property_name,unsigned int *property_index) { + return This->lpVtbl->GetPropertyIndex(This,object,property_name,property_index); +} +static inline HRESULT IVisualTreeService2_GetProperty(IVisualTreeService2* This,InstanceHandle object,unsigned int property_index,InstanceHandle *value) { + return This->lpVtbl->GetProperty(This,object,property_index,value); +} +static inline HRESULT IVisualTreeService2_ReplaceResource(IVisualTreeService2* This,InstanceHandle resource_dictionary,InstanceHandle key,InstanceHandle new_value) { + return This->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value); +} +static inline HRESULT IVisualTreeService2_RenderTargetBitmap(IVisualTreeService2* This,InstanceHandle handle,RenderTargetBitmapOptions options,unsigned int max_pixel_width,unsigned int max_pixel_height,IBitmapData **bitmap_data) { + return This->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data); +} +#endif +#endif + +#endif + + +#endif /* __IVisualTreeService2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IVisualTreeService3 interface + */ +#ifndef __IVisualTreeService3_INTERFACE_DEFINED__ +#define __IVisualTreeService3_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IVisualTreeService3, 0x0e79c6e0, 0x85a0, 0x4be8, 0xb4,0x1a, 0x65,0x5c,0xf1,0xfd,0x19,0xbd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0e79c6e0-85a0-4be8-b41a-655cf1fd19bd") +IVisualTreeService3 : public IVisualTreeService2 +{ + virtual HRESULT STDMETHODCALLTYPE ResolveResource( + InstanceHandle resource_context, + LPCWSTR resource_name, + ResourceType resource_type, + unsigned int property_index) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionaryItem( + InstanceHandle dictionary_handle, + LPCWSTR resource_name, + WINBOOL resource_is_implicit_style, + InstanceHandle *resource_handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddDictionaryItem( + InstanceHandle dictionary_handle, + InstanceHandle resource_key, + InstanceHandle resource_handle) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveDictionaryItem( + InstanceHandle dictionary_handle, + InstanceHandle resource_key) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IVisualTreeService3, 0x0e79c6e0, 0x85a0, 0x4be8, 0xb4,0x1a, 0x65,0x5c,0xf1,0xfd,0x19,0xbd) +#endif +#else +typedef struct IVisualTreeService3Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IVisualTreeService3 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IVisualTreeService3 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IVisualTreeService3 *This); + + /*** IVisualTreeService methods ***/ + HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)( + IVisualTreeService3 *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)( + IVisualTreeService3 *This, + IVisualTreeServiceCallback *callback); + + HRESULT (STDMETHODCALLTYPE *GetEnums)( + IVisualTreeService3 *This, + unsigned int *count, + EnumType **enums); + + HRESULT (STDMETHODCALLTYPE *CreateInstance)( + IVisualTreeService3 *This, + BSTR type_name, + BSTR value, + InstanceHandle *instance_handle); + + HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)( + IVisualTreeService3 *This, + InstanceHandle instance_handle, + unsigned int *source_count, + PropertyChainSource **property_sources, + unsigned int *property_count, + PropertyChainValue **property_values); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IVisualTreeService3 *This, + InstanceHandle instance_handle, + InstanceHandle value, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *ClearProperty)( + IVisualTreeService3 *This, + InstanceHandle instance_handle, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *GetCollectionCount)( + IVisualTreeService3 *This, + InstanceHandle instance_handle, + unsigned int *collection_size); + + HRESULT (STDMETHODCALLTYPE *GetCollectionElements)( + IVisualTreeService3 *This, + InstanceHandle instance_handle, + unsigned int start_index, + unsigned int *element_count, + CollectionElementValue **element_values); + + HRESULT (STDMETHODCALLTYPE *AddChild)( + IVisualTreeService3 *This, + InstanceHandle parent, + InstanceHandle child, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *RemoveChild)( + IVisualTreeService3 *This, + InstanceHandle parent, + unsigned int index); + + HRESULT (STDMETHODCALLTYPE *ClearChildren)( + IVisualTreeService3 *This, + InstanceHandle parent); + + /*** IVisualTreeService2 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPropertyIndex)( + IVisualTreeService3 *This, + InstanceHandle object, + LPCWSTR property_name, + unsigned int *property_index); + + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IVisualTreeService3 *This, + InstanceHandle object, + unsigned int property_index, + InstanceHandle *value); + + HRESULT (STDMETHODCALLTYPE *ReplaceResource)( + IVisualTreeService3 *This, + InstanceHandle resource_dictionary, + InstanceHandle key, + InstanceHandle new_value); + + HRESULT (STDMETHODCALLTYPE *RenderTargetBitmap)( + IVisualTreeService3 *This, + InstanceHandle handle, + RenderTargetBitmapOptions options, + unsigned int max_pixel_width, + unsigned int max_pixel_height, + IBitmapData **bitmap_data); + + /*** IVisualTreeService3 methods ***/ + HRESULT (STDMETHODCALLTYPE *ResolveResource)( + IVisualTreeService3 *This, + InstanceHandle resource_context, + LPCWSTR resource_name, + ResourceType resource_type, + unsigned int property_index); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryItem)( + IVisualTreeService3 *This, + InstanceHandle dictionary_handle, + LPCWSTR resource_name, + WINBOOL resource_is_implicit_style, + InstanceHandle *resource_handle); + + HRESULT (STDMETHODCALLTYPE *AddDictionaryItem)( + IVisualTreeService3 *This, + InstanceHandle dictionary_handle, + InstanceHandle resource_key, + InstanceHandle resource_handle); + + HRESULT (STDMETHODCALLTYPE *RemoveDictionaryItem)( + IVisualTreeService3 *This, + InstanceHandle dictionary_handle, + InstanceHandle resource_key); + + END_INTERFACE +} IVisualTreeService3Vtbl; + +interface IVisualTreeService3 { + CONST_VTBL IVisualTreeService3Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IVisualTreeService3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IVisualTreeService3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IVisualTreeService3_Release(This) (This)->lpVtbl->Release(This) +/*** IVisualTreeService methods ***/ +#define IVisualTreeService3_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback) +#define IVisualTreeService3_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback) +#define IVisualTreeService3_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums) +#define IVisualTreeService3_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle) +#define IVisualTreeService3_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) +#define IVisualTreeService3_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index) +#define IVisualTreeService3_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index) +#define IVisualTreeService3_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size) +#define IVisualTreeService3_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values) +#define IVisualTreeService3_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index) +#define IVisualTreeService3_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index) +#define IVisualTreeService3_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent) +/*** IVisualTreeService2 methods ***/ +#define IVisualTreeService3_GetPropertyIndex(This,object,property_name,property_index) (This)->lpVtbl->GetPropertyIndex(This,object,property_name,property_index) +#define IVisualTreeService3_GetProperty(This,object,property_index,value) (This)->lpVtbl->GetProperty(This,object,property_index,value) +#define IVisualTreeService3_ReplaceResource(This,resource_dictionary,key,new_value) (This)->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value) +#define IVisualTreeService3_RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) (This)->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) +/*** IVisualTreeService3 methods ***/ +#define IVisualTreeService3_ResolveResource(This,resource_context,resource_name,resource_type,property_index) (This)->lpVtbl->ResolveResource(This,resource_context,resource_name,resource_type,property_index) +#define IVisualTreeService3_GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle) (This)->lpVtbl->GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle) +#define IVisualTreeService3_AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle) (This)->lpVtbl->AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle) +#define IVisualTreeService3_RemoveDictionaryItem(This,dictionary_handle,resource_key) (This)->lpVtbl->RemoveDictionaryItem(This,dictionary_handle,resource_key) +#else +/*** IUnknown methods ***/ +static inline HRESULT IVisualTreeService3_QueryInterface(IVisualTreeService3* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IVisualTreeService3_AddRef(IVisualTreeService3* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IVisualTreeService3_Release(IVisualTreeService3* This) { + return This->lpVtbl->Release(This); +} +/*** IVisualTreeService methods ***/ +static inline HRESULT IVisualTreeService3_AdviseVisualTreeChange(IVisualTreeService3* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->AdviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService3_UnadviseVisualTreeChange(IVisualTreeService3* This,IVisualTreeServiceCallback *callback) { + return This->lpVtbl->UnadviseVisualTreeChange(This,callback); +} +static inline HRESULT IVisualTreeService3_GetEnums(IVisualTreeService3* This,unsigned int *count,EnumType **enums) { + return This->lpVtbl->GetEnums(This,count,enums); +} +static inline HRESULT IVisualTreeService3_CreateInstance(IVisualTreeService3* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) { + return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle); +} +static inline HRESULT IVisualTreeService3_GetPropertyValuesChain(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) { + return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values); +} +static inline HRESULT IVisualTreeService3_SetProperty(IVisualTreeService3* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) { + return This->lpVtbl->SetProperty(This,instance_handle,value,property_index); +} +static inline HRESULT IVisualTreeService3_ClearProperty(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int property_index) { + return This->lpVtbl->ClearProperty(This,instance_handle,property_index); +} +static inline HRESULT IVisualTreeService3_GetCollectionCount(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int *collection_size) { + return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size); +} +static inline HRESULT IVisualTreeService3_GetCollectionElements(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) { + return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values); +} +static inline HRESULT IVisualTreeService3_AddChild(IVisualTreeService3* This,InstanceHandle parent,InstanceHandle child,unsigned int index) { + return This->lpVtbl->AddChild(This,parent,child,index); +} +static inline HRESULT IVisualTreeService3_RemoveChild(IVisualTreeService3* This,InstanceHandle parent,unsigned int index) { + return This->lpVtbl->RemoveChild(This,parent,index); +} +static inline HRESULT IVisualTreeService3_ClearChildren(IVisualTreeService3* This,InstanceHandle parent) { + return This->lpVtbl->ClearChildren(This,parent); +} +/*** IVisualTreeService2 methods ***/ +static inline HRESULT IVisualTreeService3_GetPropertyIndex(IVisualTreeService3* This,InstanceHandle object,LPCWSTR property_name,unsigned int *property_index) { + return This->lpVtbl->GetPropertyIndex(This,object,property_name,property_index); +} +static inline HRESULT IVisualTreeService3_GetProperty(IVisualTreeService3* This,InstanceHandle object,unsigned int property_index,InstanceHandle *value) { + return This->lpVtbl->GetProperty(This,object,property_index,value); +} +static inline HRESULT IVisualTreeService3_ReplaceResource(IVisualTreeService3* This,InstanceHandle resource_dictionary,InstanceHandle key,InstanceHandle new_value) { + return This->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value); +} +static inline HRESULT IVisualTreeService3_RenderTargetBitmap(IVisualTreeService3* This,InstanceHandle handle,RenderTargetBitmapOptions options,unsigned int max_pixel_width,unsigned int max_pixel_height,IBitmapData **bitmap_data) { + return This->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data); +} +/*** IVisualTreeService3 methods ***/ +static inline HRESULT IVisualTreeService3_ResolveResource(IVisualTreeService3* This,InstanceHandle resource_context,LPCWSTR resource_name,ResourceType resource_type,unsigned int property_index) { + return This->lpVtbl->ResolveResource(This,resource_context,resource_name,resource_type,property_index); +} +static inline HRESULT IVisualTreeService3_GetDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,LPCWSTR resource_name,WINBOOL resource_is_implicit_style,InstanceHandle *resource_handle) { + return This->lpVtbl->GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle); +} +static inline HRESULT IVisualTreeService3_AddDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,InstanceHandle resource_key,InstanceHandle resource_handle) { + return This->lpVtbl->AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle); +} +static inline HRESULT IVisualTreeService3_RemoveDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,InstanceHandle resource_key) { + return This->lpVtbl->RemoveDictionaryItem(This,dictionary_handle,resource_key); +} +#endif +#endif + +#endif + + +#endif /* __IVisualTreeService3_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + +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 /* __xamlom_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapo.h new file mode 100644 index 00000000..c0177b09 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapo.h @@ -0,0 +1,415 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xapo.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 __xapo_h__ +#define __xapo_h__ + +/* Forward declarations */ + +#ifndef __IXAPO_FWD_DEFINED__ +#define __IXAPO_FWD_DEFINED__ +typedef interface IXAPO IXAPO; +#ifdef __cplusplus +interface IXAPO; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAPOParameters_FWD_DEFINED__ +#define __IXAPOParameters_FWD_DEFINED__ +typedef interface IXAPOParameters IXAPOParameters; +#ifdef __cplusplus +interface IXAPOParameters; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define XAPO_FLAG_CHANNELS_MUST_MATCH 0x1 +#define XAPO_FLAG_FRAMERATE_MUST_MATCH 0x2 +#define XAPO_FLAG_BITSPERSAMPLE_MUST_MATCH 0x4 +#define XAPO_FLAG_BUFFERCOUNT_MUST_MATCH 0x8 +#define XAPO_FLAG_INPLACE_SUPPORTED 0x10 +#define XAPO_FLAG_INPLACE_REQUIRED 0x20 +#if 0 +typedef struct WAVEFORMATEX { + WORD wFormatTag; + WORD nChannels; + DWORD nSamplesPerSec; + DWORD nAvgBytesPerSec; + WORD nBlockAlign; + WORD wBitsPerSample; + WORD cbSize; +} WAVEFORMATEX; +typedef struct __WIDL_xapo_generated_name_0000000C { + WAVEFORMATEX Format; + union { + WORD wValidBitsPerSample; + WORD wSamplesPerBlock; + WORD wReserved; + } Samples; + DWORD dwChannelMask; + GUID SubFormat; +} WAVEFORMATEXTENSIBLE; +typedef struct __WIDL_xapo_generated_name_0000000C *PWAVEFORMATEXTENSIBLE; +#else +#include +#endif +typedef struct XAPO_REGISTRATION_PROPERTIES { + CLSID clsid; + WCHAR FriendlyName[256]; + WCHAR CopyrightInfo[256]; + UINT32 MajorVersion; + UINT32 MinorVersion; + UINT32 Flags; + UINT32 MinInputBufferCount; + UINT32 MaxInputBufferCount; + UINT32 MinOutputBufferCount; + UINT32 MaxOutputBufferCount; +} XAPO_REGISTRATION_PROPERTIES; +typedef struct XAPO20_REGISTRATION_PROPERTIES { + CLSID clsid; + WCHAR FriendlyName[256]; + WCHAR CopyrightInfo[256]; + UINT32 MajorVersion; + UINT32 MinorVersion; + UINT32 Flags; + UINT32 MinInputBufferCount; + UINT32 MaxInputBufferCount; + UINT32 MinOutputBufferCount; + UINT32 MaxOutputBufferCount; + UINT32 InterfaceCount; + IID InterfaceArray[1]; +} XAPO20_REGISTRATION_PROPERTIES; +typedef struct XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS { + const WAVEFORMATEX *pFormat; + UINT32 MaxFrameCount; +} XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS; +typedef enum XAPO_BUFFER_FLAGS { + XAPO_BUFFER_SILENT = 0, + XAPO_BUFFER_VALID = 1 +} XAPO_BUFFER_FLAGS; +typedef struct XAPO_PROCESS_BUFFER_PARAMETERS { + void *pBuffer; + XAPO_BUFFER_FLAGS BufferFlags; + UINT32 ValidFrameCount; +} XAPO_PROCESS_BUFFER_PARAMETERS; +/***************************************************************************** + * IXAPO interface + */ +#ifndef __IXAPO_INTERFACE_DEFINED__ +#define __IXAPO_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXAPO, 0xa410b984, 0x9839, 0x4819, 0xa0,0xbe, 0x28,0x56,0xae,0x6b,0x3a,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a410b984-9839-4819-a0be-2856ae6b3adb") +IXAPO : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetRegistrationProperties( + XAPO_REGISTRATION_PROPERTIES **props) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsInputFormatSupported( + const WAVEFORMATEX *output_fmt, + const WAVEFORMATEX *input_fmt, + WAVEFORMATEX **supported_fmt) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsOutputFormatSupported( + const WAVEFORMATEX *input_fmt, + const WAVEFORMATEX *output_fmt, + WAVEFORMATEX **supported_fmt) = 0; + + virtual HRESULT STDMETHODCALLTYPE Initialize( + const void *data, + UINT32 data_len) = 0; + + virtual void STDMETHODCALLTYPE Reset( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE LockForProcess( + UINT32 in_params_count, + const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params, + UINT32 out_params_count, + const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params) = 0; + + virtual void STDMETHODCALLTYPE UnlockForProcess( + ) = 0; + + virtual void STDMETHODCALLTYPE Process( + UINT32 in_params_count, + const XAPO_PROCESS_BUFFER_PARAMETERS *in_params, + UINT32 out_params_count, + XAPO_PROCESS_BUFFER_PARAMETERS *out_params, + WINBOOL enabled) = 0; + + virtual UINT32 STDMETHODCALLTYPE CalcInputFrames( + UINT32 output_frames) = 0; + + virtual UINT32 STDMETHODCALLTYPE CalcOutputFrames( + UINT32 input_frames) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXAPO, 0xa410b984, 0x9839, 0x4819, 0xa0,0xbe, 0x28,0x56,0xae,0x6b,0x3a,0xdb) +#endif +#else +typedef struct IXAPOVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXAPO *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXAPO *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXAPO *This); + + /*** IXAPO methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRegistrationProperties)( + IXAPO *This, + XAPO_REGISTRATION_PROPERTIES **props); + + HRESULT (STDMETHODCALLTYPE *IsInputFormatSupported)( + IXAPO *This, + const WAVEFORMATEX *output_fmt, + const WAVEFORMATEX *input_fmt, + WAVEFORMATEX **supported_fmt); + + HRESULT (STDMETHODCALLTYPE *IsOutputFormatSupported)( + IXAPO *This, + const WAVEFORMATEX *input_fmt, + const WAVEFORMATEX *output_fmt, + WAVEFORMATEX **supported_fmt); + + HRESULT (STDMETHODCALLTYPE *Initialize)( + IXAPO *This, + const void *data, + UINT32 data_len); + + void (STDMETHODCALLTYPE *Reset)( + IXAPO *This); + + HRESULT (STDMETHODCALLTYPE *LockForProcess)( + IXAPO *This, + UINT32 in_params_count, + const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params, + UINT32 out_params_count, + const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params); + + void (STDMETHODCALLTYPE *UnlockForProcess)( + IXAPO *This); + + void (STDMETHODCALLTYPE *Process)( + IXAPO *This, + UINT32 in_params_count, + const XAPO_PROCESS_BUFFER_PARAMETERS *in_params, + UINT32 out_params_count, + XAPO_PROCESS_BUFFER_PARAMETERS *out_params, + WINBOOL enabled); + + UINT32 (STDMETHODCALLTYPE *CalcInputFrames)( + IXAPO *This, + UINT32 output_frames); + + UINT32 (STDMETHODCALLTYPE *CalcOutputFrames)( + IXAPO *This, + UINT32 input_frames); + + END_INTERFACE +} IXAPOVtbl; + +interface IXAPO { + CONST_VTBL IXAPOVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXAPO_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAPO_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAPO_Release(This) (This)->lpVtbl->Release(This) +/*** IXAPO methods ***/ +#define IXAPO_GetRegistrationProperties(This,props) (This)->lpVtbl->GetRegistrationProperties(This,props) +#define IXAPO_IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt) (This)->lpVtbl->IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt) +#define IXAPO_IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt) (This)->lpVtbl->IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt) +#define IXAPO_Initialize(This,data,data_len) (This)->lpVtbl->Initialize(This,data,data_len) +#define IXAPO_Reset(This) (This)->lpVtbl->Reset(This) +#define IXAPO_LockForProcess(This,in_params_count,in_params,out_params_count,out_params) (This)->lpVtbl->LockForProcess(This,in_params_count,in_params,out_params_count,out_params) +#define IXAPO_UnlockForProcess(This) (This)->lpVtbl->UnlockForProcess(This) +#define IXAPO_Process(This,in_params_count,in_params,out_params_count,out_params,enabled) (This)->lpVtbl->Process(This,in_params_count,in_params,out_params_count,out_params,enabled) +#define IXAPO_CalcInputFrames(This,output_frames) (This)->lpVtbl->CalcInputFrames(This,output_frames) +#define IXAPO_CalcOutputFrames(This,input_frames) (This)->lpVtbl->CalcOutputFrames(This,input_frames) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXAPO_QueryInterface(IXAPO* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXAPO_AddRef(IXAPO* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXAPO_Release(IXAPO* This) { + return This->lpVtbl->Release(This); +} +/*** IXAPO methods ***/ +static inline HRESULT IXAPO_GetRegistrationProperties(IXAPO* This,XAPO_REGISTRATION_PROPERTIES **props) { + return This->lpVtbl->GetRegistrationProperties(This,props); +} +static inline HRESULT IXAPO_IsInputFormatSupported(IXAPO* This,const WAVEFORMATEX *output_fmt,const WAVEFORMATEX *input_fmt,WAVEFORMATEX **supported_fmt) { + return This->lpVtbl->IsInputFormatSupported(This,output_fmt,input_fmt,supported_fmt); +} +static inline HRESULT IXAPO_IsOutputFormatSupported(IXAPO* This,const WAVEFORMATEX *input_fmt,const WAVEFORMATEX *output_fmt,WAVEFORMATEX **supported_fmt) { + return This->lpVtbl->IsOutputFormatSupported(This,input_fmt,output_fmt,supported_fmt); +} +static inline HRESULT IXAPO_Initialize(IXAPO* This,const void *data,UINT32 data_len) { + return This->lpVtbl->Initialize(This,data,data_len); +} +static inline void IXAPO_Reset(IXAPO* This) { + This->lpVtbl->Reset(This); +} +static inline HRESULT IXAPO_LockForProcess(IXAPO* This,UINT32 in_params_count,const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *in_params,UINT32 out_params_count,const XAPO_LOCKFORPROCESS_BUFFER_PARAMETERS *out_params) { + return This->lpVtbl->LockForProcess(This,in_params_count,in_params,out_params_count,out_params); +} +static inline void IXAPO_UnlockForProcess(IXAPO* This) { + This->lpVtbl->UnlockForProcess(This); +} +static inline void IXAPO_Process(IXAPO* This,UINT32 in_params_count,const XAPO_PROCESS_BUFFER_PARAMETERS *in_params,UINT32 out_params_count,XAPO_PROCESS_BUFFER_PARAMETERS *out_params,WINBOOL enabled) { + This->lpVtbl->Process(This,in_params_count,in_params,out_params_count,out_params,enabled); +} +static inline UINT32 IXAPO_CalcInputFrames(IXAPO* This,UINT32 output_frames) { + return This->lpVtbl->CalcInputFrames(This,output_frames); +} +static inline UINT32 IXAPO_CalcOutputFrames(IXAPO* This,UINT32 input_frames) { + return This->lpVtbl->CalcOutputFrames(This,input_frames); +} +#endif +#endif + +#endif + + +#endif /* __IXAPO_INTERFACE_DEFINED__ */ + +DEFINE_GUID(IID_IXAPO27, 0xa90bc001, 0xe897, 0xe897, 0x55, 0xe4, 0x9e, 0x47, 0x00, 0x00, 0x00, 0x00); +/***************************************************************************** + * IXAPOParameters interface + */ +#ifndef __IXAPOParameters_INTERFACE_DEFINED__ +#define __IXAPOParameters_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXAPOParameters, 0x26d95c66, 0x80f2, 0x499a, 0xad,0x54, 0x5a,0xe7,0xf0,0x1c,0x6d,0x98); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("26d95c66-80f2-499a-ad54-5ae7f01c6d98") +IXAPOParameters : public IUnknown +{ + virtual void STDMETHODCALLTYPE SetParameters( + const void *params, + UINT32 params_len) = 0; + + virtual void STDMETHODCALLTYPE GetParameters( + void *params, + UINT32 params_len) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXAPOParameters, 0x26d95c66, 0x80f2, 0x499a, 0xad,0x54, 0x5a,0xe7,0xf0,0x1c,0x6d,0x98) +#endif +#else +typedef struct IXAPOParametersVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXAPOParameters *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXAPOParameters *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXAPOParameters *This); + + /*** IXAPOParameters methods ***/ + void (STDMETHODCALLTYPE *SetParameters)( + IXAPOParameters *This, + const void *params, + UINT32 params_len); + + void (STDMETHODCALLTYPE *GetParameters)( + IXAPOParameters *This, + void *params, + UINT32 params_len); + + END_INTERFACE +} IXAPOParametersVtbl; + +interface IXAPOParameters { + CONST_VTBL IXAPOParametersVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXAPOParameters_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAPOParameters_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAPOParameters_Release(This) (This)->lpVtbl->Release(This) +/*** IXAPOParameters methods ***/ +#define IXAPOParameters_SetParameters(This,params,params_len) (This)->lpVtbl->SetParameters(This,params,params_len) +#define IXAPOParameters_GetParameters(This,params,params_len) (This)->lpVtbl->GetParameters(This,params,params_len) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXAPOParameters_QueryInterface(IXAPOParameters* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXAPOParameters_AddRef(IXAPOParameters* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXAPOParameters_Release(IXAPOParameters* This) { + return This->lpVtbl->Release(This); +} +/*** IXAPOParameters methods ***/ +static inline void IXAPOParameters_SetParameters(IXAPOParameters* This,const void *params,UINT32 params_len) { + This->lpVtbl->SetParameters(This,params,params_len); +} +static inline void IXAPOParameters_GetParameters(IXAPOParameters* This,void *params,UINT32 params_len) { + This->lpVtbl->GetParameters(This,params,params_len); +} +#endif +#endif + +#endif + + +#endif /* __IXAPOParameters_INTERFACE_DEFINED__ */ + +DEFINE_GUID(IID_IXAPO27Parameters, 0xa90bc001, 0xe897, 0xe897, 0x55, 0xe4, 0x9e, 0x47, 0x00, 0x00, 0x00, 0x01); +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xapo_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapofx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapofx.h new file mode 100644 index 00000000..65292dbf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xapofx.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2015 Andrew Eikum for CodeWeavers + * + * 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 + */ + +/* CLSIDs used by CreateFX, but never registered */ + +#ifndef _XAPOFX_H +#define _XAPOFX_H + +/* xapofx 1.0 through 1.5 */ +DEFINE_GUID(CLSID_FXEQ27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x00); +/* xaudio >= 2.8 */ +DEFINE_GUID(CLSID_FXEQ, 0xf5e01117, 0xd6c4, 0x485a, 0xa3, 0xf5, 0x69, 0x51, 0x96, 0xf3, 0xdb, 0xfa); + +/* xapofx 1.0 through 1.5 */ +DEFINE_GUID(CLSID_FXMasteringLimiter27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x01); +/* xaudio >= 2.8 */ +DEFINE_GUID(CLSID_FXMasteringLimiter, 0xc4137916, 0x2be1, 0x46fd, 0x85, 0x99, 0x44, 0x15, 0x36, 0xf4, 0x98, 0x56); + +/* xapofx 1.0 through 1.5 */ +DEFINE_GUID(CLSID_FXReverb27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x02); +/* xaudio >= 2.8 */ +DEFINE_GUID(CLSID_FXReverb, 0x7d9aca56, 0xcb68, 0x4807, 0xb6, 0x32, 0xb1, 0x37, 0x35, 0x2e, 0x85, 0x96); + +/* xapofx 1.0 through 1.5 */ +DEFINE_GUID(CLSID_FXEcho27, 0xa90bc001, 0xe897, 0xe897, 0x74, 0x39, 0x43, 0x55, 0x00, 0x00, 0x00, 0x03); +/* xaudio >= 2.8 */ +DEFINE_GUID(CLSID_FXEcho, 0x5039d740, 0xf736, 0x449a, 0x84, 0xd3, 0xa5, 0x62, 0x02, 0x55, 0x7b, 0x87); + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2.h new file mode 100644 index 00000000..331fa216 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2.h @@ -0,0 +1,1893 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2.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 __xaudio2_h__ +#define __xaudio2_h__ + +/* Forward declarations */ + +#ifndef __IXAudio2EngineCallback_FWD_DEFINED__ +#define __IXAudio2EngineCallback_FWD_DEFINED__ +typedef interface IXAudio2EngineCallback IXAudio2EngineCallback; +#ifdef __cplusplus +interface IXAudio2EngineCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2Voice_FWD_DEFINED__ +#define __IXAudio2Voice_FWD_DEFINED__ +typedef interface IXAudio2Voice IXAudio2Voice; +#ifdef __cplusplus +interface IXAudio2Voice; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2SourceVoice_FWD_DEFINED__ +#define __IXAudio2SourceVoice_FWD_DEFINED__ +typedef interface IXAudio2SourceVoice IXAudio2SourceVoice; +#ifdef __cplusplus +interface IXAudio2SourceVoice; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2SubmixVoice_FWD_DEFINED__ +#define __IXAudio2SubmixVoice_FWD_DEFINED__ +typedef interface IXAudio2SubmixVoice IXAudio2SubmixVoice; +#ifdef __cplusplus +interface IXAudio2SubmixVoice; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2MasteringVoice_FWD_DEFINED__ +#define __IXAudio2MasteringVoice_FWD_DEFINED__ +typedef interface IXAudio2MasteringVoice IXAudio2MasteringVoice; +#ifdef __cplusplus +interface IXAudio2MasteringVoice; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2VoiceCallback_FWD_DEFINED__ +#define __IXAudio2VoiceCallback_FWD_DEFINED__ +typedef interface IXAudio2VoiceCallback IXAudio2VoiceCallback; +#ifdef __cplusplus +interface IXAudio2VoiceCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2_FWD_DEFINED__ +#define __IXAudio2_FWD_DEFINED__ +typedef interface IXAudio2 IXAudio2; +#ifdef __cplusplus +interface IXAudio2; +#endif /* __cplusplus */ +#endif + +#ifndef __IXAudio2Extension_FWD_DEFINED__ +#define __IXAudio2Extension_FWD_DEFINED__ +typedef interface IXAudio2Extension IXAudio2Extension; +#ifdef __cplusplus +interface IXAudio2Extension; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#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 +#ifndef __IXAudio2Voice_FWD_DEFINED__ +#define __IXAudio2Voice_FWD_DEFINED__ +typedef interface IXAudio2Voice IXAudio2Voice; +#ifdef __cplusplus +interface IXAudio2Voice; +#endif /* __cplusplus */ +#endif + +typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER { + Processor1 = 0x1, + Processor2 = 0x2, + Processor3 = 0x4, + Processor4 = 0x8, + Processor5 = 0x10, + Processor6 = 0x20, + Processor7 = 0x40, + Processor8 = 0x80, + Processor9 = 0x100, + Processor10 = 0x200, + Processor11 = 0x400, + Processor12 = 0x800, + Processor13 = 0x1000, + Processor14 = 0x2000, + Processor15 = 0x4000, + Processor16 = 0x8000, + Processor17 = 0x10000, + Processor18 = 0x20000, + Processor19 = 0x40000, + Processor20 = 0x80000, + Processor21 = 0x100000, + Processor22 = 0x200000, + Processor23 = 0x400000, + Processor24 = 0x800000, + Processor25 = 0x1000000, + Processor26 = 0x2000000, + Processor27 = 0x4000000, + Processor28 = 0x8000000, + Processor29 = 0x10000000, + Processor30 = 0x20000000, + Processor31 = 0x40000000, + Processor32 = 0x80000000, + XAUDIO2_ANY_PROCESSOR = 0xffffffff, + XAUDIO2_DEFAULT_PROCESSOR = XAUDIO2_ANY_PROCESSOR +} XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER; +typedef enum XAUDIO2_WINDOWS_PROCESSOR_SPECIFIER XAUDIO2_PROCESSOR; +typedef struct XAUDIO2_PERFORMANCE_DATA { + UINT64 AudioCyclesSinceLastQuery; + UINT64 TotalCyclesSinceLastQuery; + UINT32 MinimumCyclesPerQuantum; + UINT32 MaximumCyclesPerQuantum; + UINT32 MemoryUsageInBytes; + UINT32 CurrentLatencyInSamples; + UINT32 GlitchesSinceEngineStarted; + UINT32 ActiveSourceVoiceCount; + UINT32 TotalSourceVoiceCount; + UINT32 ActiveSubmixVoiceCount; + UINT32 ActiveResamplerCount; + UINT32 ActiveMatrixMixCount; + UINT32 ActiveXmaSourceVoices; + UINT32 ActiveXmaStreams; +} XAUDIO2_PERFORMANCE_DATA; +typedef enum XAUDIO2_DEVICE_ROLE { + NotDefaultDevice = 0x0, + DefaultConsoleDevice = 0x1, + DefaultMultimediaDevice = 0x2, + DefaultCommunicationsDevice = 0x4, + DefaultGameDevice = 0x8, + GlobalDefaultDevice = 0xf, + InvalidDeviceRole = ~GlobalDefaultDevice +} XAUDIO2_DEVICE_ROLE; +typedef struct XAUDIO2_VOICE_DETAILS { + UINT32 CreationFlags; + UINT32 ActiveFlags; + UINT32 InputChannels; + UINT32 InputSampleRate; +} XAUDIO2_VOICE_DETAILS; +typedef struct XAUDIO2_SEND_DESCRIPTOR { + UINT32 Flags; + IXAudio2Voice *pOutputVoice; +} XAUDIO2_SEND_DESCRIPTOR; +typedef struct XAUDIO2_VOICE_SENDS { + UINT32 SendCount; + XAUDIO2_SEND_DESCRIPTOR *pSends; +} XAUDIO2_VOICE_SENDS; +typedef struct XAUDIO2_EFFECT_DESCRIPTOR { + IUnknown *pEffect; + WINBOOL InitialState; + UINT32 OutputChannels; +} XAUDIO2_EFFECT_DESCRIPTOR; +typedef struct XAUDIO2_EFFECT_CHAIN { + UINT32 EffectCount; + XAUDIO2_EFFECT_DESCRIPTOR *pEffectDescriptors; +} XAUDIO2_EFFECT_CHAIN; +#define XAUDIO2_MAX_BUFFER_BYTES (0x80000000) + +#define XAUDIO2_MAX_QUEUED_BUFFERS (64) + +#define XAUDIO2_MAX_BUFFERS_SYSTEM (2) + +#define XAUDIO2_MAX_AUDIO_CHANNELS (64) + +#define XAUDIO2_MIN_SAMPLE_RATE (1000) + +#define XAUDIO2_MAX_SAMPLE_RATE (200000) + +#define XAUDIO2_MAX_VOLUME_LEVEL (16777216.0000000) + +#define XAUDIO2_MIN_FREQ_RATIO (1 / 1024.00000000000) + +#define XAUDIO2_MAX_FREQ_RATIO (1024.00000000000) + +#define XAUDIO2_DEFAULT_FREQ_RATIO (2.00000000000000) + +#define XAUDIO2_MAX_FILTER_ONEOVERQ (1.50000000000000) + +#define XAUDIO2_MAX_FILTER_FREQUENCY (1.00000000000000) + +#define XAUDIO2_MAX_LOOP_COUNT (254) + +#define XAUDIO2_COMMIT_NOW (0) + +#define XAUDIO2_COMMIT_ALL (0) + +#define XAUDIO2_INVALID_OPSET (0xffffffff) + +#define XAUDIO2_NO_LOOP_REGION (0) + +#define XAUDIO2_LOOP_INFINITE (255) + +#define XAUDIO2_DEFAULT_CHANNELS (0) + +#define XAUDIO2_DEFAULT_SAMPLERATE (0) + +/***************************************************************************** + * IXAudio2EngineCallback interface + */ +#ifndef __IXAudio2EngineCallback_INTERFACE_DEFINED__ +#define __IXAudio2EngineCallback_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2EngineCallback +{ + + BEGIN_INTERFACE + + virtual void STDMETHODCALLTYPE OnProcessingPassStart( + ) = 0; + + virtual void STDMETHODCALLTYPE OnProcessingPassEnd( + ) = 0; + + virtual void STDMETHODCALLTYPE OnCriticalError( + HRESULT Error) = 0; + + END_INTERFACE + +}; +#else +typedef struct IXAudio2EngineCallbackVtbl { + BEGIN_INTERFACE + + /*** IXAudio2EngineCallback methods ***/ + void (STDMETHODCALLTYPE *OnProcessingPassStart)( + IXAudio2EngineCallback *This); + + void (STDMETHODCALLTYPE *OnProcessingPassEnd)( + IXAudio2EngineCallback *This); + + void (STDMETHODCALLTYPE *OnCriticalError)( + IXAudio2EngineCallback *This, + HRESULT Error); + + END_INTERFACE +} IXAudio2EngineCallbackVtbl; + +interface IXAudio2EngineCallback { + CONST_VTBL IXAudio2EngineCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2EngineCallback methods ***/ +#define IXAudio2EngineCallback_OnProcessingPassStart(This) (This)->lpVtbl->OnProcessingPassStart(This) +#define IXAudio2EngineCallback_OnProcessingPassEnd(This) (This)->lpVtbl->OnProcessingPassEnd(This) +#define IXAudio2EngineCallback_OnCriticalError(This,Error) (This)->lpVtbl->OnCriticalError(This,Error) +#else +/*** IXAudio2EngineCallback methods ***/ +static inline void IXAudio2EngineCallback_OnProcessingPassStart(IXAudio2EngineCallback* This) { + This->lpVtbl->OnProcessingPassStart(This); +} +static inline void IXAudio2EngineCallback_OnProcessingPassEnd(IXAudio2EngineCallback* This) { + This->lpVtbl->OnProcessingPassEnd(This); +} +static inline void IXAudio2EngineCallback_OnCriticalError(IXAudio2EngineCallback* This,HRESULT Error) { + This->lpVtbl->OnCriticalError(This,Error); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2EngineCallback_INTERFACE_DEFINED__ */ + +typedef enum XAUDIO2_FILTER_TYPE { + LowPassFilter = 0, + BandPassFilter = 1, + HighPassFilter = 2, + NotchFilter = 3 +} XAUDIO2_FILTER_TYPE; +typedef struct XAUDIO2_FILTER_PARAMETERS { + XAUDIO2_FILTER_TYPE Type; + float Frequency; + float OneOverQ; +} XAUDIO2_FILTER_PARAMETERS; +/***************************************************************************** + * IXAudio2Voice interface + */ +#ifndef __IXAudio2Voice_INTERFACE_DEFINED__ +#define __IXAudio2Voice_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2Voice +{ + + BEGIN_INTERFACE + + virtual void STDMETHODCALLTYPE GetVoiceDetails( + XAUDIO2_VOICE_DETAILS *pVoiceDetails) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputVoices( + const XAUDIO2_VOICE_SENDS *pSendList) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEffectChain( + const XAUDIO2_EFFECT_CHAIN *pEffectChain) = 0; + + virtual HRESULT STDMETHODCALLTYPE EnableEffect( + UINT32 EffectIndex, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual HRESULT STDMETHODCALLTYPE DisableEffect( + UINT32 EffectIndex, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetEffectState( + UINT32 EffectIndex, + WINBOOL *pEnabled) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEffectParameters( + UINT32 EffectIndex, + const void *pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEffectParameters( + UINT32 EffectIndex, + void *pParameters, + UINT32 ParametersByteSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFilterParameters( + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetFilterParameters( + XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputFilterParameters( + IXAudio2Voice *pDestinationVoice, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetOutputFilterParameters( + IXAudio2Voice *pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS *pParameters) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVolume( + float Volume, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetVolume( + float *pVolume) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetChannelVolumes( + UINT32 Channels, + const float *pVolumes, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetChannelVolumes( + UINT32 Channels, + float *pVolumes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOutputMatrix( + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + const float *pLevelMatrix, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetOutputMatrix( + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + float *pLevelMatrix) = 0; + + virtual void STDMETHODCALLTYPE DestroyVoice( + ) = 0; + + END_INTERFACE + +}; +#else +typedef struct IXAudio2VoiceVtbl { + BEGIN_INTERFACE + + /*** IXAudio2Voice methods ***/ + void (STDMETHODCALLTYPE *GetVoiceDetails)( + IXAudio2Voice *This, + XAUDIO2_VOICE_DETAILS *pVoiceDetails); + + HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( + IXAudio2Voice *This, + const XAUDIO2_VOICE_SENDS *pSendList); + + HRESULT (STDMETHODCALLTYPE *SetEffectChain)( + IXAudio2Voice *This, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *EnableEffect)( + IXAudio2Voice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *DisableEffect)( + IXAudio2Voice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetEffectState)( + IXAudio2Voice *This, + UINT32 EffectIndex, + WINBOOL *pEnabled); + + HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( + IXAudio2Voice *This, + UINT32 EffectIndex, + const void *pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( + IXAudio2Voice *This, + UINT32 EffectIndex, + void *pParameters, + UINT32 ParametersByteSize); + + HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( + IXAudio2Voice *This, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetFilterParameters)( + IXAudio2Voice *This, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( + IXAudio2Voice *This, + IXAudio2Voice *pDestinationVoice, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputFilterParameters)( + IXAudio2Voice *This, + IXAudio2Voice *pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetVolume)( + IXAudio2Voice *This, + float Volume, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetVolume)( + IXAudio2Voice *This, + float *pVolume); + + HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( + IXAudio2Voice *This, + UINT32 Channels, + const float *pVolumes, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetChannelVolumes)( + IXAudio2Voice *This, + UINT32 Channels, + float *pVolumes); + + HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( + IXAudio2Voice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + const float *pLevelMatrix, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputMatrix)( + IXAudio2Voice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + float *pLevelMatrix); + + void (STDMETHODCALLTYPE *DestroyVoice)( + IXAudio2Voice *This); + + END_INTERFACE +} IXAudio2VoiceVtbl; + +interface IXAudio2Voice { + CONST_VTBL IXAudio2VoiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2Voice methods ***/ +#define IXAudio2Voice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) +#define IXAudio2Voice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) +#define IXAudio2Voice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) +#define IXAudio2Voice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) +#define IXAudio2Voice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) +#define IXAudio2Voice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) +#define IXAudio2Voice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) +#define IXAudio2Voice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) +#define IXAudio2Voice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) +#define IXAudio2Voice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) +#define IXAudio2Voice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) +#define IXAudio2Voice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) +#define IXAudio2Voice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) +#define IXAudio2Voice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) +#define IXAudio2Voice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) +#define IXAudio2Voice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) +#define IXAudio2Voice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) +#define IXAudio2Voice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) +#define IXAudio2Voice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) +#else +/*** IXAudio2Voice methods ***/ +static inline void IXAudio2Voice_GetVoiceDetails(IXAudio2Voice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { + This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); +} +static inline HRESULT IXAudio2Voice_SetOutputVoices(IXAudio2Voice* This,const XAUDIO2_VOICE_SENDS *pSendList) { + return This->lpVtbl->SetOutputVoices(This,pSendList); +} +static inline HRESULT IXAudio2Voice_SetEffectChain(IXAudio2Voice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->SetEffectChain(This,pEffectChain); +} +static inline HRESULT IXAudio2Voice_EnableEffect(IXAudio2Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); +} +static inline HRESULT IXAudio2Voice_DisableEffect(IXAudio2Voice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); +} +static inline void IXAudio2Voice_GetEffectState(IXAudio2Voice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { + This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); +} +static inline HRESULT IXAudio2Voice_SetEffectParameters(IXAudio2Voice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { + return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); +} +static inline HRESULT IXAudio2Voice_GetEffectParameters(IXAudio2Voice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { + return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); +} +static inline HRESULT IXAudio2Voice_SetFilterParameters(IXAudio2Voice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); +} +static inline void IXAudio2Voice_GetFilterParameters(IXAudio2Voice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetFilterParameters(This,pParameters); +} +static inline HRESULT IXAudio2Voice_SetOutputFilterParameters(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); +} +static inline void IXAudio2Voice_GetOutputFilterParameters(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); +} +static inline HRESULT IXAudio2Voice_SetVolume(IXAudio2Voice* This,float Volume,UINT32 OperationSet) { + return This->lpVtbl->SetVolume(This,Volume,OperationSet); +} +static inline void IXAudio2Voice_GetVolume(IXAudio2Voice* This,float *pVolume) { + This->lpVtbl->GetVolume(This,pVolume); +} +static inline HRESULT IXAudio2Voice_SetChannelVolumes(IXAudio2Voice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { + return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); +} +static inline void IXAudio2Voice_GetChannelVolumes(IXAudio2Voice* This,UINT32 Channels,float *pVolumes) { + This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); +} +static inline HRESULT IXAudio2Voice_SetOutputMatrix(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { + return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); +} +static inline void IXAudio2Voice_GetOutputMatrix(IXAudio2Voice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { + This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); +} +static inline void IXAudio2Voice_DestroyVoice(IXAudio2Voice* This) { + This->lpVtbl->DestroyVoice(This); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2Voice_INTERFACE_DEFINED__ */ + +typedef struct XAUDIO2_BUFFER { + UINT32 Flags; + UINT32 AudioBytes; + const BYTE *pAudioData; + UINT32 PlayBegin; + UINT32 PlayLength; + UINT32 LoopBegin; + UINT32 LoopLength; + UINT32 LoopCount; + void *pContext; +} XAUDIO2_BUFFER; +typedef struct XAUDIO2_BUFFER_WMA { + const UINT32 *pDecodedPacketCumulativeBytes; + UINT32 PacketCount; +} XAUDIO2_BUFFER_WMA; +typedef struct XAUDIO2_VOICE_STATE { + void *pCurrentBufferContext; + UINT32 BuffersQueued; + UINT64 SamplesPlayed; +} XAUDIO2_VOICE_STATE; +/***************************************************************************** + * IXAudio2SourceVoice interface + */ +#ifndef __IXAudio2SourceVoice_INTERFACE_DEFINED__ +#define __IXAudio2SourceVoice_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2SourceVoice : public IXAudio2Voice +{ + virtual HRESULT STDMETHODCALLTYPE Start( + UINT32 Flags = 0, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual HRESULT STDMETHODCALLTYPE Stop( + UINT32 Flags = 0, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual HRESULT STDMETHODCALLTYPE SubmitSourceBuffer( + const XAUDIO2_BUFFER *pBuffer, + const XAUDIO2_BUFFER_WMA *pBufferWMA = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE FlushSourceBuffers( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE Discontinuity( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE ExitLoop( + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetState( + XAUDIO2_VOICE_STATE *pVoiceState, + UINT32 Flags = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFrequencyRatio( + float Ratio, + UINT32 OperationSet = XAUDIO2_COMMIT_NOW) = 0; + + virtual void STDMETHODCALLTYPE GetFrequencyRatio( + float *pRatio) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSourceSampleRate( + UINT32 NewSourceSampleRate) = 0; + +}; +#else +typedef struct IXAudio2SourceVoiceVtbl { + BEGIN_INTERFACE + + /*** IXAudio2Voice methods ***/ + void (STDMETHODCALLTYPE *GetVoiceDetails)( + IXAudio2SourceVoice *This, + XAUDIO2_VOICE_DETAILS *pVoiceDetails); + + HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( + IXAudio2SourceVoice *This, + const XAUDIO2_VOICE_SENDS *pSendList); + + HRESULT (STDMETHODCALLTYPE *SetEffectChain)( + IXAudio2SourceVoice *This, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *EnableEffect)( + IXAudio2SourceVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *DisableEffect)( + IXAudio2SourceVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetEffectState)( + IXAudio2SourceVoice *This, + UINT32 EffectIndex, + WINBOOL *pEnabled); + + HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( + IXAudio2SourceVoice *This, + UINT32 EffectIndex, + const void *pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( + IXAudio2SourceVoice *This, + UINT32 EffectIndex, + void *pParameters, + UINT32 ParametersByteSize); + + HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( + IXAudio2SourceVoice *This, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetFilterParameters)( + IXAudio2SourceVoice *This, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( + IXAudio2SourceVoice *This, + IXAudio2Voice *pDestinationVoice, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputFilterParameters)( + IXAudio2SourceVoice *This, + IXAudio2Voice *pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetVolume)( + IXAudio2SourceVoice *This, + float Volume, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetVolume)( + IXAudio2SourceVoice *This, + float *pVolume); + + HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( + IXAudio2SourceVoice *This, + UINT32 Channels, + const float *pVolumes, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetChannelVolumes)( + IXAudio2SourceVoice *This, + UINT32 Channels, + float *pVolumes); + + HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( + IXAudio2SourceVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + const float *pLevelMatrix, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputMatrix)( + IXAudio2SourceVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + float *pLevelMatrix); + + void (STDMETHODCALLTYPE *DestroyVoice)( + IXAudio2SourceVoice *This); + + /*** IXAudio2SourceVoice methods ***/ + HRESULT (STDMETHODCALLTYPE *Start)( + IXAudio2SourceVoice *This, + UINT32 Flags, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *Stop)( + IXAudio2SourceVoice *This, + UINT32 Flags, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *SubmitSourceBuffer)( + IXAudio2SourceVoice *This, + const XAUDIO2_BUFFER *pBuffer, + const XAUDIO2_BUFFER_WMA *pBufferWMA); + + HRESULT (STDMETHODCALLTYPE *FlushSourceBuffers)( + IXAudio2SourceVoice *This); + + HRESULT (STDMETHODCALLTYPE *Discontinuity)( + IXAudio2SourceVoice *This); + + HRESULT (STDMETHODCALLTYPE *ExitLoop)( + IXAudio2SourceVoice *This, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetState)( + IXAudio2SourceVoice *This, + XAUDIO2_VOICE_STATE *pVoiceState, + UINT32 Flags); + + HRESULT (STDMETHODCALLTYPE *SetFrequencyRatio)( + IXAudio2SourceVoice *This, + float Ratio, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetFrequencyRatio)( + IXAudio2SourceVoice *This, + float *pRatio); + + HRESULT (STDMETHODCALLTYPE *SetSourceSampleRate)( + IXAudio2SourceVoice *This, + UINT32 NewSourceSampleRate); + + END_INTERFACE +} IXAudio2SourceVoiceVtbl; + +interface IXAudio2SourceVoice { + CONST_VTBL IXAudio2SourceVoiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2Voice methods ***/ +#define IXAudio2SourceVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) +#define IXAudio2SourceVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) +#define IXAudio2SourceVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) +#define IXAudio2SourceVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) +#define IXAudio2SourceVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) +#define IXAudio2SourceVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) +#define IXAudio2SourceVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) +#define IXAudio2SourceVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) +#define IXAudio2SourceVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) +#define IXAudio2SourceVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) +#define IXAudio2SourceVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) +#define IXAudio2SourceVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) +#define IXAudio2SourceVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) +#define IXAudio2SourceVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) +#define IXAudio2SourceVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) +#define IXAudio2SourceVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) +#define IXAudio2SourceVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) +#define IXAudio2SourceVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) +#define IXAudio2SourceVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) +/*** IXAudio2SourceVoice methods ***/ +#define IXAudio2SourceVoice_Start(This,Flags,OperationSet) (This)->lpVtbl->Start(This,Flags,OperationSet) +#define IXAudio2SourceVoice_Stop(This,Flags,OperationSet) (This)->lpVtbl->Stop(This,Flags,OperationSet) +#define IXAudio2SourceVoice_SubmitSourceBuffer(This,pBuffer,pBufferWMA) (This)->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA) +#define IXAudio2SourceVoice_FlushSourceBuffers(This) (This)->lpVtbl->FlushSourceBuffers(This) +#define IXAudio2SourceVoice_Discontinuity(This) (This)->lpVtbl->Discontinuity(This) +#define IXAudio2SourceVoice_ExitLoop(This,OperationSet) (This)->lpVtbl->ExitLoop(This,OperationSet) +#define IXAudio2SourceVoice_GetState(This,pVoiceState,Flags) (This)->lpVtbl->GetState(This,pVoiceState,Flags) +#define IXAudio2SourceVoice_SetFrequencyRatio(This,Ratio,OperationSet) (This)->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet) +#define IXAudio2SourceVoice_GetFrequencyRatio(This,pRatio) (This)->lpVtbl->GetFrequencyRatio(This,pRatio) +#define IXAudio2SourceVoice_SetSourceSampleRate(This,NewSourceSampleRate) (This)->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate) +#else +/*** IXAudio2Voice methods ***/ +static inline void IXAudio2SourceVoice_GetVoiceDetails(IXAudio2SourceVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { + This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); +} +static inline HRESULT IXAudio2SourceVoice_SetOutputVoices(IXAudio2SourceVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { + return This->lpVtbl->SetOutputVoices(This,pSendList); +} +static inline HRESULT IXAudio2SourceVoice_SetEffectChain(IXAudio2SourceVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->SetEffectChain(This,pEffectChain); +} +static inline HRESULT IXAudio2SourceVoice_EnableEffect(IXAudio2SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); +} +static inline HRESULT IXAudio2SourceVoice_DisableEffect(IXAudio2SourceVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); +} +static inline void IXAudio2SourceVoice_GetEffectState(IXAudio2SourceVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { + This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); +} +static inline HRESULT IXAudio2SourceVoice_SetEffectParameters(IXAudio2SourceVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { + return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); +} +static inline HRESULT IXAudio2SourceVoice_GetEffectParameters(IXAudio2SourceVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { + return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); +} +static inline HRESULT IXAudio2SourceVoice_SetFilterParameters(IXAudio2SourceVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); +} +static inline void IXAudio2SourceVoice_GetFilterParameters(IXAudio2SourceVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetFilterParameters(This,pParameters); +} +static inline HRESULT IXAudio2SourceVoice_SetOutputFilterParameters(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); +} +static inline void IXAudio2SourceVoice_GetOutputFilterParameters(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); +} +static inline HRESULT IXAudio2SourceVoice_SetVolume(IXAudio2SourceVoice* This,float Volume,UINT32 OperationSet) { + return This->lpVtbl->SetVolume(This,Volume,OperationSet); +} +static inline void IXAudio2SourceVoice_GetVolume(IXAudio2SourceVoice* This,float *pVolume) { + This->lpVtbl->GetVolume(This,pVolume); +} +static inline HRESULT IXAudio2SourceVoice_SetChannelVolumes(IXAudio2SourceVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { + return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); +} +static inline void IXAudio2SourceVoice_GetChannelVolumes(IXAudio2SourceVoice* This,UINT32 Channels,float *pVolumes) { + This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); +} +static inline HRESULT IXAudio2SourceVoice_SetOutputMatrix(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { + return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); +} +static inline void IXAudio2SourceVoice_GetOutputMatrix(IXAudio2SourceVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { + This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); +} +static inline void IXAudio2SourceVoice_DestroyVoice(IXAudio2SourceVoice* This) { + This->lpVtbl->DestroyVoice(This); +} +/*** IXAudio2SourceVoice methods ***/ +static inline HRESULT IXAudio2SourceVoice_Start(IXAudio2SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { + return This->lpVtbl->Start(This,Flags,OperationSet); +} +static inline HRESULT IXAudio2SourceVoice_Stop(IXAudio2SourceVoice* This,UINT32 Flags,UINT32 OperationSet) { + return This->lpVtbl->Stop(This,Flags,OperationSet); +} +static inline HRESULT IXAudio2SourceVoice_SubmitSourceBuffer(IXAudio2SourceVoice* This,const XAUDIO2_BUFFER *pBuffer,const XAUDIO2_BUFFER_WMA *pBufferWMA) { + return This->lpVtbl->SubmitSourceBuffer(This,pBuffer,pBufferWMA); +} +static inline HRESULT IXAudio2SourceVoice_FlushSourceBuffers(IXAudio2SourceVoice* This) { + return This->lpVtbl->FlushSourceBuffers(This); +} +static inline HRESULT IXAudio2SourceVoice_Discontinuity(IXAudio2SourceVoice* This) { + return This->lpVtbl->Discontinuity(This); +} +static inline HRESULT IXAudio2SourceVoice_ExitLoop(IXAudio2SourceVoice* This,UINT32 OperationSet) { + return This->lpVtbl->ExitLoop(This,OperationSet); +} +static inline void IXAudio2SourceVoice_GetState(IXAudio2SourceVoice* This,XAUDIO2_VOICE_STATE *pVoiceState,UINT32 Flags) { + This->lpVtbl->GetState(This,pVoiceState,Flags); +} +static inline HRESULT IXAudio2SourceVoice_SetFrequencyRatio(IXAudio2SourceVoice* This,float Ratio,UINT32 OperationSet) { + return This->lpVtbl->SetFrequencyRatio(This,Ratio,OperationSet); +} +static inline void IXAudio2SourceVoice_GetFrequencyRatio(IXAudio2SourceVoice* This,float *pRatio) { + This->lpVtbl->GetFrequencyRatio(This,pRatio); +} +static inline HRESULT IXAudio2SourceVoice_SetSourceSampleRate(IXAudio2SourceVoice* This,UINT32 NewSourceSampleRate) { + return This->lpVtbl->SetSourceSampleRate(This,NewSourceSampleRate); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2SourceVoice_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXAudio2SubmixVoice interface + */ +#ifndef __IXAudio2SubmixVoice_INTERFACE_DEFINED__ +#define __IXAudio2SubmixVoice_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2SubmixVoice : public IXAudio2Voice +{ +}; +#else +typedef struct IXAudio2SubmixVoiceVtbl { + BEGIN_INTERFACE + + /*** IXAudio2Voice methods ***/ + void (STDMETHODCALLTYPE *GetVoiceDetails)( + IXAudio2SubmixVoice *This, + XAUDIO2_VOICE_DETAILS *pVoiceDetails); + + HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( + IXAudio2SubmixVoice *This, + const XAUDIO2_VOICE_SENDS *pSendList); + + HRESULT (STDMETHODCALLTYPE *SetEffectChain)( + IXAudio2SubmixVoice *This, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *EnableEffect)( + IXAudio2SubmixVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *DisableEffect)( + IXAudio2SubmixVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetEffectState)( + IXAudio2SubmixVoice *This, + UINT32 EffectIndex, + WINBOOL *pEnabled); + + HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( + IXAudio2SubmixVoice *This, + UINT32 EffectIndex, + const void *pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( + IXAudio2SubmixVoice *This, + UINT32 EffectIndex, + void *pParameters, + UINT32 ParametersByteSize); + + HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( + IXAudio2SubmixVoice *This, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetFilterParameters)( + IXAudio2SubmixVoice *This, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( + IXAudio2SubmixVoice *This, + IXAudio2Voice *pDestinationVoice, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputFilterParameters)( + IXAudio2SubmixVoice *This, + IXAudio2Voice *pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetVolume)( + IXAudio2SubmixVoice *This, + float Volume, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetVolume)( + IXAudio2SubmixVoice *This, + float *pVolume); + + HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( + IXAudio2SubmixVoice *This, + UINT32 Channels, + const float *pVolumes, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetChannelVolumes)( + IXAudio2SubmixVoice *This, + UINT32 Channels, + float *pVolumes); + + HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( + IXAudio2SubmixVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + const float *pLevelMatrix, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputMatrix)( + IXAudio2SubmixVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + float *pLevelMatrix); + + void (STDMETHODCALLTYPE *DestroyVoice)( + IXAudio2SubmixVoice *This); + + END_INTERFACE +} IXAudio2SubmixVoiceVtbl; + +interface IXAudio2SubmixVoice { + CONST_VTBL IXAudio2SubmixVoiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2Voice methods ***/ +#define IXAudio2SubmixVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) +#define IXAudio2SubmixVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) +#define IXAudio2SubmixVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) +#define IXAudio2SubmixVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) +#define IXAudio2SubmixVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) +#define IXAudio2SubmixVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) +#define IXAudio2SubmixVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) +#define IXAudio2SubmixVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) +#define IXAudio2SubmixVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) +#define IXAudio2SubmixVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) +#define IXAudio2SubmixVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) +#define IXAudio2SubmixVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) +#define IXAudio2SubmixVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) +#define IXAudio2SubmixVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) +#define IXAudio2SubmixVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) +#define IXAudio2SubmixVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) +#define IXAudio2SubmixVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) +#define IXAudio2SubmixVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) +#define IXAudio2SubmixVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) +#else +/*** IXAudio2Voice methods ***/ +static inline void IXAudio2SubmixVoice_GetVoiceDetails(IXAudio2SubmixVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { + This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); +} +static inline HRESULT IXAudio2SubmixVoice_SetOutputVoices(IXAudio2SubmixVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { + return This->lpVtbl->SetOutputVoices(This,pSendList); +} +static inline HRESULT IXAudio2SubmixVoice_SetEffectChain(IXAudio2SubmixVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->SetEffectChain(This,pEffectChain); +} +static inline HRESULT IXAudio2SubmixVoice_EnableEffect(IXAudio2SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); +} +static inline HRESULT IXAudio2SubmixVoice_DisableEffect(IXAudio2SubmixVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetEffectState(IXAudio2SubmixVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { + This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); +} +static inline HRESULT IXAudio2SubmixVoice_SetEffectParameters(IXAudio2SubmixVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { + return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); +} +static inline HRESULT IXAudio2SubmixVoice_GetEffectParameters(IXAudio2SubmixVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { + return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); +} +static inline HRESULT IXAudio2SubmixVoice_SetFilterParameters(IXAudio2SubmixVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetFilterParameters(IXAudio2SubmixVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetFilterParameters(This,pParameters); +} +static inline HRESULT IXAudio2SubmixVoice_SetOutputFilterParameters(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetOutputFilterParameters(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); +} +static inline HRESULT IXAudio2SubmixVoice_SetVolume(IXAudio2SubmixVoice* This,float Volume,UINT32 OperationSet) { + return This->lpVtbl->SetVolume(This,Volume,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetVolume(IXAudio2SubmixVoice* This,float *pVolume) { + This->lpVtbl->GetVolume(This,pVolume); +} +static inline HRESULT IXAudio2SubmixVoice_SetChannelVolumes(IXAudio2SubmixVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { + return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetChannelVolumes(IXAudio2SubmixVoice* This,UINT32 Channels,float *pVolumes) { + This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); +} +static inline HRESULT IXAudio2SubmixVoice_SetOutputMatrix(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { + return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); +} +static inline void IXAudio2SubmixVoice_GetOutputMatrix(IXAudio2SubmixVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { + This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); +} +static inline void IXAudio2SubmixVoice_DestroyVoice(IXAudio2SubmixVoice* This) { + This->lpVtbl->DestroyVoice(This); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2SubmixVoice_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXAudio2MasteringVoice interface + */ +#ifndef __IXAudio2MasteringVoice_INTERFACE_DEFINED__ +#define __IXAudio2MasteringVoice_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2MasteringVoice : public IXAudio2Voice +{ + virtual HRESULT STDMETHODCALLTYPE GetChannelMask( + DWORD *pChannelMask) = 0; + +}; +#else +typedef struct IXAudio2MasteringVoiceVtbl { + BEGIN_INTERFACE + + /*** IXAudio2Voice methods ***/ + void (STDMETHODCALLTYPE *GetVoiceDetails)( + IXAudio2MasteringVoice *This, + XAUDIO2_VOICE_DETAILS *pVoiceDetails); + + HRESULT (STDMETHODCALLTYPE *SetOutputVoices)( + IXAudio2MasteringVoice *This, + const XAUDIO2_VOICE_SENDS *pSendList); + + HRESULT (STDMETHODCALLTYPE *SetEffectChain)( + IXAudio2MasteringVoice *This, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *EnableEffect)( + IXAudio2MasteringVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *DisableEffect)( + IXAudio2MasteringVoice *This, + UINT32 EffectIndex, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetEffectState)( + IXAudio2MasteringVoice *This, + UINT32 EffectIndex, + WINBOOL *pEnabled); + + HRESULT (STDMETHODCALLTYPE *SetEffectParameters)( + IXAudio2MasteringVoice *This, + UINT32 EffectIndex, + const void *pParameters, + UINT32 ParametersByteSize, + UINT32 OperationSet); + + HRESULT (STDMETHODCALLTYPE *GetEffectParameters)( + IXAudio2MasteringVoice *This, + UINT32 EffectIndex, + void *pParameters, + UINT32 ParametersByteSize); + + HRESULT (STDMETHODCALLTYPE *SetFilterParameters)( + IXAudio2MasteringVoice *This, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetFilterParameters)( + IXAudio2MasteringVoice *This, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetOutputFilterParameters)( + IXAudio2MasteringVoice *This, + IXAudio2Voice *pDestinationVoice, + const XAUDIO2_FILTER_PARAMETERS *pParameters, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputFilterParameters)( + IXAudio2MasteringVoice *This, + IXAudio2Voice *pDestinationVoice, + XAUDIO2_FILTER_PARAMETERS *pParameters); + + HRESULT (STDMETHODCALLTYPE *SetVolume)( + IXAudio2MasteringVoice *This, + float Volume, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetVolume)( + IXAudio2MasteringVoice *This, + float *pVolume); + + HRESULT (STDMETHODCALLTYPE *SetChannelVolumes)( + IXAudio2MasteringVoice *This, + UINT32 Channels, + const float *pVolumes, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetChannelVolumes)( + IXAudio2MasteringVoice *This, + UINT32 Channels, + float *pVolumes); + + HRESULT (STDMETHODCALLTYPE *SetOutputMatrix)( + IXAudio2MasteringVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + const float *pLevelMatrix, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetOutputMatrix)( + IXAudio2MasteringVoice *This, + IXAudio2Voice *pDestinationVoice, + UINT32 SourceChannels, + UINT32 DestinationChannels, + float *pLevelMatrix); + + void (STDMETHODCALLTYPE *DestroyVoice)( + IXAudio2MasteringVoice *This); + + /*** IXAudio2MasteringVoice methods ***/ + HRESULT (STDMETHODCALLTYPE *GetChannelMask)( + IXAudio2MasteringVoice *This, + DWORD *pChannelMask); + + END_INTERFACE +} IXAudio2MasteringVoiceVtbl; + +interface IXAudio2MasteringVoice { + CONST_VTBL IXAudio2MasteringVoiceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2Voice methods ***/ +#define IXAudio2MasteringVoice_GetVoiceDetails(This,pVoiceDetails) (This)->lpVtbl->GetVoiceDetails(This,pVoiceDetails) +#define IXAudio2MasteringVoice_SetOutputVoices(This,pSendList) (This)->lpVtbl->SetOutputVoices(This,pSendList) +#define IXAudio2MasteringVoice_SetEffectChain(This,pEffectChain) (This)->lpVtbl->SetEffectChain(This,pEffectChain) +#define IXAudio2MasteringVoice_EnableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->EnableEffect(This,EffectIndex,OperationSet) +#define IXAudio2MasteringVoice_DisableEffect(This,EffectIndex,OperationSet) (This)->lpVtbl->DisableEffect(This,EffectIndex,OperationSet) +#define IXAudio2MasteringVoice_GetEffectState(This,EffectIndex,pEnabled) (This)->lpVtbl->GetEffectState(This,EffectIndex,pEnabled) +#define IXAudio2MasteringVoice_SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) (This)->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet) +#define IXAudio2MasteringVoice_GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) (This)->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize) +#define IXAudio2MasteringVoice_SetFilterParameters(This,pParameters,OperationSet) (This)->lpVtbl->SetFilterParameters(This,pParameters,OperationSet) +#define IXAudio2MasteringVoice_GetFilterParameters(This,pParameters) (This)->lpVtbl->GetFilterParameters(This,pParameters) +#define IXAudio2MasteringVoice_SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) (This)->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet) +#define IXAudio2MasteringVoice_GetOutputFilterParameters(This,pDestinationVoice,pParameters) (This)->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters) +#define IXAudio2MasteringVoice_SetVolume(This,Volume,OperationSet) (This)->lpVtbl->SetVolume(This,Volume,OperationSet) +#define IXAudio2MasteringVoice_GetVolume(This,pVolume) (This)->lpVtbl->GetVolume(This,pVolume) +#define IXAudio2MasteringVoice_SetChannelVolumes(This,Channels,pVolumes,OperationSet) (This)->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet) +#define IXAudio2MasteringVoice_GetChannelVolumes(This,Channels,pVolumes) (This)->lpVtbl->GetChannelVolumes(This,Channels,pVolumes) +#define IXAudio2MasteringVoice_SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) (This)->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet) +#define IXAudio2MasteringVoice_GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) (This)->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix) +#define IXAudio2MasteringVoice_DestroyVoice(This) (This)->lpVtbl->DestroyVoice(This) +/*** IXAudio2MasteringVoice methods ***/ +#define IXAudio2MasteringVoice_GetChannelMask(This,pChannelMask) (This)->lpVtbl->GetChannelMask(This,pChannelMask) +#else +/*** IXAudio2Voice methods ***/ +static inline void IXAudio2MasteringVoice_GetVoiceDetails(IXAudio2MasteringVoice* This,XAUDIO2_VOICE_DETAILS *pVoiceDetails) { + This->lpVtbl->GetVoiceDetails(This,pVoiceDetails); +} +static inline HRESULT IXAudio2MasteringVoice_SetOutputVoices(IXAudio2MasteringVoice* This,const XAUDIO2_VOICE_SENDS *pSendList) { + return This->lpVtbl->SetOutputVoices(This,pSendList); +} +static inline HRESULT IXAudio2MasteringVoice_SetEffectChain(IXAudio2MasteringVoice* This,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->SetEffectChain(This,pEffectChain); +} +static inline HRESULT IXAudio2MasteringVoice_EnableEffect(IXAudio2MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->EnableEffect(This,EffectIndex,OperationSet); +} +static inline HRESULT IXAudio2MasteringVoice_DisableEffect(IXAudio2MasteringVoice* This,UINT32 EffectIndex,UINT32 OperationSet) { + return This->lpVtbl->DisableEffect(This,EffectIndex,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetEffectState(IXAudio2MasteringVoice* This,UINT32 EffectIndex,WINBOOL *pEnabled) { + This->lpVtbl->GetEffectState(This,EffectIndex,pEnabled); +} +static inline HRESULT IXAudio2MasteringVoice_SetEffectParameters(IXAudio2MasteringVoice* This,UINT32 EffectIndex,const void *pParameters,UINT32 ParametersByteSize,UINT32 OperationSet) { + return This->lpVtbl->SetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize,OperationSet); +} +static inline HRESULT IXAudio2MasteringVoice_GetEffectParameters(IXAudio2MasteringVoice* This,UINT32 EffectIndex,void *pParameters,UINT32 ParametersByteSize) { + return This->lpVtbl->GetEffectParameters(This,EffectIndex,pParameters,ParametersByteSize); +} +static inline HRESULT IXAudio2MasteringVoice_SetFilterParameters(IXAudio2MasteringVoice* This,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetFilterParameters(This,pParameters,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetFilterParameters(IXAudio2MasteringVoice* This,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetFilterParameters(This,pParameters); +} +static inline HRESULT IXAudio2MasteringVoice_SetOutputFilterParameters(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,const XAUDIO2_FILTER_PARAMETERS *pParameters,UINT32 OperationSet) { + return This->lpVtbl->SetOutputFilterParameters(This,pDestinationVoice,pParameters,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetOutputFilterParameters(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,XAUDIO2_FILTER_PARAMETERS *pParameters) { + This->lpVtbl->GetOutputFilterParameters(This,pDestinationVoice,pParameters); +} +static inline HRESULT IXAudio2MasteringVoice_SetVolume(IXAudio2MasteringVoice* This,float Volume,UINT32 OperationSet) { + return This->lpVtbl->SetVolume(This,Volume,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetVolume(IXAudio2MasteringVoice* This,float *pVolume) { + This->lpVtbl->GetVolume(This,pVolume); +} +static inline HRESULT IXAudio2MasteringVoice_SetChannelVolumes(IXAudio2MasteringVoice* This,UINT32 Channels,const float *pVolumes,UINT32 OperationSet) { + return This->lpVtbl->SetChannelVolumes(This,Channels,pVolumes,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetChannelVolumes(IXAudio2MasteringVoice* This,UINT32 Channels,float *pVolumes) { + This->lpVtbl->GetChannelVolumes(This,Channels,pVolumes); +} +static inline HRESULT IXAudio2MasteringVoice_SetOutputMatrix(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,const float *pLevelMatrix,UINT32 OperationSet) { + return This->lpVtbl->SetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix,OperationSet); +} +static inline void IXAudio2MasteringVoice_GetOutputMatrix(IXAudio2MasteringVoice* This,IXAudio2Voice *pDestinationVoice,UINT32 SourceChannels,UINT32 DestinationChannels,float *pLevelMatrix) { + This->lpVtbl->GetOutputMatrix(This,pDestinationVoice,SourceChannels,DestinationChannels,pLevelMatrix); +} +static inline void IXAudio2MasteringVoice_DestroyVoice(IXAudio2MasteringVoice* This) { + This->lpVtbl->DestroyVoice(This); +} +/*** IXAudio2MasteringVoice methods ***/ +static inline HRESULT IXAudio2MasteringVoice_GetChannelMask(IXAudio2MasteringVoice* This,DWORD *pChannelMask) { + return This->lpVtbl->GetChannelMask(This,pChannelMask); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2MasteringVoice_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXAudio2VoiceCallback interface + */ +#ifndef __IXAudio2VoiceCallback_INTERFACE_DEFINED__ +#define __IXAudio2VoiceCallback_INTERFACE_DEFINED__ + +#if defined(__cplusplus) && !defined(CINTERFACE) +interface IXAudio2VoiceCallback +{ + + BEGIN_INTERFACE + + virtual void STDMETHODCALLTYPE OnVoiceProcessingPassStart( + UINT32 BytesRequired) = 0; + + virtual void STDMETHODCALLTYPE OnVoiceProcessingPassEnd( + ) = 0; + + virtual void STDMETHODCALLTYPE OnStreamEnd( + ) = 0; + + virtual void STDMETHODCALLTYPE OnBufferStart( + void *pBufferContext) = 0; + + virtual void STDMETHODCALLTYPE OnBufferEnd( + void *pBufferContext) = 0; + + virtual void STDMETHODCALLTYPE OnLoopEnd( + void *pBufferContext) = 0; + + virtual void STDMETHODCALLTYPE OnVoiceError( + void *pBuffercontext, + HRESULT Error) = 0; + + END_INTERFACE + +}; +#else +typedef struct IXAudio2VoiceCallbackVtbl { + BEGIN_INTERFACE + + /*** IXAudio2VoiceCallback methods ***/ + void (STDMETHODCALLTYPE *OnVoiceProcessingPassStart)( + IXAudio2VoiceCallback *This, + UINT32 BytesRequired); + + void (STDMETHODCALLTYPE *OnVoiceProcessingPassEnd)( + IXAudio2VoiceCallback *This); + + void (STDMETHODCALLTYPE *OnStreamEnd)( + IXAudio2VoiceCallback *This); + + void (STDMETHODCALLTYPE *OnBufferStart)( + IXAudio2VoiceCallback *This, + void *pBufferContext); + + void (STDMETHODCALLTYPE *OnBufferEnd)( + IXAudio2VoiceCallback *This, + void *pBufferContext); + + void (STDMETHODCALLTYPE *OnLoopEnd)( + IXAudio2VoiceCallback *This, + void *pBufferContext); + + void (STDMETHODCALLTYPE *OnVoiceError)( + IXAudio2VoiceCallback *This, + void *pBuffercontext, + HRESULT Error); + + END_INTERFACE +} IXAudio2VoiceCallbackVtbl; + +interface IXAudio2VoiceCallback { + CONST_VTBL IXAudio2VoiceCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IXAudio2VoiceCallback methods ***/ +#define IXAudio2VoiceCallback_OnVoiceProcessingPassStart(This,BytesRequired) (This)->lpVtbl->OnVoiceProcessingPassStart(This,BytesRequired) +#define IXAudio2VoiceCallback_OnVoiceProcessingPassEnd(This) (This)->lpVtbl->OnVoiceProcessingPassEnd(This) +#define IXAudio2VoiceCallback_OnStreamEnd(This) (This)->lpVtbl->OnStreamEnd(This) +#define IXAudio2VoiceCallback_OnBufferStart(This,pBufferContext) (This)->lpVtbl->OnBufferStart(This,pBufferContext) +#define IXAudio2VoiceCallback_OnBufferEnd(This,pBufferContext) (This)->lpVtbl->OnBufferEnd(This,pBufferContext) +#define IXAudio2VoiceCallback_OnLoopEnd(This,pBufferContext) (This)->lpVtbl->OnLoopEnd(This,pBufferContext) +#define IXAudio2VoiceCallback_OnVoiceError(This,pBuffercontext,Error) (This)->lpVtbl->OnVoiceError(This,pBuffercontext,Error) +#else +/*** IXAudio2VoiceCallback methods ***/ +static inline void IXAudio2VoiceCallback_OnVoiceProcessingPassStart(IXAudio2VoiceCallback* This,UINT32 BytesRequired) { + This->lpVtbl->OnVoiceProcessingPassStart(This,BytesRequired); +} +static inline void IXAudio2VoiceCallback_OnVoiceProcessingPassEnd(IXAudio2VoiceCallback* This) { + This->lpVtbl->OnVoiceProcessingPassEnd(This); +} +static inline void IXAudio2VoiceCallback_OnStreamEnd(IXAudio2VoiceCallback* This) { + This->lpVtbl->OnStreamEnd(This); +} +static inline void IXAudio2VoiceCallback_OnBufferStart(IXAudio2VoiceCallback* This,void *pBufferContext) { + This->lpVtbl->OnBufferStart(This,pBufferContext); +} +static inline void IXAudio2VoiceCallback_OnBufferEnd(IXAudio2VoiceCallback* This,void *pBufferContext) { + This->lpVtbl->OnBufferEnd(This,pBufferContext); +} +static inline void IXAudio2VoiceCallback_OnLoopEnd(IXAudio2VoiceCallback* This,void *pBufferContext) { + This->lpVtbl->OnLoopEnd(This,pBufferContext); +} +static inline void IXAudio2VoiceCallback_OnVoiceError(IXAudio2VoiceCallback* This,void *pBuffercontext,HRESULT Error) { + This->lpVtbl->OnVoiceError(This,pBuffercontext,Error); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2VoiceCallback_INTERFACE_DEFINED__ */ + +typedef struct XAUDIO2_DEBUG_CONFIGURATION { + UINT32 TraceMask; + UINT32 BreakMask; + WINBOOL LogThreadID; + WINBOOL LogFileline; + WINBOOL LogFunctionName; + WINBOOL LogTiming; +} XAUDIO2_DEBUG_CONFIGURATION; +/***************************************************************************** + * IXAudio2 interface + */ +#ifndef __IXAudio2_INTERFACE_DEFINED__ +#define __IXAudio2_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXAudio2, 0x2b02e3cf, 0x2e0b, 0x4ec3, 0xbe,0x45, 0x1b,0x2a,0x3f,0xe7,0x21,0x0d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2b02e3cf-2e0b-4ec3-be45-1b2a3fe7210d") +IXAudio2 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RegisterForCallbacks( + IXAudio2EngineCallback *pCallback) = 0; + + virtual void STDMETHODCALLTYPE UnregisterForCallbacks( + IXAudio2EngineCallback *pCallback) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSourceVoice( + IXAudio2SourceVoice **ppSourceVoice, + const WAVEFORMATEX *pSourceFormat, + UINT32 Flags = 0, + float MaxFrequencyRatio = XAUDIO2_DEFAULT_FREQ_RATIO, + IXAudio2VoiceCallback *pCallback = 0, + const XAUDIO2_VOICE_SENDS *pSendList = 0, + const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSubmixVoice( + IXAudio2SubmixVoice **ppSubmixVoice, + UINT32 InputChannels, + UINT32 InputSampleRate, + UINT32 Flags = 0, + UINT32 ProcessingStage = 0, + const XAUDIO2_VOICE_SENDS *pSendList = 0, + const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMasteringVoice( + IXAudio2MasteringVoice **ppMasteringVoice, + UINT32 InputChannels = XAUDIO2_DEFAULT_CHANNELS, + UINT32 InputSampleRate = XAUDIO2_DEFAULT_SAMPLERATE, + UINT32 Flags = 0, + LPCWSTR DeviceId = 0, + const XAUDIO2_EFFECT_CHAIN *pEffectChain = 0, + AUDIO_STREAM_CATEGORY category = AudioCategory_GameEffects) = 0; + + virtual HRESULT STDMETHODCALLTYPE StartEngine( + ) = 0; + + virtual void STDMETHODCALLTYPE StopEngine( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE CommitChanges( + UINT32 OperationSet) = 0; + + virtual void STDMETHODCALLTYPE GetPerformanceData( + XAUDIO2_PERFORMANCE_DATA *pPerfData) = 0; + + virtual void STDMETHODCALLTYPE SetDebugConfiguration( + const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, + void *pReserved = 0) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXAudio2, 0x2b02e3cf, 0x2e0b, 0x4ec3, 0xbe,0x45, 0x1b,0x2a,0x3f,0xe7,0x21,0x0d) +#endif +#else +typedef struct IXAudio2Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXAudio2 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXAudio2 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXAudio2 *This); + + /*** IXAudio2 methods ***/ + HRESULT (STDMETHODCALLTYPE *RegisterForCallbacks)( + IXAudio2 *This, + IXAudio2EngineCallback *pCallback); + + void (STDMETHODCALLTYPE *UnregisterForCallbacks)( + IXAudio2 *This, + IXAudio2EngineCallback *pCallback); + + HRESULT (STDMETHODCALLTYPE *CreateSourceVoice)( + IXAudio2 *This, + IXAudio2SourceVoice **ppSourceVoice, + const WAVEFORMATEX *pSourceFormat, + UINT32 Flags, + float MaxFrequencyRatio, + IXAudio2VoiceCallback *pCallback, + const XAUDIO2_VOICE_SENDS *pSendList, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *CreateSubmixVoice)( + IXAudio2 *This, + IXAudio2SubmixVoice **ppSubmixVoice, + UINT32 InputChannels, + UINT32 InputSampleRate, + UINT32 Flags, + UINT32 ProcessingStage, + const XAUDIO2_VOICE_SENDS *pSendList, + const XAUDIO2_EFFECT_CHAIN *pEffectChain); + + HRESULT (STDMETHODCALLTYPE *CreateMasteringVoice)( + IXAudio2 *This, + IXAudio2MasteringVoice **ppMasteringVoice, + UINT32 InputChannels, + UINT32 InputSampleRate, + UINT32 Flags, + LPCWSTR DeviceId, + const XAUDIO2_EFFECT_CHAIN *pEffectChain, + AUDIO_STREAM_CATEGORY category); + + HRESULT (STDMETHODCALLTYPE *StartEngine)( + IXAudio2 *This); + + void (STDMETHODCALLTYPE *StopEngine)( + IXAudio2 *This); + + HRESULT (STDMETHODCALLTYPE *CommitChanges)( + IXAudio2 *This, + UINT32 OperationSet); + + void (STDMETHODCALLTYPE *GetPerformanceData)( + IXAudio2 *This, + XAUDIO2_PERFORMANCE_DATA *pPerfData); + + void (STDMETHODCALLTYPE *SetDebugConfiguration)( + IXAudio2 *This, + const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration, + void *pReserved); + + END_INTERFACE +} IXAudio2Vtbl; + +interface IXAudio2 { + CONST_VTBL IXAudio2Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXAudio2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAudio2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAudio2_Release(This) (This)->lpVtbl->Release(This) +/*** IXAudio2 methods ***/ +#define IXAudio2_RegisterForCallbacks(This,pCallback) (This)->lpVtbl->RegisterForCallbacks(This,pCallback) +#define IXAudio2_UnregisterForCallbacks(This,pCallback) (This)->lpVtbl->UnregisterForCallbacks(This,pCallback) +#define IXAudio2_CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) (This)->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain) +#define IXAudio2_CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) (This)->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain) +#define IXAudio2_CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,category) (This)->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,category) +#define IXAudio2_StartEngine(This) (This)->lpVtbl->StartEngine(This) +#define IXAudio2_StopEngine(This) (This)->lpVtbl->StopEngine(This) +#define IXAudio2_CommitChanges(This,OperationSet) (This)->lpVtbl->CommitChanges(This,OperationSet) +#define IXAudio2_GetPerformanceData(This,pPerfData) (This)->lpVtbl->GetPerformanceData(This,pPerfData) +#define IXAudio2_SetDebugConfiguration(This,pDebugConfiguration,pReserved) (This)->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXAudio2_QueryInterface(IXAudio2* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXAudio2_AddRef(IXAudio2* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXAudio2_Release(IXAudio2* This) { + return This->lpVtbl->Release(This); +} +/*** IXAudio2 methods ***/ +static inline HRESULT IXAudio2_RegisterForCallbacks(IXAudio2* This,IXAudio2EngineCallback *pCallback) { + return This->lpVtbl->RegisterForCallbacks(This,pCallback); +} +static inline void IXAudio2_UnregisterForCallbacks(IXAudio2* This,IXAudio2EngineCallback *pCallback) { + This->lpVtbl->UnregisterForCallbacks(This,pCallback); +} +static inline HRESULT IXAudio2_CreateSourceVoice(IXAudio2* This,IXAudio2SourceVoice **ppSourceVoice,const WAVEFORMATEX *pSourceFormat,UINT32 Flags,float MaxFrequencyRatio,IXAudio2VoiceCallback *pCallback,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->CreateSourceVoice(This,ppSourceVoice,pSourceFormat,Flags,MaxFrequencyRatio,pCallback,pSendList,pEffectChain); +} +static inline HRESULT IXAudio2_CreateSubmixVoice(IXAudio2* This,IXAudio2SubmixVoice **ppSubmixVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,UINT32 ProcessingStage,const XAUDIO2_VOICE_SENDS *pSendList,const XAUDIO2_EFFECT_CHAIN *pEffectChain) { + return This->lpVtbl->CreateSubmixVoice(This,ppSubmixVoice,InputChannels,InputSampleRate,Flags,ProcessingStage,pSendList,pEffectChain); +} +static inline HRESULT IXAudio2_CreateMasteringVoice(IXAudio2* This,IXAudio2MasteringVoice **ppMasteringVoice,UINT32 InputChannels,UINT32 InputSampleRate,UINT32 Flags,LPCWSTR DeviceId,const XAUDIO2_EFFECT_CHAIN *pEffectChain,AUDIO_STREAM_CATEGORY category) { + return This->lpVtbl->CreateMasteringVoice(This,ppMasteringVoice,InputChannels,InputSampleRate,Flags,DeviceId,pEffectChain,category); +} +static inline HRESULT IXAudio2_StartEngine(IXAudio2* This) { + return This->lpVtbl->StartEngine(This); +} +static inline void IXAudio2_StopEngine(IXAudio2* This) { + This->lpVtbl->StopEngine(This); +} +static inline HRESULT IXAudio2_CommitChanges(IXAudio2* This,UINT32 OperationSet) { + return This->lpVtbl->CommitChanges(This,OperationSet); +} +static inline void IXAudio2_GetPerformanceData(IXAudio2* This,XAUDIO2_PERFORMANCE_DATA *pPerfData) { + This->lpVtbl->GetPerformanceData(This,pPerfData); +} +static inline void IXAudio2_SetDebugConfiguration(IXAudio2* This,const XAUDIO2_DEBUG_CONFIGURATION *pDebugConfiguration,void *pReserved) { + This->lpVtbl->SetDebugConfiguration(This,pDebugConfiguration,pReserved); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXAudio2Extension interface + */ +#ifndef __IXAudio2Extension_INTERFACE_DEFINED__ +#define __IXAudio2Extension_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXAudio2Extension, 0x84ac29bb, 0xd619, 0x44d2, 0xb1,0x97, 0xe4,0xac,0xf7,0xdf,0x3e,0xd6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("84ac29bb-d619-44d2-b197-e4acf7df3ed6") +IXAudio2Extension : public IUnknown +{ + virtual void STDMETHODCALLTYPE GetProcessingQuantum( + UINT32 *quantum_numerator, + UINT32 *quantum_denominator) = 0; + + virtual void STDMETHODCALLTYPE GetProcessor( + XAUDIO2_PROCESSOR *processor) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXAudio2Extension, 0x84ac29bb, 0xd619, 0x44d2, 0xb1,0x97, 0xe4,0xac,0xf7,0xdf,0x3e,0xd6) +#endif +#else +typedef struct IXAudio2ExtensionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXAudio2Extension *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXAudio2Extension *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXAudio2Extension *This); + + /*** IXAudio2Extension methods ***/ + void (STDMETHODCALLTYPE *GetProcessingQuantum)( + IXAudio2Extension *This, + UINT32 *quantum_numerator, + UINT32 *quantum_denominator); + + void (STDMETHODCALLTYPE *GetProcessor)( + IXAudio2Extension *This, + XAUDIO2_PROCESSOR *processor); + + END_INTERFACE +} IXAudio2ExtensionVtbl; + +interface IXAudio2Extension { + CONST_VTBL IXAudio2ExtensionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXAudio2Extension_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXAudio2Extension_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXAudio2Extension_Release(This) (This)->lpVtbl->Release(This) +/*** IXAudio2Extension methods ***/ +#define IXAudio2Extension_GetProcessingQuantum(This,quantum_numerator,quantum_denominator) (This)->lpVtbl->GetProcessingQuantum(This,quantum_numerator,quantum_denominator) +#define IXAudio2Extension_GetProcessor(This,processor) (This)->lpVtbl->GetProcessor(This,processor) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXAudio2Extension_QueryInterface(IXAudio2Extension* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXAudio2Extension_AddRef(IXAudio2Extension* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXAudio2Extension_Release(IXAudio2Extension* This) { + return This->lpVtbl->Release(This); +} +/*** IXAudio2Extension methods ***/ +static inline void IXAudio2Extension_GetProcessingQuantum(IXAudio2Extension* This,UINT32 *quantum_numerator,UINT32 *quantum_denominator) { + This->lpVtbl->GetProcessingQuantum(This,quantum_numerator,quantum_denominator); +} +static inline void IXAudio2Extension_GetProcessor(IXAudio2Extension* This,XAUDIO2_PROCESSOR *processor) { + This->lpVtbl->GetProcessor(This,processor); +} +#endif +#endif + +#endif + + +#endif /* __IXAudio2Extension_INTERFACE_DEFINED__ */ + +#define XAUDIO2_DEBUG_ENGINE (0x1) + +#define XAUDIO2_VOICE_NOPITCH (0x2) + +#define XAUDIO2_VOICE_NOSRC (0x4) + +#define XAUDIO2_VOICE_USEFILTER (0x8) + +#define XAUDIO2_VOICE_MUSIC (0x10) + +#define XAUDIO2_PLAY_TAILS (0x20) + +#define XAUDIO2_END_OF_STREAM (0x40) + +#define XAUDIO2_SEND_USEFILTER (0x80) + +#define XAUDIO2_VOICE_NOSAMPLESPLAYED (0x100) + +#define XAUDIO2_DEFAULT_FILTER_TYPE (LowPassFilter) + +#define XAUDIO2_DEFAULT_FILTER_FREQUENCY (XAUDIO2_MAX_FILTER_FREQUENCY) + +#define XAUDIO2_DEFAULT_FILTER_ONEOVERQ (1.00000000000000) + +#define XAUDIO2_QUANTUM_NUMERATOR (1) + +#define XAUDIO2_QUANTUM_DENOMINATOR (100) + +#define XAUDIO2_QUANTUM_MS ((1000.00000000000 * XAUDIO2_QUANTUM_NUMERATOR) / XAUDIO2_QUANTUM_DENOMINATOR) + +#define XAUDIO2_E_INVALID_CALL ((HRESULT)0x88960001) +#define XAUDIO2_E_XMA_DECODER_ERROR ((HRESULT)0x88960002) +#define XAUDIO2_E_XAPO_CREATION_FAILED ((HRESULT)0x88960003) +#define XAUDIO2_E_DEVICE_INVALIDATED ((HRESULT)0x88960004) +#ifdef XAUDIO2_HELPER_FUNCTIONS +#define _USE_MATH_DEFINES +#include +inline static float XAudio2DecibelsToAmplitudeRatio(float decibels) { return powf(10.0f, decibels/20.0f); } +inline static float XAudio2AmplitudeRatioToDecibels(float volume) { if (volume == 0) { return -3.402823466e+38f; } return 20.0f * log10f(volume); } +inline static float XAudio2SemitonesToFrequencyRatio(float semitones) { return powf(2.0f, semitones/12.0f); } +inline static float XAudio2FrequencyRatioToSemitones(float freqratio) { return 39.86313713864835f * log10f(freqratio); } +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 +HRESULT WINAPI XAudio2Create(IXAudio2** pxaudio2, UINT32 flags, XAUDIO2_PROCESSOR processor); +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xaudio2_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2fx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2fx.h new file mode 100644 index 00000000..8d859970 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xaudio2fx.h @@ -0,0 +1,42 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xaudio2fx.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 __xaudio2fx_h__ +#define __xaudio2fx_h__ + +/* Forward declarations */ + +/* Headers for imported files */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +HRESULT __stdcall CreateAudioReverb(IUnknown **out); + +HRESULT __stdcall CreateAudioVolumeMeter(IUnknown **out); + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xaudio2fx_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmc.h new file mode 100644 index 00000000..08723e1f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmc.h @@ -0,0 +1,264 @@ +/** + * 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 _XCMC_H +#define _XCMC_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef DIFFERENT_PLATFORM + typedef char CMC_sint8; + typedef short CMC_sint16; + typedef __LONG32 CMC_sint32; + typedef unsigned short int CMC_uint16; + typedef unsigned __LONG32 CMC_uint32; + typedef void *CMC_buffer; + typedef char *CMC_string; +#endif + + typedef CMC_uint16 CMC_boolean; + typedef CMC_sint32 CMC_enum; + typedef CMC_uint32 CMC_return_code; + typedef CMC_uint32 CMC_flags; + typedef CMC_string CMC_object_identifier; + +#define CMC_FALSE ((CMC_boolean)0) +#define CMC_TRUE ((CMC_boolean)1) + + typedef struct { + CMC_uint32 length; + char string[1]; + } CMC_counted_string; + + typedef CMC_uint32 CMC_session_id; + + typedef struct { + CMC_sint8 second; + CMC_sint8 minute; + CMC_sint8 hour; + CMC_sint8 day; + CMC_sint8 month; + CMC_sint8 year; + CMC_sint8 isdst; + CMC_sint8 unused1; + CMC_sint16 tmzone; + CMC_sint16 unused2; + } CMC_time; + +#define CMC_NO_TIMEZONE ((CMC_sint16) 0x8000) + + typedef CMC_uint32 CMC_ui_id; + + typedef struct { + CMC_uint32 item_code; + CMC_uint32 item_data; + CMC_buffer item_reference; + CMC_flags extension_flags; + } CMC_extension; + +#define CMC_EXT_REQUIRED ((CMC_flags) 0x00010000) +#define CMC_EXT_OUTPUT ((CMC_flags) 0x00020000) +#define CMC_EXT_LAST_ELEMENT ((CMC_flags) 0x80000000) +#define CMC_EXT_RSV_FLAG_MASK ((CMC_flags) 0xFFFF0000) +#define CMC_EXT_ITEM_FLAG_MASK ((CMC_flags) 0x0000FFFF) + + typedef struct { + CMC_string attach_title; + CMC_object_identifier attach_type; + CMC_string attach_filename; + CMC_flags attach_flags; + CMC_extension *attach_extensions; + } CMC_attachment; + +#define CMC_ATT_APP_OWNS_FILE ((CMC_flags) 1) +#define CMC_ATT_LAST_ELEMENT ((CMC_flags) 0x80000000) + +#define CMC_ATT_OID_BINARY "? ? ? ? ? ?" +#define CMC_ATT_OID_TEXT "? ? ? ? ? ?" + + typedef CMC_counted_string CMC_message_reference; + + typedef struct { + CMC_string name; + CMC_enum name_type; + CMC_string address; + CMC_enum role; + CMC_flags recip_flags; + CMC_extension *recip_extensions; + } CMC_recipient; + +#define CMC_TYPE_UNKNOWN ((CMC_enum) 0) +#define CMC_TYPE_INDIVIDUAL ((CMC_enum) 1) +#define CMC_TYPE_GROUP ((CMC_enum) 2) + +#define CMC_ROLE_TO ((CMC_enum) 0) +#define CMC_ROLE_CC ((CMC_enum) 1) +#define CMC_ROLE_BCC ((CMC_enum) 2) +#define CMC_ROLE_ORIGINATOR ((CMC_enum) 3) +#define CMC_ROLE_AUTHORIZING_USER ((CMC_enum) 4) + +#define CMC_RECIP_IGNORE ((CMC_flags) 1) +#define CMC_RECIP_LIST_TRUNCATED ((CMC_flags) 2) +#define CMC_RECIP_LAST_ELEMENT ((CMC_flags) 0x80000000) + + typedef struct { + CMC_message_reference *message_reference; + CMC_string message_type; + CMC_string subject; + CMC_time time_sent; + CMC_string text_note; + CMC_recipient *recipients; + CMC_attachment *attachments; + CMC_flags message_flags; + CMC_extension *message_extensions; + } CMC_message; + +#define CMC_MSG_READ ((CMC_flags) 1) +#define CMC_MSG_TEXT_NOTE_AS_FILE ((CMC_flags) 2) +#define CMC_MSG_UNSENT ((CMC_flags) 4) +#define CMC_MSG_LAST_ELEMENT ((CMC_flags) 0x80000000) + + typedef struct { + CMC_message_reference *message_reference; + CMC_string message_type; + CMC_string subject; + CMC_time time_sent; + CMC_uint32 byte_length; + CMC_recipient *originator; + CMC_flags summary_flags; + CMC_extension *message_summary_extensions; + } CMC_message_summary; + +#define CMC_SUM_READ ((CMC_flags) 1) +#define CMC_SUM_UNSENT ((CMC_flags) 2) +#define CMC_SUM_LAST_ELEMENT ((CMC_flags) 0x80000000) + +#define CMC_ERROR_UI_ALLOWED ((CMC_flags) 0x01000000) +#define CMC_LOGON_UI_ALLOWED ((CMC_flags) 0x02000000) +#define CMC_COUNTED_STRING_TYPE ((CMC_flags) 0x04000000) + + CMC_return_code WINAPI cmc_send(CMC_session_id session,CMC_message *message,CMC_flags send_flags,CMC_ui_id ui_id,CMC_extension *send_extensions); + +#define CMC_SEND_UI_REQUESTED ((CMC_flags) 1) + + CMC_return_code WINAPI cmc_send_documents(CMC_string recipient_addresses,CMC_string subject,CMC_string text_note,CMC_flags send_doc_flags,CMC_string file_paths,CMC_string file_names,CMC_string delimiter,CMC_ui_id ui_id); + +#define CMC_FIRST_ATTACH_AS_TEXT_NOTE ((CMC_flags) 2) + + CMC_return_code WINAPI cmc_act_on(CMC_session_id session,CMC_message_reference *message_reference,CMC_enum operation,CMC_flags act_on_flags,CMC_ui_id ui_id,CMC_extension *act_on_extensions); + +#define CMC_ACT_ON_EXTENDED ((CMC_enum) 0) +#define CMC_ACT_ON_DELETE ((CMC_enum) 1) + + CMC_return_code WINAPI cmc_list(CMC_session_id session,CMC_string message_type,CMC_flags list_flags,CMC_message_reference *seed,CMC_uint32 *count,CMC_ui_id ui_id,CMC_message_summary **result,CMC_extension *list_extensions); + +#define CMC_LIST_UNREAD_ONLY ((CMC_flags) 1) +#define CMC_LIST_MSG_REFS_ONLY ((CMC_flags) 2) +#define CMC_LIST_COUNT_ONLY ((CMC_flags) 4) + +#define CMC_LENGTH_UNKNOWN 0xFFFFFFFF + + CMC_return_code WINAPI cmc_read(CMC_session_id session,CMC_message_reference *message_reference,CMC_flags read_flags,CMC_message **message,CMC_ui_id ui_id,CMC_extension *read_extensions); + +#define CMC_DO_NOT_MARK_AS_READ ((CMC_flags) 1) +#define CMC_MSG_AND_ATT_HDRS_ONLY ((CMC_flags) 2) +#define CMC_READ_FIRST_UNREAD_MESSAGE ((CMC_flags) 4) + + CMC_return_code WINAPI cmc_look_up(CMC_session_id session,CMC_recipient *recipient_in,CMC_flags look_up_flags,CMC_ui_id ui_id,CMC_uint32 *count,CMC_recipient **recipient_out,CMC_extension *look_up_extensions); + +#define CMC_LOOKUP_RESOLVE_PREFIX_SEARCH ((CMC_flags) 1) +#define CMC_LOOKUP_RESOLVE_IDENTITY ((CMC_flags) 2) +#define CMC_LOOKUP_RESOLVE_UI ((CMC_flags) 4) +#define CMC_LOOKUP_DETAILS_UI ((CMC_flags) 8) +#define CMC_LOOKUP_ADDRESSING_UI ((CMC_flags) 16) + + CMC_return_code WINAPI cmc_free(CMC_buffer memory); + CMC_return_code WINAPI cmc_logoff(CMC_session_id session,CMC_ui_id ui_id,CMC_flags logoff_flags,CMC_extension *logoff_extensions); + +#define CMC_LOGOFF_UI_ALLOWED ((CMC_flags) 1) + + CMC_return_code WINAPI cmc_logon(CMC_string service,CMC_string user,CMC_string password,CMC_object_identifier character_set,CMC_ui_id ui_id,CMC_uint16 caller_cmc_version,CMC_flags logon_flags,CMC_session_id *session,CMC_extension *logon_extensions); + +#define CMC_VERSION ((CMC_uint16) 100) + + CMC_return_code WINAPI cmc_query_configuration(CMC_session_id session,CMC_enum item,CMC_buffer reference,CMC_extension *config_extensions); + +#define CMC_CONFIG_CHARACTER_SET ((CMC_enum) 1) +#define CMC_CONFIG_LINE_TERM ((CMC_enum) 2) +#define CMC_CONFIG_DEFAULT_SERVICE ((CMC_enum) 3) +#define CMC_CONFIG_DEFAULT_USER ((CMC_enum) 4) +#define CMC_CONFIG_REQ_PASSWORD ((CMC_enum) 5) +#define CMC_CONFIG_REQ_SERVICE ((CMC_enum) 6) +#define CMC_CONFIG_REQ_USER ((CMC_enum) 7) +#define CMC_CONFIG_UI_AVAIL ((CMC_enum) 8) +#define CMC_CONFIG_SUP_NOMKMSGREAD ((CMC_enum) 9) +#define CMC_CONFIG_SUP_COUNTED_STR ((CMC_enum) 10) +#define CMC_CONFIG_VER_IMPLEM ((CMC_enum) 11) +#define CMC_CONFIG_VER_SPEC ((CMC_enum) 12) + +#define CMC_LINE_TERM_CRLF ((CMC_enum) 0) +#define CMC_LINE_TERM_CR ((CMC_enum) 1) +#define CMC_LINE_TERM_LF ((CMC_enum) 2) + +#define CMC_REQUIRED_NO ((CMC_enum) 0) +#define CMC_REQUIRED_YES ((CMC_enum) 1) +#define CMC_REQUIRED_OPT ((CMC_enum) 2) + +#define CMC_CHAR_CP437 "1 2 840 113556 3 2 437" +#define CMC_CHAR_CP850 "1 2 840 113556 3 2 850" +#define CMC_CHAR_CP1252 "1 2 840 113556 3 2 1252" +#define CMC_CHAR_ISTRING "1 2 840 113556 3 2 0" +#define CMC_CHAR_UNICODE "1 2 840 113556 3 2 1" + +#define CMC_ERROR_DISPLAYED ((CMC_return_code) 0x00008000) +#define CMC_ERROR_RSV_MASK ((CMC_return_code) 0x0000FFFF) +#define CMC_ERROR_IMPL_MASK ((CMC_return_code) 0xFFFF0000) + +#define CMC_SUCCESS ((CMC_return_code) 0) + +#define CMC_E_AMBIGUOUS_RECIPIENT ((CMC_return_code) 1) +#define CMC_E_ATTACHMENT_NOT_FOUND ((CMC_return_code) 2) +#define CMC_E_ATTACHMENT_OPEN_FAILURE ((CMC_return_code) 3) +#define CMC_E_ATTACHMENT_READ_FAILURE ((CMC_return_code) 4) +#define CMC_E_ATTACHMENT_WRITE_FAILURE ((CMC_return_code) 5) +#define CMC_E_COUNTED_STRING_UNSUPPORTED ((CMC_return_code) 6) +#define CMC_E_DISK_FULL ((CMC_return_code) 7) +#define CMC_E_FAILURE ((CMC_return_code) 8) +#define CMC_E_INSUFFICIENT_MEMORY ((CMC_return_code) 9) +#define CMC_E_INVALID_CONFIGURATION ((CMC_return_code) 10) +#define CMC_E_INVALID_ENUM ((CMC_return_code) 11) +#define CMC_E_INVALID_FLAG ((CMC_return_code) 12) +#define CMC_E_INVALID_MEMORY ((CMC_return_code) 13) +#define CMC_E_INVALID_MESSAGE_PARAMETER ((CMC_return_code) 14) +#define CMC_E_INVALID_MESSAGE_REFERENCE ((CMC_return_code) 15) +#define CMC_E_INVALID_PARAMETER ((CMC_return_code) 16) +#define CMC_E_INVALID_SESSION_ID ((CMC_return_code) 17) +#define CMC_E_INVALID_UI_ID ((CMC_return_code) 18) +#define CMC_E_LOGON_FAILURE ((CMC_return_code) 19) +#define CMC_E_MESSAGE_IN_USE ((CMC_return_code) 20) +#define CMC_E_NOT_SUPPORTED ((CMC_return_code) 21) +#define CMC_E_PASSWORD_REQUIRED ((CMC_return_code) 22) +#define CMC_E_RECIPIENT_NOT_FOUND ((CMC_return_code) 23) +#define CMC_E_SERVICE_UNAVAILABLE ((CMC_return_code) 24) +#define CMC_E_TEXT_TOO_LARGE ((CMC_return_code) 25) +#define CMC_E_TOO_MANY_FILES ((CMC_return_code) 26) +#define CMC_E_TOO_MANY_RECIPIENTS ((CMC_return_code) 27) +#define CMC_E_UNABLE_TO_NOT_MARK_AS_READ ((CMC_return_code) 28) +#define CMC_E_UNRECOGNIZED_MESSAGE_TYPE ((CMC_return_code) 29) +#define CMC_E_UNSUPPORTED_ACTION ((CMC_return_code) 30) +#define CMC_E_UNSUPPORTED_CHARACTER_SET ((CMC_return_code) 31) +#define CMC_E_UNSUPPORTED_DATA_EXT ((CMC_return_code) 32) +#define CMC_E_UNSUPPORTED_FLAG ((CMC_return_code) 33) +#define CMC_E_UNSUPPORTED_FUNCTION_EXT ((CMC_return_code) 34) +#define CMC_E_UNSUPPORTED_VERSION ((CMC_return_code) 35) +#define CMC_E_USER_CANCEL ((CMC_return_code) 36) +#define CMC_E_USER_NOT_LOGGED_ON ((CMC_return_code) 37) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcext.h new file mode 100644 index 00000000..fa0b0d4b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcext.h @@ -0,0 +1,63 @@ +/** + * 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 _XCMCEXT_H +#define _XCMCEXT_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define CMC_XS_COM ((CMC_uint32) 0) +#define CMC_X_COM_SUPPORT_EXT ((CMC_uint32) 16) + + typedef struct { + CMC_uint32 item_code; + CMC_flags flags; + } CMC_X_COM_support; + +#define CMC_X_COM_SUPPORTED ((CMC_flags) 1) +#define CMC_X_COM_NOT_SUPPORTED ((CMC_flags) 2) +#define CMC_X_COM_DATA_EXT_SUPPORTED ((CMC_flags) 4) +#define CMC_X_COM_FUNC_EXT_SUPPORTED ((CMC_flags) 8) +#define CMC_X_COM_SUP_EXCLUDE ((CMC_flags) 16) + +#define CMC_X_COM_CONFIG_DATA ((CMC_uint32) 17) + + typedef struct { + CMC_uint16 ver_spec; + CMC_uint16 ver_implem; + CMC_object_identifier *character_set; + CMC_enum line_term; + CMC_string default_service; + CMC_string default_user; + CMC_enum req_password; + CMC_enum req_service; + CMC_enum req_user; + CMC_boolean ui_avail; + CMC_boolean sup_nomkmsgread; + CMC_boolean sup_counted_str; + } CMC_X_COM_configuration; + +#define CMC_X_COM_CAN_SEND_RECIP ((CMC_uint32) 18) +#define CMC_X_COM_READY ((CMC_enum) 0) +#define CMC_X_COM_NOT_READY ((CMC_enum) 1) +#define CMC_X_COM_DEFER ((CMC_enum) 2) +#define CMC_X_COM_SAVE_MESSAGE ((CMC_uint32) 19) +#define CMC_X_COM_SENT_MESSAGE ((CMC_uint32) 20) +#define CMC_X_COM_TIME_RECEIVED ((CMC_uint32) 128) +#define CMC_X_COM_RECIP_ID ((CMC_uint32) 129) +#define CMC_X_COM_ATTACH_CHARPOS ((CMC_uint32) 130) +#define CMC_X_COM_PRIORITY ((CMC_uint32) 131) +#define CMC_X_COM_NORMAL ((CMC_enum) 0) +#define CMC_X_COM_URGENT ((CMC_enum) 1) +#define CMC_X_COM_LOW ((CMC_enum) 2) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsx2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsx2.h new file mode 100644 index 00000000..c40f4c93 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsx2.h @@ -0,0 +1,33 @@ +/** + * 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 _XCMCMSX2_H +#define _XCMCMSX2_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef MAPIX_H + STDMETHODIMP_(SCODE) ScMAPIXFromCMC(CMC_session_id cmc_session,ULONG ulFlags,LPCIID lpInterface,LPMAPISESSION *lppMAPISession); +#endif + +#define CMC_X_MS_ATTACH_MESSAGE ((CMC_flags) 4) + + typedef struct { + CMC_message_reference *message; + CMC_uint32 id; + CMC_buffer object; + } CMC_X_MS_ATTACH; + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsxt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsxt.h new file mode 100644 index 00000000..abb45036 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xcmcmsxt.h @@ -0,0 +1,34 @@ +/** + * 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 XCMCMSXT_H +#define XCMCMSXT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define MS_EXT_SET_ID (512) + +#define CMC_XS_MS ((CMC_uint32) MS_EXT_SET_ID) +#define CMC_X_MS_SESSION_FLAGS ((CMC_uint32) MS_EXT_SET_ID + 16) +#define CMC_X_MS_NEW_SESSION ((CMC_flags) 1) +#define CMC_X_MS_FORCE_DOWNLOAD ((CMC_flags) 4) +#define CMC_X_MS_FUNCTION_FLAGS ((CMC_uint32) MS_EXT_SET_ID + 17) +#define CMC_X_MS_READ_ENV_ONLY ((CMC_flags) 1) +#define CMC_X_MS_READ_BODY_AS_FILE ((CMC_flags) 2) +#define CMC_X_MS_LIST_GUARANTEE_FIFO ((CMC_flags) 4) +#define CMC_X_MS_AB_NO_MODIFY ((CMC_flags) 8) +#define CMC_X_MS_ADDRESS_UI ((CMC_uint32) MS_EXT_SET_ID + 18) +#define CMC_X_MS_ATTACH_DATA ((CMC_uint32) MS_EXT_SET_ID + 128) +#define CMC_X_MS_ATTACH_OLE ((CMC_flags) 1) +#define CMC_X_MS_ATTACH_OLE_STATIC ((CMC_flags) 2) +#define CMC_X_MS_MESSAGE_DATA ((CMC_uint32) MS_EXT_SET_ID + 129) +#define CMC_X_MS_MSG_RECEIPT_REQ ((CMC_flags) 1) + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xenroll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xenroll.h new file mode 100644 index 00000000..5f873244 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xenroll.h @@ -0,0 +1,2263 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __xenroll_h__ +#define __xenroll_h__ + +#ifndef __ICEnroll_FWD_DEFINED__ +#define __ICEnroll_FWD_DEFINED__ +typedef struct ICEnroll ICEnroll; +#endif + +#ifndef __ICEnroll2_FWD_DEFINED__ +#define __ICEnroll2_FWD_DEFINED__ +typedef struct ICEnroll2 ICEnroll2; +#endif + +#ifndef __ICEnroll3_FWD_DEFINED__ +#define __ICEnroll3_FWD_DEFINED__ +typedef struct ICEnroll3 ICEnroll3; +#endif + +#ifndef __ICEnroll4_FWD_DEFINED__ +#define __ICEnroll4_FWD_DEFINED__ +typedef struct ICEnroll4 ICEnroll4; +#endif + +#ifndef __IEnroll_FWD_DEFINED__ +#define __IEnroll_FWD_DEFINED__ +typedef struct IEnroll IEnroll; +#endif + +#ifndef __IEnroll2_FWD_DEFINED__ +#define __IEnroll2_FWD_DEFINED__ +typedef struct IEnroll2 IEnroll2; +#endif + +#ifndef __IEnroll4_FWD_DEFINED__ +#define __IEnroll4_FWD_DEFINED__ +typedef struct IEnroll4 IEnroll4; +#endif + +#ifndef __CEnroll2_FWD_DEFINED__ +#define __CEnroll2_FWD_DEFINED__ + +#ifdef __cplusplus +typedef class CEnroll2 CEnroll2; +#else +typedef struct CEnroll2 CEnroll2; +#endif +#endif + +#ifndef __CEnroll_FWD_DEFINED__ +#define __CEnroll_FWD_DEFINED__ +#ifdef __cplusplus +typedef class CEnroll CEnroll; +#else +typedef struct CEnroll CEnroll; +#endif +#endif + +#include "oaidl.h" +#include "ocidl.h" +#include "wincrypt.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define __MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#ifndef __ICEnroll_INTERFACE_DEFINED__ +#define __ICEnroll_INTERFACE_DEFINED__ + + extern const IID IID_ICEnroll; + +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct ICEnroll : public IDispatch { + public: + virtual HRESULT WINAPI createFilePKCS10(BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName) = 0; + virtual HRESULT WINAPI acceptFilePKCS7(BSTR wszPKCS7FileName) = 0; + virtual HRESULT WINAPI createPKCS10(BSTR DNName,BSTR Usage,BSTR *pPKCS10) = 0; + virtual HRESULT WINAPI acceptPKCS7(BSTR PKCS7) = 0; + virtual HRESULT WINAPI getCertFromPKCS7(BSTR wszPKCS7,BSTR *pbstrCert) = 0; + virtual HRESULT WINAPI enumProviders(LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName) = 0; + virtual HRESULT WINAPI enumContainers(LONG dwIndex,BSTR *pbstr) = 0; + virtual HRESULT WINAPI freeRequestInfo(BSTR PKCS7OrPKCS10) = 0; + virtual HRESULT WINAPI get_MyStoreName(BSTR *pbstrName) = 0; + virtual HRESULT WINAPI put_MyStoreName(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_MyStoreType(BSTR *pbstrType) = 0; + virtual HRESULT WINAPI put_MyStoreType(BSTR bstrType) = 0; + virtual HRESULT WINAPI get_MyStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_MyStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_CAStoreName(BSTR *pbstrName) = 0; + virtual HRESULT WINAPI put_CAStoreName(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_CAStoreType(BSTR *pbstrType) = 0; + virtual HRESULT WINAPI put_CAStoreType(BSTR bstrType) = 0; + virtual HRESULT WINAPI get_CAStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_CAStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_RootStoreName(BSTR *pbstrName) = 0; + virtual HRESULT WINAPI put_RootStoreName(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_RootStoreType(BSTR *pbstrType) = 0; + virtual HRESULT WINAPI put_RootStoreType(BSTR bstrType) = 0; + virtual HRESULT WINAPI get_RootStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_RootStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_RequestStoreName(BSTR *pbstrName) = 0; + virtual HRESULT WINAPI put_RequestStoreName(BSTR bstrName) = 0; + virtual HRESULT WINAPI get_RequestStoreType(BSTR *pbstrType) = 0; + virtual HRESULT WINAPI put_RequestStoreType(BSTR bstrType) = 0; + virtual HRESULT WINAPI get_RequestStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_RequestStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_ContainerName(BSTR *pbstrContainer) = 0; + virtual HRESULT WINAPI put_ContainerName(BSTR bstrContainer) = 0; + virtual HRESULT WINAPI get_ProviderName(BSTR *pbstrProvider) = 0; + virtual HRESULT WINAPI put_ProviderName(BSTR bstrProvider) = 0; + virtual HRESULT WINAPI get_ProviderType(LONG *pdwType) = 0; + virtual HRESULT WINAPI put_ProviderType(LONG dwType) = 0; + virtual HRESULT WINAPI get_KeySpec(LONG *pdw) = 0; + virtual HRESULT WINAPI put_KeySpec(LONG dw) = 0; + virtual HRESULT WINAPI get_ProviderFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_ProviderFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_UseExistingKeySet(WINBOOL *fUseExistingKeys) = 0; + virtual HRESULT WINAPI put_UseExistingKeySet(WINBOOL fUseExistingKeys) = 0; + virtual HRESULT WINAPI get_GenKeyFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_GenKeyFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_DeleteRequestCert(WINBOOL *fDelete) = 0; + virtual HRESULT WINAPI put_DeleteRequestCert(WINBOOL fDelete) = 0; + virtual HRESULT WINAPI get_WriteCertToCSP(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_WriteCertToCSP(WINBOOL fBool) = 0; + virtual HRESULT WINAPI get_SPCFileName(BSTR *pbstr) = 0; + virtual HRESULT WINAPI put_SPCFileName(BSTR bstr) = 0; + virtual HRESULT WINAPI get_PVKFileName(BSTR *pbstr) = 0; + virtual HRESULT WINAPI put_PVKFileName(BSTR bstr) = 0; + virtual HRESULT WINAPI get_HashAlgorithm(BSTR *pbstr) = 0; + virtual HRESULT WINAPI put_HashAlgorithm(BSTR bstr) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct ICEnrollVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ICEnroll *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ICEnroll *This); + ULONG (WINAPI *Release)(ICEnroll *This); + HRESULT (WINAPI *GetTypeInfoCount)(ICEnroll *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ICEnroll *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ICEnroll *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ICEnroll *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *createFilePKCS10)(ICEnroll *This,BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7)(ICEnroll *This,BSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10)(ICEnroll *This,BSTR DNName,BSTR Usage,BSTR *pPKCS10); + HRESULT (WINAPI *acceptPKCS7)(ICEnroll *This,BSTR PKCS7); + HRESULT (WINAPI *getCertFromPKCS7)(ICEnroll *This,BSTR wszPKCS7,BSTR *pbstrCert); + HRESULT (WINAPI *enumProviders)(ICEnroll *This,LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName); + HRESULT (WINAPI *enumContainers)(ICEnroll *This,LONG dwIndex,BSTR *pbstr); + HRESULT (WINAPI *freeRequestInfo)(ICEnroll *This,BSTR PKCS7OrPKCS10); + HRESULT (WINAPI *get_MyStoreName)(ICEnroll *This,BSTR *pbstrName); + HRESULT (WINAPI *put_MyStoreName)(ICEnroll *This,BSTR bstrName); + HRESULT (WINAPI *get_MyStoreType)(ICEnroll *This,BSTR *pbstrType); + HRESULT (WINAPI *put_MyStoreType)(ICEnroll *This,BSTR bstrType); + HRESULT (WINAPI *get_MyStoreFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreName)(ICEnroll *This,BSTR *pbstrName); + HRESULT (WINAPI *put_CAStoreName)(ICEnroll *This,BSTR bstrName); + HRESULT (WINAPI *get_CAStoreType)(ICEnroll *This,BSTR *pbstrType); + HRESULT (WINAPI *put_CAStoreType)(ICEnroll *This,BSTR bstrType); + HRESULT (WINAPI *get_CAStoreFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreName)(ICEnroll *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RootStoreName)(ICEnroll *This,BSTR bstrName); + HRESULT (WINAPI *get_RootStoreType)(ICEnroll *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RootStoreType)(ICEnroll *This,BSTR bstrType); + HRESULT (WINAPI *get_RootStoreFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreName)(ICEnroll *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RequestStoreName)(ICEnroll *This,BSTR bstrName); + HRESULT (WINAPI *get_RequestStoreType)(ICEnroll *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RequestStoreType)(ICEnroll *This,BSTR bstrType); + HRESULT (WINAPI *get_RequestStoreFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerName)(ICEnroll *This,BSTR *pbstrContainer); + HRESULT (WINAPI *put_ContainerName)(ICEnroll *This,BSTR bstrContainer); + HRESULT (WINAPI *get_ProviderName)(ICEnroll *This,BSTR *pbstrProvider); + HRESULT (WINAPI *put_ProviderName)(ICEnroll *This,BSTR bstrProvider); + HRESULT (WINAPI *get_ProviderType)(ICEnroll *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(ICEnroll *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(ICEnroll *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(ICEnroll *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(ICEnroll *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(ICEnroll *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(ICEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(ICEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(ICEnroll *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(ICEnroll *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToCSP)(ICEnroll *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(ICEnroll *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileName)(ICEnroll *This,BSTR *pbstr); + HRESULT (WINAPI *put_SPCFileName)(ICEnroll *This,BSTR bstr); + HRESULT (WINAPI *get_PVKFileName)(ICEnroll *This,BSTR *pbstr); + HRESULT (WINAPI *put_PVKFileName)(ICEnroll *This,BSTR bstr); + HRESULT (WINAPI *get_HashAlgorithm)(ICEnroll *This,BSTR *pbstr); + HRESULT (WINAPI *put_HashAlgorithm)(ICEnroll *This,BSTR bstr); + END_INTERFACE + } ICEnrollVtbl; + struct ICEnroll { + CONST_VTBL struct ICEnrollVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ICEnroll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICEnroll_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICEnroll_Release(This) (This)->lpVtbl->Release(This) +#define ICEnroll_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICEnroll_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICEnroll_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICEnroll_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ICEnroll_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) +#define ICEnroll_acceptFilePKCS7(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7(This,wszPKCS7FileName) +#define ICEnroll_createPKCS10(This,DNName,Usage,pPKCS10) (This)->lpVtbl->createPKCS10(This,DNName,Usage,pPKCS10) +#define ICEnroll_acceptPKCS7(This,PKCS7) (This)->lpVtbl->acceptPKCS7(This,PKCS7) +#define ICEnroll_getCertFromPKCS7(This,wszPKCS7,pbstrCert) (This)->lpVtbl->getCertFromPKCS7(This,wszPKCS7,pbstrCert) +#define ICEnroll_enumProviders(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProviders(This,dwIndex,dwFlags,pbstrProvName) +#define ICEnroll_enumContainers(This,dwIndex,pbstr) (This)->lpVtbl->enumContainers(This,dwIndex,pbstr) +#define ICEnroll_freeRequestInfo(This,PKCS7OrPKCS10) (This)->lpVtbl->freeRequestInfo(This,PKCS7OrPKCS10) +#define ICEnroll_get_MyStoreName(This,pbstrName) (This)->lpVtbl->get_MyStoreName(This,pbstrName) +#define ICEnroll_put_MyStoreName(This,bstrName) (This)->lpVtbl->put_MyStoreName(This,bstrName) +#define ICEnroll_get_MyStoreType(This,pbstrType) (This)->lpVtbl->get_MyStoreType(This,pbstrType) +#define ICEnroll_put_MyStoreType(This,bstrType) (This)->lpVtbl->put_MyStoreType(This,bstrType) +#define ICEnroll_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define ICEnroll_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define ICEnroll_get_CAStoreName(This,pbstrName) (This)->lpVtbl->get_CAStoreName(This,pbstrName) +#define ICEnroll_put_CAStoreName(This,bstrName) (This)->lpVtbl->put_CAStoreName(This,bstrName) +#define ICEnroll_get_CAStoreType(This,pbstrType) (This)->lpVtbl->get_CAStoreType(This,pbstrType) +#define ICEnroll_put_CAStoreType(This,bstrType) (This)->lpVtbl->put_CAStoreType(This,bstrType) +#define ICEnroll_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define ICEnroll_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define ICEnroll_get_RootStoreName(This,pbstrName) (This)->lpVtbl->get_RootStoreName(This,pbstrName) +#define ICEnroll_put_RootStoreName(This,bstrName) (This)->lpVtbl->put_RootStoreName(This,bstrName) +#define ICEnroll_get_RootStoreType(This,pbstrType) (This)->lpVtbl->get_RootStoreType(This,pbstrType) +#define ICEnroll_put_RootStoreType(This,bstrType) (This)->lpVtbl->put_RootStoreType(This,bstrType) +#define ICEnroll_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define ICEnroll_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define ICEnroll_get_RequestStoreName(This,pbstrName) (This)->lpVtbl->get_RequestStoreName(This,pbstrName) +#define ICEnroll_put_RequestStoreName(This,bstrName) (This)->lpVtbl->put_RequestStoreName(This,bstrName) +#define ICEnroll_get_RequestStoreType(This,pbstrType) (This)->lpVtbl->get_RequestStoreType(This,pbstrType) +#define ICEnroll_put_RequestStoreType(This,bstrType) (This)->lpVtbl->put_RequestStoreType(This,bstrType) +#define ICEnroll_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define ICEnroll_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define ICEnroll_get_ContainerName(This,pbstrContainer) (This)->lpVtbl->get_ContainerName(This,pbstrContainer) +#define ICEnroll_put_ContainerName(This,bstrContainer) (This)->lpVtbl->put_ContainerName(This,bstrContainer) +#define ICEnroll_get_ProviderName(This,pbstrProvider) (This)->lpVtbl->get_ProviderName(This,pbstrProvider) +#define ICEnroll_put_ProviderName(This,bstrProvider) (This)->lpVtbl->put_ProviderName(This,bstrProvider) +#define ICEnroll_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define ICEnroll_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define ICEnroll_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define ICEnroll_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define ICEnroll_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define ICEnroll_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define ICEnroll_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define ICEnroll_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define ICEnroll_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define ICEnroll_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define ICEnroll_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define ICEnroll_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define ICEnroll_get_SPCFileName(This,pbstr) (This)->lpVtbl->get_SPCFileName(This,pbstr) +#define ICEnroll_put_SPCFileName(This,bstr) (This)->lpVtbl->put_SPCFileName(This,bstr) +#define ICEnroll_get_PVKFileName(This,pbstr) (This)->lpVtbl->get_PVKFileName(This,pbstr) +#define ICEnroll_put_PVKFileName(This,bstr) (This)->lpVtbl->put_PVKFileName(This,bstr) +#define ICEnroll_get_HashAlgorithm(This,pbstr) (This)->lpVtbl->get_HashAlgorithm(This,pbstr) +#define ICEnroll_put_HashAlgorithm(This,bstr) (This)->lpVtbl->put_HashAlgorithm(This,bstr) +#endif +#endif + HRESULT WINAPI ICEnroll_createFilePKCS10_Proxy(ICEnroll *This,BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName); + void __RPC_STUB ICEnroll_createFilePKCS10_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_acceptFilePKCS7_Proxy(ICEnroll *This,BSTR wszPKCS7FileName); + void __RPC_STUB ICEnroll_acceptFilePKCS7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_createPKCS10_Proxy(ICEnroll *This,BSTR DNName,BSTR Usage,BSTR *pPKCS10); + void __RPC_STUB ICEnroll_createPKCS10_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_acceptPKCS7_Proxy(ICEnroll *This,BSTR PKCS7); + void __RPC_STUB ICEnroll_acceptPKCS7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_getCertFromPKCS7_Proxy(ICEnroll *This,BSTR wszPKCS7,BSTR *pbstrCert); + void __RPC_STUB ICEnroll_getCertFromPKCS7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_enumProviders_Proxy(ICEnroll *This,LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName); + void __RPC_STUB ICEnroll_enumProviders_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_enumContainers_Proxy(ICEnroll *This,LONG dwIndex,BSTR *pbstr); + void __RPC_STUB ICEnroll_enumContainers_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_freeRequestInfo_Proxy(ICEnroll *This,BSTR PKCS7OrPKCS10); + void __RPC_STUB ICEnroll_freeRequestInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_MyStoreName_Proxy(ICEnroll *This,BSTR *pbstrName); + void __RPC_STUB ICEnroll_get_MyStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_MyStoreName_Proxy(ICEnroll *This,BSTR bstrName); + void __RPC_STUB ICEnroll_put_MyStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_MyStoreType_Proxy(ICEnroll *This,BSTR *pbstrType); + void __RPC_STUB ICEnroll_get_MyStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_MyStoreType_Proxy(ICEnroll *This,BSTR bstrType); + void __RPC_STUB ICEnroll_put_MyStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_MyStoreFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_MyStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_MyStoreFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_MyStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_CAStoreName_Proxy(ICEnroll *This,BSTR *pbstrName); + void __RPC_STUB ICEnroll_get_CAStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_CAStoreName_Proxy(ICEnroll *This,BSTR bstrName); + void __RPC_STUB ICEnroll_put_CAStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_CAStoreType_Proxy(ICEnroll *This,BSTR *pbstrType); + void __RPC_STUB ICEnroll_get_CAStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_CAStoreType_Proxy(ICEnroll *This,BSTR bstrType); + void __RPC_STUB ICEnroll_put_CAStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_CAStoreFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_CAStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_CAStoreFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_CAStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RootStoreName_Proxy(ICEnroll *This,BSTR *pbstrName); + void __RPC_STUB ICEnroll_get_RootStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RootStoreName_Proxy(ICEnroll *This,BSTR bstrName); + void __RPC_STUB ICEnroll_put_RootStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RootStoreType_Proxy(ICEnroll *This,BSTR *pbstrType); + void __RPC_STUB ICEnroll_get_RootStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RootStoreType_Proxy(ICEnroll *This,BSTR bstrType); + void __RPC_STUB ICEnroll_put_RootStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RootStoreFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_RootStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RootStoreFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_RootStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RequestStoreName_Proxy(ICEnroll *This,BSTR *pbstrName); + void __RPC_STUB ICEnroll_get_RequestStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RequestStoreName_Proxy(ICEnroll *This,BSTR bstrName); + void __RPC_STUB ICEnroll_put_RequestStoreName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RequestStoreType_Proxy(ICEnroll *This,BSTR *pbstrType); + void __RPC_STUB ICEnroll_get_RequestStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RequestStoreType_Proxy(ICEnroll *This,BSTR bstrType); + void __RPC_STUB ICEnroll_put_RequestStoreType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_RequestStoreFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_RequestStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_RequestStoreFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_RequestStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_ContainerName_Proxy(ICEnroll *This,BSTR *pbstrContainer); + void __RPC_STUB ICEnroll_get_ContainerName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_ContainerName_Proxy(ICEnroll *This,BSTR bstrContainer); + void __RPC_STUB ICEnroll_put_ContainerName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_ProviderName_Proxy(ICEnroll *This,BSTR *pbstrProvider); + void __RPC_STUB ICEnroll_get_ProviderName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_ProviderName_Proxy(ICEnroll *This,BSTR bstrProvider); + void __RPC_STUB ICEnroll_put_ProviderName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_ProviderType_Proxy(ICEnroll *This,LONG *pdwType); + void __RPC_STUB ICEnroll_get_ProviderType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_ProviderType_Proxy(ICEnroll *This,LONG dwType); + void __RPC_STUB ICEnroll_put_ProviderType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_KeySpec_Proxy(ICEnroll *This,LONG *pdw); + void __RPC_STUB ICEnroll_get_KeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_KeySpec_Proxy(ICEnroll *This,LONG dw); + void __RPC_STUB ICEnroll_put_KeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_ProviderFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_ProviderFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_ProviderFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_ProviderFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_UseExistingKeySet_Proxy(ICEnroll *This,WINBOOL *fUseExistingKeys); + void __RPC_STUB ICEnroll_get_UseExistingKeySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_UseExistingKeySet_Proxy(ICEnroll *This,WINBOOL fUseExistingKeys); + void __RPC_STUB ICEnroll_put_UseExistingKeySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_GenKeyFlags_Proxy(ICEnroll *This,LONG *pdwFlags); + void __RPC_STUB ICEnroll_get_GenKeyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_GenKeyFlags_Proxy(ICEnroll *This,LONG dwFlags); + void __RPC_STUB ICEnroll_put_GenKeyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_DeleteRequestCert_Proxy(ICEnroll *This,WINBOOL *fDelete); + void __RPC_STUB ICEnroll_get_DeleteRequestCert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_DeleteRequestCert_Proxy(ICEnroll *This,WINBOOL fDelete); + void __RPC_STUB ICEnroll_put_DeleteRequestCert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_WriteCertToCSP_Proxy(ICEnroll *This,WINBOOL *fBool); + void __RPC_STUB ICEnroll_get_WriteCertToCSP_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_WriteCertToCSP_Proxy(ICEnroll *This,WINBOOL fBool); + void __RPC_STUB ICEnroll_put_WriteCertToCSP_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_SPCFileName_Proxy(ICEnroll *This,BSTR *pbstr); + void __RPC_STUB ICEnroll_get_SPCFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_SPCFileName_Proxy(ICEnroll *This,BSTR bstr); + void __RPC_STUB ICEnroll_put_SPCFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_PVKFileName_Proxy(ICEnroll *This,BSTR *pbstr); + void __RPC_STUB ICEnroll_get_PVKFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_PVKFileName_Proxy(ICEnroll *This,BSTR bstr); + void __RPC_STUB ICEnroll_put_PVKFileName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_get_HashAlgorithm_Proxy(ICEnroll *This,BSTR *pbstr); + void __RPC_STUB ICEnroll_get_HashAlgorithm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll_put_HashAlgorithm_Proxy(ICEnroll *This,BSTR bstr); + void __RPC_STUB ICEnroll_put_HashAlgorithm_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ICEnroll2_INTERFACE_DEFINED__ +#define __ICEnroll2_INTERFACE_DEFINED__ + extern const IID IID_ICEnroll2; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct ICEnroll2 : public ICEnroll { + public: + virtual HRESULT WINAPI addCertTypeToRequest(BSTR CertType) = 0; + virtual HRESULT WINAPI addNameValuePairToSignature(BSTR Name,BSTR Value) = 0; + virtual HRESULT WINAPI get_WriteCertToUserDS(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_WriteCertToUserDS(WINBOOL fBool) = 0; + virtual HRESULT WINAPI get_EnableT61DNEncoding(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_EnableT61DNEncoding(WINBOOL fBool) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct ICEnroll2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ICEnroll2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ICEnroll2 *This); + ULONG (WINAPI *Release)(ICEnroll2 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ICEnroll2 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ICEnroll2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ICEnroll2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ICEnroll2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *createFilePKCS10)(ICEnroll2 *This,BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7)(ICEnroll2 *This,BSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10)(ICEnroll2 *This,BSTR DNName,BSTR Usage,BSTR *pPKCS10); + HRESULT (WINAPI *acceptPKCS7)(ICEnroll2 *This,BSTR PKCS7); + HRESULT (WINAPI *getCertFromPKCS7)(ICEnroll2 *This,BSTR wszPKCS7,BSTR *pbstrCert); + HRESULT (WINAPI *enumProviders)(ICEnroll2 *This,LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName); + HRESULT (WINAPI *enumContainers)(ICEnroll2 *This,LONG dwIndex,BSTR *pbstr); + HRESULT (WINAPI *freeRequestInfo)(ICEnroll2 *This,BSTR PKCS7OrPKCS10); + HRESULT (WINAPI *get_MyStoreName)(ICEnroll2 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_MyStoreName)(ICEnroll2 *This,BSTR bstrName); + HRESULT (WINAPI *get_MyStoreType)(ICEnroll2 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_MyStoreType)(ICEnroll2 *This,BSTR bstrType); + HRESULT (WINAPI *get_MyStoreFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreName)(ICEnroll2 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_CAStoreName)(ICEnroll2 *This,BSTR bstrName); + HRESULT (WINAPI *get_CAStoreType)(ICEnroll2 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_CAStoreType)(ICEnroll2 *This,BSTR bstrType); + HRESULT (WINAPI *get_CAStoreFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreName)(ICEnroll2 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RootStoreName)(ICEnroll2 *This,BSTR bstrName); + HRESULT (WINAPI *get_RootStoreType)(ICEnroll2 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RootStoreType)(ICEnroll2 *This,BSTR bstrType); + HRESULT (WINAPI *get_RootStoreFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreName)(ICEnroll2 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RequestStoreName)(ICEnroll2 *This,BSTR bstrName); + HRESULT (WINAPI *get_RequestStoreType)(ICEnroll2 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RequestStoreType)(ICEnroll2 *This,BSTR bstrType); + HRESULT (WINAPI *get_RequestStoreFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerName)(ICEnroll2 *This,BSTR *pbstrContainer); + HRESULT (WINAPI *put_ContainerName)(ICEnroll2 *This,BSTR bstrContainer); + HRESULT (WINAPI *get_ProviderName)(ICEnroll2 *This,BSTR *pbstrProvider); + HRESULT (WINAPI *put_ProviderName)(ICEnroll2 *This,BSTR bstrProvider); + HRESULT (WINAPI *get_ProviderType)(ICEnroll2 *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(ICEnroll2 *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(ICEnroll2 *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(ICEnroll2 *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(ICEnroll2 *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(ICEnroll2 *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(ICEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(ICEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(ICEnroll2 *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(ICEnroll2 *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToCSP)(ICEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(ICEnroll2 *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileName)(ICEnroll2 *This,BSTR *pbstr); + HRESULT (WINAPI *put_SPCFileName)(ICEnroll2 *This,BSTR bstr); + HRESULT (WINAPI *get_PVKFileName)(ICEnroll2 *This,BSTR *pbstr); + HRESULT (WINAPI *put_PVKFileName)(ICEnroll2 *This,BSTR bstr); + HRESULT (WINAPI *get_HashAlgorithm)(ICEnroll2 *This,BSTR *pbstr); + HRESULT (WINAPI *put_HashAlgorithm)(ICEnroll2 *This,BSTR bstr); + HRESULT (WINAPI *addCertTypeToRequest)(ICEnroll2 *This,BSTR CertType); + HRESULT (WINAPI *addNameValuePairToSignature)(ICEnroll2 *This,BSTR Name,BSTR Value); + HRESULT (WINAPI *get_WriteCertToUserDS)(ICEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(ICEnroll2 *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(ICEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(ICEnroll2 *This,WINBOOL fBool); + END_INTERFACE + } ICEnroll2Vtbl; + struct ICEnroll2 { + CONST_VTBL struct ICEnroll2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ICEnroll2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICEnroll2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICEnroll2_Release(This) (This)->lpVtbl->Release(This) +#define ICEnroll2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICEnroll2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICEnroll2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICEnroll2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ICEnroll2_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) +#define ICEnroll2_acceptFilePKCS7(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7(This,wszPKCS7FileName) +#define ICEnroll2_createPKCS10(This,DNName,Usage,pPKCS10) (This)->lpVtbl->createPKCS10(This,DNName,Usage,pPKCS10) +#define ICEnroll2_acceptPKCS7(This,PKCS7) (This)->lpVtbl->acceptPKCS7(This,PKCS7) +#define ICEnroll2_getCertFromPKCS7(This,wszPKCS7,pbstrCert) (This)->lpVtbl->getCertFromPKCS7(This,wszPKCS7,pbstrCert) +#define ICEnroll2_enumProviders(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProviders(This,dwIndex,dwFlags,pbstrProvName) +#define ICEnroll2_enumContainers(This,dwIndex,pbstr) (This)->lpVtbl->enumContainers(This,dwIndex,pbstr) +#define ICEnroll2_freeRequestInfo(This,PKCS7OrPKCS10) (This)->lpVtbl->freeRequestInfo(This,PKCS7OrPKCS10) +#define ICEnroll2_get_MyStoreName(This,pbstrName) (This)->lpVtbl->get_MyStoreName(This,pbstrName) +#define ICEnroll2_put_MyStoreName(This,bstrName) (This)->lpVtbl->put_MyStoreName(This,bstrName) +#define ICEnroll2_get_MyStoreType(This,pbstrType) (This)->lpVtbl->get_MyStoreType(This,pbstrType) +#define ICEnroll2_put_MyStoreType(This,bstrType) (This)->lpVtbl->put_MyStoreType(This,bstrType) +#define ICEnroll2_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define ICEnroll2_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define ICEnroll2_get_CAStoreName(This,pbstrName) (This)->lpVtbl->get_CAStoreName(This,pbstrName) +#define ICEnroll2_put_CAStoreName(This,bstrName) (This)->lpVtbl->put_CAStoreName(This,bstrName) +#define ICEnroll2_get_CAStoreType(This,pbstrType) (This)->lpVtbl->get_CAStoreType(This,pbstrType) +#define ICEnroll2_put_CAStoreType(This,bstrType) (This)->lpVtbl->put_CAStoreType(This,bstrType) +#define ICEnroll2_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define ICEnroll2_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define ICEnroll2_get_RootStoreName(This,pbstrName) (This)->lpVtbl->get_RootStoreName(This,pbstrName) +#define ICEnroll2_put_RootStoreName(This,bstrName) (This)->lpVtbl->put_RootStoreName(This,bstrName) +#define ICEnroll2_get_RootStoreType(This,pbstrType) (This)->lpVtbl->get_RootStoreType(This,pbstrType) +#define ICEnroll2_put_RootStoreType(This,bstrType) (This)->lpVtbl->put_RootStoreType(This,bstrType) +#define ICEnroll2_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define ICEnroll2_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define ICEnroll2_get_RequestStoreName(This,pbstrName) (This)->lpVtbl->get_RequestStoreName(This,pbstrName) +#define ICEnroll2_put_RequestStoreName(This,bstrName) (This)->lpVtbl->put_RequestStoreName(This,bstrName) +#define ICEnroll2_get_RequestStoreType(This,pbstrType) (This)->lpVtbl->get_RequestStoreType(This,pbstrType) +#define ICEnroll2_put_RequestStoreType(This,bstrType) (This)->lpVtbl->put_RequestStoreType(This,bstrType) +#define ICEnroll2_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define ICEnroll2_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define ICEnroll2_get_ContainerName(This,pbstrContainer) (This)->lpVtbl->get_ContainerName(This,pbstrContainer) +#define ICEnroll2_put_ContainerName(This,bstrContainer) (This)->lpVtbl->put_ContainerName(This,bstrContainer) +#define ICEnroll2_get_ProviderName(This,pbstrProvider) (This)->lpVtbl->get_ProviderName(This,pbstrProvider) +#define ICEnroll2_put_ProviderName(This,bstrProvider) (This)->lpVtbl->put_ProviderName(This,bstrProvider) +#define ICEnroll2_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define ICEnroll2_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define ICEnroll2_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define ICEnroll2_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define ICEnroll2_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define ICEnroll2_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define ICEnroll2_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll2_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll2_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define ICEnroll2_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define ICEnroll2_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define ICEnroll2_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define ICEnroll2_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define ICEnroll2_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define ICEnroll2_get_SPCFileName(This,pbstr) (This)->lpVtbl->get_SPCFileName(This,pbstr) +#define ICEnroll2_put_SPCFileName(This,bstr) (This)->lpVtbl->put_SPCFileName(This,bstr) +#define ICEnroll2_get_PVKFileName(This,pbstr) (This)->lpVtbl->get_PVKFileName(This,pbstr) +#define ICEnroll2_put_PVKFileName(This,bstr) (This)->lpVtbl->put_PVKFileName(This,bstr) +#define ICEnroll2_get_HashAlgorithm(This,pbstr) (This)->lpVtbl->get_HashAlgorithm(This,pbstr) +#define ICEnroll2_put_HashAlgorithm(This,bstr) (This)->lpVtbl->put_HashAlgorithm(This,bstr) +#define ICEnroll2_addCertTypeToRequest(This,CertType) (This)->lpVtbl->addCertTypeToRequest(This,CertType) +#define ICEnroll2_addNameValuePairToSignature(This,Name,Value) (This)->lpVtbl->addNameValuePairToSignature(This,Name,Value) +#define ICEnroll2_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define ICEnroll2_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define ICEnroll2_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define ICEnroll2_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#endif +#endif + HRESULT WINAPI ICEnroll2_addCertTypeToRequest_Proxy(ICEnroll2 *This,BSTR CertType); + void __RPC_STUB ICEnroll2_addCertTypeToRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll2_addNameValuePairToSignature_Proxy(ICEnroll2 *This,BSTR Name,BSTR Value); + void __RPC_STUB ICEnroll2_addNameValuePairToSignature_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll2_get_WriteCertToUserDS_Proxy(ICEnroll2 *This,WINBOOL *fBool); + void __RPC_STUB ICEnroll2_get_WriteCertToUserDS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll2_put_WriteCertToUserDS_Proxy(ICEnroll2 *This,WINBOOL fBool); + void __RPC_STUB ICEnroll2_put_WriteCertToUserDS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll2_get_EnableT61DNEncoding_Proxy(ICEnroll2 *This,WINBOOL *fBool); + void __RPC_STUB ICEnroll2_get_EnableT61DNEncoding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll2_put_EnableT61DNEncoding_Proxy(ICEnroll2 *This,WINBOOL fBool); + void __RPC_STUB ICEnroll2_put_EnableT61DNEncoding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ICEnroll3_INTERFACE_DEFINED__ +#define __ICEnroll3_INTERFACE_DEFINED__ + extern const IID IID_ICEnroll3; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct ICEnroll3 : public ICEnroll2 { + public: + virtual HRESULT WINAPI InstallPKCS7(BSTR PKCS7) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI GetSupportedKeySpec(LONG *pdwKeySpec) = 0; + virtual HRESULT WINAPI GetKeyLen(WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize) = 0; + virtual HRESULT WINAPI EnumAlgs(LONG dwIndex,LONG algClass,LONG *pdwAlgID) = 0; + virtual HRESULT WINAPI GetAlgName(LONG algID,BSTR *pbstr) = 0; + virtual HRESULT WINAPI put_ReuseHardwareKeyIfUnableToGenNew(WINBOOL fReuseHardwareKeyIfUnableToGenNew) = 0; + virtual HRESULT WINAPI get_ReuseHardwareKeyIfUnableToGenNew(WINBOOL *fReuseHardwareKeyIfUnableToGenNew) = 0; + virtual HRESULT WINAPI put_HashAlgID(LONG hashAlgID) = 0; + virtual HRESULT WINAPI get_HashAlgID(LONG *hashAlgID) = 0; + virtual HRESULT WINAPI put_LimitExchangeKeyToEncipherment(WINBOOL fLimitExchangeKeyToEncipherment) = 0; + virtual HRESULT WINAPI get_LimitExchangeKeyToEncipherment(WINBOOL *fLimitExchangeKeyToEncipherment) = 0; + virtual HRESULT WINAPI put_EnableSMIMECapabilities(WINBOOL fEnableSMIMECapabilities) = 0; + virtual HRESULT WINAPI get_EnableSMIMECapabilities(WINBOOL *fEnableSMIMECapabilities) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct ICEnroll3Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ICEnroll3 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ICEnroll3 *This); + ULONG (WINAPI *Release)(ICEnroll3 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ICEnroll3 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ICEnroll3 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ICEnroll3 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ICEnroll3 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *createFilePKCS10)(ICEnroll3 *This,BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7)(ICEnroll3 *This,BSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10)(ICEnroll3 *This,BSTR DNName,BSTR Usage,BSTR *pPKCS10); + HRESULT (WINAPI *acceptPKCS7)(ICEnroll3 *This,BSTR PKCS7); + HRESULT (WINAPI *getCertFromPKCS7)(ICEnroll3 *This,BSTR wszPKCS7,BSTR *pbstrCert); + HRESULT (WINAPI *enumProviders)(ICEnroll3 *This,LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName); + HRESULT (WINAPI *enumContainers)(ICEnroll3 *This,LONG dwIndex,BSTR *pbstr); + HRESULT (WINAPI *freeRequestInfo)(ICEnroll3 *This,BSTR PKCS7OrPKCS10); + HRESULT (WINAPI *get_MyStoreName)(ICEnroll3 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_MyStoreName)(ICEnroll3 *This,BSTR bstrName); + HRESULT (WINAPI *get_MyStoreType)(ICEnroll3 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_MyStoreType)(ICEnroll3 *This,BSTR bstrType); + HRESULT (WINAPI *get_MyStoreFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreName)(ICEnroll3 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_CAStoreName)(ICEnroll3 *This,BSTR bstrName); + HRESULT (WINAPI *get_CAStoreType)(ICEnroll3 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_CAStoreType)(ICEnroll3 *This,BSTR bstrType); + HRESULT (WINAPI *get_CAStoreFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreName)(ICEnroll3 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RootStoreName)(ICEnroll3 *This,BSTR bstrName); + HRESULT (WINAPI *get_RootStoreType)(ICEnroll3 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RootStoreType)(ICEnroll3 *This,BSTR bstrType); + HRESULT (WINAPI *get_RootStoreFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreName)(ICEnroll3 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RequestStoreName)(ICEnroll3 *This,BSTR bstrName); + HRESULT (WINAPI *get_RequestStoreType)(ICEnroll3 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RequestStoreType)(ICEnroll3 *This,BSTR bstrType); + HRESULT (WINAPI *get_RequestStoreFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerName)(ICEnroll3 *This,BSTR *pbstrContainer); + HRESULT (WINAPI *put_ContainerName)(ICEnroll3 *This,BSTR bstrContainer); + HRESULT (WINAPI *get_ProviderName)(ICEnroll3 *This,BSTR *pbstrProvider); + HRESULT (WINAPI *put_ProviderName)(ICEnroll3 *This,BSTR bstrProvider); + HRESULT (WINAPI *get_ProviderType)(ICEnroll3 *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(ICEnroll3 *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(ICEnroll3 *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(ICEnroll3 *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(ICEnroll3 *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(ICEnroll3 *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(ICEnroll3 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(ICEnroll3 *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(ICEnroll3 *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(ICEnroll3 *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToCSP)(ICEnroll3 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(ICEnroll3 *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileName)(ICEnroll3 *This,BSTR *pbstr); + HRESULT (WINAPI *put_SPCFileName)(ICEnroll3 *This,BSTR bstr); + HRESULT (WINAPI *get_PVKFileName)(ICEnroll3 *This,BSTR *pbstr); + HRESULT (WINAPI *put_PVKFileName)(ICEnroll3 *This,BSTR bstr); + HRESULT (WINAPI *get_HashAlgorithm)(ICEnroll3 *This,BSTR *pbstr); + HRESULT (WINAPI *put_HashAlgorithm)(ICEnroll3 *This,BSTR bstr); + HRESULT (WINAPI *addCertTypeToRequest)(ICEnroll3 *This,BSTR CertType); + HRESULT (WINAPI *addNameValuePairToSignature)(ICEnroll3 *This,BSTR Name,BSTR Value); + HRESULT (WINAPI *get_WriteCertToUserDS)(ICEnroll3 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(ICEnroll3 *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(ICEnroll3 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(ICEnroll3 *This,WINBOOL fBool); + HRESULT (WINAPI *InstallPKCS7)(ICEnroll3 *This,BSTR PKCS7); + HRESULT (WINAPI *Reset)(ICEnroll3 *This); + HRESULT (WINAPI *GetSupportedKeySpec)(ICEnroll3 *This,LONG *pdwKeySpec); + HRESULT (WINAPI *GetKeyLen)(ICEnroll3 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + HRESULT (WINAPI *EnumAlgs)(ICEnroll3 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + HRESULT (WINAPI *GetAlgName)(ICEnroll3 *This,LONG algID,BSTR *pbstr); + HRESULT (WINAPI *put_ReuseHardwareKeyIfUnableToGenNew)(ICEnroll3 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *get_ReuseHardwareKeyIfUnableToGenNew)(ICEnroll3 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *put_HashAlgID)(ICEnroll3 *This,LONG hashAlgID); + HRESULT (WINAPI *get_HashAlgID)(ICEnroll3 *This,LONG *hashAlgID); + HRESULT (WINAPI *put_LimitExchangeKeyToEncipherment)(ICEnroll3 *This,WINBOOL fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *get_LimitExchangeKeyToEncipherment)(ICEnroll3 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *put_EnableSMIMECapabilities)(ICEnroll3 *This,WINBOOL fEnableSMIMECapabilities); + HRESULT (WINAPI *get_EnableSMIMECapabilities)(ICEnroll3 *This,WINBOOL *fEnableSMIMECapabilities); + END_INTERFACE + } ICEnroll3Vtbl; + struct ICEnroll3 { + CONST_VTBL struct ICEnroll3Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ICEnroll3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICEnroll3_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICEnroll3_Release(This) (This)->lpVtbl->Release(This) +#define ICEnroll3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICEnroll3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICEnroll3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICEnroll3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ICEnroll3_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) +#define ICEnroll3_acceptFilePKCS7(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7(This,wszPKCS7FileName) +#define ICEnroll3_createPKCS10(This,DNName,Usage,pPKCS10) (This)->lpVtbl->createPKCS10(This,DNName,Usage,pPKCS10) +#define ICEnroll3_acceptPKCS7(This,PKCS7) (This)->lpVtbl->acceptPKCS7(This,PKCS7) +#define ICEnroll3_getCertFromPKCS7(This,wszPKCS7,pbstrCert) (This)->lpVtbl->getCertFromPKCS7(This,wszPKCS7,pbstrCert) +#define ICEnroll3_enumProviders(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProviders(This,dwIndex,dwFlags,pbstrProvName) +#define ICEnroll3_enumContainers(This,dwIndex,pbstr) (This)->lpVtbl->enumContainers(This,dwIndex,pbstr) +#define ICEnroll3_freeRequestInfo(This,PKCS7OrPKCS10) (This)->lpVtbl->freeRequestInfo(This,PKCS7OrPKCS10) +#define ICEnroll3_get_MyStoreName(This,pbstrName) (This)->lpVtbl->get_MyStoreName(This,pbstrName) +#define ICEnroll3_put_MyStoreName(This,bstrName) (This)->lpVtbl->put_MyStoreName(This,bstrName) +#define ICEnroll3_get_MyStoreType(This,pbstrType) (This)->lpVtbl->get_MyStoreType(This,pbstrType) +#define ICEnroll3_put_MyStoreType(This,bstrType) (This)->lpVtbl->put_MyStoreType(This,bstrType) +#define ICEnroll3_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define ICEnroll3_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define ICEnroll3_get_CAStoreName(This,pbstrName) (This)->lpVtbl->get_CAStoreName(This,pbstrName) +#define ICEnroll3_put_CAStoreName(This,bstrName) (This)->lpVtbl->put_CAStoreName(This,bstrName) +#define ICEnroll3_get_CAStoreType(This,pbstrType) (This)->lpVtbl->get_CAStoreType(This,pbstrType) +#define ICEnroll3_put_CAStoreType(This,bstrType) (This)->lpVtbl->put_CAStoreType(This,bstrType) +#define ICEnroll3_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define ICEnroll3_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define ICEnroll3_get_RootStoreName(This,pbstrName) (This)->lpVtbl->get_RootStoreName(This,pbstrName) +#define ICEnroll3_put_RootStoreName(This,bstrName) (This)->lpVtbl->put_RootStoreName(This,bstrName) +#define ICEnroll3_get_RootStoreType(This,pbstrType) (This)->lpVtbl->get_RootStoreType(This,pbstrType) +#define ICEnroll3_put_RootStoreType(This,bstrType) (This)->lpVtbl->put_RootStoreType(This,bstrType) +#define ICEnroll3_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define ICEnroll3_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define ICEnroll3_get_RequestStoreName(This,pbstrName) (This)->lpVtbl->get_RequestStoreName(This,pbstrName) +#define ICEnroll3_put_RequestStoreName(This,bstrName) (This)->lpVtbl->put_RequestStoreName(This,bstrName) +#define ICEnroll3_get_RequestStoreType(This,pbstrType) (This)->lpVtbl->get_RequestStoreType(This,pbstrType) +#define ICEnroll3_put_RequestStoreType(This,bstrType) (This)->lpVtbl->put_RequestStoreType(This,bstrType) +#define ICEnroll3_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define ICEnroll3_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define ICEnroll3_get_ContainerName(This,pbstrContainer) (This)->lpVtbl->get_ContainerName(This,pbstrContainer) +#define ICEnroll3_put_ContainerName(This,bstrContainer) (This)->lpVtbl->put_ContainerName(This,bstrContainer) +#define ICEnroll3_get_ProviderName(This,pbstrProvider) (This)->lpVtbl->get_ProviderName(This,pbstrProvider) +#define ICEnroll3_put_ProviderName(This,bstrProvider) (This)->lpVtbl->put_ProviderName(This,bstrProvider) +#define ICEnroll3_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define ICEnroll3_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define ICEnroll3_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define ICEnroll3_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define ICEnroll3_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define ICEnroll3_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define ICEnroll3_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll3_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll3_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define ICEnroll3_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define ICEnroll3_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define ICEnroll3_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define ICEnroll3_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define ICEnroll3_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define ICEnroll3_get_SPCFileName(This,pbstr) (This)->lpVtbl->get_SPCFileName(This,pbstr) +#define ICEnroll3_put_SPCFileName(This,bstr) (This)->lpVtbl->put_SPCFileName(This,bstr) +#define ICEnroll3_get_PVKFileName(This,pbstr) (This)->lpVtbl->get_PVKFileName(This,pbstr) +#define ICEnroll3_put_PVKFileName(This,bstr) (This)->lpVtbl->put_PVKFileName(This,bstr) +#define ICEnroll3_get_HashAlgorithm(This,pbstr) (This)->lpVtbl->get_HashAlgorithm(This,pbstr) +#define ICEnroll3_put_HashAlgorithm(This,bstr) (This)->lpVtbl->put_HashAlgorithm(This,bstr) +#define ICEnroll3_addCertTypeToRequest(This,CertType) (This)->lpVtbl->addCertTypeToRequest(This,CertType) +#define ICEnroll3_addNameValuePairToSignature(This,Name,Value) (This)->lpVtbl->addNameValuePairToSignature(This,Name,Value) +#define ICEnroll3_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define ICEnroll3_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define ICEnroll3_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define ICEnroll3_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#define ICEnroll3_InstallPKCS7(This,PKCS7) (This)->lpVtbl->InstallPKCS7(This,PKCS7) +#define ICEnroll3_Reset(This) (This)->lpVtbl->Reset(This) +#define ICEnroll3_GetSupportedKeySpec(This,pdwKeySpec) (This)->lpVtbl->GetSupportedKeySpec(This,pdwKeySpec) +#define ICEnroll3_GetKeyLen(This,fMin,fExchange,pdwKeySize) (This)->lpVtbl->GetKeyLen(This,fMin,fExchange,pdwKeySize) +#define ICEnroll3_EnumAlgs(This,dwIndex,algClass,pdwAlgID) (This)->lpVtbl->EnumAlgs(This,dwIndex,algClass,pdwAlgID) +#define ICEnroll3_GetAlgName(This,algID,pbstr) (This)->lpVtbl->GetAlgName(This,algID,pbstr) +#define ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define ICEnroll3_put_HashAlgID(This,hashAlgID) (This)->lpVtbl->put_HashAlgID(This,hashAlgID) +#define ICEnroll3_get_HashAlgID(This,hashAlgID) (This)->lpVtbl->get_HashAlgID(This,hashAlgID) +#define ICEnroll3_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define ICEnroll3_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define ICEnroll3_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define ICEnroll3_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#endif +#endif + HRESULT WINAPI ICEnroll3_InstallPKCS7_Proxy(ICEnroll3 *This,BSTR PKCS7); + void __RPC_STUB ICEnroll3_InstallPKCS7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_Reset_Proxy(ICEnroll3 *This); + void __RPC_STUB ICEnroll3_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_GetSupportedKeySpec_Proxy(ICEnroll3 *This,LONG *pdwKeySpec); + void __RPC_STUB ICEnroll3_GetSupportedKeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_GetKeyLen_Proxy(ICEnroll3 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + void __RPC_STUB ICEnroll3_GetKeyLen_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_EnumAlgs_Proxy(ICEnroll3 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + void __RPC_STUB ICEnroll3_EnumAlgs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_GetAlgName_Proxy(ICEnroll3 *This,LONG algID,BSTR *pbstr); + void __RPC_STUB ICEnroll3_GetAlgName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Proxy(ICEnroll3 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + void __RPC_STUB ICEnroll3_put_ReuseHardwareKeyIfUnableToGenNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Proxy(ICEnroll3 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + void __RPC_STUB ICEnroll3_get_ReuseHardwareKeyIfUnableToGenNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_put_HashAlgID_Proxy(ICEnroll3 *This,LONG hashAlgID); + void __RPC_STUB ICEnroll3_put_HashAlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_get_HashAlgID_Proxy(ICEnroll3 *This,LONG *hashAlgID); + void __RPC_STUB ICEnroll3_get_HashAlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_put_LimitExchangeKeyToEncipherment_Proxy(ICEnroll3 *This,WINBOOL fLimitExchangeKeyToEncipherment); + void __RPC_STUB ICEnroll3_put_LimitExchangeKeyToEncipherment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_get_LimitExchangeKeyToEncipherment_Proxy(ICEnroll3 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + void __RPC_STUB ICEnroll3_get_LimitExchangeKeyToEncipherment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_put_EnableSMIMECapabilities_Proxy(ICEnroll3 *This,WINBOOL fEnableSMIMECapabilities); + void __RPC_STUB ICEnroll3_put_EnableSMIMECapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll3_get_EnableSMIMECapabilities_Proxy(ICEnroll3 *This,WINBOOL *fEnableSMIMECapabilities); + void __RPC_STUB ICEnroll3_get_EnableSMIMECapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __ICEnroll4_INTERFACE_DEFINED__ +#define __ICEnroll4_INTERFACE_DEFINED__ + extern const IID IID_ICEnroll4; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct ICEnroll4 : public ICEnroll3 { + public: + virtual HRESULT WINAPI put_PrivateKeyArchiveCertificate(BSTR bstrCert) = 0; + virtual HRESULT WINAPI get_PrivateKeyArchiveCertificate(BSTR *pbstrCert) = 0; + virtual HRESULT WINAPI put_ThumbPrint(BSTR bstrThumbPrint) = 0; + virtual HRESULT WINAPI get_ThumbPrint(BSTR *pbstrThumbPrint) = 0; + virtual HRESULT WINAPI binaryToString(LONG Flags,BSTR strBinary,BSTR *pstrEncoded) = 0; + virtual HRESULT WINAPI stringToBinary(LONG Flags,BSTR strEncoded,BSTR *pstrBinary) = 0; + virtual HRESULT WINAPI addExtensionToRequest(LONG Flags,BSTR strName,BSTR strValue) = 0; + virtual HRESULT WINAPI addAttributeToRequest(LONG Flags,BSTR strName,BSTR strValue) = 0; + virtual HRESULT WINAPI addNameValuePairToRequest(LONG Flags,BSTR strName,BSTR strValue) = 0; + virtual HRESULT WINAPI resetExtensions(void) = 0; + virtual HRESULT WINAPI resetAttributes(void) = 0; + virtual HRESULT WINAPI createRequest(LONG Flags,BSTR strDNName,BSTR Usage,BSTR *pstrRequest) = 0; + virtual HRESULT WINAPI createFileRequest(LONG Flags,BSTR strDNName,BSTR strUsage,BSTR strRequestFileName) = 0; + virtual HRESULT WINAPI acceptResponse(BSTR strResponse) = 0; + virtual HRESULT WINAPI acceptFileResponse(BSTR strResponseFileName) = 0; + virtual HRESULT WINAPI getCertFromResponse(BSTR strResponse,BSTR *pstrCert) = 0; + virtual HRESULT WINAPI getCertFromFileResponse(BSTR strResponseFileName,BSTR *pstrCert) = 0; + virtual HRESULT WINAPI createPFX(BSTR strPassword,BSTR *pstrPFX) = 0; + virtual HRESULT WINAPI createFilePFX(BSTR strPassword,BSTR strPFXFileName) = 0; + virtual HRESULT WINAPI setPendingRequestInfo(LONG lRequestID,BSTR strCADNS,BSTR strCAName,BSTR strFriendlyName) = 0; + virtual HRESULT WINAPI enumPendingRequest(LONG lIndex,LONG lDesiredProperty,VARIANT *pvarProperty) = 0; + virtual HRESULT WINAPI removePendingRequest(BSTR strThumbprint) = 0; + virtual HRESULT WINAPI GetKeyLenEx(LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize) = 0; + virtual HRESULT WINAPI InstallPKCS7Ex(BSTR PKCS7,LONG *plCertInstalled) = 0; + virtual HRESULT WINAPI addCertTypeToRequestEx(LONG lType,BSTR bstrOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion) = 0; + virtual HRESULT WINAPI getProviderType(BSTR strProvName,LONG *plProvType) = 0; + virtual HRESULT WINAPI put_SignerCertificate(BSTR bstrCert) = 0; + virtual HRESULT WINAPI put_ClientId(LONG lClientId) = 0; + virtual HRESULT WINAPI get_ClientId(LONG *plClientId) = 0; + virtual HRESULT WINAPI addBlobPropertyToCertificate(LONG lPropertyId,LONG lReserved,BSTR bstrProperty) = 0; + virtual HRESULT WINAPI resetBlobProperties(void) = 0; + virtual HRESULT WINAPI put_IncludeSubjectKeyID(WINBOOL fInclude) = 0; + virtual HRESULT WINAPI get_IncludeSubjectKeyID(WINBOOL *pfInclude) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct ICEnroll4Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ICEnroll4 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ICEnroll4 *This); + ULONG (WINAPI *Release)(ICEnroll4 *This); + HRESULT (WINAPI *GetTypeInfoCount)(ICEnroll4 *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ICEnroll4 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ICEnroll4 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ICEnroll4 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *createFilePKCS10)(ICEnroll4 *This,BSTR DNName,BSTR Usage,BSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7)(ICEnroll4 *This,BSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10)(ICEnroll4 *This,BSTR DNName,BSTR Usage,BSTR *pPKCS10); + HRESULT (WINAPI *acceptPKCS7)(ICEnroll4 *This,BSTR PKCS7); + HRESULT (WINAPI *getCertFromPKCS7)(ICEnroll4 *This,BSTR wszPKCS7,BSTR *pbstrCert); + HRESULT (WINAPI *enumProviders)(ICEnroll4 *This,LONG dwIndex,LONG dwFlags,BSTR *pbstrProvName); + HRESULT (WINAPI *enumContainers)(ICEnroll4 *This,LONG dwIndex,BSTR *pbstr); + HRESULT (WINAPI *freeRequestInfo)(ICEnroll4 *This,BSTR PKCS7OrPKCS10); + HRESULT (WINAPI *get_MyStoreName)(ICEnroll4 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_MyStoreName)(ICEnroll4 *This,BSTR bstrName); + HRESULT (WINAPI *get_MyStoreType)(ICEnroll4 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_MyStoreType)(ICEnroll4 *This,BSTR bstrType); + HRESULT (WINAPI *get_MyStoreFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreName)(ICEnroll4 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_CAStoreName)(ICEnroll4 *This,BSTR bstrName); + HRESULT (WINAPI *get_CAStoreType)(ICEnroll4 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_CAStoreType)(ICEnroll4 *This,BSTR bstrType); + HRESULT (WINAPI *get_CAStoreFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreName)(ICEnroll4 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RootStoreName)(ICEnroll4 *This,BSTR bstrName); + HRESULT (WINAPI *get_RootStoreType)(ICEnroll4 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RootStoreType)(ICEnroll4 *This,BSTR bstrType); + HRESULT (WINAPI *get_RootStoreFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreName)(ICEnroll4 *This,BSTR *pbstrName); + HRESULT (WINAPI *put_RequestStoreName)(ICEnroll4 *This,BSTR bstrName); + HRESULT (WINAPI *get_RequestStoreType)(ICEnroll4 *This,BSTR *pbstrType); + HRESULT (WINAPI *put_RequestStoreType)(ICEnroll4 *This,BSTR bstrType); + HRESULT (WINAPI *get_RequestStoreFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerName)(ICEnroll4 *This,BSTR *pbstrContainer); + HRESULT (WINAPI *put_ContainerName)(ICEnroll4 *This,BSTR bstrContainer); + HRESULT (WINAPI *get_ProviderName)(ICEnroll4 *This,BSTR *pbstrProvider); + HRESULT (WINAPI *put_ProviderName)(ICEnroll4 *This,BSTR bstrProvider); + HRESULT (WINAPI *get_ProviderType)(ICEnroll4 *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(ICEnroll4 *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(ICEnroll4 *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(ICEnroll4 *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(ICEnroll4 *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(ICEnroll4 *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(ICEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(ICEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(ICEnroll4 *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(ICEnroll4 *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToCSP)(ICEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(ICEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileName)(ICEnroll4 *This,BSTR *pbstr); + HRESULT (WINAPI *put_SPCFileName)(ICEnroll4 *This,BSTR bstr); + HRESULT (WINAPI *get_PVKFileName)(ICEnroll4 *This,BSTR *pbstr); + HRESULT (WINAPI *put_PVKFileName)(ICEnroll4 *This,BSTR bstr); + HRESULT (WINAPI *get_HashAlgorithm)(ICEnroll4 *This,BSTR *pbstr); + HRESULT (WINAPI *put_HashAlgorithm)(ICEnroll4 *This,BSTR bstr); + HRESULT (WINAPI *addCertTypeToRequest)(ICEnroll4 *This,BSTR CertType); + HRESULT (WINAPI *addNameValuePairToSignature)(ICEnroll4 *This,BSTR Name,BSTR Value); + HRESULT (WINAPI *get_WriteCertToUserDS)(ICEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(ICEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(ICEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(ICEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *InstallPKCS7)(ICEnroll4 *This,BSTR PKCS7); + HRESULT (WINAPI *Reset)(ICEnroll4 *This); + HRESULT (WINAPI *GetSupportedKeySpec)(ICEnroll4 *This,LONG *pdwKeySpec); + HRESULT (WINAPI *GetKeyLen)(ICEnroll4 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + HRESULT (WINAPI *EnumAlgs)(ICEnroll4 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + HRESULT (WINAPI *GetAlgName)(ICEnroll4 *This,LONG algID,BSTR *pbstr); + HRESULT (WINAPI *put_ReuseHardwareKeyIfUnableToGenNew)(ICEnroll4 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *get_ReuseHardwareKeyIfUnableToGenNew)(ICEnroll4 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *put_HashAlgID)(ICEnroll4 *This,LONG hashAlgID); + HRESULT (WINAPI *get_HashAlgID)(ICEnroll4 *This,LONG *hashAlgID); + HRESULT (WINAPI *put_LimitExchangeKeyToEncipherment)(ICEnroll4 *This,WINBOOL fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *get_LimitExchangeKeyToEncipherment)(ICEnroll4 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *put_EnableSMIMECapabilities)(ICEnroll4 *This,WINBOOL fEnableSMIMECapabilities); + HRESULT (WINAPI *get_EnableSMIMECapabilities)(ICEnroll4 *This,WINBOOL *fEnableSMIMECapabilities); + HRESULT (WINAPI *put_PrivateKeyArchiveCertificate)(ICEnroll4 *This,BSTR bstrCert); + HRESULT (WINAPI *get_PrivateKeyArchiveCertificate)(ICEnroll4 *This,BSTR *pbstrCert); + HRESULT (WINAPI *put_ThumbPrint)(ICEnroll4 *This,BSTR bstrThumbPrint); + HRESULT (WINAPI *get_ThumbPrint)(ICEnroll4 *This,BSTR *pbstrThumbPrint); + HRESULT (WINAPI *binaryToString)(ICEnroll4 *This,LONG Flags,BSTR strBinary,BSTR *pstrEncoded); + HRESULT (WINAPI *stringToBinary)(ICEnroll4 *This,LONG Flags,BSTR strEncoded,BSTR *pstrBinary); + HRESULT (WINAPI *addExtensionToRequest)(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + HRESULT (WINAPI *addAttributeToRequest)(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + HRESULT (WINAPI *addNameValuePairToRequest)(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + HRESULT (WINAPI *resetExtensions)(ICEnroll4 *This); + HRESULT (WINAPI *resetAttributes)(ICEnroll4 *This); + HRESULT (WINAPI *createRequest)(ICEnroll4 *This,LONG Flags,BSTR strDNName,BSTR Usage,BSTR *pstrRequest); + HRESULT (WINAPI *createFileRequest)(ICEnroll4 *This,LONG Flags,BSTR strDNName,BSTR strUsage,BSTR strRequestFileName); + HRESULT (WINAPI *acceptResponse)(ICEnroll4 *This,BSTR strResponse); + HRESULT (WINAPI *acceptFileResponse)(ICEnroll4 *This,BSTR strResponseFileName); + HRESULT (WINAPI *getCertFromResponse)(ICEnroll4 *This,BSTR strResponse,BSTR *pstrCert); + HRESULT (WINAPI *getCertFromFileResponse)(ICEnroll4 *This,BSTR strResponseFileName,BSTR *pstrCert); + HRESULT (WINAPI *createPFX)(ICEnroll4 *This,BSTR strPassword,BSTR *pstrPFX); + HRESULT (WINAPI *createFilePFX)(ICEnroll4 *This,BSTR strPassword,BSTR strPFXFileName); + HRESULT (WINAPI *setPendingRequestInfo)(ICEnroll4 *This,LONG lRequestID,BSTR strCADNS,BSTR strCAName,BSTR strFriendlyName); + HRESULT (WINAPI *enumPendingRequest)(ICEnroll4 *This,LONG lIndex,LONG lDesiredProperty,VARIANT *pvarProperty); + HRESULT (WINAPI *removePendingRequest)(ICEnroll4 *This,BSTR strThumbprint); + HRESULT (WINAPI *GetKeyLenEx)(ICEnroll4 *This,LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize); + HRESULT (WINAPI *InstallPKCS7Ex)(ICEnroll4 *This,BSTR PKCS7,LONG *plCertInstalled); + HRESULT (WINAPI *addCertTypeToRequestEx)(ICEnroll4 *This,LONG lType,BSTR bstrOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion); + HRESULT (WINAPI *getProviderType)(ICEnroll4 *This,BSTR strProvName,LONG *plProvType); + HRESULT (WINAPI *put_SignerCertificate)(ICEnroll4 *This,BSTR bstrCert); + HRESULT (WINAPI *put_ClientId)(ICEnroll4 *This,LONG lClientId); + HRESULT (WINAPI *get_ClientId)(ICEnroll4 *This,LONG *plClientId); + HRESULT (WINAPI *addBlobPropertyToCertificate)(ICEnroll4 *This,LONG lPropertyId,LONG lReserved,BSTR bstrProperty); + HRESULT (WINAPI *resetBlobProperties)(ICEnroll4 *This); + HRESULT (WINAPI *put_IncludeSubjectKeyID)(ICEnroll4 *This,WINBOOL fInclude); + HRESULT (WINAPI *get_IncludeSubjectKeyID)(ICEnroll4 *This,WINBOOL *pfInclude); + END_INTERFACE + } ICEnroll4Vtbl; + struct ICEnroll4 { + CONST_VTBL struct ICEnroll4Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ICEnroll4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ICEnroll4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ICEnroll4_Release(This) (This)->lpVtbl->Release(This) +#define ICEnroll4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ICEnroll4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ICEnroll4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ICEnroll4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ICEnroll4_createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10(This,DNName,Usage,wszPKCS10FileName) +#define ICEnroll4_acceptFilePKCS7(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7(This,wszPKCS7FileName) +#define ICEnroll4_createPKCS10(This,DNName,Usage,pPKCS10) (This)->lpVtbl->createPKCS10(This,DNName,Usage,pPKCS10) +#define ICEnroll4_acceptPKCS7(This,PKCS7) (This)->lpVtbl->acceptPKCS7(This,PKCS7) +#define ICEnroll4_getCertFromPKCS7(This,wszPKCS7,pbstrCert) (This)->lpVtbl->getCertFromPKCS7(This,wszPKCS7,pbstrCert) +#define ICEnroll4_enumProviders(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProviders(This,dwIndex,dwFlags,pbstrProvName) +#define ICEnroll4_enumContainers(This,dwIndex,pbstr) (This)->lpVtbl->enumContainers(This,dwIndex,pbstr) +#define ICEnroll4_freeRequestInfo(This,PKCS7OrPKCS10) (This)->lpVtbl->freeRequestInfo(This,PKCS7OrPKCS10) +#define ICEnroll4_get_MyStoreName(This,pbstrName) (This)->lpVtbl->get_MyStoreName(This,pbstrName) +#define ICEnroll4_put_MyStoreName(This,bstrName) (This)->lpVtbl->put_MyStoreName(This,bstrName) +#define ICEnroll4_get_MyStoreType(This,pbstrType) (This)->lpVtbl->get_MyStoreType(This,pbstrType) +#define ICEnroll4_put_MyStoreType(This,bstrType) (This)->lpVtbl->put_MyStoreType(This,bstrType) +#define ICEnroll4_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define ICEnroll4_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define ICEnroll4_get_CAStoreName(This,pbstrName) (This)->lpVtbl->get_CAStoreName(This,pbstrName) +#define ICEnroll4_put_CAStoreName(This,bstrName) (This)->lpVtbl->put_CAStoreName(This,bstrName) +#define ICEnroll4_get_CAStoreType(This,pbstrType) (This)->lpVtbl->get_CAStoreType(This,pbstrType) +#define ICEnroll4_put_CAStoreType(This,bstrType) (This)->lpVtbl->put_CAStoreType(This,bstrType) +#define ICEnroll4_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define ICEnroll4_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define ICEnroll4_get_RootStoreName(This,pbstrName) (This)->lpVtbl->get_RootStoreName(This,pbstrName) +#define ICEnroll4_put_RootStoreName(This,bstrName) (This)->lpVtbl->put_RootStoreName(This,bstrName) +#define ICEnroll4_get_RootStoreType(This,pbstrType) (This)->lpVtbl->get_RootStoreType(This,pbstrType) +#define ICEnroll4_put_RootStoreType(This,bstrType) (This)->lpVtbl->put_RootStoreType(This,bstrType) +#define ICEnroll4_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define ICEnroll4_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define ICEnroll4_get_RequestStoreName(This,pbstrName) (This)->lpVtbl->get_RequestStoreName(This,pbstrName) +#define ICEnroll4_put_RequestStoreName(This,bstrName) (This)->lpVtbl->put_RequestStoreName(This,bstrName) +#define ICEnroll4_get_RequestStoreType(This,pbstrType) (This)->lpVtbl->get_RequestStoreType(This,pbstrType) +#define ICEnroll4_put_RequestStoreType(This,bstrType) (This)->lpVtbl->put_RequestStoreType(This,bstrType) +#define ICEnroll4_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define ICEnroll4_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define ICEnroll4_get_ContainerName(This,pbstrContainer) (This)->lpVtbl->get_ContainerName(This,pbstrContainer) +#define ICEnroll4_put_ContainerName(This,bstrContainer) (This)->lpVtbl->put_ContainerName(This,bstrContainer) +#define ICEnroll4_get_ProviderName(This,pbstrProvider) (This)->lpVtbl->get_ProviderName(This,pbstrProvider) +#define ICEnroll4_put_ProviderName(This,bstrProvider) (This)->lpVtbl->put_ProviderName(This,bstrProvider) +#define ICEnroll4_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define ICEnroll4_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define ICEnroll4_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define ICEnroll4_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define ICEnroll4_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define ICEnroll4_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define ICEnroll4_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll4_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define ICEnroll4_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define ICEnroll4_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define ICEnroll4_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define ICEnroll4_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define ICEnroll4_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define ICEnroll4_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define ICEnroll4_get_SPCFileName(This,pbstr) (This)->lpVtbl->get_SPCFileName(This,pbstr) +#define ICEnroll4_put_SPCFileName(This,bstr) (This)->lpVtbl->put_SPCFileName(This,bstr) +#define ICEnroll4_get_PVKFileName(This,pbstr) (This)->lpVtbl->get_PVKFileName(This,pbstr) +#define ICEnroll4_put_PVKFileName(This,bstr) (This)->lpVtbl->put_PVKFileName(This,bstr) +#define ICEnroll4_get_HashAlgorithm(This,pbstr) (This)->lpVtbl->get_HashAlgorithm(This,pbstr) +#define ICEnroll4_put_HashAlgorithm(This,bstr) (This)->lpVtbl->put_HashAlgorithm(This,bstr) +#define ICEnroll4_addCertTypeToRequest(This,CertType) (This)->lpVtbl->addCertTypeToRequest(This,CertType) +#define ICEnroll4_addNameValuePairToSignature(This,Name,Value) (This)->lpVtbl->addNameValuePairToSignature(This,Name,Value) +#define ICEnroll4_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define ICEnroll4_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define ICEnroll4_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define ICEnroll4_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#define ICEnroll4_InstallPKCS7(This,PKCS7) (This)->lpVtbl->InstallPKCS7(This,PKCS7) +#define ICEnroll4_Reset(This) (This)->lpVtbl->Reset(This) +#define ICEnroll4_GetSupportedKeySpec(This,pdwKeySpec) (This)->lpVtbl->GetSupportedKeySpec(This,pdwKeySpec) +#define ICEnroll4_GetKeyLen(This,fMin,fExchange,pdwKeySize) (This)->lpVtbl->GetKeyLen(This,fMin,fExchange,pdwKeySize) +#define ICEnroll4_EnumAlgs(This,dwIndex,algClass,pdwAlgID) (This)->lpVtbl->EnumAlgs(This,dwIndex,algClass,pdwAlgID) +#define ICEnroll4_GetAlgName(This,algID,pbstr) (This)->lpVtbl->GetAlgName(This,algID,pbstr) +#define ICEnroll4_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define ICEnroll4_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define ICEnroll4_put_HashAlgID(This,hashAlgID) (This)->lpVtbl->put_HashAlgID(This,hashAlgID) +#define ICEnroll4_get_HashAlgID(This,hashAlgID) (This)->lpVtbl->get_HashAlgID(This,hashAlgID) +#define ICEnroll4_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define ICEnroll4_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define ICEnroll4_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define ICEnroll4_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define ICEnroll4_put_PrivateKeyArchiveCertificate(This,bstrCert) (This)->lpVtbl->put_PrivateKeyArchiveCertificate(This,bstrCert) +#define ICEnroll4_get_PrivateKeyArchiveCertificate(This,pbstrCert) (This)->lpVtbl->get_PrivateKeyArchiveCertificate(This,pbstrCert) +#define ICEnroll4_put_ThumbPrint(This,bstrThumbPrint) (This)->lpVtbl->put_ThumbPrint(This,bstrThumbPrint) +#define ICEnroll4_get_ThumbPrint(This,pbstrThumbPrint) (This)->lpVtbl->get_ThumbPrint(This,pbstrThumbPrint) +#define ICEnroll4_binaryToString(This,Flags,strBinary,pstrEncoded) (This)->lpVtbl->binaryToString(This,Flags,strBinary,pstrEncoded) +#define ICEnroll4_stringToBinary(This,Flags,strEncoded,pstrBinary) (This)->lpVtbl->stringToBinary(This,Flags,strEncoded,pstrBinary) +#define ICEnroll4_addExtensionToRequest(This,Flags,strName,strValue) (This)->lpVtbl->addExtensionToRequest(This,Flags,strName,strValue) +#define ICEnroll4_addAttributeToRequest(This,Flags,strName,strValue) (This)->lpVtbl->addAttributeToRequest(This,Flags,strName,strValue) +#define ICEnroll4_addNameValuePairToRequest(This,Flags,strName,strValue) (This)->lpVtbl->addNameValuePairToRequest(This,Flags,strName,strValue) +#define ICEnroll4_resetExtensions(This) (This)->lpVtbl->resetExtensions(This) +#define ICEnroll4_resetAttributes(This) (This)->lpVtbl->resetAttributes(This) +#define ICEnroll4_createRequest(This,Flags,strDNName,Usage,pstrRequest) (This)->lpVtbl->createRequest(This,Flags,strDNName,Usage,pstrRequest) +#define ICEnroll4_createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName) (This)->lpVtbl->createFileRequest(This,Flags,strDNName,strUsage,strRequestFileName) +#define ICEnroll4_acceptResponse(This,strResponse) (This)->lpVtbl->acceptResponse(This,strResponse) +#define ICEnroll4_acceptFileResponse(This,strResponseFileName) (This)->lpVtbl->acceptFileResponse(This,strResponseFileName) +#define ICEnroll4_getCertFromResponse(This,strResponse,pstrCert) (This)->lpVtbl->getCertFromResponse(This,strResponse,pstrCert) +#define ICEnroll4_getCertFromFileResponse(This,strResponseFileName,pstrCert) (This)->lpVtbl->getCertFromFileResponse(This,strResponseFileName,pstrCert) +#define ICEnroll4_createPFX(This,strPassword,pstrPFX) (This)->lpVtbl->createPFX(This,strPassword,pstrPFX) +#define ICEnroll4_createFilePFX(This,strPassword,strPFXFileName) (This)->lpVtbl->createFilePFX(This,strPassword,strPFXFileName) +#define ICEnroll4_setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName) (This)->lpVtbl->setPendingRequestInfo(This,lRequestID,strCADNS,strCAName,strFriendlyName) +#define ICEnroll4_enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty) (This)->lpVtbl->enumPendingRequest(This,lIndex,lDesiredProperty,pvarProperty) +#define ICEnroll4_removePendingRequest(This,strThumbprint) (This)->lpVtbl->removePendingRequest(This,strThumbprint) +#define ICEnroll4_GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) (This)->lpVtbl->GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) +#define ICEnroll4_InstallPKCS7Ex(This,PKCS7,plCertInstalled) (This)->lpVtbl->InstallPKCS7Ex(This,PKCS7,plCertInstalled) +#define ICEnroll4_addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) (This)->lpVtbl->addCertTypeToRequestEx(This,lType,bstrOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) +#define ICEnroll4_getProviderType(This,strProvName,plProvType) (This)->lpVtbl->getProviderType(This,strProvName,plProvType) +#define ICEnroll4_put_SignerCertificate(This,bstrCert) (This)->lpVtbl->put_SignerCertificate(This,bstrCert) +#define ICEnroll4_put_ClientId(This,lClientId) (This)->lpVtbl->put_ClientId(This,lClientId) +#define ICEnroll4_get_ClientId(This,plClientId) (This)->lpVtbl->get_ClientId(This,plClientId) +#define ICEnroll4_addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty) (This)->lpVtbl->addBlobPropertyToCertificate(This,lPropertyId,lReserved,bstrProperty) +#define ICEnroll4_resetBlobProperties(This) (This)->lpVtbl->resetBlobProperties(This) +#define ICEnroll4_put_IncludeSubjectKeyID(This,fInclude) (This)->lpVtbl->put_IncludeSubjectKeyID(This,fInclude) +#define ICEnroll4_get_IncludeSubjectKeyID(This,pfInclude) (This)->lpVtbl->get_IncludeSubjectKeyID(This,pfInclude) +#endif +#endif + HRESULT WINAPI ICEnroll4_put_PrivateKeyArchiveCertificate_Proxy(ICEnroll4 *This,BSTR bstrCert); + void __RPC_STUB ICEnroll4_put_PrivateKeyArchiveCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_get_PrivateKeyArchiveCertificate_Proxy(ICEnroll4 *This,BSTR *pbstrCert); + void __RPC_STUB ICEnroll4_get_PrivateKeyArchiveCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_put_ThumbPrint_Proxy(ICEnroll4 *This,BSTR bstrThumbPrint); + void __RPC_STUB ICEnroll4_put_ThumbPrint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_get_ThumbPrint_Proxy(ICEnroll4 *This,BSTR *pbstrThumbPrint); + void __RPC_STUB ICEnroll4_get_ThumbPrint_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_binaryToString_Proxy(ICEnroll4 *This,LONG Flags,BSTR strBinary,BSTR *pstrEncoded); + void __RPC_STUB ICEnroll4_binaryToString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_stringToBinary_Proxy(ICEnroll4 *This,LONG Flags,BSTR strEncoded,BSTR *pstrBinary); + void __RPC_STUB ICEnroll4_stringToBinary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_addExtensionToRequest_Proxy(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + void __RPC_STUB ICEnroll4_addExtensionToRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_addAttributeToRequest_Proxy(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + void __RPC_STUB ICEnroll4_addAttributeToRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_addNameValuePairToRequest_Proxy(ICEnroll4 *This,LONG Flags,BSTR strName,BSTR strValue); + void __RPC_STUB ICEnroll4_addNameValuePairToRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_resetExtensions_Proxy(ICEnroll4 *This); + void __RPC_STUB ICEnroll4_resetExtensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_resetAttributes_Proxy(ICEnroll4 *This); + void __RPC_STUB ICEnroll4_resetAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_createRequest_Proxy(ICEnroll4 *This,LONG Flags,BSTR strDNName,BSTR Usage,BSTR *pstrRequest); + void __RPC_STUB ICEnroll4_createRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_createFileRequest_Proxy(ICEnroll4 *This,LONG Flags,BSTR strDNName,BSTR strUsage,BSTR strRequestFileName); + void __RPC_STUB ICEnroll4_createFileRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_acceptResponse_Proxy(ICEnroll4 *This,BSTR strResponse); + void __RPC_STUB ICEnroll4_acceptResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_acceptFileResponse_Proxy(ICEnroll4 *This,BSTR strResponseFileName); + void __RPC_STUB ICEnroll4_acceptFileResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_getCertFromResponse_Proxy(ICEnroll4 *This,BSTR strResponse,BSTR *pstrCert); + void __RPC_STUB ICEnroll4_getCertFromResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_getCertFromFileResponse_Proxy(ICEnroll4 *This,BSTR strResponseFileName,BSTR *pstrCert); + void __RPC_STUB ICEnroll4_getCertFromFileResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_createPFX_Proxy(ICEnroll4 *This,BSTR strPassword,BSTR *pstrPFX); + void __RPC_STUB ICEnroll4_createPFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_createFilePFX_Proxy(ICEnroll4 *This,BSTR strPassword,BSTR strPFXFileName); + void __RPC_STUB ICEnroll4_createFilePFX_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_setPendingRequestInfo_Proxy(ICEnroll4 *This,LONG lRequestID,BSTR strCADNS,BSTR strCAName,BSTR strFriendlyName); + void __RPC_STUB ICEnroll4_setPendingRequestInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_enumPendingRequest_Proxy(ICEnroll4 *This,LONG lIndex,LONG lDesiredProperty,VARIANT *pvarProperty); + void __RPC_STUB ICEnroll4_enumPendingRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_removePendingRequest_Proxy(ICEnroll4 *This,BSTR strThumbprint); + void __RPC_STUB ICEnroll4_removePendingRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_GetKeyLenEx_Proxy(ICEnroll4 *This,LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize); + void __RPC_STUB ICEnroll4_GetKeyLenEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_InstallPKCS7Ex_Proxy(ICEnroll4 *This,BSTR PKCS7,LONG *plCertInstalled); + void __RPC_STUB ICEnroll4_InstallPKCS7Ex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_addCertTypeToRequestEx_Proxy(ICEnroll4 *This,LONG lType,BSTR bstrOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion); + void __RPC_STUB ICEnroll4_addCertTypeToRequestEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_getProviderType_Proxy(ICEnroll4 *This,BSTR strProvName,LONG *plProvType); + void __RPC_STUB ICEnroll4_getProviderType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_put_SignerCertificate_Proxy(ICEnroll4 *This,BSTR bstrCert); + void __RPC_STUB ICEnroll4_put_SignerCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_put_ClientId_Proxy(ICEnroll4 *This,LONG lClientId); + void __RPC_STUB ICEnroll4_put_ClientId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_get_ClientId_Proxy(ICEnroll4 *This,LONG *plClientId); + void __RPC_STUB ICEnroll4_get_ClientId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_addBlobPropertyToCertificate_Proxy(ICEnroll4 *This,LONG lPropertyId,LONG lReserved,BSTR bstrProperty); + void __RPC_STUB ICEnroll4_addBlobPropertyToCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_resetBlobProperties_Proxy(ICEnroll4 *This); + void __RPC_STUB ICEnroll4_resetBlobProperties_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_put_IncludeSubjectKeyID_Proxy(ICEnroll4 *This,WINBOOL fInclude); + void __RPC_STUB ICEnroll4_put_IncludeSubjectKeyID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ICEnroll4_get_IncludeSubjectKeyID_Proxy(ICEnroll4 *This,WINBOOL *pfInclude); + void __RPC_STUB ICEnroll4_get_IncludeSubjectKeyID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnroll_INTERFACE_DEFINED__ +#define __IEnroll_INTERFACE_DEFINED__ + extern const IID IID_IEnroll; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct IEnroll : public IUnknown { + public: + virtual HRESULT WINAPI createFilePKCS10WStr(LPCWSTR DNName,LPCWSTR Usage,LPCWSTR wszPKCS10FileName) = 0; + virtual HRESULT WINAPI acceptFilePKCS7WStr(LPCWSTR wszPKCS7FileName) = 0; + virtual HRESULT WINAPI createPKCS10WStr(LPCWSTR DNName,LPCWSTR Usage,PCRYPT_DATA_BLOB pPkcs10Blob) = 0; + virtual HRESULT WINAPI acceptPKCS7Blob(PCRYPT_DATA_BLOB pBlobPKCS7) = 0; + virtual PCCERT_CONTEXT WINAPI getCertContextFromPKCS7(PCRYPT_DATA_BLOB pBlobPKCS7) = 0; + virtual HCERTSTORE WINAPI getMyStore(void) = 0; + virtual HCERTSTORE WINAPI getCAStore(void) = 0; + virtual HCERTSTORE WINAPI getROOTHStore(void) = 0; + virtual HRESULT WINAPI enumProvidersWStr(LONG dwIndex,LONG dwFlags,LPWSTR *pbstrProvName) = 0; + virtual HRESULT WINAPI enumContainersWStr(LONG dwIndex,LPWSTR *pbstr) = 0; + virtual HRESULT WINAPI freeRequestInfoBlob(CRYPT_DATA_BLOB pkcs7OrPkcs10) = 0; + virtual HRESULT WINAPI get_MyStoreNameWStr(LPWSTR *szwName) = 0; + virtual HRESULT WINAPI put_MyStoreNameWStr(LPWSTR szwName) = 0; + virtual HRESULT WINAPI get_MyStoreTypeWStr(LPWSTR *szwType) = 0; + virtual HRESULT WINAPI put_MyStoreTypeWStr(LPWSTR szwType) = 0; + virtual HRESULT WINAPI get_MyStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_MyStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_CAStoreNameWStr(LPWSTR *szwName) = 0; + virtual HRESULT WINAPI put_CAStoreNameWStr(LPWSTR szwName) = 0; + virtual HRESULT WINAPI get_CAStoreTypeWStr(LPWSTR *szwType) = 0; + virtual HRESULT WINAPI put_CAStoreTypeWStr(LPWSTR szwType) = 0; + virtual HRESULT WINAPI get_CAStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_CAStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_RootStoreNameWStr(LPWSTR *szwName) = 0; + virtual HRESULT WINAPI put_RootStoreNameWStr(LPWSTR szwName) = 0; + virtual HRESULT WINAPI get_RootStoreTypeWStr(LPWSTR *szwType) = 0; + virtual HRESULT WINAPI put_RootStoreTypeWStr(LPWSTR szwType) = 0; + virtual HRESULT WINAPI get_RootStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_RootStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_RequestStoreNameWStr(LPWSTR *szwName) = 0; + virtual HRESULT WINAPI put_RequestStoreNameWStr(LPWSTR szwName) = 0; + virtual HRESULT WINAPI get_RequestStoreTypeWStr(LPWSTR *szwType) = 0; + virtual HRESULT WINAPI put_RequestStoreTypeWStr(LPWSTR szwType) = 0; + virtual HRESULT WINAPI get_RequestStoreFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_RequestStoreFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_ContainerNameWStr(LPWSTR *szwContainer) = 0; + virtual HRESULT WINAPI put_ContainerNameWStr(LPWSTR szwContainer) = 0; + virtual HRESULT WINAPI get_ProviderNameWStr(LPWSTR *szwProvider) = 0; + virtual HRESULT WINAPI put_ProviderNameWStr(LPWSTR szwProvider) = 0; + virtual HRESULT WINAPI get_ProviderType(LONG *pdwType) = 0; + virtual HRESULT WINAPI put_ProviderType(LONG dwType) = 0; + virtual HRESULT WINAPI get_KeySpec(LONG *pdw) = 0; + virtual HRESULT WINAPI put_KeySpec(LONG dw) = 0; + virtual HRESULT WINAPI get_ProviderFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_ProviderFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_UseExistingKeySet(WINBOOL *fUseExistingKeys) = 0; + virtual HRESULT WINAPI put_UseExistingKeySet(WINBOOL fUseExistingKeys) = 0; + virtual HRESULT WINAPI get_GenKeyFlags(LONG *pdwFlags) = 0; + virtual HRESULT WINAPI put_GenKeyFlags(LONG dwFlags) = 0; + virtual HRESULT WINAPI get_DeleteRequestCert(WINBOOL *fDelete) = 0; + virtual HRESULT WINAPI put_DeleteRequestCert(WINBOOL fDelete) = 0; + virtual HRESULT WINAPI get_WriteCertToUserDS(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_WriteCertToUserDS(WINBOOL fBool) = 0; + virtual HRESULT WINAPI get_EnableT61DNEncoding(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_EnableT61DNEncoding(WINBOOL fBool) = 0; + virtual HRESULT WINAPI get_WriteCertToCSP(WINBOOL *fBool) = 0; + virtual HRESULT WINAPI put_WriteCertToCSP(WINBOOL fBool) = 0; + virtual HRESULT WINAPI get_SPCFileNameWStr(LPWSTR *szw) = 0; + virtual HRESULT WINAPI put_SPCFileNameWStr(LPWSTR szw) = 0; + virtual HRESULT WINAPI get_PVKFileNameWStr(LPWSTR *szw) = 0; + virtual HRESULT WINAPI put_PVKFileNameWStr(LPWSTR szw) = 0; + virtual HRESULT WINAPI get_HashAlgorithmWStr(LPWSTR *szw) = 0; + virtual HRESULT WINAPI put_HashAlgorithmWStr(LPWSTR szw) = 0; + virtual HRESULT WINAPI get_RenewalCertificate(PCCERT_CONTEXT *ppCertContext) = 0; + virtual HRESULT WINAPI put_RenewalCertificate(PCCERT_CONTEXT pCertContext) = 0; + virtual HRESULT WINAPI AddCertTypeToRequestWStr(LPWSTR szw) = 0; + virtual HRESULT WINAPI AddNameValuePairToSignatureWStr(LPWSTR Name,LPWSTR Value) = 0; + virtual HRESULT WINAPI AddExtensionsToRequest(PCERT_EXTENSIONS pCertExtensions) = 0; + virtual HRESULT WINAPI AddAuthenticatedAttributesToPKCS7Request(PCRYPT_ATTRIBUTES pAttributes) = 0; + virtual HRESULT WINAPI CreatePKCS7RequestFromRequest(PCRYPT_DATA_BLOB pRequest,PCCERT_CONTEXT pSigningCertContext,PCRYPT_DATA_BLOB pPkcs7Blob) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct IEnrollVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnroll *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnroll *This); + ULONG (WINAPI *Release)(IEnroll *This); + HRESULT (WINAPI *createFilePKCS10WStr)(IEnroll *This,LPCWSTR DNName,LPCWSTR Usage,LPCWSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7WStr)(IEnroll *This,LPCWSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10WStr)(IEnroll *This,LPCWSTR DNName,LPCWSTR Usage,PCRYPT_DATA_BLOB pPkcs10Blob); + HRESULT (WINAPI *acceptPKCS7Blob)(IEnroll *This,PCRYPT_DATA_BLOB pBlobPKCS7); + PCCERT_CONTEXT (WINAPI *getCertContextFromPKCS7)(IEnroll *This,PCRYPT_DATA_BLOB pBlobPKCS7); + HCERTSTORE (WINAPI *getMyStore)(IEnroll *This); + HCERTSTORE (WINAPI *getCAStore)(IEnroll *This); + HCERTSTORE (WINAPI *getROOTHStore)(IEnroll *This); + HRESULT (WINAPI *enumProvidersWStr)(IEnroll *This,LONG dwIndex,LONG dwFlags,LPWSTR *pbstrProvName); + HRESULT (WINAPI *enumContainersWStr)(IEnroll *This,LONG dwIndex,LPWSTR *pbstr); + HRESULT (WINAPI *freeRequestInfoBlob)(IEnroll *This,CRYPT_DATA_BLOB pkcs7OrPkcs10); + HRESULT (WINAPI *get_MyStoreNameWStr)(IEnroll *This,LPWSTR *szwName); + HRESULT (WINAPI *put_MyStoreNameWStr)(IEnroll *This,LPWSTR szwName); + HRESULT (WINAPI *get_MyStoreTypeWStr)(IEnroll *This,LPWSTR *szwType); + HRESULT (WINAPI *put_MyStoreTypeWStr)(IEnroll *This,LPWSTR szwType); + HRESULT (WINAPI *get_MyStoreFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreNameWStr)(IEnroll *This,LPWSTR *szwName); + HRESULT (WINAPI *put_CAStoreNameWStr)(IEnroll *This,LPWSTR szwName); + HRESULT (WINAPI *get_CAStoreTypeWStr)(IEnroll *This,LPWSTR *szwType); + HRESULT (WINAPI *put_CAStoreTypeWStr)(IEnroll *This,LPWSTR szwType); + HRESULT (WINAPI *get_CAStoreFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreNameWStr)(IEnroll *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RootStoreNameWStr)(IEnroll *This,LPWSTR szwName); + HRESULT (WINAPI *get_RootStoreTypeWStr)(IEnroll *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RootStoreTypeWStr)(IEnroll *This,LPWSTR szwType); + HRESULT (WINAPI *get_RootStoreFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreNameWStr)(IEnroll *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RequestStoreNameWStr)(IEnroll *This,LPWSTR szwName); + HRESULT (WINAPI *get_RequestStoreTypeWStr)(IEnroll *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RequestStoreTypeWStr)(IEnroll *This,LPWSTR szwType); + HRESULT (WINAPI *get_RequestStoreFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerNameWStr)(IEnroll *This,LPWSTR *szwContainer); + HRESULT (WINAPI *put_ContainerNameWStr)(IEnroll *This,LPWSTR szwContainer); + HRESULT (WINAPI *get_ProviderNameWStr)(IEnroll *This,LPWSTR *szwProvider); + HRESULT (WINAPI *put_ProviderNameWStr)(IEnroll *This,LPWSTR szwProvider); + HRESULT (WINAPI *get_ProviderType)(IEnroll *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(IEnroll *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(IEnroll *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(IEnroll *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(IEnroll *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(IEnroll *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(IEnroll *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(IEnroll *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(IEnroll *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(IEnroll *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToUserDS)(IEnroll *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(IEnroll *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(IEnroll *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(IEnroll *This,WINBOOL fBool); + HRESULT (WINAPI *get_WriteCertToCSP)(IEnroll *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(IEnroll *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileNameWStr)(IEnroll *This,LPWSTR *szw); + HRESULT (WINAPI *put_SPCFileNameWStr)(IEnroll *This,LPWSTR szw); + HRESULT (WINAPI *get_PVKFileNameWStr)(IEnroll *This,LPWSTR *szw); + HRESULT (WINAPI *put_PVKFileNameWStr)(IEnroll *This,LPWSTR szw); + HRESULT (WINAPI *get_HashAlgorithmWStr)(IEnroll *This,LPWSTR *szw); + HRESULT (WINAPI *put_HashAlgorithmWStr)(IEnroll *This,LPWSTR szw); + HRESULT (WINAPI *get_RenewalCertificate)(IEnroll *This,PCCERT_CONTEXT *ppCertContext); + HRESULT (WINAPI *put_RenewalCertificate)(IEnroll *This,PCCERT_CONTEXT pCertContext); + HRESULT (WINAPI *AddCertTypeToRequestWStr)(IEnroll *This,LPWSTR szw); + HRESULT (WINAPI *AddNameValuePairToSignatureWStr)(IEnroll *This,LPWSTR Name,LPWSTR Value); + HRESULT (WINAPI *AddExtensionsToRequest)(IEnroll *This,PCERT_EXTENSIONS pCertExtensions); + HRESULT (WINAPI *AddAuthenticatedAttributesToPKCS7Request)(IEnroll *This,PCRYPT_ATTRIBUTES pAttributes); + HRESULT (WINAPI *CreatePKCS7RequestFromRequest)(IEnroll *This,PCRYPT_DATA_BLOB pRequest,PCCERT_CONTEXT pSigningCertContext,PCRYPT_DATA_BLOB pPkcs7Blob); + END_INTERFACE + } IEnrollVtbl; + struct IEnroll { + CONST_VTBL struct IEnrollVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnroll_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnroll_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnroll_Release(This) (This)->lpVtbl->Release(This) +#define IEnroll_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) +#define IEnroll_acceptFilePKCS7WStr(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7WStr(This,wszPKCS7FileName) +#define IEnroll_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) (This)->lpVtbl->createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) +#define IEnroll_acceptPKCS7Blob(This,pBlobPKCS7) (This)->lpVtbl->acceptPKCS7Blob(This,pBlobPKCS7) +#define IEnroll_getCertContextFromPKCS7(This,pBlobPKCS7) (This)->lpVtbl->getCertContextFromPKCS7(This,pBlobPKCS7) +#define IEnroll_getMyStore(This) (This)->lpVtbl->getMyStore(This) +#define IEnroll_getCAStore(This) (This)->lpVtbl->getCAStore(This) +#define IEnroll_getROOTHStore(This) (This)->lpVtbl->getROOTHStore(This) +#define IEnroll_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) +#define IEnroll_enumContainersWStr(This,dwIndex,pbstr) (This)->lpVtbl->enumContainersWStr(This,dwIndex,pbstr) +#define IEnroll_freeRequestInfoBlob(This,pkcs7OrPkcs10) (This)->lpVtbl->freeRequestInfoBlob(This,pkcs7OrPkcs10) +#define IEnroll_get_MyStoreNameWStr(This,szwName) (This)->lpVtbl->get_MyStoreNameWStr(This,szwName) +#define IEnroll_put_MyStoreNameWStr(This,szwName) (This)->lpVtbl->put_MyStoreNameWStr(This,szwName) +#define IEnroll_get_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->get_MyStoreTypeWStr(This,szwType) +#define IEnroll_put_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->put_MyStoreTypeWStr(This,szwType) +#define IEnroll_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define IEnroll_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define IEnroll_get_CAStoreNameWStr(This,szwName) (This)->lpVtbl->get_CAStoreNameWStr(This,szwName) +#define IEnroll_put_CAStoreNameWStr(This,szwName) (This)->lpVtbl->put_CAStoreNameWStr(This,szwName) +#define IEnroll_get_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->get_CAStoreTypeWStr(This,szwType) +#define IEnroll_put_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->put_CAStoreTypeWStr(This,szwType) +#define IEnroll_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define IEnroll_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define IEnroll_get_RootStoreNameWStr(This,szwName) (This)->lpVtbl->get_RootStoreNameWStr(This,szwName) +#define IEnroll_put_RootStoreNameWStr(This,szwName) (This)->lpVtbl->put_RootStoreNameWStr(This,szwName) +#define IEnroll_get_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RootStoreTypeWStr(This,szwType) +#define IEnroll_put_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RootStoreTypeWStr(This,szwType) +#define IEnroll_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define IEnroll_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define IEnroll_get_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->get_RequestStoreNameWStr(This,szwName) +#define IEnroll_put_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->put_RequestStoreNameWStr(This,szwName) +#define IEnroll_get_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RequestStoreTypeWStr(This,szwType) +#define IEnroll_put_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RequestStoreTypeWStr(This,szwType) +#define IEnroll_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define IEnroll_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define IEnroll_get_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->get_ContainerNameWStr(This,szwContainer) +#define IEnroll_put_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->put_ContainerNameWStr(This,szwContainer) +#define IEnroll_get_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->get_ProviderNameWStr(This,szwProvider) +#define IEnroll_put_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->put_ProviderNameWStr(This,szwProvider) +#define IEnroll_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define IEnroll_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define IEnroll_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define IEnroll_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define IEnroll_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define IEnroll_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define IEnroll_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define IEnroll_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define IEnroll_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define IEnroll_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define IEnroll_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define IEnroll_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define IEnroll_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define IEnroll_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#define IEnroll_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define IEnroll_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define IEnroll_get_SPCFileNameWStr(This,szw) (This)->lpVtbl->get_SPCFileNameWStr(This,szw) +#define IEnroll_put_SPCFileNameWStr(This,szw) (This)->lpVtbl->put_SPCFileNameWStr(This,szw) +#define IEnroll_get_PVKFileNameWStr(This,szw) (This)->lpVtbl->get_PVKFileNameWStr(This,szw) +#define IEnroll_put_PVKFileNameWStr(This,szw) (This)->lpVtbl->put_PVKFileNameWStr(This,szw) +#define IEnroll_get_HashAlgorithmWStr(This,szw) (This)->lpVtbl->get_HashAlgorithmWStr(This,szw) +#define IEnroll_put_HashAlgorithmWStr(This,szw) (This)->lpVtbl->put_HashAlgorithmWStr(This,szw) +#define IEnroll_get_RenewalCertificate(This,ppCertContext) (This)->lpVtbl->get_RenewalCertificate(This,ppCertContext) +#define IEnroll_put_RenewalCertificate(This,pCertContext) (This)->lpVtbl->put_RenewalCertificate(This,pCertContext) +#define IEnroll_AddCertTypeToRequestWStr(This,szw) (This)->lpVtbl->AddCertTypeToRequestWStr(This,szw) +#define IEnroll_AddNameValuePairToSignatureWStr(This,Name,Value) (This)->lpVtbl->AddNameValuePairToSignatureWStr(This,Name,Value) +#define IEnroll_AddExtensionsToRequest(This,pCertExtensions) (This)->lpVtbl->AddExtensionsToRequest(This,pCertExtensions) +#define IEnroll_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) (This)->lpVtbl->AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) +#define IEnroll_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) (This)->lpVtbl->CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) +#endif +#endif + HRESULT WINAPI IEnroll_createFilePKCS10WStr_Proxy(IEnroll *This,LPCWSTR DNName,LPCWSTR Usage,LPCWSTR wszPKCS10FileName); + void __RPC_STUB IEnroll_createFilePKCS10WStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_acceptFilePKCS7WStr_Proxy(IEnroll *This,LPCWSTR wszPKCS7FileName); + void __RPC_STUB IEnroll_acceptFilePKCS7WStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_createPKCS10WStr_Proxy(IEnroll *This,LPCWSTR DNName,LPCWSTR Usage,PCRYPT_DATA_BLOB pPkcs10Blob); + void __RPC_STUB IEnroll_createPKCS10WStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_acceptPKCS7Blob_Proxy(IEnroll *This,PCRYPT_DATA_BLOB pBlobPKCS7); + void __RPC_STUB IEnroll_acceptPKCS7Blob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + PCCERT_CONTEXT WINAPI IEnroll_getCertContextFromPKCS7_Proxy(IEnroll *This,PCRYPT_DATA_BLOB pBlobPKCS7); + void __RPC_STUB IEnroll_getCertContextFromPKCS7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HCERTSTORE WINAPI IEnroll_getMyStore_Proxy(IEnroll *This); + void __RPC_STUB IEnroll_getMyStore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HCERTSTORE WINAPI IEnroll_getCAStore_Proxy(IEnroll *This); + void __RPC_STUB IEnroll_getCAStore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HCERTSTORE WINAPI IEnroll_getROOTHStore_Proxy(IEnroll *This); + void __RPC_STUB IEnroll_getROOTHStore_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_enumProvidersWStr_Proxy(IEnroll *This,LONG dwIndex,LONG dwFlags,LPWSTR *pbstrProvName); + void __RPC_STUB IEnroll_enumProvidersWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_enumContainersWStr_Proxy(IEnroll *This,LONG dwIndex,LPWSTR *pbstr); + void __RPC_STUB IEnroll_enumContainersWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_freeRequestInfoBlob_Proxy(IEnroll *This,CRYPT_DATA_BLOB pkcs7OrPkcs10); + void __RPC_STUB IEnroll_freeRequestInfoBlob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_MyStoreNameWStr_Proxy(IEnroll *This,LPWSTR *szwName); + void __RPC_STUB IEnroll_get_MyStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_MyStoreNameWStr_Proxy(IEnroll *This,LPWSTR szwName); + void __RPC_STUB IEnroll_put_MyStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_MyStoreTypeWStr_Proxy(IEnroll *This,LPWSTR *szwType); + void __RPC_STUB IEnroll_get_MyStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_MyStoreTypeWStr_Proxy(IEnroll *This,LPWSTR szwType); + void __RPC_STUB IEnroll_put_MyStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_MyStoreFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_MyStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_MyStoreFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_MyStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_CAStoreNameWStr_Proxy(IEnroll *This,LPWSTR *szwName); + void __RPC_STUB IEnroll_get_CAStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_CAStoreNameWStr_Proxy(IEnroll *This,LPWSTR szwName); + void __RPC_STUB IEnroll_put_CAStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_CAStoreTypeWStr_Proxy(IEnroll *This,LPWSTR *szwType); + void __RPC_STUB IEnroll_get_CAStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_CAStoreTypeWStr_Proxy(IEnroll *This,LPWSTR szwType); + void __RPC_STUB IEnroll_put_CAStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_CAStoreFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_CAStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_CAStoreFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_CAStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RootStoreNameWStr_Proxy(IEnroll *This,LPWSTR *szwName); + void __RPC_STUB IEnroll_get_RootStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RootStoreNameWStr_Proxy(IEnroll *This,LPWSTR szwName); + void __RPC_STUB IEnroll_put_RootStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RootStoreTypeWStr_Proxy(IEnroll *This,LPWSTR *szwType); + void __RPC_STUB IEnroll_get_RootStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RootStoreTypeWStr_Proxy(IEnroll *This,LPWSTR szwType); + void __RPC_STUB IEnroll_put_RootStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RootStoreFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_RootStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RootStoreFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_RootStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RequestStoreNameWStr_Proxy(IEnroll *This,LPWSTR *szwName); + void __RPC_STUB IEnroll_get_RequestStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RequestStoreNameWStr_Proxy(IEnroll *This,LPWSTR szwName); + void __RPC_STUB IEnroll_put_RequestStoreNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RequestStoreTypeWStr_Proxy(IEnroll *This,LPWSTR *szwType); + void __RPC_STUB IEnroll_get_RequestStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RequestStoreTypeWStr_Proxy(IEnroll *This,LPWSTR szwType); + void __RPC_STUB IEnroll_put_RequestStoreTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RequestStoreFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_RequestStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RequestStoreFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_RequestStoreFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_ContainerNameWStr_Proxy(IEnroll *This,LPWSTR *szwContainer); + void __RPC_STUB IEnroll_get_ContainerNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_ContainerNameWStr_Proxy(IEnroll *This,LPWSTR szwContainer); + void __RPC_STUB IEnroll_put_ContainerNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_ProviderNameWStr_Proxy(IEnroll *This,LPWSTR *szwProvider); + void __RPC_STUB IEnroll_get_ProviderNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_ProviderNameWStr_Proxy(IEnroll *This,LPWSTR szwProvider); + void __RPC_STUB IEnroll_put_ProviderNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_ProviderType_Proxy(IEnroll *This,LONG *pdwType); + void __RPC_STUB IEnroll_get_ProviderType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_ProviderType_Proxy(IEnroll *This,LONG dwType); + void __RPC_STUB IEnroll_put_ProviderType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_KeySpec_Proxy(IEnroll *This,LONG *pdw); + void __RPC_STUB IEnroll_get_KeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_KeySpec_Proxy(IEnroll *This,LONG dw); + void __RPC_STUB IEnroll_put_KeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_ProviderFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_ProviderFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_ProviderFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_ProviderFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_UseExistingKeySet_Proxy(IEnroll *This,WINBOOL *fUseExistingKeys); + void __RPC_STUB IEnroll_get_UseExistingKeySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_UseExistingKeySet_Proxy(IEnroll *This,WINBOOL fUseExistingKeys); + void __RPC_STUB IEnroll_put_UseExistingKeySet_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_GenKeyFlags_Proxy(IEnroll *This,LONG *pdwFlags); + void __RPC_STUB IEnroll_get_GenKeyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_GenKeyFlags_Proxy(IEnroll *This,LONG dwFlags); + void __RPC_STUB IEnroll_put_GenKeyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_DeleteRequestCert_Proxy(IEnroll *This,WINBOOL *fDelete); + void __RPC_STUB IEnroll_get_DeleteRequestCert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_DeleteRequestCert_Proxy(IEnroll *This,WINBOOL fDelete); + void __RPC_STUB IEnroll_put_DeleteRequestCert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_WriteCertToUserDS_Proxy(IEnroll *This,WINBOOL *fBool); + void __RPC_STUB IEnroll_get_WriteCertToUserDS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_WriteCertToUserDS_Proxy(IEnroll *This,WINBOOL fBool); + void __RPC_STUB IEnroll_put_WriteCertToUserDS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_EnableT61DNEncoding_Proxy(IEnroll *This,WINBOOL *fBool); + void __RPC_STUB IEnroll_get_EnableT61DNEncoding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_EnableT61DNEncoding_Proxy(IEnroll *This,WINBOOL fBool); + void __RPC_STUB IEnroll_put_EnableT61DNEncoding_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_WriteCertToCSP_Proxy(IEnroll *This,WINBOOL *fBool); + void __RPC_STUB IEnroll_get_WriteCertToCSP_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_WriteCertToCSP_Proxy(IEnroll *This,WINBOOL fBool); + void __RPC_STUB IEnroll_put_WriteCertToCSP_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_SPCFileNameWStr_Proxy(IEnroll *This,LPWSTR *szw); + void __RPC_STUB IEnroll_get_SPCFileNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_SPCFileNameWStr_Proxy(IEnroll *This,LPWSTR szw); + void __RPC_STUB IEnroll_put_SPCFileNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_PVKFileNameWStr_Proxy(IEnroll *This,LPWSTR *szw); + void __RPC_STUB IEnroll_get_PVKFileNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_PVKFileNameWStr_Proxy(IEnroll *This,LPWSTR szw); + void __RPC_STUB IEnroll_put_PVKFileNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_HashAlgorithmWStr_Proxy(IEnroll *This,LPWSTR *szw); + void __RPC_STUB IEnroll_get_HashAlgorithmWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_HashAlgorithmWStr_Proxy(IEnroll *This,LPWSTR szw); + void __RPC_STUB IEnroll_put_HashAlgorithmWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_get_RenewalCertificate_Proxy(IEnroll *This,PCCERT_CONTEXT *ppCertContext); + void __RPC_STUB IEnroll_get_RenewalCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_put_RenewalCertificate_Proxy(IEnroll *This,PCCERT_CONTEXT pCertContext); + void __RPC_STUB IEnroll_put_RenewalCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_AddCertTypeToRequestWStr_Proxy(IEnroll *This,LPWSTR szw); + void __RPC_STUB IEnroll_AddCertTypeToRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_AddNameValuePairToSignatureWStr_Proxy(IEnroll *This,LPWSTR Name,LPWSTR Value); + void __RPC_STUB IEnroll_AddNameValuePairToSignatureWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_AddExtensionsToRequest_Proxy(IEnroll *This,PCERT_EXTENSIONS pCertExtensions); + void __RPC_STUB IEnroll_AddExtensionsToRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_AddAuthenticatedAttributesToPKCS7Request_Proxy(IEnroll *This,PCRYPT_ATTRIBUTES pAttributes); + void __RPC_STUB IEnroll_AddAuthenticatedAttributesToPKCS7Request_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll_CreatePKCS7RequestFromRequest_Proxy(IEnroll *This,PCRYPT_DATA_BLOB pRequest,PCCERT_CONTEXT pSigningCertContext,PCRYPT_DATA_BLOB pPkcs7Blob); + void __RPC_STUB IEnroll_CreatePKCS7RequestFromRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnroll2_INTERFACE_DEFINED__ +#define __IEnroll2_INTERFACE_DEFINED__ + extern const IID IID_IEnroll2; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct IEnroll2 : public IEnroll { + public: + virtual HRESULT WINAPI InstallPKCS7Blob(PCRYPT_DATA_BLOB pBlobPKCS7) = 0; + virtual HRESULT WINAPI Reset(void) = 0; + virtual HRESULT WINAPI GetSupportedKeySpec(LONG *pdwKeySpec) = 0; + virtual HRESULT WINAPI GetKeyLen(WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize) = 0; + virtual HRESULT WINAPI EnumAlgs(LONG dwIndex,LONG algClass,LONG *pdwAlgID) = 0; + virtual HRESULT WINAPI GetAlgNameWStr(LONG algID,LPWSTR *ppwsz) = 0; + virtual HRESULT WINAPI put_ReuseHardwareKeyIfUnableToGenNew(WINBOOL fReuseHardwareKeyIfUnableToGenNew) = 0; + virtual HRESULT WINAPI get_ReuseHardwareKeyIfUnableToGenNew(WINBOOL *fReuseHardwareKeyIfUnableToGenNew) = 0; + virtual HRESULT WINAPI put_HashAlgID(LONG hashAlgID) = 0; + virtual HRESULT WINAPI get_HashAlgID(LONG *hashAlgID) = 0; + virtual HRESULT WINAPI SetHStoreMy(HCERTSTORE hStore) = 0; + virtual HRESULT WINAPI SetHStoreCA(HCERTSTORE hStore) = 0; + virtual HRESULT WINAPI SetHStoreROOT(HCERTSTORE hStore) = 0; + virtual HRESULT WINAPI SetHStoreRequest(HCERTSTORE hStore) = 0; + virtual HRESULT WINAPI put_LimitExchangeKeyToEncipherment(WINBOOL fLimitExchangeKeyToEncipherment) = 0; + virtual HRESULT WINAPI get_LimitExchangeKeyToEncipherment(WINBOOL *fLimitExchangeKeyToEncipherment) = 0; + virtual HRESULT WINAPI put_EnableSMIMECapabilities(WINBOOL fEnableSMIMECapabilities) = 0; + virtual HRESULT WINAPI get_EnableSMIMECapabilities(WINBOOL *fEnableSMIMECapabilities) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct IEnroll2Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnroll2 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnroll2 *This); + ULONG (WINAPI *Release)(IEnroll2 *This); + HRESULT (WINAPI *createFilePKCS10WStr)(IEnroll2 *This,LPCWSTR DNName,LPCWSTR Usage,LPCWSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7WStr)(IEnroll2 *This,LPCWSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10WStr)(IEnroll2 *This,LPCWSTR DNName,LPCWSTR Usage,PCRYPT_DATA_BLOB pPkcs10Blob); + HRESULT (WINAPI *acceptPKCS7Blob)(IEnroll2 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + PCCERT_CONTEXT (WINAPI *getCertContextFromPKCS7)(IEnroll2 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + HCERTSTORE (WINAPI *getMyStore)(IEnroll2 *This); + HCERTSTORE (WINAPI *getCAStore)(IEnroll2 *This); + HCERTSTORE (WINAPI *getROOTHStore)(IEnroll2 *This); + HRESULT (WINAPI *enumProvidersWStr)(IEnroll2 *This,LONG dwIndex,LONG dwFlags,LPWSTR *pbstrProvName); + HRESULT (WINAPI *enumContainersWStr)(IEnroll2 *This,LONG dwIndex,LPWSTR *pbstr); + HRESULT (WINAPI *freeRequestInfoBlob)(IEnroll2 *This,CRYPT_DATA_BLOB pkcs7OrPkcs10); + HRESULT (WINAPI *get_MyStoreNameWStr)(IEnroll2 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_MyStoreNameWStr)(IEnroll2 *This,LPWSTR szwName); + HRESULT (WINAPI *get_MyStoreTypeWStr)(IEnroll2 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_MyStoreTypeWStr)(IEnroll2 *This,LPWSTR szwType); + HRESULT (WINAPI *get_MyStoreFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreNameWStr)(IEnroll2 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_CAStoreNameWStr)(IEnroll2 *This,LPWSTR szwName); + HRESULT (WINAPI *get_CAStoreTypeWStr)(IEnroll2 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_CAStoreTypeWStr)(IEnroll2 *This,LPWSTR szwType); + HRESULT (WINAPI *get_CAStoreFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreNameWStr)(IEnroll2 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RootStoreNameWStr)(IEnroll2 *This,LPWSTR szwName); + HRESULT (WINAPI *get_RootStoreTypeWStr)(IEnroll2 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RootStoreTypeWStr)(IEnroll2 *This,LPWSTR szwType); + HRESULT (WINAPI *get_RootStoreFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreNameWStr)(IEnroll2 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RequestStoreNameWStr)(IEnroll2 *This,LPWSTR szwName); + HRESULT (WINAPI *get_RequestStoreTypeWStr)(IEnroll2 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RequestStoreTypeWStr)(IEnroll2 *This,LPWSTR szwType); + HRESULT (WINAPI *get_RequestStoreFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerNameWStr)(IEnroll2 *This,LPWSTR *szwContainer); + HRESULT (WINAPI *put_ContainerNameWStr)(IEnroll2 *This,LPWSTR szwContainer); + HRESULT (WINAPI *get_ProviderNameWStr)(IEnroll2 *This,LPWSTR *szwProvider); + HRESULT (WINAPI *put_ProviderNameWStr)(IEnroll2 *This,LPWSTR szwProvider); + HRESULT (WINAPI *get_ProviderType)(IEnroll2 *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(IEnroll2 *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(IEnroll2 *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(IEnroll2 *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(IEnroll2 *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(IEnroll2 *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(IEnroll2 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(IEnroll2 *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(IEnroll2 *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(IEnroll2 *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToUserDS)(IEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(IEnroll2 *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(IEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(IEnroll2 *This,WINBOOL fBool); + HRESULT (WINAPI *get_WriteCertToCSP)(IEnroll2 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(IEnroll2 *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileNameWStr)(IEnroll2 *This,LPWSTR *szw); + HRESULT (WINAPI *put_SPCFileNameWStr)(IEnroll2 *This,LPWSTR szw); + HRESULT (WINAPI *get_PVKFileNameWStr)(IEnroll2 *This,LPWSTR *szw); + HRESULT (WINAPI *put_PVKFileNameWStr)(IEnroll2 *This,LPWSTR szw); + HRESULT (WINAPI *get_HashAlgorithmWStr)(IEnroll2 *This,LPWSTR *szw); + HRESULT (WINAPI *put_HashAlgorithmWStr)(IEnroll2 *This,LPWSTR szw); + HRESULT (WINAPI *get_RenewalCertificate)(IEnroll2 *This,PCCERT_CONTEXT *ppCertContext); + HRESULT (WINAPI *put_RenewalCertificate)(IEnroll2 *This,PCCERT_CONTEXT pCertContext); + HRESULT (WINAPI *AddCertTypeToRequestWStr)(IEnroll2 *This,LPWSTR szw); + HRESULT (WINAPI *AddNameValuePairToSignatureWStr)(IEnroll2 *This,LPWSTR Name,LPWSTR Value); + HRESULT (WINAPI *AddExtensionsToRequest)(IEnroll2 *This,PCERT_EXTENSIONS pCertExtensions); + HRESULT (WINAPI *AddAuthenticatedAttributesToPKCS7Request)(IEnroll2 *This,PCRYPT_ATTRIBUTES pAttributes); + HRESULT (WINAPI *CreatePKCS7RequestFromRequest)(IEnroll2 *This,PCRYPT_DATA_BLOB pRequest,PCCERT_CONTEXT pSigningCertContext,PCRYPT_DATA_BLOB pPkcs7Blob); + HRESULT (WINAPI *InstallPKCS7Blob)(IEnroll2 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + HRESULT (WINAPI *Reset)(IEnroll2 *This); + HRESULT (WINAPI *GetSupportedKeySpec)(IEnroll2 *This,LONG *pdwKeySpec); + HRESULT (WINAPI *GetKeyLen)(IEnroll2 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + HRESULT (WINAPI *EnumAlgs)(IEnroll2 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + HRESULT (WINAPI *GetAlgNameWStr)(IEnroll2 *This,LONG algID,LPWSTR *ppwsz); + HRESULT (WINAPI *put_ReuseHardwareKeyIfUnableToGenNew)(IEnroll2 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *get_ReuseHardwareKeyIfUnableToGenNew)(IEnroll2 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *put_HashAlgID)(IEnroll2 *This,LONG hashAlgID); + HRESULT (WINAPI *get_HashAlgID)(IEnroll2 *This,LONG *hashAlgID); + HRESULT (WINAPI *SetHStoreMy)(IEnroll2 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreCA)(IEnroll2 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreROOT)(IEnroll2 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreRequest)(IEnroll2 *This,HCERTSTORE hStore); + HRESULT (WINAPI *put_LimitExchangeKeyToEncipherment)(IEnroll2 *This,WINBOOL fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *get_LimitExchangeKeyToEncipherment)(IEnroll2 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *put_EnableSMIMECapabilities)(IEnroll2 *This,WINBOOL fEnableSMIMECapabilities); + HRESULT (WINAPI *get_EnableSMIMECapabilities)(IEnroll2 *This,WINBOOL *fEnableSMIMECapabilities); + END_INTERFACE + } IEnroll2Vtbl; + struct IEnroll2 { + CONST_VTBL struct IEnroll2Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnroll2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnroll2_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnroll2_Release(This) (This)->lpVtbl->Release(This) +#define IEnroll2_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) +#define IEnroll2_acceptFilePKCS7WStr(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7WStr(This,wszPKCS7FileName) +#define IEnroll2_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) (This)->lpVtbl->createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) +#define IEnroll2_acceptPKCS7Blob(This,pBlobPKCS7) (This)->lpVtbl->acceptPKCS7Blob(This,pBlobPKCS7) +#define IEnroll2_getCertContextFromPKCS7(This,pBlobPKCS7) (This)->lpVtbl->getCertContextFromPKCS7(This,pBlobPKCS7) +#define IEnroll2_getMyStore(This) (This)->lpVtbl->getMyStore(This) +#define IEnroll2_getCAStore(This) (This)->lpVtbl->getCAStore(This) +#define IEnroll2_getROOTHStore(This) (This)->lpVtbl->getROOTHStore(This) +#define IEnroll2_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) +#define IEnroll2_enumContainersWStr(This,dwIndex,pbstr) (This)->lpVtbl->enumContainersWStr(This,dwIndex,pbstr) +#define IEnroll2_freeRequestInfoBlob(This,pkcs7OrPkcs10) (This)->lpVtbl->freeRequestInfoBlob(This,pkcs7OrPkcs10) +#define IEnroll2_get_MyStoreNameWStr(This,szwName) (This)->lpVtbl->get_MyStoreNameWStr(This,szwName) +#define IEnroll2_put_MyStoreNameWStr(This,szwName) (This)->lpVtbl->put_MyStoreNameWStr(This,szwName) +#define IEnroll2_get_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->get_MyStoreTypeWStr(This,szwType) +#define IEnroll2_put_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->put_MyStoreTypeWStr(This,szwType) +#define IEnroll2_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define IEnroll2_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define IEnroll2_get_CAStoreNameWStr(This,szwName) (This)->lpVtbl->get_CAStoreNameWStr(This,szwName) +#define IEnroll2_put_CAStoreNameWStr(This,szwName) (This)->lpVtbl->put_CAStoreNameWStr(This,szwName) +#define IEnroll2_get_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->get_CAStoreTypeWStr(This,szwType) +#define IEnroll2_put_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->put_CAStoreTypeWStr(This,szwType) +#define IEnroll2_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define IEnroll2_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define IEnroll2_get_RootStoreNameWStr(This,szwName) (This)->lpVtbl->get_RootStoreNameWStr(This,szwName) +#define IEnroll2_put_RootStoreNameWStr(This,szwName) (This)->lpVtbl->put_RootStoreNameWStr(This,szwName) +#define IEnroll2_get_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RootStoreTypeWStr(This,szwType) +#define IEnroll2_put_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RootStoreTypeWStr(This,szwType) +#define IEnroll2_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define IEnroll2_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define IEnroll2_get_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->get_RequestStoreNameWStr(This,szwName) +#define IEnroll2_put_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->put_RequestStoreNameWStr(This,szwName) +#define IEnroll2_get_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RequestStoreTypeWStr(This,szwType) +#define IEnroll2_put_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RequestStoreTypeWStr(This,szwType) +#define IEnroll2_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define IEnroll2_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define IEnroll2_get_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->get_ContainerNameWStr(This,szwContainer) +#define IEnroll2_put_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->put_ContainerNameWStr(This,szwContainer) +#define IEnroll2_get_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->get_ProviderNameWStr(This,szwProvider) +#define IEnroll2_put_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->put_ProviderNameWStr(This,szwProvider) +#define IEnroll2_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define IEnroll2_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define IEnroll2_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define IEnroll2_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define IEnroll2_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define IEnroll2_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define IEnroll2_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll2_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll2_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define IEnroll2_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define IEnroll2_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define IEnroll2_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define IEnroll2_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define IEnroll2_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define IEnroll2_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define IEnroll2_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#define IEnroll2_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define IEnroll2_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define IEnroll2_get_SPCFileNameWStr(This,szw) (This)->lpVtbl->get_SPCFileNameWStr(This,szw) +#define IEnroll2_put_SPCFileNameWStr(This,szw) (This)->lpVtbl->put_SPCFileNameWStr(This,szw) +#define IEnroll2_get_PVKFileNameWStr(This,szw) (This)->lpVtbl->get_PVKFileNameWStr(This,szw) +#define IEnroll2_put_PVKFileNameWStr(This,szw) (This)->lpVtbl->put_PVKFileNameWStr(This,szw) +#define IEnroll2_get_HashAlgorithmWStr(This,szw) (This)->lpVtbl->get_HashAlgorithmWStr(This,szw) +#define IEnroll2_put_HashAlgorithmWStr(This,szw) (This)->lpVtbl->put_HashAlgorithmWStr(This,szw) +#define IEnroll2_get_RenewalCertificate(This,ppCertContext) (This)->lpVtbl->get_RenewalCertificate(This,ppCertContext) +#define IEnroll2_put_RenewalCertificate(This,pCertContext) (This)->lpVtbl->put_RenewalCertificate(This,pCertContext) +#define IEnroll2_AddCertTypeToRequestWStr(This,szw) (This)->lpVtbl->AddCertTypeToRequestWStr(This,szw) +#define IEnroll2_AddNameValuePairToSignatureWStr(This,Name,Value) (This)->lpVtbl->AddNameValuePairToSignatureWStr(This,Name,Value) +#define IEnroll2_AddExtensionsToRequest(This,pCertExtensions) (This)->lpVtbl->AddExtensionsToRequest(This,pCertExtensions) +#define IEnroll2_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) (This)->lpVtbl->AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) +#define IEnroll2_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) (This)->lpVtbl->CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) +#define IEnroll2_InstallPKCS7Blob(This,pBlobPKCS7) (This)->lpVtbl->InstallPKCS7Blob(This,pBlobPKCS7) +#define IEnroll2_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnroll2_GetSupportedKeySpec(This,pdwKeySpec) (This)->lpVtbl->GetSupportedKeySpec(This,pdwKeySpec) +#define IEnroll2_GetKeyLen(This,fMin,fExchange,pdwKeySize) (This)->lpVtbl->GetKeyLen(This,fMin,fExchange,pdwKeySize) +#define IEnroll2_EnumAlgs(This,dwIndex,algClass,pdwAlgID) (This)->lpVtbl->EnumAlgs(This,dwIndex,algClass,pdwAlgID) +#define IEnroll2_GetAlgNameWStr(This,algID,ppwsz) (This)->lpVtbl->GetAlgNameWStr(This,algID,ppwsz) +#define IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define IEnroll2_put_HashAlgID(This,hashAlgID) (This)->lpVtbl->put_HashAlgID(This,hashAlgID) +#define IEnroll2_get_HashAlgID(This,hashAlgID) (This)->lpVtbl->get_HashAlgID(This,hashAlgID) +#define IEnroll2_SetHStoreMy(This,hStore) (This)->lpVtbl->SetHStoreMy(This,hStore) +#define IEnroll2_SetHStoreCA(This,hStore) (This)->lpVtbl->SetHStoreCA(This,hStore) +#define IEnroll2_SetHStoreROOT(This,hStore) (This)->lpVtbl->SetHStoreROOT(This,hStore) +#define IEnroll2_SetHStoreRequest(This,hStore) (This)->lpVtbl->SetHStoreRequest(This,hStore) +#define IEnroll2_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define IEnroll2_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define IEnroll2_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define IEnroll2_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#endif +#endif + HRESULT WINAPI IEnroll2_InstallPKCS7Blob_Proxy(IEnroll2 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + void __RPC_STUB IEnroll2_InstallPKCS7Blob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_Reset_Proxy(IEnroll2 *This); + void __RPC_STUB IEnroll2_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_GetSupportedKeySpec_Proxy(IEnroll2 *This,LONG *pdwKeySpec); + void __RPC_STUB IEnroll2_GetSupportedKeySpec_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_GetKeyLen_Proxy(IEnroll2 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + void __RPC_STUB IEnroll2_GetKeyLen_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_EnumAlgs_Proxy(IEnroll2 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + void __RPC_STUB IEnroll2_EnumAlgs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_GetAlgNameWStr_Proxy(IEnroll2 *This,LONG algID,LPWSTR *ppwsz); + void __RPC_STUB IEnroll2_GetAlgNameWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Proxy(IEnroll2 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + void __RPC_STUB IEnroll2_put_ReuseHardwareKeyIfUnableToGenNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Proxy(IEnroll2 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + void __RPC_STUB IEnroll2_get_ReuseHardwareKeyIfUnableToGenNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_put_HashAlgID_Proxy(IEnroll2 *This,LONG hashAlgID); + void __RPC_STUB IEnroll2_put_HashAlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_get_HashAlgID_Proxy(IEnroll2 *This,LONG *hashAlgID); + void __RPC_STUB IEnroll2_get_HashAlgID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_SetHStoreMy_Proxy(IEnroll2 *This,HCERTSTORE hStore); + void __RPC_STUB IEnroll2_SetHStoreMy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_SetHStoreCA_Proxy(IEnroll2 *This,HCERTSTORE hStore); + void __RPC_STUB IEnroll2_SetHStoreCA_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_SetHStoreROOT_Proxy(IEnroll2 *This,HCERTSTORE hStore); + void __RPC_STUB IEnroll2_SetHStoreROOT_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_SetHStoreRequest_Proxy(IEnroll2 *This,HCERTSTORE hStore); + void __RPC_STUB IEnroll2_SetHStoreRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_put_LimitExchangeKeyToEncipherment_Proxy(IEnroll2 *This,WINBOOL fLimitExchangeKeyToEncipherment); + void __RPC_STUB IEnroll2_put_LimitExchangeKeyToEncipherment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_get_LimitExchangeKeyToEncipherment_Proxy(IEnroll2 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + void __RPC_STUB IEnroll2_get_LimitExchangeKeyToEncipherment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_put_EnableSMIMECapabilities_Proxy(IEnroll2 *This,WINBOOL fEnableSMIMECapabilities); + void __RPC_STUB IEnroll2_put_EnableSMIMECapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll2_get_EnableSMIMECapabilities_Proxy(IEnroll2 *This,WINBOOL *fEnableSMIMECapabilities); + void __RPC_STUB IEnroll2_get_EnableSMIMECapabilities_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __IEnroll4_INTERFACE_DEFINED__ +#define __IEnroll4_INTERFACE_DEFINED__ + extern const IID IID_IEnroll4; +#if defined(__cplusplus) && !defined(CINTERFACE) +#ifdef __cplusplus +} +#endif + struct IEnroll4 : public IEnroll2 { + public: + virtual HRESULT WINAPI put_ThumbPrintWStr(CRYPT_DATA_BLOB thumbPrintBlob) = 0; + virtual HRESULT WINAPI get_ThumbPrintWStr(PCRYPT_DATA_BLOB thumbPrintBlob) = 0; + virtual HRESULT WINAPI SetPrivateKeyArchiveCertificate(PCCERT_CONTEXT pPrivateKeyArchiveCert) = 0; + virtual PCCERT_CONTEXT WINAPI GetPrivateKeyArchiveCertificate(void) = 0; + virtual HRESULT WINAPI binaryBlobToString(LONG Flags,PCRYPT_DATA_BLOB pblobBinary,LPWSTR *ppwszString) = 0; + virtual HRESULT WINAPI stringToBinaryBlob(LONG Flags,LPCWSTR pwszString,PCRYPT_DATA_BLOB pblobBinary,LONG *pdwSkip,LONG *pdwFlags) = 0; + virtual HRESULT WINAPI addExtensionToRequestWStr(LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue) = 0; + virtual HRESULT WINAPI addAttributeToRequestWStr(LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue) = 0; + virtual HRESULT WINAPI addNameValuePairToRequestWStr(LONG Flags,LPCWSTR pwszName,LPCWSTR pwszValue) = 0; + virtual HRESULT WINAPI resetExtensions(void) = 0; + virtual HRESULT WINAPI resetAttributes(void) = 0; + virtual HRESULT WINAPI createRequestWStr(LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,PCRYPT_DATA_BLOB pblobRequest) = 0; + virtual HRESULT WINAPI createFileRequestWStr(LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,LPCWSTR pwszRequestFileName) = 0; + virtual HRESULT WINAPI acceptResponseBlob(PCRYPT_DATA_BLOB pblobResponse) = 0; + virtual HRESULT WINAPI acceptFileResponseWStr(LPCWSTR pwszResponseFileName) = 0; + virtual HRESULT WINAPI getCertContextFromResponseBlob(PCRYPT_DATA_BLOB pblobResponse,PCCERT_CONTEXT *ppCertContext) = 0; + virtual HRESULT WINAPI getCertContextFromFileResponseWStr(LPCWSTR pwszResponseFileName,PCCERT_CONTEXT *ppCertContext) = 0; + virtual HRESULT WINAPI createPFXWStr(LPCWSTR pwszPassword,PCRYPT_DATA_BLOB pblobPFX) = 0; + virtual HRESULT WINAPI createFilePFXWStr(LPCWSTR pwszPassword,LPCWSTR pwszPFXFileName) = 0; + virtual HRESULT WINAPI setPendingRequestInfoWStr(LONG lRequestID,LPCWSTR pwszCADNS,LPCWSTR pwszCAName,LPCWSTR pwszFriendlyName) = 0; + virtual HRESULT WINAPI enumPendingRequestWStr(LONG lIndex,LONG lDesiredProperty,LPVOID ppProperty) = 0; + virtual HRESULT WINAPI removePendingRequestWStr(CRYPT_DATA_BLOB thumbPrintBlob) = 0; + virtual HRESULT WINAPI GetKeyLenEx(LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize) = 0; + virtual HRESULT WINAPI InstallPKCS7BlobEx(PCRYPT_DATA_BLOB pBlobPKCS7,LONG *plCertInstalled) = 0; + virtual HRESULT WINAPI AddCertTypeToRequestWStrEx(LONG lType,LPCWSTR pwszOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion) = 0; + virtual HRESULT WINAPI getProviderTypeWStr(LPCWSTR pwszProvName,LONG *plProvType) = 0; + virtual HRESULT WINAPI addBlobPropertyToCertificateWStr(LONG lPropertyId,LONG lReserved,PCRYPT_DATA_BLOB pBlobProperty) = 0; + virtual HRESULT WINAPI SetSignerCertificate(PCCERT_CONTEXT pSignerCert) = 0; + virtual HRESULT WINAPI put_ClientId(LONG lClientId) = 0; + virtual HRESULT WINAPI get_ClientId(LONG *plClientId) = 0; + virtual HRESULT WINAPI put_IncludeSubjectKeyID(WINBOOL fInclude) = 0; + virtual HRESULT WINAPI get_IncludeSubjectKeyID(WINBOOL *pfInclude) = 0; + }; +#ifdef __cplusplus + extern "C" { +#endif +#else + typedef struct IEnroll4Vtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IEnroll4 *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IEnroll4 *This); + ULONG (WINAPI *Release)(IEnroll4 *This); + HRESULT (WINAPI *createFilePKCS10WStr)(IEnroll4 *This,LPCWSTR DNName,LPCWSTR Usage,LPCWSTR wszPKCS10FileName); + HRESULT (WINAPI *acceptFilePKCS7WStr)(IEnroll4 *This,LPCWSTR wszPKCS7FileName); + HRESULT (WINAPI *createPKCS10WStr)(IEnroll4 *This,LPCWSTR DNName,LPCWSTR Usage,PCRYPT_DATA_BLOB pPkcs10Blob); + HRESULT (WINAPI *acceptPKCS7Blob)(IEnroll4 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + PCCERT_CONTEXT (WINAPI *getCertContextFromPKCS7)(IEnroll4 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + HCERTSTORE (WINAPI *getMyStore)(IEnroll4 *This); + HCERTSTORE (WINAPI *getCAStore)(IEnroll4 *This); + HCERTSTORE (WINAPI *getROOTHStore)(IEnroll4 *This); + HRESULT (WINAPI *enumProvidersWStr)(IEnroll4 *This,LONG dwIndex,LONG dwFlags,LPWSTR *pbstrProvName); + HRESULT (WINAPI *enumContainersWStr)(IEnroll4 *This,LONG dwIndex,LPWSTR *pbstr); + HRESULT (WINAPI *freeRequestInfoBlob)(IEnroll4 *This,CRYPT_DATA_BLOB pkcs7OrPkcs10); + HRESULT (WINAPI *get_MyStoreNameWStr)(IEnroll4 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_MyStoreNameWStr)(IEnroll4 *This,LPWSTR szwName); + HRESULT (WINAPI *get_MyStoreTypeWStr)(IEnroll4 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_MyStoreTypeWStr)(IEnroll4 *This,LPWSTR szwType); + HRESULT (WINAPI *get_MyStoreFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_MyStoreFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_CAStoreNameWStr)(IEnroll4 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_CAStoreNameWStr)(IEnroll4 *This,LPWSTR szwName); + HRESULT (WINAPI *get_CAStoreTypeWStr)(IEnroll4 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_CAStoreTypeWStr)(IEnroll4 *This,LPWSTR szwType); + HRESULT (WINAPI *get_CAStoreFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_CAStoreFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_RootStoreNameWStr)(IEnroll4 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RootStoreNameWStr)(IEnroll4 *This,LPWSTR szwName); + HRESULT (WINAPI *get_RootStoreTypeWStr)(IEnroll4 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RootStoreTypeWStr)(IEnroll4 *This,LPWSTR szwType); + HRESULT (WINAPI *get_RootStoreFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RootStoreFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_RequestStoreNameWStr)(IEnroll4 *This,LPWSTR *szwName); + HRESULT (WINAPI *put_RequestStoreNameWStr)(IEnroll4 *This,LPWSTR szwName); + HRESULT (WINAPI *get_RequestStoreTypeWStr)(IEnroll4 *This,LPWSTR *szwType); + HRESULT (WINAPI *put_RequestStoreTypeWStr)(IEnroll4 *This,LPWSTR szwType); + HRESULT (WINAPI *get_RequestStoreFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_RequestStoreFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_ContainerNameWStr)(IEnroll4 *This,LPWSTR *szwContainer); + HRESULT (WINAPI *put_ContainerNameWStr)(IEnroll4 *This,LPWSTR szwContainer); + HRESULT (WINAPI *get_ProviderNameWStr)(IEnroll4 *This,LPWSTR *szwProvider); + HRESULT (WINAPI *put_ProviderNameWStr)(IEnroll4 *This,LPWSTR szwProvider); + HRESULT (WINAPI *get_ProviderType)(IEnroll4 *This,LONG *pdwType); + HRESULT (WINAPI *put_ProviderType)(IEnroll4 *This,LONG dwType); + HRESULT (WINAPI *get_KeySpec)(IEnroll4 *This,LONG *pdw); + HRESULT (WINAPI *put_KeySpec)(IEnroll4 *This,LONG dw); + HRESULT (WINAPI *get_ProviderFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_ProviderFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_UseExistingKeySet)(IEnroll4 *This,WINBOOL *fUseExistingKeys); + HRESULT (WINAPI *put_UseExistingKeySet)(IEnroll4 *This,WINBOOL fUseExistingKeys); + HRESULT (WINAPI *get_GenKeyFlags)(IEnroll4 *This,LONG *pdwFlags); + HRESULT (WINAPI *put_GenKeyFlags)(IEnroll4 *This,LONG dwFlags); + HRESULT (WINAPI *get_DeleteRequestCert)(IEnroll4 *This,WINBOOL *fDelete); + HRESULT (WINAPI *put_DeleteRequestCert)(IEnroll4 *This,WINBOOL fDelete); + HRESULT (WINAPI *get_WriteCertToUserDS)(IEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToUserDS)(IEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *get_EnableT61DNEncoding)(IEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_EnableT61DNEncoding)(IEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *get_WriteCertToCSP)(IEnroll4 *This,WINBOOL *fBool); + HRESULT (WINAPI *put_WriteCertToCSP)(IEnroll4 *This,WINBOOL fBool); + HRESULT (WINAPI *get_SPCFileNameWStr)(IEnroll4 *This,LPWSTR *szw); + HRESULT (WINAPI *put_SPCFileNameWStr)(IEnroll4 *This,LPWSTR szw); + HRESULT (WINAPI *get_PVKFileNameWStr)(IEnroll4 *This,LPWSTR *szw); + HRESULT (WINAPI *put_PVKFileNameWStr)(IEnroll4 *This,LPWSTR szw); + HRESULT (WINAPI *get_HashAlgorithmWStr)(IEnroll4 *This,LPWSTR *szw); + HRESULT (WINAPI *put_HashAlgorithmWStr)(IEnroll4 *This,LPWSTR szw); + HRESULT (WINAPI *get_RenewalCertificate)(IEnroll4 *This,PCCERT_CONTEXT *ppCertContext); + HRESULT (WINAPI *put_RenewalCertificate)(IEnroll4 *This,PCCERT_CONTEXT pCertContext); + HRESULT (WINAPI *AddCertTypeToRequestWStr)(IEnroll4 *This,LPWSTR szw); + HRESULT (WINAPI *AddNameValuePairToSignatureWStr)(IEnroll4 *This,LPWSTR Name,LPWSTR Value); + HRESULT (WINAPI *AddExtensionsToRequest)(IEnroll4 *This,PCERT_EXTENSIONS pCertExtensions); + HRESULT (WINAPI *AddAuthenticatedAttributesToPKCS7Request)(IEnroll4 *This,PCRYPT_ATTRIBUTES pAttributes); + HRESULT (WINAPI *CreatePKCS7RequestFromRequest)(IEnroll4 *This,PCRYPT_DATA_BLOB pRequest,PCCERT_CONTEXT pSigningCertContext,PCRYPT_DATA_BLOB pPkcs7Blob); + HRESULT (WINAPI *InstallPKCS7Blob)(IEnroll4 *This,PCRYPT_DATA_BLOB pBlobPKCS7); + HRESULT (WINAPI *Reset)(IEnroll4 *This); + HRESULT (WINAPI *GetSupportedKeySpec)(IEnroll4 *This,LONG *pdwKeySpec); + HRESULT (WINAPI *GetKeyLen)(IEnroll4 *This,WINBOOL fMin,WINBOOL fExchange,LONG *pdwKeySize); + HRESULT (WINAPI *EnumAlgs)(IEnroll4 *This,LONG dwIndex,LONG algClass,LONG *pdwAlgID); + HRESULT (WINAPI *GetAlgNameWStr)(IEnroll4 *This,LONG algID,LPWSTR *ppwsz); + HRESULT (WINAPI *put_ReuseHardwareKeyIfUnableToGenNew)(IEnroll4 *This,WINBOOL fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *get_ReuseHardwareKeyIfUnableToGenNew)(IEnroll4 *This,WINBOOL *fReuseHardwareKeyIfUnableToGenNew); + HRESULT (WINAPI *put_HashAlgID)(IEnroll4 *This,LONG hashAlgID); + HRESULT (WINAPI *get_HashAlgID)(IEnroll4 *This,LONG *hashAlgID); + HRESULT (WINAPI *SetHStoreMy)(IEnroll4 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreCA)(IEnroll4 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreROOT)(IEnroll4 *This,HCERTSTORE hStore); + HRESULT (WINAPI *SetHStoreRequest)(IEnroll4 *This,HCERTSTORE hStore); + HRESULT (WINAPI *put_LimitExchangeKeyToEncipherment)(IEnroll4 *This,WINBOOL fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *get_LimitExchangeKeyToEncipherment)(IEnroll4 *This,WINBOOL *fLimitExchangeKeyToEncipherment); + HRESULT (WINAPI *put_EnableSMIMECapabilities)(IEnroll4 *This,WINBOOL fEnableSMIMECapabilities); + HRESULT (WINAPI *get_EnableSMIMECapabilities)(IEnroll4 *This,WINBOOL *fEnableSMIMECapabilities); + HRESULT (WINAPI *put_ThumbPrintWStr)(IEnroll4 *This,CRYPT_DATA_BLOB thumbPrintBlob); + HRESULT (WINAPI *get_ThumbPrintWStr)(IEnroll4 *This,PCRYPT_DATA_BLOB thumbPrintBlob); + HRESULT (WINAPI *SetPrivateKeyArchiveCertificate)(IEnroll4 *This,PCCERT_CONTEXT pPrivateKeyArchiveCert); + PCCERT_CONTEXT (WINAPI *GetPrivateKeyArchiveCertificate)(IEnroll4 *This); + HRESULT (WINAPI *binaryBlobToString)(IEnroll4 *This,LONG Flags,PCRYPT_DATA_BLOB pblobBinary,LPWSTR *ppwszString); + HRESULT (WINAPI *stringToBinaryBlob)(IEnroll4 *This,LONG Flags,LPCWSTR pwszString,PCRYPT_DATA_BLOB pblobBinary,LONG *pdwSkip,LONG *pdwFlags); + HRESULT (WINAPI *addExtensionToRequestWStr)(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue); + HRESULT (WINAPI *addAttributeToRequestWStr)(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue); + HRESULT (WINAPI *addNameValuePairToRequestWStr)(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,LPCWSTR pwszValue); + HRESULT (WINAPI *resetExtensions)(IEnroll4 *This); + HRESULT (WINAPI *resetAttributes)(IEnroll4 *This); + HRESULT (WINAPI *createRequestWStr)(IEnroll4 *This,LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,PCRYPT_DATA_BLOB pblobRequest); + HRESULT (WINAPI *createFileRequestWStr)(IEnroll4 *This,LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,LPCWSTR pwszRequestFileName); + HRESULT (WINAPI *acceptResponseBlob)(IEnroll4 *This,PCRYPT_DATA_BLOB pblobResponse); + HRESULT (WINAPI *acceptFileResponseWStr)(IEnroll4 *This,LPCWSTR pwszResponseFileName); + HRESULT (WINAPI *getCertContextFromResponseBlob)(IEnroll4 *This,PCRYPT_DATA_BLOB pblobResponse,PCCERT_CONTEXT *ppCertContext); + HRESULT (WINAPI *getCertContextFromFileResponseWStr)(IEnroll4 *This,LPCWSTR pwszResponseFileName,PCCERT_CONTEXT *ppCertContext); + HRESULT (WINAPI *createPFXWStr)(IEnroll4 *This,LPCWSTR pwszPassword,PCRYPT_DATA_BLOB pblobPFX); + HRESULT (WINAPI *createFilePFXWStr)(IEnroll4 *This,LPCWSTR pwszPassword,LPCWSTR pwszPFXFileName); + HRESULT (WINAPI *setPendingRequestInfoWStr)(IEnroll4 *This,LONG lRequestID,LPCWSTR pwszCADNS,LPCWSTR pwszCAName,LPCWSTR pwszFriendlyName); + HRESULT (WINAPI *enumPendingRequestWStr)(IEnroll4 *This,LONG lIndex,LONG lDesiredProperty,LPVOID ppProperty); + HRESULT (WINAPI *removePendingRequestWStr)(IEnroll4 *This,CRYPT_DATA_BLOB thumbPrintBlob); + HRESULT (WINAPI *GetKeyLenEx)(IEnroll4 *This,LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize); + HRESULT (WINAPI *InstallPKCS7BlobEx)(IEnroll4 *This,PCRYPT_DATA_BLOB pBlobPKCS7,LONG *plCertInstalled); + HRESULT (WINAPI *AddCertTypeToRequestWStrEx)(IEnroll4 *This,LONG lType,LPCWSTR pwszOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion); + HRESULT (WINAPI *getProviderTypeWStr)(IEnroll4 *This,LPCWSTR pwszProvName,LONG *plProvType); + HRESULT (WINAPI *addBlobPropertyToCertificateWStr)(IEnroll4 *This,LONG lPropertyId,LONG lReserved,PCRYPT_DATA_BLOB pBlobProperty); + HRESULT (WINAPI *SetSignerCertificate)(IEnroll4 *This,PCCERT_CONTEXT pSignerCert); + HRESULT (WINAPI *put_ClientId)(IEnroll4 *This,LONG lClientId); + HRESULT (WINAPI *get_ClientId)(IEnroll4 *This,LONG *plClientId); + HRESULT (WINAPI *put_IncludeSubjectKeyID)(IEnroll4 *This,WINBOOL fInclude); + HRESULT (WINAPI *get_IncludeSubjectKeyID)(IEnroll4 *This,WINBOOL *pfInclude); + END_INTERFACE + } IEnroll4Vtbl; + struct IEnroll4 { + CONST_VTBL struct IEnroll4Vtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IEnroll4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IEnroll4_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IEnroll4_Release(This) (This)->lpVtbl->Release(This) +#define IEnroll4_createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) (This)->lpVtbl->createFilePKCS10WStr(This,DNName,Usage,wszPKCS10FileName) +#define IEnroll4_acceptFilePKCS7WStr(This,wszPKCS7FileName) (This)->lpVtbl->acceptFilePKCS7WStr(This,wszPKCS7FileName) +#define IEnroll4_createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) (This)->lpVtbl->createPKCS10WStr(This,DNName,Usage,pPkcs10Blob) +#define IEnroll4_acceptPKCS7Blob(This,pBlobPKCS7) (This)->lpVtbl->acceptPKCS7Blob(This,pBlobPKCS7) +#define IEnroll4_getCertContextFromPKCS7(This,pBlobPKCS7) (This)->lpVtbl->getCertContextFromPKCS7(This,pBlobPKCS7) +#define IEnroll4_getMyStore(This) (This)->lpVtbl->getMyStore(This) +#define IEnroll4_getCAStore(This) (This)->lpVtbl->getCAStore(This) +#define IEnroll4_getROOTHStore(This) (This)->lpVtbl->getROOTHStore(This) +#define IEnroll4_enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) (This)->lpVtbl->enumProvidersWStr(This,dwIndex,dwFlags,pbstrProvName) +#define IEnroll4_enumContainersWStr(This,dwIndex,pbstr) (This)->lpVtbl->enumContainersWStr(This,dwIndex,pbstr) +#define IEnroll4_freeRequestInfoBlob(This,pkcs7OrPkcs10) (This)->lpVtbl->freeRequestInfoBlob(This,pkcs7OrPkcs10) +#define IEnroll4_get_MyStoreNameWStr(This,szwName) (This)->lpVtbl->get_MyStoreNameWStr(This,szwName) +#define IEnroll4_put_MyStoreNameWStr(This,szwName) (This)->lpVtbl->put_MyStoreNameWStr(This,szwName) +#define IEnroll4_get_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->get_MyStoreTypeWStr(This,szwType) +#define IEnroll4_put_MyStoreTypeWStr(This,szwType) (This)->lpVtbl->put_MyStoreTypeWStr(This,szwType) +#define IEnroll4_get_MyStoreFlags(This,pdwFlags) (This)->lpVtbl->get_MyStoreFlags(This,pdwFlags) +#define IEnroll4_put_MyStoreFlags(This,dwFlags) (This)->lpVtbl->put_MyStoreFlags(This,dwFlags) +#define IEnroll4_get_CAStoreNameWStr(This,szwName) (This)->lpVtbl->get_CAStoreNameWStr(This,szwName) +#define IEnroll4_put_CAStoreNameWStr(This,szwName) (This)->lpVtbl->put_CAStoreNameWStr(This,szwName) +#define IEnroll4_get_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->get_CAStoreTypeWStr(This,szwType) +#define IEnroll4_put_CAStoreTypeWStr(This,szwType) (This)->lpVtbl->put_CAStoreTypeWStr(This,szwType) +#define IEnroll4_get_CAStoreFlags(This,pdwFlags) (This)->lpVtbl->get_CAStoreFlags(This,pdwFlags) +#define IEnroll4_put_CAStoreFlags(This,dwFlags) (This)->lpVtbl->put_CAStoreFlags(This,dwFlags) +#define IEnroll4_get_RootStoreNameWStr(This,szwName) (This)->lpVtbl->get_RootStoreNameWStr(This,szwName) +#define IEnroll4_put_RootStoreNameWStr(This,szwName) (This)->lpVtbl->put_RootStoreNameWStr(This,szwName) +#define IEnroll4_get_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RootStoreTypeWStr(This,szwType) +#define IEnroll4_put_RootStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RootStoreTypeWStr(This,szwType) +#define IEnroll4_get_RootStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RootStoreFlags(This,pdwFlags) +#define IEnroll4_put_RootStoreFlags(This,dwFlags) (This)->lpVtbl->put_RootStoreFlags(This,dwFlags) +#define IEnroll4_get_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->get_RequestStoreNameWStr(This,szwName) +#define IEnroll4_put_RequestStoreNameWStr(This,szwName) (This)->lpVtbl->put_RequestStoreNameWStr(This,szwName) +#define IEnroll4_get_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->get_RequestStoreTypeWStr(This,szwType) +#define IEnroll4_put_RequestStoreTypeWStr(This,szwType) (This)->lpVtbl->put_RequestStoreTypeWStr(This,szwType) +#define IEnroll4_get_RequestStoreFlags(This,pdwFlags) (This)->lpVtbl->get_RequestStoreFlags(This,pdwFlags) +#define IEnroll4_put_RequestStoreFlags(This,dwFlags) (This)->lpVtbl->put_RequestStoreFlags(This,dwFlags) +#define IEnroll4_get_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->get_ContainerNameWStr(This,szwContainer) +#define IEnroll4_put_ContainerNameWStr(This,szwContainer) (This)->lpVtbl->put_ContainerNameWStr(This,szwContainer) +#define IEnroll4_get_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->get_ProviderNameWStr(This,szwProvider) +#define IEnroll4_put_ProviderNameWStr(This,szwProvider) (This)->lpVtbl->put_ProviderNameWStr(This,szwProvider) +#define IEnroll4_get_ProviderType(This,pdwType) (This)->lpVtbl->get_ProviderType(This,pdwType) +#define IEnroll4_put_ProviderType(This,dwType) (This)->lpVtbl->put_ProviderType(This,dwType) +#define IEnroll4_get_KeySpec(This,pdw) (This)->lpVtbl->get_KeySpec(This,pdw) +#define IEnroll4_put_KeySpec(This,dw) (This)->lpVtbl->put_KeySpec(This,dw) +#define IEnroll4_get_ProviderFlags(This,pdwFlags) (This)->lpVtbl->get_ProviderFlags(This,pdwFlags) +#define IEnroll4_put_ProviderFlags(This,dwFlags) (This)->lpVtbl->put_ProviderFlags(This,dwFlags) +#define IEnroll4_get_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->get_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll4_put_UseExistingKeySet(This,fUseExistingKeys) (This)->lpVtbl->put_UseExistingKeySet(This,fUseExistingKeys) +#define IEnroll4_get_GenKeyFlags(This,pdwFlags) (This)->lpVtbl->get_GenKeyFlags(This,pdwFlags) +#define IEnroll4_put_GenKeyFlags(This,dwFlags) (This)->lpVtbl->put_GenKeyFlags(This,dwFlags) +#define IEnroll4_get_DeleteRequestCert(This,fDelete) (This)->lpVtbl->get_DeleteRequestCert(This,fDelete) +#define IEnroll4_put_DeleteRequestCert(This,fDelete) (This)->lpVtbl->put_DeleteRequestCert(This,fDelete) +#define IEnroll4_get_WriteCertToUserDS(This,fBool) (This)->lpVtbl->get_WriteCertToUserDS(This,fBool) +#define IEnroll4_put_WriteCertToUserDS(This,fBool) (This)->lpVtbl->put_WriteCertToUserDS(This,fBool) +#define IEnroll4_get_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->get_EnableT61DNEncoding(This,fBool) +#define IEnroll4_put_EnableT61DNEncoding(This,fBool) (This)->lpVtbl->put_EnableT61DNEncoding(This,fBool) +#define IEnroll4_get_WriteCertToCSP(This,fBool) (This)->lpVtbl->get_WriteCertToCSP(This,fBool) +#define IEnroll4_put_WriteCertToCSP(This,fBool) (This)->lpVtbl->put_WriteCertToCSP(This,fBool) +#define IEnroll4_get_SPCFileNameWStr(This,szw) (This)->lpVtbl->get_SPCFileNameWStr(This,szw) +#define IEnroll4_put_SPCFileNameWStr(This,szw) (This)->lpVtbl->put_SPCFileNameWStr(This,szw) +#define IEnroll4_get_PVKFileNameWStr(This,szw) (This)->lpVtbl->get_PVKFileNameWStr(This,szw) +#define IEnroll4_put_PVKFileNameWStr(This,szw) (This)->lpVtbl->put_PVKFileNameWStr(This,szw) +#define IEnroll4_get_HashAlgorithmWStr(This,szw) (This)->lpVtbl->get_HashAlgorithmWStr(This,szw) +#define IEnroll4_put_HashAlgorithmWStr(This,szw) (This)->lpVtbl->put_HashAlgorithmWStr(This,szw) +#define IEnroll4_get_RenewalCertificate(This,ppCertContext) (This)->lpVtbl->get_RenewalCertificate(This,ppCertContext) +#define IEnroll4_put_RenewalCertificate(This,pCertContext) (This)->lpVtbl->put_RenewalCertificate(This,pCertContext) +#define IEnroll4_AddCertTypeToRequestWStr(This,szw) (This)->lpVtbl->AddCertTypeToRequestWStr(This,szw) +#define IEnroll4_AddNameValuePairToSignatureWStr(This,Name,Value) (This)->lpVtbl->AddNameValuePairToSignatureWStr(This,Name,Value) +#define IEnroll4_AddExtensionsToRequest(This,pCertExtensions) (This)->lpVtbl->AddExtensionsToRequest(This,pCertExtensions) +#define IEnroll4_AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) (This)->lpVtbl->AddAuthenticatedAttributesToPKCS7Request(This,pAttributes) +#define IEnroll4_CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) (This)->lpVtbl->CreatePKCS7RequestFromRequest(This,pRequest,pSigningCertContext,pPkcs7Blob) +#define IEnroll4_InstallPKCS7Blob(This,pBlobPKCS7) (This)->lpVtbl->InstallPKCS7Blob(This,pBlobPKCS7) +#define IEnroll4_Reset(This) (This)->lpVtbl->Reset(This) +#define IEnroll4_GetSupportedKeySpec(This,pdwKeySpec) (This)->lpVtbl->GetSupportedKeySpec(This,pdwKeySpec) +#define IEnroll4_GetKeyLen(This,fMin,fExchange,pdwKeySize) (This)->lpVtbl->GetKeyLen(This,fMin,fExchange,pdwKeySize) +#define IEnroll4_EnumAlgs(This,dwIndex,algClass,pdwAlgID) (This)->lpVtbl->EnumAlgs(This,dwIndex,algClass,pdwAlgID) +#define IEnroll4_GetAlgNameWStr(This,algID,ppwsz) (This)->lpVtbl->GetAlgNameWStr(This,algID,ppwsz) +#define IEnroll4_put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->put_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define IEnroll4_get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) (This)->lpVtbl->get_ReuseHardwareKeyIfUnableToGenNew(This,fReuseHardwareKeyIfUnableToGenNew) +#define IEnroll4_put_HashAlgID(This,hashAlgID) (This)->lpVtbl->put_HashAlgID(This,hashAlgID) +#define IEnroll4_get_HashAlgID(This,hashAlgID) (This)->lpVtbl->get_HashAlgID(This,hashAlgID) +#define IEnroll4_SetHStoreMy(This,hStore) (This)->lpVtbl->SetHStoreMy(This,hStore) +#define IEnroll4_SetHStoreCA(This,hStore) (This)->lpVtbl->SetHStoreCA(This,hStore) +#define IEnroll4_SetHStoreROOT(This,hStore) (This)->lpVtbl->SetHStoreROOT(This,hStore) +#define IEnroll4_SetHStoreRequest(This,hStore) (This)->lpVtbl->SetHStoreRequest(This,hStore) +#define IEnroll4_put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->put_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define IEnroll4_get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) (This)->lpVtbl->get_LimitExchangeKeyToEncipherment(This,fLimitExchangeKeyToEncipherment) +#define IEnroll4_put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->put_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define IEnroll4_get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) (This)->lpVtbl->get_EnableSMIMECapabilities(This,fEnableSMIMECapabilities) +#define IEnroll4_put_ThumbPrintWStr(This,thumbPrintBlob) (This)->lpVtbl->put_ThumbPrintWStr(This,thumbPrintBlob) +#define IEnroll4_get_ThumbPrintWStr(This,thumbPrintBlob) (This)->lpVtbl->get_ThumbPrintWStr(This,thumbPrintBlob) +#define IEnroll4_SetPrivateKeyArchiveCertificate(This,pPrivateKeyArchiveCert) (This)->lpVtbl->SetPrivateKeyArchiveCertificate(This,pPrivateKeyArchiveCert) +#define IEnroll4_GetPrivateKeyArchiveCertificate(This) (This)->lpVtbl->GetPrivateKeyArchiveCertificate(This) +#define IEnroll4_binaryBlobToString(This,Flags,pblobBinary,ppwszString) (This)->lpVtbl->binaryBlobToString(This,Flags,pblobBinary,ppwszString) +#define IEnroll4_stringToBinaryBlob(This,Flags,pwszString,pblobBinary,pdwSkip,pdwFlags) (This)->lpVtbl->stringToBinaryBlob(This,Flags,pwszString,pblobBinary,pdwSkip,pdwFlags) +#define IEnroll4_addExtensionToRequestWStr(This,Flags,pwszName,pblobValue) (This)->lpVtbl->addExtensionToRequestWStr(This,Flags,pwszName,pblobValue) +#define IEnroll4_addAttributeToRequestWStr(This,Flags,pwszName,pblobValue) (This)->lpVtbl->addAttributeToRequestWStr(This,Flags,pwszName,pblobValue) +#define IEnroll4_addNameValuePairToRequestWStr(This,Flags,pwszName,pwszValue) (This)->lpVtbl->addNameValuePairToRequestWStr(This,Flags,pwszName,pwszValue) +#define IEnroll4_resetExtensions(This) (This)->lpVtbl->resetExtensions(This) +#define IEnroll4_resetAttributes(This) (This)->lpVtbl->resetAttributes(This) +#define IEnroll4_createRequestWStr(This,Flags,pwszDNName,pwszUsage,pblobRequest) (This)->lpVtbl->createRequestWStr(This,Flags,pwszDNName,pwszUsage,pblobRequest) +#define IEnroll4_createFileRequestWStr(This,Flags,pwszDNName,pwszUsage,pwszRequestFileName) (This)->lpVtbl->createFileRequestWStr(This,Flags,pwszDNName,pwszUsage,pwszRequestFileName) +#define IEnroll4_acceptResponseBlob(This,pblobResponse) (This)->lpVtbl->acceptResponseBlob(This,pblobResponse) +#define IEnroll4_acceptFileResponseWStr(This,pwszResponseFileName) (This)->lpVtbl->acceptFileResponseWStr(This,pwszResponseFileName) +#define IEnroll4_getCertContextFromResponseBlob(This,pblobResponse,ppCertContext) (This)->lpVtbl->getCertContextFromResponseBlob(This,pblobResponse,ppCertContext) +#define IEnroll4_getCertContextFromFileResponseWStr(This,pwszResponseFileName,ppCertContext) (This)->lpVtbl->getCertContextFromFileResponseWStr(This,pwszResponseFileName,ppCertContext) +#define IEnroll4_createPFXWStr(This,pwszPassword,pblobPFX) (This)->lpVtbl->createPFXWStr(This,pwszPassword,pblobPFX) +#define IEnroll4_createFilePFXWStr(This,pwszPassword,pwszPFXFileName) (This)->lpVtbl->createFilePFXWStr(This,pwszPassword,pwszPFXFileName) +#define IEnroll4_setPendingRequestInfoWStr(This,lRequestID,pwszCADNS,pwszCAName,pwszFriendlyName) (This)->lpVtbl->setPendingRequestInfoWStr(This,lRequestID,pwszCADNS,pwszCAName,pwszFriendlyName) +#define IEnroll4_enumPendingRequestWStr(This,lIndex,lDesiredProperty,ppProperty) (This)->lpVtbl->enumPendingRequestWStr(This,lIndex,lDesiredProperty,ppProperty) +#define IEnroll4_removePendingRequestWStr(This,thumbPrintBlob) (This)->lpVtbl->removePendingRequestWStr(This,thumbPrintBlob) +#define IEnroll4_GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) (This)->lpVtbl->GetKeyLenEx(This,lSizeSpec,lKeySpec,pdwKeySize) +#define IEnroll4_InstallPKCS7BlobEx(This,pBlobPKCS7,plCertInstalled) (This)->lpVtbl->InstallPKCS7BlobEx(This,pBlobPKCS7,plCertInstalled) +#define IEnroll4_AddCertTypeToRequestWStrEx(This,lType,pwszOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) (This)->lpVtbl->AddCertTypeToRequestWStrEx(This,lType,pwszOIDOrName,lMajorVersion,fMinorVersion,lMinorVersion) +#define IEnroll4_getProviderTypeWStr(This,pwszProvName,plProvType) (This)->lpVtbl->getProviderTypeWStr(This,pwszProvName,plProvType) +#define IEnroll4_addBlobPropertyToCertificateWStr(This,lPropertyId,lReserved,pBlobProperty) (This)->lpVtbl->addBlobPropertyToCertificateWStr(This,lPropertyId,lReserved,pBlobProperty) +#define IEnroll4_SetSignerCertificate(This,pSignerCert) (This)->lpVtbl->SetSignerCertificate(This,pSignerCert) +#define IEnroll4_put_ClientId(This,lClientId) (This)->lpVtbl->put_ClientId(This,lClientId) +#define IEnroll4_get_ClientId(This,plClientId) (This)->lpVtbl->get_ClientId(This,plClientId) +#define IEnroll4_put_IncludeSubjectKeyID(This,fInclude) (This)->lpVtbl->put_IncludeSubjectKeyID(This,fInclude) +#define IEnroll4_get_IncludeSubjectKeyID(This,pfInclude) (This)->lpVtbl->get_IncludeSubjectKeyID(This,pfInclude) +#endif +#endif + HRESULT WINAPI IEnroll4_put_ThumbPrintWStr_Proxy(IEnroll4 *This,CRYPT_DATA_BLOB thumbPrintBlob); + void __RPC_STUB IEnroll4_put_ThumbPrintWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_get_ThumbPrintWStr_Proxy(IEnroll4 *This,PCRYPT_DATA_BLOB thumbPrintBlob); + void __RPC_STUB IEnroll4_get_ThumbPrintWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_SetPrivateKeyArchiveCertificate_Proxy(IEnroll4 *This,PCCERT_CONTEXT pPrivateKeyArchiveCert); + void __RPC_STUB IEnroll4_SetPrivateKeyArchiveCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + PCCERT_CONTEXT WINAPI IEnroll4_GetPrivateKeyArchiveCertificate_Proxy(IEnroll4 *This); + void __RPC_STUB IEnroll4_GetPrivateKeyArchiveCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_binaryBlobToString_Proxy(IEnroll4 *This,LONG Flags,PCRYPT_DATA_BLOB pblobBinary,LPWSTR *ppwszString); + void __RPC_STUB IEnroll4_binaryBlobToString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_stringToBinaryBlob_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszString,PCRYPT_DATA_BLOB pblobBinary,LONG *pdwSkip,LONG *pdwFlags); + void __RPC_STUB IEnroll4_stringToBinaryBlob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_addExtensionToRequestWStr_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue); + void __RPC_STUB IEnroll4_addExtensionToRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_addAttributeToRequestWStr_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,PCRYPT_DATA_BLOB pblobValue); + void __RPC_STUB IEnroll4_addAttributeToRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_addNameValuePairToRequestWStr_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszName,LPCWSTR pwszValue); + void __RPC_STUB IEnroll4_addNameValuePairToRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_resetExtensions_Proxy(IEnroll4 *This); + void __RPC_STUB IEnroll4_resetExtensions_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_resetAttributes_Proxy(IEnroll4 *This); + void __RPC_STUB IEnroll4_resetAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_createRequestWStr_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,PCRYPT_DATA_BLOB pblobRequest); + void __RPC_STUB IEnroll4_createRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_createFileRequestWStr_Proxy(IEnroll4 *This,LONG Flags,LPCWSTR pwszDNName,LPCWSTR pwszUsage,LPCWSTR pwszRequestFileName); + void __RPC_STUB IEnroll4_createFileRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_acceptResponseBlob_Proxy(IEnroll4 *This,PCRYPT_DATA_BLOB pblobResponse); + void __RPC_STUB IEnroll4_acceptResponseBlob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_acceptFileResponseWStr_Proxy(IEnroll4 *This,LPCWSTR pwszResponseFileName); + void __RPC_STUB IEnroll4_acceptFileResponseWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_getCertContextFromResponseBlob_Proxy(IEnroll4 *This,PCRYPT_DATA_BLOB pblobResponse,PCCERT_CONTEXT *ppCertContext); + void __RPC_STUB IEnroll4_getCertContextFromResponseBlob_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_getCertContextFromFileResponseWStr_Proxy(IEnroll4 *This,LPCWSTR pwszResponseFileName,PCCERT_CONTEXT *ppCertContext); + void __RPC_STUB IEnroll4_getCertContextFromFileResponseWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_createPFXWStr_Proxy(IEnroll4 *This,LPCWSTR pwszPassword,PCRYPT_DATA_BLOB pblobPFX); + void __RPC_STUB IEnroll4_createPFXWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_createFilePFXWStr_Proxy(IEnroll4 *This,LPCWSTR pwszPassword,LPCWSTR pwszPFXFileName); + void __RPC_STUB IEnroll4_createFilePFXWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_setPendingRequestInfoWStr_Proxy(IEnroll4 *This,LONG lRequestID,LPCWSTR pwszCADNS,LPCWSTR pwszCAName,LPCWSTR pwszFriendlyName); + void __RPC_STUB IEnroll4_setPendingRequestInfoWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_enumPendingRequestWStr_Proxy(IEnroll4 *This,LONG lIndex,LONG lDesiredProperty,LPVOID ppProperty); + void __RPC_STUB IEnroll4_enumPendingRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_removePendingRequestWStr_Proxy(IEnroll4 *This,CRYPT_DATA_BLOB thumbPrintBlob); + void __RPC_STUB IEnroll4_removePendingRequestWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_GetKeyLenEx_Proxy(IEnroll4 *This,LONG lSizeSpec,LONG lKeySpec,LONG *pdwKeySize); + void __RPC_STUB IEnroll4_GetKeyLenEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_InstallPKCS7BlobEx_Proxy(IEnroll4 *This,PCRYPT_DATA_BLOB pBlobPKCS7,LONG *plCertInstalled); + void __RPC_STUB IEnroll4_InstallPKCS7BlobEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_AddCertTypeToRequestWStrEx_Proxy(IEnroll4 *This,LONG lType,LPCWSTR pwszOIDOrName,LONG lMajorVersion,WINBOOL fMinorVersion,LONG lMinorVersion); + void __RPC_STUB IEnroll4_AddCertTypeToRequestWStrEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_getProviderTypeWStr_Proxy(IEnroll4 *This,LPCWSTR pwszProvName,LONG *plProvType); + void __RPC_STUB IEnroll4_getProviderTypeWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_addBlobPropertyToCertificateWStr_Proxy(IEnroll4 *This,LONG lPropertyId,LONG lReserved,PCRYPT_DATA_BLOB pBlobProperty); + void __RPC_STUB IEnroll4_addBlobPropertyToCertificateWStr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_SetSignerCertificate_Proxy(IEnroll4 *This,PCCERT_CONTEXT pSignerCert); + void __RPC_STUB IEnroll4_SetSignerCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_put_ClientId_Proxy(IEnroll4 *This,LONG lClientId); + void __RPC_STUB IEnroll4_put_ClientId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_get_ClientId_Proxy(IEnroll4 *This,LONG *plClientId); + void __RPC_STUB IEnroll4_get_ClientId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_put_IncludeSubjectKeyID_Proxy(IEnroll4 *This,WINBOOL fInclude); + void __RPC_STUB IEnroll4_put_IncludeSubjectKeyID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IEnroll4_get_IncludeSubjectKeyID_Proxy(IEnroll4 *This,WINBOOL *pfInclude); + void __RPC_STUB IEnroll4_get_IncludeSubjectKeyID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifndef __XENROLLLib_LIBRARY_DEFINED__ +#define __XENROLLLib_LIBRARY_DEFINED__ + extern const IID LIBID_XENROLLLib; + extern const CLSID CLSID_CEnroll2; + extern const CLSID CLSID_CEnroll; +#ifdef __cplusplus +} + class CEnroll2; + class CEnroll; + extern "C" { +#endif +#endif + + IEnroll *WINAPI PIEnrollGetNoCOM(void); + IEnroll2 *WINAPI PIEnroll2GetNoCOM(void); + IEnroll4 *WINAPI PIEnroll4GetNoCOM(void); + +#define CRYPT_ENUM_ALL_PROVIDERS 0x1 +#define XEPR_ENUM_FIRST -1 +#define XEPR_CADNS 0x01 +#define XEPR_CANAME 0x02 +#define XEPR_CAFRIENDLYNAME 0x03 +#define XEPR_REQUESTID 0x04 +#define XEPR_DATE 0x05 +#define XEPR_TEMPLATENAME 0x06 +#define XEPR_VERSION 0x07 +#define XEPR_HASH 0x08 +#define XEPR_V1TEMPLATENAME 0x09 +#define XEPR_V2TEMPLATEOID 0x10 +#define XECR_PKCS10_V2_0 0x1 +#define XECR_PKCS7 0x2 +#define XECR_CMC 0x3 +#define XECR_PKCS10_V1_5 0x4 +#define XEKL_KEYSIZE_MIN 0x1 +#define XEKL_KEYSIZE_MAX 0x2 +#define XEKL_KEYSIZE_INC 0x3 +#define XEKL_KEYSIZE_DEFAULT 0x4 +#define XEKL_KEYSPEC_KEYX 0x1 +#define XEKL_KEYSPEC_SIG 0x2 +#define XECT_EXTENSION_V1 0x1 +#define XECT_EXTENSION_V2 0x2 +#define XECP_STRING_PROPERTY 0x1 +#define XECI_DISABLE 0x0 +#define XECI_XENROLL 0x1 +#define XECI_AUTOENROLL 0x2 +#define XECI_REQWIZARD 0x3 +#define XECI_CERTREQ 0x4 + + extern RPC_IF_HANDLE __MIDL_itf_xenroll_0269_v0_0_c_ifspec; + extern RPC_IF_HANDLE __MIDL_itf_xenroll_0269_v0_0_s_ifspec; + + ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *); + unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *); + unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *); + void __RPC_API BSTR_UserFree(ULONG *,BSTR *); + ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *); + unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *); + unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *); + void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xinput.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xinput.h new file mode 100644 index 00000000..a06b01c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xinput.h @@ -0,0 +1,260 @@ +/* + * The Wine project - Xinput Joystick Library + * Copyright 2008 Andrew Fenn + * + * 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 __WINE_XINPUT_H +#define __WINE_XINPUT_H + +#include + +/* + * Bitmasks for the joysticks buttons, determines what has + * been pressed on the joystick, these need to be mapped + * to whatever device you're using instead of an xbox 360 + * joystick + */ + +#define XINPUT_GAMEPAD_DPAD_UP 0x0001 +#define XINPUT_GAMEPAD_DPAD_DOWN 0x0002 +#define XINPUT_GAMEPAD_DPAD_LEFT 0x0004 +#define XINPUT_GAMEPAD_DPAD_RIGHT 0x0008 +#define XINPUT_GAMEPAD_START 0x0010 +#define XINPUT_GAMEPAD_BACK 0x0020 +#define XINPUT_GAMEPAD_LEFT_THUMB 0x0040 +#define XINPUT_GAMEPAD_RIGHT_THUMB 0x0080 +#define XINPUT_GAMEPAD_LEFT_SHOULDER 0x0100 +#define XINPUT_GAMEPAD_RIGHT_SHOULDER 0x0200 +#define XINPUT_GAMEPAD_A 0x1000 +#define XINPUT_GAMEPAD_B 0x2000 +#define XINPUT_GAMEPAD_X 0x4000 +#define XINPUT_GAMEPAD_Y 0x8000 + +/* + * Defines the flags used to determine if the user is pushing + * down on a button, not holding a button, etc + */ + +#define XINPUT_KEYSTROKE_KEYDOWN 0x0001 +#define XINPUT_KEYSTROKE_KEYUP 0x0002 +#define XINPUT_KEYSTROKE_REPEAT 0x0004 + +/* + * Defines the codes which are returned by XInputGetKeystroke + */ + +#define VK_PAD_A 0x5800 +#define VK_PAD_B 0x5801 +#define VK_PAD_X 0x5802 +#define VK_PAD_Y 0x5803 +#define VK_PAD_RSHOULDER 0x5804 +#define VK_PAD_LSHOULDER 0x5805 +#define VK_PAD_LTRIGGER 0x5806 +#define VK_PAD_RTRIGGER 0x5807 +#define VK_PAD_DPAD_UP 0x5810 +#define VK_PAD_DPAD_DOWN 0x5811 +#define VK_PAD_DPAD_LEFT 0x5812 +#define VK_PAD_DPAD_RIGHT 0x5813 +#define VK_PAD_START 0x5814 +#define VK_PAD_BACK 0x5815 +#define VK_PAD_LTHUMB_PRESS 0x5816 +#define VK_PAD_RTHUMB_PRESS 0x5817 +#define VK_PAD_LTHUMB_UP 0x5820 +#define VK_PAD_LTHUMB_DOWN 0x5821 +#define VK_PAD_LTHUMB_RIGHT 0x5822 +#define VK_PAD_LTHUMB_LEFT 0x5823 +#define VK_PAD_LTHUMB_UPLEFT 0x5824 +#define VK_PAD_LTHUMB_UPRIGHT 0x5825 +#define VK_PAD_LTHUMB_DOWNRIGHT 0x5826 +#define VK_PAD_LTHUMB_DOWNLEFT 0x5827 +#define VK_PAD_RTHUMB_UP 0x5830 +#define VK_PAD_RTHUMB_DOWN 0x5831 +#define VK_PAD_RTHUMB_RIGHT 0x5832 +#define VK_PAD_RTHUMB_LEFT 0x5833 +#define VK_PAD_RTHUMB_UPLEFT 0x5834 +#define VK_PAD_RTHUMB_UPRIGHT 0x5835 +#define VK_PAD_RTHUMB_DOWNRIGHT 0x5836 +#define VK_PAD_RTHUMB_DOWNLEFT 0x5837 + +/* + * Deadzones are for analogue joystick controls on the joypad + * which determine when input should be assumed to be in the + * middle of the pad. This is a threshold to stop a joypad + * controlling the game when the player isn't touching the + * controls. + */ + +#define XINPUT_GAMEPAD_LEFT_THUMB_DEADZONE 7849 +#define XINPUT_GAMEPAD_RIGHT_THUMB_DEADZONE 8689 +#define XINPUT_GAMEPAD_TRIGGER_THRESHOLD 30 + + +/* + * Defines what type of abilities the type of joystick has + * DEVTYPE_GAMEPAD is available for all joysticks, however + * there may be more specific identifiers for other joysticks + * which are being used. + */ + +#define XINPUT_DEVTYPE_GAMEPAD 0x01 +#define XINPUT_DEVSUBTYPE_GAMEPAD 0x01 +#define XINPUT_DEVSUBTYPE_WHEEL 0x02 +#define XINPUT_DEVSUBTYPE_ARCADE_STICK 0x03 +#define XINPUT_DEVSUBTYPE_FLIGHT_STICK 0x04 +#define XINPUT_DEVSUBTYPE_DANCE_PAD 0x05 +#define XINPUT_DEVSUBTYPE_GUITAR 0x06 +#define XINPUT_DEVSUBTYPE_GUITAR_ALTERNATE 0x07 +#define XINPUT_DEVSUBTYPE_DRUM_KIT 0x08 +#define XINPUT_DEVSUBTYPE_GUITAR_BASS 0x0b +#define XINPUT_DEVSUBTYPE_ARCADE_PAD 0x13 + +/* + * These are used with the XInputGetCapabilities function to + * determine the abilities to the joystick which has been + * plugged in. + */ + +#define XINPUT_CAPS_VOICE_SUPPORTED 0x0004 +#define XINPUT_FLAG_GAMEPAD 0x00000001 + +/* + * Defines the status of the battery if one is used in the + * attached joystick. The first two define if the joystick + * supports a battery. Disconnected means that the joystick + * isn't connected. Wired shows that the joystick is a wired + * joystick. + */ + +#define BATTERY_DEVTYPE_GAMEPAD 0x00 +#define BATTERY_DEVTYPE_HEADSET 0x01 +#define BATTERY_TYPE_DISCONNECTED 0x00 +#define BATTERY_TYPE_WIRED 0x01 +#define BATTERY_TYPE_ALKALINE 0x02 +#define BATTERY_TYPE_NIMH 0x03 +#define BATTERY_TYPE_UNKNOWN 0xFF +#define BATTERY_LEVEL_EMPTY 0x00 +#define BATTERY_LEVEL_LOW 0x01 +#define BATTERY_LEVEL_MEDIUM 0x02 +#define BATTERY_LEVEL_FULL 0x03 + +/* + * How many joysticks can be used with this library. Games that + * use the xinput library will not go over this number. + */ + +#define XUSER_MAX_COUNT 4 +#define XUSER_INDEX_ANY 0x000000FF + +#define XINPUT_CAPS_FFB_SUPPORTED 0x0001 +#define XINPUT_CAPS_WIRELESS 0x0002 +#define XINPUT_CAPS_PMD_SUPPORTED 0x0008 +#define XINPUT_CAPS_NO_NAVIGATION 0x0010 + +/* + * Defines the structure of an xbox 360 joystick. + */ + +typedef struct _XINPUT_GAMEPAD { + WORD wButtons; + BYTE bLeftTrigger; + BYTE bRightTrigger; + SHORT sThumbLX; + SHORT sThumbLY; + SHORT sThumbRX; + SHORT sThumbRY; +} XINPUT_GAMEPAD, *PXINPUT_GAMEPAD; + +typedef struct _XINPUT_STATE { + DWORD dwPacketNumber; + XINPUT_GAMEPAD Gamepad; +} XINPUT_STATE, *PXINPUT_STATE; + +/* + * Defines the structure of how much vibration is set on both the + * right and left motors in a joystick. If you're not using a 360 + * joystick you will have to map these to your device. + */ + +typedef struct _XINPUT_VIBRATION { + WORD wLeftMotorSpeed; + WORD wRightMotorSpeed; +} XINPUT_VIBRATION, *PXINPUT_VIBRATION; + +/* + * Defines the structure for what kind of abilities the joystick has + * such abilities are things such as if the joystick has the ability + * to send and receive audio, if the joystick is in fact a driving + * wheel or perhaps if the joystick is some kind of dance pad or + * guitar. + */ + +typedef struct _XINPUT_CAPABILITIES { + BYTE Type; + BYTE SubType; + WORD Flags; + XINPUT_GAMEPAD Gamepad; + XINPUT_VIBRATION Vibration; +} XINPUT_CAPABILITIES, *PXINPUT_CAPABILITIES; + +typedef struct _XINPUT_CAPABILITIES_EX +{ + XINPUT_CAPABILITIES Capabilities; + WORD VendorId; + WORD ProductId; + WORD VersionNumber; + WORD unk1; + DWORD unk2; +} XINPUT_CAPABILITIES_EX, *PXINPUT_CAPABILITIES_EX; + +/* + * Defines the structure for a joystick input event which is + * retrieved using the function XInputGetKeystroke + */ +typedef struct _XINPUT_KEYSTROKE { + WORD VirtualKey; + WCHAR Unicode; + WORD Flags; + BYTE UserIndex; + BYTE HidCode; +} XINPUT_KEYSTROKE, *PXINPUT_KEYSTROKE; + +typedef struct _XINPUT_BATTERY_INFORMATION +{ + BYTE BatteryType; + BYTE BatteryLevel; +} XINPUT_BATTERY_INFORMATION, *PXINPUT_BATTERY_INFORMATION; + +#ifdef __cplusplus +extern "C" { +#endif + +void WINAPI XInputEnable(WINBOOL); +DWORD WINAPI XInputSetState(DWORD, XINPUT_VIBRATION*); +DWORD WINAPI XInputGetState(DWORD, XINPUT_STATE*); +DWORD WINAPI XInputGetKeystroke(DWORD, DWORD, PXINPUT_KEYSTROKE); +DWORD WINAPI XInputGetCapabilities(DWORD, DWORD, XINPUT_CAPABILITIES*); +DWORD WINAPI XInputGetCapabilitiesEx(DWORD, DWORD, DWORD, XINPUT_CAPABILITIES_EX*); +DWORD WINAPI XInputGetDSoundAudioDeviceGuids(DWORD, GUID*, GUID*); +DWORD WINAPI XInputGetBatteryInformation(DWORD, BYTE, XINPUT_BATTERY_INFORMATION*); + +DWORD WINAPI XInputGetStateEx(DWORD, XINPUT_STATE*); + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_XINPUT_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xlocinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xlocinfo.h new file mode 100644 index 00000000..6e08efa9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xlocinfo.h @@ -0,0 +1,99 @@ +/** + * 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 _XLOCINFO +#define _XLOCINFO +#include +#include +#include +#include + +#pragma pack(push,_CRT_PACKING) + +_C_STD_BEGIN +_C_LIB_DECL + +#define _XA 0x100 +#define _XS 0x000 +#define _BB _CONTROL +#define _CN _SPACE +#define _DI _DIGIT +#define _LO _LOWER +#define _PU _PUNCT +#define _SP _BLANK +#define _UP _UPPER +#define _XD _HEX + +#define _X_ALL LC_ALL +#define _X_COLLATE LC_COLLATE +#define _X_CTYPE LC_CTYPE +#define _X_MONETARY LC_MONETARY +#define _X_NUMERIC LC_NUMERIC +#define _X_TIME LC_TIME +#define _X_MAX LC_MAX +#define _X_MESSAGES 6 +#define _NCAT 7 + +#define _CATMASK(n) ((1 << (n)) >> 1) +#define _M_COLLATE _CATMASK(_X_COLLATE) +#define _M_CTYPE _CATMASK(_X_CTYPE) +#define _M_MONETARY _CATMASK(_X_MONETARY) +#define _M_NUMERIC _CATMASK(_X_NUMERIC) +#define _M_TIME _CATMASK(_X_TIME) +#define _M_MESSAGES _CATMASK(_X_MESSAGES) +#define _M_ALL (_CATMASK(_NCAT) - 1) + +typedef struct _Collvec { + unsigned long _Hand; + unsigned int _Page; +} _Collvec; + +typedef struct _Ctypevec { + unsigned long _Hand; + unsigned int _Page; + const short *_Table; + int _Delfl; +} _Ctypevec; + +typedef struct _Cvtvec { + unsigned long _Hand; + unsigned int _Page; +} _Cvtvec; + +_CRTIMP _Collvec __cdecl _Getcoll(); +_CRTIMP _Ctypevec __cdecl _Getctype(); +_CRTIMP _Cvtvec __cdecl _Getcvt(); +_CRTIMP int __cdecl _Getdateorder(); +_CRTIMP int __cdecl _Mbrtowc(wchar_t *,const char *,size_t,mbstate_t *,const _Cvtvec *); +_CRTIMP float __cdecl _Stof(const char *,char **,long); +_CRTIMP double __cdecl _Stod(const char *,char **,long); +_CRTIMP long double __cdecl _Stold(const char *,char **,long); +_CRTIMP int __cdecl _Strcoll(const char *,const char *,const char *,const char *,const _Collvec *); +_CRTIMP size_t __cdecl _Strxfrm(char *_String1,char *_End1,const char *,const char *,const _Collvec *); +_CRTIMP int __cdecl _Tolower(int,const _Ctypevec *); +_CRTIMP int __cdecl _Toupper(int,const _Ctypevec *); +_CRTIMP int __cdecl _Wcrtomb(char *,wchar_t,mbstate_t *,const _Cvtvec *); +_CRTIMP int __cdecl _Wcscoll(const wchar_t *,const wchar_t *,const wchar_t *,const wchar_t *,const _Collvec *); +_CRTIMP size_t __cdecl _Wcsxfrm(wchar_t *_String1,wchar_t *_End1,const wchar_t *,const wchar_t *,const _Collvec *); +_CRTIMP short __cdecl _Getwctype(wchar_t,const _Ctypevec *); +_CRTIMP const wchar_t *__cdecl _Getwctypes(const wchar_t *,const wchar_t *,short*,const _Ctypevec*); +_CRTIMP wchar_t __cdecl _Towlower(wchar_t,const _Ctypevec *); +_CRTIMP wchar_t __cdecl _Towupper(wchar_t,const _Ctypevec *); +_END_C_LIB_DECL +_C_STD_END + +_C_LIB_DECL +_CRTIMP void *__cdecl _Gettnames(); +_CRTIMP char *__cdecl _Getdays(); +_CRTIMP char *__cdecl _Getmonths(); +_CRTIMP size_t __cdecl _Strftime(char *,size_t _Maxsize,const char *,const struct tm *,void *); +_END_C_LIB_DECL + +_C_LIB_DECL +_locale_t __cdecl _GetLocaleForCP(unsigned int); +_END_C_LIB_DECL + +#pragma pack(pop) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmath.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmath.h new file mode 100644 index 00000000..1e8d5134 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmath.h @@ -0,0 +1,108 @@ +/** + * 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 _XMATH +#define _XMATH +#include +#include +#include +#include + +_C_STD_BEGIN + +#define _DBIAS 0x3fe +#define _DOFF 4 +#define _FBIAS 0x7e +#define _FOFF 7 +#define _FRND 1 + +#define _D0 3 +#define _D1 2 +#define _D2 1 +#define _D3 0 +#define _DLONG 0 +#define _LBIAS 0x3fe +#define _LOFF 4 + +#define _DFRAC ((unsigned short)((1 << _DOFF) - 1)) +#define _DMASK ((unsigned short)(0x7fff & ~_DFRAC)) +#define _DMAX ((unsigned short)((1 << (15 - _DOFF)) - 1)) +#define _DSIGN ((unsigned short)0x8000) +#define DSIGN(x) (((unsigned short *)&(x))[_D0] & _DSIGN) +#define HUGE_EXP (int)(_DMAX *900L / 1000) +#define HUGE_RAD 2.73e9 +#define SAFE_EXP ((unsigned short)(_DMAX >> 1)) + +#define _FFRAC ((unsigned short)((1 << _FOFF) - 1)) +#define _FMASK ((unsigned short)(0x7fff & ~_FFRAC)) +#define _FMAX ((unsigned short)((1 << (15 - _FOFF)) - 1)) +#define _FSIGN ((unsigned short)0x8000) +#define FSIGN(x) (((unsigned short *)&(x))[_F0] & _FSIGN) +#define FHUGE_EXP (int)(_FMAX *900L / 1000) +#define FHUGE_RAD 31.8 +#define FSAFE_EXP ((unsigned short)(_FMAX >> 1)) + +#define _F0 1 +#define _F1 0 + +#define _LFRAC ((unsigned short)(-1)) +#define _LMASK ((unsigned short)0x7fff) +#define _LMAX ((unsigned short)0x7fff) +#define _LSIGN ((unsigned short)0x8000) +#define LSIGN(x) (((unsigned short *)&(x))[_L0] & _LSIGN) +#define LHUGE_EXP (int)(_LMAX *900L / 1000) +#define LHUGE_RAD 2.73e9 +#define LSAFE_EXP ((unsigned short)(_LMAX >> 1)) + +#define _L0 3 +#define _L1 2 +#define _L2 1 +#define _L3 0 +#define _L4 xxx + +#define FINITE _FINITE +#define INF _INFCODE +#define NAN _NANCODE + +#define FL_ERR 0 +#define FL_DEC 1 +#define FL_HEX 2 +#define FL_INF 3 +#define FL_NAN 4 +#define FL_NEG 8 + +_C_LIB_DECL + +_CRTIMP int __cdecl _Stopfx(const char **,char **); +_CRTIMP int __cdecl _Stoflt(const char *,const char *,char **,long[],int); +_CRTIMP int __cdecl _Stoxflt(const char *,const char *,char **,long[],int); +_CRTIMP int __cdecl _WStopfx(const wchar_t **,wchar_t **); +_CRTIMP int __cdecl _WStoflt(const wchar_t *,const wchar_t *,wchar_t **,long[],int); +_CRTIMP int __cdecl _WStoxflt(const wchar_t *,const wchar_t *,wchar_t **,long[],int); +_CRTIMP short __cdecl _Dnorm(unsigned short *); +_CRTIMP short __cdecl _Dscale(double *,long); +_CRTIMP short __cdecl _Dunscale(short *,double *); +_CRTIMP double __cdecl _Poly(double,const double *,int); + +extern __declspec(dllimport) _Dconst _Eps,_Rteps; +extern __declspec(dllimport) double _Xbig; + +_CRTIMP short __cdecl _FDnorm(unsigned short *); +_CRTIMP short __cdecl _FDscale(float *,long); +_CRTIMP short __cdecl _FDunscale(short *,float *); + +extern __declspec(dllimport) _Dconst _FEps,_FRteps; +extern __declspec(dllimport) float _FXbig; + +_CRTIMP short __cdecl _LDnorm(unsigned short *); +_CRTIMP short __cdecl _LDscale(long double *,long); +_CRTIMP short __cdecl _LDunscale(short *,long double *); +_CRTIMP long double __cdecl _LPoly(long double,const long double *,int); + +extern __declspec(dllimport) _Dconst _LEps,_LRteps; +extern __declspec(dllimport) long double _LXbig; +_END_C_LIB_DECL +_C_STD_END +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldomdid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldomdid.h new file mode 100644 index 00000000..240a2760 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldomdid.h @@ -0,0 +1,184 @@ +/** + * 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 __XMLDOMDID_H__ +#define __XMLDOMDID_H__ + +#define DISPID_DOM_BASE 0x00000001 + +#define DISPID_DOM_COLLECTION_BASE 1000000 +#define DISPID_DOM_COLLECTION_MAX 2999999 + +#define DISPID_DOM_NODE (DISPID_DOM_BASE) +#define DISPID_DOM_NODE_NODENAME (DISPID_DOM_BASE + 1) +#define DISPID_DOM_NODE_NODEVALUE (DISPID_DOM_BASE + 2) +#define DISPID_DOM_NODE_NODETYPE (DISPID_DOM_BASE + 3) +#define DISPID_DOM_NODE_NODETYPEENUM (DISPID_DOM_BASE + 4) +#define DISPID_DOM_NODE_PARENTNODE (DISPID_DOM_BASE + 5) +#define DISPID_DOM_NODE_CHILDNODES (DISPID_DOM_BASE + 6) +#define DISPID_DOM_NODE_FIRSTCHILD (DISPID_DOM_BASE + 7) +#define DISPID_DOM_NODE_LASTCHILD (DISPID_DOM_BASE + 8) +#define DISPID_DOM_NODE_PREVIOUSSIBLING (DISPID_DOM_BASE + 9) +#define DISPID_DOM_NODE_NEXTSIBLING (DISPID_DOM_BASE + 10) +#define DISPID_DOM_NODE_ATTRIBUTES (DISPID_DOM_BASE + 11) +#define DISPID_DOM_NODE_INSERTBEFORE (DISPID_DOM_BASE + 12) +#define DISPID_DOM_NODE_REPLACECHILD (DISPID_DOM_BASE + 13) +#define DISPID_DOM_NODE_REMOVECHILD (DISPID_DOM_BASE + 14) +#define DISPID_DOM_NODE_APPENDCHILD (DISPID_DOM_BASE + 15) +#define DISPID_DOM_NODE_HASCHILDNODES (DISPID_DOM_BASE + 16) +#define DISPID_DOM_NODE_OWNERDOC (DISPID_DOM_BASE + 17) +#define DISPID_DOM_NODE_CLONENODE (DISPID_DOM_BASE + 18) +#define DISPID_XMLDOM_NODE (DISPID_DOM_BASE + 19) +#define DISPID_XMLDOM_NODE_STRINGTYPE (DISPID_DOM_BASE + 20) +#define DISPID_XMLDOM_NODE_SPECIFIED (DISPID_DOM_BASE + 21) +#define DISPID_XMLDOM_NODE_DEFINITION (DISPID_DOM_BASE + 22) +#define DISPID_XMLDOM_NODE_TEXT (DISPID_DOM_BASE + 23) +#define DISPID_XMLDOM_NODE_NODETYPEDVALUE (DISPID_DOM_BASE + 24) +#define DISPID_XMLDOM_NODE_DATATYPE (DISPID_DOM_BASE + 25) +#define DISPID_XMLDOM_NODE_XML (DISPID_DOM_BASE + 26) +#define DISPID_XMLDOM_NODE_TRANSFORMNODE (DISPID_DOM_BASE + 27) +#define DISPID_XMLDOM_NODE_SELECTNODES (DISPID_DOM_BASE + 28) +#define DISPID_XMLDOM_NODE_SELECTSINGLENODE (DISPID_DOM_BASE + 29) +#define DISPID_XMLDOM_NODE_PARSED (DISPID_DOM_BASE + 30) +#define DISPID_XMLDOM_NODE_NAMESPACE (DISPID_DOM_BASE + 31) +#define DISPID_XMLDOM_NODE_PREFIX (DISPID_DOM_BASE + 32) +#define DISPID_XMLDOM_NODE_BASENAME (DISPID_DOM_BASE + 33) +#define DISPID_XMLDOM_NODE_TRANSFORMNODETOOBJECT (DISPID_DOM_BASE + 34) +#define DISPID_XMLDOM_NODE__TOP (DISPID_DOM_BASE + 35) +#define DISPID_DOM_DOCUMENT (DISPID_DOM_BASE + 36) +#define DISPID_DOM_DOCUMENT_DOCTYPE (DISPID_DOM_BASE + 37) +#define DISPID_DOM_DOCUMENT_IMPLEMENTATION (DISPID_DOM_BASE + 38) +#define DISPID_DOM_DOCUMENT_DOCUMENTELEMENT (DISPID_DOM_BASE + 39) +#define DISPID_DOM_DOCUMENT_CREATEELEMENT (DISPID_DOM_BASE + 40) +#define DISPID_DOM_DOCUMENT_CREATEDOCUMENTFRAGMENT (DISPID_DOM_BASE + 41) +#define DISPID_DOM_DOCUMENT_CREATETEXTNODE (DISPID_DOM_BASE + 42) +#define DISPID_DOM_DOCUMENT_CREATECOMMENT (DISPID_DOM_BASE + 43) +#define DISPID_DOM_DOCUMENT_CREATECDATASECTION (DISPID_DOM_BASE + 44) +#define DISPID_DOM_DOCUMENT_CREATEPROCESSINGINSTRUCTION (DISPID_DOM_BASE + 45) +#define DISPID_DOM_DOCUMENT_CREATEATTRIBUTE (DISPID_DOM_BASE + 46) +#define DISPID_DOM_DOCUMENT_CREATEENTITY (DISPID_DOM_BASE + 47) +#define DISPID_DOM_DOCUMENT_CREATEENTITYREFERENCE (DISPID_DOM_BASE + 48) +#define DISPID_DOM_DOCUMENT_GETELEMENTSBYTAGNAME (DISPID_DOM_BASE + 49) +#define DISPID_DOM_DOCUMENT_TOP (DISPID_DOM_BASE + 50) +#define DISPID_XMLDOM_DOCUMENT (DISPID_DOM_BASE + 51) +#define DISPID_XMLDOM_DOCUMENT_DOCUMENTNODE (DISPID_DOM_BASE + 52) +#define DISPID_XMLDOM_DOCUMENT_CREATENODE (DISPID_DOM_BASE + 53) +#define DISPID_XMLDOM_DOCUMENT_CREATENODEEX (DISPID_DOM_BASE + 54) +#define DISPID_XMLDOM_DOCUMENT_NODEFROMID (DISPID_DOM_BASE + 55) +#define DISPID_XMLDOM_DOCUMENT_DOCUMENTNAMESPACES (DISPID_DOM_BASE + 56) +#define DISPID_XMLDOM_DOCUMENT_LOAD (DISPID_DOM_BASE + 57) +#define DISPID_XMLDOM_DOCUMENT_PARSEERROR (DISPID_DOM_BASE + 58) +#define DISPID_XMLDOM_DOCUMENT_URL (DISPID_DOM_BASE + 59) +#define DISPID_XMLDOM_DOCUMENT_ASYNC (DISPID_DOM_BASE + 60) +#define DISPID_XMLDOM_DOCUMENT_ABORT (DISPID_DOM_BASE + 61) +#define DISPID_XMLDOM_DOCUMENT_LOADXML (DISPID_DOM_BASE + 62) +#define DISPID_XMLDOM_DOCUMENT_SAVE (DISPID_DOM_BASE + 63) +#define DISPID_XMLDOM_DOCUMENT_VALIDATE (DISPID_DOM_BASE + 64) +#define DISPID_XMLDOM_DOCUMENT_RESOLVENAMESPACE (DISPID_DOM_BASE + 65) +#define DISPID_XMLDOM_DOCUMENT_PRESERVEWHITESPACE (DISPID_DOM_BASE + 66) +#define DISPID_XMLDOM_DOCUMENT_ONREADYSTATECHANGE (DISPID_DOM_BASE + 67) +#define DISPID_XMLDOM_DOCUMENT_ONDATAAVAILABLE (DISPID_DOM_BASE + 68) +#define DISPID_XMLDOM_DOCUMENT_ONTRANSFORMNODE (DISPID_DOM_BASE + 69) +#define DISPID_XMLDOM_DOCUMENT__TOP (DISPID_DOM_BASE + 70) +#define DISPID_DOM_NODELIST (DISPID_DOM_BASE + 71) +#define DISPID_DOM_NODELIST_ITEM (DISPID_DOM_BASE + 72) +#define DISPID_DOM_NODELIST_LENGTH (DISPID_DOM_BASE + 73) +#define DISPID_XMLDOM_NODELIST (DISPID_DOM_BASE + 74) +#define DISPID_XMLDOM_NODELIST_NEXTNODE (DISPID_DOM_BASE + 75) +#define DISPID_XMLDOM_NODELIST_RESET (DISPID_DOM_BASE + 76) +#define DISPID_XMLDOM_NODELIST_NEWENUM (DISPID_DOM_BASE + 77) +#define DISPID_XMLDOM_NODELIST__TOP (DISPID_DOM_BASE + 78) +#define DISPID_DOM_NAMEDNODEMAP (DISPID_DOM_BASE + 79) +#define DISPID_DOM_NAMEDNODEMAP_GETNAMEDITEM (DISPID_DOM_BASE + 82) +#define DISPID_DOM_NAMEDNODEMAP_SETNAMEDITEM (DISPID_DOM_BASE + 83) +#define DISPID_DOM_NAMEDNODEMAP_REMOVENAMEDITEM (DISPID_DOM_BASE + 84) +#define DISPID_XMLDOM_NAMEDNODEMAP (DISPID_DOM_BASE + 85) +#define DISPID_XMLDOM_NAMEDNODEMAP_GETQUALIFIEDITEM (DISPID_DOM_BASE + 86) +#define DISPID_XMLDOM_NAMEDNODEMAP_REMOVEQUALIFIEDITEM (DISPID_DOM_BASE + 87) +#define DISPID_XMLDOM_NAMEDNODEMAP_NEXTNODE (DISPID_DOM_BASE + 88) +#define DISPID_XMLDOM_NAMEDNODEMAP_RESET (DISPID_DOM_BASE + 89) +#define DISPID_XMLDOM_NAMEDNODEMAP_NEWENUM (DISPID_DOM_BASE + 90) +#define DISPID_XMLDOM_NAMEDNODEMAP__TOP (DISPID_DOM_BASE + 91) +#define DISPID_DOM_W3CWRAPPERS (DISPID_DOM_BASE + 92) +#define DISPID_DOM_DOCUMENTFRAGMENT (DISPID_DOM_BASE + 93) +#define DISPID_DOM_DOCUMENTFRAGMENT__TOP (DISPID_DOM_BASE + 94) +#define DISPID_DOM_ELEMENT (DISPID_DOM_BASE + 95) +#define DISPID_DOM_ELEMENT_GETTAGNAME (DISPID_DOM_BASE + 96) +#define DISPID_DOM_ELEMENT_GETATTRIBUTES (DISPID_DOM_BASE + 97) +#define DISPID_DOM_ELEMENT_GETATTRIBUTE (DISPID_DOM_BASE + 98) +#define DISPID_DOM_ELEMENT_SETATTRIBUTE (DISPID_DOM_BASE + 99) +#define DISPID_DOM_ELEMENT_REMOVEATTRIBUTE (DISPID_DOM_BASE + 100) +#define DISPID_DOM_ELEMENT_GETATTRIBUTENODE (DISPID_DOM_BASE + 101) +#define DISPID_DOM_ELEMENT_SETATTRIBUTENODE (DISPID_DOM_BASE + 102) +#define DISPID_DOM_ELEMENT_REMOVEATTRIBUTENODE (DISPID_DOM_BASE + 103) +#define DISPID_DOM_ELEMENT_GETELEMENTSBYTAGNAME (DISPID_DOM_BASE + 104) +#define DISPID_DOM_ELEMENT_NORMALIZE (DISPID_DOM_BASE + 105) +#define DISPID_DOM_ELEMENT__TOP (DISPID_DOM_BASE + 106) +#define DISPID_DOM_DATA (DISPID_DOM_BASE + 107) +#define DISPID_DOM_DATA_DATA (DISPID_DOM_BASE + 108) +#define DISPID_DOM_DATA_LENGTH (DISPID_DOM_BASE + 109) +#define DISPID_DOM_DATA_SUBSTRING (DISPID_DOM_BASE + 110) +#define DISPID_DOM_DATA_APPEND (DISPID_DOM_BASE + 111) +#define DISPID_DOM_DATA_INSERT (DISPID_DOM_BASE + 112) +#define DISPID_DOM_DATA_DELETE (DISPID_DOM_BASE + 113) +#define DISPID_DOM_DATA_REPLACE (DISPID_DOM_BASE + 114) +#define DISPID_DOM_DATA__TOP (DISPID_DOM_BASE + 115) +#define DISPID_DOM_ATTRIBUTE (DISPID_DOM_BASE + 116) +#define DISPID_DOM_ATTRIBUTE_GETNAME (DISPID_DOM_BASE + 117) +#define DISPID_DOM_ATTRIBUTE_SPECIFIED (DISPID_DOM_BASE + 118) +#define DISPID_DOM_ATTRIBUTE_VALUE (DISPID_DOM_BASE + 119) +#define DISPID_DOM_ATTRIBUTE__TOP (DISPID_DOM_BASE + 120) +#define DISPID_DOM_TEXT (DISPID_DOM_BASE + 121) +#define DISPID_DOM_TEXT_SPLITTEXT (DISPID_DOM_BASE + 122) +#define DISPID_DOM_TEXT_JOINTEXT (DISPID_DOM_BASE + 123) +#define DISPID_DOM_TEXT__TOP (DISPID_DOM_BASE + 124) +#define DISPID_DOM_PI (DISPID_DOM_BASE + 125) +#define DISPID_DOM_PI_TARGET (DISPID_DOM_BASE + 126) +#define DISPID_DOM_PI_DATA (DISPID_DOM_BASE + 127) +#define DISPID_DOM_PI__TOP (DISPID_DOM_BASE + 128) +#define DISPID_DOM_DOCUMENTTYPE (DISPID_DOM_BASE + 129) +#define DISPID_DOM_DOCUMENTTYPE_NAME (DISPID_DOM_BASE + 130) +#define DISPID_DOM_DOCUMENTTYPE_ENTITIES (DISPID_DOM_BASE + 131) +#define DISPID_DOM_DOCUMENTTYPE_NOTATIONS (DISPID_DOM_BASE + 132) +#define DISPID_DOM_DOCUMENTTYPE__TOP (DISPID_DOM_BASE + 133) +#define DISPID_DOM_NOTATION (DISPID_DOM_BASE + 134) +#define DISPID_DOM_NOTATION_PUBLICID (DISPID_DOM_BASE + 135) +#define DISPID_DOM_NOTATION_SYSTEMID (DISPID_DOM_BASE + 136) +#define DISPID_DOM_NOTATION__TOP (DISPID_DOM_BASE + 137) +#define DISPID_DOM_ENTITY (DISPID_DOM_BASE + 138) +#define DISPID_DOM_ENTITY_PUBLICID (DISPID_DOM_BASE + 139) +#define DISPID_DOM_ENTITY_SYSTEMID (DISPID_DOM_BASE + 140) +#define DISPID_DOM_ENTITY_NOTATIONNAME (DISPID_DOM_BASE + 141) +#define DISPID_DOM_ENTITY__TOP (DISPID_DOM_BASE + 142) +#define DISPID_DOM_W3CWRAPPERS_TOP (DISPID_DOM_BASE + 142) +#define DISPID_DOM_IMPLEMENTATION (DISPID_DOM_BASE + 143) +#define DISPID_DOM_IMPLEMENTATION_HASFEATURE (DISPID_DOM_BASE + 144) +#define DISPID_DOM_IMPLEMENTATION__TOP (DISPID_DOM_BASE + 145) +#define DISPID_DOM__TOP (DISPID_DOM_BASE + 175) +#define DISPID_DOM_ERROR (DISPID_DOM_BASE + 176) +#define DISPID_DOM_ERROR_ERRORCODE (DISPID_DOM_BASE + 177) +#define DISPID_DOM_ERROR_URL (DISPID_DOM_BASE + 178) +#define DISPID_DOM_ERROR_REASON (DISPID_DOM_BASE + 179) +#define DISPID_DOM_ERROR_SRCTEXT (DISPID_DOM_BASE + 180) +#define DISPID_DOM_ERROR_LINE (DISPID_DOM_BASE + 181) +#define DISPID_DOM_ERROR_LINEPOS (DISPID_DOM_BASE + 182) +#define DISPID_DOM_ERROR_FILEPOS (DISPID_DOM_BASE + 183) +#define DISPID_DOM_ERROR__TOP (DISPID_DOM_BASE + 184) +#define DISPID_XTLRUNTIME (DISPID_DOM_BASE + 185) +#define DISPID_XTLRUNTIME_UNIQUEID (DISPID_DOM_BASE + 186) +#define DISPID_XTLRUNTIME_DEPTH (DISPID_DOM_BASE + 187) +#define DISPID_XTLRUNTIME_CHILDNUMBER (DISPID_DOM_BASE + 188) +#define DISPID_XTLRUNTIME_ANCESTORCHILDNUMBER (DISPID_DOM_BASE + 189) +#define DISPID_XTLRUNTIME_ABSOLUTECHILDNUMBER (DISPID_DOM_BASE + 190) +#define DISPID_XTLRUNTIME_FORMATINDEX (DISPID_DOM_BASE + 191) +#define DISPID_XTLRUNTIME_FORMATNUMBER (DISPID_DOM_BASE + 192) +#define DISPID_XTLRUNTIME_FORMATDATE (DISPID_DOM_BASE + 193) +#define DISPID_XTLRUNTIME_FORMATTIME (DISPID_DOM_BASE + 194) +#define DISPID_XTLRUNTIME__TOP (DISPID_DOM_BASE + 195) +#define DISPID_XMLDOMEVENT (DISPID_DOM_BASE + 196) +#define DISPID_XMLDOMEVENT_ONREADYSTATECHANGE (DISPID_READYSTATECHANGE) +#define DISPID_XMLDOMEVENT_ONDATAAVAILABLE (DISPID_DOM_BASE + 197) +#define DISPID_XMLDOMEVENT__TOP (DISPID_DOM_BASE + 198) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldsodid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldsodid.h new file mode 100644 index 00000000..6624a501 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmldsodid.h @@ -0,0 +1,16 @@ +/** + * 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 __XMLDSODID_H__ +#define __XMLDSODID_H__ + +#define DISPID_XOBJ_MIN 0x00010000 +#define DISPID_XOBJ_MAX 0x0001FFFF +#define DISPID_XOBJ_BASE DISPID_XOBJ_MIN + +#define DISPID_XMLDSO DISPID_XOBJ_BASE +#define DISPID_XMLDSO_DOCUMENT DISPID_XMLDSO + 1 +#define DISPID_XMLDSO_JAVADSOCOMPATIBLE DISPID_XMLDSO_DOCUMENT + 1 +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmllite.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmllite.h new file mode 100644 index 00000000..73541e15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmllite.h @@ -0,0 +1,1062 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xmllite.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 __xmllite_h__ +#define __xmllite_h__ + +/* Forward declarations */ + +#ifndef __IXmlReader_FWD_DEFINED__ +#define __IXmlReader_FWD_DEFINED__ +typedef interface IXmlReader IXmlReader; +#ifdef __cplusplus +interface IXmlReader; +#endif /* __cplusplus */ +#endif + +#ifndef __IXmlResolver_FWD_DEFINED__ +#define __IXmlResolver_FWD_DEFINED__ +typedef interface IXmlResolver IXmlResolver; +#ifdef __cplusplus +interface IXmlResolver; +#endif /* __cplusplus */ +#endif + +#ifndef __IXmlWriter_FWD_DEFINED__ +#define __IXmlWriter_FWD_DEFINED__ +typedef interface IXmlWriter IXmlWriter; +#ifdef __cplusplus +interface IXmlWriter; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum XmlNodeType { + XmlNodeType_None = 0, + XmlNodeType_Element = 1, + XmlNodeType_Attribute = 2, + XmlNodeType_Text = 3, + XmlNodeType_CDATA = 4, + XmlNodeType_ProcessingInstruction = 7, + XmlNodeType_Comment = 8, + XmlNodeType_DocumentType = 10, + XmlNodeType_Whitespace = 13, + XmlNodeType_EndElement = 15, + XmlNodeType_XmlDeclaration = 17, + _XmlNodeType_Last = 17 +} XmlNodeType; +/***************************************************************************** + * IXmlReader interface + */ +#ifndef __IXmlReader_INTERFACE_DEFINED__ +#define __IXmlReader_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXmlReader, 0x7279fc81, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7279fc81-709d-4095-b63d-69fe4b0d9030") +IXmlReader : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetInput( + IUnknown *input) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProperty( + UINT property, + LONG_PTR *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProperty( + UINT property, + LONG_PTR value) = 0; + + virtual HRESULT STDMETHODCALLTYPE Read( + XmlNodeType *node_type) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNodeType( + XmlNodeType *node_type) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveToFirstAttribute( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveToNextAttribute( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveToAttributeByName( + LPCWSTR local_name, + LPCWSTR namespaceUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE MoveToElement( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetQualifiedName( + LPCWSTR *qualifiedName, + UINT *qualifiedName_length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetNamespaceUri( + LPCWSTR *namespaceUri, + UINT *nnamespaceUri_length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLocalName( + LPCWSTR *local_name, + UINT *locale_name_length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrefix( + LPCWSTR *prefix, + UINT *prefix_length) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetValue( + LPCWSTR *value, + UINT *value_length) = 0; + + virtual HRESULT STDMETHODCALLTYPE ReadValueChunk( + WCHAR *buffer, + UINT chunk_size, + UINT *read) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBaseUri( + LPCWSTR *baseUri, + UINT *baseUri_length) = 0; + + virtual WINBOOL STDMETHODCALLTYPE IsDefault( + ) = 0; + + virtual WINBOOL STDMETHODCALLTYPE IsEmptyElement( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLineNumber( + UINT *lineNumber) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLinePosition( + UINT *linePosition) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAttributeCount( + UINT *attributeCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDepth( + UINT *depth) = 0; + + virtual WINBOOL STDMETHODCALLTYPE IsEOF( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXmlReader, 0x7279fc81, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30) +#endif +#else +typedef struct IXmlReaderVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXmlReader *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXmlReader *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXmlReader *This); + + /*** IXmlReader methods ***/ + HRESULT (STDMETHODCALLTYPE *SetInput)( + IXmlReader *This, + IUnknown *input); + + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IXmlReader *This, + UINT property, + LONG_PTR *value); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IXmlReader *This, + UINT property, + LONG_PTR value); + + HRESULT (STDMETHODCALLTYPE *Read)( + IXmlReader *This, + XmlNodeType *node_type); + + HRESULT (STDMETHODCALLTYPE *GetNodeType)( + IXmlReader *This, + XmlNodeType *node_type); + + HRESULT (STDMETHODCALLTYPE *MoveToFirstAttribute)( + IXmlReader *This); + + HRESULT (STDMETHODCALLTYPE *MoveToNextAttribute)( + IXmlReader *This); + + HRESULT (STDMETHODCALLTYPE *MoveToAttributeByName)( + IXmlReader *This, + LPCWSTR local_name, + LPCWSTR namespaceUri); + + HRESULT (STDMETHODCALLTYPE *MoveToElement)( + IXmlReader *This); + + HRESULT (STDMETHODCALLTYPE *GetQualifiedName)( + IXmlReader *This, + LPCWSTR *qualifiedName, + UINT *qualifiedName_length); + + HRESULT (STDMETHODCALLTYPE *GetNamespaceUri)( + IXmlReader *This, + LPCWSTR *namespaceUri, + UINT *nnamespaceUri_length); + + HRESULT (STDMETHODCALLTYPE *GetLocalName)( + IXmlReader *This, + LPCWSTR *local_name, + UINT *locale_name_length); + + HRESULT (STDMETHODCALLTYPE *GetPrefix)( + IXmlReader *This, + LPCWSTR *prefix, + UINT *prefix_length); + + HRESULT (STDMETHODCALLTYPE *GetValue)( + IXmlReader *This, + LPCWSTR *value, + UINT *value_length); + + HRESULT (STDMETHODCALLTYPE *ReadValueChunk)( + IXmlReader *This, + WCHAR *buffer, + UINT chunk_size, + UINT *read); + + HRESULT (STDMETHODCALLTYPE *GetBaseUri)( + IXmlReader *This, + LPCWSTR *baseUri, + UINT *baseUri_length); + + WINBOOL (STDMETHODCALLTYPE *IsDefault)( + IXmlReader *This); + + WINBOOL (STDMETHODCALLTYPE *IsEmptyElement)( + IXmlReader *This); + + HRESULT (STDMETHODCALLTYPE *GetLineNumber)( + IXmlReader *This, + UINT *lineNumber); + + HRESULT (STDMETHODCALLTYPE *GetLinePosition)( + IXmlReader *This, + UINT *linePosition); + + HRESULT (STDMETHODCALLTYPE *GetAttributeCount)( + IXmlReader *This, + UINT *attributeCount); + + HRESULT (STDMETHODCALLTYPE *GetDepth)( + IXmlReader *This, + UINT *depth); + + WINBOOL (STDMETHODCALLTYPE *IsEOF)( + IXmlReader *This); + + END_INTERFACE +} IXmlReaderVtbl; + +interface IXmlReader { + CONST_VTBL IXmlReaderVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXmlReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXmlReader_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXmlReader_Release(This) (This)->lpVtbl->Release(This) +/*** IXmlReader methods ***/ +#define IXmlReader_SetInput(This,input) (This)->lpVtbl->SetInput(This,input) +#define IXmlReader_GetProperty(This,property,value) (This)->lpVtbl->GetProperty(This,property,value) +#define IXmlReader_SetProperty(This,property,value) (This)->lpVtbl->SetProperty(This,property,value) +#define IXmlReader_Read(This,node_type) (This)->lpVtbl->Read(This,node_type) +#define IXmlReader_GetNodeType(This,node_type) (This)->lpVtbl->GetNodeType(This,node_type) +#define IXmlReader_MoveToFirstAttribute(This) (This)->lpVtbl->MoveToFirstAttribute(This) +#define IXmlReader_MoveToNextAttribute(This) (This)->lpVtbl->MoveToNextAttribute(This) +#define IXmlReader_MoveToAttributeByName(This,local_name,namespaceUri) (This)->lpVtbl->MoveToAttributeByName(This,local_name,namespaceUri) +#define IXmlReader_MoveToElement(This) (This)->lpVtbl->MoveToElement(This) +#define IXmlReader_GetQualifiedName(This,qualifiedName,qualifiedName_length) (This)->lpVtbl->GetQualifiedName(This,qualifiedName,qualifiedName_length) +#define IXmlReader_GetNamespaceUri(This,namespaceUri,nnamespaceUri_length) (This)->lpVtbl->GetNamespaceUri(This,namespaceUri,nnamespaceUri_length) +#define IXmlReader_GetLocalName(This,local_name,locale_name_length) (This)->lpVtbl->GetLocalName(This,local_name,locale_name_length) +#define IXmlReader_GetPrefix(This,prefix,prefix_length) (This)->lpVtbl->GetPrefix(This,prefix,prefix_length) +#define IXmlReader_GetValue(This,value,value_length) (This)->lpVtbl->GetValue(This,value,value_length) +#define IXmlReader_ReadValueChunk(This,buffer,chunk_size,read) (This)->lpVtbl->ReadValueChunk(This,buffer,chunk_size,read) +#define IXmlReader_GetBaseUri(This,baseUri,baseUri_length) (This)->lpVtbl->GetBaseUri(This,baseUri,baseUri_length) +#define IXmlReader_IsDefault(This) (This)->lpVtbl->IsDefault(This) +#define IXmlReader_IsEmptyElement(This) (This)->lpVtbl->IsEmptyElement(This) +#define IXmlReader_GetLineNumber(This,lineNumber) (This)->lpVtbl->GetLineNumber(This,lineNumber) +#define IXmlReader_GetLinePosition(This,linePosition) (This)->lpVtbl->GetLinePosition(This,linePosition) +#define IXmlReader_GetAttributeCount(This,attributeCount) (This)->lpVtbl->GetAttributeCount(This,attributeCount) +#define IXmlReader_GetDepth(This,depth) (This)->lpVtbl->GetDepth(This,depth) +#define IXmlReader_IsEOF(This) (This)->lpVtbl->IsEOF(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXmlReader_QueryInterface(IXmlReader* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXmlReader_AddRef(IXmlReader* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXmlReader_Release(IXmlReader* This) { + return This->lpVtbl->Release(This); +} +/*** IXmlReader methods ***/ +static inline HRESULT IXmlReader_SetInput(IXmlReader* This,IUnknown *input) { + return This->lpVtbl->SetInput(This,input); +} +static inline HRESULT IXmlReader_GetProperty(IXmlReader* This,UINT property,LONG_PTR *value) { + return This->lpVtbl->GetProperty(This,property,value); +} +static inline HRESULT IXmlReader_SetProperty(IXmlReader* This,UINT property,LONG_PTR value) { + return This->lpVtbl->SetProperty(This,property,value); +} +static inline HRESULT IXmlReader_Read(IXmlReader* This,XmlNodeType *node_type) { + return This->lpVtbl->Read(This,node_type); +} +static inline HRESULT IXmlReader_GetNodeType(IXmlReader* This,XmlNodeType *node_type) { + return This->lpVtbl->GetNodeType(This,node_type); +} +static inline HRESULT IXmlReader_MoveToFirstAttribute(IXmlReader* This) { + return This->lpVtbl->MoveToFirstAttribute(This); +} +static inline HRESULT IXmlReader_MoveToNextAttribute(IXmlReader* This) { + return This->lpVtbl->MoveToNextAttribute(This); +} +static inline HRESULT IXmlReader_MoveToAttributeByName(IXmlReader* This,LPCWSTR local_name,LPCWSTR namespaceUri) { + return This->lpVtbl->MoveToAttributeByName(This,local_name,namespaceUri); +} +static inline HRESULT IXmlReader_MoveToElement(IXmlReader* This) { + return This->lpVtbl->MoveToElement(This); +} +static inline HRESULT IXmlReader_GetQualifiedName(IXmlReader* This,LPCWSTR *qualifiedName,UINT *qualifiedName_length) { + return This->lpVtbl->GetQualifiedName(This,qualifiedName,qualifiedName_length); +} +static inline HRESULT IXmlReader_GetNamespaceUri(IXmlReader* This,LPCWSTR *namespaceUri,UINT *nnamespaceUri_length) { + return This->lpVtbl->GetNamespaceUri(This,namespaceUri,nnamespaceUri_length); +} +static inline HRESULT IXmlReader_GetLocalName(IXmlReader* This,LPCWSTR *local_name,UINT *locale_name_length) { + return This->lpVtbl->GetLocalName(This,local_name,locale_name_length); +} +static inline HRESULT IXmlReader_GetPrefix(IXmlReader* This,LPCWSTR *prefix,UINT *prefix_length) { + return This->lpVtbl->GetPrefix(This,prefix,prefix_length); +} +static inline HRESULT IXmlReader_GetValue(IXmlReader* This,LPCWSTR *value,UINT *value_length) { + return This->lpVtbl->GetValue(This,value,value_length); +} +static inline HRESULT IXmlReader_ReadValueChunk(IXmlReader* This,WCHAR *buffer,UINT chunk_size,UINT *read) { + return This->lpVtbl->ReadValueChunk(This,buffer,chunk_size,read); +} +static inline HRESULT IXmlReader_GetBaseUri(IXmlReader* This,LPCWSTR *baseUri,UINT *baseUri_length) { + return This->lpVtbl->GetBaseUri(This,baseUri,baseUri_length); +} +static inline WINBOOL IXmlReader_IsDefault(IXmlReader* This) { + return This->lpVtbl->IsDefault(This); +} +static inline WINBOOL IXmlReader_IsEmptyElement(IXmlReader* This) { + return This->lpVtbl->IsEmptyElement(This); +} +static inline HRESULT IXmlReader_GetLineNumber(IXmlReader* This,UINT *lineNumber) { + return This->lpVtbl->GetLineNumber(This,lineNumber); +} +static inline HRESULT IXmlReader_GetLinePosition(IXmlReader* This,UINT *linePosition) { + return This->lpVtbl->GetLinePosition(This,linePosition); +} +static inline HRESULT IXmlReader_GetAttributeCount(IXmlReader* This,UINT *attributeCount) { + return This->lpVtbl->GetAttributeCount(This,attributeCount); +} +static inline HRESULT IXmlReader_GetDepth(IXmlReader* This,UINT *depth) { + return This->lpVtbl->GetDepth(This,depth); +} +static inline WINBOOL IXmlReader_IsEOF(IXmlReader* This) { + return This->lpVtbl->IsEOF(This); +} +#endif +#endif + +#endif + + +#endif /* __IXmlReader_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXmlResolver interface + */ +#ifndef __IXmlResolver_INTERFACE_DEFINED__ +#define __IXmlResolver_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXmlResolver, 0x7279fc82, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7279fc82-709d-4095-b63d-69fe4b0d9030") +IXmlResolver : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ResolveUri( + LPCWSTR base_uri, + LPCWSTR public_id, + LPCWSTR system_id, + IUnknown **input) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXmlResolver, 0x7279fc82, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30) +#endif +#else +typedef struct IXmlResolverVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXmlResolver *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXmlResolver *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXmlResolver *This); + + /*** IXmlResolver methods ***/ + HRESULT (STDMETHODCALLTYPE *ResolveUri)( + IXmlResolver *This, + LPCWSTR base_uri, + LPCWSTR public_id, + LPCWSTR system_id, + IUnknown **input); + + END_INTERFACE +} IXmlResolverVtbl; + +interface IXmlResolver { + CONST_VTBL IXmlResolverVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXmlResolver_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXmlResolver_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXmlResolver_Release(This) (This)->lpVtbl->Release(This) +/*** IXmlResolver methods ***/ +#define IXmlResolver_ResolveUri(This,base_uri,public_id,system_id,input) (This)->lpVtbl->ResolveUri(This,base_uri,public_id,system_id,input) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXmlResolver_QueryInterface(IXmlResolver* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXmlResolver_AddRef(IXmlResolver* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXmlResolver_Release(IXmlResolver* This) { + return This->lpVtbl->Release(This); +} +/*** IXmlResolver methods ***/ +static inline HRESULT IXmlResolver_ResolveUri(IXmlResolver* This,LPCWSTR base_uri,LPCWSTR public_id,LPCWSTR system_id,IUnknown **input) { + return This->lpVtbl->ResolveUri(This,base_uri,public_id,system_id,input); +} +#endif +#endif + +#endif + + +#endif /* __IXmlResolver_INTERFACE_DEFINED__ */ + +typedef enum XmlReadState { + XmlReadState_Initial = 0, + XmlReadState_Interactive = 1, + XmlReadState_Error = 2, + XmlReadState_EndOfFile = 3, + XmlReadState_Closed = 4 +} XmlReadState; +typedef enum XmlConformanceLevel { + XmlConformanceLevel_Auto = 0, + XmlConformanceLevel_Fragment = 1, + XmlConformanceLevel_Document = 2, + _XmlConformanceLevel_Last = XmlConformanceLevel_Document +} XmlConformanceLevel; +typedef enum DtdProcessing { + DtdProcessing_Prohibit = 0, + DtdProcessing_Parse = 1, + _DtdProcessing_Last = DtdProcessing_Parse +} DtdProcessing; +typedef enum XmlReaderProperty { + XmlReaderProperty_MultiLanguage = 0, + XmlReaderProperty_ConformanceLevel = 1, + XmlReaderProperty_RandomAccess = 2, + XmlReaderProperty_XmlResolver = 3, + XmlReaderProperty_DtdProcessing = 4, + XmlReaderProperty_ReadState = 5, + XmlReaderProperty_MaxElementDepth = 6, + XmlReaderProperty_MaxEntityExpansion = 7, + _XmlReaderProperty_Last = XmlReaderProperty_MaxEntityExpansion +} XmlReaderProperty; +typedef enum XmlError { + MX_E_MX = 0xc00cee00, + MX_E_INPUTEND = 0xc00cee01, + MX_E_ENCODING = 0xc00cee02, + MX_E_ENCODINGSWITCH = 0xc00cee03, + MX_E_ENCODINGSIGNATURE = 0xc00cee04, + WC_E_WC = 0xc00cee20, + WC_E_WHITESPACE = 0xc00cee21, + WC_E_SEMICOLON = 0xc00cee22, + WC_E_GREATERTHAN = 0xc00cee23, + WC_E_QUOTE = 0xc00cee24, + WC_E_EQUAL = 0xc00cee25, + WC_E_LESSTHAN = 0xc00cee26, + WC_E_HEXDIGIT = 0xc00cee27, + WC_E_DIGIT = 0xc00cee28, + WC_E_LEFTBRACKET = 0xc00cee29, + WC_E_LEFTPAREN = 0xc00cee2a, + WC_E_XMLCHARACTER = 0xc00cee2b, + WC_E_NAMECHARACTER = 0xc00cee2c, + WC_E_SYNTAX = 0xc00cee2d, + WC_E_CDSECT = 0xc00cee2e, + WC_E_COMMENT = 0xc00cee2f, + WC_E_CONDSECT = 0xc00cee30, + WC_E_DECLATTLIST = 0xc00cee31, + WC_E_DECLDOCTYPE = 0xc00cee32, + WC_E_DECLELEMENT = 0xc00cee33, + WC_E_DECLENTITY = 0xc00cee34, + WC_E_DECLNOTATION = 0xc00cee35, + WC_E_NDATA = 0xc00cee36, + WC_E_PUBLIC = 0xc00cee37, + WC_E_SYSTEM = 0xc00cee38, + WC_E_NAME = 0xc00cee39, + WC_E_ROOTELEMENT = 0xc00cee3a, + WC_E_ELEMENTMATCH = 0xc00cee3b, + WC_E_UNIQUEATTRIBUTE = 0xc00cee3c, + WC_E_TEXTXMLDECL = 0xc00cee3d, + WC_E_LEADINGXML = 0xc00cee3e, + WC_E_TEXTDECL = 0xc00cee3f, + WC_E_XMLDECL = 0xc00cee40, + WC_E_ENCNAME = 0xc00cee41, + WC_E_PUBLICID = 0xc00cee42, + WC_E_PESINTERNALSUBSET = 0xc00cee43, + WC_E_PESBETWEENDECLS = 0xc00cee44, + WC_E_NORECURSION = 0xc00cee45, + WC_E_ENTITYCONTENT = 0xc00cee46, + WC_E_UNDECLAREDENTITY = 0xc00cee47, + WC_E_PARSEDENTITY = 0xc00cee48, + WC_E_NOEXTERNALENTITYREF = 0xc00cee49, + WC_E_PI = 0xc00cee4a, + WC_E_SYSTEMID = 0xc00cee4b, + WC_E_QUESTIONMARK = 0xc00cee4c, + WC_E_CDSECTEND = 0xc00cee4d, + WC_E_MOREDATA = 0xc00cee4e, + WC_E_DTDPROHIBITED = 0xc00cee4f, + WC_E_INVALIDXMLSPACE = 0xc00cee50, + NC_E_NC = 0xc00cee60, + NC_E_QNAMECHARACTER = 0xc00cee61, + NC_E_QNAMECOLON = 0xc00cee62, + NC_E_NAMECOLON = 0xc00cee63, + NC_E_DECLAREDPREFIX = 0xc00cee64, + NC_E_UNDECLAREDPREFIX = 0xc00cee65, + NC_E_EMPTYURI = 0xc00cee66, + NC_E_XMLPREFIXRESERVED = 0xc00cee67, + NC_E_XMLNSPREFIXRESERVED = 0xc00cee68, + NC_E_XMLURIRESERVED = 0xc00cee69, + NC_E_XMLNSURIRESERVED = 0xc00cee6a, + SC_E_SC = 0xc00cee80, + SC_E_MAXELEMENTDEPTH = 0xc00cee81, + SC_E_MAXENTITYEXPANSION = 0xc00cee82, + WR_E_WR = 0xc00cef00, + WR_E_NONWHITESPACE = 0xc00cef01, + WR_E_NSPREFIXDECLARED = 0xc00cef02, + WR_E_NSPREFIXWITHEMPTYNSURI = 0xc00cef03, + WR_E_DUPLICATEATTRIBUTE = 0xc00cef04, + WR_E_XMLNSPREFIXDECLARATION = 0xc00cef05, + WR_E_XMLPREFIXDECLARATION = 0xc00cef06, + WR_E_XMLURIDECLARATION = 0xc00cef07, + WR_E_XMLNSURIDECLARATION = 0xc00cef08, + WR_E_NAMESPACEUNDECLARED = 0xc00cef09, + WR_E_INVALIDXMLSPACE = 0xc00cef0a, + WR_E_INVALIDACTION = 0xc00cef0b, + WR_E_INVALIDSURROGATEPAIR = 0xc00cef0c, + XML_E_INVALID_DECIMAL = 0xc00ce01d, + XML_E_INVALID_HEXIDECIMAL = 0xc00ce01e, + XML_E_INVALID_UNICODE = 0xc00ce01f, + XML_E_INVALIDENCODING = 0xc00ce06e +} XmlError; +STDAPI CreateXmlReader(REFIID riid, void **ppvObject, IMalloc *pMalloc); +typedef IUnknown IXmlReaderInput; +STDAPI CreateXmlReaderInputWithEncodingCodePage(IUnknown *stream, IMalloc *pMalloc, + UINT encoding_codepage, WINBOOL hint, const WCHAR *base_uri, IXmlReaderInput **pInput); +STDAPI CreateXmlReaderInputWithEncodingName(IUnknown *stream, IMalloc *pMalloc, + LPCWSTR encoding, WINBOOL hint, + LPCWSTR base_uri, IXmlReaderInput **ppInput); +typedef enum XmlStandalone { + XmlStandalone_Omit = 0, + XmlStandalone_Yes = 1, + XmlStandalone_No = 2, + _XmlStandalone_Last = XmlStandalone_No +} XmlStandalone; +typedef enum XmlWriterProperty { + XmlWriterProperty_MultiLanguage = 0, + XmlWriterProperty_Indent = 1, + XmlWriterProperty_ByteOrderMark = 2, + XmlWriterProperty_OmitXmlDeclaration = 3, + XmlWriterProperty_ConformanceLevel = 4, + _XmlWriterProperty_Last = XmlWriterProperty_OmitXmlDeclaration +} XmlWriterProperty; +/***************************************************************************** + * IXmlWriter interface + */ +#ifndef __IXmlWriter_INTERFACE_DEFINED__ +#define __IXmlWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXmlWriter, 0x7279fc88, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7279fc88-709d-4095-b63d-69fe4b0d9030") +IXmlWriter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE SetOutput( + IUnknown *pOutput) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProperty( + UINT nProperty, + LONG_PTR *ppValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProperty( + UINT nProperty, + LONG_PTR pValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteAttributes( + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteAttributeString( + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri, + LPCWSTR pwszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteCData( + LPCWSTR pwszText) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteCharEntity( + WCHAR wch) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteChars( + const WCHAR *pwch, + UINT cwch) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteComment( + LPCWSTR pwszComment) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteDocType( + LPCWSTR pwszName, + LPCWSTR pwszPublicId, + LPCWSTR pwszSystemId, + LPCWSTR pwszSubset) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteElementString( + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri, + LPCWSTR pwszValue) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteEndDocument( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteEndElement( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteEntityRef( + LPCWSTR pwszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteFullEndElement( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteName( + LPCWSTR pwszName) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteNmToken( + LPCWSTR pwszNmToken) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteNode( + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteNodeShallow( + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteProcessingInstruction( + LPCWSTR pwszName, + LPCWSTR pwszText) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteQualifiedName( + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteRaw( + LPCWSTR pwszData) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteRawChars( + const WCHAR *pwch, + UINT cwch) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteStartDocument( + XmlStandalone standalone) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteStartElement( + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteString( + LPCWSTR pwszText) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteSurrogateCharEntity( + WCHAR wchLow, + WCHAR wchHigh) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteWhitespace( + LPCWSTR pwszWhitespace) = 0; + + virtual HRESULT STDMETHODCALLTYPE Flush( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXmlWriter, 0x7279fc88, 0x709d, 0x4095, 0xb6,0x3d, 0x69,0xfe,0x4b,0x0d,0x90,0x30) +#endif +#else +typedef struct IXmlWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXmlWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXmlWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXmlWriter *This); + + /*** IXmlWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *SetOutput)( + IXmlWriter *This, + IUnknown *pOutput); + + HRESULT (STDMETHODCALLTYPE *GetProperty)( + IXmlWriter *This, + UINT nProperty, + LONG_PTR *ppValue); + + HRESULT (STDMETHODCALLTYPE *SetProperty)( + IXmlWriter *This, + UINT nProperty, + LONG_PTR pValue); + + HRESULT (STDMETHODCALLTYPE *WriteAttributes)( + IXmlWriter *This, + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes); + + HRESULT (STDMETHODCALLTYPE *WriteAttributeString)( + IXmlWriter *This, + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri, + LPCWSTR pwszValue); + + HRESULT (STDMETHODCALLTYPE *WriteCData)( + IXmlWriter *This, + LPCWSTR pwszText); + + HRESULT (STDMETHODCALLTYPE *WriteCharEntity)( + IXmlWriter *This, + WCHAR wch); + + HRESULT (STDMETHODCALLTYPE *WriteChars)( + IXmlWriter *This, + const WCHAR *pwch, + UINT cwch); + + HRESULT (STDMETHODCALLTYPE *WriteComment)( + IXmlWriter *This, + LPCWSTR pwszComment); + + HRESULT (STDMETHODCALLTYPE *WriteDocType)( + IXmlWriter *This, + LPCWSTR pwszName, + LPCWSTR pwszPublicId, + LPCWSTR pwszSystemId, + LPCWSTR pwszSubset); + + HRESULT (STDMETHODCALLTYPE *WriteElementString)( + IXmlWriter *This, + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri, + LPCWSTR pwszValue); + + HRESULT (STDMETHODCALLTYPE *WriteEndDocument)( + IXmlWriter *This); + + HRESULT (STDMETHODCALLTYPE *WriteEndElement)( + IXmlWriter *This); + + HRESULT (STDMETHODCALLTYPE *WriteEntityRef)( + IXmlWriter *This, + LPCWSTR pwszName); + + HRESULT (STDMETHODCALLTYPE *WriteFullEndElement)( + IXmlWriter *This); + + HRESULT (STDMETHODCALLTYPE *WriteName)( + IXmlWriter *This, + LPCWSTR pwszName); + + HRESULT (STDMETHODCALLTYPE *WriteNmToken)( + IXmlWriter *This, + LPCWSTR pwszNmToken); + + HRESULT (STDMETHODCALLTYPE *WriteNode)( + IXmlWriter *This, + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes); + + HRESULT (STDMETHODCALLTYPE *WriteNodeShallow)( + IXmlWriter *This, + IXmlReader *pReader, + WINBOOL fWriteDefaultAttributes); + + HRESULT (STDMETHODCALLTYPE *WriteProcessingInstruction)( + IXmlWriter *This, + LPCWSTR pwszName, + LPCWSTR pwszText); + + HRESULT (STDMETHODCALLTYPE *WriteQualifiedName)( + IXmlWriter *This, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri); + + HRESULT (STDMETHODCALLTYPE *WriteRaw)( + IXmlWriter *This, + LPCWSTR pwszData); + + HRESULT (STDMETHODCALLTYPE *WriteRawChars)( + IXmlWriter *This, + const WCHAR *pwch, + UINT cwch); + + HRESULT (STDMETHODCALLTYPE *WriteStartDocument)( + IXmlWriter *This, + XmlStandalone standalone); + + HRESULT (STDMETHODCALLTYPE *WriteStartElement)( + IXmlWriter *This, + LPCWSTR pwszPrefix, + LPCWSTR pwszLocalName, + LPCWSTR pwszNamespaceUri); + + HRESULT (STDMETHODCALLTYPE *WriteString)( + IXmlWriter *This, + LPCWSTR pwszText); + + HRESULT (STDMETHODCALLTYPE *WriteSurrogateCharEntity)( + IXmlWriter *This, + WCHAR wchLow, + WCHAR wchHigh); + + HRESULT (STDMETHODCALLTYPE *WriteWhitespace)( + IXmlWriter *This, + LPCWSTR pwszWhitespace); + + HRESULT (STDMETHODCALLTYPE *Flush)( + IXmlWriter *This); + + END_INTERFACE +} IXmlWriterVtbl; + +interface IXmlWriter { + CONST_VTBL IXmlWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXmlWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXmlWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXmlWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IXmlWriter methods ***/ +#define IXmlWriter_SetOutput(This,pOutput) (This)->lpVtbl->SetOutput(This,pOutput) +#define IXmlWriter_GetProperty(This,nProperty,ppValue) (This)->lpVtbl->GetProperty(This,nProperty,ppValue) +#define IXmlWriter_SetProperty(This,nProperty,pValue) (This)->lpVtbl->SetProperty(This,nProperty,pValue) +#define IXmlWriter_WriteAttributes(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteAttributes(This,pReader,fWriteDefaultAttributes) +#define IXmlWriter_WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) (This)->lpVtbl->WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) +#define IXmlWriter_WriteCData(This,pwszText) (This)->lpVtbl->WriteCData(This,pwszText) +#define IXmlWriter_WriteCharEntity(This,wch) (This)->lpVtbl->WriteCharEntity(This,wch) +#define IXmlWriter_WriteChars(This,pwch,cwch) (This)->lpVtbl->WriteChars(This,pwch,cwch) +#define IXmlWriter_WriteComment(This,pwszComment) (This)->lpVtbl->WriteComment(This,pwszComment) +#define IXmlWriter_WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset) (This)->lpVtbl->WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset) +#define IXmlWriter_WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) (This)->lpVtbl->WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue) +#define IXmlWriter_WriteEndDocument(This) (This)->lpVtbl->WriteEndDocument(This) +#define IXmlWriter_WriteEndElement(This) (This)->lpVtbl->WriteEndElement(This) +#define IXmlWriter_WriteEntityRef(This,pwszName) (This)->lpVtbl->WriteEntityRef(This,pwszName) +#define IXmlWriter_WriteFullEndElement(This) (This)->lpVtbl->WriteFullEndElement(This) +#define IXmlWriter_WriteName(This,pwszName) (This)->lpVtbl->WriteName(This,pwszName) +#define IXmlWriter_WriteNmToken(This,pwszNmToken) (This)->lpVtbl->WriteNmToken(This,pwszNmToken) +#define IXmlWriter_WriteNode(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteNode(This,pReader,fWriteDefaultAttributes) +#define IXmlWriter_WriteNodeShallow(This,pReader,fWriteDefaultAttributes) (This)->lpVtbl->WriteNodeShallow(This,pReader,fWriteDefaultAttributes) +#define IXmlWriter_WriteProcessingInstruction(This,pwszName,pwszText) (This)->lpVtbl->WriteProcessingInstruction(This,pwszName,pwszText) +#define IXmlWriter_WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri) (This)->lpVtbl->WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri) +#define IXmlWriter_WriteRaw(This,pwszData) (This)->lpVtbl->WriteRaw(This,pwszData) +#define IXmlWriter_WriteRawChars(This,pwch,cwch) (This)->lpVtbl->WriteRawChars(This,pwch,cwch) +#define IXmlWriter_WriteStartDocument(This,standalone) (This)->lpVtbl->WriteStartDocument(This,standalone) +#define IXmlWriter_WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri) (This)->lpVtbl->WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri) +#define IXmlWriter_WriteString(This,pwszText) (This)->lpVtbl->WriteString(This,pwszText) +#define IXmlWriter_WriteSurrogateCharEntity(This,wchLow,wchHigh) (This)->lpVtbl->WriteSurrogateCharEntity(This,wchLow,wchHigh) +#define IXmlWriter_WriteWhitespace(This,pwszWhitespace) (This)->lpVtbl->WriteWhitespace(This,pwszWhitespace) +#define IXmlWriter_Flush(This) (This)->lpVtbl->Flush(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXmlWriter_QueryInterface(IXmlWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXmlWriter_AddRef(IXmlWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXmlWriter_Release(IXmlWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IXmlWriter methods ***/ +static inline HRESULT IXmlWriter_SetOutput(IXmlWriter* This,IUnknown *pOutput) { + return This->lpVtbl->SetOutput(This,pOutput); +} +static inline HRESULT IXmlWriter_GetProperty(IXmlWriter* This,UINT nProperty,LONG_PTR *ppValue) { + return This->lpVtbl->GetProperty(This,nProperty,ppValue); +} +static inline HRESULT IXmlWriter_SetProperty(IXmlWriter* This,UINT nProperty,LONG_PTR pValue) { + return This->lpVtbl->SetProperty(This,nProperty,pValue); +} +static inline HRESULT IXmlWriter_WriteAttributes(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) { + return This->lpVtbl->WriteAttributes(This,pReader,fWriteDefaultAttributes); +} +static inline HRESULT IXmlWriter_WriteAttributeString(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri,LPCWSTR pwszValue) { + return This->lpVtbl->WriteAttributeString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue); +} +static inline HRESULT IXmlWriter_WriteCData(IXmlWriter* This,LPCWSTR pwszText) { + return This->lpVtbl->WriteCData(This,pwszText); +} +static inline HRESULT IXmlWriter_WriteCharEntity(IXmlWriter* This,WCHAR wch) { + return This->lpVtbl->WriteCharEntity(This,wch); +} +static inline HRESULT IXmlWriter_WriteChars(IXmlWriter* This,const WCHAR *pwch,UINT cwch) { + return This->lpVtbl->WriteChars(This,pwch,cwch); +} +static inline HRESULT IXmlWriter_WriteComment(IXmlWriter* This,LPCWSTR pwszComment) { + return This->lpVtbl->WriteComment(This,pwszComment); +} +static inline HRESULT IXmlWriter_WriteDocType(IXmlWriter* This,LPCWSTR pwszName,LPCWSTR pwszPublicId,LPCWSTR pwszSystemId,LPCWSTR pwszSubset) { + return This->lpVtbl->WriteDocType(This,pwszName,pwszPublicId,pwszSystemId,pwszSubset); +} +static inline HRESULT IXmlWriter_WriteElementString(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri,LPCWSTR pwszValue) { + return This->lpVtbl->WriteElementString(This,pwszPrefix,pwszLocalName,pwszNamespaceUri,pwszValue); +} +static inline HRESULT IXmlWriter_WriteEndDocument(IXmlWriter* This) { + return This->lpVtbl->WriteEndDocument(This); +} +static inline HRESULT IXmlWriter_WriteEndElement(IXmlWriter* This) { + return This->lpVtbl->WriteEndElement(This); +} +static inline HRESULT IXmlWriter_WriteEntityRef(IXmlWriter* This,LPCWSTR pwszName) { + return This->lpVtbl->WriteEntityRef(This,pwszName); +} +static inline HRESULT IXmlWriter_WriteFullEndElement(IXmlWriter* This) { + return This->lpVtbl->WriteFullEndElement(This); +} +static inline HRESULT IXmlWriter_WriteName(IXmlWriter* This,LPCWSTR pwszName) { + return This->lpVtbl->WriteName(This,pwszName); +} +static inline HRESULT IXmlWriter_WriteNmToken(IXmlWriter* This,LPCWSTR pwszNmToken) { + return This->lpVtbl->WriteNmToken(This,pwszNmToken); +} +static inline HRESULT IXmlWriter_WriteNode(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) { + return This->lpVtbl->WriteNode(This,pReader,fWriteDefaultAttributes); +} +static inline HRESULT IXmlWriter_WriteNodeShallow(IXmlWriter* This,IXmlReader *pReader,WINBOOL fWriteDefaultAttributes) { + return This->lpVtbl->WriteNodeShallow(This,pReader,fWriteDefaultAttributes); +} +static inline HRESULT IXmlWriter_WriteProcessingInstruction(IXmlWriter* This,LPCWSTR pwszName,LPCWSTR pwszText) { + return This->lpVtbl->WriteProcessingInstruction(This,pwszName,pwszText); +} +static inline HRESULT IXmlWriter_WriteQualifiedName(IXmlWriter* This,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri) { + return This->lpVtbl->WriteQualifiedName(This,pwszLocalName,pwszNamespaceUri); +} +static inline HRESULT IXmlWriter_WriteRaw(IXmlWriter* This,LPCWSTR pwszData) { + return This->lpVtbl->WriteRaw(This,pwszData); +} +static inline HRESULT IXmlWriter_WriteRawChars(IXmlWriter* This,const WCHAR *pwch,UINT cwch) { + return This->lpVtbl->WriteRawChars(This,pwch,cwch); +} +static inline HRESULT IXmlWriter_WriteStartDocument(IXmlWriter* This,XmlStandalone standalone) { + return This->lpVtbl->WriteStartDocument(This,standalone); +} +static inline HRESULT IXmlWriter_WriteStartElement(IXmlWriter* This,LPCWSTR pwszPrefix,LPCWSTR pwszLocalName,LPCWSTR pwszNamespaceUri) { + return This->lpVtbl->WriteStartElement(This,pwszPrefix,pwszLocalName,pwszNamespaceUri); +} +static inline HRESULT IXmlWriter_WriteString(IXmlWriter* This,LPCWSTR pwszText) { + return This->lpVtbl->WriteString(This,pwszText); +} +static inline HRESULT IXmlWriter_WriteSurrogateCharEntity(IXmlWriter* This,WCHAR wchLow,WCHAR wchHigh) { + return This->lpVtbl->WriteSurrogateCharEntity(This,wchLow,wchHigh); +} +static inline HRESULT IXmlWriter_WriteWhitespace(IXmlWriter* This,LPCWSTR pwszWhitespace) { + return This->lpVtbl->WriteWhitespace(This,pwszWhitespace); +} +static inline HRESULT IXmlWriter_Flush(IXmlWriter* This) { + return This->lpVtbl->Flush(This); +} +#endif +#endif + +#endif + + +#endif /* __IXmlWriter_INTERFACE_DEFINED__ */ + +STDAPI CreateXmlWriter(REFIID riid, void **ppvObject, IMalloc *pMalloc); +typedef IUnknown IXmlWriterOutput; +STDAPI CreateXmlWriterOutputWithEncodingName(IUnknown *stream, IMalloc *pMalloc, + LPCWSTR encoding, IXmlWriterOutput **output); +STDAPI CreateXmlWriterOutputWithEncodingCodePage(IUnknown *stream, IMalloc *pMalloc, + UINT codepage, IXmlWriterOutput **output); +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xmllite_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmltrnsf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmltrnsf.h new file mode 100644 index 00000000..a13459f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xmltrnsf.h @@ -0,0 +1,321 @@ +/** + * 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 __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include "rpc.h" +#include "rpcndr.h" + +#ifndef __RPCNDR_H_VERSION__ +#error This stub requires an updated version of +#endif + +#ifndef COM_NO_WINDOWS_H +#include "windows.h" +#include "ole2.h" +#endif + +#ifndef __xmltrnsf_h__ +#define __xmltrnsf_h__ + +#ifndef __IWmiXMLTransformer_FWD_DEFINED__ +#define __IWmiXMLTransformer_FWD_DEFINED__ +typedef struct IWmiXMLTransformer IWmiXMLTransformer; +#endif + +#ifndef __WmiXMLTransformer_FWD_DEFINED__ +#define __WmiXMLTransformer_FWD_DEFINED__ +#ifdef __cplusplus +typedef class WmiXMLTransformer WmiXMLTransformer; +#else +typedef struct WmiXMLTransformer WmiXMLTransformer; +#endif +#endif + +#ifndef __ISWbemXMLDocumentSet_FWD_DEFINED__ +#define __ISWbemXMLDocumentSet_FWD_DEFINED__ +typedef struct ISWbemXMLDocumentSet ISWbemXMLDocumentSet; +#endif + +#ifndef __IWmiXMLTransformer_FWD_DEFINED__ +#define __IWmiXMLTransformer_FWD_DEFINED__ +typedef struct IWmiXMLTransformer IWmiXMLTransformer; +#endif + +#include "msxml.h" +#include "wbemdisp.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __MIDL_user_allocate_free_DEFINED__ +#define__MIDL_user_allocate_free_DEFINED__ + void *__RPC_API MIDL_user_allocate(size_t); + void __RPC_API MIDL_user_free(void *); +#endif + +#ifndef __WmiXMLTransformer_LIBRARY_DEFINED__ +#define __WmiXMLTransformer_LIBRARY_DEFINED__ + + typedef enum WmiXMLEncoding { + wmiXML_CIM_DTD_2_0 = 0,wmiXML_WMI_DTD_2_0 = 0x1,wmiXML_WMI_DTD_WHISTLER = 0x2 + } WmiXMLEncoding; + + typedef enum WmiXMLCompilationTypeEnum { + WmiXMLCompilationWellFormCheck = 0,WmiXMLCompilationValidityCheck = 0x1,WmiXMLCompilationFullCompileAndLoad = 0x2 + } WmiXMLCompilationTypeEnum; + + EXTERN_C const IID LIBID_WmiXMLTransformer; +#ifndef __IWmiXMLTransformer_INTERFACE_DEFINED__ +#define __IWmiXMLTransformer_INTERFACE_DEFINED__ + EXTERN_C const IID IID_IWmiXMLTransformer; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct IWmiXMLTransformer : public IDispatch { + public: + virtual HRESULT WINAPI get_XMLEncodingType(WmiXMLEncoding *piEncoding) = 0; + virtual HRESULT WINAPI put_XMLEncodingType(WmiXMLEncoding iEncoding) = 0; + virtual HRESULT WINAPI get_QualifierFilter(VARIANT_BOOL *bQualifierFilter) = 0; + virtual HRESULT WINAPI put_QualifierFilter(VARIANT_BOOL bQualifierFilter) = 0; + virtual HRESULT WINAPI get_ClassOriginFilter(VARIANT_BOOL *bClassOriginFilter) = 0; + virtual HRESULT WINAPI put_ClassOriginFilter(VARIANT_BOOL bClassOriginFilter) = 0; + virtual HRESULT WINAPI get_User(BSTR *strUser) = 0; + virtual HRESULT WINAPI put_User(BSTR strUser) = 0; + virtual HRESULT WINAPI get_Password(BSTR *strPassword) = 0; + virtual HRESULT WINAPI put_Password(BSTR strPassword) = 0; + virtual HRESULT WINAPI get_Authority(BSTR *strAuthority) = 0; + virtual HRESULT WINAPI put_Authority(BSTR strAuthority) = 0; + virtual HRESULT WINAPI get_ImpersonationLevel(DWORD *pdwImpersonationLevel) = 0; + virtual HRESULT WINAPI put_ImpersonationLevel(DWORD dwImpersonationLevel) = 0; + virtual HRESULT WINAPI get_AuthenticationLevel(DWORD *pdwAuthenticationLevel) = 0; + virtual HRESULT WINAPI put_AuthenticationLevel(DWORD dwAuthenticationLevel) = 0; + virtual HRESULT WINAPI get_Locale(BSTR *strLocale) = 0; + virtual HRESULT WINAPI put_Locale(BSTR strLocale) = 0; + virtual HRESULT WINAPI get_LocalOnly(VARIANT_BOOL *bLocalOnly) = 0; + virtual HRESULT WINAPI put_LocalOnly(VARIANT_BOOL bLocalOnly) = 0; + virtual HRESULT WINAPI GetObject(BSTR strObjectPath,IDispatch *pCtx,IXMLDOMDocument **ppXMLDocument) = 0; + virtual HRESULT WINAPI ExecQuery(BSTR strNamespacePath,BSTR strQuery,BSTR strQueryLanguage,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet) = 0; + virtual HRESULT WINAPI EnumClasses(BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet) = 0; + virtual HRESULT WINAPI EnumInstances(BSTR strClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet) = 0; + virtual HRESULT WINAPI EnumClassNames(BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet) = 0; + virtual HRESULT WINAPI EnumInstanceNames(BSTR strClassPath,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet) = 0; + virtual HRESULT WINAPI Compile(VARIANT *pvInputSource,BSTR strNamespacePath,LONG lClassFlags,LONG lInstanceFlags,WmiXMLCompilationTypeEnum iOperation,IDispatch *pCtx,VARIANT_BOOL *pStatus) = 0; + virtual HRESULT WINAPI get_Privileges(ISWbemPrivilegeSet **objWbemPrivilegeSet) = 0; + virtual HRESULT WINAPI get_CompilationErrors(BSTR *pstrErrors) = 0; + }; +#else + typedef struct IWmiXMLTransformerVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(IWmiXMLTransformer *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(IWmiXMLTransformer *This); + ULONG (WINAPI *Release)(IWmiXMLTransformer *This); + HRESULT (WINAPI *GetTypeInfoCount)(IWmiXMLTransformer *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(IWmiXMLTransformer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(IWmiXMLTransformer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(IWmiXMLTransformer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get_XMLEncodingType)(IWmiXMLTransformer *This,WmiXMLEncoding *piEncoding); + HRESULT (WINAPI *put_XMLEncodingType)(IWmiXMLTransformer *This,WmiXMLEncoding iEncoding); + HRESULT (WINAPI *get_QualifierFilter)(IWmiXMLTransformer *This,VARIANT_BOOL *bQualifierFilter); + HRESULT (WINAPI *put_QualifierFilter)(IWmiXMLTransformer *This,VARIANT_BOOL bQualifierFilter); + HRESULT (WINAPI *get_ClassOriginFilter)(IWmiXMLTransformer *This,VARIANT_BOOL *bClassOriginFilter); + HRESULT (WINAPI *put_ClassOriginFilter)(IWmiXMLTransformer *This,VARIANT_BOOL bClassOriginFilter); + HRESULT (WINAPI *get_User)(IWmiXMLTransformer *This,BSTR *strUser); + HRESULT (WINAPI *put_User)(IWmiXMLTransformer *This,BSTR strUser); + HRESULT (WINAPI *get_Password)(IWmiXMLTransformer *This,BSTR *strPassword); + HRESULT (WINAPI *put_Password)(IWmiXMLTransformer *This,BSTR strPassword); + HRESULT (WINAPI *get_Authority)(IWmiXMLTransformer *This,BSTR *strAuthority); + HRESULT (WINAPI *put_Authority)(IWmiXMLTransformer *This,BSTR strAuthority); + HRESULT (WINAPI *get_ImpersonationLevel)(IWmiXMLTransformer *This,DWORD *pdwImpersonationLevel); + HRESULT (WINAPI *put_ImpersonationLevel)(IWmiXMLTransformer *This,DWORD dwImpersonationLevel); + HRESULT (WINAPI *get_AuthenticationLevel)(IWmiXMLTransformer *This,DWORD *pdwAuthenticationLevel); + HRESULT (WINAPI *put_AuthenticationLevel)(IWmiXMLTransformer *This,DWORD dwAuthenticationLevel); + HRESULT (WINAPI *get_Locale)(IWmiXMLTransformer *This,BSTR *strLocale); + HRESULT (WINAPI *put_Locale)(IWmiXMLTransformer *This,BSTR strLocale); + HRESULT (WINAPI *get_LocalOnly)(IWmiXMLTransformer *This,VARIANT_BOOL *bLocalOnly); + HRESULT (WINAPI *put_LocalOnly)(IWmiXMLTransformer *This,VARIANT_BOOL bLocalOnly); + HRESULT (WINAPI *GetObject)(IWmiXMLTransformer *This,BSTR strObjectPath,IDispatch *pCtx,IXMLDOMDocument **ppXMLDocument); + HRESULT (WINAPI *ExecQuery)(IWmiXMLTransformer *This,BSTR strNamespacePath,BSTR strQuery,BSTR strQueryLanguage,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + HRESULT (WINAPI *EnumClasses)(IWmiXMLTransformer *This,BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + HRESULT (WINAPI *EnumInstances)(IWmiXMLTransformer *This,BSTR strClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + HRESULT (WINAPI *EnumClassNames)(IWmiXMLTransformer *This,BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + HRESULT (WINAPI *EnumInstanceNames)(IWmiXMLTransformer *This,BSTR strClassPath,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + HRESULT (WINAPI *Compile)(IWmiXMLTransformer *This,VARIANT *pvInputSource,BSTR strNamespacePath,LONG lClassFlags,LONG lInstanceFlags,WmiXMLCompilationTypeEnum iOperation,IDispatch *pCtx,VARIANT_BOOL *pStatus); + HRESULT (WINAPI *get_Privileges)(IWmiXMLTransformer *This,ISWbemPrivilegeSet **objWbemPrivilegeSet); + HRESULT (WINAPI *get_CompilationErrors)(IWmiXMLTransformer *This,BSTR *pstrErrors); + END_INTERFACE + } IWmiXMLTransformerVtbl; + struct IWmiXMLTransformer { + CONST_VTBL struct IWmiXMLTransformerVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define IWmiXMLTransformer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IWmiXMLTransformer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IWmiXMLTransformer_Release(This) (This)->lpVtbl->Release(This) +#define IWmiXMLTransformer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define IWmiXMLTransformer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define IWmiXMLTransformer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define IWmiXMLTransformer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define IWmiXMLTransformer_get_XMLEncodingType(This,piEncoding) (This)->lpVtbl->get_XMLEncodingType(This,piEncoding) +#define IWmiXMLTransformer_put_XMLEncodingType(This,iEncoding) (This)->lpVtbl->put_XMLEncodingType(This,iEncoding) +#define IWmiXMLTransformer_get_QualifierFilter(This,bQualifierFilter) (This)->lpVtbl->get_QualifierFilter(This,bQualifierFilter) +#define IWmiXMLTransformer_put_QualifierFilter(This,bQualifierFilter) (This)->lpVtbl->put_QualifierFilter(This,bQualifierFilter) +#define IWmiXMLTransformer_get_ClassOriginFilter(This,bClassOriginFilter) (This)->lpVtbl->get_ClassOriginFilter(This,bClassOriginFilter) +#define IWmiXMLTransformer_put_ClassOriginFilter(This,bClassOriginFilter) (This)->lpVtbl->put_ClassOriginFilter(This,bClassOriginFilter) +#define IWmiXMLTransformer_get_User(This,strUser) (This)->lpVtbl->get_User(This,strUser) +#define IWmiXMLTransformer_put_User(This,strUser) (This)->lpVtbl->put_User(This,strUser) +#define IWmiXMLTransformer_get_Password(This,strPassword) (This)->lpVtbl->get_Password(This,strPassword) +#define IWmiXMLTransformer_put_Password(This,strPassword) (This)->lpVtbl->put_Password(This,strPassword) +#define IWmiXMLTransformer_get_Authority(This,strAuthority) (This)->lpVtbl->get_Authority(This,strAuthority) +#define IWmiXMLTransformer_put_Authority(This,strAuthority) (This)->lpVtbl->put_Authority(This,strAuthority) +#define IWmiXMLTransformer_get_ImpersonationLevel(This,pdwImpersonationLevel) (This)->lpVtbl->get_ImpersonationLevel(This,pdwImpersonationLevel) +#define IWmiXMLTransformer_put_ImpersonationLevel(This,dwImpersonationLevel) (This)->lpVtbl->put_ImpersonationLevel(This,dwImpersonationLevel) +#define IWmiXMLTransformer_get_AuthenticationLevel(This,pdwAuthenticationLevel) (This)->lpVtbl->get_AuthenticationLevel(This,pdwAuthenticationLevel) +#define IWmiXMLTransformer_put_AuthenticationLevel(This,dwAuthenticationLevel) (This)->lpVtbl->put_AuthenticationLevel(This,dwAuthenticationLevel) +#define IWmiXMLTransformer_get_Locale(This,strLocale) (This)->lpVtbl->get_Locale(This,strLocale) +#define IWmiXMLTransformer_put_Locale(This,strLocale) (This)->lpVtbl->put_Locale(This,strLocale) +#define IWmiXMLTransformer_get_LocalOnly(This,bLocalOnly) (This)->lpVtbl->get_LocalOnly(This,bLocalOnly) +#define IWmiXMLTransformer_put_LocalOnly(This,bLocalOnly) (This)->lpVtbl->put_LocalOnly(This,bLocalOnly) +#define IWmiXMLTransformer_GetObject(This,strObjectPath,pCtx,ppXMLDocument) (This)->lpVtbl->GetObject(This,strObjectPath,pCtx,ppXMLDocument) +#define IWmiXMLTransformer_ExecQuery(This,strNamespacePath,strQuery,strQueryLanguage,pCtx,ppXMLDocumentSet) (This)->lpVtbl->ExecQuery(This,strNamespacePath,strQuery,strQueryLanguage,pCtx,ppXMLDocumentSet) +#define IWmiXMLTransformer_EnumClasses(This,strSuperClassPath,bDeep,pCtx,ppXMLDocumentSet) (This)->lpVtbl->EnumClasses(This,strSuperClassPath,bDeep,pCtx,ppXMLDocumentSet) +#define IWmiXMLTransformer_EnumInstances(This,strClassPath,bDeep,pCtx,ppXMLDocumentSet) (This)->lpVtbl->EnumInstances(This,strClassPath,bDeep,pCtx,ppXMLDocumentSet) +#define IWmiXMLTransformer_EnumClassNames(This,strSuperClassPath,bDeep,pCtx,ppXMLDocumentSet) (This)->lpVtbl->EnumClassNames(This,strSuperClassPath,bDeep,pCtx,ppXMLDocumentSet) +#define IWmiXMLTransformer_EnumInstanceNames(This,strClassPath,pCtx,ppXMLDocumentSet) (This)->lpVtbl->EnumInstanceNames(This,strClassPath,pCtx,ppXMLDocumentSet) +#define IWmiXMLTransformer_Compile(This,pvInputSource,strNamespacePath,lClassFlags,lInstanceFlags,iOperation,pCtx,pStatus) (This)->lpVtbl->Compile(This,pvInputSource,strNamespacePath,lClassFlags,lInstanceFlags,iOperation,pCtx,pStatus) +#define IWmiXMLTransformer_get_Privileges(This,objWbemPrivilegeSet) (This)->lpVtbl->get_Privileges(This,objWbemPrivilegeSet) +#define IWmiXMLTransformer_get_CompilationErrors(This,pstrErrors) (This)->lpVtbl->get_CompilationErrors(This,pstrErrors) +#endif +#endif + HRESULT WINAPI IWmiXMLTransformer_get_XMLEncodingType_Proxy(IWmiXMLTransformer *This,WmiXMLEncoding *piEncoding); + void __RPC_STUB IWmiXMLTransformer_get_XMLEncodingType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_XMLEncodingType_Proxy(IWmiXMLTransformer *This,WmiXMLEncoding iEncoding); + void __RPC_STUB IWmiXMLTransformer_put_XMLEncodingType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_QualifierFilter_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL *bQualifierFilter); + void __RPC_STUB IWmiXMLTransformer_get_QualifierFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_QualifierFilter_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL bQualifierFilter); + void __RPC_STUB IWmiXMLTransformer_put_QualifierFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_ClassOriginFilter_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL *bClassOriginFilter); + void __RPC_STUB IWmiXMLTransformer_get_ClassOriginFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_ClassOriginFilter_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL bClassOriginFilter); + void __RPC_STUB IWmiXMLTransformer_put_ClassOriginFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_User_Proxy(IWmiXMLTransformer *This,BSTR *strUser); + void __RPC_STUB IWmiXMLTransformer_get_User_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_User_Proxy(IWmiXMLTransformer *This,BSTR strUser); + void __RPC_STUB IWmiXMLTransformer_put_User_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_Password_Proxy(IWmiXMLTransformer *This,BSTR *strPassword); + void __RPC_STUB IWmiXMLTransformer_get_Password_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_Password_Proxy(IWmiXMLTransformer *This,BSTR strPassword); + void __RPC_STUB IWmiXMLTransformer_put_Password_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_Authority_Proxy(IWmiXMLTransformer *This,BSTR *strAuthority); + void __RPC_STUB IWmiXMLTransformer_get_Authority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_Authority_Proxy(IWmiXMLTransformer *This,BSTR strAuthority); + void __RPC_STUB IWmiXMLTransformer_put_Authority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_ImpersonationLevel_Proxy(IWmiXMLTransformer *This,DWORD *pdwImpersonationLevel); + void __RPC_STUB IWmiXMLTransformer_get_ImpersonationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_ImpersonationLevel_Proxy(IWmiXMLTransformer *This,DWORD dwImpersonationLevel); + void __RPC_STUB IWmiXMLTransformer_put_ImpersonationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_AuthenticationLevel_Proxy(IWmiXMLTransformer *This,DWORD *pdwAuthenticationLevel); + void __RPC_STUB IWmiXMLTransformer_get_AuthenticationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_AuthenticationLevel_Proxy(IWmiXMLTransformer *This,DWORD dwAuthenticationLevel); + void __RPC_STUB IWmiXMLTransformer_put_AuthenticationLevel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_Locale_Proxy(IWmiXMLTransformer *This,BSTR *strLocale); + void __RPC_STUB IWmiXMLTransformer_get_Locale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_Locale_Proxy(IWmiXMLTransformer *This,BSTR strLocale); + void __RPC_STUB IWmiXMLTransformer_put_Locale_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_LocalOnly_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL *bLocalOnly); + void __RPC_STUB IWmiXMLTransformer_get_LocalOnly_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_put_LocalOnly_Proxy(IWmiXMLTransformer *This,VARIANT_BOOL bLocalOnly); + void __RPC_STUB IWmiXMLTransformer_put_LocalOnly_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_GetObject_Proxy(IWmiXMLTransformer *This,BSTR strObjectPath,IDispatch *pCtx,IXMLDOMDocument **ppXMLDocument); + void __RPC_STUB IWmiXMLTransformer_GetObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_ExecQuery_Proxy(IWmiXMLTransformer *This,BSTR strNamespacePath,BSTR strQuery,BSTR strQueryLanguage,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + void __RPC_STUB IWmiXMLTransformer_ExecQuery_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_EnumClasses_Proxy(IWmiXMLTransformer *This,BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + void __RPC_STUB IWmiXMLTransformer_EnumClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_EnumInstances_Proxy(IWmiXMLTransformer *This,BSTR strClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + void __RPC_STUB IWmiXMLTransformer_EnumInstances_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_EnumClassNames_Proxy(IWmiXMLTransformer *This,BSTR strSuperClassPath,VARIANT_BOOL bDeep,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + void __RPC_STUB IWmiXMLTransformer_EnumClassNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_EnumInstanceNames_Proxy(IWmiXMLTransformer *This,BSTR strClassPath,IDispatch *pCtx,ISWbemXMLDocumentSet **ppXMLDocumentSet); + void __RPC_STUB IWmiXMLTransformer_EnumInstanceNames_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_Compile_Proxy(IWmiXMLTransformer *This,VARIANT *pvInputSource,BSTR strNamespacePath,LONG lClassFlags,LONG lInstanceFlags,WmiXMLCompilationTypeEnum iOperation,IDispatch *pCtx,VARIANT_BOOL *pStatus); + void __RPC_STUB IWmiXMLTransformer_Compile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_Privileges_Proxy(IWmiXMLTransformer *This,ISWbemPrivilegeSet **objWbemPrivilegeSet); + void __RPC_STUB IWmiXMLTransformer_get_Privileges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI IWmiXMLTransformer_get_CompilationErrors_Proxy(IWmiXMLTransformer *This,BSTR *pstrErrors); + void __RPC_STUB IWmiXMLTransformer_get_CompilationErrors_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + + EXTERN_C const CLSID CLSID_WmiXMLTransformer; +#ifdef __cplusplus + class WmiXMLTransformer; +#endif +#endif + +#ifndef __ISWbemXMLDocumentSet_INTERFACE_DEFINED__ +#define __ISWbemXMLDocumentSet_INTERFACE_DEFINED__ + EXTERN_C const IID IID_ISWbemXMLDocumentSet; +#if defined(__cplusplus) && !defined(CINTERFACE) + struct ISWbemXMLDocumentSet : public IDispatch { + public: + virtual HRESULT WINAPI get__NewEnum(IUnknown **pUnk) = 0; + virtual HRESULT WINAPI Item(BSTR strObjectPath,__LONG32 iFlags,IXMLDOMDocument **ppXMLDocument) = 0; + virtual HRESULT WINAPI get_Count(__LONG32 *iCount) = 0; + virtual HRESULT WINAPI NextDocument(IXMLDOMDocument **ppDoc) = 0; + virtual HRESULT WINAPI SkipNextDocument(void) = 0; + }; +#else + typedef struct ISWbemXMLDocumentSetVtbl { + BEGIN_INTERFACE + HRESULT (WINAPI *QueryInterface)(ISWbemXMLDocumentSet *This,REFIID riid,void **ppvObject); + ULONG (WINAPI *AddRef)(ISWbemXMLDocumentSet *This); + ULONG (WINAPI *Release)(ISWbemXMLDocumentSet *This); + HRESULT (WINAPI *GetTypeInfoCount)(ISWbemXMLDocumentSet *This,UINT *pctinfo); + HRESULT (WINAPI *GetTypeInfo)(ISWbemXMLDocumentSet *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo); + HRESULT (WINAPI *GetIDsOfNames)(ISWbemXMLDocumentSet *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId); + HRESULT (WINAPI *Invoke)(ISWbemXMLDocumentSet *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr); + HRESULT (WINAPI *get__NewEnum)(ISWbemXMLDocumentSet *This,IUnknown **pUnk); + HRESULT (WINAPI *Item)(ISWbemXMLDocumentSet *This,BSTR strObjectPath,__LONG32 iFlags,IXMLDOMDocument **ppXMLDocument); + HRESULT (WINAPI *get_Count)(ISWbemXMLDocumentSet *This,__LONG32 *iCount); + HRESULT (WINAPI *NextDocument)(ISWbemXMLDocumentSet *This,IXMLDOMDocument **ppDoc); + HRESULT (WINAPI *SkipNextDocument)(ISWbemXMLDocumentSet *This); + END_INTERFACE + } ISWbemXMLDocumentSetVtbl; + struct ISWbemXMLDocumentSet { + CONST_VTBL struct ISWbemXMLDocumentSetVtbl *lpVtbl; + }; +#ifdef COBJMACROS +#define ISWbemXMLDocumentSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define ISWbemXMLDocumentSet_AddRef(This) (This)->lpVtbl->AddRef(This) +#define ISWbemXMLDocumentSet_Release(This) (This)->lpVtbl->Release(This) +#define ISWbemXMLDocumentSet_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo) +#define ISWbemXMLDocumentSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo) +#define ISWbemXMLDocumentSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) +#define ISWbemXMLDocumentSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) +#define ISWbemXMLDocumentSet_get__NewEnum(This,pUnk) (This)->lpVtbl->get__NewEnum(This,pUnk) +#define ISWbemXMLDocumentSet_Item(This,strObjectPath,iFlags,ppXMLDocument) (This)->lpVtbl->Item(This,strObjectPath,iFlags,ppXMLDocument) +#define ISWbemXMLDocumentSet_get_Count(This,iCount) (This)->lpVtbl->get_Count(This,iCount) +#define ISWbemXMLDocumentSet_NextDocument(This,ppDoc) (This)->lpVtbl->NextDocument(This,ppDoc) +#define ISWbemXMLDocumentSet_SkipNextDocument(This) (This)->lpVtbl->SkipNextDocument(This) +#endif +#endif + HRESULT WINAPI ISWbemXMLDocumentSet_get__NewEnum_Proxy(ISWbemXMLDocumentSet *This,IUnknown **pUnk); + void __RPC_STUB ISWbemXMLDocumentSet_get__NewEnum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ISWbemXMLDocumentSet_Item_Proxy(ISWbemXMLDocumentSet *This,BSTR strObjectPath,__LONG32 iFlags,IXMLDOMDocument **ppXMLDocument); + void __RPC_STUB ISWbemXMLDocumentSet_Item_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ISWbemXMLDocumentSet_get_Count_Proxy(ISWbemXMLDocumentSet *This,__LONG32 *iCount); + void __RPC_STUB ISWbemXMLDocumentSet_get_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ISWbemXMLDocumentSet_NextDocument_Proxy(ISWbemXMLDocumentSet *This,IXMLDOMDocument **ppDoc); + void __RPC_STUB ISWbemXMLDocumentSet_NextDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); + HRESULT WINAPI ISWbemXMLDocumentSet_SkipNextDocument_Proxy(ISWbemXMLDocumentSet *This); + void __RPC_STUB ISWbemXMLDocumentSet_SkipNextDocument_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xolehlp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xolehlp.h new file mode 100644 index 00000000..3b5ebbf8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xolehlp.h @@ -0,0 +1,38 @@ +/** + * 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 __XOLEHLP__H__ +#define __XOLEHLP__H__ + +#include <_mingw_unicode.h> + +#define EXPORTAPI __declspec(dllexport) HRESULT + +const DWORD OLE_TM_CONFIG_VERSION_1 = 1; +const DWORD OLE_TM_FLAG_NONE = 0x00000000; +const DWORD OLE_TM_FLAG_NODEMANDSTART = 0x00000001; + +const DWORD OLE_TM_FLAG_QUERY_SERVICE_LOCKSTATUS = 0x80000000; +const DWORD OLE_TM_FLAG_INTERNAL_TO_TM = 0x40000000; + +typedef struct _OLE_TM_CONFIG_PARAMS_V1 { + DWORD dwVersion; + DWORD dwcConcurrencyHint; +} OLE_TM_CONFIG_PARAMS_V1; + +#define DtcGetTransactionManagerEx __MINGW_NAME_AW(DtcGetTransactionManagerEx) + +EXPORTAPI __cdecl DtcGetTransactionManager(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_dwReserved1,WORD i_wcbReserved2,void *i_pvReserved2,void **o_ppvObject); +EXTERN_C HRESULT __cdecl DtcGetTransactionManagerC(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_dwReserved1,WORD i_wcbReserved2,void *i_pvReserved2,void **o_ppvObject); +EXTERN_C EXPORTAPI __cdecl DtcGetTransactionManagerExA(char *i_pszHost,char *i_pszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject); +EXTERN_C EXPORTAPI __cdecl DtcGetTransactionManagerExW(WCHAR *i_pwszHost,WCHAR *i_pwszTmName,REFIID i_riid,DWORD i_grfOptions,void *i_pvConfigParams,void **o_ppvObject); + +#ifndef EXTERN_GUID +#define EXTERN_GUID(g,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) DEFINE_GUID(g,l1,s1,s2,c1,c2,c3,c4,c5,c6,c7,c8) +#endif + +EXTERN_GUID(CLSID_MSDtcTransactionManager,0x5b18ab61,0x91d,0x11d1,0x97,0xdf,0x0,0xc0,0x4f,0xb9,0x61,0x8a); +EXTERN_GUID(CLSID_MSDtcTransaction,0x39f8d76b,0x928,0x11d1,0x97,0xdf,0x0,0xc0,0x4f,0xb9,0x61,0x8a); +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsdigitalsignature.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsdigitalsignature.h new file mode 100644 index 00000000..b0877ff3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsdigitalsignature.h @@ -0,0 +1,1514 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xpsdigitalsignature.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 __xpsdigitalsignature_h__ +#define __xpsdigitalsignature_h__ + +/* Forward declarations */ + +#ifndef __IXpsSigningOptions_FWD_DEFINED__ +#define __IXpsSigningOptions_FWD_DEFINED__ +typedef interface IXpsSigningOptions IXpsSigningOptions; +#ifdef __cplusplus +interface IXpsSigningOptions; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignature_FWD_DEFINED__ +#define __IXpsSignature_FWD_DEFINED__ +typedef interface IXpsSignature IXpsSignature; +#ifdef __cplusplus +interface IXpsSignature; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureBlock_FWD_DEFINED__ +#define __IXpsSignatureBlock_FWD_DEFINED__ +typedef interface IXpsSignatureBlock IXpsSignatureBlock; +#ifdef __cplusplus +interface IXpsSignatureBlock; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__ +#define __IXpsSignatureBlockCollection_FWD_DEFINED__ +typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection; +#ifdef __cplusplus +interface IXpsSignatureBlockCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureCollection_FWD_DEFINED__ +#define __IXpsSignatureCollection_FWD_DEFINED__ +typedef interface IXpsSignatureCollection IXpsSignatureCollection; +#ifdef __cplusplus +interface IXpsSignatureCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureManager_FWD_DEFINED__ +#define __IXpsSignatureManager_FWD_DEFINED__ +typedef interface IXpsSignatureManager IXpsSignatureManager; +#ifdef __cplusplus +interface IXpsSignatureManager; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureRequest_FWD_DEFINED__ +#define __IXpsSignatureRequest_FWD_DEFINED__ +typedef interface IXpsSignatureRequest IXpsSignatureRequest; +#ifdef __cplusplus +interface IXpsSignatureRequest; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__ +#define __IXpsSignatureRequestCollection_FWD_DEFINED__ +typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection; +#ifdef __cplusplus +interface IXpsSignatureRequestCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __XpsSignatureManager_FWD_DEFINED__ +#define __XpsSignatureManager_FWD_DEFINED__ +#ifdef __cplusplus +typedef class XpsSignatureManager XpsSignatureManager; +#else +typedef struct XpsSignatureManager XpsSignatureManager; +#endif /* defined __cplusplus */ +#endif /* defined __XpsSignatureManager_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if NTDDI_VERSION >= 0x06010000 +#define XPS_E_SIGREQUESTID_DUP MAKE_HRESULT(1, FACILITY_XPS, 901) +#define XPS_E_PACKAGE_NOT_OPENED MAKE_HRESULT(1, FACILITY_XPS, 902) +#define XPS_E_PACKAGE_ALREADY_OPENED MAKE_HRESULT(1, FACILITY_XPS, 903) +#define XPS_E_SIGNATUREID_DUP MAKE_HRESULT(1, FACILITY_XPS, 904) +#define XPS_E_MARKUP_COMPATIBILITY_ELEMENTS MAKE_HRESULT(1, FACILITY_XPS, 905) +#define XPS_E_OBJECT_DETACHED MAKE_HRESULT(1, FACILITY_XPS, 906) +#define XPS_E_INVALID_SIGNATUREBLOCK_MARKUP MAKE_HRESULT(1, FACILITY_XPS, 907) +#ifndef __MSXPSSIG_LIBRARY_DEFINED__ +#define __MSXPSSIG_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_MSXPSSIG, 0x8223a7eb, 0xc4d5, 0x474d, 0x9b,0xcc, 0xff,0x67,0x18,0x5e,0x64,0xa0); + +#ifndef __IXpsSigningOptions_FWD_DEFINED__ +#define __IXpsSigningOptions_FWD_DEFINED__ +typedef interface IXpsSigningOptions IXpsSigningOptions; +#ifdef __cplusplus +interface IXpsSigningOptions; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureCollection_FWD_DEFINED__ +#define __IXpsSignatureCollection_FWD_DEFINED__ +typedef interface IXpsSignatureCollection IXpsSignatureCollection; +#ifdef __cplusplus +interface IXpsSignatureCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignature_FWD_DEFINED__ +#define __IXpsSignature_FWD_DEFINED__ +typedef interface IXpsSignature IXpsSignature; +#ifdef __cplusplus +interface IXpsSignature; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureBlockCollection_FWD_DEFINED__ +#define __IXpsSignatureBlockCollection_FWD_DEFINED__ +typedef interface IXpsSignatureBlockCollection IXpsSignatureBlockCollection; +#ifdef __cplusplus +interface IXpsSignatureBlockCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureBlock_FWD_DEFINED__ +#define __IXpsSignatureBlock_FWD_DEFINED__ +typedef interface IXpsSignatureBlock IXpsSignatureBlock; +#ifdef __cplusplus +interface IXpsSignatureBlock; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureRequestCollection_FWD_DEFINED__ +#define __IXpsSignatureRequestCollection_FWD_DEFINED__ +typedef interface IXpsSignatureRequestCollection IXpsSignatureRequestCollection; +#ifdef __cplusplus +interface IXpsSignatureRequestCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsSignatureRequest_FWD_DEFINED__ +#define __IXpsSignatureRequest_FWD_DEFINED__ +typedef interface IXpsSignatureRequest IXpsSignatureRequest; +#ifdef __cplusplus +interface IXpsSignatureRequest; +#endif /* __cplusplus */ +#endif + +typedef enum __WIDL_xpsdigitalsignature_generated_name_00000031 { + XPS_SIGN_FLAGS_NONE = 0x0, + XPS_SIGN_FLAGS_IGNORE_MARKUP_COMPATIBILITY = 0x1 +} XPS_SIGN_FLAGS; +typedef enum __WIDL_xpsdigitalsignature_generated_name_00000032 { + XPS_SIGN_POLICY_NONE = 0x0, + XPS_SIGN_POLICY_CORE_PROPERTIES = 0x1, + XPS_SIGN_POLICY_SIGNATURE_RELATIONSHIPS = 0x2, + XPS_SIGN_POLICY_PRINT_TICKET = 0x4, + XPS_SIGN_POLICY_DISCARD_CONTROL = 0x8, + XPS_SIGN_POLICY_ALL = 0xf +} XPS_SIGN_POLICY; +typedef enum __WIDL_xpsdigitalsignature_generated_name_00000033 { + XPS_SIGNATURE_STATUS_INCOMPLIANT = 1, + XPS_SIGNATURE_STATUS_INCOMPLETE = 2, + XPS_SIGNATURE_STATUS_BROKEN = 3, + XPS_SIGNATURE_STATUS_QUESTIONABLE = 4, + XPS_SIGNATURE_STATUS_VALID = 5 +} XPS_SIGNATURE_STATUS; +DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_FLAGS) +DEFINE_ENUM_FLAG_OPERATORS(XPS_SIGN_POLICY) +/***************************************************************************** + * IXpsSigningOptions interface + */ +#ifndef __IXpsSigningOptions_INTERFACE_DEFINED__ +#define __IXpsSigningOptions_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7718eae4-3215-49be-af5b-594fef7fcfa6") +IXpsSigningOptions : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSignatureId( + LPWSTR *signatureId) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSignatureId( + LPCWSTR signatureId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureMethod( + LPWSTR *signatureMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSignatureMethod( + LPCWSTR signatureMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDigestMethod( + LPWSTR *digestMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDigestMethod( + LPCWSTR digestMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName( + IOpcPartUri **signaturePartName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSignaturePartName( + IOpcPartUri *signaturePartName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPolicy( + XPS_SIGN_POLICY *policy) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPolicy( + XPS_SIGN_POLICY policy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat( + OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSigningTimeFormat( + OPC_SIGNATURE_TIME_FORMAT timeFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustomObjects( + IOpcSignatureCustomObjectSet **customObjectSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustomReferences( + IOpcSignatureReferenceSet **customReferenceSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCertificateSet( + IOpcCertificateSet **certificateSet) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFlags( + XPS_SIGN_FLAGS *flags) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFlags( + XPS_SIGN_FLAGS flags) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSigningOptions, 0x7718eae4, 0x3215, 0x49be, 0xaf,0x5b, 0x59,0x4f,0xef,0x7f,0xcf,0xa6) +#endif +#else +typedef struct IXpsSigningOptionsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSigningOptions *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSigningOptions *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSigningOptions *This); + + /*** IXpsSigningOptions methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSignatureId)( + IXpsSigningOptions *This, + LPWSTR *signatureId); + + HRESULT (STDMETHODCALLTYPE *SetSignatureId)( + IXpsSigningOptions *This, + LPCWSTR signatureId); + + HRESULT (STDMETHODCALLTYPE *GetSignatureMethod)( + IXpsSigningOptions *This, + LPWSTR *signatureMethod); + + HRESULT (STDMETHODCALLTYPE *SetSignatureMethod)( + IXpsSigningOptions *This, + LPCWSTR signatureMethod); + + HRESULT (STDMETHODCALLTYPE *GetDigestMethod)( + IXpsSigningOptions *This, + LPWSTR *digestMethod); + + HRESULT (STDMETHODCALLTYPE *SetDigestMethod)( + IXpsSigningOptions *This, + LPCWSTR digestMethod); + + HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)( + IXpsSigningOptions *This, + IOpcPartUri **signaturePartName); + + HRESULT (STDMETHODCALLTYPE *SetSignaturePartName)( + IXpsSigningOptions *This, + IOpcPartUri *signaturePartName); + + HRESULT (STDMETHODCALLTYPE *GetPolicy)( + IXpsSigningOptions *This, + XPS_SIGN_POLICY *policy); + + HRESULT (STDMETHODCALLTYPE *SetPolicy)( + IXpsSigningOptions *This, + XPS_SIGN_POLICY policy); + + HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)( + IXpsSigningOptions *This, + OPC_SIGNATURE_TIME_FORMAT *timeFormat); + + HRESULT (STDMETHODCALLTYPE *SetSigningTimeFormat)( + IXpsSigningOptions *This, + OPC_SIGNATURE_TIME_FORMAT timeFormat); + + HRESULT (STDMETHODCALLTYPE *GetCustomObjects)( + IXpsSigningOptions *This, + IOpcSignatureCustomObjectSet **customObjectSet); + + HRESULT (STDMETHODCALLTYPE *GetCustomReferences)( + IXpsSigningOptions *This, + IOpcSignatureReferenceSet **customReferenceSet); + + HRESULT (STDMETHODCALLTYPE *GetCertificateSet)( + IXpsSigningOptions *This, + IOpcCertificateSet **certificateSet); + + HRESULT (STDMETHODCALLTYPE *GetFlags)( + IXpsSigningOptions *This, + XPS_SIGN_FLAGS *flags); + + HRESULT (STDMETHODCALLTYPE *SetFlags)( + IXpsSigningOptions *This, + XPS_SIGN_FLAGS flags); + + END_INTERFACE +} IXpsSigningOptionsVtbl; + +interface IXpsSigningOptions { + CONST_VTBL IXpsSigningOptionsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSigningOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSigningOptions_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSigningOptions_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSigningOptions methods ***/ +#define IXpsSigningOptions_GetSignatureId(This,signatureId) (This)->lpVtbl->GetSignatureId(This,signatureId) +#define IXpsSigningOptions_SetSignatureId(This,signatureId) (This)->lpVtbl->SetSignatureId(This,signatureId) +#define IXpsSigningOptions_GetSignatureMethod(This,signatureMethod) (This)->lpVtbl->GetSignatureMethod(This,signatureMethod) +#define IXpsSigningOptions_SetSignatureMethod(This,signatureMethod) (This)->lpVtbl->SetSignatureMethod(This,signatureMethod) +#define IXpsSigningOptions_GetDigestMethod(This,digestMethod) (This)->lpVtbl->GetDigestMethod(This,digestMethod) +#define IXpsSigningOptions_SetDigestMethod(This,digestMethod) (This)->lpVtbl->SetDigestMethod(This,digestMethod) +#define IXpsSigningOptions_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName) +#define IXpsSigningOptions_SetSignaturePartName(This,signaturePartName) (This)->lpVtbl->SetSignaturePartName(This,signaturePartName) +#define IXpsSigningOptions_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy) +#define IXpsSigningOptions_SetPolicy(This,policy) (This)->lpVtbl->SetPolicy(This,policy) +#define IXpsSigningOptions_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat) +#define IXpsSigningOptions_SetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->SetSigningTimeFormat(This,timeFormat) +#define IXpsSigningOptions_GetCustomObjects(This,customObjectSet) (This)->lpVtbl->GetCustomObjects(This,customObjectSet) +#define IXpsSigningOptions_GetCustomReferences(This,customReferenceSet) (This)->lpVtbl->GetCustomReferences(This,customReferenceSet) +#define IXpsSigningOptions_GetCertificateSet(This,certificateSet) (This)->lpVtbl->GetCertificateSet(This,certificateSet) +#define IXpsSigningOptions_GetFlags(This,flags) (This)->lpVtbl->GetFlags(This,flags) +#define IXpsSigningOptions_SetFlags(This,flags) (This)->lpVtbl->SetFlags(This,flags) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSigningOptions_QueryInterface(IXpsSigningOptions* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSigningOptions_AddRef(IXpsSigningOptions* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSigningOptions_Release(IXpsSigningOptions* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSigningOptions methods ***/ +static inline HRESULT IXpsSigningOptions_GetSignatureId(IXpsSigningOptions* This,LPWSTR *signatureId) { + return This->lpVtbl->GetSignatureId(This,signatureId); +} +static inline HRESULT IXpsSigningOptions_SetSignatureId(IXpsSigningOptions* This,LPCWSTR signatureId) { + return This->lpVtbl->SetSignatureId(This,signatureId); +} +static inline HRESULT IXpsSigningOptions_GetSignatureMethod(IXpsSigningOptions* This,LPWSTR *signatureMethod) { + return This->lpVtbl->GetSignatureMethod(This,signatureMethod); +} +static inline HRESULT IXpsSigningOptions_SetSignatureMethod(IXpsSigningOptions* This,LPCWSTR signatureMethod) { + return This->lpVtbl->SetSignatureMethod(This,signatureMethod); +} +static inline HRESULT IXpsSigningOptions_GetDigestMethod(IXpsSigningOptions* This,LPWSTR *digestMethod) { + return This->lpVtbl->GetDigestMethod(This,digestMethod); +} +static inline HRESULT IXpsSigningOptions_SetDigestMethod(IXpsSigningOptions* This,LPCWSTR digestMethod) { + return This->lpVtbl->SetDigestMethod(This,digestMethod); +} +static inline HRESULT IXpsSigningOptions_GetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri **signaturePartName) { + return This->lpVtbl->GetSignaturePartName(This,signaturePartName); +} +static inline HRESULT IXpsSigningOptions_SetSignaturePartName(IXpsSigningOptions* This,IOpcPartUri *signaturePartName) { + return This->lpVtbl->SetSignaturePartName(This,signaturePartName); +} +static inline HRESULT IXpsSigningOptions_GetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY *policy) { + return This->lpVtbl->GetPolicy(This,policy); +} +static inline HRESULT IXpsSigningOptions_SetPolicy(IXpsSigningOptions* This,XPS_SIGN_POLICY policy) { + return This->lpVtbl->SetPolicy(This,policy); +} +static inline HRESULT IXpsSigningOptions_GetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) { + return This->lpVtbl->GetSigningTimeFormat(This,timeFormat); +} +static inline HRESULT IXpsSigningOptions_SetSigningTimeFormat(IXpsSigningOptions* This,OPC_SIGNATURE_TIME_FORMAT timeFormat) { + return This->lpVtbl->SetSigningTimeFormat(This,timeFormat); +} +static inline HRESULT IXpsSigningOptions_GetCustomObjects(IXpsSigningOptions* This,IOpcSignatureCustomObjectSet **customObjectSet) { + return This->lpVtbl->GetCustomObjects(This,customObjectSet); +} +static inline HRESULT IXpsSigningOptions_GetCustomReferences(IXpsSigningOptions* This,IOpcSignatureReferenceSet **customReferenceSet) { + return This->lpVtbl->GetCustomReferences(This,customReferenceSet); +} +static inline HRESULT IXpsSigningOptions_GetCertificateSet(IXpsSigningOptions* This,IOpcCertificateSet **certificateSet) { + return This->lpVtbl->GetCertificateSet(This,certificateSet); +} +static inline HRESULT IXpsSigningOptions_GetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS *flags) { + return This->lpVtbl->GetFlags(This,flags); +} +static inline HRESULT IXpsSigningOptions_SetFlags(IXpsSigningOptions* This,XPS_SIGN_FLAGS flags) { + return This->lpVtbl->SetFlags(This,flags); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSigningOptions_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignature interface + */ +#ifndef __IXpsSignature_INTERFACE_DEFINED__ +#define __IXpsSignature_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("6ae4c93e-1ade-42fb-898b-3a5658284857") +IXpsSignature : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetSignatureId( + LPWSTR *sigId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureValue( + UINT8 **signatureHashValue, + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCertificateEnumerator( + IOpcCertificateEnumerator **certificateEnumerator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSigningTime( + LPWSTR *sigDateTimeString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSigningTimeFormat( + OPC_SIGNATURE_TIME_FORMAT *timeFormat) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignaturePartName( + IOpcPartUri **signaturePartName) = 0; + + virtual HRESULT STDMETHODCALLTYPE Verify( + const CERT_CONTEXT *x509Certificate, + XPS_SIGNATURE_STATUS *sigStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPolicy( + XPS_SIGN_POLICY *policy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustomObjectEnumerator( + IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCustomReferenceEnumerator( + IOpcSignatureReferenceEnumerator **customReferenceEnumerator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureXml( + UINT8 **signatureXml, + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSignatureXml( + const UINT8 *signatureXml, + UINT32 count) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignature, 0x6ae4c93e, 0x1ade, 0x42fb, 0x89,0x8b, 0x3a,0x56,0x58,0x28,0x48,0x57) +#endif +#else +typedef struct IXpsSignatureVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignature *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignature *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignature *This); + + /*** IXpsSignature methods ***/ + HRESULT (STDMETHODCALLTYPE *GetSignatureId)( + IXpsSignature *This, + LPWSTR *sigId); + + HRESULT (STDMETHODCALLTYPE *GetSignatureValue)( + IXpsSignature *This, + UINT8 **signatureHashValue, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetCertificateEnumerator)( + IXpsSignature *This, + IOpcCertificateEnumerator **certificateEnumerator); + + HRESULT (STDMETHODCALLTYPE *GetSigningTime)( + IXpsSignature *This, + LPWSTR *sigDateTimeString); + + HRESULT (STDMETHODCALLTYPE *GetSigningTimeFormat)( + IXpsSignature *This, + OPC_SIGNATURE_TIME_FORMAT *timeFormat); + + HRESULT (STDMETHODCALLTYPE *GetSignaturePartName)( + IXpsSignature *This, + IOpcPartUri **signaturePartName); + + HRESULT (STDMETHODCALLTYPE *Verify)( + IXpsSignature *This, + const CERT_CONTEXT *x509Certificate, + XPS_SIGNATURE_STATUS *sigStatus); + + HRESULT (STDMETHODCALLTYPE *GetPolicy)( + IXpsSignature *This, + XPS_SIGN_POLICY *policy); + + HRESULT (STDMETHODCALLTYPE *GetCustomObjectEnumerator)( + IXpsSignature *This, + IOpcSignatureCustomObjectEnumerator **customObjectEnumerator); + + HRESULT (STDMETHODCALLTYPE *GetCustomReferenceEnumerator)( + IXpsSignature *This, + IOpcSignatureReferenceEnumerator **customReferenceEnumerator); + + HRESULT (STDMETHODCALLTYPE *GetSignatureXml)( + IXpsSignature *This, + UINT8 **signatureXml, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *SetSignatureXml)( + IXpsSignature *This, + const UINT8 *signatureXml, + UINT32 count); + + END_INTERFACE +} IXpsSignatureVtbl; + +interface IXpsSignature { + CONST_VTBL IXpsSignatureVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignature_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignature_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignature_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignature methods ***/ +#define IXpsSignature_GetSignatureId(This,sigId) (This)->lpVtbl->GetSignatureId(This,sigId) +#define IXpsSignature_GetSignatureValue(This,signatureHashValue,count) (This)->lpVtbl->GetSignatureValue(This,signatureHashValue,count) +#define IXpsSignature_GetCertificateEnumerator(This,certificateEnumerator) (This)->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator) +#define IXpsSignature_GetSigningTime(This,sigDateTimeString) (This)->lpVtbl->GetSigningTime(This,sigDateTimeString) +#define IXpsSignature_GetSigningTimeFormat(This,timeFormat) (This)->lpVtbl->GetSigningTimeFormat(This,timeFormat) +#define IXpsSignature_GetSignaturePartName(This,signaturePartName) (This)->lpVtbl->GetSignaturePartName(This,signaturePartName) +#define IXpsSignature_Verify(This,x509Certificate,sigStatus) (This)->lpVtbl->Verify(This,x509Certificate,sigStatus) +#define IXpsSignature_GetPolicy(This,policy) (This)->lpVtbl->GetPolicy(This,policy) +#define IXpsSignature_GetCustomObjectEnumerator(This,customObjectEnumerator) (This)->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator) +#define IXpsSignature_GetCustomReferenceEnumerator(This,customReferenceEnumerator) (This)->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator) +#define IXpsSignature_GetSignatureXml(This,signatureXml,count) (This)->lpVtbl->GetSignatureXml(This,signatureXml,count) +#define IXpsSignature_SetSignatureXml(This,signatureXml,count) (This)->lpVtbl->SetSignatureXml(This,signatureXml,count) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignature_QueryInterface(IXpsSignature* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignature_AddRef(IXpsSignature* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignature_Release(IXpsSignature* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignature methods ***/ +static inline HRESULT IXpsSignature_GetSignatureId(IXpsSignature* This,LPWSTR *sigId) { + return This->lpVtbl->GetSignatureId(This,sigId); +} +static inline HRESULT IXpsSignature_GetSignatureValue(IXpsSignature* This,UINT8 **signatureHashValue,UINT32 *count) { + return This->lpVtbl->GetSignatureValue(This,signatureHashValue,count); +} +static inline HRESULT IXpsSignature_GetCertificateEnumerator(IXpsSignature* This,IOpcCertificateEnumerator **certificateEnumerator) { + return This->lpVtbl->GetCertificateEnumerator(This,certificateEnumerator); +} +static inline HRESULT IXpsSignature_GetSigningTime(IXpsSignature* This,LPWSTR *sigDateTimeString) { + return This->lpVtbl->GetSigningTime(This,sigDateTimeString); +} +static inline HRESULT IXpsSignature_GetSigningTimeFormat(IXpsSignature* This,OPC_SIGNATURE_TIME_FORMAT *timeFormat) { + return This->lpVtbl->GetSigningTimeFormat(This,timeFormat); +} +static inline HRESULT IXpsSignature_GetSignaturePartName(IXpsSignature* This,IOpcPartUri **signaturePartName) { + return This->lpVtbl->GetSignaturePartName(This,signaturePartName); +} +static inline HRESULT IXpsSignature_Verify(IXpsSignature* This,const CERT_CONTEXT *x509Certificate,XPS_SIGNATURE_STATUS *sigStatus) { + return This->lpVtbl->Verify(This,x509Certificate,sigStatus); +} +static inline HRESULT IXpsSignature_GetPolicy(IXpsSignature* This,XPS_SIGN_POLICY *policy) { + return This->lpVtbl->GetPolicy(This,policy); +} +static inline HRESULT IXpsSignature_GetCustomObjectEnumerator(IXpsSignature* This,IOpcSignatureCustomObjectEnumerator **customObjectEnumerator) { + return This->lpVtbl->GetCustomObjectEnumerator(This,customObjectEnumerator); +} +static inline HRESULT IXpsSignature_GetCustomReferenceEnumerator(IXpsSignature* This,IOpcSignatureReferenceEnumerator **customReferenceEnumerator) { + return This->lpVtbl->GetCustomReferenceEnumerator(This,customReferenceEnumerator); +} +static inline HRESULT IXpsSignature_GetSignatureXml(IXpsSignature* This,UINT8 **signatureXml,UINT32 *count) { + return This->lpVtbl->GetSignatureXml(This,signatureXml,count); +} +static inline HRESULT IXpsSignature_SetSignatureXml(IXpsSignature* This,const UINT8 *signatureXml,UINT32 count) { + return This->lpVtbl->SetSignatureXml(This,signatureXml,count); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignature_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureBlock interface + */ +#ifndef __IXpsSignatureBlock_INTERFACE_DEFINED__ +#define __IXpsSignatureBlock_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("151fac09-0b97-4ac6-a323-5e4297d4322b") +IXpsSignatureBlock : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetRequests( + IXpsSignatureRequestCollection **requests) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPartName( + IOpcPartUri **partName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentIndex( + UINT32 *fixedDocumentIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentName( + IOpcPartUri **fixedDocumentName) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRequest( + LPCWSTR requestId, + IXpsSignatureRequest **signatureRequest) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureBlock, 0x151fac09, 0x0b97, 0x4ac6, 0xa3,0x23, 0x5e,0x42,0x97,0xd4,0x32,0x2b) +#endif +#else +typedef struct IXpsSignatureBlockVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureBlock *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureBlock *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureBlock *This); + + /*** IXpsSignatureBlock methods ***/ + HRESULT (STDMETHODCALLTYPE *GetRequests)( + IXpsSignatureBlock *This, + IXpsSignatureRequestCollection **requests); + + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsSignatureBlock *This, + IOpcPartUri **partName); + + HRESULT (STDMETHODCALLTYPE *GetDocumentIndex)( + IXpsSignatureBlock *This, + UINT32 *fixedDocumentIndex); + + HRESULT (STDMETHODCALLTYPE *GetDocumentName)( + IXpsSignatureBlock *This, + IOpcPartUri **fixedDocumentName); + + HRESULT (STDMETHODCALLTYPE *CreateRequest)( + IXpsSignatureBlock *This, + LPCWSTR requestId, + IXpsSignatureRequest **signatureRequest); + + END_INTERFACE +} IXpsSignatureBlockVtbl; + +interface IXpsSignatureBlock { + CONST_VTBL IXpsSignatureBlockVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureBlock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureBlock_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureBlock_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureBlock methods ***/ +#define IXpsSignatureBlock_GetRequests(This,requests) (This)->lpVtbl->GetRequests(This,requests) +#define IXpsSignatureBlock_GetPartName(This,partName) (This)->lpVtbl->GetPartName(This,partName) +#define IXpsSignatureBlock_GetDocumentIndex(This,fixedDocumentIndex) (This)->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex) +#define IXpsSignatureBlock_GetDocumentName(This,fixedDocumentName) (This)->lpVtbl->GetDocumentName(This,fixedDocumentName) +#define IXpsSignatureBlock_CreateRequest(This,requestId,signatureRequest) (This)->lpVtbl->CreateRequest(This,requestId,signatureRequest) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureBlock_QueryInterface(IXpsSignatureBlock* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureBlock_AddRef(IXpsSignatureBlock* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureBlock_Release(IXpsSignatureBlock* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureBlock methods ***/ +static inline HRESULT IXpsSignatureBlock_GetRequests(IXpsSignatureBlock* This,IXpsSignatureRequestCollection **requests) { + return This->lpVtbl->GetRequests(This,requests); +} +static inline HRESULT IXpsSignatureBlock_GetPartName(IXpsSignatureBlock* This,IOpcPartUri **partName) { + return This->lpVtbl->GetPartName(This,partName); +} +static inline HRESULT IXpsSignatureBlock_GetDocumentIndex(IXpsSignatureBlock* This,UINT32 *fixedDocumentIndex) { + return This->lpVtbl->GetDocumentIndex(This,fixedDocumentIndex); +} +static inline HRESULT IXpsSignatureBlock_GetDocumentName(IXpsSignatureBlock* This,IOpcPartUri **fixedDocumentName) { + return This->lpVtbl->GetDocumentName(This,fixedDocumentName); +} +static inline HRESULT IXpsSignatureBlock_CreateRequest(IXpsSignatureBlock* This,LPCWSTR requestId,IXpsSignatureRequest **signatureRequest) { + return This->lpVtbl->CreateRequest(This,requestId,signatureRequest); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureBlock_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureBlockCollection interface + */ +#ifndef __IXpsSignatureBlockCollection_INTERFACE_DEFINED__ +#define __IXpsSignatureBlockCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("23397050-fe99-467a-8dce-9237f074ffe4") +IXpsSignatureBlockCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsSignatureBlock **signatureBlock) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureBlockCollection, 0x23397050, 0xfe99, 0x467a, 0x8d,0xce, 0x92,0x37,0xf0,0x74,0xff,0xe4) +#endif +#else +typedef struct IXpsSignatureBlockCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureBlockCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureBlockCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureBlockCollection *This); + + /*** IXpsSignatureBlockCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsSignatureBlockCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsSignatureBlockCollection *This, + UINT32 index, + IXpsSignatureBlock **signatureBlock); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsSignatureBlockCollection *This, + UINT32 index); + + END_INTERFACE +} IXpsSignatureBlockCollectionVtbl; + +interface IXpsSignatureBlockCollection { + CONST_VTBL IXpsSignatureBlockCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureBlockCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureBlockCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureBlockCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureBlockCollection methods ***/ +#define IXpsSignatureBlockCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsSignatureBlockCollection_GetAt(This,index,signatureBlock) (This)->lpVtbl->GetAt(This,index,signatureBlock) +#define IXpsSignatureBlockCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureBlockCollection_QueryInterface(IXpsSignatureBlockCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureBlockCollection_AddRef(IXpsSignatureBlockCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureBlockCollection_Release(IXpsSignatureBlockCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureBlockCollection methods ***/ +static inline HRESULT IXpsSignatureBlockCollection_GetCount(IXpsSignatureBlockCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsSignatureBlockCollection_GetAt(IXpsSignatureBlockCollection* This,UINT32 index,IXpsSignatureBlock **signatureBlock) { + return This->lpVtbl->GetAt(This,index,signatureBlock); +} +static inline HRESULT IXpsSignatureBlockCollection_RemoveAt(IXpsSignatureBlockCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureBlockCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureCollection interface + */ +#ifndef __IXpsSignatureCollection_INTERFACE_DEFINED__ +#define __IXpsSignatureCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a2d1d95d-add2-4dff-ab27-6b9c645ff322") +IXpsSignatureCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsSignature **signature) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureCollection, 0xa2d1d95d, 0xadd2, 0x4dff, 0xab,0x27, 0x6b,0x9c,0x64,0x5f,0xf3,0x22) +#endif +#else +typedef struct IXpsSignatureCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureCollection *This); + + /*** IXpsSignatureCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsSignatureCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsSignatureCollection *This, + UINT32 index, + IXpsSignature **signature); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsSignatureCollection *This, + UINT32 index); + + END_INTERFACE +} IXpsSignatureCollectionVtbl; + +interface IXpsSignatureCollection { + CONST_VTBL IXpsSignatureCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureCollection methods ***/ +#define IXpsSignatureCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsSignatureCollection_GetAt(This,index,signature) (This)->lpVtbl->GetAt(This,index,signature) +#define IXpsSignatureCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureCollection_QueryInterface(IXpsSignatureCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureCollection_AddRef(IXpsSignatureCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureCollection_Release(IXpsSignatureCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureCollection methods ***/ +static inline HRESULT IXpsSignatureCollection_GetCount(IXpsSignatureCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsSignatureCollection_GetAt(IXpsSignatureCollection* This,UINT32 index,IXpsSignature **signature) { + return This->lpVtbl->GetAt(This,index,signature); +} +static inline HRESULT IXpsSignatureCollection_RemoveAt(IXpsSignatureCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureManager interface + */ +#ifndef __IXpsSignatureManager_INTERFACE_DEFINED__ +#define __IXpsSignatureManager_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d3e8d338-fdc4-4afc-80b5-d532a1782ee1") +IXpsSignatureManager : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE LoadPackageFile( + LPCWSTR fileName) = 0; + + virtual HRESULT STDMETHODCALLTYPE LoadPackageStream( + IStream *stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE Sign( + IXpsSigningOptions *signOptions, + const CERT_CONTEXT *x509Certificate, + IXpsSignature **signature) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureOriginPartName( + IOpcPartUri **signatureOriginPartName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSignatureOriginPartName( + IOpcPartUri *signatureOriginPartName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatures( + IXpsSignatureCollection **signatures) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddSignatureBlock( + IOpcPartUri *partName, + UINT32 fixedDocumentIndex, + IXpsSignatureBlock **signatureBlock) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureBlocks( + IXpsSignatureBlockCollection **signatureBlocks) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSigningOptions( + IXpsSigningOptions **signingOptions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SavePackageToFile( + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SavePackageToStream( + IStream *stream) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureManager, 0xd3e8d338, 0xfdc4, 0x4afc, 0x80,0xb5, 0xd5,0x32,0xa1,0x78,0x2e,0xe1) +#endif +#else +typedef struct IXpsSignatureManagerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureManager *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureManager *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureManager *This); + + /*** IXpsSignatureManager methods ***/ + HRESULT (STDMETHODCALLTYPE *LoadPackageFile)( + IXpsSignatureManager *This, + LPCWSTR fileName); + + HRESULT (STDMETHODCALLTYPE *LoadPackageStream)( + IXpsSignatureManager *This, + IStream *stream); + + HRESULT (STDMETHODCALLTYPE *Sign)( + IXpsSignatureManager *This, + IXpsSigningOptions *signOptions, + const CERT_CONTEXT *x509Certificate, + IXpsSignature **signature); + + HRESULT (STDMETHODCALLTYPE *GetSignatureOriginPartName)( + IXpsSignatureManager *This, + IOpcPartUri **signatureOriginPartName); + + HRESULT (STDMETHODCALLTYPE *SetSignatureOriginPartName)( + IXpsSignatureManager *This, + IOpcPartUri *signatureOriginPartName); + + HRESULT (STDMETHODCALLTYPE *GetSignatures)( + IXpsSignatureManager *This, + IXpsSignatureCollection **signatures); + + HRESULT (STDMETHODCALLTYPE *AddSignatureBlock)( + IXpsSignatureManager *This, + IOpcPartUri *partName, + UINT32 fixedDocumentIndex, + IXpsSignatureBlock **signatureBlock); + + HRESULT (STDMETHODCALLTYPE *GetSignatureBlocks)( + IXpsSignatureManager *This, + IXpsSignatureBlockCollection **signatureBlocks); + + HRESULT (STDMETHODCALLTYPE *CreateSigningOptions)( + IXpsSignatureManager *This, + IXpsSigningOptions **signingOptions); + + HRESULT (STDMETHODCALLTYPE *SavePackageToFile)( + IXpsSignatureManager *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes); + + HRESULT (STDMETHODCALLTYPE *SavePackageToStream)( + IXpsSignatureManager *This, + IStream *stream); + + END_INTERFACE +} IXpsSignatureManagerVtbl; + +interface IXpsSignatureManager { + CONST_VTBL IXpsSignatureManagerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureManager_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureManager_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureManager methods ***/ +#define IXpsSignatureManager_LoadPackageFile(This,fileName) (This)->lpVtbl->LoadPackageFile(This,fileName) +#define IXpsSignatureManager_LoadPackageStream(This,stream) (This)->lpVtbl->LoadPackageStream(This,stream) +#define IXpsSignatureManager_Sign(This,signOptions,x509Certificate,signature) (This)->lpVtbl->Sign(This,signOptions,x509Certificate,signature) +#define IXpsSignatureManager_GetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName) +#define IXpsSignatureManager_SetSignatureOriginPartName(This,signatureOriginPartName) (This)->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName) +#define IXpsSignatureManager_GetSignatures(This,signatures) (This)->lpVtbl->GetSignatures(This,signatures) +#define IXpsSignatureManager_AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock) (This)->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock) +#define IXpsSignatureManager_GetSignatureBlocks(This,signatureBlocks) (This)->lpVtbl->GetSignatureBlocks(This,signatureBlocks) +#define IXpsSignatureManager_CreateSigningOptions(This,signingOptions) (This)->lpVtbl->CreateSigningOptions(This,signingOptions) +#define IXpsSignatureManager_SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes) (This)->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes) +#define IXpsSignatureManager_SavePackageToStream(This,stream) (This)->lpVtbl->SavePackageToStream(This,stream) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureManager_QueryInterface(IXpsSignatureManager* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureManager_AddRef(IXpsSignatureManager* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureManager_Release(IXpsSignatureManager* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureManager methods ***/ +static inline HRESULT IXpsSignatureManager_LoadPackageFile(IXpsSignatureManager* This,LPCWSTR fileName) { + return This->lpVtbl->LoadPackageFile(This,fileName); +} +static inline HRESULT IXpsSignatureManager_LoadPackageStream(IXpsSignatureManager* This,IStream *stream) { + return This->lpVtbl->LoadPackageStream(This,stream); +} +static inline HRESULT IXpsSignatureManager_Sign(IXpsSignatureManager* This,IXpsSigningOptions *signOptions,const CERT_CONTEXT *x509Certificate,IXpsSignature **signature) { + return This->lpVtbl->Sign(This,signOptions,x509Certificate,signature); +} +static inline HRESULT IXpsSignatureManager_GetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri **signatureOriginPartName) { + return This->lpVtbl->GetSignatureOriginPartName(This,signatureOriginPartName); +} +static inline HRESULT IXpsSignatureManager_SetSignatureOriginPartName(IXpsSignatureManager* This,IOpcPartUri *signatureOriginPartName) { + return This->lpVtbl->SetSignatureOriginPartName(This,signatureOriginPartName); +} +static inline HRESULT IXpsSignatureManager_GetSignatures(IXpsSignatureManager* This,IXpsSignatureCollection **signatures) { + return This->lpVtbl->GetSignatures(This,signatures); +} +static inline HRESULT IXpsSignatureManager_AddSignatureBlock(IXpsSignatureManager* This,IOpcPartUri *partName,UINT32 fixedDocumentIndex,IXpsSignatureBlock **signatureBlock) { + return This->lpVtbl->AddSignatureBlock(This,partName,fixedDocumentIndex,signatureBlock); +} +static inline HRESULT IXpsSignatureManager_GetSignatureBlocks(IXpsSignatureManager* This,IXpsSignatureBlockCollection **signatureBlocks) { + return This->lpVtbl->GetSignatureBlocks(This,signatureBlocks); +} +static inline HRESULT IXpsSignatureManager_CreateSigningOptions(IXpsSignatureManager* This,IXpsSigningOptions **signingOptions) { + return This->lpVtbl->CreateSigningOptions(This,signingOptions); +} +static inline HRESULT IXpsSignatureManager_SavePackageToFile(IXpsSignatureManager* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes) { + return This->lpVtbl->SavePackageToFile(This,fileName,securityAttributes,flagsAndAttributes); +} +static inline HRESULT IXpsSignatureManager_SavePackageToStream(IXpsSignatureManager* This,IStream *stream) { + return This->lpVtbl->SavePackageToStream(This,stream); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureManager_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureRequest interface + */ +#ifndef __IXpsSignatureRequest_INTERFACE_DEFINED__ +#define __IXpsSignatureRequest_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ac58950b-7208-4b2d-b2c4-951083d3b8eb") +IXpsSignatureRequest : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetIntent( + LPWSTR *intent) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIntent( + LPCWSTR intent) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRequestedSigner( + LPWSTR *signerName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRequestedSigner( + LPCWSTR signerName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRequestSignByDate( + LPWSTR *dateString) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRequestSignByDate( + LPCWSTR dateString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSigningLocale( + LPWSTR *place) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSigningLocale( + LPCWSTR place) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSpotLocation( + INT32 *pageIndex, + IOpcPartUri **pagePartName, + float *x, + float *y) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSpotLocation( + INT32 pageIndex, + float x, + float y) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRequestId( + LPWSTR *requestId) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignature( + IXpsSignature **signature) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureRequest, 0xac58950b, 0x7208, 0x4b2d, 0xb2,0xc4, 0x95,0x10,0x83,0xd3,0xb8,0xeb) +#endif +#else +typedef struct IXpsSignatureRequestVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureRequest *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureRequest *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureRequest *This); + + /*** IXpsSignatureRequest methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIntent)( + IXpsSignatureRequest *This, + LPWSTR *intent); + + HRESULT (STDMETHODCALLTYPE *SetIntent)( + IXpsSignatureRequest *This, + LPCWSTR intent); + + HRESULT (STDMETHODCALLTYPE *GetRequestedSigner)( + IXpsSignatureRequest *This, + LPWSTR *signerName); + + HRESULT (STDMETHODCALLTYPE *SetRequestedSigner)( + IXpsSignatureRequest *This, + LPCWSTR signerName); + + HRESULT (STDMETHODCALLTYPE *GetRequestSignByDate)( + IXpsSignatureRequest *This, + LPWSTR *dateString); + + HRESULT (STDMETHODCALLTYPE *SetRequestSignByDate)( + IXpsSignatureRequest *This, + LPCWSTR dateString); + + HRESULT (STDMETHODCALLTYPE *GetSigningLocale)( + IXpsSignatureRequest *This, + LPWSTR *place); + + HRESULT (STDMETHODCALLTYPE *SetSigningLocale)( + IXpsSignatureRequest *This, + LPCWSTR place); + + HRESULT (STDMETHODCALLTYPE *GetSpotLocation)( + IXpsSignatureRequest *This, + INT32 *pageIndex, + IOpcPartUri **pagePartName, + float *x, + float *y); + + HRESULT (STDMETHODCALLTYPE *SetSpotLocation)( + IXpsSignatureRequest *This, + INT32 pageIndex, + float x, + float y); + + HRESULT (STDMETHODCALLTYPE *GetRequestId)( + IXpsSignatureRequest *This, + LPWSTR *requestId); + + HRESULT (STDMETHODCALLTYPE *GetSignature)( + IXpsSignatureRequest *This, + IXpsSignature **signature); + + END_INTERFACE +} IXpsSignatureRequestVtbl; + +interface IXpsSignatureRequest { + CONST_VTBL IXpsSignatureRequestVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureRequest_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureRequest_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureRequest methods ***/ +#define IXpsSignatureRequest_GetIntent(This,intent) (This)->lpVtbl->GetIntent(This,intent) +#define IXpsSignatureRequest_SetIntent(This,intent) (This)->lpVtbl->SetIntent(This,intent) +#define IXpsSignatureRequest_GetRequestedSigner(This,signerName) (This)->lpVtbl->GetRequestedSigner(This,signerName) +#define IXpsSignatureRequest_SetRequestedSigner(This,signerName) (This)->lpVtbl->SetRequestedSigner(This,signerName) +#define IXpsSignatureRequest_GetRequestSignByDate(This,dateString) (This)->lpVtbl->GetRequestSignByDate(This,dateString) +#define IXpsSignatureRequest_SetRequestSignByDate(This,dateString) (This)->lpVtbl->SetRequestSignByDate(This,dateString) +#define IXpsSignatureRequest_GetSigningLocale(This,place) (This)->lpVtbl->GetSigningLocale(This,place) +#define IXpsSignatureRequest_SetSigningLocale(This,place) (This)->lpVtbl->SetSigningLocale(This,place) +#define IXpsSignatureRequest_GetSpotLocation(This,pageIndex,pagePartName,x,y) (This)->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y) +#define IXpsSignatureRequest_SetSpotLocation(This,pageIndex,x,y) (This)->lpVtbl->SetSpotLocation(This,pageIndex,x,y) +#define IXpsSignatureRequest_GetRequestId(This,requestId) (This)->lpVtbl->GetRequestId(This,requestId) +#define IXpsSignatureRequest_GetSignature(This,signature) (This)->lpVtbl->GetSignature(This,signature) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureRequest_QueryInterface(IXpsSignatureRequest* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureRequest_AddRef(IXpsSignatureRequest* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureRequest_Release(IXpsSignatureRequest* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureRequest methods ***/ +static inline HRESULT IXpsSignatureRequest_GetIntent(IXpsSignatureRequest* This,LPWSTR *intent) { + return This->lpVtbl->GetIntent(This,intent); +} +static inline HRESULT IXpsSignatureRequest_SetIntent(IXpsSignatureRequest* This,LPCWSTR intent) { + return This->lpVtbl->SetIntent(This,intent); +} +static inline HRESULT IXpsSignatureRequest_GetRequestedSigner(IXpsSignatureRequest* This,LPWSTR *signerName) { + return This->lpVtbl->GetRequestedSigner(This,signerName); +} +static inline HRESULT IXpsSignatureRequest_SetRequestedSigner(IXpsSignatureRequest* This,LPCWSTR signerName) { + return This->lpVtbl->SetRequestedSigner(This,signerName); +} +static inline HRESULT IXpsSignatureRequest_GetRequestSignByDate(IXpsSignatureRequest* This,LPWSTR *dateString) { + return This->lpVtbl->GetRequestSignByDate(This,dateString); +} +static inline HRESULT IXpsSignatureRequest_SetRequestSignByDate(IXpsSignatureRequest* This,LPCWSTR dateString) { + return This->lpVtbl->SetRequestSignByDate(This,dateString); +} +static inline HRESULT IXpsSignatureRequest_GetSigningLocale(IXpsSignatureRequest* This,LPWSTR *place) { + return This->lpVtbl->GetSigningLocale(This,place); +} +static inline HRESULT IXpsSignatureRequest_SetSigningLocale(IXpsSignatureRequest* This,LPCWSTR place) { + return This->lpVtbl->SetSigningLocale(This,place); +} +static inline HRESULT IXpsSignatureRequest_GetSpotLocation(IXpsSignatureRequest* This,INT32 *pageIndex,IOpcPartUri **pagePartName,float *x,float *y) { + return This->lpVtbl->GetSpotLocation(This,pageIndex,pagePartName,x,y); +} +static inline HRESULT IXpsSignatureRequest_SetSpotLocation(IXpsSignatureRequest* This,INT32 pageIndex,float x,float y) { + return This->lpVtbl->SetSpotLocation(This,pageIndex,x,y); +} +static inline HRESULT IXpsSignatureRequest_GetRequestId(IXpsSignatureRequest* This,LPWSTR *requestId) { + return This->lpVtbl->GetRequestId(This,requestId); +} +static inline HRESULT IXpsSignatureRequest_GetSignature(IXpsSignatureRequest* This,IXpsSignature **signature) { + return This->lpVtbl->GetSignature(This,signature); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureRequest_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsSignatureRequestCollection interface + */ +#ifndef __IXpsSignatureRequestCollection_INTERFACE_DEFINED__ +#define __IXpsSignatureRequestCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f0253e68-9f19-412e-9b4f-54d3b0ac6cd9") +IXpsSignatureRequestCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsSignatureRequest **signatureRequest) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsSignatureRequestCollection, 0xf0253e68, 0x9f19, 0x412e, 0x9b,0x4f, 0x54,0xd3,0xb0,0xac,0x6c,0xd9) +#endif +#else +typedef struct IXpsSignatureRequestCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsSignatureRequestCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsSignatureRequestCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsSignatureRequestCollection *This); + + /*** IXpsSignatureRequestCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsSignatureRequestCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsSignatureRequestCollection *This, + UINT32 index, + IXpsSignatureRequest **signatureRequest); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsSignatureRequestCollection *This, + UINT32 index); + + END_INTERFACE +} IXpsSignatureRequestCollectionVtbl; + +interface IXpsSignatureRequestCollection { + CONST_VTBL IXpsSignatureRequestCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsSignatureRequestCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsSignatureRequestCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsSignatureRequestCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsSignatureRequestCollection methods ***/ +#define IXpsSignatureRequestCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsSignatureRequestCollection_GetAt(This,index,signatureRequest) (This)->lpVtbl->GetAt(This,index,signatureRequest) +#define IXpsSignatureRequestCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsSignatureRequestCollection_QueryInterface(IXpsSignatureRequestCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsSignatureRequestCollection_AddRef(IXpsSignatureRequestCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsSignatureRequestCollection_Release(IXpsSignatureRequestCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsSignatureRequestCollection methods ***/ +static inline HRESULT IXpsSignatureRequestCollection_GetCount(IXpsSignatureRequestCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsSignatureRequestCollection_GetAt(IXpsSignatureRequestCollection* This,UINT32 index,IXpsSignatureRequest **signatureRequest) { + return This->lpVtbl->GetAt(This,index,signatureRequest); +} +static inline HRESULT IXpsSignatureRequestCollection_RemoveAt(IXpsSignatureRequestCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +#endif +#endif + +#endif + + +#endif /* __IXpsSignatureRequestCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * XpsSignatureManager coclass + */ + +DEFINE_GUID(CLSID_XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee); + +#ifdef __cplusplus +class DECLSPEC_UUID("b0c43320-2315-44a2-b70a-0943a140a8ee") XpsSignatureManager; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(XpsSignatureManager, 0xb0c43320, 0x2315, 0x44a2, 0xb7,0x0a, 0x09,0x43,0xa1,0x40,0xa8,0xee) +#endif +#endif + +#endif /* __MSXPSSIG_LIBRARY_DEFINED__ */ +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xpsdigitalsignature_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel.h new file mode 100644 index 00000000..ddce0ab8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel.h @@ -0,0 +1,11667 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel.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 __xpsobjectmodel_h__ +#define __xpsobjectmodel_h__ + +/* Forward declarations */ + +#ifndef __IXpsOMShareable_FWD_DEFINED__ +#define __IXpsOMShareable_FWD_DEFINED__ +typedef interface IXpsOMShareable IXpsOMShareable; +#ifdef __cplusplus +interface IXpsOMShareable; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPart_FWD_DEFINED__ +#define __IXpsOMPart_FWD_DEFINED__ +typedef interface IXpsOMPart IXpsOMPart; +#ifdef __cplusplus +interface IXpsOMPart; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGlyphsEditor_FWD_DEFINED__ +#define __IXpsOMGlyphsEditor_FWD_DEFINED__ +typedef interface IXpsOMGlyphsEditor IXpsOMGlyphsEditor; +#ifdef __cplusplus +interface IXpsOMGlyphsEditor; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDashCollection_FWD_DEFINED__ +#define __IXpsOMDashCollection_FWD_DEFINED__ +typedef interface IXpsOMDashCollection IXpsOMDashCollection; +#ifdef __cplusplus +interface IXpsOMDashCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometryFigure_FWD_DEFINED__ +#define __IXpsOMGeometryFigure_FWD_DEFINED__ +typedef interface IXpsOMGeometryFigure IXpsOMGeometryFigure; +#ifdef __cplusplus +interface IXpsOMGeometryFigure; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometryFigureCollection_FWD_DEFINED__ +#define __IXpsOMGeometryFigureCollection_FWD_DEFINED__ +typedef interface IXpsOMGeometryFigureCollection IXpsOMGeometryFigureCollection; +#ifdef __cplusplus +interface IXpsOMGeometryFigureCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientStopCollection_FWD_DEFINED__ +#define __IXpsOMGradientStopCollection_FWD_DEFINED__ +typedef interface IXpsOMGradientStopCollection IXpsOMGradientStopCollection; +#ifdef __cplusplus +interface IXpsOMGradientStopCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientStop_FWD_DEFINED__ +#define __IXpsOMGradientStop_FWD_DEFINED__ +typedef interface IXpsOMGradientStop IXpsOMGradientStop; +#ifdef __cplusplus +interface IXpsOMGradientStop; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPartResources_FWD_DEFINED__ +#define __IXpsOMPartResources_FWD_DEFINED__ +typedef interface IXpsOMPartResources IXpsOMPartResources; +#ifdef __cplusplus +interface IXpsOMPartResources; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMFontResourceCollection_FWD_DEFINED__ +#define __IXpsOMFontResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMFontResourceCollection IXpsOMFontResourceCollection; +#ifdef __cplusplus +interface IXpsOMFontResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageResourceCollection_FWD_DEFINED__ +#define __IXpsOMImageResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMImageResourceCollection IXpsOMImageResourceCollection; +#ifdef __cplusplus +interface IXpsOMImageResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMColorProfileResourceCollection_FWD_DEFINED__ +#define __IXpsOMColorProfileResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMColorProfileResourceCollection IXpsOMColorProfileResourceCollection; +#ifdef __cplusplus +interface IXpsOMColorProfileResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRemoteDictionaryResourceCollection_FWD_DEFINED__ +#define __IXpsOMRemoteDictionaryResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMRemoteDictionaryResourceCollection IXpsOMRemoteDictionaryResourceCollection; +#ifdef __cplusplus +interface IXpsOMRemoteDictionaryResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSignatureBlockResourceCollection_FWD_DEFINED__ +#define __IXpsOMSignatureBlockResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMSignatureBlockResourceCollection IXpsOMSignatureBlockResourceCollection; +#ifdef __cplusplus +interface IXpsOMSignatureBlockResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisualCollection_FWD_DEFINED__ +#define __IXpsOMVisualCollection_FWD_DEFINED__ +typedef interface IXpsOMVisualCollection IXpsOMVisualCollection; +#ifdef __cplusplus +interface IXpsOMVisualCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDictionary_FWD_DEFINED__ +#define __IXpsOMDictionary_FWD_DEFINED__ +typedef interface IXpsOMDictionary IXpsOMDictionary; +#ifdef __cplusplus +interface IXpsOMDictionary; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPageReference_FWD_DEFINED__ +#define __IXpsOMPageReference_FWD_DEFINED__ +typedef interface IXpsOMPageReference IXpsOMPageReference; +#ifdef __cplusplus +interface IXpsOMPageReference; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPageReferenceCollection_FWD_DEFINED__ +#define __IXpsOMPageReferenceCollection_FWD_DEFINED__ +typedef interface IXpsOMPageReferenceCollection IXpsOMPageReferenceCollection; +#ifdef __cplusplus +interface IXpsOMPageReferenceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocumentCollection_FWD_DEFINED__ +#define __IXpsOMDocumentCollection_FWD_DEFINED__ +typedef interface IXpsOMDocumentCollection IXpsOMDocumentCollection; +#ifdef __cplusplus +interface IXpsOMDocumentCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackage_FWD_DEFINED__ +#define __IXpsOMPackage_FWD_DEFINED__ +typedef interface IXpsOMPackage IXpsOMPackage; +#ifdef __cplusplus +interface IXpsOMPackage; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMObjectFactory_FWD_DEFINED__ +#define __IXpsOMObjectFactory_FWD_DEFINED__ +typedef interface IXpsOMObjectFactory IXpsOMObjectFactory; +#ifdef __cplusplus +interface IXpsOMObjectFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMNameCollection_FWD_DEFINED__ +#define __IXpsOMNameCollection_FWD_DEFINED__ +typedef interface IXpsOMNameCollection IXpsOMNameCollection; +#ifdef __cplusplus +interface IXpsOMNameCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPartUriCollection_FWD_DEFINED__ +#define __IXpsOMPartUriCollection_FWD_DEFINED__ +typedef interface IXpsOMPartUriCollection IXpsOMPartUriCollection; +#ifdef __cplusplus +interface IXpsOMPartUriCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackageWriter_FWD_DEFINED__ +#define __IXpsOMPackageWriter_FWD_DEFINED__ +typedef interface IXpsOMPackageWriter IXpsOMPackageWriter; +#ifdef __cplusplus +interface IXpsOMPackageWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackageTarget_FWD_DEFINED__ +#define __IXpsOMPackageTarget_FWD_DEFINED__ +typedef interface IXpsOMPackageTarget IXpsOMPackageTarget; +#ifdef __cplusplus +interface IXpsOMPackageTarget; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisual_FWD_DEFINED__ +#define __IXpsOMVisual_FWD_DEFINED__ +typedef interface IXpsOMVisual IXpsOMVisual; +#ifdef __cplusplus +interface IXpsOMVisual; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMBrush_FWD_DEFINED__ +#define __IXpsOMBrush_FWD_DEFINED__ +typedef interface IXpsOMBrush IXpsOMBrush; +#ifdef __cplusplus +interface IXpsOMBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMMatrixTransform_FWD_DEFINED__ +#define __IXpsOMMatrixTransform_FWD_DEFINED__ +typedef interface IXpsOMMatrixTransform IXpsOMMatrixTransform; +#ifdef __cplusplus +interface IXpsOMMatrixTransform; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometry_FWD_DEFINED__ +#define __IXpsOMGeometry_FWD_DEFINED__ +typedef interface IXpsOMGeometry IXpsOMGeometry; +#ifdef __cplusplus +interface IXpsOMGeometry; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGlyphs_FWD_DEFINED__ +#define __IXpsOMGlyphs_FWD_DEFINED__ +typedef interface IXpsOMGlyphs IXpsOMGlyphs; +#ifdef __cplusplus +interface IXpsOMGlyphs; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPath_FWD_DEFINED__ +#define __IXpsOMPath_FWD_DEFINED__ +typedef interface IXpsOMPath IXpsOMPath; +#ifdef __cplusplus +interface IXpsOMPath; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSolidColorBrush_FWD_DEFINED__ +#define __IXpsOMSolidColorBrush_FWD_DEFINED__ +typedef interface IXpsOMSolidColorBrush IXpsOMSolidColorBrush; +#ifdef __cplusplus +interface IXpsOMSolidColorBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMTileBrush_FWD_DEFINED__ +#define __IXpsOMTileBrush_FWD_DEFINED__ +typedef interface IXpsOMTileBrush IXpsOMTileBrush; +#ifdef __cplusplus +interface IXpsOMTileBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientBrush_FWD_DEFINED__ +#define __IXpsOMGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMGradientBrush IXpsOMGradientBrush; +#ifdef __cplusplus +interface IXpsOMGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisualBrush_FWD_DEFINED__ +#define __IXpsOMVisualBrush_FWD_DEFINED__ +typedef interface IXpsOMVisualBrush IXpsOMVisualBrush; +#ifdef __cplusplus +interface IXpsOMVisualBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageBrush_FWD_DEFINED__ +#define __IXpsOMImageBrush_FWD_DEFINED__ +typedef interface IXpsOMImageBrush IXpsOMImageBrush; +#ifdef __cplusplus +interface IXpsOMImageBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMLinearGradientBrush_FWD_DEFINED__ +#define __IXpsOMLinearGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMLinearGradientBrush IXpsOMLinearGradientBrush; +#ifdef __cplusplus +interface IXpsOMLinearGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRadialGradientBrush_FWD_DEFINED__ +#define __IXpsOMRadialGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMRadialGradientBrush IXpsOMRadialGradientBrush; +#ifdef __cplusplus +interface IXpsOMRadialGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMResource_FWD_DEFINED__ +#define __IXpsOMResource_FWD_DEFINED__ +typedef interface IXpsOMResource IXpsOMResource; +#ifdef __cplusplus +interface IXpsOMResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMFontResource_FWD_DEFINED__ +#define __IXpsOMFontResource_FWD_DEFINED__ +typedef interface IXpsOMFontResource IXpsOMFontResource; +#ifdef __cplusplus +interface IXpsOMFontResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageResource_FWD_DEFINED__ +#define __IXpsOMImageResource_FWD_DEFINED__ +typedef interface IXpsOMImageResource IXpsOMImageResource; +#ifdef __cplusplus +interface IXpsOMImageResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMColorProfileResource_FWD_DEFINED__ +#define __IXpsOMColorProfileResource_FWD_DEFINED__ +typedef interface IXpsOMColorProfileResource IXpsOMColorProfileResource; +#ifdef __cplusplus +interface IXpsOMColorProfileResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPrintTicketResource_FWD_DEFINED__ +#define __IXpsOMPrintTicketResource_FWD_DEFINED__ +typedef interface IXpsOMPrintTicketResource IXpsOMPrintTicketResource; +#ifdef __cplusplus +interface IXpsOMPrintTicketResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRemoteDictionaryResource_FWD_DEFINED__ +#define __IXpsOMRemoteDictionaryResource_FWD_DEFINED__ +typedef interface IXpsOMRemoteDictionaryResource IXpsOMRemoteDictionaryResource; +#ifdef __cplusplus +interface IXpsOMRemoteDictionaryResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocumentStructureResource_FWD_DEFINED__ +#define __IXpsOMDocumentStructureResource_FWD_DEFINED__ +typedef interface IXpsOMDocumentStructureResource IXpsOMDocumentStructureResource; +#ifdef __cplusplus +interface IXpsOMDocumentStructureResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMStoryFragmentsResource_FWD_DEFINED__ +#define __IXpsOMStoryFragmentsResource_FWD_DEFINED__ +typedef interface IXpsOMStoryFragmentsResource IXpsOMStoryFragmentsResource; +#ifdef __cplusplus +interface IXpsOMStoryFragmentsResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSignatureBlockResource_FWD_DEFINED__ +#define __IXpsOMSignatureBlockResource_FWD_DEFINED__ +typedef interface IXpsOMSignatureBlockResource IXpsOMSignatureBlockResource; +#ifdef __cplusplus +interface IXpsOMSignatureBlockResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMCanvas_FWD_DEFINED__ +#define __IXpsOMCanvas_FWD_DEFINED__ +typedef interface IXpsOMCanvas IXpsOMCanvas; +#ifdef __cplusplus +interface IXpsOMCanvas; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPage_FWD_DEFINED__ +#define __IXpsOMPage_FWD_DEFINED__ +typedef interface IXpsOMPage IXpsOMPage; +#ifdef __cplusplus +interface IXpsOMPage; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocument_FWD_DEFINED__ +#define __IXpsOMDocument_FWD_DEFINED__ +typedef interface IXpsOMDocument IXpsOMDocument; +#ifdef __cplusplus +interface IXpsOMDocument; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocumentSequence_FWD_DEFINED__ +#define __IXpsOMDocumentSequence_FWD_DEFINED__ +typedef interface IXpsOMDocumentSequence IXpsOMDocumentSequence; +#ifdef __cplusplus +interface IXpsOMDocumentSequence; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMCoreProperties_FWD_DEFINED__ +#define __IXpsOMCoreProperties_FWD_DEFINED__ +typedef interface IXpsOMCoreProperties IXpsOMCoreProperties; +#ifdef __cplusplus +interface IXpsOMCoreProperties; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMThumbnailGenerator_FWD_DEFINED__ +#define __IXpsOMThumbnailGenerator_FWD_DEFINED__ +typedef interface IXpsOMThumbnailGenerator IXpsOMThumbnailGenerator; +#ifdef __cplusplus +interface IXpsOMThumbnailGenerator; +#endif /* __cplusplus */ +#endif + +#ifndef __XpsOMObjectFactory_FWD_DEFINED__ +#define __XpsOMObjectFactory_FWD_DEFINED__ +#ifdef __cplusplus +typedef class XpsOMObjectFactory XpsOMObjectFactory; +#else +typedef struct XpsOMObjectFactory XpsOMObjectFactory; +#endif /* defined __cplusplus */ +#endif /* defined __XpsOMObjectFactory_FWD_DEFINED__ */ + +#ifndef __XpsOMThumbnailGenerator_FWD_DEFINED__ +#define __XpsOMThumbnailGenerator_FWD_DEFINED__ +#ifdef __cplusplus +typedef class XpsOMThumbnailGenerator XpsOMThumbnailGenerator; +#else +typedef struct XpsOMThumbnailGenerator XpsOMThumbnailGenerator; +#endif /* defined __cplusplus */ +#endif /* defined __XpsOMThumbnailGenerator_FWD_DEFINED__ */ + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if NTDDI_VERSION >= 0x06010000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define XPS_E_INVALID_LANGUAGE MAKE_HRESULT(1, FACILITY_XPS, 0x0) +#define XPS_E_INVALID_NAME MAKE_HRESULT(1, FACILITY_XPS, 0x1) +#define XPS_E_INVALID_RESOURCE_KEY MAKE_HRESULT(1, FACILITY_XPS, 0x2) +#define XPS_E_INVALID_PAGE_SIZE MAKE_HRESULT(1, FACILITY_XPS, 0x3) +#define XPS_E_INVALID_BLEED_BOX MAKE_HRESULT(1, FACILITY_XPS, 0x4) +#define XPS_E_INVALID_THUMBNAIL_IMAGE_TYPE MAKE_HRESULT(1, FACILITY_XPS, 0x5) +#define XPS_E_INVALID_LOOKUP_TYPE MAKE_HRESULT(1, FACILITY_XPS, 0x6) +#define XPS_E_INVALID_FLOAT MAKE_HRESULT(1, FACILITY_XPS, 0x7) +#define XPS_E_UNEXPECTED_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_XPS, 0x8) +#define XPS_E_INVALID_FONT_URI MAKE_HRESULT(1, FACILITY_XPS, 0xa) +#define XPS_E_INVALID_CONTENT_BOX MAKE_HRESULT(1, FACILITY_XPS, 0xb) +#define XPS_E_INVALID_MARKUP MAKE_HRESULT(1, FACILITY_XPS, 0xc) +#define XPS_E_INVALID_XML_ENCODING MAKE_HRESULT(1, FACILITY_XPS, 0xd) +#define XPS_E_INVALID_CONTENT_TYPE MAKE_HRESULT(1, FACILITY_XPS, 0xe) +#define XPS_E_INVALID_OBFUSCATED_FONT_URI MAKE_HRESULT(1, FACILITY_XPS, 0xf) +#define XPS_E_UNEXPECTED_RELATIONSHIP_TYPE MAKE_HRESULT(1, FACILITY_XPS, 0x10) +#define XPS_E_UNEXPECTED_RESTRICTED_FONT_RELATIONSHIP MAKE_HRESULT(1, FACILITY_XPS, 0x11) +#define XPS_E_MISSING_NAME MAKE_HRESULT(1, FACILITY_XPS, 0x100) +#define XPS_E_MISSING_LOOKUP MAKE_HRESULT(1, FACILITY_XPS, 0x101) +#define XPS_E_MISSING_GLYPHS MAKE_HRESULT(1, FACILITY_XPS, 0x102) +#define XPS_E_MISSING_SEGMENT_DATA MAKE_HRESULT(1, FACILITY_XPS, 0x103) +#define XPS_E_MISSING_COLORPROFILE MAKE_HRESULT(1, FACILITY_XPS, 0x104) +#define XPS_E_MISSING_RELATIONSHIP_TARGET MAKE_HRESULT(1, FACILITY_XPS, 0x105) +#define XPS_E_MISSING_RESOURCE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_XPS, 0x106) +#define XPS_E_MISSING_FONTURI MAKE_HRESULT(1, FACILITY_XPS, 0x107) +#define XPS_E_MISSING_DOCUMENTSEQUENCE_RELATIONSHIP MAKE_HRESULT(1, FACILITY_XPS, 0x108) +#define XPS_E_MISSING_DOCUMENT MAKE_HRESULT(1, FACILITY_XPS, 0x109) +#define XPS_E_MISSING_REFERRED_DOCUMENT MAKE_HRESULT(1, FACILITY_XPS, 0x10a) +#define XPS_E_MISSING_REFERRED_PAGE MAKE_HRESULT(1, FACILITY_XPS, 0x10b) +#define XPS_E_MISSING_PAGE_IN_DOCUMENT MAKE_HRESULT(1, FACILITY_XPS, 0x10c) +#define XPS_E_MISSING_PAGE_IN_PAGEREFERENCE MAKE_HRESULT(1, FACILITY_XPS, 0x10d) +#define XPS_E_MISSING_IMAGE_IN_IMAGEBRUSH MAKE_HRESULT(1, FACILITY_XPS, 0x10e) +#define XPS_E_MISSING_RESOURCE_KEY MAKE_HRESULT(1, FACILITY_XPS, 0x10f) +#define XPS_E_MISSING_PART_REFERENCE MAKE_HRESULT(1, FACILITY_XPS, 0x110) +#define XPS_E_MISSING_RESTRICTED_FONT_RELATIONSHIP MAKE_HRESULT(1, FACILITY_XPS, 0x111) +#define XPS_E_MISSING_DISCARDCONTROL MAKE_HRESULT(1, FACILITY_XPS, 0x112) +#define XPS_E_MISSING_PART_STREAM MAKE_HRESULT(1, FACILITY_XPS, 0x113) +#define XPS_E_UNAVAILABLE_PACKAGE MAKE_HRESULT(1, FACILITY_XPS, 0x114) +#define XPS_E_DUPLICATE_RESOURCE_KEYS MAKE_HRESULT(1, FACILITY_XPS, 0x200) +#define XPS_E_MULTIPLE_RESOURCES MAKE_HRESULT(1, FACILITY_XPS, 0x201) +#define XPS_E_MULTIPLE_DOCUMENTSEQUENCE_RELATIONSHIPS MAKE_HRESULT(1, FACILITY_XPS, 0x202) +#define XPS_E_MULTIPLE_THUMBNAILS_ON_PAGE MAKE_HRESULT(1, FACILITY_XPS, 0x203) +#define XPS_E_MULTIPLE_THUMBNAILS_ON_PACKAGE MAKE_HRESULT(1, FACILITY_XPS, 0x204) +#define XPS_E_MULTIPLE_PRINTTICKETS_ON_PAGE MAKE_HRESULT(1, FACILITY_XPS, 0x205) +#define XPS_E_MULTIPLE_PRINTTICKETS_ON_DOCUMENT MAKE_HRESULT(1, FACILITY_XPS, 0x206) +#define XPS_E_MULTIPLE_PRINTTICKETS_ON_DOCUMENTSEQUENCE MAKE_HRESULT(1, FACILITY_XPS, 0x207) +#define XPS_E_MULTIPLE_REFERENCES_TO_PART MAKE_HRESULT(1, FACILITY_XPS, 0x208) +#define XPS_E_DUPLICATE_NAMES MAKE_HRESULT(1, FACILITY_XPS, 0x209) +#define XPS_E_STRING_TOO_LONG MAKE_HRESULT(1, FACILITY_XPS, 0x300) +#define XPS_E_TOO_MANY_INDICES MAKE_HRESULT(1, FACILITY_XPS, 0x301) +#define XPS_E_MAPPING_OUT_OF_ORDER MAKE_HRESULT(1, FACILITY_XPS, 0x302) +#define XPS_E_MAPPING_OUTSIDE_STRING MAKE_HRESULT(1, FACILITY_XPS, 0x303) +#define XPS_E_MAPPING_OUTSIDE_INDICES MAKE_HRESULT(1, FACILITY_XPS, 0x304) +#define XPS_E_CARET_OUTSIDE_STRING MAKE_HRESULT(1, FACILITY_XPS, 0x305) +#define XPS_E_CARET_OUT_OF_ORDER MAKE_HRESULT(1, FACILITY_XPS, 0x306) +#define XPS_E_ODD_BIDILEVEL MAKE_HRESULT(1, FACILITY_XPS, 0x307) +#define XPS_E_ONE_TO_ONE_MAPPING_EXPECTED MAKE_HRESULT(1, FACILITY_XPS, 0x308) +#define XPS_E_RESTRICTED_FONT_NOT_OBFUSCATED MAKE_HRESULT(1, FACILITY_XPS, 0x309) +#define XPS_E_NEGATIVE_FLOAT MAKE_HRESULT(1, FACILITY_XPS, 0x30a) +#define XPS_E_XKEY_ATTR_PRESENT_OUTSIDE_RES_DICT MAKE_HRESULT(1, FACILITY_XPS, 0x400) +#define XPS_E_DICTIONARY_ITEM_NAMED MAKE_HRESULT(1, FACILITY_XPS, 0x401) +#define XPS_E_NESTED_REMOTE_DICTIONARY MAKE_HRESULT(1, FACILITY_XPS, 0x402) +#define XPS_E_INDEX_OUT_OF_RANGE MAKE_HRESULT(1, FACILITY_XPS, 0x500) +#define XPS_E_VISUAL_CIRCULAR_REF MAKE_HRESULT(1, FACILITY_XPS, 0x501) +#define XPS_E_NO_CUSTOM_OBJECTS MAKE_HRESULT(1, FACILITY_XPS, 0x502) +#define XPS_E_ALREADY_OWNED MAKE_HRESULT(1, FACILITY_XPS, 0x503) +#define XPS_E_RESOURCE_NOT_OWNED MAKE_HRESULT(1, FACILITY_XPS, 0x504) +#define XPS_E_UNEXPECTED_COLORPROFILE MAKE_HRESULT(1, FACILITY_XPS, 0x505) +#define XPS_E_COLOR_COMPONENT_OUT_OF_RANGE MAKE_HRESULT(1, FACILITY_XPS, 0x506) +#define XPS_E_BOTH_PATHFIGURE_AND_ABBR_SYNTAX_PRESENT MAKE_HRESULT(1, FACILITY_XPS, 0x507) +#define XPS_E_BOTH_RESOURCE_AND_SOURCEATTR_PRESENT MAKE_HRESULT(1, FACILITY_XPS, 0x508) +#define XPS_E_BLEED_BOX_PAGE_DIMENSIONS_NOT_IN_SYNC MAKE_HRESULT(1, FACILITY_XPS, 0x509) +#define XPS_E_RELATIONSHIP_EXTERNAL MAKE_HRESULT(1, FACILITY_XPS, 0x50a) +#define XPS_E_NOT_ENOUGH_GRADIENT_STOPS MAKE_HRESULT(1, FACILITY_XPS, 0x50b) +#define XPS_E_PACKAGE_WRITER_NOT_CLOSED MAKE_HRESULT(1, FACILITY_XPS, 0x50c) +#ifndef __IXpsOMDocumentStructureResource_FWD_DEFINED__ +#define __IXpsOMDocumentStructureResource_FWD_DEFINED__ +typedef interface IXpsOMDocumentStructureResource IXpsOMDocumentStructureResource; +#ifdef __cplusplus +interface IXpsOMDocumentStructureResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMCoreProperties_FWD_DEFINED__ +#define __IXpsOMCoreProperties_FWD_DEFINED__ +typedef interface IXpsOMCoreProperties IXpsOMCoreProperties; +#ifdef __cplusplus +interface IXpsOMCoreProperties; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPrintTicketResource_FWD_DEFINED__ +#define __IXpsOMPrintTicketResource_FWD_DEFINED__ +typedef interface IXpsOMPrintTicketResource IXpsOMPrintTicketResource; +#ifdef __cplusplus +interface IXpsOMPrintTicketResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMStoryFragmentsResource_FWD_DEFINED__ +#define __IXpsOMStoryFragmentsResource_FWD_DEFINED__ +typedef interface IXpsOMStoryFragmentsResource IXpsOMStoryFragmentsResource; +#ifdef __cplusplus +interface IXpsOMStoryFragmentsResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackage_FWD_DEFINED__ +#define __IXpsOMPackage_FWD_DEFINED__ +typedef interface IXpsOMPackage IXpsOMPackage; +#ifdef __cplusplus +interface IXpsOMPackage; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPart_FWD_DEFINED__ +#define __IXpsOMPart_FWD_DEFINED__ +typedef interface IXpsOMPart IXpsOMPart; +#ifdef __cplusplus +interface IXpsOMPart; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMShareable_FWD_DEFINED__ +#define __IXpsOMShareable_FWD_DEFINED__ +typedef interface IXpsOMShareable IXpsOMShareable; +#ifdef __cplusplus +interface IXpsOMShareable; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisual_FWD_DEFINED__ +#define __IXpsOMVisual_FWD_DEFINED__ +typedef interface IXpsOMVisual IXpsOMVisual; +#ifdef __cplusplus +interface IXpsOMVisual; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMBrush_FWD_DEFINED__ +#define __IXpsOMBrush_FWD_DEFINED__ +typedef interface IXpsOMBrush IXpsOMBrush; +#ifdef __cplusplus +interface IXpsOMBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMTileBrush_FWD_DEFINED__ +#define __IXpsOMTileBrush_FWD_DEFINED__ +typedef interface IXpsOMTileBrush IXpsOMTileBrush; +#ifdef __cplusplus +interface IXpsOMTileBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMResource_FWD_DEFINED__ +#define __IXpsOMResource_FWD_DEFINED__ +typedef interface IXpsOMResource IXpsOMResource; +#ifdef __cplusplus +interface IXpsOMResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMCanvas_FWD_DEFINED__ +#define __IXpsOMCanvas_FWD_DEFINED__ +typedef interface IXpsOMCanvas IXpsOMCanvas; +#ifdef __cplusplus +interface IXpsOMCanvas; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMColorProfileResource_FWD_DEFINED__ +#define __IXpsOMColorProfileResource_FWD_DEFINED__ +typedef interface IXpsOMColorProfileResource IXpsOMColorProfileResource; +#ifdef __cplusplus +interface IXpsOMColorProfileResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMColorProfileResourceCollection_FWD_DEFINED__ +#define __IXpsOMColorProfileResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMColorProfileResourceCollection IXpsOMColorProfileResourceCollection; +#ifdef __cplusplus +interface IXpsOMColorProfileResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDashCollection_FWD_DEFINED__ +#define __IXpsOMDashCollection_FWD_DEFINED__ +typedef interface IXpsOMDashCollection IXpsOMDashCollection; +#ifdef __cplusplus +interface IXpsOMDashCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMFontResource_FWD_DEFINED__ +#define __IXpsOMFontResource_FWD_DEFINED__ +typedef interface IXpsOMFontResource IXpsOMFontResource; +#ifdef __cplusplus +interface IXpsOMFontResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMFontResourceCollection_FWD_DEFINED__ +#define __IXpsOMFontResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMFontResourceCollection IXpsOMFontResourceCollection; +#ifdef __cplusplus +interface IXpsOMFontResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometry_FWD_DEFINED__ +#define __IXpsOMGeometry_FWD_DEFINED__ +typedef interface IXpsOMGeometry IXpsOMGeometry; +#ifdef __cplusplus +interface IXpsOMGeometry; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometryFigure_FWD_DEFINED__ +#define __IXpsOMGeometryFigure_FWD_DEFINED__ +typedef interface IXpsOMGeometryFigure IXpsOMGeometryFigure; +#ifdef __cplusplus +interface IXpsOMGeometryFigure; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGeometryFigureCollection_FWD_DEFINED__ +#define __IXpsOMGeometryFigureCollection_FWD_DEFINED__ +typedef interface IXpsOMGeometryFigureCollection IXpsOMGeometryFigureCollection; +#ifdef __cplusplus +interface IXpsOMGeometryFigureCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGlyphs_FWD_DEFINED__ +#define __IXpsOMGlyphs_FWD_DEFINED__ +typedef interface IXpsOMGlyphs IXpsOMGlyphs; +#ifdef __cplusplus +interface IXpsOMGlyphs; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientBrush_FWD_DEFINED__ +#define __IXpsOMGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMGradientBrush IXpsOMGradientBrush; +#ifdef __cplusplus +interface IXpsOMGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientStop_FWD_DEFINED__ +#define __IXpsOMGradientStop_FWD_DEFINED__ +typedef interface IXpsOMGradientStop IXpsOMGradientStop; +#ifdef __cplusplus +interface IXpsOMGradientStop; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMGradientStopCollection_FWD_DEFINED__ +#define __IXpsOMGradientStopCollection_FWD_DEFINED__ +typedef interface IXpsOMGradientStopCollection IXpsOMGradientStopCollection; +#ifdef __cplusplus +interface IXpsOMGradientStopCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageBrush_FWD_DEFINED__ +#define __IXpsOMImageBrush_FWD_DEFINED__ +typedef interface IXpsOMImageBrush IXpsOMImageBrush; +#ifdef __cplusplus +interface IXpsOMImageBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageResource_FWD_DEFINED__ +#define __IXpsOMImageResource_FWD_DEFINED__ +typedef interface IXpsOMImageResource IXpsOMImageResource; +#ifdef __cplusplus +interface IXpsOMImageResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMImageResourceCollection_FWD_DEFINED__ +#define __IXpsOMImageResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMImageResourceCollection IXpsOMImageResourceCollection; +#ifdef __cplusplus +interface IXpsOMImageResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMLinearGradientBrush_FWD_DEFINED__ +#define __IXpsOMLinearGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMLinearGradientBrush IXpsOMLinearGradientBrush; +#ifdef __cplusplus +interface IXpsOMLinearGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMMatrixTransform_FWD_DEFINED__ +#define __IXpsOMMatrixTransform_FWD_DEFINED__ +typedef interface IXpsOMMatrixTransform IXpsOMMatrixTransform; +#ifdef __cplusplus +interface IXpsOMMatrixTransform; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPartResources_FWD_DEFINED__ +#define __IXpsOMPartResources_FWD_DEFINED__ +typedef interface IXpsOMPartResources IXpsOMPartResources; +#ifdef __cplusplus +interface IXpsOMPartResources; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPath_FWD_DEFINED__ +#define __IXpsOMPath_FWD_DEFINED__ +typedef interface IXpsOMPath IXpsOMPath; +#ifdef __cplusplus +interface IXpsOMPath; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPartUriCollection_FWD_DEFINED__ +#define __IXpsOMPartUriCollection_FWD_DEFINED__ +typedef interface IXpsOMPartUriCollection IXpsOMPartUriCollection; +#ifdef __cplusplus +interface IXpsOMPartUriCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRadialGradientBrush_FWD_DEFINED__ +#define __IXpsOMRadialGradientBrush_FWD_DEFINED__ +typedef interface IXpsOMRadialGradientBrush IXpsOMRadialGradientBrush; +#ifdef __cplusplus +interface IXpsOMRadialGradientBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRemoteDictionaryResource_FWD_DEFINED__ +#define __IXpsOMRemoteDictionaryResource_FWD_DEFINED__ +typedef interface IXpsOMRemoteDictionaryResource IXpsOMRemoteDictionaryResource; +#ifdef __cplusplus +interface IXpsOMRemoteDictionaryResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRemoteDictionaryResourceCollection_FWD_DEFINED__ +#define __IXpsOMRemoteDictionaryResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMRemoteDictionaryResourceCollection IXpsOMRemoteDictionaryResourceCollection; +#ifdef __cplusplus +interface IXpsOMRemoteDictionaryResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDictionary_FWD_DEFINED__ +#define __IXpsOMDictionary_FWD_DEFINED__ +typedef interface IXpsOMDictionary IXpsOMDictionary; +#ifdef __cplusplus +interface IXpsOMDictionary; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMShareable_FWD_DEFINED__ +#define __IXpsOMShareable_FWD_DEFINED__ +typedef interface IXpsOMShareable IXpsOMShareable; +#ifdef __cplusplus +interface IXpsOMShareable; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSolidColorBrush_FWD_DEFINED__ +#define __IXpsOMSolidColorBrush_FWD_DEFINED__ +typedef interface IXpsOMSolidColorBrush IXpsOMSolidColorBrush; +#ifdef __cplusplus +interface IXpsOMSolidColorBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMTileBrush_FWD_DEFINED__ +#define __IXpsOMTileBrush_FWD_DEFINED__ +typedef interface IXpsOMTileBrush IXpsOMTileBrush; +#ifdef __cplusplus +interface IXpsOMTileBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisualBrush_FWD_DEFINED__ +#define __IXpsOMVisualBrush_FWD_DEFINED__ +typedef interface IXpsOMVisualBrush IXpsOMVisualBrush; +#ifdef __cplusplus +interface IXpsOMVisualBrush; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMVisualCollection_FWD_DEFINED__ +#define __IXpsOMVisualCollection_FWD_DEFINED__ +typedef interface IXpsOMVisualCollection IXpsOMVisualCollection; +#ifdef __cplusplus +interface IXpsOMVisualCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPageReference_FWD_DEFINED__ +#define __IXpsOMPageReference_FWD_DEFINED__ +typedef interface IXpsOMPageReference IXpsOMPageReference; +#ifdef __cplusplus +interface IXpsOMPageReference; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocumentSequence_FWD_DEFINED__ +#define __IXpsOMDocumentSequence_FWD_DEFINED__ +typedef interface IXpsOMDocumentSequence IXpsOMDocumentSequence; +#ifdef __cplusplus +interface IXpsOMDocumentSequence; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSignatureBlockResource_FWD_DEFINED__ +#define __IXpsOMSignatureBlockResource_FWD_DEFINED__ +typedef interface IXpsOMSignatureBlockResource IXpsOMSignatureBlockResource; +#ifdef __cplusplus +interface IXpsOMSignatureBlockResource; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMSignatureBlockResourceCollection_FWD_DEFINED__ +#define __IXpsOMSignatureBlockResourceCollection_FWD_DEFINED__ +typedef interface IXpsOMSignatureBlockResourceCollection IXpsOMSignatureBlockResourceCollection; +#ifdef __cplusplus +interface IXpsOMSignatureBlockResourceCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMNameCollection_FWD_DEFINED__ +#define __IXpsOMNameCollection_FWD_DEFINED__ +typedef interface IXpsOMNameCollection IXpsOMNameCollection; +#ifdef __cplusplus +interface IXpsOMNameCollection; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMDocument_FWD_DEFINED__ +#define __IXpsOMDocument_FWD_DEFINED__ +typedef interface IXpsOMDocument IXpsOMDocument; +#ifdef __cplusplus +interface IXpsOMDocument; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPage_FWD_DEFINED__ +#define __IXpsOMPage_FWD_DEFINED__ +typedef interface IXpsOMPage IXpsOMPage; +#ifdef __cplusplus +interface IXpsOMPage; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackageWriter_FWD_DEFINED__ +#define __IXpsOMPackageWriter_FWD_DEFINED__ +typedef interface IXpsOMPackageWriter IXpsOMPackageWriter; +#ifdef __cplusplus +interface IXpsOMPackageWriter; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackageTarget_FWD_DEFINED__ +#define __IXpsOMPackageTarget_FWD_DEFINED__ +typedef interface IXpsOMPackageTarget IXpsOMPackageTarget; +#ifdef __cplusplus +interface IXpsOMPackageTarget; +#endif /* __cplusplus */ +#endif + +typedef enum __WIDL_xpsobjectmodel_generated_name_00000031 { + XPS_COLOR_INTERPOLATION_SCRGBLINEAR = 1, + XPS_COLOR_INTERPOLATION_SRGBLINEAR = 2 +} XPS_COLOR_INTERPOLATION; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000032 { + XPS_COLOR_TYPE_SRGB = 1, + XPS_COLOR_TYPE_SCRGB = 2, + XPS_COLOR_TYPE_CONTEXT = 3 +} XPS_COLOR_TYPE; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000033 { + XPS_DASH_CAP_FLAT = 1, + XPS_DASH_CAP_ROUND = 2, + XPS_DASH_CAP_SQUARE = 3, + XPS_DASH_CAP_TRIANGLE = 4 +} XPS_DASH_CAP; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000034 { + XPS_FILL_RULE_EVENODD = 1, + XPS_FILL_RULE_NONZERO = 2 +} XPS_FILL_RULE; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000035 { + XPS_FONT_EMBEDDING_NORMAL = 1, + XPS_FONT_EMBEDDING_OBFUSCATED = 2, + XPS_FONT_EMBEDDING_RESTRICTED = 3, + XPS_FONT_EMBEDDING_RESTRICTED_UNOBFUSCATED = 4 +} XPS_FONT_EMBEDDING; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000036 { + XPS_IMAGE_TYPE_JPEG = 1, + XPS_IMAGE_TYPE_PNG = 2, + XPS_IMAGE_TYPE_TIFF = 3, + XPS_IMAGE_TYPE_WDP = 4, + XPS_IMAGE_TYPE_JXR = 5 +} XPS_IMAGE_TYPE; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000037 { + XPS_INTERLEAVING_OFF = 1, + XPS_INTERLEAVING_ON = 2 +} XPS_INTERLEAVING; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000038 { + XPS_LINE_CAP_FLAT = 1, + XPS_LINE_CAP_ROUND = 2, + XPS_LINE_CAP_SQUARE = 3, + XPS_LINE_CAP_TRIANGLE = 4 +} XPS_LINE_CAP; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000039 { + XPS_LINE_JOIN_MITER = 1, + XPS_LINE_JOIN_BEVEL = 2, + XPS_LINE_JOIN_ROUND = 3 +} XPS_LINE_JOIN; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003A { + XPS_OBJECT_TYPE_CANVAS = 1, + XPS_OBJECT_TYPE_GLYPHS = 2, + XPS_OBJECT_TYPE_PATH = 3, + XPS_OBJECT_TYPE_MATRIX_TRANSFORM = 4, + XPS_OBJECT_TYPE_GEOMETRY = 5, + XPS_OBJECT_TYPE_SOLID_COLOR_BRUSH = 6, + XPS_OBJECT_TYPE_IMAGE_BRUSH = 7, + XPS_OBJECT_TYPE_LINEAR_GRADIENT_BRUSH = 8, + XPS_OBJECT_TYPE_RADIAL_GRADIENT_BRUSH = 9, + XPS_OBJECT_TYPE_VISUAL_BRUSH = 10 +} XPS_OBJECT_TYPE; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003B { + XPS_SEGMENT_STROKE_PATTERN_ALL = 1, + XPS_SEGMENT_STROKE_PATTERN_NONE = 2, + XPS_SEGMENT_STROKE_PATTERN_MIXED = 3 +} XPS_SEGMENT_STROKE_PATTERN; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003C { + XPS_SEGMENT_TYPE_ARC_LARGE_CLOCKWISE = 1, + XPS_SEGMENT_TYPE_ARC_LARGE_COUNTERCLOCKWISE = 2, + XPS_SEGMENT_TYPE_ARC_SMALL_CLOCKWISE = 3, + XPS_SEGMENT_TYPE_ARC_SMALL_COUNTERCLOCKWISE = 4, + XPS_SEGMENT_TYPE_BEZIER = 5, + XPS_SEGMENT_TYPE_LINE = 6, + XPS_SEGMENT_TYPE_QUADRATIC_BEZIER = 7 +} XPS_SEGMENT_TYPE; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003D { + XPS_SPREAD_METHOD_PAD = 1, + XPS_SPREAD_METHOD_REFLECT = 2, + XPS_SPREAD_METHOD_REPEAT = 3 +} XPS_SPREAD_METHOD; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003E { + XPS_STYLE_SIMULATION_NONE = 1, + XPS_STYLE_SIMULATION_ITALIC = 2, + XPS_STYLE_SIMULATION_BOLD = 3, + XPS_STYLE_SIMULATION_BOLDITALIC = 4 +} XPS_STYLE_SIMULATION; +typedef enum __WIDL_xpsobjectmodel_generated_name_0000003F { + XPS_THUMBNAIL_SIZE_VERYSMALL = 1, + XPS_THUMBNAIL_SIZE_SMALL = 2, + XPS_THUMBNAIL_SIZE_MEDIUM = 3, + XPS_THUMBNAIL_SIZE_LARGE = 4 +} XPS_THUMBNAIL_SIZE; +typedef enum __WIDL_xpsobjectmodel_generated_name_00000040 { + XPS_TILE_MODE_NONE = 1, + XPS_TILE_MODE_TILE = 2, + XPS_TILE_MODE_FLIPX = 3, + XPS_TILE_MODE_FLIPY = 4, + XPS_TILE_MODE_FLIPXY = 5 +} XPS_TILE_MODE; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000042 { + XPS_COLOR_TYPE colorType; + union __WIDL_xpsobjectmodel_generated_name_00000041 { + struct { + UINT8 alpha; + UINT8 red; + UINT8 green; + UINT8 blue; + } sRGB; + struct { + FLOAT alpha; + FLOAT red; + FLOAT green; + FLOAT blue; + } scRGB; + struct { + UINT8 channelCount; + FLOAT channels[9]; + } context; + } value; +} XPS_COLOR; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000043 { + FLOAT length; + FLOAT gap; +} XPS_DASH; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000044 { + LONG index; + FLOAT advanceWidth; + FLOAT horizontalOffset; + FLOAT verticalOffset; +} XPS_GLYPH_INDEX; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000045 { + UINT32 unicodeStringStart; + UINT16 unicodeStringLength; + UINT32 glyphIndicesStart; + UINT16 glyphIndicesLength; +} XPS_GLYPH_MAPPING; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000046 { + FLOAT m11; + FLOAT m12; + FLOAT m21; + FLOAT m22; + FLOAT m31; + FLOAT m32; +} XPS_MATRIX; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000047 { + FLOAT x; + FLOAT y; +} XPS_POINT; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000048 { + FLOAT x; + FLOAT y; + FLOAT width; + FLOAT height; +} XPS_RECT; +typedef struct __WIDL_xpsobjectmodel_generated_name_00000049 { + FLOAT width; + FLOAT height; +} XPS_SIZE; +/***************************************************************************** + * IXpsOMShareable interface + */ +#ifndef __IXpsOMShareable_INTERFACE_DEFINED__ +#define __IXpsOMShareable_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMShareable, 0x7137398f, 0x2fc1, 0x454d, 0x8c,0x6a, 0x2c,0x31,0x15,0xa1,0x6e,0xce); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7137398f-2fc1-454d-8c6a-2c3115a16ece") +IXpsOMShareable : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IUnknown **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetType( + XPS_OBJECT_TYPE *type) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMShareable, 0x7137398f, 0x2fc1, 0x454d, 0x8c,0x6a, 0x2c,0x31,0x15,0xa1,0x6e,0xce) +#endif +#else +typedef struct IXpsOMShareableVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMShareable *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMShareable *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMShareable *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMShareable *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMShareable *This, + XPS_OBJECT_TYPE *type); + + END_INTERFACE +} IXpsOMShareableVtbl; + +interface IXpsOMShareable { + CONST_VTBL IXpsOMShareableVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMShareable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMShareable_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMShareable_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMShareable_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMShareable_GetType(This,type) (This)->lpVtbl->GetType(This,type) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMShareable_QueryInterface(IXpsOMShareable* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMShareable_AddRef(IXpsOMShareable* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMShareable_Release(IXpsOMShareable* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMShareable_GetOwner(IXpsOMShareable* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMShareable_GetType(IXpsOMShareable* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMShareable_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPart interface + */ +#ifndef __IXpsOMPart_INTERFACE_DEFINED__ +#define __IXpsOMPart_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPart, 0x74eb2f0b, 0xa91e, 0x4486, 0xaf,0xac, 0x0f,0xab,0xec,0xa3,0xdf,0xc6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("74eb2f0b-a91e-4486-afac-0fabeca3dfc6") +IXpsOMPart : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetPartName( + IOpcPartUri **partUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPartName( + IOpcPartUri *partUri) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPart, 0x74eb2f0b, 0xa91e, 0x4486, 0xaf,0xac, 0x0f,0xab,0xec,0xa3,0xdf,0xc6) +#endif +#else +typedef struct IXpsOMPartVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPart *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPart *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPart *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMPart *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMPart *This, + IOpcPartUri *partUri); + + END_INTERFACE +} IXpsOMPartVtbl; + +interface IXpsOMPart { + CONST_VTBL IXpsOMPartVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPart_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPart_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPart_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMPart_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMPart_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPart_QueryInterface(IXpsOMPart* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPart_AddRef(IXpsOMPart* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPart_Release(IXpsOMPart* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMPart_GetPartName(IXpsOMPart* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMPart_SetPartName(IXpsOMPart* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPart_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGlyphsEditor interface + */ +#ifndef __IXpsOMGlyphsEditor_INTERFACE_DEFINED__ +#define __IXpsOMGlyphsEditor_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGlyphsEditor, 0xa5ab8616, 0x5b16, 0x4b9f, 0x96,0x29, 0x89,0xb3,0x23,0xed,0x79,0x09); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a5ab8616-5b16-4b9f-9629-89b323ed7909") +IXpsOMGlyphsEditor : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE ApplyEdits( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUnicodeString( + LPWSTR *unicodeString) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUnicodeString( + LPCWSTR unicodeString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphIndexCount( + UINT32 *indexCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphIndices( + UINT32 *indexCount, + XPS_GLYPH_INDEX *glyphIndices) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGlyphIndices( + UINT32 indexCount, + const XPS_GLYPH_INDEX *glyphIndices) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphMappingCount( + UINT32 *glyphMappingCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphMappings( + UINT32 *glyphMappingCount, + XPS_GLYPH_MAPPING *glyphMappings) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGlyphMappings( + UINT32 glyphMappingCount, + const XPS_GLYPH_MAPPING *glyphMappings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProhibitedCaretStopCount( + UINT32 *prohibitedCaretStopCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProhibitedCaretStops( + UINT32 *count, + UINT32 *prohibitedCaretStops) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetProhibitedCaretStops( + UINT32 count, + const UINT32 *prohibitedCaretStops) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBidiLevel( + UINT32 *bidiLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBidiLevel( + UINT32 bidiLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsSideways( + WINBOOL *isSideways) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIsSideways( + WINBOOL isSideways) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceFontName( + LPWSTR *deviceFontName) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDeviceFontName( + LPCWSTR deviceFontName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGlyphsEditor, 0xa5ab8616, 0x5b16, 0x4b9f, 0x96,0x29, 0x89,0xb3,0x23,0xed,0x79,0x09) +#endif +#else +typedef struct IXpsOMGlyphsEditorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGlyphsEditor *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGlyphsEditor *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGlyphsEditor *This); + + /*** IXpsOMGlyphsEditor methods ***/ + HRESULT (STDMETHODCALLTYPE *ApplyEdits)( + IXpsOMGlyphsEditor *This); + + HRESULT (STDMETHODCALLTYPE *GetUnicodeString)( + IXpsOMGlyphsEditor *This, + LPWSTR *unicodeString); + + HRESULT (STDMETHODCALLTYPE *SetUnicodeString)( + IXpsOMGlyphsEditor *This, + LPCWSTR unicodeString); + + HRESULT (STDMETHODCALLTYPE *GetGlyphIndexCount)( + IXpsOMGlyphsEditor *This, + UINT32 *indexCount); + + HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( + IXpsOMGlyphsEditor *This, + UINT32 *indexCount, + XPS_GLYPH_INDEX *glyphIndices); + + HRESULT (STDMETHODCALLTYPE *SetGlyphIndices)( + IXpsOMGlyphsEditor *This, + UINT32 indexCount, + const XPS_GLYPH_INDEX *glyphIndices); + + HRESULT (STDMETHODCALLTYPE *GetGlyphMappingCount)( + IXpsOMGlyphsEditor *This, + UINT32 *glyphMappingCount); + + HRESULT (STDMETHODCALLTYPE *GetGlyphMappings)( + IXpsOMGlyphsEditor *This, + UINT32 *glyphMappingCount, + XPS_GLYPH_MAPPING *glyphMappings); + + HRESULT (STDMETHODCALLTYPE *SetGlyphMappings)( + IXpsOMGlyphsEditor *This, + UINT32 glyphMappingCount, + const XPS_GLYPH_MAPPING *glyphMappings); + + HRESULT (STDMETHODCALLTYPE *GetProhibitedCaretStopCount)( + IXpsOMGlyphsEditor *This, + UINT32 *prohibitedCaretStopCount); + + HRESULT (STDMETHODCALLTYPE *GetProhibitedCaretStops)( + IXpsOMGlyphsEditor *This, + UINT32 *count, + UINT32 *prohibitedCaretStops); + + HRESULT (STDMETHODCALLTYPE *SetProhibitedCaretStops)( + IXpsOMGlyphsEditor *This, + UINT32 count, + const UINT32 *prohibitedCaretStops); + + HRESULT (STDMETHODCALLTYPE *GetBidiLevel)( + IXpsOMGlyphsEditor *This, + UINT32 *bidiLevel); + + HRESULT (STDMETHODCALLTYPE *SetBidiLevel)( + IXpsOMGlyphsEditor *This, + UINT32 bidiLevel); + + HRESULT (STDMETHODCALLTYPE *GetIsSideways)( + IXpsOMGlyphsEditor *This, + WINBOOL *isSideways); + + HRESULT (STDMETHODCALLTYPE *SetIsSideways)( + IXpsOMGlyphsEditor *This, + WINBOOL isSideways); + + HRESULT (STDMETHODCALLTYPE *GetDeviceFontName)( + IXpsOMGlyphsEditor *This, + LPWSTR *deviceFontName); + + HRESULT (STDMETHODCALLTYPE *SetDeviceFontName)( + IXpsOMGlyphsEditor *This, + LPCWSTR deviceFontName); + + END_INTERFACE +} IXpsOMGlyphsEditorVtbl; + +interface IXpsOMGlyphsEditor { + CONST_VTBL IXpsOMGlyphsEditorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGlyphsEditor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGlyphsEditor_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGlyphsEditor_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMGlyphsEditor methods ***/ +#define IXpsOMGlyphsEditor_ApplyEdits(This) (This)->lpVtbl->ApplyEdits(This) +#define IXpsOMGlyphsEditor_GetUnicodeString(This,unicodeString) (This)->lpVtbl->GetUnicodeString(This,unicodeString) +#define IXpsOMGlyphsEditor_SetUnicodeString(This,unicodeString) (This)->lpVtbl->SetUnicodeString(This,unicodeString) +#define IXpsOMGlyphsEditor_GetGlyphIndexCount(This,indexCount) (This)->lpVtbl->GetGlyphIndexCount(This,indexCount) +#define IXpsOMGlyphsEditor_GetGlyphIndices(This,indexCount,glyphIndices) (This)->lpVtbl->GetGlyphIndices(This,indexCount,glyphIndices) +#define IXpsOMGlyphsEditor_SetGlyphIndices(This,indexCount,glyphIndices) (This)->lpVtbl->SetGlyphIndices(This,indexCount,glyphIndices) +#define IXpsOMGlyphsEditor_GetGlyphMappingCount(This,glyphMappingCount) (This)->lpVtbl->GetGlyphMappingCount(This,glyphMappingCount) +#define IXpsOMGlyphsEditor_GetGlyphMappings(This,glyphMappingCount,glyphMappings) (This)->lpVtbl->GetGlyphMappings(This,glyphMappingCount,glyphMappings) +#define IXpsOMGlyphsEditor_SetGlyphMappings(This,glyphMappingCount,glyphMappings) (This)->lpVtbl->SetGlyphMappings(This,glyphMappingCount,glyphMappings) +#define IXpsOMGlyphsEditor_GetProhibitedCaretStopCount(This,prohibitedCaretStopCount) (This)->lpVtbl->GetProhibitedCaretStopCount(This,prohibitedCaretStopCount) +#define IXpsOMGlyphsEditor_GetProhibitedCaretStops(This,count,prohibitedCaretStops) (This)->lpVtbl->GetProhibitedCaretStops(This,count,prohibitedCaretStops) +#define IXpsOMGlyphsEditor_SetProhibitedCaretStops(This,count,prohibitedCaretStops) (This)->lpVtbl->SetProhibitedCaretStops(This,count,prohibitedCaretStops) +#define IXpsOMGlyphsEditor_GetBidiLevel(This,bidiLevel) (This)->lpVtbl->GetBidiLevel(This,bidiLevel) +#define IXpsOMGlyphsEditor_SetBidiLevel(This,bidiLevel) (This)->lpVtbl->SetBidiLevel(This,bidiLevel) +#define IXpsOMGlyphsEditor_GetIsSideways(This,isSideways) (This)->lpVtbl->GetIsSideways(This,isSideways) +#define IXpsOMGlyphsEditor_SetIsSideways(This,isSideways) (This)->lpVtbl->SetIsSideways(This,isSideways) +#define IXpsOMGlyphsEditor_GetDeviceFontName(This,deviceFontName) (This)->lpVtbl->GetDeviceFontName(This,deviceFontName) +#define IXpsOMGlyphsEditor_SetDeviceFontName(This,deviceFontName) (This)->lpVtbl->SetDeviceFontName(This,deviceFontName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGlyphsEditor_QueryInterface(IXpsOMGlyphsEditor* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGlyphsEditor_AddRef(IXpsOMGlyphsEditor* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGlyphsEditor_Release(IXpsOMGlyphsEditor* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMGlyphsEditor methods ***/ +static inline HRESULT IXpsOMGlyphsEditor_ApplyEdits(IXpsOMGlyphsEditor* This) { + return This->lpVtbl->ApplyEdits(This); +} +static inline HRESULT IXpsOMGlyphsEditor_GetUnicodeString(IXpsOMGlyphsEditor* This,LPWSTR *unicodeString) { + return This->lpVtbl->GetUnicodeString(This,unicodeString); +} +static inline HRESULT IXpsOMGlyphsEditor_SetUnicodeString(IXpsOMGlyphsEditor* This,LPCWSTR unicodeString) { + return This->lpVtbl->SetUnicodeString(This,unicodeString); +} +static inline HRESULT IXpsOMGlyphsEditor_GetGlyphIndexCount(IXpsOMGlyphsEditor* This,UINT32 *indexCount) { + return This->lpVtbl->GetGlyphIndexCount(This,indexCount); +} +static inline HRESULT IXpsOMGlyphsEditor_GetGlyphIndices(IXpsOMGlyphsEditor* This,UINT32 *indexCount,XPS_GLYPH_INDEX *glyphIndices) { + return This->lpVtbl->GetGlyphIndices(This,indexCount,glyphIndices); +} +static inline HRESULT IXpsOMGlyphsEditor_SetGlyphIndices(IXpsOMGlyphsEditor* This,UINT32 indexCount,const XPS_GLYPH_INDEX *glyphIndices) { + return This->lpVtbl->SetGlyphIndices(This,indexCount,glyphIndices); +} +static inline HRESULT IXpsOMGlyphsEditor_GetGlyphMappingCount(IXpsOMGlyphsEditor* This,UINT32 *glyphMappingCount) { + return This->lpVtbl->GetGlyphMappingCount(This,glyphMappingCount); +} +static inline HRESULT IXpsOMGlyphsEditor_GetGlyphMappings(IXpsOMGlyphsEditor* This,UINT32 *glyphMappingCount,XPS_GLYPH_MAPPING *glyphMappings) { + return This->lpVtbl->GetGlyphMappings(This,glyphMappingCount,glyphMappings); +} +static inline HRESULT IXpsOMGlyphsEditor_SetGlyphMappings(IXpsOMGlyphsEditor* This,UINT32 glyphMappingCount,const XPS_GLYPH_MAPPING *glyphMappings) { + return This->lpVtbl->SetGlyphMappings(This,glyphMappingCount,glyphMappings); +} +static inline HRESULT IXpsOMGlyphsEditor_GetProhibitedCaretStopCount(IXpsOMGlyphsEditor* This,UINT32 *prohibitedCaretStopCount) { + return This->lpVtbl->GetProhibitedCaretStopCount(This,prohibitedCaretStopCount); +} +static inline HRESULT IXpsOMGlyphsEditor_GetProhibitedCaretStops(IXpsOMGlyphsEditor* This,UINT32 *count,UINT32 *prohibitedCaretStops) { + return This->lpVtbl->GetProhibitedCaretStops(This,count,prohibitedCaretStops); +} +static inline HRESULT IXpsOMGlyphsEditor_SetProhibitedCaretStops(IXpsOMGlyphsEditor* This,UINT32 count,const UINT32 *prohibitedCaretStops) { + return This->lpVtbl->SetProhibitedCaretStops(This,count,prohibitedCaretStops); +} +static inline HRESULT IXpsOMGlyphsEditor_GetBidiLevel(IXpsOMGlyphsEditor* This,UINT32 *bidiLevel) { + return This->lpVtbl->GetBidiLevel(This,bidiLevel); +} +static inline HRESULT IXpsOMGlyphsEditor_SetBidiLevel(IXpsOMGlyphsEditor* This,UINT32 bidiLevel) { + return This->lpVtbl->SetBidiLevel(This,bidiLevel); +} +static inline HRESULT IXpsOMGlyphsEditor_GetIsSideways(IXpsOMGlyphsEditor* This,WINBOOL *isSideways) { + return This->lpVtbl->GetIsSideways(This,isSideways); +} +static inline HRESULT IXpsOMGlyphsEditor_SetIsSideways(IXpsOMGlyphsEditor* This,WINBOOL isSideways) { + return This->lpVtbl->SetIsSideways(This,isSideways); +} +static inline HRESULT IXpsOMGlyphsEditor_GetDeviceFontName(IXpsOMGlyphsEditor* This,LPWSTR *deviceFontName) { + return This->lpVtbl->GetDeviceFontName(This,deviceFontName); +} +static inline HRESULT IXpsOMGlyphsEditor_SetDeviceFontName(IXpsOMGlyphsEditor* This,LPCWSTR deviceFontName) { + return This->lpVtbl->SetDeviceFontName(This,deviceFontName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGlyphsEditor_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDashCollection interface + */ +#ifndef __IXpsOMDashCollection_INTERFACE_DEFINED__ +#define __IXpsOMDashCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDashCollection, 0x081613f4, 0x74eb, 0x48f2, 0x83,0xb3, 0x37,0xa9,0xce,0x2d,0x7d,0xc6); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("081613f4-74eb-48f2-83b3-37a9ce2d7dc6") +IXpsOMDashCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + XPS_DASH *dash) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + const XPS_DASH *dash) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + const XPS_DASH *dash) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + const XPS_DASH *dash) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDashCollection, 0x081613f4, 0x74eb, 0x48f2, 0x83,0xb3, 0x37,0xa9,0xce,0x2d,0x7d,0xc6) +#endif +#else +typedef struct IXpsOMDashCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDashCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDashCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDashCollection *This); + + /*** IXpsOMDashCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMDashCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMDashCollection *This, + UINT32 index, + XPS_DASH *dash); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMDashCollection *This, + UINT32 index, + const XPS_DASH *dash); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMDashCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMDashCollection *This, + UINT32 index, + const XPS_DASH *dash); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMDashCollection *This, + const XPS_DASH *dash); + + END_INTERFACE +} IXpsOMDashCollectionVtbl; + +interface IXpsOMDashCollection { + CONST_VTBL IXpsOMDashCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDashCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDashCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDashCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMDashCollection methods ***/ +#define IXpsOMDashCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMDashCollection_GetAt(This,index,dash) (This)->lpVtbl->GetAt(This,index,dash) +#define IXpsOMDashCollection_InsertAt(This,index,dash) (This)->lpVtbl->InsertAt(This,index,dash) +#define IXpsOMDashCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMDashCollection_SetAt(This,index,dash) (This)->lpVtbl->SetAt(This,index,dash) +#define IXpsOMDashCollection_Append(This,dash) (This)->lpVtbl->Append(This,dash) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDashCollection_QueryInterface(IXpsOMDashCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDashCollection_AddRef(IXpsOMDashCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDashCollection_Release(IXpsOMDashCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMDashCollection methods ***/ +static inline HRESULT IXpsOMDashCollection_GetCount(IXpsOMDashCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMDashCollection_GetAt(IXpsOMDashCollection* This,UINT32 index,XPS_DASH *dash) { + return This->lpVtbl->GetAt(This,index,dash); +} +static inline HRESULT IXpsOMDashCollection_InsertAt(IXpsOMDashCollection* This,UINT32 index,const XPS_DASH *dash) { + return This->lpVtbl->InsertAt(This,index,dash); +} +static inline HRESULT IXpsOMDashCollection_RemoveAt(IXpsOMDashCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMDashCollection_SetAt(IXpsOMDashCollection* This,UINT32 index,const XPS_DASH *dash) { + return This->lpVtbl->SetAt(This,index,dash); +} +static inline HRESULT IXpsOMDashCollection_Append(IXpsOMDashCollection* This,const XPS_DASH *dash) { + return This->lpVtbl->Append(This,dash); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDashCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGeometryFigure interface + */ +#ifndef __IXpsOMGeometryFigure_INTERFACE_DEFINED__ +#define __IXpsOMGeometryFigure_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGeometryFigure, 0xd410dc83, 0x908c, 0x443e, 0x89,0x47, 0xb1,0x79,0x5d,0x3c,0x16,0x5a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d410dc83-908c-443e-8947-b1795d3c165a") +IXpsOMGeometryFigure : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMGeometry **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentData( + UINT32 *dataCount, + FLOAT *segmentData) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentTypes( + UINT32 *segmentCount, + XPS_SEGMENT_TYPE *segmentTypes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentStrokes( + UINT32 *segmentCount, + WINBOOL *segmentStrokes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSegments( + UINT32 segmentCount, + UINT32 segmentDataCount, + const XPS_SEGMENT_TYPE *segmentTypes, + const FLOAT *segmentData, + const WINBOOL *segmentStrokes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStartPoint( + XPS_POINT *startPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStartPoint( + const XPS_POINT *startPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsClosed( + WINBOOL *isClosed) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIsClosed( + WINBOOL isClosed) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsFilled( + WINBOOL *isFilled) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIsFilled( + WINBOOL isFilled) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentCount( + UINT32 *segmentCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentDataCount( + UINT32 *segmentDataCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSegmentStrokePattern( + XPS_SEGMENT_STROKE_PATTERN *segmentStrokePattern) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMGeometryFigure **geometryFigure) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGeometryFigure, 0xd410dc83, 0x908c, 0x443e, 0x89,0x47, 0xb1,0x79,0x5d,0x3c,0x16,0x5a) +#endif +#else +typedef struct IXpsOMGeometryFigureVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGeometryFigure *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGeometryFigure *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGeometryFigure *This); + + /*** IXpsOMGeometryFigure methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMGeometryFigure *This, + IXpsOMGeometry **owner); + + HRESULT (STDMETHODCALLTYPE *GetSegmentData)( + IXpsOMGeometryFigure *This, + UINT32 *dataCount, + FLOAT *segmentData); + + HRESULT (STDMETHODCALLTYPE *GetSegmentTypes)( + IXpsOMGeometryFigure *This, + UINT32 *segmentCount, + XPS_SEGMENT_TYPE *segmentTypes); + + HRESULT (STDMETHODCALLTYPE *GetSegmentStrokes)( + IXpsOMGeometryFigure *This, + UINT32 *segmentCount, + WINBOOL *segmentStrokes); + + HRESULT (STDMETHODCALLTYPE *SetSegments)( + IXpsOMGeometryFigure *This, + UINT32 segmentCount, + UINT32 segmentDataCount, + const XPS_SEGMENT_TYPE *segmentTypes, + const FLOAT *segmentData, + const WINBOOL *segmentStrokes); + + HRESULT (STDMETHODCALLTYPE *GetStartPoint)( + IXpsOMGeometryFigure *This, + XPS_POINT *startPoint); + + HRESULT (STDMETHODCALLTYPE *SetStartPoint)( + IXpsOMGeometryFigure *This, + const XPS_POINT *startPoint); + + HRESULT (STDMETHODCALLTYPE *GetIsClosed)( + IXpsOMGeometryFigure *This, + WINBOOL *isClosed); + + HRESULT (STDMETHODCALLTYPE *SetIsClosed)( + IXpsOMGeometryFigure *This, + WINBOOL isClosed); + + HRESULT (STDMETHODCALLTYPE *GetIsFilled)( + IXpsOMGeometryFigure *This, + WINBOOL *isFilled); + + HRESULT (STDMETHODCALLTYPE *SetIsFilled)( + IXpsOMGeometryFigure *This, + WINBOOL isFilled); + + HRESULT (STDMETHODCALLTYPE *GetSegmentCount)( + IXpsOMGeometryFigure *This, + UINT32 *segmentCount); + + HRESULT (STDMETHODCALLTYPE *GetSegmentDataCount)( + IXpsOMGeometryFigure *This, + UINT32 *segmentDataCount); + + HRESULT (STDMETHODCALLTYPE *GetSegmentStrokePattern)( + IXpsOMGeometryFigure *This, + XPS_SEGMENT_STROKE_PATTERN *segmentStrokePattern); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMGeometryFigure *This, + IXpsOMGeometryFigure **geometryFigure); + + END_INTERFACE +} IXpsOMGeometryFigureVtbl; + +interface IXpsOMGeometryFigure { + CONST_VTBL IXpsOMGeometryFigureVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGeometryFigure_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGeometryFigure_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGeometryFigure_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMGeometryFigure methods ***/ +#define IXpsOMGeometryFigure_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMGeometryFigure_GetSegmentData(This,dataCount,segmentData) (This)->lpVtbl->GetSegmentData(This,dataCount,segmentData) +#define IXpsOMGeometryFigure_GetSegmentTypes(This,segmentCount,segmentTypes) (This)->lpVtbl->GetSegmentTypes(This,segmentCount,segmentTypes) +#define IXpsOMGeometryFigure_GetSegmentStrokes(This,segmentCount,segmentStrokes) (This)->lpVtbl->GetSegmentStrokes(This,segmentCount,segmentStrokes) +#define IXpsOMGeometryFigure_SetSegments(This,segmentCount,segmentDataCount,segmentTypes,segmentData,segmentStrokes) (This)->lpVtbl->SetSegments(This,segmentCount,segmentDataCount,segmentTypes,segmentData,segmentStrokes) +#define IXpsOMGeometryFigure_GetStartPoint(This,startPoint) (This)->lpVtbl->GetStartPoint(This,startPoint) +#define IXpsOMGeometryFigure_SetStartPoint(This,startPoint) (This)->lpVtbl->SetStartPoint(This,startPoint) +#define IXpsOMGeometryFigure_GetIsClosed(This,isClosed) (This)->lpVtbl->GetIsClosed(This,isClosed) +#define IXpsOMGeometryFigure_SetIsClosed(This,isClosed) (This)->lpVtbl->SetIsClosed(This,isClosed) +#define IXpsOMGeometryFigure_GetIsFilled(This,isFilled) (This)->lpVtbl->GetIsFilled(This,isFilled) +#define IXpsOMGeometryFigure_SetIsFilled(This,isFilled) (This)->lpVtbl->SetIsFilled(This,isFilled) +#define IXpsOMGeometryFigure_GetSegmentCount(This,segmentCount) (This)->lpVtbl->GetSegmentCount(This,segmentCount) +#define IXpsOMGeometryFigure_GetSegmentDataCount(This,segmentDataCount) (This)->lpVtbl->GetSegmentDataCount(This,segmentDataCount) +#define IXpsOMGeometryFigure_GetSegmentStrokePattern(This,segmentStrokePattern) (This)->lpVtbl->GetSegmentStrokePattern(This,segmentStrokePattern) +#define IXpsOMGeometryFigure_Clone(This,geometryFigure) (This)->lpVtbl->Clone(This,geometryFigure) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGeometryFigure_QueryInterface(IXpsOMGeometryFigure* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGeometryFigure_AddRef(IXpsOMGeometryFigure* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGeometryFigure_Release(IXpsOMGeometryFigure* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMGeometryFigure methods ***/ +static inline HRESULT IXpsOMGeometryFigure_GetOwner(IXpsOMGeometryFigure* This,IXpsOMGeometry **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentData(IXpsOMGeometryFigure* This,UINT32 *dataCount,FLOAT *segmentData) { + return This->lpVtbl->GetSegmentData(This,dataCount,segmentData); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentTypes(IXpsOMGeometryFigure* This,UINT32 *segmentCount,XPS_SEGMENT_TYPE *segmentTypes) { + return This->lpVtbl->GetSegmentTypes(This,segmentCount,segmentTypes); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentStrokes(IXpsOMGeometryFigure* This,UINT32 *segmentCount,WINBOOL *segmentStrokes) { + return This->lpVtbl->GetSegmentStrokes(This,segmentCount,segmentStrokes); +} +static inline HRESULT IXpsOMGeometryFigure_SetSegments(IXpsOMGeometryFigure* This,UINT32 segmentCount,UINT32 segmentDataCount,const XPS_SEGMENT_TYPE *segmentTypes,const FLOAT *segmentData,const WINBOOL *segmentStrokes) { + return This->lpVtbl->SetSegments(This,segmentCount,segmentDataCount,segmentTypes,segmentData,segmentStrokes); +} +static inline HRESULT IXpsOMGeometryFigure_GetStartPoint(IXpsOMGeometryFigure* This,XPS_POINT *startPoint) { + return This->lpVtbl->GetStartPoint(This,startPoint); +} +static inline HRESULT IXpsOMGeometryFigure_SetStartPoint(IXpsOMGeometryFigure* This,const XPS_POINT *startPoint) { + return This->lpVtbl->SetStartPoint(This,startPoint); +} +static inline HRESULT IXpsOMGeometryFigure_GetIsClosed(IXpsOMGeometryFigure* This,WINBOOL *isClosed) { + return This->lpVtbl->GetIsClosed(This,isClosed); +} +static inline HRESULT IXpsOMGeometryFigure_SetIsClosed(IXpsOMGeometryFigure* This,WINBOOL isClosed) { + return This->lpVtbl->SetIsClosed(This,isClosed); +} +static inline HRESULT IXpsOMGeometryFigure_GetIsFilled(IXpsOMGeometryFigure* This,WINBOOL *isFilled) { + return This->lpVtbl->GetIsFilled(This,isFilled); +} +static inline HRESULT IXpsOMGeometryFigure_SetIsFilled(IXpsOMGeometryFigure* This,WINBOOL isFilled) { + return This->lpVtbl->SetIsFilled(This,isFilled); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentCount(IXpsOMGeometryFigure* This,UINT32 *segmentCount) { + return This->lpVtbl->GetSegmentCount(This,segmentCount); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentDataCount(IXpsOMGeometryFigure* This,UINT32 *segmentDataCount) { + return This->lpVtbl->GetSegmentDataCount(This,segmentDataCount); +} +static inline HRESULT IXpsOMGeometryFigure_GetSegmentStrokePattern(IXpsOMGeometryFigure* This,XPS_SEGMENT_STROKE_PATTERN *segmentStrokePattern) { + return This->lpVtbl->GetSegmentStrokePattern(This,segmentStrokePattern); +} +static inline HRESULT IXpsOMGeometryFigure_Clone(IXpsOMGeometryFigure* This,IXpsOMGeometryFigure **geometryFigure) { + return This->lpVtbl->Clone(This,geometryFigure); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGeometryFigure_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGeometryFigureCollection interface + */ +#ifndef __IXpsOMGeometryFigureCollection_INTERFACE_DEFINED__ +#define __IXpsOMGeometryFigureCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGeometryFigureCollection, 0xfd48c3f3, 0xa58e, 0x4b5a, 0x88,0x26, 0x1d,0xe5,0x4a,0xbe,0x72,0xb2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("fd48c3f3-a58e-4b5a-8826-1de54abe72b2") +IXpsOMGeometryFigureCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMGeometryFigure **geometryFigure) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMGeometryFigure *geometryFigure) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMGeometryFigure *geometryFigure) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMGeometryFigure *geometryFigure) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGeometryFigureCollection, 0xfd48c3f3, 0xa58e, 0x4b5a, 0x88,0x26, 0x1d,0xe5,0x4a,0xbe,0x72,0xb2) +#endif +#else +typedef struct IXpsOMGeometryFigureCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGeometryFigureCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGeometryFigureCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGeometryFigureCollection *This); + + /*** IXpsOMGeometryFigureCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMGeometryFigureCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMGeometryFigureCollection *This, + UINT32 index, + IXpsOMGeometryFigure **geometryFigure); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMGeometryFigureCollection *This, + UINT32 index, + IXpsOMGeometryFigure *geometryFigure); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMGeometryFigureCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMGeometryFigureCollection *This, + UINT32 index, + IXpsOMGeometryFigure *geometryFigure); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMGeometryFigureCollection *This, + IXpsOMGeometryFigure *geometryFigure); + + END_INTERFACE +} IXpsOMGeometryFigureCollectionVtbl; + +interface IXpsOMGeometryFigureCollection { + CONST_VTBL IXpsOMGeometryFigureCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGeometryFigureCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGeometryFigureCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGeometryFigureCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMGeometryFigureCollection methods ***/ +#define IXpsOMGeometryFigureCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMGeometryFigureCollection_GetAt(This,index,geometryFigure) (This)->lpVtbl->GetAt(This,index,geometryFigure) +#define IXpsOMGeometryFigureCollection_InsertAt(This,index,geometryFigure) (This)->lpVtbl->InsertAt(This,index,geometryFigure) +#define IXpsOMGeometryFigureCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMGeometryFigureCollection_SetAt(This,index,geometryFigure) (This)->lpVtbl->SetAt(This,index,geometryFigure) +#define IXpsOMGeometryFigureCollection_Append(This,geometryFigure) (This)->lpVtbl->Append(This,geometryFigure) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGeometryFigureCollection_QueryInterface(IXpsOMGeometryFigureCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGeometryFigureCollection_AddRef(IXpsOMGeometryFigureCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGeometryFigureCollection_Release(IXpsOMGeometryFigureCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMGeometryFigureCollection methods ***/ +static inline HRESULT IXpsOMGeometryFigureCollection_GetCount(IXpsOMGeometryFigureCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMGeometryFigureCollection_GetAt(IXpsOMGeometryFigureCollection* This,UINT32 index,IXpsOMGeometryFigure **geometryFigure) { + return This->lpVtbl->GetAt(This,index,geometryFigure); +} +static inline HRESULT IXpsOMGeometryFigureCollection_InsertAt(IXpsOMGeometryFigureCollection* This,UINT32 index,IXpsOMGeometryFigure *geometryFigure) { + return This->lpVtbl->InsertAt(This,index,geometryFigure); +} +static inline HRESULT IXpsOMGeometryFigureCollection_RemoveAt(IXpsOMGeometryFigureCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMGeometryFigureCollection_SetAt(IXpsOMGeometryFigureCollection* This,UINT32 index,IXpsOMGeometryFigure *geometryFigure) { + return This->lpVtbl->SetAt(This,index,geometryFigure); +} +static inline HRESULT IXpsOMGeometryFigureCollection_Append(IXpsOMGeometryFigureCollection* This,IXpsOMGeometryFigure *geometryFigure) { + return This->lpVtbl->Append(This,geometryFigure); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGeometryFigureCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGradientStopCollection interface + */ +#ifndef __IXpsOMGradientStopCollection_INTERFACE_DEFINED__ +#define __IXpsOMGradientStopCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGradientStopCollection, 0xc9174c3a, 0x3cd3, 0x4319, 0xbd,0xa4, 0x11,0xa3,0x93,0x92,0xce,0xef); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c9174c3a-3cd3-4319-bda4-11a39392ceef") +IXpsOMGradientStopCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMGradientStop **stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMGradientStop *stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMGradientStop *stop) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMGradientStop *stop) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGradientStopCollection, 0xc9174c3a, 0x3cd3, 0x4319, 0xbd,0xa4, 0x11,0xa3,0x93,0x92,0xce,0xef) +#endif +#else +typedef struct IXpsOMGradientStopCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGradientStopCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGradientStopCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGradientStopCollection *This); + + /*** IXpsOMGradientStopCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMGradientStopCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMGradientStopCollection *This, + UINT32 index, + IXpsOMGradientStop **stop); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMGradientStopCollection *This, + UINT32 index, + IXpsOMGradientStop *stop); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMGradientStopCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMGradientStopCollection *This, + UINT32 index, + IXpsOMGradientStop *stop); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMGradientStopCollection *This, + IXpsOMGradientStop *stop); + + END_INTERFACE +} IXpsOMGradientStopCollectionVtbl; + +interface IXpsOMGradientStopCollection { + CONST_VTBL IXpsOMGradientStopCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGradientStopCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGradientStopCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGradientStopCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMGradientStopCollection methods ***/ +#define IXpsOMGradientStopCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMGradientStopCollection_GetAt(This,index,stop) (This)->lpVtbl->GetAt(This,index,stop) +#define IXpsOMGradientStopCollection_InsertAt(This,index,stop) (This)->lpVtbl->InsertAt(This,index,stop) +#define IXpsOMGradientStopCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMGradientStopCollection_SetAt(This,index,stop) (This)->lpVtbl->SetAt(This,index,stop) +#define IXpsOMGradientStopCollection_Append(This,stop) (This)->lpVtbl->Append(This,stop) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGradientStopCollection_QueryInterface(IXpsOMGradientStopCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGradientStopCollection_AddRef(IXpsOMGradientStopCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGradientStopCollection_Release(IXpsOMGradientStopCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMGradientStopCollection methods ***/ +static inline HRESULT IXpsOMGradientStopCollection_GetCount(IXpsOMGradientStopCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMGradientStopCollection_GetAt(IXpsOMGradientStopCollection* This,UINT32 index,IXpsOMGradientStop **stop) { + return This->lpVtbl->GetAt(This,index,stop); +} +static inline HRESULT IXpsOMGradientStopCollection_InsertAt(IXpsOMGradientStopCollection* This,UINT32 index,IXpsOMGradientStop *stop) { + return This->lpVtbl->InsertAt(This,index,stop); +} +static inline HRESULT IXpsOMGradientStopCollection_RemoveAt(IXpsOMGradientStopCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMGradientStopCollection_SetAt(IXpsOMGradientStopCollection* This,UINT32 index,IXpsOMGradientStop *stop) { + return This->lpVtbl->SetAt(This,index,stop); +} +static inline HRESULT IXpsOMGradientStopCollection_Append(IXpsOMGradientStopCollection* This,IXpsOMGradientStop *stop) { + return This->lpVtbl->Append(This,stop); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGradientStopCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGradientStop interface + */ +#ifndef __IXpsOMGradientStop_INTERFACE_DEFINED__ +#define __IXpsOMGradientStop_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGradientStop, 0x5cf4f5cc, 0x3969, 0x49b5, 0xa7,0x0a, 0x55,0x50,0xb6,0x18,0xfe,0x49); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5cf4f5cc-3969-49b5-a70a-5550b618fe49") +IXpsOMGradientStop : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMGradientBrush **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOffset( + FLOAT *offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOffset( + FLOAT offset) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColor( + XPS_COLOR *color, + IXpsOMColorProfileResource **colorProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColor( + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMGradientStop **gradientStop) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGradientStop, 0x5cf4f5cc, 0x3969, 0x49b5, 0xa7,0x0a, 0x55,0x50,0xb6,0x18,0xfe,0x49) +#endif +#else +typedef struct IXpsOMGradientStopVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGradientStop *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGradientStop *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGradientStop *This); + + /*** IXpsOMGradientStop methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMGradientStop *This, + IXpsOMGradientBrush **owner); + + HRESULT (STDMETHODCALLTYPE *GetOffset)( + IXpsOMGradientStop *This, + FLOAT *offset); + + HRESULT (STDMETHODCALLTYPE *SetOffset)( + IXpsOMGradientStop *This, + FLOAT offset); + + HRESULT (STDMETHODCALLTYPE *GetColor)( + IXpsOMGradientStop *This, + XPS_COLOR *color, + IXpsOMColorProfileResource **colorProfile); + + HRESULT (STDMETHODCALLTYPE *SetColor)( + IXpsOMGradientStop *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMGradientStop *This, + IXpsOMGradientStop **gradientStop); + + END_INTERFACE +} IXpsOMGradientStopVtbl; + +interface IXpsOMGradientStop { + CONST_VTBL IXpsOMGradientStopVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGradientStop_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGradientStop_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGradientStop_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMGradientStop methods ***/ +#define IXpsOMGradientStop_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMGradientStop_GetOffset(This,offset) (This)->lpVtbl->GetOffset(This,offset) +#define IXpsOMGradientStop_SetOffset(This,offset) (This)->lpVtbl->SetOffset(This,offset) +#define IXpsOMGradientStop_GetColor(This,color,colorProfile) (This)->lpVtbl->GetColor(This,color,colorProfile) +#define IXpsOMGradientStop_SetColor(This,color,colorProfile) (This)->lpVtbl->SetColor(This,color,colorProfile) +#define IXpsOMGradientStop_Clone(This,gradientStop) (This)->lpVtbl->Clone(This,gradientStop) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGradientStop_QueryInterface(IXpsOMGradientStop* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGradientStop_AddRef(IXpsOMGradientStop* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGradientStop_Release(IXpsOMGradientStop* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMGradientStop methods ***/ +static inline HRESULT IXpsOMGradientStop_GetOwner(IXpsOMGradientStop* This,IXpsOMGradientBrush **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMGradientStop_GetOffset(IXpsOMGradientStop* This,FLOAT *offset) { + return This->lpVtbl->GetOffset(This,offset); +} +static inline HRESULT IXpsOMGradientStop_SetOffset(IXpsOMGradientStop* This,FLOAT offset) { + return This->lpVtbl->SetOffset(This,offset); +} +static inline HRESULT IXpsOMGradientStop_GetColor(IXpsOMGradientStop* This,XPS_COLOR *color,IXpsOMColorProfileResource **colorProfile) { + return This->lpVtbl->GetColor(This,color,colorProfile); +} +static inline HRESULT IXpsOMGradientStop_SetColor(IXpsOMGradientStop* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile) { + return This->lpVtbl->SetColor(This,color,colorProfile); +} +static inline HRESULT IXpsOMGradientStop_Clone(IXpsOMGradientStop* This,IXpsOMGradientStop **gradientStop) { + return This->lpVtbl->Clone(This,gradientStop); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGradientStop_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPartResources interface + */ +#ifndef __IXpsOMPartResources_INTERFACE_DEFINED__ +#define __IXpsOMPartResources_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPartResources, 0xf4cf7729, 0x4864, 0x4275, 0x99,0xb3, 0xa8,0x71,0x71,0x63,0xec,0xaf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f4cf7729-4864-4275-99b3-a8717163ecaf") +IXpsOMPartResources : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetFontResources( + IXpsOMFontResourceCollection **fontResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImageResources( + IXpsOMImageResourceCollection **imageResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorProfileResources( + IXpsOMColorProfileResourceCollection **colorProfileResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRemoteDictionaryResources( + IXpsOMRemoteDictionaryResourceCollection **dictionaryResources) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPartResources, 0xf4cf7729, 0x4864, 0x4275, 0x99,0xb3, 0xa8,0x71,0x71,0x63,0xec,0xaf) +#endif +#else +typedef struct IXpsOMPartResourcesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPartResources *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPartResources *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPartResources *This); + + /*** IXpsOMPartResources methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFontResources)( + IXpsOMPartResources *This, + IXpsOMFontResourceCollection **fontResources); + + HRESULT (STDMETHODCALLTYPE *GetImageResources)( + IXpsOMPartResources *This, + IXpsOMImageResourceCollection **imageResources); + + HRESULT (STDMETHODCALLTYPE *GetColorProfileResources)( + IXpsOMPartResources *This, + IXpsOMColorProfileResourceCollection **colorProfileResources); + + HRESULT (STDMETHODCALLTYPE *GetRemoteDictionaryResources)( + IXpsOMPartResources *This, + IXpsOMRemoteDictionaryResourceCollection **dictionaryResources); + + END_INTERFACE +} IXpsOMPartResourcesVtbl; + +interface IXpsOMPartResources { + CONST_VTBL IXpsOMPartResourcesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPartResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPartResources_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPartResources_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPartResources methods ***/ +#define IXpsOMPartResources_GetFontResources(This,fontResources) (This)->lpVtbl->GetFontResources(This,fontResources) +#define IXpsOMPartResources_GetImageResources(This,imageResources) (This)->lpVtbl->GetImageResources(This,imageResources) +#define IXpsOMPartResources_GetColorProfileResources(This,colorProfileResources) (This)->lpVtbl->GetColorProfileResources(This,colorProfileResources) +#define IXpsOMPartResources_GetRemoteDictionaryResources(This,dictionaryResources) (This)->lpVtbl->GetRemoteDictionaryResources(This,dictionaryResources) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPartResources_QueryInterface(IXpsOMPartResources* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPartResources_AddRef(IXpsOMPartResources* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPartResources_Release(IXpsOMPartResources* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPartResources methods ***/ +static inline HRESULT IXpsOMPartResources_GetFontResources(IXpsOMPartResources* This,IXpsOMFontResourceCollection **fontResources) { + return This->lpVtbl->GetFontResources(This,fontResources); +} +static inline HRESULT IXpsOMPartResources_GetImageResources(IXpsOMPartResources* This,IXpsOMImageResourceCollection **imageResources) { + return This->lpVtbl->GetImageResources(This,imageResources); +} +static inline HRESULT IXpsOMPartResources_GetColorProfileResources(IXpsOMPartResources* This,IXpsOMColorProfileResourceCollection **colorProfileResources) { + return This->lpVtbl->GetColorProfileResources(This,colorProfileResources); +} +static inline HRESULT IXpsOMPartResources_GetRemoteDictionaryResources(IXpsOMPartResources* This,IXpsOMRemoteDictionaryResourceCollection **dictionaryResources) { + return This->lpVtbl->GetRemoteDictionaryResources(This,dictionaryResources); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPartResources_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMFontResourceCollection interface + */ +#ifndef __IXpsOMFontResourceCollection_INTERFACE_DEFINED__ +#define __IXpsOMFontResourceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMFontResourceCollection, 0x70b4a6bb, 0x88d4, 0x4fa8, 0xaa,0xf9, 0x6d,0x9c,0x59,0x6f,0xdb,0xad); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("70b4a6bb-88d4-4fa8-aaf9-6d9c596fdbad") +IXpsOMFontResourceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMFontResource **value) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMFontResource *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMFontResource *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMFontResource *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByPartName( + IOpcPartUri *partName, + IXpsOMFontResource **part) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMFontResourceCollection, 0x70b4a6bb, 0x88d4, 0x4fa8, 0xaa,0xf9, 0x6d,0x9c,0x59,0x6f,0xdb,0xad) +#endif +#else +typedef struct IXpsOMFontResourceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMFontResourceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMFontResourceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMFontResourceCollection *This); + + /*** IXpsOMFontResourceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMFontResourceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMFontResourceCollection *This, + UINT32 index, + IXpsOMFontResource **value); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMFontResourceCollection *This, + UINT32 index, + IXpsOMFontResource *value); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMFontResourceCollection *This, + UINT32 index, + IXpsOMFontResource *value); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMFontResourceCollection *This, + IXpsOMFontResource *value); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMFontResourceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *GetByPartName)( + IXpsOMFontResourceCollection *This, + IOpcPartUri *partName, + IXpsOMFontResource **part); + + END_INTERFACE +} IXpsOMFontResourceCollectionVtbl; + +interface IXpsOMFontResourceCollection { + CONST_VTBL IXpsOMFontResourceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMFontResourceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMFontResourceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMFontResourceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMFontResourceCollection methods ***/ +#define IXpsOMFontResourceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMFontResourceCollection_GetAt(This,index,value) (This)->lpVtbl->GetAt(This,index,value) +#define IXpsOMFontResourceCollection_SetAt(This,index,value) (This)->lpVtbl->SetAt(This,index,value) +#define IXpsOMFontResourceCollection_InsertAt(This,index,value) (This)->lpVtbl->InsertAt(This,index,value) +#define IXpsOMFontResourceCollection_Append(This,value) (This)->lpVtbl->Append(This,value) +#define IXpsOMFontResourceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMFontResourceCollection_GetByPartName(This,partName,part) (This)->lpVtbl->GetByPartName(This,partName,part) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMFontResourceCollection_QueryInterface(IXpsOMFontResourceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMFontResourceCollection_AddRef(IXpsOMFontResourceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMFontResourceCollection_Release(IXpsOMFontResourceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMFontResourceCollection methods ***/ +static inline HRESULT IXpsOMFontResourceCollection_GetCount(IXpsOMFontResourceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMFontResourceCollection_GetAt(IXpsOMFontResourceCollection* This,UINT32 index,IXpsOMFontResource **value) { + return This->lpVtbl->GetAt(This,index,value); +} +static inline HRESULT IXpsOMFontResourceCollection_SetAt(IXpsOMFontResourceCollection* This,UINT32 index,IXpsOMFontResource *value) { + return This->lpVtbl->SetAt(This,index,value); +} +static inline HRESULT IXpsOMFontResourceCollection_InsertAt(IXpsOMFontResourceCollection* This,UINT32 index,IXpsOMFontResource *value) { + return This->lpVtbl->InsertAt(This,index,value); +} +static inline HRESULT IXpsOMFontResourceCollection_Append(IXpsOMFontResourceCollection* This,IXpsOMFontResource *value) { + return This->lpVtbl->Append(This,value); +} +static inline HRESULT IXpsOMFontResourceCollection_RemoveAt(IXpsOMFontResourceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMFontResourceCollection_GetByPartName(IXpsOMFontResourceCollection* This,IOpcPartUri *partName,IXpsOMFontResource **part) { + return This->lpVtbl->GetByPartName(This,partName,part); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMFontResourceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMImageResourceCollection interface + */ +#ifndef __IXpsOMImageResourceCollection_INTERFACE_DEFINED__ +#define __IXpsOMImageResourceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMImageResourceCollection, 0x7a4a1a71, 0x9cde, 0x4b71, 0xb3,0x3f, 0x62,0xde,0x84,0x3e,0xab,0xfe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7a4a1a71-9cde-4b71-b33f-62de843eabfe") +IXpsOMImageResourceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMImageResource **object) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMImageResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMImageResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMImageResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByPartName( + IOpcPartUri *partName, + IXpsOMImageResource **part) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMImageResourceCollection, 0x7a4a1a71, 0x9cde, 0x4b71, 0xb3,0x3f, 0x62,0xde,0x84,0x3e,0xab,0xfe) +#endif +#else +typedef struct IXpsOMImageResourceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMImageResourceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMImageResourceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMImageResourceCollection *This); + + /*** IXpsOMImageResourceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMImageResourceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMImageResourceCollection *This, + UINT32 index, + IXpsOMImageResource **object); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMImageResourceCollection *This, + UINT32 index, + IXpsOMImageResource *object); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMImageResourceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMImageResourceCollection *This, + UINT32 index, + IXpsOMImageResource *object); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMImageResourceCollection *This, + IXpsOMImageResource *object); + + HRESULT (STDMETHODCALLTYPE *GetByPartName)( + IXpsOMImageResourceCollection *This, + IOpcPartUri *partName, + IXpsOMImageResource **part); + + END_INTERFACE +} IXpsOMImageResourceCollectionVtbl; + +interface IXpsOMImageResourceCollection { + CONST_VTBL IXpsOMImageResourceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMImageResourceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMImageResourceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMImageResourceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMImageResourceCollection methods ***/ +#define IXpsOMImageResourceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMImageResourceCollection_GetAt(This,index,object) (This)->lpVtbl->GetAt(This,index,object) +#define IXpsOMImageResourceCollection_InsertAt(This,index,object) (This)->lpVtbl->InsertAt(This,index,object) +#define IXpsOMImageResourceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMImageResourceCollection_SetAt(This,index,object) (This)->lpVtbl->SetAt(This,index,object) +#define IXpsOMImageResourceCollection_Append(This,object) (This)->lpVtbl->Append(This,object) +#define IXpsOMImageResourceCollection_GetByPartName(This,partName,part) (This)->lpVtbl->GetByPartName(This,partName,part) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMImageResourceCollection_QueryInterface(IXpsOMImageResourceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMImageResourceCollection_AddRef(IXpsOMImageResourceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMImageResourceCollection_Release(IXpsOMImageResourceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMImageResourceCollection methods ***/ +static inline HRESULT IXpsOMImageResourceCollection_GetCount(IXpsOMImageResourceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMImageResourceCollection_GetAt(IXpsOMImageResourceCollection* This,UINT32 index,IXpsOMImageResource **object) { + return This->lpVtbl->GetAt(This,index,object); +} +static inline HRESULT IXpsOMImageResourceCollection_InsertAt(IXpsOMImageResourceCollection* This,UINT32 index,IXpsOMImageResource *object) { + return This->lpVtbl->InsertAt(This,index,object); +} +static inline HRESULT IXpsOMImageResourceCollection_RemoveAt(IXpsOMImageResourceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMImageResourceCollection_SetAt(IXpsOMImageResourceCollection* This,UINT32 index,IXpsOMImageResource *object) { + return This->lpVtbl->SetAt(This,index,object); +} +static inline HRESULT IXpsOMImageResourceCollection_Append(IXpsOMImageResourceCollection* This,IXpsOMImageResource *object) { + return This->lpVtbl->Append(This,object); +} +static inline HRESULT IXpsOMImageResourceCollection_GetByPartName(IXpsOMImageResourceCollection* This,IOpcPartUri *partName,IXpsOMImageResource **part) { + return This->lpVtbl->GetByPartName(This,partName,part); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMImageResourceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMColorProfileResourceCollection interface + */ +#ifndef __IXpsOMColorProfileResourceCollection_INTERFACE_DEFINED__ +#define __IXpsOMColorProfileResourceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMColorProfileResourceCollection, 0x12759630, 0x5fba, 0x4283, 0x8f,0x7d, 0xcc,0xa8,0x49,0x80,0x9e,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("12759630-5fba-4283-8f7d-cca849809edb") +IXpsOMColorProfileResourceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMColorProfileResource **object) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMColorProfileResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMColorProfileResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMColorProfileResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByPartName( + IOpcPartUri *partName, + IXpsOMColorProfileResource **part) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMColorProfileResourceCollection, 0x12759630, 0x5fba, 0x4283, 0x8f,0x7d, 0xcc,0xa8,0x49,0x80,0x9e,0xdb) +#endif +#else +typedef struct IXpsOMColorProfileResourceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMColorProfileResourceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMColorProfileResourceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMColorProfileResourceCollection *This); + + /*** IXpsOMColorProfileResourceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMColorProfileResourceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMColorProfileResourceCollection *This, + UINT32 index, + IXpsOMColorProfileResource **object); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMColorProfileResourceCollection *This, + UINT32 index, + IXpsOMColorProfileResource *object); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMColorProfileResourceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMColorProfileResourceCollection *This, + UINT32 index, + IXpsOMColorProfileResource *object); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMColorProfileResourceCollection *This, + IXpsOMColorProfileResource *object); + + HRESULT (STDMETHODCALLTYPE *GetByPartName)( + IXpsOMColorProfileResourceCollection *This, + IOpcPartUri *partName, + IXpsOMColorProfileResource **part); + + END_INTERFACE +} IXpsOMColorProfileResourceCollectionVtbl; + +interface IXpsOMColorProfileResourceCollection { + CONST_VTBL IXpsOMColorProfileResourceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMColorProfileResourceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMColorProfileResourceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMColorProfileResourceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMColorProfileResourceCollection methods ***/ +#define IXpsOMColorProfileResourceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMColorProfileResourceCollection_GetAt(This,index,object) (This)->lpVtbl->GetAt(This,index,object) +#define IXpsOMColorProfileResourceCollection_InsertAt(This,index,object) (This)->lpVtbl->InsertAt(This,index,object) +#define IXpsOMColorProfileResourceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMColorProfileResourceCollection_SetAt(This,index,object) (This)->lpVtbl->SetAt(This,index,object) +#define IXpsOMColorProfileResourceCollection_Append(This,object) (This)->lpVtbl->Append(This,object) +#define IXpsOMColorProfileResourceCollection_GetByPartName(This,partName,part) (This)->lpVtbl->GetByPartName(This,partName,part) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMColorProfileResourceCollection_QueryInterface(IXpsOMColorProfileResourceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMColorProfileResourceCollection_AddRef(IXpsOMColorProfileResourceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMColorProfileResourceCollection_Release(IXpsOMColorProfileResourceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMColorProfileResourceCollection methods ***/ +static inline HRESULT IXpsOMColorProfileResourceCollection_GetCount(IXpsOMColorProfileResourceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_GetAt(IXpsOMColorProfileResourceCollection* This,UINT32 index,IXpsOMColorProfileResource **object) { + return This->lpVtbl->GetAt(This,index,object); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_InsertAt(IXpsOMColorProfileResourceCollection* This,UINT32 index,IXpsOMColorProfileResource *object) { + return This->lpVtbl->InsertAt(This,index,object); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_RemoveAt(IXpsOMColorProfileResourceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_SetAt(IXpsOMColorProfileResourceCollection* This,UINT32 index,IXpsOMColorProfileResource *object) { + return This->lpVtbl->SetAt(This,index,object); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_Append(IXpsOMColorProfileResourceCollection* This,IXpsOMColorProfileResource *object) { + return This->lpVtbl->Append(This,object); +} +static inline HRESULT IXpsOMColorProfileResourceCollection_GetByPartName(IXpsOMColorProfileResourceCollection* This,IOpcPartUri *partName,IXpsOMColorProfileResource **part) { + return This->lpVtbl->GetByPartName(This,partName,part); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMColorProfileResourceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMRemoteDictionaryResourceCollection interface + */ +#ifndef __IXpsOMRemoteDictionaryResourceCollection_INTERFACE_DEFINED__ +#define __IXpsOMRemoteDictionaryResourceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMRemoteDictionaryResourceCollection, 0x5c38db61, 0x7fec, 0x464a, 0x87,0xbd, 0x41,0xe3,0xbe,0xf0,0x18,0xbe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5c38db61-7fec-464a-87bd-41e3bef018be") +IXpsOMRemoteDictionaryResourceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMRemoteDictionaryResource **object) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMRemoteDictionaryResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMRemoteDictionaryResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMRemoteDictionaryResource *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByPartName( + IOpcPartUri *partName, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMRemoteDictionaryResourceCollection, 0x5c38db61, 0x7fec, 0x464a, 0x87,0xbd, 0x41,0xe3,0xbe,0xf0,0x18,0xbe) +#endif +#else +typedef struct IXpsOMRemoteDictionaryResourceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMRemoteDictionaryResourceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMRemoteDictionaryResourceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMRemoteDictionaryResourceCollection *This); + + /*** IXpsOMRemoteDictionaryResourceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMRemoteDictionaryResourceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMRemoteDictionaryResourceCollection *This, + UINT32 index, + IXpsOMRemoteDictionaryResource **object); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMRemoteDictionaryResourceCollection *This, + UINT32 index, + IXpsOMRemoteDictionaryResource *object); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMRemoteDictionaryResourceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMRemoteDictionaryResourceCollection *This, + UINT32 index, + IXpsOMRemoteDictionaryResource *object); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMRemoteDictionaryResourceCollection *This, + IXpsOMRemoteDictionaryResource *object); + + HRESULT (STDMETHODCALLTYPE *GetByPartName)( + IXpsOMRemoteDictionaryResourceCollection *This, + IOpcPartUri *partName, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + END_INTERFACE +} IXpsOMRemoteDictionaryResourceCollectionVtbl; + +interface IXpsOMRemoteDictionaryResourceCollection { + CONST_VTBL IXpsOMRemoteDictionaryResourceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMRemoteDictionaryResourceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMRemoteDictionaryResourceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMRemoteDictionaryResourceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMRemoteDictionaryResourceCollection methods ***/ +#define IXpsOMRemoteDictionaryResourceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMRemoteDictionaryResourceCollection_GetAt(This,index,object) (This)->lpVtbl->GetAt(This,index,object) +#define IXpsOMRemoteDictionaryResourceCollection_InsertAt(This,index,object) (This)->lpVtbl->InsertAt(This,index,object) +#define IXpsOMRemoteDictionaryResourceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMRemoteDictionaryResourceCollection_SetAt(This,index,object) (This)->lpVtbl->SetAt(This,index,object) +#define IXpsOMRemoteDictionaryResourceCollection_Append(This,object) (This)->lpVtbl->Append(This,object) +#define IXpsOMRemoteDictionaryResourceCollection_GetByPartName(This,partName,remoteDictionaryResource) (This)->lpVtbl->GetByPartName(This,partName,remoteDictionaryResource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_QueryInterface(IXpsOMRemoteDictionaryResourceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMRemoteDictionaryResourceCollection_AddRef(IXpsOMRemoteDictionaryResourceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMRemoteDictionaryResourceCollection_Release(IXpsOMRemoteDictionaryResourceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMRemoteDictionaryResourceCollection methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_GetCount(IXpsOMRemoteDictionaryResourceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_GetAt(IXpsOMRemoteDictionaryResourceCollection* This,UINT32 index,IXpsOMRemoteDictionaryResource **object) { + return This->lpVtbl->GetAt(This,index,object); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_InsertAt(IXpsOMRemoteDictionaryResourceCollection* This,UINT32 index,IXpsOMRemoteDictionaryResource *object) { + return This->lpVtbl->InsertAt(This,index,object); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_RemoveAt(IXpsOMRemoteDictionaryResourceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_SetAt(IXpsOMRemoteDictionaryResourceCollection* This,UINT32 index,IXpsOMRemoteDictionaryResource *object) { + return This->lpVtbl->SetAt(This,index,object); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_Append(IXpsOMRemoteDictionaryResourceCollection* This,IXpsOMRemoteDictionaryResource *object) { + return This->lpVtbl->Append(This,object); +} +static inline HRESULT IXpsOMRemoteDictionaryResourceCollection_GetByPartName(IXpsOMRemoteDictionaryResourceCollection* This,IOpcPartUri *partName,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->GetByPartName(This,partName,remoteDictionaryResource); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMRemoteDictionaryResourceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMSignatureBlockResourceCollection interface + */ +#ifndef __IXpsOMSignatureBlockResourceCollection_INTERFACE_DEFINED__ +#define __IXpsOMSignatureBlockResourceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMSignatureBlockResourceCollection, 0xab8f5d8e, 0x351b, 0x4d33, 0xaa,0xed, 0xfa,0x56,0xf0,0x02,0x29,0x31); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ab8f5d8e-351b-4d33-aaed-fa56f0022931") +IXpsOMSignatureBlockResourceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMSignatureBlockResource **signatureBlockResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMSignatureBlockResource *signatureBlockResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMSignatureBlockResource *signatureBlockResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMSignatureBlockResource *signatureBlockResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByPartName( + IOpcPartUri *partName, + IXpsOMSignatureBlockResource **signatureBlockResource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMSignatureBlockResourceCollection, 0xab8f5d8e, 0x351b, 0x4d33, 0xaa,0xed, 0xfa,0x56,0xf0,0x02,0x29,0x31) +#endif +#else +typedef struct IXpsOMSignatureBlockResourceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMSignatureBlockResourceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMSignatureBlockResourceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMSignatureBlockResourceCollection *This); + + /*** IXpsOMSignatureBlockResourceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMSignatureBlockResourceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMSignatureBlockResourceCollection *This, + UINT32 index, + IXpsOMSignatureBlockResource **signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMSignatureBlockResourceCollection *This, + UINT32 index, + IXpsOMSignatureBlockResource *signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMSignatureBlockResourceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMSignatureBlockResourceCollection *This, + UINT32 index, + IXpsOMSignatureBlockResource *signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMSignatureBlockResourceCollection *This, + IXpsOMSignatureBlockResource *signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *GetByPartName)( + IXpsOMSignatureBlockResourceCollection *This, + IOpcPartUri *partName, + IXpsOMSignatureBlockResource **signatureBlockResource); + + END_INTERFACE +} IXpsOMSignatureBlockResourceCollectionVtbl; + +interface IXpsOMSignatureBlockResourceCollection { + CONST_VTBL IXpsOMSignatureBlockResourceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMSignatureBlockResourceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMSignatureBlockResourceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMSignatureBlockResourceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMSignatureBlockResourceCollection methods ***/ +#define IXpsOMSignatureBlockResourceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMSignatureBlockResourceCollection_GetAt(This,index,signatureBlockResource) (This)->lpVtbl->GetAt(This,index,signatureBlockResource) +#define IXpsOMSignatureBlockResourceCollection_InsertAt(This,index,signatureBlockResource) (This)->lpVtbl->InsertAt(This,index,signatureBlockResource) +#define IXpsOMSignatureBlockResourceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMSignatureBlockResourceCollection_SetAt(This,index,signatureBlockResource) (This)->lpVtbl->SetAt(This,index,signatureBlockResource) +#define IXpsOMSignatureBlockResourceCollection_Append(This,signatureBlockResource) (This)->lpVtbl->Append(This,signatureBlockResource) +#define IXpsOMSignatureBlockResourceCollection_GetByPartName(This,partName,signatureBlockResource) (This)->lpVtbl->GetByPartName(This,partName,signatureBlockResource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMSignatureBlockResourceCollection_QueryInterface(IXpsOMSignatureBlockResourceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMSignatureBlockResourceCollection_AddRef(IXpsOMSignatureBlockResourceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMSignatureBlockResourceCollection_Release(IXpsOMSignatureBlockResourceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMSignatureBlockResourceCollection methods ***/ +static inline HRESULT IXpsOMSignatureBlockResourceCollection_GetCount(IXpsOMSignatureBlockResourceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_GetAt(IXpsOMSignatureBlockResourceCollection* This,UINT32 index,IXpsOMSignatureBlockResource **signatureBlockResource) { + return This->lpVtbl->GetAt(This,index,signatureBlockResource); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_InsertAt(IXpsOMSignatureBlockResourceCollection* This,UINT32 index,IXpsOMSignatureBlockResource *signatureBlockResource) { + return This->lpVtbl->InsertAt(This,index,signatureBlockResource); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_RemoveAt(IXpsOMSignatureBlockResourceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_SetAt(IXpsOMSignatureBlockResourceCollection* This,UINT32 index,IXpsOMSignatureBlockResource *signatureBlockResource) { + return This->lpVtbl->SetAt(This,index,signatureBlockResource); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_Append(IXpsOMSignatureBlockResourceCollection* This,IXpsOMSignatureBlockResource *signatureBlockResource) { + return This->lpVtbl->Append(This,signatureBlockResource); +} +static inline HRESULT IXpsOMSignatureBlockResourceCollection_GetByPartName(IXpsOMSignatureBlockResourceCollection* This,IOpcPartUri *partName,IXpsOMSignatureBlockResource **signatureBlockResource) { + return This->lpVtbl->GetByPartName(This,partName,signatureBlockResource); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMSignatureBlockResourceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMVisualCollection interface + */ +#ifndef __IXpsOMVisualCollection_INTERFACE_DEFINED__ +#define __IXpsOMVisualCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMVisualCollection, 0x94d8abde, 0xab91, 0x46a8, 0x82,0xb7, 0xf5,0xb0,0x5e,0xf0,0x1a,0x96); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("94d8abde-ab91-46a8-82b7-f5b05ef01a96") +IXpsOMVisualCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMVisual **object) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMVisual *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMVisual *object) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMVisual *object) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMVisualCollection, 0x94d8abde, 0xab91, 0x46a8, 0x82,0xb7, 0xf5,0xb0,0x5e,0xf0,0x1a,0x96) +#endif +#else +typedef struct IXpsOMVisualCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMVisualCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMVisualCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMVisualCollection *This); + + /*** IXpsOMVisualCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMVisualCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMVisualCollection *This, + UINT32 index, + IXpsOMVisual **object); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMVisualCollection *This, + UINT32 index, + IXpsOMVisual *object); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMVisualCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMVisualCollection *This, + UINT32 index, + IXpsOMVisual *object); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMVisualCollection *This, + IXpsOMVisual *object); + + END_INTERFACE +} IXpsOMVisualCollectionVtbl; + +interface IXpsOMVisualCollection { + CONST_VTBL IXpsOMVisualCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMVisualCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMVisualCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMVisualCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMVisualCollection methods ***/ +#define IXpsOMVisualCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMVisualCollection_GetAt(This,index,object) (This)->lpVtbl->GetAt(This,index,object) +#define IXpsOMVisualCollection_InsertAt(This,index,object) (This)->lpVtbl->InsertAt(This,index,object) +#define IXpsOMVisualCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMVisualCollection_SetAt(This,index,object) (This)->lpVtbl->SetAt(This,index,object) +#define IXpsOMVisualCollection_Append(This,object) (This)->lpVtbl->Append(This,object) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMVisualCollection_QueryInterface(IXpsOMVisualCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMVisualCollection_AddRef(IXpsOMVisualCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMVisualCollection_Release(IXpsOMVisualCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMVisualCollection methods ***/ +static inline HRESULT IXpsOMVisualCollection_GetCount(IXpsOMVisualCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMVisualCollection_GetAt(IXpsOMVisualCollection* This,UINT32 index,IXpsOMVisual **object) { + return This->lpVtbl->GetAt(This,index,object); +} +static inline HRESULT IXpsOMVisualCollection_InsertAt(IXpsOMVisualCollection* This,UINT32 index,IXpsOMVisual *object) { + return This->lpVtbl->InsertAt(This,index,object); +} +static inline HRESULT IXpsOMVisualCollection_RemoveAt(IXpsOMVisualCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMVisualCollection_SetAt(IXpsOMVisualCollection* This,UINT32 index,IXpsOMVisual *object) { + return This->lpVtbl->SetAt(This,index,object); +} +static inline HRESULT IXpsOMVisualCollection_Append(IXpsOMVisualCollection* This,IXpsOMVisual *object) { + return This->lpVtbl->Append(This,object); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMVisualCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDictionary interface + */ +#ifndef __IXpsOMDictionary_INTERFACE_DEFINED__ +#define __IXpsOMDictionary_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDictionary, 0x897c86b8, 0x8eaf, 0x4ae3, 0xbd,0xde, 0x56,0x41,0x9f,0xcf,0x42,0x36); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("897c86b8-8eaf-4ae3-bdde-56419fcf4236") +IXpsOMDictionary : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IUnknown **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + LPWSTR *key, + IXpsOMShareable **entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetByKey( + LPCWSTR key, + IXpsOMShareable *beforeEntry, + IXpsOMShareable **entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIndex( + IXpsOMShareable *entry, + UINT32 *index) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + LPCWSTR key, + IXpsOMShareable *entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + LPCWSTR key, + IXpsOMShareable *entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + LPCWSTR key, + IXpsOMShareable *entry) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMDictionary **dictionary) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDictionary, 0x897c86b8, 0x8eaf, 0x4ae3, 0xbd,0xde, 0x56,0x41,0x9f,0xcf,0x42,0x36) +#endif +#else +typedef struct IXpsOMDictionaryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDictionary *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDictionary *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDictionary *This); + + /*** IXpsOMDictionary methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMDictionary *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMDictionary *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMDictionary *This, + UINT32 index, + LPWSTR *key, + IXpsOMShareable **entry); + + HRESULT (STDMETHODCALLTYPE *GetByKey)( + IXpsOMDictionary *This, + LPCWSTR key, + IXpsOMShareable *beforeEntry, + IXpsOMShareable **entry); + + HRESULT (STDMETHODCALLTYPE *GetIndex)( + IXpsOMDictionary *This, + IXpsOMShareable *entry, + UINT32 *index); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMDictionary *This, + LPCWSTR key, + IXpsOMShareable *entry); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMDictionary *This, + UINT32 index, + LPCWSTR key, + IXpsOMShareable *entry); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMDictionary *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMDictionary *This, + UINT32 index, + LPCWSTR key, + IXpsOMShareable *entry); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMDictionary *This, + IXpsOMDictionary **dictionary); + + END_INTERFACE +} IXpsOMDictionaryVtbl; + +interface IXpsOMDictionary { + CONST_VTBL IXpsOMDictionaryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDictionary_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDictionary_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDictionary_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMDictionary methods ***/ +#define IXpsOMDictionary_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMDictionary_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMDictionary_GetAt(This,index,key,entry) (This)->lpVtbl->GetAt(This,index,key,entry) +#define IXpsOMDictionary_GetByKey(This,key,beforeEntry,entry) (This)->lpVtbl->GetByKey(This,key,beforeEntry,entry) +#define IXpsOMDictionary_GetIndex(This,entry,index) (This)->lpVtbl->GetIndex(This,entry,index) +#define IXpsOMDictionary_Append(This,key,entry) (This)->lpVtbl->Append(This,key,entry) +#define IXpsOMDictionary_InsertAt(This,index,key,entry) (This)->lpVtbl->InsertAt(This,index,key,entry) +#define IXpsOMDictionary_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMDictionary_SetAt(This,index,key,entry) (This)->lpVtbl->SetAt(This,index,key,entry) +#define IXpsOMDictionary_Clone(This,dictionary) (This)->lpVtbl->Clone(This,dictionary) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDictionary_QueryInterface(IXpsOMDictionary* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDictionary_AddRef(IXpsOMDictionary* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDictionary_Release(IXpsOMDictionary* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMDictionary methods ***/ +static inline HRESULT IXpsOMDictionary_GetOwner(IXpsOMDictionary* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMDictionary_GetCount(IXpsOMDictionary* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMDictionary_GetAt(IXpsOMDictionary* This,UINT32 index,LPWSTR *key,IXpsOMShareable **entry) { + return This->lpVtbl->GetAt(This,index,key,entry); +} +static inline HRESULT IXpsOMDictionary_GetByKey(IXpsOMDictionary* This,LPCWSTR key,IXpsOMShareable *beforeEntry,IXpsOMShareable **entry) { + return This->lpVtbl->GetByKey(This,key,beforeEntry,entry); +} +static inline HRESULT IXpsOMDictionary_GetIndex(IXpsOMDictionary* This,IXpsOMShareable *entry,UINT32 *index) { + return This->lpVtbl->GetIndex(This,entry,index); +} +static inline HRESULT IXpsOMDictionary_Append(IXpsOMDictionary* This,LPCWSTR key,IXpsOMShareable *entry) { + return This->lpVtbl->Append(This,key,entry); +} +static inline HRESULT IXpsOMDictionary_InsertAt(IXpsOMDictionary* This,UINT32 index,LPCWSTR key,IXpsOMShareable *entry) { + return This->lpVtbl->InsertAt(This,index,key,entry); +} +static inline HRESULT IXpsOMDictionary_RemoveAt(IXpsOMDictionary* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMDictionary_SetAt(IXpsOMDictionary* This,UINT32 index,LPCWSTR key,IXpsOMShareable *entry) { + return This->lpVtbl->SetAt(This,index,key,entry); +} +static inline HRESULT IXpsOMDictionary_Clone(IXpsOMDictionary* This,IXpsOMDictionary **dictionary) { + return This->lpVtbl->Clone(This,dictionary); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDictionary_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPageReference interface + */ +#ifndef __IXpsOMPageReference_INTERFACE_DEFINED__ +#define __IXpsOMPageReference_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPageReference, 0xed360180, 0x6f92, 0x4998, 0x89,0x0d, 0x2f,0x20,0x85,0x31,0xa0,0xa0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ed360180-6f92-4998-890d-2f208531a0a0") +IXpsOMPageReference : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMDocument **document) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPage( + IXpsOMPage **page) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPage( + IXpsOMPage *page) = 0; + + virtual HRESULT STDMETHODCALLTYPE DiscardPage( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsPageLoaded( + WINBOOL *isPageLoaded) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAdvisoryPageDimensions( + XPS_SIZE *pageDimensions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAdvisoryPageDimensions( + const XPS_SIZE *pageDimensions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStoryFragmentsResource( + IXpsOMStoryFragmentsResource **storyFragmentsResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStoryFragmentsResource( + IXpsOMStoryFragmentsResource *storyFragmentsResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrintTicketResource( + IXpsOMPrintTicketResource **printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPrintTicketResource( + IXpsOMPrintTicketResource *printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThumbnailResource( + IXpsOMImageResource **imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetThumbnailResource( + IXpsOMImageResource *imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CollectLinkTargets( + IXpsOMNameCollection **linkTargets) = 0; + + virtual HRESULT STDMETHODCALLTYPE CollectPartResources( + IXpsOMPartResources **partResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE HasRestrictedFonts( + WINBOOL *restrictedFonts) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMPageReference **pageReference) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPageReference, 0xed360180, 0x6f92, 0x4998, 0x89,0x0d, 0x2f,0x20,0x85,0x31,0xa0,0xa0) +#endif +#else +typedef struct IXpsOMPageReferenceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPageReference *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPageReference *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPageReference *This); + + /*** IXpsOMPageReference methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMPageReference *This, + IXpsOMDocument **document); + + HRESULT (STDMETHODCALLTYPE *GetPage)( + IXpsOMPageReference *This, + IXpsOMPage **page); + + HRESULT (STDMETHODCALLTYPE *SetPage)( + IXpsOMPageReference *This, + IXpsOMPage *page); + + HRESULT (STDMETHODCALLTYPE *DiscardPage)( + IXpsOMPageReference *This); + + HRESULT (STDMETHODCALLTYPE *IsPageLoaded)( + IXpsOMPageReference *This, + WINBOOL *isPageLoaded); + + HRESULT (STDMETHODCALLTYPE *GetAdvisoryPageDimensions)( + IXpsOMPageReference *This, + XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *SetAdvisoryPageDimensions)( + IXpsOMPageReference *This, + const XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *GetStoryFragmentsResource)( + IXpsOMPageReference *This, + IXpsOMStoryFragmentsResource **storyFragmentsResource); + + HRESULT (STDMETHODCALLTYPE *SetStoryFragmentsResource)( + IXpsOMPageReference *This, + IXpsOMStoryFragmentsResource *storyFragmentsResource); + + HRESULT (STDMETHODCALLTYPE *GetPrintTicketResource)( + IXpsOMPageReference *This, + IXpsOMPrintTicketResource **printTicketResource); + + HRESULT (STDMETHODCALLTYPE *SetPrintTicketResource)( + IXpsOMPageReference *This, + IXpsOMPrintTicketResource *printTicketResource); + + HRESULT (STDMETHODCALLTYPE *GetThumbnailResource)( + IXpsOMPageReference *This, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *SetThumbnailResource)( + IXpsOMPageReference *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *CollectLinkTargets)( + IXpsOMPageReference *This, + IXpsOMNameCollection **linkTargets); + + HRESULT (STDMETHODCALLTYPE *CollectPartResources)( + IXpsOMPageReference *This, + IXpsOMPartResources **partResources); + + HRESULT (STDMETHODCALLTYPE *HasRestrictedFonts)( + IXpsOMPageReference *This, + WINBOOL *restrictedFonts); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMPageReference *This, + IXpsOMPageReference **pageReference); + + END_INTERFACE +} IXpsOMPageReferenceVtbl; + +interface IXpsOMPageReference { + CONST_VTBL IXpsOMPageReferenceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPageReference_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPageReference_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPageReference_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPageReference methods ***/ +#define IXpsOMPageReference_GetOwner(This,document) (This)->lpVtbl->GetOwner(This,document) +#define IXpsOMPageReference_GetPage(This,page) (This)->lpVtbl->GetPage(This,page) +#define IXpsOMPageReference_SetPage(This,page) (This)->lpVtbl->SetPage(This,page) +#define IXpsOMPageReference_DiscardPage(This) (This)->lpVtbl->DiscardPage(This) +#define IXpsOMPageReference_IsPageLoaded(This,isPageLoaded) (This)->lpVtbl->IsPageLoaded(This,isPageLoaded) +#define IXpsOMPageReference_GetAdvisoryPageDimensions(This,pageDimensions) (This)->lpVtbl->GetAdvisoryPageDimensions(This,pageDimensions) +#define IXpsOMPageReference_SetAdvisoryPageDimensions(This,pageDimensions) (This)->lpVtbl->SetAdvisoryPageDimensions(This,pageDimensions) +#define IXpsOMPageReference_GetStoryFragmentsResource(This,storyFragmentsResource) (This)->lpVtbl->GetStoryFragmentsResource(This,storyFragmentsResource) +#define IXpsOMPageReference_SetStoryFragmentsResource(This,storyFragmentsResource) (This)->lpVtbl->SetStoryFragmentsResource(This,storyFragmentsResource) +#define IXpsOMPageReference_GetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->GetPrintTicketResource(This,printTicketResource) +#define IXpsOMPageReference_SetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->SetPrintTicketResource(This,printTicketResource) +#define IXpsOMPageReference_GetThumbnailResource(This,imageResource) (This)->lpVtbl->GetThumbnailResource(This,imageResource) +#define IXpsOMPageReference_SetThumbnailResource(This,imageResource) (This)->lpVtbl->SetThumbnailResource(This,imageResource) +#define IXpsOMPageReference_CollectLinkTargets(This,linkTargets) (This)->lpVtbl->CollectLinkTargets(This,linkTargets) +#define IXpsOMPageReference_CollectPartResources(This,partResources) (This)->lpVtbl->CollectPartResources(This,partResources) +#define IXpsOMPageReference_HasRestrictedFonts(This,restrictedFonts) (This)->lpVtbl->HasRestrictedFonts(This,restrictedFonts) +#define IXpsOMPageReference_Clone(This,pageReference) (This)->lpVtbl->Clone(This,pageReference) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPageReference_QueryInterface(IXpsOMPageReference* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPageReference_AddRef(IXpsOMPageReference* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPageReference_Release(IXpsOMPageReference* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPageReference methods ***/ +static inline HRESULT IXpsOMPageReference_GetOwner(IXpsOMPageReference* This,IXpsOMDocument **document) { + return This->lpVtbl->GetOwner(This,document); +} +static inline HRESULT IXpsOMPageReference_GetPage(IXpsOMPageReference* This,IXpsOMPage **page) { + return This->lpVtbl->GetPage(This,page); +} +static inline HRESULT IXpsOMPageReference_SetPage(IXpsOMPageReference* This,IXpsOMPage *page) { + return This->lpVtbl->SetPage(This,page); +} +static inline HRESULT IXpsOMPageReference_DiscardPage(IXpsOMPageReference* This) { + return This->lpVtbl->DiscardPage(This); +} +static inline HRESULT IXpsOMPageReference_IsPageLoaded(IXpsOMPageReference* This,WINBOOL *isPageLoaded) { + return This->lpVtbl->IsPageLoaded(This,isPageLoaded); +} +static inline HRESULT IXpsOMPageReference_GetAdvisoryPageDimensions(IXpsOMPageReference* This,XPS_SIZE *pageDimensions) { + return This->lpVtbl->GetAdvisoryPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPageReference_SetAdvisoryPageDimensions(IXpsOMPageReference* This,const XPS_SIZE *pageDimensions) { + return This->lpVtbl->SetAdvisoryPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPageReference_GetStoryFragmentsResource(IXpsOMPageReference* This,IXpsOMStoryFragmentsResource **storyFragmentsResource) { + return This->lpVtbl->GetStoryFragmentsResource(This,storyFragmentsResource); +} +static inline HRESULT IXpsOMPageReference_SetStoryFragmentsResource(IXpsOMPageReference* This,IXpsOMStoryFragmentsResource *storyFragmentsResource) { + return This->lpVtbl->SetStoryFragmentsResource(This,storyFragmentsResource); +} +static inline HRESULT IXpsOMPageReference_GetPrintTicketResource(IXpsOMPageReference* This,IXpsOMPrintTicketResource **printTicketResource) { + return This->lpVtbl->GetPrintTicketResource(This,printTicketResource); +} +static inline HRESULT IXpsOMPageReference_SetPrintTicketResource(IXpsOMPageReference* This,IXpsOMPrintTicketResource *printTicketResource) { + return This->lpVtbl->SetPrintTicketResource(This,printTicketResource); +} +static inline HRESULT IXpsOMPageReference_GetThumbnailResource(IXpsOMPageReference* This,IXpsOMImageResource **imageResource) { + return This->lpVtbl->GetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPageReference_SetThumbnailResource(IXpsOMPageReference* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->SetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPageReference_CollectLinkTargets(IXpsOMPageReference* This,IXpsOMNameCollection **linkTargets) { + return This->lpVtbl->CollectLinkTargets(This,linkTargets); +} +static inline HRESULT IXpsOMPageReference_CollectPartResources(IXpsOMPageReference* This,IXpsOMPartResources **partResources) { + return This->lpVtbl->CollectPartResources(This,partResources); +} +static inline HRESULT IXpsOMPageReference_HasRestrictedFonts(IXpsOMPageReference* This,WINBOOL *restrictedFonts) { + return This->lpVtbl->HasRestrictedFonts(This,restrictedFonts); +} +static inline HRESULT IXpsOMPageReference_Clone(IXpsOMPageReference* This,IXpsOMPageReference **pageReference) { + return This->lpVtbl->Clone(This,pageReference); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPageReference_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPageReferenceCollection interface + */ +#ifndef __IXpsOMPageReferenceCollection_INTERFACE_DEFINED__ +#define __IXpsOMPageReferenceCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPageReferenceCollection, 0xca16ba4d, 0xe7b9, 0x45c5, 0x95,0x8b, 0xf9,0x80,0x22,0x47,0x37,0x45); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("ca16ba4d-e7b9-45c5-958b-f98022473745") +IXpsOMPageReferenceCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMPageReference **pageReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMPageReference *pageReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMPageReference *pageReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMPageReference *pageReference) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPageReferenceCollection, 0xca16ba4d, 0xe7b9, 0x45c5, 0x95,0x8b, 0xf9,0x80,0x22,0x47,0x37,0x45) +#endif +#else +typedef struct IXpsOMPageReferenceCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPageReferenceCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPageReferenceCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPageReferenceCollection *This); + + /*** IXpsOMPageReferenceCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMPageReferenceCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMPageReferenceCollection *This, + UINT32 index, + IXpsOMPageReference **pageReference); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMPageReferenceCollection *This, + UINT32 index, + IXpsOMPageReference *pageReference); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMPageReferenceCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMPageReferenceCollection *This, + UINT32 index, + IXpsOMPageReference *pageReference); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMPageReferenceCollection *This, + IXpsOMPageReference *pageReference); + + END_INTERFACE +} IXpsOMPageReferenceCollectionVtbl; + +interface IXpsOMPageReferenceCollection { + CONST_VTBL IXpsOMPageReferenceCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPageReferenceCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPageReferenceCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPageReferenceCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPageReferenceCollection methods ***/ +#define IXpsOMPageReferenceCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMPageReferenceCollection_GetAt(This,index,pageReference) (This)->lpVtbl->GetAt(This,index,pageReference) +#define IXpsOMPageReferenceCollection_InsertAt(This,index,pageReference) (This)->lpVtbl->InsertAt(This,index,pageReference) +#define IXpsOMPageReferenceCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMPageReferenceCollection_SetAt(This,index,pageReference) (This)->lpVtbl->SetAt(This,index,pageReference) +#define IXpsOMPageReferenceCollection_Append(This,pageReference) (This)->lpVtbl->Append(This,pageReference) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPageReferenceCollection_QueryInterface(IXpsOMPageReferenceCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPageReferenceCollection_AddRef(IXpsOMPageReferenceCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPageReferenceCollection_Release(IXpsOMPageReferenceCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPageReferenceCollection methods ***/ +static inline HRESULT IXpsOMPageReferenceCollection_GetCount(IXpsOMPageReferenceCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMPageReferenceCollection_GetAt(IXpsOMPageReferenceCollection* This,UINT32 index,IXpsOMPageReference **pageReference) { + return This->lpVtbl->GetAt(This,index,pageReference); +} +static inline HRESULT IXpsOMPageReferenceCollection_InsertAt(IXpsOMPageReferenceCollection* This,UINT32 index,IXpsOMPageReference *pageReference) { + return This->lpVtbl->InsertAt(This,index,pageReference); +} +static inline HRESULT IXpsOMPageReferenceCollection_RemoveAt(IXpsOMPageReferenceCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMPageReferenceCollection_SetAt(IXpsOMPageReferenceCollection* This,UINT32 index,IXpsOMPageReference *pageReference) { + return This->lpVtbl->SetAt(This,index,pageReference); +} +static inline HRESULT IXpsOMPageReferenceCollection_Append(IXpsOMPageReferenceCollection* This,IXpsOMPageReference *pageReference) { + return This->lpVtbl->Append(This,pageReference); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPageReferenceCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDocumentCollection interface + */ +#ifndef __IXpsOMDocumentCollection_INTERFACE_DEFINED__ +#define __IXpsOMDocumentCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDocumentCollection, 0xd1c87f0d, 0xe947, 0x4754, 0x8a,0x25, 0x97,0x14,0x78,0xf7,0xe8,0x3e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d1c87f0d-e947-4754-8a25-971478f7e83e") +IXpsOMDocumentCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IXpsOMDocument **document) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IXpsOMDocument *document) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IXpsOMDocument *document) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IXpsOMDocument *document) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDocumentCollection, 0xd1c87f0d, 0xe947, 0x4754, 0x8a,0x25, 0x97,0x14,0x78,0xf7,0xe8,0x3e) +#endif +#else +typedef struct IXpsOMDocumentCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDocumentCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDocumentCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDocumentCollection *This); + + /*** IXpsOMDocumentCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMDocumentCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMDocumentCollection *This, + UINT32 index, + IXpsOMDocument **document); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMDocumentCollection *This, + UINT32 index, + IXpsOMDocument *document); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMDocumentCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMDocumentCollection *This, + UINT32 index, + IXpsOMDocument *document); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMDocumentCollection *This, + IXpsOMDocument *document); + + END_INTERFACE +} IXpsOMDocumentCollectionVtbl; + +interface IXpsOMDocumentCollection { + CONST_VTBL IXpsOMDocumentCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDocumentCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDocumentCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDocumentCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMDocumentCollection methods ***/ +#define IXpsOMDocumentCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMDocumentCollection_GetAt(This,index,document) (This)->lpVtbl->GetAt(This,index,document) +#define IXpsOMDocumentCollection_InsertAt(This,index,document) (This)->lpVtbl->InsertAt(This,index,document) +#define IXpsOMDocumentCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMDocumentCollection_SetAt(This,index,document) (This)->lpVtbl->SetAt(This,index,document) +#define IXpsOMDocumentCollection_Append(This,document) (This)->lpVtbl->Append(This,document) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDocumentCollection_QueryInterface(IXpsOMDocumentCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDocumentCollection_AddRef(IXpsOMDocumentCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDocumentCollection_Release(IXpsOMDocumentCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMDocumentCollection methods ***/ +static inline HRESULT IXpsOMDocumentCollection_GetCount(IXpsOMDocumentCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMDocumentCollection_GetAt(IXpsOMDocumentCollection* This,UINT32 index,IXpsOMDocument **document) { + return This->lpVtbl->GetAt(This,index,document); +} +static inline HRESULT IXpsOMDocumentCollection_InsertAt(IXpsOMDocumentCollection* This,UINT32 index,IXpsOMDocument *document) { + return This->lpVtbl->InsertAt(This,index,document); +} +static inline HRESULT IXpsOMDocumentCollection_RemoveAt(IXpsOMDocumentCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMDocumentCollection_SetAt(IXpsOMDocumentCollection* This,UINT32 index,IXpsOMDocument *document) { + return This->lpVtbl->SetAt(This,index,document); +} +static inline HRESULT IXpsOMDocumentCollection_Append(IXpsOMDocumentCollection* This,IXpsOMDocument *document) { + return This->lpVtbl->Append(This,document); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDocumentCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPackage interface + */ +#ifndef __IXpsOMPackage_INTERFACE_DEFINED__ +#define __IXpsOMPackage_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPackage, 0x18c3df65, 0x81e1, 0x4674, 0x91,0xdc, 0xfc,0x45,0x2f,0x5a,0x41,0x6f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("18c3df65-81e1-4674-91dc-fc452f5a416f") +IXpsOMPackage : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetDocumentSequence( + IXpsOMDocumentSequence **documentSequence) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDocumentSequence( + IXpsOMDocumentSequence *documentSequence) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCoreProperties( + IXpsOMCoreProperties **coreProperties) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCoreProperties( + IXpsOMCoreProperties *coreProperties) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDiscardControlPartName( + IOpcPartUri **discardControlPartUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDiscardControlPartName( + IOpcPartUri *discardControlPartUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetThumbnailResource( + IXpsOMImageResource **imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetThumbnailResource( + IXpsOMImageResource *imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteToFile( + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteToStream( + ISequentialStream *stream, + WINBOOL optimizeMarkupSize) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPackage, 0x18c3df65, 0x81e1, 0x4674, 0x91,0xdc, 0xfc,0x45,0x2f,0x5a,0x41,0x6f) +#endif +#else +typedef struct IXpsOMPackageVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPackage *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPackage *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPackage *This); + + /*** IXpsOMPackage methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentSequence)( + IXpsOMPackage *This, + IXpsOMDocumentSequence **documentSequence); + + HRESULT (STDMETHODCALLTYPE *SetDocumentSequence)( + IXpsOMPackage *This, + IXpsOMDocumentSequence *documentSequence); + + HRESULT (STDMETHODCALLTYPE *GetCoreProperties)( + IXpsOMPackage *This, + IXpsOMCoreProperties **coreProperties); + + HRESULT (STDMETHODCALLTYPE *SetCoreProperties)( + IXpsOMPackage *This, + IXpsOMCoreProperties *coreProperties); + + HRESULT (STDMETHODCALLTYPE *GetDiscardControlPartName)( + IXpsOMPackage *This, + IOpcPartUri **discardControlPartUri); + + HRESULT (STDMETHODCALLTYPE *SetDiscardControlPartName)( + IXpsOMPackage *This, + IOpcPartUri *discardControlPartUri); + + HRESULT (STDMETHODCALLTYPE *GetThumbnailResource)( + IXpsOMPackage *This, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *SetThumbnailResource)( + IXpsOMPackage *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *WriteToFile)( + IXpsOMPackage *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize); + + HRESULT (STDMETHODCALLTYPE *WriteToStream)( + IXpsOMPackage *This, + ISequentialStream *stream, + WINBOOL optimizeMarkupSize); + + END_INTERFACE +} IXpsOMPackageVtbl; + +interface IXpsOMPackage { + CONST_VTBL IXpsOMPackageVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPackage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPackage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPackage_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPackage methods ***/ +#define IXpsOMPackage_GetDocumentSequence(This,documentSequence) (This)->lpVtbl->GetDocumentSequence(This,documentSequence) +#define IXpsOMPackage_SetDocumentSequence(This,documentSequence) (This)->lpVtbl->SetDocumentSequence(This,documentSequence) +#define IXpsOMPackage_GetCoreProperties(This,coreProperties) (This)->lpVtbl->GetCoreProperties(This,coreProperties) +#define IXpsOMPackage_SetCoreProperties(This,coreProperties) (This)->lpVtbl->SetCoreProperties(This,coreProperties) +#define IXpsOMPackage_GetDiscardControlPartName(This,discardControlPartUri) (This)->lpVtbl->GetDiscardControlPartName(This,discardControlPartUri) +#define IXpsOMPackage_SetDiscardControlPartName(This,discardControlPartUri) (This)->lpVtbl->SetDiscardControlPartName(This,discardControlPartUri) +#define IXpsOMPackage_GetThumbnailResource(This,imageResource) (This)->lpVtbl->GetThumbnailResource(This,imageResource) +#define IXpsOMPackage_SetThumbnailResource(This,imageResource) (This)->lpVtbl->SetThumbnailResource(This,imageResource) +#define IXpsOMPackage_WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize) (This)->lpVtbl->WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize) +#define IXpsOMPackage_WriteToStream(This,stream,optimizeMarkupSize) (This)->lpVtbl->WriteToStream(This,stream,optimizeMarkupSize) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPackage_QueryInterface(IXpsOMPackage* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPackage_AddRef(IXpsOMPackage* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPackage_Release(IXpsOMPackage* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPackage methods ***/ +static inline HRESULT IXpsOMPackage_GetDocumentSequence(IXpsOMPackage* This,IXpsOMDocumentSequence **documentSequence) { + return This->lpVtbl->GetDocumentSequence(This,documentSequence); +} +static inline HRESULT IXpsOMPackage_SetDocumentSequence(IXpsOMPackage* This,IXpsOMDocumentSequence *documentSequence) { + return This->lpVtbl->SetDocumentSequence(This,documentSequence); +} +static inline HRESULT IXpsOMPackage_GetCoreProperties(IXpsOMPackage* This,IXpsOMCoreProperties **coreProperties) { + return This->lpVtbl->GetCoreProperties(This,coreProperties); +} +static inline HRESULT IXpsOMPackage_SetCoreProperties(IXpsOMPackage* This,IXpsOMCoreProperties *coreProperties) { + return This->lpVtbl->SetCoreProperties(This,coreProperties); +} +static inline HRESULT IXpsOMPackage_GetDiscardControlPartName(IXpsOMPackage* This,IOpcPartUri **discardControlPartUri) { + return This->lpVtbl->GetDiscardControlPartName(This,discardControlPartUri); +} +static inline HRESULT IXpsOMPackage_SetDiscardControlPartName(IXpsOMPackage* This,IOpcPartUri *discardControlPartUri) { + return This->lpVtbl->SetDiscardControlPartName(This,discardControlPartUri); +} +static inline HRESULT IXpsOMPackage_GetThumbnailResource(IXpsOMPackage* This,IXpsOMImageResource **imageResource) { + return This->lpVtbl->GetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPackage_SetThumbnailResource(IXpsOMPackage* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->SetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPackage_WriteToFile(IXpsOMPackage* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize); +} +static inline HRESULT IXpsOMPackage_WriteToStream(IXpsOMPackage* This,ISequentialStream *stream,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->WriteToStream(This,stream,optimizeMarkupSize); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPackage_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMObjectFactory interface + */ +#ifndef __IXpsOMObjectFactory_INTERFACE_DEFINED__ +#define __IXpsOMObjectFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMObjectFactory, 0xf9b2a685, 0xa50d, 0x4fc2, 0xb7,0x64, 0xb5,0x6e,0x09,0x3e,0xa0,0xca); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("f9b2a685-a50d-4fc2-b764-b56e093ea0ca") +IXpsOMObjectFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreatePackage( + IXpsOMPackage **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageFromFile( + LPCWSTR filename, + WINBOOL reuseObjects, + IXpsOMPackage **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageFromStream( + IStream *stream, + WINBOOL reuseObjects, + IXpsOMPackage **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateStoryFragmentsResource( + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMStoryFragmentsResource **storyFragmentsResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDocumentStructureResource( + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMDocumentStructureResource **documentStructureResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSignatureBlockResource( + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMSignatureBlockResource **signatureBlockResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRemoteDictionaryResource( + IXpsOMDictionary *dictionary, + IOpcPartUri *partUri, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRemoteDictionaryResourceFromStream( + IStream *dictionaryMarkupStream, + IOpcPartUri *dictionaryPartUri, + IXpsOMPartResources *resources, + IXpsOMRemoteDictionaryResource **dictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePartResources( + IXpsOMPartResources **partResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDocumentSequence( + IOpcPartUri *partUri, + IXpsOMDocumentSequence **documentSequence) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDocument( + IOpcPartUri *partUri, + IXpsOMDocument **document) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePageReference( + const XPS_SIZE *advisoryPageDimensions, + IXpsOMPageReference **pageReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePage( + const XPS_SIZE *pageDimensions, + LPCWSTR language, + IOpcPartUri *partUri, + IXpsOMPage **page) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePageFromStream( + IStream *pageMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + WINBOOL reuseObjects, + IXpsOMPage **page) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCanvas( + IXpsOMCanvas **canvas) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateGlyphs( + IXpsOMFontResource *fontResource, + IXpsOMGlyphs **glyphs) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePath( + IXpsOMPath **path) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateGeometry( + IXpsOMGeometry **geometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateGeometryFigure( + const XPS_POINT *startPoint, + IXpsOMGeometryFigure **figure) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateMatrixTransform( + const XPS_MATRIX *matrix, + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateSolidColorBrush( + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + IXpsOMSolidColorBrush **solidColorBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateColorProfileResource( + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMColorProfileResource **colorProfileResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateImageBrush( + IXpsOMImageResource *image, + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMImageBrush **imageBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateVisualBrush( + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMVisualBrush **visualBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateImageResource( + IStream *acquiredStream, + XPS_IMAGE_TYPE contentType, + IOpcPartUri *partUri, + IXpsOMImageResource **imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePrintTicketResource( + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMPrintTicketResource **printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateFontResource( + IStream *acquiredStream, + XPS_FONT_EMBEDDING fontEmbedding, + IOpcPartUri *partUri, + WINBOOL isObfSourceStream, + IXpsOMFontResource **fontResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateGradientStop( + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + FLOAT offset, + IXpsOMGradientStop **gradientStop) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateLinearGradientBrush( + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *startPoint, + const XPS_POINT *endPoint, + IXpsOMLinearGradientBrush **linearGradientBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRadialGradientBrush( + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *centerPoint, + const XPS_POINT *gradientOrigin, + const XPS_SIZE *radiiSizes, + IXpsOMRadialGradientBrush **radialGradientBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateCoreProperties( + IOpcPartUri *partUri, + IXpsOMCoreProperties **coreProperties) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateDictionary( + IXpsOMDictionary **dictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePartUriCollection( + IXpsOMPartUriCollection **partUriCollection) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageWriterOnFile( + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageWriterOnStream( + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePartUri( + LPCWSTR uri, + IOpcPartUri **partUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateReadOnlyStreamOnFile( + LPCWSTR filename, + IStream **stream) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMObjectFactory, 0xf9b2a685, 0xa50d, 0x4fc2, 0xb7,0x64, 0xb5,0x6e,0x09,0x3e,0xa0,0xca) +#endif +#else +typedef struct IXpsOMObjectFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMObjectFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMObjectFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMObjectFactory *This); + + /*** IXpsOMObjectFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePackage)( + IXpsOMObjectFactory *This, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromFile)( + IXpsOMObjectFactory *This, + LPCWSTR filename, + WINBOOL reuseObjects, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromStream)( + IXpsOMObjectFactory *This, + IStream *stream, + WINBOOL reuseObjects, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreateStoryFragmentsResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMStoryFragmentsResource **storyFragmentsResource); + + HRESULT (STDMETHODCALLTYPE *CreateDocumentStructureResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMDocumentStructureResource **documentStructureResource); + + HRESULT (STDMETHODCALLTYPE *CreateSignatureBlockResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMSignatureBlockResource **signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *CreateRemoteDictionaryResource)( + IXpsOMObjectFactory *This, + IXpsOMDictionary *dictionary, + IOpcPartUri *partUri, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *CreateRemoteDictionaryResourceFromStream)( + IXpsOMObjectFactory *This, + IStream *dictionaryMarkupStream, + IOpcPartUri *dictionaryPartUri, + IXpsOMPartResources *resources, + IXpsOMRemoteDictionaryResource **dictionaryResource); + + HRESULT (STDMETHODCALLTYPE *CreatePartResources)( + IXpsOMObjectFactory *This, + IXpsOMPartResources **partResources); + + HRESULT (STDMETHODCALLTYPE *CreateDocumentSequence)( + IXpsOMObjectFactory *This, + IOpcPartUri *partUri, + IXpsOMDocumentSequence **documentSequence); + + HRESULT (STDMETHODCALLTYPE *CreateDocument)( + IXpsOMObjectFactory *This, + IOpcPartUri *partUri, + IXpsOMDocument **document); + + HRESULT (STDMETHODCALLTYPE *CreatePageReference)( + IXpsOMObjectFactory *This, + const XPS_SIZE *advisoryPageDimensions, + IXpsOMPageReference **pageReference); + + HRESULT (STDMETHODCALLTYPE *CreatePage)( + IXpsOMObjectFactory *This, + const XPS_SIZE *pageDimensions, + LPCWSTR language, + IOpcPartUri *partUri, + IXpsOMPage **page); + + HRESULT (STDMETHODCALLTYPE *CreatePageFromStream)( + IXpsOMObjectFactory *This, + IStream *pageMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + WINBOOL reuseObjects, + IXpsOMPage **page); + + HRESULT (STDMETHODCALLTYPE *CreateCanvas)( + IXpsOMObjectFactory *This, + IXpsOMCanvas **canvas); + + HRESULT (STDMETHODCALLTYPE *CreateGlyphs)( + IXpsOMObjectFactory *This, + IXpsOMFontResource *fontResource, + IXpsOMGlyphs **glyphs); + + HRESULT (STDMETHODCALLTYPE *CreatePath)( + IXpsOMObjectFactory *This, + IXpsOMPath **path); + + HRESULT (STDMETHODCALLTYPE *CreateGeometry)( + IXpsOMObjectFactory *This, + IXpsOMGeometry **geometry); + + HRESULT (STDMETHODCALLTYPE *CreateGeometryFigure)( + IXpsOMObjectFactory *This, + const XPS_POINT *startPoint, + IXpsOMGeometryFigure **figure); + + HRESULT (STDMETHODCALLTYPE *CreateMatrixTransform)( + IXpsOMObjectFactory *This, + const XPS_MATRIX *matrix, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( + IXpsOMObjectFactory *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + IXpsOMSolidColorBrush **solidColorBrush); + + HRESULT (STDMETHODCALLTYPE *CreateColorProfileResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMColorProfileResource **colorProfileResource); + + HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( + IXpsOMObjectFactory *This, + IXpsOMImageResource *image, + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMImageBrush **imageBrush); + + HRESULT (STDMETHODCALLTYPE *CreateVisualBrush)( + IXpsOMObjectFactory *This, + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMVisualBrush **visualBrush); + + HRESULT (STDMETHODCALLTYPE *CreateImageResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + XPS_IMAGE_TYPE contentType, + IOpcPartUri *partUri, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *CreatePrintTicketResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMPrintTicketResource **printTicketResource); + + HRESULT (STDMETHODCALLTYPE *CreateFontResource)( + IXpsOMObjectFactory *This, + IStream *acquiredStream, + XPS_FONT_EMBEDDING fontEmbedding, + IOpcPartUri *partUri, + WINBOOL isObfSourceStream, + IXpsOMFontResource **fontResource); + + HRESULT (STDMETHODCALLTYPE *CreateGradientStop)( + IXpsOMObjectFactory *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + FLOAT offset, + IXpsOMGradientStop **gradientStop); + + HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( + IXpsOMObjectFactory *This, + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *startPoint, + const XPS_POINT *endPoint, + IXpsOMLinearGradientBrush **linearGradientBrush); + + HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( + IXpsOMObjectFactory *This, + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *centerPoint, + const XPS_POINT *gradientOrigin, + const XPS_SIZE *radiiSizes, + IXpsOMRadialGradientBrush **radialGradientBrush); + + HRESULT (STDMETHODCALLTYPE *CreateCoreProperties)( + IXpsOMObjectFactory *This, + IOpcPartUri *partUri, + IXpsOMCoreProperties **coreProperties); + + HRESULT (STDMETHODCALLTYPE *CreateDictionary)( + IXpsOMObjectFactory *This, + IXpsOMDictionary **dictionary); + + HRESULT (STDMETHODCALLTYPE *CreatePartUriCollection)( + IXpsOMObjectFactory *This, + IXpsOMPartUriCollection **partUriCollection); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnFile)( + IXpsOMObjectFactory *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnStream)( + IXpsOMObjectFactory *This, + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePartUri)( + IXpsOMObjectFactory *This, + LPCWSTR uri, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *CreateReadOnlyStreamOnFile)( + IXpsOMObjectFactory *This, + LPCWSTR filename, + IStream **stream); + + END_INTERFACE +} IXpsOMObjectFactoryVtbl; + +interface IXpsOMObjectFactory { + CONST_VTBL IXpsOMObjectFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMObjectFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMObjectFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMObjectFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMObjectFactory methods ***/ +#define IXpsOMObjectFactory_CreatePackage(This,package) (This)->lpVtbl->CreatePackage(This,package) +#define IXpsOMObjectFactory_CreatePackageFromFile(This,filename,reuseObjects,package) (This)->lpVtbl->CreatePackageFromFile(This,filename,reuseObjects,package) +#define IXpsOMObjectFactory_CreatePackageFromStream(This,stream,reuseObjects,package) (This)->lpVtbl->CreatePackageFromStream(This,stream,reuseObjects,package) +#define IXpsOMObjectFactory_CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource) (This)->lpVtbl->CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource) +#define IXpsOMObjectFactory_CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource) (This)->lpVtbl->CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource) +#define IXpsOMObjectFactory_CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource) (This)->lpVtbl->CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource) +#define IXpsOMObjectFactory_CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource) (This)->lpVtbl->CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource) +#define IXpsOMObjectFactory_CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource) (This)->lpVtbl->CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource) +#define IXpsOMObjectFactory_CreatePartResources(This,partResources) (This)->lpVtbl->CreatePartResources(This,partResources) +#define IXpsOMObjectFactory_CreateDocumentSequence(This,partUri,documentSequence) (This)->lpVtbl->CreateDocumentSequence(This,partUri,documentSequence) +#define IXpsOMObjectFactory_CreateDocument(This,partUri,document) (This)->lpVtbl->CreateDocument(This,partUri,document) +#define IXpsOMObjectFactory_CreatePageReference(This,advisoryPageDimensions,pageReference) (This)->lpVtbl->CreatePageReference(This,advisoryPageDimensions,pageReference) +#define IXpsOMObjectFactory_CreatePage(This,pageDimensions,language,partUri,page) (This)->lpVtbl->CreatePage(This,pageDimensions,language,partUri,page) +#define IXpsOMObjectFactory_CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page) (This)->lpVtbl->CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page) +#define IXpsOMObjectFactory_CreateCanvas(This,canvas) (This)->lpVtbl->CreateCanvas(This,canvas) +#define IXpsOMObjectFactory_CreateGlyphs(This,fontResource,glyphs) (This)->lpVtbl->CreateGlyphs(This,fontResource,glyphs) +#define IXpsOMObjectFactory_CreatePath(This,path) (This)->lpVtbl->CreatePath(This,path) +#define IXpsOMObjectFactory_CreateGeometry(This,geometry) (This)->lpVtbl->CreateGeometry(This,geometry) +#define IXpsOMObjectFactory_CreateGeometryFigure(This,startPoint,figure) (This)->lpVtbl->CreateGeometryFigure(This,startPoint,figure) +#define IXpsOMObjectFactory_CreateMatrixTransform(This,matrix,transform) (This)->lpVtbl->CreateMatrixTransform(This,matrix,transform) +#define IXpsOMObjectFactory_CreateSolidColorBrush(This,color,colorProfile,solidColorBrush) (This)->lpVtbl->CreateSolidColorBrush(This,color,colorProfile,solidColorBrush) +#define IXpsOMObjectFactory_CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource) (This)->lpVtbl->CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource) +#define IXpsOMObjectFactory_CreateImageBrush(This,image,viewBox,viewPort,imageBrush) (This)->lpVtbl->CreateImageBrush(This,image,viewBox,viewPort,imageBrush) +#define IXpsOMObjectFactory_CreateVisualBrush(This,viewBox,viewPort,visualBrush) (This)->lpVtbl->CreateVisualBrush(This,viewBox,viewPort,visualBrush) +#define IXpsOMObjectFactory_CreateImageResource(This,acquiredStream,contentType,partUri,imageResource) (This)->lpVtbl->CreateImageResource(This,acquiredStream,contentType,partUri,imageResource) +#define IXpsOMObjectFactory_CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource) (This)->lpVtbl->CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource) +#define IXpsOMObjectFactory_CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource) (This)->lpVtbl->CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource) +#define IXpsOMObjectFactory_CreateGradientStop(This,color,colorProfile,offset,gradientStop) (This)->lpVtbl->CreateGradientStop(This,color,colorProfile,offset,gradientStop) +#define IXpsOMObjectFactory_CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush) +#define IXpsOMObjectFactory_CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush) +#define IXpsOMObjectFactory_CreateCoreProperties(This,partUri,coreProperties) (This)->lpVtbl->CreateCoreProperties(This,partUri,coreProperties) +#define IXpsOMObjectFactory_CreateDictionary(This,dictionary) (This)->lpVtbl->CreateDictionary(This,dictionary) +#define IXpsOMObjectFactory_CreatePartUriCollection(This,partUriCollection) (This)->lpVtbl->CreatePartUriCollection(This,partUriCollection) +#define IXpsOMObjectFactory_CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) (This)->lpVtbl->CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) +#define IXpsOMObjectFactory_CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) (This)->lpVtbl->CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) +#define IXpsOMObjectFactory_CreatePartUri(This,uri,partUri) (This)->lpVtbl->CreatePartUri(This,uri,partUri) +#define IXpsOMObjectFactory_CreateReadOnlyStreamOnFile(This,filename,stream) (This)->lpVtbl->CreateReadOnlyStreamOnFile(This,filename,stream) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMObjectFactory_QueryInterface(IXpsOMObjectFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMObjectFactory_AddRef(IXpsOMObjectFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMObjectFactory_Release(IXpsOMObjectFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMObjectFactory methods ***/ +static inline HRESULT IXpsOMObjectFactory_CreatePackage(IXpsOMObjectFactory* This,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackage(This,package); +} +static inline HRESULT IXpsOMObjectFactory_CreatePackageFromFile(IXpsOMObjectFactory* This,LPCWSTR filename,WINBOOL reuseObjects,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackageFromFile(This,filename,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory_CreatePackageFromStream(IXpsOMObjectFactory* This,IStream *stream,WINBOOL reuseObjects,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackageFromStream(This,stream,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory_CreateStoryFragmentsResource(IXpsOMObjectFactory* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMStoryFragmentsResource **storyFragmentsResource) { + return This->lpVtbl->CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateDocumentStructureResource(IXpsOMObjectFactory* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMDocumentStructureResource **documentStructureResource) { + return This->lpVtbl->CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateSignatureBlockResource(IXpsOMObjectFactory* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMSignatureBlockResource **signatureBlockResource) { + return This->lpVtbl->CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateRemoteDictionaryResource(IXpsOMObjectFactory* This,IXpsOMDictionary *dictionary,IOpcPartUri *partUri,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateRemoteDictionaryResourceFromStream(IXpsOMObjectFactory* This,IStream *dictionaryMarkupStream,IOpcPartUri *dictionaryPartUri,IXpsOMPartResources *resources,IXpsOMRemoteDictionaryResource **dictionaryResource) { + return This->lpVtbl->CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource); +} +static inline HRESULT IXpsOMObjectFactory_CreatePartResources(IXpsOMObjectFactory* This,IXpsOMPartResources **partResources) { + return This->lpVtbl->CreatePartResources(This,partResources); +} +static inline HRESULT IXpsOMObjectFactory_CreateDocumentSequence(IXpsOMObjectFactory* This,IOpcPartUri *partUri,IXpsOMDocumentSequence **documentSequence) { + return This->lpVtbl->CreateDocumentSequence(This,partUri,documentSequence); +} +static inline HRESULT IXpsOMObjectFactory_CreateDocument(IXpsOMObjectFactory* This,IOpcPartUri *partUri,IXpsOMDocument **document) { + return This->lpVtbl->CreateDocument(This,partUri,document); +} +static inline HRESULT IXpsOMObjectFactory_CreatePageReference(IXpsOMObjectFactory* This,const XPS_SIZE *advisoryPageDimensions,IXpsOMPageReference **pageReference) { + return This->lpVtbl->CreatePageReference(This,advisoryPageDimensions,pageReference); +} +static inline HRESULT IXpsOMObjectFactory_CreatePage(IXpsOMObjectFactory* This,const XPS_SIZE *pageDimensions,LPCWSTR language,IOpcPartUri *partUri,IXpsOMPage **page) { + return This->lpVtbl->CreatePage(This,pageDimensions,language,partUri,page); +} +static inline HRESULT IXpsOMObjectFactory_CreatePageFromStream(IXpsOMObjectFactory* This,IStream *pageMarkupStream,IOpcPartUri *partUri,IXpsOMPartResources *resources,WINBOOL reuseObjects,IXpsOMPage **page) { + return This->lpVtbl->CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page); +} +static inline HRESULT IXpsOMObjectFactory_CreateCanvas(IXpsOMObjectFactory* This,IXpsOMCanvas **canvas) { + return This->lpVtbl->CreateCanvas(This,canvas); +} +static inline HRESULT IXpsOMObjectFactory_CreateGlyphs(IXpsOMObjectFactory* This,IXpsOMFontResource *fontResource,IXpsOMGlyphs **glyphs) { + return This->lpVtbl->CreateGlyphs(This,fontResource,glyphs); +} +static inline HRESULT IXpsOMObjectFactory_CreatePath(IXpsOMObjectFactory* This,IXpsOMPath **path) { + return This->lpVtbl->CreatePath(This,path); +} +static inline HRESULT IXpsOMObjectFactory_CreateGeometry(IXpsOMObjectFactory* This,IXpsOMGeometry **geometry) { + return This->lpVtbl->CreateGeometry(This,geometry); +} +static inline HRESULT IXpsOMObjectFactory_CreateGeometryFigure(IXpsOMObjectFactory* This,const XPS_POINT *startPoint,IXpsOMGeometryFigure **figure) { + return This->lpVtbl->CreateGeometryFigure(This,startPoint,figure); +} +static inline HRESULT IXpsOMObjectFactory_CreateMatrixTransform(IXpsOMObjectFactory* This,const XPS_MATRIX *matrix,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->CreateMatrixTransform(This,matrix,transform); +} +static inline HRESULT IXpsOMObjectFactory_CreateSolidColorBrush(IXpsOMObjectFactory* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile,IXpsOMSolidColorBrush **solidColorBrush) { + return This->lpVtbl->CreateSolidColorBrush(This,color,colorProfile,solidColorBrush); +} +static inline HRESULT IXpsOMObjectFactory_CreateColorProfileResource(IXpsOMObjectFactory* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMColorProfileResource **colorProfileResource) { + return This->lpVtbl->CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateImageBrush(IXpsOMObjectFactory* This,IXpsOMImageResource *image,const XPS_RECT *viewBox,const XPS_RECT *viewPort,IXpsOMImageBrush **imageBrush) { + return This->lpVtbl->CreateImageBrush(This,image,viewBox,viewPort,imageBrush); +} +static inline HRESULT IXpsOMObjectFactory_CreateVisualBrush(IXpsOMObjectFactory* This,const XPS_RECT *viewBox,const XPS_RECT *viewPort,IXpsOMVisualBrush **visualBrush) { + return This->lpVtbl->CreateVisualBrush(This,viewBox,viewPort,visualBrush); +} +static inline HRESULT IXpsOMObjectFactory_CreateImageResource(IXpsOMObjectFactory* This,IStream *acquiredStream,XPS_IMAGE_TYPE contentType,IOpcPartUri *partUri,IXpsOMImageResource **imageResource) { + return This->lpVtbl->CreateImageResource(This,acquiredStream,contentType,partUri,imageResource); +} +static inline HRESULT IXpsOMObjectFactory_CreatePrintTicketResource(IXpsOMObjectFactory* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMPrintTicketResource **printTicketResource) { + return This->lpVtbl->CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateFontResource(IXpsOMObjectFactory* This,IStream *acquiredStream,XPS_FONT_EMBEDDING fontEmbedding,IOpcPartUri *partUri,WINBOOL isObfSourceStream,IXpsOMFontResource **fontResource) { + return This->lpVtbl->CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource); +} +static inline HRESULT IXpsOMObjectFactory_CreateGradientStop(IXpsOMObjectFactory* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile,FLOAT offset,IXpsOMGradientStop **gradientStop) { + return This->lpVtbl->CreateGradientStop(This,color,colorProfile,offset,gradientStop); +} +static inline HRESULT IXpsOMObjectFactory_CreateLinearGradientBrush(IXpsOMObjectFactory* This,IXpsOMGradientStop *gradStop1,IXpsOMGradientStop *gradStop2,const XPS_POINT *startPoint,const XPS_POINT *endPoint,IXpsOMLinearGradientBrush **linearGradientBrush) { + return This->lpVtbl->CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush); +} +static inline HRESULT IXpsOMObjectFactory_CreateRadialGradientBrush(IXpsOMObjectFactory* This,IXpsOMGradientStop *gradStop1,IXpsOMGradientStop *gradStop2,const XPS_POINT *centerPoint,const XPS_POINT *gradientOrigin,const XPS_SIZE *radiiSizes,IXpsOMRadialGradientBrush **radialGradientBrush) { + return This->lpVtbl->CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush); +} +static inline HRESULT IXpsOMObjectFactory_CreateCoreProperties(IXpsOMObjectFactory* This,IOpcPartUri *partUri,IXpsOMCoreProperties **coreProperties) { + return This->lpVtbl->CreateCoreProperties(This,partUri,coreProperties); +} +static inline HRESULT IXpsOMObjectFactory_CreateDictionary(IXpsOMObjectFactory* This,IXpsOMDictionary **dictionary) { + return This->lpVtbl->CreateDictionary(This,dictionary); +} +static inline HRESULT IXpsOMObjectFactory_CreatePartUriCollection(IXpsOMObjectFactory* This,IXpsOMPartUriCollection **partUriCollection) { + return This->lpVtbl->CreatePartUriCollection(This,partUriCollection); +} +static inline HRESULT IXpsOMObjectFactory_CreatePackageWriterOnFile(IXpsOMObjectFactory* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory_CreatePackageWriterOnStream(IXpsOMObjectFactory* This,ISequentialStream *outputStream,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory_CreatePartUri(IXpsOMObjectFactory* This,LPCWSTR uri,IOpcPartUri **partUri) { + return This->lpVtbl->CreatePartUri(This,uri,partUri); +} +static inline HRESULT IXpsOMObjectFactory_CreateReadOnlyStreamOnFile(IXpsOMObjectFactory* This,LPCWSTR filename,IStream **stream) { + return This->lpVtbl->CreateReadOnlyStreamOnFile(This,filename,stream); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMObjectFactory_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMNameCollection interface + */ +#ifndef __IXpsOMNameCollection_INTERFACE_DEFINED__ +#define __IXpsOMNameCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMNameCollection, 0x4bddf8ec, 0xc915, 0x421b, 0xa1,0x66, 0xd1,0x73,0xd2,0x56,0x53,0xd2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4bddf8ec-c915-421b-a166-d173d25653d2") +IXpsOMNameCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + LPWSTR *name) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMNameCollection, 0x4bddf8ec, 0xc915, 0x421b, 0xa1,0x66, 0xd1,0x73,0xd2,0x56,0x53,0xd2) +#endif +#else +typedef struct IXpsOMNameCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMNameCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMNameCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMNameCollection *This); + + /*** IXpsOMNameCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMNameCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMNameCollection *This, + UINT32 index, + LPWSTR *name); + + END_INTERFACE +} IXpsOMNameCollectionVtbl; + +interface IXpsOMNameCollection { + CONST_VTBL IXpsOMNameCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMNameCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMNameCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMNameCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMNameCollection methods ***/ +#define IXpsOMNameCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMNameCollection_GetAt(This,index,name) (This)->lpVtbl->GetAt(This,index,name) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMNameCollection_QueryInterface(IXpsOMNameCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMNameCollection_AddRef(IXpsOMNameCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMNameCollection_Release(IXpsOMNameCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMNameCollection methods ***/ +static inline HRESULT IXpsOMNameCollection_GetCount(IXpsOMNameCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMNameCollection_GetAt(IXpsOMNameCollection* This,UINT32 index,LPWSTR *name) { + return This->lpVtbl->GetAt(This,index,name); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMNameCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPartUriCollection interface + */ +#ifndef __IXpsOMPartUriCollection_INTERFACE_DEFINED__ +#define __IXpsOMPartUriCollection_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPartUriCollection, 0x57c650d4, 0x067c, 0x4893, 0x8c,0x33, 0xf6,0x2a,0x06,0x33,0x73,0x0f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("57c650d4-067c-4893-8c33-f62a0633730f") +IXpsOMPartUriCollection : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetCount( + UINT32 *count) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAt( + UINT32 index, + IOpcPartUri **partUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE InsertAt( + UINT32 index, + IOpcPartUri *partUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE RemoveAt( + UINT32 index) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAt( + UINT32 index, + IOpcPartUri *partUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE Append( + IOpcPartUri *partUri) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPartUriCollection, 0x57c650d4, 0x067c, 0x4893, 0x8c,0x33, 0xf6,0x2a,0x06,0x33,0x73,0x0f) +#endif +#else +typedef struct IXpsOMPartUriCollectionVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPartUriCollection *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPartUriCollection *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPartUriCollection *This); + + /*** IXpsOMPartUriCollection methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCount)( + IXpsOMPartUriCollection *This, + UINT32 *count); + + HRESULT (STDMETHODCALLTYPE *GetAt)( + IXpsOMPartUriCollection *This, + UINT32 index, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *InsertAt)( + IXpsOMPartUriCollection *This, + UINT32 index, + IOpcPartUri *partUri); + + HRESULT (STDMETHODCALLTYPE *RemoveAt)( + IXpsOMPartUriCollection *This, + UINT32 index); + + HRESULT (STDMETHODCALLTYPE *SetAt)( + IXpsOMPartUriCollection *This, + UINT32 index, + IOpcPartUri *partUri); + + HRESULT (STDMETHODCALLTYPE *Append)( + IXpsOMPartUriCollection *This, + IOpcPartUri *partUri); + + END_INTERFACE +} IXpsOMPartUriCollectionVtbl; + +interface IXpsOMPartUriCollection { + CONST_VTBL IXpsOMPartUriCollectionVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPartUriCollection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPartUriCollection_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPartUriCollection_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPartUriCollection methods ***/ +#define IXpsOMPartUriCollection_GetCount(This,count) (This)->lpVtbl->GetCount(This,count) +#define IXpsOMPartUriCollection_GetAt(This,index,partUri) (This)->lpVtbl->GetAt(This,index,partUri) +#define IXpsOMPartUriCollection_InsertAt(This,index,partUri) (This)->lpVtbl->InsertAt(This,index,partUri) +#define IXpsOMPartUriCollection_RemoveAt(This,index) (This)->lpVtbl->RemoveAt(This,index) +#define IXpsOMPartUriCollection_SetAt(This,index,partUri) (This)->lpVtbl->SetAt(This,index,partUri) +#define IXpsOMPartUriCollection_Append(This,partUri) (This)->lpVtbl->Append(This,partUri) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPartUriCollection_QueryInterface(IXpsOMPartUriCollection* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPartUriCollection_AddRef(IXpsOMPartUriCollection* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPartUriCollection_Release(IXpsOMPartUriCollection* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPartUriCollection methods ***/ +static inline HRESULT IXpsOMPartUriCollection_GetCount(IXpsOMPartUriCollection* This,UINT32 *count) { + return This->lpVtbl->GetCount(This,count); +} +static inline HRESULT IXpsOMPartUriCollection_GetAt(IXpsOMPartUriCollection* This,UINT32 index,IOpcPartUri **partUri) { + return This->lpVtbl->GetAt(This,index,partUri); +} +static inline HRESULT IXpsOMPartUriCollection_InsertAt(IXpsOMPartUriCollection* This,UINT32 index,IOpcPartUri *partUri) { + return This->lpVtbl->InsertAt(This,index,partUri); +} +static inline HRESULT IXpsOMPartUriCollection_RemoveAt(IXpsOMPartUriCollection* This,UINT32 index) { + return This->lpVtbl->RemoveAt(This,index); +} +static inline HRESULT IXpsOMPartUriCollection_SetAt(IXpsOMPartUriCollection* This,UINT32 index,IOpcPartUri *partUri) { + return This->lpVtbl->SetAt(This,index,partUri); +} +static inline HRESULT IXpsOMPartUriCollection_Append(IXpsOMPartUriCollection* This,IOpcPartUri *partUri) { + return This->lpVtbl->Append(This,partUri); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPartUriCollection_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPackageWriter interface + */ +#ifndef __IXpsOMPackageWriter_INTERFACE_DEFINED__ +#define __IXpsOMPackageWriter_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPackageWriter, 0x4e2aa182, 0xa443, 0x42c6, 0xb4,0x1b, 0x4f,0x8e,0x9d,0xe7,0x3f,0xf9); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4e2aa182-a443-42c6-b41b-4f8e9de73ff9") +IXpsOMPackageWriter : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE StartNewDocument( + IOpcPartUri *documentPartName, + IXpsOMPrintTicketResource *documentPrintTicket, + IXpsOMDocumentStructureResource *documentStructure, + IXpsOMSignatureBlockResourceCollection *signatureBlockResources, + IXpsOMPartUriCollection *restrictedFonts) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddPage( + IXpsOMPage *page, + const XPS_SIZE *advisoryPageDimensions, + IXpsOMPartUriCollection *discardableResourceParts, + IXpsOMStoryFragmentsResource *storyFragments, + IXpsOMPrintTicketResource *pagePrintTicket, + IXpsOMImageResource *pageThumbnail) = 0; + + virtual HRESULT STDMETHODCALLTYPE AddResource( + IXpsOMResource *resource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE IsClosed( + WINBOOL *isClosed) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPackageWriter, 0x4e2aa182, 0xa443, 0x42c6, 0xb4,0x1b, 0x4f,0x8e,0x9d,0xe7,0x3f,0xf9) +#endif +#else +typedef struct IXpsOMPackageWriterVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPackageWriter *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPackageWriter *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPackageWriter *This); + + /*** IXpsOMPackageWriter methods ***/ + HRESULT (STDMETHODCALLTYPE *StartNewDocument)( + IXpsOMPackageWriter *This, + IOpcPartUri *documentPartName, + IXpsOMPrintTicketResource *documentPrintTicket, + IXpsOMDocumentStructureResource *documentStructure, + IXpsOMSignatureBlockResourceCollection *signatureBlockResources, + IXpsOMPartUriCollection *restrictedFonts); + + HRESULT (STDMETHODCALLTYPE *AddPage)( + IXpsOMPackageWriter *This, + IXpsOMPage *page, + const XPS_SIZE *advisoryPageDimensions, + IXpsOMPartUriCollection *discardableResourceParts, + IXpsOMStoryFragmentsResource *storyFragments, + IXpsOMPrintTicketResource *pagePrintTicket, + IXpsOMImageResource *pageThumbnail); + + HRESULT (STDMETHODCALLTYPE *AddResource)( + IXpsOMPackageWriter *This, + IXpsOMResource *resource); + + HRESULT (STDMETHODCALLTYPE *Close)( + IXpsOMPackageWriter *This); + + HRESULT (STDMETHODCALLTYPE *IsClosed)( + IXpsOMPackageWriter *This, + WINBOOL *isClosed); + + END_INTERFACE +} IXpsOMPackageWriterVtbl; + +interface IXpsOMPackageWriter { + CONST_VTBL IXpsOMPackageWriterVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPackageWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPackageWriter_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPackageWriter_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPackageWriter methods ***/ +#define IXpsOMPackageWriter_StartNewDocument(This,documentPartName,documentPrintTicket,documentStructure,signatureBlockResources,restrictedFonts) (This)->lpVtbl->StartNewDocument(This,documentPartName,documentPrintTicket,documentStructure,signatureBlockResources,restrictedFonts) +#define IXpsOMPackageWriter_AddPage(This,page,advisoryPageDimensions,discardableResourceParts,storyFragments,pagePrintTicket,pageThumbnail) (This)->lpVtbl->AddPage(This,page,advisoryPageDimensions,discardableResourceParts,storyFragments,pagePrintTicket,pageThumbnail) +#define IXpsOMPackageWriter_AddResource(This,resource) (This)->lpVtbl->AddResource(This,resource) +#define IXpsOMPackageWriter_Close(This) (This)->lpVtbl->Close(This) +#define IXpsOMPackageWriter_IsClosed(This,isClosed) (This)->lpVtbl->IsClosed(This,isClosed) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPackageWriter_QueryInterface(IXpsOMPackageWriter* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPackageWriter_AddRef(IXpsOMPackageWriter* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPackageWriter_Release(IXpsOMPackageWriter* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPackageWriter methods ***/ +static inline HRESULT IXpsOMPackageWriter_StartNewDocument(IXpsOMPackageWriter* This,IOpcPartUri *documentPartName,IXpsOMPrintTicketResource *documentPrintTicket,IXpsOMDocumentStructureResource *documentStructure,IXpsOMSignatureBlockResourceCollection *signatureBlockResources,IXpsOMPartUriCollection *restrictedFonts) { + return This->lpVtbl->StartNewDocument(This,documentPartName,documentPrintTicket,documentStructure,signatureBlockResources,restrictedFonts); +} +static inline HRESULT IXpsOMPackageWriter_AddPage(IXpsOMPackageWriter* This,IXpsOMPage *page,const XPS_SIZE *advisoryPageDimensions,IXpsOMPartUriCollection *discardableResourceParts,IXpsOMStoryFragmentsResource *storyFragments,IXpsOMPrintTicketResource *pagePrintTicket,IXpsOMImageResource *pageThumbnail) { + return This->lpVtbl->AddPage(This,page,advisoryPageDimensions,discardableResourceParts,storyFragments,pagePrintTicket,pageThumbnail); +} +static inline HRESULT IXpsOMPackageWriter_AddResource(IXpsOMPackageWriter* This,IXpsOMResource *resource) { + return This->lpVtbl->AddResource(This,resource); +} +static inline HRESULT IXpsOMPackageWriter_Close(IXpsOMPackageWriter* This) { + return This->lpVtbl->Close(This); +} +static inline HRESULT IXpsOMPackageWriter_IsClosed(IXpsOMPackageWriter* This,WINBOOL *isClosed) { + return This->lpVtbl->IsClosed(This,isClosed); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPackageWriter_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPackageTarget interface + */ +#ifndef __IXpsOMPackageTarget_INTERFACE_DEFINED__ +#define __IXpsOMPackageTarget_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPackageTarget, 0x219a9db0, 0x4959, 0x47d0, 0x80,0x34, 0xb1,0xce,0x84,0xf4,0x1a,0x4d); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("219a9db0-4959-47d0-8034-b1ce84f41a4d") +IXpsOMPackageTarget : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateXpsOMPackageWriter( + IOpcPartUri *documentSequencePartName, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPackageTarget, 0x219a9db0, 0x4959, 0x47d0, 0x80,0x34, 0xb1,0xce,0x84,0xf4,0x1a,0x4d) +#endif +#else +typedef struct IXpsOMPackageTargetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPackageTarget *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPackageTarget *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPackageTarget *This); + + /*** IXpsOMPackageTarget methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateXpsOMPackageWriter)( + IXpsOMPackageTarget *This, + IOpcPartUri *documentSequencePartName, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + END_INTERFACE +} IXpsOMPackageTargetVtbl; + +interface IXpsOMPackageTarget { + CONST_VTBL IXpsOMPackageTargetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPackageTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPackageTarget_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPackageTarget_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPackageTarget methods ***/ +#define IXpsOMPackageTarget_CreateXpsOMPackageWriter(This,documentSequencePartName,documentSequencePrintTicket,discardControlPartName,packageWriter) (This)->lpVtbl->CreateXpsOMPackageWriter(This,documentSequencePartName,documentSequencePrintTicket,discardControlPartName,packageWriter) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPackageTarget_QueryInterface(IXpsOMPackageTarget* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPackageTarget_AddRef(IXpsOMPackageTarget* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPackageTarget_Release(IXpsOMPackageTarget* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPackageTarget methods ***/ +static inline HRESULT IXpsOMPackageTarget_CreateXpsOMPackageWriter(IXpsOMPackageTarget* This,IOpcPartUri *documentSequencePartName,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreateXpsOMPackageWriter(This,documentSequencePartName,documentSequencePrintTicket,discardControlPartName,packageWriter); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPackageTarget_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMVisual interface + */ +#ifndef __IXpsOMVisual_INTERFACE_DEFINED__ +#define __IXpsOMVisual_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMVisual, 0xbc3e7333, 0xfb0b, 0x4af3, 0xa8,0x19, 0x0b,0x4e,0xaa,0xd0,0xd2,0xfd); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bc3e7333-fb0b-4af3-a819-0b4eaad0d2fd") +IXpsOMVisual : public IXpsOMShareable +{ + virtual HRESULT STDMETHODCALLTYPE GetTransform( + IXpsOMMatrixTransform **matrixTransform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLocal( + IXpsOMMatrixTransform **matrixTransform) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLocal( + IXpsOMMatrixTransform *matrixTransform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetClipGeometry( + IXpsOMGeometry **clipGeometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetClipGeometryLocal( + IXpsOMGeometry **clipGeometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetClipGeometryLocal( + IXpsOMGeometry *clipGeometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetClipGeometryLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetClipGeometryLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOpacity( + FLOAT *opacity) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOpacity( + FLOAT opacity) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOpacityMaskBrush( + IXpsOMBrush **opacityMaskBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOpacityMaskBrushLocal( + IXpsOMBrush **opacityMaskBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOpacityMaskBrushLocal( + IXpsOMBrush *opacityMaskBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOpacityMaskBrushLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOpacityMaskBrushLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetName( + LPWSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetName( + LPCWSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsHyperlinkTarget( + WINBOOL *isHyperlink) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIsHyperlinkTarget( + WINBOOL isHyperlink) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetHyperlinkNavigateUri( + IUri **hyperlinkUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetHyperlinkNavigateUri( + IUri *hyperlinkUri) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLanguage( + LPWSTR *language) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLanguage( + LPCWSTR language) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMVisual, 0xbc3e7333, 0xfb0b, 0x4af3, 0xa8,0x19, 0x0b,0x4e,0xaa,0xd0,0xd2,0xfd) +#endif +#else +typedef struct IXpsOMVisualVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMVisual *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMVisual *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMVisual *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMVisual *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMVisual *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMVisual methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMVisual *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMVisual *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMVisual *This, + IXpsOMMatrixTransform *matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMVisual *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMVisual *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometry)( + IXpsOMVisual *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLocal)( + IXpsOMVisual *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLocal)( + IXpsOMVisual *This, + IXpsOMGeometry *clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLookup)( + IXpsOMVisual *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLookup)( + IXpsOMVisual *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMVisual *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMVisual *This, + FLOAT opacity); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrush)( + IXpsOMVisual *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLocal)( + IXpsOMVisual *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLocal)( + IXpsOMVisual *This, + IXpsOMBrush *opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLookup)( + IXpsOMVisual *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLookup)( + IXpsOMVisual *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMVisual *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMVisual *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMVisual *This, + WINBOOL *isHyperlink); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMVisual *This, + WINBOOL isHyperlink); + + HRESULT (STDMETHODCALLTYPE *GetHyperlinkNavigateUri)( + IXpsOMVisual *This, + IUri **hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *SetHyperlinkNavigateUri)( + IXpsOMVisual *This, + IUri *hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMVisual *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMVisual *This, + LPCWSTR language); + + END_INTERFACE +} IXpsOMVisualVtbl; + +interface IXpsOMVisual { + CONST_VTBL IXpsOMVisualVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMVisual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMVisual_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMVisual_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMVisual_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMVisual_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMVisual methods ***/ +#define IXpsOMVisual_GetTransform(This,matrixTransform) (This)->lpVtbl->GetTransform(This,matrixTransform) +#define IXpsOMVisual_GetTransformLocal(This,matrixTransform) (This)->lpVtbl->GetTransformLocal(This,matrixTransform) +#define IXpsOMVisual_SetTransformLocal(This,matrixTransform) (This)->lpVtbl->SetTransformLocal(This,matrixTransform) +#define IXpsOMVisual_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMVisual_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMVisual_GetClipGeometry(This,clipGeometry) (This)->lpVtbl->GetClipGeometry(This,clipGeometry) +#define IXpsOMVisual_GetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->GetClipGeometryLocal(This,clipGeometry) +#define IXpsOMVisual_SetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->SetClipGeometryLocal(This,clipGeometry) +#define IXpsOMVisual_GetClipGeometryLookup(This,key) (This)->lpVtbl->GetClipGeometryLookup(This,key) +#define IXpsOMVisual_SetClipGeometryLookup(This,key) (This)->lpVtbl->SetClipGeometryLookup(This,key) +#define IXpsOMVisual_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMVisual_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +#define IXpsOMVisual_GetOpacityMaskBrush(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush) +#define IXpsOMVisual_GetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMVisual_SetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMVisual_GetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->GetOpacityMaskBrushLookup(This,key) +#define IXpsOMVisual_SetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->SetOpacityMaskBrushLookup(This,key) +#define IXpsOMVisual_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMVisual_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMVisual_GetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMVisual_SetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMVisual_GetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMVisual_SetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMVisual_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMVisual_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMVisual_QueryInterface(IXpsOMVisual* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMVisual_AddRef(IXpsOMVisual* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMVisual_Release(IXpsOMVisual* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMVisual_GetOwner(IXpsOMVisual* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMVisual_GetType(IXpsOMVisual* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMVisual methods ***/ +static inline HRESULT IXpsOMVisual_GetTransform(IXpsOMVisual* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransform(This,matrixTransform); +} +static inline HRESULT IXpsOMVisual_GetTransformLocal(IXpsOMVisual* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMVisual_SetTransformLocal(IXpsOMVisual* This,IXpsOMMatrixTransform *matrixTransform) { + return This->lpVtbl->SetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMVisual_GetTransformLookup(IXpsOMVisual* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMVisual_SetTransformLookup(IXpsOMVisual* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMVisual_GetClipGeometry(IXpsOMVisual* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometry(This,clipGeometry); +} +static inline HRESULT IXpsOMVisual_GetClipGeometryLocal(IXpsOMVisual* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMVisual_SetClipGeometryLocal(IXpsOMVisual* This,IXpsOMGeometry *clipGeometry) { + return This->lpVtbl->SetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMVisual_GetClipGeometryLookup(IXpsOMVisual* This,LPWSTR *key) { + return This->lpVtbl->GetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMVisual_SetClipGeometryLookup(IXpsOMVisual* This,LPCWSTR key) { + return This->lpVtbl->SetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMVisual_GetOpacity(IXpsOMVisual* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMVisual_SetOpacity(IXpsOMVisual* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +static inline HRESULT IXpsOMVisual_GetOpacityMaskBrush(IXpsOMVisual* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMVisual_GetOpacityMaskBrushLocal(IXpsOMVisual* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMVisual_SetOpacityMaskBrushLocal(IXpsOMVisual* This,IXpsOMBrush *opacityMaskBrush) { + return This->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMVisual_GetOpacityMaskBrushLookup(IXpsOMVisual* This,LPWSTR *key) { + return This->lpVtbl->GetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMVisual_SetOpacityMaskBrushLookup(IXpsOMVisual* This,LPCWSTR key) { + return This->lpVtbl->SetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMVisual_GetName(IXpsOMVisual* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMVisual_SetName(IXpsOMVisual* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMVisual_GetIsHyperlinkTarget(IXpsOMVisual* This,WINBOOL *isHyperlink) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMVisual_SetIsHyperlinkTarget(IXpsOMVisual* This,WINBOOL isHyperlink) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMVisual_GetHyperlinkNavigateUri(IXpsOMVisual* This,IUri **hyperlinkUri) { + return This->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMVisual_SetHyperlinkNavigateUri(IXpsOMVisual* This,IUri *hyperlinkUri) { + return This->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMVisual_GetLanguage(IXpsOMVisual* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMVisual_SetLanguage(IXpsOMVisual* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMVisual_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMBrush interface + */ +#ifndef __IXpsOMBrush_INTERFACE_DEFINED__ +#define __IXpsOMBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMBrush, 0x56a3f80c, 0xea4c, 0x4187, 0xa5,0x7b, 0xa2,0xa4,0x73,0xb2,0xb4,0x2b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("56a3f80c-ea4c-4187-a57b-a2a473b2b42b") +IXpsOMBrush : public IXpsOMShareable +{ + virtual HRESULT STDMETHODCALLTYPE GetOpacity( + FLOAT *opacity) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOpacity( + FLOAT opacity) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMBrush, 0x56a3f80c, 0xea4c, 0x4187, 0xa5,0x7b, 0xa2,0xa4,0x73,0xb2,0xb4,0x2b) +#endif +#else +typedef struct IXpsOMBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMBrush *This, + FLOAT opacity); + + END_INTERFACE +} IXpsOMBrushVtbl; + +interface IXpsOMBrush { + CONST_VTBL IXpsOMBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMBrush_QueryInterface(IXpsOMBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMBrush_AddRef(IXpsOMBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMBrush_Release(IXpsOMBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMBrush_GetOwner(IXpsOMBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMBrush_GetType(IXpsOMBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMBrush_GetOpacity(IXpsOMBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMBrush_SetOpacity(IXpsOMBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMMatrixTransform interface + */ +#ifndef __IXpsOMMatrixTransform_INTERFACE_DEFINED__ +#define __IXpsOMMatrixTransform_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMMatrixTransform, 0xb77330ff, 0xbb37, 0x4501, 0xa9,0x3e, 0xf1,0xb1,0xe5,0x0b,0xfc,0x46); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b77330ff-bb37-4501-a93e-f1b1e50bfc46") +IXpsOMMatrixTransform : public IXpsOMShareable +{ + virtual HRESULT STDMETHODCALLTYPE GetMatrix( + XPS_MATRIX *matrix) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMatrix( + const XPS_MATRIX *matrix) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMMatrixTransform **matrixTransform) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMMatrixTransform, 0xb77330ff, 0xbb37, 0x4501, 0xa9,0x3e, 0xf1,0xb1,0xe5,0x0b,0xfc,0x46) +#endif +#else +typedef struct IXpsOMMatrixTransformVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMMatrixTransform *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMMatrixTransform *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMMatrixTransform *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMMatrixTransform *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMMatrixTransform *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMMatrixTransform methods ***/ + HRESULT (STDMETHODCALLTYPE *GetMatrix)( + IXpsOMMatrixTransform *This, + XPS_MATRIX *matrix); + + HRESULT (STDMETHODCALLTYPE *SetMatrix)( + IXpsOMMatrixTransform *This, + const XPS_MATRIX *matrix); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMMatrixTransform *This, + IXpsOMMatrixTransform **matrixTransform); + + END_INTERFACE +} IXpsOMMatrixTransformVtbl; + +interface IXpsOMMatrixTransform { + CONST_VTBL IXpsOMMatrixTransformVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMMatrixTransform_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMMatrixTransform_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMMatrixTransform_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMMatrixTransform_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMMatrixTransform_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMMatrixTransform methods ***/ +#define IXpsOMMatrixTransform_GetMatrix(This,matrix) (This)->lpVtbl->GetMatrix(This,matrix) +#define IXpsOMMatrixTransform_SetMatrix(This,matrix) (This)->lpVtbl->SetMatrix(This,matrix) +#define IXpsOMMatrixTransform_Clone(This,matrixTransform) (This)->lpVtbl->Clone(This,matrixTransform) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMMatrixTransform_QueryInterface(IXpsOMMatrixTransform* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMMatrixTransform_AddRef(IXpsOMMatrixTransform* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMMatrixTransform_Release(IXpsOMMatrixTransform* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMMatrixTransform_GetOwner(IXpsOMMatrixTransform* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMMatrixTransform_GetType(IXpsOMMatrixTransform* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMMatrixTransform methods ***/ +static inline HRESULT IXpsOMMatrixTransform_GetMatrix(IXpsOMMatrixTransform* This,XPS_MATRIX *matrix) { + return This->lpVtbl->GetMatrix(This,matrix); +} +static inline HRESULT IXpsOMMatrixTransform_SetMatrix(IXpsOMMatrixTransform* This,const XPS_MATRIX *matrix) { + return This->lpVtbl->SetMatrix(This,matrix); +} +static inline HRESULT IXpsOMMatrixTransform_Clone(IXpsOMMatrixTransform* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->Clone(This,matrixTransform); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMMatrixTransform_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGeometry interface + */ +#ifndef __IXpsOMGeometry_INTERFACE_DEFINED__ +#define __IXpsOMGeometry_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGeometry, 0x64fcf3d7, 0x4d58, 0x44ba, 0xad,0x73, 0xa1,0x3a,0xf6,0x49,0x20,0x72); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("64fcf3d7-4d58-44ba-ad73-a13af6492072") +IXpsOMGeometry : public IXpsOMShareable +{ + virtual HRESULT STDMETHODCALLTYPE GetFigures( + IXpsOMGeometryFigureCollection **figures) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillRule( + XPS_FILL_RULE *fillRule) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFillRule( + XPS_FILL_RULE fillRule) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransform( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLocal( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLocal( + IXpsOMMatrixTransform *transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLookup( + LPWSTR *lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLookup( + LPCWSTR lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMGeometry **geometry) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGeometry, 0x64fcf3d7, 0x4d58, 0x44ba, 0xad,0x73, 0xa1,0x3a,0xf6,0x49,0x20,0x72) +#endif +#else +typedef struct IXpsOMGeometryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGeometry *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGeometry *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGeometry *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMGeometry *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMGeometry *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMGeometry methods ***/ + HRESULT (STDMETHODCALLTYPE *GetFigures)( + IXpsOMGeometry *This, + IXpsOMGeometryFigureCollection **figures); + + HRESULT (STDMETHODCALLTYPE *GetFillRule)( + IXpsOMGeometry *This, + XPS_FILL_RULE *fillRule); + + HRESULT (STDMETHODCALLTYPE *SetFillRule)( + IXpsOMGeometry *This, + XPS_FILL_RULE fillRule); + + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMGeometry *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMGeometry *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMGeometry *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMGeometry *This, + LPWSTR *lookup); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMGeometry *This, + LPCWSTR lookup); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMGeometry *This, + IXpsOMGeometry **geometry); + + END_INTERFACE +} IXpsOMGeometryVtbl; + +interface IXpsOMGeometry { + CONST_VTBL IXpsOMGeometryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGeometry_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGeometry_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGeometry_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMGeometry_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMGeometry_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMGeometry methods ***/ +#define IXpsOMGeometry_GetFigures(This,figures) (This)->lpVtbl->GetFigures(This,figures) +#define IXpsOMGeometry_GetFillRule(This,fillRule) (This)->lpVtbl->GetFillRule(This,fillRule) +#define IXpsOMGeometry_SetFillRule(This,fillRule) (This)->lpVtbl->SetFillRule(This,fillRule) +#define IXpsOMGeometry_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMGeometry_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMGeometry_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMGeometry_GetTransformLookup(This,lookup) (This)->lpVtbl->GetTransformLookup(This,lookup) +#define IXpsOMGeometry_SetTransformLookup(This,lookup) (This)->lpVtbl->SetTransformLookup(This,lookup) +#define IXpsOMGeometry_Clone(This,geometry) (This)->lpVtbl->Clone(This,geometry) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGeometry_QueryInterface(IXpsOMGeometry* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGeometry_AddRef(IXpsOMGeometry* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGeometry_Release(IXpsOMGeometry* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMGeometry_GetOwner(IXpsOMGeometry* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMGeometry_GetType(IXpsOMGeometry* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMGeometry methods ***/ +static inline HRESULT IXpsOMGeometry_GetFigures(IXpsOMGeometry* This,IXpsOMGeometryFigureCollection **figures) { + return This->lpVtbl->GetFigures(This,figures); +} +static inline HRESULT IXpsOMGeometry_GetFillRule(IXpsOMGeometry* This,XPS_FILL_RULE *fillRule) { + return This->lpVtbl->GetFillRule(This,fillRule); +} +static inline HRESULT IXpsOMGeometry_SetFillRule(IXpsOMGeometry* This,XPS_FILL_RULE fillRule) { + return This->lpVtbl->SetFillRule(This,fillRule); +} +static inline HRESULT IXpsOMGeometry_GetTransform(IXpsOMGeometry* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMGeometry_GetTransformLocal(IXpsOMGeometry* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMGeometry_SetTransformLocal(IXpsOMGeometry* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMGeometry_GetTransformLookup(IXpsOMGeometry* This,LPWSTR *lookup) { + return This->lpVtbl->GetTransformLookup(This,lookup); +} +static inline HRESULT IXpsOMGeometry_SetTransformLookup(IXpsOMGeometry* This,LPCWSTR lookup) { + return This->lpVtbl->SetTransformLookup(This,lookup); +} +static inline HRESULT IXpsOMGeometry_Clone(IXpsOMGeometry* This,IXpsOMGeometry **geometry) { + return This->lpVtbl->Clone(This,geometry); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGeometry_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGlyphs interface + */ +#ifndef __IXpsOMGlyphs_INTERFACE_DEFINED__ +#define __IXpsOMGlyphs_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGlyphs, 0x819b3199, 0x0a5a, 0x4b64, 0xbe,0xc7, 0xa9,0xe1,0x7e,0x78,0x0d,0xe2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("819b3199-0a5a-4b64-bec7-a9e17e780de2") +IXpsOMGlyphs : public IXpsOMVisual +{ + virtual HRESULT STDMETHODCALLTYPE GetUnicodeString( + LPWSTR *unicodeString) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphIndexCount( + UINT32 *indexCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphIndices( + UINT32 *indexCount, + XPS_GLYPH_INDEX *glyphIndices) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphMappingCount( + UINT32 *glyphMappingCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphMappings( + UINT32 *glyphMappingCount, + XPS_GLYPH_MAPPING *glyphMappings) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProhibitedCaretStopCount( + UINT32 *prohibitedCaretStopCount) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetProhibitedCaretStops( + UINT32 *prohibitedCaretStopCount, + UINT32 *prohibitedCaretStops) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBidiLevel( + UINT32 *bidiLevel) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsSideways( + WINBOOL *isSideways) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDeviceFontName( + LPWSTR *deviceFontName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStyleSimulations( + XPS_STYLE_SIMULATION *styleSimulations) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStyleSimulations( + XPS_STYLE_SIMULATION styleSimulations) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetOrigin( + XPS_POINT *origin) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetOrigin( + const XPS_POINT *origin) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFontRenderingEmSize( + FLOAT *fontRenderingEmSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFontRenderingEmSize( + FLOAT fontRenderingEmSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFontResource( + IXpsOMFontResource **fontResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFontResource( + IXpsOMFontResource *fontResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFontFaceIndex( + SHORT *fontFaceIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFontFaceIndex( + SHORT fontFaceIndex) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrush( + IXpsOMBrush **fillBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrushLocal( + IXpsOMBrush **fillBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFillBrushLocal( + IXpsOMBrush *fillBrush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrushLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFillBrushLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGlyphsEditor( + IXpsOMGlyphsEditor **editor) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMGlyphs **glyphs) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGlyphs, 0x819b3199, 0x0a5a, 0x4b64, 0xbe,0xc7, 0xa9,0xe1,0x7e,0x78,0x0d,0xe2) +#endif +#else +typedef struct IXpsOMGlyphsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGlyphs *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGlyphs *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGlyphs *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMGlyphs *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMGlyphs *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMVisual methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMGlyphs *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMGlyphs *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMGlyphs *This, + IXpsOMMatrixTransform *matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMGlyphs *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMGlyphs *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometry)( + IXpsOMGlyphs *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLocal)( + IXpsOMGlyphs *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLocal)( + IXpsOMGlyphs *This, + IXpsOMGeometry *clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLookup)( + IXpsOMGlyphs *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLookup)( + IXpsOMGlyphs *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMGlyphs *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMGlyphs *This, + FLOAT opacity); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrush)( + IXpsOMGlyphs *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLocal)( + IXpsOMGlyphs *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLocal)( + IXpsOMGlyphs *This, + IXpsOMBrush *opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLookup)( + IXpsOMGlyphs *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLookup)( + IXpsOMGlyphs *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMGlyphs *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMGlyphs *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMGlyphs *This, + WINBOOL *isHyperlink); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMGlyphs *This, + WINBOOL isHyperlink); + + HRESULT (STDMETHODCALLTYPE *GetHyperlinkNavigateUri)( + IXpsOMGlyphs *This, + IUri **hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *SetHyperlinkNavigateUri)( + IXpsOMGlyphs *This, + IUri *hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMGlyphs *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMGlyphs *This, + LPCWSTR language); + + /*** IXpsOMGlyphs methods ***/ + HRESULT (STDMETHODCALLTYPE *GetUnicodeString)( + IXpsOMGlyphs *This, + LPWSTR *unicodeString); + + HRESULT (STDMETHODCALLTYPE *GetGlyphIndexCount)( + IXpsOMGlyphs *This, + UINT32 *indexCount); + + HRESULT (STDMETHODCALLTYPE *GetGlyphIndices)( + IXpsOMGlyphs *This, + UINT32 *indexCount, + XPS_GLYPH_INDEX *glyphIndices); + + HRESULT (STDMETHODCALLTYPE *GetGlyphMappingCount)( + IXpsOMGlyphs *This, + UINT32 *glyphMappingCount); + + HRESULT (STDMETHODCALLTYPE *GetGlyphMappings)( + IXpsOMGlyphs *This, + UINT32 *glyphMappingCount, + XPS_GLYPH_MAPPING *glyphMappings); + + HRESULT (STDMETHODCALLTYPE *GetProhibitedCaretStopCount)( + IXpsOMGlyphs *This, + UINT32 *prohibitedCaretStopCount); + + HRESULT (STDMETHODCALLTYPE *GetProhibitedCaretStops)( + IXpsOMGlyphs *This, + UINT32 *prohibitedCaretStopCount, + UINT32 *prohibitedCaretStops); + + HRESULT (STDMETHODCALLTYPE *GetBidiLevel)( + IXpsOMGlyphs *This, + UINT32 *bidiLevel); + + HRESULT (STDMETHODCALLTYPE *GetIsSideways)( + IXpsOMGlyphs *This, + WINBOOL *isSideways); + + HRESULT (STDMETHODCALLTYPE *GetDeviceFontName)( + IXpsOMGlyphs *This, + LPWSTR *deviceFontName); + + HRESULT (STDMETHODCALLTYPE *GetStyleSimulations)( + IXpsOMGlyphs *This, + XPS_STYLE_SIMULATION *styleSimulations); + + HRESULT (STDMETHODCALLTYPE *SetStyleSimulations)( + IXpsOMGlyphs *This, + XPS_STYLE_SIMULATION styleSimulations); + + HRESULT (STDMETHODCALLTYPE *GetOrigin)( + IXpsOMGlyphs *This, + XPS_POINT *origin); + + HRESULT (STDMETHODCALLTYPE *SetOrigin)( + IXpsOMGlyphs *This, + const XPS_POINT *origin); + + HRESULT (STDMETHODCALLTYPE *GetFontRenderingEmSize)( + IXpsOMGlyphs *This, + FLOAT *fontRenderingEmSize); + + HRESULT (STDMETHODCALLTYPE *SetFontRenderingEmSize)( + IXpsOMGlyphs *This, + FLOAT fontRenderingEmSize); + + HRESULT (STDMETHODCALLTYPE *GetFontResource)( + IXpsOMGlyphs *This, + IXpsOMFontResource **fontResource); + + HRESULT (STDMETHODCALLTYPE *SetFontResource)( + IXpsOMGlyphs *This, + IXpsOMFontResource *fontResource); + + HRESULT (STDMETHODCALLTYPE *GetFontFaceIndex)( + IXpsOMGlyphs *This, + SHORT *fontFaceIndex); + + HRESULT (STDMETHODCALLTYPE *SetFontFaceIndex)( + IXpsOMGlyphs *This, + SHORT fontFaceIndex); + + HRESULT (STDMETHODCALLTYPE *GetFillBrush)( + IXpsOMGlyphs *This, + IXpsOMBrush **fillBrush); + + HRESULT (STDMETHODCALLTYPE *GetFillBrushLocal)( + IXpsOMGlyphs *This, + IXpsOMBrush **fillBrush); + + HRESULT (STDMETHODCALLTYPE *SetFillBrushLocal)( + IXpsOMGlyphs *This, + IXpsOMBrush *fillBrush); + + HRESULT (STDMETHODCALLTYPE *GetFillBrushLookup)( + IXpsOMGlyphs *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetFillBrushLookup)( + IXpsOMGlyphs *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetGlyphsEditor)( + IXpsOMGlyphs *This, + IXpsOMGlyphsEditor **editor); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMGlyphs *This, + IXpsOMGlyphs **glyphs); + + END_INTERFACE +} IXpsOMGlyphsVtbl; + +interface IXpsOMGlyphs { + CONST_VTBL IXpsOMGlyphsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGlyphs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGlyphs_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGlyphs_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMGlyphs_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMGlyphs_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMVisual methods ***/ +#define IXpsOMGlyphs_GetTransform(This,matrixTransform) (This)->lpVtbl->GetTransform(This,matrixTransform) +#define IXpsOMGlyphs_GetTransformLocal(This,matrixTransform) (This)->lpVtbl->GetTransformLocal(This,matrixTransform) +#define IXpsOMGlyphs_SetTransformLocal(This,matrixTransform) (This)->lpVtbl->SetTransformLocal(This,matrixTransform) +#define IXpsOMGlyphs_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMGlyphs_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMGlyphs_GetClipGeometry(This,clipGeometry) (This)->lpVtbl->GetClipGeometry(This,clipGeometry) +#define IXpsOMGlyphs_GetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->GetClipGeometryLocal(This,clipGeometry) +#define IXpsOMGlyphs_SetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->SetClipGeometryLocal(This,clipGeometry) +#define IXpsOMGlyphs_GetClipGeometryLookup(This,key) (This)->lpVtbl->GetClipGeometryLookup(This,key) +#define IXpsOMGlyphs_SetClipGeometryLookup(This,key) (This)->lpVtbl->SetClipGeometryLookup(This,key) +#define IXpsOMGlyphs_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMGlyphs_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +#define IXpsOMGlyphs_GetOpacityMaskBrush(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush) +#define IXpsOMGlyphs_GetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMGlyphs_SetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMGlyphs_GetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->GetOpacityMaskBrushLookup(This,key) +#define IXpsOMGlyphs_SetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->SetOpacityMaskBrushLookup(This,key) +#define IXpsOMGlyphs_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMGlyphs_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMGlyphs_GetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMGlyphs_SetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMGlyphs_GetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMGlyphs_SetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMGlyphs_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMGlyphs_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +/*** IXpsOMGlyphs methods ***/ +#define IXpsOMGlyphs_GetUnicodeString(This,unicodeString) (This)->lpVtbl->GetUnicodeString(This,unicodeString) +#define IXpsOMGlyphs_GetGlyphIndexCount(This,indexCount) (This)->lpVtbl->GetGlyphIndexCount(This,indexCount) +#define IXpsOMGlyphs_GetGlyphIndices(This,indexCount,glyphIndices) (This)->lpVtbl->GetGlyphIndices(This,indexCount,glyphIndices) +#define IXpsOMGlyphs_GetGlyphMappingCount(This,glyphMappingCount) (This)->lpVtbl->GetGlyphMappingCount(This,glyphMappingCount) +#define IXpsOMGlyphs_GetGlyphMappings(This,glyphMappingCount,glyphMappings) (This)->lpVtbl->GetGlyphMappings(This,glyphMappingCount,glyphMappings) +#define IXpsOMGlyphs_GetProhibitedCaretStopCount(This,prohibitedCaretStopCount) (This)->lpVtbl->GetProhibitedCaretStopCount(This,prohibitedCaretStopCount) +#define IXpsOMGlyphs_GetProhibitedCaretStops(This,prohibitedCaretStopCount,prohibitedCaretStops) (This)->lpVtbl->GetProhibitedCaretStops(This,prohibitedCaretStopCount,prohibitedCaretStops) +#define IXpsOMGlyphs_GetBidiLevel(This,bidiLevel) (This)->lpVtbl->GetBidiLevel(This,bidiLevel) +#define IXpsOMGlyphs_GetIsSideways(This,isSideways) (This)->lpVtbl->GetIsSideways(This,isSideways) +#define IXpsOMGlyphs_GetDeviceFontName(This,deviceFontName) (This)->lpVtbl->GetDeviceFontName(This,deviceFontName) +#define IXpsOMGlyphs_GetStyleSimulations(This,styleSimulations) (This)->lpVtbl->GetStyleSimulations(This,styleSimulations) +#define IXpsOMGlyphs_SetStyleSimulations(This,styleSimulations) (This)->lpVtbl->SetStyleSimulations(This,styleSimulations) +#define IXpsOMGlyphs_GetOrigin(This,origin) (This)->lpVtbl->GetOrigin(This,origin) +#define IXpsOMGlyphs_SetOrigin(This,origin) (This)->lpVtbl->SetOrigin(This,origin) +#define IXpsOMGlyphs_GetFontRenderingEmSize(This,fontRenderingEmSize) (This)->lpVtbl->GetFontRenderingEmSize(This,fontRenderingEmSize) +#define IXpsOMGlyphs_SetFontRenderingEmSize(This,fontRenderingEmSize) (This)->lpVtbl->SetFontRenderingEmSize(This,fontRenderingEmSize) +#define IXpsOMGlyphs_GetFontResource(This,fontResource) (This)->lpVtbl->GetFontResource(This,fontResource) +#define IXpsOMGlyphs_SetFontResource(This,fontResource) (This)->lpVtbl->SetFontResource(This,fontResource) +#define IXpsOMGlyphs_GetFontFaceIndex(This,fontFaceIndex) (This)->lpVtbl->GetFontFaceIndex(This,fontFaceIndex) +#define IXpsOMGlyphs_SetFontFaceIndex(This,fontFaceIndex) (This)->lpVtbl->SetFontFaceIndex(This,fontFaceIndex) +#define IXpsOMGlyphs_GetFillBrush(This,fillBrush) (This)->lpVtbl->GetFillBrush(This,fillBrush) +#define IXpsOMGlyphs_GetFillBrushLocal(This,fillBrush) (This)->lpVtbl->GetFillBrushLocal(This,fillBrush) +#define IXpsOMGlyphs_SetFillBrushLocal(This,fillBrush) (This)->lpVtbl->SetFillBrushLocal(This,fillBrush) +#define IXpsOMGlyphs_GetFillBrushLookup(This,key) (This)->lpVtbl->GetFillBrushLookup(This,key) +#define IXpsOMGlyphs_SetFillBrushLookup(This,key) (This)->lpVtbl->SetFillBrushLookup(This,key) +#define IXpsOMGlyphs_GetGlyphsEditor(This,editor) (This)->lpVtbl->GetGlyphsEditor(This,editor) +#define IXpsOMGlyphs_Clone(This,glyphs) (This)->lpVtbl->Clone(This,glyphs) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGlyphs_QueryInterface(IXpsOMGlyphs* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGlyphs_AddRef(IXpsOMGlyphs* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGlyphs_Release(IXpsOMGlyphs* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMGlyphs_GetOwner(IXpsOMGlyphs* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMGlyphs_GetType(IXpsOMGlyphs* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMVisual methods ***/ +static inline HRESULT IXpsOMGlyphs_GetTransform(IXpsOMGlyphs* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransform(This,matrixTransform); +} +static inline HRESULT IXpsOMGlyphs_GetTransformLocal(IXpsOMGlyphs* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMGlyphs_SetTransformLocal(IXpsOMGlyphs* This,IXpsOMMatrixTransform *matrixTransform) { + return This->lpVtbl->SetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMGlyphs_GetTransformLookup(IXpsOMGlyphs* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_SetTransformLookup(IXpsOMGlyphs* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_GetClipGeometry(IXpsOMGlyphs* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometry(This,clipGeometry); +} +static inline HRESULT IXpsOMGlyphs_GetClipGeometryLocal(IXpsOMGlyphs* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMGlyphs_SetClipGeometryLocal(IXpsOMGlyphs* This,IXpsOMGeometry *clipGeometry) { + return This->lpVtbl->SetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMGlyphs_GetClipGeometryLookup(IXpsOMGlyphs* This,LPWSTR *key) { + return This->lpVtbl->GetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_SetClipGeometryLookup(IXpsOMGlyphs* This,LPCWSTR key) { + return This->lpVtbl->SetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_GetOpacity(IXpsOMGlyphs* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMGlyphs_SetOpacity(IXpsOMGlyphs* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +static inline HRESULT IXpsOMGlyphs_GetOpacityMaskBrush(IXpsOMGlyphs* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMGlyphs_GetOpacityMaskBrushLocal(IXpsOMGlyphs* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMGlyphs_SetOpacityMaskBrushLocal(IXpsOMGlyphs* This,IXpsOMBrush *opacityMaskBrush) { + return This->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMGlyphs_GetOpacityMaskBrushLookup(IXpsOMGlyphs* This,LPWSTR *key) { + return This->lpVtbl->GetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_SetOpacityMaskBrushLookup(IXpsOMGlyphs* This,LPCWSTR key) { + return This->lpVtbl->SetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_GetName(IXpsOMGlyphs* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMGlyphs_SetName(IXpsOMGlyphs* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMGlyphs_GetIsHyperlinkTarget(IXpsOMGlyphs* This,WINBOOL *isHyperlink) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMGlyphs_SetIsHyperlinkTarget(IXpsOMGlyphs* This,WINBOOL isHyperlink) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMGlyphs_GetHyperlinkNavigateUri(IXpsOMGlyphs* This,IUri **hyperlinkUri) { + return This->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMGlyphs_SetHyperlinkNavigateUri(IXpsOMGlyphs* This,IUri *hyperlinkUri) { + return This->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMGlyphs_GetLanguage(IXpsOMGlyphs* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMGlyphs_SetLanguage(IXpsOMGlyphs* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +/*** IXpsOMGlyphs methods ***/ +static inline HRESULT IXpsOMGlyphs_GetUnicodeString(IXpsOMGlyphs* This,LPWSTR *unicodeString) { + return This->lpVtbl->GetUnicodeString(This,unicodeString); +} +static inline HRESULT IXpsOMGlyphs_GetGlyphIndexCount(IXpsOMGlyphs* This,UINT32 *indexCount) { + return This->lpVtbl->GetGlyphIndexCount(This,indexCount); +} +static inline HRESULT IXpsOMGlyphs_GetGlyphIndices(IXpsOMGlyphs* This,UINT32 *indexCount,XPS_GLYPH_INDEX *glyphIndices) { + return This->lpVtbl->GetGlyphIndices(This,indexCount,glyphIndices); +} +static inline HRESULT IXpsOMGlyphs_GetGlyphMappingCount(IXpsOMGlyphs* This,UINT32 *glyphMappingCount) { + return This->lpVtbl->GetGlyphMappingCount(This,glyphMappingCount); +} +static inline HRESULT IXpsOMGlyphs_GetGlyphMappings(IXpsOMGlyphs* This,UINT32 *glyphMappingCount,XPS_GLYPH_MAPPING *glyphMappings) { + return This->lpVtbl->GetGlyphMappings(This,glyphMappingCount,glyphMappings); +} +static inline HRESULT IXpsOMGlyphs_GetProhibitedCaretStopCount(IXpsOMGlyphs* This,UINT32 *prohibitedCaretStopCount) { + return This->lpVtbl->GetProhibitedCaretStopCount(This,prohibitedCaretStopCount); +} +static inline HRESULT IXpsOMGlyphs_GetProhibitedCaretStops(IXpsOMGlyphs* This,UINT32 *prohibitedCaretStopCount,UINT32 *prohibitedCaretStops) { + return This->lpVtbl->GetProhibitedCaretStops(This,prohibitedCaretStopCount,prohibitedCaretStops); +} +static inline HRESULT IXpsOMGlyphs_GetBidiLevel(IXpsOMGlyphs* This,UINT32 *bidiLevel) { + return This->lpVtbl->GetBidiLevel(This,bidiLevel); +} +static inline HRESULT IXpsOMGlyphs_GetIsSideways(IXpsOMGlyphs* This,WINBOOL *isSideways) { + return This->lpVtbl->GetIsSideways(This,isSideways); +} +static inline HRESULT IXpsOMGlyphs_GetDeviceFontName(IXpsOMGlyphs* This,LPWSTR *deviceFontName) { + return This->lpVtbl->GetDeviceFontName(This,deviceFontName); +} +static inline HRESULT IXpsOMGlyphs_GetStyleSimulations(IXpsOMGlyphs* This,XPS_STYLE_SIMULATION *styleSimulations) { + return This->lpVtbl->GetStyleSimulations(This,styleSimulations); +} +static inline HRESULT IXpsOMGlyphs_SetStyleSimulations(IXpsOMGlyphs* This,XPS_STYLE_SIMULATION styleSimulations) { + return This->lpVtbl->SetStyleSimulations(This,styleSimulations); +} +static inline HRESULT IXpsOMGlyphs_GetOrigin(IXpsOMGlyphs* This,XPS_POINT *origin) { + return This->lpVtbl->GetOrigin(This,origin); +} +static inline HRESULT IXpsOMGlyphs_SetOrigin(IXpsOMGlyphs* This,const XPS_POINT *origin) { + return This->lpVtbl->SetOrigin(This,origin); +} +static inline HRESULT IXpsOMGlyphs_GetFontRenderingEmSize(IXpsOMGlyphs* This,FLOAT *fontRenderingEmSize) { + return This->lpVtbl->GetFontRenderingEmSize(This,fontRenderingEmSize); +} +static inline HRESULT IXpsOMGlyphs_SetFontRenderingEmSize(IXpsOMGlyphs* This,FLOAT fontRenderingEmSize) { + return This->lpVtbl->SetFontRenderingEmSize(This,fontRenderingEmSize); +} +static inline HRESULT IXpsOMGlyphs_GetFontResource(IXpsOMGlyphs* This,IXpsOMFontResource **fontResource) { + return This->lpVtbl->GetFontResource(This,fontResource); +} +static inline HRESULT IXpsOMGlyphs_SetFontResource(IXpsOMGlyphs* This,IXpsOMFontResource *fontResource) { + return This->lpVtbl->SetFontResource(This,fontResource); +} +static inline HRESULT IXpsOMGlyphs_GetFontFaceIndex(IXpsOMGlyphs* This,SHORT *fontFaceIndex) { + return This->lpVtbl->GetFontFaceIndex(This,fontFaceIndex); +} +static inline HRESULT IXpsOMGlyphs_SetFontFaceIndex(IXpsOMGlyphs* This,SHORT fontFaceIndex) { + return This->lpVtbl->SetFontFaceIndex(This,fontFaceIndex); +} +static inline HRESULT IXpsOMGlyphs_GetFillBrush(IXpsOMGlyphs* This,IXpsOMBrush **fillBrush) { + return This->lpVtbl->GetFillBrush(This,fillBrush); +} +static inline HRESULT IXpsOMGlyphs_GetFillBrushLocal(IXpsOMGlyphs* This,IXpsOMBrush **fillBrush) { + return This->lpVtbl->GetFillBrushLocal(This,fillBrush); +} +static inline HRESULT IXpsOMGlyphs_SetFillBrushLocal(IXpsOMGlyphs* This,IXpsOMBrush *fillBrush) { + return This->lpVtbl->SetFillBrushLocal(This,fillBrush); +} +static inline HRESULT IXpsOMGlyphs_GetFillBrushLookup(IXpsOMGlyphs* This,LPWSTR *key) { + return This->lpVtbl->GetFillBrushLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_SetFillBrushLookup(IXpsOMGlyphs* This,LPCWSTR key) { + return This->lpVtbl->SetFillBrushLookup(This,key); +} +static inline HRESULT IXpsOMGlyphs_GetGlyphsEditor(IXpsOMGlyphs* This,IXpsOMGlyphsEditor **editor) { + return This->lpVtbl->GetGlyphsEditor(This,editor); +} +static inline HRESULT IXpsOMGlyphs_Clone(IXpsOMGlyphs* This,IXpsOMGlyphs **glyphs) { + return This->lpVtbl->Clone(This,glyphs); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGlyphs_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPath interface + */ +#ifndef __IXpsOMPath_INTERFACE_DEFINED__ +#define __IXpsOMPath_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPath, 0x37d38bb6, 0x3ee9, 0x4110, 0x93,0x12, 0x14,0xb1,0x94,0x16,0x33,0x37); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("37d38bb6-3ee9-4110-9312-14b194163337") +IXpsOMPath : public IXpsOMVisual +{ + virtual HRESULT STDMETHODCALLTYPE GetGeometry( + IXpsOMGeometry **geometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGeometryLocal( + IXpsOMGeometry **geometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGeometryLocal( + IXpsOMGeometry *geometry) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGeometryLookup( + LPWSTR *lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGeometryLookup( + LPCWSTR lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAccessibilityShortDescription( + LPWSTR *shortDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAccessibilityShortDescription( + LPCWSTR shortDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAccessibilityLongDescription( + LPWSTR *longDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAccessibilityLongDescription( + LPCWSTR longDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSnapsToPixels( + WINBOOL *snapsToPixels) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSnapsToPixels( + WINBOOL snapsToPixels) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeBrush( + IXpsOMBrush **brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeBrushLocal( + IXpsOMBrush **brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeBrushLocal( + IXpsOMBrush *brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeBrushLookup( + LPWSTR *lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeBrushLookup( + LPCWSTR lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeDashes( + IXpsOMDashCollection **strokeDashes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeDashCap( + XPS_DASH_CAP *strokeDashCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeDashCap( + XPS_DASH_CAP strokeDashCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeDashOffset( + FLOAT *strokeDashOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeDashOffset( + FLOAT strokeDashOffset) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeStartLineCap( + XPS_LINE_CAP *strokeStartLineCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeStartLineCap( + XPS_LINE_CAP strokeStartLineCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeEndLineCap( + XPS_LINE_CAP *strokeEndLineCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeEndLineCap( + XPS_LINE_CAP strokeEndLineCap) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeLineJoin( + XPS_LINE_JOIN *strokeLineJoin) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeLineJoin( + XPS_LINE_JOIN strokeLineJoin) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeMiterLimit( + FLOAT *strokeMiterLimit) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeMiterLimit( + FLOAT strokeMiterLimit) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStrokeThickness( + FLOAT *strokeThickness) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStrokeThickness( + FLOAT strokeThickness) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrush( + IXpsOMBrush **brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrushLocal( + IXpsOMBrush **brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFillBrushLocal( + IXpsOMBrush *brush) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetFillBrushLookup( + LPWSTR *lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetFillBrushLookup( + LPCWSTR lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMPath **path) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPath, 0x37d38bb6, 0x3ee9, 0x4110, 0x93,0x12, 0x14,0xb1,0x94,0x16,0x33,0x37) +#endif +#else +typedef struct IXpsOMPathVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPath *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPath *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPath *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMPath *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMPath *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMVisual methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMPath *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMPath *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMPath *This, + IXpsOMMatrixTransform *matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMPath *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMPath *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometry)( + IXpsOMPath *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLocal)( + IXpsOMPath *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLocal)( + IXpsOMPath *This, + IXpsOMGeometry *clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLookup)( + IXpsOMPath *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLookup)( + IXpsOMPath *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMPath *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMPath *This, + FLOAT opacity); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrush)( + IXpsOMPath *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush *opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLookup)( + IXpsOMPath *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLookup)( + IXpsOMPath *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMPath *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMPath *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMPath *This, + WINBOOL *isHyperlink); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMPath *This, + WINBOOL isHyperlink); + + HRESULT (STDMETHODCALLTYPE *GetHyperlinkNavigateUri)( + IXpsOMPath *This, + IUri **hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *SetHyperlinkNavigateUri)( + IXpsOMPath *This, + IUri *hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMPath *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMPath *This, + LPCWSTR language); + + /*** IXpsOMPath methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGeometry)( + IXpsOMPath *This, + IXpsOMGeometry **geometry); + + HRESULT (STDMETHODCALLTYPE *GetGeometryLocal)( + IXpsOMPath *This, + IXpsOMGeometry **geometry); + + HRESULT (STDMETHODCALLTYPE *SetGeometryLocal)( + IXpsOMPath *This, + IXpsOMGeometry *geometry); + + HRESULT (STDMETHODCALLTYPE *GetGeometryLookup)( + IXpsOMPath *This, + LPWSTR *lookup); + + HRESULT (STDMETHODCALLTYPE *SetGeometryLookup)( + IXpsOMPath *This, + LPCWSTR lookup); + + HRESULT (STDMETHODCALLTYPE *GetAccessibilityShortDescription)( + IXpsOMPath *This, + LPWSTR *shortDescription); + + HRESULT (STDMETHODCALLTYPE *SetAccessibilityShortDescription)( + IXpsOMPath *This, + LPCWSTR shortDescription); + + HRESULT (STDMETHODCALLTYPE *GetAccessibilityLongDescription)( + IXpsOMPath *This, + LPWSTR *longDescription); + + HRESULT (STDMETHODCALLTYPE *SetAccessibilityLongDescription)( + IXpsOMPath *This, + LPCWSTR longDescription); + + HRESULT (STDMETHODCALLTYPE *GetSnapsToPixels)( + IXpsOMPath *This, + WINBOOL *snapsToPixels); + + HRESULT (STDMETHODCALLTYPE *SetSnapsToPixels)( + IXpsOMPath *This, + WINBOOL snapsToPixels); + + HRESULT (STDMETHODCALLTYPE *GetStrokeBrush)( + IXpsOMPath *This, + IXpsOMBrush **brush); + + HRESULT (STDMETHODCALLTYPE *GetStrokeBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush **brush); + + HRESULT (STDMETHODCALLTYPE *SetStrokeBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush *brush); + + HRESULT (STDMETHODCALLTYPE *GetStrokeBrushLookup)( + IXpsOMPath *This, + LPWSTR *lookup); + + HRESULT (STDMETHODCALLTYPE *SetStrokeBrushLookup)( + IXpsOMPath *This, + LPCWSTR lookup); + + HRESULT (STDMETHODCALLTYPE *GetStrokeDashes)( + IXpsOMPath *This, + IXpsOMDashCollection **strokeDashes); + + HRESULT (STDMETHODCALLTYPE *GetStrokeDashCap)( + IXpsOMPath *This, + XPS_DASH_CAP *strokeDashCap); + + HRESULT (STDMETHODCALLTYPE *SetStrokeDashCap)( + IXpsOMPath *This, + XPS_DASH_CAP strokeDashCap); + + HRESULT (STDMETHODCALLTYPE *GetStrokeDashOffset)( + IXpsOMPath *This, + FLOAT *strokeDashOffset); + + HRESULT (STDMETHODCALLTYPE *SetStrokeDashOffset)( + IXpsOMPath *This, + FLOAT strokeDashOffset); + + HRESULT (STDMETHODCALLTYPE *GetStrokeStartLineCap)( + IXpsOMPath *This, + XPS_LINE_CAP *strokeStartLineCap); + + HRESULT (STDMETHODCALLTYPE *SetStrokeStartLineCap)( + IXpsOMPath *This, + XPS_LINE_CAP strokeStartLineCap); + + HRESULT (STDMETHODCALLTYPE *GetStrokeEndLineCap)( + IXpsOMPath *This, + XPS_LINE_CAP *strokeEndLineCap); + + HRESULT (STDMETHODCALLTYPE *SetStrokeEndLineCap)( + IXpsOMPath *This, + XPS_LINE_CAP strokeEndLineCap); + + HRESULT (STDMETHODCALLTYPE *GetStrokeLineJoin)( + IXpsOMPath *This, + XPS_LINE_JOIN *strokeLineJoin); + + HRESULT (STDMETHODCALLTYPE *SetStrokeLineJoin)( + IXpsOMPath *This, + XPS_LINE_JOIN strokeLineJoin); + + HRESULT (STDMETHODCALLTYPE *GetStrokeMiterLimit)( + IXpsOMPath *This, + FLOAT *strokeMiterLimit); + + HRESULT (STDMETHODCALLTYPE *SetStrokeMiterLimit)( + IXpsOMPath *This, + FLOAT strokeMiterLimit); + + HRESULT (STDMETHODCALLTYPE *GetStrokeThickness)( + IXpsOMPath *This, + FLOAT *strokeThickness); + + HRESULT (STDMETHODCALLTYPE *SetStrokeThickness)( + IXpsOMPath *This, + FLOAT strokeThickness); + + HRESULT (STDMETHODCALLTYPE *GetFillBrush)( + IXpsOMPath *This, + IXpsOMBrush **brush); + + HRESULT (STDMETHODCALLTYPE *GetFillBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush **brush); + + HRESULT (STDMETHODCALLTYPE *SetFillBrushLocal)( + IXpsOMPath *This, + IXpsOMBrush *brush); + + HRESULT (STDMETHODCALLTYPE *GetFillBrushLookup)( + IXpsOMPath *This, + LPWSTR *lookup); + + HRESULT (STDMETHODCALLTYPE *SetFillBrushLookup)( + IXpsOMPath *This, + LPCWSTR lookup); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMPath *This, + IXpsOMPath **path); + + END_INTERFACE +} IXpsOMPathVtbl; + +interface IXpsOMPath { + CONST_VTBL IXpsOMPathVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPath_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPath_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPath_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMPath_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMPath_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMVisual methods ***/ +#define IXpsOMPath_GetTransform(This,matrixTransform) (This)->lpVtbl->GetTransform(This,matrixTransform) +#define IXpsOMPath_GetTransformLocal(This,matrixTransform) (This)->lpVtbl->GetTransformLocal(This,matrixTransform) +#define IXpsOMPath_SetTransformLocal(This,matrixTransform) (This)->lpVtbl->SetTransformLocal(This,matrixTransform) +#define IXpsOMPath_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMPath_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMPath_GetClipGeometry(This,clipGeometry) (This)->lpVtbl->GetClipGeometry(This,clipGeometry) +#define IXpsOMPath_GetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->GetClipGeometryLocal(This,clipGeometry) +#define IXpsOMPath_SetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->SetClipGeometryLocal(This,clipGeometry) +#define IXpsOMPath_GetClipGeometryLookup(This,key) (This)->lpVtbl->GetClipGeometryLookup(This,key) +#define IXpsOMPath_SetClipGeometryLookup(This,key) (This)->lpVtbl->SetClipGeometryLookup(This,key) +#define IXpsOMPath_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMPath_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +#define IXpsOMPath_GetOpacityMaskBrush(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush) +#define IXpsOMPath_GetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMPath_SetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMPath_GetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->GetOpacityMaskBrushLookup(This,key) +#define IXpsOMPath_SetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->SetOpacityMaskBrushLookup(This,key) +#define IXpsOMPath_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMPath_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMPath_GetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMPath_SetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMPath_GetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMPath_SetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMPath_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMPath_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +/*** IXpsOMPath methods ***/ +#define IXpsOMPath_GetGeometry(This,geometry) (This)->lpVtbl->GetGeometry(This,geometry) +#define IXpsOMPath_GetGeometryLocal(This,geometry) (This)->lpVtbl->GetGeometryLocal(This,geometry) +#define IXpsOMPath_SetGeometryLocal(This,geometry) (This)->lpVtbl->SetGeometryLocal(This,geometry) +#define IXpsOMPath_GetGeometryLookup(This,lookup) (This)->lpVtbl->GetGeometryLookup(This,lookup) +#define IXpsOMPath_SetGeometryLookup(This,lookup) (This)->lpVtbl->SetGeometryLookup(This,lookup) +#define IXpsOMPath_GetAccessibilityShortDescription(This,shortDescription) (This)->lpVtbl->GetAccessibilityShortDescription(This,shortDescription) +#define IXpsOMPath_SetAccessibilityShortDescription(This,shortDescription) (This)->lpVtbl->SetAccessibilityShortDescription(This,shortDescription) +#define IXpsOMPath_GetAccessibilityLongDescription(This,longDescription) (This)->lpVtbl->GetAccessibilityLongDescription(This,longDescription) +#define IXpsOMPath_SetAccessibilityLongDescription(This,longDescription) (This)->lpVtbl->SetAccessibilityLongDescription(This,longDescription) +#define IXpsOMPath_GetSnapsToPixels(This,snapsToPixels) (This)->lpVtbl->GetSnapsToPixels(This,snapsToPixels) +#define IXpsOMPath_SetSnapsToPixels(This,snapsToPixels) (This)->lpVtbl->SetSnapsToPixels(This,snapsToPixels) +#define IXpsOMPath_GetStrokeBrush(This,brush) (This)->lpVtbl->GetStrokeBrush(This,brush) +#define IXpsOMPath_GetStrokeBrushLocal(This,brush) (This)->lpVtbl->GetStrokeBrushLocal(This,brush) +#define IXpsOMPath_SetStrokeBrushLocal(This,brush) (This)->lpVtbl->SetStrokeBrushLocal(This,brush) +#define IXpsOMPath_GetStrokeBrushLookup(This,lookup) (This)->lpVtbl->GetStrokeBrushLookup(This,lookup) +#define IXpsOMPath_SetStrokeBrushLookup(This,lookup) (This)->lpVtbl->SetStrokeBrushLookup(This,lookup) +#define IXpsOMPath_GetStrokeDashes(This,strokeDashes) (This)->lpVtbl->GetStrokeDashes(This,strokeDashes) +#define IXpsOMPath_GetStrokeDashCap(This,strokeDashCap) (This)->lpVtbl->GetStrokeDashCap(This,strokeDashCap) +#define IXpsOMPath_SetStrokeDashCap(This,strokeDashCap) (This)->lpVtbl->SetStrokeDashCap(This,strokeDashCap) +#define IXpsOMPath_GetStrokeDashOffset(This,strokeDashOffset) (This)->lpVtbl->GetStrokeDashOffset(This,strokeDashOffset) +#define IXpsOMPath_SetStrokeDashOffset(This,strokeDashOffset) (This)->lpVtbl->SetStrokeDashOffset(This,strokeDashOffset) +#define IXpsOMPath_GetStrokeStartLineCap(This,strokeStartLineCap) (This)->lpVtbl->GetStrokeStartLineCap(This,strokeStartLineCap) +#define IXpsOMPath_SetStrokeStartLineCap(This,strokeStartLineCap) (This)->lpVtbl->SetStrokeStartLineCap(This,strokeStartLineCap) +#define IXpsOMPath_GetStrokeEndLineCap(This,strokeEndLineCap) (This)->lpVtbl->GetStrokeEndLineCap(This,strokeEndLineCap) +#define IXpsOMPath_SetStrokeEndLineCap(This,strokeEndLineCap) (This)->lpVtbl->SetStrokeEndLineCap(This,strokeEndLineCap) +#define IXpsOMPath_GetStrokeLineJoin(This,strokeLineJoin) (This)->lpVtbl->GetStrokeLineJoin(This,strokeLineJoin) +#define IXpsOMPath_SetStrokeLineJoin(This,strokeLineJoin) (This)->lpVtbl->SetStrokeLineJoin(This,strokeLineJoin) +#define IXpsOMPath_GetStrokeMiterLimit(This,strokeMiterLimit) (This)->lpVtbl->GetStrokeMiterLimit(This,strokeMiterLimit) +#define IXpsOMPath_SetStrokeMiterLimit(This,strokeMiterLimit) (This)->lpVtbl->SetStrokeMiterLimit(This,strokeMiterLimit) +#define IXpsOMPath_GetStrokeThickness(This,strokeThickness) (This)->lpVtbl->GetStrokeThickness(This,strokeThickness) +#define IXpsOMPath_SetStrokeThickness(This,strokeThickness) (This)->lpVtbl->SetStrokeThickness(This,strokeThickness) +#define IXpsOMPath_GetFillBrush(This,brush) (This)->lpVtbl->GetFillBrush(This,brush) +#define IXpsOMPath_GetFillBrushLocal(This,brush) (This)->lpVtbl->GetFillBrushLocal(This,brush) +#define IXpsOMPath_SetFillBrushLocal(This,brush) (This)->lpVtbl->SetFillBrushLocal(This,brush) +#define IXpsOMPath_GetFillBrushLookup(This,lookup) (This)->lpVtbl->GetFillBrushLookup(This,lookup) +#define IXpsOMPath_SetFillBrushLookup(This,lookup) (This)->lpVtbl->SetFillBrushLookup(This,lookup) +#define IXpsOMPath_Clone(This,path) (This)->lpVtbl->Clone(This,path) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPath_QueryInterface(IXpsOMPath* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPath_AddRef(IXpsOMPath* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPath_Release(IXpsOMPath* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMPath_GetOwner(IXpsOMPath* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMPath_GetType(IXpsOMPath* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMVisual methods ***/ +static inline HRESULT IXpsOMPath_GetTransform(IXpsOMPath* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransform(This,matrixTransform); +} +static inline HRESULT IXpsOMPath_GetTransformLocal(IXpsOMPath* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMPath_SetTransformLocal(IXpsOMPath* This,IXpsOMMatrixTransform *matrixTransform) { + return This->lpVtbl->SetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMPath_GetTransformLookup(IXpsOMPath* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMPath_SetTransformLookup(IXpsOMPath* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMPath_GetClipGeometry(IXpsOMPath* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometry(This,clipGeometry); +} +static inline HRESULT IXpsOMPath_GetClipGeometryLocal(IXpsOMPath* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMPath_SetClipGeometryLocal(IXpsOMPath* This,IXpsOMGeometry *clipGeometry) { + return This->lpVtbl->SetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMPath_GetClipGeometryLookup(IXpsOMPath* This,LPWSTR *key) { + return This->lpVtbl->GetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMPath_SetClipGeometryLookup(IXpsOMPath* This,LPCWSTR key) { + return This->lpVtbl->SetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMPath_GetOpacity(IXpsOMPath* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMPath_SetOpacity(IXpsOMPath* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +static inline HRESULT IXpsOMPath_GetOpacityMaskBrush(IXpsOMPath* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMPath_GetOpacityMaskBrushLocal(IXpsOMPath* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMPath_SetOpacityMaskBrushLocal(IXpsOMPath* This,IXpsOMBrush *opacityMaskBrush) { + return This->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMPath_GetOpacityMaskBrushLookup(IXpsOMPath* This,LPWSTR *key) { + return This->lpVtbl->GetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMPath_SetOpacityMaskBrushLookup(IXpsOMPath* This,LPCWSTR key) { + return This->lpVtbl->SetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMPath_GetName(IXpsOMPath* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMPath_SetName(IXpsOMPath* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMPath_GetIsHyperlinkTarget(IXpsOMPath* This,WINBOOL *isHyperlink) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMPath_SetIsHyperlinkTarget(IXpsOMPath* This,WINBOOL isHyperlink) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMPath_GetHyperlinkNavigateUri(IXpsOMPath* This,IUri **hyperlinkUri) { + return This->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMPath_SetHyperlinkNavigateUri(IXpsOMPath* This,IUri *hyperlinkUri) { + return This->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMPath_GetLanguage(IXpsOMPath* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMPath_SetLanguage(IXpsOMPath* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +/*** IXpsOMPath methods ***/ +static inline HRESULT IXpsOMPath_GetGeometry(IXpsOMPath* This,IXpsOMGeometry **geometry) { + return This->lpVtbl->GetGeometry(This,geometry); +} +static inline HRESULT IXpsOMPath_GetGeometryLocal(IXpsOMPath* This,IXpsOMGeometry **geometry) { + return This->lpVtbl->GetGeometryLocal(This,geometry); +} +static inline HRESULT IXpsOMPath_SetGeometryLocal(IXpsOMPath* This,IXpsOMGeometry *geometry) { + return This->lpVtbl->SetGeometryLocal(This,geometry); +} +static inline HRESULT IXpsOMPath_GetGeometryLookup(IXpsOMPath* This,LPWSTR *lookup) { + return This->lpVtbl->GetGeometryLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_SetGeometryLookup(IXpsOMPath* This,LPCWSTR lookup) { + return This->lpVtbl->SetGeometryLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_GetAccessibilityShortDescription(IXpsOMPath* This,LPWSTR *shortDescription) { + return This->lpVtbl->GetAccessibilityShortDescription(This,shortDescription); +} +static inline HRESULT IXpsOMPath_SetAccessibilityShortDescription(IXpsOMPath* This,LPCWSTR shortDescription) { + return This->lpVtbl->SetAccessibilityShortDescription(This,shortDescription); +} +static inline HRESULT IXpsOMPath_GetAccessibilityLongDescription(IXpsOMPath* This,LPWSTR *longDescription) { + return This->lpVtbl->GetAccessibilityLongDescription(This,longDescription); +} +static inline HRESULT IXpsOMPath_SetAccessibilityLongDescription(IXpsOMPath* This,LPCWSTR longDescription) { + return This->lpVtbl->SetAccessibilityLongDescription(This,longDescription); +} +static inline HRESULT IXpsOMPath_GetSnapsToPixels(IXpsOMPath* This,WINBOOL *snapsToPixels) { + return This->lpVtbl->GetSnapsToPixels(This,snapsToPixels); +} +static inline HRESULT IXpsOMPath_SetSnapsToPixels(IXpsOMPath* This,WINBOOL snapsToPixels) { + return This->lpVtbl->SetSnapsToPixels(This,snapsToPixels); +} +static inline HRESULT IXpsOMPath_GetStrokeBrush(IXpsOMPath* This,IXpsOMBrush **brush) { + return This->lpVtbl->GetStrokeBrush(This,brush); +} +static inline HRESULT IXpsOMPath_GetStrokeBrushLocal(IXpsOMPath* This,IXpsOMBrush **brush) { + return This->lpVtbl->GetStrokeBrushLocal(This,brush); +} +static inline HRESULT IXpsOMPath_SetStrokeBrushLocal(IXpsOMPath* This,IXpsOMBrush *brush) { + return This->lpVtbl->SetStrokeBrushLocal(This,brush); +} +static inline HRESULT IXpsOMPath_GetStrokeBrushLookup(IXpsOMPath* This,LPWSTR *lookup) { + return This->lpVtbl->GetStrokeBrushLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_SetStrokeBrushLookup(IXpsOMPath* This,LPCWSTR lookup) { + return This->lpVtbl->SetStrokeBrushLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_GetStrokeDashes(IXpsOMPath* This,IXpsOMDashCollection **strokeDashes) { + return This->lpVtbl->GetStrokeDashes(This,strokeDashes); +} +static inline HRESULT IXpsOMPath_GetStrokeDashCap(IXpsOMPath* This,XPS_DASH_CAP *strokeDashCap) { + return This->lpVtbl->GetStrokeDashCap(This,strokeDashCap); +} +static inline HRESULT IXpsOMPath_SetStrokeDashCap(IXpsOMPath* This,XPS_DASH_CAP strokeDashCap) { + return This->lpVtbl->SetStrokeDashCap(This,strokeDashCap); +} +static inline HRESULT IXpsOMPath_GetStrokeDashOffset(IXpsOMPath* This,FLOAT *strokeDashOffset) { + return This->lpVtbl->GetStrokeDashOffset(This,strokeDashOffset); +} +static inline HRESULT IXpsOMPath_SetStrokeDashOffset(IXpsOMPath* This,FLOAT strokeDashOffset) { + return This->lpVtbl->SetStrokeDashOffset(This,strokeDashOffset); +} +static inline HRESULT IXpsOMPath_GetStrokeStartLineCap(IXpsOMPath* This,XPS_LINE_CAP *strokeStartLineCap) { + return This->lpVtbl->GetStrokeStartLineCap(This,strokeStartLineCap); +} +static inline HRESULT IXpsOMPath_SetStrokeStartLineCap(IXpsOMPath* This,XPS_LINE_CAP strokeStartLineCap) { + return This->lpVtbl->SetStrokeStartLineCap(This,strokeStartLineCap); +} +static inline HRESULT IXpsOMPath_GetStrokeEndLineCap(IXpsOMPath* This,XPS_LINE_CAP *strokeEndLineCap) { + return This->lpVtbl->GetStrokeEndLineCap(This,strokeEndLineCap); +} +static inline HRESULT IXpsOMPath_SetStrokeEndLineCap(IXpsOMPath* This,XPS_LINE_CAP strokeEndLineCap) { + return This->lpVtbl->SetStrokeEndLineCap(This,strokeEndLineCap); +} +static inline HRESULT IXpsOMPath_GetStrokeLineJoin(IXpsOMPath* This,XPS_LINE_JOIN *strokeLineJoin) { + return This->lpVtbl->GetStrokeLineJoin(This,strokeLineJoin); +} +static inline HRESULT IXpsOMPath_SetStrokeLineJoin(IXpsOMPath* This,XPS_LINE_JOIN strokeLineJoin) { + return This->lpVtbl->SetStrokeLineJoin(This,strokeLineJoin); +} +static inline HRESULT IXpsOMPath_GetStrokeMiterLimit(IXpsOMPath* This,FLOAT *strokeMiterLimit) { + return This->lpVtbl->GetStrokeMiterLimit(This,strokeMiterLimit); +} +static inline HRESULT IXpsOMPath_SetStrokeMiterLimit(IXpsOMPath* This,FLOAT strokeMiterLimit) { + return This->lpVtbl->SetStrokeMiterLimit(This,strokeMiterLimit); +} +static inline HRESULT IXpsOMPath_GetStrokeThickness(IXpsOMPath* This,FLOAT *strokeThickness) { + return This->lpVtbl->GetStrokeThickness(This,strokeThickness); +} +static inline HRESULT IXpsOMPath_SetStrokeThickness(IXpsOMPath* This,FLOAT strokeThickness) { + return This->lpVtbl->SetStrokeThickness(This,strokeThickness); +} +static inline HRESULT IXpsOMPath_GetFillBrush(IXpsOMPath* This,IXpsOMBrush **brush) { + return This->lpVtbl->GetFillBrush(This,brush); +} +static inline HRESULT IXpsOMPath_GetFillBrushLocal(IXpsOMPath* This,IXpsOMBrush **brush) { + return This->lpVtbl->GetFillBrushLocal(This,brush); +} +static inline HRESULT IXpsOMPath_SetFillBrushLocal(IXpsOMPath* This,IXpsOMBrush *brush) { + return This->lpVtbl->SetFillBrushLocal(This,brush); +} +static inline HRESULT IXpsOMPath_GetFillBrushLookup(IXpsOMPath* This,LPWSTR *lookup) { + return This->lpVtbl->GetFillBrushLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_SetFillBrushLookup(IXpsOMPath* This,LPCWSTR lookup) { + return This->lpVtbl->SetFillBrushLookup(This,lookup); +} +static inline HRESULT IXpsOMPath_Clone(IXpsOMPath* This,IXpsOMPath **path) { + return This->lpVtbl->Clone(This,path); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPath_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMSolidColorBrush interface + */ +#ifndef __IXpsOMSolidColorBrush_INTERFACE_DEFINED__ +#define __IXpsOMSolidColorBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMSolidColorBrush, 0xa06f9f05, 0x3be9, 0x4763, 0x98,0xa8, 0x09,0x4f,0xc6,0x72,0xe4,0x88); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a06f9f05-3be9-4763-98a8-094fc672e488") +IXpsOMSolidColorBrush : public IXpsOMBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetColor( + XPS_COLOR *color, + IXpsOMColorProfileResource **colorProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColor( + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMSolidColorBrush **solidColorBrush) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMSolidColorBrush, 0xa06f9f05, 0x3be9, 0x4763, 0x98,0xa8, 0x09,0x4f,0xc6,0x72,0xe4,0x88) +#endif +#else +typedef struct IXpsOMSolidColorBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMSolidColorBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMSolidColorBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMSolidColorBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMSolidColorBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMSolidColorBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMSolidColorBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMSolidColorBrush *This, + FLOAT opacity); + + /*** IXpsOMSolidColorBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetColor)( + IXpsOMSolidColorBrush *This, + XPS_COLOR *color, + IXpsOMColorProfileResource **colorProfile); + + HRESULT (STDMETHODCALLTYPE *SetColor)( + IXpsOMSolidColorBrush *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMSolidColorBrush *This, + IXpsOMSolidColorBrush **solidColorBrush); + + END_INTERFACE +} IXpsOMSolidColorBrushVtbl; + +interface IXpsOMSolidColorBrush { + CONST_VTBL IXpsOMSolidColorBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMSolidColorBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMSolidColorBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMSolidColorBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMSolidColorBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMSolidColorBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMSolidColorBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMSolidColorBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMSolidColorBrush methods ***/ +#define IXpsOMSolidColorBrush_GetColor(This,color,colorProfile) (This)->lpVtbl->GetColor(This,color,colorProfile) +#define IXpsOMSolidColorBrush_SetColor(This,color,colorProfile) (This)->lpVtbl->SetColor(This,color,colorProfile) +#define IXpsOMSolidColorBrush_Clone(This,solidColorBrush) (This)->lpVtbl->Clone(This,solidColorBrush) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMSolidColorBrush_QueryInterface(IXpsOMSolidColorBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMSolidColorBrush_AddRef(IXpsOMSolidColorBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMSolidColorBrush_Release(IXpsOMSolidColorBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMSolidColorBrush_GetOwner(IXpsOMSolidColorBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMSolidColorBrush_GetType(IXpsOMSolidColorBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMSolidColorBrush_GetOpacity(IXpsOMSolidColorBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMSolidColorBrush_SetOpacity(IXpsOMSolidColorBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMSolidColorBrush methods ***/ +static inline HRESULT IXpsOMSolidColorBrush_GetColor(IXpsOMSolidColorBrush* This,XPS_COLOR *color,IXpsOMColorProfileResource **colorProfile) { + return This->lpVtbl->GetColor(This,color,colorProfile); +} +static inline HRESULT IXpsOMSolidColorBrush_SetColor(IXpsOMSolidColorBrush* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile) { + return This->lpVtbl->SetColor(This,color,colorProfile); +} +static inline HRESULT IXpsOMSolidColorBrush_Clone(IXpsOMSolidColorBrush* This,IXpsOMSolidColorBrush **solidColorBrush) { + return This->lpVtbl->Clone(This,solidColorBrush); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMSolidColorBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMTileBrush interface + */ +#ifndef __IXpsOMTileBrush_INTERFACE_DEFINED__ +#define __IXpsOMTileBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMTileBrush, 0x0fc2328d, 0xd722, 0x4a54, 0xb2,0xec, 0xbe,0x90,0x21,0x8a,0x78,0x9e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0fc2328d-d722-4a54-b2ec-be90218a789e") +IXpsOMTileBrush : public IXpsOMBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetTransform( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLocal( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLocal( + IXpsOMMatrixTransform *transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetViewbox( + XPS_RECT *viewbox) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetViewbox( + const XPS_RECT *viewbox) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetViewport( + XPS_RECT *viewport) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetViewport( + const XPS_RECT *viewport) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTileMode( + XPS_TILE_MODE *tileMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTileMode( + XPS_TILE_MODE tileMode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMTileBrush, 0x0fc2328d, 0xd722, 0x4a54, 0xb2,0xec, 0xbe,0x90,0x21,0x8a,0x78,0x9e) +#endif +#else +typedef struct IXpsOMTileBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMTileBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMTileBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMTileBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMTileBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMTileBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMTileBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMTileBrush *This, + FLOAT opacity); + + /*** IXpsOMTileBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMTileBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMTileBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMTileBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMTileBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMTileBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetViewbox)( + IXpsOMTileBrush *This, + XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *SetViewbox)( + IXpsOMTileBrush *This, + const XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *GetViewport)( + IXpsOMTileBrush *This, + XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *SetViewport)( + IXpsOMTileBrush *This, + const XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *GetTileMode)( + IXpsOMTileBrush *This, + XPS_TILE_MODE *tileMode); + + HRESULT (STDMETHODCALLTYPE *SetTileMode)( + IXpsOMTileBrush *This, + XPS_TILE_MODE tileMode); + + END_INTERFACE +} IXpsOMTileBrushVtbl; + +interface IXpsOMTileBrush { + CONST_VTBL IXpsOMTileBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMTileBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMTileBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMTileBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMTileBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMTileBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMTileBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMTileBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMTileBrush methods ***/ +#define IXpsOMTileBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMTileBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMTileBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMTileBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMTileBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMTileBrush_GetViewbox(This,viewbox) (This)->lpVtbl->GetViewbox(This,viewbox) +#define IXpsOMTileBrush_SetViewbox(This,viewbox) (This)->lpVtbl->SetViewbox(This,viewbox) +#define IXpsOMTileBrush_GetViewport(This,viewport) (This)->lpVtbl->GetViewport(This,viewport) +#define IXpsOMTileBrush_SetViewport(This,viewport) (This)->lpVtbl->SetViewport(This,viewport) +#define IXpsOMTileBrush_GetTileMode(This,tileMode) (This)->lpVtbl->GetTileMode(This,tileMode) +#define IXpsOMTileBrush_SetTileMode(This,tileMode) (This)->lpVtbl->SetTileMode(This,tileMode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMTileBrush_QueryInterface(IXpsOMTileBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMTileBrush_AddRef(IXpsOMTileBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMTileBrush_Release(IXpsOMTileBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMTileBrush_GetOwner(IXpsOMTileBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMTileBrush_GetType(IXpsOMTileBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMTileBrush_GetOpacity(IXpsOMTileBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMTileBrush_SetOpacity(IXpsOMTileBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMTileBrush methods ***/ +static inline HRESULT IXpsOMTileBrush_GetTransform(IXpsOMTileBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMTileBrush_GetTransformLocal(IXpsOMTileBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMTileBrush_SetTransformLocal(IXpsOMTileBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMTileBrush_GetTransformLookup(IXpsOMTileBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMTileBrush_SetTransformLookup(IXpsOMTileBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMTileBrush_GetViewbox(IXpsOMTileBrush* This,XPS_RECT *viewbox) { + return This->lpVtbl->GetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMTileBrush_SetViewbox(IXpsOMTileBrush* This,const XPS_RECT *viewbox) { + return This->lpVtbl->SetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMTileBrush_GetViewport(IXpsOMTileBrush* This,XPS_RECT *viewport) { + return This->lpVtbl->GetViewport(This,viewport); +} +static inline HRESULT IXpsOMTileBrush_SetViewport(IXpsOMTileBrush* This,const XPS_RECT *viewport) { + return This->lpVtbl->SetViewport(This,viewport); +} +static inline HRESULT IXpsOMTileBrush_GetTileMode(IXpsOMTileBrush* This,XPS_TILE_MODE *tileMode) { + return This->lpVtbl->GetTileMode(This,tileMode); +} +static inline HRESULT IXpsOMTileBrush_SetTileMode(IXpsOMTileBrush* This,XPS_TILE_MODE tileMode) { + return This->lpVtbl->SetTileMode(This,tileMode); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMTileBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMGradientBrush interface + */ +#ifndef __IXpsOMGradientBrush_INTERFACE_DEFINED__ +#define __IXpsOMGradientBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMGradientBrush, 0xedb59622, 0x61a2, 0x42c3, 0xba,0xce, 0xac,0xf2,0x28,0x6c,0x06,0xbf); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("edb59622-61a2-42c3-bace-acf2286c06bf") +IXpsOMGradientBrush : public IXpsOMBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetGradientStops( + IXpsOMGradientStopCollection **gradientStops) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransform( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLocal( + IXpsOMMatrixTransform **transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLocal( + IXpsOMMatrixTransform *transform) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTransformLookup( + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTransformLookup( + LPCWSTR key) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSpreadMethod( + XPS_SPREAD_METHOD *spreadMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSpreadMethod( + XPS_SPREAD_METHOD spreadMethod) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorInterpolationMode( + XPS_COLOR_INTERPOLATION *colorInterpolationMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColorInterpolationMode( + XPS_COLOR_INTERPOLATION colorInterpolationMode) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMGradientBrush, 0xedb59622, 0x61a2, 0x42c3, 0xba,0xce, 0xac,0xf2,0x28,0x6c,0x06,0xbf) +#endif +#else +typedef struct IXpsOMGradientBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMGradientBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMGradientBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMGradientBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMGradientBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMGradientBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMGradientBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMGradientBrush *This, + FLOAT opacity); + + /*** IXpsOMGradientBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGradientStops)( + IXpsOMGradientBrush *This, + IXpsOMGradientStopCollection **gradientStops); + + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMGradientBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMGradientBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMGradientBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetSpreadMethod)( + IXpsOMGradientBrush *This, + XPS_SPREAD_METHOD *spreadMethod); + + HRESULT (STDMETHODCALLTYPE *SetSpreadMethod)( + IXpsOMGradientBrush *This, + XPS_SPREAD_METHOD spreadMethod); + + HRESULT (STDMETHODCALLTYPE *GetColorInterpolationMode)( + IXpsOMGradientBrush *This, + XPS_COLOR_INTERPOLATION *colorInterpolationMode); + + HRESULT (STDMETHODCALLTYPE *SetColorInterpolationMode)( + IXpsOMGradientBrush *This, + XPS_COLOR_INTERPOLATION colorInterpolationMode); + + END_INTERFACE +} IXpsOMGradientBrushVtbl; + +interface IXpsOMGradientBrush { + CONST_VTBL IXpsOMGradientBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMGradientBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMGradientBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMGradientBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMGradientBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMGradientBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMGradientBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMGradientBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMGradientBrush methods ***/ +#define IXpsOMGradientBrush_GetGradientStops(This,gradientStops) (This)->lpVtbl->GetGradientStops(This,gradientStops) +#define IXpsOMGradientBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMGradientBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMGradientBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMGradientBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMGradientBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMGradientBrush_GetSpreadMethod(This,spreadMethod) (This)->lpVtbl->GetSpreadMethod(This,spreadMethod) +#define IXpsOMGradientBrush_SetSpreadMethod(This,spreadMethod) (This)->lpVtbl->SetSpreadMethod(This,spreadMethod) +#define IXpsOMGradientBrush_GetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode) +#define IXpsOMGradientBrush_SetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMGradientBrush_QueryInterface(IXpsOMGradientBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMGradientBrush_AddRef(IXpsOMGradientBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMGradientBrush_Release(IXpsOMGradientBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMGradientBrush_GetOwner(IXpsOMGradientBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMGradientBrush_GetType(IXpsOMGradientBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMGradientBrush_GetOpacity(IXpsOMGradientBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMGradientBrush_SetOpacity(IXpsOMGradientBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMGradientBrush methods ***/ +static inline HRESULT IXpsOMGradientBrush_GetGradientStops(IXpsOMGradientBrush* This,IXpsOMGradientStopCollection **gradientStops) { + return This->lpVtbl->GetGradientStops(This,gradientStops); +} +static inline HRESULT IXpsOMGradientBrush_GetTransform(IXpsOMGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMGradientBrush_GetTransformLocal(IXpsOMGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMGradientBrush_SetTransformLocal(IXpsOMGradientBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMGradientBrush_GetTransformLookup(IXpsOMGradientBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMGradientBrush_SetTransformLookup(IXpsOMGradientBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMGradientBrush_GetSpreadMethod(IXpsOMGradientBrush* This,XPS_SPREAD_METHOD *spreadMethod) { + return This->lpVtbl->GetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMGradientBrush_SetSpreadMethod(IXpsOMGradientBrush* This,XPS_SPREAD_METHOD spreadMethod) { + return This->lpVtbl->SetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMGradientBrush_GetColorInterpolationMode(IXpsOMGradientBrush* This,XPS_COLOR_INTERPOLATION *colorInterpolationMode) { + return This->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode); +} +static inline HRESULT IXpsOMGradientBrush_SetColorInterpolationMode(IXpsOMGradientBrush* This,XPS_COLOR_INTERPOLATION colorInterpolationMode) { + return This->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMGradientBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMVisualBrush interface + */ +#ifndef __IXpsOMVisualBrush_INTERFACE_DEFINED__ +#define __IXpsOMVisualBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMVisualBrush, 0x97e294af, 0x5b37, 0x46b4, 0x80,0x57, 0x87,0x4d,0x2f,0x64,0x11,0x9b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("97e294af-5b37-46b4-8057-874d2f64119b") +IXpsOMVisualBrush : public IXpsOMTileBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetVisual( + IXpsOMVisual **visual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisualLocal( + IXpsOMVisual **visual) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVisualLocal( + IXpsOMVisual *visual) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisualLookup( + LPWSTR *lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVisualLookup( + LPCWSTR lookup) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMVisualBrush **visualBrush) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMVisualBrush, 0x97e294af, 0x5b37, 0x46b4, 0x80,0x57, 0x87,0x4d,0x2f,0x64,0x11,0x9b) +#endif +#else +typedef struct IXpsOMVisualBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMVisualBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMVisualBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMVisualBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMVisualBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMVisualBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMVisualBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMVisualBrush *This, + FLOAT opacity); + + /*** IXpsOMTileBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMVisualBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMVisualBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMVisualBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMVisualBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMVisualBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetViewbox)( + IXpsOMVisualBrush *This, + XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *SetViewbox)( + IXpsOMVisualBrush *This, + const XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *GetViewport)( + IXpsOMVisualBrush *This, + XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *SetViewport)( + IXpsOMVisualBrush *This, + const XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *GetTileMode)( + IXpsOMVisualBrush *This, + XPS_TILE_MODE *tileMode); + + HRESULT (STDMETHODCALLTYPE *SetTileMode)( + IXpsOMVisualBrush *This, + XPS_TILE_MODE tileMode); + + /*** IXpsOMVisualBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVisual)( + IXpsOMVisualBrush *This, + IXpsOMVisual **visual); + + HRESULT (STDMETHODCALLTYPE *GetVisualLocal)( + IXpsOMVisualBrush *This, + IXpsOMVisual **visual); + + HRESULT (STDMETHODCALLTYPE *SetVisualLocal)( + IXpsOMVisualBrush *This, + IXpsOMVisual *visual); + + HRESULT (STDMETHODCALLTYPE *GetVisualLookup)( + IXpsOMVisualBrush *This, + LPWSTR *lookup); + + HRESULT (STDMETHODCALLTYPE *SetVisualLookup)( + IXpsOMVisualBrush *This, + LPCWSTR lookup); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMVisualBrush *This, + IXpsOMVisualBrush **visualBrush); + + END_INTERFACE +} IXpsOMVisualBrushVtbl; + +interface IXpsOMVisualBrush { + CONST_VTBL IXpsOMVisualBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMVisualBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMVisualBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMVisualBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMVisualBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMVisualBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMVisualBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMVisualBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMTileBrush methods ***/ +#define IXpsOMVisualBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMVisualBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMVisualBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMVisualBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMVisualBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMVisualBrush_GetViewbox(This,viewbox) (This)->lpVtbl->GetViewbox(This,viewbox) +#define IXpsOMVisualBrush_SetViewbox(This,viewbox) (This)->lpVtbl->SetViewbox(This,viewbox) +#define IXpsOMVisualBrush_GetViewport(This,viewport) (This)->lpVtbl->GetViewport(This,viewport) +#define IXpsOMVisualBrush_SetViewport(This,viewport) (This)->lpVtbl->SetViewport(This,viewport) +#define IXpsOMVisualBrush_GetTileMode(This,tileMode) (This)->lpVtbl->GetTileMode(This,tileMode) +#define IXpsOMVisualBrush_SetTileMode(This,tileMode) (This)->lpVtbl->SetTileMode(This,tileMode) +/*** IXpsOMVisualBrush methods ***/ +#define IXpsOMVisualBrush_GetVisual(This,visual) (This)->lpVtbl->GetVisual(This,visual) +#define IXpsOMVisualBrush_GetVisualLocal(This,visual) (This)->lpVtbl->GetVisualLocal(This,visual) +#define IXpsOMVisualBrush_SetVisualLocal(This,visual) (This)->lpVtbl->SetVisualLocal(This,visual) +#define IXpsOMVisualBrush_GetVisualLookup(This,lookup) (This)->lpVtbl->GetVisualLookup(This,lookup) +#define IXpsOMVisualBrush_SetVisualLookup(This,lookup) (This)->lpVtbl->SetVisualLookup(This,lookup) +#define IXpsOMVisualBrush_Clone(This,visualBrush) (This)->lpVtbl->Clone(This,visualBrush) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMVisualBrush_QueryInterface(IXpsOMVisualBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMVisualBrush_AddRef(IXpsOMVisualBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMVisualBrush_Release(IXpsOMVisualBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMVisualBrush_GetOwner(IXpsOMVisualBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMVisualBrush_GetType(IXpsOMVisualBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMVisualBrush_GetOpacity(IXpsOMVisualBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMVisualBrush_SetOpacity(IXpsOMVisualBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMTileBrush methods ***/ +static inline HRESULT IXpsOMVisualBrush_GetTransform(IXpsOMVisualBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMVisualBrush_GetTransformLocal(IXpsOMVisualBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMVisualBrush_SetTransformLocal(IXpsOMVisualBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMVisualBrush_GetTransformLookup(IXpsOMVisualBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMVisualBrush_SetTransformLookup(IXpsOMVisualBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMVisualBrush_GetViewbox(IXpsOMVisualBrush* This,XPS_RECT *viewbox) { + return This->lpVtbl->GetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMVisualBrush_SetViewbox(IXpsOMVisualBrush* This,const XPS_RECT *viewbox) { + return This->lpVtbl->SetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMVisualBrush_GetViewport(IXpsOMVisualBrush* This,XPS_RECT *viewport) { + return This->lpVtbl->GetViewport(This,viewport); +} +static inline HRESULT IXpsOMVisualBrush_SetViewport(IXpsOMVisualBrush* This,const XPS_RECT *viewport) { + return This->lpVtbl->SetViewport(This,viewport); +} +static inline HRESULT IXpsOMVisualBrush_GetTileMode(IXpsOMVisualBrush* This,XPS_TILE_MODE *tileMode) { + return This->lpVtbl->GetTileMode(This,tileMode); +} +static inline HRESULT IXpsOMVisualBrush_SetTileMode(IXpsOMVisualBrush* This,XPS_TILE_MODE tileMode) { + return This->lpVtbl->SetTileMode(This,tileMode); +} +/*** IXpsOMVisualBrush methods ***/ +static inline HRESULT IXpsOMVisualBrush_GetVisual(IXpsOMVisualBrush* This,IXpsOMVisual **visual) { + return This->lpVtbl->GetVisual(This,visual); +} +static inline HRESULT IXpsOMVisualBrush_GetVisualLocal(IXpsOMVisualBrush* This,IXpsOMVisual **visual) { + return This->lpVtbl->GetVisualLocal(This,visual); +} +static inline HRESULT IXpsOMVisualBrush_SetVisualLocal(IXpsOMVisualBrush* This,IXpsOMVisual *visual) { + return This->lpVtbl->SetVisualLocal(This,visual); +} +static inline HRESULT IXpsOMVisualBrush_GetVisualLookup(IXpsOMVisualBrush* This,LPWSTR *lookup) { + return This->lpVtbl->GetVisualLookup(This,lookup); +} +static inline HRESULT IXpsOMVisualBrush_SetVisualLookup(IXpsOMVisualBrush* This,LPCWSTR lookup) { + return This->lpVtbl->SetVisualLookup(This,lookup); +} +static inline HRESULT IXpsOMVisualBrush_Clone(IXpsOMVisualBrush* This,IXpsOMVisualBrush **visualBrush) { + return This->lpVtbl->Clone(This,visualBrush); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMVisualBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMImageBrush interface + */ +#ifndef __IXpsOMImageBrush_INTERFACE_DEFINED__ +#define __IXpsOMImageBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMImageBrush, 0x3df0b466, 0xd382, 0x49ef, 0x85,0x50, 0xdd,0x94,0xc8,0x02,0x42,0xe4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3df0b466-d382-49ef-8550-dd94c80242e4") +IXpsOMImageBrush : public IXpsOMTileBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetImageResource( + IXpsOMImageResource **imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetImageResource( + IXpsOMImageResource *imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetColorProfileResource( + IXpsOMColorProfileResource **colorProfileResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetColorProfileResource( + IXpsOMColorProfileResource *colorProfileResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMImageBrush **imageBrush) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMImageBrush, 0x3df0b466, 0xd382, 0x49ef, 0x85,0x50, 0xdd,0x94,0xc8,0x02,0x42,0xe4) +#endif +#else +typedef struct IXpsOMImageBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMImageBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMImageBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMImageBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMImageBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMImageBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMImageBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMImageBrush *This, + FLOAT opacity); + + /*** IXpsOMTileBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMImageBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMImageBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMImageBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMImageBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMImageBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetViewbox)( + IXpsOMImageBrush *This, + XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *SetViewbox)( + IXpsOMImageBrush *This, + const XPS_RECT *viewbox); + + HRESULT (STDMETHODCALLTYPE *GetViewport)( + IXpsOMImageBrush *This, + XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *SetViewport)( + IXpsOMImageBrush *This, + const XPS_RECT *viewport); + + HRESULT (STDMETHODCALLTYPE *GetTileMode)( + IXpsOMImageBrush *This, + XPS_TILE_MODE *tileMode); + + HRESULT (STDMETHODCALLTYPE *SetTileMode)( + IXpsOMImageBrush *This, + XPS_TILE_MODE tileMode); + + /*** IXpsOMImageBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetImageResource)( + IXpsOMImageBrush *This, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *SetImageResource)( + IXpsOMImageBrush *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *GetColorProfileResource)( + IXpsOMImageBrush *This, + IXpsOMColorProfileResource **colorProfileResource); + + HRESULT (STDMETHODCALLTYPE *SetColorProfileResource)( + IXpsOMImageBrush *This, + IXpsOMColorProfileResource *colorProfileResource); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMImageBrush *This, + IXpsOMImageBrush **imageBrush); + + END_INTERFACE +} IXpsOMImageBrushVtbl; + +interface IXpsOMImageBrush { + CONST_VTBL IXpsOMImageBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMImageBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMImageBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMImageBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMImageBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMImageBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMImageBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMImageBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMTileBrush methods ***/ +#define IXpsOMImageBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMImageBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMImageBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMImageBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMImageBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMImageBrush_GetViewbox(This,viewbox) (This)->lpVtbl->GetViewbox(This,viewbox) +#define IXpsOMImageBrush_SetViewbox(This,viewbox) (This)->lpVtbl->SetViewbox(This,viewbox) +#define IXpsOMImageBrush_GetViewport(This,viewport) (This)->lpVtbl->GetViewport(This,viewport) +#define IXpsOMImageBrush_SetViewport(This,viewport) (This)->lpVtbl->SetViewport(This,viewport) +#define IXpsOMImageBrush_GetTileMode(This,tileMode) (This)->lpVtbl->GetTileMode(This,tileMode) +#define IXpsOMImageBrush_SetTileMode(This,tileMode) (This)->lpVtbl->SetTileMode(This,tileMode) +/*** IXpsOMImageBrush methods ***/ +#define IXpsOMImageBrush_GetImageResource(This,imageResource) (This)->lpVtbl->GetImageResource(This,imageResource) +#define IXpsOMImageBrush_SetImageResource(This,imageResource) (This)->lpVtbl->SetImageResource(This,imageResource) +#define IXpsOMImageBrush_GetColorProfileResource(This,colorProfileResource) (This)->lpVtbl->GetColorProfileResource(This,colorProfileResource) +#define IXpsOMImageBrush_SetColorProfileResource(This,colorProfileResource) (This)->lpVtbl->SetColorProfileResource(This,colorProfileResource) +#define IXpsOMImageBrush_Clone(This,imageBrush) (This)->lpVtbl->Clone(This,imageBrush) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMImageBrush_QueryInterface(IXpsOMImageBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMImageBrush_AddRef(IXpsOMImageBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMImageBrush_Release(IXpsOMImageBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMImageBrush_GetOwner(IXpsOMImageBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMImageBrush_GetType(IXpsOMImageBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMImageBrush_GetOpacity(IXpsOMImageBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMImageBrush_SetOpacity(IXpsOMImageBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMTileBrush methods ***/ +static inline HRESULT IXpsOMImageBrush_GetTransform(IXpsOMImageBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMImageBrush_GetTransformLocal(IXpsOMImageBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMImageBrush_SetTransformLocal(IXpsOMImageBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMImageBrush_GetTransformLookup(IXpsOMImageBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMImageBrush_SetTransformLookup(IXpsOMImageBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMImageBrush_GetViewbox(IXpsOMImageBrush* This,XPS_RECT *viewbox) { + return This->lpVtbl->GetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMImageBrush_SetViewbox(IXpsOMImageBrush* This,const XPS_RECT *viewbox) { + return This->lpVtbl->SetViewbox(This,viewbox); +} +static inline HRESULT IXpsOMImageBrush_GetViewport(IXpsOMImageBrush* This,XPS_RECT *viewport) { + return This->lpVtbl->GetViewport(This,viewport); +} +static inline HRESULT IXpsOMImageBrush_SetViewport(IXpsOMImageBrush* This,const XPS_RECT *viewport) { + return This->lpVtbl->SetViewport(This,viewport); +} +static inline HRESULT IXpsOMImageBrush_GetTileMode(IXpsOMImageBrush* This,XPS_TILE_MODE *tileMode) { + return This->lpVtbl->GetTileMode(This,tileMode); +} +static inline HRESULT IXpsOMImageBrush_SetTileMode(IXpsOMImageBrush* This,XPS_TILE_MODE tileMode) { + return This->lpVtbl->SetTileMode(This,tileMode); +} +/*** IXpsOMImageBrush methods ***/ +static inline HRESULT IXpsOMImageBrush_GetImageResource(IXpsOMImageBrush* This,IXpsOMImageResource **imageResource) { + return This->lpVtbl->GetImageResource(This,imageResource); +} +static inline HRESULT IXpsOMImageBrush_SetImageResource(IXpsOMImageBrush* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->SetImageResource(This,imageResource); +} +static inline HRESULT IXpsOMImageBrush_GetColorProfileResource(IXpsOMImageBrush* This,IXpsOMColorProfileResource **colorProfileResource) { + return This->lpVtbl->GetColorProfileResource(This,colorProfileResource); +} +static inline HRESULT IXpsOMImageBrush_SetColorProfileResource(IXpsOMImageBrush* This,IXpsOMColorProfileResource *colorProfileResource) { + return This->lpVtbl->SetColorProfileResource(This,colorProfileResource); +} +static inline HRESULT IXpsOMImageBrush_Clone(IXpsOMImageBrush* This,IXpsOMImageBrush **imageBrush) { + return This->lpVtbl->Clone(This,imageBrush); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMImageBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMLinearGradientBrush interface + */ +#ifndef __IXpsOMLinearGradientBrush_INTERFACE_DEFINED__ +#define __IXpsOMLinearGradientBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMLinearGradientBrush, 0x005e279f, 0xc30d, 0x40ff, 0x93,0xec, 0x19,0x50,0xd3,0xc5,0x28,0xdb); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("005e279f-c30d-40ff-93ec-1950d3c528db") +IXpsOMLinearGradientBrush : public IXpsOMGradientBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetStartPoint( + XPS_POINT *startPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetStartPoint( + const XPS_POINT *startPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEndPoint( + XPS_POINT *endPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetEndPoint( + const XPS_POINT *endPoint) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMLinearGradientBrush **linearGradientBrush) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMLinearGradientBrush, 0x005e279f, 0xc30d, 0x40ff, 0x93,0xec, 0x19,0x50,0xd3,0xc5,0x28,0xdb) +#endif +#else +typedef struct IXpsOMLinearGradientBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMLinearGradientBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMLinearGradientBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMLinearGradientBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMLinearGradientBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMLinearGradientBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMLinearGradientBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMLinearGradientBrush *This, + FLOAT opacity); + + /*** IXpsOMGradientBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGradientStops)( + IXpsOMLinearGradientBrush *This, + IXpsOMGradientStopCollection **gradientStops); + + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMLinearGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMLinearGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMLinearGradientBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMLinearGradientBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMLinearGradientBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetSpreadMethod)( + IXpsOMLinearGradientBrush *This, + XPS_SPREAD_METHOD *spreadMethod); + + HRESULT (STDMETHODCALLTYPE *SetSpreadMethod)( + IXpsOMLinearGradientBrush *This, + XPS_SPREAD_METHOD spreadMethod); + + HRESULT (STDMETHODCALLTYPE *GetColorInterpolationMode)( + IXpsOMLinearGradientBrush *This, + XPS_COLOR_INTERPOLATION *colorInterpolationMode); + + HRESULT (STDMETHODCALLTYPE *SetColorInterpolationMode)( + IXpsOMLinearGradientBrush *This, + XPS_COLOR_INTERPOLATION colorInterpolationMode); + + /*** IXpsOMLinearGradientBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStartPoint)( + IXpsOMLinearGradientBrush *This, + XPS_POINT *startPoint); + + HRESULT (STDMETHODCALLTYPE *SetStartPoint)( + IXpsOMLinearGradientBrush *This, + const XPS_POINT *startPoint); + + HRESULT (STDMETHODCALLTYPE *GetEndPoint)( + IXpsOMLinearGradientBrush *This, + XPS_POINT *endPoint); + + HRESULT (STDMETHODCALLTYPE *SetEndPoint)( + IXpsOMLinearGradientBrush *This, + const XPS_POINT *endPoint); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMLinearGradientBrush *This, + IXpsOMLinearGradientBrush **linearGradientBrush); + + END_INTERFACE +} IXpsOMLinearGradientBrushVtbl; + +interface IXpsOMLinearGradientBrush { + CONST_VTBL IXpsOMLinearGradientBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMLinearGradientBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMLinearGradientBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMLinearGradientBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMLinearGradientBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMLinearGradientBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMLinearGradientBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMLinearGradientBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMGradientBrush methods ***/ +#define IXpsOMLinearGradientBrush_GetGradientStops(This,gradientStops) (This)->lpVtbl->GetGradientStops(This,gradientStops) +#define IXpsOMLinearGradientBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMLinearGradientBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMLinearGradientBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMLinearGradientBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMLinearGradientBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMLinearGradientBrush_GetSpreadMethod(This,spreadMethod) (This)->lpVtbl->GetSpreadMethod(This,spreadMethod) +#define IXpsOMLinearGradientBrush_SetSpreadMethod(This,spreadMethod) (This)->lpVtbl->SetSpreadMethod(This,spreadMethod) +#define IXpsOMLinearGradientBrush_GetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode) +#define IXpsOMLinearGradientBrush_SetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode) +/*** IXpsOMLinearGradientBrush methods ***/ +#define IXpsOMLinearGradientBrush_GetStartPoint(This,startPoint) (This)->lpVtbl->GetStartPoint(This,startPoint) +#define IXpsOMLinearGradientBrush_SetStartPoint(This,startPoint) (This)->lpVtbl->SetStartPoint(This,startPoint) +#define IXpsOMLinearGradientBrush_GetEndPoint(This,endPoint) (This)->lpVtbl->GetEndPoint(This,endPoint) +#define IXpsOMLinearGradientBrush_SetEndPoint(This,endPoint) (This)->lpVtbl->SetEndPoint(This,endPoint) +#define IXpsOMLinearGradientBrush_Clone(This,linearGradientBrush) (This)->lpVtbl->Clone(This,linearGradientBrush) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMLinearGradientBrush_QueryInterface(IXpsOMLinearGradientBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMLinearGradientBrush_AddRef(IXpsOMLinearGradientBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMLinearGradientBrush_Release(IXpsOMLinearGradientBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMLinearGradientBrush_GetOwner(IXpsOMLinearGradientBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetType(IXpsOMLinearGradientBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMLinearGradientBrush_GetOpacity(IXpsOMLinearGradientBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetOpacity(IXpsOMLinearGradientBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMGradientBrush methods ***/ +static inline HRESULT IXpsOMLinearGradientBrush_GetGradientStops(IXpsOMLinearGradientBrush* This,IXpsOMGradientStopCollection **gradientStops) { + return This->lpVtbl->GetGradientStops(This,gradientStops); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetTransform(IXpsOMLinearGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetTransformLocal(IXpsOMLinearGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetTransformLocal(IXpsOMLinearGradientBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetTransformLookup(IXpsOMLinearGradientBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetTransformLookup(IXpsOMLinearGradientBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetSpreadMethod(IXpsOMLinearGradientBrush* This,XPS_SPREAD_METHOD *spreadMethod) { + return This->lpVtbl->GetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetSpreadMethod(IXpsOMLinearGradientBrush* This,XPS_SPREAD_METHOD spreadMethod) { + return This->lpVtbl->SetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetColorInterpolationMode(IXpsOMLinearGradientBrush* This,XPS_COLOR_INTERPOLATION *colorInterpolationMode) { + return This->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetColorInterpolationMode(IXpsOMLinearGradientBrush* This,XPS_COLOR_INTERPOLATION colorInterpolationMode) { + return This->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode); +} +/*** IXpsOMLinearGradientBrush methods ***/ +static inline HRESULT IXpsOMLinearGradientBrush_GetStartPoint(IXpsOMLinearGradientBrush* This,XPS_POINT *startPoint) { + return This->lpVtbl->GetStartPoint(This,startPoint); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetStartPoint(IXpsOMLinearGradientBrush* This,const XPS_POINT *startPoint) { + return This->lpVtbl->SetStartPoint(This,startPoint); +} +static inline HRESULT IXpsOMLinearGradientBrush_GetEndPoint(IXpsOMLinearGradientBrush* This,XPS_POINT *endPoint) { + return This->lpVtbl->GetEndPoint(This,endPoint); +} +static inline HRESULT IXpsOMLinearGradientBrush_SetEndPoint(IXpsOMLinearGradientBrush* This,const XPS_POINT *endPoint) { + return This->lpVtbl->SetEndPoint(This,endPoint); +} +static inline HRESULT IXpsOMLinearGradientBrush_Clone(IXpsOMLinearGradientBrush* This,IXpsOMLinearGradientBrush **linearGradientBrush) { + return This->lpVtbl->Clone(This,linearGradientBrush); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMLinearGradientBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMRadialGradientBrush interface + */ +#ifndef __IXpsOMRadialGradientBrush_INTERFACE_DEFINED__ +#define __IXpsOMRadialGradientBrush_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMRadialGradientBrush, 0x75f207e5, 0x08bf, 0x413c, 0x96,0xb1, 0xb8,0x2b,0x40,0x64,0x17,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("75f207e5-08bf-413c-96b1-b82b4064176b") +IXpsOMRadialGradientBrush : public IXpsOMGradientBrush +{ + virtual HRESULT STDMETHODCALLTYPE GetCenter( + XPS_POINT *center) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCenter( + const XPS_POINT *center) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRadiiSizes( + XPS_SIZE *radiiSizes) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRadiiSizes( + const XPS_SIZE *radiiSizes) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetGradientOrigin( + XPS_POINT *origin) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetGradientOrigin( + const XPS_POINT *origin) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMRadialGradientBrush **radialGradientBrush) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMRadialGradientBrush, 0x75f207e5, 0x08bf, 0x413c, 0x96,0xb1, 0xb8,0x2b,0x40,0x64,0x17,0x6b) +#endif +#else +typedef struct IXpsOMRadialGradientBrushVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMRadialGradientBrush *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMRadialGradientBrush *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMRadialGradientBrush *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMRadialGradientBrush *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMRadialGradientBrush *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMRadialGradientBrush *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMRadialGradientBrush *This, + FLOAT opacity); + + /*** IXpsOMGradientBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetGradientStops)( + IXpsOMRadialGradientBrush *This, + IXpsOMGradientStopCollection **gradientStops); + + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMRadialGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMRadialGradientBrush *This, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMRadialGradientBrush *This, + IXpsOMMatrixTransform *transform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMRadialGradientBrush *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMRadialGradientBrush *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetSpreadMethod)( + IXpsOMRadialGradientBrush *This, + XPS_SPREAD_METHOD *spreadMethod); + + HRESULT (STDMETHODCALLTYPE *SetSpreadMethod)( + IXpsOMRadialGradientBrush *This, + XPS_SPREAD_METHOD spreadMethod); + + HRESULT (STDMETHODCALLTYPE *GetColorInterpolationMode)( + IXpsOMRadialGradientBrush *This, + XPS_COLOR_INTERPOLATION *colorInterpolationMode); + + HRESULT (STDMETHODCALLTYPE *SetColorInterpolationMode)( + IXpsOMRadialGradientBrush *This, + XPS_COLOR_INTERPOLATION colorInterpolationMode); + + /*** IXpsOMRadialGradientBrush methods ***/ + HRESULT (STDMETHODCALLTYPE *GetCenter)( + IXpsOMRadialGradientBrush *This, + XPS_POINT *center); + + HRESULT (STDMETHODCALLTYPE *SetCenter)( + IXpsOMRadialGradientBrush *This, + const XPS_POINT *center); + + HRESULT (STDMETHODCALLTYPE *GetRadiiSizes)( + IXpsOMRadialGradientBrush *This, + XPS_SIZE *radiiSizes); + + HRESULT (STDMETHODCALLTYPE *SetRadiiSizes)( + IXpsOMRadialGradientBrush *This, + const XPS_SIZE *radiiSizes); + + HRESULT (STDMETHODCALLTYPE *GetGradientOrigin)( + IXpsOMRadialGradientBrush *This, + XPS_POINT *origin); + + HRESULT (STDMETHODCALLTYPE *SetGradientOrigin)( + IXpsOMRadialGradientBrush *This, + const XPS_POINT *origin); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMRadialGradientBrush *This, + IXpsOMRadialGradientBrush **radialGradientBrush); + + END_INTERFACE +} IXpsOMRadialGradientBrushVtbl; + +interface IXpsOMRadialGradientBrush { + CONST_VTBL IXpsOMRadialGradientBrushVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMRadialGradientBrush_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMRadialGradientBrush_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMRadialGradientBrush_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMRadialGradientBrush_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMRadialGradientBrush_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMBrush methods ***/ +#define IXpsOMRadialGradientBrush_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMRadialGradientBrush_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +/*** IXpsOMGradientBrush methods ***/ +#define IXpsOMRadialGradientBrush_GetGradientStops(This,gradientStops) (This)->lpVtbl->GetGradientStops(This,gradientStops) +#define IXpsOMRadialGradientBrush_GetTransform(This,transform) (This)->lpVtbl->GetTransform(This,transform) +#define IXpsOMRadialGradientBrush_GetTransformLocal(This,transform) (This)->lpVtbl->GetTransformLocal(This,transform) +#define IXpsOMRadialGradientBrush_SetTransformLocal(This,transform) (This)->lpVtbl->SetTransformLocal(This,transform) +#define IXpsOMRadialGradientBrush_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMRadialGradientBrush_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMRadialGradientBrush_GetSpreadMethod(This,spreadMethod) (This)->lpVtbl->GetSpreadMethod(This,spreadMethod) +#define IXpsOMRadialGradientBrush_SetSpreadMethod(This,spreadMethod) (This)->lpVtbl->SetSpreadMethod(This,spreadMethod) +#define IXpsOMRadialGradientBrush_GetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode) +#define IXpsOMRadialGradientBrush_SetColorInterpolationMode(This,colorInterpolationMode) (This)->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode) +/*** IXpsOMRadialGradientBrush methods ***/ +#define IXpsOMRadialGradientBrush_GetCenter(This,center) (This)->lpVtbl->GetCenter(This,center) +#define IXpsOMRadialGradientBrush_SetCenter(This,center) (This)->lpVtbl->SetCenter(This,center) +#define IXpsOMRadialGradientBrush_GetRadiiSizes(This,radiiSizes) (This)->lpVtbl->GetRadiiSizes(This,radiiSizes) +#define IXpsOMRadialGradientBrush_SetRadiiSizes(This,radiiSizes) (This)->lpVtbl->SetRadiiSizes(This,radiiSizes) +#define IXpsOMRadialGradientBrush_GetGradientOrigin(This,origin) (This)->lpVtbl->GetGradientOrigin(This,origin) +#define IXpsOMRadialGradientBrush_SetGradientOrigin(This,origin) (This)->lpVtbl->SetGradientOrigin(This,origin) +#define IXpsOMRadialGradientBrush_Clone(This,radialGradientBrush) (This)->lpVtbl->Clone(This,radialGradientBrush) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMRadialGradientBrush_QueryInterface(IXpsOMRadialGradientBrush* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMRadialGradientBrush_AddRef(IXpsOMRadialGradientBrush* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMRadialGradientBrush_Release(IXpsOMRadialGradientBrush* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMRadialGradientBrush_GetOwner(IXpsOMRadialGradientBrush* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetType(IXpsOMRadialGradientBrush* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMBrush methods ***/ +static inline HRESULT IXpsOMRadialGradientBrush_GetOpacity(IXpsOMRadialGradientBrush* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetOpacity(IXpsOMRadialGradientBrush* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +/*** IXpsOMGradientBrush methods ***/ +static inline HRESULT IXpsOMRadialGradientBrush_GetGradientStops(IXpsOMRadialGradientBrush* This,IXpsOMGradientStopCollection **gradientStops) { + return This->lpVtbl->GetGradientStops(This,gradientStops); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetTransform(IXpsOMRadialGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransform(This,transform); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetTransformLocal(IXpsOMRadialGradientBrush* This,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->GetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetTransformLocal(IXpsOMRadialGradientBrush* This,IXpsOMMatrixTransform *transform) { + return This->lpVtbl->SetTransformLocal(This,transform); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetTransformLookup(IXpsOMRadialGradientBrush* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetTransformLookup(IXpsOMRadialGradientBrush* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetSpreadMethod(IXpsOMRadialGradientBrush* This,XPS_SPREAD_METHOD *spreadMethod) { + return This->lpVtbl->GetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetSpreadMethod(IXpsOMRadialGradientBrush* This,XPS_SPREAD_METHOD spreadMethod) { + return This->lpVtbl->SetSpreadMethod(This,spreadMethod); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetColorInterpolationMode(IXpsOMRadialGradientBrush* This,XPS_COLOR_INTERPOLATION *colorInterpolationMode) { + return This->lpVtbl->GetColorInterpolationMode(This,colorInterpolationMode); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetColorInterpolationMode(IXpsOMRadialGradientBrush* This,XPS_COLOR_INTERPOLATION colorInterpolationMode) { + return This->lpVtbl->SetColorInterpolationMode(This,colorInterpolationMode); +} +/*** IXpsOMRadialGradientBrush methods ***/ +static inline HRESULT IXpsOMRadialGradientBrush_GetCenter(IXpsOMRadialGradientBrush* This,XPS_POINT *center) { + return This->lpVtbl->GetCenter(This,center); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetCenter(IXpsOMRadialGradientBrush* This,const XPS_POINT *center) { + return This->lpVtbl->SetCenter(This,center); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetRadiiSizes(IXpsOMRadialGradientBrush* This,XPS_SIZE *radiiSizes) { + return This->lpVtbl->GetRadiiSizes(This,radiiSizes); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetRadiiSizes(IXpsOMRadialGradientBrush* This,const XPS_SIZE *radiiSizes) { + return This->lpVtbl->SetRadiiSizes(This,radiiSizes); +} +static inline HRESULT IXpsOMRadialGradientBrush_GetGradientOrigin(IXpsOMRadialGradientBrush* This,XPS_POINT *origin) { + return This->lpVtbl->GetGradientOrigin(This,origin); +} +static inline HRESULT IXpsOMRadialGradientBrush_SetGradientOrigin(IXpsOMRadialGradientBrush* This,const XPS_POINT *origin) { + return This->lpVtbl->SetGradientOrigin(This,origin); +} +static inline HRESULT IXpsOMRadialGradientBrush_Clone(IXpsOMRadialGradientBrush* This,IXpsOMRadialGradientBrush **radialGradientBrush) { + return This->lpVtbl->Clone(This,radialGradientBrush); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMRadialGradientBrush_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMResource interface + */ +#ifndef __IXpsOMResource_INTERFACE_DEFINED__ +#define __IXpsOMResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMResource, 0xda2ac0a2, 0x73a2, 0x4975, 0xad,0x14, 0x74,0x09,0x7c,0x3f,0xf3,0xa5); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("da2ac0a2-73a2-4975-ad14-74097c3ff3a5") +IXpsOMResource : public IXpsOMPart +{ +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMResource, 0xda2ac0a2, 0x73a2, 0x4975, 0xad,0x14, 0x74,0x09,0x7c,0x3f,0xf3,0xa5) +#endif +#else +typedef struct IXpsOMResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMResource *This, + IOpcPartUri *partUri); + + END_INTERFACE +} IXpsOMResourceVtbl; + +interface IXpsOMResource { + CONST_VTBL IXpsOMResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMResource_QueryInterface(IXpsOMResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMResource_AddRef(IXpsOMResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMResource_Release(IXpsOMResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMResource_GetPartName(IXpsOMResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMResource_SetPartName(IXpsOMResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMFontResource interface + */ +#ifndef __IXpsOMFontResource_INTERFACE_DEFINED__ +#define __IXpsOMFontResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMFontResource, 0xa8c45708, 0x47d9, 0x4af4, 0x8d,0x20, 0x33,0xb4,0x8c,0x9b,0x84,0x85); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("a8c45708-47d9-4af4-8d20-33b48c9b8485") +IXpsOMFontResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **readerStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + XPS_FONT_EMBEDDING embeddingOption, + IOpcPartUri *partName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetEmbeddingOption( + XPS_FONT_EMBEDDING *embeddingOption) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMFontResource, 0xa8c45708, 0x47d9, 0x4af4, 0x8d,0x20, 0x33,0xb4,0x8c,0x9b,0x84,0x85) +#endif +#else +typedef struct IXpsOMFontResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMFontResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMFontResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMFontResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMFontResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMFontResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMFontResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMFontResource *This, + IStream **readerStream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMFontResource *This, + IStream *sourceStream, + XPS_FONT_EMBEDDING embeddingOption, + IOpcPartUri *partName); + + HRESULT (STDMETHODCALLTYPE *GetEmbeddingOption)( + IXpsOMFontResource *This, + XPS_FONT_EMBEDDING *embeddingOption); + + END_INTERFACE +} IXpsOMFontResourceVtbl; + +interface IXpsOMFontResource { + CONST_VTBL IXpsOMFontResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMFontResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMFontResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMFontResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMFontResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMFontResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMFontResource methods ***/ +#define IXpsOMFontResource_GetStream(This,readerStream) (This)->lpVtbl->GetStream(This,readerStream) +#define IXpsOMFontResource_SetContent(This,sourceStream,embeddingOption,partName) (This)->lpVtbl->SetContent(This,sourceStream,embeddingOption,partName) +#define IXpsOMFontResource_GetEmbeddingOption(This,embeddingOption) (This)->lpVtbl->GetEmbeddingOption(This,embeddingOption) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMFontResource_QueryInterface(IXpsOMFontResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMFontResource_AddRef(IXpsOMFontResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMFontResource_Release(IXpsOMFontResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMFontResource_GetPartName(IXpsOMFontResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMFontResource_SetPartName(IXpsOMFontResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMFontResource methods ***/ +static inline HRESULT IXpsOMFontResource_GetStream(IXpsOMFontResource* This,IStream **readerStream) { + return This->lpVtbl->GetStream(This,readerStream); +} +static inline HRESULT IXpsOMFontResource_SetContent(IXpsOMFontResource* This,IStream *sourceStream,XPS_FONT_EMBEDDING embeddingOption,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,embeddingOption,partName); +} +static inline HRESULT IXpsOMFontResource_GetEmbeddingOption(IXpsOMFontResource* This,XPS_FONT_EMBEDDING *embeddingOption) { + return This->lpVtbl->GetEmbeddingOption(This,embeddingOption); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMFontResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMImageResource interface + */ +#ifndef __IXpsOMImageResource_INTERFACE_DEFINED__ +#define __IXpsOMImageResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMImageResource, 0x3db8417d, 0xae50, 0x485e, 0x9a,0x44, 0xd7,0x75,0x8f,0x78,0xa2,0x3f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3db8417d-ae50-485e-9a44-d7758f78a23f") +IXpsOMImageResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **readerStream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + XPS_IMAGE_TYPE imageType, + IOpcPartUri *partName) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetImageType( + XPS_IMAGE_TYPE *imageType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMImageResource, 0x3db8417d, 0xae50, 0x485e, 0x9a,0x44, 0xd7,0x75,0x8f,0x78,0xa2,0x3f) +#endif +#else +typedef struct IXpsOMImageResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMImageResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMImageResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMImageResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMImageResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMImageResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMImageResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMImageResource *This, + IStream **readerStream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMImageResource *This, + IStream *sourceStream, + XPS_IMAGE_TYPE imageType, + IOpcPartUri *partName); + + HRESULT (STDMETHODCALLTYPE *GetImageType)( + IXpsOMImageResource *This, + XPS_IMAGE_TYPE *imageType); + + END_INTERFACE +} IXpsOMImageResourceVtbl; + +interface IXpsOMImageResource { + CONST_VTBL IXpsOMImageResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMImageResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMImageResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMImageResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMImageResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMImageResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMImageResource methods ***/ +#define IXpsOMImageResource_GetStream(This,readerStream) (This)->lpVtbl->GetStream(This,readerStream) +#define IXpsOMImageResource_SetContent(This,sourceStream,imageType,partName) (This)->lpVtbl->SetContent(This,sourceStream,imageType,partName) +#define IXpsOMImageResource_GetImageType(This,imageType) (This)->lpVtbl->GetImageType(This,imageType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMImageResource_QueryInterface(IXpsOMImageResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMImageResource_AddRef(IXpsOMImageResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMImageResource_Release(IXpsOMImageResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMImageResource_GetPartName(IXpsOMImageResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMImageResource_SetPartName(IXpsOMImageResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMImageResource methods ***/ +static inline HRESULT IXpsOMImageResource_GetStream(IXpsOMImageResource* This,IStream **readerStream) { + return This->lpVtbl->GetStream(This,readerStream); +} +static inline HRESULT IXpsOMImageResource_SetContent(IXpsOMImageResource* This,IStream *sourceStream,XPS_IMAGE_TYPE imageType,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,imageType,partName); +} +static inline HRESULT IXpsOMImageResource_GetImageType(IXpsOMImageResource* This,XPS_IMAGE_TYPE *imageType) { + return This->lpVtbl->GetImageType(This,imageType); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMImageResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMColorProfileResource interface + */ +#ifndef __IXpsOMColorProfileResource_INTERFACE_DEFINED__ +#define __IXpsOMColorProfileResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMColorProfileResource, 0x67bd7d69, 0x1eef, 0x4bb1, 0xb5,0xe7, 0x6f,0x4f,0x87,0xbe,0x8a,0xbe); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("67bd7d69-1eef-4bb1-b5e7-6f4f87be8abe") +IXpsOMColorProfileResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + IOpcPartUri *partName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMColorProfileResource, 0x67bd7d69, 0x1eef, 0x4bb1, 0xb5,0xe7, 0x6f,0x4f,0x87,0xbe,0x8a,0xbe) +#endif +#else +typedef struct IXpsOMColorProfileResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMColorProfileResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMColorProfileResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMColorProfileResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMColorProfileResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMColorProfileResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMColorProfileResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMColorProfileResource *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMColorProfileResource *This, + IStream *sourceStream, + IOpcPartUri *partName); + + END_INTERFACE +} IXpsOMColorProfileResourceVtbl; + +interface IXpsOMColorProfileResource { + CONST_VTBL IXpsOMColorProfileResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMColorProfileResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMColorProfileResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMColorProfileResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMColorProfileResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMColorProfileResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMColorProfileResource methods ***/ +#define IXpsOMColorProfileResource_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IXpsOMColorProfileResource_SetContent(This,sourceStream,partName) (This)->lpVtbl->SetContent(This,sourceStream,partName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMColorProfileResource_QueryInterface(IXpsOMColorProfileResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMColorProfileResource_AddRef(IXpsOMColorProfileResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMColorProfileResource_Release(IXpsOMColorProfileResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMColorProfileResource_GetPartName(IXpsOMColorProfileResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMColorProfileResource_SetPartName(IXpsOMColorProfileResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMColorProfileResource methods ***/ +static inline HRESULT IXpsOMColorProfileResource_GetStream(IXpsOMColorProfileResource* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IXpsOMColorProfileResource_SetContent(IXpsOMColorProfileResource* This,IStream *sourceStream,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,partName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMColorProfileResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPrintTicketResource interface + */ +#ifndef __IXpsOMPrintTicketResource_INTERFACE_DEFINED__ +#define __IXpsOMPrintTicketResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPrintTicketResource, 0xe7ff32d2, 0x34aa, 0x499b, 0xbb,0xe9, 0x9c,0xd4,0xee,0x6c,0x59,0xf7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e7ff32d2-34aa-499b-bbe9-9cd4ee6c59f7") +IXpsOMPrintTicketResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + IOpcPartUri *partName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPrintTicketResource, 0xe7ff32d2, 0x34aa, 0x499b, 0xbb,0xe9, 0x9c,0xd4,0xee,0x6c,0x59,0xf7) +#endif +#else +typedef struct IXpsOMPrintTicketResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPrintTicketResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPrintTicketResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPrintTicketResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMPrintTicketResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMPrintTicketResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMPrintTicketResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMPrintTicketResource *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMPrintTicketResource *This, + IStream *sourceStream, + IOpcPartUri *partName); + + END_INTERFACE +} IXpsOMPrintTicketResourceVtbl; + +interface IXpsOMPrintTicketResource { + CONST_VTBL IXpsOMPrintTicketResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPrintTicketResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPrintTicketResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPrintTicketResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMPrintTicketResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMPrintTicketResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMPrintTicketResource methods ***/ +#define IXpsOMPrintTicketResource_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IXpsOMPrintTicketResource_SetContent(This,sourceStream,partName) (This)->lpVtbl->SetContent(This,sourceStream,partName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPrintTicketResource_QueryInterface(IXpsOMPrintTicketResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPrintTicketResource_AddRef(IXpsOMPrintTicketResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPrintTicketResource_Release(IXpsOMPrintTicketResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMPrintTicketResource_GetPartName(IXpsOMPrintTicketResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMPrintTicketResource_SetPartName(IXpsOMPrintTicketResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMPrintTicketResource methods ***/ +static inline HRESULT IXpsOMPrintTicketResource_GetStream(IXpsOMPrintTicketResource* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IXpsOMPrintTicketResource_SetContent(IXpsOMPrintTicketResource* This,IStream *sourceStream,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,partName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPrintTicketResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMRemoteDictionaryResource interface + */ +#ifndef __IXpsOMRemoteDictionaryResource_INTERFACE_DEFINED__ +#define __IXpsOMRemoteDictionaryResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMRemoteDictionaryResource, 0xc9bd7cd4, 0xe16a, 0x4bf8, 0x8c,0x84, 0xc9,0x50,0xaf,0x7a,0x30,0x61); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c9bd7cd4-e16a-4bf8-8c84-c950af7a3061") +IXpsOMRemoteDictionaryResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetDictionary( + IXpsOMDictionary **dictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDictionary( + IXpsOMDictionary *dictionary) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMRemoteDictionaryResource, 0xc9bd7cd4, 0xe16a, 0x4bf8, 0x8c,0x84, 0xc9,0x50,0xaf,0x7a,0x30,0x61) +#endif +#else +typedef struct IXpsOMRemoteDictionaryResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMRemoteDictionaryResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMRemoteDictionaryResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMRemoteDictionaryResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMRemoteDictionaryResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMRemoteDictionaryResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMRemoteDictionaryResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDictionary)( + IXpsOMRemoteDictionaryResource *This, + IXpsOMDictionary **dictionary); + + HRESULT (STDMETHODCALLTYPE *SetDictionary)( + IXpsOMRemoteDictionaryResource *This, + IXpsOMDictionary *dictionary); + + END_INTERFACE +} IXpsOMRemoteDictionaryResourceVtbl; + +interface IXpsOMRemoteDictionaryResource { + CONST_VTBL IXpsOMRemoteDictionaryResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMRemoteDictionaryResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMRemoteDictionaryResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMRemoteDictionaryResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMRemoteDictionaryResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMRemoteDictionaryResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMRemoteDictionaryResource methods ***/ +#define IXpsOMRemoteDictionaryResource_GetDictionary(This,dictionary) (This)->lpVtbl->GetDictionary(This,dictionary) +#define IXpsOMRemoteDictionaryResource_SetDictionary(This,dictionary) (This)->lpVtbl->SetDictionary(This,dictionary) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource_QueryInterface(IXpsOMRemoteDictionaryResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMRemoteDictionaryResource_AddRef(IXpsOMRemoteDictionaryResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMRemoteDictionaryResource_Release(IXpsOMRemoteDictionaryResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource_GetPartName(IXpsOMRemoteDictionaryResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMRemoteDictionaryResource_SetPartName(IXpsOMRemoteDictionaryResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMRemoteDictionaryResource methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource_GetDictionary(IXpsOMRemoteDictionaryResource* This,IXpsOMDictionary **dictionary) { + return This->lpVtbl->GetDictionary(This,dictionary); +} +static inline HRESULT IXpsOMRemoteDictionaryResource_SetDictionary(IXpsOMRemoteDictionaryResource* This,IXpsOMDictionary *dictionary) { + return This->lpVtbl->SetDictionary(This,dictionary); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMRemoteDictionaryResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDocumentStructureResource interface + */ +#ifndef __IXpsOMDocumentStructureResource_INTERFACE_DEFINED__ +#define __IXpsOMDocumentStructureResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDocumentStructureResource, 0x85febc8a, 0x6b63, 0x48a9, 0xaf,0x07, 0x70,0x64,0xe4,0xec,0xff,0x30); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("85febc8a-6b63-48a9-af07-7064e4ecff30") +IXpsOMDocumentStructureResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMDocument **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + IOpcPartUri *partName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDocumentStructureResource, 0x85febc8a, 0x6b63, 0x48a9, 0xaf,0x07, 0x70,0x64,0xe4,0xec,0xff,0x30) +#endif +#else +typedef struct IXpsOMDocumentStructureResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDocumentStructureResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDocumentStructureResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDocumentStructureResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMDocumentStructureResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMDocumentStructureResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMDocumentStructureResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMDocumentStructureResource *This, + IXpsOMDocument **owner); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMDocumentStructureResource *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMDocumentStructureResource *This, + IStream *sourceStream, + IOpcPartUri *partName); + + END_INTERFACE +} IXpsOMDocumentStructureResourceVtbl; + +interface IXpsOMDocumentStructureResource { + CONST_VTBL IXpsOMDocumentStructureResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDocumentStructureResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDocumentStructureResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDocumentStructureResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMDocumentStructureResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMDocumentStructureResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMDocumentStructureResource methods ***/ +#define IXpsOMDocumentStructureResource_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMDocumentStructureResource_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IXpsOMDocumentStructureResource_SetContent(This,sourceStream,partName) (This)->lpVtbl->SetContent(This,sourceStream,partName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDocumentStructureResource_QueryInterface(IXpsOMDocumentStructureResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDocumentStructureResource_AddRef(IXpsOMDocumentStructureResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDocumentStructureResource_Release(IXpsOMDocumentStructureResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMDocumentStructureResource_GetPartName(IXpsOMDocumentStructureResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMDocumentStructureResource_SetPartName(IXpsOMDocumentStructureResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMDocumentStructureResource methods ***/ +static inline HRESULT IXpsOMDocumentStructureResource_GetOwner(IXpsOMDocumentStructureResource* This,IXpsOMDocument **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMDocumentStructureResource_GetStream(IXpsOMDocumentStructureResource* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IXpsOMDocumentStructureResource_SetContent(IXpsOMDocumentStructureResource* This,IStream *sourceStream,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,partName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDocumentStructureResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMStoryFragmentsResource interface + */ +#ifndef __IXpsOMStoryFragmentsResource_INTERFACE_DEFINED__ +#define __IXpsOMStoryFragmentsResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMStoryFragmentsResource, 0xc2b3ca09, 0x0473, 0x4282, 0x87,0xae, 0x17,0x80,0x86,0x32,0x23,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("c2b3ca09-0473-4282-87ae-1780863223f0") +IXpsOMStoryFragmentsResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMPageReference **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + IOpcPartUri *partName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMStoryFragmentsResource, 0xc2b3ca09, 0x0473, 0x4282, 0x87,0xae, 0x17,0x80,0x86,0x32,0x23,0xf0) +#endif +#else +typedef struct IXpsOMStoryFragmentsResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMStoryFragmentsResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMStoryFragmentsResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMStoryFragmentsResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMStoryFragmentsResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMStoryFragmentsResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMStoryFragmentsResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMStoryFragmentsResource *This, + IXpsOMPageReference **owner); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMStoryFragmentsResource *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMStoryFragmentsResource *This, + IStream *sourceStream, + IOpcPartUri *partName); + + END_INTERFACE +} IXpsOMStoryFragmentsResourceVtbl; + +interface IXpsOMStoryFragmentsResource { + CONST_VTBL IXpsOMStoryFragmentsResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMStoryFragmentsResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMStoryFragmentsResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMStoryFragmentsResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMStoryFragmentsResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMStoryFragmentsResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMStoryFragmentsResource methods ***/ +#define IXpsOMStoryFragmentsResource_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMStoryFragmentsResource_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IXpsOMStoryFragmentsResource_SetContent(This,sourceStream,partName) (This)->lpVtbl->SetContent(This,sourceStream,partName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMStoryFragmentsResource_QueryInterface(IXpsOMStoryFragmentsResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMStoryFragmentsResource_AddRef(IXpsOMStoryFragmentsResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMStoryFragmentsResource_Release(IXpsOMStoryFragmentsResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMStoryFragmentsResource_GetPartName(IXpsOMStoryFragmentsResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMStoryFragmentsResource_SetPartName(IXpsOMStoryFragmentsResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMStoryFragmentsResource methods ***/ +static inline HRESULT IXpsOMStoryFragmentsResource_GetOwner(IXpsOMStoryFragmentsResource* This,IXpsOMPageReference **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMStoryFragmentsResource_GetStream(IXpsOMStoryFragmentsResource* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IXpsOMStoryFragmentsResource_SetContent(IXpsOMStoryFragmentsResource* This,IStream *sourceStream,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,partName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMStoryFragmentsResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMSignatureBlockResource interface + */ +#ifndef __IXpsOMSignatureBlockResource_INTERFACE_DEFINED__ +#define __IXpsOMSignatureBlockResource_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMSignatureBlockResource, 0x4776ad35, 0x2e04, 0x4357, 0x87,0x43, 0xeb,0xf6,0xc1,0x71,0xa9,0x05); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("4776ad35-2e04-4357-8743-ebf6c171a905") +IXpsOMSignatureBlockResource : public IXpsOMResource +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMDocument **owner) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetStream( + IStream **stream) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContent( + IStream *sourceStream, + IOpcPartUri *partName) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMSignatureBlockResource, 0x4776ad35, 0x2e04, 0x4357, 0x87,0x43, 0xeb,0xf6,0xc1,0x71,0xa9,0x05) +#endif +#else +typedef struct IXpsOMSignatureBlockResourceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMSignatureBlockResource *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMSignatureBlockResource *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMSignatureBlockResource *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMSignatureBlockResource *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMSignatureBlockResource *This, + IOpcPartUri *partUri); + + /*** IXpsOMSignatureBlockResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMSignatureBlockResource *This, + IXpsOMDocument **owner); + + HRESULT (STDMETHODCALLTYPE *GetStream)( + IXpsOMSignatureBlockResource *This, + IStream **stream); + + HRESULT (STDMETHODCALLTYPE *SetContent)( + IXpsOMSignatureBlockResource *This, + IStream *sourceStream, + IOpcPartUri *partName); + + END_INTERFACE +} IXpsOMSignatureBlockResourceVtbl; + +interface IXpsOMSignatureBlockResource { + CONST_VTBL IXpsOMSignatureBlockResourceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMSignatureBlockResource_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMSignatureBlockResource_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMSignatureBlockResource_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMSignatureBlockResource_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMSignatureBlockResource_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMSignatureBlockResource methods ***/ +#define IXpsOMSignatureBlockResource_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMSignatureBlockResource_GetStream(This,stream) (This)->lpVtbl->GetStream(This,stream) +#define IXpsOMSignatureBlockResource_SetContent(This,sourceStream,partName) (This)->lpVtbl->SetContent(This,sourceStream,partName) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMSignatureBlockResource_QueryInterface(IXpsOMSignatureBlockResource* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMSignatureBlockResource_AddRef(IXpsOMSignatureBlockResource* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMSignatureBlockResource_Release(IXpsOMSignatureBlockResource* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMSignatureBlockResource_GetPartName(IXpsOMSignatureBlockResource* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMSignatureBlockResource_SetPartName(IXpsOMSignatureBlockResource* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMSignatureBlockResource methods ***/ +static inline HRESULT IXpsOMSignatureBlockResource_GetOwner(IXpsOMSignatureBlockResource* This,IXpsOMDocument **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMSignatureBlockResource_GetStream(IXpsOMSignatureBlockResource* This,IStream **stream) { + return This->lpVtbl->GetStream(This,stream); +} +static inline HRESULT IXpsOMSignatureBlockResource_SetContent(IXpsOMSignatureBlockResource* This,IStream *sourceStream,IOpcPartUri *partName) { + return This->lpVtbl->SetContent(This,sourceStream,partName); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMSignatureBlockResource_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMCanvas interface + */ +#ifndef __IXpsOMCanvas_INTERFACE_DEFINED__ +#define __IXpsOMCanvas_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMCanvas, 0x221d1452, 0x331e, 0x47c6, 0x87,0xe9, 0x6c,0xce,0xfb,0x9b,0x5b,0xa3); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("221d1452-331e-47c6-87e9-6ccefb9b5ba3") +IXpsOMCanvas : public IXpsOMVisual +{ + virtual HRESULT STDMETHODCALLTYPE GetVisuals( + IXpsOMVisualCollection **visuals) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetUseAliasedEdgeMode( + WINBOOL *useAliasedEdgeMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetUseAliasedEdgeMode( + WINBOOL useAliasedEdgeMode) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAccessibilityShortDescription( + LPWSTR *shortDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAccessibilityShortDescription( + LPCWSTR shortDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetAccessibilityLongDescription( + LPWSTR *longDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetAccessibilityLongDescription( + LPCWSTR longDescription) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionary( + IXpsOMDictionary **resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionaryLocal( + IXpsOMDictionary **resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDictionaryLocal( + IXpsOMDictionary *resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionaryResource( + IXpsOMRemoteDictionaryResource **remoteDictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDictionaryResource( + IXpsOMRemoteDictionaryResource *remoteDictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMCanvas **canvas) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMCanvas, 0x221d1452, 0x331e, 0x47c6, 0x87,0xe9, 0x6c,0xce,0xfb,0x9b,0x5b,0xa3) +#endif +#else +typedef struct IXpsOMCanvasVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMCanvas *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMCanvas *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMCanvas *This); + + /*** IXpsOMShareable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMCanvas *This, + IUnknown **owner); + + HRESULT (STDMETHODCALLTYPE *GetType)( + IXpsOMCanvas *This, + XPS_OBJECT_TYPE *type); + + /*** IXpsOMVisual methods ***/ + HRESULT (STDMETHODCALLTYPE *GetTransform)( + IXpsOMCanvas *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLocal)( + IXpsOMCanvas *This, + IXpsOMMatrixTransform **matrixTransform); + + HRESULT (STDMETHODCALLTYPE *SetTransformLocal)( + IXpsOMCanvas *This, + IXpsOMMatrixTransform *matrixTransform); + + HRESULT (STDMETHODCALLTYPE *GetTransformLookup)( + IXpsOMCanvas *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetTransformLookup)( + IXpsOMCanvas *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometry)( + IXpsOMCanvas *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLocal)( + IXpsOMCanvas *This, + IXpsOMGeometry **clipGeometry); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLocal)( + IXpsOMCanvas *This, + IXpsOMGeometry *clipGeometry); + + HRESULT (STDMETHODCALLTYPE *GetClipGeometryLookup)( + IXpsOMCanvas *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetClipGeometryLookup)( + IXpsOMCanvas *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetOpacity)( + IXpsOMCanvas *This, + FLOAT *opacity); + + HRESULT (STDMETHODCALLTYPE *SetOpacity)( + IXpsOMCanvas *This, + FLOAT opacity); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrush)( + IXpsOMCanvas *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLocal)( + IXpsOMCanvas *This, + IXpsOMBrush **opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLocal)( + IXpsOMCanvas *This, + IXpsOMBrush *opacityMaskBrush); + + HRESULT (STDMETHODCALLTYPE *GetOpacityMaskBrushLookup)( + IXpsOMCanvas *This, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *SetOpacityMaskBrushLookup)( + IXpsOMCanvas *This, + LPCWSTR key); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMCanvas *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMCanvas *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMCanvas *This, + WINBOOL *isHyperlink); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMCanvas *This, + WINBOOL isHyperlink); + + HRESULT (STDMETHODCALLTYPE *GetHyperlinkNavigateUri)( + IXpsOMCanvas *This, + IUri **hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *SetHyperlinkNavigateUri)( + IXpsOMCanvas *This, + IUri *hyperlinkUri); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMCanvas *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMCanvas *This, + LPCWSTR language); + + /*** IXpsOMCanvas methods ***/ + HRESULT (STDMETHODCALLTYPE *GetVisuals)( + IXpsOMCanvas *This, + IXpsOMVisualCollection **visuals); + + HRESULT (STDMETHODCALLTYPE *GetUseAliasedEdgeMode)( + IXpsOMCanvas *This, + WINBOOL *useAliasedEdgeMode); + + HRESULT (STDMETHODCALLTYPE *SetUseAliasedEdgeMode)( + IXpsOMCanvas *This, + WINBOOL useAliasedEdgeMode); + + HRESULT (STDMETHODCALLTYPE *GetAccessibilityShortDescription)( + IXpsOMCanvas *This, + LPWSTR *shortDescription); + + HRESULT (STDMETHODCALLTYPE *SetAccessibilityShortDescription)( + IXpsOMCanvas *This, + LPCWSTR shortDescription); + + HRESULT (STDMETHODCALLTYPE *GetAccessibilityLongDescription)( + IXpsOMCanvas *This, + LPWSTR *longDescription); + + HRESULT (STDMETHODCALLTYPE *SetAccessibilityLongDescription)( + IXpsOMCanvas *This, + LPCWSTR longDescription); + + HRESULT (STDMETHODCALLTYPE *GetDictionary)( + IXpsOMCanvas *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryLocal)( + IXpsOMCanvas *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryLocal)( + IXpsOMCanvas *This, + IXpsOMDictionary *resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryResource)( + IXpsOMCanvas *This, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryResource)( + IXpsOMCanvas *This, + IXpsOMRemoteDictionaryResource *remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMCanvas *This, + IXpsOMCanvas **canvas); + + END_INTERFACE +} IXpsOMCanvasVtbl; + +interface IXpsOMCanvas { + CONST_VTBL IXpsOMCanvasVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMCanvas_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMCanvas_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMCanvas_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMShareable methods ***/ +#define IXpsOMCanvas_GetOwner(This,owner) (This)->lpVtbl->GetOwner(This,owner) +#define IXpsOMCanvas_GetType(This,type) (This)->lpVtbl->GetType(This,type) +/*** IXpsOMVisual methods ***/ +#define IXpsOMCanvas_GetTransform(This,matrixTransform) (This)->lpVtbl->GetTransform(This,matrixTransform) +#define IXpsOMCanvas_GetTransformLocal(This,matrixTransform) (This)->lpVtbl->GetTransformLocal(This,matrixTransform) +#define IXpsOMCanvas_SetTransformLocal(This,matrixTransform) (This)->lpVtbl->SetTransformLocal(This,matrixTransform) +#define IXpsOMCanvas_GetTransformLookup(This,key) (This)->lpVtbl->GetTransformLookup(This,key) +#define IXpsOMCanvas_SetTransformLookup(This,key) (This)->lpVtbl->SetTransformLookup(This,key) +#define IXpsOMCanvas_GetClipGeometry(This,clipGeometry) (This)->lpVtbl->GetClipGeometry(This,clipGeometry) +#define IXpsOMCanvas_GetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->GetClipGeometryLocal(This,clipGeometry) +#define IXpsOMCanvas_SetClipGeometryLocal(This,clipGeometry) (This)->lpVtbl->SetClipGeometryLocal(This,clipGeometry) +#define IXpsOMCanvas_GetClipGeometryLookup(This,key) (This)->lpVtbl->GetClipGeometryLookup(This,key) +#define IXpsOMCanvas_SetClipGeometryLookup(This,key) (This)->lpVtbl->SetClipGeometryLookup(This,key) +#define IXpsOMCanvas_GetOpacity(This,opacity) (This)->lpVtbl->GetOpacity(This,opacity) +#define IXpsOMCanvas_SetOpacity(This,opacity) (This)->lpVtbl->SetOpacity(This,opacity) +#define IXpsOMCanvas_GetOpacityMaskBrush(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush) +#define IXpsOMCanvas_GetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMCanvas_SetOpacityMaskBrushLocal(This,opacityMaskBrush) (This)->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush) +#define IXpsOMCanvas_GetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->GetOpacityMaskBrushLookup(This,key) +#define IXpsOMCanvas_SetOpacityMaskBrushLookup(This,key) (This)->lpVtbl->SetOpacityMaskBrushLookup(This,key) +#define IXpsOMCanvas_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMCanvas_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMCanvas_GetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMCanvas_SetIsHyperlinkTarget(This,isHyperlink) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink) +#define IXpsOMCanvas_GetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMCanvas_SetHyperlinkNavigateUri(This,hyperlinkUri) (This)->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri) +#define IXpsOMCanvas_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMCanvas_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +/*** IXpsOMCanvas methods ***/ +#define IXpsOMCanvas_GetVisuals(This,visuals) (This)->lpVtbl->GetVisuals(This,visuals) +#define IXpsOMCanvas_GetUseAliasedEdgeMode(This,useAliasedEdgeMode) (This)->lpVtbl->GetUseAliasedEdgeMode(This,useAliasedEdgeMode) +#define IXpsOMCanvas_SetUseAliasedEdgeMode(This,useAliasedEdgeMode) (This)->lpVtbl->SetUseAliasedEdgeMode(This,useAliasedEdgeMode) +#define IXpsOMCanvas_GetAccessibilityShortDescription(This,shortDescription) (This)->lpVtbl->GetAccessibilityShortDescription(This,shortDescription) +#define IXpsOMCanvas_SetAccessibilityShortDescription(This,shortDescription) (This)->lpVtbl->SetAccessibilityShortDescription(This,shortDescription) +#define IXpsOMCanvas_GetAccessibilityLongDescription(This,longDescription) (This)->lpVtbl->GetAccessibilityLongDescription(This,longDescription) +#define IXpsOMCanvas_SetAccessibilityLongDescription(This,longDescription) (This)->lpVtbl->SetAccessibilityLongDescription(This,longDescription) +#define IXpsOMCanvas_GetDictionary(This,resourceDictionary) (This)->lpVtbl->GetDictionary(This,resourceDictionary) +#define IXpsOMCanvas_GetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->GetDictionaryLocal(This,resourceDictionary) +#define IXpsOMCanvas_SetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->SetDictionaryLocal(This,resourceDictionary) +#define IXpsOMCanvas_GetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMCanvas_SetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMCanvas_Clone(This,canvas) (This)->lpVtbl->Clone(This,canvas) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMCanvas_QueryInterface(IXpsOMCanvas* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMCanvas_AddRef(IXpsOMCanvas* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMCanvas_Release(IXpsOMCanvas* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMShareable methods ***/ +static inline HRESULT IXpsOMCanvas_GetOwner(IXpsOMCanvas* This,IUnknown **owner) { + return This->lpVtbl->GetOwner(This,owner); +} +static inline HRESULT IXpsOMCanvas_GetType(IXpsOMCanvas* This,XPS_OBJECT_TYPE *type) { + return This->lpVtbl->GetType(This,type); +} +/*** IXpsOMVisual methods ***/ +static inline HRESULT IXpsOMCanvas_GetTransform(IXpsOMCanvas* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransform(This,matrixTransform); +} +static inline HRESULT IXpsOMCanvas_GetTransformLocal(IXpsOMCanvas* This,IXpsOMMatrixTransform **matrixTransform) { + return This->lpVtbl->GetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMCanvas_SetTransformLocal(IXpsOMCanvas* This,IXpsOMMatrixTransform *matrixTransform) { + return This->lpVtbl->SetTransformLocal(This,matrixTransform); +} +static inline HRESULT IXpsOMCanvas_GetTransformLookup(IXpsOMCanvas* This,LPWSTR *key) { + return This->lpVtbl->GetTransformLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_SetTransformLookup(IXpsOMCanvas* This,LPCWSTR key) { + return This->lpVtbl->SetTransformLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_GetClipGeometry(IXpsOMCanvas* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometry(This,clipGeometry); +} +static inline HRESULT IXpsOMCanvas_GetClipGeometryLocal(IXpsOMCanvas* This,IXpsOMGeometry **clipGeometry) { + return This->lpVtbl->GetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMCanvas_SetClipGeometryLocal(IXpsOMCanvas* This,IXpsOMGeometry *clipGeometry) { + return This->lpVtbl->SetClipGeometryLocal(This,clipGeometry); +} +static inline HRESULT IXpsOMCanvas_GetClipGeometryLookup(IXpsOMCanvas* This,LPWSTR *key) { + return This->lpVtbl->GetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_SetClipGeometryLookup(IXpsOMCanvas* This,LPCWSTR key) { + return This->lpVtbl->SetClipGeometryLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_GetOpacity(IXpsOMCanvas* This,FLOAT *opacity) { + return This->lpVtbl->GetOpacity(This,opacity); +} +static inline HRESULT IXpsOMCanvas_SetOpacity(IXpsOMCanvas* This,FLOAT opacity) { + return This->lpVtbl->SetOpacity(This,opacity); +} +static inline HRESULT IXpsOMCanvas_GetOpacityMaskBrush(IXpsOMCanvas* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrush(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMCanvas_GetOpacityMaskBrushLocal(IXpsOMCanvas* This,IXpsOMBrush **opacityMaskBrush) { + return This->lpVtbl->GetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMCanvas_SetOpacityMaskBrushLocal(IXpsOMCanvas* This,IXpsOMBrush *opacityMaskBrush) { + return This->lpVtbl->SetOpacityMaskBrushLocal(This,opacityMaskBrush); +} +static inline HRESULT IXpsOMCanvas_GetOpacityMaskBrushLookup(IXpsOMCanvas* This,LPWSTR *key) { + return This->lpVtbl->GetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_SetOpacityMaskBrushLookup(IXpsOMCanvas* This,LPCWSTR key) { + return This->lpVtbl->SetOpacityMaskBrushLookup(This,key); +} +static inline HRESULT IXpsOMCanvas_GetName(IXpsOMCanvas* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMCanvas_SetName(IXpsOMCanvas* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMCanvas_GetIsHyperlinkTarget(IXpsOMCanvas* This,WINBOOL *isHyperlink) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMCanvas_SetIsHyperlinkTarget(IXpsOMCanvas* This,WINBOOL isHyperlink) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlink); +} +static inline HRESULT IXpsOMCanvas_GetHyperlinkNavigateUri(IXpsOMCanvas* This,IUri **hyperlinkUri) { + return This->lpVtbl->GetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMCanvas_SetHyperlinkNavigateUri(IXpsOMCanvas* This,IUri *hyperlinkUri) { + return This->lpVtbl->SetHyperlinkNavigateUri(This,hyperlinkUri); +} +static inline HRESULT IXpsOMCanvas_GetLanguage(IXpsOMCanvas* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMCanvas_SetLanguage(IXpsOMCanvas* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +/*** IXpsOMCanvas methods ***/ +static inline HRESULT IXpsOMCanvas_GetVisuals(IXpsOMCanvas* This,IXpsOMVisualCollection **visuals) { + return This->lpVtbl->GetVisuals(This,visuals); +} +static inline HRESULT IXpsOMCanvas_GetUseAliasedEdgeMode(IXpsOMCanvas* This,WINBOOL *useAliasedEdgeMode) { + return This->lpVtbl->GetUseAliasedEdgeMode(This,useAliasedEdgeMode); +} +static inline HRESULT IXpsOMCanvas_SetUseAliasedEdgeMode(IXpsOMCanvas* This,WINBOOL useAliasedEdgeMode) { + return This->lpVtbl->SetUseAliasedEdgeMode(This,useAliasedEdgeMode); +} +static inline HRESULT IXpsOMCanvas_GetAccessibilityShortDescription(IXpsOMCanvas* This,LPWSTR *shortDescription) { + return This->lpVtbl->GetAccessibilityShortDescription(This,shortDescription); +} +static inline HRESULT IXpsOMCanvas_SetAccessibilityShortDescription(IXpsOMCanvas* This,LPCWSTR shortDescription) { + return This->lpVtbl->SetAccessibilityShortDescription(This,shortDescription); +} +static inline HRESULT IXpsOMCanvas_GetAccessibilityLongDescription(IXpsOMCanvas* This,LPWSTR *longDescription) { + return This->lpVtbl->GetAccessibilityLongDescription(This,longDescription); +} +static inline HRESULT IXpsOMCanvas_SetAccessibilityLongDescription(IXpsOMCanvas* This,LPCWSTR longDescription) { + return This->lpVtbl->SetAccessibilityLongDescription(This,longDescription); +} +static inline HRESULT IXpsOMCanvas_GetDictionary(IXpsOMCanvas* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionary(This,resourceDictionary); +} +static inline HRESULT IXpsOMCanvas_GetDictionaryLocal(IXpsOMCanvas* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMCanvas_SetDictionaryLocal(IXpsOMCanvas* This,IXpsOMDictionary *resourceDictionary) { + return This->lpVtbl->SetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMCanvas_GetDictionaryResource(IXpsOMCanvas* This,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMCanvas_SetDictionaryResource(IXpsOMCanvas* This,IXpsOMRemoteDictionaryResource *remoteDictionaryResource) { + return This->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMCanvas_Clone(IXpsOMCanvas* This,IXpsOMCanvas **canvas) { + return This->lpVtbl->Clone(This,canvas); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMCanvas_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPage interface + */ +#ifndef __IXpsOMPage_INTERFACE_DEFINED__ +#define __IXpsOMPage_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPage, 0xd3e18888, 0xf120, 0x4fee, 0x8c,0x68, 0x35,0x29,0x6e,0xae,0x91,0xd4); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("d3e18888-f120-4fee-8c68-35296eae91d4") +IXpsOMPage : public IXpsOMPart +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMPageReference **pageReference) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVisuals( + IXpsOMVisualCollection **visuals) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPageDimensions( + XPS_SIZE *pageDimensions) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPageDimensions( + const XPS_SIZE *pageDimensions) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContentBox( + XPS_RECT *contentBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContentBox( + const XPS_RECT *contentBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetBleedBox( + XPS_RECT *bleedBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetBleedBox( + const XPS_RECT *bleedBox) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLanguage( + LPWSTR *language) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLanguage( + LPCWSTR language) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetName( + LPWSTR *name) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetName( + LPCWSTR name) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIsHyperlinkTarget( + WINBOOL *isHyperlinkTarget) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIsHyperlinkTarget( + WINBOOL isHyperlinkTarget) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionary( + IXpsOMDictionary **resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionaryLocal( + IXpsOMDictionary **resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDictionaryLocal( + IXpsOMDictionary *resourceDictionary) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDictionaryResource( + IXpsOMRemoteDictionaryResource **remoteDictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDictionaryResource( + IXpsOMRemoteDictionaryResource *remoteDictionaryResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE Write( + ISequentialStream *stream, + WINBOOL optimizeMarkupSize) = 0; + + virtual HRESULT STDMETHODCALLTYPE GenerateUnusedLookupKey( + XPS_OBJECT_TYPE type, + LPWSTR *key) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMPage **page) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPage, 0xd3e18888, 0xf120, 0x4fee, 0x8c,0x68, 0x35,0x29,0x6e,0xae,0x91,0xd4) +#endif +#else +typedef struct IXpsOMPageVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPage *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPage *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPage *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMPage *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMPage *This, + IOpcPartUri *partUri); + + /*** IXpsOMPage methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMPage *This, + IXpsOMPageReference **pageReference); + + HRESULT (STDMETHODCALLTYPE *GetVisuals)( + IXpsOMPage *This, + IXpsOMVisualCollection **visuals); + + HRESULT (STDMETHODCALLTYPE *GetPageDimensions)( + IXpsOMPage *This, + XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *SetPageDimensions)( + IXpsOMPage *This, + const XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *GetContentBox)( + IXpsOMPage *This, + XPS_RECT *contentBox); + + HRESULT (STDMETHODCALLTYPE *SetContentBox)( + IXpsOMPage *This, + const XPS_RECT *contentBox); + + HRESULT (STDMETHODCALLTYPE *GetBleedBox)( + IXpsOMPage *This, + XPS_RECT *bleedBox); + + HRESULT (STDMETHODCALLTYPE *SetBleedBox)( + IXpsOMPage *This, + const XPS_RECT *bleedBox); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMPage *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMPage *This, + LPCWSTR language); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMPage *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMPage *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMPage *This, + WINBOOL *isHyperlinkTarget); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMPage *This, + WINBOOL isHyperlinkTarget); + + HRESULT (STDMETHODCALLTYPE *GetDictionary)( + IXpsOMPage *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryLocal)( + IXpsOMPage *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryLocal)( + IXpsOMPage *This, + IXpsOMDictionary *resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryResource)( + IXpsOMPage *This, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryResource)( + IXpsOMPage *This, + IXpsOMRemoteDictionaryResource *remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *Write)( + IXpsOMPage *This, + ISequentialStream *stream, + WINBOOL optimizeMarkupSize); + + HRESULT (STDMETHODCALLTYPE *GenerateUnusedLookupKey)( + IXpsOMPage *This, + XPS_OBJECT_TYPE type, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMPage *This, + IXpsOMPage **page); + + END_INTERFACE +} IXpsOMPageVtbl; + +interface IXpsOMPage { + CONST_VTBL IXpsOMPageVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPage_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPage_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMPage_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMPage_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMPage methods ***/ +#define IXpsOMPage_GetOwner(This,pageReference) (This)->lpVtbl->GetOwner(This,pageReference) +#define IXpsOMPage_GetVisuals(This,visuals) (This)->lpVtbl->GetVisuals(This,visuals) +#define IXpsOMPage_GetPageDimensions(This,pageDimensions) (This)->lpVtbl->GetPageDimensions(This,pageDimensions) +#define IXpsOMPage_SetPageDimensions(This,pageDimensions) (This)->lpVtbl->SetPageDimensions(This,pageDimensions) +#define IXpsOMPage_GetContentBox(This,contentBox) (This)->lpVtbl->GetContentBox(This,contentBox) +#define IXpsOMPage_SetContentBox(This,contentBox) (This)->lpVtbl->SetContentBox(This,contentBox) +#define IXpsOMPage_GetBleedBox(This,bleedBox) (This)->lpVtbl->GetBleedBox(This,bleedBox) +#define IXpsOMPage_SetBleedBox(This,bleedBox) (This)->lpVtbl->SetBleedBox(This,bleedBox) +#define IXpsOMPage_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMPage_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +#define IXpsOMPage_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMPage_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMPage_GetIsHyperlinkTarget(This,isHyperlinkTarget) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlinkTarget) +#define IXpsOMPage_SetIsHyperlinkTarget(This,isHyperlinkTarget) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlinkTarget) +#define IXpsOMPage_GetDictionary(This,resourceDictionary) (This)->lpVtbl->GetDictionary(This,resourceDictionary) +#define IXpsOMPage_GetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->GetDictionaryLocal(This,resourceDictionary) +#define IXpsOMPage_SetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->SetDictionaryLocal(This,resourceDictionary) +#define IXpsOMPage_GetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMPage_SetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMPage_Write(This,stream,optimizeMarkupSize) (This)->lpVtbl->Write(This,stream,optimizeMarkupSize) +#define IXpsOMPage_GenerateUnusedLookupKey(This,type,key) (This)->lpVtbl->GenerateUnusedLookupKey(This,type,key) +#define IXpsOMPage_Clone(This,page) (This)->lpVtbl->Clone(This,page) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPage_QueryInterface(IXpsOMPage* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPage_AddRef(IXpsOMPage* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPage_Release(IXpsOMPage* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMPage_GetPartName(IXpsOMPage* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMPage_SetPartName(IXpsOMPage* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMPage methods ***/ +static inline HRESULT IXpsOMPage_GetOwner(IXpsOMPage* This,IXpsOMPageReference **pageReference) { + return This->lpVtbl->GetOwner(This,pageReference); +} +static inline HRESULT IXpsOMPage_GetVisuals(IXpsOMPage* This,IXpsOMVisualCollection **visuals) { + return This->lpVtbl->GetVisuals(This,visuals); +} +static inline HRESULT IXpsOMPage_GetPageDimensions(IXpsOMPage* This,XPS_SIZE *pageDimensions) { + return This->lpVtbl->GetPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPage_SetPageDimensions(IXpsOMPage* This,const XPS_SIZE *pageDimensions) { + return This->lpVtbl->SetPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPage_GetContentBox(IXpsOMPage* This,XPS_RECT *contentBox) { + return This->lpVtbl->GetContentBox(This,contentBox); +} +static inline HRESULT IXpsOMPage_SetContentBox(IXpsOMPage* This,const XPS_RECT *contentBox) { + return This->lpVtbl->SetContentBox(This,contentBox); +} +static inline HRESULT IXpsOMPage_GetBleedBox(IXpsOMPage* This,XPS_RECT *bleedBox) { + return This->lpVtbl->GetBleedBox(This,bleedBox); +} +static inline HRESULT IXpsOMPage_SetBleedBox(IXpsOMPage* This,const XPS_RECT *bleedBox) { + return This->lpVtbl->SetBleedBox(This,bleedBox); +} +static inline HRESULT IXpsOMPage_GetLanguage(IXpsOMPage* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMPage_SetLanguage(IXpsOMPage* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +static inline HRESULT IXpsOMPage_GetName(IXpsOMPage* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMPage_SetName(IXpsOMPage* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMPage_GetIsHyperlinkTarget(IXpsOMPage* This,WINBOOL *isHyperlinkTarget) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlinkTarget); +} +static inline HRESULT IXpsOMPage_SetIsHyperlinkTarget(IXpsOMPage* This,WINBOOL isHyperlinkTarget) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlinkTarget); +} +static inline HRESULT IXpsOMPage_GetDictionary(IXpsOMPage* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionary(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage_GetDictionaryLocal(IXpsOMPage* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage_SetDictionaryLocal(IXpsOMPage* This,IXpsOMDictionary *resourceDictionary) { + return This->lpVtbl->SetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage_GetDictionaryResource(IXpsOMPage* This,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMPage_SetDictionaryResource(IXpsOMPage* This,IXpsOMRemoteDictionaryResource *remoteDictionaryResource) { + return This->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMPage_Write(IXpsOMPage* This,ISequentialStream *stream,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->Write(This,stream,optimizeMarkupSize); +} +static inline HRESULT IXpsOMPage_GenerateUnusedLookupKey(IXpsOMPage* This,XPS_OBJECT_TYPE type,LPWSTR *key) { + return This->lpVtbl->GenerateUnusedLookupKey(This,type,key); +} +static inline HRESULT IXpsOMPage_Clone(IXpsOMPage* This,IXpsOMPage **page) { + return This->lpVtbl->Clone(This,page); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPage_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDocument interface + */ +#ifndef __IXpsOMDocument_INTERFACE_DEFINED__ +#define __IXpsOMDocument_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDocument, 0x2c2c94cb, 0xac5f, 0x4254, 0x8e,0xe9, 0x23,0x94,0x83,0x09,0xd9,0xf0); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2c2c94cb-ac5f-4254-8ee9-23948309d9f0") +IXpsOMDocument : public IXpsOMPart +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMDocumentSequence **documentSequence) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPageReferences( + IXpsOMPageReferenceCollection **pageReferences) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrintTicketResource( + IXpsOMPrintTicketResource **printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPrintTicketResource( + IXpsOMPrintTicketResource *printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentStructureResource( + IXpsOMDocumentStructureResource **documentStructureResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDocumentStructureResource( + IXpsOMDocumentStructureResource *documentStructureResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSignatureBlockResources( + IXpsOMSignatureBlockResourceCollection **signatureBlockResources) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMDocument **document) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDocument, 0x2c2c94cb, 0xac5f, 0x4254, 0x8e,0xe9, 0x23,0x94,0x83,0x09,0xd9,0xf0) +#endif +#else +typedef struct IXpsOMDocumentVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDocument *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDocument *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDocument *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMDocument *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMDocument *This, + IOpcPartUri *partUri); + + /*** IXpsOMDocument methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMDocument *This, + IXpsOMDocumentSequence **documentSequence); + + HRESULT (STDMETHODCALLTYPE *GetPageReferences)( + IXpsOMDocument *This, + IXpsOMPageReferenceCollection **pageReferences); + + HRESULT (STDMETHODCALLTYPE *GetPrintTicketResource)( + IXpsOMDocument *This, + IXpsOMPrintTicketResource **printTicketResource); + + HRESULT (STDMETHODCALLTYPE *SetPrintTicketResource)( + IXpsOMDocument *This, + IXpsOMPrintTicketResource *printTicketResource); + + HRESULT (STDMETHODCALLTYPE *GetDocumentStructureResource)( + IXpsOMDocument *This, + IXpsOMDocumentStructureResource **documentStructureResource); + + HRESULT (STDMETHODCALLTYPE *SetDocumentStructureResource)( + IXpsOMDocument *This, + IXpsOMDocumentStructureResource *documentStructureResource); + + HRESULT (STDMETHODCALLTYPE *GetSignatureBlockResources)( + IXpsOMDocument *This, + IXpsOMSignatureBlockResourceCollection **signatureBlockResources); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMDocument *This, + IXpsOMDocument **document); + + END_INTERFACE +} IXpsOMDocumentVtbl; + +interface IXpsOMDocument { + CONST_VTBL IXpsOMDocumentVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDocument_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDocument_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDocument_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMDocument_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMDocument_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMDocument methods ***/ +#define IXpsOMDocument_GetOwner(This,documentSequence) (This)->lpVtbl->GetOwner(This,documentSequence) +#define IXpsOMDocument_GetPageReferences(This,pageReferences) (This)->lpVtbl->GetPageReferences(This,pageReferences) +#define IXpsOMDocument_GetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->GetPrintTicketResource(This,printTicketResource) +#define IXpsOMDocument_SetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->SetPrintTicketResource(This,printTicketResource) +#define IXpsOMDocument_GetDocumentStructureResource(This,documentStructureResource) (This)->lpVtbl->GetDocumentStructureResource(This,documentStructureResource) +#define IXpsOMDocument_SetDocumentStructureResource(This,documentStructureResource) (This)->lpVtbl->SetDocumentStructureResource(This,documentStructureResource) +#define IXpsOMDocument_GetSignatureBlockResources(This,signatureBlockResources) (This)->lpVtbl->GetSignatureBlockResources(This,signatureBlockResources) +#define IXpsOMDocument_Clone(This,document) (This)->lpVtbl->Clone(This,document) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDocument_QueryInterface(IXpsOMDocument* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDocument_AddRef(IXpsOMDocument* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDocument_Release(IXpsOMDocument* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMDocument_GetPartName(IXpsOMDocument* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMDocument_SetPartName(IXpsOMDocument* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMDocument methods ***/ +static inline HRESULT IXpsOMDocument_GetOwner(IXpsOMDocument* This,IXpsOMDocumentSequence **documentSequence) { + return This->lpVtbl->GetOwner(This,documentSequence); +} +static inline HRESULT IXpsOMDocument_GetPageReferences(IXpsOMDocument* This,IXpsOMPageReferenceCollection **pageReferences) { + return This->lpVtbl->GetPageReferences(This,pageReferences); +} +static inline HRESULT IXpsOMDocument_GetPrintTicketResource(IXpsOMDocument* This,IXpsOMPrintTicketResource **printTicketResource) { + return This->lpVtbl->GetPrintTicketResource(This,printTicketResource); +} +static inline HRESULT IXpsOMDocument_SetPrintTicketResource(IXpsOMDocument* This,IXpsOMPrintTicketResource *printTicketResource) { + return This->lpVtbl->SetPrintTicketResource(This,printTicketResource); +} +static inline HRESULT IXpsOMDocument_GetDocumentStructureResource(IXpsOMDocument* This,IXpsOMDocumentStructureResource **documentStructureResource) { + return This->lpVtbl->GetDocumentStructureResource(This,documentStructureResource); +} +static inline HRESULT IXpsOMDocument_SetDocumentStructureResource(IXpsOMDocument* This,IXpsOMDocumentStructureResource *documentStructureResource) { + return This->lpVtbl->SetDocumentStructureResource(This,documentStructureResource); +} +static inline HRESULT IXpsOMDocument_GetSignatureBlockResources(IXpsOMDocument* This,IXpsOMSignatureBlockResourceCollection **signatureBlockResources) { + return This->lpVtbl->GetSignatureBlockResources(This,signatureBlockResources); +} +static inline HRESULT IXpsOMDocument_Clone(IXpsOMDocument* This,IXpsOMDocument **document) { + return This->lpVtbl->Clone(This,document); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDocument_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMDocumentSequence interface + */ +#ifndef __IXpsOMDocumentSequence_INTERFACE_DEFINED__ +#define __IXpsOMDocumentSequence_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMDocumentSequence, 0x56492eb4, 0xd8d5, 0x425e, 0x82,0x56, 0x4c,0x2b,0x64,0xad,0x02,0x64); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("56492eb4-d8d5-425e-8256-4c2b64ad0264") +IXpsOMDocumentSequence : public IXpsOMPart +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMPackage **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocuments( + IXpsOMDocumentCollection **documents) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetPrintTicketResource( + IXpsOMPrintTicketResource **printTicketResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetPrintTicketResource( + IXpsOMPrintTicketResource *printTicketResource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMDocumentSequence, 0x56492eb4, 0xd8d5, 0x425e, 0x82,0x56, 0x4c,0x2b,0x64,0xad,0x02,0x64) +#endif +#else +typedef struct IXpsOMDocumentSequenceVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMDocumentSequence *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMDocumentSequence *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMDocumentSequence *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMDocumentSequence *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMDocumentSequence *This, + IOpcPartUri *partUri); + + /*** IXpsOMDocumentSequence methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMDocumentSequence *This, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *GetDocuments)( + IXpsOMDocumentSequence *This, + IXpsOMDocumentCollection **documents); + + HRESULT (STDMETHODCALLTYPE *GetPrintTicketResource)( + IXpsOMDocumentSequence *This, + IXpsOMPrintTicketResource **printTicketResource); + + HRESULT (STDMETHODCALLTYPE *SetPrintTicketResource)( + IXpsOMDocumentSequence *This, + IXpsOMPrintTicketResource *printTicketResource); + + END_INTERFACE +} IXpsOMDocumentSequenceVtbl; + +interface IXpsOMDocumentSequence { + CONST_VTBL IXpsOMDocumentSequenceVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMDocumentSequence_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMDocumentSequence_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMDocumentSequence_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMDocumentSequence_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMDocumentSequence_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMDocumentSequence methods ***/ +#define IXpsOMDocumentSequence_GetOwner(This,package) (This)->lpVtbl->GetOwner(This,package) +#define IXpsOMDocumentSequence_GetDocuments(This,documents) (This)->lpVtbl->GetDocuments(This,documents) +#define IXpsOMDocumentSequence_GetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->GetPrintTicketResource(This,printTicketResource) +#define IXpsOMDocumentSequence_SetPrintTicketResource(This,printTicketResource) (This)->lpVtbl->SetPrintTicketResource(This,printTicketResource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMDocumentSequence_QueryInterface(IXpsOMDocumentSequence* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMDocumentSequence_AddRef(IXpsOMDocumentSequence* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMDocumentSequence_Release(IXpsOMDocumentSequence* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMDocumentSequence_GetPartName(IXpsOMDocumentSequence* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMDocumentSequence_SetPartName(IXpsOMDocumentSequence* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMDocumentSequence methods ***/ +static inline HRESULT IXpsOMDocumentSequence_GetOwner(IXpsOMDocumentSequence* This,IXpsOMPackage **package) { + return This->lpVtbl->GetOwner(This,package); +} +static inline HRESULT IXpsOMDocumentSequence_GetDocuments(IXpsOMDocumentSequence* This,IXpsOMDocumentCollection **documents) { + return This->lpVtbl->GetDocuments(This,documents); +} +static inline HRESULT IXpsOMDocumentSequence_GetPrintTicketResource(IXpsOMDocumentSequence* This,IXpsOMPrintTicketResource **printTicketResource) { + return This->lpVtbl->GetPrintTicketResource(This,printTicketResource); +} +static inline HRESULT IXpsOMDocumentSequence_SetPrintTicketResource(IXpsOMDocumentSequence* This,IXpsOMPrintTicketResource *printTicketResource) { + return This->lpVtbl->SetPrintTicketResource(This,printTicketResource); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMDocumentSequence_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMCoreProperties interface + */ +#ifndef __IXpsOMCoreProperties_INTERFACE_DEFINED__ +#define __IXpsOMCoreProperties_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMCoreProperties, 0x3340fe8f, 0x4027, 0x4aa1, 0x8f,0x5f, 0xd3,0x5a,0xe4,0x5f,0xe5,0x97); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3340fe8f-4027-4aa1-8f5f-d35ae45fe597") +IXpsOMCoreProperties : public IXpsOMPart +{ + virtual HRESULT STDMETHODCALLTYPE GetOwner( + IXpsOMPackage **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCategory( + LPWSTR *category) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCategory( + LPCWSTR category) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContentStatus( + LPWSTR *contentStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContentStatus( + LPCWSTR contentStatus) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetContentType( + LPWSTR *contentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetContentType( + LPCWSTR contentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCreated( + SYSTEMTIME *created) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCreated( + const SYSTEMTIME *created) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetCreator( + LPWSTR *creator) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetCreator( + LPCWSTR creator) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDescription( + LPWSTR *description) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetDescription( + LPCWSTR description) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetIdentifier( + LPWSTR *identifier) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetIdentifier( + LPCWSTR identifier) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetKeywords( + LPWSTR *keywords) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetKeywords( + LPCWSTR keywords) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLanguage( + LPWSTR *language) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLanguage( + LPCWSTR language) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastModifiedBy( + LPWSTR *lastModifiedBy) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLastModifiedBy( + LPCWSTR lastModifiedBy) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetLastPrinted( + SYSTEMTIME *lastPrinted) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetLastPrinted( + const SYSTEMTIME *lastPrinted) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetModified( + SYSTEMTIME *modified) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetModified( + const SYSTEMTIME *modified) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetRevision( + LPWSTR *revision) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetRevision( + LPCWSTR revision) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetSubject( + LPWSTR *subject) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetSubject( + LPCWSTR subject) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetTitle( + LPWSTR *title) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetTitle( + LPCWSTR title) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetVersion( + LPWSTR *version) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetVersion( + LPCWSTR version) = 0; + + virtual HRESULT STDMETHODCALLTYPE Clone( + IXpsOMCoreProperties **coreProperties) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMCoreProperties, 0x3340fe8f, 0x4027, 0x4aa1, 0x8f,0x5f, 0xd3,0x5a,0xe4,0x5f,0xe5,0x97) +#endif +#else +typedef struct IXpsOMCorePropertiesVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMCoreProperties *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMCoreProperties *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMCoreProperties *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMCoreProperties *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMCoreProperties *This, + IOpcPartUri *partUri); + + /*** IXpsOMCoreProperties methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMCoreProperties *This, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *GetCategory)( + IXpsOMCoreProperties *This, + LPWSTR *category); + + HRESULT (STDMETHODCALLTYPE *SetCategory)( + IXpsOMCoreProperties *This, + LPCWSTR category); + + HRESULT (STDMETHODCALLTYPE *GetContentStatus)( + IXpsOMCoreProperties *This, + LPWSTR *contentStatus); + + HRESULT (STDMETHODCALLTYPE *SetContentStatus)( + IXpsOMCoreProperties *This, + LPCWSTR contentStatus); + + HRESULT (STDMETHODCALLTYPE *GetContentType)( + IXpsOMCoreProperties *This, + LPWSTR *contentType); + + HRESULT (STDMETHODCALLTYPE *SetContentType)( + IXpsOMCoreProperties *This, + LPCWSTR contentType); + + HRESULT (STDMETHODCALLTYPE *GetCreated)( + IXpsOMCoreProperties *This, + SYSTEMTIME *created); + + HRESULT (STDMETHODCALLTYPE *SetCreated)( + IXpsOMCoreProperties *This, + const SYSTEMTIME *created); + + HRESULT (STDMETHODCALLTYPE *GetCreator)( + IXpsOMCoreProperties *This, + LPWSTR *creator); + + HRESULT (STDMETHODCALLTYPE *SetCreator)( + IXpsOMCoreProperties *This, + LPCWSTR creator); + + HRESULT (STDMETHODCALLTYPE *GetDescription)( + IXpsOMCoreProperties *This, + LPWSTR *description); + + HRESULT (STDMETHODCALLTYPE *SetDescription)( + IXpsOMCoreProperties *This, + LPCWSTR description); + + HRESULT (STDMETHODCALLTYPE *GetIdentifier)( + IXpsOMCoreProperties *This, + LPWSTR *identifier); + + HRESULT (STDMETHODCALLTYPE *SetIdentifier)( + IXpsOMCoreProperties *This, + LPCWSTR identifier); + + HRESULT (STDMETHODCALLTYPE *GetKeywords)( + IXpsOMCoreProperties *This, + LPWSTR *keywords); + + HRESULT (STDMETHODCALLTYPE *SetKeywords)( + IXpsOMCoreProperties *This, + LPCWSTR keywords); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMCoreProperties *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMCoreProperties *This, + LPCWSTR language); + + HRESULT (STDMETHODCALLTYPE *GetLastModifiedBy)( + IXpsOMCoreProperties *This, + LPWSTR *lastModifiedBy); + + HRESULT (STDMETHODCALLTYPE *SetLastModifiedBy)( + IXpsOMCoreProperties *This, + LPCWSTR lastModifiedBy); + + HRESULT (STDMETHODCALLTYPE *GetLastPrinted)( + IXpsOMCoreProperties *This, + SYSTEMTIME *lastPrinted); + + HRESULT (STDMETHODCALLTYPE *SetLastPrinted)( + IXpsOMCoreProperties *This, + const SYSTEMTIME *lastPrinted); + + HRESULT (STDMETHODCALLTYPE *GetModified)( + IXpsOMCoreProperties *This, + SYSTEMTIME *modified); + + HRESULT (STDMETHODCALLTYPE *SetModified)( + IXpsOMCoreProperties *This, + const SYSTEMTIME *modified); + + HRESULT (STDMETHODCALLTYPE *GetRevision)( + IXpsOMCoreProperties *This, + LPWSTR *revision); + + HRESULT (STDMETHODCALLTYPE *SetRevision)( + IXpsOMCoreProperties *This, + LPCWSTR revision); + + HRESULT (STDMETHODCALLTYPE *GetSubject)( + IXpsOMCoreProperties *This, + LPWSTR *subject); + + HRESULT (STDMETHODCALLTYPE *SetSubject)( + IXpsOMCoreProperties *This, + LPCWSTR subject); + + HRESULT (STDMETHODCALLTYPE *GetTitle)( + IXpsOMCoreProperties *This, + LPWSTR *title); + + HRESULT (STDMETHODCALLTYPE *SetTitle)( + IXpsOMCoreProperties *This, + LPCWSTR title); + + HRESULT (STDMETHODCALLTYPE *GetVersion)( + IXpsOMCoreProperties *This, + LPWSTR *version); + + HRESULT (STDMETHODCALLTYPE *SetVersion)( + IXpsOMCoreProperties *This, + LPCWSTR version); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMCoreProperties *This, + IXpsOMCoreProperties **coreProperties); + + END_INTERFACE +} IXpsOMCorePropertiesVtbl; + +interface IXpsOMCoreProperties { + CONST_VTBL IXpsOMCorePropertiesVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMCoreProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMCoreProperties_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMCoreProperties_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMCoreProperties_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMCoreProperties_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMCoreProperties methods ***/ +#define IXpsOMCoreProperties_GetOwner(This,package) (This)->lpVtbl->GetOwner(This,package) +#define IXpsOMCoreProperties_GetCategory(This,category) (This)->lpVtbl->GetCategory(This,category) +#define IXpsOMCoreProperties_SetCategory(This,category) (This)->lpVtbl->SetCategory(This,category) +#define IXpsOMCoreProperties_GetContentStatus(This,contentStatus) (This)->lpVtbl->GetContentStatus(This,contentStatus) +#define IXpsOMCoreProperties_SetContentStatus(This,contentStatus) (This)->lpVtbl->SetContentStatus(This,contentStatus) +#define IXpsOMCoreProperties_GetContentType(This,contentType) (This)->lpVtbl->GetContentType(This,contentType) +#define IXpsOMCoreProperties_SetContentType(This,contentType) (This)->lpVtbl->SetContentType(This,contentType) +#define IXpsOMCoreProperties_GetCreated(This,created) (This)->lpVtbl->GetCreated(This,created) +#define IXpsOMCoreProperties_SetCreated(This,created) (This)->lpVtbl->SetCreated(This,created) +#define IXpsOMCoreProperties_GetCreator(This,creator) (This)->lpVtbl->GetCreator(This,creator) +#define IXpsOMCoreProperties_SetCreator(This,creator) (This)->lpVtbl->SetCreator(This,creator) +#define IXpsOMCoreProperties_GetDescription(This,description) (This)->lpVtbl->GetDescription(This,description) +#define IXpsOMCoreProperties_SetDescription(This,description) (This)->lpVtbl->SetDescription(This,description) +#define IXpsOMCoreProperties_GetIdentifier(This,identifier) (This)->lpVtbl->GetIdentifier(This,identifier) +#define IXpsOMCoreProperties_SetIdentifier(This,identifier) (This)->lpVtbl->SetIdentifier(This,identifier) +#define IXpsOMCoreProperties_GetKeywords(This,keywords) (This)->lpVtbl->GetKeywords(This,keywords) +#define IXpsOMCoreProperties_SetKeywords(This,keywords) (This)->lpVtbl->SetKeywords(This,keywords) +#define IXpsOMCoreProperties_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMCoreProperties_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +#define IXpsOMCoreProperties_GetLastModifiedBy(This,lastModifiedBy) (This)->lpVtbl->GetLastModifiedBy(This,lastModifiedBy) +#define IXpsOMCoreProperties_SetLastModifiedBy(This,lastModifiedBy) (This)->lpVtbl->SetLastModifiedBy(This,lastModifiedBy) +#define IXpsOMCoreProperties_GetLastPrinted(This,lastPrinted) (This)->lpVtbl->GetLastPrinted(This,lastPrinted) +#define IXpsOMCoreProperties_SetLastPrinted(This,lastPrinted) (This)->lpVtbl->SetLastPrinted(This,lastPrinted) +#define IXpsOMCoreProperties_GetModified(This,modified) (This)->lpVtbl->GetModified(This,modified) +#define IXpsOMCoreProperties_SetModified(This,modified) (This)->lpVtbl->SetModified(This,modified) +#define IXpsOMCoreProperties_GetRevision(This,revision) (This)->lpVtbl->GetRevision(This,revision) +#define IXpsOMCoreProperties_SetRevision(This,revision) (This)->lpVtbl->SetRevision(This,revision) +#define IXpsOMCoreProperties_GetSubject(This,subject) (This)->lpVtbl->GetSubject(This,subject) +#define IXpsOMCoreProperties_SetSubject(This,subject) (This)->lpVtbl->SetSubject(This,subject) +#define IXpsOMCoreProperties_GetTitle(This,title) (This)->lpVtbl->GetTitle(This,title) +#define IXpsOMCoreProperties_SetTitle(This,title) (This)->lpVtbl->SetTitle(This,title) +#define IXpsOMCoreProperties_GetVersion(This,version) (This)->lpVtbl->GetVersion(This,version) +#define IXpsOMCoreProperties_SetVersion(This,version) (This)->lpVtbl->SetVersion(This,version) +#define IXpsOMCoreProperties_Clone(This,coreProperties) (This)->lpVtbl->Clone(This,coreProperties) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMCoreProperties_QueryInterface(IXpsOMCoreProperties* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMCoreProperties_AddRef(IXpsOMCoreProperties* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMCoreProperties_Release(IXpsOMCoreProperties* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMCoreProperties_GetPartName(IXpsOMCoreProperties* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMCoreProperties_SetPartName(IXpsOMCoreProperties* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMCoreProperties methods ***/ +static inline HRESULT IXpsOMCoreProperties_GetOwner(IXpsOMCoreProperties* This,IXpsOMPackage **package) { + return This->lpVtbl->GetOwner(This,package); +} +static inline HRESULT IXpsOMCoreProperties_GetCategory(IXpsOMCoreProperties* This,LPWSTR *category) { + return This->lpVtbl->GetCategory(This,category); +} +static inline HRESULT IXpsOMCoreProperties_SetCategory(IXpsOMCoreProperties* This,LPCWSTR category) { + return This->lpVtbl->SetCategory(This,category); +} +static inline HRESULT IXpsOMCoreProperties_GetContentStatus(IXpsOMCoreProperties* This,LPWSTR *contentStatus) { + return This->lpVtbl->GetContentStatus(This,contentStatus); +} +static inline HRESULT IXpsOMCoreProperties_SetContentStatus(IXpsOMCoreProperties* This,LPCWSTR contentStatus) { + return This->lpVtbl->SetContentStatus(This,contentStatus); +} +static inline HRESULT IXpsOMCoreProperties_GetContentType(IXpsOMCoreProperties* This,LPWSTR *contentType) { + return This->lpVtbl->GetContentType(This,contentType); +} +static inline HRESULT IXpsOMCoreProperties_SetContentType(IXpsOMCoreProperties* This,LPCWSTR contentType) { + return This->lpVtbl->SetContentType(This,contentType); +} +static inline HRESULT IXpsOMCoreProperties_GetCreated(IXpsOMCoreProperties* This,SYSTEMTIME *created) { + return This->lpVtbl->GetCreated(This,created); +} +static inline HRESULT IXpsOMCoreProperties_SetCreated(IXpsOMCoreProperties* This,const SYSTEMTIME *created) { + return This->lpVtbl->SetCreated(This,created); +} +static inline HRESULT IXpsOMCoreProperties_GetCreator(IXpsOMCoreProperties* This,LPWSTR *creator) { + return This->lpVtbl->GetCreator(This,creator); +} +static inline HRESULT IXpsOMCoreProperties_SetCreator(IXpsOMCoreProperties* This,LPCWSTR creator) { + return This->lpVtbl->SetCreator(This,creator); +} +static inline HRESULT IXpsOMCoreProperties_GetDescription(IXpsOMCoreProperties* This,LPWSTR *description) { + return This->lpVtbl->GetDescription(This,description); +} +static inline HRESULT IXpsOMCoreProperties_SetDescription(IXpsOMCoreProperties* This,LPCWSTR description) { + return This->lpVtbl->SetDescription(This,description); +} +static inline HRESULT IXpsOMCoreProperties_GetIdentifier(IXpsOMCoreProperties* This,LPWSTR *identifier) { + return This->lpVtbl->GetIdentifier(This,identifier); +} +static inline HRESULT IXpsOMCoreProperties_SetIdentifier(IXpsOMCoreProperties* This,LPCWSTR identifier) { + return This->lpVtbl->SetIdentifier(This,identifier); +} +static inline HRESULT IXpsOMCoreProperties_GetKeywords(IXpsOMCoreProperties* This,LPWSTR *keywords) { + return This->lpVtbl->GetKeywords(This,keywords); +} +static inline HRESULT IXpsOMCoreProperties_SetKeywords(IXpsOMCoreProperties* This,LPCWSTR keywords) { + return This->lpVtbl->SetKeywords(This,keywords); +} +static inline HRESULT IXpsOMCoreProperties_GetLanguage(IXpsOMCoreProperties* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMCoreProperties_SetLanguage(IXpsOMCoreProperties* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +static inline HRESULT IXpsOMCoreProperties_GetLastModifiedBy(IXpsOMCoreProperties* This,LPWSTR *lastModifiedBy) { + return This->lpVtbl->GetLastModifiedBy(This,lastModifiedBy); +} +static inline HRESULT IXpsOMCoreProperties_SetLastModifiedBy(IXpsOMCoreProperties* This,LPCWSTR lastModifiedBy) { + return This->lpVtbl->SetLastModifiedBy(This,lastModifiedBy); +} +static inline HRESULT IXpsOMCoreProperties_GetLastPrinted(IXpsOMCoreProperties* This,SYSTEMTIME *lastPrinted) { + return This->lpVtbl->GetLastPrinted(This,lastPrinted); +} +static inline HRESULT IXpsOMCoreProperties_SetLastPrinted(IXpsOMCoreProperties* This,const SYSTEMTIME *lastPrinted) { + return This->lpVtbl->SetLastPrinted(This,lastPrinted); +} +static inline HRESULT IXpsOMCoreProperties_GetModified(IXpsOMCoreProperties* This,SYSTEMTIME *modified) { + return This->lpVtbl->GetModified(This,modified); +} +static inline HRESULT IXpsOMCoreProperties_SetModified(IXpsOMCoreProperties* This,const SYSTEMTIME *modified) { + return This->lpVtbl->SetModified(This,modified); +} +static inline HRESULT IXpsOMCoreProperties_GetRevision(IXpsOMCoreProperties* This,LPWSTR *revision) { + return This->lpVtbl->GetRevision(This,revision); +} +static inline HRESULT IXpsOMCoreProperties_SetRevision(IXpsOMCoreProperties* This,LPCWSTR revision) { + return This->lpVtbl->SetRevision(This,revision); +} +static inline HRESULT IXpsOMCoreProperties_GetSubject(IXpsOMCoreProperties* This,LPWSTR *subject) { + return This->lpVtbl->GetSubject(This,subject); +} +static inline HRESULT IXpsOMCoreProperties_SetSubject(IXpsOMCoreProperties* This,LPCWSTR subject) { + return This->lpVtbl->SetSubject(This,subject); +} +static inline HRESULT IXpsOMCoreProperties_GetTitle(IXpsOMCoreProperties* This,LPWSTR *title) { + return This->lpVtbl->GetTitle(This,title); +} +static inline HRESULT IXpsOMCoreProperties_SetTitle(IXpsOMCoreProperties* This,LPCWSTR title) { + return This->lpVtbl->SetTitle(This,title); +} +static inline HRESULT IXpsOMCoreProperties_GetVersion(IXpsOMCoreProperties* This,LPWSTR *version) { + return This->lpVtbl->GetVersion(This,version); +} +static inline HRESULT IXpsOMCoreProperties_SetVersion(IXpsOMCoreProperties* This,LPCWSTR version) { + return This->lpVtbl->SetVersion(This,version); +} +static inline HRESULT IXpsOMCoreProperties_Clone(IXpsOMCoreProperties* This,IXpsOMCoreProperties **coreProperties) { + return This->lpVtbl->Clone(This,coreProperties); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMCoreProperties_INTERFACE_DEFINED__ */ + +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * IXpsOMThumbnailGenerator interface + */ +#ifndef __IXpsOMThumbnailGenerator_INTERFACE_DEFINED__ +#define __IXpsOMThumbnailGenerator_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMThumbnailGenerator, 0x15b873d5, 0x1971, 0x41e8, 0x83,0xa3, 0x65,0x78,0x40,0x30,0x64,0xc7); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("15b873d5-1971-41e8-83a3-6578403064c7") +IXpsOMThumbnailGenerator : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GenerateThumbnail( + IXpsOMPage *page, + XPS_IMAGE_TYPE thumbnailType, + XPS_THUMBNAIL_SIZE thumbnailSize, + IOpcPartUri *imageResourcePartName, + IXpsOMImageResource **imageResource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMThumbnailGenerator, 0x15b873d5, 0x1971, 0x41e8, 0x83,0xa3, 0x65,0x78,0x40,0x30,0x64,0xc7) +#endif +#else +typedef struct IXpsOMThumbnailGeneratorVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMThumbnailGenerator *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMThumbnailGenerator *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMThumbnailGenerator *This); + + /*** IXpsOMThumbnailGenerator methods ***/ + HRESULT (STDMETHODCALLTYPE *GenerateThumbnail)( + IXpsOMThumbnailGenerator *This, + IXpsOMPage *page, + XPS_IMAGE_TYPE thumbnailType, + XPS_THUMBNAIL_SIZE thumbnailSize, + IOpcPartUri *imageResourcePartName, + IXpsOMImageResource **imageResource); + + END_INTERFACE +} IXpsOMThumbnailGeneratorVtbl; + +interface IXpsOMThumbnailGenerator { + CONST_VTBL IXpsOMThumbnailGeneratorVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMThumbnailGenerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMThumbnailGenerator_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMThumbnailGenerator_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMThumbnailGenerator methods ***/ +#define IXpsOMThumbnailGenerator_GenerateThumbnail(This,page,thumbnailType,thumbnailSize,imageResourcePartName,imageResource) (This)->lpVtbl->GenerateThumbnail(This,page,thumbnailType,thumbnailSize,imageResourcePartName,imageResource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMThumbnailGenerator_QueryInterface(IXpsOMThumbnailGenerator* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMThumbnailGenerator_AddRef(IXpsOMThumbnailGenerator* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMThumbnailGenerator_Release(IXpsOMThumbnailGenerator* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMThumbnailGenerator methods ***/ +static inline HRESULT IXpsOMThumbnailGenerator_GenerateThumbnail(IXpsOMThumbnailGenerator* This,IXpsOMPage *page,XPS_IMAGE_TYPE thumbnailType,XPS_THUMBNAIL_SIZE thumbnailSize,IOpcPartUri *imageResourcePartName,IXpsOMImageResource **imageResource) { + return This->lpVtbl->GenerateThumbnail(This,page,thumbnailType,thumbnailSize,imageResourcePartName,imageResource); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMThumbnailGenerator_INTERFACE_DEFINED__ */ + +#endif +#ifndef __MSXPS_LIBRARY_DEFINED__ +#define __MSXPS_LIBRARY_DEFINED__ + +DEFINE_GUID(LIBID_MSXPS, 0xb47491a0, 0xcf33, 0x4fe4, 0x9a,0x48, 0xb0,0xac,0xda,0xe2,0x07,0xe8); + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +/***************************************************************************** + * XpsOMObjectFactory coclass + */ + +DEFINE_GUID(CLSID_XpsOMObjectFactory, 0xe974d26d, 0x3d9b, 0x4d47, 0x88,0xcc, 0x38,0x72,0xf2,0xdc,0x35,0x85); + +#ifdef __cplusplus +class DECLSPEC_UUID("e974d26d-3d9b-4d47-88cc-3872f2dc3585") XpsOMObjectFactory; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(XpsOMObjectFactory, 0xe974d26d, 0x3d9b, 0x4d47, 0x88,0xcc, 0x38,0x72,0xf2,0xdc,0x35,0x85) +#endif +#endif + +#endif +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +/***************************************************************************** + * XpsOMThumbnailGenerator coclass + */ + +DEFINE_GUID(CLSID_XpsOMThumbnailGenerator, 0x7e4a23e2, 0xb969, 0x4761, 0xbe,0x35, 0x1a,0x8c,0xed,0x58,0xe3,0x23); + +#ifdef __cplusplus +class DECLSPEC_UUID("7e4a23e2-b969-4761-be35-1a8ced58e323") XpsOMThumbnailGenerator; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(XpsOMThumbnailGenerator, 0x7e4a23e2, 0xb969, 0x4761, 0xbe,0x35, 0x1a,0x8c,0xed,0x58,0xe3,0x23) +#endif +#endif + +#endif +#endif /* __MSXPS_LIBRARY_DEFINED__ */ +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xpsobjectmodel_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel_1.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel_1.h new file mode 100644 index 00000000..353f5fe0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsobjectmodel_1.h @@ -0,0 +1,1488 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xpsobjectmodel_1.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 __xpsobjectmodel_1_h__ +#define __xpsobjectmodel_1_h__ + +/* Forward declarations */ + +#ifndef __IXpsOMObjectFactory1_FWD_DEFINED__ +#define __IXpsOMObjectFactory1_FWD_DEFINED__ +typedef interface IXpsOMObjectFactory1 IXpsOMObjectFactory1; +#ifdef __cplusplus +interface IXpsOMObjectFactory1; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackage1_FWD_DEFINED__ +#define __IXpsOMPackage1_FWD_DEFINED__ +typedef interface IXpsOMPackage1 IXpsOMPackage1; +#ifdef __cplusplus +interface IXpsOMPackage1; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPage1_FWD_DEFINED__ +#define __IXpsOMPage1_FWD_DEFINED__ +typedef interface IXpsOMPage1 IXpsOMPage1; +#ifdef __cplusplus +interface IXpsOMPage1; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsDocumentPackageTarget_FWD_DEFINED__ +#define __IXpsDocumentPackageTarget_FWD_DEFINED__ +typedef interface IXpsDocumentPackageTarget IXpsDocumentPackageTarget; +#ifdef __cplusplus +interface IXpsDocumentPackageTarget; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMRemoteDictionaryResource1_FWD_DEFINED__ +#define __IXpsOMRemoteDictionaryResource1_FWD_DEFINED__ +typedef interface IXpsOMRemoteDictionaryResource1 IXpsOMRemoteDictionaryResource1; +#ifdef __cplusplus +interface IXpsOMRemoteDictionaryResource1; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if NTDDI_VERSION >= 0x06020000 +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) +#define XPS_E_INVALID_NUMBER_OF_POINTS_IN_CURVE_SEGMENTS MAKE_HRESULT(1, FACILITY_XPS, 0x600) +#define XPS_E_ABSOLUTE_REFERENCE MAKE_HRESULT(1, FACILITY_XPS, 0x601) +#define XPS_E_INVALID_NUMBER_OF_COLOR_CHANNELS MAKE_HRESULT(1, FACILITY_XPS, 0x602) + +#ifndef __IXpsOMObjectFactory1_FWD_DEFINED__ +#define __IXpsOMObjectFactory1_FWD_DEFINED__ +typedef interface IXpsOMObjectFactory1 IXpsOMObjectFactory1; +#ifdef __cplusplus +interface IXpsOMObjectFactory1; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPackage1_FWD_DEFINED__ +#define __IXpsOMPackage1_FWD_DEFINED__ +typedef interface IXpsOMPackage1 IXpsOMPackage1; +#ifdef __cplusplus +interface IXpsOMPackage1; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsOMPage1_FWD_DEFINED__ +#define __IXpsOMPage1_FWD_DEFINED__ +typedef interface IXpsOMPage1 IXpsOMPage1; +#ifdef __cplusplus +interface IXpsOMPage1; +#endif /* __cplusplus */ +#endif + +typedef enum __WIDL_xpsobjectmodel_1_generated_name_0000004A { + XPS_DOCUMENT_TYPE_UNSPECIFIED = 1, + XPS_DOCUMENT_TYPE_XPS = 2, + XPS_DOCUMENT_TYPE_OPENXPS = 3 +} XPS_DOCUMENT_TYPE; +/***************************************************************************** + * IXpsOMObjectFactory1 interface + */ +#ifndef __IXpsOMObjectFactory1_INTERFACE_DEFINED__ +#define __IXpsOMObjectFactory1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMObjectFactory1, 0x0a91b617, 0xd612, 0x4181, 0xbf,0x7c, 0xbe,0x58,0x24,0xe9,0xcc,0x8f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("0a91b617-d612-4181-bf7c-be5824e9cc8f") +IXpsOMObjectFactory1 : public IXpsOMObjectFactory +{ + virtual HRESULT STDMETHODCALLTYPE GetDocumentTypeFromFile( + LPCWSTR filename, + XPS_DOCUMENT_TYPE *documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetDocumentTypeFromStream( + IStream *xpsDocumentStream, + XPS_DOCUMENT_TYPE *documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE ConvertHDPhotoToJpegXR( + IXpsOMImageResource *imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE ConvertJpegXRToHDPhoto( + IXpsOMImageResource *imageResource) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageWriterOnFile1( + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + XPS_DOCUMENT_TYPE documentType, + IXpsOMPackageWriter **packageWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageWriterOnStream1( + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + XPS_DOCUMENT_TYPE documentType, + IXpsOMPackageWriter **packageWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackage1( + IXpsOMPackage1 **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageFromStream1( + IStream *stream, + WINBOOL reuseObjects, + IXpsOMPackage1 **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePackageFromFile1( + LPCWSTR filename, + WINBOOL reuseObjects, + IXpsOMPackage1 **package) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePage1( + const XPS_SIZE *pageDimensions, + LPCWSTR language, + IOpcPartUri *partUri, + IXpsOMPage1 **page) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePageFromStream1( + IStream *pageMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + WINBOOL reuseObjects, + IXpsOMPage1 **page) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateRemoteDictionaryResourceFromStream1( + IStream *dictionaryMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + IXpsOMRemoteDictionaryResource **dictionaryResource) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMObjectFactory1, 0x0a91b617, 0xd612, 0x4181, 0xbf,0x7c, 0xbe,0x58,0x24,0xe9,0xcc,0x8f) +#endif +#else +typedef struct IXpsOMObjectFactory1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMObjectFactory1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMObjectFactory1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMObjectFactory1 *This); + + /*** IXpsOMObjectFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePackage)( + IXpsOMObjectFactory1 *This, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromFile)( + IXpsOMObjectFactory1 *This, + LPCWSTR filename, + WINBOOL reuseObjects, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromStream)( + IXpsOMObjectFactory1 *This, + IStream *stream, + WINBOOL reuseObjects, + IXpsOMPackage **package); + + HRESULT (STDMETHODCALLTYPE *CreateStoryFragmentsResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMStoryFragmentsResource **storyFragmentsResource); + + HRESULT (STDMETHODCALLTYPE *CreateDocumentStructureResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMDocumentStructureResource **documentStructureResource); + + HRESULT (STDMETHODCALLTYPE *CreateSignatureBlockResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMSignatureBlockResource **signatureBlockResource); + + HRESULT (STDMETHODCALLTYPE *CreateRemoteDictionaryResource)( + IXpsOMObjectFactory1 *This, + IXpsOMDictionary *dictionary, + IOpcPartUri *partUri, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *CreateRemoteDictionaryResourceFromStream)( + IXpsOMObjectFactory1 *This, + IStream *dictionaryMarkupStream, + IOpcPartUri *dictionaryPartUri, + IXpsOMPartResources *resources, + IXpsOMRemoteDictionaryResource **dictionaryResource); + + HRESULT (STDMETHODCALLTYPE *CreatePartResources)( + IXpsOMObjectFactory1 *This, + IXpsOMPartResources **partResources); + + HRESULT (STDMETHODCALLTYPE *CreateDocumentSequence)( + IXpsOMObjectFactory1 *This, + IOpcPartUri *partUri, + IXpsOMDocumentSequence **documentSequence); + + HRESULT (STDMETHODCALLTYPE *CreateDocument)( + IXpsOMObjectFactory1 *This, + IOpcPartUri *partUri, + IXpsOMDocument **document); + + HRESULT (STDMETHODCALLTYPE *CreatePageReference)( + IXpsOMObjectFactory1 *This, + const XPS_SIZE *advisoryPageDimensions, + IXpsOMPageReference **pageReference); + + HRESULT (STDMETHODCALLTYPE *CreatePage)( + IXpsOMObjectFactory1 *This, + const XPS_SIZE *pageDimensions, + LPCWSTR language, + IOpcPartUri *partUri, + IXpsOMPage **page); + + HRESULT (STDMETHODCALLTYPE *CreatePageFromStream)( + IXpsOMObjectFactory1 *This, + IStream *pageMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + WINBOOL reuseObjects, + IXpsOMPage **page); + + HRESULT (STDMETHODCALLTYPE *CreateCanvas)( + IXpsOMObjectFactory1 *This, + IXpsOMCanvas **canvas); + + HRESULT (STDMETHODCALLTYPE *CreateGlyphs)( + IXpsOMObjectFactory1 *This, + IXpsOMFontResource *fontResource, + IXpsOMGlyphs **glyphs); + + HRESULT (STDMETHODCALLTYPE *CreatePath)( + IXpsOMObjectFactory1 *This, + IXpsOMPath **path); + + HRESULT (STDMETHODCALLTYPE *CreateGeometry)( + IXpsOMObjectFactory1 *This, + IXpsOMGeometry **geometry); + + HRESULT (STDMETHODCALLTYPE *CreateGeometryFigure)( + IXpsOMObjectFactory1 *This, + const XPS_POINT *startPoint, + IXpsOMGeometryFigure **figure); + + HRESULT (STDMETHODCALLTYPE *CreateMatrixTransform)( + IXpsOMObjectFactory1 *This, + const XPS_MATRIX *matrix, + IXpsOMMatrixTransform **transform); + + HRESULT (STDMETHODCALLTYPE *CreateSolidColorBrush)( + IXpsOMObjectFactory1 *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + IXpsOMSolidColorBrush **solidColorBrush); + + HRESULT (STDMETHODCALLTYPE *CreateColorProfileResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMColorProfileResource **colorProfileResource); + + HRESULT (STDMETHODCALLTYPE *CreateImageBrush)( + IXpsOMObjectFactory1 *This, + IXpsOMImageResource *image, + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMImageBrush **imageBrush); + + HRESULT (STDMETHODCALLTYPE *CreateVisualBrush)( + IXpsOMObjectFactory1 *This, + const XPS_RECT *viewBox, + const XPS_RECT *viewPort, + IXpsOMVisualBrush **visualBrush); + + HRESULT (STDMETHODCALLTYPE *CreateImageResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + XPS_IMAGE_TYPE contentType, + IOpcPartUri *partUri, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *CreatePrintTicketResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + IOpcPartUri *partUri, + IXpsOMPrintTicketResource **printTicketResource); + + HRESULT (STDMETHODCALLTYPE *CreateFontResource)( + IXpsOMObjectFactory1 *This, + IStream *acquiredStream, + XPS_FONT_EMBEDDING fontEmbedding, + IOpcPartUri *partUri, + WINBOOL isObfSourceStream, + IXpsOMFontResource **fontResource); + + HRESULT (STDMETHODCALLTYPE *CreateGradientStop)( + IXpsOMObjectFactory1 *This, + const XPS_COLOR *color, + IXpsOMColorProfileResource *colorProfile, + FLOAT offset, + IXpsOMGradientStop **gradientStop); + + HRESULT (STDMETHODCALLTYPE *CreateLinearGradientBrush)( + IXpsOMObjectFactory1 *This, + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *startPoint, + const XPS_POINT *endPoint, + IXpsOMLinearGradientBrush **linearGradientBrush); + + HRESULT (STDMETHODCALLTYPE *CreateRadialGradientBrush)( + IXpsOMObjectFactory1 *This, + IXpsOMGradientStop *gradStop1, + IXpsOMGradientStop *gradStop2, + const XPS_POINT *centerPoint, + const XPS_POINT *gradientOrigin, + const XPS_SIZE *radiiSizes, + IXpsOMRadialGradientBrush **radialGradientBrush); + + HRESULT (STDMETHODCALLTYPE *CreateCoreProperties)( + IXpsOMObjectFactory1 *This, + IOpcPartUri *partUri, + IXpsOMCoreProperties **coreProperties); + + HRESULT (STDMETHODCALLTYPE *CreateDictionary)( + IXpsOMObjectFactory1 *This, + IXpsOMDictionary **dictionary); + + HRESULT (STDMETHODCALLTYPE *CreatePartUriCollection)( + IXpsOMObjectFactory1 *This, + IXpsOMPartUriCollection **partUriCollection); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnFile)( + IXpsOMObjectFactory1 *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnStream)( + IXpsOMObjectFactory1 *This, + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePartUri)( + IXpsOMObjectFactory1 *This, + LPCWSTR uri, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *CreateReadOnlyStreamOnFile)( + IXpsOMObjectFactory1 *This, + LPCWSTR filename, + IStream **stream); + + /*** IXpsOMObjectFactory1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentTypeFromFile)( + IXpsOMObjectFactory1 *This, + LPCWSTR filename, + XPS_DOCUMENT_TYPE *documentType); + + HRESULT (STDMETHODCALLTYPE *GetDocumentTypeFromStream)( + IXpsOMObjectFactory1 *This, + IStream *xpsDocumentStream, + XPS_DOCUMENT_TYPE *documentType); + + HRESULT (STDMETHODCALLTYPE *ConvertHDPhotoToJpegXR)( + IXpsOMObjectFactory1 *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *ConvertJpegXRToHDPhoto)( + IXpsOMObjectFactory1 *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnFile1)( + IXpsOMObjectFactory1 *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + XPS_DOCUMENT_TYPE documentType, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePackageWriterOnStream1)( + IXpsOMObjectFactory1 *This, + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_INTERLEAVING interleaving, + IOpcPartUri *documentSequencePartName, + IXpsOMCoreProperties *coreProperties, + IXpsOMImageResource *packageThumbnail, + IXpsOMPrintTicketResource *documentSequencePrintTicket, + IOpcPartUri *discardControlPartName, + XPS_DOCUMENT_TYPE documentType, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *CreatePackage1)( + IXpsOMObjectFactory1 *This, + IXpsOMPackage1 **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromStream1)( + IXpsOMObjectFactory1 *This, + IStream *stream, + WINBOOL reuseObjects, + IXpsOMPackage1 **package); + + HRESULT (STDMETHODCALLTYPE *CreatePackageFromFile1)( + IXpsOMObjectFactory1 *This, + LPCWSTR filename, + WINBOOL reuseObjects, + IXpsOMPackage1 **package); + + HRESULT (STDMETHODCALLTYPE *CreatePage1)( + IXpsOMObjectFactory1 *This, + const XPS_SIZE *pageDimensions, + LPCWSTR language, + IOpcPartUri *partUri, + IXpsOMPage1 **page); + + HRESULT (STDMETHODCALLTYPE *CreatePageFromStream1)( + IXpsOMObjectFactory1 *This, + IStream *pageMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + WINBOOL reuseObjects, + IXpsOMPage1 **page); + + HRESULT (STDMETHODCALLTYPE *CreateRemoteDictionaryResourceFromStream1)( + IXpsOMObjectFactory1 *This, + IStream *dictionaryMarkupStream, + IOpcPartUri *partUri, + IXpsOMPartResources *resources, + IXpsOMRemoteDictionaryResource **dictionaryResource); + + END_INTERFACE +} IXpsOMObjectFactory1Vtbl; + +interface IXpsOMObjectFactory1 { + CONST_VTBL IXpsOMObjectFactory1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMObjectFactory1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMObjectFactory1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMObjectFactory1_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMObjectFactory methods ***/ +#define IXpsOMObjectFactory1_CreatePackage(This,package) (This)->lpVtbl->CreatePackage(This,package) +#define IXpsOMObjectFactory1_CreatePackageFromFile(This,filename,reuseObjects,package) (This)->lpVtbl->CreatePackageFromFile(This,filename,reuseObjects,package) +#define IXpsOMObjectFactory1_CreatePackageFromStream(This,stream,reuseObjects,package) (This)->lpVtbl->CreatePackageFromStream(This,stream,reuseObjects,package) +#define IXpsOMObjectFactory1_CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource) (This)->lpVtbl->CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource) +#define IXpsOMObjectFactory1_CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource) (This)->lpVtbl->CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource) +#define IXpsOMObjectFactory1_CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource) (This)->lpVtbl->CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource) +#define IXpsOMObjectFactory1_CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource) (This)->lpVtbl->CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource) +#define IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource) (This)->lpVtbl->CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource) +#define IXpsOMObjectFactory1_CreatePartResources(This,partResources) (This)->lpVtbl->CreatePartResources(This,partResources) +#define IXpsOMObjectFactory1_CreateDocumentSequence(This,partUri,documentSequence) (This)->lpVtbl->CreateDocumentSequence(This,partUri,documentSequence) +#define IXpsOMObjectFactory1_CreateDocument(This,partUri,document) (This)->lpVtbl->CreateDocument(This,partUri,document) +#define IXpsOMObjectFactory1_CreatePageReference(This,advisoryPageDimensions,pageReference) (This)->lpVtbl->CreatePageReference(This,advisoryPageDimensions,pageReference) +#define IXpsOMObjectFactory1_CreatePage(This,pageDimensions,language,partUri,page) (This)->lpVtbl->CreatePage(This,pageDimensions,language,partUri,page) +#define IXpsOMObjectFactory1_CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page) (This)->lpVtbl->CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page) +#define IXpsOMObjectFactory1_CreateCanvas(This,canvas) (This)->lpVtbl->CreateCanvas(This,canvas) +#define IXpsOMObjectFactory1_CreateGlyphs(This,fontResource,glyphs) (This)->lpVtbl->CreateGlyphs(This,fontResource,glyphs) +#define IXpsOMObjectFactory1_CreatePath(This,path) (This)->lpVtbl->CreatePath(This,path) +#define IXpsOMObjectFactory1_CreateGeometry(This,geometry) (This)->lpVtbl->CreateGeometry(This,geometry) +#define IXpsOMObjectFactory1_CreateGeometryFigure(This,startPoint,figure) (This)->lpVtbl->CreateGeometryFigure(This,startPoint,figure) +#define IXpsOMObjectFactory1_CreateMatrixTransform(This,matrix,transform) (This)->lpVtbl->CreateMatrixTransform(This,matrix,transform) +#define IXpsOMObjectFactory1_CreateSolidColorBrush(This,color,colorProfile,solidColorBrush) (This)->lpVtbl->CreateSolidColorBrush(This,color,colorProfile,solidColorBrush) +#define IXpsOMObjectFactory1_CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource) (This)->lpVtbl->CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource) +#define IXpsOMObjectFactory1_CreateImageBrush(This,image,viewBox,viewPort,imageBrush) (This)->lpVtbl->CreateImageBrush(This,image,viewBox,viewPort,imageBrush) +#define IXpsOMObjectFactory1_CreateVisualBrush(This,viewBox,viewPort,visualBrush) (This)->lpVtbl->CreateVisualBrush(This,viewBox,viewPort,visualBrush) +#define IXpsOMObjectFactory1_CreateImageResource(This,acquiredStream,contentType,partUri,imageResource) (This)->lpVtbl->CreateImageResource(This,acquiredStream,contentType,partUri,imageResource) +#define IXpsOMObjectFactory1_CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource) (This)->lpVtbl->CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource) +#define IXpsOMObjectFactory1_CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource) (This)->lpVtbl->CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource) +#define IXpsOMObjectFactory1_CreateGradientStop(This,color,colorProfile,offset,gradientStop) (This)->lpVtbl->CreateGradientStop(This,color,colorProfile,offset,gradientStop) +#define IXpsOMObjectFactory1_CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush) (This)->lpVtbl->CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush) +#define IXpsOMObjectFactory1_CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush) (This)->lpVtbl->CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush) +#define IXpsOMObjectFactory1_CreateCoreProperties(This,partUri,coreProperties) (This)->lpVtbl->CreateCoreProperties(This,partUri,coreProperties) +#define IXpsOMObjectFactory1_CreateDictionary(This,dictionary) (This)->lpVtbl->CreateDictionary(This,dictionary) +#define IXpsOMObjectFactory1_CreatePartUriCollection(This,partUriCollection) (This)->lpVtbl->CreatePartUriCollection(This,partUriCollection) +#define IXpsOMObjectFactory1_CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) (This)->lpVtbl->CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) +#define IXpsOMObjectFactory1_CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) (This)->lpVtbl->CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter) +#define IXpsOMObjectFactory1_CreatePartUri(This,uri,partUri) (This)->lpVtbl->CreatePartUri(This,uri,partUri) +#define IXpsOMObjectFactory1_CreateReadOnlyStreamOnFile(This,filename,stream) (This)->lpVtbl->CreateReadOnlyStreamOnFile(This,filename,stream) +/*** IXpsOMObjectFactory1 methods ***/ +#define IXpsOMObjectFactory1_GetDocumentTypeFromFile(This,filename,documentType) (This)->lpVtbl->GetDocumentTypeFromFile(This,filename,documentType) +#define IXpsOMObjectFactory1_GetDocumentTypeFromStream(This,xpsDocumentStream,documentType) (This)->lpVtbl->GetDocumentTypeFromStream(This,xpsDocumentStream,documentType) +#define IXpsOMObjectFactory1_ConvertHDPhotoToJpegXR(This,imageResource) (This)->lpVtbl->ConvertHDPhotoToJpegXR(This,imageResource) +#define IXpsOMObjectFactory1_ConvertJpegXRToHDPhoto(This,imageResource) (This)->lpVtbl->ConvertJpegXRToHDPhoto(This,imageResource) +#define IXpsOMObjectFactory1_CreatePackageWriterOnFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter) (This)->lpVtbl->CreatePackageWriterOnFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter) +#define IXpsOMObjectFactory1_CreatePackageWriterOnStream1(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter) (This)->lpVtbl->CreatePackageWriterOnStream1(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter) +#define IXpsOMObjectFactory1_CreatePackage1(This,package) (This)->lpVtbl->CreatePackage1(This,package) +#define IXpsOMObjectFactory1_CreatePackageFromStream1(This,stream,reuseObjects,package) (This)->lpVtbl->CreatePackageFromStream1(This,stream,reuseObjects,package) +#define IXpsOMObjectFactory1_CreatePackageFromFile1(This,filename,reuseObjects,package) (This)->lpVtbl->CreatePackageFromFile1(This,filename,reuseObjects,package) +#define IXpsOMObjectFactory1_CreatePage1(This,pageDimensions,language,partUri,page) (This)->lpVtbl->CreatePage1(This,pageDimensions,language,partUri,page) +#define IXpsOMObjectFactory1_CreatePageFromStream1(This,pageMarkupStream,partUri,resources,reuseObjects,page) (This)->lpVtbl->CreatePageFromStream1(This,pageMarkupStream,partUri,resources,reuseObjects,page) +#define IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream1(This,dictionaryMarkupStream,partUri,resources,dictionaryResource) (This)->lpVtbl->CreateRemoteDictionaryResourceFromStream1(This,dictionaryMarkupStream,partUri,resources,dictionaryResource) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMObjectFactory1_QueryInterface(IXpsOMObjectFactory1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMObjectFactory1_AddRef(IXpsOMObjectFactory1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMObjectFactory1_Release(IXpsOMObjectFactory1* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMObjectFactory methods ***/ +static inline HRESULT IXpsOMObjectFactory1_CreatePackage(IXpsOMObjectFactory1* This,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackage(This,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageFromFile(IXpsOMObjectFactory1* This,LPCWSTR filename,WINBOOL reuseObjects,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackageFromFile(This,filename,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageFromStream(IXpsOMObjectFactory1* This,IStream *stream,WINBOOL reuseObjects,IXpsOMPackage **package) { + return This->lpVtbl->CreatePackageFromStream(This,stream,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreateStoryFragmentsResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMStoryFragmentsResource **storyFragmentsResource) { + return This->lpVtbl->CreateStoryFragmentsResource(This,acquiredStream,partUri,storyFragmentsResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateDocumentStructureResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMDocumentStructureResource **documentStructureResource) { + return This->lpVtbl->CreateDocumentStructureResource(This,acquiredStream,partUri,documentStructureResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateSignatureBlockResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMSignatureBlockResource **signatureBlockResource) { + return This->lpVtbl->CreateSignatureBlockResource(This,acquiredStream,partUri,signatureBlockResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateRemoteDictionaryResource(IXpsOMObjectFactory1* This,IXpsOMDictionary *dictionary,IOpcPartUri *partUri,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->CreateRemoteDictionaryResource(This,dictionary,partUri,remoteDictionaryResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream(IXpsOMObjectFactory1* This,IStream *dictionaryMarkupStream,IOpcPartUri *dictionaryPartUri,IXpsOMPartResources *resources,IXpsOMRemoteDictionaryResource **dictionaryResource) { + return This->lpVtbl->CreateRemoteDictionaryResourceFromStream(This,dictionaryMarkupStream,dictionaryPartUri,resources,dictionaryResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePartResources(IXpsOMObjectFactory1* This,IXpsOMPartResources **partResources) { + return This->lpVtbl->CreatePartResources(This,partResources); +} +static inline HRESULT IXpsOMObjectFactory1_CreateDocumentSequence(IXpsOMObjectFactory1* This,IOpcPartUri *partUri,IXpsOMDocumentSequence **documentSequence) { + return This->lpVtbl->CreateDocumentSequence(This,partUri,documentSequence); +} +static inline HRESULT IXpsOMObjectFactory1_CreateDocument(IXpsOMObjectFactory1* This,IOpcPartUri *partUri,IXpsOMDocument **document) { + return This->lpVtbl->CreateDocument(This,partUri,document); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePageReference(IXpsOMObjectFactory1* This,const XPS_SIZE *advisoryPageDimensions,IXpsOMPageReference **pageReference) { + return This->lpVtbl->CreatePageReference(This,advisoryPageDimensions,pageReference); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePage(IXpsOMObjectFactory1* This,const XPS_SIZE *pageDimensions,LPCWSTR language,IOpcPartUri *partUri,IXpsOMPage **page) { + return This->lpVtbl->CreatePage(This,pageDimensions,language,partUri,page); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePageFromStream(IXpsOMObjectFactory1* This,IStream *pageMarkupStream,IOpcPartUri *partUri,IXpsOMPartResources *resources,WINBOOL reuseObjects,IXpsOMPage **page) { + return This->lpVtbl->CreatePageFromStream(This,pageMarkupStream,partUri,resources,reuseObjects,page); +} +static inline HRESULT IXpsOMObjectFactory1_CreateCanvas(IXpsOMObjectFactory1* This,IXpsOMCanvas **canvas) { + return This->lpVtbl->CreateCanvas(This,canvas); +} +static inline HRESULT IXpsOMObjectFactory1_CreateGlyphs(IXpsOMObjectFactory1* This,IXpsOMFontResource *fontResource,IXpsOMGlyphs **glyphs) { + return This->lpVtbl->CreateGlyphs(This,fontResource,glyphs); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePath(IXpsOMObjectFactory1* This,IXpsOMPath **path) { + return This->lpVtbl->CreatePath(This,path); +} +static inline HRESULT IXpsOMObjectFactory1_CreateGeometry(IXpsOMObjectFactory1* This,IXpsOMGeometry **geometry) { + return This->lpVtbl->CreateGeometry(This,geometry); +} +static inline HRESULT IXpsOMObjectFactory1_CreateGeometryFigure(IXpsOMObjectFactory1* This,const XPS_POINT *startPoint,IXpsOMGeometryFigure **figure) { + return This->lpVtbl->CreateGeometryFigure(This,startPoint,figure); +} +static inline HRESULT IXpsOMObjectFactory1_CreateMatrixTransform(IXpsOMObjectFactory1* This,const XPS_MATRIX *matrix,IXpsOMMatrixTransform **transform) { + return This->lpVtbl->CreateMatrixTransform(This,matrix,transform); +} +static inline HRESULT IXpsOMObjectFactory1_CreateSolidColorBrush(IXpsOMObjectFactory1* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile,IXpsOMSolidColorBrush **solidColorBrush) { + return This->lpVtbl->CreateSolidColorBrush(This,color,colorProfile,solidColorBrush); +} +static inline HRESULT IXpsOMObjectFactory1_CreateColorProfileResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMColorProfileResource **colorProfileResource) { + return This->lpVtbl->CreateColorProfileResource(This,acquiredStream,partUri,colorProfileResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateImageBrush(IXpsOMObjectFactory1* This,IXpsOMImageResource *image,const XPS_RECT *viewBox,const XPS_RECT *viewPort,IXpsOMImageBrush **imageBrush) { + return This->lpVtbl->CreateImageBrush(This,image,viewBox,viewPort,imageBrush); +} +static inline HRESULT IXpsOMObjectFactory1_CreateVisualBrush(IXpsOMObjectFactory1* This,const XPS_RECT *viewBox,const XPS_RECT *viewPort,IXpsOMVisualBrush **visualBrush) { + return This->lpVtbl->CreateVisualBrush(This,viewBox,viewPort,visualBrush); +} +static inline HRESULT IXpsOMObjectFactory1_CreateImageResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,XPS_IMAGE_TYPE contentType,IOpcPartUri *partUri,IXpsOMImageResource **imageResource) { + return This->lpVtbl->CreateImageResource(This,acquiredStream,contentType,partUri,imageResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePrintTicketResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,IOpcPartUri *partUri,IXpsOMPrintTicketResource **printTicketResource) { + return This->lpVtbl->CreatePrintTicketResource(This,acquiredStream,partUri,printTicketResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateFontResource(IXpsOMObjectFactory1* This,IStream *acquiredStream,XPS_FONT_EMBEDDING fontEmbedding,IOpcPartUri *partUri,WINBOOL isObfSourceStream,IXpsOMFontResource **fontResource) { + return This->lpVtbl->CreateFontResource(This,acquiredStream,fontEmbedding,partUri,isObfSourceStream,fontResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreateGradientStop(IXpsOMObjectFactory1* This,const XPS_COLOR *color,IXpsOMColorProfileResource *colorProfile,FLOAT offset,IXpsOMGradientStop **gradientStop) { + return This->lpVtbl->CreateGradientStop(This,color,colorProfile,offset,gradientStop); +} +static inline HRESULT IXpsOMObjectFactory1_CreateLinearGradientBrush(IXpsOMObjectFactory1* This,IXpsOMGradientStop *gradStop1,IXpsOMGradientStop *gradStop2,const XPS_POINT *startPoint,const XPS_POINT *endPoint,IXpsOMLinearGradientBrush **linearGradientBrush) { + return This->lpVtbl->CreateLinearGradientBrush(This,gradStop1,gradStop2,startPoint,endPoint,linearGradientBrush); +} +static inline HRESULT IXpsOMObjectFactory1_CreateRadialGradientBrush(IXpsOMObjectFactory1* This,IXpsOMGradientStop *gradStop1,IXpsOMGradientStop *gradStop2,const XPS_POINT *centerPoint,const XPS_POINT *gradientOrigin,const XPS_SIZE *radiiSizes,IXpsOMRadialGradientBrush **radialGradientBrush) { + return This->lpVtbl->CreateRadialGradientBrush(This,gradStop1,gradStop2,centerPoint,gradientOrigin,radiiSizes,radialGradientBrush); +} +static inline HRESULT IXpsOMObjectFactory1_CreateCoreProperties(IXpsOMObjectFactory1* This,IOpcPartUri *partUri,IXpsOMCoreProperties **coreProperties) { + return This->lpVtbl->CreateCoreProperties(This,partUri,coreProperties); +} +static inline HRESULT IXpsOMObjectFactory1_CreateDictionary(IXpsOMObjectFactory1* This,IXpsOMDictionary **dictionary) { + return This->lpVtbl->CreateDictionary(This,dictionary); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePartUriCollection(IXpsOMObjectFactory1* This,IXpsOMPartUriCollection **partUriCollection) { + return This->lpVtbl->CreatePartUriCollection(This,partUriCollection); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageWriterOnFile(IXpsOMObjectFactory1* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageWriterOnStream(IXpsOMObjectFactory1* This,ISequentialStream *outputStream,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnStream(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePartUri(IXpsOMObjectFactory1* This,LPCWSTR uri,IOpcPartUri **partUri) { + return This->lpVtbl->CreatePartUri(This,uri,partUri); +} +static inline HRESULT IXpsOMObjectFactory1_CreateReadOnlyStreamOnFile(IXpsOMObjectFactory1* This,LPCWSTR filename,IStream **stream) { + return This->lpVtbl->CreateReadOnlyStreamOnFile(This,filename,stream); +} +/*** IXpsOMObjectFactory1 methods ***/ +static inline HRESULT IXpsOMObjectFactory1_GetDocumentTypeFromFile(IXpsOMObjectFactory1* This,LPCWSTR filename,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetDocumentTypeFromFile(This,filename,documentType); +} +static inline HRESULT IXpsOMObjectFactory1_GetDocumentTypeFromStream(IXpsOMObjectFactory1* This,IStream *xpsDocumentStream,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetDocumentTypeFromStream(This,xpsDocumentStream,documentType); +} +static inline HRESULT IXpsOMObjectFactory1_ConvertHDPhotoToJpegXR(IXpsOMObjectFactory1* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->ConvertHDPhotoToJpegXR(This,imageResource); +} +static inline HRESULT IXpsOMObjectFactory1_ConvertJpegXRToHDPhoto(IXpsOMObjectFactory1* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->ConvertJpegXRToHDPhoto(This,imageResource); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageWriterOnFile1(IXpsOMObjectFactory1* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,XPS_DOCUMENT_TYPE documentType,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageWriterOnStream1(IXpsOMObjectFactory1* This,ISequentialStream *outputStream,WINBOOL optimizeMarkupSize,XPS_INTERLEAVING interleaving,IOpcPartUri *documentSequencePartName,IXpsOMCoreProperties *coreProperties,IXpsOMImageResource *packageThumbnail,IXpsOMPrintTicketResource *documentSequencePrintTicket,IOpcPartUri *discardControlPartName,XPS_DOCUMENT_TYPE documentType,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->CreatePackageWriterOnStream1(This,outputStream,optimizeMarkupSize,interleaving,documentSequencePartName,coreProperties,packageThumbnail,documentSequencePrintTicket,discardControlPartName,documentType,packageWriter); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackage1(IXpsOMObjectFactory1* This,IXpsOMPackage1 **package) { + return This->lpVtbl->CreatePackage1(This,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageFromStream1(IXpsOMObjectFactory1* This,IStream *stream,WINBOOL reuseObjects,IXpsOMPackage1 **package) { + return This->lpVtbl->CreatePackageFromStream1(This,stream,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePackageFromFile1(IXpsOMObjectFactory1* This,LPCWSTR filename,WINBOOL reuseObjects,IXpsOMPackage1 **package) { + return This->lpVtbl->CreatePackageFromFile1(This,filename,reuseObjects,package); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePage1(IXpsOMObjectFactory1* This,const XPS_SIZE *pageDimensions,LPCWSTR language,IOpcPartUri *partUri,IXpsOMPage1 **page) { + return This->lpVtbl->CreatePage1(This,pageDimensions,language,partUri,page); +} +static inline HRESULT IXpsOMObjectFactory1_CreatePageFromStream1(IXpsOMObjectFactory1* This,IStream *pageMarkupStream,IOpcPartUri *partUri,IXpsOMPartResources *resources,WINBOOL reuseObjects,IXpsOMPage1 **page) { + return This->lpVtbl->CreatePageFromStream1(This,pageMarkupStream,partUri,resources,reuseObjects,page); +} +static inline HRESULT IXpsOMObjectFactory1_CreateRemoteDictionaryResourceFromStream1(IXpsOMObjectFactory1* This,IStream *dictionaryMarkupStream,IOpcPartUri *partUri,IXpsOMPartResources *resources,IXpsOMRemoteDictionaryResource **dictionaryResource) { + return This->lpVtbl->CreateRemoteDictionaryResourceFromStream1(This,dictionaryMarkupStream,partUri,resources,dictionaryResource); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMObjectFactory1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPackage1 interface + */ +#ifndef __IXpsOMPackage1_INTERFACE_DEFINED__ +#define __IXpsOMPackage1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPackage1, 0x95a9435e, 0x12bb, 0x461b, 0x8e,0x7f, 0xc6,0xad,0xb0,0x4c,0xd9,0x6a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("95a9435e-12bb-461b-8e7f-c6adb04cd96a") +IXpsOMPackage1 : public IXpsOMPackage +{ + virtual HRESULT STDMETHODCALLTYPE GetDocumentType( + XPS_DOCUMENT_TYPE *documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteToFile1( + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE WriteToStream1( + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPackage1, 0x95a9435e, 0x12bb, 0x461b, 0x8e,0x7f, 0xc6,0xad,0xb0,0x4c,0xd9,0x6a) +#endif +#else +typedef struct IXpsOMPackage1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPackage1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPackage1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPackage1 *This); + + /*** IXpsOMPackage methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentSequence)( + IXpsOMPackage1 *This, + IXpsOMDocumentSequence **documentSequence); + + HRESULT (STDMETHODCALLTYPE *SetDocumentSequence)( + IXpsOMPackage1 *This, + IXpsOMDocumentSequence *documentSequence); + + HRESULT (STDMETHODCALLTYPE *GetCoreProperties)( + IXpsOMPackage1 *This, + IXpsOMCoreProperties **coreProperties); + + HRESULT (STDMETHODCALLTYPE *SetCoreProperties)( + IXpsOMPackage1 *This, + IXpsOMCoreProperties *coreProperties); + + HRESULT (STDMETHODCALLTYPE *GetDiscardControlPartName)( + IXpsOMPackage1 *This, + IOpcPartUri **discardControlPartUri); + + HRESULT (STDMETHODCALLTYPE *SetDiscardControlPartName)( + IXpsOMPackage1 *This, + IOpcPartUri *discardControlPartUri); + + HRESULT (STDMETHODCALLTYPE *GetThumbnailResource)( + IXpsOMPackage1 *This, + IXpsOMImageResource **imageResource); + + HRESULT (STDMETHODCALLTYPE *SetThumbnailResource)( + IXpsOMPackage1 *This, + IXpsOMImageResource *imageResource); + + HRESULT (STDMETHODCALLTYPE *WriteToFile)( + IXpsOMPackage1 *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize); + + HRESULT (STDMETHODCALLTYPE *WriteToStream)( + IXpsOMPackage1 *This, + ISequentialStream *stream, + WINBOOL optimizeMarkupSize); + + /*** IXpsOMPackage1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentType)( + IXpsOMPackage1 *This, + XPS_DOCUMENT_TYPE *documentType); + + HRESULT (STDMETHODCALLTYPE *WriteToFile1)( + IXpsOMPackage1 *This, + LPCWSTR fileName, + LPSECURITY_ATTRIBUTES securityAttributes, + DWORD flagsAndAttributes, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType); + + HRESULT (STDMETHODCALLTYPE *WriteToStream1)( + IXpsOMPackage1 *This, + ISequentialStream *outputStream, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType); + + END_INTERFACE +} IXpsOMPackage1Vtbl; + +interface IXpsOMPackage1 { + CONST_VTBL IXpsOMPackage1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPackage1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPackage1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPackage1_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPackage methods ***/ +#define IXpsOMPackage1_GetDocumentSequence(This,documentSequence) (This)->lpVtbl->GetDocumentSequence(This,documentSequence) +#define IXpsOMPackage1_SetDocumentSequence(This,documentSequence) (This)->lpVtbl->SetDocumentSequence(This,documentSequence) +#define IXpsOMPackage1_GetCoreProperties(This,coreProperties) (This)->lpVtbl->GetCoreProperties(This,coreProperties) +#define IXpsOMPackage1_SetCoreProperties(This,coreProperties) (This)->lpVtbl->SetCoreProperties(This,coreProperties) +#define IXpsOMPackage1_GetDiscardControlPartName(This,discardControlPartUri) (This)->lpVtbl->GetDiscardControlPartName(This,discardControlPartUri) +#define IXpsOMPackage1_SetDiscardControlPartName(This,discardControlPartUri) (This)->lpVtbl->SetDiscardControlPartName(This,discardControlPartUri) +#define IXpsOMPackage1_GetThumbnailResource(This,imageResource) (This)->lpVtbl->GetThumbnailResource(This,imageResource) +#define IXpsOMPackage1_SetThumbnailResource(This,imageResource) (This)->lpVtbl->SetThumbnailResource(This,imageResource) +#define IXpsOMPackage1_WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize) (This)->lpVtbl->WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize) +#define IXpsOMPackage1_WriteToStream(This,stream,optimizeMarkupSize) (This)->lpVtbl->WriteToStream(This,stream,optimizeMarkupSize) +/*** IXpsOMPackage1 methods ***/ +#define IXpsOMPackage1_GetDocumentType(This,documentType) (This)->lpVtbl->GetDocumentType(This,documentType) +#define IXpsOMPackage1_WriteToFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,documentType) (This)->lpVtbl->WriteToFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,documentType) +#define IXpsOMPackage1_WriteToStream1(This,outputStream,optimizeMarkupSize,documentType) (This)->lpVtbl->WriteToStream1(This,outputStream,optimizeMarkupSize,documentType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPackage1_QueryInterface(IXpsOMPackage1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPackage1_AddRef(IXpsOMPackage1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPackage1_Release(IXpsOMPackage1* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPackage methods ***/ +static inline HRESULT IXpsOMPackage1_GetDocumentSequence(IXpsOMPackage1* This,IXpsOMDocumentSequence **documentSequence) { + return This->lpVtbl->GetDocumentSequence(This,documentSequence); +} +static inline HRESULT IXpsOMPackage1_SetDocumentSequence(IXpsOMPackage1* This,IXpsOMDocumentSequence *documentSequence) { + return This->lpVtbl->SetDocumentSequence(This,documentSequence); +} +static inline HRESULT IXpsOMPackage1_GetCoreProperties(IXpsOMPackage1* This,IXpsOMCoreProperties **coreProperties) { + return This->lpVtbl->GetCoreProperties(This,coreProperties); +} +static inline HRESULT IXpsOMPackage1_SetCoreProperties(IXpsOMPackage1* This,IXpsOMCoreProperties *coreProperties) { + return This->lpVtbl->SetCoreProperties(This,coreProperties); +} +static inline HRESULT IXpsOMPackage1_GetDiscardControlPartName(IXpsOMPackage1* This,IOpcPartUri **discardControlPartUri) { + return This->lpVtbl->GetDiscardControlPartName(This,discardControlPartUri); +} +static inline HRESULT IXpsOMPackage1_SetDiscardControlPartName(IXpsOMPackage1* This,IOpcPartUri *discardControlPartUri) { + return This->lpVtbl->SetDiscardControlPartName(This,discardControlPartUri); +} +static inline HRESULT IXpsOMPackage1_GetThumbnailResource(IXpsOMPackage1* This,IXpsOMImageResource **imageResource) { + return This->lpVtbl->GetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPackage1_SetThumbnailResource(IXpsOMPackage1* This,IXpsOMImageResource *imageResource) { + return This->lpVtbl->SetThumbnailResource(This,imageResource); +} +static inline HRESULT IXpsOMPackage1_WriteToFile(IXpsOMPackage1* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->WriteToFile(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize); +} +static inline HRESULT IXpsOMPackage1_WriteToStream(IXpsOMPackage1* This,ISequentialStream *stream,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->WriteToStream(This,stream,optimizeMarkupSize); +} +/*** IXpsOMPackage1 methods ***/ +static inline HRESULT IXpsOMPackage1_GetDocumentType(IXpsOMPackage1* This,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetDocumentType(This,documentType); +} +static inline HRESULT IXpsOMPackage1_WriteToFile1(IXpsOMPackage1* This,LPCWSTR fileName,LPSECURITY_ATTRIBUTES securityAttributes,DWORD flagsAndAttributes,WINBOOL optimizeMarkupSize,XPS_DOCUMENT_TYPE documentType) { + return This->lpVtbl->WriteToFile1(This,fileName,securityAttributes,flagsAndAttributes,optimizeMarkupSize,documentType); +} +static inline HRESULT IXpsOMPackage1_WriteToStream1(IXpsOMPackage1* This,ISequentialStream *outputStream,WINBOOL optimizeMarkupSize,XPS_DOCUMENT_TYPE documentType) { + return This->lpVtbl->WriteToStream1(This,outputStream,optimizeMarkupSize,documentType); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPackage1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMPage1 interface + */ +#ifndef __IXpsOMPage1_INTERFACE_DEFINED__ +#define __IXpsOMPage1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMPage1, 0x305b60ef, 0x6892, 0x4dda, 0x9c,0xbb, 0x3a,0xa6,0x59,0x74,0x50,0x8a); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("305b60ef-6892-4dda-9cbb-3aa65974508a") +IXpsOMPage1 : public IXpsOMPage +{ + virtual HRESULT STDMETHODCALLTYPE GetDocumentType( + XPS_DOCUMENT_TYPE *documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Write1( + ISequentialStream *stream, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMPage1, 0x305b60ef, 0x6892, 0x4dda, 0x9c,0xbb, 0x3a,0xa6,0x59,0x74,0x50,0x8a) +#endif +#else +typedef struct IXpsOMPage1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMPage1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMPage1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMPage1 *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMPage1 *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMPage1 *This, + IOpcPartUri *partUri); + + /*** IXpsOMPage methods ***/ + HRESULT (STDMETHODCALLTYPE *GetOwner)( + IXpsOMPage1 *This, + IXpsOMPageReference **pageReference); + + HRESULT (STDMETHODCALLTYPE *GetVisuals)( + IXpsOMPage1 *This, + IXpsOMVisualCollection **visuals); + + HRESULT (STDMETHODCALLTYPE *GetPageDimensions)( + IXpsOMPage1 *This, + XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *SetPageDimensions)( + IXpsOMPage1 *This, + const XPS_SIZE *pageDimensions); + + HRESULT (STDMETHODCALLTYPE *GetContentBox)( + IXpsOMPage1 *This, + XPS_RECT *contentBox); + + HRESULT (STDMETHODCALLTYPE *SetContentBox)( + IXpsOMPage1 *This, + const XPS_RECT *contentBox); + + HRESULT (STDMETHODCALLTYPE *GetBleedBox)( + IXpsOMPage1 *This, + XPS_RECT *bleedBox); + + HRESULT (STDMETHODCALLTYPE *SetBleedBox)( + IXpsOMPage1 *This, + const XPS_RECT *bleedBox); + + HRESULT (STDMETHODCALLTYPE *GetLanguage)( + IXpsOMPage1 *This, + LPWSTR *language); + + HRESULT (STDMETHODCALLTYPE *SetLanguage)( + IXpsOMPage1 *This, + LPCWSTR language); + + HRESULT (STDMETHODCALLTYPE *GetName)( + IXpsOMPage1 *This, + LPWSTR *name); + + HRESULT (STDMETHODCALLTYPE *SetName)( + IXpsOMPage1 *This, + LPCWSTR name); + + HRESULT (STDMETHODCALLTYPE *GetIsHyperlinkTarget)( + IXpsOMPage1 *This, + WINBOOL *isHyperlinkTarget); + + HRESULT (STDMETHODCALLTYPE *SetIsHyperlinkTarget)( + IXpsOMPage1 *This, + WINBOOL isHyperlinkTarget); + + HRESULT (STDMETHODCALLTYPE *GetDictionary)( + IXpsOMPage1 *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryLocal)( + IXpsOMPage1 *This, + IXpsOMDictionary **resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryLocal)( + IXpsOMPage1 *This, + IXpsOMDictionary *resourceDictionary); + + HRESULT (STDMETHODCALLTYPE *GetDictionaryResource)( + IXpsOMPage1 *This, + IXpsOMRemoteDictionaryResource **remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *SetDictionaryResource)( + IXpsOMPage1 *This, + IXpsOMRemoteDictionaryResource *remoteDictionaryResource); + + HRESULT (STDMETHODCALLTYPE *Write)( + IXpsOMPage1 *This, + ISequentialStream *stream, + WINBOOL optimizeMarkupSize); + + HRESULT (STDMETHODCALLTYPE *GenerateUnusedLookupKey)( + IXpsOMPage1 *This, + XPS_OBJECT_TYPE type, + LPWSTR *key); + + HRESULT (STDMETHODCALLTYPE *Clone)( + IXpsOMPage1 *This, + IXpsOMPage **page); + + /*** IXpsOMPage1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentType)( + IXpsOMPage1 *This, + XPS_DOCUMENT_TYPE *documentType); + + HRESULT (STDMETHODCALLTYPE *Write1)( + IXpsOMPage1 *This, + ISequentialStream *stream, + WINBOOL optimizeMarkupSize, + XPS_DOCUMENT_TYPE documentType); + + END_INTERFACE +} IXpsOMPage1Vtbl; + +interface IXpsOMPage1 { + CONST_VTBL IXpsOMPage1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMPage1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMPage1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMPage1_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMPage1_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMPage1_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMPage methods ***/ +#define IXpsOMPage1_GetOwner(This,pageReference) (This)->lpVtbl->GetOwner(This,pageReference) +#define IXpsOMPage1_GetVisuals(This,visuals) (This)->lpVtbl->GetVisuals(This,visuals) +#define IXpsOMPage1_GetPageDimensions(This,pageDimensions) (This)->lpVtbl->GetPageDimensions(This,pageDimensions) +#define IXpsOMPage1_SetPageDimensions(This,pageDimensions) (This)->lpVtbl->SetPageDimensions(This,pageDimensions) +#define IXpsOMPage1_GetContentBox(This,contentBox) (This)->lpVtbl->GetContentBox(This,contentBox) +#define IXpsOMPage1_SetContentBox(This,contentBox) (This)->lpVtbl->SetContentBox(This,contentBox) +#define IXpsOMPage1_GetBleedBox(This,bleedBox) (This)->lpVtbl->GetBleedBox(This,bleedBox) +#define IXpsOMPage1_SetBleedBox(This,bleedBox) (This)->lpVtbl->SetBleedBox(This,bleedBox) +#define IXpsOMPage1_GetLanguage(This,language) (This)->lpVtbl->GetLanguage(This,language) +#define IXpsOMPage1_SetLanguage(This,language) (This)->lpVtbl->SetLanguage(This,language) +#define IXpsOMPage1_GetName(This,name) (This)->lpVtbl->GetName(This,name) +#define IXpsOMPage1_SetName(This,name) (This)->lpVtbl->SetName(This,name) +#define IXpsOMPage1_GetIsHyperlinkTarget(This,isHyperlinkTarget) (This)->lpVtbl->GetIsHyperlinkTarget(This,isHyperlinkTarget) +#define IXpsOMPage1_SetIsHyperlinkTarget(This,isHyperlinkTarget) (This)->lpVtbl->SetIsHyperlinkTarget(This,isHyperlinkTarget) +#define IXpsOMPage1_GetDictionary(This,resourceDictionary) (This)->lpVtbl->GetDictionary(This,resourceDictionary) +#define IXpsOMPage1_GetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->GetDictionaryLocal(This,resourceDictionary) +#define IXpsOMPage1_SetDictionaryLocal(This,resourceDictionary) (This)->lpVtbl->SetDictionaryLocal(This,resourceDictionary) +#define IXpsOMPage1_GetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMPage1_SetDictionaryResource(This,remoteDictionaryResource) (This)->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource) +#define IXpsOMPage1_Write(This,stream,optimizeMarkupSize) (This)->lpVtbl->Write(This,stream,optimizeMarkupSize) +#define IXpsOMPage1_GenerateUnusedLookupKey(This,type,key) (This)->lpVtbl->GenerateUnusedLookupKey(This,type,key) +#define IXpsOMPage1_Clone(This,page) (This)->lpVtbl->Clone(This,page) +/*** IXpsOMPage1 methods ***/ +#define IXpsOMPage1_GetDocumentType(This,documentType) (This)->lpVtbl->GetDocumentType(This,documentType) +#define IXpsOMPage1_Write1(This,stream,optimizeMarkupSize,documentType) (This)->lpVtbl->Write1(This,stream,optimizeMarkupSize,documentType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMPage1_QueryInterface(IXpsOMPage1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMPage1_AddRef(IXpsOMPage1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMPage1_Release(IXpsOMPage1* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMPage1_GetPartName(IXpsOMPage1* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMPage1_SetPartName(IXpsOMPage1* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMPage methods ***/ +static inline HRESULT IXpsOMPage1_GetOwner(IXpsOMPage1* This,IXpsOMPageReference **pageReference) { + return This->lpVtbl->GetOwner(This,pageReference); +} +static inline HRESULT IXpsOMPage1_GetVisuals(IXpsOMPage1* This,IXpsOMVisualCollection **visuals) { + return This->lpVtbl->GetVisuals(This,visuals); +} +static inline HRESULT IXpsOMPage1_GetPageDimensions(IXpsOMPage1* This,XPS_SIZE *pageDimensions) { + return This->lpVtbl->GetPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPage1_SetPageDimensions(IXpsOMPage1* This,const XPS_SIZE *pageDimensions) { + return This->lpVtbl->SetPageDimensions(This,pageDimensions); +} +static inline HRESULT IXpsOMPage1_GetContentBox(IXpsOMPage1* This,XPS_RECT *contentBox) { + return This->lpVtbl->GetContentBox(This,contentBox); +} +static inline HRESULT IXpsOMPage1_SetContentBox(IXpsOMPage1* This,const XPS_RECT *contentBox) { + return This->lpVtbl->SetContentBox(This,contentBox); +} +static inline HRESULT IXpsOMPage1_GetBleedBox(IXpsOMPage1* This,XPS_RECT *bleedBox) { + return This->lpVtbl->GetBleedBox(This,bleedBox); +} +static inline HRESULT IXpsOMPage1_SetBleedBox(IXpsOMPage1* This,const XPS_RECT *bleedBox) { + return This->lpVtbl->SetBleedBox(This,bleedBox); +} +static inline HRESULT IXpsOMPage1_GetLanguage(IXpsOMPage1* This,LPWSTR *language) { + return This->lpVtbl->GetLanguage(This,language); +} +static inline HRESULT IXpsOMPage1_SetLanguage(IXpsOMPage1* This,LPCWSTR language) { + return This->lpVtbl->SetLanguage(This,language); +} +static inline HRESULT IXpsOMPage1_GetName(IXpsOMPage1* This,LPWSTR *name) { + return This->lpVtbl->GetName(This,name); +} +static inline HRESULT IXpsOMPage1_SetName(IXpsOMPage1* This,LPCWSTR name) { + return This->lpVtbl->SetName(This,name); +} +static inline HRESULT IXpsOMPage1_GetIsHyperlinkTarget(IXpsOMPage1* This,WINBOOL *isHyperlinkTarget) { + return This->lpVtbl->GetIsHyperlinkTarget(This,isHyperlinkTarget); +} +static inline HRESULT IXpsOMPage1_SetIsHyperlinkTarget(IXpsOMPage1* This,WINBOOL isHyperlinkTarget) { + return This->lpVtbl->SetIsHyperlinkTarget(This,isHyperlinkTarget); +} +static inline HRESULT IXpsOMPage1_GetDictionary(IXpsOMPage1* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionary(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage1_GetDictionaryLocal(IXpsOMPage1* This,IXpsOMDictionary **resourceDictionary) { + return This->lpVtbl->GetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage1_SetDictionaryLocal(IXpsOMPage1* This,IXpsOMDictionary *resourceDictionary) { + return This->lpVtbl->SetDictionaryLocal(This,resourceDictionary); +} +static inline HRESULT IXpsOMPage1_GetDictionaryResource(IXpsOMPage1* This,IXpsOMRemoteDictionaryResource **remoteDictionaryResource) { + return This->lpVtbl->GetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMPage1_SetDictionaryResource(IXpsOMPage1* This,IXpsOMRemoteDictionaryResource *remoteDictionaryResource) { + return This->lpVtbl->SetDictionaryResource(This,remoteDictionaryResource); +} +static inline HRESULT IXpsOMPage1_Write(IXpsOMPage1* This,ISequentialStream *stream,WINBOOL optimizeMarkupSize) { + return This->lpVtbl->Write(This,stream,optimizeMarkupSize); +} +static inline HRESULT IXpsOMPage1_GenerateUnusedLookupKey(IXpsOMPage1* This,XPS_OBJECT_TYPE type,LPWSTR *key) { + return This->lpVtbl->GenerateUnusedLookupKey(This,type,key); +} +static inline HRESULT IXpsOMPage1_Clone(IXpsOMPage1* This,IXpsOMPage **page) { + return This->lpVtbl->Clone(This,page); +} +/*** IXpsOMPage1 methods ***/ +static inline HRESULT IXpsOMPage1_GetDocumentType(IXpsOMPage1* This,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetDocumentType(This,documentType); +} +static inline HRESULT IXpsOMPage1_Write1(IXpsOMPage1* This,ISequentialStream *stream,WINBOOL optimizeMarkupSize,XPS_DOCUMENT_TYPE documentType) { + return This->lpVtbl->Write1(This,stream,optimizeMarkupSize,documentType); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMPage1_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsDocumentPackageTarget interface + */ +#ifndef __IXpsDocumentPackageTarget_INTERFACE_DEFINED__ +#define __IXpsDocumentPackageTarget_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsDocumentPackageTarget, 0x3b0b6d38, 0x53ad, 0x41da, 0xb2,0x12, 0xd3,0x76,0x37,0xa6,0x71,0x4e); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("3b0b6d38-53ad-41da-b212-d37637a6714e") +IXpsDocumentPackageTarget : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE GetXpsOMPackageWriter( + IOpcPartUri *documentSequencePartName, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetXpsOMFactory( + IXpsOMObjectFactory **xpsFactory) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetXpsType( + XPS_DOCUMENT_TYPE *documentType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsDocumentPackageTarget, 0x3b0b6d38, 0x53ad, 0x41da, 0xb2,0x12, 0xd3,0x76,0x37,0xa6,0x71,0x4e) +#endif +#else +typedef struct IXpsDocumentPackageTargetVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsDocumentPackageTarget *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsDocumentPackageTarget *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsDocumentPackageTarget *This); + + /*** IXpsDocumentPackageTarget methods ***/ + HRESULT (STDMETHODCALLTYPE *GetXpsOMPackageWriter)( + IXpsDocumentPackageTarget *This, + IOpcPartUri *documentSequencePartName, + IOpcPartUri *discardControlPartName, + IXpsOMPackageWriter **packageWriter); + + HRESULT (STDMETHODCALLTYPE *GetXpsOMFactory)( + IXpsDocumentPackageTarget *This, + IXpsOMObjectFactory **xpsFactory); + + HRESULT (STDMETHODCALLTYPE *GetXpsType)( + IXpsDocumentPackageTarget *This, + XPS_DOCUMENT_TYPE *documentType); + + END_INTERFACE +} IXpsDocumentPackageTargetVtbl; + +interface IXpsDocumentPackageTarget { + CONST_VTBL IXpsDocumentPackageTargetVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsDocumentPackageTarget_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsDocumentPackageTarget_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsDocumentPackageTarget_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsDocumentPackageTarget methods ***/ +#define IXpsDocumentPackageTarget_GetXpsOMPackageWriter(This,documentSequencePartName,discardControlPartName,packageWriter) (This)->lpVtbl->GetXpsOMPackageWriter(This,documentSequencePartName,discardControlPartName,packageWriter) +#define IXpsDocumentPackageTarget_GetXpsOMFactory(This,xpsFactory) (This)->lpVtbl->GetXpsOMFactory(This,xpsFactory) +#define IXpsDocumentPackageTarget_GetXpsType(This,documentType) (This)->lpVtbl->GetXpsType(This,documentType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsDocumentPackageTarget_QueryInterface(IXpsDocumentPackageTarget* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsDocumentPackageTarget_AddRef(IXpsDocumentPackageTarget* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsDocumentPackageTarget_Release(IXpsDocumentPackageTarget* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsDocumentPackageTarget methods ***/ +static inline HRESULT IXpsDocumentPackageTarget_GetXpsOMPackageWriter(IXpsDocumentPackageTarget* This,IOpcPartUri *documentSequencePartName,IOpcPartUri *discardControlPartName,IXpsOMPackageWriter **packageWriter) { + return This->lpVtbl->GetXpsOMPackageWriter(This,documentSequencePartName,discardControlPartName,packageWriter); +} +static inline HRESULT IXpsDocumentPackageTarget_GetXpsOMFactory(IXpsDocumentPackageTarget* This,IXpsOMObjectFactory **xpsFactory) { + return This->lpVtbl->GetXpsOMFactory(This,xpsFactory); +} +static inline HRESULT IXpsDocumentPackageTarget_GetXpsType(IXpsDocumentPackageTarget* This,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetXpsType(This,documentType); +} +#endif +#endif + +#endif + + +#endif /* __IXpsDocumentPackageTarget_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsOMRemoteDictionaryResource1 interface + */ +#ifndef __IXpsOMRemoteDictionaryResource1_INTERFACE_DEFINED__ +#define __IXpsOMRemoteDictionaryResource1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsOMRemoteDictionaryResource1, 0xbf8fc1d4, 0x9d46, 0x4141, 0xba,0x5f, 0x94,0xbb,0x92,0x50,0xd0,0x41); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("bf8fc1d4-9d46-4141-ba5f-94bb9250d041") +IXpsOMRemoteDictionaryResource1 : public IXpsOMRemoteDictionaryResource +{ + virtual HRESULT STDMETHODCALLTYPE GetDocumentType( + XPS_DOCUMENT_TYPE *documentType) = 0; + + virtual HRESULT STDMETHODCALLTYPE Write1( + ISequentialStream *stream, + XPS_DOCUMENT_TYPE documentType) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsOMRemoteDictionaryResource1, 0xbf8fc1d4, 0x9d46, 0x4141, 0xba,0x5f, 0x94,0xbb,0x92,0x50,0xd0,0x41) +#endif +#else +typedef struct IXpsOMRemoteDictionaryResource1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsOMRemoteDictionaryResource1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsOMRemoteDictionaryResource1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsOMRemoteDictionaryResource1 *This); + + /*** IXpsOMPart methods ***/ + HRESULT (STDMETHODCALLTYPE *GetPartName)( + IXpsOMRemoteDictionaryResource1 *This, + IOpcPartUri **partUri); + + HRESULT (STDMETHODCALLTYPE *SetPartName)( + IXpsOMRemoteDictionaryResource1 *This, + IOpcPartUri *partUri); + + /*** IXpsOMRemoteDictionaryResource methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDictionary)( + IXpsOMRemoteDictionaryResource1 *This, + IXpsOMDictionary **dictionary); + + HRESULT (STDMETHODCALLTYPE *SetDictionary)( + IXpsOMRemoteDictionaryResource1 *This, + IXpsOMDictionary *dictionary); + + /*** IXpsOMRemoteDictionaryResource1 methods ***/ + HRESULT (STDMETHODCALLTYPE *GetDocumentType)( + IXpsOMRemoteDictionaryResource1 *This, + XPS_DOCUMENT_TYPE *documentType); + + HRESULT (STDMETHODCALLTYPE *Write1)( + IXpsOMRemoteDictionaryResource1 *This, + ISequentialStream *stream, + XPS_DOCUMENT_TYPE documentType); + + END_INTERFACE +} IXpsOMRemoteDictionaryResource1Vtbl; + +interface IXpsOMRemoteDictionaryResource1 { + CONST_VTBL IXpsOMRemoteDictionaryResource1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsOMRemoteDictionaryResource1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsOMRemoteDictionaryResource1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsOMRemoteDictionaryResource1_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsOMPart methods ***/ +#define IXpsOMRemoteDictionaryResource1_GetPartName(This,partUri) (This)->lpVtbl->GetPartName(This,partUri) +#define IXpsOMRemoteDictionaryResource1_SetPartName(This,partUri) (This)->lpVtbl->SetPartName(This,partUri) +/*** IXpsOMRemoteDictionaryResource methods ***/ +#define IXpsOMRemoteDictionaryResource1_GetDictionary(This,dictionary) (This)->lpVtbl->GetDictionary(This,dictionary) +#define IXpsOMRemoteDictionaryResource1_SetDictionary(This,dictionary) (This)->lpVtbl->SetDictionary(This,dictionary) +/*** IXpsOMRemoteDictionaryResource1 methods ***/ +#define IXpsOMRemoteDictionaryResource1_GetDocumentType(This,documentType) (This)->lpVtbl->GetDocumentType(This,documentType) +#define IXpsOMRemoteDictionaryResource1_Write1(This,stream,documentType) (This)->lpVtbl->Write1(This,stream,documentType) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource1_QueryInterface(IXpsOMRemoteDictionaryResource1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsOMRemoteDictionaryResource1_AddRef(IXpsOMRemoteDictionaryResource1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsOMRemoteDictionaryResource1_Release(IXpsOMRemoteDictionaryResource1* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsOMPart methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource1_GetPartName(IXpsOMRemoteDictionaryResource1* This,IOpcPartUri **partUri) { + return This->lpVtbl->GetPartName(This,partUri); +} +static inline HRESULT IXpsOMRemoteDictionaryResource1_SetPartName(IXpsOMRemoteDictionaryResource1* This,IOpcPartUri *partUri) { + return This->lpVtbl->SetPartName(This,partUri); +} +/*** IXpsOMRemoteDictionaryResource methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource1_GetDictionary(IXpsOMRemoteDictionaryResource1* This,IXpsOMDictionary **dictionary) { + return This->lpVtbl->GetDictionary(This,dictionary); +} +static inline HRESULT IXpsOMRemoteDictionaryResource1_SetDictionary(IXpsOMRemoteDictionaryResource1* This,IXpsOMDictionary *dictionary) { + return This->lpVtbl->SetDictionary(This,dictionary); +} +/*** IXpsOMRemoteDictionaryResource1 methods ***/ +static inline HRESULT IXpsOMRemoteDictionaryResource1_GetDocumentType(IXpsOMRemoteDictionaryResource1* This,XPS_DOCUMENT_TYPE *documentType) { + return This->lpVtbl->GetDocumentType(This,documentType); +} +static inline HRESULT IXpsOMRemoteDictionaryResource1_Write1(IXpsOMRemoteDictionaryResource1* This,ISequentialStream *stream,XPS_DOCUMENT_TYPE documentType) { + return This->lpVtbl->Write1(This,stream,documentType); +} +#endif +#endif + +#endif + + +#endif /* __IXpsOMRemoteDictionaryResource1_INTERFACE_DEFINED__ */ + +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xpsobjectmodel_1_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsprint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsprint.h new file mode 100644 index 00000000..774ffe79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsprint.h @@ -0,0 +1,265 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xpsprint.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 __xpsprint_h__ +#define __xpsprint_h__ + +/* Forward declarations */ + +#ifndef __IXpsPrintJobStream_FWD_DEFINED__ +#define __IXpsPrintJobStream_FWD_DEFINED__ +typedef interface IXpsPrintJobStream IXpsPrintJobStream; +#ifdef __cplusplus +interface IXpsPrintJobStream; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsPrintJob_FWD_DEFINED__ +#define __IXpsPrintJob_FWD_DEFINED__ +typedef interface IXpsPrintJob IXpsPrintJob; +#ifdef __cplusplus +interface IXpsPrintJob; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if NTDDI_VERSION >= 0x06010000 +typedef enum __WIDL_xpsprint_generated_name_0000004A { + XPS_JOB_IN_PROGRESS = 0, + XPS_JOB_COMPLETED = 1, + XPS_JOB_CANCELLED = 2, + XPS_JOB_FAILED = 3 +} XPS_JOB_COMPLETION; +typedef struct __WIDL_xpsprint_generated_name_0000004B { + UINT32 jobId; + INT32 currentDocument; + INT32 currentPage; + INT32 currentPageTotal; + XPS_JOB_COMPLETION completion; + HRESULT jobStatus; +} XPS_JOB_STATUS; +/***************************************************************************** + * IXpsPrintJobStream interface + */ +#ifndef __IXpsPrintJobStream_INTERFACE_DEFINED__ +#define __IXpsPrintJobStream_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsPrintJobStream, 0x7a77dc5f, 0x45d6, 0x4dff, 0x93,0x07, 0xd8,0xcb,0x84,0x63,0x47,0xca); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7a77dc5f-45d6-4dff-9307-d8cb846347ca") +IXpsPrintJobStream : public ISequentialStream +{ + virtual HRESULT STDMETHODCALLTYPE Close( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsPrintJobStream, 0x7a77dc5f, 0x45d6, 0x4dff, 0x93,0x07, 0xd8,0xcb,0x84,0x63,0x47,0xca) +#endif +#else +typedef struct IXpsPrintJobStreamVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsPrintJobStream *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsPrintJobStream *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsPrintJobStream *This); + + /*** ISequentialStream methods ***/ + HRESULT (STDMETHODCALLTYPE *Read)( + IXpsPrintJobStream *This, + void *pv, + ULONG cb, + ULONG *pcbRead); + + HRESULT (STDMETHODCALLTYPE *Write)( + IXpsPrintJobStream *This, + const void *pv, + ULONG cb, + ULONG *pcbWritten); + + /*** IXpsPrintJobStream methods ***/ + HRESULT (STDMETHODCALLTYPE *Close)( + IXpsPrintJobStream *This); + + END_INTERFACE +} IXpsPrintJobStreamVtbl; + +interface IXpsPrintJobStream { + CONST_VTBL IXpsPrintJobStreamVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsPrintJobStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsPrintJobStream_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsPrintJobStream_Release(This) (This)->lpVtbl->Release(This) +/*** ISequentialStream methods ***/ +#define IXpsPrintJobStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead) +#define IXpsPrintJobStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten) +/*** IXpsPrintJobStream methods ***/ +#define IXpsPrintJobStream_Close(This) (This)->lpVtbl->Close(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsPrintJobStream_QueryInterface(IXpsPrintJobStream* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsPrintJobStream_AddRef(IXpsPrintJobStream* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsPrintJobStream_Release(IXpsPrintJobStream* This) { + return This->lpVtbl->Release(This); +} +/*** ISequentialStream methods ***/ +static inline HRESULT IXpsPrintJobStream_Read(IXpsPrintJobStream* This,void *pv,ULONG cb,ULONG *pcbRead) { + return This->lpVtbl->Read(This,pv,cb,pcbRead); +} +static inline HRESULT IXpsPrintJobStream_Write(IXpsPrintJobStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) { + return This->lpVtbl->Write(This,pv,cb,pcbWritten); +} +/*** IXpsPrintJobStream methods ***/ +static inline HRESULT IXpsPrintJobStream_Close(IXpsPrintJobStream* This) { + return This->lpVtbl->Close(This); +} +#endif +#endif + +#endif + + +#endif /* __IXpsPrintJobStream_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsPrintJob interface + */ +#ifndef __IXpsPrintJob_INTERFACE_DEFINED__ +#define __IXpsPrintJob_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsPrintJob, 0x5ab89b06, 0x8194, 0x425f, 0xab,0x3b, 0xd7,0xa9,0x6e,0x35,0x01,0x61); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("5ab89b06-8194-425f-ab3b-d7a96e350161") +IXpsPrintJob : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + + virtual HRESULT STDMETHODCALLTYPE GetJobStatus( + XPS_JOB_STATUS *jobStatus) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsPrintJob, 0x5ab89b06, 0x8194, 0x425f, 0xab,0x3b, 0xd7,0xa9,0x6e,0x35,0x01,0x61) +#endif +#else +typedef struct IXpsPrintJobVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsPrintJob *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsPrintJob *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsPrintJob *This); + + /*** IXpsPrintJob methods ***/ + HRESULT (STDMETHODCALLTYPE *Cancel)( + IXpsPrintJob *This); + + HRESULT (STDMETHODCALLTYPE *GetJobStatus)( + IXpsPrintJob *This, + XPS_JOB_STATUS *jobStatus); + + END_INTERFACE +} IXpsPrintJobVtbl; + +interface IXpsPrintJob { + CONST_VTBL IXpsPrintJobVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsPrintJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsPrintJob_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsPrintJob_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsPrintJob methods ***/ +#define IXpsPrintJob_Cancel(This) (This)->lpVtbl->Cancel(This) +#define IXpsPrintJob_GetJobStatus(This,jobStatus) (This)->lpVtbl->GetJobStatus(This,jobStatus) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsPrintJob_QueryInterface(IXpsPrintJob* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsPrintJob_AddRef(IXpsPrintJob* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsPrintJob_Release(IXpsPrintJob* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsPrintJob methods ***/ +static inline HRESULT IXpsPrintJob_Cancel(IXpsPrintJob* This) { + return This->lpVtbl->Cancel(This); +} +static inline HRESULT IXpsPrintJob_GetJobStatus(IXpsPrintJob* This,XPS_JOB_STATUS *jobStatus) { + return This->lpVtbl->GetJobStatus(This,jobStatus); +} +#endif +#endif + +#endif + + +#endif /* __IXpsPrintJob_INTERFACE_DEFINED__ */ + +HRESULT WINAPI StartXpsPrintJob (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, UINT8 *printablePagesOn, UINT32 printablePagesOnCount, IXpsPrintJob **xpsPrintJob, IXpsPrintJobStream **documentStream, IXpsPrintJobStream **printTicketStream); +HRESULT WINAPI StartXpsPrintJob1 (LPCWSTR printerName, LPCWSTR jobName, LPCWSTR outputFileName, HANDLE progressEvent, HANDLE completionEvent, IXpsPrintJob **xpsPrintJob, IXpsOMPackageTarget **printContentReceiver); +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xpsprint_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsrassvc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsrassvc.h new file mode 100644 index 00000000..50287864 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/xpsrassvc.h @@ -0,0 +1,467 @@ +/*** Autogenerated by WIDL 10.0-rc1 from include/xpsrassvc.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 __xpsrassvc_h__ +#define __xpsrassvc_h__ + +/* Forward declarations */ + +#ifndef __IXpsRasterizerNotificationCallback_FWD_DEFINED__ +#define __IXpsRasterizerNotificationCallback_FWD_DEFINED__ +typedef interface IXpsRasterizerNotificationCallback IXpsRasterizerNotificationCallback; +#ifdef __cplusplus +interface IXpsRasterizerNotificationCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizer_FWD_DEFINED__ +#define __IXpsRasterizer_FWD_DEFINED__ +typedef interface IXpsRasterizer IXpsRasterizer; +#ifdef __cplusplus +interface IXpsRasterizer; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizationFactory_FWD_DEFINED__ +#define __IXpsRasterizationFactory_FWD_DEFINED__ +typedef interface IXpsRasterizationFactory IXpsRasterizationFactory; +#ifdef __cplusplus +interface IXpsRasterizationFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizationFactory1_FWD_DEFINED__ +#define __IXpsRasterizationFactory1_FWD_DEFINED__ +typedef interface IXpsRasterizationFactory1 IXpsRasterizationFactory1; +#ifdef __cplusplus +interface IXpsRasterizationFactory1; +#endif /* __cplusplus */ +#endif + +/* Headers for imported files */ + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __IXpsRasterizerNotificationCallback_FWD_DEFINED__ +#define __IXpsRasterizerNotificationCallback_FWD_DEFINED__ +typedef interface IXpsRasterizerNotificationCallback IXpsRasterizerNotificationCallback; +#ifdef __cplusplus +interface IXpsRasterizerNotificationCallback; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizer_FWD_DEFINED__ +#define __IXpsRasterizer_FWD_DEFINED__ +typedef interface IXpsRasterizer IXpsRasterizer; +#ifdef __cplusplus +interface IXpsRasterizer; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizationFactory_FWD_DEFINED__ +#define __IXpsRasterizationFactory_FWD_DEFINED__ +typedef interface IXpsRasterizationFactory IXpsRasterizationFactory; +#ifdef __cplusplus +interface IXpsRasterizationFactory; +#endif /* __cplusplus */ +#endif + +#ifndef __IXpsRasterizationFactory1_FWD_DEFINED__ +#define __IXpsRasterizationFactory1_FWD_DEFINED__ +typedef interface IXpsRasterizationFactory1 IXpsRasterizationFactory1; +#ifdef __cplusplus +interface IXpsRasterizationFactory1; +#endif /* __cplusplus */ +#endif + +#include + +#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +typedef enum __WIDL_xpsrassvc_generated_name_0000004A { + XPSRAS_RENDERING_MODE_ANTIALIASED = 0, + XPSRAS_RENDERING_MODE_ALIASED = 1 +} XPSRAS_RENDERING_MODE; +#if NTDDI_VERSION >= 0x06020000 +typedef enum __WIDL_xpsrassvc_generated_name_0000004B { + XPSRAS_PIXEL_FORMAT_32BPP_PBGRA_UINT_SRGB = 1, + XPSRAS_PIXEL_FORMAT_64BPP_PRGBA_HALF_SCRGB = 2, + XPSRAS_PIXEL_FORMAT_128BPP_PRGBA_FLOAT_SCRGB = 3 +} XPSRAS_PIXEL_FORMAT; +#endif +/***************************************************************************** + * IXpsRasterizerNotificationCallback interface + */ +#ifndef __IXpsRasterizerNotificationCallback_INTERFACE_DEFINED__ +#define __IXpsRasterizerNotificationCallback_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsRasterizerNotificationCallback, 0x9ab8fd0d, 0xcb94, 0x49c2, 0x9c,0xb0, 0x97,0xec,0x1d,0x54,0x69,0xd2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("9ab8fd0d-cb94-49c2-9cb0-97ec1d5469d2") +IXpsRasterizerNotificationCallback : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Continue( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsRasterizerNotificationCallback, 0x9ab8fd0d, 0xcb94, 0x49c2, 0x9c,0xb0, 0x97,0xec,0x1d,0x54,0x69,0xd2) +#endif +#else +typedef struct IXpsRasterizerNotificationCallbackVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsRasterizerNotificationCallback *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsRasterizerNotificationCallback *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsRasterizerNotificationCallback *This); + + /*** IXpsRasterizerNotificationCallback methods ***/ + HRESULT (STDMETHODCALLTYPE *Continue)( + IXpsRasterizerNotificationCallback *This); + + END_INTERFACE +} IXpsRasterizerNotificationCallbackVtbl; + +interface IXpsRasterizerNotificationCallback { + CONST_VTBL IXpsRasterizerNotificationCallbackVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsRasterizerNotificationCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsRasterizerNotificationCallback_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsRasterizerNotificationCallback_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsRasterizerNotificationCallback methods ***/ +#define IXpsRasterizerNotificationCallback_Continue(This) (This)->lpVtbl->Continue(This) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsRasterizerNotificationCallback_QueryInterface(IXpsRasterizerNotificationCallback* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsRasterizerNotificationCallback_AddRef(IXpsRasterizerNotificationCallback* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsRasterizerNotificationCallback_Release(IXpsRasterizerNotificationCallback* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsRasterizerNotificationCallback methods ***/ +static inline HRESULT IXpsRasterizerNotificationCallback_Continue(IXpsRasterizerNotificationCallback* This) { + return This->lpVtbl->Continue(This); +} +#endif +#endif + +#endif + + +#endif /* __IXpsRasterizerNotificationCallback_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsRasterizer interface + */ +#ifndef __IXpsRasterizer_INTERFACE_DEFINED__ +#define __IXpsRasterizer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsRasterizer, 0x7567cfc8, 0xc156, 0x47a8, 0x9d,0xac, 0x11,0xa2,0xae,0x5b,0xdd,0x6b); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("7567cfc8-c156-47a8-9dac-11a2ae5bdd6b") +IXpsRasterizer : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE RasterizeRect( + INT x, + INT y, + INT width, + INT height, + IXpsRasterizerNotificationCallback *notificationCallback, + IWICBitmap **bitmap) = 0; + + virtual HRESULT STDMETHODCALLTYPE SetMinimalLineWidth( + INT width) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsRasterizer, 0x7567cfc8, 0xc156, 0x47a8, 0x9d,0xac, 0x11,0xa2,0xae,0x5b,0xdd,0x6b) +#endif +#else +typedef struct IXpsRasterizerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsRasterizer *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsRasterizer *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsRasterizer *This); + + /*** IXpsRasterizer methods ***/ + HRESULT (STDMETHODCALLTYPE *RasterizeRect)( + IXpsRasterizer *This, + INT x, + INT y, + INT width, + INT height, + IXpsRasterizerNotificationCallback *notificationCallback, + IWICBitmap **bitmap); + + HRESULT (STDMETHODCALLTYPE *SetMinimalLineWidth)( + IXpsRasterizer *This, + INT width); + + END_INTERFACE +} IXpsRasterizerVtbl; + +interface IXpsRasterizer { + CONST_VTBL IXpsRasterizerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsRasterizer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsRasterizer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsRasterizer_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsRasterizer methods ***/ +#define IXpsRasterizer_RasterizeRect(This,x,y,width,height,notificationCallback,bitmap) (This)->lpVtbl->RasterizeRect(This,x,y,width,height,notificationCallback,bitmap) +#define IXpsRasterizer_SetMinimalLineWidth(This,width) (This)->lpVtbl->SetMinimalLineWidth(This,width) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsRasterizer_QueryInterface(IXpsRasterizer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsRasterizer_AddRef(IXpsRasterizer* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsRasterizer_Release(IXpsRasterizer* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsRasterizer methods ***/ +static inline HRESULT IXpsRasterizer_RasterizeRect(IXpsRasterizer* This,INT x,INT y,INT width,INT height,IXpsRasterizerNotificationCallback *notificationCallback,IWICBitmap **bitmap) { + return This->lpVtbl->RasterizeRect(This,x,y,width,height,notificationCallback,bitmap); +} +static inline HRESULT IXpsRasterizer_SetMinimalLineWidth(IXpsRasterizer* This,INT width) { + return This->lpVtbl->SetMinimalLineWidth(This,width); +} +#endif +#endif + +#endif + + +#endif /* __IXpsRasterizer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IXpsRasterizationFactory interface + */ +#ifndef __IXpsRasterizationFactory_INTERFACE_DEFINED__ +#define __IXpsRasterizationFactory_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsRasterizationFactory, 0xe094808a, 0x24c6, 0x482b, 0xa3,0xa7, 0xc2,0x1a,0xc9,0xb5,0x5f,0x17); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("e094808a-24c6-482b-a3a7-c21ac9b55f17") +IXpsRasterizationFactory : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateRasterizer( + IXpsOMPage *xpsPage, + FLOAT DPI, + XPSRAS_RENDERING_MODE nonTextRenderingMode, + XPSRAS_RENDERING_MODE textRenderingMode, + IXpsRasterizer **ppIXPSRasterizer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsRasterizationFactory, 0xe094808a, 0x24c6, 0x482b, 0xa3,0xa7, 0xc2,0x1a,0xc9,0xb5,0x5f,0x17) +#endif +#else +typedef struct IXpsRasterizationFactoryVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsRasterizationFactory *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsRasterizationFactory *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsRasterizationFactory *This); + + /*** IXpsRasterizationFactory methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateRasterizer)( + IXpsRasterizationFactory *This, + IXpsOMPage *xpsPage, + FLOAT DPI, + XPSRAS_RENDERING_MODE nonTextRenderingMode, + XPSRAS_RENDERING_MODE textRenderingMode, + IXpsRasterizer **ppIXPSRasterizer); + + END_INTERFACE +} IXpsRasterizationFactoryVtbl; + +interface IXpsRasterizationFactory { + CONST_VTBL IXpsRasterizationFactoryVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsRasterizationFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsRasterizationFactory_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsRasterizationFactory_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsRasterizationFactory methods ***/ +#define IXpsRasterizationFactory_CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,ppIXPSRasterizer) (This)->lpVtbl->CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,ppIXPSRasterizer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsRasterizationFactory_QueryInterface(IXpsRasterizationFactory* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsRasterizationFactory_AddRef(IXpsRasterizationFactory* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsRasterizationFactory_Release(IXpsRasterizationFactory* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsRasterizationFactory methods ***/ +static inline HRESULT IXpsRasterizationFactory_CreateRasterizer(IXpsRasterizationFactory* This,IXpsOMPage *xpsPage,FLOAT DPI,XPSRAS_RENDERING_MODE nonTextRenderingMode,XPSRAS_RENDERING_MODE textRenderingMode,IXpsRasterizer **ppIXPSRasterizer) { + return This->lpVtbl->CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,ppIXPSRasterizer); +} +#endif +#endif + +#endif + + +#endif /* __IXpsRasterizationFactory_INTERFACE_DEFINED__ */ + +#if NTDDI_VERSION >= 0x06020000 +/***************************************************************************** + * IXpsRasterizationFactory1 interface + */ +#ifndef __IXpsRasterizationFactory1_INTERFACE_DEFINED__ +#define __IXpsRasterizationFactory1_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IXpsRasterizationFactory1, 0x2d6e5f77, 0x6414, 0x4a1e, 0xa8,0xe0, 0xd4,0x19,0x4c,0xe6,0xa2,0x6f); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("2d6e5f77-6414-4a1e-a8e0-d4194ce6a26f") +IXpsRasterizationFactory1 : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE CreateRasterizer( + IXpsOMPage *xpsPage, + FLOAT DPI, + XPSRAS_RENDERING_MODE nonTextRenderingMode, + XPSRAS_RENDERING_MODE textRenderingMode, + XPSRAS_PIXEL_FORMAT pixelFormat, + IXpsRasterizer **ppIXPSRasterizer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IXpsRasterizationFactory1, 0x2d6e5f77, 0x6414, 0x4a1e, 0xa8,0xe0, 0xd4,0x19,0x4c,0xe6,0xa2,0x6f) +#endif +#else +typedef struct IXpsRasterizationFactory1Vtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IXpsRasterizationFactory1 *This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IXpsRasterizationFactory1 *This); + + ULONG (STDMETHODCALLTYPE *Release)( + IXpsRasterizationFactory1 *This); + + /*** IXpsRasterizationFactory1 methods ***/ + HRESULT (STDMETHODCALLTYPE *CreateRasterizer)( + IXpsRasterizationFactory1 *This, + IXpsOMPage *xpsPage, + FLOAT DPI, + XPSRAS_RENDERING_MODE nonTextRenderingMode, + XPSRAS_RENDERING_MODE textRenderingMode, + XPSRAS_PIXEL_FORMAT pixelFormat, + IXpsRasterizer **ppIXPSRasterizer); + + END_INTERFACE +} IXpsRasterizationFactory1Vtbl; + +interface IXpsRasterizationFactory1 { + CONST_VTBL IXpsRasterizationFactory1Vtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IXpsRasterizationFactory1_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IXpsRasterizationFactory1_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IXpsRasterizationFactory1_Release(This) (This)->lpVtbl->Release(This) +/*** IXpsRasterizationFactory1 methods ***/ +#define IXpsRasterizationFactory1_CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,pixelFormat,ppIXPSRasterizer) (This)->lpVtbl->CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,pixelFormat,ppIXPSRasterizer) +#else +/*** IUnknown methods ***/ +static inline HRESULT IXpsRasterizationFactory1_QueryInterface(IXpsRasterizationFactory1* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static inline ULONG IXpsRasterizationFactory1_AddRef(IXpsRasterizationFactory1* This) { + return This->lpVtbl->AddRef(This); +} +static inline ULONG IXpsRasterizationFactory1_Release(IXpsRasterizationFactory1* This) { + return This->lpVtbl->Release(This); +} +/*** IXpsRasterizationFactory1 methods ***/ +static inline HRESULT IXpsRasterizationFactory1_CreateRasterizer(IXpsRasterizationFactory1* This,IXpsOMPage *xpsPage,FLOAT DPI,XPSRAS_RENDERING_MODE nonTextRenderingMode,XPSRAS_RENDERING_MODE textRenderingMode,XPSRAS_PIXEL_FORMAT pixelFormat,IXpsRasterizer **ppIXPSRasterizer) { + return This->lpVtbl->CreateRasterizer(This,xpsPage,DPI,nonTextRenderingMode,textRenderingMode,pixelFormat,ppIXPSRasterizer); +} +#endif +#endif + +#endif + + +#endif /* __IXpsRasterizationFactory1_INTERFACE_DEFINED__ */ + +#endif +#endif +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __xpsrassvc_h__ */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ymath.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ymath.h new file mode 100644 index 00000000..bd1dab6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/ymath.h @@ -0,0 +1,52 @@ +/** + * 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 _YMATH +#define _YMATH +#include +_C_STD_BEGIN +_C_LIB_DECL + +#pragma pack(push,_CRT_PACKING) + +#define _DENORM (-2) +#define _FINITE (-1) +#define _INFCODE 1 +#define _NANCODE 2 + +#define _FE_DIVBYZERO 0x04 +#define _FE_INEXACT 0x20 +#define _FE_INVALID 0x01 +#define _FE_OVERFLOW 0x08 +#define _FE_UNDERFLOW 0x10 + +typedef union { + unsigned short _Word[8]; + float _Float; + double _Double; + long double _Long_double; +} _Dconst; + +void __cdecl _Feraise(int); +_CRTIMP double __cdecl _Cosh(double,double); +_CRTIMP short __cdecl _Dtest(double *); +_CRTIMP short __cdecl _Exp(double *,double,short); +_CRTIMP double __cdecl _Sinh(double,double); +extern _CRTIMP _Dconst _Denorm,_Hugeval,_Inf,_Nan,_Snan; +_CRTIMP float __cdecl _FCosh(float,float); +_CRTIMP short __cdecl _FDtest(float *); +_CRTIMP short __cdecl _FExp(float *,float,short); +_CRTIMP float __cdecl _FSinh(float,float); +extern _CRTIMP _Dconst _FDenorm,_FInf,_FNan,_FSnan; +_CRTIMP long double __cdecl _LCosh(long double,long double); +_CRTIMP short __cdecl _LDtest(long double *); +_CRTIMP short __cdecl _LExp(long double *,long double,short); +_CRTIMP long double __cdecl _LSinh(long double,long double); +extern _CRTIMP _Dconst _LDenorm,_LInf,_LNan,_LSnan; +_END_C_LIB_DECL +_C_STD_END + +#pragma pack(pop) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/yvals.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/yvals.h new file mode 100644 index 00000000..ec929c7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/yvals.h @@ -0,0 +1,276 @@ +/** + * 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 _YVALS +#define _YVALS + +#include + +#pragma pack(push,_CRT_PACKING) + +#define _CPPLIB_VER 405 +#define __PURE_APPDOMAIN_GLOBAL + +#ifndef __CRTDECL +#define __CRTDECL __cdecl +#endif + +#define _WIN32_C_LIB 1 + +#define _MULTI_THREAD 1 +#define _IOSTREAM_OP_LOCKS 1 +#define _GLOBAL_LOCALE 0 + +#define _COMPILER_TLS 1 +#define _TLS_QUAL __declspec(thread) + +#ifndef _HAS_EXCEPTIONS +#define _HAS_EXCEPTIONS 1 +#endif + +#ifndef _HAS_NAMESPACE +#define _HAS_NAMESPACE 1 +#endif + +#ifndef _HAS_IMMUTABLE_SETS +#define _HAS_IMMUTABLE_SETS 0 +#endif + +#ifndef _HAS_STRICT_CONFORMANCE +#define _HAS_STRICT_CONFORMANCE 0 +#endif + +#define _GLOBAL_USING 1 +#define _HAS_ITERATOR_DEBUGGING 0 + +#define __STR2WSTR(str) L##str +#define _STR2WSTR(str) __STR2WSTR(str) + +#define __FILEW__ _STR2WSTR(__FILE__) +#define __FUNCTIONW__ _STR2WSTR(__FUNCTION__) + +#define _SCL_SECURE_INVALID_PARAMETER(expr) ::_invalid_parameter_noinfo() + +#define _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("invalid argument") +#define _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT _SCL_SECURE_INVALID_PARAMETER("out of range") +#define _SCL_SECURE_ALWAYS_VALIDATE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_ARGUMENT_NO_ASSERT; } } + +#define _SCL_SECURE_ALWAYS_VALIDATE_RANGE(cond) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_OUT_OF_RANGE_NO_ASSERT; } } + +#define _SCL_SECURE_CRT_VALIDATE(cond,retvalue) { if (!(cond)) { _ASSERTE((#cond,0)); _SCL_SECURE_INVALID_PARAMETER(cond); return (retvalue); } } + +#define _SCL_SECURE_VALIDATE(cond) +#define _SCL_SECURE_VALIDATE_RANGE(cond) + +#define _SCL_SECURE_INVALID_ARGUMENT +#define _SCL_SECURE_OUT_OF_RANGE + +#define _SCL_SECURE_MOVE(func,dst,size,src,count) func((dst),(src),(count)) +#define _SCL_SECURE_COPY(func,dst,size,src,count) func((dst),(src),(count)) + +#define _SECURE_VALIDATION _Secure_validation + +#define _SECURE_VALIDATION_DEFAULT false + +#define _SCL_SECURE_TRAITS_VALIDATE(cond) +#define _SCL_SECURE_TRAITS_VALIDATE_RANGE(cond) + +#define _SCL_SECURE_TRAITS_INVALID_ARGUMENT +#define _SCL_SECURE_TRAITS_OUT_OF_RANGE + +#define _CRT_SECURE_MEMCPY(dest,destsize,source,count) ::memcpy((dest),(source),(count)) +#define _CRT_SECURE_MEMMOVE(dest,destsize,source,count) ::memmove((dest),(source),(count)) +#define _CRT_SECURE_WMEMCPY(dest,destsize,source,count) ::wmemcpy((dest),(source),(count)) +#define _CRT_SECURE_WMEMMOVE(dest,destsize,source,count) ::wmemmove((dest),(source),(count)) + +#ifndef _VC6SP2 +#define _VC6SP2 0 +#endif + +#ifndef _CRTIMP2_NCEEPURE +#define _CRTIMP2_NCEEPURE _CRTIMP +#endif + +#ifndef _MRTIMP2_NPURE +#define _MRTIMP2_NPURE +#endif + +#ifndef _MRTIMP2_NCEE +#define _MRTIMP2_NCEE _CRTIMP +#endif + +#ifndef _MRTIMP2_NCEEPURE +#define _MRTIMP2_NCEEPURE _CRTIMP +#endif + +#ifndef _MRTIMP2_NPURE_NCEEPURE +#define _MRTIMP2_NPURE_NCEEPURE +#endif + +#define _DLL_CPPLIB + +#ifndef _CRTIMP2_PURE +#define _CRTIMP2_PURE _CRTIMP +#endif + +#ifndef _CRTDATA2 +#define _CRTDATA2 _CRTIMP +#endif + +#define _DEPRECATED + +#ifdef __cplusplus +#define _STD_BEGIN namespace std { +#define _STD_END } +#define _STD ::std:: + +#define _STDEXT_BEGIN namespace stdext { +#define _STDEXT_END } +#define _STDEXT ::stdext:: + +#ifdef _STD_USING +#define _C_STD_BEGIN namespace std { +#define _C_STD_END } +#define _CSTD ::std:: +#else + +#define _C_STD_BEGIN +#define _C_STD_END +#define _CSTD :: +#endif + +#define _C_LIB_DECL extern "C" { +#define _END_C_LIB_DECL } +#define _EXTERN_C extern "C" { +#define _END_EXTERN_C } +#else +#define _STD_BEGIN +#define _STD_END +#define _STD + +#define _C_STD_BEGIN +#define _C_STD_END +#define _CSTD + +#define _C_LIB_DECL +#define _END_C_LIB_DECL +#define _EXTERN_C +#define _END_EXTERN_C +#endif + +#define _Restrict __restrict__ + +#ifdef __cplusplus +#pragma push_macro("_Bool") +#undef _Bool +_STD_BEGIN +typedef bool _Bool; +_STD_END +#pragma pop_macro("_Bool") +#endif + +#define _LONGLONG /* __MINGW_EXTENSION */ __int64 +#define _ULONGLONG /* __MINGW_EXTENSION */ unsigned __int64 +#define _LLONG_MAX 0x7fffffffffffffffLL +#define _ULLONG_MAX 0xffffffffffffffffULL + +#define _C2 1 + +#define _MAX_EXP_DIG 8 +#define _MAX_INT_DIG 32 +#define _MAX_SIG_DIG 36 + +__MINGW_EXTENSION typedef _LONGLONG _Longlong; +__MINGW_EXTENSION typedef _ULONGLONG _ULonglong; + +#define _Filet _iobuf + +#ifndef _FPOS_T_DEFINED +#define _FPOSOFF(fp) ((long)(fp)) +#endif + +#define _IOBASE _base +#define _IOPTR _ptr +#define _IOCNT _cnt + +#define _LOCK_LOCALE 0 +#define _LOCK_MALLOC 1 +#define _LOCK_STREAM 2 +#define _LOCK_DEBUG 3 +#define _MAX_LOCK 4 + +#ifdef __cplusplus +_STD_BEGIN + +class _CRTIMP _Lockit { +public: + explicit __thiscall _Lockit(); + explicit __thiscall _Lockit(int); + __thiscall ~_Lockit(); + static void __cdecl _Lockit_ctor(int); + static void __cdecl _Lockit_dtor(int); +private: + static void __cdecl _Lockit_ctor(_Lockit *); + static void __cdecl _Lockit_ctor(_Lockit *,int); + static void __cdecl _Lockit_dtor(_Lockit *); + _Lockit(const _Lockit&); + _Lockit& operator=(const _Lockit&); + int _Locktype; +}; + +#define _BEGIN_LOCK(_Kind) { _STD _Lockit _Lock(_Kind); +#define _END_LOCK() } +#define _BEGIN_LOCINFO(_VarName) { _Locinfo _VarName; +#define _END_LOCINFO() } +#define _RELIABILITY_CONTRACT + +class _CRTIMP _Mutex { +public: + __thiscall _Mutex(); + __thiscall ~_Mutex(); + void __thiscall _Lock(); + void __thiscall _Unlock(); +private: + static void __cdecl _Mutex_ctor(_Mutex *); + static void __cdecl _Mutex_dtor(_Mutex *); + static void __cdecl _Mutex_Lock(_Mutex *); + static void __cdecl _Mutex_Unlock(_Mutex *); + _Mutex(const _Mutex&); + _Mutex& operator=(const _Mutex&); + void *_Mtx; +}; + +class _CRTIMP _Init_locks { +public: + __thiscall _Init_locks(); + __thiscall ~_Init_locks(); +private: + static void __cdecl _Init_locks_ctor(_Init_locks *); + static void __cdecl _Init_locks_dtor(_Init_locks *); +}; + +_STD_END +#endif + +#ifndef _RELIABILITY_CONTRACT +#define _RELIABILITY_CONTRACT +#endif + +_C_STD_BEGIN +_CRTIMP void __cdecl _Atexit(void (__cdecl *)(void)); + +#if !defined(_UCRT) && !defined(__LARGE_MBSTATE_T) +typedef int _Mbstatet; +#endif + +#define _ATEXIT_T void +#define _Mbstinit(x) mbstate_t x = {0} +_C_STD_END + +#define _EXTERN_TEMPLATE template +#define _THROW_BAD_ALLOC _THROW1(...) + +#pragma pack(pop) +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/zmouse.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/zmouse.h new file mode 100644 index 00000000..f1a3b5dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/any-windows-any/zmouse.h @@ -0,0 +1,47 @@ +/** + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ + +#include <_mingw_unicode.h> +#include + +#define MSH_MOUSEWHEEL __MINGW_STRING_AW("MSWHEEL_ROLLMSG") + +#define WHEEL_DELTA 120 + +#ifndef WM_MOUSEWHEEL +#define WM_MOUSEWHEEL (WM_MOUSELAST+1) +#endif + +#define MOUSEZ_CLASSNAME __MINGW_STRING_AW("MouseZ") +#define MOUSEZ_TITLE __MINGW_STRING_AW("Magellan MSWHEEL") + +#define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME) +#define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE) + +#define MSH_WHEELSUPPORT __MINGW_STRING_AW("MSH_WHEELSUPPORT_MSG") +#define MSH_SCROLL_LINES __MINGW_STRING_AW("MSH_SCROLL_LINES_MSG") + +#ifndef WHEEL_PAGESCROLL +#define WHEEL_PAGESCROLL (UINT_MAX) +#endif + +#ifndef SPI_SETWHEELSCROLLLINES +#define SPI_SETWHEELSCROLLLINES 105 +#endif + +#ifndef __CRT__NO_INLINE +__CRT_INLINE HWND HwndMSWheel (PUINT puiMsh_MsgMouseWheel, PUINT puiMsh_Msg3DSupport, PUINT puiMsh_MsgScrollLines, PBOOL pf3DSupport, PINT piScrollLines) { + HWND hw = FindWindow (MSH_WHEELMODULE_CLASS, MSH_WHEELMODULE_TITLE); + + *puiMsh_MsgMouseWheel = RegisterWindowMessage (MSH_MOUSEWHEEL); + *puiMsh_Msg3DSupport = RegisterWindowMessage (MSH_WHEELSUPPORT); + *puiMsh_MsgScrollLines = RegisterWindowMessage (MSH_SCROLL_LINES); + *pf3DSupport = (*puiMsh_Msg3DSupport ? (WINBOOL) SendMessage (hw, *puiMsh_Msg3DSupport, 0, 0) : FALSE); + *piScrollLines = (*puiMsh_MsgScrollLines ? (int)SendMessage (hw, *puiMsh_MsgScrollLines, 0, 0) : 3); + return hw; +} +#endif + +#include diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/bpf_perf_event.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/bpf_perf_event.h new file mode 100644 index 00000000..0ca42307 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/bpf_perf_event.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_BPF_PERF_EVENT_H__ +#define __ASM_BPF_PERF_EVENT_H__ + +#include + +typedef struct user_regs_struct bpf_user_pt_regs_t; + +#endif /* __ASM_BPF_PERF_EVENT_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/byteorder.h new file mode 100644 index 00000000..c6f66b8e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/byteorder.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ASM_ARC_BYTEORDER_H +#define __ASM_ARC_BYTEORDER_H + +#ifdef __BIG_ENDIAN__ +#include +#else +#include +#endif + +#endif /* ASM_ARC_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/cachectl.h new file mode 100644 index 00000000..05396585 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/cachectl.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ARC_ASM_CACHECTL_H +#define __ARC_ASM_CACHECTL_H + +/* + * ARC ABI flags defined for Android's finegrained cacheflush requirements + */ +#define CF_I_INV 0x0002 +#define CF_D_FLUSH 0x0010 +#define CF_D_FLUSH_INV 0x0020 + +#define CF_DEFAULT (CF_I_INV | CF_D_FLUSH) + +/* + * Standard flags expected by cacheflush system call users + */ +#define ICACHE CF_I_INV +#define DCACHE CF_D_FLUSH +#define BCACHE (CF_I_INV | CF_D_FLUSH) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/elf.h new file mode 100644 index 00000000..862645f8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/elf.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ASM_ARC_ELF_H +#define __ASM_ARC_ELF_H + +#include /* for user_regs_struct */ + +/* Machine specific ELF Hdr flags */ +#define EF_ARC_OSABI_MSK 0x00000f00 + +#define EF_ARC_OSABI_V3 0x00000300 /* v3 (no legacy syscalls) */ +#define EF_ARC_OSABI_V4 0x00000400 /* v4 (64bit data any reg align) */ + +#if __GNUC__ < 6 +#define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V3 +#else +#define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V4 +#endif + +typedef unsigned long elf_greg_t; +typedef unsigned long elf_fpregset_t; + +#define ELF_NGREG (sizeof(struct user_regs_struct) / sizeof(elf_greg_t)) +#define ELF_ARCV2REG (sizeof(struct user_regs_arcv2) / sizeof(elf_greg_t)) + +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/page.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/page.h new file mode 100644 index 00000000..232bcd28 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/page.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef __ASM_ARC_PAGE_H +#define __ASM_ARC_PAGE_H + +#include + +/* PAGE_SHIFT determines the page size */ +/* + * Default 8k + * done this way (instead of under CONFIG_ARC_PAGE_SIZE_8K) because adhoc + * user code (busybox appletlib.h) expects PAGE_SHIFT to be defined w/o + * using the correct uClibc header and in their build our autoconf.h is + * not available + */ +#define PAGE_SHIFT 13 +#define PAGE_SIZE _BITUL(PAGE_SHIFT) /* Default 8K */ +#define PAGE_MASK (~(PAGE_SIZE-1)) + +#define PAGE_OFFSET _AC(0x80000000, UL) /* Kernel starts at 2G onwrds */ + +#endif /* __ASM_ARC_PAGE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/ptrace.h new file mode 100644 index 00000000..e3699fcd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/ptrace.h @@ -0,0 +1,58 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Amit Bhor, Sameer Dhavale: Codito Technologies 2004 + */ + +#ifndef __ASM_ARC_PTRACE_H +#define __ASM_ARC_PTRACE_H + +#define PTRACE_GET_THREAD_AREA 25 + +#ifndef __ASSEMBLY__ +/* + * Userspace ABI: Register state needed by + * -ptrace (gdbserver) + * -sigcontext (SA_SIGNINFO signal frame) + * + * This is to decouple pt_regs from user-space ABI, to be able to change it + * w/o affecting the ABI. + * + * The intermediate pad,pad2 are relics of initial layout based on pt_regs + * for optimizations when copying pt_regs to/from user_regs_struct. + * We no longer need them, but can't be changed as they are part of ABI now. + * + * Also, sigcontext only care about the scratch regs as that is what we really + * save/restore for signal handling. However gdb also uses the same struct + * hence callee regs need to be in there too. +*/ +struct user_regs_struct { + + unsigned long pad; + struct { + unsigned long bta, lp_start, lp_end, lp_count; + unsigned long status32, ret, blink, fp, gp; + unsigned long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0; + unsigned long sp; + } scratch; + unsigned long pad2; + struct { + unsigned long r25, r24, r23, r22, r21, r20; + unsigned long r19, r18, r17, r16, r15, r14, r13; + } callee; + unsigned long efa; /* break pt addr, for break points in delay slots */ + unsigned long stop_pc; /* give dbg stop_pc after ensuring brkpt trap */ +}; + +struct user_regs_arcv2 { + unsigned long r30, r58, r59; +}; + +#endif /* !__ASSEMBLY__ */ + +#endif /* __ASM_ARC_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/setup.h new file mode 100644 index 00000000..cdaab17b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/setup.h @@ -0,0 +1,6 @@ +/* + * setup.h is part of userspace header ABI so UAPI scripts have to generate it + * even if there's nothing to export - causing empty + * However to prevent "patch" from discarding it we add this placeholder + * comment + */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..e6651975 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/sigcontext.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#ifndef _ASM_ARC_SIGCONTEXT_H +#define _ASM_ARC_SIGCONTEXT_H + +#include + +/* + * Signal context structure - contains all info to do with the state + * before the signal handler was invoked. + */ +struct sigcontext { + struct user_regs_struct regs; + struct user_regs_arcv2 v2abi; +}; + +#endif /* _ASM_ARC_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/signal.h new file mode 100644 index 00000000..7c417315 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/signal.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Amit Bhor, Sameer Dhavale: Codito Technologies 2004 + */ + +#ifndef _ASM_ARC_SIGNAL_H +#define _ASM_ARC_SIGNAL_H + +/* + * This is much needed for ARC sigreturn optimization. + * This allows uClibc to piggback the addr of a sigreturn stub in sigaction, + * which allows sigreturn based re-entry into kernel after handling signal. + * W/o this kernel needs to "synthesize" the sigreturn trampoline on user + * mode stack which in turn forces the following: + * -TLB Flush (after making the stack page executable) + * -Cache line Flush (to make I/D Cache lines coherent) + */ +#define SA_RESTORER 0x04000000 + +#include + +#endif /* _ASM_ARC_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/swab.h new file mode 100644 index 00000000..3ba03f01 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/swab.h @@ -0,0 +1,99 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * vineetg: May 2011 + * -Support single cycle endian-swap insn in ARC700 4.10 + * + * vineetg: June 2009 + * -Better htonl implementation (5 instead of 9 ALU instructions) + * -Hardware assisted single cycle bswap (Use Case of ARC custom instrn) + */ + +#ifndef __ASM_ARC_SWAB_H +#define __ASM_ARC_SWAB_H + +#include + +/* Native single cycle endian swap insn */ +#ifdef CONFIG_ARC_HAS_SWAPE + +#define __arch_swab32(x) \ +({ \ + unsigned int tmp = x; \ + __asm__( \ + " swape %0, %1 \n" \ + : "=r" (tmp) \ + : "r" (tmp)); \ + tmp; \ +}) + +#else + +/* Several ways of Endian-Swap Emulation for ARC + * 0: kernel generic + * 1: ARC optimised "C" + * 2: ARC Custom instruction + */ +#define ARC_BSWAP_TYPE 1 + +#if (ARC_BSWAP_TYPE == 1) /******* Software only ********/ + +/* The kernel default implementation of htonl is + * return x<<24 | x>>24 | + * (x & (__u32)0x0000ff00UL)<<8 | (x & (__u32)0x00ff0000UL)>>8; + * + * This generates 9 instructions on ARC (excluding the ld/st) + * + * 8051fd8c: ld r3,[r7,20] ; Mem op : Get the value to be swapped + * 8051fd98: asl r5,r3,24 ; get 3rd Byte + * 8051fd9c: lsr r2,r3,24 ; get 0th Byte + * 8051fda0: and r4,r3,0xff00 + * 8051fda8: asl r4,r4,8 ; get 1st Byte + * 8051fdac: and r3,r3,0x00ff0000 + * 8051fdb4: or r2,r2,r5 ; combine 0th and 3rd Bytes + * 8051fdb8: lsr r3,r3,8 ; 2nd Byte at correct place in Dst Reg + * 8051fdbc: or r2,r2,r4 ; combine 0,3 Bytes with 1st Byte + * 8051fdc0: or r2,r2,r3 ; combine 0,3,1 Bytes with 2nd Byte + * 8051fdc4: st r2,[r1,20] ; Mem op : save result back to mem + * + * Joern suggested a better "C" algorithm which is great since + * (1) It is portable to any architecture + * (2) At the same time it takes advantage of ARC ISA (rotate intrns) + */ + +#define __arch_swab32(x) \ +({ unsigned long __in = (x), __tmp; \ + __tmp = __in << 8 | __in >> 24; /* ror tmp,in,24 */ \ + __in = __in << 24 | __in >> 8; /* ror in,in,8 */ \ + __tmp ^= __in; \ + __tmp &= 0xff00ff; \ + __tmp ^ __in; \ +}) + +#elif (ARC_BSWAP_TYPE == 2) /* Custom single cycle bswap instruction */ + +#define __arch_swab32(x) \ +({ \ + unsigned int tmp = x; \ + __asm__( \ + " .extInstruction bswap, 7, 0x00, SUFFIX_NONE, SYNTAX_2OP \n"\ + " bswap %0, %1 \n"\ + : "=r" (tmp) \ + : "r" (tmp)); \ + tmp; \ +}) + +#endif /* ARC_BSWAP_TYPE=zzz */ + +#endif /* CONFIG_ARC_HAS_SWAPE */ + +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) +#define __SWAB_64_THRU_32__ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd.h new file mode 100644 index 00000000..1adb1307 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..2fa4dd77 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-any/asm/unistd_32.h @@ -0,0 +1,352 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl64 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_renameat 38 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs64 43 +#define __NR_fstatfs64 44 +#define __NR_truncate64 45 +#define __NR_ftruncate64 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_llseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile64 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_fstatat64 79 +#define __NR_fstat64 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrlimit 163 +#define __NR_setrlimit 164 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap2 222 +#define __NR_fadvise64_64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_cacheflush 244 +#define __NR_arc_settls 245 +#define __NR_arc_gettls 246 +#define __NR_sysfs 247 +#define __NR_arc_usr_cmpxchg 248 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..460ea512 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* Only little-endian ARC is supported. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..e033990a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fcntl.h @@ -0,0 +1,55 @@ +/* O_*, F_*, FD_* bit values for the generic Linux ABI. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..382f0d08 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/fenv.h @@ -0,0 +1,78 @@ +/* Floating point environment. ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +enum + { + FE_INVALID = +# define FE_INVALID (0x01) + FE_INVALID, + FE_DIVBYZERO = +# define FE_DIVBYZERO (0x02) + FE_DIVBYZERO, + FE_OVERFLOW = +# define FE_OVERFLOW (0x04) + FE_OVERFLOW, + FE_UNDERFLOW = +# define FE_UNDERFLOW (0x08) + FE_UNDERFLOW, + FE_INEXACT = +# define FE_INEXACT (0x10) + FE_INEXACT + }; + +# define FE_ALL_EXCEPT \ + (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +enum + { + FE_TOWARDZERO = +# define FE_TOWARDZERO (0x0) + FE_TOWARDZERO, + FE_TONEAREST = +# define FE_TONEAREST (0x1) /* default */ + FE_TONEAREST, + FE_UPWARD = +# define FE_UPWARD (0x2) + FE_UPWARD, + FE_DOWNWARD = +# define FE_DOWNWARD (0x3) + FE_DOWNWARD + }; + +typedef unsigned int fexcept_t; + +typedef struct +{ + unsigned int __fpcr; + unsigned int __fpsr; +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/link.h new file mode 100644 index 00000000..594c6c80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/link.h @@ -0,0 +1,52 @@ +/* Machine-specific declarations for dynamic linker interface, ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Registers for entry into PLT on ARC. */ +typedef struct La_arc_regs +{ + uint32_t lr_reg[8]; /* r0 through r7 (upto 8 args). */ +} La_arc_regs; + +/* Return values for calls from PLT on ARC. */ +typedef struct La_arc_retval +{ + /* For ARCv2, a 64-bit integer return value can use 2 regs. */ + uint32_t lrv_reg[2]; +} La_arc_retval; + +__BEGIN_DECLS + +extern ElfW(Addr) la_arc_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_arc_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_arc_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_arc_regs *__inregs, + La_arc_retval *__outregs, + const char *symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..f5c1a9db --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/procfs.h @@ -0,0 +1,35 @@ +/* Types for registers for sys/procfs.h. ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* And the whole bunch of them. We could have used `struct + user_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t)) + +typedef unsigned long int elf_greg_t; +typedef unsigned long int elf_gregset_t[ELF_NGREG]; + +/* There's no separate floating point reg file in ARCv2. */ +typedef struct { } elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..232c097b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/setjmp.h @@ -0,0 +1,26 @@ +/* Define the machine-dependent type 'jmp_buf'. ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _ARC_BITS_SETJMP_H +#define _ARC_BITS_SETJMP_H 1 + +/* Saves r13-r25 (callee-saved), fp (frame pointer), sp (stack pointer), + blink (branch-n-link). */ +typedef long int __jmp_buf[32]; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..724450a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/struct_stat.h @@ -0,0 +1,127 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..04251ea7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/types/__sigset_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/types/__sigset_t.h new file mode 100644 index 00000000..c45c797a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/types/__sigset_t.h @@ -0,0 +1,12 @@ +/* Architecture-specific __sigset_t definition. ARC version. */ +#ifndef ____sigset_t_defined +#define ____sigset_t_defined + +/* Linux asm-generic syscall ABI expects sigset_t to hold 64 signals. */ +#define _SIGSET_NWORDS (64 / (8 * sizeof (unsigned long int))) +typedef struct +{ + unsigned long int __val[_SIGSET_NWORDS]; +} __sigset_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..6b841cc0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 0 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/fpu_control.h new file mode 100644 index 00000000..c4db39e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/fpu_control.h @@ -0,0 +1,105 @@ +/* FPU control word bits. ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* ARC FPU control register bits. + + [ 0] -> IVE: Enable invalid operation exception. + if 0, soft exception: status register IV flag set. + if 1, hardware exception trap (not supported in Linux yet). + [ 1] -> DZE: Enable division by zero exception. + if 0, soft exception: status register IV flag set. + if 1, hardware exception: (not supported in Linux yet). + [9:8] -> RM: Rounding Mode: + 00 - Rounding toward zero. + 01 - Rounding to nearest (default). + 10 - Rounding (up) toward plus infinity. + 11 - Rounding (down)toward minus infinity. + + ARC FPU status register bits. + + [ 0] -> IV: flag invalid operation. + [ 1] -> DZ: flag division by zero. + [ 2] -> OV: flag Overflow operation. + [ 3] -> UV: flag Underflow operation. + [ 4] -> IX: flag Inexact operation. + [31] -> FWE: Flag Write Enable. + If 1, above flags writable explicitly (clearing), + else IoW and only writable indirectly via bits [12:7]. */ + +#include + +#if !defined(__ARC_FPU_SP__) && !defined(__ARC_FPU_DP__) + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +# define _FPU_GETS(cw) (cw) = 0 +# define _FPU_SETS(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else + +#define _FPU_RESERVED 0 + +/* The fdlibm code requires strict IEEE double precision arithmetic, + and no interrupts for exceptions, rounding to nearest. + So only RM set to b'01. */ +# define _FPU_DEFAULT 0x00000100 + +/* Actually default needs to have FWE bit as 1 but that is already + ingrained into _FPU_SETS macro below. */ +#define _FPU_FPSR_DEFAULT 0x00000000 + +#define __FPU_RND_SHIFT 8 +#define __FPU_RND_MASK 0x3 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) __asm__ volatile ("lr %0, [0x300]" : "=r" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("sr %0, [0x300]" : : "r" (cw)) + +/* Macros for accessing the hardware status word. + Writing to FPU_STATUS requires a "control" bit FWE to be able to set the + exception flags directly (as opposed to side-effects of FP instructions). + That is done in the macro here to keeps callers agnostic of this detail. + And given FWE is write-only and RAZ, no need to "clear" it in _FPU_GETS + macro. */ +# define _FPU_GETS(cw) \ + __asm__ volatile ("lr %0, [0x301] \r\n" \ + : "=r" (cw)) + +# define _FPU_SETS(cw) \ + do { \ + unsigned int __fwe = 0x80000000 | (cw); \ + __asm__ volatile ("sr %0, [0x301] \r\n" \ + : : "r" (__fwe)); \ + } while (0) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..68bed2a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/lib-names.h @@ -0,0 +1,30 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#define LD_LINUX_ARC_SO "ld-linux-arc.so.2" +#define LD_SO "ld-linux-arc.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..6ce02418 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/gnu/stubs.h @@ -0,0 +1,38 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_feclearexcept +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetenv +#define __stub_fegetexcept +#define __stub_fegetexceptflag +#define __stub_fegetmode +#define __stub_fegetround +#define __stub_feholdexcept +#define __stub_feraiseexcept +#define __stub_fesetenv +#define __stub_fesetexcept +#define __stub_fesetexceptflag +#define __stub_fesetmode +#define __stub_fesetround +#define __stub_fetestexcept +#define __stub_feupdateenv +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/cachectl.h new file mode 100644 index 00000000..8300c250 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/cachectl.h @@ -0,0 +1,35 @@ +/* cacheflush - flush contents of instruction and/or data cache. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +/* Get the kernel definition for the op bits. */ +#include + +__BEGIN_DECLS + +#ifdef __USE_MISC +extern int cacheflush (void *__addr, int __nbytes, int __op) __THROW; +#endif + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..299dcfa2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/ucontext.h @@ -0,0 +1,57 @@ +/* struct ucontext definition, ARC version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* System V/ARC ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +typedef struct +{ + unsigned long int __pad; + unsigned long int __bta; + unsigned long int __lp_start, __lp_end, __lp_count; + unsigned long int __status32, __ret, __blink; + unsigned long int __fp, __gp; + unsigned long int __r12, __r11, __r10, __r9, __r8, __r7; + unsigned long int __r6, __r5, __r4, __r3, __r2, __r1, __r0; + unsigned long int __sp; + unsigned long int __r26; + unsigned long int __r25, __r24, __r23, __r22, __r21, __r20; + unsigned long int __r19, __r18, __r17, __r16, __r15, __r14, __r13; + unsigned long int __efa; + unsigned long int __stop_pc; + unsigned long int __r30, __r58, __r59; +} mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t +{ + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; +} ucontext_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/user.h new file mode 100644 index 00000000..f108a301 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arc-linux-gnu/sys/user.h @@ -0,0 +1,32 @@ +/* ptrace register data format definitions. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* Struct user_regs_struct is exported by kernel header + However apps like strace also expect a struct user, so it's better to + have a dummy implementation. */ +#include + +struct user +{ + long int dummy; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/auxvec.h new file mode 100644 index 00000000..e971dfca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/auxvec.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H + +/* VDSO location */ +#define AT_SYSINFO_EHDR 33 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/byteorder.h new file mode 100644 index 00000000..3bb3a893 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/byteorder.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * arch/arm/include/asm/byteorder.h + * + * ARM Endian-ness. In little endian mode, the data bus is connected such + * that byte accesses appear as: + * 0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31 + * and word accesses (data or instruction) appear as: + * d0...d31 + * + * When in big endian mode, byte accesses appear as: + * 0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7 + * and word accesses (data or instruction) appear as: + * d0...d31 + */ +#ifndef __ASM_ARM_BYTEORDER_H +#define __ASM_ARM_BYTEORDER_H + +#ifdef __ARMEB__ +#include +#else +#include +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/fcntl.h new file mode 100644 index 00000000..cb37c755 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/fcntl.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ARM_FCNTL_H +#define _ARM_FCNTL_H + +#define O_DIRECTORY 040000 /* must be a directory */ +#define O_NOFOLLOW 0100000 /* don't follow links */ +#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */ +#define O_LARGEFILE 0400000 + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/hwcap.h new file mode 100644 index 00000000..a48502a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/hwcap.h @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASMARM_HWCAP_H +#define __ASMARM_HWCAP_H + +/* + * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP + */ +#define HWCAP_SWP (1 << 0) +#define HWCAP_HALF (1 << 1) +#define HWCAP_THUMB (1 << 2) +#define HWCAP_26BIT (1 << 3) /* Play it safe */ +#define HWCAP_FAST_MULT (1 << 4) +#define HWCAP_FPA (1 << 5) +#define HWCAP_VFP (1 << 6) +#define HWCAP_EDSP (1 << 7) +#define HWCAP_JAVA (1 << 8) +#define HWCAP_IWMMXT (1 << 9) +#define HWCAP_CRUNCH (1 << 10) /* Obsolete */ +#define HWCAP_THUMBEE (1 << 11) +#define HWCAP_NEON (1 << 12) +#define HWCAP_VFPv3 (1 << 13) +#define HWCAP_VFPv3D16 (1 << 14) /* also set for VFPv4-D16 */ +#define HWCAP_TLS (1 << 15) +#define HWCAP_VFPv4 (1 << 16) +#define HWCAP_IDIVA (1 << 17) +#define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) /* set if VFP has 32 regs (not 16) */ +#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) +#define HWCAP_LPAE (1 << 20) +#define HWCAP_EVTSTRM (1 << 21) +#define HWCAP_FPHP (1 << 22) +#define HWCAP_ASIMDHP (1 << 23) +#define HWCAP_ASIMDDP (1 << 24) +#define HWCAP_ASIMDFHM (1 << 25) +#define HWCAP_ASIMDBF16 (1 << 26) +#define HWCAP_I8MM (1 << 27) + +/* + * HWCAP2 flags - for elf_hwcap2 (in kernel) and AT_HWCAP2 + */ +#define HWCAP2_AES (1 << 0) +#define HWCAP2_PMULL (1 << 1) +#define HWCAP2_SHA1 (1 << 2) +#define HWCAP2_SHA2 (1 << 3) +#define HWCAP2_CRC32 (1 << 4) +#define HWCAP2_SB (1 << 5) +#define HWCAP2_SSBS (1 << 6) + +#endif /* __ASMARM_HWCAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ioctls.h new file mode 100644 index 00000000..9c66df15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ioctls.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_ARM_IOCTLS_H +#define __ASM_ARM_IOCTLS_H + +#define FIOQSIZE 0x545E + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/mman.h new file mode 100644 index 00000000..ad0d0ee9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/mman.h @@ -0,0 +1,4 @@ +#include + +#define arch_mmap_check(addr, len, flags) \ + (((flags) & MAP_FIXED && (addr) < FIRST_USER_ADDRESS) ? -EINVAL : 0) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..542b757c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/perf_regs.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_ARM_PERF_REGS_H +#define _ASM_ARM_PERF_REGS_H + +enum perf_event_arm_regs { + PERF_REG_ARM_R0, + PERF_REG_ARM_R1, + PERF_REG_ARM_R2, + PERF_REG_ARM_R3, + PERF_REG_ARM_R4, + PERF_REG_ARM_R5, + PERF_REG_ARM_R6, + PERF_REG_ARM_R7, + PERF_REG_ARM_R8, + PERF_REG_ARM_R9, + PERF_REG_ARM_R10, + PERF_REG_ARM_FP, + PERF_REG_ARM_IP, + PERF_REG_ARM_SP, + PERF_REG_ARM_LR, + PERF_REG_ARM_PC, + PERF_REG_ARM_MAX, +}; +#endif /* _ASM_ARM_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/posix_types.h new file mode 100644 index 00000000..a2d5722c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/posix_types.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * arch/arm/include/asm/posix_types.h + * + * Copyright (C) 1996-1998 Russell King. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Changelog: + * 27-06-1996 RMK Created + */ +#ifndef __ARCH_ARM_POSIX_TYPES_H +#define __ARCH_ARM_POSIX_TYPES_H + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +typedef unsigned short __kernel_mode_t; +#define __kernel_mode_t __kernel_mode_t + +typedef unsigned short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t + +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +#define __kernel_uid_t __kernel_uid_t + +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ptrace.h new file mode 100644 index 00000000..3db249ae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/ptrace.h @@ -0,0 +1,148 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * arch/arm/include/asm/ptrace.h + * + * Copyright (C) 1996-2003 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef __ASM_ARM_PTRACE_H +#define __ASM_ARM_PTRACE_H + +#include + +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +/* PTRACE_ATTACH is 16 */ +/* PTRACE_DETACH is 17 */ +#define PTRACE_GETWMMXREGS 18 +#define PTRACE_SETWMMXREGS 19 +/* 20 is unused */ +#define PTRACE_OLDSETOPTIONS 21 +#define PTRACE_GET_THREAD_AREA 22 +#define PTRACE_SET_SYSCALL 23 +/* PTRACE_SYSCALL is 24 */ +#define PTRACE_GETCRUNCHREGS 25 /* obsolete */ +#define PTRACE_SETCRUNCHREGS 26 /* obsolete */ +#define PTRACE_GETVFPREGS 27 +#define PTRACE_SETVFPREGS 28 +#define PTRACE_GETHBPREGS 29 +#define PTRACE_SETHBPREGS 30 +#define PTRACE_GETFDPIC 31 + +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 + +/* + * PSR bits + * Note on V7M there is no mode contained in the PSR + */ +#define USR26_MODE 0x00000000 +#define FIQ26_MODE 0x00000001 +#define IRQ26_MODE 0x00000002 +#define SVC26_MODE 0x00000003 +#define USR_MODE 0x00000010 +#define SVC_MODE 0x00000013 +#define FIQ_MODE 0x00000011 +#define IRQ_MODE 0x00000012 +#define MON_MODE 0x00000016 +#define ABT_MODE 0x00000017 +#define HYP_MODE 0x0000001a +#define UND_MODE 0x0000001b +#define SYSTEM_MODE 0x0000001f +#define MODE32_BIT 0x00000010 +#define MODE_MASK 0x0000001f + +#define V4_PSR_T_BIT 0x00000020 /* >= V4T, but not V7M */ +#define V7M_PSR_T_BIT 0x01000000 +/* for compatibility */ +#define PSR_T_BIT V4_PSR_T_BIT + +#define PSR_F_BIT 0x00000040 /* >= V4, but not V7M */ +#define PSR_I_BIT 0x00000080 /* >= V4, but not V7M */ +#define PSR_A_BIT 0x00000100 /* >= V6, but not V7M */ +#define PSR_E_BIT 0x00000200 /* >= V6, but not V7M */ +#define PSR_J_BIT 0x01000000 /* >= V5J, but not V7M */ +#define PSR_Q_BIT 0x08000000 /* >= V5E, including V7M */ +#define PSR_V_BIT 0x10000000 +#define PSR_C_BIT 0x20000000 +#define PSR_Z_BIT 0x40000000 +#define PSR_N_BIT 0x80000000 + +/* + * Groups of PSR bits + */ +#define PSR_f 0xff000000 /* Flags */ +#define PSR_s 0x00ff0000 /* Status */ +#define PSR_x 0x0000ff00 /* Extension */ +#define PSR_c 0x000000ff /* Control */ + +/* + * ARMv7 groups of PSR bits + */ +#define APSR_MASK 0xf80f0000 /* N, Z, C, V, Q and GE flags */ +#define PSR_ISET_MASK 0x01000010 /* ISA state (J, T) mask */ +#define PSR_IT_MASK 0x0600fc00 /* If-Then execution state mask */ +#define PSR_ENDIAN_MASK 0x00000200 /* Endianness state mask */ + +/* + * Default endianness state + */ +#ifdef CONFIG_CPU_ENDIAN_BE8 +#define PSR_ENDSTATE PSR_E_BIT +#else +#define PSR_ENDSTATE 0 +#endif + +/* + * These are 'magic' values for PTRACE_PEEKUSR that return info about where a + * process is located in memory. + */ +#define PT_TEXT_ADDR 0x10000 +#define PT_DATA_ADDR 0x10004 +#define PT_TEXT_END_ADDR 0x10008 + +#ifndef __ASSEMBLY__ + +/* + * This struct defines the way the registers are stored on the + * stack during a system call. Note that sizeof(struct pt_regs) + * has to be a multiple of 8. + */ +struct pt_regs { + long uregs[18]; +}; + +#define ARM_cpsr uregs[16] +#define ARM_pc uregs[15] +#define ARM_lr uregs[14] +#define ARM_sp uregs[13] +#define ARM_ip uregs[12] +#define ARM_fp uregs[11] +#define ARM_r10 uregs[10] +#define ARM_r9 uregs[9] +#define ARM_r8 uregs[8] +#define ARM_r7 uregs[7] +#define ARM_r6 uregs[6] +#define ARM_r5 uregs[5] +#define ARM_r4 uregs[4] +#define ARM_r3 uregs[3] +#define ARM_r2 uregs[2] +#define ARM_r1 uregs[1] +#define ARM_r0 uregs[0] +#define ARM_ORIG_r0 uregs[17] + +/* + * The size of the user-visible VFP state as seen by PTRACE_GET/SETVFPREGS + * and core dumps. + */ +#define ARM_VFPREGS_SIZE ( 32 * 8 /*fpregs*/ + 4 /*fpscr*/ ) + + +#endif /* __ASSEMBLY__ */ + +#endif /* __ASM_ARM_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/setup.h new file mode 100644 index 00000000..973225eb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/setup.h @@ -0,0 +1,188 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * linux/include/asm/setup.h + * + * Copyright (C) 1997-1999 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Structure passed to kernel to tell it about the + * hardware it's running on. See Documentation/arch/arm/setup.rst + * for more info. + */ +#ifndef __ASMARM_SETUP_H +#define __ASMARM_SETUP_H + +#include + +#define COMMAND_LINE_SIZE 1024 + +/* The list ends with an ATAG_NONE node. */ +#define ATAG_NONE 0x00000000 + +struct tag_header { + __u32 size; + __u32 tag; +}; + +/* The list must start with an ATAG_CORE node */ +#define ATAG_CORE 0x54410001 + +struct tag_core { + __u32 flags; /* bit 0 = read-only */ + __u32 pagesize; + __u32 rootdev; +}; + +/* it is allowed to have multiple ATAG_MEM nodes */ +#define ATAG_MEM 0x54410002 + +struct tag_mem32 { + __u32 size; + __u32 start; /* physical start address */ +}; + +/* VGA text type displays */ +#define ATAG_VIDEOTEXT 0x54410003 + +struct tag_videotext { + __u8 x; + __u8 y; + __u16 video_page; + __u8 video_mode; + __u8 video_cols; + __u16 video_ega_bx; + __u8 video_lines; + __u8 video_isvga; + __u16 video_points; +}; + +/* describes how the ramdisk will be used in kernel */ +#define ATAG_RAMDISK 0x54410004 + +struct tag_ramdisk { + __u32 flags; /* bit 0 = load, bit 1 = prompt */ + __u32 size; /* decompressed ramdisk size in _kilo_ bytes */ + __u32 start; /* starting block of floppy-based RAM disk image */ +}; + +/* describes where the compressed ramdisk image lives (virtual address) */ +/* + * this one accidentally used virtual addresses - as such, + * it's deprecated. + */ +#define ATAG_INITRD 0x54410005 + +/* describes where the compressed ramdisk image lives (physical address) */ +#define ATAG_INITRD2 0x54420005 + +struct tag_initrd { + __u32 start; /* physical start address */ + __u32 size; /* size of compressed ramdisk image in bytes */ +}; + +/* board serial number. "64 bits should be enough for everybody" */ +#define ATAG_SERIAL 0x54410006 + +struct tag_serialnr { + __u32 low; + __u32 high; +}; + +/* board revision */ +#define ATAG_REVISION 0x54410007 + +struct tag_revision { + __u32 rev; +}; + +/* initial values for vesafb-type framebuffers. see struct screen_info + * in include/linux/tty.h + */ +#define ATAG_VIDEOLFB 0x54410008 + +struct tag_videolfb { + __u16 lfb_width; + __u16 lfb_height; + __u16 lfb_depth; + __u16 lfb_linelength; + __u32 lfb_base; + __u32 lfb_size; + __u8 red_size; + __u8 red_pos; + __u8 green_size; + __u8 green_pos; + __u8 blue_size; + __u8 blue_pos; + __u8 rsvd_size; + __u8 rsvd_pos; +}; + +/* command line: \0 terminated string */ +#define ATAG_CMDLINE 0x54410009 + +struct tag_cmdline { + char cmdline[1]; /* this is the minimum size */ +}; + +/* acorn RiscPC specific information */ +#define ATAG_ACORN 0x41000101 + +struct tag_acorn { + __u32 memc_control_reg; + __u32 vram_pages; + __u8 sounddefault; + __u8 adfsdrives; +}; + +/* footbridge memory clock, see arch/arm/mach-footbridge/arch.c */ +#define ATAG_MEMCLK 0x41000402 + +struct tag_memclk { + __u32 fmemclk; +}; + +struct tag { + struct tag_header hdr; + union { + struct tag_core core; + struct tag_mem32 mem; + struct tag_videotext videotext; + struct tag_ramdisk ramdisk; + struct tag_initrd initrd; + struct tag_serialnr serialnr; + struct tag_revision revision; + struct tag_videolfb videolfb; + struct tag_cmdline cmdline; + + /* + * Acorn specific + */ + struct tag_acorn acorn; + + /* + * DC21285 specific + */ + struct tag_memclk memclk; + } u; +}; + +struct tagtable { + __u32 tag; + int (*parse)(const struct tag *); +}; + +#define tag_member_present(tag,member) \ + ((unsigned long)(&((struct tag *)0L)->member + 1) \ + <= (tag)->hdr.size * 4) + +#define tag_next(t) ((struct tag *)((__u32 *)(t) + (t)->hdr.size)) +#define tag_size(type) ((sizeof(struct tag_header) + sizeof(struct type)) >> 2) + +#define for_each_tag(t,base) \ + for (t = base; t->hdr.size; t = tag_next(t)) + + +#endif /* __ASMARM_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..428d5149 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/sigcontext.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASMARM_SIGCONTEXT_H +#define _ASMARM_SIGCONTEXT_H + +/* + * Signal context structure - contains all info to do with the state + * before the signal handler was invoked. Note: only add new entries + * to the end of the structure. + */ +struct sigcontext { + unsigned long trap_no; + unsigned long error_code; + unsigned long oldmask; + unsigned long arm_r0; + unsigned long arm_r1; + unsigned long arm_r2; + unsigned long arm_r3; + unsigned long arm_r4; + unsigned long arm_r5; + unsigned long arm_r6; + unsigned long arm_r7; + unsigned long arm_r8; + unsigned long arm_r9; + unsigned long arm_r10; + unsigned long arm_fp; + unsigned long arm_ip; + unsigned long arm_sp; + unsigned long arm_lr; + unsigned long arm_pc; + unsigned long arm_cpsr; + unsigned long fault_address; +}; + + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/signal.h new file mode 100644 index 00000000..48154f16 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/signal.h @@ -0,0 +1,96 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASMARM_SIGNAL_H +#define _ASMARM_SIGNAL_H + +#include + +/* Avoid too many header ordering problems. */ +struct siginfo; + +/* Here we must cater to libcs that poke about in kernel headers. */ + +#define NSIG 32 +typedef unsigned long sigset_t; + + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +/* +#define SIGLOST 29 +*/ +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 + +/* These should not be considered constants from userland. */ +#define SIGRTMIN 32 +#define SIGRTMAX _NSIG + +#define SIGSWI 32 + +/* + * SA_THIRTYTWO historically meant deliver the signal in 32-bit mode, even if + * the task is running in 26-bit. But since the kernel no longer supports + * 26-bit mode, the flag has no effect. + */ +#define SA_THIRTYTWO 0x02000000 +#define SA_RESTORER 0x04000000 + +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 + +#include + +/* Here we must cater to libcs that poke about in kernel headers. */ + +struct sigaction { + union { + __sighandler_t _sa_handler; + void (*_sa_sigaction)(int, struct siginfo *, void *); + } _u; + sigset_t sa_mask; + unsigned long sa_flags; + void (*sa_restorer)(void); +}; + +#define sa_handler _u._sa_handler +#define sa_sigaction _u._sa_sigaction + + +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +} stack_t; + + +#endif /* _ASMARM_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/stat.h new file mode 100644 index 00000000..2498f666 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/stat.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASMARM_STAT_H +#define _ASMARM_STAT_H + +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; + +#define STAT_HAVE_NSEC + +struct stat { +#if defined(__ARMEB__) + unsigned short st_dev; + unsigned short __pad1; +#else + unsigned long st_dev; +#endif + unsigned long st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; +#if defined(__ARMEB__) + unsigned short st_rdev; + unsigned short __pad2; +#else + unsigned long st_rdev; +#endif + unsigned long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long __unused4; + unsigned long __unused5; +}; + +/* This matches struct stat64 in glibc2.1, hence the absolutely + * insane amounts of padding around dev_t's. + * Note: The kernel zero's the padded region because glibc might read them + * in the hope that the kernel has stretched to using larger sizes. + */ +struct stat64 { + unsigned long long st_dev; + unsigned char __pad0[4]; + +#define STAT64_HAS_BROKEN_ST_INO 1 + unsigned long __st_ino; + unsigned int st_mode; + unsigned int st_nlink; + + unsigned long st_uid; + unsigned long st_gid; + + unsigned long long st_rdev; + unsigned char __pad3[4]; + + long long st_size; + unsigned long st_blksize; + unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ + + unsigned long st_atime; + unsigned long st_atime_nsec; + + unsigned long st_mtime; + unsigned long st_mtime_nsec; + + unsigned long st_ctime; + unsigned long st_ctime_nsec; + + unsigned long long st_ino; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/statfs.h new file mode 100644 index 00000000..747d069f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/statfs.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASMARM_STATFS_H +#define _ASMARM_STATFS_H + +/* + * With EABI there is 4 bytes of padding added to this structure. + * Let's pack it so the padding goes away to simplify dual ABI support. + * Note that user space does NOT have to pack this structure. + */ +#define ARCH_PACK_STATFS64 __attribute__((packed,aligned(4))) + +#include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/swab.h new file mode 100644 index 00000000..6bbffc60 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/swab.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * arch/arm/include/asm/byteorder.h + * + * ARM Endian-ness. In little endian mode, the data bus is connected such + * that byte accesses appear as: + * 0 = d0...d7, 1 = d8...d15, 2 = d16...d23, 3 = d24...d31 + * and word accesses (data or instruction) appear as: + * d0...d31 + * + * When in big endian mode, byte accesses appear as: + * 0 = d24...d31, 1 = d16...d23, 2 = d8...d15, 3 = d0...d7 + * and word accesses (data or instruction) appear as: + * d0...d31 + */ +#ifndef __ASM_ARM_SWAB_H +#define __ASM_ARM_SWAB_H + + +#include + +#if !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __SWAB_64_THRU_32__ +#endif + + +static __inline__ __u32 __arch_swab32(__u32 x) +{ + __u32 t; + +#ifndef __thumb__ + if (!__builtin_constant_p(x)) { + /* + * The compiler needs a bit of a hint here to always do the + * right thing and not screw it up to different degrees + * depending on the gcc version. + */ + __asm__ ("eor\t%0, %1, %1, ror #16" : "=r" (t) : "r" (x)); + } else +#endif + t = x ^ ((x << 16) | (x >> 16)); /* eor r1,r0,r0,ror #16 */ + + x = (x << 24) | (x >> 8); /* mov r0,r0,ror #8 */ + t &= ~0x00FF0000; /* bic r1,r1,#0x00FF0000 */ + x ^= (t >> 8); /* eor r0,r0,r1,lsr #8 */ + + return x; +} +#define __arch_swab32 __arch_swab32 + + +#endif /* __ASM_ARM_SWAB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/types.h new file mode 100644 index 00000000..e031ce46 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/types.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_TYPES_H +#define _ASM_TYPES_H + +#include + +/* + * The C99 types uintXX_t that are usually defined in 'stdint.h' are not as + * unambiguous on ARM as you would expect. For the types below, there is a + * difference on ARM between GCC built for bare metal ARM, GCC built for glibc + * and the kernel itself, which results in build errors if you try to build with + * -ffreestanding and include 'stdint.h' (such as when you include 'arm_neon.h' + * in order to use NEON intrinsics) + * + * As the typedefs for these types in 'stdint.h' are based on builtin defines + * supplied by GCC, we can tweak these to align with the kernel's idea of those + * types, so 'linux/types.h' and 'stdint.h' can be safely included from the same + * source file (provided that -ffreestanding is used). + * + * int32_t uint32_t uintptr_t + * bare metal GCC long unsigned long unsigned int + * glibc GCC int unsigned int unsigned int + * kernel int unsigned int unsigned long + */ + +#ifdef __INT32_TYPE__ +#undef __INT32_TYPE__ +#define __INT32_TYPE__ int +#endif + +#ifdef __UINT32_TYPE__ +#undef __UINT32_TYPE__ +#define __UINT32_TYPE__ unsigned int +#endif + +#ifdef __UINTPTR_TYPE__ +#undef __UINTPTR_TYPE__ +#define __UINTPTR_TYPE__ unsigned long +#endif + +#endif /* _ASM_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-eabi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-eabi.h new file mode 100644 index 00000000..7418594f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-eabi.h @@ -0,0 +1,424 @@ +#ifndef _ASM_UNISTD_EABI_H +#define _ASM_UNISTD_EABI_H + +#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0) +#define __NR_exit (__NR_SYSCALL_BASE + 1) +#define __NR_fork (__NR_SYSCALL_BASE + 2) +#define __NR_read (__NR_SYSCALL_BASE + 3) +#define __NR_write (__NR_SYSCALL_BASE + 4) +#define __NR_open (__NR_SYSCALL_BASE + 5) +#define __NR_close (__NR_SYSCALL_BASE + 6) +#define __NR_creat (__NR_SYSCALL_BASE + 8) +#define __NR_link (__NR_SYSCALL_BASE + 9) +#define __NR_unlink (__NR_SYSCALL_BASE + 10) +#define __NR_execve (__NR_SYSCALL_BASE + 11) +#define __NR_chdir (__NR_SYSCALL_BASE + 12) +#define __NR_mknod (__NR_SYSCALL_BASE + 14) +#define __NR_chmod (__NR_SYSCALL_BASE + 15) +#define __NR_lchown (__NR_SYSCALL_BASE + 16) +#define __NR_lseek (__NR_SYSCALL_BASE + 19) +#define __NR_getpid (__NR_SYSCALL_BASE + 20) +#define __NR_mount (__NR_SYSCALL_BASE + 21) +#define __NR_setuid (__NR_SYSCALL_BASE + 23) +#define __NR_getuid (__NR_SYSCALL_BASE + 24) +#define __NR_ptrace (__NR_SYSCALL_BASE + 26) +#define __NR_pause (__NR_SYSCALL_BASE + 29) +#define __NR_access (__NR_SYSCALL_BASE + 33) +#define __NR_nice (__NR_SYSCALL_BASE + 34) +#define __NR_sync (__NR_SYSCALL_BASE + 36) +#define __NR_kill (__NR_SYSCALL_BASE + 37) +#define __NR_rename (__NR_SYSCALL_BASE + 38) +#define __NR_mkdir (__NR_SYSCALL_BASE + 39) +#define __NR_rmdir (__NR_SYSCALL_BASE + 40) +#define __NR_dup (__NR_SYSCALL_BASE + 41) +#define __NR_pipe (__NR_SYSCALL_BASE + 42) +#define __NR_times (__NR_SYSCALL_BASE + 43) +#define __NR_brk (__NR_SYSCALL_BASE + 45) +#define __NR_setgid (__NR_SYSCALL_BASE + 46) +#define __NR_getgid (__NR_SYSCALL_BASE + 47) +#define __NR_geteuid (__NR_SYSCALL_BASE + 49) +#define __NR_getegid (__NR_SYSCALL_BASE + 50) +#define __NR_acct (__NR_SYSCALL_BASE + 51) +#define __NR_umount2 (__NR_SYSCALL_BASE + 52) +#define __NR_ioctl (__NR_SYSCALL_BASE + 54) +#define __NR_fcntl (__NR_SYSCALL_BASE + 55) +#define __NR_setpgid (__NR_SYSCALL_BASE + 57) +#define __NR_umask (__NR_SYSCALL_BASE + 60) +#define __NR_chroot (__NR_SYSCALL_BASE + 61) +#define __NR_ustat (__NR_SYSCALL_BASE + 62) +#define __NR_dup2 (__NR_SYSCALL_BASE + 63) +#define __NR_getppid (__NR_SYSCALL_BASE + 64) +#define __NR_getpgrp (__NR_SYSCALL_BASE + 65) +#define __NR_setsid (__NR_SYSCALL_BASE + 66) +#define __NR_sigaction (__NR_SYSCALL_BASE + 67) +#define __NR_setreuid (__NR_SYSCALL_BASE + 70) +#define __NR_setregid (__NR_SYSCALL_BASE + 71) +#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72) +#define __NR_sigpending (__NR_SYSCALL_BASE + 73) +#define __NR_sethostname (__NR_SYSCALL_BASE + 74) +#define __NR_setrlimit (__NR_SYSCALL_BASE + 75) +#define __NR_getrusage (__NR_SYSCALL_BASE + 77) +#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78) +#define __NR_settimeofday (__NR_SYSCALL_BASE + 79) +#define __NR_getgroups (__NR_SYSCALL_BASE + 80) +#define __NR_setgroups (__NR_SYSCALL_BASE + 81) +#define __NR_symlink (__NR_SYSCALL_BASE + 83) +#define __NR_readlink (__NR_SYSCALL_BASE + 85) +#define __NR_uselib (__NR_SYSCALL_BASE + 86) +#define __NR_swapon (__NR_SYSCALL_BASE + 87) +#define __NR_reboot (__NR_SYSCALL_BASE + 88) +#define __NR_munmap (__NR_SYSCALL_BASE + 91) +#define __NR_truncate (__NR_SYSCALL_BASE + 92) +#define __NR_ftruncate (__NR_SYSCALL_BASE + 93) +#define __NR_fchmod (__NR_SYSCALL_BASE + 94) +#define __NR_fchown (__NR_SYSCALL_BASE + 95) +#define __NR_getpriority (__NR_SYSCALL_BASE + 96) +#define __NR_setpriority (__NR_SYSCALL_BASE + 97) +#define __NR_statfs (__NR_SYSCALL_BASE + 99) +#define __NR_fstatfs (__NR_SYSCALL_BASE + 100) +#define __NR_syslog (__NR_SYSCALL_BASE + 103) +#define __NR_setitimer (__NR_SYSCALL_BASE + 104) +#define __NR_getitimer (__NR_SYSCALL_BASE + 105) +#define __NR_stat (__NR_SYSCALL_BASE + 106) +#define __NR_lstat (__NR_SYSCALL_BASE + 107) +#define __NR_fstat (__NR_SYSCALL_BASE + 108) +#define __NR_vhangup (__NR_SYSCALL_BASE + 111) +#define __NR_wait4 (__NR_SYSCALL_BASE + 114) +#define __NR_swapoff (__NR_SYSCALL_BASE + 115) +#define __NR_sysinfo (__NR_SYSCALL_BASE + 116) +#define __NR_fsync (__NR_SYSCALL_BASE + 118) +#define __NR_sigreturn (__NR_SYSCALL_BASE + 119) +#define __NR_clone (__NR_SYSCALL_BASE + 120) +#define __NR_setdomainname (__NR_SYSCALL_BASE + 121) +#define __NR_uname (__NR_SYSCALL_BASE + 122) +#define __NR_adjtimex (__NR_SYSCALL_BASE + 124) +#define __NR_mprotect (__NR_SYSCALL_BASE + 125) +#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126) +#define __NR_init_module (__NR_SYSCALL_BASE + 128) +#define __NR_delete_module (__NR_SYSCALL_BASE + 129) +#define __NR_quotactl (__NR_SYSCALL_BASE + 131) +#define __NR_getpgid (__NR_SYSCALL_BASE + 132) +#define __NR_fchdir (__NR_SYSCALL_BASE + 133) +#define __NR_bdflush (__NR_SYSCALL_BASE + 134) +#define __NR_sysfs (__NR_SYSCALL_BASE + 135) +#define __NR_personality (__NR_SYSCALL_BASE + 136) +#define __NR_setfsuid (__NR_SYSCALL_BASE + 138) +#define __NR_setfsgid (__NR_SYSCALL_BASE + 139) +#define __NR__llseek (__NR_SYSCALL_BASE + 140) +#define __NR_getdents (__NR_SYSCALL_BASE + 141) +#define __NR__newselect (__NR_SYSCALL_BASE + 142) +#define __NR_flock (__NR_SYSCALL_BASE + 143) +#define __NR_msync (__NR_SYSCALL_BASE + 144) +#define __NR_readv (__NR_SYSCALL_BASE + 145) +#define __NR_writev (__NR_SYSCALL_BASE + 146) +#define __NR_getsid (__NR_SYSCALL_BASE + 147) +#define __NR_fdatasync (__NR_SYSCALL_BASE + 148) +#define __NR__sysctl (__NR_SYSCALL_BASE + 149) +#define __NR_mlock (__NR_SYSCALL_BASE + 150) +#define __NR_munlock (__NR_SYSCALL_BASE + 151) +#define __NR_mlockall (__NR_SYSCALL_BASE + 152) +#define __NR_munlockall (__NR_SYSCALL_BASE + 153) +#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154) +#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155) +#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156) +#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157) +#define __NR_sched_yield (__NR_SYSCALL_BASE + 158) +#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159) +#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160) +#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161) +#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) +#define __NR_mremap (__NR_SYSCALL_BASE + 163) +#define __NR_setresuid (__NR_SYSCALL_BASE + 164) +#define __NR_getresuid (__NR_SYSCALL_BASE + 165) +#define __NR_poll (__NR_SYSCALL_BASE + 168) +#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169) +#define __NR_setresgid (__NR_SYSCALL_BASE + 170) +#define __NR_getresgid (__NR_SYSCALL_BASE + 171) +#define __NR_prctl (__NR_SYSCALL_BASE + 172) +#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173) +#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174) +#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175) +#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176) +#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177) +#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178) +#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179) +#define __NR_pread64 (__NR_SYSCALL_BASE + 180) +#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181) +#define __NR_chown (__NR_SYSCALL_BASE + 182) +#define __NR_getcwd (__NR_SYSCALL_BASE + 183) +#define __NR_capget (__NR_SYSCALL_BASE + 184) +#define __NR_capset (__NR_SYSCALL_BASE + 185) +#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186) +#define __NR_sendfile (__NR_SYSCALL_BASE + 187) +#define __NR_vfork (__NR_SYSCALL_BASE + 190) +#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191) +#define __NR_mmap2 (__NR_SYSCALL_BASE + 192) +#define __NR_truncate64 (__NR_SYSCALL_BASE + 193) +#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194) +#define __NR_stat64 (__NR_SYSCALL_BASE + 195) +#define __NR_lstat64 (__NR_SYSCALL_BASE + 196) +#define __NR_fstat64 (__NR_SYSCALL_BASE + 197) +#define __NR_lchown32 (__NR_SYSCALL_BASE + 198) +#define __NR_getuid32 (__NR_SYSCALL_BASE + 199) +#define __NR_getgid32 (__NR_SYSCALL_BASE + 200) +#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201) +#define __NR_getegid32 (__NR_SYSCALL_BASE + 202) +#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203) +#define __NR_setregid32 (__NR_SYSCALL_BASE + 204) +#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205) +#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206) +#define __NR_fchown32 (__NR_SYSCALL_BASE + 207) +#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208) +#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209) +#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210) +#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211) +#define __NR_chown32 (__NR_SYSCALL_BASE + 212) +#define __NR_setuid32 (__NR_SYSCALL_BASE + 213) +#define __NR_setgid32 (__NR_SYSCALL_BASE + 214) +#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215) +#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216) +#define __NR_getdents64 (__NR_SYSCALL_BASE + 217) +#define __NR_pivot_root (__NR_SYSCALL_BASE + 218) +#define __NR_mincore (__NR_SYSCALL_BASE + 219) +#define __NR_madvise (__NR_SYSCALL_BASE + 220) +#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221) +#define __NR_gettid (__NR_SYSCALL_BASE + 224) +#define __NR_readahead (__NR_SYSCALL_BASE + 225) +#define __NR_setxattr (__NR_SYSCALL_BASE + 226) +#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227) +#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228) +#define __NR_getxattr (__NR_SYSCALL_BASE + 229) +#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230) +#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231) +#define __NR_listxattr (__NR_SYSCALL_BASE + 232) +#define __NR_llistxattr (__NR_SYSCALL_BASE + 233) +#define __NR_flistxattr (__NR_SYSCALL_BASE + 234) +#define __NR_removexattr (__NR_SYSCALL_BASE + 235) +#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) +#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237) +#define __NR_tkill (__NR_SYSCALL_BASE + 238) +#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239) +#define __NR_futex (__NR_SYSCALL_BASE + 240) +#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241) +#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242) +#define __NR_io_setup (__NR_SYSCALL_BASE + 243) +#define __NR_io_destroy (__NR_SYSCALL_BASE + 244) +#define __NR_io_getevents (__NR_SYSCALL_BASE + 245) +#define __NR_io_submit (__NR_SYSCALL_BASE + 246) +#define __NR_io_cancel (__NR_SYSCALL_BASE + 247) +#define __NR_exit_group (__NR_SYSCALL_BASE + 248) +#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249) +#define __NR_epoll_create (__NR_SYSCALL_BASE + 250) +#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251) +#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252) +#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253) +#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256) +#define __NR_timer_create (__NR_SYSCALL_BASE + 257) +#define __NR_timer_settime (__NR_SYSCALL_BASE + 258) +#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259) +#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260) +#define __NR_timer_delete (__NR_SYSCALL_BASE + 261) +#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) +#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) +#define __NR_clock_getres (__NR_SYSCALL_BASE + 264) +#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265) +#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) +#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267) +#define __NR_tgkill (__NR_SYSCALL_BASE + 268) +#define __NR_utimes (__NR_SYSCALL_BASE + 269) +#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270) +#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271) +#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272) +#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273) +#define __NR_mq_open (__NR_SYSCALL_BASE + 274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277) +#define __NR_mq_notify (__NR_SYSCALL_BASE + 278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279) +#define __NR_waitid (__NR_SYSCALL_BASE + 280) +#define __NR_socket (__NR_SYSCALL_BASE + 281) +#define __NR_bind (__NR_SYSCALL_BASE + 282) +#define __NR_connect (__NR_SYSCALL_BASE + 283) +#define __NR_listen (__NR_SYSCALL_BASE + 284) +#define __NR_accept (__NR_SYSCALL_BASE + 285) +#define __NR_getsockname (__NR_SYSCALL_BASE + 286) +#define __NR_getpeername (__NR_SYSCALL_BASE + 287) +#define __NR_socketpair (__NR_SYSCALL_BASE + 288) +#define __NR_send (__NR_SYSCALL_BASE + 289) +#define __NR_sendto (__NR_SYSCALL_BASE + 290) +#define __NR_recv (__NR_SYSCALL_BASE + 291) +#define __NR_recvfrom (__NR_SYSCALL_BASE + 292) +#define __NR_shutdown (__NR_SYSCALL_BASE + 293) +#define __NR_setsockopt (__NR_SYSCALL_BASE + 294) +#define __NR_getsockopt (__NR_SYSCALL_BASE + 295) +#define __NR_sendmsg (__NR_SYSCALL_BASE + 296) +#define __NR_recvmsg (__NR_SYSCALL_BASE + 297) +#define __NR_semop (__NR_SYSCALL_BASE + 298) +#define __NR_semget (__NR_SYSCALL_BASE + 299) +#define __NR_semctl (__NR_SYSCALL_BASE + 300) +#define __NR_msgsnd (__NR_SYSCALL_BASE + 301) +#define __NR_msgrcv (__NR_SYSCALL_BASE + 302) +#define __NR_msgget (__NR_SYSCALL_BASE + 303) +#define __NR_msgctl (__NR_SYSCALL_BASE + 304) +#define __NR_shmat (__NR_SYSCALL_BASE + 305) +#define __NR_shmdt (__NR_SYSCALL_BASE + 306) +#define __NR_shmget (__NR_SYSCALL_BASE + 307) +#define __NR_shmctl (__NR_SYSCALL_BASE + 308) +#define __NR_add_key (__NR_SYSCALL_BASE + 309) +#define __NR_request_key (__NR_SYSCALL_BASE + 310) +#define __NR_keyctl (__NR_SYSCALL_BASE + 311) +#define __NR_semtimedop (__NR_SYSCALL_BASE + 312) +#define __NR_vserver (__NR_SYSCALL_BASE + 313) +#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) +#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) +#define __NR_inotify_init (__NR_SYSCALL_BASE + 316) +#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317) +#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318) +#define __NR_mbind (__NR_SYSCALL_BASE + 319) +#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320) +#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321) +#define __NR_openat (__NR_SYSCALL_BASE + 322) +#define __NR_mkdirat (__NR_SYSCALL_BASE + 323) +#define __NR_mknodat (__NR_SYSCALL_BASE + 324) +#define __NR_fchownat (__NR_SYSCALL_BASE + 325) +#define __NR_futimesat (__NR_SYSCALL_BASE + 326) +#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327) +#define __NR_unlinkat (__NR_SYSCALL_BASE + 328) +#define __NR_renameat (__NR_SYSCALL_BASE + 329) +#define __NR_linkat (__NR_SYSCALL_BASE + 330) +#define __NR_symlinkat (__NR_SYSCALL_BASE + 331) +#define __NR_readlinkat (__NR_SYSCALL_BASE + 332) +#define __NR_fchmodat (__NR_SYSCALL_BASE + 333) +#define __NR_faccessat (__NR_SYSCALL_BASE + 334) +#define __NR_pselect6 (__NR_SYSCALL_BASE + 335) +#define __NR_ppoll (__NR_SYSCALL_BASE + 336) +#define __NR_unshare (__NR_SYSCALL_BASE + 337) +#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338) +#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339) +#define __NR_splice (__NR_SYSCALL_BASE + 340) +#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341) +#define __NR_tee (__NR_SYSCALL_BASE + 342) +#define __NR_vmsplice (__NR_SYSCALL_BASE + 343) +#define __NR_move_pages (__NR_SYSCALL_BASE + 344) +#define __NR_getcpu (__NR_SYSCALL_BASE + 345) +#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346) +#define __NR_kexec_load (__NR_SYSCALL_BASE + 347) +#define __NR_utimensat (__NR_SYSCALL_BASE + 348) +#define __NR_signalfd (__NR_SYSCALL_BASE + 349) +#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350) +#define __NR_eventfd (__NR_SYSCALL_BASE + 351) +#define __NR_fallocate (__NR_SYSCALL_BASE + 352) +#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353) +#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354) +#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355) +#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356) +#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357) +#define __NR_dup3 (__NR_SYSCALL_BASE + 358) +#define __NR_pipe2 (__NR_SYSCALL_BASE + 359) +#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360) +#define __NR_preadv (__NR_SYSCALL_BASE + 361) +#define __NR_pwritev (__NR_SYSCALL_BASE + 362) +#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363) +#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365) +#define __NR_accept4 (__NR_SYSCALL_BASE + 366) +#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367) +#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368) +#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369) +#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370) +#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371) +#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372) +#define __NR_syncfs (__NR_SYSCALL_BASE + 373) +#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374) +#define __NR_setns (__NR_SYSCALL_BASE + 375) +#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376) +#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377) +#define __NR_kcmp (__NR_SYSCALL_BASE + 378) +#define __NR_finit_module (__NR_SYSCALL_BASE + 379) +#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380) +#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381) +#define __NR_renameat2 (__NR_SYSCALL_BASE + 382) +#define __NR_seccomp (__NR_SYSCALL_BASE + 383) +#define __NR_getrandom (__NR_SYSCALL_BASE + 384) +#define __NR_memfd_create (__NR_SYSCALL_BASE + 385) +#define __NR_bpf (__NR_SYSCALL_BASE + 386) +#define __NR_execveat (__NR_SYSCALL_BASE + 387) +#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) +#define __NR_membarrier (__NR_SYSCALL_BASE + 389) +#define __NR_mlock2 (__NR_SYSCALL_BASE + 390) +#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391) +#define __NR_preadv2 (__NR_SYSCALL_BASE + 392) +#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393) +#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394) +#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395) +#define __NR_pkey_free (__NR_SYSCALL_BASE + 396) +#define __NR_statx (__NR_SYSCALL_BASE + 397) +#define __NR_rseq (__NR_SYSCALL_BASE + 398) +#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399) +#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400) +#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401) +#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403) +#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404) +#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405) +#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406) +#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407) +#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408) +#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409) +#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410) +#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411) +#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412) +#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413) +#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414) +#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416) +#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417) +#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418) +#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419) +#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421) +#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423) +#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424) +#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425) +#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426) +#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427) +#define __NR_open_tree (__NR_SYSCALL_BASE + 428) +#define __NR_move_mount (__NR_SYSCALL_BASE + 429) +#define __NR_fsopen (__NR_SYSCALL_BASE + 430) +#define __NR_fsconfig (__NR_SYSCALL_BASE + 431) +#define __NR_fsmount (__NR_SYSCALL_BASE + 432) +#define __NR_fspick (__NR_SYSCALL_BASE + 433) +#define __NR_pidfd_open (__NR_SYSCALL_BASE + 434) +#define __NR_clone3 (__NR_SYSCALL_BASE + 435) +#define __NR_close_range (__NR_SYSCALL_BASE + 436) +#define __NR_openat2 (__NR_SYSCALL_BASE + 437) +#define __NR_pidfd_getfd (__NR_SYSCALL_BASE + 438) +#define __NR_faccessat2 (__NR_SYSCALL_BASE + 439) +#define __NR_process_madvise (__NR_SYSCALL_BASE + 440) +#define __NR_epoll_pwait2 (__NR_SYSCALL_BASE + 441) +#define __NR_mount_setattr (__NR_SYSCALL_BASE + 442) +#define __NR_quotactl_fd (__NR_SYSCALL_BASE + 443) +#define __NR_landlock_create_ruleset (__NR_SYSCALL_BASE + 444) +#define __NR_landlock_add_rule (__NR_SYSCALL_BASE + 445) +#define __NR_landlock_restrict_self (__NR_SYSCALL_BASE + 446) +#define __NR_process_mrelease (__NR_SYSCALL_BASE + 448) +#define __NR_futex_waitv (__NR_SYSCALL_BASE + 449) +#define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450) +#define __NR_cachestat (__NR_SYSCALL_BASE + 451) +#define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452) +#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453) +#define __NR_futex_wake (__NR_SYSCALL_BASE + 454) +#define __NR_futex_wait (__NR_SYSCALL_BASE + 455) +#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456) +#define __NR_statmount (__NR_SYSCALL_BASE + 457) +#define __NR_listmount (__NR_SYSCALL_BASE + 458) +#define __NR_lsm_get_self_attr (__NR_SYSCALL_BASE + 459) +#define __NR_lsm_set_self_attr (__NR_SYSCALL_BASE + 460) +#define __NR_lsm_list_modules (__NR_SYSCALL_BASE + 461) +#define __NR_mseal (__NR_SYSCALL_BASE + 462) +#define __NR_setxattrat (__NR_SYSCALL_BASE + 463) +#define __NR_getxattrat (__NR_SYSCALL_BASE + 464) +#define __NR_listxattrat (__NR_SYSCALL_BASE + 465) +#define __NR_removexattrat (__NR_SYSCALL_BASE + 466) + +#endif /* _ASM_UNISTD_EABI_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-oabi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-oabi.h new file mode 100644 index 00000000..8e93370f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd-oabi.h @@ -0,0 +1,436 @@ +#ifndef _ASM_UNISTD_OABI_H +#define _ASM_UNISTD_OABI_H + +#define __NR_restart_syscall (__NR_SYSCALL_BASE + 0) +#define __NR_exit (__NR_SYSCALL_BASE + 1) +#define __NR_fork (__NR_SYSCALL_BASE + 2) +#define __NR_read (__NR_SYSCALL_BASE + 3) +#define __NR_write (__NR_SYSCALL_BASE + 4) +#define __NR_open (__NR_SYSCALL_BASE + 5) +#define __NR_close (__NR_SYSCALL_BASE + 6) +#define __NR_creat (__NR_SYSCALL_BASE + 8) +#define __NR_link (__NR_SYSCALL_BASE + 9) +#define __NR_unlink (__NR_SYSCALL_BASE + 10) +#define __NR_execve (__NR_SYSCALL_BASE + 11) +#define __NR_chdir (__NR_SYSCALL_BASE + 12) +#define __NR_time (__NR_SYSCALL_BASE + 13) +#define __NR_mknod (__NR_SYSCALL_BASE + 14) +#define __NR_chmod (__NR_SYSCALL_BASE + 15) +#define __NR_lchown (__NR_SYSCALL_BASE + 16) +#define __NR_lseek (__NR_SYSCALL_BASE + 19) +#define __NR_getpid (__NR_SYSCALL_BASE + 20) +#define __NR_mount (__NR_SYSCALL_BASE + 21) +#define __NR_umount (__NR_SYSCALL_BASE + 22) +#define __NR_setuid (__NR_SYSCALL_BASE + 23) +#define __NR_getuid (__NR_SYSCALL_BASE + 24) +#define __NR_stime (__NR_SYSCALL_BASE + 25) +#define __NR_ptrace (__NR_SYSCALL_BASE + 26) +#define __NR_alarm (__NR_SYSCALL_BASE + 27) +#define __NR_pause (__NR_SYSCALL_BASE + 29) +#define __NR_utime (__NR_SYSCALL_BASE + 30) +#define __NR_access (__NR_SYSCALL_BASE + 33) +#define __NR_nice (__NR_SYSCALL_BASE + 34) +#define __NR_sync (__NR_SYSCALL_BASE + 36) +#define __NR_kill (__NR_SYSCALL_BASE + 37) +#define __NR_rename (__NR_SYSCALL_BASE + 38) +#define __NR_mkdir (__NR_SYSCALL_BASE + 39) +#define __NR_rmdir (__NR_SYSCALL_BASE + 40) +#define __NR_dup (__NR_SYSCALL_BASE + 41) +#define __NR_pipe (__NR_SYSCALL_BASE + 42) +#define __NR_times (__NR_SYSCALL_BASE + 43) +#define __NR_brk (__NR_SYSCALL_BASE + 45) +#define __NR_setgid (__NR_SYSCALL_BASE + 46) +#define __NR_getgid (__NR_SYSCALL_BASE + 47) +#define __NR_geteuid (__NR_SYSCALL_BASE + 49) +#define __NR_getegid (__NR_SYSCALL_BASE + 50) +#define __NR_acct (__NR_SYSCALL_BASE + 51) +#define __NR_umount2 (__NR_SYSCALL_BASE + 52) +#define __NR_ioctl (__NR_SYSCALL_BASE + 54) +#define __NR_fcntl (__NR_SYSCALL_BASE + 55) +#define __NR_setpgid (__NR_SYSCALL_BASE + 57) +#define __NR_umask (__NR_SYSCALL_BASE + 60) +#define __NR_chroot (__NR_SYSCALL_BASE + 61) +#define __NR_ustat (__NR_SYSCALL_BASE + 62) +#define __NR_dup2 (__NR_SYSCALL_BASE + 63) +#define __NR_getppid (__NR_SYSCALL_BASE + 64) +#define __NR_getpgrp (__NR_SYSCALL_BASE + 65) +#define __NR_setsid (__NR_SYSCALL_BASE + 66) +#define __NR_sigaction (__NR_SYSCALL_BASE + 67) +#define __NR_setreuid (__NR_SYSCALL_BASE + 70) +#define __NR_setregid (__NR_SYSCALL_BASE + 71) +#define __NR_sigsuspend (__NR_SYSCALL_BASE + 72) +#define __NR_sigpending (__NR_SYSCALL_BASE + 73) +#define __NR_sethostname (__NR_SYSCALL_BASE + 74) +#define __NR_setrlimit (__NR_SYSCALL_BASE + 75) +#define __NR_getrlimit (__NR_SYSCALL_BASE + 76) +#define __NR_getrusage (__NR_SYSCALL_BASE + 77) +#define __NR_gettimeofday (__NR_SYSCALL_BASE + 78) +#define __NR_settimeofday (__NR_SYSCALL_BASE + 79) +#define __NR_getgroups (__NR_SYSCALL_BASE + 80) +#define __NR_setgroups (__NR_SYSCALL_BASE + 81) +#define __NR_select (__NR_SYSCALL_BASE + 82) +#define __NR_symlink (__NR_SYSCALL_BASE + 83) +#define __NR_readlink (__NR_SYSCALL_BASE + 85) +#define __NR_uselib (__NR_SYSCALL_BASE + 86) +#define __NR_swapon (__NR_SYSCALL_BASE + 87) +#define __NR_reboot (__NR_SYSCALL_BASE + 88) +#define __NR_readdir (__NR_SYSCALL_BASE + 89) +#define __NR_mmap (__NR_SYSCALL_BASE + 90) +#define __NR_munmap (__NR_SYSCALL_BASE + 91) +#define __NR_truncate (__NR_SYSCALL_BASE + 92) +#define __NR_ftruncate (__NR_SYSCALL_BASE + 93) +#define __NR_fchmod (__NR_SYSCALL_BASE + 94) +#define __NR_fchown (__NR_SYSCALL_BASE + 95) +#define __NR_getpriority (__NR_SYSCALL_BASE + 96) +#define __NR_setpriority (__NR_SYSCALL_BASE + 97) +#define __NR_statfs (__NR_SYSCALL_BASE + 99) +#define __NR_fstatfs (__NR_SYSCALL_BASE + 100) +#define __NR_socketcall (__NR_SYSCALL_BASE + 102) +#define __NR_syslog (__NR_SYSCALL_BASE + 103) +#define __NR_setitimer (__NR_SYSCALL_BASE + 104) +#define __NR_getitimer (__NR_SYSCALL_BASE + 105) +#define __NR_stat (__NR_SYSCALL_BASE + 106) +#define __NR_lstat (__NR_SYSCALL_BASE + 107) +#define __NR_fstat (__NR_SYSCALL_BASE + 108) +#define __NR_vhangup (__NR_SYSCALL_BASE + 111) +#define __NR_syscall (__NR_SYSCALL_BASE + 113) +#define __NR_wait4 (__NR_SYSCALL_BASE + 114) +#define __NR_swapoff (__NR_SYSCALL_BASE + 115) +#define __NR_sysinfo (__NR_SYSCALL_BASE + 116) +#define __NR_ipc (__NR_SYSCALL_BASE + 117) +#define __NR_fsync (__NR_SYSCALL_BASE + 118) +#define __NR_sigreturn (__NR_SYSCALL_BASE + 119) +#define __NR_clone (__NR_SYSCALL_BASE + 120) +#define __NR_setdomainname (__NR_SYSCALL_BASE + 121) +#define __NR_uname (__NR_SYSCALL_BASE + 122) +#define __NR_adjtimex (__NR_SYSCALL_BASE + 124) +#define __NR_mprotect (__NR_SYSCALL_BASE + 125) +#define __NR_sigprocmask (__NR_SYSCALL_BASE + 126) +#define __NR_init_module (__NR_SYSCALL_BASE + 128) +#define __NR_delete_module (__NR_SYSCALL_BASE + 129) +#define __NR_quotactl (__NR_SYSCALL_BASE + 131) +#define __NR_getpgid (__NR_SYSCALL_BASE + 132) +#define __NR_fchdir (__NR_SYSCALL_BASE + 133) +#define __NR_bdflush (__NR_SYSCALL_BASE + 134) +#define __NR_sysfs (__NR_SYSCALL_BASE + 135) +#define __NR_personality (__NR_SYSCALL_BASE + 136) +#define __NR_setfsuid (__NR_SYSCALL_BASE + 138) +#define __NR_setfsgid (__NR_SYSCALL_BASE + 139) +#define __NR__llseek (__NR_SYSCALL_BASE + 140) +#define __NR_getdents (__NR_SYSCALL_BASE + 141) +#define __NR__newselect (__NR_SYSCALL_BASE + 142) +#define __NR_flock (__NR_SYSCALL_BASE + 143) +#define __NR_msync (__NR_SYSCALL_BASE + 144) +#define __NR_readv (__NR_SYSCALL_BASE + 145) +#define __NR_writev (__NR_SYSCALL_BASE + 146) +#define __NR_getsid (__NR_SYSCALL_BASE + 147) +#define __NR_fdatasync (__NR_SYSCALL_BASE + 148) +#define __NR__sysctl (__NR_SYSCALL_BASE + 149) +#define __NR_mlock (__NR_SYSCALL_BASE + 150) +#define __NR_munlock (__NR_SYSCALL_BASE + 151) +#define __NR_mlockall (__NR_SYSCALL_BASE + 152) +#define __NR_munlockall (__NR_SYSCALL_BASE + 153) +#define __NR_sched_setparam (__NR_SYSCALL_BASE + 154) +#define __NR_sched_getparam (__NR_SYSCALL_BASE + 155) +#define __NR_sched_setscheduler (__NR_SYSCALL_BASE + 156) +#define __NR_sched_getscheduler (__NR_SYSCALL_BASE + 157) +#define __NR_sched_yield (__NR_SYSCALL_BASE + 158) +#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE + 159) +#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE + 160) +#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE + 161) +#define __NR_nanosleep (__NR_SYSCALL_BASE + 162) +#define __NR_mremap (__NR_SYSCALL_BASE + 163) +#define __NR_setresuid (__NR_SYSCALL_BASE + 164) +#define __NR_getresuid (__NR_SYSCALL_BASE + 165) +#define __NR_poll (__NR_SYSCALL_BASE + 168) +#define __NR_nfsservctl (__NR_SYSCALL_BASE + 169) +#define __NR_setresgid (__NR_SYSCALL_BASE + 170) +#define __NR_getresgid (__NR_SYSCALL_BASE + 171) +#define __NR_prctl (__NR_SYSCALL_BASE + 172) +#define __NR_rt_sigreturn (__NR_SYSCALL_BASE + 173) +#define __NR_rt_sigaction (__NR_SYSCALL_BASE + 174) +#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE + 175) +#define __NR_rt_sigpending (__NR_SYSCALL_BASE + 176) +#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE + 177) +#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE + 178) +#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE + 179) +#define __NR_pread64 (__NR_SYSCALL_BASE + 180) +#define __NR_pwrite64 (__NR_SYSCALL_BASE + 181) +#define __NR_chown (__NR_SYSCALL_BASE + 182) +#define __NR_getcwd (__NR_SYSCALL_BASE + 183) +#define __NR_capget (__NR_SYSCALL_BASE + 184) +#define __NR_capset (__NR_SYSCALL_BASE + 185) +#define __NR_sigaltstack (__NR_SYSCALL_BASE + 186) +#define __NR_sendfile (__NR_SYSCALL_BASE + 187) +#define __NR_vfork (__NR_SYSCALL_BASE + 190) +#define __NR_ugetrlimit (__NR_SYSCALL_BASE + 191) +#define __NR_mmap2 (__NR_SYSCALL_BASE + 192) +#define __NR_truncate64 (__NR_SYSCALL_BASE + 193) +#define __NR_ftruncate64 (__NR_SYSCALL_BASE + 194) +#define __NR_stat64 (__NR_SYSCALL_BASE + 195) +#define __NR_lstat64 (__NR_SYSCALL_BASE + 196) +#define __NR_fstat64 (__NR_SYSCALL_BASE + 197) +#define __NR_lchown32 (__NR_SYSCALL_BASE + 198) +#define __NR_getuid32 (__NR_SYSCALL_BASE + 199) +#define __NR_getgid32 (__NR_SYSCALL_BASE + 200) +#define __NR_geteuid32 (__NR_SYSCALL_BASE + 201) +#define __NR_getegid32 (__NR_SYSCALL_BASE + 202) +#define __NR_setreuid32 (__NR_SYSCALL_BASE + 203) +#define __NR_setregid32 (__NR_SYSCALL_BASE + 204) +#define __NR_getgroups32 (__NR_SYSCALL_BASE + 205) +#define __NR_setgroups32 (__NR_SYSCALL_BASE + 206) +#define __NR_fchown32 (__NR_SYSCALL_BASE + 207) +#define __NR_setresuid32 (__NR_SYSCALL_BASE + 208) +#define __NR_getresuid32 (__NR_SYSCALL_BASE + 209) +#define __NR_setresgid32 (__NR_SYSCALL_BASE + 210) +#define __NR_getresgid32 (__NR_SYSCALL_BASE + 211) +#define __NR_chown32 (__NR_SYSCALL_BASE + 212) +#define __NR_setuid32 (__NR_SYSCALL_BASE + 213) +#define __NR_setgid32 (__NR_SYSCALL_BASE + 214) +#define __NR_setfsuid32 (__NR_SYSCALL_BASE + 215) +#define __NR_setfsgid32 (__NR_SYSCALL_BASE + 216) +#define __NR_getdents64 (__NR_SYSCALL_BASE + 217) +#define __NR_pivot_root (__NR_SYSCALL_BASE + 218) +#define __NR_mincore (__NR_SYSCALL_BASE + 219) +#define __NR_madvise (__NR_SYSCALL_BASE + 220) +#define __NR_fcntl64 (__NR_SYSCALL_BASE + 221) +#define __NR_gettid (__NR_SYSCALL_BASE + 224) +#define __NR_readahead (__NR_SYSCALL_BASE + 225) +#define __NR_setxattr (__NR_SYSCALL_BASE + 226) +#define __NR_lsetxattr (__NR_SYSCALL_BASE + 227) +#define __NR_fsetxattr (__NR_SYSCALL_BASE + 228) +#define __NR_getxattr (__NR_SYSCALL_BASE + 229) +#define __NR_lgetxattr (__NR_SYSCALL_BASE + 230) +#define __NR_fgetxattr (__NR_SYSCALL_BASE + 231) +#define __NR_listxattr (__NR_SYSCALL_BASE + 232) +#define __NR_llistxattr (__NR_SYSCALL_BASE + 233) +#define __NR_flistxattr (__NR_SYSCALL_BASE + 234) +#define __NR_removexattr (__NR_SYSCALL_BASE + 235) +#define __NR_lremovexattr (__NR_SYSCALL_BASE + 236) +#define __NR_fremovexattr (__NR_SYSCALL_BASE + 237) +#define __NR_tkill (__NR_SYSCALL_BASE + 238) +#define __NR_sendfile64 (__NR_SYSCALL_BASE + 239) +#define __NR_futex (__NR_SYSCALL_BASE + 240) +#define __NR_sched_setaffinity (__NR_SYSCALL_BASE + 241) +#define __NR_sched_getaffinity (__NR_SYSCALL_BASE + 242) +#define __NR_io_setup (__NR_SYSCALL_BASE + 243) +#define __NR_io_destroy (__NR_SYSCALL_BASE + 244) +#define __NR_io_getevents (__NR_SYSCALL_BASE + 245) +#define __NR_io_submit (__NR_SYSCALL_BASE + 246) +#define __NR_io_cancel (__NR_SYSCALL_BASE + 247) +#define __NR_exit_group (__NR_SYSCALL_BASE + 248) +#define __NR_lookup_dcookie (__NR_SYSCALL_BASE + 249) +#define __NR_epoll_create (__NR_SYSCALL_BASE + 250) +#define __NR_epoll_ctl (__NR_SYSCALL_BASE + 251) +#define __NR_epoll_wait (__NR_SYSCALL_BASE + 252) +#define __NR_remap_file_pages (__NR_SYSCALL_BASE + 253) +#define __NR_set_tid_address (__NR_SYSCALL_BASE + 256) +#define __NR_timer_create (__NR_SYSCALL_BASE + 257) +#define __NR_timer_settime (__NR_SYSCALL_BASE + 258) +#define __NR_timer_gettime (__NR_SYSCALL_BASE + 259) +#define __NR_timer_getoverrun (__NR_SYSCALL_BASE + 260) +#define __NR_timer_delete (__NR_SYSCALL_BASE + 261) +#define __NR_clock_settime (__NR_SYSCALL_BASE + 262) +#define __NR_clock_gettime (__NR_SYSCALL_BASE + 263) +#define __NR_clock_getres (__NR_SYSCALL_BASE + 264) +#define __NR_clock_nanosleep (__NR_SYSCALL_BASE + 265) +#define __NR_statfs64 (__NR_SYSCALL_BASE + 266) +#define __NR_fstatfs64 (__NR_SYSCALL_BASE + 267) +#define __NR_tgkill (__NR_SYSCALL_BASE + 268) +#define __NR_utimes (__NR_SYSCALL_BASE + 269) +#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE + 270) +#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE + 271) +#define __NR_pciconfig_read (__NR_SYSCALL_BASE + 272) +#define __NR_pciconfig_write (__NR_SYSCALL_BASE + 273) +#define __NR_mq_open (__NR_SYSCALL_BASE + 274) +#define __NR_mq_unlink (__NR_SYSCALL_BASE + 275) +#define __NR_mq_timedsend (__NR_SYSCALL_BASE + 276) +#define __NR_mq_timedreceive (__NR_SYSCALL_BASE + 277) +#define __NR_mq_notify (__NR_SYSCALL_BASE + 278) +#define __NR_mq_getsetattr (__NR_SYSCALL_BASE + 279) +#define __NR_waitid (__NR_SYSCALL_BASE + 280) +#define __NR_socket (__NR_SYSCALL_BASE + 281) +#define __NR_bind (__NR_SYSCALL_BASE + 282) +#define __NR_connect (__NR_SYSCALL_BASE + 283) +#define __NR_listen (__NR_SYSCALL_BASE + 284) +#define __NR_accept (__NR_SYSCALL_BASE + 285) +#define __NR_getsockname (__NR_SYSCALL_BASE + 286) +#define __NR_getpeername (__NR_SYSCALL_BASE + 287) +#define __NR_socketpair (__NR_SYSCALL_BASE + 288) +#define __NR_send (__NR_SYSCALL_BASE + 289) +#define __NR_sendto (__NR_SYSCALL_BASE + 290) +#define __NR_recv (__NR_SYSCALL_BASE + 291) +#define __NR_recvfrom (__NR_SYSCALL_BASE + 292) +#define __NR_shutdown (__NR_SYSCALL_BASE + 293) +#define __NR_setsockopt (__NR_SYSCALL_BASE + 294) +#define __NR_getsockopt (__NR_SYSCALL_BASE + 295) +#define __NR_sendmsg (__NR_SYSCALL_BASE + 296) +#define __NR_recvmsg (__NR_SYSCALL_BASE + 297) +#define __NR_semop (__NR_SYSCALL_BASE + 298) +#define __NR_semget (__NR_SYSCALL_BASE + 299) +#define __NR_semctl (__NR_SYSCALL_BASE + 300) +#define __NR_msgsnd (__NR_SYSCALL_BASE + 301) +#define __NR_msgrcv (__NR_SYSCALL_BASE + 302) +#define __NR_msgget (__NR_SYSCALL_BASE + 303) +#define __NR_msgctl (__NR_SYSCALL_BASE + 304) +#define __NR_shmat (__NR_SYSCALL_BASE + 305) +#define __NR_shmdt (__NR_SYSCALL_BASE + 306) +#define __NR_shmget (__NR_SYSCALL_BASE + 307) +#define __NR_shmctl (__NR_SYSCALL_BASE + 308) +#define __NR_add_key (__NR_SYSCALL_BASE + 309) +#define __NR_request_key (__NR_SYSCALL_BASE + 310) +#define __NR_keyctl (__NR_SYSCALL_BASE + 311) +#define __NR_semtimedop (__NR_SYSCALL_BASE + 312) +#define __NR_vserver (__NR_SYSCALL_BASE + 313) +#define __NR_ioprio_set (__NR_SYSCALL_BASE + 314) +#define __NR_ioprio_get (__NR_SYSCALL_BASE + 315) +#define __NR_inotify_init (__NR_SYSCALL_BASE + 316) +#define __NR_inotify_add_watch (__NR_SYSCALL_BASE + 317) +#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE + 318) +#define __NR_mbind (__NR_SYSCALL_BASE + 319) +#define __NR_get_mempolicy (__NR_SYSCALL_BASE + 320) +#define __NR_set_mempolicy (__NR_SYSCALL_BASE + 321) +#define __NR_openat (__NR_SYSCALL_BASE + 322) +#define __NR_mkdirat (__NR_SYSCALL_BASE + 323) +#define __NR_mknodat (__NR_SYSCALL_BASE + 324) +#define __NR_fchownat (__NR_SYSCALL_BASE + 325) +#define __NR_futimesat (__NR_SYSCALL_BASE + 326) +#define __NR_fstatat64 (__NR_SYSCALL_BASE + 327) +#define __NR_unlinkat (__NR_SYSCALL_BASE + 328) +#define __NR_renameat (__NR_SYSCALL_BASE + 329) +#define __NR_linkat (__NR_SYSCALL_BASE + 330) +#define __NR_symlinkat (__NR_SYSCALL_BASE + 331) +#define __NR_readlinkat (__NR_SYSCALL_BASE + 332) +#define __NR_fchmodat (__NR_SYSCALL_BASE + 333) +#define __NR_faccessat (__NR_SYSCALL_BASE + 334) +#define __NR_pselect6 (__NR_SYSCALL_BASE + 335) +#define __NR_ppoll (__NR_SYSCALL_BASE + 336) +#define __NR_unshare (__NR_SYSCALL_BASE + 337) +#define __NR_set_robust_list (__NR_SYSCALL_BASE + 338) +#define __NR_get_robust_list (__NR_SYSCALL_BASE + 339) +#define __NR_splice (__NR_SYSCALL_BASE + 340) +#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE + 341) +#define __NR_tee (__NR_SYSCALL_BASE + 342) +#define __NR_vmsplice (__NR_SYSCALL_BASE + 343) +#define __NR_move_pages (__NR_SYSCALL_BASE + 344) +#define __NR_getcpu (__NR_SYSCALL_BASE + 345) +#define __NR_epoll_pwait (__NR_SYSCALL_BASE + 346) +#define __NR_kexec_load (__NR_SYSCALL_BASE + 347) +#define __NR_utimensat (__NR_SYSCALL_BASE + 348) +#define __NR_signalfd (__NR_SYSCALL_BASE + 349) +#define __NR_timerfd_create (__NR_SYSCALL_BASE + 350) +#define __NR_eventfd (__NR_SYSCALL_BASE + 351) +#define __NR_fallocate (__NR_SYSCALL_BASE + 352) +#define __NR_timerfd_settime (__NR_SYSCALL_BASE + 353) +#define __NR_timerfd_gettime (__NR_SYSCALL_BASE + 354) +#define __NR_signalfd4 (__NR_SYSCALL_BASE + 355) +#define __NR_eventfd2 (__NR_SYSCALL_BASE + 356) +#define __NR_epoll_create1 (__NR_SYSCALL_BASE + 357) +#define __NR_dup3 (__NR_SYSCALL_BASE + 358) +#define __NR_pipe2 (__NR_SYSCALL_BASE + 359) +#define __NR_inotify_init1 (__NR_SYSCALL_BASE + 360) +#define __NR_preadv (__NR_SYSCALL_BASE + 361) +#define __NR_pwritev (__NR_SYSCALL_BASE + 362) +#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE + 363) +#define __NR_perf_event_open (__NR_SYSCALL_BASE + 364) +#define __NR_recvmmsg (__NR_SYSCALL_BASE + 365) +#define __NR_accept4 (__NR_SYSCALL_BASE + 366) +#define __NR_fanotify_init (__NR_SYSCALL_BASE + 367) +#define __NR_fanotify_mark (__NR_SYSCALL_BASE + 368) +#define __NR_prlimit64 (__NR_SYSCALL_BASE + 369) +#define __NR_name_to_handle_at (__NR_SYSCALL_BASE + 370) +#define __NR_open_by_handle_at (__NR_SYSCALL_BASE + 371) +#define __NR_clock_adjtime (__NR_SYSCALL_BASE + 372) +#define __NR_syncfs (__NR_SYSCALL_BASE + 373) +#define __NR_sendmmsg (__NR_SYSCALL_BASE + 374) +#define __NR_setns (__NR_SYSCALL_BASE + 375) +#define __NR_process_vm_readv (__NR_SYSCALL_BASE + 376) +#define __NR_process_vm_writev (__NR_SYSCALL_BASE + 377) +#define __NR_kcmp (__NR_SYSCALL_BASE + 378) +#define __NR_finit_module (__NR_SYSCALL_BASE + 379) +#define __NR_sched_setattr (__NR_SYSCALL_BASE + 380) +#define __NR_sched_getattr (__NR_SYSCALL_BASE + 381) +#define __NR_renameat2 (__NR_SYSCALL_BASE + 382) +#define __NR_seccomp (__NR_SYSCALL_BASE + 383) +#define __NR_getrandom (__NR_SYSCALL_BASE + 384) +#define __NR_memfd_create (__NR_SYSCALL_BASE + 385) +#define __NR_bpf (__NR_SYSCALL_BASE + 386) +#define __NR_execveat (__NR_SYSCALL_BASE + 387) +#define __NR_userfaultfd (__NR_SYSCALL_BASE + 388) +#define __NR_membarrier (__NR_SYSCALL_BASE + 389) +#define __NR_mlock2 (__NR_SYSCALL_BASE + 390) +#define __NR_copy_file_range (__NR_SYSCALL_BASE + 391) +#define __NR_preadv2 (__NR_SYSCALL_BASE + 392) +#define __NR_pwritev2 (__NR_SYSCALL_BASE + 393) +#define __NR_pkey_mprotect (__NR_SYSCALL_BASE + 394) +#define __NR_pkey_alloc (__NR_SYSCALL_BASE + 395) +#define __NR_pkey_free (__NR_SYSCALL_BASE + 396) +#define __NR_statx (__NR_SYSCALL_BASE + 397) +#define __NR_rseq (__NR_SYSCALL_BASE + 398) +#define __NR_io_pgetevents (__NR_SYSCALL_BASE + 399) +#define __NR_migrate_pages (__NR_SYSCALL_BASE + 400) +#define __NR_kexec_file_load (__NR_SYSCALL_BASE + 401) +#define __NR_clock_gettime64 (__NR_SYSCALL_BASE + 403) +#define __NR_clock_settime64 (__NR_SYSCALL_BASE + 404) +#define __NR_clock_adjtime64 (__NR_SYSCALL_BASE + 405) +#define __NR_clock_getres_time64 (__NR_SYSCALL_BASE + 406) +#define __NR_clock_nanosleep_time64 (__NR_SYSCALL_BASE + 407) +#define __NR_timer_gettime64 (__NR_SYSCALL_BASE + 408) +#define __NR_timer_settime64 (__NR_SYSCALL_BASE + 409) +#define __NR_timerfd_gettime64 (__NR_SYSCALL_BASE + 410) +#define __NR_timerfd_settime64 (__NR_SYSCALL_BASE + 411) +#define __NR_utimensat_time64 (__NR_SYSCALL_BASE + 412) +#define __NR_pselect6_time64 (__NR_SYSCALL_BASE + 413) +#define __NR_ppoll_time64 (__NR_SYSCALL_BASE + 414) +#define __NR_io_pgetevents_time64 (__NR_SYSCALL_BASE + 416) +#define __NR_recvmmsg_time64 (__NR_SYSCALL_BASE + 417) +#define __NR_mq_timedsend_time64 (__NR_SYSCALL_BASE + 418) +#define __NR_mq_timedreceive_time64 (__NR_SYSCALL_BASE + 419) +#define __NR_semtimedop_time64 (__NR_SYSCALL_BASE + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_SYSCALL_BASE + 421) +#define __NR_futex_time64 (__NR_SYSCALL_BASE + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_SYSCALL_BASE + 423) +#define __NR_pidfd_send_signal (__NR_SYSCALL_BASE + 424) +#define __NR_io_uring_setup (__NR_SYSCALL_BASE + 425) +#define __NR_io_uring_enter (__NR_SYSCALL_BASE + 426) +#define __NR_io_uring_register (__NR_SYSCALL_BASE + 427) +#define __NR_open_tree (__NR_SYSCALL_BASE + 428) +#define __NR_move_mount (__NR_SYSCALL_BASE + 429) +#define __NR_fsopen (__NR_SYSCALL_BASE + 430) +#define __NR_fsconfig (__NR_SYSCALL_BASE + 431) +#define __NR_fsmount (__NR_SYSCALL_BASE + 432) +#define __NR_fspick (__NR_SYSCALL_BASE + 433) +#define __NR_pidfd_open (__NR_SYSCALL_BASE + 434) +#define __NR_clone3 (__NR_SYSCALL_BASE + 435) +#define __NR_close_range (__NR_SYSCALL_BASE + 436) +#define __NR_openat2 (__NR_SYSCALL_BASE + 437) +#define __NR_pidfd_getfd (__NR_SYSCALL_BASE + 438) +#define __NR_faccessat2 (__NR_SYSCALL_BASE + 439) +#define __NR_process_madvise (__NR_SYSCALL_BASE + 440) +#define __NR_epoll_pwait2 (__NR_SYSCALL_BASE + 441) +#define __NR_mount_setattr (__NR_SYSCALL_BASE + 442) +#define __NR_quotactl_fd (__NR_SYSCALL_BASE + 443) +#define __NR_landlock_create_ruleset (__NR_SYSCALL_BASE + 444) +#define __NR_landlock_add_rule (__NR_SYSCALL_BASE + 445) +#define __NR_landlock_restrict_self (__NR_SYSCALL_BASE + 446) +#define __NR_process_mrelease (__NR_SYSCALL_BASE + 448) +#define __NR_futex_waitv (__NR_SYSCALL_BASE + 449) +#define __NR_set_mempolicy_home_node (__NR_SYSCALL_BASE + 450) +#define __NR_cachestat (__NR_SYSCALL_BASE + 451) +#define __NR_fchmodat2 (__NR_SYSCALL_BASE + 452) +#define __NR_map_shadow_stack (__NR_SYSCALL_BASE + 453) +#define __NR_futex_wake (__NR_SYSCALL_BASE + 454) +#define __NR_futex_wait (__NR_SYSCALL_BASE + 455) +#define __NR_futex_requeue (__NR_SYSCALL_BASE + 456) +#define __NR_statmount (__NR_SYSCALL_BASE + 457) +#define __NR_listmount (__NR_SYSCALL_BASE + 458) +#define __NR_lsm_get_self_attr (__NR_SYSCALL_BASE + 459) +#define __NR_lsm_set_self_attr (__NR_SYSCALL_BASE + 460) +#define __NR_lsm_list_modules (__NR_SYSCALL_BASE + 461) +#define __NR_mseal (__NR_SYSCALL_BASE + 462) +#define __NR_setxattrat (__NR_SYSCALL_BASE + 463) +#define __NR_getxattrat (__NR_SYSCALL_BASE + 464) +#define __NR_listxattrat (__NR_SYSCALL_BASE + 465) +#define __NR_removexattrat (__NR_SYSCALL_BASE + 466) + +#endif /* _ASM_UNISTD_OABI_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd.h new file mode 100644 index 00000000..96384abc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-any/asm/unistd.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * arch/arm/include/asm/unistd.h + * + * Copyright (C) 2001-2005 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Please forward _all_ changes to this file to rmk@arm.linux.org.uk, + * no matter what the change is. Thanks! + */ +#ifndef __ASM_ARM_UNISTD_H +#define __ASM_ARM_UNISTD_H + +#define __NR_OABI_SYSCALL_BASE 0x900000 +#define __NR_SYSCALL_MASK 0x0fffff + +#if defined(__thumb__) || defined(__ARM_EABI__) +#define __NR_SYSCALL_BASE 0 +#include +#else +#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE +#include +#endif + +#define __NR_sync_file_range2 __NR_arm_sync_file_range + +/* + * The following SWIs are ARM private. + */ +#define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000) +#define __ARM_NR_breakpoint (__ARM_NR_BASE+1) +#define __ARM_NR_cacheflush (__ARM_NR_BASE+2) +#define __ARM_NR_usr26 (__ARM_NR_BASE+3) +#define __ARM_NR_usr32 (__ARM_NR_BASE+4) +#define __ARM_NR_set_tls (__ARM_NR_BASE+5) +#define __ARM_NR_get_tls (__ARM_NR_BASE+6) + +#endif /* __ASM_ARM_UNISTD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h new file mode 100644 index 00000000..46912bb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/endianness.h new file mode 100644 index 00000000..8e938abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* ARM has selectable endianness. */ +#ifdef __ARMEB__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h new file mode 100644 index 00000000..14a203d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fcntl.h @@ -0,0 +1,54 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0200000 /* Direct disk access. */ +#define __O_LARGEFILE 0400000 + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fenv.h new file mode 100644 index 00000000..4815a06d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/fenv.h @@ -0,0 +1,90 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +/* Define bits representing exceptions in the FPU status word. */ +enum + { + FE_INVALID = +#define FE_INVALID 1 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 2 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 4 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 8 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 16 + FE_INEXACT, + }; + +/* Amount to shift by to convert an exception to a mask bit. */ +#define FE_EXCEPT_SHIFT 8 + +/* All supported exceptions. */ +#define FE_ALL_EXCEPT \ + (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +/* VFP supports all of the four defined rounding modes. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_UPWARD = +#define FE_UPWARD 0x400000 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x800000 + FE_DOWNWARD, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0xc00000 + FE_TOWARDZERO + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct + { + unsigned int __cw; + } +fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1l) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h new file mode 100644 index 00000000..7b16f0e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/hwcap.h @@ -0,0 +1,59 @@ +/* Defines for bits in AT_HWCAP. ARM Linux version. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +#define HWCAP_ARM_SWP 1 +#define HWCAP_ARM_HALF 2 +#define HWCAP_ARM_THUMB 4 +#define HWCAP_ARM_26BIT 8 +#define HWCAP_ARM_FAST_MULT 16 +#define HWCAP_ARM_FPA 32 +#define HWCAP_ARM_VFP 64 +#define HWCAP_ARM_EDSP 128 +#define HWCAP_ARM_JAVA 256 +#define HWCAP_ARM_IWMMXT 512 +#define HWCAP_ARM_CRUNCH 1024 +#define HWCAP_ARM_THUMBEE 2048 +#define HWCAP_ARM_NEON 4096 +#define HWCAP_ARM_VFPv3 8192 +#define HWCAP_ARM_VFPv3D16 16384 +#define HWCAP_ARM_TLS 32768 +#define HWCAP_ARM_VFPv4 65536 +#define HWCAP_ARM_IDIVA 131072 +#define HWCAP_ARM_IDIVT 262144 +#define HWCAP_ARM_VFPD32 524288 +#define HWCAP_ARM_LPAE 1048576 +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 + +#define HWCAP2_AES 1 +#define HWCAP2_PMULL 2 +#define HWCAP2_SHA1 4 +#define HWCAP2_SHA2 8 +#define HWCAP2_CRC32 16 +#define HWCAP2_SB 32 +#define HWCAP2_SSBS 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/link.h new file mode 100644 index 00000000..8060167e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/link.h @@ -0,0 +1,65 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +/* Registers for entry into PLT on ARM. */ +typedef struct La_arm_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; + /* Coprocessor registers used for argument passing. The data + stored here depends on the coprocessors available in the + system which are used for function calls in the current ABI. + VFP uses eight 64-bit registers, and iWMMXt uses ten. */ + uint32_t lr_coproc[42]; +} La_arm_regs; + +/* Return values for calls from PLT on ARM. */ +typedef struct La_arm_retval +{ + /* Up to four integer registers can be used for a return value in + some ABIs (APCS complex long double). */ + uint32_t lrv_reg[4]; + + /* Any coprocessor registers which might be used to return values + in the current ABI. */ + uint32_t lrv_coproc[12]; +} La_arm_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_arm_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_arm_regs *__inregs, + La_arm_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h new file mode 100644 index 00000000..58c2162a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs.h new file mode 100644 index 00000000..2a60d310 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/procfs.h @@ -0,0 +1,34 @@ +/* Types for registers for sys/procfs.h. Arm version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + user_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +/* Register set for the floating-point registers. */ +typedef struct user_fpregs elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/rseq.h new file mode 100644 index 00000000..1d6a1639 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h new file mode 100644 index 00000000..7fdd2e4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/setjmp.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#ifndef __ASSEMBLER__ +/* The exact set of registers saved may depend on the particular core + in use, as some coprocessor registers may need to be saved. The C + Library ABI requires that the buffer be 8-byte aligned, and + recommends that the buffer contain 64 words. The first 26 words + are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */ +typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h new file mode 100644 index 00000000..c615e207 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. ARM version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h new file mode 100644 index 00000000..71196f19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/timesize.h new file mode 100644 index 00000000..3b50f811 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h new file mode 100644 index 00000000..11790d7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/fpu_control.h new file mode 100644 index 00000000..57a0c054 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/fpu_control.h @@ -0,0 +1,75 @@ +/* FPU control word definitions. ARM VFP version. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__) + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x00000100 /* invalid operation */ +#define _FPU_MASK_ZM 0x00000200 /* divide by zero */ +#define _FPU_MASK_OM 0x00000400 /* overflow */ +#define _FPU_MASK_UM 0x00000800 /* underflow */ +#define _FPU_MASK_PM 0x00001000 /* inexact */ + +#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */ +#define _FPU_MASK_RM 0x00c00000 /* rounding mode */ +#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */ + +/* Some bits in the FPSCR are not yet defined. They must be preserved when + modifying the contents. */ +#define _FPU_RESERVED 0x00086060 +#define _FPU_DEFAULT 0x00000000 + +/* Default + exceptions enabled. */ +#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00) + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +#ifdef __SOFTFP__ +/* This is fmrx %0, fpscr. */ +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw)) +/* This is fmxr fpscr, %0. */ +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) +#else +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw)) +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* __SOFTFP__ */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/lib-names.h new file mode 100644 index 00000000..96ed86de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/lib-names.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/stubs.h new file mode 100644 index 00000000..eb222249 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/gnu/stubs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h new file mode 100644 index 00000000..781cc357 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ptrace.h @@ -0,0 +1,226 @@ +/* `ptrace' debugger support interface. Linux/ARM version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get the iWMMXt state of a process. */ + PTRACE_GETWMMXREGS = 18, +#define PT_GETWMMXREGS PTRACE_GETWMMXREGS + + /* Set the iWMMXt state of a process. */ + PTRACE_SETWMMXREGS = 19, +#define PT_SETWMMXREGS PTRACE_SETWMMXREGS + + /* Get the thread pointer of a process. */ + PTRACE_GET_THREAD_AREA = 22, +#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA + + /* Change the syscall number of a process. */ + PTRACE_SET_SYSCALL = 23, +#define PT_SET_SYSCALL PTRACE_SET_SYSCALL + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get the Crunch state of a process. */ + PTRACE_GETCRUNCHREGS = 25, +#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS + + /* Set the Crunch state of a process. */ + PTRACE_SETCRUNCHREGS = 26, +#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS + + /* Get all VFP registers used by a process. */ + PTRACE_GETVFPREGS = 27, +#define PT_GETVFPREGS PTRACE_GETVFPREGS + + /* Set all VFP registers used by a process. */ + PTRACE_SETVFPREGS = 28, +#define PT_SETVFPREGS PTRACE_SETVFPREGS + + /* Get all hardware breakpoint registers. */ + PTRACE_GETHBPREGS = 29, +#define PT_GETHBPREGS PTRACE_GETHBPREGS + + /* Set all hardware breakpoint registers. */ + PTRACE_SETHBPREGS = 30, +#define PT_SETHBPREGS PTRACE_SETHBPREGS + + /* Get the ELF fdpic loadmap address. */ + PTRACE_GETFDPIC = 31, +#define PT_GETFDPIC PTRACE_GETFDPIC + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h new file mode 100644 index 00000000..56c60d92 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/ucontext.h @@ -0,0 +1,144 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* System V/ARM ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#ifdef __USE_MISC +typedef int greg_t; + +/* Number of general registers. */ +# define NGREG 18 + +/* Container for all general registers. */ +typedef greg_t gregset_t[NGREG]; + +/* Number of each register is the `gregset_t' array. */ +enum +{ + REG_R0 = 0, +# define REG_R0 REG_R0 + REG_R1 = 1, +# define REG_R1 REG_R1 + REG_R2 = 2, +# define REG_R2 REG_R2 + REG_R3 = 3, +# define REG_R3 REG_R3 + REG_R4 = 4, +# define REG_R4 REG_R4 + REG_R5 = 5, +# define REG_R5 REG_R5 + REG_R6 = 6, +# define REG_R6 REG_R6 + REG_R7 = 7, +# define REG_R7 REG_R7 + REG_R8 = 8, +# define REG_R8 REG_R8 + REG_R9 = 9, +# define REG_R9 REG_R9 + REG_R10 = 10, +# define REG_R10 REG_R10 + REG_R11 = 11, +# define REG_R11 REG_R11 + REG_R12 = 12, +# define REG_R12 REG_R12 + REG_R13 = 13, +# define REG_R13 REG_R13 + REG_R14 = 14, +# define REG_R14 REG_R14 + REG_R15 = 15 +# define REG_R15 REG_R15 +}; + +struct _libc_fpstate +{ + struct + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; +/* Structure to describe FPU registers. */ +typedef struct _libc_fpstate fpregset_t; +#endif + +/* Context to describe whole processor state. This only describes + the core registers; coprocessor registers get saved elsewhere + (e.g. in uc_regspace, or somewhere unspecified on the stack + during non-RT signal handlers). */ +typedef struct + { + unsigned long int __ctx(trap_no); + unsigned long int __ctx(error_code); + unsigned long int __ctx(oldmask); + unsigned long int __ctx(arm_r0); + unsigned long int __ctx(arm_r1); + unsigned long int __ctx(arm_r2); + unsigned long int __ctx(arm_r3); + unsigned long int __ctx(arm_r4); + unsigned long int __ctx(arm_r5); + unsigned long int __ctx(arm_r6); + unsigned long int __ctx(arm_r7); + unsigned long int __ctx(arm_r8); + unsigned long int __ctx(arm_r9); + unsigned long int __ctx(arm_r10); + unsigned long int __ctx(arm_fp); + unsigned long int __ctx(arm_ip); + unsigned long int __ctx(arm_sp); + unsigned long int __ctx(arm_lr); + unsigned long int __ctx(arm_pc); + unsigned long int __ctx(arm_cpsr); + unsigned long int __ctx(fault_address); + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8))); + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/user.h new file mode 100644 index 00000000..37a8cc78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabi/sys/user.h @@ -0,0 +1,71 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct user_fpregs +{ + struct fp_reg + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; + +struct user_regs +{ + unsigned long int uregs[18]; +}; + +struct user +{ + struct user_regs regs; /* General registers */ + int u_fpvalid; /* True if math co-processor being used. */ + + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + + unsigned long start_code; /* Starting virtual address of text. */ + unsigned long start_stack; /* Starting virtual address of stack. */ + + long int signal; /* Signal that caused the core dump. */ + int reserved; /* No longer used */ + struct user_regs *u_ar0; /* help gdb to find the general registers. */ + + unsigned long magic; /* uniquely identify a core file */ + char u_comm[32]; /* User command that was responsible */ + int u_debugreg[8]; + struct user_fpregs u_fp; /* Floating point registers */ + struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 00000000..46912bb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/endianness.h new file mode 100644 index 00000000..8e938abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* ARM has selectable endianness. */ +#ifdef __ARMEB__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h new file mode 100644 index 00000000..14a203d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fcntl.h @@ -0,0 +1,54 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0200000 /* Direct disk access. */ +#define __O_LARGEFILE 0400000 + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h new file mode 100644 index 00000000..4815a06d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/fenv.h @@ -0,0 +1,90 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +/* Define bits representing exceptions in the FPU status word. */ +enum + { + FE_INVALID = +#define FE_INVALID 1 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 2 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 4 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 8 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 16 + FE_INEXACT, + }; + +/* Amount to shift by to convert an exception to a mask bit. */ +#define FE_EXCEPT_SHIFT 8 + +/* All supported exceptions. */ +#define FE_ALL_EXCEPT \ + (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +/* VFP supports all of the four defined rounding modes. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_UPWARD = +#define FE_UPWARD 0x400000 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x800000 + FE_DOWNWARD, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0xc00000 + FE_TOWARDZERO + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct + { + unsigned int __cw; + } +fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1l) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h new file mode 100644 index 00000000..7b16f0e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/hwcap.h @@ -0,0 +1,59 @@ +/* Defines for bits in AT_HWCAP. ARM Linux version. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +#define HWCAP_ARM_SWP 1 +#define HWCAP_ARM_HALF 2 +#define HWCAP_ARM_THUMB 4 +#define HWCAP_ARM_26BIT 8 +#define HWCAP_ARM_FAST_MULT 16 +#define HWCAP_ARM_FPA 32 +#define HWCAP_ARM_VFP 64 +#define HWCAP_ARM_EDSP 128 +#define HWCAP_ARM_JAVA 256 +#define HWCAP_ARM_IWMMXT 512 +#define HWCAP_ARM_CRUNCH 1024 +#define HWCAP_ARM_THUMBEE 2048 +#define HWCAP_ARM_NEON 4096 +#define HWCAP_ARM_VFPv3 8192 +#define HWCAP_ARM_VFPv3D16 16384 +#define HWCAP_ARM_TLS 32768 +#define HWCAP_ARM_VFPv4 65536 +#define HWCAP_ARM_IDIVA 131072 +#define HWCAP_ARM_IDIVT 262144 +#define HWCAP_ARM_VFPD32 524288 +#define HWCAP_ARM_LPAE 1048576 +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 + +#define HWCAP2_AES 1 +#define HWCAP2_PMULL 2 +#define HWCAP2_SHA1 4 +#define HWCAP2_SHA2 8 +#define HWCAP2_CRC32 16 +#define HWCAP2_SB 32 +#define HWCAP2_SSBS 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/link.h new file mode 100644 index 00000000..8060167e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/link.h @@ -0,0 +1,65 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +/* Registers for entry into PLT on ARM. */ +typedef struct La_arm_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; + /* Coprocessor registers used for argument passing. The data + stored here depends on the coprocessors available in the + system which are used for function calls in the current ABI. + VFP uses eight 64-bit registers, and iWMMXt uses ten. */ + uint32_t lr_coproc[42]; +} La_arm_regs; + +/* Return values for calls from PLT on ARM. */ +typedef struct La_arm_retval +{ + /* Up to four integer registers can be used for a return value in + some ABIs (APCS complex long double). */ + uint32_t lrv_reg[4]; + + /* Any coprocessor registers which might be used to return values + in the current ABI. */ + uint32_t lrv_coproc[12]; +} La_arm_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_arm_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_arm_regs *__inregs, + La_arm_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h new file mode 100644 index 00000000..58c2162a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h new file mode 100644 index 00000000..2a60d310 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/procfs.h @@ -0,0 +1,34 @@ +/* Types for registers for sys/procfs.h. Arm version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + user_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +/* Register set for the floating-point registers. */ +typedef struct user_fpregs elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h new file mode 100644 index 00000000..1d6a1639 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h new file mode 100644 index 00000000..7fdd2e4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/setjmp.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#ifndef __ASSEMBLER__ +/* The exact set of registers saved may depend on the particular core + in use, as some coprocessor registers may need to be saved. The C + Library ABI requires that the buffer be 8-byte aligned, and + recommends that the buffer contain 64 words. The first 26 words + are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */ +typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h new file mode 100644 index 00000000..c615e207 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. ARM version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h new file mode 100644 index 00000000..71196f19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h new file mode 100644 index 00000000..3b50f811 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 00000000..11790d7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/fpu_control.h new file mode 100644 index 00000000..57a0c054 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/fpu_control.h @@ -0,0 +1,75 @@ +/* FPU control word definitions. ARM VFP version. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__) + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x00000100 /* invalid operation */ +#define _FPU_MASK_ZM 0x00000200 /* divide by zero */ +#define _FPU_MASK_OM 0x00000400 /* overflow */ +#define _FPU_MASK_UM 0x00000800 /* underflow */ +#define _FPU_MASK_PM 0x00001000 /* inexact */ + +#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */ +#define _FPU_MASK_RM 0x00c00000 /* rounding mode */ +#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */ + +/* Some bits in the FPSCR are not yet defined. They must be preserved when + modifying the contents. */ +#define _FPU_RESERVED 0x00086060 +#define _FPU_DEFAULT 0x00000000 + +/* Default + exceptions enabled. */ +#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00) + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +#ifdef __SOFTFP__ +/* This is fmrx %0, fpscr. */ +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw)) +/* This is fmxr fpscr, %0. */ +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) +#else +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw)) +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* __SOFTFP__ */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/lib-names.h new file mode 100644 index 00000000..96ed86de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/lib-names.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/stubs.h new file mode 100644 index 00000000..eb222249 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/gnu/stubs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h new file mode 100644 index 00000000..781cc357 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ptrace.h @@ -0,0 +1,226 @@ +/* `ptrace' debugger support interface. Linux/ARM version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get the iWMMXt state of a process. */ + PTRACE_GETWMMXREGS = 18, +#define PT_GETWMMXREGS PTRACE_GETWMMXREGS + + /* Set the iWMMXt state of a process. */ + PTRACE_SETWMMXREGS = 19, +#define PT_SETWMMXREGS PTRACE_SETWMMXREGS + + /* Get the thread pointer of a process. */ + PTRACE_GET_THREAD_AREA = 22, +#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA + + /* Change the syscall number of a process. */ + PTRACE_SET_SYSCALL = 23, +#define PT_SET_SYSCALL PTRACE_SET_SYSCALL + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get the Crunch state of a process. */ + PTRACE_GETCRUNCHREGS = 25, +#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS + + /* Set the Crunch state of a process. */ + PTRACE_SETCRUNCHREGS = 26, +#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS + + /* Get all VFP registers used by a process. */ + PTRACE_GETVFPREGS = 27, +#define PT_GETVFPREGS PTRACE_GETVFPREGS + + /* Set all VFP registers used by a process. */ + PTRACE_SETVFPREGS = 28, +#define PT_SETVFPREGS PTRACE_SETVFPREGS + + /* Get all hardware breakpoint registers. */ + PTRACE_GETHBPREGS = 29, +#define PT_GETHBPREGS PTRACE_GETHBPREGS + + /* Set all hardware breakpoint registers. */ + PTRACE_SETHBPREGS = 30, +#define PT_SETHBPREGS PTRACE_SETHBPREGS + + /* Get the ELF fdpic loadmap address. */ + PTRACE_GETFDPIC = 31, +#define PT_GETFDPIC PTRACE_GETFDPIC + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h new file mode 100644 index 00000000..56c60d92 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/ucontext.h @@ -0,0 +1,144 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* System V/ARM ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#ifdef __USE_MISC +typedef int greg_t; + +/* Number of general registers. */ +# define NGREG 18 + +/* Container for all general registers. */ +typedef greg_t gregset_t[NGREG]; + +/* Number of each register is the `gregset_t' array. */ +enum +{ + REG_R0 = 0, +# define REG_R0 REG_R0 + REG_R1 = 1, +# define REG_R1 REG_R1 + REG_R2 = 2, +# define REG_R2 REG_R2 + REG_R3 = 3, +# define REG_R3 REG_R3 + REG_R4 = 4, +# define REG_R4 REG_R4 + REG_R5 = 5, +# define REG_R5 REG_R5 + REG_R6 = 6, +# define REG_R6 REG_R6 + REG_R7 = 7, +# define REG_R7 REG_R7 + REG_R8 = 8, +# define REG_R8 REG_R8 + REG_R9 = 9, +# define REG_R9 REG_R9 + REG_R10 = 10, +# define REG_R10 REG_R10 + REG_R11 = 11, +# define REG_R11 REG_R11 + REG_R12 = 12, +# define REG_R12 REG_R12 + REG_R13 = 13, +# define REG_R13 REG_R13 + REG_R14 = 14, +# define REG_R14 REG_R14 + REG_R15 = 15 +# define REG_R15 REG_R15 +}; + +struct _libc_fpstate +{ + struct + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; +/* Structure to describe FPU registers. */ +typedef struct _libc_fpstate fpregset_t; +#endif + +/* Context to describe whole processor state. This only describes + the core registers; coprocessor registers get saved elsewhere + (e.g. in uc_regspace, or somewhere unspecified on the stack + during non-RT signal handlers). */ +typedef struct + { + unsigned long int __ctx(trap_no); + unsigned long int __ctx(error_code); + unsigned long int __ctx(oldmask); + unsigned long int __ctx(arm_r0); + unsigned long int __ctx(arm_r1); + unsigned long int __ctx(arm_r2); + unsigned long int __ctx(arm_r3); + unsigned long int __ctx(arm_r4); + unsigned long int __ctx(arm_r5); + unsigned long int __ctx(arm_r6); + unsigned long int __ctx(arm_r7); + unsigned long int __ctx(arm_r8); + unsigned long int __ctx(arm_r9); + unsigned long int __ctx(arm_r10); + unsigned long int __ctx(arm_fp); + unsigned long int __ctx(arm_ip); + unsigned long int __ctx(arm_sp); + unsigned long int __ctx(arm_lr); + unsigned long int __ctx(arm_pc); + unsigned long int __ctx(arm_cpsr); + unsigned long int __ctx(fault_address); + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8))); + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/user.h new file mode 100644 index 00000000..37a8cc78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-gnueabihf/sys/user.h @@ -0,0 +1,71 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct user_fpregs +{ + struct fp_reg + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; + +struct user_regs +{ + unsigned long int uregs[18]; +}; + +struct user +{ + struct user_regs regs; /* General registers */ + int u_fpvalid; /* True if math co-processor being used. */ + + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + + unsigned long start_code; /* Starting virtual address of text. */ + unsigned long start_stack; /* Starting virtual address of stack. */ + + long int signal; /* Signal that caused the core dump. */ + int reserved; /* No longer used */ + struct user_regs *u_ar0; /* help gdb to find the general registers. */ + + unsigned long magic; /* uniquely identify a core file */ + char u_comm[32]; /* User command that was responsible */ + int u_debugreg[8]; + struct user_fpregs u_fp; /* Floating point registers */ + struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..aa8607d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/alltypes.h @@ -0,0 +1,408 @@ +#define _REDIR_TIME64 1 +#define _Addr int +#define _Int64 long long +#define _Reg int + +#if __ARMEB__ +#define __BYTE_ORDER 4321 +#else +#define __BYTE_ORDER 1234 +#endif + +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef unsigned wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..24086409 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 0200000 +#define O_LARGEFILE 0400000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020040000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 12 +#define F_SETLK 13 +#define F_SETLKW 14 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fenv.h new file mode 100644 index 00000000..54d7b359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/fenv.h @@ -0,0 +1,23 @@ +#ifndef __ARM_PCS_VFP +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 +#else +#define FE_INVALID 1 +#define FE_DIVBYZERO 2 +#define FE_OVERFLOW 4 +#define FE_UNDERFLOW 8 +#define FE_INEXACT 16 +#define FE_ALL_EXCEPT 31 +#define FE_TONEAREST 0 +#define FE_DOWNWARD 0x800000 +#define FE_UPWARD 0x400000 +#define FE_TOWARDZERO 0xc00000 +#endif + +typedef unsigned long fexcept_t; + +typedef struct { + unsigned long __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/float.h new file mode 100644 index 00000000..7523476b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 4.94065645841246544177e-324L +#define LDBL_MIN 2.22507385850720138309e-308L +#define LDBL_MAX 1.79769313486231570815e+308L +#define LDBL_EPSILON 2.22044604925031308085e-16L + +#define LDBL_MANT_DIG 53 +#define LDBL_MIN_EXP (-1021) +#define LDBL_MAX_EXP 1024 + +#define LDBL_DIG 15 +#define LDBL_MIN_10_EXP (-307) +#define LDBL_MAX_10_EXP 308 + +#define DECIMAL_DIG 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..c1c1fb16 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/hwcap.h @@ -0,0 +1,53 @@ +#define HWCAP_SWP (1 << 0) +#define HWCAP_HALF (1 << 1) +#define HWCAP_THUMB (1 << 2) +#define HWCAP_26BIT (1 << 3) +#define HWCAP_FAST_MULT (1 << 4) +#define HWCAP_FPA (1 << 5) +#define HWCAP_VFP (1 << 6) +#define HWCAP_EDSP (1 << 7) +#define HWCAP_JAVA (1 << 8) +#define HWCAP_IWMMXT (1 << 9) +#define HWCAP_CRUNCH (1 << 10) +#define HWCAP_THUMBEE (1 << 11) +#define HWCAP_NEON (1 << 12) +#define HWCAP_VFPv3 (1 << 13) +#define HWCAP_VFPv3D16 (1 << 14) +#define HWCAP_TLS (1 << 15) +#define HWCAP_VFPv4 (1 << 16) +#define HWCAP_IDIVA (1 << 17) +#define HWCAP_IDIVT (1 << 18) +#define HWCAP_VFPD32 (1 << 19) +#define HWCAP_IDIV (HWCAP_IDIVA | HWCAP_IDIVT) +#define HWCAP_LPAE (1 << 20) +#define HWCAP_EVTSTRM (1 << 21) + +#define HWCAP2_AES (1 << 0) +#define HWCAP2_PMULL (1 << 1) +#define HWCAP2_SHA1 (1 << 2) +#define HWCAP2_SHA2 (1 << 3) +#define HWCAP2_CRC32 (1 << 4) + +#define HWCAP_ARM_SWP (1 << 0) +#define HWCAP_ARM_HALF (1 << 1) +#define HWCAP_ARM_THUMB (1 << 2) +#define HWCAP_ARM_26BIT (1 << 3) +#define HWCAP_ARM_FAST_MULT (1 << 4) +#define HWCAP_ARM_FPA (1 << 5) +#define HWCAP_ARM_VFP (1 << 6) +#define HWCAP_ARM_EDSP (1 << 7) +#define HWCAP_ARM_JAVA (1 << 8) +#define HWCAP_ARM_IWMMXT (1 << 9) +#define HWCAP_ARM_CRUNCH (1 << 10) +#define HWCAP_ARM_THUMBEE (1 << 11) +#define HWCAP_ARM_NEON (1 << 12) +#define HWCAP_ARM_VFPv3 (1 << 13) +#define HWCAP_ARM_VFPv3D16 (1 << 14) +#define HWCAP_ARM_TLS (1 << 15) +#define HWCAP_ARM_VFPv4 (1 << 16) +#define HWCAP_ARM_IDIVA (1 << 17) +#define HWCAP_ARM_IDIVT (1 << 18) +#define HWCAP_ARM_VFPD32 (1 << 19) +#define HWCAP_ARM_IDIV (HWCAP_ARM_IDIVA | HWCAP_ARM_IDIVT) +#define HWCAP_ARM_LPAE (1 << 20) +#define HWCAP_ARM_EVTSTRM (1 << 21) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ioctl_fix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ioctl_fix.h new file mode 100644 index 00000000..9c177f76 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ioctl_fix.h @@ -0,0 +1,2 @@ +#undef FIOQSIZE +#define FIOQSIZE 0x545e \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/msg.h new file mode 100644 index 00000000..037fd956 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/msg.h @@ -0,0 +1,18 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..cd96d836 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/ptrace.h @@ -0,0 +1,25 @@ +#define PTRACE_GETWMMXREGS 18 +#define PTRACE_SETWMMXREGS 19 +#define PTRACE_GET_THREAD_AREA 22 +#define PTRACE_SET_SYSCALL 23 +#define PTRACE_GETCRUNCHREGS 25 +#define PTRACE_SETCRUNCHREGS 26 +#define PTRACE_GETVFPREGS 27 +#define PTRACE_SETVFPREGS 28 +#define PTRACE_GETHBPREGS 29 +#define PTRACE_SETHBPREGS 30 +#define PTRACE_GETFDPIC 31 +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 + +#define PT_GETWMMXREGS PTRACE_GETWMMXREGS +#define PT_SETWMMXREGS PTRACE_SETWMMXREGS +#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA +#define PT_SET_SYSCALL PTRACE_SET_SYSCALL +#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS +#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS +#define PT_GETVFPREGS PTRACE_GETVFPREGS +#define PT_SETVFPREGS PTRACE_SETVFPREGS +#define PT_GETHBPREGS PTRACE_GETHBPREGS +#define PT_SETHBPREGS PTRACE_SETHBPREGS +#define PT_GETFDPIC PTRACE_GETFDPIC \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/reg.h new file mode 100644 index 00000000..e30a80ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/reg.h @@ -0,0 +1,3 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 +/* FIXME */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/sem.h new file mode 100644 index 00000000..eaa885a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/sem.h @@ -0,0 +1,18 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_lo; + unsigned long __sem_otime_hi; + unsigned long __sem_ctime_lo; + unsigned long __sem_ctime_hi; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + long __unused3; + long __unused4; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..2d8f0ef3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[32]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/shm.h new file mode 100644 index 00000000..1ecb03ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/shm.h @@ -0,0 +1,31 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + unsigned long __shm_atime_lo; + unsigned long __shm_atime_hi; + unsigned long __shm_dtime_lo; + unsigned long __shm_dtime_hi; + unsigned long __shm_ctime_lo; + unsigned long __shm_ctime_hi; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __pad1; + unsigned long __pad2; + unsigned long __pad3; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/signal.h new file mode 100644 index 00000000..1c6a679e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/signal.h @@ -0,0 +1,86 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef int greg_t, gregset_t[18]; +typedef struct sigcontext { + unsigned long trap_no, error_code, oldmask; + unsigned long arm_r0, arm_r1, arm_r2, arm_r3; + unsigned long arm_r4, arm_r5, arm_r6, arm_r7; + unsigned long arm_r8, arm_r9, arm_r10, arm_fp; + unsigned long arm_ip, arm_sp, arm_lr, arm_pc; + unsigned long arm_cpsr, fault_address; +} mcontext_t; +#else +typedef struct { + unsigned long __regs[21]; +} mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long long uc_regspace[64]; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 2 +#define SA_SIGINFO 4 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_RESTORER 0x04000000 + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL 29 +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stat.h new file mode 100644 index 00000000..3bf02b37 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stat.h @@ -0,0 +1,25 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + +struct stat { + dev_t st_dev; + int __st_dev_padding; + long __st_ino_truncated; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + int __st_rdev_padding; + off_t st_size; + blksize_t st_blksize; + blkcnt_t st_blocks; + struct { + long tv_sec; + long tv_nsec; + } __st_atim32, __st_mtim32, __st_ctim32; + ino_t st_ino; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/syscall.h new file mode 100644 index 00000000..31807daa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/syscall.h @@ -0,0 +1,820 @@ +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_ptrace 26 +#define __NR_pause 29 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrusage 77 +#define __NR_gettimeofday_time32 78 +#define __NR_settimeofday_time32 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_symlink 83 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_vhangup 111 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_setresgid 170 +#define __NR_getresgid 171 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_chown 182 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_vfork 190 +#define __NR_ugetrlimit 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_lchown32 198 +#define __NR_getuid32 199 +#define __NR_getgid32 200 +#define __NR_geteuid32 201 +#define __NR_getegid32 202 +#define __NR_setreuid32 203 +#define __NR_setregid32 204 +#define __NR_getgroups32 205 +#define __NR_setgroups32 206 +#define __NR_fchown32 207 +#define __NR_setresuid32 208 +#define __NR_getresuid32 209 +#define __NR_setresgid32 210 +#define __NR_getresgid32 211 +#define __NR_chown32 212 +#define __NR_setuid32 213 +#define __NR_setgid32 214 +#define __NR_setfsuid32 215 +#define __NR_setfsgid32 216 +#define __NR_getdents64 217 +#define __NR_pivot_root 218 +#define __NR_mincore 219 +#define __NR_madvise 220 +#define __NR_fcntl64 221 +#define __NR_gettid 224 +#define __NR_readahead 225 +#define __NR_setxattr 226 +#define __NR_lsetxattr 227 +#define __NR_fsetxattr 228 +#define __NR_getxattr 229 +#define __NR_lgetxattr 230 +#define __NR_fgetxattr 231 +#define __NR_listxattr 232 +#define __NR_llistxattr 233 +#define __NR_flistxattr 234 +#define __NR_removexattr 235 +#define __NR_lremovexattr 236 +#define __NR_fremovexattr 237 +#define __NR_tkill 238 +#define __NR_sendfile64 239 +#define __NR_futex 240 +#define __NR_sched_setaffinity 241 +#define __NR_sched_getaffinity 242 +#define __NR_io_setup 243 +#define __NR_io_destroy 244 +#define __NR_io_getevents 245 +#define __NR_io_submit 246 +#define __NR_io_cancel 247 +#define __NR_exit_group 248 +#define __NR_lookup_dcookie 249 +#define __NR_epoll_create 250 +#define __NR_epoll_ctl 251 +#define __NR_epoll_wait 252 +#define __NR_remap_file_pages 253 +#define __NR_set_tid_address 256 +#define __NR_timer_create 257 +#define __NR_timer_settime32 258 +#define __NR_timer_gettime32 259 +#define __NR_timer_getoverrun 260 +#define __NR_timer_delete 261 +#define __NR_clock_settime32 262 +#define __NR_clock_gettime32 263 +#define __NR_clock_getres_time32 264 +#define __NR_clock_nanosleep_time32 265 +#define __NR_statfs64 266 +#define __NR_fstatfs64 267 +#define __NR_tgkill 268 +#define __NR_utimes 269 +#define __NR_fadvise64_64 270 +#define __NR_arm_fadvise64_64 270 +#define __NR_pciconfig_iobase 271 +#define __NR_pciconfig_read 272 +#define __NR_pciconfig_write 273 +#define __NR_mq_open 274 +#define __NR_mq_unlink 275 +#define __NR_mq_timedsend 276 +#define __NR_mq_timedreceive 277 +#define __NR_mq_notify 278 +#define __NR_mq_getsetattr 279 +#define __NR_waitid 280 +#define __NR_socket 281 +#define __NR_bind 282 +#define __NR_connect 283 +#define __NR_listen 284 +#define __NR_accept 285 +#define __NR_getsockname 286 +#define __NR_getpeername 287 +#define __NR_socketpair 288 +#define __NR_send 289 +#define __NR_sendto 290 +#define __NR_recv 291 +#define __NR_recvfrom 292 +#define __NR_shutdown 293 +#define __NR_setsockopt 294 +#define __NR_getsockopt 295 +#define __NR_sendmsg 296 +#define __NR_recvmsg 297 +#define __NR_semop 298 +#define __NR_semget 299 +#define __NR_semctl 300 +#define __NR_msgsnd 301 +#define __NR_msgrcv 302 +#define __NR_msgget 303 +#define __NR_msgctl 304 +#define __NR_shmat 305 +#define __NR_shmdt 306 +#define __NR_shmget 307 +#define __NR_shmctl 308 +#define __NR_add_key 309 +#define __NR_request_key 310 +#define __NR_keyctl 311 +#define __NR_semtimedop 312 +#define __NR_vserver 313 +#define __NR_ioprio_set 314 +#define __NR_ioprio_get 315 +#define __NR_inotify_init 316 +#define __NR_inotify_add_watch 317 +#define __NR_inotify_rm_watch 318 +#define __NR_mbind 319 +#define __NR_get_mempolicy 320 +#define __NR_set_mempolicy 321 +#define __NR_openat 322 +#define __NR_mkdirat 323 +#define __NR_mknodat 324 +#define __NR_fchownat 325 +#define __NR_futimesat 326 +#define __NR_fstatat64 327 +#define __NR_unlinkat 328 +#define __NR_renameat 329 +#define __NR_linkat 330 +#define __NR_symlinkat 331 +#define __NR_readlinkat 332 +#define __NR_fchmodat 333 +#define __NR_faccessat 334 +#define __NR_pselect6 335 +#define __NR_ppoll 336 +#define __NR_unshare 337 +#define __NR_set_robust_list 338 +#define __NR_get_robust_list 339 +#define __NR_splice 340 +#define __NR_sync_file_range2 341 +#define __NR_arm_sync_file_range 341 +#define __NR_tee 342 +#define __NR_vmsplice 343 +#define __NR_move_pages 344 +#define __NR_getcpu 345 +#define __NR_epoll_pwait 346 +#define __NR_kexec_load 347 +#define __NR_utimensat 348 +#define __NR_signalfd 349 +#define __NR_timerfd_create 350 +#define __NR_eventfd 351 +#define __NR_fallocate 352 +#define __NR_timerfd_settime32 353 +#define __NR_timerfd_gettime32 354 +#define __NR_signalfd4 355 +#define __NR_eventfd2 356 +#define __NR_epoll_create1 357 +#define __NR_dup3 358 +#define __NR_pipe2 359 +#define __NR_inotify_init1 360 +#define __NR_preadv 361 +#define __NR_pwritev 362 +#define __NR_rt_tgsigqueueinfo 363 +#define __NR_perf_event_open 364 +#define __NR_recvmmsg 365 +#define __NR_accept4 366 +#define __NR_fanotify_init 367 +#define __NR_fanotify_mark 368 +#define __NR_prlimit64 369 +#define __NR_name_to_handle_at 370 +#define __NR_open_by_handle_at 371 +#define __NR_clock_adjtime 372 +#define __NR_syncfs 373 +#define __NR_sendmmsg 374 +#define __NR_setns 375 +#define __NR_process_vm_readv 376 +#define __NR_process_vm_writev 377 +#define __NR_kcmp 378 +#define __NR_finit_module 379 +#define __NR_sched_setattr 380 +#define __NR_sched_getattr 381 +#define __NR_renameat2 382 +#define __NR_seccomp 383 +#define __NR_getrandom 384 +#define __NR_memfd_create 385 +#define __NR_bpf 386 +#define __NR_execveat 387 +#define __NR_userfaultfd 388 +#define __NR_membarrier 389 +#define __NR_mlock2 390 +#define __NR_copy_file_range 391 +#define __NR_preadv2 392 +#define __NR_pwritev2 393 +#define __NR_pkey_mprotect 394 +#define __NR_pkey_alloc 395 +#define __NR_pkey_free 396 +#define __NR_statx 397 +#define __NR_rseq 398 +#define __NR_io_pgetevents 399 +#define __NR_migrate_pages 400 +#define __NR_kexec_file_load 401 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 + +#define __ARM_NR_breakpoint 0x0f0001 +#define __ARM_NR_cacheflush 0x0f0002 +#define __ARM_NR_usr26 0x0f0003 +#define __ARM_NR_usr32 0x0f0004 +#define __ARM_NR_set_tls 0x0f0005 +#define __ARM_NR_get_tls 0x0f0006 + +#define SYS_restart_syscall 0 +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execve 11 +#define SYS_chdir 12 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_lchown 16 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_mount 21 +#define SYS_setuid 23 +#define SYS_getuid 24 +#define SYS_ptrace 26 +#define SYS_pause 29 +#define SYS_access 33 +#define SYS_nice 34 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_rename 38 +#define SYS_mkdir 39 +#define SYS_rmdir 40 +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_times 43 +#define SYS_brk 45 +#define SYS_setgid 46 +#define SYS_getgid 47 +#define SYS_geteuid 49 +#define SYS_getegid 50 +#define SYS_acct 51 +#define SYS_umount2 52 +#define SYS_ioctl 54 +#define SYS_fcntl 55 +#define SYS_setpgid 57 +#define SYS_umask 60 +#define SYS_chroot 61 +#define SYS_ustat 62 +#define SYS_dup2 63 +#define SYS_getppid 64 +#define SYS_getpgrp 65 +#define SYS_setsid 66 +#define SYS_sigaction 67 +#define SYS_setreuid 70 +#define SYS_setregid 71 +#define SYS_sigsuspend 72 +#define SYS_sigpending 73 +#define SYS_sethostname 74 +#define SYS_setrlimit 75 +#define SYS_getrusage 77 +#define SYS_gettimeofday_time32 78 +#define SYS_settimeofday_time32 79 +#define SYS_getgroups 80 +#define SYS_setgroups 81 +#define SYS_symlink 83 +#define SYS_readlink 85 +#define SYS_uselib 86 +#define SYS_swapon 87 +#define SYS_reboot 88 +#define SYS_munmap 91 +#define SYS_truncate 92 +#define SYS_ftruncate 93 +#define SYS_fchmod 94 +#define SYS_fchown 95 +#define SYS_getpriority 96 +#define SYS_setpriority 97 +#define SYS_statfs 99 +#define SYS_fstatfs 100 +#define SYS_syslog 103 +#define SYS_setitimer 104 +#define SYS_getitimer 105 +#define SYS_stat 106 +#define SYS_lstat 107 +#define SYS_fstat 108 +#define SYS_vhangup 111 +#define SYS_wait4 114 +#define SYS_swapoff 115 +#define SYS_sysinfo 116 +#define SYS_fsync 118 +#define SYS_sigreturn 119 +#define SYS_clone 120 +#define SYS_setdomainname 121 +#define SYS_uname 122 +#define SYS_adjtimex 124 +#define SYS_mprotect 125 +#define SYS_sigprocmask 126 +#define SYS_init_module 128 +#define SYS_delete_module 129 +#define SYS_quotactl 131 +#define SYS_getpgid 132 +#define SYS_fchdir 133 +#define SYS_bdflush 134 +#define SYS_sysfs 135 +#define SYS_personality 136 +#define SYS_setfsuid 138 +#define SYS_setfsgid 139 +#define SYS__llseek 140 +#define SYS_getdents 141 +#define SYS__newselect 142 +#define SYS_flock 143 +#define SYS_msync 144 +#define SYS_readv 145 +#define SYS_writev 146 +#define SYS_getsid 147 +#define SYS_fdatasync 148 +#define SYS__sysctl 149 +#define SYS_mlock 150 +#define SYS_munlock 151 +#define SYS_mlockall 152 +#define SYS_munlockall 153 +#define SYS_sched_setparam 154 +#define SYS_sched_getparam 155 +#define SYS_sched_setscheduler 156 +#define SYS_sched_getscheduler 157 +#define SYS_sched_yield 158 +#define SYS_sched_get_priority_max 159 +#define SYS_sched_get_priority_min 160 +#define SYS_sched_rr_get_interval 161 +#define SYS_nanosleep 162 +#define SYS_mremap 163 +#define SYS_setresuid 164 +#define SYS_getresuid 165 +#define SYS_poll 168 +#define SYS_nfsservctl 169 +#define SYS_setresgid 170 +#define SYS_getresgid 171 +#define SYS_prctl 172 +#define SYS_rt_sigreturn 173 +#define SYS_rt_sigaction 174 +#define SYS_rt_sigprocmask 175 +#define SYS_rt_sigpending 176 +#define SYS_rt_sigtimedwait 177 +#define SYS_rt_sigqueueinfo 178 +#define SYS_rt_sigsuspend 179 +#define SYS_pread64 180 +#define SYS_pwrite64 181 +#define SYS_chown 182 +#define SYS_getcwd 183 +#define SYS_capget 184 +#define SYS_capset 185 +#define SYS_sigaltstack 186 +#define SYS_sendfile 187 +#define SYS_vfork 190 +#define SYS_ugetrlimit 191 +#define SYS_mmap2 192 +#define SYS_truncate64 193 +#define SYS_ftruncate64 194 +#define SYS_stat64 195 +#define SYS_lstat64 196 +#define SYS_fstat64 197 +#define SYS_lchown32 198 +#define SYS_getuid32 199 +#define SYS_getgid32 200 +#define SYS_geteuid32 201 +#define SYS_getegid32 202 +#define SYS_setreuid32 203 +#define SYS_setregid32 204 +#define SYS_getgroups32 205 +#define SYS_setgroups32 206 +#define SYS_fchown32 207 +#define SYS_setresuid32 208 +#define SYS_getresuid32 209 +#define SYS_setresgid32 210 +#define SYS_getresgid32 211 +#define SYS_chown32 212 +#define SYS_setuid32 213 +#define SYS_setgid32 214 +#define SYS_setfsuid32 215 +#define SYS_setfsgid32 216 +#define SYS_getdents64 217 +#define SYS_pivot_root 218 +#define SYS_mincore 219 +#define SYS_madvise 220 +#define SYS_fcntl64 221 +#define SYS_gettid 224 +#define SYS_readahead 225 +#define SYS_setxattr 226 +#define SYS_lsetxattr 227 +#define SYS_fsetxattr 228 +#define SYS_getxattr 229 +#define SYS_lgetxattr 230 +#define SYS_fgetxattr 231 +#define SYS_listxattr 232 +#define SYS_llistxattr 233 +#define SYS_flistxattr 234 +#define SYS_removexattr 235 +#define SYS_lremovexattr 236 +#define SYS_fremovexattr 237 +#define SYS_tkill 238 +#define SYS_sendfile64 239 +#define SYS_futex 240 +#define SYS_sched_setaffinity 241 +#define SYS_sched_getaffinity 242 +#define SYS_io_setup 243 +#define SYS_io_destroy 244 +#define SYS_io_getevents 245 +#define SYS_io_submit 246 +#define SYS_io_cancel 247 +#define SYS_exit_group 248 +#define SYS_lookup_dcookie 249 +#define SYS_epoll_create 250 +#define SYS_epoll_ctl 251 +#define SYS_epoll_wait 252 +#define SYS_remap_file_pages 253 +#define SYS_set_tid_address 256 +#define SYS_timer_create 257 +#define SYS_timer_settime32 258 +#define SYS_timer_gettime32 259 +#define SYS_timer_getoverrun 260 +#define SYS_timer_delete 261 +#define SYS_clock_settime32 262 +#define SYS_clock_gettime32 263 +#define SYS_clock_getres_time32 264 +#define SYS_clock_nanosleep_time32 265 +#define SYS_statfs64 266 +#define SYS_fstatfs64 267 +#define SYS_tgkill 268 +#define SYS_utimes 269 +#define SYS_fadvise64_64 270 +#define SYS_arm_fadvise64_64 270 +#define SYS_pciconfig_iobase 271 +#define SYS_pciconfig_read 272 +#define SYS_pciconfig_write 273 +#define SYS_mq_open 274 +#define SYS_mq_unlink 275 +#define SYS_mq_timedsend 276 +#define SYS_mq_timedreceive 277 +#define SYS_mq_notify 278 +#define SYS_mq_getsetattr 279 +#define SYS_waitid 280 +#define SYS_socket 281 +#define SYS_bind 282 +#define SYS_connect 283 +#define SYS_listen 284 +#define SYS_accept 285 +#define SYS_getsockname 286 +#define SYS_getpeername 287 +#define SYS_socketpair 288 +#define SYS_send 289 +#define SYS_sendto 290 +#define SYS_recv 291 +#define SYS_recvfrom 292 +#define SYS_shutdown 293 +#define SYS_setsockopt 294 +#define SYS_getsockopt 295 +#define SYS_sendmsg 296 +#define SYS_recvmsg 297 +#define SYS_semop 298 +#define SYS_semget 299 +#define SYS_semctl 300 +#define SYS_msgsnd 301 +#define SYS_msgrcv 302 +#define SYS_msgget 303 +#define SYS_msgctl 304 +#define SYS_shmat 305 +#define SYS_shmdt 306 +#define SYS_shmget 307 +#define SYS_shmctl 308 +#define SYS_add_key 309 +#define SYS_request_key 310 +#define SYS_keyctl 311 +#define SYS_semtimedop 312 +#define SYS_vserver 313 +#define SYS_ioprio_set 314 +#define SYS_ioprio_get 315 +#define SYS_inotify_init 316 +#define SYS_inotify_add_watch 317 +#define SYS_inotify_rm_watch 318 +#define SYS_mbind 319 +#define SYS_get_mempolicy 320 +#define SYS_set_mempolicy 321 +#define SYS_openat 322 +#define SYS_mkdirat 323 +#define SYS_mknodat 324 +#define SYS_fchownat 325 +#define SYS_futimesat 326 +#define SYS_fstatat64 327 +#define SYS_unlinkat 328 +#define SYS_renameat 329 +#define SYS_linkat 330 +#define SYS_symlinkat 331 +#define SYS_readlinkat 332 +#define SYS_fchmodat 333 +#define SYS_faccessat 334 +#define SYS_pselect6 335 +#define SYS_ppoll 336 +#define SYS_unshare 337 +#define SYS_set_robust_list 338 +#define SYS_get_robust_list 339 +#define SYS_splice 340 +#define SYS_sync_file_range2 341 +#define SYS_arm_sync_file_range 341 +#define SYS_tee 342 +#define SYS_vmsplice 343 +#define SYS_move_pages 344 +#define SYS_getcpu 345 +#define SYS_epoll_pwait 346 +#define SYS_kexec_load 347 +#define SYS_utimensat 348 +#define SYS_signalfd 349 +#define SYS_timerfd_create 350 +#define SYS_eventfd 351 +#define SYS_fallocate 352 +#define SYS_timerfd_settime32 353 +#define SYS_timerfd_gettime32 354 +#define SYS_signalfd4 355 +#define SYS_eventfd2 356 +#define SYS_epoll_create1 357 +#define SYS_dup3 358 +#define SYS_pipe2 359 +#define SYS_inotify_init1 360 +#define SYS_preadv 361 +#define SYS_pwritev 362 +#define SYS_rt_tgsigqueueinfo 363 +#define SYS_perf_event_open 364 +#define SYS_recvmmsg 365 +#define SYS_accept4 366 +#define SYS_fanotify_init 367 +#define SYS_fanotify_mark 368 +#define SYS_prlimit64 369 +#define SYS_name_to_handle_at 370 +#define SYS_open_by_handle_at 371 +#define SYS_clock_adjtime 372 +#define SYS_syncfs 373 +#define SYS_sendmmsg 374 +#define SYS_setns 375 +#define SYS_process_vm_readv 376 +#define SYS_process_vm_writev 377 +#define SYS_kcmp 378 +#define SYS_finit_module 379 +#define SYS_sched_setattr 380 +#define SYS_sched_getattr 381 +#define SYS_renameat2 382 +#define SYS_seccomp 383 +#define SYS_getrandom 384 +#define SYS_memfd_create 385 +#define SYS_bpf 386 +#define SYS_execveat 387 +#define SYS_userfaultfd 388 +#define SYS_membarrier 389 +#define SYS_mlock2 390 +#define SYS_copy_file_range 391 +#define SYS_preadv2 392 +#define SYS_pwritev2 393 +#define SYS_pkey_mprotect 394 +#define SYS_pkey_alloc 395 +#define SYS_pkey_free 396 +#define SYS_statx 397 +#define SYS_rseq 398 +#define SYS_io_pgetevents 399 +#define SYS_migrate_pages 400 +#define SYS_kexec_file_load 401 +#define SYS_clock_gettime64 403 +#define SYS_clock_settime64 404 +#define SYS_clock_adjtime64 405 +#define SYS_clock_getres_time64 406 +#define SYS_clock_nanosleep_time64 407 +#define SYS_timer_gettime64 408 +#define SYS_timer_settime64 409 +#define SYS_timerfd_gettime64 410 +#define SYS_timerfd_settime64 411 +#define SYS_utimensat_time64 412 +#define SYS_pselect6_time64 413 +#define SYS_ppoll_time64 414 +#define SYS_io_pgetevents_time64 416 +#define SYS_recvmmsg_time64 417 +#define SYS_mq_timedsend_time64 418 +#define SYS_mq_timedreceive_time64 419 +#define SYS_semtimedop_time64 420 +#define SYS_rt_sigtimedwait_time64 421 +#define SYS_futex_time64 422 +#define SYS_sched_rr_get_interval_time64 423 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/user.h new file mode 100644 index 00000000..cd3b3fdc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/arm-linux-musl/bits/user.h @@ -0,0 +1,36 @@ +typedef struct user_fpregs { + struct fp_reg { + unsigned sign1:1; + unsigned unused:15; + unsigned sign2:1; + unsigned exponent:14; + unsigned j:1; + unsigned mantissa1:31; + unsigned mantissa0:32; + } fpregs[8]; + unsigned fpsr:32; + unsigned fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +} elf_fpregset_t; + +struct user_regs { + unsigned long uregs[18]; +}; +#define ELF_NGREG 18 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; + +struct user { + struct user_regs regs; + int u_fpvalid; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long start_code, start_stack; + long signal; + int reserved; + struct user_regs *u_ar0; + unsigned long magic; + char u_comm[32]; + int u_debugreg[8]; + struct user_fpregs u_fp; + struct user_fpregs *u_fp0; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h new file mode 100644 index 00000000..46912bb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/endianness.h new file mode 100644 index 00000000..8e938abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* ARM has selectable endianness. */ +#ifdef __ARMEB__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h new file mode 100644 index 00000000..14a203d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fcntl.h @@ -0,0 +1,54 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0200000 /* Direct disk access. */ +#define __O_LARGEFILE 0400000 + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h new file mode 100644 index 00000000..4815a06d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/fenv.h @@ -0,0 +1,90 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +/* Define bits representing exceptions in the FPU status word. */ +enum + { + FE_INVALID = +#define FE_INVALID 1 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 2 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 4 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 8 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 16 + FE_INEXACT, + }; + +/* Amount to shift by to convert an exception to a mask bit. */ +#define FE_EXCEPT_SHIFT 8 + +/* All supported exceptions. */ +#define FE_ALL_EXCEPT \ + (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +/* VFP supports all of the four defined rounding modes. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_UPWARD = +#define FE_UPWARD 0x400000 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x800000 + FE_DOWNWARD, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0xc00000 + FE_TOWARDZERO + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct + { + unsigned int __cw; + } +fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1l) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h new file mode 100644 index 00000000..7b16f0e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/hwcap.h @@ -0,0 +1,59 @@ +/* Defines for bits in AT_HWCAP. ARM Linux version. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +#define HWCAP_ARM_SWP 1 +#define HWCAP_ARM_HALF 2 +#define HWCAP_ARM_THUMB 4 +#define HWCAP_ARM_26BIT 8 +#define HWCAP_ARM_FAST_MULT 16 +#define HWCAP_ARM_FPA 32 +#define HWCAP_ARM_VFP 64 +#define HWCAP_ARM_EDSP 128 +#define HWCAP_ARM_JAVA 256 +#define HWCAP_ARM_IWMMXT 512 +#define HWCAP_ARM_CRUNCH 1024 +#define HWCAP_ARM_THUMBEE 2048 +#define HWCAP_ARM_NEON 4096 +#define HWCAP_ARM_VFPv3 8192 +#define HWCAP_ARM_VFPv3D16 16384 +#define HWCAP_ARM_TLS 32768 +#define HWCAP_ARM_VFPv4 65536 +#define HWCAP_ARM_IDIVA 131072 +#define HWCAP_ARM_IDIVT 262144 +#define HWCAP_ARM_VFPD32 524288 +#define HWCAP_ARM_LPAE 1048576 +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 + +#define HWCAP2_AES 1 +#define HWCAP2_PMULL 2 +#define HWCAP2_SHA1 4 +#define HWCAP2_SHA2 8 +#define HWCAP2_CRC32 16 +#define HWCAP2_SB 32 +#define HWCAP2_SSBS 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/link.h new file mode 100644 index 00000000..8060167e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/link.h @@ -0,0 +1,65 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +/* Registers for entry into PLT on ARM. */ +typedef struct La_arm_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; + /* Coprocessor registers used for argument passing. The data + stored here depends on the coprocessors available in the + system which are used for function calls in the current ABI. + VFP uses eight 64-bit registers, and iWMMXt uses ten. */ + uint32_t lr_coproc[42]; +} La_arm_regs; + +/* Return values for calls from PLT on ARM. */ +typedef struct La_arm_retval +{ + /* Up to four integer registers can be used for a return value in + some ABIs (APCS complex long double). */ + uint32_t lrv_reg[4]; + + /* Any coprocessor registers which might be used to return values + in the current ABI. */ + uint32_t lrv_coproc[12]; +} La_arm_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_arm_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_arm_regs *__inregs, + La_arm_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h new file mode 100644 index 00000000..58c2162a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h new file mode 100644 index 00000000..2a60d310 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/procfs.h @@ -0,0 +1,34 @@ +/* Types for registers for sys/procfs.h. Arm version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + user_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +/* Register set for the floating-point registers. */ +typedef struct user_fpregs elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h new file mode 100644 index 00000000..1d6a1639 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h new file mode 100644 index 00000000..7fdd2e4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/setjmp.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#ifndef __ASSEMBLER__ +/* The exact set of registers saved may depend on the particular core + in use, as some coprocessor registers may need to be saved. The C + Library ABI requires that the buffer be 8-byte aligned, and + recommends that the buffer contain 64 words. The first 26 words + are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */ +typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h new file mode 100644 index 00000000..c615e207 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. ARM version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h new file mode 100644 index 00000000..71196f19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h new file mode 100644 index 00000000..3b50f811 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h new file mode 100644 index 00000000..11790d7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/fpu_control.h new file mode 100644 index 00000000..57a0c054 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/fpu_control.h @@ -0,0 +1,75 @@ +/* FPU control word definitions. ARM VFP version. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__) + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x00000100 /* invalid operation */ +#define _FPU_MASK_ZM 0x00000200 /* divide by zero */ +#define _FPU_MASK_OM 0x00000400 /* overflow */ +#define _FPU_MASK_UM 0x00000800 /* underflow */ +#define _FPU_MASK_PM 0x00001000 /* inexact */ + +#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */ +#define _FPU_MASK_RM 0x00c00000 /* rounding mode */ +#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */ + +/* Some bits in the FPSCR are not yet defined. They must be preserved when + modifying the contents. */ +#define _FPU_RESERVED 0x00086060 +#define _FPU_DEFAULT 0x00000000 + +/* Default + exceptions enabled. */ +#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00) + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +#ifdef __SOFTFP__ +/* This is fmrx %0, fpscr. */ +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw)) +/* This is fmxr fpscr, %0. */ +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) +#else +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw)) +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* __SOFTFP__ */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/lib-names.h new file mode 100644 index 00000000..96ed86de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/lib-names.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/stubs.h new file mode 100644 index 00000000..eb222249 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/gnu/stubs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h new file mode 100644 index 00000000..781cc357 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ptrace.h @@ -0,0 +1,226 @@ +/* `ptrace' debugger support interface. Linux/ARM version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get the iWMMXt state of a process. */ + PTRACE_GETWMMXREGS = 18, +#define PT_GETWMMXREGS PTRACE_GETWMMXREGS + + /* Set the iWMMXt state of a process. */ + PTRACE_SETWMMXREGS = 19, +#define PT_SETWMMXREGS PTRACE_SETWMMXREGS + + /* Get the thread pointer of a process. */ + PTRACE_GET_THREAD_AREA = 22, +#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA + + /* Change the syscall number of a process. */ + PTRACE_SET_SYSCALL = 23, +#define PT_SET_SYSCALL PTRACE_SET_SYSCALL + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get the Crunch state of a process. */ + PTRACE_GETCRUNCHREGS = 25, +#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS + + /* Set the Crunch state of a process. */ + PTRACE_SETCRUNCHREGS = 26, +#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS + + /* Get all VFP registers used by a process. */ + PTRACE_GETVFPREGS = 27, +#define PT_GETVFPREGS PTRACE_GETVFPREGS + + /* Set all VFP registers used by a process. */ + PTRACE_SETVFPREGS = 28, +#define PT_SETVFPREGS PTRACE_SETVFPREGS + + /* Get all hardware breakpoint registers. */ + PTRACE_GETHBPREGS = 29, +#define PT_GETHBPREGS PTRACE_GETHBPREGS + + /* Set all hardware breakpoint registers. */ + PTRACE_SETHBPREGS = 30, +#define PT_SETHBPREGS PTRACE_SETHBPREGS + + /* Get the ELF fdpic loadmap address. */ + PTRACE_GETFDPIC = 31, +#define PT_GETFDPIC PTRACE_GETFDPIC + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h new file mode 100644 index 00000000..56c60d92 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/ucontext.h @@ -0,0 +1,144 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* System V/ARM ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#ifdef __USE_MISC +typedef int greg_t; + +/* Number of general registers. */ +# define NGREG 18 + +/* Container for all general registers. */ +typedef greg_t gregset_t[NGREG]; + +/* Number of each register is the `gregset_t' array. */ +enum +{ + REG_R0 = 0, +# define REG_R0 REG_R0 + REG_R1 = 1, +# define REG_R1 REG_R1 + REG_R2 = 2, +# define REG_R2 REG_R2 + REG_R3 = 3, +# define REG_R3 REG_R3 + REG_R4 = 4, +# define REG_R4 REG_R4 + REG_R5 = 5, +# define REG_R5 REG_R5 + REG_R6 = 6, +# define REG_R6 REG_R6 + REG_R7 = 7, +# define REG_R7 REG_R7 + REG_R8 = 8, +# define REG_R8 REG_R8 + REG_R9 = 9, +# define REG_R9 REG_R9 + REG_R10 = 10, +# define REG_R10 REG_R10 + REG_R11 = 11, +# define REG_R11 REG_R11 + REG_R12 = 12, +# define REG_R12 REG_R12 + REG_R13 = 13, +# define REG_R13 REG_R13 + REG_R14 = 14, +# define REG_R14 REG_R14 + REG_R15 = 15 +# define REG_R15 REG_R15 +}; + +struct _libc_fpstate +{ + struct + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; +/* Structure to describe FPU registers. */ +typedef struct _libc_fpstate fpregset_t; +#endif + +/* Context to describe whole processor state. This only describes + the core registers; coprocessor registers get saved elsewhere + (e.g. in uc_regspace, or somewhere unspecified on the stack + during non-RT signal handlers). */ +typedef struct + { + unsigned long int __ctx(trap_no); + unsigned long int __ctx(error_code); + unsigned long int __ctx(oldmask); + unsigned long int __ctx(arm_r0); + unsigned long int __ctx(arm_r1); + unsigned long int __ctx(arm_r2); + unsigned long int __ctx(arm_r3); + unsigned long int __ctx(arm_r4); + unsigned long int __ctx(arm_r5); + unsigned long int __ctx(arm_r6); + unsigned long int __ctx(arm_r7); + unsigned long int __ctx(arm_r8); + unsigned long int __ctx(arm_r9); + unsigned long int __ctx(arm_r10); + unsigned long int __ctx(arm_fp); + unsigned long int __ctx(arm_ip); + unsigned long int __ctx(arm_sp); + unsigned long int __ctx(arm_lr); + unsigned long int __ctx(arm_pc); + unsigned long int __ctx(arm_cpsr); + unsigned long int __ctx(fault_address); + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8))); + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/user.h new file mode 100644 index 00000000..37a8cc78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabi/sys/user.h @@ -0,0 +1,71 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct user_fpregs +{ + struct fp_reg + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; + +struct user_regs +{ + unsigned long int uregs[18]; +}; + +struct user +{ + struct user_regs regs; /* General registers */ + int u_fpvalid; /* True if math co-processor being used. */ + + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + + unsigned long start_code; /* Starting virtual address of text. */ + unsigned long start_stack; /* Starting virtual address of stack. */ + + long int signal; /* Signal that caused the core dump. */ + int reserved; /* No longer used */ + struct user_regs *u_ar0; /* help gdb to find the general registers. */ + + unsigned long magic; /* uniquely identify a core file */ + char u_comm[32]; /* User command that was responsible */ + int u_debugreg[8]; + struct user_fpregs u_fp; /* Floating point registers */ + struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h new file mode 100644 index 00000000..46912bb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/dl_find_object.h @@ -0,0 +1,25 @@ +/* arm definitions for finding objects. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +#define DLFO_STRUCT_HAS_EH_DBASE 0 +#define DLFO_STRUCT_HAS_EH_COUNT 1 +#define DLFO_EH_SEGMENT_TYPE PT_ARM_EXIDX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/endianness.h new file mode 100644 index 00000000..8e938abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/endianness.h @@ -0,0 +1,15 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* ARM has selectable endianness. */ +#ifdef __ARMEB__ +#define __BYTE_ORDER __BIG_ENDIAN +#else +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h new file mode 100644 index 00000000..14a203d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fcntl.h @@ -0,0 +1,54 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0200000 /* Direct disk access. */ +#define __O_LARGEFILE 0400000 + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h new file mode 100644 index 00000000..4815a06d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/fenv.h @@ -0,0 +1,90 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +/* Define bits representing exceptions in the FPU status word. */ +enum + { + FE_INVALID = +#define FE_INVALID 1 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 2 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 4 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 8 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 16 + FE_INEXACT, + }; + +/* Amount to shift by to convert an exception to a mask bit. */ +#define FE_EXCEPT_SHIFT 8 + +/* All supported exceptions. */ +#define FE_ALL_EXCEPT \ + (FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW | FE_INEXACT) + +/* VFP supports all of the four defined rounding modes. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_UPWARD = +#define FE_UPWARD 0x400000 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x800000 + FE_DOWNWARD, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0xc00000 + FE_TOWARDZERO + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct + { + unsigned int __cw; + } +fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1l) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h new file mode 100644 index 00000000..7b16f0e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/hwcap.h @@ -0,0 +1,59 @@ +/* Defines for bits in AT_HWCAP. ARM Linux version. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) && !defined (_LINUX_ARM_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +#define HWCAP_ARM_SWP 1 +#define HWCAP_ARM_HALF 2 +#define HWCAP_ARM_THUMB 4 +#define HWCAP_ARM_26BIT 8 +#define HWCAP_ARM_FAST_MULT 16 +#define HWCAP_ARM_FPA 32 +#define HWCAP_ARM_VFP 64 +#define HWCAP_ARM_EDSP 128 +#define HWCAP_ARM_JAVA 256 +#define HWCAP_ARM_IWMMXT 512 +#define HWCAP_ARM_CRUNCH 1024 +#define HWCAP_ARM_THUMBEE 2048 +#define HWCAP_ARM_NEON 4096 +#define HWCAP_ARM_VFPv3 8192 +#define HWCAP_ARM_VFPv3D16 16384 +#define HWCAP_ARM_TLS 32768 +#define HWCAP_ARM_VFPv4 65536 +#define HWCAP_ARM_IDIVA 131072 +#define HWCAP_ARM_IDIVT 262144 +#define HWCAP_ARM_VFPD32 524288 +#define HWCAP_ARM_LPAE 1048576 +#define HWCAP_ARM_EVTSTRM 2097152 +#define HWCAP_FPHP 4194304 +#define HWCAP_ASIMDHP 8388608 +#define HWCAP_ASIMDDP 16777216 +#define HWCAP_ASIMDFHM 33554432 +#define HWCAP_ASIMDBF16 67108864 +#define HWCAP_I8MM 134217728 + +#define HWCAP2_AES 1 +#define HWCAP2_PMULL 2 +#define HWCAP2_SHA1 4 +#define HWCAP2_SHA2 8 +#define HWCAP2_CRC32 16 +#define HWCAP2_SB 32 +#define HWCAP2_SSBS 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/link.h new file mode 100644 index 00000000..8060167e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/link.h @@ -0,0 +1,65 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +/* Registers for entry into PLT on ARM. */ +typedef struct La_arm_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; + /* Coprocessor registers used for argument passing. The data + stored here depends on the coprocessors available in the + system which are used for function calls in the current ABI. + VFP uses eight 64-bit registers, and iWMMXt uses ten. */ + uint32_t lr_coproc[42]; +} La_arm_regs; + +/* Return values for calls from PLT on ARM. */ +typedef struct La_arm_retval +{ + /* Up to four integer registers can be used for a return value in + some ABIs (APCS complex long double). */ + uint32_t lrv_reg[4]; + + /* Any coprocessor registers which might be used to return values + in the current ABI. */ + uint32_t lrv_coproc[12]; +} La_arm_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_arm_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_arm_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_arm_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_arm_regs *__inregs, + La_arm_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h new file mode 100644 index 00000000..58c2162a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Arm version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h new file mode 100644 index 00000000..2a60d310 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/procfs.h @@ -0,0 +1,34 @@ +/* Types for registers for sys/procfs.h. Arm version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + user_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +/* Register set for the floating-point registers. */ +typedef struct user_fpregs elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h new file mode 100644 index 00000000..1d6a1639 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,83 @@ +/* Restartable Sequences Linux arm architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* + RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + - ARM little endian + + RSEQ_SIG uses the udf A32 instruction with an uncommon immediate operand + value 0x5de3. This traps if user-space reaches this instruction by mistake, + and the uncommon operand ensures the kernel does not move the instruction + pointer to attacker-controlled code on rseq abort. + + The instruction pattern in the A32 instruction set is: + + e7f5def3 udf #24035 ; 0x5de3 + + This translates to the following instruction pattern in the T16 instruction + set: + + little endian: + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - ARMv6+ big endian (BE8): + + ARMv6+ -mbig-endian generates mixed endianness code vs data: little-endian + code and big-endian data. The data value of the signature needs to have its + byte order reversed to generate the trap instruction: + + Data: 0xf3def5e7 + + Translates to this A32 instruction pattern: + + e7f5def3 udf #24035 ; 0x5de3 + + Translates to this T16 instruction pattern: + + def3 udf #243 ; 0xf3 + e7f5 b.n <7f5> + + - Prior to ARMv6 big endian (BE32): + + Prior to ARMv6, -mbig-endian generates big-endian code and data + (which match), so the endianness of the data representation of the + signature should not be reversed. However, the choice between BE32 + and BE8 is done by the linker, so we cannot know whether code and + data endianness will be mixed before the linker is invoked. So rather + than try to play tricks with the linker, the rseq signature is simply + data (not a trap instruction) prior to ARMv6 on big endian. This is + why the signature is expressed as data (.word) rather than as + instruction (.inst) in assembler. */ + +#ifdef __ARMEB__ +# define RSEQ_SIG 0xf3def5e7 /* udf #24035 ; 0x5de3 (ARMv6+) */ +#else +# define RSEQ_SIG 0xe7f5def3 /* udf #24035 ; 0x5de3 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h new file mode 100644 index 00000000..7fdd2e4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/setjmp.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. ARM EABI version. */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#ifndef __ASSEMBLER__ +/* The exact set of registers saved may depend on the particular core + in use, as some coprocessor registers may need to be saved. The C + Library ABI requires that the buffer be 8-byte aligned, and + recommends that the buffer contain 64 words. The first 26 words + are occupied by sp, lr, v1-v6, sl, fp, and d8-d15. */ +typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h new file mode 100644 index 00000000..c615e207 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. ARM version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h new file mode 100644 index 00000000..71196f19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. Linux/arm version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h new file mode 100644 index 00000000..3b50f811 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/ARM. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 00000000..11790d7e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. ARM version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h new file mode 100644 index 00000000..57a0c054 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/fpu_control.h @@ -0,0 +1,75 @@ +/* FPU control word definitions. ARM VFP version. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if !(defined(_LIBC) && !defined(_LIBC_TEST)) && defined(__SOFTFP__) + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x00000100 /* invalid operation */ +#define _FPU_MASK_ZM 0x00000200 /* divide by zero */ +#define _FPU_MASK_OM 0x00000400 /* overflow */ +#define _FPU_MASK_UM 0x00000800 /* underflow */ +#define _FPU_MASK_PM 0x00001000 /* inexact */ + +#define _FPU_MASK_NZCV 0xf0000000 /* NZCV flags */ +#define _FPU_MASK_RM 0x00c00000 /* rounding mode */ +#define _FPU_MASK_EXCEPT 0x00001f1f /* all exception flags */ + +/* Some bits in the FPSCR are not yet defined. They must be preserved when + modifying the contents. */ +#define _FPU_RESERVED 0x00086060 +#define _FPU_DEFAULT 0x00000000 + +/* Default + exceptions enabled. */ +#define _FPU_IEEE (_FPU_DEFAULT | 0x00001f00) + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +#ifdef __SOFTFP__ +/* This is fmrx %0, fpscr. */ +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("mrc p10, 7, %0, cr1, cr0, 0" : "=r" (cw)) +/* This is fmxr fpscr, %0. */ +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("mcr p10, 7, %0, cr1, cr0, 0" : : "r" (cw)) +#else +# define _FPU_GETCW(cw) \ + __asm__ __volatile__ ("vmrs %0, fpscr" : "=r" (cw)) +# define _FPU_SETCW(cw) \ + __asm__ __volatile__ ("vmsr fpscr, %0" : : "r" (cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* __SOFTFP__ */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/lib-names.h new file mode 100644 index 00000000..96ed86de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/lib-names.h @@ -0,0 +1,14 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/stubs.h new file mode 100644 index 00000000..eb222249 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/gnu/stubs.h @@ -0,0 +1,11 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + + +#if !defined __ARM_PCS_VFP +# include +#endif +#if defined __ARM_PCS_VFP +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h new file mode 100644 index 00000000..781cc357 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ptrace.h @@ -0,0 +1,226 @@ +/* `ptrace' debugger support interface. Linux/ARM version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get the iWMMXt state of a process. */ + PTRACE_GETWMMXREGS = 18, +#define PT_GETWMMXREGS PTRACE_GETWMMXREGS + + /* Set the iWMMXt state of a process. */ + PTRACE_SETWMMXREGS = 19, +#define PT_SETWMMXREGS PTRACE_SETWMMXREGS + + /* Get the thread pointer of a process. */ + PTRACE_GET_THREAD_AREA = 22, +#define PT_GET_THREAD_AREA PTRACE_GET_THREAD_AREA + + /* Change the syscall number of a process. */ + PTRACE_SET_SYSCALL = 23, +#define PT_SET_SYSCALL PTRACE_SET_SYSCALL + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get the Crunch state of a process. */ + PTRACE_GETCRUNCHREGS = 25, +#define PT_GETCRUNCHREGS PTRACE_GETCRUNCHREGS + + /* Set the Crunch state of a process. */ + PTRACE_SETCRUNCHREGS = 26, +#define PT_SETCRUNCHREGS PTRACE_SETCRUNCHREGS + + /* Get all VFP registers used by a process. */ + PTRACE_GETVFPREGS = 27, +#define PT_GETVFPREGS PTRACE_GETVFPREGS + + /* Set all VFP registers used by a process. */ + PTRACE_SETVFPREGS = 28, +#define PT_SETVFPREGS PTRACE_SETVFPREGS + + /* Get all hardware breakpoint registers. */ + PTRACE_GETHBPREGS = 29, +#define PT_GETHBPREGS PTRACE_GETHBPREGS + + /* Set all hardware breakpoint registers. */ + PTRACE_SETHBPREGS = 30, +#define PT_SETHBPREGS PTRACE_SETHBPREGS + + /* Get the ELF fdpic loadmap address. */ + PTRACE_GETFDPIC = 31, +#define PT_GETFDPIC PTRACE_GETFDPIC + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h new file mode 100644 index 00000000..56c60d92 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/ucontext.h @@ -0,0 +1,144 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* System V/ARM ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#ifdef __USE_MISC +typedef int greg_t; + +/* Number of general registers. */ +# define NGREG 18 + +/* Container for all general registers. */ +typedef greg_t gregset_t[NGREG]; + +/* Number of each register is the `gregset_t' array. */ +enum +{ + REG_R0 = 0, +# define REG_R0 REG_R0 + REG_R1 = 1, +# define REG_R1 REG_R1 + REG_R2 = 2, +# define REG_R2 REG_R2 + REG_R3 = 3, +# define REG_R3 REG_R3 + REG_R4 = 4, +# define REG_R4 REG_R4 + REG_R5 = 5, +# define REG_R5 REG_R5 + REG_R6 = 6, +# define REG_R6 REG_R6 + REG_R7 = 7, +# define REG_R7 REG_R7 + REG_R8 = 8, +# define REG_R8 REG_R8 + REG_R9 = 9, +# define REG_R9 REG_R9 + REG_R10 = 10, +# define REG_R10 REG_R10 + REG_R11 = 11, +# define REG_R11 REG_R11 + REG_R12 = 12, +# define REG_R12 REG_R12 + REG_R13 = 13, +# define REG_R13 REG_R13 + REG_R14 = 14, +# define REG_R14 REG_R14 + REG_R15 = 15 +# define REG_R15 REG_R15 +}; + +struct _libc_fpstate +{ + struct + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; +/* Structure to describe FPU registers. */ +typedef struct _libc_fpstate fpregset_t; +#endif + +/* Context to describe whole processor state. This only describes + the core registers; coprocessor registers get saved elsewhere + (e.g. in uc_regspace, or somewhere unspecified on the stack + during non-RT signal handlers). */ +typedef struct + { + unsigned long int __ctx(trap_no); + unsigned long int __ctx(error_code); + unsigned long int __ctx(oldmask); + unsigned long int __ctx(arm_r0); + unsigned long int __ctx(arm_r1); + unsigned long int __ctx(arm_r2); + unsigned long int __ctx(arm_r3); + unsigned long int __ctx(arm_r4); + unsigned long int __ctx(arm_r5); + unsigned long int __ctx(arm_r6); + unsigned long int __ctx(arm_r7); + unsigned long int __ctx(arm_r8); + unsigned long int __ctx(arm_r9); + unsigned long int __ctx(arm_r10); + unsigned long int __ctx(arm_fp); + unsigned long int __ctx(arm_ip); + unsigned long int __ctx(arm_sp); + unsigned long int __ctx(arm_lr); + unsigned long int __ctx(arm_pc); + unsigned long int __ctx(arm_cpsr); + unsigned long int __ctx(fault_address); + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long __ctx(uc_regspace)[128] __attribute__((__aligned__(8))); + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/user.h new file mode 100644 index 00000000..37a8cc78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/armeb-linux-gnueabihf/sys/user.h @@ -0,0 +1,71 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct user_fpregs +{ + struct fp_reg + { + unsigned int sign1:1; + unsigned int unused:15; + unsigned int sign2:1; + unsigned int exponent:14; + unsigned int j:1; + unsigned int mantissa1:31; + unsigned int mantissa0:32; + } fpregs[8]; + unsigned int fpsr:32; + unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; +}; + +struct user_regs +{ + unsigned long int uregs[18]; +}; + +struct user +{ + struct user_regs regs; /* General registers */ + int u_fpvalid; /* True if math co-processor being used. */ + + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + + unsigned long start_code; /* Starting virtual address of text. */ + unsigned long start_stack; /* Starting virtual address of stack. */ + + long int signal; /* Signal that caused the core dump. */ + int reserved; /* No longer used */ + struct user_regs *u_ar0; /* help gdb to find the general registers. */ + + unsigned long magic; /* uniquely identify a core file */ + char u_comm[32]; /* User command that was responsible */ + int u_debugreg[8]; + struct user_fpregs u_fp; /* Floating point registers */ + struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/byteorder.h new file mode 100644 index 00000000..b5b2e8c8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/byteorder.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef __ASM_CSKY_BYTEORDER_H +#define __ASM_CSKY_BYTEORDER_H + +#include + +#endif /* __ASM_CSKY_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/cachectl.h new file mode 100644 index 00000000..abc757cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/cachectl.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef __ASM_CSKY_CACHECTL_H +#define __ASM_CSKY_CACHECTL_H + +/* + * See "man cacheflush" + */ +#define ICACHE (1<<0) +#define DCACHE (1<<1) +#define BCACHE (ICACHE|DCACHE) + +#endif /* __ASM_CSKY_CACHECTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..7179e7fa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/perf_regs.h @@ -0,0 +1,50 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef _ASM_CSKY_PERF_REGS_H +#define _ASM_CSKY_PERF_REGS_H + +/* Index of struct pt_regs */ +enum perf_event_csky_regs { + PERF_REG_CSKY_TLS, + PERF_REG_CSKY_LR, + PERF_REG_CSKY_PC, + PERF_REG_CSKY_SR, + PERF_REG_CSKY_SP, + PERF_REG_CSKY_ORIG_A0, + PERF_REG_CSKY_A0, + PERF_REG_CSKY_A1, + PERF_REG_CSKY_A2, + PERF_REG_CSKY_A3, + PERF_REG_CSKY_REGS0, + PERF_REG_CSKY_REGS1, + PERF_REG_CSKY_REGS2, + PERF_REG_CSKY_REGS3, + PERF_REG_CSKY_REGS4, + PERF_REG_CSKY_REGS5, + PERF_REG_CSKY_REGS6, + PERF_REG_CSKY_REGS7, + PERF_REG_CSKY_REGS8, + PERF_REG_CSKY_REGS9, +#if defined(__CSKYABIV2__) + PERF_REG_CSKY_EXREGS0, + PERF_REG_CSKY_EXREGS1, + PERF_REG_CSKY_EXREGS2, + PERF_REG_CSKY_EXREGS3, + PERF_REG_CSKY_EXREGS4, + PERF_REG_CSKY_EXREGS5, + PERF_REG_CSKY_EXREGS6, + PERF_REG_CSKY_EXREGS7, + PERF_REG_CSKY_EXREGS8, + PERF_REG_CSKY_EXREGS9, + PERF_REG_CSKY_EXREGS10, + PERF_REG_CSKY_EXREGS11, + PERF_REG_CSKY_EXREGS12, + PERF_REG_CSKY_EXREGS13, + PERF_REG_CSKY_EXREGS14, + PERF_REG_CSKY_HI, + PERF_REG_CSKY_LO, + PERF_REG_CSKY_DCSR, +#endif + PERF_REG_CSKY_MAX, +}; +#endif /* _ASM_CSKY_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/ptrace.h new file mode 100644 index 00000000..cc88df60 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/ptrace.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef _CSKY_PTRACE_H +#define _CSKY_PTRACE_H + +#ifndef __ASSEMBLY__ + +struct pt_regs { + unsigned long tls; + unsigned long lr; + unsigned long pc; + unsigned long sr; + unsigned long usp; + + /* + * a0, a1, a2, a3: + * abiv1: r2, r3, r4, r5 + * abiv2: r0, r1, r2, r3 + */ + unsigned long orig_a0; + unsigned long a0; + unsigned long a1; + unsigned long a2; + unsigned long a3; + + /* + * ABIV2: r4 ~ r13 + * ABIV1: r6 ~ r14, r1 + */ + unsigned long regs[10]; + +#if defined(__CSKYABIV2__) + /* r16 ~ r30 */ + unsigned long exregs[15]; + + unsigned long rhi; + unsigned long rlo; + unsigned long dcsr; +#endif +}; + +struct user_fp { + unsigned long vr[96]; + unsigned long fcr; + unsigned long fesr; + unsigned long fid; + unsigned long reserved; +}; + +#endif /* __ASSEMBLY__ */ +#endif /* _CSKY_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..1e33a641 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/sigcontext.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef __ASM_CSKY_SIGCONTEXT_H +#define __ASM_CSKY_SIGCONTEXT_H + +#include + +struct sigcontext { + struct pt_regs sc_pt_regs; + struct user_fp sc_user_fp; +}; + +#endif /* __ASM_CSKY_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd.h new file mode 100644 index 00000000..3889d57a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd.h @@ -0,0 +1,6 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#include + +#define __NR_sync_file_range2 84 +#undef __NR_sync_file_range \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..161cfb51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-any/asm/unistd_32.h @@ -0,0 +1,348 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl64 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs64 43 +#define __NR_fstatfs64 44 +#define __NR_truncate64 45 +#define __NR_ftruncate64 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_llseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile64 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_fstatat64 79 +#define __NR_fstat64 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrlimit 163 +#define __NR_setrlimit 164 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap2 222 +#define __NR_fadvise64_64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_set_thread_area 244 +#define __NR_cacheflush 245 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/endianness.h new file mode 100644 index 00000000..471d2828 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/endianness.h @@ -0,0 +1,14 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +#ifdef __CSKYBE__ +# error "Big endian not supported for C-SKY." +#else +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h new file mode 100644 index 00000000..e033990a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fcntl.h @@ -0,0 +1,55 @@ +/* O_*, F_*, FD_* bit values for the generic Linux ABI. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fenv.h new file mode 100644 index 00000000..474af259 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/fenv.h @@ -0,0 +1,111 @@ +/* Floating point environment. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +#ifdef __csky_hard_float__ +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum + { + FE_INVALID = +#define FE_INVALID 0x01 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 0x02 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 0x04 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 0x08 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 0x10 + FE_INEXACT, + __FE_DENORMAL = 0x20 + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The C-SKY FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0x0 << 24) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (0x1 << 24) + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD (0x2 << 24) + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD (0x3 << 24) + FE_DOWNWARD, + __FE_ROUND_MASK = (0x3 << 24) + }; + +#else + +/* In the soft-float case, only rounding to nearest is supported, with + no exceptions. */ + +enum + { + __FE_UNDEFINED = -1, + + FE_TONEAREST = +# define FE_TONEAREST 0x0 + FE_TONEAREST + }; + +# define FE_ALL_EXCEPT 0 + +#endif + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct +{ + unsigned int __fpcr; + unsigned int __fpsr; +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#if defined __USE_GNU && defined __csky_hard_float__ +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/link.h new file mode 100644 index 00000000..ca027d0e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/link.h @@ -0,0 +1,55 @@ +/* Machine-specific declarations for dynamic linker interface. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Registers for entry into PLT on C-SKY. */ +typedef struct La_csky_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; +} La_csky_regs; + +/* Return values for calls from PLT on C-SKY. */ +typedef struct La_csky_retval +{ + /* Up to four integer registers can be used for a return value. */ + uint32_t lrv_reg[4]; + uint32_t lrv_v0; +} La_csky_retval; + +__BEGIN_DECLS + +extern Elf32_Addr la_csky_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_csky_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_csky_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_csky_regs *__inregs, + La_csky_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/procfs.h new file mode 100644 index 00000000..91bc54a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/procfs.h @@ -0,0 +1,37 @@ +/* Types for registers for sys/procfs.h. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; +/* Type for a floating-point registers. */ +typedef unsigned long elf_fpreg_t; + +/* In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of + elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough + for coredump and no need full sizeof (struct pt_regs). */ +#define ELF_NGREG ((sizeof (struct pt_regs) / sizeof (elf_greg_t)) - 2) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#define ELF_NFPREG (sizeof (struct user_fp) / sizeof (elf_fpreg_t)) +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h new file mode 100644 index 00000000..8edb4c0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/setjmp.h @@ -0,0 +1,34 @@ +/* Define the machine-dependent type `jmp_buf'. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _CSKY_BITS_SETJMP_H +#define _CSKY_BITS_SETJMP_H 1 + +typedef struct __jmp_buf_str + { + /* Stack pointer. */ + int __sp; + int __lr; + /* The actual core defines which registers should be saved. The + buffer contains 32 words, keep space for future growth. + Callee-saved registers: + r4 ~ r11, r16 ~ r17, r26 ~r31 for abiv2; r8 ~ r14 for abiv1. */ + int __regs[32]; + } __jmp_buf[1]; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h new file mode 100644 index 00000000..79e12b82 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/statfs.h new file mode 100644 index 00000000..13479a33 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/statfs.h @@ -0,0 +1,75 @@ +/* Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct statfs + { + __SWORD_TYPE f_type; + __SWORD_TYPE f_bsize; + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks); + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree); + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail); + __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files); + __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree); + __fsid_t f_fsid; + __SWORD_TYPE f_namelen; + __SWORD_TYPE f_frsize; + __SWORD_TYPE f_flags; + __SWORD_TYPE f_spare[4]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + __SWORD_TYPE f_type; + __SWORD_TYPE f_bsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsid_t f_fsid; + __SWORD_TYPE f_namelen; + __SWORD_TYPE f_frsize; + __SWORD_TYPE f_flags; + __SWORD_TYPE f_spare[4]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN +#define _STATFS_F_FRSIZE +#define _STATFS_F_FLAGS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h new file mode 100644 index 00000000..40649851 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/struct_stat.h @@ -0,0 +1,135 @@ +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + int __glibc_reserved[2]; +#endif + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + int __glibc_reserved[2]; +# endif + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/timesize.h new file mode 100644 index 00000000..f97e401d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/fpu_control.h new file mode 100644 index 00000000..f7a844d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/fpu_control.h @@ -0,0 +1,148 @@ +/* FPU control word bits. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* C-SKY FPU floating point control register bits. + + 31-28 -> Reserved (read as 0, write with 0). + 27 -> 0: Flush denormalized results to zero. + 1: Flush denormalized results to signed minimal normal number. + 26 -> Reserved (read as 0, write with 0). + 25-24 -> Rounding control. + 23-6 -> Reserved (read as 0, write with 0). + 5 -> Enable exception for input denormalized exception. + 4 -> Enable exception for inexact exception. + 3 -> Enable exception for underflow exception. + 2 -> Enable exception for overflow exception. + 1 -> Enable exception for division by zero exception. + 0 -> Enable exception for invalid operation exception. + + Rounding Control: + 00 - Rounding to nearest (RN). + 01 - Rounding toward zero (RZ). + 10 - Rounding (up) toward plus infinity (RP). + 11 - Rounding (down)toward minus infinity (RM). + + C-SKY FPU floating point exception status register bits. + + 15 -> Accumulate bit for any exception. + 14 -> Reserved (read as 0, write with 0). + 13 -> Cause bit for input denormalized exception. + 12 -> Cause bit for inexact exception. + 11 -> Cause bit for underflow exception. + 10 -> Cause bit for overflow exception. + 9 -> Cause bit for division by zero exception. + 8 -> Cause bit for invalid operation exception. + 7 -> Flag bit for any exception. + 6 -> Reserved (read as 0, write with 0). + 5 -> Flag exception for input denormalized exception. + 4 -> Flag exception for inexact exception. + 3 -> Flag exception for underflow exception. + 2 -> Flag exception for overflow exception. + 1 -> Flag exception for division by zero exception. + 0 -> Flag exception for invalid operation exception. */ + +#include + +#ifdef __csky_soft_float__ + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +# define _FPU_GETFPSR(cw) (cw) = 0 +# define _FPU_SETFPSR(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* __csky_soft_float__ */ + +/* Masking of interrupts. */ +# define _FPU_MASK_IDE (1 << 5) /* Input denormalized exception. */ +# define _FPU_MASK_IXE (1 << 4) /* Inexact exception. */ +# define _FPU_MASK_UFE (1 << 3) /* Underflow exception. */ +# define _FPU_MASK_OFE (1 << 2) /* Overflow exception. */ +# define _FPU_MASK_DZE (1 << 1) /* Division by zero exception. */ +# define _FPU_MASK_IOE (1 << 0) /* Invalid operation exception. */ + +# define _FPU_MASK_FEA (1 << 15) /* Case for any exception. */ +# define _FPU_MASK_FEC (1 << 7) /* Flag for any exception. */ + +/* Flush denormalized numbers to zero. */ +# define _FPU_FLUSH_TZ 0x8000000 + +/* Rounding control. */ +# define _FPU_RC_NEAREST (0x0 << 24) /* RECOMMENDED. */ +# define _FPU_RC_ZERO (0x1 << 24) +# define _FPU_RC_UP (0x2 << 24) +# define _FPU_RC_DOWN (0x3 << 24) + +# define _FPU_RESERVED 0xf460ffc0 /* Reserved bits in cw. */ +# define _FPU_FPSR_RESERVED 0xffff4040 + +/* The fdlibm code requires strict IEEE double precision arithmetic, + and no interrupts for exceptions, rounding to nearest. */ + +# define _FPU_DEFAULT 0x00000000 +# define _FPU_FPSR_DEFAULT 0x00000000 + +/* IEEE: same as above, but exceptions. */ +# define _FPU_FPCR_IEEE 0x0000001F +# define _FPU_FPSR_IEEE 0x00000000 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# if (__CSKY__ == 2) +# define _FPU_GETCW(cw) __asm__ volatile ("mfcr %0, cr<1, 2>" : "=a" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("mtcr %0, cr<1, 2>" : : "a" (cw)) +# define _FPU_GETFPSR(cw) __asm__ volatile ("mfcr %0, cr<2, 2>" : "=a" (cw)) +# define _FPU_SETFPSR(cw) __asm__ volatile ("mtcr %0, cr<2, 2>" : : "a" (cw)) +# else +# define _FPU_GETCW(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \ + " btsti %0, 31 \n" \ + " bt 1b \n" \ + " cprcr %0, cpcr1\n" : "=b" (cw)) + +# define _FPU_SETCW(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \ + " btsti r7, 31 \n" \ + " bt 1b \n" \ + " cpwcr %0, cpcr1 \n" \ + : : "b" (cw) : "r7") + +# define _FPU_GETFPSR(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \ + " btsti %0, 31 \n" \ + " bt 1b \n" \ + " cprcr %0, cpcr4\n" : "=b" (cw)) + +# define _FPU_SETFPSR(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \ + " btsti r7, 31 \n" \ + " bt 1b \n" \ + " cpwcr %0, cpcr4 \n" \ + : : "b" (cw) : "r7") +# endif /* __CSKY__ != 2 */ + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* !__csky_soft_float__ */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h new file mode 100644 index 00000000..d89cac7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/lib-names.h @@ -0,0 +1,30 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#define LD_LINUX_CSKYV2_SO "ld-linux-cskyv2.so.1" +#define LD_SO "ld-linux-cskyv2.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/stubs.h new file mode 100644 index 00000000..6ce02418 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/gnu/stubs.h @@ -0,0 +1,38 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_feclearexcept +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetenv +#define __stub_fegetexcept +#define __stub_fegetexceptflag +#define __stub_fegetmode +#define __stub_fegetround +#define __stub_feholdexcept +#define __stub_feraiseexcept +#define __stub_fesetenv +#define __stub_fesetexcept +#define __stub_fesetexceptflag +#define __stub_fesetmode +#define __stub_fesetround +#define __stub_fetestexcept +#define __stub_feupdateenv +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h new file mode 100644 index 00000000..13ea6742 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/cachectl.h @@ -0,0 +1,36 @@ +/* C-SKY cache flushing interface. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +/* Get the kernel definition for the op bits. */ +#include + +__BEGIN_DECLS + +#ifdef __USE_MISC +extern int cacheflush (void *__addr, const int __nbytes, + const int __op) __THROW; +#endif + +__END_DECLS + +#endif /* sys/cachectl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h new file mode 100644 index 00000000..629a841f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/ucontext.h @@ -0,0 +1,89 @@ +/* struct ucontext definition, C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +typedef struct + { + unsigned long __tls; + unsigned long __lr; + unsigned long __pc; + unsigned long __sr; + unsigned long __usp; + + /* + * a0, a1, a2, a3: + * abiv1: r2, r3, r4, r5 + * abiv2: r0, r1, r2, r3 + */ + + unsigned long __orig_a0; + unsigned long __a0; + unsigned long __a1; + unsigned long __a2; + unsigned long __a3; + + /* + * ABIV2: r4 ~ r13 + */ + unsigned long __regs[10]; + + /* r16 ~ r30 */ + unsigned long __exregs[15]; + + unsigned long __rhi; + unsigned long __rlo; + unsigned long __glibc_reserved; + } gregset_t; + +typedef struct + { + unsigned long __vr[64]; + unsigned long __fcr; + unsigned long __fesr; + unsigned long __fid; + unsigned long __glibc_reserved; + } fpregset_t; + +/* Context to describe whole processor state. */ +typedef struct + { + gregset_t __gregs; + fpregset_t __fpregs; + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + } ucontext_t; + +#undef __ctx + + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/user.h new file mode 100644 index 00000000..b6b16709 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabi/sys/user.h @@ -0,0 +1,23 @@ +/* This file is not used by C-SKY GDB. ptrace can use pt_regs definition + from linux kernel directly. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/endianness.h new file mode 100644 index 00000000..471d2828 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/endianness.h @@ -0,0 +1,14 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +#ifdef __CSKYBE__ +# error "Big endian not supported for C-SKY." +#else +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h new file mode 100644 index 00000000..e033990a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fcntl.h @@ -0,0 +1,55 @@ +/* O_*, F_*, FD_* bit values for the generic Linux ABI. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h new file mode 100644 index 00000000..474af259 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/fenv.h @@ -0,0 +1,111 @@ +/* Floating point environment. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +#ifdef __csky_hard_float__ +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum + { + FE_INVALID = +#define FE_INVALID 0x01 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 0x02 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 0x04 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 0x08 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 0x10 + FE_INEXACT, + __FE_DENORMAL = 0x20 + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The C-SKY FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0x0 << 24) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (0x1 << 24) + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD (0x2 << 24) + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD (0x3 << 24) + FE_DOWNWARD, + __FE_ROUND_MASK = (0x3 << 24) + }; + +#else + +/* In the soft-float case, only rounding to nearest is supported, with + no exceptions. */ + +enum + { + __FE_UNDEFINED = -1, + + FE_TONEAREST = +# define FE_TONEAREST 0x0 + FE_TONEAREST + }; + +# define FE_ALL_EXCEPT 0 + +#endif + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. */ +typedef struct +{ + unsigned int __fpcr; + unsigned int __fpsr; +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#if defined __USE_GNU && defined __csky_hard_float__ +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/link.h new file mode 100644 index 00000000..ca027d0e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/link.h @@ -0,0 +1,55 @@ +/* Machine-specific declarations for dynamic linker interface. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Registers for entry into PLT on C-SKY. */ +typedef struct La_csky_regs +{ + uint32_t lr_reg[4]; + uint32_t lr_sp; + uint32_t lr_lr; +} La_csky_regs; + +/* Return values for calls from PLT on C-SKY. */ +typedef struct La_csky_retval +{ + /* Up to four integer registers can be used for a return value. */ + uint32_t lrv_reg[4]; + uint32_t lrv_v0; +} La_csky_retval; + +__BEGIN_DECLS + +extern Elf32_Addr la_csky_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_csky_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_csky_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_csky_regs *__inregs, + La_csky_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h new file mode 100644 index 00000000..d07f1a74 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/long-double.h @@ -0,0 +1,53 @@ +/* Properties of long double type. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is included by . + + If long double is ABI-compatible with double, it should define + __NO_LONG_DOUBLE_MATH to 1; otherwise, it should leave + __NO_LONG_DOUBLE_MATH undefined. + + If this build of the GNU C Library supports both long double + ABI-compatible with double and some other long double format not + ABI-compatible with double, it should define + __LONG_DOUBLE_MATH_OPTIONAL to 1; otherwise, it should leave + __LONG_DOUBLE_MATH_OPTIONAL undefined. + + If __NO_LONG_DOUBLE_MATH is already defined, this header must not + define anything; this is needed to work with the definition of + __NO_LONG_DOUBLE_MATH in nldbl-compat.h. */ + +/* In the default version of this header, long double is + ABI-compatible with double. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __NO_LONG_DOUBLE_MATH 1 +#endif + +/* The macro __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI is used to determine the + choice of the underlying ABI of long double. It will always assume + a constant value for each translation unit. + + If the value is non-zero, any API which is parameterized by the long + double type (i.e the scanf/printf family of functions or the explicitly + parameterized math.h functions) will be redirected to a compatible + implementation using _Float128 ABI via symbols suffixed with ieee128. + + The mechanism this macro uses to acquire may be a function + of architecture, or target specific options used to invoke the + compiler. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h new file mode 100644 index 00000000..91bc54a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/procfs.h @@ -0,0 +1,37 @@ +/* Types for registers for sys/procfs.h. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; +/* Type for a floating-point registers. */ +typedef unsigned long elf_fpreg_t; + +/* In gdb/bfd elf32-csky.c, csky_elf_grok_prstatus() use fixed size of + elf_prstatus. It's 148 for abiv1 and 220 for abiv2, the size is enough + for coredump and no need full sizeof (struct pt_regs). */ +#define ELF_NGREG ((sizeof (struct pt_regs) / sizeof (elf_greg_t)) - 2) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#define ELF_NFPREG (sizeof (struct user_fp) / sizeof (elf_fpreg_t)) +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h new file mode 100644 index 00000000..8edb4c0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/setjmp.h @@ -0,0 +1,34 @@ +/* Define the machine-dependent type `jmp_buf'. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _CSKY_BITS_SETJMP_H +#define _CSKY_BITS_SETJMP_H 1 + +typedef struct __jmp_buf_str + { + /* Stack pointer. */ + int __sp; + int __lr; + /* The actual core defines which registers should be saved. The + buffer contains 32 words, keep space for future growth. + Callee-saved registers: + r4 ~ r11, r16 ~ r17, r26 ~r31 for abiv2; r8 ~ r14 for abiv1. */ + int __regs[32]; + } __jmp_buf[1]; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h new file mode 100644 index 00000000..79e12b82 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize () << 2) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h new file mode 100644 index 00000000..13479a33 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/statfs.h @@ -0,0 +1,75 @@ +/* Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct statfs + { + __SWORD_TYPE f_type; + __SWORD_TYPE f_bsize; + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_blocks); + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bfree); + __field64(__fsblkcnt_t, __fsblkcnt64_t, f_bavail); + __field64(__fsfilcnt_t, __fsfilcnt64_t, f_files); + __field64(__fsfilcnt_t, __fsfilcnt64_t, f_ffree); + __fsid_t f_fsid; + __SWORD_TYPE f_namelen; + __SWORD_TYPE f_frsize; + __SWORD_TYPE f_flags; + __SWORD_TYPE f_spare[4]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + __SWORD_TYPE f_type; + __SWORD_TYPE f_bsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsid_t f_fsid; + __SWORD_TYPE f_namelen; + __SWORD_TYPE f_frsize; + __SWORD_TYPE f_flags; + __SWORD_TYPE f_spare[4]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN +#define _STATFS_F_FRSIZE +#define _STATFS_F_FLAGS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h new file mode 100644 index 00000000..40649851 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/struct_stat.h @@ -0,0 +1,135 @@ +/* Definition for struct stat. Linux/csky version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + int __glibc_reserved[2]; +#endif + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + int __glibc_reserved[2]; +# endif + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h new file mode 100644 index 00000000..f97e401d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/csky. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/fpu_control.h new file mode 100644 index 00000000..f7a844d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/fpu_control.h @@ -0,0 +1,148 @@ +/* FPU control word bits. C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* C-SKY FPU floating point control register bits. + + 31-28 -> Reserved (read as 0, write with 0). + 27 -> 0: Flush denormalized results to zero. + 1: Flush denormalized results to signed minimal normal number. + 26 -> Reserved (read as 0, write with 0). + 25-24 -> Rounding control. + 23-6 -> Reserved (read as 0, write with 0). + 5 -> Enable exception for input denormalized exception. + 4 -> Enable exception for inexact exception. + 3 -> Enable exception for underflow exception. + 2 -> Enable exception for overflow exception. + 1 -> Enable exception for division by zero exception. + 0 -> Enable exception for invalid operation exception. + + Rounding Control: + 00 - Rounding to nearest (RN). + 01 - Rounding toward zero (RZ). + 10 - Rounding (up) toward plus infinity (RP). + 11 - Rounding (down)toward minus infinity (RM). + + C-SKY FPU floating point exception status register bits. + + 15 -> Accumulate bit for any exception. + 14 -> Reserved (read as 0, write with 0). + 13 -> Cause bit for input denormalized exception. + 12 -> Cause bit for inexact exception. + 11 -> Cause bit for underflow exception. + 10 -> Cause bit for overflow exception. + 9 -> Cause bit for division by zero exception. + 8 -> Cause bit for invalid operation exception. + 7 -> Flag bit for any exception. + 6 -> Reserved (read as 0, write with 0). + 5 -> Flag exception for input denormalized exception. + 4 -> Flag exception for inexact exception. + 3 -> Flag exception for underflow exception. + 2 -> Flag exception for overflow exception. + 1 -> Flag exception for division by zero exception. + 0 -> Flag exception for invalid operation exception. */ + +#include + +#ifdef __csky_soft_float__ + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +# define _FPU_GETFPSR(cw) (cw) = 0 +# define _FPU_SETFPSR(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* __csky_soft_float__ */ + +/* Masking of interrupts. */ +# define _FPU_MASK_IDE (1 << 5) /* Input denormalized exception. */ +# define _FPU_MASK_IXE (1 << 4) /* Inexact exception. */ +# define _FPU_MASK_UFE (1 << 3) /* Underflow exception. */ +# define _FPU_MASK_OFE (1 << 2) /* Overflow exception. */ +# define _FPU_MASK_DZE (1 << 1) /* Division by zero exception. */ +# define _FPU_MASK_IOE (1 << 0) /* Invalid operation exception. */ + +# define _FPU_MASK_FEA (1 << 15) /* Case for any exception. */ +# define _FPU_MASK_FEC (1 << 7) /* Flag for any exception. */ + +/* Flush denormalized numbers to zero. */ +# define _FPU_FLUSH_TZ 0x8000000 + +/* Rounding control. */ +# define _FPU_RC_NEAREST (0x0 << 24) /* RECOMMENDED. */ +# define _FPU_RC_ZERO (0x1 << 24) +# define _FPU_RC_UP (0x2 << 24) +# define _FPU_RC_DOWN (0x3 << 24) + +# define _FPU_RESERVED 0xf460ffc0 /* Reserved bits in cw. */ +# define _FPU_FPSR_RESERVED 0xffff4040 + +/* The fdlibm code requires strict IEEE double precision arithmetic, + and no interrupts for exceptions, rounding to nearest. */ + +# define _FPU_DEFAULT 0x00000000 +# define _FPU_FPSR_DEFAULT 0x00000000 + +/* IEEE: same as above, but exceptions. */ +# define _FPU_FPCR_IEEE 0x0000001F +# define _FPU_FPSR_IEEE 0x00000000 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# if (__CSKY__ == 2) +# define _FPU_GETCW(cw) __asm__ volatile ("mfcr %0, cr<1, 2>" : "=a" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("mtcr %0, cr<1, 2>" : : "a" (cw)) +# define _FPU_GETFPSR(cw) __asm__ volatile ("mfcr %0, cr<2, 2>" : "=a" (cw)) +# define _FPU_SETFPSR(cw) __asm__ volatile ("mtcr %0, cr<2, 2>" : : "a" (cw)) +# else +# define _FPU_GETCW(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \ + " btsti %0, 31 \n" \ + " bt 1b \n" \ + " cprcr %0, cpcr1\n" : "=b" (cw)) + +# define _FPU_SETCW(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \ + " btsti r7, 31 \n" \ + " bt 1b \n" \ + " cpwcr %0, cpcr1 \n" \ + : : "b" (cw) : "r7") + +# define _FPU_GETFPSR(cw) __asm__ volatile ("1: cprcr %0, cpcr2 \n" \ + " btsti %0, 31 \n" \ + " bt 1b \n" \ + " cprcr %0, cpcr4\n" : "=b" (cw)) + +# define _FPU_SETFPSR(cw) __asm__ volatile ("1: cprcr r7, cpcr2 \n" \ + " btsti r7, 31 \n" \ + " bt 1b \n" \ + " cpwcr %0, cpcr4 \n" \ + : : "b" (cw) : "r7") +# endif /* __CSKY__ != 2 */ + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* !__csky_soft_float__ */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h new file mode 100644 index 00000000..374b226d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/lib-names.h @@ -0,0 +1,30 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#define LD_LINUX_CSKYV2_HF_SO "ld-linux-cskyv2-hf.so.1" +#define LD_SO "ld-linux-cskyv2-hf.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/stubs.h new file mode 100644 index 00000000..4c2911dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/gnu/stubs.h @@ -0,0 +1,21 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h new file mode 100644 index 00000000..13ea6742 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/cachectl.h @@ -0,0 +1,36 @@ +/* C-SKY cache flushing interface. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +/* Get the kernel definition for the op bits. */ +#include + +__BEGIN_DECLS + +#ifdef __USE_MISC +extern int cacheflush (void *__addr, const int __nbytes, + const int __op) __THROW; +#endif + +__END_DECLS + +#endif /* sys/cachectl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h new file mode 100644 index 00000000..629a841f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/ucontext.h @@ -0,0 +1,89 @@ +/* struct ucontext definition, C-SKY version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +typedef struct + { + unsigned long __tls; + unsigned long __lr; + unsigned long __pc; + unsigned long __sr; + unsigned long __usp; + + /* + * a0, a1, a2, a3: + * abiv1: r2, r3, r4, r5 + * abiv2: r0, r1, r2, r3 + */ + + unsigned long __orig_a0; + unsigned long __a0; + unsigned long __a1; + unsigned long __a2; + unsigned long __a3; + + /* + * ABIV2: r4 ~ r13 + */ + unsigned long __regs[10]; + + /* r16 ~ r30 */ + unsigned long __exregs[15]; + + unsigned long __rhi; + unsigned long __rlo; + unsigned long __glibc_reserved; + } gregset_t; + +typedef struct + { + unsigned long __vr[64]; + unsigned long __fcr; + unsigned long __fesr; + unsigned long __fid; + unsigned long __glibc_reserved; + } fpregset_t; + +/* Context to describe whole processor state. */ +typedef struct + { + gregset_t __gregs; + fpregset_t __fpregs; + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + } ucontext_t; + +#undef __ctx + + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/user.h new file mode 100644 index 00000000..b6b16709 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/csky-linux-gnueabihf/sys/user.h @@ -0,0 +1,23 @@ +/* This file is not used by C-SKY GDB. ptrace can use pt_regs definition + from linux kernel directly. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/a.out.h new file mode 100644 index 00000000..5682d0af --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/a.out.h @@ -0,0 +1,138 @@ +#ifndef __A_OUT_GNU_H__ +#define __A_OUT_GNU_H__ + +#include + +#define __GNU_EXEC_MACROS__ + +struct exec +{ + unsigned long a_info; /* Use macros N_MAGIC, etc for access. */ + unsigned int a_text; /* Length of text, in bytes. */ + unsigned int a_data; /* Length of data, in bytes. */ + unsigned int a_bss; /* Length of uninitialized data area for file, in bytes. */ + unsigned int a_syms; /* Length of symbol table data in file, in bytes. */ + unsigned int a_entry; /* Start address. */ + unsigned int a_trsize;/* Length of relocation info for text, in bytes. */ + unsigned int a_drsize;/* Length of relocation info for data, in bytes. */ +}; + +enum machine_type +{ + M_OLDSUN2 = 0, + M_68010 = 1, + M_68020 = 2, + M_SPARC = 3, + M_386 = 100, + M_MIPS1 = 151, + M_MIPS2 = 152 +}; + +#define N_MAGIC(exec) ((exec).a_info & 0xffff) +#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) +#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) +#define N_SET_INFO(exec, magic, type, flags) \ + ((exec).a_info = ((magic) & 0xffff) \ + | (((int)(type) & 0xff) << 16) \ + | (((flags) & 0xff) << 24)) +#define N_SET_MAGIC(exec, magic) \ + ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) +#define N_SET_MACHTYPE(exec, machtype) \ + ((exec).a_info = \ + ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) +#define N_SET_FLAGS(exec, flags) \ + ((exec).a_info = \ + ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) + +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +/* This indicates a demand-paged executable with the header in the text. + The first page is unmapped to help trap NULL pointer references. */ +#define QMAGIC 0314 +/* Code indicating core file. */ +#define CMAGIC 0421 + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) +#define _N_HDROFF(x) (1024 - sizeof (struct exec)) +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? _N_HDROFF((x)) + sizeof (struct exec) \ + : (N_MAGIC(x) == QMAGIC ? 0 : sizeof (struct exec))) +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) +#define N_SYMOFF(x) (N_DRELOFF(x) + N_DRSIZE(x)) +#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) + +/* Address of text segment in memory after it is loaded. */ +#define N_TXTADDR(x) (N_MAGIC(x) == QMAGIC ? 4096 : 0) + +/* Address of data segment in memory after it is loaded. */ +#define SEGMENT_SIZE 1024 + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC? (_N_TXTENDADDR(x)) \ + : (_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) + +#if !defined (N_NLIST_DECLARED) +struct nlist +{ + union + { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif /* no N_NLIST_DECLARED. */ + +#define N_UNDF 0 +#define N_ABS 2 +#define N_TEXT 4 +#define N_DATA 6 +#define N_BSS 8 +#define N_FN 15 +#define N_EXT 1 +#define N_TYPE 036 +#define N_STAB 0340 +#define N_INDR 0xa +#define N_SETA 0x14 /* Absolute set element symbol. */ +#define N_SETT 0x16 /* Text set element symbol. */ +#define N_SETD 0x18 /* Data set element symbol. */ +#define N_SETB 0x1A /* Bss set element symbol. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#if !defined (N_RELOCATION_INFO_DECLARED) +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + int r_address; + unsigned int r_symbolnum:24; + unsigned int r_pcrel:1; + unsigned int r_length:2; + unsigned int r_extern:1; + unsigned int r_pad:4; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + +#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aio.h new file mode 100644 index 00000000..045f9d08 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aio.h @@ -0,0 +1,253 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO/IEC 9945-1:1996 6.7: Asynchronous Input and Output + */ + +#ifndef _AIO_H +#define _AIO_H 1 + +#include +#include +#include +#include +#include + +__BEGIN_DECLS + +/* Asynchronous I/O control block. */ +struct aiocb +{ + int aio_fildes; /* File descriptor. */ + int aio_lio_opcode; /* Operation to be performed. */ + int aio_reqprio; /* Request priority offset. */ + volatile void *aio_buf; /* Location of buffer. */ + size_t aio_nbytes; /* Length of transfer. */ + struct sigevent aio_sigevent; /* Signal number and value. */ + + /* Internal members. */ + struct aiocb *__next_prio; + int __abs_prio; + int __policy; + int __error_code; + __ssize_t __return_value; + +#ifndef __USE_FILE_OFFSET64 + __off_t aio_offset; /* File offset. */ + char __pad[sizeof (__off64_t) - sizeof (__off_t)]; +#else + __off64_t aio_offset; /* File offset. */ +#endif + char __glibc_reserved[32]; +}; + +/* The same for the 64bit offsets. Please note that the members aio_fildes + to __return_value have to be the same in aiocb and aiocb64. */ +#ifdef __USE_LARGEFILE64 +struct aiocb64 +{ + int aio_fildes; /* File descriptor. */ + int aio_lio_opcode; /* Operation to be performed. */ + int aio_reqprio; /* Request priority offset. */ + volatile void *aio_buf; /* Location of buffer. */ + size_t aio_nbytes; /* Length of transfer. */ + struct sigevent aio_sigevent; /* Signal number and value. */ + + /* Internal members. */ + struct aiocb *__next_prio; + int __abs_prio; + int __policy; + int __error_code; + __ssize_t __return_value; + + __off64_t aio_offset; /* File offset. */ + char __glibc_reserved[32]; +}; +#endif + + +#ifdef __USE_GNU +/* To optimize the implementation one can use the following struct. */ +struct aioinit + { + int aio_threads; /* Maximum number of threads. */ + int aio_num; /* Number of expected simultaneous requests. */ + int aio_locks; /* Not used. */ + int aio_usedba; /* Not used. */ + int aio_debug; /* Not used. */ + int aio_numusers; /* Not used. */ + int aio_idle_time; /* Number of seconds before idle thread + terminates. */ + int aio_reserved; + }; +#endif + + +/* Return values of the aio_cancel function. */ +enum +{ + AIO_CANCELED, +#define AIO_CANCELED AIO_CANCELED + AIO_NOTCANCELED, +#define AIO_NOTCANCELED AIO_NOTCANCELED + AIO_ALLDONE +#define AIO_ALLDONE AIO_ALLDONE +}; + + +/* Operation codes for `aio_lio_opcode'. */ +enum +{ + LIO_READ, +#define LIO_READ LIO_READ + LIO_WRITE, +#define LIO_WRITE LIO_WRITE + LIO_NOP +#define LIO_NOP LIO_NOP +}; + + +/* Synchronization options for `lio_listio' function. */ +enum +{ + LIO_WAIT, +#define LIO_WAIT LIO_WAIT + LIO_NOWAIT +#define LIO_NOWAIT LIO_NOWAIT +}; + + +/* Allow user to specify optimization. */ +#ifdef __USE_GNU +extern void aio_init (const struct aioinit *__init) __THROW __nonnull ((1)); +#endif + + +#ifndef __USE_FILE_OFFSET64 +/* Enqueue read request for given number of bytes and the given priority. */ +extern int aio_read (struct aiocb *__aiocbp) __THROW __nonnull ((1)); +/* Enqueue write request for given number of bytes and the given priority. */ +extern int aio_write (struct aiocb *__aiocbp) __THROW __nonnull ((1)); + +/* Initiate list of I/O requests. */ +extern int lio_listio (int __mode, + struct aiocb *const __list[__restrict_arr], + int __nent, struct sigevent *__restrict __sig) + __THROW __nonnull ((2)); + +/* Retrieve error status associated with AIOCBP. */ +extern int aio_error (const struct aiocb *__aiocbp) __THROW __nonnull ((1)); +/* Return status associated with AIOCBP. */ +extern __ssize_t aio_return (struct aiocb *__aiocbp) __THROW __nonnull ((1)); + +/* Try to cancel asynchronous I/O requests outstanding against file + descriptor FILDES. */ +extern int aio_cancel (int __fildes, struct aiocb *__aiocbp) __THROW; + +/* Suspend calling thread until at least one of the asynchronous I/O + operations referenced by LIST has completed. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int aio_suspend (const struct aiocb *const __list[], int __nent, + const struct timespec *__restrict __timeout) + __nonnull ((1)); + +/* Force all operations associated with file descriptor described by + `aio_fildes' member of AIOCBP. */ +extern int aio_fsync (int __operation, struct aiocb *__aiocbp) + __THROW __nonnull ((2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (aio_read, (struct aiocb *__aiocbp), aio_read64) + __nonnull ((1)); +extern int __REDIRECT_NTH (aio_write, (struct aiocb *__aiocbp), aio_write64) + __nonnull ((1)); + +extern int __REDIRECT_NTH (lio_listio, + (int __mode, + struct aiocb *const __list[__restrict_arr], + int __nent, struct sigevent *__restrict __sig), + lio_listio64) __nonnull ((2)); + +extern int __REDIRECT_NTH (aio_error, (const struct aiocb *__aiocbp), + aio_error64) __nonnull ((1)); +extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp), + aio_return64) __nonnull ((1)); + +extern int __REDIRECT_NTH (aio_cancel, + (int __fildes, struct aiocb *__aiocbp), + aio_cancel64); +# ifdef __USE_TIME64_REDIRECTS +extern int __REDIRECT_NTH (aio_suspend, + (const struct aiocb *const __list[], int __nent, + const struct timespec *__restrict __timeout), + __aio_suspend_time64) __nonnull ((1)); +# else +extern int __REDIRECT_NTH (aio_suspend, + (const struct aiocb *const __list[], int __nent, + const struct timespec *__restrict __timeout), + aio_suspend64) __nonnull ((1)); +# endif +extern int __REDIRECT_NTH (aio_fsync, + (int __operation, struct aiocb *__aiocbp), + aio_fsync64) __nonnull ((2)); + +# else +# define aio_read aio_read64 +# define aio_write aio_write64 +# define lio_listio lio_listio64 +# define aio_error aio_error64 +# define aio_return aio_return64 +# define aio_cancel aio_cancel64 +# ifdef __USE_TIME64_REDIRECTS +# define aio_suspend __aio_suspend_time64 +# else +# define aio_suspend aio_suspend64 +# endif +# define aio_fsync aio_fsync64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern int aio_read64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1)); +extern int aio_write64 (struct aiocb64 *__aiocbp) __THROW __nonnull ((1)); + +extern int lio_listio64 (int __mode, + struct aiocb64 *const __list[__restrict_arr], + int __nent, struct sigevent *__restrict __sig) + __THROW __nonnull ((2)); + +extern int aio_error64 (const struct aiocb64 *__aiocbp) + __THROW __nonnull ((1)); +extern __ssize_t aio_return64 (struct aiocb64 *__aiocbp) + __THROW __nonnull ((1)); + +extern int aio_cancel64 (int __fildes, struct aiocb64 *__aiocbp) __THROW; + +extern int aio_suspend64 (const struct aiocb64 *const __list[], int __nent, + const struct timespec *__restrict __timeout) + __THROW __nonnull ((1)); + +extern int aio_fsync64 (int __operation, struct aiocb64 *__aiocbp) + __THROW __nonnull ((2)); +#endif + +__END_DECLS + +#endif /* aio.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aliases.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aliases.h new file mode 100644 index 00000000..4198827e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/aliases.h @@ -0,0 +1,63 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ALIASES_H +#define _ALIASES_H 1 + +#include + +#include + + +__BEGIN_DECLS + +/* Structure to represent one entry of the alias database. */ +struct aliasent + { + char *alias_name; + size_t alias_members_len; + char **alias_members; + int alias_local; + }; + + +/* Open alias data base files. */ +extern void setaliasent (void) __THROW; + +/* Close alias database files. */ +extern void endaliasent (void) __THROW; + +/* Get the next entry from the alias database. */ +extern struct aliasent *getaliasent (void) __THROW; + +/* Get the next entry from the alias database and put it in RESULT_BUF. */ +extern int getaliasent_r (struct aliasent *__restrict __result_buf, + char *__restrict __buffer, size_t __buflen, + struct aliasent **__restrict __result) __THROW; + +/* Get alias entry corresponding to NAME. */ +extern struct aliasent *getaliasbyname (const char *__name) __THROW; + +/* Get alias entry corresponding to NAME and put it in RESULT_BUF. */ +extern int getaliasbyname_r (const char *__restrict __name, + struct aliasent *__restrict __result_buf, + char *__restrict __buffer, size_t __buflen, + struct aliasent **__restrict __result) __THROW; + +__END_DECLS + +#endif /* aliases.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/alloca.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/alloca.h new file mode 100644 index 00000000..86aaae0e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/alloca.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ALLOCA_H +#define _ALLOCA_H 1 + +#include + +#define __need_size_t +#include + +__BEGIN_DECLS + +/* Remove any previous definition. */ +#undef alloca + +/* Allocate a block that will be freed when the calling function exits. */ +extern void *alloca (size_t __size) __THROW; + +#ifdef __GNUC__ +# define alloca(size) __builtin_alloca (size) +#endif /* GCC. */ + +__END_DECLS + +#endif /* alloca.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ar.h new file mode 100644 index 00000000..b42f96fe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ar.h @@ -0,0 +1,47 @@ +/* Header describing `ar' archive file format. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _AR_H +#define _AR_H 1 + +#include + +/* Archive files start with the ARMAG identifying string. Then follows a + `struct ar_hdr', and as many bytes of member file data as its `ar_size' + member indicates, for each member file. */ + +#define ARMAG "!\n" /* String that begins an archive file. */ +#define SARMAG 8 /* Size of that string. */ + +#define ARFMAG "`\n" /* String in ar_fmag at end of each header. */ + +__BEGIN_DECLS + +struct ar_hdr + { + char ar_name[16]; /* Member file name, sometimes / terminated. */ + char ar_date[12]; /* File date, decimal seconds since Epoch. */ + char ar_uid[6], ar_gid[6]; /* User and group IDs, in ASCII decimal. */ + char ar_mode[8]; /* File mode, in ASCII octal. */ + char ar_size[10]; /* File size, in ASCII decimal. */ + char ar_fmag[2]; /* Always contains ARFMAG. */ + }; + +__END_DECLS + +#endif /* ar.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argp.h new file mode 100644 index 00000000..cd619e4b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argp.h @@ -0,0 +1,564 @@ +/* Hierarchical argument parsing, layered over getopt. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Written by Miles Bader . + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ARGP_H +#define _ARGP_H + +#include +#include +#include +#include +#include + +__BEGIN_DECLS + +/* error_t may or may not be available from errno.h, depending on the + operating system. */ +#ifndef __error_t_defined +# define __error_t_defined 1 +typedef int error_t; +#endif + +/* A description of a particular option. A pointer to an array of + these is passed in the OPTIONS field of an argp structure. Each option + entry can correspond to one long option and/or one short option; more + names for the same option can be added by following an entry in an option + array with options having the OPTION_ALIAS flag set. */ +struct argp_option +{ + /* The long option name. For more than one name for the same option, you + can use following options with the OPTION_ALIAS flag set. */ + const char *name; + + /* What key is returned for this option. If > 0 and printable, then it's + also accepted as a short option. */ + int key; + + /* If non-NULL, this is the name of the argument associated with this + option, which is required unless the OPTION_ARG_OPTIONAL flag is set. */ + const char *arg; + + /* OPTION_ flags. */ + int flags; + + /* The doc string for this option. If both NAME and KEY are 0, This string + will be printed outdented from the normal option column, making it + useful as a group header (it will be the first thing printed in its + group); in this usage, it's conventional to end the string with a `:'. */ + const char *doc; + + /* The group this option is in. In a long help message, options are sorted + alphabetically within each group, and the groups presented in the order + 0, 1, 2, ..., n, -m, ..., -2, -1. Every entry in an options array with + if this field 0 will inherit the group number of the previous entry, or + zero if it's the first one, unless its a group header (NAME and KEY both + 0), in which case, the previous entry + 1 is the default. Automagic + options such as --help are put into group -1. */ + int group; +}; + +/* The argument associated with this option is optional. */ +#define OPTION_ARG_OPTIONAL 0x1 + +/* This option isn't displayed in any help messages. */ +#define OPTION_HIDDEN 0x2 + +/* This option is an alias for the closest previous non-alias option. This + means that it will be displayed in the same help entry, and will inherit + fields other than NAME and KEY from the aliased option. */ +#define OPTION_ALIAS 0x4 + +/* This option isn't actually an option (and so should be ignored by the + actual option parser), but rather an arbitrary piece of documentation that + should be displayed in much the same manner as the options. If this flag + is set, then the option NAME field is displayed unmodified (e.g., no `--' + prefix is added) at the left-margin (where a *short* option would normally + be displayed), and the documentation string in the normal place. For + purposes of sorting, any leading whitespace and punctuation is ignored, + except that if the first non-whitespace character is not `-', this entry + is displayed after all options (and OPTION_DOC entries with a leading `-') + in the same group. */ +#define OPTION_DOC 0x8 + +/* This option shouldn't be included in `long' usage messages (but is still + included in help messages). This is mainly intended for options that are + completely documented in an argp's ARGS_DOC field, in which case including + the option in the generic usage list would be redundant. For instance, + if ARGS_DOC is "FOO BAR\n-x BLAH", and the `-x' option's purpose is to + distinguish these two cases, -x should probably be marked + OPTION_NO_USAGE. */ +#define OPTION_NO_USAGE 0x10 + +struct argp; /* fwd declare this type */ +struct argp_state; /* " */ +struct argp_child; /* " */ + +/* The type of a pointer to an argp parsing function. */ +typedef error_t (*argp_parser_t) (int __key, char *__arg, + struct argp_state *__state); + +/* What to return for unrecognized keys. For special ARGP_KEY_ keys, such + returns will simply be ignored. For user keys, this error will be turned + into EINVAL (if the call to argp_parse is such that errors are propagated + back to the user instead of exiting); returning EINVAL itself would result + in an immediate stop to parsing in *all* cases. */ +#define ARGP_ERR_UNKNOWN E2BIG /* Hurd should never need E2BIG. XXX */ + +/* Special values for the KEY argument to an argument parsing function. + ARGP_ERR_UNKNOWN should be returned if they aren't understood. + + The sequence of keys to a parsing function is either (where each + uppercased word should be prefixed by `ARGP_KEY_' and opt is a user key): + + INIT opt... NO_ARGS END SUCCESS -- No non-option arguments at all + or INIT (opt | ARG)... END SUCCESS -- All non-option args parsed + or INIT (opt | ARG)... SUCCESS -- Some non-option arg unrecognized + + The third case is where every parser returned ARGP_KEY_UNKNOWN for an + argument, in which case parsing stops at that argument (returning the + unparsed arguments to the caller of argp_parse if requested, or stopping + with an error message if not). + + If an error occurs (either detected by argp, or because the parsing + function returned an error value), then the parser is called with + ARGP_KEY_ERROR, and no further calls are made. */ + +/* This is not an option at all, but rather a command line argument. If a + parser receiving this key returns success, the fact is recorded, and the + ARGP_KEY_NO_ARGS case won't be used. HOWEVER, if while processing the + argument, a parser function decrements the NEXT field of the state it's + passed, the option won't be considered processed; this is to allow you to + actually modify the argument (perhaps into an option), and have it + processed again. */ +#define ARGP_KEY_ARG 0 +/* There are remaining arguments not parsed by any parser, which may be found + starting at (STATE->argv + STATE->next). If success is returned, but + STATE->next left untouched, it's assumed that all arguments were consume, + otherwise, the parser should adjust STATE->next to reflect any arguments + consumed. */ +#define ARGP_KEY_ARGS 0x1000006 +/* There are no more command line arguments at all. */ +#define ARGP_KEY_END 0x1000001 +/* Because it's common to want to do some special processing if there aren't + any non-option args, user parsers are called with this key if they didn't + successfully process any non-option arguments. Called just before + ARGP_KEY_END (where more general validity checks on previously parsed + arguments can take place). */ +#define ARGP_KEY_NO_ARGS 0x1000002 +/* Passed in before any parsing is done. Afterwards, the values of each + element of the CHILD_INPUT field, if any, in the state structure is + copied to each child's state to be the initial value of the INPUT field. */ +#define ARGP_KEY_INIT 0x1000003 +/* Use after all other keys, including SUCCESS & END. */ +#define ARGP_KEY_FINI 0x1000007 +/* Passed in when parsing has successfully been completed (even if there are + still arguments remaining). */ +#define ARGP_KEY_SUCCESS 0x1000004 +/* Passed in if an error occurs. */ +#define ARGP_KEY_ERROR 0x1000005 + +/* An argp structure contains a set of options declarations, a function to + deal with parsing one, documentation string, a possible vector of child + argp's, and perhaps a function to filter help output. When actually + parsing options, getopt is called with the union of all the argp + structures chained together through their CHILD pointers, with conflicts + being resolved in favor of the first occurrence in the chain. */ +struct argp +{ + /* An array of argp_option structures, terminated by an entry with both + NAME and KEY having a value of 0. */ + const struct argp_option *options; + + /* What to do with an option from this structure. KEY is the key + associated with the option, and ARG is any associated argument (NULL if + none was supplied). If KEY isn't understood, ARGP_ERR_UNKNOWN should be + returned. If a non-zero, non-ARGP_ERR_UNKNOWN value is returned, then + parsing is stopped immediately, and that value is returned from + argp_parse(). For special (non-user-supplied) values of KEY, see the + ARGP_KEY_ definitions below. */ + argp_parser_t parser; + + /* A string describing what other arguments are wanted by this program. It + is only used by argp_usage to print the `Usage:' message. If it + contains newlines, the strings separated by them are considered + alternative usage patterns, and printed on separate lines (lines after + the first are prefix by ` or: ' instead of `Usage:'). */ + const char *args_doc; + + /* If non-NULL, a string containing extra text to be printed before and + after the options in a long help message (separated by a vertical tab + `\v' character). */ + const char *doc; + + /* A vector of argp_children structures, terminated by a member with a 0 + argp field, pointing to child argps should be parsed with this one. Any + conflicts are resolved in favor of this argp, or early argps in the + CHILDREN list. This field is useful if you use libraries that supply + their own argp structure, which you want to use in conjunction with your + own. */ + const struct argp_child *children; + + /* If non-zero, this should be a function to filter the output of help + messages. KEY is either a key from an option, in which case TEXT is + that option's help text, or a special key from the ARGP_KEY_HELP_ + defines, below, describing which other help text TEXT is. The function + should return either TEXT, if it should be used as-is, a replacement + string, which should be malloced, and will be freed by argp, or NULL, + meaning `print nothing'. The value for TEXT is *after* any translation + has been done, so if any of the replacement text also needs translation, + that should be done by the filter function. INPUT is either the input + supplied to argp_parse, or NULL, if argp_help was called directly. */ + char *(*help_filter) (int __key, const char *__text, void *__input); + + /* If non-zero the strings used in the argp library are translated using + the domain described by this string. Otherwise the currently installed + default domain is used. */ + const char *argp_domain; +}; + +/* Possible KEY arguments to a help filter function. */ +#define ARGP_KEY_HELP_PRE_DOC 0x2000001 /* Help text preceding options. */ +#define ARGP_KEY_HELP_POST_DOC 0x2000002 /* Help text following options. */ +#define ARGP_KEY_HELP_HEADER 0x2000003 /* Option header string. */ +#define ARGP_KEY_HELP_EXTRA 0x2000004 /* After all other documentation; + TEXT is NULL for this key. */ +/* Explanatory note emitted when duplicate option arguments have been + suppressed. */ +#define ARGP_KEY_HELP_DUP_ARGS_NOTE 0x2000005 +#define ARGP_KEY_HELP_ARGS_DOC 0x2000006 /* Argument doc string. */ + +/* When an argp has a non-zero CHILDREN field, it should point to a vector of + argp_child structures, each of which describes a subsidiary argp. */ +struct argp_child +{ + /* The child parser. */ + const struct argp *argp; + + /* Flags for this child. */ + int flags; + + /* If non-zero, an optional header to be printed in help output before the + child options. As a side-effect, a non-zero value forces the child + options to be grouped together; to achieve this effect without actually + printing a header string, use a value of "". */ + const char *header; + + /* Where to group the child options relative to the other (`consolidated') + options in the parent argp; the values are the same as the GROUP field + in argp_option structs, but all child-groupings follow parent options at + a particular group level. If both this field and HEADER are zero, then + they aren't grouped at all, but rather merged with the parent options + (merging the child's grouping levels with the parents). */ + int group; +}; + +/* Parsing state. This is provided to parsing functions called by argp, + which may examine and, as noted, modify fields. */ +struct argp_state +{ + /* The top level ARGP being parsed. */ + const struct argp *root_argp; + + /* The argument vector being parsed. May be modified. */ + int argc; + char **argv; + + /* The index in ARGV of the next arg that to be parsed. May be modified. */ + int next; + + /* The flags supplied to argp_parse. May be modified. */ + unsigned flags; + + /* While calling a parsing function with a key of ARGP_KEY_ARG, this is the + number of the current arg, starting at zero, and incremented after each + such call returns. At all other times, this is the number of such + arguments that have been processed. */ + unsigned arg_num; + + /* If non-zero, the index in ARGV of the first argument following a special + `--' argument (which prevents anything following being interpreted as an + option). Only set once argument parsing has proceeded past this point. */ + int quoted; + + /* An arbitrary pointer passed in from the user. */ + void *input; + /* Values to pass to child parsers. This vector will be the same length as + the number of children for the current parser. */ + void **child_inputs; + + /* For the parser's use. Initialized to 0. */ + void *hook; + + /* The name used when printing messages. This is initialized to ARGV[0], + or PROGRAM_INVOCATION_NAME if that is unavailable. */ + char *name; + + /* Streams used when argp prints something. */ + FILE *err_stream; /* For errors; initialized to stderr. */ + FILE *out_stream; /* For information; initialized to stdout. */ + + void *pstate; /* Private, for use by argp. */ +}; + +/* Flags for argp_parse (note that the defaults are those that are + convenient for program command line parsing): */ + +/* Don't ignore the first element of ARGV. Normally (and always unless + ARGP_NO_ERRS is set) the first element of the argument vector is + skipped for option parsing purposes, as it corresponds to the program name + in a command line. */ +#define ARGP_PARSE_ARGV0 0x01 + +/* Don't print error messages for unknown options to stderr; unless this flag + is set, ARGP_PARSE_ARGV0 is ignored, as ARGV[0] is used as the program + name in the error messages. This flag implies ARGP_NO_EXIT (on the + assumption that silent exiting upon errors is bad behaviour). */ +#define ARGP_NO_ERRS 0x02 + +/* Don't parse any non-option args. Normally non-option args are parsed by + calling the parse functions with a key of ARGP_KEY_ARG, and the actual arg + as the value. Since it's impossible to know which parse function wants to + handle it, each one is called in turn, until one returns 0 or an error + other than ARGP_ERR_UNKNOWN; if an argument is handled by no one, the + argp_parse returns prematurely (but with a return value of 0). If all + args have been parsed without error, all parsing functions are called one + last time with a key of ARGP_KEY_END. This flag needn't normally be set, + as the normal behavior is to stop parsing as soon as some argument can't + be handled. */ +#define ARGP_NO_ARGS 0x04 + +/* Parse options and arguments in the same order they occur on the command + line -- normally they're rearranged so that all options come first. */ +#define ARGP_IN_ORDER 0x08 + +/* Don't provide the standard long option --help, which causes usage and + option help information to be output to stdout, and exit (0) called. */ +#define ARGP_NO_HELP 0x10 + +/* Don't exit on errors (they may still result in error messages). */ +#define ARGP_NO_EXIT 0x20 + +/* Use the gnu getopt `long-only' rules for parsing arguments. */ +#define ARGP_LONG_ONLY 0x40 + +/* Turns off any message-printing/exiting options. */ +#define ARGP_SILENT (ARGP_NO_EXIT | ARGP_NO_ERRS | ARGP_NO_HELP) + +/* Parse the options strings in ARGC & ARGV according to the options in ARGP. + FLAGS is one of the ARGP_ flags above. If ARG_INDEX is non-NULL, the + index in ARGV of the first unparsed option is returned in it. If an + unknown option is present, ARGP_ERR_UNKNOWN is returned; if some parser + routine returned a non-zero value, it is returned; otherwise 0 is + returned. This function may also call exit unless the ARGP_NO_HELP flag + is set. INPUT is a pointer to a value to be passed in to the parser. */ +extern error_t argp_parse (const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, + void *__restrict __input); +extern error_t __argp_parse (const struct argp *__restrict __argp, + int __argc, char **__restrict __argv, + unsigned __flags, int *__restrict __arg_index, + void *__restrict __input); + +/* Global variables. */ + +/* If defined or set by the user program to a non-zero value, then a default + option --version is added (unless the ARGP_NO_HELP flag is used), which + will print this string followed by a newline and exit (unless the + ARGP_NO_EXIT flag is used). Overridden by ARGP_PROGRAM_VERSION_HOOK. */ +extern const char *argp_program_version; + +/* If defined or set by the user program to a non-zero value, then a default + option --version is added (unless the ARGP_NO_HELP flag is used), which + calls this function with a stream to print the version to and a pointer to + the current parsing state, and then exits (unless the ARGP_NO_EXIT flag is + used). This variable takes precedent over ARGP_PROGRAM_VERSION. */ +extern void (*argp_program_version_hook) (FILE *__restrict __stream, + struct argp_state *__restrict + __state); + +/* If defined or set by the user program, it should point to string that is + the bug-reporting address for the program. It will be printed by + argp_help if the ARGP_HELP_BUG_ADDR flag is set (as it is by various + standard help messages), embedded in a sentence that says something like + `Report bugs to ADDR.'. */ +extern const char *argp_program_bug_address; + +/* The exit status that argp will use when exiting due to a parsing error. + If not defined or set by the user program, this defaults to EX_USAGE from + . */ +extern error_t argp_err_exit_status; + +/* Flags for argp_help. */ +#define ARGP_HELP_USAGE 0x01 /* a Usage: message. */ +#define ARGP_HELP_SHORT_USAGE 0x02 /* " but don't actually print options. */ +#define ARGP_HELP_SEE 0x04 /* a `Try ... for more help' message. */ +#define ARGP_HELP_LONG 0x08 /* a long help message. */ +#define ARGP_HELP_PRE_DOC 0x10 /* doc string preceding long help. */ +#define ARGP_HELP_POST_DOC 0x20 /* doc string following long help. */ +#define ARGP_HELP_DOC (ARGP_HELP_PRE_DOC | ARGP_HELP_POST_DOC) +#define ARGP_HELP_BUG_ADDR 0x40 /* bug report address */ +#define ARGP_HELP_LONG_ONLY 0x80 /* modify output appropriately to + reflect ARGP_LONG_ONLY mode. */ + +/* These ARGP_HELP flags are only understood by argp_state_help. */ +#define ARGP_HELP_EXIT_ERR 0x100 /* Call exit(1) instead of returning. */ +#define ARGP_HELP_EXIT_OK 0x200 /* Call exit(0) instead of returning. */ + +/* The standard thing to do after a program command line parsing error, if an + error message has already been printed. */ +#define ARGP_HELP_STD_ERR \ + (ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR) +/* The standard thing to do after a program command line parsing error, if no + more specific error message has been printed. */ +#define ARGP_HELP_STD_USAGE \ + (ARGP_HELP_SHORT_USAGE | ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR) +/* The standard thing to do in response to a --help option. */ +#define ARGP_HELP_STD_HELP \ + (ARGP_HELP_SHORT_USAGE | ARGP_HELP_LONG | ARGP_HELP_EXIT_OK \ + | ARGP_HELP_DOC | ARGP_HELP_BUG_ADDR) + +/* Output a usage message for ARGP to STREAM. FLAGS are from the set + ARGP_HELP_*. */ +extern void argp_help (const struct argp *__restrict __argp, + FILE *__restrict __stream, + unsigned __flags, char *__restrict __name); +extern void __argp_help (const struct argp *__restrict __argp, + FILE *__restrict __stream, unsigned __flags, + char *__name); + +/* The following routines are intended to be called from within an argp + parsing routine (thus taking an argp_state structure as the first + argument). They may or may not print an error message and exit, depending + on the flags in STATE -- in any case, the caller should be prepared for + them *not* to exit, and should return an appropriate error after calling + them. [argp_usage & argp_error should probably be called argp_state_..., + but they're used often enough that they should be short] */ + +/* Output, if appropriate, a usage message for STATE to STREAM. FLAGS are + from the set ARGP_HELP_*. */ +extern void argp_state_help (const struct argp_state *__restrict __state, + FILE *__restrict __stream, + unsigned int __flags); +extern void __argp_state_help (const struct argp_state *__restrict __state, + FILE *__restrict __stream, + unsigned int __flags); + +/* Possibly output the standard usage message for ARGP to stderr and exit. */ +extern void argp_usage (const struct argp_state *__state); +extern void __argp_usage (const struct argp_state *__state); + +/* If appropriate, print the printf string FMT and following args, preceded + by the program name and `:', to stderr, and followed by a `Try ... --help' + message, then exit (1). */ +extern void argp_error (const struct argp_state *__restrict __state, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +extern void __argp_error (const struct argp_state *__restrict __state, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + +/* Similar to the standard gnu error-reporting function error(), but will + respect the ARGP_NO_EXIT and ARGP_NO_ERRS flags in STATE, and will print + to STATE->err_stream. This is useful for argument parsing code that is + shared between program startup (when exiting is desired) and runtime + option parsing (when typically an error code is returned instead). The + difference between this function and argp_error is that the latter is for + *parsing errors*, and the former is for other problems that occur during + parsing but don't reflect a (syntactic) problem with the input. */ +extern void argp_failure (const struct argp_state *__restrict __state, + int __status, int __errnum, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); +extern void __argp_failure (const struct argp_state *__restrict __state, + int __status, int __errnum, + const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 4, 5))); + +/* Returns true if the option OPT is a valid short option. */ +extern int _option_is_short (const struct argp_option *__opt) __THROW; +extern int __option_is_short (const struct argp_option *__opt) __THROW; + +/* Returns true if the option OPT is in fact the last (unused) entry in an + options array. */ +extern int _option_is_end (const struct argp_option *__opt) __THROW; +extern int __option_is_end (const struct argp_option *__opt) __THROW; + +/* Return the input field for ARGP in the parser corresponding to STATE; used + by the help routines. */ +extern void *_argp_input (const struct argp *__restrict __argp, + const struct argp_state *__restrict __state) + __THROW; +extern void *__argp_input (const struct argp *__restrict __argp, + const struct argp_state *__restrict __state) + __THROW; + +#ifdef __USE_EXTERN_INLINES + +# if !(defined _LIBC && _LIBC) +# define __argp_usage argp_usage +# define __argp_state_help argp_state_help +# define __option_is_short _option_is_short +# define __option_is_end _option_is_end +# endif + +# ifndef ARGP_EI +# define ARGP_EI __extern_inline +# endif + +ARGP_EI void +__argp_usage (const struct argp_state *__state) +{ + __argp_state_help (__state, stderr, ARGP_HELP_STD_USAGE); +} + +ARGP_EI int +__NTH (__option_is_short (const struct argp_option *__opt)) +{ + if (__opt->flags & OPTION_DOC) + return 0; + else + { + int __key = __opt->key; + return __key > 0 && __key <= UCHAR_MAX && isprint (__key); + } +} + +ARGP_EI int +__NTH (__option_is_end (const struct argp_option *__opt)) +{ + return !__opt->key && !__opt->name && !__opt->doc && !__opt->group; +} + +# if !(defined _LIBC && _LIBC) +# undef __argp_usage +# undef __argp_state_help +# undef __option_is_short +# undef __option_is_end +# endif +#endif /* Use extern inlines. */ + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +__END_DECLS + +#endif /* argp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argz.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argz.h new file mode 100644 index 00000000..dd137435 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/argz.h @@ -0,0 +1,156 @@ +/* Routines for dealing with '\0' separated arg vectors. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ARGZ_H +#define _ARGZ_H 1 + +#include +#include +#include /* Need size_t, and strchr is called below. */ + +__BEGIN_DECLS + +/* error_t may or may not be available from errno.h, depending on the + operating system. */ +#ifndef __error_t_defined +# define __error_t_defined 1 +typedef int error_t; +#endif + +/* Make a '\0' separated arg vector from a unix argv vector, returning it in + ARGZ, and the total length in LEN. If a memory allocation error occurs, + ENOMEM is returned, otherwise 0. The result can be destroyed using free. */ +extern error_t __argz_create (char *const __argv[], char **__restrict __argz, + size_t *__restrict __len) __THROW; +extern error_t argz_create (char *const __argv[], char **__restrict __argz, + size_t *__restrict __len) __THROW; + +/* Make a '\0' separated arg vector from a SEP separated list in + STRING, returning it in ARGZ, and the total length in LEN. If a + memory allocation error occurs, ENOMEM is returned, otherwise 0. + The result can be destroyed using free. */ +extern error_t argz_create_sep (const char *__restrict __string, + int __sep, char **__restrict __argz, + size_t *__restrict __len) __THROW; + +/* Returns the number of strings in ARGZ. */ +extern size_t __argz_count (const char *__argz, size_t __len) + __THROW __attribute_pure__; +extern size_t argz_count (const char *__argz, size_t __len) + __THROW __attribute_pure__; + +/* Puts pointers to each string in ARGZ into ARGV, which must be large enough + to hold them all. */ +extern void __argz_extract (const char *__restrict __argz, size_t __len, + char **__restrict __argv) __THROW; +extern void argz_extract (const char *__restrict __argz, size_t __len, + char **__restrict __argv) __THROW; + +/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's + except the last into the character SEP. */ +extern void __argz_stringify (char *__argz, size_t __len, int __sep) __THROW; +extern void argz_stringify (char *__argz, size_t __len, int __sep) __THROW; + +/* Append BUF, of length BUF_LEN to the argz vector in ARGZ & ARGZ_LEN. */ +extern error_t argz_append (char **__restrict __argz, + size_t *__restrict __argz_len, + const char *__restrict __buf, size_t __buf_len) + __THROW; + +/* Append STR to the argz vector in ARGZ & ARGZ_LEN. */ +extern error_t argz_add (char **__restrict __argz, + size_t *__restrict __argz_len, + const char *__restrict __str) __THROW; + +/* Append SEP separated list in STRING to the argz vector in ARGZ & + ARGZ_LEN. */ +extern error_t argz_add_sep (char **__restrict __argz, + size_t *__restrict __argz_len, + const char *__restrict __string, int __delim) + __THROW; + +/* Delete ENTRY from ARGZ & ARGZ_LEN, if it appears there. */ +extern void argz_delete (char **__restrict __argz, + size_t *__restrict __argz_len, + char *__restrict __entry) __THROW; + +/* Insert ENTRY into ARGZ & ARGZ_LEN before BEFORE, which should be an + existing entry in ARGZ; if BEFORE is NULL, ENTRY is appended to the end. + Since ARGZ's first entry is the same as ARGZ, argz_insert (ARGZ, ARGZ_LEN, + ARGZ, ENTRY) will insert ENTRY at the beginning of ARGZ. If BEFORE is not + in ARGZ, EINVAL is returned, else if memory can't be allocated for the new + ARGZ, ENOMEM is returned, else 0. */ +extern error_t argz_insert (char **__restrict __argz, + size_t *__restrict __argz_len, + char *__restrict __before, + const char *__restrict __entry) __THROW; + +/* Replace any occurrences of the string STR in ARGZ with WITH, reallocating + ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be + incremented by number of replacements performed. */ +extern error_t argz_replace (char **__restrict __argz, + size_t *__restrict __argz_len, + const char *__restrict __str, + const char *__restrict __with, + unsigned int *__restrict __replace_count); + +/* Returns the next entry in ARGZ & ARGZ_LEN after ENTRY, or NULL if there + are no more. If entry is NULL, then the first entry is returned. This + behavior allows two convenient iteration styles: + + char *entry = 0; + while ((entry = argz_next (argz, argz_len, entry))) + ...; + + or + + char *entry; + for (entry = argz; entry; entry = argz_next (argz, argz_len, entry)) + ...; +*/ +extern char *__argz_next (const char *__restrict __argz, size_t __argz_len, + const char *__restrict __entry) __THROW; +extern char *argz_next (const char *__restrict __argz, size_t __argz_len, + const char *__restrict __entry) __THROW; + +#ifdef __USE_EXTERN_INLINES +__extern_inline char * +__NTH (__argz_next (const char *__argz, size_t __argz_len, + const char *__entry)) +{ + if (__entry) + { + if (__entry < __argz + __argz_len) + __entry = strchr (__entry, '\0') + 1; + + return __entry >= __argz + __argz_len ? (char *) NULL : (char *) __entry; + } + else + return __argz_len > 0 ? (char *) __argz : NULL; +} +__extern_inline char * +__NTH (argz_next (const char *__argz, size_t __argz_len, + const char *__entry)) +{ + return __argz_next (__argz, __argz_len, __entry); +} +#endif /* Use extern inlines. */ + +__END_DECLS + +#endif /* argz.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/ftp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/ftp.h new file mode 100644 index 00000000..47e4fa9e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/ftp.h @@ -0,0 +1,105 @@ +/* + * Copyright (c) 1983, 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ftp.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _ARPA_FTP_H +#define _ARPA_FTP_H 1 + +/* Definitions for FTP; see RFC-765. */ + +/* + * Reply codes. + */ +#define PRELIM 1 /* positive preliminary */ +#define COMPLETE 2 /* positive completion */ +#define CONTINUE 3 /* positive intermediate */ +#define TRANSIENT 4 /* transient negative completion */ +#define ERROR 5 /* permanent negative completion */ + +/* + * Type codes + */ +#define TYPE_A 1 /* ASCII */ +#define TYPE_E 2 /* EBCDIC */ +#define TYPE_I 3 /* image */ +#define TYPE_L 4 /* local byte size */ + +#ifdef FTP_NAMES +char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" }; +#endif + +/* + * Form codes + */ +#define FORM_N 1 /* non-print */ +#define FORM_T 2 /* telnet format effectors */ +#define FORM_C 3 /* carriage control (ASA) */ +#ifdef FTP_NAMES +char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" }; +#endif + +/* + * Structure codes + */ +#define STRU_F 1 /* file (no record structure) */ +#define STRU_R 2 /* record structure */ +#define STRU_P 3 /* page structure */ +#ifdef FTP_NAMES +char *strunames[] = {"0", "File", "Record", "Page" }; +#endif + +/* + * Mode types + */ +#define MODE_S 1 /* stream */ +#define MODE_B 2 /* block */ +#define MODE_C 3 /* compressed */ +#ifdef FTP_NAMES +char *modenames[] = {"0", "Stream", "Block", "Compressed" }; +#endif + +/* + * Record Tokens + */ +#define REC_ESC '\377' /* Record-mode Escape */ +#define REC_EOR '\001' /* Record-mode End-of-Record */ +#define REC_EOF '\002' /* Record-mode End-of-File */ + +/* + * Block Header + */ +#define BLK_EOR 0x80 /* Block is End-of-Record */ +#define BLK_EOF 0x40 /* Block is End-of-File */ +#define BLK_ERRORS 0x20 /* Block is suspected of containing errors */ +#define BLK_RESTART 0x10 /* Block is Restart Marker */ + +#define BLK_BYTECOUNT 2 /* Bytes in this block */ + +#endif /* arpa/ftp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/inet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/inet.h new file mode 100644 index 00000000..8d6490ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/inet.h @@ -0,0 +1,106 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ARPA_INET_H +#define _ARPA_INET_H 1 + +#include +#include /* To define `struct in_addr'. */ + +/* Type for length arguments in socket calls. */ +#ifndef __socklen_t_defined +typedef __socklen_t socklen_t; +# define __socklen_t_defined +#endif + +__BEGIN_DECLS + +/* Convert Internet host address from numbers-and-dots notation in CP + into binary data in network byte order. */ +extern in_addr_t inet_addr (const char *__cp) __THROW; + +/* Return the local host address part of the Internet address in IN. */ +extern in_addr_t inet_lnaof (struct in_addr __in) __THROW; + +/* Make Internet host address in network byte order by combining the + network number NET with the local address HOST. */ +extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host) + __THROW; + +/* Return network number part of the Internet address IN. */ +extern in_addr_t inet_netof (struct in_addr __in) __THROW; + +/* Extract the network number in network byte order from the address + in numbers-and-dots natation starting at CP. */ +extern in_addr_t inet_network (const char *__cp) __THROW; + +/* Convert Internet number in IN to ASCII representation. The return value + is a pointer to an internal array containing the string. */ +extern char *inet_ntoa (struct in_addr __in) __THROW; + +/* Convert from presentation format of an Internet number in buffer + starting at CP to the binary network format and store result for + interface type AF in buffer starting at BUF. */ +extern int inet_pton (int __af, const char *__restrict __cp, + void *__restrict __buf) __THROW; + +/* Convert a Internet address in binary network format for interface + type AF in buffer starting at CP to presentation form and place + result in buffer of length LEN astarting at BUF. */ +extern const char *inet_ntop (int __af, const void *__restrict __cp, + char *__restrict __buf, socklen_t __len) + __THROW; + + +/* The following functions are not part of XNS 5.2. */ +#ifdef __USE_MISC +/* Convert Internet host address from numbers-and-dots notation in CP + into binary data and store the result in the structure INP. */ +extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW; + +/* Format a network number NET into presentation format and place result + in buffer starting at BUF with length of LEN bytes. */ +extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW + __attribute_deprecated_msg__ ("Use inet_ntop instead"); + +/* Convert network number for interface type AF in buffer starting at + CP to presentation format. The result will specify BITS bits of + the number. */ +extern char *inet_net_ntop (int __af, const void *__cp, int __bits, + char *__buf, size_t __len) __THROW; + +/* Convert network number for interface type AF from presentation in + buffer starting at CP to network format and store result int + buffer starting at BUF of size LEN. */ +extern int inet_net_pton (int __af, const char *__cp, + void *__buf, size_t __len) __THROW; + +/* Convert ASCII representation in hexadecimal form of the Internet + address to binary form and place result in buffer of length LEN + starting at BUF. */ +extern unsigned int inet_nsap_addr (const char *__cp, + unsigned char *__buf, int __len) __THROW; + +/* Convert internet address in binary form in LEN bytes starting at CP + a presentation form and place result in BUF. */ +extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp, + char *__buf) __THROW; +#endif + +__END_DECLS + +#endif /* arpa/inet.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser.h new file mode 100644 index 00000000..30fe567c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser.h @@ -0,0 +1,458 @@ +/* + * Copyright (c) 1983, 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") + * Copyright (c) 1996-1999 by Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + */ + +#ifndef _ARPA_NAMESER_H_ +#define _ARPA_NAMESER_H_ + +#include +#include +#include + +#ifdef _LIBC +# define __NAMESER_DEPRECATED +#else +# define __NAMESER_DEPRECATED __attribute_deprecated__ +#endif + +/* + * Define constants based on RFC 883, RFC 1034, RFC 1035 + */ +#define NS_PACKETSZ 512 /*%< default UDP packet size */ +#define NS_MAXDNAME 1025 /*%< maximum domain name */ +#define NS_MAXMSG 65535 /*%< maximum message size */ +#define NS_MAXCDNAME 255 /*%< maximum compressed domain name */ +#define NS_MAXLABEL 63 /*%< maximum length of domain label */ +#define NS_HFIXEDSZ 12 /*%< #/bytes of fixed data in header */ +#define NS_QFIXEDSZ 4 /*%< #/bytes of fixed data in query */ +#define NS_RRFIXEDSZ 10 /*%< #/bytes of fixed data in r record */ +#define NS_INT32SZ 4 /*%< #/bytes of data in a uint32_t */ +#define NS_INT16SZ 2 /*%< #/bytes of data in a uint16_t */ +#define NS_INT8SZ 1 /*%< #/bytes of data in a uint8_t */ +#define NS_INADDRSZ 4 /*%< IPv4 T_A */ +#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */ +#define NS_CMPRSFLGS 0xc0 /*%< Flag bits indicating name compression. */ +#define NS_DEFAULTPORT 53 /*%< For both TCP and UDP. */ +/* + * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord() + * in synch with it. + */ +typedef enum __ns_sect { + ns_s_qd = 0, /*%< Query: Question. */ + ns_s_zn = 0, /*%< Update: Zone. */ + ns_s_an = 1, /*%< Query: Answer. */ + ns_s_pr = 1, /*%< Update: Prerequisites. */ + ns_s_ns = 2, /*%< Query: Name servers. */ + ns_s_ud = 2, /*%< Update: Update. */ + ns_s_ar = 3, /*%< Query|Update: Additional records. */ + ns_s_max = 4 +} ns_sect; + +/*% + * This is a message handle. It is caller allocated and has no dynamic data. + * This structure is intended to be opaque to all but ns_parse.c, thus the + * leading _'s on the member names. Use the accessor functions, not the _'s. + */ +typedef struct __ns_msg { + const unsigned char *_msg, *_eom; + uint16_t _id, _flags, _counts[ns_s_max]; + const unsigned char *_sections[ns_s_max]; + ns_sect _sect; + int _rrnum; + const unsigned char *_msg_ptr; +} ns_msg; + +/* Private data structure - do not use from outside library. */ +struct _ns_flagdata { int mask, shift; }; +extern const struct _ns_flagdata _ns_flagdata[]; + +/* Accessor macros - this is part of the public interface. */ + +#define ns_msg_id(handle) ((handle)._id + 0) +#define ns_msg_base(handle) ((handle)._msg + 0) +#define ns_msg_end(handle) ((handle)._eom + 0) +#define ns_msg_size(handle) ((handle)._eom - (handle)._msg) +#define ns_msg_count(handle, section) ((handle)._counts[section] + 0) + +/*% + * This is a parsed record. It is caller allocated and has no dynamic data. + */ +typedef struct __ns_rr { + char name[NS_MAXDNAME]; + uint16_t type; + uint16_t rr_class; + uint32_t ttl; + uint16_t rdlength; + const unsigned char * rdata; +} ns_rr; + +/* Accessor macros - this is part of the public interface. */ +#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") +#define ns_rr_type(rr) ((ns_type)((rr).type + 0)) +#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0)) +#define ns_rr_ttl(rr) ((rr).ttl + 0) +#define ns_rr_rdlen(rr) ((rr).rdlength + 0) +#define ns_rr_rdata(rr) ((rr).rdata + 0) + +/*% + * These don't have to be in the same order as in the packet flags word, + * and they can even overlap in some cases, but they will need to be kept + * in synch with ns_parse.c:ns_flagdata[]. + */ +typedef enum __ns_flag { + ns_f_qr, /*%< Question/Response. */ + ns_f_opcode, /*%< Operation code. */ + ns_f_aa, /*%< Authoritative Answer. */ + ns_f_tc, /*%< Truncation occurred. */ + ns_f_rd, /*%< Recursion Desired. */ + ns_f_ra, /*%< Recursion Available. */ + ns_f_z, /*%< MBZ. */ + ns_f_ad, /*%< Authentic Data (DNSSEC). */ + ns_f_cd, /*%< Checking Disabled (DNSSEC). */ + ns_f_rcode, /*%< Response code. */ + ns_f_max +} ns_flag; + +/*% + * Currently defined opcodes. + */ +typedef enum __ns_opcode { + ns_o_query = 0, /*%< Standard query. */ + ns_o_iquery = 1, /*%< Inverse query (deprecated/unsupported). */ + ns_o_status = 2, /*%< Name server status query (unsupported). */ + /* Opcode 3 is undefined/reserved. */ + ns_o_notify = 4, /*%< Zone change notification. */ + ns_o_update = 5, /*%< Zone update message. */ + ns_o_max = 6 +} ns_opcode; + +/*% + * Currently defined response codes. + */ +typedef enum __ns_rcode { + ns_r_noerror = 0, /*%< No error occurred. */ + ns_r_formerr = 1, /*%< Format error. */ + ns_r_servfail = 2, /*%< Server failure. */ + ns_r_nxdomain = 3, /*%< Name error. */ + ns_r_notimpl = 4, /*%< Unimplemented. */ + ns_r_refused = 5, /*%< Operation refused. */ + /* these are for BIND_UPDATE */ + ns_r_yxdomain = 6, /*%< Name exists */ + ns_r_yxrrset = 7, /*%< RRset exists */ + ns_r_nxrrset = 8, /*%< RRset does not exist */ + ns_r_notauth = 9, /*%< Not authoritative for zone */ + ns_r_notzone = 10, /*%< Zone of record different from zone section */ + ns_r_max = 11, + /* The following are EDNS extended rcodes */ + ns_r_badvers = 16, + /* The following are TSIG errors */ + ns_r_badsig = 16, + ns_r_badkey = 17, + ns_r_badtime = 18 +} ns_rcode; + +/* BIND_UPDATE */ +typedef enum __ns_update_operation { + ns_uop_delete = 0, + ns_uop_add = 1, + ns_uop_max = 2 +} ns_update_operation; + +/*% + * This structure is used for TSIG authenticated messages + */ +struct ns_tsig_key { + char name[NS_MAXDNAME], alg[NS_MAXDNAME]; + unsigned char *data; + int len; +}; +typedef struct ns_tsig_key ns_tsig_key; + +/*% + * This structure is used for TSIG authenticated TCP messages + */ +struct ns_tcp_tsig_state { + int counter; + struct dst_key *key; + void *ctx; + unsigned char sig[NS_PACKETSZ]; + int siglen; +}; +typedef struct ns_tcp_tsig_state ns_tcp_tsig_state; + +#define NS_TSIG_FUDGE 300 +#define NS_TSIG_TCP_COUNT 100 +#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" + +#define NS_TSIG_ERROR_NO_TSIG -10 +#define NS_TSIG_ERROR_NO_SPACE -11 +#define NS_TSIG_ERROR_FORMERR -12 + +/*% + * Currently defined type values for resources and queries. + */ +typedef enum __ns_type + { + ns_t_invalid = 0, + + ns_t_a = 1, + ns_t_ns = 2, + ns_t_md = 3, + ns_t_mf = 4, + ns_t_cname = 5, + ns_t_soa = 6, + ns_t_mb = 7, + ns_t_mg = 8, + ns_t_mr = 9, + ns_t_null = 10, + ns_t_wks = 11, + ns_t_ptr = 12, + ns_t_hinfo = 13, + ns_t_minfo = 14, + ns_t_mx = 15, + ns_t_txt = 16, + ns_t_rp = 17, + ns_t_afsdb = 18, + ns_t_x25 = 19, + ns_t_isdn = 20, + ns_t_rt = 21, + ns_t_nsap = 22, + ns_t_nsap_ptr = 23, + ns_t_sig = 24, + ns_t_key = 25, + ns_t_px = 26, + ns_t_gpos = 27, + ns_t_aaaa = 28, + ns_t_loc = 29, + ns_t_nxt = 30, + ns_t_eid = 31, + ns_t_nimloc = 32, + ns_t_srv = 33, + ns_t_atma = 34, + ns_t_naptr = 35, + ns_t_kx = 36, + ns_t_cert = 37, + ns_t_a6 = 38, + ns_t_dname = 39, + ns_t_sink = 40, + ns_t_opt = 41, + ns_t_apl = 42, + ns_t_ds = 43, + ns_t_sshfp = 44, + ns_t_ipseckey = 45, + ns_t_rrsig = 46, + ns_t_nsec = 47, + ns_t_dnskey = 48, + ns_t_dhcid = 49, + ns_t_nsec3 = 50, + ns_t_nsec3param = 51, + ns_t_tlsa = 52, + ns_t_smimea = 53, + ns_t_hip = 55, + ns_t_ninfo = 56, + ns_t_rkey = 57, + ns_t_talink = 58, + ns_t_cds = 59, + ns_t_cdnskey = 60, + ns_t_openpgpkey = 61, + ns_t_csync = 62, + ns_t_spf = 99, + ns_t_uinfo = 100, + ns_t_uid = 101, + ns_t_gid = 102, + ns_t_unspec = 103, + ns_t_nid = 104, + ns_t_l32 = 105, + ns_t_l64 = 106, + ns_t_lp = 107, + ns_t_eui48 = 108, + ns_t_eui64 = 109, + ns_t_tkey = 249, + ns_t_tsig = 250, + ns_t_ixfr = 251, + ns_t_axfr = 252, + ns_t_mailb = 253, + ns_t_maila = 254, + ns_t_any = 255, + ns_t_uri = 256, + ns_t_caa = 257, + ns_t_avc = 258, + ns_t_ta = 32768, + ns_t_dlv = 32769, + + ns_t_max = 65536 + } ns_type; + +/*% + * Values for class field + */ +typedef enum __ns_class { + ns_c_invalid = 0, /*%< Cookie. */ + ns_c_in = 1, /*%< Internet. */ + ns_c_2 = 2, /*%< unallocated/unsupported. */ + ns_c_chaos = 3, /*%< MIT Chaos-net. */ + ns_c_hs = 4, /*%< MIT Hesiod. */ + /* Query class values which do not appear in resource records */ + ns_c_none = 254, /*%< for prereq. sections in update requests */ + ns_c_any = 255, /*%< Wildcard match. */ + ns_c_max = 65536 +} ns_class; + +/* Certificate type values in CERT resource records. */ +typedef enum __ns_cert_types { + cert_t_pkix = 1, /*%< PKIX (X.509v3) */ + cert_t_spki = 2, /*%< SPKI */ + cert_t_pgp = 3, /*%< PGP */ + cert_t_url = 253, /*%< URL private type */ + cert_t_oid = 254 /*%< OID private type */ +} ns_cert_types; + +/*% + * EDNS0 extended flags and option codes, host order. + */ +#define NS_OPT_DNSSEC_OK 0x8000U +#define NS_OPT_NSID 3 + +/*% + * Inline versions of get/put short/long. Pointer is advanced. + */ +#define NS_GET16(s, cp) do { \ + const unsigned char *t_cp = (const unsigned char *)(cp); \ + (s) = ((uint16_t)t_cp[0] << 8) \ + | ((uint16_t)t_cp[1]) \ + ; \ + (cp) += NS_INT16SZ; \ +} while (0) + +#define NS_GET32(l, cp) do { \ + const unsigned char *t_cp = (const unsigned char *)(cp); \ + (l) = ((uint32_t)t_cp[0] << 24) \ + | ((uint32_t)t_cp[1] << 16) \ + | ((uint32_t)t_cp[2] << 8) \ + | ((uint32_t)t_cp[3]) \ + ; \ + (cp) += NS_INT32SZ; \ +} while (0) + +#define NS_PUT16(s, cp) do { \ + uint16_t t_s = (uint16_t)(s); \ + unsigned char *t_cp = (unsigned char *)(cp); \ + *t_cp++ = t_s >> 8; \ + *t_cp = t_s; \ + (cp) += NS_INT16SZ; \ +} while (0) + +#define NS_PUT32(l, cp) do { \ + uint32_t t_l = (uint32_t)(l); \ + unsigned char *t_cp = (unsigned char *)(cp); \ + *t_cp++ = t_l >> 24; \ + *t_cp++ = t_l >> 16; \ + *t_cp++ = t_l >> 8; \ + *t_cp = t_l; \ + (cp) += NS_INT32SZ; \ +} while (0) + +__BEGIN_DECLS +int ns_msg_getflag (ns_msg, int) __THROW; +unsigned int ns_get16 (const unsigned char *) __THROW; +unsigned long ns_get32 (const unsigned char *) __THROW; +void ns_put16 (unsigned int, unsigned char *) __THROW; +void ns_put32 (unsigned long, unsigned char *) __THROW; +int ns_initparse (const unsigned char *, int, ns_msg *) __THROW; +int ns_skiprr (const unsigned char *, const unsigned char *, + ns_sect, int) __THROW; +int ns_parserr (ns_msg *, ns_sect, int, ns_rr *) __THROW; +int ns_sprintrr (const ns_msg *, const ns_rr *, + const char *, const char *, char *, size_t) + __THROW __NAMESER_DEPRECATED; +int ns_sprintrrf (const unsigned char *, size_t, const char *, + ns_class, ns_type, unsigned long, + const unsigned char *, size_t, const char *, + const char *, char *, size_t) + __THROW __NAMESER_DEPRECATED; +int ns_format_ttl (unsigned long, char *, size_t) + __THROW __NAMESER_DEPRECATED; +int ns_parse_ttl (const char *, unsigned long *) + __THROW __NAMESER_DEPRECATED; +uint32_t ns_datetosecs (const char *, int *) + __THROW __NAMESER_DEPRECATED; +int ns_name_ntol (const unsigned char *, unsigned char *, size_t) + __THROW; +int ns_name_ntop (const unsigned char *, char *, size_t) __THROW; +int ns_name_pton (const char *, unsigned char *, size_t) __THROW; +int ns_name_unpack (const unsigned char *, const unsigned char *, + const unsigned char *, unsigned char *, size_t) + __THROW; +int ns_name_pack (const unsigned char *, unsigned char *, int, + const unsigned char **, const unsigned char **) + __THROW; +int ns_name_uncompress (const unsigned char *, + const unsigned char *, + const unsigned char *, + char *, size_t) __THROW; +int ns_name_compress (const char *, unsigned char *, size_t, + const unsigned char **, + const unsigned char **) __THROW; +int ns_name_skip (const unsigned char **, const unsigned char *) + __THROW; +void ns_name_rollback (const unsigned char *, + const unsigned char **, + const unsigned char **) __THROW; + +int ns_samedomain (const char *, const char *) __THROW + __NAMESER_DEPRECATED; +int ns_subdomain (const char *, const char *) __THROW + __NAMESER_DEPRECATED; +int ns_makecanon (const char *, char *, size_t) __THROW + __NAMESER_DEPRECATED; +int ns_samename (const char *, const char *) __THROW + __NAMESER_DEPRECATED; +__END_DECLS + +#include + +#endif /* !_ARPA_NAMESER_H_ */ +/*! \file */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser_compat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser_compat.h new file mode 100644 index 00000000..b18c069d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/nameser_compat.h @@ -0,0 +1,221 @@ +/* Copyright (c) 1983, 1989 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _ARPA_NAMESER_COMPAT_ +#define _ARPA_NAMESER_COMPAT_ + +#include + +/*% + * Structure for query header. The order of the fields is machine- and + * compiler-dependent, depending on the byte/bit order and the layout + * of bit fields. We use bit fields only in int variables, as this + * is all ANSI requires. This requires a somewhat confusing rearrangement. + */ + +typedef struct { + unsigned id :16; /*%< query identification number */ +#if __BYTE_ORDER == __BIG_ENDIAN + /* fields in third byte */ + unsigned qr: 1; /*%< response flag */ + unsigned opcode: 4; /*%< purpose of message */ + unsigned aa: 1; /*%< authoritative answer */ + unsigned tc: 1; /*%< truncated message */ + unsigned rd: 1; /*%< recursion desired */ + /* fields in fourth byte */ + unsigned ra: 1; /*%< recursion available */ + unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */ + unsigned ad: 1; /*%< authentic data from named */ + unsigned cd: 1; /*%< checking disabled by resolver */ + unsigned rcode :4; /*%< response code */ +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN || __BYTE_ORDER == __PDP_ENDIAN + /* fields in third byte */ + unsigned rd :1; /*%< recursion desired */ + unsigned tc :1; /*%< truncated message */ + unsigned aa :1; /*%< authoritative answer */ + unsigned opcode :4; /*%< purpose of message */ + unsigned qr :1; /*%< response flag */ + /* fields in fourth byte */ + unsigned rcode :4; /*%< response code */ + unsigned cd: 1; /*%< checking disabled by resolver */ + unsigned ad: 1; /*%< authentic data from named */ + unsigned unused :1; /*%< unused bits (MBZ as of 4.9.3a3) */ + unsigned ra :1; /*%< recursion available */ +#endif + /* remaining bytes */ + unsigned qdcount :16; /*%< number of question entries */ + unsigned ancount :16; /*%< number of answer entries */ + unsigned nscount :16; /*%< number of authority entries */ + unsigned arcount :16; /*%< number of resource entries */ +} HEADER; + +#define PACKETSZ NS_PACKETSZ +#define MAXDNAME NS_MAXDNAME +#define MAXCDNAME NS_MAXCDNAME +#define MAXLABEL NS_MAXLABEL +#define HFIXEDSZ NS_HFIXEDSZ +#define QFIXEDSZ NS_QFIXEDSZ +#define RRFIXEDSZ NS_RRFIXEDSZ +#define INT32SZ NS_INT32SZ +#define INT16SZ NS_INT16SZ +#define INT8SZ NS_INT8SZ +#define INADDRSZ NS_INADDRSZ +#define IN6ADDRSZ NS_IN6ADDRSZ +#define INDIR_MASK NS_CMPRSFLGS +#define NAMESERVER_PORT NS_DEFAULTPORT + +#define S_ZONE ns_s_zn +#define S_PREREQ ns_s_pr +#define S_UPDATE ns_s_ud +#define S_ADDT ns_s_ar + +#define QUERY ns_o_query +#define IQUERY ns_o_iquery +#define STATUS ns_o_status +#define NS_NOTIFY_OP ns_o_notify +#define NS_UPDATE_OP ns_o_update + +#define NOERROR ns_r_noerror +#define FORMERR ns_r_formerr +#define SERVFAIL ns_r_servfail +#define NXDOMAIN ns_r_nxdomain +#define NOTIMP ns_r_notimpl +#define REFUSED ns_r_refused +#define YXDOMAIN ns_r_yxdomain +#define YXRRSET ns_r_yxrrset +#define NXRRSET ns_r_nxrrset +#define NOTAUTH ns_r_notauth +#define NOTZONE ns_r_notzone +/*#define BADSIG ns_r_badsig*/ +/*#define BADKEY ns_r_badkey*/ +/*#define BADTIME ns_r_badtime*/ + + +#define DELETE ns_uop_delete +#define ADD ns_uop_add + +#define T_A ns_t_a +#define T_NS ns_t_ns +#define T_MD ns_t_md +#define T_MF ns_t_mf +#define T_CNAME ns_t_cname +#define T_SOA ns_t_soa +#define T_MB ns_t_mb +#define T_MG ns_t_mg +#define T_MR ns_t_mr +#define T_NULL ns_t_null +#define T_WKS ns_t_wks +#define T_PTR ns_t_ptr +#define T_HINFO ns_t_hinfo +#define T_MINFO ns_t_minfo +#define T_MX ns_t_mx +#define T_TXT ns_t_txt +#define T_RP ns_t_rp +#define T_AFSDB ns_t_afsdb +#define T_X25 ns_t_x25 +#define T_ISDN ns_t_isdn +#define T_RT ns_t_rt +#define T_NSAP ns_t_nsap +#define T_NSAP_PTR ns_t_nsap_ptr +#define T_SIG ns_t_sig +#define T_KEY ns_t_key +#define T_PX ns_t_px +#define T_GPOS ns_t_gpos +#define T_AAAA ns_t_aaaa +#define T_LOC ns_t_loc +#define T_NXT ns_t_nxt +#define T_EID ns_t_eid +#define T_NIMLOC ns_t_nimloc +#define T_SRV ns_t_srv +#define T_ATMA ns_t_atma +#define T_NAPTR ns_t_naptr +#define T_KX ns_t_kx +#define T_CERT ns_t_cert +#define T_A6 ns_t_a6 +#define T_DNAME ns_t_dname +#define T_SINK ns_t_sink +#define T_OPT ns_t_opt +#define T_APL ns_t_apl +#define T_DS ns_t_ds +#define T_SSHFP ns_t_sshfp +#define T_IPSECKEY ns_t_ipseckey +#define T_RRSIG ns_t_rrsig +#define T_NSEC ns_t_nsec +#define T_DNSKEY ns_t_dnskey +#define T_DHCID ns_t_dhcid +#define T_NSEC3 ns_t_nsec3 +#define T_NSEC3PARAM ns_t_nsec3param +#define T_TLSA ns_t_tlsa +#define T_SMIMEA ns_t_smimea +#define T_HIP ns_t_hip +#define T_NINFO ns_t_ninfo +#define T_RKEY ns_t_rkey +#define T_TALINK ns_t_talink +#define T_CDS ns_t_cds +#define T_CDNSKEY ns_t_cdnskey +#define T_OPENPGPKEY ns_t_openpgpkey +#define T_CSYNC ns_t_csync +#define T_SPF ns_t_spf +#define T_UINFO ns_t_uinfo +#define T_UID ns_t_uid +#define T_GID ns_t_gid +#define T_UNSPEC ns_t_unspec +#define T_NID ns_t_nid +#define T_L32 ns_t_l32 +#define T_L64 ns_t_l64 +#define T_LP ns_t_lp +#define T_EUI48 ns_t_eui48 +#define T_EUI64 ns_t_eui64 +#define T_TKEY ns_t_tkey +#define T_TSIG ns_t_tsig +#define T_IXFR ns_t_ixfr +#define T_AXFR ns_t_axfr +#define T_MAILB ns_t_mailb +#define T_MAILA ns_t_maila +#define T_ANY ns_t_any +#define T_URI ns_t_uri +#define T_CAA ns_t_caa +#define T_AVC ns_t_avc +#define T_TA ns_t_ta +#define T_DLV ns_t_dlv + +#define C_IN ns_c_in +#define C_CHAOS ns_c_chaos +#define C_HS ns_c_hs +/* BIND_UPDATE */ +#define C_NONE ns_c_none +#define C_ANY ns_c_any + +#define GETSHORT NS_GET16 +#define GETLONG NS_GET32 +#define PUTSHORT NS_PUT16 +#define PUTLONG NS_PUT32 + +#endif /* _ARPA_NAMESER_COMPAT_ */ +/*! \file */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/telnet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/telnet.h new file mode 100644 index 00000000..ce7f5dab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/telnet.h @@ -0,0 +1,316 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)telnet.h 8.2 (Berkeley) 12/15/93 + */ + +#ifndef _ARPA_TELNET_H +#define _ARPA_TELNET_H 1 + +/* + * Definitions for the TELNET protocol. + */ +#define IAC 255 /* interpret as command: */ +#define DONT 254 /* you are not to use option */ +#define DO 253 /* please, you use option */ +#define WONT 252 /* I won't use option */ +#define WILL 251 /* I will use option */ +#define SB 250 /* interpret as subnegotiation */ +#define GA 249 /* you may reverse the line */ +#define EL 248 /* erase the current line */ +#define EC 247 /* erase the current character */ +#define AYT 246 /* are you there */ +#define AO 245 /* abort output--but let prog finish */ +#define IP 244 /* interrupt process--permanently */ +#define BREAK 243 /* break */ +#define DM 242 /* data mark--for connect. cleaning */ +#define NOP 241 /* nop */ +#define SE 240 /* end sub negotiation */ +#define EOR 239 /* end of record (transparent mode) */ +#define ABORT 238 /* Abort process */ +#define SUSP 237 /* Suspend process */ +#define xEOF 236 /* End of file: EOF is already used... */ + +#define SYNCH 242 /* for telfunc calls */ + +#ifdef TELCMDS +char *telcmds[] = { + "EOF", "SUSP", "ABORT", "EOR", + "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", + "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0, +}; +#else +extern char *telcmds[]; +#endif + +#define TELCMD_FIRST xEOF +#define TELCMD_LAST IAC +#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \ + (unsigned int)(x) >= TELCMD_FIRST) +#define TELCMD(x) telcmds[(x)-TELCMD_FIRST] + +/* telnet options */ +#define TELOPT_BINARY 0 /* 8-bit data path */ +#define TELOPT_ECHO 1 /* echo */ +#define TELOPT_RCP 2 /* prepare to reconnect */ +#define TELOPT_SGA 3 /* suppress go ahead */ +#define TELOPT_NAMS 4 /* approximate message size */ +#define TELOPT_STATUS 5 /* give status */ +#define TELOPT_TM 6 /* timing mark */ +#define TELOPT_RCTE 7 /* remote controlled transmission and echo */ +#define TELOPT_NAOL 8 /* negotiate about output line width */ +#define TELOPT_NAOP 9 /* negotiate about output page size */ +#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */ +#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */ +#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */ +#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */ +#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */ +#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */ +#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */ +#define TELOPT_XASCII 17 /* extended ascii character set */ +#define TELOPT_LOGOUT 18 /* force logout */ +#define TELOPT_BM 19 /* byte macro */ +#define TELOPT_DET 20 /* data entry terminal */ +#define TELOPT_SUPDUP 21 /* supdup protocol */ +#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */ +#define TELOPT_SNDLOC 23 /* send location */ +#define TELOPT_TTYPE 24 /* terminal type */ +#define TELOPT_EOR 25 /* end or record */ +#define TELOPT_TUID 26 /* TACACS user identification */ +#define TELOPT_OUTMRK 27 /* output marking */ +#define TELOPT_TTYLOC 28 /* terminal location number */ +#define TELOPT_3270REGIME 29 /* 3270 regime */ +#define TELOPT_X3PAD 30 /* X.3 PAD */ +#define TELOPT_NAWS 31 /* window size */ +#define TELOPT_TSPEED 32 /* terminal speed */ +#define TELOPT_LFLOW 33 /* remote flow control */ +#define TELOPT_LINEMODE 34 /* Linemode option */ +#define TELOPT_XDISPLOC 35 /* X Display Location */ +#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */ +#define TELOPT_AUTHENTICATION 37/* Authenticate */ +#define TELOPT_ENCRYPT 38 /* Encryption option */ +#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */ +#define TELOPT_EXOPL 255 /* extended-options-list */ + + +#define NTELOPTS (1+TELOPT_NEW_ENVIRON) +#ifdef TELOPTS +char *telopts[NTELOPTS+1] = { + "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", + "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", + "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", + "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", + "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT", + "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", + "TACACS UID", "OUTPUT MARKING", "TTYLOC", + "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW", + "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION", + "ENCRYPT", "NEW-ENVIRON", + 0, +}; +#define TELOPT_FIRST TELOPT_BINARY +#define TELOPT_LAST TELOPT_NEW_ENVIRON +#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST) +#define TELOPT(x) telopts[(x)-TELOPT_FIRST] +#endif + +/* sub-option qualifiers */ +#define TELQUAL_IS 0 /* option is... */ +#define TELQUAL_SEND 1 /* send option */ +#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */ +#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */ +#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */ + +#define LFLOW_OFF 0 /* Disable remote flow control */ +#define LFLOW_ON 1 /* Enable remote flow control */ +#define LFLOW_RESTART_ANY 2 /* Restart output on any char */ +#define LFLOW_RESTART_XON 3 /* Restart output only on XON */ + +/* + * LINEMODE suboptions + */ + +#define LM_MODE 1 +#define LM_FORWARDMASK 2 +#define LM_SLC 3 + +#define MODE_EDIT 0x01 +#define MODE_TRAPSIG 0x02 +#define MODE_ACK 0x04 +#define MODE_SOFT_TAB 0x08 +#define MODE_LIT_ECHO 0x10 + +#define MODE_MASK 0x1f + +/* Not part of protocol, but needed to simplify things... */ +#define MODE_FLOW 0x0100 +#define MODE_ECHO 0x0200 +#define MODE_INBIN 0x0400 +#define MODE_OUTBIN 0x0800 +#define MODE_FORCE 0x1000 + +#define SLC_SYNCH 1 +#define SLC_BRK 2 +#define SLC_IP 3 +#define SLC_AO 4 +#define SLC_AYT 5 +#define SLC_EOR 6 +#define SLC_ABORT 7 +#define SLC_EOF 8 +#define SLC_SUSP 9 +#define SLC_EC 10 +#define SLC_EL 11 +#define SLC_EW 12 +#define SLC_RP 13 +#define SLC_LNEXT 14 +#define SLC_XON 15 +#define SLC_XOFF 16 +#define SLC_FORW1 17 +#define SLC_FORW2 18 + +#define NSLC 18 + +/* + * For backwards compatibility, we define SLC_NAMES to be the + * list of names if SLC_NAMES is not defined. + */ +#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \ + "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \ + "LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0, +#ifdef SLC_NAMES +char *slc_names[] = { + SLC_NAMELIST +}; +#else +extern char *slc_names[]; +#define SLC_NAMES SLC_NAMELIST +#endif + +#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC) +#define SLC_NAME(x) slc_names[x] + +#define SLC_NOSUPPORT 0 +#define SLC_CANTCHANGE 1 +#define SLC_VARIABLE 2 +#define SLC_DEFAULT 3 +#define SLC_LEVELBITS 0x03 + +#define SLC_FUNC 0 +#define SLC_FLAGS 1 +#define SLC_VALUE 2 + +#define SLC_ACK 0x80 +#define SLC_FLUSHIN 0x40 +#define SLC_FLUSHOUT 0x20 + +#define OLD_ENV_VAR 1 +#define OLD_ENV_VALUE 0 +#define NEW_ENV_VAR 0 +#define NEW_ENV_VALUE 1 +#define ENV_ESC 2 +#define ENV_USERVAR 3 + +/* + * AUTHENTICATION suboptions + */ + +/* + * Who is authenticating who ... + */ +#define AUTH_WHO_CLIENT 0 /* Client authenticating server */ +#define AUTH_WHO_SERVER 1 /* Server authenticating client */ +#define AUTH_WHO_MASK 1 + +/* + * amount of authentication done + */ +#define AUTH_HOW_ONE_WAY 0 +#define AUTH_HOW_MUTUAL 2 +#define AUTH_HOW_MASK 2 + +#define AUTHTYPE_NULL 0 +#define AUTHTYPE_KERBEROS_V4 1 +#define AUTHTYPE_KERBEROS_V5 2 +#define AUTHTYPE_SPX 3 +#define AUTHTYPE_MINK 4 +#define AUTHTYPE_CNT 5 + +#define AUTHTYPE_TEST 99 + +#ifdef AUTH_NAMES +char *authtype_names[] = { + "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0, +}; +#else +extern char *authtype_names[]; +#endif + +#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT) +#define AUTHTYPE_NAME(x) authtype_names[x] + +/* + * ENCRYPTion suboptions + */ +#define ENCRYPT_IS 0 /* I pick encryption type ... */ +#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */ +#define ENCRYPT_REPLY 2 /* Initial setup response */ +#define ENCRYPT_START 3 /* Am starting to send encrypted */ +#define ENCRYPT_END 4 /* Am ending encrypted */ +#define ENCRYPT_REQSTART 5 /* Request you start encrypting */ +#define ENCRYPT_REQEND 6 /* Request you send encrypting */ +#define ENCRYPT_ENC_KEYID 7 +#define ENCRYPT_DEC_KEYID 8 +#define ENCRYPT_CNT 9 + +#define ENCTYPE_ANY 0 +#define ENCTYPE_DES_CFB64 1 +#define ENCTYPE_DES_OFB64 2 +#define ENCTYPE_CNT 3 + +#ifdef ENCRYPT_NAMES +char *encrypt_names[] = { + "IS", "SUPPORT", "REPLY", "START", "END", + "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID", + 0, +}; +char *enctype_names[] = { + "ANY", "DES_CFB64", "DES_OFB64", 0, +}; +#else +extern char *encrypt_names[]; +extern char *enctype_names[]; +#endif + + +#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT) +#define ENCRYPT_NAME(x) encrypt_names[x] + +#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT) +#define ENCTYPE_NAME(x) enctype_names[x] + +#endif /* arpa/telnet.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/tftp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/tftp.h new file mode 100644 index 00000000..a2ea3170 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/arpa/tftp.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tftp.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _ARPA_TFTP_H +#define _ARPA_TFTP_H 1 + +/* + * Trivial File Transfer Protocol (IEN-133) + */ +#define SEGSIZE 512 /* data segment size */ + +/* + * Packet types. + */ +#define RRQ 01 /* read request */ +#define WRQ 02 /* write request */ +#define DATA 03 /* data packet */ +#define ACK 04 /* acknowledgement */ +#define ERROR 05 /* error code */ + +struct tftphdr { + short th_opcode; /* packet type */ + union { + char tu_padding[3]; /* sizeof() compat */ + struct { + union { + unsigned short tu_block; /* block # */ + short tu_code; /* error code */ + } __attribute__ ((__packed__)) th_u3; + char tu_data[0]; /* data or error string */ + } __attribute__ ((__packed__)) th_u2; + char tu_stuff[0]; /* request packet stuff */ + } __attribute__ ((__packed__)) th_u1; +} __attribute__ ((__packed__)); + +#define th_block th_u1.th_u2.th_u3.tu_block +#define th_code th_u1.th_u2.th_u3.tu_code +#define th_stuff th_u1.tu_stuff +#define th_data th_u1.th_u2.tu_data +#define th_msg th_u1.th_u2.tu_data + +/* + * Error codes. + */ +#define EUNDEF 0 /* not defined */ +#define ENOTFOUND 1 /* file not found */ +#define EACCESS 2 /* access violation */ +#define ENOSPACE 3 /* disk full or allocation exceeded */ +#define EBADOP 4 /* illegal TFTP operation */ +#define EBADID 5 /* unknown transfer ID */ +#define EEXISTS 6 /* file already exists */ +#define ENOUSER 7 /* no such user */ + +#endif /* arpa/tftp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/assert.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/assert.h new file mode 100644 index 00000000..df877364 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/assert.h @@ -0,0 +1,156 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.2 Diagnostics + */ + +#ifdef _ASSERT_H + +# undef _ASSERT_H +# undef assert +# undef __ASSERT_VOID_CAST + +# ifdef __USE_GNU +# undef assert_perror +# endif + +#endif /* assert.h */ + +#define _ASSERT_H 1 +#include + +#if defined __cplusplus && __GNUC_PREREQ (2,95) +# define __ASSERT_VOID_CAST static_cast +#else +# define __ASSERT_VOID_CAST (void) +#endif + +/* void assert (int expression); + + If NDEBUG is defined, do nothing. + If not, and EXPRESSION is zero, print an error message and abort. */ + +#ifdef NDEBUG + +# define assert(expr) (__ASSERT_VOID_CAST (0)) + +/* void assert_perror (int errnum); + + If NDEBUG is defined, do nothing. If not, and ERRNUM is not zero, print an + error message with the error text for ERRNUM and abort. + (This is a GNU extension.) */ + +# ifdef __USE_GNU +# define assert_perror(errnum) (__ASSERT_VOID_CAST (0)) +# endif + +#else /* Not NDEBUG. */ + +__BEGIN_DECLS + +/* This prints an "Assertion failed" message and aborts. */ +extern void __assert_fail (const char *__assertion, const char *__file, + unsigned int __line, const char *__function) + __THROW __attribute__ ((__noreturn__)) __COLD; + +/* Likewise, but prints the error text for ERRNUM. */ +extern void __assert_perror_fail (int __errnum, const char *__file, + unsigned int __line, const char *__function) + __THROW __attribute__ ((__noreturn__)) __COLD; + + +/* The following is not at all used here but needed for standard + compliance. */ +extern void __assert (const char *__assertion, const char *__file, int __line) + __THROW __attribute__ ((__noreturn__)) __COLD; + + +__END_DECLS + +/* When possible, define assert so that it does not add extra + parentheses around EXPR. Otherwise, those added parentheses would + suppress warnings we'd expect to be detected by gcc's -Wparentheses. */ +# if defined __cplusplus +# if defined __has_builtin +# if __has_builtin (__builtin_FILE) +# define __ASSERT_FILE __builtin_FILE () +# define __ASSERT_LINE __builtin_LINE () +# endif +# endif +# if !defined __ASSERT_FILE +# define __ASSERT_FILE __FILE__ +# define __ASSERT_LINE __LINE__ +# endif +# define assert(expr) \ + (static_cast (expr) \ + ? void (0) \ + : __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \ + __ASSERT_FUNCTION)) +# elif !defined __GNUC__ || defined __STRICT_ANSI__ +# define assert(expr) \ + ((expr) \ + ? __ASSERT_VOID_CAST (0) \ + : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION)) +# else +/* The first occurrence of EXPR is not evaluated due to the sizeof, + but will trigger any pedantic warnings masked by the __extension__ + for the second occurrence. The ternary operator is required to + support function pointers and bit fields in this context, and to + suppress the evaluation of variable length arrays. */ +# define assert(expr) \ + ((void) sizeof ((expr) ? 1 : 0), __extension__ ({ \ + if (expr) \ + ; /* empty */ \ + else \ + __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION); \ + })) +# endif + +# ifdef __USE_GNU +# define assert_perror(errnum) \ + (!(errnum) \ + ? __ASSERT_VOID_CAST (0) \ + : __assert_perror_fail ((errnum), __FILE__, __LINE__, __ASSERT_FUNCTION)) +# endif + +/* Version 2.4 and later of GCC define a magical variable `__PRETTY_FUNCTION__' + which contains the name of the function currently being defined. + This is broken in G++ before version 2.6. + C9x has a similar variable called __func__, but prefer the GCC one since + it demangles C++ function names. */ +# if defined __cplusplus ? __GNUC_PREREQ (2, 6) : __GNUC_PREREQ (2, 4) +# define __ASSERT_FUNCTION __extension__ __PRETTY_FUNCTION__ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __ASSERT_FUNCTION __func__ +# else +# define __ASSERT_FUNCTION ((const char *) 0) +# endif +# endif + +#endif /* NDEBUG. */ + + +#if (defined __USE_ISOC11 \ + && (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) \ + && !defined __cplusplus) +# undef static_assert +# define static_assert _Static_assert +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/a.out.h new file mode 100644 index 00000000..c075e941 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/a.out.h @@ -0,0 +1,7 @@ +#ifndef __A_OUT_GNU_H__ +# error "Never use directly; include instead." +#endif + +/* Signal to users of this header that this architecture really doesn't + support a.out binary format. */ +#define __NO_A_OUT_SUPPORT 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/argp-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/argp-ldbl.h new file mode 100644 index 00000000..4ebf41e0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/argp-ldbl.h @@ -0,0 +1,24 @@ +/* Redirections for argp functions for -mlong-double-64. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ARGP_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (argp_error) +__LDBL_REDIR_DECL (argp_failure) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h new file mode 100644 index 00000000..57e96b70 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/atomic_wide_counter.h @@ -0,0 +1,35 @@ +/* Monotonically increasing wide counters (at least 62 bits). + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_ATOMIC_WIDE_COUNTER_H +#define _BITS_ATOMIC_WIDE_COUNTER_H + +/* Counter that is monotonically increasing (by less than 2**31 per + increment), with a single writer, and an arbitrary number of + readers. */ +typedef union +{ + __extension__ unsigned long long int __value64; + struct + { + unsigned int __low; + unsigned int __high; + } __value32; +} __atomic_wide_counter; + +#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/byteswap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/byteswap.h new file mode 100644 index 00000000..fd956dbd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/byteswap.h @@ -0,0 +1,79 @@ +/* Macros and inline functions to swap the order of bytes in integer values. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H +# error "Never use directly; include instead." +#endif + +#ifndef _BITS_BYTESWAP_H +#define _BITS_BYTESWAP_H 1 + +#include +#include + +/* Swap bytes in 16-bit value. */ +#define __bswap_constant_16(x) \ + ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8))) + +static __inline __uint16_t +__bswap_16 (__uint16_t __bsx) +{ +#if __GNUC_PREREQ (4, 8) + return __builtin_bswap16 (__bsx); +#else + return __bswap_constant_16 (__bsx); +#endif +} + +/* Swap bytes in 32-bit value. */ +#define __bswap_constant_32(x) \ + ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \ + | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24)) + +static __inline __uint32_t +__bswap_32 (__uint32_t __bsx) +{ +#if __GNUC_PREREQ (4, 3) + return __builtin_bswap32 (__bsx); +#else + return __bswap_constant_32 (__bsx); +#endif +} + +/* Swap bytes in 64-bit value. */ +#define __bswap_constant_64(x) \ + ((((x) & 0xff00000000000000ull) >> 56) \ + | (((x) & 0x00ff000000000000ull) >> 40) \ + | (((x) & 0x0000ff0000000000ull) >> 24) \ + | (((x) & 0x000000ff00000000ull) >> 8) \ + | (((x) & 0x00000000ff000000ull) << 8) \ + | (((x) & 0x0000000000ff0000ull) << 24) \ + | (((x) & 0x000000000000ff00ull) << 40) \ + | (((x) & 0x00000000000000ffull) << 56)) + +__extension__ static __inline __uint64_t +__bswap_64 (__uint64_t __bsx) +{ +#if __GNUC_PREREQ (4, 3) + return __builtin_bswap64 (__bsx); +#else + return __bswap_constant_64 (__bsx); +#endif +} + +#endif /* _BITS_BYTESWAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cmathcalls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cmathcalls.h new file mode 100644 index 00000000..8babe1b3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cmathcalls.h @@ -0,0 +1,130 @@ +/* Prototype declarations for complex math functions; + helper file for . + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* NOTE: Because of the special way this file is used by , this + file must NOT be protected from multiple inclusion as header files + usually are. + + This file provides prototype declarations for the math functions. + Most functions are declared using the macro: + + __MATHCALL (NAME, (ARGS...)); + + This means there is a function `NAME' returning `double' and a function + `NAMEf' returning `float'. Each place `_Mdouble_' appears in the + prototype, that is actually `double' in the prototype for `NAME' and + `float' in the prototype for `NAMEf'. Reentrant variant functions are + called `NAME_r' and `NAMEf_r'. + + Functions returning other types like `int' are declared using the macro: + + __MATHDECL (TYPE, NAME, (ARGS...)); + + This is just like __MATHCALL but for a function returning `TYPE' + instead of `_Mdouble_'. In all of these cases, there is still + both a `NAME' and a `NAMEf' that takes `float' arguments. */ + +#ifndef _COMPLEX_H +#error "Never use directly; include instead." +#endif + +#ifndef _Mdouble_complex_ +# define _Mdouble_complex_ _Mdouble_ _Complex +#endif + + +/* Trigonometric functions. */ + +/* Arc cosine of Z. */ +__MATHCALL (cacos, (_Mdouble_complex_ __z)); +/* Arc sine of Z. */ +__MATHCALL (casin, (_Mdouble_complex_ __z)); +/* Arc tangent of Z. */ +__MATHCALL (catan, (_Mdouble_complex_ __z)); + +/* Cosine of Z. */ +__MATHCALL (ccos, (_Mdouble_complex_ __z)); +/* Sine of Z. */ +__MATHCALL (csin, (_Mdouble_complex_ __z)); +/* Tangent of Z. */ +__MATHCALL (ctan, (_Mdouble_complex_ __z)); + + +/* Hyperbolic functions. */ + +/* Hyperbolic arc cosine of Z. */ +__MATHCALL (cacosh, (_Mdouble_complex_ __z)); +/* Hyperbolic arc sine of Z. */ +__MATHCALL (casinh, (_Mdouble_complex_ __z)); +/* Hyperbolic arc tangent of Z. */ +__MATHCALL (catanh, (_Mdouble_complex_ __z)); + +/* Hyperbolic cosine of Z. */ +__MATHCALL (ccosh, (_Mdouble_complex_ __z)); +/* Hyperbolic sine of Z. */ +__MATHCALL (csinh, (_Mdouble_complex_ __z)); +/* Hyperbolic tangent of Z. */ +__MATHCALL (ctanh, (_Mdouble_complex_ __z)); + + +/* Exponential and logarithmic functions. */ + +/* Exponential function of Z. */ +__MATHCALL (cexp, (_Mdouble_complex_ __z)); + +/* Natural logarithm of Z. */ +__MATHCALL (clog, (_Mdouble_complex_ __z)); + +#ifdef __USE_GNU +/* The base 10 logarithm is not defined by the standard but to implement + the standard C++ library it is handy. */ +__MATHCALL (clog10, (_Mdouble_complex_ __z)); +#endif + +/* Power functions. */ + +/* Return X to the Y power. */ +__MATHCALL (cpow, (_Mdouble_complex_ __x, _Mdouble_complex_ __y)); + +/* Return the square root of Z. */ +__MATHCALL (csqrt, (_Mdouble_complex_ __z)); + + +/* Absolute value, conjugates, and projection. */ + +/* Absolute value of Z. */ +__MATHDECL (_Mdouble_,cabs, (_Mdouble_complex_ __z)); + +/* Argument value of Z. */ +__MATHDECL (_Mdouble_,carg, (_Mdouble_complex_ __z)); + +/* Complex conjugate of Z. */ +__MATHCALL (conj, (_Mdouble_complex_ __z)); + +/* Projection of Z onto the Riemann sphere. */ +__MATHCALL (cproj, (_Mdouble_complex_ __z)); + + +/* Decomposing complex values. */ + +/* Imaginary part of Z. */ +__MATHDECL (_Mdouble_,cimag, (_Mdouble_complex_ __z)); + +/* Real part of Z. */ +__MATHDECL (_Mdouble_,creal, (_Mdouble_complex_ __z)); \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/confname.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/confname.h new file mode 100644 index 00000000..c10efca2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/confname.h @@ -0,0 +1,681 @@ +/* `sysconf', `pathconf', and `confstr' NAME values. Generic version. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never use directly; include instead." +#endif + +/* Values for the NAME argument to `pathconf' and `fpathconf'. */ +enum + { + _PC_LINK_MAX, +#define _PC_LINK_MAX _PC_LINK_MAX + _PC_MAX_CANON, +#define _PC_MAX_CANON _PC_MAX_CANON + _PC_MAX_INPUT, +#define _PC_MAX_INPUT _PC_MAX_INPUT + _PC_NAME_MAX, +#define _PC_NAME_MAX _PC_NAME_MAX + _PC_PATH_MAX, +#define _PC_PATH_MAX _PC_PATH_MAX + _PC_PIPE_BUF, +#define _PC_PIPE_BUF _PC_PIPE_BUF + _PC_CHOWN_RESTRICTED, +#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED + _PC_NO_TRUNC, +#define _PC_NO_TRUNC _PC_NO_TRUNC + _PC_VDISABLE, +#define _PC_VDISABLE _PC_VDISABLE + _PC_SYNC_IO, +#define _PC_SYNC_IO _PC_SYNC_IO + _PC_ASYNC_IO, +#define _PC_ASYNC_IO _PC_ASYNC_IO + _PC_PRIO_IO, +#define _PC_PRIO_IO _PC_PRIO_IO + _PC_SOCK_MAXBUF, +#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF + _PC_FILESIZEBITS, +#define _PC_FILESIZEBITS _PC_FILESIZEBITS + _PC_REC_INCR_XFER_SIZE, +#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE + _PC_REC_MAX_XFER_SIZE, +#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE + _PC_REC_MIN_XFER_SIZE, +#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE + _PC_REC_XFER_ALIGN, +#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN + _PC_ALLOC_SIZE_MIN, +#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN + _PC_SYMLINK_MAX, +#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX + _PC_2_SYMLINKS +#define _PC_2_SYMLINKS _PC_2_SYMLINKS + }; + +/* Values for the argument to `sysconf'. */ +enum + { + _SC_ARG_MAX, +#define _SC_ARG_MAX _SC_ARG_MAX + _SC_CHILD_MAX, +#define _SC_CHILD_MAX _SC_CHILD_MAX + _SC_CLK_TCK, +#define _SC_CLK_TCK _SC_CLK_TCK + _SC_NGROUPS_MAX, +#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX + _SC_OPEN_MAX, +#define _SC_OPEN_MAX _SC_OPEN_MAX + _SC_STREAM_MAX, +#define _SC_STREAM_MAX _SC_STREAM_MAX + _SC_TZNAME_MAX, +#define _SC_TZNAME_MAX _SC_TZNAME_MAX + _SC_JOB_CONTROL, +#define _SC_JOB_CONTROL _SC_JOB_CONTROL + _SC_SAVED_IDS, +#define _SC_SAVED_IDS _SC_SAVED_IDS + _SC_REALTIME_SIGNALS, +#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS + _SC_PRIORITY_SCHEDULING, +#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING + _SC_TIMERS, +#define _SC_TIMERS _SC_TIMERS + _SC_ASYNCHRONOUS_IO, +#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO + _SC_PRIORITIZED_IO, +#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO + _SC_SYNCHRONIZED_IO, +#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO + _SC_FSYNC, +#define _SC_FSYNC _SC_FSYNC + _SC_MAPPED_FILES, +#define _SC_MAPPED_FILES _SC_MAPPED_FILES + _SC_MEMLOCK, +#define _SC_MEMLOCK _SC_MEMLOCK + _SC_MEMLOCK_RANGE, +#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE + _SC_MEMORY_PROTECTION, +#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION + _SC_MESSAGE_PASSING, +#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING + _SC_SEMAPHORES, +#define _SC_SEMAPHORES _SC_SEMAPHORES + _SC_SHARED_MEMORY_OBJECTS, +#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS + _SC_AIO_LISTIO_MAX, +#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX + _SC_AIO_MAX, +#define _SC_AIO_MAX _SC_AIO_MAX + _SC_AIO_PRIO_DELTA_MAX, +#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX + _SC_DELAYTIMER_MAX, +#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX + _SC_MQ_OPEN_MAX, +#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX + _SC_MQ_PRIO_MAX, +#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX + _SC_VERSION, +#define _SC_VERSION _SC_VERSION + _SC_PAGESIZE, +#define _SC_PAGESIZE _SC_PAGESIZE +#define _SC_PAGE_SIZE _SC_PAGESIZE + _SC_RTSIG_MAX, +#define _SC_RTSIG_MAX _SC_RTSIG_MAX + _SC_SEM_NSEMS_MAX, +#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX + _SC_SEM_VALUE_MAX, +#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX + _SC_SIGQUEUE_MAX, +#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX + _SC_TIMER_MAX, +#define _SC_TIMER_MAX _SC_TIMER_MAX + + /* Values for the argument to `sysconf' + corresponding to _POSIX2_* symbols. */ + _SC_BC_BASE_MAX, +#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX + _SC_BC_DIM_MAX, +#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX + _SC_BC_SCALE_MAX, +#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX + _SC_BC_STRING_MAX, +#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX + _SC_COLL_WEIGHTS_MAX, +#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX + _SC_EQUIV_CLASS_MAX, +#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX + _SC_EXPR_NEST_MAX, +#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX + _SC_LINE_MAX, +#define _SC_LINE_MAX _SC_LINE_MAX + _SC_RE_DUP_MAX, +#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX + _SC_CHARCLASS_NAME_MAX, +#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX + + _SC_2_VERSION, +#define _SC_2_VERSION _SC_2_VERSION + _SC_2_C_BIND, +#define _SC_2_C_BIND _SC_2_C_BIND + _SC_2_C_DEV, +#define _SC_2_C_DEV _SC_2_C_DEV + _SC_2_FORT_DEV, +#define _SC_2_FORT_DEV _SC_2_FORT_DEV + _SC_2_FORT_RUN, +#define _SC_2_FORT_RUN _SC_2_FORT_RUN + _SC_2_SW_DEV, +#define _SC_2_SW_DEV _SC_2_SW_DEV + _SC_2_LOCALEDEF, +#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF + + _SC_PII, +#define _SC_PII _SC_PII + _SC_PII_XTI, +#define _SC_PII_XTI _SC_PII_XTI + _SC_PII_SOCKET, +#define _SC_PII_SOCKET _SC_PII_SOCKET + _SC_PII_INTERNET, +#define _SC_PII_INTERNET _SC_PII_INTERNET + _SC_PII_OSI, +#define _SC_PII_OSI _SC_PII_OSI + _SC_POLL, +#define _SC_POLL _SC_POLL + _SC_SELECT, +#define _SC_SELECT _SC_SELECT + _SC_UIO_MAXIOV, +#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV + _SC_IOV_MAX = _SC_UIO_MAXIOV, +#define _SC_IOV_MAX _SC_IOV_MAX + _SC_PII_INTERNET_STREAM, +#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM + _SC_PII_INTERNET_DGRAM, +#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM + _SC_PII_OSI_COTS, +#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS + _SC_PII_OSI_CLTS, +#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS + _SC_PII_OSI_M, +#define _SC_PII_OSI_M _SC_PII_OSI_M + _SC_T_IOV_MAX, +#define _SC_T_IOV_MAX _SC_T_IOV_MAX + + /* Values according to POSIX 1003.1c (POSIX threads). */ + _SC_THREADS, +#define _SC_THREADS _SC_THREADS + _SC_THREAD_SAFE_FUNCTIONS, +#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS + _SC_GETGR_R_SIZE_MAX, +#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX + _SC_GETPW_R_SIZE_MAX, +#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX + _SC_LOGIN_NAME_MAX, +#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX + _SC_TTY_NAME_MAX, +#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX + _SC_THREAD_DESTRUCTOR_ITERATIONS, +#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS + _SC_THREAD_KEYS_MAX, +#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX + _SC_THREAD_STACK_MIN, +#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN + _SC_THREAD_THREADS_MAX, +#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX + _SC_THREAD_ATTR_STACKADDR, +#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR + _SC_THREAD_ATTR_STACKSIZE, +#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE + _SC_THREAD_PRIORITY_SCHEDULING, +#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING + _SC_THREAD_PRIO_INHERIT, +#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT + _SC_THREAD_PRIO_PROTECT, +#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT + _SC_THREAD_PROCESS_SHARED, +#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED + + _SC_NPROCESSORS_CONF, +#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF + _SC_NPROCESSORS_ONLN, +#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN + _SC_PHYS_PAGES, +#define _SC_PHYS_PAGES _SC_PHYS_PAGES + _SC_AVPHYS_PAGES, +#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES + _SC_ATEXIT_MAX, +#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX + _SC_PASS_MAX, +#define _SC_PASS_MAX _SC_PASS_MAX + + _SC_XOPEN_VERSION, +#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION + _SC_XOPEN_XCU_VERSION, +#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION + _SC_XOPEN_UNIX, +#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX + _SC_XOPEN_CRYPT, +#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT + _SC_XOPEN_ENH_I18N, +#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N + _SC_XOPEN_SHM, +#define _SC_XOPEN_SHM _SC_XOPEN_SHM + + _SC_2_CHAR_TERM, +#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM + _SC_2_C_VERSION, +#define _SC_2_C_VERSION _SC_2_C_VERSION + _SC_2_UPE, +#define _SC_2_UPE _SC_2_UPE + + _SC_XOPEN_XPG2, +#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2 + _SC_XOPEN_XPG3, +#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3 + _SC_XOPEN_XPG4, +#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4 + + _SC_CHAR_BIT, +#define _SC_CHAR_BIT _SC_CHAR_BIT + _SC_CHAR_MAX, +#define _SC_CHAR_MAX _SC_CHAR_MAX + _SC_CHAR_MIN, +#define _SC_CHAR_MIN _SC_CHAR_MIN + _SC_INT_MAX, +#define _SC_INT_MAX _SC_INT_MAX + _SC_INT_MIN, +#define _SC_INT_MIN _SC_INT_MIN + _SC_LONG_BIT, +#define _SC_LONG_BIT _SC_LONG_BIT + _SC_WORD_BIT, +#define _SC_WORD_BIT _SC_WORD_BIT + _SC_MB_LEN_MAX, +#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX + _SC_NZERO, +#define _SC_NZERO _SC_NZERO + _SC_SSIZE_MAX, +#define _SC_SSIZE_MAX _SC_SSIZE_MAX + _SC_SCHAR_MAX, +#define _SC_SCHAR_MAX _SC_SCHAR_MAX + _SC_SCHAR_MIN, +#define _SC_SCHAR_MIN _SC_SCHAR_MIN + _SC_SHRT_MAX, +#define _SC_SHRT_MAX _SC_SHRT_MAX + _SC_SHRT_MIN, +#define _SC_SHRT_MIN _SC_SHRT_MIN + _SC_UCHAR_MAX, +#define _SC_UCHAR_MAX _SC_UCHAR_MAX + _SC_UINT_MAX, +#define _SC_UINT_MAX _SC_UINT_MAX + _SC_ULONG_MAX, +#define _SC_ULONG_MAX _SC_ULONG_MAX + _SC_USHRT_MAX, +#define _SC_USHRT_MAX _SC_USHRT_MAX + + _SC_NL_ARGMAX, +#define _SC_NL_ARGMAX _SC_NL_ARGMAX + _SC_NL_LANGMAX, +#define _SC_NL_LANGMAX _SC_NL_LANGMAX + _SC_NL_MSGMAX, +#define _SC_NL_MSGMAX _SC_NL_MSGMAX + _SC_NL_NMAX, +#define _SC_NL_NMAX _SC_NL_NMAX + _SC_NL_SETMAX, +#define _SC_NL_SETMAX _SC_NL_SETMAX + _SC_NL_TEXTMAX, +#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX + + _SC_XBS5_ILP32_OFF32, +#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32 + _SC_XBS5_ILP32_OFFBIG, +#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG + _SC_XBS5_LP64_OFF64, +#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64 + _SC_XBS5_LPBIG_OFFBIG, +#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG + + _SC_XOPEN_LEGACY, +#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY + _SC_XOPEN_REALTIME, +#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME + _SC_XOPEN_REALTIME_THREADS, +#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS + + _SC_ADVISORY_INFO, +#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO + _SC_BARRIERS, +#define _SC_BARRIERS _SC_BARRIERS + _SC_BASE, +#define _SC_BASE _SC_BASE + _SC_C_LANG_SUPPORT, +#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT + _SC_C_LANG_SUPPORT_R, +#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R + _SC_CLOCK_SELECTION, +#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION + _SC_CPUTIME, +#define _SC_CPUTIME _SC_CPUTIME + _SC_THREAD_CPUTIME, +#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME + _SC_DEVICE_IO, +#define _SC_DEVICE_IO _SC_DEVICE_IO + _SC_DEVICE_SPECIFIC, +#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC + _SC_DEVICE_SPECIFIC_R, +#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R + _SC_FD_MGMT, +#define _SC_FD_MGMT _SC_FD_MGMT + _SC_FIFO, +#define _SC_FIFO _SC_FIFO + _SC_PIPE, +#define _SC_PIPE _SC_PIPE + _SC_FILE_ATTRIBUTES, +#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES + _SC_FILE_LOCKING, +#define _SC_FILE_LOCKING _SC_FILE_LOCKING + _SC_FILE_SYSTEM, +#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM + _SC_MONOTONIC_CLOCK, +#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK + _SC_MULTI_PROCESS, +#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS + _SC_SINGLE_PROCESS, +#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS + _SC_NETWORKING, +#define _SC_NETWORKING _SC_NETWORKING + _SC_READER_WRITER_LOCKS, +#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS + _SC_SPIN_LOCKS, +#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS + _SC_REGEXP, +#define _SC_REGEXP _SC_REGEXP + _SC_REGEX_VERSION, +#define _SC_REGEX_VERSION _SC_REGEX_VERSION + _SC_SHELL, +#define _SC_SHELL _SC_SHELL + _SC_SIGNALS, +#define _SC_SIGNALS _SC_SIGNALS + _SC_SPAWN, +#define _SC_SPAWN _SC_SPAWN + _SC_SPORADIC_SERVER, +#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER + _SC_THREAD_SPORADIC_SERVER, +#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER + _SC_SYSTEM_DATABASE, +#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE + _SC_SYSTEM_DATABASE_R, +#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R + _SC_TIMEOUTS, +#define _SC_TIMEOUTS _SC_TIMEOUTS + _SC_TYPED_MEMORY_OBJECTS, +#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS + _SC_USER_GROUPS, +#define _SC_USER_GROUPS _SC_USER_GROUPS + _SC_USER_GROUPS_R, +#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R + _SC_2_PBS, +#define _SC_2_PBS _SC_2_PBS + _SC_2_PBS_ACCOUNTING, +#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING + _SC_2_PBS_LOCATE, +#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE + _SC_2_PBS_MESSAGE, +#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE + _SC_2_PBS_TRACK, +#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK + _SC_SYMLOOP_MAX, +#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX + _SC_STREAMS, +#define _SC_STREAMS _SC_STREAMS + _SC_2_PBS_CHECKPOINT, +#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT + + _SC_V6_ILP32_OFF32, +#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32 + _SC_V6_ILP32_OFFBIG, +#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG + _SC_V6_LP64_OFF64, +#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64 + _SC_V6_LPBIG_OFFBIG, +#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG + + _SC_HOST_NAME_MAX, +#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX + _SC_TRACE, +#define _SC_TRACE _SC_TRACE + _SC_TRACE_EVENT_FILTER, +#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER + _SC_TRACE_INHERIT, +#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT + _SC_TRACE_LOG, +#define _SC_TRACE_LOG _SC_TRACE_LOG + + _SC_LEVEL1_ICACHE_SIZE, +#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE + _SC_LEVEL1_ICACHE_ASSOC, +#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC + _SC_LEVEL1_ICACHE_LINESIZE, +#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE + _SC_LEVEL1_DCACHE_SIZE, +#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE + _SC_LEVEL1_DCACHE_ASSOC, +#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC + _SC_LEVEL1_DCACHE_LINESIZE, +#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE + _SC_LEVEL2_CACHE_SIZE, +#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE + _SC_LEVEL2_CACHE_ASSOC, +#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC + _SC_LEVEL2_CACHE_LINESIZE, +#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE + _SC_LEVEL3_CACHE_SIZE, +#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE + _SC_LEVEL3_CACHE_ASSOC, +#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC + _SC_LEVEL3_CACHE_LINESIZE, +#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE + _SC_LEVEL4_CACHE_SIZE, +#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE + _SC_LEVEL4_CACHE_ASSOC, +#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC + _SC_LEVEL4_CACHE_LINESIZE, +#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE + /* Leave room here, maybe we need a few more cache levels some day. */ + + _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, +#define _SC_IPV6 _SC_IPV6 + _SC_RAW_SOCKETS, +#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS + + _SC_V7_ILP32_OFF32, +#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32 + _SC_V7_ILP32_OFFBIG, +#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG + _SC_V7_LP64_OFF64, +#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64 + _SC_V7_LPBIG_OFFBIG, +#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG + + _SC_SS_REPL_MAX, +#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX + + _SC_TRACE_EVENT_NAME_MAX, +#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX + _SC_TRACE_NAME_MAX, +#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX + _SC_TRACE_SYS_MAX, +#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX + _SC_TRACE_USER_EVENT_MAX, +#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX + + _SC_XOPEN_STREAMS, +#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS + + _SC_THREAD_ROBUST_PRIO_INHERIT, +#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT + _SC_THREAD_ROBUST_PRIO_PROTECT, +#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT + + _SC_MINSIGSTKSZ, +#define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ + + _SC_SIGSTKSZ +#define _SC_SIGSTKSZ _SC_SIGSTKSZ + }; + +/* Values for the NAME argument to `confstr'. */ +enum + { + _CS_PATH, /* The default search path. */ +#define _CS_PATH _CS_PATH + + _CS_V6_WIDTH_RESTRICTED_ENVS, +#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS +#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS + + _CS_GNU_LIBC_VERSION, +#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION + _CS_GNU_LIBPTHREAD_VERSION, +#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION + + _CS_V5_WIDTH_RESTRICTED_ENVS, +#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS +#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS + + _CS_V7_WIDTH_RESTRICTED_ENVS, +#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS +#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS + + _CS_LFS_CFLAGS = 1000, +#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS + _CS_LFS_LDFLAGS, +#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS + _CS_LFS_LIBS, +#define _CS_LFS_LIBS _CS_LFS_LIBS + _CS_LFS_LINTFLAGS, +#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS + _CS_LFS64_CFLAGS, +#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS + _CS_LFS64_LDFLAGS, +#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS + _CS_LFS64_LIBS, +#define _CS_LFS64_LIBS _CS_LFS64_LIBS + _CS_LFS64_LINTFLAGS, +#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS + + _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, +#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS + _CS_XBS5_ILP32_OFF32_LDFLAGS, +#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS + _CS_XBS5_ILP32_OFF32_LIBS, +#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS + _CS_XBS5_ILP32_OFF32_LINTFLAGS, +#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS + _CS_XBS5_ILP32_OFFBIG_CFLAGS, +#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS + _CS_XBS5_ILP32_OFFBIG_LDFLAGS, +#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS + _CS_XBS5_ILP32_OFFBIG_LIBS, +#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS + _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, +#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS + _CS_XBS5_LP64_OFF64_CFLAGS, +#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS + _CS_XBS5_LP64_OFF64_LDFLAGS, +#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS + _CS_XBS5_LP64_OFF64_LIBS, +#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS + _CS_XBS5_LP64_OFF64_LINTFLAGS, +#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS + _CS_XBS5_LPBIG_OFFBIG_CFLAGS, +#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS + _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, +#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS + _CS_XBS5_LPBIG_OFFBIG_LIBS, +#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, +#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS + + _CS_POSIX_V6_ILP32_OFF32_CFLAGS, +#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS + _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, +#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS + _CS_POSIX_V6_ILP32_OFF32_LIBS, +#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS + _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, +#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS + _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, +#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS + _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, +#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS + _CS_POSIX_V6_ILP32_OFFBIG_LIBS, +#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS + _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, +#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS + _CS_POSIX_V6_LP64_OFF64_CFLAGS, +#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS + _CS_POSIX_V6_LP64_OFF64_LDFLAGS, +#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS + _CS_POSIX_V6_LP64_OFF64_LIBS, +#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS + _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, +#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS + _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, +#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS + _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, +#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS + _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, +#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS + _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, +#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS + + _CS_POSIX_V7_ILP32_OFF32_CFLAGS, +#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS + _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, +#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS + _CS_POSIX_V7_ILP32_OFF32_LIBS, +#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS + _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, +#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS + _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, +#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS + _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, +#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS + _CS_POSIX_V7_ILP32_OFFBIG_LIBS, +#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS + _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, +#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS + _CS_POSIX_V7_LP64_OFF64_CFLAGS, +#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS + _CS_POSIX_V7_LP64_OFF64_LDFLAGS, +#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS + _CS_POSIX_V7_LP64_OFF64_LIBS, +#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS + _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, +#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS + _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, +#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS + _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, +#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS + _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, +#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS + _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, +#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS + + _CS_V6_ENV, +#define _CS_V6_ENV _CS_V6_ENV + _CS_V7_ENV +#define _CS_V7_ENV _CS_V7_ENV + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cpu-set.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cpu-set.h new file mode 100644 index 00000000..b7db5705 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/cpu-set.h @@ -0,0 +1,124 @@ +/* Definition of the cpu_set_t structure used by the POSIX 1003.1b-1993 + scheduling interface. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_CPU_SET_H +#define _BITS_CPU_SET_H 1 + +#ifndef _SCHED_H +# error "Never include directly; use instead." +#endif + +/* Size definition for CPU sets. */ +#define __CPU_SETSIZE 1024 +#define __NCPUBITS (8 * sizeof (__cpu_mask)) + +/* Type for array elements in 'cpu_set_t'. */ +typedef __CPU_MASK_TYPE __cpu_mask; + +/* Basic access functions. */ +#define __CPUELT(cpu) ((cpu) / __NCPUBITS) +#define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS)) + +/* Data structure to describe CPU mask. */ +typedef struct +{ + __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS]; +} cpu_set_t; + +/* Access functions for CPU masks. */ +#if __GNUC_PREREQ (2, 91) +# define __CPU_ZERO_S(setsize, cpusetp) \ + do __builtin_memset (cpusetp, '\0', setsize); while (0) +#else +# define __CPU_ZERO_S(setsize, cpusetp) \ + do { \ + size_t __i; \ + size_t __imax = (setsize) / sizeof (__cpu_mask); \ + __cpu_mask *__bits = (cpusetp)->__bits; \ + for (__i = 0; __i < __imax; ++__i) \ + __bits[__i] = 0; \ + } while (0) +#endif +#define __CPU_SET_S(cpu, setsize, cpusetp) \ + (__extension__ \ + ({ size_t __cpu = (cpu); \ + __cpu / 8 < (setsize) \ + ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ + |= __CPUMASK (__cpu)) \ + : 0; })) +#define __CPU_CLR_S(cpu, setsize, cpusetp) \ + (__extension__ \ + ({ size_t __cpu = (cpu); \ + __cpu / 8 < (setsize) \ + ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ + &= ~__CPUMASK (__cpu)) \ + : 0; })) +#define __CPU_ISSET_S(cpu, setsize, cpusetp) \ + (__extension__ \ + ({ size_t __cpu = (cpu); \ + __cpu / 8 < (setsize) \ + ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] \ + & __CPUMASK (__cpu))) != 0 \ + : 0; })) + +#define __CPU_COUNT_S(setsize, cpusetp) \ + __sched_cpucount (setsize, cpusetp) + +#if __GNUC_PREREQ (2, 91) +# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ + (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0) +#else +# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ + (__extension__ \ + ({ const __cpu_mask *__arr1 = (cpusetp1)->__bits; \ + const __cpu_mask *__arr2 = (cpusetp2)->__bits; \ + size_t __imax = (setsize) / sizeof (__cpu_mask); \ + size_t __i; \ + for (__i = 0; __i < __imax; ++__i) \ + if (__arr1[__i] != __arr2[__i]) \ + break; \ + __i == __imax; })) +#endif + +#define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \ + (__extension__ \ + ({ cpu_set_t *__dest = (destset); \ + const __cpu_mask *__arr1 = (srcset1)->__bits; \ + const __cpu_mask *__arr2 = (srcset2)->__bits; \ + size_t __imax = (setsize) / sizeof (__cpu_mask); \ + size_t __i; \ + for (__i = 0; __i < __imax; ++__i) \ + ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; \ + __dest; })) + +#define __CPU_ALLOC_SIZE(count) \ + ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask)) +#define __CPU_ALLOC(count) __sched_cpualloc (count) +#define __CPU_FREE(cpuset) __sched_cpufree (cpuset) + +__BEGIN_DECLS + +extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) + __THROW; +extern cpu_set_t *__sched_cpualloc (size_t __count) __THROW __wur; +extern void __sched_cpufree (cpu_set_t *__set) __THROW; + +__END_DECLS + +#endif /* bits/cpu-set.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent.h new file mode 100644 index 00000000..149dce42 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent.h @@ -0,0 +1,59 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DIRENT_H +# error "Never use directly; include instead." +#endif + +struct dirent + { +#ifndef __USE_FILE_OFFSET64 + __ino_t d_ino; + __off_t d_off; +#else + __ino64_t d_ino; + __off64_t d_off; +#endif + unsigned short int d_reclen; + unsigned char d_type; + char d_name[256]; /* We must not include limits.h! */ + }; + +#ifdef __USE_LARGEFILE64 +struct dirent64 + { + __ino64_t d_ino; + __off64_t d_off; + unsigned short int d_reclen; + unsigned char d_type; + char d_name[256]; /* We must not include limits.h! */ + }; +#endif + +#define d_fileno d_ino /* Backwards compatibility. */ + +#undef _DIRENT_HAVE_D_NAMLEN +#define _DIRENT_HAVE_D_RECLEN +#define _DIRENT_HAVE_D_OFF +#define _DIRENT_HAVE_D_TYPE + +#if defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T +/* Inform libc code that these two types are effectively identical. */ +# define _DIRENT_MATCHES_DIRENT64 1 +#else +# define _DIRENT_MATCHES_DIRENT64 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent_ext.h new file mode 100644 index 00000000..34b94722 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dirent_ext.h @@ -0,0 +1,33 @@ +/* System-specific extensions of . Linux version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DIRENT_H +# error "Never include directly; use instead." +#endif + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Read from the directory descriptor FD into LENGTH bytes at BUFFER. + Return the number of bytes read on success (0 for end of + directory), and -1 for failure. */ +extern __ssize_t getdents64 (int __fd, void *__buffer, size_t __length) + __THROW __nonnull ((2)); +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dl_find_object.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dl_find_object.h new file mode 100644 index 00000000..8bade100 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dl_find_object.h @@ -0,0 +1,32 @@ +/* System dependent definitions for finding objects by address. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* This implementation does not have a dlfo_eh_dbase member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_DBASE 0 + +/* This implementation does not have a dlfo_eh_count member in struct + dl_find_object. */ +#define DLFO_STRUCT_HAS_EH_COUNT 0 + +/* The ELF segment which contains the exception handling data. */ +#define DLFO_EH_SEGMENT_TYPE PT_GNU_EH_FRAME \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dlfcn.h new file mode 100644 index 00000000..c45163e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x00001 /* Lazy function call binding. */ +#define RTLD_NOW 0x00002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00004 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00008 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x00100 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/elfclass.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/elfclass.h new file mode 100644 index 00000000..f4745263 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/elfclass.h @@ -0,0 +1,14 @@ +/* This file specifies the native word size of the machine, which indicates + the ELF file class used for executables and shared objects on this + machine. */ + +#ifndef _LINK_H +# error "Never use directly; include instead." +#endif + +#include + +#define __ELF_NATIVE_CLASS __WORDSIZE + +/* The entries in the .hash table always have a size of 32 bits. */ +typedef uint32_t Elf_Symndx; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endian.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endian.h new file mode 100644 index 00000000..871f16a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endian.h @@ -0,0 +1,49 @@ +/* Endian macros for string.h functions + Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_ENDIAN_H +#define _BITS_ENDIAN_H 1 + +/* Definitions for byte order, according to significance of bytes, + from low addresses to high addresses. The value is what you get by + putting '4' in the most significant byte, '3' in the second most + significant byte, '2' in the second least significant byte, and '1' + in the least significant byte, and then writing down one digit for + each byte, starting with the byte at the lowest address at the left, + and proceeding to the byte with the highest address at the right. */ + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __PDP_ENDIAN 3412 + +/* This file defines `__BYTE_ORDER' for the particular machine. */ +#include + +/* Some machines may need to use a different endianness for floating point + values. */ +#ifndef __FLOAT_WORD_ORDER +# define __FLOAT_WORD_ORDER __BYTE_ORDER +#endif + +#if __BYTE_ORDER == __LITTLE_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) LO, HI +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __LONG_LONG_PAIR(HI, LO) HI, LO +#endif + +#endif /* bits/endian.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endianness.h new file mode 100644 index 00000000..5a0a8714 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* MIPS has selectable endianness. */ +#ifdef __MIPSEB +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#ifdef __MIPSEL +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/environments.h new file mode 100644 index 00000000..bbc4956f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/environments.h @@ -0,0 +1,87 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V7_ILP32_OFFBIG -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFFBIG -1 +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* We can never provide environments with 64-bit wide pointers. */ +# define _POSIX_V7_LP64_OFF64 -1 +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LP64_OFF64 -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* CFLAGS. */ +#define __ILP32_OFFBIG_CFLAGS "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" + +#endif /* __WORDSIZE == 32 */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/epoll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/epoll.h new file mode 100644 index 00000000..ced9da19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/epoll.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EPOLL_H +# error "Never use directly; include instead." +#endif + +/* Flags to be passed to epoll_create1. */ +enum + { + EPOLL_CLOEXEC = 02000000 +#define EPOLL_CLOEXEC EPOLL_CLOEXEC + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/err-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/err-ldbl.h new file mode 100644 index 00000000..6e9f330d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/err-ldbl.h @@ -0,0 +1,30 @@ +/* Redirections for err.h functions for -mlong-double-64. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ERR_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (warn) +__LDBL_REDIR_DECL (vwarn) +__LDBL_REDIR_DECL (warnx) +__LDBL_REDIR_DECL (vwarnx) +__LDBL_REDIR_DECL (err) +__LDBL_REDIR_DECL (verr) +__LDBL_REDIR_DECL (errx) +__LDBL_REDIR_DECL (verrx) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/errno.h new file mode 100644 index 00000000..492ed3b4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/errno.h @@ -0,0 +1,53 @@ +/* Error constants. Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_ERRNO_H +#define _BITS_ERRNO_H 1 + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 125 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 130 +# endif + +#ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 131 +# endif + +# ifndef ERFKILL +# define ERFKILL 132 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 133 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error-ldbl.h new file mode 100644 index 00000000..bd1e5ed6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error-ldbl.h @@ -0,0 +1,69 @@ +/* Redirections for error.h functions for -mlong-double-64. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ERROR_H +# error "Never include directly; use instead." +#endif + +#if defined __extern_always_inline && defined __va_arg_pack +extern void __REDIRECT_LDBL (__error_alias, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __REDIRECT_LDBL (__error_noreturn, (int __status, int __errnum, + const char *__format, ...), error) + __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error (int __status, int __errnum, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); + else + __error_alias (__status, __errnum, __format, __va_arg_pack ()); +} + + +extern void __REDIRECT_LDBL (__error_at_line_alias, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__format__ (__printf__, 5, 6))); +extern void __REDIRECT_LDBL (__error_at_line_noreturn, (int __status, int __errnum, + const char *__fname, unsigned int __line, + const char *__format, ...), error_at_line) + __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __line, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_at_line_noreturn (__status, __errnum, __fname, __line, __format, + __va_arg_pack ()); + else + __error_at_line_alias (__status, __errnum, __fname, __line, + __format, __va_arg_pack ()); +} +#endif +__LDBL_REDIR_DECL (error) +__LDBL_REDIR_DECL (error_at_line) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error.h new file mode 100644 index 00000000..0713e10a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/error.h @@ -0,0 +1,73 @@ +/* Specializations for error functions. + Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ERROR_H +# error "Never include directly; use instead." +#endif + + +extern void __REDIRECT (__error_alias, (int __status, int __errnum, + const char *__format, ...), + error) + __attribute__ ((__format__ (__printf__, 3, 4))); +extern void __REDIRECT (__error_noreturn, (int __status, int __errnum, + const char *__format, ...), + error) + __attribute__ ((__noreturn__, __format__ (__printf__, 3, 4))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error (int __status, int __errnum, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_noreturn (__status, __errnum, __format, __va_arg_pack ()); + else + __error_alias (__status, __errnum, __format, __va_arg_pack ()); +} + + +extern void __REDIRECT (__error_at_line_alias, (int __status, int __errnum, + const char *__fname, + unsigned int __line, + const char *__format, ...), + error_at_line) + __attribute__ ((__format__ (__printf__, 5, 6))); +extern void __REDIRECT (__error_at_line_noreturn, (int __status, int __errnum, + const char *__fname, + unsigned int __line, + const char *__format, + ...), + error_at_line) + __attribute__ ((__noreturn__, __format__ (__printf__, 5, 6))); + + +/* If we know the function will never return make sure the compiler + realizes that, too. */ +__extern_always_inline void +error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __line, const char *__format, ...) +{ + if (__builtin_constant_p (__status) && __status != 0) + __error_at_line_noreturn (__status, __errnum, __fname, __line, __format, + __va_arg_pack ()); + else + __error_at_line_alias (__status, __errnum, __fname, __line, + __format, __va_arg_pack ()); +} \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/eventfd.h new file mode 100644 index 00000000..c5d2dbfa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00004000 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl-linux.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl-linux.h new file mode 100644 index 00000000..8ebc3319 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl-linux.h @@ -0,0 +1,458 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +/* This file contains shared definitions between Linux architectures + and is included by to declare them. The various + #ifndef cases allow the architecture specific file to define those + values with different values. + + A minimal contains just: + + struct flock {...} + #ifdef __USE_LARGEFILE64 + struct flock64 {...} + #endif + #include +*/ + +#ifdef __USE_GNU +# include +#endif + +/* open/fcntl. */ +#define O_ACCMODE 0003 +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 +#ifndef O_CREAT +# define O_CREAT 0100 /* Not fcntl. */ +#endif +#ifndef O_EXCL +# define O_EXCL 0200 /* Not fcntl. */ +#endif +#ifndef O_NOCTTY +# define O_NOCTTY 0400 /* Not fcntl. */ +#endif +#ifndef O_TRUNC +# define O_TRUNC 01000 /* Not fcntl. */ +#endif +#ifndef O_APPEND +# define O_APPEND 02000 +#endif +#ifndef O_NONBLOCK +# define O_NONBLOCK 04000 +#endif +#ifndef O_NDELAY +# define O_NDELAY O_NONBLOCK +#endif +#ifndef O_SYNC +# define O_SYNC 04010000 +#endif +#define O_FSYNC O_SYNC +#ifndef O_ASYNC +# define O_ASYNC 020000 +#endif +#ifndef __O_LARGEFILE +# define __O_LARGEFILE 0100000 +#endif + +#ifndef __O_DIRECTORY +# define __O_DIRECTORY 0200000 +#endif +#ifndef __O_NOFOLLOW +# define __O_NOFOLLOW 0400000 +#endif +#ifndef __O_CLOEXEC +# define __O_CLOEXEC 02000000 +#endif +#ifndef __O_DIRECT +# define __O_DIRECT 040000 +#endif +#ifndef __O_NOATIME +# define __O_NOATIME 01000000 +#endif +#ifndef __O_PATH +# define __O_PATH 010000000 +#endif +#ifndef __O_DSYNC +# define __O_DSYNC 010000 +#endif +#ifndef __O_TMPFILE +# define __O_TMPFILE (020000000 | __O_DIRECTORY) +#endif + +#ifndef F_GETLK +# if !defined __USE_FILE_OFFSET64 && __TIMESIZE != 64 +# define F_GETLK 5 /* Get record locking info. */ +# define F_SETLK 6 /* Set record locking info (non-blocking). */ +# define F_SETLKW 7 /* Set record locking info (blocking). */ +# else +# define F_GETLK F_GETLK64 /* Get record locking info. */ +# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/ +# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */ +# endif +#endif +#ifndef F_GETLK64 +# define F_GETLK64 12 /* Get record locking info. */ +# define F_SETLK64 13 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 14 /* Set record locking info (blocking). */ +#endif + +/* open file description locks. + + Usually record locks held by a process are released on *any* close and are + not inherited across a fork. + + These cmd values will set locks that conflict with process-associated record + locks, but are "owned" by the opened file description, not the process. + This means that they are inherited across fork or clone with CLONE_FILES + like BSD (flock) locks, and they are only released automatically when the + last reference to the the file description against which they were acquired + is put. */ +#ifdef __USE_GNU +# define F_OFD_GETLK 36 +# define F_OFD_SETLK 37 +# define F_OFD_SETLKW 38 +#endif + +#ifdef __USE_LARGEFILE64 +# define O_LARGEFILE __O_LARGEFILE +#endif + +#ifdef __USE_XOPEN2K8 +# define O_DIRECTORY __O_DIRECTORY /* Must be a directory. */ +# define O_NOFOLLOW __O_NOFOLLOW /* Do not follow links. */ +# define O_CLOEXEC __O_CLOEXEC /* Set close_on_exec. */ +#endif + +#ifdef __USE_GNU +# define O_DIRECT __O_DIRECT /* Direct disk access. */ +# define O_NOATIME __O_NOATIME /* Do not set atime. */ +# define O_PATH __O_PATH /* Resolve pathname but do not open file. */ +# define O_TMPFILE __O_TMPFILE /* Atomically create nameless file. */ +#endif + +/* For now, Linux has no separate synchronicity options for read + operations. We define O_RSYNC therefore as the same as O_SYNC + since this is a superset. */ +#if defined __USE_POSIX199309 || defined __USE_UNIX98 +# define O_DSYNC __O_DSYNC /* Synchronize data. */ +# if defined __O_RSYNC +# define O_RSYNC __O_RSYNC /* Synchronize read operations. */ +# else +# define O_RSYNC O_SYNC /* Synchronize read operations. */ +# endif +#endif + +/* Values for the second argument to `fcntl'. */ +#define F_DUPFD 0 /* Duplicate file descriptor. */ +#define F_GETFD 1 /* Get file descriptor flags. */ +#define F_SETFD 2 /* Set file descriptor flags. */ +#define F_GETFL 3 /* Get file status flags. */ +#define F_SETFL 4 /* Set file status flags. */ + +#ifndef __F_SETOWN +# define __F_SETOWN 8 +# define __F_GETOWN 9 +#endif + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +# define F_SETOWN __F_SETOWN /* Get owner (process receiving SIGIO). */ +# define F_GETOWN __F_GETOWN /* Set owner (process receiving SIGIO). */ +#endif + +#ifndef __F_SETSIG +# define __F_SETSIG 10 /* Set number of signal to be sent. */ +# define __F_GETSIG 11 /* Get number of signal to be sent. */ +#endif +#ifndef __F_SETOWN_EX +# define __F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */ +# define __F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */ +#endif + +#ifdef __USE_GNU +# define F_SETSIG __F_SETSIG /* Set number of signal to be sent. */ +# define F_GETSIG __F_GETSIG /* Get number of signal to be sent. */ +# define F_SETOWN_EX __F_SETOWN_EX /* Get owner (thread receiving SIGIO). */ +# define F_GETOWN_EX __F_GETOWN_EX /* Set owner (thread receiving SIGIO). */ +#endif + +#ifdef __USE_GNU +# define F_SETLEASE 1024 /* Set a lease. */ +# define F_GETLEASE 1025 /* Enquire what lease is active. */ +# define F_NOTIFY 1026 /* Request notifications on a directory. */ +# define F_DUPFD_QUERY 1027 /* Compare two file descriptors for sameness. */ +# define F_CREATED_QUERY 1028 /* Was the file just created? */ +# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */ +# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */ +# define F_ADD_SEALS 1033 /* Add seals to file. */ +# define F_GET_SEALS 1034 /* Get seals for file. */ +/* Set / get write life time hints. */ +# define F_GET_RW_HINT 1035 +# define F_SET_RW_HINT 1036 +# define F_GET_FILE_RW_HINT 1037 +# define F_SET_FILE_RW_HINT 1038 +#endif +#ifdef __USE_XOPEN2K8 +# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with + close-on-exit set. */ +#endif + +/* For F_[GET|SET]FD. */ +#define FD_CLOEXEC 1 /* Actually anything with low bit set goes */ + +#ifndef F_RDLCK +/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ +# define F_RDLCK 0 /* Read lock. */ +# define F_WRLCK 1 /* Write lock. */ +# define F_UNLCK 2 /* Remove lock. */ +#endif + + +/* For old implementation of BSD flock. */ +#ifndef F_EXLCK +# define F_EXLCK 4 /* or 3 */ +# define F_SHLCK 8 /* or 4 */ +#endif + +#ifdef __USE_MISC +/* Operations for BSD flock, also used by the kernel implementation. */ +# define LOCK_SH 1 /* Shared lock. */ +# define LOCK_EX 2 /* Exclusive lock. */ +# define LOCK_NB 4 /* Or'd with one of the above to prevent + blocking. */ +# define LOCK_UN 8 /* Remove lock. */ +#endif + +#ifdef __USE_GNU +# define LOCK_MAND 32 /* This is a mandatory flock: */ +# define LOCK_READ 64 /* ... which allows concurrent read operations. */ +# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */ +# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */ +#endif + +#ifdef __USE_GNU +/* Types of directory notifications that may be requested with F_NOTIFY. */ +# define DN_ACCESS 0x00000001 /* File accessed. */ +# define DN_MODIFY 0x00000002 /* File modified. */ +# define DN_CREATE 0x00000004 /* File created. */ +# define DN_DELETE 0x00000008 /* File removed. */ +# define DN_RENAME 0x00000010 /* File renamed. */ +# define DN_ATTRIB 0x00000020 /* File changed attributes. */ +# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */ +#endif + + +#ifdef __USE_GNU +/* Owner types. */ +enum __pid_type + { + F_OWNER_TID = 0, /* Kernel thread. */ + F_OWNER_PID, /* Process. */ + F_OWNER_PGRP, /* Process group. */ + F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */ + }; + +/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */ +struct f_owner_ex + { + enum __pid_type type; /* Owner type of ID. */ + __pid_t pid; /* ID of owner. */ + }; +#endif + +#ifdef __USE_GNU +/* Types of seals. */ +# define F_SEAL_SEAL 0x0001 /* Prevent further seals from being set. */ +# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */ +# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */ +# define F_SEAL_WRITE 0x0008 /* Prevent writes. */ +# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while + mapped. */ +# define F_SEAL_EXEC 0x0020 /* Prevent chmod modifying exec bits. */ +#endif + +#ifdef __USE_GNU +/* Hint values for F_{GET,SET}_RW_HINT. */ +# define RWH_WRITE_LIFE_NOT_SET 0 +# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET +# define RWH_WRITE_LIFE_NONE 1 +# define RWH_WRITE_LIFE_SHORT 2 +# define RWH_WRITE_LIFE_MEDIUM 3 +# define RWH_WRITE_LIFE_LONG 4 +# define RWH_WRITE_LIFE_EXTREME 5 +#endif + +/* Define some more compatibility macros to be backward compatible with + BSD systems which did not managed to hide these kernel macros. */ +#ifdef __USE_MISC +# define FAPPEND O_APPEND +# define FFSYNC O_FSYNC +# define FASYNC O_ASYNC +# define FNONBLOCK O_NONBLOCK +# define FNDELAY O_NDELAY +#endif /* Use misc. */ + +#ifndef __POSIX_FADV_DONTNEED +# define __POSIX_FADV_DONTNEED 4 +# define __POSIX_FADV_NOREUSE 5 +#endif +/* Advise to `posix_fadvise'. */ +#ifdef __USE_XOPEN2K +# define POSIX_FADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_FADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_FADV_DONTNEED __POSIX_FADV_DONTNEED /* Don't need these pages. */ +# define POSIX_FADV_NOREUSE __POSIX_FADV_NOREUSE /* Data will be accessed once. */ +#endif + + +#ifdef __USE_GNU +/* Flags for SYNC_FILE_RANGE. */ +# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages + in the range before performing the + write. */ +# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those + dirty pages in the range which are + not presently under writeback. */ +# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in + the range after performing the + write. */ +/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are + written to disk before returning. */ +# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \ + | SYNC_FILE_RANGE_WAIT_BEFORE \ + | SYNC_FILE_RANGE_WAIT_AFTER) + +/* Flags for SPLICE and VMSPLICE. */ +# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */ +# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing + (but we may still block on the fd + we splice from/to). */ +# define SPLICE_F_MORE 4 /* Expect more data. */ +# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */ + + +/* Flags for fallocate. */ +# include + + +/* File handle structure. */ +struct file_handle +{ + unsigned int handle_bytes; + int handle_type; + /* File identifier. */ + unsigned char f_handle[0]; +}; + +/* Maximum handle size (for now). */ +# define MAX_HANDLE_SZ 128 +#endif + +#ifdef __USE_GNU +/* Flags for name_to_handle_at. See comment in fcntl.h about the use + of the same AT_* flag bits for different purposes in different + functions. */ +# define AT_HANDLE_FID AT_REMOVEDIR /* File handle is needed + to compare object + identity and may not + be usable to + open_by_handle_at. */ +#endif + +__BEGIN_DECLS + +#ifdef __USE_GNU + +/* Provide kernel hint to read ahead. */ +extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count) + __THROW; + + +/* Selective file content synch'ing. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count, + unsigned int __flags); + + +/* Splice address range into a pipe. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov, + size_t __count, unsigned int __flags); + +/* Splice two files together. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout, + __off64_t *__offout, size_t __len, + unsigned int __flags); + +/* In-kernel implementation of tee for pipe buffers. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern __ssize_t tee (int __fdin, int __fdout, size_t __len, + unsigned int __flags); + +/* Reserve storage for the data of the file associated with FD. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len); +# else +# ifdef __REDIRECT +extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset, + __off64_t __len), + fallocate64); +# else +# define fallocate fallocate64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int fallocate64 (int __fd, int __mode, __off64_t __offset, + __off64_t __len); +# endif + + +/* Map file name to file handle. */ +extern int name_to_handle_at (int __dfd, const char *__name, + struct file_handle *__handle, int *__mnt_id, + int __flags) __THROW; + +/* Open file using the file handle. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle, + int __flags); + +#endif /* use GNU */ + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl.h new file mode 100644 index 00000000..3f9b254f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl.h @@ -0,0 +1,104 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define O_APPEND 0x0008 +#define O_SYNC 0x4010 +#define O_NONBLOCK 0x0080 +#define O_CREAT 0x0100 /* not fcntl */ +#define O_TRUNC 0x0200 /* not fcntl */ +#define O_EXCL 0x0400 /* not fcntl */ +#define O_NOCTTY 0x0800 /* not fcntl */ +#define O_ASYNC 0x1000 + +#define __O_DIRECT 0x8000 /* Direct disk access hint. */ +#define __O_DSYNC 0x0010 /* Synchronize data. */ + +#if _MIPS_SIM == _ABI64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0x2000 /* Allow large file opens. */ +#endif + +#ifndef __USE_FILE_OFFSET64 +# define F_GETLK 14 /* Get record locking info. */ +# define F_SETLK 6 /* Set record locking info (non-blocking). */ +# define F_SETLKW 7 /* Set record locking info (blocking). */ +#else +# define F_GETLK F_GETLK64 /* Get record locking info. */ +# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/ +# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */ +#endif + +#if _MIPS_SIM != _ABI64 +# define F_GETLK64 33 /* Get record locking info. */ +# define F_SETLK64 34 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 35 /* Set record locking info (blocking). */ +#else +# define F_GETLK64 14 /* Get record locking info. */ +# define F_SETLK64 6 /* Set record locking info (non-blocking).*/ +# define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +#define __F_SETOWN 24 /* Get owner (process receiving SIGIO). */ +#define __F_GETOWN 23 /* Set owner (process receiving SIGIO). */ + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#if _MIPS_SIM != _ABI64 + /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit + fcntls in o32 and n32, never has this field. */ + long int l_sysid; +#endif +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ +#if ! defined __USE_FILE_OFFSET64 && _MIPS_SIM != _ABI64 + /* The 64-bit flock structure, used by the n64 ABI, and for 64-bit + flock in o32 and n32, never has this field. */ + long int __glibc_reserved0[4]; +#endif + }; +typedef struct flock flock_t; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl2.h new file mode 100644 index 00000000..f09c4a9c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fcntl2.h @@ -0,0 +1,259 @@ +/* Checking macros for fcntl functions. + Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never include directly; use instead." +#endif + +/* Check that calls to open and openat with O_CREAT or O_TMPFILE set have an + appropriate third/fourth parameter. */ +#ifndef __USE_FILE_OFFSET64 +extern int __open_2 (const char *__path, int __oflag) __nonnull ((1)); +extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...), + open) __nonnull ((1)); +#else +extern int __REDIRECT (__open_2, (const char *__path, int __oflag), + __open64_2) __nonnull ((1)); +extern int __REDIRECT (__open_alias, (const char *__path, int __oflag, ...), + open64) __nonnull ((1)); +#endif + +#ifdef __va_arg_pack_len +__errordecl (__open_too_many_args, + "open can be called either with 2 or 3 arguments, not more"); +__errordecl (__open_missing_mode, + "open with O_CREAT or O_TMPFILE in second argument needs 3 arguments"); + +__fortify_function int +open (const char *__path, int __oflag, ...) +{ + if (__va_arg_pack_len () > 1) + __open_too_many_args (); + + if (__builtin_constant_p (__oflag)) + { + if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1) + { + __open_missing_mode (); + return __open_2 (__path, __oflag); + } + return __open_alias (__path, __oflag, __va_arg_pack ()); + } + + if (__va_arg_pack_len () < 1) + return __open_2 (__path, __oflag); + + return __open_alias (__path, __oflag, __va_arg_pack ()); +} +#elif __fortify_use_clang +__fortify_function __attribute_overloadable__ int +open (__fortify_clang_overload_arg (const char *, ,__path), int __oflag) + __fortify_clang_error (__OPEN_NEEDS_MODE (__oflag), + "open with O_CREAT or O_TMPFILE in second argument needs 3 arguments") +{ + return __open_2 (__path, __oflag); +} + +__fortify_function __attribute_overloadable__ int +open (__fortify_clang_overload_arg (const char *, ,__path), int __oflag, + mode_t __mode) +{ + return __open_alias (__path, __oflag, __mode); +} +#endif + + +#ifdef __USE_LARGEFILE64 +extern int __open64_2 (const char *__path, int __oflag) __nonnull ((1)); +extern int __REDIRECT (__open64_alias, (const char *__path, int __oflag, + ...), open64) __nonnull ((1)); +# ifdef __va_arg_pack_len +__errordecl (__open64_too_many_args, + "open64 can be called either with 2 or 3 arguments, not more"); +__errordecl (__open64_missing_mode, + "open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments"); + +__fortify_function int +open64 (const char *__path, int __oflag, ...) +{ + if (__va_arg_pack_len () > 1) + __open64_too_many_args (); + + if (__builtin_constant_p (__oflag)) + { + if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1) + { + __open64_missing_mode (); + return __open64_2 (__path, __oflag); + } + return __open64_alias (__path, __oflag, __va_arg_pack ()); + } + + if (__va_arg_pack_len () < 1) + return __open64_2 (__path, __oflag); + + return __open64_alias (__path, __oflag, __va_arg_pack ()); +} +# elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +open64 (const char *__path, int __oflag, mode_t __mode, ...) + __fortify_clang_unavailable ("open64 can be called either with 2 or 3 arguments, not more"); + +__fortify_function __attribute_overloadable__ int +open64 (__fortify_clang_overload_arg (const char *, ,__path), int __oflag) + __fortify_clang_prefer_this_overload + __fortify_clang_error (__OPEN_NEEDS_MODE (__oflag), + "open64 with O_CREAT or O_TMPFILE in second argument needs 3 arguments") +{ + return __open64_2 (__path, __oflag); +} + +__fortify_function __attribute_overloadable__ int +open64 (__fortify_clang_overload_arg (const char *, ,__path), int __oflag, + mode_t __mode) +{ + return __open64_alias (__path, __oflag, __mode); +} +# endif +#endif + + +#ifdef __USE_ATFILE +# ifndef __USE_FILE_OFFSET64 +extern int __openat_2 (int __fd, const char *__path, int __oflag) + __nonnull ((2)); +extern int __REDIRECT (__openat_alias, (int __fd, const char *__path, + int __oflag, ...), openat) + __nonnull ((2)); +# else +extern int __REDIRECT (__openat_2, (int __fd, const char *__path, + int __oflag), __openat64_2) + __nonnull ((2)); +extern int __REDIRECT (__openat_alias, (int __fd, const char *__path, + int __oflag, ...), openat64) + __nonnull ((2)); +# endif + +# ifdef __va_arg_pack_len +__errordecl (__openat_too_many_args, + "openat can be called either with 3 or 4 arguments, not more"); +__errordecl (__openat_missing_mode, + "openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments"); + +__fortify_function int +openat (int __fd, const char *__path, int __oflag, ...) +{ + if (__va_arg_pack_len () > 1) + __openat_too_many_args (); + + if (__builtin_constant_p (__oflag)) + { + if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1) + { + __openat_missing_mode (); + return __openat_2 (__fd, __path, __oflag); + } + return __openat_alias (__fd, __path, __oflag, __va_arg_pack ()); + } + + if (__va_arg_pack_len () < 1) + return __openat_2 (__fd, __path, __oflag); + + return __openat_alias (__fd, __path, __oflag, __va_arg_pack ()); +} +# elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +openat (int __fd, const char *__path, int __oflag, mode_t __mode, ...) + __fortify_clang_unavailable ("openat can be called either with 3 or 4 arguments, not more"); + +__fortify_function __attribute_overloadable__ int +openat (int __fd, __fortify_clang_overload_arg (const char *, ,__path), + int __oflag) + __fortify_clang_prefer_this_overload + __fortify_clang_error (__OPEN_NEEDS_MODE (__oflag), + "openat with O_CREAT or O_TMPFILE in third argument needs 4 arguments") +{ + return __openat_2 (__fd, __path, __oflag); +} + +__fortify_function __attribute_overloadable__ int +openat (int __fd, __fortify_clang_overload_arg (const char *, ,__path), + int __oflag, mode_t __mode) +{ + return __openat_alias (__fd, __path, __oflag, __mode); +} +# endif + + +# ifdef __USE_LARGEFILE64 +extern int __openat64_2 (int __fd, const char *__path, int __oflag) + __nonnull ((2)); +extern int __REDIRECT (__openat64_alias, (int __fd, const char *__path, + int __oflag, ...), openat64) + __nonnull ((2)); +__errordecl (__openat64_too_many_args, + "openat64 can be called either with 3 or 4 arguments, not more"); +__errordecl (__openat64_missing_mode, + "openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments"); + +# ifdef __va_arg_pack_len +__fortify_function int +openat64 (int __fd, const char *__path, int __oflag, ...) +{ + if (__va_arg_pack_len () > 1) + __openat64_too_many_args (); + + if (__builtin_constant_p (__oflag)) + { + if (__OPEN_NEEDS_MODE (__oflag) && __va_arg_pack_len () < 1) + { + __openat64_missing_mode (); + return __openat64_2 (__fd, __path, __oflag); + } + return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ()); + } + + if (__va_arg_pack_len () < 1) + return __openat64_2 (__fd, __path, __oflag); + + return __openat64_alias (__fd, __path, __oflag, __va_arg_pack ()); +} +# elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +openat64 (int __fd, const char *__path, int __oflag, mode_t __mode, ...) + __fortify_clang_unavailable ("openat64 can be called either with 3 or 4 arguments, not more"); + +__fortify_function __attribute_overloadable__ int +openat64 (int __fd, __fortify_clang_overload_arg (const char *, ,__path), + int __oflag) + __fortify_clang_prefer_this_overload + __fortify_clang_error (__OPEN_NEEDS_MODE (__oflag), + "openat64 with O_CREAT or O_TMPFILE in third argument needs 4 arguments") +{ + return __openat64_2 (__fd, __path, __oflag); +} + +__fortify_function __attribute_overloadable__ int +openat64 (int __fd, __fortify_clang_overload_arg (const char *, ,__path), + int __oflag, mode_t __mode) +{ + return __openat64_alias (__fd, __path, __oflag, __mode); +} +# endif +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fenv.h new file mode 100644 index 00000000..5dab6355 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fenv.h @@ -0,0 +1,113 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +#ifdef __mips_hard_float + +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum + { + FE_INEXACT = +# define FE_INEXACT 0x04 + FE_INEXACT, + FE_UNDERFLOW = +# define FE_UNDERFLOW 0x08 + FE_UNDERFLOW, + FE_OVERFLOW = +# define FE_OVERFLOW 0x10 + FE_OVERFLOW, + FE_DIVBYZERO = +# define FE_DIVBYZERO 0x20 + FE_DIVBYZERO, + FE_INVALID = +# define FE_INVALID 0x40 + FE_INVALID, + }; + +# define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The MIPS FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +# define FE_TONEAREST 0x0 + FE_TONEAREST, + FE_TOWARDZERO = +# define FE_TOWARDZERO 0x1 + FE_TOWARDZERO, + FE_UPWARD = +# define FE_UPWARD 0x2 + FE_UPWARD, + FE_DOWNWARD = +# define FE_DOWNWARD 0x3 + FE_DOWNWARD + }; + +#else + +/* In the soft-float case, only rounding to nearest is supported, with + no exceptions. */ + +enum + { + __FE_UNDEFINED = -1, + + FE_TONEAREST = +# define FE_TONEAREST 0x0 + FE_TONEAREST + }; + +# define FE_ALL_EXCEPT 0 + +#endif + + +/* Type representing exception flags. */ +typedef unsigned short int fexcept_t; + + +/* Type representing floating-point environment. This function corresponds + to the layout of the block written by the `fstenv'. */ +typedef struct + { + unsigned int __fp_control_register; + } +fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#if defined __USE_GNU && defined __mips_hard_float +/* Floating-point environment where none of the exception is masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn-common.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn-common.h new file mode 100644 index 00000000..6a70ca5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn-common.h @@ -0,0 +1,329 @@ +/* Macros to control TS 18661-3 glibc features where the same + definitions are appropriate for all platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_COMMON_H +#define _BITS_FLOATN_COMMON_H + +#include +#include + +/* This header should be included at the bottom of each bits/floatn.h. + It defines the following macros for each _FloatN and _FloatNx type, + where the same definitions, or definitions based only on the macros + in bits/floatn.h, are appropriate for all glibc configurations. */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for this type, and this + glibc includes corresponding *fN or *fNx interfaces for it. */ +#define __HAVE_FLOAT16 0 +#define __HAVE_FLOAT32 1 +#define __HAVE_FLOAT64 1 +#define __HAVE_FLOAT32X 1 +#define __HAVE_FLOAT128X 0 + +/* Defined to 1 if the corresponding __HAVE_ macro is 1 and the + type is the first with its format in the sequence of (the default + choices for) float, double, long double, _Float16, _Float32, + _Float64, _Float128, _Float32x, _Float64x, _Float128x for this + glibc; that is, if functions present once per floating-point format + rather than once per type are present for this type. + + All configurations supported by glibc have _Float32 the same format + as float, _Float64 and _Float32x the same format as double, the + _Float64x the same format as either long double or _Float128. No + configurations support _Float128x or, as of GCC 7, have compiler + support for a type meeting the requirements for _Float128x. */ +#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16 +#define __HAVE_DISTINCT_FLOAT32 0 +#define __HAVE_DISTINCT_FLOAT64 0 +#define __HAVE_DISTINCT_FLOAT32X 0 +#define __HAVE_DISTINCT_FLOAT64X 0 +#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X + +/* Defined to 1 if the corresponding _FloatN type is not binary compatible + with the corresponding ISO C type in the current compilation unit as + opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built + in glibc. */ +#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \ + && __LDBL_MANT_DIG__ != 113) + +/* Defined to 1 if any _FloatN or _FloatNx types that are not + ABI-distinct are however distinct types at the C language level (so + for the purposes of __builtin_types_compatible_p and _Generic). */ +#if __GNUC_PREREQ (7, 0) && !defined __cplusplus +# define __HAVE_FLOATN_NOT_TYPEDEF 1 +#else +# define __HAVE_FLOATN_NOT_TYPEDEF 0 +#endif + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _FloatN + or _FloatNx types, if __HAVE_ is 1. The corresponding + literal suffixes exist since GCC 7, for C only. */ +# if __HAVE_FLOAT16 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* No corresponding suffix available for this type. */ +# define __f16(x) ((_Float16) x##f) +# else +# define __f16(x) x##f16 +# endif +# endif + +# if __HAVE_FLOAT32 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __f32(x) x##f +# else +# define __f32(x) x##f32 +# endif +# endif + +# if __HAVE_FLOAT64 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# ifdef __NO_LONG_DOUBLE_MATH +# define __f64(x) x##l +# else +# define __f64(x) x +# endif +# else +# define __f64(x) x##f64 +# endif +# endif + +# if __HAVE_FLOAT32X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __f32x(x) x +# else +# define __f32x(x) x##f32x +# endif +# endif + +# if __HAVE_FLOAT64X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# if __HAVE_FLOAT64X_LONG_DOUBLE +# define __f64x(x) x##l +# else +# define __f64x(x) __f128 (x) +# endif +# else +# define __f64x(x) x##f64x +# endif +# endif + +# if __HAVE_FLOAT128X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# error "_Float128X supported but no constant suffix" +# else +# define __f128x(x) x##f128x +# endif +# endif + +/* Defined to a complex type if __HAVE_ is 1. */ +# if __HAVE_FLOAT16 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__))); +# define __CFLOAT16 __cfloat16 +# else +# define __CFLOAT16 _Complex _Float16 +# endif +# endif + +# if __HAVE_FLOAT32 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT32 _Complex float +# else +# define __CFLOAT32 _Complex _Float32 +# endif +# endif + +# if __HAVE_FLOAT64 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# ifdef __NO_LONG_DOUBLE_MATH +# define __CFLOAT64 _Complex long double +# else +# define __CFLOAT64 _Complex double +# endif +# else +# define __CFLOAT64 _Complex _Float64 +# endif +# endif + +# if __HAVE_FLOAT32X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT32X _Complex double +# else +# define __CFLOAT32X _Complex _Float32x +# endif +# endif + +# if __HAVE_FLOAT64X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# if __HAVE_FLOAT64X_LONG_DOUBLE +# define __CFLOAT64X _Complex long double +# else +# define __CFLOAT64X __CFLOAT128 +# endif +# else +# define __CFLOAT64X _Complex _Float64x +# endif +# endif + +# if __HAVE_FLOAT128X +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# error "_Float128X supported but no complex type" +# else +# define __CFLOAT128X _Complex _Float128x +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT16 + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef float _Float16 __attribute__ ((__mode__ (__HF__))); +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ()) +# define __builtin_inff16() ((_Float16) __builtin_inf ()) +# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x)) +# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x)) +# endif + +# endif + +# if __HAVE_FLOAT32 + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef float _Float32; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf32() (__builtin_huge_valf ()) +# define __builtin_inff32() (__builtin_inff ()) +# define __builtin_nanf32(x) (__builtin_nanf (x)) +# define __builtin_nansf32(x) (__builtin_nansf (x)) +# endif + +# endif + +# if __HAVE_FLOAT64 + +/* If double, long double and _Float64 all have the same set of + values, TS 18661-3 requires the usual arithmetic conversions on + long double and _Float64 to produce _Float64. For this to be the + case when building with a compiler without a distinct _Float64 + type, _Float64 must be a typedef for long double, not for + double. */ + +# ifdef __NO_LONG_DOUBLE_MATH + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float64; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64() (__builtin_huge_vall ()) +# define __builtin_inff64() (__builtin_infl ()) +# define __builtin_nanf64(x) (__builtin_nanl (x)) +# define __builtin_nansf64(x) (__builtin_nansl (x)) +# endif + +# else + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef double _Float64; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64() (__builtin_huge_val ()) +# define __builtin_inff64() (__builtin_inf ()) +# define __builtin_nanf64(x) (__builtin_nan (x)) +# define __builtin_nansf64(x) (__builtin_nans (x)) +# endif + +# endif + +# endif + +# if __HAVE_FLOAT32X + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef double _Float32x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf32x() (__builtin_huge_val ()) +# define __builtin_inff32x() (__builtin_inf ()) +# define __builtin_nanf32x(x) (__builtin_nan (x)) +# define __builtin_nansf32x(x) (__builtin_nans (x)) +# endif + +# endif + +# if __HAVE_FLOAT64X + +# if __HAVE_FLOAT64X_LONG_DOUBLE + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float64x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64x() (__builtin_huge_vall ()) +# define __builtin_inff64x() (__builtin_infl ()) +# define __builtin_nanf64x(x) (__builtin_nanl (x)) +# define __builtin_nansf64x(x) (__builtin_nansl (x)) +# endif + +# else + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef _Float128 _Float64x; +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf64x() (__builtin_huge_valf128 ()) +# define __builtin_inff64x() (__builtin_inff128 ()) +# define __builtin_nanf64x(x) (__builtin_nanf128 (x)) +# define __builtin_nansf64x(x) (__builtin_nansf128 (x)) +# endif + +# endif + +# endif + +# if __HAVE_FLOAT128X + +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# error "_Float128x supported but no type" +# endif + +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ()) +# define __builtin_inff128x() ((_Float128x) __builtin_inf ()) +# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x)) +# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#endif /* _BITS_FLOATN_COMMON_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn.h new file mode 100644 index 00000000..45bed17f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/flt-eval-method.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/flt-eval-method.h new file mode 100644 index 00000000..5556c5da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/flt-eval-method.h @@ -0,0 +1,40 @@ +/* Define __GLIBC_FLT_EVAL_METHOD. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +/* __GLIBC_FLT_EVAL_METHOD is the value of FLT_EVAL_METHOD used to + determine the evaluation method typedefs such as float_t and + double_t. It must be a value from C11 or TS 18661-3:2015, and not + -1. */ + +/* In the default version of this header, follow __FLT_EVAL_METHOD__. + If __FLT_EVAL_METHOD__ is not defined or set to -1, assume there is no + excess precision and use the value 0 (this is correct for most targets). */ + +#ifdef __FLT_EVAL_METHOD__ +# if __FLT_EVAL_METHOD__ == -1 +# define __GLIBC_FLT_EVAL_METHOD 0 +# else +# define __GLIBC_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ +# endif +#else +# define __GLIBC_FLT_EVAL_METHOD 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-fast.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-fast.h new file mode 100644 index 00000000..f6ba20a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-fast.h @@ -0,0 +1,39 @@ +/* Define FP_FAST_* macros. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_ISOC99 + +/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} + builtins are supported. */ +# ifdef __FP_FAST_FMA +# define FP_FAST_FMA 1 +# endif + +# ifdef __FP_FAST_FMAF +# define FP_FAST_FMAF 1 +# endif + +# ifdef __FP_FAST_FMAL +# define FP_FAST_FMAL 1 +# endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-logb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-logb.h new file mode 100644 index 00000000..3a4c9b0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/fp-logb.h @@ -0,0 +1,28 @@ +/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +/* __FP_LOGB0_IS_MIN is defined to 1 if FP_ILOGB0 is INT_MIN, and 0 if + it is -INT_MAX. __FP_LOGBNAN_IS_MIN is defined to 1 if FP_ILOGBNAN + is INT_MIN, and 0 if it is INT_MAX. */ + +#define __FP_LOGB0_IS_MIN 0 +#define __FP_LOGBNAN_IS_MIN 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_core.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_core.h new file mode 100644 index 00000000..817e7785 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_core.h @@ -0,0 +1,96 @@ +/* Declarations for getopt (basic, portable features only). + Copyright (C) 1989-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_CORE_H +#define _GETOPT_CORE_H 1 + +/* This header should not be used directly; include getopt.h or + unistd.h instead. Unlike most bits headers, it does not have + a protective #error, because the guard macro for getopt.h in + gnulib is not fixed. */ + +__BEGIN_DECLS + +/* For communication from 'getopt' to the caller. + When 'getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when 'ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to 'getopt'. + + On entry to 'getopt', zero means this is the first call; initialize. + + When 'getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, 'optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +extern int optind; + +/* Callers store zero here to inhibit the error message 'getopt' prints + for unrecognized options. */ + +extern int opterr; + +/* Set to an option character which was unrecognized. */ + +extern int optopt; + +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. + + Return the option character from OPTS just read. Return -1 when + there are no more options. For unrecognized options, or options + missing arguments, 'optopt' is set to the option letter, and '?' is + returned. + + The OPTS string is a list of characters which are recognized option + letters, optionally followed by colons, specifying that that letter + takes an argument, to be placed in 'optarg'. + + If a letter in OPTS is followed by two colons, its argument is + optional. This behavior is specific to the GNU 'getopt'. + + The argument '--' causes premature termination of argument + scanning, explicitly telling 'getopt' that there are no more + options. + + If OPTS begins with '-', then non-option arguments are treated as + arguments to the option '\1'. This behavior is specific to the GNU + 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in + the environment, then do not permute arguments. + + For standards compliance, the 'argv' argument has the type + char *const *, but this is inaccurate; if argument permutation is + enabled, the argv array (not the strings it points to) must be + writable. */ + +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + __THROW __nonnull ((2, 3)); + +__END_DECLS + +#endif /* getopt_core.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_ext.h new file mode 100644 index 00000000..ecbfee54 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_ext.h @@ -0,0 +1,77 @@ +/* Declarations for getopt (GNU extensions). + Copyright (C) 1989-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library and is also part of gnulib. + Patches to this file should be submitted to both projects. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_EXT_H +#define _GETOPT_EXT_H 1 + +/* This header should not be used directly; include getopt.h instead. + Unlike most bits headers, it does not have a protective #error, + because the guard macro for getopt.h in gnulib is not fixed. */ + +__BEGIN_DECLS + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of 'struct option' terminated by an element containing a name which is + zero. + + The field 'has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field 'flag' is not NULL, it points to a variable that is set + to the value given in the field 'val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an 'int' to + a compiled-in constant, such as set a value from 'optarg', set the + option's 'flag' field to zero and its 'val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero 'flag' field, 'getopt' + returns the contents of the 'val' field. */ + +struct option +{ + const char *name; + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; +}; + +/* Names for the values of the 'has_arg' field of 'struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __THROW __nonnull ((2, 3)); +extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, + const char *__shortopts, + const struct option *__longopts, int *__longind) + __THROW __nonnull ((2, 3)); + +__END_DECLS + +#endif /* getopt_ext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_posix.h new file mode 100644 index 00000000..7f8096a4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/getopt_posix.h @@ -0,0 +1,51 @@ +/* Declarations for getopt (POSIX compatibility shim). + Copyright (C) 1989-2025 Free Software Foundation, Inc. + Unlike the bulk of the getopt implementation, this file is NOT part + of gnulib. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_POSIX_H +#define _GETOPT_POSIX_H 1 + +#if !defined _UNISTD_H && !defined _STDIO_H +#error "Never include getopt_posix.h directly; use unistd.h instead." +#endif + +#include + +__BEGIN_DECLS + +#if defined __USE_POSIX2 && !defined __USE_POSIX_IMPLICITLY \ + && !defined __USE_GNU && !defined _GETOPT_H +/* GNU getopt has more functionality than POSIX getopt. When we are + explicitly conforming to POSIX and not GNU, and getopt.h (which is + not part of POSIX) has not been included, the extra functionality + is disabled. */ +# ifdef __REDIRECT +extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv, + const char *__shortopts), + __posix_getopt); +# else +extern int __posix_getopt (int ___argc, char *const *___argv, + const char *__shortopts) + __THROW __nonnull ((2, 3)); +# define getopt __posix_getopt +# endif +#endif + +__END_DECLS + +#endif /* getopt_posix.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/hwcap.h new file mode 100644 index 00000000..c978f789 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/hwcap.h @@ -0,0 +1,23 @@ +/* Defines for bits in AT_HWCAP. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_AUXV_H +# error "Never include directly; use instead." +#endif + +/* No bits defined for this architecture. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/in.h new file mode 100644 index 00000000..0e940cc5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/in.h @@ -0,0 +1,255 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Linux version. */ + +#ifndef _NETINET_IN_H +# error "Never use directly; include instead." +#endif + +/* If the application has already included linux/in6.h from a linux-based + kernel then we will not define the IPv6 IPPROTO_* defines, in6_addr (nor the + defines), sockaddr_in6, or ipv6_mreq. Same for in6_ptkinfo or ip6_mtuinfo + in linux/ipv6.h. The ABI used by the linux-kernel and glibc match exactly. + Neither the linux kernel nor glibc should break this ABI without coordination. + In upstream kernel 56c176c9 the _UAPI prefix was stripped so we need to check + for _LINUX_IN6_H and _IPV6_H now, and keep checking the old versions for + maximum backwards compatibility. */ +#if defined _UAPI_LINUX_IN6_H \ + || defined _UAPI_IPV6_H \ + || defined _LINUX_IN6_H \ + || defined _IPV6_H +/* This is not quite the same API since the kernel always defines s6_addr16 and + s6_addr32. This is not a violation of POSIX since POSIX says "at least the + following member" and that holds true. */ +# define __USE_KERNEL_IPV6_DEFS 1 +#else +# define __USE_KERNEL_IPV6_DEFS 0 +#endif + +/* Options for use with `getsockopt' and `setsockopt' at the IP level. + The first word in the comment at the right is the data type used; + "bool" means a boolean value stored in an `int'. */ +#define IP_OPTIONS 4 /* ip_opts; IP per-packet options. */ +#define IP_HDRINCL 3 /* int; Header is included with data. */ +#define IP_TOS 1 /* int; IP type of service and precedence. */ +#define IP_TTL 2 /* int; IP time to live. */ +#define IP_RECVOPTS 6 /* bool; Receive all IP options w/datagram. */ +/* For BSD compatibility. */ +#define IP_RECVRETOPTS IP_RETOPTS /* bool; Receive IP options for response. */ +#define IP_RETOPTS 7 /* ip_opts; Set/get IP per-packet options. */ +#define IP_MULTICAST_IF 32 /* in_addr; set/get IP multicast i/f */ +#define IP_MULTICAST_TTL 33 /* unsigned char; set/get IP multicast ttl */ +#define IP_MULTICAST_LOOP 34 /* bool; set/get IP multicast loopback */ +#define IP_ADD_MEMBERSHIP 35 /* ip_mreq; add an IP group membership */ +#define IP_DROP_MEMBERSHIP 36 /* ip_mreq; drop an IP group membership */ +#define IP_UNBLOCK_SOURCE 37 /* ip_mreq_source: unblock data from source */ +#define IP_BLOCK_SOURCE 38 /* ip_mreq_source: block data from source */ +#define IP_ADD_SOURCE_MEMBERSHIP 39 /* ip_mreq_source: join source group */ +#define IP_DROP_SOURCE_MEMBERSHIP 40 /* ip_mreq_source: leave source group */ +#define IP_MSFILTER 41 +#ifdef __USE_MISC +# define MCAST_JOIN_GROUP 42 /* group_req: join any-source group */ +# define MCAST_BLOCK_SOURCE 43 /* group_source_req: block from given group */ +# define MCAST_UNBLOCK_SOURCE 44 /* group_source_req: unblock from given group*/ +# define MCAST_LEAVE_GROUP 45 /* group_req: leave any-source group */ +# define MCAST_JOIN_SOURCE_GROUP 46 /* group_source_req: join source-spec gr */ +# define MCAST_LEAVE_SOURCE_GROUP 47 /* group_source_req: leave source-spec gr*/ +# define MCAST_MSFILTER 48 +# define IP_MULTICAST_ALL 49 +# define IP_UNICAST_IF 50 + +# define MCAST_EXCLUDE 0 +# define MCAST_INCLUDE 1 +#endif + +#define IP_ROUTER_ALERT 5 /* bool */ +#define IP_PKTINFO 8 /* bool */ +#define IP_PKTOPTIONS 9 +#define IP_PMTUDISC 10 /* obsolete name? */ +#define IP_MTU_DISCOVER 10 /* int; see below */ +#define IP_RECVERR 11 /* bool */ +#define IP_RECVTTL 12 /* bool */ +#define IP_RECVTOS 13 /* bool */ +#define IP_MTU 14 /* int */ +#define IP_FREEBIND 15 +#define IP_IPSEC_POLICY 16 +#define IP_XFRM_POLICY 17 +#define IP_PASSSEC 18 +#define IP_TRANSPARENT 19 +#define IP_MULTICAST_ALL 49 /* bool */ + +/* TProxy original addresses */ +#define IP_ORIGDSTADDR 20 +#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR + +#define IP_MINTTL 21 +#define IP_NODEFRAG 22 +#define IP_CHECKSUM 23 +#define IP_BIND_ADDRESS_NO_PORT 24 +#define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 + +/* IP_MTU_DISCOVER arguments. */ +#define IP_PMTUDISC_DONT 0 /* Never send DF frames. */ +#define IP_PMTUDISC_WANT 1 /* Use per route hints. */ +#define IP_PMTUDISC_DO 2 /* Always DF. */ +#define IP_PMTUDISC_PROBE 3 /* Ignore dst pmtu. */ +/* Always use interface mtu (ignores dst pmtu) but don't set DF flag. + Also incoming ICMP frag_needed notifications will be ignored on + this socket to prevent accepting spoofed ones. */ +#define IP_PMTUDISC_INTERFACE 4 +/* Like IP_PMTUDISC_INTERFACE but allow packets to be fragmented. */ +#define IP_PMTUDISC_OMIT 5 + +#define IP_MULTICAST_IF 32 +#define IP_MULTICAST_TTL 33 +#define IP_MULTICAST_LOOP 34 +#define IP_ADD_MEMBERSHIP 35 +#define IP_DROP_MEMBERSHIP 36 +#define IP_UNBLOCK_SOURCE 37 +#define IP_BLOCK_SOURCE 38 +#define IP_ADD_SOURCE_MEMBERSHIP 39 +#define IP_DROP_SOURCE_MEMBERSHIP 40 +#define IP_MSFILTER 41 +#define IP_MULTICAST_ALL 49 +#define IP_UNICAST_IF 50 +#define IP_LOCAL_PORT_RANGE 51 +#define IP_PROTOCOL 52 + +/* To select the IP level. */ +#define SOL_IP 0 + +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#define IP_MAX_MEMBERSHIPS 20 + +#ifdef __USE_MISC +/* Structure used to describe IP options for IP_OPTIONS and IP_RETOPTS. + The `ip_dst' field is used for the first-hop gateway when using a + source route (this gets put into the header proper). */ +struct ip_opts + { + struct in_addr ip_dst; /* First hop; zero without source route. */ + char ip_opts[40]; /* Actually variable in size. */ + }; + +/* Structure used for IP_PKTINFO. */ +struct in_pktinfo + { + int ipi_ifindex; /* Interface index */ + struct in_addr ipi_spec_dst; /* Routing destination address */ + struct in_addr ipi_addr; /* Header destination address */ + }; +#endif + +/* Options for use with `getsockopt' and `setsockopt' at the IPv6 level. + The first word in the comment at the right is the data type used; + "bool" means a boolean value stored in an `int'. */ +#define IPV6_ADDRFORM 1 +#define IPV6_2292PKTINFO 2 +#define IPV6_2292HOPOPTS 3 +#define IPV6_2292DSTOPTS 4 +#define IPV6_2292RTHDR 5 +#define IPV6_2292PKTOPTIONS 6 +#define IPV6_CHECKSUM 7 +#define IPV6_2292HOPLIMIT 8 + +#define SCM_SRCRT IPV6_RXSRCRT + +#define IPV6_NEXTHOP 9 +#define IPV6_AUTHHDR 10 +#define IPV6_UNICAST_HOPS 16 +#define IPV6_MULTICAST_IF 17 +#define IPV6_MULTICAST_HOPS 18 +#define IPV6_MULTICAST_LOOP 19 +#define IPV6_JOIN_GROUP 20 +#define IPV6_LEAVE_GROUP 21 +#define IPV6_ROUTER_ALERT 22 +#define IPV6_MTU_DISCOVER 23 +#define IPV6_MTU 24 +#define IPV6_RECVERR 25 +#define IPV6_V6ONLY 26 +#define IPV6_JOIN_ANYCAST 27 +#define IPV6_LEAVE_ANYCAST 28 +#define IPV6_MULTICAST_ALL 29 +#define IPV6_ROUTER_ALERT_ISOLATE 30 +#define IPV6_RECVERR_RFC4884 31 +#define IPV6_IPSEC_POLICY 34 +#define IPV6_XFRM_POLICY 35 +#define IPV6_HDRINCL 36 + +/* Advanced API (RFC3542) (1). */ +#define IPV6_RECVPKTINFO 49 +#define IPV6_PKTINFO 50 +#define IPV6_RECVHOPLIMIT 51 +#define IPV6_HOPLIMIT 52 +#define IPV6_RECVHOPOPTS 53 +#define IPV6_HOPOPTS 54 +#define IPV6_RTHDRDSTOPTS 55 +#define IPV6_RECVRTHDR 56 +#define IPV6_RTHDR 57 +#define IPV6_RECVDSTOPTS 58 +#define IPV6_DSTOPTS 59 +#define IPV6_RECVPATHMTU 60 +#define IPV6_PATHMTU 61 +#define IPV6_DONTFRAG 62 + +/* Advanced API (RFC3542) (2). */ +#define IPV6_RECVTCLASS 66 +#define IPV6_TCLASS 67 + +#define IPV6_AUTOFLOWLABEL 70 + +/* RFC5014. */ +#define IPV6_ADDR_PREFERENCES 72 + +/* RFC5082. */ +#define IPV6_MINHOPCOUNT 73 + +#define IPV6_ORIGDSTADDR 74 +#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR +#define IPV6_TRANSPARENT 75 +#define IPV6_UNICAST_IF 76 +#define IPV6_RECVFRAGSIZE 77 +#define IPV6_FREEBIND 78 + +/* Obsolete synonyms for the above. */ +#if !__USE_KERNEL_IPV6_DEFS +# define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP +# define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP +#endif +#define IPV6_RXHOPOPTS IPV6_HOPOPTS +#define IPV6_RXDSTOPTS IPV6_DSTOPTS + +/* IPV6_MTU_DISCOVER values. */ +#define IPV6_PMTUDISC_DONT 0 /* Never send DF frames. */ +#define IPV6_PMTUDISC_WANT 1 /* Use per route hints. */ +#define IPV6_PMTUDISC_DO 2 /* Always DF. */ +#define IPV6_PMTUDISC_PROBE 3 /* Ignore dst pmtu. */ +#define IPV6_PMTUDISC_INTERFACE 4 /* See IP_PMTUDISC_INTERFACE. */ +#define IPV6_PMTUDISC_OMIT 5 /* See IP_PMTUDISC_OMIT. */ + +/* Socket level values for IPv6. */ +#define SOL_IPV6 41 +#define SOL_ICMPV6 58 + +/* Routing header options for IPv6. */ +#define IPV6_RTHDR_LOOSE 0 /* Hop doesn't need to be neighbour. */ +#define IPV6_RTHDR_STRICT 1 /* Hop must be a neighbour. */ + +#define IPV6_RTHDR_TYPE_0 0 /* IPv6 Routing header type 0. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/indirect-return.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/indirect-return.h new file mode 100644 index 00000000..7ba1bd20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/indirect-return.h @@ -0,0 +1,25 @@ +/* Definition of __INDIRECT_RETURN. Generic version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UCONTEXT_H +# error "Never include directly; use instead." +#endif + +/* __INDIRECT_RETURN is used on swapcontext to indicate if it requires + special compiler treatment. */ +#define __INDIRECT_RETURN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/initspin.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/initspin.h new file mode 100644 index 00000000..9d72ed0d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/initspin.h @@ -0,0 +1 @@ +/* No thread support. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/inotify.h new file mode 100644 index 00000000..4bc5510f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00004000 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctl-types.h new file mode 100644 index 00000000..08562e7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctl-types.h @@ -0,0 +1,77 @@ +/* Structure types for pre-termios terminal ioctls. Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctls.h new file mode 100644 index 00000000..91556381 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ioctls.h @@ -0,0 +1,108 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Use the definitions from the kernel header files. */ +#include + +/* Routing table calls. */ +#define SIOCADDRT 0x890B /* add routing table entry */ +#define SIOCDELRT 0x890C /* delete routing table entry */ +#define SIOCRTMSG 0x890D /* call to routing system */ + +/* Socket configuration controls. */ +#define SIOCGIFNAME 0x8910 /* get iface name */ +#define SIOCSIFLINK 0x8911 /* set iface channel */ +#define SIOCGIFCONF 0x8912 /* get iface list */ +#define SIOCGIFFLAGS 0x8913 /* get flags */ +#define SIOCSIFFLAGS 0x8914 /* set flags */ +#define SIOCGIFADDR 0x8915 /* get PA address */ +#define SIOCSIFADDR 0x8916 /* set PA address */ +#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */ +#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */ +#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */ +#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */ +#define SIOCGIFNETMASK 0x891b /* get network PA mask */ +#define SIOCSIFNETMASK 0x891c /* set network PA mask */ +#define SIOCGIFMETRIC 0x891d /* get metric */ +#define SIOCSIFMETRIC 0x891e /* set metric */ +#define SIOCGIFMEM 0x891f /* get memory address (BSD) */ +#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */ +#define SIOCGIFMTU 0x8921 /* get MTU size */ +#define SIOCSIFMTU 0x8922 /* set MTU size */ +#define SIOCSIFNAME 0x8923 /* set interface name */ +#define SIOCSIFHWADDR 0x8924 /* set hardware address */ +#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */ +#define SIOCSIFENCAP 0x8926 +#define SIOCGIFHWADDR 0x8927 /* Get hardware address */ +#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */ +#define SIOCSIFSLAVE 0x8930 +#define SIOCADDMULTI 0x8931 /* Multicast address lists */ +#define SIOCDELMULTI 0x8932 +#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */ +#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */ +#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */ +#define SIOCGIFPFLAGS 0x8935 +#define SIOCDIFADDR 0x8936 /* delete PA address */ +#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */ +#define SIOCGIFCOUNT 0x8938 /* get number of devices */ + +#define SIOCGIFBR 0x8940 /* Bridging support */ +#define SIOCSIFBR 0x8941 /* Set bridging options */ + +#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */ +#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */ + + +/* ARP cache control calls. */ + /* 0x8950 - 0x8952 * obsolete calls, don't re-use */ +#define SIOCDARP 0x8953 /* delete ARP table entry */ +#define SIOCGARP 0x8954 /* get ARP table entry */ +#define SIOCSARP 0x8955 /* set ARP table entry */ + +/* RARP cache control calls. */ +#define SIOCDRARP 0x8960 /* delete RARP table entry */ +#define SIOCGRARP 0x8961 /* get RARP table entry */ +#define SIOCSRARP 0x8962 /* set RARP table entry */ + +/* Driver configuration calls */ + +#define SIOCGIFMAP 0x8970 /* Get device parameters */ +#define SIOCSIFMAP 0x8971 /* Set device parameters */ + +/* DLCI configuration calls */ + +#define SIOCADDDLCI 0x8980 /* Create new DLCI device */ +#define SIOCDELDLCI 0x8981 /* Delete DLCI device */ + +/* Device private ioctl calls. */ + +/* These 16 ioctls are available to devices via the do_ioctl() device + vector. Each device should include this file and redefine these + names as their own. Because these are device dependent it is a good + idea _NOT_ to issue them to random objects and hope. */ + +#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */ + +/* + * These 16 ioctl calls are protocol private + */ + +#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc-perm.h new file mode 100644 index 00000000..e5c8cfb6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc-perm.h @@ -0,0 +1,40 @@ +/* struct ipc_perm definition. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. + It follows the kernel ipc64_perm size so the syscall can be made directly + without temporary buffer copy. However, since glibc defines the MODE + field as mode_t per POSIX definition (BZ#18231), it omits the __PAD1 field + (since glibc does not export mode_t as 16-bit for any architecture). */ +struct ipc_perm +{ + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + unsigned short int __seq; /* Sequence number. */ + unsigned short int __pad2; + __syscall_ulong_t __glibc_reserved1; + __syscall_ulong_t __glibc_reserved2; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc.h new file mode 100644 index 00000000..ee51271f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipc.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +#include + +/* Mode bits for `msgget', `semget', and `shmget'. */ +#define IPC_CREAT 01000 /* Create key if key does not exist. */ +#define IPC_EXCL 02000 /* Fail if key exists. */ +#define IPC_NOWAIT 04000 /* Return error on wait. */ + +/* Control commands for `msgctl', `semctl', and `shmctl'. */ +#define IPC_RMID 0 /* Remove identifier. */ +#define IPC_SET 1 /* Set `ipc_perm' options. */ +#define IPC_STAT 2 /* Get `ipc_perm' options. */ +#ifdef __USE_GNU +# define IPC_INFO 3 /* See ipcs. */ +#endif + +/* Special key values. */ +#define IPC_PRIVATE ((__key_t) 0) /* Private key. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipctypes.h new file mode 100644 index 00000000..a747e9c6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ipctypes.h @@ -0,0 +1,36 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. Generic. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +/* Used in `struct shmid_ds'. */ +# if __WORDSIZE == 32 +typedef unsigned short int __ipc_pid_t; +# else +typedef int __ipc_pid_t; +# endif + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/iscanonical.h new file mode 100644 index 00000000..35d24106 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/iscanonical.h @@ -0,0 +1,28 @@ +/* Define iscanonical macro. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +/* Return nonzero value if X is canonical. By default, we only have + IEEE interchange binary formats, in which all values are canonical, + but the argument must still be converted to its semantic type for + any exceptions arising from the conversion, before being + discarded. */ +#define iscanonical(x) ((void) (__typeof (x)) (x), 1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libc-header-start.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libc-header-start.h new file mode 100644 index 00000000..874d697a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libc-header-start.h @@ -0,0 +1,110 @@ +/* Handle feature test macros at the start of a header. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header is internal to glibc and should not be included outside + of glibc headers. Headers including it must define + __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header + cannot have multiple include guards because ISO C feature test + macros depend on the definition of the macro when an affected + header is included, not when the first system header is + included. */ + +#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +# error "Never include directly." +#endif + +#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION + +#include + +/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__ + macro. */ +#undef __GLIBC_USE_LIB_EXT2 +#if (defined __USE_GNU \ + || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0)) +# define __GLIBC_USE_LIB_EXT2 1 +#else +# define __GLIBC_USE_LIB_EXT2 0 +#endif + +/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__ + macro. Most but not all symbols enabled by that macro in TS + 18661-1 are enabled unconditionally in C23. In C23, the symbols in + Annex F still require a new feature test macro + __STDC_WANT_IEC_60559_EXT__ instead (C23 does not define + __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS + 18661-1 are not included in C23 (and thus should depend on + __STDC_WANT_IEC_60559_BFP_EXT__ even when C23 features are + enabled). + + __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS + 18661-1 not included in C23. + + __GLIBC_USE (IEC_60559_BFP_EXT_C23) controls those features from TS + 18661-1 that are also included in C23 (with no feature test macro + required in C23). + + __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1 + that are included in C23 but conditional on + __STDC_WANT_IEC_60559_EXT__. (There are currently no features + conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS + 18661-1.) */ +#undef __GLIBC_USE_IEC_60559_BFP_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__ +# define __GLIBC_USE_IEC_60559_BFP_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_BFP_EXT 0 +#endif +#undef __GLIBC_USE_IEC_60559_BFP_EXT_C23 +#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC23) +# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 1 +#else +# define __GLIBC_USE_IEC_60559_BFP_EXT_C23 0 +#endif +#undef __GLIBC_USE_IEC_60559_EXT +#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__ +# define __GLIBC_USE_IEC_60559_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_EXT 0 +#endif + +/* ISO/IEC TS 18661-4:2015 defines the + __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction + functions, the symbols from this TS are enabled unconditionally in + C23. */ +#undef __GLIBC_USE_IEC_60559_FUNCS_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__ +# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0 +#endif +#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 +#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC23) +# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1 +#else +# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C23 0 +#endif + +/* ISO/IEC TS 18661-3:2015 defines the + __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */ +#undef __GLIBC_USE_IEC_60559_TYPES_EXT +#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__ +# define __GLIBC_USE_IEC_60559_TYPES_EXT 1 +#else +# define __GLIBC_USE_IEC_60559_TYPES_EXT 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h new file mode 100644 index 00000000..436770e1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/libm-simd-decl-stubs.h @@ -0,0 +1,376 @@ +/* Empty definitions required for __MATHCALL_VEC unfolding in mathcalls.h. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Needed definitions could be generated with: + for func in $(grep __MATHCALL_VEC math/bits/mathcalls.h |\ + sed -r "s|__MATHCALL_VEC.?\(||; s|,.*||"); do + echo "#define __DECL_SIMD_${func}"; + echo "#define __DECL_SIMD_${func}f"; + echo "#define __DECL_SIMD_${func}l"; + done + */ + +#ifndef _BITS_LIBM_SIMD_DECL_STUBS_H +#define _BITS_LIBM_SIMD_DECL_STUBS_H 1 + +#define __DECL_SIMD_cos +#define __DECL_SIMD_cosf +#define __DECL_SIMD_cosl +#define __DECL_SIMD_cosf16 +#define __DECL_SIMD_cosf32 +#define __DECL_SIMD_cosf64 +#define __DECL_SIMD_cosf128 +#define __DECL_SIMD_cosf32x +#define __DECL_SIMD_cosf64x +#define __DECL_SIMD_cosf128x + +#define __DECL_SIMD_sin +#define __DECL_SIMD_sinf +#define __DECL_SIMD_sinl +#define __DECL_SIMD_sinf16 +#define __DECL_SIMD_sinf32 +#define __DECL_SIMD_sinf64 +#define __DECL_SIMD_sinf128 +#define __DECL_SIMD_sinf32x +#define __DECL_SIMD_sinf64x +#define __DECL_SIMD_sinf128x + +#define __DECL_SIMD_sincos +#define __DECL_SIMD_sincosf +#define __DECL_SIMD_sincosl +#define __DECL_SIMD_sincosf16 +#define __DECL_SIMD_sincosf32 +#define __DECL_SIMD_sincosf64 +#define __DECL_SIMD_sincosf128 +#define __DECL_SIMD_sincosf32x +#define __DECL_SIMD_sincosf64x +#define __DECL_SIMD_sincosf128x + +#define __DECL_SIMD_log +#define __DECL_SIMD_logf +#define __DECL_SIMD_logl +#define __DECL_SIMD_logf16 +#define __DECL_SIMD_logf32 +#define __DECL_SIMD_logf64 +#define __DECL_SIMD_logf128 +#define __DECL_SIMD_logf32x +#define __DECL_SIMD_logf64x +#define __DECL_SIMD_logf128x + +#define __DECL_SIMD_exp +#define __DECL_SIMD_expf +#define __DECL_SIMD_expl +#define __DECL_SIMD_expf16 +#define __DECL_SIMD_expf32 +#define __DECL_SIMD_expf64 +#define __DECL_SIMD_expf128 +#define __DECL_SIMD_expf32x +#define __DECL_SIMD_expf64x +#define __DECL_SIMD_expf128x + +#define __DECL_SIMD_pow +#define __DECL_SIMD_powf +#define __DECL_SIMD_powl +#define __DECL_SIMD_powf16 +#define __DECL_SIMD_powf32 +#define __DECL_SIMD_powf64 +#define __DECL_SIMD_powf128 +#define __DECL_SIMD_powf32x +#define __DECL_SIMD_powf64x +#define __DECL_SIMD_powf128x + +#define __DECL_SIMD_acos +#define __DECL_SIMD_acosf +#define __DECL_SIMD_acosl +#define __DECL_SIMD_acosf16 +#define __DECL_SIMD_acosf32 +#define __DECL_SIMD_acosf64 +#define __DECL_SIMD_acosf128 +#define __DECL_SIMD_acosf32x +#define __DECL_SIMD_acosf64x +#define __DECL_SIMD_acosf128x + +#define __DECL_SIMD_atan +#define __DECL_SIMD_atanf +#define __DECL_SIMD_atanl +#define __DECL_SIMD_atanf16 +#define __DECL_SIMD_atanf32 +#define __DECL_SIMD_atanf64 +#define __DECL_SIMD_atanf128 +#define __DECL_SIMD_atanf32x +#define __DECL_SIMD_atanf64x +#define __DECL_SIMD_atanf128x + +#define __DECL_SIMD_asin +#define __DECL_SIMD_asinf +#define __DECL_SIMD_asinl +#define __DECL_SIMD_asinf16 +#define __DECL_SIMD_asinf32 +#define __DECL_SIMD_asinf64 +#define __DECL_SIMD_asinf128 +#define __DECL_SIMD_asinf32x +#define __DECL_SIMD_asinf64x +#define __DECL_SIMD_asinf128x + +#define __DECL_SIMD_hypot +#define __DECL_SIMD_hypotf +#define __DECL_SIMD_hypotl +#define __DECL_SIMD_hypotf16 +#define __DECL_SIMD_hypotf32 +#define __DECL_SIMD_hypotf64 +#define __DECL_SIMD_hypotf128 +#define __DECL_SIMD_hypotf32x +#define __DECL_SIMD_hypotf64x +#define __DECL_SIMD_hypotf128x + +#define __DECL_SIMD_exp2 +#define __DECL_SIMD_exp2f +#define __DECL_SIMD_exp2l +#define __DECL_SIMD_exp2f16 +#define __DECL_SIMD_exp2f32 +#define __DECL_SIMD_exp2f64 +#define __DECL_SIMD_exp2f128 +#define __DECL_SIMD_exp2f32x +#define __DECL_SIMD_exp2f64x +#define __DECL_SIMD_exp2f128x + +#define __DECL_SIMD_exp10 +#define __DECL_SIMD_exp10f +#define __DECL_SIMD_exp10l +#define __DECL_SIMD_exp10f16 +#define __DECL_SIMD_exp10f32 +#define __DECL_SIMD_exp10f64 +#define __DECL_SIMD_exp10f128 +#define __DECL_SIMD_exp10f32x +#define __DECL_SIMD_exp10f64x +#define __DECL_SIMD_exp10f128x + +#define __DECL_SIMD_cosh +#define __DECL_SIMD_coshf +#define __DECL_SIMD_coshl +#define __DECL_SIMD_coshf16 +#define __DECL_SIMD_coshf32 +#define __DECL_SIMD_coshf64 +#define __DECL_SIMD_coshf128 +#define __DECL_SIMD_coshf32x +#define __DECL_SIMD_coshf64x +#define __DECL_SIMD_coshf128x + +#define __DECL_SIMD_expm1 +#define __DECL_SIMD_expm1f +#define __DECL_SIMD_expm1l +#define __DECL_SIMD_expm1f16 +#define __DECL_SIMD_expm1f32 +#define __DECL_SIMD_expm1f64 +#define __DECL_SIMD_expm1f128 +#define __DECL_SIMD_expm1f32x +#define __DECL_SIMD_expm1f64x +#define __DECL_SIMD_expm1f128x + +#define __DECL_SIMD_sinh +#define __DECL_SIMD_sinhf +#define __DECL_SIMD_sinhl +#define __DECL_SIMD_sinhf16 +#define __DECL_SIMD_sinhf32 +#define __DECL_SIMD_sinhf64 +#define __DECL_SIMD_sinhf128 +#define __DECL_SIMD_sinhf32x +#define __DECL_SIMD_sinhf64x +#define __DECL_SIMD_sinhf128x + +#define __DECL_SIMD_cbrt +#define __DECL_SIMD_cbrtf +#define __DECL_SIMD_cbrtl +#define __DECL_SIMD_cbrtf16 +#define __DECL_SIMD_cbrtf32 +#define __DECL_SIMD_cbrtf64 +#define __DECL_SIMD_cbrtf128 +#define __DECL_SIMD_cbrtf32x +#define __DECL_SIMD_cbrtf64x +#define __DECL_SIMD_cbrtf128x + +#define __DECL_SIMD_atan2 +#define __DECL_SIMD_atan2f +#define __DECL_SIMD_atan2l +#define __DECL_SIMD_atan2f16 +#define __DECL_SIMD_atan2f32 +#define __DECL_SIMD_atan2f64 +#define __DECL_SIMD_atan2f128 +#define __DECL_SIMD_atan2f32x +#define __DECL_SIMD_atan2f64x +#define __DECL_SIMD_atan2f128x + +#define __DECL_SIMD_log10 +#define __DECL_SIMD_log10f +#define __DECL_SIMD_log10l +#define __DECL_SIMD_log10f16 +#define __DECL_SIMD_log10f32 +#define __DECL_SIMD_log10f64 +#define __DECL_SIMD_log10f128 +#define __DECL_SIMD_log10f32x +#define __DECL_SIMD_log10f64x +#define __DECL_SIMD_log10f128x + +#define __DECL_SIMD_log2 +#define __DECL_SIMD_log2f +#define __DECL_SIMD_log2l +#define __DECL_SIMD_log2f16 +#define __DECL_SIMD_log2f32 +#define __DECL_SIMD_log2f64 +#define __DECL_SIMD_log2f128 +#define __DECL_SIMD_log2f32x +#define __DECL_SIMD_log2f64x +#define __DECL_SIMD_log2f128x + +#define __DECL_SIMD_log1p +#define __DECL_SIMD_log1pf +#define __DECL_SIMD_log1pl +#define __DECL_SIMD_log1pf16 +#define __DECL_SIMD_log1pf32 +#define __DECL_SIMD_log1pf64 +#define __DECL_SIMD_log1pf128 +#define __DECL_SIMD_log1pf32x +#define __DECL_SIMD_log1pf64x +#define __DECL_SIMD_log1pf128x + +#define __DECL_SIMD_logp1 +#define __DECL_SIMD_logp1f +#define __DECL_SIMD_logp1l +#define __DECL_SIMD_logp1f16 +#define __DECL_SIMD_logp1f32 +#define __DECL_SIMD_logp1f64 +#define __DECL_SIMD_logp1f128 +#define __DECL_SIMD_logp1f32x +#define __DECL_SIMD_logp1f64x +#define __DECL_SIMD_logp1f128x + +#define __DECL_SIMD_atanh +#define __DECL_SIMD_atanhf +#define __DECL_SIMD_atanhl +#define __DECL_SIMD_atanhf16 +#define __DECL_SIMD_atanhf32 +#define __DECL_SIMD_atanhf64 +#define __DECL_SIMD_atanhf128 +#define __DECL_SIMD_atanhf32x +#define __DECL_SIMD_atanhf64x +#define __DECL_SIMD_atanhf128x + +#define __DECL_SIMD_acosh +#define __DECL_SIMD_acoshf +#define __DECL_SIMD_acoshl +#define __DECL_SIMD_acoshf16 +#define __DECL_SIMD_acoshf32 +#define __DECL_SIMD_acoshf64 +#define __DECL_SIMD_acoshf128 +#define __DECL_SIMD_acoshf32x +#define __DECL_SIMD_acoshf64x +#define __DECL_SIMD_acoshf128x + +#define __DECL_SIMD_erf +#define __DECL_SIMD_erff +#define __DECL_SIMD_erfl +#define __DECL_SIMD_erff16 +#define __DECL_SIMD_erff32 +#define __DECL_SIMD_erff64 +#define __DECL_SIMD_erff128 +#define __DECL_SIMD_erff32x +#define __DECL_SIMD_erff64x +#define __DECL_SIMD_erff128x + +#define __DECL_SIMD_tanh +#define __DECL_SIMD_tanhf +#define __DECL_SIMD_tanhl +#define __DECL_SIMD_tanhf16 +#define __DECL_SIMD_tanhf32 +#define __DECL_SIMD_tanhf64 +#define __DECL_SIMD_tanhf128 +#define __DECL_SIMD_tanhf32x +#define __DECL_SIMD_tanhf64x +#define __DECL_SIMD_tanhf128x + +#define __DECL_SIMD_asinh +#define __DECL_SIMD_asinhf +#define __DECL_SIMD_asinhl +#define __DECL_SIMD_asinhf16 +#define __DECL_SIMD_asinhf32 +#define __DECL_SIMD_asinhf64 +#define __DECL_SIMD_asinhf128 +#define __DECL_SIMD_asinhf32x +#define __DECL_SIMD_asinhf64x +#define __DECL_SIMD_asinhf128x + +#define __DECL_SIMD_erfc +#define __DECL_SIMD_erfcf +#define __DECL_SIMD_erfcl +#define __DECL_SIMD_erfcf16 +#define __DECL_SIMD_erfcf32 +#define __DECL_SIMD_erfcf64 +#define __DECL_SIMD_erfcf128 +#define __DECL_SIMD_erfcf32x +#define __DECL_SIMD_erfcf64x +#define __DECL_SIMD_erfcf128x + +#define __DECL_SIMD_tan +#define __DECL_SIMD_tanf +#define __DECL_SIMD_tanl +#define __DECL_SIMD_tanf16 +#define __DECL_SIMD_tanf32 +#define __DECL_SIMD_tanf64 +#define __DECL_SIMD_tanf128 +#define __DECL_SIMD_tanf32x +#define __DECL_SIMD_tanf64x +#define __DECL_SIMD_tanf128x + +#define __DECL_SIMD_sinpi +#define __DECL_SIMD_sinpif +#define __DECL_SIMD_sinpil +#define __DECL_SIMD_sinpif16 +#define __DECL_SIMD_sinpif32 +#define __DECL_SIMD_sinpif64 +#define __DECL_SIMD_sinpif128 +#define __DECL_SIMD_sinpif32x +#define __DECL_SIMD_sinpif64x +#define __DECL_SIMD_sinpif128x + +#define __DECL_SIMD_cospi +#define __DECL_SIMD_cospif +#define __DECL_SIMD_cospil +#define __DECL_SIMD_cospif16 +#define __DECL_SIMD_cospif32 +#define __DECL_SIMD_cospif64 +#define __DECL_SIMD_cospif128 +#define __DECL_SIMD_cospif32x +#define __DECL_SIMD_cospif64x +#define __DECL_SIMD_cospif128x + +#define __DECL_SIMD_tanpi +#define __DECL_SIMD_tanpif +#define __DECL_SIMD_tanpil +#define __DECL_SIMD_tanpif16 +#define __DECL_SIMD_tanpif32 +#define __DECL_SIMD_tanpif64 +#define __DECL_SIMD_tanpif128 +#define __DECL_SIMD_tanpif32x +#define __DECL_SIMD_tanpif64x +#define __DECL_SIMD_tanpif128x +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link.h new file mode 100644 index 00000000..dd48323d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link.h @@ -0,0 +1,117 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Registers for entry into PLT on MIPS. */ +typedef struct La_mips_32_regs +{ + uint32_t lr_reg[4]; /* $a0 through $a3 */ + double lr_fpreg[2]; /* $f12 and $f14 */ + uint32_t lr_ra; + uint32_t lr_sp; +} La_mips_32_regs; + +/* Return values for calls from PLT on MIPS. */ +typedef struct La_mips_32_retval +{ + uint32_t lrv_v0; + uint32_t lrv_v1; + double lrv_f0; + double lrv_f2; +} La_mips_32_retval; + +#else + +typedef struct La_mips_64_regs +{ + uint64_t lr_reg[8]; /* $a0 through $a7 */ + double lr_fpreg[8]; /* $f12 through $f19 */ + uint64_t lr_ra; + uint64_t lr_sp; +} La_mips_64_regs; + +/* Return values for calls from PLT on MIPS. */ +typedef struct La_mips_64_retval +{ + uint64_t lrv_v0; + uint64_t lrv_v1; + double lrv_f0; + double lrv_f2; +} La_mips_64_retval; + +#endif + +__BEGIN_DECLS + +#if _MIPS_SIM == _ABIO32 + +extern Elf32_Addr la_mips_o32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_mips_32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_mips_o32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_mips_32_regs *__inregs, + La_mips_32_retval *__outregs, + const char *__symname); + +#elif _MIPS_SIM == _ABIN32 + +extern Elf32_Addr la_mips_n32_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_mips_64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_mips_n32_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_mips_64_regs *__inregs, + La_mips_64_retval *__outregs, + const char *__symname); + +#else + +extern Elf64_Addr la_mips_n64_gnu_pltenter (Elf64_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_mips_64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_mips_n64_gnu_pltexit (Elf64_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_mips_64_regs *__inregs, + La_mips_64_retval *__outregs, + const char *__symname); + +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link_lavcurrent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link_lavcurrent.h new file mode 100644 index 00000000..dab34fb3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/link_lavcurrent.h @@ -0,0 +1,25 @@ +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. LAV_CURRENT definition. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Version numbers for la_version handshake interface. */ +#define LAV_CURRENT 2 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/local_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/local_lim.h new file mode 100644 index 00000000..307c15f4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/local_lim.h @@ -0,0 +1,99 @@ +/* Minimum guaranteed maximum values for system limits. Linux version. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* The kernel header pollutes the namespace with the NR_OPEN symbol + and defines LINK_MAX although filesystems have different maxima. A + similar thing is true for OPEN_MAX: the limit can be changed at + runtime and therefore the macro must not be defined. Remove this + after including the header if necessary. */ +#ifndef NR_OPEN +# define __undef_NR_OPEN +#endif +#ifndef LINK_MAX +# define __undef_LINK_MAX +#endif +#ifndef OPEN_MAX +# define __undef_OPEN_MAX +#endif +#ifndef ARG_MAX +# define __undef_ARG_MAX +#endif + +/* The kernel sources contain a file with all the needed information. */ +#include + +/* Have to remove NR_OPEN? */ +#ifdef __undef_NR_OPEN +# undef NR_OPEN +# undef __undef_NR_OPEN +#endif +/* Have to remove LINK_MAX? */ +#ifdef __undef_LINK_MAX +# undef LINK_MAX +# undef __undef_LINK_MAX +#endif +/* Have to remove OPEN_MAX? */ +#ifdef __undef_OPEN_MAX +# undef OPEN_MAX +# undef __undef_OPEN_MAX +#endif +/* Have to remove ARG_MAX? */ +#ifdef __undef_ARG_MAX +# undef ARG_MAX +# undef __undef_ARG_MAX +#endif + +/* The number of data keys per process. */ +#define _POSIX_THREAD_KEYS_MAX 128 +/* This is the value this implementation supports. */ +#define PTHREAD_KEYS_MAX 1024 + +/* Controlling the iterations of destructors for thread-specific data. */ +#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 +/* Number of iterations this implementation does. */ +#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS + +/* The number of threads per process. */ +#define _POSIX_THREAD_THREADS_MAX 64 +/* We have no predefined limit on the number of threads. */ +#undef PTHREAD_THREADS_MAX + +/* Maximum amount by which a process can decrease its asynchronous I/O + priority level. */ +#define AIO_PRIO_DELTA_MAX 20 + +/* Arrange for the definition of PTHREAD_STACK_MIN. */ +#include + +/* Maximum number of timer expiration overruns. */ +#define DELAYTIMER_MAX 2147483647 + +/* Maximum tty name length. */ +#define TTY_NAME_MAX 32 + +/* Maximum login name length. This is arbitrary. */ +#define LOGIN_NAME_MAX 256 + +/* Maximum host name length. */ +#define HOST_NAME_MAX 64 + +/* Maximum message queue priority level. */ +#define MQ_PRIO_MAX 32768 + +/* Maximum value the semaphore can have. */ +#define SEM_VALUE_MAX (2147483647) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/locale.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/locale.h new file mode 100644 index 00000000..f327ed10 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/locale.h @@ -0,0 +1,40 @@ +/* Definition of locale category symbol values. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _LOCALE_H && !defined _LANGINFO_H +# error "Never use directly; include instead." +#endif + +#ifndef _BITS_LOCALE_H +#define _BITS_LOCALE_H 1 + +#define __LC_CTYPE 0 +#define __LC_NUMERIC 1 +#define __LC_TIME 2 +#define __LC_COLLATE 3 +#define __LC_MONETARY 4 +#define __LC_MESSAGES 5 +#define __LC_ALL 6 +#define __LC_PAPER 7 +#define __LC_NAME 8 +#define __LC_ADDRESS 9 +#define __LC_TELEPHONE 10 +#define __LC_MEASUREMENT 11 +#define __LC_IDENTIFICATION 12 + +#endif /* bits/locale.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/long-double.h new file mode 100644 index 00000000..d745334e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/long-double.h @@ -0,0 +1,24 @@ +/* Properties of long double type. MIPS version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +#if !defined __NO_LONG_DOUBLE_MATH && _MIPS_SIM == _ABIO32 +# define __NO_LONG_DOUBLE_MATH 1 +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/math-vector.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/math-vector.h new file mode 100644 index 00000000..eb2bb2a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/math-vector.h @@ -0,0 +1,27 @@ +/* Platform-specific SIMD declarations of math functions. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly;\ + include instead." +#endif + +/* Get default empty definitions required for __MATHCALL_VEC unfolding. + Plaform-specific analogue of this header should redefine them with specific + SIMD declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h new file mode 100644 index 00000000..d43de427 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-helper-functions.h @@ -0,0 +1,45 @@ +/* Prototype declarations for math classification macros helpers. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Classify given number. */ +__MATHDECL_ALIAS (int, __fpclassify,, (_Mdouble_ __value), fpclassify) + __attribute__ ((__const__)); + +/* Test for negative number. */ +__MATHDECL_ALIAS (int, __signbit,, (_Mdouble_ __value), signbit) + __attribute__ ((__const__)); + +/* Return 0 if VALUE is finite or NaN, +1 if it + is +Infinity, -1 if it is -Infinity. */ +__MATHDECL_ALIAS (int, __isinf,, (_Mdouble_ __value), isinf) + __attribute__ ((__const__)); + +/* Return nonzero if VALUE is finite and not NaN. Used by isfinite macro. */ +__MATHDECL_ALIAS (int, __finite,, (_Mdouble_ __value), finite) + __attribute__ ((__const__)); + +/* Return nonzero if VALUE is not a number. */ +__MATHDECL_ALIAS (int, __isnan,, (_Mdouble_ __value), isnan) + __attribute__ ((__const__)); + +/* Test equality. */ +__MATHDECL_ALIAS (int, __iseqsig,, (_Mdouble_ __x, _Mdouble_ __y), iseqsig); + +/* Test for signaling NaN. */ +__MATHDECL_ALIAS (int, __issignaling,, (_Mdouble_ __value), issignaling) + __attribute__ ((__const__)); \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-macros.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-macros.h new file mode 100644 index 00000000..6c29a778 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-macros.h @@ -0,0 +1,48 @@ +/* Macros for math function declarations. + Copyright (C) 2024-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __SIMD_DECL(function) __CONCAT (__DECL_SIMD_, function) + +#define __MATHCALL_VEC(function, suffix, args) \ + __SIMD_DECL (__MATH_PRECNAME (function, suffix)) \ + __MATHCALL (function, suffix, args) + +#define __MATHDECL_VEC(type, function,suffix, args) \ + __SIMD_DECL (__MATH_PRECNAME (function, suffix)) \ + __MATHDECL(type, function,suffix, args) + +#define __MATHCALL(function,suffix, args) \ + __MATHDECL (_Mdouble_,function,suffix, args) +#define __MATHDECL(type, function,suffix, args) \ + __MATHDECL_1(type, function,suffix, args); \ + __MATHDECL_1(type, __CONCAT(__,function),suffix, args) +#define __MATHCALLX(function,suffix, args, attrib) \ + __MATHDECLX (_Mdouble_,function,suffix, args, attrib) +#define __MATHDECLX(type, function,suffix, args, attrib) \ + __MATHDECL_1(type, function,suffix, args) __attribute__ (attrib); +#define __MATHDECL_1_IMPL(type, function, suffix, args) \ + extern type __MATH_PRECNAME(function,suffix) args __THROW +#define __MATHDECL_1(type, function, suffix, args) \ + __MATHDECL_1_IMPL(type, function, suffix, args) +/* Ignore the alias by default. The alias is only useful with + redirections. */ +#define __MATHDECL_ALIAS(type, function, suffix, args, alias) \ + __MATHDECL_1(type, function, suffix, args) + +#define __MATHREDIR(type, function, suffix, args, to) \ + extern type __REDIRECT_NTH (__MATH_PRECNAME (function, suffix), args, to) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h new file mode 100644 index 00000000..9e73c83f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls-narrow.h @@ -0,0 +1,39 @@ +/* Declare functions returning a narrower type. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never include directly; include instead." +#endif + +/* Add. */ +__MATHCALL_NARROW (__MATHCALL_NAME (add), __MATHCALL_REDIR_NAME (add), 2); + +/* Divide. */ +__MATHCALL_NARROW (__MATHCALL_NAME (div), __MATHCALL_REDIR_NAME (div), 2); + +/* Fused multiply-add. */ +__MATHCALL_NARROW (__MATHCALL_NAME (fma), __MATHCALL_REDIR_NAME2 (fma), 3); + +/* Multiply. */ +__MATHCALL_NARROW (__MATHCALL_NAME (mul), __MATHCALL_REDIR_NAME (mul), 2); + +/* Square root. */ +__MATHCALL_NARROW (__MATHCALL_NAME (sqrt), __MATHCALL_REDIR_NAME2 (sqrt), 1); + +/* Subtract. */ +__MATHCALL_NARROW (__MATHCALL_NAME (sub), __MATHCALL_REDIR_NAME (sub), 2); \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls.h new file mode 100644 index 00000000..4f93b693 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathcalls.h @@ -0,0 +1,469 @@ +/* Prototype declarations for math functions; helper file for . + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* NOTE: Because of the special way this file is used by , this + file must NOT be protected from multiple inclusion as header files + usually are. + + This file provides prototype declarations for the math functions. + Most functions are declared using the macro: + + __MATHCALL (NAME,[_r], (ARGS...)); + + This means there is a function `NAME' returning `double' and a function + `NAMEf' returning `float'. Each place `_Mdouble_' appears in the + prototype, that is actually `double' in the prototype for `NAME' and + `float' in the prototype for `NAMEf'. Reentrant variant functions are + called `NAME_r' and `NAMEf_r'. + + Functions returning other types like `int' are declared using the macro: + + __MATHDECL (TYPE, NAME,[_r], (ARGS...)); + + This is just like __MATHCALL but for a function returning `TYPE' + instead of `_Mdouble_'. In all of these cases, there is still + both a `NAME' and a `NAMEf' that takes `float' arguments. + + Note that there must be no whitespace before the argument passed for + NAME, to make token pasting work with -traditional. */ + +#ifndef _MATH_H +# error "Never include directly; include instead." +#endif + + +/* Trigonometric functions. */ + +/* Arc cosine of X. */ +__MATHCALL_VEC (acos,, (_Mdouble_ __x)); +/* Arc sine of X. */ +__MATHCALL_VEC (asin,, (_Mdouble_ __x)); +/* Arc tangent of X. */ +__MATHCALL_VEC (atan,, (_Mdouble_ __x)); +/* Arc tangent of Y/X. */ +__MATHCALL_VEC (atan2,, (_Mdouble_ __y, _Mdouble_ __x)); + +/* Cosine of X. */ +__MATHCALL_VEC (cos,, (_Mdouble_ __x)); +/* Sine of X. */ +__MATHCALL_VEC (sin,, (_Mdouble_ __x)); +/* Tangent of X. */ +__MATHCALL_VEC (tan,, (_Mdouble_ __x)); + +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23) +/* Arc cosine of X, divided by pi. */ +__MATHCALL (acospi,, (_Mdouble_ __x)); +/* Arc sine of X, divided by pi. */ +__MATHCALL (asinpi,, (_Mdouble_ __x)); +/* Arc tangent of X, divided by pi. */ +__MATHCALL (atanpi,, (_Mdouble_ __x)); +/* Arc tangent of Y/X, divided by pi. */ +__MATHCALL (atan2pi,, (_Mdouble_ __y, _Mdouble_ __x)); + +/* Cosine of pi * X. */ +__MATHCALL_VEC (cospi,, (_Mdouble_ __x)); +/* Sine of pi * X. */ +__MATHCALL_VEC (sinpi,, (_Mdouble_ __x)); +/* Tangent of pi * X. */ +__MATHCALL_VEC (tanpi,, (_Mdouble_ __x)); +#endif + +/* Hyperbolic functions. */ + +/* Hyperbolic cosine of X. */ +__MATHCALL_VEC (cosh,, (_Mdouble_ __x)); +/* Hyperbolic sine of X. */ +__MATHCALL_VEC (sinh,, (_Mdouble_ __x)); +/* Hyperbolic tangent of X. */ +__MATHCALL_VEC (tanh,, (_Mdouble_ __x)); + +#ifdef __USE_GNU +/* Cosine and sine of X. */ +__MATHDECL_VEC (void,sincos,, + (_Mdouble_ __x, _Mdouble_ *__sinx, _Mdouble_ *__cosx)); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 +/* Hyperbolic arc cosine of X. */ +__MATHCALL_VEC (acosh,, (_Mdouble_ __x)); +/* Hyperbolic arc sine of X. */ +__MATHCALL_VEC (asinh,, (_Mdouble_ __x)); +/* Hyperbolic arc tangent of X. */ +__MATHCALL_VEC (atanh,, (_Mdouble_ __x)); +#endif + +/* Exponential and logarithmic functions. */ + +/* Exponential function of X. */ +__MATHCALL_VEC (exp,, (_Mdouble_ __x)); + +/* Break VALUE into a normalized fraction and an integral power of 2. */ +__MATHCALL (frexp,, (_Mdouble_ __x, int *__exponent)); + +/* X times (two to the EXP power). */ +__MATHCALL (ldexp,, (_Mdouble_ __x, int __exponent)); + +/* Natural logarithm of X. */ +__MATHCALL_VEC (log,, (_Mdouble_ __x)); + +/* Base-ten logarithm of X. */ +__MATHCALL_VEC (log10,, (_Mdouble_ __x)); + +/* Break VALUE into integral and fractional parts. */ +__MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2)); + +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23) +/* Compute exponent to base ten. */ +__MATHCALL_VEC (exp10,, (_Mdouble_ __x)); + +/* Return exp2(X) - 1. */ +__MATHCALL (exp2m1,, (_Mdouble_ __x)); + +/* Return exp10(X) - 1. */ +__MATHCALL (exp10m1,, (_Mdouble_ __x)); + +/* Return log2(1 + X). */ +__MATHCALL (log2p1,, (_Mdouble_ __x)); + +/* Return log10(1 + X). */ +__MATHCALL (log10p1,, (_Mdouble_ __x)); + +/* Return log(1 + X). */ +__MATHCALL_VEC (logp1,, (_Mdouble_ __x)); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 +/* Return exp(X) - 1. */ +__MATHCALL_VEC (expm1,, (_Mdouble_ __x)); + +/* Return log(1 + X). */ +__MATHCALL_VEC (log1p,, (_Mdouble_ __x)); + +/* Return the base 2 signed integral exponent of X. */ +__MATHCALL (logb,, (_Mdouble_ __x)); +#endif + +#ifdef __USE_ISOC99 +/* Compute base-2 exponential of X. */ +__MATHCALL_VEC (exp2,, (_Mdouble_ __x)); + +/* Compute base-2 logarithm of X. */ +__MATHCALL_VEC (log2,, (_Mdouble_ __x)); +#endif + + +/* Power functions. */ + +/* Return X to the Y power. */ +__MATHCALL_VEC (pow,, (_Mdouble_ __x, _Mdouble_ __y)); + +/* Return the square root of X. */ +__MATHCALL (sqrt,, (_Mdouble_ __x)); + +#if defined __USE_XOPEN || defined __USE_ISOC99 +/* Return `sqrt(X*X + Y*Y)'. */ +__MATHCALL_VEC (hypot,, (_Mdouble_ __x, _Mdouble_ __y)); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 +/* Return the cube root of X. */ +__MATHCALL_VEC (cbrt,, (_Mdouble_ __x)); +#endif + + +/* Nearest integer, absolute value, and remainder functions. */ + +/* Smallest integral value not less than X. */ +__MATHCALLX (ceil,, (_Mdouble_ __x), (__const__)); + +/* Absolute value of X. */ +__MATHCALLX (fabs,, (_Mdouble_ __x), (__const__)); + +/* Largest integer not greater than X. */ +__MATHCALLX (floor,, (_Mdouble_ __x), (__const__)); + +/* Floating-point modulo remainder of X/Y. */ +__MATHCALL (fmod,, (_Mdouble_ __x, _Mdouble_ __y)); + +#ifdef __USE_MISC +# if ((!defined __cplusplus \ + || __cplusplus < 201103L /* isinf conflicts with C++11. */ \ + || __MATH_DECLARING_DOUBLE == 0)) /* isinff or isinfl don't. */ \ + && !__MATH_DECLARING_FLOATN +/* Return 0 if VALUE is finite or NaN, +1 if it + is +Infinity, -1 if it is -Infinity. */ +__MATHDECL_ALIAS (int,isinf,, (_Mdouble_ __value), isinf) + __attribute__ ((__const__)); +# endif + +# if !__MATH_DECLARING_FLOATN +/* Return nonzero if VALUE is finite and not NaN. */ +__MATHDECL_ALIAS (int,finite,, (_Mdouble_ __value), finite) + __attribute__ ((__const__)); + +/* Return the remainder of X/Y. */ +__MATHCALL (drem,, (_Mdouble_ __x, _Mdouble_ __y)); + + +/* Return the fractional part of X after dividing out `ilogb (X)'. */ +__MATHCALL (significand,, (_Mdouble_ __x)); +# endif + +#endif /* Use misc. */ + +#ifdef __USE_ISOC99 +/* Return X with its signed changed to Y's. */ +__MATHCALLX (copysign,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +#endif + +#ifdef __USE_ISOC99 +/* Return representation of qNaN for double type. */ +__MATHCALL (nan,, (const char *__tagb)); +#endif + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# if ((!defined __cplusplus \ + || __cplusplus < 201103L /* isnan conflicts with C++11. */ \ + || __MATH_DECLARING_DOUBLE == 0)) /* isnanf or isnanl don't. */ \ + && !__MATH_DECLARING_FLOATN +/* Return nonzero if VALUE is not a number. */ +__MATHDECL_ALIAS (int,isnan,, (_Mdouble_ __value), isnan) + __attribute__ ((__const__)); +# endif +#endif + +#if defined __USE_MISC || (defined __USE_XOPEN && __MATH_DECLARING_DOUBLE) +/* Bessel functions. */ +__MATHCALL (j0,, (_Mdouble_)); +__MATHCALL (j1,, (_Mdouble_)); +__MATHCALL (jn,, (int, _Mdouble_)); +__MATHCALL (y0,, (_Mdouble_)); +__MATHCALL (y1,, (_Mdouble_)); +__MATHCALL (yn,, (int, _Mdouble_)); +#endif + + +#if defined __USE_XOPEN || defined __USE_ISOC99 +/* Error and gamma functions. */ +__MATHCALL_VEC (erf,, (_Mdouble_)); +__MATHCALL_VEC (erfc,, (_Mdouble_)); +__MATHCALL (lgamma,, (_Mdouble_)); +#endif + +#ifdef __USE_ISOC99 +/* True gamma function. */ +__MATHCALL (tgamma,, (_Mdouble_)); +#endif + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# if !__MATH_DECLARING_FLOATN +/* Obsolete alias for `lgamma'. */ +__MATHCALL (gamma,, (_Mdouble_)); +# endif +#endif + +#ifdef __USE_MISC +/* Reentrant version of lgamma. This function uses the global variable + `signgam'. The reentrant version instead takes a pointer and stores + the value through it. */ +__MATHCALL (lgamma,_r, (_Mdouble_, int *__signgamp)); +#endif + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99 +/* Return the integer nearest X in the direction of the + prevailing rounding mode. */ +__MATHCALL (rint,, (_Mdouble_ __x)); + +/* Return X + epsilon if X < Y, X - epsilon if X > Y. */ +__MATHCALL (nextafter,, (_Mdouble_ __x, _Mdouble_ __y)); +# if defined __USE_ISOC99 && !defined __LDBL_COMPAT && !__MATH_DECLARING_FLOATN +__MATHCALL (nexttoward,, (_Mdouble_ __x, long double __y)); +# endif + +# if __GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN +/* Return X - epsilon. */ +__MATHCALL (nextdown,, (_Mdouble_ __x)); +/* Return X + epsilon. */ +__MATHCALL (nextup,, (_Mdouble_ __x)); +# endif + +/* Return the remainder of integer division X / Y with infinite precision. */ +__MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); + +# ifdef __USE_ISOC99 +/* Return X times (2 to the Nth power). */ +__MATHCALL (scalbn,, (_Mdouble_ __x, int __n)); +# endif + +/* Return the binary exponent of X, which must be nonzero. */ +__MATHDECL (int,ilogb,, (_Mdouble_ __x)); +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN +/* Like ilogb, but returning long int. */ +__MATHDECL (long int, llogb,, (_Mdouble_ __x)); +#endif + +#ifdef __USE_ISOC99 +/* Return X times (2 to the Nth power). */ +__MATHCALL (scalbln,, (_Mdouble_ __x, long int __n)); + +/* Round X to integral value in floating-point format using current + rounding direction, but do not raise inexact exception. */ +__MATHCALL (nearbyint,, (_Mdouble_ __x)); + +/* Round X to nearest integral value, rounding halfway cases away from + zero. */ +__MATHCALLX (round,, (_Mdouble_ __x), (__const__)); + +/* Round X to the integral value in floating-point format nearest but + not larger in magnitude. */ +__MATHCALLX (trunc,, (_Mdouble_ __x), (__const__)); + +/* Compute remainder of X and Y and put in *QUO a value with sign of x/y + and magnitude congruent `mod 2^n' to the magnitude of the integral + quotient x/y, with n >= 3. */ +__MATHCALL (remquo,, (_Mdouble_ __x, _Mdouble_ __y, int *__quo)); + + +/* Conversion functions. */ + +/* Round X to nearest integral value according to current rounding + direction. */ +__MATHDECL (long int,lrint,, (_Mdouble_ __x)); +__extension__ +__MATHDECL (long long int,llrint,, (_Mdouble_ __x)); + +/* Round X to nearest integral value, rounding halfway cases away from + zero. */ +__MATHDECL (long int,lround,, (_Mdouble_ __x)); +__extension__ +__MATHDECL (long long int,llround,, (_Mdouble_ __x)); + + +/* Return positive difference between X and Y. */ +__MATHCALL (fdim,, (_Mdouble_ __x, _Mdouble_ __y)); + +# if !__MATH_DECLARING_FLOATN || defined __USE_GNU || !__GLIBC_USE (ISOC23) +/* Return maximum numeric value from X and Y. */ +__MATHCALLX (fmax,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum numeric value from X and Y. */ +__MATHCALLX (fmin,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +# endif + +/* Multiply-add function computed as a ternary operation. */ +__MATHCALL (fma,, (_Mdouble_ __x, _Mdouble_ __y, _Mdouble_ __z)); +#endif /* Use ISO C99. */ + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) || __MATH_DECLARING_FLOATN +/* Round X to nearest integer value, rounding halfway cases to even. */ +__MATHCALLX (roundeven,, (_Mdouble_ __x), (__const__)); + +/* Round X to nearest signed integer value, not raising inexact, with + control of rounding direction and width of result. */ +__MATHDECL (__intmax_t, fromfp,, (_Mdouble_ __x, int __round, + unsigned int __width)); + +/* Round X to nearest unsigned integer value, not raising inexact, + with control of rounding direction and width of result. */ +__MATHDECL (__uintmax_t, ufromfp,, (_Mdouble_ __x, int __round, + unsigned int __width)); + +/* Round X to nearest signed integer value, raising inexact for + non-integers, with control of rounding direction and width of + result. */ +__MATHDECL (__intmax_t, fromfpx,, (_Mdouble_ __x, int __round, + unsigned int __width)); + +/* Round X to nearest unsigned integer value, raising inexact for + non-integers, with control of rounding direction and width of + result. */ +__MATHDECL (__uintmax_t, ufromfpx,, (_Mdouble_ __x, int __round, + unsigned int __width)); + +/* Canonicalize floating-point representation. */ +__MATHDECL_1 (int, canonicalize,, (_Mdouble_ *__cx, const _Mdouble_ *__x)); +#endif + +#if (__GLIBC_USE (IEC_60559_BFP_EXT) \ + || (__MATH_DECLARING_FLOATN \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23)))) +/* Return value with maximum magnitude. */ +__MATHCALLX (fmaxmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with minimum magnitude. */ +__MATHCALLX (fminmag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +#endif + +#if __GLIBC_USE (ISOC23) +/* Return maximum value from X and Y. */ +__MATHCALLX (fmaximum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum value from X and Y. */ +__MATHCALLX (fminimum,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return maximum numeric value from X and Y. */ +__MATHCALLX (fmaximum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return minimum numeric value from X and Y. */ +__MATHCALLX (fminimum_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return value with minimum magnitude. */ +__MATHCALLX (fminimum_mag,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with maximum magnitude. */ +__MATHCALLX (fmaximum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); + +/* Return numeric value with minimum magnitude. */ +__MATHCALLX (fminimum_mag_num,, (_Mdouble_ __x, _Mdouble_ __y), (__const__)); +#endif + +#if __GLIBC_USE (IEC_60559_EXT) || __MATH_DECLARING_FLOATN +/* Total order operation. */ +__MATHDECL_1 (int, totalorder,, (const _Mdouble_ *__x, + const _Mdouble_ *__y)) + __attribute_pure__; + +/* Total order operation on absolute values. */ +__MATHDECL_1 (int, totalordermag,, (const _Mdouble_ *__x, + const _Mdouble_ *__y)) + __attribute_pure__; + +/* Get NaN payload. */ +__MATHCALL (getpayload,, (const _Mdouble_ *__x)); + +/* Set quiet NaN payload. */ +__MATHDECL_1 (int, setpayload,, (_Mdouble_ *__x, _Mdouble_ __payload)); + +/* Set signaling NaN payload. */ +__MATHDECL_1 (int, setpayloadsig,, (_Mdouble_ *__x, _Mdouble_ __payload)); +#endif + +#if (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \ + && __MATH_DECLARING_DOUBLE \ + && !defined __USE_XOPEN2K8)) \ + && !__MATH_DECLARING_FLOATN +/* Return X times (2 to the Nth power). */ +__MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n)); +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathdef.h new file mode 100644 index 00000000..3dfada48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mathdef.h @@ -0,0 +1,20 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _COMPLEX_H +# error "Never use directly; include instead" +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-linux.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-linux.h new file mode 100644 index 00000000..58ea3d02 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-linux.h @@ -0,0 +1,136 @@ +/* Definitions for POSIX memory map interface. Linux generic version. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + + +/* Protections are chosen from these bits, OR'd together. The + implementation does not necessarily support PROT_EXEC or PROT_WRITE + without PROT_READ. The only guarantees are that no writing will be + allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ + +#define PROT_READ 0x1 /* Page can be read. */ +#define PROT_WRITE 0x2 /* Page can be written. */ +#define PROT_EXEC 0x4 /* Page can be executed. */ +#define PROT_NONE 0x0 /* Page can not be accessed. */ +#define PROT_GROWSDOWN 0x01000000 /* Extend change to start of + growsdown vma (mprotect only). */ +#define PROT_GROWSUP 0x02000000 /* Extend change to start of + growsup vma (mprotect only). */ + +/* Sharing types (must choose one and only one of these). */ +#define MAP_SHARED 0x01 /* Share changes. */ +#define MAP_PRIVATE 0x02 /* Changes are private. */ +#define MAP_SHARED_VALIDATE 0x03 /* Share changes and validate + extension flags. */ +#define MAP_DROPPABLE 0x08 /* Zero memory under memory pressure. */ +#define MAP_TYPE 0x0f /* Mask for type of mapping. */ + +/* Other flags. */ +#define MAP_FIXED 0x10 /* Interpret addr exactly. */ +#define MAP_FILE 0 +#ifdef __MAP_ANONYMOUS +# define MAP_ANONYMOUS __MAP_ANONYMOUS /* Don't use a file. */ +#else +# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ +#endif +#define MAP_ANON MAP_ANONYMOUS + +/* When MAP_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. + The following definitions are associated with this huge page size encoding. + It is responsibility of the application to know which sizes are supported on + the running system. See mmap(2) man page for details. */ + +#define MAP_HUGE_SHIFT 26 +#define MAP_HUGE_MASK 0x3f + +#define MAP_HUGE_16KB (14 << MAP_HUGE_SHIFT) +#define MAP_HUGE_64KB (16 << MAP_HUGE_SHIFT) +#define MAP_HUGE_512KB (19 << MAP_HUGE_SHIFT) +#define MAP_HUGE_1MB (20 << MAP_HUGE_SHIFT) +#define MAP_HUGE_2MB (21 << MAP_HUGE_SHIFT) +#define MAP_HUGE_8MB (23 << MAP_HUGE_SHIFT) +#define MAP_HUGE_16MB (24 << MAP_HUGE_SHIFT) +#define MAP_HUGE_32MB (25 << MAP_HUGE_SHIFT) +#define MAP_HUGE_256MB (28 << MAP_HUGE_SHIFT) +#define MAP_HUGE_512MB (29 << MAP_HUGE_SHIFT) +#define MAP_HUGE_1GB (30 << MAP_HUGE_SHIFT) +#define MAP_HUGE_2GB (31 << MAP_HUGE_SHIFT) +#define MAP_HUGE_16GB (34U << MAP_HUGE_SHIFT) + +/* Flags to `msync'. */ +#define MS_ASYNC 1 /* Sync memory asynchronously. */ +#define MS_SYNC 4 /* Synchronous memory sync. */ +#define MS_INVALIDATE 2 /* Invalidate the caches. */ + +/* Advice to `madvise'. */ +#ifdef __USE_MISC +# define MADV_NORMAL 0 /* No further special treatment. */ +# define MADV_RANDOM 1 /* Expect random page references. */ +# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define MADV_WILLNEED 3 /* Will need these pages. */ +# define MADV_DONTNEED 4 /* Don't need these pages. */ +# define MADV_FREE 8 /* Free pages only if memory pressure. */ +# define MADV_REMOVE 9 /* Remove these pages and resources. */ +# define MADV_DONTFORK 10 /* Do not inherit across fork. */ +# define MADV_DOFORK 11 /* Do inherit across fork. */ +# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */ +# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */ +# define MADV_HUGEPAGE 14 /* Worth backing with hugepages. */ +# define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages. */ +# define MADV_DONTDUMP 16 /* Explicitly exclude from the core dump, + overrides the coredump filter bits. */ +# define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag. */ +# define MADV_WIPEONFORK 18 /* Zero memory on fork, child only. */ +# define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK. */ +# define MADV_COLD 20 /* Deactivate these pages. */ +# define MADV_PAGEOUT 21 /* Reclaim these pages. */ +# define MADV_POPULATE_READ 22 /* Populate (prefault) page tables + readable. */ +# define MADV_POPULATE_WRITE 23 /* Populate (prefault) page tables + writable. */ +# define MADV_DONTNEED_LOCKED 24 /* Like MADV_DONTNEED, but drop + locked pages too. */ +# define MADV_COLLAPSE 25 /* Synchronous hugepage collapse. */ +# define MADV_HWPOISON 100 /* Poison a page for testing. */ +#endif + +/* The POSIX people had to invent similar names for the same things. */ +#ifdef __USE_XOPEN2K +# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ +#endif + +/* Flags for `mlockall'. */ +#ifndef MCL_CURRENT +# define MCL_CURRENT 1 /* Lock all currently mapped pages. */ +# define MCL_FUTURE 2 /* Lock all additions to address + space. */ +# define MCL_ONFAULT 4 /* Lock all pages that are + faulted in. */ +#endif + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h new file mode 100644 index 00000000..6a1390fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-map-flags-generic.h @@ -0,0 +1,40 @@ +/* Definitions for POSIX memory map interface. Linux/generic version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* These definitions are appropriate for architectures that, in the + Linux kernel, either have no uapi/asm/mman.h, or have one that + includes asm-generic/mman.h without any changes to the values of + the MAP_* flags defined in that header. */ + +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY. */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x02000 /* Lock the mapping. */ +#define MAP_NORESERVE 0x04000 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-shared.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-shared.h new file mode 100644 index 00000000..a43ef000 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman-shared.h @@ -0,0 +1,91 @@ +/* Memory-mapping-related declarations/definitions, not architecture-specific. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_GNU +/* Flags for mremap. */ +# define MREMAP_MAYMOVE 1 +# define MREMAP_FIXED 2 +# define MREMAP_DONTUNMAP 4 + +/* Flags for memfd_create. */ +# ifndef MFD_CLOEXEC +# define MFD_CLOEXEC 1U +# define MFD_ALLOW_SEALING 2U +# define MFD_HUGETLB 4U +# endif +# ifndef MFD_NOEXEC_SEAL +# define MFD_NOEXEC_SEAL 8U +# define MFD_EXEC 0x10U +# endif + +/* Flags for mlock2. */ +# ifndef MLOCK_ONFAULT +# define MLOCK_ONFAULT 1U +# endif + +/* Access restrictions for pkey_alloc. */ +# ifndef PKEY_DISABLE_ACCESS +# define PKEY_DISABLE_ACCESS 0x1 +# define PKEY_DISABLE_WRITE 0x2 +# endif + +__BEGIN_DECLS + +// zig patch: check target glibc version +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 27) || __GLIBC__ > 2 + +/* Create a new memory file descriptor. NAME is a name for debugging. + FLAGS is a combination of the MFD_* constants. */ +int memfd_create (const char *__name, unsigned int __flags) __THROW; + +/* Lock pages from ADDR (inclusive) to ADDR + LENGTH (exclusive) into + memory. FLAGS is a combination of the MLOCK_* flags above. */ +int mlock2 (const void *__addr, size_t __length, unsigned int __flags) __THROW + __attr_access_none (1); + +#endif /* if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 27) || __GLIBC__ > 2 */ + +/* Allocate a new protection key, with the PKEY_DISABLE_* bits + specified in ACCESS_RESTRICTIONS. The protection key mask for the + current thread is updated to match the access privilege for the new + key. */ +int pkey_alloc (unsigned int __flags, unsigned int __access_restrictions) __THROW; + +/* Update the access restrictions for the current thread for KEY, which must + have been allocated using pkey_alloc. */ +int pkey_set (int __key, unsigned int __access_restrictions) __THROW; + +/* Return the access restrictions for the current thread for KEY, which must + have been allocated using pkey_alloc. */ +int pkey_get (int __key) __THROW; + +/* Free an allocated protection key, which must have been allocated + using pkey_alloc. */ +int pkey_free (int __key) __THROW; + +/* Apply memory protection flags for KEY to the specified address + range. */ +int pkey_mprotect (void *__addr, size_t __len, int __prot, int __pkey) __THROW; + +__END_DECLS + +#endif /* __USE_GNU */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman.h new file mode 100644 index 00000000..de1d81f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman.h @@ -0,0 +1,32 @@ +/* Definitions for POSIX memory map interface. Linux/generic version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* These definitions are appropriate for architectures that, in the + Linux kernel, either have no uapi/asm/mman.h, or have one that + includes asm-generic/mman.h without any changes or additions + relevant to glibc. If there are additions relevant to glibc, an + architecture-specific bits/mman.h is needed. */ + +#include + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman_ext.h new file mode 100644 index 00000000..20729a00 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mman_ext.h @@ -0,0 +1,32 @@ +/* System-specific extensions of , Linux version. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_GNU +struct iovec; +extern __ssize_t process_madvise (int __pid_fd, const struct iovec *__iov, + size_t __count, int __advice, + unsigned __flags) + __THROW; + +extern int process_mrelease (int pidfd, unsigned int flags) __THROW; + +#endif /* __USE_GNU */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/monetary-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/monetary-ldbl.h new file mode 100644 index 00000000..5ee13e30 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/monetary-ldbl.h @@ -0,0 +1,27 @@ +/* -mlong-double-64 compatibility mode for monetary functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MONETARY_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (strfmon) + +#ifdef __USE_GNU +__LDBL_REDIR_DECL (strfmon_l) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue.h new file mode 100644 index 00000000..8bc2e803 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue.h @@ -0,0 +1,33 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MQUEUE_H +# error "Never use directly; include instead." +#endif + +#include + +typedef int mqd_t; + +struct mq_attr +{ + __syscall_slong_t mq_flags; /* Message queue flags. */ + __syscall_slong_t mq_maxmsg; /* Maximum number of messages. */ + __syscall_slong_t mq_msgsize; /* Maximum message size. */ + __syscall_slong_t mq_curmsgs; /* Number of messages currently queued. */ + __syscall_slong_t __pad[4]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue2.h new file mode 100644 index 00000000..5e00de21 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/mqueue2.h @@ -0,0 +1,82 @@ +/* Checking macros for mq functions. + Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never include directly; use instead." +#endif + +/* Check that calls to mq_open with O_CREAT set have an appropriate third and fourth + parameter. */ +extern mqd_t mq_open (const char *__name, int __oflag, ...) + __THROW __nonnull ((1)); +extern mqd_t __mq_open_2 (const char *__name, int __oflag) + __THROW __nonnull ((1)); +extern mqd_t __REDIRECT_NTH (__mq_open_alias, (const char *__name, + int __oflag, ...), mq_open) + __nonnull ((1)); + +#ifdef __va_arg_pack_len +__errordecl (__mq_open_wrong_number_of_args, + "mq_open can be called either with 2 or 4 arguments"); +__errordecl (__mq_open_missing_mode_and_attr, + "mq_open with O_CREAT in second argument needs 4 arguments"); + +__fortify_function mqd_t +__NTH (mq_open (const char *__name, int __oflag, ...)) +{ + if (__va_arg_pack_len () != 0 && __va_arg_pack_len () != 2) + __mq_open_wrong_number_of_args (); + + if (__builtin_constant_p (__oflag)) + { + if ((__oflag & O_CREAT) != 0 && __va_arg_pack_len () == 0) + { + __mq_open_missing_mode_and_attr (); + return __mq_open_2 (__name, __oflag); + } + return __mq_open_alias (__name, __oflag, __va_arg_pack ()); + } + + if (__va_arg_pack_len () == 0) + return __mq_open_2 (__name, __oflag); + + return __mq_open_alias (__name, __oflag, __va_arg_pack ()); +} +#elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ mqd_t +__NTH (mq_open (__fortify_clang_overload_arg (const char *, , __name), + int __oflag, mode_t __mode, ...)) + __fortify_clang_unavailable ("mq_open can be called either with 2 or 4 arguments"); + +__fortify_function __attribute_overloadable__ mqd_t +__NTH (mq_open (__fortify_clang_overload_arg (const char *, ,__name), + int __oflag, mode_t __mode, struct mq_attr *__attr)) +{ + return __mq_open_alias (__name, __oflag, __mode, __attr); +} + +__fortify_function __attribute_overloadable__ mqd_t +__NTH (mq_open (__fortify_clang_overload_arg (const char *, ,__name), + int __oflag)) + __fortify_clang_prefer_this_overload + __fortify_clang_error ((__oflag & O_CREAT), + "mq_open with O_CREAT in second argument needs 4 arguments") +{ + return __mq_open_alias (__name, __oflag); +} +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/msq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/msq.h new file mode 100644 index 00000000..8df20c3d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/msq.h @@ -0,0 +1,60 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Types used in the MSQID_DS structure definition. */ +typedef __syscall_ulong_t msgqnum_t; +typedef __syscall_ulong_t msglen_t; + +#include +#include + +/* Define options for message queue functions. */ +#define MSG_NOERROR 010000 /* no error if message is too big */ +#ifdef __USE_GNU +# define MSG_EXCEPT 020000 /* recv any msg except of specified type */ +# define MSG_COPY 040000 /* copy (not remove) all queue messages */ +#endif + +#ifdef __USE_MISC + +# define msg_cbytes __msg_cbytes + +/* ipcs ctl commands */ +# define MSG_STAT 11 +# define MSG_INFO 12 +# define MSG_STAT_ANY 13 + +/* buffer for msgctl calls IPC_INFO, MSG_INFO */ +struct msginfo + { + int msgpool; + int msgmap; + int msgmax; + int msgmnb; + int msgmni; + int msgssz; + int msgtql; + unsigned short int msgseg; + }; + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/netdb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/netdb.h new file mode 100644 index 00000000..17011caa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/netdb.h @@ -0,0 +1,32 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETDB_H +# error "Never include directly; use instead." +#endif + + +/* Description of data base entry for a single network. NOTE: here a + poor assumption is made. The network number is expected to fit + into an unsigned long int variable. */ +struct netent +{ + char *n_name; /* Official name of network. */ + char **n_aliases; /* Alias list. */ + int n_addrtype; /* Net address type. */ + uint32_t n_net; /* Network number. */ +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/param.h new file mode 100644 index 00000000..e8c5c9da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/param.h @@ -0,0 +1,42 @@ +/* Old-style Unix parameters and limits. Linux version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PARAM_H +# error "Never use directly; include instead." +#endif + +#ifndef ARG_MAX +# define __undef_ARG_MAX +#endif + +#include +#include + +/* The kernel headers define ARG_MAX. The value is wrong, though. */ +#ifdef __undef_ARG_MAX +# undef ARG_MAX +# undef __undef_ARG_MAX +#endif + +#define MAXSYMLINKS 20 + +/* The following are not really correct but it is a value we used for a + long time and which seems to be usable. People should not use NOFILE + and NCARGS anyway. */ +#define NOFILE 256 +#define NCARGS 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/features.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/features.h new file mode 100644 index 00000000..6123494c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/features.h @@ -0,0 +1,48 @@ +/* Inline functions for x86 CPU features. + This file is part of the GNU C Library. + Copyright (C) 2024-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PLATFORM_X86_H +# error "Never include directly; use instead." +#endif + +/* Bits in the feature_1 field in TCB. */ + +enum +{ + x86_feature_1_ibt = 1U << 0, + x86_feature_1_shstk = 1U << 1 +}; + +static __inline__ bool +x86_cpu_cet_active (unsigned int __index) +{ +#ifdef __x86_64__ + unsigned int __feature_1; +# ifdef __LP64__ + __asm__ ("mov %%fs:72, %0" : "=r" (__feature_1)); +# else + __asm__ ("mov %%fs:40, %0" : "=r" (__feature_1)); +# endif + if (__index == x86_cpu_IBT) + return __feature_1 & x86_feature_1_ibt; + else + return __feature_1 & x86_feature_1_shstk; +#else + return false; +#endif +} \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/x86.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/x86.h new file mode 100644 index 00000000..5b2ad573 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/platform/x86.h @@ -0,0 +1,339 @@ +/* Constants and data structures for x86 CPU features. + This file is part of the GNU C Library. + Copyright (C) 2008-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PLATFORM_X86_H +# error "Never include directly; use instead." +#endif + +enum +{ + CPUID_INDEX_1 = 0, + CPUID_INDEX_7, + CPUID_INDEX_80000001, + CPUID_INDEX_D_ECX_1, + CPUID_INDEX_80000007, + CPUID_INDEX_80000008, + CPUID_INDEX_7_ECX_1, + CPUID_INDEX_19, + CPUID_INDEX_14_ECX_0, + CPUID_INDEX_24_ECX_0 +}; + +struct cpuid_feature +{ + unsigned int cpuid_array[4]; + unsigned int active_array[4]; +}; + +enum cpuid_register_index +{ + cpuid_register_index_eax = 0, + cpuid_register_index_ebx, + cpuid_register_index_ecx, + cpuid_register_index_edx +}; + +/* CPU features. */ + +enum +{ + x86_cpu_index_1_ecx + = (CPUID_INDEX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ecx * 8 * sizeof (unsigned int)), + + x86_cpu_SSE3 = x86_cpu_index_1_ecx, + x86_cpu_PCLMULQDQ = x86_cpu_index_1_ecx + 1, + x86_cpu_DTES64 = x86_cpu_index_1_ecx + 2, + x86_cpu_MONITOR = x86_cpu_index_1_ecx + 3, + x86_cpu_DS_CPL = x86_cpu_index_1_ecx + 4, + x86_cpu_VMX = x86_cpu_index_1_ecx + 5, + x86_cpu_SMX = x86_cpu_index_1_ecx + 6, + x86_cpu_EIST = x86_cpu_index_1_ecx + 7, + x86_cpu_TM2 = x86_cpu_index_1_ecx + 8, + x86_cpu_SSSE3 = x86_cpu_index_1_ecx + 9, + x86_cpu_CNXT_ID = x86_cpu_index_1_ecx + 10, + x86_cpu_SDBG = x86_cpu_index_1_ecx + 11, + x86_cpu_FMA = x86_cpu_index_1_ecx + 12, + x86_cpu_CMPXCHG16B = x86_cpu_index_1_ecx + 13, + x86_cpu_XTPRUPDCTRL = x86_cpu_index_1_ecx + 14, + x86_cpu_PDCM = x86_cpu_index_1_ecx + 15, + x86_cpu_INDEX_1_ECX_16 = x86_cpu_index_1_ecx + 16, + x86_cpu_PCID = x86_cpu_index_1_ecx + 17, + x86_cpu_DCA = x86_cpu_index_1_ecx + 18, + x86_cpu_SSE4_1 = x86_cpu_index_1_ecx + 19, + x86_cpu_SSE4_2 = x86_cpu_index_1_ecx + 20, + x86_cpu_X2APIC = x86_cpu_index_1_ecx + 21, + x86_cpu_MOVBE = x86_cpu_index_1_ecx + 22, + x86_cpu_POPCNT = x86_cpu_index_1_ecx + 23, + x86_cpu_TSC_DEADLINE = x86_cpu_index_1_ecx + 24, + x86_cpu_AES = x86_cpu_index_1_ecx + 25, + x86_cpu_XSAVE = x86_cpu_index_1_ecx + 26, + x86_cpu_OSXSAVE = x86_cpu_index_1_ecx + 27, + x86_cpu_AVX = x86_cpu_index_1_ecx + 28, + x86_cpu_F16C = x86_cpu_index_1_ecx + 29, + x86_cpu_RDRAND = x86_cpu_index_1_ecx + 30, + x86_cpu_INDEX_1_ECX_31 = x86_cpu_index_1_ecx + 31, + + x86_cpu_index_1_edx + = (CPUID_INDEX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_FPU = x86_cpu_index_1_edx, + x86_cpu_VME = x86_cpu_index_1_edx + 1, + x86_cpu_DE = x86_cpu_index_1_edx + 2, + x86_cpu_PSE = x86_cpu_index_1_edx + 3, + x86_cpu_TSC = x86_cpu_index_1_edx + 4, + x86_cpu_MSR = x86_cpu_index_1_edx + 5, + x86_cpu_PAE = x86_cpu_index_1_edx + 6, + x86_cpu_MCE = x86_cpu_index_1_edx + 7, + x86_cpu_CX8 = x86_cpu_index_1_edx + 8, + x86_cpu_APIC = x86_cpu_index_1_edx + 9, + x86_cpu_INDEX_1_EDX_10 = x86_cpu_index_1_edx + 10, + x86_cpu_SEP = x86_cpu_index_1_edx + 11, + x86_cpu_MTRR = x86_cpu_index_1_edx + 12, + x86_cpu_PGE = x86_cpu_index_1_edx + 13, + x86_cpu_MCA = x86_cpu_index_1_edx + 14, + x86_cpu_CMOV = x86_cpu_index_1_edx + 15, + x86_cpu_PAT = x86_cpu_index_1_edx + 16, + x86_cpu_PSE_36 = x86_cpu_index_1_edx + 17, + x86_cpu_PSN = x86_cpu_index_1_edx + 18, + x86_cpu_CLFSH = x86_cpu_index_1_edx + 19, + x86_cpu_INDEX_1_EDX_20 = x86_cpu_index_1_edx + 20, + x86_cpu_DS = x86_cpu_index_1_edx + 21, + x86_cpu_ACPI = x86_cpu_index_1_edx + 22, + x86_cpu_MMX = x86_cpu_index_1_edx + 23, + x86_cpu_FXSR = x86_cpu_index_1_edx + 24, + x86_cpu_SSE = x86_cpu_index_1_edx + 25, + x86_cpu_SSE2 = x86_cpu_index_1_edx + 26, + x86_cpu_SS = x86_cpu_index_1_edx + 27, + x86_cpu_HTT = x86_cpu_index_1_edx + 28, + x86_cpu_TM = x86_cpu_index_1_edx + 29, + x86_cpu_INDEX_1_EDX_30 = x86_cpu_index_1_edx + 30, + x86_cpu_PBE = x86_cpu_index_1_edx + 31, + + x86_cpu_index_7_ebx + = (CPUID_INDEX_7 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), + + x86_cpu_FSGSBASE = x86_cpu_index_7_ebx, + x86_cpu_TSC_ADJUST = x86_cpu_index_7_ebx + 1, + x86_cpu_SGX = x86_cpu_index_7_ebx + 2, + x86_cpu_BMI1 = x86_cpu_index_7_ebx + 3, + x86_cpu_HLE = x86_cpu_index_7_ebx + 4, + x86_cpu_AVX2 = x86_cpu_index_7_ebx + 5, + x86_cpu_INDEX_7_EBX_6 = x86_cpu_index_7_ebx + 6, + x86_cpu_SMEP = x86_cpu_index_7_ebx + 7, + x86_cpu_BMI2 = x86_cpu_index_7_ebx + 8, + x86_cpu_ERMS = x86_cpu_index_7_ebx + 9, + x86_cpu_INVPCID = x86_cpu_index_7_ebx + 10, + x86_cpu_RTM = x86_cpu_index_7_ebx + 11, + x86_cpu_RDT_M = x86_cpu_index_7_ebx + 12, + x86_cpu_DEPR_FPU_CS_DS = x86_cpu_index_7_ebx + 13, + x86_cpu_MPX = x86_cpu_index_7_ebx + 14, + x86_cpu_RDT_A = x86_cpu_index_7_ebx + 15, + x86_cpu_AVX512F = x86_cpu_index_7_ebx + 16, + x86_cpu_AVX512DQ = x86_cpu_index_7_ebx + 17, + x86_cpu_RDSEED = x86_cpu_index_7_ebx + 18, + x86_cpu_ADX = x86_cpu_index_7_ebx + 19, + x86_cpu_SMAP = x86_cpu_index_7_ebx + 20, + x86_cpu_AVX512_IFMA = x86_cpu_index_7_ebx + 21, + x86_cpu_INDEX_7_EBX_22 = x86_cpu_index_7_ebx + 22, + x86_cpu_CLFLUSHOPT = x86_cpu_index_7_ebx + 23, + x86_cpu_CLWB = x86_cpu_index_7_ebx + 24, + x86_cpu_TRACE = x86_cpu_index_7_ebx + 25, + x86_cpu_AVX512PF = x86_cpu_index_7_ebx + 26, + x86_cpu_AVX512ER = x86_cpu_index_7_ebx + 27, + x86_cpu_AVX512CD = x86_cpu_index_7_ebx + 28, + x86_cpu_SHA = x86_cpu_index_7_ebx + 29, + x86_cpu_AVX512BW = x86_cpu_index_7_ebx + 30, + x86_cpu_AVX512VL = x86_cpu_index_7_ebx + 31, + + x86_cpu_index_7_ecx + = (CPUID_INDEX_7 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ecx * 8 * sizeof (unsigned int)), + + x86_cpu_PREFETCHWT1 = x86_cpu_index_7_ecx, + x86_cpu_AVX512_VBMI = x86_cpu_index_7_ecx + 1, + x86_cpu_UMIP = x86_cpu_index_7_ecx + 2, + x86_cpu_PKU = x86_cpu_index_7_ecx + 3, + x86_cpu_OSPKE = x86_cpu_index_7_ecx + 4, + x86_cpu_WAITPKG = x86_cpu_index_7_ecx + 5, + x86_cpu_AVX512_VBMI2 = x86_cpu_index_7_ecx + 6, + x86_cpu_SHSTK = x86_cpu_index_7_ecx + 7, + x86_cpu_GFNI = x86_cpu_index_7_ecx + 8, + x86_cpu_VAES = x86_cpu_index_7_ecx + 9, + x86_cpu_VPCLMULQDQ = x86_cpu_index_7_ecx + 10, + x86_cpu_AVX512_VNNI = x86_cpu_index_7_ecx + 11, + x86_cpu_AVX512_BITALG = x86_cpu_index_7_ecx + 12, + x86_cpu_INDEX_7_ECX_13 = x86_cpu_index_7_ecx + 13, + x86_cpu_AVX512_VPOPCNTDQ = x86_cpu_index_7_ecx + 14, + x86_cpu_INDEX_7_ECX_15 = x86_cpu_index_7_ecx + 15, + x86_cpu_LA57 = x86_cpu_index_7_ecx + 16, +/* Note: Bits 17-21: The value of MAWAU used by the BNDLDX and BNDSTX + instructions in 64-bit mode. */ + x86_cpu_RDPID = x86_cpu_index_7_ecx + 22, + x86_cpu_KL = x86_cpu_index_7_ecx + 23, + x86_cpu_BUS_LOCK_DETECT = x86_cpu_index_7_ecx + 24, + x86_cpu_CLDEMOTE = x86_cpu_index_7_ecx + 25, + x86_cpu_INDEX_7_ECX_26 = x86_cpu_index_7_ecx + 26, + x86_cpu_MOVDIRI = x86_cpu_index_7_ecx + 27, + x86_cpu_MOVDIR64B = x86_cpu_index_7_ecx + 28, + x86_cpu_ENQCMD = x86_cpu_index_7_ecx + 29, + x86_cpu_SGX_LC = x86_cpu_index_7_ecx + 30, + x86_cpu_PKS = x86_cpu_index_7_ecx + 31, + + x86_cpu_index_7_edx + = (CPUID_INDEX_7 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_INDEX_7_EDX_0 = x86_cpu_index_7_edx, + x86_cpu_SGX_KEYS = x86_cpu_index_7_edx + 1, + x86_cpu_AVX512_4VNNIW = x86_cpu_index_7_edx + 2, + x86_cpu_AVX512_4FMAPS = x86_cpu_index_7_edx + 3, + x86_cpu_FSRM = x86_cpu_index_7_edx + 4, + x86_cpu_UINTR = x86_cpu_index_7_edx + 5, + x86_cpu_INDEX_7_EDX_6 = x86_cpu_index_7_edx + 6, + x86_cpu_INDEX_7_EDX_7 = x86_cpu_index_7_edx + 7, + x86_cpu_AVX512_VP2INTERSECT = x86_cpu_index_7_edx + 8, + x86_cpu_INDEX_7_EDX_9 = x86_cpu_index_7_edx + 9, + x86_cpu_MD_CLEAR = x86_cpu_index_7_edx + 10, + x86_cpu_RTM_ALWAYS_ABORT = x86_cpu_index_7_edx + 11, + x86_cpu_INDEX_7_EDX_12 = x86_cpu_index_7_edx + 12, + x86_cpu_RTM_FORCE_ABORT = x86_cpu_index_7_edx + 13, + x86_cpu_SERIALIZE = x86_cpu_index_7_edx + 14, + x86_cpu_HYBRID = x86_cpu_index_7_edx + 15, + x86_cpu_TSXLDTRK = x86_cpu_index_7_edx + 16, + x86_cpu_INDEX_7_EDX_17 = x86_cpu_index_7_edx + 17, + x86_cpu_PCONFIG = x86_cpu_index_7_edx + 18, + x86_cpu_LBR = x86_cpu_index_7_edx + 19, + x86_cpu_IBT = x86_cpu_index_7_edx + 20, + x86_cpu_INDEX_7_EDX_21 = x86_cpu_index_7_edx + 21, + x86_cpu_AMX_BF16 = x86_cpu_index_7_edx + 22, + x86_cpu_AVX512_FP16 = x86_cpu_index_7_edx + 23, + x86_cpu_AMX_TILE = x86_cpu_index_7_edx + 24, + x86_cpu_AMX_INT8 = x86_cpu_index_7_edx + 25, + x86_cpu_IBRS_IBPB = x86_cpu_index_7_edx + 26, + x86_cpu_STIBP = x86_cpu_index_7_edx + 27, + x86_cpu_L1D_FLUSH = x86_cpu_index_7_edx + 28, + x86_cpu_ARCH_CAPABILITIES = x86_cpu_index_7_edx + 29, + x86_cpu_CORE_CAPABILITIES = x86_cpu_index_7_edx + 30, + x86_cpu_SSBD = x86_cpu_index_7_edx + 31, + + x86_cpu_index_80000001_ecx + = (CPUID_INDEX_80000001 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ecx * 8 * sizeof (unsigned int)), + + x86_cpu_LAHF64_SAHF64 = x86_cpu_index_80000001_ecx, + x86_cpu_SVM = x86_cpu_index_80000001_ecx + 2, + x86_cpu_LZCNT = x86_cpu_index_80000001_ecx + 5, + x86_cpu_SSE4A = x86_cpu_index_80000001_ecx + 6, + x86_cpu_PREFETCHW = x86_cpu_index_80000001_ecx + 8, + x86_cpu_XOP = x86_cpu_index_80000001_ecx + 11, + x86_cpu_LWP = x86_cpu_index_80000001_ecx + 15, + x86_cpu_FMA4 = x86_cpu_index_80000001_ecx + 16, + x86_cpu_TBM = x86_cpu_index_80000001_ecx + 21, + + x86_cpu_index_80000001_edx + = (CPUID_INDEX_80000001 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_SYSCALL_SYSRET = x86_cpu_index_80000001_edx + 11, + x86_cpu_NX = x86_cpu_index_80000001_edx + 20, + x86_cpu_PAGE1GB = x86_cpu_index_80000001_edx + 26, + x86_cpu_RDTSCP = x86_cpu_index_80000001_edx + 27, + x86_cpu_LM = x86_cpu_index_80000001_edx + 29, + + x86_cpu_index_d_ecx_1_eax + = (CPUID_INDEX_D_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_eax * 8 * sizeof (unsigned int)), + + x86_cpu_XSAVEOPT = x86_cpu_index_d_ecx_1_eax, + x86_cpu_XSAVEC = x86_cpu_index_d_ecx_1_eax + 1, + x86_cpu_XGETBV_ECX_1 = x86_cpu_index_d_ecx_1_eax + 2, + x86_cpu_XSAVES = x86_cpu_index_d_ecx_1_eax + 3, + x86_cpu_XFD = x86_cpu_index_d_ecx_1_eax + 4, + + x86_cpu_index_80000007_edx + = (CPUID_INDEX_80000007 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_INVARIANT_TSC = x86_cpu_index_80000007_edx + 8, + + x86_cpu_index_80000008_ebx + = (CPUID_INDEX_80000008 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), + + x86_cpu_WBNOINVD = x86_cpu_index_80000008_ebx + 9, + x86_cpu_AMD_IBPB = x86_cpu_index_80000008_ebx + 12, + x86_cpu_AMD_IBRS = x86_cpu_index_80000008_ebx + 14, + x86_cpu_AMD_STIBP = x86_cpu_index_80000008_ebx + 15, + x86_cpu_AMD_SSBD = x86_cpu_index_80000008_ebx + 24, + x86_cpu_AMD_VIRT_SSBD = x86_cpu_index_80000008_ebx + 25, + + x86_cpu_index_7_ecx_1_eax + = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_eax * 8 * sizeof (unsigned int)), + + x86_cpu_RAO_INT = x86_cpu_index_7_ecx_1_eax + 3, + x86_cpu_AVX_VNNI = x86_cpu_index_7_ecx_1_eax + 4, + x86_cpu_AVX512_BF16 = x86_cpu_index_7_ecx_1_eax + 5, + x86_cpu_LASS = x86_cpu_index_7_ecx_1_eax + 6, + x86_cpu_CMPCCXADD = x86_cpu_index_7_ecx_1_eax + 7, + x86_cpu_ArchPerfmonExt = x86_cpu_index_7_ecx_1_eax + 8, + x86_cpu_FZLRM = x86_cpu_index_7_ecx_1_eax + 10, + x86_cpu_FSRS = x86_cpu_index_7_ecx_1_eax + 11, + x86_cpu_FSRCS = x86_cpu_index_7_ecx_1_eax + 12, + x86_cpu_WRMSRNS = x86_cpu_index_7_ecx_1_eax + 19, + x86_cpu_AMX_FP16 = x86_cpu_index_7_ecx_1_eax + 21, + x86_cpu_HRESET = x86_cpu_index_7_ecx_1_eax + 22, + x86_cpu_AVX_IFMA = x86_cpu_index_7_ecx_1_eax + 23, + x86_cpu_LAM = x86_cpu_index_7_ecx_1_eax + 26, + x86_cpu_MSRLIST = x86_cpu_index_7_ecx_1_eax + 27, + + x86_cpu_index_7_ecx_1_edx + = (CPUID_INDEX_7_ECX_1 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_edx * 8 * sizeof (unsigned int)), + + x86_cpu_AVX_VNNI_INT8 = x86_cpu_index_7_ecx_1_edx + 4, + x86_cpu_AVX_NE_CONVERT = x86_cpu_index_7_ecx_1_edx + 5, + x86_cpu_AMX_COMPLEX = x86_cpu_index_7_ecx_1_edx + 8, + x86_cpu_PREFETCHI = x86_cpu_index_7_ecx_1_edx + 14, + x86_cpu_AVX10 = x86_cpu_index_7_ecx_1_edx + 19, + x86_cpu_APX_F = x86_cpu_index_7_ecx_1_edx + 21, + + x86_cpu_index_19_ebx + = (CPUID_INDEX_19 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), + + x86_cpu_AESKLE = x86_cpu_index_19_ebx, + x86_cpu_WIDE_KL = x86_cpu_index_19_ebx + 2, + + x86_cpu_index_14_ecx_0_ebx + = (CPUID_INDEX_14_ECX_0 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), + + x86_cpu_PTWRITE = x86_cpu_index_14_ecx_0_ebx + 4, + + x86_cpu_index_24_ecx_0_ebx + = (CPUID_INDEX_24_ECX_0 * 8 * 4 * sizeof (unsigned int) + + cpuid_register_index_ebx * 8 * sizeof (unsigned int)), + + x86_cpu_AVX10_XMM = x86_cpu_index_24_ecx_0_ebx + 16, + x86_cpu_AVX10_YMM = x86_cpu_index_24_ecx_0_ebx + 17, + x86_cpu_AVX10_ZMM = x86_cpu_index_24_ecx_0_ebx + 18, +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll.h new file mode 100644 index 00000000..50cc20cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM 0x100 /* Writing now will not block. */ +# define POLLWRBAND 0x200 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll2.h new file mode 100644 index 00000000..6e912e6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/poll2.h @@ -0,0 +1,108 @@ +/* Checking macros for poll functions. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never include directly; use instead." +#endif + + +__BEGIN_DECLS + +extern int __REDIRECT (__poll_alias, (struct pollfd *__fds, nfds_t __nfds, + int __timeout), poll); +extern int __poll_chk (struct pollfd *__fds, nfds_t __nfds, int __timeout, + __SIZE_TYPE__ __fdslen) + __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT (__poll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, + int __timeout, __SIZE_TYPE__ __fdslen), + __poll_chk) + __warnattr ("poll called with fds buffer too small file nfds entries"); + +__fortify_function __fortified_attr_access (__write_only__, 1, 2) +__attribute_overloadable__ int +poll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, + int __timeout) + __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), + "poll called with fds buffer " + "too small file nfds entries") +{ + return __glibc_fortify (poll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout); +} + + +#ifdef __USE_GNU +# ifdef __USE_TIME64_REDIRECTS +extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss), __ppoll64); +extern int __ppoll64_chk (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) + __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT (__ppoll64_chk_warn, (struct pollfd *__fds, nfds_t __n, + const struct timespec *__timeout, + const __sigset_t *__ss, + __SIZE_TYPE__ __fdslen), + __ppoll64_chk) + __warnattr ("ppoll called with fds buffer too small file nfds entries"); + +__fortify_function __fortified_attr_access (__write_only__, 1, 2) +__attribute_overloadable__ int +ppoll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, + const struct timespec *__timeout, const __sigset_t *__ss) + __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), + "ppoll called with fds buffer " + "too small file nfds entries") +{ + return __glibc_fortify (ppoll64, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); +} +# else +extern int __REDIRECT (__ppoll_alias, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss), ppoll); +extern int __ppoll_chk (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss, __SIZE_TYPE__ __fdslen) + __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT (__ppoll_chk_warn, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss, + __SIZE_TYPE__ __fdslen), + __ppoll_chk) + __warnattr ("ppoll called with fds buffer too small file nfds entries"); + +__fortify_function __fortified_attr_access (__write_only__, 1, 2) +__attribute_overloadable__ int +ppoll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds, + const struct timespec *__timeout, const __sigset_t *__ss) + __fortify_clang_warning_only_if_bos_lt2 (__nfds, __fds, sizeof (*__fds), + "ppoll called with fds buffer " + "too small file nfds entries") +{ + return __glibc_fortify (ppoll, __nfds, sizeof (*__fds), + __glibc_objsize (__fds), + __fds, __nfds, __timeout, __ss); +} +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix1_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix1_lim.h new file mode 100644 index 00000000..13d18f52 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix1_lim.h @@ -0,0 +1,183 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 2.9.2 Minimum Values Added to + * + * Never include this file directly; use instead. + */ + +#ifndef _BITS_POSIX1_LIM_H +#define _BITS_POSIX1_LIM_H 1 + +#include + +/* These are the standard-mandated minimum values. */ + +/* Minimum number of operations in one list I/O call. */ +#define _POSIX_AIO_LISTIO_MAX 2 + +/* Minimal number of outstanding asynchronous I/O operations. */ +#define _POSIX_AIO_MAX 1 + +/* Maximum length of arguments to `execve', including environment. */ +#define _POSIX_ARG_MAX 4096 + +/* Maximum simultaneous processes per real user ID. */ +#ifdef __USE_XOPEN2K +# define _POSIX_CHILD_MAX 25 +#else +# define _POSIX_CHILD_MAX 6 +#endif + +/* Minimal number of timer expiration overruns. */ +#define _POSIX_DELAYTIMER_MAX 32 + +/* Maximum length of a host name (not including the terminating null) + as returned from the GETHOSTNAME function. */ +#define _POSIX_HOST_NAME_MAX 255 + +/* Maximum link count of a file. */ +#define _POSIX_LINK_MAX 8 + +/* Maximum length of login name. */ +#define _POSIX_LOGIN_NAME_MAX 9 + +/* Number of bytes in a terminal canonical input queue. */ +#define _POSIX_MAX_CANON 255 + +/* Number of bytes for which space will be + available in a terminal input queue. */ +#define _POSIX_MAX_INPUT 255 + +/* Maximum number of message queues open for a process. */ +#define _POSIX_MQ_OPEN_MAX 8 + +/* Maximum number of supported message priorities. */ +#define _POSIX_MQ_PRIO_MAX 32 + +/* Number of bytes in a filename. */ +#define _POSIX_NAME_MAX 14 + +/* Number of simultaneous supplementary group IDs per process. */ +#ifdef __USE_XOPEN2K +# define _POSIX_NGROUPS_MAX 8 +#else +# define _POSIX_NGROUPS_MAX 0 +#endif + +/* Number of files one process can have open at once. */ +#ifdef __USE_XOPEN2K +# define _POSIX_OPEN_MAX 20 +#else +# define _POSIX_OPEN_MAX 16 +#endif + +#if !defined __USE_XOPEN2K || defined __USE_GNU +/* Number of descriptors that a process may examine with `pselect' or + `select'. */ +# define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX +#endif + +/* Number of bytes in a pathname. */ +#define _POSIX_PATH_MAX 256 + +/* Number of bytes than can be written atomically to a pipe. */ +#define _POSIX_PIPE_BUF 512 + +/* The number of repeated occurrences of a BRE permitted by the + REGEXEC and REGCOMP functions when using the interval notation. */ +#define _POSIX_RE_DUP_MAX 255 + +/* Minimal number of realtime signals reserved for the application. */ +#define _POSIX_RTSIG_MAX 8 + +/* Number of semaphores a process can have. */ +#define _POSIX_SEM_NSEMS_MAX 256 + +/* Maximal value of a semaphore. */ +#define _POSIX_SEM_VALUE_MAX 32767 + +/* Number of pending realtime signals. */ +#define _POSIX_SIGQUEUE_MAX 32 + +/* Largest value of a `ssize_t'. */ +#define _POSIX_SSIZE_MAX 32767 + +/* Number of streams a process can have open at once. */ +#define _POSIX_STREAM_MAX 8 + +/* The number of bytes in a symbolic link. */ +#define _POSIX_SYMLINK_MAX 255 + +/* The number of symbolic links that can be traversed in the + resolution of a pathname in the absence of a loop. */ +#define _POSIX_SYMLOOP_MAX 8 + +/* Number of timer for a process. */ +#define _POSIX_TIMER_MAX 32 + +/* Maximum number of characters in a tty name. */ +#define _POSIX_TTY_NAME_MAX 9 + +/* Maximum length of a time zone abbreviation (element of 'tzname'). */ +#ifdef __USE_XOPEN2K +# define _POSIX_TZNAME_MAX 6 +#else +# define _POSIX_TZNAME_MAX 3 +#endif + +#if !defined __USE_XOPEN2K || defined __USE_GNU +/* Maximum number of connections that can be queued on a socket. */ +# define _POSIX_QLIMIT 1 + +/* Maximum number of bytes that can be buffered on a socket for send + or receive. */ +# define _POSIX_HIWAT _POSIX_PIPE_BUF + +/* Maximum number of elements in an `iovec' array. */ +# define _POSIX_UIO_MAXIOV 16 +#endif + +/* Maximum clock resolution in nanoseconds. */ +#define _POSIX_CLOCKRES_MIN 20000000 + + +/* Get the implementation-specific values for the above. */ +#include + + +#ifndef SSIZE_MAX +/* ssize_t is not formally required to be the signed type + corresponding to size_t, but it is for all configurations supported + by glibc. */ +# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG +# define SSIZE_MAX LONG_MAX +# else +# define SSIZE_MAX INT_MAX +# endif +#endif + + +/* This value is a guaranteed minimum maximum. + The current maximum can be got from `sysconf'. */ + +#ifndef NGROUPS_MAX +# define NGROUPS_MAX 8 +#endif + +#endif /* bits/posix1_lim.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix2_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix2_lim.h new file mode 100644 index 00000000..edeab6fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix2_lim.h @@ -0,0 +1,90 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; include instead. + */ + +#ifndef _BITS_POSIX2_LIM_H +#define _BITS_POSIX2_LIM_H 1 + + +/* The maximum `ibase' and `obase' values allowed by the `bc' utility. */ +#define _POSIX2_BC_BASE_MAX 99 + +/* The maximum number of elements allowed in an array by the `bc' utility. */ +#define _POSIX2_BC_DIM_MAX 2048 + +/* The maximum `scale' value allowed by the `bc' utility. */ +#define _POSIX2_BC_SCALE_MAX 99 + +/* The maximum length of a string constant accepted by the `bc' utility. */ +#define _POSIX2_BC_STRING_MAX 1000 + +/* The maximum number of weights that can be assigned to an entry of + the LC_COLLATE `order' keyword in the locale definition file. */ +#define _POSIX2_COLL_WEIGHTS_MAX 2 + +/* The maximum number of expressions that can be nested + within parentheses by the `expr' utility. */ +#define _POSIX2_EXPR_NEST_MAX 32 + +/* The maximum length, in bytes, of an input line. */ +#define _POSIX2_LINE_MAX 2048 + +/* The maximum number of repeated occurrences of a regular expression + permitted when using the interval notation `\{M,N\}'. */ +#define _POSIX2_RE_DUP_MAX 255 + +/* The maximum number of bytes in a character class name. We have no + fixed limit, 2048 is a high number. */ +#define _POSIX2_CHARCLASS_NAME_MAX 14 + + +/* These values are implementation-specific, + and may vary within the implementation. + Their precise values can be obtained from sysconf. */ + +#ifndef BC_BASE_MAX +#define BC_BASE_MAX _POSIX2_BC_BASE_MAX +#endif +#ifndef BC_DIM_MAX +#define BC_DIM_MAX _POSIX2_BC_DIM_MAX +#endif +#ifndef BC_SCALE_MAX +#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX +#endif +#ifndef BC_STRING_MAX +#define BC_STRING_MAX _POSIX2_BC_STRING_MAX +#endif +#ifndef COLL_WEIGHTS_MAX +#define COLL_WEIGHTS_MAX 255 +#endif +#ifndef EXPR_NEST_MAX +#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX +#endif +#ifndef LINE_MAX +#define LINE_MAX _POSIX2_LINE_MAX +#endif +#ifndef CHARCLASS_NAME_MAX +#define CHARCLASS_NAME_MAX 2048 +#endif + +/* This value is defined like this in regex.h. */ +#define RE_DUP_MAX (0x7fff) + +#endif /* bits/posix2_lim.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix_opt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix_opt.h new file mode 100644 index 00000000..2bd0c183 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/posix_opt.h @@ -0,0 +1,194 @@ +/* Define POSIX options for Linux. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +#ifndef _BITS_POSIX_OPT_H +#define _BITS_POSIX_OPT_H 1 + +/* Job control is supported. */ +#define _POSIX_JOB_CONTROL 1 + +/* Processes have a saved set-user-ID and a saved set-group-ID. */ +#define _POSIX_SAVED_IDS 1 + +/* Priority scheduling is not supported with the correct semantics, + but GNU/Linux applications expect that the corresponding interfaces + are available, even though the semantics do not meet the POSIX + requirements. See glibc bug 14829. */ +#define _POSIX_PRIORITY_SCHEDULING 200809L + +/* Synchronizing file data is supported. */ +#define _POSIX_SYNCHRONIZED_IO 200809L + +/* The fsync function is present. */ +#define _POSIX_FSYNC 200809L + +/* Mapping of files to memory is supported. */ +#define _POSIX_MAPPED_FILES 200809L + +/* Locking of all memory is supported. */ +#define _POSIX_MEMLOCK 200809L + +/* Locking of ranges of memory is supported. */ +#define _POSIX_MEMLOCK_RANGE 200809L + +/* Setting of memory protections is supported. */ +#define _POSIX_MEMORY_PROTECTION 200809L + +/* Some filesystems allow all users to change file ownership. */ +#define _POSIX_CHOWN_RESTRICTED 0 + +/* `c_cc' member of 'struct termios' structure can be disabled by + using the value _POSIX_VDISABLE. */ +#define _POSIX_VDISABLE '\0' + +/* Filenames are not silently truncated. */ +#define _POSIX_NO_TRUNC 1 + +/* X/Open realtime support is available. */ +#define _XOPEN_REALTIME 1 + +/* X/Open thread realtime support is available. */ +#define _XOPEN_REALTIME_THREADS 1 + +/* XPG4.2 shared memory is supported. */ +#define _XOPEN_SHM 1 + +/* Tell we have POSIX threads. */ +#define _POSIX_THREADS 200809L + +/* We have the reentrant functions described in POSIX. */ +#define _POSIX_REENTRANT_FUNCTIONS 1 +#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L + +/* We provide priority scheduling for threads. */ +#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L + +/* We support user-defined stack sizes. */ +#define _POSIX_THREAD_ATTR_STACKSIZE 200809L + +/* We support user-defined stacks. */ +#define _POSIX_THREAD_ATTR_STACKADDR 200809L + +/* We support priority inheritance. */ +#define _POSIX_THREAD_PRIO_INHERIT 200809L + +/* We support priority protection, though only for non-robust + mutexes. */ +#define _POSIX_THREAD_PRIO_PROTECT 200809L + +#ifdef __USE_XOPEN2K8 +/* We support priority inheritance for robust mutexes. */ +# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L + +/* We do not support priority protection for robust mutexes. */ +# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1 +#endif + +/* We support POSIX.1b semaphores. */ +#define _POSIX_SEMAPHORES 200809L + +/* Real-time signals are supported. */ +#define _POSIX_REALTIME_SIGNALS 200809L + +/* We support asynchronous I/O. */ +#define _POSIX_ASYNCHRONOUS_IO 200809L +#define _POSIX_ASYNC_IO 1 +/* Alternative name for Unix98. */ +#define _LFS_ASYNCHRONOUS_IO 1 +/* Support for prioritization is also available. */ +#define _POSIX_PRIORITIZED_IO 200809L + +/* The LFS support in asynchronous I/O is also available. */ +#define _LFS64_ASYNCHRONOUS_IO 1 + +/* The rest of the LFS is also available. */ +#define _LFS_LARGEFILE 1 +#define _LFS64_LARGEFILE 1 +#define _LFS64_STDIO 1 + +/* POSIX shared memory objects are implemented. */ +#define _POSIX_SHARED_MEMORY_OBJECTS 200809L + +/* CPU-time clocks support needs to be checked at runtime. */ +#define _POSIX_CPUTIME 0 + +/* Clock support in threads must be also checked at runtime. */ +#define _POSIX_THREAD_CPUTIME 0 + +/* GNU libc provides regular expression handling. */ +#define _POSIX_REGEXP 1 + +/* Reader/Writer locks are available. */ +#define _POSIX_READER_WRITER_LOCKS 200809L + +/* We have a POSIX shell. */ +#define _POSIX_SHELL 1 + +/* We support the Timeouts option. */ +#define _POSIX_TIMEOUTS 200809L + +/* We support spinlocks. */ +#define _POSIX_SPIN_LOCKS 200809L + +/* The `spawn' function family is supported. */ +#define _POSIX_SPAWN 200809L + +/* We have POSIX timers. */ +#define _POSIX_TIMERS 200809L + +/* The barrier functions are available. */ +#define _POSIX_BARRIERS 200809L + +/* POSIX message queues are available. */ +#define _POSIX_MESSAGE_PASSING 200809L + +/* Thread process-shared synchronization is supported. */ +#define _POSIX_THREAD_PROCESS_SHARED 200809L + +/* The monotonic clock might be available. */ +#define _POSIX_MONOTONIC_CLOCK 0 + +/* The clock selection interfaces are available. */ +#define _POSIX_CLOCK_SELECTION 200809L + +/* Advisory information interfaces are available. */ +#define _POSIX_ADVISORY_INFO 200809L + +/* IPv6 support is available. */ +#define _POSIX_IPV6 200809L + +/* Raw socket support is available. */ +#define _POSIX_RAW_SOCKETS 200809L + +/* We have at least one terminal. */ +#define _POSIX2_CHAR_TERM 200809L + +/* Neither process nor thread sporadic server interfaces is available. */ +#define _POSIX_SPORADIC_SERVER -1 +#define _POSIX_THREAD_SPORADIC_SERVER -1 + +/* trace.h is not available. */ +#define _POSIX_TRACE -1 +#define _POSIX_TRACE_EVENT_FILTER -1 +#define _POSIX_TRACE_INHERIT -1 +#define _POSIX_TRACE_LOG -1 + +/* Typed memory objects are not available. */ +#define _POSIX_TYPED_MEMORY_OBJECTS -1 + +#endif /* bits/posix_opt.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ppc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ppc.h new file mode 100644 index 00000000..af91d4ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ppc.h @@ -0,0 +1,33 @@ +/* Facilities specific to the PowerPC architecture on Linux + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_PPC_H +#define _BITS_PPC_H + +#ifndef _SYS_PLATFORM_PPC_H +# error "Never include this file directly; use instead." +#endif + +__BEGIN_DECLS + +/* Read the time base frequency. */ +extern uint64_t __ppc_get_timebase_freq (void); + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/printf-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/printf-ldbl.h new file mode 100644 index 00000000..c1bd5c38 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/printf-ldbl.h @@ -0,0 +1,23 @@ +/* -mlong-double-64 compatibility mode for functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PRINTF_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (printf_size) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-extra.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-extra.h new file mode 100644 index 00000000..f89b7d8e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-extra.h @@ -0,0 +1,22 @@ +/* Extra sys/procfs.h definitions. Generic Linux version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-id.h new file mode 100644 index 00000000..9ad086fe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. Generic Linux version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned int __pr_uid_t; +typedef unsigned int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-prregset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-prregset.h new file mode 100644 index 00000000..2bed4488 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs-prregset.h @@ -0,0 +1,25 @@ +/* Types of prgregset_t and prfpregset_t. Generic Linux version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef elf_gregset_t __prgregset_t; +typedef elf_fpregset_t __prfpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs.h new file mode 100644 index 00000000..f32dc14a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/procfs.h @@ -0,0 +1,37 @@ +/* Types for registers for sys/procfs.h. MIPS version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* ELF register definitions */ +#define ELF_NGREG 45 +#define ELF_NFPREG 33 + +#if _MIPS_SIM == _ABIN32 +__extension__ typedef unsigned long long elf_greg_t; +#else +typedef unsigned long elf_greg_t; +#endif +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h new file mode 100644 index 00000000..a0420827 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min-dynamic.h @@ -0,0 +1,31 @@ +/* Definition of PTHREAD_STACK_MIN, possibly dynamic. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef PTHREAD_STACK_MIN +# if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE +# ifndef __ASSEMBLER__ +# define __SC_THREAD_STACK_MIN_VALUE 75 +__BEGIN_DECLS +extern long int __sysconf (int __name) __THROW; +__END_DECLS +# define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE) +# endif +# else +# include +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h new file mode 100644 index 00000000..ecd3479f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Minimum size for a thread. We are free to choose a reasonable value. */ +#define PTHREAD_STACK_MIN 16384 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..d86351fd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes-arch.h @@ -0,0 +1,45 @@ +/* Machine-specific pthread type layouts. Generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if __WORDSIZE == 64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h new file mode 100644 index 00000000..3510b0a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/pthreadtypes.h @@ -0,0 +1,121 @@ +/* Declaration of common pthread types for all architectures. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_PTHREADTYPES_COMMON_H +# define _BITS_PTHREADTYPES_COMMON_H 1 + +/* For internal mutex and condition variable definitions. */ +#include + +/* Thread identifiers. The structure of the attribute type is not + exposed on purpose. */ +typedef unsigned long int pthread_t; + + +/* Data structures for mutex handling. The structure of the attribute + type is not exposed on purpose. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_MUTEXATTR_T]; + int __align; +} pthread_mutexattr_t; + + +/* Data structure for condition variable handling. The structure of + the attribute type is not exposed on purpose. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_CONDATTR_T]; + int __align; +} pthread_condattr_t; + + +/* Keys for thread-specific data */ +typedef unsigned int pthread_key_t; + + +/* Once-only execution */ +typedef int __ONCE_ALIGNMENT pthread_once_t; + + +union pthread_attr_t +{ + char __size[__SIZEOF_PTHREAD_ATTR_T]; + long int __align; +}; +#ifndef __have_pthread_attr_t +typedef union pthread_attr_t pthread_attr_t; +# define __have_pthread_attr_t 1 +#endif + + +typedef union +{ + struct __pthread_mutex_s __data; + char __size[__SIZEOF_PTHREAD_MUTEX_T]; + long int __align; +} pthread_mutex_t; + + +typedef union +{ + struct __pthread_cond_s __data; + char __size[__SIZEOF_PTHREAD_COND_T]; + __extension__ long long int __align; +} pthread_cond_t; + + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +/* Data structure for reader-writer lock variable handling. The + structure of the attribute type is deliberately not exposed. */ +typedef union +{ + struct __pthread_rwlock_arch_t __data; + char __size[__SIZEOF_PTHREAD_RWLOCK_T]; + long int __align; +} pthread_rwlock_t; + +typedef union +{ + char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T]; + long int __align; +} pthread_rwlockattr_t; +#endif + + +#ifdef __USE_XOPEN2K +/* POSIX spinlock data type. */ +typedef volatile int pthread_spinlock_t; + + +/* POSIX barriers data type. The structure of the type is + deliberately not exposed. */ +typedef union +{ + char __size[__SIZEOF_PTHREAD_BARRIER_T]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[__SIZEOF_PTHREAD_BARRIERATTR_T]; + int __align; +} pthread_barrierattr_t; +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ptrace-shared.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ptrace-shared.h new file mode 100644 index 00000000..8016ba27 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ptrace-shared.h @@ -0,0 +1,152 @@ +/* `ptrace' debugger support interface. Linux version, + not architecture-specific. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +# error "Never use directly; include instead." +#endif + +/* Options set using PTRACE_SETOPTIONS. */ +enum __ptrace_setoptions +{ + PTRACE_O_TRACESYSGOOD = 0x00000001, + PTRACE_O_TRACEFORK = 0x00000002, + PTRACE_O_TRACEVFORK = 0x00000004, + PTRACE_O_TRACECLONE = 0x00000008, + PTRACE_O_TRACEEXEC = 0x00000010, + PTRACE_O_TRACEVFORKDONE = 0x00000020, + PTRACE_O_TRACEEXIT = 0x00000040, + PTRACE_O_TRACESECCOMP = 0x00000080, + PTRACE_O_EXITKILL = 0x00100000, + PTRACE_O_SUSPEND_SECCOMP = 0x00200000, + PTRACE_O_MASK = 0x003000ff +}; + +enum __ptrace_eventcodes +{ +/* Wait extended result codes for the above trace options. */ + PTRACE_EVENT_FORK = 1, + PTRACE_EVENT_VFORK = 2, + PTRACE_EVENT_CLONE = 3, + PTRACE_EVENT_EXEC = 4, + PTRACE_EVENT_VFORK_DONE = 5, + PTRACE_EVENT_EXIT = 6, + PTRACE_EVENT_SECCOMP = 7, +/* Extended result codes enabled by means other than options. */ + PTRACE_EVENT_STOP = 128 +}; + +/* Type of stop for PTRACE_GET_SYSCALL_INFO. */ +enum __ptrace_get_syscall_info_op +{ + PTRACE_SYSCALL_INFO_NONE = 0, + PTRACE_SYSCALL_INFO_ENTRY = 1, + PTRACE_SYSCALL_INFO_EXIT = 2, + PTRACE_SYSCALL_INFO_SECCOMP = 3 +}; + +/* Arguments for PTRACE_PEEKSIGINFO. */ +struct __ptrace_peeksiginfo_args +{ + __uint64_t off; /* From which siginfo to start. */ + __uint32_t flags; /* Flags for peeksiginfo. */ + __int32_t nr; /* How many siginfos to take. */ +}; + +enum __ptrace_peeksiginfo_flags +{ + /* Read signals from a shared (process wide) queue. */ + PTRACE_PEEKSIGINFO_SHARED = (1 << 0) +}; + +/* Argument and results of PTRACE_SECCOMP_GET_METADATA. */ +struct __ptrace_seccomp_metadata +{ + __uint64_t filter_off; /* Input: which filter. */ + __uint64_t flags; /* Output: filter's flags. */ +}; + +/* Results of PTRACE_GET_SYSCALL_INFO. */ +struct __ptrace_syscall_info +{ + __uint8_t op; /* One of the enum + __ptrace_get_syscall_info_op + values. */ + __uint32_t arch __attribute__ ((__aligned__ (4))); /* AUDIT_ARCH_* + value. */ + __uint64_t instruction_pointer; /* Instruction pointer. */ + __uint64_t stack_pointer; /* Stack pointer. */ + union + { + /* System call number and arguments, for + PTRACE_SYSCALL_INFO_ENTRY. */ + struct + { + __uint64_t nr; + __uint64_t args[6]; + } entry; + /* System call return value and error flag, for + PTRACE_SYSCALL_INFO_EXIT. */ + struct + { + __int64_t rval; + __uint8_t is_error; + } exit; + /* System call number, arguments and SECCOMP_RET_DATA portion of + SECCOMP_RET_TRACE return value, for + PTRACE_SYSCALL_INFO_SECCOMP. */ + struct + { + __uint64_t nr; + __uint64_t args[6]; + __uint32_t ret_data; + } seccomp; + }; +}; + +/* Results of PTRACE_GET_RSEQ_CONFIGURATION. */ +struct __ptrace_rseq_configuration +{ + __uint64_t rseq_abi_pointer; + __uint32_t rseq_abi_size; + __uint32_t signature; + __uint32_t flags; + __uint32_t pad; +}; + +/* Argument of PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG and + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG. */ +struct __ptrace_sud_config +{ + __uint64_t mode; + __uint64_t selector; + __uint64_t offset; + __uint64_t len; +}; + +/* Perform process tracing functions. REQUEST is one of the values + above, and determines the action to be taken. + For all requests except PTRACE_TRACEME, PID specifies the process to be + traced. + + PID and the other arguments described above for the various requests should + appear (those that are used for the particular request) as: + pid_t PID, void *ADDR, int DATA, void *ADDR2 + after REQUEST. */ +extern long int ptrace (enum __ptrace_request __request, ...) __THROW; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/resource.h new file mode 100644 index 00000000..8711f461 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/resource.h @@ -0,0 +1,223 @@ +/* Bit values & structures for resource limits. Linux version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 5, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 7, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit. */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 6, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((__rlim_t) -1) +#else +# define RLIM_INFINITY 0xffffffffffffffffuLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffuLL +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/rseq.h new file mode 100644 index 00000000..60f35a62 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/rseq.h @@ -0,0 +1,62 @@ +/* Restartable Sequences Linux mips architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the break instruction. The instruction pattern is: + + On MIPS: + 0350000d break 0x350 + + On nanoMIPS: + 00100350 break 0x350 + + On microMIPS: + 0000d407 break 0x350 + + For nanoMIPS32 and microMIPS, the instruction stream is encoded as + 16-bit halfwords, so the signature halfwords need to be swapped + accordingly for little-endian. */ + +#if defined (__nanomips__) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0x03500010 +# else +# define RSEQ_SIG 0x00100350 +# endif +#elif defined (__mips_micromips) +# ifdef __MIPSEL__ +# define RSEQ_SIG 0xd4070000 +# else +# define RSEQ_SIG 0x0000d407 +# endif +#elif defined (__mips__) +# define RSEQ_SIG 0x0350000d +#else +/* Unknown MIPS architecture. */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sched.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sched.h new file mode 100644 index 00000000..3ac3e6c1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sched.h @@ -0,0 +1,161 @@ +/* Definitions of constants and data structure for POSIX 1003.1b-1993 + scheduling interface. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SCHED_H +#define _BITS_SCHED_H 1 + +#ifndef _SCHED_H +# error "Never include directly; use instead." +#endif + +/* Scheduling algorithms. */ +#define SCHED_OTHER 0 +#define SCHED_FIFO 1 +#define SCHED_RR 2 +#ifdef __USE_GNU +# define SCHED_NORMAL 0 +# define SCHED_BATCH 3 +# define SCHED_ISO 4 +# define SCHED_IDLE 5 +# define SCHED_DEADLINE 6 +# define SCHED_EXT 7 + +/* Flags that can be used in policy values. */ +# define SCHED_RESET_ON_FORK 0x40000000 + +/* Flags for the sched_flags field in struct sched_attr. */ +#define SCHED_FLAG_RESET_ON_FORK 0x01 +#define SCHED_FLAG_RECLAIM 0x02 +#define SCHED_FLAG_DL_OVERRUN 0x04 +#define SCHED_FLAG_KEEP_POLICY 0x08 +#define SCHED_FLAG_KEEP_PARAMS 0x10 +#define SCHED_FLAG_UTIL_CLAMP_MIN 0x20 +#define SCHED_FLAG_UTIL_CLAMP_MAX 0x40 + +/* Combinations of sched_flags fields. */ +#define SCHED_FLAG_KEEP_ALL \ + (SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS) +#define SCHED_FLAG_UTIL_CLAMP \ + (SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX) + +/* Use "" to work around incorrect macro expansion of the + __has_include argument (GCC PR 80005). */ +# ifdef __has_include +# if __has_include ("linux/sched/types.h") +/* Some older Linux versions defined sched_param in . */ +# define sched_param __glibc_mask_sched_param +# include +# undef sched_param +# endif +# endif +# ifndef SCHED_ATTR_SIZE_VER0 +# include +# define SCHED_ATTR_SIZE_VER0 48 +# define SCHED_ATTR_SIZE_VER1 56 +struct sched_attr +{ + __u32 size; + __u32 sched_policy; + __u64 sched_flags; + __s32 sched_nice; + __u32 sched_priority; + __u64 sched_runtime; + __u64 sched_deadline; + __u64 sched_period; + __u32 sched_util_min; + __u32 sched_util_max; + /* Additional fields may be added at the end. */ +}; +# endif /* !SCHED_ATTR_SIZE_VER0 */ + +/* Cloning flags. */ +# define CSIGNAL 0x000000ff /* Signal mask to be sent at exit. */ +# define CLONE_VM 0x00000100 /* Set if VM shared between processes. */ +# define CLONE_FS 0x00000200 /* Set if fs info shared between processes. */ +# define CLONE_FILES 0x00000400 /* Set if open files shared between processes. */ +# define CLONE_SIGHAND 0x00000800 /* Set if signal handlers shared. */ +# define CLONE_PIDFD 0x00001000 /* Set if a pidfd should be placed + in parent. */ +# define CLONE_PTRACE 0x00002000 /* Set if tracing continues on the child. */ +# define CLONE_VFORK 0x00004000 /* Set if the parent wants the child to + wake it up on mm_release. */ +# define CLONE_PARENT 0x00008000 /* Set if we want to have the same + parent as the cloner. */ +# define CLONE_THREAD 0x00010000 /* Set to add to same thread group. */ +# define CLONE_NEWNS 0x00020000 /* Set to create new namespace. */ +# define CLONE_SYSVSEM 0x00040000 /* Set to shared SVID SEM_UNDO semantics. */ +# define CLONE_SETTLS 0x00080000 /* Set TLS info. */ +# define CLONE_PARENT_SETTID 0x00100000 /* Store TID in userlevel buffer + before MM copy. */ +# define CLONE_CHILD_CLEARTID 0x00200000 /* Register exit futex and memory + location to clear. */ +# define CLONE_DETACHED 0x00400000 /* Create clone detached. */ +# define CLONE_UNTRACED 0x00800000 /* Set if the tracing process can't + force CLONE_PTRACE on this clone. */ +# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in + the child. */ +# define CLONE_NEWCGROUP 0x02000000 /* New cgroup namespace. */ +# define CLONE_NEWUTS 0x04000000 /* New utsname group. */ +# define CLONE_NEWIPC 0x08000000 /* New ipcs. */ +# define CLONE_NEWUSER 0x10000000 /* New user namespace. */ +# define CLONE_NEWPID 0x20000000 /* New pid namespace. */ +# define CLONE_NEWNET 0x40000000 /* New network namespace. */ +# define CLONE_IO 0x80000000 /* Clone I/O context. */ + +/* cloning flags intersect with CSIGNAL so can be used only with unshare and + clone3 syscalls. */ +#define CLONE_NEWTIME 0x00000080 /* New time namespace */ +#endif + +#include + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Clone current process. */ +extern int clone (int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg, ...) __THROW; + +/* Unshare the specified resources. */ +extern int unshare (int __flags) __THROW; + +/* Get index of currently used CPU. */ +extern int sched_getcpu (void) __THROW; + +/* Get currently used CPU and NUMA node. */ +extern int getcpu (unsigned int *, unsigned int *) __THROW; + +/* Switch process to namespace of type NSTYPE indicated by FD. */ +extern int setns (int __fd, int __nstype) __THROW; + +/* Apply the scheduling attributes from *ATTR to the process or thread TID. */ +int sched_setattr (pid_t tid, struct sched_attr *attr, unsigned int flags) + __THROW __nonnull ((2)); + +/* Obtain the scheduling attributes of the process or thread TID and + store it in *ATTR. */ +int sched_getattr (pid_t tid, struct sched_attr *attr, unsigned int size, + unsigned int flags) + __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); + +#endif + +__END_DECLS + +#endif /* bits/sched.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select-decl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select-decl.h new file mode 100644 index 00000000..fb3a3a6a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select-decl.h @@ -0,0 +1,31 @@ +/* Checking routines for select functions. Declaration only. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SELECT_DECL_H +#define _BITS_SELECT_DECL_H 1 + +#ifndef _SYS_SELECT_H +# error "Never include directly; use instead." +#endif + +/* Helper functions to issue warnings and errors when needed. */ +extern long int __fdelt_chk (long int __d); +extern long int __fdelt_warn (long int __d) + __warnattr ("bit outside of fd_set selected"); + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select.h new file mode 100644 index 00000000..2683668a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select.h @@ -0,0 +1,37 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SELECT_H +# error "Never use directly; include instead." +#endif + + +/* We don't use `memset' because this would require a prototype and + the array isn't too big. */ +#define __FD_ZERO(s) \ + do { \ + unsigned int __i; \ + fd_set *__arr = (s); \ + for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ + __FDS_BITS (__arr)[__i] = 0; \ + } while (0) +#define __FD_SET(d, s) \ + ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d))) +#define __FD_CLR(d, s) \ + ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d))) +#define __FD_ISSET(d, s) \ + ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select2.h new file mode 100644 index 00000000..0144b409 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/select2.h @@ -0,0 +1,33 @@ +/* Checking macros for select functions. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SELECT_H +# error "Never include directly; use instead." +#endif + +#include + +#undef __FD_ELT +#define __FD_ELT(d) \ + __extension__ \ + ({ long int __d = (d); \ + (__builtin_constant_p (__d) \ + ? (0 <= __d && __d < __FD_SETSIZE \ + ? (__d / __NFDBITS) \ + : __fdelt_warn (__d)) \ + : __fdelt_chk (__d)); }) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sem.h new file mode 100644 index 00000000..8b2d5f5e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sem.h @@ -0,0 +1,76 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include +#include + +/* Flags for `semop'. */ +#define SEM_UNDO 0x1000 /* undo the operation on exit */ + +/* Commands for `semctl'. */ +#define GETPID 11 /* get sempid */ +#define GETVAL 12 /* get semval */ +#define GETALL 13 /* get all semval's */ +#define GETNCNT 14 /* get semncnt */ +#define GETZCNT 15 /* get semzcnt */ +#define SETVAL 16 /* set semval */ +#define SETALL 17 /* set all semval's */ + +/* The user should define a union like the following to use it for arguments + for `semctl'. + + union semun + { + int val; <= value for SETVAL + struct semid_ds *buf; <= buffer for IPC_STAT & IPC_SET + unsigned short int *array; <= array for GETALL & SETALL + struct seminfo *__buf; <= buffer for IPC_INFO + }; + + Previous versions of this file used to define this union but this is + incorrect. One can test the macro _SEM_SEMUN_UNDEFINED to see whether + one must define the union or not. */ +#define _SEM_SEMUN_UNDEFINED 1 + +#ifdef __USE_MISC + +/* ipcs ctl cmds */ +# define SEM_STAT 18 +# define SEM_INFO 19 +# define SEM_STAT_ANY 20 + +struct seminfo +{ + int semmap; + int semmni; + int semmns; + int semmnu; + int semmsl; + int semopm; + int semume; + int semusz; + int semvmx; + int semaem; +}; + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/semaphore.h new file mode 100644 index 00000000..c84a8d70 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/semaphore.h @@ -0,0 +1,39 @@ +/* Generic POSIX semaphore type layout + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp.h new file mode 100644 index 00000000..5eefe2f9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp.h @@ -0,0 +1,73 @@ +/* Define the machine-dependent type `jmp_buf'. MIPS version. + Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _MIPS_BITS_SETJMP_H +#define _MIPS_BITS_SETJMP_H 1 + +#if !defined(_SETJMP_H) && !defined(_PTHREAD_H) +# error "Never include directly; use instead." +#endif + +#include + +typedef struct __jmp_buf_internal_tag + { +#if _MIPS_SIM == _ABIO32 + /* Program counter. */ + void *__pc; + + /* Stack pointer. */ + void *__sp; + + /* Callee-saved registers s0 through s7. */ + int __regs[8]; + + /* The frame pointer. */ + void *__fp; + + /* The global pointer. */ + void *__gp; +#else + /* Program counter. */ + __extension__ long long __pc; + + /* Stack pointer. */ + __extension__ long long __sp; + + /* Callee-saved registers s0 through s7. */ + __extension__ long long __regs[8]; + + /* The frame pointer. */ + __extension__ long long __fp; + + /* The global pointer. */ + __extension__ long long __gp; +#endif + + /* Unused (was floating point status register). */ + int __glibc_reserved1; + + /* Callee-saved floating point registers. */ +#if _MIPS_SIM == _ABI64 + double __fpregs[8]; +#else + double __fpregs[6]; +#endif + } __jmp_buf[1]; + +#endif /* _MIPS_BITS_SETJMP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp2.h new file mode 100644 index 00000000..9542c056 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/setjmp2.h @@ -0,0 +1,40 @@ +/* Checking macros for setjmp functions. + Copyright (C) 2009-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SETJMP_H +# error "Never include directly; use instead." +#endif + +/* Variant of the longjmp functions which perform some sanity checking. */ +#ifdef __REDIRECT_NTH +extern void __REDIRECT_NTHNL (longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (_longjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +extern void __REDIRECT_NTHNL (siglongjmp, + (struct __jmp_buf_tag __env[1], int __val), + __longjmp_chk) __attribute__ ((__noreturn__)); +#else +extern void __longjmp_chk (struct __jmp_buf_tag __env[1], int __val), + __THROWNL __attribute__ ((__noreturn__)); +# define longjmp __longjmp_chk +# define _longjmp __longjmp_chk +# define siglongjmp __longjmp_chk +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shm.h new file mode 100644 index 00000000..89562d77 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shm.h @@ -0,0 +1,108 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +/* Permission flag for shmget. */ +#define SHM_R 0400 /* or S_IRUGO from */ +#define SHM_W 0200 /* or S_IWUGO from */ + +/* Flags for `shmat'. */ +#define SHM_RDONLY 010000 /* attach read-only else read-write */ +#define SHM_RND 020000 /* round attach address to SHMLBA */ +#define SHM_REMAP 040000 /* take-over region on attach */ +#define SHM_EXEC 0100000 /* execution access */ + +/* Commands for `shmctl'. */ +#define SHM_LOCK 11 /* lock segment (root only) */ +#define SHM_UNLOCK 12 /* unlock segment (root only) */ + +__BEGIN_DECLS + +/* Type to count number of attaches. */ +typedef __syscall_ulong_t shmatt_t; + +#include +#include + +#ifdef __USE_MISC + +/* ipcs ctl commands */ +# define SHM_STAT 13 +# define SHM_INFO 14 +# define SHM_STAT_ANY 15 + +/* shm_mode upper byte flags */ +# define SHM_DEST 01000 /* segment will be destroyed on last detach */ +# define SHM_LOCKED 02000 /* segment will not be swapped */ +# define SHM_HUGETLB 04000 /* segment is mapped via hugetlb */ +# define SHM_NORESERVE 010000 /* don't check for reservations */ + +/* When SHM_HUGETLB is set, bits [26:31] encode the log2 of the huge page size. + The following definitions are associated with this huge page size encoding. + It is responsibility of the application to know which sizes are supported on + the running system. See shmget(2) man page for details. */ + +#define SHM_HUGE_SHIFT 26 +#define SHM_HUGE_MASK 0x3f + +#define SHM_HUGE_16KB (14 << SHM_HUGE_SHIFT) +#define SHM_HUGE_64KB (16 << SHM_HUGE_SHIFT) +#define SHM_HUGE_512KB (19 << SHM_HUGE_SHIFT) +#define SHM_HUGE_1MB (20 << SHM_HUGE_SHIFT) +#define SHM_HUGE_2MB (21 << SHM_HUGE_SHIFT) +#define SHM_HUGE_8MB (23 << SHM_HUGE_SHIFT) +#define SHM_HUGE_16MB (24 << SHM_HUGE_SHIFT) +#define SHM_HUGE_32MB (25 << SHM_HUGE_SHIFT) +#define SHM_HUGE_256MB (28 << SHM_HUGE_SHIFT) +#define SHM_HUGE_512MB (29 << SHM_HUGE_SHIFT) +#define SHM_HUGE_1GB (30 << SHM_HUGE_SHIFT) +#define SHM_HUGE_2GB (31 << SHM_HUGE_SHIFT) +#define SHM_HUGE_16GB (34U << SHM_HUGE_SHIFT) + +struct shminfo + { + __syscall_ulong_t shmmax; + __syscall_ulong_t shmmin; + __syscall_ulong_t shmmni; + __syscall_ulong_t shmseg; + __syscall_ulong_t shmall; + __syscall_ulong_t __glibc_reserved1; + __syscall_ulong_t __glibc_reserved2; + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; + }; + +struct shm_info + { + int used_ids; + __syscall_ulong_t shm_tot; /* total allocated shm */ + __syscall_ulong_t shm_rss; /* total resident shm */ + __syscall_ulong_t shm_swp; /* total swapped shm */ + __syscall_ulong_t swap_attempts; + __syscall_ulong_t swap_successes; + }; + +#endif /* __USE_MISC */ + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shmlba.h new file mode 100644 index 00000000..45a3b071 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. Generic version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getpagesize ()) +extern int __getpagesize (void) __THROW __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigaction.h new file mode 100644 index 00000000..130895b1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigaction.h @@ -0,0 +1,83 @@ +/* The proper definitions for Linux's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* Special flags. */ + int sa_flags; + + /* Restore handler. */ + void (*sa_restorer) (void); + }; + +/* Bits in `sa_flags'. */ +#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */ +#define SA_SIGINFO 4 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_BLOCK 0 /* Block signals. */ +#define SIG_UNBLOCK 1 /* Unblock signals. */ +#define SIG_SETMASK 2 /* Set the set of blocked signals. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigcontext.h new file mode 100644 index 00000000..ac320c03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigcontext.h @@ -0,0 +1,37 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#ifndef sigcontext_struct +/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but + we need sigcontext. */ +# define sigcontext_struct sigcontext + +# include + +/* The Linux kernel headers redefine NULL wrongly, so cleanup afterwards. */ +# define __need_NULL +# include +#endif + +#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigevent-consts.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigevent-consts.h new file mode 100644 index 00000000..93eb14f8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigevent-consts.h @@ -0,0 +1,41 @@ +/* sigevent constants. Linux version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGEVENT_CONSTS_H +#define _BITS_SIGEVENT_CONSTS_H 1 + +#if !defined _SIGNAL_H && !defined _AIO_H +#error "Don't include directly; use instead." +#endif + +/* `sigev_notify' values. */ +enum +{ + SIGEV_SIGNAL = 0, /* Notify via signal. */ +# define SIGEV_SIGNAL SIGEV_SIGNAL + SIGEV_NONE, /* Other notification: meaningless. */ +# define SIGEV_NONE SIGEV_NONE + SIGEV_THREAD, /* Deliver via thread creation. */ +# define SIGEV_THREAD SIGEV_THREAD + + SIGEV_THREAD_ID = 4 /* Send signal to specific thread. + This is a Linux extension. */ +#define SIGEV_THREAD_ID SIGEV_THREAD_ID +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-arch.h new file mode 100644 index 00000000..59cd9e30 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-arch.h @@ -0,0 +1,7 @@ +/* Architecture-specific adjustments to siginfo_t. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* This architecture has no adjustments to make to siginfo_t. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts-arch.h new file mode 100644 index 00000000..387a778a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts-arch.h @@ -0,0 +1,7 @@ +/* Architecture-specific additional siginfo constants. */ +#ifndef _BITS_SIGINFO_CONSTS_ARCH_H +#define _BITS_SIGINFO_CONSTS_ARCH_H 1 + +/* This architecture has no additional siginfo constants. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts.h new file mode 100644 index 00000000..5958670b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/siginfo-consts.h @@ -0,0 +1,218 @@ +/* siginfo constants. Linux version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGINFO_CONSTS_H +#define _BITS_SIGINFO_CONSTS_H 1 + +#ifndef _SIGNAL_H +#error "Don't include directly; use instead." +#endif + +/* Most of these constants are uniform across all architectures, but there + is one exception. */ +#include +#ifndef __SI_ASYNCIO_AFTER_SIGIO +# define __SI_ASYNCIO_AFTER_SIGIO 1 +#endif + +/* Values for `si_code'. Positive values are reserved for kernel-generated + signals. */ +enum +{ + SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */ + SI_DETHREAD = -7, /* Sent by execve killing subsidiary + threads. */ + SI_TKILL, /* Sent by tkill. */ + SI_SIGIO, /* Sent by queued SIGIO. */ +#if __SI_ASYNCIO_AFTER_SIGIO + SI_ASYNCIO, /* Sent by AIO completion. */ + SI_MESGQ, /* Sent by real time mesq state change. */ + SI_TIMER, /* Sent by timer expiration. */ +#else + SI_MESGQ, + SI_TIMER, + SI_ASYNCIO, +#endif + SI_QUEUE, /* Sent by sigqueue. */ + SI_USER, /* Sent by kill, sigsend. */ + SI_KERNEL = 0x80 /* Send by kernel. */ + +#define SI_ASYNCNL SI_ASYNCNL +#define SI_DETHREAD SI_DETHREAD +#define SI_TKILL SI_TKILL +#define SI_SIGIO SI_SIGIO +#define SI_ASYNCIO SI_ASYNCIO +#define SI_MESGQ SI_MESGQ +#define SI_TIMER SI_TIMER +#define SI_ASYNCIO SI_ASYNCIO +#define SI_QUEUE SI_QUEUE +#define SI_USER SI_USER +#define SI_KERNEL SI_KERNEL +}; + + +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* `si_code' values for SIGILL signal. */ +enum +{ + ILL_ILLOPC = 1, /* Illegal opcode. */ +# define ILL_ILLOPC ILL_ILLOPC + ILL_ILLOPN, /* Illegal operand. */ +# define ILL_ILLOPN ILL_ILLOPN + ILL_ILLADR, /* Illegal addressing mode. */ +# define ILL_ILLADR ILL_ILLADR + ILL_ILLTRP, /* Illegal trap. */ +# define ILL_ILLTRP ILL_ILLTRP + ILL_PRVOPC, /* Privileged opcode. */ +# define ILL_PRVOPC ILL_PRVOPC + ILL_PRVREG, /* Privileged register. */ +# define ILL_PRVREG ILL_PRVREG + ILL_COPROC, /* Coprocessor error. */ +# define ILL_COPROC ILL_COPROC + ILL_BADSTK, /* Internal stack error. */ +# define ILL_BADSTK ILL_BADSTK + ILL_BADIADDR /* Unimplemented instruction address. */ +# define ILL_BADIADDR ILL_BADIADDR +}; + +/* `si_code' values for SIGFPE signal. */ +enum +{ + FPE_INTDIV = 1, /* Integer divide by zero. */ +# define FPE_INTDIV FPE_INTDIV + FPE_INTOVF, /* Integer overflow. */ +# define FPE_INTOVF FPE_INTOVF + FPE_FLTDIV, /* Floating point divide by zero. */ +# define FPE_FLTDIV FPE_FLTDIV + FPE_FLTOVF, /* Floating point overflow. */ +# define FPE_FLTOVF FPE_FLTOVF + FPE_FLTUND, /* Floating point underflow. */ +# define FPE_FLTUND FPE_FLTUND + FPE_FLTRES, /* Floating point inexact result. */ +# define FPE_FLTRES FPE_FLTRES + FPE_FLTINV, /* Floating point invalid operation. */ +# define FPE_FLTINV FPE_FLTINV + FPE_FLTSUB, /* Subscript out of range. */ +# define FPE_FLTSUB FPE_FLTSUB + FPE_FLTUNK = 14, /* Undiagnosed floating-point exception. */ +# define FPE_FLTUNK FPE_FLTUNK + FPE_CONDTRAP /* Trap on condition. */ +# define FPE_CONDTRAP FPE_CONDTRAP +}; + +/* `si_code' values for SIGSEGV signal. */ +enum +{ + SEGV_MAPERR = 1, /* Address not mapped to object. */ +# define SEGV_MAPERR SEGV_MAPERR + SEGV_ACCERR, /* Invalid permissions for mapped object. */ +# define SEGV_ACCERR SEGV_ACCERR + SEGV_BNDERR, /* Bounds checking failure. */ +# define SEGV_BNDERR SEGV_BNDERR + SEGV_PKUERR, /* Protection key checking failure. */ +# define SEGV_PKUERR SEGV_PKUERR + SEGV_ACCADI, /* ADI not enabled for mapped object. */ +# define SEGV_ACCADI SEGV_ACCADI + SEGV_ADIDERR, /* Disrupting MCD error. */ +# define SEGV_ADIDERR SEGV_ADIDERR + SEGV_ADIPERR, /* Precise MCD exception. */ +# define SEGV_ADIPERR SEGV_ADIPERR + SEGV_MTEAERR, /* Asynchronous ARM MTE error. */ +# define SEGV_MTEAERR SEGV_MTEAERR + SEGV_MTESERR, /* Synchronous ARM MTE exception. */ +# define SEGV_MTESERR SEGV_MTESERR + SEGV_CPERR /* Control protection fault. */ +# define SEGV_CPERR SEGV_CPERR +}; + +/* `si_code' values for SIGBUS signal. */ +enum +{ + BUS_ADRALN = 1, /* Invalid address alignment. */ +# define BUS_ADRALN BUS_ADRALN + BUS_ADRERR, /* Non-existent physical address. */ +# define BUS_ADRERR BUS_ADRERR + BUS_OBJERR, /* Object specific hardware error. */ +# define BUS_OBJERR BUS_OBJERR + BUS_MCEERR_AR, /* Hardware memory error: action required. */ +# define BUS_MCEERR_AR BUS_MCEERR_AR + BUS_MCEERR_AO /* Hardware memory error: action optional. */ +# define BUS_MCEERR_AO BUS_MCEERR_AO +}; +# endif + +# ifdef __USE_XOPEN_EXTENDED +/* `si_code' values for SIGTRAP signal. */ +enum +{ + TRAP_BRKPT = 1, /* Process breakpoint. */ +# define TRAP_BRKPT TRAP_BRKPT + TRAP_TRACE, /* Process trace trap. */ +# define TRAP_TRACE TRAP_TRACE + TRAP_BRANCH, /* Process taken branch trap. */ +# define TRAP_BRANCH TRAP_BRANCH + TRAP_HWBKPT, /* Hardware breakpoint/watchpoint. */ +# define TRAP_HWBKPT TRAP_HWBKPT + TRAP_UNK /* Undiagnosed trap. */ +# define TRAP_UNK TRAP_UNK +}; +# endif + +# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* `si_code' values for SIGCHLD signal. */ +enum +{ + CLD_EXITED = 1, /* Child has exited. */ +# define CLD_EXITED CLD_EXITED + CLD_KILLED, /* Child was killed. */ +# define CLD_KILLED CLD_KILLED + CLD_DUMPED, /* Child terminated abnormally. */ +# define CLD_DUMPED CLD_DUMPED + CLD_TRAPPED, /* Traced child has trapped. */ +# define CLD_TRAPPED CLD_TRAPPED + CLD_STOPPED, /* Child has stopped. */ +# define CLD_STOPPED CLD_STOPPED + CLD_CONTINUED /* Stopped child has continued. */ +# define CLD_CONTINUED CLD_CONTINUED +}; + +/* `si_code' values for SIGPOLL signal. */ +enum +{ + POLL_IN = 1, /* Data input available. */ +# define POLL_IN POLL_IN + POLL_OUT, /* Output buffers available. */ +# define POLL_OUT POLL_OUT + POLL_MSG, /* Input message available. */ +# define POLL_MSG POLL_MSG + POLL_ERR, /* I/O error. */ +# define POLL_ERR POLL_ERR + POLL_PRI, /* High priority input available. */ +# define POLL_PRI POLL_PRI + POLL_HUP /* Device disconnected. */ +# define POLL_HUP POLL_HUP +}; +# endif + +/* Architectures might also add architecture-specific constants. + These are all considered GNU extensions. */ +#ifdef __USE_GNU +# include +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signal_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signal_ext.h new file mode 100644 index 00000000..e19d2026 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signal_ext.h @@ -0,0 +1,31 @@ +/* System-specific extensions of , Linux version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_GNU + +/* Send SIGNAL to the thread TID in the thread group (process) + identified by TGID. This function behaves like kill, but also + fails with ESRCH if the specified TID does not belong to the + specified thread group. */ +extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal); + +#endif /* __USE_GNU */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signalfd.h new file mode 100644 index 00000000..b54daab5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00004000 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-arch.h new file mode 100644 index 00000000..a1e34a31 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-arch.h @@ -0,0 +1,64 @@ +/* Signal number definitions. Linux version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_ARCH_H +#define _BITS_SIGNUM_ARCH_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + most Linux systems. */ + +#define SIGSTKFLT 16 /* Stack fault (obsolete). */ +#define SIGPWR 30 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 7 /* Bus error. */ +#define SIGSYS 31 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 23 /* Urgent data is available at a socket. */ +#define SIGSTOP 19 /* Stop, unblockable. */ +#define SIGTSTP 20 /* Keyboard stop. */ +#define SIGCONT 18 /* Continue. */ +#define SIGCHLD 17 /* Child terminated or stopped. */ +#define SIGTTIN 21 /* Background read from control terminal. */ +#define SIGTTOU 22 /* Background write to control terminal. */ +#define SIGPOLL 29 /* Pollable event occurred (System V). */ +#define SIGXFSZ 25 /* File size limit exceeded. */ +#define SIGXCPU 24 /* CPU time limit exceeded. */ +#define SIGVTALRM 26 /* Virtual timer expired. */ +#define SIGPROF 27 /* Profiling timer expired. */ +#define SIGUSR1 10 /* User-defined signal 1. */ +#define SIGUSR2 12 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +#define __SIGRTMIN 32 +#define __SIGRTMAX 64 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-generic.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-generic.h new file mode 100644 index 00000000..a6f4511a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/signum-generic.h @@ -0,0 +1,81 @@ +/* Signal number constants. Generic template. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_GENERIC_H +#define _BITS_SIGNUM_GENERIC_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Fake signal functions. */ + +#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ +#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ +#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ + +#ifdef __USE_XOPEN +# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ +#endif + +/* We define here all the signal names listed in POSIX (1003.1-2008); + as of 1003.1-2013, no additional signals have been added by POSIX. + We also define here signal names that historically exist in every + real-world POSIX variant (e.g. SIGWINCH). + + Signals in the 1-15 range are defined with their historical numbers. + For other signals, we use the BSD numbers. + There are two unallocated signal numbers in the 1-31 range: 7 and 29. + Signal number 0 is reserved for use as kill(pid, 0), to test whether + a process exists without sending it a signal. */ + +/* ISO C99 signals. */ +#define SIGINT 2 /* Interactive attention signal. */ +#define SIGILL 4 /* Illegal instruction. */ +#define SIGABRT 6 /* Abnormal termination. */ +#define SIGFPE 8 /* Erroneous arithmetic operation. */ +#define SIGSEGV 11 /* Invalid access to storage. */ +#define SIGTERM 15 /* Termination request. */ + +/* Historical signals specified by POSIX. */ +#define SIGHUP 1 /* Hangup. */ +#define SIGQUIT 3 /* Quit. */ +#define SIGTRAP 5 /* Trace/breakpoint trap. */ +#define SIGKILL 9 /* Killed. */ +#define SIGPIPE 13 /* Broken pipe. */ +#define SIGALRM 14 /* Alarm clock. */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* Not all systems support real-time signals. bits/signum.h indicates + that they are supported by overriding __SIGRTMAX to a value greater + than __SIGRTMIN. These constants give the kernel-level hard limits, + but some real-time signals may be used internally by glibc. Do not + use these constants in application code; use SIGRTMIN and SIGRTMAX + (defined in signal.h) instead. */ + +/* Include system specific bits. */ +#include + +/* Biggest signal number + 1 (including real-time signals). */ +#define _NSIG (__SIGRTMAX + 1) + +#endif /* bits/signum-generic.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstack.h new file mode 100644 index 00000000..3f238ad9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 2048 + +/* System default stack size. */ +#define SIGSTKSZ 8192 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstksz.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstksz.h new file mode 100644 index 00000000..dd535d72 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigstksz.h @@ -0,0 +1,33 @@ +/* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE +# include + +/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */ +# undef SIGSTKSZ +# define SIGSTKSZ sysconf (_SC_SIGSTKSZ) + +/* Minimum stack size for a signal handler: SIGSTKSZ. */ +# undef MINSIGSTKSZ +# define MINSIGSTKSZ SIGSTKSZ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigthread.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigthread.h new file mode 100644 index 00000000..752c13cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sigthread.h @@ -0,0 +1,44 @@ +/* Signal handling function for threaded programs. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +#ifndef _BITS_SIGTHREAD_H +#define _BITS_SIGTHREAD_H 1 + +#if !defined _SIGNAL_H && !defined _PTHREAD_H +# error "Never include this file directly. Use instead" +#endif + +/* Functions for handling signals. */ +#include + +/* Modify the signal mask for the calling thread. The arguments have + the same meaning as for sigprocmask(2). */ +extern int pthread_sigmask (int __how, + const __sigset_t *__restrict __newmask, + __sigset_t *__restrict __oldmask)__THROW; + +/* Send signal SIGNO to the given thread. */ +extern int pthread_kill (pthread_t __threadid, int __signo) __THROW; + +#ifdef __USE_GNU +/* Queue signal and data to a thread. */ +extern int pthread_sigqueue (pthread_t __threadid, int __signo, + const union sigval __value) __THROW; +#endif + +#endif /* bits/sigthread.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sockaddr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sockaddr.h new file mode 100644 index 00000000..cc2e91ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sockaddr.h @@ -0,0 +1,42 @@ +/* Definition of struct sockaddr_* common members and sizes, generic version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +#ifndef _BITS_SOCKADDR_H +#define _BITS_SOCKADDR_H 1 + + +/* POSIX.1g specifies this type name for the `sa_family' member. */ +typedef unsigned short int sa_family_t; + +/* This macro is used to declare the initial common members + of the data types used for socket addresses, `struct sockaddr', + `struct sockaddr_in', `struct sockaddr_un', etc. */ + +#define __SOCKADDR_COMMON(sa_prefix) \ + sa_family_t sa_prefix##family + +#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int)) + +/* Size of struct sockaddr_storage. */ +#define _SS_SIZE 128 + +#endif /* bits/sockaddr.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket-constants.h new file mode 100644 index 00000000..d4efd385 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket-constants.h @@ -0,0 +1,81 @@ +/* Socket constants which vary among Linux architectures. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#include + +#define SOL_SOCKET 1 +#define SO_ACCEPTCONN 30 +#define SO_BROADCAST 6 +#define SO_DONTROUTE 5 +#define SO_ERROR 4 +#define SO_KEEPALIVE 9 +#define SO_LINGER 13 +#define SO_OOBINLINE 10 +#define SO_RCVBUF 8 +#define SO_RCVLOWAT 18 +#define SO_REUSEADDR 2 +#define SO_SNDBUF 7 +#define SO_SNDLOWAT 19 +#define SO_TYPE 3 + +#if (__TIMESIZE == 64 && __WORDSIZE == 32 \ + && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) +# define SO_RCVTIMEO 66 +# define SO_SNDTIMEO 67 +# define SO_TIMESTAMP 63 +# define SO_TIMESTAMPNS 64 +# define SO_TIMESTAMPING 65 +#else +# if __TIMESIZE == 64 +# define SO_RCVTIMEO 20 +# define SO_SNDTIMEO 21 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +# else +# define SO_RCVTIMEO_OLD 20 +# define SO_SNDTIMEO_OLD 21 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket.h new file mode 100644 index 00000000..22cdb822 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket.h @@ -0,0 +1,405 @@ +/* System-specific socket constants and types. Linux version. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __BITS_SOCKET_H +#define __BITS_SOCKET_H + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define __need_size_t +#include + +#include + +/* Type for length arguments in socket calls. */ +#ifndef __socklen_t_defined +typedef __socklen_t socklen_t; +# define __socklen_t_defined +#endif + +/* Get the architecture-dependent definition of enum __socket_type. */ +#include + +/* Protocol families. */ +#define PF_UNSPEC 0 /* Unspecified. */ +#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ +#define PF_UNIX PF_LOCAL /* POSIX name for PF_LOCAL. */ +#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ +#define PF_INET 2 /* IP protocol family. */ +#define PF_AX25 3 /* Amateur Radio AX.25. */ +#define PF_IPX 4 /* Novell Internet Protocol. */ +#define PF_APPLETALK 5 /* Appletalk DDP. */ +#define PF_NETROM 6 /* Amateur radio NetROM. */ +#define PF_BRIDGE 7 /* Multiprotocol bridge. */ +#define PF_ATMPVC 8 /* ATM PVCs. */ +#define PF_X25 9 /* Reserved for X.25 project. */ +#define PF_INET6 10 /* IP version 6. */ +#define PF_ROSE 11 /* Amateur Radio X.25 PLP. */ +#define PF_DECnet 12 /* Reserved for DECnet project. */ +#define PF_NETBEUI 13 /* Reserved for 802.2LLC project. */ +#define PF_SECURITY 14 /* Security callback pseudo AF. */ +#define PF_KEY 15 /* PF_KEY key management API. */ +#define PF_NETLINK 16 +#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */ +#define PF_PACKET 17 /* Packet family. */ +#define PF_ASH 18 /* Ash. */ +#define PF_ECONET 19 /* Acorn Econet. */ +#define PF_ATMSVC 20 /* ATM SVCs. */ +#define PF_RDS 21 /* RDS sockets. */ +#define PF_SNA 22 /* Linux SNA Project */ +#define PF_IRDA 23 /* IRDA sockets. */ +#define PF_PPPOX 24 /* PPPoX sockets. */ +#define PF_WANPIPE 25 /* Wanpipe API sockets. */ +#define PF_LLC 26 /* Linux LLC. */ +#define PF_IB 27 /* Native InfiniBand address. */ +#define PF_MPLS 28 /* MPLS. */ +#define PF_CAN 29 /* Controller Area Network. */ +#define PF_TIPC 30 /* TIPC sockets. */ +#define PF_BLUETOOTH 31 /* Bluetooth sockets. */ +#define PF_IUCV 32 /* IUCV sockets. */ +#define PF_RXRPC 33 /* RxRPC sockets. */ +#define PF_ISDN 34 /* mISDN sockets. */ +#define PF_PHONET 35 /* Phonet sockets. */ +#define PF_IEEE802154 36 /* IEEE 802.15.4 sockets. */ +#define PF_CAIF 37 /* CAIF sockets. */ +#define PF_ALG 38 /* Algorithm sockets. */ +#define PF_NFC 39 /* NFC sockets. */ +#define PF_VSOCK 40 /* vSockets. */ +#define PF_KCM 41 /* Kernel Connection Multiplexor. */ +#define PF_QIPCRTR 42 /* Qualcomm IPC Router. */ +#define PF_SMC 43 /* SMC sockets. */ +#define PF_XDP 44 /* XDP sockets. */ +#define PF_MCTP 45 /* Management component transport protocol. */ +#define PF_MAX 46 /* For now.. */ + +/* Address families. */ +#define AF_UNSPEC PF_UNSPEC +#define AF_LOCAL PF_LOCAL +#define AF_UNIX PF_UNIX +#define AF_FILE PF_FILE +#define AF_INET PF_INET +#define AF_AX25 PF_AX25 +#define AF_IPX PF_IPX +#define AF_APPLETALK PF_APPLETALK +#define AF_NETROM PF_NETROM +#define AF_BRIDGE PF_BRIDGE +#define AF_ATMPVC PF_ATMPVC +#define AF_X25 PF_X25 +#define AF_INET6 PF_INET6 +#define AF_ROSE PF_ROSE +#define AF_DECnet PF_DECnet +#define AF_NETBEUI PF_NETBEUI +#define AF_SECURITY PF_SECURITY +#define AF_KEY PF_KEY +#define AF_NETLINK PF_NETLINK +#define AF_ROUTE PF_ROUTE +#define AF_PACKET PF_PACKET +#define AF_ASH PF_ASH +#define AF_ECONET PF_ECONET +#define AF_ATMSVC PF_ATMSVC +#define AF_RDS PF_RDS +#define AF_SNA PF_SNA +#define AF_IRDA PF_IRDA +#define AF_PPPOX PF_PPPOX +#define AF_WANPIPE PF_WANPIPE +#define AF_LLC PF_LLC +#define AF_IB PF_IB +#define AF_MPLS PF_MPLS +#define AF_CAN PF_CAN +#define AF_TIPC PF_TIPC +#define AF_BLUETOOTH PF_BLUETOOTH +#define AF_IUCV PF_IUCV +#define AF_RXRPC PF_RXRPC +#define AF_ISDN PF_ISDN +#define AF_PHONET PF_PHONET +#define AF_IEEE802154 PF_IEEE802154 +#define AF_CAIF PF_CAIF +#define AF_ALG PF_ALG +#define AF_NFC PF_NFC +#define AF_VSOCK PF_VSOCK +#define AF_KCM PF_KCM +#define AF_QIPCRTR PF_QIPCRTR +#define AF_SMC PF_SMC +#define AF_XDP PF_XDP +#define AF_MCTP PF_MCTP +#define AF_MAX PF_MAX + +/* Socket level values. Others are defined in the appropriate headers. + + XXX These definitions also should go into the appropriate headers as + far as they are available. */ +#define SOL_RAW 255 +#define SOL_DECNET 261 +#define SOL_X25 262 +#define SOL_PACKET 263 +#define SOL_ATM 264 /* ATM layer (cell level). */ +#define SOL_AAL 265 /* ATM Adaption Layer (packet level). */ +#define SOL_IRDA 266 +#define SOL_NETBEUI 267 +#define SOL_LLC 268 +#define SOL_DCCP 269 +#define SOL_NETLINK 270 +#define SOL_TIPC 271 +#define SOL_RXRPC 272 +#define SOL_PPPOL2TP 273 +#define SOL_BLUETOOTH 274 +#define SOL_PNPIPE 275 +#define SOL_RDS 276 +#define SOL_IUCV 277 +#define SOL_CAIF 278 +#define SOL_ALG 279 +#define SOL_NFC 280 +#define SOL_KCM 281 +#define SOL_TLS 282 +#define SOL_XDP 283 +#define SOL_MPTCP 284 +#define SOL_MCTP 285 +#define SOL_SMC 286 +#define SOL_VSOCK 287 + +/* Maximum queue length specifiable by listen. */ +#define SOMAXCONN 4096 + +/* Get the definition of the macro to define the common sockaddr members. */ +#include + +/* Structure describing a generic socket address. */ +struct __attribute_struct_may_alias__ sockaddr + { + __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ + char sa_data[14]; /* Address data. */ + }; + + +/* Structure large enough to hold any socket address (with the historical + exception of AF_UNIX). */ +#define __ss_aligntype unsigned long int +#define _SS_PADSIZE \ + (_SS_SIZE - __SOCKADDR_COMMON_SIZE - sizeof (__ss_aligntype)) + +struct __attribute_struct_may_alias__ sockaddr_storage + { + __SOCKADDR_COMMON (ss_); /* Address family, etc. */ + char __ss_padding[_SS_PADSIZE]; + __ss_aligntype __ss_align; /* Force desired alignment. */ + }; + + +/* Bits in the FLAGS argument to `send', `recv', et al. */ +enum + { + MSG_OOB = 0x01, /* Process out-of-band data. */ +#define MSG_OOB MSG_OOB + MSG_PEEK = 0x02, /* Peek at incoming messages. */ +#define MSG_PEEK MSG_PEEK + MSG_DONTROUTE = 0x04, /* Don't use local routing. */ +#define MSG_DONTROUTE MSG_DONTROUTE +#ifdef __USE_GNU + /* DECnet uses a different name. */ + MSG_TRYHARD = MSG_DONTROUTE, +# define MSG_TRYHARD MSG_DONTROUTE +#endif + MSG_CTRUNC = 0x08, /* Control data lost before delivery. */ +#define MSG_CTRUNC MSG_CTRUNC + MSG_PROXY = 0x10, /* Supply or ask second address. */ +#define MSG_PROXY MSG_PROXY + MSG_TRUNC = 0x20, +#define MSG_TRUNC MSG_TRUNC + MSG_DONTWAIT = 0x40, /* Nonblocking IO. */ +#define MSG_DONTWAIT MSG_DONTWAIT + MSG_EOR = 0x80, /* End of record. */ +#define MSG_EOR MSG_EOR + MSG_WAITALL = 0x100, /* Wait for a full request. */ +#define MSG_WAITALL MSG_WAITALL + MSG_FIN = 0x200, +#define MSG_FIN MSG_FIN + MSG_SYN = 0x400, +#define MSG_SYN MSG_SYN + MSG_CONFIRM = 0x800, /* Confirm path validity. */ +#define MSG_CONFIRM MSG_CONFIRM + MSG_RST = 0x1000, +#define MSG_RST MSG_RST + MSG_ERRQUEUE = 0x2000, /* Fetch message from error queue. */ +#define MSG_ERRQUEUE MSG_ERRQUEUE + MSG_NOSIGNAL = 0x4000, /* Do not generate SIGPIPE. */ +#define MSG_NOSIGNAL MSG_NOSIGNAL + MSG_MORE = 0x8000, /* Sender will send more. */ +#define MSG_MORE MSG_MORE + MSG_WAITFORONE = 0x10000, /* Wait for at least one packet to return.*/ +#define MSG_WAITFORONE MSG_WAITFORONE + MSG_BATCH = 0x40000, /* sendmmsg: more messages coming. */ +#define MSG_BATCH MSG_BATCH + MSG_SOCK_DEVMEM = 0x2000000, /* Receive devmem skbs as cmsg. */ +#define MSG_SOCK_DEVMEM MSG_SOCK_DEVMEM + MSG_ZEROCOPY = 0x4000000, /* Use user data in kernel path. */ +#define MSG_ZEROCOPY MSG_ZEROCOPY + MSG_FASTOPEN = 0x20000000, /* Send data in TCP SYN. */ +#define MSG_FASTOPEN MSG_FASTOPEN + + MSG_CMSG_CLOEXEC = 0x40000000 /* Set close_on_exit for file + descriptor received through + SCM_RIGHTS. */ +#define MSG_CMSG_CLOEXEC MSG_CMSG_CLOEXEC + }; + + +/* Structure describing messages sent by + `sendmsg' and received by `recvmsg'. */ +struct msghdr + { + void *msg_name; /* Address to send to/receive from. */ + socklen_t msg_namelen; /* Length of address data. */ + + struct iovec *msg_iov; /* Vector of data to send/receive into. */ + size_t msg_iovlen; /* Number of elements in the vector. */ + + void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ + size_t msg_controllen; /* Ancillary data buffer length. + !! The type should be socklen_t but the + definition of the kernel is incompatible + with this. */ + + int msg_flags; /* Flags on received message. */ + }; + +/* Structure used for storage of ancillary data object information. */ +struct cmsghdr + { + size_t cmsg_len; /* Length of data in cmsg_data plus length + of cmsghdr structure. + !! The type should be socklen_t but the + definition of the kernel is incompatible + with this. */ + int cmsg_level; /* Originating protocol. */ + int cmsg_type; /* Protocol specific type. */ +#if __glibc_c99_flexarr_available + __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ +#endif + }; + +/* Ancillary data object manipulation macros. */ +#if __glibc_c99_flexarr_available +# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) +#else +# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) +#endif +#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) +#define CMSG_FIRSTHDR(mhdr) \ + ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ + ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) +#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ + & (size_t) ~(sizeof (size_t) - 1)) +#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ + + CMSG_ALIGN (sizeof (struct cmsghdr))) +#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) + +/* Given a length, return the additional padding necessary such that + len + __CMSG_PADDING(len) == CMSG_ALIGN (len). */ +#define __CMSG_PADDING(len) ((sizeof (size_t) \ + - ((len) & (sizeof (size_t) - 1))) \ + & (sizeof (size_t) - 1)) + +extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, + struct cmsghdr *__cmsg) __THROW; +#ifdef __USE_EXTERN_INLINES +# ifndef _EXTERN_INLINE +# define _EXTERN_INLINE __extern_inline +# endif +_EXTERN_INLINE struct cmsghdr * +__NTH (__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg)) +{ + /* We may safely assume that __cmsg lies between __mhdr->msg_control and + __mhdr->msg_controllen because the user is required to obtain the first + cmsg via CMSG_FIRSTHDR, set its length, then obtain subsequent cmsgs + via CMSG_NXTHDR, setting lengths along the way. However, we don't yet + trust the value of __cmsg->cmsg_len and therefore do not use it in any + pointer arithmetic until we check its value. */ + + unsigned char * __msg_control_ptr = (unsigned char *) __mhdr->msg_control; + unsigned char * __cmsg_ptr = (unsigned char *) __cmsg; + + size_t __size_needed = sizeof (struct cmsghdr) + + __CMSG_PADDING (__cmsg->cmsg_len); + + /* The current header is malformed, too small to be a full header. */ + if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) + return (struct cmsghdr *) 0; + + /* There isn't enough space between __cmsg and the end of the buffer to + hold the current cmsg *and* the next one. */ + if (((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr) + < __size_needed) + || ((size_t) + (__msg_control_ptr + __mhdr->msg_controllen - __cmsg_ptr + - __size_needed) + < __cmsg->cmsg_len)) + + return (struct cmsghdr *) 0; + + /* Now, we trust cmsg_len and can use it to find the next header. */ + __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg + + CMSG_ALIGN (__cmsg->cmsg_len)); + return __cmsg; +} +#endif /* Use `extern inline'. */ + +/* Socket level message types. This must match the definitions in + . */ +enum + { + SCM_RIGHTS = 0x01 /* Transfer file descriptors. */ +#define SCM_RIGHTS SCM_RIGHTS +#ifdef __USE_GNU + , SCM_CREDENTIALS = 0x02 /* Credentials passing. */ +# define SCM_CREDENTIALS SCM_CREDENTIALS + , SCM_SECURITY = 0x03 /* Security label. */ +# define SCM_SECURITY SCM_SECURITY + , SCM_PIDFD = 0x04 /* Pidfd. */ +# define SCM_PIDFD SCM_PIDFD +#endif + }; + +#ifdef __USE_GNU +/* User visible structure for SCM_CREDENTIALS message */ +struct ucred +{ + pid_t pid; /* PID of sending process. */ + uid_t uid; /* UID of sending process. */ + gid_t gid; /* GID of sending process. */ +}; +#endif + +#ifdef __USE_MISC +# include +# include +#else +# define SO_DEBUG 1 +# include +#endif + +/* Structure used to manipulate the SO_LINGER option. */ +struct linger + { + int l_onoff; /* Nonzero to linger on close. */ + int l_linger; /* Time to linger. */ + }; + +#endif /* bits/socket.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket2.h new file mode 100644 index 00000000..1365126b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket2.h @@ -0,0 +1,83 @@ +/* Checking macros for socket functions. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +extern ssize_t __recv_chk (int __fd, void *__buf, size_t __n, size_t __buflen, + int __flags); +extern ssize_t __REDIRECT (__recv_alias, (int __fd, void *__buf, size_t __n, + int __flags), recv); +extern ssize_t __REDIRECT (__recv_chk_warn, + (int __fd, void *__buf, size_t __n, size_t __buflen, + int __flags), __recv_chk) + __warnattr ("recv called with bigger length than size of destination " + "buffer"); + +__fortify_function __attribute_overloadable__ ssize_t +recv (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), size_t __n, + int __flags) + __fortify_clang_warning_only_if_bos0_lt (__n, __buf, + "recv called with bigger length than " + "size of destination buffer") +{ + size_t __sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __recv_alias (__fd, __buf, __n, __flags); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (char), __sz)) + return __recv_chk_warn (__fd, __buf, __n, __sz, __flags); +#endif + return __recv_chk (__fd, __buf, __n, __sz, __flags); +} + +extern ssize_t __recvfrom_chk (int __fd, void *__restrict __buf, size_t __n, + size_t __buflen, int __flags, + __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len); +extern ssize_t __REDIRECT (__recvfrom_alias, + (int __fd, void *__restrict __buf, size_t __n, + int __flags, __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len), recvfrom); +extern ssize_t __REDIRECT (__recvfrom_chk_warn, + (int __fd, void *__restrict __buf, size_t __n, + size_t __buflen, int __flags, + __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len), __recvfrom_chk) + __warnattr ("recvfrom called with bigger length than size of " + "destination buffer"); + +__fortify_function __attribute_overloadable__ ssize_t +recvfrom (int __fd, __fortify_clang_overload_arg0 (void *, __restrict, __buf), + size_t __n, int __flags, + __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len) + __fortify_clang_warning_only_if_bos0_lt (__n, __buf, + "recvfrom called with bigger length " + "than size of destination buffer") +{ + size_t __sz = __glibc_objsize0 (__buf); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __recvfrom_alias (__fd, __buf, __n, __flags, __addr, __addr_len); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (char), __sz)) + return __recvfrom_chk_warn (__fd, __buf, __n, __sz, __flags, __addr, + __addr_len); +#endif + return __recvfrom_chk (__fd, __buf, __n, __sz, __flags, __addr, __addr_len); +} \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket_type.h new file mode 100644 index 00000000..a9584323 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for generic Linux. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/spawn_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/spawn_ext.h new file mode 100644 index 00000000..534d1c8f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/spawn_ext.h @@ -0,0 +1,70 @@ +/* POSIX spawn extensions. Linux version. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SPAWN_H +# error "Never include directly; use instead." +#endif + +__BEGIN_DECLS + +#ifdef __USE_MISC + +/* Get the cgroupsv2 the attribute structure. */ +extern int posix_spawnattr_getcgroup_np (const posix_spawnattr_t * + __restrict __attr, + int *__restrict __cgroup) + __THROW __nonnull ((1, 2)); + +/* Sore the cgroupsv2 the attribute structure. */ +extern int posix_spawnattr_setcgroup_np (posix_spawnattr_t *__attr, + int __cgroup) + __THROW __nonnull ((1)); + +// zig patch: check target glibc version +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 39) || __GLIBC__ > 2 +/* Spawn a new process executing PATH with the attributes describes in *ATTRP. + Before running the process perform the actions described in FACTS. Return + a PID file descriptor in PIDFD if process creation was successful and the + argument is non-null. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int pidfd_spawn (int *__restrict __pidfd, + const char *__restrict __path, + const posix_spawn_file_actions_t *__restrict __facts, + const posix_spawnattr_t *__restrict __attrp, + char *const __argv[__restrict_arr], + char *const __envp[__restrict_arr]) + __nonnull ((2, 5)); + +/* Similar to `pidfd_spawn' but search for FILE in the PATH. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int pidfd_spawnp (int *__restrict __pidfd, + const char *__restrict __file, + const posix_spawn_file_actions_t *__restrict __facts, + const posix_spawnattr_t *__restrict __attrp, + char *const __argv[__restrict_arr], + char *const __envp[__restrict_arr]) + __nonnull ((1, 2, 5)); +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 39) || __GLIBC__ > 2 */ + +#endif /* __USE_MISC */ + +__END_DECLS diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ss_flags.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ss_flags.h new file mode 100644 index 00000000..642a0923 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/ss_flags.h @@ -0,0 +1,35 @@ +/* ss_flags values for stack_t. Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SS_FLAGS_H +#define _BITS_SS_FLAGS_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Possible values for `ss_flags'. */ +enum +{ + SS_ONSTACK = 1, +#define SS_ONSTACK SS_ONSTACK + SS_DISABLE +#define SS_DISABLE SS_DISABLE +}; + +#endif /* bits/ss_flags.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stab.def b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stab.def new file mode 100644 index 00000000..2d684acb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stab.def @@ -0,0 +1,233 @@ +/* Table of DBX symbol codes for the GNU system. + Copyright (C) 1988, 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This contains contribution from Cygnus Support. */ + +/* Global variable. Only the name is significant. + To find the address, look in the corresponding external symbol. */ +__define_stab (N_GSYM, 0x20, "GSYM") + +/* Function name for BSD Fortran. Only the name is significant. + To find the address, look in the corresponding external symbol. */ +__define_stab (N_FNAME, 0x22, "FNAME") + +/* Function name or text-segment variable for C. Value is its address. + Desc is supposedly starting line number, but GCC doesn't set it + and DBX seems not to miss it. */ +__define_stab (N_FUN, 0x24, "FUN") + +/* Data-segment variable with internal linkage. Value is its address. + "Static Sym". */ +__define_stab (N_STSYM, 0x26, "STSYM") + +/* BSS-segment variable with internal linkage. Value is its address. */ +__define_stab (N_LCSYM, 0x28, "LCSYM") + +/* Name of main routine. Only the name is significant. + This is not used in C. */ +__define_stab (N_MAIN, 0x2a, "MAIN") + +/* Global symbol in Pascal. + Supposedly the value is its line number; I'm skeptical. */ +__define_stab (N_PC, 0x30, "PC") + +/* Number of symbols: 0, files,,funcs,lines according to Ultrix V4.0. */ +__define_stab (N_NSYMS, 0x32, "NSYMS") + +/* "No DST map for sym: name, ,0,type,ignored" according to Ultrix V4.0. */ +__define_stab (N_NOMAP, 0x34, "NOMAP") + +/* New stab from Solaris. I don't know what it means, but it + don't seem to contain useful information. */ +__define_stab (N_OBJ, 0x38, "OBJ") + +/* New stab from Solaris. I don't know what it means, but it + don't seem to contain useful information. Possibly related to the + optimization flags used in this module. */ +__define_stab (N_OPT, 0x3c, "OPT") + +/* Register variable. Value is number of register. */ +__define_stab (N_RSYM, 0x40, "RSYM") + +/* Modula-2 compilation unit. Can someone say what info it contains? */ +__define_stab (N_M2C, 0x42, "M2C") + +/* Line number in text segment. Desc is the line number; + value is corresponding address. */ +__define_stab (N_SLINE, 0x44, "SLINE") + +/* Similar, for data segment. */ +__define_stab (N_DSLINE, 0x46, "DSLINE") + +/* Similar, for bss segment. */ +__define_stab (N_BSLINE, 0x48, "BSLINE") + +/* Sun's source-code browser stabs. ?? Don't know what the fields are. + Supposedly the field is "path to associated .cb file". THIS VALUE + OVERLAPS WITH N_BSLINE! */ +__define_stab (N_BROWS, 0x48, "BROWS") + +/* GNU Modula-2 definition module dependency. Value is the modification time + of the definition file. Other is non-zero if it is imported with the + GNU M2 keyword %INITIALIZE. Perhaps N_M2C can be used if there + are enough empty fields? */ +__define_stab(N_DEFD, 0x4a, "DEFD") + +/* THE FOLLOWING TWO STAB VALUES CONFLICT. Happily, one is for Modula-2 + and one is for C++. Still,... */ +/* GNU C++ exception variable. Name is variable name. */ +__define_stab (N_EHDECL, 0x50, "EHDECL") +/* Modula2 info "for imc": name,,0,0,0 according to Ultrix V4.0. */ +__define_stab (N_MOD2, 0x50, "MOD2") + +/* GNU C++ `catch' clause. Value is its address. Desc is nonzero if + this entry is immediately followed by a CAUGHT stab saying what exception + was caught. Multiple CAUGHT stabs means that multiple exceptions + can be caught here. If Desc is 0, it means all exceptions are caught + here. */ +__define_stab (N_CATCH, 0x54, "CATCH") + +/* Structure or union element. Value is offset in the structure. */ +__define_stab (N_SSYM, 0x60, "SSYM") + +/* Name of main source file. + Value is starting text address of the compilation. */ +__define_stab (N_SO, 0x64, "SO") + +/* Automatic variable in the stack. Value is offset from frame pointer. + Also used for type descriptions. */ +__define_stab (N_LSYM, 0x80, "LSYM") + +/* Beginning of an include file. Only Sun uses this. + In an object file, only the name is significant. + The Sun linker puts data into some of the other fields. */ +__define_stab (N_BINCL, 0x82, "BINCL") + +/* Name of sub-source file (#include file). + Value is starting text address of the compilation. */ +__define_stab (N_SOL, 0x84, "SOL") + +/* Parameter variable. Value is offset from argument pointer. + (On most machines the argument pointer is the same as the frame pointer. */ +__define_stab (N_PSYM, 0xa0, "PSYM") + +/* End of an include file. No name. + This and N_BINCL act as brackets around the file's output. + In an object file, there is no significant data in this entry. + The Sun linker puts data into some of the fields. */ +__define_stab (N_EINCL, 0xa2, "EINCL") + +/* Alternate entry point. Value is its address. */ +__define_stab (N_ENTRY, 0xa4, "ENTRY") + +/* Beginning of lexical block. + The desc is the nesting level in lexical blocks. + The value is the address of the start of the text for the block. + The variables declared inside the block *precede* the N_LBRAC symbol. */ +__define_stab (N_LBRAC, 0xc0, "LBRAC") + +/* Place holder for deleted include file. Replaces a N_BINCL and everything + up to the corresponding N_EINCL. The Sun linker generates these when + it finds multiple identical copies of the symbols from an include file. + This appears only in output from the Sun linker. */ +__define_stab (N_EXCL, 0xc2, "EXCL") + +/* Modula-2 scope information. Can someone say what info it contains? */ +__define_stab (N_SCOPE, 0xc4, "SCOPE") + +/* End of a lexical block. Desc matches the N_LBRAC's desc. + The value is the address of the end of the text for the block. */ +__define_stab (N_RBRAC, 0xe0, "RBRAC") + +/* Begin named common block. Only the name is significant. */ +__define_stab (N_BCOMM, 0xe2, "BCOMM") + +/* End named common block. Only the name is significant + (and it should match the N_BCOMM). */ +__define_stab (N_ECOMM, 0xe4, "ECOMM") + +/* End common (local name): value is address. + I'm not sure how this is used. */ +__define_stab (N_ECOML, 0xe8, "ECOML") + +/* These STAB's are used on Gould systems for Non-Base register symbols + or something like that. FIXME. I have assigned the values at random + since I don't have a Gould here. Fixups from Gould folk welcome... */ +__define_stab (N_NBTEXT, 0xF0, "NBTEXT") +__define_stab (N_NBDATA, 0xF2, "NBDATA") +__define_stab (N_NBBSS, 0xF4, "NBBSS") +__define_stab (N_NBSTS, 0xF6, "NBSTS") +__define_stab (N_NBLCS, 0xF8, "NBLCS") + +/* Second symbol entry containing a length-value for the preceding entry. + The value is the length. */ +__define_stab (N_LENG, 0xfe, "LENG") + +/* The above information, in matrix format. + + STAB MATRIX + _________________________________________________ + | 00 - 1F are not dbx stab symbols | + | In most cases, the low bit is the EXTernal bit| + + | 00 UNDEF | 02 ABS | 04 TEXT | 06 DATA | + | 01 |EXT | 03 |EXT | 05 |EXT | 07 |EXT | + + | 08 BSS | 0A INDR | 0C FN_SEQ | 0E | + | 09 |EXT | 0B | 0D | 0F | + + | 10 | 12 COMM | 14 SETA | 16 SETT | + | 11 | 13 | 15 | 17 | + + | 18 SETD | 1A SETB | 1C SETV | 1E WARNING| + | 19 | 1B | 1D | 1F FN | + + |_______________________________________________| + | Debug entries with bit 01 set are unused. | + | 20 GSYM | 22 FNAME | 24 FUN | 26 STSYM | + | 28 LCSYM | 2A MAIN | 2C | 2E | + | 30 PC | 32 NSYMS | 34 NOMAP | 36 | + | 38 OBJ | 3A | 3C OPT | 3E | + | 40 RSYM | 42 M2C | 44 SLINE | 46 DSLINE | + | 48 BSLINE*| 4A DEFD | 4C | 4E | + | 50 EHDECL*| 52 | 54 CATCH | 56 | + | 58 | 5A | 5C | 5E | + | 60 SSYM | 62 | 64 SO | 66 | + | 68 | 6A | 6C | 6E | + | 70 | 72 | 74 | 76 | + | 78 | 7A | 7C | 7E | + | 80 LSYM | 82 BINCL | 84 SOL | 86 | + | 88 | 8A | 8C | 8E | + | 90 | 92 | 94 | 96 | + | 98 | 9A | 9C | 9E | + | A0 PSYM | A2 EINCL | A4 ENTRY | A6 | + | A8 | AA | AC | AE | + | B0 | B2 | B4 | B6 | + | B8 | BA | BC | BE | + | C0 LBRAC | C2 EXCL | C4 SCOPE | C6 | + | C8 | CA | CC | CE | + | D0 | D2 | D4 | D6 | + | D8 | DA | DC | DE | + | E0 RBRAC | E2 BCOMM | E4 ECOMM | E6 | + | E8 ECOML | EA | EC | EE | + | F0 | F2 | F4 | F6 | + | F8 | FA | FC | FE LENG | + +-----------------------------------------------+ + * 50 EHDECL is also MOD2. + * 48 BSLINE is also BROWS. + */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stat.h new file mode 100644 index 00000000..72ff0a8d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stat.h @@ -0,0 +1,60 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STAT_H +#define _BITS_STAT_H 1 + +#include + +/* Encoding of the file mode. */ + +#define __S_IFMT 0170000 /* These bits determine file type. */ + +/* File types. */ +#define __S_IFDIR 0040000 /* Directory. */ +#define __S_IFCHR 0020000 /* Character device. */ +#define __S_IFBLK 0060000 /* Block device. */ +#define __S_IFREG 0100000 /* Regular file. */ +#define __S_IFIFO 0010000 /* FIFO. */ +#define __S_IFLNK 0120000 /* Symbolic link. */ +#define __S_IFSOCK 0140000 /* Socket. */ + +/* POSIX.1b objects. Note that these macros always evaluate to zero. But + they do it by enforcing the correct use of the macros. */ +#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) +#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) +#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) + +/* Protection bits. */ + +#define __S_ISUID 04000 /* Set user ID on execution. */ +#define __S_ISGID 02000 /* Set group ID on execution. */ +#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ +#define __S_IREAD 0400 /* Read by owner. */ +#define __S_IWRITE 0200 /* Write by owner. */ +#define __S_IEXEC 0100 /* Execute by owner. */ + +#ifdef __USE_ATFILE +# define UTIME_NOW ((1l << 30) - 1l) +# define UTIME_OMIT ((1l << 30) - 2l) +#endif + +#endif /* bits/stat.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statfs.h new file mode 100644 index 00000000..ed77ad15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statfs.h @@ -0,0 +1,69 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include + +struct statfs + { + __fsword_t f_type; + __fsword_t f_bsize; +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_bavail; + __fsfilcnt_t f_files; + __fsfilcnt_t f_ffree; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; +#endif + __fsid_t f_fsid; + __fsword_t f_namelen; + __fsword_t f_frsize; + __fsword_t f_flags; + __fsword_t f_spare[4]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + __fsword_t f_type; + __fsword_t f_bsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsid_t f_fsid; + __fsword_t f_namelen; + __fsword_t f_frsize; + __fsword_t f_flags; + __fsword_t f_spare[4]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN +#define _STATFS_F_FRSIZE +#define _STATFS_F_FLAGS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statvfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statvfs.h new file mode 100644 index 00000000..38f11407 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statvfs.h @@ -0,0 +1,113 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STATVFS_H +# error "Never include directly; use instead." +#endif + +#include /* For __fsblkcnt_t and __fsfilcnt_t. */ + +#if (__WORDSIZE == 32 \ + && (!defined __SYSCALL_WORDSIZE || __SYSCALL_WORDSIZE == 32)) +#define _STATVFSBUF_F_UNUSED +#endif + +struct statvfs + { + unsigned long int f_bsize; + unsigned long int f_frsize; +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_bavail; + __fsfilcnt_t f_files; + __fsfilcnt_t f_ffree; + __fsfilcnt_t f_favail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsfilcnt64_t f_favail; +#endif + unsigned long int f_fsid; +#ifdef _STATVFSBUF_F_UNUSED + int __f_unused; +#endif + unsigned long int f_flag; + unsigned long int f_namemax; + unsigned int f_type; + int __f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statvfs64 + { + unsigned long int f_bsize; + unsigned long int f_frsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsfilcnt64_t f_favail; + unsigned long int f_fsid; +#ifdef _STATVFSBUF_F_UNUSED + int __f_unused; +#endif + unsigned long int f_flag; + unsigned long int f_namemax; + unsigned int f_type; + int __f_spare[5]; + }; +#endif + +/* Definitions for the flag in `f_flag'. These definitions should be + kept in sync with the definitions in . */ +enum +{ + ST_RDONLY = 1, /* Mount read-only. */ +#define ST_RDONLY ST_RDONLY + ST_NOSUID = 2 /* Ignore suid and sgid bits. */ +#define ST_NOSUID ST_NOSUID +#ifdef __USE_GNU + , + ST_NODEV = 4, /* Disallow access to device special files. */ +# define ST_NODEV ST_NODEV + ST_NOEXEC = 8, /* Disallow program execution. */ +# define ST_NOEXEC ST_NOEXEC + ST_SYNCHRONOUS = 16, /* Writes are synced at once. */ +# define ST_SYNCHRONOUS ST_SYNCHRONOUS + ST_MANDLOCK = 64, /* Allow mandatory locks on an FS. */ +# define ST_MANDLOCK ST_MANDLOCK + ST_WRITE = 128, /* Write on file/directory/symlink. */ +# define ST_WRITE ST_WRITE + ST_APPEND = 256, /* Append-only file. */ +# define ST_APPEND ST_APPEND + ST_IMMUTABLE = 512, /* Immutable file. */ +# define ST_IMMUTABLE ST_IMMUTABLE + ST_NOATIME = 1024, /* Do not update access times. */ +# define ST_NOATIME ST_NOATIME + ST_NODIRATIME = 2048, /* Do not update directory access times. */ +# define ST_NODIRATIME ST_NODIRATIME + ST_RELATIME = 4096, /* Update atime relative to mtime/ctime. */ +# define ST_RELATIME ST_RELATIME + ST_NOSYMFOLLOW = 8192 /* Do not follow symlinks. */ +# define ST_NOSYMFOLLOW ST_NOSYMFOLLOW +#endif /* Use GNU. */ +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx-generic.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx-generic.h new file mode 100644 index 00000000..c197005d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx-generic.h @@ -0,0 +1,74 @@ +/* Generic statx-related definitions and declarations. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This interface is based on in Linux. */ + +#ifndef _SYS_STAT_H +# error Never include directly, include instead. +#endif + +#include +#include + +// zig patch: check target glibc version +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 + +#ifndef STATX_TYPE +# define STATX_TYPE 0x0001U +# define STATX_MODE 0x0002U +# define STATX_NLINK 0x0004U +# define STATX_UID 0x0008U +# define STATX_GID 0x0010U +# define STATX_ATIME 0x0020U +# define STATX_MTIME 0x0040U +# define STATX_CTIME 0x0080U +# define STATX_INO 0x0100U +# define STATX_SIZE 0x0200U +# define STATX_BLOCKS 0x0400U +# define STATX_BASIC_STATS 0x07ffU +# define STATX_ALL 0x0fffU +# define STATX_BTIME 0x0800U +# define STATX_MNT_ID 0x1000U +# define STATX_DIOALIGN 0x2000U +# define STATX_MNT_ID_UNIQUE 0x4000U +# define STATX_SUBVOL 0x8000U +# define STATX_WRITE_ATOMIC 0x00010000U +# define STATX__RESERVED 0x80000000U + +# define STATX_ATTR_COMPRESSED 0x0004 +# define STATX_ATTR_IMMUTABLE 0x0010 +# define STATX_ATTR_APPEND 0x0020 +# define STATX_ATTR_NODUMP 0x0040 +# define STATX_ATTR_ENCRYPTED 0x0800 +# define STATX_ATTR_AUTOMOUNT 0x1000 +# define STATX_ATTR_MOUNT_ROOT 0x2000 +# define STATX_ATTR_VERITY 0x100000 +# define STATX_ATTR_DAX 0x200000 +# define STATX_ATTR_WRITE_ATOMIC 0x00400000 +#endif /* !STATX_TYPE */ + +__BEGIN_DECLS + +/* Fill *BUF with information about PATH in DIRFD. */ +int statx (int __dirfd, const char *__restrict __path, int __flags, + unsigned int __mask, struct statx *__restrict __buf) + __THROW __nonnull ((5)); + +__END_DECLS + +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx.h new file mode 100644 index 00000000..7b2e0ceb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/statx.h @@ -0,0 +1,39 @@ +/* statx-related definitions and declarations. Linux version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This interface is based on in Linux. */ + +#ifndef _SYS_STAT_H +# error Never include directly, include instead. +#endif + +/* Use the Linux kernel header if available. */ + +/* Use "" to work around incorrect macro expansion of the + __has_include argument (GCC PR 80005). */ +#ifdef __has_include +# if __has_include ("linux/stat.h") +# include "linux/stat.h" +# ifdef STATX_TYPE +# define __statx_timestamp_defined 1 +# define __statx_defined 1 +# endif +# endif +#endif + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-intn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-intn.h new file mode 100644 index 00000000..c66b42ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-intn.h @@ -0,0 +1,29 @@ +/* Define intN_t types. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDINT_INTN_H +#define _BITS_STDINT_INTN_H 1 + +#include + +typedef __int8_t int8_t; +typedef __int16_t int16_t; +typedef __int32_t int32_t; +typedef __int64_t int64_t; + +#endif /* bits/stdint-intn.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-least.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-least.h new file mode 100644 index 00000000..2aae8a7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-least.h @@ -0,0 +1,36 @@ +/* Define int_leastN_t and uint_leastN types. + Copyright (C) 2024-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDINT_LEAST_H +#define _BITS_STDINT_LEAST_H 1 + +#include + +/* Signed. */ +typedef __int_least8_t int_least8_t; +typedef __int_least16_t int_least16_t; +typedef __int_least32_t int_least32_t; +typedef __int_least64_t int_least64_t; + +/* Unsigned. */ +typedef __uint_least8_t uint_least8_t; +typedef __uint_least16_t uint_least16_t; +typedef __uint_least32_t uint_least32_t; +typedef __uint_least64_t uint_least64_t; + +#endif /* bits/stdint-least.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-uintn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-uintn.h new file mode 100644 index 00000000..1a533393 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdint-uintn.h @@ -0,0 +1,29 @@ +/* Define uintN_t types. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDINT_UINTN_H +#define _BITS_STDINT_UINTN_H 1 + +#include + +typedef __uint8_t uint8_t; +typedef __uint16_t uint16_t; +typedef __uint32_t uint32_t; +typedef __uint64_t uint64_t; + +#endif /* bits/stdint-uintn.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio-ldbl.h new file mode 100644 index 00000000..87bba9b4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio-ldbl.h @@ -0,0 +1,132 @@ +/* -mlong-double-64 compatibility mode for stdio functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (fprintf) +__LDBL_REDIR_DECL (printf) +__LDBL_REDIR_DECL (sprintf) +__LDBL_REDIR_DECL (vfprintf) +__LDBL_REDIR_DECL (vprintf) +__LDBL_REDIR_DECL (vsprintf) +#if !__GLIBC_USE (DEPRECATED_SCANF) +# if defined __LDBL_COMPAT +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc23_fscanf) +__LDBL_REDIR1_DECL (scanf, __nldbl___isoc23_scanf) +__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc23_sscanf) +# else +__LDBL_REDIR1_DECL (fscanf, __nldbl___isoc99_fscanf) +__LDBL_REDIR1_DECL (scanf, __nldbl___isoc99_scanf) +__LDBL_REDIR1_DECL (sscanf, __nldbl___isoc99_sscanf) +# endif +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (fscanf, __isoc23_fscanfieee128) +__LDBL_REDIR1_DECL (scanf, __isoc23_scanfieee128) +__LDBL_REDIR1_DECL (sscanf, __isoc23_sscanfieee128) +# else +__LDBL_REDIR1_DECL (fscanf, __isoc99_fscanfieee128) +__LDBL_REDIR1_DECL (scanf, __isoc99_scanfieee128) +__LDBL_REDIR1_DECL (sscanf, __isoc99_sscanfieee128) +# endif +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif +#else +__LDBL_REDIR_DECL (fscanf) +__LDBL_REDIR_DECL (scanf) +__LDBL_REDIR_DECL (sscanf) +#endif + +#if defined __USE_ISOC99 || defined __USE_UNIX98 +__LDBL_REDIR_DECL (snprintf) +__LDBL_REDIR_DECL (vsnprintf) +#endif + +#ifdef __USE_ISOC99 +# if !__GLIBC_USE (DEPRECATED_SCANF) +# if defined __LDBL_COMPAT +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc23_vfscanf) +__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc23_vscanf) +__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc23_vsscanf) +# else +__LDBL_REDIR1_DECL (vfscanf, __nldbl___isoc99_vfscanf) +__LDBL_REDIR1_DECL (vscanf, __nldbl___isoc99_vscanf) +__LDBL_REDIR1_DECL (vsscanf, __nldbl___isoc99_vsscanf) +# endif +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (vfscanf, __isoc23_vfscanfieee128) +__LDBL_REDIR1_DECL (vscanf, __isoc23_vscanfieee128) +__LDBL_REDIR1_DECL (vsscanf, __isoc23_vsscanfieee128) +# else +__LDBL_REDIR1_DECL (vfscanf, __isoc99_vfscanfieee128) +__LDBL_REDIR1_DECL (vscanf, __isoc99_vscanfieee128) +__LDBL_REDIR1_DECL (vsscanf, __isoc99_vsscanfieee128) +# endif +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif +# else +__LDBL_REDIR_DECL (vfscanf) +__LDBL_REDIR_DECL (vsscanf) +__LDBL_REDIR_DECL (vscanf) +# endif +#endif + +#ifdef __USE_XOPEN2K8 +__LDBL_REDIR_DECL (vdprintf) +__LDBL_REDIR_DECL (dprintf) +#endif + +#ifdef __USE_GNU +__LDBL_REDIR_DECL (vasprintf) +__LDBL_REDIR2_DECL (asprintf) +__LDBL_REDIR_DECL (asprintf) +__LDBL_REDIR_DECL (obstack_printf) +__LDBL_REDIR_DECL (obstack_vprintf) +#endif + +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +__LDBL_REDIR2_DECL (sprintf_chk) +__LDBL_REDIR2_DECL (vsprintf_chk) +# if defined __USE_ISOC99 || defined __USE_UNIX98 +__LDBL_REDIR2_DECL (snprintf_chk) +__LDBL_REDIR2_DECL (vsnprintf_chk) +# endif +# if __USE_FORTIFY_LEVEL > 1 +__LDBL_REDIR2_DECL (fprintf_chk) +__LDBL_REDIR2_DECL (printf_chk) +__LDBL_REDIR2_DECL (vfprintf_chk) +__LDBL_REDIR2_DECL (vprintf_chk) +# ifdef __USE_XOPEN2K8 +__LDBL_REDIR2_DECL (dprintf_chk) +__LDBL_REDIR2_DECL (vdprintf_chk) +# endif +# ifdef __USE_GNU +__LDBL_REDIR2_DECL (asprintf_chk) +__LDBL_REDIR2_DECL (vasprintf_chk) +__LDBL_REDIR2_DECL (obstack_printf_chk) +__LDBL_REDIR2_DECL (obstack_vprintf_chk) +# endif +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio.h new file mode 100644 index 00000000..4dd08a8b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio.h @@ -0,0 +1,195 @@ +/* Optimizing macros and inline functions for stdio functions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO_H +#define _BITS_STDIO_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#ifndef __extern_inline +# define __STDIO_INLINE inline +#else +# define __STDIO_INLINE __extern_inline +#endif + + +#ifdef __USE_EXTERN_INLINES +/* For -D_FORTIFY_SOURCE{,=2,=3} bits/stdio2.h will define a different + inline. */ +# if !(__USE_FORTIFY_LEVEL > 0 && defined __fortify_function) +/* Write formatted output to stdout from argument list ARG. */ +__STDIO_INLINE int +vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) +{ + return vfprintf (stdout, __fmt, __arg); +} +# endif + +/* Read a character from stdin. */ +__STDIO_INLINE int +getchar (void) +{ + return getc (stdin); +} + + +# ifdef __USE_MISC +/* Faster version when locking is not necessary. */ +__STDIO_INLINE int +fgetc_unlocked (FILE *__fp) +{ + return __getc_unlocked_body (__fp); +} +# endif /* misc */ + + +# ifdef __USE_POSIX199506 +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +getc_unlocked (FILE *__fp) +{ + return __getc_unlocked_body (__fp); +} + +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +getchar_unlocked (void) +{ + return __getc_unlocked_body (stdin); +} +# endif /* POSIX */ + + +/* Write a character to stdout. */ +__STDIO_INLINE int +putchar (int __c) +{ + return putc (__c, stdout); +} + + +# ifdef __USE_MISC +/* Faster version when locking is not necessary. */ +__STDIO_INLINE int +fputc_unlocked (int __c, FILE *__stream) +{ + return __putc_unlocked_body (__c, __stream); +} +# endif /* misc */ + + +# ifdef __USE_POSIX199506 +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +putc_unlocked (int __c, FILE *__stream) +{ + return __putc_unlocked_body (__c, __stream); +} + +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +putchar_unlocked (int __c) +{ + return __putc_unlocked_body (__c, stdout); +} +# endif /* POSIX */ + + +# ifdef __USE_GNU +/* Like `getdelim', but reads up to a newline. */ +__STDIO_INLINE __ssize_t +getline (char **__lineptr, size_t *__n, FILE *__stream) +{ + return __getdelim (__lineptr, __n, '\n', __stream); +} +# endif /* GNU */ + + +# ifdef __USE_MISC +/* Faster versions when locking is not required. */ +__STDIO_INLINE int +__NTH (feof_unlocked (FILE *__stream)) +{ + return __feof_unlocked_body (__stream); +} + +/* Faster versions when locking is not required. */ +__STDIO_INLINE int +__NTH (ferror_unlocked (FILE *__stream)) +{ + return __ferror_unlocked_body (__stream); +} +# endif /* misc */ + +#endif /* Use extern inlines. */ + + +#if defined __USE_MISC && defined __GNUC__ && defined __OPTIMIZE__ \ + && !defined __cplusplus +/* Perform some simple optimizations. */ +# define fread_unlocked(ptr, size, n, stream) \ + (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \ + && (size_t) (size) * (size_t) (n) <= 8 \ + && (size_t) (size) != 0) \ + ? ({ char *__ptr = (char *) (ptr); \ + FILE *__stream = (stream); \ + size_t __cnt; \ + for (__cnt = (size_t) (size) * (size_t) (n); \ + __cnt > 0; --__cnt) \ + { \ + int __c = getc_unlocked (__stream); \ + if (__c == EOF) \ + break; \ + *__ptr++ = __c; \ + } \ + ((size_t) (size) * (size_t) (n) - __cnt) \ + / (size_t) (size); }) \ + : (((__builtin_constant_p (size) && (size_t) (size) == 0) \ + || (__builtin_constant_p (n) && (size_t) (n) == 0)) \ + /* Evaluate all parameters once. */ \ + ? ((void) (ptr), (void) (stream), (void) (size), \ + (void) (n), (size_t) 0) \ + : fread_unlocked (ptr, size, n, stream)))) + +# define fwrite_unlocked(ptr, size, n, stream) \ + (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \ + && (size_t) (size) * (size_t) (n) <= 8 \ + && (size_t) (size) != 0) \ + ? ({ const char *__ptr = (const char *) (ptr); \ + FILE *__stream = (stream); \ + size_t __cnt; \ + for (__cnt = (size_t) (size) * (size_t) (n); \ + __cnt > 0; --__cnt) \ + if (putc_unlocked (*__ptr++, __stream) == EOF) \ + break; \ + ((size_t) (size) * (size_t) (n) - __cnt) \ + / (size_t) (size); }) \ + : (((__builtin_constant_p (size) && (size_t) (size) == 0) \ + || (__builtin_constant_p (n) && (size_t) (n) == 0)) \ + /* Evaluate all parameters once. */ \ + ? ((void) (ptr), (void) (stream), (void) (size), \ + (void) (n), (size_t) 0) \ + : fwrite_unlocked (ptr, size, n, stream)))) +#endif + +/* Define helper macro. */ +#undef __STDIO_INLINE + +#endif /* bits/stdio.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2-decl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2-decl.h new file mode 100644 index 00000000..8591cafd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2-decl.h @@ -0,0 +1,163 @@ +/* Checking macros for stdio functions. Declarations only. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO2_DEC_H +#define _BITS_STDIO2_DEC_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, ...) __THROW + __attr_access ((__write_only__, 1, 3)); +extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen, + const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 3)); + +#if defined __USE_ISOC99 || defined __USE_UNIX98 + +extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + ...) __THROW + __attr_access ((__write_only__, 1, 2)); +extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag, + size_t __slen, const char *__restrict __format, + __gnuc_va_list __ap) __THROW + __attr_access ((__write_only__, 1, 2)); + +#endif + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, ...) + __nonnull ((1)); +extern int __printf_chk (int __flag, const char *__restrict __format, ...); +extern int __vfprintf_chk (FILE *__restrict __stream, int __flag, + const char *__restrict __format, + __gnuc_va_list __ap) __nonnull ((1)); +extern int __vprintf_chk (int __flag, const char *__restrict __format, + __gnuc_va_list __ap); + +# ifdef __USE_XOPEN2K8 +extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt, + ...) __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __vdprintf_chk (int __fd, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 3, 0))); +# endif + +# ifdef __USE_GNU + +extern int __asprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))) __wur; +extern int __vasprintf_chk (char **__restrict __ptr, int __flag, + const char *__restrict __fmt, __gnuc_va_list __arg) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))) __wur; +extern int __obstack_printf_chk (struct obstack *__restrict __obstack, + int __flag, const char *__restrict __format, + ...) + __THROW __attribute__ ((__format__ (__printf__, 3, 4))); +extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack, + int __flag, + const char *__restrict __format, + __gnuc_va_list __args) + __THROW __attribute__ ((__format__ (__printf__, 3, 0))); + +# endif +#endif + +#if __GLIBC_USE (DEPRECATED_GETS) +extern char *__REDIRECT (__gets_warn, (char *__str), gets) + __wur __warnattr ("please use fgets or getline instead, gets can't " + "specify buffer size"); + +extern char *__gets_chk (char *__str, size_t) __wur; +#endif + +extern char *__REDIRECT (__fgets_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_chk) + __wur __warnattr ("fgets called with bigger size than length " + "of destination buffer"); + +extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)) __nonnull ((4)); + +extern size_t __REDIRECT (__fread_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread) __wur; +extern size_t __REDIRECT (__fread_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_chk) + __wur __warnattr ("fread called with bigger size * nmemb than length " + "of destination buffer"); + +extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) __wur __nonnull ((5)); + +#ifdef __USE_GNU +extern char *__REDIRECT_FORTIFY (__fgets_unlocked_alias, + (char *__restrict __s, int __n, + FILE *__restrict __stream), fgets_unlocked) + __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT (__fgets_unlocked_chk_warn, + (char *__restrict __s, size_t __size, int __n, + FILE *__restrict __stream), __fgets_unlocked_chk) + __wur __warnattr ("fgets_unlocked called with bigger size than length " + "of destination buffer"); + + +extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size, + int __n, FILE *__restrict __stream) + __wur __attr_access ((__write_only__, 1, 3)) __nonnull ((4)); +#endif + +#ifdef __USE_MISC +# undef fread_unlocked +extern size_t __REDIRECT (__fread_unlocked_alias, + (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream), + fread_unlocked) __wur; +extern size_t __REDIRECT (__fread_unlocked_chk_warn, + (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream), + __fread_unlocked_chk) + __wur __warnattr ("fread_unlocked called with bigger size * nmemb than " + "length of destination buffer"); + +extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen, + size_t __size, size_t __n, + FILE *__restrict __stream) + __wur __nonnull ((5)); +#endif + +#endif /* bits/stdio2-decl.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2.h new file mode 100644 index 00000000..355ab080 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio2.h @@ -0,0 +1,404 @@ +/* Checking macros for stdio functions. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO2_H +#define _BITS_STDIO2_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#ifdef __va_arg_pack +__fortify_function int +__NTH (sprintf (char *__restrict __s, const char *__restrict __fmt, ...)) +{ + return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, + __va_arg_pack ()); +} +#elif __fortify_use_clang +/* clang does not have __va_arg_pack, so defer to va_arg version. */ +__fortify_function_error_function __attribute_overloadable__ int +__NTH (sprintf (__fortify_clang_overload_arg (char *, __restrict, __s), + const char *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +#elif !defined __cplusplus +# define sprintf(str, ...) \ + __builtin___sprintf_chk (str, __USE_FORTIFY_LEVEL - 1, \ + __glibc_objsize (str), __VA_ARGS__) +#endif + +__fortify_function __attribute_overloadable__ int +__NTH (vsprintf (__fortify_clang_overload_arg (char *, __restrict, __s), + const char *__restrict __fmt, __gnuc_va_list __ap)) +{ + return __builtin___vsprintf_chk (__s, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, __ap); +} + +#if defined __USE_ISOC99 || defined __USE_UNIX98 +# ifdef __va_arg_pack +__fortify_function int +__NTH (snprintf (char *__restrict __s, size_t __n, + const char *__restrict __fmt, ...)) +{ + return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, + __va_arg_pack ()); +} +# elif __fortify_use_clang +/* clang does not have __va_arg_pack, so defer to va_arg version. */ +__fortify_function_error_function __attribute_overloadable__ int +__NTH (snprintf (__fortify_clang_overload_arg (char *, __restrict, __s), + size_t __n, const char *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +# elif !defined __cplusplus +# define snprintf(str, len, ...) \ + __builtin___snprintf_chk (str, len, __USE_FORTIFY_LEVEL - 1, \ + __glibc_objsize (str), __VA_ARGS__) +# endif + +__fortify_function __attribute_overloadable__ int +__NTH (vsnprintf (__fortify_clang_overload_arg (char *, __restrict, __s), + size_t __n, const char *__restrict __fmt, + __gnuc_va_list __ap)) + __fortify_clang_warning (__fortify_clang_bos_static_lt (__n, __s), + "call to vsnprintf may overflow the destination " + "buffer") +{ + return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s), __fmt, __ap); +} + +#endif + +#if __USE_FORTIFY_LEVEL > 1 +# ifdef __va_arg_pack +__fortify_function __nonnull ((1)) int +fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...) +{ + return __fprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} + +__fortify_function int +printf (const char *__restrict __fmt, ...) +{ + return __printf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); +} +# elif __fortify_use_clang +/* clang does not have __va_arg_pack, so defer to va_arg version. */ +__fortify_function_error_function __attribute_overloadable__ __nonnull ((1)) int +fprintf (__fortify_clang_overload_arg (FILE *, __restrict, __stream), + const char *__restrict __fmt, ...) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __builtin___vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, + __fmt, __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} + +__fortify_function_error_function __attribute_overloadable__ int +printf (__fortify_clang_overload_arg (const char *, __restrict, __fmt), ...) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __builtin___vprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +# elif !defined __cplusplus +# define printf(...) \ + __printf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# define fprintf(stream, ...) \ + __fprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# endif + +__fortify_function __attribute_overloadable__ int +vprintf (__fortify_clang_overload_arg (const char *, __restrict, __fmt), + __gnuc_va_list __ap) +{ +#ifdef __USE_EXTERN_INLINES + return __vfprintf_chk (stdout, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +#else + return __vprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap); +#endif +} + +__fortify_function __nonnull ((1)) int +vfprintf (FILE *__restrict __stream, + const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} + +# ifdef __USE_XOPEN2K8 +# ifdef __va_arg_pack +__fortify_function int +dprintf (int __fd, const char *__restrict __fmt, ...) +{ + return __dprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} +# elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +dprintf (int __fd, __fortify_clang_overload_arg (const char *, __restrict, + __fmt), ...) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +# elif !defined __cplusplus +# define dprintf(fd, ...) \ + __dprintf_chk (fd, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# endif + +__fortify_function int +vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vdprintf_chk (__fd, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} +# endif + +# ifdef __USE_GNU +# ifdef __va_arg_pack +__fortify_function int +__NTH (asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...)) +{ + return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} + +__fortify_function int +__NTH (__asprintf (char **__restrict __ptr, const char *__restrict __fmt, + ...)) +{ + return __asprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} + +__fortify_function int +__NTH (obstack_printf (struct obstack *__restrict __obstack, + const char *__restrict __fmt, ...)) +{ + return __obstack_printf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} +# elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +__NTH (asprintf (__fortify_clang_overload_arg (char **, __restrict, __ptr), + const char *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} + +__fortify_function_error_function __attribute_overloadable__ int +__NTH (__asprintf (__fortify_clang_overload_arg (char **, __restrict, __ptr), + const char *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, + __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} + +__fortify_function_error_function __attribute_overloadable__ int +__NTH (obstack_printf (__fortify_clang_overload_arg (struct obstack *, + __restrict, __obstack), + const char *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r = __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, + __fmt, __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +# elif !defined __cplusplus +# define asprintf(ptr, ...) \ + __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# define __asprintf(ptr, ...) \ + __asprintf_chk (ptr, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# define obstack_printf(obstack, ...) \ + __obstack_printf_chk (obstack, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# endif + +__fortify_function int +__NTH (vasprintf (char **__restrict __ptr, const char *__restrict __fmt, + __gnuc_va_list __ap)) +{ + return __vasprintf_chk (__ptr, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} + +__fortify_function int +__NTH (obstack_vprintf (struct obstack *__restrict __obstack, + const char *__restrict __fmt, __gnuc_va_list __ap)) +{ + return __obstack_vprintf_chk (__obstack, __USE_FORTIFY_LEVEL - 1, __fmt, + __ap); +} + +# endif + +#endif + +#if __GLIBC_USE (DEPRECATED_GETS) +__fortify_function __wur __attribute_overloadable__ char * +gets (__fortify_clang_overload_arg (char *, , __str)) + __fortify_clang_warning (__glibc_objsize (__str) == (size_t) -1, + "please use fgets or getline instead, gets " + "can not specify buffer size") +{ + if (__glibc_objsize (__str) != (size_t) -1) + return __gets_chk (__str, __glibc_objsize (__str)); + return __gets_warn (__str); +} +#endif + +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) +__nonnull ((3)) __attribute_overloadable__ char * +fgets (__fortify_clang_overload_arg (char *, __restrict, __s), int __n, + FILE *__restrict __stream) + __fortify_clang_warning (__fortify_clang_bos_static_lt (__n, __s) && __n > 0, + "fgets called with bigger size than length of " + "destination buffer") +{ + size_t __sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __fgets_alias (__s, __n, __stream); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (char), __sz)) + return __fgets_chk_warn (__s, __sz, __n, __stream); +#endif + return __fgets_chk (__s, __sz, __n, __stream); +} + +__fortify_function __wur __nonnull ((4)) __attribute_overloadable__ size_t +fread (__fortify_clang_overload_arg (void *, __restrict, __ptr), + size_t __size, size_t __n, FILE *__restrict __stream) + __fortify_clang_warning (__fortify_clang_bos0_static_lt (__size * __n, __ptr) + && !__fortify_clang_mul_may_overflow (__size, __n), + "fread called with bigger size * n than length " + "of destination buffer") +{ + size_t __sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, __sz)) + return __fread_alias (__ptr, __size, __n, __stream); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, __size, __sz)) + return __fread_chk_warn (__ptr, __sz, __size, __n, __stream); +#endif + return __fread_chk (__ptr, __sz, __size, __n, __stream); +} + +#ifdef __USE_GNU +__fortify_function __wur __fortified_attr_access (__write_only__, 1, 2) +__nonnull ((3)) __attribute_overloadable__ char * +fgets_unlocked (__fortify_clang_overload_arg (char *, __restrict, __s), + int __n, FILE *__restrict __stream) + __fortify_clang_warning (__fortify_clang_bos_static_lt (__n, __s) && __n > 0, + "fgets called with bigger size than length of " + "destination buffer") +{ + size_t __sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (char), __sz)) + return __fgets_unlocked_alias (__s, __n, __stream); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (char), __sz)) + return __fgets_unlocked_chk_warn (__s, __sz, __n, __stream); +#endif + return __fgets_unlocked_chk (__s, __sz, __n, __stream); +} +#endif + +#ifdef __USE_MISC +# undef fread_unlocked +__fortify_function __wur __nonnull ((4)) __attribute_overloadable__ size_t +fread_unlocked (__fortify_clang_overload_arg0 (void *, __restrict, __ptr), + size_t __size, size_t __n, FILE *__restrict __stream) + __fortify_clang_warning (__fortify_clang_bos0_static_lt (__size * __n, __ptr) + && !__fortify_clang_mul_may_overflow (__size, __n), + "fread_unlocked called with bigger size * n than " + "length of destination buffer") +{ + size_t __sz = __glibc_objsize0 (__ptr); + if (__glibc_safe_or_unknown_len (__n, __size, __sz)) + { +# ifdef __USE_EXTERN_INLINES + if (__builtin_constant_p (__size) + && __builtin_constant_p (__n) + && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2)) + && __size * __n <= 8) + { + size_t __cnt = __size * __n; + char *__cptr = (char *) __ptr; + if (__cnt == 0) + return 0; + + for (; __cnt > 0; --__cnt) + { + int __c = getc_unlocked (__stream); + if (__c == EOF) + break; + *__cptr++ = __c; + } + return (__cptr - (char *) __ptr) / __size; + } +# endif + return __fread_unlocked_alias (__ptr, __size, __n, __stream); + } +# if !__fortify_use_clang + if (__glibc_unsafe_len (__n, __size, __sz)) + return __fread_unlocked_chk_warn (__ptr, __sz, __size, __n, __stream); +# endif + return __fread_unlocked_chk (__ptr, __sz, __size, __n, __stream); + +} +#endif + +#endif /* bits/stdio2.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio_lim.h new file mode 100644 index 00000000..93fa44af --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdio_lim.h @@ -0,0 +1,28 @@ +/* System specific stdio.h definitions. Linux version. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STDIO_LIM_H +#define _BITS_STDIO_LIM_H 1 + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#define FILENAME_MAX 4096 + +#endif /* bits/stdio_lim.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h new file mode 100644 index 00000000..959676e3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-bsearch.h @@ -0,0 +1,50 @@ +/* Perform binary search - inline version. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +__extern_inline void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + const void *__p; + int __comparison; + + while (__nmemb) + { + __p = (const void *) (((const char *) __base) + ((__nmemb >> 1) * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison == 0) + { +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wcast-qual" +#endif + return (void *) __p; +#if __GNUC_PREREQ(4, 6) +# pragma GCC diagnostic pop +#endif + } + if (__comparison > 0) + { + __base = ((const char *) __p) + __size; + --__nmemb; + } + __nmemb >>= 1; + } + + return NULL; +} \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-float.h new file mode 100644 index 00000000..ff5f0a05 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-float.h @@ -0,0 +1,29 @@ +/* Floating-point inline functions for stdlib.h. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDLIB_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_EXTERN_INLINES +__extern_inline double +__NTH (atof (const char *__nptr)) +{ + return strtod (__nptr, (char **) NULL); +} +#endif /* Optimizing and Inlining. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h new file mode 100644 index 00000000..332a7af8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib-ldbl.h @@ -0,0 +1,63 @@ +/* -mlong-double-64 compatibility mode for functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDLIB_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_ISOC99 +# ifdef __LDBL_COMPAT +__LDBL_REDIR1_DECL (strtold, strtod) +# else +__LDBL_REDIR1_DECL (strtold, __strtoieee128) +# endif +#endif + +#ifdef __USE_GNU +# ifdef __LDBL_COMPAT +__LDBL_REDIR1_DECL (strtold_l, strtod_l) +# else +__LDBL_REDIR1_DECL (strtold_l, __strtoieee128_l) +# endif +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +# ifdef __LDBL_COMPAT +__LDBL_REDIR1_DECL (strfroml, strfromd) +# else +__LDBL_REDIR1_DECL (strfroml, __strfromieee128) +# endif +#endif + +#ifdef __USE_MISC +# if defined __LDBL_COMPAT +__LDBL_REDIR1_DECL (qecvt, ecvt) +__LDBL_REDIR1_DECL (qfcvt, fcvt) +__LDBL_REDIR1_DECL (qgcvt, gcvt) +__LDBL_REDIR1_DECL (qecvt_r, ecvt_r) +__LDBL_REDIR1_DECL (qfcvt_r, fcvt_r) +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +__LDBL_REDIR1_DECL (qecvt, __qecvtieee128) +__LDBL_REDIR1_DECL (qfcvt, __qfcvtieee128) +__LDBL_REDIR1_DECL (qgcvt, __qgcvtieee128) +__LDBL_REDIR1_DECL (qecvt_r, __qecvtieee128_r) +__LDBL_REDIR1_DECL (qfcvt_r, __qfcvtieee128_r) +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib.h new file mode 100644 index 00000000..e159bea9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/stdlib.h @@ -0,0 +1,166 @@ +/* Checking macros for stdlib functions. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDLIB_H +# error "Never include directly; use instead." +#endif + +extern char *__realpath_chk (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen) __THROW __wur; +extern char *__REDIRECT_NTH (__realpath_alias, + (const char *__restrict __name, + char *__restrict __resolved), realpath) __wur; +extern char *__REDIRECT_NTH (__realpath_chk_warn, + (const char *__restrict __name, + char *__restrict __resolved, + size_t __resolvedlen), __realpath_chk) __wur + __warnattr ("second argument of realpath must be either NULL or at " + "least PATH_MAX bytes long buffer"); + +__fortify_function __attribute_overloadable__ __wur char * +__NTH (realpath (const char *__restrict __name, + __fortify_clang_overload_arg (char *, __restrict, __resolved))) +#if defined _LIBC_LIMITS_H_ && defined PATH_MAX + __fortify_clang_warning_only_if_bos_lt (PATH_MAX, __resolved, + "second argument of realpath must be " + "either NULL or at least PATH_MAX " + "bytes long buffer") +#endif +{ + size_t __sz = __glibc_objsize (__resolved); + + if (__sz == (size_t) -1) + return __realpath_alias (__name, __resolved); + +#if !__fortify_use_clang && defined _LIBC_LIMITS_H_ && defined PATH_MAX + if (__glibc_unsafe_len (PATH_MAX, sizeof (char), __sz)) + return __realpath_chk_warn (__name, __resolved, __sz); +#endif + return __realpath_chk (__name, __resolved, __sz); +} + + +extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __THROW __nonnull ((2)) + __attr_access ((__write_only__, 2, 3)); +extern int __REDIRECT_NTH (__ptsname_r_alias, (int __fd, char *__buf, + size_t __buflen), ptsname_r) + __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); +extern int __REDIRECT_NTH (__ptsname_r_chk_warn, + (int __fd, char *__buf, size_t __buflen, + size_t __nreal), __ptsname_r_chk) + __nonnull ((2)) __warnattr ("ptsname_r called with buflen bigger than " + "size of buf"); + +__fortify_function __attribute_overloadable__ int +__NTH (ptsname_r (int __fd, + __fortify_clang_overload_arg (char *, ,__buf), + size_t __buflen)) + __fortify_clang_warning_only_if_bos_lt (__buflen, __buf, + "ptsname_r called with buflen " + "bigger than size of buf") +{ + return __glibc_fortify (ptsname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); +} + + +extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen) + __THROW __wur; +extern int __REDIRECT_NTH (__wctomb_alias, (char *__s, wchar_t __wchar), + wctomb) __wur; + +__fortify_function __attribute_overloadable__ __wur int +__NTH (wctomb (__fortify_clang_overload_arg (char *, ,__s), wchar_t __wchar)) +{ + /* We would have to include to get a definition of MB_LEN_MAX. + But this would only disturb the namespace. So we define our own + version here. */ +#define __STDLIB_MB_LEN_MAX 16 +#if defined MB_LEN_MAX && MB_LEN_MAX != __STDLIB_MB_LEN_MAX +# error "Assumed value of MB_LEN_MAX wrong" +#endif + if (__glibc_objsize (__s) != (size_t) -1 + && __STDLIB_MB_LEN_MAX > __glibc_objsize (__s)) + return __wctomb_chk (__s, __wchar, __glibc_objsize (__s)); + return __wctomb_alias (__s, __wchar); +} + + +extern size_t __mbstowcs_chk (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen) __THROW + __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__mbstowcs_nulldst, + (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len), mbstowcs) + __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__mbstowcs_alias, + (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len), mbstowcs) + __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__mbstowcs_chk_warn, + (wchar_t *__restrict __dst, + const char *__restrict __src, + size_t __len, size_t __dstlen), __mbstowcs_chk) + __warnattr ("mbstowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +__fortify_function __attribute_overloadable__ size_t +__NTH (mbstowcs (__fortify_clang_overload_arg (wchar_t *, __restrict, __dst), + const char *__restrict __src, + size_t __len)) + __fortify_clang_warning_only_if_bos0_lt2 (__len, __dst, sizeof (wchar_t), + "mbstowcs called with dst buffer " + "smaller than len * sizeof (wchar_t)") +{ + if (__builtin_constant_p (__dst == NULL) && __dst == NULL) + return __mbstowcs_nulldst (__dst, __src, __len); + else + return __glibc_fortify_n (mbstowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), __dst, __src, __len); +} + +extern size_t __wcstombs_chk (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen) __THROW + __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__wcstombs_alias, + (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len), wcstombs) + __attr_access ((__write_only__, 1, 3)) __attr_access ((__read_only__, 2)); +extern size_t __REDIRECT_NTH (__wcstombs_chk_warn, + (char *__restrict __dst, + const wchar_t *__restrict __src, + size_t __len, size_t __dstlen), __wcstombs_chk) + __warnattr ("wcstombs called with dst buffer smaller than len"); + +__fortify_function __attribute_overloadable__ size_t +__NTH (wcstombs (__fortify_clang_overload_arg (char *, __restrict, __dst), + const wchar_t *__restrict __src, + size_t __len)) +{ + return __glibc_fortify (wcstombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len); +} \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/string_fortified.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/string_fortified.h new file mode 100644 index 00000000..076ca394 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/string_fortified.h @@ -0,0 +1,196 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_STRING_FORTIFIED_H +#define _BITS_STRING_FORTIFIED_H 1 + +#ifndef _STRING_H +# error "Never use directly; include instead." +#endif + +__fortify_function void * +__NTH (memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __len)) +{ + return __builtin___memcpy_chk (__dest, __src, __len, + __glibc_objsize0 (__dest)); +} + +__fortify_function void * +__NTH (memmove (void *__dest, const void *__src, size_t __len)) +{ + return __builtin___memmove_chk (__dest, __src, __len, + __glibc_objsize0 (__dest)); +} + +#ifdef __USE_GNU +__fortify_function void * +__NTH (mempcpy (void *__restrict __dest, const void *__restrict __src, + size_t __len)) +{ + return __builtin___mempcpy_chk (__dest, __src, __len, + __glibc_objsize0 (__dest)); +} +#endif + + +/* The first two tests here help to catch a somewhat common problem + where the second and third parameter are transposed. This is + especially problematic if the intended fill value is zero. In this + case no work is done at all. We detect these problems by referring + non-existing functions. */ +__fortify_function void * +__NTH (memset (void *__dest, int __ch, size_t __len)) +{ + return __builtin___memset_chk (__dest, __ch, __len, + __glibc_objsize0 (__dest)); +} + +#ifdef __USE_MISC +# include + +void __explicit_bzero_chk (void *__dest, size_t __len, size_t __destlen) + __THROW __nonnull ((1)) __fortified_attr_access (__write_only__, 1, 2); + +__fortify_function void +__NTH (explicit_bzero (void *__dest, size_t __len)) +{ + __explicit_bzero_chk (__dest, __len, __glibc_objsize0 (__dest)); +} +#endif + +__fortify_function __attribute_overloadable__ char * +__NTH (strcpy (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src)) + __fortify_clang_warn_if_src_too_large (__dest, __src) +{ + return __builtin___strcpy_chk (__dest, __src, __glibc_objsize (__dest)); +} + +#ifdef __USE_XOPEN2K8 +__fortify_function __attribute_overloadable__ char * +__NTH (stpcpy (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src)) + __fortify_clang_warn_if_src_too_large (__dest, __src) +{ + return __builtin___stpcpy_chk (__dest, __src, __glibc_objsize (__dest)); +} +#endif + + +__fortify_function __attribute_overloadable__ char * +__NTH (strncpy (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src, size_t __len)) + __fortify_clang_warn_if_dest_too_small (__dest, __len) +{ + return __builtin___strncpy_chk (__dest, __src, __len, + __glibc_objsize (__dest)); +} + +#ifdef __USE_XOPEN2K8 +# if __GNUC_PREREQ (4, 7) || __glibc_clang_prereq (2, 6) +__fortify_function __attribute_overloadable__ char * +__NTH (stpncpy (__fortify_clang_overload_arg (char *, ,__dest), + const char *__src, size_t __n)) + __fortify_clang_warn_if_dest_too_small (__dest, __n) +{ + return __builtin___stpncpy_chk (__dest, __src, __n, + __glibc_objsize (__dest)); +} +# else +extern char *__stpncpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); +extern char *__REDIRECT_NTH (__stpncpy_alias, (char *__dest, const char *__src, + size_t __n), stpncpy); + +__fortify_function __attribute_overloadable__ char * +__NTH (stpncpy (__fortify_clang_overload_arg (char *, ,__dest), + const char *__src, size_t __n)) +{ + if (__bos (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n) || __n > __bos (__dest))) + return __stpncpy_chk (__dest, __src, __n, __bos (__dest)); + return __stpncpy_alias (__dest, __src, __n); +} +# endif +#endif + + +__fortify_function __attribute_overloadable__ char * +__NTH (strcat (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src)) + __fortify_clang_warn_if_src_too_large (__dest, __src) +{ + return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest)); +} + + +__fortify_function __attribute_overloadable__ char * +__NTH (strncat (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src, size_t __len)) + __fortify_clang_warn_if_src_too_large (__dest, __src) +{ + return __builtin___strncat_chk (__dest, __src, __len, + __glibc_objsize (__dest)); +} + +/* + * strlcpy and strlcat introduced in glibc 2.38 + * https://sourceware.org/git/?p=glibc.git;a=commit;h=2e0bbbfbf95fc9e22692e93658a6fbdd2d4554da + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 38) || __GLIBC__ > 2 +#ifdef __USE_MISC +extern size_t __strlcpy_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcpy_alias, + (char *__dest, const char *__src, size_t __n), + strlcpy); + +__fortify_function __attribute_overloadable__ size_t +__NTH (strlcpy (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src, size_t __n)) + __fortify_clang_warn_if_dest_too_small (__dest, __n) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcpy_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcpy_alias (__dest, __src, __n); +} + +extern size_t __strlcat_chk (char *__dest, const char *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__strlcat_alias, + (char *__dest, const char *__src, size_t __n), + strlcat); + +__fortify_function __attribute_overloadable__ size_t +__NTH (strlcat (__fortify_clang_overload_arg (char *, __restrict, __dest), + const char *__restrict __src, size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest)) + || __n > __glibc_objsize (__dest))) + return __strlcat_chk (__dest, __src, __n, __glibc_objsize (__dest)); + return __strlcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ +#endif /* glibc v2.38 and later */ + +#endif /* bits/string_fortified.h */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/strings_fortified.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/strings_fortified.h new file mode 100644 index 00000000..aad1684f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/strings_fortified.h @@ -0,0 +1,36 @@ +/* Fortify macros for strings.h functions. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __STRINGS_FORTIFIED +# define __STRINGS_FORTIFIED 1 + +__fortify_function void +__NTH (bcopy (const void *__src, void *__dest, size_t __len)) +{ + (void) __builtin___memmove_chk (__dest, __src, __len, + __glibc_objsize0 (__dest)); +} + +__fortify_function void +__NTH (bzero (void *__dest, size_t __len)) +{ + (void) __builtin___memset_chk (__dest, '\0', __len, + __glibc_objsize0 (__dest)); +} + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_mutex.h new file mode 100644 index 00000000..d794fea0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_mutex.h @@ -0,0 +1,84 @@ +/* Default mutex implementation struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +/* Generic struct for both POSIX and C11 mutexes. New ports are expected + to use the default layout, however architecture can redefine it to + add arch-specific extension (such as lock-elision). The struct have + a size of 32 bytes on LP32 and 40 bytes on LP64 architectures. */ + +struct __pthread_mutex_s +{ + int __lock __LOCK_ALIGNMENT; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. + + Concurrency notes: + The __kind of a mutex is initialized either by the static + PTHREAD_MUTEX_INITIALIZER or by a call to pthread_mutex_init. + + After a mutex has been initialized, the __kind of a mutex is usually not + changed. BUT it can be set to -1 in pthread_mutex_destroy or elision can + be enabled. This is done concurrently in the pthread_mutex_*lock + functions by using the macro FORCE_ELISION. This macro is only defined + for architectures which supports lock elision. + + For elision, there are the flags PTHREAD_MUTEX_ELISION_NP and + PTHREAD_MUTEX_NO_ELISION_NP which can be set in addition to the already + set type of a mutex. Before a mutex is initialized, only + PTHREAD_MUTEX_NO_ELISION_NP can be set with pthread_mutexattr_settype. + + After a mutex has been initialized, the functions pthread_mutex_*lock can + enable elision - if the mutex-type and the machine supports it - by + setting the flag PTHREAD_MUTEX_ELISION_NP. This is done concurrently. + Afterwards the lock / unlock functions are using specific elision + code-paths. */ + int __kind; +#if __WORDSIZE != 64 + unsigned int __nusers; +#endif +#if __WORDSIZE == 64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __PTHREAD_MUTEX_HAVE_PREV == 1 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_rwlock.h new file mode 100644 index 00000000..d1f2e41e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_rwlock.h @@ -0,0 +1,61 @@ +/* Default read-write lock implementation struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __RWLOCK_INTERNAL_H +#define __RWLOCK_INTERNAL_H + +#include + +/* Generic struct for both POSIX read-write lock. New ports are expected + to use the default layout, however archictetures can redefine it to add + arch-specific extensions (such as lock-elision). The struct have a size + of 32 bytes on both LP32 and LP64 architectures. */ + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; + /* FLAGS must stay at its position in the structure to maintain + binary compatibility. */ +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + unsigned char __flags; +#else + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +#endif + int __cur_writer; +}; + +#if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat.h new file mode 100644 index 00000000..c07c9a76 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat.h @@ -0,0 +1,237 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if _MIPS_SIM == _ABIO32 +/* Structure describing file characteristics. */ +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + unsigned long int st_dev; + long int st_pad1[3]; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + unsigned long int st_rdev; /* Device number, if device. */ +# ifndef __USE_FILE_OFFSET64 + long int st_pad2[2]; + __off_t st_size; /* Size of file, in bytes. */ + /* SVR4 added this extra long to allow for expansion of off_t. */ + long int st_pad3; +# else + long int st_pad2[3]; + __off64_t st_size; /* Size of file, in bytes. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ +# else + long int st_pad4; + __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */ +# endif + long int st_pad5[14]; +# endif /* __USE_TIME64_REDIRECTS */ + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + unsigned long int st_dev; + long int st_pad1[3]; + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + unsigned long int st_rdev; /* Device number, if device. */ + long int st_pad2[3]; + __off64_t st_size; /* Size of file, in bytes. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + long int st_pad3; + __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */ + long int st_pad4[14]; +# endif /* __USE_TIME64_REDIRECTS */ + }; +# endif /* __USE_LARGEFILE64 */ + +#else /* _MIPS_SIM != _ABIO32 */ + +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; + int st_pad1[3]; /* Reserved for st_dev expansion */ +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; +# else + __ino64_t st_ino; +# endif + __mode_t st_mode; + __nlink_t st_nlink; + __uid_t st_uid; + __gid_t st_gid; + __dev_t st_rdev; +# if !defined __USE_FILE_OFFSET64 + unsigned int st_pad2[2]; /* Reserved for st_rdev expansion */ + __off_t st_size; + int st_pad3; +# else + unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */ + __off64_t st_size; +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __blksize_t st_blksize; + unsigned int st_pad4; +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; +# else + __blkcnt64_t st_blocks; +# endif + int st_pad5[14]; +# endif + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; + unsigned int st_pad1[3]; /* Reserved for st_dev expansion */ + __ino64_t st_ino; + __mode_t st_mode; + __nlink_t st_nlink; + __uid_t st_uid; + __gid_t st_gid; + __dev_t st_rdev; + unsigned int st_pad2[3]; /* Reserved for st_rdev expansion */ + __off64_t st_size; +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __blksize_t st_blksize; + unsigned int st_pad3; + __blkcnt64_t st_blocks; + int st_pad4[14]; +# endif /* __USE_TIME64_REDIRECTS */ +}; +#endif + +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h new file mode 100644 index 00000000..9d927e83 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/struct_stat_time64_helper.h @@ -0,0 +1,66 @@ +/* Definition for helper to define struct stat with 64-bit time. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + + /* Content of internal __stat64_t64 struct. */ + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group. */ + __dev_t st_rdev; /* Device number, if device. */ + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 +# ifndef __struct_timespec +# define __struct_timespec struct timespec +# endif + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + __struct_timespec st_atim; + __struct_timespec st_mtim; + __struct_timespec st_ctim; +# define st_atime st_atim.tv_sec +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# undef __struct_timespec +#else +/* The definition should be equal to the 'struct __timespec64' internal + layout. */ +# if __BYTE_ORDER == __BIG_ENDIAN +# define __fieldts64(name) \ + __time64_t name; __int32_t :32; __int32_t name ## nsec +# else +# define __fieldts64(name) \ + __time64_t name; __int32_t name ## nsec; __int32_t :32 +# endif + + __fieldts64 (st_atime); + __fieldts64 (st_mtime); + __fieldts64 (st_ctime); + + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + +# undef __fieldts64 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syscall.h new file mode 100644 index 00000000..4594b36b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syscall.h @@ -0,0 +1,2612 @@ +/* Generated at libc build time from syscall list. */ +/* The system call list corresponds to kernel 6.12. */ + +#ifndef _SYSCALL_H +# error "Never use directly; include instead." +#endif + +#define __GLIBC_LINUX_VERSION_CODE 396288 + +#ifdef __NR_FAST_atomic_update +# define SYS_FAST_atomic_update __NR_FAST_atomic_update +#endif + +#ifdef __NR_FAST_cmpxchg +# define SYS_FAST_cmpxchg __NR_FAST_cmpxchg +#endif + +#ifdef __NR_FAST_cmpxchg64 +# define SYS_FAST_cmpxchg64 __NR_FAST_cmpxchg64 +#endif + +#ifdef __NR__llseek +# define SYS__llseek __NR__llseek +#endif + +#ifdef __NR__newselect +# define SYS__newselect __NR__newselect +#endif + +#ifdef __NR__sysctl +# define SYS__sysctl __NR__sysctl +#endif + +#ifdef __NR_accept +# define SYS_accept __NR_accept +#endif + +#ifdef __NR_accept4 +# define SYS_accept4 __NR_accept4 +#endif + +#ifdef __NR_access +# define SYS_access __NR_access +#endif + +#ifdef __NR_acct +# define SYS_acct __NR_acct +#endif + +#ifdef __NR_acl_get +# define SYS_acl_get __NR_acl_get +#endif + +#ifdef __NR_acl_set +# define SYS_acl_set __NR_acl_set +#endif + +#ifdef __NR_add_key +# define SYS_add_key __NR_add_key +#endif + +#ifdef __NR_adjtimex +# define SYS_adjtimex __NR_adjtimex +#endif + +#ifdef __NR_afs_syscall +# define SYS_afs_syscall __NR_afs_syscall +#endif + +#ifdef __NR_alarm +# define SYS_alarm __NR_alarm +#endif + +#ifdef __NR_alloc_hugepages +# define SYS_alloc_hugepages __NR_alloc_hugepages +#endif + +#ifdef __NR_arc_gettls +# define SYS_arc_gettls __NR_arc_gettls +#endif + +#ifdef __NR_arc_settls +# define SYS_arc_settls __NR_arc_settls +#endif + +#ifdef __NR_arc_usr_cmpxchg +# define SYS_arc_usr_cmpxchg __NR_arc_usr_cmpxchg +#endif + +#ifdef __NR_arch_prctl +# define SYS_arch_prctl __NR_arch_prctl +#endif + +#ifdef __NR_arm_fadvise64_64 +# define SYS_arm_fadvise64_64 __NR_arm_fadvise64_64 +#endif + +#ifdef __NR_arm_sync_file_range +# define SYS_arm_sync_file_range __NR_arm_sync_file_range +#endif + +#ifdef __NR_atomic_barrier +# define SYS_atomic_barrier __NR_atomic_barrier +#endif + +#ifdef __NR_atomic_cmpxchg_32 +# define SYS_atomic_cmpxchg_32 __NR_atomic_cmpxchg_32 +#endif + +#ifdef __NR_attrctl +# define SYS_attrctl __NR_attrctl +#endif + +#ifdef __NR_bdflush +# define SYS_bdflush __NR_bdflush +#endif + +#ifdef __NR_bind +# define SYS_bind __NR_bind +#endif + +#ifdef __NR_bpf +# define SYS_bpf __NR_bpf +#endif + +#ifdef __NR_break +# define SYS_break __NR_break +#endif + +#ifdef __NR_breakpoint +# define SYS_breakpoint __NR_breakpoint +#endif + +#ifdef __NR_brk +# define SYS_brk __NR_brk +#endif + +#ifdef __NR_cachectl +# define SYS_cachectl __NR_cachectl +#endif + +#ifdef __NR_cacheflush +# define SYS_cacheflush __NR_cacheflush +#endif + +#ifdef __NR_cachestat +# define SYS_cachestat __NR_cachestat +#endif + +#ifdef __NR_capget +# define SYS_capget __NR_capget +#endif + +#ifdef __NR_capset +# define SYS_capset __NR_capset +#endif + +#ifdef __NR_chdir +# define SYS_chdir __NR_chdir +#endif + +#ifdef __NR_chmod +# define SYS_chmod __NR_chmod +#endif + +#ifdef __NR_chown +# define SYS_chown __NR_chown +#endif + +#ifdef __NR_chown32 +# define SYS_chown32 __NR_chown32 +#endif + +#ifdef __NR_chroot +# define SYS_chroot __NR_chroot +#endif + +#ifdef __NR_clock_adjtime +# define SYS_clock_adjtime __NR_clock_adjtime +#endif + +#ifdef __NR_clock_adjtime64 +# define SYS_clock_adjtime64 __NR_clock_adjtime64 +#endif + +#ifdef __NR_clock_getres +# define SYS_clock_getres __NR_clock_getres +#endif + +#ifdef __NR_clock_getres_time64 +# define SYS_clock_getres_time64 __NR_clock_getres_time64 +#endif + +#ifdef __NR_clock_gettime +# define SYS_clock_gettime __NR_clock_gettime +#endif + +#ifdef __NR_clock_gettime64 +# define SYS_clock_gettime64 __NR_clock_gettime64 +#endif + +#ifdef __NR_clock_nanosleep +# define SYS_clock_nanosleep __NR_clock_nanosleep +#endif + +#ifdef __NR_clock_nanosleep_time64 +# define SYS_clock_nanosleep_time64 __NR_clock_nanosleep_time64 +#endif + +#ifdef __NR_clock_settime +# define SYS_clock_settime __NR_clock_settime +#endif + +#ifdef __NR_clock_settime64 +# define SYS_clock_settime64 __NR_clock_settime64 +#endif + +#ifdef __NR_clone +# define SYS_clone __NR_clone +#endif + +#ifdef __NR_clone2 +# define SYS_clone2 __NR_clone2 +#endif + +#ifdef __NR_clone3 +# define SYS_clone3 __NR_clone3 +#endif + +#ifdef __NR_close +# define SYS_close __NR_close +#endif + +#ifdef __NR_close_range +# define SYS_close_range __NR_close_range +#endif + +#ifdef __NR_cmpxchg_badaddr +# define SYS_cmpxchg_badaddr __NR_cmpxchg_badaddr +#endif + +#ifdef __NR_connect +# define SYS_connect __NR_connect +#endif + +#ifdef __NR_copy_file_range +# define SYS_copy_file_range __NR_copy_file_range +#endif + +#ifdef __NR_creat +# define SYS_creat __NR_creat +#endif + +#ifdef __NR_create_module +# define SYS_create_module __NR_create_module +#endif + +#ifdef __NR_delete_module +# define SYS_delete_module __NR_delete_module +#endif + +#ifdef __NR_dipc +# define SYS_dipc __NR_dipc +#endif + +#ifdef __NR_dup +# define SYS_dup __NR_dup +#endif + +#ifdef __NR_dup2 +# define SYS_dup2 __NR_dup2 +#endif + +#ifdef __NR_dup3 +# define SYS_dup3 __NR_dup3 +#endif + +#ifdef __NR_epoll_create +# define SYS_epoll_create __NR_epoll_create +#endif + +#ifdef __NR_epoll_create1 +# define SYS_epoll_create1 __NR_epoll_create1 +#endif + +#ifdef __NR_epoll_ctl +# define SYS_epoll_ctl __NR_epoll_ctl +#endif + +#ifdef __NR_epoll_ctl_old +# define SYS_epoll_ctl_old __NR_epoll_ctl_old +#endif + +#ifdef __NR_epoll_pwait +# define SYS_epoll_pwait __NR_epoll_pwait +#endif + +#ifdef __NR_epoll_pwait2 +# define SYS_epoll_pwait2 __NR_epoll_pwait2 +#endif + +#ifdef __NR_epoll_wait +# define SYS_epoll_wait __NR_epoll_wait +#endif + +#ifdef __NR_epoll_wait_old +# define SYS_epoll_wait_old __NR_epoll_wait_old +#endif + +#ifdef __NR_eventfd +# define SYS_eventfd __NR_eventfd +#endif + +#ifdef __NR_eventfd2 +# define SYS_eventfd2 __NR_eventfd2 +#endif + +#ifdef __NR_exec_with_loader +# define SYS_exec_with_loader __NR_exec_with_loader +#endif + +#ifdef __NR_execv +# define SYS_execv __NR_execv +#endif + +#ifdef __NR_execve +# define SYS_execve __NR_execve +#endif + +#ifdef __NR_execveat +# define SYS_execveat __NR_execveat +#endif + +#ifdef __NR_exit +# define SYS_exit __NR_exit +#endif + +#ifdef __NR_exit_group +# define SYS_exit_group __NR_exit_group +#endif + +#ifdef __NR_faccessat +# define SYS_faccessat __NR_faccessat +#endif + +#ifdef __NR_faccessat2 +# define SYS_faccessat2 __NR_faccessat2 +#endif + +#ifdef __NR_fadvise64 +# define SYS_fadvise64 __NR_fadvise64 +#endif + +#ifdef __NR_fadvise64_64 +# define SYS_fadvise64_64 __NR_fadvise64_64 +#endif + +#ifdef __NR_fallocate +# define SYS_fallocate __NR_fallocate +#endif + +#ifdef __NR_fanotify_init +# define SYS_fanotify_init __NR_fanotify_init +#endif + +#ifdef __NR_fanotify_mark +# define SYS_fanotify_mark __NR_fanotify_mark +#endif + +#ifdef __NR_fchdir +# define SYS_fchdir __NR_fchdir +#endif + +#ifdef __NR_fchmod +# define SYS_fchmod __NR_fchmod +#endif + +#ifdef __NR_fchmodat +# define SYS_fchmodat __NR_fchmodat +#endif + +#ifdef __NR_fchmodat2 +# define SYS_fchmodat2 __NR_fchmodat2 +#endif + +#ifdef __NR_fchown +# define SYS_fchown __NR_fchown +#endif + +#ifdef __NR_fchown32 +# define SYS_fchown32 __NR_fchown32 +#endif + +#ifdef __NR_fchownat +# define SYS_fchownat __NR_fchownat +#endif + +#ifdef __NR_fcntl +# define SYS_fcntl __NR_fcntl +#endif + +#ifdef __NR_fcntl64 +# define SYS_fcntl64 __NR_fcntl64 +#endif + +#ifdef __NR_fdatasync +# define SYS_fdatasync __NR_fdatasync +#endif + +#ifdef __NR_fgetxattr +# define SYS_fgetxattr __NR_fgetxattr +#endif + +#ifdef __NR_finit_module +# define SYS_finit_module __NR_finit_module +#endif + +#ifdef __NR_flistxattr +# define SYS_flistxattr __NR_flistxattr +#endif + +#ifdef __NR_flock +# define SYS_flock __NR_flock +#endif + +#ifdef __NR_fork +# define SYS_fork __NR_fork +#endif + +#ifdef __NR_fp_udfiex_crtl +# define SYS_fp_udfiex_crtl __NR_fp_udfiex_crtl +#endif + +#ifdef __NR_free_hugepages +# define SYS_free_hugepages __NR_free_hugepages +#endif + +#ifdef __NR_fremovexattr +# define SYS_fremovexattr __NR_fremovexattr +#endif + +#ifdef __NR_fsconfig +# define SYS_fsconfig __NR_fsconfig +#endif + +#ifdef __NR_fsetxattr +# define SYS_fsetxattr __NR_fsetxattr +#endif + +#ifdef __NR_fsmount +# define SYS_fsmount __NR_fsmount +#endif + +#ifdef __NR_fsopen +# define SYS_fsopen __NR_fsopen +#endif + +#ifdef __NR_fspick +# define SYS_fspick __NR_fspick +#endif + +#ifdef __NR_fstat +# define SYS_fstat __NR_fstat +#endif + +#ifdef __NR_fstat64 +# define SYS_fstat64 __NR_fstat64 +#endif + +#ifdef __NR_fstatat64 +# define SYS_fstatat64 __NR_fstatat64 +#endif + +#ifdef __NR_fstatfs +# define SYS_fstatfs __NR_fstatfs +#endif + +#ifdef __NR_fstatfs64 +# define SYS_fstatfs64 __NR_fstatfs64 +#endif + +#ifdef __NR_fsync +# define SYS_fsync __NR_fsync +#endif + +#ifdef __NR_ftime +# define SYS_ftime __NR_ftime +#endif + +#ifdef __NR_ftruncate +# define SYS_ftruncate __NR_ftruncate +#endif + +#ifdef __NR_ftruncate64 +# define SYS_ftruncate64 __NR_ftruncate64 +#endif + +#ifdef __NR_futex +# define SYS_futex __NR_futex +#endif + +#ifdef __NR_futex_requeue +# define SYS_futex_requeue __NR_futex_requeue +#endif + +#ifdef __NR_futex_time64 +# define SYS_futex_time64 __NR_futex_time64 +#endif + +#ifdef __NR_futex_wait +# define SYS_futex_wait __NR_futex_wait +#endif + +#ifdef __NR_futex_waitv +# define SYS_futex_waitv __NR_futex_waitv +#endif + +#ifdef __NR_futex_wake +# define SYS_futex_wake __NR_futex_wake +#endif + +#ifdef __NR_futimesat +# define SYS_futimesat __NR_futimesat +#endif + +#ifdef __NR_get_kernel_syms +# define SYS_get_kernel_syms __NR_get_kernel_syms +#endif + +#ifdef __NR_get_mempolicy +# define SYS_get_mempolicy __NR_get_mempolicy +#endif + +#ifdef __NR_get_robust_list +# define SYS_get_robust_list __NR_get_robust_list +#endif + +#ifdef __NR_get_thread_area +# define SYS_get_thread_area __NR_get_thread_area +#endif + +#ifdef __NR_get_tls +# define SYS_get_tls __NR_get_tls +#endif + +#ifdef __NR_getcpu +# define SYS_getcpu __NR_getcpu +#endif + +#ifdef __NR_getcwd +# define SYS_getcwd __NR_getcwd +#endif + +#ifdef __NR_getdents +# define SYS_getdents __NR_getdents +#endif + +#ifdef __NR_getdents64 +# define SYS_getdents64 __NR_getdents64 +#endif + +#ifdef __NR_getdomainname +# define SYS_getdomainname __NR_getdomainname +#endif + +#ifdef __NR_getdtablesize +# define SYS_getdtablesize __NR_getdtablesize +#endif + +#ifdef __NR_getegid +# define SYS_getegid __NR_getegid +#endif + +#ifdef __NR_getegid32 +# define SYS_getegid32 __NR_getegid32 +#endif + +#ifdef __NR_geteuid +# define SYS_geteuid __NR_geteuid +#endif + +#ifdef __NR_geteuid32 +# define SYS_geteuid32 __NR_geteuid32 +#endif + +#ifdef __NR_getgid +# define SYS_getgid __NR_getgid +#endif + +#ifdef __NR_getgid32 +# define SYS_getgid32 __NR_getgid32 +#endif + +#ifdef __NR_getgroups +# define SYS_getgroups __NR_getgroups +#endif + +#ifdef __NR_getgroups32 +# define SYS_getgroups32 __NR_getgroups32 +#endif + +#ifdef __NR_gethostname +# define SYS_gethostname __NR_gethostname +#endif + +#ifdef __NR_getitimer +# define SYS_getitimer __NR_getitimer +#endif + +#ifdef __NR_getpagesize +# define SYS_getpagesize __NR_getpagesize +#endif + +#ifdef __NR_getpeername +# define SYS_getpeername __NR_getpeername +#endif + +#ifdef __NR_getpgid +# define SYS_getpgid __NR_getpgid +#endif + +#ifdef __NR_getpgrp +# define SYS_getpgrp __NR_getpgrp +#endif + +#ifdef __NR_getpid +# define SYS_getpid __NR_getpid +#endif + +#ifdef __NR_getpmsg +# define SYS_getpmsg __NR_getpmsg +#endif + +#ifdef __NR_getppid +# define SYS_getppid __NR_getppid +#endif + +#ifdef __NR_getpriority +# define SYS_getpriority __NR_getpriority +#endif + +#ifdef __NR_getrandom +# define SYS_getrandom __NR_getrandom +#endif + +#ifdef __NR_getresgid +# define SYS_getresgid __NR_getresgid +#endif + +#ifdef __NR_getresgid32 +# define SYS_getresgid32 __NR_getresgid32 +#endif + +#ifdef __NR_getresuid +# define SYS_getresuid __NR_getresuid +#endif + +#ifdef __NR_getresuid32 +# define SYS_getresuid32 __NR_getresuid32 +#endif + +#ifdef __NR_getrlimit +# define SYS_getrlimit __NR_getrlimit +#endif + +#ifdef __NR_getrusage +# define SYS_getrusage __NR_getrusage +#endif + +#ifdef __NR_getsid +# define SYS_getsid __NR_getsid +#endif + +#ifdef __NR_getsockname +# define SYS_getsockname __NR_getsockname +#endif + +#ifdef __NR_getsockopt +# define SYS_getsockopt __NR_getsockopt +#endif + +#ifdef __NR_gettid +# define SYS_gettid __NR_gettid +#endif + +#ifdef __NR_gettimeofday +# define SYS_gettimeofday __NR_gettimeofday +#endif + +#ifdef __NR_getuid +# define SYS_getuid __NR_getuid +#endif + +#ifdef __NR_getuid32 +# define SYS_getuid32 __NR_getuid32 +#endif + +#ifdef __NR_getunwind +# define SYS_getunwind __NR_getunwind +#endif + +#ifdef __NR_getxattr +# define SYS_getxattr __NR_getxattr +#endif + +#ifdef __NR_getxgid +# define SYS_getxgid __NR_getxgid +#endif + +#ifdef __NR_getxpid +# define SYS_getxpid __NR_getxpid +#endif + +#ifdef __NR_getxuid +# define SYS_getxuid __NR_getxuid +#endif + +#ifdef __NR_gtty +# define SYS_gtty __NR_gtty +#endif + +#ifdef __NR_idle +# define SYS_idle __NR_idle +#endif + +#ifdef __NR_init_module +# define SYS_init_module __NR_init_module +#endif + +#ifdef __NR_inotify_add_watch +# define SYS_inotify_add_watch __NR_inotify_add_watch +#endif + +#ifdef __NR_inotify_init +# define SYS_inotify_init __NR_inotify_init +#endif + +#ifdef __NR_inotify_init1 +# define SYS_inotify_init1 __NR_inotify_init1 +#endif + +#ifdef __NR_inotify_rm_watch +# define SYS_inotify_rm_watch __NR_inotify_rm_watch +#endif + +#ifdef __NR_io_cancel +# define SYS_io_cancel __NR_io_cancel +#endif + +#ifdef __NR_io_destroy +# define SYS_io_destroy __NR_io_destroy +#endif + +#ifdef __NR_io_getevents +# define SYS_io_getevents __NR_io_getevents +#endif + +#ifdef __NR_io_pgetevents +# define SYS_io_pgetevents __NR_io_pgetevents +#endif + +#ifdef __NR_io_pgetevents_time64 +# define SYS_io_pgetevents_time64 __NR_io_pgetevents_time64 +#endif + +#ifdef __NR_io_setup +# define SYS_io_setup __NR_io_setup +#endif + +#ifdef __NR_io_submit +# define SYS_io_submit __NR_io_submit +#endif + +#ifdef __NR_io_uring_enter +# define SYS_io_uring_enter __NR_io_uring_enter +#endif + +#ifdef __NR_io_uring_register +# define SYS_io_uring_register __NR_io_uring_register +#endif + +#ifdef __NR_io_uring_setup +# define SYS_io_uring_setup __NR_io_uring_setup +#endif + +#ifdef __NR_ioctl +# define SYS_ioctl __NR_ioctl +#endif + +#ifdef __NR_ioperm +# define SYS_ioperm __NR_ioperm +#endif + +#ifdef __NR_iopl +# define SYS_iopl __NR_iopl +#endif + +#ifdef __NR_ioprio_get +# define SYS_ioprio_get __NR_ioprio_get +#endif + +#ifdef __NR_ioprio_set +# define SYS_ioprio_set __NR_ioprio_set +#endif + +#ifdef __NR_ipc +# define SYS_ipc __NR_ipc +#endif + +#ifdef __NR_kcmp +# define SYS_kcmp __NR_kcmp +#endif + +#ifdef __NR_kern_features +# define SYS_kern_features __NR_kern_features +#endif + +#ifdef __NR_kexec_file_load +# define SYS_kexec_file_load __NR_kexec_file_load +#endif + +#ifdef __NR_kexec_load +# define SYS_kexec_load __NR_kexec_load +#endif + +#ifdef __NR_keyctl +# define SYS_keyctl __NR_keyctl +#endif + +#ifdef __NR_kill +# define SYS_kill __NR_kill +#endif + +#ifdef __NR_landlock_add_rule +# define SYS_landlock_add_rule __NR_landlock_add_rule +#endif + +#ifdef __NR_landlock_create_ruleset +# define SYS_landlock_create_ruleset __NR_landlock_create_ruleset +#endif + +#ifdef __NR_landlock_restrict_self +# define SYS_landlock_restrict_self __NR_landlock_restrict_self +#endif + +#ifdef __NR_lchown +# define SYS_lchown __NR_lchown +#endif + +#ifdef __NR_lchown32 +# define SYS_lchown32 __NR_lchown32 +#endif + +#ifdef __NR_lgetxattr +# define SYS_lgetxattr __NR_lgetxattr +#endif + +#ifdef __NR_link +# define SYS_link __NR_link +#endif + +#ifdef __NR_linkat +# define SYS_linkat __NR_linkat +#endif + +#ifdef __NR_listen +# define SYS_listen __NR_listen +#endif + +#ifdef __NR_listmount +# define SYS_listmount __NR_listmount +#endif + +#ifdef __NR_listxattr +# define SYS_listxattr __NR_listxattr +#endif + +#ifdef __NR_llistxattr +# define SYS_llistxattr __NR_llistxattr +#endif + +#ifdef __NR_llseek +# define SYS_llseek __NR_llseek +#endif + +#ifdef __NR_lock +# define SYS_lock __NR_lock +#endif + +#ifdef __NR_lookup_dcookie +# define SYS_lookup_dcookie __NR_lookup_dcookie +#endif + +#ifdef __NR_lremovexattr +# define SYS_lremovexattr __NR_lremovexattr +#endif + +#ifdef __NR_lseek +# define SYS_lseek __NR_lseek +#endif + +#ifdef __NR_lsetxattr +# define SYS_lsetxattr __NR_lsetxattr +#endif + +#ifdef __NR_lsm_get_self_attr +# define SYS_lsm_get_self_attr __NR_lsm_get_self_attr +#endif + +#ifdef __NR_lsm_list_modules +# define SYS_lsm_list_modules __NR_lsm_list_modules +#endif + +#ifdef __NR_lsm_set_self_attr +# define SYS_lsm_set_self_attr __NR_lsm_set_self_attr +#endif + +#ifdef __NR_lstat +# define SYS_lstat __NR_lstat +#endif + +#ifdef __NR_lstat64 +# define SYS_lstat64 __NR_lstat64 +#endif + +#ifdef __NR_madvise +# define SYS_madvise __NR_madvise +#endif + +#ifdef __NR_map_shadow_stack +# define SYS_map_shadow_stack __NR_map_shadow_stack +#endif + +#ifdef __NR_mbind +# define SYS_mbind __NR_mbind +#endif + +#ifdef __NR_membarrier +# define SYS_membarrier __NR_membarrier +#endif + +#ifdef __NR_memfd_create +# define SYS_memfd_create __NR_memfd_create +#endif + +#ifdef __NR_memfd_secret +# define SYS_memfd_secret __NR_memfd_secret +#endif + +#ifdef __NR_memory_ordering +# define SYS_memory_ordering __NR_memory_ordering +#endif + +#ifdef __NR_migrate_pages +# define SYS_migrate_pages __NR_migrate_pages +#endif + +#ifdef __NR_mincore +# define SYS_mincore __NR_mincore +#endif + +#ifdef __NR_mkdir +# define SYS_mkdir __NR_mkdir +#endif + +#ifdef __NR_mkdirat +# define SYS_mkdirat __NR_mkdirat +#endif + +#ifdef __NR_mknod +# define SYS_mknod __NR_mknod +#endif + +#ifdef __NR_mknodat +# define SYS_mknodat __NR_mknodat +#endif + +#ifdef __NR_mlock +# define SYS_mlock __NR_mlock +#endif + +#ifdef __NR_mlock2 +# define SYS_mlock2 __NR_mlock2 +#endif + +#ifdef __NR_mlockall +# define SYS_mlockall __NR_mlockall +#endif + +#ifdef __NR_mmap +# define SYS_mmap __NR_mmap +#endif + +#ifdef __NR_mmap2 +# define SYS_mmap2 __NR_mmap2 +#endif + +#ifdef __NR_modify_ldt +# define SYS_modify_ldt __NR_modify_ldt +#endif + +#ifdef __NR_mount +# define SYS_mount __NR_mount +#endif + +#ifdef __NR_mount_setattr +# define SYS_mount_setattr __NR_mount_setattr +#endif + +#ifdef __NR_move_mount +# define SYS_move_mount __NR_move_mount +#endif + +#ifdef __NR_move_pages +# define SYS_move_pages __NR_move_pages +#endif + +#ifdef __NR_mprotect +# define SYS_mprotect __NR_mprotect +#endif + +#ifdef __NR_mpx +# define SYS_mpx __NR_mpx +#endif + +#ifdef __NR_mq_getsetattr +# define SYS_mq_getsetattr __NR_mq_getsetattr +#endif + +#ifdef __NR_mq_notify +# define SYS_mq_notify __NR_mq_notify +#endif + +#ifdef __NR_mq_open +# define SYS_mq_open __NR_mq_open +#endif + +#ifdef __NR_mq_timedreceive +# define SYS_mq_timedreceive __NR_mq_timedreceive +#endif + +#ifdef __NR_mq_timedreceive_time64 +# define SYS_mq_timedreceive_time64 __NR_mq_timedreceive_time64 +#endif + +#ifdef __NR_mq_timedsend +# define SYS_mq_timedsend __NR_mq_timedsend +#endif + +#ifdef __NR_mq_timedsend_time64 +# define SYS_mq_timedsend_time64 __NR_mq_timedsend_time64 +#endif + +#ifdef __NR_mq_unlink +# define SYS_mq_unlink __NR_mq_unlink +#endif + +#ifdef __NR_mremap +# define SYS_mremap __NR_mremap +#endif + +#ifdef __NR_mseal +# define SYS_mseal __NR_mseal +#endif + +#ifdef __NR_msgctl +# define SYS_msgctl __NR_msgctl +#endif + +#ifdef __NR_msgget +# define SYS_msgget __NR_msgget +#endif + +#ifdef __NR_msgrcv +# define SYS_msgrcv __NR_msgrcv +#endif + +#ifdef __NR_msgsnd +# define SYS_msgsnd __NR_msgsnd +#endif + +#ifdef __NR_msync +# define SYS_msync __NR_msync +#endif + +#ifdef __NR_multiplexer +# define SYS_multiplexer __NR_multiplexer +#endif + +#ifdef __NR_munlock +# define SYS_munlock __NR_munlock +#endif + +#ifdef __NR_munlockall +# define SYS_munlockall __NR_munlockall +#endif + +#ifdef __NR_munmap +# define SYS_munmap __NR_munmap +#endif + +#ifdef __NR_name_to_handle_at +# define SYS_name_to_handle_at __NR_name_to_handle_at +#endif + +#ifdef __NR_nanosleep +# define SYS_nanosleep __NR_nanosleep +#endif + +#ifdef __NR_newfstatat +# define SYS_newfstatat __NR_newfstatat +#endif + +#ifdef __NR_nfsservctl +# define SYS_nfsservctl __NR_nfsservctl +#endif + +#ifdef __NR_ni_syscall +# define SYS_ni_syscall __NR_ni_syscall +#endif + +#ifdef __NR_nice +# define SYS_nice __NR_nice +#endif + +#ifdef __NR_old_adjtimex +# define SYS_old_adjtimex __NR_old_adjtimex +#endif + +#ifdef __NR_old_getpagesize +# define SYS_old_getpagesize __NR_old_getpagesize +#endif + +#ifdef __NR_oldfstat +# define SYS_oldfstat __NR_oldfstat +#endif + +#ifdef __NR_oldlstat +# define SYS_oldlstat __NR_oldlstat +#endif + +#ifdef __NR_oldolduname +# define SYS_oldolduname __NR_oldolduname +#endif + +#ifdef __NR_oldstat +# define SYS_oldstat __NR_oldstat +#endif + +#ifdef __NR_oldumount +# define SYS_oldumount __NR_oldumount +#endif + +#ifdef __NR_olduname +# define SYS_olduname __NR_olduname +#endif + +#ifdef __NR_open +# define SYS_open __NR_open +#endif + +#ifdef __NR_open_by_handle_at +# define SYS_open_by_handle_at __NR_open_by_handle_at +#endif + +#ifdef __NR_open_tree +# define SYS_open_tree __NR_open_tree +#endif + +#ifdef __NR_openat +# define SYS_openat __NR_openat +#endif + +#ifdef __NR_openat2 +# define SYS_openat2 __NR_openat2 +#endif + +#ifdef __NR_or1k_atomic +# define SYS_or1k_atomic __NR_or1k_atomic +#endif + +#ifdef __NR_osf_adjtime +# define SYS_osf_adjtime __NR_osf_adjtime +#endif + +#ifdef __NR_osf_afs_syscall +# define SYS_osf_afs_syscall __NR_osf_afs_syscall +#endif + +#ifdef __NR_osf_alt_plock +# define SYS_osf_alt_plock __NR_osf_alt_plock +#endif + +#ifdef __NR_osf_alt_setsid +# define SYS_osf_alt_setsid __NR_osf_alt_setsid +#endif + +#ifdef __NR_osf_alt_sigpending +# define SYS_osf_alt_sigpending __NR_osf_alt_sigpending +#endif + +#ifdef __NR_osf_asynch_daemon +# define SYS_osf_asynch_daemon __NR_osf_asynch_daemon +#endif + +#ifdef __NR_osf_audcntl +# define SYS_osf_audcntl __NR_osf_audcntl +#endif + +#ifdef __NR_osf_audgen +# define SYS_osf_audgen __NR_osf_audgen +#endif + +#ifdef __NR_osf_chflags +# define SYS_osf_chflags __NR_osf_chflags +#endif + +#ifdef __NR_osf_execve +# define SYS_osf_execve __NR_osf_execve +#endif + +#ifdef __NR_osf_exportfs +# define SYS_osf_exportfs __NR_osf_exportfs +#endif + +#ifdef __NR_osf_fchflags +# define SYS_osf_fchflags __NR_osf_fchflags +#endif + +#ifdef __NR_osf_fdatasync +# define SYS_osf_fdatasync __NR_osf_fdatasync +#endif + +#ifdef __NR_osf_fpathconf +# define SYS_osf_fpathconf __NR_osf_fpathconf +#endif + +#ifdef __NR_osf_fstat +# define SYS_osf_fstat __NR_osf_fstat +#endif + +#ifdef __NR_osf_fstatfs +# define SYS_osf_fstatfs __NR_osf_fstatfs +#endif + +#ifdef __NR_osf_fstatfs64 +# define SYS_osf_fstatfs64 __NR_osf_fstatfs64 +#endif + +#ifdef __NR_osf_fuser +# define SYS_osf_fuser __NR_osf_fuser +#endif + +#ifdef __NR_osf_getaddressconf +# define SYS_osf_getaddressconf __NR_osf_getaddressconf +#endif + +#ifdef __NR_osf_getdirentries +# define SYS_osf_getdirentries __NR_osf_getdirentries +#endif + +#ifdef __NR_osf_getdomainname +# define SYS_osf_getdomainname __NR_osf_getdomainname +#endif + +#ifdef __NR_osf_getfh +# define SYS_osf_getfh __NR_osf_getfh +#endif + +#ifdef __NR_osf_getfsstat +# define SYS_osf_getfsstat __NR_osf_getfsstat +#endif + +#ifdef __NR_osf_gethostid +# define SYS_osf_gethostid __NR_osf_gethostid +#endif + +#ifdef __NR_osf_getitimer +# define SYS_osf_getitimer __NR_osf_getitimer +#endif + +#ifdef __NR_osf_getlogin +# define SYS_osf_getlogin __NR_osf_getlogin +#endif + +#ifdef __NR_osf_getmnt +# define SYS_osf_getmnt __NR_osf_getmnt +#endif + +#ifdef __NR_osf_getrusage +# define SYS_osf_getrusage __NR_osf_getrusage +#endif + +#ifdef __NR_osf_getsysinfo +# define SYS_osf_getsysinfo __NR_osf_getsysinfo +#endif + +#ifdef __NR_osf_gettimeofday +# define SYS_osf_gettimeofday __NR_osf_gettimeofday +#endif + +#ifdef __NR_osf_kloadcall +# define SYS_osf_kloadcall __NR_osf_kloadcall +#endif + +#ifdef __NR_osf_kmodcall +# define SYS_osf_kmodcall __NR_osf_kmodcall +#endif + +#ifdef __NR_osf_lstat +# define SYS_osf_lstat __NR_osf_lstat +#endif + +#ifdef __NR_osf_memcntl +# define SYS_osf_memcntl __NR_osf_memcntl +#endif + +#ifdef __NR_osf_mincore +# define SYS_osf_mincore __NR_osf_mincore +#endif + +#ifdef __NR_osf_mount +# define SYS_osf_mount __NR_osf_mount +#endif + +#ifdef __NR_osf_mremap +# define SYS_osf_mremap __NR_osf_mremap +#endif + +#ifdef __NR_osf_msfs_syscall +# define SYS_osf_msfs_syscall __NR_osf_msfs_syscall +#endif + +#ifdef __NR_osf_msleep +# define SYS_osf_msleep __NR_osf_msleep +#endif + +#ifdef __NR_osf_mvalid +# define SYS_osf_mvalid __NR_osf_mvalid +#endif + +#ifdef __NR_osf_mwakeup +# define SYS_osf_mwakeup __NR_osf_mwakeup +#endif + +#ifdef __NR_osf_naccept +# define SYS_osf_naccept __NR_osf_naccept +#endif + +#ifdef __NR_osf_nfssvc +# define SYS_osf_nfssvc __NR_osf_nfssvc +#endif + +#ifdef __NR_osf_ngetpeername +# define SYS_osf_ngetpeername __NR_osf_ngetpeername +#endif + +#ifdef __NR_osf_ngetsockname +# define SYS_osf_ngetsockname __NR_osf_ngetsockname +#endif + +#ifdef __NR_osf_nrecvfrom +# define SYS_osf_nrecvfrom __NR_osf_nrecvfrom +#endif + +#ifdef __NR_osf_nrecvmsg +# define SYS_osf_nrecvmsg __NR_osf_nrecvmsg +#endif + +#ifdef __NR_osf_nsendmsg +# define SYS_osf_nsendmsg __NR_osf_nsendmsg +#endif + +#ifdef __NR_osf_ntp_adjtime +# define SYS_osf_ntp_adjtime __NR_osf_ntp_adjtime +#endif + +#ifdef __NR_osf_ntp_gettime +# define SYS_osf_ntp_gettime __NR_osf_ntp_gettime +#endif + +#ifdef __NR_osf_old_creat +# define SYS_osf_old_creat __NR_osf_old_creat +#endif + +#ifdef __NR_osf_old_fstat +# define SYS_osf_old_fstat __NR_osf_old_fstat +#endif + +#ifdef __NR_osf_old_getpgrp +# define SYS_osf_old_getpgrp __NR_osf_old_getpgrp +#endif + +#ifdef __NR_osf_old_killpg +# define SYS_osf_old_killpg __NR_osf_old_killpg +#endif + +#ifdef __NR_osf_old_lstat +# define SYS_osf_old_lstat __NR_osf_old_lstat +#endif + +#ifdef __NR_osf_old_open +# define SYS_osf_old_open __NR_osf_old_open +#endif + +#ifdef __NR_osf_old_sigaction +# define SYS_osf_old_sigaction __NR_osf_old_sigaction +#endif + +#ifdef __NR_osf_old_sigblock +# define SYS_osf_old_sigblock __NR_osf_old_sigblock +#endif + +#ifdef __NR_osf_old_sigreturn +# define SYS_osf_old_sigreturn __NR_osf_old_sigreturn +#endif + +#ifdef __NR_osf_old_sigsetmask +# define SYS_osf_old_sigsetmask __NR_osf_old_sigsetmask +#endif + +#ifdef __NR_osf_old_sigvec +# define SYS_osf_old_sigvec __NR_osf_old_sigvec +#endif + +#ifdef __NR_osf_old_stat +# define SYS_osf_old_stat __NR_osf_old_stat +#endif + +#ifdef __NR_osf_old_vadvise +# define SYS_osf_old_vadvise __NR_osf_old_vadvise +#endif + +#ifdef __NR_osf_old_vtrace +# define SYS_osf_old_vtrace __NR_osf_old_vtrace +#endif + +#ifdef __NR_osf_old_wait +# define SYS_osf_old_wait __NR_osf_old_wait +#endif + +#ifdef __NR_osf_oldquota +# define SYS_osf_oldquota __NR_osf_oldquota +#endif + +#ifdef __NR_osf_pathconf +# define SYS_osf_pathconf __NR_osf_pathconf +#endif + +#ifdef __NR_osf_pid_block +# define SYS_osf_pid_block __NR_osf_pid_block +#endif + +#ifdef __NR_osf_pid_unblock +# define SYS_osf_pid_unblock __NR_osf_pid_unblock +#endif + +#ifdef __NR_osf_plock +# define SYS_osf_plock __NR_osf_plock +#endif + +#ifdef __NR_osf_priocntlset +# define SYS_osf_priocntlset __NR_osf_priocntlset +#endif + +#ifdef __NR_osf_profil +# define SYS_osf_profil __NR_osf_profil +#endif + +#ifdef __NR_osf_proplist_syscall +# define SYS_osf_proplist_syscall __NR_osf_proplist_syscall +#endif + +#ifdef __NR_osf_reboot +# define SYS_osf_reboot __NR_osf_reboot +#endif + +#ifdef __NR_osf_revoke +# define SYS_osf_revoke __NR_osf_revoke +#endif + +#ifdef __NR_osf_sbrk +# define SYS_osf_sbrk __NR_osf_sbrk +#endif + +#ifdef __NR_osf_security +# define SYS_osf_security __NR_osf_security +#endif + +#ifdef __NR_osf_select +# define SYS_osf_select __NR_osf_select +#endif + +#ifdef __NR_osf_set_program_attributes +# define SYS_osf_set_program_attributes __NR_osf_set_program_attributes +#endif + +#ifdef __NR_osf_set_speculative +# define SYS_osf_set_speculative __NR_osf_set_speculative +#endif + +#ifdef __NR_osf_sethostid +# define SYS_osf_sethostid __NR_osf_sethostid +#endif + +#ifdef __NR_osf_setitimer +# define SYS_osf_setitimer __NR_osf_setitimer +#endif + +#ifdef __NR_osf_setlogin +# define SYS_osf_setlogin __NR_osf_setlogin +#endif + +#ifdef __NR_osf_setsysinfo +# define SYS_osf_setsysinfo __NR_osf_setsysinfo +#endif + +#ifdef __NR_osf_settimeofday +# define SYS_osf_settimeofday __NR_osf_settimeofday +#endif + +#ifdef __NR_osf_shmat +# define SYS_osf_shmat __NR_osf_shmat +#endif + +#ifdef __NR_osf_signal +# define SYS_osf_signal __NR_osf_signal +#endif + +#ifdef __NR_osf_sigprocmask +# define SYS_osf_sigprocmask __NR_osf_sigprocmask +#endif + +#ifdef __NR_osf_sigsendset +# define SYS_osf_sigsendset __NR_osf_sigsendset +#endif + +#ifdef __NR_osf_sigstack +# define SYS_osf_sigstack __NR_osf_sigstack +#endif + +#ifdef __NR_osf_sigwaitprim +# define SYS_osf_sigwaitprim __NR_osf_sigwaitprim +#endif + +#ifdef __NR_osf_sstk +# define SYS_osf_sstk __NR_osf_sstk +#endif + +#ifdef __NR_osf_stat +# define SYS_osf_stat __NR_osf_stat +#endif + +#ifdef __NR_osf_statfs +# define SYS_osf_statfs __NR_osf_statfs +#endif + +#ifdef __NR_osf_statfs64 +# define SYS_osf_statfs64 __NR_osf_statfs64 +#endif + +#ifdef __NR_osf_subsys_info +# define SYS_osf_subsys_info __NR_osf_subsys_info +#endif + +#ifdef __NR_osf_swapctl +# define SYS_osf_swapctl __NR_osf_swapctl +#endif + +#ifdef __NR_osf_swapon +# define SYS_osf_swapon __NR_osf_swapon +#endif + +#ifdef __NR_osf_syscall +# define SYS_osf_syscall __NR_osf_syscall +#endif + +#ifdef __NR_osf_sysinfo +# define SYS_osf_sysinfo __NR_osf_sysinfo +#endif + +#ifdef __NR_osf_table +# define SYS_osf_table __NR_osf_table +#endif + +#ifdef __NR_osf_uadmin +# define SYS_osf_uadmin __NR_osf_uadmin +#endif + +#ifdef __NR_osf_usleep_thread +# define SYS_osf_usleep_thread __NR_osf_usleep_thread +#endif + +#ifdef __NR_osf_uswitch +# define SYS_osf_uswitch __NR_osf_uswitch +#endif + +#ifdef __NR_osf_utc_adjtime +# define SYS_osf_utc_adjtime __NR_osf_utc_adjtime +#endif + +#ifdef __NR_osf_utc_gettime +# define SYS_osf_utc_gettime __NR_osf_utc_gettime +#endif + +#ifdef __NR_osf_utimes +# define SYS_osf_utimes __NR_osf_utimes +#endif + +#ifdef __NR_osf_utsname +# define SYS_osf_utsname __NR_osf_utsname +#endif + +#ifdef __NR_osf_wait4 +# define SYS_osf_wait4 __NR_osf_wait4 +#endif + +#ifdef __NR_osf_waitid +# define SYS_osf_waitid __NR_osf_waitid +#endif + +#ifdef __NR_pause +# define SYS_pause __NR_pause +#endif + +#ifdef __NR_pciconfig_iobase +# define SYS_pciconfig_iobase __NR_pciconfig_iobase +#endif + +#ifdef __NR_pciconfig_read +# define SYS_pciconfig_read __NR_pciconfig_read +#endif + +#ifdef __NR_pciconfig_write +# define SYS_pciconfig_write __NR_pciconfig_write +#endif + +#ifdef __NR_perf_event_open +# define SYS_perf_event_open __NR_perf_event_open +#endif + +#ifdef __NR_perfctr +# define SYS_perfctr __NR_perfctr +#endif + +#ifdef __NR_perfmonctl +# define SYS_perfmonctl __NR_perfmonctl +#endif + +#ifdef __NR_personality +# define SYS_personality __NR_personality +#endif + +#ifdef __NR_pidfd_getfd +# define SYS_pidfd_getfd __NR_pidfd_getfd +#endif + +#ifdef __NR_pidfd_open +# define SYS_pidfd_open __NR_pidfd_open +#endif + +#ifdef __NR_pidfd_send_signal +# define SYS_pidfd_send_signal __NR_pidfd_send_signal +#endif + +#ifdef __NR_pipe +# define SYS_pipe __NR_pipe +#endif + +#ifdef __NR_pipe2 +# define SYS_pipe2 __NR_pipe2 +#endif + +#ifdef __NR_pivot_root +# define SYS_pivot_root __NR_pivot_root +#endif + +#ifdef __NR_pkey_alloc +# define SYS_pkey_alloc __NR_pkey_alloc +#endif + +#ifdef __NR_pkey_free +# define SYS_pkey_free __NR_pkey_free +#endif + +#ifdef __NR_pkey_mprotect +# define SYS_pkey_mprotect __NR_pkey_mprotect +#endif + +#ifdef __NR_poll +# define SYS_poll __NR_poll +#endif + +#ifdef __NR_ppoll +# define SYS_ppoll __NR_ppoll +#endif + +#ifdef __NR_ppoll_time64 +# define SYS_ppoll_time64 __NR_ppoll_time64 +#endif + +#ifdef __NR_prctl +# define SYS_prctl __NR_prctl +#endif + +#ifdef __NR_pread64 +# define SYS_pread64 __NR_pread64 +#endif + +#ifdef __NR_preadv +# define SYS_preadv __NR_preadv +#endif + +#ifdef __NR_preadv2 +# define SYS_preadv2 __NR_preadv2 +#endif + +#ifdef __NR_prlimit64 +# define SYS_prlimit64 __NR_prlimit64 +#endif + +#ifdef __NR_process_madvise +# define SYS_process_madvise __NR_process_madvise +#endif + +#ifdef __NR_process_mrelease +# define SYS_process_mrelease __NR_process_mrelease +#endif + +#ifdef __NR_process_vm_readv +# define SYS_process_vm_readv __NR_process_vm_readv +#endif + +#ifdef __NR_process_vm_writev +# define SYS_process_vm_writev __NR_process_vm_writev +#endif + +#ifdef __NR_prof +# define SYS_prof __NR_prof +#endif + +#ifdef __NR_profil +# define SYS_profil __NR_profil +#endif + +#ifdef __NR_pselect6 +# define SYS_pselect6 __NR_pselect6 +#endif + +#ifdef __NR_pselect6_time64 +# define SYS_pselect6_time64 __NR_pselect6_time64 +#endif + +#ifdef __NR_ptrace +# define SYS_ptrace __NR_ptrace +#endif + +#ifdef __NR_putpmsg +# define SYS_putpmsg __NR_putpmsg +#endif + +#ifdef __NR_pwrite64 +# define SYS_pwrite64 __NR_pwrite64 +#endif + +#ifdef __NR_pwritev +# define SYS_pwritev __NR_pwritev +#endif + +#ifdef __NR_pwritev2 +# define SYS_pwritev2 __NR_pwritev2 +#endif + +#ifdef __NR_query_module +# define SYS_query_module __NR_query_module +#endif + +#ifdef __NR_quotactl +# define SYS_quotactl __NR_quotactl +#endif + +#ifdef __NR_quotactl_fd +# define SYS_quotactl_fd __NR_quotactl_fd +#endif + +#ifdef __NR_read +# define SYS_read __NR_read +#endif + +#ifdef __NR_readahead +# define SYS_readahead __NR_readahead +#endif + +#ifdef __NR_readdir +# define SYS_readdir __NR_readdir +#endif + +#ifdef __NR_readlink +# define SYS_readlink __NR_readlink +#endif + +#ifdef __NR_readlinkat +# define SYS_readlinkat __NR_readlinkat +#endif + +#ifdef __NR_readv +# define SYS_readv __NR_readv +#endif + +#ifdef __NR_reboot +# define SYS_reboot __NR_reboot +#endif + +#ifdef __NR_recv +# define SYS_recv __NR_recv +#endif + +#ifdef __NR_recvfrom +# define SYS_recvfrom __NR_recvfrom +#endif + +#ifdef __NR_recvmmsg +# define SYS_recvmmsg __NR_recvmmsg +#endif + +#ifdef __NR_recvmmsg_time64 +# define SYS_recvmmsg_time64 __NR_recvmmsg_time64 +#endif + +#ifdef __NR_recvmsg +# define SYS_recvmsg __NR_recvmsg +#endif + +#ifdef __NR_remap_file_pages +# define SYS_remap_file_pages __NR_remap_file_pages +#endif + +#ifdef __NR_removexattr +# define SYS_removexattr __NR_removexattr +#endif + +#ifdef __NR_rename +# define SYS_rename __NR_rename +#endif + +#ifdef __NR_renameat +# define SYS_renameat __NR_renameat +#endif + +#ifdef __NR_renameat2 +# define SYS_renameat2 __NR_renameat2 +#endif + +#ifdef __NR_request_key +# define SYS_request_key __NR_request_key +#endif + +#ifdef __NR_restart_syscall +# define SYS_restart_syscall __NR_restart_syscall +#endif + +#ifdef __NR_riscv_flush_icache +# define SYS_riscv_flush_icache __NR_riscv_flush_icache +#endif + +#ifdef __NR_riscv_hwprobe +# define SYS_riscv_hwprobe __NR_riscv_hwprobe +#endif + +#ifdef __NR_rmdir +# define SYS_rmdir __NR_rmdir +#endif + +#ifdef __NR_rseq +# define SYS_rseq __NR_rseq +#endif + +#ifdef __NR_rt_sigaction +# define SYS_rt_sigaction __NR_rt_sigaction +#endif + +#ifdef __NR_rt_sigpending +# define SYS_rt_sigpending __NR_rt_sigpending +#endif + +#ifdef __NR_rt_sigprocmask +# define SYS_rt_sigprocmask __NR_rt_sigprocmask +#endif + +#ifdef __NR_rt_sigqueueinfo +# define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo +#endif + +#ifdef __NR_rt_sigreturn +# define SYS_rt_sigreturn __NR_rt_sigreturn +#endif + +#ifdef __NR_rt_sigsuspend +# define SYS_rt_sigsuspend __NR_rt_sigsuspend +#endif + +#ifdef __NR_rt_sigtimedwait +# define SYS_rt_sigtimedwait __NR_rt_sigtimedwait +#endif + +#ifdef __NR_rt_sigtimedwait_time64 +# define SYS_rt_sigtimedwait_time64 __NR_rt_sigtimedwait_time64 +#endif + +#ifdef __NR_rt_tgsigqueueinfo +# define SYS_rt_tgsigqueueinfo __NR_rt_tgsigqueueinfo +#endif + +#ifdef __NR_rtas +# define SYS_rtas __NR_rtas +#endif + +#ifdef __NR_s390_guarded_storage +# define SYS_s390_guarded_storage __NR_s390_guarded_storage +#endif + +#ifdef __NR_s390_pci_mmio_read +# define SYS_s390_pci_mmio_read __NR_s390_pci_mmio_read +#endif + +#ifdef __NR_s390_pci_mmio_write +# define SYS_s390_pci_mmio_write __NR_s390_pci_mmio_write +#endif + +#ifdef __NR_s390_runtime_instr +# define SYS_s390_runtime_instr __NR_s390_runtime_instr +#endif + +#ifdef __NR_s390_sthyi +# define SYS_s390_sthyi __NR_s390_sthyi +#endif + +#ifdef __NR_sched_get_affinity +# define SYS_sched_get_affinity __NR_sched_get_affinity +#endif + +#ifdef __NR_sched_get_priority_max +# define SYS_sched_get_priority_max __NR_sched_get_priority_max +#endif + +#ifdef __NR_sched_get_priority_min +# define SYS_sched_get_priority_min __NR_sched_get_priority_min +#endif + +#ifdef __NR_sched_getaffinity +# define SYS_sched_getaffinity __NR_sched_getaffinity +#endif + +#ifdef __NR_sched_getattr +# define SYS_sched_getattr __NR_sched_getattr +#endif + +#ifdef __NR_sched_getparam +# define SYS_sched_getparam __NR_sched_getparam +#endif + +#ifdef __NR_sched_getscheduler +# define SYS_sched_getscheduler __NR_sched_getscheduler +#endif + +#ifdef __NR_sched_rr_get_interval +# define SYS_sched_rr_get_interval __NR_sched_rr_get_interval +#endif + +#ifdef __NR_sched_rr_get_interval_time64 +# define SYS_sched_rr_get_interval_time64 __NR_sched_rr_get_interval_time64 +#endif + +#ifdef __NR_sched_set_affinity +# define SYS_sched_set_affinity __NR_sched_set_affinity +#endif + +#ifdef __NR_sched_setaffinity +# define SYS_sched_setaffinity __NR_sched_setaffinity +#endif + +#ifdef __NR_sched_setattr +# define SYS_sched_setattr __NR_sched_setattr +#endif + +#ifdef __NR_sched_setparam +# define SYS_sched_setparam __NR_sched_setparam +#endif + +#ifdef __NR_sched_setscheduler +# define SYS_sched_setscheduler __NR_sched_setscheduler +#endif + +#ifdef __NR_sched_yield +# define SYS_sched_yield __NR_sched_yield +#endif + +#ifdef __NR_seccomp +# define SYS_seccomp __NR_seccomp +#endif + +#ifdef __NR_security +# define SYS_security __NR_security +#endif + +#ifdef __NR_select +# define SYS_select __NR_select +#endif + +#ifdef __NR_semctl +# define SYS_semctl __NR_semctl +#endif + +#ifdef __NR_semget +# define SYS_semget __NR_semget +#endif + +#ifdef __NR_semop +# define SYS_semop __NR_semop +#endif + +#ifdef __NR_semtimedop +# define SYS_semtimedop __NR_semtimedop +#endif + +#ifdef __NR_semtimedop_time64 +# define SYS_semtimedop_time64 __NR_semtimedop_time64 +#endif + +#ifdef __NR_send +# define SYS_send __NR_send +#endif + +#ifdef __NR_sendfile +# define SYS_sendfile __NR_sendfile +#endif + +#ifdef __NR_sendfile64 +# define SYS_sendfile64 __NR_sendfile64 +#endif + +#ifdef __NR_sendmmsg +# define SYS_sendmmsg __NR_sendmmsg +#endif + +#ifdef __NR_sendmsg +# define SYS_sendmsg __NR_sendmsg +#endif + +#ifdef __NR_sendto +# define SYS_sendto __NR_sendto +#endif + +#ifdef __NR_set_mempolicy +# define SYS_set_mempolicy __NR_set_mempolicy +#endif + +#ifdef __NR_set_mempolicy_home_node +# define SYS_set_mempolicy_home_node __NR_set_mempolicy_home_node +#endif + +#ifdef __NR_set_robust_list +# define SYS_set_robust_list __NR_set_robust_list +#endif + +#ifdef __NR_set_thread_area +# define SYS_set_thread_area __NR_set_thread_area +#endif + +#ifdef __NR_set_tid_address +# define SYS_set_tid_address __NR_set_tid_address +#endif + +#ifdef __NR_set_tls +# define SYS_set_tls __NR_set_tls +#endif + +#ifdef __NR_setdomainname +# define SYS_setdomainname __NR_setdomainname +#endif + +#ifdef __NR_setfsgid +# define SYS_setfsgid __NR_setfsgid +#endif + +#ifdef __NR_setfsgid32 +# define SYS_setfsgid32 __NR_setfsgid32 +#endif + +#ifdef __NR_setfsuid +# define SYS_setfsuid __NR_setfsuid +#endif + +#ifdef __NR_setfsuid32 +# define SYS_setfsuid32 __NR_setfsuid32 +#endif + +#ifdef __NR_setgid +# define SYS_setgid __NR_setgid +#endif + +#ifdef __NR_setgid32 +# define SYS_setgid32 __NR_setgid32 +#endif + +#ifdef __NR_setgroups +# define SYS_setgroups __NR_setgroups +#endif + +#ifdef __NR_setgroups32 +# define SYS_setgroups32 __NR_setgroups32 +#endif + +#ifdef __NR_sethae +# define SYS_sethae __NR_sethae +#endif + +#ifdef __NR_sethostname +# define SYS_sethostname __NR_sethostname +#endif + +#ifdef __NR_setitimer +# define SYS_setitimer __NR_setitimer +#endif + +#ifdef __NR_setns +# define SYS_setns __NR_setns +#endif + +#ifdef __NR_setpgid +# define SYS_setpgid __NR_setpgid +#endif + +#ifdef __NR_setpgrp +# define SYS_setpgrp __NR_setpgrp +#endif + +#ifdef __NR_setpriority +# define SYS_setpriority __NR_setpriority +#endif + +#ifdef __NR_setregid +# define SYS_setregid __NR_setregid +#endif + +#ifdef __NR_setregid32 +# define SYS_setregid32 __NR_setregid32 +#endif + +#ifdef __NR_setresgid +# define SYS_setresgid __NR_setresgid +#endif + +#ifdef __NR_setresgid32 +# define SYS_setresgid32 __NR_setresgid32 +#endif + +#ifdef __NR_setresuid +# define SYS_setresuid __NR_setresuid +#endif + +#ifdef __NR_setresuid32 +# define SYS_setresuid32 __NR_setresuid32 +#endif + +#ifdef __NR_setreuid +# define SYS_setreuid __NR_setreuid +#endif + +#ifdef __NR_setreuid32 +# define SYS_setreuid32 __NR_setreuid32 +#endif + +#ifdef __NR_setrlimit +# define SYS_setrlimit __NR_setrlimit +#endif + +#ifdef __NR_setsid +# define SYS_setsid __NR_setsid +#endif + +#ifdef __NR_setsockopt +# define SYS_setsockopt __NR_setsockopt +#endif + +#ifdef __NR_settimeofday +# define SYS_settimeofday __NR_settimeofday +#endif + +#ifdef __NR_setuid +# define SYS_setuid __NR_setuid +#endif + +#ifdef __NR_setuid32 +# define SYS_setuid32 __NR_setuid32 +#endif + +#ifdef __NR_setxattr +# define SYS_setxattr __NR_setxattr +#endif + +#ifdef __NR_sgetmask +# define SYS_sgetmask __NR_sgetmask +#endif + +#ifdef __NR_shmat +# define SYS_shmat __NR_shmat +#endif + +#ifdef __NR_shmctl +# define SYS_shmctl __NR_shmctl +#endif + +#ifdef __NR_shmdt +# define SYS_shmdt __NR_shmdt +#endif + +#ifdef __NR_shmget +# define SYS_shmget __NR_shmget +#endif + +#ifdef __NR_shutdown +# define SYS_shutdown __NR_shutdown +#endif + +#ifdef __NR_sigaction +# define SYS_sigaction __NR_sigaction +#endif + +#ifdef __NR_sigaltstack +# define SYS_sigaltstack __NR_sigaltstack +#endif + +#ifdef __NR_signal +# define SYS_signal __NR_signal +#endif + +#ifdef __NR_signalfd +# define SYS_signalfd __NR_signalfd +#endif + +#ifdef __NR_signalfd4 +# define SYS_signalfd4 __NR_signalfd4 +#endif + +#ifdef __NR_sigpending +# define SYS_sigpending __NR_sigpending +#endif + +#ifdef __NR_sigprocmask +# define SYS_sigprocmask __NR_sigprocmask +#endif + +#ifdef __NR_sigreturn +# define SYS_sigreturn __NR_sigreturn +#endif + +#ifdef __NR_sigsuspend +# define SYS_sigsuspend __NR_sigsuspend +#endif + +#ifdef __NR_socket +# define SYS_socket __NR_socket +#endif + +#ifdef __NR_socketcall +# define SYS_socketcall __NR_socketcall +#endif + +#ifdef __NR_socketpair +# define SYS_socketpair __NR_socketpair +#endif + +#ifdef __NR_splice +# define SYS_splice __NR_splice +#endif + +#ifdef __NR_spu_create +# define SYS_spu_create __NR_spu_create +#endif + +#ifdef __NR_spu_run +# define SYS_spu_run __NR_spu_run +#endif + +#ifdef __NR_ssetmask +# define SYS_ssetmask __NR_ssetmask +#endif + +#ifdef __NR_stat +# define SYS_stat __NR_stat +#endif + +#ifdef __NR_stat64 +# define SYS_stat64 __NR_stat64 +#endif + +#ifdef __NR_statfs +# define SYS_statfs __NR_statfs +#endif + +#ifdef __NR_statfs64 +# define SYS_statfs64 __NR_statfs64 +#endif + +#ifdef __NR_statmount +# define SYS_statmount __NR_statmount +#endif + +#ifdef __NR_statx +# define SYS_statx __NR_statx +#endif + +#ifdef __NR_stime +# define SYS_stime __NR_stime +#endif + +#ifdef __NR_stty +# define SYS_stty __NR_stty +#endif + +#ifdef __NR_subpage_prot +# define SYS_subpage_prot __NR_subpage_prot +#endif + +#ifdef __NR_swapcontext +# define SYS_swapcontext __NR_swapcontext +#endif + +#ifdef __NR_swapoff +# define SYS_swapoff __NR_swapoff +#endif + +#ifdef __NR_swapon +# define SYS_swapon __NR_swapon +#endif + +#ifdef __NR_switch_endian +# define SYS_switch_endian __NR_switch_endian +#endif + +#ifdef __NR_symlink +# define SYS_symlink __NR_symlink +#endif + +#ifdef __NR_symlinkat +# define SYS_symlinkat __NR_symlinkat +#endif + +#ifdef __NR_sync +# define SYS_sync __NR_sync +#endif + +#ifdef __NR_sync_file_range +# define SYS_sync_file_range __NR_sync_file_range +#endif + +#ifdef __NR_sync_file_range2 +# define SYS_sync_file_range2 __NR_sync_file_range2 +#endif + +#ifdef __NR_syncfs +# define SYS_syncfs __NR_syncfs +#endif + +#ifdef __NR_sys_debug_setcontext +# define SYS_sys_debug_setcontext __NR_sys_debug_setcontext +#endif + +#ifdef __NR_sys_epoll_create +# define SYS_sys_epoll_create __NR_sys_epoll_create +#endif + +#ifdef __NR_sys_epoll_ctl +# define SYS_sys_epoll_ctl __NR_sys_epoll_ctl +#endif + +#ifdef __NR_sys_epoll_wait +# define SYS_sys_epoll_wait __NR_sys_epoll_wait +#endif + +#ifdef __NR_syscall +# define SYS_syscall __NR_syscall +#endif + +#ifdef __NR_sysfs +# define SYS_sysfs __NR_sysfs +#endif + +#ifdef __NR_sysinfo +# define SYS_sysinfo __NR_sysinfo +#endif + +#ifdef __NR_syslog +# define SYS_syslog __NR_syslog +#endif + +#ifdef __NR_sysmips +# define SYS_sysmips __NR_sysmips +#endif + +#ifdef __NR_tee +# define SYS_tee __NR_tee +#endif + +#ifdef __NR_tgkill +# define SYS_tgkill __NR_tgkill +#endif + +#ifdef __NR_time +# define SYS_time __NR_time +#endif + +#ifdef __NR_timer_create +# define SYS_timer_create __NR_timer_create +#endif + +#ifdef __NR_timer_delete +# define SYS_timer_delete __NR_timer_delete +#endif + +#ifdef __NR_timer_getoverrun +# define SYS_timer_getoverrun __NR_timer_getoverrun +#endif + +#ifdef __NR_timer_gettime +# define SYS_timer_gettime __NR_timer_gettime +#endif + +#ifdef __NR_timer_gettime64 +# define SYS_timer_gettime64 __NR_timer_gettime64 +#endif + +#ifdef __NR_timer_settime +# define SYS_timer_settime __NR_timer_settime +#endif + +#ifdef __NR_timer_settime64 +# define SYS_timer_settime64 __NR_timer_settime64 +#endif + +#ifdef __NR_timerfd +# define SYS_timerfd __NR_timerfd +#endif + +#ifdef __NR_timerfd_create +# define SYS_timerfd_create __NR_timerfd_create +#endif + +#ifdef __NR_timerfd_gettime +# define SYS_timerfd_gettime __NR_timerfd_gettime +#endif + +#ifdef __NR_timerfd_gettime64 +# define SYS_timerfd_gettime64 __NR_timerfd_gettime64 +#endif + +#ifdef __NR_timerfd_settime +# define SYS_timerfd_settime __NR_timerfd_settime +#endif + +#ifdef __NR_timerfd_settime64 +# define SYS_timerfd_settime64 __NR_timerfd_settime64 +#endif + +#ifdef __NR_times +# define SYS_times __NR_times +#endif + +#ifdef __NR_tkill +# define SYS_tkill __NR_tkill +#endif + +#ifdef __NR_truncate +# define SYS_truncate __NR_truncate +#endif + +#ifdef __NR_truncate64 +# define SYS_truncate64 __NR_truncate64 +#endif + +#ifdef __NR_tuxcall +# define SYS_tuxcall __NR_tuxcall +#endif + +#ifdef __NR_udftrap +# define SYS_udftrap __NR_udftrap +#endif + +#ifdef __NR_ugetrlimit +# define SYS_ugetrlimit __NR_ugetrlimit +#endif + +#ifdef __NR_ulimit +# define SYS_ulimit __NR_ulimit +#endif + +#ifdef __NR_umask +# define SYS_umask __NR_umask +#endif + +#ifdef __NR_umount +# define SYS_umount __NR_umount +#endif + +#ifdef __NR_umount2 +# define SYS_umount2 __NR_umount2 +#endif + +#ifdef __NR_uname +# define SYS_uname __NR_uname +#endif + +#ifdef __NR_unlink +# define SYS_unlink __NR_unlink +#endif + +#ifdef __NR_unlinkat +# define SYS_unlinkat __NR_unlinkat +#endif + +#ifdef __NR_unshare +# define SYS_unshare __NR_unshare +#endif + +#ifdef __NR_uretprobe +# define SYS_uretprobe __NR_uretprobe +#endif + +#ifdef __NR_uselib +# define SYS_uselib __NR_uselib +#endif + +#ifdef __NR_userfaultfd +# define SYS_userfaultfd __NR_userfaultfd +#endif + +#ifdef __NR_usr26 +# define SYS_usr26 __NR_usr26 +#endif + +#ifdef __NR_usr32 +# define SYS_usr32 __NR_usr32 +#endif + +#ifdef __NR_ustat +# define SYS_ustat __NR_ustat +#endif + +#ifdef __NR_utime +# define SYS_utime __NR_utime +#endif + +#ifdef __NR_utimensat +# define SYS_utimensat __NR_utimensat +#endif + +#ifdef __NR_utimensat_time64 +# define SYS_utimensat_time64 __NR_utimensat_time64 +#endif + +#ifdef __NR_utimes +# define SYS_utimes __NR_utimes +#endif + +#ifdef __NR_utrap_install +# define SYS_utrap_install __NR_utrap_install +#endif + +#ifdef __NR_vfork +# define SYS_vfork __NR_vfork +#endif + +#ifdef __NR_vhangup +# define SYS_vhangup __NR_vhangup +#endif + +#ifdef __NR_vm86 +# define SYS_vm86 __NR_vm86 +#endif + +#ifdef __NR_vm86old +# define SYS_vm86old __NR_vm86old +#endif + +#ifdef __NR_vmsplice +# define SYS_vmsplice __NR_vmsplice +#endif + +#ifdef __NR_vserver +# define SYS_vserver __NR_vserver +#endif + +#ifdef __NR_wait4 +# define SYS_wait4 __NR_wait4 +#endif + +#ifdef __NR_waitid +# define SYS_waitid __NR_waitid +#endif + +#ifdef __NR_waitpid +# define SYS_waitpid __NR_waitpid +#endif + +#ifdef __NR_write +# define SYS_write __NR_write +#endif + +#ifdef __NR_writev +# define SYS_writev __NR_writev +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-decl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-decl.h new file mode 100644 index 00000000..a6984dcd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-decl.h @@ -0,0 +1,35 @@ +/* Checking routines for syslog functions. Declaration only. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SYSLOG_DECL_H +#define _BITS_SYSLOG_DECL_H 1 + +#ifndef _SYS_SYSLOG_H +# error "Never include directly; use instead." +#endif + +extern void __syslog_chk (int __pri, int __flag, const char *__fmt, ...) + __attribute__ ((__format__ (__printf__, 3, 4))); + +#ifdef __USE_MISC +extern void __vsyslog_chk (int __pri, int __flag, const char *__fmt, + __gnuc_va_list __ap) + __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-ldbl.h new file mode 100644 index 00000000..4b038631 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-ldbl.h @@ -0,0 +1,35 @@ +/* -mlong-double-64 compatibility mode for syslog functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SYSLOG_H +# error "Never include directly; use instead." +#endif + +__LDBL_REDIR_DECL (syslog) + +#ifdef __USE_MISC +__LDBL_REDIR_DECL (vsyslog) +#endif + +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +__LDBL_REDIR2_DECL (syslog_chk) + +# ifdef __USE_MISC +__LDBL_REDIR2_DECL (vsyslog_chk) +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-path.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-path.h new file mode 100644 index 00000000..808f2cb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog-path.h @@ -0,0 +1,28 @@ +/* -- _PATH_LOG definition + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SYSLOG_H +# error "Never include this file directly. Use instead" +#endif + +#ifndef _BITS_SYSLOG_PATH_H +#define _BITS_SYSLOG_PATH_H 1 + +#define _PATH_LOG "/dev/log" + +#endif /* bits/syslog-path.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog.h new file mode 100644 index 00000000..322e9ba0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/syslog.h @@ -0,0 +1,61 @@ +/* Checking macros for syslog functions. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SYSLOG_H +# error "Never include directly; use instead." +#endif + +#include + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +/* The following functions must be used only after applying all asm + redirections, e.g. long double asm redirections. */ + +#ifdef __va_arg_pack +__fortify_function void +syslog (int __pri, const char *__fmt, ...) +{ + __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); +} +#elif __fortify_use_clang && defined __USE_MISC +__fortify_function_error_function __attribute_overloadable__ void +syslog (int __pri, __fortify_clang_overload_arg (const char *, , __fmt), ...) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + __vsyslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __fortify_ap); + __builtin_va_end (__fortify_ap); +} +#elif !defined __cplusplus +# define syslog(pri, ...) \ + __syslog_chk (pri, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +#endif + + +#ifdef __USE_MISC +__fortify_function __attribute_overloadable__ void +vsyslog (int __pri, __fortify_clang_overload_arg (const char *, ,__fmt), + __gnuc_va_list __ap) +{ + __vsyslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sysmacros.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sysmacros.h new file mode 100644 index 00000000..3322015c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/sysmacros.h @@ -0,0 +1,74 @@ +/* Definitions of macros to access `dev_t' values. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SYSMACROS_H +#define _BITS_SYSMACROS_H 1 + +#ifndef _SYS_SYSMACROS_H +# error "Never include directly; use instead." +#endif + +/* dev_t in glibc is a 64-bit quantity, with 32-bit major and minor numbers. + Our default encoding is MMMM Mmmm mmmM MMmm, where M is a hex digit of + the major number and m is a hex digit of the minor number. This is + downward compatible with legacy systems where dev_t is 16 bits wide, + encoded as MMmm. It is also downward compatible with the Linux kernel, + which (as of 2016) uses 32-bit dev_t, encoded as mmmM MMmm. + + Systems that use an incompatible encoding for dev_t should override this + file in the appropriate sysdeps subdirectory. */ + +#define __SYSMACROS_DECLARE_MAJOR(DECL_TEMPL) \ + DECL_TEMPL(unsigned int, major, (__dev_t __dev)) + +#define __SYSMACROS_DEFINE_MAJOR(DECL_TEMPL) \ + __SYSMACROS_DECLARE_MAJOR (DECL_TEMPL) \ + { \ + unsigned int __major; \ + __major = ((__dev & (__dev_t) 0x00000000000fff00u) >> 8); \ + __major |= ((__dev & (__dev_t) 0xfffff00000000000u) >> 32); \ + return __major; \ + } + +#define __SYSMACROS_DECLARE_MINOR(DECL_TEMPL) \ + DECL_TEMPL(unsigned int, minor, (__dev_t __dev)) + +#define __SYSMACROS_DEFINE_MINOR(DECL_TEMPL) \ + __SYSMACROS_DECLARE_MINOR (DECL_TEMPL) \ + { \ + unsigned int __minor; \ + __minor = ((__dev & (__dev_t) 0x00000000000000ffu) >> 0); \ + __minor |= ((__dev & (__dev_t) 0x00000ffffff00000u) >> 12); \ + return __minor; \ + } + +#define __SYSMACROS_DECLARE_MAKEDEV(DECL_TEMPL) \ + DECL_TEMPL(__dev_t, makedev, (unsigned int __major, unsigned int __minor)) + +#define __SYSMACROS_DEFINE_MAKEDEV(DECL_TEMPL) \ + __SYSMACROS_DECLARE_MAKEDEV (DECL_TEMPL) \ + { \ + __dev_t __dev; \ + __dev = (((__dev_t) (__major & 0x00000fffu)) << 8); \ + __dev |= (((__dev_t) (__major & 0xfffff000u)) << 32); \ + __dev |= (((__dev_t) (__minor & 0x000000ffu)) << 0); \ + __dev |= (((__dev_t) (__minor & 0xffffff00u)) << 12); \ + return __dev; \ + } + +#endif /* bits/sysmacros.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-baud.h new file mode 100644 index 00000000..dcd8be77 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-baud.h @@ -0,0 +1,48 @@ +/* termios baud rate selection definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */ +# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD. + (not in POSIX). */ +# define CIBAUD 002003600000 /* Input baud rate (not used). */ +# define CMSPAR 010000000000 /* Mark or space (stick) parity. */ +# define CRTSCTS 020000000000 /* Flow control. */ +#endif + +/* Extra output baud rates (not in POSIX). */ +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 +#define __MAX_BAUD B4000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cc.h new file mode 100644 index 00000000..964069a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cc.h @@ -0,0 +1,40 @@ +/* termios c_cc symbolic constant definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cflag.h new file mode 100644 index 00000000..0b0e40cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_cflag.h @@ -0,0 +1,38 @@ +/* termios control mode definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cflag bits. */ +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_iflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_iflag.h new file mode 100644 index 00000000..af8f549e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_iflag.h @@ -0,0 +1,40 @@ +/* termios input mode definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 /* Ignore break condition. */ +#define BRKINT 0000002 /* Signal interrupt on break. */ +#define IGNPAR 0000004 /* Ignore characters with parity errors. */ +#define PARMRK 0000010 /* Mark parity and framing errors. */ +#define INPCK 0000020 /* Enable input parity check. */ +#define ISTRIP 0000040 /* Strip 8th bit off characters. */ +#define INLCR 0000100 /* Map NL to CR on input. */ +#define IGNCR 0000200 /* Ignore CR. */ +#define ICRNL 0000400 /* Map CR to NL on input. */ +#define IUCLC 0001000 /* Map uppercase characters to lowercase on input + (not in POSIX). */ +#define IXON 0002000 /* Enable start/stop output control. */ +#define IXANY 0004000 /* Enable any character to restart output. */ +#define IXOFF 0010000 /* Enable start/stop input control. */ +#define IMAXBEL 0020000 /* Ring bell when input queue is full + (not in POSIX). */ +#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_lflag.h new file mode 100644 index 00000000..35ff1484 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_lflag.h @@ -0,0 +1,58 @@ +/* termios local mode definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Canonical input (erase and kill processing). */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Echo erase character as error-correcting + backspace. */ +#define ECHOK 0000040 /* Echo KILL. */ +#define ECHONL 0000100 /* Echo NL. */ +#define NOFLSH 0000200 /* Disable flush after interrupt or quit. */ +#define TOSTOP 0000400 /* Send SIGTTOU for background output. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* If ECHO is also set, terminal special characters + other than TAB, NL, START, and STOP are echoed as + ^X, where X is the character with ASCII code 0x40 + greater than the special character + (not in POSIX). */ +# define ECHOPRT 0002000 /* If ICANON and ECHO are also set, characters are + printed as they are being erased + (not in POSIX). */ +# define ECHOKE 0004000 /* If ICANON is also set, KILL is echoed by erasing + each character on the line, as specified by ECHOE + and ECHOPRT (not in POSIX). */ +# define FLUSHO 0010000 /* Output is being flushed. This flag is toggled by + typing the DISCARD character (not in POSIX). */ +# define PENDIN 0040000 /* All characters in the input queue are reprinted + when the next character is read + (not in POSIX). */ +#endif +#define IEXTEN 0100000 /* Enable implementation-defined input + processing. */ +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_oflag.h new file mode 100644 index 00000000..0604a35e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-c_oflag.h @@ -0,0 +1,61 @@ +/* termios output mode definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0000001 /* Post-process output. */ +#define OLCUC 0000002 /* Map lowercase characters to uppercase on output. + (not in POSIX). */ +#define ONLCR 0000004 /* Map NL to CR-NL on output. */ +#define OCRNL 0000010 /* Map CR to NL on output. */ +#define ONOCR 0000020 /* No CR output at column 0. */ +#define ONLRET 0000040 /* NL performs CR function. */ +#define OFILL 0000100 /* Use fill characters for delay. */ +#define OFDEL 0000200 /* Fill is DEL. */ +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 0000400 /* Select newline delays: */ +# define NL0 0000000 /* Newline type 0. */ +# define NL1 0000400 /* Newline type 1. */ +# define CRDLY 0003000 /* Select carriage-return delays: */ +# define CR0 0000000 /* Carriage-return delay type 0. */ +# define CR1 0001000 /* Carriage-return delay type 1. */ +# define CR2 0002000 /* Carriage-return delay type 2. */ +# define CR3 0003000 /* Carriage-return delay type 3. */ +# define TABDLY 0014000 /* Select horizontal-tab delays: */ +# define TAB0 0000000 /* Horizontal-tab delay type 0. */ +# define TAB1 0004000 /* Horizontal-tab delay type 1. */ +# define TAB2 0010000 /* Horizontal-tab delay type 2. */ +# define TAB3 0014000 /* Expand tabs to spaces. */ +# define BSDLY 0020000 /* Select backspace delays: */ +# define BS0 0000000 /* Backspace-delay type 0. */ +# define BS1 0020000 /* Backspace-delay type 1. */ +# define FFDLY 0100000 /* Select form-feed delays: */ +# define FF0 0000000 /* Form-feed delay type 0. */ +# define FF1 0100000 /* Form-feed delay type 1. */ +#endif + +#define VTDLY 0040000 /* Select vertical-tab delays: */ +#define VT0 0000000 /* Vertical-tab delay type 0. */ +#define VT1 0040000 /* Vertical-tab delay type 1. */ + +#ifdef __USE_MISC +# define XTABS 0014000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-misc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-misc.h new file mode 100644 index 00000000..42382bfc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-misc.h @@ -0,0 +1,21 @@ +/* termios baud platform specific definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-struct.h new file mode 100644 index 00000000..51dda8ed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-struct.h @@ -0,0 +1,36 @@ +/* struct termios definition. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-tcflow.h new file mode 100644 index 00000000..7c78b3c7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios tcflag symbolic constant definitions. Linux/generic version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these. */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios.h new file mode 100644 index 00000000..5433d2d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/termios.h @@ -0,0 +1,76 @@ +/* termios type and macro definitions. Linux version. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned char cc_t; +typedef unsigned int speed_t; +typedef unsigned int tcflag_t; + +#include +#include +#include +#include + +/* c_cflag bit meaning */ +#define B0 0000000 /* hang up */ +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 +#ifdef __USE_MISC +# define EXTA B19200 +# define EXTB B38400 +#endif +#include + +#include +#include + +#ifdef __USE_MISC +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ +# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ +#endif + +/* tcflow() and TCXONC use these */ +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +/* tcflush() and TCFLSH use these */ +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#include + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h new file mode 100644 index 00000000..119dd8ae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/thread-shared-types.h @@ -0,0 +1,116 @@ +/* Common threading primitives definitions for both POSIX and C11. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_SHARED_TYPES_H +#define _THREAD_SHARED_TYPES_H 1 + +/* Arch-specific definitions. Each architecture must define the following + macros to define the expected sizes of pthread data types: + + __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t. + __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t. + __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t. + __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t. + __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t. + __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t. + __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t. + __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t. + __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t. + + The additional macro defines any constraint for the lock alignment + inside the thread structures: + + __LOCK_ALIGNMENT - for internal lock/futex usage. + + Same idea but for the once locking primitive: + + __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */ + +#include + +#include + + +/* Common definition of pthread_mutex_t. */ + +typedef struct __pthread_internal_list +{ + struct __pthread_internal_list *__prev; + struct __pthread_internal_list *__next; +} __pthread_list_t; + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; + +/* Arch-specific mutex definitions. A generic implementation is provided + by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture + can override it by defining: + + 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t + definition). It should contains at least the internal members + defined in the generic version. + + 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with + atomic operations. + + 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization. + It should initialize the mutex internal flag. */ + +#include + +/* Arch-sepecific read-write lock definitions. A generic implementation is + provided by struct_rwlock.h. If required, an architecture can override it + by defining: + + 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition). + It should contain at least the internal members defined in the + generic version. + + 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization. + It should initialize the rwlock internal type. */ + +#include + + +/* Common definition of pthread_cond_t. */ + +struct __pthread_cond_s +{ + __atomic_wide_counter __wseq; + __atomic_wide_counter __g1_start; + unsigned int __g_size[2] __LOCK_ALIGNMENT; + unsigned int __g1_orig_size; + unsigned int __wrefs; + unsigned int __g_signals[2]; + unsigned int __unused_initialized_1; + unsigned int __unused_initialized_2; +}; + +typedef unsigned int __tss_t; +typedef unsigned long int __thrd_t; + +typedef struct +{ + int __data __ONCE_ALIGNMENT; +} __once_flag; + +#define __ONCE_FLAG_INIT { 0 } + +#endif /* _THREAD_SHARED_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time.h new file mode 100644 index 00000000..433b755e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time.h @@ -0,0 +1,93 @@ +/* System-dependent timing definitions. Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +#ifndef _BITS_TIME_H +#define _BITS_TIME_H 1 + +#include + +/* ISO/IEC 9899:1999 7.23.1: Components of time + The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is + the number per second of the value returned by the `clock' function. */ +/* CAE XSH, Issue 4, Version 2: + The value of CLOCKS_PER_SEC is required to be 1 million on all + XSI-conformant systems. */ +#define CLOCKS_PER_SEC ((__clock_t) 1000000) + +#if (!defined __STRICT_ANSI__ || defined __USE_POSIX) \ + && !defined __USE_XOPEN2K +/* Even though CLOCKS_PER_SEC has such a strange value CLK_TCK + presents the real value for clock ticks per second for the system. */ +extern long int __sysconf (int); +# define CLK_TCK ((__clock_t) __sysconf (2)) /* 2 is _SC_CLK_TCK */ +#endif + +#ifdef __USE_POSIX199309 +/* Identifier for system-wide realtime clock. */ +# define CLOCK_REALTIME 0 +/* Monotonic system-wide clock. */ +# define CLOCK_MONOTONIC 1 +/* High-resolution timer from the CPU. */ +# define CLOCK_PROCESS_CPUTIME_ID 2 +/* Thread-specific CPU-time clock. */ +# define CLOCK_THREAD_CPUTIME_ID 3 +/* Monotonic system-wide clock, not adjusted for frequency scaling. */ +# define CLOCK_MONOTONIC_RAW 4 +/* Identifier for system-wide realtime clock, updated only on ticks. */ +# define CLOCK_REALTIME_COARSE 5 +/* Monotonic system-wide clock, updated only on ticks. */ +# define CLOCK_MONOTONIC_COARSE 6 +/* Monotonic system-wide clock that includes time spent in suspension. */ +# define CLOCK_BOOTTIME 7 +/* Like CLOCK_REALTIME but also wakes suspended system. */ +# define CLOCK_REALTIME_ALARM 8 +/* Like CLOCK_BOOTTIME but also wakes suspended system. */ +# define CLOCK_BOOTTIME_ALARM 9 +/* Like CLOCK_REALTIME but in International Atomic Time. */ +# define CLOCK_TAI 11 + +/* Flag to indicate time is absolute. */ +# define TIMER_ABSTIME 1 +#endif + +#ifdef __USE_GNU +# include + +__BEGIN_DECLS + +/* Tune a POSIX clock. */ +extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2)); + +#ifdef __USE_TIME64_REDIRECTS +# if defined(__REDIRECT_NTH) +extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, + struct timex *__utx), + __clock_adjtime64) __nonnull((2)); +# else +# define clock_adjtime __clock_adjtime64 +# endif +#endif + +__END_DECLS +#endif /* use GNU */ + +#endif /* bits/time.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time64.h new file mode 100644 index 00000000..cc81e2c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. Generic version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TIME64_H +#define _BITS_TIME64_H 1 + +/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ + +#if __TIMESIZE == 64 +/* If we already have 64-bit time type then use it. */ +# define __TIME64_T_TYPE __TIME_T_TYPE +#else +/* Define a 64-bit time type alongsize the 32-bit one. */ +# define __TIME64_T_TYPE __SQUAD_TYPE +#endif + +#endif /* bits/time64.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timerfd.h new file mode 100644 index 00000000..b73c8793 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00004000 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timesize.h new file mode 100644 index 00000000..5e73e22f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/MIPS. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timex.h new file mode 100644 index 00000000..1d02f8a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/timex.h @@ -0,0 +1,141 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TIMEX_H +#define _BITS_TIMEX_H 1 + +#include +#include + +/* These definitions from linux/timex.h as of 3.18. */ + +struct timex +{ +# if defined __USE_TIME64_REDIRECTS || (__TIMESIZE == 64 && __WORDSIZE == 32) + unsigned int modes; /* mode selector */ + int :32; /* pad */ + long long offset; /* time offset (usec) */ + long long freq; /* frequency offset (scaled ppm) */ + long long maxerror; /* maximum error (usec) */ + long long esterror; /* estimated error (usec) */ + int status; /* clock command/status */ + int :32; /* pad */ + long long constant; /* pll time constant */ + long long precision; /* clock precision (usec) (read only) */ + long long tolerance; /* clock frequency tolerance (ppm) (ro) */ + struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ + long long tick; /* (modified) usecs between clock ticks */ + long long ppsfreq; /* pps frequency (scaled ppm) (ro) */ + long long jitter; /* pps jitter (us) (ro) */ + int shift; /* interval duration (s) (shift) (ro) */ + int :32; /* pad */ + long long stabil; /* pps stability (scaled ppm) (ro) */ + long long jitcnt; /* jitter limit exceeded (ro) */ + long long calcnt; /* calibration intervals (ro) */ + long long errcnt; /* calibration errors (ro) */ + long long stbcnt; /* stability limit exceeded (ro) */ + + int tai; /* TAI offset (ro) */ + + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; +# else + unsigned int modes; /* mode selector */ + __syscall_slong_t offset; /* time offset (usec) */ + __syscall_slong_t freq; /* frequency offset (scaled ppm) */ + __syscall_slong_t maxerror; /* maximum error (usec) */ + __syscall_slong_t esterror; /* estimated error (usec) */ + int status; /* clock command/status */ + __syscall_slong_t constant; /* pll time constant */ + __syscall_slong_t precision; /* clock precision (usec) (ro) */ + __syscall_slong_t tolerance; /* clock frequency tolerance (ppm) (ro) */ + struct timeval time; /* (read only, except for ADJ_SETOFFSET) */ + __syscall_slong_t tick; /* (modified) usecs between clock ticks */ + __syscall_slong_t ppsfreq; /* pps frequency (scaled ppm) (ro) */ + __syscall_slong_t jitter; /* pps jitter (us) (ro) */ + int shift; /* interval duration (s) (shift) (ro) */ + __syscall_slong_t stabil; /* pps stability (scaled ppm) (ro) */ + __syscall_slong_t jitcnt; /* jitter limit exceeded (ro) */ + __syscall_slong_t calcnt; /* calibration intervals (ro) */ + __syscall_slong_t errcnt; /* calibration errors (ro) */ + __syscall_slong_t stbcnt; /* stability limit exceeded (ro) */ + + int tai; /* TAI offset (ro) */ + + /* ??? */ + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; +# endif +}; + +/* Mode codes (timex.mode) */ +#define ADJ_OFFSET 0x0001 /* time offset */ +#define ADJ_FREQUENCY 0x0002 /* frequency offset */ +#define ADJ_MAXERROR 0x0004 /* maximum time error */ +#define ADJ_ESTERROR 0x0008 /* estimated time error */ +#define ADJ_STATUS 0x0010 /* clock status */ +#define ADJ_TIMECONST 0x0020 /* pll time constant */ +#define ADJ_TAI 0x0080 /* set TAI offset */ +#define ADJ_SETOFFSET 0x0100 /* add 'time' to current time */ +#define ADJ_MICRO 0x1000 /* select microsecond resolution */ +#define ADJ_NANO 0x2000 /* select nanosecond resolution */ +#define ADJ_TICK 0x4000 /* tick value */ +#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */ +#define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */ + +/* xntp 3.4 compatibility names */ +#define MOD_OFFSET ADJ_OFFSET +#define MOD_FREQUENCY ADJ_FREQUENCY +#define MOD_MAXERROR ADJ_MAXERROR +#define MOD_ESTERROR ADJ_ESTERROR +#define MOD_STATUS ADJ_STATUS +#define MOD_TIMECONST ADJ_TIMECONST +#define MOD_CLKB ADJ_TICK +#define MOD_CLKA ADJ_OFFSET_SINGLESHOT /* 0x8000 in original */ +#define MOD_TAI ADJ_TAI +#define MOD_MICRO ADJ_MICRO +#define MOD_NANO ADJ_NANO + + +/* Status codes (timex.status) */ +#define STA_PLL 0x0001 /* enable PLL updates (rw) */ +#define STA_PPSFREQ 0x0002 /* enable PPS freq discipline (rw) */ +#define STA_PPSTIME 0x0004 /* enable PPS time discipline (rw) */ +#define STA_FLL 0x0008 /* select frequency-lock mode (rw) */ + +#define STA_INS 0x0010 /* insert leap (rw) */ +#define STA_DEL 0x0020 /* delete leap (rw) */ +#define STA_UNSYNC 0x0040 /* clock unsynchronized (rw) */ +#define STA_FREQHOLD 0x0080 /* hold frequency (rw) */ + +#define STA_PPSSIGNAL 0x0100 /* PPS signal present (ro) */ +#define STA_PPSJITTER 0x0200 /* PPS signal jitter exceeded (ro) */ +#define STA_PPSWANDER 0x0400 /* PPS signal wander exceeded (ro) */ +#define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */ + +#define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */ +#define STA_NANO 0x2000 /* resolution (0 = us, 1 = ns) (ro) */ +#define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */ +#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */ + +/* Read-only bits */ +#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER \ + | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) + +#endif /* bits/timex.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types.h new file mode 100644 index 00000000..795731e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types.h @@ -0,0 +1,228 @@ +/* bits/types.h -- definitions of __*_t types underlying *_t types. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +#ifndef _BITS_TYPES_H +#define _BITS_TYPES_H 1 + +#include +#include +#include + +/* Convenience types. */ +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + +/* Fixed-size types, underlying types depend on word size and compiler. */ +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; +#if __WORDSIZE == 64 +typedef signed long int __int64_t; +typedef unsigned long int __uint64_t; +#else +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; +#endif + +/* Smallest types with at least a given width. */ +typedef __int8_t __int_least8_t; +typedef __uint8_t __uint_least8_t; +typedef __int16_t __int_least16_t; +typedef __uint16_t __uint_least16_t; +typedef __int32_t __int_least32_t; +typedef __uint32_t __uint_least32_t; +typedef __int64_t __int_least64_t; +typedef __uint64_t __uint_least64_t; + +/* quad_t is also 64 bits. */ +#if __WORDSIZE == 64 +typedef long int __quad_t; +typedef unsigned long int __u_quad_t; +#else +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +#endif + +/* Largest integral types. */ +#if __WORDSIZE == 64 +typedef long int __intmax_t; +typedef unsigned long int __uintmax_t; +#else +__extension__ typedef long long int __intmax_t; +__extension__ typedef unsigned long long int __uintmax_t; +#endif + + +/* The machine-dependent file defines __*_T_TYPE + macros for each of the OS types we define below. The definitions + of those macros must use the following macros for underlying types. + We define __S_TYPE and __U_TYPE for the signed and unsigned + variants of each of the following integer types on this machine. + + 16 -- "natural" 16-bit type (always short) + 32 -- "natural" 32-bit type (always int) + 64 -- "natural" 64-bit type (long or long long) + LONG32 -- 32-bit type, traditionally long + QUAD -- 64-bit type, traditionally long long + WORD -- natural type of __WORDSIZE bits (int or long) + LONGWORD -- type of __WORDSIZE bits, traditionally long + + We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the + conventional uses of `long' or `long long' type modifiers match the + types we define, even when a less-adorned type would be the same size. + This matters for (somewhat) portably writing printf/scanf formats for + these types, where using the appropriate l or ll format modifiers can + make the typedefs and the formats match up across all GNU platforms. If + we used `long' when it's 64 bits where `long long' is expected, then the + compiler would warn about the formats not matching the argument types, + and the programmer changing them to shut up the compiler would break the + program's portability. + + Here we assume what is presently the case in all the GCC configurations + we support: long long is always 64 bits, long is always word/address size, + and int is always 32 bits. */ + +#define __S16_TYPE short int +#define __U16_TYPE unsigned short int +#define __S32_TYPE int +#define __U32_TYPE unsigned int +#define __SLONGWORD_TYPE long int +#define __ULONGWORD_TYPE unsigned long int +#if __WORDSIZE == 32 +# define __SQUAD_TYPE __int64_t +# define __UQUAD_TYPE __uint64_t +# define __SWORD_TYPE int +# define __UWORD_TYPE unsigned int +# define __SLONG32_TYPE long int +# define __ULONG32_TYPE unsigned long int +# define __S64_TYPE __int64_t +# define __U64_TYPE __uint64_t +/* We want __extension__ before typedef's that use nonstandard base types + such as `long long' in C89 mode. */ +# define __STD_TYPE __extension__ typedef +#elif __WORDSIZE == 64 +# define __SQUAD_TYPE long int +# define __UQUAD_TYPE unsigned long int +# define __SWORD_TYPE long int +# define __UWORD_TYPE unsigned long int +# define __SLONG32_TYPE int +# define __ULONG32_TYPE unsigned int +# define __S64_TYPE long int +# define __U64_TYPE unsigned long int +/* No need to mark the typedef with __extension__. */ +# define __STD_TYPE typedef +#else +# error +#endif +#include /* Defines __*_T_TYPE macros. */ +#include /* Defines __TIME*_T_TYPE macros. */ + + +__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */ +__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */ +__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */ +__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */ +__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/ +__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */ +__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */ +__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */ +__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */ +__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */ +__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */ +__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */ +__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */ +__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */ +__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */ +__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */ +__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */ +__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */ +__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t; + +__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */ +__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */ + +/* Clock ID used in clock and timer functions. */ +__STD_TYPE __CLOCKID_T_TYPE __clockid_t; + +/* Timer ID returned by `timer_create'. */ +__STD_TYPE __TIMER_T_TYPE __timer_t; + +/* Type to represent block size. */ +__STD_TYPE __BLKSIZE_T_TYPE __blksize_t; + +/* Types from the Large File Support interface. */ + +/* Type to count number of disk blocks. */ +__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t; +__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t; + +/* Type to count file system blocks. */ +__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t; +__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t; + +/* Type to count file system nodes. */ +__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t; +__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t; + +/* Type of miscellaneous file system fields. */ +__STD_TYPE __FSWORD_T_TYPE __fsword_t; + +__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */ + +/* Signed long type used in system calls. */ +__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t; +/* Unsigned long type used in system calls. */ +__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t; + +/* These few don't really vary by system, they always correspond + to one of the other defined types. */ +typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */ +typedef char *__caddr_t; + +/* Duplicates info from stdint.h but this is used in unistd.h. */ +__STD_TYPE __SWORD_TYPE __intptr_t; + +/* Duplicate info from sys/socket.h. */ +__STD_TYPE __U32_TYPE __socklen_t; + +/* C99: An integer type that can be accessed as an atomic entity, + even in the presence of asynchronous interrupts. + It is not currently necessary for this to be machine-specific. */ +typedef int __sig_atomic_t; + +/* Seconds since the Epoch, visible to user code when time_t is too + narrow only for consistency with the old way of widening too-narrow + types. User code should never use __time64_t. */ +#if __TIMESIZE == 64 && defined __LIBC +# define __time64_t __time_t +#elif __TIMESIZE != 64 +__STD_TYPE __TIME64_T_TYPE __time64_t; +#endif + +#undef __STD_TYPE + +#endif /* bits/types.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/FILE.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/FILE.h new file mode 100644 index 00000000..7be60b90 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/FILE.h @@ -0,0 +1,9 @@ +#ifndef __FILE_defined +#define __FILE_defined 1 + +struct _IO_FILE; + +/* The opaque type of streams. This is the definition used elsewhere. */ +typedef struct _IO_FILE FILE; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__FILE.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__FILE.h new file mode 100644 index 00000000..5977e272 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__FILE.h @@ -0,0 +1,7 @@ +#ifndef ____FILE_defined +#define ____FILE_defined 1 + +struct _IO_FILE; +typedef struct _IO_FILE __FILE; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos64_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos64_t.h new file mode 100644 index 00000000..b476af47 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos64_t.h @@ -0,0 +1,16 @@ +#ifndef _____fpos64_t_defined +#define _____fpos64_t_defined 1 + +#include +#include + +/* The tag name of this struct is _G_fpos64_t to preserve historic + C++ mangled names for functions taking fpos_t and/or fpos64_t + arguments. That name should not be used in new code. */ +typedef struct _G_fpos64_t +{ + __off64_t __pos; + __mbstate_t __state; +} __fpos64_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos_t.h new file mode 100644 index 00000000..6d1d8792 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__fpos_t.h @@ -0,0 +1,16 @@ +#ifndef _____fpos_t_defined +#define _____fpos_t_defined 1 + +#include +#include + +/* The tag name of this struct is _G_fpos_t to preserve historic + C++ mangled names for functions taking fpos_t arguments. + That name should not be used in new code. */ +typedef struct _G_fpos_t +{ + __off_t __pos; + __mbstate_t __state; +} __fpos_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h new file mode 100644 index 00000000..4789e217 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__locale_t.h @@ -0,0 +1,43 @@ +/* Definition of struct __locale_struct and __locale_t. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES___LOCALE_T_H +#define _BITS_TYPES___LOCALE_T_H 1 + +/* POSIX.1-2008: the locale_t type, representing a locale context + (implementation-namespace version). This type should be treated + as opaque by applications; some details are exposed for the sake of + efficiency in e.g. ctype functions. */ + +struct __locale_struct +{ + /* Note: LC_ALL is not a valid index into this array. */ + struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */ + + /* To increase the speed of this solution we add some special members. */ + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + /* Note: LC_ALL is not a valid index into this array. */ + const char *__names[13]; +}; + +typedef struct __locale_struct *__locale_t; + +#endif /* bits/types/__locale_t.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__mbstate_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__mbstate_t.h new file mode 100644 index 00000000..b70f5934 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__mbstate_t.h @@ -0,0 +1,23 @@ +#ifndef ____mbstate_t_defined +#define ____mbstate_t_defined 1 + +/* Integral type unchanged by default argument promotions that can + hold any value corresponding to members of the extended character + set, as well as at least one value that does not correspond to any + member of the extended character set. */ +#ifndef __WINT_TYPE__ +# define __WINT_TYPE__ unsigned int +#endif + +/* Conversion state information. */ +typedef struct +{ + int __count; + union + { + __WINT_TYPE__ __wch; + char __wchb[4]; + } __value; /* Value so far. */ +} __mbstate_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h new file mode 100644 index 00000000..8085dbb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigset_t.h @@ -0,0 +1,10 @@ +#ifndef ____sigset_t_defined +#define ____sigset_t_defined + +#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int))) +typedef struct +{ + unsigned long int __val[_SIGSET_NWORDS]; +} __sigset_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigval_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigval_t.h new file mode 100644 index 00000000..59ea360f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/__sigval_t.h @@ -0,0 +1,41 @@ +/* Define __sigval_t. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef ____sigval_t_defined +#define ____sigval_t_defined + +/* Type for data associated with a signal. */ +#ifdef __USE_POSIX199309 +union sigval +{ + int sival_int; + void *sival_ptr; +}; + +typedef union sigval __sigval_t; +#else +union __sigval +{ + int __sival_int; + void *__sival_ptr; +}; + +typedef union __sigval __sigval_t; +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clock_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clock_t.h new file mode 100644 index 00000000..91aa9d07 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clock_t.h @@ -0,0 +1,9 @@ +#ifndef __clock_t_defined +#define __clock_t_defined 1 + +#include + +/* Returned by `clock'. */ +typedef __clock_t clock_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h new file mode 100644 index 00000000..cf061100 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/clockid_t.h @@ -0,0 +1,9 @@ +#ifndef __clockid_t_defined +#define __clockid_t_defined 1 + +#include + +/* Clock ID used in clock and timer functions. */ +typedef __clockid_t clockid_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h new file mode 100644 index 00000000..41f17720 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/cookie_io_functions_t.h @@ -0,0 +1,63 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __cookie_io_functions_t_defined +#define __cookie_io_functions_t_defined 1 + +#include + +/* Functions to do I/O and file management for a stream. */ + +/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF. + Return number of bytes read. */ +typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf, + size_t __nbytes); + +/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes + unless there is an error. Return number of bytes written. If + there is an error, return 0 and do not write anything. If the file + has been opened for append (__mode.__append set), then set the file + pointer to the end of the file and then do the write; if not, just + write at the current file pointer. */ +typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf, + size_t __nbytes); + +/* Move COOKIE's file position to *POS bytes from the + beginning of the file (if W is SEEK_SET), + the current position (if W is SEEK_CUR), + or the end of the file (if W is SEEK_END). + Set *POS to the new file position. + Returns zero if successful, nonzero if not. */ +typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w); + +/* Close COOKIE. */ +typedef int cookie_close_function_t (void *__cookie); + +/* The structure with the cookie function pointers. + The tag name of this struct is _IO_cookie_io_functions_t to + preserve historic C++ mangled names for functions taking + cookie_io_functions_t arguments. That name should not be used in + new code. */ +typedef struct _IO_cookie_io_functions_t +{ + cookie_read_function_t *read; /* Read bytes. */ + cookie_write_function_t *write; /* Write bytes. */ + cookie_seek_function_t *seek; /* Seek/tell file position. */ + cookie_close_function_t *close; /* Close file. */ +} cookie_io_functions_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/error_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/error_t.h new file mode 100644 index 00000000..89be14ed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/error_t.h @@ -0,0 +1,24 @@ +/* Define error_t. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __error_t_defined +# define __error_t_defined 1 + +typedef int error_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/idtype_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/idtype_t.h new file mode 100644 index 00000000..32eef351 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/idtype_t.h @@ -0,0 +1,14 @@ +#ifndef __idtype_t_defined +#define __idtype_t_defined + +/* The following values are used by the `waitid' function. */ +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID, /* Wait for members of process group. */ + P_PIDFD, /* Wait for the child referred by the PID file + descriptor. */ +} idtype_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/locale_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/locale_t.h new file mode 100644 index 00000000..3c64f466 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/locale_t.h @@ -0,0 +1,26 @@ +/* Definition of locale_t. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_LOCALE_T_H +#define _BITS_TYPES_LOCALE_T_H 1 + +#include + +typedef __locale_t locale_t; + +#endif /* bits/types/locale_t.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/mbstate_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/mbstate_t.h new file mode 100644 index 00000000..876bf321 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/mbstate_t.h @@ -0,0 +1,8 @@ +#ifndef __mbstate_t_defined +#define __mbstate_t_defined 1 + +#include + +typedef __mbstate_t mbstate_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/res_state.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/res_state.h new file mode 100644 index 00000000..acc0f3fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/res_state.h @@ -0,0 +1,61 @@ +#ifndef __res_state_defined +#define __res_state_defined 1 + +#include +#include + +/* res_state: the global state used by the resolver stub. */ +#define MAXNS 3 /* max # name servers we'll track */ +#define MAXDFLSRCH 3 /* # default domain levels to try */ +#define MAXDNSRCH 6 /* max # domains in search path */ +#define MAXRESOLVSORT 10 /* number of net to sort on */ + +struct __res_state { + int retrans; /* retransmission time interval */ + int retry; /* number of times to retransmit */ + unsigned long options; /* option flags - see below. */ + int nscount; /* number of name servers */ + struct sockaddr_in + nsaddr_list[MAXNS]; /* address of name server */ + unsigned short id; /* current message id */ + /* 2 byte hole here. */ + char *dnsrch[MAXDNSRCH+1]; /* components of domain to search */ + char defdname[256]; /* default domain (deprecated) */ + unsigned long pfcode; /* RES_PRF_ flags - see below. */ + unsigned ndots:4; /* threshold for initial abs. query */ + unsigned nsort:4; /* number of elements in sort_list[] */ + unsigned ipv6_unavail:1; /* connecting to IPv6 server failed */ + unsigned unused:23; + struct { + struct in_addr addr; + uint32_t mask; + } sort_list[MAXRESOLVSORT]; + /* 4 byte hole here on 64-bit architectures. */ + void * __glibc_unused_qhook; + void * __glibc_unused_rhook; + int res_h_errno; /* last one set for this context */ + int _vcsock; /* PRIVATE: for res_send VC i/o */ + unsigned int _flags; /* PRIVATE: see below */ + /* 4 byte hole here on 64-bit architectures. */ + union { + char pad[52]; /* On an i386 this means 512b total. */ + struct { + uint16_t nscount; + uint16_t nsmap[MAXNS]; + int nssocks[MAXNS]; + uint16_t nscount6; + uint16_t nsinit; + struct sockaddr_in6 *nsaddrs[MAXNS]; +#ifdef _LIBC + unsigned long long int __glibc_extension_index + __attribute__((packed)); +#else + unsigned int __glibc_reserved[2]; +#endif + } _ext; + } _u; +}; + +typedef struct __res_state *res_state; + +#endif /* __res_state_defined */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sig_atomic_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sig_atomic_t.h new file mode 100644 index 00000000..f07c2078 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sig_atomic_t.h @@ -0,0 +1,10 @@ +#ifndef __sig_atomic_t_defined +#define __sig_atomic_t_defined 1 + +#include + +/* An integral type that can be modified atomically, without the + possibility of a signal arriving in the middle of the operation. */ +typedef __sig_atomic_t sig_atomic_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigevent_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigevent_t.h new file mode 100644 index 00000000..8573d00b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigevent_t.h @@ -0,0 +1,48 @@ +#ifndef __sigevent_t_defined +#define __sigevent_t_defined 1 + +#include +#include +#include + +#define __SIGEV_MAX_SIZE 64 +#if __WORDSIZE == 64 +# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4) +#else +# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3) +#endif + +/* Forward declaration. */ +#ifndef __have_pthread_attr_t +typedef union pthread_attr_t pthread_attr_t; +# define __have_pthread_attr_t 1 +#endif + +/* Structure to transport application-defined values with signals. */ +typedef struct sigevent + { + __sigval_t sigev_value; + int sigev_signo; + int sigev_notify; + + union + { + int _pad[__SIGEV_PAD_SIZE]; + + /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the + thread to receive the signal. */ + __pid_t _tid; + + struct + { + void (*_function) (__sigval_t); /* Function to start. */ + pthread_attr_t *_attribute; /* Thread attributes. */ + } _sigev_thread; + } _sigev_un; + } sigevent_t; + +/* POSIX names to access some of the members. */ +#define sigev_notify_function _sigev_un._sigev_thread._function +#define sigev_notify_attributes _sigev_un._sigev_thread._attribute + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/siginfo_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/siginfo_t.h new file mode 100644 index 00000000..10cbe9cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/siginfo_t.h @@ -0,0 +1,151 @@ +#ifndef __siginfo_t_defined +#define __siginfo_t_defined 1 + +#include +#include +#include + +#define __SI_MAX_SIZE 128 +#if __WORDSIZE == 64 +# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4) +#else +# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3) +#endif + +/* Some fields of siginfo_t have architecture-specific variations. */ +#include +#ifndef __SI_ALIGNMENT +# define __SI_ALIGNMENT /* nothing */ +#endif +#ifndef __SI_BAND_TYPE +# define __SI_BAND_TYPE long int +#endif +#ifndef __SI_CLOCK_T +# define __SI_CLOCK_T __clock_t +#endif +#ifndef __SI_ERRNO_THEN_CODE +# define __SI_ERRNO_THEN_CODE 1 +#endif +#ifndef __SI_HAVE_SIGSYS +# define __SI_HAVE_SIGSYS 1 +#endif +#ifndef __SI_SIGFAULT_ADDL +# define __SI_SIGFAULT_ADDL /* nothing */ +#endif + +typedef struct + { + int si_signo; /* Signal number. */ +#if __SI_ERRNO_THEN_CODE + int si_errno; /* If non-zero, an errno value associated with + this signal, as defined in . */ + int si_code; /* Signal code. */ +#else + int si_code; + int si_errno; +#endif +#if __WORDSIZE == 64 + int __pad0; /* Explicit padding. */ +#endif + + union + { + int _pad[__SI_PAD_SIZE]; + + /* kill(). */ + struct + { + __pid_t si_pid; /* Sending process ID. */ + __uid_t si_uid; /* Real user ID of sending process. */ + } _kill; + + /* POSIX.1b timers. */ + struct + { + int si_tid; /* Timer ID. */ + int si_overrun; /* Overrun count. */ + __sigval_t si_sigval; /* Signal value. */ + } _timer; + + /* POSIX.1b signals. */ + struct + { + __pid_t si_pid; /* Sending process ID. */ + __uid_t si_uid; /* Real user ID of sending process. */ + __sigval_t si_sigval; /* Signal value. */ + } _rt; + + /* SIGCHLD. */ + struct + { + __pid_t si_pid; /* Which child. */ + __uid_t si_uid; /* Real user ID of sending process. */ + int si_status; /* Exit value or signal. */ + __SI_CLOCK_T si_utime; + __SI_CLOCK_T si_stime; + } _sigchld; + + /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */ + struct + { + void *si_addr; /* Faulting insn/memory ref. */ + __SI_SIGFAULT_ADDL + short int si_addr_lsb; /* Valid LSB of the reported address. */ + union + { + /* used when si_code=SEGV_BNDERR */ + struct + { + void *_lower; + void *_upper; + } _addr_bnd; + /* used when si_code=SEGV_PKUERR */ + __uint32_t _pkey; + } _bounds; + } _sigfault; + + /* SIGPOLL. */ + struct + { + __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */ + int si_fd; + } _sigpoll; + + /* SIGSYS. */ +#if __SI_HAVE_SIGSYS + struct + { + void *_call_addr; /* Calling user insn. */ + int _syscall; /* Triggering system call number. */ + unsigned int _arch; /* AUDIT_ARCH_* of syscall. */ + } _sigsys; +#endif + } _sifields; + } siginfo_t __SI_ALIGNMENT; + + +/* X/Open requires some more fields with fixed names. */ +#define si_pid _sifields._kill.si_pid +#define si_uid _sifields._kill.si_uid +#define si_timerid _sifields._timer.si_tid +#define si_overrun _sifields._timer.si_overrun +#define si_status _sifields._sigchld.si_status +#define si_utime _sifields._sigchld.si_utime +#define si_stime _sifields._sigchld.si_stime +#define si_value _sifields._rt.si_sigval +#define si_int _sifields._rt.si_sigval.sival_int +#define si_ptr _sifields._rt.si_sigval.sival_ptr +#define si_addr _sifields._sigfault.si_addr +#define si_addr_lsb _sifields._sigfault.si_addr_lsb +#define si_lower _sifields._sigfault._bounds._addr_bnd._lower +#define si_upper _sifields._sigfault._bounds._addr_bnd._upper +#define si_pkey _sifields._sigfault._bounds._pkey +#define si_band _sifields._sigpoll.si_band +#define si_fd _sifields._sigpoll.si_fd +#if __SI_HAVE_SIGSYS +# define si_call_addr _sifields._sigsys._call_addr +# define si_syscall _sifields._sigsys._syscall +# define si_arch _sifields._sigsys._arch +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h new file mode 100644 index 00000000..c5cc6945 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigset_t.h @@ -0,0 +1,9 @@ +#ifndef __sigset_t_defined +#define __sigset_t_defined 1 + +#include + +/* A set of signals to be blocked, unblocked, or waited for. */ +typedef __sigset_t sigset_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigval_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigval_t.h new file mode 100644 index 00000000..cddd8c7a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/sigval_t.h @@ -0,0 +1,18 @@ +#ifndef __sigval_t_defined +#define __sigval_t_defined + +#include + +/* To avoid sigval_t (not a standard type name) having C++ name + mangling depending on whether the selected standard includes union + sigval, it should not be defined at all when using a standard for + which the sigval name is not reserved; in that case, headers should + not include and should use only the + internal __sigval_t name. */ +#ifndef __USE_POSIX199309 +# error "sigval_t defined for standard not including union sigval" +#endif + +typedef __sigval_t sigval_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/stack_t.h new file mode 100644 index 00000000..64abc513 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + int ss_flags; + size_t ss_size; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_FILE.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_FILE.h new file mode 100644 index 00000000..9dfac48c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_FILE.h @@ -0,0 +1,123 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __struct_FILE_defined +#define __struct_FILE_defined 1 + +/* Caution: The contents of this file are not part of the official + stdio.h API. However, much of it is part of the official *binary* + interface, and therefore cannot be changed. */ + +#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC +# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself" +#endif + +#if defined _IO_lock_t_defined && !defined _LIBC +# error "_IO_lock_t_defined should only be defined when building libc itself" +#endif + +#include + +struct _IO_FILE; +struct _IO_marker; +struct _IO_codecvt; +struct _IO_wide_data; + +/* During the build of glibc itself, _IO_lock_t will already have been + defined by internal headers. */ +#ifndef _IO_lock_t_defined +typedef void _IO_lock_t; +#endif + +/* The tag name of this struct is _IO_FILE to preserve historic + C++ mangled names for functions taking FILE* arguments. + That name should not be used in new code. */ +struct _IO_FILE +{ + int _flags; /* High-order word is _IO_MAGIC; rest is flags. */ + + /* The following pointers correspond to the C++ streambuf protocol. */ + char *_IO_read_ptr; /* Current read pointer */ + char *_IO_read_end; /* End of get area. */ + char *_IO_read_base; /* Start of putback+get area. */ + char *_IO_write_base; /* Start of put area. */ + char *_IO_write_ptr; /* Current put pointer. */ + char *_IO_write_end; /* End of put area. */ + char *_IO_buf_base; /* Start of reserve area. */ + char *_IO_buf_end; /* End of reserve area. */ + + /* The following fields are used to support backing up and undo. */ + char *_IO_save_base; /* Pointer to start of non-current get area. */ + char *_IO_backup_base; /* Pointer to first valid character of backup area */ + char *_IO_save_end; /* Pointer to end of non-current get area. */ + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + int _flags2:24; + /* Fallback buffer to use when malloc fails to allocate one. */ + char _short_backupbuf[1]; + __off_t _old_offset; /* This used to be _offset but it's too small. */ + + /* 1+column number of pbase(); 0 is unknown. */ + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + _IO_lock_t *_lock; +#ifdef _IO_USE_OLD_IO_FILE +}; + +struct _IO_FILE_complete +{ + struct _IO_FILE _file; +#endif + __off64_t _offset; + /* Wide character stream stuff. */ + struct _IO_codecvt *_codecvt; + struct _IO_wide_data *_wide_data; + struct _IO_FILE *_freeres_list; + void *_freeres_buf; + struct _IO_FILE **_prevchain; + int _mode; + /* Make sure we don't get into trouble again. */ + char _unused2[15 * sizeof (int) - 5 * sizeof (void *)]; +}; + +/* These macros are used by bits/stdio.h and internal headers. */ +#define __getc_unlocked_body(_fp) \ + (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \ + ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++) + +#define __putc_unlocked_body(_ch, _fp) \ + (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \ + ? __overflow (_fp, (unsigned char) (_ch)) \ + : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch))) + +#define _IO_EOF_SEEN 0x0010 +#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0) + +#define _IO_ERR_SEEN 0x0020 +#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0) + +#define _IO_USER_LOCK 0x8000 +/* Many more flag bits are defined internally. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h new file mode 100644 index 00000000..ade47212 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct___jmp_buf_tag.h @@ -0,0 +1,37 @@ +/* Define struct __jmp_buf_tag. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __jmp_buf_tag_defined +#define __jmp_buf_tag_defined 1 + +#include /* Get `__jmp_buf'. */ +#include + +/* Calling environment, plus possibly a saved signal mask. */ +struct __jmp_buf_tag + { + /* NOTE: The machine-dependent definitions of `__sigsetjmp' + assume that a `jmp_buf' begins with a `__jmp_buf' and that + `__mask_was_saved' follows it. Do not move these members + or add others before it. */ + __jmp_buf __jmpbuf; /* Calling environment. */ + int __mask_was_saved; /* Saved the signal mask? */ + __sigset_t __saved_mask; /* Saved signal mask. */ + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_iovec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_iovec.h new file mode 100644 index 00000000..28b98cdf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_iovec.h @@ -0,0 +1,32 @@ +/* Define struct iovec. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __iovec_defined +#define __iovec_defined 1 + +#define __need_size_t +#include + +/* Structure for scatter/gather I/O. */ +struct iovec + { + void *iov_base; /* Pointer to data. */ + size_t iov_len; /* Length of data. */ + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_itimerspec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_itimerspec.h new file mode 100644 index 00000000..2960d0d7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_itimerspec.h @@ -0,0 +1,14 @@ +#ifndef __itimerspec_defined +#define __itimerspec_defined 1 + +#include +#include + +/* POSIX.1b structure for timer start values and intervals. */ +struct itimerspec + { + struct timespec it_interval; + struct timespec it_value; + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h new file mode 100644 index 00000000..0f4d5bae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds.h @@ -0,0 +1,30 @@ +/* Generic implementation of the SysV message struct msqid64_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#if __TIMESIZE == 64 +# define __msqid64_ds msqid_ds +#else +struct __msqid64_ds +{ +# include +}; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h new file mode 100644 index 00000000..2971aa7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid64_ds_helper.h @@ -0,0 +1,30 @@ +/* Common definitions for struct msqid_ds with 64-bit time. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + + /* Content of internal __msqid64_ds. */ + struct ipc_perm msg_perm; /* structure describing operation permission */ + __time64_t msg_stime; /* time of last msgsnd command */ + __time64_t msg_rtime; /* time of last msgsnd command */ + __time64_t msg_ctime; /* time of last change */ + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..d619a22c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Generic implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_osockaddr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_osockaddr.h new file mode 100644 index 00000000..e4d3c4ec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_osockaddr.h @@ -0,0 +1,12 @@ +#ifndef __osockaddr_defined +#define __osockaddr_defined 1 + +/* This is the 4.3 BSD `struct sockaddr' format, which is used as wire + format in the grotty old 4.3 `talk' protocol. */ +struct osockaddr +{ + unsigned short int sa_family; + unsigned char sa_data[14]; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_rusage.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_rusage.h new file mode 100644 index 00000000..75a03e27 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_rusage.h @@ -0,0 +1,131 @@ +/* Define struct rusage. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __rusage_defined +#define __rusage_defined 1 + +#include +#include + +/* Structure which says how much of each resource has been used. If + the system does not keep track of a particular value, the struct + field is always zero. */ + +/* The purpose of all the unions is to have the kernel-compatible layout + while keeping the API type as 'long int', and among machines where + __syscall_slong_t is not 'long int', this only does the right thing + for little-endian ones, like x32. */ +struct rusage + { + /* Total amount of user time used. */ + struct timeval ru_utime; + /* Total amount of system time used. */ + struct timeval ru_stime; + /* Maximum resident set size (in kilobytes). */ + __extension__ union + { + long int ru_maxrss; + __syscall_slong_t __ru_maxrss_word; + }; + /* Amount of sharing of text segment memory + with other processes (kilobyte-seconds). */ + __extension__ union + { + long int ru_ixrss; + __syscall_slong_t __ru_ixrss_word; + }; + /* Amount of data segment memory used (kilobyte-seconds). */ + __extension__ union + { + long int ru_idrss; + __syscall_slong_t __ru_idrss_word; + }; + /* Amount of stack memory used (kilobyte-seconds). */ + __extension__ union + { + long int ru_isrss; + __syscall_slong_t __ru_isrss_word; + }; + /* Number of soft page faults (i.e. those serviced by reclaiming + a page from the list of pages awaiting reallocation. */ + __extension__ union + { + long int ru_minflt; + __syscall_slong_t __ru_minflt_word; + }; + /* Number of hard page faults (i.e. those that required I/O). */ + __extension__ union + { + long int ru_majflt; + __syscall_slong_t __ru_majflt_word; + }; + /* Number of times a process was swapped out of physical memory. */ + __extension__ union + { + long int ru_nswap; + __syscall_slong_t __ru_nswap_word; + }; + /* Number of input operations via the file system. Note: This + and `ru_oublock' do not include operations with the cache. */ + __extension__ union + { + long int ru_inblock; + __syscall_slong_t __ru_inblock_word; + }; + /* Number of output operations via the file system. */ + __extension__ union + { + long int ru_oublock; + __syscall_slong_t __ru_oublock_word; + }; + /* Number of IPC messages sent. */ + __extension__ union + { + long int ru_msgsnd; + __syscall_slong_t __ru_msgsnd_word; + }; + /* Number of IPC messages received. */ + __extension__ union + { + long int ru_msgrcv; + __syscall_slong_t __ru_msgrcv_word; + }; + /* Number of signals delivered. */ + __extension__ union + { + long int ru_nsignals; + __syscall_slong_t __ru_nsignals_word; + }; + /* Number of voluntary context switches, i.e. because the process + gave up the process before it had to (usually to wait for some + resource to be available). */ + __extension__ union + { + long int ru_nvcsw; + __syscall_slong_t __ru_nvcsw_word; + }; + /* Number of involuntary context switches, i.e. a higher priority process + became runnable or the current process used up its time slice. */ + __extension__ union + { + long int ru_nivcsw; + __syscall_slong_t __ru_nivcsw_word; + }; + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h new file mode 100644 index 00000000..8dc14a02 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sched_param.h @@ -0,0 +1,28 @@ +/* Sched parameter structure. Generic version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_STRUCT_SCHED_PARAM +#define _BITS_TYPES_STRUCT_SCHED_PARAM 1 + +/* Data structure to describe a process' schedulability. */ +struct sched_param +{ + int sched_priority; +}; + +#endif /* bits/types/struct_sched_param.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h new file mode 100644 index 00000000..c2f60a45 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds.h @@ -0,0 +1,30 @@ +/* Generic implementation of the semaphore struct semid64_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +#if __TIMESIZE == 64 +# define __semid64_ds semid_ds +#else +struct __semid64_ds +{ +# include +}; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h new file mode 100644 index 00000000..dd5ae895 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid64_ds_helper.h @@ -0,0 +1,25 @@ +/* Common definitions for struct semid_ds with 64-bit time. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + + /* Content of internal __semid64_ds. */ + struct ipc_perm sem_perm; /* operation permission struct */ + __time64_t sem_otime; /* last semop() time */ + __time64_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + unsigned long int __glibc_reserved3; + unsigned long int __glibc_reserved4; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..842edeea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* Generic implementation of the semaphore struct semid_ds. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_otime_high; + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t __sem_ctime_high; +# else + __time_t sem_otime; + __time_t sem_ctime; +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h new file mode 100644 index 00000000..052eacad --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds.h @@ -0,0 +1,30 @@ +/* Generic implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +#if __TIMESIZE == 64 +# define __shmid64_ds shmid_ds +#else +struct __shmid64_ds +{ +# include +}; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h new file mode 100644 index 00000000..d2fb8a3e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid64_ds_helper.h @@ -0,0 +1,28 @@ +/* Common definitions for struct semid_ds with 64-bit time. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ + __time64_t shm_atime; /* time of last shmat() */ + __time64_t shm_dtime; /* time of last shmdt() */ + __time64_t shm_ctime; /* time of last change by shmctl() */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..9ec2974b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_shmid_ds.h @@ -0,0 +1,49 @@ +/* Generic implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_atime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_dtime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ + unsigned long int __shm_ctime_high; +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h new file mode 100644 index 00000000..c24f04a7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_sigstack.h @@ -0,0 +1,29 @@ +/* Define struct sigstack. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __sigstack_defined +#define __sigstack_defined 1 + +/* Structure describing a signal stack (obsolete). */ +struct sigstack + { + void *ss_sp; /* Signal stack pointer. */ + int ss_onstack; /* Nonzero if executing on this stack. */ + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx.h new file mode 100644 index 00000000..280873cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx.h @@ -0,0 +1,55 @@ +/* Definition of the generic version of struct statx. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STAT_H +# error Never include directly, include instead. +#endif + +#ifndef __statx_defined +#define __statx_defined 1 + +/* Warning: The kernel may add additional fields to this struct in the + future. Only use this struct for calling the statx function, not + for storing data. (Expansion will be controlled by the mask + argument of the statx function.) */ +struct statx +{ + __uint32_t stx_mask; + __uint32_t stx_blksize; + __uint64_t stx_attributes; + __uint32_t stx_nlink; + __uint32_t stx_uid; + __uint32_t stx_gid; + __uint16_t stx_mode; + __uint16_t __statx_pad1[1]; + __uint64_t stx_ino; + __uint64_t stx_size; + __uint64_t stx_blocks; + __uint64_t stx_attributes_mask; + struct statx_timestamp stx_atime; + struct statx_timestamp stx_btime; + struct statx_timestamp stx_ctime; + struct statx_timestamp stx_mtime; + __uint32_t stx_rdev_major; + __uint32_t stx_rdev_minor; + __uint32_t stx_dev_major; + __uint32_t stx_dev_minor; + __uint64_t __statx_pad2[14]; +}; + +#endif /* __statx_defined */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h new file mode 100644 index 00000000..7720e9a5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_statx_timestamp.h @@ -0,0 +1,33 @@ +/* Definition of the generic version of struct statx_timestamp. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STAT_H +# error Never include directly, include instead. +#endif + +#ifndef __statx_timestamp_defined +#define __statx_timestamp_defined 1 + +struct statx_timestamp +{ + __int64_t tv_sec; + __uint32_t tv_nsec; + __int32_t __statx_timestamp_pad1[1]; +}; + +#endif /* __statx_timestamp_defined */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeb.h new file mode 100644 index 00000000..28d239b0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeb.h @@ -0,0 +1,15 @@ +#ifndef __timeb_defined +#define __timeb_defined 1 + +#include + +/* Structure returned by the 'ftime' function. */ +struct timeb + { + time_t time; /* Seconds since epoch, as from 'time'. */ + unsigned short int millitm; /* Additional milliseconds. */ + short int timezone; /* Minutes west of GMT. */ + short int dstflag; /* Nonzero if Daylight Savings Time used. */ + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h new file mode 100644 index 00000000..4ddd0fa3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timespec.h @@ -0,0 +1,33 @@ +/* NB: Include guard matches what uses. */ +#ifndef _STRUCT_TIMESPEC +#define _STRUCT_TIMESPEC 1 + +#include +#include +#include + +/* POSIX.1b structure for a time value. This is like a `struct timeval' but + has nanoseconds instead of microseconds. */ +struct timespec +{ +#ifdef __USE_TIME64_REDIRECTS + __time64_t tv_sec; /* Seconds. */ +#else + __time_t tv_sec; /* Seconds. */ +#endif +#if __WORDSIZE == 64 \ + || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ + || (__TIMESIZE == 32 && !defined __USE_TIME64_REDIRECTS) + __syscall_slong_t tv_nsec; /* Nanoseconds. */ +#else +# if __BYTE_ORDER == __BIG_ENDIAN + int: 32; /* Padding. */ + long int tv_nsec; /* Nanoseconds. */ +# else + long int tv_nsec; /* Nanoseconds. */ + int: 32; /* Padding. */ +# endif +#endif +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h new file mode 100644 index 00000000..9508e713 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_timeval.h @@ -0,0 +1,18 @@ +#ifndef __timeval_defined +#define __timeval_defined 1 + +#include + +/* A time value that is accurate to the nearest + microsecond but also has a range of years. */ +struct timeval +{ +#ifdef __USE_TIME64_REDIRECTS + __time64_t tv_sec; /* Seconds. */ + __suseconds64_t tv_usec; /* Microseconds. */ +#else + __time_t tv_sec; /* Seconds. */ + __suseconds_t tv_usec; /* Microseconds. */ +#endif +}; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_tm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_tm.h new file mode 100644 index 00000000..a8495184 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/struct_tm.h @@ -0,0 +1,28 @@ +#ifndef __struct_tm_defined +#define __struct_tm_defined 1 + +#include + +/* ISO C `broken-down time' structure. */ +struct tm +{ + int tm_sec; /* Seconds. [0-60] (1 leap second) */ + int tm_min; /* Minutes. [0-59] */ + int tm_hour; /* Hours. [0-23] */ + int tm_mday; /* Day. [1-31] */ + int tm_mon; /* Month. [0-11] */ + int tm_year; /* Year - 1900. */ + int tm_wday; /* Day of week. [0-6] */ + int tm_yday; /* Days in year.[0-365] */ + int tm_isdst; /* DST. [-1/0/1]*/ + +# ifdef __USE_MISC + long int tm_gmtoff; /* Seconds east of UTC. */ + const char *tm_zone; /* Timezone abbreviation. */ +# else + long int __tm_gmtoff; /* Seconds east of UTC. */ + const char *__tm_zone; /* Timezone abbreviation. */ +# endif +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/time_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/time_t.h new file mode 100644 index 00000000..88bd3590 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/time_t.h @@ -0,0 +1,13 @@ +#ifndef __time_t_defined +#define __time_t_defined 1 + +#include + +/* Returned by `time'. */ +#ifdef __USE_TIME64_REDIRECTS +typedef __time64_t time_t; +#else +typedef __time_t time_t; +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/timer_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/timer_t.h new file mode 100644 index 00000000..c2259da1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/timer_t.h @@ -0,0 +1,9 @@ +#ifndef __timer_t_defined +#define __timer_t_defined 1 + +#include + +/* Timer ID returned by `timer_create'. */ +typedef __timer_t timer_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/wint_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/wint_t.h new file mode 100644 index 00000000..0b541993 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/types/wint_t.h @@ -0,0 +1,23 @@ +#ifndef __wint_t_defined +#define __wint_t_defined 1 + +/* Some versions of stddef.h provide wint_t, even though neither the + C nor C++ standards, nor POSIX, specifies this. We assume that + stddef.h will define the macro _WINT_T if and only if it provides + wint_t, and conversely, that it will avoid providing wint_t if + _WINT_T is already defined. */ +#ifndef _WINT_T +#define _WINT_T 1 + +/* Integral type unchanged by default argument promotions that can + hold any value corresponding to members of the extended character + set, as well as at least one value that does not correspond to any + member of the extended character set. */ +#ifndef __WINT_TYPE__ +# define __WINT_TYPE__ unsigned int +#endif + +typedef __WINT_TYPE__ wint_t; + +#endif /* _WINT_T */ +#endif /* bits/types/wint_t.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/typesizes.h new file mode 100644 index 00000000..13c7a28a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/typesizes.h @@ -0,0 +1,107 @@ +/* bits/typesizes.h -- underlying types for *_t. For the generic Linux ABI. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ +#if __TIMESIZE == 64 && __WORDSIZE == 32 +/* These are the "new" y2038 types defined for architectures added after + the 5.1 kernel. */ +# define __INO_T_TYPE __UQUAD_TYPE +# define __OFF_T_TYPE __SQUAD_TYPE +# define __RLIM_T_TYPE __UQUAD_TYPE +# define __BLKCNT_T_TYPE __SQUAD_TYPE +# define __FSBLKCNT_T_TYPE __UQUAD_TYPE +# define __FSFILCNT_T_TYPE __UQUAD_TYPE +# define __TIME_T_TYPE __SQUAD_TYPE +# define __SUSECONDS_T_TYPE __SQUAD_TYPE +#else +# define __INO_T_TYPE __ULONGWORD_TYPE +# define __OFF_T_TYPE __SLONGWORD_TYPE +# define __RLIM_T_TYPE __ULONGWORD_TYPE +# define __BLKCNT_T_TYPE __SLONGWORD_TYPE +# define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +# define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +# define __TIME_T_TYPE __SLONGWORD_TYPE +# define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#endif + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __U32_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __S32_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#if defined __LP64__ || (__TIMESIZE == 64 && __WORDSIZE == 32) +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 (__WORDSIZE == 64) +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uintn-identity.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uintn-identity.h new file mode 100644 index 00000000..b60841a5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uintn-identity.h @@ -0,0 +1,50 @@ +/* Inline functions to return unsigned integer values unchanged. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _NETINET_IN_H && !defined _ENDIAN_H +# error "Never use directly; include or instead." +#endif + +#ifndef _BITS_UINTN_IDENTITY_H +#define _BITS_UINTN_IDENTITY_H 1 + +#include + +/* These inline functions are to ensure the appropriate type + conversions and associated diagnostics from macros that convert to + a given endianness. */ + +static __inline __uint16_t +__uint16_identity (__uint16_t __x) +{ + return __x; +} + +static __inline __uint32_t +__uint32_identity (__uint32_t __x) +{ + return __x; +} + +static __inline __uint64_t +__uint64_identity (__uint64_t __x) +{ + return __x; +} + +#endif /* _BITS_UINTN_IDENTITY_H. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio-ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio-ext.h new file mode 100644 index 00000000..2d27c7d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio-ext.h @@ -0,0 +1,56 @@ +/* Operating system-specific extensions to sys/uio.h - Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_UIO_EXT_H +#define _BITS_UIO_EXT_H 1 + +#ifndef _SYS_UIO_H +# error "Never include directly; use instead." +#endif + +__BEGIN_DECLS + +/* Read from another process' address space. */ +extern ssize_t process_vm_readv (pid_t __pid, const struct iovec *__lvec, + unsigned long int __liovcnt, + const struct iovec *__rvec, + unsigned long int __riovcnt, + unsigned long int __flags) + __THROW; + +/* Write to another process' address space. */ +extern ssize_t process_vm_writev (pid_t __pid, const struct iovec *__lvec, + unsigned long int __liovcnt, + const struct iovec *__rvec, + unsigned long int __riovcnt, + unsigned long int __flags) + __THROW; + +/* Flags for preadv2/pwritev2. */ +#define RWF_HIPRI 0x00000001 /* High priority request. */ +#define RWF_DSYNC 0x00000002 /* per-IO O_DSYNC. */ +#define RWF_SYNC 0x00000004 /* per-IO O_SYNC. */ +#define RWF_NOWAIT 0x00000008 /* per-IO nonblocking mode. */ +#define RWF_APPEND 0x00000010 /* per-IO O_APPEND. */ +#define RWF_NOAPPEND 0x00000020 /* per-IO negation of O_APPEND */ +#define RWF_ATOMIC 0x00000040 /* Write is to be issued with torn-write + prevention. */ + +__END_DECLS + +#endif /* bits/uio-ext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio_lim.h new file mode 100644 index 00000000..48217317 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/uio_lim.h @@ -0,0 +1,32 @@ +/* Implementation limits related to sys/uio.h - Linux version. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_UIO_LIM_H +#define _BITS_UIO_LIM_H 1 + +/* Maximum length of the 'struct iovec' array in a single call to + readv or writev. + + This macro has different values in different kernel versions. The + latest versions of the kernel use 1024 and this is good choice. Since + the C library implementation of readv/writev is able to emulate the + functionality even if the currently running kernel does not support + this large value the readv/writev call will not fail because of this. */ +#define __IOV_MAX 1024 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd-decl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd-decl.h new file mode 100644 index 00000000..fdb6905c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd-decl.h @@ -0,0 +1,198 @@ +/* Checking routines for unistd functions. Declaration only. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_UNISTD_DECL_H +#define _BITS_UNISTD_DECL_H 1 + +#ifndef _UNISTD_H +# error "Never include directly; use instead." +#endif + +extern ssize_t __read_chk (int __fd, void *__buf, size_t __nbytes, + size_t __buflen) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf, + size_t __nbytes), read) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__read_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + size_t __buflen), __read_chk) + __wur __warnattr ("read called with bigger length than size of " + "the destination buffer"); + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +extern ssize_t __pread_chk (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __pread64_chk (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_alias, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset), pread) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread64_alias, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset), pread64) + __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT (__pread_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off_t __offset, size_t __bufsize), __pread_chk) + __wur __warnattr ("pread called with bigger length than size of " + "the destination buffer"); +extern ssize_t __REDIRECT (__pread64_chk_warn, + (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset, size_t __bufsize), + __pread64_chk) + __wur __warnattr ("pread64 called with bigger length than size of " + "the destination buffer"); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +extern ssize_t __readlink_chk (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_alias, + (const char *__restrict __path, + char *__restrict __buf, size_t __len), readlink) + __nonnull ((1, 2)) __wur __attr_access ((__write_only__, 2, 3)); +extern ssize_t __REDIRECT_NTH (__readlink_chk_warn, + (const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlink_chk) + __nonnull ((1, 2)) __wur __warnattr ("readlink called with bigger length " + "than size of destination buffer"); +#endif + +#ifdef __USE_ATFILE +extern ssize_t __readlinkat_chk (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen) + __THROW __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_alias, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len), + readlinkat) + __nonnull ((2, 3)) __wur __attr_access ((__write_only__, 3, 4)); +extern ssize_t __REDIRECT_NTH (__readlinkat_chk_warn, + (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len, + size_t __buflen), __readlinkat_chk) + __nonnull ((2, 3)) __wur __warnattr ("readlinkat called with bigger " + "length than size of destination " + "buffer"); +#endif + +extern char *__getcwd_chk (char *__buf, size_t __size, size_t __buflen) + __THROW __wur; +extern char *__REDIRECT_NTH (__getcwd_alias, + (char *__buf, size_t __size), getcwd) __wur; +extern char *__REDIRECT_NTH (__getcwd_chk_warn, + (char *__buf, size_t __size, size_t __buflen), + __getcwd_chk) + __wur __warnattr ("getcwd caller with bigger length than size of " + "destination buffer"); + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +extern char *__getwd_chk (char *__buf, size_t buflen) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern char *__REDIRECT_NTH (__getwd_warn, (char *__buf), getwd) + __nonnull ((1)) __wur __warnattr ("please use getcwd instead, as getwd " + "doesn't specify buffer size"); +#endif + +extern size_t __confstr_chk (int __name, char *__buf, size_t __len, + size_t __buflen) __THROW + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_alias, (int __name, char *__buf, + size_t __len), confstr) + __attr_access ((__write_only__, 2, 3)); +extern size_t __REDIRECT_NTH (__confstr_chk_warn, + (int __name, char *__buf, size_t __len, + size_t __buflen), __confstr_chk) + __warnattr ("confstr called with bigger length than size of destination " + "buffer"); + + +extern int __getgroups_chk (int __size, __gid_t __list[], size_t __listlen) + __THROW __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_alias, (int __size, __gid_t __list[]), + getgroups) __wur __attr_access ((__write_only__, 2, 1)); +extern int __REDIRECT_NTH (__getgroups_chk_warn, + (int __size, __gid_t __list[], size_t __listlen), + __getgroups_chk) + __wur __warnattr ("getgroups called with bigger group count than what " + "can fit into destination buffer"); + + +extern int __ttyname_r_chk (int __fd, char *__buf, size_t __buflen, + size_t __nreal) __THROW __nonnull ((2)) + __attr_access ((__write_only__, 2, 3)); +extern int __REDIRECT_NTH (__ttyname_r_alias, (int __fd, char *__buf, + size_t __buflen), ttyname_r) + __nonnull ((2)); +extern int __REDIRECT_NTH (__ttyname_r_chk_warn, + (int __fd, char *__buf, size_t __buflen, + size_t __nreal), __ttyname_r_chk) + __nonnull ((2)) __warnattr ("ttyname_r called with bigger buflen than " + "size of destination buffer"); + + +#ifdef __USE_POSIX199506 +extern int __getlogin_r_chk (char *__buf, size_t __buflen, size_t __nreal) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY (__getlogin_r_alias, (char *__buf, size_t __buflen), + getlogin_r) __nonnull ((1)); +extern int __REDIRECT (__getlogin_r_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getlogin_r_chk) + __nonnull ((1)) __warnattr ("getlogin_r called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || defined __USE_UNIX98 +extern int __gethostname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_alias, (char *__buf, size_t __buflen), + gethostname) + __nonnull ((1)) __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__gethostname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __gethostname_chk) + __nonnull ((1)) __warnattr ("gethostname called with bigger buflen than " + "size of destination buffer"); +#endif + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) +extern int __getdomainname_chk (char *__buf, size_t __buflen, size_t __nreal) + __THROW __nonnull ((1)) __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_FORTIFY_NTH (__getdomainname_alias, (char *__buf, + size_t __buflen), + getdomainname) __nonnull ((1)) + __wur __attr_access ((__write_only__, 1, 2)); +extern int __REDIRECT_NTH (__getdomainname_chk_warn, + (char *__buf, size_t __buflen, size_t __nreal), + __getdomainname_chk) + __nonnull ((1)) __wur __warnattr ("getdomainname called with bigger " + "buflen than size of destination " + "buffer"); +#endif +#endif /* bits/unistd-decl.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd.h new file mode 100644 index 00000000..4af03661 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd.h @@ -0,0 +1,214 @@ +/* Checking macros for unistd functions. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include directly; use instead." +#endif + +# include + +__fortify_function __attribute_overloadable__ __wur ssize_t +read (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), size_t __nbytes) + __fortify_clang_warning_only_if_bos0_lt (__nbytes, __buf, + "read called with bigger length than " + "size of the destination buffer") + +{ + return __glibc_fortify (read, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes); +} + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +# ifndef __USE_FILE_OFFSET64 +__fortify_function __attribute_overloadable__ __wur ssize_t +pread (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), + size_t __nbytes, __off_t __offset) + __fortify_clang_warning_only_if_bos0_lt (__nbytes, __buf, + "pread called with bigger length than " + "size of the destination buffer") +{ + return __glibc_fortify (pread, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); +} +# else +__fortify_function __attribute_overloadable__ __wur ssize_t +pread (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), + size_t __nbytes, __off64_t __offset) + __fortify_clang_warning_only_if_bos0_lt (__nbytes, __buf, + "pread called with bigger length than " + "size of the destination buffer") +{ + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); +} +# endif + +# ifdef __USE_LARGEFILE64 +__fortify_function __attribute_overloadable__ __wur ssize_t +pread64 (int __fd, __fortify_clang_overload_arg0 (void *, ,__buf), + size_t __nbytes, __off64_t __offset) + __fortify_clang_warning_only_if_bos0_lt (__nbytes, __buf, + "pread64 called with bigger length than " + "size of the destination buffer") +{ + return __glibc_fortify (pread64, __nbytes, sizeof (char), + __glibc_objsize0 (__buf), + __fd, __buf, __nbytes, __offset); +} +# endif +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +__fortify_function __attribute_overloadable__ __nonnull ((1, 2)) __wur ssize_t +__NTH (readlink (const char *__restrict __path, + __fortify_clang_overload_arg0 (char *, __restrict, __buf), + size_t __len)) + __fortify_clang_warning_only_if_bos_lt (__len, __buf, + "readlink called with bigger length " + "than size of destination buffer") + +{ + return __glibc_fortify (readlink, __len, sizeof (char), + __glibc_objsize (__buf), + __path, __buf, __len); +} +#endif + +#ifdef __USE_ATFILE +__fortify_function __attribute_overloadable__ __nonnull ((2, 3)) __wur ssize_t +__NTH (readlinkat (int __fd, const char *__restrict __path, + __fortify_clang_overload_arg0 (char *, __restrict, __buf), + size_t __len)) + __fortify_clang_warning_only_if_bos_lt (__len, __buf, + "readlinkat called with bigger length " + "than size of destination buffer") +{ + return __glibc_fortify (readlinkat, __len, sizeof (char), + __glibc_objsize (__buf), + __fd, __path, __buf, __len); +} +#endif + +__fortify_function __attribute_overloadable__ __wur char * +__NTH (getcwd (__fortify_clang_overload_arg (char *, , __buf), size_t __size)) + __fortify_clang_warning_only_if_bos_lt (__size, __buf, + "getcwd called with bigger length " + "than size of destination buffer") +{ + return __glibc_fortify (getcwd, __size, sizeof (char), + __glibc_objsize (__buf), + __buf, __size); +} + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +__fortify_function __attribute_overloadable__ __nonnull ((1)) +__attribute_deprecated__ __wur char * +__NTH (getwd (__fortify_clang_overload_arg (char *,, __buf))) +{ + if (__glibc_objsize (__buf) != (size_t) -1) + return __getwd_chk (__buf, __glibc_objsize (__buf)); + return __getwd_warn (__buf); +} +#endif + +__fortify_function __attribute_overloadable__ size_t +__NTH (confstr (int __name, __fortify_clang_overload_arg (char *, ,__buf), + size_t __len)) + __fortify_clang_warning_only_if_bos_lt (__len, __buf, + "confstr called with bigger length than " + "size of destination buffer") +{ + return __glibc_fortify (confstr, __len, sizeof (char), + __glibc_objsize (__buf), + __name, __buf, __len); +} + + +__fortify_function __attribute_overloadable__ int +__NTH (getgroups (int __size, + __fortify_clang_overload_arg (__gid_t *, , __list))) + __fortify_clang_warning_only_if_bos_lt (__size * sizeof (__gid_t), __list, + "getgroups called with bigger group " + "count than what can fit into " + "destination buffer") +{ + return __glibc_fortify (getgroups, __size, sizeof (__gid_t), + __glibc_objsize (__list), + __size, __list); +} + + +__fortify_function __attribute_overloadable__ int +__NTH (ttyname_r (int __fd, + __fortify_clang_overload_arg (char *, ,__buf), + size_t __buflen)) + __fortify_clang_warning_only_if_bos_lt (__buflen, __buf, + "ttyname_r called with bigger buflen " + "than size of destination buffer") +{ + return __glibc_fortify (ttyname_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __fd, __buf, __buflen); +} + + +#ifdef __USE_POSIX199506 +__fortify_function __attribute_overloadable__ int +getlogin_r (__fortify_clang_overload_arg (char *, ,__buf), size_t __buflen) + __fortify_clang_warning_only_if_bos_lt (__buflen, __buf, + "getlogin_r called with bigger buflen " + "than size of destination buffer") +{ + return __glibc_fortify (getlogin_r, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); +} +#endif + + +#if defined __USE_MISC || defined __USE_UNIX98 +__fortify_function __attribute_overloadable__ int +__NTH (gethostname (__fortify_clang_overload_arg (char *, ,__buf), + size_t __buflen)) + __fortify_clang_warning_only_if_bos_lt (__buflen, __buf, + "gethostname called with bigger buflen " + "than size of destination buffer") +{ + return __glibc_fortify (gethostname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); +} +#endif + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_UNIX98) +__fortify_function __attribute_overloadable__ int +__NTH (getdomainname (__fortify_clang_overload_arg (char *, ,__buf), + size_t __buflen)) + __fortify_clang_warning_only_if_bos_lt (__buflen, __buf, + "getdomainname called with bigger " + "buflen than size of destination buffer") +{ + return __glibc_fortify (getdomainname, __buflen, sizeof (char), + __glibc_objsize (__buf), + __buf, __buflen); +} +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd_ext.h new file mode 100644 index 00000000..691a57e3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/unistd_ext.h @@ -0,0 +1,50 @@ +/* System-specific extensions of , Linux version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_GNU + +/* Return the kernel thread ID (TID) of the current thread. The + returned value is not subject to caching. Most Linux system calls + accept a TID in place of a PID. Using the TID to change properties + of a thread that has been created using pthread_create can lead to + undefined behavior (comparable to manipulating file descriptors + directly that have not been created explicitly). Note that a TID + uniquely identifies a thread only while this thread is running; a + TID can be reused once a thread has exited, even if the thread is + not detached and has not been joined. */ +extern __pid_t gettid (void) __THROW; + +#ifdef __has_include +# if __has_include ("linux/close_range.h") +# include "linux/close_range.h" +# endif +#endif +/* Unshare the file descriptor table before closing file descriptors. */ +#ifndef CLOSE_RANGE_UNSHARE +# define CLOSE_RANGE_UNSHARE (1U << 1) +#endif +/* Set the FD_CLOEXEC bit instead of closing the file descriptor. */ +#ifndef CLOSE_RANGE_CLOEXEC +# define CLOSE_RANGE_CLOEXEC (1U << 2) +#endif + +#endif /* __USE_GNU */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmp.h new file mode 100644 index 00000000..e945937f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmp.h @@ -0,0 +1,127 @@ +/* The `struct utmp' type, describing entries in the utmp file. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMP_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include +#include + + +#define UT_LINESIZE 32 +#define UT_NAMESIZE 32 +#define UT_HOSTSIZE 256 + + +/* The structure describing an entry in the database of + previous logins. */ +struct lastlog + { +#if __WORDSIZE_TIME64_COMPAT32 + __uint32_t ll_time; +#else + __time_t ll_time; +#endif + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; + + +/* The structure describing the status of a terminated process. This + type is used in `struct utmp' below. */ +struct exit_status + { + short int e_termination; /* Process termination status. */ + short int e_exit; /* Process exit status. */ + }; + + +/* The structure describing an entry in the user accounting database. */ +struct utmp +{ + short int ut_type; /* Type of login. */ + pid_t ut_pid; /* Process ID of login process. */ + char ut_line[UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ +/* The ut_session and ut_tv fields must be the same size when compiled + 32- and 64-bit. This allows data files and shared memory to be + shared between 32- and 64-bit applications. */ +#if __WORDSIZE_TIME64_COMPAT32 + int32_t ut_session; /* Session ID, used for windowing. */ + struct + { + __uint32_t tv_sec; /* Seconds. */ + int32_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + + int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; + +/* Backwards compatibility hacks. */ +#define ut_name ut_user +#ifndef _NO_UT_TIME +/* We have a problem here: `ut_time' is also used otherwise. Define + _NO_UT_TIME if the compiler complains. */ +# define ut_time ut_tv.tv_sec +#endif +#define ut_xtime ut_tv.tv_sec +#define ut_addr ut_addr_v6[0] + + +/* Values for the `ut_type' field of a `struct utmp'. */ +#define EMPTY 0 /* No valid user accounting information. */ + +#define RUN_LVL 1 /* The system's runlevel. */ +#define BOOT_TIME 2 /* Time of system boot. */ +#define NEW_TIME 3 /* Time after system clock changed. */ +#define OLD_TIME 4 /* Time when system clock changed. */ + +#define INIT_PROCESS 5 /* Process spawned by the init process. */ +#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ +#define USER_PROCESS 7 /* Normal process. */ +#define DEAD_PROCESS 8 /* Terminated process. */ + +#define ACCOUNTING 9 + +/* Old Linux name for the EMPTY type. */ +#define UT_UNKNOWN EMPTY + + +/* Tell the user that we have a modern system with UT_HOST, UT_PID, + UT_TYPE, UT_ID and UT_TV fields. */ +#define _HAVE_UT_TYPE 1 +#define _HAVE_UT_PID 1 +#define _HAVE_UT_ID 1 +#define _HAVE_UT_TV 1 +#define _HAVE_UT_HOST 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmpx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmpx.h new file mode 100644 index 00000000..ff77f8c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utmpx.h @@ -0,0 +1,106 @@ +/* Structures and definitions for the user accounting database. GNU version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMPX_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + + +#ifdef __USE_GNU +# include +# define _PATH_UTMPX _PATH_UTMP +# define _PATH_WTMPX _PATH_WTMP +#endif + + +#define __UT_LINESIZE 32 +#define __UT_NAMESIZE 32 +#define __UT_HOSTSIZE 256 + + +/* The structure describing the status of a terminated process. This + type is used in `struct utmpx' below. */ +struct __exit_status + { +#ifdef __USE_GNU + short int e_termination; /* Process termination status. */ + short int e_exit; /* Process exit status. */ +#else + short int __e_termination; /* Process termination status. */ + short int __e_exit; /* Process exit status. */ +#endif + }; + + +/* The structure describing an entry in the user accounting database. */ +struct utmpx +{ + short int ut_type; /* Type of login. */ + __pid_t ut_pid; /* Process ID of login process. */ + char ut_line[__UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[__UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[__UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct __exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ + +/* The fields ut_session and ut_tv must be the same size when compiled + 32- and 64-bit. This allows files and shared memory to be shared + between 32- and 64-bit applications. */ +#if __WORDSIZE_TIME64_COMPAT32 + __int32_t ut_session; /* Session ID, used for windowing. */ + struct + { + __uint32_t tv_sec; /* Seconds. */ + __int32_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; + + +/* Values for the `ut_type' field of a `struct utmpx'. */ +#define EMPTY 0 /* No valid user accounting information. */ + +#ifdef __USE_GNU +# define RUN_LVL 1 /* The system's runlevel. */ +#endif +#define BOOT_TIME 2 /* Time of system boot. */ +#define NEW_TIME 3 /* Time after system clock changed. */ +#define OLD_TIME 4 /* Time when system clock changed. */ + +#define INIT_PROCESS 5 /* Process spawned by the init process. */ +#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ +#define USER_PROCESS 7 /* Normal process. */ +#define DEAD_PROCESS 8 /* Terminated process. */ + +#ifdef __USE_GNU +# define ACCOUNTING 9 /* System accounting. */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utsname.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utsname.h new file mode 100644 index 00000000..625d7e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/utsname.h @@ -0,0 +1,28 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UTSNAME_H +# error "Never include directly; use instead." +#endif + +/* Length of the entries in `struct utsname' is 65. */ +#define _UTSNAME_LENGTH 65 + +/* Linux provides as additional information in the `struct utsname' + the name of the current domain. Define _UTSNAME_DOMAIN_LENGTH + to a value != 0 to activate this entry. */ +#define _UTSNAME_DOMAIN_LENGTH _UTSNAME_LENGTH \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitflags.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitflags.h new file mode 100644 index 00000000..07e69e60 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitflags.h @@ -0,0 +1,39 @@ +/* Definitions of flag bits for `waitpid' et al. + Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _SYS_WAIT_H && !defined _STDLIB_H +# error "Never include directly; use instead." +#endif + + +/* Bits in the third argument to `waitpid'. */ +#define WNOHANG 1 /* Don't block waiting. */ +#define WUNTRACED 2 /* Report status of stopped children. */ + +/* Bits in the fourth argument to `waitid'. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */ +# define WEXITED 4 /* Report dead child. */ +# define WCONTINUED 8 /* Report continued child. */ +# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */ +#endif + +#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads + in this group */ +#define __WALL 0x40000000 /* Wait for any child. */ +#define __WCLONE 0x80000000 /* Wait for cloned process. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitstatus.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitstatus.h new file mode 100644 index 00000000..bbc22daa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/waitstatus.h @@ -0,0 +1,59 @@ +/* Definitions of status bits for `wait' et al. + Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined _SYS_WAIT_H && !defined _STDLIB_H +# error "Never include directly; use instead." +#endif + + +/* Everything extant so far uses these same bits. */ + + +/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */ +#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8) + +/* If WIFSIGNALED(STATUS), the terminating signal. */ +#define __WTERMSIG(status) ((status) & 0x7f) + +/* If WIFSTOPPED(STATUS), the signal that stopped the child. */ +#define __WSTOPSIG(status) __WEXITSTATUS(status) + +/* Nonzero if STATUS indicates normal termination. */ +#define __WIFEXITED(status) (__WTERMSIG(status) == 0) + +/* Nonzero if STATUS indicates termination by a signal. */ +#define __WIFSIGNALED(status) \ + (((signed char) (((status) & 0x7f) + 1) >> 1) > 0) + +/* Nonzero if STATUS indicates the child is stopped. */ +#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f) + +/* Nonzero if STATUS indicates the child continued after a stop. We only + define this if provides the WCONTINUED flag bit. */ +#ifdef WCONTINUED +# define __WIFCONTINUED(status) ((status) == __W_CONTINUED) +#endif + +/* Nonzero if STATUS indicates the child dumped core. */ +#define __WCOREDUMP(status) ((status) & __WCOREFLAG) + +/* Macros for constructing status values. */ +#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig)) +#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f) +#define __W_CONTINUED 0xffff +#define __WCOREFLAG 0x80 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar-ldbl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar-ldbl.h new file mode 100644 index 00000000..d13bf5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar-ldbl.h @@ -0,0 +1,115 @@ +/* -mlong-double-64 compatibility mode for functions. + Copyright (C) 2006-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _WCHAR_H +# error "Never include directly; use instead." +#endif + +#if defined __USE_ISOC95 || defined __USE_UNIX98 +__LDBL_REDIR_DECL (fwprintf); +__LDBL_REDIR_DECL (wprintf); +__LDBL_REDIR_DECL (swprintf); +__LDBL_REDIR_DECL (vfwprintf); +__LDBL_REDIR_DECL (vwprintf); +__LDBL_REDIR_DECL (vswprintf); +# if !__GLIBC_USE (DEPRECATED_SCANF) +# if defined __LDBL_COMPAT +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc23_fwscanf) +__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc23_wscanf) +__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc23_swscanf) +# else +__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf) +__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf) +__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf) +# endif +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (fwscanf, __isoc23_fwscanfieee128) +__LDBL_REDIR1_DECL (wscanf, __isoc23_wscanfieee128) +__LDBL_REDIR1_DECL (swscanf, __isoc23_swscanfieee128) +# else +__LDBL_REDIR1_DECL (fwscanf, __isoc99_fwscanfieee128) +__LDBL_REDIR1_DECL (wscanf, __isoc99_wscanfieee128) +__LDBL_REDIR1_DECL (swscanf, __isoc99_swscanfieee128) +# endif +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif +# else +__LDBL_REDIR_DECL (fwscanf); +__LDBL_REDIR_DECL (wscanf); +__LDBL_REDIR_DECL (swscanf); +# endif +#endif + +#ifdef __USE_ISOC99 +# ifdef __LDBL_COMPAT +__LDBL_REDIR1_DECL (wcstold, wcstod); +# else +__LDBL_REDIR1_DECL (wcstold, __wcstoieee128) +# endif +# if !__GLIBC_USE (DEPRECATED_SCANF) +# if defined __LDBL_COMPAT +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc23_vfwscanf) +__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc23_vwscanf) +__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc23_vswscanf) +# else +__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf) +__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf) +__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf) +# endif +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# if __GLIBC_USE (C23_STRTOL) +__LDBL_REDIR1_DECL (vfwscanf, __isoc23_vfwscanfieee128) +__LDBL_REDIR1_DECL (vwscanf, __isoc23_vwscanfieee128) +__LDBL_REDIR1_DECL (vswscanf, __isoc23_vswscanfieee128) +# else +__LDBL_REDIR1_DECL (vfwscanf, __isoc99_vfwscanfieee128) +__LDBL_REDIR1_DECL (vwscanf, __isoc99_vwscanfieee128) +__LDBL_REDIR1_DECL (vswscanf, __isoc99_vswscanfieee128) +# endif +# else +# error bits/stdlib-ldbl.h included when no ldbl redirections are required. +# endif +# else +__LDBL_REDIR_DECL (vfwscanf); +__LDBL_REDIR_DECL (vwscanf); +__LDBL_REDIR_DECL (vswscanf); +# endif +#endif + +#ifdef __USE_GNU +# ifdef __LDBL_COMPAT +__LDBL_REDIR1_DECL (wcstold_l, wcstod_l); +# else +__LDBL_REDIR1_DECL (wcstold_l, __wcstoieee128_l) +# endif +#endif + +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +__LDBL_REDIR2_DECL (swprintf_chk) +__LDBL_REDIR2_DECL (vswprintf_chk) +# if __USE_FORTIFY_LEVEL > 1 +__LDBL_REDIR2_DECL (fwprintf_chk) +__LDBL_REDIR2_DECL (wprintf_chk) +__LDBL_REDIR2_DECL (vfwprintf_chk) +__LDBL_REDIR2_DECL (vwprintf_chk) +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar.h new file mode 100644 index 00000000..bba9a468 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar.h @@ -0,0 +1,49 @@ +/* wchar_t type related definitions. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_WCHAR_H +#define _BITS_WCHAR_H 1 + +/* The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__ + are not defined, give the right value and type as long as both int + and wchar_t are 32-bit types. Adding L'\0' to a constant value + ensures that the type is correct; it is necessary to use (L'\0' + + 0) rather than just L'\0' so that the type in C++ is the promoted + version of wchar_t rather than the distinct wchar_t type itself. + Because wchar_t in preprocessor #if expressions is treated as + intmax_t or uintmax_t, the expression (L'\0' - 1) would have the + wrong value for WCHAR_MAX in such expressions and so cannot be used + to define __WCHAR_MAX in the unsigned case. */ + +#ifdef __WCHAR_MAX__ +# define __WCHAR_MAX __WCHAR_MAX__ +#elif L'\0' - 1 > 0 +# define __WCHAR_MAX (0xffffffffu + L'\0') +#else +# define __WCHAR_MAX (0x7fffffff + L'\0') +#endif + +#ifdef __WCHAR_MIN__ +# define __WCHAR_MIN __WCHAR_MIN__ +#elif L'\0' - 1 > 0 +# define __WCHAR_MIN (L'\0' + 0) +#else +# define __WCHAR_MIN (-__WCHAR_MAX - 1) +#endif + +#endif /* bits/wchar.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2-decl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2-decl.h new file mode 100644 index 00000000..2cf2f7ba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2-decl.h @@ -0,0 +1,296 @@ +/* Checking macros for wchar functions. Declarations only. + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_WCHAR2_DECL_H +#define _BITS_WCHAR2_DECL_H 1 + +#ifndef _WCHAR_H +# error "Never include directly; use instead." +#endif + + +extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n), + wmemcpy); +extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmemcpy_chk) + __warnattr ("wmemcpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1, + const wchar_t *__s2, + size_t __n), wmemmove); +extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn, + (wchar_t *__s1, const wchar_t *__s2, + size_t __n, size_t __ns1), __wmemmove_chk) + __warnattr ("wmemmove called with length bigger than size of destination " + "buffer"); + + +#ifdef __USE_GNU + +extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1) __THROW; +extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, + size_t __n), wmempcpy); +extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn, + (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n, + size_t __ns1), __wmempcpy_chk) + __warnattr ("wmempcpy called with length bigger than size of destination " + "buffer"); + +#endif + + +extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns) __THROW; +extern wchar_t *__REDIRECT_FORTIFY_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c, + size_t __n), wmemset); +extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn, + (wchar_t *__s, wchar_t __c, size_t __n, + size_t __ns), __wmemset_chk) + __warnattr ("wmemset called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscpy); + +extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcpcpy); + +extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncpy); +extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcsncpy_chk) + __warnattr ("wcsncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n, + size_t __destlen) __THROW; + +extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcpncpy); +extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen), __wcpncpy_chk) + __warnattr ("wcpncpy called with length bigger than size of destination " + "buffer"); + +extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcscat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src), wcscat); + +extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n, size_t __destlen) __THROW; +extern wchar_t *__REDIRECT_NTH (__wcsncat_alias, + (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, + size_t __n), wcsncat); + +extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, ...) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */; +extern int __REDIRECT_NTH_LDBL (__swprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...), + swprintf); + +extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n, + int __flag, size_t __s_len, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */; +extern int __REDIRECT_NTH_LDBL (__vswprintf_alias, + (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, + __gnuc_va_list __ap), vswprintf); + + +#if __USE_FORTIFY_LEVEL > 1 + +extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, ...); +extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format, + ...); +extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag, + const wchar_t *__restrict __format, + __gnuc_va_list __ap); +extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format, + __gnuc_va_list __ap); + +#endif + +extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream) __wur; +extern wchar_t *__REDIRECT (__fgetws_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws) __wur; +extern wchar_t *__REDIRECT (__fgetws_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), __fgetws_chk) + __wur __warnattr ("fgetws called with bigger size than length " + "of destination buffer"); + +#ifdef __USE_GNU + +extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size, + int __n, __FILE *__restrict __stream) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_alias, + (wchar_t *__restrict __s, int __n, + __FILE *__restrict __stream), fgetws_unlocked) + __wur; +extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn, + (wchar_t *__restrict __s, size_t __size, int __n, + __FILE *__restrict __stream), + __fgetws_unlocked_chk) + __wur __warnattr ("fgetws_unlocked called with bigger size than length " + "of destination buffer"); + +#endif + +extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __p, + size_t __buflen) __THROW __wur; +extern size_t __REDIRECT_FORTIFY_NTH (__wcrtomb_alias, + (char *__restrict __s, wchar_t __wchar, + mbstate_t *__restrict __ps), wcrtomb) __wur; + +extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + mbsrtowcs); +extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsrtowcs_chk) + __warnattr ("mbsrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__wcsrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps), + wcsrtombs); +extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __wcsrtombs_chk) + __warnattr ("wcsrtombs called with dst buffer smaller than len"); + +#ifdef __USE_XOPEN2K8 + +extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen) __THROW; +extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps), + mbsnrtowcs); +extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn, + (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps, + size_t __dstlen), __mbsnrtowcs_chk) + __warnattr ("mbsnrtowcs called with dst buffer smaller than len " + "* sizeof (wchar_t)"); + +extern size_t __wcsnrtombs_chk (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, size_t __dstlen) + __THROW; +extern size_t __REDIRECT_NTH (__wcsnrtombs_alias, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps), wcsnrtombs); +extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn, + (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps, + size_t __dstlen), __wcsnrtombs_chk) + __warnattr ("wcsnrtombs called with dst buffer smaller than len"); + +#endif + +#ifdef __USE_MISC +extern size_t __wcslcpy_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcpy_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcpy); + +extern size_t __wcslcat_chk (wchar_t *__dest, const wchar_t *__src, size_t __n, + size_t __destlen) __THROW; +extern size_t __REDIRECT_NTH (__wcslcat_alias, + (wchar_t *__dest, const wchar_t *__src, + size_t __n), wcslcat); +#endif /* __USE_MISC */ + +#endif /* bits/wchar2-decl.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2.h new file mode 100644 index 00000000..0bf64438 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wchar2.h @@ -0,0 +1,360 @@ +/* Checking macros for wchar functions. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _WCHAR_H +# error "Never include directly; use instead." +#endif + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wmemcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __s1), + const wchar_t *__restrict __s2, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __s1, sizeof (wchar_t), + "wmemcpy called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wmemcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wmemmove (__fortify_clang_overload_arg (wchar_t *, ,__s1), + const wchar_t *__s2, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __s1, sizeof (wchar_t), + "wmemmove called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wmemmove, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); +} + +#ifdef __USE_GNU +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wmempcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __s1), + const wchar_t *__restrict __s2, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __s1, sizeof (wchar_t), + "wmempcpy called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wmempcpy, __n, sizeof (wchar_t), + __glibc_objsize0 (__s1), + __s1, __s2, __n); +} +#endif + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wmemset (__fortify_clang_overload_arg (wchar_t *, ,__s), wchar_t __c, + size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __s, sizeof (wchar_t), + "wmemset called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wmemset, __n, sizeof (wchar_t), + __glibc_objsize0 (__s), + __s, __c, __n); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcscpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) +{ + size_t __sz = __glibc_objsize (__dest); + if (__sz != (size_t) -1) + return __wcscpy_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcscpy_alias (__dest, __src); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcpcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) +{ + size_t __sz = __glibc_objsize (__dest); + if (__sz != (size_t) -1) + return __wcpcpy_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcpcpy_alias (__dest, __src); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcsncpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __dest, sizeof (wchar_t), + "wcsncpy called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wcsncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcpncpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __dest, sizeof (wchar_t), + "wcpncpy called with length bigger " + "than size of destination buffer") +{ + return __glibc_fortify_n (wcpncpy, __n, sizeof (wchar_t), + __glibc_objsize (__dest), + __dest, __src, __n); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcscat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src)) +{ + size_t __sz = __glibc_objsize (__dest); + if (__sz != (size_t) -1) + return __wcscat_chk (__dest, __src, __sz / sizeof (wchar_t)); + return __wcscat_alias (__dest, __src); +} + +__fortify_function __attribute_overloadable__ wchar_t * +__NTH (wcsncat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) +{ + size_t __sz = __glibc_objsize (__dest); + if (__sz != (size_t) -1) + return __wcsncat_chk (__dest, __src, __n, __sz / sizeof (wchar_t)); + return __wcsncat_alias (__dest, __src, __n); +} + +#ifdef __USE_MISC +__fortify_function __attribute_overloadable__ size_t +__NTH (wcslcpy (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) + __fortify_clang_warning_only_if_bos0_lt2 (__n, __dest, sizeof (wchar_t), + "wcslcpy called with length bigger " + "than size of destination buffer") +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n + > __glibc_objsize (__dest) / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcpy_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcpy_alias (__dest, __src, __n); +} + +__fortify_function __attribute_overloadable__ size_t +__NTH (wcslcat (__fortify_clang_overload_arg (wchar_t *, __restrict, __dest), + const wchar_t *__restrict __src, size_t __n)) +{ + if (__glibc_objsize (__dest) != (size_t) -1 + && (!__builtin_constant_p (__n > __glibc_objsize (__dest) + / sizeof (wchar_t)) + || __n > __glibc_objsize (__dest) / sizeof (wchar_t))) + return __wcslcat_chk (__dest, __src, __n, + __glibc_objsize (__dest) / sizeof (wchar_t)); + return __wcslcat_alias (__dest, __src, __n); +} +#endif /* __USE_MISC */ + +#ifdef __va_arg_pack +__fortify_function int +__NTH (swprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, ...)) +{ + size_t __sz = __glibc_objsize (__s); + if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __sz / sizeof (wchar_t), __fmt, __va_arg_pack ()); + return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ()); +} +#elif __fortify_use_clang +__fortify_function_error_function __attribute_overloadable__ int +__NTH (swprintf (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), + size_t __n, const wchar_t *__restrict __fmt, ...)) +{ + __gnuc_va_list __fortify_ap; + __builtin_va_start (__fortify_ap, __fmt); + int __r; + if (__glibc_objsize (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + __r = __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __glibc_objsize (__s) / sizeof (wchar_t), + __fmt, __fortify_ap); + else + __r = __vswprintf_alias (__s, __n, __fmt, __fortify_ap); + __builtin_va_end (__fortify_ap); + return __r; +} +#elif !defined __cplusplus +/* XXX We might want to have support in gcc for swprintf. */ +# define swprintf(s, n, ...) \ + (__glibc_objsize (s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1 \ + ? __swprintf_chk (s, n, __USE_FORTIFY_LEVEL - 1, \ + __glibc_objsize (s) / sizeof (wchar_t), __VA_ARGS__) \ + : swprintf (s, n, __VA_ARGS__)) +#endif + +__fortify_function int +__NTH (vswprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __fmt, __gnuc_va_list __ap)) +{ + size_t __sz = __glibc_objsize (__s); + if (__sz != (size_t) -1 || __USE_FORTIFY_LEVEL > 1) + return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, + __sz / sizeof (wchar_t), __fmt, __ap); + return __vswprintf_alias (__s, __n, __fmt, __ap); +} + + +#if __USE_FORTIFY_LEVEL > 1 + +# ifdef __va_arg_pack +__fortify_function int +wprintf (const wchar_t *__restrict __fmt, ...) +{ + return __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); +} + +__fortify_function int +fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...) +{ + return __fwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, + __va_arg_pack ()); +} +# elif !defined __cplusplus +# define wprintf(...) \ + __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# define fwprintf(stream, ...) \ + __fwprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) +# endif + +__fortify_function int +vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vwprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} + +__fortify_function int +vfwprintf (__FILE *__restrict __stream, + const wchar_t *__restrict __fmt, __gnuc_va_list __ap) +{ + return __vfwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); +} + +#endif +__fortify_function __attribute_overloadable__ __wur wchar_t * +fgetws (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), int __n, + __FILE *__restrict __stream) + __fortify_clang_warning_only_if_bos_lt2 (__n, __s, sizeof (wchar_t), + "fgetws called with length bigger " + "than size of destination buffer") +{ + size_t __sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_alias (__s, __n, __stream); +#if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_chk_warn (__s, __sz / sizeof (wchar_t), __n, __stream); +#endif + return __fgetws_chk (__s, __sz / sizeof (wchar_t), __n, __stream); +} + +#ifdef __USE_GNU +__fortify_function __attribute_overloadable__ __wur wchar_t * +fgetws_unlocked (__fortify_clang_overload_arg (wchar_t *, __restrict, __s), + int __n, __FILE *__restrict __stream) + __fortify_clang_warning_only_if_bos_lt2 (__n, __s, sizeof (wchar_t), + "fgetws_unlocked called with length bigger " + "than size of destination buffer") +{ + size_t __sz = __glibc_objsize (__s); + if (__glibc_safe_or_unknown_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_unlocked_alias (__s, __n, __stream); +# if !__fortify_use_clang + if (__glibc_unsafe_len (__n, sizeof (wchar_t), __sz)) + return __fgetws_unlocked_chk_warn (__s, __sz / sizeof (wchar_t), __n, + __stream); +# endif + return __fgetws_unlocked_chk (__s, __sz / sizeof (wchar_t), __n, __stream); +} +#endif + +__fortify_function __attribute_overloadable__ __wur size_t +__NTH (wcrtomb (__fortify_clang_overload_arg (char *, __restrict, __s), + wchar_t __wchar, mbstate_t *__restrict __ps)) +{ + /* We would have to include to get a definition of MB_LEN_MAX. + But this would only disturb the namespace. So we define our own + version here. */ +#define __WCHAR_MB_LEN_MAX 16 +#if defined MB_LEN_MAX && MB_LEN_MAX != __WCHAR_MB_LEN_MAX +# error "Assumed value of MB_LEN_MAX wrong" +#endif + if (__glibc_objsize (__s) != (size_t) -1 + && __WCHAR_MB_LEN_MAX > __glibc_objsize (__s)) + return __wcrtomb_chk (__s, __wchar, __ps, __glibc_objsize (__s)); + return __wcrtomb_alias (__s, __wchar, __ps); +} + +__fortify_function __attribute_overloadable__ size_t +__NTH (mbsrtowcs (__fortify_clang_overload_arg (wchar_t *, __restrict, __dst), + const char **__restrict __src, + size_t __len, mbstate_t *__restrict __ps)) + __fortify_clang_warning_only_if_bos_lt2 (__len, __dst, sizeof (wchar_t), + "mbsrtowcs called with dst buffer " + "smaller than len * sizeof (wchar_t)") +{ + return __glibc_fortify_n (mbsrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); +} + +__fortify_function __attribute_overloadable__ size_t +__NTH (wcsrtombs (__fortify_clang_overload_arg (char *, __restrict, __dst), + const wchar_t **__restrict __src, + size_t __len, mbstate_t *__restrict __ps)) + __fortify_clang_warning_only_if_bos_lt (__len, __dst, + "wcsrtombs called with dst buffer " + "smaller than len") +{ + return __glibc_fortify (wcsrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __len, __ps); +} + + +#ifdef __USE_XOPEN2K8 +__fortify_function __attribute_overloadable__ size_t +__NTH (mbsnrtowcs (__fortify_clang_overload_arg (wchar_t *, __restrict, __dst), + const char **__restrict __src, size_t __nmc, size_t __len, + mbstate_t *__restrict __ps)) + __fortify_clang_warning_only_if_bos_lt (sizeof (wchar_t) * __len, __dst, + "mbsnrtowcs called with dst buffer " + "smaller than len * sizeof (wchar_t)") +{ + return __glibc_fortify_n (mbsnrtowcs, __len, sizeof (wchar_t), + __glibc_objsize (__dst), + __dst, __src, __nmc, __len, __ps); +} + +__fortify_function __attribute_overloadable__ size_t +__NTH (wcsnrtombs (__fortify_clang_overload_arg (char *, __restrict, __dst), + const wchar_t **__restrict __src, size_t __nwc, + size_t __len, mbstate_t *__restrict __ps)) + __fortify_clang_warning_only_if_bos_lt (__len, __dst, + "wcsnrtombs called with dst buffer " + "smaller than len") +{ + return __glibc_fortify (wcsnrtombs, __len, sizeof (char), + __glibc_objsize (__dst), + __dst, __src, __nwc, __len, __ps); +} +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wctype-wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wctype-wchar.h new file mode 100644 index 00000000..3a73e923 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wctype-wchar.h @@ -0,0 +1,173 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.25 + * Wide character classification and mapping utilities + */ + +#ifndef _BITS_WCTYPE_WCHAR_H +#define _BITS_WCTYPE_WCHAR_H 1 + +#if !defined _WCTYPE_H && !defined _WCHAR_H +#error "Never include directly; include or instead." +#endif + +#include +#include + +/* The definitions in this header are specified to appear in + in ISO C99, but in in Unix98. _GNU_SOURCE follows C99. */ + +/* Scalar type that can hold values which represent locale-specific + character classifications. */ +typedef unsigned long int wctype_t; + +# ifndef _ISwbit +/* The characteristics are stored always in network byte order (big + endian). We define the bit value interpretations here dependent on the + machine's byte order. */ + +# include +# if __BYTE_ORDER == __BIG_ENDIAN +# define _ISwbit(bit) (1 << (bit)) +# else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +# define _ISwbit(bit) \ + ((bit) < 8 ? (int) ((1UL << (bit)) << 24) \ + : ((bit) < 16 ? (int) ((1UL << (bit)) << 8) \ + : ((bit) < 24 ? (int) ((1UL << (bit)) >> 8) \ + : (int) ((1UL << (bit)) >> 24)))) +# endif + +enum +{ + __ISwupper = 0, /* UPPERCASE. */ + __ISwlower = 1, /* lowercase. */ + __ISwalpha = 2, /* Alphabetic. */ + __ISwdigit = 3, /* Numeric. */ + __ISwxdigit = 4, /* Hexadecimal numeric. */ + __ISwspace = 5, /* Whitespace. */ + __ISwprint = 6, /* Printing. */ + __ISwgraph = 7, /* Graphical. */ + __ISwblank = 8, /* Blank (usually SPC and TAB). */ + __ISwcntrl = 9, /* Control character. */ + __ISwpunct = 10, /* Punctuation. */ + __ISwalnum = 11, /* Alphanumeric. */ + + _ISwupper = _ISwbit (__ISwupper), /* UPPERCASE. */ + _ISwlower = _ISwbit (__ISwlower), /* lowercase. */ + _ISwalpha = _ISwbit (__ISwalpha), /* Alphabetic. */ + _ISwdigit = _ISwbit (__ISwdigit), /* Numeric. */ + _ISwxdigit = _ISwbit (__ISwxdigit), /* Hexadecimal numeric. */ + _ISwspace = _ISwbit (__ISwspace), /* Whitespace. */ + _ISwprint = _ISwbit (__ISwprint), /* Printing. */ + _ISwgraph = _ISwbit (__ISwgraph), /* Graphical. */ + _ISwblank = _ISwbit (__ISwblank), /* Blank (usually SPC and TAB). */ + _ISwcntrl = _ISwbit (__ISwcntrl), /* Control character. */ + _ISwpunct = _ISwbit (__ISwpunct), /* Punctuation. */ + _ISwalnum = _ISwbit (__ISwalnum) /* Alphanumeric. */ +}; +# endif /* Not _ISwbit */ + + +__BEGIN_DECLS + +/* + * Wide-character classification functions: 7.15.2.1. + */ + +/* Test for any wide character for which `iswalpha' or `iswdigit' is + true. */ +extern int iswalnum (wint_t __wc) __THROW; + +/* Test for any wide character for which `iswupper' or 'iswlower' is + true, or any wide character that is one of a locale-specific set of + wide-characters for which none of `iswcntrl', `iswdigit', + `iswpunct', or `iswspace' is true. */ +extern int iswalpha (wint_t __wc) __THROW; + +/* Test for any control wide character. */ +extern int iswcntrl (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to a decimal-digit + character. */ +extern int iswdigit (wint_t __wc) __THROW; + +/* Test for any wide character for which `iswprint' is true and + `iswspace' is false. */ +extern int iswgraph (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to a lowercase letter + or is one of a locale-specific set of wide characters for which + none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ +extern int iswlower (wint_t __wc) __THROW; + +/* Test for any printing wide character. */ +extern int iswprint (wint_t __wc) __THROW; + +/* Test for any printing wide character that is one of a + locale-specific et of wide characters for which neither `iswspace' + nor `iswalnum' is true. */ +extern int iswpunct (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to a locale-specific + set of wide characters for which none of `iswalnum', `iswgraph', or + `iswpunct' is true. */ +extern int iswspace (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to an uppercase letter + or is one of a locale-specific set of wide character for which none + of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ +extern int iswupper (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to a hexadecimal-digit + character equivalent to that performed be the functions described + in the previous subclause. */ +extern int iswxdigit (wint_t __wc) __THROW; + +/* Test for any wide character that corresponds to a standard blank + wide character or a locale-specific set of wide characters for + which `iswalnum' is false. */ +# ifdef __USE_ISOC99 +extern int iswblank (wint_t __wc) __THROW; +# endif + +/* + * Extensible wide-character classification functions: 7.15.2.2. + */ + +/* Construct value that describes a class of wide characters identified + by the string argument PROPERTY. */ +extern wctype_t wctype (const char *__property) __THROW; + +/* Determine whether the wide-character WC has the property described by + DESC. */ +extern int iswctype (wint_t __wc, wctype_t __desc) __THROW; + +/* + * Wide-character case-mapping functions: 7.15.3.1. + */ + +/* Converts an uppercase letter to the corresponding lowercase letter. */ +extern wint_t towlower (wint_t __wc) __THROW; + +/* Converts an lowercase letter to the corresponding uppercase letter. */ +extern wint_t towupper (wint_t __wc) __THROW; + +__END_DECLS + +#endif /* bits/wctype-wchar.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wordsize.h new file mode 100644 index 00000000..487102dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/wordsize.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#include + +#define __WORDSIZE _MIPS_SZPTR + +#define __WORDSIZE_TIME64_COMPAT32 1 + +#if __WORDSIZE == 32 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/xopen_lim.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/xopen_lim.h new file mode 100644 index 00000000..a6c7c2ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/bits/xopen_lim.h @@ -0,0 +1,148 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +/* Additional definitions from X/Open Portability Guide, Issue 4, Version 2 + System Interfaces and Headers, 4.16 + + Please note only the values which are not greater than the minimum + stated in the standard document are listed. The `sysconf' functions + should be used to obtain the actual value. */ + +#ifndef _XOPEN_LIM_H +#define _XOPEN_LIM_H 1 + +/* We do not provide fixed values for + + ARG_MAX Maximum length of argument to the `exec' function + including environment data. + + ATEXIT_MAX Maximum number of functions that may be registered + with `atexit'. + + CHILD_MAX Maximum number of simultaneous processes per real + user ID. + + OPEN_MAX Maximum number of files that one process can have open + at anyone time. + + PAGESIZE + PAGE_SIZE Size of bytes of a page. + + PASS_MAX Maximum number of significant bytes in a password. + + We only provide a fixed limit for + + IOV_MAX Maximum number of `iovec' structures that one process has + available for use with `readv' or writev'. + + if this is indeed fixed by the underlying system. +*/ + + +/* Maximum number of `iovec' structures that may be used in a single call + to `readv', `writev', etc. */ +#define _XOPEN_IOV_MAX _POSIX_UIO_MAXIOV + +#include +#ifdef __IOV_MAX +# define IOV_MAX __IOV_MAX +#else +# undef IOV_MAX +#endif + +/* Maximum value of `digit' in calls to the `printf' and `scanf' + functions. We have no limit, so return a reasonable value. */ +#define NL_ARGMAX _POSIX_ARG_MAX + +/* Maximum number of bytes in a `LANG' name. We have no limit. */ +#define NL_LANGMAX _POSIX2_LINE_MAX + +/* Maximum message number. We have no limit. */ +#define NL_MSGMAX INT_MAX + +/* Maximum number of bytes in N-to-1 collation mapping. We have no + limit. */ +#if defined __USE_GNU || !defined __USE_XOPEN2K8 +# define NL_NMAX INT_MAX +#endif + +/* Maximum set number. We have no limit. */ +#define NL_SETMAX INT_MAX + +/* Maximum number of bytes in a message. We have no limit. */ +#define NL_TEXTMAX INT_MAX + +/* Default process priority. */ +#define NZERO 20 + + +/* Number of bits in a word of type `int'. */ +#ifdef INT_MAX +# if INT_MAX == 32767 +# define WORD_BIT 16 +# else +# if INT_MAX == 2147483647 +# define WORD_BIT 32 +# else +/* Safe assumption. */ +# define WORD_BIT 64 +# endif +# endif +#elif defined __INT_MAX__ +# if __INT_MAX__ == 32767 +# define WORD_BIT 16 +# else +# if __INT_MAX__ == 2147483647 +# define WORD_BIT 32 +# else +/* Safe assumption. */ +# define WORD_BIT 64 +# endif +# endif +#else +# define WORD_BIT 32 +#endif + +/* Number of bits in a word of type `long int'. */ +#ifdef LONG_MAX +# if LONG_MAX == 2147483647 +# define LONG_BIT 32 +# else +/* Safe assumption. */ +# define LONG_BIT 64 +# endif +#elif defined __LONG_MAX__ +# if __LONG_MAX__ == 2147483647 +# define LONG_BIT 32 +# else +/* Safe assumption. */ +# define LONG_BIT 64 +# endif +#else +# include +# if __WORDSIZE == 64 +# define LONG_BIT 64 +# else +# define LONG_BIT 32 +# endif +#endif + +#endif /* bits/xopen_lim.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/byteswap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/byteswap.h new file mode 100644 index 00000000..08f07867 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/byteswap.h @@ -0,0 +1,40 @@ +/* Swap byte order for 16, 32 and 64 bit values + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BYTESWAP_H +#define _BYTESWAP_H 1 + +#include + +/* Get the machine specific, optimized definitions. */ +#include + + +/* The following definitions must all be macros, otherwise some + of the possible optimizations are not possible. */ + +/* Return a value with both bytes in the 16 bit argument swapped. */ +#define bswap_16(x) __bswap_16 (x) + +/* Return a value with all bytes in the 32 bit argument swapped. */ +#define bswap_32(x) __bswap_32 (x) + +/* Return a value with all bytes in the 64 bit argument swapped. */ +#define bswap_64(x) __bswap_64 (x) + +#endif /* byteswap.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/complex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/complex.h new file mode 100644 index 00000000..294bfb21 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/complex.h @@ -0,0 +1,250 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99: 7.3 Complex arithmetic + */ + +#ifndef _COMPLEX_H +#define _COMPLEX_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Get general and ISO C99 specific information. */ +#include + +/* Gather machine-dependent _FloatN type support. */ +#include + +__BEGIN_DECLS + +/* We might need to add support for more compilers here. But since ISO + C99 is out hopefully all maintained compilers will soon provide the data + types `float complex' and `double complex'. */ +#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97) +# define _Complex __complex__ +#endif + +#define complex _Complex + +/* Narrowest imaginary unit. This depends on the floating-point + evaluation method. + XXX This probably has to go into a gcc related file. */ +#define _Complex_I (__extension__ 1.0iF) + +/* Another more descriptive name is `I'. + XXX Once we have the imaginary support switch this to _Imaginary_I. */ +#undef I +#define I _Complex_I + +#if defined __USE_ISOC11 \ + && (__GNUC_PREREQ (4, 7) || __glibc_clang_prereq (12, 0)) +/* Macros to expand into expression of specified complex type. */ +# define CMPLX(x, y) __builtin_complex ((double) (x), (double) (y)) +# define CMPLXF(x, y) __builtin_complex ((float) (x), (float) (y)) +# define CMPLXL(x, y) __builtin_complex ((long double) (x), (long double) (y)) +#endif + +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF16(x, y) __builtin_complex ((_Float16) (x), (_Float16) (y)) +#endif + +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF32(x, y) __builtin_complex ((_Float32) (x), (_Float32) (y)) +#endif + +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF64(x, y) __builtin_complex ((_Float64) (x), (_Float64) (y)) +#endif + +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF128(x, y) __builtin_complex ((_Float128) (x), (_Float128) (y)) +#endif + +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF32X(x, y) __builtin_complex ((_Float32x) (x), (_Float32x) (y)) +#endif + +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF64X(x, y) __builtin_complex ((_Float64x) (x), (_Float64x) (y)) +#endif + +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define CMPLXF128X(x, y) \ + __builtin_complex ((_Float128x) (x), (_Float128x) (y)) +#endif + +/* The file contains the prototypes for all the + actual math functions. These macros are used for those prototypes, + so we can easily declare each function as both `name' and `__name', + and can declare the float versions `namef' and `__namef'. */ + +#define __MATHCALL(function, args) \ + __MATHDECL (_Mdouble_complex_,function, args) +#define __MATHDECL_IMPL(type, function, args) \ + __MATHDECL_1(type, function, args); \ + __MATHDECL_1(type, __CONCAT(__,function), args) +#define __MATHDECL(type, function, args) \ + __MATHDECL_IMPL(type, function, args) +#define __MATHDECL_1_IMPL(type, function, args) \ + extern type __MATH_PRECNAME(function) args __THROW +#define __MATHDECL_1(type, function, args) \ + __MATHDECL_1_IMPL(type, function, args) + +#define _Mdouble_ double +#define __MATH_PRECNAME(name) name +#include +#undef _Mdouble_ +#undef __MATH_PRECNAME + +/* Now the float versions. */ +#define _Mdouble_ float +#define __MATH_PRECNAME(name) name##f +#include +#undef _Mdouble_ +#undef __MATH_PRECNAME + +/* And the long double versions. It is non-critical to define them + here unconditionally since `long double' is required in ISO C99. */ +#if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \ + || defined __LDBL_COMPAT +# ifdef __LDBL_COMPAT +# undef __MATHDECL_1 +# define __MATHDECL_1(type, function, args) \ + extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function) +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# undef __MATHDECL_1 +# undef __MATHDECL +# define __REDIR_TO(function) \ + __ ## function ## ieee128 +# define __MATHDECL_1(type, function, alias, args) \ + extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, alias) +#define __MATHDECL(type, function, args) \ + __MATHDECL_1(type, function, __REDIR_TO(function), args); \ + __MATHDECL_1(type, __CONCAT(__,function), __REDIR_TO(function), args) +# endif + +# define _Mdouble_ long double +# define __MATH_PRECNAME(name) name##l +# include +# if defined __LDBL_COMPAT \ + || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# undef __REDIR_TO +# undef __MATHDECL_1 +# undef __MATHDECL +#define __MATHDECL(type, function, args) \ + __MATHDECL_IMPL(type, function, args) +# define __MATHDECL_1(type, function, args) \ + __MATHDECL_1_IMPL(type, function, args) +# endif +#endif +#undef _Mdouble_ +#undef __MATH_PRECNAME + +#if (__HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT16 +# define _Mdouble_ _Float16 +# define __MATH_PRECNAME(name) name##f16 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT32 +# define _Mdouble_ _Float32 +# define __MATH_PRECNAME(name) name##f32 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT64 +# define _Mdouble_ _Float64 +# define __MATH_PRECNAME(name) name##f64 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT128 +# define _Mdouble_ _Float128 +# define __MATH_PRECNAME(name) name##f128 +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT32X +# define _Mdouble_ _Float32x +# define __MATH_PRECNAME(name) name##f32x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT64X +# define _Mdouble_ _Float64x +# define __MATH_PRECNAME(name) name##f64x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#if (__HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC)) \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) +# undef _Mdouble_complex_ +# define _Mdouble_complex_ __CFLOAT128X +# define _Mdouble_ _Float128x +# define __MATH_PRECNAME(name) name##f128x +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef _Mdouble_complex_ +#endif + +#undef __MATHDECL_1_IMPL +#undef __MATHDECL_1 +#undef __MATHDECL +#undef __MATHCALL + +__END_DECLS + +#endif /* complex.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/cpio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/cpio.h new file mode 100644 index 00000000..7671ebd3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/cpio.h @@ -0,0 +1,73 @@ +/* Extended cpio format from POSIX.1. + This file is part of the GNU C Library. + Copyright (C) 1992-2025 Free Software Foundation, Inc. + NOTE: The canonical source of this file is maintained with the GNU cpio. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _CPIO_H +#define _CPIO_H 1 + +/* A cpio archive consists of a sequence of files. + Each file has a 76 byte header, + a variable length, NUL terminated filename, + and variable length file data. + A header for a filename "TRAILER!!!" indicates the end of the archive. */ + +/* All the fields in the header are ISO 646 (approximately ASCII) strings + of octal numbers, left padded, not NUL terminated. + + Field Name Length in Bytes Notes + c_magic 6 must be "070707" + c_dev 6 + c_ino 6 + c_mode 6 see below for value + c_uid 6 + c_gid 6 + c_nlink 6 + c_rdev 6 only valid for chr and blk special files + c_mtime 11 + c_namesize 6 count includes terminating NUL in pathname + c_filesize 11 must be 0 for FIFOs and directories */ + +/* Value for the field `c_magic'. */ +#define MAGIC "070707" + +/* Values for c_mode, OR'd together: */ + +#define C_IRUSR 000400 +#define C_IWUSR 000200 +#define C_IXUSR 000100 +#define C_IRGRP 000040 +#define C_IWGRP 000020 +#define C_IXGRP 000010 +#define C_IROTH 000004 +#define C_IWOTH 000002 +#define C_IXOTH 000001 + +#define C_ISUID 004000 +#define C_ISGID 002000 +#define C_ISVTX 001000 + +#define C_ISBLK 060000 +#define C_ISCHR 020000 +#define C_ISDIR 040000 +#define C_ISFIFO 010000 +#define C_ISSOCK 0140000 +#define C_ISLNK 0120000 +#define C_ISCTG 0110000 +#define C_ISREG 0100000 + +#endif /* cpio.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ctype.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ctype.h new file mode 100644 index 00000000..61a1f174 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ctype.h @@ -0,0 +1,329 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard 7.4: Character handling + */ + +#ifndef _CTYPE_H +#define _CTYPE_H 1 + +#include +#include + +__BEGIN_DECLS + +#ifndef _ISbit +/* These are all the characteristics of characters. + If there get to be more than 16 distinct characteristics, + many things must be changed that use `unsigned short int's. + + The characteristics are stored always in network byte order (big + endian). We define the bit value interpretations here dependent on the + machine's byte order. */ + +# include +# if __BYTE_ORDER == __BIG_ENDIAN +# define _ISbit(bit) (1 << (bit)) +# else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +# define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8)) +# endif + +enum +{ + _ISupper = _ISbit (0), /* UPPERCASE. */ + _ISlower = _ISbit (1), /* lowercase. */ + _ISalpha = _ISbit (2), /* Alphabetic. */ + _ISdigit = _ISbit (3), /* Numeric. */ + _ISxdigit = _ISbit (4), /* Hexadecimal numeric. */ + _ISspace = _ISbit (5), /* Whitespace. */ + _ISprint = _ISbit (6), /* Printing. */ + _ISgraph = _ISbit (7), /* Graphical. */ + _ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */ + _IScntrl = _ISbit (9), /* Control character. */ + _ISpunct = _ISbit (10), /* Punctuation. */ + _ISalnum = _ISbit (11) /* Alphanumeric. */ +}; +#endif /* ! _ISbit */ + +/* These are defined in ctype-info.c. + The declarations here must match those in localeinfo.h. + + In the thread-specific locale model (see `uselocale' in ) + we cannot use global variables for these as was done in the past. + Instead, the following accessor functions return the address of + each variable, which is local to the current thread if multithreaded. + + These point into arrays of 384, so they can be indexed by any `unsigned + char' value [0,255]; by EOF (-1); or by any `signed char' value + [-128,-1). ISO C requires that the ctype functions work for `unsigned + char' values and for EOF; we also support negative `signed char' values + for broken old programs. The case conversion arrays are of `int's + rather than `unsigned char's because tolower (EOF) must be EOF, which + doesn't fit into an `unsigned char'. But today more important is that + the arrays are also used for multi-byte character sets. */ +extern const unsigned short int **__ctype_b_loc (void) + __THROW __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + __THROW __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + __THROW __attribute__ ((__const__)); + + +#ifndef __cplusplus +# define __isctype(c, type) \ + ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type) +#elif defined __USE_EXTERN_INLINES +# define __isctype_f(type) \ + __extern_inline int \ + is##type (int __c) __THROW \ + { \ + return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \ + } +#endif + +#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */ +#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */ + +#define __exctype(name) extern int name (int) __THROW + +/* The following names are all functions: + int isCHARACTERISTIC(int c); + which return nonzero iff C has CHARACTERISTIC. + For the meaning of the characteristic names, see the `enum' above. */ +__exctype (isalnum); +__exctype (isalpha); +__exctype (iscntrl); +__exctype (isdigit); +__exctype (islower); +__exctype (isgraph); +__exctype (isprint); +__exctype (ispunct); +__exctype (isspace); +__exctype (isupper); +__exctype (isxdigit); + + +/* Return the lowercase version of C. */ +extern int tolower (int __c) __THROW; + +/* Return the uppercase version of C. */ +extern int toupper (int __c) __THROW; + + +/* ISO C99 introduced one new function. */ +#ifdef __USE_ISOC99 +__exctype (isblank); +#endif + +#ifdef __USE_GNU +/* Test C for a set of character classes according to MASK. */ +extern int isctype (int __c, int __mask) __THROW; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN + +/* Return nonzero iff C is in the ASCII set + (i.e., is no more than 7 bits wide). */ +extern int isascii (int __c) __THROW; + +/* Return the part of C that is in the ASCII set + (i.e., the low-order 7 bits of C). */ +extern int toascii (int __c) __THROW; + +/* These are the same as `toupper' and `tolower' except that they do not + check the argument for being in the range of a `char'. */ +__exctype (_toupper); +__exctype (_tolower); +#endif /* Use X/Open or use misc. */ + +/* This code is needed for the optimized mapping functions. */ +#define __tobody(c, f, a, args) \ + (__extension__ \ + ({ int __res; \ + if (sizeof (c) > 1) \ + { \ + if (__builtin_constant_p (c)) \ + { \ + int __c = (c); \ + __res = __c < -128 || __c > 255 ? __c : (a)[__c]; \ + } \ + else \ + __res = f args; \ + } \ + else \ + __res = (a)[(int) (c)]; \ + __res; })) + +#if !defined __NO_CTYPE +# ifdef __isctype_f +__isctype_f (alnum) +__isctype_f (alpha) +__isctype_f (cntrl) +__isctype_f (digit) +__isctype_f (lower) +__isctype_f (graph) +__isctype_f (print) +__isctype_f (punct) +__isctype_f (space) +__isctype_f (upper) +__isctype_f (xdigit) +# ifdef __USE_ISOC99 +__isctype_f (blank) +# endif +# elif defined __isctype +# define isalnum(c) __isctype((c), _ISalnum) +# define isalpha(c) __isctype((c), _ISalpha) +# define iscntrl(c) __isctype((c), _IScntrl) +# define isdigit(c) __isctype((c), _ISdigit) +# define islower(c) __isctype((c), _ISlower) +# define isgraph(c) __isctype((c), _ISgraph) +# define isprint(c) __isctype((c), _ISprint) +# define ispunct(c) __isctype((c), _ISpunct) +# define isspace(c) __isctype((c), _ISspace) +# define isupper(c) __isctype((c), _ISupper) +# define isxdigit(c) __isctype((c), _ISxdigit) +# ifdef __USE_ISOC99 +# define isblank(c) __isctype((c), _ISblank) +# endif +# endif + +# ifdef __USE_EXTERN_INLINES +__extern_inline int +__NTH (tolower (int __c)) +{ + return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c; +} + +__extern_inline int +__NTH (toupper (int __c)) +{ + return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c; +} +# endif + +# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus +# define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c)) +# define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c)) +# endif /* Optimizing gcc */ + +# if defined __USE_MISC || defined __USE_XOPEN +# define isascii(c) __isascii (c) +# define toascii(c) __toascii (c) + +# define _tolower(c) ((int) (*__ctype_tolower_loc ())[(int) (c)]) +# define _toupper(c) ((int) (*__ctype_toupper_loc ())[(int) (c)]) +# endif + +#endif /* Not __NO_CTYPE. */ + + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* These definitions are similar to the ones above but all functions + take as an argument a handle for the locale which shall be used. */ +# define __isctype_l(c, type, locale) \ + ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) + +# define __exctype_l(name) \ + extern int name (int, locale_t) __THROW + +/* The following names are all functions: + int isCHARACTERISTIC(int c, locale_t *locale); + which return nonzero iff C has CHARACTERISTIC. + For the meaning of the characteristic names, see the `enum' above. */ +__exctype_l (isalnum_l); +__exctype_l (isalpha_l); +__exctype_l (iscntrl_l); +__exctype_l (isdigit_l); +__exctype_l (islower_l); +__exctype_l (isgraph_l); +__exctype_l (isprint_l); +__exctype_l (ispunct_l); +__exctype_l (isspace_l); +__exctype_l (isupper_l); +__exctype_l (isxdigit_l); + +__exctype_l (isblank_l); + + +/* Return the lowercase version of C in locale L. */ +extern int __tolower_l (int __c, locale_t __l) __THROW; +extern int tolower_l (int __c, locale_t __l) __THROW; + +/* Return the uppercase version of C. */ +extern int __toupper_l (int __c, locale_t __l) __THROW; +extern int toupper_l (int __c, locale_t __l) __THROW; + +# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus +# define __tolower_l(c, locale) \ + __tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale)) +# define __toupper_l(c, locale) \ + __tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale)) +# define tolower_l(c, locale) __tolower_l ((c), (locale)) +# define toupper_l(c, locale) __toupper_l ((c), (locale)) +# endif /* Optimizing gcc */ + + +# ifndef __NO_CTYPE +# define __isalnum_l(c,l) __isctype_l((c), _ISalnum, (l)) +# define __isalpha_l(c,l) __isctype_l((c), _ISalpha, (l)) +# define __iscntrl_l(c,l) __isctype_l((c), _IScntrl, (l)) +# define __isdigit_l(c,l) __isctype_l((c), _ISdigit, (l)) +# define __islower_l(c,l) __isctype_l((c), _ISlower, (l)) +# define __isgraph_l(c,l) __isctype_l((c), _ISgraph, (l)) +# define __isprint_l(c,l) __isctype_l((c), _ISprint, (l)) +# define __ispunct_l(c,l) __isctype_l((c), _ISpunct, (l)) +# define __isspace_l(c,l) __isctype_l((c), _ISspace, (l)) +# define __isupper_l(c,l) __isctype_l((c), _ISupper, (l)) +# define __isxdigit_l(c,l) __isctype_l((c), _ISxdigit, (l)) + +# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l)) + +# ifdef __USE_MISC +# define __isascii_l(c,l) ((l), __isascii (c)) +# define __toascii_l(c,l) ((l), __toascii (c)) +# endif + +# define isalnum_l(c,l) __isalnum_l ((c), (l)) +# define isalpha_l(c,l) __isalpha_l ((c), (l)) +# define iscntrl_l(c,l) __iscntrl_l ((c), (l)) +# define isdigit_l(c,l) __isdigit_l ((c), (l)) +# define islower_l(c,l) __islower_l ((c), (l)) +# define isgraph_l(c,l) __isgraph_l ((c), (l)) +# define isprint_l(c,l) __isprint_l ((c), (l)) +# define ispunct_l(c,l) __ispunct_l ((c), (l)) +# define isspace_l(c,l) __isspace_l ((c), (l)) +# define isupper_l(c,l) __isupper_l ((c), (l)) +# define isxdigit_l(c,l) __isxdigit_l ((c), (l)) + +# define isblank_l(c,l) __isblank_l ((c), (l)) + +# ifdef __USE_MISC +# define isascii_l(c,l) __isascii_l ((c), (l)) +# define toascii_l(c,l) __toascii_l ((c), (l)) +# endif + +# endif /* Not __NO_CTYPE. */ + +#endif /* Use POSIX 2008. */ + +__END_DECLS + +#endif /* ctype.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dirent.h new file mode 100644 index 00000000..39457fdd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dirent.h @@ -0,0 +1,408 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 5.1.2 Directory Operations + */ + +#ifndef _DIRENT_H +#define _DIRENT_H 1 + +#include + +__BEGIN_DECLS + +#include + +#ifdef __USE_XOPEN +# ifndef __ino_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __ino_t ino_t; +# else +typedef __ino64_t ino_t; +# endif +# define __ino_t_defined +# endif +# if defined __USE_LARGEFILE64 && !defined __ino64_t_defined +typedef __ino64_t ino64_t; +# define __ino64_t_defined +# endif +#endif + +/* This file defines `struct dirent'. + + It defines the macro `_DIRENT_HAVE_D_NAMLEN' iff there is a `d_namlen' + member that gives the length of `d_name'. + + It defines the macro `_DIRENT_HAVE_D_RECLEN' iff there is a `d_reclen' + member that gives the size of the entire directory entry. + + It defines the macro `_DIRENT_HAVE_D_OFF' iff there is a `d_off' + member that gives the file offset of the next directory entry. + + It defines the macro `_DIRENT_HAVE_D_TYPE' iff there is a `d_type' + member that gives the type of the file. + */ + +#include + +#if defined __USE_MISC && !defined d_fileno +# define d_ino d_fileno /* Backward compatibility. */ +#endif + +/* These macros extract size information from a `struct dirent *'. + They may evaluate their argument multiple times, so it must not + have side effects. Each of these may involve a relatively costly + call to `strlen' on some systems, so these values should be cached. + + _D_EXACT_NAMLEN (DP) returns the length of DP->d_name, not including + its terminating null character. + + _D_ALLOC_NAMLEN (DP) returns a size at least (_D_EXACT_NAMLEN (DP) + 1); + that is, the allocation size needed to hold the DP->d_name string. + Use this macro when you don't need the exact length, just an upper bound. + This macro is less likely to require calling `strlen' than _D_EXACT_NAMLEN. + */ + +#ifdef _DIRENT_HAVE_D_NAMLEN +# define _D_EXACT_NAMLEN(d) ((d)->d_namlen) +# define _D_ALLOC_NAMLEN(d) (_D_EXACT_NAMLEN (d) + 1) +#else +# define _D_EXACT_NAMLEN(d) (strlen ((d)->d_name)) +# ifdef _DIRENT_HAVE_D_RECLEN +# define _D_ALLOC_NAMLEN(d) (((char *) (d) + (d)->d_reclen) - &(d)->d_name[0]) +# else +# define _D_ALLOC_NAMLEN(d) (sizeof (d)->d_name > 1 ? sizeof (d)->d_name \ + : _D_EXACT_NAMLEN (d) + 1) +# endif +#endif + + +#ifdef __USE_MISC +/* File types for `d_type'. */ +enum + { + DT_UNKNOWN = 0, +# define DT_UNKNOWN DT_UNKNOWN + DT_FIFO = 1, +# define DT_FIFO DT_FIFO + DT_CHR = 2, +# define DT_CHR DT_CHR + DT_DIR = 4, +# define DT_DIR DT_DIR + DT_BLK = 6, +# define DT_BLK DT_BLK + DT_REG = 8, +# define DT_REG DT_REG + DT_LNK = 10, +# define DT_LNK DT_LNK + DT_SOCK = 12, +# define DT_SOCK DT_SOCK + DT_WHT = 14 +# define DT_WHT DT_WHT + }; + +/* Convert between stat structure types and directory types. */ +# define IFTODT(mode) (((mode) & 0170000) >> 12) +# define DTTOIF(dirtype) ((dirtype) << 12) +#endif + + +/* This is the data type of directory stream objects. + The actual structure is opaque to users. */ +typedef struct __dirstream DIR; + +/* Close the directory stream DIRP. + Return 0 if successful, -1 if not. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int closedir (DIR *__dirp) __nonnull ((1)); + +/* Open a directory stream on NAME. + Return a DIR stream on the directory, or NULL if it could not be opened. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *opendir (const char *__name) __nonnull ((1)) + __attribute_malloc__ __attr_dealloc (closedir, 1); + +#ifdef __USE_XOPEN2K8 +/* Same as opendir, but open the stream on the file descriptor FD. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern DIR *fdopendir (int __fd) + __attribute_malloc__ __attr_dealloc (closedir, 1); +#endif + +/* Read a directory entry from DIRP. Return a pointer to a `struct + dirent' describing the entry, or NULL for EOF or error. The + storage returned may be overwritten by a later readdir call on the + same DIR stream. + + If the Large File Support API is selected we have to use the + appropriate interface. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern struct dirent *readdir (DIR *__dirp) __nonnull ((1)); +#else +# ifdef __REDIRECT +extern struct dirent *__REDIRECT (readdir, (DIR *__dirp), readdir64) + __nonnull ((1)); +# else +# define readdir readdir64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern struct dirent64 *readdir64 (DIR *__dirp) __nonnull ((1)); +#endif + +#ifdef __USE_POSIX +/* Reentrant version of `readdir'. Return in RESULT a pointer to the + next entry. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int readdir_r (DIR *__restrict __dirp, + struct dirent *__restrict __entry, + struct dirent **__restrict __result) + __nonnull ((1, 2, 3)) __attribute_deprecated__; +# else +# ifdef __REDIRECT +extern int __REDIRECT (readdir_r, + (DIR *__restrict __dirp, + struct dirent *__restrict __entry, + struct dirent **__restrict __result), + readdir64_r) + __nonnull ((1, 2, 3)) __attribute_deprecated__; +# else +# define readdir_r readdir64_r +# endif +# endif + +# ifdef __USE_LARGEFILE64 +extern int readdir64_r (DIR *__restrict __dirp, + struct dirent64 *__restrict __entry, + struct dirent64 **__restrict __result) + __nonnull ((1, 2, 3)) __attribute_deprecated__; +# endif +#endif /* POSIX or misc */ + +/* Rewind DIRP to the beginning of the directory. */ +extern void rewinddir (DIR *__dirp) __THROW __nonnull ((1)); + +#if defined __USE_MISC || defined __USE_XOPEN +# include + +/* Seek to position POS on DIRP. */ +extern void seekdir (DIR *__dirp, long int __pos) __THROW __nonnull ((1)); + +/* Return the current position of DIRP. */ +extern long int telldir (DIR *__dirp) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_XOPEN2K8 + +/* Return the file descriptor used by DIRP. */ +extern int dirfd (DIR *__dirp) __THROW __nonnull ((1)); + +# if defined __OPTIMIZE__ && defined _DIR_dirfd +# define dirfd(dirp) _DIR_dirfd (dirp) +# endif + +# ifdef __USE_MISC +# ifndef MAXNAMLEN +/* Get the definitions of the POSIX.1 limits. */ +# include + +/* `MAXNAMLEN' is the BSD name for what POSIX calls `NAME_MAX'. */ +# ifdef NAME_MAX +# define MAXNAMLEN NAME_MAX +# else +# define MAXNAMLEN 255 +# endif +# endif +# endif + +# define __need_size_t +# include + +/* Scan the directory DIR, calling SELECTOR on each directory entry. + Entries for which SELECT returns nonzero are individually malloc'd, + sorted using qsort with CMP, and collected in a malloc'd array in + *NAMELIST. Returns the number of entries selected, or -1 on error. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int scandir (const char *__restrict __dir, + struct dirent ***__restrict __namelist, + int (*__selector) (const struct dirent *), + int (*__cmp) (const struct dirent **, + const struct dirent **)) + __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (scandir, + (const char *__restrict __dir, + struct dirent ***__restrict __namelist, + int (*__selector) (const struct dirent *), + int (*__cmp) (const struct dirent **, + const struct dirent **)), + scandir64) __nonnull ((1, 2)); +# else +# define scandir scandir64 +# endif +# endif + +# if defined __USE_GNU && defined __USE_LARGEFILE64 +/* This function is like `scandir' but it uses the 64bit dirent structure. + Please note that the CMP function must now work with struct dirent64 **. */ +extern int scandir64 (const char *__restrict __dir, + struct dirent64 ***__restrict __namelist, + int (*__selector) (const struct dirent64 *), + int (*__cmp) (const struct dirent64 **, + const struct dirent64 **)) + __nonnull ((1, 2)); +# endif + +# ifdef __USE_GNU +/* Similar to `scandir' but a relative DIR name is interpreted relative + to the directory for which DFD is a descriptor. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int scandirat (int __dfd, const char *__restrict __dir, + struct dirent ***__restrict __namelist, + int (*__selector) (const struct dirent *), + int (*__cmp) (const struct dirent **, + const struct dirent **)) + __nonnull ((2, 3)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (scandirat, + (int __dfd, const char *__restrict __dir, + struct dirent ***__restrict __namelist, + int (*__selector) (const struct dirent *), + int (*__cmp) (const struct dirent **, + const struct dirent **)), + scandirat64) __nonnull ((2, 3)); +# else +# define scandirat scandirat64 +# endif +# endif + +/* This function is like `scandir' but it uses the 64bit dirent structure. + Please note that the CMP function must now work with struct dirent64 **. */ +extern int scandirat64 (int __dfd, const char *__restrict __dir, + struct dirent64 ***__restrict __namelist, + int (*__selector) (const struct dirent64 *), + int (*__cmp) (const struct dirent64 **, + const struct dirent64 **)) + __nonnull ((2, 3)); +# endif + +/* Function to compare two `struct dirent's alphabetically. */ +# ifndef __USE_FILE_OFFSET64 +extern int alphasort (const struct dirent **__e1, + const struct dirent **__e2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (alphasort, + (const struct dirent **__e1, + const struct dirent **__e2), + alphasort64) __attribute_pure__ __nonnull ((1, 2)); +# else +# define alphasort alphasort64 +# endif +# endif + +# if defined __USE_GNU && defined __USE_LARGEFILE64 +extern int alphasort64 (const struct dirent64 **__e1, + const struct dirent64 **__e2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +# endif +#endif /* Use XPG7. */ + + +#ifdef __USE_MISC +/* Read directory entries from FD into BUF, reading at most NBYTES. + Reading starts at offset *BASEP, and *BASEP is updated with the new + position after reading. Returns the number of bytes read; zero when at + end of directory; or -1 for errors. */ +# ifndef __USE_FILE_OFFSET64 +extern __ssize_t getdirentries (int __fd, char *__restrict __buf, + size_t __nbytes, + __off_t *__restrict __basep) + __THROW __nonnull ((2, 4)); +# else +# ifdef __REDIRECT +extern __ssize_t __REDIRECT_NTH (getdirentries, + (int __fd, char *__restrict __buf, + size_t __nbytes, + __off64_t *__restrict __basep), + getdirentries64) __nonnull ((2, 4)); +# else +# define getdirentries getdirentries64 +# endif +# endif + +# ifdef __USE_LARGEFILE64 +extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf, + size_t __nbytes, + __off64_t *__restrict __basep) + __THROW __nonnull ((2, 4)); +# endif +#endif /* Use misc. */ + +#ifdef __USE_GNU +/* Function to compare two `struct dirent's by name & version. */ +# ifndef __USE_FILE_OFFSET64 +extern int versionsort (const struct dirent **__e1, + const struct dirent **__e2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (versionsort, + (const struct dirent **__e1, + const struct dirent **__e2), + versionsort64) + __attribute_pure__ __nonnull ((1, 2)); +# else +# define versionsort versionsort64 +# endif +# endif + +# ifdef __USE_LARGEFILE64 +extern int versionsort64 (const struct dirent64 **__e1, + const struct dirent64 **__e2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +# endif +#endif /* Use GNU. */ + +__END_DECLS + +#include + +#endif /* dirent.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dlfcn.h new file mode 100644 index 00000000..d1e540fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/dlfcn.h @@ -0,0 +1,232 @@ +/* User functions for run-time dynamic loading. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _DLFCN_H +#define _DLFCN_H 1 + +#include +#define __need_size_t +#include + +/* Collect various system dependent definitions and declarations. */ +#include + + +#ifdef __USE_GNU +#include + +/* Type for namespace indices. */ +typedef long int Lmid_t; + +/* Special namespace ID values. */ +# define LM_ID_BASE 0 /* Initial namespace. */ +# define LM_ID_NEWLM -1 /* For dlmopen: request new namespace. */ +#endif + +/* If the first argument of `dlsym' or `dlvsym' is set to RTLD_NEXT + the run-time address of the symbol called NAME in the next shared + object is returned. The "next" relation is defined by the order + the shared objects were loaded. */ +#define RTLD_NEXT ((void *) -1l) + +/* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT + the run-time address of the symbol called NAME in the global scope + is returned. */ +#define RTLD_DEFAULT ((void *) 0) + +__BEGIN_DECLS + +/* Open the shared object FILE and map it in; return a handle that can be + passed to `dlsym' to get symbol values from it. */ +extern void *dlopen (const char *__file, int __mode) __THROWNL; + +/* Unmap and close a shared object opened by `dlopen'. + The handle cannot be used again after calling `dlclose'. */ +extern int dlclose (void *__handle) __THROWNL __nonnull ((1)); + +/* Find the run-time address in the shared object HANDLE refers to + of the symbol called NAME. */ +extern void *dlsym (void *__restrict __handle, + const char *__restrict __name) __THROW __nonnull ((2)); + +#ifdef __USE_GNU +/* Like `dlopen', but request object to be allocated in a new namespace. */ +extern void *dlmopen (Lmid_t __nsid, const char *__file, int __mode) __THROWNL; + +/* Find the run-time address in the shared object HANDLE refers to + of the symbol called NAME with VERSION. */ +extern void *dlvsym (void *__restrict __handle, + const char *__restrict __name, + const char *__restrict __version) + __THROW __nonnull ((2, 3)); +#endif + +/* When any of the above functions fails, call this function + to return a string describing the error. Each call resets + the error string so that a following call returns null. */ +extern char *dlerror (void) __THROW; + + +#ifdef __USE_GNU +/* Structure containing information about object searched using + `dladdr'. */ +typedef struct +{ + const char *dli_fname; /* File name of defining object. */ + void *dli_fbase; /* Load address of that object. */ + const char *dli_sname; /* Name of nearest symbol. */ + void *dli_saddr; /* Exact value of nearest symbol. */ +} Dl_info; + +/* Fill in *INFO with the following information about ADDRESS. + Returns 0 iff no shared object's segments contain that address. */ +extern int dladdr (const void *__address, Dl_info *__info) + __THROW __nonnull ((2)); + +/* Same as `dladdr', but additionally sets *EXTRA_INFO according to FLAGS. */ +extern int dladdr1 (const void *__address, Dl_info *__info, + void **__extra_info, int __flags) __THROW __nonnull ((2)); + +/* These are the possible values for the FLAGS argument to `dladdr1'. + This indicates what extra information is stored at *EXTRA_INFO. + It may also be zero, in which case the EXTRA_INFO argument is not used. */ +enum + { + /* Matching symbol table entry (const ElfNN_Sym *). */ + RTLD_DL_SYMENT = 1, + + /* The object containing the address (struct link_map *). */ + RTLD_DL_LINKMAP = 2 + }; + + +/* Get information about the shared object HANDLE refers to. + REQUEST is from among the values below, and determines the use of ARG. + + On success, returns zero. On failure, returns -1 and records an error + message to be fetched with `dlerror'. */ +extern int dlinfo (void *__restrict __handle, + int __request, void *__restrict __arg) + __THROW __nonnull ((1, 3)); + +/* These are the possible values for the REQUEST argument to `dlinfo'. */ +enum + { + /* Treat ARG as `lmid_t *'; store namespace ID for HANDLE there. */ + RTLD_DI_LMID = 1, + + /* Treat ARG as `struct link_map **'; + store the `struct link_map *' for HANDLE there. */ + RTLD_DI_LINKMAP = 2, + + RTLD_DI_CONFIGADDR = 3, /* Unsupported, defined by Solaris. */ + + /* Treat ARG as `Dl_serinfo *' (see below), and fill in to describe the + directories that will be searched for dependencies of this object. + RTLD_DI_SERINFOSIZE fills in just the `dls_cnt' and `dls_size' + entries to indicate the size of the buffer that must be passed to + RTLD_DI_SERINFO to fill in the full information. */ + RTLD_DI_SERINFO = 4, + RTLD_DI_SERINFOSIZE = 5, + + /* Treat ARG as `char *', and store there the directory name used to + expand $ORIGIN in this shared object's dependency file names. */ + RTLD_DI_ORIGIN = 6, + + RTLD_DI_PROFILENAME = 7, /* Unsupported, defined by Solaris. */ + RTLD_DI_PROFILEOUT = 8, /* Unsupported, defined by Solaris. */ + + /* Treat ARG as `size_t *', and store there the TLS module ID + of this object's PT_TLS segment, as used in TLS relocations; + store zero if this object does not define a PT_TLS segment. */ + RTLD_DI_TLS_MODID = 9, + + /* Treat ARG as `void **', and store there a pointer to the calling + thread's TLS block corresponding to this object's PT_TLS segment. + Store a null pointer if this object does not define a PT_TLS + segment, or if the calling thread has not allocated a block for it. */ + RTLD_DI_TLS_DATA = 10, + + /* Treat ARG as const ElfW(Phdr) **, and store the address of the + program header array at that location. The dlinfo call returns + the number of program headers in the array. */ + RTLD_DI_PHDR = 11, + + RTLD_DI_MAX = 11 + }; + + +/* This is the type of elements in `Dl_serinfo', below. + The `dls_name' member points to space in the buffer passed to `dlinfo'. */ +typedef struct +{ + char *dls_name; /* Name of library search path directory. */ + unsigned int dls_flags; /* Indicates where this directory came from. */ +} Dl_serpath; + +/* This is the structure that must be passed (by reference) to `dlinfo' for + the RTLD_DI_SERINFO and RTLD_DI_SERINFOSIZE requests. */ +typedef struct +{ + size_t dls_size; /* Size in bytes of the whole buffer. */ + unsigned int dls_cnt; /* Number of elements in `dls_serpath'. */ +# if __GNUC_PREREQ (3, 0) + /* The zero-length array avoids an unwanted array subscript check by + the compiler, while the surrounding anonymous union preserves the + historic size of the type. At the time of writing, GNU C does + not support structs with flexible array members in unions. */ + __extension__ union + { + Dl_serpath dls_serpath[0]; /* Actually longer, dls_cnt elements. */ + Dl_serpath __dls_serpath_pad[1]; + }; +# else + Dl_serpath dls_serpath[1]; /* Actually longer, dls_cnt elements. */ +# endif +} Dl_serinfo; + +struct dl_find_object +{ + __extension__ unsigned long long int dlfo_flags; + void *dlfo_map_start; /* Beginning of mapping containing address. */ + void *dlfo_map_end; /* End of mapping. */ + struct link_map *dlfo_link_map; + void *dlfo_eh_frame; /* Exception handling data of the object. */ +# if DLFO_STRUCT_HAS_EH_DBASE + void *dlfo_eh_dbase; /* Base address for DW_EH_PE_datarel. */ +# if __WORDSIZE == 32 + unsigned int __dlfo_eh_dbase_pad; +# endif +# endif +# if DLFO_STRUCT_HAS_EH_COUNT + int dlfo_eh_count; /* Number of exception handling entries. */ + unsigned int __dlfo_eh_count_pad; +# endif + __extension__ unsigned long long int __dflo_reserved[7]; +}; + +/* If ADDRESS is found in an object, fill in *RESULT and return 0. + Otherwise, return -1. */ +int _dl_find_object (void *__address, struct dl_find_object *__result) __THROW; + +#endif /* __USE_GNU */ + + +__END_DECLS + +#endif /* dlfcn.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/elf.h new file mode 100644 index 00000000..690b0479 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/elf.h @@ -0,0 +1,4494 @@ +/* This file defines standard ELF types, structures, and macros. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ELF_H +#define _ELF_H 1 + +/* Standard ELF types. */ + +#include + +/* Type for a 16-bit quantity. */ +typedef uint16_t Elf32_Half; +typedef uint16_t Elf64_Half; + +/* Types for signed and unsigned 32-bit quantities. */ +typedef uint32_t Elf32_Word; +typedef int32_t Elf32_Sword; +typedef uint32_t Elf64_Word; +typedef int32_t Elf64_Sword; + +/* Types for signed and unsigned 64-bit quantities. */ +typedef uint64_t Elf32_Xword; +typedef int64_t Elf32_Sxword; +typedef uint64_t Elf64_Xword; +typedef int64_t Elf64_Sxword; + +/* Type of addresses. */ +typedef uint32_t Elf32_Addr; +typedef uint64_t Elf64_Addr; + +/* Type of file offsets. */ +typedef uint32_t Elf32_Off; +typedef uint64_t Elf64_Off; + +/* Type for section indices, which are 16-bit quantities. */ +typedef uint16_t Elf32_Section; +typedef uint16_t Elf64_Section; + +/* Type for version symbol information. */ +typedef Elf32_Half Elf32_Versym; +typedef Elf64_Half Elf64_Versym; + + +/* The ELF file header. This appears at the start of every ELF file. */ + +#define EI_NIDENT (16) + +typedef struct +{ + unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ + Elf32_Half e_type; /* Object file type */ + Elf32_Half e_machine; /* Architecture */ + Elf32_Word e_version; /* Object file version */ + Elf32_Addr e_entry; /* Entry point virtual address */ + Elf32_Off e_phoff; /* Program header table file offset */ + Elf32_Off e_shoff; /* Section header table file offset */ + Elf32_Word e_flags; /* Processor-specific flags */ + Elf32_Half e_ehsize; /* ELF header size in bytes */ + Elf32_Half e_phentsize; /* Program header table entry size */ + Elf32_Half e_phnum; /* Program header table entry count */ + Elf32_Half e_shentsize; /* Section header table entry size */ + Elf32_Half e_shnum; /* Section header table entry count */ + Elf32_Half e_shstrndx; /* Section header string table index */ +} Elf32_Ehdr; + +typedef struct +{ + unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */ + Elf64_Half e_type; /* Object file type */ + Elf64_Half e_machine; /* Architecture */ + Elf64_Word e_version; /* Object file version */ + Elf64_Addr e_entry; /* Entry point virtual address */ + Elf64_Off e_phoff; /* Program header table file offset */ + Elf64_Off e_shoff; /* Section header table file offset */ + Elf64_Word e_flags; /* Processor-specific flags */ + Elf64_Half e_ehsize; /* ELF header size in bytes */ + Elf64_Half e_phentsize; /* Program header table entry size */ + Elf64_Half e_phnum; /* Program header table entry count */ + Elf64_Half e_shentsize; /* Section header table entry size */ + Elf64_Half e_shnum; /* Section header table entry count */ + Elf64_Half e_shstrndx; /* Section header string table index */ +} Elf64_Ehdr; + +/* Fields in the e_ident array. The EI_* macros are indices into the + array. The macros under each EI_* macro are the values the byte + may have. */ + +#define EI_MAG0 0 /* File identification byte 0 index */ +#define ELFMAG0 0x7f /* Magic number byte 0 */ + +#define EI_MAG1 1 /* File identification byte 1 index */ +#define ELFMAG1 'E' /* Magic number byte 1 */ + +#define EI_MAG2 2 /* File identification byte 2 index */ +#define ELFMAG2 'L' /* Magic number byte 2 */ + +#define EI_MAG3 3 /* File identification byte 3 index */ +#define ELFMAG3 'F' /* Magic number byte 3 */ + +/* Conglomeration of the identification bytes, for easy testing as a word. */ +#define ELFMAG "\177ELF" +#define SELFMAG 4 + +#define EI_CLASS 4 /* File class byte index */ +#define ELFCLASSNONE 0 /* Invalid class */ +#define ELFCLASS32 1 /* 32-bit objects */ +#define ELFCLASS64 2 /* 64-bit objects */ +#define ELFCLASSNUM 3 + +#define EI_DATA 5 /* Data encoding byte index */ +#define ELFDATANONE 0 /* Invalid data encoding */ +#define ELFDATA2LSB 1 /* 2's complement, little endian */ +#define ELFDATA2MSB 2 /* 2's complement, big endian */ +#define ELFDATANUM 3 + +#define EI_VERSION 6 /* File version byte index */ + /* Value must be EV_CURRENT */ + +#define EI_OSABI 7 /* OS ABI identification */ +#define ELFOSABI_NONE 0 /* UNIX System V ABI */ +#define ELFOSABI_SYSV 0 /* Alias. */ +#define ELFOSABI_HPUX 1 /* HP-UX */ +#define ELFOSABI_NETBSD 2 /* NetBSD. */ +#define ELFOSABI_GNU 3 /* Object uses GNU ELF extensions. */ +#define ELFOSABI_LINUX ELFOSABI_GNU /* Compatibility alias. */ +#define ELFOSABI_SOLARIS 6 /* Sun Solaris. */ +#define ELFOSABI_AIX 7 /* IBM AIX. */ +#define ELFOSABI_IRIX 8 /* SGI Irix. */ +#define ELFOSABI_FREEBSD 9 /* FreeBSD. */ +#define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */ +#define ELFOSABI_MODESTO 11 /* Novell Modesto. */ +#define ELFOSABI_OPENBSD 12 /* OpenBSD. */ +#define ELFOSABI_ARM_AEABI 64 /* ARM EABI */ +#define ELFOSABI_ARM 97 /* ARM */ +#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */ + +#define EI_ABIVERSION 8 /* ABI version */ + +#define EI_PAD 9 /* Byte index of padding bytes */ + +/* Legal values for e_type (object file type). */ + +#define ET_NONE 0 /* No file type */ +#define ET_REL 1 /* Relocatable file */ +#define ET_EXEC 2 /* Executable file */ +#define ET_DYN 3 /* Shared object file */ +#define ET_CORE 4 /* Core file */ +#define ET_NUM 5 /* Number of defined types */ +#define ET_LOOS 0xfe00 /* OS-specific range start */ +#define ET_HIOS 0xfeff /* OS-specific range end */ +#define ET_LOPROC 0xff00 /* Processor-specific range start */ +#define ET_HIPROC 0xffff /* Processor-specific range end */ + +/* Legal values for e_machine (architecture). */ + +#define EM_NONE 0 /* No machine */ +#define EM_M32 1 /* AT&T WE 32100 */ +#define EM_SPARC 2 /* SUN SPARC */ +#define EM_386 3 /* Intel 80386 */ +#define EM_68K 4 /* Motorola m68k family */ +#define EM_88K 5 /* Motorola m88k family */ +#define EM_IAMCU 6 /* Intel MCU */ +#define EM_860 7 /* Intel 80860 */ +#define EM_MIPS 8 /* MIPS R3000 big-endian */ +#define EM_S370 9 /* IBM System/370 */ +#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */ + /* reserved 11-14 */ +#define EM_PARISC 15 /* HPPA */ + /* reserved 16 */ +#define EM_VPP500 17 /* Fujitsu VPP500 */ +#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ +#define EM_960 19 /* Intel 80960 */ +#define EM_PPC 20 /* PowerPC */ +#define EM_PPC64 21 /* PowerPC 64-bit */ +#define EM_S390 22 /* IBM S390 */ +#define EM_SPU 23 /* IBM SPU/SPC */ + /* reserved 24-35 */ +#define EM_V800 36 /* NEC V800 series */ +#define EM_FR20 37 /* Fujitsu FR20 */ +#define EM_RH32 38 /* TRW RH-32 */ +#define EM_RCE 39 /* Motorola RCE */ +#define EM_ARM 40 /* ARM */ +#define EM_FAKE_ALPHA 41 /* Digital Alpha */ +#define EM_SH 42 /* Hitachi SH */ +#define EM_SPARCV9 43 /* SPARC v9 64-bit */ +#define EM_TRICORE 44 /* Siemens Tricore */ +#define EM_ARC 45 /* Argonaut RISC Core */ +#define EM_H8_300 46 /* Hitachi H8/300 */ +#define EM_H8_300H 47 /* Hitachi H8/300H */ +#define EM_H8S 48 /* Hitachi H8S */ +#define EM_H8_500 49 /* Hitachi H8/500 */ +#define EM_IA_64 50 /* Intel Merced */ +#define EM_MIPS_X 51 /* Stanford MIPS-X */ +#define EM_COLDFIRE 52 /* Motorola Coldfire */ +#define EM_68HC12 53 /* Motorola M68HC12 */ +#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */ +#define EM_PCP 55 /* Siemens PCP */ +#define EM_NCPU 56 /* Sony nCPU embedded RISC */ +#define EM_NDR1 57 /* Denso NDR1 microprocessor */ +#define EM_STARCORE 58 /* Motorola Start*Core processor */ +#define EM_ME16 59 /* Toyota ME16 processor */ +#define EM_ST100 60 /* STMicroelectronic ST100 processor */ +#define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam */ +#define EM_X86_64 62 /* AMD x86-64 architecture */ +#define EM_PDSP 63 /* Sony DSP Processor */ +#define EM_PDP10 64 /* Digital PDP-10 */ +#define EM_PDP11 65 /* Digital PDP-11 */ +#define EM_FX66 66 /* Siemens FX66 microcontroller */ +#define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */ +#define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */ +#define EM_68HC16 69 /* Motorola MC68HC16 microcontroller */ +#define EM_68HC11 70 /* Motorola MC68HC11 microcontroller */ +#define EM_68HC08 71 /* Motorola MC68HC08 microcontroller */ +#define EM_68HC05 72 /* Motorola MC68HC05 microcontroller */ +#define EM_SVX 73 /* Silicon Graphics SVx */ +#define EM_ST19 74 /* STMicroelectronics ST19 8 bit mc */ +#define EM_VAX 75 /* Digital VAX */ +#define EM_CRIS 76 /* Axis Communications 32-bit emb.proc */ +#define EM_JAVELIN 77 /* Infineon Technologies 32-bit emb.proc */ +#define EM_FIREPATH 78 /* Element 14 64-bit DSP Processor */ +#define EM_ZSP 79 /* LSI Logic 16-bit DSP Processor */ +#define EM_MMIX 80 /* Donald Knuth's educational 64-bit proc */ +#define EM_HUANY 81 /* Harvard University machine-independent object files */ +#define EM_PRISM 82 /* SiTera Prism */ +#define EM_AVR 83 /* Atmel AVR 8-bit microcontroller */ +#define EM_FR30 84 /* Fujitsu FR30 */ +#define EM_D10V 85 /* Mitsubishi D10V */ +#define EM_D30V 86 /* Mitsubishi D30V */ +#define EM_V850 87 /* NEC v850 */ +#define EM_M32R 88 /* Mitsubishi M32R */ +#define EM_MN10300 89 /* Matsushita MN10300 */ +#define EM_MN10200 90 /* Matsushita MN10200 */ +#define EM_PJ 91 /* picoJava */ +#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */ +#define EM_ARC_COMPACT 93 /* ARC International ARCompact */ +#define EM_XTENSA 94 /* Tensilica Xtensa Architecture */ +#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore */ +#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Proc */ +#define EM_NS32K 97 /* National Semi. 32000 */ +#define EM_TPC 98 /* Tenor Network TPC */ +#define EM_SNP1K 99 /* Trebia SNP 1000 */ +#define EM_ST200 100 /* STMicroelectronics ST200 */ +#define EM_IP2K 101 /* Ubicom IP2xxx */ +#define EM_MAX 102 /* MAX processor */ +#define EM_CR 103 /* National Semi. CompactRISC */ +#define EM_F2MC16 104 /* Fujitsu F2MC16 */ +#define EM_MSP430 105 /* Texas Instruments msp430 */ +#define EM_BLACKFIN 106 /* Analog Devices Blackfin DSP */ +#define EM_SE_C33 107 /* Seiko Epson S1C33 family */ +#define EM_SEP 108 /* Sharp embedded microprocessor */ +#define EM_ARCA 109 /* Arca RISC */ +#define EM_UNICORE 110 /* PKU-Unity & MPRC Peking Uni. mc series */ +#define EM_EXCESS 111 /* eXcess configurable cpu */ +#define EM_DXP 112 /* Icera Semi. Deep Execution Processor */ +#define EM_ALTERA_NIOS2 113 /* Altera Nios II */ +#define EM_CRX 114 /* National Semi. CompactRISC CRX */ +#define EM_XGATE 115 /* Motorola XGATE */ +#define EM_C166 116 /* Infineon C16x/XC16x */ +#define EM_M16C 117 /* Renesas M16C */ +#define EM_DSPIC30F 118 /* Microchip Technology dsPIC30F */ +#define EM_CE 119 /* Freescale Communication Engine RISC */ +#define EM_M32C 120 /* Renesas M32C */ + /* reserved 121-130 */ +#define EM_TSK3000 131 /* Altium TSK3000 */ +#define EM_RS08 132 /* Freescale RS08 */ +#define EM_SHARC 133 /* Analog Devices SHARC family */ +#define EM_ECOG2 134 /* Cyan Technology eCOG2 */ +#define EM_SCORE7 135 /* Sunplus S+core7 RISC */ +#define EM_DSP24 136 /* New Japan Radio (NJR) 24-bit DSP */ +#define EM_VIDEOCORE3 137 /* Broadcom VideoCore III */ +#define EM_LATTICEMICO32 138 /* RISC for Lattice FPGA */ +#define EM_SE_C17 139 /* Seiko Epson C17 */ +#define EM_TI_C6000 140 /* Texas Instruments TMS320C6000 DSP */ +#define EM_TI_C2000 141 /* Texas Instruments TMS320C2000 DSP */ +#define EM_TI_C5500 142 /* Texas Instruments TMS320C55x DSP */ +#define EM_TI_ARP32 143 /* Texas Instruments App. Specific RISC */ +#define EM_TI_PRU 144 /* Texas Instruments Prog. Realtime Unit */ + /* reserved 145-159 */ +#define EM_MMDSP_PLUS 160 /* STMicroelectronics 64bit VLIW DSP */ +#define EM_CYPRESS_M8C 161 /* Cypress M8C */ +#define EM_R32C 162 /* Renesas R32C */ +#define EM_TRIMEDIA 163 /* NXP Semi. TriMedia */ +#define EM_QDSP6 164 /* QUALCOMM DSP6 */ +#define EM_8051 165 /* Intel 8051 and variants */ +#define EM_STXP7X 166 /* STMicroelectronics STxP7x */ +#define EM_NDS32 167 /* Andes Tech. compact code emb. RISC */ +#define EM_ECOG1X 168 /* Cyan Technology eCOG1X */ +#define EM_MAXQ30 169 /* Dallas Semi. MAXQ30 mc */ +#define EM_XIMO16 170 /* New Japan Radio (NJR) 16-bit DSP */ +#define EM_MANIK 171 /* M2000 Reconfigurable RISC */ +#define EM_CRAYNV2 172 /* Cray NV2 vector architecture */ +#define EM_RX 173 /* Renesas RX */ +#define EM_METAG 174 /* Imagination Tech. META */ +#define EM_MCST_ELBRUS 175 /* MCST Elbrus */ +#define EM_ECOG16 176 /* Cyan Technology eCOG16 */ +#define EM_CR16 177 /* National Semi. CompactRISC CR16 */ +#define EM_ETPU 178 /* Freescale Extended Time Processing Unit */ +#define EM_SLE9X 179 /* Infineon Tech. SLE9X */ +#define EM_L10M 180 /* Intel L10M */ +#define EM_K10M 181 /* Intel K10M */ + /* reserved 182 */ +#define EM_AARCH64 183 /* ARM AARCH64 */ + /* reserved 184 */ +#define EM_AVR32 185 /* Amtel 32-bit microprocessor */ +#define EM_STM8 186 /* STMicroelectronics STM8 */ +#define EM_TILE64 187 /* Tilera TILE64 */ +#define EM_TILEPRO 188 /* Tilera TILEPro */ +#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */ +#define EM_CUDA 190 /* NVIDIA CUDA */ +#define EM_TILEGX 191 /* Tilera TILE-Gx */ +#define EM_CLOUDSHIELD 192 /* CloudShield */ +#define EM_COREA_1ST 193 /* KIPO-KAIST Core-A 1st gen. */ +#define EM_COREA_2ND 194 /* KIPO-KAIST Core-A 2nd gen. */ +#define EM_ARCV2 195 /* Synopsys ARCv2 ISA. */ +#define EM_OPEN8 196 /* Open8 RISC */ +#define EM_RL78 197 /* Renesas RL78 */ +#define EM_VIDEOCORE5 198 /* Broadcom VideoCore V */ +#define EM_78KOR 199 /* Renesas 78KOR */ +#define EM_56800EX 200 /* Freescale 56800EX DSC */ +#define EM_BA1 201 /* Beyond BA1 */ +#define EM_BA2 202 /* Beyond BA2 */ +#define EM_XCORE 203 /* XMOS xCORE */ +#define EM_MCHP_PIC 204 /* Microchip 8-bit PIC(r) */ +#define EM_INTELGT 205 /* Intel Graphics Technology */ + /* reserved 206-209 */ +#define EM_KM32 210 /* KM211 KM32 */ +#define EM_KMX32 211 /* KM211 KMX32 */ +#define EM_EMX16 212 /* KM211 KMX16 */ +#define EM_EMX8 213 /* KM211 KMX8 */ +#define EM_KVARC 214 /* KM211 KVARC */ +#define EM_CDP 215 /* Paneve CDP */ +#define EM_COGE 216 /* Cognitive Smart Memory Processor */ +#define EM_COOL 217 /* Bluechip CoolEngine */ +#define EM_NORC 218 /* Nanoradio Optimized RISC */ +#define EM_CSR_KALIMBA 219 /* CSR Kalimba */ +#define EM_Z80 220 /* Zilog Z80 */ +#define EM_VISIUM 221 /* Controls and Data Services VISIUMcore */ +#define EM_FT32 222 /* FTDI Chip FT32 */ +#define EM_MOXIE 223 /* Moxie processor */ +#define EM_AMDGPU 224 /* AMD GPU */ + /* reserved 225-242 */ +#define EM_RISCV 243 /* RISC-V */ + +#define EM_BPF 247 /* Linux BPF -- in-kernel virtual machine */ +#define EM_CSKY 252 /* C-SKY */ +#define EM_LOONGARCH 258 /* LoongArch */ + +#define EM_NUM 259 + +/* Old spellings/synonyms. */ + +#define EM_ARC_A5 EM_ARC_COMPACT + +/* If it is necessary to assign new unofficial EM_* values, please + pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the + chances of collision with official or non-GNU unofficial values. */ + +#define EM_ALPHA 0x9026 + +/* Legal values for e_version (version). */ + +#define EV_NONE 0 /* Invalid ELF version */ +#define EV_CURRENT 1 /* Current version */ +#define EV_NUM 2 + +/* Section header. */ + +typedef struct +{ + Elf32_Word sh_name; /* Section name (string tbl index) */ + Elf32_Word sh_type; /* Section type */ + Elf32_Word sh_flags; /* Section flags */ + Elf32_Addr sh_addr; /* Section virtual addr at execution */ + Elf32_Off sh_offset; /* Section file offset */ + Elf32_Word sh_size; /* Section size in bytes */ + Elf32_Word sh_link; /* Link to another section */ + Elf32_Word sh_info; /* Additional section information */ + Elf32_Word sh_addralign; /* Section alignment */ + Elf32_Word sh_entsize; /* Entry size if section holds table */ +} Elf32_Shdr; + +typedef struct +{ + Elf64_Word sh_name; /* Section name (string tbl index) */ + Elf64_Word sh_type; /* Section type */ + Elf64_Xword sh_flags; /* Section flags */ + Elf64_Addr sh_addr; /* Section virtual addr at execution */ + Elf64_Off sh_offset; /* Section file offset */ + Elf64_Xword sh_size; /* Section size in bytes */ + Elf64_Word sh_link; /* Link to another section */ + Elf64_Word sh_info; /* Additional section information */ + Elf64_Xword sh_addralign; /* Section alignment */ + Elf64_Xword sh_entsize; /* Entry size if section holds table */ +} Elf64_Shdr; + +/* Special section indices. */ + +#define SHN_UNDEF 0 /* Undefined section */ +#define SHN_LORESERVE 0xff00 /* Start of reserved indices */ +#define SHN_LOPROC 0xff00 /* Start of processor-specific */ +#define SHN_BEFORE 0xff00 /* Order section before all others + (Solaris). */ +#define SHN_AFTER 0xff01 /* Order section after all others + (Solaris). */ +#define SHN_HIPROC 0xff1f /* End of processor-specific */ +#define SHN_LOOS 0xff20 /* Start of OS-specific */ +#define SHN_HIOS 0xff3f /* End of OS-specific */ +#define SHN_ABS 0xfff1 /* Associated symbol is absolute */ +#define SHN_COMMON 0xfff2 /* Associated symbol is common */ +#define SHN_XINDEX 0xffff /* Index is in extra table. */ +#define SHN_HIRESERVE 0xffff /* End of reserved indices */ + +/* Legal values for sh_type (section type). */ + +#define SHT_NULL 0 /* Section header table entry unused */ +#define SHT_PROGBITS 1 /* Program data */ +#define SHT_SYMTAB 2 /* Symbol table */ +#define SHT_STRTAB 3 /* String table */ +#define SHT_RELA 4 /* Relocation entries with addends */ +#define SHT_HASH 5 /* Symbol hash table */ +#define SHT_DYNAMIC 6 /* Dynamic linking information */ +#define SHT_NOTE 7 /* Notes */ +#define SHT_NOBITS 8 /* Program space with no data (bss) */ +#define SHT_REL 9 /* Relocation entries, no addends */ +#define SHT_SHLIB 10 /* Reserved */ +#define SHT_DYNSYM 11 /* Dynamic linker symbol table */ +#define SHT_INIT_ARRAY 14 /* Array of constructors */ +#define SHT_FINI_ARRAY 15 /* Array of destructors */ +#define SHT_PREINIT_ARRAY 16 /* Array of pre-constructors */ +#define SHT_GROUP 17 /* Section group */ +#define SHT_SYMTAB_SHNDX 18 /* Extended section indices */ +#define SHT_RELR 19 /* RELR relative relocations */ +#define SHT_NUM 20 /* Number of defined types. */ +#define SHT_LOOS 0x60000000 /* Start OS-specific. */ +#define SHT_GNU_ATTRIBUTES 0x6ffffff5 /* Object attributes. */ +#define SHT_GNU_HASH 0x6ffffff6 /* GNU-style hash table. */ +#define SHT_GNU_LIBLIST 0x6ffffff7 /* Prelink library list */ +#define SHT_CHECKSUM 0x6ffffff8 /* Checksum for DSO content. */ +#define SHT_LOSUNW 0x6ffffffa /* Sun-specific low bound. */ +#define SHT_SUNW_move 0x6ffffffa +#define SHT_SUNW_COMDAT 0x6ffffffb +#define SHT_SUNW_syminfo 0x6ffffffc +#define SHT_GNU_verdef 0x6ffffffd /* Version definition section. */ +#define SHT_GNU_verneed 0x6ffffffe /* Version needs section. */ +#define SHT_GNU_versym 0x6fffffff /* Version symbol table. */ +#define SHT_HISUNW 0x6fffffff /* Sun-specific high bound. */ +#define SHT_HIOS 0x6fffffff /* End OS-specific type */ +#define SHT_LOPROC 0x70000000 /* Start of processor-specific */ +#define SHT_HIPROC 0x7fffffff /* End of processor-specific */ +#define SHT_LOUSER 0x80000000 /* Start of application-specific */ +#define SHT_HIUSER 0x8fffffff /* End of application-specific */ + +/* Legal values for sh_flags (section flags). */ + +#define SHF_WRITE (1 << 0) /* Writable */ +#define SHF_ALLOC (1 << 1) /* Occupies memory during execution */ +#define SHF_EXECINSTR (1 << 2) /* Executable */ +#define SHF_MERGE (1 << 4) /* Might be merged */ +#define SHF_STRINGS (1 << 5) /* Contains nul-terminated strings */ +#define SHF_INFO_LINK (1 << 6) /* `sh_info' contains SHT index */ +#define SHF_LINK_ORDER (1 << 7) /* Preserve order after combining */ +#define SHF_OS_NONCONFORMING (1 << 8) /* Non-standard OS specific handling + required */ +#define SHF_GROUP (1 << 9) /* Section is member of a group. */ +#define SHF_TLS (1 << 10) /* Section hold thread-local data. */ +#define SHF_COMPRESSED (1 << 11) /* Section with compressed data. */ +#define SHF_MASKOS 0x0ff00000 /* OS-specific. */ +#define SHF_MASKPROC 0xf0000000 /* Processor-specific */ +#define SHF_GNU_RETAIN (1 << 21) /* Not to be GCed by linker. */ +#define SHF_ORDERED (1 << 30) /* Special ordering requirement + (Solaris). */ +#define SHF_EXCLUDE (1U << 31) /* Section is excluded unless + referenced or allocated (Solaris).*/ + +/* Section compression header. Used when SHF_COMPRESSED is set. */ + +typedef struct +{ + Elf32_Word ch_type; /* Compression format. */ + Elf32_Word ch_size; /* Uncompressed data size. */ + Elf32_Word ch_addralign; /* Uncompressed data alignment. */ +} Elf32_Chdr; + +typedef struct +{ + Elf64_Word ch_type; /* Compression format. */ + Elf64_Word ch_reserved; + Elf64_Xword ch_size; /* Uncompressed data size. */ + Elf64_Xword ch_addralign; /* Uncompressed data alignment. */ +} Elf64_Chdr; + +/* Legal values for ch_type (compression algorithm). */ +#define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */ +#define ELFCOMPRESS_ZSTD 2 /* Zstandard algorithm. */ +#define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */ +#define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */ +#define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */ +#define ELFCOMPRESS_HIPROC 0x7fffffff /* End of processor-specific. */ + +/* Section group handling. */ +#define GRP_COMDAT 0x1 /* Mark group as COMDAT. */ + +/* Symbol table entry. */ + +typedef struct +{ + Elf32_Word st_name; /* Symbol name (string tbl index) */ + Elf32_Addr st_value; /* Symbol value */ + Elf32_Word st_size; /* Symbol size */ + unsigned char st_info; /* Symbol type and binding */ + unsigned char st_other; /* Symbol visibility */ + Elf32_Section st_shndx; /* Section index */ +} Elf32_Sym; + +typedef struct +{ + Elf64_Word st_name; /* Symbol name (string tbl index) */ + unsigned char st_info; /* Symbol type and binding */ + unsigned char st_other; /* Symbol visibility */ + Elf64_Section st_shndx; /* Section index */ + Elf64_Addr st_value; /* Symbol value */ + Elf64_Xword st_size; /* Symbol size */ +} Elf64_Sym; + +/* The syminfo section if available contains additional information about + every dynamic symbol. */ + +typedef struct +{ + Elf32_Half si_boundto; /* Direct bindings, symbol bound to */ + Elf32_Half si_flags; /* Per symbol flags */ +} Elf32_Syminfo; + +typedef struct +{ + Elf64_Half si_boundto; /* Direct bindings, symbol bound to */ + Elf64_Half si_flags; /* Per symbol flags */ +} Elf64_Syminfo; + +/* Possible values for si_boundto. */ +#define SYMINFO_BT_SELF 0xffff /* Symbol bound to self */ +#define SYMINFO_BT_PARENT 0xfffe /* Symbol bound to parent */ +#define SYMINFO_BT_LOWRESERVE 0xff00 /* Beginning of reserved entries */ + +/* Possible bitmasks for si_flags. */ +#define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */ +#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-through symbol for translator */ +#define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */ +#define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy + loaded */ +/* Syminfo version values. */ +#define SYMINFO_NONE 0 +#define SYMINFO_CURRENT 1 +#define SYMINFO_NUM 2 + + +/* How to extract and insert information held in the st_info field. */ + +#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4) +#define ELF32_ST_TYPE(val) ((val) & 0xf) +#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) + +/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */ +#define ELF64_ST_BIND(val) ELF32_ST_BIND (val) +#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val) +#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type)) + +/* Legal values for ST_BIND subfield of st_info (symbol binding). */ + +#define STB_LOCAL 0 /* Local symbol */ +#define STB_GLOBAL 1 /* Global symbol */ +#define STB_WEAK 2 /* Weak symbol */ +#define STB_NUM 3 /* Number of defined types. */ +#define STB_LOOS 10 /* Start of OS-specific */ +#define STB_GNU_UNIQUE 10 /* Unique symbol. */ +#define STB_HIOS 12 /* End of OS-specific */ +#define STB_LOPROC 13 /* Start of processor-specific */ +#define STB_HIPROC 15 /* End of processor-specific */ + +/* Legal values for ST_TYPE subfield of st_info (symbol type). */ + +#define STT_NOTYPE 0 /* Symbol type is unspecified */ +#define STT_OBJECT 1 /* Symbol is a data object */ +#define STT_FUNC 2 /* Symbol is a code object */ +#define STT_SECTION 3 /* Symbol associated with a section */ +#define STT_FILE 4 /* Symbol's name is file name */ +#define STT_COMMON 5 /* Symbol is a common data object */ +#define STT_TLS 6 /* Symbol is thread-local data object*/ +#define STT_NUM 7 /* Number of defined types. */ +#define STT_LOOS 10 /* Start of OS-specific */ +#define STT_GNU_IFUNC 10 /* Symbol is indirect code object */ +#define STT_HIOS 12 /* End of OS-specific */ +#define STT_LOPROC 13 /* Start of processor-specific */ +#define STT_HIPROC 15 /* End of processor-specific */ + + +/* Symbol table indices are found in the hash buckets and chain table + of a symbol hash table section. This special index value indicates + the end of a chain, meaning no further symbols are found in that bucket. */ + +#define STN_UNDEF 0 /* End of a chain. */ + + +/* How to extract and insert information held in the st_other field. */ + +#define ELF32_ST_VISIBILITY(o) ((o) & 0x03) + +/* For ELF64 the definitions are the same. */ +#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o) + +/* Symbol visibility specification encoded in the st_other field. */ +#define STV_DEFAULT 0 /* Default symbol visibility rules */ +#define STV_INTERNAL 1 /* Processor specific hidden class */ +#define STV_HIDDEN 2 /* Sym unavailable in other modules */ +#define STV_PROTECTED 3 /* Not preemptible, not exported */ + + +/* Relocation table entry without addend (in section of type SHT_REL). */ + +typedef struct +{ + Elf32_Addr r_offset; /* Address */ + Elf32_Word r_info; /* Relocation type and symbol index */ +} Elf32_Rel; + +/* I have seen two different definitions of the Elf64_Rel and + Elf64_Rela structures, so we'll leave them out until Novell (or + whoever) gets their act together. */ +/* The following, at least, is used on Sparc v9, MIPS, and Alpha. */ + +typedef struct +{ + Elf64_Addr r_offset; /* Address */ + Elf64_Xword r_info; /* Relocation type and symbol index */ +} Elf64_Rel; + +/* Relocation table entry with addend (in section of type SHT_RELA). */ + +typedef struct +{ + Elf32_Addr r_offset; /* Address */ + Elf32_Word r_info; /* Relocation type and symbol index */ + Elf32_Sword r_addend; /* Addend */ +} Elf32_Rela; + +typedef struct +{ + Elf64_Addr r_offset; /* Address */ + Elf64_Xword r_info; /* Relocation type and symbol index */ + Elf64_Sxword r_addend; /* Addend */ +} Elf64_Rela; + +/* RELR relocation table entry */ + +typedef Elf32_Word Elf32_Relr; +typedef Elf64_Xword Elf64_Relr; + +/* How to extract and insert information held in the r_info field. */ + +#define ELF32_R_SYM(val) ((val) >> 8) +#define ELF32_R_TYPE(val) ((val) & 0xff) +#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff)) + +#define ELF64_R_SYM(i) ((i) >> 32) +#define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type)) + +/* Program segment header. */ + +typedef struct +{ + Elf32_Word p_type; /* Segment type */ + Elf32_Off p_offset; /* Segment file offset */ + Elf32_Addr p_vaddr; /* Segment virtual address */ + Elf32_Addr p_paddr; /* Segment physical address */ + Elf32_Word p_filesz; /* Segment size in file */ + Elf32_Word p_memsz; /* Segment size in memory */ + Elf32_Word p_flags; /* Segment flags */ + Elf32_Word p_align; /* Segment alignment */ +} Elf32_Phdr; + +typedef struct +{ + Elf64_Word p_type; /* Segment type */ + Elf64_Word p_flags; /* Segment flags */ + Elf64_Off p_offset; /* Segment file offset */ + Elf64_Addr p_vaddr; /* Segment virtual address */ + Elf64_Addr p_paddr; /* Segment physical address */ + Elf64_Xword p_filesz; /* Segment size in file */ + Elf64_Xword p_memsz; /* Segment size in memory */ + Elf64_Xword p_align; /* Segment alignment */ +} Elf64_Phdr; + +/* Special value for e_phnum. This indicates that the real number of + program headers is too large to fit into e_phnum. Instead the real + value is in the field sh_info of section 0. */ + +#define PN_XNUM 0xffff + +/* Legal values for p_type (segment type). */ + +#define PT_NULL 0 /* Program header table entry unused */ +#define PT_LOAD 1 /* Loadable program segment */ +#define PT_DYNAMIC 2 /* Dynamic linking information */ +#define PT_INTERP 3 /* Program interpreter */ +#define PT_NOTE 4 /* Auxiliary information */ +#define PT_SHLIB 5 /* Reserved */ +#define PT_PHDR 6 /* Entry for header table itself */ +#define PT_TLS 7 /* Thread-local storage segment */ +#define PT_NUM 8 /* Number of defined types */ +#define PT_LOOS 0x60000000 /* Start of OS-specific */ +#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */ +#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */ +#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */ +#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */ +#define PT_GNU_SFRAME 0x6474e554 /* SFrame segment. */ +#define PT_LOSUNW 0x6ffffffa +#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */ +#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */ +#define PT_HISUNW 0x6fffffff +#define PT_HIOS 0x6fffffff /* End of OS-specific */ +#define PT_LOPROC 0x70000000 /* Start of processor-specific */ +#define PT_HIPROC 0x7fffffff /* End of processor-specific */ + +/* Legal values for p_flags (segment flags). */ + +#define PF_X (1 << 0) /* Segment is executable */ +#define PF_W (1 << 1) /* Segment is writable */ +#define PF_R (1 << 2) /* Segment is readable */ +#define PF_MASKOS 0x0ff00000 /* OS-specific */ +#define PF_MASKPROC 0xf0000000 /* Processor-specific */ + +/* Legal values for note segment descriptor types for core files. */ + +#define NT_PRSTATUS 1 /* Contains copy of prstatus struct */ +#define NT_PRFPREG 2 /* Contains copy of fpregset + struct. */ +#define NT_FPREGSET 2 /* Contains copy of fpregset struct */ +#define NT_PRPSINFO 3 /* Contains copy of prpsinfo struct */ +#define NT_PRXREG 4 /* Contains copy of prxregset struct */ +#define NT_TASKSTRUCT 4 /* Contains copy of task structure */ +#define NT_PLATFORM 5 /* String from sysinfo(SI_PLATFORM) */ +#define NT_AUXV 6 /* Contains copy of auxv array */ +#define NT_GWINDOWS 7 /* Contains copy of gwindows struct */ +#define NT_ASRS 8 /* Contains copy of asrset struct */ +#define NT_PSTATUS 10 /* Contains copy of pstatus struct */ +#define NT_PSINFO 13 /* Contains copy of psinfo struct */ +#define NT_PRCRED 14 /* Contains copy of prcred struct */ +#define NT_UTSNAME 15 /* Contains copy of utsname struct */ +#define NT_LWPSTATUS 16 /* Contains copy of lwpstatus struct */ +#define NT_LWPSINFO 17 /* Contains copy of lwpinfo struct */ +#define NT_PRFPXREG 20 /* Contains copy of fprxregset struct */ +#define NT_SIGINFO 0x53494749 /* Contains copy of siginfo_t, + size might increase */ +#define NT_FILE 0x46494c45 /* Contains information about mapped + files */ +#define NT_PRXFPREG 0x46e62b7f /* Contains copy of user_fxsr_struct */ +#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */ +#define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */ +#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */ +#define NT_PPC_TAR 0x103 /* Target Address Register */ +#define NT_PPC_PPR 0x104 /* Program Priority Register */ +#define NT_PPC_DSCR 0x105 /* Data Stream Control Register */ +#define NT_PPC_EBB 0x106 /* Event Based Branch Registers */ +#define NT_PPC_PMU 0x107 /* Performance Monitor Registers */ +#define NT_PPC_TM_CGPR 0x108 /* TM checkpointed GPR Registers */ +#define NT_PPC_TM_CFPR 0x109 /* TM checkpointed FPR Registers */ +#define NT_PPC_TM_CVMX 0x10a /* TM checkpointed VMX Registers */ +#define NT_PPC_TM_CVSX 0x10b /* TM checkpointed VSX Registers */ +#define NT_PPC_TM_SPR 0x10c /* TM Special Purpose Registers */ +#define NT_PPC_TM_CTAR 0x10d /* TM checkpointed Target Address + Register */ +#define NT_PPC_TM_CPPR 0x10e /* TM checkpointed Program Priority + Register */ +#define NT_PPC_TM_CDSCR 0x10f /* TM checkpointed Data Stream Control + Register */ +#define NT_PPC_PKEY 0x110 /* Memory Protection Keys + registers. */ +#define NT_PPC_DEXCR 0x111 /* PowerPC DEXCR registers. */ +#define NT_PPC_HASHKEYR 0x112 /* PowerPC HASHKEYR register. */ +#define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */ +#define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */ +#define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */ +#define NT_X86_SHSTK 0x204 /* x86 SHSTK state */ +#define NT_X86_XSAVE_LAYOUT 0x205 /* XSAVE layout description. */ +#define NT_S390_HIGH_GPRS 0x300 /* s390 upper register halves */ +#define NT_S390_TIMER 0x301 /* s390 timer register */ +#define NT_S390_TODCMP 0x302 /* s390 TOD clock comparator register */ +#define NT_S390_TODPREG 0x303 /* s390 TOD programmable register */ +#define NT_S390_CTRS 0x304 /* s390 control registers */ +#define NT_S390_PREFIX 0x305 /* s390 prefix register */ +#define NT_S390_LAST_BREAK 0x306 /* s390 breaking event address */ +#define NT_S390_SYSTEM_CALL 0x307 /* s390 system call restart data */ +#define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */ +#define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 + upper half. */ +#define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31. */ +#define NT_S390_GS_CB 0x30b /* s390 guarded storage registers. */ +#define NT_S390_GS_BC 0x30c /* s390 guarded storage + broadcast control block. */ +#define NT_S390_RI_CB 0x30d /* s390 runtime instrumentation. */ +#define NT_S390_PV_CPU_DATA 0x30e /* s390 protvirt cpu dump data. */ +#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */ +#define NT_ARM_TLS 0x401 /* ARM TLS register */ +#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */ +#define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */ +#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */ +#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension + registers */ +#define NT_ARM_PAC_MASK 0x406 /* ARM pointer authentication + code masks. */ +#define NT_ARM_PACA_KEYS 0x407 /* ARM pointer authentication + address keys. */ +#define NT_ARM_PACG_KEYS 0x408 /* ARM pointer authentication + generic key. */ +#define NT_ARM_TAGGED_ADDR_CTRL 0x409 /* AArch64 tagged address + control. */ +#define NT_ARM_PAC_ENABLED_KEYS 0x40a /* AArch64 pointer authentication + enabled keys. */ +#define NT_ARM_SSVE 0x40b /* ARM Streaming SVE registers. */ +#define NT_ARM_ZA 0x40c /* ARM SME ZA registers. */ +#define NT_ARM_ZT 0x40d /* ARM SME ZT registers. */ +#define NT_ARM_FPMR 0x40e /* ARM floating point mode register. */ +#define NT_ARM_POE 0x40f /* ARM POE registers. */ +#define NT_VMCOREDD 0x700 /* Vmcore Device Dump Note. */ +#define NT_MIPS_DSP 0x800 /* MIPS DSP ASE registers. */ +#define NT_MIPS_FP_MODE 0x801 /* MIPS floating-point mode. */ +#define NT_MIPS_MSA 0x802 /* MIPS SIMD registers. */ +#define NT_RISCV_CSR 0x900 /* RISC-V Control and Status Registers */ +#define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */ +#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */ +#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and + status registers. */ +#define NT_LOONGARCH_LSX 0xa02 /* LoongArch Loongson SIMD + Extension registers. */ +#define NT_LOONGARCH_LASX 0xa03 /* LoongArch Loongson Advanced + SIMD Extension registers. */ +#define NT_LOONGARCH_LBT 0xa04 /* LoongArch Loongson Binary + Translation registers. */ +#define NT_LOONGARCH_HW_BREAK 0xa05 /* LoongArch hardware breakpoint registers */ +#define NT_LOONGARCH_HW_WATCH 0xa06 /* LoongArch hardware watchpoint registers */ + +/* Legal values for the note segment descriptor types for object files. */ + +#define NT_VERSION 1 /* Contains a version string. */ + + +/* Dynamic section entry. */ + +typedef struct +{ + Elf32_Sword d_tag; /* Dynamic entry type */ + union + { + Elf32_Word d_val; /* Integer value */ + Elf32_Addr d_ptr; /* Address value */ + } d_un; +} Elf32_Dyn; + +typedef struct +{ + Elf64_Sxword d_tag; /* Dynamic entry type */ + union + { + Elf64_Xword d_val; /* Integer value */ + Elf64_Addr d_ptr; /* Address value */ + } d_un; +} Elf64_Dyn; + +/* Legal values for d_tag (dynamic entry type). */ + +#define DT_NULL 0 /* Marks end of dynamic section */ +#define DT_NEEDED 1 /* Name of needed library */ +#define DT_PLTRELSZ 2 /* Size in bytes of PLT relocs */ +#define DT_PLTGOT 3 /* Processor defined value */ +#define DT_HASH 4 /* Address of symbol hash table */ +#define DT_STRTAB 5 /* Address of string table */ +#define DT_SYMTAB 6 /* Address of symbol table */ +#define DT_RELA 7 /* Address of Rela relocs */ +#define DT_RELASZ 8 /* Total size of Rela relocs */ +#define DT_RELAENT 9 /* Size of one Rela reloc */ +#define DT_STRSZ 10 /* Size of string table */ +#define DT_SYMENT 11 /* Size of one symbol table entry */ +#define DT_INIT 12 /* Address of init function */ +#define DT_FINI 13 /* Address of termination function */ +#define DT_SONAME 14 /* Name of shared object */ +#define DT_RPATH 15 /* Library search path (deprecated) */ +#define DT_SYMBOLIC 16 /* Start symbol search here */ +#define DT_REL 17 /* Address of Rel relocs */ +#define DT_RELSZ 18 /* Total size of Rel relocs */ +#define DT_RELENT 19 /* Size of one Rel reloc */ +#define DT_PLTREL 20 /* Type of reloc in PLT */ +#define DT_DEBUG 21 /* For debugging; unspecified */ +#define DT_TEXTREL 22 /* Reloc might modify .text */ +#define DT_JMPREL 23 /* Address of PLT relocs */ +#define DT_BIND_NOW 24 /* Process relocations of object */ +#define DT_INIT_ARRAY 25 /* Array with addresses of init fct */ +#define DT_FINI_ARRAY 26 /* Array with addresses of fini fct */ +#define DT_INIT_ARRAYSZ 27 /* Size in bytes of DT_INIT_ARRAY */ +#define DT_FINI_ARRAYSZ 28 /* Size in bytes of DT_FINI_ARRAY */ +#define DT_RUNPATH 29 /* Library search path */ +#define DT_FLAGS 30 /* Flags for the object being loaded */ +#define DT_ENCODING 32 /* Start of encoded range */ +#define DT_PREINIT_ARRAY 32 /* Array with addresses of preinit fct*/ +#define DT_PREINIT_ARRAYSZ 33 /* size in bytes of DT_PREINIT_ARRAY */ +#define DT_SYMTAB_SHNDX 34 /* Address of SYMTAB_SHNDX section */ +#define DT_RELRSZ 35 /* Total size of RELR relative relocations */ +#define DT_RELR 36 /* Address of RELR relative relocations */ +#define DT_RELRENT 37 /* Size of one RELR relative relocaction */ +#define DT_NUM 38 /* Number used */ +#define DT_LOOS 0x6000000d /* Start of OS-specific */ +#define DT_HIOS 0x6ffff000 /* End of OS-specific */ +#define DT_LOPROC 0x70000000 /* Start of processor-specific */ +#define DT_HIPROC 0x7fffffff /* End of processor-specific */ +#define DT_PROCNUM DT_MIPS_NUM /* Most used by any processor */ + +/* DT_* entries which fall between DT_VALRNGHI & DT_VALRNGLO use the + Dyn.d_un.d_val field of the Elf*_Dyn structure. This follows Sun's + approach. */ +#define DT_VALRNGLO 0x6ffffd00 +#define DT_GNU_PRELINKED 0x6ffffdf5 /* Prelinking timestamp */ +#define DT_GNU_CONFLICTSZ 0x6ffffdf6 /* Size of conflict section */ +#define DT_GNU_LIBLISTSZ 0x6ffffdf7 /* Size of library list */ +#define DT_CHECKSUM 0x6ffffdf8 +#define DT_PLTPADSZ 0x6ffffdf9 +#define DT_MOVEENT 0x6ffffdfa +#define DT_MOVESZ 0x6ffffdfb +#define DT_FEATURE_1 0x6ffffdfc /* Feature selection (DTF_*). */ +#define DT_POSFLAG_1 0x6ffffdfd /* Flags for DT_* entries, effecting + the following DT_* entry. */ +#define DT_SYMINSZ 0x6ffffdfe /* Size of syminfo table (in bytes) */ +#define DT_SYMINENT 0x6ffffdff /* Entry size of syminfo */ +#define DT_VALRNGHI 0x6ffffdff +#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag)) /* Reverse order! */ +#define DT_VALNUM 12 + +/* DT_* entries which fall between DT_ADDRRNGHI & DT_ADDRRNGLO use the + Dyn.d_un.d_ptr field of the Elf*_Dyn structure. + + If any adjustment is made to the ELF object after it has been + built these entries will need to be adjusted. */ +#define DT_ADDRRNGLO 0x6ffffe00 +#define DT_GNU_HASH 0x6ffffef5 /* GNU-style hash table. */ +#define DT_TLSDESC_PLT 0x6ffffef6 +#define DT_TLSDESC_GOT 0x6ffffef7 +#define DT_GNU_CONFLICT 0x6ffffef8 /* Start of conflict section */ +#define DT_GNU_LIBLIST 0x6ffffef9 /* Library list */ +#define DT_CONFIG 0x6ffffefa /* Configuration information. */ +#define DT_DEPAUDIT 0x6ffffefb /* Dependency auditing. */ +#define DT_AUDIT 0x6ffffefc /* Object auditing. */ +#define DT_PLTPAD 0x6ffffefd /* PLT padding. */ +#define DT_MOVETAB 0x6ffffefe /* Move table. */ +#define DT_SYMINFO 0x6ffffeff /* Syminfo table. */ +#define DT_ADDRRNGHI 0x6ffffeff +#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag)) /* Reverse order! */ +#define DT_ADDRNUM 11 + +/* The versioning entry types. The next are defined as part of the + GNU extension. */ +#define DT_VERSYM 0x6ffffff0 + +#define DT_RELACOUNT 0x6ffffff9 +#define DT_RELCOUNT 0x6ffffffa + +/* These were chosen by Sun. */ +#define DT_FLAGS_1 0x6ffffffb /* State flags, see DF_1_* below. */ +#define DT_VERDEF 0x6ffffffc /* Address of version definition + table */ +#define DT_VERDEFNUM 0x6ffffffd /* Number of version definitions */ +#define DT_VERNEED 0x6ffffffe /* Address of table with needed + versions */ +#define DT_VERNEEDNUM 0x6fffffff /* Number of needed versions */ +#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) /* Reverse order! */ +#define DT_VERSIONTAGNUM 16 + +/* Sun added these machine-independent extensions in the "processor-specific" + range. Be compatible. */ +#define DT_AUXILIARY 0x7ffffffd /* Shared object to load before self */ +#define DT_FILTER 0x7fffffff /* Shared object to get values from */ +#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1) +#define DT_EXTRANUM 3 + +/* Values of `d_un.d_val' in the DT_FLAGS entry. */ +#define DF_ORIGIN 0x00000001 /* Object may use DF_ORIGIN */ +#define DF_SYMBOLIC 0x00000002 /* Symbol resolutions starts here */ +#define DF_TEXTREL 0x00000004 /* Object contains text relocations */ +#define DF_BIND_NOW 0x00000008 /* No lazy binding for this object */ +#define DF_STATIC_TLS 0x00000010 /* Module uses the static TLS model */ + +/* State flags selectable in the `d_un.d_val' element of the DT_FLAGS_1 + entry in the dynamic section. */ +#define DF_1_NOW 0x00000001 /* Set RTLD_NOW for this object. */ +#define DF_1_GLOBAL 0x00000002 /* Set RTLD_GLOBAL for this object. */ +#define DF_1_GROUP 0x00000004 /* Set RTLD_GROUP for this object. */ +#define DF_1_NODELETE 0x00000008 /* Set RTLD_NODELETE for this object.*/ +#define DF_1_LOADFLTR 0x00000010 /* Trigger filtee loading at runtime.*/ +#define DF_1_INITFIRST 0x00000020 /* Set RTLD_INITFIRST for this object*/ +#define DF_1_NOOPEN 0x00000040 /* Set RTLD_NOOPEN for this object. */ +#define DF_1_ORIGIN 0x00000080 /* $ORIGIN must be handled. */ +#define DF_1_DIRECT 0x00000100 /* Direct binding enabled. */ +#define DF_1_TRANS 0x00000200 +#define DF_1_INTERPOSE 0x00000400 /* Object is used to interpose. */ +#define DF_1_NODEFLIB 0x00000800 /* Ignore default lib search path. */ +#define DF_1_NODUMP 0x00001000 /* Object can't be dldump'ed. */ +#define DF_1_CONFALT 0x00002000 /* Configuration alternative created.*/ +#define DF_1_ENDFILTEE 0x00004000 /* Filtee terminates filters search. */ +#define DF_1_DISPRELDNE 0x00008000 /* Disp reloc applied at build time. */ +#define DF_1_DISPRELPND 0x00010000 /* Disp reloc applied at run-time. */ +#define DF_1_NODIRECT 0x00020000 /* Object has no-direct binding. */ +#define DF_1_IGNMULDEF 0x00040000 +#define DF_1_NOKSYMS 0x00080000 +#define DF_1_NOHDR 0x00100000 +#define DF_1_EDITED 0x00200000 /* Object is modified after built. */ +#define DF_1_NORELOC 0x00400000 +#define DF_1_SYMINTPOSE 0x00800000 /* Object has individual interposers. */ +#define DF_1_GLOBAUDIT 0x01000000 /* Global auditing required. */ +#define DF_1_SINGLETON 0x02000000 /* Singleton symbols are used. */ +#define DF_1_STUB 0x04000000 +#define DF_1_PIE 0x08000000 +#define DF_1_KMOD 0x10000000 +#define DF_1_WEAKFILTER 0x20000000 +#define DF_1_NOCOMMON 0x40000000 + +/* Flags for the feature selection in DT_FEATURE_1. */ +#define DTF_1_PARINIT 0x00000001 +#define DTF_1_CONFEXP 0x00000002 + +/* Flags in the DT_POSFLAG_1 entry effecting only the next DT_* entry. */ +#define DF_P1_LAZYLOAD 0x00000001 /* Lazyload following object. */ +#define DF_P1_GROUPPERM 0x00000002 /* Symbols from next object are not + generally available. */ + +/* Version definition sections. */ + +typedef struct +{ + Elf32_Half vd_version; /* Version revision */ + Elf32_Half vd_flags; /* Version information */ + Elf32_Half vd_ndx; /* Version Index */ + Elf32_Half vd_cnt; /* Number of associated aux entries */ + Elf32_Word vd_hash; /* Version name hash value */ + Elf32_Word vd_aux; /* Offset in bytes to verdaux array */ + Elf32_Word vd_next; /* Offset in bytes to next verdef + entry */ +} Elf32_Verdef; + +typedef struct +{ + Elf64_Half vd_version; /* Version revision */ + Elf64_Half vd_flags; /* Version information */ + Elf64_Half vd_ndx; /* Version Index */ + Elf64_Half vd_cnt; /* Number of associated aux entries */ + Elf64_Word vd_hash; /* Version name hash value */ + Elf64_Word vd_aux; /* Offset in bytes to verdaux array */ + Elf64_Word vd_next; /* Offset in bytes to next verdef + entry */ +} Elf64_Verdef; + + +/* Legal values for vd_version (version revision). */ +#define VER_DEF_NONE 0 /* No version */ +#define VER_DEF_CURRENT 1 /* Current version */ +#define VER_DEF_NUM 2 /* Given version number */ + +/* Legal values for vd_flags (version information flags). */ +#define VER_FLG_BASE 0x1 /* Version definition of file itself */ +#define VER_FLG_WEAK 0x2 /* Weak version identifier. Also + used by vna_flags below. */ + +/* Versym symbol index values. */ +#define VER_NDX_LOCAL 0 /* Symbol is local. */ +#define VER_NDX_GLOBAL 1 /* Symbol is global. */ +#define VER_NDX_LORESERVE 0xff00 /* Beginning of reserved entries. */ +#define VER_NDX_ELIMINATE 0xff01 /* Symbol is to be eliminated. */ + +/* Auxiliary version information. */ + +typedef struct +{ + Elf32_Word vda_name; /* Version or dependency names */ + Elf32_Word vda_next; /* Offset in bytes to next verdaux + entry */ +} Elf32_Verdaux; + +typedef struct +{ + Elf64_Word vda_name; /* Version or dependency names */ + Elf64_Word vda_next; /* Offset in bytes to next verdaux + entry */ +} Elf64_Verdaux; + + +/* Version dependency section. */ + +typedef struct +{ + Elf32_Half vn_version; /* Version of structure */ + Elf32_Half vn_cnt; /* Number of associated aux entries */ + Elf32_Word vn_file; /* Offset of filename for this + dependency */ + Elf32_Word vn_aux; /* Offset in bytes to vernaux array */ + Elf32_Word vn_next; /* Offset in bytes to next verneed + entry */ +} Elf32_Verneed; + +typedef struct +{ + Elf64_Half vn_version; /* Version of structure */ + Elf64_Half vn_cnt; /* Number of associated aux entries */ + Elf64_Word vn_file; /* Offset of filename for this + dependency */ + Elf64_Word vn_aux; /* Offset in bytes to vernaux array */ + Elf64_Word vn_next; /* Offset in bytes to next verneed + entry */ +} Elf64_Verneed; + + +/* Legal values for vn_version (version revision). */ +#define VER_NEED_NONE 0 /* No version */ +#define VER_NEED_CURRENT 1 /* Current version */ +#define VER_NEED_NUM 2 /* Given version number */ + +/* Auxiliary needed version information. */ + +typedef struct +{ + Elf32_Word vna_hash; /* Hash value of dependency name */ + Elf32_Half vna_flags; /* Dependency specific information */ + Elf32_Half vna_other; /* Unused */ + Elf32_Word vna_name; /* Dependency name string offset */ + Elf32_Word vna_next; /* Offset in bytes to next vernaux + entry */ +} Elf32_Vernaux; + +typedef struct +{ + Elf64_Word vna_hash; /* Hash value of dependency name */ + Elf64_Half vna_flags; /* Dependency specific information */ + Elf64_Half vna_other; /* Unused */ + Elf64_Word vna_name; /* Dependency name string offset */ + Elf64_Word vna_next; /* Offset in bytes to next vernaux + entry */ +} Elf64_Vernaux; + + +/* Auxiliary vector. */ + +/* This vector is normally only used by the program interpreter. The + usual definition in an ABI supplement uses the name auxv_t. The + vector is not usually defined in a standard file, but it + can't hurt. We rename it to avoid conflicts. The sizes of these + types are an arrangement between the exec server and the program + interpreter, so we don't fully specify them here. */ + +typedef struct +{ + uint32_t a_type; /* Entry type */ + union + { + uint32_t a_val; /* Integer value */ + /* We use to have pointer elements added here. We cannot do that, + though, since it does not work when using 32-bit definitions + on 64-bit platforms and vice versa. */ + } a_un; +} Elf32_auxv_t; + +typedef struct +{ + uint64_t a_type; /* Entry type */ + union + { + uint64_t a_val; /* Integer value */ + /* We use to have pointer elements added here. We cannot do that, + though, since it does not work when using 32-bit definitions + on 64-bit platforms and vice versa. */ + } a_un; +} Elf64_auxv_t; + +/* Legal values for a_type (entry type). */ + +#define AT_NULL 0 /* End of vector */ +#define AT_IGNORE 1 /* Entry should be ignored */ +#define AT_EXECFD 2 /* File descriptor of program */ +#define AT_PHDR 3 /* Program headers for program */ +#define AT_PHENT 4 /* Size of program header entry */ +#define AT_PHNUM 5 /* Number of program headers */ +#define AT_PAGESZ 6 /* System page size */ +#define AT_BASE 7 /* Base address of interpreter */ +#define AT_FLAGS 8 /* Flags */ +#define AT_ENTRY 9 /* Entry point of program */ +#define AT_NOTELF 10 /* Program is not ELF */ +#define AT_UID 11 /* Real uid */ +#define AT_EUID 12 /* Effective uid */ +#define AT_GID 13 /* Real gid */ +#define AT_EGID 14 /* Effective gid */ +#define AT_CLKTCK 17 /* Frequency of times() */ + +/* Some more special a_type values describing the hardware. */ +#define AT_PLATFORM 15 /* String identifying platform. */ +#define AT_HWCAP 16 /* Machine-dependent hints about + processor capabilities. */ + +/* This entry gives some information about the FPU initialization + performed by the kernel. */ +#define AT_FPUCW 18 /* Used FPU control word. */ + +/* Cache block sizes. */ +#define AT_DCACHEBSIZE 19 /* Data cache block size. */ +#define AT_ICACHEBSIZE 20 /* Instruction cache block size. */ +#define AT_UCACHEBSIZE 21 /* Unified cache block size. */ + +/* A special ignored value for PPC, used by the kernel to control the + interpretation of the AUXV. Must be > 16. */ +#define AT_IGNOREPPC 22 /* Entry should be ignored. */ + +#define AT_SECURE 23 /* Boolean, was exec setuid-like? */ + +#define AT_BASE_PLATFORM 24 /* String identifying real platforms.*/ + +#define AT_RANDOM 25 /* Address of 16 random bytes. */ + +#define AT_HWCAP2 26 /* More machine-dependent hints about + processor capabilities. */ + +#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */ +#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */ + +/* More machine-dependent hints about processor capabilities. */ +#define AT_HWCAP3 29 /* extension of AT_HWCAP. */ +#define AT_HWCAP4 30 /* extension of AT_HWCAP. */ + +#define AT_EXECFN 31 /* Filename of executable. */ + +/* Pointer to the global system page used for system calls and other + nice things. */ +#define AT_SYSINFO 32 +#define AT_SYSINFO_EHDR 33 + +/* Shapes of the caches. Bits 0-3 contains associativity; bits 4-7 contains + log2 of line size; mask those to get cache size. */ +#define AT_L1I_CACHESHAPE 34 +#define AT_L1D_CACHESHAPE 35 +#define AT_L2_CACHESHAPE 36 +#define AT_L3_CACHESHAPE 37 + +/* Shapes of the caches, with more room to describe them. + *GEOMETRY are comprised of cache line size in bytes in the bottom 16 bits + and the cache associativity in the next 16 bits. */ +#define AT_L1I_CACHESIZE 40 +#define AT_L1I_CACHEGEOMETRY 41 +#define AT_L1D_CACHESIZE 42 +#define AT_L1D_CACHEGEOMETRY 43 +#define AT_L2_CACHESIZE 44 +#define AT_L2_CACHEGEOMETRY 45 +#define AT_L3_CACHESIZE 46 +#define AT_L3_CACHEGEOMETRY 47 + +#define AT_MINSIGSTKSZ 51 /* Stack needed for signal delivery */ + +/* Note section contents. Each entry in the note section begins with + a header of a fixed form. */ + +typedef struct +{ + Elf32_Word n_namesz; /* Length of the note's name. */ + Elf32_Word n_descsz; /* Length of the note's descriptor. */ + Elf32_Word n_type; /* Type of the note. */ +} Elf32_Nhdr; + +typedef struct +{ + Elf64_Word n_namesz; /* Length of the note's name. */ + Elf64_Word n_descsz; /* Length of the note's descriptor. */ + Elf64_Word n_type; /* Type of the note. */ +} Elf64_Nhdr; + +/* Known names of notes. */ + +/* Solaris entries in the note section have this name. */ +#define ELF_NOTE_SOLARIS "SUNW Solaris" + +/* Note entries for GNU systems have this name. */ +#define ELF_NOTE_GNU "GNU" + +/* Note entries for freedesktop.org have this name. */ +#define ELF_NOTE_FDO "FDO" + +/* Defined types of notes for Solaris. */ + +/* Value of descriptor (one word) is desired pagesize for the binary. */ +#define ELF_NOTE_PAGESIZE_HINT 1 + + +/* Defined note types for GNU systems. */ + +/* ABI information. The descriptor consists of words: + word 0: OS descriptor + word 1: major version of the ABI + word 2: minor version of the ABI + word 3: subminor version of the ABI +*/ +#define NT_GNU_ABI_TAG 1 +#define ELF_NOTE_ABI NT_GNU_ABI_TAG /* Old name. */ + +/* Known OSes. These values can appear in word 0 of an + NT_GNU_ABI_TAG note section entry. */ +#define ELF_NOTE_OS_LINUX 0 +#define ELF_NOTE_OS_GNU 1 +#define ELF_NOTE_OS_SOLARIS2 2 +#define ELF_NOTE_OS_FREEBSD 3 + +/* Synthetic hwcap information. The descriptor begins with two words: + word 0: number of entries + word 1: bitmask of enabled entries + Then follow variable-length entries, one byte followed by a + '\0'-terminated hwcap name string. The byte gives the bit + number to test if enabled, (1U << bit) & bitmask. */ +#define NT_GNU_HWCAP 2 + +/* Build ID bits as generated by ld --build-id. + The descriptor consists of any nonzero number of bytes. */ +#define NT_GNU_BUILD_ID 3 + +/* Version note generated by GNU gold containing a version string. */ +#define NT_GNU_GOLD_VERSION 4 + +/* Program property. */ +#define NT_GNU_PROPERTY_TYPE_0 5 + +/* Packaging metadata as defined on + https://systemd.io/ELF_PACKAGE_METADATA/ */ +#define NT_FDO_PACKAGING_METADATA 0xcafe1a7e + +/* dlopen metadata as defined on + https://systemd.io/ELF_DLOPEN_METADATA/ */ +#define NT_FDO_DLOPEN_METADATA 0x407c0c0a + +/* Note section name of program property. */ +#define NOTE_GNU_PROPERTY_SECTION_NAME ".note.gnu.property" + +/* Values used in GNU .note.gnu.property notes (NT_GNU_PROPERTY_TYPE_0). */ + +/* Stack size. */ +#define GNU_PROPERTY_STACK_SIZE 1 +/* No copy relocation on protected data symbol. */ +#define GNU_PROPERTY_NO_COPY_ON_PROTECTED 2 + +/* A 4-byte unsigned integer property: A bit is set if it is set in all + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_AND_LO 0xb0000000 +#define GNU_PROPERTY_UINT32_AND_HI 0xb0007fff + +/* A 4-byte unsigned integer property: A bit is set if it is set in any + relocatable inputs. */ +#define GNU_PROPERTY_UINT32_OR_LO 0xb0008000 +#define GNU_PROPERTY_UINT32_OR_HI 0xb000ffff + +/* The needed properties by the object file. */ +#define GNU_PROPERTY_1_NEEDED GNU_PROPERTY_UINT32_OR_LO + +/* Set if the object file requires canonical function pointers and + cannot be used with copy relocation. */ +#define GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS (1U << 0) + +/* Processor-specific semantics, lo */ +#define GNU_PROPERTY_LOPROC 0xc0000000 +/* Processor-specific semantics, hi */ +#define GNU_PROPERTY_HIPROC 0xdfffffff +/* Application-specific semantics, lo */ +#define GNU_PROPERTY_LOUSER 0xe0000000 +/* Application-specific semantics, hi */ +#define GNU_PROPERTY_HIUSER 0xffffffff + +/* AArch64 specific GNU properties. */ +#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0xc0000000 + +#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) +#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1) +#define GNU_PROPERTY_AARCH64_FEATURE_1_GCS (1U << 2) + +/* The x86 instruction sets indicated by the corresponding bits are + used in program. Their support in the hardware is optional. */ +#define GNU_PROPERTY_X86_ISA_1_USED 0xc0010002 +/* The x86 instruction sets indicated by the corresponding bits are + used in program and they must be supported by the hardware. */ +#define GNU_PROPERTY_X86_ISA_1_NEEDED 0xc0008002 +/* X86 processor-specific features used in program. */ +#define GNU_PROPERTY_X86_FEATURE_1_AND 0xc0000002 + +/* GNU_PROPERTY_X86_ISA_1_BASELINE: CMOV, CX8 (cmpxchg8b), FPU (fld), + MMX, OSFXSR (fxsave), SCE (syscall), SSE and SSE2. */ +#define GNU_PROPERTY_X86_ISA_1_BASELINE (1U << 0) +/* GNU_PROPERTY_X86_ISA_1_V2: GNU_PROPERTY_X86_ISA_1_BASELINE, + CMPXCHG16B (cmpxchg16b), LAHF-SAHF (lahf), POPCNT (popcnt), SSE3, + SSSE3, SSE4.1 and SSE4.2. */ +#define GNU_PROPERTY_X86_ISA_1_V2 (1U << 1) +/* GNU_PROPERTY_X86_ISA_1_V3: GNU_PROPERTY_X86_ISA_1_V2, AVX, AVX2, BMI1, + BMI2, F16C, FMA, LZCNT, MOVBE, XSAVE. */ +#define GNU_PROPERTY_X86_ISA_1_V3 (1U << 2) +/* GNU_PROPERTY_X86_ISA_1_V4: GNU_PROPERTY_X86_ISA_1_V3, AVX512F, + AVX512BW, AVX512CD, AVX512DQ and AVX512VL. */ +#define GNU_PROPERTY_X86_ISA_1_V4 (1U << 3) + +/* This indicates that all executable sections are compatible with + IBT. */ +#define GNU_PROPERTY_X86_FEATURE_1_IBT (1U << 0) +/* This indicates that all executable sections are compatible with + SHSTK. */ +#define GNU_PROPERTY_X86_FEATURE_1_SHSTK (1U << 1) + +/* Move records. */ +typedef struct +{ + Elf32_Xword m_value; /* Symbol value. */ + Elf32_Word m_info; /* Size and index. */ + Elf32_Word m_poffset; /* Symbol offset. */ + Elf32_Half m_repeat; /* Repeat count. */ + Elf32_Half m_stride; /* Stride info. */ +} Elf32_Move; + +typedef struct +{ + Elf64_Xword m_value; /* Symbol value. */ + Elf64_Xword m_info; /* Size and index. */ + Elf64_Xword m_poffset; /* Symbol offset. */ + Elf64_Half m_repeat; /* Repeat count. */ + Elf64_Half m_stride; /* Stride info. */ +} Elf64_Move; + +/* Macro to construct move records. */ +#define ELF32_M_SYM(info) ((info) >> 8) +#define ELF32_M_SIZE(info) ((unsigned char) (info)) +#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size)) + +#define ELF64_M_SYM(info) ELF32_M_SYM (info) +#define ELF64_M_SIZE(info) ELF32_M_SIZE (info) +#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size) + + +/* Motorola 68k specific definitions. */ + +/* Values for Elf32_Ehdr.e_flags. */ +#define EF_CPU32 0x00810000 + +/* m68k relocs. */ + +#define R_68K_NONE 0 /* No reloc */ +#define R_68K_32 1 /* Direct 32 bit */ +#define R_68K_16 2 /* Direct 16 bit */ +#define R_68K_8 3 /* Direct 8 bit */ +#define R_68K_PC32 4 /* PC relative 32 bit */ +#define R_68K_PC16 5 /* PC relative 16 bit */ +#define R_68K_PC8 6 /* PC relative 8 bit */ +#define R_68K_GOT32 7 /* 32 bit PC relative GOT entry */ +#define R_68K_GOT16 8 /* 16 bit PC relative GOT entry */ +#define R_68K_GOT8 9 /* 8 bit PC relative GOT entry */ +#define R_68K_GOT32O 10 /* 32 bit GOT offset */ +#define R_68K_GOT16O 11 /* 16 bit GOT offset */ +#define R_68K_GOT8O 12 /* 8 bit GOT offset */ +#define R_68K_PLT32 13 /* 32 bit PC relative PLT address */ +#define R_68K_PLT16 14 /* 16 bit PC relative PLT address */ +#define R_68K_PLT8 15 /* 8 bit PC relative PLT address */ +#define R_68K_PLT32O 16 /* 32 bit PLT offset */ +#define R_68K_PLT16O 17 /* 16 bit PLT offset */ +#define R_68K_PLT8O 18 /* 8 bit PLT offset */ +#define R_68K_COPY 19 /* Copy symbol at runtime */ +#define R_68K_GLOB_DAT 20 /* Create GOT entry */ +#define R_68K_JMP_SLOT 21 /* Create PLT entry */ +#define R_68K_RELATIVE 22 /* Adjust by program base */ +#define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */ +#define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */ +#define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */ +#define R_68K_TLS_LDM32 28 /* 32 bit GOT offset for LDM */ +#define R_68K_TLS_LDM16 29 /* 16 bit GOT offset for LDM */ +#define R_68K_TLS_LDM8 30 /* 8 bit GOT offset for LDM */ +#define R_68K_TLS_LDO32 31 /* 32 bit module-relative offset */ +#define R_68K_TLS_LDO16 32 /* 16 bit module-relative offset */ +#define R_68K_TLS_LDO8 33 /* 8 bit module-relative offset */ +#define R_68K_TLS_IE32 34 /* 32 bit GOT offset for IE */ +#define R_68K_TLS_IE16 35 /* 16 bit GOT offset for IE */ +#define R_68K_TLS_IE8 36 /* 8 bit GOT offset for IE */ +#define R_68K_TLS_LE32 37 /* 32 bit offset relative to + static TLS block */ +#define R_68K_TLS_LE16 38 /* 16 bit offset relative to + static TLS block */ +#define R_68K_TLS_LE8 39 /* 8 bit offset relative to + static TLS block */ +#define R_68K_TLS_DTPMOD32 40 /* 32 bit module number */ +#define R_68K_TLS_DTPREL32 41 /* 32 bit module-relative offset */ +#define R_68K_TLS_TPREL32 42 /* 32 bit TP-relative offset */ +/* Keep this the last entry. */ +#define R_68K_NUM 43 + +/* Intel 80386 specific definitions. */ + +/* i386 relocs. */ + +#define R_386_NONE 0 /* No reloc */ +#define R_386_32 1 /* Direct 32 bit */ +#define R_386_PC32 2 /* PC relative 32 bit */ +#define R_386_GOT32 3 /* 32 bit GOT entry */ +#define R_386_PLT32 4 /* 32 bit PLT address */ +#define R_386_COPY 5 /* Copy symbol at runtime */ +#define R_386_GLOB_DAT 6 /* Create GOT entry */ +#define R_386_JMP_SLOT 7 /* Create PLT entry */ +#define R_386_RELATIVE 8 /* Adjust by program base */ +#define R_386_GOTOFF 9 /* 32 bit offset to GOT */ +#define R_386_GOTPC 10 /* 32 bit PC relative offset to GOT */ +#define R_386_32PLT 11 +#define R_386_TLS_TPOFF 14 /* Offset in static TLS block */ +#define R_386_TLS_IE 15 /* Address of GOT entry for static TLS + block offset */ +#define R_386_TLS_GOTIE 16 /* GOT entry for static TLS block + offset */ +#define R_386_TLS_LE 17 /* Offset relative to static TLS + block */ +#define R_386_TLS_GD 18 /* Direct 32 bit for GNU version of + general dynamic thread local data */ +#define R_386_TLS_LDM 19 /* Direct 32 bit for GNU version of + local dynamic thread local data + in LE code */ +#define R_386_16 20 +#define R_386_PC16 21 +#define R_386_8 22 +#define R_386_PC8 23 +#define R_386_TLS_GD_32 24 /* Direct 32 bit for general dynamic + thread local data */ +#define R_386_TLS_GD_PUSH 25 /* Tag for pushl in GD TLS code */ +#define R_386_TLS_GD_CALL 26 /* Relocation for call to + __tls_get_addr() */ +#define R_386_TLS_GD_POP 27 /* Tag for popl in GD TLS code */ +#define R_386_TLS_LDM_32 28 /* Direct 32 bit for local dynamic + thread local data in LE code */ +#define R_386_TLS_LDM_PUSH 29 /* Tag for pushl in LDM TLS code */ +#define R_386_TLS_LDM_CALL 30 /* Relocation for call to + __tls_get_addr() in LDM code */ +#define R_386_TLS_LDM_POP 31 /* Tag for popl in LDM TLS code */ +#define R_386_TLS_LDO_32 32 /* Offset relative to TLS block */ +#define R_386_TLS_IE_32 33 /* GOT entry for negated static TLS + block offset */ +#define R_386_TLS_LE_32 34 /* Negated offset relative to static + TLS block */ +#define R_386_TLS_DTPMOD32 35 /* ID of module containing symbol */ +#define R_386_TLS_DTPOFF32 36 /* Offset in TLS block */ +#define R_386_TLS_TPOFF32 37 /* Negated offset in static TLS block */ +#define R_386_SIZE32 38 /* 32-bit symbol size */ +#define R_386_TLS_GOTDESC 39 /* GOT offset for TLS descriptor. */ +#define R_386_TLS_DESC_CALL 40 /* Marker of call through TLS + descriptor for + relaxation. */ +#define R_386_TLS_DESC 41 /* TLS descriptor containing + pointer to code and to + argument, returning the TLS + offset for the symbol. */ +#define R_386_IRELATIVE 42 /* Adjust indirectly by program base */ +#define R_386_GOT32X 43 /* Load from 32 bit GOT entry, + relaxable. */ +/* Keep this the last entry. */ +#define R_386_NUM 44 + +/* SUN SPARC specific definitions. */ + +/* Legal values for ST_TYPE subfield of st_info (symbol type). */ + +#define STT_SPARC_REGISTER 13 /* Global register reserved to app. */ + +/* Values for Elf64_Ehdr.e_flags. */ + +#define EF_SPARCV9_MM 3 +#define EF_SPARCV9_TSO 0 +#define EF_SPARCV9_PSO 1 +#define EF_SPARCV9_RMO 2 +#define EF_SPARC_LEDATA 0x800000 /* little endian data */ +#define EF_SPARC_EXT_MASK 0xFFFF00 +#define EF_SPARC_32PLUS 0x000100 /* generic V8+ features */ +#define EF_SPARC_SUN_US1 0x000200 /* Sun UltraSPARC1 extensions */ +#define EF_SPARC_HAL_R1 0x000400 /* HAL R1 extensions */ +#define EF_SPARC_SUN_US3 0x000800 /* Sun UltraSPARCIII extensions */ + +/* SPARC relocs. */ + +#define R_SPARC_NONE 0 /* No reloc */ +#define R_SPARC_8 1 /* Direct 8 bit */ +#define R_SPARC_16 2 /* Direct 16 bit */ +#define R_SPARC_32 3 /* Direct 32 bit */ +#define R_SPARC_DISP8 4 /* PC relative 8 bit */ +#define R_SPARC_DISP16 5 /* PC relative 16 bit */ +#define R_SPARC_DISP32 6 /* PC relative 32 bit */ +#define R_SPARC_WDISP30 7 /* PC relative 30 bit shifted */ +#define R_SPARC_WDISP22 8 /* PC relative 22 bit shifted */ +#define R_SPARC_HI22 9 /* High 22 bit */ +#define R_SPARC_22 10 /* Direct 22 bit */ +#define R_SPARC_13 11 /* Direct 13 bit */ +#define R_SPARC_LO10 12 /* Truncated 10 bit */ +#define R_SPARC_GOT10 13 /* Truncated 10 bit GOT entry */ +#define R_SPARC_GOT13 14 /* 13 bit GOT entry */ +#define R_SPARC_GOT22 15 /* 22 bit GOT entry shifted */ +#define R_SPARC_PC10 16 /* PC relative 10 bit truncated */ +#define R_SPARC_PC22 17 /* PC relative 22 bit shifted */ +#define R_SPARC_WPLT30 18 /* 30 bit PC relative PLT address */ +#define R_SPARC_COPY 19 /* Copy symbol at runtime */ +#define R_SPARC_GLOB_DAT 20 /* Create GOT entry */ +#define R_SPARC_JMP_SLOT 21 /* Create PLT entry */ +#define R_SPARC_RELATIVE 22 /* Adjust by program base */ +#define R_SPARC_UA32 23 /* Direct 32 bit unaligned */ + +/* Additional Sparc64 relocs. */ + +#define R_SPARC_PLT32 24 /* Direct 32 bit ref to PLT entry */ +#define R_SPARC_HIPLT22 25 /* High 22 bit PLT entry */ +#define R_SPARC_LOPLT10 26 /* Truncated 10 bit PLT entry */ +#define R_SPARC_PCPLT32 27 /* PC rel 32 bit ref to PLT entry */ +#define R_SPARC_PCPLT22 28 /* PC rel high 22 bit PLT entry */ +#define R_SPARC_PCPLT10 29 /* PC rel trunc 10 bit PLT entry */ +#define R_SPARC_10 30 /* Direct 10 bit */ +#define R_SPARC_11 31 /* Direct 11 bit */ +#define R_SPARC_64 32 /* Direct 64 bit */ +#define R_SPARC_OLO10 33 /* 10bit with secondary 13bit addend */ +#define R_SPARC_HH22 34 /* Top 22 bits of direct 64 bit */ +#define R_SPARC_HM10 35 /* High middle 10 bits of ... */ +#define R_SPARC_LM22 36 /* Low middle 22 bits of ... */ +#define R_SPARC_PC_HH22 37 /* Top 22 bits of pc rel 64 bit */ +#define R_SPARC_PC_HM10 38 /* High middle 10 bit of ... */ +#define R_SPARC_PC_LM22 39 /* Low miggle 22 bits of ... */ +#define R_SPARC_WDISP16 40 /* PC relative 16 bit shifted */ +#define R_SPARC_WDISP19 41 /* PC relative 19 bit shifted */ +#define R_SPARC_GLOB_JMP 42 /* was part of v9 ABI but was removed */ +#define R_SPARC_7 43 /* Direct 7 bit */ +#define R_SPARC_5 44 /* Direct 5 bit */ +#define R_SPARC_6 45 /* Direct 6 bit */ +#define R_SPARC_DISP64 46 /* PC relative 64 bit */ +#define R_SPARC_PLT64 47 /* Direct 64 bit ref to PLT entry */ +#define R_SPARC_HIX22 48 /* High 22 bit complemented */ +#define R_SPARC_LOX10 49 /* Truncated 11 bit complemented */ +#define R_SPARC_H44 50 /* Direct high 12 of 44 bit */ +#define R_SPARC_M44 51 /* Direct mid 22 of 44 bit */ +#define R_SPARC_L44 52 /* Direct low 10 of 44 bit */ +#define R_SPARC_REGISTER 53 /* Global register usage */ +#define R_SPARC_UA64 54 /* Direct 64 bit unaligned */ +#define R_SPARC_UA16 55 /* Direct 16 bit unaligned */ +#define R_SPARC_TLS_GD_HI22 56 +#define R_SPARC_TLS_GD_LO10 57 +#define R_SPARC_TLS_GD_ADD 58 +#define R_SPARC_TLS_GD_CALL 59 +#define R_SPARC_TLS_LDM_HI22 60 +#define R_SPARC_TLS_LDM_LO10 61 +#define R_SPARC_TLS_LDM_ADD 62 +#define R_SPARC_TLS_LDM_CALL 63 +#define R_SPARC_TLS_LDO_HIX22 64 +#define R_SPARC_TLS_LDO_LOX10 65 +#define R_SPARC_TLS_LDO_ADD 66 +#define R_SPARC_TLS_IE_HI22 67 +#define R_SPARC_TLS_IE_LO10 68 +#define R_SPARC_TLS_IE_LD 69 +#define R_SPARC_TLS_IE_LDX 70 +#define R_SPARC_TLS_IE_ADD 71 +#define R_SPARC_TLS_LE_HIX22 72 +#define R_SPARC_TLS_LE_LOX10 73 +#define R_SPARC_TLS_DTPMOD32 74 +#define R_SPARC_TLS_DTPMOD64 75 +#define R_SPARC_TLS_DTPOFF32 76 +#define R_SPARC_TLS_DTPOFF64 77 +#define R_SPARC_TLS_TPOFF32 78 +#define R_SPARC_TLS_TPOFF64 79 +#define R_SPARC_GOTDATA_HIX22 80 +#define R_SPARC_GOTDATA_LOX10 81 +#define R_SPARC_GOTDATA_OP_HIX22 82 +#define R_SPARC_GOTDATA_OP_LOX10 83 +#define R_SPARC_GOTDATA_OP 84 +#define R_SPARC_H34 85 +#define R_SPARC_SIZE32 86 +#define R_SPARC_SIZE64 87 +#define R_SPARC_WDISP10 88 +#define R_SPARC_JMP_IREL 248 +#define R_SPARC_IRELATIVE 249 +#define R_SPARC_GNU_VTINHERIT 250 +#define R_SPARC_GNU_VTENTRY 251 +#define R_SPARC_REV32 252 +/* Keep this the last entry. */ +#define R_SPARC_NUM 253 + +/* For Sparc64, legal values for d_tag of Elf64_Dyn. */ + +#define DT_SPARC_REGISTER 0x70000001 +#define DT_SPARC_NUM 2 + +/* MIPS R3000 specific definitions. */ + +/* Legal values for e_flags field of Elf32_Ehdr. */ + +#define EF_MIPS_NOREORDER 1 /* A .noreorder directive was used. */ +#define EF_MIPS_PIC 2 /* Contains PIC code. */ +#define EF_MIPS_CPIC 4 /* Uses PIC calling sequence. */ +#define EF_MIPS_XGOT 8 +#define EF_MIPS_UCODE 16 +#define EF_MIPS_ABI2 32 +#define EF_MIPS_ABI_ON32 64 +#define EF_MIPS_OPTIONS_FIRST 0x00000080 /* Process the .MIPS.options + section first by ld. */ +#define EF_MIPS_32BITMODE 0x00000100 /* Indicates code compiled for + a 64-bit machine in 32-bit + mode (regs are 32-bits + wide). */ +#define EF_MIPS_FP64 512 /* Uses FP64 (12 callee-saved). */ +#define EF_MIPS_NAN2008 1024 /* Uses IEEE 754-2008 NaN encoding. */ +#define EF_MIPS_ARCH_ASE 0x0f000000 /* Architectural Extensions + used by this file. */ +#define EF_MIPS_ARCH_ASE_MDMX 0x08000000 /* Use MDMX multimedia + extensions. */ +#define EF_MIPS_ARCH_ASE_M16 0x04000000 /* Use MIPS-16 ISA + extensions. */ +#define EF_MIPS_ARCH_ASE_MICROMIPS 0x02000000 /* Use MICROMIPS ISA + extensions. */ +#define EF_MIPS_ARCH 0xf0000000 /* MIPS architecture level. */ + +/* Legal values for MIPS architecture level. */ + +#define EF_MIPS_ARCH_1 0x00000000 /* -mips1 code. */ +#define EF_MIPS_ARCH_2 0x10000000 /* -mips2 code. */ +#define EF_MIPS_ARCH_3 0x20000000 /* -mips3 code. */ +#define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code. */ +#define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code. */ +#define EF_MIPS_ARCH_32 0x50000000 /* MIPS32 code. */ +#define EF_MIPS_ARCH_64 0x60000000 /* MIPS64 code. */ +#define EF_MIPS_ARCH_32R2 0x70000000 /* MIPS32r2 code. */ +#define EF_MIPS_ARCH_64R2 0x80000000 /* MIPS64r2 code. */ +#define EF_MIPS_ARCH_32R6 0x90000000 /* MIPS32r6 code. */ +#define EF_MIPS_ARCH_64R6 0xa0000000 /* MIPS64r6 code. */ +#define EF_MIPS_ABI 0x0000F000 /* The ABI of the file. Also + see EF_MIPS_ABI2 above. */ +#define EF_MIPS_ABI_O32 0x00001000 /* The original o32 abi. */ +#define EF_MIPS_ABI_O64 0x00002000 /* O32 extended to work on + 64 bit architectures. */ +#define EF_MIPS_ABI_EABI32 0x00003000 /* EABI in 32 bit mode. */ +#define EF_MIPS_ABI_EABI64 0x00004000 /* EABI in 64 bit mode. */ +#define EF_MIPS_MACH 0x00FF0000 +#define EF_MIPS_MACH_3900 0x00810000 +#define EF_MIPS_MACH_4010 0x00820000 +#define EF_MIPS_MACH_4100 0x00830000 +#define EF_MIPS_MACH_ALLEGREX 0x00840000 +#define EF_MIPS_MACH_4650 0x00850000 +#define EF_MIPS_MACH_4120 0x00870000 +#define EF_MIPS_MACH_4111 0x00880000 +#define EF_MIPS_MACH_SB1 0x008a0000 +#define EF_MIPS_MACH_OCTEON 0x008b0000 +#define EF_MIPS_MACH_XLR 0x008c0000 +#define EF_MIPS_MACH_OCTEON2 0x008d0000 +#define EF_MIPS_MACH_OCTEON3 0x008e0000 +#define EF_MIPS_MACH_5400 0x00910000 +#define EF_MIPS_MACH_5900 0x00920000 +#define EF_MIPS_MACH_IAMR2 0x00930000 +#define EF_MIPS_MACH_5500 0x00980000 +#define EF_MIPS_MACH_9000 0x00990000 +#define EF_MIPS_MACH_LS2E 0x00A00000 +#define EF_MIPS_MACH_LS2F 0x00A10000 +#define EF_MIPS_MACH_GS464 0x00A20000 +#define EF_MIPS_MACH_GS464E 0x00A30000 +#define EF_MIPS_MACH_GS264E 0x00A40000 + +/* The following are unofficial names and should not be used. */ + +#define E_MIPS_ARCH_1 EF_MIPS_ARCH_1 +#define E_MIPS_ARCH_2 EF_MIPS_ARCH_2 +#define E_MIPS_ARCH_3 EF_MIPS_ARCH_3 +#define E_MIPS_ARCH_4 EF_MIPS_ARCH_4 +#define E_MIPS_ARCH_5 EF_MIPS_ARCH_5 +#define E_MIPS_ARCH_32 EF_MIPS_ARCH_32 +#define E_MIPS_ARCH_64 EF_MIPS_ARCH_64 + +/* Special section indices. */ + +#define SHN_MIPS_ACOMMON 0xff00 /* Allocated common symbols. */ +#define SHN_MIPS_TEXT 0xff01 /* Allocated test symbols. */ +#define SHN_MIPS_DATA 0xff02 /* Allocated data symbols. */ +#define SHN_MIPS_SCOMMON 0xff03 /* Small common symbols. */ +#define SHN_MIPS_SUNDEFINED 0xff04 /* Small undefined symbols. */ + +/* Legal values for sh_type field of Elf32_Shdr. */ + +#define SHT_MIPS_LIBLIST 0x70000000 /* Shared objects used in link. */ +#define SHT_MIPS_MSYM 0x70000001 +#define SHT_MIPS_CONFLICT 0x70000002 /* Conflicting symbols. */ +#define SHT_MIPS_GPTAB 0x70000003 /* Global data area sizes. */ +#define SHT_MIPS_UCODE 0x70000004 /* Reserved for SGI/MIPS compilers */ +#define SHT_MIPS_DEBUG 0x70000005 /* MIPS ECOFF debugging info. */ +#define SHT_MIPS_REGINFO 0x70000006 /* Register usage information. */ +#define SHT_MIPS_PACKAGE 0x70000007 +#define SHT_MIPS_PACKSYM 0x70000008 +#define SHT_MIPS_RELD 0x70000009 +#define SHT_MIPS_IFACE 0x7000000b +#define SHT_MIPS_CONTENT 0x7000000c +#define SHT_MIPS_OPTIONS 0x7000000d /* Miscellaneous options. */ +#define SHT_MIPS_SHDR 0x70000010 +#define SHT_MIPS_FDESC 0x70000011 +#define SHT_MIPS_EXTSYM 0x70000012 +#define SHT_MIPS_DENSE 0x70000013 +#define SHT_MIPS_PDESC 0x70000014 +#define SHT_MIPS_LOCSYM 0x70000015 +#define SHT_MIPS_AUXSYM 0x70000016 +#define SHT_MIPS_OPTSYM 0x70000017 +#define SHT_MIPS_LOCSTR 0x70000018 +#define SHT_MIPS_LINE 0x70000019 +#define SHT_MIPS_RFDESC 0x7000001a +#define SHT_MIPS_DELTASYM 0x7000001b +#define SHT_MIPS_DELTAINST 0x7000001c +#define SHT_MIPS_DELTACLASS 0x7000001d +#define SHT_MIPS_DWARF 0x7000001e /* DWARF debugging information. */ +#define SHT_MIPS_DELTADECL 0x7000001f +#define SHT_MIPS_SYMBOL_LIB 0x70000020 +#define SHT_MIPS_EVENTS 0x70000021 /* Event section. */ +#define SHT_MIPS_TRANSLATE 0x70000022 +#define SHT_MIPS_PIXIE 0x70000023 +#define SHT_MIPS_XLATE 0x70000024 +#define SHT_MIPS_XLATE_DEBUG 0x70000025 +#define SHT_MIPS_WHIRL 0x70000026 +#define SHT_MIPS_EH_REGION 0x70000027 +#define SHT_MIPS_XLATE_OLD 0x70000028 +#define SHT_MIPS_PDR_EXCEPTION 0x70000029 +#define SHT_MIPS_ABIFLAGS 0x7000002a +#define SHT_MIPS_XHASH 0x7000002b + +/* Legal values for sh_flags field of Elf32_Shdr. */ + +#define SHF_MIPS_GPREL 0x10000000 /* Must be in global data area. */ +#define SHF_MIPS_MERGE 0x20000000 +#define SHF_MIPS_ADDR 0x40000000 +#define SHF_MIPS_STRINGS 0x80000000 +#define SHF_MIPS_NOSTRIP 0x08000000 +#define SHF_MIPS_LOCAL 0x04000000 +#define SHF_MIPS_NAMES 0x02000000 +#define SHF_MIPS_NODUPE 0x01000000 + + +/* Symbol tables. */ + +/* MIPS specific values for `st_other'. */ +#define STO_MIPS_DEFAULT 0x0 +#define STO_MIPS_INTERNAL 0x1 +#define STO_MIPS_HIDDEN 0x2 +#define STO_MIPS_PROTECTED 0x3 +#define STO_MIPS_PLT 0x8 +#define STO_MIPS_SC_ALIGN_UNUSED 0xff + +/* MIPS specific values for `st_info'. */ +#define STB_MIPS_SPLIT_COMMON 13 + +/* Entries found in sections of type SHT_MIPS_GPTAB. */ + +typedef union +{ + struct + { + Elf32_Word gt_current_g_value; /* -G value used for compilation. */ + Elf32_Word gt_unused; /* Not used. */ + } gt_header; /* First entry in section. */ + struct + { + Elf32_Word gt_g_value; /* If this value were used for -G. */ + Elf32_Word gt_bytes; /* This many bytes would be used. */ + } gt_entry; /* Subsequent entries in section. */ +} Elf32_gptab; + +/* Entry found in sections of type SHT_MIPS_REGINFO. */ + +typedef struct +{ + Elf32_Word ri_gprmask; /* General registers used. */ + Elf32_Word ri_cprmask[4]; /* Coprocessor registers used. */ + Elf32_Sword ri_gp_value; /* $gp register value. */ +} Elf32_RegInfo; + +/* Entries found in sections of type SHT_MIPS_OPTIONS. */ + +typedef struct +{ + unsigned char kind; /* Determines interpretation of the + variable part of descriptor. */ + unsigned char size; /* Size of descriptor, including header. */ + Elf32_Section section; /* Section header index of section affected, + 0 for global options. */ + Elf32_Word info; /* Kind-specific information. */ +} Elf_Options; + +/* Values for `kind' field in Elf_Options. */ + +#define ODK_NULL 0 /* Undefined. */ +#define ODK_REGINFO 1 /* Register usage information. */ +#define ODK_EXCEPTIONS 2 /* Exception processing options. */ +#define ODK_PAD 3 /* Section padding options. */ +#define ODK_HWPATCH 4 /* Hardware workarounds performed */ +#define ODK_FILL 5 /* record the fill value used by the linker. */ +#define ODK_TAGS 6 /* reserve space for desktop tools to write. */ +#define ODK_HWAND 7 /* HW workarounds. 'AND' bits when merging. */ +#define ODK_HWOR 8 /* HW workarounds. 'OR' bits when merging. */ + +/* Values for `info' in Elf_Options for ODK_EXCEPTIONS entries. */ + +#define OEX_FPU_MIN 0x1f /* FPE's which MUST be enabled. */ +#define OEX_FPU_MAX 0x1f00 /* FPE's which MAY be enabled. */ +#define OEX_PAGE0 0x10000 /* page zero must be mapped. */ +#define OEX_SMM 0x20000 /* Force sequential memory mode? */ +#define OEX_FPDBUG 0x40000 /* Force floating point debug mode? */ +#define OEX_PRECISEFP OEX_FPDBUG +#define OEX_DISMISS 0x80000 /* Dismiss invalid address faults? */ + +#define OEX_FPU_INVAL 0x10 +#define OEX_FPU_DIV0 0x08 +#define OEX_FPU_OFLO 0x04 +#define OEX_FPU_UFLO 0x02 +#define OEX_FPU_INEX 0x01 + +/* Masks for `info' in Elf_Options for an ODK_HWPATCH entry. */ + +#define OHW_R4KEOP 0x1 /* R4000 end-of-page patch. */ +#define OHW_R8KPFETCH 0x2 /* may need R8000 prefetch patch. */ +#define OHW_R5KEOP 0x4 /* R5000 end-of-page patch. */ +#define OHW_R5KCVTL 0x8 /* R5000 cvt.[ds].l bug. clean=1. */ + +#define OPAD_PREFIX 0x1 +#define OPAD_POSTFIX 0x2 +#define OPAD_SYMBOL 0x4 + +/* Entry found in `.options' section. */ + +typedef struct +{ + Elf32_Word hwp_flags1; /* Extra flags. */ + Elf32_Word hwp_flags2; /* Extra flags. */ +} Elf_Options_Hw; + +/* Masks for `info' in ElfOptions for ODK_HWAND and ODK_HWOR entries. */ + +#define OHWA0_R4KEOP_CHECKED 0x00000001 +#define OHWA1_R4KEOP_CLEAN 0x00000002 + +/* MIPS relocs. */ + +#define R_MIPS_NONE 0 /* No reloc */ +#define R_MIPS_16 1 /* Direct 16 bit */ +#define R_MIPS_32 2 /* Direct 32 bit */ +#define R_MIPS_REL32 3 /* PC relative 32 bit */ +#define R_MIPS_26 4 /* Direct 26 bit shifted */ +#define R_MIPS_HI16 5 /* High 16 bit */ +#define R_MIPS_LO16 6 /* Low 16 bit */ +#define R_MIPS_GPREL16 7 /* GP relative 16 bit */ +#define R_MIPS_LITERAL 8 /* 16 bit literal entry */ +#define R_MIPS_GOT16 9 /* 16 bit GOT entry */ +#define R_MIPS_PC16 10 /* PC relative 16 bit */ +#define R_MIPS_CALL16 11 /* 16 bit GOT entry for function */ +#define R_MIPS_GPREL32 12 /* GP relative 32 bit */ + +#define R_MIPS_SHIFT5 16 +#define R_MIPS_SHIFT6 17 +#define R_MIPS_64 18 +#define R_MIPS_GOT_DISP 19 +#define R_MIPS_GOT_PAGE 20 +#define R_MIPS_GOT_OFST 21 +#define R_MIPS_GOT_HI16 22 +#define R_MIPS_GOT_LO16 23 +#define R_MIPS_SUB 24 +#define R_MIPS_INSERT_A 25 +#define R_MIPS_INSERT_B 26 +#define R_MIPS_DELETE 27 +#define R_MIPS_HIGHER 28 +#define R_MIPS_HIGHEST 29 +#define R_MIPS_CALL_HI16 30 +#define R_MIPS_CALL_LO16 31 +#define R_MIPS_SCN_DISP 32 +#define R_MIPS_REL16 33 +#define R_MIPS_ADD_IMMEDIATE 34 +#define R_MIPS_PJUMP 35 +#define R_MIPS_RELGOT 36 +#define R_MIPS_JALR 37 +#define R_MIPS_TLS_DTPMOD32 38 /* Module number 32 bit */ +#define R_MIPS_TLS_DTPREL32 39 /* Module-relative offset 32 bit */ +#define R_MIPS_TLS_DTPMOD64 40 /* Module number 64 bit */ +#define R_MIPS_TLS_DTPREL64 41 /* Module-relative offset 64 bit */ +#define R_MIPS_TLS_GD 42 /* 16 bit GOT offset for GD */ +#define R_MIPS_TLS_LDM 43 /* 16 bit GOT offset for LDM */ +#define R_MIPS_TLS_DTPREL_HI16 44 /* Module-relative offset, high 16 bits */ +#define R_MIPS_TLS_DTPREL_LO16 45 /* Module-relative offset, low 16 bits */ +#define R_MIPS_TLS_GOTTPREL 46 /* 16 bit GOT offset for IE */ +#define R_MIPS_TLS_TPREL32 47 /* TP-relative offset, 32 bit */ +#define R_MIPS_TLS_TPREL64 48 /* TP-relative offset, 64 bit */ +#define R_MIPS_TLS_TPREL_HI16 49 /* TP-relative offset, high 16 bits */ +#define R_MIPS_TLS_TPREL_LO16 50 /* TP-relative offset, low 16 bits */ +#define R_MIPS_GLOB_DAT 51 +#define R_MIPS_PC21_S2 60 +#define R_MIPS_PC26_S2 61 +#define R_MIPS_PC18_S3 62 +#define R_MIPS_PC19_S2 63 +#define R_MIPS_PCHI16 64 +#define R_MIPS_PCLO16 65 +#define R_MIPS16_26 100 +#define R_MIPS16_GPREL 101 +#define R_MIPS16_GOT16 102 +#define R_MIPS16_CALL16 103 +#define R_MIPS16_HI16 104 +#define R_MIPS16_LO16 105 +#define R_MIPS16_TLS_GD 106 +#define R_MIPS16_TLS_LDM 107 +#define R_MIPS16_TLS_DTPREL_HI16 108 +#define R_MIPS16_TLS_DTPREL_LO16 109 +#define R_MIPS16_TLS_GOTTPREL 110 +#define R_MIPS16_TLS_TPREL_HI16 111 +#define R_MIPS16_TLS_TPREL_LO16 112 +#define R_MIPS16_PC16_S1 113 +#define R_MIPS_COPY 126 +#define R_MIPS_JUMP_SLOT 127 +#define R_MIPS_RELATIVE 128 +#define R_MICROMIPS_26_S1 133 +#define R_MICROMIPS_HI16 134 +#define R_MICROMIPS_LO16 135 +#define R_MICROMIPS_GPREL16 136 +#define R_MICROMIPS_LITERAL 137 +#define R_MICROMIPS_GOT16 138 +#define R_MICROMIPS_PC7_S1 139 +#define R_MICROMIPS_PC10_S1 140 +#define R_MICROMIPS_PC16_S1 141 +#define R_MICROMIPS_CALL16 142 +#define R_MICROMIPS_GOT_DISP 145 +#define R_MICROMIPS_GOT_PAGE 146 +#define R_MICROMIPS_GOT_OFST 147 +#define R_MICROMIPS_GOT_HI16 148 +#define R_MICROMIPS_GOT_LO16 149 +#define R_MICROMIPS_SUB 150 +#define R_MICROMIPS_HIGHER 151 +#define R_MICROMIPS_HIGHEST 152 +#define R_MICROMIPS_CALL_HI16 153 +#define R_MICROMIPS_CALL_LO16 154 +#define R_MICROMIPS_SCN_DISP 155 +#define R_MICROMIPS_JALR 156 +#define R_MICROMIPS_HI0_LO16 157 +#define R_MICROMIPS_TLS_GD 162 +#define R_MICROMIPS_TLS_LDM 163 +#define R_MICROMIPS_TLS_DTPREL_HI16 164 +#define R_MICROMIPS_TLS_DTPREL_LO16 165 +#define R_MICROMIPS_TLS_GOTTPREL 166 +#define R_MICROMIPS_TLS_TPREL_HI16 169 +#define R_MICROMIPS_TLS_TPREL_LO16 170 +#define R_MICROMIPS_GPREL7_S2 172 +#define R_MICROMIPS_PC23_S2 173 +#define R_MIPS_PC32 248 +#define R_MIPS_EH 249 +#define R_MIPS_GNU_REL16_S2 250 +#define R_MIPS_GNU_VTINHERIT 253 +#define R_MIPS_GNU_VTENTRY 254 +/* Keep this the last entry. */ +#define R_MIPS_NUM 255 + +/* Legal values for p_type field of Elf32_Phdr. */ + +#define PT_MIPS_REGINFO 0x70000000 /* Register usage information. */ +#define PT_MIPS_RTPROC 0x70000001 /* Runtime procedure table. */ +#define PT_MIPS_OPTIONS 0x70000002 +#define PT_MIPS_ABIFLAGS 0x70000003 /* FP mode requirement. */ + +/* Special program header types. */ + +#define PF_MIPS_LOCAL 0x10000000 + +/* Legal values for d_tag field of Elf32_Dyn. */ + +#define DT_MIPS_RLD_VERSION 0x70000001 /* Runtime linker interface version */ +#define DT_MIPS_TIME_STAMP 0x70000002 /* Timestamp */ +#define DT_MIPS_ICHECKSUM 0x70000003 /* Checksum */ +#define DT_MIPS_IVERSION 0x70000004 /* Version string (string tbl index) */ +#define DT_MIPS_FLAGS 0x70000005 /* Flags */ +#define DT_MIPS_BASE_ADDRESS 0x70000006 /* Base address */ +#define DT_MIPS_MSYM 0x70000007 +#define DT_MIPS_CONFLICT 0x70000008 /* Address of CONFLICT section */ +#define DT_MIPS_LIBLIST 0x70000009 /* Address of LIBLIST section */ +#define DT_MIPS_LOCAL_GOTNO 0x7000000a /* Number of local GOT entries */ +#define DT_MIPS_CONFLICTNO 0x7000000b /* Number of CONFLICT entries */ +#define DT_MIPS_LIBLISTNO 0x70000010 /* Number of LIBLIST entries */ +#define DT_MIPS_SYMTABNO 0x70000011 /* Number of DYNSYM entries */ +#define DT_MIPS_UNREFEXTNO 0x70000012 /* First external DYNSYM */ +#define DT_MIPS_GOTSYM 0x70000013 /* First GOT entry in DYNSYM */ +#define DT_MIPS_HIPAGENO 0x70000014 /* Number of GOT page table entries */ +#define DT_MIPS_RLD_MAP 0x70000016 /* Address of run time loader map. */ +#define DT_MIPS_DELTA_CLASS 0x70000017 /* Delta C++ class definition. */ +#define DT_MIPS_DELTA_CLASS_NO 0x70000018 /* Number of entries in + DT_MIPS_DELTA_CLASS. */ +#define DT_MIPS_DELTA_INSTANCE 0x70000019 /* Delta C++ class instances. */ +#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a /* Number of entries in + DT_MIPS_DELTA_INSTANCE. */ +#define DT_MIPS_DELTA_RELOC 0x7000001b /* Delta relocations. */ +#define DT_MIPS_DELTA_RELOC_NO 0x7000001c /* Number of entries in + DT_MIPS_DELTA_RELOC. */ +#define DT_MIPS_DELTA_SYM 0x7000001d /* Delta symbols that Delta + relocations refer to. */ +#define DT_MIPS_DELTA_SYM_NO 0x7000001e /* Number of entries in + DT_MIPS_DELTA_SYM. */ +#define DT_MIPS_DELTA_CLASSSYM 0x70000020 /* Delta symbols that hold the + class declaration. */ +#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 /* Number of entries in + DT_MIPS_DELTA_CLASSSYM. */ +#define DT_MIPS_CXX_FLAGS 0x70000022 /* Flags indicating for C++ flavor. */ +#define DT_MIPS_PIXIE_INIT 0x70000023 +#define DT_MIPS_SYMBOL_LIB 0x70000024 +#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 +#define DT_MIPS_LOCAL_GOTIDX 0x70000026 +#define DT_MIPS_HIDDEN_GOTIDX 0x70000027 +#define DT_MIPS_PROTECTED_GOTIDX 0x70000028 +#define DT_MIPS_OPTIONS 0x70000029 /* Address of .options. */ +#define DT_MIPS_INTERFACE 0x7000002a /* Address of .interface. */ +#define DT_MIPS_DYNSTR_ALIGN 0x7000002b +#define DT_MIPS_INTERFACE_SIZE 0x7000002c /* Size of the .interface section. */ +#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d /* Address of rld_text_rsolve + function stored in GOT. */ +#define DT_MIPS_PERF_SUFFIX 0x7000002e /* Default suffix of dso to be added + by rld on dlopen() calls. */ +#define DT_MIPS_COMPACT_SIZE 0x7000002f /* (O32)Size of compact rel section. */ +#define DT_MIPS_GP_VALUE 0x70000030 /* GP value for aux GOTs. */ +#define DT_MIPS_AUX_DYNAMIC 0x70000031 /* Address of aux .dynamic. */ +/* The address of .got.plt in an executable using the new non-PIC ABI. */ +#define DT_MIPS_PLTGOT 0x70000032 +/* The base of the PLT in an executable using the new non-PIC ABI if that + PLT is writable. For a non-writable PLT, this is omitted or has a zero + value. */ +#define DT_MIPS_RWPLT 0x70000034 +/* An alternative description of the classic MIPS RLD_MAP that is usable + in a PIE as it stores a relative offset from the address of the tag + rather than an absolute address. */ +#define DT_MIPS_RLD_MAP_REL 0x70000035 +/* GNU-style hash table with xlat. */ +#define DT_MIPS_XHASH 0x70000036 +#define DT_MIPS_NUM 0x37 + +/* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry. */ + +#define RHF_NONE 0 /* No flags */ +#define RHF_QUICKSTART (1 << 0) /* Use quickstart */ +#define RHF_NOTPOT (1 << 1) /* Hash size not power of 2 */ +#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2) /* Ignore LD_LIBRARY_PATH */ +#define RHF_NO_MOVE (1 << 3) +#define RHF_SGI_ONLY (1 << 4) +#define RHF_GUARANTEE_INIT (1 << 5) +#define RHF_DELTA_C_PLUS_PLUS (1 << 6) +#define RHF_GUARANTEE_START_INIT (1 << 7) +#define RHF_PIXIE (1 << 8) +#define RHF_DEFAULT_DELAY_LOAD (1 << 9) +#define RHF_REQUICKSTART (1 << 10) +#define RHF_REQUICKSTARTED (1 << 11) +#define RHF_CORD (1 << 12) +#define RHF_NO_UNRES_UNDEF (1 << 13) +#define RHF_RLD_ORDER_SAFE (1 << 14) + +/* Entries found in sections of type SHT_MIPS_LIBLIST. */ + +typedef struct +{ + Elf32_Word l_name; /* Name (string table index) */ + Elf32_Word l_time_stamp; /* Timestamp */ + Elf32_Word l_checksum; /* Checksum */ + Elf32_Word l_version; /* Interface version */ + Elf32_Word l_flags; /* Flags */ +} Elf32_Lib; + +typedef struct +{ + Elf64_Word l_name; /* Name (string table index) */ + Elf64_Word l_time_stamp; /* Timestamp */ + Elf64_Word l_checksum; /* Checksum */ + Elf64_Word l_version; /* Interface version */ + Elf64_Word l_flags; /* Flags */ +} Elf64_Lib; + + +/* Legal values for l_flags. */ + +#define LL_NONE 0 +#define LL_EXACT_MATCH (1 << 0) /* Require exact match */ +#define LL_IGNORE_INT_VER (1 << 1) /* Ignore interface version */ +#define LL_REQUIRE_MINOR (1 << 2) +#define LL_EXPORTS (1 << 3) +#define LL_DELAY_LOAD (1 << 4) +#define LL_DELTA (1 << 5) + +/* Entries found in sections of type SHT_MIPS_CONFLICT. */ + +typedef Elf32_Addr Elf32_Conflict; + +typedef struct +{ + /* Version of flags structure. */ + Elf32_Half version; + /* The level of the ISA: 1-5, 32, 64. */ + unsigned char isa_level; + /* The revision of ISA: 0 for MIPS V and below, 1-n otherwise. */ + unsigned char isa_rev; + /* The size of general purpose registers. */ + unsigned char gpr_size; + /* The size of co-processor 1 registers. */ + unsigned char cpr1_size; + /* The size of co-processor 2 registers. */ + unsigned char cpr2_size; + /* The floating-point ABI. */ + unsigned char fp_abi; + /* Processor-specific extension. */ + Elf32_Word isa_ext; + /* Mask of ASEs used. */ + Elf32_Word ases; + /* Mask of general flags. */ + Elf32_Word flags1; + Elf32_Word flags2; +} Elf_MIPS_ABIFlags_v0; + +/* Values for the register size bytes of an abi flags structure. */ + +#define MIPS_AFL_REG_NONE 0x00 /* No registers. */ +#define MIPS_AFL_REG_32 0x01 /* 32-bit registers. */ +#define MIPS_AFL_REG_64 0x02 /* 64-bit registers. */ +#define MIPS_AFL_REG_128 0x03 /* 128-bit registers. */ + +/* Masks for the ases word of an ABI flags structure. */ + +#define MIPS_AFL_ASE_DSP 0x00000001 /* DSP ASE. */ +#define MIPS_AFL_ASE_DSPR2 0x00000002 /* DSP R2 ASE. */ +#define MIPS_AFL_ASE_EVA 0x00000004 /* Enhanced VA Scheme. */ +#define MIPS_AFL_ASE_MCU 0x00000008 /* MCU (MicroController) ASE. */ +#define MIPS_AFL_ASE_MDMX 0x00000010 /* MDMX ASE. */ +#define MIPS_AFL_ASE_MIPS3D 0x00000020 /* MIPS-3D ASE. */ +#define MIPS_AFL_ASE_MT 0x00000040 /* MT ASE. */ +#define MIPS_AFL_ASE_SMARTMIPS 0x00000080 /* SmartMIPS ASE. */ +#define MIPS_AFL_ASE_VIRT 0x00000100 /* VZ ASE. */ +#define MIPS_AFL_ASE_MSA 0x00000200 /* MSA ASE. */ +#define MIPS_AFL_ASE_MIPS16 0x00000400 /* MIPS16 ASE. */ +#define MIPS_AFL_ASE_MICROMIPS 0x00000800 /* MICROMIPS ASE. */ +#define MIPS_AFL_ASE_XPA 0x00001000 /* XPA ASE. */ +#define MIPS_AFL_ASE_MASK 0x00001fff /* All ASEs. */ + +/* Values for the isa_ext word of an ABI flags structure. */ + +#define MIPS_AFL_EXT_XLR 1 /* RMI Xlr instruction. */ +#define MIPS_AFL_EXT_OCTEON2 2 /* Cavium Networks Octeon2. */ +#define MIPS_AFL_EXT_OCTEONP 3 /* Cavium Networks OcteonP. */ +#define MIPS_AFL_EXT_LOONGSON_3A 4 /* Loongson 3A. */ +#define MIPS_AFL_EXT_OCTEON 5 /* Cavium Networks Octeon. */ +#define MIPS_AFL_EXT_5900 6 /* MIPS R5900 instruction. */ +#define MIPS_AFL_EXT_4650 7 /* MIPS R4650 instruction. */ +#define MIPS_AFL_EXT_4010 8 /* LSI R4010 instruction. */ +#define MIPS_AFL_EXT_4100 9 /* NEC VR4100 instruction. */ +#define MIPS_AFL_EXT_3900 10 /* Toshiba R3900 instruction. */ +#define MIPS_AFL_EXT_10000 11 /* MIPS R10000 instruction. */ +#define MIPS_AFL_EXT_SB1 12 /* Broadcom SB-1 instruction. */ +#define MIPS_AFL_EXT_4111 13 /* NEC VR4111/VR4181 instruction. */ +#define MIPS_AFL_EXT_4120 14 /* NEC VR4120 instruction. */ +#define MIPS_AFL_EXT_5400 15 /* NEC VR5400 instruction. */ +#define MIPS_AFL_EXT_5500 16 /* NEC VR5500 instruction. */ +#define MIPS_AFL_EXT_LOONGSON_2E 17 /* ST Microelectronics Loongson 2E. */ +#define MIPS_AFL_EXT_LOONGSON_2F 18 /* ST Microelectronics Loongson 2F. */ + +/* Masks for the flags1 word of an ABI flags structure. */ +#define MIPS_AFL_FLAGS1_ODDSPREG 1 /* Uses odd single-precision registers. */ + +/* Object attribute values. */ +enum +{ + /* Not tagged or not using any ABIs affected by the differences. */ + Val_GNU_MIPS_ABI_FP_ANY = 0, + /* Using hard-float -mdouble-float. */ + Val_GNU_MIPS_ABI_FP_DOUBLE = 1, + /* Using hard-float -msingle-float. */ + Val_GNU_MIPS_ABI_FP_SINGLE = 2, + /* Using soft-float. */ + Val_GNU_MIPS_ABI_FP_SOFT = 3, + /* Using -mips32r2 -mfp64. */ + Val_GNU_MIPS_ABI_FP_OLD_64 = 4, + /* Using -mfpxx. */ + Val_GNU_MIPS_ABI_FP_XX = 5, + /* Using -mips32r2 -mfp64. */ + Val_GNU_MIPS_ABI_FP_64 = 6, + /* Using -mips32r2 -mfp64 -mno-odd-spreg. */ + Val_GNU_MIPS_ABI_FP_64A = 7, + /* Maximum allocated FP ABI value. */ + Val_GNU_MIPS_ABI_FP_MAX = 7 +}; + +/* HPPA specific definitions. */ + +/* Legal values for e_flags field of Elf32_Ehdr. */ + +#define EF_PARISC_TRAPNIL 0x00010000 /* Trap nil pointer dereference. */ +#define EF_PARISC_EXT 0x00020000 /* Program uses arch. extensions. */ +#define EF_PARISC_LSB 0x00040000 /* Program expects little endian. */ +#define EF_PARISC_WIDE 0x00080000 /* Program expects wide mode. */ +#define EF_PARISC_NO_KABP 0x00100000 /* No kernel assisted branch + prediction. */ +#define EF_PARISC_LAZYSWAP 0x00400000 /* Allow lazy swapping. */ +#define EF_PARISC_ARCH 0x0000ffff /* Architecture version. */ + +/* Defined values for `e_flags & EF_PARISC_ARCH' are: */ + +#define EFA_PARISC_1_0 0x020b /* PA-RISC 1.0 big-endian. */ +#define EFA_PARISC_1_1 0x0210 /* PA-RISC 1.1 big-endian. */ +#define EFA_PARISC_2_0 0x0214 /* PA-RISC 2.0 big-endian. */ + +/* Additional section indices. */ + +#define SHN_PARISC_ANSI_COMMON 0xff00 /* Section for tentatively declared + symbols in ANSI C. */ +#define SHN_PARISC_HUGE_COMMON 0xff01 /* Common blocks in huge model. */ + +/* Legal values for sh_type field of Elf32_Shdr. */ + +#define SHT_PARISC_EXT 0x70000000 /* Contains product specific ext. */ +#define SHT_PARISC_UNWIND 0x70000001 /* Unwind information. */ +#define SHT_PARISC_DOC 0x70000002 /* Debug info for optimized code. */ + +/* Legal values for sh_flags field of Elf32_Shdr. */ + +#define SHF_PARISC_SHORT 0x20000000 /* Section with short addressing. */ +#define SHF_PARISC_HUGE 0x40000000 /* Section far from gp. */ +#define SHF_PARISC_SBP 0x80000000 /* Static branch prediction code. */ + +/* Legal values for ST_TYPE subfield of st_info (symbol type). */ + +#define STT_PARISC_MILLICODE 13 /* Millicode function entry point. */ + +#define STT_HP_OPAQUE (STT_LOOS + 0x1) +#define STT_HP_STUB (STT_LOOS + 0x2) + +/* HPPA relocs. */ + +#define R_PARISC_NONE 0 /* No reloc. */ +#define R_PARISC_DIR32 1 /* Direct 32-bit reference. */ +#define R_PARISC_DIR21L 2 /* Left 21 bits of eff. address. */ +#define R_PARISC_DIR17R 3 /* Right 17 bits of eff. address. */ +#define R_PARISC_DIR17F 4 /* 17 bits of eff. address. */ +#define R_PARISC_DIR14R 6 /* Right 14 bits of eff. address. */ +#define R_PARISC_PCREL32 9 /* 32-bit rel. address. */ +#define R_PARISC_PCREL21L 10 /* Left 21 bits of rel. address. */ +#define R_PARISC_PCREL17R 11 /* Right 17 bits of rel. address. */ +#define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */ +#define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */ +#define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */ +#define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */ +#define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */ +#define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */ +#define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */ +#define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */ +#define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */ +#define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */ +#define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */ +#define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */ +#define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */ +#define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */ +#define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */ +#define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */ +#define R_PARISC_FPTR64 64 /* 64 bits function address. */ +#define R_PARISC_PLABEL32 65 /* 32 bits function address. */ +#define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */ +#define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */ +#define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */ +#define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */ +#define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */ +#define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */ +#define R_PARISC_PCREL16F 77 /* 16 bits PC-rel. address. */ +#define R_PARISC_PCREL16WF 78 /* 16 bits PC-rel. address. */ +#define R_PARISC_PCREL16DF 79 /* 16 bits PC-rel. address. */ +#define R_PARISC_DIR64 80 /* 64 bits of eff. address. */ +#define R_PARISC_DIR14WR 83 /* 14 bits of eff. address. */ +#define R_PARISC_DIR14DR 84 /* 14 bits of eff. address. */ +#define R_PARISC_DIR16F 85 /* 16 bits of eff. address. */ +#define R_PARISC_DIR16WF 86 /* 16 bits of eff. address. */ +#define R_PARISC_DIR16DF 87 /* 16 bits of eff. address. */ +#define R_PARISC_GPREL64 88 /* 64 bits of GP-rel. address. */ +#define R_PARISC_GPREL14WR 91 /* GP-rel. address, right 14 bits. */ +#define R_PARISC_GPREL14DR 92 /* GP-rel. address, right 14 bits. */ +#define R_PARISC_GPREL16F 93 /* 16 bits GP-rel. address. */ +#define R_PARISC_GPREL16WF 94 /* 16 bits GP-rel. address. */ +#define R_PARISC_GPREL16DF 95 /* 16 bits GP-rel. address. */ +#define R_PARISC_LTOFF64 96 /* 64 bits LT-rel. address. */ +#define R_PARISC_LTOFF14WR 99 /* LT-rel. address, right 14 bits. */ +#define R_PARISC_LTOFF14DR 100 /* LT-rel. address, right 14 bits. */ +#define R_PARISC_LTOFF16F 101 /* 16 bits LT-rel. address. */ +#define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */ +#define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */ +#define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */ +#define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */ +#define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */ +#define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */ +#define R_PARISC_PLTOFF16F 117 /* 16 bits LT-rel. address. */ +#define R_PARISC_PLTOFF16WF 118 /* 16 bits PLT-rel. address. */ +#define R_PARISC_PLTOFF16DF 119 /* 16 bits PLT-rel. address. */ +#define R_PARISC_LTOFF_FPTR64 120 /* 64 bits LT-rel. function ptr. */ +#define R_PARISC_LTOFF_FPTR14WR 123 /* LT-rel. fct. ptr., right 14 bits. */ +#define R_PARISC_LTOFF_FPTR14DR 124 /* LT-rel. fct. ptr., right 14 bits. */ +#define R_PARISC_LTOFF_FPTR16F 125 /* 16 bits LT-rel. function ptr. */ +#define R_PARISC_LTOFF_FPTR16WF 126 /* 16 bits LT-rel. function ptr. */ +#define R_PARISC_LTOFF_FPTR16DF 127 /* 16 bits LT-rel. function ptr. */ +#define R_PARISC_LORESERVE 128 +#define R_PARISC_COPY 128 /* Copy relocation. */ +#define R_PARISC_IPLT 129 /* Dynamic reloc, imported PLT */ +#define R_PARISC_EPLT 130 /* Dynamic reloc, exported PLT */ +#define R_PARISC_TPREL32 153 /* 32 bits TP-rel. address. */ +#define R_PARISC_TPREL21L 154 /* TP-rel. address, left 21 bits. */ +#define R_PARISC_TPREL14R 158 /* TP-rel. address, right 14 bits. */ +#define R_PARISC_LTOFF_TP21L 162 /* LT-TP-rel. address, left 21 bits. */ +#define R_PARISC_LTOFF_TP14R 166 /* LT-TP-rel. address, right 14 bits.*/ +#define R_PARISC_LTOFF_TP14F 167 /* 14 bits LT-TP-rel. address. */ +#define R_PARISC_TPREL64 216 /* 64 bits TP-rel. address. */ +#define R_PARISC_TPREL14WR 219 /* TP-rel. address, right 14 bits. */ +#define R_PARISC_TPREL14DR 220 /* TP-rel. address, right 14 bits. */ +#define R_PARISC_TPREL16F 221 /* 16 bits TP-rel. address. */ +#define R_PARISC_TPREL16WF 222 /* 16 bits TP-rel. address. */ +#define R_PARISC_TPREL16DF 223 /* 16 bits TP-rel. address. */ +#define R_PARISC_LTOFF_TP64 224 /* 64 bits LT-TP-rel. address. */ +#define R_PARISC_LTOFF_TP14WR 227 /* LT-TP-rel. address, right 14 bits.*/ +#define R_PARISC_LTOFF_TP14DR 228 /* LT-TP-rel. address, right 14 bits.*/ +#define R_PARISC_LTOFF_TP16F 229 /* 16 bits LT-TP-rel. address. */ +#define R_PARISC_LTOFF_TP16WF 230 /* 16 bits LT-TP-rel. address. */ +#define R_PARISC_LTOFF_TP16DF 231 /* 16 bits LT-TP-rel. address. */ +#define R_PARISC_GNU_VTENTRY 232 +#define R_PARISC_GNU_VTINHERIT 233 +#define R_PARISC_TLS_GD21L 234 /* GD 21-bit left. */ +#define R_PARISC_TLS_GD14R 235 /* GD 14-bit right. */ +#define R_PARISC_TLS_GDCALL 236 /* GD call to __t_g_a. */ +#define R_PARISC_TLS_LDM21L 237 /* LD module 21-bit left. */ +#define R_PARISC_TLS_LDM14R 238 /* LD module 14-bit right. */ +#define R_PARISC_TLS_LDMCALL 239 /* LD module call to __t_g_a. */ +#define R_PARISC_TLS_LDO21L 240 /* LD offset 21-bit left. */ +#define R_PARISC_TLS_LDO14R 241 /* LD offset 14-bit right. */ +#define R_PARISC_TLS_DTPMOD32 242 /* DTP module 32-bit. */ +#define R_PARISC_TLS_DTPMOD64 243 /* DTP module 64-bit. */ +#define R_PARISC_TLS_DTPOFF32 244 /* DTP offset 32-bit. */ +#define R_PARISC_TLS_DTPOFF64 245 /* DTP offset 32-bit. */ +#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L +#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R +#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L +#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R +#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32 +#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64 +#define R_PARISC_HIRESERVE 255 + +/* Legal values for p_type field of Elf32_Phdr/Elf64_Phdr. */ + +#define PT_HP_TLS (PT_LOOS + 0x0) +#define PT_HP_CORE_NONE (PT_LOOS + 0x1) +#define PT_HP_CORE_VERSION (PT_LOOS + 0x2) +#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3) +#define PT_HP_CORE_COMM (PT_LOOS + 0x4) +#define PT_HP_CORE_PROC (PT_LOOS + 0x5) +#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6) +#define PT_HP_CORE_STACK (PT_LOOS + 0x7) +#define PT_HP_CORE_SHM (PT_LOOS + 0x8) +#define PT_HP_CORE_MMF (PT_LOOS + 0x9) +#define PT_HP_PARALLEL (PT_LOOS + 0x10) +#define PT_HP_FASTBIND (PT_LOOS + 0x11) +#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12) +#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13) +#define PT_HP_STACK (PT_LOOS + 0x14) + +#define PT_PARISC_ARCHEXT 0x70000000 +#define PT_PARISC_UNWIND 0x70000001 + +/* Legal values for p_flags field of Elf32_Phdr/Elf64_Phdr. */ + +#define PF_PARISC_SBP 0x08000000 + +#define PF_HP_PAGE_SIZE 0x00100000 +#define PF_HP_FAR_SHARED 0x00200000 +#define PF_HP_NEAR_SHARED 0x00400000 +#define PF_HP_CODE 0x01000000 +#define PF_HP_MODIFY 0x02000000 +#define PF_HP_LAZYSWAP 0x04000000 +#define PF_HP_SBP 0x08000000 + + +/* Alpha specific definitions. */ + +/* Legal values for e_flags field of Elf64_Ehdr. */ + +#define EF_ALPHA_32BIT 1 /* All addresses must be < 2GB. */ +#define EF_ALPHA_CANRELAX 2 /* Relocations for relaxing exist. */ + +/* Legal values for sh_type field of Elf64_Shdr. */ + +/* These two are primerily concerned with ECOFF debugging info. */ +#define SHT_ALPHA_DEBUG 0x70000001 +#define SHT_ALPHA_REGINFO 0x70000002 + +/* Legal values for sh_flags field of Elf64_Shdr. */ + +#define SHF_ALPHA_GPREL 0x10000000 + +/* Legal values for st_other field of Elf64_Sym. */ +#define STO_ALPHA_NOPV 0x80 /* No PV required. */ +#define STO_ALPHA_STD_GPLOAD 0x88 /* PV only used for initial ldgp. */ + +/* Alpha relocs. */ + +#define R_ALPHA_NONE 0 /* No reloc */ +#define R_ALPHA_REFLONG 1 /* Direct 32 bit */ +#define R_ALPHA_REFQUAD 2 /* Direct 64 bit */ +#define R_ALPHA_GPREL32 3 /* GP relative 32 bit */ +#define R_ALPHA_LITERAL 4 /* GP relative 16 bit w/optimization */ +#define R_ALPHA_LITUSE 5 /* Optimization hint for LITERAL */ +#define R_ALPHA_GPDISP 6 /* Add displacement to GP */ +#define R_ALPHA_BRADDR 7 /* PC+4 relative 23 bit shifted */ +#define R_ALPHA_HINT 8 /* PC+4 relative 16 bit shifted */ +#define R_ALPHA_SREL16 9 /* PC relative 16 bit */ +#define R_ALPHA_SREL32 10 /* PC relative 32 bit */ +#define R_ALPHA_SREL64 11 /* PC relative 64 bit */ +#define R_ALPHA_GPRELHIGH 17 /* GP relative 32 bit, high 16 bits */ +#define R_ALPHA_GPRELLOW 18 /* GP relative 32 bit, low 16 bits */ +#define R_ALPHA_GPREL16 19 /* GP relative 16 bit */ +#define R_ALPHA_COPY 24 /* Copy symbol at runtime */ +#define R_ALPHA_GLOB_DAT 25 /* Create GOT entry */ +#define R_ALPHA_JMP_SLOT 26 /* Create PLT entry */ +#define R_ALPHA_RELATIVE 27 /* Adjust by program base */ +#define R_ALPHA_TLS_GD_HI 28 +#define R_ALPHA_TLSGD 29 +#define R_ALPHA_TLS_LDM 30 +#define R_ALPHA_DTPMOD64 31 +#define R_ALPHA_GOTDTPREL 32 +#define R_ALPHA_DTPREL64 33 +#define R_ALPHA_DTPRELHI 34 +#define R_ALPHA_DTPRELLO 35 +#define R_ALPHA_DTPREL16 36 +#define R_ALPHA_GOTTPREL 37 +#define R_ALPHA_TPREL64 38 +#define R_ALPHA_TPRELHI 39 +#define R_ALPHA_TPRELLO 40 +#define R_ALPHA_TPREL16 41 +/* Keep this the last entry. */ +#define R_ALPHA_NUM 46 + +/* Magic values of the LITUSE relocation addend. */ +#define LITUSE_ALPHA_ADDR 0 +#define LITUSE_ALPHA_BASE 1 +#define LITUSE_ALPHA_BYTOFF 2 +#define LITUSE_ALPHA_JSR 3 +#define LITUSE_ALPHA_TLS_GD 4 +#define LITUSE_ALPHA_TLS_LDM 5 + +/* Legal values for d_tag of Elf64_Dyn. */ +#define DT_ALPHA_PLTRO (DT_LOPROC + 0) +#define DT_ALPHA_NUM 1 + +/* PowerPC specific declarations */ + +/* Values for Elf32/64_Ehdr.e_flags. */ +#define EF_PPC_EMB 0x80000000 /* PowerPC embedded flag */ + +/* Cygnus local bits below */ +#define EF_PPC_RELOCATABLE 0x00010000 /* PowerPC -mrelocatable flag*/ +#define EF_PPC_RELOCATABLE_LIB 0x00008000 /* PowerPC -mrelocatable-lib + flag */ + +/* PowerPC relocations defined by the ABIs */ +#define R_PPC_NONE 0 +#define R_PPC_ADDR32 1 /* 32bit absolute address */ +#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */ +#define R_PPC_ADDR16 3 /* 16bit absolute address */ +#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */ +#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */ +#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */ +#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */ +#define R_PPC_ADDR14_BRTAKEN 8 +#define R_PPC_ADDR14_BRNTAKEN 9 +#define R_PPC_REL24 10 /* PC relative 26 bit */ +#define R_PPC_REL14 11 /* PC relative 16 bit */ +#define R_PPC_REL14_BRTAKEN 12 +#define R_PPC_REL14_BRNTAKEN 13 +#define R_PPC_GOT16 14 +#define R_PPC_GOT16_LO 15 +#define R_PPC_GOT16_HI 16 +#define R_PPC_GOT16_HA 17 +#define R_PPC_PLTREL24 18 +#define R_PPC_COPY 19 +#define R_PPC_GLOB_DAT 20 +#define R_PPC_JMP_SLOT 21 +#define R_PPC_RELATIVE 22 +#define R_PPC_LOCAL24PC 23 +#define R_PPC_UADDR32 24 +#define R_PPC_UADDR16 25 +#define R_PPC_REL32 26 +#define R_PPC_PLT32 27 +#define R_PPC_PLTREL32 28 +#define R_PPC_PLT16_LO 29 +#define R_PPC_PLT16_HI 30 +#define R_PPC_PLT16_HA 31 +#define R_PPC_SDAREL16 32 +#define R_PPC_SECTOFF 33 +#define R_PPC_SECTOFF_LO 34 +#define R_PPC_SECTOFF_HI 35 +#define R_PPC_SECTOFF_HA 36 + +/* PowerPC relocations defined for the TLS access ABI. */ +#define R_PPC_TLS 67 /* none (sym+add)@tls */ +#define R_PPC_DTPMOD32 68 /* word32 (sym+add)@dtpmod */ +#define R_PPC_TPREL16 69 /* half16* (sym+add)@tprel */ +#define R_PPC_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ +#define R_PPC_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ +#define R_PPC_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ +#define R_PPC_TPREL32 73 /* word32 (sym+add)@tprel */ +#define R_PPC_DTPREL16 74 /* half16* (sym+add)@dtprel */ +#define R_PPC_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ +#define R_PPC_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ +#define R_PPC_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ +#define R_PPC_DTPREL32 78 /* word32 (sym+add)@dtprel */ +#define R_PPC_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ +#define R_PPC_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ +#define R_PPC_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ +#define R_PPC_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ +#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ +#define R_PPC_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ +#define R_PPC_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ +#define R_PPC_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ +#define R_PPC_GOT_TPREL16 87 /* half16* (sym+add)@got@tprel */ +#define R_PPC_GOT_TPREL16_LO 88 /* half16 (sym+add)@got@tprel@l */ +#define R_PPC_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ +#define R_PPC_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ +#define R_PPC_GOT_DTPREL16 91 /* half16* (sym+add)@got@dtprel */ +#define R_PPC_GOT_DTPREL16_LO 92 /* half16* (sym+add)@got@dtprel@l */ +#define R_PPC_GOT_DTPREL16_HI 93 /* half16* (sym+add)@got@dtprel@h */ +#define R_PPC_GOT_DTPREL16_HA 94 /* half16* (sym+add)@got@dtprel@ha */ +#define R_PPC_TLSGD 95 /* none (sym+add)@tlsgd */ +#define R_PPC_TLSLD 96 /* none (sym+add)@tlsld */ + +/* The remaining relocs are from the Embedded ELF ABI, and are not + in the SVR4 ELF ABI. */ +#define R_PPC_EMB_NADDR32 101 +#define R_PPC_EMB_NADDR16 102 +#define R_PPC_EMB_NADDR16_LO 103 +#define R_PPC_EMB_NADDR16_HI 104 +#define R_PPC_EMB_NADDR16_HA 105 +#define R_PPC_EMB_SDAI16 106 +#define R_PPC_EMB_SDA2I16 107 +#define R_PPC_EMB_SDA2REL 108 +#define R_PPC_EMB_SDA21 109 /* 16 bit offset in SDA */ +#define R_PPC_EMB_MRKREF 110 +#define R_PPC_EMB_RELSEC16 111 +#define R_PPC_EMB_RELST_LO 112 +#define R_PPC_EMB_RELST_HI 113 +#define R_PPC_EMB_RELST_HA 114 +#define R_PPC_EMB_BIT_FLD 115 +#define R_PPC_EMB_RELSDA 116 /* 16 bit relative offset in SDA */ + +/* Diab tool relocations. */ +#define R_PPC_DIAB_SDA21_LO 180 /* like EMB_SDA21, but lower 16 bit */ +#define R_PPC_DIAB_SDA21_HI 181 /* like EMB_SDA21, but high 16 bit */ +#define R_PPC_DIAB_SDA21_HA 182 /* like EMB_SDA21, adjusted high 16 */ +#define R_PPC_DIAB_RELSDA_LO 183 /* like EMB_RELSDA, but lower 16 bit */ +#define R_PPC_DIAB_RELSDA_HI 184 /* like EMB_RELSDA, but high 16 bit */ +#define R_PPC_DIAB_RELSDA_HA 185 /* like EMB_RELSDA, adjusted high 16 */ + +/* GNU extension to support local ifunc. */ +#define R_PPC_IRELATIVE 248 + +/* GNU relocs used in PIC code sequences. */ +#define R_PPC_REL16 249 /* half16 (sym+add-.) */ +#define R_PPC_REL16_LO 250 /* half16 (sym+add-.)@l */ +#define R_PPC_REL16_HI 251 /* half16 (sym+add-.)@h */ +#define R_PPC_REL16_HA 252 /* half16 (sym+add-.)@ha */ + +/* This is a phony reloc to handle any old fashioned TOC16 references + that may still be in object files. */ +#define R_PPC_TOC16 255 + +/* PowerPC specific values for the Dyn d_tag field. */ +#define DT_PPC_GOT (DT_LOPROC + 0) +#define DT_PPC_OPT (DT_LOPROC + 1) +#define DT_PPC_NUM 2 + +/* PowerPC specific values for the DT_PPC_OPT Dyn entry. */ +#define PPC_OPT_TLS 1 + +/* PowerPC64 relocations defined by the ABIs */ +#define R_PPC64_NONE R_PPC_NONE +#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address */ +#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned */ +#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address */ +#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of address */ +#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of address. */ +#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA /* adjusted high 16bits. */ +#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned */ +#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN +#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN +#define R_PPC64_REL24 R_PPC_REL24 /* PC-rel. 26 bit, word aligned */ +#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit */ +#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN +#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN +#define R_PPC64_GOT16 R_PPC_GOT16 +#define R_PPC64_GOT16_LO R_PPC_GOT16_LO +#define R_PPC64_GOT16_HI R_PPC_GOT16_HI +#define R_PPC64_GOT16_HA R_PPC_GOT16_HA + +#define R_PPC64_COPY R_PPC_COPY +#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT +#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT +#define R_PPC64_RELATIVE R_PPC_RELATIVE + +#define R_PPC64_UADDR32 R_PPC_UADDR32 +#define R_PPC64_UADDR16 R_PPC_UADDR16 +#define R_PPC64_REL32 R_PPC_REL32 +#define R_PPC64_PLT32 R_PPC_PLT32 +#define R_PPC64_PLTREL32 R_PPC_PLTREL32 +#define R_PPC64_PLT16_LO R_PPC_PLT16_LO +#define R_PPC64_PLT16_HI R_PPC_PLT16_HI +#define R_PPC64_PLT16_HA R_PPC_PLT16_HA + +#define R_PPC64_SECTOFF R_PPC_SECTOFF +#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO +#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI +#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA +#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2 */ +#define R_PPC64_ADDR64 38 /* doubleword64 S + A */ +#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A) */ +#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A) */ +#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A) */ +#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A) */ +#define R_PPC64_UADDR64 43 /* doubleword64 S + A */ +#define R_PPC64_REL64 44 /* doubleword64 S + A - P */ +#define R_PPC64_PLT64 45 /* doubleword64 L + A */ +#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P */ +#define R_PPC64_TOC16 47 /* half16* S + A - .TOC */ +#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.) */ +#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.) */ +#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.) */ +#define R_PPC64_TOC 51 /* doubleword64 .TOC */ +#define R_PPC64_PLTGOT16 52 /* half16* M + A */ +#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A) */ +#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A) */ +#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A) */ + +#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2 */ +#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2 */ +#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2 */ +#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2 */ +#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2 */ +#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2 */ +#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2 */ +#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2 */ +#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2 */ +#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2 */ +#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2 */ + +/* PowerPC64 relocations defined for the TLS access ABI. */ +#define R_PPC64_TLS 67 /* none (sym+add)@tls */ +#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod */ +#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel */ +#define R_PPC64_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ +#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ +#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ +#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel */ +#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel */ +#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ +#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ +#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ +#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel */ +#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ +#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ +#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ +#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ +#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ +#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ +#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ +#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ +#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel */ +#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l */ +#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ +#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ +#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel */ +#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l */ +#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h */ +#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha */ +#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel */ +#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l */ +#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher */ +#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera */ +#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest */ +#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta */ +#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel */ +#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l */ +#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher */ +#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */ +#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */ +#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */ +#define R_PPC64_TLSGD 107 /* none (sym+add)@tlsgd */ +#define R_PPC64_TLSLD 108 /* none (sym+add)@tlsld */ +#define R_PPC64_TOCSAVE 109 /* none */ + +/* Added when HA and HI relocs were changed to report overflows. */ +#define R_PPC64_ADDR16_HIGH 110 +#define R_PPC64_ADDR16_HIGHA 111 +#define R_PPC64_TPREL16_HIGH 112 +#define R_PPC64_TPREL16_HIGHA 113 +#define R_PPC64_DTPREL16_HIGH 114 +#define R_PPC64_DTPREL16_HIGHA 115 + +/* GNU extension to support local ifunc. */ +#define R_PPC64_JMP_IREL 247 +#define R_PPC64_IRELATIVE 248 +#define R_PPC64_REL16 249 /* half16 (sym+add-.) */ +#define R_PPC64_REL16_LO 250 /* half16 (sym+add-.)@l */ +#define R_PPC64_REL16_HI 251 /* half16 (sym+add-.)@h */ +#define R_PPC64_REL16_HA 252 /* half16 (sym+add-.)@ha */ + +/* e_flags bits specifying ABI. + 1 for original function descriptor using ABI, + 2 for revised ABI without function descriptors, + 0 for unspecified or not using any features affected by the differences. */ +#define EF_PPC64_ABI 3 + +/* PowerPC64 specific values for the Dyn d_tag field. */ +#define DT_PPC64_GLINK (DT_LOPROC + 0) +#define DT_PPC64_OPD (DT_LOPROC + 1) +#define DT_PPC64_OPDSZ (DT_LOPROC + 2) +#define DT_PPC64_OPT (DT_LOPROC + 3) +#define DT_PPC64_NUM 4 + +/* PowerPC64 specific bits in the DT_PPC64_OPT Dyn entry. */ +#define PPC64_OPT_TLS 1 +#define PPC64_OPT_MULTI_TOC 2 +#define PPC64_OPT_LOCALENTRY 4 + +/* PowerPC64 specific values for the Elf64_Sym st_other field. */ +#define STO_PPC64_LOCAL_BIT 5 +#define STO_PPC64_LOCAL_MASK (7 << STO_PPC64_LOCAL_BIT) +#define PPC64_LOCAL_ENTRY_OFFSET(other) \ + (((1 << (((other) & STO_PPC64_LOCAL_MASK) >> STO_PPC64_LOCAL_BIT)) >> 2) << 2) + + +/* ARM specific declarations */ + +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_ARM_RELEXEC 0x01 +#define EF_ARM_HASENTRY 0x02 +#define EF_ARM_INTERWORK 0x04 +#define EF_ARM_APCS_26 0x08 +#define EF_ARM_APCS_FLOAT 0x10 +#define EF_ARM_PIC 0x20 +#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use */ +#define EF_ARM_NEW_ABI 0x80 +#define EF_ARM_OLD_ABI 0x100 +#define EF_ARM_SOFT_FLOAT 0x200 +#define EF_ARM_VFP_FLOAT 0x400 +#define EF_ARM_MAVERICK_FLOAT 0x800 + +#define EF_ARM_ABI_FLOAT_SOFT 0x200 /* NB conflicts with EF_ARM_SOFT_FLOAT */ +#define EF_ARM_ABI_FLOAT_HARD 0x400 /* NB conflicts with EF_ARM_VFP_FLOAT */ + + +/* Other constants defined in the ARM ELF spec. version B-01. */ +/* NB. These conflict with values defined above. */ +#define EF_ARM_SYMSARESORTED 0x04 +#define EF_ARM_DYNSYMSUSESEGIDX 0x08 +#define EF_ARM_MAPSYMSFIRST 0x10 +#define EF_ARM_EABIMASK 0XFF000000 + +/* Constants defined in AAELF. */ +#define EF_ARM_BE8 0x00800000 +#define EF_ARM_LE8 0x00400000 + +#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) +#define EF_ARM_EABI_UNKNOWN 0x00000000 +#define EF_ARM_EABI_VER1 0x01000000 +#define EF_ARM_EABI_VER2 0x02000000 +#define EF_ARM_EABI_VER3 0x03000000 +#define EF_ARM_EABI_VER4 0x04000000 +#define EF_ARM_EABI_VER5 0x05000000 + +/* Additional symbol types for Thumb. */ +#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ +#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ + +/* ARM-specific values for sh_flags */ +#define SHF_ARM_ENTRYSECT 0x10000000 /* Section contains an entry point */ +#define SHF_ARM_COMDEF 0x80000000 /* Section may be multiply defined + in the input to a link step. */ + +/* ARM-specific program header flags */ +#define PF_ARM_SB 0x10000000 /* Segment contains the location + addressed by the static base. */ +#define PF_ARM_PI 0x20000000 /* Position-independent segment. */ +#define PF_ARM_ABS 0x40000000 /* Absolute segment. */ + +/* Processor specific values for the Phdr p_type field. */ +#define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ +#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ +#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ + + +/* AArch64 relocs. */ + +#define R_AARCH64_NONE 0 /* No relocation. */ + +/* ILP32 AArch64 relocs. */ +#define R_AARCH64_P32_ABS32 1 /* Direct 32 bit. */ +#define R_AARCH64_P32_COPY 180 /* Copy symbol at runtime. */ +#define R_AARCH64_P32_GLOB_DAT 181 /* Create GOT entry. */ +#define R_AARCH64_P32_JUMP_SLOT 182 /* Create PLT entry. */ +#define R_AARCH64_P32_RELATIVE 183 /* Adjust by program base. */ +#define R_AARCH64_P32_TLS_DTPMOD 184 /* Module number, 32 bit. */ +#define R_AARCH64_P32_TLS_DTPREL 185 /* Module-relative offset, 32 bit. */ +#define R_AARCH64_P32_TLS_TPREL 186 /* TP-relative offset, 32 bit. */ +#define R_AARCH64_P32_TLSDESC 187 /* TLS Descriptor. */ +#define R_AARCH64_P32_IRELATIVE 188 /* STT_GNU_IFUNC relocation. */ + +/* LP64 AArch64 relocs. */ +#define R_AARCH64_ABS64 257 /* Direct 64 bit. */ +#define R_AARCH64_ABS32 258 /* Direct 32 bit. */ +#define R_AARCH64_ABS16 259 /* Direct 16-bit. */ +#define R_AARCH64_PREL64 260 /* PC-relative 64-bit. */ +#define R_AARCH64_PREL32 261 /* PC-relative 32-bit. */ +#define R_AARCH64_PREL16 262 /* PC-relative 16-bit. */ +#define R_AARCH64_MOVW_UABS_G0 263 /* Dir. MOVZ imm. from bits 15:0. */ +#define R_AARCH64_MOVW_UABS_G0_NC 264 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_UABS_G1 265 /* Dir. MOVZ imm. from bits 31:16. */ +#define R_AARCH64_MOVW_UABS_G1_NC 266 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_UABS_G2 267 /* Dir. MOVZ imm. from bits 47:32. */ +#define R_AARCH64_MOVW_UABS_G2_NC 268 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_UABS_G3 269 /* Dir. MOV{K,Z} imm. from 63:48. */ +#define R_AARCH64_MOVW_SABS_G0 270 /* Dir. MOV{N,Z} imm. from 15:0. */ +#define R_AARCH64_MOVW_SABS_G1 271 /* Dir. MOV{N,Z} imm. from 31:16. */ +#define R_AARCH64_MOVW_SABS_G2 272 /* Dir. MOV{N,Z} imm. from 47:32. */ +#define R_AARCH64_LD_PREL_LO19 273 /* PC-rel. LD imm. from bits 20:2. */ +#define R_AARCH64_ADR_PREL_LO21 274 /* PC-rel. ADR imm. from bits 20:0. */ +#define R_AARCH64_ADR_PREL_PG_HI21 275 /* Page-rel. ADRP imm. from 32:12. */ +#define R_AARCH64_ADR_PREL_PG_HI21_NC 276 /* Likewise; no overflow check. */ +#define R_AARCH64_ADD_ABS_LO12_NC 277 /* Dir. ADD imm. from bits 11:0. */ +#define R_AARCH64_LDST8_ABS_LO12_NC 278 /* Likewise for LD/ST; no check. */ +#define R_AARCH64_TSTBR14 279 /* PC-rel. TBZ/TBNZ imm. from 15:2. */ +#define R_AARCH64_CONDBR19 280 /* PC-rel. cond. br. imm. from 20:2. */ +#define R_AARCH64_JUMP26 282 /* PC-rel. B imm. from bits 27:2. */ +#define R_AARCH64_CALL26 283 /* Likewise for CALL. */ +#define R_AARCH64_LDST16_ABS_LO12_NC 284 /* Dir. ADD imm. from bits 11:1. */ +#define R_AARCH64_LDST32_ABS_LO12_NC 285 /* Likewise for bits 11:2. */ +#define R_AARCH64_LDST64_ABS_LO12_NC 286 /* Likewise for bits 11:3. */ +#define R_AARCH64_MOVW_PREL_G0 287 /* PC-rel. MOV{N,Z} imm. from 15:0. */ +#define R_AARCH64_MOVW_PREL_G0_NC 288 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_PREL_G1 289 /* PC-rel. MOV{N,Z} imm. from 31:16. */ +#define R_AARCH64_MOVW_PREL_G1_NC 290 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_PREL_G2 291 /* PC-rel. MOV{N,Z} imm. from 47:32. */ +#define R_AARCH64_MOVW_PREL_G2_NC 292 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_PREL_G3 293 /* PC-rel. MOV{N,Z} imm. from 63:48. */ +#define R_AARCH64_LDST128_ABS_LO12_NC 299 /* Dir. ADD imm. from bits 11:4. */ +#define R_AARCH64_MOVW_GOTOFF_G0 300 /* GOT-rel. off. MOV{N,Z} imm. 15:0. */ +#define R_AARCH64_MOVW_GOTOFF_G0_NC 301 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_GOTOFF_G1 302 /* GOT-rel. o. MOV{N,Z} imm. 31:16. */ +#define R_AARCH64_MOVW_GOTOFF_G1_NC 303 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_GOTOFF_G2 304 /* GOT-rel. o. MOV{N,Z} imm. 47:32. */ +#define R_AARCH64_MOVW_GOTOFF_G2_NC 305 /* Likewise for MOVK; no check. */ +#define R_AARCH64_MOVW_GOTOFF_G3 306 /* GOT-rel. o. MOV{N,Z} imm. 63:48. */ +#define R_AARCH64_GOTREL64 307 /* GOT-relative 64-bit. */ +#define R_AARCH64_GOTREL32 308 /* GOT-relative 32-bit. */ +#define R_AARCH64_GOT_LD_PREL19 309 /* PC-rel. GOT off. load imm. 20:2. */ +#define R_AARCH64_LD64_GOTOFF_LO15 310 /* GOT-rel. off. LD/ST imm. 14:3. */ +#define R_AARCH64_ADR_GOT_PAGE 311 /* P-page-rel. GOT off. ADRP 32:12. */ +#define R_AARCH64_LD64_GOT_LO12_NC 312 /* Dir. GOT off. LD/ST imm. 11:3. */ +#define R_AARCH64_LD64_GOTPAGE_LO15 313 /* GOT-page-rel. GOT off. LD/ST 14:3 */ +#define R_AARCH64_TLSGD_ADR_PREL21 512 /* PC-relative ADR imm. 20:0. */ +#define R_AARCH64_TLSGD_ADR_PAGE21 513 /* page-rel. ADRP imm. 32:12. */ +#define R_AARCH64_TLSGD_ADD_LO12_NC 514 /* direct ADD imm. from 11:0. */ +#define R_AARCH64_TLSGD_MOVW_G1 515 /* GOT-rel. MOV{N,Z} 31:16. */ +#define R_AARCH64_TLSGD_MOVW_G0_NC 516 /* GOT-rel. MOVK imm. 15:0. */ +#define R_AARCH64_TLSLD_ADR_PREL21 517 /* Like 512; local dynamic model. */ +#define R_AARCH64_TLSLD_ADR_PAGE21 518 /* Like 513; local dynamic model. */ +#define R_AARCH64_TLSLD_ADD_LO12_NC 519 /* Like 514; local dynamic model. */ +#define R_AARCH64_TLSLD_MOVW_G1 520 /* Like 515; local dynamic model. */ +#define R_AARCH64_TLSLD_MOVW_G0_NC 521 /* Like 516; local dynamic model. */ +#define R_AARCH64_TLSLD_LD_PREL19 522 /* TLS PC-rel. load imm. 20:2. */ +#define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523 /* TLS DTP-rel. MOV{N,Z} 47:32. */ +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524 /* TLS DTP-rel. MOV{N,Z} 31:16. */ +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525 /* Likewise; MOVK; no check. */ +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526 /* TLS DTP-rel. MOV{N,Z} 15:0. */ +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527 /* Likewise; MOVK; no check. */ +#define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528 /* DTP-rel. ADD imm. from 23:12. */ +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529 /* DTP-rel. ADD imm. from 11:0. */ +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530 /* Likewise; no ovfl. check. */ +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531 /* DTP-rel. LD/ST imm. 11:0. */ +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532 /* Likewise; no check. */ +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533 /* DTP-rel. LD/ST imm. 11:1. */ +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534 /* Likewise; no check. */ +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535 /* DTP-rel. LD/ST imm. 11:2. */ +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536 /* Likewise; no check. */ +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537 /* DTP-rel. LD/ST imm. 11:3. */ +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538 /* Likewise; no check. */ +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539 /* GOT-rel. MOV{N,Z} 31:16. */ +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540 /* GOT-rel. MOVK 15:0. */ +#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541 /* Page-rel. ADRP 32:12. */ +#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542 /* Direct LD off. 11:3. */ +#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543 /* PC-rel. load imm. 20:2. */ +#define R_AARCH64_TLSLE_MOVW_TPREL_G2 544 /* TLS TP-rel. MOV{N,Z} 47:32. */ +#define R_AARCH64_TLSLE_MOVW_TPREL_G1 545 /* TLS TP-rel. MOV{N,Z} 31:16. */ +#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546 /* Likewise; MOVK; no check. */ +#define R_AARCH64_TLSLE_MOVW_TPREL_G0 547 /* TLS TP-rel. MOV{N,Z} 15:0. */ +#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548 /* Likewise; MOVK; no check. */ +#define R_AARCH64_TLSLE_ADD_TPREL_HI12 549 /* TP-rel. ADD imm. 23:12. */ +#define R_AARCH64_TLSLE_ADD_TPREL_LO12 550 /* TP-rel. ADD imm. 11:0. */ +#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551 /* Likewise; no ovfl. check. */ +#define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552 /* TP-rel. LD/ST off. 11:0. */ +#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553 /* Likewise; no ovfl. check. */ +#define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554 /* TP-rel. LD/ST off. 11:1. */ +#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555 /* Likewise; no check. */ +#define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556 /* TP-rel. LD/ST off. 11:2. */ +#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557 /* Likewise; no check. */ +#define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558 /* TP-rel. LD/ST off. 11:3. */ +#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559 /* Likewise; no check. */ +#define R_AARCH64_TLSDESC_LD_PREL19 560 /* PC-rel. load immediate 20:2. */ +#define R_AARCH64_TLSDESC_ADR_PREL21 561 /* PC-rel. ADR immediate 20:0. */ +#define R_AARCH64_TLSDESC_ADR_PAGE21 562 /* Page-rel. ADRP imm. 32:12. */ +#define R_AARCH64_TLSDESC_LD64_LO12 563 /* Direct LD off. from 11:3. */ +#define R_AARCH64_TLSDESC_ADD_LO12 564 /* Direct ADD imm. from 11:0. */ +#define R_AARCH64_TLSDESC_OFF_G1 565 /* GOT-rel. MOV{N,Z} imm. 31:16. */ +#define R_AARCH64_TLSDESC_OFF_G0_NC 566 /* GOT-rel. MOVK imm. 15:0; no ck. */ +#define R_AARCH64_TLSDESC_LDR 567 /* Relax LDR. */ +#define R_AARCH64_TLSDESC_ADD 568 /* Relax ADD. */ +#define R_AARCH64_TLSDESC_CALL 569 /* Relax BLR. */ +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570 /* TP-rel. LD/ST off. 11:4. */ +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571 /* Likewise; no check. */ +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572 /* DTP-rel. LD/ST imm. 11:4. */ +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573 /* Likewise; no check. */ +#define R_AARCH64_COPY 1024 /* Copy symbol at runtime. */ +#define R_AARCH64_GLOB_DAT 1025 /* Create GOT entry. */ +#define R_AARCH64_JUMP_SLOT 1026 /* Create PLT entry. */ +#define R_AARCH64_RELATIVE 1027 /* Adjust by program base. */ +#define R_AARCH64_TLS_DTPMOD 1028 /* Module number, 64 bit. */ +#define R_AARCH64_TLS_DTPREL 1029 /* Module-relative offset, 64 bit. */ +#define R_AARCH64_TLS_TPREL 1030 /* TP-relative offset, 64 bit. */ +#define R_AARCH64_TLSDESC 1031 /* TLS Descriptor. */ +#define R_AARCH64_IRELATIVE 1032 /* STT_GNU_IFUNC relocation. */ + +/* MTE memory tag segment type. */ +#define PT_AARCH64_MEMTAG_MTE (PT_LOPROC + 2) + +/* AArch64 specific values for the Dyn d_tag field. */ +#define DT_AARCH64_BTI_PLT (DT_LOPROC + 1) +#define DT_AARCH64_PAC_PLT (DT_LOPROC + 3) +#define DT_AARCH64_VARIANT_PCS (DT_LOPROC + 5) +#define DT_AARCH64_NUM 6 + +/* AArch64 specific values for the st_other field. */ +#define STO_AARCH64_VARIANT_PCS 0x80 + +/* ARM relocs. */ + +#define R_ARM_NONE 0 /* No reloc */ +#define R_ARM_PC24 1 /* Deprecated PC relative 26 + bit branch. */ +#define R_ARM_ABS32 2 /* Direct 32 bit */ +#define R_ARM_REL32 3 /* PC relative 32 bit */ +#define R_ARM_PC13 4 +#define R_ARM_ABS16 5 /* Direct 16 bit */ +#define R_ARM_ABS12 6 /* Direct 12 bit */ +#define R_ARM_THM_ABS5 7 /* Direct & 0x7C (LDR, STR). */ +#define R_ARM_ABS8 8 /* Direct 8 bit */ +#define R_ARM_SBREL32 9 +#define R_ARM_THM_PC22 10 /* PC relative 24 bit (Thumb32 BL). */ +#define R_ARM_THM_PC8 11 /* PC relative & 0x3FC + (Thumb16 LDR, ADD, ADR). */ +#define R_ARM_AMP_VCALL9 12 +#define R_ARM_SWI24 13 /* Obsolete static relocation. */ +#define R_ARM_TLS_DESC 13 /* Dynamic relocation. */ +#define R_ARM_THM_SWI8 14 /* Reserved. */ +#define R_ARM_XPC25 15 /* Reserved. */ +#define R_ARM_THM_XPC22 16 /* Reserved. */ +#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */ +#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */ +#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */ +#define R_ARM_COPY 20 /* Copy symbol at runtime */ +#define R_ARM_GLOB_DAT 21 /* Create GOT entry */ +#define R_ARM_JUMP_SLOT 22 /* Create PLT entry */ +#define R_ARM_RELATIVE 23 /* Adjust by program base */ +#define R_ARM_GOTOFF 24 /* 32 bit offset to GOT */ +#define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */ +#define R_ARM_GOT32 26 /* 32 bit GOT entry */ +#define R_ARM_PLT32 27 /* Deprecated, 32 bit PLT address. */ +#define R_ARM_CALL 28 /* PC relative 24 bit (BL, BLX). */ +#define R_ARM_JUMP24 29 /* PC relative 24 bit + (B, BL). */ +#define R_ARM_THM_JUMP24 30 /* PC relative 24 bit (Thumb32 B.W). */ +#define R_ARM_BASE_ABS 31 /* Adjust by program base. */ +#define R_ARM_ALU_PCREL_7_0 32 /* Obsolete. */ +#define R_ARM_ALU_PCREL_15_8 33 /* Obsolete. */ +#define R_ARM_ALU_PCREL_23_15 34 /* Obsolete. */ +#define R_ARM_LDR_SBREL_11_0 35 /* Deprecated, prog. base relative. */ +#define R_ARM_ALU_SBREL_19_12 36 /* Deprecated, prog. base relative. */ +#define R_ARM_ALU_SBREL_27_20 37 /* Deprecated, prog. base relative. */ +#define R_ARM_TARGET1 38 +#define R_ARM_SBREL31 39 /* Program base relative. */ +#define R_ARM_V4BX 40 +#define R_ARM_TARGET2 41 +#define R_ARM_PREL31 42 /* 32 bit PC relative. */ +#define R_ARM_MOVW_ABS_NC 43 /* Direct 16-bit (MOVW). */ +#define R_ARM_MOVT_ABS 44 /* Direct high 16-bit (MOVT). */ +#define R_ARM_MOVW_PREL_NC 45 /* PC relative 16-bit (MOVW). */ +#define R_ARM_MOVT_PREL 46 /* PC relative (MOVT). */ +#define R_ARM_THM_MOVW_ABS_NC 47 /* Direct 16 bit (Thumb32 MOVW). */ +#define R_ARM_THM_MOVT_ABS 48 /* Direct high 16 bit + (Thumb32 MOVT). */ +#define R_ARM_THM_MOVW_PREL_NC 49 /* PC relative 16 bit + (Thumb32 MOVW). */ +#define R_ARM_THM_MOVT_PREL 50 /* PC relative high 16 bit + (Thumb32 MOVT). */ +#define R_ARM_THM_JUMP19 51 /* PC relative 20 bit + (Thumb32 B.W). */ +#define R_ARM_THM_JUMP6 52 /* PC relative X & 0x7E + (Thumb16 CBZ, CBNZ). */ +#define R_ARM_THM_ALU_PREL_11_0 53 /* PC relative 12 bit + (Thumb32 ADR.W). */ +#define R_ARM_THM_PC12 54 /* PC relative 12 bit + (Thumb32 LDR{D,SB,H,SH}). */ +#define R_ARM_ABS32_NOI 55 /* Direct 32-bit. */ +#define R_ARM_REL32_NOI 56 /* PC relative 32-bit. */ +#define R_ARM_ALU_PC_G0_NC 57 /* PC relative (ADD, SUB). */ +#define R_ARM_ALU_PC_G0 58 /* PC relative (ADD, SUB). */ +#define R_ARM_ALU_PC_G1_NC 59 /* PC relative (ADD, SUB). */ +#define R_ARM_ALU_PC_G1 60 /* PC relative (ADD, SUB). */ +#define R_ARM_ALU_PC_G2 61 /* PC relative (ADD, SUB). */ +#define R_ARM_LDR_PC_G1 62 /* PC relative (LDR,STR,LDRB,STRB). */ +#define R_ARM_LDR_PC_G2 63 /* PC relative (LDR,STR,LDRB,STRB). */ +#define R_ARM_LDRS_PC_G0 64 /* PC relative (STR{D,H}, + LDR{D,SB,H,SH}). */ +#define R_ARM_LDRS_PC_G1 65 /* PC relative (STR{D,H}, + LDR{D,SB,H,SH}). */ +#define R_ARM_LDRS_PC_G2 66 /* PC relative (STR{D,H}, + LDR{D,SB,H,SH}). */ +#define R_ARM_LDC_PC_G0 67 /* PC relative (LDC, STC). */ +#define R_ARM_LDC_PC_G1 68 /* PC relative (LDC, STC). */ +#define R_ARM_LDC_PC_G2 69 /* PC relative (LDC, STC). */ +#define R_ARM_ALU_SB_G0_NC 70 /* Program base relative (ADD,SUB). */ +#define R_ARM_ALU_SB_G0 71 /* Program base relative (ADD,SUB). */ +#define R_ARM_ALU_SB_G1_NC 72 /* Program base relative (ADD,SUB). */ +#define R_ARM_ALU_SB_G1 73 /* Program base relative (ADD,SUB). */ +#define R_ARM_ALU_SB_G2 74 /* Program base relative (ADD,SUB). */ +#define R_ARM_LDR_SB_G0 75 /* Program base relative (LDR, + STR, LDRB, STRB). */ +#define R_ARM_LDR_SB_G1 76 /* Program base relative + (LDR, STR, LDRB, STRB). */ +#define R_ARM_LDR_SB_G2 77 /* Program base relative + (LDR, STR, LDRB, STRB). */ +#define R_ARM_LDRS_SB_G0 78 /* Program base relative + (LDR, STR, LDRB, STRB). */ +#define R_ARM_LDRS_SB_G1 79 /* Program base relative + (LDR, STR, LDRB, STRB). */ +#define R_ARM_LDRS_SB_G2 80 /* Program base relative + (LDR, STR, LDRB, STRB). */ +#define R_ARM_LDC_SB_G0 81 /* Program base relative (LDC,STC). */ +#define R_ARM_LDC_SB_G1 82 /* Program base relative (LDC,STC). */ +#define R_ARM_LDC_SB_G2 83 /* Program base relative (LDC,STC). */ +#define R_ARM_MOVW_BREL_NC 84 /* Program base relative 16 + bit (MOVW). */ +#define R_ARM_MOVT_BREL 85 /* Program base relative high + 16 bit (MOVT). */ +#define R_ARM_MOVW_BREL 86 /* Program base relative 16 + bit (MOVW). */ +#define R_ARM_THM_MOVW_BREL_NC 87 /* Program base relative 16 + bit (Thumb32 MOVW). */ +#define R_ARM_THM_MOVT_BREL 88 /* Program base relative high + 16 bit (Thumb32 MOVT). */ +#define R_ARM_THM_MOVW_BREL 89 /* Program base relative 16 + bit (Thumb32 MOVW). */ +#define R_ARM_TLS_GOTDESC 90 +#define R_ARM_TLS_CALL 91 +#define R_ARM_TLS_DESCSEQ 92 /* TLS relaxation. */ +#define R_ARM_THM_TLS_CALL 93 +#define R_ARM_PLT32_ABS 94 +#define R_ARM_GOT_ABS 95 /* GOT entry. */ +#define R_ARM_GOT_PREL 96 /* PC relative GOT entry. */ +#define R_ARM_GOT_BREL12 97 /* GOT entry relative to GOT + origin (LDR). */ +#define R_ARM_GOTOFF12 98 /* 12 bit, GOT entry relative + to GOT origin (LDR, STR). */ +#define R_ARM_GOTRELAX 99 +#define R_ARM_GNU_VTENTRY 100 +#define R_ARM_GNU_VTINHERIT 101 +#define R_ARM_THM_PC11 102 /* PC relative & 0xFFE (Thumb16 B). */ +#define R_ARM_THM_PC9 103 /* PC relative & 0x1FE + (Thumb16 B/B). */ +#define R_ARM_TLS_GD32 104 /* PC-rel 32 bit for global dynamic + thread local data */ +#define R_ARM_TLS_LDM32 105 /* PC-rel 32 bit for local dynamic + thread local data */ +#define R_ARM_TLS_LDO32 106 /* 32 bit offset relative to TLS + block */ +#define R_ARM_TLS_IE32 107 /* PC-rel 32 bit for GOT entry of + static TLS block offset */ +#define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static + TLS block */ +#define R_ARM_TLS_LDO12 109 /* 12 bit relative to TLS + block (LDR, STR). */ +#define R_ARM_TLS_LE12 110 /* 12 bit relative to static + TLS block (LDR, STR). */ +#define R_ARM_TLS_IE12GP 111 /* 12 bit GOT entry relative + to GOT origin (LDR). */ +#define R_ARM_ME_TOO 128 /* Obsolete. */ +#define R_ARM_THM_TLS_DESCSEQ 129 +#define R_ARM_THM_TLS_DESCSEQ16 129 +#define R_ARM_THM_TLS_DESCSEQ32 130 +#define R_ARM_THM_GOT_BREL12 131 /* GOT entry relative to GOT + origin, 12 bit (Thumb32 LDR). */ +#define R_ARM_IRELATIVE 160 +#define R_ARM_RXPC25 249 +#define R_ARM_RSBREL32 250 +#define R_ARM_THM_RPC22 251 +#define R_ARM_RREL32 252 +#define R_ARM_RABS22 253 +#define R_ARM_RPC24 254 +#define R_ARM_RBASE 255 +/* Keep this the last entry. */ +#define R_ARM_NUM 256 + +/* C-SKY */ +#define R_CKCORE_NONE 0 /* no reloc */ +#define R_CKCORE_ADDR32 1 /* direct 32 bit (S + A) */ +#define R_CKCORE_PCRELIMM8BY4 2 /* disp ((S + A - P) >> 2) & 0xff */ +#define R_CKCORE_PCRELIMM11BY2 3 /* disp ((S + A - P) >> 1) & 0x7ff */ +#define R_CKCORE_PCREL32 5 /* 32-bit rel (S + A - P) */ +#define R_CKCORE_PCRELJSR_IMM11BY2 6 /* disp ((S + A - P) >>1) & 0x7ff */ +#define R_CKCORE_RELATIVE 9 /* 32 bit adjust program base(B + A)*/ +#define R_CKCORE_COPY 10 /* 32 bit adjust by program base */ +#define R_CKCORE_GLOB_DAT 11 /* off between got and sym (S) */ +#define R_CKCORE_JUMP_SLOT 12 /* PLT entry (S) */ +#define R_CKCORE_GOTOFF 13 /* offset to GOT (S + A - GOT) */ +#define R_CKCORE_GOTPC 14 /* PC offset to GOT (GOT + A - P) */ +#define R_CKCORE_GOT32 15 /* 32 bit GOT entry (G) */ +#define R_CKCORE_PLT32 16 /* 32 bit PLT entry (G) */ +#define R_CKCORE_ADDRGOT 17 /* GOT entry in GLOB_DAT (GOT + G) */ +#define R_CKCORE_ADDRPLT 18 /* PLT entry in GLOB_DAT (GOT + G) */ +#define R_CKCORE_PCREL_IMM26BY2 19 /* ((S + A - P) >> 1) & 0x3ffffff */ +#define R_CKCORE_PCREL_IMM16BY2 20 /* disp ((S + A - P) >> 1) & 0xffff */ +#define R_CKCORE_PCREL_IMM16BY4 21 /* disp ((S + A - P) >> 2) & 0xffff */ +#define R_CKCORE_PCREL_IMM10BY2 22 /* disp ((S + A - P) >> 1) & 0x3ff */ +#define R_CKCORE_PCREL_IMM10BY4 23 /* disp ((S + A - P) >> 2) & 0x3ff */ +#define R_CKCORE_ADDR_HI16 24 /* high & low 16 bit ADDR */ + /* ((S + A) >> 16) & 0xffff */ +#define R_CKCORE_ADDR_LO16 25 /* (S + A) & 0xffff */ +#define R_CKCORE_GOTPC_HI16 26 /* high & low 16 bit GOTPC */ + /* ((GOT + A - P) >> 16) & 0xffff */ +#define R_CKCORE_GOTPC_LO16 27 /* (GOT + A - P) & 0xffff */ +#define R_CKCORE_GOTOFF_HI16 28 /* high & low 16 bit GOTOFF */ + /* ((S + A - GOT) >> 16) & 0xffff */ +#define R_CKCORE_GOTOFF_LO16 29 /* (S + A - GOT) & 0xffff */ +#define R_CKCORE_GOT12 30 /* 12 bit disp GOT entry (G) */ +#define R_CKCORE_GOT_HI16 31 /* high & low 16 bit GOT */ + /* (G >> 16) & 0xffff */ +#define R_CKCORE_GOT_LO16 32 /* (G & 0xffff) */ +#define R_CKCORE_PLT12 33 /* 12 bit disp PLT entry (G) */ +#define R_CKCORE_PLT_HI16 34 /* high & low 16 bit PLT */ + /* (G >> 16) & 0xffff */ +#define R_CKCORE_PLT_LO16 35 /* G & 0xffff */ +#define R_CKCORE_ADDRGOT_HI16 36 /* high & low 16 bit ADDRGOT */ + /* (GOT + G * 4) & 0xffff */ +#define R_CKCORE_ADDRGOT_LO16 37 /* (GOT + G * 4) & 0xffff */ +#define R_CKCORE_ADDRPLT_HI16 38 /* high & low 16 bit ADDRPLT */ + /* ((GOT + G * 4) >> 16) & 0xFFFF */ +#define R_CKCORE_ADDRPLT_LO16 39 /* (GOT+G*4) & 0xffff */ +#define R_CKCORE_PCREL_JSR_IMM26BY2 40 /* disp ((S+A-P) >>1) & x3ffffff */ +#define R_CKCORE_TOFFSET_LO16 41 /* (S+A-BTEXT) & 0xffff */ +#define R_CKCORE_DOFFSET_LO16 42 /* (S+A-BTEXT) & 0xffff */ +#define R_CKCORE_PCREL_IMM18BY2 43 /* disp ((S+A-P) >>1) & 0x3ffff */ +#define R_CKCORE_DOFFSET_IMM18 44 /* disp (S+A-BDATA) & 0x3ffff */ +#define R_CKCORE_DOFFSET_IMM18BY2 45 /* disp ((S+A-BDATA)>>1) & 0x3ffff */ +#define R_CKCORE_DOFFSET_IMM18BY4 46 /* disp ((S+A-BDATA)>>2) & 0x3ffff */ +#define R_CKCORE_GOT_IMM18BY4 48 /* disp (G >> 2) */ +#define R_CKCORE_PLT_IMM18BY4 49 /* disp (G >> 2) */ +#define R_CKCORE_PCREL_IMM7BY4 50 /* disp ((S+A-P) >>2) & 0x7f */ +#define R_CKCORE_TLS_LE32 51 /* 32 bit offset to TLS block */ +#define R_CKCORE_TLS_IE32 52 +#define R_CKCORE_TLS_GD32 53 +#define R_CKCORE_TLS_LDM32 54 +#define R_CKCORE_TLS_LDO32 55 +#define R_CKCORE_TLS_DTPMOD32 56 +#define R_CKCORE_TLS_DTPOFF32 57 +#define R_CKCORE_TLS_TPOFF32 58 + +/* C-SKY elf header definition. */ +#define EF_CSKY_ABIMASK 0XF0000000 +#define EF_CSKY_OTHER 0X0FFF0000 +#define EF_CSKY_PROCESSOR 0X0000FFFF + +#define EF_CSKY_ABIV1 0X10000000 +#define EF_CSKY_ABIV2 0X20000000 + +/* C-SKY attributes section. */ +#define SHT_CSKY_ATTRIBUTES (SHT_LOPROC + 1) + +/* IA-64 specific declarations. */ + +/* Processor specific flags for the Ehdr e_flags field. */ +#define EF_IA_64_MASKOS 0x0000000f /* os-specific flags */ +#define EF_IA_64_ABI64 0x00000010 /* 64-bit ABI */ +#define EF_IA_64_ARCH 0xff000000 /* arch. version mask */ + +/* Processor specific values for the Phdr p_type field. */ +#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) /* arch extension bits */ +#define PT_IA_64_UNWIND (PT_LOPROC + 1) /* ia64 unwind bits */ +#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12) +#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13) +#define PT_IA_64_HP_STACK (PT_LOOS + 0x14) + +/* Processor specific flags for the Phdr p_flags field. */ +#define PF_IA_64_NORECOV 0x80000000 /* spec insns w/o recovery */ + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_IA_64_EXT (SHT_LOPROC + 0) /* extension bits */ +#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) /* unwind bits */ + +/* Processor specific flags for the Shdr sh_flags field. */ +#define SHF_IA_64_SHORT 0x10000000 /* section near gp */ +#define SHF_IA_64_NORECOV 0x20000000 /* spec insns w/o recovery */ + +/* Processor specific values for the Dyn d_tag field. */ +#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0) +#define DT_IA_64_NUM 1 + +/* IA-64 relocations. */ +#define R_IA64_NONE 0x00 /* none */ +#define R_IA64_IMM14 0x21 /* symbol + addend, add imm14 */ +#define R_IA64_IMM22 0x22 /* symbol + addend, add imm22 */ +#define R_IA64_IMM64 0x23 /* symbol + addend, mov imm64 */ +#define R_IA64_DIR32MSB 0x24 /* symbol + addend, data4 MSB */ +#define R_IA64_DIR32LSB 0x25 /* symbol + addend, data4 LSB */ +#define R_IA64_DIR64MSB 0x26 /* symbol + addend, data8 MSB */ +#define R_IA64_DIR64LSB 0x27 /* symbol + addend, data8 LSB */ +#define R_IA64_GPREL22 0x2a /* @gprel(sym + add), add imm22 */ +#define R_IA64_GPREL64I 0x2b /* @gprel(sym + add), mov imm64 */ +#define R_IA64_GPREL32MSB 0x2c /* @gprel(sym + add), data4 MSB */ +#define R_IA64_GPREL32LSB 0x2d /* @gprel(sym + add), data4 LSB */ +#define R_IA64_GPREL64MSB 0x2e /* @gprel(sym + add), data8 MSB */ +#define R_IA64_GPREL64LSB 0x2f /* @gprel(sym + add), data8 LSB */ +#define R_IA64_LTOFF22 0x32 /* @ltoff(sym + add), add imm22 */ +#define R_IA64_LTOFF64I 0x33 /* @ltoff(sym + add), mov imm64 */ +#define R_IA64_PLTOFF22 0x3a /* @pltoff(sym + add), add imm22 */ +#define R_IA64_PLTOFF64I 0x3b /* @pltoff(sym + add), mov imm64 */ +#define R_IA64_PLTOFF64MSB 0x3e /* @pltoff(sym + add), data8 MSB */ +#define R_IA64_PLTOFF64LSB 0x3f /* @pltoff(sym + add), data8 LSB */ +#define R_IA64_FPTR64I 0x43 /* @fptr(sym + add), mov imm64 */ +#define R_IA64_FPTR32MSB 0x44 /* @fptr(sym + add), data4 MSB */ +#define R_IA64_FPTR32LSB 0x45 /* @fptr(sym + add), data4 LSB */ +#define R_IA64_FPTR64MSB 0x46 /* @fptr(sym + add), data8 MSB */ +#define R_IA64_FPTR64LSB 0x47 /* @fptr(sym + add), data8 LSB */ +#define R_IA64_PCREL60B 0x48 /* @pcrel(sym + add), brl */ +#define R_IA64_PCREL21B 0x49 /* @pcrel(sym + add), ptb, call */ +#define R_IA64_PCREL21M 0x4a /* @pcrel(sym + add), chk.s */ +#define R_IA64_PCREL21F 0x4b /* @pcrel(sym + add), fchkf */ +#define R_IA64_PCREL32MSB 0x4c /* @pcrel(sym + add), data4 MSB */ +#define R_IA64_PCREL32LSB 0x4d /* @pcrel(sym + add), data4 LSB */ +#define R_IA64_PCREL64MSB 0x4e /* @pcrel(sym + add), data8 MSB */ +#define R_IA64_PCREL64LSB 0x4f /* @pcrel(sym + add), data8 LSB */ +#define R_IA64_LTOFF_FPTR22 0x52 /* @ltoff(@fptr(s+a)), imm22 */ +#define R_IA64_LTOFF_FPTR64I 0x53 /* @ltoff(@fptr(s+a)), imm64 */ +#define R_IA64_LTOFF_FPTR32MSB 0x54 /* @ltoff(@fptr(s+a)), data4 MSB */ +#define R_IA64_LTOFF_FPTR32LSB 0x55 /* @ltoff(@fptr(s+a)), data4 LSB */ +#define R_IA64_LTOFF_FPTR64MSB 0x56 /* @ltoff(@fptr(s+a)), data8 MSB */ +#define R_IA64_LTOFF_FPTR64LSB 0x57 /* @ltoff(@fptr(s+a)), data8 LSB */ +#define R_IA64_SEGREL32MSB 0x5c /* @segrel(sym + add), data4 MSB */ +#define R_IA64_SEGREL32LSB 0x5d /* @segrel(sym + add), data4 LSB */ +#define R_IA64_SEGREL64MSB 0x5e /* @segrel(sym + add), data8 MSB */ +#define R_IA64_SEGREL64LSB 0x5f /* @segrel(sym + add), data8 LSB */ +#define R_IA64_SECREL32MSB 0x64 /* @secrel(sym + add), data4 MSB */ +#define R_IA64_SECREL32LSB 0x65 /* @secrel(sym + add), data4 LSB */ +#define R_IA64_SECREL64MSB 0x66 /* @secrel(sym + add), data8 MSB */ +#define R_IA64_SECREL64LSB 0x67 /* @secrel(sym + add), data8 LSB */ +#define R_IA64_REL32MSB 0x6c /* data 4 + REL */ +#define R_IA64_REL32LSB 0x6d /* data 4 + REL */ +#define R_IA64_REL64MSB 0x6e /* data 8 + REL */ +#define R_IA64_REL64LSB 0x6f /* data 8 + REL */ +#define R_IA64_LTV32MSB 0x74 /* symbol + addend, data4 MSB */ +#define R_IA64_LTV32LSB 0x75 /* symbol + addend, data4 LSB */ +#define R_IA64_LTV64MSB 0x76 /* symbol + addend, data8 MSB */ +#define R_IA64_LTV64LSB 0x77 /* symbol + addend, data8 LSB */ +#define R_IA64_PCREL21BI 0x79 /* @pcrel(sym + add), 21bit inst */ +#define R_IA64_PCREL22 0x7a /* @pcrel(sym + add), 22bit inst */ +#define R_IA64_PCREL64I 0x7b /* @pcrel(sym + add), 64bit inst */ +#define R_IA64_IPLTMSB 0x80 /* dynamic reloc, imported PLT, MSB */ +#define R_IA64_IPLTLSB 0x81 /* dynamic reloc, imported PLT, LSB */ +#define R_IA64_COPY 0x84 /* copy relocation */ +#define R_IA64_SUB 0x85 /* Addend and symbol difference */ +#define R_IA64_LTOFF22X 0x86 /* LTOFF22, relaxable. */ +#define R_IA64_LDXMOV 0x87 /* Use of LTOFF22X. */ +#define R_IA64_TPREL14 0x91 /* @tprel(sym + add), imm14 */ +#define R_IA64_TPREL22 0x92 /* @tprel(sym + add), imm22 */ +#define R_IA64_TPREL64I 0x93 /* @tprel(sym + add), imm64 */ +#define R_IA64_TPREL64MSB 0x96 /* @tprel(sym + add), data8 MSB */ +#define R_IA64_TPREL64LSB 0x97 /* @tprel(sym + add), data8 LSB */ +#define R_IA64_LTOFF_TPREL22 0x9a /* @ltoff(@tprel(s+a)), imm2 */ +#define R_IA64_DTPMOD64MSB 0xa6 /* @dtpmod(sym + add), data8 MSB */ +#define R_IA64_DTPMOD64LSB 0xa7 /* @dtpmod(sym + add), data8 LSB */ +#define R_IA64_LTOFF_DTPMOD22 0xaa /* @ltoff(@dtpmod(sym + add)), imm22 */ +#define R_IA64_DTPREL14 0xb1 /* @dtprel(sym + add), imm14 */ +#define R_IA64_DTPREL22 0xb2 /* @dtprel(sym + add), imm22 */ +#define R_IA64_DTPREL64I 0xb3 /* @dtprel(sym + add), imm64 */ +#define R_IA64_DTPREL32MSB 0xb4 /* @dtprel(sym + add), data4 MSB */ +#define R_IA64_DTPREL32LSB 0xb5 /* @dtprel(sym + add), data4 LSB */ +#define R_IA64_DTPREL64MSB 0xb6 /* @dtprel(sym + add), data8 MSB */ +#define R_IA64_DTPREL64LSB 0xb7 /* @dtprel(sym + add), data8 LSB */ +#define R_IA64_LTOFF_DTPREL22 0xba /* @ltoff(@dtprel(s+a)), imm22 */ + +/* SH specific declarations */ + +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_SH_MACH_MASK 0x1f +#define EF_SH_UNKNOWN 0x0 +#define EF_SH1 0x1 +#define EF_SH2 0x2 +#define EF_SH3 0x3 +#define EF_SH_DSP 0x4 +#define EF_SH3_DSP 0x5 +#define EF_SH4AL_DSP 0x6 +#define EF_SH3E 0x8 +#define EF_SH4 0x9 +#define EF_SH2E 0xb +#define EF_SH4A 0xc +#define EF_SH2A 0xd +#define EF_SH4_NOFPU 0x10 +#define EF_SH4A_NOFPU 0x11 +#define EF_SH4_NOMMU_NOFPU 0x12 +#define EF_SH2A_NOFPU 0x13 +#define EF_SH3_NOMMU 0x14 +#define EF_SH2A_SH4_NOFPU 0x15 +#define EF_SH2A_SH3_NOFPU 0x16 +#define EF_SH2A_SH4 0x17 +#define EF_SH2A_SH3E 0x18 + +/* SH relocs. */ +#define R_SH_NONE 0 +#define R_SH_DIR32 1 +#define R_SH_REL32 2 +#define R_SH_DIR8WPN 3 +#define R_SH_IND12W 4 +#define R_SH_DIR8WPL 5 +#define R_SH_DIR8WPZ 6 +#define R_SH_DIR8BP 7 +#define R_SH_DIR8W 8 +#define R_SH_DIR8L 9 +#define R_SH_SWITCH16 25 +#define R_SH_SWITCH32 26 +#define R_SH_USES 27 +#define R_SH_COUNT 28 +#define R_SH_ALIGN 29 +#define R_SH_CODE 30 +#define R_SH_DATA 31 +#define R_SH_LABEL 32 +#define R_SH_SWITCH8 33 +#define R_SH_GNU_VTINHERIT 34 +#define R_SH_GNU_VTENTRY 35 +#define R_SH_TLS_GD_32 144 +#define R_SH_TLS_LD_32 145 +#define R_SH_TLS_LDO_32 146 +#define R_SH_TLS_IE_32 147 +#define R_SH_TLS_LE_32 148 +#define R_SH_TLS_DTPMOD32 149 +#define R_SH_TLS_DTPOFF32 150 +#define R_SH_TLS_TPOFF32 151 +#define R_SH_GOT32 160 +#define R_SH_PLT32 161 +#define R_SH_COPY 162 +#define R_SH_GLOB_DAT 163 +#define R_SH_JMP_SLOT 164 +#define R_SH_RELATIVE 165 +#define R_SH_GOTOFF 166 +#define R_SH_GOTPC 167 +/* Keep this the last entry. */ +#define R_SH_NUM 256 + +/* S/390 specific definitions. */ + +/* Valid values for the e_flags field. */ + +#define EF_S390_HIGH_GPRS 0x00000001 /* High GPRs kernel facility needed. */ + +/* Additional s390 relocs */ + +#define R_390_NONE 0 /* No reloc. */ +#define R_390_8 1 /* Direct 8 bit. */ +#define R_390_12 2 /* Direct 12 bit. */ +#define R_390_16 3 /* Direct 16 bit. */ +#define R_390_32 4 /* Direct 32 bit. */ +#define R_390_PC32 5 /* PC relative 32 bit. */ +#define R_390_GOT12 6 /* 12 bit GOT offset. */ +#define R_390_GOT32 7 /* 32 bit GOT offset. */ +#define R_390_PLT32 8 /* 32 bit PC relative PLT address. */ +#define R_390_COPY 9 /* Copy symbol at runtime. */ +#define R_390_GLOB_DAT 10 /* Create GOT entry. */ +#define R_390_JMP_SLOT 11 /* Create PLT entry. */ +#define R_390_RELATIVE 12 /* Adjust by program base. */ +#define R_390_GOTOFF32 13 /* 32 bit offset to GOT. */ +#define R_390_GOTPC 14 /* 32 bit PC relative offset to GOT. */ +#define R_390_GOT16 15 /* 16 bit GOT offset. */ +#define R_390_PC16 16 /* PC relative 16 bit. */ +#define R_390_PC16DBL 17 /* PC relative 16 bit shifted by 1. */ +#define R_390_PLT16DBL 18 /* 16 bit PC rel. PLT shifted by 1. */ +#define R_390_PC32DBL 19 /* PC relative 32 bit shifted by 1. */ +#define R_390_PLT32DBL 20 /* 32 bit PC rel. PLT shifted by 1. */ +#define R_390_GOTPCDBL 21 /* 32 bit PC rel. GOT shifted by 1. */ +#define R_390_64 22 /* Direct 64 bit. */ +#define R_390_PC64 23 /* PC relative 64 bit. */ +#define R_390_GOT64 24 /* 64 bit GOT offset. */ +#define R_390_PLT64 25 /* 64 bit PC relative PLT address. */ +#define R_390_GOTENT 26 /* 32 bit PC rel. to GOT entry >> 1. */ +#define R_390_GOTOFF16 27 /* 16 bit offset to GOT. */ +#define R_390_GOTOFF64 28 /* 64 bit offset to GOT. */ +#define R_390_GOTPLT12 29 /* 12 bit offset to jump slot. */ +#define R_390_GOTPLT16 30 /* 16 bit offset to jump slot. */ +#define R_390_GOTPLT32 31 /* 32 bit offset to jump slot. */ +#define R_390_GOTPLT64 32 /* 64 bit offset to jump slot. */ +#define R_390_GOTPLTENT 33 /* 32 bit rel. offset to jump slot. */ +#define R_390_PLTOFF16 34 /* 16 bit offset from GOT to PLT. */ +#define R_390_PLTOFF32 35 /* 32 bit offset from GOT to PLT. */ +#define R_390_PLTOFF64 36 /* 16 bit offset from GOT to PLT. */ +#define R_390_TLS_LOAD 37 /* Tag for load insn in TLS code. */ +#define R_390_TLS_GDCALL 38 /* Tag for function call in general + dynamic TLS code. */ +#define R_390_TLS_LDCALL 39 /* Tag for function call in local + dynamic TLS code. */ +#define R_390_TLS_GD32 40 /* Direct 32 bit for general dynamic + thread local data. */ +#define R_390_TLS_GD64 41 /* Direct 64 bit for general dynamic + thread local data. */ +#define R_390_TLS_GOTIE12 42 /* 12 bit GOT offset for static TLS + block offset. */ +#define R_390_TLS_GOTIE32 43 /* 32 bit GOT offset for static TLS + block offset. */ +#define R_390_TLS_GOTIE64 44 /* 64 bit GOT offset for static TLS + block offset. */ +#define R_390_TLS_LDM32 45 /* Direct 32 bit for local dynamic + thread local data in LE code. */ +#define R_390_TLS_LDM64 46 /* Direct 64 bit for local dynamic + thread local data in LE code. */ +#define R_390_TLS_IE32 47 /* 32 bit address of GOT entry for + negated static TLS block offset. */ +#define R_390_TLS_IE64 48 /* 64 bit address of GOT entry for + negated static TLS block offset. */ +#define R_390_TLS_IEENT 49 /* 32 bit rel. offset to GOT entry for + negated static TLS block offset. */ +#define R_390_TLS_LE32 50 /* 32 bit negated offset relative to + static TLS block. */ +#define R_390_TLS_LE64 51 /* 64 bit negated offset relative to + static TLS block. */ +#define R_390_TLS_LDO32 52 /* 32 bit offset relative to TLS + block. */ +#define R_390_TLS_LDO64 53 /* 64 bit offset relative to TLS + block. */ +#define R_390_TLS_DTPMOD 54 /* ID of module containing symbol. */ +#define R_390_TLS_DTPOFF 55 /* Offset in TLS block. */ +#define R_390_TLS_TPOFF 56 /* Negated offset in static TLS + block. */ +#define R_390_20 57 /* Direct 20 bit. */ +#define R_390_GOT20 58 /* 20 bit GOT offset. */ +#define R_390_GOTPLT20 59 /* 20 bit offset to jump slot. */ +#define R_390_TLS_GOTIE20 60 /* 20 bit GOT offset for static TLS + block offset. */ +#define R_390_IRELATIVE 61 /* STT_GNU_IFUNC relocation. */ +/* Keep this the last entry. */ +#define R_390_NUM 62 + + +/* CRIS relocations. */ +#define R_CRIS_NONE 0 +#define R_CRIS_8 1 +#define R_CRIS_16 2 +#define R_CRIS_32 3 +#define R_CRIS_8_PCREL 4 +#define R_CRIS_16_PCREL 5 +#define R_CRIS_32_PCREL 6 +#define R_CRIS_GNU_VTINHERIT 7 +#define R_CRIS_GNU_VTENTRY 8 +#define R_CRIS_COPY 9 +#define R_CRIS_GLOB_DAT 10 +#define R_CRIS_JUMP_SLOT 11 +#define R_CRIS_RELATIVE 12 +#define R_CRIS_16_GOT 13 +#define R_CRIS_32_GOT 14 +#define R_CRIS_16_GOTPLT 15 +#define R_CRIS_32_GOTPLT 16 +#define R_CRIS_32_GOTREL 17 +#define R_CRIS_32_PLT_GOTREL 18 +#define R_CRIS_32_PLT_PCREL 19 + +#define R_CRIS_NUM 20 + + +/* AMD x86-64 relocations. */ +#define R_X86_64_NONE 0 /* No reloc */ +#define R_X86_64_64 1 /* Direct 64 bit */ +#define R_X86_64_PC32 2 /* PC relative 32 bit signed */ +#define R_X86_64_GOT32 3 /* 32 bit GOT entry */ +#define R_X86_64_PLT32 4 /* 32 bit PLT address */ +#define R_X86_64_COPY 5 /* Copy symbol at runtime */ +#define R_X86_64_GLOB_DAT 6 /* Create GOT entry */ +#define R_X86_64_JUMP_SLOT 7 /* Create PLT entry */ +#define R_X86_64_RELATIVE 8 /* Adjust by program base */ +#define R_X86_64_GOTPCREL 9 /* 32 bit signed PC relative + offset to GOT */ +#define R_X86_64_32 10 /* Direct 32 bit zero extended */ +#define R_X86_64_32S 11 /* Direct 32 bit sign extended */ +#define R_X86_64_16 12 /* Direct 16 bit zero extended */ +#define R_X86_64_PC16 13 /* 16 bit sign extended pc relative */ +#define R_X86_64_8 14 /* Direct 8 bit sign extended */ +#define R_X86_64_PC8 15 /* 8 bit sign extended pc relative */ +#define R_X86_64_DTPMOD64 16 /* ID of module containing symbol */ +#define R_X86_64_DTPOFF64 17 /* Offset in module's TLS block */ +#define R_X86_64_TPOFF64 18 /* Offset in initial TLS block */ +#define R_X86_64_TLSGD 19 /* 32 bit signed PC relative offset + to two GOT entries for GD symbol */ +#define R_X86_64_TLSLD 20 /* 32 bit signed PC relative offset + to two GOT entries for LD symbol */ +#define R_X86_64_DTPOFF32 21 /* Offset in TLS block */ +#define R_X86_64_GOTTPOFF 22 /* 32 bit signed PC relative offset + to GOT entry for IE symbol */ +#define R_X86_64_TPOFF32 23 /* Offset in initial TLS block */ +#define R_X86_64_PC64 24 /* PC relative 64 bit */ +#define R_X86_64_GOTOFF64 25 /* 64 bit offset to GOT */ +#define R_X86_64_GOTPC32 26 /* 32 bit signed pc relative + offset to GOT */ +#define R_X86_64_GOT64 27 /* 64-bit GOT entry offset */ +#define R_X86_64_GOTPCREL64 28 /* 64-bit PC relative offset + to GOT entry */ +#define R_X86_64_GOTPC64 29 /* 64-bit PC relative offset to GOT */ +#define R_X86_64_GOTPLT64 30 /* like GOT64, says PLT entry needed */ +#define R_X86_64_PLTOFF64 31 /* 64-bit GOT relative offset + to PLT entry */ +#define R_X86_64_SIZE32 32 /* Size of symbol plus 32-bit addend */ +#define R_X86_64_SIZE64 33 /* Size of symbol plus 64-bit addend */ +#define R_X86_64_GOTPC32_TLSDESC 34 /* GOT offset for TLS descriptor. */ +#define R_X86_64_TLSDESC_CALL 35 /* Marker for call through TLS + descriptor. */ +#define R_X86_64_TLSDESC 36 /* TLS descriptor. */ +#define R_X86_64_IRELATIVE 37 /* Adjust indirectly by program base */ +#define R_X86_64_RELATIVE64 38 /* 64-bit adjust by program base */ + /* 39 Reserved was R_X86_64_PC32_BND */ + /* 40 Reserved was R_X86_64_PLT32_BND */ +#define R_X86_64_GOTPCRELX 41 /* Load from 32 bit signed pc relative + offset to GOT entry without REX + prefix, relaxable. */ +#define R_X86_64_REX_GOTPCRELX 42 /* Load from 32 bit signed pc relative + offset to GOT entry with REX prefix, + relaxable. */ +#define R_X86_64_NUM 43 + +/* x86-64 sh_type values. */ +#define SHT_X86_64_UNWIND 0x70000001 /* Unwind information. */ + +/* x86-64 d_tag values. */ +#define DT_X86_64_PLT (DT_LOPROC + 0) +#define DT_X86_64_PLTSZ (DT_LOPROC + 1) +#define DT_X86_64_PLTENT (DT_LOPROC + 3) +#define DT_X86_64_NUM 4 + +/* AM33 relocations. */ +#define R_MN10300_NONE 0 /* No reloc. */ +#define R_MN10300_32 1 /* Direct 32 bit. */ +#define R_MN10300_16 2 /* Direct 16 bit. */ +#define R_MN10300_8 3 /* Direct 8 bit. */ +#define R_MN10300_PCREL32 4 /* PC-relative 32-bit. */ +#define R_MN10300_PCREL16 5 /* PC-relative 16-bit signed. */ +#define R_MN10300_PCREL8 6 /* PC-relative 8-bit signed. */ +#define R_MN10300_GNU_VTINHERIT 7 /* Ancient C++ vtable garbage... */ +#define R_MN10300_GNU_VTENTRY 8 /* ... collection annotation. */ +#define R_MN10300_24 9 /* Direct 24 bit. */ +#define R_MN10300_GOTPC32 10 /* 32-bit PCrel offset to GOT. */ +#define R_MN10300_GOTPC16 11 /* 16-bit PCrel offset to GOT. */ +#define R_MN10300_GOTOFF32 12 /* 32-bit offset from GOT. */ +#define R_MN10300_GOTOFF24 13 /* 24-bit offset from GOT. */ +#define R_MN10300_GOTOFF16 14 /* 16-bit offset from GOT. */ +#define R_MN10300_PLT32 15 /* 32-bit PCrel to PLT entry. */ +#define R_MN10300_PLT16 16 /* 16-bit PCrel to PLT entry. */ +#define R_MN10300_GOT32 17 /* 32-bit offset to GOT entry. */ +#define R_MN10300_GOT24 18 /* 24-bit offset to GOT entry. */ +#define R_MN10300_GOT16 19 /* 16-bit offset to GOT entry. */ +#define R_MN10300_COPY 20 /* Copy symbol at runtime. */ +#define R_MN10300_GLOB_DAT 21 /* Create GOT entry. */ +#define R_MN10300_JMP_SLOT 22 /* Create PLT entry. */ +#define R_MN10300_RELATIVE 23 /* Adjust by program base. */ +#define R_MN10300_TLS_GD 24 /* 32-bit offset for global dynamic. */ +#define R_MN10300_TLS_LD 25 /* 32-bit offset for local dynamic. */ +#define R_MN10300_TLS_LDO 26 /* Module-relative offset. */ +#define R_MN10300_TLS_GOTIE 27 /* GOT offset for static TLS block + offset. */ +#define R_MN10300_TLS_IE 28 /* GOT address for static TLS block + offset. */ +#define R_MN10300_TLS_LE 29 /* Offset relative to static TLS + block. */ +#define R_MN10300_TLS_DTPMOD 30 /* ID of module containing symbol. */ +#define R_MN10300_TLS_DTPOFF 31 /* Offset in module TLS block. */ +#define R_MN10300_TLS_TPOFF 32 /* Offset in static TLS block. */ +#define R_MN10300_SYM_DIFF 33 /* Adjustment for next reloc as needed + by linker relaxation. */ +#define R_MN10300_ALIGN 34 /* Alignment requirement for linker + relaxation. */ +#define R_MN10300_NUM 35 + + +/* M32R relocs. */ +#define R_M32R_NONE 0 /* No reloc. */ +#define R_M32R_16 1 /* Direct 16 bit. */ +#define R_M32R_32 2 /* Direct 32 bit. */ +#define R_M32R_24 3 /* Direct 24 bit. */ +#define R_M32R_10_PCREL 4 /* PC relative 10 bit shifted. */ +#define R_M32R_18_PCREL 5 /* PC relative 18 bit shifted. */ +#define R_M32R_26_PCREL 6 /* PC relative 26 bit shifted. */ +#define R_M32R_HI16_ULO 7 /* High 16 bit with unsigned low. */ +#define R_M32R_HI16_SLO 8 /* High 16 bit with signed low. */ +#define R_M32R_LO16 9 /* Low 16 bit. */ +#define R_M32R_SDA16 10 /* 16 bit offset in SDA. */ +#define R_M32R_GNU_VTINHERIT 11 +#define R_M32R_GNU_VTENTRY 12 +/* M32R relocs use SHT_RELA. */ +#define R_M32R_16_RELA 33 /* Direct 16 bit. */ +#define R_M32R_32_RELA 34 /* Direct 32 bit. */ +#define R_M32R_24_RELA 35 /* Direct 24 bit. */ +#define R_M32R_10_PCREL_RELA 36 /* PC relative 10 bit shifted. */ +#define R_M32R_18_PCREL_RELA 37 /* PC relative 18 bit shifted. */ +#define R_M32R_26_PCREL_RELA 38 /* PC relative 26 bit shifted. */ +#define R_M32R_HI16_ULO_RELA 39 /* High 16 bit with unsigned low */ +#define R_M32R_HI16_SLO_RELA 40 /* High 16 bit with signed low */ +#define R_M32R_LO16_RELA 41 /* Low 16 bit */ +#define R_M32R_SDA16_RELA 42 /* 16 bit offset in SDA */ +#define R_M32R_RELA_GNU_VTINHERIT 43 +#define R_M32R_RELA_GNU_VTENTRY 44 +#define R_M32R_REL32 45 /* PC relative 32 bit. */ + +#define R_M32R_GOT24 48 /* 24 bit GOT entry */ +#define R_M32R_26_PLTREL 49 /* 26 bit PC relative to PLT shifted */ +#define R_M32R_COPY 50 /* Copy symbol at runtime */ +#define R_M32R_GLOB_DAT 51 /* Create GOT entry */ +#define R_M32R_JMP_SLOT 52 /* Create PLT entry */ +#define R_M32R_RELATIVE 53 /* Adjust by program base */ +#define R_M32R_GOTOFF 54 /* 24 bit offset to GOT */ +#define R_M32R_GOTPC24 55 /* 24 bit PC relative offset to GOT */ +#define R_M32R_GOT16_HI_ULO 56 /* High 16 bit GOT entry with unsigned + low */ +#define R_M32R_GOT16_HI_SLO 57 /* High 16 bit GOT entry with signed + low */ +#define R_M32R_GOT16_LO 58 /* Low 16 bit GOT entry */ +#define R_M32R_GOTPC_HI_ULO 59 /* High 16 bit PC relative offset to + GOT with unsigned low */ +#define R_M32R_GOTPC_HI_SLO 60 /* High 16 bit PC relative offset to + GOT with signed low */ +#define R_M32R_GOTPC_LO 61 /* Low 16 bit PC relative offset to + GOT */ +#define R_M32R_GOTOFF_HI_ULO 62 /* High 16 bit offset to GOT + with unsigned low */ +#define R_M32R_GOTOFF_HI_SLO 63 /* High 16 bit offset to GOT + with signed low */ +#define R_M32R_GOTOFF_LO 64 /* Low 16 bit offset to GOT */ +#define R_M32R_NUM 256 /* Keep this the last entry. */ + +/* MicroBlaze relocations */ +#define R_MICROBLAZE_NONE 0 /* No reloc. */ +#define R_MICROBLAZE_32 1 /* Direct 32 bit. */ +#define R_MICROBLAZE_32_PCREL 2 /* PC relative 32 bit. */ +#define R_MICROBLAZE_64_PCREL 3 /* PC relative 64 bit. */ +#define R_MICROBLAZE_32_PCREL_LO 4 /* Low 16 bits of PCREL32. */ +#define R_MICROBLAZE_64 5 /* Direct 64 bit. */ +#define R_MICROBLAZE_32_LO 6 /* Low 16 bit. */ +#define R_MICROBLAZE_SRO32 7 /* Read-only small data area. */ +#define R_MICROBLAZE_SRW32 8 /* Read-write small data area. */ +#define R_MICROBLAZE_64_NONE 9 /* No reloc. */ +#define R_MICROBLAZE_32_SYM_OP_SYM 10 /* Symbol Op Symbol relocation. */ +#define R_MICROBLAZE_GNU_VTINHERIT 11 /* GNU C++ vtable hierarchy. */ +#define R_MICROBLAZE_GNU_VTENTRY 12 /* GNU C++ vtable member usage. */ +#define R_MICROBLAZE_GOTPC_64 13 /* PC-relative GOT offset. */ +#define R_MICROBLAZE_GOT_64 14 /* GOT entry offset. */ +#define R_MICROBLAZE_PLT_64 15 /* PLT offset (PC-relative). */ +#define R_MICROBLAZE_REL 16 /* Adjust by program base. */ +#define R_MICROBLAZE_JUMP_SLOT 17 /* Create PLT entry. */ +#define R_MICROBLAZE_GLOB_DAT 18 /* Create GOT entry. */ +#define R_MICROBLAZE_GOTOFF_64 19 /* 64 bit offset to GOT. */ +#define R_MICROBLAZE_GOTOFF_32 20 /* 32 bit offset to GOT. */ +#define R_MICROBLAZE_COPY 21 /* Runtime copy. */ +#define R_MICROBLAZE_TLS 22 /* TLS Reloc. */ +#define R_MICROBLAZE_TLSGD 23 /* TLS General Dynamic. */ +#define R_MICROBLAZE_TLSLD 24 /* TLS Local Dynamic. */ +#define R_MICROBLAZE_TLSDTPMOD32 25 /* TLS Module ID. */ +#define R_MICROBLAZE_TLSDTPREL32 26 /* TLS Offset Within TLS Block. */ +#define R_MICROBLAZE_TLSDTPREL64 27 /* TLS Offset Within TLS Block. */ +#define R_MICROBLAZE_TLSGOTTPREL32 28 /* TLS Offset From Thread Pointer. */ +#define R_MICROBLAZE_TLSTPREL32 29 /* TLS Offset From Thread Pointer. */ + +/* Legal values for d_tag (dynamic entry type). */ +#define DT_NIOS2_GP 0x70000002 /* Address of _gp. */ + +/* Nios II relocations. */ +#define R_NIOS2_NONE 0 /* No reloc. */ +#define R_NIOS2_S16 1 /* Direct signed 16 bit. */ +#define R_NIOS2_U16 2 /* Direct unsigned 16 bit. */ +#define R_NIOS2_PCREL16 3 /* PC relative 16 bit. */ +#define R_NIOS2_CALL26 4 /* Direct call. */ +#define R_NIOS2_IMM5 5 /* 5 bit constant expression. */ +#define R_NIOS2_CACHE_OPX 6 /* 5 bit expression, shift 22. */ +#define R_NIOS2_IMM6 7 /* 6 bit constant expression. */ +#define R_NIOS2_IMM8 8 /* 8 bit constant expression. */ +#define R_NIOS2_HI16 9 /* High 16 bit. */ +#define R_NIOS2_LO16 10 /* Low 16 bit. */ +#define R_NIOS2_HIADJ16 11 /* High 16 bit, adjusted. */ +#define R_NIOS2_BFD_RELOC_32 12 /* 32 bit symbol value + addend. */ +#define R_NIOS2_BFD_RELOC_16 13 /* 16 bit symbol value + addend. */ +#define R_NIOS2_BFD_RELOC_8 14 /* 8 bit symbol value + addend. */ +#define R_NIOS2_GPREL 15 /* 16 bit GP pointer offset. */ +#define R_NIOS2_GNU_VTINHERIT 16 /* GNU C++ vtable hierarchy. */ +#define R_NIOS2_GNU_VTENTRY 17 /* GNU C++ vtable member usage. */ +#define R_NIOS2_UJMP 18 /* Unconditional branch. */ +#define R_NIOS2_CJMP 19 /* Conditional branch. */ +#define R_NIOS2_CALLR 20 /* Indirect call through register. */ +#define R_NIOS2_ALIGN 21 /* Alignment requirement for + linker relaxation. */ +#define R_NIOS2_GOT16 22 /* 16 bit GOT entry. */ +#define R_NIOS2_CALL16 23 /* 16 bit GOT entry for function. */ +#define R_NIOS2_GOTOFF_LO 24 /* %lo of offset to GOT pointer. */ +#define R_NIOS2_GOTOFF_HA 25 /* %hiadj of offset to GOT pointer. */ +#define R_NIOS2_PCREL_LO 26 /* %lo of PC relative offset. */ +#define R_NIOS2_PCREL_HA 27 /* %hiadj of PC relative offset. */ +#define R_NIOS2_TLS_GD16 28 /* 16 bit GOT offset for TLS GD. */ +#define R_NIOS2_TLS_LDM16 29 /* 16 bit GOT offset for TLS LDM. */ +#define R_NIOS2_TLS_LDO16 30 /* 16 bit module relative offset. */ +#define R_NIOS2_TLS_IE16 31 /* 16 bit GOT offset for TLS IE. */ +#define R_NIOS2_TLS_LE16 32 /* 16 bit LE TP-relative offset. */ +#define R_NIOS2_TLS_DTPMOD 33 /* Module number. */ +#define R_NIOS2_TLS_DTPREL 34 /* Module-relative offset. */ +#define R_NIOS2_TLS_TPREL 35 /* TP-relative offset. */ +#define R_NIOS2_COPY 36 /* Copy symbol at runtime. */ +#define R_NIOS2_GLOB_DAT 37 /* Create GOT entry. */ +#define R_NIOS2_JUMP_SLOT 38 /* Create PLT entry. */ +#define R_NIOS2_RELATIVE 39 /* Adjust by program base. */ +#define R_NIOS2_GOTOFF 40 /* 16 bit offset to GOT pointer. */ +#define R_NIOS2_CALL26_NOAT 41 /* Direct call in .noat section. */ +#define R_NIOS2_GOT_LO 42 /* %lo() of GOT entry. */ +#define R_NIOS2_GOT_HA 43 /* %hiadj() of GOT entry. */ +#define R_NIOS2_CALL_LO 44 /* %lo() of function GOT entry. */ +#define R_NIOS2_CALL_HA 45 /* %hiadj() of function GOT entry. */ + +/* TILEPro relocations. */ +#define R_TILEPRO_NONE 0 /* No reloc */ +#define R_TILEPRO_32 1 /* Direct 32 bit */ +#define R_TILEPRO_16 2 /* Direct 16 bit */ +#define R_TILEPRO_8 3 /* Direct 8 bit */ +#define R_TILEPRO_32_PCREL 4 /* PC relative 32 bit */ +#define R_TILEPRO_16_PCREL 5 /* PC relative 16 bit */ +#define R_TILEPRO_8_PCREL 6 /* PC relative 8 bit */ +#define R_TILEPRO_LO16 7 /* Low 16 bit */ +#define R_TILEPRO_HI16 8 /* High 16 bit */ +#define R_TILEPRO_HA16 9 /* High 16 bit, adjusted */ +#define R_TILEPRO_COPY 10 /* Copy relocation */ +#define R_TILEPRO_GLOB_DAT 11 /* Create GOT entry */ +#define R_TILEPRO_JMP_SLOT 12 /* Create PLT entry */ +#define R_TILEPRO_RELATIVE 13 /* Adjust by program base */ +#define R_TILEPRO_BROFF_X1 14 /* X1 pipe branch offset */ +#define R_TILEPRO_JOFFLONG_X1 15 /* X1 pipe jump offset */ +#define R_TILEPRO_JOFFLONG_X1_PLT 16 /* X1 pipe jump offset to PLT */ +#define R_TILEPRO_IMM8_X0 17 /* X0 pipe 8-bit */ +#define R_TILEPRO_IMM8_Y0 18 /* Y0 pipe 8-bit */ +#define R_TILEPRO_IMM8_X1 19 /* X1 pipe 8-bit */ +#define R_TILEPRO_IMM8_Y1 20 /* Y1 pipe 8-bit */ +#define R_TILEPRO_MT_IMM15_X1 21 /* X1 pipe mtspr */ +#define R_TILEPRO_MF_IMM15_X1 22 /* X1 pipe mfspr */ +#define R_TILEPRO_IMM16_X0 23 /* X0 pipe 16-bit */ +#define R_TILEPRO_IMM16_X1 24 /* X1 pipe 16-bit */ +#define R_TILEPRO_IMM16_X0_LO 25 /* X0 pipe low 16-bit */ +#define R_TILEPRO_IMM16_X1_LO 26 /* X1 pipe low 16-bit */ +#define R_TILEPRO_IMM16_X0_HI 27 /* X0 pipe high 16-bit */ +#define R_TILEPRO_IMM16_X1_HI 28 /* X1 pipe high 16-bit */ +#define R_TILEPRO_IMM16_X0_HA 29 /* X0 pipe high 16-bit, adjusted */ +#define R_TILEPRO_IMM16_X1_HA 30 /* X1 pipe high 16-bit, adjusted */ +#define R_TILEPRO_IMM16_X0_PCREL 31 /* X0 pipe PC relative 16 bit */ +#define R_TILEPRO_IMM16_X1_PCREL 32 /* X1 pipe PC relative 16 bit */ +#define R_TILEPRO_IMM16_X0_LO_PCREL 33 /* X0 pipe PC relative low 16 bit */ +#define R_TILEPRO_IMM16_X1_LO_PCREL 34 /* X1 pipe PC relative low 16 bit */ +#define R_TILEPRO_IMM16_X0_HI_PCREL 35 /* X0 pipe PC relative high 16 bit */ +#define R_TILEPRO_IMM16_X1_HI_PCREL 36 /* X1 pipe PC relative high 16 bit */ +#define R_TILEPRO_IMM16_X0_HA_PCREL 37 /* X0 pipe PC relative ha() 16 bit */ +#define R_TILEPRO_IMM16_X1_HA_PCREL 38 /* X1 pipe PC relative ha() 16 bit */ +#define R_TILEPRO_IMM16_X0_GOT 39 /* X0 pipe 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X1_GOT 40 /* X1 pipe 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X0_GOT_LO 41 /* X0 pipe low 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X1_GOT_LO 42 /* X1 pipe low 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X0_GOT_HI 43 /* X0 pipe high 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X1_GOT_HI 44 /* X1 pipe high 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X0_GOT_HA 45 /* X0 pipe ha() 16-bit GOT offset */ +#define R_TILEPRO_IMM16_X1_GOT_HA 46 /* X1 pipe ha() 16-bit GOT offset */ +#define R_TILEPRO_MMSTART_X0 47 /* X0 pipe mm "start" */ +#define R_TILEPRO_MMEND_X0 48 /* X0 pipe mm "end" */ +#define R_TILEPRO_MMSTART_X1 49 /* X1 pipe mm "start" */ +#define R_TILEPRO_MMEND_X1 50 /* X1 pipe mm "end" */ +#define R_TILEPRO_SHAMT_X0 51 /* X0 pipe shift amount */ +#define R_TILEPRO_SHAMT_X1 52 /* X1 pipe shift amount */ +#define R_TILEPRO_SHAMT_Y0 53 /* Y0 pipe shift amount */ +#define R_TILEPRO_SHAMT_Y1 54 /* Y1 pipe shift amount */ +#define R_TILEPRO_DEST_IMM8_X1 55 /* X1 pipe destination 8-bit */ +/* Relocs 56-59 are currently not defined. */ +#define R_TILEPRO_TLS_GD_CALL 60 /* "jal" for TLS GD */ +#define R_TILEPRO_IMM8_X0_TLS_GD_ADD 61 /* X0 pipe "addi" for TLS GD */ +#define R_TILEPRO_IMM8_X1_TLS_GD_ADD 62 /* X1 pipe "addi" for TLS GD */ +#define R_TILEPRO_IMM8_Y0_TLS_GD_ADD 63 /* Y0 pipe "addi" for TLS GD */ +#define R_TILEPRO_IMM8_Y1_TLS_GD_ADD 64 /* Y1 pipe "addi" for TLS GD */ +#define R_TILEPRO_TLS_IE_LOAD 65 /* "lw_tls" for TLS IE */ +#define R_TILEPRO_IMM16_X0_TLS_GD 66 /* X0 pipe 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X1_TLS_GD 67 /* X1 pipe 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X0_TLS_GD_LO 68 /* X0 pipe low 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X1_TLS_GD_LO 69 /* X1 pipe low 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X0_TLS_GD_HI 70 /* X0 pipe high 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X1_TLS_GD_HI 71 /* X1 pipe high 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X0_TLS_GD_HA 72 /* X0 pipe ha() 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X1_TLS_GD_HA 73 /* X1 pipe ha() 16-bit TLS GD offset */ +#define R_TILEPRO_IMM16_X0_TLS_IE 74 /* X0 pipe 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X1_TLS_IE 75 /* X1 pipe 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X0_TLS_IE_LO 76 /* X0 pipe low 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X1_TLS_IE_LO 77 /* X1 pipe low 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X0_TLS_IE_HI 78 /* X0 pipe high 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X1_TLS_IE_HI 79 /* X1 pipe high 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X0_TLS_IE_HA 80 /* X0 pipe ha() 16-bit TLS IE offset */ +#define R_TILEPRO_IMM16_X1_TLS_IE_HA 81 /* X1 pipe ha() 16-bit TLS IE offset */ +#define R_TILEPRO_TLS_DTPMOD32 82 /* ID of module containing symbol */ +#define R_TILEPRO_TLS_DTPOFF32 83 /* Offset in TLS block */ +#define R_TILEPRO_TLS_TPOFF32 84 /* Offset in static TLS block */ +#define R_TILEPRO_IMM16_X0_TLS_LE 85 /* X0 pipe 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X1_TLS_LE 86 /* X1 pipe 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X0_TLS_LE_LO 87 /* X0 pipe low 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X1_TLS_LE_LO 88 /* X1 pipe low 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X0_TLS_LE_HI 89 /* X0 pipe high 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X1_TLS_LE_HI 90 /* X1 pipe high 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X0_TLS_LE_HA 91 /* X0 pipe ha() 16-bit TLS LE offset */ +#define R_TILEPRO_IMM16_X1_TLS_LE_HA 92 /* X1 pipe ha() 16-bit TLS LE offset */ + +#define R_TILEPRO_GNU_VTINHERIT 128 /* GNU C++ vtable hierarchy */ +#define R_TILEPRO_GNU_VTENTRY 129 /* GNU C++ vtable member usage */ + +#define R_TILEPRO_NUM 130 + + +/* TILE-Gx relocations. */ +#define R_TILEGX_NONE 0 /* No reloc */ +#define R_TILEGX_64 1 /* Direct 64 bit */ +#define R_TILEGX_32 2 /* Direct 32 bit */ +#define R_TILEGX_16 3 /* Direct 16 bit */ +#define R_TILEGX_8 4 /* Direct 8 bit */ +#define R_TILEGX_64_PCREL 5 /* PC relative 64 bit */ +#define R_TILEGX_32_PCREL 6 /* PC relative 32 bit */ +#define R_TILEGX_16_PCREL 7 /* PC relative 16 bit */ +#define R_TILEGX_8_PCREL 8 /* PC relative 8 bit */ +#define R_TILEGX_HW0 9 /* hword 0 16-bit */ +#define R_TILEGX_HW1 10 /* hword 1 16-bit */ +#define R_TILEGX_HW2 11 /* hword 2 16-bit */ +#define R_TILEGX_HW3 12 /* hword 3 16-bit */ +#define R_TILEGX_HW0_LAST 13 /* last hword 0 16-bit */ +#define R_TILEGX_HW1_LAST 14 /* last hword 1 16-bit */ +#define R_TILEGX_HW2_LAST 15 /* last hword 2 16-bit */ +#define R_TILEGX_COPY 16 /* Copy relocation */ +#define R_TILEGX_GLOB_DAT 17 /* Create GOT entry */ +#define R_TILEGX_JMP_SLOT 18 /* Create PLT entry */ +#define R_TILEGX_RELATIVE 19 /* Adjust by program base */ +#define R_TILEGX_BROFF_X1 20 /* X1 pipe branch offset */ +#define R_TILEGX_JUMPOFF_X1 21 /* X1 pipe jump offset */ +#define R_TILEGX_JUMPOFF_X1_PLT 22 /* X1 pipe jump offset to PLT */ +#define R_TILEGX_IMM8_X0 23 /* X0 pipe 8-bit */ +#define R_TILEGX_IMM8_Y0 24 /* Y0 pipe 8-bit */ +#define R_TILEGX_IMM8_X1 25 /* X1 pipe 8-bit */ +#define R_TILEGX_IMM8_Y1 26 /* Y1 pipe 8-bit */ +#define R_TILEGX_DEST_IMM8_X1 27 /* X1 pipe destination 8-bit */ +#define R_TILEGX_MT_IMM14_X1 28 /* X1 pipe mtspr */ +#define R_TILEGX_MF_IMM14_X1 29 /* X1 pipe mfspr */ +#define R_TILEGX_MMSTART_X0 30 /* X0 pipe mm "start" */ +#define R_TILEGX_MMEND_X0 31 /* X0 pipe mm "end" */ +#define R_TILEGX_SHAMT_X0 32 /* X0 pipe shift amount */ +#define R_TILEGX_SHAMT_X1 33 /* X1 pipe shift amount */ +#define R_TILEGX_SHAMT_Y0 34 /* Y0 pipe shift amount */ +#define R_TILEGX_SHAMT_Y1 35 /* Y1 pipe shift amount */ +#define R_TILEGX_IMM16_X0_HW0 36 /* X0 pipe hword 0 */ +#define R_TILEGX_IMM16_X1_HW0 37 /* X1 pipe hword 0 */ +#define R_TILEGX_IMM16_X0_HW1 38 /* X0 pipe hword 1 */ +#define R_TILEGX_IMM16_X1_HW1 39 /* X1 pipe hword 1 */ +#define R_TILEGX_IMM16_X0_HW2 40 /* X0 pipe hword 2 */ +#define R_TILEGX_IMM16_X1_HW2 41 /* X1 pipe hword 2 */ +#define R_TILEGX_IMM16_X0_HW3 42 /* X0 pipe hword 3 */ +#define R_TILEGX_IMM16_X1_HW3 43 /* X1 pipe hword 3 */ +#define R_TILEGX_IMM16_X0_HW0_LAST 44 /* X0 pipe last hword 0 */ +#define R_TILEGX_IMM16_X1_HW0_LAST 45 /* X1 pipe last hword 0 */ +#define R_TILEGX_IMM16_X0_HW1_LAST 46 /* X0 pipe last hword 1 */ +#define R_TILEGX_IMM16_X1_HW1_LAST 47 /* X1 pipe last hword 1 */ +#define R_TILEGX_IMM16_X0_HW2_LAST 48 /* X0 pipe last hword 2 */ +#define R_TILEGX_IMM16_X1_HW2_LAST 49 /* X1 pipe last hword 2 */ +#define R_TILEGX_IMM16_X0_HW0_PCREL 50 /* X0 pipe PC relative hword 0 */ +#define R_TILEGX_IMM16_X1_HW0_PCREL 51 /* X1 pipe PC relative hword 0 */ +#define R_TILEGX_IMM16_X0_HW1_PCREL 52 /* X0 pipe PC relative hword 1 */ +#define R_TILEGX_IMM16_X1_HW1_PCREL 53 /* X1 pipe PC relative hword 1 */ +#define R_TILEGX_IMM16_X0_HW2_PCREL 54 /* X0 pipe PC relative hword 2 */ +#define R_TILEGX_IMM16_X1_HW2_PCREL 55 /* X1 pipe PC relative hword 2 */ +#define R_TILEGX_IMM16_X0_HW3_PCREL 56 /* X0 pipe PC relative hword 3 */ +#define R_TILEGX_IMM16_X1_HW3_PCREL 57 /* X1 pipe PC relative hword 3 */ +#define R_TILEGX_IMM16_X0_HW0_LAST_PCREL 58 /* X0 pipe PC-rel last hword 0 */ +#define R_TILEGX_IMM16_X1_HW0_LAST_PCREL 59 /* X1 pipe PC-rel last hword 0 */ +#define R_TILEGX_IMM16_X0_HW1_LAST_PCREL 60 /* X0 pipe PC-rel last hword 1 */ +#define R_TILEGX_IMM16_X1_HW1_LAST_PCREL 61 /* X1 pipe PC-rel last hword 1 */ +#define R_TILEGX_IMM16_X0_HW2_LAST_PCREL 62 /* X0 pipe PC-rel last hword 2 */ +#define R_TILEGX_IMM16_X1_HW2_LAST_PCREL 63 /* X1 pipe PC-rel last hword 2 */ +#define R_TILEGX_IMM16_X0_HW0_GOT 64 /* X0 pipe hword 0 GOT offset */ +#define R_TILEGX_IMM16_X1_HW0_GOT 65 /* X1 pipe hword 0 GOT offset */ +#define R_TILEGX_IMM16_X0_HW0_PLT_PCREL 66 /* X0 pipe PC-rel PLT hword 0 */ +#define R_TILEGX_IMM16_X1_HW0_PLT_PCREL 67 /* X1 pipe PC-rel PLT hword 0 */ +#define R_TILEGX_IMM16_X0_HW1_PLT_PCREL 68 /* X0 pipe PC-rel PLT hword 1 */ +#define R_TILEGX_IMM16_X1_HW1_PLT_PCREL 69 /* X1 pipe PC-rel PLT hword 1 */ +#define R_TILEGX_IMM16_X0_HW2_PLT_PCREL 70 /* X0 pipe PC-rel PLT hword 2 */ +#define R_TILEGX_IMM16_X1_HW2_PLT_PCREL 71 /* X1 pipe PC-rel PLT hword 2 */ +#define R_TILEGX_IMM16_X0_HW0_LAST_GOT 72 /* X0 pipe last hword 0 GOT offset */ +#define R_TILEGX_IMM16_X1_HW0_LAST_GOT 73 /* X1 pipe last hword 0 GOT offset */ +#define R_TILEGX_IMM16_X0_HW1_LAST_GOT 74 /* X0 pipe last hword 1 GOT offset */ +#define R_TILEGX_IMM16_X1_HW1_LAST_GOT 75 /* X1 pipe last hword 1 GOT offset */ +#define R_TILEGX_IMM16_X0_HW3_PLT_PCREL 76 /* X0 pipe PC-rel PLT hword 3 */ +#define R_TILEGX_IMM16_X1_HW3_PLT_PCREL 77 /* X1 pipe PC-rel PLT hword 3 */ +#define R_TILEGX_IMM16_X0_HW0_TLS_GD 78 /* X0 pipe hword 0 TLS GD offset */ +#define R_TILEGX_IMM16_X1_HW0_TLS_GD 79 /* X1 pipe hword 0 TLS GD offset */ +#define R_TILEGX_IMM16_X0_HW0_TLS_LE 80 /* X0 pipe hword 0 TLS LE offset */ +#define R_TILEGX_IMM16_X1_HW0_TLS_LE 81 /* X1 pipe hword 0 TLS LE offset */ +#define R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE 82 /* X0 pipe last hword 0 LE off */ +#define R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE 83 /* X1 pipe last hword 0 LE off */ +#define R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE 84 /* X0 pipe last hword 1 LE off */ +#define R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE 85 /* X1 pipe last hword 1 LE off */ +#define R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD 86 /* X0 pipe last hword 0 GD off */ +#define R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD 87 /* X1 pipe last hword 0 GD off */ +#define R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD 88 /* X0 pipe last hword 1 GD off */ +#define R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD 89 /* X1 pipe last hword 1 GD off */ +/* Relocs 90-91 are currently not defined. */ +#define R_TILEGX_IMM16_X0_HW0_TLS_IE 92 /* X0 pipe hword 0 TLS IE offset */ +#define R_TILEGX_IMM16_X1_HW0_TLS_IE 93 /* X1 pipe hword 0 TLS IE offset */ +#define R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL 94 /* X0 pipe PC-rel PLT last hword 0 */ +#define R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL 95 /* X1 pipe PC-rel PLT last hword 0 */ +#define R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL 96 /* X0 pipe PC-rel PLT last hword 1 */ +#define R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL 97 /* X1 pipe PC-rel PLT last hword 1 */ +#define R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL 98 /* X0 pipe PC-rel PLT last hword 2 */ +#define R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL 99 /* X1 pipe PC-rel PLT last hword 2 */ +#define R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE 100 /* X0 pipe last hword 0 IE off */ +#define R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE 101 /* X1 pipe last hword 0 IE off */ +#define R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE 102 /* X0 pipe last hword 1 IE off */ +#define R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE 103 /* X1 pipe last hword 1 IE off */ +/* Relocs 104-105 are currently not defined. */ +#define R_TILEGX_TLS_DTPMOD64 106 /* 64-bit ID of symbol's module */ +#define R_TILEGX_TLS_DTPOFF64 107 /* 64-bit offset in TLS block */ +#define R_TILEGX_TLS_TPOFF64 108 /* 64-bit offset in static TLS block */ +#define R_TILEGX_TLS_DTPMOD32 109 /* 32-bit ID of symbol's module */ +#define R_TILEGX_TLS_DTPOFF32 110 /* 32-bit offset in TLS block */ +#define R_TILEGX_TLS_TPOFF32 111 /* 32-bit offset in static TLS block */ +#define R_TILEGX_TLS_GD_CALL 112 /* "jal" for TLS GD */ +#define R_TILEGX_IMM8_X0_TLS_GD_ADD 113 /* X0 pipe "addi" for TLS GD */ +#define R_TILEGX_IMM8_X1_TLS_GD_ADD 114 /* X1 pipe "addi" for TLS GD */ +#define R_TILEGX_IMM8_Y0_TLS_GD_ADD 115 /* Y0 pipe "addi" for TLS GD */ +#define R_TILEGX_IMM8_Y1_TLS_GD_ADD 116 /* Y1 pipe "addi" for TLS GD */ +#define R_TILEGX_TLS_IE_LOAD 117 /* "ld_tls" for TLS IE */ +#define R_TILEGX_IMM8_X0_TLS_ADD 118 /* X0 pipe "addi" for TLS GD/IE */ +#define R_TILEGX_IMM8_X1_TLS_ADD 119 /* X1 pipe "addi" for TLS GD/IE */ +#define R_TILEGX_IMM8_Y0_TLS_ADD 120 /* Y0 pipe "addi" for TLS GD/IE */ +#define R_TILEGX_IMM8_Y1_TLS_ADD 121 /* Y1 pipe "addi" for TLS GD/IE */ + +#define R_TILEGX_GNU_VTINHERIT 128 /* GNU C++ vtable hierarchy */ +#define R_TILEGX_GNU_VTENTRY 129 /* GNU C++ vtable member usage */ + +#define R_TILEGX_NUM 130 + +/* RISC-V ELF Flags */ +#define EF_RISCV_RVC 0x0001 +#define EF_RISCV_FLOAT_ABI 0x0006 +#define EF_RISCV_FLOAT_ABI_SOFT 0x0000 +#define EF_RISCV_FLOAT_ABI_SINGLE 0x0002 +#define EF_RISCV_FLOAT_ABI_DOUBLE 0x0004 +#define EF_RISCV_FLOAT_ABI_QUAD 0x0006 +#define EF_RISCV_RVE 0x0008 +#define EF_RISCV_TSO 0x0010 + +/* RISC-V relocations. */ +#define R_RISCV_NONE 0 +#define R_RISCV_32 1 +#define R_RISCV_64 2 +#define R_RISCV_RELATIVE 3 +#define R_RISCV_COPY 4 +#define R_RISCV_JUMP_SLOT 5 +#define R_RISCV_TLS_DTPMOD32 6 +#define R_RISCV_TLS_DTPMOD64 7 +#define R_RISCV_TLS_DTPREL32 8 +#define R_RISCV_TLS_DTPREL64 9 +#define R_RISCV_TLS_TPREL32 10 +#define R_RISCV_TLS_TPREL64 11 +#define R_RISCV_BRANCH 16 +#define R_RISCV_JAL 17 +#define R_RISCV_CALL 18 +#define R_RISCV_CALL_PLT 19 +#define R_RISCV_GOT_HI20 20 +#define R_RISCV_TLS_GOT_HI20 21 +#define R_RISCV_TLS_GD_HI20 22 +#define R_RISCV_PCREL_HI20 23 +#define R_RISCV_PCREL_LO12_I 24 +#define R_RISCV_PCREL_LO12_S 25 +#define R_RISCV_HI20 26 +#define R_RISCV_LO12_I 27 +#define R_RISCV_LO12_S 28 +#define R_RISCV_TPREL_HI20 29 +#define R_RISCV_TPREL_LO12_I 30 +#define R_RISCV_TPREL_LO12_S 31 +#define R_RISCV_TPREL_ADD 32 +#define R_RISCV_ADD8 33 +#define R_RISCV_ADD16 34 +#define R_RISCV_ADD32 35 +#define R_RISCV_ADD64 36 +#define R_RISCV_SUB8 37 +#define R_RISCV_SUB16 38 +#define R_RISCV_SUB32 39 +#define R_RISCV_SUB64 40 +#define R_RISCV_GNU_VTINHERIT 41 +#define R_RISCV_GNU_VTENTRY 42 +#define R_RISCV_ALIGN 43 +#define R_RISCV_RVC_BRANCH 44 +#define R_RISCV_RVC_JUMP 45 +#define R_RISCV_RVC_LUI 46 +#define R_RISCV_GPREL_I 47 +#define R_RISCV_GPREL_S 48 +#define R_RISCV_TPREL_I 49 +#define R_RISCV_TPREL_S 50 +#define R_RISCV_RELAX 51 +#define R_RISCV_SUB6 52 +#define R_RISCV_SET6 53 +#define R_RISCV_SET8 54 +#define R_RISCV_SET16 55 +#define R_RISCV_SET32 56 +#define R_RISCV_32_PCREL 57 +#define R_RISCV_IRELATIVE 58 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 + +#define R_RISCV_NUM 62 + +/* RISC-V specific values for the st_other field. */ +#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling + convention */ + +/* RISC-V specific values for the sh_type field. */ +#define SHT_RISCV_ATTRIBUTES (SHT_LOPROC + 3) + +/* RISC-V specific values for the p_type field. */ +#define PT_RISCV_ATTRIBUTES (PT_LOPROC + 3) + +/* RISC-V specific values for the d_tag field. */ +#define DT_RISCV_VARIANT_CC (DT_LOPROC + 1) + +/* BPF specific declarations. */ + +#define R_BPF_NONE 0 /* No reloc */ +#define R_BPF_64_64 1 +#define R_BPF_64_32 10 + +/* Imagination Meta specific relocations. */ + +#define R_METAG_HIADDR16 0 +#define R_METAG_LOADDR16 1 +#define R_METAG_ADDR32 2 /* 32bit absolute address */ +#define R_METAG_NONE 3 /* No reloc */ +#define R_METAG_RELBRANCH 4 +#define R_METAG_GETSETOFF 5 + +/* Backward compatibility */ +#define R_METAG_REG32OP1 6 +#define R_METAG_REG32OP2 7 +#define R_METAG_REG32OP3 8 +#define R_METAG_REG16OP1 9 +#define R_METAG_REG16OP2 10 +#define R_METAG_REG16OP3 11 +#define R_METAG_REG32OP4 12 + +#define R_METAG_HIOG 13 +#define R_METAG_LOOG 14 + +#define R_METAG_REL8 15 +#define R_METAG_REL16 16 + +/* GNU */ +#define R_METAG_GNU_VTINHERIT 30 +#define R_METAG_GNU_VTENTRY 31 + +/* PIC relocations */ +#define R_METAG_HI16_GOTOFF 32 +#define R_METAG_LO16_GOTOFF 33 +#define R_METAG_GETSET_GOTOFF 34 +#define R_METAG_GETSET_GOT 35 +#define R_METAG_HI16_GOTPC 36 +#define R_METAG_LO16_GOTPC 37 +#define R_METAG_HI16_PLT 38 +#define R_METAG_LO16_PLT 39 +#define R_METAG_RELBRANCH_PLT 40 +#define R_METAG_GOTOFF 41 +#define R_METAG_PLT 42 +#define R_METAG_COPY 43 +#define R_METAG_JMP_SLOT 44 +#define R_METAG_RELATIVE 45 +#define R_METAG_GLOB_DAT 46 + +/* TLS relocations */ +#define R_METAG_TLS_GD 47 +#define R_METAG_TLS_LDM 48 +#define R_METAG_TLS_LDO_HI16 49 +#define R_METAG_TLS_LDO_LO16 50 +#define R_METAG_TLS_LDO 51 +#define R_METAG_TLS_IE 52 +#define R_METAG_TLS_IENONPIC 53 +#define R_METAG_TLS_IENONPIC_HI16 54 +#define R_METAG_TLS_IENONPIC_LO16 55 +#define R_METAG_TLS_TPOFF 56 +#define R_METAG_TLS_DTPMOD 57 +#define R_METAG_TLS_DTPOFF 58 +#define R_METAG_TLS_LE 59 +#define R_METAG_TLS_LE_HI16 60 +#define R_METAG_TLS_LE_LO16 61 + +/* NDS32 relocations. */ +#define R_NDS32_NONE 0 +#define R_NDS32_32_RELA 20 +#define R_NDS32_COPY 39 +#define R_NDS32_GLOB_DAT 40 +#define R_NDS32_JMP_SLOT 41 +#define R_NDS32_RELATIVE 42 +#define R_NDS32_TLS_TPOFF 102 +#define R_NDS32_TLS_DESC 119 + +/* LoongArch ELF Flags */ +#define EF_LARCH_ABI_MODIFIER_MASK 0x07 +#define EF_LARCH_ABI_SOFT_FLOAT 0x01 +#define EF_LARCH_ABI_SINGLE_FLOAT 0x02 +#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03 +#define EF_LARCH_OBJABI_V1 0x40 + +/* LoongArch specific dynamic relocations */ +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 +#define R_LARCH_TLS_DESC32 13 +#define R_LARCH_TLS_DESC64 14 + +/* Reserved for future relocs that the dynamic linker must understand. */ + +/* used by the static linker for relocating .text. */ +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 + +/* used by the static linker for relocating non .text. */ +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 + +/* reserved 59-63 */ + +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 +#define R_LARCH_DELETE 101 +#define R_LARCH_ALIGN 102 +#define R_LARCH_PCREL20_S2 103 +#define R_LARCH_CFA 104 +#define R_LARCH_ADD6 105 +#define R_LARCH_SUB6 106 +#define R_LARCH_ADD_ULEB128 107 +#define R_LARCH_SUB_ULEB128 108 +#define R_LARCH_64_PCREL 109 +#define R_LARCH_CALL36 110 +#define R_LARCH_TLS_DESC_PC_HI20 111 +#define R_LARCH_TLS_DESC_PC_LO12 112 +#define R_LARCH_TLS_DESC64_PC_LO20 113 +#define R_LARCH_TLS_DESC64_PC_HI12 114 +#define R_LARCH_TLS_DESC_HI20 115 +#define R_LARCH_TLS_DESC_LO12 116 +#define R_LARCH_TLS_DESC64_LO20 117 +#define R_LARCH_TLS_DESC64_HI12 118 +#define R_LARCH_TLS_DESC_LD 119 +#define R_LARCH_TLS_DESC_CALL 120 +#define R_LARCH_TLS_LE_HI20_R 121 +#define R_LARCH_TLS_LE_ADD_R 122 +#define R_LARCH_TLS_LE_LO12_R 123 +#define R_LARCH_TLS_LD_PCREL20_S2 124 +#define R_LARCH_TLS_GD_PCREL20_S2 125 +#define R_LARCH_TLS_DESC_PCREL20_S2 126 + +/* ARC specific declarations. */ + +/* Processor specific flags for the Ehdr e_flags field. */ +#define EF_ARC_MACH_MSK 0x000000ff +#define EF_ARC_OSABI_MSK 0x00000f00 +#define EF_ARC_ALL_MSK (EF_ARC_MACH_MSK | EF_ARC_OSABI_MSK) + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARC_ATTRIBUTES (SHT_LOPROC + 1) /* ARC attributes section. */ + +/* ARCompact/ARCv2 specific relocs. */ +#define R_ARC_NONE 0x0 +#define R_ARC_8 0x1 +#define R_ARC_16 0x2 +#define R_ARC_24 0x3 +#define R_ARC_32 0x4 + +#define R_ARC_B22_PCREL 0x6 +#define R_ARC_H30 0x7 +#define R_ARC_N8 0x8 +#define R_ARC_N16 0x9 +#define R_ARC_N24 0xA +#define R_ARC_N32 0xB +#define R_ARC_SDA 0xC +#define R_ARC_SECTOFF 0xD +#define R_ARC_S21H_PCREL 0xE +#define R_ARC_S21W_PCREL 0xF +#define R_ARC_S25H_PCREL 0x10 +#define R_ARC_S25W_PCREL 0x11 +#define R_ARC_SDA32 0x12 +#define R_ARC_SDA_LDST 0x13 +#define R_ARC_SDA_LDST1 0x14 +#define R_ARC_SDA_LDST2 0x15 +#define R_ARC_SDA16_LD 0x16 +#define R_ARC_SDA16_LD1 0x17 +#define R_ARC_SDA16_LD2 0x18 +#define R_ARC_S13_PCREL 0x19 +#define R_ARC_W 0x1A +#define R_ARC_32_ME 0x1B +#define R_ARC_N32_ME 0x1C +#define R_ARC_SECTOFF_ME 0x1D +#define R_ARC_SDA32_ME 0x1E +#define R_ARC_W_ME 0x1F +#define R_ARC_H30_ME 0x20 +#define R_ARC_SECTOFF_U8 0x21 +#define R_ARC_SECTOFF_S9 0x22 +#define R_AC_SECTOFF_U8 0x23 +#define R_AC_SECTOFF_U8_1 0x24 +#define R_AC_SECTOFF_U8_2 0x25 +#define R_AC_SECTOFF_S9 0x26 +#define R_AC_SECTOFF_S9_1 0x27 +#define R_AC_SECTOFF_S9_2 0x28 +#define R_ARC_SECTOFF_ME_1 0x29 +#define R_ARC_SECTOFF_ME_2 0x2A +#define R_ARC_SECTOFF_1 0x2B +#define R_ARC_SECTOFF_2 0x2C +#define R_ARC_SDA_12 0x2D +#define R_ARC_SDA16_ST2 0x30 +#define R_ARC_32_PCREL 0x31 +#define R_ARC_PC32 0x32 +#define R_ARC_GOTPC32 0x33 +#define R_ARC_PLT32 0x34 +#define R_ARC_COPY 0x35 +#define R_ARC_GLOB_DAT 0x36 +#define R_ARC_JMP_SLOT 0x37 +#define R_ARC_RELATIVE 0x38 +#define R_ARC_GOTOFF 0x39 +#define R_ARC_GOTPC 0x3A +#define R_ARC_GOT32 0x3B +#define R_ARC_S21W_PCREL_PLT 0x3C +#define R_ARC_S25H_PCREL_PLT 0x3D + +#define R_ARC_JLI_SECTOFF 0x3F + +#define R_ARC_TLS_DTPMOD 0x42 +#define R_ARC_TLS_DTPOFF 0x43 +#define R_ARC_TLS_TPOFF 0x44 +#define R_ARC_TLS_GD_GOT 0x45 +#define R_ARC_TLS_GD_LD 0x46 +#define R_ARC_TLS_GD_CALL 0x47 +#define R_ARC_TLS_IE_GOT 0x48 +#define R_ARC_TLS_DTPOFF_S9 0x49 +#define R_ARC_TLS_LE_S9 0x4A +#define R_ARC_TLS_LE_32 0x4B +#define R_ARC_S25W_PCREL_PLT 0x4C +#define R_ARC_S21H_PCREL_PLT 0x4D +#define R_ARC_NPS_CMEM16 0x4E + +/* OpenRISC 1000 specific relocs. */ +#define R_OR1K_NONE 0 +#define R_OR1K_32 1 +#define R_OR1K_16 2 +#define R_OR1K_8 3 +#define R_OR1K_LO_16_IN_INSN 4 +#define R_OR1K_HI_16_IN_INSN 5 +#define R_OR1K_INSN_REL_26 6 +#define R_OR1K_GNU_VTENTRY 7 +#define R_OR1K_GNU_VTINHERIT 8 +#define R_OR1K_32_PCREL 9 +#define R_OR1K_16_PCREL 10 +#define R_OR1K_8_PCREL 11 +#define R_OR1K_GOTPC_HI16 12 +#define R_OR1K_GOTPC_LO16 13 +#define R_OR1K_GOT16 14 +#define R_OR1K_PLT26 15 +#define R_OR1K_GOTOFF_HI16 16 +#define R_OR1K_GOTOFF_LO16 17 +#define R_OR1K_COPY 18 +#define R_OR1K_GLOB_DAT 19 +#define R_OR1K_JMP_SLOT 20 +#define R_OR1K_RELATIVE 21 +#define R_OR1K_TLS_GD_HI16 22 +#define R_OR1K_TLS_GD_LO16 23 +#define R_OR1K_TLS_LDM_HI16 24 +#define R_OR1K_TLS_LDM_LO16 25 +#define R_OR1K_TLS_LDO_HI16 26 +#define R_OR1K_TLS_LDO_LO16 27 +#define R_OR1K_TLS_IE_HI16 28 +#define R_OR1K_TLS_IE_LO16 29 +#define R_OR1K_TLS_LE_HI16 30 +#define R_OR1K_TLS_LE_LO16 31 +#define R_OR1K_TLS_TPOFF 32 +#define R_OR1K_TLS_DTPOFF 33 +#define R_OR1K_TLS_DTPMOD 34 + +#endif /* elf.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/endian.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/endian.h new file mode 100644 index 00000000..2636bb84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/endian.h @@ -0,0 +1,72 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ENDIAN_H +#define _ENDIAN_H 1 + +#include + +/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */ +#include + +#ifdef __USE_MISC +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# define BIG_ENDIAN __BIG_ENDIAN +# define PDP_ENDIAN __PDP_ENDIAN +# define BYTE_ORDER __BYTE_ORDER +#endif + +#if defined __USE_MISC && !defined __ASSEMBLER__ +/* Conversion interfaces. */ +# include +# include + +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define htobe16(x) __bswap_16 (x) +# define htole16(x) __uint16_identity (x) +# define be16toh(x) __bswap_16 (x) +# define le16toh(x) __uint16_identity (x) + +# define htobe32(x) __bswap_32 (x) +# define htole32(x) __uint32_identity (x) +# define be32toh(x) __bswap_32 (x) +# define le32toh(x) __uint32_identity (x) + +# define htobe64(x) __bswap_64 (x) +# define htole64(x) __uint64_identity (x) +# define be64toh(x) __bswap_64 (x) +# define le64toh(x) __uint64_identity (x) + +# else +# define htobe16(x) __uint16_identity (x) +# define htole16(x) __bswap_16 (x) +# define be16toh(x) __uint16_identity (x) +# define le16toh(x) __bswap_16 (x) + +# define htobe32(x) __uint32_identity (x) +# define htole32(x) __bswap_32 (x) +# define be32toh(x) __uint32_identity (x) +# define le32toh(x) __bswap_32 (x) + +# define htobe64(x) __uint64_identity (x) +# define htole64(x) __bswap_64 (x) +# define be64toh(x) __uint64_identity (x) +# define le64toh(x) __bswap_64 (x) +# endif +#endif + +#endif /* endian.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/envz.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/envz.h new file mode 100644 index 00000000..8e415b0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/envz.h @@ -0,0 +1,73 @@ +/* Routines for dealing with '\0' separated environment vectors + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ENVZ_H +#define _ENVZ_H 1 + +#include + +#include + +/* Envz's are argz's too, and should be created etc., using the same + routines. */ +#include + +__BEGIN_DECLS + +/* Returns a pointer to the entry in ENVZ for NAME, or 0 if there is none. */ +extern char *envz_entry (const char *__restrict __envz, size_t __envz_len, + const char *__restrict __name) + __THROW __attribute_pure__; + +/* Returns a pointer to the value portion of the entry in ENVZ for NAME, or 0 + if there is none. */ +extern char *envz_get (const char *__restrict __envz, size_t __envz_len, + const char *__restrict __name) + __THROW __attribute_pure__; + +/* Adds an entry for NAME with value VALUE to ENVZ & ENVZ_LEN. If an entry + with the same name already exists in ENVZ, it is removed. If VALUE is + NULL, then the new entry will a special null one, for which envz_get will + return NULL, although envz_entry will still return an entry; this is handy + because when merging with another envz, the null entry can override an + entry in the other one. Null entries can be removed with envz_strip (). */ +extern error_t envz_add (char **__restrict __envz, + size_t *__restrict __envz_len, + const char *__restrict __name, + const char *__restrict __value) __THROW; + +/* Adds each entry in ENVZ2 to ENVZ & ENVZ_LEN, as if with envz_add(). If + OVERRIDE is true, then values in ENVZ2 will supersede those with the same + name in ENV, otherwise not. */ +extern error_t envz_merge (char **__restrict __envz, + size_t *__restrict __envz_len, + const char *__restrict __envz2, + size_t __envz2_len, int __override) __THROW; + +/* Remove the entry for NAME from ENVZ & ENVZ_LEN, if any. */ +extern void envz_remove (char **__restrict __envz, + size_t *__restrict __envz_len, + const char *__restrict __name) __THROW; + +/* Remove null entries. */ +extern void envz_strip (char **__restrict __envz, + size_t *__restrict __envz_len) __THROW; + +__END_DECLS + +#endif /* envz.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/err.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/err.h new file mode 100644 index 00000000..fa7e1f09 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/err.h @@ -0,0 +1,62 @@ +/* 4.4BSD utility functions for error messages. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ERR_H +#define _ERR_H 1 + +#include + +#define __need___va_list +#include +#ifndef __GNUC_VA_LIST +# define __gnuc_va_list void * +#endif + +__BEGIN_DECLS + +/* Print "program: ", FORMAT, ": ", the standard error string for errno, + and a newline, on stderr. */ +extern void warn (const char *__format, ...) + __attribute__ ((__format__ (__printf__, 1, 2))) __COLD; +extern void vwarn (const char *__format, __gnuc_va_list) + __attribute__ ((__format__ (__printf__, 1, 0))) __COLD; + +/* Likewise, but without ": " and the standard error string. */ +extern void warnx (const char *__format, ...) + __attribute__ ((__format__ (__printf__, 1, 2))); +extern void vwarnx (const char *__format, __gnuc_va_list) + __attribute__ ((__format__ (__printf__, 1, 0))); + +/* Likewise, and then exit with STATUS. */ +extern void err (int __status, const char *__format, ...) + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; +extern void verr (int __status, const char *__format, __gnuc_va_list) + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; +extern void errx (int __status, const char *__format, ...) + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 3))) __COLD; +extern void verrx (int __status, const char *, __gnuc_va_list) + __attribute__ ((__noreturn__, __format__ (__printf__, 2, 0))) __COLD; + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +__END_DECLS + +#endif /* err.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/errno.h new file mode 100644 index 00000000..eeb7a227 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/errno.h @@ -0,0 +1,55 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.5 Errors + */ + +#ifndef _ERRNO_H +#define _ERRNO_H 1 + +#include + +/* The system-specific definitions of the E* constants, as macros. */ +#include + +/* When included from assembly language, this header only provides the + E* constants. */ +#ifndef __ASSEMBLER__ + +__BEGIN_DECLS + +/* The error code set by various library functions. */ +extern int *__errno_location (void) __THROW __attribute_const__; +# define errno (*__errno_location ()) + +# ifdef __USE_GNU + +/* The full and simple forms of the name with which the program was + invoked. These variables are set up automatically at startup based on + the value of argv[0]. */ +extern char *program_invocation_name; +extern char *program_invocation_short_name; + +#include + +# endif /* __USE_GNU */ + +__END_DECLS + +#endif /* !__ASSEMBLER__ */ +#endif /* errno.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/error.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/error.h new file mode 100644 index 00000000..47b57528 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/error.h @@ -0,0 +1,65 @@ +/* Declaration for error-reporting function + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ERROR_H +#define _ERROR_H 1 + +#include + + +__BEGIN_DECLS + +/* Print a message with `fprintf (stderr, FORMAT, ...)'; + if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM). + If STATUS is nonzero, terminate the program with `exit (STATUS)'. */ + +extern void error (int __status, int __errnum, const char *__format, ...) + __attribute__ ((__format__ (__printf__, 3, 4))) __COLD; + +extern void error_at_line (int __status, int __errnum, const char *__fname, + unsigned int __lineno, const char *__format, ...) + __attribute__ ((__format__ (__printf__, 5, 6))) __COLD; + +/* If NULL, error will flush stdout, then print on stderr the program + name, a colon and a space. Otherwise, error will call this + function without parameters instead. */ +extern void (*error_print_progname) (void); + +/* This variable is incremented each time `error' is called. */ +extern unsigned int error_message_count; + +/* Sometimes we want to have at most one error per line. This + variable controls whether this mode is selected or not. */ +extern int error_one_per_line; + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#else +/* Do not inline error and error_at_line when long double has the same + size of double, nor when long double reuses the float128 + implementation, because that would invalidate the redirections to the + compatibility functions. */ +# if defined __extern_always_inline && defined __va_arg_pack +# include +# endif +#endif + +__END_DECLS + +#endif /* error.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/execinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/execinfo.h new file mode 100644 index 00000000..13ee4402 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/execinfo.h @@ -0,0 +1,43 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _EXECINFO_H +#define _EXECINFO_H 1 + +#include + +__BEGIN_DECLS + +/* Store up to SIZE return address of the current program state in + ARRAY and return the exact number of values stored. */ +extern int backtrace (void **__array, int __size) __nonnull ((1)); + + +/* Return names of functions from the backtrace list in ARRAY in a newly + malloc()ed memory block. */ +extern char **backtrace_symbols (void *const *__array, int __size) + __THROW __nonnull ((1)); + + +/* This function is similar to backtrace_symbols() but it writes the result + immediately to a file. */ +extern void backtrace_symbols_fd (void *const *__array, int __size, int __fd) + __THROW __nonnull ((1)); + +__END_DECLS + +#endif /* execinfo.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fcntl.h new file mode 100644 index 00000000..117f1c36 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fcntl.h @@ -0,0 +1,354 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 6.5 File Control Operations + */ + +#ifndef _FCNTL_H +#define _FCNTL_H 1 + +#include + +/* This must be early so can define types winningly. */ +__BEGIN_DECLS + +/* Get __mode_t, __dev_t and __off_t .*/ +#include + +/* Get the definitions of O_*, F_*, FD_*: all the + numbers and flag bits for `open', `fcntl', et al. */ +#include + +/* Detect if open needs mode as a third argument (or for openat as a fourth + argument). */ +#ifdef __O_TMPFILE +# define __OPEN_NEEDS_MODE(oflag) \ + (((oflag) & O_CREAT) != 0 || ((oflag) & __O_TMPFILE) == __O_TMPFILE) +#else +# define __OPEN_NEEDS_MODE(oflag) (((oflag) & O_CREAT) != 0) +#endif + +/* POSIX.1-2001 specifies that these types are defined by . + Earlier POSIX standards permitted any type ending in `_t' to be defined + by any POSIX header, so we don't conditionalize the definitions here. */ +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +#endif + +#if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +#endif + +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +/* For XPG all symbols from should also be available. */ +#ifdef __USE_XOPEN2K8 +# include +#endif +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# include + +# define S_IFMT __S_IFMT +# define S_IFDIR __S_IFDIR +# define S_IFCHR __S_IFCHR +# define S_IFBLK __S_IFBLK +# define S_IFREG __S_IFREG +# ifdef __S_IFIFO +# define S_IFIFO __S_IFIFO +# endif +# ifdef __S_IFLNK +# define S_IFLNK __S_IFLNK +# endif +# if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) && defined __S_IFSOCK +# define S_IFSOCK __S_IFSOCK +# endif + +/* Protection bits. */ + +# define S_ISUID __S_ISUID /* Set user ID on execution. */ +# define S_ISGID __S_ISGID /* Set group ID on execution. */ + +# if defined __USE_MISC || defined __USE_XOPEN +/* Save swapped text after use (sticky bit). This is pretty well obsolete. */ +# define S_ISVTX __S_ISVTX +# endif + +# define S_IRUSR __S_IREAD /* Read by owner. */ +# define S_IWUSR __S_IWRITE /* Write by owner. */ +# define S_IXUSR __S_IEXEC /* Execute by owner. */ +/* Read, write, and execute by owner. */ +# define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) + +# define S_IRGRP (S_IRUSR >> 3) /* Read by group. */ +# define S_IWGRP (S_IWUSR >> 3) /* Write by group. */ +# define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */ +/* Read, write, and execute by group. */ +# define S_IRWXG (S_IRWXU >> 3) + +# define S_IROTH (S_IRGRP >> 3) /* Read by others. */ +# define S_IWOTH (S_IWGRP >> 3) /* Write by others. */ +# define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */ +/* Read, write, and execute by others. */ +# define S_IRWXO (S_IRWXG >> 3) +#endif + +#ifdef __USE_MISC +# ifndef R_OK /* Verbatim from . Ugh. */ +/* Values for the second argument to access. + These may be OR'd together. */ +# define R_OK 4 /* Test for read permission. */ +# define W_OK 2 /* Test for write permission. */ +# define X_OK 1 /* Test for execute permission. */ +# define F_OK 0 /* Test for existence. */ +# endif +#endif /* Use misc. */ + +/* XPG wants the following symbols. has the same definitions. */ +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Seek from end of file. */ +#endif /* XPG */ + +/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EACCESS + is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to + unlinkat. The two functions do completely different things and therefore, + the flags can be allowed to overlap. For example, passing AT_REMOVEDIR to + faccessat would be undefined behavior and thus treating it equivalent to + AT_EACCESS is valid undefined behavior. */ +#ifdef __USE_ATFILE +# define AT_FDCWD -100 /* Special value used to indicate + the *at functions should use the + current working directory. */ +# define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */ +# define AT_REMOVEDIR 0x200 /* Remove directory instead of + unlinking file. */ +# define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */ +# ifdef __USE_GNU +# define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount + traversal. */ +# define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname. */ +# define AT_STATX_SYNC_TYPE 0x6000 +# define AT_STATX_SYNC_AS_STAT 0x0000 +# define AT_STATX_FORCE_SYNC 0x2000 +# define AT_STATX_DONT_SYNC 0x4000 +# define AT_RECURSIVE 0x8000 /* Apply to the entire subtree. */ +# endif +# define AT_EACCESS 0x200 /* Test access permitted for + effective IDs, not real IDs. */ +#endif + + +/* fcntl was a simple symbol until glibc 2.27 inclusive. + * glibc 2.28 onwards converted it to a macro when compiled with + * USE_LARGEFILE64. */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 28) || __GLIBC__ > 2 +/* Do the file control operation described by CMD on FD. + The remaining arguments are interpreted depending on CMD. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME64_REDIRECTS +# ifndef __USE_FILE_OFFSET64 +extern int fcntl (int __fd, int __cmd, ...); +# else +# ifdef __REDIRECT +extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64); +# else +# define fcntl fcntl64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int fcntl64 (int __fd, int __cmd, ...); +# endif +#else /* __USE_TIME64_REDIRECTS */ +# ifdef __REDIRECT +extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), + __fcntl_time64); +extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...), + __fcntl_time64); +# else +extern int __fcntl_time64 (int __fd, int __request, ...) __THROW; +# define fcntl64 __fcntl_time64 +# define fcntl __fcntl_time64 +# endif +#endif +#else /* glibc 2.27 or lower */ +extern int fcntl (int __fd, int __cmd, ...); +#endif + +/* Open FILE and return a new file descriptor for it, or -1 on error. + OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set + in OFLAG, the third argument is taken as a `mode_t', the mode of the + created file. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern int open (const char *__file, int __oflag, ...) __nonnull ((1)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (open, (const char *__file, int __oflag, ...), open64) + __nonnull ((1)); +# else +# define open open64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int open64 (const char *__file, int __oflag, ...) __nonnull ((1)); +#endif + +#ifdef __USE_ATFILE +/* Similar to `open' but a relative path name is interpreted relative to + the directory for which FD is a descriptor. + + NOTE: some other `openat' implementation support additional functionality + through this interface, especially using the O_XATTR flag. This is not + yet supported here. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int openat (int __fd, const char *__file, int __oflag, ...) + __nonnull ((2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (openat, (int __fd, const char *__file, int __oflag, + ...), openat64) __nonnull ((2)); +# else +# define openat openat64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int openat64 (int __fd, const char *__file, int __oflag, ...) + __nonnull ((2)); +# endif +#endif + +/* Create and open FILE, with mode MODE. This takes an `int' MODE + argument because that is what `mode_t' will be widened to. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern int creat (const char *__file, mode_t __mode) __nonnull ((1)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (creat, (const char *__file, mode_t __mode), + creat64) __nonnull ((1)); +# else +# define creat creat64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int creat64 (const char *__file, mode_t __mode) __nonnull ((1)); +#endif + +#if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \ + && !defined __USE_POSIX)) +/* NOTE: These declarations also appear in ; be sure to keep both + files consistent. Some systems have them there and some here, and some + software depends on the macros being defined without including both. */ + +/* `lockf' is a simpler interface to the locking facilities of `fcntl'. + LEN is always relative to the current file position. + The CMD argument is one of the following. */ + +# define F_ULOCK 0 /* Unlock a previously locked region. */ +# define F_LOCK 1 /* Lock a region for exclusive use. */ +# define F_TLOCK 2 /* Test and lock a region for exclusive use. */ +# define F_TEST 3 /* Test a region for other processes locks. */ + +# ifndef __USE_FILE_OFFSET64 +extern int lockf (int __fd, int __cmd, off_t __len); +# else +# ifdef __REDIRECT +extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64); +# else +# define lockf lockf64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int lockf64 (int __fd, int __cmd, off64_t __len); +# endif +#endif + +#ifdef __USE_XOPEN2K +/* Advice the system about the expected behaviour of the application with + respect to the file associated with FD. */ +# ifndef __USE_FILE_OFFSET64 +extern int posix_fadvise (int __fd, off_t __offset, off_t __len, + int __advise) __THROW; +# else + # ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset, + __off64_t __len, int __advise), + posix_fadvise64); +# else +# define posix_fadvise posix_fadvise64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len, + int __advise) __THROW; +# endif + + +/* Reserve storage for the data of the file associated with FD. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int posix_fallocate (int __fd, off_t __offset, off_t __len); +# else + # ifdef __REDIRECT +extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset, + __off64_t __len), + posix_fallocate64); +# else +# define posix_fallocate posix_fallocate64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len); +# endif +#endif + + +/* Define some inlines helping to catch common problems. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +__END_DECLS + +#endif /* fcntl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features-time64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features-time64.h new file mode 100644 index 00000000..5842168a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features-time64.h @@ -0,0 +1,42 @@ +/* Features part to handle 64-bit time_t support. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* We need to know the word size in order to check the time size. */ +#include +#include + +#if defined _TIME_BITS +# if _TIME_BITS == 64 +# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 +# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" +# endif +# define __USE_TIME_BITS64 1 +# elif _TIME_BITS == 32 +# if __TIMESIZE > 32 +# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" +# endif +# else +# error Invalid _TIME_BITS value (can only be 32 or 64-bit) +# endif +#elif __TIMESIZE == 64 +# define __USE_TIME_BITS64 1 +#endif + +#if defined __USE_TIME_BITS64 && __TIMESIZE == 32 +# define __USE_TIME64_REDIRECTS 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features.h new file mode 100644 index 00000000..7a830cdb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/features.h @@ -0,0 +1,567 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FEATURES_H +#define _FEATURES_H 1 + +/* These are defined by the user (or the compiler) + to specify the desired environment: + + __STRICT_ANSI__ ISO Standard C. + _ISOC99_SOURCE Extensions to ISO C89 from ISO C99. + _ISOC11_SOURCE Extensions to ISO C99 from ISO C11. + _ISOC23_SOURCE Extensions to ISO C99 from ISO C23. + _ISOC2X_SOURCE Old name for _ISOC23_SOURCE. + _ISOC2Y_SOURCE Extensions to ISO C23 from ISO C2Y. + __STDC_WANT_LIB_EXT2__ + Extensions to ISO C99 from TR 27431-2:2010. + __STDC_WANT_IEC_60559_BFP_EXT__ + Extensions to ISO C11 from TS 18661-1:2014. + __STDC_WANT_IEC_60559_FUNCS_EXT__ + Extensions to ISO C11 from TS 18661-4:2015. + __STDC_WANT_IEC_60559_TYPES_EXT__ + Extensions to ISO C11 from TS 18661-3:2015. + __STDC_WANT_IEC_60559_EXT__ + ISO C23 interfaces defined only in Annex F. + + _POSIX_SOURCE IEEE Std 1003.1. + _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; + if >=199309L, add IEEE Std 1003.1b-1993; + if >=199506L, add IEEE Std 1003.1c-1995; + if >=200112L, all of IEEE 1003.1-2004 + if >=200809L, all of IEEE 1003.1-2008 + _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if + Single Unix conformance is wanted, to 600 for the + sixth revision, to 700 for the seventh revision. + _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions. + _LARGEFILE_SOURCE Some more functions for correct standard I/O. + _LARGEFILE64_SOURCE Additional functionality from LFS for large files. + _FILE_OFFSET_BITS=N Select default filesystem interface. + _ATFILE_SOURCE Additional *at interfaces. + _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant) + MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. + _GNU_SOURCE All of the above, plus GNU extensions. + _DEFAULT_SOURCE The default set of features (taking precedence over + __STRICT_ANSI__). + + _FORTIFY_SOURCE Add security hardening to many library functions. + Set to 1, 2 or 3; 3 performs stricter checks than 2, which + performs stricter checks than 1. + + _REENTRANT, _THREAD_SAFE + Obsolete; equivalent to _POSIX_C_SOURCE=199506L. + + The `-ansi' switch to the GNU C compiler, and standards conformance + options such as `-std=c99', define __STRICT_ANSI__. If none of + these are defined, or if _DEFAULT_SOURCE is defined, the default is + to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to + 200809L, as well as enabling miscellaneous functions from BSD and + SVID. If more than one of these are defined, they accumulate. For + example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together + give you ISO C, 1003.1, and 1003.2, but nothing else. + + These are defined by this file and are used by the + header files to decide what to declare or define: + + __GLIBC_USE (F) Define things from feature set F. This is defined + to 1 or 0; the subsequent macros are either defined + or undefined, and those tests should be moved to + __GLIBC_USE. + __USE_ISOC11 Define ISO C11 things. + __USE_ISOC99 Define ISO C99 things. + __USE_ISOC95 Define ISO C90 AMD1 (C95) things. + __USE_ISOCXX11 Define ISO C++11 things. + __USE_POSIX Define IEEE Std 1003.1 things. + __USE_POSIX2 Define IEEE Std 1003.2 things. + __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things. + __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things. + __USE_XOPEN Define XPG things. + __USE_XOPEN_EXTENDED Define X/Open Unix things. + __USE_UNIX98 Define Single Unix V2 things. + __USE_XOPEN2K Define XPG6 things. + __USE_XOPEN2KXSI Define XPG6 XSI things. + __USE_XOPEN2K8 Define XPG7 things. + __USE_XOPEN2K8XSI Define XPG7 XSI things. + __USE_LARGEFILE Define correct standard I/O things. + __USE_LARGEFILE64 Define LFS things with separate names. + __USE_FILE_OFFSET64 Define 64bit interface as default. + __USE_MISC Define things from 4.3BSD or System V Unix. + __USE_ATFILE Define *at interfaces and AT_* constants for them. + __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant) + MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN. + __USE_GNU Define GNU extensions. + __USE_FORTIFY_LEVEL Additional security measures used, according to level. + + The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are + defined by this file unconditionally. `__GNU_LIBRARY__' is provided + only for compatibility. All new code should use the other symbols + to test for features. + + All macros listed above as possibly being defined by this file are + explicitly undefined if they are not explicitly defined. + Feature-test macros that are not defined by the user or compiler + but are implied by the other feature-test macros defined (or by the + lack of any definitions) are defined by the file. + + ISO C feature test macros depend on the definition of the macro + when an affected header is included, not when the first system + header is included, and so they are handled in + , which does not have a multiple include + guard. Feature test macros that can be handled from the first + system header included are handled here. */ + + +/* Undefine everything, so we get a clean slate. */ +#undef __USE_ISOC11 +#undef __USE_ISOC99 +#undef __USE_ISOC95 +#undef __USE_ISOCXX11 +#undef __USE_POSIX +#undef __USE_POSIX2 +#undef __USE_POSIX199309 +#undef __USE_POSIX199506 +#undef __USE_XOPEN +#undef __USE_XOPEN_EXTENDED +#undef __USE_UNIX98 +#undef __USE_XOPEN2K +#undef __USE_XOPEN2KXSI +#undef __USE_XOPEN2K8 +#undef __USE_XOPEN2K8XSI +#undef __USE_LARGEFILE +#undef __USE_LARGEFILE64 +#undef __USE_FILE_OFFSET64 +#undef __USE_MISC +#undef __USE_ATFILE +#undef __USE_DYNAMIC_STACK_SIZE +#undef __USE_GNU +#undef __USE_FORTIFY_LEVEL +#undef __KERNEL_STRICT_NAMES +#undef __GLIBC_USE_ISOC23 +#undef __GLIBC_USE_ISOC2Y +#undef __GLIBC_USE_DEPRECATED_GETS +#undef __GLIBC_USE_DEPRECATED_SCANF +#undef __GLIBC_USE_C23_STRTOL + +/* Suppress kernel-name space pollution unless user expressedly asks + for it. */ +#ifndef _LOOSE_KERNEL_NAMES +# define __KERNEL_STRICT_NAMES +#endif + +/* Major and minor version number of the GNU C library package. Use + these macros to test for features in specific releases. */ +#define __GLIBC__ 2 +/* Zig patch: we pass `-D__GLIBC_MINOR__=XX` depending on the target. */ + +#define __GLIBC_PREREQ(maj, min) \ + ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min)) + +/* Convenience macro to test the version of gcc. + Use like this: + #if __GNUC_PREREQ (2,8) + ... code requiring gcc 2.8 or later ... + #endif + Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was + added in 2.0. */ +#if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) \ + ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +#else +# define __GNUC_PREREQ(maj, min) 0 +#endif + +/* Similarly for clang. Features added to GCC after version 4.2 may + or may not also be available in clang, and clang's definitions of + __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such + features can be queried via __has_extension/__has_feature. */ +#if defined __clang_major__ && defined __clang_minor__ +# define __glibc_clang_prereq(maj, min) \ + ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min)) +#else +# define __glibc_clang_prereq(maj, min) 0 +#endif + +/* Whether to use feature set F. */ +#define __GLIBC_USE(F) __GLIBC_USE_ ## F + +/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for + _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not + issue a warning; the expectation is that the source is being + transitioned to use the new macro. */ +#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \ + && !defined _DEFAULT_SOURCE +# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE" +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +#endif + +/* Remap the old name _ISOC2X_SOURCE to _ISOC23_SOURCE. */ +#ifdef _ISOC2X_SOURCE +# undef _ISOC2X_SOURCE +# undef _ISOC23_SOURCE +# define _ISOC23_SOURCE 1 +#endif + +/* If _GNU_SOURCE was defined by the user, turn on all the other features. */ +#ifdef _GNU_SOURCE +# undef _ISOC95_SOURCE +# define _ISOC95_SOURCE 1 +# undef _ISOC99_SOURCE +# define _ISOC99_SOURCE 1 +# undef _ISOC11_SOURCE +# define _ISOC11_SOURCE 1 +# undef _ISOC23_SOURCE +# define _ISOC23_SOURCE 1 +# undef _ISOC2Y_SOURCE +# define _ISOC2Y_SOURCE 1 +# undef _POSIX_SOURCE +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200809L +# undef _XOPEN_SOURCE +# define _XOPEN_SOURCE 700 +# undef _XOPEN_SOURCE_EXTENDED +# define _XOPEN_SOURCE_EXTENDED 1 +# undef _LARGEFILE64_SOURCE +# define _LARGEFILE64_SOURCE 1 +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +# undef _ATFILE_SOURCE +# define _ATFILE_SOURCE 1 + +/* Zig patch */ +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 +# undef _DYNAMIC_STACK_SIZE_SOURCE +# define _DYNAMIC_STACK_SIZE_SOURCE 1 +# endif + +#endif + +/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined, + define _DEFAULT_SOURCE. */ +#if (defined _DEFAULT_SOURCE \ + || (!defined __STRICT_ANSI__ \ + && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \ + && !defined _ISOC23_SOURCE && !defined _ISOC2Y_SOURCE \ + && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \ + && !defined _XOPEN_SOURCE)) +# undef _DEFAULT_SOURCE +# define _DEFAULT_SOURCE 1 +#endif + +/* This is to enable the ISO C2Y extension. */ +#if (defined _ISOC2Y_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ > 202311L)) +# define __GLIBC_USE_ISOC2Y 1 +#else +# define __GLIBC_USE_ISOC2Y 0 +#endif + +/* This is to enable the ISO C23 extension. */ +#if (defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L)) +# define __GLIBC_USE_ISOC23 1 +#else +# define __GLIBC_USE_ISOC23 0 +#endif + +/* This is to enable the ISO C11 extension. */ +#if (defined _ISOC11_SOURCE || defined _ISOC23_SOURCE \ + || defined _ISOC2Y_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L)) +# define __USE_ISOC11 1 +#endif + +/* This is to enable the ISO C99 extension. */ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) +# define __USE_ISOC99 1 +#endif + +/* This is to enable the ISO C90 Amendment 1:1995 extension. */ +#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \ + || defined _ISOC23_SOURCE || defined _ISOC2Y_SOURCE \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L)) +# define __USE_ISOC95 1 +#endif + +#ifdef __cplusplus +/* This is to enable compatibility for ISO C++17. */ +# if __cplusplus >= 201703L +# define __USE_ISOC11 1 +# endif +/* This is to enable compatibility for ISO C++11. + Check the temporary macro for now, too. */ +# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__ +# define __USE_ISOCXX11 1 +# define __USE_ISOC99 1 +# endif +#endif + +/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE + is defined, use POSIX.1-2008 (or another version depending on + _XOPEN_SOURCE). */ +#ifdef _DEFAULT_SOURCE +# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE +# define __USE_POSIX_IMPLICITLY 1 +# endif +# undef _POSIX_SOURCE +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 200809L +#endif + +#if ((!defined __STRICT_ANSI__ \ + || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \ + && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE) +# define _POSIX_SOURCE 1 +# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 +# define _POSIX_C_SOURCE 2 +# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600 +# define _POSIX_C_SOURCE 199506L +# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700 +# define _POSIX_C_SOURCE 200112L +# else +# define _POSIX_C_SOURCE 200809L +# endif +# define __USE_POSIX_IMPLICITLY 1 +#endif + +/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be + defined in all multithreaded code. GNU libc has not required this + for many years. We now treat them as compatibility synonyms for + _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with + comprehensive support for multithreaded code. Using them never + lowers the selected level of POSIX conformance, only raises it. */ +#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \ + && (defined _REENTRANT || defined _THREAD_SAFE)) +# define _POSIX_SOURCE 1 +# undef _POSIX_C_SOURCE +# define _POSIX_C_SOURCE 199506L +#endif + +#if (defined _POSIX_SOURCE \ + || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \ + || defined _XOPEN_SOURCE) +# define __USE_POSIX 1 +#endif + +#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE +# define __USE_POSIX2 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L +# define __USE_POSIX199309 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L +# define __USE_POSIX199506 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L +# define __USE_XOPEN2K 1 +# undef __USE_ISOC95 +# define __USE_ISOC95 1 +# undef __USE_ISOC99 +# define __USE_ISOC99 1 +#endif + +#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L +# define __USE_XOPEN2K8 1 +# undef _ATFILE_SOURCE +# define _ATFILE_SOURCE 1 +#endif + +#ifdef _XOPEN_SOURCE +# define __USE_XOPEN 1 +# if (_XOPEN_SOURCE - 0) >= 500 +# define __USE_XOPEN_EXTENDED 1 +# define __USE_UNIX98 1 +# undef _LARGEFILE_SOURCE +# define _LARGEFILE_SOURCE 1 +# if (_XOPEN_SOURCE - 0) >= 600 +# if (_XOPEN_SOURCE - 0) >= 700 +# define __USE_XOPEN2K8 1 +# define __USE_XOPEN2K8XSI 1 +# endif +# define __USE_XOPEN2K 1 +# define __USE_XOPEN2KXSI 1 +# undef __USE_ISOC95 +# define __USE_ISOC95 1 +# undef __USE_ISOC99 +# define __USE_ISOC99 1 +# endif +# else +# ifdef _XOPEN_SOURCE_EXTENDED +# define __USE_XOPEN_EXTENDED 1 +# endif +# endif +#endif + +#ifdef _LARGEFILE_SOURCE +# define __USE_LARGEFILE 1 +#endif + +#ifdef _LARGEFILE64_SOURCE +# define __USE_LARGEFILE64 1 +#endif + +#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 +# define __USE_FILE_OFFSET64 1 +#endif + +#include + +#if defined _DEFAULT_SOURCE +# define __USE_MISC 1 +#endif + +#ifdef _ATFILE_SOURCE +# define __USE_ATFILE 1 +#endif + +#ifdef _DYNAMIC_STACK_SIZE_SOURCE +# define __USE_DYNAMIC_STACK_SIZE 1 +#endif + +#ifdef _GNU_SOURCE +# define __USE_GNU 1 +#endif + +#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 +# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0 +# warning _FORTIFY_SOURCE requires compiling with optimization (-O) +# elif !__GNUC_PREREQ (4, 1) +# warning _FORTIFY_SOURCE requires GCC 4.1 or later +# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) + +# if _FORTIFY_SOURCE > 3 +# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform +# endif +# define __USE_FORTIFY_LEVEL 3 +# elif _FORTIFY_SOURCE > 1 +# if _FORTIFY_SOURCE > 2 +# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform +# endif +# define __USE_FORTIFY_LEVEL 2 +# else +# define __USE_FORTIFY_LEVEL 1 +# endif +#endif +#ifndef __USE_FORTIFY_LEVEL +# define __USE_FORTIFY_LEVEL 0 +#endif + +/* The function 'gets' existed in C89, but is impossible to use + safely. It has been removed from ISO C11 and ISO C++14. Note: for + compatibility with various implementations of , this test + must consider only the value of __cplusplus when compiling C++. */ +#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11 +# define __GLIBC_USE_DEPRECATED_GETS 0 +#else +# define __GLIBC_USE_DEPRECATED_GETS 1 +#endif + +/* GNU formerly extended the scanf functions with modified format + specifiers %as, %aS, and %a[...] that allocate a buffer for the + input using malloc. This extension conflicts with ISO C99, which + defines %a as a standalone format specifier that reads a floating- + point number; moreover, POSIX.1-2008 provides the same feature + using the modifier letter 'm' instead (%ms, %mS, %m[...]). + + We now follow C99 unless GNU extensions are active and the compiler + is specifically in C89 or C++98 mode (strict or not). For + instance, with GCC, -std=gnu11 will have C99-compliant scanf with + or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the + old extension. */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) +/* support for ISOC99 was added in glibc-2.7 */ +# define __GLIBC_USE_DEPRECATED_SCANF 1 +#elif (defined __USE_GNU \ + && (defined __cplusplus \ + ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \ + : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L))) +# define __GLIBC_USE_DEPRECATED_SCANF 1 +#else +# define __GLIBC_USE_DEPRECATED_SCANF 0 +#endif + + +/* support for ISO C2X strtol was added in 2.38 + * glibc commit 64924422a99690d147a166b4de3103f3bf3eaf6c + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 38) || __GLIBC__ > 2 +/* ISO C23 added support for a 0b or 0B prefix on binary constants as + inputs to strtol-family functions (base 0 or 2). This macro is + used to condition redirection in headers to allow that redirection + to be disabled when building those functions, despite _GNU_SOURCE + being defined. */ +#if __GLIBC_USE (ISOC23) +# define __GLIBC_USE_C23_STRTOL 1 +#else +# define __GLIBC_USE_C23_STRTOL 0 +#endif +#else /* glibc 2.37 or lower */ +# define __GLIBC_USE_C23_STRTOL 0 +#endif + +/* Get definitions of __STDC_* predefined macros, if the compiler has + not preincluded this header automatically. */ +#include + +/* This macro indicates that the installed library is the GNU C Library. + For historic reasons the value now is 6 and this will stay from now + on. The use of this variable is deprecated. Use __GLIBC__ and + __GLIBC_MINOR__ now (see below) when you want to test for a specific + GNU C library version and use the values in to get + the sonames of the shared libraries. */ +#undef __GNU_LIBRARY__ +#define __GNU_LIBRARY__ 6 + +/* This is here only because every header file already includes this one. */ +#ifndef __ASSEMBLER__ +# ifndef _SYS_CDEFS_H +# include +# endif + +/* If we don't have __REDIRECT, prototypes will be missing if + __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */ +# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT +# define __USE_LARGEFILE 1 +# define __USE_LARGEFILE64 1 +# endif + +#endif /* !ASSEMBLER */ + +/* Decide whether we can define 'extern inline' functions in headers. */ +#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \ + && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \ + && defined __extern_inline +# define __USE_EXTERN_INLINES 1 +#endif + + +/* This is here only because every header file already includes this one. + Get the definitions of all the appropriate `__stub_FUNCTION' symbols. + contains `#define __stub_FUNCTION' when FUNCTION is a stub + that will always return failure (and set errno to ENOSYS). */ +#include + + +#endif /* features.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fenv.h new file mode 100644 index 00000000..5c9fc5d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fenv.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 7.6: Floating-point environment + */ + +#ifndef _FENV_H +#define _FENV_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Get the architecture dependent definitions. The following definitions + are expected to be done: + + fenv_t type for object representing an entire floating-point + environment + + FE_DFL_ENV macro of type pointer to fenv_t to be used as the argument + to functions taking an argument of type fenv_t; in this + case the default environment will be used + + fexcept_t type for object representing the floating-point exception + flags including status associated with the flags + + femode_t type for object representing floating-point control modes + + FE_DFL_MODE macro of type pointer to const femode_t to be used as the + argument to fesetmode; in this case the default control + modes will be used + + The following macros are defined iff the implementation supports this + kind of exception. + FE_INEXACT inexact result + FE_DIVBYZERO division by zero + FE_UNDERFLOW result not representable due to underflow + FE_OVERFLOW result not representable due to overflow + FE_INVALID invalid operation + + FE_ALL_EXCEPT bitwise OR of all supported exceptions + + The next macros are defined iff the appropriate rounding mode is + supported by the implementation. + FE_TONEAREST round to nearest + FE_UPWARD round toward +Inf + FE_DOWNWARD round toward -Inf + FE_TOWARDZERO round toward 0 +*/ +#include + +__BEGIN_DECLS + +/* Floating-point exception handling. */ + +/* Clear the supported exceptions represented by EXCEPTS. */ +extern int feclearexcept (int __excepts) __THROW; + +/* Store implementation-defined representation of the exception flags + indicated by EXCEPTS in the object pointed to by FLAGP. */ +extern int fegetexceptflag (fexcept_t *__flagp, int __excepts) __THROW; + +/* Raise the supported exceptions represented by EXCEPTS. */ +extern int feraiseexcept (int __excepts) __THROW; + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Set the supported exception flags represented by EXCEPTS, without + causing enabled traps to be taken. */ +extern int fesetexcept (int __excepts) __THROW; +#endif + +/* Set complete status for exceptions indicated by EXCEPTS according to + the representation in the object pointed to by FLAGP. */ +extern int fesetexceptflag (const fexcept_t *__flagp, int __excepts) __THROW; + +/* Determine which of subset of the exceptions specified by EXCEPTS are + currently set. */ +extern int fetestexcept (int __excepts) __THROW; + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Determine which of subset of the exceptions specified by EXCEPTS + are set in *FLAGP. */ +extern int fetestexceptflag (const fexcept_t *__flagp, int __excepts) __THROW; +#endif + + +/* Rounding control. */ + +/* Get current rounding direction. */ +extern int fegetround (void) __THROW __attribute_pure__; + +/* Establish the rounding direction represented by ROUND. */ +extern int fesetround (int __rounding_direction) __THROW; + + +/* Floating-point environment. */ + +/* Store the current floating-point environment in the object pointed + to by ENVP. */ +extern int fegetenv (fenv_t *__envp) __THROW; + +/* Save the current environment in the object pointed to by ENVP, clear + exception flags and install a non-stop mode (if available) for all + exceptions. */ +extern int feholdexcept (fenv_t *__envp) __THROW; + +/* Establish the floating-point environment represented by the object + pointed to by ENVP. */ +extern int fesetenv (const fenv_t *__envp) __THROW; + +/* Save current exceptions in temporary storage, install environment + represented by object pointed to by ENVP and raise exceptions + according to saved exceptions. */ +extern int feupdateenv (const fenv_t *__envp) __THROW; + + +/* Control modes. */ + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Store the current floating-point control modes in the object + pointed to by MODEP. */ +extern int fegetmode (femode_t *__modep) __THROW; + +/* Establish the floating-point control modes represented by the + object pointed to by MODEP. */ +extern int fesetmode (const femode_t *__modep) __THROW; +#endif + + +/* NaN support. */ + +#if (__GLIBC_USE (IEC_60559_BFP_EXT_C23) \ + && defined FE_INVALID \ + && defined __SUPPORT_SNAN__) +# define FE_SNANS_ALWAYS_SIGNAL 1 +#endif + +#ifdef __USE_GNU + +/* Enable individual exceptions. Will not enable more exceptions than + EXCEPTS specifies. Returns the previous enabled exceptions if all + exceptions are successfully set, otherwise returns -1. */ +extern int feenableexcept (int __excepts) __THROW; + +/* Disable individual exceptions. Will not disable more exceptions than + EXCEPTS specifies. Returns the previous enabled exceptions if all + exceptions are successfully disabled, otherwise returns -1. */ +extern int fedisableexcept (int __excepts) __THROW; + +/* Return enabled exceptions. */ +extern int fegetexcept (void) __THROW; +#endif + +__END_DECLS + +#endif /* fenv.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h new file mode 100644 index 00000000..76faab88 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/finclude/math-vector-fortran.h @@ -0,0 +1,19 @@ +! Platform-specific declarations of SIMD math functions for Fortran. -*- f90 -*- +! Copyright (C) 2019-2025 Free Software Foundation, Inc. +! This file is part of the GNU C Library. +! +! The GNU C 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. +! +! The GNU C 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 the GNU C Library; if not, see +! . + +! No SIMD math functions are available for this platform. \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fmtmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fmtmsg.h new file mode 100644 index 00000000..3d56c4d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fmtmsg.h @@ -0,0 +1,105 @@ +/* Message display handling. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __FMTMSG_H +#define __FMTMSG_H 1 + +#include + + +__BEGIN_DECLS + +/* Values to control `fmtmsg' function. */ +enum +{ + MM_HARD = 0x001, /* Source of the condition is hardware. */ +#define MM_HARD MM_HARD + MM_SOFT = 0x002, /* Source of the condition is software. */ +#define MM_SOFT MM_SOFT + MM_FIRM = 0x004, /* Source of the condition is firmware. */ +#define MM_FIRM MM_FIRM + MM_APPL = 0x008, /* Condition detected by application. */ +#define MM_APPL MM_APPL + MM_UTIL = 0x010, /* Condition detected by utility. */ +#define MM_UTIL MM_UTIL + MM_OPSYS = 0x020, /* Condition detected by operating system. */ +#define MM_OPSYS MM_OPSYS + MM_RECOVER = 0x040, /* Recoverable error. */ +#define MM_RECOVER MM_RECOVER + MM_NRECOV = 0x080, /* Non-recoverable error. */ +#define MM_NRECOV MM_NRECOV + MM_PRINT = 0x100, /* Display message in standard error. */ +#define MM_PRINT MM_PRINT + MM_CONSOLE = 0x200 /* Display message on system console. */ +#define MM_CONSOLE MM_CONSOLE +}; + +/* Values to be for SEVERITY parameter of `fmtmsg'. */ +enum +{ + MM_NOSEV = 0, /* No severity level provided for the message. */ +#define MM_NOSEV MM_NOSEV + MM_HALT, /* Error causing application to halt. */ +#define MM_HALT MM_HALT + MM_ERROR, /* Application has encountered a non-fatal fault. */ +#define MM_ERROR MM_ERROR + MM_WARNING, /* Application has detected unusual non-error + condition. */ +#define MM_WARNING MM_WARNING + MM_INFO /* Informative message. */ +#define MM_INFO MM_INFO +}; + + +/* Macros which can be used as null values for the arguments of `fmtmsg'. */ +#define MM_NULLLBL ((char *) 0) +#define MM_NULLSEV 0 +#define MM_NULLMC ((long int) 0) +#define MM_NULLTXT ((char *) 0) +#define MM_NULLACT ((char *) 0) +#define MM_NULLTAG ((char *) 0) + + +/* Possible return values of `fmtmsg'. */ +enum +{ + MM_NOTOK = -1, +#define MM_NOTOK MM_NOTOK + MM_OK = 0, +#define MM_OK MM_OK + MM_NOMSG = 1, +#define MM_NOMSG MM_NOMSG + MM_NOCON = 4 +#define MM_NOCON MM_NOCON +}; + + +/* Print message with given CLASSIFICATION, LABEL, SEVERITY, TEXT, ACTION + and TAG to console or standard error. */ +extern int fmtmsg (long int __classification, const char *__label, + int __severity, const char *__text, + const char *__action, const char *__tag); + +#ifdef __USE_MISC +/* Add or remove severity level. */ +extern int addseverity (int __severity, const char *__string) __THROW; +#endif + +__END_DECLS + +#endif /* fmtmsg.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fnmatch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fnmatch.h new file mode 100644 index 00000000..b13fe45b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fnmatch.h @@ -0,0 +1,62 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FNMATCH_H +#define _FNMATCH_H 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* We #undef these before defining them because some losing systems + (HP-UX A.08.07 for example) define these in . */ +#undef FNM_PATHNAME +#undef FNM_NOESCAPE +#undef FNM_PERIOD + +/* Bits set in the FLAGS argument to `fnmatch'. */ +#define FNM_PATHNAME (1 << 0) /* No wildcard can ever match `/'. */ +#define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ +#define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ + +#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE +# define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ +# define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ +# define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ +# define FNM_EXTMATCH (1 << 5) /* Use ksh-like extended matching. */ +#endif + +/* Value returned by `fnmatch' if STRING does not match PATTERN. */ +#define FNM_NOMATCH 1 + +/* This value is returned if the implementation does not support + `fnmatch'. Since this is not the case here it will never be + returned but the conformance test suites still require the symbol + to be defined. */ +#ifdef _XOPEN_SOURCE +# define FNM_NOSYS (-1) +#endif + +/* Match NAME against the filename pattern PATTERN, + returning zero if it matches, FNM_NOMATCH if not. */ +extern int fnmatch (const char *__pattern, const char *__name, int __flags); + +#ifdef __cplusplus +} +#endif + +#endif /* fnmatch.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpregdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpregdef.h new file mode 100644 index 00000000..e4b38635 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpregdef.h @@ -0,0 +1,23 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPREGDEF_H +#define _FPREGDEF_H + +#include + +#endif /* _FPREGDEF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpu_control.h new file mode 100644 index 00000000..5a1c5154 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fpu_control.h @@ -0,0 +1,132 @@ +/* FPU control word bits. Mips version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* MIPS FPU floating point control register bits. + * + * 31-25 -> floating point conditions code bits 7-1. These bits are only + * available in MIPS IV. + * 24 -> flush denormalized results to zero instead of + * causing unimplemented operation exception. This bit is only + * available for MIPS III and newer. + * 23 -> Condition bit + * 22-21 -> reserved for architecture implementers + * 20 -> reserved (read as 0, write with 0) + * 19 -> IEEE 754-2008 non-arithmetic ABS.fmt and NEG.fmt enable + * 18 -> IEEE 754-2008 recommended NaN encoding enable + * 17 -> cause bit for unimplemented operation + * 16 -> cause bit for invalid exception + * 15 -> cause bit for division by zero exception + * 14 -> cause bit for overflow exception + * 13 -> cause bit for underflow exception + * 12 -> cause bit for inexact exception + * 11 -> enable exception for invalid exception + * 10 -> enable exception for division by zero exception + * 9 -> enable exception for overflow exception + * 8 -> enable exception for underflow exception + * 7 -> enable exception for inexact exception + * 6 -> flag invalid exception + * 5 -> flag division by zero exception + * 4 -> flag overflow exception + * 3 -> flag underflow exception + * 2 -> flag inexact exception + * 1-0 -> rounding control + * + * + * Rounding Control: + * 00 - rounding to nearest (RN) + * 01 - rounding toward zero (RZ) + * 10 - rounding (up) toward plus infinity (RP) + * 11 - rounding (down)toward minus infinity (RM) + */ + +#include + +#ifdef __mips_soft_float + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* __mips_soft_float */ + +/* Masks for interrupts. */ +#define _FPU_MASK_V 0x0800 /* Invalid operation */ +#define _FPU_MASK_Z 0x0400 /* Division by zero */ +#define _FPU_MASK_O 0x0200 /* Overflow */ +#define _FPU_MASK_U 0x0100 /* Underflow */ +#define _FPU_MASK_I 0x0080 /* Inexact operation */ + +/* Flush denormalized numbers to zero. */ +#define _FPU_FLUSH_TZ 0x1000000 + +/* IEEE 754-2008 compliance control. */ +#define _FPU_ABS2008 0x80000 +#define _FPU_NAN2008 0x40000 + +/* Rounding control. */ +#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ +#define _FPU_RC_ZERO 0x1 +#define _FPU_RC_UP 0x2 +#define _FPU_RC_DOWN 0x3 +/* Mask for rounding control. */ +#define _FPU_RC_MASK 0x3 + +#define _FPU_RESERVED 0xfe8c0000 /* Reserved bits in cw, incl ABS/NAN2008. */ + + +/* The fdlibm code requires strict IEEE double precision arithmetic, + and no interrupts for exceptions, rounding to nearest. */ +#ifdef __mips_nan2008 +# define _FPU_DEFAULT 0x000C0000 +#else +# define _FPU_DEFAULT 0x00000000 +#endif + +/* IEEE: same as above, but exceptions. */ +#ifdef __mips_nan2008 +# define _FPU_IEEE 0x000C0F80 +#else +# define _FPU_IEEE 0x00000F80 +#endif + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Macros for accessing the hardware control word. */ +extern fpu_control_t __mips_fpu_getcw (void) __THROW; +extern void __mips_fpu_setcw (fpu_control_t) __THROW; +#ifdef __mips16 +# define _FPU_GETCW(cw) do { (cw) = __mips_fpu_getcw (); } while (0) +# define _FPU_SETCW(cw) __mips_fpu_setcw (cw) +#else +# define _FPU_GETCW(cw) __asm__ volatile ("cfc1 %0,$31" : "=r" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("ctc1 %0,$31" : : "r" (cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* __mips_soft_float */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fstab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fstab.h new file mode 100644 index 00000000..df06c6a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fstab.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 1980, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)fstab.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _FSTAB_H +#define _FSTAB_H 1 + +#include + +/* + * File system table, see fstab(5). + * + * Used by dump, mount, umount, swapon, fsck, df, ... + * + * For ufs fs_spec field is the block special name. Programs that want to + * use the character special name must create that name by prepending a 'r' + * after the right most slash. Quota files are always named "quotas", so + * if type is "rq", then use concatenation of fs_file and "quotas" to locate + * quota file. + */ +#define _PATH_FSTAB "/etc/fstab" +#define FSTAB "/etc/fstab" /* deprecated */ + +#define FSTAB_RW "rw" /* read/write device */ +#define FSTAB_RQ "rq" /* read/write with quotas */ +#define FSTAB_RO "ro" /* read-only device */ +#define FSTAB_SW "sw" /* swap device */ +#define FSTAB_XX "xx" /* ignore totally */ + +struct fstab + { + char *fs_spec; /* block special device name */ + char *fs_file; /* file system path prefix */ + char *fs_vfstype; /* File system type, ufs, nfs */ + char *fs_mntops; /* Mount options ala -o */ + const char *fs_type; /* FSTAB_* from fs_mntops */ + int fs_freq; /* dump frequency, in days */ + int fs_passno; /* pass number on parallel dump */ + }; + + +__BEGIN_DECLS + +extern struct fstab *getfsent (void) __THROW; +extern struct fstab *getfsspec (const char *__name) __THROW; +extern struct fstab *getfsfile (const char *__name) __THROW; +extern int setfsent (void) __THROW; +extern void endfsent (void) __THROW; + +__END_DECLS + +#endif /* fstab.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fts.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fts.h new file mode 100644 index 00000000..42cf8da8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/fts.h @@ -0,0 +1,271 @@ +/* File tree traversal functions declarations. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)fts.h 8.3 (Berkeley) 8/14/94 + */ + +#ifndef _FTS_H +#define _FTS_H 1 + +#include +#include + + +typedef struct { + struct _ftsent *fts_cur; /* current node */ + struct _ftsent *fts_child; /* linked list of children */ + struct _ftsent **fts_array; /* sort array */ + dev_t fts_dev; /* starting device # */ + char *fts_path; /* path for this descent */ + int fts_rfd; /* fd for root */ + int fts_pathlen; /* sizeof(path) */ + int fts_nitems; /* elements in the sort array */ + int (*fts_compar) (const void *, const void *); /* compare fn */ + +#define FTS_COMFOLLOW 0x0001 /* follow command line symlinks */ +#define FTS_LOGICAL 0x0002 /* logical walk */ +#define FTS_NOCHDIR 0x0004 /* don't change directories */ +#define FTS_NOSTAT 0x0008 /* don't get stat info */ +#define FTS_PHYSICAL 0x0010 /* physical walk */ +#define FTS_SEEDOT 0x0020 /* return dot and dot-dot */ +#define FTS_XDEV 0x0040 /* don't cross devices */ +#define FTS_WHITEOUT 0x0080 /* return whiteout information */ +#define FTS_OPTIONMASK 0x00ff /* valid user option mask */ + +#define FTS_NAMEONLY 0x0100 /* (private) child names only */ +#define FTS_STOP 0x0200 /* (private) unrecoverable error */ + int fts_options; /* fts_open options, global flags */ +} FTS; + +#ifdef __USE_LARGEFILE64 +typedef struct { + struct _ftsent64 *fts_cur; /* current node */ + struct _ftsent64 *fts_child; /* linked list of children */ + struct _ftsent64 **fts_array; /* sort array */ + dev_t fts_dev; /* starting device # */ + char *fts_path; /* path for this descent */ + int fts_rfd; /* fd for root */ + int fts_pathlen; /* sizeof(path) */ + int fts_nitems; /* elements in the sort array */ + int (*fts_compar) (const void *, const void *); /* compare fn */ + int fts_options; /* fts_open options, global flags */ +} FTS64; +#endif + +typedef struct _ftsent { + struct _ftsent *fts_cycle; /* cycle node */ + struct _ftsent *fts_parent; /* parent directory */ + struct _ftsent *fts_link; /* next file in directory */ + long fts_number; /* local numeric value */ + void *fts_pointer; /* local address value */ + char *fts_accpath; /* access path */ + char *fts_path; /* root path */ + int fts_errno; /* errno for this node */ + int fts_symfd; /* fd for symlink */ + unsigned short fts_pathlen; /* strlen(fts_path) */ + unsigned short fts_namelen; /* strlen(fts_name) */ + + ino_t fts_ino; /* inode */ + dev_t fts_dev; /* device */ + nlink_t fts_nlink; /* link count */ + +#define FTS_ROOTPARENTLEVEL -1 +#define FTS_ROOTLEVEL 0 + short fts_level; /* depth (-1 to N) */ + +#define FTS_D 1 /* preorder directory */ +#define FTS_DC 2 /* directory that causes cycles */ +#define FTS_DEFAULT 3 /* none of the above */ +#define FTS_DNR 4 /* unreadable directory */ +#define FTS_DOT 5 /* dot or dot-dot */ +#define FTS_DP 6 /* postorder directory */ +#define FTS_ERR 7 /* error; errno is set */ +#define FTS_F 8 /* regular file */ +#define FTS_INIT 9 /* initialized only */ +#define FTS_NS 10 /* stat(2) failed */ +#define FTS_NSOK 11 /* no stat(2) requested */ +#define FTS_SL 12 /* symbolic link */ +#define FTS_SLNONE 13 /* symbolic link without target */ +#define FTS_W 14 /* whiteout object */ + unsigned short fts_info; /* user flags for FTSENT structure */ + +#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ +#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ + unsigned short fts_flags; /* private flags for FTSENT structure */ + +#define FTS_AGAIN 1 /* read node again */ +#define FTS_FOLLOW 2 /* follow symbolic link */ +#define FTS_NOINSTR 3 /* no instructions */ +#define FTS_SKIP 4 /* discard node */ + unsigned short fts_instr; /* fts_set() instructions */ + + struct stat *fts_statp; /* stat(2) information */ + char fts_name[1]; /* file name */ +} FTSENT; + +#ifdef __USE_LARGEFILE64 +// zig patch: 64bits variants appeared starting from glibc 2.23 +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23) || __GLIBC__ > 2 +typedef struct _ftsent64 { + struct _ftsent64 *fts_cycle; /* cycle node */ + struct _ftsent64 *fts_parent; /* parent directory */ + struct _ftsent64 *fts_link; /* next file in directory */ + long fts_number; /* local numeric value */ + void *fts_pointer; /* local address value */ + char *fts_accpath; /* access path */ + char *fts_path; /* root path */ + int fts_errno; /* errno for this node */ + int fts_symfd; /* fd for symlink */ + unsigned short fts_pathlen; /* strlen(fts_path) */ + unsigned short fts_namelen; /* strlen(fts_name) */ + + ino64_t fts_ino; /* inode */ + dev_t fts_dev; /* device */ + nlink_t fts_nlink; /* link count */ + + short fts_level; /* depth (-1 to N) */ + + unsigned short fts_info; /* user flags for FTSENT structure */ + + unsigned short fts_flags; /* private flags for FTSENT structure */ + + unsigned short fts_instr; /* fts_set() instructions */ + + struct stat64 *fts_statp; /* stat(2) information */ + char fts_name[1]; /* file name */ +} FTSENT64; +# endif +#endif + +__BEGIN_DECLS + +// zig patch: 64bits variants appeared starting from glibc 2.23 +// before that version, we can't declare nor redirect to them +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23) || __GLIBC__ > 2 + +#ifndef __USE_FILE_OFFSET64 +FTSENT *fts_children (FTS *, int); +int fts_close (FTS *); +FTS *fts_open (char * const *, int, + int (*)(const FTSENT **, const FTSENT **)); +FTSENT *fts_read (FTS *); +int fts_set (FTS *, FTSENT *, int) __THROW; +#else +# ifdef __REDIRECT +# ifndef __USE_TIME64_REDIRECTS +FTSENT *__REDIRECT (fts_children, (FTS *, int), fts64_children); +int __REDIRECT (fts_close, (FTS *), fts64_close); +FTS *__REDIRECT (fts_open, (char * const *, int, + int (*)(const FTSENT **, const FTSENT **)), + fts64_open); +FTSENT *__REDIRECT (fts_read, (FTS *), fts64_read); +int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int), fts64_set); +# else +FTSENT *__REDIRECT (fts_children, (FTS *, int), __fts64_children_time64); +int __REDIRECT (fts_close, (FTS *), __fts64_close_time64); +FTS *__REDIRECT (fts_open, (char * const *, int, + int (*)(const FTSENT **, const FTSENT **)), + __fts64_open_time64); +FTSENT *__REDIRECT (fts_read, (FTS *), __fts64_read_time64); +int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int), + __fts64_set_time64); +# endif +# else +# ifndef __USE_TIME64_REDIRECTS +# define fts_children fts64_children +# define fts_close fts64_close +# define fts_open fts64_open +# define fts_read fts64_read +# define fts_set fts64_set +# else +# endif +# endif +#endif +#else /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 23) || __GLIBC__ > 2 */ +FTSENT *fts_children (FTS *, int); +int fts_close (FTS *); +FTS *fts_open (char * const *, int, + int (*)(const FTSENT **, const FTSENT **)); +FTSENT *fts_read (FTS *); +int fts_set (FTS *, FTSENT *, int) __THROW; +#endif + +// zig patch: 64bits time variants appeared starting from glibc 2.34 +// before that version, there is nothing to declare +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 + +#ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +FTSENT64 *fts64_children (FTS64 *, int); +int fts64_close (FTS64 *); +FTS64 *fts64_open (char * const *, int, + int (*)(const FTSENT64 **, const FTSENT64 **)); +FTSENT64 *fts64_read (FTS64 *); +int fts64_set (FTS64 *, FTSENT64 *, int) __THROW; +# else +# ifdef __REDIRECT +FTSENT *__REDIRECT (fts64_children, (FTS64 *, int), __fts64_children_time64); +int __REDIRECT (fts64_close, (FTS64 *), __fts64_close_time64); +FTS *__REDIRECT (fts64_open, (char * const *, int, + int (*)(const FTSENT64 **, const FTSENT64 **)), + __fts64_open_time64); +FTSENT *__REDIRECT (fts64_read, (FTS64 *), __fts64_read_time64); +int __REDIRECT_NTH (fts64_set, (FTS64 *, FTSENT64 *, int), + __fts64_set_time64); +# else +# define fts_children __fts64_children_time64 +# define fts_close __fts64_close_time64 +# define fts_open __fts64_open_time64 +# define fts_read __fts64_read_time64 +# define fts_set __fts64_set_time64 +# endif +# endif +#endif + +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 */ +__END_DECLS + +#endif /* fts.h */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ftw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ftw.h new file mode 100644 index 00000000..227a13af --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ftw.h @@ -0,0 +1,219 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * X/Open Portability Guide 4.2: ftw.h + */ + +#ifndef _FTW_H +#define _FTW_H 1 + +#include + +#include +#include + + +__BEGIN_DECLS + +/* Values for the FLAG argument to the user function passed to `ftw' + and 'nftw'. */ +enum +{ + FTW_F, /* Regular file. */ +#define FTW_F FTW_F + FTW_D, /* Directory. */ +#define FTW_D FTW_D + FTW_DNR, /* Unreadable directory. */ +#define FTW_DNR FTW_DNR + FTW_NS, /* Unstatable file. */ +#define FTW_NS FTW_NS + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED + + FTW_SL, /* Symbolic link. */ +# define FTW_SL FTW_SL +#endif + +#ifdef __USE_XOPEN_EXTENDED +/* These flags are only passed from the `nftw' function. */ + FTW_DP, /* Directory, all subdirs have been visited. */ +# define FTW_DP FTW_DP + FTW_SLN /* Symbolic link naming non-existing file. */ +# define FTW_SLN FTW_SLN + +#endif /* extended X/Open */ +}; + + +#ifdef __USE_XOPEN_EXTENDED +/* Flags for fourth argument of `nftw'. */ +enum +{ + FTW_PHYS = 1, /* Perform physical walk, ignore symlinks. */ +# define FTW_PHYS FTW_PHYS + FTW_MOUNT = 2, /* Report only files on same file system as the + argument. */ +# define FTW_MOUNT FTW_MOUNT + FTW_CHDIR = 4, /* Change to current directory while processing it. */ +# define FTW_CHDIR FTW_CHDIR + FTW_DEPTH = 8 /* Report files in directory before directory itself.*/ +# define FTW_DEPTH FTW_DEPTH +# ifdef __USE_GNU + , + FTW_ACTIONRETVAL = 16 /* Assume callback to return FTW_* values instead of + zero to continue and non-zero to terminate. */ +# define FTW_ACTIONRETVAL FTW_ACTIONRETVAL +# endif +}; + +#ifdef __USE_GNU +/* Return values from callback functions. */ +enum +{ + FTW_CONTINUE = 0, /* Continue with next sibling or for FTW_D with the + first child. */ +# define FTW_CONTINUE FTW_CONTINUE + FTW_STOP = 1, /* Return from `ftw' or `nftw' with FTW_STOP as return + value. */ +# define FTW_STOP FTW_STOP + FTW_SKIP_SUBTREE = 2, /* Only meaningful for FTW_D: Don't walk through the + subtree, instead just continue with its next + sibling. */ +# define FTW_SKIP_SUBTREE FTW_SKIP_SUBTREE + FTW_SKIP_SIBLINGS = 3,/* Continue with FTW_DP callback for current directory + (if FTW_DEPTH) and then its siblings. */ +# define FTW_SKIP_SIBLINGS FTW_SKIP_SIBLINGS +}; +#endif + +/* Structure used for fourth argument to callback function for `nftw'. */ +struct FTW + { + int base; + int level; + }; +#endif /* extended X/Open */ + + +/* Convenient types for callback functions. */ +typedef int (*__ftw_func_t) (const char *__filename, + const struct stat *__status, int __flag); +#ifdef __USE_LARGEFILE64 +typedef int (*__ftw64_func_t) (const char *__filename, + const struct stat64 *__status, int __flag); +#endif +#ifdef __USE_XOPEN_EXTENDED +typedef int (*__nftw_func_t) (const char *__filename, + const struct stat *__status, int __flag, + struct FTW *__info); +# ifdef __USE_LARGEFILE64 +typedef int (*__nftw64_func_t) (const char *__filename, + const struct stat64 *__status, + int __flag, struct FTW *__info); +# endif +#endif + +/* Call a function on every element in a directory tree. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors) + __nonnull ((1, 2)); +#else +# ifdef __REDIRECT +# ifndef __USE_TIME64_REDIRECTS +extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func, + int __descriptors), ftw64) __nonnull ((1, 2)); +# else +extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func, + int __descriptors), __ftw64_time64) + __nonnull ((1, 2)); +# endif +# else +# ifndef __USE_TIME64_REDIRECTS +# define ftw ftw64 +# else +# define ftw __ftw64_time64 +# endif +# endif +#endif +#ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +extern int ftw64 (const char *__dir, __ftw64_func_t __func, + int __descriptors) __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (ftw64, (const char *__dir, __ftw64_func_t __func, + int __descriptors), + __ftw64_time64) + __nonnull ((1, 2)); +# else +# define nftw64 __nftw64_time64 +# endif +# endif +#endif + +#ifdef __USE_XOPEN_EXTENDED +/* Call a function on every element in a directory tree. FLAG allows + to specify the behaviour more detailed. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors, + int __flag) __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +# ifndef __USE_TIME64_REDIRECTS +extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func, + int __descriptors, int __flag), nftw64) + __nonnull ((1, 2)); +# else +extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func, + int __descriptors, int __flag), __nftw64_time64) + __nonnull ((1, 2)); +# endif +# else +# ifndef __USE_TIME64_REDIRECTS +# define nftw nftw64 +# else +# define nftw __nftw64_time64 +# endif +# endif +# endif +# ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +extern int nftw64 (const char *__dir, __nftw64_func_t __func, + int __descriptors, int __flag) __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (nftw64, (const char *__dir, __nftw64_func_t __func, + int __descriptors, int __flag), + __nftw64_time64) + __nonnull ((1, 2)); +# else +# define nftw64 __nftw64_time64 +# endif +# endif +# endif +#endif + +__END_DECLS + +#endif /* ftw.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gconv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gconv.h new file mode 100644 index 00000000..67693509 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gconv.h @@ -0,0 +1,147 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header provides no interface for a user to the internals of + the gconv implementation in the libc. Therefore there is no use + for these definitions beside for writing additional gconv modules. */ + +#ifndef _GCONV_H +#define _GCONV_H 1 + +#include +#include +#include + +#define __need_size_t +#define __need_wchar_t +#include + +/* ISO 10646 value used to signal invalid value. */ +#define __UNKNOWN_10646_CHAR ((wchar_t) 0xfffd) + +/* Error codes for gconv functions. */ +enum +{ + __GCONV_OK = 0, + __GCONV_NOCONV, + __GCONV_NODB, + __GCONV_NOMEM, + + __GCONV_EMPTY_INPUT, + __GCONV_FULL_OUTPUT, + __GCONV_ILLEGAL_INPUT, + __GCONV_INCOMPLETE_INPUT, + + __GCONV_ILLEGAL_DESCRIPTOR, + __GCONV_INTERNAL_ERROR +}; + + +/* Flags the `__gconv_open' function can set. */ +enum +{ + __GCONV_IS_LAST = 0x0001, + __GCONV_IGNORE_ERRORS = 0x0002, + __GCONV_SWAP = 0x0004, + __GCONV_TRANSLIT = 0x0008 +}; + + +/* Forward declarations. */ +struct __gconv_step; +struct __gconv_step_data; +struct __gconv_loaded_object; + + +/* Type of a conversion function. */ +typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, + const unsigned char **, const unsigned char *, + unsigned char **, size_t *, int, int); + +/* Type of a specialized conversion function for a single byte to INTERNAL. */ +typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); + +/* Constructor and destructor for local data for conversion step. */ +typedef int (*__gconv_init_fct) (struct __gconv_step *); +typedef void (*__gconv_end_fct) (struct __gconv_step *); + + +/* Description of a conversion step. */ +struct __gconv_step +{ + struct __gconv_loaded_object *__shlib_handle; + const char *__modname; + + /* For internal use by glibc. (Accesses to this member must occur + when the internal __gconv_lock mutex is acquired). */ + int __counter; + + char *__from_name; + char *__to_name; + + __gconv_fct __fct; + __gconv_btowc_fct __btowc_fct; + __gconv_init_fct __init_fct; + __gconv_end_fct __end_fct; + + /* Information about the number of bytes needed or produced in this + step. This helps optimizing the buffer sizes. */ + int __min_needed_from; + int __max_needed_from; + int __min_needed_to; + int __max_needed_to; + + /* Flag whether this is a stateful encoding or not. */ + int __stateful; + + void *__data; /* Pointer to step-local data. */ +}; + +/* Additional data for steps in use of conversion descriptor. This is + allocated by the `init' function. */ +struct __gconv_step_data +{ + unsigned char *__outbuf; /* Output buffer for this step. */ + unsigned char *__outbufend; /* Address of first byte after the output + buffer. */ + + /* Is this the last module in the chain. */ + int __flags; + + /* Counter for number of invocations of the module function for this + descriptor. */ + int __invocation_counter; + + /* Flag whether this is an internal use of the module (in the mb*towc* + and wc*tomb* functions) or regular with iconv(3). */ + int __internal_use; + + __mbstate_t *__statep; + __mbstate_t __state; /* This element must not be used directly by + any module; always use STATEP! */ +}; + + +/* Combine conversion step description with data. */ +typedef struct __gconv_info +{ + size_t __nsteps; + struct __gconv_step *__steps; + __extension__ struct __gconv_step_data __data[0]; +} *__gconv_t; + +#endif /* gconv.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/getopt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/getopt.h new file mode 100644 index 00000000..33e20a25 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/getopt.h @@ -0,0 +1,38 @@ +/* Declarations for getopt. + Copyright (C) 1989-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Unlike the bulk of the getopt implementation, this file is NOT part + of gnulib; gnulib also has a getopt.h but it is different. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#include + +/* The type of the 'argv' argument to getopt_long and getopt_long_only + is properly 'char **', since both functions may write to the array + (in order to move all the options to the beginning). However, for + compatibility with old versions of LSB, glibc has to use 'char *const *' + instead. */ +#ifndef __getopt_argv_const +# define __getopt_argv_const const +#endif + +#include +#include + +#endif /* getopt.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/glob.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/glob.h new file mode 100644 index 00000000..3577c9c7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/glob.h @@ -0,0 +1,203 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GLOB_H +#define _GLOB_H 1 + +#include + +__BEGIN_DECLS + +/* We need `size_t' for the following definitions. */ +#ifndef __size_t +typedef __SIZE_TYPE__ __size_t; +# if defined __USE_XOPEN || defined __USE_XOPEN2K8 +typedef __SIZE_TYPE__ size_t; +# endif +#else +/* The GNU CC stddef.h version defines __size_t as empty. We need a real + definition. */ +# undef __size_t +# define __size_t size_t +#endif + +/* Bits set in the FLAGS argument to `glob'. */ +#define GLOB_ERR (1 << 0)/* Return on read errors. */ +#define GLOB_MARK (1 << 1)/* Append a slash to each name. */ +#define GLOB_NOSORT (1 << 2)/* Don't sort the names. */ +#define GLOB_DOOFFS (1 << 3)/* Insert PGLOB->gl_offs NULLs. */ +#define GLOB_NOCHECK (1 << 4)/* If nothing matches, return the pattern. */ +#define GLOB_APPEND (1 << 5)/* Append to results of a previous call. */ +#define GLOB_NOESCAPE (1 << 6)/* Backslashes don't quote metacharacters. */ +#define GLOB_PERIOD (1 << 7)/* Leading `.' can be matched by metachars. */ + +#if !defined __USE_POSIX2 || defined __USE_MISC +# define GLOB_MAGCHAR (1 << 8)/* Set in gl_flags if any metachars seen. */ +# define GLOB_ALTDIRFUNC (1 << 9)/* Use gl_opendir et al functions. */ +# define GLOB_BRACE (1 << 10)/* Expand "{a,b}" to "a" "b". */ +# define GLOB_NOMAGIC (1 << 11)/* If no magic chars, return the pattern. */ +# define GLOB_TILDE (1 << 12)/* Expand ~user and ~ to home directories. */ +# define GLOB_ONLYDIR (1 << 13)/* Match only directories. */ +# define GLOB_TILDE_CHECK (1 << 14)/* Like GLOB_TILDE but return an error + if the user name is not available. */ +# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS \ + |GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND \ + |GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE \ + |GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK) +#else +# define __GLOB_FLAGS (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS \ + |GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND \ + |GLOB_PERIOD) +#endif + +/* Error returns from `glob'. */ +#define GLOB_NOSPACE 1 /* Ran out of memory. */ +#define GLOB_ABORTED 2 /* Read error. */ +#define GLOB_NOMATCH 3 /* No matches found. */ +#define GLOB_NOSYS 4 /* Not implemented. */ +#ifdef __USE_GNU +/* Previous versions of this file defined GLOB_ABEND instead of + GLOB_ABORTED. Provide a compatibility definition here. */ +# define GLOB_ABEND GLOB_ABORTED +#endif + +/* Structure describing a globbing run. */ +#ifdef __USE_GNU +struct stat; +#endif +typedef struct + { + __size_t gl_pathc; /* Count of paths matched by the pattern. */ + char **gl_pathv; /* List of matched pathnames. */ + __size_t gl_offs; /* Slots to reserve in `gl_pathv'. */ + int gl_flags; /* Set to FLAGS, maybe | GLOB_MAGCHAR. */ + + /* If the GLOB_ALTDIRFUNC flag is set, the following functions + are used instead of the normal file access functions. */ + void (*gl_closedir) (void *); +#ifdef __USE_GNU + struct dirent *(*gl_readdir) (void *); +#else + void *(*gl_readdir) (void *); +#endif + void *(*gl_opendir) (const char *); +#ifdef __USE_GNU + int (*gl_lstat) (const char *__restrict, struct stat *__restrict); + int (*gl_stat) (const char *__restrict, struct stat *__restrict); +#else + int (*gl_lstat) (const char *__restrict, void *__restrict); + int (*gl_stat) (const char *__restrict, void *__restrict); +#endif + } glob_t; + +#ifdef __USE_LARGEFILE64 +# ifdef __USE_GNU +struct stat64; +# endif +typedef struct + { + __size_t gl_pathc; + char **gl_pathv; + __size_t gl_offs; + int gl_flags; + + /* If the GLOB_ALTDIRFUNC flag is set, the following functions + are used instead of the normal file access functions. */ + void (*gl_closedir) (void *); +# ifdef __USE_GNU + struct dirent64 *(*gl_readdir) (void *); +# else + void *(*gl_readdir) (void *); +# endif + void *(*gl_opendir) (const char *); +# ifdef __USE_GNU + int (*gl_lstat) (const char *__restrict, struct stat64 *__restrict); + int (*gl_stat) (const char *__restrict, struct stat64 *__restrict); +# else + int (*gl_lstat) (const char *__restrict, void *__restrict); + int (*gl_stat) (const char *__restrict, void *__restrict); +# endif + } glob64_t; +#endif + +/* Do glob searching for PATTERN, placing results in PGLOB. + The bits defined above may be set in FLAGS. + If a directory cannot be opened or read and ERRFUNC is not nil, + it is called with the pathname that caused the error, and the + `errno' value from the failing call; if it returns non-zero + `glob' returns GLOB_ABEND; if it returns zero, the error is ignored. + If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. + Otherwise, `glob' returns zero. */ +#if !defined __USE_FILE_OFFSET64 +extern int glob (const char *__restrict __pattern, int __flags, + int (*__errfunc) (const char *, int), + glob_t *__restrict __pglob) __THROWNL; + +/* Free storage allocated in PGLOB by a previous `glob' call. */ +extern void globfree (glob_t *__pglob) __THROW; +#else +# ifdef __USE_TIME64_REDIRECTS +extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern, + int __flags, + int (*__errfunc) (const char *, int), + glob_t *__restrict __pglob), + __glob64_time64); + +extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), + __globfree64_time64); +# else +extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern, + int __flags, + int (*__errfunc) (const char *, int), + glob_t *__restrict __pglob), glob64); + +extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64); +# endif +#endif + +#ifdef __USE_LARGEFILE64 +# ifdef __USE_TIME64_REDIRECTS +extern int __REDIRECT_NTHNL (glob64, (const char *__restrict __pattern, + int __flags, + int (*__errfunc) (const char *, int), + glob64_t *__restrict __pglob), + __glob64_time64); + +extern void __REDIRECT_NTH (globfree64, (glob64_t *__pglob), + __globfree64_time64); +# else +extern int glob64 (const char *__restrict __pattern, int __flags, + int (*__errfunc) (const char *, int), + glob64_t *__restrict __pglob) __THROWNL; + +extern void globfree64 (glob64_t *__pglob) __THROW; +# endif +#endif + + +#ifdef __USE_GNU +/* Return nonzero if PATTERN contains any metacharacters. + Metacharacters can be quoted with backslashes if QUOTE is nonzero. + + This function is not part of the interface specified by POSIX.2 + but several programs want to use it. */ +extern int glob_pattern_p (const char *__pattern, int __quote) __THROW; +#endif + +__END_DECLS + +#endif /* glob.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu-versions.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu-versions.h new file mode 100644 index 00000000..e46400d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu-versions.h @@ -0,0 +1,52 @@ +/* Header with interface version macros for library pieces copied elsewhere. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GNU_VERSIONS_H +#define _GNU_VERSIONS_H 1 + +/* This file exists to define these few macros. Each specifies a version + number associated with the library interface of a piece of the C library + which is also distributed with other GNU packages. These pieces are + both part of the GNU C library and also distributed with other GNU + packages so those packages may use their facilities on systems lacking + the GNU C library. The source files for each piece surround all their + code with `#ifndef ELIDE_CODE' after defining it with this: + + #define OBSTACK_INTERFACE_VERSION 1 + #if !defined (_LIBC) && defined (__GNU_LIBRARY__) && __GNU_LIBRARY__ > 1 + #include + #if _GNU_OBSTACK_INTERFACE_VERSION == OBSTACK_INTERFACE_VERSION + #define ELIDE_CODE + #endif + #endif + + This allows those one to avoid compiling those files when part of a GNU + package not libc, on a system using a GNU C library that supports the + same interface. + + Please preserve the format of the comments after each macro. And + remember, if any of these versions change, the libc.so major version + number must change too (so avoid it)! */ + +#define _GNU_OBSTACK_INTERFACE_VERSION 1 /* vs malloc/obstack.c */ +#define _GNU_REGEX_INTERFACE_VERSION 1 /* vs posix/regex.c */ +#define _GNU_GLOB_INTERFACE_VERSION 2 /* vs posix/glob.c */ +#define _GNU_GETOPT_INTERFACE_VERSION 2 /* vs posix/getopt.c and + posix/getopt1.c */ + +#endif /* gnu-versions.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-32.h new file mode 100644 index 00000000..77fbbc46 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-32.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_SO "ld-linux.so.2" +#define LD_SO "ld-linux.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-hard.h new file mode 100644 index 00000000..393a0f91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-hard.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_ARMHF_SO "ld-linux-armhf.so.3" +#define LD_SO "ld-linux-armhf.so.3" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-lp64d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-lp64d.h new file mode 100644 index 00000000..8f030679 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-lp64d.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_LOONGARCH_LP64D_SO "ld-linux-loongarch-lp64d.so.1" +#define LD_SO "ld-linux-loongarch-lp64d.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h new file mode 100644 index 00000000..2d2d46e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n32_hard.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h new file mode 100644 index 00000000..3d545313 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-n64_hard.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h new file mode 100644 index 00000000..ab69cdcb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_hard.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h new file mode 100644 index 00000000..9be4d1e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-o32_soft.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-soft.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-soft.h new file mode 100644 index 00000000..c7a71323 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names-soft.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_SO "ld-linux.so.3" +#define LD_SO "ld-linux.so.3" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names.h new file mode 100644 index 00000000..fcfc96ce --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/lib-names.h @@ -0,0 +1,46 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/libc-version.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/libc-version.h new file mode 100644 index 00000000..c432a2c1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/libc-version.h @@ -0,0 +1,34 @@ +/* Interface to GNU libc specific functions for version information. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _GNU_LIBC_VERSION_H +#define _GNU_LIBC_VERSION_H 1 + +#include + +__BEGIN_DECLS + +/* Return string describing release status of currently running GNU libc. */ +extern const char *gnu_get_libc_release (void) __THROW; + +/* Return string describing version of currently running GNU libc. */ +extern const char *gnu_get_libc_version (void) __THROW; + +__END_DECLS + +#endif /* gnu/libc-version.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-32.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-32.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-64.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-64.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-hard.h new file mode 100644 index 00000000..013aed51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-hard.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-lp64d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-lp64d.h new file mode 100644 index 00000000..4c2911dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-lp64d.h @@ -0,0 +1,21 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h new file mode 100644 index 00000000..18607015 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n32_hard.h @@ -0,0 +1,18 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h new file mode 100644 index 00000000..18607015 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-n64_hard.h @@ -0,0 +1,18 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_hard.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_soft.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_soft.h new file mode 100644 index 00000000..5c4857a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-o32_soft.h @@ -0,0 +1,33 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_feclearexcept +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetenv +#define __stub_fegetexcept +#define __stub_fegetexceptflag +#define __stub_fegetmode +#define __stub_fegetround +#define __stub_feholdexcept +#define __stub_feraiseexcept +#define __stub_fesetenv +#define __stub_fesetexcept +#define __stub_fesetexceptflag +#define __stub_fesetmode +#define __stub_fesetround +#define __stub_fetestexcept +#define __stub_feupdateenv +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-soft.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-soft.h new file mode 100644 index 00000000..013aed51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs-soft.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs.h new file mode 100644 index 00000000..96ececfa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gnu/stubs.h @@ -0,0 +1,42 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_NABI32) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if !defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_soft_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif +#if defined(__mips_nan2008) && defined(__mips_hard_float) && (_MIPS_SIM == _MIPS_SIM_ABI64) +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/grp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/grp.h new file mode 100644 index 00000000..e6367f22 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/grp.h @@ -0,0 +1,207 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 9.2.1 Group Database Access + */ + +#ifndef _GRP_H +#define _GRP_H 1 + +#include + +__BEGIN_DECLS + +#include + +#define __need_size_t +#include + + +/* For the Single Unix specification we must define this type here. */ +#if (defined __USE_XOPEN || defined __USE_XOPEN2K) && !defined __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +/* The group structure. */ +struct group + { + char *gr_name; /* Group name. */ + char *gr_passwd; /* Password. */ + __gid_t gr_gid; /* Group ID. */ + char **gr_mem; /* Member list. */ + }; + + +#ifdef __USE_MISC +# include +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Rewind the group-file stream. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setgrent (void); + +/* Close the group-file stream. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endgrent (void); + +/* Read an entry from the group-file stream, opening it if necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct group *getgrent (void); +#endif + +#ifdef __USE_MISC +/* Read a group entry from STREAM. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct group *fgetgrent (FILE *__stream); +#endif + +#ifdef __USE_GNU +/* Write the given entry onto the given stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int putgrent (const struct group *__restrict __p, + FILE *__restrict __f); +#endif + +/* Search for an entry with a matching group ID. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct group *getgrgid (__gid_t __gid); + +/* Search for an entry with a matching group name. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct group *getgrnam (const char *__name); + +#ifdef __USE_POSIX + +# ifdef __USE_MISC +/* Reasonable value for the buffer sized used in the reentrant + functions below. But better use `sysconf'. */ +# define NSS_BUFLEN_GROUP 1024 +# endif + +/* Reentrant versions of some of the functions above. + + PLEASE NOTE: the `getgrent_r' function is not (yet) standardized. + The interface may change in later versions of this library. But + the interface is designed following the principals used for the + other reentrant functions so the chances are good this is what the + POSIX people would choose. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ + +# ifdef __USE_GNU +extern int getgrent_r (struct group *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct group **__restrict __result) + __attr_access ((__write_only__, 2, 3)); +# endif + +/* Search for an entry with a matching group ID. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); + +/* Search for an entry with a matching group name. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getgrnam_r (const char *__restrict __name, + struct group *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); + +# ifdef __USE_MISC +/* Read a group entry from STREAM. This function is not standardized + an probably never will. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fgetgrent_r (FILE *__restrict __stream, + struct group *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct group **__restrict __result) + __attr_access ((__write_only__, 3, 4)); +# endif + +#endif /* POSIX or reentrant */ + + +#ifdef __USE_MISC + +# define __need_size_t +# include + +/* Set the group set for the current user to GROUPS (N of them). */ +extern int setgroups (size_t __n, const __gid_t *__groups) __THROW; + +/* Store at most *NGROUPS members of the group set for USER into + *GROUPS. Also include GROUP. The actual number of groups found is + returned in *NGROUPS. Return -1 if the if *NGROUPS is too small. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getgrouplist (const char *__user, __gid_t __group, + __gid_t *__groups, int *__ngroups); + +/* Initialize the group set for the current user + by reading the group database and using all groups + of which USER is a member. Also include GROUP. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int initgroups (const char *__user, __gid_t __group); + +#endif /* Use misc. */ + +__END_DECLS + +#endif /* grp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gshadow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gshadow.h new file mode 100644 index 00000000..7e73c0d7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/gshadow.h @@ -0,0 +1,132 @@ +/* Copyright (C) 2009-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Declaration of types and functions for shadow group suite. */ + +#ifndef _GSHADOW_H +#define _GSHADOW_H 1 + +#include +#include +#include + +#define __need_size_t +#include + +/* Path to the user database files. */ +#define GSHADOW _PATH_GSHADOW + + +__BEGIN_DECLS + +/* Structure of the group file. */ +struct sgrp + { + char *sg_namp; /* Group name. */ + char *sg_passwd; /* Encrypted password. */ + char **sg_adm; /* Group administrator list. */ + char **sg_mem; /* Group member list. */ + }; + + +/* Open database for reading. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void setsgent (void); + +/* Close database. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void endsgent (void); + +/* Get next entry from database, perhaps after opening the file. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct sgrp *getsgent (void); + +/* Get shadow entry matching NAME. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct sgrp *getsgnam (const char *__name); + +/* Read shadow entry from STRING. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct sgrp *sgetsgent (const char *__string); + +/* Read next shadow entry from STREAM. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct sgrp *fgetsgent (FILE *__stream); + +/* Write line containing shadow password entry to stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int putsgent (const struct sgrp *__g, FILE *__stream); + + +#ifdef __USE_MISC +/* Reentrant versions of some of the functions above. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int getsgent_r (struct sgrp *__result_buf, char *__buffer, + size_t __buflen, struct sgrp **__result) + __attr_access ((__write_only__, 2, 3)); + +extern int getsgnam_r (const char *__name, struct sgrp *__result_buf, + char *__buffer, size_t __buflen, + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); + +extern int sgetsgent_r (const char *__string, struct sgrp *__result_buf, + char *__buffer, size_t __buflen, + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); + +extern int fgetsgent_r (FILE *__stream, struct sgrp *__result_buf, + char *__buffer, size_t __buflen, + struct sgrp **__result) + __attr_access ((__write_only__, 3, 4)); +#endif /* misc */ + +__END_DECLS + +#endif /* gshadow.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/iconv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/iconv.h new file mode 100644 index 00000000..3f45af19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/iconv.h @@ -0,0 +1,56 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ICONV_H +#define _ICONV_H 1 + +#include +#define __need_size_t +#include + + +__BEGIN_DECLS + +/* Identifier for conversion method from one codeset to another. */ +typedef void *iconv_t; + + +/* Free resources allocated for descriptor CD for code conversion. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int iconv_close (iconv_t __cd); + +/* Allocate descriptor for code conversion from codeset FROMCODE to + codeset TOCODE. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern iconv_t iconv_open (const char *__tocode, const char *__fromcode) + __attribute_malloc__ __attr_dealloc (iconv_close, 1); + +/* Convert at most *INBYTESLEFT bytes from *INBUF according to the + code conversion algorithm specified by CD and place up to + *OUTBYTESLEFT bytes in buffer at *OUTBUF. */ +extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, + size_t *__restrict __inbytesleft, + char **__restrict __outbuf, + size_t *__restrict __outbytesleft); + +__END_DECLS + +#endif /* iconv.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ieee754.h new file mode 100644 index 00000000..7eb1f762 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ieee754.h @@ -0,0 +1,198 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ifaddrs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ifaddrs.h new file mode 100644 index 00000000..41bd1048 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ifaddrs.h @@ -0,0 +1,73 @@ +/* ifaddrs.h -- declarations for getting network interface addresses + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IFADDRS_H +#define _IFADDRS_H 1 + +#include +#include + +__BEGIN_DECLS + +/* The `getifaddrs' function generates a linked list of these structures. + Each element of the list describes one network interface. */ +struct ifaddrs +{ + struct ifaddrs *ifa_next; /* Pointer to the next structure. */ + + char *ifa_name; /* Name of this network interface. */ + unsigned int ifa_flags; /* Flags as from SIOCGIFFLAGS ioctl. */ + + struct sockaddr *ifa_addr; /* Network address of this interface. */ + struct sockaddr *ifa_netmask; /* Netmask of this interface. */ + union + { + /* At most one of the following two is valid. If the IFF_BROADCAST + bit is set in `ifa_flags', then `ifa_broadaddr' is valid. If the + IFF_POINTOPOINT bit is set, then `ifa_dstaddr' is valid. + It is never the case that both these bits are set at once. */ + struct sockaddr *ifu_broadaddr; /* Broadcast address of this interface. */ + struct sockaddr *ifu_dstaddr; /* Point-to-point destination address. */ + } ifa_ifu; + /* These very same macros are defined by for `struct ifaddr'. + So if they are defined already, the existing definitions will be fine. */ +# ifndef ifa_broadaddr +# define ifa_broadaddr ifa_ifu.ifu_broadaddr +# endif +# ifndef ifa_dstaddr +# define ifa_dstaddr ifa_ifu.ifu_dstaddr +# endif + + void *ifa_data; /* Address-specific data (may be unused). */ +}; + + +/* Create a linked list of `struct ifaddrs' structures, one for each + network interface on the host machine. If successful, store the + list in *IFAP and return 0. On errors, return -1 and set `errno'. + + The storage returned in *IFAP is allocated dynamically and can + only be properly freed by passing it to `freeifaddrs'. */ +extern int getifaddrs (struct ifaddrs **__ifap) __THROW; + +/* Reclaim the storage allocated by a previous `getifaddrs' call. */ +extern void freeifaddrs (struct ifaddrs *__ifa) __THROW; + +__END_DECLS + +#endif /* ifaddrs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/inttypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/inttypes.h new file mode 100644 index 00000000..3127d563 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/inttypes.h @@ -0,0 +1,417 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99: 7.8 Format conversion of integer types + */ + +#ifndef _INTTYPES_H +#define _INTTYPES_H 1 + +#include +/* Get the type definitions. */ +#include + +/* Get a definition for wchar_t. But we must not define wchar_t itself. */ +#ifndef ____gwchar_t_defined +# ifdef __cplusplus +# define __gwchar_t wchar_t +# elif defined __WCHAR_TYPE__ +typedef __WCHAR_TYPE__ __gwchar_t; +# else +# define __need_wchar_t +# include +typedef wchar_t __gwchar_t; +# endif +# define ____gwchar_t_defined 1 +#endif + +# if __WORDSIZE == 64 +# define __PRI64_PREFIX "l" +# define __PRIPTR_PREFIX "l" +# else +# define __PRI64_PREFIX "ll" +# define __PRIPTR_PREFIX +# endif + +/* Macros for printing format specifiers. */ + +/* Decimal notation. */ +# define PRId8 "d" +# define PRId16 "d" +# define PRId32 "d" +# define PRId64 __PRI64_PREFIX "d" + +# define PRIdLEAST8 "d" +# define PRIdLEAST16 "d" +# define PRIdLEAST32 "d" +# define PRIdLEAST64 __PRI64_PREFIX "d" + +# define PRIdFAST8 "d" +# define PRIdFAST16 __PRIPTR_PREFIX "d" +# define PRIdFAST32 __PRIPTR_PREFIX "d" +# define PRIdFAST64 __PRI64_PREFIX "d" + + +# define PRIi8 "i" +# define PRIi16 "i" +# define PRIi32 "i" +# define PRIi64 __PRI64_PREFIX "i" + +# define PRIiLEAST8 "i" +# define PRIiLEAST16 "i" +# define PRIiLEAST32 "i" +# define PRIiLEAST64 __PRI64_PREFIX "i" + +# define PRIiFAST8 "i" +# define PRIiFAST16 __PRIPTR_PREFIX "i" +# define PRIiFAST32 __PRIPTR_PREFIX "i" +# define PRIiFAST64 __PRI64_PREFIX "i" + +/* Octal notation. */ +# define PRIo8 "o" +# define PRIo16 "o" +# define PRIo32 "o" +# define PRIo64 __PRI64_PREFIX "o" + +# define PRIoLEAST8 "o" +# define PRIoLEAST16 "o" +# define PRIoLEAST32 "o" +# define PRIoLEAST64 __PRI64_PREFIX "o" + +# define PRIoFAST8 "o" +# define PRIoFAST16 __PRIPTR_PREFIX "o" +# define PRIoFAST32 __PRIPTR_PREFIX "o" +# define PRIoFAST64 __PRI64_PREFIX "o" + +/* Unsigned integers. */ +# define PRIu8 "u" +# define PRIu16 "u" +# define PRIu32 "u" +# define PRIu64 __PRI64_PREFIX "u" + +# define PRIuLEAST8 "u" +# define PRIuLEAST16 "u" +# define PRIuLEAST32 "u" +# define PRIuLEAST64 __PRI64_PREFIX "u" + +# define PRIuFAST8 "u" +# define PRIuFAST16 __PRIPTR_PREFIX "u" +# define PRIuFAST32 __PRIPTR_PREFIX "u" +# define PRIuFAST64 __PRI64_PREFIX "u" + +/* lowercase hexadecimal notation. */ +# define PRIx8 "x" +# define PRIx16 "x" +# define PRIx32 "x" +# define PRIx64 __PRI64_PREFIX "x" + +# define PRIxLEAST8 "x" +# define PRIxLEAST16 "x" +# define PRIxLEAST32 "x" +# define PRIxLEAST64 __PRI64_PREFIX "x" + +# define PRIxFAST8 "x" +# define PRIxFAST16 __PRIPTR_PREFIX "x" +# define PRIxFAST32 __PRIPTR_PREFIX "x" +# define PRIxFAST64 __PRI64_PREFIX "x" + +/* UPPERCASE hexadecimal notation. */ +# define PRIX8 "X" +# define PRIX16 "X" +# define PRIX32 "X" +# define PRIX64 __PRI64_PREFIX "X" + +# define PRIXLEAST8 "X" +# define PRIXLEAST16 "X" +# define PRIXLEAST32 "X" +# define PRIXLEAST64 __PRI64_PREFIX "X" + +# define PRIXFAST8 "X" +# define PRIXFAST16 __PRIPTR_PREFIX "X" +# define PRIXFAST32 __PRIPTR_PREFIX "X" +# define PRIXFAST64 __PRI64_PREFIX "X" + + +/* Macros for printing `intmax_t' and `uintmax_t'. */ +# define PRIdMAX __PRI64_PREFIX "d" +# define PRIiMAX __PRI64_PREFIX "i" +# define PRIoMAX __PRI64_PREFIX "o" +# define PRIuMAX __PRI64_PREFIX "u" +# define PRIxMAX __PRI64_PREFIX "x" +# define PRIXMAX __PRI64_PREFIX "X" + + +/* Macros for printing `intptr_t' and `uintptr_t'. */ +# define PRIdPTR __PRIPTR_PREFIX "d" +# define PRIiPTR __PRIPTR_PREFIX "i" +# define PRIoPTR __PRIPTR_PREFIX "o" +# define PRIuPTR __PRIPTR_PREFIX "u" +# define PRIxPTR __PRIPTR_PREFIX "x" +# define PRIXPTR __PRIPTR_PREFIX "X" + +/* Binary notation. */ +# if __GLIBC_USE (ISOC23) +# define PRIb8 "b" +# define PRIb16 "b" +# define PRIb32 "b" +# define PRIb64 __PRI64_PREFIX "b" + +# define PRIbLEAST8 "b" +# define PRIbLEAST16 "b" +# define PRIbLEAST32 "b" +# define PRIbLEAST64 __PRI64_PREFIX "b" + +# define PRIbFAST8 "b" +# define PRIbFAST16 __PRIPTR_PREFIX "b" +# define PRIbFAST32 __PRIPTR_PREFIX "b" +# define PRIbFAST64 __PRI64_PREFIX "b" + +# define PRIbMAX __PRI64_PREFIX "b" +# define PRIbPTR __PRIPTR_PREFIX "b" + +# define PRIB8 "B" +# define PRIB16 "B" +# define PRIB32 "B" +# define PRIB64 __PRI64_PREFIX "B" + +# define PRIBLEAST8 "B" +# define PRIBLEAST16 "B" +# define PRIBLEAST32 "B" +# define PRIBLEAST64 __PRI64_PREFIX "B" + +# define PRIBFAST8 "B" +# define PRIBFAST16 __PRIPTR_PREFIX "B" +# define PRIBFAST32 __PRIPTR_PREFIX "B" +# define PRIBFAST64 __PRI64_PREFIX "B" + +# define PRIBMAX __PRI64_PREFIX "B" +# define PRIBPTR __PRIPTR_PREFIX "B" +# endif + + +/* Macros for scanning format specifiers. */ + +/* Signed decimal notation. */ +# define SCNd8 "hhd" +# define SCNd16 "hd" +# define SCNd32 "d" +# define SCNd64 __PRI64_PREFIX "d" + +# define SCNdLEAST8 "hhd" +# define SCNdLEAST16 "hd" +# define SCNdLEAST32 "d" +# define SCNdLEAST64 __PRI64_PREFIX "d" + +# define SCNdFAST8 "hhd" +# define SCNdFAST16 __PRIPTR_PREFIX "d" +# define SCNdFAST32 __PRIPTR_PREFIX "d" +# define SCNdFAST64 __PRI64_PREFIX "d" + +/* Signed decimal notation. */ +# define SCNi8 "hhi" +# define SCNi16 "hi" +# define SCNi32 "i" +# define SCNi64 __PRI64_PREFIX "i" + +# define SCNiLEAST8 "hhi" +# define SCNiLEAST16 "hi" +# define SCNiLEAST32 "i" +# define SCNiLEAST64 __PRI64_PREFIX "i" + +# define SCNiFAST8 "hhi" +# define SCNiFAST16 __PRIPTR_PREFIX "i" +# define SCNiFAST32 __PRIPTR_PREFIX "i" +# define SCNiFAST64 __PRI64_PREFIX "i" + +/* Unsigned decimal notation. */ +# define SCNu8 "hhu" +# define SCNu16 "hu" +# define SCNu32 "u" +# define SCNu64 __PRI64_PREFIX "u" + +# define SCNuLEAST8 "hhu" +# define SCNuLEAST16 "hu" +# define SCNuLEAST32 "u" +# define SCNuLEAST64 __PRI64_PREFIX "u" + +# define SCNuFAST8 "hhu" +# define SCNuFAST16 __PRIPTR_PREFIX "u" +# define SCNuFAST32 __PRIPTR_PREFIX "u" +# define SCNuFAST64 __PRI64_PREFIX "u" + +/* Octal notation. */ +# define SCNo8 "hho" +# define SCNo16 "ho" +# define SCNo32 "o" +# define SCNo64 __PRI64_PREFIX "o" + +# define SCNoLEAST8 "hho" +# define SCNoLEAST16 "ho" +# define SCNoLEAST32 "o" +# define SCNoLEAST64 __PRI64_PREFIX "o" + +# define SCNoFAST8 "hho" +# define SCNoFAST16 __PRIPTR_PREFIX "o" +# define SCNoFAST32 __PRIPTR_PREFIX "o" +# define SCNoFAST64 __PRI64_PREFIX "o" + +/* Hexadecimal notation. */ +# define SCNx8 "hhx" +# define SCNx16 "hx" +# define SCNx32 "x" +# define SCNx64 __PRI64_PREFIX "x" + +# define SCNxLEAST8 "hhx" +# define SCNxLEAST16 "hx" +# define SCNxLEAST32 "x" +# define SCNxLEAST64 __PRI64_PREFIX "x" + +# define SCNxFAST8 "hhx" +# define SCNxFAST16 __PRIPTR_PREFIX "x" +# define SCNxFAST32 __PRIPTR_PREFIX "x" +# define SCNxFAST64 __PRI64_PREFIX "x" + + +/* Macros for scanning `intmax_t' and `uintmax_t'. */ +# define SCNdMAX __PRI64_PREFIX "d" +# define SCNiMAX __PRI64_PREFIX "i" +# define SCNoMAX __PRI64_PREFIX "o" +# define SCNuMAX __PRI64_PREFIX "u" +# define SCNxMAX __PRI64_PREFIX "x" + +/* Macros for scanning `intptr_t' and `uintptr_t'. */ +# define SCNdPTR __PRIPTR_PREFIX "d" +# define SCNiPTR __PRIPTR_PREFIX "i" +# define SCNoPTR __PRIPTR_PREFIX "o" +# define SCNuPTR __PRIPTR_PREFIX "u" +# define SCNxPTR __PRIPTR_PREFIX "x" + + +/* Binary notation. */ +# if __GLIBC_USE (ISOC23) +# define SCNb8 "hhb" +# define SCNb16 "hb" +# define SCNb32 "b" +# define SCNb64 __PRI64_PREFIX "b" + +# define SCNbLEAST8 "hhb" +# define SCNbLEAST16 "hb" +# define SCNbLEAST32 "b" +# define SCNbLEAST64 __PRI64_PREFIX "b" + +# define SCNbFAST8 "hhb" +# define SCNbFAST16 __PRIPTR_PREFIX "b" +# define SCNbFAST32 __PRIPTR_PREFIX "b" +# define SCNbFAST64 __PRI64_PREFIX "b" + +# define SCNbMAX __PRI64_PREFIX "b" +# define SCNbPTR __PRIPTR_PREFIX "b" +# endif + + +__BEGIN_DECLS + +#if __WORDSIZE == 64 + +/* We have to define the `uintmax_t' type using `ldiv_t'. */ +typedef struct + { + long int quot; /* Quotient. */ + long int rem; /* Remainder. */ + } imaxdiv_t; + +#else + +/* We have to define the `uintmax_t' type using `lldiv_t'. */ +typedef struct + { + __extension__ long long int quot; /* Quotient. */ + __extension__ long long int rem; /* Remainder. */ + } imaxdiv_t; + +#endif + + +/* Compute absolute value of N. */ +extern intmax_t imaxabs (intmax_t __n) __THROW __attribute__ ((__const__)); + +/* Return the `imaxdiv_t' representation of the value of NUMER over DENOM. */ +extern imaxdiv_t imaxdiv (intmax_t __numer, intmax_t __denom) + __THROW __attribute__ ((__const__)); + +/* Like `strtol' but convert to `intmax_t'. */ +extern intmax_t strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) __THROW; + +/* Like `strtoul' but convert to `uintmax_t'. */ +extern uintmax_t strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) __THROW; + +/* Like `wcstol' but convert to `intmax_t'. */ +extern intmax_t wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base) + __THROW; + +/* Like `wcstoul' but convert to `uintmax_t'. */ +extern uintmax_t wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, int __base) + __THROW; + +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern intmax_t __REDIRECT_NTH (strtoimax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoimax); +extern uintmax_t __REDIRECT_NTH (strtoumax, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoumax); +extern intmax_t __REDIRECT_NTH (wcstoimax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoimax); +extern uintmax_t __REDIRECT_NTH (wcstoumax, + (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, int __base), + __isoc23_wcstoumax); +# else +extern intmax_t __isoc23_strtoimax (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW; +extern uintmax_t __isoc23_strtoumax (const char *__restrict __nptr, + char ** __restrict __endptr, int __base) + __THROW; +extern intmax_t __isoc23_wcstoimax (const __gwchar_t *__restrict __nptr, + __gwchar_t **__restrict __endptr, + int __base) + __THROW; +extern uintmax_t __isoc23_wcstoumax (const __gwchar_t *__restrict __nptr, + __gwchar_t ** __restrict __endptr, + int __base) + __THROW; +# define strtoimax __isoc23_strtoimax +# define strtoumax __isoc23_strtoumax +# define wcstoimax __isoc23_wcstoimax +# define wcstoumax __isoc23_wcstoumax +# endif +#endif + +__END_DECLS + +#endif /* inttypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/langinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/langinfo.h new file mode 100644 index 00000000..3a5e70bd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/langinfo.h @@ -0,0 +1,674 @@ +/* Access to locale-dependent parameters. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LANGINFO_H +#define _LANGINFO_H 1 + +/* Get the type definition. */ +#include + +#include /* Define the __LC_* category names. */ + + +__BEGIN_DECLS + +/* Construct an `nl_item' value for `nl_langinfo' from a locale category + (LC_*) and an item index within the category. Some code may depend on + the item values within a category increasing monotonically with the + indices. */ +#define _NL_ITEM(category, index) (((category) << 16) | (index)) + +/* Extract the category and item index from a constructed `nl_item' value. */ +#define _NL_ITEM_CATEGORY(item) ((int) (item) >> 16) +#define _NL_ITEM_INDEX(item) ((int) (item) & 0xffff) + +/* Enumeration of locale items that can be queried with `nl_langinfo'. */ +enum +{ + /* LC_TIME category: date and time formatting. */ + + /* Abbreviated days of the week. */ + ABDAY_1 = _NL_ITEM (__LC_TIME, 0), /* Sun */ +#define ABDAY_1 ABDAY_1 + ABDAY_2, +#define ABDAY_2 ABDAY_2 + ABDAY_3, +#define ABDAY_3 ABDAY_3 + ABDAY_4, +#define ABDAY_4 ABDAY_4 + ABDAY_5, +#define ABDAY_5 ABDAY_5 + ABDAY_6, +#define ABDAY_6 ABDAY_6 + ABDAY_7, +#define ABDAY_7 ABDAY_7 + + /* Long-named days of the week. */ + DAY_1, /* Sunday */ +#define DAY_1 DAY_1 + DAY_2, /* Monday */ +#define DAY_2 DAY_2 + DAY_3, /* Tuesday */ +#define DAY_3 DAY_3 + DAY_4, /* Wednesday */ +#define DAY_4 DAY_4 + DAY_5, /* Thursday */ +#define DAY_5 DAY_5 + DAY_6, /* Friday */ +#define DAY_6 DAY_6 + DAY_7, /* Saturday */ +#define DAY_7 DAY_7 + + /* Abbreviated month names, in the grammatical form used when the month + is a part of a complete date. */ + ABMON_1, /* Jan */ +#define ABMON_1 ABMON_1 + ABMON_2, +#define ABMON_2 ABMON_2 + ABMON_3, +#define ABMON_3 ABMON_3 + ABMON_4, +#define ABMON_4 ABMON_4 + ABMON_5, +#define ABMON_5 ABMON_5 + ABMON_6, +#define ABMON_6 ABMON_6 + ABMON_7, +#define ABMON_7 ABMON_7 + ABMON_8, +#define ABMON_8 ABMON_8 + ABMON_9, +#define ABMON_9 ABMON_9 + ABMON_10, +#define ABMON_10 ABMON_10 + ABMON_11, +#define ABMON_11 ABMON_11 + ABMON_12, +#define ABMON_12 ABMON_12 + + /* Long month names, in the grammatical form used when the month + is a part of a complete date. */ + MON_1, /* January */ +#define MON_1 MON_1 + MON_2, +#define MON_2 MON_2 + MON_3, +#define MON_3 MON_3 + MON_4, +#define MON_4 MON_4 + MON_5, +#define MON_5 MON_5 + MON_6, +#define MON_6 MON_6 + MON_7, +#define MON_7 MON_7 + MON_8, +#define MON_8 MON_8 + MON_9, +#define MON_9 MON_9 + MON_10, +#define MON_10 MON_10 + MON_11, +#define MON_11 MON_11 + MON_12, +#define MON_12 MON_12 + + AM_STR, /* Ante meridiem string. */ +#define AM_STR AM_STR + PM_STR, /* Post meridiem string. */ +#define PM_STR PM_STR + + D_T_FMT, /* Date and time format for strftime. */ +#define D_T_FMT D_T_FMT + D_FMT, /* Date format for strftime. */ +#define D_FMT D_FMT + T_FMT, /* Time format for strftime. */ +#define T_FMT T_FMT + T_FMT_AMPM, /* 12-hour time format for strftime. */ +#define T_FMT_AMPM T_FMT_AMPM + + ERA, /* Alternate era. */ +#define ERA ERA + __ERA_YEAR, /* Year in alternate era format. */ +#ifdef __USE_GNU +# define ERA_YEAR __ERA_YEAR +#endif + ERA_D_FMT, /* Date in alternate era format. */ +#define ERA_D_FMT ERA_D_FMT + ALT_DIGITS, /* Alternate symbols for digits. */ +#define ALT_DIGITS ALT_DIGITS + ERA_D_T_FMT, /* Date and time in alternate era format. */ +#define ERA_D_T_FMT ERA_D_T_FMT + ERA_T_FMT, /* Time in alternate era format. */ +#define ERA_T_FMT ERA_T_FMT + + _NL_TIME_ERA_NUM_ENTRIES, /* Number entries in the era arrays. */ + _NL_TIME_ERA_ENTRIES, /* Structure with era entries in usable form.*/ + + _NL_WABDAY_1, /* Sun */ + _NL_WABDAY_2, + _NL_WABDAY_3, + _NL_WABDAY_4, + _NL_WABDAY_5, + _NL_WABDAY_6, + _NL_WABDAY_7, + + /* Long-named days of the week. */ + _NL_WDAY_1, /* Sunday */ + _NL_WDAY_2, /* Monday */ + _NL_WDAY_3, /* Tuesday */ + _NL_WDAY_4, /* Wednesday */ + _NL_WDAY_5, /* Thursday */ + _NL_WDAY_6, /* Friday */ + _NL_WDAY_7, /* Saturday */ + + /* Abbreviated month names, in the grammatical form used when the month + is a part of a complete date. */ + _NL_WABMON_1, /* Jan */ + _NL_WABMON_2, + _NL_WABMON_3, + _NL_WABMON_4, + _NL_WABMON_5, + _NL_WABMON_6, + _NL_WABMON_7, + _NL_WABMON_8, + _NL_WABMON_9, + _NL_WABMON_10, + _NL_WABMON_11, + _NL_WABMON_12, + + /* Long month names, in the grammatical form used when the month + is a part of a complete date. */ + _NL_WMON_1, /* January */ + _NL_WMON_2, + _NL_WMON_3, + _NL_WMON_4, + _NL_WMON_5, + _NL_WMON_6, + _NL_WMON_7, + _NL_WMON_8, + _NL_WMON_9, + _NL_WMON_10, + _NL_WMON_11, + _NL_WMON_12, + + _NL_WAM_STR, /* Ante meridiem string. */ + _NL_WPM_STR, /* Post meridiem string. */ + + _NL_WD_T_FMT, /* Date and time format for strftime. */ + _NL_WD_FMT, /* Date format for strftime. */ + _NL_WT_FMT, /* Time format for strftime. */ + _NL_WT_FMT_AMPM, /* 12-hour time format for strftime. */ + + _NL_WERA_YEAR, /* Year in alternate era format. */ + _NL_WERA_D_FMT, /* Date in alternate era format. */ + _NL_WALT_DIGITS, /* Alternate symbols for digits. */ + _NL_WERA_D_T_FMT, /* Date and time in alternate era format. */ + _NL_WERA_T_FMT, /* Time in alternate era format. */ + + _NL_TIME_WEEK_NDAYS, + _NL_TIME_WEEK_1STDAY, + _NL_TIME_WEEK_1STWEEK, + _NL_TIME_FIRST_WEEKDAY, + _NL_TIME_FIRST_WORKDAY, + _NL_TIME_CAL_DIRECTION, + _NL_TIME_TIMEZONE, + + _DATE_FMT, /* strftime format for date. */ +#define _DATE_FMT _DATE_FMT + _NL_W_DATE_FMT, + + _NL_TIME_CODESET, + + /* Long month names, in the grammatical form used when the month + is named by itself. */ + __ALTMON_1, /* January */ + __ALTMON_2, + __ALTMON_3, + __ALTMON_4, + __ALTMON_5, + __ALTMON_6, + __ALTMON_7, + __ALTMON_8, + __ALTMON_9, + __ALTMON_10, + __ALTMON_11, + __ALTMON_12, +#ifdef __USE_GNU +# define ALTMON_1 __ALTMON_1 +# define ALTMON_2 __ALTMON_2 +# define ALTMON_3 __ALTMON_3 +# define ALTMON_4 __ALTMON_4 +# define ALTMON_5 __ALTMON_5 +# define ALTMON_6 __ALTMON_6 +# define ALTMON_7 __ALTMON_7 +# define ALTMON_8 __ALTMON_8 +# define ALTMON_9 __ALTMON_9 +# define ALTMON_10 __ALTMON_10 +# define ALTMON_11 __ALTMON_11 +# define ALTMON_12 __ALTMON_12 +#endif + + /* Long month names, in the grammatical form used when the month + is named by itself. */ + _NL_WALTMON_1, /* January */ + _NL_WALTMON_2, + _NL_WALTMON_3, + _NL_WALTMON_4, + _NL_WALTMON_5, + _NL_WALTMON_6, + _NL_WALTMON_7, + _NL_WALTMON_8, + _NL_WALTMON_9, + _NL_WALTMON_10, + _NL_WALTMON_11, + _NL_WALTMON_12, + + /* Abbreviated month names, in the grammatical form used when the month + is named by itself. */ + _NL_ABALTMON_1, /* Jan */ + _NL_ABALTMON_2, + _NL_ABALTMON_3, + _NL_ABALTMON_4, + _NL_ABALTMON_5, + _NL_ABALTMON_6, + _NL_ABALTMON_7, + _NL_ABALTMON_8, + _NL_ABALTMON_9, + _NL_ABALTMON_10, + _NL_ABALTMON_11, + _NL_ABALTMON_12, + + /* Abbreviated month names, in the grammatical form used when the month + is named by itself. */ + _NL_WABALTMON_1, /* Jan */ + _NL_WABALTMON_2, + _NL_WABALTMON_3, + _NL_WABALTMON_4, + _NL_WABALTMON_5, + _NL_WABALTMON_6, + _NL_WABALTMON_7, + _NL_WABALTMON_8, + _NL_WABALTMON_9, + _NL_WABALTMON_10, + _NL_WABALTMON_11, + _NL_WABALTMON_12, + + _NL_NUM_LC_TIME, /* Number of indices in LC_TIME category. */ + + /* LC_COLLATE category: text sorting. + This information is accessed by the strcoll and strxfrm functions. + These `nl_langinfo' names are used only internally. */ + _NL_COLLATE_NRULES = _NL_ITEM (__LC_COLLATE, 0), + _NL_COLLATE_RULESETS, + _NL_COLLATE_TABLEMB, + _NL_COLLATE_WEIGHTMB, + _NL_COLLATE_EXTRAMB, + _NL_COLLATE_INDIRECTMB, + _NL_COLLATE_GAP1, + _NL_COLLATE_GAP2, + _NL_COLLATE_GAP3, + _NL_COLLATE_TABLEWC, + _NL_COLLATE_WEIGHTWC, + _NL_COLLATE_EXTRAWC, + _NL_COLLATE_INDIRECTWC, + _NL_COLLATE_SYMB_HASH_SIZEMB, + _NL_COLLATE_SYMB_TABLEMB, + _NL_COLLATE_SYMB_EXTRAMB, + _NL_COLLATE_COLLSEQMB, + _NL_COLLATE_COLLSEQWC, + _NL_COLLATE_CODESET, + _NL_NUM_LC_COLLATE, + + /* LC_CTYPE category: character classification. + This information is accessed by the functions in . + These `nl_langinfo' names are used only internally. */ + _NL_CTYPE_CLASS = _NL_ITEM (__LC_CTYPE, 0), + _NL_CTYPE_TOUPPER, + _NL_CTYPE_GAP1, + _NL_CTYPE_TOLOWER, + _NL_CTYPE_GAP2, + _NL_CTYPE_CLASS32, + _NL_CTYPE_GAP3, + _NL_CTYPE_GAP4, + _NL_CTYPE_GAP5, + _NL_CTYPE_GAP6, + _NL_CTYPE_CLASS_NAMES, + _NL_CTYPE_MAP_NAMES, + _NL_CTYPE_WIDTH, + _NL_CTYPE_MB_CUR_MAX, + _NL_CTYPE_CODESET_NAME, + CODESET = _NL_CTYPE_CODESET_NAME, +#define CODESET CODESET + _NL_CTYPE_TOUPPER32, + _NL_CTYPE_TOLOWER32, + _NL_CTYPE_CLASS_OFFSET, + _NL_CTYPE_MAP_OFFSET, + _NL_CTYPE_INDIGITS_MB_LEN, + _NL_CTYPE_INDIGITS0_MB, + _NL_CTYPE_INDIGITS1_MB, + _NL_CTYPE_INDIGITS2_MB, + _NL_CTYPE_INDIGITS3_MB, + _NL_CTYPE_INDIGITS4_MB, + _NL_CTYPE_INDIGITS5_MB, + _NL_CTYPE_INDIGITS6_MB, + _NL_CTYPE_INDIGITS7_MB, + _NL_CTYPE_INDIGITS8_MB, + _NL_CTYPE_INDIGITS9_MB, + _NL_CTYPE_INDIGITS_WC_LEN, + _NL_CTYPE_INDIGITS0_WC, + _NL_CTYPE_INDIGITS1_WC, + _NL_CTYPE_INDIGITS2_WC, + _NL_CTYPE_INDIGITS3_WC, + _NL_CTYPE_INDIGITS4_WC, + _NL_CTYPE_INDIGITS5_WC, + _NL_CTYPE_INDIGITS6_WC, + _NL_CTYPE_INDIGITS7_WC, + _NL_CTYPE_INDIGITS8_WC, + _NL_CTYPE_INDIGITS9_WC, + _NL_CTYPE_OUTDIGIT0_MB, + _NL_CTYPE_OUTDIGIT1_MB, + _NL_CTYPE_OUTDIGIT2_MB, + _NL_CTYPE_OUTDIGIT3_MB, + _NL_CTYPE_OUTDIGIT4_MB, + _NL_CTYPE_OUTDIGIT5_MB, + _NL_CTYPE_OUTDIGIT6_MB, + _NL_CTYPE_OUTDIGIT7_MB, + _NL_CTYPE_OUTDIGIT8_MB, + _NL_CTYPE_OUTDIGIT9_MB, + _NL_CTYPE_OUTDIGIT0_WC, + _NL_CTYPE_OUTDIGIT1_WC, + _NL_CTYPE_OUTDIGIT2_WC, + _NL_CTYPE_OUTDIGIT3_WC, + _NL_CTYPE_OUTDIGIT4_WC, + _NL_CTYPE_OUTDIGIT5_WC, + _NL_CTYPE_OUTDIGIT6_WC, + _NL_CTYPE_OUTDIGIT7_WC, + _NL_CTYPE_OUTDIGIT8_WC, + _NL_CTYPE_OUTDIGIT9_WC, + _NL_CTYPE_TRANSLIT_TAB_SIZE, + _NL_CTYPE_TRANSLIT_FROM_IDX, + _NL_CTYPE_TRANSLIT_FROM_TBL, + _NL_CTYPE_TRANSLIT_TO_IDX, + _NL_CTYPE_TRANSLIT_TO_TBL, + _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, + _NL_CTYPE_TRANSLIT_DEFAULT_MISSING, + _NL_CTYPE_TRANSLIT_IGNORE_LEN, + _NL_CTYPE_TRANSLIT_IGNORE, + _NL_CTYPE_MAP_TO_NONASCII, + _NL_CTYPE_NONASCII_CASE, + _NL_CTYPE_EXTRA_MAP_1, + _NL_CTYPE_EXTRA_MAP_2, + _NL_CTYPE_EXTRA_MAP_3, + _NL_CTYPE_EXTRA_MAP_4, + _NL_CTYPE_EXTRA_MAP_5, + _NL_CTYPE_EXTRA_MAP_6, + _NL_CTYPE_EXTRA_MAP_7, + _NL_CTYPE_EXTRA_MAP_8, + _NL_CTYPE_EXTRA_MAP_9, + _NL_CTYPE_EXTRA_MAP_10, + _NL_CTYPE_EXTRA_MAP_11, + _NL_CTYPE_EXTRA_MAP_12, + _NL_CTYPE_EXTRA_MAP_13, + _NL_CTYPE_EXTRA_MAP_14, + _NL_NUM_LC_CTYPE, + + /* LC_MONETARY category: formatting of monetary quantities. + These items each correspond to a member of `struct lconv', + defined in . */ + __INT_CURR_SYMBOL = _NL_ITEM (__LC_MONETARY, 0), +#ifdef __USE_GNU +# define INT_CURR_SYMBOL __INT_CURR_SYMBOL +#endif + __CURRENCY_SYMBOL, +#ifdef __USE_GNU +# define CURRENCY_SYMBOL __CURRENCY_SYMBOL +#endif + __MON_DECIMAL_POINT, +#ifdef __USE_GNU +# define MON_DECIMAL_POINT __MON_DECIMAL_POINT +#endif + __MON_THOUSANDS_SEP, +#ifdef __USE_GNU +# define MON_THOUSANDS_SEP __MON_THOUSANDS_SEP +#endif + __MON_GROUPING, +#ifdef __USE_GNU +# define MON_GROUPING __MON_GROUPING +#endif + __POSITIVE_SIGN, +#ifdef __USE_GNU +# define POSITIVE_SIGN __POSITIVE_SIGN +#endif + __NEGATIVE_SIGN, +#ifdef __USE_GNU +# define NEGATIVE_SIGN __NEGATIVE_SIGN +#endif + __INT_FRAC_DIGITS, +#ifdef __USE_GNU +# define INT_FRAC_DIGITS __INT_FRAC_DIGITS +#endif + __FRAC_DIGITS, +#ifdef __USE_GNU +# define FRAC_DIGITS __FRAC_DIGITS +#endif + __P_CS_PRECEDES, +#ifdef __USE_GNU +# define P_CS_PRECEDES __P_CS_PRECEDES +#endif + __P_SEP_BY_SPACE, +#ifdef __USE_GNU +# define P_SEP_BY_SPACE __P_SEP_BY_SPACE +#endif + __N_CS_PRECEDES, +#ifdef __USE_GNU +# define N_CS_PRECEDES __N_CS_PRECEDES +#endif + __N_SEP_BY_SPACE, +#ifdef __USE_GNU +# define N_SEP_BY_SPACE __N_SEP_BY_SPACE +#endif + __P_SIGN_POSN, +#ifdef __USE_GNU +# define P_SIGN_POSN __P_SIGN_POSN +#endif + __N_SIGN_POSN, +#ifdef __USE_GNU +# define N_SIGN_POSN __N_SIGN_POSN +#endif + _NL_MONETARY_CRNCYSTR, +#define CRNCYSTR _NL_MONETARY_CRNCYSTR + __INT_P_CS_PRECEDES, +#ifdef __USE_GNU +# define INT_P_CS_PRECEDES __INT_P_CS_PRECEDES +#endif + __INT_P_SEP_BY_SPACE, +#ifdef __USE_GNU +# define INT_P_SEP_BY_SPACE __INT_P_SEP_BY_SPACE +#endif + __INT_N_CS_PRECEDES, +#ifdef __USE_GNU +# define INT_N_CS_PRECEDES __INT_N_CS_PRECEDES +#endif + __INT_N_SEP_BY_SPACE, +#ifdef __USE_GNU +# define INT_N_SEP_BY_SPACE __INT_N_SEP_BY_SPACE +#endif + __INT_P_SIGN_POSN, +#ifdef __USE_GNU +# define INT_P_SIGN_POSN __INT_P_SIGN_POSN +#endif + __INT_N_SIGN_POSN, +#ifdef __USE_GNU +# define INT_N_SIGN_POSN __INT_N_SIGN_POSN +#endif + _NL_MONETARY_DUO_INT_CURR_SYMBOL, + _NL_MONETARY_DUO_CURRENCY_SYMBOL, + _NL_MONETARY_DUO_INT_FRAC_DIGITS, + _NL_MONETARY_DUO_FRAC_DIGITS, + _NL_MONETARY_DUO_P_CS_PRECEDES, + _NL_MONETARY_DUO_P_SEP_BY_SPACE, + _NL_MONETARY_DUO_N_CS_PRECEDES, + _NL_MONETARY_DUO_N_SEP_BY_SPACE, + _NL_MONETARY_DUO_INT_P_CS_PRECEDES, + _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, + _NL_MONETARY_DUO_INT_N_CS_PRECEDES, + _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, + _NL_MONETARY_DUO_P_SIGN_POSN, + _NL_MONETARY_DUO_N_SIGN_POSN, + _NL_MONETARY_DUO_INT_P_SIGN_POSN, + _NL_MONETARY_DUO_INT_N_SIGN_POSN, + _NL_MONETARY_UNO_VALID_FROM, + _NL_MONETARY_UNO_VALID_TO, + _NL_MONETARY_DUO_VALID_FROM, + _NL_MONETARY_DUO_VALID_TO, + _NL_MONETARY_CONVERSION_RATE, + _NL_MONETARY_DECIMAL_POINT_WC, + _NL_MONETARY_THOUSANDS_SEP_WC, + _NL_MONETARY_CODESET, + _NL_NUM_LC_MONETARY, + + /* LC_NUMERIC category: formatting of numbers. + These also correspond to members of `struct lconv'; see . */ + __DECIMAL_POINT = _NL_ITEM (__LC_NUMERIC, 0), +#ifdef __USE_GNU +# define DECIMAL_POINT __DECIMAL_POINT +#endif + RADIXCHAR = __DECIMAL_POINT, +#define RADIXCHAR RADIXCHAR + __THOUSANDS_SEP, +#ifdef __USE_GNU +# define THOUSANDS_SEP __THOUSANDS_SEP +#endif + THOUSEP = __THOUSANDS_SEP, +#define THOUSEP THOUSEP + __GROUPING, +#ifdef __USE_GNU +# define GROUPING __GROUPING +#endif + _NL_NUMERIC_DECIMAL_POINT_WC, + _NL_NUMERIC_THOUSANDS_SEP_WC, + _NL_NUMERIC_CODESET, + _NL_NUM_LC_NUMERIC, + + __YESEXPR = _NL_ITEM (__LC_MESSAGES, 0), /* Regex matching ``yes'' input. */ +#define YESEXPR __YESEXPR + __NOEXPR, /* Regex matching ``no'' input. */ +#define NOEXPR __NOEXPR + __YESSTR, /* Output string for ``yes''. */ +#if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define YESSTR __YESSTR +#endif + __NOSTR, /* Output string for ``no''. */ +#if defined __USE_GNU || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define NOSTR __NOSTR +#endif + _NL_MESSAGES_CODESET, + _NL_NUM_LC_MESSAGES, + + _NL_PAPER_HEIGHT = _NL_ITEM (__LC_PAPER, 0), + _NL_PAPER_WIDTH, + _NL_PAPER_CODESET, + _NL_NUM_LC_PAPER, + + _NL_NAME_NAME_FMT = _NL_ITEM (__LC_NAME, 0), + _NL_NAME_NAME_GEN, + _NL_NAME_NAME_MR, + _NL_NAME_NAME_MRS, + _NL_NAME_NAME_MISS, + _NL_NAME_NAME_MS, + _NL_NAME_CODESET, + _NL_NUM_LC_NAME, + + _NL_ADDRESS_POSTAL_FMT = _NL_ITEM (__LC_ADDRESS, 0), + _NL_ADDRESS_COUNTRY_NAME, + _NL_ADDRESS_COUNTRY_POST, + _NL_ADDRESS_COUNTRY_AB2, + _NL_ADDRESS_COUNTRY_AB3, + _NL_ADDRESS_COUNTRY_CAR, + _NL_ADDRESS_COUNTRY_NUM, + _NL_ADDRESS_COUNTRY_ISBN, + _NL_ADDRESS_LANG_NAME, + _NL_ADDRESS_LANG_AB, + _NL_ADDRESS_LANG_TERM, + _NL_ADDRESS_LANG_LIB, + _NL_ADDRESS_CODESET, + _NL_NUM_LC_ADDRESS, + + _NL_TELEPHONE_TEL_INT_FMT = _NL_ITEM (__LC_TELEPHONE, 0), + _NL_TELEPHONE_TEL_DOM_FMT, + _NL_TELEPHONE_INT_SELECT, + _NL_TELEPHONE_INT_PREFIX, + _NL_TELEPHONE_CODESET, + _NL_NUM_LC_TELEPHONE, + + _NL_MEASUREMENT_MEASUREMENT = _NL_ITEM (__LC_MEASUREMENT, 0), + _NL_MEASUREMENT_CODESET, + _NL_NUM_LC_MEASUREMENT, + + _NL_IDENTIFICATION_TITLE = _NL_ITEM (__LC_IDENTIFICATION, 0), + _NL_IDENTIFICATION_SOURCE, + _NL_IDENTIFICATION_ADDRESS, + _NL_IDENTIFICATION_CONTACT, + _NL_IDENTIFICATION_EMAIL, + _NL_IDENTIFICATION_TEL, + _NL_IDENTIFICATION_FAX, + _NL_IDENTIFICATION_LANGUAGE, + _NL_IDENTIFICATION_TERRITORY, + _NL_IDENTIFICATION_AUDIENCE, + _NL_IDENTIFICATION_APPLICATION, + _NL_IDENTIFICATION_ABBREVIATION, + _NL_IDENTIFICATION_REVISION, + _NL_IDENTIFICATION_DATE, + _NL_IDENTIFICATION_CATEGORY, + _NL_IDENTIFICATION_CODESET, + _NL_NUM_LC_IDENTIFICATION, + + /* This marks the highest value used. */ + _NL_NUM +}; + +/* This macro produces an item you can pass to `nl_langinfo' or + `nl_langinfo_l' to get the name of the locale in use for CATEGORY. */ +#define _NL_LOCALE_NAME(category) _NL_ITEM ((category), \ + _NL_ITEM_INDEX (-1)) +#ifdef __USE_GNU +# define NL_LOCALE_NAME(category) _NL_LOCALE_NAME (category) +#endif + + +/* Return the current locale's value for ITEM. + If ITEM is invalid, an empty string is returned. + + The string returned will not change until `setlocale' is called; + it is usually in read-only memory and cannot be modified. */ + +extern char *nl_langinfo (nl_item __item) __THROW; + + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* Just like nl_langinfo but get the information from the locale object L. */ +extern char *nl_langinfo_l (nl_item __item, locale_t __l); +#endif + +__END_DECLS + +#endif /* langinfo.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/lastlog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/lastlog.h new file mode 100644 index 00000000..ecedc064 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/lastlog.h @@ -0,0 +1,4 @@ +/* This header file is used in 4.3BSD to define `struct lastlog', + which we define in . */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libgen.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libgen.h new file mode 100644 index 00000000..4e489e79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libgen.h @@ -0,0 +1,39 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LIBGEN_H +#define _LIBGEN_H 1 + +#include + +__BEGIN_DECLS + +/* Return directory part of PATH or "." if none is available. */ +extern char *dirname (char *__path) __THROW; + +/* Return final component of PATH. + + This is the weird XPG version of this function. It sometimes will + modify its argument. Therefore we normally use the GNU version (in + ) and only if this header is included make the XPG + version available under the real name. */ +extern char *__xpg_basename (char *__path) __THROW; +#define basename __xpg_basename + +__END_DECLS + +#endif /* libgen.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libintl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libintl.h new file mode 100644 index 00000000..1032dd89 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/libintl.h @@ -0,0 +1,123 @@ +/* Message catalogs for internationalization. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + This file is derived from the file libgettext.h in the GNU gettext package. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LIBINTL_H +#define _LIBINTL_H 1 + +#include + +/* We define an additional symbol to signal that we use the GNU + implementation of gettext. */ +#define __USE_GNU_GETTEXT 1 + +/* Provide information about the supported file formats. Returns the + maximum minor revision number supported for a given major revision. */ +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) \ + ((major) == 0 ? 1 : -1) + +__BEGIN_DECLS + +/* Look up MSGID in the current default message catalog for the current + LC_MESSAGES locale. If not found, returns MSGID itself (the default + text). */ +extern char *gettext (const char *__msgid) + __THROW __attribute_format_arg__ (1); + +/* Look up MSGID in the DOMAINNAME message catalog for the current + LC_MESSAGES locale. */ +extern char *dgettext (const char *__domainname, const char *__msgid) + __THROW __attribute_format_arg__ (2); +extern char *__dgettext (const char *__domainname, const char *__msgid) + __THROW __attribute_format_arg__ (2); + +/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY + locale. */ +extern char *dcgettext (const char *__domainname, + const char *__msgid, int __category) + __THROW __attribute_format_arg__ (2); +extern char *__dcgettext (const char *__domainname, + const char *__msgid, int __category) + __THROW __attribute_format_arg__ (2); + + +/* Similar to `gettext' but select the plural form corresponding to the + number N. */ +extern char *ngettext (const char *__msgid1, const char *__msgid2, + unsigned long int __n) + __THROW __attribute_format_arg__ (1) __attribute_format_arg__ (2); + +/* Similar to `dgettext' but select the plural form corresponding to the + number N. */ +extern char *dngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n) + __THROW __attribute_format_arg__ (2) __attribute_format_arg__ (3); + +/* Similar to `dcgettext' but select the plural form corresponding to the + number N. */ +extern char *dcngettext (const char *__domainname, const char *__msgid1, + const char *__msgid2, unsigned long int __n, + int __category) + __THROW __attribute_format_arg__ (2) __attribute_format_arg__ (3); + + +/* Set the current default message catalog to DOMAINNAME. + If DOMAINNAME is null, return the current default. + If DOMAINNAME is "", reset to the default of "messages". */ +extern char *textdomain (const char *__domainname) __THROW; + +/* Specify that the DOMAINNAME message catalog will be found + in DIRNAME rather than in the system locale data base. */ +extern char *bindtextdomain (const char *__domainname, + const char *__dirname) __THROW; + +/* Specify the character encoding in which the messages from the + DOMAINNAME message catalog will be returned. */ +extern char *bind_textdomain_codeset (const char *__domainname, + const char *__codeset) __THROW; + + +/* Optimized version of the function above. */ +#if defined __OPTIMIZE__ && !defined __cplusplus + +/* We need NULL for `gettext'. */ +# define __need_NULL +# include + +/* We need LC_MESSAGES for `dgettext'. */ +# include + +/* These must be macros. Inlined functions are useless because the + `__builtin_constant_p' predicate in dcgettext would always return + false. */ + +# define gettext(msgid) dgettext (NULL, msgid) + +# define dgettext(domainname, msgid) \ + dcgettext (domainname, msgid, LC_MESSAGES) + +# define ngettext(msgid1, msgid2, n) dngettext (NULL, msgid1, msgid2, n) + +# define dngettext(domainname, msgid1, msgid2, n) \ + dcngettext (domainname, msgid1, msgid2, n, LC_MESSAGES) + +#endif /* Optimizing. */ + +__END_DECLS + +#endif /* libintl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/limits.h new file mode 100644 index 00000000..88a0949f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/limits.h @@ -0,0 +1,204 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types + */ + +#ifndef _LIBC_LIMITS_H_ +#define _LIBC_LIMITS_H_ 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + + +/* Maximum length of any multibyte character in any locale. + We define this value here since the gcc header does not define + the correct value. */ +#define MB_LEN_MAX 16 + + +/* If we are not using GNU CC we have to define all the symbols ourself. + Otherwise use gcc's definitions (see below). */ +#if !defined __GNUC__ || __GNUC__ < 2 + +/* We only protect from multiple inclusion here, because all the other + #include's protect themselves, and in GCC 2 we may #include_next through + multiple copies of this file before we get to GCC's. */ +# ifndef _LIMITS_H +# define _LIMITS_H 1 + +#include + +/* We don't have #include_next. + Define ANSI for standard 32-bit words. */ + +/* These assume 8-bit `char's, 16-bit `short int's, + and 32-bit `int's and `long int's. */ + +/* Number of bits in a `char'. */ +# define CHAR_BIT 8 + +/* Minimum and maximum values a `signed char' can hold. */ +# define SCHAR_MIN (-128) +# define SCHAR_MAX 127 + +/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */ +# define UCHAR_MAX 255 + +/* Minimum and maximum values a `char' can hold. */ +# ifdef __CHAR_UNSIGNED__ +# define CHAR_MIN 0 +# define CHAR_MAX UCHAR_MAX +# else +# define CHAR_MIN SCHAR_MIN +# define CHAR_MAX SCHAR_MAX +# endif + +/* Minimum and maximum values a `signed short int' can hold. */ +# define SHRT_MIN (-32768) +# define SHRT_MAX 32767 + +/* Maximum value an `unsigned short int' can hold. (Minimum is 0.) */ +# define USHRT_MAX 65535 + +/* Minimum and maximum values a `signed int' can hold. */ +# define INT_MIN (-INT_MAX - 1) +# define INT_MAX 2147483647 + +/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */ +# define UINT_MAX 4294967295U + +/* Minimum and maximum values a `signed long int' can hold. */ +# if __WORDSIZE == 64 +# define LONG_MAX 9223372036854775807L +# else +# define LONG_MAX 2147483647L +# endif +# define LONG_MIN (-LONG_MAX - 1L) + +/* Maximum value an `unsigned long int' can hold. (Minimum is 0.) */ +# if __WORDSIZE == 64 +# define ULONG_MAX 18446744073709551615UL +# else +# define ULONG_MAX 4294967295UL +# endif + +# ifdef __USE_ISOC99 + +/* Minimum and maximum values a `signed long long int' can hold. */ +# define LLONG_MAX 9223372036854775807LL +# define LLONG_MIN (-LLONG_MAX - 1LL) + +/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */ +# define ULLONG_MAX 18446744073709551615ULL + +# endif /* ISO C99 */ + +# endif /* limits.h */ +#endif /* GCC 2. */ + +#endif /* !_LIBC_LIMITS_H_ */ + + /* Get the compiler's limits.h, which defines almost all the ISO constants. + + We put this #include_next outside the double inclusion check because + it should be possible to include this file more than once and still get + the definitions from gcc's header. */ +#if defined __GNUC__ && !defined _GCC_LIMITS_H_ +/* `_GCC_LIMITS_H_' is what GCC's file defines. */ +# include_next +#endif + +/* The files in some gcc versions don't define LLONG_MIN, + LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for + ages are available. */ +#if defined __USE_ISOC99 && defined __GNUC__ +# ifndef LLONG_MIN +# define LLONG_MIN (-LLONG_MAX-1) +# endif +# ifndef LLONG_MAX +# define LLONG_MAX __LONG_LONG_MAX__ +# endif +# ifndef ULLONG_MAX +# define ULLONG_MAX (LLONG_MAX * 2ULL + 1) +# endif +#endif + +/* The integer width macros are not defined by GCC's before + GCC 7, or if _GNU_SOURCE rather than + __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */ +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +# ifndef CHAR_WIDTH +# define CHAR_WIDTH 8 +# endif +# ifndef SCHAR_WIDTH +# define SCHAR_WIDTH 8 +# endif +# ifndef UCHAR_WIDTH +# define UCHAR_WIDTH 8 +# endif +# ifndef SHRT_WIDTH +# define SHRT_WIDTH 16 +# endif +# ifndef USHRT_WIDTH +# define USHRT_WIDTH 16 +# endif +# ifndef INT_WIDTH +# define INT_WIDTH 32 +# endif +# ifndef UINT_WIDTH +# define UINT_WIDTH 32 +# endif +# ifndef LONG_WIDTH +# define LONG_WIDTH __WORDSIZE +# endif +# ifndef ULONG_WIDTH +# define ULONG_WIDTH __WORDSIZE +# endif +# ifndef LLONG_WIDTH +# define LLONG_WIDTH 64 +# endif +# ifndef ULLONG_WIDTH +# define ULLONG_WIDTH 64 +# endif +#endif /* Use IEC_60559_BFP_EXT. */ + +/* The macros for _Bool are not defined by GCC's before GCC + 11, or if _GNU_SOURCE is defined rather than enabling C23 support + with -std. */ +#if __GLIBC_USE (ISOC23) +# ifndef BOOL_MAX +# define BOOL_MAX 1 +# endif +# ifndef BOOL_WIDTH +# define BOOL_WIDTH 1 +# endif +#endif + +#ifdef __USE_POSIX +/* POSIX adds things to . */ +# include +#endif + +#ifdef __USE_POSIX2 +# include +#endif + +#ifdef __USE_XOPEN +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/link.h new file mode 100644 index 00000000..23fd4424 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/link.h @@ -0,0 +1,211 @@ +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +#define _LINK_H 1 + +#include +#include +#include +#include + +/* We use this macro to refer to ELF types independent of the native wordsize. + `ElfW(TYPE)' is used in place of `Elf32_TYPE' or `Elf64_TYPE'. */ +#define ElfW(type) _ElfW (Elf, __ELF_NATIVE_CLASS, type) +#define _ElfW(e,w,t) _ElfW_1 (e, w, _##t) +#define _ElfW_1(e,w,t) e##w##t + +#include /* Defines __ELF_NATIVE_CLASS. */ +#include + +/* The legacy rendezvous structure used by the run-time dynamic linker to + communicate details of shared object loading to the debugger. */ + +struct r_debug + { + /* Version number for this protocol. It should be greater than 0. */ + int r_version; + + struct link_map *r_map; /* Head of the chain of loaded objects. */ + + /* This is the address of a function internal to the run-time linker, + that will always be called when the linker begins to map in a + library or unmap it, and again when the mapping change is complete. + The debugger can set a breakpoint at this address if it wants to + notice shared object mapping changes. */ + ElfW(Addr) r_brk; + enum + { + /* This state value describes the mapping change taking place when + the `r_brk' address is called. */ + RT_CONSISTENT, /* Mapping change is complete. */ + RT_ADD, /* Beginning to add a new object. */ + RT_DELETE /* Beginning to remove an object mapping. */ + } r_state; + + ElfW(Addr) r_ldbase; /* Base address the linker is loaded at. */ + }; + +/* This is the symbol of that structure provided by the dynamic linker. */ +extern struct r_debug _r_debug; + +/* The extended rendezvous structure used by the run-time dynamic linker + to communicate details of shared object loading to the debugger. If + the executable's dynamic section has a DT_DEBUG element, the run-time + linker sets that element's value to the address where this structure + can be found. */ + +struct r_debug_extended + { + struct r_debug base; + + /* The following field is added by r_version == 2. */ + + /* Link to the next r_debug_extended structure. Each r_debug_extended + structure represents a different namespace. The first + r_debug_extended structure is for the default namespace. */ + struct r_debug_extended *r_next; + }; + +/* This symbol refers to the "dynamic structure" in the `.dynamic' section + of whatever module refers to `_DYNAMIC'. So, to find its own + `struct r_debug_extended', a program could do: + for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) + if (dyn->d_tag == DT_DEBUG) + r_debug_extended = (struct r_debug_extended *) dyn->d_un.d_ptr; + */ +extern ElfW(Dyn) _DYNAMIC[]; + +/* Structure describing a loaded shared object. The `l_next' and `l_prev' + members form a chain of all the shared objects loaded at startup. + + These data structures exist in space used by the run-time dynamic linker; + modifying them may have disastrous results. */ + +struct link_map + { + /* These first few members are part of the protocol with the debugger. + This is the same format used in SVR4. */ + + ElfW(Addr) l_addr; /* Difference between the address in the ELF + file and the addresses in memory. */ + char *l_name; /* Absolute file name object was found in. */ + ElfW(Dyn) *l_ld; /* Dynamic section of the shared object. */ + struct link_map *l_next, *l_prev; /* Chain of loaded objects. */ + }; + +#ifdef __USE_GNU + +/* Version numbers for la_version handshake interface. */ +#include + +/* Activity types signaled through la_activity. */ +enum + { + LA_ACT_CONSISTENT, /* Link map consistent again. */ + LA_ACT_ADD, /* New object will be added. */ + LA_ACT_DELETE /* Objects will be removed. */ + }; + +/* Values representing origin of name for dynamic loading. */ +enum + { + LA_SER_ORIG = 0x01, /* Original name. */ + LA_SER_LIBPATH = 0x02, /* Directory from LD_LIBRARY_PATH. */ + LA_SER_RUNPATH = 0x04, /* Directory from RPATH/RUNPATH. */ + LA_SER_CONFIG = 0x08, /* Found through ldconfig. */ + LA_SER_DEFAULT = 0x40, /* Default directory. */ + LA_SER_SECURE = 0x80 /* Unused. */ + }; + +/* Values for la_objopen return value. */ +enum + { + LA_FLG_BINDTO = 0x01, /* Audit symbols bound to this object. */ + LA_FLG_BINDFROM = 0x02 /* Audit symbols bound from this object. */ + }; + +/* Values for la_symbind flags parameter. */ +enum + { + LA_SYMB_NOPLTENTER = 0x01, /* la_pltenter will not be called. */ + LA_SYMB_NOPLTEXIT = 0x02, /* la_pltexit will not be called. */ + LA_SYMB_STRUCTCALL = 0x04, /* Return value is a structure. */ + LA_SYMB_DLSYM = 0x08, /* Binding due to dlsym call. */ + LA_SYMB_ALTVALUE = 0x10 /* Value has been changed by a previous + la_symbind call. */ + }; + +struct dl_phdr_info + { + ElfW(Addr) dlpi_addr; + const char *dlpi_name; + const ElfW(Phdr) *dlpi_phdr; + ElfW(Half) dlpi_phnum; + + /* Note: Following members were introduced after the first + version of this structure was available. Check the SIZE + argument passed to the dl_iterate_phdr callback to determine + whether or not each later member is available. */ + + /* Incremented when a new object may have been added. */ + __extension__ unsigned long long int dlpi_adds; + /* Incremented when an object may have been removed. */ + __extension__ unsigned long long int dlpi_subs; + + /* If there is a PT_TLS segment, its module ID as used in + TLS relocations, else zero. */ + size_t dlpi_tls_modid; + + /* The address of the calling thread's instance of this module's + PT_TLS segment, if it has one and it has been allocated + in the calling thread, otherwise a null pointer. */ + void *dlpi_tls_data; + }; + +__BEGIN_DECLS + +extern int dl_iterate_phdr (int (*__callback) (struct dl_phdr_info *, + size_t, void *), + void *__data); + + +/* Prototypes for the ld.so auditing interfaces. These are not + defined anywhere in ld.so but instead have to be provided by the + auditing DSO. */ +extern unsigned int la_version (unsigned int __version); +extern void la_activity (uintptr_t *__cookie, unsigned int __flag); +extern char *la_objsearch (const char *__name, uintptr_t *__cookie, + unsigned int __flag); +extern unsigned int la_objopen (struct link_map *__map, Lmid_t __lmid, + uintptr_t *__cookie); +extern void la_preinit (uintptr_t *__cookie); +extern uintptr_t la_symbind32 (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, uintptr_t *__defcook, + unsigned int *__flags, const char *__symname); +extern uintptr_t la_symbind64 (Elf64_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, uintptr_t *__defcook, + unsigned int *__flags, const char *__symname); +extern unsigned int la_objclose (uintptr_t *__cookie); + +__END_DECLS + +#endif + +#endif /* link.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/locale.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/locale.h new file mode 100644 index 00000000..405a96d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/locale.h @@ -0,0 +1,197 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.11 Localization + */ + +#ifndef _LOCALE_H +#define _LOCALE_H 1 + +#include + +#define __need_NULL +#include +#include + +__BEGIN_DECLS + +/* These are the possibilities for the first argument to setlocale. + The code assumes that the lowest LC_* symbol has the value zero. */ +#define LC_CTYPE __LC_CTYPE +#define LC_NUMERIC __LC_NUMERIC +#define LC_TIME __LC_TIME +#define LC_COLLATE __LC_COLLATE +#define LC_MONETARY __LC_MONETARY +#define LC_MESSAGES __LC_MESSAGES +#define LC_ALL __LC_ALL +#define LC_PAPER __LC_PAPER +#define LC_NAME __LC_NAME +#define LC_ADDRESS __LC_ADDRESS +#define LC_TELEPHONE __LC_TELEPHONE +#define LC_MEASUREMENT __LC_MEASUREMENT +#define LC_IDENTIFICATION __LC_IDENTIFICATION + + +/* Structure giving information about numeric and monetary notation. */ +struct lconv +{ + /* Numeric (non-monetary) information. */ + + char *decimal_point; /* Decimal point character. */ + char *thousands_sep; /* Thousands separator. */ + /* Each element is the number of digits in each group; + elements with higher indices are farther left. + An element with value CHAR_MAX means that no further grouping is done. + An element with value 0 means that the previous element is used + for all groups farther left. */ + char *grouping; + + /* Monetary information. */ + + /* First three chars are a currency symbol from ISO 4217. + Fourth char is the separator. Fifth char is '\0'. */ + char *int_curr_symbol; + char *currency_symbol; /* Local currency symbol. */ + char *mon_decimal_point; /* Decimal point character. */ + char *mon_thousands_sep; /* Thousands separator. */ + char *mon_grouping; /* Like `grouping' element (above). */ + char *positive_sign; /* Sign for positive values. */ + char *negative_sign; /* Sign for negative values. */ + char int_frac_digits; /* Int'l fractional digits. */ + char frac_digits; /* Local fractional digits. */ + /* 1 if currency_symbol precedes a positive value, 0 if succeeds. */ + char p_cs_precedes; + /* 1 iff a space separates currency_symbol from a positive value. */ + char p_sep_by_space; + /* 1 if currency_symbol precedes a negative value, 0 if succeeds. */ + char n_cs_precedes; + /* 1 iff a space separates currency_symbol from a negative value. */ + char n_sep_by_space; + /* Positive and negative sign positions: + 0 Parentheses surround the quantity and currency_symbol. + 1 The sign string precedes the quantity and currency_symbol. + 2 The sign string follows the quantity and currency_symbol. + 3 The sign string immediately precedes the currency_symbol. + 4 The sign string immediately follows the currency_symbol. */ + char p_sign_posn; + char n_sign_posn; +#ifdef __USE_ISOC99 + /* 1 if int_curr_symbol precedes a positive value, 0 if succeeds. */ + char int_p_cs_precedes; + /* 1 iff a space separates int_curr_symbol from a positive value. */ + char int_p_sep_by_space; + /* 1 if int_curr_symbol precedes a negative value, 0 if succeeds. */ + char int_n_cs_precedes; + /* 1 iff a space separates int_curr_symbol from a negative value. */ + char int_n_sep_by_space; + /* Positive and negative sign positions: + 0 Parentheses surround the quantity and int_curr_symbol. + 1 The sign string precedes the quantity and int_curr_symbol. + 2 The sign string follows the quantity and int_curr_symbol. + 3 The sign string immediately precedes the int_curr_symbol. + 4 The sign string immediately follows the int_curr_symbol. */ + char int_p_sign_posn; + char int_n_sign_posn; +#else + char __int_p_cs_precedes; + char __int_p_sep_by_space; + char __int_n_cs_precedes; + char __int_n_sep_by_space; + char __int_p_sign_posn; + char __int_n_sign_posn; +#endif +}; + + +/* Set and/or return the current locale. */ +extern char *setlocale (int __category, const char *__locale) __THROW; + +/* Return the numeric/monetary information for the current locale. */ +extern struct lconv *localeconv (void) __THROW; + + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extends the locale interface with functions for + explicit creation and manipulation of 'locale_t' objects + representing locale contexts, and a set of parallel + locale-sensitive text processing functions that take a locale_t + argument. This enables applications to work with data from + multiple locales simultaneously and thread-safely. */ +# include + +/* Return a reference to a data structure representing a set of locale + datasets. Unlike for the CATEGORY parameter for `setlocale' the + CATEGORY_MASK parameter here uses a single bit for each category, + made by OR'ing together LC_*_MASK bits above. */ +extern locale_t newlocale (int __category_mask, const char *__locale, + locale_t __base) __THROW; + +/* These are the bits that can be set in the CATEGORY_MASK argument to + `newlocale'. In the GNU implementation, LC_FOO_MASK has the value + of (1 << LC_FOO), but this is not a part of the interface that + callers can assume will be true. */ +# define LC_CTYPE_MASK (1 << __LC_CTYPE) +# define LC_NUMERIC_MASK (1 << __LC_NUMERIC) +# define LC_TIME_MASK (1 << __LC_TIME) +# define LC_COLLATE_MASK (1 << __LC_COLLATE) +# define LC_MONETARY_MASK (1 << __LC_MONETARY) +# define LC_MESSAGES_MASK (1 << __LC_MESSAGES) +# define LC_PAPER_MASK (1 << __LC_PAPER) +# define LC_NAME_MASK (1 << __LC_NAME) +# define LC_ADDRESS_MASK (1 << __LC_ADDRESS) +# define LC_TELEPHONE_MASK (1 << __LC_TELEPHONE) +# define LC_MEASUREMENT_MASK (1 << __LC_MEASUREMENT) +# define LC_IDENTIFICATION_MASK (1 << __LC_IDENTIFICATION) +# define LC_ALL_MASK (LC_CTYPE_MASK \ + | LC_NUMERIC_MASK \ + | LC_TIME_MASK \ + | LC_COLLATE_MASK \ + | LC_MONETARY_MASK \ + | LC_MESSAGES_MASK \ + | LC_PAPER_MASK \ + | LC_NAME_MASK \ + | LC_ADDRESS_MASK \ + | LC_TELEPHONE_MASK \ + | LC_MEASUREMENT_MASK \ + | LC_IDENTIFICATION_MASK \ + ) + +/* Return a duplicate of the set of locale in DATASET. All usage + counters are increased if necessary. */ +extern locale_t duplocale (locale_t __dataset) __THROW; + +/* Free the data associated with a locale dataset previously returned + by a call to `setlocale_r'. */ +extern void freelocale (locale_t __dataset) __THROW; + +/* Switch the current thread's locale to DATASET. + If DATASET is null, instead just return the current setting. + The special value LC_GLOBAL_LOCALE is the initial setting + for all threads and can also be installed any time, meaning + the thread uses the global settings controlled by `setlocale'. */ +extern locale_t uselocale (locale_t __dataset) __THROW; + +/* This value can be passed to `uselocale' and may be returned by it. + Passing this value to any other function has undefined behavior. */ +# define LC_GLOBAL_LOCALE ((locale_t) -1L) + +#endif + +__END_DECLS + +#endif /* locale.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/malloc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/malloc.h new file mode 100644 index 00000000..a24d43c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/malloc.h @@ -0,0 +1,167 @@ +/* Prototypes and definition for malloc implementation. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MALLOC_H +#define _MALLOC_H 1 + +#include +#include +#include + +#ifdef _LIBC +# define __MALLOC_HOOK_VOLATILE +# define __MALLOC_DEPRECATED +#else +# define __MALLOC_HOOK_VOLATILE volatile +# define __MALLOC_DEPRECATED __attribute_deprecated__ +#endif + + +__BEGIN_DECLS + +/* Allocate SIZE bytes of memory. */ +extern void *malloc (size_t __size) __THROW __attribute_malloc__ + __attribute_alloc_size__ ((1)) __wur; + +/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ +extern void *calloc (size_t __nmemb, size_t __size) +__THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur; + +/* Re-allocate the previously allocated block in __ptr, making the new + block SIZE bytes long. */ +/* __attribute_malloc__ is not used, because if realloc returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *realloc (void *__ptr, size_t __size) +__THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2)); + +/* + * reallocarray introduced in glibc 2.26 + * https://sourceware.org/git/?p=glibc.git;a=commit;h=2e0bbbfbf95fc9e22692e93658a6fbdd2d4554da + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 26) || __GLIBC__ > 2 +/* Re-allocate the previously allocated block in PTR, making the new + block large enough for NMEMB elements of SIZE bytes each. */ +/* __attribute_malloc__ is not used, because if reallocarray returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2, 3)) + __attr_dealloc_free; +#endif /* glibc v2.26 and later */ + +/* Free a block allocated by `malloc', `realloc' or `calloc'. */ +extern void free (void *__ptr) __THROW; + +/* Allocate SIZE bytes allocated to ALIGNMENT bytes. */ +extern void *memalign (size_t __alignment, size_t __size) + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur __attr_dealloc_free; + +/* Allocate SIZE bytes on a page boundary. */ +extern void *valloc (size_t __size) __THROW __attribute_malloc__ + __attribute_alloc_size__ ((1)) __wur __attr_dealloc_free; + +/* Equivalent to valloc(minimum-page-that-holds(n)), that is, round up + __size to nearest pagesize. */ +extern void *pvalloc (size_t __size) __THROW __attribute_malloc__ + __wur __attr_dealloc_free; + +/* SVID2/XPG mallinfo structure */ + +struct mallinfo +{ + int arena; /* non-mmapped space allocated from system */ + int ordblks; /* number of free chunks */ + int smblks; /* number of fastbin blocks */ + int hblks; /* number of mmapped regions */ + int hblkhd; /* space in mmapped regions */ + int usmblks; /* always 0, preserved for backwards compatibility */ + int fsmblks; /* space available in freed fastbin blocks */ + int uordblks; /* total allocated space */ + int fordblks; /* total free space */ + int keepcost; /* top-most, releasable (via malloc_trim) space */ +}; + +/* SVID2/XPG mallinfo2 structure which can handle allocations + bigger than 4GB. */ + +struct mallinfo2 +{ + size_t arena; /* non-mmapped space allocated from system */ + size_t ordblks; /* number of free chunks */ + size_t smblks; /* number of fastbin blocks */ + size_t hblks; /* number of mmapped regions */ + size_t hblkhd; /* space in mmapped regions */ + size_t usmblks; /* always 0, preserved for backwards compatibility */ + size_t fsmblks; /* space available in freed fastbin blocks */ + size_t uordblks; /* total allocated space */ + size_t fordblks; /* total free space */ + size_t keepcost; /* top-most, releasable (via malloc_trim) space */ +}; + +/* Returns a copy of the updated current mallinfo. */ +extern struct mallinfo mallinfo (void) __THROW __MALLOC_DEPRECATED; + +/* Returns a copy of the updated current mallinfo. */ +extern struct mallinfo2 mallinfo2 (void) __THROW; + +/* SVID2/XPG mallopt options */ +#ifndef M_MXFAST +# define M_MXFAST 1 /* maximum request size for "fastbins" */ +#endif +#ifndef M_NLBLKS +# define M_NLBLKS 2 /* UNUSED in this malloc */ +#endif +#ifndef M_GRAIN +# define M_GRAIN 3 /* UNUSED in this malloc */ +#endif +#ifndef M_KEEP +# define M_KEEP 4 /* UNUSED in this malloc */ +#endif + +/* mallopt options that actually do something */ +#define M_TRIM_THRESHOLD -1 +#define M_TOP_PAD -2 +#define M_MMAP_THRESHOLD -3 +#define M_MMAP_MAX -4 +#define M_CHECK_ACTION -5 +#define M_PERTURB -6 +#define M_ARENA_TEST -7 +#define M_ARENA_MAX -8 + +/* General SVID/XPG interface to tunable parameters. */ +extern int mallopt (int __param, int __val) __THROW; + +/* Release all but __pad bytes of freed top-most memory back to the + system. Return 1 if successful, else 0. */ +extern int malloc_trim (size_t __pad) __THROW; + +/* Report the number of usable allocated bytes associated with allocated + chunk __ptr. */ +extern size_t malloc_usable_size (void *__ptr) __THROW; + +/* Prints brief summary statistics on stderr. */ +extern void malloc_stats (void) __THROW; + +/* Output information about state of allocator to stream FP. */ +extern int malloc_info (int __options, FILE *__fp) __THROW; + +__END_DECLS +#endif /* malloc.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/math.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/math.h new file mode 100644 index 00000000..2260d5d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/math.h @@ -0,0 +1,1444 @@ +/* Declarations for math functions. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.12 Mathematics + */ + +#ifndef _MATH_H +#define _MATH_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +#if defined log && defined __GNUC__ +# warning A macro called log was already defined when was included. +# warning This will cause compilation problems. +#endif + +__BEGIN_DECLS + +/* Get definitions of __intmax_t and __uintmax_t. */ +#include + +/* Get machine-dependent vector math functions declarations. */ +#include + +/* Gather machine dependent type support. */ +#include + +/* Value returned on overflow. With IEEE 754 floating point, this is + +Infinity, otherwise the largest representable positive value. */ +#if __GNUC_PREREQ (3, 3) +# define HUGE_VAL (__builtin_huge_val ()) +#else +/* This may provoke compiler warnings, and may not be rounded to + +Infinity in all IEEE 754 rounding modes, but is the best that can + be done in ISO C while remaining a constant expression. 10,000 is + greater than the maximum (decimal) exponent for all supported + floating-point formats and widths. */ +# define HUGE_VAL 1e10000 +#endif +#ifdef __USE_ISOC99 +# if __GNUC_PREREQ (3, 3) +# define HUGE_VALF (__builtin_huge_valf ()) +# define HUGE_VALL (__builtin_huge_vall ()) +# else +# define HUGE_VALF 1e10000f +# define HUGE_VALL 1e10000L +# endif +#endif +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F16 (__builtin_huge_valf16 ()) +#endif +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F32 (__builtin_huge_valf32 ()) +#endif +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F64 (__builtin_huge_valf64 ()) +#endif +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F128 (__builtin_huge_valf128 ()) +#endif +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F32X (__builtin_huge_valf32x ()) +#endif +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F64X (__builtin_huge_valf64x ()) +#endif +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define HUGE_VAL_F128X (__builtin_huge_valf128x ()) +#endif + +#ifdef __USE_ISOC99 +/* IEEE positive infinity. */ +# ifndef INFINITY +# if __GNUC_PREREQ (3, 3) +# define INFINITY (__builtin_inff ()) +# else +# define INFINITY HUGE_VALF +# endif +# endif + +/* IEEE Not A Number. */ +# ifndef NAN +# if __GNUC_PREREQ (3, 3) +# define NAN (__builtin_nanf ("")) +# else +/* This will raise an "invalid" exception outside static initializers, + but is the best that can be done in ISO C while remaining a + constant expression. */ +# define NAN (0.0f / 0.0f) +# endif +# endif +#endif /* __USE_ISOC99 */ + +#if __GLIBC_USE (IEC_60559_BFP_EXT) +/* Signaling NaN macros, if supported. */ +# if __GNUC_PREREQ (3, 3) +# define SNANF (__builtin_nansf ("")) +# define SNAN (__builtin_nans ("")) +# define SNANL (__builtin_nansl ("")) +# endif +#endif +#if (__HAVE_FLOAT16 \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF16 (__builtin_nansf16 ("")) +#endif +#if (__HAVE_FLOAT32 \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF32 (__builtin_nansf32 ("")) +#endif +#if (__HAVE_FLOAT64 \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF64 (__builtin_nansf64 ("")) +#endif +#if (__HAVE_FLOAT128 \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF128 (__builtin_nansf128 ("")) +#endif +#if (__HAVE_FLOAT32X \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF32X (__builtin_nansf32x ("")) +#endif +#if (__HAVE_FLOAT64X \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF64X (__builtin_nansf64x ("")) +#endif +#if (__HAVE_FLOAT128X \ + && __GLIBC_USE (IEC_60559_TYPES_EXT) \ + && (defined __USE_GNU || !__GLIBC_USE (ISOC23))) +# define SNANF128X (__builtin_nansf128x ("")) +#endif + +/* Get __GLIBC_FLT_EVAL_METHOD. */ +#include + +#ifdef __USE_ISOC99 +/* Define the following typedefs. + + float_t floating-point type at least as wide as `float' used + to evaluate `float' expressions + double_t floating-point type at least as wide as `double' used + to evaluate `double' expressions +*/ +# if __GLIBC_FLT_EVAL_METHOD == 0 || __GLIBC_FLT_EVAL_METHOD == 16 +typedef float float_t; +typedef double double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 1 +typedef double float_t; +typedef double double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 2 +typedef long double float_t; +typedef long double double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 32 +typedef _Float32 float_t; +typedef double double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 33 +typedef _Float32x float_t; +typedef _Float32x double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 64 +typedef _Float64 float_t; +typedef _Float64 double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 65 +typedef _Float64x float_t; +typedef _Float64x double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 128 +typedef _Float128 float_t; +typedef _Float128 double_t; +# elif __GLIBC_FLT_EVAL_METHOD == 129 +typedef _Float128x float_t; +typedef _Float128x double_t; +# else +# error "Unknown __GLIBC_FLT_EVAL_METHOD" +# endif +#endif + +/* Define macros for the return values of ilogb and llogb, based on + __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. + + FP_ILOGB0 Expands to a value returned by `ilogb (0.0)'. + FP_ILOGBNAN Expands to a value returned by `ilogb (NAN)'. + FP_LLOGB0 Expands to a value returned by `llogb (0.0)'. + FP_LLOGBNAN Expands to a value returned by `llogb (NAN)'. + +*/ + +#include +#ifdef __USE_ISOC99 +# if __FP_LOGB0_IS_MIN +# define FP_ILOGB0 (-2147483647 - 1) +# else +# define FP_ILOGB0 (-2147483647) +# endif +# if __FP_LOGBNAN_IS_MIN +# define FP_ILOGBNAN (-2147483647 - 1) +# else +# define FP_ILOGBNAN 2147483647 +# endif +#endif +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +# if __WORDSIZE == 32 +# define __FP_LONG_MAX 0x7fffffffL +# else +# define __FP_LONG_MAX 0x7fffffffffffffffL +# endif +# if __FP_LOGB0_IS_MIN +# define FP_LLOGB0 (-__FP_LONG_MAX - 1) +# else +# define FP_LLOGB0 (-__FP_LONG_MAX) +# endif +# if __FP_LOGBNAN_IS_MIN +# define FP_LLOGBNAN (-__FP_LONG_MAX - 1) +# else +# define FP_LLOGBNAN __FP_LONG_MAX +# endif +#endif + +/* Get the architecture specific values describing the floating-point + evaluation. The following symbols will get defined: + + FP_FAST_FMA + FP_FAST_FMAF + FP_FAST_FMAL + If defined it indicates that the `fma' function + generally executes about as fast as a multiply and an add. + This macro is defined only iff the `fma' function is + implemented directly with a hardware multiply-add instructions. +*/ + +#include + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Rounding direction macros for fromfp functions. */ +enum + { + FP_INT_UPWARD = +# define FP_INT_UPWARD 0 + FP_INT_UPWARD, + FP_INT_DOWNWARD = +# define FP_INT_DOWNWARD 1 + FP_INT_DOWNWARD, + FP_INT_TOWARDZERO = +# define FP_INT_TOWARDZERO 2 + FP_INT_TOWARDZERO, + FP_INT_TONEARESTFROMZERO = +# define FP_INT_TONEARESTFROMZERO 3 + FP_INT_TONEARESTFROMZERO, + FP_INT_TONEAREST = +# define FP_INT_TONEAREST 4 + FP_INT_TONEAREST, + }; +#endif + +#include + +#define _Mdouble_ double +#define __MATH_PRECNAME(name,r) __CONCAT(name,r) +#define __MATH_DECLARING_DOUBLE 1 +#define __MATH_DECLARING_FLOATN 0 +#include +#include +#undef _Mdouble_ +#undef __MATH_PRECNAME +#undef __MATH_DECLARING_DOUBLE +#undef __MATH_DECLARING_FLOATN + +#ifdef __USE_ISOC99 + + +/* Include the file of declarations again, this time using `float' + instead of `double' and appending f to each function name. */ + +# define _Mdouble_ float +# define __MATH_PRECNAME(name,r) name##f##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 0 +# include +# include +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN + +# if !(defined __NO_LONG_DOUBLE_MATH && defined _LIBC) \ + || defined __LDBL_COMPAT \ + || defined _LIBC_TEST +# ifdef __LDBL_COMPAT + +# ifdef __USE_ISOC99 +extern float __nldbl_nexttowardf (float __x, long double __y) + __THROW __attribute__ ((__const__)); +# ifdef __REDIRECT_NTH +extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y), + __nldbl_nexttowardf) + __attribute__ ((__const__)); +extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), + nextafter) __attribute__ ((__const__)); +extern long double __REDIRECT_NTH (nexttowardl, + (long double __x, long double __y), + nextafter) __attribute__ ((__const__)); +# endif +# endif + +# undef __MATHDECL_1 +# define __MATHDECL_1(type, function,suffix, args) \ + __MATHREDIR(type, function, suffix, args, __CONCAT(function,suffix)) + +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# ifdef __REDIRECT_NTH +# ifdef __USE_ISOC99 +extern float __REDIRECT_NTH (nexttowardf, (float __x, long double __y), + __nexttowardf_to_ieee128) + __attribute__ ((__const__)); +extern double __REDIRECT_NTH (nexttoward, (double __x, long double __y), + __nexttoward_to_ieee128) + __attribute__ ((__const__)); + +#define __dremieee128 __remainderieee128 +#define __gammaieee128 __lgammaieee128 + +# endif +# endif + +# undef __MATHDECL_1 +# undef __MATHDECL_ALIAS + +# define __REDIRTO(function, suffix) \ + __ ## function ## ieee128 ## suffix +# define __REDIRTO_ALT(function, suffix) \ + __ ## function ## f128 ## suffix + +# define __MATHDECL_1(type, function, suffix, args) \ + __MATHREDIR (type, function, suffix, args, __REDIRTO (function, suffix)) +# define __MATHDECL_ALIAS(type, function, suffix, args, alias) \ + __MATHREDIR (type, function, suffix, args, __REDIRTO_ALT (alias, suffix)) +# endif + +/* Include the file of declarations again, this time using `long double' + instead of `double' and appending l to each function name. */ + +# define _Mdouble_ long double +# define __MATH_PRECNAME(name,r) name##l##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 0 +# define __MATH_DECLARE_LDOUBLE 1 +# include +# include + +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN + +# if defined __LDBL_COMPAT \ + || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# undef __REDIRTO +# undef __REDIRTO_ALT +# undef __MATHDECL_1 +# undef __MATHDECL_ALIAS +# define __MATHDECL_1(type, function, suffix, args) \ + __MATHDECL_1_IMPL(type, function, suffix, args) +# define __MATHDECL_ALIAS(type, function, suffix, args, alias) \ + __MATHDECL_1(type, function, suffix, args) +# endif +# endif /* !(__NO_LONG_DOUBLE_MATH && _LIBC) || __LDBL_COMPAT */ + +#endif /* Use ISO C99. */ + +/* Include the file of declarations for _FloatN and _FloatNx + types. */ + +#if __HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !defined _LIBC) +# define _Mdouble_ _Float16 +# define __MATH_PRECNAME(name,r) name##f16##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT16 +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT16 || (__HAVE_FLOAT16 && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !defined _LIBC) +# define _Mdouble_ _Float32 +# define __MATH_PRECNAME(name,r) name##f32##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT32 +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT32 || (__HAVE_FLOAT32 && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !defined _LIBC) +# define _Mdouble_ _Float64 +# define __MATH_PRECNAME(name,r) name##f64##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT64 +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT64 || (__HAVE_FLOAT64 && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !defined _LIBC) +# define _Mdouble_ _Float128 +# define __MATH_PRECNAME(name,r) name##f128##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT128 +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT128 || (__HAVE_FLOAT128 && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !defined _LIBC) +# define _Mdouble_ _Float32x +# define __MATH_PRECNAME(name,r) name##f32x##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT32X +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT32X || (__HAVE_FLOAT32X && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !defined _LIBC) +# define _Mdouble_ _Float64x +# define __MATH_PRECNAME(name,r) name##f64x##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT64X +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT64X || (__HAVE_FLOAT64X && !_LIBC). */ + +#if __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !defined _LIBC) +# define _Mdouble_ _Float128x +# define __MATH_PRECNAME(name,r) name##f128x##r +# define __MATH_DECLARING_DOUBLE 0 +# define __MATH_DECLARING_FLOATN 1 +# if __HAVE_DISTINCT_FLOAT128X +# include +# endif +# if __GLIBC_USE (IEC_60559_TYPES_EXT) +# include +# endif +# undef _Mdouble_ +# undef __MATH_PRECNAME +# undef __MATH_DECLARING_DOUBLE +# undef __MATH_DECLARING_FLOATN +#endif /* __HAVE_DISTINCT_FLOAT128X || (__HAVE_FLOAT128X && !_LIBC). */ + +#undef __MATHDECL_1_IMPL +#undef __MATHDECL_1 +#undef __MATHDECL_ALIAS +#undef __MATHDECL +#undef __MATHCALL + +/* Declare functions returning a narrower type. */ +#define __MATHCALL_NARROW_ARGS_1 (_Marg_ __x) +#define __MATHCALL_NARROW_ARGS_2 (_Marg_ __x, _Marg_ __y) +#define __MATHCALL_NARROW_ARGS_3 (_Marg_ __x, _Marg_ __y, _Marg_ __z) +#define __MATHCALL_NARROW_NORMAL(func, nargs) \ + extern _Mret_ func __MATHCALL_NARROW_ARGS_ ## nargs __THROW +#define __MATHCALL_NARROW_REDIR(func, redir, nargs) \ + extern _Mret_ __REDIRECT_NTH (func, __MATHCALL_NARROW_ARGS_ ## nargs, \ + redir) +#define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_NORMAL (func, nargs) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) + +# define _Mret_ float +# define _Marg_ double +# define __MATHCALL_NAME(name) f ## name +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME + +# define _Mret_ float +# define _Marg_ long double +# define __MATHCALL_NAME(name) f ## name ## l +# ifdef __LDBL_COMPAT +# define __MATHCALL_REDIR_NAME(name) f ## name +# define __MATHCALL_REDIR_NAME2(name) f ## name +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_REDIR (func, redir, nargs) +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define __MATHCALL_REDIR_NAME(name) __ ## f32 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f32 ## name ## ieee128 +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_REDIR (func, redir, nargs) +# endif +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# if defined __LDBL_COMPAT \ + || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_NORMAL (func, nargs) +# endif + +# define _Mret_ double +# define _Marg_ long double +# define __MATHCALL_NAME(name) d ## name ## l +# ifdef __LDBL_COMPAT +# define __MATHCALL_REDIR_NAME(name) __nldbl_d ## name ## l +# define __MATHCALL_REDIR_NAME2(name) name +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_REDIR (func, redir, nargs) +# elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define __MATHCALL_REDIR_NAME(name) __ ## f64 ## name ## ieee128 +# define __MATHCALL_REDIR_NAME2(name) __ ## f64 ## name ## ieee128 +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_REDIR (func, redir, nargs) +# endif +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# if defined __LDBL_COMPAT \ + || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# undef __MATHCALL_REDIR_NAME +# undef __MATHCALL_REDIR_NAME2 +# undef __MATHCALL_NARROW +# define __MATHCALL_NARROW(func, redir, nargs) \ + __MATHCALL_NARROW_NORMAL (func, nargs) +# endif + +#endif + +#if __GLIBC_USE (IEC_60559_TYPES_EXT) + +# if __HAVE_FLOAT16 && __HAVE_FLOAT32 +# define _Mret_ _Float16 +# define _Marg_ _Float32 +# define __MATHCALL_NAME(name) f16 ## name ## f32 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT16 && __HAVE_FLOAT32X +# define _Mret_ _Float16 +# define _Marg_ _Float32x +# define __MATHCALL_NAME(name) f16 ## name ## f32x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT16 && __HAVE_FLOAT64 +# define _Mret_ _Float16 +# define _Marg_ _Float64 +# define __MATHCALL_NAME(name) f16 ## name ## f64 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT16 && __HAVE_FLOAT64X +# define _Mret_ _Float16 +# define _Marg_ _Float64x +# define __MATHCALL_NAME(name) f16 ## name ## f64x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT16 && __HAVE_FLOAT128 +# define _Mret_ _Float16 +# define _Marg_ _Float128 +# define __MATHCALL_NAME(name) f16 ## name ## f128 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT16 && __HAVE_FLOAT128X +# define _Mret_ _Float16 +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f16 ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32 && __HAVE_FLOAT32X +# define _Mret_ _Float32 +# define _Marg_ _Float32x +# define __MATHCALL_NAME(name) f32 ## name ## f32x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32 && __HAVE_FLOAT64 +# define _Mret_ _Float32 +# define _Marg_ _Float64 +# define __MATHCALL_NAME(name) f32 ## name ## f64 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32 && __HAVE_FLOAT64X +# define _Mret_ _Float32 +# define _Marg_ _Float64x +# define __MATHCALL_NAME(name) f32 ## name ## f64x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32 && __HAVE_FLOAT128 +# define _Mret_ _Float32 +# define _Marg_ _Float128 +# define __MATHCALL_NAME(name) f32 ## name ## f128 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32 && __HAVE_FLOAT128X +# define _Mret_ _Float32 +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f32 ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32X && __HAVE_FLOAT64 +# define _Mret_ _Float32x +# define _Marg_ _Float64 +# define __MATHCALL_NAME(name) f32x ## name ## f64 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32X && __HAVE_FLOAT64X +# define _Mret_ _Float32x +# define _Marg_ _Float64x +# define __MATHCALL_NAME(name) f32x ## name ## f64x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32X && __HAVE_FLOAT128 +# define _Mret_ _Float32x +# define _Marg_ _Float128 +# define __MATHCALL_NAME(name) f32x ## name ## f128 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT32X && __HAVE_FLOAT128X +# define _Mret_ _Float32x +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f32x ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT64 && __HAVE_FLOAT64X +# define _Mret_ _Float64 +# define _Marg_ _Float64x +# define __MATHCALL_NAME(name) f64 ## name ## f64x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT64 && __HAVE_FLOAT128 +# define _Mret_ _Float64 +# define _Marg_ _Float128 +# define __MATHCALL_NAME(name) f64 ## name ## f128 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT64 && __HAVE_FLOAT128X +# define _Mret_ _Float64 +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f64 ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT64X && __HAVE_FLOAT128 +# define _Mret_ _Float64x +# define _Marg_ _Float128 +# define __MATHCALL_NAME(name) f64x ## name ## f128 +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT64X && __HAVE_FLOAT128X +# define _Mret_ _Float64x +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f64x ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +# if __HAVE_FLOAT128 && __HAVE_FLOAT128X +# define _Mret_ _Float128 +# define _Marg_ _Float128x +# define __MATHCALL_NAME(name) f128 ## name ## f128x +# include +# undef _Mret_ +# undef _Marg_ +# undef __MATHCALL_NAME +# endif + +#endif + +#undef __MATHCALL_NARROW_ARGS_1 +#undef __MATHCALL_NARROW_ARGS_2 +#undef __MATHCALL_NARROW_ARGS_3 +#undef __MATHCALL_NARROW_NORMAL +#undef __MATHCALL_NARROW_REDIR +#undef __MATHCALL_NARROW + +#if defined __USE_MISC || defined __USE_XOPEN +/* This variable is used by `gamma' and `lgamma'. */ +extern int signgam; +#endif + +#if (__HAVE_DISTINCT_FLOAT16 \ + || __HAVE_DISTINCT_FLOAT32 \ + || __HAVE_DISTINCT_FLOAT64 \ + || __HAVE_DISTINCT_FLOAT32X \ + || __HAVE_DISTINCT_FLOAT64X \ + || __HAVE_DISTINCT_FLOAT128X) +# error "Unsupported _FloatN or _FloatNx types for ." +#endif + +/* Depending on the type of TG_ARG, call an appropriately suffixed + version of FUNC with arguments (including parentheses) ARGS. + Suffixed functions may not exist for long double if it has the same + format as double, or for other types with the same format as float, + double or long double. The behavior is undefined if the argument + does not have a real floating type. The definition may use a + conditional expression, so all suffixed versions of FUNC must + return the same type (FUNC may include a cast if necessary rather + than being a single identifier). */ +#ifdef __NO_LONG_DOUBLE_MATH +# if __HAVE_DISTINCT_FLOAT128 +# error "Distinct _Float128 without distinct long double not supported." +# endif +# define __MATH_TG(TG_ARG, FUNC, ARGS) \ + (sizeof (TG_ARG) == sizeof (float) ? FUNC ## f ARGS : FUNC ARGS) +#elif __HAVE_DISTINCT_FLOAT128 +# if __HAVE_GENERIC_SELECTION +# if __HAVE_FLOATN_NOT_TYPEDEF && __HAVE_FLOAT32 +# define __MATH_TG_F32(FUNC, ARGS) _Float32: FUNC ## f ARGS, +# else +# define __MATH_TG_F32(FUNC, ARGS) +# endif +# if __HAVE_FLOATN_NOT_TYPEDEF && __HAVE_FLOAT64X +# if __HAVE_FLOAT64X_LONG_DOUBLE +# define __MATH_TG_F64X(FUNC, ARGS) _Float64x: FUNC ## l ARGS, +# else +# define __MATH_TG_F64X(FUNC, ARGS) _Float64x: FUNC ## f128 ARGS, +# endif +# else +# define __MATH_TG_F64X(FUNC, ARGS) +# endif +# define __MATH_TG(TG_ARG, FUNC, ARGS) \ + _Generic ((TG_ARG), \ + float: FUNC ## f ARGS, \ + __MATH_TG_F32 (FUNC, ARGS) \ + default: FUNC ARGS, \ + long double: FUNC ## l ARGS, \ + __MATH_TG_F64X (FUNC, ARGS) \ + _Float128: FUNC ## f128 ARGS) +# else +# if __HAVE_FLOATN_NOT_TYPEDEF +# error "Non-typedef _FloatN but no _Generic." +# endif +# define __MATH_TG(TG_ARG, FUNC, ARGS) \ + __builtin_choose_expr \ + (__builtin_types_compatible_p (__typeof (TG_ARG), float), \ + FUNC ## f ARGS, \ + __builtin_choose_expr \ + (__builtin_types_compatible_p (__typeof (TG_ARG), double), \ + FUNC ARGS, \ + __builtin_choose_expr \ + (__builtin_types_compatible_p (__typeof (TG_ARG), long double), \ + FUNC ## l ARGS, \ + FUNC ## f128 ARGS))) +# endif +#else +# define __MATH_TG(TG_ARG, FUNC, ARGS) \ + (sizeof (TG_ARG) == sizeof (float) \ + ? FUNC ## f ARGS \ + : sizeof (TG_ARG) == sizeof (double) \ + ? FUNC ARGS \ + : FUNC ## l ARGS) +#endif + +/* ISO C99 defines some generic macros which work on any data type. */ +#ifdef __USE_ISOC99 + +/* All floating-point numbers can be put in one of these categories. */ +enum + { + FP_NAN = +# define FP_NAN 0 + FP_NAN, + FP_INFINITE = +# define FP_INFINITE 1 + FP_INFINITE, + FP_ZERO = +# define FP_ZERO 2 + FP_ZERO, + FP_SUBNORMAL = +# define FP_SUBNORMAL 3 + FP_SUBNORMAL, + FP_NORMAL = +# define FP_NORMAL 4 + FP_NORMAL + }; + +/* GCC bug 66462 means we cannot use the math builtins with -fsignaling-nan, + so disable builtins if this is enabled. When fixed in a newer GCC, + the __SUPPORT_SNAN__ check may be skipped for those versions. */ + +/* Return number of classification appropriate for X. */ +# if ((__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \ + || __glibc_clang_prereq (2,8)) \ + && (!defined __OPTIMIZE_SIZE__ || defined __cplusplus) + /* The check for __cplusplus allows the use of the builtin, even + when optimization for size is on. This is provided for + libstdc++, only to let its configure test work when it is built + with -Os. No further use of this definition of fpclassify is + expected in C++ mode, since libstdc++ provides its own version + of fpclassify in cmath (which undefines fpclassify). */ +# define fpclassify(x) __builtin_fpclassify (FP_NAN, FP_INFINITE, \ + FP_NORMAL, FP_SUBNORMAL, FP_ZERO, x) +# else +# define fpclassify(x) __MATH_TG ((x), __fpclassify, (x)) +# endif + +/* Return nonzero value if sign of X is negative. */ +# if __GNUC_PREREQ (6,0) || __glibc_clang_prereq (3,3) +# define signbit(x) __builtin_signbit (x) +# elif defined __cplusplus + /* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. + The check for __cplusplus allows the use of the builtin instead of + __MATH_TG. This is provided for libstdc++, only to let its configure + test work. No further use of this definition of signbit is expected + in C++ mode, since libstdc++ provides its own version of signbit + in cmath (which undefines signbit). */ +# define signbit(x) __builtin_signbitl (x) +# elif __GNUC_PREREQ (4,0) +# define signbit(x) __MATH_TG ((x), __builtin_signbit, (x)) +# else +# define signbit(x) __MATH_TG ((x), __signbit, (x)) +# endif + +/* Return nonzero value if X is not +-Inf or NaN. */ +# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \ + || __glibc_clang_prereq (2,8) +# define isfinite(x) __builtin_isfinite (x) +# else +# define isfinite(x) __MATH_TG ((x), __finite, (x)) +# endif + +/* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */ +# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \ + || __glibc_clang_prereq (2,8) +# define isnormal(x) __builtin_isnormal (x) +# else +# define isnormal(x) (fpclassify (x) == FP_NORMAL) +# endif + +/* Return nonzero value if X is a NaN. We could use `fpclassify' but + we already have this functions `__isnan' and it is faster. */ +# if (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \ + || __glibc_clang_prereq (2,8) +# define isnan(x) __builtin_isnan (x) +# else +# define isnan(x) __MATH_TG ((x), __isnan, (x)) +# endif + +/* Return nonzero value if X is positive or negative infinity. */ +# if __HAVE_DISTINCT_FLOAT128 && !__GNUC_PREREQ (7,0) \ + && !defined __SUPPORT_SNAN__ && !defined __cplusplus \ + && !defined __clang__ + /* Since __builtin_isinf_sign is broken for float128 before GCC 7.0, + use the helper function, __isinff128, with older compilers. This is + only provided for C mode, because in C++ mode, GCC has no support + for __builtin_types_compatible_p (and when in C++ mode, this macro is + not used anyway, because libstdc++ headers undefine it). */ +# define isinf(x) \ + (__builtin_types_compatible_p (__typeof (x), _Float128) \ + ? __isinff128 (x) : __builtin_isinf_sign (x)) +# elif (__GNUC_PREREQ (4,4) && !defined __SUPPORT_SNAN__) \ + || __glibc_clang_prereq (3,7) +# define isinf(x) __builtin_isinf_sign (x) +# else +# define isinf(x) __MATH_TG ((x), __isinf, (x)) +# endif + +/* Bitmasks for the math_errhandling macro. */ +# define MATH_ERRNO 1 /* errno set by math functions. */ +# define MATH_ERREXCEPT 2 /* Exceptions raised by math functions. */ + +/* By default all math functions support both errno and exception handling + (except for soft floating point implementations which may only support + errno handling). If errno handling is disabled, exceptions are still + supported by GLIBC. Set math_errhandling to 0 with -ffast-math (this is + nonconforming but it is more useful than leaving it undefined). */ +# ifdef __FAST_MATH__ +# define math_errhandling 0 +# elif defined __NO_MATH_ERRNO__ +# define math_errhandling (MATH_ERREXCEPT) +# else +# define math_errhandling (MATH_ERRNO | MATH_ERREXCEPT) +# endif + +#endif /* Use ISO C99. */ + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +# include + +/* Return nonzero value if X is a signaling NaN. */ +# ifndef __cplusplus +# define issignaling(x) __MATH_TG ((x), __issignaling, (x)) +# else + /* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int issignaling (float __val) { return __issignalingf (__val); } +inline int issignaling (double __val) { return __issignaling (__val); } +inline int +issignaling (long double __val) +{ +# ifdef __NO_LONG_DOUBLE_MATH + return __issignaling (__val); +# else + return __issignalingl (__val); +# endif +} +# if __HAVE_FLOAT128_UNLIKE_LDBL +/* When using an IEEE 128-bit long double, _Float128 is defined as long double + in C++. */ +inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); } +# endif +} /* extern C++ */ +# endif + +/* Return nonzero value if X is subnormal. */ +# define issubnormal(x) (fpclassify (x) == FP_SUBNORMAL) + +/* Return nonzero value if X is zero. */ +# ifndef __cplusplus +# ifdef __SUPPORT_SNAN__ +# define iszero(x) (fpclassify (x) == FP_ZERO) +# else +# define iszero(x) (((__typeof (x)) (x)) == 0) +# endif +# else /* __cplusplus */ +extern "C++" { +# ifdef __SUPPORT_SNAN__ +inline int +iszero (float __val) +{ + return __fpclassifyf (__val) == FP_ZERO; +} +inline int +iszero (double __val) +{ + return __fpclassify (__val) == FP_ZERO; +} +inline int +iszero (long double __val) +{ +# ifdef __NO_LONG_DOUBLE_MATH + return __fpclassify (__val) == FP_ZERO; +# else + return __fpclassifyl (__val) == FP_ZERO; +# endif +} +# if __HAVE_FLOAT128_UNLIKE_LDBL + /* When using an IEEE 128-bit long double, _Float128 is defined as long double + in C++. */ +inline int +iszero (_Float128 __val) +{ + return __fpclassifyf128 (__val) == FP_ZERO; +} +# endif +# else +template inline bool +iszero (__T __val) +{ + return __val == 0; +} +# endif +} /* extern C++ */ +# endif /* __cplusplus */ +#endif /* Use IEC_60559_BFP_EXT. */ + +#ifdef __USE_XOPEN +/* X/Open wants another strange constant. */ +# define MAXFLOAT 3.40282347e+38F +#endif + + +/* Some useful constants. */ +#if defined __USE_MISC || defined __USE_XOPEN +# define M_E 2.7182818284590452354 /* e */ +# define M_LOG2E 1.4426950408889634074 /* log_2 e */ +# define M_LOG10E 0.43429448190325182765 /* log_10 e */ +# define M_LN2 0.69314718055994530942 /* log_e 2 */ +# define M_LN10 2.30258509299404568402 /* log_e 10 */ +# define M_PI 3.14159265358979323846 /* pi */ +# define M_PI_2 1.57079632679489661923 /* pi/2 */ +# define M_PI_4 0.78539816339744830962 /* pi/4 */ +# define M_1_PI 0.31830988618379067154 /* 1/pi */ +# define M_2_PI 0.63661977236758134308 /* 2/pi */ +# define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ +# define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +# define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ +#endif + +/* GNU extension to provide float constants with similar names. */ +#ifdef __USE_GNU +# define M_Ef 2.7182818284590452354f /* e */ +# define M_LOG2Ef 1.4426950408889634074f /* log_2 e */ +# define M_LOG10Ef 0.43429448190325182765f /* log_10 e */ +# define M_LN2f 0.69314718055994530942f /* log_e 2 */ +# define M_LN10f 2.30258509299404568402f /* log_e 10 */ +# define M_PIf 3.14159265358979323846f /* pi */ +# define M_PI_2f 1.57079632679489661923f /* pi/2 */ +# define M_PI_4f 0.78539816339744830962f /* pi/4 */ +# define M_1_PIf 0.31830988618379067154f /* 1/pi */ +# define M_2_PIf 0.63661977236758134308f /* 2/pi */ +# define M_2_SQRTPIf 1.12837916709551257390f /* 2/sqrt(pi) */ +# define M_SQRT2f 1.41421356237309504880f /* sqrt(2) */ +# define M_SQRT1_2f 0.70710678118654752440f /* 1/sqrt(2) */ +#endif + +/* The above constants are not adequate for computation using `long double's. + Therefore we provide as an extension constants with similar names as a + GNU extension. Provide enough digits for the 128-bit IEEE quad. */ +#ifdef __USE_GNU +# define M_El 2.718281828459045235360287471352662498L /* e */ +# define M_LOG2El 1.442695040888963407359924681001892137L /* log_2 e */ +# define M_LOG10El 0.434294481903251827651128918916605082L /* log_10 e */ +# define M_LN2l 0.693147180559945309417232121458176568L /* log_e 2 */ +# define M_LN10l 2.302585092994045684017991454684364208L /* log_e 10 */ +# define M_PIl 3.141592653589793238462643383279502884L /* pi */ +# define M_PI_2l 1.570796326794896619231321691639751442L /* pi/2 */ +# define M_PI_4l 0.785398163397448309615660845819875721L /* pi/4 */ +# define M_1_PIl 0.318309886183790671537767526745028724L /* 1/pi */ +# define M_2_PIl 0.636619772367581343075535053490057448L /* 2/pi */ +# define M_2_SQRTPIl 1.128379167095512573896158903121545172L /* 2/sqrt(pi) */ +# define M_SQRT2l 1.414213562373095048801688724209698079L /* sqrt(2) */ +# define M_SQRT1_2l 0.707106781186547524400844362104849039L /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT16 && defined __USE_GNU +# define M_Ef16 __f16 (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef16 __f16 (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef16 __f16 (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f16 __f16 (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f16 __f16 (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf16 __f16 (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f16 __f16 (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f16 __f16 (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf16 __f16 (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf16 __f16 (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf16 __f16 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f16 __f16 (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f16 __f16 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT32 && defined __USE_GNU +# define M_Ef32 __f32 (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef32 __f32 (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef32 __f32 (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f32 __f32 (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f32 __f32 (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf32 __f32 (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f32 __f32 (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f32 __f32 (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf32 __f32 (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf32 __f32 (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf32 __f32 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f32 __f32 (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f32 __f32 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT64 && defined __USE_GNU +# define M_Ef64 __f64 (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef64 __f64 (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef64 __f64 (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f64 __f64 (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f64 __f64 (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf64 __f64 (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f64 __f64 (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f64 __f64 (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf64 __f64 (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf64 __f64 (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf64 __f64 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f64 __f64 (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f64 __f64 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT128 && defined __USE_GNU +# define M_Ef128 __f128 (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef128 __f128 (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef128 __f128 (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f128 __f128 (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f128 __f128 (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf128 __f128 (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f128 __f128 (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f128 __f128 (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf128 __f128 (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf128 __f128 (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf128 __f128 (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f128 __f128 (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f128 __f128 (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT32X && defined __USE_GNU +# define M_Ef32x __f32x (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef32x __f32x (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef32x __f32x (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f32x __f32x (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f32x __f32x (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf32x __f32x (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f32x __f32x (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f32x __f32x (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf32x __f32x (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf32x __f32x (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf32x __f32x (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f32x __f32x (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f32x __f32x (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT64X && defined __USE_GNU +# define M_Ef64x __f64x (2.718281828459045235360287471352662498) /* e */ +# define M_LOG2Ef64x __f64x (1.442695040888963407359924681001892137) /* log_2 e */ +# define M_LOG10Ef64x __f64x (0.434294481903251827651128918916605082) /* log_10 e */ +# define M_LN2f64x __f64x (0.693147180559945309417232121458176568) /* log_e 2 */ +# define M_LN10f64x __f64x (2.302585092994045684017991454684364208) /* log_e 10 */ +# define M_PIf64x __f64x (3.141592653589793238462643383279502884) /* pi */ +# define M_PI_2f64x __f64x (1.570796326794896619231321691639751442) /* pi/2 */ +# define M_PI_4f64x __f64x (0.785398163397448309615660845819875721) /* pi/4 */ +# define M_1_PIf64x __f64x (0.318309886183790671537767526745028724) /* 1/pi */ +# define M_2_PIf64x __f64x (0.636619772367581343075535053490057448) /* 2/pi */ +# define M_2_SQRTPIf64x __f64x (1.128379167095512573896158903121545172) /* 2/sqrt(pi) */ +# define M_SQRT2f64x __f64x (1.414213562373095048801688724209698079) /* sqrt(2) */ +# define M_SQRT1_2f64x __f64x (0.707106781186547524400844362104849039) /* 1/sqrt(2) */ +#endif + +#if __HAVE_FLOAT128X && defined __USE_GNU +# error "M_* values needed for _Float128x" +#endif + +#ifdef __USE_ISOC99 +# if __GNUC_PREREQ (3, 1) +/* ISO C99 defines some macros to compare number while taking care for + unordered numbers. Many FPUs provide special instructions to support + these operations. Generic support in GCC for these as builtins went + in 2.97, but not all cpus added their patterns until 3.1. Therefore + we enable the builtins from 3.1 onwards and use a generic implementation + otherwise. */ +# define isgreater(x, y) __builtin_isgreater(x, y) +# define isgreaterequal(x, y) __builtin_isgreaterequal(x, y) +# define isless(x, y) __builtin_isless(x, y) +# define islessequal(x, y) __builtin_islessequal(x, y) +# define islessgreater(x, y) __builtin_islessgreater(x, y) +# define isunordered(x, y) __builtin_isunordered(x, y) +# else +# define isgreater(x, y) \ + (__extension__ ({ __typeof__ (x) __x = (x); __typeof__ (y) __y = (y); \ + !isunordered (__x, __y) && __x > __y; })) +# define isgreaterequal(x, y) \ + (__extension__ ({ __typeof__ (x) __x = (x); __typeof__ (y) __y = (y); \ + !isunordered (__x, __y) && __x >= __y; })) +# define isless(x, y) \ + (__extension__ ({ __typeof__ (x) __x = (x); __typeof__ (y) __y = (y); \ + !isunordered (__x, __y) && __x < __y; })) +# define islessequal(x, y) \ + (__extension__ ({ __typeof__ (x) __x = (x); __typeof__ (y) __y = (y); \ + !isunordered (__x, __y) && __x <= __y; })) +# define islessgreater(x, y) \ + (__extension__ ({ __typeof__ (x) __x = (x); __typeof__ (y) __y = (y); \ + !isunordered (__x, __y) && __x != __y; })) +/* isunordered must always check both operands first for signaling NaNs. */ +# define isunordered(x, y) \ + (__extension__ ({ __typeof__ (x) __u = (x); __typeof__ (y) __v = (y); \ + __u != __v && (__u != __u || __v != __v); })) +# endif +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* An expression whose type has the widest of the evaluation formats + of X and Y (which are of floating-point types). */ +# if __FLT_EVAL_METHOD__ == 2 || __FLT_EVAL_METHOD__ > 64 +# define __MATH_EVAL_FMT2(x, y) ((x) + (y) + 0.0L) +# elif __FLT_EVAL_METHOD__ == 1 || __FLT_EVAL_METHOD__ > 32 +# define __MATH_EVAL_FMT2(x, y) ((x) + (y) + 0.0) +# elif __FLT_EVAL_METHOD__ == 0 || __FLT_EVAL_METHOD__ == 32 +# define __MATH_EVAL_FMT2(x, y) ((x) + (y) + 0.0f) +# else +# define __MATH_EVAL_FMT2(x, y) ((x) + (y)) +# endif + +/* Return X == Y but raising "invalid" and setting errno if X or Y is + a NaN. */ +# if !defined __cplusplus || (__cplusplus < 201103L && !defined __GNUC__) +# define iseqsig(x, y) \ + __MATH_TG (__MATH_EVAL_FMT2 (x, y), __iseqsig, ((x), (y))) +# else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. Moreover, + the comparison macros from ISO C take two floating-point arguments, + which need not have the same type. Choosing what underlying function + to call requires evaluating the formats of the arguments, then + selecting which is wider. The macro __MATH_EVAL_FMT2 provides this + information, however, only the type of the macro expansion is + relevant (actually evaluating the expression would be incorrect). + Thus, the type is used as a template parameter for __iseqsig_type, + which calls the appropriate underlying function. */ +extern "C++" { +template struct __iseqsig_type; + +template<> struct __iseqsig_type +{ + static int __call (float __x, float __y) throw () + { + return __iseqsigf (__x, __y); + } +}; + +template<> struct __iseqsig_type +{ + static int __call (double __x, double __y) throw () + { + return __iseqsig (__x, __y); + } +}; + +template<> struct __iseqsig_type +{ + static int __call (long double __x, long double __y) throw () + { +# ifndef __NO_LONG_DOUBLE_MATH + return __iseqsigl (__x, __y); +# else + return __iseqsig (__x, __y); +# endif + } +}; + +# if __HAVE_FLOAT32 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32> +{ + static int __call (_Float32 __x, _Float32 __y) throw () + { + return __iseqsigf (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64 && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64> +{ + static int __call (_Float64 __x, _Float64 __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT128_UNLIKE_LDBL || (__HAVE_FLOAT128 && __GNUC_PREREQ (13, 0)) + /* When using an IEEE 128-bit long double, _Float128 is defined as long double + in C++. */ +template<> struct __iseqsig_type<_Float128> +{ + static int __call (_Float128 __x, _Float128 __y) throw () + { +# if __HAVE_FLOAT128_UNLIKE_LDBL + return __iseqsigf128 (__x, __y); +# else + return __iseqsigl (__x, __y); +# endif + } +}; +# endif + +# if __HAVE_FLOAT32X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float32x> +{ + static int __call (_Float32x __x, _Float32x __y) throw () + { + return __iseqsig (__x, __y); + } +}; +# endif + +# if __HAVE_FLOAT64X && __GNUC_PREREQ (13, 0) +template<> struct __iseqsig_type<_Float64x> +{ + static int __call (_Float64x __x, _Float64x __y) throw () + { +# if __HAVE_FLOAT64X_LONG_DOUBLE + return __iseqsigl (__x, __y); +# else + return __iseqsigf128 (__x, __y); +# endif + } +}; +# endif + +template +inline int +iseqsig (_T1 __x, _T2 __y) throw () +{ +# if __cplusplus >= 201103L + typedef decltype (__MATH_EVAL_FMT2 (__x, __y)) _T3; +# else + typedef __typeof (__MATH_EVAL_FMT2 (__x, __y)) _T3; +# endif + return __iseqsig_type<_T3>::__call (__x, __y); +} + +} /* extern "C++" */ +# endif /* __cplusplus */ + +#endif + +__END_DECLS + + +#endif /* math.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mcheck.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mcheck.h new file mode 100644 index 00000000..f8c86b7a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mcheck.h @@ -0,0 +1,60 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MCHECK_H +#define _MCHECK_H 1 + +#include + +__BEGIN_DECLS + +/* Return values for `mprobe': these are the kinds of inconsistencies that + `mcheck' enables detection of. */ +enum mcheck_status +{ + MCHECK_DISABLED = -1, /* Consistency checking is not turned on. */ + MCHECK_OK, /* Block is fine. */ + MCHECK_FREE, /* Block freed twice. */ + MCHECK_HEAD, /* Memory before the block was clobbered. */ + MCHECK_TAIL /* Memory after the block was clobbered. */ +}; + + +/* Activate a standard collection of debugging hooks. This must be called + before `malloc' is ever called. ABORTFUNC is called with an error code + (see enum above) when an inconsistency is detected. If ABORTFUNC is + null, the standard function prints on stderr and then calls `abort'. */ +extern int mcheck (void (*__abortfunc)(enum mcheck_status)) __THROW; + +/* Similar to `mcheck' but performs checks for all block whenever one of + the memory handling functions is called. This can be very slow. */ +extern int mcheck_pedantic (void (*__abortfunc)(enum mcheck_status)) __THROW; + +/* Force check of all blocks now. */ +extern void mcheck_check_all (void); + +/* Check for aberrations in a particular malloc'd block. You must have + called `mcheck' already. These are the same checks that `mcheck' does + when you free or reallocate a block. */ +extern enum mcheck_status mprobe (void *__ptr) __THROW; + +/* Activate a standard collection of tracing hooks. */ +extern void mtrace (void) __THROW; +extern void muntrace (void) __THROW; + +__END_DECLS +#endif /* mcheck.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/memory.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/memory.h new file mode 100644 index 00000000..9dc8823e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/memory.h @@ -0,0 +1,33 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * SVID + */ + +#ifndef _MEMORY_H +#define _MEMORY_H 1 + +#include + + +#ifndef _STRING_H +# include +#endif /* string.h */ + + +#endif /* memory.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mntent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mntent.h new file mode 100644 index 00000000..3bd819b3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mntent.h @@ -0,0 +1,95 @@ +/* Utilities for reading/writing fstab, mtab, etc. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MNTENT_H +#define _MNTENT_H 1 + +#include +#include +#include + +/* File listing canonical interesting mount points. */ +#define MNTTAB _PATH_MNTTAB /* Deprecated alias. */ + +/* File listing currently active mount points. */ +#define MOUNTED _PATH_MOUNTED /* Deprecated alias. */ + + +/* General filesystem types. */ +#define MNTTYPE_IGNORE "ignore" /* Ignore this entry. */ +#define MNTTYPE_NFS "nfs" /* Network file system. */ +#define MNTTYPE_SWAP "swap" /* Swap device. */ + + +/* Generic mount options. */ +#define MNTOPT_DEFAULTS "defaults" /* Use all default options. */ +#define MNTOPT_RO "ro" /* Read only. */ +#define MNTOPT_RW "rw" /* Read/write. */ +#define MNTOPT_SUID "suid" /* Set uid allowed. */ +#define MNTOPT_NOSUID "nosuid" /* No set uid allowed. */ +#define MNTOPT_NOAUTO "noauto" /* Do not auto mount. */ + + +__BEGIN_DECLS + +/* Structure describing a mount table entry. */ +struct mntent + { + char *mnt_fsname; /* Device or server for filesystem. */ + char *mnt_dir; /* Directory mounted on. */ + char *mnt_type; /* Type of filesystem: ufs, nfs, etc. */ + char *mnt_opts; /* Comma-separated options for fs. */ + int mnt_freq; /* Dump frequency (in days). */ + int mnt_passno; /* Pass number for `fsck'. */ + }; + + +/* Prepare to begin reading and/or writing mount table entries from the + beginning of FILE. MODE is as for `fopen'. */ +extern FILE *setmntent (const char *__file, const char *__mode) __THROW; + +/* Read one mount table entry from STREAM. Returns a pointer to storage + reused on the next call, or null for EOF or error (use feof/ferror to + check). */ +extern struct mntent *getmntent (FILE *__stream) __THROW; + +#ifdef __USE_MISC +/* Reentrant version of the above function. */ +extern struct mntent *getmntent_r (FILE *__restrict __stream, + struct mntent *__restrict __result, + char *__restrict __buffer, + int __bufsize) __THROW; +#endif + +/* Write the mount table entry described by MNT to STREAM. + Return zero on success, nonzero on failure. */ +extern int addmntent (FILE *__restrict __stream, + const struct mntent *__restrict __mnt) __THROW; + +/* Close a stream opened with `setmntent'. */ +extern int endmntent (FILE *__stream) __THROW; + +/* Search MNT->mnt_opts for an option matching OPT. + Returns the address of the substring, or null if none found. */ +extern char *hasmntopt (const struct mntent *__mnt, + const char *__opt) __THROW; + + +__END_DECLS + +#endif /* mntent.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/monetary.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/monetary.h new file mode 100644 index 00000000..348e044f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/monetary.h @@ -0,0 +1,62 @@ +/* Header file for monetary value formatting functions. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MONETARY_H +#define _MONETARY_H 1 + +#include + +/* Get needed types. */ +#define __need_size_t +#include +#include + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + + +__BEGIN_DECLS + +/* Formatting a monetary value according to the current locale. */ +extern ssize_t strfmon (char *__restrict __s, size_t __maxsize, + const char *__restrict __format, ...) + __THROW __attribute_format_strfmon__ (3, 4) + __attr_access ((__write_only__, 1, 2)); + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* Formatting a monetary value according to the given locale. */ +extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize, + locale_t __loc, + const char *__restrict __format, ...) + __THROW __attribute_format_strfmon__ (4, 5) + __attr_access ((__write_only__, 1, 2)); +#endif + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +__END_DECLS + +#endif /* monetary.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mqueue.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mqueue.h new file mode 100644 index 00000000..0e5d4bf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/mqueue.h @@ -0,0 +1,119 @@ +/* Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MQUEUE_H +#define _MQUEUE_H 1 + +#include +#include +#include +#include +#include +/* Get the definition of mqd_t and struct mq_attr. */ +#include + +__BEGIN_DECLS + +/* Establish connection between a process and a message queue NAME and + return message queue descriptor or (mqd_t) -1 on error. OFLAG determines + the type of access used. If O_CREAT is on OFLAG, the third argument is + taken as a `mode_t', the mode of the created message queue, and the fourth + argument is taken as `struct mq_attr *', pointer to message queue + attributes. If the fourth argument is NULL, default attributes are + used. */ +extern mqd_t mq_open (const char *__name, int __oflag, ...) + __THROW __nonnull ((1)); + +/* Removes the association between message queue descriptor MQDES and its + message queue. */ +extern int mq_close (mqd_t __mqdes) __THROW; + +/* Query status and attributes of message queue MQDES. */ +extern int mq_getattr (mqd_t __mqdes, struct mq_attr *__mqstat) + __THROW __nonnull ((2)); + +/* Set attributes associated with message queue MQDES and if OMQSTAT is + not NULL also query its old attributes. */ +extern int mq_setattr (mqd_t __mqdes, + const struct mq_attr *__restrict __mqstat, + struct mq_attr *__restrict __omqstat) + __THROW __nonnull ((2)); + +/* Remove message queue named NAME. */ +extern int mq_unlink (const char *__name) __THROW __nonnull ((1)); + +/* Register notification issued upon message arrival to an empty + message queue MQDES. */ +extern int mq_notify (mqd_t __mqdes, const struct sigevent *__notification) + __THROW; + +/* Receive the oldest from highest priority messages in message queue + MQDES. */ +extern ssize_t mq_receive (mqd_t __mqdes, char *__msg_ptr, size_t __msg_len, + unsigned int *__msg_prio) __nonnull ((2)); + +/* Add message pointed by MSG_PTR to message queue MQDES. */ +extern int mq_send (mqd_t __mqdes, const char *__msg_ptr, size_t __msg_len, + unsigned int __msg_prio) __nonnull ((2)); + +#ifdef __USE_XOPEN2K +# ifndef __USE_TIME64_REDIRECTS +/* Receive the oldest from highest priority messages in message queue + MQDES, stop waiting if ABS_TIMEOUT expires. */ +extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr, + size_t __msg_len, + unsigned int *__restrict __msg_prio, + const struct timespec *__restrict __abs_timeout) + __nonnull ((2, 5)); + +/* Add message pointed by MSG_PTR to message queue MQDES, stop blocking + on full message queue if ABS_TIMEOUT expires. */ +extern int mq_timedsend (mqd_t __mqdes, const char *__msg_ptr, + size_t __msg_len, unsigned int __msg_prio, + const struct timespec *__abs_timeout) + __nonnull ((2, 5)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (mq_timedreceive, (mqd_t __mqdes, + char *__restrict __msg_ptr, + size_t __msg_len, + unsigned int *__restrict __msg_prio, + const struct timespec *__restrict __abs_timeout), + __mq_timedreceive_time64) + __nonnull ((2, 5)); + +extern int __REDIRECT (mq_timedsend, (mqd_t __mqdes, + const char *__msg_ptr, size_t __msg_len, + unsigned int __msg_prio, + const struct timespec *__abs_timeout), + __mq_timedsend_time64) + __nonnull ((2, 5)); +# else +# define mq_timedreceive __mq_timedreceive_time64 +# define mq_timedsend __mq_timedsend_time64 +# endif +# endif +#endif + +/* Define some inlines helping to catch common problems. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +__END_DECLS + +#endif /* mqueue.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ethernet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ethernet.h new file mode 100644 index 00000000..ff9a5250 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ethernet.h @@ -0,0 +1,83 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Based on the FreeBSD version of this file. Curiously, that file + lacks a copyright in the header. */ + +#ifndef __NET_ETHERNET_H +#define __NET_ETHERNET_H 1 + +#include +#include + +#include /* IEEE 802.3 Ethernet constants */ + +__BEGIN_DECLS + +/* This is a name for the 48 bit ethernet address available on many + systems. */ +struct ether_addr +{ + uint8_t ether_addr_octet[ETH_ALEN]; +} __attribute__ ((__packed__)); + +/* 10Mb/s ethernet header */ +struct ether_header +{ + uint8_t ether_dhost[ETH_ALEN]; /* destination eth addr */ + uint8_t ether_shost[ETH_ALEN]; /* source ether addr */ + uint16_t ether_type; /* packet type ID field */ +} __attribute__ ((__packed__)); + +/* Ethernet protocol ID's */ +#define ETHERTYPE_PUP 0x0200 /* Xerox PUP */ +#define ETHERTYPE_SPRITE 0x0500 /* Sprite */ +#define ETHERTYPE_IP 0x0800 /* IP */ +#define ETHERTYPE_ARP 0x0806 /* Address resolution */ +#define ETHERTYPE_REVARP 0x8035 /* Reverse ARP */ +#define ETHERTYPE_AT 0x809B /* AppleTalk protocol */ +#define ETHERTYPE_AARP 0x80F3 /* AppleTalk ARP */ +#define ETHERTYPE_VLAN 0x8100 /* IEEE 802.1Q VLAN tagging */ +#define ETHERTYPE_IPX 0x8137 /* IPX */ +#define ETHERTYPE_IPV6 0x86dd /* IP protocol version 6 */ +#define ETHERTYPE_LOOPBACK 0x9000 /* used to test interfaces */ + +#define ETHER_ADDR_LEN ETH_ALEN /* size of ethernet addr */ +#define ETHER_TYPE_LEN 2 /* bytes in type field */ +#define ETHER_CRC_LEN 4 /* bytes in CRC field */ +#define ETHER_HDR_LEN ETH_HLEN /* total octets in header */ +#define ETHER_MIN_LEN (ETH_ZLEN + ETHER_CRC_LEN) /* min packet length */ +#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETHER_CRC_LEN) /* max packet length */ + +/* make sure ethernet length is valid */ +#define ETHER_IS_VALID_LEN(foo) \ + ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN) + +/* + * The ETHERTYPE_NTRAILER packet types starting at ETHERTYPE_TRAIL have + * (type-ETHERTYPE_TRAIL)*512 bytes of data followed + * by an ETHER type (as given above) and then the (variable-length) header. + */ +#define ETHERTYPE_TRAIL 0x1000 /* Trailer packet */ +#define ETHERTYPE_NTRAILER 16 + +#define ETHERMTU ETH_DATA_LEN +#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) + +__END_DECLS + +#endif /* net/ethernet.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if.h new file mode 100644 index 00000000..71e70c3b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if.h @@ -0,0 +1,206 @@ +/* net/if.h -- declarations for inquiring about network interfaces + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NET_IF_H +#define _NET_IF_H 1 + +#include + +#ifdef __USE_MISC +# include +# include +#endif + + +/* Length of interface name. */ +#define IF_NAMESIZE 16 + +struct if_nameindex + { + unsigned int if_index; /* 1, 2, ... */ + char *if_name; /* null terminated name: "eth0", ... */ + }; + + +#ifdef __USE_MISC +/* Standard interface flags. */ +enum + { + IFF_UP = 0x1, /* Interface is up. */ +# define IFF_UP IFF_UP + IFF_BROADCAST = 0x2, /* Broadcast address valid. */ +# define IFF_BROADCAST IFF_BROADCAST + IFF_DEBUG = 0x4, /* Turn on debugging. */ +# define IFF_DEBUG IFF_DEBUG + IFF_LOOPBACK = 0x8, /* Is a loopback net. */ +# define IFF_LOOPBACK IFF_LOOPBACK + IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link. */ +# define IFF_POINTOPOINT IFF_POINTOPOINT + IFF_NOTRAILERS = 0x20, /* Avoid use of trailers. */ +# define IFF_NOTRAILERS IFF_NOTRAILERS + IFF_RUNNING = 0x40, /* Resources allocated. */ +# define IFF_RUNNING IFF_RUNNING + IFF_NOARP = 0x80, /* No address resolution protocol. */ +# define IFF_NOARP IFF_NOARP + IFF_PROMISC = 0x100, /* Receive all packets. */ +# define IFF_PROMISC IFF_PROMISC + + /* Not supported */ + IFF_ALLMULTI = 0x200, /* Receive all multicast packets. */ +# define IFF_ALLMULTI IFF_ALLMULTI + + IFF_MASTER = 0x400, /* Master of a load balancer. */ +# define IFF_MASTER IFF_MASTER + IFF_SLAVE = 0x800, /* Slave of a load balancer. */ +# define IFF_SLAVE IFF_SLAVE + + IFF_MULTICAST = 0x1000, /* Supports multicast. */ +# define IFF_MULTICAST IFF_MULTICAST + + IFF_PORTSEL = 0x2000, /* Can set media type. */ +# define IFF_PORTSEL IFF_PORTSEL + IFF_AUTOMEDIA = 0x4000, /* Auto media select active. */ +# define IFF_AUTOMEDIA IFF_AUTOMEDIA + IFF_DYNAMIC = 0x8000 /* Dialup device with changing addresses. */ +# define IFF_DYNAMIC IFF_DYNAMIC + }; + +/* The ifaddr structure contains information about one address of an + interface. They are maintained by the different address families, + are allocated and attached when an address is set, and are linked + together so all addresses for an interface can be located. */ + +struct ifaddr + { + struct sockaddr ifa_addr; /* Address of interface. */ + union + { + struct sockaddr ifu_broadaddr; + struct sockaddr ifu_dstaddr; + } ifa_ifu; + struct iface *ifa_ifp; /* Back-pointer to interface. */ + struct ifaddr *ifa_next; /* Next address for interface. */ + }; + +# define ifa_broadaddr ifa_ifu.ifu_broadaddr /* broadcast address */ +# define ifa_dstaddr ifa_ifu.ifu_dstaddr /* other end of link */ + +/* Device mapping structure. I'd just gone off and designed a + beautiful scheme using only loadable modules with arguments for + driver options and along come the PCMCIA people 8) + + Ah well. The get() side of this is good for WDSETUP, and it'll be + handy for debugging things. The set side is fine for now and being + very small might be worth keeping for clean configuration. */ + +struct ifmap + { + unsigned long int mem_start; + unsigned long int mem_end; + unsigned short int base_addr; + unsigned char irq; + unsigned char dma; + unsigned char port; + /* 3 bytes spare */ + }; + +/* Interface request structure used for socket ioctl's. All interface + ioctl's must have parameter definitions which begin with ifr_name. + The remainder may be interface specific. */ + +struct ifreq + { +# define IFHWADDRLEN 6 +# define IFNAMSIZ IF_NAMESIZE + union + { + char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */ + } ifr_ifrn; + + union + { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; + short int ifru_flags; + int ifru_ivalue; + int ifru_mtu; + struct ifmap ifru_map; + char ifru_slave[IFNAMSIZ]; /* Just fits the size */ + char ifru_newname[IFNAMSIZ]; + __caddr_t ifru_data; + } ifr_ifru; + }; +# define ifr_name ifr_ifrn.ifrn_name /* interface name */ +# define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ +# define ifr_addr ifr_ifru.ifru_addr /* address */ +# define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */ +# define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ +# define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */ +# define ifr_flags ifr_ifru.ifru_flags /* flags */ +# define ifr_metric ifr_ifru.ifru_ivalue /* metric */ +# define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ +# define ifr_map ifr_ifru.ifru_map /* device map */ +# define ifr_slave ifr_ifru.ifru_slave /* slave device */ +# define ifr_data ifr_ifru.ifru_data /* for use by interface */ +# define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */ +# define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */ +# define ifr_qlen ifr_ifru.ifru_ivalue /* queue length */ +# define ifr_newname ifr_ifru.ifru_newname /* New name */ +# define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0) +# define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0) +# define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0) + + +/* Structure used in SIOCGIFCONF request. Used to retrieve interface + configuration for machine (useful for programs which must know all + networks accessible). */ + +struct ifconf + { + int ifc_len; /* Size of buffer. */ + union + { + __caddr_t ifcu_buf; + struct ifreq *ifcu_req; + } ifc_ifcu; + }; +# define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */ +# define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */ +# define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) /* not right */ +#endif /* Misc. */ + +__BEGIN_DECLS + +/* Convert an interface name to an index, and vice versa. */ +extern unsigned int if_nametoindex (const char *__ifname) __THROW; +extern char *if_indextoname (unsigned int __ifindex, + char __ifname[IF_NAMESIZE]) __THROW + __attr_access ((__write_only__, 2)); + +/* Return a list of all interfaces and their indices. */ +extern struct if_nameindex *if_nameindex (void) __THROW; + +/* Free the data returned from if_nameindex. */ +extern void if_freenameindex (struct if_nameindex *__ptr) __THROW; + +__END_DECLS + +#endif /* net/if.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_arp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_arp.h new file mode 100644 index 00000000..59d9a84b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_arp.h @@ -0,0 +1,184 @@ +/* Definitions for Address Resolution Protocol. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Based on the 4.4BSD and Linux version of this file. */ + +#ifndef _NET_IF_ARP_H +#define _NET_IF_ARP_H 1 + +#include +#include +#include + +__BEGIN_DECLS + +/* Some internals from deep down in the kernel. */ +#define MAX_ADDR_LEN 7 + + +/* This structure defines an ethernet arp header. */ + +/* ARP protocol opcodes. */ +#define ARPOP_REQUEST 1 /* ARP request. */ +#define ARPOP_REPLY 2 /* ARP reply. */ +#define ARPOP_RREQUEST 3 /* RARP request. */ +#define ARPOP_RREPLY 4 /* RARP reply. */ +#define ARPOP_InREQUEST 8 /* InARP request. */ +#define ARPOP_InREPLY 9 /* InARP reply. */ +#define ARPOP_NAK 10 /* (ATM)ARP NAK. */ + +/* See RFC 826 for protocol description. ARP packets are variable + in size; the arphdr structure defines the fixed-length portion. + Protocol type values are the same as those for 10 Mb/s Ethernet. + It is followed by the variable-sized fields ar_sha, arp_spa, + arp_tha and arp_tpa in that order, according to the lengths + specified. Field names used correspond to RFC 826. */ + +struct arphdr + { + unsigned short int ar_hrd; /* Format of hardware address. */ + unsigned short int ar_pro; /* Format of protocol address. */ + unsigned char ar_hln; /* Length of hardware address. */ + unsigned char ar_pln; /* Length of protocol address. */ + unsigned short int ar_op; /* ARP opcode (command). */ +#if 0 + /* Ethernet looks like this : This bit is variable sized + however... */ + unsigned char __ar_sha[ETH_ALEN]; /* Sender hardware address. */ + unsigned char __ar_sip[4]; /* Sender IP address. */ + unsigned char __ar_tha[ETH_ALEN]; /* Target hardware address. */ + unsigned char __ar_tip[4]; /* Target IP address. */ +#endif + }; + + +/* ARP protocol HARDWARE identifiers. */ +#define ARPHRD_NETROM 0 /* From KA9Q: NET/ROM pseudo. */ +#define ARPHRD_ETHER 1 /* Ethernet 10/100Mbps. */ +#define ARPHRD_EETHER 2 /* Experimental Ethernet. */ +#define ARPHRD_AX25 3 /* AX.25 Level 2. */ +#define ARPHRD_PRONET 4 /* PROnet token ring. */ +#define ARPHRD_CHAOS 5 /* Chaosnet. */ +#define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB. */ +#define ARPHRD_ARCNET 7 /* ARCnet. */ +#define ARPHRD_APPLETLK 8 /* APPLEtalk. */ +#define ARPHRD_DLCI 15 /* Frame Relay DLCI. */ +#define ARPHRD_ATM 19 /* ATM. */ +#define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id). */ +#define ARPHRD_IEEE1394 24 /* IEEE 1394 IPv4 - RFC 2734. */ +#define ARPHRD_EUI64 27 /* EUI-64. */ +#define ARPHRD_INFINIBAND 32 /* InfiniBand. */ + +/* Dummy types for non ARP hardware */ +#define ARPHRD_SLIP 256 +#define ARPHRD_CSLIP 257 +#define ARPHRD_SLIP6 258 +#define ARPHRD_CSLIP6 259 +#define ARPHRD_RSRVD 260 /* Notional KISS type. */ +#define ARPHRD_ADAPT 264 +#define ARPHRD_ROSE 270 +#define ARPHRD_X25 271 /* CCITT X.25. */ +#define ARPHRD_HWX25 272 /* Boards with X.25 in firmware. */ +#define ARPHRD_CAN 280 /* Controller Area Network. */ +#define ARPHRD_MCTP 290 +#define ARPHRD_PPP 512 +#define ARPHRD_CISCO 513 /* Cisco HDLC. */ +#define ARPHRD_HDLC ARPHRD_CISCO +#define ARPHRD_LAPB 516 /* LAPB. */ +#define ARPHRD_DDCMP 517 /* Digital's DDCMP. */ +#define ARPHRD_RAWHDLC 518 /* Raw HDLC. */ +#define ARPHRD_RAWIP 519 /* Raw IP. */ + +#define ARPHRD_TUNNEL 768 /* IPIP tunnel. */ +#define ARPHRD_TUNNEL6 769 /* IPIP6 tunnel. */ +#define ARPHRD_FRAD 770 /* Frame Relay Access Device. */ +#define ARPHRD_SKIP 771 /* SKIP vif. */ +#define ARPHRD_LOOPBACK 772 /* Loopback device. */ +#define ARPHRD_LOCALTLK 773 /* Localtalk device. */ +#define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface. */ +#define ARPHRD_BIF 775 /* AP1000 BIF. */ +#define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4. */ +#define ARPHRD_IPDDP 777 /* IP-in-DDP tunnel. */ +#define ARPHRD_IPGRE 778 /* GRE over IP. */ +#define ARPHRD_PIMREG 779 /* PIMSM register interface. */ +#define ARPHRD_HIPPI 780 /* High Performance Parallel I'face. */ +#define ARPHRD_ASH 781 /* (Nexus Electronics) Ash. */ +#define ARPHRD_ECONET 782 /* Acorn Econet. */ +#define ARPHRD_IRDA 783 /* Linux-IrDA. */ +#define ARPHRD_FCPP 784 /* Point to point fibrechanel. */ +#define ARPHRD_FCAL 785 /* Fibrechanel arbitrated loop. */ +#define ARPHRD_FCPL 786 /* Fibrechanel public loop. */ +#define ARPHRD_FCFABRIC 787 /* Fibrechanel fabric. */ +#define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR. */ +#define ARPHRD_IEEE80211 801 /* IEEE 802.11. */ +#define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header. */ +#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header. */ +#define ARPHRD_IEEE802154 804 /* IEEE 802.15.4 header. */ +#define ARPHRD_IEEE802154_PHY 805 /* IEEE 802.15.4 PHY header. */ + +#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known. */ +#define ARPHRD_NONE 0xFFFE /* Zero header length. */ + + +/* ARP ioctl request. */ +struct arpreq + { + struct sockaddr arp_pa; /* Protocol address. */ + struct sockaddr arp_ha; /* Hardware address. */ + int arp_flags; /* Flags. */ + struct sockaddr arp_netmask; /* Netmask (only for proxy arps). */ + char arp_dev[16]; + }; + +struct arpreq_old + { + struct sockaddr arp_pa; /* Protocol address. */ + struct sockaddr arp_ha; /* Hardware address. */ + int arp_flags; /* Flags. */ + struct sockaddr arp_netmask; /* Netmask (only for proxy arps). */ + }; + +/* ARP Flag values. */ +#define ATF_COM 0x02 /* Completed entry (ha valid). */ +#define ATF_PERM 0x04 /* Permanent entry. */ +#define ATF_PUBL 0x08 /* Publish entry. */ +#define ATF_USETRAILERS 0x10 /* Has requested trailers. */ +#define ATF_NETMASK 0x20 /* Want to use a netmask (only + for proxy entries). */ +#define ATF_DONTPUB 0x40 /* Don't answer this addresses. */ +#define ATF_MAGIC 0x80 /* Automatically added entry. */ + + +/* Support for the user space arp daemon, arpd. */ +#define ARPD_UPDATE 0x01 +#define ARPD_LOOKUP 0x02 +#define ARPD_FLUSH 0x03 + +struct arpd_request + { + unsigned short int req; /* Request type. */ + uint32_t ip; /* IP address of entry. */ + unsigned long int dev; /* Device entry is tied to. */ + unsigned long int stamp; + unsigned long int updated; + unsigned char ha[MAX_ADDR_LEN]; /* Hardware address. */ + }; + +__END_DECLS + +#endif /* net/if_arp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_packet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_packet.h new file mode 100644 index 00000000..f89f7f9d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_packet.h @@ -0,0 +1,36 @@ +/* Definitions for use with Linux SOCK_PACKET sockets. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __IF_PACKET_H +#define __IF_PACKET_H + +#include +#include + +/* This is the SOCK_PACKET address structure as used in Linux 2.0. + From Linux 2.1 the AF_PACKET interface is preferred and you should + consider using it in place of this one. */ + +struct __attribute_struct_may_alias__ sockaddr_pkt + { + __SOCKADDR_COMMON (spkt_); + unsigned char spkt_device[14]; + unsigned short spkt_protocol; + }; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_ppp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_ppp.h new file mode 100644 index 00000000..740a849d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_ppp.h @@ -0,0 +1,171 @@ +/* From: if_ppp.h,v 1.3 1995/06/12 11:36:50 paulus Exp */ + +/* + * if_ppp.h - Point-to-Point Protocol definitions. + * + * Copyright (c) 1989 Carnegie Mellon University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY AND + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* + * ==FILEVERSION 960926== + * + * NOTE TO MAINTAINERS: + * If you modify this file at all, please set the above date. + * if_ppp.h is shipped with a PPP distribution as well as with the kernel; + * if everyone increases the FILEVERSION number above, then scripts + * can do the right thing when deciding whether to install a new if_ppp.h + * file. Don't change the format of that line otherwise, so the + * installation script can recognize it. + */ + + +#ifndef __NET_IF_PPP_H +#define __NET_IF_PPP_H 1 + +#include +#include +#include +#include +#include + +__BEGIN_DECLS + +/* + * Packet sizes + */ + +#define PPP_MTU 1500 /* Default MTU (size of Info field) */ +#define PPP_MAXMRU 65000 /* Largest MRU we allow */ +#define PPP_VERSION "2.2.0" +#define PPP_MAGIC 0x5002 /* Magic value for the ppp structure */ +#define PROTO_IPX 0x002b /* protocol numbers */ +#define PROTO_DNA_RT 0x0027 /* DNA Routing */ + + +/* + * Bit definitions for flags. + */ + +#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */ +#define SC_COMP_AC 0x00000002 /* header compression (output) */ +#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */ +#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */ +#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */ +#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */ +#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */ +#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */ +#define SC_ENABLE_IP 0x00000100 /* IP packets may be exchanged */ +#define SC_COMP_RUN 0x00001000 /* compressor has been inited */ +#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */ +#define SC_DEBUG 0x00010000 /* enable debug messages */ +#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */ +#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */ +#define SC_LOG_RAWIN 0x00080000 /* log all chars received */ +#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */ +#define SC_MASK 0x0fE0ffff /* bits that user can change */ + +/* state bits */ +#define SC_ESCAPED 0x80000000 /* saw a PPP_ESCAPE */ +#define SC_FLUSH 0x40000000 /* flush input until next PPP_FLAG */ +#define SC_VJ_RESET 0x20000000 /* Need to reset the VJ decompressor */ +#define SC_XMIT_BUSY 0x10000000 /* ppp_write_wakeup is active */ +#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */ +#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */ +#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */ +#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */ +#define SC_DC_FERROR 0x00800000 /* fatal decomp error detected */ +#define SC_DC_ERROR 0x00400000 /* non-fatal decomp error detected */ + +/* + * Ioctl definitions. + */ + +struct npioctl { + int protocol; /* PPP protocol, e.g. PPP_IP */ + enum NPmode mode; +}; + +/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */ +struct ppp_option_data { + uint8_t *ptr; + uint32_t length; + int transmit; +}; + +/* 'struct ifreq' is only available from net/if.h under __USE_MISC. */ +#ifdef __USE_MISC +struct ifpppstatsreq { + struct ifreq b; + struct ppp_stats stats; /* statistic information */ +}; + +struct ifpppcstatsreq { + struct ifreq b; + struct ppp_comp_stats stats; +}; + +#define ifr__name b.ifr_ifrn.ifrn_name +#define stats_ptr b.ifr_ifru.ifru_data +#endif + +/* + * Ioctl definitions. + */ + +#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */ +#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */ +#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */ +#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */ +#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */ +#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */ +#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */ +#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */ +#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */ +#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */ +#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */ +#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */ +#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */ +#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data) +#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */ +#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */ +#define PPPIOCGDEBUG _IOR('t', 65, int) /* Read debug level */ +#define PPPIOCSDEBUG _IOW('t', 64, int) /* Set debug level */ +#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) /* get idle time */ + +#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0) +#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) /* NEVER change this!! */ +#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2) + +#if !defined(ifr_mtu) +#define ifr_mtu ifr_ifru.ifru_metric +#endif + +__END_DECLS + +#endif /* net/if_ppp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_shaper.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_shaper.h new file mode 100644 index 00000000..51c5716c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_shaper.h @@ -0,0 +1,58 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NET_IF_SHAPER_H +#define _NET_IF_SHAPER_H 1 + +#include +#include +#include +#include + +__BEGIN_DECLS + +#define SHAPER_QLEN 10 +/* + * This is a bit speed dependent (read it shouldn't be a constant!) + * + * 5 is about right for 28.8 upwards. Below that double for every + * halving of speed or so. - ie about 20 for 9600 baud. + */ +#define SHAPER_LATENCY (5 * HZ) +#define SHAPER_MAXSLIP 2 +#define SHAPER_BURST (HZ / 50) /* Good for >128K then */ + +#define SHAPER_SET_DEV 0x0001 +#define SHAPER_SET_SPEED 0x0002 +#define SHAPER_GET_DEV 0x0003 +#define SHAPER_GET_SPEED 0x0004 + +struct shaperconf +{ + uint16_t ss_cmd; + union + { + char ssu_name[14]; + uint32_t ssu_speed; + } ss_u; +#define ss_speed ss_u.ssu_speed +#define ss_name ss_u.ssu_name +}; + +__END_DECLS + +#endif /* net/if_shaper.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_slip.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_slip.h new file mode 100644 index 00000000..a46311d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/if_slip.h @@ -0,0 +1,24 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NET_IF_SLIP_H +#define _NET_IF_SLIP_H 1 + +/* We can use the kernel header. */ +#include + +#endif /* net/if_slip.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp-comp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp-comp.h new file mode 100644 index 00000000..352313f1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp-comp.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp_defs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp_defs.h new file mode 100644 index 00000000..084836ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/ppp_defs.h @@ -0,0 +1,8 @@ +#ifndef _NET_PPP_DEFS_H +#define _NET_PPP_DEFS_H 1 + +#include +#include +#include + +#endif /* net/ppp_defs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/route.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/route.h new file mode 100644 index 00000000..3cc87c17 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/net/route.h @@ -0,0 +1,144 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Based on the 4.4BSD and Linux version of this file. */ + +#ifndef _NET_ROUTE_H +#define _NET_ROUTE_H 1 + +#include +#include +#include +#include +#include + + +/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */ +struct rtentry + { + unsigned long int rt_pad1; + struct sockaddr rt_dst; /* Target address. */ + struct sockaddr rt_gateway; /* Gateway addr (RTF_GATEWAY). */ + struct sockaddr rt_genmask; /* Target network mask (IP). */ + unsigned short int rt_flags; + short int rt_pad2; + unsigned long int rt_pad3; + unsigned char rt_tos; + unsigned char rt_class; +#if __WORDSIZE == 64 + short int rt_pad4[3]; +#else + short int rt_pad4; +#endif + short int rt_metric; /* +1 for binary compatibility! */ + char *rt_dev; /* Forcing the device at add. */ + unsigned long int rt_mtu; /* Per route MTU/Window. */ + unsigned long int rt_window; /* Window clamping. */ + unsigned short int rt_irtt; /* Initial RTT. */ + }; +/* Compatibility hack. */ +#define rt_mss rt_mtu + + +struct in6_rtmsg + { + struct in6_addr rtmsg_dst; + struct in6_addr rtmsg_src; + struct in6_addr rtmsg_gateway; + uint32_t rtmsg_type; + uint16_t rtmsg_dst_len; + uint16_t rtmsg_src_len; + uint32_t rtmsg_metric; + unsigned long int rtmsg_info; + uint32_t rtmsg_flags; + int rtmsg_ifindex; + }; + + +#define RTF_UP 0x0001 /* Route usable. */ +#define RTF_GATEWAY 0x0002 /* Destination is a gateway. */ + +#define RTF_HOST 0x0004 /* Host entry (net otherwise). */ +#define RTF_REINSTATE 0x0008 /* Reinstate route after timeout. */ +#define RTF_DYNAMIC 0x0010 /* Created dyn. (by redirect). */ +#define RTF_MODIFIED 0x0020 /* Modified dyn. (by redirect). */ +#define RTF_MTU 0x0040 /* Specific MTU for this route. */ +#define RTF_MSS RTF_MTU /* Compatibility. */ +#define RTF_WINDOW 0x0080 /* Per route window clamping. */ +#define RTF_IRTT 0x0100 /* Initial round trip time. */ +#define RTF_REJECT 0x0200 /* Reject route. */ +#define RTF_STATIC 0x0400 /* Manually injected route. */ +#define RTF_XRESOLVE 0x0800 /* External resolver. */ +#define RTF_NOFORWARD 0x1000 /* Forwarding inhibited. */ +#define RTF_THROW 0x2000 /* Go to next class. */ +#define RTF_NOPMTUDISC 0x4000 /* Do not send packets with DF. */ + +/* for IPv6 */ +#define RTF_DEFAULT 0x00010000 /* default - learned via ND */ +#define RTF_ALLONLINK 0x00020000 /* fallback, no routers on link */ +#define RTF_ADDRCONF 0x00040000 /* addrconf route - RA */ + +#define RTF_LINKRT 0x00100000 /* link specific - device match */ +#define RTF_NONEXTHOP 0x00200000 /* route with no nexthop */ + +#define RTF_CACHE 0x01000000 /* cache entry */ +#define RTF_FLOW 0x02000000 /* flow significant route */ +#define RTF_POLICY 0x04000000 /* policy route */ + +#define RTCF_VALVE 0x00200000 +#define RTCF_MASQ 0x00400000 +#define RTCF_NAT 0x00800000 +#define RTCF_DOREDIRECT 0x01000000 +#define RTCF_LOG 0x02000000 +#define RTCF_DIRECTSRC 0x04000000 + +#define RTF_LOCAL 0x80000000 +#define RTF_INTERFACE 0x40000000 +#define RTF_MULTICAST 0x20000000 +#define RTF_BROADCAST 0x10000000 +#define RTF_NAT 0x08000000 + +#define RTF_ADDRCLASSMASK 0xF8000000 +#define RT_ADDRCLASS(flags) ((uint32_t) flags >> 23) + +#define RT_TOS(tos) ((tos) & IPTOS_TOS_MASK) + +#define RT_LOCALADDR(flags) ((flags & RTF_ADDRCLASSMASK) \ + == (RTF_LOCAL|RTF_INTERFACE)) + +#define RT_CLASS_UNSPEC 0 +#define RT_CLASS_DEFAULT 253 + +#define RT_CLASS_MAIN 254 +#define RT_CLASS_LOCAL 255 +#define RT_CLASS_MAX 255 + + +#define RTMSG_ACK NLMSG_ACK +#define RTMSG_OVERRUN NLMSG_OVERRUN + +#define RTMSG_NEWDEVICE 0x11 +#define RTMSG_DELDEVICE 0x12 +#define RTMSG_NEWROUTE 0x21 +#define RTMSG_DELROUTE 0x22 +#define RTMSG_NEWRULE 0x31 +#define RTMSG_DELRULE 0x32 +#define RTMSG_CONTROL 0x40 + +#define RTMSG_AR_FAILED 0x51 /* Address Resolution failed. */ + +#endif /* net/route.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netash/ash.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netash/ash.h new file mode 100644 index 00000000..465ec38c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netash/ash.h @@ -0,0 +1,39 @@ +/* Definitions for use with Linux AF_ASH sockets. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETASH_ASH_H +#define _NETASH_ASH_H 1 + +#include +#include + +struct __attribute_struct_may_alias__ sockaddr_ash + { + __SOCKADDR_COMMON (sash_); /* Common data: address family etc. */ + int sash_ifindex; /* Interface to use. */ + unsigned char sash_channel; /* Realtime or control. */ + unsigned int sash_plen; + unsigned char sash_prefix[16]; + }; + +/* Values for `channel' member. */ +#define ASH_CHANNEL_ANY 0 +#define ASH_CHANNEL_CONTROL 1 +#define ASH_CHANNEL_REALTIME 2 + +#endif /* netash/ash.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netatalk/at.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netatalk/at.h new file mode 100644 index 00000000..d3d5fe50 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netatalk/at.h @@ -0,0 +1,28 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETATALK_AT_H +#define _NETATALK_AT_H 1 + +#include +#include +#include +#include + +#define SOL_ATALK 258 /* sockopt level for atalk */ + +#endif /* netatalk/at.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netax25/ax25.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netax25/ax25.h new file mode 100644 index 00000000..f08b91f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netax25/ax25.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETAX25_AX25_H +#define _NETAX25_AX25_H 1 + +#include +#include + +/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx. */ +#define SOL_AX25 257 + +/* AX.25 flags: */ +#define AX25_WINDOW 1 +#define AX25_T1 2 +#define AX25_T2 5 +#define AX25_T3 4 +#define AX25_N2 3 +#define AX25_BACKOFF 6 +#define AX25_EXTSEQ 7 +#define AX25_PIDINCL 8 +#define AX25_IDLE 9 +#define AX25_PACLEN 10 +#define AX25_IPMAXQUEUE 11 +#define AX25_IAMDIGI 12 +#define AX25_KILL 99 + +/* AX.25 socket ioctls: */ +#define SIOCAX25GETUID (SIOCPROTOPRIVATE) +#define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1) +#define SIOCAX25DELUID (SIOCPROTOPRIVATE+2) +#define SIOCAX25NOUID (SIOCPROTOPRIVATE+3) +#define SIOCAX25BPQADDR (SIOCPROTOPRIVATE+4) +#define SIOCAX25GETPARMS (SIOCPROTOPRIVATE+5) +#define SIOCAX25SETPARMS (SIOCPROTOPRIVATE+6) +#define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7) +#define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8) +#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+9) +#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10) +#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11) + +/* unknown: */ +#define AX25_NOUID_DEFAULT 0 +#define AX25_NOUID_BLOCK 1 +#define AX25_SET_RT_IPMODE 2 + +/* Digipeating flags: */ +#define AX25_DIGI_INBAND 0x01 /* Allow digipeating within port */ +#define AX25_DIGI_XBAND 0x02 /* Allow digipeating across ports */ + +/* Maximum number of digipeaters: */ +#define AX25_MAX_DIGIS 8 + + +typedef struct + { + char ax25_call[7]; /* 6 call + SSID (shifted ascii) */ + } +ax25_address; + +struct sockaddr_ax25 + { + sa_family_t sax25_family; + ax25_address sax25_call; + int sax25_ndigis; + }; + +/* + * The sockaddr struct with the digipeater addresses: + */ +struct full_sockaddr_ax25 + { + struct sockaddr_ax25 fsa_ax25; + ax25_address fsa_digipeater[AX25_MAX_DIGIS]; + }; +#define sax25_uid sax25_ndigis + +struct ax25_routes_struct + { + ax25_address port_addr; + ax25_address dest_addr; + unsigned char digi_count; + ax25_address digi_addr[AX25_MAX_DIGIS]; + }; + +/* The AX.25 ioctl structure: */ +struct ax25_ctl_struct + { + ax25_address port_addr; + ax25_address source_addr; + ax25_address dest_addr; + unsigned int cmd; + unsigned long arg; + unsigned char digi_count; + ax25_address digi_addr[AX25_MAX_DIGIS]; + }; + +struct ax25_info_struct + { + unsigned int n2, n2count; + unsigned int t1, t1timer; + unsigned int t2, t2timer; + unsigned int t3, t3timer; + unsigned int idle, idletimer; + unsigned int state; + unsigned int rcv_q, snd_q; + }; + +struct ax25_fwd_struct + { + ax25_address port_from; + ax25_address port_to; + }; + +/* AX.25 route structure: */ +struct ax25_route_opt_struct + { + ax25_address port_addr; + ax25_address dest_addr; + int cmd; + int arg; + }; + +/* AX.25 BPQ stuff: */ +struct ax25_bpqaddr_struct + { + char dev[16]; + ax25_address addr; + }; + +/* Definitions for the AX.25 `values' fields: */ +#define AX25_VALUES_IPDEFMODE 0 /* 'D'=DG 'V'=VC */ +#define AX25_VALUES_AXDEFMODE 1 /* 8=Normal 128=Extended Seq Nos */ +#define AX25_VALUES_NETROM 2 /* Allow NET/ROM - 0=No 1=Yes */ +#define AX25_VALUES_TEXT 3 /* Allow PID=Text - 0=No 1=Yes */ +#define AX25_VALUES_BACKOFF 4 /* 'E'=Exponential 'L'=Linear */ +#define AX25_VALUES_CONMODE 5 /* Allow connected modes - 0=No 1=Yes */ +#define AX25_VALUES_WINDOW 6 /* Default window size for standard AX.25 */ +#define AX25_VALUES_EWINDOW 7 /* Default window size for extended AX.25 */ +#define AX25_VALUES_T1 8 /* Default T1 timeout value */ +#define AX25_VALUES_T2 9 /* Default T2 timeout value */ +#define AX25_VALUES_T3 10 /* Default T3 timeout value */ +#define AX25_VALUES_N2 11 /* Default N2 value */ +#define AX25_VALUES_DIGI 12 /* Digipeat mode */ +#define AX25_VALUES_IDLE 13 /* mode vc idle timer */ +#define AX25_VALUES_PACLEN 14 /* AX.25 MTU */ +#define AX25_VALUES_IPMAXQUEUE 15 /* Maximum number of buffers enqueued */ +#define AX25_MAX_VALUES 20 + +struct ax25_parms_struct + { + ax25_address port_addr; + unsigned short values[AX25_MAX_VALUES]; + }; + +#endif /* netax25/ax25.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netdb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netdb.h new file mode 100644 index 00000000..0c7574af --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netdb.h @@ -0,0 +1,724 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* All data returned by the network data base library are supplied in + host order and returned in network order (suitable for use in + system calls). */ + +#ifndef _NETDB_H +#define _NETDB_H 1 + +#include + +#include +#include +#ifdef __USE_MISC +/* This is necessary to make this include file properly replace the + Sun version. */ +# include +#endif + +#ifdef __USE_GNU +# include +# include +#endif + +#include + +/* Absolute file name for network data base files. */ +#define _PATH_HEQUIV "/etc/hosts.equiv" +#define _PATH_HOSTS "/etc/hosts" +#define _PATH_NETWORKS "/etc/networks" +#define _PATH_NSSWITCH_CONF "/etc/nsswitch.conf" +#define _PATH_PROTOCOLS "/etc/protocols" +#define _PATH_SERVICES "/etc/services" + + +__BEGIN_DECLS + +#if defined __USE_MISC || !defined __USE_XOPEN2K8 +/* Error status for non-reentrant lookup functions. + We use a macro to access always the thread-specific `h_errno' variable. */ +# define h_errno (*__h_errno_location ()) + +/* Function to get address of global `h_errno' variable. */ +extern int *__h_errno_location (void) __THROW __attribute__ ((__const__)); + + +/* Possible values left in `h_errno'. */ +# define HOST_NOT_FOUND 1 /* Authoritative Answer Host not found. */ +# define TRY_AGAIN 2 /* Non-Authoritative Host not found, + or SERVERFAIL. */ +# define NO_RECOVERY 3 /* Non recoverable errors, FORMERR, REFUSED, + NOTIMP. */ +# define NO_DATA 4 /* Valid name, no data record of requested + type. */ +#endif +#ifdef __USE_MISC +# define NETDB_INTERNAL -1 /* See errno. */ +# define NETDB_SUCCESS 0 /* No problem. */ +# define NO_ADDRESS NO_DATA /* No address, look for MX record. */ +#endif + +#if defined __USE_XOPEN2K || defined __USE_XOPEN_EXTENDED +/* Highest reserved Internet port number. */ +# define IPPORT_RESERVED 1024 +#endif + +#ifdef __USE_GNU +/* Scope delimiter for getaddrinfo(), getnameinfo(). */ +# define SCOPE_DELIMITER '%' +#endif + +#ifdef __USE_MISC +/* Print error indicated by `h_errno' variable on standard error. STR + if non-null is printed before the error string. */ +extern void herror (const char *__str) __THROW; + +/* Return string associated with error ERR_NUM. */ +extern const char *hstrerror (int __err_num) __THROW; +#endif + + +/* Description of data base entry for a single host. */ +struct hostent +{ + char *h_name; /* Official name of host. */ + char **h_aliases; /* Alias list. */ + int h_addrtype; /* Host address type. */ + int h_length; /* Length of address. */ + char **h_addr_list; /* List of addresses from name server. */ +#ifdef __USE_MISC +# define h_addr h_addr_list[0] /* Address, for backward compatibility.*/ +#endif +}; + +/* Open host data base files and mark them as staying open even after + a later search if STAY_OPEN is non-zero. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void sethostent (int __stay_open); + +/* Close host data base files and clear `stay open' flag. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endhostent (void); + +/* Get next entry from host data base file. Open data base if + necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct hostent *gethostent (void); + +/* Return entry from host data base which address match ADDR with + length LEN and type TYPE. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct hostent *gethostbyaddr (const void *__addr, __socklen_t __len, + int __type); + +/* Return entry from host data base for host with NAME. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct hostent *gethostbyname (const char *__name); + +#ifdef __USE_MISC +/* Return entry from host data base for host with NAME. AF must be + set to the address type which is `AF_INET' for IPv4 or `AF_INET6' + for IPv6. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct hostent *gethostbyname2 (const char *__name, int __af); + +/* Reentrant versions of the functions above. The additional + arguments specify a buffer of BUFLEN starting at BUF. The last + argument is a pointer to a variable which gets the value which + would be stored in the global variable `herrno' by the + non-reentrant functions. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int gethostent_r (struct hostent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct hostent **__restrict __result, + int *__restrict __h_errnop); + +extern int gethostbyaddr_r (const void *__restrict __addr, __socklen_t __len, + int __type, + struct hostent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct hostent **__restrict __result, + int *__restrict __h_errnop); + +extern int gethostbyname_r (const char *__restrict __name, + struct hostent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct hostent **__restrict __result, + int *__restrict __h_errnop); + +extern int gethostbyname2_r (const char *__restrict __name, int __af, + struct hostent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct hostent **__restrict __result, + int *__restrict __h_errnop); +#endif /* misc */ + + +/* Open network data base files and mark them as staying open even + after a later search if STAY_OPEN is non-zero. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setnetent (int __stay_open); + +/* Close network data base files and clear `stay open' flag. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endnetent (void); + +/* Get next entry from network data base file. Open data base if + necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct netent *getnetent (void); + +/* Return entry from network data base which address match NET and + type TYPE. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct netent *getnetbyaddr (uint32_t __net, int __type); + +/* Return entry from network data base for network with NAME. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct netent *getnetbyname (const char *__name); + +#ifdef __USE_MISC +/* Reentrant versions of the functions above. The additional + arguments specify a buffer of BUFLEN starting at BUF. The last + argument is a pointer to a variable which gets the value which + would be stored in the global variable `herrno' by the + non-reentrant functions. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int getnetent_r (struct netent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct netent **__restrict __result, + int *__restrict __h_errnop); + +extern int getnetbyaddr_r (uint32_t __net, int __type, + struct netent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct netent **__restrict __result, + int *__restrict __h_errnop); + +extern int getnetbyname_r (const char *__restrict __name, + struct netent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct netent **__restrict __result, + int *__restrict __h_errnop); +#endif /* misc */ + + +/* Description of data base entry for a single service. */ +struct servent +{ + char *s_name; /* Official service name. */ + char **s_aliases; /* Alias list. */ + int s_port; /* Port number. */ + char *s_proto; /* Protocol to use. */ +}; + +/* Open service data base files and mark them as staying open even + after a later search if STAY_OPEN is non-zero. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setservent (int __stay_open); + +/* Close service data base files and clear `stay open' flag. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endservent (void); + +/* Get next entry from service data base file. Open data base if + necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct servent *getservent (void); + +/* Return entry from network data base for network with NAME and + protocol PROTO. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct servent *getservbyname (const char *__name, const char *__proto); + +/* Return entry from service data base which matches port PORT and + protocol PROTO. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct servent *getservbyport (int __port, const char *__proto); + + +#ifdef __USE_MISC +/* Reentrant versions of the functions above. The additional + arguments specify a buffer of BUFLEN starting at BUF. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int getservent_r (struct servent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct servent **__restrict __result); + +extern int getservbyname_r (const char *__restrict __name, + const char *__restrict __proto, + struct servent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct servent **__restrict __result); + +extern int getservbyport_r (int __port, const char *__restrict __proto, + struct servent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct servent **__restrict __result); +#endif /* misc */ + + +/* Description of data base entry for a single service. */ +struct protoent +{ + char *p_name; /* Official protocol name. */ + char **p_aliases; /* Alias list. */ + int p_proto; /* Protocol number. */ +}; + +/* Open protocol data base files and mark them as staying open even + after a later search if STAY_OPEN is non-zero. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setprotoent (int __stay_open); + +/* Close protocol data base files and clear `stay open' flag. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endprotoent (void); + +/* Get next entry from protocol data base file. Open data base if + necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct protoent *getprotoent (void); + +/* Return entry from protocol data base for network with NAME. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct protoent *getprotobyname (const char *__name); + +/* Return entry from protocol data base which number is PROTO. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct protoent *getprotobynumber (int __proto); + + +#ifdef __USE_MISC +/* Reentrant versions of the functions above. The additional + arguments specify a buffer of BUFLEN starting at BUF. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int getprotoent_r (struct protoent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct protoent **__restrict __result); + +extern int getprotobyname_r (const char *__restrict __name, + struct protoent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct protoent **__restrict __result); + +extern int getprotobynumber_r (int __proto, + struct protoent *__restrict __result_buf, + char *__restrict __buf, size_t __buflen, + struct protoent **__restrict __result); + + +/* Establish network group NETGROUP for enumeration. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int setnetgrent (const char *__netgroup); + +/* Free all space allocated by previous `setnetgrent' call. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void endnetgrent (void); + +/* Get next member of netgroup established by last `setnetgrent' call + and return pointers to elements in HOSTP, USERP, and DOMAINP. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getnetgrent (char **__restrict __hostp, + char **__restrict __userp, + char **__restrict __domainp); + + +/* Test whether NETGROUP contains the triple (HOST,USER,DOMAIN). + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int innetgr (const char *__netgroup, const char *__host, + const char *__user, const char *__domain); + +/* Reentrant version of `getnetgrent' where result is placed in BUFFER. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getnetgrent_r (char **__restrict __hostp, + char **__restrict __userp, + char **__restrict __domainp, + char *__restrict __buffer, size_t __buflen); +#endif /* misc */ + + +#ifdef __USE_MISC +/* Call `rshd' at port RPORT on remote machine *AHOST to execute CMD. + The local user is LOCUSER, on the remote machine the command is + executed as REMUSER. In *FD2P the descriptor to the socket for the + connection is returned. The caller must have the right to use a + reserved port. When the function returns *AHOST contains the + official host name. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rcmd (char **__restrict __ahost, unsigned short int __rport, + const char *__restrict __locuser, + const char *__restrict __remuser, + const char *__restrict __cmd, int *__restrict __fd2p); + +/* This is the equivalent function where the protocol can be selected + and which therefore can be used for IPv6. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, + const char *__restrict __locuser, + const char *__restrict __remuser, + const char *__restrict __cmd, int *__restrict __fd2p, + sa_family_t __af); + +/* Call `rexecd' at port RPORT on remote machine *AHOST to execute + CMD. The process runs at the remote machine using the ID of user + NAME whose cleartext password is PASSWD. In *FD2P the descriptor + to the socket for the connection is returned. When the function + returns *AHOST contains the official host name. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rexec (char **__restrict __ahost, int __rport, + const char *__restrict __name, + const char *__restrict __pass, + const char *__restrict __cmd, int *__restrict __fd2p); + +/* This is the equivalent function where the protocol can be selected + and which therefore can be used for IPv6. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rexec_af (char **__restrict __ahost, int __rport, + const char *__restrict __name, + const char *__restrict __pass, + const char *__restrict __cmd, int *__restrict __fd2p, + sa_family_t __af); + +/* Check whether user REMUSER on system RHOST is allowed to login as LOCUSER. + If SUSER is not zero the user tries to become superuser. Return 0 if + it is possible. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int ruserok (const char *__rhost, int __suser, + const char *__remuser, const char *__locuser); + +/* This is the equivalent function where the protocol can be selected + and which therefore can be used for IPv6. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int ruserok_af (const char *__rhost, int __suser, + const char *__remuser, const char *__locuser, + sa_family_t __af); + +/* Check whether user REMUSER on system indicated by IPv4 address + RADDR is allowed to login as LOCUSER. Non-IPv4 (e.g., IPv6) are + not supported. If SUSER is not zero the user tries to become + superuser. Return 0 if it is possible. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int iruserok (uint32_t __raddr, int __suser, + const char *__remuser, const char *__locuser); + +/* This is the equivalent function where the pfamiliy if the address + pointed to by RADDR is determined by the value of AF. It therefore + can be used for IPv6 + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int iruserok_af (const void *__raddr, int __suser, + const char *__remuser, const char *__locuser, + sa_family_t __af); + +/* Try to allocate reserved port, returning a descriptor for a socket opened + at this port or -1 if unsuccessful. The search for an available port + will start at ALPORT and continues with lower numbers. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rresvport (int *__alport); + +/* This is the equivalent function where the protocol can be selected + and which therefore can be used for IPv6. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int rresvport_af (int *__alport, sa_family_t __af); +#endif + + +/* Extension from POSIX.1:2001. */ +#ifdef __USE_XOPEN2K +/* Structure to contain information about address of a service provider. */ +struct addrinfo +{ + int ai_flags; /* Input flags. */ + int ai_family; /* Protocol family for socket. */ + int ai_socktype; /* Socket type. */ + int ai_protocol; /* Protocol for socket. */ + socklen_t ai_addrlen; /* Length of socket address. */ + struct sockaddr *ai_addr; /* Socket address for socket. */ + char *ai_canonname; /* Canonical name for service location. */ + struct addrinfo *ai_next; /* Pointer to next in list. */ +}; + +# ifdef __USE_GNU +/* Structure used as control block for asynchronous lookup. */ +struct gaicb +{ + const char *ar_name; /* Name to look up. */ + const char *ar_service; /* Service name. */ + const struct addrinfo *ar_request; /* Additional request specification. */ + struct addrinfo *ar_result; /* Pointer to result. */ + /* The following are internal elements. */ + int __return; + int __glibc_reserved[5]; +}; + +/* Lookup mode. */ +# define GAI_WAIT 0 +# define GAI_NOWAIT 1 +# endif + +/* Possible values for `ai_flags' field in `addrinfo' structure. */ +# define AI_PASSIVE 0x0001 /* Socket address is intended for `bind'. */ +# define AI_CANONNAME 0x0002 /* Request for canonical name. */ +# define AI_NUMERICHOST 0x0004 /* Don't use name resolution. */ +# define AI_V4MAPPED 0x0008 /* IPv4 mapped addresses are acceptable. */ +# define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ +# define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose + returned address type.. */ +# ifdef __USE_GNU +# define AI_IDN 0x0040 /* IDN encode input (assuming it is encoded + in the current locale's character set) + before looking it up. */ +# define AI_CANONIDN 0x0080 /* Translate canonical name from IDN format. */ +# define AI_IDN_ALLOW_UNASSIGNED \ + __glibc_macro_warning ("AI_IDN_ALLOW_UNASSIGNED is deprecated") 0x0100 +# define AI_IDN_USE_STD3_ASCII_RULES \ + __glibc_macro_warning ("AI_IDN_USE_STD3_ASCII_RULES is deprecated") 0x0200 +# endif +# define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ + +/* Error values for `getaddrinfo' function. */ +# define EAI_BADFLAGS -1 /* Invalid value for `ai_flags' field. */ +# define EAI_NONAME -2 /* NAME or SERVICE is unknown. */ +# define EAI_AGAIN -3 /* Temporary failure in name resolution. */ +# define EAI_FAIL -4 /* Non-recoverable failure in name res. */ +# define EAI_FAMILY -6 /* `ai_family' not supported. */ +# define EAI_SOCKTYPE -7 /* `ai_socktype' not supported. */ +# define EAI_SERVICE -8 /* SERVICE not supported for `ai_socktype'. */ +# define EAI_MEMORY -10 /* Memory allocation failure. */ +# define EAI_SYSTEM -11 /* System error returned in `errno'. */ +# define EAI_OVERFLOW -12 /* Argument buffer overflow. */ +# ifdef __USE_GNU +# define EAI_NODATA -5 /* No address associated with NAME. */ +# define EAI_ADDRFAMILY -9 /* Address family for NAME not supported. */ +# define EAI_INPROGRESS -100 /* Processing request in progress. */ +# define EAI_CANCELED -101 /* Request canceled. */ +# define EAI_NOTCANCELED -102 /* Request not canceled. */ +# define EAI_ALLDONE -103 /* All requests done. */ +# define EAI_INTR -104 /* Interrupted by a signal. */ +# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ +# endif + +# ifdef __USE_MISC +# define NI_MAXHOST 1025 +# define NI_MAXSERV 32 +# endif + +# define NI_NUMERICHOST 1 /* Don't try to look up hostname. */ +# define NI_NUMERICSERV 2 /* Don't convert port number to name. */ +# define NI_NOFQDN 4 /* Only return nodename portion. */ +# define NI_NAMEREQD 8 /* Don't return numeric addresses. */ +# define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ +# ifdef __USE_GNU +# define NI_IDN 32 /* Convert name from IDN format. */ +# define NI_IDN_ALLOW_UNASSIGNED \ + __glibc_macro_warning ("NI_IDN_ALLOW_UNASSIGNED is deprecated") 64 +# define NI_IDN_USE_STD3_ASCII_RULES \ + __glibc_macro_warning ("NI_IDN_USE_STD3_ASCII_RULES is deprecated") 128 +# endif + +/* Translate name of a service location and/or a service name to set of + socket addresses. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getaddrinfo (const char *__restrict __name, + const char *__restrict __service, + const struct addrinfo *__restrict __req, + struct addrinfo **__restrict __pai); + +/* Free `addrinfo' structure AI including associated storage. */ +extern void freeaddrinfo (struct addrinfo *__ai) __THROW; + +/* Convert error return from getaddrinfo() to a string. */ +extern const char *gai_strerror (int __ecode) __THROW; + +/* Translate a socket address to a location and service name. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getnameinfo (const struct sockaddr *__restrict __sa, + socklen_t __salen, char *__restrict __host, + socklen_t __hostlen, char *__restrict __serv, + socklen_t __servlen, int __flags); +#endif /* POSIX */ + +#ifdef __USE_GNU +/* Enqueue ENT requests from the LIST. If MODE is GAI_WAIT wait until all + requests are handled. If WAIT is GAI_NOWAIT return immediately after + queueing the requests and signal completion according to SIG. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr], + int __ent, struct sigevent *__restrict __sig); + +/* Suspend execution of the thread until at least one of the ENT requests + in LIST is handled. If TIMEOUT is not a null pointer it specifies the + longest time the function keeps waiting before returning with an error. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int gai_suspend (const struct gaicb *const __list[], int __ent, + const struct timespec *__timeout); + +# ifdef __USE_TIME64_REDIRECTS +# if defined(__REDIRECT) +extern int __REDIRECT (gai_suspend, (const struct gaicb *const __list[], + int __ent, + const struct timespec *__timeout), + __gai_suspend_time64); +# else +# define gai_suspend __gai_suspend_time64 +# endif +# endif + +/* Get the error status of the request REQ. */ +extern int gai_error (struct gaicb *__req) __THROW; + +/* Cancel the requests associated with GAICBP. */ +extern int gai_cancel (struct gaicb *__gaicbp) __THROW; +#endif /* GNU */ + +__END_DECLS + +#endif /* netdb.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/neteconet/ec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/neteconet/ec.h new file mode 100644 index 00000000..40d4af82 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/neteconet/ec.h @@ -0,0 +1,51 @@ +/* Definitions for use with Linux AF_ECONET sockets. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETECONET_EC_H +#define _NETECONET_EC_H 1 + +#include +#include + +struct ec_addr + { + unsigned char station; /* Station number. */ + unsigned char net; /* Network number. */ + }; + +struct __attribute_struct_may_alias__ sockaddr_ec + { + __SOCKADDR_COMMON (sec_); + unsigned char port; /* Port number. */ + unsigned char cb; /* Control/flag byte. */ + unsigned char type; /* Type of message. */ + struct ec_addr addr; + unsigned long cookie; + }; + +#define ECTYPE_PACKET_RECEIVED 0 /* Packet received */ +#define ECTYPE_TRANSMIT_STATUS 0x10 /* Transmit completed */ + +#define ECTYPE_TRANSMIT_OK 1 +#define ECTYPE_TRANSMIT_NOT_LISTENING 2 +#define ECTYPE_TRANSMIT_NET_ERROR 3 +#define ECTYPE_TRANSMIT_NO_CLOCK 4 +#define ECTYPE_TRANSMIT_LINE_JAMMED 5 +#define ECTYPE_TRANSMIT_NOT_PRESENT 6 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ether.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ether.h new file mode 100644 index 00000000..693b4c6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ether.h @@ -0,0 +1,55 @@ +/* Functions for storing Ethernet addresses in ASCII and mapping to hostnames. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_ETHER_H +#define _NETINET_ETHER_H 1 + +#include + +/* Get definition of `struct ether_addr'. */ +#include + +#ifdef __USE_MISC +__BEGIN_DECLS + +/* Convert 48 bit Ethernet ADDRess to ASCII. */ +extern char *ether_ntoa (const struct ether_addr *__addr) __THROW; +extern char *ether_ntoa_r (const struct ether_addr *__addr, char *__buf) + __THROW; + +/* Convert ASCII string S to 48 bit Ethernet address. */ +extern struct ether_addr *ether_aton (const char *__asc) __THROW; +extern struct ether_addr *ether_aton_r (const char *__asc, + struct ether_addr *__addr) __THROW; + +/* Map 48 bit Ethernet number ADDR to HOSTNAME. */ +extern int ether_ntohost (char *__hostname, const struct ether_addr *__addr) + __THROW; + +/* Map HOSTNAME to 48 bit Ethernet address. */ +extern int ether_hostton (const char *__hostname, struct ether_addr *__addr) + __THROW; + +/* Scan LINE and set ADDR and HOSTNAME. */ +extern int ether_line (const char *__line, struct ether_addr *__addr, + char *__hostname) __THROW; + +__END_DECLS +#endif /* Use misc. */ + +#endif /* netinet/ether.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/icmp6.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/icmp6.h new file mode 100644 index 00000000..e45d704e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/icmp6.h @@ -0,0 +1,347 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_ICMP6_H +#define _NETINET_ICMP6_H 1 + +#include +#include +#include +#include + +#define ICMP6_FILTER 1 + +#define ICMP6_FILTER_BLOCK 1 +#define ICMP6_FILTER_PASS 2 +#define ICMP6_FILTER_BLOCKOTHERS 3 +#define ICMP6_FILTER_PASSONLY 4 + +struct icmp6_filter + { + uint32_t icmp6_filt[8]; + }; + +struct icmp6_hdr + { + uint8_t icmp6_type; /* type field */ + uint8_t icmp6_code; /* code field */ + uint16_t icmp6_cksum; /* checksum field */ + union + { + uint32_t icmp6_un_data32[1]; /* type-specific field */ + uint16_t icmp6_un_data16[2]; /* type-specific field */ + uint8_t icmp6_un_data8[4]; /* type-specific field */ + } icmp6_dataun; + }; + +#define icmp6_data32 icmp6_dataun.icmp6_un_data32 +#define icmp6_data16 icmp6_dataun.icmp6_un_data16 +#define icmp6_data8 icmp6_dataun.icmp6_un_data8 +#define icmp6_pptr icmp6_data32[0] /* parameter prob */ +#define icmp6_mtu icmp6_data32[0] /* packet too big */ +#define icmp6_id icmp6_data16[0] /* echo request/reply */ +#define icmp6_seq icmp6_data16[1] /* echo request/reply */ +#define icmp6_maxdelay icmp6_data16[0] /* mcast group membership */ + +#define ICMP6_DST_UNREACH 1 +#define ICMP6_PACKET_TOO_BIG 2 +#define ICMP6_TIME_EXCEEDED 3 +#define ICMP6_PARAM_PROB 4 + +#define ICMP6_INFOMSG_MASK 0x80 /* all informational messages */ + +#define ICMP6_ECHO_REQUEST 128 +#define ICMP6_ECHO_REPLY 129 +#define MLD_LISTENER_QUERY 130 +#define MLD_LISTENER_REPORT 131 +#define MLD_LISTENER_REDUCTION 132 +#define ICMPV6_EXT_ECHO_REQUEST 160 +#define ICMPV6_EXT_ECHO_REPLY 161 + +#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */ +#define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */ + /* administratively prohibited */ +#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */ +#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */ +#define ICMP6_DST_UNREACH_NOPORT 4 /* bad port */ + +#define ICMP6_TIME_EXCEED_TRANSIT 0 /* Hop Limit == 0 in transit */ +#define ICMP6_TIME_EXCEED_REASSEMBLY 1 /* Reassembly time out */ + +#define ICMP6_PARAMPROB_HEADER 0 /* erroneous header field */ +#define ICMP6_PARAMPROB_NEXTHEADER 1 /* unrecognized Next Header */ +#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */ + +#define ICMP6_FILTER_WILLPASS(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) == 0) + +#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) & (1U << ((type) & 31))) != 0) + +#define ICMP6_FILTER_SETPASS(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1U << ((type) & 31)))) + +#define ICMP6_FILTER_SETBLOCK(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) |= (1U << ((type) & 31)))) + +#define ICMP6_FILTER_SETPASSALL(filterp) \ + memset (filterp, 0, sizeof (struct icmp6_filter)); + +#define ICMP6_FILTER_SETBLOCKALL(filterp) \ + memset (filterp, 0xFF, sizeof (struct icmp6_filter)); + +#define ND_ROUTER_SOLICIT 133 +#define ND_ROUTER_ADVERT 134 +#define ND_NEIGHBOR_SOLICIT 135 +#define ND_NEIGHBOR_ADVERT 136 +#define ND_REDIRECT 137 + +struct nd_router_solicit /* router solicitation */ + { + struct icmp6_hdr nd_rs_hdr; + /* could be followed by options */ + }; + +#define nd_rs_type nd_rs_hdr.icmp6_type +#define nd_rs_code nd_rs_hdr.icmp6_code +#define nd_rs_cksum nd_rs_hdr.icmp6_cksum +#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0] + +struct nd_router_advert /* router advertisement */ + { + struct icmp6_hdr nd_ra_hdr; + uint32_t nd_ra_reachable; /* reachable time */ + uint32_t nd_ra_retransmit; /* retransmit timer */ + /* could be followed by options */ + }; + +#define nd_ra_type nd_ra_hdr.icmp6_type +#define nd_ra_code nd_ra_hdr.icmp6_code +#define nd_ra_cksum nd_ra_hdr.icmp6_cksum +#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0] +#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1] +#define ND_RA_FLAG_MANAGED 0x80 +#define ND_RA_FLAG_OTHER 0x40 +#define ND_RA_FLAG_HOME_AGENT 0x20 +#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1] + +struct nd_neighbor_solicit /* neighbor solicitation */ + { + struct icmp6_hdr nd_ns_hdr; + struct in6_addr nd_ns_target; /* target address */ + /* could be followed by options */ + }; + +#define nd_ns_type nd_ns_hdr.icmp6_type +#define nd_ns_code nd_ns_hdr.icmp6_code +#define nd_ns_cksum nd_ns_hdr.icmp6_cksum +#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0] + +struct nd_neighbor_advert /* neighbor advertisement */ + { + struct icmp6_hdr nd_na_hdr; + struct in6_addr nd_na_target; /* target address */ + /* could be followed by options */ + }; + +#define nd_na_type nd_na_hdr.icmp6_type +#define nd_na_code nd_na_hdr.icmp6_code +#define nd_na_cksum nd_na_hdr.icmp6_cksum +#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] +#if __BYTE_ORDER == __BIG_ENDIAN +#define ND_NA_FLAG_ROUTER 0x80000000 +#define ND_NA_FLAG_SOLICITED 0x40000000 +#define ND_NA_FLAG_OVERRIDE 0x20000000 +#else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +#define ND_NA_FLAG_ROUTER 0x00000080 +#define ND_NA_FLAG_SOLICITED 0x00000040 +#define ND_NA_FLAG_OVERRIDE 0x00000020 +#endif + +struct nd_redirect /* redirect */ + { + struct icmp6_hdr nd_rd_hdr; + struct in6_addr nd_rd_target; /* target address */ + struct in6_addr nd_rd_dst; /* destination address */ + /* could be followed by options */ + }; + +#define nd_rd_type nd_rd_hdr.icmp6_type +#define nd_rd_code nd_rd_hdr.icmp6_code +#define nd_rd_cksum nd_rd_hdr.icmp6_cksum +#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0] + +struct nd_opt_hdr /* Neighbor discovery option header */ + { + uint8_t nd_opt_type; + uint8_t nd_opt_len; /* in units of 8 octets */ + /* followed by option specific data */ + }; + +#define ND_OPT_SOURCE_LINKADDR 1 +#define ND_OPT_TARGET_LINKADDR 2 +#define ND_OPT_PREFIX_INFORMATION 3 +#define ND_OPT_REDIRECTED_HEADER 4 +#define ND_OPT_MTU 5 +#define ND_OPT_RTR_ADV_INTERVAL 7 +#define ND_OPT_HOME_AGENT_INFO 8 + +struct nd_opt_prefix_info /* prefix information */ + { + uint8_t nd_opt_pi_type; + uint8_t nd_opt_pi_len; + uint8_t nd_opt_pi_prefix_len; + uint8_t nd_opt_pi_flags_reserved; + uint32_t nd_opt_pi_valid_time; + uint32_t nd_opt_pi_preferred_time; + uint32_t nd_opt_pi_reserved2; + struct in6_addr nd_opt_pi_prefix; + }; + +#define ND_OPT_PI_FLAG_ONLINK 0x80 +#define ND_OPT_PI_FLAG_AUTO 0x40 +#define ND_OPT_PI_FLAG_RADDR 0x20 + +struct nd_opt_rd_hdr /* redirected header */ + { + uint8_t nd_opt_rh_type; + uint8_t nd_opt_rh_len; + uint16_t nd_opt_rh_reserved1; + uint32_t nd_opt_rh_reserved2; + /* followed by IP header and data */ + }; + +struct nd_opt_mtu /* MTU option */ + { + uint8_t nd_opt_mtu_type; + uint8_t nd_opt_mtu_len; + uint16_t nd_opt_mtu_reserved; + uint32_t nd_opt_mtu_mtu; + }; + +struct mld_hdr + { + struct icmp6_hdr mld_icmp6_hdr; + struct in6_addr mld_addr; /* multicast address */ + }; + +#define mld_type mld_icmp6_hdr.icmp6_type +#define mld_code mld_icmp6_hdr.icmp6_code +#define mld_cksum mld_icmp6_hdr.icmp6_cksum +#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] +#define mld_reserved mld_icmp6_hdr.icmp6_data16[1] + +#define ICMP6_ROUTER_RENUMBERING 138 + +struct icmp6_router_renum /* router renumbering header */ + { + struct icmp6_hdr rr_hdr; + uint8_t rr_segnum; + uint8_t rr_flags; + uint16_t rr_maxdelay; + uint32_t rr_reserved; + }; + +#define rr_type rr_hdr.icmp6_type +#define rr_code rr_hdr.icmp6_code +#define rr_cksum rr_hdr.icmp6_cksum +#define rr_seqnum rr_hdr.icmp6_data32[0] + +/* Router renumbering flags */ +#define ICMP6_RR_FLAGS_TEST 0x80 +#define ICMP6_RR_FLAGS_REQRESULT 0x40 +#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20 +#define ICMP6_RR_FLAGS_SPECSITE 0x10 +#define ICMP6_RR_FLAGS_PREVDONE 0x08 + +struct rr_pco_match /* match prefix part */ + { + uint8_t rpm_code; + uint8_t rpm_len; + uint8_t rpm_ordinal; + uint8_t rpm_matchlen; + uint8_t rpm_minlen; + uint8_t rpm_maxlen; + uint16_t rpm_reserved; + struct in6_addr rpm_prefix; + }; + +/* PCO code values */ +#define RPM_PCO_ADD 1 +#define RPM_PCO_CHANGE 2 +#define RPM_PCO_SETGLOBAL 3 + +struct rr_pco_use /* use prefix part */ + { + uint8_t rpu_uselen; + uint8_t rpu_keeplen; + uint8_t rpu_ramask; + uint8_t rpu_raflags; + uint32_t rpu_vltime; + uint32_t rpu_pltime; + uint32_t rpu_flags; + struct in6_addr rpu_prefix; + }; + +#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20 +#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10 + +#if __BYTE_ORDER == __BIG_ENDIAN +# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000 +# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000 +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80 +# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40 +#endif + +struct rr_result /* router renumbering result message */ + { + uint16_t rrr_flags; + uint8_t rrr_ordinal; + uint8_t rrr_matchedlen; + uint32_t rrr_ifid; + struct in6_addr rrr_prefix; + }; + +#if __BYTE_ORDER == __BIG_ENDIAN +# define ICMP6_RR_RESULT_FLAGS_OOB 0x0002 +# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001 +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define ICMP6_RR_RESULT_FLAGS_OOB 0x0200 +# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100 +#endif + +/* Mobile IPv6 extension: Advertisement Interval. */ +struct nd_opt_adv_interval + { + uint8_t nd_opt_adv_interval_type; + uint8_t nd_opt_adv_interval_len; + uint16_t nd_opt_adv_interval_reserved; + uint32_t nd_opt_adv_interval_ival; + }; + +/* Mobile IPv6 extension: Home Agent Info. */ +struct nd_opt_home_agent_info + { + uint8_t nd_opt_home_agent_info_type; + uint8_t nd_opt_home_agent_info_len; + uint16_t nd_opt_home_agent_info_reserved; + uint16_t nd_opt_home_agent_info_preference; + uint16_t nd_opt_home_agent_info_lifetime; + }; + +#endif /* netinet/icmpv6.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_ether.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_ether.h new file mode 100644 index 00000000..6cf2cacd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_ether.h @@ -0,0 +1,104 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETINET_IF_ETHER_H + +#define __NETINET_IF_ETHER_H 1 +#include +#include + +/* Get definitions from kernel header file. */ +#include + +#ifdef __USE_MISC +/* + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)if_ether.h 8.3 (Berkeley) 5/2/95 + * $FreeBSD$ + */ + +#include +#include + +__BEGIN_DECLS +/* + * Ethernet Address Resolution Protocol. + * + * See RFC 826 for protocol description. Structure below is adapted + * to resolving internet addresses. Field names used correspond to + * RFC 826. + */ +struct ether_arp { + struct arphdr ea_hdr; /* fixed-size header */ + uint8_t arp_sha[ETH_ALEN]; /* sender hardware address */ + uint8_t arp_spa[4]; /* sender protocol address */ + uint8_t arp_tha[ETH_ALEN]; /* target hardware address */ + uint8_t arp_tpa[4]; /* target protocol address */ +}; +#define arp_hrd ea_hdr.ar_hrd +#define arp_pro ea_hdr.ar_pro +#define arp_hln ea_hdr.ar_hln +#define arp_pln ea_hdr.ar_pln +#define arp_op ea_hdr.ar_op + +/* + * Macro to map an IP multicast address to an Ethernet multicast address. + * The high-order 25 bits of the Ethernet address are statically assigned, + * and the low-order 23 bits are taken from the low end of the IP address. + */ +#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ + /* struct in_addr *ipaddr; */ \ + /* uint8_t enaddr[ETH_ALEN]; */ \ +{ \ + (enaddr)[0] = 0x01; \ + (enaddr)[1] = 0x00; \ + (enaddr)[2] = 0x5e; \ + (enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \ + (enaddr)[4] = ((uint8_t *)ipaddr)[2]; \ + (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ +} + +__END_DECLS +#endif /* __USE_MISC */ + +#endif /* netinet/if_ether.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_fddi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_fddi.h new file mode 100644 index 00000000..1d5b50d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_fddi.h @@ -0,0 +1,34 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IF_FDDI_H +#define _NETINET_IF_FDDI_H 1 + +#include +#include +#include + +#ifdef __USE_MISC + +struct fddi_header { + uint8_t fddi_fc; /* Frame Control (FC) value */ + uint8_t fddi_dhost[FDDI_K_ALEN]; /* Destination host */ + uint8_t fddi_shost[FDDI_K_ALEN]; /* Source host */ +}; +#endif + +#endif /* netinet/if_fddi.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_tr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_tr.h new file mode 100644 index 00000000..003c33f4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/if_tr.h @@ -0,0 +1,110 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IF_TR_H +#define _NETINET_IF_TR_H 1 + +#include +#include + +/* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble + and FCS/CRC (frame check sequence). */ +#define TR_ALEN 6 /* Octets in one token-ring addr */ +#define TR_HLEN (sizeof (struct trh_hdr) + sizeof (struct trllc)) +#define AC 0x10 +#define LLC_FRAME 0x40 + +/* LLC and SNAP constants */ +#define EXTENDED_SAP 0xAA +#define UI_CMD 0x03 + +/* This is an Token-Ring frame header. */ +struct trh_hdr +{ + uint8_t ac; /* access control field */ + uint8_t fc; /* frame control field */ + uint8_t daddr[TR_ALEN]; /* destination address */ + uint8_t saddr[TR_ALEN]; /* source address */ + uint16_t rcf; /* route control field */ + uint16_t rseg[8]; /* routing registers */ +}; + +/* This is an Token-Ring LLC structure */ +struct trllc +{ + uint8_t dsap; /* destination SAP */ + uint8_t ssap; /* source SAP */ + uint8_t llc; /* LLC control field */ + uint8_t protid[3]; /* protocol id */ + uint16_t ethertype; /* ether type field */ +}; + +/* Token-Ring statistics collection data. */ +struct tr_statistics +{ + unsigned long rx_packets; /* total packets received */ + unsigned long tx_packets; /* total packets transmitted */ + unsigned long rx_bytes; /* total bytes received */ + unsigned long tx_bytes; /* total bytes transmitted */ + unsigned long rx_errors; /* bad packets received */ + unsigned long tx_errors; /* packet transmit problems */ + unsigned long rx_dropped; /* no space in linux buffers */ + unsigned long tx_dropped; /* no space available in linux */ + unsigned long multicast; /* multicast packets received */ + unsigned long transmit_collision; + + /* detailed Token-Ring errors. See IBM Token-Ring Network + Architecture for more info */ + + unsigned long line_errors; + unsigned long internal_errors; + unsigned long burst_errors; + unsigned long A_C_errors; + unsigned long abort_delimiters; + unsigned long lost_frames; + unsigned long recv_congest_count; + unsigned long frame_copied_errors; + unsigned long frequency_errors; + unsigned long token_errors; + unsigned long dummy1; +}; + +/* source routing stuff */ +#define TR_RII 0x80 +#define TR_RCF_DIR_BIT 0x80 +#define TR_RCF_LEN_MASK 0x1f00 +#define TR_RCF_BROADCAST 0x8000 /* all-routes broadcast */ +#define TR_RCF_LIMITED_BROADCAST 0xC000 /* single-route broadcast */ +#define TR_RCF_FRAME2K 0x20 +#define TR_RCF_BROADCAST_MASK 0xC000 +#define TR_MAXRIFLEN 18 + +#ifdef __USE_MISC + +struct trn_hdr +{ + uint8_t trn_ac; /* access control field */ + uint8_t trn_fc; /* field control field */ + uint8_t trn_dhost[TR_ALEN]; /* destination host */ + uint8_t trn_shost[TR_ALEN]; /* source host */ + uint16_t trn_rcf; /* route control field */ + uint16_t trn_rseg[8]; /* routing registers */ +}; + +#endif + +#endif /* netinet/if_tr.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/igmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/igmp.h new file mode 100644 index 00000000..58df6465 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/igmp.h @@ -0,0 +1,126 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IGMP_H +#define _NETINET_IGMP_H 1 + +#include +#include + +#ifdef __USE_MISC + +#include + +__BEGIN_DECLS + +/* + * Copyright (c) 1988 Stephen Deering. + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Stephen Deering of Stanford University. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)igmp.h 8.1 (Berkeley) 6/10/93 + * $FreeBSD$ + */ + +struct igmp { + uint8_t igmp_type; /* IGMP type */ + uint8_t igmp_code; /* routing code */ + uint16_t igmp_cksum; /* checksum */ + struct in_addr igmp_group; /* group address */ +}; + +#define IGMP_MINLEN 8 + +/* + * Message types, including version number. + */ +#define IGMP_MEMBERSHIP_QUERY 0x11 /* membership query */ +#define IGMP_V1_MEMBERSHIP_REPORT 0x12 /* Ver. 1 membership report */ +#define IGMP_V2_MEMBERSHIP_REPORT 0x16 /* Ver. 2 membership report */ +#define IGMP_V2_LEAVE_GROUP 0x17 /* Leave-group message */ + +#define IGMP_DVMRP 0x13 /* DVMRP routing message */ +#define IGMP_PIM 0x14 /* PIM routing message */ +#define IGMP_TRACE 0x15 + +#define IGMP_MTRACE_RESP 0x1e /* traceroute resp.(to sender)*/ +#define IGMP_MTRACE 0x1f /* mcast traceroute messages */ +#define IGMP_MRDISC_ADV 0x30 /* From RFC4286. */ + +#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */ + /* query (in seconds) according */ + /* to RFC1112 */ +#define IGMP_TIMER_SCALE 10 /* denotes that the igmp code field */ + /* specifies time in 10th of seconds*/ + +/* + * States for the IGMP v2 state table. + */ +#define IGMP_DELAYING_MEMBER 1 +#define IGMP_IDLE_MEMBER 2 +#define IGMP_LAZY_MEMBER 3 +#define IGMP_SLEEPING_MEMBER 4 +#define IGMP_AWAKENING_MEMBER 5 + +/* + * States for IGMP router version cache. + */ +#define IGMP_v1_ROUTER 1 +#define IGMP_v2_ROUTER 2 + +/* + * The following four definitions are for backwards compatibility. + * They should be removed as soon as all applications are updated to + * use the new constant names. + */ +#define IGMP_HOST_MEMBERSHIP_QUERY IGMP_MEMBERSHIP_QUERY +#define IGMP_HOST_MEMBERSHIP_REPORT IGMP_V1_MEMBERSHIP_REPORT +#define IGMP_HOST_NEW_MEMBERSHIP_REPORT IGMP_V2_MEMBERSHIP_REPORT +#define IGMP_HOST_LEAVE_MESSAGE IGMP_V2_LEAVE_GROUP + +__END_DECLS + +#endif + +#endif /* netinet/igmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in.h new file mode 100644 index 00000000..cecb7b9d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in.h @@ -0,0 +1,659 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IN_H +#define _NETINET_IN_H 1 + +#include +#include +#include +#include + + +__BEGIN_DECLS + +/* Internet address. */ +typedef uint32_t in_addr_t; +struct in_addr + { + in_addr_t s_addr; + }; + +/* Get system-specific definitions. */ +#include + +/* Standard well-defined IP protocols. */ +enum + { + IPPROTO_IP = 0, /* Dummy protocol for TCP. */ +#define IPPROTO_IP IPPROTO_IP + IPPROTO_ICMP = 1, /* Internet Control Message Protocol. */ +#define IPPROTO_ICMP IPPROTO_ICMP + IPPROTO_IGMP = 2, /* Internet Group Management Protocol. */ +#define IPPROTO_IGMP IPPROTO_IGMP + IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94). */ +#define IPPROTO_IPIP IPPROTO_IPIP + IPPROTO_TCP = 6, /* Transmission Control Protocol. */ +#define IPPROTO_TCP IPPROTO_TCP + IPPROTO_EGP = 8, /* Exterior Gateway Protocol. */ +#define IPPROTO_EGP IPPROTO_EGP + IPPROTO_PUP = 12, /* PUP protocol. */ +#define IPPROTO_PUP IPPROTO_PUP + IPPROTO_UDP = 17, /* User Datagram Protocol. */ +#define IPPROTO_UDP IPPROTO_UDP + IPPROTO_IDP = 22, /* XNS IDP protocol. */ +#define IPPROTO_IDP IPPROTO_IDP + IPPROTO_TP = 29, /* SO Transport Protocol Class 4. */ +#define IPPROTO_TP IPPROTO_TP + IPPROTO_DCCP = 33, /* Datagram Congestion Control Protocol. */ +#define IPPROTO_DCCP IPPROTO_DCCP + IPPROTO_IPV6 = 41, /* IPv6 header. */ +#define IPPROTO_IPV6 IPPROTO_IPV6 + IPPROTO_RSVP = 46, /* Reservation Protocol. */ +#define IPPROTO_RSVP IPPROTO_RSVP + IPPROTO_GRE = 47, /* General Routing Encapsulation. */ +#define IPPROTO_GRE IPPROTO_GRE + IPPROTO_ESP = 50, /* encapsulating security payload. */ +#define IPPROTO_ESP IPPROTO_ESP + IPPROTO_AH = 51, /* authentication header. */ +#define IPPROTO_AH IPPROTO_AH + IPPROTO_MTP = 92, /* Multicast Transport Protocol. */ +#define IPPROTO_MTP IPPROTO_MTP + IPPROTO_BEETPH = 94, /* IP option pseudo header for BEET. */ +#define IPPROTO_BEETPH IPPROTO_BEETPH + IPPROTO_ENCAP = 98, /* Encapsulation Header. */ +#define IPPROTO_ENCAP IPPROTO_ENCAP + IPPROTO_PIM = 103, /* Protocol Independent Multicast. */ +#define IPPROTO_PIM IPPROTO_PIM + IPPROTO_COMP = 108, /* Compression Header Protocol. */ +#define IPPROTO_COMP IPPROTO_COMP + IPPROTO_L2TP = 115, /* Layer 2 Tunnelling Protocol. */ +#define IPPROTO_L2TP IPPROTO_L2TP + IPPROTO_SCTP = 132, /* Stream Control Transmission Protocol. */ +#define IPPROTO_SCTP IPPROTO_SCTP + IPPROTO_UDPLITE = 136, /* UDP-Lite protocol. */ +#define IPPROTO_UDPLITE IPPROTO_UDPLITE + IPPROTO_MPLS = 137, /* MPLS in IP. */ +#define IPPROTO_MPLS IPPROTO_MPLS + IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation. */ +#define IPPROTO_ETHERNET IPPROTO_ETHERNET + IPPROTO_RAW = 255, /* Raw IP packets. */ +#define IPPROTO_RAW IPPROTO_RAW + IPPROTO_SMC = 256, /* Shared Memory Communications. */ +#define IPPROTO_SMC IPPROTO_SMC + IPPROTO_MPTCP = 262, /* Multipath TCP connection. */ +#define IPPROTO_MPTCP IPPROTO_MPTCP + IPPROTO_MAX + }; + +/* If __USE_KERNEL_IPV6_DEFS is 1 then the user has included the kernel + network headers first and we should use those ABI-identical definitions + instead of our own, otherwise 0. */ +#if !__USE_KERNEL_IPV6_DEFS +enum + { + IPPROTO_HOPOPTS = 0, /* IPv6 Hop-by-Hop options. */ +#define IPPROTO_HOPOPTS IPPROTO_HOPOPTS + IPPROTO_ROUTING = 43, /* IPv6 routing header. */ +#define IPPROTO_ROUTING IPPROTO_ROUTING + IPPROTO_FRAGMENT = 44, /* IPv6 fragmentation header. */ +#define IPPROTO_FRAGMENT IPPROTO_FRAGMENT + IPPROTO_ICMPV6 = 58, /* ICMPv6. */ +#define IPPROTO_ICMPV6 IPPROTO_ICMPV6 + IPPROTO_NONE = 59, /* IPv6 no next header. */ +#define IPPROTO_NONE IPPROTO_NONE + IPPROTO_DSTOPTS = 60, /* IPv6 destination options. */ +#define IPPROTO_DSTOPTS IPPROTO_DSTOPTS + IPPROTO_MH = 135 /* IPv6 mobility header. */ +#define IPPROTO_MH IPPROTO_MH + }; +#endif /* !__USE_KERNEL_IPV6_DEFS */ + +/* Type to represent a port. */ +typedef uint16_t in_port_t; + +/* Standard well-known ports. */ +enum + { + IPPORT_ECHO = 7, /* Echo service. */ + IPPORT_DISCARD = 9, /* Discard transmissions service. */ + IPPORT_SYSTAT = 11, /* System status service. */ + IPPORT_DAYTIME = 13, /* Time of day service. */ + IPPORT_NETSTAT = 15, /* Network status service. */ + IPPORT_FTP = 21, /* File Transfer Protocol. */ + IPPORT_TELNET = 23, /* Telnet protocol. */ + IPPORT_SMTP = 25, /* Simple Mail Transfer Protocol. */ + IPPORT_TIMESERVER = 37, /* Timeserver service. */ + IPPORT_NAMESERVER = 42, /* Domain Name Service. */ + IPPORT_WHOIS = 43, /* Internet Whois service. */ + IPPORT_MTP = 57, + + IPPORT_TFTP = 69, /* Trivial File Transfer Protocol. */ + IPPORT_RJE = 77, + IPPORT_FINGER = 79, /* Finger service. */ + IPPORT_TTYLINK = 87, + IPPORT_SUPDUP = 95, /* SUPDUP protocol. */ + + + IPPORT_EXECSERVER = 512, /* execd service. */ + IPPORT_LOGINSERVER = 513, /* rlogind service. */ + IPPORT_CMDSERVER = 514, + IPPORT_EFSSERVER = 520, + + /* UDP ports. */ + IPPORT_BIFFUDP = 512, + IPPORT_WHOSERVER = 513, + IPPORT_ROUTESERVER = 520, + + /* Ports less than this value are reserved for privileged processes. */ + IPPORT_RESERVED = 1024, + + /* Ports greater this value are reserved for (non-privileged) servers. */ + IPPORT_USERRESERVED = 5000 + }; + +/* Definitions of the bits in an Internet address integer. + + On subnets, host and network parts are found according to + the subnet mask, not these masks. */ + +#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) +#define IN_CLASSA_MAX 128 + +#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) +#define IN_CLASSB_MAX 65536 + +#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) + +#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000) +#define IN_MULTICAST(a) IN_CLASSD(a) + +#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000) +#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000) + +/* Address to accept any incoming messages. */ +#define INADDR_ANY ((in_addr_t) 0x00000000) +/* Address to send to all hosts. */ +#define INADDR_BROADCAST ((in_addr_t) 0xffffffff) +/* Address indicating an error return. */ +#define INADDR_NONE ((in_addr_t) 0xffffffff) +/* Dummy address for source of ICMPv6 errors converted to IPv4 (RFC + 7600). */ +#define INADDR_DUMMY ((in_addr_t) 0xc0000008) + +/* Network number for local host loopback. */ +#define IN_LOOPBACKNET 127 +/* Address to loopback in software to local host. */ +#ifndef INADDR_LOOPBACK +# define INADDR_LOOPBACK ((in_addr_t) 0x7f000001) /* Inet 127.0.0.1. */ +#endif + +/* Defines for Multicast INADDR. */ +#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) /* 224.0.0.0 */ +#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) /* 224.0.0.1 */ +#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) /* 224.0.0.2 */ +#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) /* 224.0.0.106 */ +#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) /* 224.0.0.255 */ + +#if !__USE_KERNEL_IPV6_DEFS +/* IPv6 address */ +struct in6_addr + { + union + { + uint8_t __u6_addr8[16]; + uint16_t __u6_addr16[8]; + uint32_t __u6_addr32[4]; + } __in6_u; +#define s6_addr __in6_u.__u6_addr8 +#ifdef __USE_MISC +# define s6_addr16 __in6_u.__u6_addr16 +# define s6_addr32 __in6_u.__u6_addr32 +#endif + }; +#endif /* !__USE_KERNEL_IPV6_DEFS */ + +extern const struct in6_addr in6addr_any; /* :: */ +extern const struct in6_addr in6addr_loopback; /* ::1 */ +#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } +#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } + +#define INET_ADDRSTRLEN 16 +#define INET6_ADDRSTRLEN 46 + + +/* Structure describing an Internet socket address. */ +struct __attribute_struct_may_alias__ sockaddr_in + { + __SOCKADDR_COMMON (sin_); + in_port_t sin_port; /* Port number. */ + struct in_addr sin_addr; /* Internet address. */ + + /* Pad to size of `struct sockaddr'. */ + unsigned char sin_zero[sizeof (struct sockaddr) + - __SOCKADDR_COMMON_SIZE + - sizeof (in_port_t) + - sizeof (struct in_addr)]; + }; + +#if __USE_KERNEL_IPV6_DEFS +struct __attribute_struct_may_alias__ sockaddr_in6; +#else +/* Ditto, for IPv6. */ +struct __attribute_struct_may_alias__ sockaddr_in6 + { + __SOCKADDR_COMMON (sin6_); + in_port_t sin6_port; /* Transport layer port # */ + uint32_t sin6_flowinfo; /* IPv6 flow information */ + struct in6_addr sin6_addr; /* IPv6 address */ + uint32_t sin6_scope_id; /* IPv6 scope-id */ + }; +#endif /* !__USE_KERNEL_IPV6_DEFS */ + +#ifdef __USE_MISC +/* IPv4 multicast request. */ +struct ip_mreq + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imr_interface; + }; + +/* IPv4 multicast request with interface index. */ +struct ip_mreqn + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imr_address; + + /* Interface index. */ + int imr_ifindex; + }; + +struct ip_mreq_source + { + /* IP multicast address of group. */ + struct in_addr imr_multiaddr; + + /* IP address of interface. */ + struct in_addr imr_interface; + + /* IP address of source. */ + struct in_addr imr_sourceaddr; + }; +#endif + +#if !__USE_KERNEL_IPV6_DEFS +/* Likewise, for IPv6. */ +struct ipv6_mreq + { + /* IPv6 multicast address of group */ + struct in6_addr ipv6mr_multiaddr; + + /* local interface */ + unsigned int ipv6mr_interface; + }; +#endif /* !__USE_KERNEL_IPV6_DEFS */ + +#ifdef __USE_MISC +/* Multicast group request. */ +struct group_req + { + /* Interface index. */ + uint32_t gr_interface; + + /* Group address. */ + struct sockaddr_storage gr_group; + }; + +struct group_source_req + { + /* Interface index. */ + uint32_t gsr_interface; + + /* Group address. */ + struct sockaddr_storage gsr_group; + + /* Source address. */ + struct sockaddr_storage gsr_source; + }; + + +/* Full-state filter operations. */ +struct ip_msfilter + { + /* IP multicast address of group. */ + struct in_addr imsf_multiaddr; + + /* Local IP address of interface. */ + struct in_addr imsf_interface; + + /* Filter mode. */ + uint32_t imsf_fmode; + + /* Number of source addresses. */ + uint32_t imsf_numsrc; + /* Source addresses. */ + struct in_addr imsf_slist[1]; + }; + +#define IP_MSFILTER_SIZE(numsrc) (sizeof (struct ip_msfilter) \ + - sizeof (struct in_addr) \ + + (numsrc) * sizeof (struct in_addr)) + +struct group_filter + { + /* Interface index. */ + uint32_t gf_interface; + + /* Group address. */ + struct sockaddr_storage gf_group; + + /* Filter mode. */ + uint32_t gf_fmode; + + /* Number of source addresses. */ + uint32_t gf_numsrc; + /* Source addresses. */ + struct sockaddr_storage gf_slist[1]; +}; + +#define GROUP_FILTER_SIZE(numsrc) (sizeof (struct group_filter) \ + - sizeof (struct sockaddr_storage) \ + + ((numsrc) \ + * sizeof (struct sockaddr_storage))) +#endif + +/* Functions to convert between host and network byte order. + + Please note that these functions normally take `unsigned long int' or + `unsigned short int' values as arguments and also return them. But + this was a short-sighted decision since on different systems the types + may have different representations but the values are always the same. */ + +extern uint32_t ntohl (uint32_t __netlong) __THROW __attribute__ ((__const__)); +extern uint16_t ntohs (uint16_t __netshort) + __THROW __attribute__ ((__const__)); +extern uint32_t htonl (uint32_t __hostlong) + __THROW __attribute__ ((__const__)); +extern uint16_t htons (uint16_t __hostshort) + __THROW __attribute__ ((__const__)); + +#include + +/* Get machine dependent optimized versions of byte swapping functions. */ +#include +#include + +#ifdef __OPTIMIZE__ +/* We can optimize calls to the conversion functions. Either nothing has + to be done or we are using directly the byte-swapping functions which + often can be inlined. */ +# if __BYTE_ORDER == __BIG_ENDIAN +/* The host byte order is the same as network byte order, + so these functions are all just identity. */ +# define ntohl(x) __uint32_identity (x) +# define ntohs(x) __uint16_identity (x) +# define htonl(x) __uint32_identity (x) +# define htons(x) __uint16_identity (x) +# else +# if __BYTE_ORDER == __LITTLE_ENDIAN +# define ntohl(x) __bswap_32 (x) +# define ntohs(x) __bswap_16 (x) +# define htonl(x) __bswap_32 (x) +# define htons(x) __bswap_16 (x) +# endif +# endif +#endif + +#ifdef __GNUC__ +# define IN6_IS_ADDR_UNSPECIFIED(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + __a->__in6_u.__u6_addr32[0] == 0 \ + && __a->__in6_u.__u6_addr32[1] == 0 \ + && __a->__in6_u.__u6_addr32[2] == 0 \ + && __a->__in6_u.__u6_addr32[3] == 0; })) + +# define IN6_IS_ADDR_LOOPBACK(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + __a->__in6_u.__u6_addr32[0] == 0 \ + && __a->__in6_u.__u6_addr32[1] == 0 \ + && __a->__in6_u.__u6_addr32[2] == 0 \ + && __a->__in6_u.__u6_addr32[3] == htonl (1); })) + +# define IN6_IS_ADDR_LINKLOCAL(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + (__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfe800000); })) + +# define IN6_IS_ADDR_SITELOCAL(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + (__a->__in6_u.__u6_addr32[0] & htonl (0xffc00000)) == htonl (0xfec00000); })) + +# define IN6_IS_ADDR_V4MAPPED(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + __a->__in6_u.__u6_addr32[0] == 0 \ + && __a->__in6_u.__u6_addr32[1] == 0 \ + && __a->__in6_u.__u6_addr32[2] == htonl (0xffff); })) + +# define IN6_IS_ADDR_V4COMPAT(a) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + __a->__in6_u.__u6_addr32[0] == 0 \ + && __a->__in6_u.__u6_addr32[1] == 0 \ + && __a->__in6_u.__u6_addr32[2] == 0 \ + && ntohl (__a->__in6_u.__u6_addr32[3]) > 1; })) + +# define IN6_ARE_ADDR_EQUAL(a,b) \ + (__extension__ \ + ({ const struct in6_addr *__a = (const struct in6_addr *) (a); \ + const struct in6_addr *__b = (const struct in6_addr *) (b); \ + __a->__in6_u.__u6_addr32[0] == __b->__in6_u.__u6_addr32[0] \ + && __a->__in6_u.__u6_addr32[1] == __b->__in6_u.__u6_addr32[1] \ + && __a->__in6_u.__u6_addr32[2] == __b->__in6_u.__u6_addr32[2] \ + && __a->__in6_u.__u6_addr32[3] == __b->__in6_u.__u6_addr32[3]; })) +#else +# define IN6_IS_ADDR_UNSPECIFIED(a) \ + (((const uint32_t *) (a))[0] == 0 \ + && ((const uint32_t *) (a))[1] == 0 \ + && ((const uint32_t *) (a))[2] == 0 \ + && ((const uint32_t *) (a))[3] == 0) + +# define IN6_IS_ADDR_LOOPBACK(a) \ + (((const uint32_t *) (a))[0] == 0 \ + && ((const uint32_t *) (a))[1] == 0 \ + && ((const uint32_t *) (a))[2] == 0 \ + && ((const uint32_t *) (a))[3] == htonl (1)) + +# define IN6_IS_ADDR_LINKLOCAL(a) \ + ((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \ + == htonl (0xfe800000)) + +# define IN6_IS_ADDR_SITELOCAL(a) \ + ((((const uint32_t *) (a))[0] & htonl (0xffc00000)) \ + == htonl (0xfec00000)) + +# define IN6_IS_ADDR_V4MAPPED(a) \ + ((((const uint32_t *) (a))[0] == 0) \ + && (((const uint32_t *) (a))[1] == 0) \ + && (((const uint32_t *) (a))[2] == htonl (0xffff))) + +# define IN6_IS_ADDR_V4COMPAT(a) \ + ((((const uint32_t *) (a))[0] == 0) \ + && (((const uint32_t *) (a))[1] == 0) \ + && (((const uint32_t *) (a))[2] == 0) \ + && (ntohl (((const uint32_t *) (a))[3]) > 1)) + +# define IN6_ARE_ADDR_EQUAL(a,b) \ + ((((const uint32_t *) (a))[0] == ((const uint32_t *) (b))[0]) \ + && (((const uint32_t *) (a))[1] == ((const uint32_t *) (b))[1]) \ + && (((const uint32_t *) (a))[2] == ((const uint32_t *) (b))[2]) \ + && (((const uint32_t *) (a))[3] == ((const uint32_t *) (b))[3])) +#endif + +#define IN6_IS_ADDR_MULTICAST(a) (((const uint8_t *) (a))[0] == 0xff) + +#ifdef __USE_MISC +/* Bind socket to a privileged IP port. */ +extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) __THROW; + +/* The IPv6 version of this function. */ +extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) + __THROW; +#endif + + +#define IN6_IS_ADDR_MC_NODELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) \ + && ((((const uint8_t *) (a))[1] & 0xf) == 0x1)) + +#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) \ + && ((((const uint8_t *) (a))[1] & 0xf) == 0x2)) + +#define IN6_IS_ADDR_MC_SITELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) \ + && ((((const uint8_t *) (a))[1] & 0xf) == 0x5)) + +#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) \ + && ((((const uint8_t *) (a))[1] & 0xf) == 0x8)) + +#define IN6_IS_ADDR_MC_GLOBAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) \ + && ((((const uint8_t *) (a))[1] & 0xf) == 0xe)) + + +#ifdef __USE_GNU +struct cmsghdr; /* Forward declaration. */ + +#if !__USE_KERNEL_IPV6_DEFS +/* IPv6 packet information. */ +struct in6_pktinfo + { + struct in6_addr ipi6_addr; /* src/dst IPv6 address */ + unsigned int ipi6_ifindex; /* send/recv interface index */ + }; + +/* IPv6 MTU information. */ +struct ip6_mtuinfo + { + struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */ + uint32_t ip6m_mtu; /* path MTU in host byte order */ + }; +#endif /* !__USE_KERNEL_IPV6_DEFS */ + +/* Obsolete hop-by-hop and Destination Options Processing (RFC 2292). */ +extern int inet6_option_space (int __nbytes) + __THROW __attribute_deprecated__; +extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp, + int __type) __THROW __attribute_deprecated__; +extern int inet6_option_append (struct cmsghdr *__cmsg, + const uint8_t *__typep, int __multx, + int __plusy) __THROW __attribute_deprecated__; +extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen, + int __multx, int __plusy) + __THROW __attribute_deprecated__; +extern int inet6_option_next (const struct cmsghdr *__cmsg, + uint8_t **__tptrp) + __THROW __attribute_deprecated__; +extern int inet6_option_find (const struct cmsghdr *__cmsg, + uint8_t **__tptrp, int __type) + __THROW __attribute_deprecated__; + + +/* Hop-by-Hop and Destination Options Processing (RFC 3542). */ +extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __THROW; +extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset, + uint8_t __type, socklen_t __len, uint8_t __align, + void **__databufp) __THROW; +extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset) + __THROW; +extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val, + socklen_t __vallen) __THROW; +extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset, + uint8_t *__typep, socklen_t *__lenp, + void **__databufp) __THROW; +extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset, + uint8_t __type, socklen_t *__lenp, + void **__databufp) __THROW; +extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val, + socklen_t __vallen) __THROW; + + +/* Routing Header Option (RFC 3542). */ +extern socklen_t inet6_rth_space (int __type, int __segments) __THROW; +extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type, + int __segments) __THROW; +extern int inet6_rth_add (void *__bp, const struct in6_addr *__addr) __THROW; +extern int inet6_rth_reverse (const void *__in, void *__out) __THROW; +extern int inet6_rth_segments (const void *__bp) __THROW; +extern struct in6_addr *inet6_rth_getaddr (const void *__bp, int __index) + __THROW; + + +/* Multicast source filter support. */ + +/* Get IPv4 source filter. */ +extern int getipv4sourcefilter (int __s, struct in_addr __interface_addr, + struct in_addr __group, uint32_t *__fmode, + uint32_t *__numsrc, struct in_addr *__slist) + __THROW; + +/* Set IPv4 source filter. */ +extern int setipv4sourcefilter (int __s, struct in_addr __interface_addr, + struct in_addr __group, uint32_t __fmode, + uint32_t __numsrc, + const struct in_addr *__slist) + __THROW; + + +/* Get source filter. */ +extern int getsourcefilter (int __s, uint32_t __interface_addr, + const struct sockaddr *__group, + socklen_t __grouplen, uint32_t *__fmode, + uint32_t *__numsrc, + struct sockaddr_storage *__slist) __THROW; + +/* Set source filter. */ +extern int setsourcefilter (int __s, uint32_t __interface_addr, + const struct sockaddr *__group, + socklen_t __grouplen, uint32_t __fmode, + uint32_t __numsrc, + const struct sockaddr_storage *__slist) __THROW; +#endif /* use GNU */ + +__END_DECLS + +#endif /* netinet/in.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in_systm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in_systm.h new file mode 100644 index 00000000..3f6e4f15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/in_systm.h @@ -0,0 +1,40 @@ +/* System specific type definitions for networking code. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IN_SYSTM_H +#define _NETINET_IN_SYSTM_H 1 + +#include +#include + +__BEGIN_DECLS + +/* + * Network order versions of various data types. Unfortunately, BSD + * assumes specific sizes for shorts (16 bit) and longs (32 bit) which + * don't hold in general. As a consequence, the network order versions + * may not reflect the actual size of the native data types. + */ + +typedef uint16_t n_short; /* short as received from the net */ +typedef uint32_t n_long; /* long as received from the net */ +typedef uint32_t n_time; /* ms since 00:00 GMT, byte rev */ + +__END_DECLS + +#endif /* netinet/in_systm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip.h new file mode 100644 index 00000000..4ef5f6cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip.h @@ -0,0 +1,312 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETINET_IP_H +#define __NETINET_IP_H 1 + +#include +#include + +#include + +__BEGIN_DECLS + +struct timestamp + { + uint8_t len; + uint8_t ptr; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int flags:4; + unsigned int overflow:4; +#elif __BYTE_ORDER == __BIG_ENDIAN + unsigned int overflow:4; + unsigned int flags:4; +#else +# error "Please fix " +#endif + uint32_t data[9]; + }; + +struct iphdr + { +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ihl:4; + unsigned int version:4; +#elif __BYTE_ORDER == __BIG_ENDIAN + unsigned int version:4; + unsigned int ihl:4; +#else +# error "Please fix " +#endif + uint8_t tos; + uint16_t tot_len; + uint16_t id; + uint16_t frag_off; + uint8_t ttl; + uint8_t protocol; + uint16_t check; + uint32_t saddr; + uint32_t daddr; + /*The options start here. */ + }; + +#ifdef __USE_MISC +/* + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ip.h 8.1 (Berkeley) 6/10/93 + */ + +/* + * Definitions for internet protocol version 4. + * Per RFC 791, September 1981. + */ + +/* + * Structure of an internet header, naked of options. + */ +struct ip + { +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ip_hl:4; /* header length */ + unsigned int ip_v:4; /* version */ +#endif +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int ip_v:4; /* version */ + unsigned int ip_hl:4; /* header length */ +#endif + uint8_t ip_tos; /* type of service */ + unsigned short ip_len; /* total length */ + unsigned short ip_id; /* identification */ + unsigned short ip_off; /* fragment offset field */ +#define IP_RF 0x8000 /* reserved fragment flag */ +#define IP_DF 0x4000 /* dont fragment flag */ +#define IP_MF 0x2000 /* more fragments flag */ +#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ + uint8_t ip_ttl; /* time to live */ + uint8_t ip_p; /* protocol */ + unsigned short ip_sum; /* checksum */ + struct in_addr ip_src, ip_dst; /* source and dest address */ + }; + +/* + * Time stamp option structure. + */ +struct ip_timestamp + { + uint8_t ipt_code; /* IPOPT_TS */ + uint8_t ipt_len; /* size of structure (variable) */ + uint8_t ipt_ptr; /* index of current entry */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ipt_flg:4; /* flags, see below */ + unsigned int ipt_oflw:4; /* overflow counter */ +#endif +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int ipt_oflw:4; /* overflow counter */ + unsigned int ipt_flg:4; /* flags, see below */ +#endif + uint32_t data[9]; + }; +#endif /* __USE_MISC */ + +#define IPVERSION 4 /* IP version number */ +#define IP_MAXPACKET 65535 /* maximum packet size */ + +/* + * Definitions for Explicit Congestion Notification (ECN) + * + * Taken from RFC-3168, Section 5. + */ + +#define IPTOS_ECN_MASK 0x03 +#define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK) +#define IPTOS_ECN_NOT_ECT 0x00 +#define IPTOS_ECN_ECT1 0x01 +#define IPTOS_ECN_ECT0 0x02 +#define IPTOS_ECN_CE 0x03 + +/* + * Definitions for IP differentiated services code points (DSCP) + * + * Taken from RFC-2597, Section 6 and RFC-2598, Section 2.3. + */ + +#define IPTOS_DSCP_MASK 0xfc +#define IPTOS_DSCP(x) ((x) & IPTOS_DSCP_MASK) +#define IPTOS_DSCP_AF11 0x28 +#define IPTOS_DSCP_AF12 0x30 +#define IPTOS_DSCP_AF13 0x38 +#define IPTOS_DSCP_AF21 0x48 +#define IPTOS_DSCP_AF22 0x50 +#define IPTOS_DSCP_AF23 0x58 +#define IPTOS_DSCP_AF31 0x68 +#define IPTOS_DSCP_AF32 0x70 +#define IPTOS_DSCP_AF33 0x78 +#define IPTOS_DSCP_AF41 0x88 +#define IPTOS_DSCP_AF42 0x90 +#define IPTOS_DSCP_AF43 0x98 +#define IPTOS_DSCP_EF 0xb8 + +/* + * Voice-Admit DSCP code point from RFC-5865, Section 4. + */ +#define IPTOS_DSCP_VA 0xb0 + +/* + * Lower-Effort Per-Hop Behavior DSCP code point from RFC-8622, Section 12. + */ +#define IPTOS_DSCP_LE 0x04 + +/* + * In RFC 2474, Section 4.2.2.1, the Class Selector Codepoints subsume + * the old ToS Precedence values. + */ + +#define IPTOS_CLASS_MASK 0xe0 +#define IPTOS_CLASS(class) ((class) & IPTOS_CLASS_MASK) +#define IPTOS_CLASS_CS0 0x00 +#define IPTOS_CLASS_CS1 0x20 +#define IPTOS_CLASS_CS2 0x40 +#define IPTOS_CLASS_CS3 0x60 +#define IPTOS_CLASS_CS4 0x80 +#define IPTOS_CLASS_CS5 0xa0 +#define IPTOS_CLASS_CS6 0xc0 +#define IPTOS_CLASS_CS7 0xe0 + +#define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0 + +/* + * Definitions for IP type of service (ip_tos) [deprecated; use DSCP + * and CS definitions above instead.] + */ +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +#define IPTOS_LOWCOST 0x02 +#define IPTOS_MINCOST IPTOS_LOWCOST + +/* + * Definitions for IP precedence (also in ip_tos) [also deprecated.] + */ +#define IPTOS_PREC_MASK IPTOS_CLASS_MASK +#define IPTOS_PREC(tos) IPTOS_CLASS(tos) +#define IPTOS_PREC_NETCONTROL IPTOS_CLASS_CS7 +#define IPTOS_PREC_INTERNETCONTROL IPTOS_CLASS_CS6 +#define IPTOS_PREC_CRITIC_ECP IPTOS_CLASS_CS5 +#define IPTOS_PREC_FLASHOVERRIDE IPTOS_CLASS_CS4 +#define IPTOS_PREC_FLASH IPTOS_CLASS_CS3 +#define IPTOS_PREC_IMMEDIATE IPTOS_CLASS_CS2 +#define IPTOS_PREC_PRIORITY IPTOS_CLASS_CS1 +#define IPTOS_PREC_ROUTINE IPTOS_CLASS_CS0 + +/* + * Definitions for options. + */ +#define IPOPT_COPY 0x80 +#define IPOPT_CLASS_MASK 0x60 +#define IPOPT_NUMBER_MASK 0x1f + +#define IPOPT_COPIED(o) ((o) & IPOPT_COPY) +#define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) +#define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) + +#define IPOPT_CONTROL 0x00 +#define IPOPT_RESERVED1 0x20 +#define IPOPT_DEBMEAS 0x40 +#define IPOPT_MEASUREMENT IPOPT_DEBMEAS +#define IPOPT_RESERVED2 0x60 + +#define IPOPT_EOL 0 /* end of option list */ +#define IPOPT_END IPOPT_EOL +#define IPOPT_NOP 1 /* no operation */ +#define IPOPT_NOOP IPOPT_NOP + +#define IPOPT_RR 7 /* record packet route */ +#define IPOPT_TS 68 /* timestamp */ +#define IPOPT_TIMESTAMP IPOPT_TS +#define IPOPT_SECURITY 130 /* provide s,c,h,tcc */ +#define IPOPT_SEC IPOPT_SECURITY +#define IPOPT_LSRR 131 /* loose source route */ +#define IPOPT_SATID 136 /* satnet id */ +#define IPOPT_SID IPOPT_SATID +#define IPOPT_SSRR 137 /* strict source route */ +#define IPOPT_RA 148 /* router alert */ + +/* + * Offsets to fields in options other than EOL and NOP. + */ +#define IPOPT_OPTVAL 0 /* option ID */ +#define IPOPT_OLEN 1 /* option length */ +#define IPOPT_OFFSET 2 /* offset within option */ +#define IPOPT_MINOFF 4 /* min value of above */ + +#define MAX_IPOPTLEN 40 + +/* flag bits for ipt_flg */ +#define IPOPT_TS_TSONLY 0 /* timestamps only */ +#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */ +#define IPOPT_TS_PRESPEC 3 /* specified modules only */ + +/* bits for security (not byte swapped) */ +#define IPOPT_SECUR_UNCLASS 0x0000 +#define IPOPT_SECUR_CONFID 0xf135 +#define IPOPT_SECUR_EFTO 0x789a +#define IPOPT_SECUR_MMMM 0xbc4d +#define IPOPT_SECUR_RESTR 0xaf13 +#define IPOPT_SECUR_SECRET 0xd788 +#define IPOPT_SECUR_TOPSECRET 0x6bc5 + +/* + * Internet implementation parameters. + */ +#define MAXTTL 255 /* maximum time to live (seconds) */ +#define IPDEFTTL 64 /* default ttl, from RFC 1340 */ +#define IPFRAGTTL 60 /* time to live for frags, slowhz */ +#define IPTTLDEC 1 /* subtracted when forwarding */ + +#define IP_MSS 576 /* default maximum segment size */ + +__END_DECLS + +#endif /* netinet/ip.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip6.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip6.h new file mode 100644 index 00000000..2ef059be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip6.h @@ -0,0 +1,199 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETINET_IP6_H +#define _NETINET_IP6_H 1 + +#include +#include + +struct ip6_hdr + { + union + { + struct ip6_hdrctl + { + uint32_t ip6_un1_flow; /* 4 bits version, 8 bits TC, + 20 bits flow-ID */ + uint16_t ip6_un1_plen; /* payload length */ + uint8_t ip6_un1_nxt; /* next header */ + uint8_t ip6_un1_hlim; /* hop limit */ + } ip6_un1; + uint8_t ip6_un2_vfc; /* 4 bits version, top 4 bits tclass */ + } ip6_ctlun; + struct in6_addr ip6_src; /* source address */ + struct in6_addr ip6_dst; /* destination address */ + }; + +#define ip6_vfc ip6_ctlun.ip6_un2_vfc +#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow +#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen +#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt +#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim +#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim + +#define IPV6_VERSION 0x60 +#define IPV6_VERSION_MASK 0xf0 + +#if __BYTE_ORDER == __BIG_ENDIAN +#define IPV6_FLOWINFO_MASK 0x0fffffff /* flow info (28 bits) */ +#define IPV6_FLOWLABEL_MASK 0x000fffff /* flow label (20 bits) */ +#else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +#define IPV6_FLOWINFO_MASK 0xffffff0f /* flow info (28 bits) */ +#define IPV6_FLOWLABEL_MASK 0xffff0f00 /* flow label (20 bits) */ +#endif + +/* Generic extension header. */ +struct ip6_ext + { + uint8_t ip6e_nxt; /* next header. */ + uint8_t ip6e_len; /* length in units of 8 octets. */ + }; + +/* Hop-by-Hop options header. */ +struct ip6_hbh + { + uint8_t ip6h_nxt; /* next header. */ + uint8_t ip6h_len; /* length in units of 8 octets. */ + /* followed by options */ + }; + +/* Destination options header */ +struct ip6_dest + { + uint8_t ip6d_nxt; /* next header */ + uint8_t ip6d_len; /* length in units of 8 octets */ + /* followed by options */ + }; + +/* Routing header */ +struct ip6_rthdr + { + uint8_t ip6r_nxt; /* next header */ + uint8_t ip6r_len; /* length in units of 8 octets */ + uint8_t ip6r_type; /* routing type */ + uint8_t ip6r_segleft; /* segments left */ + /* followed by routing type specific data */ + }; + +/* Type 0 Routing header */ +struct ip6_rthdr0 + { + uint8_t ip6r0_nxt; /* next header */ + uint8_t ip6r0_len; /* length in units of 8 octets */ + uint8_t ip6r0_type; /* always zero */ + uint8_t ip6r0_segleft; /* segments left */ + uint8_t ip6r0_reserved; /* reserved field */ + uint8_t ip6r0_slmap[3]; /* strict/loose bit map */ + /* followed by up to 127 struct in6_addr */ + struct in6_addr ip6r0_addr[0]; + }; + +/* Fragment header */ +struct ip6_frag + { + uint8_t ip6f_nxt; /* next header */ + uint8_t ip6f_reserved; /* reserved field */ + uint16_t ip6f_offlg; /* offset, reserved, and flag */ + uint32_t ip6f_ident; /* identification */ + }; + +#if __BYTE_ORDER == __BIG_ENDIAN +# define IP6F_OFF_MASK 0xfff8 /* mask out offset from _offlg */ +# define IP6F_RESERVED_MASK 0x0006 /* reserved bits in ip6f_offlg */ +# define IP6F_MORE_FRAG 0x0001 /* more-fragments flag */ +#else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +# define IP6F_OFF_MASK 0xf8ff /* mask out offset from _offlg */ +# define IP6F_RESERVED_MASK 0x0600 /* reserved bits in ip6f_offlg */ +# define IP6F_MORE_FRAG 0x0100 /* more-fragments flag */ +#endif + +/* IPv6 options */ +struct ip6_opt + { + uint8_t ip6o_type; + uint8_t ip6o_len; + }; + +/* The high-order 3 bits of the option type define the behavior + * when processing an unknown option and whether or not the option + * content changes in flight. + */ +#define IP6OPT_TYPE(o) ((o) & 0xc0) +#define IP6OPT_TYPE_SKIP 0x00 +#define IP6OPT_TYPE_DISCARD 0x40 +#define IP6OPT_TYPE_FORCEICMP 0x80 +#define IP6OPT_TYPE_ICMP 0xc0 +#define IP6OPT_TYPE_MUTABLE 0x20 + +/* Special option types for padding. */ +#define IP6OPT_PAD1 0 +#define IP6OPT_PADN 1 + +#define IP6OPT_JUMBO 0xc2 +#define IP6OPT_NSAP_ADDR 0xc3 +#define IP6OPT_TUNNEL_LIMIT 0x04 +#define IP6OPT_ROUTER_ALERT 0x05 + +/* Jumbo Payload Option */ +struct ip6_opt_jumbo + { + uint8_t ip6oj_type; + uint8_t ip6oj_len; + uint8_t ip6oj_jumbo_len[4]; + }; +#define IP6OPT_JUMBO_LEN 6 + +/* NSAP Address Option */ +struct ip6_opt_nsap + { + uint8_t ip6on_type; + uint8_t ip6on_len; + uint8_t ip6on_src_nsap_len; + uint8_t ip6on_dst_nsap_len; + /* followed by source NSAP */ + /* followed by destination NSAP */ + }; + +/* Tunnel Limit Option */ +struct ip6_opt_tunnel + { + uint8_t ip6ot_type; + uint8_t ip6ot_len; + uint8_t ip6ot_encap_limit; + }; + +/* Router Alert Option */ +struct ip6_opt_router + { + uint8_t ip6or_type; + uint8_t ip6or_len; + uint8_t ip6or_value[2]; + }; + +/* Router alert values (in network byte order) */ +#if __BYTE_ORDER == __BIG_ENDIAN +# define IP6_ALERT_MLD 0x0000 +# define IP6_ALERT_RSVP 0x0001 +# define IP6_ALERT_AN 0x0002 +#else /* __BYTE_ORDER == __LITTLE_ENDIAN */ +# define IP6_ALERT_MLD 0x0000 +# define IP6_ALERT_RSVP 0x0100 +# define IP6_ALERT_AN 0x0200 +#endif + +#endif /* netinet/ip6.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip_icmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip_icmp.h new file mode 100644 index 00000000..c5b386dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/ip_icmp.h @@ -0,0 +1,300 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETINET_IP_ICMP_H +#define __NETINET_IP_ICMP_H 1 + +#include +#include + +__BEGIN_DECLS + +struct icmphdr +{ + uint8_t type; /* message type */ + uint8_t code; /* type sub-code */ + uint16_t checksum; + union + { + struct + { + uint16_t id; + uint16_t sequence; + } echo; /* echo datagram */ + uint32_t gateway; /* gateway address */ + struct + { + uint16_t __glibc_reserved; + uint16_t mtu; + } frag; /* path mtu discovery */ + } un; +}; + +#define ICMP_ECHOREPLY 0 /* Echo Reply */ +#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */ +#define ICMP_SOURCE_QUENCH 4 /* Source Quench */ +#define ICMP_REDIRECT 5 /* Redirect (change route) */ +#define ICMP_ECHO 8 /* Echo Request */ +#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */ +#define ICMP_PARAMETERPROB 12 /* Parameter Problem */ +#define ICMP_TIMESTAMP 13 /* Timestamp Request */ +#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */ +#define ICMP_INFO_REQUEST 15 /* Information Request */ +#define ICMP_INFO_REPLY 16 /* Information Reply */ +#define ICMP_ADDRESS 17 /* Address Mask Request */ +#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */ +#define NR_ICMP_TYPES 18 + + +/* Codes for UNREACH. */ +#define ICMP_NET_UNREACH 0 /* Network Unreachable */ +#define ICMP_HOST_UNREACH 1 /* Host Unreachable */ +#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */ +#define ICMP_PORT_UNREACH 3 /* Port Unreachable */ +#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */ +#define ICMP_SR_FAILED 5 /* Source Route failed */ +#define ICMP_NET_UNKNOWN 6 +#define ICMP_HOST_UNKNOWN 7 +#define ICMP_HOST_ISOLATED 8 +#define ICMP_NET_ANO 9 +#define ICMP_HOST_ANO 10 +#define ICMP_NET_UNR_TOS 11 +#define ICMP_HOST_UNR_TOS 12 +#define ICMP_PKT_FILTERED 13 /* Packet filtered */ +#define ICMP_PREC_VIOLATION 14 /* Precedence violation */ +#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */ +#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */ + +/* Codes for REDIRECT. */ +#define ICMP_REDIR_NET 0 /* Redirect Net */ +#define ICMP_REDIR_HOST 1 /* Redirect Host */ +#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */ +#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */ + +/* Codes for TIME_EXCEEDED. */ +#define ICMP_EXC_TTL 0 /* TTL count exceeded */ +#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */ + +/* Codes for ICMP_EXT_ECHO (PROBE) */ +#define ICMP_EXT_ECHO 42 +#define ICMP_EXT_ECHOREPLY 43 +#define ICMP_EXT_CODE_MAL_QUERY 1 /* Malformed Query */ +#define ICMP_EXT_CODE_NO_IF 2 /* No such Interface */ +#define ICMP_EXT_CODE_NO_TABLE_ENT 3 /* No table entry */ +#define ICMP_EXT_CODE_MULT_IFS 4 /* Multiple Interfaces Satisfy Query */ + +/* Constants for EXT_ECHO (PROBE) */ +#define ICMP_EXT_ECHOREPLY_ACTIVE (1 << 2)/* active bit in reply */ +#define ICMP_EXT_ECHOREPLY_IPV4 (1 << 1)/* ipv4 bit in reply */ +#define ICMP_EXT_ECHOREPLY_IPV6 1 /* ipv6 bit in reply */ +#define ICMP_EXT_ECHO_CTYPE_NAME 1 +#define ICMP_EXT_ECHO_CTYPE_INDEX 2 +#define ICMP_EXT_ECHO_CTYPE_ADDR 3 +#define ICMP_AFI_IP 1 /* Address Family Identifier for IPV4 */ +#define ICMP_AFI_IP6 2 /* Address Family Identifier for IPV6 */ + + +#ifdef __USE_MISC +/* + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93 + */ + +#include +#include + +/* + * Internal of an ICMP Router Advertisement + */ +struct icmp_ra_addr +{ + uint32_t ira_addr; + uint32_t ira_preference; +}; + +struct icmp +{ + uint8_t icmp_type; /* type of message, see below */ + uint8_t icmp_code; /* type sub code */ + uint16_t icmp_cksum; /* ones complement checksum of struct */ + union + { + unsigned char ih_pptr; /* ICMP_PARAMPROB */ + struct in_addr ih_gwaddr; /* gateway address */ + struct ih_idseq /* echo datagram */ + { + uint16_t icd_id; + uint16_t icd_seq; + } ih_idseq; + uint32_t ih_void; + + /* ICMP_UNREACH_NEEDFRAG -- Path MTU Discovery (RFC1191) */ + struct ih_pmtu + { + uint16_t ipm_void; + uint16_t ipm_nextmtu; + } ih_pmtu; + + struct ih_rtradv + { + uint8_t irt_num_addrs; + uint8_t irt_wpa; + uint16_t irt_lifetime; + } ih_rtradv; + } icmp_hun; +#define icmp_pptr icmp_hun.ih_pptr +#define icmp_gwaddr icmp_hun.ih_gwaddr +#define icmp_id icmp_hun.ih_idseq.icd_id +#define icmp_seq icmp_hun.ih_idseq.icd_seq +#define icmp_void icmp_hun.ih_void +#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void +#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu +#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs +#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa +#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime + union + { + struct + { + uint32_t its_otime; + uint32_t its_rtime; + uint32_t its_ttime; + } id_ts; + struct + { + struct ip idi_ip; + /* options and then 64 bits of data */ + } id_ip; + struct icmp_ra_addr id_radv; + uint32_t id_mask; + uint8_t id_data[1]; + } icmp_dun; +#define icmp_otime icmp_dun.id_ts.its_otime +#define icmp_rtime icmp_dun.id_ts.its_rtime +#define icmp_ttime icmp_dun.id_ts.its_ttime +#define icmp_ip icmp_dun.id_ip.idi_ip +#define icmp_radv icmp_dun.id_radv +#define icmp_mask icmp_dun.id_mask +#define icmp_data icmp_dun.id_data +}; + +/* + * Lower bounds on packet lengths for various types. + * For the error advice packets must first insure that the + * packet is large enough to contain the returned ip header. + * Only then can we do the check to see if 64 bits of packet + * data have been returned, since we need to check the returned + * ip header length. + */ +#define ICMP_MINLEN 8 /* abs minimum */ +#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) /* timestamp */ +#define ICMP_MASKLEN 12 /* address mask */ +#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) /* min */ +#ifndef _IP_VHL +#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8) + /* N.B.: must separately check that ip_hl >= 5 */ +#else +#define ICMP_ADVLEN(p) (8 + (IP_VHL_HL((p)->icmp_ip.ip_vhl) << 2) + 8) + /* N.B.: must separately check that header length >= 5 */ +#endif + +/* Definition of type and code fields. */ +/* defined above: ICMP_ECHOREPLY, ICMP_REDIRECT, ICMP_ECHO */ +#define ICMP_UNREACH 3 /* dest unreachable, codes: */ +#define ICMP_SOURCEQUENCH 4 /* packet lost, slow down */ +#define ICMP_ROUTERADVERT 9 /* router advertisement */ +#define ICMP_ROUTERSOLICIT 10 /* router solicitation */ +#define ICMP_TIMXCEED 11 /* time exceeded, code: */ +#define ICMP_PARAMPROB 12 /* ip header bad */ +#define ICMP_TSTAMP 13 /* timestamp request */ +#define ICMP_TSTAMPREPLY 14 /* timestamp reply */ +#define ICMP_IREQ 15 /* information request */ +#define ICMP_IREQREPLY 16 /* information reply */ +#define ICMP_MASKREQ 17 /* address mask request */ +#define ICMP_MASKREPLY 18 /* address mask reply */ + +#define ICMP_MAXTYPE 18 + +/* UNREACH codes */ +#define ICMP_UNREACH_NET 0 /* bad net */ +#define ICMP_UNREACH_HOST 1 /* bad host */ +#define ICMP_UNREACH_PROTOCOL 2 /* bad protocol */ +#define ICMP_UNREACH_PORT 3 /* bad port */ +#define ICMP_UNREACH_NEEDFRAG 4 /* IP_DF caused drop */ +#define ICMP_UNREACH_SRCFAIL 5 /* src route failed */ +#define ICMP_UNREACH_NET_UNKNOWN 6 /* unknown net */ +#define ICMP_UNREACH_HOST_UNKNOWN 7 /* unknown host */ +#define ICMP_UNREACH_ISOLATED 8 /* src host isolated */ +#define ICMP_UNREACH_NET_PROHIB 9 /* net denied */ +#define ICMP_UNREACH_HOST_PROHIB 10 /* host denied */ +#define ICMP_UNREACH_TOSNET 11 /* bad tos for net */ +#define ICMP_UNREACH_TOSHOST 12 /* bad tos for host */ +#define ICMP_UNREACH_FILTER_PROHIB 13 /* admin prohib */ +#define ICMP_UNREACH_HOST_PRECEDENCE 14 /* host prec vio. */ +#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 /* prec cutoff */ + +/* REDIRECT codes */ +#define ICMP_REDIRECT_NET 0 /* for network */ +#define ICMP_REDIRECT_HOST 1 /* for host */ +#define ICMP_REDIRECT_TOSNET 2 /* for tos and net */ +#define ICMP_REDIRECT_TOSHOST 3 /* for tos and host */ + +/* TIMEXCEED codes */ +#define ICMP_TIMXCEED_INTRANS 0 /* ttl==0 in transit */ +#define ICMP_TIMXCEED_REASS 1 /* ttl==0 in reass */ + +/* PARAMPROB code */ +#define ICMP_PARAMPROB_OPTABSENT 1 /* req. opt. absent */ + +#define ICMP_INFOTYPE(type) \ + ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO \ + || (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT \ + || (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY \ + || (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY \ + || (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) + +#endif /* __USE_MISC */ + +__END_DECLS + +#endif /* netinet/ip_icmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/tcp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/tcp.h new file mode 100644 index 00000000..65ee87a0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/tcp.h @@ -0,0 +1,350 @@ +/* + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)tcp.h 8.1 (Berkeley) 6/10/93 + */ + +#ifndef _NETINET_TCP_H +#define _NETINET_TCP_H 1 + +#include + +/* + * User-settable options (used with setsockopt). + */ +#define TCP_NODELAY 1 /* Don't delay send to coalesce packets */ +#define TCP_MAXSEG 2 /* Set maximum segment size */ +#define TCP_CORK 3 /* Control sending of partial frames */ +#define TCP_KEEPIDLE 4 /* Start keeplives after this period */ +#define TCP_KEEPINTVL 5 /* Interval between keepalives */ +#define TCP_KEEPCNT 6 /* Number of keepalives before death */ +#define TCP_SYNCNT 7 /* Number of SYN retransmits */ +#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */ +#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */ +#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */ +#define TCP_INFO 11 /* Information about this connection. */ +#define TCP_QUICKACK 12 /* Bock/re-enable quick ACKs. */ +#define TCP_CONGESTION 13 /* Congestion control algorithm. */ +#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */ +#define TCP_COOKIE_TRANSACTIONS 15 /* TCP Cookie Transactions */ +#define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/ +#define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */ +#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */ +#define TCP_REPAIR 19 /* TCP sock is under repair right now */ +#define TCP_REPAIR_QUEUE 20 /* Set TCP queue to repair */ +#define TCP_QUEUE_SEQ 21 /* Set sequence number of repaired queue. */ +#define TCP_REPAIR_OPTIONS 22 /* Repair TCP connection options */ +#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ +#define TCP_TIMESTAMP 24 /* TCP time stamp */ +#define TCP_NOTSENT_LOWAT 25 /* Limit number of unsent bytes in + write queue. */ +#define TCP_CC_INFO 26 /* Get Congestion Control + (optional) info. */ +#define TCP_SAVE_SYN 27 /* Record SYN headers for new + connections. */ +#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for + connection. */ +#define TCP_REPAIR_WINDOW 29 /* Get/set window parameters. */ +#define TCP_FASTOPEN_CONNECT 30 /* Attempt FastOpen with connect. */ +#define TCP_ULP 31 /* Attach a ULP to a TCP connection. */ +#define TCP_MD5SIG_EXT 32 /* TCP MD5 Signature with extensions. */ +#define TCP_FASTOPEN_KEY 33 /* Set the key for Fast Open (cookie). */ +#define TCP_FASTOPEN_NO_COOKIE 34 /* Enable TFO without a TFO cookie. */ +#define TCP_ZEROCOPY_RECEIVE 35 +#define TCP_INQ 36 /* Notify bytes available to read + as a cmsg on read. */ +#define TCP_CM_INQ TCP_INQ +#define TCP_TX_DELAY 37 /* Delay outgoing packets by XX usec. */ + +#define TCP_REPAIR_ON 1 +#define TCP_REPAIR_OFF 0 +#define TCP_REPAIR_OFF_NO_WP -1 + +#ifdef __USE_MISC +# include +# include +# include + +typedef uint32_t tcp_seq; +/* + * TCP header. + * Per RFC 793, September, 1981. + */ +struct tcphdr + { + __extension__ union + { + struct + { + uint16_t th_sport; /* source port */ + uint16_t th_dport; /* destination port */ + tcp_seq th_seq; /* sequence number */ + tcp_seq th_ack; /* acknowledgement number */ +# if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t th_x2:4; /* (unused) */ + uint8_t th_off:4; /* data offset */ +# endif +# if __BYTE_ORDER == __BIG_ENDIAN + uint8_t th_off:4; /* data offset */ + uint8_t th_x2:4; /* (unused) */ +# endif + uint8_t th_flags; +# define TH_FIN 0x01 +# define TH_SYN 0x02 +# define TH_RST 0x04 +# define TH_PUSH 0x08 +# define TH_ACK 0x10 +# define TH_URG 0x20 + uint16_t th_win; /* window */ + uint16_t th_sum; /* checksum */ + uint16_t th_urp; /* urgent pointer */ + }; + struct + { + uint16_t source; + uint16_t dest; + uint32_t seq; + uint32_t ack_seq; +# if __BYTE_ORDER == __LITTLE_ENDIAN + uint16_t res1:4; + uint16_t doff:4; + uint16_t fin:1; + uint16_t syn:1; + uint16_t rst:1; + uint16_t psh:1; + uint16_t ack:1; + uint16_t urg:1; + uint16_t res2:2; +# elif __BYTE_ORDER == __BIG_ENDIAN + uint16_t doff:4; + uint16_t res1:4; + uint16_t res2:2; + uint16_t urg:1; + uint16_t ack:1; + uint16_t psh:1; + uint16_t rst:1; + uint16_t syn:1; + uint16_t fin:1; +# else +# error "Adjust your defines" +# endif + uint16_t window; + uint16_t check; + uint16_t urg_ptr; + }; + }; +}; + +enum +{ + TCP_ESTABLISHED = 1, + TCP_SYN_SENT, + TCP_SYN_RECV, + TCP_FIN_WAIT1, + TCP_FIN_WAIT2, + TCP_TIME_WAIT, + TCP_CLOSE, + TCP_CLOSE_WAIT, + TCP_LAST_ACK, + TCP_LISTEN, + TCP_CLOSING /* now a valid state */ +}; + +# define TCPOPT_EOL 0 +# define TCPOPT_NOP 1 +# define TCPOPT_MAXSEG 2 +# define TCPOLEN_MAXSEG 4 +# define TCPOPT_WINDOW 3 +# define TCPOLEN_WINDOW 3 +# define TCPOPT_SACK_PERMITTED 4 /* Experimental */ +# define TCPOLEN_SACK_PERMITTED 2 +# define TCPOPT_SACK 5 /* Experimental */ +# define TCPOPT_TIMESTAMP 8 +# define TCPOLEN_TIMESTAMP 10 +# define TCPOLEN_TSTAMP_APPA (TCPOLEN_TIMESTAMP+2) /* appendix A */ + +# define TCPOPT_TSTAMP_HDR \ + (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) + +/* + * Default maximum segment size for TCP. + * With an IP MSS of 576, this is 536, + * but 512 is probably more convenient. + * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). + */ +# define TCP_MSS 512 + +# define TCP_MAXWIN 65535 /* largest value for (unscaled) window */ + +# define TCP_MAX_WINSHIFT 14 /* maximum window shift */ + +# define SOL_TCP 6 /* TCP level */ + + +# define TCPI_OPT_TIMESTAMPS 1 +# define TCPI_OPT_SACK 2 +# define TCPI_OPT_WSCALE 4 +# define TCPI_OPT_ECN 8 /* ECN was negotiated at TCP session init */ +# define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */ +# define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */ + +/* Values for tcpi_state. */ +enum tcp_ca_state +{ + TCP_CA_Open = 0, + TCP_CA_Disorder = 1, + TCP_CA_CWR = 2, + TCP_CA_Recovery = 3, + TCP_CA_Loss = 4 +}; + +struct tcp_info +{ + uint8_t tcpi_state; + uint8_t tcpi_ca_state; + uint8_t tcpi_retransmits; + uint8_t tcpi_probes; + uint8_t tcpi_backoff; + uint8_t tcpi_options; + uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; + + uint32_t tcpi_rto; + uint32_t tcpi_ato; + uint32_t tcpi_snd_mss; + uint32_t tcpi_rcv_mss; + + uint32_t tcpi_unacked; + uint32_t tcpi_sacked; + uint32_t tcpi_lost; + uint32_t tcpi_retrans; + uint32_t tcpi_fackets; + + /* Times. */ + uint32_t tcpi_last_data_sent; + uint32_t tcpi_last_ack_sent; /* Not remembered, sorry. */ + uint32_t tcpi_last_data_recv; + uint32_t tcpi_last_ack_recv; + + /* Metrics. */ + uint32_t tcpi_pmtu; + uint32_t tcpi_rcv_ssthresh; + uint32_t tcpi_rtt; + uint32_t tcpi_rttvar; + uint32_t tcpi_snd_ssthresh; + uint32_t tcpi_snd_cwnd; + uint32_t tcpi_advmss; + uint32_t tcpi_reordering; + + uint32_t tcpi_rcv_rtt; + uint32_t tcpi_rcv_space; + + uint32_t tcpi_total_retrans; +}; + + +/* For TCP_MD5SIG socket option. */ +#define TCP_MD5SIG_MAXKEYLEN 80 + +/* tcp_md5sig extension flags for TCP_MD5SIG_EXT. */ +#define TCP_MD5SIG_FLAG_PREFIX 1 /* Address prefix length. */ +#define TCP_MD5SIG_FLAG_IFINDEX 2 /* Ifindex set. */ + +struct tcp_md5sig +{ + struct sockaddr_storage tcpm_addr; /* Address associated. */ + uint8_t tcpm_flags; /* Extension flags. */ + uint8_t tcpm_prefixlen; /* Address prefix. */ + uint16_t tcpm_keylen; /* Key length. */ + int tcpm_ifindex; /* Device index for scope. */ + uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* Key (binary). */ +}; + +/* For socket repair options. */ +struct tcp_repair_opt +{ + uint32_t opt_code; + uint32_t opt_val; +}; + +/* Queue to repair, for TCP_REPAIR_QUEUE. */ +enum +{ + TCP_NO_QUEUE, + TCP_RECV_QUEUE, + TCP_SEND_QUEUE, + TCP_QUEUES_NR, +}; + +/* For cookie transactions socket options. */ +#define TCP_COOKIE_MIN 8 /* 64-bits */ +#define TCP_COOKIE_MAX 16 /* 128-bits */ +#define TCP_COOKIE_PAIR_SIZE (2*TCP_COOKIE_MAX) + +/* Flags for both getsockopt and setsockopt */ +#define TCP_COOKIE_IN_ALWAYS (1 << 0) /* Discard SYN without cookie */ +#define TCP_COOKIE_OUT_NEVER (1 << 1) /* Prohibit outgoing cookies, + * supersedes everything. */ + +/* Flags for getsockopt */ +#define TCP_S_DATA_IN (1 << 2) /* Was data received? */ +#define TCP_S_DATA_OUT (1 << 3) /* Was data sent? */ + +#define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */ +#define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */ + +struct tcp_cookie_transactions +{ + uint16_t tcpct_flags; + uint8_t __tcpct_pad1; + uint8_t tcpct_cookie_desired; + uint16_t tcpct_s_data_desired; + uint16_t tcpct_used; + uint8_t tcpct_value[TCP_MSS_DEFAULT]; +}; + +/* For use with TCP_REPAIR_WINDOW. */ +struct tcp_repair_window +{ + uint32_t snd_wl1; + uint32_t snd_wnd; + uint32_t max_window; + uint32_t rcv_wnd; + uint32_t rcv_wup; +}; + +/* For use with TCP_ZEROCOPY_RECEIVE. */ +struct tcp_zerocopy_receive +{ + uint64_t address; /* In: address of mapping. */ + uint32_t length; /* In/out: number of bytes to map/mapped. */ + uint32_t recv_skip_hint; /* Out: amount of bytes to skip. */ +}; + +#endif /* Misc. */ + +#endif /* netinet/tcp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/udp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/udp.h new file mode 100644 index 00000000..c2fd3250 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netinet/udp.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Copyright (C) 1982, 1986 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef __NETINET_UDP_H +#define __NETINET_UDP_H 1 + +#include +#include + +/* UDP header as specified by RFC 768, August 1980. */ + +struct udphdr +{ + __extension__ union + { + struct + { + uint16_t uh_sport; /* source port */ + uint16_t uh_dport; /* destination port */ + uint16_t uh_ulen; /* udp length */ + uint16_t uh_sum; /* udp checksum */ + }; + struct + { + uint16_t source; + uint16_t dest; + uint16_t len; + uint16_t check; + }; + }; +}; + +/* UDP socket options */ +#define UDP_CORK 1 /* Never send partially complete segments. */ +#define UDP_ENCAP 100 /* Set the socket to accept + encapsulated packets. */ +#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP + over IPv6. */ +#define UDP_NO_CHECK6_RX 102 /* Disable accepting checksum for UDP + over IPv6. */ +#define UDP_SEGMENT 103 /* Set GSO segmentation size. */ +#define UDP_GRO 104 /* This socket can receive UDP GRO packets. */ + +/* UDP encapsulation types */ +#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */ +#define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */ +#define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */ +#define UDP_ENCAP_GTP0 4 /* GSM TS 09.60 */ +#define UDP_ENCAP_GTP1U 5 /* 3GPP TS 29.060 */ + +#define SOL_UDP 17 /* sockopt level for UDP */ + +#endif /* netinet/udp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netipx/ipx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netipx/ipx.h new file mode 100644 index 00000000..d67d3cb8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netipx/ipx.h @@ -0,0 +1,111 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETIPX_IPX_H +#define __NETIPX_IPX_H 1 + +#include +#include +#include + +__BEGIN_DECLS + +#define SOL_IPX 256 /* sockopt level */ + +#define IPX_TYPE 1 +#define IPX_NODE_LEN 6 +#define IPX_MTU 576 + +struct sockaddr_ipx + { + sa_family_t sipx_family; + uint16_t sipx_port; + uint32_t sipx_network; + unsigned char sipx_node[IPX_NODE_LEN]; + uint8_t sipx_type; + unsigned char sipx_zero; /* 16 byte fill */ + }; + +/* + * So we can fit the extra info for SIOCSIFADDR into the address nicely + */ + +#define sipx_special sipx_port +#define sipx_action sipx_zero +#define IPX_DLTITF 0 +#define IPX_CRTITF 1 + +typedef struct ipx_route_definition + { + unsigned long ipx_network; + unsigned long ipx_router_network; + unsigned char ipx_router_node[IPX_NODE_LEN]; + } +ipx_route_definition; + +typedef struct ipx_interface_definition + { + unsigned long ipx_network; + unsigned char ipx_device[16]; + unsigned char ipx_dlink_type; +#define IPX_FRAME_NONE 0 +#define IPX_FRAME_SNAP 1 +#define IPX_FRAME_8022 2 +#define IPX_FRAME_ETHERII 3 +#define IPX_FRAME_8023 4 +#define IPX_FRAME_TR_8022 5 + unsigned char ipx_special; +#define IPX_SPECIAL_NONE 0 +#define IPX_PRIMARY 1 +#define IPX_INTERNAL 2 + unsigned char ipx_node[IPX_NODE_LEN]; + } +ipx_interface_definition; + +typedef struct ipx_config_data + { + unsigned char ipxcfg_auto_select_primary; + unsigned char ipxcfg_auto_create_interfaces; + } +ipx_config_data; + +/* + * OLD Route Definition for backward compatibility. + */ + +struct ipx_route_def + { + unsigned long ipx_network; + unsigned long ipx_router_network; +#define IPX_ROUTE_NO_ROUTER 0 + unsigned char ipx_router_node[IPX_NODE_LEN]; + unsigned char ipx_device[16]; + unsigned short ipx_flags; +#define IPX_RT_SNAP 8 +#define IPX_RT_8022 4 +#define IPX_RT_BLUEBOOK 2 +#define IPX_RT_ROUTED 1 + }; + +#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) +#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) +#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2) +#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3) + +__END_DECLS + +#endif /* netipx/ipx.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netiucv/iucv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netiucv/iucv.h new file mode 100644 index 00000000..b1125c1c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netiucv/iucv.h @@ -0,0 +1,48 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETIUCV_IUCV_H +#define __NETIUCV_IUCV_H 1 + +#include +#include + +__BEGIN_DECLS + +struct __attribute_struct_may_alias__ sockaddr_iucv + { + __SOCKADDR_COMMON (siucv_); + unsigned short siucv_port; /* Reserved */ + unsigned int siucv_addr; /* Reserved */ + char siucv_nodeid[8]; /* Reserved */ + char siucv_user_id[8]; /* Guest User Id */ + char siucv_name[8]; /* Application Name */ + }; + +__END_DECLS + +#define SOL_IUCV 277 /* IUCV level */ + +/* IUCV socket options (SOL_IUCV) */ +#define SO_IPRMDATA_MSG 0x0080 /* Send/recv IPRM_DATA msgs */ +#define SO_MSGLIMIT 0x1000 /* Get/set IUCV MSGLIMIT */ +#define SO_MSGSIZE 0x0800 /* Get maximum msgsize */ + +/* IUCV related control messages (scm) */ +#define SCM_IUCV_TRGCLS 0x0001 /* Target class control message */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netpacket/packet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netpacket/packet.h new file mode 100644 index 00000000..af9f7f49 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netpacket/packet.h @@ -0,0 +1,82 @@ +/* Definitions for use with Linux AF_PACKET sockets. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NETPACKET_PACKET_H +#define __NETPACKET_PACKET_H 1 + +struct sockaddr_ll + { + unsigned short int sll_family; + unsigned short int sll_protocol; + int sll_ifindex; + unsigned short int sll_hatype; + unsigned char sll_pkttype; + unsigned char sll_halen; + unsigned char sll_addr[8]; + }; + +/* Packet types. */ + +#define PACKET_HOST 0 /* To us. */ +#define PACKET_BROADCAST 1 /* To all. */ +#define PACKET_MULTICAST 2 /* To group. */ +#define PACKET_OTHERHOST 3 /* To someone else. */ +#define PACKET_OUTGOING 4 /* Originated by us . */ +#define PACKET_LOOPBACK 5 +#define PACKET_FASTROUTE 6 + +/* Packet socket options. */ + +#define PACKET_ADD_MEMBERSHIP 1 +#define PACKET_DROP_MEMBERSHIP 2 +#define PACKET_RECV_OUTPUT 3 +#define PACKET_RX_RING 5 +#define PACKET_STATISTICS 6 +#define PACKET_COPY_THRESH 7 +#define PACKET_AUXDATA 8 +#define PACKET_ORIGDEV 9 +#define PACKET_VERSION 10 +#define PACKET_HDRLEN 11 +#define PACKET_RESERVE 12 +#define PACKET_TX_RING 13 +#define PACKET_LOSS 14 +#define PACKET_VNET_HDR 15 +#define PACKET_TX_TIMESTAMP 16 +#define PACKET_TIMESTAMP 17 +#define PACKET_FANOUT 18 +#define PACKET_TX_HAS_OFF 19 +#define PACKET_QDISC_BYPASS 20 +#define PACKET_ROLLOVER_STATS 21 +#define PACKET_FANOUT_DATA 22 +#define PACKET_IGNORE_OUTGOING 23 +#define PACKET_VNET_HDR_SZ 24 + +struct packet_mreq + { + int mr_ifindex; + unsigned short int mr_type; + unsigned short int mr_alen; + unsigned char mr_address[8]; + }; + +#define PACKET_MR_MULTICAST 0 +#define PACKET_MR_PROMISC 1 +#define PACKET_MR_ALLMULTI 2 +#define PACKET_MR_UNICAST 3 + +#endif /* netpacket/packet.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrom/netrom.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrom/netrom.h new file mode 100644 index 00000000..78ab32c0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrom/netrom.h @@ -0,0 +1,83 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NETROM_NETROM_H +#define _NETROM_NETROM_H 1 + +#include + +/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx. */ +#define SOL_NETROM 259 + +/* NetRom control values: */ +#define NETROM_T1 1 +#define NETROM_T2 2 +#define NETROM_N2 3 +#define NETROM_PACLEN 5 +#define NETROM_T4 6 +#define NETROM_IDLE 7 + +#define NETROM_KILL 99 + +/* Type of route: */ +#define NETROM_NEIGH 0 +#define NETROM_NODE 1 + +struct nr_route_struct + { + int type; + ax25_address callsign; + char device[16]; + unsigned int quality; + char mnemonic[7]; + ax25_address neighbour; + unsigned int obs_count; + unsigned int ndigis; + ax25_address digipeaters[AX25_MAX_DIGIS]; + }; + +/* NetRom socket ioctls: */ +#define SIOCNRGETPARMS (SIOCPROTOPRIVATE+0) +#define SIOCNRSETPARMS (SIOCPROTOPRIVATE+1) +#define SIOCNRDECOBS (SIOCPROTOPRIVATE+2) +#define SIOCNRRTCTL (SIOCPROTOPRIVATE+3) +#define SIOCNRCTLCON (SIOCPROTOPRIVATE+4) + +/* NetRom parameter structure: */ +struct nr_parms_struct + { + unsigned int quality; + unsigned int obs_count; + unsigned int ttl; + unsigned int timeout; + unsigned int ack_delay; + unsigned int busy_delay; + unsigned int tries; + unsigned int window; + unsigned int paclen; + }; + +/* NetRom control structure: */ +struct nr_ctl_struct + { + unsigned char index; + unsigned char id; + unsigned int cmd; + unsigned long arg; + }; + +#endif /* netrom/netrom.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrose/rose.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrose/rose.h new file mode 100644 index 00000000..d85179ec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/netrose/rose.h @@ -0,0 +1,118 @@ +/* Definitions for Rose packet radio address family. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* What follows is copied from the 2.1.93 . */ + +#ifndef _NETROSE_ROSE_H +#define _NETROSE_ROSE_H 1 + +#include +#include + +/* Socket level values. */ +#define SOL_ROSE 260 + + +/* These are the public elements of the Linux kernel Rose + implementation. For kernel AX.25 see the file ax25.h. This file + requires ax25.h for the definition of the ax25_address structure. */ +#define ROSE_MTU 251 + +#define ROSE_MAX_DIGIS 6 + +#define ROSE_DEFER 1 +#define ROSE_T1 2 +#define ROSE_T2 3 +#define ROSE_T3 4 +#define ROSE_IDLE 5 +#define ROSE_QBITINCL 6 +#define ROSE_HOLDBACK 7 + +#define SIOCRSGCAUSE (SIOCPROTOPRIVATE + 0) +#define SIOCRSSCAUSE (SIOCPROTOPRIVATE + 1) +#define SIOCRSL2CALL (SIOCPROTOPRIVATE + 2) +#define SIOCRSSL2CALL (SIOCPROTOPRIVATE + 2) +#define SIOCRSACCEPT (SIOCPROTOPRIVATE + 3) +#define SIOCRSCLRRT (SIOCPROTOPRIVATE + 4) +#define SIOCRSGL2CALL (SIOCPROTOPRIVATE + 5) +#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE + 6) + +#define ROSE_DTE_ORIGINATED 0x00 +#define ROSE_NUMBER_BUSY 0x01 +#define ROSE_INVALID_FACILITY 0x03 +#define ROSE_NETWORK_CONGESTION 0x05 +#define ROSE_OUT_OF_ORDER 0x09 +#define ROSE_ACCESS_BARRED 0x0B +#define ROSE_NOT_OBTAINABLE 0x0D +#define ROSE_REMOTE_PROCEDURE 0x11 +#define ROSE_LOCAL_PROCEDURE 0x13 +#define ROSE_SHIP_ABSENT 0x39 + + +typedef struct +{ + char rose_addr[5]; +} rose_address; + +struct sockaddr_rose +{ + sa_family_t srose_family; + rose_address srose_addr; + ax25_address srose_call; + int srose_ndigis; + ax25_address srose_digi; +}; + +struct full_sockaddr_rose +{ + sa_family_t srose_family; + rose_address srose_addr; + ax25_address srose_call; + unsigned int srose_ndigis; + ax25_address srose_digis[ROSE_MAX_DIGIS]; +}; + +struct rose_route_struct +{ + rose_address address; + unsigned short int mask; + ax25_address neighbour; + char device[16]; + unsigned char ndigis; + ax25_address digipeaters[AX25_MAX_DIGIS]; +}; + +struct rose_cause_struct +{ + unsigned char cause; + unsigned char diagnostic; +}; + +struct rose_facilities_struct +{ + rose_address source_addr, dest_addr; + ax25_address source_call, dest_call; + unsigned char source_ndigis, dest_ndigis; + ax25_address source_digis[ROSE_MAX_DIGIS]; + ax25_address dest_digis[ROSE_MAX_DIGIS]; + unsigned int rand; + rose_address fail_addr; + ax25_address fail_call; +}; + +#endif /* netrose/rose.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nfs/nfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nfs/nfs.h new file mode 100644 index 00000000..b3b6618c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nfs/nfs.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nl_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nl_types.h new file mode 100644 index 00000000..87ee5341 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nl_types.h @@ -0,0 +1,54 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _NL_TYPES_H +#define _NL_TYPES_H 1 + +#include + +/* The default message set used by the gencat program. */ +#define NL_SETD 1 + +/* Value for FLAG parameter of `catgets' to say we want XPG4 compliance. */ +#define NL_CAT_LOCALE 1 + + +__BEGIN_DECLS + +/* Message catalog descriptor type. */ +typedef void *nl_catd; + +/* Type used by `nl_langinfo'. */ +typedef int nl_item; + +/* Open message catalog for later use, returning descriptor. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern nl_catd catopen (const char *__cat_name, int __flag) __nonnull ((1)); + +/* Return translation with NUMBER in SET of CATALOG; if not found + return STRING. */ +extern char *catgets (nl_catd __catalog, int __set, int __number, + const char *__string) __THROW __nonnull ((1)); + +/* Close message CATALOG. */ +extern int catclose (nl_catd __catalog) __THROW __nonnull ((1)); + +__END_DECLS + +#endif /* nl_types.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nss.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nss.h new file mode 100644 index 00000000..ab632b5b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/nss.h @@ -0,0 +1,262 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define interface to NSS. This is meant for the interface functions + and for implementors of new services. */ + +#ifndef _NSS_H +#define _NSS_H 1 + +#include +#include +#include +#include + + +__BEGIN_DECLS + +/* Possible results of lookup using a nss_* function. */ +enum nss_status +{ + NSS_STATUS_TRYAGAIN = -2, + NSS_STATUS_UNAVAIL, + NSS_STATUS_NOTFOUND, + NSS_STATUS_SUCCESS, + NSS_STATUS_RETURN +}; + + +/* Data structure used for the 'gethostbyname4_r' function. */ +struct gaih_addrtuple + { + struct gaih_addrtuple *next; + char *name; + int family; + uint32_t addr[4]; + uint32_t scopeid; + }; + + +/* Overwrite service selection for database DBNAME using specification + in STRING. + This function should only be used by system programs which have to + work around non-existing services (e.e., while booting). + Attention: Using this function repeatedly will slowly eat up the + whole memory since previous selection data cannot be freed. */ +extern int __nss_configure_lookup (const char *__dbname, + const char *__string) __THROW; + +/* NSS-related types. */ +struct __netgrent; +struct aliasent; +struct ether_addr; +struct etherent; +struct group; +struct hostent; +struct netent; +struct passwd; +struct protoent; +struct rpcent; +struct servent; +struct sgrp; +struct spwd; +struct traced_file; + +/* Types of functions exported from NSS service modules. */ +typedef enum nss_status nss_endaliasent (void); +typedef enum nss_status nss_endetherent (void); +typedef enum nss_status nss_endgrent (void); +typedef enum nss_status nss_endhostent (void); +typedef enum nss_status nss_endnetent (void); +typedef enum nss_status nss_endnetgrent (struct __netgrent *); +typedef enum nss_status nss_endprotoent (void); +typedef enum nss_status nss_endpwent (void); +typedef enum nss_status nss_endrpcent (void); +typedef enum nss_status nss_endservent (void); +typedef enum nss_status nss_endsgent (void); +typedef enum nss_status nss_endspent (void); +typedef enum nss_status nss_getaliasbyname_r (const char *, struct aliasent *, + char *, size_t, int *); +typedef enum nss_status nss_getaliasent_r (struct aliasent *, + char *, size_t, int *); +typedef enum nss_status nss_getcanonname_r (const char *, char *, size_t, + char **, int *, int *); +typedef enum nss_status nss_getetherent_r (struct etherent *, + char *, size_t, int *); +typedef enum nss_status nss_getgrent_r (struct group *, char *, size_t, int *); +typedef enum nss_status nss_getgrgid_r (__gid_t, struct group *, + char *, size_t, int *); +typedef enum nss_status nss_getgrnam_r (const char *, struct group *, + char *, size_t, int *); +typedef enum nss_status nss_gethostbyaddr2_r (const void *, __socklen_t, int, + struct hostent *, char *, size_t, + int *, int *, int32_t *); +typedef enum nss_status nss_gethostbyaddr_r (const void *, __socklen_t, int, + struct hostent *, char *, size_t, + int *, int *); +typedef enum nss_status nss_gethostbyname2_r (const char *, int, + struct hostent *, char *, size_t, + int *, int *); +typedef enum nss_status nss_gethostbyname3_r (const char *, int, + struct hostent *, char *, size_t, + int *, int *, int32_t *, + char **); +typedef enum nss_status nss_gethostbyname4_r (const char *, + struct gaih_addrtuple **, + char *, size_t, + int *, int *, int32_t *); +typedef enum nss_status nss_gethostbyname_r (const char *, struct hostent *, + char *, size_t, int *, int *); +typedef enum nss_status nss_gethostent_r (struct hostent *, char *, size_t, + int *, int *); +typedef enum nss_status nss_gethostton_r (const char *, struct etherent *, + char *, size_t, int *); +typedef enum nss_status nss_getnetbyaddr_r (uint32_t, int, struct netent *, + char *, size_t, int *, int *); +typedef enum nss_status nss_getnetbyname_r (const char *, struct netent *, + char *, size_t, int *, int *); +typedef enum nss_status nss_getnetent_r (struct netent *, + char *, size_t, int *, int *); +typedef enum nss_status nss_getnetgrent_r (struct __netgrent *, + char *, size_t, int *); +typedef enum nss_status nss_getntohost_r (const struct ether_addr *, + struct etherent *, char *, size_t, + int *); +typedef enum nss_status nss_getprotobyname_r (const char *, struct protoent *, + char *, size_t, int *); +typedef enum nss_status nss_getprotobynumber_r (int, struct protoent *, + char *, size_t, int *); +typedef enum nss_status nss_getprotoent_r (struct protoent *, + char *, size_t, int *); +typedef enum nss_status nss_getpublickey (const char *, char *, int *); +typedef enum nss_status nss_getpwent_r (struct passwd *, + char *, size_t, int *); +typedef enum nss_status nss_getpwnam_r (const char *, struct passwd *, + char *, size_t, int *); +typedef enum nss_status nss_getpwuid_r (__uid_t, struct passwd *, + char *, size_t, int *); +typedef enum nss_status nss_getrpcbyname_r (const char *, struct rpcent *, + char *, size_t, int *); +typedef enum nss_status nss_getrpcbynumber_r (int, struct rpcent *, + char *, size_t, int *); +typedef enum nss_status nss_getrpcent_r (struct rpcent *, + char *, size_t, int *); +typedef enum nss_status nss_getsecretkey (const char *, char *, char *, int *); +typedef enum nss_status nss_getservbyname_r (const char *, const char *, + struct servent *, char *, size_t, + int *); +typedef enum nss_status nss_getservbyport_r (int, const char *, + struct servent *, char *, size_t, + int *); +typedef enum nss_status nss_getservent_r (struct servent *, char *, size_t, + int *); +typedef enum nss_status nss_getsgent_r (struct sgrp *, char *, size_t, int *); +typedef enum nss_status nss_getsgnam_r (const char *, struct sgrp *, + char *, size_t, int *); +typedef enum nss_status nss_getspent_r (struct spwd *, char *, size_t, int *); +typedef enum nss_status nss_getspnam_r (const char *, struct spwd *, + char *, size_t, int *); +typedef void nss_init (void (*) (size_t, struct traced_file *)); +typedef enum nss_status nss_initgroups_dyn (const char *, __gid_t, long int *, + long int *, __gid_t **, long int, + int *); +typedef enum nss_status nss_netname2user (char [], __uid_t *, __gid_t *, + int *, __gid_t *, int *); +typedef enum nss_status nss_setaliasent (void); +typedef enum nss_status nss_setetherent (int); +typedef enum nss_status nss_setgrent (int); +typedef enum nss_status nss_sethostent (int); +typedef enum nss_status nss_setnetent (int); +typedef enum nss_status nss_setnetgrent (const char *, struct __netgrent *); +typedef enum nss_status nss_setprotoent (int); +typedef enum nss_status nss_setpwent (int); +typedef enum nss_status nss_setrpcent (int); +typedef enum nss_status nss_setservent (int); +typedef enum nss_status nss_setsgent (int); +typedef enum nss_status nss_setspent (int); + +/* Declare all NSS functions for MODULE. */ +#define NSS_DECLARE_MODULE_FUNCTIONS(module) \ + extern nss_endaliasent _nss_##module##_endaliasent; \ + extern nss_endetherent _nss_##module##_endetherent; \ + extern nss_endgrent _nss_##module##_endgrent; \ + extern nss_endhostent _nss_##module##_endhostent; \ + extern nss_endnetent _nss_##module##_endnetent; \ + extern nss_endnetgrent _nss_##module##_endnetgrent; \ + extern nss_endprotoent _nss_##module##_endprotoent; \ + extern nss_endpwent _nss_##module##_endpwent; \ + extern nss_endrpcent _nss_##module##_endrpcent; \ + extern nss_endservent _nss_##module##_endservent; \ + extern nss_endsgent _nss_##module##_endsgent; \ + extern nss_endspent _nss_##module##_endspent; \ + extern nss_getaliasbyname_r _nss_##module##_getaliasbyname_r; \ + extern nss_getaliasent_r _nss_##module##_getaliasent_r; \ + extern nss_getcanonname_r _nss_##module##_getcanonname_r; \ + extern nss_getetherent_r _nss_##module##_getetherent_r; \ + extern nss_getgrent_r _nss_##module##_getgrent_r; \ + extern nss_getgrgid_r _nss_##module##_getgrgid_r; \ + extern nss_getgrnam_r _nss_##module##_getgrnam_r; \ + extern nss_gethostbyaddr2_r _nss_##module##_gethostbyaddr2_r; \ + extern nss_gethostbyaddr_r _nss_##module##_gethostbyaddr_r; \ + extern nss_gethostbyname2_r _nss_##module##_gethostbyname2_r; \ + extern nss_gethostbyname3_r _nss_##module##_gethostbyname3_r; \ + extern nss_gethostbyname4_r _nss_##module##_gethostbyname4_r; \ + extern nss_gethostbyname_r _nss_##module##_gethostbyname_r; \ + extern nss_gethostent_r _nss_##module##_gethostent_r; \ + extern nss_gethostton_r _nss_##module##_gethostton_r; \ + extern nss_getnetbyaddr_r _nss_##module##_getnetbyaddr_r; \ + extern nss_getnetbyname_r _nss_##module##_getnetbyname_r; \ + extern nss_getnetent_r _nss_##module##_getnetent_r; \ + extern nss_getnetgrent_r _nss_##module##_getnetgrent_r; \ + extern nss_getntohost_r _nss_##module##_getntohost_r; \ + extern nss_getprotobyname_r _nss_##module##_getprotobyname_r; \ + extern nss_getprotobynumber_r _nss_##module##_getprotobynumber_r; \ + extern nss_getprotoent_r _nss_##module##_getprotoent_r; \ + extern nss_getpublickey _nss_##module##_getpublickey; \ + extern nss_getpwent_r _nss_##module##_getpwent_r; \ + extern nss_getpwnam_r _nss_##module##_getpwnam_r; \ + extern nss_getpwuid_r _nss_##module##_getpwuid_r; \ + extern nss_getrpcbyname_r _nss_##module##_getrpcbyname_r; \ + extern nss_getrpcbynumber_r _nss_##module##_getrpcbynumber_r; \ + extern nss_getrpcent_r _nss_##module##_getrpcent_r; \ + extern nss_getsecretkey _nss_##module##_getsecretkey; \ + extern nss_getservbyname_r _nss_##module##_getservbyname_r; \ + extern nss_getservbyport_r _nss_##module##_getservbyport_r; \ + extern nss_getservent_r _nss_##module##_getservent_r; \ + extern nss_getsgent_r _nss_##module##_getsgent_r; \ + extern nss_getsgnam_r _nss_##module##_getsgnam_r; \ + extern nss_getspent_r _nss_##module##_getspent_r; \ + extern nss_getspnam_r _nss_##module##_getspnam_r; \ + extern nss_init _nss_##module##_init; \ + extern nss_initgroups_dyn _nss_##module##_initgroups_dyn; \ + extern nss_netname2user _nss_##module##_netname2user; \ + extern nss_setaliasent _nss_##module##_setaliasent; \ + extern nss_setetherent _nss_##module##_setetherent; \ + extern nss_setgrent _nss_##module##_setgrent; \ + extern nss_sethostent _nss_##module##_sethostent; \ + extern nss_setnetent _nss_##module##_setnetent; \ + extern nss_setnetgrent _nss_##module##_setnetgrent; \ + extern nss_setprotoent _nss_##module##_setprotoent; \ + extern nss_setpwent _nss_##module##_setpwent; \ + extern nss_setrpcent _nss_##module##_setrpcent; \ + extern nss_setservent _nss_##module##_setservent; \ + extern nss_setsgent _nss_##module##_setsgent; \ + extern nss_setspent _nss_##module##_setspent; \ + +__END_DECLS + +#endif /* nss.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/obstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/obstack.h new file mode 100644 index 00000000..a80542eb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/obstack.h @@ -0,0 +1,515 @@ +/* obstack.h - object stack macros + Copyright (C) 1988-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Summary: + + All the apparent functions defined here are macros. The idea + is that you would use these pre-tested macros to solve a + very specific set of problems, and they would run fast. + Caution: no side-effects in arguments please!! They may be + evaluated MANY times!! + + These macros operate a stack of objects. Each object starts life + small, and may grow to maturity. (Consider building a word syllable + by syllable.) An object can move while it is growing. Once it has + been "finished" it never changes address again. So the "top of the + stack" is typically an immature growing object, while the rest of the + stack is of mature, fixed size and fixed address objects. + + These routines grab large chunks of memory, using a function you + supply, called 'obstack_chunk_alloc'. On occasion, they free chunks, + by calling 'obstack_chunk_free'. You must define them and declare + them before using any obstack macros. + + Each independent stack is represented by a 'struct obstack'. + Each of the obstack macros expects a pointer to such a structure + as the first argument. + + One motivation for this package is the problem of growing char strings + in symbol tables. Unless you are "fascist pig with a read-only mind" + --Gosper's immortal quote from HAKMEM item 154, out of context--you + would not like to put any arbitrary upper limit on the length of your + symbols. + + In practice this often means you will build many short symbols and a + few long symbols. At the time you are reading a symbol you don't know + how long it is. One traditional method is to read a symbol into a + buffer, realloc()ating the buffer every time you try to read a symbol + that is longer than the buffer. This is beaut, but you still will + want to copy the symbol from the buffer to a more permanent + symbol-table entry say about half the time. + + With obstacks, you can work differently. Use one obstack for all symbol + names. As you read a symbol, grow the name in the obstack gradually. + When the name is complete, finalize it. Then, if the symbol exists already, + free the newly read name. + + The way we do this is to take a large chunk, allocating memory from + low addresses. When you want to build a symbol in the chunk you just + add chars above the current "high water mark" in the chunk. When you + have finished adding chars, because you got to the end of the symbol, + you know how long the chars are, and you can create a new object. + Mostly the chars will not burst over the highest address of the chunk, + because you would typically expect a chunk to be (say) 100 times as + long as an average object. + + In case that isn't clear, when we have enough chars to make up + the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed) + so we just point to it where it lies. No moving of chars is + needed and this is the second win: potentially long strings need + never be explicitly shuffled. Once an object is formed, it does not + change its address during its lifetime. + + When the chars burst over a chunk boundary, we allocate a larger + chunk, and then copy the partly formed object from the end of the old + chunk to the beginning of the new larger chunk. We then carry on + accreting characters to the end of the object as we normally would. + + A special macro is provided to add a single char at a time to a + growing object. This allows the use of register variables, which + break the ordinary 'growth' macro. + + Summary: + We allocate large chunks. + We carve out one object at a time from the current chunk. + Once carved, an object never moves. + We are free to append data of any size to the currently + growing object. + Exactly one object is growing in an obstack at any one time. + You can run one obstack per control block. + You may have as many control blocks as you dare. + Because of the way we do it, you can "unwind" an obstack + back to a previous state. (You may remove objects much + as you would with a stack.) + */ + + +/* Don't do the contents of this file more than once. */ + +#ifndef _OBSTACK_H +#define _OBSTACK_H 1 + +/* We need the type of a pointer subtraction. If __PTRDIFF_TYPE__ is + defined, as with GNU C, use that; that way we don't pollute the + namespace with 's symbols. Otherwise, include + and use ptrdiff_t. */ + +#ifdef __PTRDIFF_TYPE__ +# define PTR_INT_TYPE __PTRDIFF_TYPE__ +#else +# include +# define PTR_INT_TYPE ptrdiff_t +#endif + +/* If B is the base of an object addressed by P, return the result of + aligning P to the next multiple of A + 1. B and P must be of type + char *. A + 1 must be a power of 2. */ + +#define __BPTR_ALIGN(B, P, A) ((B) + (((P) - (B) + (A)) & ~(A))) + +/* Similar to _BPTR_ALIGN (B, P, A), except optimize the common case + where pointers can be converted to integers, aligned as integers, + and converted back again. If PTR_INT_TYPE is narrower than a + pointer (e.g., the AS/400), play it safe and compute the alignment + relative to B. Otherwise, use the faster strategy of computing the + alignment relative to 0. */ + +#define __PTR_ALIGN(B, P, A) \ + __BPTR_ALIGN (sizeof (PTR_INT_TYPE) < sizeof (void *) ? (B) : (char *) 0, \ + P, A) + +#include + +#ifndef __attribute_pure__ +# define __attribute_pure__ _GL_ATTRIBUTE_PURE +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +struct _obstack_chunk /* Lives at front of each chunk. */ +{ + char *limit; /* 1 past end of this chunk */ + struct _obstack_chunk *prev; /* address of prior chunk or NULL */ + char contents[4]; /* objects begin here */ +}; + +struct obstack /* control current object in current chunk */ +{ + long chunk_size; /* preferred size to allocate chunks in */ + struct _obstack_chunk *chunk; /* address of current struct obstack_chunk */ + char *object_base; /* address of object we are building */ + char *next_free; /* where to add next char to current object */ + char *chunk_limit; /* address of char after current chunk */ + union + { + PTR_INT_TYPE tempint; + void *tempptr; + } temp; /* Temporary for some macros. */ + int alignment_mask; /* Mask of alignment for each object. */ + /* These prototypes vary based on 'use_extra_arg', and we use + casts to the prototypeless function type in all assignments, + but having prototypes here quiets -Wstrict-prototypes. */ + struct _obstack_chunk *(*chunkfun) (void *, long); + void (*freefun) (void *, struct _obstack_chunk *); + void *extra_arg; /* first arg for chunk alloc/dealloc funcs */ + unsigned use_extra_arg : 1; /* chunk alloc/dealloc funcs take extra arg */ + unsigned maybe_empty_object : 1; /* There is a possibility that the current + chunk contains a zero-length object. This + prevents freeing the chunk if we allocate + a bigger chunk to replace it. */ + unsigned alloc_failed : 1; /* No longer used, as we now call the failed + handler on error, but retained for binary + compatibility. */ +}; + +/* Declare the external functions we use; they are in obstack.c. */ + +extern void _obstack_newchunk (struct obstack *, int); +extern int _obstack_begin (struct obstack *, int, int, + void *(*)(long), void (*)(void *)); +extern int _obstack_begin_1 (struct obstack *, int, int, + void *(*)(void *, long), + void (*)(void *, void *), void *); +extern int _obstack_memory_used (struct obstack *) __attribute_pure__; + +/* The default name of the function for freeing a chunk is 'obstack_free', + but gnulib users can override this by defining '__obstack_free'. */ +#ifndef __obstack_free +# define __obstack_free obstack_free +#endif +extern void __obstack_free (struct obstack *, void *); + + +/* Error handler called when 'obstack_chunk_alloc' failed to allocate + more memory. This can be set to a user defined function which + should either abort gracefully or use longjump - but shouldn't + return. The default action is to print a message and abort. */ +extern void (*obstack_alloc_failed_handler) (void); + +/* Exit value used when 'print_and_abort' is used. */ +extern int obstack_exit_failure; + +/* Pointer to beginning of object being allocated or to be allocated next. + Note that this might not be the final address of the object + because a new chunk might be needed to hold the final size. */ + +#define obstack_base(h) ((void *) (h)->object_base) + +/* Size for allocating ordinary chunks. */ + +#define obstack_chunk_size(h) ((h)->chunk_size) + +/* Pointer to next byte not yet allocated in current chunk. */ + +#define obstack_next_free(h) ((h)->next_free) + +/* Mask specifying low bits that should be clear in address of an object. */ + +#define obstack_alignment_mask(h) ((h)->alignment_mask) + +/* To prevent prototype warnings provide complete argument list. */ +#define obstack_init(h) \ + _obstack_begin ((h), 0, 0, \ + (void *(*)(long))obstack_chunk_alloc, \ + (void (*)(void *))obstack_chunk_free) + +#define obstack_begin(h, size) \ + _obstack_begin ((h), (size), 0, \ + (void *(*)(long))obstack_chunk_alloc, \ + (void (*)(void *))obstack_chunk_free) + +#define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ + _obstack_begin ((h), (size), (alignment), \ + (void *(*)(long))(chunkfun), \ + (void (*)(void *))(freefun)) + +#define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ + _obstack_begin_1 ((h), (size), (alignment), \ + (void *(*)(void *, long))(chunkfun), \ + (void (*)(void *, void *))(freefun), (arg)) + +#define obstack_chunkfun(h, newchunkfun) \ + ((h)->chunkfun = (struct _obstack_chunk *(*)(void *, long))(newchunkfun)) + +#define obstack_freefun(h, newfreefun) \ + ((h)->freefun = (void (*)(void *, struct _obstack_chunk *))(newfreefun)) + +#define obstack_1grow_fast(h, achar) (*((h)->next_free)++ = (achar)) + +#define obstack_blank_fast(h, n) ((h)->next_free += (n)) + +#define obstack_memory_used(h) _obstack_memory_used (h) + +#if defined __GNUC__ +# if ! (2 < __GNUC__ + (8 <= __GNUC_MINOR__)) +# define __extension__ +# endif + +/* For GNU C, if not -traditional, + we can define these macros to compute all args only once + without using a global variable. + Also, we can avoid using the 'temp' slot, to make faster code. */ + +# define obstack_object_size(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o = (OBSTACK); \ + (unsigned) (__o->next_free - __o->object_base); }) + +# define obstack_room(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o = (OBSTACK); \ + (unsigned) (__o->chunk_limit - __o->next_free); }) + +# define obstack_make_room(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + int __len = (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + (void) 0; }) + +# define obstack_empty_p(OBSTACK) \ + __extension__ \ + ({ struct obstack const *__o = (OBSTACK); \ + (__o->chunk->prev == 0 \ + && __o->next_free == __PTR_ALIGN ((char *) __o->chunk, \ + __o->chunk->contents, \ + __o->alignment_mask)); }) + +# define obstack_grow(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + int __len = (length); \ + if (__o->next_free + __len > __o->chunk_limit) \ + _obstack_newchunk (__o, __len); \ + memcpy (__o->next_free, where, __len); \ + __o->next_free += __len; \ + (void) 0; }) + +# define obstack_grow0(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + int __len = (length); \ + if (__o->next_free + __len + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, __len + 1); \ + memcpy (__o->next_free, where, __len); \ + __o->next_free += __len; \ + *(__o->next_free)++ = 0; \ + (void) 0; }) + +# define obstack_1grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (__o->next_free + 1 > __o->chunk_limit) \ + _obstack_newchunk (__o, 1); \ + obstack_1grow_fast (__o, datum); \ + (void) 0; }) + +/* These assume that the obstack alignment is good enough for pointers + or ints, and that the data added so far to the current object + shares that much alignment. */ + +# define obstack_ptr_grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (__o->next_free + sizeof (void *) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (void *)); \ + obstack_ptr_grow_fast (__o, datum); }) \ + +# define obstack_int_grow(OBSTACK, datum) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + if (__o->next_free + sizeof (int) > __o->chunk_limit) \ + _obstack_newchunk (__o, sizeof (int)); \ + obstack_int_grow_fast (__o, datum); }) + +# define obstack_ptr_grow_fast(OBSTACK, aptr) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__p1 = __o1->next_free; \ + *(const void **) __p1 = (aptr); \ + __o1->next_free += sizeof (const void *); \ + (void) 0; }) + +# define obstack_int_grow_fast(OBSTACK, aint) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__p1 = __o1->next_free; \ + *(int *) __p1 = (aint); \ + __o1->next_free += sizeof (int); \ + (void) 0; }) + +# define obstack_blank(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + int __len = (length); \ + if (__o->chunk_limit - __o->next_free < __len) \ + _obstack_newchunk (__o, __len); \ + obstack_blank_fast (__o, __len); \ + (void) 0; }) + +# define obstack_alloc(OBSTACK, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_blank (__h, (length)); \ + obstack_finish (__h); }) + +# define obstack_copy(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_grow (__h, (where), (length)); \ + obstack_finish (__h); }) + +# define obstack_copy0(OBSTACK, where, length) \ + __extension__ \ + ({ struct obstack *__h = (OBSTACK); \ + obstack_grow0 (__h, (where), (length)); \ + obstack_finish (__h); }) + +/* The local variable is named __o1 to avoid a name conflict + when obstack_blank is called. */ +# define obstack_finish(OBSTACK) \ + __extension__ \ + ({ struct obstack *__o1 = (OBSTACK); \ + void *__value = (void *) __o1->object_base; \ + if (__o1->next_free == __value) \ + __o1->maybe_empty_object = 1; \ + __o1->next_free \ + = __PTR_ALIGN (__o1->object_base, __o1->next_free, \ + __o1->alignment_mask); \ + if (__o1->next_free - (char *) __o1->chunk \ + > __o1->chunk_limit - (char *) __o1->chunk) \ + __o1->next_free = __o1->chunk_limit; \ + __o1->object_base = __o1->next_free; \ + __value; }) + +# define obstack_free(OBSTACK, OBJ) \ + __extension__ \ + ({ struct obstack *__o = (OBSTACK); \ + void *__obj = (OBJ); \ + if (__obj > (void *) __o->chunk && __obj < (void *) __o->chunk_limit) \ + __o->next_free = __o->object_base = (char *) __obj; \ + else (__obstack_free) (__o, __obj); }) + +#else /* not __GNUC__ */ + +# define obstack_object_size(h) \ + (unsigned) ((h)->next_free - (h)->object_base) + +# define obstack_room(h) \ + (unsigned) ((h)->chunk_limit - (h)->next_free) + +# define obstack_empty_p(h) \ + ((h)->chunk->prev == 0 \ + && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk, \ + (h)->chunk->contents, \ + (h)->alignment_mask)) + +/* Note that the call to _obstack_newchunk is enclosed in (..., 0) + so that we can avoid having void expressions + in the arms of the conditional expression. + Casting the third operand to void was tried before, + but some compilers won't accept it. */ + +# define obstack_make_room(h, length) \ + ((h)->temp.tempint = (length), \ + (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0)) + +# define obstack_grow(h, where, length) \ + ((h)->temp.tempint = (length), \ + (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ + memcpy ((h)->next_free, where, (h)->temp.tempint), \ + (h)->next_free += (h)->temp.tempint) + +# define obstack_grow0(h, where, length) \ + ((h)->temp.tempint = (length), \ + (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0), \ + memcpy ((h)->next_free, where, (h)->temp.tempint), \ + (h)->next_free += (h)->temp.tempint, \ + *((h)->next_free)++ = 0) + +# define obstack_1grow(h, datum) \ + ((((h)->next_free + 1 > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), 1), 0) : 0), \ + obstack_1grow_fast (h, datum)) + +# define obstack_ptr_grow(h, datum) \ + ((((h)->next_free + sizeof (char *) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0), \ + obstack_ptr_grow_fast (h, datum)) + +# define obstack_int_grow(h, datum) \ + ((((h)->next_free + sizeof (int) > (h)->chunk_limit) \ + ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0), \ + obstack_int_grow_fast (h, datum)) + +# define obstack_ptr_grow_fast(h, aptr) \ + (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr)) + +# define obstack_int_grow_fast(h, aint) \ + (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint)) + +# define obstack_blank(h, length) \ + ((h)->temp.tempint = (length), \ + (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint) \ + ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0), \ + obstack_blank_fast (h, (h)->temp.tempint)) + +# define obstack_alloc(h, length) \ + (obstack_blank ((h), (length)), obstack_finish ((h))) + +# define obstack_copy(h, where, length) \ + (obstack_grow ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_copy0(h, where, length) \ + (obstack_grow0 ((h), (where), (length)), obstack_finish ((h))) + +# define obstack_finish(h) \ + (((h)->next_free == (h)->object_base \ + ? (((h)->maybe_empty_object = 1), 0) \ + : 0), \ + (h)->temp.tempptr = (h)->object_base, \ + (h)->next_free \ + = __PTR_ALIGN ((h)->object_base, (h)->next_free, \ + (h)->alignment_mask), \ + (((h)->next_free - (char *) (h)->chunk \ + > (h)->chunk_limit - (char *) (h)->chunk) \ + ? ((h)->next_free = (h)->chunk_limit) : 0), \ + (h)->object_base = (h)->next_free, \ + (h)->temp.tempptr) + +# define obstack_free(h, obj) \ + ((h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk, \ + ((((h)->temp.tempint > 0 \ + && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk)) \ + ? (void) ((h)->next_free = (h)->object_base \ + = (h)->temp.tempint + (char *) (h)->chunk) \ + : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk))) + +#endif /* not __GNUC__ */ + +#ifdef __cplusplus +} /* C++ */ +#endif + +#endif /* obstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/paths.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/paths.h new file mode 100644 index 00000000..3513850a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/paths.h @@ -0,0 +1,75 @@ +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)paths.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _PATHS_H_ +#define _PATHS_H_ + +/* Default search path. */ +#define _PATH_DEFPATH "/usr/bin:/bin" +/* All standard utilities path. */ +#define _PATH_STDPATH \ + "/usr/bin:/bin:/usr/sbin:/sbin" + +#define _PATH_BSHELL "/bin/sh" +#define _PATH_CONSOLE "/dev/console" +#define _PATH_CSHELL "/bin/csh" +#define _PATH_DEVDB "/var/run/dev.db" +#define _PATH_DEVNULL "/dev/null" +#define _PATH_DRUM "/dev/drum" +#define _PATH_GSHADOW "/etc/gshadow" +#define _PATH_KLOG "/proc/kmsg" +#define _PATH_KMEM "/dev/kmem" +#define _PATH_LASTLOG "/var/log/lastlog" +#define _PATH_MAILDIR "/var/mail" +#define _PATH_MAN "/usr/share/man" +#define _PATH_MEM "/dev/mem" +#define _PATH_MNTTAB "/etc/fstab" +#define _PATH_MOUNTED "/etc/mtab" +#define _PATH_NOLOGIN "/etc/nologin" +#define _PATH_PRESERVE "/var/lib" +#define _PATH_RWHODIR "/var/spool/rwho" +#define _PATH_SENDMAIL "/usr/sbin/sendmail" +#define _PATH_SHADOW "/etc/shadow" +#define _PATH_SHELLS "/etc/shells" +#define _PATH_TTY "/dev/tty" +#define _PATH_UNIX "/boot/vmlinux" +#define _PATH_UTMP "/var/run/utmp" +#define _PATH_VI "/usr/bin/vi" +#define _PATH_WTMP "/var/log/wtmp" + +/* Provide trailing slash, since mostly used for building pathnames. */ +#define _PATH_DEV "/dev/" +#define _PATH_TMP "/tmp/" +#define _PATH_VARDB "/var/db/" +#define _PATH_VARRUN "/var/run/" +#define _PATH_VARTMP "/var/tmp/" + +#endif /* !_PATHS_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/poll.h new file mode 100644 index 00000000..5a862ad6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/poll.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/printf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/printf.h new file mode 100644 index 00000000..29d0baaa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/printf.h @@ -0,0 +1,192 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PRINTF_H + +#define _PRINTF_H 1 +#include + +__BEGIN_DECLS + +#include + +#define __need_size_t +#define __need_wchar_t +#include + +#include + + +struct printf_info +{ + int prec; /* Precision. */ + int width; /* Width. */ + wchar_t spec; /* Format letter. */ + unsigned int is_long_double:1;/* L flag. */ + unsigned int is_short:1; /* h flag. */ + unsigned int is_long:1; /* l flag. */ + unsigned int alt:1; /* # flag. */ + unsigned int space:1; /* Space flag. */ + unsigned int left:1; /* - flag. */ + unsigned int showsign:1; /* + flag. */ + unsigned int group:1; /* ' flag. */ + unsigned int extra:1; /* For special use. */ + unsigned int is_char:1; /* hh flag. */ + unsigned int wide:1; /* Nonzero for wide character streams. */ + unsigned int i18n:1; /* I flag. */ + unsigned int is_binary128:1; /* Floating-point argument is ABI-compatible + with IEC 60559 binary128. */ + unsigned int __pad:3; /* Unused so far. */ + unsigned short int user; /* Bits for user-installed modifiers. */ + wchar_t pad; /* Padding character. */ +}; + + +/* Type of a printf specifier-handler function. + STREAM is the FILE on which to write output. + INFO gives information about the format specification. + ARGS is a vector of pointers to the argument data; + the number of pointers will be the number returned + by the associated arginfo function for the same INFO. + + The function should return the number of characters written, + or -1 for errors. */ + +typedef int printf_function (FILE *__stream, + const struct printf_info *__info, + const void *const *__args); + +/* Type of a printf specifier-arginfo function. + INFO gives information about the format specification. + N, ARGTYPES, *SIZE has to contain the size of the parameter for + user-defined types, and return value are as for parse_printf_format + except that -1 should be returned if the handler cannot handle + this case. This allows to partially overwrite the functionality + of existing format specifiers. */ + +typedef int printf_arginfo_size_function (const struct printf_info *__info, + size_t __n, int *__argtypes, + int *__size); + +/* Old version of 'printf_arginfo_function' without a SIZE parameter. */ + +typedef int printf_arginfo_function (const struct printf_info *__info, + size_t __n, int *__argtypes); + +/* Type of a function to get a value of a user-defined from the + variable argument list. */ +typedef void printf_va_arg_function (void *__mem, va_list *__ap); + + +/* Register FUNC to be called to format SPEC specifiers; ARGINFO must be + specified to determine how many arguments a SPEC conversion requires and + what their types are. */ + +extern int register_printf_specifier (int __spec, printf_function __func, + printf_arginfo_size_function __arginfo) + __THROW; + + +/* Obsolete interface similar to register_printf_specifier. It can only + handle basic data types because the ARGINFO callback does not return + information on the size of the user-defined type. */ + +extern int register_printf_function (int __spec, printf_function __func, + printf_arginfo_function __arginfo) + __THROW __attribute_deprecated__; + + +/* Register a new modifier character sequence. If the call succeeds + it returns a positive value representing the bit set in the USER + field in 'struct printf_info'. */ + +extern int register_printf_modifier (const wchar_t *__str) __THROW __wur; + + +/* Register variable argument handler for user type. The return value + is to be used in ARGINFO functions to signal the use of the + type. */ +extern int register_printf_type (printf_va_arg_function __fct) __THROW __wur; + + +/* Parse FMT, and fill in N elements of ARGTYPES with the + types needed for the conversions FMT specifies. Returns + the number of arguments required by FMT. + + The ARGINFO function registered with a user-defined format is passed a + `struct printf_info' describing the format spec being parsed. A width + or precision of INT_MIN means a `*' was used to indicate that the + width/precision will come from an arg. The function should fill in the + array it is passed with the types of the arguments it wants, and return + the number of arguments it wants. */ + +extern size_t parse_printf_format (const char *__restrict __fmt, size_t __n, + int *__restrict __argtypes) __THROW; + + +/* Codes returned by `parse_printf_format' for basic types. + + These values cover all the standard format specifications. + Users can reserve new values after PA_LAST for their own types + using 'register_printf_type'. */ + +enum +{ /* C type: */ + PA_INT, /* int */ + PA_CHAR, /* int, cast to char */ + PA_WCHAR, /* wide char */ + PA_STRING, /* const char *, a '\0'-terminated string */ + PA_WSTRING, /* const wchar_t *, wide character string */ + PA_POINTER, /* void * */ + PA_FLOAT, /* float */ + PA_DOUBLE, /* double */ + PA_LAST +}; + +/* Flag bits that can be set in a type returned by `parse_printf_format'. */ +#define PA_FLAG_MASK 0xff00 +#define PA_FLAG_LONG_LONG (1 << 8) +#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG +#define PA_FLAG_LONG (1 << 9) +#define PA_FLAG_SHORT (1 << 10) +#define PA_FLAG_PTR (1 << 11) + + + +/* Function which can be registered as `printf'-handlers. */ + +/* Print floating point value using using abbreviations for the orders + of magnitude used for numbers ('k' for kilo, 'm' for mega etc). If + the format specifier is a uppercase character powers of 1000 are + used. Otherwise powers of 1024. */ +extern int printf_size (FILE *__restrict __fp, + const struct printf_info *__info, + const void *const *__restrict __args) __THROW; + +/* This is the appropriate argument information function for `printf_size'. */ +extern int printf_size_info (const struct printf_info *__restrict + __info, size_t __n, int *__restrict __argtypes) + __THROW; + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +__END_DECLS + +#endif /* printf.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/proc_service.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/proc_service.h new file mode 100644 index 00000000..96fc4872 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/proc_service.h @@ -0,0 +1,95 @@ +/* Callback interface for libthread_db, functions users must define. + Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PROC_SERVICE_H +#define _PROC_SERVICE_H 1 + +/* The definitions in this file must correspond to those in the debugger. */ +#include + +__BEGIN_DECLS + +/* Functions in this interface return one of these status codes. */ +typedef enum +{ + PS_OK, /* Generic "call succeeded". */ + PS_ERR, /* Generic error. */ + PS_BADPID, /* Bad process handle. */ + PS_BADLID, /* Bad LWP identifier. */ + PS_BADADDR, /* Bad address. */ + PS_NOSYM, /* Could not find given symbol. */ + PS_NOFREGS /* FPU register set not available for given LWP. */ +} ps_err_e; + + +/* This type is opaque in this interface. + It's defined by the user of libthread_db. */ +struct ps_prochandle; + + +/* Read or write process memory at the given address. */ +extern ps_err_e ps_pdread (struct ps_prochandle *, + psaddr_t, void *, size_t); +extern ps_err_e ps_pdwrite (struct ps_prochandle *, + psaddr_t, const void *, size_t); +extern ps_err_e ps_ptread (struct ps_prochandle *, + psaddr_t, void *, size_t); +extern ps_err_e ps_ptwrite (struct ps_prochandle *, + psaddr_t, const void *, size_t); + + +/* Get and set the given LWP's general or FPU register set. */ +extern ps_err_e ps_lgetregs (struct ps_prochandle *, + lwpid_t, prgregset_t); +extern ps_err_e ps_lsetregs (struct ps_prochandle *, + lwpid_t, const prgregset_t); +extern ps_err_e ps_lgetfpregs (struct ps_prochandle *, + lwpid_t, prfpregset_t *); +extern ps_err_e ps_lsetfpregs (struct ps_prochandle *, + lwpid_t, const prfpregset_t *); + +/* Return the PID of the process. */ +extern pid_t ps_getpid (struct ps_prochandle *); + +/* Fetch the special per-thread address associated with the given LWP. + This call is only used on a few platforms (most use a normal register). + The meaning of the `int' parameter is machine-dependent. */ +extern ps_err_e ps_get_thread_area (struct ps_prochandle *, + lwpid_t, int, psaddr_t *); + + +/* Look up the named symbol in the named DSO in the symbol tables + associated with the process being debugged, filling in *SYM_ADDR + with the corresponding run-time address. */ +extern ps_err_e ps_pglobal_lookup (struct ps_prochandle *, + const char *object_name, + const char *sym_name, + psaddr_t *sym_addr); + + +/* Stop or continue the entire process. */ +extern ps_err_e ps_pstop (struct ps_prochandle *); +extern ps_err_e ps_pcontinue (struct ps_prochandle *); + +/* Stop or continue the given LWP alone. */ +extern ps_err_e ps_lstop (struct ps_prochandle *, lwpid_t); +extern ps_err_e ps_lcontinue (struct ps_prochandle *, lwpid_t); + +__END_DECLS + +#endif /* proc_service.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/routed.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/routed.h new file mode 100644 index 00000000..e68ee6ea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/routed.h @@ -0,0 +1,101 @@ +/*- + * Copyright (c) 1983, 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)routed.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _PROTOCOLS_ROUTED_H +#define _PROTOCOLS_ROUTED_H 1 + +#include +/* + * Routing Information Protocol + * + * Derived from Xerox NS Routing Information Protocol + * by changing 32-bit net numbers to sockaddr's and + * padding stuff to 32-bit boundaries. + */ +#define RIPVERSION 1 + +struct netinfo { + struct sockaddr rip_dst; /* destination net/host */ + int rip_metric; /* cost of route */ +}; + +struct rip { + unsigned char rip_cmd; /* request/response */ + unsigned char rip_vers; /* protocol version # */ + unsigned char rip_res1[2]; /* pad to 32-bit boundary */ + union { + struct netinfo ru_nets[1]; /* variable length... */ + char ru_tracefile[1]; /* ditto ... */ + } ripun; +#define rip_nets ripun.ru_nets +#define rip_tracefile ripun.ru_tracefile +}; + +/* + * Packet types. + */ +#define RIPCMD_REQUEST 1 /* want info */ +#define RIPCMD_RESPONSE 2 /* responding to request */ +#define RIPCMD_TRACEON 3 /* turn tracing on */ +#define RIPCMD_TRACEOFF 4 /* turn it off */ + +#define RIPCMD_MAX 5 +#ifdef RIPCMDS +char *ripcmds[RIPCMD_MAX] = + { "#0", "REQUEST", "RESPONSE", "TRACEON", "TRACEOFF" }; +#endif + +#define HOPCNT_INFINITY 16 /* per Xerox NS */ +#define MAXPACKETSIZE 512 /* max broadcast size */ + +/* + * Timer values used in managing the routing table. + * Complete tables are broadcast every SUPPLY_INTERVAL seconds. + * If changes occur between updates, dynamic updates containing only changes + * may be sent. When these are sent, a timer is set for a random value + * between MIN_WAITTIME and MAX_WAITTIME, and no additional dynamic updates + * are sent until the timer expires. + * + * Every update of a routing entry forces an entry's timer to be reset. + * After EXPIRE_TIME without updates, the entry is marked invalid, + * but held onto until GARBAGE_TIME so that others may + * see it "be deleted". + */ +#define TIMER_RATE 30 /* alarm clocks every 30 seconds */ + +#define SUPPLY_INTERVAL 30 /* time to supply tables */ +#define MIN_WAITTIME 2 /* min. interval to broadcast changes */ +#define MAX_WAITTIME 5 /* max. time to delay changes */ + +#define EXPIRE_TIME 180 /* time to mark entry invalid */ +#define GARBAGE_TIME 240 /* time to garbage collect */ + +#endif /* protocols/routed.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/rwhod.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/rwhod.h new file mode 100644 index 00000000..d9afaada --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/rwhod.h @@ -0,0 +1,67 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)rwhod.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _PROTOCOLS_RWHOD_H +#define _PROTOCOLS_RWHOD_H 1 + +#include + +/* + * rwho protocol packet format. + */ +struct outmp { + char out_line[8]; /* tty name */ + char out_name[8]; /* user id */ + int32_t out_time; /* time on */ +}; + +struct whod { + char wd_vers; /* protocol version # */ + char wd_type; /* packet type, see below */ + char wd_pad[2]; + int wd_sendtime; /* time stamp by sender */ + int wd_recvtime; /* time stamp applied by receiver */ + char wd_hostname[32]; /* hosts's name */ + int wd_loadav[3]; /* load average as in uptime */ + int wd_boottime; /* time system booted */ + struct whoent { + struct outmp we_utmp; /* active tty info */ + int we_idle; /* tty idle time */ + } wd_we[1024 / sizeof (struct whoent)]; +}; + +#define WHODVERSION 1 +#define WHODTYPE_STATUS 1 /* host status */ + +/* We used to define _PATH_RWHODIR here but it's now in . */ +#include + +#endif /* protocols/rwhod.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/talkd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/talkd.h new file mode 100644 index 00000000..2778f83c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/talkd.h @@ -0,0 +1,115 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)talkd.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _PROTOCOLS_TALKD_H +#define _PROTOCOLS_TALKD_H 1 + +/* + * This describes the protocol used by the talk server and clients. + * + * The talk server acts a repository of invitations, responding to + * requests by clients wishing to rendezvous for the purpose of + * holding a conversation. In normal operation, a client, the caller, + * initiates a rendezvous by sending a CTL_MSG to the server of + * type LOOK_UP. This causes the server to search its invitation + * tables to check if an invitation currently exists for the caller + * (to speak to the callee specified in the message). If the lookup + * fails, the caller then sends an ANNOUNCE message causing the server + * to broadcast an announcement on the callee's login ports requesting + * contact. When the callee responds, the local server uses the + * recorded invitation to respond with the appropriate rendezvous + * address and the caller and callee client programs establish a + * stream connection through which the conversation takes place. + */ + +#include +#include +#include +#include + +/* + * Client->server request message format. + */ +typedef struct { + unsigned char vers; /* protocol version */ + unsigned char type; /* request type, see below */ + unsigned char answer; /* not used */ + unsigned char pad; + uint32_t id_num; /* message id */ + struct osockaddr addr; /* old (4.3) style */ + struct osockaddr ctl_addr; /* old (4.3) style */ + int32_t pid; /* caller's process id */ +#define NAME_SIZE 12 + char l_name[NAME_SIZE];/* caller's name */ + char r_name[NAME_SIZE];/* callee's name */ +#define TTY_SIZE 16 + char r_tty[TTY_SIZE];/* callee's tty name */ +} CTL_MSG; + +/* + * Server->client response message format. + */ +typedef struct { + unsigned char vers; /* protocol version */ + unsigned char type; /* type of request message, see below */ + unsigned char answer; /* response to request message, see below */ + unsigned char pad; + uint32_t id_num; /* message id */ + struct osockaddr addr; /* address for establishing conversation */ +} CTL_RESPONSE; + +#define TALK_VERSION 1 /* protocol version */ + +/* message type values */ +#define LEAVE_INVITE 0 /* leave invitation with server */ +#define LOOK_UP 1 /* check for invitation by callee */ +#define DELETE 2 /* delete invitation by caller */ +#define ANNOUNCE 3 /* announce invitation by caller */ + +/* answer values */ +#define SUCCESS 0 /* operation completed properly */ +#define NOT_HERE 1 /* callee not logged in */ +#define FAILED 2 /* operation failed for unexplained reason */ +#define MACHINE_UNKNOWN 3 /* caller's machine name unknown */ +#define PERMISSION_DENIED 4 /* callee's tty doesn't permit announce */ +#define UNKNOWN_REQUEST 5 /* request has invalid type value */ +#define BADVERSION 6 /* request has invalid protocol version */ +#define BADADDR 7 /* request has invalid addr value */ +#define BADCTLADDR 8 /* request has invalid ctl_addr value */ + +/* + * Operational parameters. + */ +#define MAX_LIFE 60 /* max time daemon saves invitations */ +/* RING_WAIT should be 10's of seconds less than MAX_LIFE */ +#define RING_WAIT 30 /* time to wait before resending invitation */ + +#endif /* protocols/talkd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/timed.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/timed.h new file mode 100644 index 00000000..8c800eba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/protocols/timed.h @@ -0,0 +1,99 @@ +/* + * Copyright (c) 1983, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)timed.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _PROTOCOLS_TIMED_H +#define _PROTOCOLS_TIMED_H 1 + +#include +#include + +/* + * Time Synchronization Protocol + */ + +#define TSPVERSION 1 +#define ANYADDR NULL +#define MAXHOSTNAMELEN 64 + +struct tsp { + unsigned char tsp_type; + unsigned char tsp_vers; + unsigned short tsp_seq; + union { + struct timeval tspu_time; + char tspu_hopcnt; + } tsp_u; + char tsp_name[MAXHOSTNAMELEN]; +}; + +#define tsp_time tsp_u.tspu_time +#define tsp_hopcnt tsp_u.tspu_hopcnt + +/* + * Command types. + */ +#define TSP_ANY 0 /* match any types */ +#define TSP_ADJTIME 1 /* send adjtime */ +#define TSP_ACK 2 /* generic acknowledgement */ +#define TSP_MASTERREQ 3 /* ask for master's name */ +#define TSP_MASTERACK 4 /* acknowledge master request */ +#define TSP_SETTIME 5 /* send network time */ +#define TSP_MASTERUP 6 /* inform slaves that master is up */ +#define TSP_SLAVEUP 7 /* slave is up but not polled */ +#define TSP_ELECTION 8 /* advance candidature for master */ +#define TSP_ACCEPT 9 /* support candidature of master */ +#define TSP_REFUSE 10 /* reject candidature of master */ +#define TSP_CONFLICT 11 /* two or more masters present */ +#define TSP_RESOLVE 12 /* masters' conflict resolution */ +#define TSP_QUIT 13 /* reject candidature if master is up */ +#define TSP_DATE 14 /* reset the time (date command) */ +#define TSP_DATEREQ 15 /* remote request to reset the time */ +#define TSP_DATEACK 16 /* acknowledge time setting */ +#define TSP_TRACEON 17 /* turn tracing on */ +#define TSP_TRACEOFF 18 /* turn tracing off */ +#define TSP_MSITE 19 /* find out master's site */ +#define TSP_MSITEREQ 20 /* remote master's site request */ +#define TSP_TEST 21 /* for testing election algo */ +#define TSP_SETDATE 22 /* New from date command */ +#define TSP_SETDATEREQ 23 /* New remote for above */ +#define TSP_LOOP 24 /* loop detection packet */ + +#define TSPTYPENUMBER 25 + +#ifdef TSPTYPES +char *tsptype[TSPTYPENUMBER] = + { "ANY", "ADJTIME", "ACK", "MASTERREQ", "MASTERACK", "SETTIME", "MASTERUP", + "SLAVEUP", "ELECTION", "ACCEPT", "REFUSE", "CONFLICT", "RESOLVE", "QUIT", + "DATE", "DATEREQ", "DATEACK", "TRACEON", "TRACEOFF", "MSITE", "MSITEREQ", + "TEST", "SETDATE", "SETDATEREQ", "LOOP" }; +#endif + +#endif /* protocols/timed.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pthread.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pthread.h new file mode 100644 index 00000000..1c7bf92e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pthread.h @@ -0,0 +1,1348 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PTHREAD_H +#define _PTHREAD_H 1 + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#ifdef __USE_MISC +# include +#endif + +/* Detach state. */ +enum +{ + PTHREAD_CREATE_JOINABLE, +#define PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE + PTHREAD_CREATE_DETACHED +#define PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED +}; + + +/* Mutex types. */ +enum +{ + PTHREAD_MUTEX_TIMED_NP, + PTHREAD_MUTEX_RECURSIVE_NP, + PTHREAD_MUTEX_ERRORCHECK_NP, + PTHREAD_MUTEX_ADAPTIVE_NP +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 + , + PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, + PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, + PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, + PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL +#endif +#ifdef __USE_GNU + /* For compatibility. */ + , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP +#endif +}; + + +#ifdef __USE_XOPEN2K +/* Robust mutex or not flags. */ +enum +{ + PTHREAD_MUTEX_STALLED, + PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, + PTHREAD_MUTEX_ROBUST, + PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST +}; +#endif + + +#if defined __USE_POSIX199506 || defined __USE_UNIX98 +/* Mutex protocols. */ +enum +{ + PTHREAD_PRIO_NONE, + PTHREAD_PRIO_INHERIT, + PTHREAD_PRIO_PROTECT +}; +#endif + + +#define PTHREAD_MUTEX_INITIALIZER \ + { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } } +#ifdef __USE_GNU +# define PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ + { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } } +# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ + { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } } +# define PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ + { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } } +#endif + + +/* Read-write lock types. */ +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +enum +{ + PTHREAD_RWLOCK_PREFER_READER_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, + PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP +}; + + +/* Read-write lock initializers. */ +# define PTHREAD_RWLOCK_INITIALIZER \ + { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } } +# ifdef __USE_GNU +# define PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ + { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } } +# endif +#endif /* Unix98 or XOpen2K */ + + +/* Scheduler inheritance. */ +enum +{ + PTHREAD_INHERIT_SCHED, +#define PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED + PTHREAD_EXPLICIT_SCHED +#define PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED +}; + + +/* Scope handling. */ +enum +{ + PTHREAD_SCOPE_SYSTEM, +#define PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM + PTHREAD_SCOPE_PROCESS +#define PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS +}; + + +/* Process shared or private flag. */ +enum +{ + PTHREAD_PROCESS_PRIVATE, +#define PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE + PTHREAD_PROCESS_SHARED +#define PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED +}; + + + +/* Conditional variable handling. */ +#define PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } } + + +/* Cleanup buffers */ +struct _pthread_cleanup_buffer +{ + void (*__routine) (void *); /* Function to call. */ + void *__arg; /* Its argument. */ + int __canceltype; /* Saved cancellation type. */ + struct _pthread_cleanup_buffer *__prev; /* Chaining of cleanup functions. */ +}; + +/* Cancellation */ +enum +{ + PTHREAD_CANCEL_ENABLE, +#define PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE + PTHREAD_CANCEL_DISABLE +#define PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE +}; +enum +{ + PTHREAD_CANCEL_DEFERRED, +#define PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED + PTHREAD_CANCEL_ASYNCHRONOUS +#define PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS +}; +#define PTHREAD_CANCELED ((void *) -1) + + +/* Single execution handling. */ +#define PTHREAD_ONCE_INIT 0 + + +#ifdef __USE_XOPEN2K +/* Value returned by 'pthread_barrier_wait' for one of the threads after + the required number of threads have called this function. + -1 is distinct from 0 and all errno constants */ +# define PTHREAD_BARRIER_SERIAL_THREAD -1 +#endif + + +__BEGIN_DECLS + +/* Create a new thread, starting with execution of START-ROUTINE + getting passed ARG. Creation attributed come from ATTR. The new + handle is stored in *NEWTHREAD. */ +extern int pthread_create (pthread_t *__restrict __newthread, + const pthread_attr_t *__restrict __attr, + void *(*__start_routine) (void *), + void *__restrict __arg) __THROWNL __nonnull ((1, 3)); + +/* Terminate calling thread. + + The registered cleanup handlers are called via exception handling + so we cannot mark this function with __THROW.*/ +extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); + +/* Make calling thread wait for termination of the thread TH. The + exit status of the thread is stored in *THREAD_RETURN, if THREAD_RETURN + is not NULL. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pthread_join (pthread_t __th, void **__thread_return); + +#ifdef __USE_GNU +/* Check whether thread TH has terminated. If yes return the status of + the thread in *THREAD_RETURN, if THREAD_RETURN is not NULL. */ +extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW; + +# ifndef __USE_TIME64_REDIRECTS +/* Make calling thread wait for termination of the thread TH, but only + until TIMEOUT. The exit status of the thread is stored in + *THREAD_RETURN, if THREAD_RETURN is not NULL. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, + const struct timespec *__abstime); + +/* Make calling thread wait for termination of the thread TH, but only + until TIMEOUT measured against the clock specified by CLOCKID. The + exit status of the thread is stored in *THREAD_RETURN, if + THREAD_RETURN is not NULL. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, + clockid_t __clockid, + const struct timespec *__abstime); +# else +# ifdef __REDIRECT +extern int __REDIRECT (pthread_timedjoin_np, + (pthread_t __th, void **__thread_return, + const struct timespec *__abstime), + __pthread_timedjoin_np64); + +extern int __REDIRECT (pthread_clockjoin_np, + (pthread_t __th, void **__thread_return, + clockid_t __clockid, + const struct timespec *__abstime), + __pthread_clockjoin_np64); +# else +# define pthread_timedjoin_np __pthread_timedjoin_np64 +# define pthread_clockjoin_np __pthread_clockjoin_np64 +# endif +# endif +#endif + +/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN. + The resources of TH will therefore be freed immediately when it + terminates, instead of waiting for another thread to perform PTHREAD_JOIN + on it. */ +extern int pthread_detach (pthread_t __th) __THROW; + + +/* Obtain the identifier of the current thread. */ +extern pthread_t pthread_self (void) __THROW __attribute__ ((__const__)); + +/* Compare two thread identifiers. */ +extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) + __THROW __attribute__ ((__const__)); + + +/* Thread attribute handling. */ + +/* Initialize thread attribute *ATTR with default attributes + (detachstate is PTHREAD_JOINABLE, scheduling policy is SCHED_OTHER, + no user-provided stack). */ +extern int pthread_attr_init (pthread_attr_t *__attr) __THROW __nonnull ((1)); + +/* Destroy thread attribute *ATTR. */ +extern int pthread_attr_destroy (pthread_attr_t *__attr) + __THROW __nonnull ((1)); + +/* Get detach state attribute. */ +extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, + int *__detachstate) + __THROW __nonnull ((1, 2)); + +/* Set detach state attribute. */ +extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, + int __detachstate) + __THROW __nonnull ((1)); + + +/* Get the size of the guard area created for stack overflow protection. */ +extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, + size_t *__guardsize) + __THROW __nonnull ((1, 2)); + +/* Set the size of the guard area created for stack overflow protection. */ +extern int pthread_attr_setguardsize (pthread_attr_t *__attr, + size_t __guardsize) + __THROW __nonnull ((1)); + + +/* Return in *PARAM the scheduling parameters of *ATTR. */ +extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, + struct sched_param *__restrict __param) + __THROW __nonnull ((1, 2)); + +/* Set scheduling parameters (priority, etc) in *ATTR according to PARAM. */ +extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, + const struct sched_param *__restrict + __param) __THROW __nonnull ((1, 2)); + +/* Return in *POLICY the scheduling policy of *ATTR. */ +extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict + __attr, int *__restrict __policy) + __THROW __nonnull ((1, 2)); + +/* Set scheduling policy in *ATTR according to POLICY. */ +extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) + __THROW __nonnull ((1)); + +/* Return in *INHERIT the scheduling inheritance mode of *ATTR. */ +extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict + __attr, int *__restrict __inherit) + __THROW __nonnull ((1, 2)); + +/* Set scheduling inheritance mode in *ATTR according to INHERIT. */ +extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, + int __inherit) + __THROW __nonnull ((1)); + + +/* Return in *SCOPE the scheduling contention scope of *ATTR. */ +extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, + int *__restrict __scope) + __THROW __nonnull ((1, 2)); + +/* Set scheduling contention scope in *ATTR according to SCOPE. */ +extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) + __THROW __nonnull ((1)); + +/* Return the previously set address for the stack. */ +extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict + __attr, void **__restrict __stackaddr) + __THROW __nonnull ((1, 2)) __attribute_deprecated__; + +/* Set the starting address of the stack of the thread to be created. + Depending on whether the stack grows up or down the value must either + be higher or lower than all the address in the memory block. The + minimal size of the block must be PTHREAD_STACK_MIN. */ +extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, + void *__stackaddr) + __THROW __nonnull ((1)) __attribute_deprecated__; + +/* Return the currently used minimal stack size. */ +extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict + __attr, size_t *__restrict __stacksize) + __THROW __nonnull ((1, 2)); + +/* Add information about the minimum stack size needed for the thread + to be started. This size must never be less than PTHREAD_STACK_MIN + and must also not exceed the system limits. */ +extern int pthread_attr_setstacksize (pthread_attr_t *__attr, + size_t __stacksize) + __THROW __nonnull ((1)); + +#ifdef __USE_XOPEN2K +/* Return the previously set address for the stack. */ +extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, + void **__restrict __stackaddr, + size_t *__restrict __stacksize) + __THROW __nonnull ((1, 2, 3)); + +/* The following two interfaces are intended to replace the last two. They + require setting the address as well as the size since only setting the + address will make the implementation on some architectures impossible. */ +extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, + size_t __stacksize) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_GNU +/* Thread created with attribute ATTR will be limited to run only on + the processors represented in CPUSET. */ +extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, + size_t __cpusetsize, + const cpu_set_t *__cpuset) + __THROW __nonnull ((1, 3)); + +/* Get bit set in CPUSET representing the processors threads created with + ATTR can run on. */ +extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, + size_t __cpusetsize, + cpu_set_t *__cpuset) + __THROW __nonnull ((1, 3)); + +/* Get the default attributes used by pthread_create in this process. */ +extern int pthread_getattr_default_np (pthread_attr_t *__attr) + __THROW __nonnull ((1)); + +/* Store *SIGMASK as the signal mask for the new thread in *ATTR. */ +extern int pthread_attr_setsigmask_np (pthread_attr_t *__attr, + const __sigset_t *sigmask); + +/* Store the signal mask of *ATTR in *SIGMASK. If there is no signal + mask stored, return PTHREAD_ATTR_NOSIGMASK_NP. Return zero on + success. */ +extern int pthread_attr_getsigmask_np (const pthread_attr_t *__attr, + __sigset_t *sigmask); + +/* Special return value from pthread_attr_getsigmask_np if the signal + mask has not been set. */ +#define PTHREAD_ATTR_NO_SIGMASK_NP (-1) + +/* Set the default attributes to be used by pthread_create in this + process. */ +extern int pthread_setattr_default_np (const pthread_attr_t *__attr) + __THROW __nonnull ((1)); + +/* Initialize thread attribute *ATTR with attributes corresponding to the + already running thread TH. It shall be called on uninitialized ATTR + and destroyed with pthread_attr_destroy when no longer needed. */ +extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) + __THROW __nonnull ((2)); +#endif + + +/* Functions for scheduling control. */ + +/* Set the scheduling parameters for TARGET_THREAD according to POLICY + and *PARAM. */ +extern int pthread_setschedparam (pthread_t __target_thread, int __policy, + const struct sched_param *__param) + __THROW __nonnull ((3)); + +/* Return in *POLICY and *PARAM the scheduling parameters for TARGET_THREAD. */ +extern int pthread_getschedparam (pthread_t __target_thread, + int *__restrict __policy, + struct sched_param *__restrict __param) + __THROW __nonnull ((2, 3)); + +/* Set the scheduling priority for TARGET_THREAD. */ +extern int pthread_setschedprio (pthread_t __target_thread, int __prio) + __THROW; + + +#ifdef __USE_GNU +/* Get thread name visible in the kernel and its interfaces. */ +extern int pthread_getname_np (pthread_t __target_thread, char *__buf, + size_t __buflen) + __THROW __nonnull ((2)); + +/* Set thread name visible in the kernel and its interfaces. */ +extern int pthread_setname_np (pthread_t __target_thread, const char *__name) + __THROW __nonnull ((2)); +#endif + + +#ifdef __USE_UNIX98 +/* Determine level of concurrency. */ +extern int pthread_getconcurrency (void) __THROW; + +/* Set new concurrency level to LEVEL. */ +extern int pthread_setconcurrency (int __level) __THROW; +#endif + +#ifdef __USE_GNU +extern int pthread_yield (void) __THROW; +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (pthread_yield, (void), sched_yield) + __attribute_deprecated_msg__ ("\ +pthread_yield is deprecated, use sched_yield instead"); +# else +# define pthread_yield sched_yield +# endif + + +/* Limit specified thread TH to run only on the processors represented + in CPUSET. */ +extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, + const cpu_set_t *__cpuset) + __THROW __nonnull ((3)); + +/* Get bit set in CPUSET representing the processors TH can run on. */ +extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, + cpu_set_t *__cpuset) + __THROW __nonnull ((3)); +#endif + + +/* Functions for handling initialization. */ + +/* Guarantee that the initialization function INIT_ROUTINE will be called + only once, even if pthread_once is executed several times with the + same ONCE_CONTROL argument. ONCE_CONTROL must point to a static or + extern variable initialized to PTHREAD_ONCE_INIT. + + The initialization functions might throw exception which is why + this function is not marked with __THROW. */ +extern int pthread_once (pthread_once_t *__once_control, + void (*__init_routine) (void)) __nonnull ((1, 2)); + + +/* Functions for handling cancellation. + + Note that these functions are explicitly not marked to not throw an + exception in C++ code. If cancellation is implemented by unwinding + this is necessary to have the compiler generate the unwind information. */ + +/* Set cancellability state of current thread to STATE, returning old + state in *OLDSTATE if OLDSTATE is not NULL. */ +extern int pthread_setcancelstate (int __state, int *__oldstate); + +/* Set cancellation state of current thread to TYPE, returning the old + type in *OLDTYPE if OLDTYPE is not NULL. */ +extern int pthread_setcanceltype (int __type, int *__oldtype); + +/* Cancel THREAD immediately or at the next possibility. */ +extern int pthread_cancel (pthread_t __th); + +/* Test for pending cancellation for the current thread and terminate + the thread as per pthread_exit(PTHREAD_CANCELED) if it has been + cancelled. */ +extern void pthread_testcancel (void); + + +/* Cancellation handling with integration into exception handling. */ + +struct __cancel_jmp_buf_tag +{ + __jmp_buf __cancel_jmp_buf; + int __mask_was_saved; +}; + +typedef struct +{ + struct __cancel_jmp_buf_tag __cancel_jmp_buf[1]; + void *__pad[4]; +} __pthread_unwind_buf_t __attribute__ ((__aligned__)); + +/* No special attributes by default. */ +#ifndef __cleanup_fct_attribute +# define __cleanup_fct_attribute +#endif + + +/* Structure to hold the cleanup handler information. */ +struct __pthread_cleanup_frame +{ + void (*__cancel_routine) (void *); + void *__cancel_arg; + int __do_it; + int __cancel_type; +}; + +#if defined __GNUC__ && defined __EXCEPTIONS +# ifdef __cplusplus +/* Class to handle cancellation handler invocation. */ +class __pthread_cleanup_class +{ + void (*__cancel_routine) (void *); + void *__cancel_arg; + int __do_it; + int __cancel_type; + + public: + __pthread_cleanup_class (void (*__fct) (void *), void *__arg) + : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } + ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } + void __setdoit (int __newval) { __do_it = __newval; } + void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, + &__cancel_type); } + void __restore () const { pthread_setcanceltype (__cancel_type, 0); } +}; + +/* Install a cleanup handler: ROUTINE will be called with arguments ARG + when the thread is canceled or calls pthread_exit. ROUTINE will also + be called with arguments ARG when the matching pthread_cleanup_pop + is executed with non-zero EXECUTE argument. + + pthread_cleanup_push and pthread_cleanup_pop are macros and must always + be used in matching pairs at the same nesting level of braces. */ +# define pthread_cleanup_push(routine, arg) \ + do { \ + __pthread_cleanup_class __clframe (routine, arg) + +/* Remove a cleanup handler installed by the matching pthread_cleanup_push. + If EXECUTE is non-zero, the handler function is called. */ +# define pthread_cleanup_pop(execute) \ + __clframe.__setdoit (execute); \ + } while (0) + +# ifdef __USE_GNU +/* Install a cleanup handler as pthread_cleanup_push does, but also + saves the current cancellation type and sets it to deferred + cancellation. */ +# define pthread_cleanup_push_defer_np(routine, arg) \ + do { \ + __pthread_cleanup_class __clframe (routine, arg); \ + __clframe.__defer () + +/* Remove a cleanup handler as pthread_cleanup_pop does, but also + restores the cancellation type that was in effect when the matching + pthread_cleanup_push_defer was called. */ +# define pthread_cleanup_pop_restore_np(execute) \ + __clframe.__restore (); \ + __clframe.__setdoit (execute); \ + } while (0) +# endif +# else +/* Function called to call the cleanup handler. As an extern inline + function the compiler is free to decide inlining the change when + needed or fall back on the copy which must exist somewhere + else. */ +__extern_inline void +__pthread_cleanup_routine (struct __pthread_cleanup_frame *__frame) +{ + if (__frame->__do_it) + __frame->__cancel_routine (__frame->__cancel_arg); +} + +/* Install a cleanup handler: ROUTINE will be called with arguments ARG + when the thread is canceled or calls pthread_exit. ROUTINE will also + be called with arguments ARG when the matching pthread_cleanup_pop + is executed with non-zero EXECUTE argument. + + pthread_cleanup_push and pthread_cleanup_pop are macros and must always + be used in matching pairs at the same nesting level of braces. */ +# define pthread_cleanup_push(routine, arg) \ + do { \ + struct __pthread_cleanup_frame __clframe \ + __attribute__ ((__cleanup__ (__pthread_cleanup_routine))) \ + = { .__cancel_routine = (routine), .__cancel_arg = (arg), \ + .__do_it = 1 }; + +/* Remove a cleanup handler installed by the matching pthread_cleanup_push. + If EXECUTE is non-zero, the handler function is called. */ +# define pthread_cleanup_pop(execute) \ + __clframe.__do_it = (execute); \ + } while (0) + +# ifdef __USE_GNU +/* Install a cleanup handler as pthread_cleanup_push does, but also + saves the current cancellation type and sets it to deferred + cancellation. */ +# define pthread_cleanup_push_defer_np(routine, arg) \ + do { \ + struct __pthread_cleanup_frame __clframe \ + __attribute__ ((__cleanup__ (__pthread_cleanup_routine))) \ + = { .__cancel_routine = (routine), .__cancel_arg = (arg), \ + .__do_it = 1 }; \ + (void) pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, \ + &__clframe.__cancel_type) + +/* Remove a cleanup handler as pthread_cleanup_pop does, but also + restores the cancellation type that was in effect when the matching + pthread_cleanup_push_defer was called. */ +# define pthread_cleanup_pop_restore_np(execute) \ + (void) pthread_setcanceltype (__clframe.__cancel_type, NULL); \ + __clframe.__do_it = (execute); \ + } while (0) +# endif +# endif +#else +/* Install a cleanup handler: ROUTINE will be called with arguments ARG + when the thread is canceled or calls pthread_exit. ROUTINE will also + be called with arguments ARG when the matching pthread_cleanup_pop + is executed with non-zero EXECUTE argument. + + pthread_cleanup_push and pthread_cleanup_pop are macros and must always + be used in matching pairs at the same nesting level of braces. */ +# define pthread_cleanup_push(routine, arg) \ + do { \ + __pthread_unwind_buf_t __cancel_buf; \ + void (*__cancel_routine) (void *) = (routine); \ + void *__cancel_arg = (arg); \ + int __not_first_call = __sigsetjmp_cancel (__cancel_buf.__cancel_jmp_buf, \ + 0); \ + if (__glibc_unlikely (__not_first_call)) \ + { \ + __cancel_routine (__cancel_arg); \ + __pthread_unwind_next (&__cancel_buf); \ + /* NOTREACHED */ \ + } \ + \ + __pthread_register_cancel (&__cancel_buf); \ + do { +extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) + __cleanup_fct_attribute; + +/* Remove a cleanup handler installed by the matching pthread_cleanup_push. + If EXECUTE is non-zero, the handler function is called. */ +# define pthread_cleanup_pop(execute) \ + do { } while (0);/* Empty to allow label before pthread_cleanup_pop. */\ + } while (0); \ + __pthread_unregister_cancel (&__cancel_buf); \ + if (execute) \ + __cancel_routine (__cancel_arg); \ + } while (0) +extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) + __cleanup_fct_attribute; + +# ifdef __USE_GNU +/* Install a cleanup handler as pthread_cleanup_push does, but also + saves the current cancellation type and sets it to deferred + cancellation. */ +# define pthread_cleanup_push_defer_np(routine, arg) \ + do { \ + __pthread_unwind_buf_t __cancel_buf; \ + void (*__cancel_routine) (void *) = (routine); \ + void *__cancel_arg = (arg); \ + int __not_first_call = __sigsetjmp_cancel (__cancel_buf.__cancel_jmp_buf, \ + 0); \ + if (__glibc_unlikely (__not_first_call)) \ + { \ + __cancel_routine (__cancel_arg); \ + __pthread_unwind_next (&__cancel_buf); \ + /* NOTREACHED */ \ + } \ + \ + __pthread_register_cancel_defer (&__cancel_buf); \ + do { +extern void __pthread_register_cancel_defer (__pthread_unwind_buf_t *__buf) + __cleanup_fct_attribute; + +/* Remove a cleanup handler as pthread_cleanup_pop does, but also + restores the cancellation type that was in effect when the matching + pthread_cleanup_push_defer was called. */ +# define pthread_cleanup_pop_restore_np(execute) \ + do { } while (0);/* Empty to allow label before pthread_cleanup_pop. */\ + } while (0); \ + __pthread_unregister_cancel_restore (&__cancel_buf); \ + if (execute) \ + __cancel_routine (__cancel_arg); \ + } while (0) +extern void __pthread_unregister_cancel_restore (__pthread_unwind_buf_t *__buf) + __cleanup_fct_attribute; +# endif + +/* Internal interface to initiate cleanup. */ +extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) + __cleanup_fct_attribute __attribute__ ((__noreturn__)) +# ifndef SHARED + __attribute__ ((__weak__)) +# endif + ; +#endif + +/* Function used in the macros. Calling __sigsetjmp, with its first + argument declared as an array, results in a -Wstringop-overflow + warning from GCC 11 because struct pthread_unwind_buf is smaller + than jmp_buf. The calls from the macros have __SAVEMASK set to 0, + so nothing beyond the common prefix is used and this warning is a + false positive. Use an alias with its first argument declared to + use the type in the macros if possible to avoid this warning. */ +#if __GNUC_PREREQ (11, 0) +extern int __REDIRECT_NTHNL (__sigsetjmp_cancel, + (struct __cancel_jmp_buf_tag __env[1], + int __savemask), + __sigsetjmp) __attribute_returns_twice__; +#else +# define __sigsetjmp_cancel(env, savemask) \ + __sigsetjmp ((struct __jmp_buf_tag *) (void *) (env), (savemask)) +extern int __sigsetjmp (struct __jmp_buf_tag __env[1], + int __savemask) __THROWNL; +#endif + + +/* Mutex handling. */ + +/* Initialize a mutex. */ +extern int pthread_mutex_init (pthread_mutex_t *__mutex, + const pthread_mutexattr_t *__mutexattr) + __THROW __nonnull ((1)); + +/* Destroy a mutex. */ +extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) + __THROW __nonnull ((1)); + +/* Try locking a mutex. */ +extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) + __THROWNL __nonnull ((1)); + +/* Lock a mutex. */ +extern int pthread_mutex_lock (pthread_mutex_t *__mutex) + __THROWNL __nonnull ((1)); + +#ifdef __USE_XOPEN2K +/* Wait until lock becomes available, or specified time passes. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 2)); +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_mutex_timedlock, + (pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict __abstime), + __pthread_mutex_timedlock64) __nonnull ((1, 2)); +# else +# define pthread_mutex_timedlock __pthread_mutex_timedlock64 +# endif +# endif +#endif + +#ifdef __USE_GNU +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, + clockid_t __clockid, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 3)); +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_mutex_clocklock, + (pthread_mutex_t *__restrict __mutex, + clockid_t __clockid, + const struct timespec *__restrict __abstime), + __pthread_mutex_clocklock64) __nonnull ((1, 3)); +# else +# define pthread_mutex_clocklock __pthread_mutex_clocklock64 +# endif +# endif +#endif + +/* Unlock a mutex. */ +extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) + __THROWNL __nonnull ((1)); + + +/* Get the priority ceiling of MUTEX. */ +extern int pthread_mutex_getprioceiling (const pthread_mutex_t * + __restrict __mutex, + int *__restrict __prioceiling) + __THROW __nonnull ((1, 2)); + +/* Set the priority ceiling of MUTEX to PRIOCEILING, return old + priority ceiling value in *OLD_CEILING. */ +extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, + int __prioceiling, + int *__restrict __old_ceiling) + __THROW __nonnull ((1, 3)); + + +#ifdef __USE_XOPEN2K8 +/* Declare the state protected by MUTEX as consistent. */ +extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) + __THROW __nonnull ((1)); +# ifdef __USE_GNU +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (pthread_mutex_consistent_np, (pthread_mutex_t *), + pthread_mutex_consistent) __nonnull ((1)) + __attribute_deprecated_msg__ ("\ +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"); +# else +# define pthread_mutex_consistent_np pthread_mutex_consistent +# endif +# endif +#endif + + +/* Functions for handling mutex attributes. */ + +/* Initialize mutex attribute object ATTR with default attributes + (kind is PTHREAD_MUTEX_TIMED_NP). */ +extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) + __THROW __nonnull ((1)); + +/* Destroy mutex attribute object ATTR. */ +extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) + __THROW __nonnull ((1)); + +/* Get the process-shared flag of the mutex attribute ATTR. */ +extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __pshared) + __THROW __nonnull ((1, 2)); + +/* Set the process-shared flag of the mutex attribute ATTR. */ +extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, + int __pshared) + __THROW __nonnull ((1)); + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +/* Return in *KIND the mutex kind attribute in *ATTR. */ +extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict + __attr, int *__restrict __kind) + __THROW __nonnull ((1, 2)); + +/* Set the mutex kind attribute in *ATTR to KIND (either PTHREAD_MUTEX_NORMAL, + PTHREAD_MUTEX_RECURSIVE, PTHREAD_MUTEX_ERRORCHECK, or + PTHREAD_MUTEX_DEFAULT). */ +extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) + __THROW __nonnull ((1)); +#endif + +/* Return in *PROTOCOL the mutex protocol attribute in *ATTR. */ +extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __protocol) + __THROW __nonnull ((1, 2)); + +/* Set the mutex protocol attribute in *ATTR to PROTOCOL (either + PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT, or PTHREAD_PRIO_PROTECT). */ +extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, + int __protocol) + __THROW __nonnull ((1)); + +/* Return in *PRIOCEILING the mutex prioceiling attribute in *ATTR. */ +extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __prioceiling) + __THROW __nonnull ((1, 2)); + +/* Set the mutex prioceiling attribute in *ATTR to PRIOCEILING. */ +extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, + int __prioceiling) + __THROW __nonnull ((1)); + +#ifdef __USE_XOPEN2K +/* Get the robustness flag of the mutex attribute ATTR. */ +extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, + int *__robustness) + __THROW __nonnull ((1, 2)); +# ifdef __USE_GNU +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (pthread_mutexattr_getrobust_np, + (pthread_mutexattr_t *, int *), + pthread_mutexattr_getrobust) __nonnull ((1)) + __attribute_deprecated_msg__ ("\ +pthread_mutexattr_getrobust_np is deprecated, use pthread_mutexattr_getrobust"); +# else +# define pthread_mutexattr_getrobust_np pthread_mutexattr_getrobust +# endif +# endif + +/* Set the robustness flag of the mutex attribute ATTR. */ +extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, + int __robustness) + __THROW __nonnull ((1)); +# ifdef __USE_GNU +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (pthread_mutexattr_setrobust_np, + (pthread_mutexattr_t *, int), + pthread_mutexattr_setrobust) __nonnull ((1)) + __attribute_deprecated_msg__ ("\ +pthread_mutexattr_setrobust_np is deprecated, use pthread_mutexattr_setrobust"); +# else +# define pthread_mutexattr_setrobust_np pthread_mutexattr_setrobust +# endif +# endif +#endif + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +/* Functions for handling read-write locks. */ + +/* Initialize read-write lock RWLOCK using attributes ATTR, or use + the default values if later is NULL. */ +extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, + const pthread_rwlockattr_t *__restrict + __attr) __THROW __nonnull ((1)); + +/* Destroy read-write lock RWLOCK. */ +extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) + __THROW __nonnull ((1)); + +/* Acquire read lock for RWLOCK. */ +extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) + __THROWNL __nonnull ((1)); + +/* Try to acquire read lock for RWLOCK. */ +extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) + __THROWNL __nonnull ((1)); + +# ifdef __USE_XOPEN2K +/* Try to acquire read lock for RWLOCK or return after specified time. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 2)); +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_rwlock_timedrdlock, + (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict __abstime), + __pthread_rwlock_timedrdlock64) + __nonnull ((1, 2)); +# else +# define pthread_rwlock_timedrdlock __pthread_rwlock_timedrdlock64 +# endif +# endif +# endif + +# ifdef __USE_GNU +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, + clockid_t __clockid, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 3)); +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_rwlock_clockrdlock, + (pthread_rwlock_t *__restrict __rwlock, + clockid_t __clockid, + const struct timespec *__restrict __abstime), + __pthread_rwlock_clockrdlock64) + __nonnull ((1, 3)); +# else +# define pthread_rwlock_clockrdlock __pthread_rwlock_clockrdlock64 +# endif +# endif +# endif + +/* Acquire write lock for RWLOCK. */ +extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) + __THROWNL __nonnull ((1)); + +/* Try to acquire write lock for RWLOCK. */ +extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) + __THROWNL __nonnull ((1)); + +# ifdef __USE_XOPEN2K +/* Try to acquire write lock for RWLOCK or return after specified time. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 2)); +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_rwlock_timedwrlock, + (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict __abstime), + __pthread_rwlock_timedwrlock64) + __nonnull ((1, 2)); +# else +# define pthread_rwlock_timedwrlock __pthread_rwlock_timedwrlock64 +# endif +# endif +# endif + +# ifdef __USE_GNU +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, + clockid_t __clockid, + const struct timespec *__restrict + __abstime) __THROWNL __nonnull ((1, 3)); + +# else +# ifdef __REDIRECT_NTHNL +extern int __REDIRECT_NTHNL (pthread_rwlock_clockwrlock, + (pthread_rwlock_t *__restrict __rwlock, + clockid_t __clockid, + const struct timespec *__restrict __abstime), + __pthread_rwlock_clockwrlock64) + __nonnull ((1, 3)); +# else +# define pthread_rwlock_clockwrlock __pthread_rwlock_clockwrlock64 +# endif +# endif +# endif + +/* Unlock RWLOCK. */ +extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) + __THROWNL __nonnull ((1)); + + +/* Functions for handling read-write lock attributes. */ + +/* Initialize attribute object ATTR with default values. */ +extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) + __THROW __nonnull ((1)); + +/* Destroy attribute object ATTR. */ +extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) + __THROW __nonnull ((1)); + +/* Return current setting of process-shared attribute of ATTR in PSHARED. */ +extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * + __restrict __attr, + int *__restrict __pshared) + __THROW __nonnull ((1, 2)); + +/* Set process-shared attribute of ATTR to PSHARED. */ +extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, + int __pshared) + __THROW __nonnull ((1)); + +/* Return current setting of reader/writer preference. */ +extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * + __restrict __attr, + int *__restrict __pref) + __THROW __nonnull ((1, 2)); + +/* Set reader/write preference. */ +extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, + int __pref) __THROW __nonnull ((1)); +#endif + + +/* Functions for handling conditional variables. */ + +/* Initialize condition variable COND using attributes ATTR, or use + the default values if later is NULL. */ +extern int pthread_cond_init (pthread_cond_t *__restrict __cond, + const pthread_condattr_t *__restrict __cond_attr) + __THROW __nonnull ((1)); + +/* Destroy condition variable COND. */ +extern int pthread_cond_destroy (pthread_cond_t *__cond) + __THROW __nonnull ((1)); + +/* Wake up one thread waiting for condition variable COND. */ +extern int pthread_cond_signal (pthread_cond_t *__cond) + __THROWNL __nonnull ((1)); + +/* Wake up all threads waiting for condition variables COND. */ +extern int pthread_cond_broadcast (pthread_cond_t *__cond) + __THROWNL __nonnull ((1)); + +/* Wait for condition variable COND to be signaled or broadcast. + MUTEX is assumed to be locked before. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex) + __nonnull ((1, 2)); + +/* Wait for condition variable COND to be signaled or broadcast until + ABSTIME. MUTEX is assumed to be locked before. ABSTIME is an + absolute time specification; zero is the beginning of the epoch + (00:00:00 GMT, January 1, 1970). + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict __abstime) + __nonnull ((1, 2, 3)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (pthread_cond_timedwait, + (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict __abstime), + __pthread_cond_timedwait64) + __nonnull ((1, 2, 3)); +# else +# define pthread_cond_timedwait __pthread_cond_timedwait64 +# endif +# endif + +# ifdef __USE_GNU +/* Wait for condition variable COND to be signaled or broadcast until + ABSTIME measured by the specified clock. MUTEX is assumed to be + locked before. CLOCK is the clock to use. ABSTIME is an absolute + time specification against CLOCK's epoch. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex, + __clockid_t __clock_id, + const struct timespec *__restrict __abstime) + __nonnull ((1, 2, 4)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (pthread_cond_clockwait, + (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex, + __clockid_t __clock_id, + const struct timespec *__restrict __abstime), + __pthread_cond_clockwait64) + __nonnull ((1, 2, 4)); +# else +# define pthread_cond_clockwait __pthread_cond_clockwait64 +# endif +# endif +# endif + +/* Functions for handling condition variable attributes. */ + +/* Initialize condition variable attribute ATTR. */ +extern int pthread_condattr_init (pthread_condattr_t *__attr) + __THROW __nonnull ((1)); + +/* Destroy condition variable attribute ATTR. */ +extern int pthread_condattr_destroy (pthread_condattr_t *__attr) + __THROW __nonnull ((1)); + +/* Get the process-shared flag of the condition variable attribute ATTR. */ +extern int pthread_condattr_getpshared (const pthread_condattr_t * + __restrict __attr, + int *__restrict __pshared) + __THROW __nonnull ((1, 2)); + +/* Set the process-shared flag of the condition variable attribute ATTR. */ +extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, + int __pshared) __THROW __nonnull ((1)); + +#ifdef __USE_XOPEN2K +/* Get the clock selected for the condition variable attribute ATTR. */ +extern int pthread_condattr_getclock (const pthread_condattr_t * + __restrict __attr, + __clockid_t *__restrict __clock_id) + __THROW __nonnull ((1, 2)); + +/* Set the clock selected for the condition variable attribute ATTR. */ +extern int pthread_condattr_setclock (pthread_condattr_t *__attr, + __clockid_t __clock_id) + __THROW __nonnull ((1)); +#endif + + +#ifdef __USE_XOPEN2K +/* Functions to handle spinlocks. */ + +/* Initialize the spinlock LOCK. If PSHARED is nonzero the spinlock can + be shared between different processes. */ +extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) + __THROW __nonnull ((1)); + +/* Destroy the spinlock LOCK. */ +extern int pthread_spin_destroy (pthread_spinlock_t *__lock) + __THROW __nonnull ((1)); + +/* Wait until spinlock LOCK is retrieved. */ +extern int pthread_spin_lock (pthread_spinlock_t *__lock) + __THROWNL __nonnull ((1)); + +/* Try to lock spinlock LOCK. */ +extern int pthread_spin_trylock (pthread_spinlock_t *__lock) + __THROWNL __nonnull ((1)); + +/* Release spinlock LOCK. */ +extern int pthread_spin_unlock (pthread_spinlock_t *__lock) + __THROWNL __nonnull ((1)); + + +/* Functions to handle barriers. */ + +/* Initialize BARRIER with the attributes in ATTR. The barrier is + opened when COUNT waiters arrived. */ +extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, + const pthread_barrierattr_t *__restrict + __attr, unsigned int __count) + __THROW __nonnull ((1)); + +/* Destroy a previously dynamically initialized barrier BARRIER. */ +extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) + __THROW __nonnull ((1)); + +/* Wait on barrier BARRIER. */ +extern int pthread_barrier_wait (pthread_barrier_t *__barrier) + __THROWNL __nonnull ((1)); + + +/* Initialize barrier attribute ATTR. */ +extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) + __THROW __nonnull ((1)); + +/* Destroy previously dynamically initialized barrier attribute ATTR. */ +extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) + __THROW __nonnull ((1)); + +/* Get the process-shared flag of the barrier attribute ATTR. */ +extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * + __restrict __attr, + int *__restrict __pshared) + __THROW __nonnull ((1, 2)); + +/* Set the process-shared flag of the barrier attribute ATTR. */ +extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, + int __pshared) + __THROW __nonnull ((1)); +#endif + + +/* Functions for handling thread-specific data. */ + +/* Create a key value identifying a location in the thread-specific + data area. Each thread maintains a distinct thread-specific data + area. DESTR_FUNCTION, if non-NULL, is called with the value + associated to that key when the key is destroyed. + DESTR_FUNCTION is not called if the value associated is NULL when + the key is destroyed. */ +extern int pthread_key_create (pthread_key_t *__key, + void (*__destr_function) (void *)) + __THROW __nonnull ((1)); + +/* Destroy KEY. */ +extern int pthread_key_delete (pthread_key_t __key) __THROW; + +/* Return current value of the thread-specific data slot identified by KEY. */ +extern void *pthread_getspecific (pthread_key_t __key) __THROW; + +/* Store POINTER in the thread-specific data slot identified by KEY. */ +extern int pthread_setspecific (pthread_key_t __key, + const void *__pointer) + __THROW __attr_access_none (2); + + +#ifdef __USE_XOPEN2K +/* Get ID of CPU-time clock for thread THREAD_ID. */ +extern int pthread_getcpuclockid (pthread_t __thread_id, + __clockid_t *__clock_id) + __THROW __nonnull ((2)); +#endif + + +/* Install handlers to be called when a new process is created with FORK. + The PREPARE handler is called in the parent process just before performing + FORK. The PARENT handler is called in the parent process just after FORK. + The CHILD handler is called in the child process. Each of the three + handlers can be NULL, meaning that no handler needs to be called at that + point. + PTHREAD_ATFORK can be called several times, in which case the PREPARE + handlers are called in LIFO order (last added with PTHREAD_ATFORK, + first called before FORK), and the PARENT and CHILD handlers are called + in FIFO (first added, first called). */ + +extern int pthread_atfork (void (*__prepare) (void), + void (*__parent) (void), + void (*__child) (void)) __THROW; + + +#ifdef __USE_EXTERN_INLINES +/* Optimizations. */ +__extern_inline int +__NTH (pthread_equal (pthread_t __thread1, pthread_t __thread2)) +{ + return __thread1 == __thread2; +} +#endif + +__END_DECLS + +#endif /* pthread.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pty.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pty.h new file mode 100644 index 00000000..d6b4b7ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pty.h @@ -0,0 +1,48 @@ +/* Functions for pseudo TTY handling. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PTY_H +#define _PTY_H 1 + +#include + +struct termios; +struct winsize; + +#include +#include + + +__BEGIN_DECLS + +/* Create pseudo tty master slave pair with NAME and set terminal + attributes according to TERMP and WINP and return handles for both + ends in AMASTER and ASLAVE. */ +extern int openpty (int *__amaster, int *__aslave, char *__name, + const struct termios *__termp, + const struct winsize *__winp) __THROW; + +/* Create child process and establish the slave pseudo terminal as the + child's controlling terminal. */ +extern int forkpty (int *__amaster, char *__name, + const struct termios *__termp, + const struct winsize *__winp) __THROW; + +__END_DECLS + +#endif /* pty.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pwd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pwd.h new file mode 100644 index 00000000..e4b85ac2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/pwd.h @@ -0,0 +1,193 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 9.2.2 User Database Access + */ + +#ifndef _PWD_H +#define _PWD_H 1 + +#include + +__BEGIN_DECLS + +#include + +#define __need_size_t +#include + +#if defined __USE_XOPEN || defined __USE_XOPEN2K +/* The Single Unix specification says that some more types are + available here. */ +# ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +# endif + +# ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +# endif +#endif + +/* A record in the user database. */ +struct passwd +{ + char *pw_name; /* Username. */ + char *pw_passwd; /* Hashed passphrase, if shadow database + not in use (see shadow.h). */ + __uid_t pw_uid; /* User ID. */ + __gid_t pw_gid; /* Group ID. */ + char *pw_gecos; /* Real name. */ + char *pw_dir; /* Home directory. */ + char *pw_shell; /* Shell program. */ +}; + + +#ifdef __USE_MISC +# include +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Rewind the user database stream. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setpwent (void); + +/* Close the user database stream. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endpwent (void); + +/* Read an entry from the user database stream, opening it if necessary. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct passwd *getpwent (void); +#endif + +#ifdef __USE_MISC +/* Read a user database entry from STREAM. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct passwd *fgetpwent (FILE *__stream) __nonnull ((1)); + +/* Write a given user database entry onto the given stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int putpwent (const struct passwd *__restrict __p, + FILE *__restrict __f); +#endif + +/* Retrieve the user database entry for the given user ID. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct passwd *getpwuid (__uid_t __uid); + +/* Retrieve the user database entry for the given username. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct passwd *getpwnam (const char *__name) __nonnull ((1)); + +#ifdef __USE_POSIX + +# ifdef __USE_MISC +/* Reasonable value for the buffer sized used in the reentrant + functions below. But better use `sysconf'. */ +# define NSS_BUFLEN_PASSWD 1024 +# endif + +/* Reentrant versions of some of the functions above. + + PLEASE NOTE: the `getpwent_r' function is not (yet) standardized. + The interface may change in later versions of this library. But + the interface is designed following the principals used for the + other reentrant functions so the chances are good this is what the + POSIX people would choose. */ + +# ifdef __USE_MISC +/* This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getpwent_r (struct passwd *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct passwd **__restrict __result) + __nonnull ((1, 2, 4)) + __attr_access ((__write_only__, 2, 3)); +# endif + +extern int getpwuid_r (__uid_t __uid, + struct passwd *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct passwd **__restrict __result) + __nonnull ((2, 3, 5)) + __attr_access ((__write_only__, 3, 4)); + +extern int getpwnam_r (const char *__restrict __name, + struct passwd *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct passwd **__restrict __result) + __nonnull ((1, 2, 3, 5)) + __attr_access ((__write_only__, 3, 4)); + + +# ifdef __USE_MISC +/* Read a user database entry from STREAM. This function is not + standardized and probably never will. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fgetpwent_r (FILE *__restrict __stream, + struct passwd *__restrict __resultbuf, + char *__restrict __buffer, size_t __buflen, + struct passwd **__restrict __result) + __nonnull ((1, 2, 3, 5)) + __attr_access ((__write_only__, 3, 4)); +# endif + +#endif /* POSIX or reentrant */ + +#ifdef __USE_GNU +/* Write a traditional /etc/passwd line, based on the user database + entry for the given UID, to BUFFER; space for BUFFER must be + allocated by the caller. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getpw (__uid_t __uid, char *__buffer); +#endif + +__END_DECLS + +#endif /* pwd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/re_comp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/re_comp.h new file mode 100644 index 00000000..807da5a5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/re_comp.h @@ -0,0 +1,25 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RE_COMP_H +#define _RE_COMP_H 1 + +/* This is only a wrapper around the file. XPG4.2 mentions + this name. */ +#include + +#endif /* re_comp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regdef.h new file mode 100644 index 00000000..db737482 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regdef.h @@ -0,0 +1,24 @@ +/* Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _REGDEF_H +#define _REGDEF_H + +#include +#include + +#endif /* _REGDEF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regex.h new file mode 100644 index 00000000..8bbd92fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regex.h @@ -0,0 +1,703 @@ +/* Definitions for data structures and routines for the regular + expression library. + Copyright (C) 1985, 1989-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _REGEX_H +#define _REGEX_H 1 + +#include + +/* Allow the use in C++ code. */ +#ifdef __cplusplus +extern "C" { +#endif + +/* Define __USE_GNU to declare GNU extensions that violate the + POSIX name space rules. */ +#ifdef _GNU_SOURCE +# define __USE_GNU 1 +#endif + +#ifdef _REGEX_LARGE_OFFSETS + +/* Use types and values that are wide enough to represent signed and + unsigned byte offsets in memory. This currently works only when + the regex code is used outside of the GNU C library; it is not yet + supported within glibc itself, and glibc users should not define + _REGEX_LARGE_OFFSETS. */ + +/* The type of object sizes. */ +typedef size_t __re_size_t; + +/* The type of object sizes, in places where the traditional code + uses unsigned long int. */ +typedef size_t __re_long_size_t; + +#else + +/* The traditional GNU regex implementation mishandles strings longer + than INT_MAX. */ +typedef unsigned int __re_size_t; +typedef unsigned long int __re_long_size_t; + +#endif + +/* The following two types have to be signed and unsigned integer type + wide enough to hold a value of a pointer. For most ANSI compilers + ptrdiff_t and size_t should be likely OK. Still size of these two + types is 2 for Microsoft C. Ugh... */ +typedef long int s_reg_t; +typedef unsigned long int active_reg_t; + +/* The following bits are used to determine the regexp syntax we + recognize. The set/not-set meanings are chosen so that Emacs syntax + remains the value 0. The bits are given in alphabetical order, and + the definitions shifted by one from the previous bit; thus, when we + add or remove a bit, only one other definition need change. */ +typedef unsigned long int reg_syntax_t; + +#ifdef __USE_GNU +/* If this bit is not set, then \ inside a bracket expression is literal. + If set, then such a \ quotes the following character. */ +# define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1) + +/* If this bit is not set, then + and ? are operators, and \+ and \? are + literals. + If set, then \+ and \? are operators and + and ? are literals. */ +# define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1) + +/* If this bit is set, then character classes are supported. They are: + [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], + [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. + If not set, then character classes are not supported. */ +# define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1) + +/* If this bit is set, then ^ and $ are always anchors (outside bracket + expressions, of course). + If this bit is not set, then it depends: + ^ is an anchor if it is at the beginning of a regular + expression or after an open-group or an alternation operator; + $ is an anchor if it is at the end of a regular expression, or + before a close-group or an alternation operator. + + This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because + POSIX draft 11.2 says that * etc. in leading positions is undefined. + We already implemented a previous draft which made those constructs + invalid, though, so we haven't changed the code back. */ +# define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1) + +/* If this bit is set, then special characters are always special + regardless of where they are in the pattern. + If this bit is not set, then special characters are special only in + some contexts; otherwise they are ordinary. Specifically, + * + ? and intervals are only special when not after the beginning, + open-group, or alternation operator. */ +# define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1) + +/* If this bit is set, then *, +, ?, and { cannot be first in an re or + immediately after an alternation or begin-group operator. */ +# define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1) + +/* If this bit is set, then . matches newline. + If not set, then it doesn't. */ +# define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1) + +/* If this bit is set, then . doesn't match NUL. + If not set, then it does. */ +# define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1) + +/* If this bit is set, nonmatching lists [^...] do not match newline. + If not set, they do. */ +# define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1) + +/* If this bit is set, either \{...\} or {...} defines an + interval, depending on RE_NO_BK_BRACES. + If not set, \{, \}, {, and } are literals. */ +# define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) + +/* If this bit is set, +, ? and | aren't recognized as operators. + If not set, they are. */ +# define RE_LIMITED_OPS (RE_INTERVALS << 1) + +/* If this bit is set, newline is an alternation operator. + If not set, newline is literal. */ +# define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1) + +/* If this bit is set, then '{...}' defines an interval, and \{ and \} + are literals. + If not set, then '\{...\}' defines an interval. */ +# define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1) + +/* If this bit is set, (...) defines a group, and \( and \) are literals. + If not set, \(...\) defines a group, and ( and ) are literals. */ +# define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1) + +/* If this bit is set, then \ matches . + If not set, then \ is a back-reference. */ +# define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1) + +/* If this bit is set, then | is an alternation operator, and \| is literal. + If not set, then \| is an alternation operator, and | is literal. */ +# define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1) + +/* If this bit is set, then an ending range point collating higher + than the starting range point, as in [z-a], is invalid. + If not set, then when ending range point collates higher than the + starting range point, the range is ignored. */ +# define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1) + +/* If this bit is set, then an unmatched ) is ordinary. + If not set, then an unmatched ) is invalid. */ +# define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1) + +/* If this bit is set, succeed as soon as we match the whole pattern, + without further backtracking. */ +# define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1) + +/* If this bit is set, do not process the GNU regex operators. + If not set, then the GNU regex operators are recognized. */ +# define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1) + +/* If this bit is set, turn on internal regex debugging. + If not set, and debugging was on, turn it off. + This only works if regex.c is compiled -DDEBUG. + We define this bit always, so that all that's needed to turn on + debugging is to recompile regex.c; the calling code can always have + this bit set, and it won't affect anything in the normal case. */ +# define RE_DEBUG (RE_NO_GNU_OPS << 1) + +/* If this bit is set, a syntactically invalid interval is treated as + a string of ordinary characters. For example, the ERE 'a{1' is + treated as 'a\{1'. */ +# define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1) + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +# define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) + +/* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only + for ^, because it is difficult to scan the regex backwards to find + whether ^ should be special. */ +# define RE_CARET_ANCHORS_HERE (RE_ICASE << 1) + +/* If this bit is set, then \{ cannot be first in a regex or + immediately after an alternation, open-group or \} operator. */ +# define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1) + +/* If this bit is set, then no_sub will be set to 1 during + re_compile_pattern. */ +# define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1) +#endif + +/* This global variable defines the particular regexp syntax to use (for + some interfaces). When a regexp is compiled, the syntax used is + stored in the pattern buffer, so changing this does not affect + already-compiled regexps. */ +extern reg_syntax_t re_syntax_options; + +#ifdef __USE_GNU +/* Define combinations of the above bits for the standard possibilities. + (The [[[ comments delimit what gets put into the Texinfo file, so + don't delete them!) */ +/* [[[begin syntaxes]]] */ +# define RE_SYNTAX_EMACS 0 + +# define RE_SYNTAX_AWK \ + (RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \ + | RE_DOT_NEWLINE | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CHAR_CLASSES \ + | RE_UNMATCHED_RIGHT_PAREN_ORD | RE_NO_GNU_OPS) + +# define RE_SYNTAX_GNU_AWK \ + ((RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INVALID_INTERVAL_ORD) \ + & ~(RE_DOT_NOT_NULL | RE_CONTEXT_INDEP_OPS \ + | RE_CONTEXT_INVALID_OPS )) + +# define RE_SYNTAX_POSIX_AWK \ + (RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS \ + | RE_INTERVALS | RE_NO_GNU_OPS \ + | RE_INVALID_INTERVAL_ORD) + +# define RE_SYNTAX_GREP \ + ((RE_SYNTAX_POSIX_BASIC | RE_NEWLINE_ALT) \ + & ~(RE_CONTEXT_INVALID_DUP | RE_DOT_NOT_NULL)) + +# define RE_SYNTAX_EGREP \ + ((RE_SYNTAX_POSIX_EXTENDED | RE_INVALID_INTERVAL_ORD | RE_NEWLINE_ALT) \ + & ~(RE_CONTEXT_INVALID_OPS | RE_DOT_NOT_NULL)) + +/* POSIX grep -E behavior is no longer incompatible with GNU. */ +# define RE_SYNTAX_POSIX_EGREP \ + RE_SYNTAX_EGREP + +/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */ +# define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC + +# define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC + +/* Syntax bits common to both basic and extended POSIX regex syntax. */ +# define _RE_SYNTAX_POSIX_COMMON \ + (RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \ + | RE_INTERVALS | RE_NO_EMPTY_RANGES) + +# define RE_SYNTAX_POSIX_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM | RE_CONTEXT_INVALID_DUP) + +/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes + RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this + isn't minimal, since other operators, such as \`, aren't disabled. */ +# define RE_SYNTAX_POSIX_MINIMAL_BASIC \ + (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) + +# define RE_SYNTAX_POSIX_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ + | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) + +/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INDEP_OPS is + removed and RE_NO_BK_REFS is added. */ +# define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \ + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_REFS \ + | RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD) +/* [[[end syntaxes]]] */ + +/* Maximum number of duplicates an interval can allow. POSIX-conforming + systems might define this in , but we want our + value, so remove any previous define. */ +# ifdef _REGEX_INCLUDE_LIMITS_H +# include +# endif +# ifdef RE_DUP_MAX +# undef RE_DUP_MAX +# endif + +/* RE_DUP_MAX is 2**15 - 1 because an earlier implementation stored + the counter as a 2-byte signed integer. This is no longer true, so + RE_DUP_MAX could be increased to (INT_MAX / 10 - 1), or to + ((SIZE_MAX - 9) / 10) if _REGEX_LARGE_OFFSETS is defined. + However, there would be a huge performance problem if someone + actually used a pattern like a\{214748363\}, so RE_DUP_MAX retains + its historical value. */ +# define RE_DUP_MAX (0x7fff) +#endif + + +/* POSIX 'cflags' bits (i.e., information for 'regcomp'). */ + +/* If this bit is set, then use extended regular expression syntax. + If not set, then use basic regular expression syntax. */ +#define REG_EXTENDED 1 + +/* If this bit is set, then ignore case when matching. + If not set, then case is significant. */ +#define REG_ICASE (1 << 1) + +/* If this bit is set, then anchors do not match at newline + characters in the string. + If not set, then anchors do match at newlines. */ +#define REG_NEWLINE (1 << 2) + +/* If this bit is set, then report only success or fail in regexec. + If not set, then returns differ between not matching and errors. */ +#define REG_NOSUB (1 << 3) + + +/* POSIX 'eflags' bits (i.e., information for regexec). */ + +/* If this bit is set, then the beginning-of-line operator doesn't match + the beginning of the string (presumably because it's not the + beginning of a line). + If not set, then the beginning-of-line operator does match the + beginning of the string. */ +#define REG_NOTBOL 1 + +/* Like REG_NOTBOL, except for the end-of-line. */ +#define REG_NOTEOL (1 << 1) + +/* Use PMATCH[0] to delimit the start and end of the search in the + buffer. */ +#define REG_STARTEND (1 << 2) + + +/* If any error codes are removed, changed, or added, update the + '__re_error_msgid' table in regcomp.c. */ + +typedef enum +{ + _REG_ENOSYS = -1, /* This will never happen for this implementation. */ + _REG_NOERROR = 0, /* Success. */ + _REG_NOMATCH, /* Didn't find a match (for regexec). */ + + /* POSIX regcomp return error codes. (In the order listed in the + standard.) */ + _REG_BADPAT, /* Invalid pattern. */ + _REG_ECOLLATE, /* Invalid collating element. */ + _REG_ECTYPE, /* Invalid character class name. */ + _REG_EESCAPE, /* Trailing backslash. */ + _REG_ESUBREG, /* Invalid back reference. */ + _REG_EBRACK, /* Unmatched left bracket. */ + _REG_EPAREN, /* Parenthesis imbalance. */ + _REG_EBRACE, /* Unmatched \{. */ + _REG_BADBR, /* Invalid contents of \{\}. */ + _REG_ERANGE, /* Invalid range end. */ + _REG_ESPACE, /* Ran out of memory. */ + _REG_BADRPT, /* No preceding re for repetition op. */ + + /* Error codes we've added. */ + _REG_EEND, /* Premature end. */ + _REG_ESIZE, /* Too large (e.g., repeat count too large). */ + _REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */ +} reg_errcode_t; + +#if defined _XOPEN_SOURCE || defined __USE_XOPEN2K +# define REG_ENOSYS _REG_ENOSYS +#endif +#define REG_NOERROR _REG_NOERROR +#define REG_NOMATCH _REG_NOMATCH +#define REG_BADPAT _REG_BADPAT +#define REG_ECOLLATE _REG_ECOLLATE +#define REG_ECTYPE _REG_ECTYPE +#define REG_EESCAPE _REG_EESCAPE +#define REG_ESUBREG _REG_ESUBREG +#define REG_EBRACK _REG_EBRACK +#define REG_EPAREN _REG_EPAREN +#define REG_EBRACE _REG_EBRACE +#define REG_BADBR _REG_BADBR +#define REG_ERANGE _REG_ERANGE +#define REG_ESPACE _REG_ESPACE +#define REG_BADRPT _REG_BADRPT +#define REG_EEND _REG_EEND +#define REG_ESIZE _REG_ESIZE +#define REG_ERPAREN _REG_ERPAREN + +/* This data structure represents a compiled pattern. Before calling + the pattern compiler, the fields 'buffer', 'allocated', 'fastmap', + and 'translate' can be set. After the pattern has been compiled, + the fields 're_nsub', 'not_bol' and 'not_eol' are available. All + other fields are private to the regex routines. */ + +#ifndef RE_TRANSLATE_TYPE +# define __RE_TRANSLATE_TYPE unsigned char * +# ifdef __USE_GNU +# define RE_TRANSLATE_TYPE __RE_TRANSLATE_TYPE +# endif +#endif + +#ifdef __USE_GNU +# define __REPB_PREFIX(name) name +#else +# define __REPB_PREFIX(name) __##name +#endif + +struct re_pattern_buffer +{ + /* Space that holds the compiled pattern. The type + 'struct re_dfa_t' is private and is not declared here. */ + struct re_dfa_t *__REPB_PREFIX(buffer); + + /* Number of bytes to which 'buffer' points. */ + __re_long_size_t __REPB_PREFIX(allocated); + + /* Number of bytes actually used in 'buffer'. */ + __re_long_size_t __REPB_PREFIX(used); + + /* Syntax setting with which the pattern was compiled. */ + reg_syntax_t __REPB_PREFIX(syntax); + + /* Pointer to a fastmap, if any, otherwise zero. re_search uses the + fastmap, if there is one, to skip over impossible starting points + for matches. */ + char *__REPB_PREFIX(fastmap); + + /* Either a translate table to apply to all characters before + comparing them, or zero for no translation. The translation is + applied to a pattern when it is compiled and to a string when it + is matched. */ + __RE_TRANSLATE_TYPE __REPB_PREFIX(translate); + + /* Number of subexpressions found by the compiler. */ + size_t re_nsub; + + /* Zero if this pattern cannot match the empty string, one else. + Well, in truth it's used only in 're_search_2', to see whether or + not we should use the fastmap, so we don't set this absolutely + perfectly; see 're_compile_fastmap' (the "duplicate" case). */ + unsigned __REPB_PREFIX(can_be_null) : 1; + + /* If REGS_UNALLOCATED, allocate space in the 'regs' structure + for 'max (RE_NREGS, re_nsub + 1)' groups. + If REGS_REALLOCATE, reallocate space if necessary. + If REGS_FIXED, use what's there. */ +#ifdef __USE_GNU +# define REGS_UNALLOCATED 0 +# define REGS_REALLOCATE 1 +# define REGS_FIXED 2 +#endif + unsigned __REPB_PREFIX(regs_allocated) : 2; + + /* Set to zero when 're_compile_pattern' compiles a pattern; set to + one by 're_compile_fastmap' if it updates the fastmap. */ + unsigned __REPB_PREFIX(fastmap_accurate) : 1; + + /* If set, 're_match_2' does not return information about + subexpressions. */ + unsigned __REPB_PREFIX(no_sub) : 1; + + /* If set, a beginning-of-line anchor doesn't match at the beginning + of the string. */ + unsigned __REPB_PREFIX(not_bol) : 1; + + /* Similarly for an end-of-line anchor. */ + unsigned __REPB_PREFIX(not_eol) : 1; + + /* If true, an anchor at a newline matches. */ + unsigned __REPB_PREFIX(newline_anchor) : 1; +}; + +typedef struct re_pattern_buffer regex_t; + +/* Type for byte offsets within the string. POSIX mandates this. */ +#ifdef _REGEX_LARGE_OFFSETS +/* POSIX 1003.1-2008 requires that regoff_t be at least as wide as + ptrdiff_t and ssize_t. We don't know of any hosts where ptrdiff_t + is wider than ssize_t, so ssize_t is safe. ptrdiff_t is not + visible here, so use ssize_t. */ +typedef ssize_t regoff_t; +#else +/* The traditional GNU regex implementation mishandles strings longer + than INT_MAX. */ +typedef int regoff_t; +#endif + + +#ifdef __USE_GNU +/* This is the structure we store register match data in. See + regex.texinfo for a full description of what registers match. */ +struct re_registers +{ + __re_size_t num_regs; + regoff_t *start; + regoff_t *end; +}; + + +/* If 'regs_allocated' is REGS_UNALLOCATED in the pattern buffer, + 're_match_2' returns information about at least this many registers + the first time a 'regs' structure is passed. */ +# ifndef RE_NREGS +# define RE_NREGS 30 +# endif +#endif + + +/* POSIX specification for registers. Aside from the different names than + 're_registers', POSIX uses an array of structures, instead of a + structure of arrays. */ +typedef struct +{ + regoff_t rm_so; /* Byte offset from string's start to substring's start. */ + regoff_t rm_eo; /* Byte offset from string's start to substring's end. */ +} regmatch_t; + +/* Declarations for routines. */ + +#ifndef _REGEX_NELTS +# if (defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__ \ + && !defined __STDC_NO_VLA__) +# define _REGEX_NELTS(n) n +# else +# define _REGEX_NELTS(n) +# endif +#endif + +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wvla" +#endif + +#ifndef _Attr_access_ +# ifdef __attr_access +# define _Attr_access_(arg) __attr_access (arg) +# elif defined __GNUC__ && 10 <= __GNUC__ +# define _Attr_access_(x) __attribute__ ((__access__ x)) +# else +# define _Attr_access_(x) +# endif +#endif + +#ifdef __USE_GNU +/* Sets the current default syntax to SYNTAX, and return the old syntax. + You can also simply assign to the 're_syntax_options' variable. */ +extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax); + +/* Compile the regular expression PATTERN, with length LENGTH + and syntax given by the global 're_syntax_options', into the buffer + BUFFER. Return NULL if successful, and an error string if not. + + To free the allocated storage, you must call 'regfree' on BUFFER. + Note that the translate table must either have been initialized by + 'regcomp', with a malloc'ed value, or set to NULL before calling + 'regfree'. */ +extern const char *re_compile_pattern (const char *__pattern, size_t __length, + struct re_pattern_buffer *__buffer) + _Attr_access_ ((__read_only__, 1, 2)); + + +/* Compile a fastmap for the compiled pattern in BUFFER; used to + accelerate searches. Return 0 if successful and -2 if was an + internal error. */ +extern int re_compile_fastmap (struct re_pattern_buffer *__buffer); + + +/* Search in the string STRING (with length LENGTH) for the pattern + compiled into BUFFER. Start searching at position START, for RANGE + characters. Return the starting position of the match, -1 for no + match, or -2 for an internal error. Also return register + information in REGS (if REGS and BUFFER->no_sub are nonzero). */ +extern regoff_t re_search (struct re_pattern_buffer *__buffer, + const char *__String, regoff_t __length, + regoff_t __start, regoff_t __range, + struct re_registers *__regs) + _Attr_access_ ((__read_only__, 2, 3)); + + +/* Like 're_search', but search in the concatenation of STRING1 and + STRING2. Also, stop searching at index START + STOP. */ +extern regoff_t re_search_2 (struct re_pattern_buffer *__buffer, + const char *__string1, regoff_t __length1, + const char *__string2, regoff_t __length2, + regoff_t __start, regoff_t __range, + struct re_registers *__regs, + regoff_t __stop) + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); + + +/* Like 're_search', but return how many characters in STRING the regexp + in BUFFER matched, starting at position START. */ +extern regoff_t re_match (struct re_pattern_buffer *__buffer, + const char *__String, regoff_t __length, + regoff_t __start, struct re_registers *__regs) + _Attr_access_ ((__read_only__, 2, 3)); + + +/* Relates to 're_match' as 're_search_2' relates to 're_search'. */ +extern regoff_t re_match_2 (struct re_pattern_buffer *__buffer, + const char *__string1, regoff_t __length1, + const char *__string2, regoff_t __length2, + regoff_t __start, struct re_registers *__regs, + regoff_t __stop) + _Attr_access_ ((__read_only__, 2, 3)) + _Attr_access_ ((__read_only__, 4, 5)); + + +/* Set REGS to hold NUM_REGS registers, storing them in STARTS and + ENDS. Subsequent matches using BUFFER and REGS will use this memory + for recording register information. STARTS and ENDS must be + allocated with malloc, and must each be at least 'NUM_REGS * sizeof + (regoff_t)' bytes long. + + If NUM_REGS == 0, then subsequent matches should allocate their own + register data. + + Unless this function is called, the first search or match using + BUFFER will allocate its own register data, without + freeing the old data. */ +extern void re_set_registers (struct re_pattern_buffer *__buffer, + struct re_registers *__regs, + __re_size_t __num_regs, + regoff_t *__starts, regoff_t *__ends); +#endif /* Use GNU */ + +#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_MISC) +/* 4.2 bsd compatibility. */ +extern char *re_comp (const char *); +extern int re_exec (const char *); +#endif + +/* For plain 'restrict', use glibc's __restrict if defined. + Otherwise, GCC 2.95 and later have "__restrict"; C99 compilers have + "restrict", and "configure" may have defined "restrict". + Other compilers use __restrict, __restrict__, and _Restrict, and + 'configure' might #define 'restrict' to those words, so pick a + different name. */ +#ifndef _Restrict_ +# if defined __restrict \ + || 2 < __GNUC__ + (95 <= __GNUC_MINOR__) \ + || __clang_major__ >= 3 +# define _Restrict_ __restrict +# else +# if 199901L <= __STDC_VERSION__ || defined restrict +# define _Restrict_ restrict +# else +# define _Restrict_ +# endif +# endif +#endif +/* For the ISO C99 syntax + array_name[restrict] + use glibc's __restrict_arr if available. + Otherwise, GCC 3.1 and clang support this syntax (but not in C++ mode). + Other ISO C99 compilers support it as well. */ +#ifndef _Restrict_arr_ +# ifdef __restrict_arr +# define _Restrict_arr_ __restrict_arr +# else +# if ((199901L <= __STDC_VERSION__ \ + || 3 < __GNUC__ + (1 <= __GNUC_MINOR__) \ + || __clang_major__ >= 3) \ + && !defined __cplusplus) +# define _Restrict_arr_ _Restrict_ +# else +# define _Restrict_arr_ +# endif +# endif +#endif + +/* POSIX compatibility. */ +extern int regcomp (regex_t *_Restrict_ __preg, + const char *_Restrict_ __pattern, + int __cflags); + +extern int regexec (const regex_t *_Restrict_ __preg, + const char *_Restrict_ __String, size_t __nmatch, + regmatch_t __pmatch[_Restrict_arr_ + _REGEX_NELTS (__nmatch)], + int __eflags); + +extern size_t regerror (int __errcode, const regex_t *_Restrict_ __preg, + char *_Restrict_ __errbuf, size_t __errbuf_size) + _Attr_access_ ((__write_only__, 3, 4)); + +extern void regfree (regex_t *__preg); + +#if defined __GNUC__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__) +# pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif /* C++ */ + +#endif /* regex.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regexp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regexp.h new file mode 100644 index 00000000..02ff4463 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/regexp.h @@ -0,0 +1,32 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _REGEXP_H +#define _REGEXP_H 1 + +/* The contents of this header file were originally standardized in + the Single Unix Specification, Issue 3 (1992). In Issue 4 (1994) + the header was marked as TO BE WITHDRAWN, and new applications + were encouraged to use instead. It was officially + withdrawn from the standard in Issue 6 (aka POSIX.1-2001). + + The GNU C Library provided this header through version 2.22. */ + +#error "The GNU C Library no longer implements ." +#error "Please update your code to use instead (no trailing 'p')." + +#endif /* regexp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/resolv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/resolv.h new file mode 100644 index 00000000..9bdbc09e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/resolv.h @@ -0,0 +1,339 @@ +/* + * Copyright (c) 1983, 1987, 1989 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +/* + * Portions Copyright (c) 1996-1999 by Internet Software Consortium. + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS + * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE + * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS + * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + * SOFTWARE. + */ + +/* + * @(#)resolv.h 8.1 (Berkeley) 6/2/93 + * $BINDId: resolv.h,v 8.31 2000/03/30 20:16:50 vixie Exp $ + */ + +#ifndef _RESOLV_H_ +#define _RESOLV_H_ + +#include +#include +#include +#include +#include +#include +#include + +/* + * Global defines and variables for resolver stub. + */ +#define LOCALDOMAINPARTS 2 /* min levels in name that is "local" */ + +#define RES_TIMEOUT 5 /* min. seconds between retries */ +#define RES_MAXNDOTS 15 /* should reflect bit field size */ +#define RES_MAXRETRANS 30 /* only for resolv.conf/RES_OPTIONS */ +#define RES_MAXRETRY 5 /* only for resolv.conf/RES_OPTIONS */ +#define RES_DFLRETRY 2 /* Default #/tries. */ +#define RES_MAXTIME 65535 /* Infinity, in milliseconds. */ + +#define nsaddr nsaddr_list[0] /* for backward compatibility */ + +/* + * Revision information. This is the release date in YYYYMMDD format. + * It can change every day so the right thing to do with it is use it + * in preprocessor commands such as "#if (__RES > 19931104)". Do not + * compare for equality; rather, use it to determine whether your resolver + * is new enough to contain a certain feature. + */ + +#define __RES 19991006 + +/* + * Resolver configuration file. + * Normally not present, but may contain the address of the + * initial name server(s) to query and the domain search list. + */ + +#ifndef _PATH_RESCONF +#define _PATH_RESCONF "/etc/resolv.conf" +#endif + +struct res_sym { + int number; /* Identifying number, like T_MX */ + char * name; /* Its symbolic name, like "MX" */ + char * humanname; /* Its fun name, like "mail exchanger" */ +}; + +/* + * Resolver options (keep these in synch with res_debug.c, please) + */ +#define RES_INIT 0x00000001 /* address initialized */ +#define RES_DEBUG 0x00000002 /* print debug messages */ +#define RES_AAONLY \ + __glibc_macro_warning ("RES_AAONLY is deprecated") 0x00000004 +#define RES_USEVC 0x00000008 /* use virtual circuit */ +#define RES_PRIMARY \ + __glibc_macro_warning ("RES_PRIMARY is deprecated") 0x00000010 +#define RES_IGNTC 0x00000020 /* ignore trucation errors */ +#define RES_RECURSE 0x00000040 /* recursion desired */ +#define RES_DEFNAMES 0x00000080 /* use default domain name */ +#define RES_STAYOPEN 0x00000100 /* Keep TCP socket open */ +#define RES_DNSRCH 0x00000200 /* search up local domain tree */ +#define RES_NOALIASES 0x00001000 /* shuts off HOSTALIASES feature */ +#define RES_ROTATE 0x00004000 /* rotate ns list after each query */ +#define RES_NOCHECKNAME \ + __glibc_macro_warning ("RES_NOCHECKNAME is deprecated") 0x00008000 +#define RES_KEEPTSIG \ + __glibc_macro_warning ("RES_KEEPTSIG is deprecated") 0x00010000 +#define RES_BLAST \ + __glibc_macro_warning ("RES_BLAST is deprecated") 0x00020000 +#define RES_USE_EDNS0 0x00100000 /* Use EDNS0. */ +#define RES_SNGLKUP 0x00200000 /* one outstanding request at a time */ +#define RES_SNGLKUPREOP 0x00400000 /* -"-, but open new socket for each + request */ +#define RES_USE_DNSSEC 0x00800000 /* use DNSSEC using OK bit in OPT */ +#define RES_NOTLDQUERY 0x01000000 /* Do not look up unqualified name + as a TLD. */ +#define RES_NORELOAD 0x02000000 /* No automatic configuration reload. */ +#define RES_TRUSTAD 0x04000000 /* Request AD bit, keep it in responses. */ +#define RES_NOAAAA 0x08000000 /* Suppress AAAA queries. */ +#define RES_STRICTERR 0x10000000 /* Report more DNS errors as errors. */ + +#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH) + +/* + * Resolver "pfcode" values. Used by dig. + */ +#define RES_PRF_STATS 0x00000001 +#define RES_PRF_UPDATE 0x00000002 +#define RES_PRF_CLASS 0x00000004 +#define RES_PRF_CMD 0x00000008 +#define RES_PRF_QUES 0x00000010 +#define RES_PRF_ANS 0x00000020 +#define RES_PRF_AUTH 0x00000040 +#define RES_PRF_ADD 0x00000080 +#define RES_PRF_HEAD1 0x00000100 +#define RES_PRF_HEAD2 0x00000200 +#define RES_PRF_TTLID 0x00000400 +#define RES_PRF_HEADX 0x00000800 +#define RES_PRF_QUERY 0x00001000 +#define RES_PRF_REPLY 0x00002000 +#define RES_PRF_INIT 0x00004000 +/* 0x00008000 */ + +/* Things involving an internal (static) resolver context. */ +__BEGIN_DECLS +extern struct __res_state *__res_state(void) __attribute__ ((__const__)); +__END_DECLS +#define _res (*__res_state()) + +#define fp_nquery __fp_nquery +#define fp_query __fp_query +#define hostalias __hostalias +#define p_query __p_query +#define res_close __res_close +#define res_init __res_init +#define res_isourserver __res_isourserver + +/* In glibc 2.33 and earlier res_search, res_nsearch, res_query, res_nquery, + * res_querydomain, res_nquerydomain, dn_skipname, dn_comp, dn_expand were + * #define'd to __res_search, __res_nsearch, etc. glibc 2.34 onwards removes + * the macros and exposes the symbols directly. New glibc exposes compat + * symbols with underscores for backwards compatibility. Applications linked to + * glibc 2.34+ are expected to use the non-underscored symbols. + * + * It is enough to bring the macros back when compiling against the older glibc + * versions. + * + * See glibc commits: + * - ea9878ec271c791880fcbbe519d70c42f8113750 res_* + * - 391e02236b931132c0e8b5ba4c3b087c2aaa1044 dn_skipname + * - fd8a87c0c1932de591e7ad108ff6288a4b6b18c9 dn_comp + * - 640bbdf71c6f10ac26252ac67a22902e26657bd8 dn_expand + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ < 34) +#define res_search __res_search +#define res_nsearch __res_nsearch +#define res_query __res_query +#define res_nquery __res_nquery +#define res_querydomain __res_querydomain +#define res_nquerydomain __res_nquerydomain +#define dn_skipname __dn_skipname +#define dn_comp __dn_comp +#define dn_expand __dn_expand +#endif +/* end glibc compat hacks */ + +#ifdef _LIBC +# define __RESOLV_DEPRECATED +# define __RESOLV_DEPRECATED_MSG(msg) +#else +# define __RESOLV_DEPRECATED __attribute_deprecated__ +# define __RESOLV_DEPRECATED_MSG(msg) __attribute_deprecated_msg__ (msg) +#endif + +__BEGIN_DECLS +void fp_nquery (const unsigned char *, int, FILE *) __THROW + __RESOLV_DEPRECATED; +void fp_query (const unsigned char *, FILE *) __THROW + __RESOLV_DEPRECATED; +const char * hostalias (const char *) __THROW + __RESOLV_DEPRECATED_MSG ("use getaddrinfo instead"); +void p_query (const unsigned char *) __THROW + __RESOLV_DEPRECATED; +void res_close (void) __THROW; +int res_init (void) __THROW; +int res_isourserver (const struct sockaddr_in *) __THROW + __RESOLV_DEPRECATED; +int res_mkquery (int, const char *, int, int, + const unsigned char *, int, const unsigned char *, + unsigned char *, int) __THROW; +int res_query (const char *, int, int, unsigned char *, int) + __THROW; +int res_querydomain (const char *, const char *, int, int, + unsigned char *, int) __THROW; +int res_search (const char *, int, int, unsigned char *, int) + __THROW; +int res_send (const unsigned char *, int, unsigned char *, int) + __THROW; +__END_DECLS + +#define b64_ntop __b64_ntop +#define b64_pton __b64_pton +#define dn_count_labels __dn_count_labels +#define fp_resstat __fp_resstat +#define loc_aton __loc_aton +#define loc_ntoa __loc_ntoa +#define p_cdname __p_cdname +#define p_cdnname __p_cdnname +#define p_class __p_class +#define p_fqname __p_fqname +#define p_fqnname __p_fqnname +#define p_option __p_option +#define p_time __p_time +#define p_type __p_type +#define p_rcode __p_rcode +#define putlong __putlong +#define putshort __putshort +#define res_hostalias __res_hostalias +#define res_nameinquery __res_nameinquery +#define res_nclose __res_nclose +#define res_ninit __res_ninit +#define res_queriesmatch __res_queriesmatch +#define res_randomid __res_randomid +#define sym_ntop __sym_ntop +#define sym_ntos __sym_ntos +#define sym_ston __sym_ston +__BEGIN_DECLS +int res_hnok (const char *) __THROW; +int res_ownok (const char *) __THROW; +int res_mailok (const char *) __THROW; +int res_dnok (const char *) __THROW; +int sym_ston (const struct res_sym *, const char *, int *) __THROW + __RESOLV_DEPRECATED; +const char * sym_ntos (const struct res_sym *, int, int *) __THROW + __RESOLV_DEPRECATED; +const char * sym_ntop (const struct res_sym *, int, int *) __THROW + __RESOLV_DEPRECATED; +int b64_ntop (const unsigned char *, size_t, char *, size_t) + __THROW; +int b64_pton (char const *, unsigned char *, size_t) __THROW; +int loc_aton (const char *__ascii, unsigned char *__binary) __THROW + __RESOLV_DEPRECATED; +const char * loc_ntoa (const unsigned char *__binary, char *__ascii) __THROW + __RESOLV_DEPRECATED; +int dn_skipname (const unsigned char *, const unsigned char *) + __THROW; +void putlong (uint32_t, unsigned char *) __THROW + __RESOLV_DEPRECATED_MSG ("use NS_PUT16 instead"); +void putshort (uint16_t, unsigned char *) __THROW + __RESOLV_DEPRECATED_MSG ("use NS_PUT32 instead"); +const char * p_class (int) __THROW __RESOLV_DEPRECATED; +const char * p_time (uint32_t) __THROW __RESOLV_DEPRECATED; +const char * p_type (int) __THROW __RESOLV_DEPRECATED; +const char * p_rcode (int) __THROW __RESOLV_DEPRECATED; +const unsigned char * p_cdnname (const unsigned char *, const unsigned char *, + int, FILE *) __THROW __RESOLV_DEPRECATED; +const unsigned char * p_cdname (const unsigned char *, const unsigned char *, + FILE *) __THROW __RESOLV_DEPRECATED; +const unsigned char * p_fqnname (const unsigned char *__cp, + const unsigned char *__msg, + int, char *, int) __THROW __RESOLV_DEPRECATED; +const unsigned char * p_fqname (const unsigned char *, const unsigned char *, + FILE *) __THROW __RESOLV_DEPRECATED; +const char * p_option (unsigned long __option) __THROW __RESOLV_DEPRECATED; +int dn_count_labels (const char *) __THROW __RESOLV_DEPRECATED; +int dn_comp (const char *, unsigned char *, int, unsigned char **, + unsigned char **) __THROW; +int dn_expand (const unsigned char *, const unsigned char *, + const unsigned char *, char *, int) __THROW; +unsigned int res_randomid (void) __THROW + __RESOLV_DEPRECATED_MSG ("use getentropy instead"); +int res_nameinquery (const char *, int, int, + const unsigned char *, + const unsigned char *) __THROW + __RESOLV_DEPRECATED; +int res_queriesmatch (const unsigned char *, + const unsigned char *, + const unsigned char *, + const unsigned char *) __THROW + __RESOLV_DEPRECATED; +/* Things involving a resolver context. */ +int res_ninit (res_state) __THROW; +void fp_resstat (const res_state, FILE *) __THROW + __RESOLV_DEPRECATED; +const char * res_hostalias (const res_state, const char *, char *, size_t) + __THROW __RESOLV_DEPRECATED_MSG ("use getaddrinfo instead"); +int res_nquery (res_state, const char *, int, int, + unsigned char *, int) __THROW; +int res_nsearch (res_state, const char *, int, int, + unsigned char *, int) __THROW; +int res_nquerydomain (res_state, const char *, const char *, int, + int, unsigned char *, int) __THROW; +int res_nmkquery (res_state, int, const char *, int, int, + const unsigned char *, int, + const unsigned char *, unsigned char *, int) + __THROW; +int res_nsend (res_state, const unsigned char *, int, + unsigned char *, int) __THROW; +void res_nclose (res_state) __THROW; + +__END_DECLS + +#endif /* !_RESOLV_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/rpc/netdb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/rpc/netdb.h new file mode 100644 index 00000000..14121a6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/rpc/netdb.h @@ -0,0 +1,74 @@ +/* @(#)netdb.h 2.1 88/07/29 3.9 RPCSRC */ +/* + * Copyright (c) 2010, Oracle America, Inc. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials + * provided with the distribution. + * * Neither the name of the "Oracle America, Inc." nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Cleaned up for GNU C library roland@gnu.ai.mit.edu: + added multiple inclusion protection and use of . + In GNU this file is #include'd by . */ + +#ifndef _RPC_NETDB_H +#define _RPC_NETDB_H 1 + +#include + +#define __need_size_t +#include + +__BEGIN_DECLS + +struct rpcent +{ + char *r_name; /* Name of server for this rpc program. */ + char **r_aliases; /* Alias list. */ + int r_number; /* RPC program number. */ +}; + +extern void setrpcent (int __stayopen) __THROW; +extern void endrpcent (void) __THROW; +extern struct rpcent *getrpcbyname (const char *__name) __THROW; +extern struct rpcent *getrpcbynumber (int __number) __THROW; +extern struct rpcent *getrpcent (void) __THROW; + +#ifdef __USE_MISC +extern int getrpcbyname_r (const char *__name, struct rpcent *__result_buf, + char *__buffer, size_t __buflen, + struct rpcent **__result) __THROW; + +extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, + char *__buffer, size_t __buflen, + struct rpcent **__result) __THROW; + +extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, + size_t __buflen, struct rpcent **__result) __THROW; +#endif + +__END_DECLS + +#endif /* rpc/netdb.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sched.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sched.h new file mode 100644 index 00000000..0a44b8d5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sched.h @@ -0,0 +1,140 @@ +/* Definitions for POSIX 1003.1b-1993 (aka POSIX.4) scheduling interface. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SCHED_H +#define _SCHED_H 1 + +#include + +/* Get type definitions. */ +#include + +#define __need_size_t +#define __need_NULL +#include + +#include +#include +#ifndef __USE_XOPEN2K +# include +#endif + +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +/* Get system specific constant and data structure definitions. */ +#include +#include + +/* Backward compatibility. */ +#define sched_priority sched_priority +#define __sched_priority sched_priority + + +__BEGIN_DECLS + +/* Set scheduling parameters for a process. */ +extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) + __THROW; + +/* Retrieve scheduling parameters for a particular process. */ +extern int sched_getparam (__pid_t __pid, struct sched_param *__param) __THROW; + +/* Set scheduling algorithm and/or parameters for a process. */ +extern int sched_setscheduler (__pid_t __pid, int __policy, + const struct sched_param *__param) __THROW; + +/* Retrieve scheduling algorithm for a particular purpose. */ +extern int sched_getscheduler (__pid_t __pid) __THROW; + +/* Yield the processor. */ +extern int sched_yield (void) __THROW; + +/* Get maximum priority value for a scheduler. */ +extern int sched_get_priority_max (int __algorithm) __THROW; + +/* Get minimum priority value for a scheduler. */ +extern int sched_get_priority_min (int __algorithm) __THROW; + +/* Get the SCHED_RR interval for the named process. */ +#ifndef __USE_TIME64_REDIRECTS +extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW; +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (sched_rr_get_interval, + (__pid_t __pid, struct timespec *__t), + __sched_rr_get_interval64); +# else +# define sched_rr_get_interval __sched_rr_get_interval64 +# endif +#endif + +#ifdef __USE_GNU +/* Access macros for `cpu_set'. */ +# define CPU_SETSIZE __CPU_SETSIZE +# define CPU_SET(cpu, cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp) +# define CPU_CLR(cpu, cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp) +# define CPU_ISSET(cpu, cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), \ + cpusetp) +# define CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp) +# define CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp) + +# define CPU_SET_S(cpu, setsize, cpusetp) __CPU_SET_S (cpu, setsize, cpusetp) +# define CPU_CLR_S(cpu, setsize, cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp) +# define CPU_ISSET_S(cpu, setsize, cpusetp) __CPU_ISSET_S (cpu, setsize, \ + cpusetp) +# define CPU_ZERO_S(setsize, cpusetp) __CPU_ZERO_S (setsize, cpusetp) +# define CPU_COUNT_S(setsize, cpusetp) __CPU_COUNT_S (setsize, cpusetp) + +# define CPU_EQUAL(cpusetp1, cpusetp2) \ + __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2) +# define CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \ + __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2) + +# define CPU_AND(destset, srcset1, srcset2) \ + __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &) +# define CPU_OR(destset, srcset1, srcset2) \ + __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |) +# define CPU_XOR(destset, srcset1, srcset2) \ + __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^) +# define CPU_AND_S(setsize, destset, srcset1, srcset2) \ + __CPU_OP_S (setsize, destset, srcset1, srcset2, &) +# define CPU_OR_S(setsize, destset, srcset1, srcset2) \ + __CPU_OP_S (setsize, destset, srcset1, srcset2, |) +# define CPU_XOR_S(setsize, destset, srcset1, srcset2) \ + __CPU_OP_S (setsize, destset, srcset1, srcset2, ^) + +# define CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count) +# define CPU_ALLOC(count) __CPU_ALLOC (count) +# define CPU_FREE(cpuset) __CPU_FREE (cpuset) + + +/* Set the CPU affinity for a task */ +extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, + const cpu_set_t *__cpuset) __THROW; + +/* Get the CPU affinity for a task */ +extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, + cpu_set_t *__cpuset) __THROW; +#endif + +__END_DECLS + +#endif /* sched.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi.h new file mode 100644 index 00000000..925b2d8a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi.h @@ -0,0 +1,225 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * This header file contains public constants and structures used by + * the scsi code for linux. + */ + +#ifndef _SCSI_SCSI_H +#define _SCSI_SCSI_H 1 + +#include + +/* + * SCSI opcodes + */ + +#define TEST_UNIT_READY 0x00 +#define REZERO_UNIT 0x01 +#define REQUEST_SENSE 0x03 +#define FORMAT_UNIT 0x04 +#define READ_BLOCK_LIMITS 0x05 +#define REASSIGN_BLOCKS 0x07 +#define READ_6 0x08 +#define WRITE_6 0x0a +#define SEEK_6 0x0b +#define READ_REVERSE 0x0f +#define WRITE_FILEMARKS 0x10 +#define SPACE 0x11 +#define INQUIRY 0x12 +#define RECOVER_BUFFERED_DATA 0x14 +#define MODE_SELECT 0x15 +#define RESERVE 0x16 +#define RELEASE 0x17 +#define COPY 0x18 +#define ERASE 0x19 +#define MODE_SENSE 0x1a +#define START_STOP 0x1b +#define RECEIVE_DIAGNOSTIC 0x1c +#define SEND_DIAGNOSTIC 0x1d +#define ALLOW_MEDIUM_REMOVAL 0x1e + +#define SET_WINDOW 0x24 +#define READ_CAPACITY 0x25 +#define READ_10 0x28 +#define WRITE_10 0x2a +#define SEEK_10 0x2b +#define WRITE_VERIFY 0x2e +#define VERIFY 0x2f +#define SEARCH_HIGH 0x30 +#define SEARCH_EQUAL 0x31 +#define SEARCH_LOW 0x32 +#define SET_LIMITS 0x33 +#define PRE_FETCH 0x34 +#define READ_POSITION 0x34 +#define SYNCHRONIZE_CACHE 0x35 +#define LOCK_UNLOCK_CACHE 0x36 +#define READ_DEFECT_DATA 0x37 +#define MEDIUM_SCAN 0x38 +#define COMPARE 0x39 +#define COPY_VERIFY 0x3a +#define WRITE_BUFFER 0x3b +#define READ_BUFFER 0x3c +#define UPDATE_BLOCK 0x3d +#define READ_LONG 0x3e +#define WRITE_LONG 0x3f +#define CHANGE_DEFINITION 0x40 +#define WRITE_SAME 0x41 +#define READ_TOC 0x43 +#define LOG_SELECT 0x4c +#define LOG_SENSE 0x4d +#define MODE_SELECT_10 0x55 +#define RESERVE_10 0x56 +#define RELEASE_10 0x57 +#define MODE_SENSE_10 0x5a +#define PERSISTENT_RESERVE_IN 0x5e +#define PERSISTENT_RESERVE_OUT 0x5f +#define MOVE_MEDIUM 0xa5 +#define READ_12 0xa8 +#define WRITE_12 0xaa +#define WRITE_VERIFY_12 0xae +#define SEARCH_HIGH_12 0xb0 +#define SEARCH_EQUAL_12 0xb1 +#define SEARCH_LOW_12 0xb2 +#define READ_ELEMENT_STATUS 0xb8 +#define SEND_VOLUME_TAG 0xb6 +#define WRITE_LONG_2 0xea + +/* + * Status codes + */ + +#define GOOD 0x00 +#define CHECK_CONDITION 0x01 +#define CONDITION_GOOD 0x02 +#define BUSY 0x04 +#define INTERMEDIATE_GOOD 0x08 +#define INTERMEDIATE_C_GOOD 0x0a +#define RESERVATION_CONFLICT 0x0c +#define COMMAND_TERMINATED 0x11 +#define QUEUE_FULL 0x14 + +#define STATUS_MASK 0x3e + +/* + * SENSE KEYS + */ + +#define NO_SENSE 0x00 +#define RECOVERED_ERROR 0x01 +#define NOT_READY 0x02 +#define MEDIUM_ERROR 0x03 +#define HARDWARE_ERROR 0x04 +#define ILLEGAL_REQUEST 0x05 +#define UNIT_ATTENTION 0x06 +#define DATA_PROTECT 0x07 +#define BLANK_CHECK 0x08 +#define COPY_ABORTED 0x0a +#define ABORTED_COMMAND 0x0b +#define VOLUME_OVERFLOW 0x0d +#define MISCOMPARE 0x0e + + +/* + * DEVICE TYPES + */ + +#define TYPE_DISK 0x00 +#define TYPE_TAPE 0x01 +#define TYPE_PROCESSOR 0x03 /* HP scanners use this */ +#define TYPE_WORM 0x04 /* Treated as ROM by our system */ +#define TYPE_ROM 0x05 +#define TYPE_SCANNER 0x06 +#define TYPE_MOD 0x07 /* Magneto-optical disk - + * - treated as TYPE_DISK */ +#define TYPE_MEDIUM_CHANGER 0x08 +#define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */ +#define TYPE_NO_LUN 0x7f + +/* + * standard mode-select header prepended to all mode-select commands + * + * moved here from cdrom.h -- kraxel + */ + +struct ccs_modesel_head + { + unsigned char _r1; /* reserved. */ + unsigned char medium; /* device-specific medium type. */ + unsigned char _r2; /* reserved. */ + unsigned char block_desc_length; /* block descriptor length. */ + unsigned char density; /* device-specific density code. */ + unsigned char number_blocks_hi; /* number of blocks in this block + desc. */ + unsigned char number_blocks_med; + unsigned char number_blocks_lo; + unsigned char _r3; + unsigned char block_length_hi; /* block length for blocks in this + desc. */ + unsigned char block_length_med; + unsigned char block_length_lo; + }; + +/* + * MESSAGE CODES + */ + +#define COMMAND_COMPLETE 0x00 +#define EXTENDED_MESSAGE 0x01 +#define EXTENDED_MODIFY_DATA_POINTER 0x00 +#define EXTENDED_SDTR 0x01 +#define EXTENDED_EXTENDED_IDENTIFY 0x02 /* SCSI-I only */ +#define EXTENDED_WDTR 0x03 +#define SAVE_POINTERS 0x02 +#define RESTORE_POINTERS 0x03 +#define DISCONNECT 0x04 +#define INITIATOR_ERROR 0x05 +#define ABORT 0x06 +#define MESSAGE_REJECT 0x07 +#define NOP 0x08 +#define MSG_PARITY_ERROR 0x09 +#define LINKED_CMD_COMPLETE 0x0a +#define LINKED_FLG_CMD_COMPLETE 0x0b +#define BUS_DEVICE_RESET 0x0c + +#define INITIATE_RECOVERY 0x0f /* SCSI-II only */ +#define RELEASE_RECOVERY 0x10 /* SCSI-II only */ + +#define SIMPLE_QUEUE_TAG 0x20 +#define HEAD_OF_QUEUE_TAG 0x21 +#define ORDERED_QUEUE_TAG 0x22 + +/* + * Here are some scsi specific ioctl commands which are sometimes useful. + */ +/* These are a few other constants only used by scsi devices. */ + +#define SCSI_IOCTL_GET_IDLUN 0x5382 + +/* Used to turn on and off tagged queuing for scsi devices. */ + +#define SCSI_IOCTL_TAGGED_ENABLE 0x5383 +#define SCSI_IOCTL_TAGGED_DISABLE 0x5384 + +/* Used to obtain the host number of a device. */ +#define SCSI_IOCTL_PROBE_HOST 0x5385 + +/* Used to get the bus number for a device. */ +#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386 + +#endif /* scsi/scsi.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h new file mode 100644 index 00000000..59f10b7c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/scsi_ioctl.h @@ -0,0 +1,31 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SCSI_IOCTL_H +#define _SCSI_IOCTL_H + +/* IOCTLs for SCSI. */ +#define SCSI_IOCTL_SEND_COMMAND 1 /* Send a command to the SCSI host. */ +#define SCSI_IOCTL_TEST_UNIT_READY 2 /* Test if unit is ready. */ +#define SCSI_IOCTL_BENCHMARK_COMMAND 3 +#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters. */ +#define SCSI_IOCTL_START_UNIT 5 +#define SCSI_IOCTL_STOP_UNIT 6 +#define SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */ +#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/sg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/sg.h new file mode 100644 index 00000000..6129b0dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/scsi/sg.h @@ -0,0 +1,276 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + History: + Started: Aug 9 by Lawrence Foard (entropy@world.std.com), to allow user + process control of SCSI devices. + Development Sponsored by Killy Corp. NY NY +*/ + +#ifndef _SCSI_SG_H +#define _SCSI_SG_H 1 + +#include +#define __need_size_t +#include + + +/* New interface introduced in the 3.x SG drivers follows */ + +/* Same structure as used by readv() Linux system call. It defines one + scatter-gather element. */ +typedef struct sg_iovec +{ + void * iov_base; /* Starting address */ + size_t iov_len; /* Length in bytes */ +} sg_iovec_t; + + +typedef struct sg_io_hdr +{ + int interface_id; /* [i] 'S' for SCSI generic (required) */ + int dxfer_direction; /* [i] data transfer direction */ + unsigned char cmd_len; /* [i] SCSI command length ( <= 16 bytes) */ + unsigned char mx_sb_len; /* [i] max length to write to sbp */ + unsigned short int iovec_count; /* [i] 0 implies no scatter gather */ + unsigned int dxfer_len; /* [i] byte count of data transfer */ + void * dxferp; /* [i], [*io] points to data transfer memory + or scatter gather list */ + unsigned char * cmdp; /* [i], [*i] points to command to perform */ + unsigned char * sbp; /* [i], [*o] points to sense_buffer memory */ + unsigned int timeout; /* [i] MAX_UINT->no timeout (unit: millisec) */ + unsigned int flags; /* [i] 0 -> default, see SG_FLAG... */ + int pack_id; /* [i->o] unused internally (normally) */ + void * usr_ptr; /* [i->o] unused internally */ + unsigned char status; /* [o] scsi status */ + unsigned char masked_status;/* [o] shifted, masked scsi status */ + unsigned char msg_status; /* [o] messaging level data (optional) */ + unsigned char sb_len_wr; /* [o] byte count actually written to sbp */ + unsigned short int host_status; /* [o] errors from host adapter */ + unsigned short int driver_status;/* [o] errors from software driver */ + int resid; /* [o] dxfer_len - actual_transferred */ + unsigned int duration; /* [o] time taken by cmd (unit: millisec) */ + unsigned int info; /* [o] auxiliary information */ +} sg_io_hdr_t; + + +/* Use negative values to flag difference from original sg_header structure. */ +#define SG_DXFER_NONE -1 /* e.g. a SCSI Test Unit Ready command */ +#define SG_DXFER_TO_DEV -2 /* e.g. a SCSI WRITE command */ +#define SG_DXFER_FROM_DEV -3 /* e.g. a SCSI READ command */ +#define SG_DXFER_TO_FROM_DEV -4 /* treated like SG_DXFER_FROM_DEV with the + additional property than during indirect + IO the user buffer is copied into the + kernel buffers before the transfer */ + + +/* following flag values can be "or"-ed together */ +#define SG_FLAG_DIRECT_IO 1 /* default is indirect IO */ +#define SG_FLAG_LUN_INHIBIT 2 /* default is to put device's lun into */ + /* the 2nd byte of SCSI command */ +#define SG_FLAG_NO_DXFER 0x10000 /* no transfer of kernel buffers to/from */ + /* user space (debug indirect IO) */ + +/* The following 'info' values are "or"-ed together. */ +#define SG_INFO_OK_MASK 0x1 +#define SG_INFO_OK 0x0 /* no sense, host nor driver "noise" */ +#define SG_INFO_CHECK 0x1 /* something abnormal happened */ + +#define SG_INFO_DIRECT_IO_MASK 0x6 +#define SG_INFO_INDIRECT_IO 0x0 /* data xfer via kernel buffers (or no xfer) */ +#define SG_INFO_DIRECT_IO 0x2 /* direct IO requested and performed */ +#define SG_INFO_MIXED_IO 0x4 /* part direct, part indirect IO */ + + +/* Request information about a specific SG device, used by + SG_GET_SCSI_ID ioctl (). */ +struct sg_scsi_id { + /* Host number as in "scsi" where 'n' is one of 0, 1, 2 etc. */ + int host_no; + int channel; + /* SCSI id of target device. */ + int scsi_id; + int lun; + /* TYPE_... defined in . */ + int scsi_type; + /* Host (adapter) maximum commands per lun. */ + short int h_cmd_per_lun; + /* Device (or adapter) maximum queue length. */ + short int d_queue_depth; + /* Unused, set to 0 for now. */ + int unused[2]; +}; + +/* Used by SG_GET_REQUEST_TABLE ioctl(). */ +typedef struct sg_req_info { + char req_state; /* 0 -> not used, 1 -> written, 2 -> ready to read */ + char orphan; /* 0 -> normal request, 1 -> from interrupted SG_IO */ + char sg_io_owned; /* 0 -> complete with read(), 1 -> owned by SG_IO */ + char problem; /* 0 -> no problem detected, 1 -> error to report */ + int pack_id; /* pack_id associated with request */ + void * usr_ptr; /* user provided pointer (in new interface) */ + unsigned int duration; /* millisecs elapsed since written (req_state==1) + or request duration (req_state==2) */ + int unused; +} sg_req_info_t; + + +/* IOCTLs: Those ioctls that are relevant to the SG 3.x drivers follow. + [Those that only apply to the SG 2.x drivers are at the end of the file.] + (_GET_s yield result via 'int *' 3rd argument unless otherwise indicated) */ + +#define SG_EMULATED_HOST 0x2203 /* true for emulated host adapter (ATAPI) */ + +/* Used to configure SCSI command transformation layer for ATAPI devices */ +/* Only supported by the ide-scsi driver */ +#define SG_SET_TRANSFORM 0x2204 /* N.B. 3rd arg is not pointer but value: */ + /* 3rd arg = 0 to disable transform, 1 to enable it */ +#define SG_GET_TRANSFORM 0x2205 + +#define SG_SET_RESERVED_SIZE 0x2275 /* request a new reserved buffer size */ +#define SG_GET_RESERVED_SIZE 0x2272 /* actual size of reserved buffer */ + +/* The following ioctl has a 'sg_scsi_id_t *' object as its 3rd argument. */ +#define SG_GET_SCSI_ID 0x2276 /* Yields fd's bus, chan, dev, lun + type */ +/* SCSI id information can also be obtained from SCSI_IOCTL_GET_IDLUN */ + +/* Override host setting and always DMA using low memory ( <16MB on i386) */ +#define SG_SET_FORCE_LOW_DMA 0x2279 /* 0-> use adapter setting, 1-> force */ +#define SG_GET_LOW_DMA 0x227a /* 0-> use all ram for dma; 1-> low dma ram */ + +/* When SG_SET_FORCE_PACK_ID set to 1, pack_id is input to read() which + tries to fetch a packet with a matching pack_id, waits, or returns EAGAIN. + If pack_id is -1 then read oldest waiting. When ...FORCE_PACK_ID set to 0 + then pack_id ignored by read() and oldest readable fetched. */ +#define SG_SET_FORCE_PACK_ID 0x227b +#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1) */ + +#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read() */ + +/* Yields max scatter gather tablesize allowed by current host adapter */ +#define SG_GET_SG_TABLESIZE 0x227F /* 0 implies can't do scatter gather */ + +#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */ + +/* Returns -EBUSY if occupied. 3rd argument pointer to int (see next) */ +#define SG_SCSI_RESET 0x2284 +/* Associated values that can be given to SG_SCSI_RESET follow */ +#define SG_SCSI_RESET_NOTHING 0 +#define SG_SCSI_RESET_DEVICE 1 +#define SG_SCSI_RESET_BUS 2 +#define SG_SCSI_RESET_HOST 3 + +/* synchronous SCSI command ioctl, (only in version 3 interface) */ +#define SG_IO 0x2285 /* similar effect as write() followed by read() */ + +#define SG_GET_REQUEST_TABLE 0x2286 /* yields table of active requests */ + +/* How to treat EINTR during SG_IO ioctl(), only in SG 3.x series */ +#define SG_SET_KEEP_ORPHAN 0x2287 /* 1 -> hold for read(), 0 -> drop (def) */ +#define SG_GET_KEEP_ORPHAN 0x2288 + + +#define SG_SCATTER_SZ (8 * 4096) /* PAGE_SIZE not available to user */ +/* Largest size (in bytes) a single scatter-gather list element can have. + The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on + i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported + by adapter then this value is the largest data block that can be + read/written by a single scsi command. The user can find the value of + PAGE_SIZE by calling getpagesize() defined in unistd.h . */ + +#define SG_DEFAULT_RETRIES 1 + +/* Defaults, commented if they differ from original sg driver */ +#define SG_DEF_FORCE_LOW_DMA 0 /* was 1 -> memory below 16MB on i386 */ +#define SG_DEF_FORCE_PACK_ID 0 +#define SG_DEF_KEEP_ORPHAN 0 +#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ /* load time option */ + +/* maximum outstanding requests, write() yields EDOM if exceeded */ +#define SG_MAX_QUEUE 16 + +#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE /* for backward compatibility */ + +/* Alternate style type names, "..._t" variants preferred */ +typedef struct sg_io_hdr Sg_io_hdr; +typedef struct sg_io_vec Sg_io_vec; +typedef struct sg_scsi_id Sg_scsi_id; +typedef struct sg_req_info Sg_req_info; + + +/* vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv */ +/* The older SG interface based on the 'sg_header' structure follows. */ +/* ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */ + +#define SG_MAX_SENSE 16 /* this only applies to the sg_header interface */ + +struct sg_header + { + /* Length of incoming packet (including header). */ + int pack_len; + /* Maximal length of expected reply. */ + int reply_len; + /* Id number of packet. */ + int pack_id; + /* 0==ok, otherwise error number. */ + int result; + /* Force 12 byte command length for group 6 & 7 commands. */ + unsigned int twelve_byte:1; + /* SCSI status from target. */ + unsigned int target_status:5; + /* Host status (see "DID" codes). */ + unsigned int host_status:8; + /* Driver status+suggestion. */ + unsigned int driver_status:8; + /* Unused. */ + unsigned int other_flags:10; + /* Output in 3 cases: + when target_status is CHECK_CONDITION or + when target_status is COMMAND_TERMINATED or + when (driver_status & DRIVER_SENSE) is true. */ + unsigned char sense_buffer[SG_MAX_SENSE]; + }; + + +/* IOCTLs: The following are not required (or ignored) when the sg_io_hdr_t + interface is used. They are kept for backward compatibility with + the original and version 2 drivers. */ + +#define SG_SET_TIMEOUT 0x2201 /* Set timeout; *(int *)arg==timeout. */ +#define SG_GET_TIMEOUT 0x2202 /* Get timeout; return timeout. */ + +/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */ +#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on). */ +#define SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1. */ + +/* Turn on error sense trace (1..8), dump this device to log/console (9) + or dump all sg device states ( >9 ) to log/console. */ +#define SG_SET_DEBUG 0x227e /* 0 -> turn off debug */ + +#define SG_NEXT_CMD_LEN 0x2283 /* Override SCSI command length with given + number on the next write() on this file + descriptor. */ + +/* Defaults, commented if they differ from original sg driver */ +#define SG_DEFAULT_TIMEOUT (60*HZ) /* HZ == 'jiffies in 1 second' */ +#define SG_DEF_COMMAND_Q 0 /* command queuing is always on when + the new interface is used */ +#define SG_DEF_UNDERRUN_FLAG 0 + + +#endif /* scsi/sg.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/search.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/search.h new file mode 100644 index 00000000..c28ee219 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/search.h @@ -0,0 +1,181 @@ +/* Declarations for System V style searching functions. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SEARCH_H +#define _SEARCH_H 1 + +#include + +#define __need_size_t +#include + +__BEGIN_DECLS + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Prototype structure for a linked-list data structure. + This is the type used by the `insque' and `remque' functions. */ + +# ifdef __USE_GNU +struct qelem + { + struct qelem *q_forw; + struct qelem *q_back; + char q_data[1]; + }; +# endif + + +/* Insert ELEM into a doubly-linked list, after PREV. */ +extern void insque (void *__elem, void *__prev) __THROW; + +/* Unlink ELEM from the doubly-linked list that it is in. */ +extern void remque (void *__elem) __THROW; +#endif + + +/* For use with hsearch(3). */ +#ifndef __COMPAR_FN_T +# define __COMPAR_FN_T +typedef int (*__compar_fn_t) (const void *, const void *); + +# ifdef __USE_GNU +typedef __compar_fn_t comparison_fn_t; +# endif +#endif + +/* Action which shall be performed in the call the hsearch. */ +typedef enum + { + FIND, + ENTER + } +ACTION; + +typedef struct entry + { + char *key; + void *data; + } +ENTRY; + +/* Opaque type for internal use. */ +struct _ENTRY; + +/* Family of hash table handling functions. The functions also + have reentrant counterparts ending with _r. The non-reentrant + functions all work on a single internal hashing table. */ + +/* Search for entry matching ITEM.key in internal hash table. If + ACTION is `FIND' return found entry or signal error by returning + NULL. If ACTION is `ENTER' replace existing data (if any) with + ITEM.data. */ +extern ENTRY *hsearch (ENTRY __item, ACTION __action) __THROW; + +/* Create a new hashing table which will at most contain NEL elements. */ +extern int hcreate (size_t __nel) __THROW; + +/* Destroy current internal hashing table. */ +extern void hdestroy (void) __THROW; + +#ifdef __USE_GNU +/* Data type for reentrant functions. */ +struct hsearch_data + { + struct _ENTRY *table; + unsigned int size; + unsigned int filled; + }; + +/* Reentrant versions which can handle multiple hashing tables at the + same time. */ +extern int hsearch_r (ENTRY __item, ACTION __action, ENTRY **__retval, + struct hsearch_data *__htab) __THROW; +extern int hcreate_r (size_t __nel, struct hsearch_data *__htab) __THROW; +extern void hdestroy_r (struct hsearch_data *__htab) __THROW; +#endif + + +/* The tsearch routines are very interesting. They make many + assumptions about the compiler. It assumes that the first field + in node must be the "key" field, which points to the datum. + Everything depends on that. */ +/* For tsearch */ +typedef enum +{ + preorder, + postorder, + endorder, + leaf +} +VISIT; + +/* Search for an entry matching the given KEY in the tree pointed to + by *ROOTP and insert a new element if not found. */ +extern void *tsearch (const void *__key, void **__rootp, + __compar_fn_t __compar); + +/* Search for an entry matching the given KEY in the tree pointed to + by *ROOTP. If no matching entry is available return NULL. */ +extern void *tfind (const void *__key, void *const *__rootp, + __compar_fn_t __compar); + +/* Remove the element matching KEY from the tree pointed to by *ROOTP. */ +extern void *tdelete (const void *__restrict __key, + void **__restrict __rootp, + __compar_fn_t __compar); + +#ifndef __ACTION_FN_T +# define __ACTION_FN_T +typedef void (*__action_fn_t) (const void *__nodep, VISIT __value, + int __level); +#endif + +/* Walk through the whole tree and call the ACTION callback for every node + or leaf. */ +extern void twalk (const void *__root, __action_fn_t __action); + +#ifdef __USE_GNU +/* Like twalk, but pass down a closure parameter instead of the + level. */ +extern void twalk_r (const void *__root, + void (*) (const void *__nodep, VISIT __value, + void *__closure), + void *__closure); + +/* Callback type for function to free a tree node. If the keys are atomic + data this function should do nothing. */ +typedef void (*__free_fn_t) (void *__nodep); + +/* Destroy the whole tree, call FREEFCT for each node or leaf. */ +extern void tdestroy (void *__root, __free_fn_t __freefct); +#endif + + +/* Perform linear search for KEY by comparing by COMPAR in an array + [BASE,BASE+NMEMB*SIZE). */ +extern void *lfind (const void *__key, const void *__base, + size_t *__nmemb, size_t __size, __compar_fn_t __compar); + +/* Perform linear search for KEY by comparing by COMPAR function in + array [BASE,BASE+NMEMB*SIZE) and insert entry if not found. */ +extern void *lsearch (const void *__key, void *__base, + size_t *__nmemb, size_t __size, __compar_fn_t __compar); + +__END_DECLS + +#endif /* search.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/semaphore.h new file mode 100644 index 00000000..3f856a5e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/semaphore.h @@ -0,0 +1,112 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SEMAPHORE_H +#define _SEMAPHORE_H 1 + +#include +#include +#ifdef __USE_XOPEN2K +# include +#endif + +/* Get the definition for sem_t. */ +#include + + +__BEGIN_DECLS + +/* Initialize semaphore object SEM to VALUE. If PSHARED then share it + with other processes. */ +extern int sem_init (sem_t *__sem, int __pshared, unsigned int __value) + __THROW __nonnull ((1)); + +/* Free resources associated with semaphore object SEM. */ +extern int sem_destroy (sem_t *__sem) __THROW __nonnull ((1)); + +/* Open a named semaphore NAME with open flags OFLAG. */ +extern sem_t *sem_open (const char *__name, int __oflag, ...) + __THROW __nonnull ((1)); + +/* Close descriptor for named semaphore SEM. */ +extern int sem_close (sem_t *__sem) __THROW __nonnull ((1)); + +/* Remove named semaphore NAME. */ +extern int sem_unlink (const char *__name) __THROW __nonnull ((1)); + +/* Wait for SEM being posted. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int sem_wait (sem_t *__sem) __nonnull ((1)); + +#ifdef __USE_XOPEN2K +/* Similar to `sem_wait' but wait only until ABSTIME. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int sem_timedwait (sem_t *__restrict __sem, + const struct timespec *__restrict __abstime) + __nonnull ((1, 2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (sem_timedwait, + (sem_t *__restrict __sem, + const struct timespec *__restrict __abstime), + __sem_timedwait64) + __nonnull ((1, 2)); +# else +# define sem_timedwait __sem_timedwait64 +# endif +# endif +#endif + +#ifdef __USE_GNU +# ifndef __USE_TIME64_REDIRECTS +extern int sem_clockwait (sem_t *__restrict __sem, + clockid_t clock, + const struct timespec *__restrict __abstime) + __nonnull ((1, 3)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (sem_clockwait, + (sem_t *__restrict __sem, + clockid_t clock, + const struct timespec *__restrict __abstime), + __sem_clockwait64) + __nonnull ((1, 3)); +# else +# define sem_clockwait __sem_clockwait64 +# endif +# endif +#endif + +/* Test whether SEM is posted. */ +extern int sem_trywait (sem_t *__sem) __THROWNL __nonnull ((1)); + +/* Post SEM. */ +extern int sem_post (sem_t *__sem) __THROWNL __nonnull ((1)); + +/* Get current value of SEM and store it in *SVAL. */ +extern int sem_getvalue (sem_t *__restrict __sem, int *__restrict __sval) + __THROW __nonnull ((1, 2)); + + +__END_DECLS + +#endif /* semaphore.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/setjmp.h new file mode 100644 index 00000000..e28e85df --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/setjmp.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.13 Nonlocal jumps + */ + +#ifndef _SETJMP_H +#define _SETJMP_H 1 + +#include + +__BEGIN_DECLS + +#include /* Get `__jmp_buf'. */ +#include + +typedef struct __jmp_buf_tag jmp_buf[1]; + +/* Store the calling environment in ENV, also saving the signal mask. + Return 0. */ +extern int setjmp (jmp_buf __env) __THROWNL; + +/* Store the calling environment in ENV, also saving the + signal mask if SAVEMASK is nonzero. Return 0. + This is the internal name for `sigsetjmp'. */ +extern int __sigsetjmp (struct __jmp_buf_tag __env[1], int __savemask) __THROWNL; + +/* Store the calling environment in ENV, not saving the signal mask. + Return 0. */ +extern int _setjmp (struct __jmp_buf_tag __env[1]) __THROWNL; + +/* Do not save the signal mask. This is equivalent to the `_setjmp' + BSD function. */ +#define setjmp(env) _setjmp (env) + + +/* Jump to the environment saved in ENV, making the + `setjmp' call there return VAL, or 1 if VAL is 0. */ +extern void longjmp (struct __jmp_buf_tag __env[1], int __val) + __THROWNL __attribute__ ((__noreturn__)); + +#if defined __USE_MISC || defined __USE_XOPEN +/* Same. Usually `_longjmp' is used with `_setjmp', which does not save + the signal mask. But it is how ENV was saved that determines whether + `longjmp' restores the mask; `_longjmp' is just an alias. */ +extern void _longjmp (struct __jmp_buf_tag __env[1], int __val) + __THROWNL __attribute__ ((__noreturn__)); +#endif + + +#ifdef __USE_POSIX +/* Use the same type for `jmp_buf' and `sigjmp_buf'. + The `__mask_was_saved' flag determines whether + or not `longjmp' will restore the signal mask. */ +typedef struct __jmp_buf_tag sigjmp_buf[1]; + +/* Store the calling environment in ENV, also saving the + signal mask if SAVEMASK is nonzero. Return 0. */ +# define sigsetjmp(env, savemask) __sigsetjmp (env, savemask) + +/* Jump to the environment saved in ENV, making the + sigsetjmp call there return VAL, or 1 if VAL is 0. + Restore the signal mask if that sigsetjmp call saved it. + This is just an alias `longjmp'. */ +extern void siglongjmp (sigjmp_buf __env, int __val) + __THROWNL __attribute__ ((__noreturn__)); +#endif /* Use POSIX. */ + + +/* Define helper functions to catch unsafe code. */ +#if __USE_FORTIFY_LEVEL > 0 +# include +#endif + +__END_DECLS + +#endif /* setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgidefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgidefs.h new file mode 100644 index 00000000..c0ba3fb4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgidefs.h @@ -0,0 +1,75 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SGIDEFS_H +#define _SGIDEFS_H 1 + +/* + * A crude hack to stop + */ +#undef __ASM_SGIDEFS_H +#define __ASM_SGIDEFS_H + +/* + * And remove any damage it might have already done + */ +#undef _MIPS_ISA_MIPS1 +#undef _MIPS_ISA_MIPS2 +#undef _MIPS_ISA_MIPS3 +#undef _MIPS_ISA_MIPS4 +#undef _MIPS_ISA_MIPS5 +#undef _MIPS_ISA_MIPS32 +#undef _MIPS_ISA_MIPS64 + +#undef _MIPS_SIM_ABI32 +#undef _MIPS_SIM_NABI32 +#undef _MIPS_SIM_ABI64 + +/* + * Definitions for the ISA level + */ +#define _MIPS_ISA_MIPS1 1 +#define _MIPS_ISA_MIPS2 2 +#define _MIPS_ISA_MIPS3 3 +#define _MIPS_ISA_MIPS4 4 +#define _MIPS_ISA_MIPS5 5 +#define _MIPS_ISA_MIPS32 6 +#define _MIPS_ISA_MIPS64 7 + +/* + * Subprogram calling convention + */ +#ifndef _ABIO32 +# define _ABIO32 1 +#endif +#define _MIPS_SIM_ABI32 _ABIO32 + +#ifndef _ABIN32 +# define _ABIN32 2 +#endif +#define _MIPS_SIM_NABI32 _ABIN32 + +#ifndef _ABI64 +# define _ABI64 3 +#endif +#define _MIPS_SIM_ABI64 _ABI64 + +#ifndef _ABIO64 +# define _ABIO64 4 +#endif + +#endif /* sgidefs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgtty.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgtty.h new file mode 100644 index 00000000..0b6dc1ac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sgtty.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SGTTY_H +#define _SGTTY_H 1 + +#include + +#include + +/* On some systems this type is not defined by ; + in that case, the functions are just stubs that return ENOSYS. */ +struct sgttyb; + +__BEGIN_DECLS + +/* Fill in *PARAMS with terminal parameters associated with FD. */ +extern int gtty (int __fd, struct sgttyb *__params) __THROW; + +/* Set the terminal parameters associated with FD to *PARAMS. */ +extern int stty (int __fd, const struct sgttyb *__params) __THROW; + + +__END_DECLS + +#endif /* sgtty.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/shadow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/shadow.h new file mode 100644 index 00000000..09043715 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/shadow.h @@ -0,0 +1,156 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Declaration of types and functions for "shadow" storage of hashed + passphrases. The shadow database is like the user database, but is + only accessible with special privileges, so that malicious users + cannot retrieve everyone else's hashed passphrase to brute-force at + their convenience. */ + +#ifndef _SHADOW_H +#define _SHADOW_H 1 + +#include + +#include + +#define __need_size_t +#include + +#include + +/* Paths to the user database files. */ +#define SHADOW _PATH_SHADOW + + +__BEGIN_DECLS + +/* A record in the shadow database. */ +struct spwd + { + char *sp_namp; /* Login name. */ + char *sp_pwdp; /* Hashed passphrase. */ + long int sp_lstchg; /* Date of last change. */ + long int sp_min; /* Minimum number of days between changes. */ + long int sp_max; /* Maximum number of days between changes. */ + long int sp_warn; /* Number of days to warn user to change + the password. */ + long int sp_inact; /* Number of days the account may be + inactive. */ + long int sp_expire; /* Number of days since 1970-01-01 until + account expires. */ + unsigned long int sp_flag; /* Reserved. */ + }; + + +/* Open database for reading. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void setspent (void); + +/* Close database. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void endspent (void); + +/* Get next entry from database, perhaps after opening the file. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct spwd *getspent (void); + +/* Get shadow entry matching NAME. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct spwd *getspnam (const char *__name); + +/* Read shadow entry from STRING. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct spwd *sgetspent (const char *__string); + +/* Read next shadow entry from STREAM. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern struct spwd *fgetspent (FILE *__stream); + +/* Write line containing shadow entry to stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int putspent (const struct spwd *__p, FILE *__stream); + + +#ifdef __USE_MISC +/* Reentrant versions of some of the functions above. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern int getspent_r (struct spwd *__result_buf, char *__buffer, + size_t __buflen, struct spwd **__result) + __attr_access ((__write_only__, 2, 3)); + +extern int getspnam_r (const char *__name, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); + +extern int sgetspent_r (const char *__string, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); + +extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf, + char *__buffer, size_t __buflen, + struct spwd **__result) + __attr_access ((__write_only__, 3, 4)); +#endif /* misc */ + + +/* The simple locking functionality provided here is not suitable for + multi-threaded applications. */ + +/* Request exclusive access to /etc/passwd and /etc/shadow. */ +extern int lckpwdf (void) __THROW; + +/* Release exclusive access to /etc/passwd and /etc/shadow. */ +extern int ulckpwdf (void) __THROW; + +__END_DECLS + +#endif /* shadow.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/signal.h new file mode 100644 index 00000000..13a7fed1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/signal.h @@ -0,0 +1,395 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.14 Signal handling + */ + +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#include + +__BEGIN_DECLS + +#include +#include + +#include + +#if defined __USE_POSIX +#include +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K +# ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif +#ifdef __USE_XOPEN +# endif +# ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +# endif +#endif /* Unix98 */ + +#ifdef __USE_POSIX199309 +/* We need `struct timespec' later on. */ +# include +#endif + +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED +# include +# include +#endif + +#ifdef __USE_MISC +# include +#endif + +#ifdef __USE_POSIX199309 +# include +# include +#endif + + +/* Type of a signal handler. */ +typedef void (*__sighandler_t) (int); + +/* The X/Open definition of `signal' specifies the SVID semantic. Use + the additional function `sysv_signal' when X/Open compatibility is + requested. */ +extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) + __THROW; +#ifdef __USE_GNU +extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) + __THROW; +#endif + +/* Set the handler for the signal SIG to HANDLER, returning the old + handler, or SIG_ERR on error. + By default `signal' has the BSD semantic. */ +#ifdef __USE_MISC +extern __sighandler_t signal (int __sig, __sighandler_t __handler) + __THROW; +#else +/* Make sure the used `signal' implementation is the SVID version. */ +# ifdef __REDIRECT_NTH +extern __sighandler_t __REDIRECT_NTH (signal, + (int __sig, __sighandler_t __handler), + __sysv_signal); +# else +# define signal __sysv_signal +# endif +#endif + +#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8 +/* The X/Open definition of `signal' conflicts with the BSD version. + So they defined another function `bsd_signal'. */ +extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) + __THROW; +#endif + +/* Send signal SIG to process number PID. If PID is zero, + send SIG to all processes in the current process's process group. + If PID is < -1, send SIG to all processes in process group - PID. */ +#ifdef __USE_POSIX +extern int kill (__pid_t __pid, int __sig) __THROW; +#endif /* Use POSIX. */ + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Send SIG to all processes in process group PGRP. + If PGRP is zero, send SIG to all processes in + the current process's process group. */ +extern int killpg (__pid_t __pgrp, int __sig) __THROW; +#endif /* Use misc || X/Open Unix. */ + +/* Raise signal SIG, i.e., send SIG to yourself. */ +extern int raise (int __sig) __THROW; + +#ifdef __USE_MISC +/* SVID names for the same things. */ +extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) + __THROW; +extern int gsignal (int __sig) __THROW; +#endif /* Use misc. */ + +#ifdef __USE_XOPEN2K8 +/* Print a message describing the meaning of the given signal number. */ +extern void psignal (int __sig, const char *__s); + +/* Print a message describing the meaning of the given signal information. */ +extern void psiginfo (const siginfo_t *__pinfo, const char *__s); +#endif /* POSIX 2008. */ + + + +/* The `sigpause' function in X/Open defines the argument as the + signal number. This requires redirecting to another function + because the default version in glibc uses an old BSD interface. + + This function is a cancellation point and therefore not marked with + __THROW. */ + +#ifdef __USE_XOPEN_EXTENDED +# ifdef __GNUC__ +extern int sigpause (int __sig) __asm__ ("__xpg_sigpause") + __attribute_deprecated_msg__ ("Use the sigsuspend function instead"); +# else +extern int __sigpause (int __sig_or_mask, int __is_sig); +/* Remove a signal from the signal mask and suspend the process. */ +# define sigpause(sig) __sigpause ((sig), 1) +# endif +#endif + + +#ifdef __USE_MISC +/* None of the following functions should be used anymore. They are here + only for compatibility. A single word (`int') is not guaranteed to be + enough to hold a complete signal mask and therefore these functions + simply do not work in many situations. Use `sigprocmask' instead. */ + +/* Compute mask for signal SIG. */ +# define sigmask(sig) \ + __glibc_macro_warning ("sigmask is deprecated") \ + ((int)(1u << ((sig) - 1))) + +/* Block signals in MASK, returning the old mask. */ +extern int sigblock (int __mask) __THROW __attribute_deprecated__; + +/* Set the mask of blocked signals to MASK, returning the old mask. */ +extern int sigsetmask (int __mask) __THROW __attribute_deprecated__; + +/* Return currently selected signal mask. */ +extern int siggetmask (void) __THROW __attribute_deprecated__; +#endif /* Use misc. */ + + +#ifdef __USE_MISC +# define NSIG _NSIG +#endif + +#ifdef __USE_GNU +typedef __sighandler_t sighandler_t; +#endif + +/* 4.4 BSD uses the name `sig_t' for this. */ +#ifdef __USE_MISC +typedef __sighandler_t sig_t; +#endif + +#ifdef __USE_POSIX + +/* Clear all signals from SET. */ +extern int sigemptyset (sigset_t *__set) __THROW __nonnull ((1)); + +/* Set all signals in SET. */ +extern int sigfillset (sigset_t *__set) __THROW __nonnull ((1)); + +/* Add SIGNO to SET. */ +extern int sigaddset (sigset_t *__set, int __signo) __THROW __nonnull ((1)); + +/* Remove SIGNO from SET. */ +extern int sigdelset (sigset_t *__set, int __signo) __THROW __nonnull ((1)); + +/* Return 1 if SIGNO is in SET, 0 if not. */ +extern int sigismember (const sigset_t *__set, int __signo) + __THROW __nonnull ((1)); + +# ifdef __USE_GNU +/* Return non-empty value is SET is not empty. */ +extern int sigisemptyset (const sigset_t *__set) __THROW __nonnull ((1)); + +/* Build new signal set by combining the two inputs set using logical AND. */ +extern int sigandset (sigset_t *__set, const sigset_t *__left, + const sigset_t *__right) __THROW __nonnull ((1, 2, 3)); + +/* Build new signal set by combining the two inputs set using logical OR. */ +extern int sigorset (sigset_t *__set, const sigset_t *__left, + const sigset_t *__right) __THROW __nonnull ((1, 2, 3)); +# endif /* GNU */ + +/* Get the system-specific definitions of `struct sigaction' + and the `SA_*' and `SIG_*'. constants. */ +# include + +/* Get and/or change the set of blocked signals. */ +extern int sigprocmask (int __how, const sigset_t *__restrict __set, + sigset_t *__restrict __oset) __THROW; + +/* Change the set of blocked signals to SET, + wait until a signal arrives, and restore the set of blocked signals. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int sigsuspend (const sigset_t *__set) __nonnull ((1)); + +/* Get and/or set the action for signal SIG. */ +extern int sigaction (int __sig, const struct sigaction *__restrict __act, + struct sigaction *__restrict __oact) __THROW; + +/* Put in SET all signals that are blocked and waiting to be delivered. */ +extern int sigpending (sigset_t *__set) __THROW __nonnull ((1)); + + +# ifdef __USE_POSIX199506 +/* Select any of pending signals from SET or wait for any to arrive. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int sigwait (const sigset_t *__restrict __set, int *__restrict __sig) + __nonnull ((1, 2)); +# endif /* Use POSIX 1995. */ + +# ifdef __USE_POSIX199309 +/* Select any of pending signals from SET and place information in INFO. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int sigwaitinfo (const sigset_t *__restrict __set, + siginfo_t *__restrict __info) __nonnull ((1)); + +/* Select any of pending signals from SET and place information in INFO. + Wait the time specified by TIMEOUT if no signal is pending. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int sigtimedwait (const sigset_t *__restrict __set, + siginfo_t *__restrict __info, + const struct timespec *__restrict __timeout) + __nonnull ((1)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (sigtimedwait, + (const sigset_t *__restrict __set, + siginfo_t *__restrict __info, + const struct timespec *__restrict __timeout), + __sigtimedwait64) + __nonnull ((1)); +# else +# define sigtimedwait __sigtimedwait64 +# endif +# endif + +/* Send signal SIG to the process PID. Associate data in VAL with the + signal. */ +extern int sigqueue (__pid_t __pid, int __sig, const union sigval __val) + __THROW; +# endif /* Use POSIX 199306. */ + +#endif /* Use POSIX. */ + +#ifdef __USE_MISC + +/* Get machine-dependent `struct sigcontext' and signal subcodes. */ +# include + +/* Restore the state saved in SCP. */ +extern int sigreturn (struct sigcontext *__scp) __THROW; + +#endif /* Use misc. */ + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define __need_size_t +# include + +# include +# if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* This will define `ucontext_t' and `mcontext_t'. */ +# include +# endif +#endif /* Use POSIX.1-2008 or X/Open Unix. */ + +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +/* If INTERRUPT is nonzero, make signal SIG interrupt system calls + (causing them to fail with EINTR); if INTERRUPT is zero, make system + calls be restarted after signal SIG. */ +extern int siginterrupt (int __sig, int __interrupt) __THROW + __attribute_deprecated_msg__ ("Use sigaction with SA_RESTART instead"); + +# include +# include +# include + +/* Alternate signal handler stack interface. + This interface should always be preferred over `sigstack'. */ +extern int sigaltstack (const stack_t *__restrict __ss, + stack_t *__restrict __oss) __THROW; +#endif /* __USE_XOPEN_EXTENDED || __USE_MISC */ + +#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC) +# include +#endif + +#if ((defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ + || defined __USE_MISC) +/* Run signals handlers on the stack specified by SS (if not NULL). + If OSS is not NULL, it is filled in with the old signal stack status. + This interface is obsolete and on many platform not implemented. */ +extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) + __THROW __attribute_deprecated__; +#endif + +#ifdef __USE_XOPEN_EXTENDED +/* Simplified interface for signal management. */ + +/* Add SIG to the calling process' signal mask. */ +extern int sighold (int __sig) __THROW + __attribute_deprecated_msg__ ("Use the sigprocmask function instead"); + +/* Remove SIG from the calling process' signal mask. */ +extern int sigrelse (int __sig) __THROW + __attribute_deprecated_msg__ ("Use the sigprocmask function instead"); + +/* Set the disposition of SIG to SIG_IGN. */ +extern int sigignore (int __sig) __THROW + __attribute_deprecated_msg__ ("Use the signal function instead"); + +/* Set the disposition of SIG. */ +extern __sighandler_t sigset (int __sig, __sighandler_t __disp) __THROW + __attribute_deprecated_msg__ + ("Use the signal and sigprocmask functions instead"); +#endif + +#if defined __USE_POSIX199506 || defined __USE_UNIX98 +/* Some of the functions for handling signals in threaded programs must + be defined here. */ +# include +# include +#endif /* use Unix98 */ + +/* The following functions are used internally in the C library and in + other code which need deep insights. */ + +/* Return number of available real-time signal with highest priority. */ +extern int __libc_current_sigrtmin (void) __THROW; +/* Return number of available real-time signal with lowest priority. */ +extern int __libc_current_sigrtmax (void) __THROW; + +#define SIGRTMIN (__libc_current_sigrtmin ()) +#define SIGRTMAX (__libc_current_sigrtmax ()) + +/* System-specific extensions. */ +#include + +__END_DECLS + +#endif /* not signal.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/spawn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/spawn.h new file mode 100644 index 00000000..e466dd62 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/spawn.h @@ -0,0 +1,238 @@ +/* Definitions for POSIX spawn interface. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SPAWN_H +#define _SPAWN_H 1 + +#include +#include +#include +#include + + +/* Data structure to contain attributes for thread creation. */ +typedef struct +{ + short int __flags; + pid_t __pgrp; + sigset_t __sd; + sigset_t __ss; + struct sched_param __sp; + int __policy; + int __cgroup; + int __pad[15]; +} posix_spawnattr_t; + + +/* Data structure to contain information about the actions to be + performed in the new process with respect to file descriptors. */ +typedef struct +{ + int __allocated; + int __used; + struct __spawn_action *__actions; + int __pad[16]; +} posix_spawn_file_actions_t; + + +/* Flags to be set in the `posix_spawnattr_t'. */ +#define POSIX_SPAWN_RESETIDS 0x01 +#define POSIX_SPAWN_SETPGROUP 0x02 +#define POSIX_SPAWN_SETSIGDEF 0x04 +#define POSIX_SPAWN_SETSIGMASK 0x08 +#define POSIX_SPAWN_SETSCHEDPARAM 0x10 +#define POSIX_SPAWN_SETSCHEDULER 0x20 +#ifdef __USE_GNU +# define POSIX_SPAWN_USEVFORK 0x40 +# define POSIX_SPAWN_SETSID 0x80 +# define POSIX_SPAWN_SETCGROUP 0x100 +#endif + + +__BEGIN_DECLS + +/* Spawn a new process executing PATH with the attributes describes in *ATTRP. + Before running the process perform the actions described in FILE-ACTIONS. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int posix_spawn (pid_t *__restrict __pid, + const char *__restrict __path, + const posix_spawn_file_actions_t *__restrict + __file_actions, + const posix_spawnattr_t *__restrict __attrp, + char *const __argv[__restrict_arr], + char *const __envp[__restrict_arr]) + __nonnull ((2, 5)); + +/* Similar to `posix_spawn' but search for FILE in the PATH. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int posix_spawnp (pid_t *__pid, const char *__file, + const posix_spawn_file_actions_t *__file_actions, + const posix_spawnattr_t *__attrp, + char *const __argv[], char *const __envp[]) + __nonnull ((2, 5)); + + +/* Initialize data structure with attributes for `spawn' to default values. */ +extern int posix_spawnattr_init (posix_spawnattr_t *__attr) + __THROW __nonnull ((1)); + +/* Free resources associated with ATTR. */ +extern int posix_spawnattr_destroy (posix_spawnattr_t *__attr) + __THROW __nonnull ((1)); + +/* Store signal mask for signals with default handling from ATTR in + SIGDEFAULT. */ +extern int posix_spawnattr_getsigdefault (const posix_spawnattr_t * + __restrict __attr, + sigset_t *__restrict __sigdefault) + __THROW __nonnull ((1, 2)); + +/* Set signal mask for signals with default handling in ATTR to SIGDEFAULT. */ +extern int posix_spawnattr_setsigdefault (posix_spawnattr_t *__restrict __attr, + const sigset_t *__restrict + __sigdefault) + __THROW __nonnull ((1, 2)); + +/* Store signal mask for the new process from ATTR in SIGMASK. */ +extern int posix_spawnattr_getsigmask (const posix_spawnattr_t *__restrict + __attr, + sigset_t *__restrict __sigmask) + __THROW __nonnull ((1, 2)); + +/* Set signal mask for the new process in ATTR to SIGMASK. */ +extern int posix_spawnattr_setsigmask (posix_spawnattr_t *__restrict __attr, + const sigset_t *__restrict __sigmask) + __THROW __nonnull ((1, 2)); + +/* Get flag word from the attribute structure. */ +extern int posix_spawnattr_getflags (const posix_spawnattr_t *__restrict + __attr, + short int *__restrict __flags) + __THROW __nonnull ((1, 2)); + +/* Store flags in the attribute structure. */ +extern int posix_spawnattr_setflags (posix_spawnattr_t *_attr, + short int __flags) + __THROW __nonnull ((1)); + +/* Get process group ID from the attribute structure. */ +extern int posix_spawnattr_getpgroup (const posix_spawnattr_t *__restrict + __attr, pid_t *__restrict __pgroup) + __THROW __nonnull ((1, 2)); + +/* Store process group ID in the attribute structure. */ +extern int posix_spawnattr_setpgroup (posix_spawnattr_t *__attr, + pid_t __pgroup) + __THROW __nonnull ((1)); + +/* Get scheduling policy from the attribute structure. */ +extern int posix_spawnattr_getschedpolicy (const posix_spawnattr_t * + __restrict __attr, + int *__restrict __schedpolicy) + __THROW __nonnull ((1, 2)); + +/* Store scheduling policy in the attribute structure. */ +extern int posix_spawnattr_setschedpolicy (posix_spawnattr_t *__attr, + int __schedpolicy) + __THROW __nonnull ((1)); + +/* Get scheduling parameters from the attribute structure. */ +extern int posix_spawnattr_getschedparam (const posix_spawnattr_t * + __restrict __attr, + struct sched_param *__restrict + __schedparam) + __THROW __nonnull ((1, 2)); + +/* Store scheduling parameters in the attribute structure. */ +extern int posix_spawnattr_setschedparam (posix_spawnattr_t *__restrict __attr, + const struct sched_param * + __restrict __schedparam) + __THROW __nonnull ((1, 2)); + +/* Initialize data structure for file attribute for `spawn' call. */ +extern int posix_spawn_file_actions_init (posix_spawn_file_actions_t * + __file_actions) + __THROW __nonnull ((1)); + +/* Free resources associated with FILE-ACTIONS. */ +extern int posix_spawn_file_actions_destroy (posix_spawn_file_actions_t * + __file_actions) + __THROW __nonnull ((1)); + +/* Add an action to FILE-ACTIONS which tells the implementation to call + `open' for the given file during the `spawn' call. */ +extern int posix_spawn_file_actions_addopen (posix_spawn_file_actions_t * + __restrict __file_actions, + int __fd, + const char *__restrict __path, + int __oflag, mode_t __mode) + __THROW __nonnull ((1, 3)); + +/* Add an action to FILE-ACTIONS which tells the implementation to call + `close' for the given file descriptor during the `spawn' call. */ +extern int posix_spawn_file_actions_addclose (posix_spawn_file_actions_t * + __file_actions, int __fd) + __THROW __nonnull ((1)); + +/* Add an action to FILE-ACTIONS which tells the implementation to call + `dup2' for the given file descriptors during the `spawn' call. */ +extern int posix_spawn_file_actions_adddup2 (posix_spawn_file_actions_t * + __file_actions, + int __fd, int __newfd) + __THROW __nonnull ((1)); + +#ifdef __USE_MISC +/* Add an action changing the directory to PATH during spawn. This + affects the subsequent file actions. */ +extern int posix_spawn_file_actions_addchdir_np (posix_spawn_file_actions_t * + __restrict __actions, + const char *__restrict __path) + __THROW __nonnull ((1, 2)); + +/* Add an action changing the directory to FD during spawn. This + affects the subsequent file actions. FD is not duplicated and must + be open when the file action is executed. */ +extern int posix_spawn_file_actions_addfchdir_np (posix_spawn_file_actions_t *, + int __fd) + __THROW __nonnull ((1)); + +/* Add an action to close all file descriptor greater than or equal to FROM + during spawn. This affects the subsequent file actions. */ +extern int +posix_spawn_file_actions_addclosefrom_np (posix_spawn_file_actions_t *, + int __from) + __THROW __nonnull ((1)); + +/* Add an action to set the process group of the foreground process group + associated with the terminal TCFD. */ +extern int +posix_spawn_file_actions_addtcsetpgrp_np (posix_spawn_file_actions_t *, + int __tcfd) + __THROW __nonnull ((1)); + +#endif /* __USE_MISC */ + +__END_DECLS + +#include + +#endif /* spawn.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stab.h new file mode 100644 index 00000000..46cc1aee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stab.h @@ -0,0 +1,17 @@ +#ifndef __GNU_STAB__ + +/* Indicate the GNU stab.h is in use. */ + +#define __GNU_STAB__ + +#define __define_stab(NAME, CODE, STRING) NAME=CODE, + +enum __stab_debug_code +{ +#include +LAST_UNUSED_STAB_CODE +}; + +#undef __define_stab + +#endif /* __GNU_STAB_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdbit.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdbit.h new file mode 100644 index 00000000..7938eb3b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdbit.h @@ -0,0 +1,848 @@ +/* ISO C23 Standard: 7.18 - Bit and byte utilities . + Copyright (C) 2024-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDBIT_H +#define _STDBIT_H 1 + +#include +#include +#include +#include +#include +/* In C23, defines only an implementation-namespace macro, + so is OK to include here. Before C23, including allows + the header to use bool rather than _Bool unconditionally, and so to + compile as C++ (although the type-generic macros are not a good + form of type-generic interface for C++). */ +#include +#define __need_size_t +#include + +#define __STDC_VERSION_STDBIT_H__ 202311L + +#define __STDC_ENDIAN_LITTLE__ __LITTLE_ENDIAN +#define __STDC_ENDIAN_BIG__ __BIG_ENDIAN +#define __STDC_ENDIAN_NATIVE__ __BYTE_ORDER + +__BEGIN_DECLS + +/* Use __pacify_uint16 (N) instead of (uint16_t) (N) when the cast is helpful + only to pacify older GCC (e.g., GCC 10 -Wconversion) or non-GCC (e.g + clang -Wimplicit-int-conversion). */ +#if __GNUC_PREREQ (11, 0) +# define __pacify_uint8(n) (n) +# define __pacify_uint16(n) (n) +#else +# define __pacify_uint8(n) ((uint8_t) (n)) +# define __pacify_uint16(n) ((uint16_t) (n)) +#endif + +/* Count leading zeros. */ +extern unsigned int stdc_leading_zeros_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_zeros_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_zeros_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_zeros_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_leading_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_leading_zeros) +# define stdc_leading_zeros(x) (__builtin_stdc_leading_zeros (x)) +#else +# define stdc_leading_zeros(x) \ + (stdc_leading_zeros_ull (x) \ + - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline unsigned int +__clz64_inline (uint64_t __x) +{ + return __x == 0 ? 64U : (unsigned int) __builtin_clzll (__x); +} + +static __always_inline unsigned int +__clz32_inline (uint32_t __x) +{ + return __x == 0 ? 32U : (unsigned int) __builtin_clz (__x); +} + +static __always_inline unsigned int +__clz16_inline (uint16_t __x) +{ + return __clz32_inline (__x) - 16; +} + +static __always_inline unsigned int +__clz8_inline (uint8_t __x) +{ + return __clz32_inline (__x) - 24; +} + +# define stdc_leading_zeros_uc(x) (__clz8_inline (x)) +# define stdc_leading_zeros_us(x) (__clz16_inline (x)) +# define stdc_leading_zeros_ui(x) (__clz32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_leading_zeros_ul(x) (__clz64_inline (x)) +# else +# define stdc_leading_zeros_ul(x) (__clz32_inline (x)) +# endif +# define stdc_leading_zeros_ull(x) (__clz64_inline (x)) +#endif + +/* Count leading ones. */ +extern unsigned int stdc_leading_ones_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_ones_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_ones_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_leading_ones_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_leading_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_leading_ones) +# define stdc_leading_ones(x) (__builtin_stdc_leading_ones (x)) +#else +# define stdc_leading_ones(x) \ + (stdc_leading_ones_ull ((unsigned long long int) (x) \ + << 8 * (sizeof (0ULL) - sizeof (x)))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline unsigned int +__clo64_inline (uint64_t __x) +{ + return __clz64_inline (~__x); +} + +static __always_inline unsigned int +__clo32_inline (uint32_t __x) +{ + return __clz32_inline (~__x); +} + +static __always_inline unsigned int +__clo16_inline (uint16_t __x) +{ + return __clz16_inline (__pacify_uint16 (~__x)); +} + +static __always_inline unsigned int +__clo8_inline (uint8_t __x) +{ + return __clz8_inline (__pacify_uint8 (~__x)); +} + +# define stdc_leading_ones_uc(x) (__clo8_inline (x)) +# define stdc_leading_ones_us(x) (__clo16_inline (x)) +# define stdc_leading_ones_ui(x) (__clo32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_leading_ones_ul(x) (__clo64_inline (x)) +# else +# define stdc_leading_ones_ul(x) (__clo32_inline (x)) +# endif +# define stdc_leading_ones_ull(x) (__clo64_inline (x)) +#endif + +/* Count trailing zeros. */ +extern unsigned int stdc_trailing_zeros_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_zeros_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_zeros_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_zeros_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_trailing_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_trailing_zeros) +# define stdc_trailing_zeros(x) (__builtin_stdc_trailing_zeros (x)) +#else +# define stdc_trailing_zeros(x) \ + (sizeof (x) == 8 ? stdc_trailing_zeros_ull (x) \ + : sizeof (x) == 4 ? stdc_trailing_zeros_ui (x) \ + : sizeof (x) == 2 ? stdc_trailing_zeros_us (__pacify_uint16 (x)) \ + : stdc_trailing_zeros_uc (__pacify_uint8 (x))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) +static __always_inline unsigned int +__ctz64_inline (uint64_t __x) +{ + return __x == 0 ? 64U : (unsigned int) __builtin_ctzll (__x); +} + +static __always_inline unsigned int +__ctz32_inline (uint32_t __x) +{ + return __x == 0 ? 32U : (unsigned int) __builtin_ctz (__x); +} + +static __always_inline unsigned int +__ctz16_inline (uint16_t __x) +{ + return __x == 0 ? 16U : (unsigned int) __builtin_ctz (__x); +} + +static __always_inline unsigned int +__ctz8_inline (uint8_t __x) +{ + return __x == 0 ? 8U : (unsigned int) __builtin_ctz (__x); +} + +# define stdc_trailing_zeros_uc(x) (__ctz8_inline (x)) +# define stdc_trailing_zeros_us(x) (__ctz16_inline (x)) +# define stdc_trailing_zeros_ui(x) (__ctz32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_trailing_zeros_ul(x) (__ctz64_inline (x)) +# else +# define stdc_trailing_zeros_ul(x) (__ctz32_inline (x)) +# endif +# define stdc_trailing_zeros_ull(x) (__ctz64_inline (x)) +#endif + +/* Count trailing ones. */ +extern unsigned int stdc_trailing_ones_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_ones_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_ones_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_trailing_ones_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_trailing_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_trailing_ones) +# define stdc_trailing_ones(x) (__builtin_stdc_trailing_ones (x)) +#else +# define stdc_trailing_ones(x) (stdc_trailing_ones_ull (x)) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) +static __always_inline unsigned int +__cto64_inline (uint64_t __x) +{ + return __ctz64_inline (~__x); +} + +static __always_inline unsigned int +__cto32_inline (uint32_t __x) +{ + return __ctz32_inline (~__x); +} + +static __always_inline unsigned int +__cto16_inline (uint16_t __x) +{ + return __ctz16_inline (__pacify_uint16 (~__x)); +} + +static __always_inline unsigned int +__cto8_inline (uint8_t __x) +{ + return __ctz8_inline (__pacify_uint8 (~__x)); +} + +# define stdc_trailing_ones_uc(x) (__cto8_inline (x)) +# define stdc_trailing_ones_us(x) (__cto16_inline (x)) +# define stdc_trailing_ones_ui(x) (__cto32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_trailing_ones_ul(x) (__cto64_inline (x)) +# else +# define stdc_trailing_ones_ul(x) (__cto32_inline (x)) +# endif +# define stdc_trailing_ones_ull(x) (__cto64_inline (x)) +#endif + +/* First leading zero. */ +extern unsigned int stdc_first_leading_zero_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_zero_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_zero_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_zero_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_first_leading_zero_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_first_leading_zero) +# define stdc_first_leading_zero(x) (__builtin_stdc_first_leading_zero (x)) +#else +# define stdc_first_leading_zero(x) \ + (sizeof (x) == 8 ? stdc_first_leading_zero_ull (x) \ + : sizeof (x) == 4 ? stdc_first_leading_zero_ui (x) \ + : sizeof (x) == 2 ? stdc_first_leading_zero_us (__pacify_uint16 (x)) \ + : stdc_first_leading_zero_uc (__pacify_uint8 (x))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline unsigned int +__flz64_inline (uint64_t __x) +{ + return __x == (uint64_t) -1 ? 0 : 1 + __clo64_inline (__x); +} + +static __always_inline unsigned int +__flz32_inline (uint32_t __x) +{ + return __x == (uint32_t) -1 ? 0 : 1 + __clo32_inline (__x); +} + +static __always_inline unsigned int +__flz16_inline (uint16_t __x) +{ + return __x == (uint16_t) -1 ? 0 : 1 + __clo16_inline (__x); +} + +static __always_inline unsigned int +__flz8_inline (uint8_t __x) +{ + return __x == (uint8_t) -1 ? 0 : 1 + __clo8_inline (__x); +} + +# define stdc_first_leading_zero_uc(x) (__flz8_inline (x)) +# define stdc_first_leading_zero_us(x) (__flz16_inline (x)) +# define stdc_first_leading_zero_ui(x) (__flz32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_first_leading_zero_ul(x) (__flz64_inline (x)) +# else +# define stdc_first_leading_zero_ul(x) (__flz32_inline (x)) +# endif +# define stdc_first_leading_zero_ull(x) (__flz64_inline (x)) +#endif + +/* First leading one. */ +extern unsigned int stdc_first_leading_one_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_one_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_one_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_leading_one_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_first_leading_one_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_first_leading_one) +# define stdc_first_leading_one(x) (__builtin_stdc_first_leading_one (x)) +#else +# define stdc_first_leading_one(x) \ + (sizeof (x) == 8 ? stdc_first_leading_one_ull (x) \ + : sizeof (x) == 4 ? stdc_first_leading_one_ui (x) \ + : sizeof (x) == 2 ? stdc_first_leading_one_us (__pacify_uint16 (x)) \ + : stdc_first_leading_one_uc (__pacify_uint8 (x))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline unsigned int +__flo64_inline (uint64_t __x) +{ + return __x == 0 ? 0 : 1 + __clz64_inline (__x); +} + +static __always_inline unsigned int +__flo32_inline (uint32_t __x) +{ + return __x == 0 ? 0 : 1 + __clz32_inline (__x); +} + +static __always_inline unsigned int +__flo16_inline (uint16_t __x) +{ + return __x == 0 ? 0 : 1 + __clz16_inline (__x); +} + +static __always_inline unsigned int +__flo8_inline (uint8_t __x) +{ + return __x == 0 ? 0 : 1 + __clz8_inline (__x); +} + +# define stdc_first_leading_one_uc(x) (__flo8_inline (x)) +# define stdc_first_leading_one_us(x) (__flo16_inline (x)) +# define stdc_first_leading_one_ui(x) (__flo32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_first_leading_one_ul(x) (__flo64_inline (x)) +# else +# define stdc_first_leading_one_ul(x) (__flo32_inline (x)) +# endif +# define stdc_first_leading_one_ull(x) (__flo64_inline (x)) +#endif + +/* First trailing zero. */ +extern unsigned int stdc_first_trailing_zero_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_zero_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_zero_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_zero_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_first_trailing_zero_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_first_trailing_zero) +# define stdc_first_trailing_zero(x) (__builtin_stdc_first_trailing_zero (x)) +#else +# define stdc_first_trailing_zero(x) \ + (sizeof (x) == 8 ? stdc_first_trailing_zero_ull (x) \ + : sizeof (x) == 4 ? stdc_first_trailing_zero_ui (x) \ + : sizeof (x) == 2 ? stdc_first_trailing_zero_us (__pacify_uint16 (x)) \ + : stdc_first_trailing_zero_uc (__pacify_uint8 (x))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) +static __always_inline unsigned int +__ftz64_inline (uint64_t __x) +{ + return __x == (uint64_t) -1 ? 0 : 1 + __cto64_inline (__x); +} + +static __always_inline unsigned int +__ftz32_inline (uint32_t __x) +{ + return __x == (uint32_t) -1 ? 0 : 1 + __cto32_inline (__x); +} + +static __always_inline unsigned int +__ftz16_inline (uint16_t __x) +{ + return __x == (uint16_t) -1 ? 0 : 1 + __cto16_inline (__x); +} + +static __always_inline unsigned int +__ftz8_inline (uint8_t __x) +{ + return __x == (uint8_t) -1 ? 0 : 1 + __cto8_inline (__x); +} + +# define stdc_first_trailing_zero_uc(x) (__ftz8_inline (x)) +# define stdc_first_trailing_zero_us(x) (__ftz16_inline (x)) +# define stdc_first_trailing_zero_ui(x) (__ftz32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_first_trailing_zero_ul(x) (__ftz64_inline (x)) +# else +# define stdc_first_trailing_zero_ul(x) (__ftz32_inline (x)) +# endif +# define stdc_first_trailing_zero_ull(x) (__ftz64_inline (x)) +#endif + +/* First trailing one. */ +extern unsigned int stdc_first_trailing_one_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_one_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_one_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_first_trailing_one_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_first_trailing_one_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_first_trailing_one) +# define stdc_first_trailing_one(x) (__builtin_stdc_first_trailing_one (x)) +#else +# define stdc_first_trailing_one(x) \ + (sizeof (x) == 8 ? stdc_first_trailing_one_ull (x) \ + : sizeof (x) == 4 ? stdc_first_trailing_one_ui (x) \ + : sizeof (x) == 2 ? stdc_first_trailing_one_us (__pacify_uint16 (x)) \ + : stdc_first_trailing_one_uc (__pacify_uint8 (x))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_ctzll) +static __always_inline unsigned int +__fto64_inline (uint64_t __x) +{ + return __x == 0 ? 0 : 1 + __ctz64_inline (__x); +} + +static __always_inline unsigned int +__fto32_inline (uint32_t __x) +{ + return __x == 0 ? 0 : 1 + __ctz32_inline (__x); +} + +static __always_inline unsigned int +__fto16_inline (uint16_t __x) +{ + return __x == 0 ? 0 : 1 + __ctz16_inline (__x); +} + +static __always_inline unsigned int +__fto8_inline (uint8_t __x) +{ + return __x == 0 ? 0 : 1 + __ctz8_inline (__x); +} + +# define stdc_first_trailing_one_uc(x) (__fto8_inline (x)) +# define stdc_first_trailing_one_us(x) (__fto16_inline (x)) +# define stdc_first_trailing_one_ui(x) (__fto32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_first_trailing_one_ul(x) (__fto64_inline (x)) +# else +# define stdc_first_trailing_one_ul(x) (__fto32_inline (x)) +# endif +# define stdc_first_trailing_one_ull(x) (__fto64_inline (x)) +#endif + +/* Count zeros. */ +extern unsigned int stdc_count_zeros_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_zeros_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_zeros_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_zeros_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_count_zeros_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_count_zeros) +# define stdc_count_zeros(x) (__builtin_stdc_count_zeros (x)) +#else +# define stdc_count_zeros(x) \ + (stdc_count_zeros_ull (x) \ + - (unsigned int) (8 * (sizeof (0ULL) - sizeof (x)))) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) +static __always_inline unsigned int +__cz64_inline (uint64_t __x) +{ + return 64U - (unsigned int) __builtin_popcountll (__x); +} + +static __always_inline unsigned int +__cz32_inline (uint32_t __x) +{ + return 32U - (unsigned int) __builtin_popcount (__x); +} + +static __always_inline unsigned int +__cz16_inline (uint16_t __x) +{ + return 16U - (unsigned int) __builtin_popcount (__x); +} + +static __always_inline unsigned int +__cz8_inline (uint8_t __x) +{ + return 8U - (unsigned int) __builtin_popcount (__x); +} + +# define stdc_count_zeros_uc(x) (__cz8_inline (x)) +# define stdc_count_zeros_us(x) (__cz16_inline (x)) +# define stdc_count_zeros_ui(x) (__cz32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_count_zeros_ul(x) (__cz64_inline (x)) +# else +# define stdc_count_zeros_ul(x) (__cz32_inline (x)) +# endif +# define stdc_count_zeros_ull(x) (__cz64_inline (x)) +#endif + +/* Count ones. */ +extern unsigned int stdc_count_ones_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_ones_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_ones_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_count_ones_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_count_ones_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_count_ones) +# define stdc_count_ones(x) (__builtin_stdc_count_ones (x)) +#else +# define stdc_count_ones(x) (stdc_count_ones_ull (x)) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_popcountll) +static __always_inline unsigned int +__co64_inline (uint64_t __x) +{ + return (unsigned int) __builtin_popcountll (__x); +} + +static __always_inline unsigned int +__co32_inline (uint32_t __x) +{ + return (unsigned int) __builtin_popcount (__x); +} + +static __always_inline unsigned int +__co16_inline (uint16_t __x) +{ + return (unsigned int) __builtin_popcount (__x); +} + +static __always_inline unsigned int +__co8_inline (uint8_t __x) +{ + return (unsigned int) __builtin_popcount (__x); +} + +# define stdc_count_ones_uc(x) (__co8_inline (x)) +# define stdc_count_ones_us(x) (__co16_inline (x)) +# define stdc_count_ones_ui(x) (__co32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_count_ones_ul(x) (__co64_inline (x)) +# else +# define stdc_count_ones_ul(x) (__co32_inline (x)) +# endif +# define stdc_count_ones_ull(x) (__co64_inline (x)) +#endif + +/* Single-bit check. */ +extern bool stdc_has_single_bit_uc (unsigned char __x) + __THROW __attribute_const__; +extern bool stdc_has_single_bit_us (unsigned short __x) + __THROW __attribute_const__; +extern bool stdc_has_single_bit_ui (unsigned int __x) + __THROW __attribute_const__; +extern bool stdc_has_single_bit_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern bool stdc_has_single_bit_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_has_single_bit) +# define stdc_has_single_bit(x) (__builtin_stdc_has_single_bit (x)) +#else +# define stdc_has_single_bit(x) \ + ((bool) (sizeof (x) <= sizeof (unsigned int) \ + ? stdc_has_single_bit_ui (x) \ + : stdc_has_single_bit_ull (x))) +#endif + +static __always_inline bool +__hsb64_inline (uint64_t __x) +{ + return (__x ^ (__x - 1)) > __x - 1; +} + +static __always_inline bool +__hsb32_inline (uint32_t __x) +{ + return (__x ^ (__x - 1)) > __x - 1; +} + +static __always_inline bool +__hsb16_inline (uint16_t __x) +{ + return (__x ^ (__x - 1)) > __x - 1; +} + +static __always_inline bool +__hsb8_inline (uint8_t __x) +{ + return (__x ^ (__x - 1)) > __x - 1; +} + +#define stdc_has_single_bit_uc(x) (__hsb8_inline (x)) +#define stdc_has_single_bit_us(x) (__hsb16_inline (x)) +#define stdc_has_single_bit_ui(x) (__hsb32_inline (x)) +#if __WORDSIZE == 64 +# define stdc_has_single_bit_ul(x) (__hsb64_inline (x)) +#else +# define stdc_has_single_bit_ul(x) (__hsb32_inline (x)) +#endif +#define stdc_has_single_bit_ull(x) (__hsb64_inline (x)) + +/* Bit width. */ +extern unsigned int stdc_bit_width_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned int stdc_bit_width_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_bit_width_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned int stdc_bit_width_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned int stdc_bit_width_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_bit_width) +# define stdc_bit_width(x) (__builtin_stdc_bit_width (x)) +#else +# define stdc_bit_width(x) (stdc_bit_width_ull (x)) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline unsigned int +__bw64_inline (uint64_t __x) +{ + return 64 - __clz64_inline (__x); +} + +static __always_inline unsigned int +__bw32_inline (uint32_t __x) +{ + return 32 - __clz32_inline (__x); +} + +static __always_inline unsigned int +__bw16_inline (uint16_t __x) +{ + return 16 - __clz16_inline (__x); +} + +static __always_inline unsigned int +__bw8_inline (uint8_t __x) +{ + return 8 - __clz8_inline (__x); +} + +# define stdc_bit_width_uc(x) (__bw8_inline (x)) +# define stdc_bit_width_us(x) (__bw16_inline (x)) +# define stdc_bit_width_ui(x) (__bw32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_bit_width_ul(x) (__bw64_inline (x)) +# else +# define stdc_bit_width_ul(x) (__bw32_inline (x)) +# endif +# define stdc_bit_width_ull(x) (__bw64_inline (x)) +#endif + +/* Bit floor. */ +extern unsigned char stdc_bit_floor_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned short stdc_bit_floor_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_bit_floor_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned long int stdc_bit_floor_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned long long int stdc_bit_floor_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_bit_floor) +# define stdc_bit_floor(x) (__builtin_stdc_bit_floor (x)) +#else +# define stdc_bit_floor(x) ((__typeof (x)) stdc_bit_floor_ull (x)) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline uint64_t +__bf64_inline (uint64_t __x) +{ + return __x == 0 ? 0 : ((uint64_t) 1) << (__bw64_inline (__x) - 1); +} + +static __always_inline uint32_t +__bf32_inline (uint32_t __x) +{ + return __x == 0 ? 0 : ((uint32_t) 1) << (__bw32_inline (__x) - 1); +} + +static __always_inline uint16_t +__bf16_inline (uint16_t __x) +{ + return __pacify_uint16 (__x == 0 + ? 0 : ((uint16_t) 1) << (__bw16_inline (__x) - 1)); +} + +static __always_inline uint8_t +__bf8_inline (uint8_t __x) +{ + return __pacify_uint8 (__x == 0 + ? 0 : ((uint8_t) 1) << (__bw8_inline (__x) - 1)); +} + +# define stdc_bit_floor_uc(x) ((unsigned char) __bf8_inline (x)) +# define stdc_bit_floor_us(x) ((unsigned short) __bf16_inline (x)) +# define stdc_bit_floor_ui(x) ((unsigned int) __bf32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_bit_floor_ul(x) ((unsigned long int) __bf64_inline (x)) +# else +# define stdc_bit_floor_ul(x) ((unsigned long int) __bf32_inline (x)) +# endif +# define stdc_bit_floor_ull(x) ((unsigned long long int) __bf64_inline (x)) +#endif + +/* Bit ceiling. */ +extern unsigned char stdc_bit_ceil_uc (unsigned char __x) + __THROW __attribute_const__; +extern unsigned short stdc_bit_ceil_us (unsigned short __x) + __THROW __attribute_const__; +extern unsigned int stdc_bit_ceil_ui (unsigned int __x) + __THROW __attribute_const__; +extern unsigned long int stdc_bit_ceil_ul (unsigned long int __x) + __THROW __attribute_const__; +__extension__ +extern unsigned long long int stdc_bit_ceil_ull (unsigned long long int __x) + __THROW __attribute_const__; +#if __glibc_has_builtin (__builtin_stdc_bit_ceil) +# define stdc_bit_ceil(x) (__builtin_stdc_bit_ceil (x)) +#else +# define stdc_bit_ceil(x) ((__typeof (x)) stdc_bit_ceil_ull (x)) +#endif + +#if __GNUC_PREREQ (3, 4) || __glibc_has_builtin (__builtin_clzll) +static __always_inline uint64_t +__bc64_inline (uint64_t __x) +{ + return __x <= 1 ? 1 : ((uint64_t) 2) << (__bw64_inline (__x - 1) - 1); +} + +static __always_inline uint32_t +__bc32_inline (uint32_t __x) +{ + return __x <= 1 ? 1 : ((uint32_t) 2) << (__bw32_inline (__x - 1) - 1); +} + +static __always_inline uint16_t +__bc16_inline (uint16_t __x) +{ + return __pacify_uint16 (__x <= 1 + ? 1 + : ((uint16_t) 2) + << (__bw16_inline ((uint16_t) (__x - 1)) - 1)); +} + +static __always_inline uint8_t +__bc8_inline (uint8_t __x) +{ + return __pacify_uint8 (__x <= 1 + ? 1 + : ((uint8_t) 2) + << (__bw8_inline ((uint8_t) (__x - 1)) - 1)); +} + +# define stdc_bit_ceil_uc(x) ((unsigned char) __bc8_inline (x)) +# define stdc_bit_ceil_us(x) ((unsigned short) __bc16_inline (x)) +# define stdc_bit_ceil_ui(x) ((unsigned int) __bc32_inline (x)) +# if __WORDSIZE == 64 +# define stdc_bit_ceil_ul(x) ((unsigned long int) __bc64_inline (x)) +# else +# define stdc_bit_ceil_ul(x) ((unsigned long int) __bc32_inline (x)) +# endif +# define stdc_bit_ceil_ull(x) ((unsigned long long int) __bc64_inline (x)) +#endif + +__END_DECLS + +#endif /* _STDBIT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdc-predef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdc-predef.h new file mode 100644 index 00000000..8bf36b70 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdc-predef.h @@ -0,0 +1,64 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H 1 + +/* This header is separate from features.h so that the compiler can + include it implicitly at the start of every compilation. It must + not itself include or any other header that includes + because the implicit include comes before any feature + test macros that may be defined in a source file before it first + explicitly includes a system header. GCC knows the name of this + header in order to preinclude it. */ + +/* glibc's intent is to support the IEC 559 math functionality, real + and complex. If the GCC (4.9 and later) predefined macros + specifying compiler intent are available, use them to determine + whether the overall intent is to support these features; otherwise, + presume an older compiler has intent to support these features and + define these macros by default. */ + +#ifdef __GCC_IEC_559 +# if __GCC_IEC_559 > 0 +# define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L +# endif +#else +# define __STDC_IEC_559__ 1 +# define __STDC_IEC_60559_BFP__ 201404L +#endif + +#ifdef __GCC_IEC_559_COMPLEX +# if __GCC_IEC_559_COMPLEX > 0 +# define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L +# endif +#else +# define __STDC_IEC_559_COMPLEX__ 1 +# define __STDC_IEC_60559_COMPLEX__ 201404L +#endif + +/* wchar_t uses Unicode 10.0.0. Version 10.0 of the Unicode Standard is + synchronized with ISO/IEC 10646:2017, fifth edition, plus + the following additions from Amendment 1 to the fifth edition: + - 56 emoji characters + - 285 hentaigana + - 3 additional Zanabazar Square characters */ +#define __STDC_ISO_10646__ 201706L + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdint.h new file mode 100644 index 00000000..19150608 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdint.h @@ -0,0 +1,308 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99: 7.18 Integer types + */ + +#ifndef _STDINT_H +#define _STDINT_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include +#include +#include +#include + +/* Exact integral types. */ + +/* Signed. */ +#include + +/* Unsigned. */ +#include + + +/* Small types. */ +#include + + +/* Fast types. */ + +/* Signed. */ +typedef signed char int_fast8_t; +#if __WORDSIZE == 64 +typedef long int int_fast16_t; +typedef long int int_fast32_t; +typedef long int int_fast64_t; +#else +typedef int int_fast16_t; +typedef int int_fast32_t; +__extension__ +typedef long long int int_fast64_t; +#endif + +/* Unsigned. */ +typedef unsigned char uint_fast8_t; +#if __WORDSIZE == 64 +typedef unsigned long int uint_fast16_t; +typedef unsigned long int uint_fast32_t; +typedef unsigned long int uint_fast64_t; +#else +typedef unsigned int uint_fast16_t; +typedef unsigned int uint_fast32_t; +__extension__ +typedef unsigned long long int uint_fast64_t; +#endif + + +/* Types for `void *' pointers. */ +#if __WORDSIZE == 64 +# ifndef __intptr_t_defined +typedef long int intptr_t; +# define __intptr_t_defined +# endif +typedef unsigned long int uintptr_t; +#else +# ifndef __intptr_t_defined +typedef int intptr_t; +# define __intptr_t_defined +# endif +typedef unsigned int uintptr_t; +#endif + + +/* Largest integral types. */ +typedef __intmax_t intmax_t; +typedef __uintmax_t uintmax_t; + + +# if __WORDSIZE == 64 +# define __INT64_C(c) c ## L +# define __UINT64_C(c) c ## UL +# else +# define __INT64_C(c) c ## LL +# define __UINT64_C(c) c ## ULL +# endif + +/* Limits of integral types. */ + +/* Minimum of signed integral types. */ +# define INT8_MIN (-128) +# define INT16_MIN (-32767-1) +# define INT32_MIN (-2147483647-1) +# define INT64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types. */ +# define INT8_MAX (127) +# define INT16_MAX (32767) +# define INT32_MAX (2147483647) +# define INT64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types. */ +# define UINT8_MAX (255) +# define UINT16_MAX (65535) +# define UINT32_MAX (4294967295U) +# define UINT64_MAX (__UINT64_C(18446744073709551615)) + + +/* Minimum of signed integral types having a minimum size. */ +# define INT_LEAST8_MIN (-128) +# define INT_LEAST16_MIN (-32767-1) +# define INT_LEAST32_MIN (-2147483647-1) +# define INT_LEAST64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of signed integral types having a minimum size. */ +# define INT_LEAST8_MAX (127) +# define INT_LEAST16_MAX (32767) +# define INT_LEAST32_MAX (2147483647) +# define INT_LEAST64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of unsigned integral types having a minimum size. */ +# define UINT_LEAST8_MAX (255) +# define UINT_LEAST16_MAX (65535) +# define UINT_LEAST32_MAX (4294967295U) +# define UINT_LEAST64_MAX (__UINT64_C(18446744073709551615)) + + +/* Minimum of fast signed integral types having a minimum size. */ +# define INT_FAST8_MIN (-128) +# if __WORDSIZE == 64 +# define INT_FAST16_MIN (-9223372036854775807L-1) +# define INT_FAST32_MIN (-9223372036854775807L-1) +# else +# define INT_FAST16_MIN (-2147483647-1) +# define INT_FAST32_MIN (-2147483647-1) +# endif +# define INT_FAST64_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum of fast signed integral types having a minimum size. */ +# define INT_FAST8_MAX (127) +# if __WORDSIZE == 64 +# define INT_FAST16_MAX (9223372036854775807L) +# define INT_FAST32_MAX (9223372036854775807L) +# else +# define INT_FAST16_MAX (2147483647) +# define INT_FAST32_MAX (2147483647) +# endif +# define INT_FAST64_MAX (__INT64_C(9223372036854775807)) + +/* Maximum of fast unsigned integral types having a minimum size. */ +# define UINT_FAST8_MAX (255) +# if __WORDSIZE == 64 +# define UINT_FAST16_MAX (18446744073709551615UL) +# define UINT_FAST32_MAX (18446744073709551615UL) +# else +# define UINT_FAST16_MAX (4294967295U) +# define UINT_FAST32_MAX (4294967295U) +# endif +# define UINT_FAST64_MAX (__UINT64_C(18446744073709551615)) + + +/* Values to test for integral types holding `void *' pointer. */ +# if __WORDSIZE == 64 +# define INTPTR_MIN (-9223372036854775807L-1) +# define INTPTR_MAX (9223372036854775807L) +# define UINTPTR_MAX (18446744073709551615UL) +# else +# define INTPTR_MIN (-2147483647-1) +# define INTPTR_MAX (2147483647) +# define UINTPTR_MAX (4294967295U) +# endif + + +/* Minimum for largest signed integral type. */ +# define INTMAX_MIN (-__INT64_C(9223372036854775807)-1) +/* Maximum for largest signed integral type. */ +# define INTMAX_MAX (__INT64_C(9223372036854775807)) + +/* Maximum for largest unsigned integral type. */ +# define UINTMAX_MAX (__UINT64_C(18446744073709551615)) + + +/* Limits of other integer types. */ + +/* Limits of `ptrdiff_t' type. */ +# if __WORDSIZE == 64 +# define PTRDIFF_MIN (-9223372036854775807L-1) +# define PTRDIFF_MAX (9223372036854775807L) +# else +# if __WORDSIZE32_PTRDIFF_LONG +# define PTRDIFF_MIN (-2147483647L-1) +# define PTRDIFF_MAX (2147483647L) +# else +# define PTRDIFF_MIN (-2147483647-1) +# define PTRDIFF_MAX (2147483647) +# endif +# endif + +/* Limits of `sig_atomic_t'. */ +# define SIG_ATOMIC_MIN (-2147483647-1) +# define SIG_ATOMIC_MAX (2147483647) + +/* Limit of `size_t' type. */ +# if __WORDSIZE == 64 +# define SIZE_MAX (18446744073709551615UL) +# else +# if __WORDSIZE32_SIZE_ULONG +# define SIZE_MAX (4294967295UL) +# else +# define SIZE_MAX (4294967295U) +# endif +# endif + +/* Limits of `wchar_t'. */ +# ifndef WCHAR_MIN +/* These constants might also be defined in . */ +# define WCHAR_MIN __WCHAR_MIN +# define WCHAR_MAX __WCHAR_MAX +# endif + +/* Limits of `wint_t'. */ +# define WINT_MIN (0u) +# define WINT_MAX (4294967295u) + +/* Signed. */ +# define INT8_C(c) c +# define INT16_C(c) c +# define INT32_C(c) c +# if __WORDSIZE == 64 +# define INT64_C(c) c ## L +# else +# define INT64_C(c) c ## LL +# endif + +/* Unsigned. */ +# define UINT8_C(c) c +# define UINT16_C(c) c +# define UINT32_C(c) c ## U +# if __WORDSIZE == 64 +# define UINT64_C(c) c ## UL +# else +# define UINT64_C(c) c ## ULL +# endif + +/* Maximal type. */ +# if __WORDSIZE == 64 +# define INTMAX_C(c) c ## L +# define UINTMAX_C(c) c ## UL +# else +# define INTMAX_C(c) c ## LL +# define UINTMAX_C(c) c ## ULL +# endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) + +# define INT8_WIDTH 8 +# define UINT8_WIDTH 8 +# define INT16_WIDTH 16 +# define UINT16_WIDTH 16 +# define INT32_WIDTH 32 +# define UINT32_WIDTH 32 +# define INT64_WIDTH 64 +# define UINT64_WIDTH 64 + +# define INT_LEAST8_WIDTH 8 +# define UINT_LEAST8_WIDTH 8 +# define INT_LEAST16_WIDTH 16 +# define UINT_LEAST16_WIDTH 16 +# define INT_LEAST32_WIDTH 32 +# define UINT_LEAST32_WIDTH 32 +# define INT_LEAST64_WIDTH 64 +# define UINT_LEAST64_WIDTH 64 + +# define INT_FAST8_WIDTH 8 +# define UINT_FAST8_WIDTH 8 +# define INT_FAST16_WIDTH __WORDSIZE +# define UINT_FAST16_WIDTH __WORDSIZE +# define INT_FAST32_WIDTH __WORDSIZE +# define UINT_FAST32_WIDTH __WORDSIZE +# define INT_FAST64_WIDTH 64 +# define UINT_FAST64_WIDTH 64 + +# define INTPTR_WIDTH __WORDSIZE +# define UINTPTR_WIDTH __WORDSIZE + +# define INTMAX_WIDTH 64 +# define UINTMAX_WIDTH 64 + +# define PTRDIFF_WIDTH __WORDSIZE +# define SIG_ATOMIC_WIDTH 32 +# define SIZE_WIDTH __WORDSIZE +# define WCHAR_WIDTH 32 +# define WINT_WIDTH 32 + +#endif + +#endif /* stdint.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio.h new file mode 100644 index 00000000..ad7dd9eb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio.h @@ -0,0 +1,975 @@ +/* Define ISO C stdio on top of C++ iostreams. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.19 Input/output + */ + +#ifndef _STDIO_H +#define _STDIO_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +__BEGIN_DECLS + +#define __need_size_t +#define __need_NULL +#include + +#define __need___va_list +#include + +#include +#include +#include +#include +#include +#include + +#ifdef __USE_MISC +# include +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# ifdef __GNUC__ +# ifndef _VA_LIST_DEFINED +typedef __gnuc_va_list va_list; +# define _VA_LIST_DEFINED +# endif +# else +# include +# endif +#endif + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +# ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +# endif +# if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +# endif +#endif + +#ifdef __USE_XOPEN2K8 +# ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +# endif +#endif + +/* The type of the second argument to `fgetpos' and `fsetpos'. */ +#ifndef __USE_FILE_OFFSET64 +typedef __fpos_t fpos_t; +#else +typedef __fpos64_t fpos_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __fpos64_t fpos64_t; +#endif + +/* The possibilities for the third argument to `setvbuf'. */ +#define _IOFBF 0 /* Fully buffered. */ +#define _IOLBF 1 /* Line buffered. */ +#define _IONBF 2 /* No buffering. */ + + +/* Default buffer size. */ +#define BUFSIZ 8192 + + +/* The value returned by fgetc and similar functions to indicate the + end of the file. */ +#define EOF (-1) + + +/* The possibilities for the third argument to `fseek'. + These values should not be changed. */ +#define SEEK_SET 0 /* Seek from beginning of file. */ +#define SEEK_CUR 1 /* Seek from current position. */ +#define SEEK_END 2 /* Seek from end of file. */ +#ifdef __USE_GNU +# define SEEK_DATA 3 /* Seek to next data. */ +# define SEEK_HOLE 4 /* Seek to next hole. */ +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* Default path prefix for `tempnam' and `tmpnam'. */ +# define P_tmpdir "/tmp" +#endif + +#define L_tmpnam 20 +#define TMP_MAX 238328 + +/* Get the values: + FILENAME_MAX Maximum length of a filename. */ +#include + +#ifdef __USE_POSIX +# define L_ctermid 9 +# if !defined __USE_XOPEN2K || defined __USE_GNU +# define L_cuserid 9 +# endif +#endif + +#undef FOPEN_MAX +#define FOPEN_MAX 16 + + +#if __GLIBC_USE (ISOC23) +/* Maximum length of printf output for a NaN. */ +# define _PRINTF_NAN_LEN_MAX 4 +#endif + + +/* Standard streams. */ +extern FILE *stdin; /* Standard input stream. */ +extern FILE *stdout; /* Standard output stream. */ +extern FILE *stderr; /* Standard error output stream. */ +/* C89/C99 say they're macros. Make them happy. */ +#define stdin stdin +#define stdout stdout +#define stderr stderr + +/* Remove file FILENAME. */ +extern int remove (const char *__filename) __THROW; +/* Rename file OLD to NEW. */ +extern int rename (const char *__old, const char *__new) __THROW; + +#ifdef __USE_ATFILE +/* Rename file OLD relative to OLDFD to NEW relative to NEWFD. */ +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) __THROW; +#endif + +#ifdef __USE_GNU +/* Flags for renameat2. */ +# define RENAME_NOREPLACE (1 << 0) +# define RENAME_EXCHANGE (1 << 1) +# define RENAME_WHITEOUT (1 << 2) + +/* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with + additional flags. */ +extern int renameat2 (int __oldfd, const char *__old, int __newfd, + const char *__new, unsigned int __flags) __THROW; +#endif + +/* Close STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fclose (FILE *__stream) __nonnull ((1)); + +#undef __attr_dealloc_fclose +#define __attr_dealloc_fclose __attr_dealloc (fclose, 1) + +/* Create a temporary file and open it read/write. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +#ifndef __USE_FILE_OFFSET64 +extern FILE *tmpfile (void) + __attribute_malloc__ __attr_dealloc_fclose __wur; +#else +# ifdef __REDIRECT +extern FILE *__REDIRECT (tmpfile, (void), tmpfile64) + __attribute_malloc__ __attr_dealloc_fclose __wur; +# else +# define tmpfile tmpfile64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern FILE *tmpfile64 (void) + __attribute_malloc__ __attr_dealloc_fclose __wur; +#endif + +/* Generate a temporary filename. */ +extern char *tmpnam (char[L_tmpnam]) __THROW __wur; + +#ifdef __USE_MISC +/* This is the reentrant variant of `tmpnam'. The only difference is + that it does not allow S to be NULL. */ +extern char *tmpnam_r (char __s[L_tmpnam]) __THROW __wur; +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* Generate a unique temporary filename using up to five characters of PFX + if it is not NULL. The directory to put this file in is searched for + as follows: First the environment variable "TMPDIR" is checked. + If it contains the name of a writable directory, that directory is used. + If not and if DIR is not NULL, that value is checked. If that fails, + P_tmpdir is tried and finally "/tmp". The storage for the filename + is allocated by `malloc'. */ +extern char *tempnam (const char *__dir, const char *__pfx) + __THROW __attribute_malloc__ __wur __attr_dealloc_free; +#endif + +/* Flush STREAM, or all streams if STREAM is NULL. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fflush (FILE *__stream); + +#ifdef __USE_MISC +/* Faster versions when locking is not required. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fflush_unlocked (FILE *__stream); +#endif + +#ifdef __USE_GNU +/* Close all streams. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fcloseall (void); +#endif + + +#ifndef __USE_FILE_OFFSET64 +/* Open a file and create a new stream for it. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) + __attribute_malloc__ __attr_dealloc_fclose __wur; +/* Open a file, replacing an existing stream with it. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __wur __nonnull ((3)); +#else +# ifdef __REDIRECT +extern FILE *__REDIRECT (fopen, (const char *__restrict __filename, + const char *__restrict __modes), fopen64) + __attribute_malloc__ __attr_dealloc_fclose __wur; +extern FILE *__REDIRECT (freopen, (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream), freopen64) + __wur __nonnull ((3)); +# else +# define fopen fopen64 +# define freopen freopen64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern FILE *fopen64 (const char *__restrict __filename, + const char *__restrict __modes) + __attribute_malloc__ __attr_dealloc_fclose __wur; +extern FILE *freopen64 (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) __wur __nonnull ((3)); +#endif + +#ifdef __USE_POSIX +/* Create a new stream that refers to an existing system file descriptor. */ +extern FILE *fdopen (int __fd, const char *__modes) __THROW + __attribute_malloc__ __attr_dealloc_fclose __wur; +#endif + +#ifdef __USE_MISC +/* Create a new stream that refers to the given magic cookie, + and uses the given functions for input and output. */ +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + cookie_io_functions_t __io_funcs) __THROW + __attribute_malloc__ __attr_dealloc_fclose __wur; +#endif + +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) +/* Create a new stream that refers to a memory buffer. */ +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + __THROW __attribute_malloc__ __attr_dealloc_fclose __wur; + +/* Open a stream that writes into a malloc'd buffer that is expanded as + necessary. *BUFLOC and *SIZELOC are updated with the buffer's location + and the number of characters written on fflush or fclose. */ +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __THROW + __attribute_malloc__ __attr_dealloc_fclose __wur; + +#ifdef _WCHAR_H +/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces + a wide character string. Declared here only to add attribute malloc + and only if has been previously #included. */ +extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW + __attribute_malloc__ __attr_dealloc_fclose; +# endif +#endif + +/* If BUF is NULL, make STREAM unbuffered. + Else make it use buffer BUF, of size BUFSIZ. */ +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __THROW + __nonnull ((1)); +/* Make STREAM use buffering mode MODE. + If BUF is not NULL, use N bytes of it for buffering; + else allocate an internal buffer N bytes long. */ +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __THROW __nonnull ((1)); + +#ifdef __USE_MISC +/* If BUF is NULL, make STREAM unbuffered. + Else make it use SIZE bytes of BUF for buffering. */ +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) __THROW __nonnull ((1)); + +/* Make STREAM line-buffered. */ +extern void setlinebuf (FILE *__stream) __THROW __nonnull ((1)); +#endif + + +/* Write formatted output to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...) __nonnull ((1)); +/* Write formatted output to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int printf (const char *__restrict __format, ...); +/* Write formatted output to S. */ +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) __THROWNL; + +/* Write formatted output to S from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __nonnull ((1)); +/* Write formatted output to stdout from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); +/* Write formatted output to S from argument list ARG. */ +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) __THROWNL; + +#if defined __USE_ISOC99 || defined __USE_UNIX98 +/* Maximum chars of output to write in MAXLEN. */ +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + __THROWNL __attribute__ ((__format__ (__printf__, 3, 0))); +#endif + +#if defined (__USE_MISC) || __GLIBC_USE (LIB_EXT2) +/* Write formatted output to a string dynamically allocated with `malloc'. + Store the address of the string in *PTR. */ +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))) __wur; +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))) __wur; +#endif + +#ifdef __USE_XOPEN2K8 +/* Write formatted output to a file descriptor. */ +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +#endif + + +/* Read formatted input from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur __nonnull ((1)); +/* Read formatted input from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int scanf (const char *__restrict __format, ...) __wur; +/* Read formatted input from S. */ +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; + +/* For historical reasons, the C99-compliant versions of the scanf + functions are at alternative names. When __LDBL_COMPAT or + __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in + bits/stdio-ldbl.h. */ +#include +#if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +# if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fscanf, (FILE *__restrict __stream, + const char *__restrict __format, ...), + __isoc23_fscanf) __wur __nonnull ((1)); +extern int __REDIRECT (scanf, (const char *__restrict __format, ...), + __isoc23_scanf) __wur; +extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, + const char *__restrict __format, ...), + __isoc23_sscanf); +# else +extern int __isoc23_fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur + __nonnull ((1)); +extern int __isoc23_scanf (const char *__restrict __format, ...) __wur; +extern int __isoc23_sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; +# define fscanf __isoc23_fscanf +# define scanf __isoc23_scanf +# define sscanf __isoc23_sscanf +# endif +# else +# ifdef __REDIRECT +extern int __REDIRECT (fscanf, (FILE *__restrict __stream, + const char *__restrict __format, ...), + __isoc99_fscanf) __wur __nonnull ((1)); +extern int __REDIRECT (scanf, (const char *__restrict __format, ...), + __isoc99_scanf) __wur; +extern int __REDIRECT_NTH (sscanf, (const char *__restrict __s, + const char *__restrict __format, ...), + __isoc99_sscanf); +# else +extern int __isoc99_fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) __wur + __nonnull ((1)); +extern int __isoc99_scanf (const char *__restrict __format, ...) __wur; +extern int __isoc99_sscanf (const char *__restrict __s, + const char *__restrict __format, ...) __THROW; +# define fscanf __isoc99_fscanf +# define scanf __isoc99_scanf +# define sscanf __isoc99_sscanf +# endif +# endif +#endif + +#ifdef __USE_ISOC99 +/* Read formatted input from S into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); + +/* Read formatted input from stdin into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; + +/* Read formatted input from S into argument list ARG. */ +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + __THROW __attribute__ ((__format__ (__scanf__, 2, 0))); + +/* Same redirection as above for the v*scanf family. */ +# if !__GLIBC_USE (DEPRECATED_SCANF) +# if __GLIBC_USE (C23_STRTOL) +# if defined __REDIRECT && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +extern int __REDIRECT (vfscanf, + (FILE *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg), + __isoc23_vfscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); +extern int __REDIRECT (vscanf, (const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vscanf) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; +extern int __REDIRECT_NTH (vsscanf, + (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg), __isoc23_vsscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))); +# elif !defined __REDIRECT +extern int __isoc23_vfscanf (FILE *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __wur __nonnull ((1)); +extern int __isoc23_vscanf (const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc23_vsscanf (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfscanf __isoc23_vfscanf +# define vscanf __isoc23_vscanf +# define vsscanf __isoc23_vsscanf +# endif +# else +# if defined __REDIRECT && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +extern int __REDIRECT (vfscanf, + (FILE *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg), + __isoc99_vfscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))) __wur __nonnull ((1)); +extern int __REDIRECT (vscanf, (const char *__restrict __format, + __gnuc_va_list __arg), __isoc99_vscanf) + __attribute__ ((__format__ (__scanf__, 1, 0))) __wur; +extern int __REDIRECT_NTH (vsscanf, + (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg), __isoc99_vsscanf) + __attribute__ ((__format__ (__scanf__, 2, 0))); +# elif !defined __REDIRECT +extern int __isoc99_vfscanf (FILE *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __wur __nonnull ((1)); +extern int __isoc99_vscanf (const char *__restrict __format, + __gnuc_va_list __arg) __wur; +extern int __isoc99_vsscanf (const char *__restrict __s, + const char *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfscanf __isoc99_vfscanf +# define vscanf __isoc99_vscanf +# define vsscanf __isoc99_vsscanf +# endif +# endif +# endif +#endif /* Use ISO C9x. */ + + +/* Read a character from STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int fgetc (FILE *__stream) __nonnull ((1)); +extern int getc (FILE *__stream) __nonnull ((1)); + +/* Read a character from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getchar (void); + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int getc_unlocked (FILE *__stream) __nonnull ((1)); +extern int getchar_unlocked (void); +#endif /* Use POSIX. */ + +#ifdef __USE_MISC +/* Faster version when locking is not necessary. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fgetc_unlocked (FILE *__stream) __nonnull ((1)); +#endif /* Use MISC. */ + + +/* Write a character to STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. + + These functions is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fputc (int __c, FILE *__stream) __nonnull ((2)); +extern int putc (int __c, FILE *__stream) __nonnull ((2)); + +/* Write a character to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int putchar (int __c); + +#ifdef __USE_MISC +/* Faster version when locking is not necessary. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fputc_unlocked (int __c, FILE *__stream) __nonnull ((2)); +#endif /* Use MISC. */ + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern int putc_unlocked (int __c, FILE *__stream) __nonnull ((2)); +extern int putchar_unlocked (int __c); +#endif /* Use POSIX. */ + + +#if defined __USE_MISC \ + || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +/* Get a word (int) from STREAM. */ +extern int getw (FILE *__stream) __nonnull ((1)); + +/* Write a word (int) to STREAM. */ +extern int putw (int __w, FILE *__stream) __nonnull ((2)); +#endif + + +/* Get a newline-terminated string of finite length from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + __wur __fortified_attr_access (__write_only__, 1, 2) __nonnull ((3)); + +#if __GLIBC_USE (DEPRECATED_GETS) +/* Get a newline-terminated string from stdin, removing the newline. + + This function is impossible to use safely. It has been officially + removed from ISO C11 and ISO C++14, and we have also removed it + from the _GNU_SOURCE feature list. It remains available when + explicitly using an old ISO C, Unix, or POSIX standard. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern char *gets (char *__s) __wur __attribute_deprecated__; +#endif + +#ifdef __USE_GNU +/* This function does the same as `fgets' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern char *fgets_unlocked (char *__restrict __s, int __n, + FILE *__restrict __stream) __wur + __fortified_attr_access (__write_only__, 1, 2) __nonnull ((3)); +#endif + + +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) +/* Read up to (and including) a DELIMITER from STREAM into *LINEPTR + (and null-terminate it). *LINEPTR is a pointer returned from malloc (or + NULL), pointing to *N characters of space. It is realloc'd as + necessary. Returns the number of characters read (not including the + null terminator), or -1 on error or EOF. */ +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __wur __nonnull ((4)); +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) __wur __nonnull ((4)); + +/* Like `getdelim', but reads up to a newline. */ +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) __wur __nonnull ((3)); +#endif + + +/* Write a string to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fputs (const char *__restrict __s, FILE *__restrict __stream) + __nonnull ((2)); + +/* Write a string, followed by a newline, to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int puts (const char *__s); + + +/* Push a character back onto the input buffer of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int ungetc (int __c, FILE *__stream) __nonnull ((2)); + + +/* Read chunks of generic data from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __wur + __nonnull((4)); +/* Write chunks of generic data to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s) __nonnull((4)); + +#ifdef __USE_GNU +/* This function does the same as `fputs' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fputs_unlocked (const char *__restrict __s, + FILE *__restrict __stream) __nonnull ((2)); +#endif + +#ifdef __USE_MISC +/* Faster versions when locking is not necessary. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) __wur + __nonnull ((4)); +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) + __nonnull ((4)); +#endif + + +/* Seek to a certain position on STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fseek (FILE *__stream, long int __off, int __whence) + __nonnull ((1)); +/* Return the current position of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern long int ftell (FILE *__stream) __wur __nonnull ((1)); +/* Rewind to the beginning of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void rewind (FILE *__stream) __nonnull ((1)); + +/* The Single Unix Specification, Version 2, specifies an alternative, + more adequate interface for the two functions above which deal with + file offset. `long int' is not the right type. These definitions + are originally defined in the Large File Support API. */ + +#if defined __USE_LARGEFILE || defined __USE_XOPEN2K +# ifndef __USE_FILE_OFFSET64 +/* Seek to a certain position on STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fseeko (FILE *__stream, __off_t __off, int __whence) + __nonnull ((1)); +/* Return the current position of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern __off_t ftello (FILE *__stream) __wur __nonnull ((1)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (fseeko, + (FILE *__stream, __off64_t __off, int __whence), + fseeko64) __nonnull ((1)); +extern __off64_t __REDIRECT (ftello, (FILE *__stream), ftello64) + __nonnull ((1)); +# else +# define fseeko fseeko64 +# define ftello ftello64 +# endif +# endif +#endif + +#ifndef __USE_FILE_OFFSET64 +/* Get STREAM's position. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) + __nonnull ((1)); +/* Set STREAM's position. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fsetpos (FILE *__stream, const fpos_t *__pos) __nonnull ((1)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (fgetpos, (FILE *__restrict __stream, + fpos_t *__restrict __pos), fgetpos64) + __nonnull ((1)); +extern int __REDIRECT (fsetpos, + (FILE *__stream, const fpos_t *__pos), fsetpos64) + __nonnull ((1)); +# else +# define fgetpos fgetpos64 +# define fsetpos fsetpos64 +# endif +#endif + +#ifdef __USE_LARGEFILE64 +extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence) + __nonnull ((1)); +extern __off64_t ftello64 (FILE *__stream) __wur __nonnull ((1)); +extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos) + __nonnull ((1)); +extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos) __nonnull ((1)); +#endif + +/* Clear the error and EOF indicators for STREAM. */ +extern void clearerr (FILE *__stream) __THROW __nonnull ((1)); +/* Return the EOF indicator for STREAM. */ +extern int feof (FILE *__stream) __THROW __wur __nonnull ((1)); +/* Return the error indicator for STREAM. */ +extern int ferror (FILE *__stream) __THROW __wur __nonnull ((1)); + +#ifdef __USE_MISC +/* Faster versions when locking is not required. */ +extern void clearerr_unlocked (FILE *__stream) __THROW __nonnull ((1)); +extern int feof_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); +extern int ferror_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); +#endif + + +/* Print a message describing the meaning of the value of errno. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void perror (const char *__s) __COLD; + + +#ifdef __USE_POSIX +/* Return the system file descriptor for STREAM. */ +extern int fileno (FILE *__stream) __THROW __wur __nonnull ((1)); +#endif /* Use POSIX. */ + +#ifdef __USE_MISC +/* Faster version when locking is not required. */ +extern int fileno_unlocked (FILE *__stream) __THROW __wur __nonnull ((1)); +#endif + + +#ifdef __USE_POSIX2 +/* Close a stream opened by popen and return the status of its child. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int pclose (FILE *__stream) __nonnull ((1)); + +/* Create a new stream connected to a pipe running the given command. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern FILE *popen (const char *__command, const char *__modes) + __attribute_malloc__ __attr_dealloc (pclose, 1) __wur; + +#endif + + +#ifdef __USE_POSIX +/* Return the name of the controlling terminal. */ +extern char *ctermid (char *__s) __THROW + __attr_access ((__write_only__, 1)); +#endif /* Use POSIX. */ + + +#if (defined __USE_XOPEN && !defined __USE_XOPEN2K) || defined __USE_GNU +/* Return the name of the current user. */ +extern char *cuserid (char *__s) + __attr_access ((__write_only__, 1)); +#endif /* Use X/Open, but not issue 6. */ + + +#ifdef __USE_GNU +struct obstack; /* See . */ + +/* Write formatted output to an obstack. */ +extern int obstack_printf (struct obstack *__restrict __obstack, + const char *__restrict __format, ...) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 3))); +extern int obstack_vprintf (struct obstack *__restrict __obstack, + const char *__restrict __format, + __gnuc_va_list __args) + __THROWNL __attribute__ ((__format__ (__printf__, 2, 0))); +#endif /* Use GNU. */ + + +#ifdef __USE_POSIX199506 +/* These are defined in POSIX.1:1996. */ + +/* Acquire ownership of STREAM. */ +extern void flockfile (FILE *__stream) __THROW __nonnull ((1)); + +/* Try to acquire ownership of STREAM but do not block if it is not + possible. */ +extern int ftrylockfile (FILE *__stream) __THROW __wur __nonnull ((1)); + +/* Relinquish the ownership granted for STREAM. */ +extern void funlockfile (FILE *__stream) __THROW __nonnull ((1)); +#endif /* POSIX */ + +#if defined __USE_XOPEN && !defined __USE_XOPEN2K && !defined __USE_GNU +/* X/Open Issues 1-5 required getopt to be declared in this + header. It was removed in Issue 6. GNU follows Issue 6. */ +# include +#endif + +/* Slow-path routines used by the optimized inline functions in + bits/stdio.h. */ +extern int __uflow (FILE *); +extern int __overflow (FILE *, int); + +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Declare all functions from bits/stdio2-decl.h first. */ +# include +#endif + +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/stdio.h. */ +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +/* If we are compiling with optimizing read this file. It contains + several optimizing inline functions and macros. */ +#ifdef __USE_EXTERN_INLINES +# include +#endif +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ +# include +#endif + +__END_DECLS + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio_ext.h new file mode 100644 index 00000000..37c30ce0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdio_ext.h @@ -0,0 +1,86 @@ +/* Functions to access FILE structure internals. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This header contains the same definitions as the header of the same name + on Sun's Solaris OS. */ + +#ifndef _STDIO_EXT_H +#define _STDIO_EXT_H 1 + +#include + +enum +{ + /* Query current state of the locking status. */ + FSETLOCKING_QUERY = 0, +#define FSETLOCKING_QUERY FSETLOCKING_QUERY + /* The library protects all uses of the stream functions, except for + uses of the *_unlocked functions, by calls equivalent to flockfile(). */ + FSETLOCKING_INTERNAL, +#define FSETLOCKING_INTERNAL FSETLOCKING_INTERNAL + /* The user will take care of locking. */ + FSETLOCKING_BYCALLER +#define FSETLOCKING_BYCALLER FSETLOCKING_BYCALLER +}; + + +__BEGIN_DECLS + +/* Return the size of the buffer of FP in bytes currently in use by + the given stream. */ +extern size_t __fbufsize (FILE *__fp) __THROW; + + +/* Return non-zero value iff the stream FP is opened readonly, or if the + last operation on the stream was a read operation. */ +extern int __freading (FILE *__fp) __THROW; + +/* Return non-zero value iff the stream FP is opened write-only or + append-only, or if the last operation on the stream was a write + operation. */ +extern int __fwriting (FILE *__fp) __THROW; + + +/* Return non-zero value iff stream FP is not opened write-only or + append-only. */ +extern int __freadable (FILE *__fp) __THROW; + +/* Return non-zero value iff stream FP is not opened read-only. */ +extern int __fwritable (FILE *__fp) __THROW; + + +/* Return non-zero value iff the stream FP is line-buffered. */ +extern int __flbf (FILE *__fp) __THROW; + + +/* Discard all pending buffered I/O on the stream FP. */ +extern void __fpurge (FILE *__fp) __THROW; + +/* Return amount of output in bytes pending on a stream FP. */ +extern size_t __fpending (FILE *__fp) __THROW; + +/* Flush all line-buffered files. */ +extern void _flushlbf (void); + + +/* Set locking status of stream FP to TYPE. */ +extern int __fsetlocking (FILE *__fp, int __type) __THROW; + +__END_DECLS + +#endif /* stdio_ext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdlib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdlib.h new file mode 100644 index 00000000..7ae0c0f7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/stdlib.h @@ -0,0 +1,1181 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.20 General utilities + */ + +#ifndef _STDLIB_H + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Get size_t, wchar_t and NULL from . */ +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#include + +__BEGIN_DECLS + +#define _STDLIB_H 1 + +#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) && !defined _SYS_WAIT_H +/* XPG requires a few symbols from being defined. */ +# include +# include + +/* Define the macros also would define this way. */ +# define WEXITSTATUS(status) __WEXITSTATUS (status) +# define WTERMSIG(status) __WTERMSIG (status) +# define WSTOPSIG(status) __WSTOPSIG (status) +# define WIFEXITED(status) __WIFEXITED (status) +# define WIFSIGNALED(status) __WIFSIGNALED (status) +# define WIFSTOPPED(status) __WIFSTOPPED (status) +# ifdef __WIFCONTINUED +# define WIFCONTINUED(status) __WIFCONTINUED (status) +# endif +#endif /* X/Open or XPG7 and not included. */ + +/* _FloatN API tests for enablement. */ +#include + +/* Returned by `div'. */ +typedef struct + { + int quot; /* Quotient. */ + int rem; /* Remainder. */ + } div_t; + +/* Returned by `ldiv'. */ +#ifndef __ldiv_t_defined +typedef struct + { + long int quot; /* Quotient. */ + long int rem; /* Remainder. */ + } ldiv_t; +# define __ldiv_t_defined 1 +#endif + +#if defined __USE_ISOC99 && !defined __lldiv_t_defined +/* Returned by `lldiv'. */ +__extension__ typedef struct + { + long long int quot; /* Quotient. */ + long long int rem; /* Remainder. */ + } lldiv_t; +# define __lldiv_t_defined 1 +#endif + + +/* The largest number rand will return (same as INT_MAX). */ +#define RAND_MAX 2147483647 + + +/* We define these the same for all machines. + Changes from this to the outside world should be done in `_exit'. */ +#define EXIT_FAILURE 1 /* Failing exit status. */ +#define EXIT_SUCCESS 0 /* Successful exit status. */ + + +/* Maximum length of a multibyte character in the current locale. */ +#define MB_CUR_MAX (__ctype_get_mb_cur_max ()) +extern size_t __ctype_get_mb_cur_max (void) __THROW __wur; + + +/* Convert a string to a floating-point number. */ +extern double atof (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +/* Convert a string to an integer. */ +extern int atoi (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +/* Convert a string to a long integer. */ +extern long int atol (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; + +#ifdef __USE_ISOC99 +/* Convert a string to a long long integer. */ +__extension__ extern long long int atoll (const char *__nptr) + __THROW __attribute_pure__ __nonnull ((1)) __wur; +#endif + +/* Convert a string to a floating-point number. */ +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); + +#ifdef __USE_ISOC99 +/* Likewise for `float' and `long double' sizes of floating-point numbers. */ +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) __THROW __nonnull ((1)); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +/* Likewise for '_FloatN' and '_FloatNx'. */ + +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float16 strtof16 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float32 strtof32 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float64 strtof64 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float128 strtof128 (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float32x strtof32x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float64x strtof64x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern _Float128x strtof128x (const char *__restrict __nptr, + char **__restrict __endptr) + __THROW __nonnull ((1)); +#endif + +/* Convert a string to a long integer. */ +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned long integer. */ +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); + +#ifdef __USE_MISC +/* Convert a string to a quadword integer. */ +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned quadword integer. */ +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +#endif /* Use misc. */ + +#ifdef __USE_ISOC99 +/* Convert a string to a quadword integer. */ +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +/* Convert a string to an unsigned quadword integer. */ +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +#endif /* ISO C99 or use MISC. */ + +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtol) + __nonnull ((1)); +extern unsigned long int __REDIRECT_NTH (strtoul, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoul) + __nonnull ((1)); +# ifdef __USE_MISC +__extension__ +extern long long int __REDIRECT_NTH (strtoq, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtouq, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# endif +__extension__ +extern long long int __REDIRECT_NTH (strtoll, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoll) + __nonnull ((1)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base), __isoc23_strtoull) + __nonnull ((1)); +# else +extern long int __isoc23_strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +extern unsigned long int __isoc23_strtoul (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +__extension__ +extern long long int __isoc23_strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + __THROW __nonnull ((1)); +__extension__ +extern unsigned long long int __isoc23_strtoull (const char *__restrict __nptr, + char **__restrict __endptr, + int __base) + __THROW __nonnull ((1)); +# define strtol __isoc23_strtol +# define strtoul __isoc23_strtoul +# ifdef __USE_MISC +# define strtoq __isoc23_strtoll +# define strtouq __isoc23_strtoull +# endif +# define strtoll __isoc23_strtoll +# define strtoull __isoc23_strtoull +# endif +#endif + +/* Convert a floating-point number to a string. */ +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +extern int strfromd (char *__dest, size_t __size, const char *__format, + double __f) + __THROW __nonnull ((3)); + +extern int strfromf (char *__dest, size_t __size, const char *__format, + float __f) + __THROW __nonnull ((3)); + +extern int strfroml (char *__dest, size_t __size, const char *__format, + long double __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf16 (char *__dest, size_t __size, const char * __format, + _Float16 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf32 (char *__dest, size_t __size, const char * __format, + _Float32 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf64 (char *__dest, size_t __size, const char * __format, + _Float64 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf128 (char *__dest, size_t __size, const char * __format, + _Float128 __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf32x (char *__dest, size_t __size, const char * __format, + _Float32x __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf64x (char *__dest, size_t __size, const char * __format, + _Float64x __f) + __THROW __nonnull ((3)); +#endif + +#if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +extern int strfromf128x (char *__dest, size_t __size, const char * __format, + _Float128x __f) + __THROW __nonnull ((3)); +#endif + + +#ifdef __USE_GNU +/* Parallel versions of the functions above which take the locale to + use as an additional parameter. These are GNU extensions inspired + by the POSIX.1-2008 extended locale API. */ +# include + +extern long int strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); + +extern unsigned long int strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); + +__extension__ +extern long long int strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) + __THROW __nonnull ((1, 4)); + +__extension__ +extern unsigned long long int strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); + +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (strtol_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtol_l) + __nonnull ((1, 4)); +extern unsigned long int __REDIRECT_NTH (strtoul_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoul_l) + __nonnull ((1, 4)); +__extension__ +extern long long int __REDIRECT_NTH (strtoll_l, (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, + locale_t __loc), + __isoc23_strtoll_l) + __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __REDIRECT_NTH (strtoull_l, + (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_strtoull_l) + __nonnull ((1, 4)); +# else +extern long int __isoc23_strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + locale_t __loc) __THROW __nonnull ((1, 4)); +extern unsigned long int __isoc23_strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern long long int __isoc23_strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +__extension__ +extern unsigned long long int __isoc23_strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, locale_t __loc) + __THROW __nonnull ((1, 4)); +# define strtol_l __isoc23_strtol_l +# define strtoul_l __isoc23_strtoul_l +# define strtoll_l __isoc23_strtoll_l +# define strtoull_l __isoc23_strtoull_l +# endif +# endif + +extern double strtod_l (const char *__restrict __nptr, + char **__restrict __endptr, locale_t __loc) + __THROW __nonnull ((1, 3)); + +extern float strtof_l (const char *__restrict __nptr, + char **__restrict __endptr, locale_t __loc) + __THROW __nonnull ((1, 3)); + +extern long double strtold_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); + +# if __HAVE_FLOAT16 +extern _Float16 strtof16_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT32 +extern _Float32 strtof32_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT64 +extern _Float64 strtof64_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT128 +extern _Float128 strtof128_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT32X +extern _Float32x strtof32x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT64X +extern _Float64x strtof64x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif + +# if __HAVE_FLOAT128X +extern _Float128x strtof128x_l (const char *__restrict __nptr, + char **__restrict __endptr, + locale_t __loc) + __THROW __nonnull ((1, 3)); +# endif +#endif /* GNU */ + + +#ifdef __USE_EXTERN_INLINES +__extern_inline int +__NTH (atoi (const char *__nptr)) +{ + return (int) strtol (__nptr, (char **) NULL, 10); +} +__extern_inline long int +__NTH (atol (const char *__nptr)) +{ + return strtol (__nptr, (char **) NULL, 10); +} + +# ifdef __USE_ISOC99 +__extension__ __extern_inline long long int +__NTH (atoll (const char *__nptr)) +{ + return strtoll (__nptr, (char **) NULL, 10); +} +# endif +#endif /* Optimizing and Inlining. */ + + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Convert N to base 64 using the digits "./0-9A-Za-z", least-significant + digit first. Returns a pointer to static storage overwritten by the + next call. */ +extern char *l64a (long int __n) __THROW __wur; + +/* Read a number from a string S in base 64 as above. */ +extern long int a64l (const char *__s) + __THROW __attribute_pure__ __nonnull ((1)) __wur; + +#endif /* Use misc || extended X/Open. */ + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +# include /* we need int32_t... */ + +/* These are the functions that actually do things. The `random', `srandom', + `initstate' and `setstate' functions are those from BSD Unices. + The `rand' and `srand' functions are required by the ANSI standard. + We provide both interfaces to the same random number generator. */ +/* Return a random long integer between 0 and 2^31-1 inclusive. */ +extern long int random (void) __THROW; + +/* Seed the random number generator with the given number. */ +extern void srandom (unsigned int __seed) __THROW; + +/* Initialize the random number generator to use state buffer STATEBUF, + of length STATELEN, and seed it with SEED. Optimal lengths are 8, 16, + 32, 64, 128 and 256, the bigger the better; values less than 8 will + cause an error and values greater than 256 will be rounded down. */ +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) __THROW __nonnull ((2)); + +/* Switch the random number generator to state buffer STATEBUF, + which should have been previously initialized by `initstate'. */ +extern char *setstate (char *__statebuf) __THROW __nonnull ((1)); + + +# ifdef __USE_MISC +/* Reentrant versions of the `random' family of functions. + These functions all use the following data structure to contain + state, rather than global state variables. */ + +struct random_data + { + int32_t *fptr; /* Front pointer. */ + int32_t *rptr; /* Rear pointer. */ + int32_t *state; /* Array of state values. */ + int rand_type; /* Type of random number generator. */ + int rand_deg; /* Degree of random number generator. */ + int rand_sep; /* Distance between front and rear. */ + int32_t *end_ptr; /* Pointer behind state table. */ + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) __THROW __nonnull ((1, 2)); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + __THROW __nonnull ((2)); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + __THROW __nonnull ((2, 4)); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + __THROW __nonnull ((1, 2)); +# endif /* Use misc. */ +#endif /* Use extended X/Open || misc. */ + + +/* Return a random integer between 0 and RAND_MAX inclusive. */ +extern int rand (void) __THROW; +/* Seed the random number generator with the given number. */ +extern void srand (unsigned int __seed) __THROW; + +#ifdef __USE_POSIX199506 +/* Reentrant interface according to POSIX.1. */ +extern int rand_r (unsigned int *__seed) __THROW; +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* System V style 48-bit random number generator functions. */ + +/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ +extern double drand48 (void) __THROW; +extern double erand48 (unsigned short int __xsubi[3]) __THROW __nonnull ((1)); + +/* Return non-negative, long integer in [0,2^31). */ +extern long int lrand48 (void) __THROW; +extern long int nrand48 (unsigned short int __xsubi[3]) + __THROW __nonnull ((1)); + +/* Return signed, long integers in [-2^31,2^31). */ +extern long int mrand48 (void) __THROW; +extern long int jrand48 (unsigned short int __xsubi[3]) + __THROW __nonnull ((1)); + +/* Seed random number generator. */ +extern void srand48 (long int __seedval) __THROW; +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + __THROW __nonnull ((1)); +extern void lcong48 (unsigned short int __param[7]) __THROW __nonnull ((1)); + +# ifdef __USE_MISC +/* Data structure for communication with thread safe versions. This + type is to be regarded as opaque. It's only exported because users + have to allocate objects of this type. */ +struct drand48_data + { + unsigned short int __x[3]; /* Current state. */ + unsigned short int __old_x[3]; /* Old state. */ + unsigned short int __c; /* Additive const. in congruential formula. */ + unsigned short int __init; /* Flag for initializing. */ + __extension__ unsigned long long int __a; /* Factor in congruential + formula. */ + }; + +/* Return non-negative, double-precision floating-point value in [0.0,1.0). */ +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) __THROW __nonnull ((1, 2)); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) __THROW __nonnull ((1, 2)); + +/* Return non-negative, long integer in [0,2^31). */ +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); + +/* Return signed, long integers in [-2^31,2^31). */ +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + __THROW __nonnull ((1, 2)); + +/* Seed random number generator. */ +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + __THROW __nonnull ((2)); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) __THROW __nonnull ((1, 2)); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + __THROW __nonnull ((1, 2)); + +/* + * arc4random* symbols introduced in glibc 2.36: + * https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS;h=8420a65cd06874ee09518366b8fba746a557212a;hb=6f4e0fcfa2d2b0915816a3a3a1d48b4763a7dee2 + */ +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 +/* Return a random integer between zero and 2**32-1 (inclusive). */ +extern __uint32_t arc4random (void) + __THROW __wur; + +/* Fill the buffer with random data. */ +extern void arc4random_buf (void *__buf, size_t __size) + __THROW __nonnull ((1)); + +/* Return a random number between zero (inclusive) and the specified + limit (exclusive). */ +extern __uint32_t arc4random_uniform (__uint32_t __upper_bound) + __THROW __wur; +# endif /* glibc v2.36 and later */ +# endif /* Use misc. */ +#endif /* Use misc or X/Open. */ + +/* Allocate SIZE bytes of memory. */ +extern void *malloc (size_t __size) __THROW __attribute_malloc__ + __attribute_alloc_size__ ((1)) __wur; +/* Allocate NMEMB elements of SIZE bytes each, all initialized to 0. */ +extern void *calloc (size_t __nmemb, size_t __size) + __THROW __attribute_malloc__ __attribute_alloc_size__ ((1, 2)) __wur; + +/* Re-allocate the previously allocated block + in PTR, making the new block SIZE bytes long. */ +/* __attribute_malloc__ is not used, because if realloc returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *realloc (void *__ptr, size_t __size) + __THROW __attribute_warn_unused_result__ __attribute_alloc_size__ ((2)); + +/* Free a block allocated by `malloc', `realloc' or `calloc'. */ +extern void free (void *__ptr) __THROW; + +/* + * reallocarray introduced in glibc 2.26 + * https://sourceware.org/git/?p=glibc.git;a=commit;h=2e0bbbfbf95fc9e22692e93658a6fbdd2d4554da + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 26) || __GLIBC__ > 2 +#ifdef __USE_MISC +/* Re-allocate the previously allocated block in PTR, making the new + block large enough for NMEMB elements of SIZE bytes each. */ +/* __attribute_malloc__ is not used, because if reallocarray returns + the same pointer that was passed to it, aliasing needs to be allowed + between objects pointed by the old and new pointers. */ +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __THROW __attribute_warn_unused_result__ + __attribute_alloc_size__ ((2, 3)) + __attr_dealloc_free; + +/* Add reallocarray as its own deallocator. */ +extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size) + __THROW __attr_dealloc (reallocarray, 1); +#endif +#endif /* glibc v2.26 and later */ + +#ifdef __USE_MISC +# include +#endif /* Use misc. */ + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ + || defined __USE_MISC +/* Allocate SIZE bytes on a page boundary. The storage cannot be freed. */ +extern void *valloc (size_t __size) __THROW __attribute_malloc__ + __attribute_alloc_size__ ((1)) __wur; +#endif + +#ifdef __USE_XOPEN2K +/* Allocate memory of SIZE bytes with an alignment of ALIGNMENT. */ +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + __THROW __nonnull ((1)) __wur; +#endif + +#ifdef __USE_ISOC11 +/* ISO C variant of aligned allocation. */ +extern void *aligned_alloc (size_t __alignment, size_t __size) + __THROW __attribute_malloc__ __attribute_alloc_align__ ((1)) + __attribute_alloc_size__ ((2)) __wur; +#endif + +/* Abort execution and generate a core-dump. */ +extern void abort (void) __THROW __attribute__ ((__noreturn__)) __COLD; + + +/* Register a function to be called when `exit' is called. */ +extern int atexit (void (*__func) (void)) __THROW __nonnull ((1)); + +#if defined __USE_ISOC11 || defined __USE_ISOCXX11 +/* Register a function to be called when `quick_exit' is called. */ +# ifdef __cplusplus +extern "C++" int at_quick_exit (void (*__func) (void)) + __THROW __asm ("at_quick_exit") __nonnull ((1)); +# else +extern int at_quick_exit (void (*__func) (void)) __THROW __nonnull ((1)); +# endif +#endif + +#ifdef __USE_MISC +/* Register a function to be called with the status + given to `exit' and the given argument. */ +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + __THROW __nonnull ((1)); +#endif + +/* Call all functions registered with `atexit' and `on_exit', + in the reverse of the order in which they were registered, + perform stdio cleanup, and terminate program execution with STATUS. */ +extern void exit (int __status) __THROW __attribute__ ((__noreturn__)); + +#if defined __USE_ISOC11 || defined __USE_ISOCXX11 +/* Call all functions registered with `at_quick_exit' in the reverse + of the order in which they were registered and terminate program + execution with STATUS. */ +extern void quick_exit (int __status) __THROW __attribute__ ((__noreturn__)); +#endif + +#ifdef __USE_ISOC99 +/* Terminate the program with STATUS without calling any of the + functions registered with `atexit' or `on_exit'. */ +extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__)); +#endif + + +/* Return the value of envariable NAME, or NULL if it doesn't exist. */ +extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur; + +#ifdef __USE_GNU +/* This function is similar to the above but returns NULL if the + programs is running with SUID or SGID enabled. */ +extern char *secure_getenv (const char *__name) + __THROW __nonnull ((1)) __wur; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN +/* The SVID says this is in , but this seems a better place. */ +/* Put STRING, which is of the form "NAME=VALUE", in the environment. + If there is no `=', remove NAME from the environment. */ +extern int putenv (char *__string) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_XOPEN2K +/* Set NAME to VALUE in the environment. + If REPLACE is nonzero, overwrite an existing value. */ +extern int setenv (const char *__name, const char *__value, int __replace) + __THROW __nonnull ((2)); + +/* Remove the variable NAME from the environment. */ +extern int unsetenv (const char *__name) __THROW __nonnull ((1)); +#endif + +#ifdef __USE_MISC +/* The `clearenv' was planned to be added to POSIX.1 but probably + never made it. Nevertheless the POSIX.9 standard (POSIX bindings + for Fortran 77) requires this function. */ +extern int clearenv (void) __THROW; +#endif + + +#if defined __USE_MISC \ + || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) +/* Generate a unique temporary file name from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the file name unique. + Always returns TEMPLATE, it's either a temporary file name or a null + string if it cannot get a unique file name. */ +extern char *mktemp (char *__template) __THROW __nonnull ((1)); +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Generate a unique temporary file name from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the filename unique. + Returns a file descriptor open on the file for reading and writing, + or -1 if it cannot create a uniquely-named file. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkstemp (char *__template) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkstemp, (char *__template), mkstemp64) + __nonnull ((1)) __wur; +# else +# define mkstemp mkstemp64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkstemp64 (char *__template) __nonnull ((1)) __wur; +# endif +#endif + +#ifdef __USE_MISC +/* Similar to mkstemp, but the template can have a suffix after the + XXXXXX. The length of the suffix is specified in the second + parameter. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkstemps (char *__template, int __suffixlen) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkstemps, (char *__template, int __suffixlen), + mkstemps64) __nonnull ((1)) __wur; +# else +# define mkstemps mkstemps64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkstemps64 (char *__template, int __suffixlen) + __nonnull ((1)) __wur; +# endif +#endif + +#ifdef __USE_XOPEN2K8 +/* Create a unique temporary directory from TEMPLATE. + The last six characters of TEMPLATE must be "XXXXXX"; + they are replaced with a string that makes the directory name unique. + Returns TEMPLATE, or a null pointer if it cannot get a unique name. + The directory is created mode 700. */ +extern char *mkdtemp (char *__template) __THROW __nonnull ((1)) __wur; +#endif + +#ifdef __USE_GNU +/* Generate a unique temporary file name from TEMPLATE similar to + mkstemp. But allow the caller to pass additional flags which are + used in the open call to create the file.. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkostemp (char *__template, int __flags) __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkostemp, (char *__template, int __flags), mkostemp64) + __nonnull ((1)) __wur; +# else +# define mkostemp mkostemp64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkostemp64 (char *__template, int __flags) __nonnull ((1)) __wur; +# endif + +/* Similar to mkostemp, but the template can have a suffix after the + XXXXXX. The length of the suffix is specified in the second + parameter. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +# ifndef __USE_FILE_OFFSET64 +extern int mkostemps (char *__template, int __suffixlen, int __flags) + __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (mkostemps, (char *__template, int __suffixlen, + int __flags), mkostemps64) + __nonnull ((1)) __wur; +# else +# define mkostemps mkostemps64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int mkostemps64 (char *__template, int __suffixlen, int __flags) + __nonnull ((1)) __wur; +# endif +#endif + + +/* Execute the given line as a shell command. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int system (const char *__command) __wur; + + +#ifdef __USE_GNU +/* Return a malloc'd string containing the canonical absolute name of the + existing named file. */ +extern char *canonicalize_file_name (const char *__name) + __THROW __nonnull ((1)) __attribute_malloc__ + __attr_dealloc_free __wur; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Return the canonical absolute name of file NAME. If RESOLVED is + null, the result is malloc'd; otherwise, if the canonical name is + PATH_MAX chars or more, returns null with `errno' set to + ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, + returns the name in RESOLVED. */ +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) __THROW __wur; +#endif + + +/* Shorthand for type of comparison functions. */ +#ifndef __COMPAR_FN_T +# define __COMPAR_FN_T +typedef int (*__compar_fn_t) (const void *, const void *); + +# ifdef __USE_GNU +typedef __compar_fn_t comparison_fn_t; +# endif +#endif +#ifdef __USE_GNU +typedef int (*__compar_d_fn_t) (const void *, const void *, void *); +#endif + +/* Do a binary search for KEY in BASE, which consists of NMEMB elements + of SIZE bytes each, using COMPAR to perform the comparisons. */ +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __nonnull ((1, 2, 5)) __wur; + +#ifdef __USE_EXTERN_INLINES +# include +#endif + +/* Sort NMEMB elements of BASE, of SIZE bytes each, + using COMPAR to perform the comparisons. */ +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __nonnull ((1, 4)); +#ifdef __USE_GNU +extern void qsort_r (void *__base, size_t __nmemb, size_t __size, + __compar_d_fn_t __compar, void *__arg) + __nonnull ((1, 4)); +#endif + + +/* Return the absolute value of X. */ +extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur; +extern long int labs (long int __x) __THROW __attribute__ ((__const__)) __wur; + +#ifdef __USE_ISOC99 +__extension__ extern long long int llabs (long long int __x) + __THROW __attribute__ ((__const__)) __wur; +#endif + + +/* Return the `div_t', `ldiv_t' or `lldiv_t' representation + of the value of NUMER over DENOM. */ +/* GCC may have built-ins for these someday. */ +extern div_t div (int __numer, int __denom) + __THROW __attribute__ ((__const__)) __wur; +extern ldiv_t ldiv (long int __numer, long int __denom) + __THROW __attribute__ ((__const__)) __wur; + +#ifdef __USE_ISOC99 +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + __THROW __attribute__ ((__const__)) __wur; +#endif + + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC +/* Convert floating point numbers to strings. The returned values are + valid only until another call to the same function. */ + +/* Convert VALUE to a string with NDIGIT digits and return a pointer to + this. Set *DECPT with the position of the decimal character and *SIGN + with the sign of the number. */ +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; + +/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT + with the position of the decimal character and *SIGN with the sign of + the number. */ +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) __THROW __nonnull ((3, 4)) __wur; + +/* If possible convert VALUE to a string with NDIGIT significant digits. + Otherwise use exponential representation. The resulting string will + be written to BUF. */ +extern char *gcvt (double __value, int __ndigit, char *__buf) + __THROW __nonnull ((3)) __wur; +#endif + +#ifdef __USE_MISC +/* Long double versions of above functions. */ +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __THROW __nonnull ((3, 4)) __wur; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + __THROW __nonnull ((3, 4)) __wur; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + __THROW __nonnull ((3)) __wur; + + +/* Reentrant version of the functions above which provide their own + buffers. */ +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __THROW __nonnull ((3, 4, 5)); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) __THROW __nonnull ((3, 4, 5)); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((3, 4, 5)); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((3, 4, 5)); +#endif /* misc */ + + +/* Return the length of the multibyte character + in S, which is no longer than N. */ +extern int mblen (const char *__s, size_t __n) __THROW; +/* Return the length of the given multibyte character, + putting its `wchar_t' representation in *PWC. */ +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) __THROW; +/* Put the multibyte character represented + by WCHAR in S, returning its length. */ +extern int wctomb (char *__s, wchar_t __wchar) __THROW; + + +/* Convert a multibyte string to a wide char string. */ +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) __THROW + __attr_access ((__read_only__, 2)); +/* Convert a wide char string to multibyte string. */ +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + __THROW + __fortified_attr_access (__write_only__, 1, 3) + __attr_access ((__read_only__, 2)); + +#ifdef __USE_MISC +/* Determine whether the string value of RESPONSE matches the affirmation + or negative response expression as specified by the LC_MESSAGES category + in the program's current locale. Returns 1 if affirmative, 0 if + negative, and -1 if not matching. */ +extern int rpmatch (const char *__response) __THROW __nonnull ((1)) __wur; +#endif + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Parse comma separated suboption from *OPTIONP and match against + strings in TOKENS. If found return index and set *VALUEP to + optional value introduced by an equal sign. If the suboption is + not part of TOKENS return in *VALUEP beginning of unknown + suboption. On exit *OPTIONP is set to the beginning of the next + token or at the terminating NUL character. */ +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + __THROW __nonnull ((1, 2, 3)) __wur; +#endif + + +/* X/Open pseudo terminal handling. */ + +#ifdef __USE_XOPEN2KXSI +/* Return a master pseudo-terminal handle. */ +extern int posix_openpt (int __oflag) __wur; +#endif + +#ifdef __USE_XOPEN_EXTENDED +/* The next four functions all take a master pseudo-tty fd and + perform an operation on the associated slave: */ + +/* Chown the slave to the calling user. */ +extern int grantpt (int __fd) __THROW; + +/* Release an internal lock so the slave can be opened. + Call after grantpt(). */ +extern int unlockpt (int __fd) __THROW; + +/* Return the pathname of the pseudo terminal slave associated with + the master FD is open on, or NULL on errors. + The returned storage is good until the next call to this function. */ +extern char *ptsname (int __fd) __THROW __wur; +#endif + +#ifdef __USE_GNU +/* Store at most BUFLEN characters of the pathname of the slave pseudo + terminal associated with the master FD is open on in BUF. + Return 0 on success, otherwise an error number. */ +extern int ptsname_r (int __fd, char *__buf, size_t __buflen) + __THROW __nonnull ((2)) __fortified_attr_access (__write_only__, 2, 3); + +/* Open a master pseudo terminal and return its file descriptor. */ +extern int getpt (void); +#endif + +#ifdef __USE_MISC +/* Put the 1 minute, 5 minute and 15 minute load averages into the first + NELEM elements of LOADAVG. Return the number written (never more than + three, but may be less than NELEM), or -1 if an error occurred. */ +extern int getloadavg (double __loadavg[], int __nelem) + __THROW __nonnull ((1)); +#endif + +#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K +/* Return the index into the active-logins file (utmp) for + the controlling terminal. */ +extern int ttyslot (void) __THROW; +#endif + +#include + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +#include +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +__END_DECLS + +#endif /* stdlib.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/string.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/string.h new file mode 100644 index 00000000..68f695cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/string.h @@ -0,0 +1,560 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.21 String handling + */ + +#ifndef _STRING_H +#define _STRING_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +__BEGIN_DECLS + +/* Get size_t and NULL from . */ +#define __need_size_t +#define __need_NULL +#include + +/* Tell the caller that we provide correct C++ prototypes. */ +#if defined __cplusplus && (__GNUC_PREREQ (4, 4) \ + || __glibc_clang_prereq (3, 5)) +# define __CORRECT_ISO_CPP_STRING_H_PROTO +#endif + + +/* Copy N bytes of SRC to DEST. */ +extern void *memcpy (void *__restrict __dest, const void *__restrict __src, + size_t __n) __THROW __nonnull ((1, 2)); +/* Copy N bytes of SRC to DEST, guaranteeing + correct behavior for overlapping strings. */ +extern void *memmove (void *__dest, const void *__src, size_t __n) + __THROW __nonnull ((1, 2)); + +/* Copy no more than N bytes of SRC to DEST, stopping when C is found. + Return the position in DEST one byte past where C was copied, + or NULL if C was not found in the first N bytes of SRC. */ +#if defined __USE_MISC || defined __USE_XOPEN || __GLIBC_USE (ISOC23) +extern void *memccpy (void *__restrict __dest, const void *__restrict __src, + int __c, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 4)); +#endif /* Misc || X/Open. */ + + +/* Set N bytes of S to C. */ +extern void *memset (void *__s, int __c, size_t __n) __THROW __nonnull ((1)); + +/* Compare N bytes of S1 and S2. */ +extern int memcmp (const void *__s1, const void *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Compare N bytes of S1 and S2. Return zero if S1 and S2 are equal. + Return some non-zero value otherwise. + + Essentially __memcmpeq has the exact same semantics as memcmp + except the return value is less constrained. memcmp is always a + correct implementation of __memcmpeq. As well !!memcmp, -memcmp, + or bcmp are correct implementations. + + __memcmpeq is meant to be used by compilers when memcmp return is + only used for its boolean value. + + __memcmpeq is declared only for use by compilers. Programs should + continue to use memcmp. */ +extern int __memcmpeq (const void *__s1, const void *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Search N bytes of S for C. */ +#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" +{ +extern void *memchr (void *__s, int __c, size_t __n) + __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); +extern const void *memchr (const void *__s, int __c, size_t __n) + __THROW __asm ("memchr") __attribute_pure__ __nonnull ((1)); + +# ifdef __OPTIMIZE__ +__extern_always_inline void * +memchr (void *__s, int __c, size_t __n) __THROW +{ + return __builtin_memchr (__s, __c, __n); +} + +__extern_always_inline const void * +memchr (const void *__s, int __c, size_t __n) __THROW +{ + return __builtin_memchr (__s, __c, __n); +} +# endif +} +#else +extern void *memchr (const void *__s, int __c, size_t __n) + __THROW __attribute_pure__ __nonnull ((1)); +#endif + +#ifdef __USE_GNU +/* Search in S for C. This is similar to `memchr' but there is no + length limit. */ +# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" void *rawmemchr (void *__s, int __c) + __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); +extern "C++" const void *rawmemchr (const void *__s, int __c) + __THROW __asm ("rawmemchr") __attribute_pure__ __nonnull ((1)); +# else +extern void *rawmemchr (const void *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +# endif + +/* Search N bytes of S for the final occurrence of C. */ +# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" void *memrchr (void *__s, int __c, size_t __n) + __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) + __attr_access ((__read_only__, 1, 3)); +extern "C++" const void *memrchr (const void *__s, int __c, size_t __n) + __THROW __asm ("memrchr") __attribute_pure__ __nonnull ((1)) + __attr_access ((__read_only__, 1, 3)); +# else +extern void *memrchr (const void *__s, int __c, size_t __n) + __THROW __attribute_pure__ __nonnull ((1)) + __attr_access ((__read_only__, 1, 3)); +# endif +#endif + + +/* Copy SRC to DEST. */ +extern char *strcpy (char *__restrict __dest, const char *__restrict __src) + __THROW __nonnull ((1, 2)); +/* Copy no more than N characters of SRC to DEST. */ +extern char *strncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); + +/* Append SRC onto DEST. */ +extern char *strcat (char *__restrict __dest, const char *__restrict __src) + __THROW __nonnull ((1, 2)); +/* Append no more than N characters from SRC onto DEST. */ +extern char *strncat (char *__restrict __dest, const char *__restrict __src, + size_t __n) __THROW __nonnull ((1, 2)); + +/* Compare S1 and S2. */ +extern int strcmp (const char *__s1, const char *__s2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Compare N characters of S1 and S2. */ +extern int strncmp (const char *__s1, const char *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Compare the collated forms of S1 and S2. */ +extern int strcoll (const char *__s1, const char *__s2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Put a transformation of SRC into no more than N bytes of DEST. */ +extern size_t strxfrm (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((2)) __attr_access ((__write_only__, 1, 3)); + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* Compare the collated forms of S1 and S2, using sorting rules from L. */ +extern int strcoll_l (const char *__s1, const char *__s2, locale_t __l) + __THROW __attribute_pure__ __nonnull ((1, 2, 3)); +/* Put a transformation of SRC into no more than N bytes of DEST, + using sorting rules from L. */ +extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n, + locale_t __l) __THROW __nonnull ((2, 4)) + __attr_access ((__write_only__, 1, 3)); +#endif + +#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \ + || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23)) +/* Duplicate S, returning an identical malloc'd string. */ +extern char *strdup (const char *__s) + __THROW __attribute_malloc__ __nonnull ((1)); +#endif + +/* Return a malloc'd copy of at most N bytes of STRING. The + resultant string is terminated even if no null terminator + appears before STRING[N]. */ +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) || __GLIBC_USE (ISOC23) +extern char *strndup (const char *__string, size_t __n) + __THROW __attribute_malloc__ __nonnull ((1)); +#endif + +#if defined __USE_GNU && defined __GNUC__ +/* Duplicate S, returning an identical alloca'd string. */ +# define strdupa(s) \ + (__extension__ \ + ({ \ + const char *__old = (s); \ + size_t __len = strlen (__old) + 1; \ + char *__new = (char *) __builtin_alloca (__len); \ + (char *) memcpy (__new, __old, __len); \ + })) + +/* Return an alloca'd copy of at most N bytes of string. */ +# define strndupa(s, n) \ + (__extension__ \ + ({ \ + const char *__old = (s); \ + size_t __len = strnlen (__old, (n)); \ + char *__new = (char *) __builtin_alloca (__len + 1); \ + __new[__len] = '\0'; \ + (char *) memcpy (__new, __old, __len); \ + })) +#endif + +/* Find the first occurrence of C in S. */ +#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" +{ +extern char *strchr (char *__s, int __c) + __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); +extern const char *strchr (const char *__s, int __c) + __THROW __asm ("strchr") __attribute_pure__ __nonnull ((1)); + +# ifdef __OPTIMIZE__ +__extern_always_inline char * +strchr (char *__s, int __c) __THROW +{ + return __builtin_strchr (__s, __c); +} + +__extern_always_inline const char * +strchr (const char *__s, int __c) __THROW +{ + return __builtin_strchr (__s, __c); +} +# endif +} +#else +extern char *strchr (const char *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +#endif +/* Find the last occurrence of C in S. */ +#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" +{ +extern char *strrchr (char *__s, int __c) + __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); +extern const char *strrchr (const char *__s, int __c) + __THROW __asm ("strrchr") __attribute_pure__ __nonnull ((1)); + +# ifdef __OPTIMIZE__ +__extern_always_inline char * +strrchr (char *__s, int __c) __THROW +{ + return __builtin_strrchr (__s, __c); +} + +__extern_always_inline const char * +strrchr (const char *__s, int __c) __THROW +{ + return __builtin_strrchr (__s, __c); +} +# endif +} +#else +extern char *strrchr (const char *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +#endif + +#ifdef __USE_MISC +/* This function is similar to `strchr'. But it returns a pointer to + the closing NUL byte in case C is not found in S. */ +# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" char *strchrnul (char *__s, int __c) + __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); +extern "C++" const char *strchrnul (const char *__s, int __c) + __THROW __asm ("strchrnul") __attribute_pure__ __nonnull ((1)); +# else +extern char *strchrnul (const char *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +# endif +#endif + +/* Return the length of the initial segment of S which + consists entirely of characters not in REJECT. */ +extern size_t strcspn (const char *__s, const char *__reject) + __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Return the length of the initial segment of S which + consists entirely of characters in ACCEPT. */ +extern size_t strspn (const char *__s, const char *__accept) + __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Find the first occurrence in S of any character in ACCEPT. */ +#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" +{ +extern char *strpbrk (char *__s, const char *__accept) + __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); +extern const char *strpbrk (const char *__s, const char *__accept) + __THROW __asm ("strpbrk") __attribute_pure__ __nonnull ((1, 2)); + +# ifdef __OPTIMIZE__ +__extern_always_inline char * +strpbrk (char *__s, const char *__accept) __THROW +{ + return __builtin_strpbrk (__s, __accept); +} + +__extern_always_inline const char * +strpbrk (const char *__s, const char *__accept) __THROW +{ + return __builtin_strpbrk (__s, __accept); +} +# endif +} +#else +extern char *strpbrk (const char *__s, const char *__accept) + __THROW __attribute_pure__ __nonnull ((1, 2)); +#endif +/* Find the first occurrence of NEEDLE in HAYSTACK. */ +#ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" +{ +extern char *strstr (char *__haystack, const char *__needle) + __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); +extern const char *strstr (const char *__haystack, const char *__needle) + __THROW __asm ("strstr") __attribute_pure__ __nonnull ((1, 2)); + +# ifdef __OPTIMIZE__ +__extern_always_inline char * +strstr (char *__haystack, const char *__needle) __THROW +{ + return __builtin_strstr (__haystack, __needle); +} + +__extern_always_inline const char * +strstr (const char *__haystack, const char *__needle) __THROW +{ + return __builtin_strstr (__haystack, __needle); +} +# endif +} +#else +extern char *strstr (const char *__haystack, const char *__needle) + __THROW __attribute_pure__ __nonnull ((1, 2)); +#endif + + +/* Divide S into tokens separated by characters in DELIM. */ +extern char *strtok (char *__restrict __s, const char *__restrict __delim) + __THROW __nonnull ((2)); + +/* Divide S into tokens separated by characters in DELIM. Information + passed between calls are stored in SAVE_PTR. */ +extern char *__strtok_r (char *__restrict __s, + const char *__restrict __delim, + char **__restrict __save_ptr) + __THROW __nonnull ((2, 3)); +#ifdef __USE_POSIX +extern char *strtok_r (char *__restrict __s, const char *__restrict __delim, + char **__restrict __save_ptr) + __THROW __nonnull ((2, 3)); +#endif + +#ifdef __USE_MISC +/* Similar to `strstr' but this function ignores the case of both strings. */ +# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" char *strcasestr (char *__haystack, const char *__needle) + __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); +extern "C++" const char *strcasestr (const char *__haystack, + const char *__needle) + __THROW __asm ("strcasestr") __attribute_pure__ __nonnull ((1, 2)); +# else +extern char *strcasestr (const char *__haystack, const char *__needle) + __THROW __attribute_pure__ __nonnull ((1, 2)); +# endif +#endif + +#ifdef __USE_MISC +/* Find the first occurrence of NEEDLE in HAYSTACK. + NEEDLE is NEEDLELEN bytes long; + HAYSTACK is HAYSTACKLEN bytes long. */ +extern void *memmem (const void *__haystack, size_t __haystacklen, + const void *__needle, size_t __needlelen) + __THROW __attribute_pure__ __nonnull ((1, 3)) + __attr_access ((__read_only__, 1, 2)) + __attr_access ((__read_only__, 3, 4)); + +/* Copy N bytes of SRC to DEST, return pointer to bytes after the + last written byte. */ +extern void *__mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); +extern void *mempcpy (void *__restrict __dest, + const void *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); +#endif + + +/* Return the length of S. */ +extern size_t strlen (const char *__s) + __THROW __attribute_pure__ __nonnull ((1)); + +#ifdef __USE_XOPEN2K8 +/* Find the length of STRING, but scan at most MAXLEN characters. + If no '\0' terminator is found in that many characters, return MAXLEN. */ +extern size_t strnlen (const char *__string, size_t __maxlen) + __THROW __attribute_pure__ __nonnull ((1)); +#endif + + +/* Return a string describing the meaning of the `errno' code in ERRNUM. */ +extern char *strerror (int __errnum) __THROW; +#ifdef __USE_XOPEN2K +/* Reentrant version of `strerror'. + There are 2 flavors of `strerror_r', GNU which returns the string + and may or may not use the supplied temporary buffer and POSIX one + which fills the string into the buffer. + To use the POSIX version, -D_XOPEN_SOURCE=600 or -D_POSIX_C_SOURCE=200112L + without -D_GNU_SOURCE is needed, otherwise the GNU version is + preferred. */ +# if defined __USE_XOPEN2K && !defined __USE_GNU +/* Fill BUF with a string describing the meaning of the `errno' code in + ERRNUM. */ +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (strerror_r, + (int __errnum, char *__buf, size_t __buflen), + __xpg_strerror_r) __nonnull ((2)) + __attr_access ((__write_only__, 2, 3)); +# else +extern int __xpg_strerror_r (int __errnum, char *__buf, size_t __buflen) + __THROW __nonnull ((2)) __attr_access ((__write_only__, 2, 3)); +# define strerror_r __xpg_strerror_r +# endif +# else +/* If a temporary buffer is required, at most BUFLEN bytes of BUF will be + used. */ +extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) + __THROW __nonnull ((2)) __wur __attr_access ((__write_only__, 2, 3)); +# endif + +# ifdef __USE_GNU +/* Return a string describing the meaning of tthe error in ERR. */ +extern const char *strerrordesc_np (int __err) __THROW; +/* Return a string with the error name in ERR. */ +extern const char *strerrorname_np (int __err) __THROW; +# endif +#endif + +#ifdef __USE_XOPEN2K8 +/* Translate error number to string according to the locale L. */ +extern char *strerror_l (int __errnum, locale_t __l) __THROW; +#endif + +#ifdef __USE_MISC +# include + +/* Set N bytes of S to 0. The compiler will not delete a call to this + function, even if S is dead after the call. */ +extern void explicit_bzero (void *__s, size_t __n) __THROW __nonnull ((1)) + __fortified_attr_access (__write_only__, 1, 2); + +/* Return the next DELIM-delimited token from *STRINGP, + terminating it with a '\0', and update *STRINGP to point past it. */ +extern char *strsep (char **__restrict __stringp, + const char *__restrict __delim) + __THROW __nonnull ((1, 2)); +#endif + +#ifdef __USE_XOPEN2K8 +/* Return a string describing the meaning of the signal number in SIG. */ +extern char *strsignal (int __sig) __THROW; + +# ifdef __USE_GNU +/* Return an abbreviation string for the signal number SIG. */ +extern const char *sigabbrev_np (int __sig) __THROW; +/* Return a string describing the meaning of the signal number in SIG, + the result is not translated. */ +extern const char *sigdescr_np (int __sig) __THROW; +# endif + +/* Copy SRC to DEST, returning the address of the terminating '\0' in DEST. */ +extern char *__stpcpy (char *__restrict __dest, const char *__restrict __src) + __THROW __nonnull ((1, 2)); +extern char *stpcpy (char *__restrict __dest, const char *__restrict __src) + __THROW __nonnull ((1, 2)); + +/* Copy no more than N characters of SRC to DEST, returning the address of + the last character written into DEST. */ +extern char *__stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); +extern char *stpncpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); +#endif + +/* + * strlcpy and strlcat introduced in glibc 2.38 + * https://sourceware.org/git/?p=glibc.git;a=commit;h=2e0bbbfbf95fc9e22692e93658a6fbdd2d4554da + */ +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 38) || __GLIBC__ > 2 +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t strlcpy (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t strlcat (char *__restrict __dest, + const char *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif +#endif /* glibc v2.38 and later */ + +#ifdef __USE_GNU +/* Compare S1 and S2 as strings holding name & indices/version numbers. */ +extern int strverscmp (const char *__s1, const char *__s2) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Sautee STRING briskly. */ +extern char *strfry (char *__string) __THROW __nonnull ((1)); + +/* Frobnicate N bytes of S. */ +extern void *memfrob (void *__s, size_t __n) __THROW __nonnull ((1)) + __attr_access ((__read_write__, 1, 2)); + +# ifndef basename +/* Return the file name within directory of FILENAME. We don't + declare the function if the `basename' macro is available (defined + in ) which makes the XPG version of this function + available. */ +# ifdef __CORRECT_ISO_CPP_STRING_H_PROTO +extern "C++" char *basename (char *__filename) + __THROW __asm ("basename") __nonnull ((1)); +extern "C++" const char *basename (const char *__filename) + __THROW __asm ("basename") __nonnull ((1)); +# else +extern char *basename (const char *__filename) __THROW __nonnull ((1)); +# endif +# endif +#endif + +#if __GNUC_PREREQ (3,4) +# if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Functions with security checks. */ +# include +# endif +#endif + +__END_DECLS + +#endif /* string.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/strings.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/strings.h new file mode 100644 index 00000000..bcc5399e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/strings.h @@ -0,0 +1,148 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _STRINGS_H +#define _STRINGS_H 1 + +#include +#define __need_size_t +#include + +/* Tell the caller that we provide correct C++ prototypes. */ +#if defined __cplusplus && __GNUC_PREREQ (4, 4) +# define __CORRECT_ISO_CPP_STRINGS_H_PROTO +#endif + +__BEGIN_DECLS + +#if defined __USE_MISC || !defined __USE_XOPEN2K8 +/* Compare N bytes of S1 and S2 (same as memcmp). */ +extern int bcmp (const void *__s1, const void *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Copy N bytes of SRC to DEST (like memmove, but args reversed). */ +extern void bcopy (const void *__src, void *__dest, size_t __n) + __THROW __nonnull ((1, 2)); + +/* Set N bytes of S to 0. */ +extern void bzero (void *__s, size_t __n) __THROW __nonnull ((1)); + +/* Find the first occurrence of C in S (same as strchr). */ +# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO +extern "C++" +{ +extern char *index (char *__s, int __c) + __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); +extern const char *index (const char *__s, int __c) + __THROW __asm ("index") __attribute_pure__ __nonnull ((1)); + +# if defined __OPTIMIZE__ +__extern_always_inline char * +index (char *__s, int __c) __THROW +{ + return __builtin_index (__s, __c); +} + +__extern_always_inline const char * +index (const char *__s, int __c) __THROW +{ + return __builtin_index (__s, __c); +} +# endif +} +# else +extern char *index (const char *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +# endif + +/* Find the last occurrence of C in S (same as strrchr). */ +# ifdef __CORRECT_ISO_CPP_STRINGS_H_PROTO +extern "C++" +{ +extern char *rindex (char *__s, int __c) + __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); +extern const char *rindex (const char *__s, int __c) + __THROW __asm ("rindex") __attribute_pure__ __nonnull ((1)); + +# if defined __OPTIMIZE__ +__extern_always_inline char * +rindex (char *__s, int __c) __THROW +{ + return __builtin_rindex (__s, __c); +} + +__extern_always_inline const char * +rindex (const char *__s, int __c) __THROW +{ + return __builtin_rindex (__s, __c); +} +# endif +} +# else +extern char *rindex (const char *__s, int __c) + __THROW __attribute_pure__ __nonnull ((1)); +# endif +#endif + +#if defined __USE_MISC || !defined __USE_XOPEN2K8 || defined __USE_XOPEN2K8XSI +/* Return the position of the first bit set in I, or 0 if none are set. + The least-significant bit is position 1, the most-significant 32. */ +extern int ffs (int __i) __THROW __attribute_const__; +#endif + +/* The following two functions are non-standard but necessary for non-32 bit + platforms. */ +# ifdef __USE_MISC +extern int ffsl (long int __l) __THROW __attribute_const__; +__extension__ extern int ffsll (long long int __ll) + __THROW __attribute_const__; +# endif + +/* Compare S1 and S2, ignoring case. */ +extern int strcasecmp (const char *__s1, const char *__s2) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +/* Compare no more than N chars of S1 and S2, ignoring case. */ +extern int strncasecmp (const char *__s1, const char *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +#ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* Compare S1 and S2, ignoring case, using collation rules from LOC. */ +extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc) + __THROW __attribute_pure__ __nonnull ((1, 2, 3)); + +/* Compare no more than N chars of S1 and S2, ignoring case, using + collation rules from LOC. */ +extern int strncasecmp_l (const char *__s1, const char *__s2, + size_t __n, locale_t __loc) + __THROW __attribute_pure__ __nonnull ((1, 2, 4)); +#endif + +__END_DECLS + +#if __GNUC_PREREQ (3,4) && __USE_FORTIFY_LEVEL > 0 \ + && defined __fortify_function +/* Functions with security checks. */ +# if defined __USE_MISC || !defined __USE_XOPEN2K8 +# include +# endif +#endif + +#endif /* strings.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/acct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/acct.h new file mode 100644 index 00000000..a0f6fd6a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/acct.h @@ -0,0 +1,108 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_ACCT_H +#define _SYS_ACCT_H 1 + +#include +#include +#include +#include + +__BEGIN_DECLS + +#define ACCT_COMM 16 + +/* + comp_t is a 16-bit "floating" point number with a 3-bit base 8 + exponent and a 13-bit fraction. See linux/kernel/acct.c for the + specific encoding system used. +*/ + +typedef uint16_t comp_t; + +struct acct +{ + char ac_flag; /* Flags. */ + uint16_t ac_uid; /* Real user ID. */ + uint16_t ac_gid; /* Real group ID. */ + uint16_t ac_tty; /* Controlling terminal. */ + uint32_t ac_btime; /* Beginning time. */ + comp_t ac_utime; /* User time. */ + comp_t ac_stime; /* System time. */ + comp_t ac_etime; /* Elapsed time. */ + comp_t ac_mem; /* Average memory usage. */ + comp_t ac_io; /* Chars transferred. */ + comp_t ac_rw; /* Blocks read or written. */ + comp_t ac_minflt; /* Minor pagefaults. */ + comp_t ac_majflt; /* Major pagefaults. */ + comp_t ac_swaps; /* Number of swaps. */ + uint32_t ac_exitcode; /* Process exitcode. */ + char ac_comm[ACCT_COMM+1]; /* Command name. */ + char ac_pad[10]; /* Padding bytes. */ +}; + + +struct acct_v3 +{ + char ac_flag; /* Flags */ + char ac_version; /* Always set to ACCT_VERSION */ + uint16_t ac_tty; /* Control Terminal */ + uint32_t ac_exitcode; /* Exitcode */ + uint32_t ac_uid; /* Real User ID */ + uint32_t ac_gid; /* Real Group ID */ + uint32_t ac_pid; /* Process ID */ + uint32_t ac_ppid; /* Parent Process ID */ + uint32_t ac_btime; /* Process Creation Time */ + float ac_etime; /* Elapsed Time */ + comp_t ac_utime; /* User Time */ + comp_t ac_stime; /* System Time */ + comp_t ac_mem; /* Average Memory Usage */ + comp_t ac_io; /* Chars Transferred */ + comp_t ac_rw; /* Blocks Read or Written */ + comp_t ac_minflt; /* Minor Pagefaults */ + comp_t ac_majflt; /* Major Pagefaults */ + comp_t ac_swaps; /* Number of Swaps */ + char ac_comm[ACCT_COMM]; /* Command Name */ +}; + + +enum + { + AFORK = 0x01, /* Has executed fork, but no exec. */ + ASU = 0x02, /* Used super-user privileges. */ + ACORE = 0x08, /* Dumped core. */ + AXSIG = 0x10, /* Killed by a signal. */ + AGROUP = 0x20 /* Was the last task of the process + (task group). */ + }; + +#if __BYTE_ORDER == __BIG_ENDIAN +# define ACCT_BYTEORDER 0x80 /* Accounting file is big endian. */ +#else +# define ACCT_BYTEORDER 0x00 /* Accounting file is little endian. */ +#endif + +#define AHZ 100 + + +/* Switch process accounting on and off. */ +extern int acct (const char *__filename) __THROW; + +__END_DECLS + +#endif /* sys/acct.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/asm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/asm.h new file mode 100644 index 00000000..a10baf11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/asm.h @@ -0,0 +1,497 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ASM_H +#define _SYS_ASM_H + +#include + +#ifndef CAT +# define __CAT(str1,str2) str1##str2 +# define CAT(str1,str2) __CAT(str1,str2) +#endif + +/* Redefined as nonempty in the internal header. */ +#define __mips_cfi_startproc /* Empty. */ +#define __mips_cfi_endproc /* Empty. */ + +/* + * Macros to handle different pointer/register sizes for 32/64-bit code + * + * 64 bit address space isn't used yet, so we may use the R3000 32 bit + * defines for now. + */ +#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 +# define PTR .word +# define PTRSIZE 4 +# define PTRLOG 2 +#elif _MIPS_SIM == _ABI64 +# define PTR .dword +# define PTRSIZE 8 +# define PTRLOG 3 +#endif + +/* + * PIC specific declarations + */ +#if _MIPS_SIM == _ABIO32 +# ifdef __PIC__ +# define CPRESTORE(register) \ + .cprestore register +# define CPLOAD(register) \ + .cpload register +# else +# define CPRESTORE(register) +# define CPLOAD(register) +# endif + +# define CPADD(register) \ + .cpadd register + +/* + * Set gp when at 1st instruction + */ +# define SETUP_GP \ + .set noreorder; \ + .cpload $25; \ + .set reorder +/* Set gp when not at 1st instruction */ +# define SETUP_GPX(r) \ + .set noreorder; \ + move r, $31; /* Save old ra. */ \ + bal 10f; /* Find addr of cpload. */ \ + nop; \ +10: \ + .cpload $31; \ + move $31, r; \ + .set reorder +# define SETUP_GPX_L(r, l) \ + .set noreorder; \ + move r, $31; /* Save old ra. */ \ + bal l; /* Find addr of cpload. */ \ + nop; \ +l: \ + .cpload $31; \ + move $31, r; \ + .set reorder +# define SAVE_GP(x) \ + .cprestore x /* Save gp trigger t9/jalr conversion. */ +# define SETUP_GP64(a, b) +# define SETUP_GPX64(a, b) +# define SETUP_GPX64_L(cp_reg, ra_save, l) +# define RESTORE_GP64 +# define USE_ALT_CP(a) +#else /* _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 */ +/* + * For callee-saved gp calling convention: + */ +# define SETUP_GP +# define SETUP_GPX(r) +# define SETUP_GPX_L(r, l) +# define SAVE_GP(x) + +# define SETUP_GP64(gpoffset, proc) \ + .cpsetup $25, gpoffset, proc +# define SETUP_GPX64(cp_reg, ra_save) \ + move ra_save, $31; /* Save old ra. */ \ + .set noreorder; \ + bal 10f; /* Find addr of .cpsetup. */ \ + nop; \ +10: \ + .set reorder; \ + .cpsetup $31, cp_reg, 10b; \ + move $31, ra_save +# define SETUP_GPX64_L(cp_reg, ra_save, l) \ + move ra_save, $31; /* Save old ra. */ \ + .set noreorder; \ + bal l; /* Find addr of .cpsetup. */ \ + nop; \ +l: \ + .set reorder; \ + .cpsetup $31, cp_reg, l; \ + move $31, ra_save +# define RESTORE_GP64 \ + .cpreturn +/* Use alternate register for context pointer. */ +# define USE_ALT_CP(reg) \ + .cplocal reg +#endif /* _MIPS_SIM != _ABIO32 */ + +/* + * Stack Frame Definitions + */ +#if _MIPS_SIM == _ABIO32 +# define NARGSAVE 4 /* Space for 4 argument registers must be allocated. */ +#endif +#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 +# define NARGSAVE 0 /* No caller responsibilities. */ +#endif + + +/* + * LEAF - declare leaf routine + */ +#define LEAF(symbol) \ + .globl symbol; \ + .align 2; \ + .type symbol,@function; \ + .ent symbol,0; \ +symbol: .frame sp,0,ra; \ + __mips_cfi_startproc + +/* + * NESTED - declare nested routine entry point + */ +#define NESTED(symbol, framesize, rpc) \ + .globl symbol; \ + .align 2; \ + .type symbol,@function; \ + .ent symbol,0; \ +symbol: .frame sp, framesize, rpc; \ + __mips_cfi_startproc + +/* + * END - mark end of function + */ +#ifndef END +# define END(function) \ + __mips_cfi_endproc; \ + .end function; \ + .size function,.-function +#endif + +/* + * EXPORT - export definition of symbol + */ +#define EXPORT(symbol) \ + .globl symbol; \ +symbol: __mips_cfi_startproc + +/* + * ABS - export absolute symbol + */ +#define ABS(symbol,value) \ + .globl symbol; \ +symbol = value + +#define PANIC(msg) \ + .set push; \ + .set reorder; \ + la a0,8f; \ + jal panic; \ +9: b 9b; \ + .set pop; \ + TEXT(msg) + +/* + * Print formatted string + */ +#define PRINT(string) \ + .set push; \ + .set reorder; \ + la a0,8f; \ + jal printk; \ + .set pop; \ + TEXT(string) + +#define TEXT(msg) \ + .data; \ +8: .asciiz msg; \ + .previous; + +/* + * Build text tables + */ +#define TTABLE(string) \ + .text; \ + .word 1f; \ + .previous; \ + .data; \ +1: .asciz string; \ + .previous + +/* + * MIPS IV pref instruction. + * Use with .set noreorder only! + * + * MIPS IV implementations are free to treat this as a nop. The R5000 + * is one of them. So we should have an option not to use this instruction. + */ +#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) \ + || (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64) +# define PREF(hint,addr) \ + pref hint,addr +# define PREFX(hint,addr) \ + prefx hint,addr +#else +# define PREF(hint,addr) +# define PREFX(hint,addr) +#endif + +/* + * MIPS ISA IV/V movn/movz instructions and equivalents for older CPUs. + */ +#if _MIPS_ISA == _MIPS_ISA_MIPS1 +# define MOVN(rd,rs,rt) \ + .set push; \ + .set reorder; \ + beqz rt,9f; \ + move rd,rs; \ + .set pop; \ +9: +# define MOVZ(rd,rs,rt) \ + .set push; \ + .set reorder; \ + bnez rt,9f; \ + move rd,rt; \ + .set pop; \ +9: +#endif /* _MIPS_ISA == _MIPS_ISA_MIPS1 */ +#if (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) +# define MOVN(rd,rs,rt) \ + .set push; \ + .set noreorder; \ + bnezl rt,9f; \ + move rd,rs; \ + .set pop; \ +9: +# define MOVZ(rd,rs,rt) \ + .set push; \ + .set noreorder; \ + beqzl rt,9f; \ + movz rd,rs; \ + .set pop; \ +9: +#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS2) || (_MIPS_ISA == _MIPS_ISA_MIPS3) */ +#if (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) \ + || (_MIPS_ISA == _MIPS_ISA_MIPS32) || (_MIPS_ISA == _MIPS_ISA_MIPS64) +# define MOVN(rd,rs,rt) \ + movn rd,rs,rt +# define MOVZ(rd,rs,rt) \ + movz rd,rs,rt +#endif /* (_MIPS_ISA == _MIPS_ISA_MIPS4) || (_MIPS_ISA == _MIPS_ISA_MIPS5) */ + +/* + * Stack alignment + */ +#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 +# define ALSZ 15 +# define ALMASK ~15 +#else +# define ALSZ 7 +# define ALMASK ~7 +#endif + +/* + * Size of a register + */ +#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 +# define SZREG 8 +#else +# define SZREG 4 +#endif + +/* + * Use the following macros in assemblercode to load/store registers, + * pointers etc. + */ +#if (SZREG == 4) +# define REG_S sw +# define REG_L lw +#else +# define REG_S sd +# define REG_L ld +#endif + +/* + * How to add/sub/load/store/shift C int variables. + */ +#if (_MIPS_SZINT == 32) +# define INT_ADD add +# define INT_ADDI addi +# define INT_ADDU addu +# define INT_ADDIU addiu +# define INT_SUB sub +# define INT_SUBI subi +# define INT_SUBU subu +# define INT_SUBIU subu +# define INT_L lw +# define INT_S sw +#endif + +#if (_MIPS_SZINT == 64) +# define INT_ADD dadd +# define INT_ADDI daddi +# define INT_ADDU daddu +# define INT_ADDIU daddiu +# define INT_SUB dsub +# define INT_SUBI dsubi +# define INT_SUBU dsubu +# define INT_SUBIU dsubu +# define INT_L ld +# define INT_S sd +#endif + +/* + * How to add/sub/load/store/shift C long variables. + */ +#if (_MIPS_SZLONG == 32) +# define LONG_ADD add +# define LONG_ADDI addi +# define LONG_ADDU addu +# define LONG_ADDIU addiu +# define LONG_SUB sub +# define LONG_SUBI subi +# define LONG_SUBU subu +# define LONG_SUBIU subu +# define LONG_L lw +# define LONG_S sw +# define LONG_SLL sll +# define LONG_SLLV sllv +# define LONG_SRL srl +# define LONG_SRLV srlv +# define LONG_SRA sra +# define LONG_SRAV srav +#endif + +#if (_MIPS_SZLONG == 64) +# define LONG_ADD dadd +# define LONG_ADDI daddi +# define LONG_ADDU daddu +# define LONG_ADDIU daddiu +# define LONG_SUB dsub +# define LONG_SUBI dsubi +# define LONG_SUBU dsubu +# define LONG_SUBIU dsubu +# define LONG_L ld +# define LONG_S sd +# define LONG_SLL dsll +# define LONG_SLLV dsllv +# define LONG_SRL dsrl +# define LONG_SRLV dsrlv +# define LONG_SRA dsra +# define LONG_SRAV dsrav +#endif + +/* + * How to add/sub/load/store/shift pointers. + */ +#if (_MIPS_SIM == _ABIO32 && _MIPS_SZPTR == 32) +# define PTR_ADD add +# define PTR_ADDI addi +# define PTR_ADDU addu +# define PTR_ADDIU addiu +# define PTR_SUB sub +# define PTR_SUBI subi +# define PTR_SUBU subu +# define PTR_SUBIU subu +# define PTR_L lw +# define PTR_LA la +# define PTR_S sw +# define PTR_SLL sll +# define PTR_SLLV sllv +# define PTR_SRL srl +# define PTR_SRLV srlv +# define PTR_SRA sra +# define PTR_SRAV srav + +# define PTR_SCALESHIFT 2 +#endif + +#if _MIPS_SIM == _ABIN32 +# define PTR_ADD add +# define PTR_ADDI addi +# define PTR_SUB sub +# define PTR_SUBI subi +#if !defined __mips_isa_rev || __mips_isa_rev < 6 +# define PTR_ADDU add /* no u */ +# define PTR_ADDIU addi /* no u */ +# define PTR_SUBU sub /* no u */ +# define PTR_SUBIU sub /* no u */ +#else +# define PTR_ADDU addu +# define PTR_ADDIU addiu +# define PTR_SUBU subu +# define PTR_SUBIU subu +#endif +# define PTR_L lw +# define PTR_LA la +# define PTR_S sw +# define PTR_SLL sll +# define PTR_SLLV sllv +# define PTR_SRL srl +# define PTR_SRLV srlv +# define PTR_SRA sra +# define PTR_SRAV srav + +# define PTR_SCALESHIFT 2 +#endif + +#if (_MIPS_SIM == _ABIO32 && _MIPS_SZPTR == 64 /* o64??? */) \ + || _MIPS_SIM == _ABI64 +# define PTR_ADD dadd +# define PTR_ADDI daddi +# define PTR_ADDU daddu +# define PTR_ADDIU daddiu +# define PTR_SUB dsub +# define PTR_SUBI dsubi +# define PTR_SUBU dsubu +# define PTR_SUBIU dsubu +# define PTR_L ld +# define PTR_LA dla +# define PTR_S sd +# define PTR_SLL dsll +# define PTR_SLLV dsllv +# define PTR_SRL dsrl +# define PTR_SRLV dsrlv +# define PTR_SRA dsra +# define PTR_SRAV dsrav + +# define PTR_SCALESHIFT 3 +#endif + +/* + * Some cp0 registers were extended to 64bit for MIPS III. + */ +#if (_MIPS_ISA == _MIPS_ISA_MIPS1) || (_MIPS_ISA == _MIPS_ISA_MIPS2) \ + || (_MIPS_ISA == _MIPS_ISA_MIPS32) +# define MFC0 mfc0 +# define MTC0 mtc0 +#endif +#if (_MIPS_ISA == _MIPS_ISA_MIPS3) || (_MIPS_ISA == _MIPS_ISA_MIPS4) \ + || (_MIPS_ISA == _MIPS_ISA_MIPS5) || (_MIPS_ISA == _MIPS_ISA_MIPS64) +# define MFC0 dmfc0 +# define MTC0 dmtc0 +#endif + +/* The MIPS architectures do not have a uniform memory model. Particular + platforms may provide additional guarantees - for instance, the R4000 + LL and SC instructions implicitly perform a SYNC, and the 4K promises + strong ordering. + + However, in the absence of those guarantees, we must assume weak ordering + and SYNC explicitly where necessary. + + Some obsolete MIPS processors may not support the SYNC instruction. This + applies to "true" MIPS I processors; most of the processors which compile + using MIPS I implement parts of MIPS II. */ + +#ifndef MIPS_SYNC +# define MIPS_SYNC sync +#endif + +#endif /* sys/asm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/auxv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/auxv.h new file mode 100644 index 00000000..ccb6e70c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/auxv.h @@ -0,0 +1,36 @@ +/* Access to the auxiliary vector. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_AUXV_H +#define _SYS_AUXV_H 1 + +#include +#include +#include + +__BEGIN_DECLS + +/* Return the value associated with an Elf*_auxv_t type from the auxv list + passed to the program on startup. If TYPE was not present in the auxv + list, returns zero and sets errno to ENOENT. */ +extern unsigned long int getauxval (unsigned long int __type) + __THROW; + +__END_DECLS + +#endif /* sys/auxv.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/bitypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/bitypes.h new file mode 100644 index 00000000..9f2ff0a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/bitypes.h @@ -0,0 +1,3 @@ +/* The GNU defines all the necessary types. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cachectl.h new file mode 100644 index 00000000..d3a4ba49 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cachectl.h @@ -0,0 +1,41 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +/* + * Get the kernel definition for the op bits. + */ +#include + +__BEGIN_DECLS + +#ifdef __USE_MISC +extern int cachectl (void *__addr, const int __nbytes, const int __op) __THROW; +#endif +extern int __cachectl (void *__addr, const int __nbytes, const int __op) __THROW; +#ifdef __USE_MISC +extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW; +#endif +extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW; + +__END_DECLS + +#endif /* sys/cachectl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cdefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cdefs.h new file mode 100644 index 00000000..a8315571 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/cdefs.h @@ -0,0 +1,886 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + Copyright The GNU Toolchain Authors. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_CDEFS_H +#define _SYS_CDEFS_H 1 + +/* We are almost always included from features.h. */ +#ifndef _FEATURES_H +# include +#endif + +/* The GNU libc does not support any K&R compilers or the traditional mode + of ISO C compilers anymore. Check for some of the combinations not + supported anymore. */ +#if defined __GNUC__ && !defined __STDC__ && !defined __cplusplus +# error "You need a ISO C or C++ conforming compiler to use the glibc headers" +#endif + +/* Some user header file might have defined this before. */ +#undef __P +#undef __PMT + +/* Compilers that lack __has_attribute may object to + #if defined __has_attribute && __has_attribute (...) + even though they do not need to evaluate the right-hand side of the &&. + Similarly for __has_builtin, etc. */ +#if (defined __has_attribute \ + && (!defined __clang_minor__ \ + || 3 < __clang_major__ + (5 <= __clang_minor__))) +# define __glibc_has_attribute(attr) __has_attribute (attr) +#else +# define __glibc_has_attribute(attr) 0 +#endif +#ifdef __has_builtin +# define __glibc_has_builtin(name) __has_builtin (name) +#else +# define __glibc_has_builtin(name) 0 +#endif +#ifdef __has_extension +# define __glibc_has_extension(ext) __has_extension (ext) +#else +# define __glibc_has_extension(ext) 0 +#endif + +#if defined __GNUC__ || defined __clang__ + +/* All functions, except those with callbacks or those that + synchronize memory, are leaf functions. */ +# if __GNUC_PREREQ (4, 6) && !defined _LIBC +# define __LEAF , __leaf__ +# define __LEAF_ATTR __attribute__ ((__leaf__)) +# else +# define __LEAF +# define __LEAF_ATTR +# endif + +/* GCC can always grok prototypes. For C++ programs we add throw() + to help it optimize the function calls. But this only works with + gcc 2.8.x and egcs. For gcc 3.4 and up we even mark C functions + as non-throwing using a function attribute since programs can use + the -fexceptions options for C code as well. */ +# if !defined __cplusplus \ + && (__GNUC_PREREQ (3, 4) || __glibc_has_attribute (__nothrow__)) +# define __THROW __attribute__ ((__nothrow__ __LEAF)) +# define __THROWNL __attribute__ ((__nothrow__)) +# define __NTH(fct) __attribute__ ((__nothrow__ __LEAF)) fct +# define __NTHNL(fct) __attribute__ ((__nothrow__)) fct +# else +# if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) +# if __cplusplus >= 201103L +# define __THROW noexcept (true) +# else +# define __THROW throw () +# endif +# define __THROWNL __THROW +# define __NTH(fct) __LEAF_ATTR fct __THROW +# define __NTHNL(fct) fct __THROW +# else +# define __THROW +# define __THROWNL +# define __NTH(fct) fct +# define __NTHNL(fct) fct +# endif +# endif + +# if __GNUC_PREREQ (4, 3) || __glibc_has_attribute (__cold__) +# define __COLD __attribute__ ((__cold__)) +# else +# define __COLD +# endif + +#else /* Not GCC or clang. */ + +# if (defined __cplusplus \ + || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) +# define __inline inline +# else +# define __inline /* No inline functions. */ +# endif + +# define __THROW +# define __THROWNL +# define __NTH(fct) fct +# define __COLD + +#endif /* GCC || clang. */ + +/* These two macros are not used in glibc anymore. They are kept here + only because some other projects expect the macros to be defined. */ +#define __P(args) args +#define __PMT(args) args + +/* For these things, GCC behaves the ANSI way normally, + and the non-ANSI way under -traditional. */ + +#define __CONCAT(x,y) x ## y +#define __STRING(x) #x + +/* This is not a typedef so `const __ptr_t' does the right thing. */ +#define __ptr_t void * + + +/* C++ needs to know that types and declarations are C, not C++. */ +#ifdef __cplusplus +# define __BEGIN_DECLS extern "C" { +# define __END_DECLS } +#else +# define __BEGIN_DECLS +# define __END_DECLS +#endif + + +/* The overloadable attribute was added on clang 2.6. */ +#if defined __clang_major__ \ + && (__clang_major__ + (__clang_minor__ >= 6) > 2) +# define __attribute_overloadable__ __attribute__((__overloadable__)) +#else +# define __attribute_overloadable__ +#endif + +/* Fortify support. */ +#define __bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1) +#define __bos0(ptr) __builtin_object_size (ptr, 0) + +/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */ +#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \ + || __GNUC_PREREQ (12, 0)) +# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0) +# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1) +#else +# define __glibc_objsize0(__o) __bos0 (__o) +# define __glibc_objsize(__o) __bos (__o) +#endif + +#if __USE_FORTIFY_LEVEL > 0 +/* Compile time conditions to choose between the regular, _chk and _chk_warn + variants. These conditions should get evaluated to constant and optimized + away. */ + +#define __glibc_safe_len_cond(__l, __s, __osz) ((__l) <= (__osz) / (__s)) +#define __glibc_unsigned_or_positive(__l) \ + ((__typeof (__l)) 0 < (__typeof (__l)) -1 \ + || (__builtin_constant_p (__l) && (__l) > 0)) + +/* Length is known to be safe at compile time if the __L * __S <= __OBJSZ + condition can be folded to a constant and if it is true, or unknown (-1) */ +#define __glibc_safe_or_unknown_len(__l, __s, __osz) \ + ((__builtin_constant_p (__osz) && (__osz) == (__SIZE_TYPE__) -1) \ + || (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + (__s), (__osz))) \ + && __glibc_safe_len_cond ((__SIZE_TYPE__) (__l), (__s), (__osz)))) + +/* Conversely, we know at compile time that the length is unsafe if the + __L * __S <= __OBJSZ condition can be folded to a constant and if it is + false. */ +#define __glibc_unsafe_len(__l, __s, __osz) \ + (__glibc_unsigned_or_positive (__l) \ + && __builtin_constant_p (__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), \ + __s, __osz)) \ + && !__glibc_safe_len_cond ((__SIZE_TYPE__) (__l), __s, __osz)) + +/* To correctly instrument the fortify wrapper clang requires the + pass_object_size attribute, and the attribute has the restriction that the + argument needs to be 'const'. Furthermore, to make it usable with C + interfaces, clang provides the overload attribute, which provides a C++ + like function overload support. The overloaded fortify wrapper with the + pass_object_size attribute has precedence over the default symbol. + + Also, clang does not support __va_arg_pack, so variadic functions are + expanded to issue va_arg implementations. The error function must not have + bodies (address takes are expanded to nonfortified calls), and with + __fortify_function compiler might still create a body with the C++ + mangling name (due to the overload attribute). In this case, the function + is defined with __fortify_function_error_function macro instead. + + The argument size check is also done with a clang-only attribute, + __attribute__ ((__diagnose_if__ (...))), different than gcc which calls + symbol_chk_warn alias with uses __warnattr attribute. + + The pass_object_size was added on clang 4.0, __diagnose_if__ on 5.0, + and pass_dynamic_object_size on 9.0. */ +#if defined __clang_major__ && __clang_major__ >= 5 +# define __fortify_use_clang 1 + +# define __fortify_function_error_function static __attribute__((__unused__)) + +# define __fortify_clang_pass_object_size_n(n) \ + __attribute__ ((__pass_object_size__ (n))) +# define __fortify_clang_pass_object_size0 \ + __fortify_clang_pass_object_size_n (0) +# define __fortify_clang_pass_object_size \ + __fortify_clang_pass_object_size_n (__USE_FORTIFY_LEVEL > 1) + +# if __clang_major__ >= 9 +# define __fortify_clang_pass_dynamic_object_size_n(n) \ + __attribute__ ((__pass_dynamic_object_size__ (n))) +# define __fortify_clang_pass_dynamic_object_size0 \ + __fortify_clang_pass_dynamic_object_size_n (0) +# define __fortify_clang_pass_dynamic_object_size \ + __fortify_clang_pass_dynamic_object_size_n (1) +# else +# define __fortify_clang_pass_dynamic_object_size_n(n) +# define __fortify_clang_pass_dynamic_object_size0 +# define __fortify_clang_pass_dynamic_object_size +# endif + +# define __fortify_clang_bos_static_lt_impl(bos_val, n, s) \ + ((bos_val) != -1ULL && (n) > (bos_val) / (s)) +# define __fortify_clang_bos_static_lt2(__n, __e, __s) \ + __fortify_clang_bos_static_lt_impl (__bos (__e), __n, __s) +# define __fortify_clang_bos_static_lt(__n, __e) \ + __fortify_clang_bos_static_lt2 (__n, __e, 1) +# define __fortify_clang_bos0_static_lt2(__n, __e, __s) \ + __fortify_clang_bos_static_lt_impl (__bos0 (__e), __n, __s) +# define __fortify_clang_bos0_static_lt(__n, __e) \ + __fortify_clang_bos0_static_lt2 (__n, __e, 1) + +# define __fortify_clang_bosn_args(bos_fn, n, buf, div, complaint) \ + (__fortify_clang_bos_static_lt_impl (bos_fn (buf), n, div)), (complaint), \ + "warning" + +# define __fortify_clang_warning(__c, __msg) \ + __attribute__ ((__diagnose_if__ ((__c), (__msg), "warning"))) +# define __fortify_clang_error(__c, __msg) \ + __attribute__ ((__diagnose_if__ ((__c), (__msg), "error"))) +# define __fortify_clang_warning_only_if_bos0_lt(n, buf, complaint) \ + __attribute__ ((__diagnose_if__ \ + (__fortify_clang_bosn_args (__bos0, n, buf, 1, complaint)))) +# define __fortify_clang_warning_only_if_bos0_lt2(n, buf, div, complaint) \ + __attribute__ ((__diagnose_if__ \ + (__fortify_clang_bosn_args (__bos0, n, buf, div, complaint)))) +# define __fortify_clang_warning_only_if_bos_lt(n, buf, complaint) \ + __attribute__ ((__diagnose_if__ \ + (__fortify_clang_bosn_args (__bos, n, buf, 1, complaint)))) +# define __fortify_clang_warning_only_if_bos_lt2(n, buf, div, complaint) \ + __attribute__ ((__diagnose_if__ \ + (__fortify_clang_bosn_args (__bos, n, buf, div, complaint)))) + +# define __fortify_clang_prefer_this_overload \ + __attribute__ ((enable_if (1, ""))) +# define __fortify_clang_unavailable(__msg) \ + __attribute__ ((unavailable(__msg))) + +# if __USE_FORTIFY_LEVEL == 3 +# define __fortify_clang_overload_arg(__type, __attr, __name) \ + __type __attr const __fortify_clang_pass_dynamic_object_size __name +# define __fortify_clang_overload_arg0(__type, __attr, __name) \ + __type __attr const __fortify_clang_pass_dynamic_object_size0 __name +# else +# define __fortify_clang_overload_arg(__type, __attr, __name) \ + __type __attr const __fortify_clang_pass_object_size __name +# define __fortify_clang_overload_arg0(__type, __attr, __name) \ + __type __attr const __fortify_clang_pass_object_size0 __name +# endif + +# define __fortify_clang_mul_may_overflow(size, n) \ + ((size | n) >= (((size_t)1) << (8 * sizeof (size_t) / 2))) + +# define __fortify_clang_size_too_small(__bos, __dest, __len) \ + (__bos (__dest) != (size_t) -1 && __bos (__dest) < __len) +# define __fortify_clang_warn_if_src_too_large(__dest, __src) \ + __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize, \ + __dest, \ + __builtin_strlen (__src) + 1), \ + "destination buffer will always be overflown by source") +# define __fortify_clang_warn_if_dest_too_small(__dest, __len) \ + __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize, \ + __dest, \ + __len), \ + "function called with bigger length than the destination buffer") +# define __fortify_clang_warn_if_dest_too_small0(__dest, __len) \ + __fortify_clang_warning (__fortify_clang_size_too_small (__glibc_objsize0, \ + __dest, \ + __len), \ + "function called with bigger length than the destination buffer") +#else +# define __fortify_use_clang 0 +# define __fortify_clang_warning(__c, __msg) +# define __fortify_clang_warning_only_if_bos0_lt(__n, __buf, __complaint) +# define __fortify_clang_warning_only_if_bos0_lt2(__n, __buf, __div, complaint) +# define __fortify_clang_warning_only_if_bos_lt(__n, __buf, __complaint) +# define __fortify_clang_warning_only_if_bos_lt2(__n, __buf, div, __complaint) +# define __fortify_clang_overload_arg(__type, __attr, __name) \ + __type __attr __name +# define __fortify_clang_overload_arg0(__type, __attr, __name) \ + __fortify_clang_overload_arg (__type, __attr, __name) +# define __fortify_clang_warn_if_src_too_large(__dest, __src) +# define __fortify_clang_warn_if_dest_too_small(__dest, __len) +# define __fortify_clang_warn_if_dest_too_small0(__dest, __len) +#endif + + +/* Fortify function f. __f_alias, __f_chk and __f_chk_warn must be + declared. */ + +#if !__fortify_use_clang +# define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, __osz) \ + : __ ## f ## _chk (__VA_ARGS__, __osz))) +#else +# define __glibc_fortify(f, __l, __s, __osz, ...) \ + (__osz == (__SIZE_TYPE__) -1) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : __ ## f ## _chk (__VA_ARGS__, __osz) +#endif + +/* Fortify function f, where object size argument passed to f is the number of + elements and not total size. */ + +#if !__fortify_use_clang +# define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__glibc_safe_or_unknown_len (__l, __s, __osz) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : (__glibc_unsafe_len (__l, __s, __osz) \ + ? __ ## f ## _chk_warn (__VA_ARGS__, (__osz) / (__s)) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)))) +# else +# define __glibc_fortify_n(f, __l, __s, __osz, ...) \ + (__osz == (__SIZE_TYPE__) -1) \ + ? __ ## f ## _alias (__VA_ARGS__) \ + : __ ## f ## _chk (__VA_ARGS__, (__osz) / (__s)) +#endif + +#endif /* __USE_FORTIFY_LEVEL > 0 */ + +#if __GNUC_PREREQ (4,3) +# define __warnattr(msg) __attribute__((__warning__ (msg))) +# define __errordecl(name, msg) \ + extern void name (void) __attribute__((__error__ (msg))) +#else +# define __warnattr(msg) +# define __errordecl(name, msg) extern void name (void) +#endif + +/* Support for flexible arrays. + Headers that should use flexible arrays only if they're "real" + (e.g. only if they won't affect sizeof()) should test + #if __glibc_c99_flexarr_available. */ +#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L && !defined __HP_cc +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif __GNUC_PREREQ (2,97) || defined __clang__ +/* GCC 2.97 and clang support C99 flexible array members as an extension, + even when in C89 mode or compiling C++ (any version). */ +# define __flexarr [] +# define __glibc_c99_flexarr_available 1 +#elif defined __GNUC__ +/* Pre-2.97 GCC did not support C99 flexible arrays but did have + an equivalent extension with slightly different notation. */ +# define __flexarr [0] +# define __glibc_c99_flexarr_available 1 +#else +/* Some other non-C99 compiler. Approximate with [1]. */ +# define __flexarr [1] +# define __glibc_c99_flexarr_available 0 +#endif + + +/* __asm__ ("xyz") is used throughout the headers to rename functions + at the assembly language level. This is wrapped by the __REDIRECT + macro, in order to support compilers that can do this some other + way. When compilers don't support asm-names at all, we have to do + preprocessor tricks instead (which don't have exactly the right + semantics, but it's the best we can do). + + Example: + int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid); */ + +#if (defined __GNUC__ && __GNUC__ >= 2) || (__clang_major__ >= 4) + +# define __REDIRECT(name, proto, alias) name proto __asm__ (__ASMNAME (#alias)) +# ifdef __cplusplus +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __THROW __asm__ (__ASMNAME (#alias)) +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __THROWNL __asm__ (__ASMNAME (#alias)) +# else +# define __REDIRECT_NTH(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROW +# define __REDIRECT_NTHNL(name, proto, alias) \ + name proto __asm__ (__ASMNAME (#alias)) __THROWNL +# endif +# define __ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname) +# define __ASMNAME2(prefix, cname) __STRING (prefix) cname + +#ifndef __REDIRECT_FORTIFY +#define __REDIRECT_FORTIFY __REDIRECT +#endif + +#ifndef __REDIRECT_FORTIFY_NTH +#define __REDIRECT_FORTIFY_NTH __REDIRECT_NTH +#endif + +/* +#elif __SOME_OTHER_COMPILER__ + +# define __REDIRECT(name, proto, alias) name proto; \ + _Pragma("let " #name " = " #alias) +*/ +#endif + +/* GCC and clang have various useful declarations that can be made with + the '__attribute__' syntax. All of the ways we use this do fine if + they are omitted for compilers that don't understand it. */ +#if !(defined __GNUC__ || defined __clang__) +# define __attribute__(xyz) /* Ignore */ +#endif + +/* At some point during the gcc 2.96 development the `malloc' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__malloc__) +# define __attribute_malloc__ __attribute__ ((__malloc__)) +#else +# define __attribute_malloc__ /* Ignore */ +#endif + +/* Tell the compiler which arguments to an allocation function + indicate the size of the allocation. */ +#if __GNUC_PREREQ (4, 3) +# define __attribute_alloc_size__(params) \ + __attribute__ ((__alloc_size__ params)) +#else +# define __attribute_alloc_size__(params) /* Ignore. */ +#endif + +/* Tell the compiler which argument to an allocation function + indicates the alignment of the allocation. */ +#if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__alloc_align__) +# define __attribute_alloc_align__(param) \ + __attribute__ ((__alloc_align__ param)) +#else +# define __attribute_alloc_align__(param) /* Ignore. */ +#endif + +/* At some point during the gcc 2.96 development the `pure' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (2,96) || __glibc_has_attribute (__pure__) +# define __attribute_pure__ __attribute__ ((__pure__)) +#else +# define __attribute_pure__ /* Ignore */ +#endif + +/* This declaration tells the compiler that the value is constant. */ +#if __GNUC_PREREQ (2,5) || __glibc_has_attribute (__const__) +# define __attribute_const__ __attribute__ ((__const__)) +#else +# define __attribute_const__ /* Ignore */ +#endif + +#if __GNUC_PREREQ (2,7) || __glibc_has_attribute (__unused__) +# define __attribute_maybe_unused__ __attribute__ ((__unused__)) +#else +# define __attribute_maybe_unused__ /* Ignore */ +#endif + +/* At some point during the gcc 3.1 development the `used' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. */ +#if __GNUC_PREREQ (3,1) || __glibc_has_attribute (__used__) +# define __attribute_used__ __attribute__ ((__used__)) +# define __attribute_noinline__ __attribute__ ((__noinline__)) +#else +# define __attribute_used__ __attribute__ ((__unused__)) +# define __attribute_noinline__ /* Ignore */ +#endif + +/* Since version 3.2, gcc allows marking deprecated functions. */ +#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__deprecated__) +# define __attribute_deprecated__ __attribute__ ((__deprecated__)) +#else +# define __attribute_deprecated__ /* Ignore */ +#endif + +/* Since version 4.5, gcc also allows one to specify the message printed + when a deprecated function is used. clang claims to be gcc 4.2, but + may also support this feature. */ +#if __GNUC_PREREQ (4,5) \ + || __glibc_has_extension (__attribute_deprecated_with_message__) +# define __attribute_deprecated_msg__(msg) \ + __attribute__ ((__deprecated__ (msg))) +#else +# define __attribute_deprecated_msg__(msg) __attribute_deprecated__ +#endif + +/* At some point during the gcc 2.8 development the `format_arg' attribute + for functions was introduced. We don't want to use it unconditionally + (although this would be possible) since it generates warnings. + If several `format_arg' attributes are given for the same function, in + gcc-3.0 and older, all but the last one are ignored. In newer gccs, + all designated arguments are considered. */ +#if __GNUC_PREREQ (2,8) || __glibc_has_attribute (__format_arg__) +# define __attribute_format_arg__(x) __attribute__ ((__format_arg__ (x))) +#else +# define __attribute_format_arg__(x) /* Ignore */ +#endif + +/* At some point during the gcc 2.97 development the `strfmon' format + attribute for functions was introduced. We don't want to use it + unconditionally (although this would be possible) since it + generates warnings. */ +#if __GNUC_PREREQ (2,97) || __glibc_has_attribute (__format__) +# define __attribute_format_strfmon__(a,b) \ + __attribute__ ((__format__ (__strfmon__, a, b))) +#else +# define __attribute_format_strfmon__(a,b) /* Ignore */ +#endif + +/* The nonnull function attribute marks pointer parameters that + must not be NULL. This has the name __nonnull in glibc, + and __attribute_nonnull__ in files shared with Gnulib to avoid + collision with a different __nonnull in DragonFlyBSD 5.9. */ +#ifndef __attribute_nonnull__ +# if __GNUC_PREREQ (3,3) || __glibc_has_attribute (__nonnull__) +# define __attribute_nonnull__(params) __attribute__ ((__nonnull__ params)) +# else +# define __attribute_nonnull__(params) +# endif +#endif +#ifndef __nonnull +# define __nonnull(params) __attribute_nonnull__ (params) +#endif + +/* The returns_nonnull function attribute marks the return type of the function + as always being non-null. */ +#ifndef __returns_nonnull +# if __GNUC_PREREQ (4, 9) || __glibc_has_attribute (__returns_nonnull__) +# define __returns_nonnull __attribute__ ((__returns_nonnull__)) +# else +# define __returns_nonnull +# endif +#endif + +/* If fortification mode, we warn about unused results of certain + function calls which can lead to problems. */ +#if __GNUC_PREREQ (3,4) || __glibc_has_attribute (__warn_unused_result__) +# define __attribute_warn_unused_result__ \ + __attribute__ ((__warn_unused_result__)) +# if defined __USE_FORTIFY_LEVEL && __USE_FORTIFY_LEVEL > 0 +# define __wur __attribute_warn_unused_result__ +# endif +#else +# define __attribute_warn_unused_result__ /* empty */ +#endif +#ifndef __wur +# define __wur /* Ignore */ +#endif + +/* Forces a function to be always inlined. */ +#if __GNUC_PREREQ (3,2) || __glibc_has_attribute (__always_inline__) +/* The Linux kernel defines __always_inline in stddef.h (283d7573), and + it conflicts with this definition. Therefore undefine it first to + allow either header to be included first. */ +# undef __always_inline +# define __always_inline __inline __attribute__ ((__always_inline__)) +#else +# undef __always_inline +# define __always_inline __inline +#endif + +/* Associate error messages with the source location of the call site rather + than with the source location inside the function. */ +#if __GNUC_PREREQ (4,3) || __glibc_has_attribute (__artificial__) +# define __attribute_artificial__ __attribute__ ((__artificial__)) +#else +# define __attribute_artificial__ /* Ignore */ +#endif + +/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 + inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__ + or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions + older than 4.3 may define these macros and still not guarantee GNU inlining + semantics. + + clang++ identifies itself as gcc-4.2, but has support for GNU inlining + semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and + __GNUC_GNU_INLINE__ macro definitions. */ +#if (!defined __cplusplus || __GNUC_PREREQ (4,3) \ + || (defined __clang__ && (defined __GNUC_STDC_INLINE__ \ + || defined __GNUC_GNU_INLINE__))) +# if defined __GNUC_STDC_INLINE__ || defined __cplusplus +# define __extern_inline extern __inline __attribute__ ((__gnu_inline__)) +# define __extern_always_inline \ + extern __always_inline __attribute__ ((__gnu_inline__)) +# else +# define __extern_inline extern __inline +# define __extern_always_inline extern __always_inline +# endif +#endif + +#ifdef __extern_always_inline +# define __fortify_function __extern_always_inline __attribute_artificial__ +#endif + +/* GCC 4.3 and above allow passing all anonymous arguments of an + __extern_always_inline function to some other vararg function. */ +#if __GNUC_PREREQ (4,3) +# define __va_arg_pack() __builtin_va_arg_pack () +# define __va_arg_pack_len() __builtin_va_arg_pack_len () +#endif + +/* It is possible to compile containing GCC extensions even if GCC is + run in pedantic mode if the uses are carefully marked using the + `__extension__' keyword. But this is not generally available before + version 2.8. */ +#if !(__GNUC_PREREQ (2,8) || defined __clang__) +# define __extension__ /* Ignore */ +#endif + +/* __restrict is known in EGCS 1.2 and above, and in clang. + It works also in C++ mode (outside of arrays), but only when spelled + as '__restrict', not 'restrict'. */ +#if !(__GNUC_PREREQ (2,92) || __clang_major__ >= 3) +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict restrict +# else +# define __restrict /* Ignore */ +# endif +#endif + +/* ISO C99 also allows to declare arrays as non-overlapping. The syntax is + array_name[restrict] + GCC 3.1 and clang support this. + This syntax is not usable in C++ mode. */ +#if (__GNUC_PREREQ (3,1) || __clang_major__ >= 3) && !defined __cplusplus +# define __restrict_arr __restrict +#else +# ifdef __GNUC__ +# define __restrict_arr /* Not supported in old GCC. */ +# else +# if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L +# define __restrict_arr restrict +# else +/* Some other non-C99 compiler. */ +# define __restrict_arr /* Not supported. */ +# endif +# endif +#endif + +#if (__GNUC__ >= 3) || __glibc_has_builtin (__builtin_expect) +# define __glibc_unlikely(cond) __builtin_expect ((cond), 0) +# define __glibc_likely(cond) __builtin_expect ((cond), 1) +#else +# define __glibc_unlikely(cond) (cond) +# define __glibc_likely(cond) (cond) +#endif + +#if (!defined _Noreturn \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && !(__GNUC_PREREQ (4,7) \ + || (3 < __clang_major__ + (5 <= __clang_minor__)))) +# if __GNUC_PREREQ (2,8) +# define _Noreturn __attribute__ ((__noreturn__)) +# else +# define _Noreturn +# endif +#endif + +#if __GNUC_PREREQ (8, 0) +/* Describes a char array whose address can safely be passed as the first + argument to strncpy and strncat, as the char array is not necessarily + a NUL-terminated string. */ +# define __attribute_nonstring__ __attribute__ ((__nonstring__)) +#else +# define __attribute_nonstring__ +#endif + +/* Undefine (also defined in libc-symbols.h). */ +#undef __attribute_copy__ +#if __GNUC_PREREQ (9, 0) +/* Copies attributes from the declaration or type referenced by + the argument. */ +# define __attribute_copy__(arg) __attribute__ ((__copy__ (arg))) +#else +# define __attribute_copy__(arg) +#endif + +#if (!defined _Static_assert && !defined __cplusplus \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) < 201112 \ + && (!(__GNUC_PREREQ (4, 6) || __clang_major__ >= 4) \ + || defined __STRICT_ANSI__)) +# define _Static_assert(expr, diagnostic) \ + extern int (*__Static_assert_function (void)) \ + [!!sizeof (struct { int __error_if_negative: (expr) ? 2 : -1; })] +#endif + +/* Gnulib avoids including these, as they don't work on non-glibc or + older glibc platforms. */ +#ifndef __GNULIB_CDEFS +# include +# include +#endif + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# ifdef __REDIRECT + +/* Alias name defined automatically. */ +# define __LDBL_REDIR(name, proto) ... unused__ldbl_redir +# define __LDBL_REDIR_DECL(name) \ + extern __typeof (name) name __asm (__ASMNAME ("__" #name "ieee128")); +# define __REDIRECT_LDBL(name, proto, alias) \ + name proto __asm (__ASMNAME ("__" #alias "ieee128")) + +/* Alias name defined automatically, with leading underscores. */ +# define __LDBL_REDIR2_DECL(name) \ + extern __typeof (__##name) __##name \ + __asm (__ASMNAME ("__" #name "ieee128")); + +/* Alias name defined manually. */ +# define __LDBL_REDIR1(name, proto, alias) ... unused__ldbl_redir1 +# define __LDBL_REDIR1_DECL(name, alias) \ + extern __typeof (name) name __asm (__ASMNAME (#alias)); + +# define __LDBL_REDIR1_NTH(name, proto, alias) \ + __REDIRECT_NTH (name, proto, alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __LDBL_REDIR1_NTH (name, proto, __##alias##ieee128) + +/* Unused. */ +# define __LDBL_REDIR_NTH(name, proto) ... unused__ldbl_redir_nth + +# else +_Static_assert (0, "IEEE 128-bits long double requires redirection on this platform"); +# endif +#elif defined __LONG_DOUBLE_MATH_OPTIONAL && defined __NO_LONG_DOUBLE_MATH +# define __LDBL_COMPAT 1 +# ifdef __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) __REDIRECT (name, proto, alias) +# define __LDBL_REDIR(name, proto) \ + __LDBL_REDIR1 (name, proto, __nldbl_##name) +# define __LDBL_REDIR1_NTH(name, proto, alias) __REDIRECT_NTH (name, proto, alias) +# define __LDBL_REDIR_NTH(name, proto) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##name) +# define __LDBL_REDIR2_DECL(name) \ + extern __typeof (__##name) __##name __asm (__ASMNAME ("__nldbl___" #name)); +# define __LDBL_REDIR1_DECL(name, alias) \ + extern __typeof (name) name __asm (__ASMNAME (#alias)); +# define __LDBL_REDIR_DECL(name) \ + extern __typeof (name) name __asm (__ASMNAME ("__nldbl_" #name)); +# define __REDIRECT_LDBL(name, proto, alias) \ + __LDBL_REDIR1 (name, proto, __nldbl_##alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __LDBL_REDIR1_NTH (name, proto, __nldbl_##alias) +# endif +#endif +#if (!defined __LDBL_COMPAT && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0) \ + || !defined __REDIRECT +# define __LDBL_REDIR1(name, proto, alias) name proto +# define __LDBL_REDIR(name, proto) name proto +# define __LDBL_REDIR1_NTH(name, proto, alias) name proto __THROW +# define __LDBL_REDIR_NTH(name, proto) name proto __THROW +# define __LDBL_REDIR2_DECL(name) +# define __LDBL_REDIR_DECL(name) +# ifdef __REDIRECT +# define __REDIRECT_LDBL(name, proto, alias) __REDIRECT (name, proto, alias) +# define __REDIRECT_NTH_LDBL(name, proto, alias) \ + __REDIRECT_NTH (name, proto, alias) +# endif +#endif + +/* __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is + intended for use in preprocessor macros. + + Note: MESSAGE must be a _single_ string; concatenation of string + literals is not supported. */ +#if __GNUC_PREREQ (4,8) || __glibc_clang_prereq (3,5) +# define __glibc_macro_warning1(message) _Pragma (#message) +# define __glibc_macro_warning(message) \ + __glibc_macro_warning1 (GCC warning message) +#else +# define __glibc_macro_warning(msg) +#endif + +/* Generic selection (ISO C11) is a C-only feature, available in GCC + since version 4.9. Previous versions do not provide generic + selection, even though they might set __STDC_VERSION__ to 201112L, + when in -std=c11 mode. Thus, we must check for !defined __GNUC__ + when testing __STDC_VERSION__ for generic selection support. + On the other hand, Clang also defines __GNUC__, so a clang-specific + check is required to enable the use of generic selection. */ +#if !defined __cplusplus \ + && (__GNUC_PREREQ (4, 9) \ + || __glibc_has_extension (c_generic_selections) \ + || (!defined __GNUC__ && defined __STDC_VERSION__ \ + && __STDC_VERSION__ >= 201112L)) +# define __HAVE_GENERIC_SELECTION 1 +#else +# define __HAVE_GENERIC_SELECTION 0 +#endif + +#if __GNUC_PREREQ (10, 0) +/* Designates a 1-based positional argument ref-index of pointer type + that can be used to access size-index elements of the pointed-to + array according to access mode, or at least one element when + size-index is not provided: + access (access-mode, [, ]) */ +# define __attr_access(x) __attribute__ ((__access__ x)) +/* For _FORTIFY_SOURCE == 3 we use __builtin_dynamic_object_size, which may + use the access attribute to get object sizes from function definition + arguments, so we can't use them on functions we fortify. Drop the access + attribute for such functions. */ +# if __USE_FORTIFY_LEVEL == 3 +# define __fortified_attr_access(a, o, s) +# else +# define __fortified_attr_access(a, o, s) __attr_access ((a, o, s)) +# endif +# if __GNUC_PREREQ (11, 0) +# define __attr_access_none(argno) __attribute__ ((__access__ (__none__, argno))) +# else +# define __attr_access_none(argno) +# endif +#else +# define __fortified_attr_access(a, o, s) +# define __attr_access(x) +# define __attr_access_none(argno) +#endif + +#if __GNUC_PREREQ (11, 0) +/* Designates dealloc as a function to call to deallocate objects + allocated by the declared function. */ +# define __attr_dealloc(dealloc, argno) \ + __attribute__ ((__malloc__ (dealloc, argno))) +# define __attr_dealloc_free __attr_dealloc (__builtin_free, 1) +#else +# define __attr_dealloc(dealloc, argno) +# define __attr_dealloc_free +#endif + +/* Specify that a function such as setjmp or vfork may return + twice. */ +#if __GNUC_PREREQ (4, 1) +# define __attribute_returns_twice__ __attribute__ ((__returns_twice__)) +#else +# define __attribute_returns_twice__ /* Ignore. */ +#endif + +/* Mark struct types as aliasable. Restricted to compilers that + support forward declarations of structs in the presence of the + attribute. */ +#if __GNUC_PREREQ (7, 1) || defined __clang__ +# define __attribute_struct_may_alias__ __attribute__ ((__may_alias__)) +#else +# define __attribute_struct_may_alias__ +#endif + +#endif /* sys/cdefs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/debugreg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/debugreg.h new file mode 100644 index 00000000..20670649 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/debugreg.h @@ -0,0 +1,88 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_DEBUGREG_H +#define _SYS_DEBUGREG_H 1 + +/* Indicate the register numbers for a number of the specific + debug registers. Registers 0-3 contain the addresses we wish to trap on */ +#define DR_FIRSTADDR 0 /* u_debugreg[DR_FIRSTADDR] */ +#define DR_LASTADDR 3 /* u_debugreg[DR_LASTADDR] */ + +#define DR_STATUS 6 /* u_debugreg[DR_STATUS] */ +#define DR_CONTROL 7 /* u_debugreg[DR_CONTROL] */ + +/* Define a few things for the status register. We can use this to determine + which debugging register was responsible for the trap. The other bits + are either reserved or not of interest to us. */ + +#define DR_TRAP0 (0x1) /* db0 */ +#define DR_TRAP1 (0x2) /* db1 */ +#define DR_TRAP2 (0x4) /* db2 */ +#define DR_TRAP3 (0x8) /* db3 */ + +#define DR_STEP (0x4000) /* single-step */ +#define DR_SWITCH (0x8000) /* task switch */ + +/* Now define a bunch of things for manipulating the control register. + The top two bytes of the control register consist of 4 fields of 4 + bits - each field corresponds to one of the four debug registers, + and indicates what types of access we trap on, and how large the data + field is that we are looking at */ + +#define DR_CONTROL_SHIFT 16 /* Skip this many bits in ctl register */ +#define DR_CONTROL_SIZE 4 /* 4 control bits per register */ + +#define DR_RW_EXECUTE (0x0) /* Settings for the access types to trap on */ +#define DR_RW_WRITE (0x1) +#define DR_RW_READ (0x3) + +#define DR_LEN_1 (0x0) /* Settings for data length to trap on */ +#define DR_LEN_2 (0x4) +#define DR_LEN_4 (0xC) +#ifdef __x86_64__ +# define DR_LEN_8 (0x8) +#endif + +/* The low byte to the control register determine which registers are + enabled. There are 4 fields of two bits. One bit is "local", meaning + that the processor will reset the bit after a task switch and the other + is global meaning that we have to explicitly reset the bit. With linux, + you can use either one, since we explicitly zero the register when we enter + kernel mode. */ + +#define DR_LOCAL_ENABLE_SHIFT 0 /* Extra shift to the local enable bit */ +#define DR_GLOBAL_ENABLE_SHIFT 1 /* Extra shift to the global enable bit */ +#define DR_ENABLE_SIZE 2 /* 2 enable bits per register */ + +#define DR_LOCAL_ENABLE_MASK (0x55) /* Set local bits for all 4 regs */ +#define DR_GLOBAL_ENABLE_MASK (0xAA) /* Set global bits for all 4 regs */ + +/* The second byte to the control register has a few special + things. */ + + + +#ifdef __x86_64__ +# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00ULL) /* Reserved */ +#else +# define DR_CONTROL_RESERVED (0x00FC00U) /* Reserved */ +#endif +#define DR_LOCAL_SLOWDOWN (0x100) /* Local slow the pipeline */ +#define DR_GLOBAL_SLOWDOWN (0x200) /* Global slow the pipeline */ + +#endif /* sys/debugreg.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/dir.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/dir.h new file mode 100644 index 00000000..26caaf12 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/dir.h @@ -0,0 +1,27 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_DIR_H +#define _SYS_DIR_H 1 + +#include + +#include + +#define direct dirent + +#endif /* sys/dir.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/elf.h new file mode 100644 index 00000000..5517dccb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/elf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ELF_H +#define _SYS_ELF_H 1 + +#warning "This header is obsolete; use instead." + +#include + +#endif /* sys/elf.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/epoll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/epoll.h new file mode 100644 index 00000000..e1beed29 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/epoll.h @@ -0,0 +1,177 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EPOLL_H +#define _SYS_EPOLL_H 1 + +#include +#include +#include + +#include +#include + +/* Get the platform-dependent flags. */ +#include + +#ifndef __EPOLL_PACKED +# define __EPOLL_PACKED +#endif + + +enum EPOLL_EVENTS + { + EPOLLIN = 0x001, +#define EPOLLIN EPOLLIN + EPOLLPRI = 0x002, +#define EPOLLPRI EPOLLPRI + EPOLLOUT = 0x004, +#define EPOLLOUT EPOLLOUT + EPOLLRDNORM = 0x040, +#define EPOLLRDNORM EPOLLRDNORM + EPOLLRDBAND = 0x080, +#define EPOLLRDBAND EPOLLRDBAND + EPOLLWRNORM = 0x100, +#define EPOLLWRNORM EPOLLWRNORM + EPOLLWRBAND = 0x200, +#define EPOLLWRBAND EPOLLWRBAND + EPOLLMSG = 0x400, +#define EPOLLMSG EPOLLMSG + EPOLLERR = 0x008, +#define EPOLLERR EPOLLERR + EPOLLHUP = 0x010, +#define EPOLLHUP EPOLLHUP + EPOLLRDHUP = 0x2000, +#define EPOLLRDHUP EPOLLRDHUP + EPOLLEXCLUSIVE = 1u << 28, +#define EPOLLEXCLUSIVE EPOLLEXCLUSIVE + EPOLLWAKEUP = 1u << 29, +#define EPOLLWAKEUP EPOLLWAKEUP + EPOLLONESHOT = 1u << 30, +#define EPOLLONESHOT EPOLLONESHOT + EPOLLET = 1u << 31 +#define EPOLLET EPOLLET + }; + + +/* Valid opcodes ( "op" parameter ) to issue to epoll_ctl(). */ +#define EPOLL_CTL_ADD 1 /* Add a file descriptor to the interface. */ +#define EPOLL_CTL_DEL 2 /* Remove a file descriptor from the interface. */ +#define EPOLL_CTL_MOD 3 /* Change file descriptor epoll_event structure. */ + + +typedef union epoll_data +{ + void *ptr; + int fd; + uint32_t u32; + uint64_t u64; +} epoll_data_t; + +struct epoll_event +{ + uint32_t events; /* Epoll events */ + epoll_data_t data; /* User data variable */ +} __EPOLL_PACKED; + +struct epoll_params +{ + uint32_t busy_poll_usecs; + uint16_t busy_poll_budget; + uint8_t prefer_busy_poll; + + /* pad the struct to a multiple of 64bits */ + uint8_t __pad; +}; + +#define EPOLL_IOC_TYPE 0x8A +#define EPIOCSPARAMS _IOW(EPOLL_IOC_TYPE, 0x01, struct epoll_params) +#define EPIOCGPARAMS _IOR(EPOLL_IOC_TYPE, 0x02, struct epoll_params) + +__BEGIN_DECLS + +/* Creates an epoll instance. Returns an fd for the new instance. + The "size" parameter is a hint specifying the number of file + descriptors to be associated with the new instance. The fd + returned by epoll_create() should be closed with close(). */ +extern int epoll_create (int __size) __THROW; + +/* Same as epoll_create but with an FLAGS parameter. The unused SIZE + parameter has been dropped. */ +extern int epoll_create1 (int __flags) __THROW; + + +/* Manipulate an epoll instance "epfd". Returns 0 in case of success, + -1 in case of error ( the "errno" variable will contain the + specific error code ) The "op" parameter is one of the EPOLL_CTL_* + constants defined above. The "fd" parameter is the target of the + operation. The "event" parameter describes which events the caller + is interested in and any associated user data. */ +extern int epoll_ctl (int __epfd, int __op, int __fd, + struct epoll_event *__event) __THROW; + + +/* Wait for events on an epoll instance "epfd". Returns the number of + triggered events returned in "events" buffer. Or -1 in case of + error with the "errno" variable set to the specific error code. The + "events" parameter is a buffer that will contain triggered + events. The "maxevents" is the maximum number of events to be + returned ( usually size of "events" ). The "timeout" parameter + specifies the maximum wait time in milliseconds (-1 == infinite). + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int epoll_wait (int __epfd, struct epoll_event *__events, + int __maxevents, int __timeout) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); + + +/* Same as epoll_wait, but the thread's signal mask is temporarily + and atomically replaced with the one provided as parameter. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int epoll_pwait (int __epfd, struct epoll_event *__events, + int __maxevents, int __timeout, + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); + +/* Same as epoll_pwait, but the timeout as a timespec. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME64_REDIRECTS +extern int epoll_pwait2 (int __epfd, struct epoll_event *__events, + int __maxevents, const struct timespec *__timeout, + const __sigset_t *__ss) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +#else +# ifdef __REDIRECT +extern int __REDIRECT (epoll_pwait2, (int __epfd, struct epoll_event *__ev, + int __maxevs, + const struct timespec *__timeout, + const __sigset_t *__ss), + __epoll_pwait2_time64) + __attr_access ((__write_only__, 2, 3)) __nonnull ((2)); +# else +# define epoll_pwait2 __epoll_pwait2_time64 +# endif +#endif + +__END_DECLS + +#endif /* sys/epoll.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/errno.h new file mode 100644 index 00000000..679ce128 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/errno.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/eventfd.h new file mode 100644 index 00000000..dafde873 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/eventfd.h @@ -0,0 +1,44 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +#define _SYS_EVENTFD_H 1 + +#include + +/* Get the platform-dependent flags. */ +#include + +/* Type for event counter. */ +typedef uint64_t eventfd_t; + + +__BEGIN_DECLS + +/* Return file descriptor for generic event channel. Set initial + value to COUNT. */ +extern int eventfd (unsigned int __count, int __flags) __THROW; + +/* Read event counter and possibly wait for events. */ +extern int eventfd_read (int __fd, eventfd_t *__value); + +/* Increment event counter. */ +extern int eventfd_write (int __fd, eventfd_t __value); + +__END_DECLS + +#endif /* sys/eventfd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fanotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fanotify.h new file mode 100644 index 00000000..37138483 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fanotify.h @@ -0,0 +1,38 @@ +/* Copyright (C) 2010-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_FANOTIFY_H +#define _SYS_FANOTIFY_H 1 + +#include +#include + + +__BEGIN_DECLS + +/* Create and initialize fanotify group. */ +extern int fanotify_init (unsigned int __flags, unsigned int __event_f_flags) + __THROW; + +/* Add, remove, or modify an fanotify mark on a filesystem object. */ +extern int fanotify_mark (int __fanotify_fd, unsigned int __flags, + uint64_t __mask, int __dfd, const char *__pathname) + __THROW; + +__END_DECLS + +#endif /* sys/fanotify.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fcntl.h new file mode 100644 index 00000000..b0a9c390 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fcntl.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/file.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/file.h new file mode 100644 index 00000000..c791c7b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/file.h @@ -0,0 +1,55 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_FILE_H +#define _SYS_FILE_H 1 + +#include + +#ifndef _FCNTL_H +# include +#endif + +__BEGIN_DECLS + + +/* Alternate names for values for the WHENCE argument to `lseek'. + These are the same as SEEK_SET, SEEK_CUR, and SEEK_END, respectively. */ +#ifndef L_SET +# define L_SET 0 /* Seek from beginning of file. */ +# define L_INCR 1 /* Seek from current position. */ +# define L_XTND 2 /* Seek from end of file. */ +#endif + + +/* Operations for the `flock' call. */ +#define LOCK_SH 1 /* Shared lock. */ +#define LOCK_EX 2 /* Exclusive lock. */ +#define LOCK_UN 8 /* Unlock. */ + +/* Can be OR'd in to one of the above. */ +#define LOCK_NB 4 /* Don't block when locking. */ + + +/* Apply or remove an advisory lock, according to OPERATION, + on the file FD refers to. */ +extern int flock (int __fd, int __operation) __THROW; + + +__END_DECLS + +#endif /* sys/file.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fpregdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fpregdef.h new file mode 100644 index 00000000..a72e1868 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fpregdef.h @@ -0,0 +1,118 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_FPREGDEF_H +#define _SYS_FPREGDEF_H + +#include + +/* Commonalities first, individualities next... */ + +#define fv0 $f0 /* return value */ +#define fv1 $f2 + +#if _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 +#define fs0 $f20 /* callee saved */ +#define fs1 $f22 +#define fs2 $f24 +#define fs3 $f26 +#define fs4 $f28 +#define fs5 $f30 +#endif /* _MIPS_SIM == _ABIO32 || _MIPS_SIM == _ABIN32 */ + +#if _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 +#define fa0 $f12 /* argument registers */ +#define fa1 $f13 +#define fa2 $f14 +#define fa3 $f15 +#define fa4 $f16 +#define fa5 $f17 +#define fa6 $f18 +#define fa7 $f19 + +#define ft0 $f4 /* caller saved */ +#define ft1 $f5 +#define ft2 $f6 +#define ft3 $f7 +#define ft4 $f8 +#define ft5 $f9 +#define ft6 $f10 +#define ft7 $f11 +#endif /* _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIN32 */ + +#if _MIPS_SIM == _ABIO32 +#define fv0f $f1 /* return value, high part */ +#define fv1f $f3 + +#define fa0 $f12 /* argument registers */ +#define fa0f $f13 +#define fa1 $f14 +#define fa1f $f15 + +#define ft0 $f4 /* caller saved */ +#define ft0f $f5 +#define ft1 $f6 +#define ft1f $f7 +#define ft2 $f8 +#define ft2f $f9 +#define ft3 $f10 +#define ft3f $f11 +#define ft4 $f16 +#define ft4f $f17 +#define ft5 $f18 +#define ft5f $f19 + +#define fs0f $f21 /* callee saved, high part */ +#define fs1f $f23 +#define fs2f $f25 +#define fs3f $f27 +#define fs4f $f29 +#define fs5f $f31 +#endif /* _MIPS_SIM == _ABIO32 */ + +#if _MIPS_SIM == _ABI64 +#define ft8 $f20 /* caller saved */ +#define ft9 $f21 +#define ft10 $f22 +#define ft11 $f23 +#define ft12 $f1 +#define ft13 $f3 + +#define fs0 $f24 /* callee saved */ +#define fs1 $f25 +#define fs2 $f26 +#define fs3 $f27 +#define fs4 $f28 +#define fs5 $f29 +#define fs6 $f30 +#define fs7 $f31 +#endif /* _MIPS_SIM == _ABI64 */ + +#if _MIPS_SIM == _ABIN32 +#define ft8 $f21 /* caller saved */ +#define ft9 $f23 +#define ft10 $f25 +#define ft11 $f27 +#define ft12 $f29 +#define ft13 $f31 +#define ft14 $f1 +#define ft15 $f3 +#endif /* _MIPS_SIM == _ABIN32 */ + +#define fcr31 $31 /* FPU status register */ + +#endif /* sys/fpregdef.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fsuid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fsuid.h new file mode 100644 index 00000000..2975d1b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/fsuid.h @@ -0,0 +1,35 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_FSUID_H +#define _SYS_FSUID_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Change uid used for file access control to UID, without affecting + other privileges (such as who can send signals at the process). */ +extern int setfsuid (__uid_t __uid) __THROW; + +/* Ditto for group id. */ +extern int setfsgid (__gid_t __gid) __THROW; + +__END_DECLS + +#endif /* fsuid.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon.h new file mode 100644 index 00000000..a9f056cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon.h @@ -0,0 +1,203 @@ +/*- + * Copyright (c) 1982, 1986, 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)gmon.h 8.2 (Berkeley) 1/4/94 + */ + +#ifndef _SYS_GMON_H +#define _SYS_GMON_H 1 + +#include + +#include + +/* + * See gmon_out.h for gmon.out format. + */ + +/* structure emitted by "gcc -a". This must match struct bb in + gcc/libgcc2.c. It is OK for gcc to declare a longer structure as + long as the members below are present. */ +struct __bb +{ + long zero_word; + const char *filename; + long *counts; + long ncounts; + struct __bb *next; + const unsigned long *addresses; +}; + +extern struct __bb *__bb_head; + +/* + * histogram counters are unsigned shorts (according to the kernel). + */ +#define HISTCOUNTER unsigned short + +/* + * fraction of text space to allocate for histogram counters here, 1/2 + */ +#define HISTFRACTION 2 + +/* + * Fraction of text space to allocate for from hash buckets. + * The value of HASHFRACTION is based on the minimum number of bytes + * of separation between two subroutine call points in the object code. + * Given MIN_SUBR_SEPARATION bytes of separation the value of + * HASHFRACTION is calculated as: + * + * HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1); + * + * For example, on the VAX, the shortest two call sequence is: + * + * calls $0,(r0) + * calls $0,(r0) + * + * which is separated by only three bytes, thus HASHFRACTION is + * calculated as: + * + * HASHFRACTION = 3 / (2 * 2 - 1) = 1 + * + * Note that the division above rounds down, thus if MIN_SUBR_FRACTION + * is less than three, this algorithm will not work! + * + * In practice, however, call instructions are rarely at a minimal + * distance. Hence, we will define HASHFRACTION to be 2 across all + * architectures. This saves a reasonable amount of space for + * profiling data structures without (in practice) sacrificing + * any granularity. + */ +#define HASHFRACTION 2 + +/* + * Percent of text space to allocate for tostructs. + * This is a heuristic; we will fail with a warning when profiling programs + * with a very large number of very small functions, but that's + * normally OK. + * 2 is probably still a good value for normal programs. + * Profiling a test case with 64000 small functions will work if + * you raise this value to 3 and link statically (which bloats the + * text size, thus raising the number of arcs expected by the heuristic). + */ +#define ARCDENSITY 3 + +/* + * Always allocate at least this many tostructs. This + * hides the inadequacy of the ARCDENSITY heuristic, at least + * for small programs. + * + * Value can be overridden at runtime by glibc.gmon.minarcs tunable. + */ +#define MINARCS 50 + +/* + * The type used to represent indices into gmonparam.tos[]. + */ +#define ARCINDEX unsigned long + +/* + * Maximum number of arcs we want to allow. + * Used to be max representable value of ARCINDEX minus 2, but now + * that ARCINDEX is a long, that's too large; we don't really want + * to allow a 48 gigabyte table. + * + * Value can be overridden at runtime by glibc.gmon.maxarcs tunable. + */ +#define MAXARCS (1 << 20) + +struct tostruct { + unsigned long selfpc; + long count; + ARCINDEX link; +}; + +/* + * a raw arc, with pointers to the calling site and + * the called site and a count. + */ +struct rawarc { + unsigned long raw_frompc; + unsigned long raw_selfpc; + long raw_count; +}; + +/* + * general rounding functions. + */ +#define ROUNDDOWN(x,y) (((x)/(y))*(y)) +#define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*(y)) + +/* + * The profiling data structures are housed in this structure. + */ +struct gmonparam { + long int state; + unsigned short *kcount; + unsigned long kcountsize; + ARCINDEX *froms; + unsigned long fromssize; + struct tostruct *tos; + unsigned long tossize; + long tolimit; + unsigned long lowpc; + unsigned long highpc; + unsigned long textsize; + unsigned long hashfraction; + long log_hashfraction; +}; + +/* + * Possible states of profiling. + */ +#define GMON_PROF_ON 0 +#define GMON_PROF_BUSY 1 +#define GMON_PROF_ERROR 2 +#define GMON_PROF_OFF 3 + +/* + * Sysctl definitions for extracting profiling information from the kernel. + */ +#define GPROF_STATE 0 /* int: profiling enabling variable */ +#define GPROF_COUNT 1 /* struct: profile tick count buffer */ +#define GPROF_FROMS 2 /* struct: from location hash bucket */ +#define GPROF_TOS 3 /* struct: destination/count structure */ +#define GPROF_GMONPARAM 4 /* struct: profiling parameters (see above) */ + +__BEGIN_DECLS + +/* Set up data structures and start profiling. */ +extern void __monstartup (unsigned long __lowpc, unsigned long __highpc) __THROW; +extern void monstartup (unsigned long __lowpc, unsigned long __highpc) __THROW; + +/* Clean up profiling and write out gmon.out. */ +extern void _mcleanup (void) __THROW; + +__END_DECLS + +#endif /* sys/gmon.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon_out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon_out.h new file mode 100644 index 00000000..5e293057 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/gmon_out.h @@ -0,0 +1,78 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This file specifies the format of gmon.out files. It should have + as few external dependencies as possible as it is going to be included + in many different programs. That is, minimize the number of #include's. + + A gmon.out file consists of a header (defined by gmon_hdr) followed by + a sequence of records. Each record starts with a one-byte tag + identifying the type of records, followed by records specific data. */ + +#ifndef _SYS_GMON_OUT_H +#define _SYS_GMON_OUT_H 1 + +#include + +#define GMON_MAGIC "gmon" /* magic cookie */ +#define GMON_VERSION 1 /* version number */ + +/* For profiling shared object we need a new format. */ +#define GMON_SHOBJ_VERSION 0x1ffff + +__BEGIN_DECLS + +/* + * Raw header as it appears on file (without padding). This header + * always comes first in gmon.out and is then followed by a series + * records defined below. + */ +struct gmon_hdr + { + char cookie[4]; + char version[4]; + char spare[3 * 4]; + }; + +/* types of records in this file: */ +typedef enum + { + GMON_TAG_TIME_HIST = 0, + GMON_TAG_CG_ARC = 1, + GMON_TAG_BB_COUNT = 2 + } GMON_Record_Tag; + +struct gmon_hist_hdr + { + char low_pc[sizeof (char *)]; /* base pc address of sample buffer */ + char high_pc[sizeof (char *)]; /* max pc address of sampled buffer */ + char hist_size[4]; /* size of sample buffer */ + char prof_rate[4]; /* profiling clock rate */ + char dimen[15]; /* phys. dim., usually "seconds" */ + char dimen_abbrev; /* usually 's' for "seconds" */ + }; + +struct gmon_cg_arc_record + { + char from_pc[sizeof (char *)]; /* address within caller's body */ + char self_pc[sizeof (char *)]; /* address within callee's body */ + char count[4]; /* number of arc traversals */ + }; + +__END_DECLS + +#endif /* sys/gmon_out.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/hwprobe.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/hwprobe.h new file mode 100644 index 00000000..63986df0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/hwprobe.h @@ -0,0 +1,113 @@ +/* RISC-V architecture probe interface + Copyright (C) 2024-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_HWPROBE_H +#define _SYS_HWPROBE_H 1 + +#include +#include +#include +#ifdef __has_include +# if __has_include () +# include +# endif +#endif + +/* Define a (probably stale) version of the interface if the Linux headers + aren't present. */ +#ifndef RISCV_HWPROBE_KEY_MVENDORID +struct riscv_hwprobe { + signed long long int key; + unsigned long long int value; +}; + +#define RISCV_HWPROBE_KEY_MVENDORID 0 +#define RISCV_HWPROBE_KEY_MARCHID 1 +#define RISCV_HWPROBE_KEY_MIMPID 2 +#define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3 +#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA (1 << 0) +#define RISCV_HWPROBE_KEY_IMA_EXT_0 4 +#define RISCV_HWPROBE_IMA_FD (1 << 0) +#define RISCV_HWPROBE_IMA_C (1 << 1) +#define RISCV_HWPROBE_IMA_V (1 << 2) +#define RISCV_HWPROBE_EXT_ZBA (1 << 3) +#define RISCV_HWPROBE_EXT_ZBB (1 << 4) +#define RISCV_HWPROBE_EXT_ZBS (1 << 5) +#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6) +#define RISCV_HWPROBE_KEY_CPUPERF_0 5 +#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) +#define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) +#define RISCV_HWPROBE_MISALIGNED_SLOW (2 << 0) +#define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0) +#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0) +#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0) +#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6 + +#endif /* RISCV_HWPROBE_KEY_MVENDORID */ + +__BEGIN_DECLS + +extern int __riscv_hwprobe (struct riscv_hwprobe *__pairs, size_t __pair_count, + size_t __cpu_count, unsigned long int *__cpus, + unsigned int __flags) + __nonnull ((1)) __wur + __fortified_attr_access (__read_write__, 1, 2) + __fortified_attr_access (__read_only__, 4, 3); + +/* A pointer to the __riscv_hwprobe vDSO function is passed as the second + argument to ifunc selector routines. Include a function pointer type for + convenience in calling the function in those settings. */ +typedef int (*__riscv_hwprobe_t) (struct riscv_hwprobe *__pairs, size_t __pair_count, + size_t __cpu_count, unsigned long int *__cpus, + unsigned int __flags) + __nonnull ((1)) __wur + __fortified_attr_access (__read_write__, 1, 2) + __fortified_attr_access (__read_only__, 4, 3); + +/* Helper function usable from ifunc selectors that probes a single key. */ +static __inline int +__riscv_hwprobe_one(__riscv_hwprobe_t hwprobe_func, + long long int key, + unsigned long long int *value) +{ + struct riscv_hwprobe pair; + int rc; + + /* Earlier versions of glibc pass NULL as the second ifunc parameter. Other C + libraries on non-Linux systems may pass +1 as this function pointer to + indicate no support. Users copying this function to exotic worlds + (non-Linux non-glibc) may want to do additional validity checks here. */ + if (hwprobe_func == NULL) + return ENOSYS; + + pair.key = key; + rc = hwprobe_func (&pair, 1, 0, NULL, 0); + if (rc != 0) + return rc; + + if (pair.key < 0) + return ENOENT; + + *value = pair.value; + return 0; +} + +__END_DECLS + +#endif /* sys/hwprobe.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ifunc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ifunc.h new file mode 100644 index 00000000..d86de970 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ifunc.h @@ -0,0 +1,42 @@ +/* Definitions used by AArch64 indirect function resolvers. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IFUNC_H +#define _SYS_IFUNC_H + +/* A second argument is passed to the ifunc resolver. */ +#define _IFUNC_ARG_HWCAP (1ULL << 62) + +/* The prototype of a gnu indirect function resolver on AArch64 is + + ElfW(Addr) ifunc_resolver (uint64_t, const __ifunc_arg_t *); + + the first argument should have the _IFUNC_ARG_HWCAP bit set and + the remaining bits should match the AT_HWCAP settings. */ + +/* Second argument to an ifunc resolver. */ +struct __ifunc_arg_t +{ + unsigned long _size; /* Size of the struct, so it can grow. */ + unsigned long _hwcap; + unsigned long _hwcap2; +}; + +typedef struct __ifunc_arg_t __ifunc_arg_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/inotify.h new file mode 100644 index 00000000..a901da49 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/inotify.h @@ -0,0 +1,100 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +#define _SYS_INOTIFY_H 1 + +#include + +/* Get the platform-dependent flags. */ +#include + + +/* Structure describing an inotify event. */ +struct inotify_event +{ + int wd; /* Watch descriptor. */ + uint32_t mask; /* Watch mask. */ + uint32_t cookie; /* Cookie to synchronize two events. */ + uint32_t len; /* Length (including NULs) of name. */ + char name __flexarr; /* Name. */ +}; + + +/* Supported events suitable for MASK parameter of INOTIFY_ADD_WATCH. */ +#define IN_ACCESS 0x00000001 /* File was accessed. */ +#define IN_MODIFY 0x00000002 /* File was modified. */ +#define IN_ATTRIB 0x00000004 /* Metadata changed. */ +#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed. */ +#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed. */ +#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* Close. */ +#define IN_OPEN 0x00000020 /* File was opened. */ +#define IN_MOVED_FROM 0x00000040 /* File was moved from X. */ +#define IN_MOVED_TO 0x00000080 /* File was moved to Y. */ +#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* Moves. */ +#define IN_CREATE 0x00000100 /* Subfile was created. */ +#define IN_DELETE 0x00000200 /* Subfile was deleted. */ +#define IN_DELETE_SELF 0x00000400 /* Self was deleted. */ +#define IN_MOVE_SELF 0x00000800 /* Self was moved. */ + +/* Events sent by the kernel. */ +#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted. */ +#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed. */ +#define IN_IGNORED 0x00008000 /* File was ignored. */ + +/* Helper events. */ +#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* Close. */ +#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* Moves. */ + +/* Special flags. */ +#define IN_ONLYDIR 0x01000000 /* Only watch the path if it is a + directory. */ +#define IN_DONT_FOLLOW 0x02000000 /* Do not follow a sym link. */ +#define IN_EXCL_UNLINK 0x04000000 /* Exclude events on unlinked + objects. */ +#define IN_MASK_CREATE 0x10000000 /* Only create watches. */ +#define IN_MASK_ADD 0x20000000 /* Add to the mask of an already + existing watch. */ +#define IN_ISDIR 0x40000000 /* Event occurred against dir. */ +#define IN_ONESHOT 0x80000000 /* Only send event once. */ + +/* All events which a program can wait on. */ +#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE \ + | IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM \ + | IN_MOVED_TO | IN_CREATE | IN_DELETE \ + | IN_DELETE_SELF | IN_MOVE_SELF) + + +__BEGIN_DECLS + +/* Create and initialize inotify instance. */ +extern int inotify_init (void) __THROW; + +/* Create and initialize inotify instance. */ +extern int inotify_init1 (int __flags) __THROW; + +/* Add watch of object NAME to inotify instance FD. Notify about + events specified by MASK. */ +extern int inotify_add_watch (int __fd, const char *__name, uint32_t __mask) + __THROW; + +/* Remove the watch specified by WD from the inotify instance FD. */ +extern int inotify_rm_watch (int __fd, int __wd) __THROW; + +__END_DECLS + +#endif /* sys/inotify.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/io.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/io.h new file mode 100644 index 00000000..6d9f3e88 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/io.h @@ -0,0 +1,183 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IO_H +#define _SYS_IO_H 1 + +#include + +__BEGIN_DECLS + +/* If TURN_ON is TRUE, request for permission to do direct i/o on the + port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O + permission off for that range. This call requires root privileges. + + Portability note: not all Linux platforms support this call. Most + platforms based on the PC I/O architecture probably will, however. + E.g., Linux/Alpha for Alpha PCs supports this. */ +extern int ioperm (unsigned long int __from, unsigned long int __num, + int __turn_on) __THROW; + +/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to + access any I/O port is granted. This call requires root + privileges. */ +extern int iopl (int __level) __THROW; + +#if defined __GNUC__ && __GNUC__ >= 2 + +static __inline unsigned char +inb (unsigned short int __port) +{ + unsigned char _v; + + __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline unsigned char +inb_p (unsigned short int __port) +{ + unsigned char _v; + + __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline unsigned short int +inw (unsigned short int __port) +{ + unsigned short _v; + + __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline unsigned short int +inw_p (unsigned short int __port) +{ + unsigned short int _v; + + __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline unsigned int +inl (unsigned short int __port) +{ + unsigned int _v; + + __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline unsigned int +inl_p (unsigned short int __port) +{ + unsigned int _v; + __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (__port)); + return _v; +} + +static __inline void +outb (unsigned char __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outb %b0,%w1": :"a" (__value), "Nd" (__port)); +} + +static __inline void +outb_p (unsigned char __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80": :"a" (__value), + "Nd" (__port)); +} + +static __inline void +outw (unsigned short int __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outw %w0,%w1": :"a" (__value), "Nd" (__port)); + +} + +static __inline void +outw_p (unsigned short int __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80": :"a" (__value), + "Nd" (__port)); +} + +static __inline void +outl (unsigned int __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outl %0,%w1": :"a" (__value), "Nd" (__port)); +} + +static __inline void +outl_p (unsigned int __value, unsigned short int __port) +{ + __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80": :"a" (__value), + "Nd" (__port)); +} + +static __inline void +insb (unsigned short int __port, void *__addr, unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; insb":"=D" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +static __inline void +insw (unsigned short int __port, void *__addr, unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; insw":"=D" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +static __inline void +insl (unsigned short int __port, void *__addr, unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; insl":"=D" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +static __inline void +outsb (unsigned short int __port, const void *__addr, + unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +static __inline void +outsw (unsigned short int __port, const void *__addr, + unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +static __inline void +outsl (unsigned short int __port, const void *__addr, + unsigned long int __count) +{ + __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (__addr), "=c" (__count) + :"d" (__port), "0" (__addr), "1" (__count)); +} + +#endif /* GNU C */ + +__END_DECLS +#endif /* _SYS_IO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ioctl.h new file mode 100644 index 00000000..c72a90bf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ioctl.h @@ -0,0 +1,55 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +#define _SYS_IOCTL_H 1 + +#include + +__BEGIN_DECLS + +/* Get the list of `ioctl' requests and related constants. */ +#include + +/* Define some types used by `ioctl' requests. */ +#include + +/* On a Unix system, the system probably defines some of + the symbols we define in (usually with the same + values). The code to generate has omitted these + symbols to avoid the conflict, but a Unix program expects + to define them, so we must include here. */ +#include + +/* Perform the I/O control operation specified by REQUEST on FD. + One argument may follow; its presence and type depend on REQUEST. + Return value depends on REQUEST. Usually -1 indicates error. */ +#ifndef __USE_TIME64_REDIRECTS +extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; +#else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (ioctl, (int __fd, unsigned long int __request, ...), + __ioctl_time64); +# else +extern int __ioctl_time64 (int __fd, unsigned long int __request, ...) __THROW; +# define ioctl __ioctl_time64 +# endif +#endif + +__END_DECLS + +#endif /* sys/ioctl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ipc.h new file mode 100644 index 00000000..ac30bcab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ipc.h @@ -0,0 +1,54 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +#define _SYS_IPC_H 1 + +#include + +/* Get system dependent definition of `struct ipc_perm' and more. */ +#include +#include + +#ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +#endif + +#ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#ifndef __key_t_defined +typedef __key_t key_t; +# define __key_t_defined +#endif + +__BEGIN_DECLS + +/* Generates key for System V style IPC. */ +extern key_t ftok (const char *__pathname, int __proj_id) __THROW; + +__END_DECLS + +#endif /* sys/ipc.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/kd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/kd.h new file mode 100644 index 00000000..f59730d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/kd.h @@ -0,0 +1,34 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_KD_H +#define _SYS_KD_H 1 + +/* Make sure the header is not loaded. */ +#ifndef _LINUX_TYPES_H +# define _LINUX_TYPES_H 1 +# define __undef_LINUX_TYPES_H +#endif + +#include + +#ifdef __undef_LINUX_TYPES_H +# undef _LINUX_TYPES_H +# undef __undef_LINUX_TYPES_H +#endif + +#endif /* sys/kd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/klog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/klog.h new file mode 100644 index 00000000..3d8531cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/klog.h @@ -0,0 +1,33 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_KLOG_H + +#define _SYS_KLOG_H 1 +#include + +__BEGIN_DECLS + +/* Control the kernel's logging facility. This corresponds exactly to + the kernel's syslog system call, but that name is easily confused + with the user-level syslog facility, which is something completely + different. */ +extern int klogctl (int __type, char *__bufp, int __len) __THROW; + +__END_DECLS + +#endif /* _SYS_KLOG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mman.h new file mode 100644 index 00000000..3577564d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mman.h @@ -0,0 +1,156 @@ +/* Definitions for BSD-style memory management. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +#define _SYS_MMAN_H 1 + +#include +#include +#define __need_size_t +#include + +#ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +#endif + +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#include + +/* Return value of `mmap' in case of an error. */ +#define MAP_FAILED ((void *) -1) + +__BEGIN_DECLS +/* Map addresses starting near ADDR and extending for LEN bytes. from + OFFSET into the file FD describes according to PROT and FLAGS. If ADDR + is nonzero, it is the desired mapping address. If the MAP_FIXED bit is + set in FLAGS, the mapping will be at ADDR exactly (which must be + page-aligned); otherwise the system chooses a convenient nearby address. + The return value is the actual mapping address chosen or MAP_FAILED + for errors (in which case `errno' is set). A successful `mmap' call + deallocates any previous mapping for the affected region. */ + +#ifndef __USE_FILE_OFFSET64 +extern void *mmap (void *__addr, size_t __len, int __prot, + int __flags, int __fd, __off_t __offset) __THROW; +#else +# ifdef __REDIRECT_NTH +extern void * __REDIRECT_NTH (mmap, + (void *__addr, size_t __len, int __prot, + int __flags, int __fd, __off64_t __offset), + mmap64); +# else +# define mmap mmap64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern void *mmap64 (void *__addr, size_t __len, int __prot, + int __flags, int __fd, __off64_t __offset) __THROW; +#endif + +/* Deallocate any mapping for the region starting at ADDR and extending LEN + bytes. Returns 0 if successful, -1 for errors (and sets errno). */ +extern int munmap (void *__addr, size_t __len) __THROW; + +/* Change the memory protection of the region starting at ADDR and + extending LEN bytes to PROT. Returns 0 if successful, -1 for errors + (and sets errno). */ +extern int mprotect (void *__addr, size_t __len, int __prot) __THROW; + +/* Synchronize the region starting at ADDR and extending LEN bytes with the + file it maps. Filesystem operations on a file being mapped are + unpredictable before this is done. Flags are from the MS_* set. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int msync (void *__addr, size_t __len, int __flags); + +#ifdef __USE_MISC +/* Advise the system about particular usage patterns the program follows + for the region starting at ADDR and extending LEN bytes. */ +extern int madvise (void *__addr, size_t __len, int __advice) __THROW; +#endif +#ifdef __USE_XOPEN2K +/* This is the POSIX name for this function. */ +extern int posix_madvise (void *__addr, size_t __len, int __advice) __THROW; +#endif + +/* Guarantee all whole pages mapped by the range [ADDR,ADDR+LEN) to + be memory resident. */ +extern int mlock (const void *__addr, size_t __len) __THROW + __attr_access_none (1); + +/* Unlock whole pages previously mapped by the range [ADDR,ADDR+LEN). */ +extern int munlock (const void *__addr, size_t __len) __THROW + __attr_access_none (1); + +/* Cause all currently mapped pages of the process to be memory resident + until unlocked by a call to the `munlockall', until the process exits, + or until the process calls `execve'. */ +extern int mlockall (int __flags) __THROW; + +/* All currently mapped pages of the process' address space become + unlocked. */ +extern int munlockall (void) __THROW; + +#ifdef __USE_MISC +/* mincore returns the memory residency status of the pages in the + current process's address space specified by [start, start + len). + The status is returned in a vector of bytes. The least significant + bit of each byte is 1 if the referenced page is in memory, otherwise + it is zero. */ +extern int mincore (void *__start, size_t __len, unsigned char *__vec) + __THROW; +#endif + +#ifdef __USE_GNU +/* Remap pages mapped by the range [ADDR,ADDR+OLD_LEN) to new length + NEW_LEN. If MREMAP_MAYMOVE is set in FLAGS the returned address + may differ from ADDR. If MREMAP_FIXED is set in FLAGS the function + takes another parameter which is a fixed address at which the block + resides after a successful call. */ +extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, + int __flags, ...) __THROW; + +/* Remap arbitrary pages of a shared backing store within an existing + VMA. */ +extern int remap_file_pages (void *__start, size_t __size, int __prot, + size_t __pgoff, int __flags) __THROW; +#endif + + +/* Open shared memory segment. */ +extern int shm_open (const char *__name, int __oflag, mode_t __mode); + +/* Remove shared memory segment. */ +extern int shm_unlink (const char *__name); + +/* System-specific extensions. */ +#include + +__END_DECLS + +#endif /* sys/mman.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mount.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mount.h new file mode 100644 index 00000000..b3f0cd64 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mount.h @@ -0,0 +1,333 @@ +/* Header file for mounting/unmount Linux filesystems. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This is taken from /usr/include/linux/fs.h. */ + +#ifndef _SYS_MOUNT_H +#define _SYS_MOUNT_H 1 + +#include +#include +#include +#include +#include + +#ifdef __has_include +# if __has_include ("linux/mount.h") +# include "linux/mount.h" +# endif +#endif + + +#define BLOCK_SIZE_BITS 10 +#define BLOCK_SIZE (1<= 36) || __GLIBC__ > 2 + +#ifndef FSOPEN_CLOEXEC +/* The type of fsconfig call made. */ +enum fsconfig_command +{ + FSCONFIG_SET_FLAG = 0, /* Set parameter, supplying no value */ +# define FSCONFIG_SET_FLAG FSCONFIG_SET_FLAG + FSCONFIG_SET_STRING = 1, /* Set parameter, supplying a string value */ +# define FSCONFIG_SET_STRING FSCONFIG_SET_STRING + FSCONFIG_SET_BINARY = 2, /* Set parameter, supplying a binary blob value */ +# define FSCONFIG_SET_BINARY FSCONFIG_SET_BINARY + FSCONFIG_SET_PATH = 3, /* Set parameter, supplying an object by path */ +# define FSCONFIG_SET_PATH FSCONFIG_SET_PATH + FSCONFIG_SET_PATH_EMPTY = 4, /* Set parameter, supplying an object by (empty) path */ +# define FSCONFIG_SET_PATH_EMPTY FSCONFIG_SET_PATH_EMPTY + FSCONFIG_SET_FD = 5, /* Set parameter, supplying an object by fd */ +# define FSCONFIG_SET_FD FSCONFIG_SET_FD + FSCONFIG_CMD_CREATE = 6, /* Invoke superblock creation */ +# define FSCONFIG_CMD_CREATE FSCONFIG_CMD_CREATE + FSCONFIG_CMD_RECONFIGURE = 7, /* Invoke superblock reconfiguration */ +# define FSCONFIG_CMD_RECONFIGURE FSCONFIG_CMD_RECONFIGURE + FSCONFIG_CMD_CREATE_EXCL = 8, /* Create new superblock, fail if reusing existing superblock */ +# define FSCONFIG_CMD_CREATE_EXCL FSCONFIG_CMD_CREATE_EXCL +}; +#endif + +/* fsopen flags. */ +#define FSOPEN_CLOEXEC 0x00000001 + +/* open_tree flags. */ +#define OPEN_TREE_CLONE 1 /* Clone the target tree and attach the clone */ +#define OPEN_TREE_CLOEXEC O_CLOEXEC /* Close the file on execve() */ + +#endif + +__BEGIN_DECLS + +/* Mount a filesystem. */ +extern int mount (const char *__special_file, const char *__dir, + const char *__fstype, unsigned long int __rwflag, + const void *__data) __THROW; + +/* Unmount a filesystem. */ +extern int umount (const char *__special_file) __THROW; + +/* Unmount a filesystem. Force unmounting if FLAGS is set to MNT_FORCE. */ +extern int umount2 (const char *__special_file, int __flags) __THROW; + +// zig patch: check target glibc version +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 + +/* Open the filesystem referenced by FS_NAME so it can be configured for + mouting. */ +extern int fsopen (const char *__fs_name, unsigned int __flags) __THROW; + +/* Create a mount representation for the FD created by fsopen using + FLAGS with ATTR_FLAGS describing how the mount is to be performed. */ +extern int fsmount (int __fd, unsigned int __flags, + unsigned int __ms_flags) __THROW; + +/* Add the mounted FROM_DFD referenced by FROM_PATHNAME filesystem returned + by fsmount in the hierarchy in the place TO_DFD reference by TO_PATHNAME + using FLAGS. */ +extern int move_mount (int __from_dfd, const char *__from_pathname, + int __to_dfd, const char *__to_pathname, + unsigned int flags) __THROW; + +/* Set parameters and trigger CMD action on the FD context. KEY, VALUE, + and AUX are used depending ng of the CMD. */ +extern int fsconfig (int __fd, unsigned int __cmd, const char *__key, + const void *__value, int __aux) __THROW; + +/* Equivalent of fopen for an existing mount point. */ +extern int fspick (int __dfd, const char *__path, unsigned int __flags) + __THROW; + +/* Open the mount point FILENAME in directory DFD using FLAGS. */ +extern int open_tree (int __dfd, const char *__filename, unsigned int __flags) + __THROW; + +/* Change the mount properties of the mount or an entire mount tree. If + PATH is a relative pathname, then it is interpreted relative to the + directory referred to by the file descriptor dirfd. Otherwise if DFD is + the special value AT_FDCWD then PATH is interpreted relative to the current + working directory of the calling process. */ +extern int mount_setattr (int __dfd, const char *__path, unsigned int __flags, + struct mount_attr *__uattr, size_t __usize) + __THROW; + +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 */ + +__END_DECLS + +#endif /* _SYS_MOUNT_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/msg.h new file mode 100644 index 00000000..8c86c14c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/msg.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +#define _SYS_MSG_H + +#include + +#define __need_size_t +#include + +/* Get common definition of System V style IPC. */ +#include + +/* Get system dependent definition of `struct msqid_ds' and more. */ +#include + +/* Define types required by the standard. */ +#include + +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + +/* The following System V style IPC functions implement a message queue + system. The definition is found in XPG2. */ + +#ifdef __USE_GNU +/* Template for struct to be used as argument for `msgsnd' and `msgrcv'. */ +struct msgbuf + { + __syscall_slong_t mtype; /* type of received/sent message */ + char mtext[1]; /* text of the message */ + }; +#endif + + +__BEGIN_DECLS + +/* Message queue control operation. */ +#ifndef __USE_TIME64_REDIRECTS +extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) __THROW; +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (msgctl, + (int __msqid, int __cmd, struct msqid_ds *__buf), + __msgctl64); +# else +# define msgctl __msgctl64 +# endif +#endif + +/* Get messages queue. */ +extern int msgget (key_t __key, int __msgflg) __THROW; + +/* Receive message from message queue. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz, + long int __msgtyp, int __msgflg); + +/* Send message to message queue. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int msgsnd (int __msqid, const void *__msgp, size_t __msgsz, + int __msgflg); + +__END_DECLS + +#endif /* sys/msg.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mtio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mtio.h new file mode 100644 index 00000000..7c53ec28 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/mtio.h @@ -0,0 +1,275 @@ +/* Structures and definitions for magnetic tape I/O control commands. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + + +#ifndef _SYS_MTIO_H +#define _SYS_MTIO_H 1 + +/* Get necessary definitions from system and kernel headers. */ +#include +#include + + +/* Structure for MTIOCTOP - magnetic tape operation command. */ +struct mtop + { + short int mt_op; /* Operations defined below. */ + int mt_count; /* How many of them. */ + }; +#define _IOT_mtop /* Hurd ioctl type field. */ \ + _IOT (_IOTS (short), 1, _IOTS (int), 1, 0, 0) + +/* Magnetic Tape operations [Not all operations supported by all drivers]. */ +#define MTRESET 0 /* +reset drive in case of problems. */ +#define MTFSF 1 /* Forward space over FileMark, + * position at first record of next file. */ +#define MTBSF 2 /* Backward space FileMark (position before FM). */ +#define MTFSR 3 /* Forward space record. */ +#define MTBSR 4 /* Backward space record. */ +#define MTWEOF 5 /* Write an end-of-file record (mark). */ +#define MTREW 6 /* Rewind. */ +#define MTOFFL 7 /* Rewind and put the drive offline (eject?). */ +#define MTNOP 8 /* No op, set status only (read with MTIOCGET). */ +#define MTRETEN 9 /* Retension tape. */ +#define MTBSFM 10 /* +backward space FileMark, position at FM. */ +#define MTFSFM 11 /* +forward space FileMark, position at FM. */ +#define MTEOM 12 /* Goto end of recorded media (for appending files). + MTEOM positions after the last FM, ready for + appending another file. */ +#define MTERASE 13 /* Erase tape -- be careful! */ + +#define MTRAS1 14 /* Run self test 1 (nondestructive). */ +#define MTRAS2 15 /* Run self test 2 (destructive). */ +#define MTRAS3 16 /* Reserved for self test 3. */ + +#define MTSETBLK 20 /* Set block length (SCSI). */ +#define MTSETDENSITY 21 /* Set tape density (SCSI). */ +#define MTSEEK 22 /* Seek to block (Tandberg, etc.). */ +#define MTTELL 23 /* Tell block (Tandberg, etc.). */ +#define MTSETDRVBUFFER 24 /* Set the drive buffering according to SCSI-2. + Ordinary buffered operation with code 1. */ +#define MTFSS 25 /* Space forward over setmarks. */ +#define MTBSS 26 /* Space backward over setmarks. */ +#define MTWSM 27 /* Write setmarks. */ + +#define MTLOCK 28 /* Lock the drive door. */ +#define MTUNLOCK 29 /* Unlock the drive door. */ +#define MTLOAD 30 /* Execute the SCSI load command. */ +#define MTUNLOAD 31 /* Execute the SCSI unload command. */ +#define MTCOMPRESSION 32/* Control compression with SCSI mode page 15. */ +#define MTSETPART 33 /* Change the active tape partition. */ +#define MTMKPART 34 /* Format the tape with one or two partitions. */ + +/* structure for MTIOCGET - mag tape get status command */ + +struct mtget + { + long int mt_type; /* Type of magtape device. */ + long int mt_resid; /* Residual count: (not sure) + number of bytes ignored, or + number of files not skipped, or + number of records not skipped. */ + /* The following registers are device dependent. */ + long int mt_dsreg; /* Status register. */ + long int mt_gstat; /* Generic (device independent) status. */ + long int mt_erreg; /* Error register. */ + /* The next two fields are not always used. */ + __daddr_t mt_fileno; /* Number of current file on tape. */ + __daddr_t mt_blkno; /* Current block number. */ + }; +#define _IOT_mtget /* Hurd ioctl type field. */ \ + _IOT (_IOTS (long), 7, 0, 0, 0, 0) + + +/* Constants for mt_type. Not all of these are supported, and + these are not all of the ones that are supported. */ +#define MT_ISUNKNOWN 0x01 +#define MT_ISQIC02 0x02 /* Generic QIC-02 tape streamer. */ +#define MT_ISWT5150 0x03 /* Wangtek 5150EQ, QIC-150, QIC-02. */ +#define MT_ISARCHIVE_5945L2 0x04 /* Archive 5945L-2, QIC-24, QIC-02?. */ +#define MT_ISCMSJ500 0x05 /* CMS Jumbo 500 (QIC-02?). */ +#define MT_ISTDC3610 0x06 /* Tandberg 6310, QIC-24. */ +#define MT_ISARCHIVE_VP60I 0x07 /* Archive VP60i, QIC-02. */ +#define MT_ISARCHIVE_2150L 0x08 /* Archive Viper 2150L. */ +#define MT_ISARCHIVE_2060L 0x09 /* Archive Viper 2060L. */ +#define MT_ISARCHIVESC499 0x0A /* Archive SC-499 QIC-36 controller. */ +#define MT_ISQIC02_ALL_FEATURES 0x0F /* Generic QIC-02 with all features. */ +#define MT_ISWT5099EEN24 0x11 /* Wangtek 5099-een24, 60MB, QIC-24. */ +#define MT_ISTEAC_MT2ST 0x12 /* Teac MT-2ST 155mb drive, + Teac DC-1 card (Wangtek type). */ +#define MT_ISEVEREX_FT40A 0x32 /* Everex FT40A (QIC-40). */ +#define MT_ISDDS1 0x51 /* DDS device without partitions. */ +#define MT_ISDDS2 0x52 /* DDS device with partitions. */ +#define MT_ISSCSI1 0x71 /* Generic ANSI SCSI-1 tape unit. */ +#define MT_ISSCSI2 0x72 /* Generic ANSI SCSI-2 tape unit. */ + +/* QIC-40/80/3010/3020 ftape supported drives. + 20bit vendor ID + 0x800000 (see vendors.h in ftape distribution). */ +#define MT_ISFTAPE_UNKNOWN 0x800000 /* obsolete */ +#define MT_ISFTAPE_FLAG 0x800000 + +struct mt_tape_info + { + long int t_type; /* Device type id (mt_type). */ + char *t_name; /* Descriptive name. */ + }; + +#define MT_TAPE_INFO \ + { \ + {MT_ISUNKNOWN, "Unknown type of tape device"}, \ + {MT_ISQIC02, "Generic QIC-02 tape streamer"}, \ + {MT_ISWT5150, "Wangtek 5150, QIC-150"}, \ + {MT_ISARCHIVE_5945L2, "Archive 5945L-2"}, \ + {MT_ISCMSJ500, "CMS Jumbo 500"}, \ + {MT_ISTDC3610, "Tandberg TDC 3610, QIC-24"}, \ + {MT_ISARCHIVE_VP60I, "Archive VP60i, QIC-02"}, \ + {MT_ISARCHIVE_2150L, "Archive Viper 2150L"}, \ + {MT_ISARCHIVE_2060L, "Archive Viper 2060L"}, \ + {MT_ISARCHIVESC499, "Archive SC-499 QIC-36 controller"}, \ + {MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \ + {MT_ISWT5099EEN24, "Wangtek 5099-een24, 60MB"}, \ + {MT_ISTEAC_MT2ST, "Teac MT-2ST 155mb data cassette drive"}, \ + {MT_ISEVEREX_FT40A, "Everex FT40A, QIC-40"}, \ + {MT_ISSCSI1, "Generic SCSI-1 tape"}, \ + {MT_ISSCSI2, "Generic SCSI-2 tape"}, \ + {0, NULL} \ + } + + +/* Structure for MTIOCPOS - mag tape get position command. */ + +struct mtpos + { + long int mt_blkno; /* Current block number. */ + }; +#define _IOT_mtpos /* Hurd ioctl type field. */ \ + _IOT_SIMPLE (long) + + +/* Structure for MTIOCGETCONFIG/MTIOCSETCONFIG primarily intended + as an interim solution for QIC-02 until DDI is fully implemented. */ +struct mtconfiginfo + { + long int mt_type; /* Drive type. */ + long int ifc_type; /* Interface card type. */ + unsigned short int irqnr; /* IRQ number to use. */ + unsigned short int dmanr; /* DMA channel to use. */ + unsigned short int port; /* IO port base address. */ + + unsigned long int debug; /* Debugging flags. */ + + unsigned have_dens:1; + unsigned have_bsf:1; + unsigned have_fsr:1; + unsigned have_bsr:1; + unsigned have_eod:1; + unsigned have_seek:1; + unsigned have_tell:1; + unsigned have_ras1:1; + unsigned have_ras2:1; + unsigned have_ras3:1; + unsigned have_qfa:1; + + unsigned pad1:5; + char reserved[10]; + }; +#define _IOT_mtconfiginfo /* Hurd ioctl type field. */ \ + _IOT (_IOTS (long), 2, _IOTS (short), 3, _IOTS (long), 1) /* XXX wrong */ + + +/* Magnetic tape I/O control commands. */ +#define MTIOCTOP _IOW('m', 1, struct mtop) /* Do a mag tape op. */ +#define MTIOCGET _IOR('m', 2, struct mtget) /* Get tape status. */ +#define MTIOCPOS _IOR('m', 3, struct mtpos) /* Get tape position.*/ + +/* The next two are used by the QIC-02 driver for runtime reconfiguration. + See tpqic02.h for struct mtconfiginfo. */ +#define MTIOCGETCONFIG _IOR('m', 4, struct mtconfiginfo) /* Get tape config.*/ +#define MTIOCSETCONFIG _IOW('m', 5, struct mtconfiginfo) /* Set tape config.*/ + +/* Generic Mag Tape (device independent) status macros for examining + mt_gstat -- HP-UX compatible. + There is room for more generic status bits here, but I don't + know which of them are reserved. At least three or so should + be added to make this really useful. */ +#define GMT_EOF(x) ((x) & 0x80000000) +#define GMT_BOT(x) ((x) & 0x40000000) +#define GMT_EOT(x) ((x) & 0x20000000) +#define GMT_SM(x) ((x) & 0x10000000) /* DDS setmark */ +#define GMT_EOD(x) ((x) & 0x08000000) /* DDS EOD */ +#define GMT_WR_PROT(x) ((x) & 0x04000000) +/* #define GMT_ ? ((x) & 0x02000000) */ +#define GMT_ONLINE(x) ((x) & 0x01000000) +#define GMT_D_6250(x) ((x) & 0x00800000) +#define GMT_D_1600(x) ((x) & 0x00400000) +#define GMT_D_800(x) ((x) & 0x00200000) +/* #define GMT_ ? ((x) & 0x00100000) */ +/* #define GMT_ ? ((x) & 0x00080000) */ +#define GMT_DR_OPEN(x) ((x) & 0x00040000) /* Door open (no tape). */ +/* #define GMT_ ? ((x) & 0x00020000) */ +#define GMT_IM_REP_EN(x) ((x) & 0x00010000) /* Immediate report mode.*/ +/* 16 generic status bits unused. */ + + +/* SCSI-tape specific definitions. Bitfield shifts in the status */ +#define MT_ST_BLKSIZE_SHIFT 0 +#define MT_ST_BLKSIZE_MASK 0xffffff +#define MT_ST_DENSITY_SHIFT 24 +#define MT_ST_DENSITY_MASK 0xff000000 + +#define MT_ST_SOFTERR_SHIFT 0 +#define MT_ST_SOFTERR_MASK 0xffff + +/* Bitfields for the MTSETDRVBUFFER ioctl. */ +#define MT_ST_OPTIONS 0xf0000000 +#define MT_ST_BOOLEANS 0x10000000 +#define MT_ST_SETBOOLEANS 0x30000000 +#define MT_ST_CLEARBOOLEANS 0x40000000 +#define MT_ST_WRITE_THRESHOLD 0x20000000 +#define MT_ST_DEF_BLKSIZE 0x50000000 +#define MT_ST_DEF_OPTIONS 0x60000000 + +#define MT_ST_BUFFER_WRITES 0x1 +#define MT_ST_ASYNC_WRITES 0x2 +#define MT_ST_READ_AHEAD 0x4 +#define MT_ST_DEBUGGING 0x8 +#define MT_ST_TWO_FM 0x10 +#define MT_ST_FAST_MTEOM 0x20 +#define MT_ST_AUTO_LOCK 0x40 +#define MT_ST_DEF_WRITES 0x80 +#define MT_ST_CAN_BSR 0x100 +#define MT_ST_NO_BLKLIMS 0x200 +#define MT_ST_CAN_PARTITIONS 0x400 +#define MT_ST_SCSI2LOGICAL 0x800 + +/* The mode parameters to be controlled. Parameter chosen with bits 20-28. */ +#define MT_ST_CLEAR_DEFAULT 0xfffff +#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000) +#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000) +#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000) + +/* The offset for the arguments for the special HP changer load command. */ +#define MT_ST_HPLOADER_OFFSET 10000 + + +/* Specify default tape device. */ +#ifndef DEFTAPE +# define DEFTAPE "/dev/tape" +#endif + +#endif /* mtio.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/param.h new file mode 100644 index 00000000..e66c19ea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/param.h @@ -0,0 +1,106 @@ +/* Compatibility header for old-style Unix parameters and limits. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PARAM_H +#define _SYS_PARAM_H 1 + +#define __need_NULL +#include + +#include +#include +#include /* Define BYTE_ORDER et al. */ +#include /* Define NSIG. */ + +/* This file defines some things in system-specific ways. */ +#include + + +/* BSD names for some values. */ + +#define NBBY CHAR_BIT + +#if !defined NGROUPS && defined NGROUPS_MAX +# define NGROUPS NGROUPS_MAX +#endif +#if !defined MAXSYMLINKS && defined SYMLOOP_MAX +# define MAXSYMLINKS SYMLOOP_MAX +#endif +#if !defined CANBSIZ && defined MAX_CANON +# define CANBSIZ MAX_CANON +#endif +#if !defined MAXPATHLEN && defined PATH_MAX +# define MAXPATHLEN PATH_MAX +#endif +#if !defined NOFILE && defined OPEN_MAX +# define NOFILE OPEN_MAX +#endif +#if !defined MAXHOSTNAMELEN && defined HOST_NAME_MAX +# define MAXHOSTNAMELEN HOST_NAME_MAX +#endif +#ifndef NCARGS +# ifdef ARG_MAX +# define NCARGS ARG_MAX +# else +/* ARG_MAX is unlimited, but we define NCARGS for BSD programs that want to + compare against some fixed limit. */ +# define NCARGS INT_MAX +# endif +#endif + + +/* Magical constants. */ +#ifndef NOGROUP +# define NOGROUP 65535 /* Marker for empty group set member. */ +#endif +#ifndef NODEV +# define NODEV ((dev_t) -1) /* Non-existent device. */ +#endif + + +/* Unit of `st_blocks'. */ +#ifndef DEV_BSIZE +# define DEV_BSIZE 512 +#endif + + +/* Bit map related macros. */ +#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) +#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) +#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) +#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) + +/* Macros for counting and rounding. */ +#ifndef howmany +# define howmany(x, y) (((x) + ((y) - 1)) / (y)) +#endif +#ifdef __GNUC__ +# define roundup(x, y) (__builtin_constant_p (y) && powerof2 (y) \ + ? (((x) + (y) - 1) & ~((y) - 1)) \ + : ((((x) + ((y) - 1)) / (y)) * (y))) +#else +# define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) +#endif +#define powerof2(x) ((((x) - 1) & (x)) == 0) + +/* Macros for min/max. */ +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + + +#endif /* sys/param.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pci.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pci.h new file mode 100644 index 00000000..ec6b7ce7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pci.h @@ -0,0 +1,24 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PCI_H +#define _SYS_PCI_H 1 + +/* We use the constants from the kernel. */ +#include + +#endif /* sys/pci.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/perm.h new file mode 100644 index 00000000..5a95dce3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/perm.h @@ -0,0 +1,35 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PERM_H + +#define _SYS_PERM_H 1 +#include + +__BEGIN_DECLS + +/* Set port input/output permissions. */ +extern int ioperm (unsigned long int __from, unsigned long int __num, + int __turn_on) __THROW; + + +/* Change I/O privilege level. */ +extern int iopl (int __level) __THROW; + +__END_DECLS + +#endif /* _SYS_PERM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/personality.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/personality.h new file mode 100644 index 00000000..500950aa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/personality.h @@ -0,0 +1,80 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Taken verbatim from Linux 2.6 (include/linux/personality.h). */ + +#ifndef _SYS_PERSONALITY_H +#define _SYS_PERSONALITY_H 1 + +#include + +/* Flags for bug emulation. + These occupy the top three bytes. */ +enum + { + UNAME26 = 0x0020000, + ADDR_NO_RANDOMIZE = 0x0040000, + FDPIC_FUNCPTRS = 0x0080000, + MMAP_PAGE_ZERO = 0x0100000, + ADDR_COMPAT_LAYOUT = 0x0200000, + READ_IMPLIES_EXEC = 0x0400000, + ADDR_LIMIT_32BIT = 0x0800000, + SHORT_INODE = 0x1000000, + WHOLE_SECONDS = 0x2000000, + STICKY_TIMEOUTS = 0x4000000, + ADDR_LIMIT_3GB = 0x8000000 + }; + +/* Personality types. + + These go in the low byte. Avoid using the top bit, it will + conflict with error returns. */ +enum + { + PER_LINUX = 0x0000, + PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, + PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS, + PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, + PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE, + PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE, + PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS, + PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE, + PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS, + PER_BSD = 0x0006, + PER_SUNOS = 0x0006 | STICKY_TIMEOUTS, + PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE, + PER_LINUX32 = 0x0008, + PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB, + PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS, /* IRIX5 32-bit */ + PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS, /* IRIX6 new 32-bit */ + PER_IRIX64 = 0x000b | STICKY_TIMEOUTS, /* IRIX6 64-bit */ + PER_RISCOS = 0x000c, + PER_SOLARIS = 0x000d | STICKY_TIMEOUTS, + PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO, + PER_OSF4 = 0x000f, + PER_HPUX = 0x0010, + PER_MASK = 0x00ff, + }; + +__BEGIN_DECLS + +/* Set different ABIs (personalities). */ +extern int personality (unsigned long int __persona) __THROW; + +__END_DECLS + +#endif /* sys/personality.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pidfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pidfd.h new file mode 100644 index 00000000..406bf2f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/pidfd.h @@ -0,0 +1,76 @@ +/* Wrapper for file descriptors that refers to a process functions. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PIDFD_H + +#include +#include +#include + +// zig patch: check target glibc version +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 + +#define PIDFD_NONBLOCK O_NONBLOCK +#define PIDFD_THREAD O_EXCL + +#define PIDFD_SIGNAL_THREAD (1UL << 0) +#define PIDFD_SIGNAL_THREAD_GROUP (1UL << 1) +#define PIDFD_SIGNAL_PROCESS_GROUP (1UL << 2) + +#define PIDFS_IOCTL_MAGIC 0xFF + +#define PIDFD_GET_CGROUP_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 1) +#define PIDFD_GET_IPC_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 2) +#define PIDFD_GET_MNT_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 3) +#define PIDFD_GET_NET_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 4) +#define PIDFD_GET_PID_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 5) +#define PIDFD_GET_PID_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 6) +#define PIDFD_GET_TIME_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 7) +#define PIDFD_GET_TIME_FOR_CHILDREN_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 8) +#define PIDFD_GET_USER_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 9) +#define PIDFD_GET_UTS_NAMESPACE _IO(PIDFS_IOCTL_MAGIC, 10) + +/* Returns a file descriptor that refers to the process PID. The + close-on-exec is set on the file descriptor. */ +extern int pidfd_open (__pid_t __pid, unsigned int __flags) __THROW; + +/* Duplicates an existing file descriptor TARGETFD in the process referred + by the PIDFD file descriptor PIDFD. + + The FLAGS argument is reserved for future use, it must be specified + as 0. */ +extern int pidfd_getfd (int __pidfd, int __targetfd, + unsigned int __flags) __THROW; + +/* Sends the signal SIG to the target process referred by the PIDFD. If + INFO points to a siginfo_t buffer, it will be populated. */ +extern int pidfd_send_signal (int __pidfd, int __sig, siginfo_t *__info, + unsigned int __flags) __THROW; + +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 */ + +// zig patch: check target glibc version +#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 39) || __GLIBC__ > 2 + +/* Query the process ID (PID) from process descriptor FD. Return the PID + or -1 in case of an error. */ +extern pid_t pidfd_getpid (int __fd) __THROW; + +#endif /* (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 36) || __GLIBC__ > 2 */ + +#endif /* _PIDFD_H */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/ppc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/ppc.h new file mode 100644 index 00000000..9a4dbd6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/ppc.h @@ -0,0 +1,146 @@ +/* Facilities specific to the PowerPC architecture + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PLATFORM_PPC_H +#define _SYS_PLATFORM_PPC_H 1 + +#include +#include +#include + +/* Read the Time Base Register. */ +static __inline__ uint64_t +__ppc_get_timebase (void) +{ +#if __GNUC_PREREQ (4, 8) + return __builtin_ppc_get_timebase (); +#else +# ifdef __powerpc64__ + uint64_t __tb; + /* "volatile" is necessary here, because the user expects this assembly + isn't moved after an optimization. */ + __asm__ volatile ("mfspr %0, 268" : "=r" (__tb)); + return __tb; +# else /* not __powerpc64__ */ + uint32_t __tbu, __tbl, __tmp; \ + __asm__ volatile ("0:\n\t" + "mftbu %0\n\t" + "mftbl %1\n\t" + "mftbu %2\n\t" + "cmpw %0, %2\n\t" + "bne- 0b" + : "=r" (__tbu), "=r" (__tbl), "=r" (__tmp)); + return (((uint64_t) __tbu << 32) | __tbl); +# endif /* not __powerpc64__ */ +#endif +} + +/* The following functions provide hints about the usage of shared processor + resources, as defined in ISA 2.06 and newer. */ + +/* Provides a hint that performance will probably be improved if shared + resources dedicated to the executing processor are released for use by other + processors. */ +static __inline__ void +__ppc_yield (void) +{ + __asm__ volatile ("or 27,27,27"); +} + +/* Provides a hint that performance will probably be improved if shared + resources dedicated to the executing processor are released until + all outstanding storage accesses to caching-inhibited storage have been + completed. */ +static __inline__ void +__ppc_mdoio (void) +{ + __asm__ volatile ("or 29,29,29"); +} + +/* Provides a hint that performance will probably be improved if shared + resources dedicated to the executing processor are released until all + outstanding storage accesses to cacheable storage for which the data is not + in the cache have been completed. */ +static __inline__ void +__ppc_mdoom (void) +{ + __asm__ volatile ("or 30,30,30"); +} + + +/* ISA 2.05 and beyond support the Program Priority Register (PPR) to adjust + thread priorities based on lock acquisition, wait and release. The ISA + defines the use of form 'or Rx,Rx,Rx' as the way to modify the PRI field. + The unprivileged priorities are: + Rx = 1 (low) + Rx = 2 (medium) + Rx = 6 (medium-low/normal) + The 'or' instruction form is a nop in previous hardware, so it is safe to + use unguarded. The default value is 'medium'. + */ + +static __inline__ void +__ppc_set_ppr_med (void) +{ + __asm__ volatile ("or 2,2,2"); +} + +static __inline__ void +__ppc_set_ppr_med_low (void) +{ + __asm__ volatile ("or 6,6,6"); +} + +static __inline__ void +__ppc_set_ppr_low (void) +{ + __asm__ volatile ("or 1,1,1"); +} + +/* Power ISA 2.07 (Book II, Chapter 3) extends the priorities that can be set + to the Program Priority Register (PPR). The form 'or Rx,Rx,Rx' is used to + modify the PRI field of the PPR, the same way as described above. + The new priority levels are: + Rx = 31 (very low) + Rx = 5 (medium high) + Any program can set the priority to very low, low, medium low, and medium, + as these are unprivileged. + The medium high priority, on the other hand, is privileged, and may only be + set during certain time intervals by problem-state programs. If the program + priority is medium high when the time interval expires or if an attempt is + made to set the priority to medium high when it is not allowed, the PRI + field is set to medium. + */ + +#ifdef _ARCH_PWR8 + +static __inline__ void +__ppc_set_ppr_very_low (void) +{ + __asm__ volatile ("or 31,31,31"); +} + +static __inline__ void +__ppc_set_ppr_med_high (void) +{ + __asm__ volatile ("or 5,5,5"); +} + +#endif + +#endif /* sys/platform/ppc.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/x86.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/x86.h new file mode 100644 index 00000000..40c91f37 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/platform/x86.h @@ -0,0 +1,69 @@ +/* Data structure for x86 CPU features. + This file is part of the GNU C Library. + Copyright (C) 2008-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PLATFORM_X86_H +#define _SYS_PLATFORM_X86_H + +#include +#include +#include +#include + +__BEGIN_DECLS + +/* Get a pointer to the CPU feature structure. */ +extern const struct cpuid_feature *__x86_get_cpuid_feature_leaf (unsigned int) + __attribute__ ((pure)); + +static __inline__ bool +x86_cpu_present (unsigned int __index) +{ + const struct cpuid_feature *__ptr = __x86_get_cpuid_feature_leaf + (__index / (8 * sizeof (unsigned int) * 4)); + unsigned int __reg + = __index & (8 * sizeof (unsigned int) * 4 - 1); + unsigned int __bit = __reg & (8 * sizeof (unsigned int) - 1); + __reg /= 8 * sizeof (unsigned int); + + return __ptr->cpuid_array[__reg] & (1 << __bit); +} + +static __inline__ bool +x86_cpu_active (unsigned int __index) +{ + if (__index == x86_cpu_IBT || __index == x86_cpu_SHSTK) + return x86_cpu_cet_active (__index); + + const struct cpuid_feature *__ptr = __x86_get_cpuid_feature_leaf + (__index / (8 * sizeof (unsigned int) * 4)); + unsigned int __reg + = __index & (8 * sizeof (unsigned int) * 4 - 1); + unsigned int __bit = __reg & (8 * sizeof (unsigned int) - 1); + __reg /= 8 * sizeof (unsigned int); + + return __ptr->active_array[__reg] & (1 << __bit); +} + +/* CPU_FEATURE_PRESENT evaluates to true if CPU supports the feature. */ +#define CPU_FEATURE_PRESENT(name) x86_cpu_present (x86_cpu_##name) +/* CPU_FEATURE_ACTIVE evaluates to true if the feature is active. */ +#define CPU_FEATURE_ACTIVE(name) x86_cpu_active (x86_cpu_##name) + +__END_DECLS + +#endif /* _SYS_PLATFORM_X86_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/poll.h new file mode 100644 index 00000000..7c4a6cae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/poll.h @@ -0,0 +1,90 @@ +/* Compatibility definitions for System V `poll' interface. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +#define _SYS_POLL_H 1 + +#include + +/* Get the platform dependent bits of `poll'. */ +#include +#ifdef __USE_GNU +# include +# include +#endif + + +/* Type used for the number of file descriptors. */ +typedef unsigned long int nfds_t; + +/* Data structure describing a polling request. */ +struct pollfd + { + int fd; /* File descriptor to poll. */ + short int events; /* Types of events poller cares about. */ + short int revents; /* Types of events that actually occurred. */ + }; + + +__BEGIN_DECLS + +/* Poll the file descriptors described by the NFDS structures starting at + FDS. If TIMEOUT is nonzero and not -1, allow TIMEOUT milliseconds for + an event to occur; if TIMEOUT is -1, block until an event occurs. + Returns the number of file descriptors with events, zero if timed out, + or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) + __fortified_attr_access (__write_only__, 1, 2); + +#ifdef __USE_GNU +/* Like poll, but before waiting the threads signal mask is replaced + with that specified in the fourth parameter. For better usability, + the timeout value is specified using a TIMESPEC object. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int ppoll (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss) + __fortified_attr_access (__write_only__, 1, 2); + +# ifdef __USE_TIME64_REDIRECTS +# ifdef __REDIRECT +extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds, + const struct timespec *__timeout, + const __sigset_t *__ss), + __ppoll64) + __fortified_attr_access (__write_only__, 1, 2); +# else +# define ppoll __ppoll64 +# endif +# endif +#endif + +__END_DECLS + + +/* Define some inlines helping to catch common problems. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +#endif /* sys/poll.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/prctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/prctl.h new file mode 100644 index 00000000..7b9871fa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/prctl.h @@ -0,0 +1,55 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PRCTL_H +#define _SYS_PRCTL_H 1 + +#include +#include /* The magic values come from here */ + +/* Recent extensions to linux which may post-date the kernel headers + we're picking up... */ + +/* Memory tagging control operations (for AArch64). */ +#ifndef PR_MTE_TCF_SHIFT +# define PR_MTE_TCF_SHIFT 1 +# define PR_MTE_TCF_NONE (0UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_SYNC (1UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_ASYNC (2UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TCF_MASK (3UL << PR_MTE_TCF_SHIFT) +# define PR_MTE_TAG_SHIFT 3 +# define PR_MTE_TAG_MASK (0xffffUL << PR_MTE_TAG_SHIFT) +#endif + +__BEGIN_DECLS + +/* Control process execution. */ +#ifndef __USE_TIME64_REDIRECTS +extern int prctl (int __option, ...) __THROW; +#else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (prctl, (int __option, ...), __prctl_time64); +# else +extern int __prctl_time64 (int __option,d ...) __THROW; +# define ioctl __prctl_time64 +# endif +#endif + + +__END_DECLS + +#endif /* sys/prctl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/procfs.h new file mode 100644 index 00000000..03b03eb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/procfs.h @@ -0,0 +1,126 @@ +/* Definitions for core files and libthread_db. Generic Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +#define _SYS_PROCFS_H 1 + +/* This is somewhat modelled after the file of the same name on SVR4 + systems. It provides a definition of the core file format for ELF + used on Linux. It doesn't have anything to do with the /proc file + system, even though Linux has one. + + Anyway, the whole purpose of this file is for GDB and GDB only. + Don't read too much into it. Don't use it for anything other than + GDB unless you know what you are doing. */ + +#include +#include +#include +#include + +/* bits/procfs.h, provided by each architecture, must define + elf_gregset_t, elf_fpregset_t and any other architecture-specific + types needed. */ +#include + +/* bits/procfs-id.h must define __pr_uid_t and __pr_gid_t, the types + of pr_uid and pr_gid. */ +#include + +__BEGIN_DECLS + +/* Signal info. */ +struct elf_siginfo + { + int si_signo; /* Signal number. */ + int si_code; /* Extra code. */ + int si_errno; /* Errno. */ + }; + +/* Definitions to generate Intel SVR4-like core files. These mostly + have the same names as the SVR4 types with "elf_" tacked on the + front to prevent clashes with Linux definitions, and the typedef + forms have been avoided. This is mostly like the SVR4 structure, + but more Linuxy, with things that Linux does not support and which + GDB doesn't really use excluded. */ + +struct elf_prstatus + { + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned long int pr_sigpend; /* Set of pending signals. */ + unsigned long int pr_sighold; /* Set of held signals. */ + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct timeval pr_utime; /* User time. */ + struct timeval pr_stime; /* System time. */ + struct timeval pr_cutime; /* Cumulative user time. */ + struct timeval pr_cstime; /* Cumulative system time. */ + elf_gregset_t pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + + +#define ELF_PRARGSZ (80) /* Number of chars for args. */ + +struct elf_prpsinfo + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned long int pr_flag; /* Flags. */ + __pr_uid_t pr_uid; + __pr_gid_t pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +/* The rest of this file provides the types for emulation of the + Solaris interfaces that should be implemented by + users of libthread_db. */ + +/* Addresses. */ +typedef void *psaddr_t; + +#include + +/* Register sets. Linux has different names. */ +typedef __prgregset_t prgregset_t; +typedef __prfpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore have only one PID type. */ +typedef __pid_t lwpid_t; + +/* Process status and info. In the end we do provide typedefs for them. */ +typedef struct elf_prstatus prstatus_t; +typedef struct elf_prpsinfo prpsinfo_t; + +__END_DECLS + +/* On some architectures, provide other-ABI variants of the above + types. */ +#include + +#endif /* sys/procfs.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/profil.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/profil.h new file mode 100644 index 00000000..aa624326 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/profil.h @@ -0,0 +1,60 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _PROFIL_H +#define _PROFIL_H 1 + +#include + +#include +#include + +/* This interface is intended to follow the sprofil() system calls as + described by the sprofil(2) man page of Irix v6.5, except that: + + - there is no a priori limit on number of text sections + - pr_scale is declared as unsigned long (instead of "unsigned int") + - pr_size is declared as size_t (instead of "unsigned int") + - pr_off is declared as void * (instead of "__psunsigned_t") + - the overflow bin (pr_base==0, pr_scale==2) can appear anywhere + in the profp array + - PROF_FAST has no effect */ + +struct prof + { + void *pr_base; /* buffer base */ + size_t pr_size; /* buffer size */ + size_t pr_off; /* pc offset */ + unsigned long int pr_scale; /* pc scaling (fixed-point number) */ + }; + +enum + { + PROF_USHORT = 0, /* use 16-bit counters (default) */ + PROF_UINT = 1 << 0, /* use 32-bit counters */ + PROF_FAST = 1 << 1 /* profile faster than usual */ + }; + + +__BEGIN_DECLS + +extern int sprofil (struct prof *__profp, int __profcnt, + struct timeval *__tvp, unsigned int __flags) __THROW; + +__END_DECLS + +#endif /* profil.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ptrace.h new file mode 100644 index 00000000..6a8779c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ptrace.h @@ -0,0 +1,196 @@ +/* `ptrace' debugger support interface. Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get all extended floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPXREGS = 18, +#define PT_GETFPXREGS PTRACE_GETFPXREGS + + /* Set all extended floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPXREGS = 19, +#define PT_SETFPXREGS PTRACE_SETFPXREGS + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/queue.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/queue.h new file mode 100644 index 00000000..5661c71d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/queue.h @@ -0,0 +1,574 @@ +/* + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)queue.h 8.5 (Berkeley) 8/20/94 + */ + +#ifndef _SYS_QUEUE_H_ +#define _SYS_QUEUE_H_ + +/* + * This file defines five types of data structures: singly-linked lists, + * lists, simple queues, tail queues, and circular queues. + * + * A singly-linked list is headed by a single forward pointer. The + * elements are singly linked for minimum space and pointer manipulation + * overhead at the expense of O(n) removal for arbitrary elements. New + * elements can be added to the list after an existing element or at the + * head of the list. Elements being removed from the head of the list + * should use the explicit macro for this purpose for optimum + * efficiency. A singly-linked list may only be traversed in the forward + * direction. Singly-linked lists are ideal for applications with large + * datasets and few or no removals or for implementing a LIFO queue. + * + * A list is headed by a single forward pointer (or an array of forward + * pointers for a hash table header). The elements are doubly linked + * so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before + * or after an existing element or at the head of the list. A list + * may only be traversed in the forward direction. + * + * A simple queue is headed by a pair of pointers, one the head of the + * list and the other to the tail of the list. The elements are singly + * linked to save space, so elements can only be removed from the + * head of the list. New elements can be added to the list after + * an existing element, at the head of the list, or at the end of the + * list. A simple queue may only be traversed in the forward direction. + * + * A tail queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or + * after an existing element, at the head of the list, or at the end of + * the list. A tail queue may be traversed in either direction. + * + * A circle queue is headed by a pair of pointers, one to the head of the + * list and the other to the tail of the list. The elements are doubly + * linked so that an arbitrary element can be removed without a need to + * traverse the list. New elements can be added to the list before or after + * an existing element, at the head of the list, or at the end of the list. + * A circle queue may be traversed in either direction, but has a more + * complex end of list detection. + * + * For details on the use of these macros, see the queue(3) manual page. + */ + +/* + * List definitions. + */ +#define LIST_HEAD(name, type) \ +struct name { \ + struct type *lh_first; /* first element */ \ +} + +#define LIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define LIST_ENTRY(type) \ +struct { \ + struct type *le_next; /* next element */ \ + struct type **le_prev; /* address of previous next element */ \ +} + +/* + * List functions. + */ +#define LIST_INIT(head) do { \ + (head)->lh_first = NULL; \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_AFTER(listelm, elm, field) do { \ + if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \ + (listelm)->field.le_next->field.le_prev = \ + &(elm)->field.le_next; \ + (listelm)->field.le_next = (elm); \ + (elm)->field.le_prev = &(listelm)->field.le_next; \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_BEFORE(listelm, elm, field) do { \ + (elm)->field.le_prev = (listelm)->field.le_prev; \ + (elm)->field.le_next = (listelm); \ + *(listelm)->field.le_prev = (elm); \ + (listelm)->field.le_prev = &(elm)->field.le_next; \ +} while (/*CONSTCOND*/0) + +#define LIST_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.le_next = (head)->lh_first) != NULL) \ + (head)->lh_first->field.le_prev = &(elm)->field.le_next;\ + (head)->lh_first = (elm); \ + (elm)->field.le_prev = &(head)->lh_first; \ +} while (/*CONSTCOND*/0) + +#define LIST_REMOVE(elm, field) do { \ + if ((elm)->field.le_next != NULL) \ + (elm)->field.le_next->field.le_prev = \ + (elm)->field.le_prev; \ + *(elm)->field.le_prev = (elm)->field.le_next; \ +} while (/*CONSTCOND*/0) + +#define LIST_FOREACH(var, head, field) \ + for ((var) = ((head)->lh_first); \ + (var); \ + (var) = ((var)->field.le_next)) + +/* + * List access methods. + */ +#define LIST_EMPTY(head) ((head)->lh_first == NULL) +#define LIST_FIRST(head) ((head)->lh_first) +#define LIST_NEXT(elm, field) ((elm)->field.le_next) + + +/* + * Singly-linked List definitions. + */ +#define SLIST_HEAD(name, type) \ +struct name { \ + struct type *slh_first; /* first element */ \ +} + +#define SLIST_HEAD_INITIALIZER(head) \ + { NULL } + +#define SLIST_ENTRY(type) \ +struct { \ + struct type *sle_next; /* next element */ \ +} + +/* + * Singly-linked List functions. + */ +#define SLIST_INIT(head) do { \ + (head)->slh_first = NULL; \ +} while (/*CONSTCOND*/0) + +#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \ + (elm)->field.sle_next = (slistelm)->field.sle_next; \ + (slistelm)->field.sle_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define SLIST_INSERT_HEAD(head, elm, field) do { \ + (elm)->field.sle_next = (head)->slh_first; \ + (head)->slh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define SLIST_REMOVE_HEAD(head, field) do { \ + (head)->slh_first = (head)->slh_first->field.sle_next; \ +} while (/*CONSTCOND*/0) + +#define SLIST_REMOVE(head, elm, type, field) do { \ + if ((head)->slh_first == (elm)) { \ + SLIST_REMOVE_HEAD((head), field); \ + } \ + else { \ + struct type *curelm = (head)->slh_first; \ + while(curelm->field.sle_next != (elm)) \ + curelm = curelm->field.sle_next; \ + curelm->field.sle_next = \ + curelm->field.sle_next->field.sle_next; \ + } \ +} while (/*CONSTCOND*/0) + +#define SLIST_FOREACH(var, head, field) \ + for((var) = (head)->slh_first; (var); (var) = (var)->field.sle_next) + +/* + * Singly-linked List access methods. + */ +#define SLIST_EMPTY(head) ((head)->slh_first == NULL) +#define SLIST_FIRST(head) ((head)->slh_first) +#define SLIST_NEXT(elm, field) ((elm)->field.sle_next) + + +/* + * Singly-linked Tail queue declarations. + */ +#define STAILQ_HEAD(name, type) \ +struct name { \ + struct type *stqh_first; /* first element */ \ + struct type **stqh_last; /* addr of last next element */ \ +} + +#define STAILQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).stqh_first } + +#define STAILQ_ENTRY(type) \ +struct { \ + struct type *stqe_next; /* next element */ \ +} + +/* + * Singly-linked Tail queue functions. + */ +#define STAILQ_INIT(head) do { \ + (head)->stqh_first = NULL; \ + (head)->stqh_last = &(head)->stqh_first; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.stqe_next = (head)->stqh_first) == NULL) \ + (head)->stqh_last = &(elm)->field.stqe_next; \ + (head)->stqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.stqe_next = NULL; \ + *(head)->stqh_last = (elm); \ + (head)->stqh_last = &(elm)->field.stqe_next; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.stqe_next = (listelm)->field.stqe_next) == NULL)\ + (head)->stqh_last = &(elm)->field.stqe_next; \ + (listelm)->field.stqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define STAILQ_REMOVE_HEAD(head, field) do { \ + if (((head)->stqh_first = (head)->stqh_first->field.stqe_next) == NULL) \ + (head)->stqh_last = &(head)->stqh_first; \ +} while (/*CONSTCOND*/0) + +#define STAILQ_REMOVE(head, elm, type, field) do { \ + if ((head)->stqh_first == (elm)) { \ + STAILQ_REMOVE_HEAD((head), field); \ + } else { \ + struct type *curelm = (head)->stqh_first; \ + while (curelm->field.stqe_next != (elm)) \ + curelm = curelm->field.stqe_next; \ + if ((curelm->field.stqe_next = \ + curelm->field.stqe_next->field.stqe_next) == NULL) \ + (head)->stqh_last = &(curelm)->field.stqe_next; \ + } \ +} while (/*CONSTCOND*/0) + +#define STAILQ_FOREACH(var, head, field) \ + for ((var) = ((head)->stqh_first); \ + (var); \ + (var) = ((var)->field.stqe_next)) + +#define STAILQ_CONCAT(head1, head2) do { \ + if (!STAILQ_EMPTY((head2))) { \ + *(head1)->stqh_last = (head2)->stqh_first; \ + (head1)->stqh_last = (head2)->stqh_last; \ + STAILQ_INIT((head2)); \ + } \ +} while (/*CONSTCOND*/0) + +/* + * Singly-linked Tail queue access methods. + */ +#define STAILQ_EMPTY(head) ((head)->stqh_first == NULL) +#define STAILQ_FIRST(head) ((head)->stqh_first) +#define STAILQ_NEXT(elm, field) ((elm)->field.stqe_next) + + +/* + * Simple queue definitions. + */ +#define SIMPLEQ_HEAD(name, type) \ +struct name { \ + struct type *sqh_first; /* first element */ \ + struct type **sqh_last; /* addr of last next element */ \ +} + +#define SIMPLEQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).sqh_first } + +#define SIMPLEQ_ENTRY(type) \ +struct { \ + struct type *sqe_next; /* next element */ \ +} + +/* + * Simple queue functions. + */ +#define SIMPLEQ_INIT(head) do { \ + (head)->sqh_first = NULL; \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (head)->sqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.sqe_next = NULL; \ + *(head)->sqh_last = (elm); \ + (head)->sqh_last = &(elm)->field.sqe_next; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\ + (head)->sqh_last = &(elm)->field.sqe_next; \ + (listelm)->field.sqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_REMOVE_HEAD(head, field) do { \ + if (((head)->sqh_first = (head)->sqh_first->field.sqe_next) == NULL) \ + (head)->sqh_last = &(head)->sqh_first; \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_REMOVE(head, elm, type, field) do { \ + if ((head)->sqh_first == (elm)) { \ + SIMPLEQ_REMOVE_HEAD((head), field); \ + } else { \ + struct type *curelm = (head)->sqh_first; \ + while (curelm->field.sqe_next != (elm)) \ + curelm = curelm->field.sqe_next; \ + if ((curelm->field.sqe_next = \ + curelm->field.sqe_next->field.sqe_next) == NULL) \ + (head)->sqh_last = &(curelm)->field.sqe_next; \ + } \ +} while (/*CONSTCOND*/0) + +#define SIMPLEQ_FOREACH(var, head, field) \ + for ((var) = ((head)->sqh_first); \ + (var); \ + (var) = ((var)->field.sqe_next)) + +/* + * Simple queue access methods. + */ +#define SIMPLEQ_EMPTY(head) ((head)->sqh_first == NULL) +#define SIMPLEQ_FIRST(head) ((head)->sqh_first) +#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) + + +/* + * Tail queue definitions. + */ +#define _TAILQ_HEAD(name, type, qual) \ +struct name { \ + qual type *tqh_first; /* first element */ \ + qual type *qual *tqh_last; /* addr of last next element */ \ +} +#define TAILQ_HEAD(name, type) _TAILQ_HEAD(name, struct type,) + +#define TAILQ_HEAD_INITIALIZER(head) \ + { NULL, &(head).tqh_first } + +#define _TAILQ_ENTRY(type, qual) \ +struct { \ + qual type *tqe_next; /* next element */ \ + qual type *qual *tqe_prev; /* address of previous next element */\ +} +#define TAILQ_ENTRY(type) _TAILQ_ENTRY(struct type,) + +/* + * Tail queue functions. + */ +#define TAILQ_INIT(head) do { \ + (head)->tqh_first = NULL; \ + (head)->tqh_last = &(head)->tqh_first; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_HEAD(head, elm, field) do { \ + if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \ + (head)->tqh_first->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (head)->tqh_first = (elm); \ + (elm)->field.tqe_prev = &(head)->tqh_first; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.tqe_next = NULL; \ + (elm)->field.tqe_prev = (head)->tqh_last; \ + *(head)->tqh_last = (elm); \ + (head)->tqh_last = &(elm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \ + if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\ + (elm)->field.tqe_next->field.tqe_prev = \ + &(elm)->field.tqe_next; \ + else \ + (head)->tqh_last = &(elm)->field.tqe_next; \ + (listelm)->field.tqe_next = (elm); \ + (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \ + (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \ + (elm)->field.tqe_next = (listelm); \ + *(listelm)->field.tqe_prev = (elm); \ + (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_REMOVE(head, elm, field) do { \ + if (((elm)->field.tqe_next) != NULL) \ + (elm)->field.tqe_next->field.tqe_prev = \ + (elm)->field.tqe_prev; \ + else \ + (head)->tqh_last = (elm)->field.tqe_prev; \ + *(elm)->field.tqe_prev = (elm)->field.tqe_next; \ +} while (/*CONSTCOND*/0) + +#define TAILQ_FOREACH(var, head, field) \ + for ((var) = ((head)->tqh_first); \ + (var); \ + (var) = ((var)->field.tqe_next)) + +#define TAILQ_FOREACH_REVERSE(var, head, headname, field) \ + for ((var) = (*(((struct headname *)((head)->tqh_last))->tqh_last)); \ + (var); \ + (var) = (*(((struct headname *)((var)->field.tqe_prev))->tqh_last))) + +#define TAILQ_CONCAT(head1, head2, field) do { \ + if (!TAILQ_EMPTY(head2)) { \ + *(head1)->tqh_last = (head2)->tqh_first; \ + (head2)->tqh_first->field.tqe_prev = (head1)->tqh_last; \ + (head1)->tqh_last = (head2)->tqh_last; \ + TAILQ_INIT((head2)); \ + } \ +} while (/*CONSTCOND*/0) + +/* + * Tail queue access methods. + */ +#define TAILQ_EMPTY(head) ((head)->tqh_first == NULL) +#define TAILQ_FIRST(head) ((head)->tqh_first) +#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next) + +#define TAILQ_LAST(head, headname) \ + (*(((struct headname *)((head)->tqh_last))->tqh_last)) +#define TAILQ_PREV(elm, headname, field) \ + (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last)) + + +/* + * Circular queue definitions. + */ +#define CIRCLEQ_HEAD(name, type) \ +struct name { \ + struct type *cqh_first; /* first element */ \ + struct type *cqh_last; /* last element */ \ +} + +#define CIRCLEQ_HEAD_INITIALIZER(head) \ + { (void *)&head, (void *)&head } + +#define CIRCLEQ_ENTRY(type) \ +struct { \ + struct type *cqe_next; /* next element */ \ + struct type *cqe_prev; /* previous element */ \ +} + +/* + * Circular queue functions. + */ +#define CIRCLEQ_INIT(head) do { \ + (head)->cqh_first = (void *)(head); \ + (head)->cqh_last = (void *)(head); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \ + (elm)->field.cqe_next = (listelm)->field.cqe_next; \ + (elm)->field.cqe_prev = (listelm); \ + if ((listelm)->field.cqe_next == (void *)(head)) \ + (head)->cqh_last = (elm); \ + else \ + (listelm)->field.cqe_next->field.cqe_prev = (elm); \ + (listelm)->field.cqe_next = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \ + (elm)->field.cqe_next = (listelm); \ + (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \ + if ((listelm)->field.cqe_prev == (void *)(head)) \ + (head)->cqh_first = (elm); \ + else \ + (listelm)->field.cqe_prev->field.cqe_next = (elm); \ + (listelm)->field.cqe_prev = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \ + (elm)->field.cqe_next = (head)->cqh_first; \ + (elm)->field.cqe_prev = (void *)(head); \ + if ((head)->cqh_last == (void *)(head)) \ + (head)->cqh_last = (elm); \ + else \ + (head)->cqh_first->field.cqe_prev = (elm); \ + (head)->cqh_first = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \ + (elm)->field.cqe_next = (void *)(head); \ + (elm)->field.cqe_prev = (head)->cqh_last; \ + if ((head)->cqh_first == (void *)(head)) \ + (head)->cqh_first = (elm); \ + else \ + (head)->cqh_last->field.cqe_next = (elm); \ + (head)->cqh_last = (elm); \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_REMOVE(head, elm, field) do { \ + if ((elm)->field.cqe_next == (void *)(head)) \ + (head)->cqh_last = (elm)->field.cqe_prev; \ + else \ + (elm)->field.cqe_next->field.cqe_prev = \ + (elm)->field.cqe_prev; \ + if ((elm)->field.cqe_prev == (void *)(head)) \ + (head)->cqh_first = (elm)->field.cqe_next; \ + else \ + (elm)->field.cqe_prev->field.cqe_next = \ + (elm)->field.cqe_next; \ +} while (/*CONSTCOND*/0) + +#define CIRCLEQ_FOREACH(var, head, field) \ + for ((var) = ((head)->cqh_first); \ + (var) != (const void *)(head); \ + (var) = ((var)->field.cqe_next)) + +#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \ + for ((var) = ((head)->cqh_last); \ + (var) != (const void *)(head); \ + (var) = ((var)->field.cqe_prev)) + +/* + * Circular queue access methods. + */ +#define CIRCLEQ_EMPTY(head) ((head)->cqh_first == (void *)(head)) +#define CIRCLEQ_FIRST(head) ((head)->cqh_first) +#define CIRCLEQ_LAST(head) ((head)->cqh_last) +#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next) +#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev) + +#define CIRCLEQ_LOOP_NEXT(head, elm, field) \ + (((elm)->field.cqe_next == (void *)(head)) \ + ? ((head)->cqh_first) \ + : (elm->field.cqe_next)) +#define CIRCLEQ_LOOP_PREV(head, elm, field) \ + (((elm)->field.cqe_prev == (void *)(head)) \ + ? ((head)->cqh_last) \ + : (elm->field.cqe_prev)) + +#endif /* sys/queue.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/quota.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/quota.h new file mode 100644 index 00000000..e057a863 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/quota.h @@ -0,0 +1,135 @@ +/* This just represents the non-kernel parts of . + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Copyright (c) 1982, 1986 Regents of the University of California. + * All rights reserved. + * + * This code is derived from software contributed to Berkeley by + * Robert Elz at The University of Melbourne. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef _SYS_QUOTA_H +#define _SYS_QUOTA_H 1 + +#include +#include + +#include + +/* + * Convert diskblocks to blocks and the other way around. + * currently only to fool the BSD source. :-) + */ +#define dbtob(num) ((num) << 10) +#define btodb(num) ((num) >> 10) + +/* + * Convert count of filesystem blocks to diskquota blocks, meant for + * filesystems where i_blksize != 1024. + */ +#define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / 1024) + +/* + * Definitions for disk quotas imposed on the average user + * (big brother finally hits Linux). + * + * The following constants define the amount of time given a user + * before the soft limits are treated as hard limits (usually resulting + * in an allocation failure). The timer is started when the user crosses + * their soft limit, it is reset when they go below their soft limit. + */ +#define MAX_IQ_TIME 604800 /* (7*24*60*60) 1 week */ +#define MAX_DQ_TIME 604800 /* (7*24*60*60) 1 week */ + +#define QUOTAFILENAME "quota" +#define QUOTAGROUP "staff" + +#define NR_DQHASH 43 /* Just an arbitrary number any suggestions ? */ +#define NR_DQUOTS 256 /* Number of quotas active at one time */ + +/* Old name for struct if_dqblk. */ +struct dqblk + { + __uint64_t dqb_bhardlimit; /* absolute limit on disk quota blocks alloc */ + __uint64_t dqb_bsoftlimit; /* preferred limit on disk quota blocks */ + __uint64_t dqb_curspace; /* current quota block count */ + __uint64_t dqb_ihardlimit; /* maximum # allocated inodes */ + __uint64_t dqb_isoftlimit; /* preferred inode limit */ + __uint64_t dqb_curinodes; /* current # allocated inodes */ + __uint64_t dqb_btime; /* time limit for excessive disk use */ + __uint64_t dqb_itime; /* time limit for excessive files */ + __uint32_t dqb_valid; /* bitmask of QIF_* constants */ + }; + +/* + * Shorthand notation. + */ +#define dq_bhardlimit dq_dqb.dqb_bhardlimit +#define dq_bsoftlimit dq_dqb.dqb_bsoftlimit +#define dq_curspace dq_dqb.dqb_curspace +#define dq_valid dq_dqb.dqb_valid +#define dq_ihardlimit dq_dqb.dqb_ihardlimit +#define dq_isoftlimit dq_dqb.dqb_isoftlimit +#define dq_curinodes dq_dqb.dqb_curinodes +#define dq_btime dq_dqb.dqb_btime +#define dq_itime dq_dqb.dqb_itime + +#define dqoff(UID) ((__loff_t)((UID) * sizeof (struct dqblk))) + +/* Old name for struct if_dqinfo. */ +struct dqinfo + { + __uint64_t dqi_bgrace; + __uint64_t dqi_igrace; + __uint32_t dqi_flags; + __uint32_t dqi_valid; + }; + +__BEGIN_DECLS + +extern int quotactl (int __cmd, const char *__special, int __id, + __caddr_t __addr) __THROW; + +__END_DECLS + +#endif /* sys/quota.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/random.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/random.h new file mode 100644 index 00000000..df47dfa6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/random.h @@ -0,0 +1,45 @@ +/* Interfaces for obtaining random bytes. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RANDOM_H +#define _SYS_RANDOM_H 1 + +#include +#include + +/* Flags for use with getrandom. */ +#define GRND_NONBLOCK 0x01 +#define GRND_RANDOM 0x02 +#define GRND_INSECURE 0x04 + +__BEGIN_DECLS + +/* Write LENGTH bytes of randomness starting at BUFFER. Return the + number of bytes written, or -1 on error. */ +ssize_t getrandom (void *__buffer, size_t __length, + unsigned int __flags) __wur + __attr_access ((__write_only__, 1, 2)); + +/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on + success or -1 on error. */ +int getentropy (void *__buffer, size_t __length) __wur + __attr_access ((__write_only__, 1, 2)); + +__END_DECLS + +#endif /* _SYS_RANDOM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/raw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/raw.h new file mode 100644 index 00000000..a215a84c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/raw.h @@ -0,0 +1,38 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RAW_H +#define _SYS_RAW_H 1 + +#include +#include + +/* The major device number for raw devices. */ +#define RAW_MAJOR 162 + +/* `ioctl' commands for raw devices. */ +#define RAW_SETBIND _IO(0xac, 0) +#define RAW_GETBIND _IO(0xac, 1) + +struct raw_config_request +{ + int raw_minor; + uint64_t block_major; + uint64_t block_minor; +}; + +#endif /* sys/raw.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reboot.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reboot.h new file mode 100644 index 00000000..95819b9c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reboot.h @@ -0,0 +1,54 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This file should define RB_* macros to be used as flag + bits in the argument to the `reboot' system call. */ + +#ifndef _SYS_REBOOT_H +#define _SYS_REBOOT_H 1 + +#include + +/* Perform a hard reset now. */ +#define RB_AUTOBOOT 0x01234567 + +/* Halt the system. */ +#define RB_HALT_SYSTEM 0xcdef0123 + +/* Enable reboot using Ctrl-Alt-Delete keystroke. */ +#define RB_ENABLE_CAD 0x89abcdef + +/* Disable reboot using Ctrl-Alt-Delete keystroke. */ +#define RB_DISABLE_CAD 0 + +/* Stop system and switch power off if possible. */ +#define RB_POWER_OFF 0x4321fedc + +/* Suspend system using software suspend. */ +#define RB_SW_SUSPEND 0xd000fce2 + +/* Reboot system into new kernel. */ +#define RB_KEXEC 0x45584543 + +__BEGIN_DECLS + +/* Reboot or halt the system. */ +extern int reboot (int __howto) __THROW; + +__END_DECLS + +#endif /* _SYS_REBOOT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reg.h new file mode 100644 index 00000000..5cf5759e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/reg.h @@ -0,0 +1,77 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_REG_H +#define _SYS_REG_H 1 + + +#ifdef __x86_64__ +/* Index into an array of 8 byte longs returned from ptrace for + location of the users' stored general purpose registers. */ + +# define R15 0 +# define R14 1 +# define R13 2 +# define R12 3 +# define RBP 4 +# define RBX 5 +# define R11 6 +# define R10 7 +# define R9 8 +# define R8 9 +# define RAX 10 +# define RCX 11 +# define RDX 12 +# define RSI 13 +# define RDI 14 +# define ORIG_RAX 15 +# define RIP 16 +# define CS 17 +# define EFLAGS 18 +# define RSP 19 +# define SS 20 +# define FS_BASE 21 +# define GS_BASE 22 +# define DS 23 +# define ES 24 +# define FS 25 +# define GS 26 +#else + +/* Index into an array of 4 byte integers returned from ptrace for + * location of the users' stored general purpose registers. */ + +# define EBX 0 +# define ECX 1 +# define EDX 2 +# define ESI 3 +# define EDI 4 +# define EBP 5 +# define EAX 6 +# define DS 7 +# define ES 8 +# define FS 9 +# define GS 10 +# define ORIG_EAX 11 +# define EIP 12 +# define CS 13 +# define EFL 14 +# define UESP 15 +# define SS 16 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/regdef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/regdef.h new file mode 100644 index 00000000..947681c6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/regdef.h @@ -0,0 +1,80 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_REGDEF_H +#define _SYS_REGDEF_H + +#include + +/* + * Symbolic register names for 32 bit ABI + */ +#define zero $0 /* wired zero */ +#define AT $1 /* assembler temp - uppercase because of ".set at" */ +#define v0 $2 /* return value */ +#define v1 $3 +#define a0 $4 /* argument registers */ +#define a1 $5 +#define a2 $6 +#define a3 $7 +#if _MIPS_SIM != _ABIO32 +#define a4 $8 +#define a5 $9 +#define a6 $10 +#define a7 $11 +#define t0 $12 +#define t1 $13 +#define t2 $14 +#define t3 $15 +#define ta0 a4 +#define ta1 a5 +#define ta2 a6 +#define ta3 a7 +#else /* if _MIPS_SIM == _ABIO32 */ +#define t0 $8 /* caller saved */ +#define t1 $9 +#define t2 $10 +#define t3 $11 +#define t4 $12 +#define t5 $13 +#define t6 $14 +#define t7 $15 +#define ta0 t4 +#define ta1 t5 +#define ta2 t6 +#define ta3 t7 +#endif /* _MIPS_SIM == _ABIO32 */ +#define s0 $16 /* callee saved */ +#define s1 $17 +#define s2 $18 +#define s3 $19 +#define s4 $20 +#define s5 $21 +#define s6 $22 +#define s7 $23 +#define t8 $24 /* caller saved */ +#define t9 $25 +#define jp $25 /* PIC jump register */ +#define k0 $26 /* kernel scratch */ +#define k1 $27 +#define gp $28 /* global pointer */ +#define sp $29 /* stack pointer */ +#define fp $30 /* frame pointer */ +#define s8 $30 /* same like fp! */ +#define ra $31 /* return address */ + +#endif /* _SYS_REGDEF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/resource.h new file mode 100644 index 00000000..13b06c36 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/resource.h @@ -0,0 +1,114 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RESOURCE_H +#define _SYS_RESOURCE_H 1 + +#include + +/* Get the system-dependent definitions of structures and bit values. */ +#include + +#ifndef __id_t_defined +typedef __id_t id_t; +# define __id_t_defined +#endif + +__BEGIN_DECLS + +/* The X/Open standard defines that all the functions below must use + `int' as the type for the first argument. When we are compiling with + GNU extensions we change this slightly to provide better error + checking. */ +#if defined __USE_GNU && !defined __cplusplus +typedef enum __rlimit_resource __rlimit_resource_t; +typedef enum __rusage_who __rusage_who_t; +typedef enum __priority_which __priority_which_t; +#else +typedef int __rlimit_resource_t; +typedef int __rusage_who_t; +typedef int __priority_which_t; +#endif + +/* Put the soft and hard limits for RESOURCE in *RLIMITS. + Returns 0 if successful, -1 if not (and sets errno). */ +#ifndef __USE_FILE_OFFSET64 +extern int getrlimit (__rlimit_resource_t __resource, + struct rlimit *__rlimits) __THROW __nonnull ((2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (getrlimit, (__rlimit_resource_t __resource, + struct rlimit *__rlimits), getrlimit64) + __nonnull ((2)); +# else +# define getrlimit getrlimit64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int getrlimit64 (__rlimit_resource_t __resource, + struct rlimit64 *__rlimits) __THROW __nonnull ((2)); +#endif + +/* Set the soft and hard limits for RESOURCE to *RLIMITS. + Only the super-user can increase hard limits. + Return 0 if successful, -1 if not (and sets errno). */ +#ifndef __USE_FILE_OFFSET64 +extern int setrlimit (__rlimit_resource_t __resource, + const struct rlimit *__rlimits) __THROW __nonnull ((2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (setrlimit, (__rlimit_resource_t __resource, + const struct rlimit *__rlimits), + setrlimit64) __nonnull ((2)); +# else +# define setrlimit setrlimit64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int setrlimit64 (__rlimit_resource_t __resource, + const struct rlimit64 *__rlimits) __THROW + __nonnull ((2)); +#endif + +/* Return resource usage information on process indicated by WHO + and put it in *USAGE. Returns 0 for success, -1 for failure. */ +extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW; + +#ifdef __USE_TIME64_REDIRECTS +# if defined(__REDIRECT_NTH) +extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who, + struct rusage *__usage), + __getrusage64); +# else +# define getrusage __getrusage64 +# endif +#endif + +/* Return the highest priority of any process specified by WHICH and WHO + (see above); if WHO is zero, the current process, process group, or user + (as specified by WHO) is used. A lower priority number means higher + priority. Priorities range from PRIO_MIN to PRIO_MAX (above). */ +extern int getpriority (__priority_which_t __which, id_t __who) __THROW; + +/* Set the priority of all processes specified by WHICH and WHO (see above) + to PRIO. Returns 0 on success, -1 on errors. */ +extern int setpriority (__priority_which_t __which, id_t __who, int __prio) + __THROW; + +__END_DECLS + +#endif /* sys/resource.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/rseq.h new file mode 100644 index 00000000..81856aed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/rseq.h @@ -0,0 +1,180 @@ +/* Restartable Sequences exported symbols. Linux header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +#define _SYS_RSEQ_H 1 + +/* Architecture-specific rseq signature. */ +#include + +#include +#include +#include + +#ifdef __has_include +# if __has_include ("linux/rseq.h") +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#else +# include +# if LINUX_VERSION_CODE >= KERNEL_VERSION (4, 18, 0) +# define __GLIBC_HAVE_KERNEL_RSEQ +# endif +#endif + +#ifdef __GLIBC_HAVE_KERNEL_RSEQ +/* We use the structures declarations from the kernel headers. */ +# include +#else /* __GLIBC_HAVE_KERNEL_RSEQ */ +/* We use a copy of the include/uapi/linux/rseq.h kernel header. */ + +enum rseq_cpu_id_state + { + RSEQ_CPU_ID_UNINITIALIZED = -1, + RSEQ_CPU_ID_REGISTRATION_FAILED = -2, + }; + +enum rseq_flags + { + RSEQ_FLAG_UNREGISTER = (1 << 0), + }; + +enum rseq_cs_flags_bit + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT = 0, + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT = 1, + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT = 2, + }; + +enum rseq_cs_flags + { + RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL_BIT), + RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE = + (1U << RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE_BIT), + }; + +/* struct rseq_cs is aligned on 32 bytes to ensure it is always + contained within a single cache-line. It is usually declared as + link-time constant data. */ +struct rseq_cs + { + /* Version of this structure. */ + uint32_t version; + /* enum rseq_cs_flags. */ + uint32_t flags; + uint64_t start_ip; + /* Offset from start_ip. */ + uint64_t post_commit_offset; + uint64_t abort_ip; + } __attribute__ ((__aligned__ (32))); + +/* struct rseq is aligned on 32 bytes to ensure it is always + contained within a single cache-line. + + A single struct rseq per thread is allowed. */ +struct rseq + { + /* Restartable sequences cpu_id_start field. Updated by the + kernel. Read by user-space with single-copy atomicity + semantics. This field should only be read by the thread which + registered this data structure. Aligned on 32-bit. Always + contains a value in the range of possible CPUs, although the + value may not be the actual current CPU (e.g. if rseq is not + initialized). This CPU number value should always be compared + against the value of the cpu_id field before performing a rseq + commit or returning a value read from a data structure indexed + using the cpu_id_start value. */ + uint32_t cpu_id_start; + /* Restartable sequences cpu_id field. Updated by the kernel. + Read by user-space with single-copy atomicity semantics. This + field should only be read by the thread which registered this + data structure. Aligned on 32-bit. Values + RSEQ_CPU_ID_UNINITIALIZED and RSEQ_CPU_ID_REGISTRATION_FAILED + have a special semantic: the former means "rseq uninitialized", + and latter means "rseq initialization failed". This value is + meant to be read within rseq critical sections and compared + with the cpu_id_start value previously read, before performing + the commit instruction, or read and compared with the + cpu_id_start value before returning a value loaded from a data + structure indexed using the cpu_id_start value. */ + uint32_t cpu_id; + /* Restartable sequences rseq_cs field. + + Contains NULL when no critical section is active for the current + thread, or holds a pointer to the currently active struct rseq_cs. + + Updated by user-space, which sets the address of the currently + active rseq_cs at the beginning of assembly instruction sequence + block, and set to NULL by the kernel when it restarts an assembly + instruction sequence block, as well as when the kernel detects that + it is preempting or delivering a signal outside of the range + targeted by the rseq_cs. Also needs to be set to NULL by user-space + before reclaiming memory that contains the targeted struct rseq_cs. + + Read and set by the kernel. Set by user-space with single-copy + atomicity semantics. This field should only be updated by the + thread which registered this data structure. Aligned on 64-bit. + + 32-bit architectures should update the low order bits of the + rseq_cs field, leaving the high order bits initialized to 0. */ + uint64_t rseq_cs; + /* Restartable sequences flags field. + + This field should only be updated by the thread which + registered this data structure. Read by the kernel. + Mainly used for single-stepping through rseq critical sections + with debuggers. + + - RSEQ_CS_FLAG_NO_RESTART_ON_PREEMPT + Inhibit instruction sequence block restart on preemption + for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_SIGNAL + Inhibit instruction sequence block restart on signal + delivery for this thread. + - RSEQ_CS_FLAG_NO_RESTART_ON_MIGRATE + Inhibit instruction sequence block restart on migration for + this thread. */ + uint32_t flags; + /* Restartable sequences node_id field. Updated by the kernel. Read by + user-space with single-copy atomicity semantics. This field should only + be read by the thread which registered this data structure. Aligned on + 32-bit. Contains the current NUMA node ID. */ + uint32_t node_id; + /* Restartable sequences mm_cid field. Updated by the kernel. Read by + user-space with single-copy atomicity semantics. This field should only + be read by the thread which registered this data structure. Aligned on + 32-bit. Contains the current thread's concurrency ID (allocated + uniquely within a memory map). */ + uint32_t mm_cid; + } __attribute__ ((__aligned__ (32))); + +#endif /* __GLIBC_HAVE_KERNEL_RSEQ */ + +/* Offset from the thread pointer to the rseq area. */ +extern const ptrdiff_t __rseq_offset; + +/* Size of the registered rseq area. 0 if the registration was + unsuccessful. */ +extern const unsigned int __rseq_size; + +/* Flags used during rseq registration. */ +extern const unsigned int __rseq_flags; + +#endif /* sys/rseq.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/select.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/select.h new file mode 100644 index 00000000..cd8c69ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/select.h @@ -0,0 +1,155 @@ +/* `fd_set' type and related macros, and `select'/`pselect' declarations. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* POSIX 1003.1g: 6.2 Select from File Descriptor Sets */ + +#ifndef _SYS_SELECT_H +#define _SYS_SELECT_H 1 + +#include + +/* Get definition of needed basic types. */ +#include + +/* Get __FD_* definitions. */ +#include + +/* Get sigset_t. */ +#include + +/* Get definition of timer specification structures. */ +#include +#include +#ifdef __USE_XOPEN2K +# include +#endif + +#ifndef __suseconds_t_defined +typedef __suseconds_t suseconds_t; +# define __suseconds_t_defined +#endif + + +/* The fd_set member is required to be an array of longs. */ +typedef long int __fd_mask; + +/* Some versions of define this macros. */ +#undef __NFDBITS +/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ +#define __NFDBITS (8 * (int) sizeof (__fd_mask)) +#define __FD_ELT(d) ((d) / __NFDBITS) +#define __FD_MASK(d) ((__fd_mask) (1UL << ((d) % __NFDBITS))) + +/* fd_set for select and pselect. */ +typedef struct + { + /* XPG4.2 requires this member name. Otherwise avoid the name + from the global namespace. */ +#ifdef __USE_XOPEN + __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; +# define __FDS_BITS(set) ((set)->fds_bits) +#else + __fd_mask __fds_bits[__FD_SETSIZE / __NFDBITS]; +# define __FDS_BITS(set) ((set)->__fds_bits) +#endif + } fd_set; + +/* Maximum number of file descriptors in `fd_set'. */ +#define FD_SETSIZE __FD_SETSIZE + +#ifdef __USE_MISC +/* Sometimes the fd_set member is assumed to have this type. */ +typedef __fd_mask fd_mask; + +/* Number of bits per word of `fd_set' (some code assumes this is 32). */ +# define NFDBITS __NFDBITS +#endif + + +/* Access macros for `fd_set'. */ +#define FD_SET(fd, fdsetp) __FD_SET (fd, fdsetp) +#define FD_CLR(fd, fdsetp) __FD_CLR (fd, fdsetp) +#define FD_ISSET(fd, fdsetp) __FD_ISSET (fd, fdsetp) +#define FD_ZERO(fdsetp) __FD_ZERO (fdsetp) + + +__BEGIN_DECLS + +/* Check the first NFDS descriptors each in READFDS (if not NULL) for read + readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS + (if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out + after waiting the interval specified therein. Returns the number of ready + descriptors, or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME64_REDIRECTS +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +#else +# ifdef __REDIRECT +extern int __REDIRECT (select, + (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout), + __select64); +# else +# define select __select64 +# endif +#endif + +#ifdef __USE_XOPEN2K +/* Same as above only that the TIMEOUT value is given with higher + resolution and a sigmask which is been set temporarily. This version + should be used. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# else +# ifdef __REDIRECT +extern int __REDIRECT (pselect, + (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask), + __pselect64); +# else +# define pselect __pselect64 +# endif +# endif +#endif + + +/* Define some inlines helping to catch common problems. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __GNUC__ +# include +#endif + +__END_DECLS + +#endif /* sys/select.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sem.h new file mode 100644 index 00000000..f0d3b00d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sem.h @@ -0,0 +1,88 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +#define _SYS_SEM_H 1 + +#include + +#define __need_size_t +#include + +/* Get common definition of System V style IPC. */ +#include + +/* Get system dependent definition of `struct semid_ds' and more. */ +#include + +#ifdef __USE_GNU +# include +#endif + +/* The following System V style IPC functions implement a semaphore + handling. The definition is found in XPG2. */ + +/* Structure used for argument to `semop' to describe operations. */ +struct sembuf +{ + unsigned short int sem_num; /* semaphore number */ + short int sem_op; /* semaphore operation */ + short int sem_flg; /* operation flag */ +}; + + +__BEGIN_DECLS + +/* Semaphore control operation. */ +#ifndef __USE_TIME64_REDIRECTS +extern int semctl (int __semid, int __semnum, int __cmd, ...) __THROW; +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (semctl, + (int __semid, int __semnum, int __cmd, ...), + __semctl64); +# else +# define semctl __semctl64 +# endif +#endif + +/* Get semaphore. */ +extern int semget (key_t __key, int __nsems, int __semflg) __THROW; + +/* Operate on semaphore. */ +extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW; + +#ifdef __USE_GNU +/* Operate on semaphore with timeout. */ +# ifndef __USE_TIME64_REDIRECTS +extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops, + const struct timespec *__timeout) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (semtimedop, (int __semid, struct sembuf *__sops, + size_t __nsops, + const struct timespec *__timeout), + __semtimedop64); +# else +# define semtimedop __semtimedop64 +# endif +# endif +#endif + +__END_DECLS + +#endif /* sys/sem.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sendfile.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sendfile.h new file mode 100644 index 00000000..46b0f3cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sendfile.h @@ -0,0 +1,51 @@ +/* sendfile -- copy data directly from one file descriptor to another + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SENDFILE_H +#define _SYS_SENDFILE_H 1 + +#include +#include + +__BEGIN_DECLS + +/* Send up to COUNT bytes from file associated with IN_FD starting at + *OFFSET to descriptor OUT_FD. Set *OFFSET to the IN_FD's file position + following the read bytes. If OFFSET is a null pointer, use the normal + file position instead. Return the number of written bytes, or -1 in + case of error. */ +#ifndef __USE_FILE_OFFSET64 +extern ssize_t sendfile (int __out_fd, int __in_fd, off_t *__offset, + size_t __count) __THROW; +#else +# ifdef __REDIRECT_NTH +extern ssize_t __REDIRECT_NTH (sendfile, + (int __out_fd, int __in_fd, __off64_t *__offset, + size_t __count), sendfile64); +# else +# define sendfile sendfile64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern ssize_t sendfile64 (int __out_fd, int __in_fd, __off64_t *__offset, + size_t __count) __THROW; +#endif + +__END_DECLS + +#endif /* sys/sendfile.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/shm.h new file mode 100644 index 00000000..54ff00ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/shm.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +#define _SYS_SHM_H 1 + +#include + +#define __need_size_t +#include + +/* Get common definition of System V style IPC. */ +#include + +/* Get system dependent definition of `struct shmid_ds' and more. */ +#include + +/* Define types required by the standard. */ +#include + +#ifdef __USE_XOPEN +# ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +# endif +#endif /* X/Open */ + + +__BEGIN_DECLS + +/* The following System V style IPC functions implement a shared memory + facility. The definition is found in XPG4.2. */ + +/* Shared memory control operation. */ +#ifndef __USE_TIME64_REDIRECTS +extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW; +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (shmctl, + (int __shmid, int __cmd, struct shmid_ds *__buf), + __shmctl64); +# else +# define shmctl __shmctl64 +# endif +#endif + +/* Get shared memory segment. */ +extern int shmget (key_t __key, size_t __size, int __shmflg) __THROW; + +/* Attach shared memory segment. */ +extern void *shmat (int __shmid, const void *__shmaddr, int __shmflg) + __THROW; + +/* Detach shared memory segment. */ +extern int shmdt (const void *__shmaddr) __THROW; + +__END_DECLS + +#endif /* sys/shm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signal.h new file mode 100644 index 00000000..aeb77288 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signal.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signalfd.h new file mode 100644 index 00000000..33d06ff1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/signalfd.h @@ -0,0 +1,62 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +#define _SYS_SIGNALFD_H 1 + +#include +#include + +/* Get the platform-dependent flags. */ +#include + +struct signalfd_siginfo +{ + uint32_t ssi_signo; + int32_t ssi_errno; + int32_t ssi_code; + uint32_t ssi_pid; + uint32_t ssi_uid; + int32_t ssi_fd; + uint32_t ssi_tid; + uint32_t ssi_band; + uint32_t ssi_overrun; + uint32_t ssi_trapno; + int32_t ssi_status; + int32_t ssi_int; + uint64_t ssi_ptr; + uint64_t ssi_utime; + uint64_t ssi_stime; + uint64_t ssi_addr; + uint16_t ssi_addr_lsb; + uint16_t __pad2; + int32_t ssi_syscall; + uint64_t ssi_call_addr; + uint32_t ssi_arch; + uint8_t __pad[28]; +}; + +__BEGIN_DECLS + +/* Request notification for delivery of signals in MASK to be + performed using descriptor FD.*/ +extern int signalfd (int __fd, const sigset_t *__mask, int __flags) + __THROW __nonnull ((2)); + +__END_DECLS + +#endif /* sys/signalfd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/single_threaded.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/single_threaded.h new file mode 100644 index 00000000..eaaca598 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/single_threaded.h @@ -0,0 +1,33 @@ +/* Support for single-thread optimizations. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SINGLE_THREADED_H +#define _SYS_SINGLE_THREADED_H + +#include + +__BEGIN_DECLS + +/* If this variable is non-zero, then the current thread is the only + thread in the process image. If it is zero, the process might be + multi-threaded. */ +extern char __libc_single_threaded; + +__END_DECLS + +#endif /* _SYS_SINGLE_THREADED_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socket.h new file mode 100644 index 00000000..890b8cd2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socket.h @@ -0,0 +1,348 @@ +/* Declarations of socket constants, types, and functions. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +#define _SYS_SOCKET_H 1 + +#include + +__BEGIN_DECLS + +#include +#define __need_size_t +#include + +/* This operating system-specific header file defines the SOCK_*, PF_*, + AF_*, MSG_*, SOL_*, and SO_* constants, and the `struct sockaddr', + `struct msghdr', and `struct linger' types. */ +#include + +#ifdef __USE_MISC +# include +#endif + +/* The following constants should be used for the second parameter of + `shutdown'. */ +enum +{ + SHUT_RD = 0, /* No more receptions. */ +#define SHUT_RD SHUT_RD + SHUT_WR, /* No more transmissions. */ +#define SHUT_WR SHUT_WR + SHUT_RDWR /* No more receptions or transmissions. */ +#define SHUT_RDWR SHUT_RDWR +}; + +/* This is the type we use for generic socket address arguments. + + With GCC 2.7 and later, the funky union causes redeclarations or + uses with any of the listed types to be allowed without complaint. + G++ 2.7 does not support transparent unions so there we want the + old-style declaration, too. */ +#if defined __cplusplus || !__GNUC_PREREQ (2, 7) || !defined __USE_GNU +# define __SOCKADDR_ARG struct sockaddr *__restrict +# define __CONST_SOCKADDR_ARG const struct sockaddr * +#else +/* Add more `struct sockaddr_AF' types here as necessary. + These are all the ones I found on NetBSD and Linux. */ +# define __SOCKADDR_ALLTYPES \ + __SOCKADDR_ONETYPE (sockaddr) \ + __SOCKADDR_ONETYPE (sockaddr_at) \ + __SOCKADDR_ONETYPE (sockaddr_ax25) \ + __SOCKADDR_ONETYPE (sockaddr_dl) \ + __SOCKADDR_ONETYPE (sockaddr_eon) \ + __SOCKADDR_ONETYPE (sockaddr_in) \ + __SOCKADDR_ONETYPE (sockaddr_in6) \ + __SOCKADDR_ONETYPE (sockaddr_inarp) \ + __SOCKADDR_ONETYPE (sockaddr_ipx) \ + __SOCKADDR_ONETYPE (sockaddr_iso) \ + __SOCKADDR_ONETYPE (sockaddr_ns) \ + __SOCKADDR_ONETYPE (sockaddr_un) \ + __SOCKADDR_ONETYPE (sockaddr_x25) + +# define __SOCKADDR_ONETYPE(type) struct type *__restrict __##type##__; +typedef union { __SOCKADDR_ALLTYPES + } __SOCKADDR_ARG __attribute__ ((__transparent_union__)); +# undef __SOCKADDR_ONETYPE +# define __SOCKADDR_ONETYPE(type) const struct type *__restrict __##type##__; +typedef union { __SOCKADDR_ALLTYPES + } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__)); +# undef __SOCKADDR_ONETYPE +#endif + +#ifdef __USE_GNU +/* For `recvmmsg' and `sendmmsg'. */ +struct mmsghdr + { + struct msghdr msg_hdr; /* Actual message header. */ + unsigned int msg_len; /* Number of received or sent bytes for the + entry. */ + }; +#endif + + +/* Create a new socket of type TYPE in domain DOMAIN, using + protocol PROTOCOL. If PROTOCOL is zero, one is chosen automatically. + Returns a file descriptor for the new socket, or -1 for errors. */ +extern int socket (int __domain, int __type, int __protocol) __THROW; + +/* Create two new sockets, of type TYPE in domain DOMAIN and using + protocol PROTOCOL, which are connected to each other, and put file + descriptors for them in FDS[0] and FDS[1]. If PROTOCOL is zero, + one will be chosen automatically. Returns 0 on success, -1 for errors. */ +extern int socketpair (int __domain, int __type, int __protocol, + int __fds[2]) __THROW; + +/* Give the socket FD the local address ADDR (which is LEN bytes long). */ +extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) + __THROW; + +/* Put the local address of FD into *ADDR and its length in *LEN. */ +extern int getsockname (int __fd, __SOCKADDR_ARG __addr, + socklen_t *__restrict __len) __THROW; + +/* Open a connection on socket FD to peer at ADDR (which LEN bytes long). + For connectionless socket types, just set the default address to send to + and the only address from which to accept transmissions. + Return 0 on success, -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); + +/* Put the address of the peer connected to socket FD into *ADDR + (which is *LEN bytes long), and its actual length into *LEN. */ +extern int getpeername (int __fd, __SOCKADDR_ARG __addr, + socklen_t *__restrict __len) __THROW; + + +/* Send N bytes of BUF to socket FD. Returns the number sent or -1. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t send (int __fd, const void *__buf, size_t __n, int __flags); + +/* Read N bytes into BUF from socket FD. + Returns the number read or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); + +/* Send N bytes of BUF on socket FD to peer at address ADDR (which is + ADDR_LEN bytes long). Returns the number sent, or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t sendto (int __fd, const void *__buf, size_t __n, + int __flags, __CONST_SOCKADDR_ARG __addr, + socklen_t __addr_len); + +/* Read N bytes into BUF through socket FD. + If ADDR is not NULL, fill in *ADDR_LEN bytes of it with the address of + the sender, and store the actual size of the address in *ADDR_LEN. + Returns the number of bytes read or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, + int __flags, __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len); + + +/* Send a message described MESSAGE on socket FD. + Returns the number of bytes sent, or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME64_REDIRECTS +extern ssize_t sendmsg (int __fd, const struct msghdr *__message, + int __flags); +#else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (sendmsg, (int __fd, const struct msghdr *__message, + int __flags), + __sendmsg64); +# else +extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message, + int __flags); +# define sendmsg __sendmsg64 +# endif +#endif + +#ifdef __USE_GNU +/* Send a VLEN messages as described by VMESSAGES to socket FD. + Returns the number of datagrams successfully written or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int sendmmsg (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags); +# else +# ifdef __REDIRECT +extern int __REDIRECT (sendmmsg, (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags), + __sendmmsg64); +# else +extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags); +# define sendmmsg __sendmmsg64 +# endif +# endif /* __USE_TIME64_REDIRECTS */ +#endif /* __USE_GNU */ + +/* Receive a message as described by MESSAGE from socket FD. + Returns the number of bytes read or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +#ifndef __USE_TIME64_REDIRECTS +extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); +#else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (recvmsg, + (int __fd, struct msghdr *__message, int __flags), + __recvmsg64); +# else +extern ssize_t __recvmsg64 (int __fd, struct msghdr *__message, int __flags); +# define recvmsg __recvmsg64 +# endif +#endif + +#ifdef __USE_GNU +/* Receive up to VLEN messages as described by VMESSAGES from socket FD. + Returns the number of messages received or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags, + struct timespec *__tmo); +# else +# ifdef __REDIRECT +extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages, + unsigned int __vlen, int __flags, + struct timespec *__tmo), + __recvmmsg64); +# else +# define recvmmsg __recvmmsg64 +# endif +# endif +#endif + + +/* Put the current value for socket FD's option OPTNAME at protocol level LEVEL + into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's + actual length. Returns 0 on success, -1 for errors. */ +#ifndef __USE_TIME64_REDIRECTS +extern int getsockopt (int __fd, int __level, int __optname, + void *__restrict __optval, + socklen_t *__restrict __optlen) __THROW; +#else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (getsockopt, + (int __fd, int __level, int __optname, + void *__restrict __optval, + socklen_t *__restrict __optlen), + __getsockopt64); +# else +extern int __getsockopt64 (int __fd, int __level, int __optname, + void *__restrict __optval, + socklen_t *__restrict __optlen) __THROW; +# define getsockopt __getsockopt64 +# endif +#endif + +/* Set socket FD's option OPTNAME at protocol level LEVEL + to *OPTVAL (which is OPTLEN bytes long). + Returns 0 on success, -1 for errors. */ +#ifndef __USE_TIME64_REDIRECTS +extern int setsockopt (int __fd, int __level, int __optname, + const void *__optval, socklen_t __optlen) __THROW; +#else +# ifdef __REDIRECT +extern int __REDIRECT_NTH (setsockopt, + (int __fd, int __level, int __optname, + const void *__optval, socklen_t __optlen), + __setsockopt64); +# else +extern int __setsockopt64 (int __fd, int __level, int __optname, + const void *__optval, socklen_t __optlen) __THROW; +# define setsockopt __setsockopt64 +# endif +#endif + + +/* Prepare to accept connections on socket FD. + N connection requests will be queued before further requests are refused. + Returns 0 on success, -1 for errors. */ +extern int listen (int __fd, int __n) __THROW; + +/* Await a connection on socket FD. + When a connection arrives, open a new socket to communicate with it, + set *ADDR (which is *ADDR_LEN bytes long) to the address of the connecting + peer and *ADDR_LEN to the address's actual length, and return the + new socket's descriptor, or -1 for errors. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int accept (int __fd, __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len); + +#ifdef __USE_GNU +/* Similar to 'accept' but takes an additional parameter to specify flags. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int accept4 (int __fd, __SOCKADDR_ARG __addr, + socklen_t *__restrict __addr_len, int __flags); +#endif + +/* Shut down all or part of the connection open on socket FD. + HOW determines what to shut down: + SHUT_RD = No more receptions; + SHUT_WR = No more transmissions; + SHUT_RDWR = No more receptions or transmissions. + Returns 0 on success, -1 for errors. */ +extern int shutdown (int __fd, int __how) __THROW; + + +#ifdef __USE_XOPEN2K +/* Determine whether socket is at a out-of-band mark. */ +extern int sockatmark (int __fd) __THROW; +#endif + + +#ifdef __USE_MISC +/* FDTYPE is S_IFSOCK or another S_IF* macro defined in ; + returns 1 if FD is open on an object of the indicated type, 0 if not, + or -1 for errors (setting errno). */ +extern int isfdtype (int __fd, int __fdtype) __THROW; +#endif + + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +__END_DECLS + +#endif /* sys/socket.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socketvar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socketvar.h new file mode 100644 index 00000000..a2aa07c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/socketvar.h @@ -0,0 +1,3 @@ +/* This header is used on many systems but for GNU we have everything + already defined in the standard header. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/soundcard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/soundcard.h new file mode 100644 index 00000000..afeb11d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/soundcard.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/stat.h new file mode 100644 index 00000000..68c2c889 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/stat.h @@ -0,0 +1,471 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 5.6 File Characteristics + */ + +#ifndef _SYS_STAT_H +#define _SYS_STAT_H 1 + +#include + +#include /* For __mode_t and __dev_t. */ + +#if defined(__USE_ATFILE) || defined(__USE_XOPEN2K8) +# include +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K +/* The Single Unix specification says that some more types are + available here. */ + +# include + +# ifndef __dev_t_defined +typedef __dev_t dev_t; +# define __dev_t_defined +# endif + +# ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +# endif + +# ifndef __ino_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __ino_t ino_t; +# else +typedef __ino64_t ino_t; +# endif +# define __ino_t_defined +# endif + +# ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +# endif + +# ifndef __nlink_t_defined +typedef __nlink_t nlink_t; +# define __nlink_t_defined +# endif + +# ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +# endif + +# ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +# endif +#endif /* X/Open */ + +#ifdef __USE_UNIX98 +# ifndef __blkcnt_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __blkcnt_t blkcnt_t; +# else +typedef __blkcnt64_t blkcnt_t; +# endif +# define __blkcnt_t_defined +# endif + +# ifndef __blksize_t_defined +typedef __blksize_t blksize_t; +# define __blksize_t_defined +# endif +#endif /* Unix98 */ + +__BEGIN_DECLS + +#include + +#if defined __USE_MISC || defined __USE_XOPEN +# define S_IFMT __S_IFMT +# define S_IFDIR __S_IFDIR +# define S_IFCHR __S_IFCHR +# define S_IFBLK __S_IFBLK +# define S_IFREG __S_IFREG +# ifdef __S_IFIFO +# define S_IFIFO __S_IFIFO +# endif +# ifdef __S_IFLNK +# define S_IFLNK __S_IFLNK +# endif +# if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) \ + && defined __S_IFSOCK +# define S_IFSOCK __S_IFSOCK +# endif +#endif + +/* Test macros for file types. */ + +#define __S_ISTYPE(mode, mask) (((mode) & __S_IFMT) == (mask)) + +#define S_ISDIR(mode) __S_ISTYPE((mode), __S_IFDIR) +#define S_ISCHR(mode) __S_ISTYPE((mode), __S_IFCHR) +#define S_ISBLK(mode) __S_ISTYPE((mode), __S_IFBLK) +#define S_ISREG(mode) __S_ISTYPE((mode), __S_IFREG) +#ifdef __S_IFIFO +# define S_ISFIFO(mode) __S_ISTYPE((mode), __S_IFIFO) +#endif +#ifdef __S_IFLNK +# define S_ISLNK(mode) __S_ISTYPE((mode), __S_IFLNK) +#endif + +#if defined __USE_MISC && !defined __S_IFLNK +# define S_ISLNK(mode) 0 +#endif + +#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K) \ + && defined __S_IFSOCK +# define S_ISSOCK(mode) __S_ISTYPE((mode), __S_IFSOCK) +#elif defined __USE_XOPEN2K +# define S_ISSOCK(mode) 0 +#endif + +/* These are from POSIX.1b. If the objects are not implemented using separate + distinct file types, the macros always will evaluate to zero. Unlike the + other S_* macros the following three take a pointer to a `struct stat' + object as the argument. */ +#ifdef __USE_POSIX199309 +# define S_TYPEISMQ(buf) __S_TYPEISMQ(buf) +# define S_TYPEISSEM(buf) __S_TYPEISSEM(buf) +# define S_TYPEISSHM(buf) __S_TYPEISSHM(buf) +#endif + + +/* Protection bits. */ + +#define S_ISUID __S_ISUID /* Set user ID on execution. */ +#define S_ISGID __S_ISGID /* Set group ID on execution. */ + +#if defined __USE_MISC || defined __USE_XOPEN +/* Save swapped text after use (sticky bit). This is pretty well obsolete. */ +# define S_ISVTX __S_ISVTX +#endif + +#define S_IRUSR __S_IREAD /* Read by owner. */ +#define S_IWUSR __S_IWRITE /* Write by owner. */ +#define S_IXUSR __S_IEXEC /* Execute by owner. */ +/* Read, write, and execute by owner. */ +#define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC) + +#ifdef __USE_MISC +# define S_IREAD S_IRUSR +# define S_IWRITE S_IWUSR +# define S_IEXEC S_IXUSR +#endif + +#define S_IRGRP (S_IRUSR >> 3) /* Read by group. */ +#define S_IWGRP (S_IWUSR >> 3) /* Write by group. */ +#define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */ +/* Read, write, and execute by group. */ +#define S_IRWXG (S_IRWXU >> 3) + +#define S_IROTH (S_IRGRP >> 3) /* Read by others. */ +#define S_IWOTH (S_IWGRP >> 3) /* Write by others. */ +#define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */ +/* Read, write, and execute by others. */ +#define S_IRWXO (S_IRWXG >> 3) + + +#ifdef __USE_MISC +/* Macros for common mode bit masks. */ +# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ +# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* 07777 */ +# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ + +# define S_BLKSIZE 512 /* Block size for `st_blocks'. */ +#endif + + +#ifndef __USE_FILE_OFFSET64 +/* Get file attributes for FILE and put them in BUF. */ +extern int stat (const char *__restrict __file, + struct stat *__restrict __buf) __THROW __nonnull ((1, 2)); + +/* Get file attributes for the file, device, pipe, or socket + that file descriptor FD is open on and put them in BUF. */ +extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2)); +#else +# ifdef __USE_TIME64_REDIRECTS +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (stat, (const char *__restrict __file, + struct stat *__restrict __buf), + __stat64_time64) + __nonnull ((1, 2)); +extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), + __fstat64_time64) + __nonnull ((2)); +# else +# define stat __stat64_time64 +# define fstat __fstat64_time64 +# endif +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (stat, (const char *__restrict __file, + struct stat *__restrict __buf), stat64) + __nonnull ((1, 2)); +extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64) + __nonnull ((2)); +# else +# define stat stat64 +# define fstat fstat64 +# endif +# endif +#endif +#ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +extern int stat64 (const char *__restrict __file, + struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2)); +extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2)); +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (stat64, (const char *__restrict __file, + struct stat64 *__restrict __buf), + __stat64_time64) + __nonnull ((1, 2)); +extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf), + __fstat64_time64) + __nonnull ((2)); +# else +# define stat64 __stat64_time64 +# define fstat64 __fstat64_time64 +# endif +# endif +#endif + +#ifdef __USE_ATFILE +/* Similar to stat, get the attributes for FILE and put them in BUF. + Relative path names are interpreted relative to FD unless FD is + AT_FDCWD. */ +# ifndef __USE_FILE_OFFSET64 +extern int fstatat (int __fd, const char *__restrict __file, + struct stat *__restrict __buf, int __flag) + __THROW __nonnull ((3)); +# else +# ifdef __USE_TIME64_REDIRECTS +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file, + struct stat *__restrict __buf, + int __flag), + __fstatat64_time64) __nonnull ((3)); +# else +# define fstatat __fstatat64_time64 +# endif +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file, + struct stat *__restrict __buf, + int __flag), + fstatat64) __nonnull ((3)); +# else +# define fstatat fstatat64 +# endif +# endif +# endif + +# ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +extern int fstatat64 (int __fd, const char *__restrict __file, + struct stat64 *__restrict __buf, int __flag) + __THROW __nonnull ((3)); +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (fstatat64, (int __fd, + const char *__restrict __file, + struct stat64 *__restrict __buf, + int __flag), + __fstatat64_time64) + __nonnull ((3)); +# else +# define fstatat64 __fstatat64_time64 +# endif +# endif +# endif +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +# ifndef __USE_FILE_OFFSET64 +/* Get file attributes about FILE and put them in BUF. + If FILE is a symbolic link, do not follow it. */ +extern int lstat (const char *__restrict __file, + struct stat *__restrict __buf) __THROW __nonnull ((1, 2)); +# else +# ifdef __USE_TIME64_REDIRECTS +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (lstat, + (const char *__restrict __file, + struct stat *__restrict __buf), __lstat64_time64) + __nonnull ((1, 2)); +# else +# define lstat __lstat64_time64 +# endif +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (lstat, + (const char *__restrict __file, + struct stat *__restrict __buf), lstat64) + __nonnull ((1, 2)); +# else +# define lstat lstat64 +# endif +# endif +# endif +# ifdef __USE_LARGEFILE64 +# ifndef __USE_TIME64_REDIRECTS +extern int lstat64 (const char *__restrict __file, + struct stat64 *__restrict __buf) + __THROW __nonnull ((1, 2)); +# else +extern int __REDIRECT_NTH (lstat64, (const char *__restrict __file, + struct stat64 *__restrict __buf), + __lstat64_time64) + __nonnull ((1, 2)); +# endif +# endif +#endif + +/* Set file access permissions for FILE to MODE. + If FILE is a symbolic link, this affects its target instead. */ +extern int chmod (const char *__file, __mode_t __mode) + __THROW __nonnull ((1)); + +#ifdef __USE_MISC +/* Set file access permissions for FILE to MODE. + If FILE is a symbolic link, this affects the link itself + rather than its target. */ +extern int lchmod (const char *__file, __mode_t __mode) + __THROW __nonnull ((1)); +#endif + +/* Set file access permissions of the file FD is open on to MODE. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED +extern int fchmod (int __fd, __mode_t __mode) __THROW; +#endif + +#ifdef __USE_ATFILE +/* Set file access permissions of FILE relative to + the directory FD is open on. */ +extern int fchmodat (int __fd, const char *__file, __mode_t __mode, + int __flag) + __THROW __nonnull ((2)) __wur; +#endif /* Use ATFILE. */ + + + +/* Set the file creation mask of the current process to MASK, + and return the old creation mask. */ +extern __mode_t umask (__mode_t __mask) __THROW; + +#ifdef __USE_GNU +/* Get the current `umask' value without changing it. + This function is only available under the GNU Hurd. */ +extern __mode_t getumask (void) __THROW; +#endif + +/* Create a new directory named PATH, with permission bits MODE. */ +extern int mkdir (const char *__path, __mode_t __mode) + __THROW __nonnull ((1)); + +#ifdef __USE_ATFILE +/* Like mkdir, create a new directory with permission bits MODE. But + interpret relative PATH names relative to the directory associated + with FD. */ +extern int mkdirat (int __fd, const char *__path, __mode_t __mode) + __THROW __nonnull ((2)); +#endif + +/* Create a device file named PATH, with permission and special bits MODE + and device number DEV (which can be constructed from major and minor + device numbers with the `makedev' macro above). */ +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +extern int mknod (const char *__path, __mode_t __mode, __dev_t __dev) + __THROW __nonnull ((1)); + +# ifdef __USE_ATFILE +/* Like mknod, create a new device file with permission bits MODE and + device number DEV. But interpret relative PATH names relative to + the directory associated with FD. */ +extern int mknodat (int __fd, const char *__path, __mode_t __mode, + __dev_t __dev) __THROW __nonnull ((2)); +# endif +#endif + + +/* Create a new FIFO named PATH, with permission bits MODE. */ +extern int mkfifo (const char *__path, __mode_t __mode) + __THROW __nonnull ((1)); + +#ifdef __USE_ATFILE +/* Like mkfifo, create a new FIFO with permission bits MODE. But + interpret relative PATH names relative to the directory associated + with FD. */ +extern int mkfifoat (int __fd, const char *__path, __mode_t __mode) + __THROW __nonnull ((2)); +#endif + +#ifdef __USE_ATFILE +# ifndef __USE_TIME64_REDIRECTS +/* Set file access and modification times relative to directory file + descriptor. */ +extern int utimensat (int __fd, const char *__path, + const struct timespec __times[2], + int __flags) + __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (utimensat, (int fd, const char *__path, + const struct timespec __times[2], + int flags), + __utimensat64); +# else +# define utimensat __utimensat64 +# endif +# endif +#endif + +#ifdef __USE_XOPEN2K8 +# ifndef __USE_TIME64_REDIRECTS +/* Set file access and modification times of the file associated with FD. */ +extern int futimens (int __fd, const struct timespec __times[2]) __THROW; + +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (futimens, (int fd, const struct timespec __times[2]), + __futimens64); +# else +# define futimens __futimens64 +# endif +# endif +#endif + +#ifdef __USE_GNU +# include +#endif + +__END_DECLS + + +#endif /* sys/stat.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statfs.h new file mode 100644 index 00000000..1e7bd78d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statfs.h @@ -0,0 +1,67 @@ +/* Definitions for getting information about a filesystem. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STATFS_H +#define _SYS_STATFS_H 1 + +#include + +/* Get the system-specific definition of `struct statfs'. */ +#include + +__BEGIN_DECLS + +/* Return information about the filesystem on which FILE resides. */ +#ifndef __USE_FILE_OFFSET64 +extern int statfs (const char *__file, struct statfs *__buf) + __THROW __nonnull ((1, 2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (statfs, + (const char *__file, struct statfs *__buf), + statfs64) __nonnull ((1, 2)); +# else +# define statfs statfs64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int statfs64 (const char *__file, struct statfs64 *__buf) + __THROW __nonnull ((1, 2)); +#endif + +/* Return information about the filesystem containing the file FILDES + refers to. */ +#ifndef __USE_FILE_OFFSET64 +extern int fstatfs (int __fildes, struct statfs *__buf) + __THROW __nonnull ((2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (fstatfs, (int __fildes, struct statfs *__buf), + fstatfs64) __nonnull ((2)); +# else +# define fstatfs fstatfs64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int fstatfs64 (int __fildes, struct statfs64 *__buf) + __THROW __nonnull ((2)); +#endif + +__END_DECLS + +#endif /* sys/statfs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statvfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statvfs.h new file mode 100644 index 00000000..599ac139 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/statvfs.h @@ -0,0 +1,90 @@ +/* Definitions for getting information about a filesystem. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STATVFS_H +#define _SYS_STATVFS_H 1 + +#include + +/* Get the system-specific definition of `struct statvfs'. */ +#include + +#ifndef __USE_FILE_OFFSET64 +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#else +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#endif + +__BEGIN_DECLS + +/* Return information about the filesystem on which FILE resides. */ +#ifndef __USE_FILE_OFFSET64 +extern int statvfs (const char *__restrict __file, + struct statvfs *__restrict __buf) + __THROW __nonnull ((1, 2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (statvfs, + (const char *__restrict __file, + struct statvfs *__restrict __buf), statvfs64) + __nonnull ((1, 2)); +# else +# define statvfs statvfs64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int statvfs64 (const char *__restrict __file, + struct statvfs64 *__restrict __buf) + __THROW __nonnull ((1, 2)); +#endif + +/* Return information about the filesystem containing the file FILDES + refers to. */ +#ifndef __USE_FILE_OFFSET64 +extern int fstatvfs (int __fildes, struct statvfs *__buf) + __THROW __nonnull ((2)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (fstatvfs, (int __fildes, struct statvfs *__buf), + fstatvfs64) __nonnull ((2)); +# else +# define fstatvfs fstatvfs64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern int fstatvfs64 (int __fildes, struct statvfs64 *__buf) + __THROW __nonnull ((2)); +#endif + +__END_DECLS + +#endif /* sys/statvfs.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/swap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/swap.h new file mode 100644 index 00000000..f67cfebb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/swap.h @@ -0,0 +1,43 @@ +/* Calls to enable and disable swapping on specified locations. Linux version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SWAP_H + +#define _SYS_SWAP_H 1 +#include + +/* The swap priority is encoded as: + (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK +*/ +#define SWAP_FLAG_PREFER 0x8000 /* Set if swap priority is specified. */ +#define SWAP_FLAG_PRIO_MASK 0x7fff +#define SWAP_FLAG_PRIO_SHIFT 0 +#define SWAP_FLAG_DISCARD 0x10000 /* Discard swap cluster after use. */ + +__BEGIN_DECLS + +/* Make the block special device PATH available to the system for swapping. + This call is restricted to the super-user. */ +extern int swapon (const char *__path, int __flags) __THROW; + +/* Stop using block special device PATH for swapping. */ +extern int swapoff (const char *__path) __THROW; + +__END_DECLS + +#endif /* _SYS_SWAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syscall.h new file mode 100644 index 00000000..20bebd9b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syscall.h @@ -0,0 +1,31 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYSCALL_H +#define _SYSCALL_H 1 + +/* This file should list the numbers of the system calls the system knows. + But instead of duplicating this we use the information available + from the kernel sources. */ +#include + +/* The Linux kernel header file defines macros __NR_*, but some + programs expect the traditional form SYS_*. + defines SYS_* macros for __NR_* macros of known names. */ +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysinfo.h new file mode 100644 index 00000000..2c1456dd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysinfo.h @@ -0,0 +1,47 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SYSINFO_H +#define _SYS_SYSINFO_H 1 + +#include + +/* Get sysinfo structure from kernel header. */ +#include + +__BEGIN_DECLS + +/* Returns information on overall system statistics. */ +extern int sysinfo (struct sysinfo *__info) __THROW; + + +/* Return number of configured processors. */ +extern int get_nprocs_conf (void) __THROW; + +/* Return number of available processors. */ +extern int get_nprocs (void) __THROW; + + +/* Return number of physical pages of memory in the system. */ +extern long int get_phys_pages (void) __THROW; + +/* Return number of available physical pages of memory in the system. */ +extern long int get_avphys_pages (void) __THROW; + +__END_DECLS + +#endif /* sys/sysinfo.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syslog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syslog.h new file mode 100644 index 00000000..f34473c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/syslog.h @@ -0,0 +1,217 @@ +/* + * Copyright (c) 1982, 1986, 1988, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)syslog.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _SYS_SYSLOG_H +#define _SYS_SYSLOG_H 1 + +#include +#define __need___va_list +#include + +/* This file defines _PATH_LOG. */ +#include + +/* + * priorities/facilities are encoded into a single 32-bit quantity, where the + * bottom 3 bits are the priority (0-7) and the top 28 bits are the facility + * (0-big number). Both the priorities and the facilities map roughly + * one-to-one to strings in the syslogd(8) source code. This mapping is + * included in this file. + * + * priorities (these are ordered) + */ +#define LOG_EMERG 0 /* system is unusable */ +#define LOG_ALERT 1 /* action must be taken immediately */ +#define LOG_CRIT 2 /* critical conditions */ +#define LOG_ERR 3 /* error conditions */ +#define LOG_WARNING 4 /* warning conditions */ +#define LOG_NOTICE 5 /* normal but significant condition */ +#define LOG_INFO 6 /* informational */ +#define LOG_DEBUG 7 /* debug-level messages */ + +#define LOG_PRIMASK 0x07 /* mask to extract priority part (internal) */ + /* extract priority */ +#define LOG_PRI(p) ((p) & LOG_PRIMASK) +#define LOG_MAKEPRI(fac, pri) ((fac) | (pri)) + +#if defined SYSLOG_NAMES && defined __USE_MISC +#define INTERNAL_NOPRI 0x10 /* the "no priority" priority */ + /* mark "facility" */ +#define INTERNAL_MARK LOG_MAKEPRI(LOG_NFACILITIES << 3, 0) +typedef struct _code { + char *c_name; + int c_val; +} CODE; + +CODE prioritynames[] = + { + { "alert", LOG_ALERT }, + { "crit", LOG_CRIT }, + { "debug", LOG_DEBUG }, + { "emerg", LOG_EMERG }, + { "err", LOG_ERR }, + { "error", LOG_ERR }, /* DEPRECATED */ + { "info", LOG_INFO }, + { "none", INTERNAL_NOPRI }, /* INTERNAL */ + { "notice", LOG_NOTICE }, + { "panic", LOG_EMERG }, /* DEPRECATED */ + { "warn", LOG_WARNING }, /* DEPRECATED */ + { "warning", LOG_WARNING }, + { NULL, -1 } + }; +#endif + +/* facility codes */ +#define LOG_KERN (0<<3) /* kernel messages */ +#define LOG_USER (1<<3) /* random user-level messages */ +#define LOG_MAIL (2<<3) /* mail system */ +#define LOG_DAEMON (3<<3) /* system daemons */ +#define LOG_AUTH (4<<3) /* security/authorization messages */ +#define LOG_SYSLOG (5<<3) /* messages generated internally by syslogd */ +#define LOG_LPR (6<<3) /* line printer subsystem */ +#define LOG_NEWS (7<<3) /* network news subsystem */ +#define LOG_UUCP (8<<3) /* UUCP subsystem */ +#define LOG_CRON (9<<3) /* clock daemon */ +#define LOG_AUTHPRIV (10<<3) /* security/authorization messages (private) */ +#define LOG_FTP (11<<3) /* ftp daemon */ + + /* other codes through 15 reserved for system use */ +#define LOG_LOCAL0 (16<<3) /* reserved for local use */ +#define LOG_LOCAL1 (17<<3) /* reserved for local use */ +#define LOG_LOCAL2 (18<<3) /* reserved for local use */ +#define LOG_LOCAL3 (19<<3) /* reserved for local use */ +#define LOG_LOCAL4 (20<<3) /* reserved for local use */ +#define LOG_LOCAL5 (21<<3) /* reserved for local use */ +#define LOG_LOCAL6 (22<<3) /* reserved for local use */ +#define LOG_LOCAL7 (23<<3) /* reserved for local use */ + +#define LOG_NFACILITIES 24 /* current number of facilities */ +#define LOG_FACMASK 0x03f8 /* mask to extract facility part */ + /* facility of pri */ +#define LOG_FAC(p) (((p) & LOG_FACMASK) >> 3) + +#if defined SYSLOG_NAMES && defined __USE_MISC +CODE facilitynames[] = + { + { "auth", LOG_AUTH }, + { "authpriv", LOG_AUTHPRIV }, + { "cron", LOG_CRON }, + { "daemon", LOG_DAEMON }, + { "ftp", LOG_FTP }, + { "kern", LOG_KERN }, + { "lpr", LOG_LPR }, + { "mail", LOG_MAIL }, + { "mark", INTERNAL_MARK }, /* INTERNAL */ + { "news", LOG_NEWS }, + { "security", LOG_AUTH }, /* DEPRECATED */ + { "syslog", LOG_SYSLOG }, + { "user", LOG_USER }, + { "uucp", LOG_UUCP }, + { "local0", LOG_LOCAL0 }, + { "local1", LOG_LOCAL1 }, + { "local2", LOG_LOCAL2 }, + { "local3", LOG_LOCAL3 }, + { "local4", LOG_LOCAL4 }, + { "local5", LOG_LOCAL5 }, + { "local6", LOG_LOCAL6 }, + { "local7", LOG_LOCAL7 }, + { NULL, -1 } + }; +#endif + +/* + * arguments to setlogmask. + */ +#define LOG_MASK(pri) (1 << (pri)) /* mask for one priority */ +#define LOG_UPTO(pri) ((1 << ((pri)+1)) - 1) /* all priorities through pri */ + +/* + * Option flags for openlog. + * + * LOG_ODELAY no longer does anything. + * LOG_NDELAY is the inverse of what it used to be. + */ +#define LOG_PID 0x01 /* log the pid with each message */ +#define LOG_CONS 0x02 /* log on the console if errors in sending */ +#define LOG_ODELAY 0x04 /* delay open until first syslog() (default) */ +#define LOG_NDELAY 0x08 /* don't delay open */ +#define LOG_NOWAIT 0x10 /* don't wait for console forks: DEPRECATED */ +#define LOG_PERROR 0x20 /* log to stderr as well */ + +__BEGIN_DECLS + +/* Close descriptor used to write to system logger. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void closelog (void); + +/* Open connection to system logger. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void openlog (const char *__ident, int __option, int __facility); + +/* Set the log mask level. */ +extern int setlogmask (int __mask) __THROW; + +/* Generate a log message using FMT string and option arguments. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void syslog (int __pri, const char *__fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); + +#ifdef __USE_MISC +/* Generate a log message using FMT and using arguments pointed to by AP. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void vsyslog (int __pri, const char *__fmt, __gnuc_va_list __ap) + __attribute__ ((__format__ (__printf__, 2, 0))); +#endif + + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#else +# include +# if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +# endif +#endif + +__END_DECLS + +#endif /* sys/syslog.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmacros.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmacros.h new file mode 100644 index 00000000..08c384db --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmacros.h @@ -0,0 +1,64 @@ +/* Definitions of macros to access `dev_t' values. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H 1 + +#include +#include +#include + +#define __SYSMACROS_DECL_TEMPL(rtype, name, proto) \ + extern rtype gnu_dev_##name proto __THROW __attribute_const__; + +#define __SYSMACROS_IMPL_TEMPL(rtype, name, proto) \ + __extension__ __extern_inline __attribute_const__ rtype \ + __NTH (gnu_dev_##name proto) + +__BEGIN_DECLS + +__SYSMACROS_DECLARE_MAJOR (__SYSMACROS_DECL_TEMPL) +__SYSMACROS_DECLARE_MINOR (__SYSMACROS_DECL_TEMPL) +__SYSMACROS_DECLARE_MAKEDEV (__SYSMACROS_DECL_TEMPL) + +#ifdef __USE_EXTERN_INLINES + +__SYSMACROS_DEFINE_MAJOR (__SYSMACROS_IMPL_TEMPL) +__SYSMACROS_DEFINE_MINOR (__SYSMACROS_IMPL_TEMPL) +__SYSMACROS_DEFINE_MAKEDEV (__SYSMACROS_IMPL_TEMPL) + +#endif + +__END_DECLS + +#ifndef __SYSMACROS_NEED_IMPLEMENTATION +# undef __SYSMACROS_DECL_TEMPL +# undef __SYSMACROS_IMPL_TEMPL +# undef __SYSMACROS_DECLARE_MAJOR +# undef __SYSMACROS_DECLARE_MINOR +# undef __SYSMACROS_DECLARE_MAKEDEV +# undef __SYSMACROS_DEFINE_MAJOR +# undef __SYSMACROS_DEFINE_MINOR +# undef __SYSMACROS_DEFINE_MAKEDEV +#endif + +#define major(dev) gnu_dev_major (dev) +#define minor(dev) gnu_dev_minor (dev) +#define makedev(maj, min) gnu_dev_makedev (maj, min) + +#endif /* sys/sysmacros.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmips.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmips.h new file mode 100644 index 00000000..c5ef1a59 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/sysmips.h @@ -0,0 +1,42 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_SYSMIPS_H +#define _SYS_SYSMIPS_H 1 + +#include + +/* + * Commands for the sysmips(2) call + * + * sysmips(2) is deprecated - though some existing software uses it. + * We only support the following commands. Sysmips exists for compatibility + * purposes only so new software should avoid it. + */ +#define SETNAME 1 /* set hostname */ +#define FLUSH_CACHE 3 /* writeback and invalidate caches */ +#define MIPS_FIXADE 7 /* control address error fixing */ +#define MIPS_RDNVRAM 10 /* read NVRAM */ +#define MIPS_ATOMIC_SET 2001 /* atomically set variable */ + +__BEGIN_DECLS + +extern int sysmips (const int __cmd, ...) __THROW; + +__END_DECLS + +#endif /* sys/sysmips.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/tas.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/tas.h new file mode 100644 index 00000000..2f9a9bb6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/tas.h @@ -0,0 +1,69 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_TAS_H +#define _SYS_TAS_H 1 + +#include +#include + +__BEGIN_DECLS + +extern int _test_and_set (int *__p, int __v) + __THROW __attribute__ ((__nomips16__)); + +#ifdef __USE_EXTERN_INLINES + +# ifndef _EXTERN_INLINE +# define _EXTERN_INLINE __extern_inline +# endif + +_EXTERN_INLINE int __attribute__ ((__nomips16__)) +__NTH (_test_and_set (int *__p, int __v)) +{ + int __r, __t; + + /* The R5900 reports itself as MIPS III but it does not have LL/SC. */ + __asm__ __volatile__ + ("/* Inline test and set */\n" + ".set push\n\t" +#if _MIPS_SIM == _ABIO32 && (__mips < 2 || defined (_MIPS_ARCH_R5900)) + ".set mips2\n\t" +#endif + "sync\n\t" + "1:\n\t" + "ll %0,%3\n\t" + "move %1,%4\n\t" + "beq %0,%4,2f\n\t" + "sc %1,%2\n\t" + "beqz %1,1b\n" + "sync\n\t" + ".set pop\n\t" + "2:\n\t" + "/* End test and set */" + : "=&r" (__r), "=&r" (__t), "=m" (*__p) + : "m" (*__p), "r" (__v) + : "memory"); + + return __r; +} + +#endif /* __USE_EXTERN_INLINES */ + +__END_DECLS + +#endif /* sys/tas.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/termios.h new file mode 100644 index 00000000..f4df301a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/termios.h @@ -0,0 +1,4 @@ +#ifndef _SYS_TERMIOS_H +#define _SYS_TERMIOS_H +#include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/time.h new file mode 100644 index 00000000..7f9e9e81 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/time.h @@ -0,0 +1,260 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIME_H +#define _SYS_TIME_H 1 + +#include + +#include +#include +#include + +#ifndef __suseconds_t_defined +typedef __suseconds_t suseconds_t; +# define __suseconds_t_defined +#endif + +#include + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Macros for converting between `struct timeval' and `struct timespec'. */ +# define TIMEVAL_TO_TIMESPEC(tv, ts) { \ + (ts)->tv_sec = (tv)->tv_sec; \ + (ts)->tv_nsec = (tv)->tv_usec * 1000; \ +} +# define TIMESPEC_TO_TIMEVAL(tv, ts) { \ + (tv)->tv_sec = (ts)->tv_sec; \ + (tv)->tv_usec = (ts)->tv_nsec / 1000; \ +} +#endif + + +#ifdef __USE_MISC +/* Structure crudely representing a timezone. + This is obsolete and should never be used. */ +struct timezone + { + int tz_minuteswest; /* Minutes west of GMT. */ + int tz_dsttime; /* Nonzero if DST is ever in effect. */ + }; +#endif + +/* Get the current time of day, putting it into *TV. + If TZ is not null, *TZ must be a struct timezone, and both fields + will be set to zero. + Calling this function with a non-null TZ is obsolete; + use localtime etc. instead. + This function itself is semi-obsolete; + most callers should use time or clock_gettime instead. */ +#ifndef __USE_TIME64_REDIRECTS +extern int gettimeofday (struct timeval *__restrict __tv, + void *__restrict __tz) __THROW __nonnull ((1)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (gettimeofday, (struct timeval *__restrict __tv, + void *__restrict __tz), + __gettimeofday64) __nonnull ((1)); +# else +# define gettimeofday __gettimeofday64 +# endif +#endif + +#ifdef __USE_MISC +# ifndef __USE_TIME64_REDIRECTS +/* Set the current time of day and timezone information. + This call is restricted to the super-user. + Setting the timezone in this way is obsolete, but we don't yet + warn about it because it still has some uses for which there is + no alternative. */ +extern int settimeofday (const struct timeval *__tv, + const struct timezone *__tz) + __THROW; + +/* Adjust the current time of day by the amount in DELTA. + If OLDDELTA is not NULL, it is filled in with the amount + of time adjustment remaining to be done from the last `adjtime' call. + This call is restricted to the super-user. */ +extern int adjtime (const struct timeval *__delta, + struct timeval *__olddelta) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (settimeofday, (const struct timeval *__tv, + const struct timezone *__tz), + __settimeofday64); + +extern int __REDIRECT_NTH (adjtime, (const struct timeval *__delta, + struct timeval *__olddelta), + __adjtime64); +# else +# define settimeofday __settimeofday64 +# define adjtime __adjtime64 +# endif +# endif +#endif + + +/* Values for the first argument to `getitimer' and `setitimer'. */ +enum __itimer_which + { + /* Timers run in real time. */ + ITIMER_REAL = 0, +#define ITIMER_REAL ITIMER_REAL + /* Timers run only when the process is executing. */ + ITIMER_VIRTUAL = 1, +#define ITIMER_VIRTUAL ITIMER_VIRTUAL + /* Timers run when the process is executing and when + the system is executing on behalf of the process. */ + ITIMER_PROF = 2 +#define ITIMER_PROF ITIMER_PROF + }; + +/* Type of the second argument to `getitimer' and + the second and third arguments `setitimer'. */ +struct itimerval + { + /* Value to put into `it_value' when the timer expires. */ + struct timeval it_interval; + /* Time to the next timer expiration. */ + struct timeval it_value; + }; + +#if defined __USE_GNU && !defined __cplusplus +/* Use the nicer parameter type only in GNU mode and not for C++ since the + strict C++ rules prevent the automatic promotion. */ +typedef enum __itimer_which __itimer_which_t; +#else +typedef int __itimer_which_t; +#endif + +#ifndef __USE_TIME64_REDIRECTS +/* Set *VALUE to the current setting of timer WHICH. + Return 0 on success, -1 on errors. */ +extern int getitimer (__itimer_which_t __which, + struct itimerval *__value) __THROW; + +/* Set the timer WHICH to *NEW. If OLD is not NULL, + set *OLD to the old value of timer WHICH. + Returns 0 on success, -1 on errors. */ +extern int setitimer (__itimer_which_t __which, + const struct itimerval *__restrict __new, + struct itimerval *__restrict __old) __THROW; + +/* Change the access time of FILE to TVP[0] and the modification time of + FILE to TVP[1]. If TVP is a null pointer, use the current time instead. + Returns 0 on success, -1 on errors. */ +extern int utimes (const char *__file, const struct timeval __tvp[2]) + __THROW __nonnull ((1)); + +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (getitimer, (__itimer_which_t __which, + struct itimerval *__value), + __getitimer64); + +extern int __REDIRECT_NTH (setitimer, (__itimer_which_t __which, + const struct itimerval *__restrict __new, + struct itimerval *__restrict __old), + __setitimer64); + +extern int __REDIRECT_NTH (utimes, (const char *__file, + const struct timeval __tvp[2]), + __utimes64) __nonnull ((1)); +# else +# define getitimer __getitimer64 +# define setitimer __setitimer64 +# define utimes __utimes64 +# endif +#endif + +#ifdef __USE_MISC +# ifndef __USE_TIME64_REDIRECTS +/* Same as `utimes', but does not follow symbolic links. */ +extern int lutimes (const char *__file, const struct timeval __tvp[2]) + __THROW __nonnull ((1)); + +/* Same as `utimes', but takes an open file descriptor instead of a name. */ +extern int futimes (int __fd, const struct timeval __tvp[2]) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (lutimes, (const char *__file, + const struct timeval __tvp[2]), + __lutimes64) __nonnull ((1)); + +extern int __REDIRECT_NTH (futimes, (int __fd, const struct timeval __tvp[2]), + __futimes64); +# else +# define lutimes __lutimes64 +# define futimes __futimes64 +# endif +# endif +#endif + +#ifdef __USE_GNU +# ifndef __USE_TIME64_REDIRECTS +/* Change the access time of FILE relative to FD to TVP[0] and the + modification time of FILE to TVP[1]. If TVP is a null pointer, use + the current time instead. Returns 0 on success, -1 on errors. */ +extern int futimesat (int __fd, const char *__file, + const struct timeval __tvp[2]) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (futimesat, (int __fd, const char *__file, + const struct timeval __tvp[2]), + __futimesat64); +# else +# define futimesat __futimesat64 +# endif +# endif +#endif + + +#ifdef __USE_MISC +/* Convenience macros for operations on timevals. + NOTE: `timercmp' does not work for >= or <=. */ +# define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec) +# define timerclear(tvp) ((tvp)->tv_sec = (tvp)->tv_usec = 0) +# define timercmp(a, b, CMP) \ + (((a)->tv_sec == (b)->tv_sec) \ + ? ((a)->tv_usec CMP (b)->tv_usec) \ + : ((a)->tv_sec CMP (b)->tv_sec)) +# define timeradd(a, b, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec + (b)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec + (b)->tv_usec; \ + if ((result)->tv_usec >= 1000000) \ + { \ + ++(result)->tv_sec; \ + (result)->tv_usec -= 1000000; \ + } \ + } while (0) +# define timersub(a, b, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ + if ((result)->tv_usec < 0) { \ + --(result)->tv_sec; \ + (result)->tv_usec += 1000000; \ + } \ + } while (0) +#endif /* Misc. */ + +__END_DECLS + +#endif /* sys/time.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timeb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timeb.h new file mode 100644 index 00000000..30cef7dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timeb.h @@ -0,0 +1,35 @@ +/* Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMEB_H +#define _SYS_TIMEB_H 1 + +#include + +__BEGIN_DECLS + +# include + +/* Fill in TIMEBUF with information about the current time. */ + +extern int ftime (struct timeb *__timebuf) + __nonnull ((1)) + __attribute_deprecated_msg__ ("Use gettimeofday or clock_gettime instead"); + +__END_DECLS + +#endif /* sys/timeb.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timerfd.h new file mode 100644 index 00000000..4fcf48d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timerfd.h @@ -0,0 +1,77 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +#define _SYS_TIMERFD_H 1 + +#include +#include + +/* Get the platform-dependent flags. */ +#include + + +/* Bits to be set in the FLAGS parameter of `timerfd_settime'. */ +enum + { + TFD_TIMER_ABSTIME = 1 << 0, +#define TFD_TIMER_ABSTIME TFD_TIMER_ABSTIME + TFD_TIMER_CANCEL_ON_SET = 1 << 1 +#define TFD_TIMER_CANCEL_ON_SET TFD_TIMER_CANCEL_ON_SET + }; + + +__BEGIN_DECLS + +/* Return file descriptor for new interval timer source. */ +extern int timerfd_create (__clockid_t __clock_id, int __flags) __THROW; + +/* Set next expiration time of interval timer source UFD to UTMR. If + FLAGS has the TFD_TIMER_ABSTIME flag set the timeout value is + absolute. Optionally return the old expiration time in OTMR. */ +extern int timerfd_settime (int __ufd, int __flags, + const struct itimerspec *__utmr, + struct itimerspec *__otmr) __THROW; + +#ifdef __USE_TIME64_REDIRECTS +# if defined(__REDIRECT_NTH) +extern int __REDIRECT_NTH (timerfd_settime, + (int __ufd, int __flags, + const struct itimerspec *__restrict __value, + struct itimerspec *__restrict __ovalue), + __timerfd_settime64); +# else +# define timerfd_settime __timerfd_settime64 +# endif +#endif + +/* Return the next expiration time of UFD. */ +extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW; + +#ifdef __USE_TIME64_REDIRECTS +# if defined(__REDIRECT_NTH) +extern int __REDIRECT_NTH (timerfd_gettime, (int __ufd, + struct itimerspec *__otmr), + __timerfd_gettime64); +# else +# define timerfd_gettime __timerfd_gettime64 +# endif +#endif + +__END_DECLS + +#endif /* sys/timerfd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/times.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/times.h new file mode 100644 index 00000000..eccd085d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/times.h @@ -0,0 +1,50 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 4.5.2 Process Times + */ + +#ifndef _SYS_TIMES_H +#define _SYS_TIMES_H 1 + +#include + +#include + +__BEGIN_DECLS + +/* Structure describing CPU time used by a process and its children. */ +struct tms + { + clock_t tms_utime; /* User CPU time. */ + clock_t tms_stime; /* System CPU time. */ + + clock_t tms_cutime; /* User CPU time of dead children. */ + clock_t tms_cstime; /* System CPU time of dead children. */ + }; + + +/* Store the CPU time used by this process and all its + dead children (and their dead children) in BUFFER. + Return the elapsed real time, or (clock_t) -1 for errors. + All times are in CLK_TCKths of a second. */ +extern clock_t times (struct tms *__buffer) __THROW; + +__END_DECLS + +#endif /* sys/times.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timex.h new file mode 100644 index 00000000..40e405c0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/timex.h @@ -0,0 +1,88 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMEX_H +#define _SYS_TIMEX_H 1 + +#include +#include + +/* These definitions from linux/timex.h as of 2.6.30. */ + +#include + +#define NTP_API 4 /* NTP API version */ + +struct ntptimeval +{ + struct timeval time; /* current time (ro) */ + long int maxerror; /* maximum error (us) (ro) */ + long int esterror; /* estimated error (us) (ro) */ + long int tai; /* TAI offset (ro) */ + + long int __glibc_reserved1; + long int __glibc_reserved2; + long int __glibc_reserved3; + long int __glibc_reserved4; +}; + +/* Clock states (time_state) */ +#define TIME_OK 0 /* clock synchronized, no leap second */ +#define TIME_INS 1 /* insert leap second */ +#define TIME_DEL 2 /* delete leap second */ +#define TIME_OOP 3 /* leap second in progress */ +#define TIME_WAIT 4 /* leap second has occurred */ +#define TIME_ERROR 5 /* clock not synchronized */ +#define TIME_BAD TIME_ERROR /* bw compat */ + +/* Maximum time constant of the PLL. */ +#define MAXTC 6 + +__BEGIN_DECLS + +#ifndef __USE_TIME64_REDIRECTS +extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); +extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1)); + +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), + ntp_gettimex) __nonnull ((1)); +# else +# define ntp_gettime ntp_gettimex +# endif +extern int ntp_adjtime (struct timex *__tntx) __THROW __nonnull ((1)); +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (adjtimex, (struct timex *__ntx), + ___adjtimex64) __nonnull ((1)); +extern int __REDIRECT_NTH (ntp_gettime, (struct ntptimeval *__ntv), + __ntp_gettime64) __nonnull ((1)); +extern int __REDIRECT_NTH (ntp_gettimex, (struct ntptimeval *__ntv), + __ntp_gettimex64) __nonnull ((1)); +extern int __REDIRECT_NTH (ntp_adjtime, (struct timex *__ntx), + ___adjtimex64) __nonnull ((1)); +# else +# define adjtimex ___adjtimex64 +# define ntp_adjtime ___adjtimex64 +# define ntp_gettime __ntp_gettime64 +# define ntp_gettimex __ntp_gettimex64 +# endif +#endif + +__END_DECLS + +#endif /* sys/timex.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttychars.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttychars.h new file mode 100644 index 00000000..49273266 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttychars.h @@ -0,0 +1,61 @@ +/*- + * Copyright (c) 1982, 1986, 1990, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttychars.h 8.2 (Berkeley) 1/4/94 + */ + +/* + * 4.3 COMPATIBILITY FILE + * + * User visible structures and constants related to terminal handling. + */ +#ifndef _SYS_TTYCHARS_H +#define _SYS_TTYCHARS_H 1 + +struct ttychars { + char tc_erase; /* erase last character */ + char tc_kill; /* erase entire line */ + char tc_intrc; /* interrupt */ + char tc_quitc; /* quit */ + char tc_startc; /* start output */ + char tc_stopc; /* stop output */ + char tc_eofc; /* end-of-file */ + char tc_brkc; /* input delimiter (like nl) */ + char tc_suspc; /* stop process signal */ + char tc_dsuspc; /* delayed stop process signal */ + char tc_rprntc; /* reprint line */ + char tc_flushc; /* flush output (toggles) */ + char tc_werasc; /* word erase */ + char tc_lnextc; /* literal next character */ +}; + +#ifdef __USE_OLD_TTY +#include /* to pick up character defaults */ +#endif + +#endif /* sys/ttychars.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttydefaults.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttydefaults.h new file mode 100644 index 00000000..946b9069 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ttydefaults.h @@ -0,0 +1,100 @@ +/*- + * Copyright (c) 1982, 1986, 1993 + * The Regents of the University of California. All rights reserved. + * (c) UNIX System Laboratories, Inc. + * All or some portions of this file are derived from material licensed + * to the University of California by American Telephone and Telegraph + * Co. or Unix System Laboratories, Inc. and are reproduced herein with + * the permission of UNIX System Laboratories, Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 + */ + +/* + * System wide defaults for terminal state. Linux version. + */ +#ifndef _SYS_TTYDEFAULTS_H_ +#define _SYS_TTYDEFAULTS_H_ + +/* + * Defaults on "first" open. + */ +#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) +#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) +#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) +#define TTYDEF_SPEED (B9600) + +/* + * Control Character Defaults + */ +#define CTRL(x) (x&037) +#define CEOF CTRL('d') +#ifdef _POSIX_VDISABLE +# define CEOL _POSIX_VDISABLE +#else +# define CEOL '\0' /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CERASE 0177 +#define CINTR CTRL('c') +#ifdef _POSIX_VDISABLE +# define CSTATUS _POSIX_VDISABLE +#else +# define CSTATUS '\0' /* XXX avoid _POSIX_VDISABLE */ +#endif +#define CKILL CTRL('u') +#define CMIN 1 +#define CQUIT 034 /* FS, ^\ */ +#define CSUSP CTRL('z') +#define CTIME 0 +#define CDSUSP CTRL('y') +#define CSTART CTRL('q') +#define CSTOP CTRL('s') +#define CLNEXT CTRL('v') +#define CDISCARD CTRL('o') +#define CWERASE CTRL('w') +#define CREPRINT CTRL('r') +#define CEOT CEOF +/* compat */ +#define CBRK CEOL +#define CRPRNT CREPRINT +#define CFLUSH CDISCARD + +/* PROTECTED INCLUSION ENDS HERE */ +#endif /* !_SYS_TTYDEFAULTS_H_ */ + +/* + * #define TTYDEFCHARS to include an array of default control characters. + */ +#ifdef TTYDEFCHARS +cc_t ttydefchars[NCCS] = { + CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, + _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, + CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE +}; +#undef TTYDEFCHARS +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/types.h new file mode 100644 index 00000000..3e0c7f44 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/types.h @@ -0,0 +1,232 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 2.6 Primitive System Data Types + */ + +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H 1 + +#include + +__BEGIN_DECLS + +#include + +#ifdef __USE_MISC +# ifndef __u_char_defined +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; +# define __u_char_defined +# endif +typedef __loff_t loff_t; +#endif + +#ifndef __ino_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __ino_t ino_t; +# else +typedef __ino64_t ino_t; +# endif +# define __ino_t_defined +#endif +#if defined __USE_LARGEFILE64 && !defined __ino64_t_defined +typedef __ino64_t ino64_t; +# define __ino64_t_defined +#endif + +#ifndef __dev_t_defined +typedef __dev_t dev_t; +# define __dev_t_defined +#endif + +#ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +#endif + +#ifndef __mode_t_defined +typedef __mode_t mode_t; +# define __mode_t_defined +#endif + +#ifndef __nlink_t_defined +typedef __nlink_t nlink_t; +# define __nlink_t_defined +#endif + +#ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +#endif + +#ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +#endif +#if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +#endif + +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +#if (defined __USE_XOPEN || defined __USE_XOPEN2K8) \ + && !defined __id_t_defined +typedef __id_t id_t; +# define __id_t_defined +#endif + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + +#ifdef __USE_MISC +# ifndef __daddr_t_defined +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; +# define __daddr_t_defined +# endif +#endif + +#if (defined __USE_MISC || defined __USE_XOPEN) && !defined __key_t_defined +typedef __key_t key_t; +# define __key_t_defined +#endif + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +# include +#endif +#include +#include +#include + +#ifdef __USE_XOPEN +# ifndef __useconds_t_defined +typedef __useconds_t useconds_t; +# define __useconds_t_defined +# endif +# ifndef __suseconds_t_defined +typedef __suseconds_t suseconds_t; +# define __suseconds_t_defined +# endif +#endif + +#define __need_size_t +#include + +#ifdef __USE_MISC +/* Old compatibility names for C types. */ +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +#endif + +/* These size-specific names are used by some of the inet code. */ + +#include + +/* These were defined by ISO C without the first `_'. */ +typedef __uint8_t u_int8_t; +typedef __uint16_t u_int16_t; +typedef __uint32_t u_int32_t; +typedef __uint64_t u_int64_t; + +#if __GNUC_PREREQ (2, 7) +typedef int register_t __attribute__ ((__mode__ (__word__))); +#else +typedef int register_t; +#endif + +/* Some code from BIND tests this macro to see if the types above are + defined. */ +#define __BIT_TYPES_DEFINED__ 1 + + +#ifdef __USE_MISC +/* In BSD is expected to define BYTE_ORDER. */ +# include + +/* It also defines `fd_set' and the FD_* macros for `select'. */ +# include +#endif /* Use misc. */ + + +#if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) \ + && !defined __blksize_t_defined +typedef __blksize_t blksize_t; +# define __blksize_t_defined +#endif + +/* Types from the Large File Support interface. */ +#ifndef __USE_FILE_OFFSET64 +# ifndef __blkcnt_t_defined +typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#else +# ifndef __blkcnt_t_defined +typedef __blkcnt64_t blkcnt_t; /* Type to count number of disk blocks. */ +# define __blkcnt_t_defined +# endif +# ifndef __fsblkcnt_t_defined +typedef __fsblkcnt64_t fsblkcnt_t; /* Type to count file system blocks. */ +# define __fsblkcnt_t_defined +# endif +# ifndef __fsfilcnt_t_defined +typedef __fsfilcnt64_t fsfilcnt_t; /* Type to count file system inodes. */ +# define __fsfilcnt_t_defined +# endif +#endif + +#ifdef __USE_LARGEFILE64 +typedef __blkcnt64_t blkcnt64_t; /* Type to count number of disk blocks. */ +typedef __fsblkcnt64_t fsblkcnt64_t; /* Type to count file system blocks. */ +typedef __fsfilcnt64_t fsfilcnt64_t; /* Type to count file system inodes. */ +#endif + + +/* Now add the thread types. */ +#if defined __USE_POSIX199506 || defined __USE_UNIX98 +# include +#endif + +__END_DECLS + +#endif /* sys/types.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ucontext.h new file mode 100644 index 00000000..90543bcf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/ucontext.h @@ -0,0 +1,124 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Don't rely on this, the interface is currently messed up and may need to + be broken to be fixed. */ +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#include + + +/* Type for general register. Even in o32 we assume 64-bit registers, + like the kernel. */ +__extension__ typedef unsigned long long int greg_t; + +/* Number of general registers. */ +#define __NGREG 32 +#define __NFPREG 32 +#ifdef __USE_MISC +# define NGREG __NGREG +# define NFPREG __NFPREG +#endif + +/* Container for all general registers. */ +typedef greg_t gregset_t[__NGREG]; + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +/* Container for all FPU registers. */ +typedef struct { + union { + double __ctx(fp_dregs)[__NFPREG]; + struct { + float _fp_fregs; + unsigned int _fp_pad; + } __ctx(fp_fregs)[__NFPREG]; + } __ctx(fp_r); +} fpregset_t; + + +/* Context to describe whole processor state. */ +#if _MIPS_SIM == _ABIO32 +/* Earlier versions of glibc for mips had an entirely different + definition of mcontext_t, that didn't even resemble the + corresponding kernel data structure. Fortunately, makecontext, + [gs]etcontext et all were not implemented back then, so this can + still be rectified. */ +typedef struct + { + unsigned int __ctx(regmask); + unsigned int __ctx(status); + greg_t __ctx(pc); + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + unsigned int __ctx(fp_owned); + unsigned int __ctx(fpc_csr); + unsigned int __ctx(fpc_eir); + unsigned int __ctx(used_math); + unsigned int __ctx(dsp); + greg_t __ctx(mdhi); + greg_t __ctx(mdlo); + unsigned long __ctx(hi1); + unsigned long __ctx(lo1); + unsigned long __ctx(hi2); + unsigned long __ctx(lo2); + unsigned long __ctx(hi3); + unsigned long __ctx(lo3); + } mcontext_t; +#else +typedef struct + { + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + greg_t __ctx(mdhi); + greg_t __ctx(hi1); + greg_t __ctx(hi2); + greg_t __ctx(hi3); + greg_t __ctx(mdlo); + greg_t __ctx(lo1); + greg_t __ctx(lo2); + greg_t __ctx(lo3); + greg_t __ctx(pc); + unsigned int __ctx(fpc_csr); + unsigned int __ctx(used_math); + unsigned int __ctx(dsp); + unsigned int __glibc_reserved1; + } mcontext_t; +#endif + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/uio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/uio.h new file mode 100644 index 00000000..bfebc145 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/uio.h @@ -0,0 +1,182 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UIO_H +#define _SYS_UIO_H 1 + +#include +#include +#include +#include +#ifdef __IOV_MAX +# define UIO_MAXIOV __IOV_MAX +#else +# undef UIO_MAXIOV +#endif + +__BEGIN_DECLS + +/* Read data from file descriptor FD, and put the result in the + buffers described by IOVEC, which is a vector of COUNT 'struct iovec's. + The buffers are filled in the order specified. + Operates just like 'read' (see ) except that data are + put in IOVEC instead of a contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t readv (int __fd, const struct iovec *__iovec, int __count) + __wur __attr_access ((__read_only__, 2, 3)); + +/* Write data pointed by the buffers described by IOVEC, which + is a vector of COUNT 'struct iovec's, to file descriptor FD. + The data is written in the order specified. + Operates just like 'write' (see ) except that the data + are taken from IOVEC instead of a contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t writev (int __fd, const struct iovec *__iovec, int __count) + __wur __attr_access ((__read_only__, 2, 3)); + + +#ifdef __USE_MISC +# ifndef __USE_FILE_OFFSET64 +/* Read data from file descriptor FD at the given position OFFSET + without change the file pointer, and put the result in the buffers + described by IOVEC, which is a vector of COUNT 'struct iovec's. + The buffers are filled in the order specified. Operates just like + 'pread' (see ) except that data are put in IOVEC instead + of a contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t preadv (int __fd, const struct iovec *__iovec, int __count, + __off_t __offset) + __wur __attr_access ((__read_only__, 2, 3)); + +/* Write data pointed by the buffers described by IOVEC, which is a + vector of COUNT 'struct iovec's, to file descriptor FD at the given + position OFFSET without change the file pointer. The data is + written in the order specified. Operates just like 'pwrite' (see + ) except that the data are taken from IOVEC instead of a + contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t pwritev (int __fd, const struct iovec *__iovec, int __count, + __off_t __offset) + __wur __attr_access ((__read_only__, 2, 3)); + +# else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (preadv, (int __fd, const struct iovec *__iovec, + int __count, __off64_t __offset), + preadv64) + __wur __attr_access ((__read_only__, 2, 3)); +extern ssize_t __REDIRECT (pwritev, (int __fd, const struct iovec *__iovec, + int __count, __off64_t __offset), + pwritev64) + __wur __attr_access ((__read_only__, 2, 3)); +# else +# define preadv preadv64 +# define pwritev pwritev64 +# endif +# endif + +# ifdef __USE_LARGEFILE64 +/* Read data from file descriptor FD at the given position OFFSET + without change the file pointer, and put the result in the buffers + described by IOVEC, which is a vector of COUNT 'struct iovec's. + The buffers are filled in the order specified. Operates just like + 'pread' (see ) except that data are put in IOVEC instead + of a contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t preadv64 (int __fd, const struct iovec *__iovec, int __count, + __off64_t __offset) + __wur __attr_access ((__read_only__, 2, 3)); + +/* Write data pointed by the buffers described by IOVEC, which is a + vector of COUNT 'struct iovec's, to file descriptor FD at the given + position OFFSET without change the file pointer. The data is + written in the order specified. Operates just like 'pwrite' (see + ) except that the data are taken from IOVEC instead of a + contiguous buffer. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t pwritev64 (int __fd, const struct iovec *__iovec, int __count, + __off64_t __offset) + __wur __attr_access ((__read_only__, 2, 3)); +# endif +#endif /* Use misc. */ + + +#ifdef __USE_GNU +# ifndef __USE_FILE_OFFSET64 +/* Same as preadv but with an additional flag argumenti defined at uio.h. */ +extern ssize_t preadv2 (int __fp, const struct iovec *__iovec, int __count, + __off_t __offset, int ___flags) + __wur __attr_access ((__read_only__, 2, 3)); + +/* Same as preadv but with an additional flag argument defined at uio.h. */ +extern ssize_t pwritev2 (int __fd, const struct iovec *__iodev, int __count, + __off_t __offset, int __flags) __wur; + +# else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (pwritev2, (int __fd, const struct iovec *__iovec, + int __count, __off64_t __offset, + int __flags), + pwritev64v2) + __wur __attr_access ((__read_only__, 2, 3)); +extern ssize_t __REDIRECT (preadv2, (int __fd, const struct iovec *__iovec, + int __count, __off64_t __offset, + int __flags), + preadv64v2) + __wur __attr_access ((__read_only__, 2, 3)); +# else +# define preadv2 preadv64v2 +# define pwritev2 pwritev64v2 +# endif +# endif + +# ifdef __USE_LARGEFILE64 +/* Same as preadv but with an additional flag argumenti defined at uio.h. */ +extern ssize_t preadv64v2 (int __fp, const struct iovec *__iovec, + int __count, __off64_t __offset, + int ___flags) + __wur __attr_access ((__read_only__, 2, 3)); + +/* Same as preadv but with an additional flag argument defined at uio.h. */ +extern ssize_t pwritev64v2 (int __fd, const struct iovec *__iodev, + int __count, __off64_t __offset, + int __flags) + __wur __attr_access ((__read_only__, 2, 3)); +# endif +#endif /* Use GNU. */ + +__END_DECLS + +/* Some operating systems provide system-specific extensions to this + header. */ +#ifdef __USE_GNU +# include +#endif + +#endif /* sys/uio.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/un.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/un.h new file mode 100644 index 00000000..0c77b772 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/un.h @@ -0,0 +1,47 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UN_H +#define _SYS_UN_H 1 + +#include + +/* Get the definition of the macro to define the common sockaddr members. */ +#include + +__BEGIN_DECLS + +/* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */ +struct __attribute_struct_may_alias__ sockaddr_un + { + __SOCKADDR_COMMON (sun_); + char sun_path[108]; /* Path name. */ + }; + + +#ifdef __USE_MISC +# include +# include /* For prototype of `strlen'. */ + +/* Evaluate to actual length of the `sockaddr_un' structure. */ +# define SUN_LEN(ptr) (offsetof (struct sockaddr_un, sun_path) \ + + strlen ((ptr)->sun_path)) +#endif + +__END_DECLS + +#endif /* sys/un.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/unistd.h new file mode 100644 index 00000000..dfe3400d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/unistd.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/user.h new file mode 100644 index 00000000..08a54ee5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/user.h @@ -0,0 +1,210 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include +#include + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +/* #include */ +/* Instead of including the kernel header, that will vary depending on + whether the 32- or the 64-bit kernel is installed, we paste its + contents here. Note that the fact that the file is inline here, + instead of included separately, doesn't change in any way the + licensing status of a program that includes user.h. Since this is + for gdb alone, and gdb is GPLed, no surprises here. */ +#if _MIPS_SIM == _ABIO32 +/* + * Various register offset definitions for debuggers, core file + * examiners and whatnot. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999 by Ralf Baechle + */ +#ifndef __ASM_MIPS_REG_H +#define __ASM_MIPS_REG_H + +/* + * This defines/structures correspond to the register layout on stack - + * if the order here is changed, it needs to be updated in + * include/asm-mips/stackframe.h + */ +#define EF_REG0 6 +#define EF_REG1 7 +#define EF_REG2 8 +#define EF_REG3 9 +#define EF_REG4 10 +#define EF_REG5 11 +#define EF_REG6 12 +#define EF_REG7 13 +#define EF_REG8 14 +#define EF_REG9 15 +#define EF_REG10 16 +#define EF_REG11 17 +#define EF_REG12 18 +#define EF_REG13 19 +#define EF_REG14 20 +#define EF_REG15 21 +#define EF_REG16 22 +#define EF_REG17 23 +#define EF_REG18 24 +#define EF_REG19 25 +#define EF_REG20 26 +#define EF_REG21 27 +#define EF_REG22 28 +#define EF_REG23 29 +#define EF_REG24 30 +#define EF_REG25 31 +/* + * k0/k1 unsaved + */ +#define EF_REG28 34 +#define EF_REG29 35 +#define EF_REG30 36 +#define EF_REG31 37 + +/* + * Saved special registers + */ +#define EF_LO 38 +#define EF_HI 39 + +#define EF_CP0_EPC 40 +#define EF_CP0_BADVADDR 41 +#define EF_CP0_STATUS 42 +#define EF_CP0_CAUSE 43 + +#define EF_SIZE 180 /* size in bytes */ + +#endif /* __ASM_MIPS_REG_H */ + +#else /* _MIPS_SIM != _ABIO32 */ + +/* + * Various register offset definitions for debuggers, core file + * examiners and whatnot. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999 Ralf Baechle + * Copyright (C) 1995, 1999 Silicon Graphics + */ +#ifndef _ASM_REG_H +#define _ASM_REG_H + +/* + * This defines/structures correspond to the register layout on stack - + * if the order here is changed, it needs to be updated in + * include/asm-mips/stackframe.h + */ +#define EF_REG0 0 +#define EF_REG1 1 +#define EF_REG2 2 +#define EF_REG3 3 +#define EF_REG4 4 +#define EF_REG5 5 +#define EF_REG6 6 +#define EF_REG7 7 +#define EF_REG8 8 +#define EF_REG9 9 +#define EF_REG10 10 +#define EF_REG11 11 +#define EF_REG12 12 +#define EF_REG13 13 +#define EF_REG14 14 +#define EF_REG15 15 +#define EF_REG16 16 +#define EF_REG17 17 +#define EF_REG18 18 +#define EF_REG19 19 +#define EF_REG20 20 +#define EF_REG21 21 +#define EF_REG22 22 +#define EF_REG23 23 +#define EF_REG24 24 +#define EF_REG25 25 +/* + * k0/k1 unsaved + */ +#define EF_REG28 28 +#define EF_REG29 29 +#define EF_REG30 30 +#define EF_REG31 31 + +/* + * Saved special registers + */ +#define EF_LO 32 +#define EF_HI 33 + +#define EF_CP0_EPC 34 +#define EF_CP0_BADVADDR 35 +#define EF_CP0_STATUS 36 +#define EF_CP0_CAUSE 37 + +#define EF_SIZE 304 /* size in bytes */ + +#endif /* _ASM_REG_H */ + +#endif /* _MIPS_SIM != _ABIO32 */ + +#if _MIPS_SIM == _ABIO32 + +struct user +{ + unsigned long regs[EF_SIZE/4+64]; /* integer and fp regs */ + size_t u_tsize; /* text size (pages) */ + size_t u_dsize; /* data size (pages) */ + size_t u_ssize; /* stack size (pages) */ + unsigned long start_code; /* text starting address */ + unsigned long start_data; /* data starting address */ + unsigned long start_stack; /* stack starting address */ + long int signal; /* signal causing core dump */ + void* u_ar0; /* help gdb find registers */ + unsigned long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#else + +struct user { + __extension__ unsigned long regs[EF_SIZE/8+64]; /* integer and fp regs */ + __extension__ unsigned long u_tsize; /* text size (pages) */ + __extension__ unsigned long u_dsize; /* data size (pages) */ + __extension__ unsigned long u_ssize; /* stack size (pages) */ + __extension__ unsigned long long start_code; /* text starting address */ + __extension__ unsigned long long start_data; /* data starting address */ + __extension__ unsigned long long start_stack; /* stack starting address */ + __extension__ long long signal; /* signal causing core dump */ + __extension__ unsigned long long u_ar0; /* help gdb find registers */ + __extension__ unsigned long long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#endif + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/utsname.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/utsname.h new file mode 100644 index 00000000..c48a67a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/utsname.h @@ -0,0 +1,86 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 4.4 System Identification + */ + +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H 1 + +#include + +__BEGIN_DECLS + +#include + +#ifndef _UTSNAME_SYSNAME_LENGTH +# define _UTSNAME_SYSNAME_LENGTH _UTSNAME_LENGTH +#endif +#ifndef _UTSNAME_NODENAME_LENGTH +# define _UTSNAME_NODENAME_LENGTH _UTSNAME_LENGTH +#endif +#ifndef _UTSNAME_RELEASE_LENGTH +# define _UTSNAME_RELEASE_LENGTH _UTSNAME_LENGTH +#endif +#ifndef _UTSNAME_VERSION_LENGTH +# define _UTSNAME_VERSION_LENGTH _UTSNAME_LENGTH +#endif +#ifndef _UTSNAME_MACHINE_LENGTH +# define _UTSNAME_MACHINE_LENGTH _UTSNAME_LENGTH +#endif + +/* Structure describing the system and machine. */ +struct utsname + { + /* Name of the implementation of the operating system. */ + char sysname[_UTSNAME_SYSNAME_LENGTH]; + + /* Name of this node on the network. */ + char nodename[_UTSNAME_NODENAME_LENGTH]; + + /* Current release level of this implementation. */ + char release[_UTSNAME_RELEASE_LENGTH]; + /* Current version level of this release. */ + char version[_UTSNAME_VERSION_LENGTH]; + + /* Name of the hardware type the system is running on. */ + char machine[_UTSNAME_MACHINE_LENGTH]; + +#if _UTSNAME_DOMAIN_LENGTH - 0 + /* Name of the domain of this node on the network. */ +# ifdef __USE_GNU + char domainname[_UTSNAME_DOMAIN_LENGTH]; +# else + char __domainname[_UTSNAME_DOMAIN_LENGTH]; +# endif +#endif + }; + +#ifdef __USE_MISC +/* Note that SVID assumes all members have the same size. */ +# define SYS_NMLN _UTSNAME_LENGTH +#endif + + +/* Put information about the system in NAME. */ +extern int uname (struct utsname *__name) __THROW; + + +__END_DECLS + +#endif /* sys/utsname.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vfs.h new file mode 100644 index 00000000..85b3b52b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vfs.h @@ -0,0 +1,4 @@ +/* Other systems declare `struct statfs' et al in , + so we have this file to be compatible with programs expecting it. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vlimit.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vlimit.h new file mode 100644 index 00000000..179271da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vlimit.h @@ -0,0 +1,67 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_VLIMIT_H +#define _SYS_VLIMIT_H 1 + +#include + +__BEGIN_DECLS + +/* This interface is obsolete, and is superseded by . */ + +/* Kinds of resource limit. */ +enum __vlimit_resource +{ + /* Setting this non-zero makes it impossible to raise limits. + Only the super-use can set it to zero. + + This is not implemented in recent versions of BSD, nor by + the GNU C library. */ + LIM_NORAISE, + + /* CPU time available for each process (seconds). */ + LIM_CPU, + + /* Largest file which can be created (bytes). */ + LIM_FSIZE, + + /* Maximum size of the data segment (bytes). */ + LIM_DATA, + + /* Maximum size of the stack segment (bytes). */ + LIM_STACK, + + /* Largest core file that will be created (bytes). */ + LIM_CORE, + + /* Resident set size (bytes). */ + LIM_MAXRSS +}; + +/* This means no limit. */ +#define INFINITY 0x7fffffff + + +/* Set the soft limit for RESOURCE to be VALUE. + Returns 0 for success, -1 for failure. */ +extern int vlimit (enum __vlimit_resource __resource, int __value) __THROW; + + +__END_DECLS + +#endif /* sys/vlimit.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vm86.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vm86.h new file mode 100644 index 00000000..ff38ebed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vm86.h @@ -0,0 +1,38 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_VM86_H + +#define _SYS_VM86_H 1 +#include + +#ifdef __x86_64__ +# error This header is unsupported on x86-64. +#else +/* Get constants and data types from kernel header file. */ +# include + +__BEGIN_DECLS + +/* Enter virtual 8086 mode. */ +extern int vm86 (unsigned long int __subfunction, + struct vm86plus_struct *__info) __THROW; + +__END_DECLS +# endif + +#endif /* _SYS_VM86_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vt.h new file mode 100644 index 00000000..58335f1d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/vt.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/wait.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/wait.h new file mode 100644 index 00000000..f11f89f7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/wait.h @@ -0,0 +1,175 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 3.2.1 Wait for Process Termination + */ + +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H 1 + +#include + +__BEGIN_DECLS + +#include +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# include +#endif + +#if defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8 +/* Some older standards require the contents of struct rusage to be + defined here. */ +# include +#endif + +/* These macros could also be defined in . */ +#if !defined _STDLIB_H || (!defined __USE_XOPEN && !defined __USE_XOPEN2K8) +/* This will define the `W*' macros for the flag + bits to `waitpid', `wait3', and `wait4'. */ +# include + +/* This will define all the `__W*' macros. */ +# include + +# define WEXITSTATUS(status) __WEXITSTATUS (status) +# define WTERMSIG(status) __WTERMSIG (status) +# define WSTOPSIG(status) __WSTOPSIG (status) +# define WIFEXITED(status) __WIFEXITED (status) +# define WIFSIGNALED(status) __WIFSIGNALED (status) +# define WIFSTOPPED(status) __WIFSTOPPED (status) +# ifdef __WIFCONTINUED +# define WIFCONTINUED(status) __WIFCONTINUED (status) +# endif +#endif /* not included. */ + +#ifdef __USE_MISC +# define WCOREFLAG __WCOREFLAG +# define WCOREDUMP(status) __WCOREDUMP (status) +# define W_EXITCODE(ret, sig) __W_EXITCODE (ret, sig) +# define W_STOPCODE(sig) __W_STOPCODE (sig) +#endif + +/* The following values are used by the `waitid' function. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# include +#endif + + +/* Wait for a child to die. When one does, put its status in *STAT_LOC + and return its process ID. For errors, return (pid_t) -1. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern __pid_t wait (int *__stat_loc); + +#ifdef __USE_MISC +/* Special values for the PID argument to `waitpid' and `wait4'. */ +# define WAIT_ANY (-1) /* Any process. */ +# define WAIT_MYPGRP 0 /* Any process in my process group. */ +#endif + +/* Wait for a child matching PID to die. + If PID is greater than 0, match any process whose process ID is PID. + If PID is (pid_t) -1, match any process. + If PID is (pid_t) 0, match any process with the + same process group as the current process. + If PID is less than -1, match any process whose + process group is the absolute value of PID. + If the WNOHANG bit is set in OPTIONS, and that child + is not already dead, return (pid_t) 0. If successful, + return PID and store the dead child's status in STAT_LOC. + Return (pid_t) -1 for errors. If the WUNTRACED bit is + set in OPTIONS, return status for stopped children; otherwise don't. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options); + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# ifndef __id_t_defined +typedef __id_t id_t; +# define __id_t_defined +# endif + +# include + +/* Wait for a childing matching IDTYPE and ID to change the status and + place appropriate information in *INFOP. + If IDTYPE is P_PID, match any process whose process ID is ID. + If IDTYPE is P_PGID, match any process whose process group is ID. + If IDTYPE is P_ALL, match any process. + If the WNOHANG bit is set in OPTIONS, and that child + is not already dead, clear *INFOP and return 0. If successful, store + exit code and status in *INFOP. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop, + int __options); +#endif + +#if defined __USE_MISC \ + || (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) +/* This being here makes the prototypes valid whether or not + we have already included to define `struct rusage'. */ +struct rusage; + +/* Wait for a child to exit. When one does, put its status in *STAT_LOC and + return its process ID. For errors return (pid_t) -1. If USAGE is not + nil, store information about the child's resource usage there. If the + WUNTRACED bit is set in OPTIONS, return status for stopped children; + otherwise don't. */ +# ifndef __USE_TIME64_REDIRECTS +extern __pid_t wait3 (int *__stat_loc, int __options, + struct rusage * __usage) __THROWNL; +# else +# ifdef __REDIRECT_NTHNL +extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int __options, + struct rusage * __usage), + __wait3_time64); +# else +# define wait3 __wait3_time64 +# endif +# endif +#endif + +#ifdef __USE_MISC +# ifndef __USE_TIME64_REDIRECTS +/* PID is like waitpid. Other args are like wait3. */ +extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options, + struct rusage *__usage) __THROWNL; +# else +# ifdef __REDIRECT_NTHNL +extern __pid_t __REDIRECT_NTHNL (wait4, (__pid_t __pid, int *__stat_loc, + int __options, struct rusage *__usage), + __wait4_time64); +# else +# define wait4 __wait4_time64 +# endif +# endif +#endif /* Use misc. */ + + +__END_DECLS + +#endif /* sys/wait.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/xattr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/xattr.h new file mode 100644 index 00000000..669781b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sys/xattr.h @@ -0,0 +1,109 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_XATTR_H +#define _SYS_XATTR_H 1 + +#include +#include + + +__BEGIN_DECLS + +/* The following constants should be used for the fifth parameter of + `*setxattr'. */ +#ifndef __USE_KERNEL_XATTR_DEFS +enum +{ + XATTR_CREATE = 1, /* set value, fail if attr already exists. */ +#define XATTR_CREATE XATTR_CREATE + XATTR_REPLACE = 2 /* set value, fail if attr does not exist. */ +#define XATTR_REPLACE XATTR_REPLACE +}; +#endif + +/* Set the attribute NAME of the file pointed to by PATH to VALUE (which + is SIZE bytes long). Return 0 on success, -1 for errors. */ +extern int setxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) + __THROW __attr_access ((__read_only__, 3, 4)); + +/* Set the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long), not following symlinks for the last pathname component. + Return 0 on success, -1 for errors. */ +extern int lsetxattr (const char *__path, const char *__name, + const void *__value, size_t __size, int __flags) + __THROW __attr_access ((__read_only__, 3, 4)); + +/* Set the attribute NAME of the file descriptor FD to VALUE (which is SIZE + bytes long). Return 0 on success, -1 for errors. */ +extern int fsetxattr (int __fd, const char *__name, const void *__value, + size_t __size, int __flags) + __THROW __attr_access ((__read_only__, 3, 4)); + +/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long). Return 0 on success, -1 for errors. */ +extern ssize_t getxattr (const char *__path, const char *__name, + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); + +/* Get the attribute NAME of the file pointed to by PATH to VALUE (which is + SIZE bytes long), not following symlinks for the last pathname component. + Return 0 on success, -1 for errors. */ +extern ssize_t lgetxattr (const char *__path, const char *__name, + void *__value, size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); + +/* Get the attribute NAME of the file descriptor FD to VALUE (which is SIZE + bytes long). Return 0 on success, -1 for errors. */ +extern ssize_t fgetxattr (int __fd, const char *__name, void *__value, + size_t __size) + __THROW __attr_access ((__write_only__, 3, 4)); + +/* List attributes of the file pointed to by PATH into the user-supplied + buffer LIST (which is SIZE bytes big). Return 0 on success, -1 for + errors. */ +extern ssize_t listxattr (const char *__path, char *__list, size_t __size) + __THROW __attr_access ((__write_only__, 2, 3)); + +/* List attributes of the file pointed to by PATH into the user-supplied + buffer LIST (which is SIZE bytes big), not following symlinks for the + last pathname component. Return 0 on success, -1 for errors. */ +extern ssize_t llistxattr (const char *__path, char *__list, size_t __size) + __THROW __attr_access ((__write_only__, 2, 3)); + +/* List attributes of the file descriptor FD into the user-supplied buffer + LIST (which is SIZE bytes big). Return 0 on success, -1 for errors. */ +extern ssize_t flistxattr (int __fd, char *__list, size_t __size) + __THROW __attr_access ((__write_only__, 2, 3)); + +/* Remove the attribute NAME from the file pointed to by PATH. Return 0 + on success, -1 for errors. */ +extern int removexattr (const char *__path, const char *__name) __THROW; + +/* Remove the attribute NAME from the file pointed to by PATH, not + following symlinks for the last pathname component. Return 0 on + success, -1 for errors. */ +extern int lremovexattr (const char *__path, const char *__name) __THROW; + +/* Remove the attribute NAME from the file descriptor FD. Return 0 on + success, -1 for errors. */ +extern int fremovexattr (int __fd, const char *__name) __THROW; + +__END_DECLS + +#endif /* sys/xattr.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syscall.h new file mode 100644 index 00000000..f2043aa8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syscall.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sysexits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sysexits.h new file mode 100644 index 00000000..97eb66e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/sysexits.h @@ -0,0 +1,114 @@ +/* + * Copyright (c) 1987, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)sysexits.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _SYSEXITS_H +#define _SYSEXITS_H 1 + +/* + * SYSEXITS.H -- Exit status codes for system programs. + * + * This include file attempts to categorize possible error + * exit statuses for system programs, notably delivermail + * and the Berkeley network. + * + * Error numbers begin at EX__BASE to reduce the possibility of + * clashing with other exit statuses that random programs may + * already return. The meaning of the codes is approximately + * as follows: + * + * EX_USAGE -- The command was used incorrectly, e.g., with + * the wrong number of arguments, a bad flag, a bad + * syntax in a parameter, or whatever. + * EX_DATAERR -- The input data was incorrect in some way. + * This should only be used for user's data & not + * system files. + * EX_NOINPUT -- An input file (not a system file) did not + * exist or was not readable. This could also include + * errors like "No message" to a mailer (if it cared + * to catch it). + * EX_NOUSER -- The user specified did not exist. This might + * be used for mail addresses or remote logins. + * EX_NOHOST -- The host specified did not exist. This is used + * in mail addresses or network requests. + * EX_UNAVAILABLE -- A service is unavailable. This can occur + * if a support program or file does not exist. This + * can also be used as a catchall message when something + * you wanted to do doesn't work, but you don't know + * why. + * EX_SOFTWARE -- An internal software error has been detected. + * This should be limited to non-operating system related + * errors as possible. + * EX_OSERR -- An operating system error has been detected. + * This is intended to be used for such things as "cannot + * fork", "cannot create pipe", or the like. It includes + * things like getuid returning a user that does not + * exist in the passwd file. + * EX_OSFILE -- Some system file (e.g., /etc/passwd, /etc/utmp, + * etc.) does not exist, cannot be opened, or has some + * sort of error (e.g., syntax error). + * EX_CANTCREAT -- A (user specified) output file cannot be + * created. + * EX_IOERR -- An error occurred while doing I/O on some file. + * EX_TEMPFAIL -- temporary failure, indicating something that + * is not really an error. In sendmail, this means + * that a mailer (e.g.) could not create a connection, + * and the request should be reattempted later. + * EX_PROTOCOL -- the remote system returned something that + * was "not possible" during a protocol exchange. + * EX_NOPERM -- You did not have sufficient permission to + * perform the operation. This is not intended for + * file system problems, which should use NOINPUT or + * CANTCREAT, but rather for higher level permissions. + */ + +#define EX_OK 0 /* successful termination */ + +#define EX__BASE 64 /* base value for error messages */ + +#define EX_USAGE 64 /* command line usage error */ +#define EX_DATAERR 65 /* data format error */ +#define EX_NOINPUT 66 /* cannot open input */ +#define EX_NOUSER 67 /* addressee unknown */ +#define EX_NOHOST 68 /* host name unknown */ +#define EX_UNAVAILABLE 69 /* service unavailable */ +#define EX_SOFTWARE 70 /* internal software error */ +#define EX_OSERR 71 /* system error (e.g., can't fork) */ +#define EX_OSFILE 72 /* critical OS file missing */ +#define EX_CANTCREAT 73 /* can't create (user) output file */ +#define EX_IOERR 74 /* input/output error */ +#define EX_TEMPFAIL 75 /* temp failure; user is invited to retry */ +#define EX_PROTOCOL 76 /* remote error in protocol */ +#define EX_NOPERM 77 /* permission denied */ +#define EX_CONFIG 78 /* configuration error */ + +#define EX__MAX 78 /* maximum listed value */ + +#endif /* sysexits.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syslog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syslog.h new file mode 100644 index 00000000..c8e6c91d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/syslog.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tar.h new file mode 100644 index 00000000..68dddef3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tar.h @@ -0,0 +1,111 @@ +/* Extended tar format from POSIX.1. + Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _TAR_H +#define _TAR_H 1 + +#include + + +/* A tar archive consists of 512-byte blocks. + Each file in the archive has a header block followed by 0+ data blocks. + Two blocks of NUL bytes indicate the end of the archive. */ + +/* The fields of header blocks: + All strings are stored as ISO 646 (approximately ASCII) strings. + + Fields are numeric unless otherwise noted below; numbers are ISO 646 + representations of octal numbers, with leading zeros as needed. + + linkname is only valid when typeflag==LNKTYPE. It doesn't use prefix; + files that are links to pathnames >100 chars long can not be stored + in a tar archive. + + If typeflag=={LNKTYPE,SYMTYPE,DIRTYPE} then size must be 0. + + devmajor and devminor are only valid for typeflag=={BLKTYPE,CHRTYPE}. + + chksum contains the sum of all 512 bytes in the header block, + treating each byte as an 8-bit unsigned value and treating the + 8 bytes of chksum as blank characters. + + uname and gname are used in preference to uid and gid, if those + names exist locally. + + Field Name Byte Offset Length in Bytes Field Type + name 0 100 NUL-terminated if NUL fits + mode 100 8 + uid 108 8 + gid 116 8 + size 124 12 + mtime 136 12 + chksum 148 8 + typeflag 156 1 see below + linkname 157 100 NUL-terminated if NUL fits + magic 257 6 must be TMAGIC (NUL term.) + version 263 2 must be TVERSION + uname 265 32 NUL-terminated + gname 297 32 NUL-terminated + devmajor 329 8 + devminor 337 8 + prefix 345 155 NUL-terminated if NUL fits + + If the first character of prefix is '\0', the file name is name; + otherwise, it is prefix/name. Files whose pathnames don't fit in that + length can not be stored in a tar archive. */ + +/* The bits in mode: */ +#define TSUID 04000 +#define TSGID 02000 +#if defined __USE_XOPEN || !defined __USE_XOPEN2K +# define TSVTX 01000 +#endif +#define TUREAD 00400 +#define TUWRITE 00200 +#define TUEXEC 00100 +#define TGREAD 00040 +#define TGWRITE 00020 +#define TGEXEC 00010 +#define TOREAD 00004 +#define TOWRITE 00002 +#define TOEXEC 00001 + +/* The values for typeflag: + Values 'A'-'Z' are reserved for custom implementations. + All other values are reserved for future POSIX.1 revisions. */ + +#define REGTYPE '0' /* Regular file (preferred code). */ +#define AREGTYPE '\0' /* Regular file (alternate code). */ +#define LNKTYPE '1' /* Hard link. */ +#define SYMTYPE '2' /* Symbolic link (hard if not supported). */ +#define CHRTYPE '3' /* Character special. */ +#define BLKTYPE '4' /* Block special. */ +#define DIRTYPE '5' /* Directory. */ +#define FIFOTYPE '6' /* Named pipe. */ +#define CONTTYPE '7' /* Contiguous file */ + /* (regular file if not supported). */ + +/* Contents of magic field and its length. */ +#define TMAGIC "ustar" +#define TMAGLEN 6 + +/* Contents of the version field and its length. */ +#define TVERSION "00" +#define TVERSLEN 2 + +#endif /* tar.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termio.h new file mode 100644 index 00000000..a3f32a79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termio.h @@ -0,0 +1,6 @@ +/* Compatible for old `struct termio' ioctl interface. + This is obsolete; use the POSIX.1 `struct termios' interface + defined in instead. */ + +#include +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termios.h new file mode 100644 index 00000000..94624586 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/termios.h @@ -0,0 +1,109 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 7.1-2 General Terminal Interface + */ + +#ifndef _TERMIOS_H +#define _TERMIOS_H 1 + +#include +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* We need `pid_t'. */ +# include +# ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +# endif +#endif + +__BEGIN_DECLS + +/* Get the system-dependent definitions of `struct termios', `tcflag_t', + `cc_t', `speed_t', and all the macros specifying the flag bits. */ +#include + +#ifdef __USE_MISC +/* Compare a character C to a value VAL from the `c_cc' array in a + `struct termios'. If VAL is _POSIX_VDISABLE, no character can match it. */ +# define CCEQ(val, c) ((c) == (val) && (val) != _POSIX_VDISABLE) +#endif + +/* Return the output baud rate stored in *TERMIOS_P. */ +extern speed_t cfgetospeed (const struct termios *__termios_p) __THROW; + +/* Return the input baud rate stored in *TERMIOS_P. */ +extern speed_t cfgetispeed (const struct termios *__termios_p) __THROW; + +/* Set the output baud rate stored in *TERMIOS_P to SPEED. */ +extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) __THROW; + +/* Set the input baud rate stored in *TERMIOS_P to SPEED. */ +extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) __THROW; + +#ifdef __USE_MISC +/* Set both the input and output baud rates in *TERMIOS_OP to SPEED. */ +extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) __THROW; +#endif + + +/* Put the state of FD into *TERMIOS_P. */ +extern int tcgetattr (int __fd, struct termios *__termios_p) __THROW; + +/* Set the state of FD to *TERMIOS_P. + Values for OPTIONAL_ACTIONS (TCSA*) are in . */ +extern int tcsetattr (int __fd, int __optional_actions, + const struct termios *__termios_p) __THROW; + + +#ifdef __USE_MISC +/* Set *TERMIOS_P to indicate raw mode. */ +extern void cfmakeraw (struct termios *__termios_p) __THROW; +#endif + +/* Send zero bits on FD. */ +extern int tcsendbreak (int __fd, int __duration) __THROW; + +/* Wait for pending output to be written on FD. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int tcdrain (int __fd); + +/* Flush pending data on FD. + Values for QUEUE_SELECTOR (TC{I,O,IO}FLUSH) are in . */ +extern int tcflush (int __fd, int __queue_selector) __THROW; + +/* Suspend or restart transmission on FD. + Values for ACTION (TC[IO]{OFF,ON}) are in . */ +extern int tcflow (int __fd, int __action) __THROW; + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Get process group ID for session leader for controlling terminal FD. */ +extern __pid_t tcgetsid (int __fd) __THROW; +#endif + + +#ifdef __USE_MISC +# include +#endif + +__END_DECLS + +#endif /* termios.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tgmath.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tgmath.h new file mode 100644 index 00000000..c90b7838 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/tgmath.h @@ -0,0 +1,1203 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.22 Type-generic math + */ + +#ifndef _TGMATH_H +#define _TGMATH_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Include the needed headers. */ +#include +#include +#include + + +/* There are two variant implementations of type-generic macros in + this file: one for GCC 8 and later, using __builtin_tgmath and + where each macro expands each of its arguments only once, and one + for older GCC, using other compiler extensions but with macros + expanding their arguments many times (so resulting in exponential + blowup of the size of expansions when calls to such macros are + nested inside arguments to such macros). Because of a long series + of defect fixes made after the initial release of TS 18661-1, GCC + versions before GCC 13 have __builtin_tgmath semantics that, when + integer arguments are passed to narrowing macros returning + _Float32x, or non-narrowing macros with at least two generic + arguments, do not always correspond to the C23 semantics, so more + complicated macro definitions are also used in some cases for + versions from GCC 8 to GCC 12. */ + +#define __HAVE_BUILTIN_TGMATH __GNUC_PREREQ (8, 0) +#define __HAVE_BUILTIN_TGMATH_C23 __GNUC_PREREQ (13, 0) + +#if __GNUC_PREREQ (2, 7) + +/* Certain cases of narrowing macros only need to call a single + function so cannot use __builtin_tgmath and do not need any + complicated logic. */ +# if __HAVE_FLOAT128X +# error "Unsupported _Float128x type for ." +# endif +# if ((__HAVE_FLOAT64X && !__HAVE_FLOAT128) \ + || (__HAVE_FLOAT128 && !__HAVE_FLOAT64X)) +# error "Unsupported combination of types for ." +# endif +# define __TGMATH_1_NARROW_D(F, X) \ + (F ## l (X)) +# define __TGMATH_2_NARROW_D(F, X, Y) \ + (F ## l (X, Y)) +# define __TGMATH_3_NARROW_D(F, X, Y, Z) \ + (F ## l (X, Y, Z)) +# define __TGMATH_1_NARROW_F64X(F, X) \ + (F ## f128 (X)) +# define __TGMATH_2_NARROW_F64X(F, X, Y) \ + (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64X(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) +# if !__HAVE_FLOAT128 +# define __TGMATH_1_NARROW_F32X(F, X) \ + (F ## f64 (X)) +# define __TGMATH_2_NARROW_F32X(F, X, Y) \ + (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) +# endif + +# if __HAVE_BUILTIN_TGMATH + +# if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F16_ARG(X) X ## f16, +# else +# define __TG_F16_ARG(X) +# endif +# if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F32_ARG(X) X ## f32, +# else +# define __TG_F32_ARG(X) +# endif +# if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F64_ARG(X) X ## f64, +# else +# define __TG_F64_ARG(X) +# endif +# if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F128_ARG(X) X ## f128, +# else +# define __TG_F128_ARG(X) +# endif +# if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F32X_ARG(X) X ## f32x, +# else +# define __TG_F32X_ARG(X) +# endif +# if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F64X_ARG(X) X ## f64x, +# else +# define __TG_F64X_ARG(X) +# endif +# if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT) +# define __TG_F128X_ARG(X) X ## f128x, +# else +# define __TG_F128X_ARG(X) +# endif + +# define __TGMATH_FUNCS(X) X ## f, X, X ## l, \ + __TG_F16_ARG (X) __TG_F32_ARG (X) __TG_F64_ARG (X) __TG_F128_ARG (X) \ + __TG_F32X_ARG (X) __TG_F64X_ARG (X) __TG_F128X_ARG (X) +# define __TGMATH_RCFUNCS(F, C) __TGMATH_FUNCS (F) __TGMATH_FUNCS (C) +# define __TGMATH_1(F, X) __builtin_tgmath (__TGMATH_FUNCS (F) (X)) +# define __TGMATH_2(F, X, Y) __builtin_tgmath (__TGMATH_FUNCS (F) (X), (Y)) +# define __TGMATH_2STD(F, X, Y) __builtin_tgmath (F ## f, F, F ## l, (X), (Y)) +# define __TGMATH_3(F, X, Y, Z) __builtin_tgmath (__TGMATH_FUNCS (F) \ + (X), (Y), (Z)) +# define __TGMATH_1C(F, C, X) __builtin_tgmath (__TGMATH_RCFUNCS (F, C) (X)) +# define __TGMATH_2C(F, C, X, Y) __builtin_tgmath (__TGMATH_RCFUNCS (F, C) \ + (X), (Y)) + +# define __TGMATH_NARROW_FUNCS_F(X) X, X ## l, +# define __TGMATH_NARROW_FUNCS_F16(X) \ + __TG_F32_ARG (X) __TG_F64_ARG (X) __TG_F128_ARG (X) \ + __TG_F32X_ARG (X) __TG_F64X_ARG (X) __TG_F128X_ARG (X) +# define __TGMATH_NARROW_FUNCS_F32(X) \ + __TG_F64_ARG (X) __TG_F128_ARG (X) \ + __TG_F32X_ARG (X) __TG_F64X_ARG (X) __TG_F128X_ARG (X) +# define __TGMATH_NARROW_FUNCS_F64(X) \ + __TG_F128_ARG (X) \ + __TG_F64X_ARG (X) __TG_F128X_ARG (X) +# define __TGMATH_NARROW_FUNCS_F32X(X) \ + __TG_F64X_ARG (X) __TG_F128X_ARG (X) \ + __TG_F64_ARG (X) __TG_F128_ARG (X) + +# define __TGMATH_1_NARROW_F(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X)) +# define __TGMATH_2_NARROW_F(F, X, Y) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y)) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F16(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X)) +# define __TGMATH_2_NARROW_F16(F, X, Y) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F16(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F16 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F32(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X)) +# define __TGMATH_2_NARROW_F32(F, X, Y) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32 (F) (X), (Y), (Z)) +# define __TGMATH_1_NARROW_F64(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X)) +# define __TGMATH_2_NARROW_F64(F, X, Y) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y)) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F64 (F) (X), (Y), (Z)) +# if __HAVE_FLOAT128 && __HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_1_NARROW_F32X(F, X) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X)) +# define __TGMATH_2_NARROW_F32X(F, X, Y) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y)) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + __builtin_tgmath (__TGMATH_NARROW_FUNCS_F32X (F) (X), (Y), (Z)) +# endif + +# endif + +# if !__HAVE_BUILTIN_TGMATH_C23 +# ifdef __NO_LONG_DOUBLE_MATH +# define __tgml(fct) fct +# else +# define __tgml(fct) fct ## l +# endif + +/* __floating_type expands to 1 if TYPE is a floating type (including + complex floating types), 0 if TYPE is an integer type (including + complex integer types). __real_integer_type expands to 1 if TYPE + is a real integer type. __complex_integer_type expands to 1 if + TYPE is a complex integer type. All these macros expand to integer + constant expressions. All these macros can assume their argument + has an arithmetic type (not vector, decimal floating-point or + fixed-point), valid to pass to tgmath.h macros. */ +# if __GNUC_PREREQ (3, 1) +/* __builtin_classify_type expands to an integer constant expression + in GCC 3.1 and later. Default conversions applied to the argument + of __builtin_classify_type mean it always returns 1 for real + integer types rather than ever returning different values for + character, boolean or enumerated types. */ +# define __floating_type(type) \ + (__builtin_classify_type (__real__ ((type) 0)) == 8) +# define __real_integer_type(type) \ + (__builtin_classify_type ((type) 0) == 1) +# define __complex_integer_type(type) \ + (__builtin_classify_type ((type) 0) == 9 \ + && __builtin_classify_type (__real__ ((type) 0)) == 1) +# else +/* GCC versions predating __builtin_classify_type are also looser on + what counts as an integer constant expression. */ +# define __floating_type(type) (((type) 1.25) != 1) +# define __real_integer_type(type) (((type) (1.25 + _Complex_I)) == 1) +# define __complex_integer_type(type) \ + (((type) (1.25 + _Complex_I)) == (1 + _Complex_I)) +# endif + +/* Whether an expression (of arithmetic type) has a real type. */ +# define __expr_is_real(E) (__builtin_classify_type (E) != 9) + +/* Type T1 if E is 1, type T2 is E is 0. */ +# define __tgmath_type_if(T1, T2, E) \ + __typeof__ (*(0 ? (__typeof__ (0 ? (T2 *) 0 : (void *) (E))) 0 \ + : (__typeof__ (0 ? (T1 *) 0 : (void *) (!(E)))) 0)) + +/* The tgmath real type for T, where E is 0 if T is an integer type + and 1 for a floating type. If T has a complex type, it is + unspecified whether the return type is real or complex (but it has + the correct corresponding real type). */ +# define __tgmath_real_type_sub(T, E) \ + __tgmath_type_if (T, double, E) + +/* The tgmath real type of EXPR. */ +# define __tgmath_real_type(expr) \ + __tgmath_real_type_sub (__typeof__ ((__typeof__ (+(expr))) 0), \ + __floating_type (__typeof__ (+(expr)))) + +/* The tgmath complex type for T, where E1 is 1 if T has a floating + type and 0 otherwise, E2 is 1 if T has a real integer type and 0 + otherwise, and E3 is 1 if T has a complex type and 0 otherwise. */ +# define __tgmath_complex_type_sub(T, E1, E2, E3) \ + __typeof__ (*(0 \ + ? (__typeof__ (0 ? (T *) 0 : (void *) (!(E1)))) 0 \ + : (__typeof__ (0 \ + ? (__typeof__ (0 \ + ? (double *) 0 \ + : (void *) (!(E2)))) 0 \ + : (__typeof__ (0 \ + ? (_Complex double *) 0 \ + : (void *) (!(E3)))) 0)) 0)) + +/* The tgmath complex type of EXPR. */ +# define __tgmath_complex_type(expr) \ + __tgmath_complex_type_sub (__typeof__ ((__typeof__ (+(expr))) 0), \ + __floating_type (__typeof__ (+(expr))), \ + __real_integer_type (__typeof__ (+(expr))), \ + __complex_integer_type (__typeof__ (+(expr)))) + +/* The tgmath real type of EXPR1 combined with EXPR2, without handling + the C23 rule of interpreting integer arguments as _Float32x if any + argument is _FloatNx. */ +# define __tgmath_real_type2_base(expr1, expr2) \ + __typeof ((__tgmath_real_type (expr1)) 0 + (__tgmath_real_type (expr2)) 0) + +/* The tgmath complex type of EXPR1 combined with EXPR2, without + handling the C23 rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_complex_type2_base(expr1, expr2) \ + __typeof ((__tgmath_complex_type (expr1)) 0 \ + + (__tgmath_complex_type (expr2)) 0) + +/* The tgmath real type of EXPR1 combined with EXPR2 and EXPR3, + without handling the C23 rule of interpreting integer arguments as + _Float32x if any argument is _FloatNx. */ +# define __tgmath_real_type3_base(expr1, expr2, expr3) \ + __typeof ((__tgmath_real_type (expr1)) 0 \ + + (__tgmath_real_type (expr2)) 0 \ + + (__tgmath_real_type (expr3)) 0) + +/* The tgmath real or complex type of EXPR1 combined with EXPR2 (and + EXPR3 if applicable). */ +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, __tgmath_real_type2_base (expr1, expr2), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_type_if (_Float32x, \ + __tgmath_type_if (_Complex _Float32x, \ + __tgmath_complex_type2_base (expr1, \ + expr2), \ + _Generic ((expr1) + (expr2), \ + _Complex _Float32x: 1, \ + default: 0)), \ + _Generic ((expr1) + (expr2), _Float32x: 1, default: 0)) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_type_if (_Float32x, \ + __tgmath_real_type3_base (expr1, expr2, expr3), \ + _Generic ((expr1) + (expr2) + (expr3), \ + _Float32x: 1, default: 0)) +# else +# define __tgmath_real_type2(expr1, expr2) \ + __tgmath_real_type2_base (expr1, expr2) +# define __tgmath_complex_type2(expr1, expr2) \ + __tgmath_complex_type2_base (expr1, expr2) +# define __tgmath_real_type3(expr1, expr2, expr3) \ + __tgmath_real_type3_base (expr1, expr2, expr3) +# endif + +# if (__HAVE_DISTINCT_FLOAT16 \ + || __HAVE_DISTINCT_FLOAT32 \ + || __HAVE_DISTINCT_FLOAT64 \ + || __HAVE_DISTINCT_FLOAT32X \ + || __HAVE_DISTINCT_FLOAT64X \ + || __HAVE_DISTINCT_FLOAT128X) +# error "Unsupported _FloatN or _FloatNx types for ." +# endif + +/* Expand to text that checks if ARG_COMB has type _Float128, and if + so calls the appropriately suffixed FCT (which may include a cast), + or FCT and CFCT for complex functions, with arguments ARG_CALL. + __TGMATH_F128LD (only used in the __HAVE_FLOAT64X_LONG_DOUBLE case, + for narrowing macros) handles long double the same as + _Float128. */ +# if __HAVE_DISTINCT_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT) +# if (!__HAVE_FLOAT64X \ + || __HAVE_FLOAT64X_LONG_DOUBLE \ + || !__HAVE_FLOATN_NOT_TYPEDEF) +# define __TGMATH_F128(arg_comb, fct, arg_call) \ + __builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ + ? fct ## f128 arg_call : +# define __TGMATH_F128LD(arg_comb, fct, arg_call) \ + (__builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ + || __builtin_types_compatible_p (__typeof (+(arg_comb)), long double)) \ + ? fct ## f128 arg_call : +# define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) \ + __builtin_types_compatible_p (__typeof (+__real__ (arg_comb)), _Float128) \ + ? (__expr_is_real (arg_comb) \ + ? fct ## f128 arg_call \ + : cfct ## f128 arg_call) : +# else +/* _Float64x is a distinct type at the C language level, which must be + handled like _Float128. */ +# define __TGMATH_F128(arg_comb, fct, arg_call) \ + (__builtin_types_compatible_p (__typeof (+(arg_comb)), _Float128) \ + || __builtin_types_compatible_p (__typeof (+(arg_comb)), _Float64x)) \ + ? fct ## f128 arg_call : +# define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) \ + (__builtin_types_compatible_p (__typeof (+__real__ (arg_comb)), _Float128) \ + || __builtin_types_compatible_p (__typeof (+__real__ (arg_comb)), \ + _Float64x)) \ + ? (__expr_is_real (arg_comb) \ + ? fct ## f128 arg_call \ + : cfct ## f128 arg_call) : +# endif +# else +# define __TGMATH_F128(arg_comb, fct, arg_call) /* Nothing. */ +# define __TGMATH_CF128(arg_comb, fct, cfct, arg_call) /* Nothing. */ +# endif + +# endif /* !__HAVE_BUILTIN_TGMATH_C23. */ + +/* We have two kinds of generic macros: to support functions which are + only defined on real valued parameters and those which are defined + for complex functions as well. */ +# if __HAVE_BUILTIN_TGMATH + +# define __TGMATH_UNARY_REAL_ONLY(Val, Fct) __TGMATH_1 (Fct, (Val)) +# define __TGMATH_UNARY_REAL_RET_ONLY(Val, Fct) __TGMATH_1 (Fct, (Val)) +# define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \ + __TGMATH_2 (Fct, (Val1), (Val2)) +# define __TGMATH_BINARY_FIRST_REAL_STD_ONLY(Val1, Val2, Fct) \ + __TGMATH_2STD (Fct, (Val1), (Val2)) +# if __HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ + __TGMATH_2 (Fct, (Val1), (Val2)) +# endif +# define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ + __TGMATH_2STD (Fct, (Val1), (Val2)) +# if __HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ + __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) +# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ + __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) +# endif +# define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ + __TGMATH_3 (Fct, (Val1), (Val2), (Val3)) +# define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \ + __TGMATH_1C (Fct, Cfct, (Val)) +# define __TGMATH_UNARY_IMAG(Val, Cfct) __TGMATH_1 (Cfct, (Val)) +# define __TGMATH_UNARY_REAL_IMAG_RET_REAL(Val, Fct, Cfct) \ + __TGMATH_1C (Fct, Cfct, (Val)) +# define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ + __TGMATH_1 (Cfct, (Val)) +# if __HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ + __TGMATH_2C (Fct, Cfct, (Val1), (Val2)) +# endif + +# endif + +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_UNARY_REAL_ONLY(Val, Fct) \ + (__extension__ ((sizeof (+(Val)) == sizeof (double) \ + || __builtin_classify_type (Val) != 8) \ + ? (__tgmath_real_type (Val)) Fct (Val) \ + : (sizeof (+(Val)) == sizeof (float)) \ + ? (__tgmath_real_type (Val)) Fct##f (Val) \ + : __TGMATH_F128 ((Val), (__tgmath_real_type (Val)) Fct, \ + (Val)) \ + (__tgmath_real_type (Val)) __tgml(Fct) (Val))) + +# define __TGMATH_UNARY_REAL_RET_ONLY(Val, Fct) \ + (__extension__ ((sizeof (+(Val)) == sizeof (double) \ + || __builtin_classify_type (Val) != 8) \ + ? Fct (Val) \ + : (sizeof (+(Val)) == sizeof (float)) \ + ? Fct##f (Val) \ + : __TGMATH_F128 ((Val), Fct, (Val)) \ + __tgml(Fct) (Val))) + +# define __TGMATH_BINARY_FIRST_REAL_ONLY(Val1, Val2, Fct) \ + (__extension__ ((sizeof (+(Val1)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8) \ + ? (__tgmath_real_type (Val1)) Fct (Val1, Val2) \ + : (sizeof (+(Val1)) == sizeof (float)) \ + ? (__tgmath_real_type (Val1)) Fct##f (Val1, Val2) \ + : __TGMATH_F128 ((Val1), (__tgmath_real_type (Val1)) Fct, \ + (Val1, Val2)) \ + (__tgmath_real_type (Val1)) __tgml(Fct) (Val1, Val2))) + +# define __TGMATH_BINARY_FIRST_REAL_STD_ONLY(Val1, Val2, Fct) \ + (__extension__ ((sizeof (+(Val1)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8) \ + ? (__tgmath_real_type (Val1)) Fct (Val1, Val2) \ + : (sizeof (+(Val1)) == sizeof (float)) \ + ? (__tgmath_real_type (Val1)) Fct##f (Val1, Val2) \ + : (__tgmath_real_type (Val1)) __tgml(Fct) (Val1, Val2))) +# endif + +# if !__HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_BINARY_REAL_ONLY(Val1, Val2, Fct) \ + (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ + && __builtin_classify_type ((Val1) + (Val2)) == 8) \ + ? __TGMATH_F128 ((Val1) + (Val2), \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ + (Val1, Val2)) \ + (__tgmath_real_type2 (Val1, Val2)) \ + __tgml(Fct) (Val1, Val2) \ + : (sizeof (+(Val1)) == sizeof (double) \ + || sizeof (+(Val2)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8 \ + || __builtin_classify_type (Val2) != 8) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ + Fct (Val1, Val2) \ + : (__tgmath_real_type2 (Val1, Val2)) \ + Fct##f (Val1, Val2))) +# endif + +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_BINARY_REAL_STD_ONLY(Val1, Val2, Fct) \ + (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ + && __builtin_classify_type ((Val1) + (Val2)) == 8) \ + ? (__typeof ((__tgmath_real_type (Val1)) 0 \ + + (__tgmath_real_type (Val2)) 0)) \ + __tgml(Fct) (Val1, Val2) \ + : (sizeof (+(Val1)) == sizeof (double) \ + || sizeof (+(Val2)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8 \ + || __builtin_classify_type (Val2) != 8) \ + ? (__typeof ((__tgmath_real_type (Val1)) 0 \ + + (__tgmath_real_type (Val2)) 0)) \ + Fct (Val1, Val2) \ + : (__typeof ((__tgmath_real_type (Val1)) 0 \ + + (__tgmath_real_type (Val2)) 0)) \ + Fct##f (Val1, Val2))) +# endif + +# if !__HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY(Val1, Val2, Val3, Fct) \ + (__extension__ ((sizeof ((Val1) + (Val2)) > sizeof (double) \ + && __builtin_classify_type ((Val1) + (Val2)) == 8) \ + ? __TGMATH_F128 ((Val1) + (Val2), \ + (__tgmath_real_type2 (Val1, Val2)) Fct, \ + (Val1, Val2, Val3)) \ + (__tgmath_real_type2 (Val1, Val2)) \ + __tgml(Fct) (Val1, Val2, Val3) \ + : (sizeof (+(Val1)) == sizeof (double) \ + || sizeof (+(Val2)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8 \ + || __builtin_classify_type (Val2) != 8) \ + ? (__tgmath_real_type2 (Val1, Val2)) \ + Fct (Val1, Val2, Val3) \ + : (__tgmath_real_type2 (Val1, Val2)) \ + Fct##f (Val1, Val2, Val3))) + +# define __TGMATH_TERNARY_REAL_ONLY(Val1, Val2, Val3, Fct) \ + (__extension__ ((sizeof ((Val1) + (Val2) + (Val3)) > sizeof (double) \ + && __builtin_classify_type ((Val1) + (Val2) + (Val3)) \ + == 8) \ + ? __TGMATH_F128 ((Val1) + (Val2) + (Val3), \ + (__tgmath_real_type3 (Val1, Val2, \ + Val3)) Fct, \ + (Val1, Val2, Val3)) \ + (__tgmath_real_type3 (Val1, Val2, Val3)) \ + __tgml(Fct) (Val1, Val2, Val3) \ + : (sizeof (+(Val1)) == sizeof (double) \ + || sizeof (+(Val2)) == sizeof (double) \ + || sizeof (+(Val3)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8 \ + || __builtin_classify_type (Val2) != 8 \ + || __builtin_classify_type (Val3) != 8) \ + ? (__tgmath_real_type3 (Val1, Val2, Val3)) \ + Fct (Val1, Val2, Val3) \ + : (__tgmath_real_type3 (Val1, Val2, Val3)) \ + Fct##f (Val1, Val2, Val3))) +# endif + +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_TERNARY_FIRST_REAL_RET_ONLY(Val1, Val2, Val3, Fct) \ + (__extension__ ((sizeof (+(Val1)) == sizeof (double) \ + || __builtin_classify_type (Val1) != 8) \ + ? Fct (Val1, Val2, Val3) \ + : (sizeof (+(Val1)) == sizeof (float)) \ + ? Fct##f (Val1, Val2, Val3) \ + : __TGMATH_F128 ((Val1), Fct, (Val1, Val2, Val3)) \ + __tgml(Fct) (Val1, Val2, Val3))) + +/* XXX This definition has to be changed as soon as the compiler understands + the imaginary keyword. */ +# define __TGMATH_UNARY_REAL_IMAG(Val, Fct, Cfct) \ + (__extension__ ((sizeof (+__real__ (Val)) == sizeof (double) \ + || __builtin_classify_type (__real__ (Val)) != 8) \ + ? (__expr_is_real (Val) \ + ? (__tgmath_complex_type (Val)) Fct (Val) \ + : (__tgmath_complex_type (Val)) Cfct (Val)) \ + : (sizeof (+__real__ (Val)) == sizeof (float)) \ + ? (__expr_is_real (Val) \ + ? (__tgmath_complex_type (Val)) Fct##f (Val) \ + : (__tgmath_complex_type (Val)) Cfct##f (Val)) \ + : __TGMATH_CF128 ((Val), \ + (__tgmath_complex_type (Val)) Fct, \ + (__tgmath_complex_type (Val)) Cfct, \ + (Val)) \ + (__expr_is_real (Val) \ + ? (__tgmath_complex_type (Val)) __tgml(Fct) (Val) \ + : (__tgmath_complex_type (Val)) __tgml(Cfct) (Val)))) + +# define __TGMATH_UNARY_IMAG(Val, Cfct) \ + (__extension__ ((sizeof (+__real__ (Val)) == sizeof (double) \ + || __builtin_classify_type (__real__ (Val)) != 8) \ + ? (__typeof__ ((__tgmath_real_type (Val)) 0 \ + + _Complex_I)) Cfct (Val) \ + : (sizeof (+__real__ (Val)) == sizeof (float)) \ + ? (__typeof__ ((__tgmath_real_type (Val)) 0 \ + + _Complex_I)) Cfct##f (Val) \ + : __TGMATH_F128 (__real__ (Val), \ + (__typeof__ \ + ((__tgmath_real_type (Val)) 0 \ + + _Complex_I)) Cfct, (Val)) \ + (__typeof__ ((__tgmath_real_type (Val)) 0 \ + + _Complex_I)) __tgml(Cfct) (Val))) + +/* XXX This definition has to be changed as soon as the compiler understands + the imaginary keyword. */ +# define __TGMATH_UNARY_REAL_IMAG_RET_REAL(Val, Fct, Cfct) \ + (__extension__ ((sizeof (+__real__ (Val)) == sizeof (double) \ + || __builtin_classify_type (__real__ (Val)) != 8) \ + ? (__expr_is_real (Val) \ + ? (__typeof__ (__real__ (__tgmath_real_type (Val)) 0))\ + Fct (Val) \ + : (__typeof__ (__real__ (__tgmath_real_type (Val)) 0))\ + Cfct (Val)) \ + : (sizeof (+__real__ (Val)) == sizeof (float)) \ + ? (__expr_is_real (Val) \ + ? (__typeof__ (__real__ (__tgmath_real_type (Val)) 0))\ + Fct##f (Val) \ + : (__typeof__ (__real__ (__tgmath_real_type (Val)) 0))\ + Cfct##f (Val)) \ + : __TGMATH_CF128 ((Val), \ + (__typeof__ \ + (__real__ \ + (__tgmath_real_type (Val)) 0)) Fct, \ + (__typeof__ \ + (__real__ \ + (__tgmath_real_type (Val)) 0)) Cfct, \ + (Val)) \ + (__expr_is_real (Val) \ + ? (__typeof__ (__real__ (__tgmath_real_type (Val)) 0)) \ + __tgml(Fct) (Val) \ + : (__typeof__ (__real__ (__tgmath_real_type (Val)) 0)) \ + __tgml(Cfct) (Val)))) +# define __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME(Val, Cfct) \ + __TGMATH_UNARY_REAL_IMAG_RET_REAL ((Val), Cfct, Cfct) +# endif + +# if !__HAVE_BUILTIN_TGMATH_C23 +/* XXX This definition has to be changed as soon as the compiler understands + the imaginary keyword. */ +# define __TGMATH_BINARY_REAL_IMAG(Val1, Val2, Fct, Cfct) \ + (__extension__ ((sizeof (__real__ (Val1) \ + + __real__ (Val2)) > sizeof (double) \ + && __builtin_classify_type (__real__ (Val1) \ + + __real__ (Val2)) == 8) \ + ? __TGMATH_CF128 ((Val1) + (Val2), \ + (__tgmath_complex_type2 (Val1, Val2)) \ + Fct, \ + (__tgmath_complex_type2 (Val1, Val2)) \ + Cfct, \ + (Val1, Val2)) \ + (__expr_is_real ((Val1) + (Val2)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ + __tgml(Fct) (Val1, Val2) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ + __tgml(Cfct) (Val1, Val2)) \ + : (sizeof (+__real__ (Val1)) == sizeof (double) \ + || sizeof (+__real__ (Val2)) == sizeof (double) \ + || __builtin_classify_type (__real__ (Val1)) != 8 \ + || __builtin_classify_type (__real__ (Val2)) != 8) \ + ? (__expr_is_real ((Val1) + (Val2)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ + Fct (Val1, Val2) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ + Cfct (Val1, Val2)) \ + : (__expr_is_real ((Val1) + (Val2)) \ + ? (__tgmath_complex_type2 (Val1, Val2)) \ + Fct##f (Val1, Val2) \ + : (__tgmath_complex_type2 (Val1, Val2)) \ + Cfct##f (Val1, Val2)))) +# endif + +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (double) \ + ? F ## l (X) \ + : F (X))) +# define __TGMATH_2_NARROW_F(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (double) \ + ? F ## l (X, Y) \ + : F (X, Y))) +# define __TGMATH_3_NARROW_F(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (double) \ + ? F ## l (X, Y, Z) \ + : F (X, Y, Z))) +# endif +/* In most cases, these narrowing macro definitions based on sizeof + ensure that the function called has the right argument format, as + for other macros for compilers before GCC 8, but may not + have exactly the argument type (among the types with that format) + specified in the standard logic. + + In the case of macros for _Float32x return type, when _Float64x + exists, _Float64 arguments should result in the *f64 function being + called while _Float32x, float and double arguments should result in + the *f64x function being called (and integer arguments are + considered to have type _Float32x if any argument has type + _FloatNx, or double otherwise). These cases cannot be + distinguished using sizeof (or at all if the types are typedefs + rather than different types, in which case we err on the side of + using the wider type if unsure). */ +# if !__HAVE_BUILTIN_TGMATH_C23 +# if __HAVE_FLOATN_NOT_TYPEDEF +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + !__builtin_types_compatible_p (__typeof (+(X)), _Float64) +# else +# define __TGMATH_NARROW_F32X_USE_F64X(X) \ + (__builtin_types_compatible_p (__typeof (+(X)), double) \ + || __builtin_types_compatible_p (__typeof (+(X)), float) \ + || !__floating_type (__typeof (+(X)))) +# endif +# endif +# if __HAVE_FLOAT64X_LONG_DOUBLE && __HAVE_DISTINCT_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) +# define __TGMATH_2_NARROW_F32(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ + F ## f64x (X, Y) \ + : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f128 (X))) +# define __TGMATH_2_NARROW_F64(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y), F, (X, Y)) \ + F ## f64x (X, Y) \ + : F ## f128 (X, Y))) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? __TGMATH_F128LD ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f128 (X, Y, Z))) +# endif +# if !__HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? __TGMATH_F128 ((X), F, (X)) \ + F ## f64x (X) \ + : F ## f64 (X))) +# define __TGMATH_2_NARROW_F32X(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ + ? __TGMATH_F128 ((X) + (Y), F, (X, Y)) \ + F ## f64x (X, Y) \ + : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? __TGMATH_F128 ((X) + (Y) + (Z), F, (X, Y, Z)) \ + F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# elif __HAVE_FLOAT128 +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float64) \ + ? F ## f128 (X) \ + : F ## f64 (X))) +# define __TGMATH_2_NARROW_F32(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (_Float64) \ + ? F ## f128 (X, Y) \ + : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float64) \ + ? F ## f128 (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# define __TGMATH_1_NARROW_F64(F, X) \ + (F ## f128 (X)) +# define __TGMATH_2_NARROW_F64(F, X, Y) \ + (F ## f128 (X, Y)) +# define __TGMATH_3_NARROW_F64(F, X, Y, Z) \ + (F ## f128 (X, Y, Z)) +# endif +# if !__HAVE_BUILTIN_TGMATH_C23 +# define __TGMATH_1_NARROW_F32X(F, X) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X (X) \ + ? F ## f64x (X) \ + : F ## f64 (X))) +# define __TGMATH_2_NARROW_F32X(F, X, Y) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y)) \ + ? F ## f64x (X, Y) \ + : F ## f64 (X, Y))) +# define __TGMATH_3_NARROW_F32X(F, X, Y, Z) \ + (__extension__ (sizeof ((__tgmath_real_type (X)) 0 \ + + (__tgmath_real_type (Y)) 0 \ + + (__tgmath_real_type (Z)) 0) > sizeof (_Float32x) \ + || __TGMATH_NARROW_F32X_USE_F64X ((X) + (Y) + (Z)) \ + ? F ## f64x (X, Y, Z) \ + : F ## f64 (X, Y, Z))) +# endif +# else +# if !__HAVE_BUILTIN_TGMATH +# define __TGMATH_1_NARROW_F32(F, X) \ + (F ## f64 (X)) +# define __TGMATH_2_NARROW_F32(F, X, Y) \ + (F ## f64 (X, Y)) +# define __TGMATH_3_NARROW_F32(F, X, Y, Z) \ + (F ## f64 (X, Y, Z)) +# endif +# endif +#else +# error "Unsupported compiler; you cannot use " +#endif + + +/* Unary functions defined for real and complex values. */ + + +/* Trigonometric functions. */ + +/* Arc cosine of X. */ +#define acos(Val) __TGMATH_UNARY_REAL_IMAG (Val, acos, cacos) +/* Arc sine of X. */ +#define asin(Val) __TGMATH_UNARY_REAL_IMAG (Val, asin, casin) +/* Arc tangent of X. */ +#define atan(Val) __TGMATH_UNARY_REAL_IMAG (Val, atan, catan) +/* Arc tangent of Y/X. */ +#define atan2(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, atan2) + +/* Cosine of X. */ +#define cos(Val) __TGMATH_UNARY_REAL_IMAG (Val, cos, ccos) +/* Sine of X. */ +#define sin(Val) __TGMATH_UNARY_REAL_IMAG (Val, sin, csin) +/* Tangent of X. */ +#define tan(Val) __TGMATH_UNARY_REAL_IMAG (Val, tan, ctan) + +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23) +/* Arc cosine of X, divided by pi.. */ +# define acospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, acospi) +/* Arc sine of X, divided by pi.. */ +# define asinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, asinpi) +/* Arc tangent of X, divided by pi. */ +# define atanpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, atanpi) +/* Arc tangent of Y/X, divided by pi. */ +#define atan2pi(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, atan2pi) + +/* Cosine of pi * X. */ +# define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi) +/* Sine of pi * X. */ +# define sinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, sinpi) +/* Tangent of pi * X. */ +# define tanpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, tanpi) +#endif + +/* Hyperbolic functions. */ + +/* Hyperbolic arc cosine of X. */ +#define acosh(Val) __TGMATH_UNARY_REAL_IMAG (Val, acosh, cacosh) +/* Hyperbolic arc sine of X. */ +#define asinh(Val) __TGMATH_UNARY_REAL_IMAG (Val, asinh, casinh) +/* Hyperbolic arc tangent of X. */ +#define atanh(Val) __TGMATH_UNARY_REAL_IMAG (Val, atanh, catanh) + +/* Hyperbolic cosine of X. */ +#define cosh(Val) __TGMATH_UNARY_REAL_IMAG (Val, cosh, ccosh) +/* Hyperbolic sine of X. */ +#define sinh(Val) __TGMATH_UNARY_REAL_IMAG (Val, sinh, csinh) +/* Hyperbolic tangent of X. */ +#define tanh(Val) __TGMATH_UNARY_REAL_IMAG (Val, tanh, ctanh) + + +/* Exponential and logarithmic functions. */ + +/* Exponential function of X. */ +#define exp(Val) __TGMATH_UNARY_REAL_IMAG (Val, exp, cexp) + +/* Break VALUE into a normalized fraction and an integral power of 2. */ +#define frexp(Val1, Val2) __TGMATH_BINARY_FIRST_REAL_ONLY (Val1, Val2, frexp) + +/* X times (two to the EXP power). */ +#define ldexp(Val1, Val2) __TGMATH_BINARY_FIRST_REAL_ONLY (Val1, Val2, ldexp) + +/* Natural logarithm of X. */ +#define log(Val) __TGMATH_UNARY_REAL_IMAG (Val, log, clog) + +/* Base-ten logarithm of X. */ +#ifdef __USE_GNU +# define log10(Val) __TGMATH_UNARY_REAL_IMAG (Val, log10, clog10) +#else +# define log10(Val) __TGMATH_UNARY_REAL_ONLY (Val, log10) +#endif + +/* Return exp(X) - 1. */ +#define expm1(Val) __TGMATH_UNARY_REAL_ONLY (Val, expm1) + +/* Return log(1 + X). */ +#define log1p(Val) __TGMATH_UNARY_REAL_ONLY (Val, log1p) + +/* Return the base 2 signed integral exponent of X. */ +#define logb(Val) __TGMATH_UNARY_REAL_ONLY (Val, logb) + +/* Compute base-2 exponential of X. */ +#define exp2(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp2) + +/* Compute base-2 logarithm of X. */ +#define log2(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2) + +#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23) +/* Compute exponent to base ten. */ +#define exp10(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10) + +/* Return exp2(X) - 1. */ +#define exp2m1(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp2m1) + +/* Return exp10(X) - 1. */ +#define exp10m1(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10m1) + +/* Return log2(1 + X). */ +#define log2p1(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2p1) + +/* Return log10(1 + X). */ +#define log10p1(Val) __TGMATH_UNARY_REAL_ONLY (Val, log10p1) + +/* Return log(1 + X). */ +#define logp1(Val) __TGMATH_UNARY_REAL_ONLY (Val, logp1) +#endif + + +/* Power functions. */ + +/* Return X to the Y power. */ +#define pow(Val1, Val2) __TGMATH_BINARY_REAL_IMAG (Val1, Val2, pow, cpow) + +/* Return the square root of X. */ +#define sqrt(Val) __TGMATH_UNARY_REAL_IMAG (Val, sqrt, csqrt) + +/* Return `sqrt(X*X + Y*Y)'. */ +#define hypot(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, hypot) + +/* Return the cube root of X. */ +#define cbrt(Val) __TGMATH_UNARY_REAL_ONLY (Val, cbrt) + + +/* Nearest integer, absolute value, and remainder functions. */ + +/* Smallest integral value not less than X. */ +#define ceil(Val) __TGMATH_UNARY_REAL_ONLY (Val, ceil) + +/* Absolute value of X. */ +#define fabs(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL (Val, fabs, cabs) + +/* Largest integer not greater than X. */ +#define floor(Val) __TGMATH_UNARY_REAL_ONLY (Val, floor) + +/* Floating-point modulo remainder of X/Y. */ +#define fmod(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmod) + +/* Round X to integral valuein floating-point format using current + rounding direction, but do not raise inexact exception. */ +#define nearbyint(Val) __TGMATH_UNARY_REAL_ONLY (Val, nearbyint) + +/* Round X to nearest integral value, rounding halfway cases away from + zero. */ +#define round(Val) __TGMATH_UNARY_REAL_ONLY (Val, round) + +/* Round X to the integral value in floating-point format nearest but + not larger in magnitude. */ +#define trunc(Val) __TGMATH_UNARY_REAL_ONLY (Val, trunc) + +/* Compute remainder of X and Y and put in *QUO a value with sign of x/y + and magnitude congruent `mod 2^n' to the magnitude of the integral + quotient x/y, with n >= 3. */ +#define remquo(Val1, Val2, Val3) \ + __TGMATH_TERNARY_FIRST_SECOND_REAL_ONLY (Val1, Val2, Val3, remquo) + +/* Round X to nearest integral value according to current rounding + direction. */ +#define lrint(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, lrint) +#define llrint(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, llrint) + +/* Round X to nearest integral value, rounding halfway cases away from + zero. */ +#define lround(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, lround) +#define llround(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, llround) + + +/* Return X with its signed changed to Y's. */ +#define copysign(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, copysign) + +/* Error and gamma functions. */ +#define erf(Val) __TGMATH_UNARY_REAL_ONLY (Val, erf) +#define erfc(Val) __TGMATH_UNARY_REAL_ONLY (Val, erfc) +#define tgamma(Val) __TGMATH_UNARY_REAL_ONLY (Val, tgamma) +#define lgamma(Val) __TGMATH_UNARY_REAL_ONLY (Val, lgamma) + + +/* Return the integer nearest X in the direction of the + prevailing rounding mode. */ +#define rint(Val) __TGMATH_UNARY_REAL_ONLY (Val, rint) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Return X - epsilon. */ +# define nextdown(Val) __TGMATH_UNARY_REAL_ONLY (Val, nextdown) +/* Return X + epsilon. */ +# define nextup(Val) __TGMATH_UNARY_REAL_ONLY (Val, nextup) +#endif + +/* Return X + epsilon if X < Y, X - epsilon if X > Y. */ +#define nextafter(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, nextafter) +#define nexttoward(Val1, Val2) \ + __TGMATH_BINARY_FIRST_REAL_STD_ONLY (Val1, Val2, nexttoward) + +/* Return the remainder of integer division X / Y with infinite precision. */ +#define remainder(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, remainder) + +/* Return X times (2 to the Nth power). */ +#ifdef __USE_MISC +# define scalb(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, scalb) +#endif + +/* Return X times (2 to the Nth power). */ +#define scalbn(Val1, Val2) __TGMATH_BINARY_FIRST_REAL_ONLY (Val1, Val2, scalbn) + +/* Return X times (2 to the Nth power). */ +#define scalbln(Val1, Val2) \ + __TGMATH_BINARY_FIRST_REAL_ONLY (Val1, Val2, scalbln) + +/* Return the binary exponent of X, which must be nonzero. */ +#define ilogb(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, ilogb) + + +/* Return positive difference between X and Y. */ +#define fdim(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fdim) + +#if __GLIBC_USE (ISOC23) && !defined __USE_GNU +/* Return maximum numeric value from X and Y. */ +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmax) + +/* Return minimum numeric value from X and Y. */ +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_STD_ONLY (Val1, Val2, fmin) +#else +/* Return maximum numeric value from X and Y. */ +# define fmax(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmax) + +/* Return minimum numeric value from X and Y. */ +# define fmin(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmin) +#endif + + +/* Multiply-add function computed as a ternary operation. */ +#define fma(Val1, Val2, Val3) \ + __TGMATH_TERNARY_REAL_ONLY (Val1, Val2, Val3, fma) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Round X to nearest integer value, rounding halfway cases to even. */ +# define roundeven(Val) __TGMATH_UNARY_REAL_ONLY (Val, roundeven) + +# define fromfp(Val1, Val2, Val3) \ + __TGMATH_TERNARY_FIRST_REAL_RET_ONLY (Val1, Val2, Val3, fromfp) + +# define ufromfp(Val1, Val2, Val3) \ + __TGMATH_TERNARY_FIRST_REAL_RET_ONLY (Val1, Val2, Val3, ufromfp) + +# define fromfpx(Val1, Val2, Val3) \ + __TGMATH_TERNARY_FIRST_REAL_RET_ONLY (Val1, Val2, Val3, fromfpx) + +# define ufromfpx(Val1, Val2, Val3) \ + __TGMATH_TERNARY_FIRST_REAL_RET_ONLY (Val1, Val2, Val3, ufromfpx) + +/* Like ilogb, but returning long int. */ +# define llogb(Val) __TGMATH_UNARY_REAL_RET_ONLY (Val, llogb) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT) +/* Return value with maximum magnitude. */ +# define fmaxmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaxmag) + +/* Return value with minimum magnitude. */ +# define fminmag(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminmag) +#endif + +#if __GLIBC_USE (ISOC23) +/* Return maximum value from X and Y. */ +# define fmaximum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum) + +/* Return minimum value from X and Y. */ +# define fminimum(Val1, Val2) __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum) + +/* Return maximum numeric value from X and Y. */ +# define fmaximum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_num) + +/* Return minimum numeric value from X and Y. */ +# define fminimum_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_num) + +/* Return value with maximum magnitude. */ +# define fmaximum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag) + +/* Return value with minimum magnitude. */ +# define fminimum_mag(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag) + +/* Return numeric value with maximum magnitude. */ +# define fmaximum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fmaximum_mag_num) + +/* Return numeric value with minimum magnitude. */ +# define fminimum_mag_num(Val1, Val2) \ + __TGMATH_BINARY_REAL_ONLY (Val1, Val2, fminimum_mag_num) +#endif + + +/* Absolute value, conjugates, and projection. */ + +/* Argument value of Z. */ +#define carg(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME (Val, carg) + +/* Complex conjugate of Z. */ +#define conj(Val) __TGMATH_UNARY_IMAG (Val, conj) + +/* Projection of Z onto the Riemann sphere. */ +#define cproj(Val) __TGMATH_UNARY_IMAG (Val, cproj) + + +/* Decomposing complex values. */ + +/* Imaginary part of Z. */ +#define cimag(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME (Val, cimag) + +/* Real part of Z. */ +#define creal(Val) __TGMATH_UNARY_REAL_IMAG_RET_REAL_SAME (Val, creal) + + +/* Narrowing functions. */ + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) + +/* Add. */ +# define fadd(Val1, Val2) __TGMATH_2_NARROW_F (fadd, Val1, Val2) +# define dadd(Val1, Val2) __TGMATH_2_NARROW_D (dadd, Val1, Val2) + +/* Divide. */ +# define fdiv(Val1, Val2) __TGMATH_2_NARROW_F (fdiv, Val1, Val2) +# define ddiv(Val1, Val2) __TGMATH_2_NARROW_D (ddiv, Val1, Val2) + +/* Multiply. */ +# define fmul(Val1, Val2) __TGMATH_2_NARROW_F (fmul, Val1, Val2) +# define dmul(Val1, Val2) __TGMATH_2_NARROW_D (dmul, Val1, Val2) + +/* Subtract. */ +# define fsub(Val1, Val2) __TGMATH_2_NARROW_F (fsub, Val1, Val2) +# define dsub(Val1, Val2) __TGMATH_2_NARROW_D (dsub, Val1, Val2) + +/* Square root. */ +# define fsqrt(Val) __TGMATH_1_NARROW_F (fsqrt, Val) +# define dsqrt(Val) __TGMATH_1_NARROW_D (dsqrt, Val) + +/* Fused multiply-add. */ +# define ffma(Val1, Val2, Val3) __TGMATH_3_NARROW_F (ffma, Val1, Val2, Val3) +# define dfma(Val1, Val2, Val3) __TGMATH_3_NARROW_D (dfma, Val1, Val2, Val3) + +#endif + +#if __GLIBC_USE (IEC_60559_TYPES_EXT) + +# if __HAVE_FLOAT16 +# define f16add(Val1, Val2) __TGMATH_2_NARROW_F16 (f16add, Val1, Val2) +# define f16div(Val1, Val2) __TGMATH_2_NARROW_F16 (f16div, Val1, Val2) +# define f16mul(Val1, Val2) __TGMATH_2_NARROW_F16 (f16mul, Val1, Val2) +# define f16sub(Val1, Val2) __TGMATH_2_NARROW_F16 (f16sub, Val1, Val2) +# define f16sqrt(Val) __TGMATH_1_NARROW_F16 (f16sqrt, Val) +# define f16fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F16 (f16fma, Val1, Val2, Val3) +# endif + +# if __HAVE_FLOAT32 +# define f32add(Val1, Val2) __TGMATH_2_NARROW_F32 (f32add, Val1, Val2) +# define f32div(Val1, Val2) __TGMATH_2_NARROW_F32 (f32div, Val1, Val2) +# define f32mul(Val1, Val2) __TGMATH_2_NARROW_F32 (f32mul, Val1, Val2) +# define f32sub(Val1, Val2) __TGMATH_2_NARROW_F32 (f32sub, Val1, Val2) +# define f32sqrt(Val) __TGMATH_1_NARROW_F32 (f32sqrt, Val) +# define f32fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32 (f32fma, Val1, Val2, Val3) +# endif + +# if __HAVE_FLOAT64 && (__HAVE_FLOAT64X || __HAVE_FLOAT128) +# define f64add(Val1, Val2) __TGMATH_2_NARROW_F64 (f64add, Val1, Val2) +# define f64div(Val1, Val2) __TGMATH_2_NARROW_F64 (f64div, Val1, Val2) +# define f64mul(Val1, Val2) __TGMATH_2_NARROW_F64 (f64mul, Val1, Val2) +# define f64sub(Val1, Val2) __TGMATH_2_NARROW_F64 (f64sub, Val1, Val2) +# define f64sqrt(Val) __TGMATH_1_NARROW_F64 (f64sqrt, Val) +# define f64fma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64 (f64fma, Val1, Val2, Val3) +# endif + +# if __HAVE_FLOAT32X +# define f32xadd(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xadd, Val1, Val2) +# define f32xdiv(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xdiv, Val1, Val2) +# define f32xmul(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xmul, Val1, Val2) +# define f32xsub(Val1, Val2) __TGMATH_2_NARROW_F32X (f32xsub, Val1, Val2) +# define f32xsqrt(Val) __TGMATH_1_NARROW_F32X (f32xsqrt, Val) +# define f32xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F32X (f32xfma, Val1, Val2, Val3) +# endif + +# if __HAVE_FLOAT64X && (__HAVE_FLOAT128X || __HAVE_FLOAT128) +# define f64xadd(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xadd, Val1, Val2) +# define f64xdiv(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xdiv, Val1, Val2) +# define f64xmul(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xmul, Val1, Val2) +# define f64xsub(Val1, Val2) __TGMATH_2_NARROW_F64X (f64xsub, Val1, Val2) +# define f64xsqrt(Val) __TGMATH_1_NARROW_F64X (f64xsqrt, Val) +# define f64xfma(Val1, Val2, Val3) \ + __TGMATH_3_NARROW_F64X (f64xfma, Val1, Val2, Val3) +# endif + +#endif + +#endif /* tgmath.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/thread_db.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/thread_db.h new file mode 100644 index 00000000..6097635a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/thread_db.h @@ -0,0 +1,458 @@ +/* thread_db.h -- interface to libthread_db.so library for debugging -lpthread + Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_DB_H +#define _THREAD_DB_H 1 + +/* This is the debugger interface for the NPTL library. It is + modelled closely after the interface with same names in Solaris + with the goal to share the same code in the debugger. */ +#include +#include +#include +#include + + +/* Error codes of the library. */ +typedef enum +{ + TD_OK, /* No error. */ + TD_ERR, /* No further specified error. */ + TD_NOTHR, /* No matching thread found. */ + TD_NOSV, /* No matching synchronization handle found. */ + TD_NOLWP, /* No matching light-weighted process found. */ + TD_BADPH, /* Invalid process handle. */ + TD_BADTH, /* Invalid thread handle. */ + TD_BADSH, /* Invalid synchronization handle. */ + TD_BADTA, /* Invalid thread agent. */ + TD_BADKEY, /* Invalid key. */ + TD_NOMSG, /* No event available. */ + TD_NOFPREGS, /* No floating-point register content available. */ + TD_NOLIBTHREAD, /* Application not linked with thread library. */ + TD_NOEVENT, /* Requested event is not supported. */ + TD_NOCAPAB, /* Capability not available. */ + TD_DBERR, /* Internal debug library error. */ + TD_NOAPLIC, /* Operation is not applicable. */ + TD_NOTSD, /* No thread-specific data available. */ + TD_MALLOC, /* Out of memory. */ + TD_PARTIALREG, /* Not entire register set was read or written. */ + TD_NOXREGS, /* X register set not available for given thread. */ + TD_TLSDEFER, /* Thread has not yet allocated TLS for given module. */ + TD_NOTALLOC = TD_TLSDEFER, + TD_VERSION, /* Version if libpthread and libthread_db do not match. */ + TD_NOTLS /* There is no TLS segment in the given module. */ +} td_err_e; + + +/* Possible thread states. TD_THR_ANY_STATE is a pseudo-state used to + select threads regardless of state in td_ta_thr_iter(). */ +typedef enum +{ + TD_THR_ANY_STATE, + TD_THR_UNKNOWN, + TD_THR_STOPPED, + TD_THR_RUN, + TD_THR_ACTIVE, + TD_THR_ZOMBIE, + TD_THR_SLEEP, + TD_THR_STOPPED_ASLEEP +} td_thr_state_e; + +/* Thread type: user or system. TD_THR_ANY_TYPE is a pseudo-type used + to select threads regardless of type in td_ta_thr_iter(). */ +typedef enum +{ + TD_THR_ANY_TYPE, + TD_THR_USER, + TD_THR_SYSTEM +} td_thr_type_e; + + +/* Types of the debugging library. */ + +/* Handle for a process. This type is opaque. */ +typedef struct td_thragent td_thragent_t; + +/* The actual thread handle type. This is also opaque. */ +typedef struct td_thrhandle +{ + td_thragent_t *th_ta_p; + psaddr_t th_unique; +} td_thrhandle_t; + + +/* Forward declaration of a type defined by and for the dynamic linker. */ +struct link_map; + + +/* Flags for `td_ta_thr_iter'. */ +#define TD_THR_ANY_USER_FLAGS 0xffffffff +#define TD_THR_LOWEST_PRIORITY -20 +#define TD_SIGNO_MASK NULL + + +#define TD_EVENTSIZE 2 +#define BT_UISHIFT 5 /* log base 2 of BT_NBIPUI, to extract word index */ +#define BT_NBIPUI (1 << BT_UISHIFT) /* n bits per unsigned int */ +#define BT_UIMASK (BT_NBIPUI - 1) /* to extract bit index */ + +/* Bitmask of enabled events. */ +typedef struct td_thr_events +{ + uint32_t event_bits[TD_EVENTSIZE]; +} td_thr_events_t; + +/* Event set manipulation macros. */ +#define __td_eventmask(n) \ + (UINT32_C (1) << (((n) - 1) & BT_UIMASK)) +#define __td_eventword(n) \ + ((UINT32_C ((n) - 1)) >> BT_UISHIFT) + +#define td_event_emptyset(setp) \ + do { \ + int __i; \ + for (__i = TD_EVENTSIZE; __i > 0; --__i) \ + (setp)->event_bits[__i - 1] = 0; \ + } while (0) + +#define td_event_fillset(setp) \ + do { \ + int __i; \ + for (__i = TD_EVENTSIZE; __i > 0; --__i) \ + (setp)->event_bits[__i - 1] = UINT32_C (0xffffffff); \ + } while (0) + +#define td_event_addset(setp, n) \ + (((setp)->event_bits[__td_eventword (n)]) |= __td_eventmask (n)) +#define td_event_delset(setp, n) \ + (((setp)->event_bits[__td_eventword (n)]) &= ~__td_eventmask (n)) +#define td_eventismember(setp, n) \ + (__td_eventmask (n) & ((setp)->event_bits[__td_eventword (n)])) +#if TD_EVENTSIZE == 2 +# define td_eventisempty(setp) \ + (!((setp)->event_bits[0]) && !((setp)->event_bits[1])) +#else +# error "td_eventisempty must be changed to match TD_EVENTSIZE" +#endif + +/* Events reportable by the thread implementation. */ +typedef enum +{ + TD_ALL_EVENTS, /* Pseudo-event number. */ + TD_EVENT_NONE = TD_ALL_EVENTS, /* Depends on context. */ + TD_READY, /* Is executable now. */ + TD_SLEEP, /* Blocked in a synchronization obj. */ + TD_SWITCHTO, /* Now assigned to a process. */ + TD_SWITCHFROM, /* Not anymore assigned to a process. */ + TD_LOCK_TRY, /* Trying to get an unavailable lock. */ + TD_CATCHSIG, /* Signal posted to the thread. */ + TD_IDLE, /* Process getting idle. */ + TD_CREATE, /* New thread created. */ + TD_DEATH, /* Thread terminated. */ + TD_PREEMPT, /* Preempted. */ + TD_PRI_INHERIT, /* Inherited elevated priority. */ + TD_REAP, /* Reaped. */ + TD_CONCURRENCY, /* Number of processes changing. */ + TD_TIMEOUT, /* Conditional variable wait timed out. */ + TD_MIN_EVENT_NUM = TD_READY, + TD_MAX_EVENT_NUM = TD_TIMEOUT, + TD_EVENTS_ENABLE = 31 /* Event reporting enabled. */ +} td_event_e; + +/* Values representing the different ways events are reported. */ +typedef enum +{ + NOTIFY_BPT, /* User must insert breakpoint at u.bptaddr. */ + NOTIFY_AUTOBPT, /* Breakpoint at u.bptaddr is automatically + inserted. */ + NOTIFY_SYSCALL /* System call u.syscallno will be invoked. */ +} td_notify_e; + +/* Description how event type is reported. */ +typedef struct td_notify +{ + td_notify_e type; /* Way the event is reported. */ + union + { + psaddr_t bptaddr; /* Address of breakpoint. */ + int syscallno; /* Number of system call used. */ + } u; +} td_notify_t; + +/* Structure used to report event. */ +typedef struct td_event_msg +{ + td_event_e event; /* Event type being reported. */ + const td_thrhandle_t *th_p; /* Thread reporting the event. */ + union + { +# if 0 + td_synchandle_t *sh; /* Handle of synchronization object. */ +#endif + uintptr_t data; /* Event specific data. */ + } msg; +} td_event_msg_t; + +/* Structure containing event data available in each thread structure. */ +typedef struct +{ + td_thr_events_t eventmask; /* Mask of enabled events. */ + td_event_e eventnum; /* Number of last event. */ + void *eventdata; /* Data associated with event. */ +} td_eventbuf_t; + + +/* Gathered statistics about the process. */ +typedef struct td_ta_stats +{ + int nthreads; /* Total number of threads in use. */ + int r_concurrency; /* Concurrency level requested by user. */ + int nrunnable_num; /* Average runnable threads, numerator. */ + int nrunnable_den; /* Average runnable threads, denominator. */ + int a_concurrency_num; /* Achieved concurrency level, numerator. */ + int a_concurrency_den; /* Achieved concurrency level, denominator. */ + int nlwps_num; /* Average number of processes in use, + numerator. */ + int nlwps_den; /* Average number of processes in use, + denominator. */ + int nidle_num; /* Average number of idling processes, + numerator. */ + int nidle_den; /* Average number of idling processes, + denominator. */ +} td_ta_stats_t; + + +/* Since Sun's library is based on Solaris threads we have to define a few + types to map them to POSIX threads. */ +typedef pthread_t thread_t; +typedef pthread_key_t thread_key_t; + + +/* Callback for iteration over threads. */ +typedef int td_thr_iter_f (const td_thrhandle_t *, void *); + +/* Callback for iteration over thread local data. */ +typedef int td_key_iter_f (thread_key_t, void (*) (void *), void *); + + + +/* Forward declaration. This has to be defined by the user. */ +struct ps_prochandle; + + +/* Information about the thread. */ +typedef struct td_thrinfo +{ + td_thragent_t *ti_ta_p; /* Process handle. */ + unsigned int ti_user_flags; /* Unused. */ + thread_t ti_tid; /* Thread ID returned by + pthread_create(). */ + char *ti_tls; /* Pointer to thread-local data. */ + psaddr_t ti_startfunc; /* Start function passed to + pthread_create(). */ + psaddr_t ti_stkbase; /* Base of thread's stack. */ + long int ti_stksize; /* Size of thread's stack. */ + psaddr_t ti_ro_area; /* Unused. */ + int ti_ro_size; /* Unused. */ + td_thr_state_e ti_state; /* Thread state. */ + unsigned char ti_db_suspended; /* Nonzero if suspended by debugger. */ + td_thr_type_e ti_type; /* Type of the thread (system vs + user thread). */ + intptr_t ti_pc; /* Unused. */ + intptr_t ti_sp; /* Unused. */ + short int ti_flags; /* Unused. */ + int ti_pri; /* Thread priority. */ + lwpid_t ti_lid; /* Kernel PID for this thread. */ + sigset_t ti_sigmask; /* Signal mask. */ + unsigned char ti_traceme; /* Nonzero if event reporting + enabled. */ + unsigned char ti_preemptflag; /* Unused. */ + unsigned char ti_pirecflag; /* Unused. */ + sigset_t ti_pending; /* Set of pending signals. */ + td_thr_events_t ti_events; /* Set of enabled events. */ +} td_thrinfo_t; + + + +/* Prototypes for exported library functions. */ + +/* Initialize the thread debug support library. */ +extern td_err_e td_init (void); + +/* Historical relict. Should not be used anymore. */ +extern td_err_e td_log (void); + +/* Return list of symbols the library can request. */ +extern const char **td_symbol_list (void); + +/* Generate new thread debug library handle for process PS. */ +extern td_err_e td_ta_new (struct ps_prochandle *__ps, td_thragent_t **__ta); + +/* Free resources allocated for TA. */ +extern td_err_e td_ta_delete (td_thragent_t *__ta); + +/* Get number of currently running threads in process associated with TA. */ +extern td_err_e td_ta_get_nthreads (const td_thragent_t *__ta, int *__np); + +/* Return process handle passed in `td_ta_new' for process associated with + TA. */ +extern td_err_e td_ta_get_ph (const td_thragent_t *__ta, + struct ps_prochandle **__ph); + +/* Map thread library handle PT to thread debug library handle for process + associated with TA and store result in *TH. */ +extern td_err_e td_ta_map_id2thr (const td_thragent_t *__ta, pthread_t __pt, + td_thrhandle_t *__th); + +/* Map process ID LWPID to thread debug library handle for process + associated with TA and store result in *TH. */ +extern td_err_e td_ta_map_lwp2thr (const td_thragent_t *__ta, lwpid_t __lwpid, + td_thrhandle_t *__th); + + +/* Call for each thread in a process associated with TA the callback function + CALLBACK. */ +extern td_err_e td_ta_thr_iter (const td_thragent_t *__ta, + td_thr_iter_f *__callback, void *__cbdata_p, + td_thr_state_e __state, int __ti_pri, + sigset_t *__ti_sigmask_p, + unsigned int __ti_user_flags); + +/* Call for each defined thread local data entry the callback function KI. */ +extern td_err_e td_ta_tsd_iter (const td_thragent_t *__ta, td_key_iter_f *__ki, + void *__p); + + +/* Get event address for EVENT. */ +extern td_err_e td_ta_event_addr (const td_thragent_t *__ta, + td_event_e __event, td_notify_t *__ptr); + +/* Enable EVENT in global mask. */ +extern td_err_e td_ta_set_event (const td_thragent_t *__ta, + td_thr_events_t *__event); + +/* Disable EVENT in global mask. */ +extern td_err_e td_ta_clear_event (const td_thragent_t *__ta, + td_thr_events_t *__event); + +/* Return information about last event. */ +extern td_err_e td_ta_event_getmsg (const td_thragent_t *__ta, + td_event_msg_t *__msg); + + +/* Set suggested concurrency level for process associated with TA. */ +extern td_err_e td_ta_setconcurrency (const td_thragent_t *__ta, int __level); + + +/* Enable collecting statistics for process associated with TA. */ +extern td_err_e td_ta_enable_stats (const td_thragent_t *__ta, int __enable); + +/* Reset statistics. */ +extern td_err_e td_ta_reset_stats (const td_thragent_t *__ta); + +/* Retrieve statistics from process associated with TA. */ +extern td_err_e td_ta_get_stats (const td_thragent_t *__ta, + td_ta_stats_t *__statsp); + + +/* Validate that TH is a thread handle. */ +extern td_err_e td_thr_validate (const td_thrhandle_t *__th); + +/* Return information about thread TH. */ +extern td_err_e td_thr_get_info (const td_thrhandle_t *__th, + td_thrinfo_t *__infop); + +/* Retrieve floating-point register contents of process running thread TH. */ +extern td_err_e td_thr_getfpregs (const td_thrhandle_t *__th, + prfpregset_t *__regset); + +/* Retrieve general register contents of process running thread TH. */ +extern td_err_e td_thr_getgregs (const td_thrhandle_t *__th, + prgregset_t __gregs); + +/* Retrieve extended register contents of process running thread TH. */ +extern td_err_e td_thr_getxregs (const td_thrhandle_t *__th, void *__xregs); + +/* Get size of extended register set of process running thread TH. */ +extern td_err_e td_thr_getxregsize (const td_thrhandle_t *__th, int *__sizep); + +/* Set floating-point register contents of process running thread TH. */ +extern td_err_e td_thr_setfpregs (const td_thrhandle_t *__th, + const prfpregset_t *__fpregs); + +/* Set general register contents of process running thread TH. */ +extern td_err_e td_thr_setgregs (const td_thrhandle_t *__th, + prgregset_t __gregs); + +/* Set extended register contents of process running thread TH. */ +extern td_err_e td_thr_setxregs (const td_thrhandle_t *__th, + const void *__addr); + + +/* Get address of the given module's TLS storage area for the given thread. */ +extern td_err_e td_thr_tlsbase (const td_thrhandle_t *__th, + unsigned long int __modid, + psaddr_t *__base); + +/* Get address of thread local variable. */ +extern td_err_e td_thr_tls_get_addr (const td_thrhandle_t *__th, + psaddr_t __map_address, size_t __offset, + psaddr_t *__address); + + +/* Enable reporting for EVENT for thread TH. */ +extern td_err_e td_thr_event_enable (const td_thrhandle_t *__th, int __event); + +/* Enable EVENT for thread TH. */ +extern td_err_e td_thr_set_event (const td_thrhandle_t *__th, + td_thr_events_t *__event); + +/* Disable EVENT for thread TH. */ +extern td_err_e td_thr_clear_event (const td_thrhandle_t *__th, + td_thr_events_t *__event); + +/* Get event message for thread TH. */ +extern td_err_e td_thr_event_getmsg (const td_thrhandle_t *__th, + td_event_msg_t *__msg); + + +/* Set priority of thread TH. */ +extern td_err_e td_thr_setprio (const td_thrhandle_t *__th, int __prio); + + +/* Set pending signals for thread TH. */ +extern td_err_e td_thr_setsigpending (const td_thrhandle_t *__th, + unsigned char __n, const sigset_t *__ss); + +/* Set signal mask for thread TH. */ +extern td_err_e td_thr_sigsetmask (const td_thrhandle_t *__th, + const sigset_t *__ss); + + +/* Return thread local data associated with key TK in thread TH. */ +extern td_err_e td_thr_tsd (const td_thrhandle_t *__th, + const thread_key_t __tk, void **__data); + + +/* Suspend execution of thread TH. */ +extern td_err_e td_thr_dbsuspend (const td_thrhandle_t *__th); + +/* Resume execution of thread TH. */ +extern td_err_e td_thr_dbresume (const td_thrhandle_t *__th); + +#endif /* thread_db.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/threads.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/threads.h new file mode 100644 index 00000000..3bec8915 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/threads.h @@ -0,0 +1,239 @@ +/* ISO C11 Standard: 7.26 - Thread support library . + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREADS_H +#define _THREADS_H 1 + +#include +#include + +__BEGIN_DECLS + +#include +#include + +#if (!defined __STDC_VERSION__ \ + || __STDC_VERSION__ <= 201710L \ + || !__GNUC_PREREQ (13, 0)) && !defined __cplusplus +# define thread_local _Thread_local +#endif + +#define TSS_DTOR_ITERATIONS 4 +typedef __tss_t tss_t; +typedef void (*tss_dtor_t) (void*); + +typedef __thrd_t thrd_t; +typedef int (*thrd_start_t) (void*); + +/* Exit and error codes. */ +enum +{ + thrd_success = 0, + thrd_busy = 1, + thrd_error = 2, + thrd_nomem = 3, + thrd_timedout = 4 +}; + +/* Mutex types. */ +enum +{ + mtx_plain = 0, + mtx_recursive = 1, + mtx_timed = 2 +}; + +typedef __once_flag once_flag; +#define ONCE_FLAG_INIT __ONCE_FLAG_INIT + +typedef union +{ + char __size[__SIZEOF_PTHREAD_MUTEX_T]; + long int __align __LOCK_ALIGNMENT; +} mtx_t; + +typedef union +{ + char __size[__SIZEOF_PTHREAD_COND_T]; + __extension__ long long int __align __LOCK_ALIGNMENT; +} cnd_t; + +/* Threads functions. */ + +/* Create a new thread executing the function __FUNC. Arguments for __FUNC + are passed through __ARG. If successful, __THR is set to new thread + identifier. */ +extern int thrd_create (thrd_t *__thr, thrd_start_t __func, void *__arg); + +/* Check if __LHS and __RHS point to the same thread. */ +extern int thrd_equal (thrd_t __lhs, thrd_t __rhs); + +/* Return current thread identifier. */ +extern thrd_t thrd_current (void); + +/* Block current thread execution for at least the time pointed by + __TIME_POINT. The current thread may resume if receives a signal. In + that case, if __REMAINING is not NULL, the remaining time is stored in + the object pointed by it. */ +#ifndef __USE_TIME64_REDIRECTS +extern int thrd_sleep (const struct timespec *__time_point, + struct timespec *__remaining); +#else +# ifdef __REDIRECT +extern int __REDIRECT (thrd_sleep, (const struct timespec *__time_point, + struct timespec *__remaining), + __thrd_sleep64); +# else +# define thrd_sleep __thrd_sleep64 +# endif +#endif + +/* Terminate current thread execution, cleaning up any thread local + storage and freeing resources. Returns the value specified in __RES. */ +extern void thrd_exit (int __res) __attribute__ ((__noreturn__)); + +/* Detach the thread identified by __THR from the current environment + (it does not allow join or wait for it). */ +extern int thrd_detach (thrd_t __thr); + +/* Block current thread until execution of __THR is complete. In case that + __RES is not NULL, will store the return value of __THR when exiting. */ +extern int thrd_join (thrd_t __thr, int *__res); + +/* Stop current thread execution and call the scheduler to decide which + thread should execute next. The current thread may be selected by the + scheduler to keep running. */ +extern void thrd_yield (void); + +#ifdef __USE_EXTERN_INLINES +/* Optimizations. */ +__extern_inline int +thrd_equal (thrd_t __thread1, thrd_t __thread2) +{ + return __thread1 == __thread2; +} +#endif + + +/* Mutex functions. */ + +/* Creates a new mutex object with type __TYPE. If successful the new + object is pointed by __MUTEX. */ +extern int mtx_init (mtx_t *__mutex, int __type); + +/* Block the current thread until the mutex pointed to by __MUTEX is + unlocked. In that case current thread will not be blocked. */ +extern int mtx_lock (mtx_t *__mutex); + +/* Block the current thread until the mutex pointed by __MUTEX is unlocked + or time pointed by __TIME_POINT is reached. In case the mutex is unlock, + the current thread will not be blocked. */ +#ifndef __USE_TIME64_REDIRECTS +extern int mtx_timedlock (mtx_t *__restrict __mutex, + const struct timespec *__restrict __time_point); +#else +# ifdef __REDIRECT +extern int __REDIRECT (mtx_timedlock, (mtx_t *__restrict __mutex, + const struct timespec *__restrict + __time_point), + __mtx_timedlock64); +# else +# define mtx_timedlock __mtx_timedlock64 +# endif +#endif + +/* Try to lock the mutex pointed by __MUTEX without blocking. If the mutex + is free the current threads takes control of it, otherwise it returns + immediately. */ +extern int mtx_trylock (mtx_t *__mutex); + +/* Unlock the mutex pointed by __MUTEX. It may potentially awake other + threads waiting on this mutex. */ +extern int mtx_unlock (mtx_t *__mutex); + +/* Destroy the mutex object pointed by __MUTEX. */ +extern void mtx_destroy (mtx_t *__mutex); + + +/* Call function __FUNC exactly once, even if invoked from several threads. + All calls must be made with the same __FLAGS object. */ +extern void call_once (once_flag *__flag, void (*__func)(void)); + + +/* Condition variable functions. */ + +/* Initialize new condition variable pointed by __COND. */ +extern int cnd_init (cnd_t *__cond); + +/* Unblock one thread that currently waits on condition variable pointed + by __COND. */ +extern int cnd_signal (cnd_t *__cond); + +/* Unblock all threads currently waiting on condition variable pointed by + __COND. */ +extern int cnd_broadcast (cnd_t *__cond); + +/* Block current thread on the condition variable pointed by __COND. */ +extern int cnd_wait (cnd_t *__cond, mtx_t *__mutex); + +/* Block current thread on the condition variable until condition variable + pointed by __COND is signaled or time pointed by __TIME_POINT is + reached. */ +#ifndef __USE_TIME64_REDIRECTS +extern int cnd_timedwait (cnd_t *__restrict __cond, + mtx_t *__restrict __mutex, + const struct timespec *__restrict __time_point); +#else +# ifdef __REDIRECT +extern int __REDIRECT (cnd_timedwait, (cnd_t *__restrict __cond, + mtx_t *__restrict __mutex, + const struct timespec *__restrict + __time_point), + __cnd_timedwait64); +# else +# define cnd_timedwait __cnd_timedwait64 +# endif +#endif + +/* Destroy condition variable pointed by __cond and free all of its + resources. */ +extern void cnd_destroy (cnd_t *__COND); + + +/* Thread specific storage functions. */ + +/* Create new thread-specific storage key and stores it in the object pointed + by __TSS_ID. If __DESTRUCTOR is not NULL, the function will be called when + the thread terminates. */ +extern int tss_create (tss_t *__tss_id, tss_dtor_t __destructor); + +/* Return the value held in thread-specific storage for the current thread + identified by __TSS_ID. */ +extern void *tss_get (tss_t __tss_id); + +/* Sets the value of the thread-specific storage identified by __TSS_ID for + the current thread to __VAL. */ +extern int tss_set (tss_t __tss_id, void *__val); + +/* Destroys the thread-specific storage identified by __TSS_ID. The + destructor is not called until thrd_exit is called. */ +extern void tss_delete (tss_t __tss_id); + +__END_DECLS + +#endif /* _THREADS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/time.h new file mode 100644 index 00000000..dae39625 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/time.h @@ -0,0 +1,454 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.23 Date and time + */ + +#ifndef _TIME_H +#define _TIME_H 1 + +#include + +#define __need_size_t +#define __need_NULL +#include + +/* This defines CLOCKS_PER_SEC, which is the number of processor clock + ticks per second, and possibly a number of other constants. */ +#include + +/* Many of the typedefs and structs whose official home is this header + may also need to be defined by other headers. */ +#include +#include +#include + +#if defined __USE_POSIX199309 || defined __USE_ISOC11 +# include +#endif + +#ifdef __USE_POSIX199309 +# include +# include +# include +struct sigevent; +#endif + +#ifdef __USE_XOPEN2K +# ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +# endif +#endif + +#ifdef __USE_XOPEN2K8 +# include +#endif + +#ifdef __USE_ISOC11 +/* Time base values for timespec_get. */ +# define TIME_UTC 1 +#endif + +__BEGIN_DECLS + +/* Time used by the program so far (user time + system time). + The result / CLOCKS_PER_SEC is program time in seconds. */ +extern clock_t clock (void) __THROW; + +#ifndef __USE_TIME64_REDIRECTS +/* Return the current time and put it in *TIMER if TIMER is not NULL. */ +extern time_t time (time_t *__timer) __THROW; + +/* Return the difference between TIME1 and TIME0. */ +extern double difftime (time_t __time1, time_t __time0); + +/* Return the `time_t' representation of TP and normalize TP. */ +extern time_t mktime (struct tm *__tp) __THROW; +#else +# ifdef __REDIRECT_NTH +extern time_t __REDIRECT_NTH (time, (time_t *__timer), __time64); +extern double __REDIRECT_NTH (difftime, (time_t __time1, time_t __time0), + __difftime64); +extern time_t __REDIRECT_NTH (mktime, (struct tm *__tp), __mktime64); +# else +# define time __time64 +# define difftime __difftime64 +# define mktime __mktime64 +# endif +#endif + +/* Format TP into S according to FORMAT. + Write no more than MAXSIZE characters and return the number + of characters written, or 0 if it would exceed MAXSIZE. */ +extern size_t strftime (char *__restrict __s, size_t __maxsize, + const char *__restrict __format, + const struct tm *__restrict __tp) + __THROW __nonnull((1, 3, 4)); + +#ifdef __USE_XOPEN +/* Parse S according to FORMAT and store binary time information in TP. + The return value is a pointer to the first unparsed character in S. */ +extern char *strptime (const char *__restrict __s, + const char *__restrict __fmt, struct tm *__tp) + __THROW; +#endif + +#ifdef __USE_XOPEN2K8 +/* Similar to the two functions above but take the information from + the provided locale and not the global locale. */ + +extern size_t strftime_l (char *__restrict __s, size_t __maxsize, + const char *__restrict __format, + const struct tm *__restrict __tp, + locale_t __loc) __THROW; +#endif + +#ifdef __USE_GNU +extern char *strptime_l (const char *__restrict __s, + const char *__restrict __fmt, struct tm *__tp, + locale_t __loc) __THROW; +#endif + + +#ifndef __USE_TIME64_REDIRECTS +/* Return the `struct tm' representation of *TIMER + in Universal Coordinated Time (aka Greenwich Mean Time). */ +extern struct tm *gmtime (const time_t *__timer) __THROW; + +/* Return the `struct tm' representation + of *TIMER in the local timezone. */ +extern struct tm *localtime (const time_t *__timer) __THROW; + +#else +# ifdef __REDIRECT_NTH +extern struct tm*__REDIRECT_NTH (gmtime, (const time_t *__timer), __gmtime64); +extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer), + __localtime64); +# else +# define gmtime __gmtime64 +# define localtime __localtime64 +# endif +#endif + + +#if defined __USE_POSIX || __GLIBC_USE (ISOC23) +# ifndef __USE_TIME64_REDIRECTS +/* Return the `struct tm' representation of *TIMER in UTC, + using *TP to store the result. */ +extern struct tm *gmtime_r (const time_t *__restrict __timer, + struct tm *__restrict __tp) __THROW; + +/* Return the `struct tm' representation of *TIMER in local time, + using *TP to store the result. */ +extern struct tm *localtime_r (const time_t *__restrict __timer, + struct tm *__restrict __tp) __THROW; +# else +# ifdef __REDIRECT_NTH +extern struct tm*__REDIRECT_NTH (gmtime_r, (const time_t *__restrict __timer, + struct tm *__restrict __tp), + __gmtime64_r); + +extern struct tm*__REDIRECT_NTH (localtime_r, (const time_t *__restrict __t, + struct tm *__restrict __tp), + __localtime64_r); +# else +# define gmtime_r __gmtime64_r +# define localtime_r __localtime_r +# endif +# endif +#endif /* POSIX || C23 */ + +/* Return a string of the form "Day Mon dd hh:mm:ss yyyy\n" + that is the representation of TP in this format. */ +extern char *asctime (const struct tm *__tp) __THROW; + +/* Equivalent to `asctime (localtime (timer))'. */ +#ifndef __USE_TIME64_REDIRECTS +extern char *ctime (const time_t *__timer) __THROW; +#else +# ifdef __REDIRECT_NTH +extern char *__REDIRECT_NTH (ctime, (const time_t *__timer), __ctime64); +# else +# define ctime __ctime64 +# endif +#endif + +#ifdef __USE_POSIX +/* Reentrant versions of the above functions. */ + +/* Return in BUF a string of the form "Day Mon dd hh:mm:ss yyyy\n" + that is the representation of TP in this format. */ +extern char *asctime_r (const struct tm *__restrict __tp, + char *__restrict __buf) __THROW; + +/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */ +#ifndef __USE_TIME64_REDIRECTS +extern char *ctime_r (const time_t *__restrict __timer, + char *__restrict __buf) __THROW; +#else +# ifdef __REDIRECT_NTH +extern char *__REDIRECT_NTH (ctime_r, (const time_t *__restrict __timer, + char *__restrict __buf), __ctime64_r); +# else +# define ctime_r __ctime64_r +# endif +#endif + +#endif /* POSIX */ + + +/* Defined in localtime.c. */ +extern char *__tzname[2]; /* Current time zone abbreviations. */ +extern int __daylight; /* If daylight-saving time is ever in use. */ +extern long int __timezone; /* Seconds west of UTC. */ + + +#ifdef __USE_POSIX +/* Same as above. */ +extern char *tzname[2]; + +/* Set time conversion information from the TZ environment variable. + If TZ is not defined, a locale-dependent default is used. */ +extern void tzset (void) __THROW; +#endif + +#if defined __USE_MISC || defined __USE_XOPEN +extern int daylight; +extern long int timezone; +#endif + + +/* Nonzero if YEAR is a leap year (every 4 years, + except every 100th isn't, and every 400th is). */ +#define __isleap(year) \ + ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) + + +#if defined __USE_MISC || __GLIBC_USE (ISOC23) +# ifndef __USE_TIME64_REDIRECTS +/* Like `mktime', but for TP represents Universal Time, not local time. */ +extern time_t timegm (struct tm *__tp) __THROW; +# else +# ifdef __REDIRECT_NTH +extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64); +# else +# define timegm __timegm64 +# endif +# endif +#endif + + +#ifdef __USE_MISC +/* Miscellaneous functions many Unices inherited from the public domain + localtime package. These are included only for compatibility. */ + +#ifndef __USE_TIME64_REDIRECTS +/* Another name for `mktime'. */ +extern time_t timelocal (struct tm *__tp) __THROW; +#else +# ifdef __REDIRECT_NTH +extern time_t __REDIRECT_NTH (timelocal, (struct tm *__tp), __mktime64); +# endif +#endif + +/* Return the number of days in YEAR. */ +extern int dysize (int __year) __THROW __attribute__ ((__const__)); +#endif + + +#ifdef __USE_POSIX199309 +# ifndef __USE_TIME64_REDIRECTS +/* Pause execution for a number of nanoseconds. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int nanosleep (const struct timespec *__requested_time, + struct timespec *__remaining); + +/* Get resolution of clock CLOCK_ID. */ +extern int clock_getres (clockid_t __clock_id, struct timespec *__res) __THROW; + +/* Get current value of clock CLOCK_ID and store it in TP. */ +extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) + __THROW __nonnull((2)); + +/* Set clock CLOCK_ID to value TP. */ +extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) + __THROW __nonnull((2)); +# else +# ifdef __REDIRECT +extern int __REDIRECT (nanosleep, (const struct timespec *__requested_time, + struct timespec *__remaining), + __nanosleep64); +extern int __REDIRECT_NTH (clock_getres, (clockid_t __clock_id, + struct timespec *__res), + __clock_getres64); +extern int __REDIRECT_NTH (clock_gettime, (clockid_t __clock_id, struct + timespec *__tp), __clock_gettime64) + __nonnull((2)); +extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct + timespec *__tp), __clock_settime64) + __nonnull((2)); +# else +# define nanosleep __nanosleep64 +# define clock_getres __clock_getres64 +# define clock_gettime __clock_gettime64 +# define clock_settime __clock_settime64 +# endif +# endif + + +# ifdef __USE_XOPEN2K +/* High-resolution sleep with the specified clock. + + This function is a cancellation point and therefore not marked with + __THROW. */ +# ifndef __USE_TIME64_REDIRECTS +extern int clock_nanosleep (clockid_t __clock_id, int __flags, + const struct timespec *__req, + struct timespec *__rem); +# else +# ifdef __REDIRECT +extern int __REDIRECT (clock_nanosleep, (clockid_t __clock_id, int __flags, + const struct timespec *__req, + struct timespec *__rem), + __clock_nanosleep_time64); +# else +# define clock_nanosleep __clock_nanosleep_time64 +# endif +# endif + +/* Return clock ID for CPU-time clock. */ +extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) __THROW; +# endif + + +/* Create new per-process timer using CLOCK_ID. */ +extern int timer_create (clockid_t __clock_id, + struct sigevent *__restrict __evp, + timer_t *__restrict __timerid) __THROW; + +/* Delete timer TIMERID. */ +extern int timer_delete (timer_t __timerid) __THROW; + +/* Set timer TIMERID to VALUE, returning old value in OVALUE. */ +# ifndef __USE_TIME64_REDIRECTS +extern int timer_settime (timer_t __timerid, int __flags, + const struct itimerspec *__restrict __value, + struct itimerspec *__restrict __ovalue) __THROW; + +/* Get current value of timer TIMERID and store it in VALUE. */ +extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) + __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (timer_settime, (timer_t __timerid, int __flags, + const struct itimerspec *__restrict __value, + struct itimerspec *__restrict __ovalue), + __timer_settime64); + +extern int __REDIRECT_NTH (timer_gettime, (timer_t __timerid, + struct itimerspec *__value), + __timer_gettime64); +# else +# define timer_settime __timer_settime64 +# define timer_gettime __timer_gettime64 +# endif +# endif + +/* Get expiration overrun for timer TIMERID. */ +extern int timer_getoverrun (timer_t __timerid) __THROW; +#endif + + +#ifdef __USE_ISOC11 +# ifndef __USE_TIME64_REDIRECTS +/* Set TS to calendar time based in time base BASE. */ +extern int timespec_get (struct timespec *__ts, int __base) + __THROW __nonnull ((1)); +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int __base), + __timespec_get64) __nonnull ((1)); +# else +# define timespec_get __timespec_get64 +# endif +# endif +#endif + + +#if __GLIBC_USE (ISOC23) +# ifndef __USE_TIME64_REDIRECTS +/* Set TS to resolution of time base BASE. */ +extern int timespec_getres (struct timespec *__ts, int __base) + __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (timespec_getres, (struct timespec *__ts, + int __base), + __timespec_getres64); +# else +# define timespec_getres __timespec_getres64 +# endif +# endif +#endif + + +#ifdef __USE_XOPEN_EXTENDED +/* Set to one of the following values to indicate an error. + 1 the DATEMSK environment variable is null or undefined, + 2 the template file cannot be opened for reading, + 3 failed to get file status information, + 4 the template file is not a regular file, + 5 an error is encountered while reading the template file, + 6 memory allication failed (not enough memory available), + 7 there is no line in the template that matches the input, + 8 invalid input specification Example: February 31 or a time is + specified that can not be represented in a time_t (representing + the time in seconds since 00:00:00 UTC, January 1, 1970) */ +extern int getdate_err; + +/* Parse the given string as a date specification and return a value + representing the value. The templates from the file identified by + the environment variable DATEMSK are used. In case of an error + `getdate_err' is set. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct tm *getdate (const char *__string); +#endif + +#ifdef __USE_GNU +/* Since `getdate' is not reentrant because of the use of `getdate_err' + and the static buffer to return the result in, we provide a thread-safe + variant. The functionality is the same. The result is returned in + the buffer pointed to by RESBUFP and in case of an error the return + value is != 0 with the same values as given above for `getdate_err'. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int getdate_r (const char *__restrict __string, + struct tm *__restrict __resbufp); +#endif + +__END_DECLS + +#endif /* time.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ttyent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ttyent.h new file mode 100644 index 00000000..9f59a1ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ttyent.h @@ -0,0 +1,65 @@ +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)ttyent.h 8.1 (Berkeley) 6/2/93 + */ + +#ifndef _TTYENT_H +#define _TTYENT_H 1 + +#include + +#define _PATH_TTYS "/etc/ttys" + +#define _TTYS_OFF "off" +#define _TTYS_ON "on" +#define _TTYS_SECURE "secure" +#define _TTYS_WINDOW "window" + +struct ttyent { + char *ty_name; /* terminal device name */ + char *ty_getty; /* command to execute, usually getty */ + char *ty_type; /* terminal type for termcap */ +#define TTY_ON 0x01 /* enable logins (start ty_getty program) */ +#define TTY_SECURE 0x02 /* allow uid of 0 to login */ + int ty_status; /* status flags */ + char *ty_window; /* command to start up window manager */ + char *ty_comment; /* comment field */ +}; + + +__BEGIN_DECLS + +extern struct ttyent *getttyent (void) __THROW; +extern struct ttyent *getttynam (const char *__tty) __THROW; +extern int setttyent (void) __THROW; +extern int endttyent (void) __THROW; + +__END_DECLS + +#endif /* ttyent.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/uchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/uchar.h new file mode 100644 index 00000000..ba74f0f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/uchar.h @@ -0,0 +1,96 @@ +/* Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C11 Standard: 7.28 + * Unicode utilities + */ + +#ifndef _UCHAR_H +#define _UCHAR_H 1 + +#include + +#define __need_size_t +#include + +#include +#include + +/* Declare the C23 char8_t typedef in C23 modes, but only if the C++ + __cpp_char8_t feature test macro is not defined. */ +#if __GLIBC_USE (ISOC23) && !defined __cpp_char8_t +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +/* Suppress the diagnostic regarding char8_t being a keyword in C++20. */ +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wc++20-compat" +#endif +/* Define the 8-bit character type. */ +typedef unsigned char char8_t; +#if __GNUC_PREREQ (10, 0) && defined __cplusplus +# pragma GCC diagnostic pop +#endif +#endif + +#ifndef __USE_ISOCXX11 +/* Define the 16-bit and 32-bit character types. */ +typedef __uint_least16_t char16_t; +typedef __uint_least32_t char32_t; +#endif + + +__BEGIN_DECLS + +/* Declare the C23 mbrtoc8() and c8rtomb() functions in C23 modes or if + the C++ __cpp_char8_t feature test macro is defined. */ +#if __GLIBC_USE (ISOC23) || defined __cpp_char8_t +/* Write char8_t representation of multibyte character pointed + to by S to PC8. */ +extern size_t mbrtoc8 (char8_t *__restrict __pc8, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of char8_t C8 to S. */ +extern size_t c8rtomb (char *__restrict __s, char8_t __c8, + mbstate_t *__restrict __ps) __THROW; +#endif + +/* Write char16_t representation of multibyte character pointed + to by S to PC16. */ +extern size_t mbrtoc16 (char16_t *__restrict __pc16, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of char16_t C16 to S. */ +extern size_t c16rtomb (char *__restrict __s, char16_t __c16, + mbstate_t *__restrict __ps) __THROW; + + + +/* Write char32_t representation of multibyte character pointed + to by S to PC32. */ +extern size_t mbrtoc32 (char32_t *__restrict __pc32, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of char32_t C32 to S. */ +extern size_t c32rtomb (char *__restrict __s, char32_t __c32, + mbstate_t *__restrict __ps) __THROW; + +__END_DECLS + +#endif /* uchar.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ucontext.h new file mode 100644 index 00000000..a5335fb0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ucontext.h @@ -0,0 +1,56 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* System V ABI compliant user-level context switching support. */ + +#ifndef _UCONTEXT_H +#define _UCONTEXT_H 1 + +#include + +/* Get definition of __INDIRECT_RETURN. */ +#include + +/* Get machine dependent definition of data structures. */ +#include + +__BEGIN_DECLS + +/* Get user context and store it in variable pointed to by UCP. */ +extern int getcontext (ucontext_t *__ucp) __THROWNL; + +/* Set user context from information of variable pointed to by UCP. */ +extern int setcontext (const ucontext_t *__ucp) __THROWNL; + +/* Save current context in context variable pointed to by OUCP and set + context from variable pointed to by UCP. */ +extern int swapcontext (ucontext_t *__restrict __oucp, + const ucontext_t *__restrict __ucp) + __THROWNL __INDIRECT_RETURN; + +/* Manipulate user context UCP to continue with calling functions FUNC + and the ARGC-1 parameters following ARGC when the context is used + the next time in `setcontext' or `swapcontext'. + + We cannot say anything about the parameters FUNC takes; `void' + is as good as any other choice. */ +extern void makecontext (ucontext_t *__ucp, void (*__func) (void), + int __argc, ...) __THROW; + +__END_DECLS + +#endif /* ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ulimit.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ulimit.h new file mode 100644 index 00000000..538a8241 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/ulimit.h @@ -0,0 +1,47 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _ULIMIT_H +#define _ULIMIT_H 1 + +#include + +/* Constants used as the first parameter for `ulimit'. They denote limits + which can be set or retrieved using this function. */ +enum +{ + UL_GETFSIZE = 1, /* Return limit on the size of a file, + in units of 512 bytes. */ +#define UL_GETFSIZE UL_GETFSIZE + UL_SETFSIZE, /* Set limit on the size of a file to + second argument. */ +#define UL_SETFSIZE UL_SETFSIZE + __UL_GETMAXBRK, /* Return the maximum possible address + of the data segment. */ + __UL_GETOPENMAX /* Return the maximum number of files + that the calling process can open.*/ +}; + + +__BEGIN_DECLS + +/* Control process limits according to CMD. */ +extern long int ulimit (int __cmd, ...) __THROW; + +__END_DECLS + +#endif /* ulimit.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/unistd.h new file mode 100644 index 00000000..3174cb09 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/unistd.h @@ -0,0 +1,1228 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 2.10 Symbolic Constants + */ + +#ifndef _UNISTD_H +#define _UNISTD_H 1 + +#include + +__BEGIN_DECLS + +/* These may be used to determine what facilities are present at compile time. + Their values can be obtained at run time from `sysconf'. */ + +#ifdef __USE_XOPEN2K8 +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 2008. */ +# define _POSIX_VERSION 200809L +#elif defined __USE_XOPEN2K +/* POSIX Standard approved as ISO/IEC 9945-1 as of December 2001. */ +# define _POSIX_VERSION 200112L +#elif defined __USE_POSIX199506 +/* POSIX Standard approved as ISO/IEC 9945-1 as of June 1995. */ +# define _POSIX_VERSION 199506L +#elif defined __USE_POSIX199309 +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1993. */ +# define _POSIX_VERSION 199309L +#else +/* POSIX Standard approved as ISO/IEC 9945-1 as of September 1990. */ +# define _POSIX_VERSION 199009L +#endif + +/* These are not #ifdef __USE_POSIX2 because they are + in the theoretically application-owned namespace. */ + +#ifdef __USE_XOPEN2K8 +# define __POSIX2_THIS_VERSION 200809L +/* The utilities on GNU systems also correspond to this version. */ +#elif defined __USE_XOPEN2K +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 200112L +#elif defined __USE_POSIX199506 +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 199506L +#else +/* The utilities on GNU systems also correspond to this version. */ +# define __POSIX2_THIS_VERSION 199209L +#endif + +/* The utilities on GNU systems also correspond to this version. */ +#define _POSIX2_VERSION __POSIX2_THIS_VERSION + +/* This symbol was required until the 2001 edition of POSIX. */ +#define _POSIX2_C_VERSION __POSIX2_THIS_VERSION + +/* If defined, the implementation supports the + C Language Bindings Option. */ +#define _POSIX2_C_BIND __POSIX2_THIS_VERSION + +/* If defined, the implementation supports the + C Language Development Utilities Option. */ +#define _POSIX2_C_DEV __POSIX2_THIS_VERSION + +/* If defined, the implementation supports the + Software Development Utilities Option. */ +#define _POSIX2_SW_DEV __POSIX2_THIS_VERSION + +/* If defined, the implementation supports the + creation of locales with the localedef utility. */ +#define _POSIX2_LOCALEDEF __POSIX2_THIS_VERSION + +/* X/Open version number to which the library conforms. It is selectable. */ +#ifdef __USE_XOPEN2K8 +# define _XOPEN_VERSION 700 +#elif defined __USE_XOPEN2K +# define _XOPEN_VERSION 600 +#elif defined __USE_UNIX98 +# define _XOPEN_VERSION 500 +#else +# define _XOPEN_VERSION 4 +#endif + +/* Commands and utilities from XPG4 are available. */ +#define _XOPEN_XCU_VERSION 4 + +/* We are compatible with the old published standards as well. */ +#define _XOPEN_XPG2 1 +#define _XOPEN_XPG3 1 +#define _XOPEN_XPG4 1 + +/* The X/Open Unix extensions are available. */ +#define _XOPEN_UNIX 1 + +/* The enhanced internationalization capabilities according to XPG4.2 + are present. */ +#define _XOPEN_ENH_I18N 1 + +/* The legacy interfaces are also available. */ +#define _XOPEN_LEGACY 1 + + +/* Get values of POSIX options: + + If these symbols are defined, the corresponding features are + always available. If not, they may be available sometimes. + The current values can be obtained with `sysconf'. + + _POSIX_JOB_CONTROL Job control is supported. + _POSIX_SAVED_IDS Processes have a saved set-user-ID + and a saved set-group-ID. + _POSIX_REALTIME_SIGNALS Real-time, queued signals are supported. + _POSIX_PRIORITY_SCHEDULING Priority scheduling is supported. + _POSIX_TIMERS POSIX.4 clocks and timers are supported. + _POSIX_ASYNCHRONOUS_IO Asynchronous I/O is supported. + _POSIX_PRIORITIZED_IO Prioritized asynchronous I/O is supported. + _POSIX_SYNCHRONIZED_IO Synchronizing file data is supported. + _POSIX_FSYNC The fsync function is present. + _POSIX_MAPPED_FILES Mapping of files to memory is supported. + _POSIX_MEMLOCK Locking of all memory is supported. + _POSIX_MEMLOCK_RANGE Locking of ranges of memory is supported. + _POSIX_MEMORY_PROTECTION Setting of memory protections is supported. + _POSIX_MESSAGE_PASSING POSIX.4 message queues are supported. + _POSIX_SEMAPHORES POSIX.4 counting semaphores are supported. + _POSIX_SHARED_MEMORY_OBJECTS POSIX.4 shared memory objects are supported. + _POSIX_THREADS POSIX.1c pthreads are supported. + _POSIX_THREAD_ATTR_STACKADDR Thread stack address attribute option supported. + _POSIX_THREAD_ATTR_STACKSIZE Thread stack size attribute option supported. + _POSIX_THREAD_SAFE_FUNCTIONS Thread-safe functions are supported. + _POSIX_THREAD_PRIORITY_SCHEDULING + POSIX.1c thread execution scheduling supported. + _POSIX_THREAD_PRIO_INHERIT Thread priority inheritance option supported. + _POSIX_THREAD_PRIO_PROTECT Thread priority protection option supported. + _POSIX_THREAD_PROCESS_SHARED Process-shared synchronization supported. + _POSIX_PII Protocol-independent interfaces are supported. + _POSIX_PII_XTI XTI protocol-indep. interfaces are supported. + _POSIX_PII_SOCKET Socket protocol-indep. interfaces are supported. + _POSIX_PII_INTERNET Internet family of protocols supported. + _POSIX_PII_INTERNET_STREAM Connection-mode Internet protocol supported. + _POSIX_PII_INTERNET_DGRAM Connectionless Internet protocol supported. + _POSIX_PII_OSI ISO/OSI family of protocols supported. + _POSIX_PII_OSI_COTS Connection-mode ISO/OSI service supported. + _POSIX_PII_OSI_CLTS Connectionless ISO/OSI service supported. + _POSIX_POLL Implementation supports `poll' function. + _POSIX_SELECT Implementation supports `select' and `pselect'. + + _XOPEN_REALTIME X/Open realtime support is available. + _XOPEN_REALTIME_THREADS X/Open realtime thread support is available. + _XOPEN_SHM Shared memory interface according to XPG4.2. + + _XBS5_ILP32_OFF32 Implementation provides environment with 32-bit + int, long, pointer, and off_t types. + _XBS5_ILP32_OFFBIG Implementation provides environment with 32-bit + int, long, and pointer and off_t with at least + 64 bits. + _XBS5_LP64_OFF64 Implementation provides environment with 32-bit + int, and 64-bit long, pointer, and off_t types. + _XBS5_LPBIG_OFFBIG Implementation provides environment with at + least 32 bits int and long, pointer, and off_t + with at least 64 bits. + + If any of these symbols is defined as -1, the corresponding option is not + true for any file. If any is defined as other than -1, the corresponding + option is true for all files. If a symbol is not defined at all, the value + for a specific file can be obtained from `pathconf' and `fpathconf'. + + _POSIX_CHOWN_RESTRICTED Only the super user can use `chown' to change + the owner of a file. `chown' can only be used + to change the group ID of a file to a group of + which the calling process is a member. + _POSIX_NO_TRUNC Pathname components longer than + NAME_MAX generate an error. + _POSIX_VDISABLE If defined, if the value of an element of the + `c_cc' member of `struct termios' is + _POSIX_VDISABLE, no character will have the + effect associated with that element. + _POSIX_SYNC_IO Synchronous I/O may be performed. + _POSIX_ASYNC_IO Asynchronous I/O may be performed. + _POSIX_PRIO_IO Prioritized Asynchronous I/O may be performed. + + Support for the Large File Support interface is not generally available. + If it is available the following constants are defined to one. + _LFS64_LARGEFILE Low-level I/O supports large files. + _LFS64_STDIO Standard I/O supports large files. + */ + +#include + +/* Get the environment definitions from Unix98. */ +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +# include +#endif + +/* Standard file descriptors. */ +#define STDIN_FILENO 0 /* Standard input. */ +#define STDOUT_FILENO 1 /* Standard output. */ +#define STDERR_FILENO 2 /* Standard error output. */ + + +/* All functions that are not declared anywhere else. */ + +#include + +#ifndef __ssize_t_defined +typedef __ssize_t ssize_t; +# define __ssize_t_defined +#endif + +#define __need_size_t +#define __need_NULL +#include + +#if defined __USE_XOPEN || defined __USE_XOPEN2K +/* The Single Unix specification says that some more types are + available here. */ +# ifndef __gid_t_defined +typedef __gid_t gid_t; +# define __gid_t_defined +# endif + +# ifndef __uid_t_defined +typedef __uid_t uid_t; +# define __uid_t_defined +# endif + +# ifndef __off_t_defined +# ifndef __USE_FILE_OFFSET64 +typedef __off_t off_t; +# else +typedef __off64_t off_t; +# endif +# define __off_t_defined +# endif +# if defined __USE_LARGEFILE64 && !defined __off64_t_defined +typedef __off64_t off64_t; +# define __off64_t_defined +# endif + +# ifndef __useconds_t_defined +typedef __useconds_t useconds_t; +# define __useconds_t_defined +# endif + +# ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +# endif +#endif /* X/Open */ + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +# ifndef __intptr_t_defined +typedef __intptr_t intptr_t; +# define __intptr_t_defined +# endif +#endif + +#if defined __USE_MISC || defined __USE_XOPEN +# ifndef __socklen_t_defined +typedef __socklen_t socklen_t; +# define __socklen_t_defined +# endif +#endif + +/* Values for the second argument to access. + These may be OR'd together. */ +#define R_OK 4 /* Test for read permission. */ +#define W_OK 2 /* Test for write permission. */ +#define X_OK 1 /* Test for execute permission. */ +#define F_OK 0 /* Test for existence. */ + +/* Test for access to NAME using the real UID and real GID. */ +extern int access (const char *__name, int __type) __THROW __nonnull ((1)); + +#ifdef __USE_GNU +/* Test for access to NAME using the effective UID and GID + (as normal file operations use). */ +extern int euidaccess (const char *__name, int __type) + __THROW __nonnull ((1)); + +/* An alias for `euidaccess', used by some other systems. */ +extern int eaccess (const char *__name, int __type) + __THROW __nonnull ((1)); + +/* Execute program relative to a directory file descriptor. */ +extern int execveat (int __fd, const char *__path, char *const __argv[], + char *const __envp[], int __flags) + __THROW __nonnull ((2, 3)); +#endif + +#ifdef __USE_ATFILE +/* Test for access to FILE relative to the directory FD is open on. + If AT_EACCESS is set in FLAG, then use effective IDs like `eaccess', + otherwise use real IDs like `access'. */ +extern int faccessat (int __fd, const char *__file, int __type, int __flag) + __THROW __nonnull ((2)) __wur; +#endif /* Use GNU. */ + + +/* Values for the WHENCE argument to lseek. */ +#ifndef _STDIO_H /* has the same definitions. */ +# define SEEK_SET 0 /* Seek from beginning of file. */ +# define SEEK_CUR 1 /* Seek from current position. */ +# define SEEK_END 2 /* Seek from end of file. */ +# ifdef __USE_GNU +# define SEEK_DATA 3 /* Seek to next data. */ +# define SEEK_HOLE 4 /* Seek to next hole. */ +# endif +#endif + +#if defined __USE_MISC && !defined L_SET +/* Old BSD names for the same constants; just for compatibility. */ +# define L_SET SEEK_SET +# define L_INCR SEEK_CUR +# define L_XTND SEEK_END +#endif + + +/* Move FD's file position to OFFSET bytes from the + beginning of the file (if WHENCE is SEEK_SET), + the current position (if WHENCE is SEEK_CUR), + or the end of the file (if WHENCE is SEEK_END). + Return the new file position. */ +#ifndef __USE_FILE_OFFSET64 +extern __off_t lseek (int __fd, __off_t __offset, int __whence) __THROW; +#else +# ifdef __REDIRECT_NTH +extern __off64_t __REDIRECT_NTH (lseek, + (int __fd, __off64_t __offset, int __whence), + lseek64); +# else +# define lseek lseek64 +# endif +#endif +#ifdef __USE_LARGEFILE64 +extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) + __THROW; +#endif + +/* Close the file descriptor FD. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int close (int __fd); + +#ifdef __USE_MISC +/* Close all open file descriptors greater than or equal to LOWFD. + Negative LOWFD is clamped to 0. */ +extern void closefrom (int __lowfd) __THROW; +#endif + +/* Read NBYTES into BUF from FD. Return the + number read, -1 for errors or 0 for EOF. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t read (int __fd, void *__buf, size_t __nbytes) __wur + __fortified_attr_access (__write_only__, 2, 3); + +/* Write N bytes of BUF to FD. Return the number written, or -1. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t write (int __fd, const void *__buf, size_t __n) __wur + __attr_access ((__read_only__, 2, 3)); + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K8 +# ifndef __USE_FILE_OFFSET64 +/* Read NBYTES into BUF from FD at the given position OFFSET without + changing the file pointer. Return the number read, -1 for errors + or 0 for EOF. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, + __off_t __offset) __wur + __fortified_attr_access (__write_only__, 2, 3); + +/* Write N bytes of BUF to FD at the given position OFFSET without + changing the file pointer. Return the number written, or -1. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, + __off_t __offset) __wur + __attr_access ((__read_only__, 2, 3)); + +# else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (pread, (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset), + pread64) __wur + __fortified_attr_access (__write_only__, 2, 3); +extern ssize_t __REDIRECT (pwrite, (int __fd, const void *__buf, + size_t __nbytes, __off64_t __offset), + pwrite64) __wur + __attr_access ((__read_only__, 2, 3)); +# else +# define pread pread64 +# define pwrite pwrite64 +# endif +# endif + +# ifdef __USE_LARGEFILE64 +/* Read NBYTES into BUF from FD at the given position OFFSET without + changing the file pointer. Return the number read, -1 for errors + or 0 for EOF. */ +extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset) __wur + __fortified_attr_access (__write_only__, 2, 3); +/* Write N bytes of BUF to FD at the given position OFFSET without + changing the file pointer. Return the number written, or -1. */ +extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, + __off64_t __offset) __wur + __attr_access ((__read_only__, 2, 3)); +# endif +#endif + +/* Create a one-way communication channel (pipe). + If successful, two file descriptors are stored in PIPEDES; + bytes written on PIPEDES[1] can be read from PIPEDES[0]. + Returns 0 if successful, -1 if not. */ +extern int pipe (int __pipedes[2]) __THROW __wur; + +#ifdef __USE_GNU +/* Same as pipe but apply flags passed in FLAGS to the new file + descriptors. */ +extern int pipe2 (int __pipedes[2], int __flags) __THROW __wur; +#endif + +/* Schedule an alarm. In SECONDS seconds, the process will get a SIGALRM. + If SECONDS is zero, any currently scheduled alarm will be cancelled. + The function returns the number of seconds remaining until the last + alarm scheduled would have signaled, or zero if there wasn't one. + There is no return value to indicate an error, but you can set `errno' + to 0 and check its value after calling `alarm', and this might tell you. + The signal may come late due to processor scheduling. */ +extern unsigned int alarm (unsigned int __seconds) __THROW; + +/* Make the process sleep for SECONDS seconds, or until a signal arrives + and is not ignored. The function returns the number of seconds less + than SECONDS which it actually slept (thus zero if it slept the full time). + If a signal handler does a `longjmp' or modifies the handling of the + SIGALRM signal while inside `sleep' call, the handling of the SIGALRM + signal afterwards is undefined. There is no return value to indicate + error, but if `sleep' returns SECONDS, it probably didn't work. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern unsigned int sleep (unsigned int __seconds); + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC +/* Set an alarm to go off (generating a SIGALRM signal) in VALUE + microseconds. If INTERVAL is nonzero, when the alarm goes off, the + timer is reset to go off every INTERVAL microseconds thereafter. + Returns the number of microseconds remaining before the alarm. */ +extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) + __THROW; + +/* Sleep USECONDS microseconds, or until a signal arrives that is not blocked + or ignored. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int usleep (__useconds_t __useconds); +#endif + + +/* Suspend the process until a signal arrives. + This always returns -1 and sets `errno' to EINTR. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int pause (void); + + +/* Change the owner and group of FILE. */ +extern int chown (const char *__file, __uid_t __owner, __gid_t __group) + __THROW __nonnull ((1)) __wur; + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Change the owner and group of the file that FD is open on. */ +extern int fchown (int __fd, __uid_t __owner, __gid_t __group) __THROW __wur; + + +/* Change owner and group of FILE, if it is a symbolic + link the ownership of the symbolic link is changed. */ +extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) + __THROW __nonnull ((1)) __wur; + +#endif /* Use X/Open Unix. */ + +#ifdef __USE_ATFILE +/* Change the owner and group of FILE relative to the directory FD is open + on. */ +extern int fchownat (int __fd, const char *__file, __uid_t __owner, + __gid_t __group, int __flag) + __THROW __nonnull ((2)) __wur; +#endif /* Use GNU. */ + +/* Change the process's working directory to PATH. */ +extern int chdir (const char *__path) __THROW __nonnull ((1)) __wur; + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Change the process's working directory to the one FD is open on. */ +extern int fchdir (int __fd) __THROW __wur; +#endif + +/* Get the pathname of the current working directory, + and put it in SIZE bytes of BUF. Returns NULL if the + directory couldn't be determined or SIZE was too small. + If successful, returns BUF. In GNU, if BUF is NULL, + an array is allocated with `malloc'; the array is SIZE + bytes long, unless SIZE == 0, in which case it is as + big as necessary. */ +extern char *getcwd (char *__buf, size_t __size) __THROW __wur; + +#ifdef __USE_GNU +/* Return a malloc'd string containing the current directory name. + If the environment variable `PWD' is set, and its value is correct, + that value is used. */ +extern char *get_current_dir_name (void) __THROW; +#endif + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC +/* Put the absolute pathname of the current working directory in BUF. + If successful, return BUF. If not, put an error message in + BUF and return NULL. BUF should be at least PATH_MAX bytes long. */ +extern char *getwd (char *__buf) + __THROW __nonnull ((1)) __attribute_deprecated__ __wur + __attr_access ((__write_only__, 1)); +#endif + + +/* Duplicate FD, returning a new file descriptor on the same file. */ +extern int dup (int __fd) __THROW __wur; + +/* Duplicate FD to FD2, closing FD2 and making it open on the same file. */ +extern int dup2 (int __fd, int __fd2) __THROW; + +#ifdef __USE_GNU +/* Duplicate FD to FD2, closing FD2 and making it open on the same + file while setting flags according to FLAGS. */ +extern int dup3 (int __fd, int __fd2, int __flags) __THROW; +#endif + +/* NULL-terminated array of "NAME=VALUE" environment variables. */ +extern char **__environ; +#ifdef __USE_GNU +extern char **environ; +#endif + + +/* Replace the current process, executing PATH with arguments ARGV and + environment ENVP. ARGV and ENVP are terminated by NULL pointers. */ +extern int execve (const char *__path, char *const __argv[], + char *const __envp[]) __THROW __nonnull ((1, 2)); + +#ifdef __USE_XOPEN2K8 +/* Execute the file FD refers to, overlaying the running program image. + ARGV and ENVP are passed to the new program, as for `execve'. */ +extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) + __THROW __nonnull ((2)); +#endif + + +/* Execute PATH with arguments ARGV and environment from `environ'. */ +extern int execv (const char *__path, char *const __argv[]) + __THROW __nonnull ((1, 2)); + +/* Execute PATH with all arguments after PATH until a NULL pointer, + and the argument after that for environment. */ +extern int execle (const char *__path, const char *__arg, ...) + __THROW __nonnull ((1, 2)); + +/* Execute PATH with all arguments after PATH until + a NULL pointer and environment from `environ'. */ +extern int execl (const char *__path, const char *__arg, ...) + __THROW __nonnull ((1, 2)); + +/* Execute FILE, searching in the `PATH' environment variable if it contains + no slashes, with arguments ARGV and environment from `environ'. */ +extern int execvp (const char *__file, char *const __argv[]) + __THROW __nonnull ((1, 2)); + +/* Execute FILE, searching in the `PATH' environment variable if + it contains no slashes, with all arguments after FILE until a + NULL pointer and environment from `environ'. */ +extern int execlp (const char *__file, const char *__arg, ...) + __THROW __nonnull ((1, 2)); + +#ifdef __USE_GNU +/* Execute FILE, searching in the `PATH' environment variable if it contains + no slashes, with arguments ARGV and environment from `environ'. */ +extern int execvpe (const char *__file, char *const __argv[], + char *const __envp[]) + __THROW __nonnull ((1, 2)); +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN +/* Add INC to priority of the current process. */ +extern int nice (int __inc) __THROW __wur; +#endif + + +/* Terminate program execution with the low-order 8 bits of STATUS. */ +extern void _exit (int __status) __attribute__ ((__noreturn__)); + + +/* Get the `_PC_*' symbols for the NAME argument to `pathconf' and `fpathconf'; + the `_SC_*' symbols for the NAME argument to `sysconf'; + and the `_CS_*' symbols for the NAME argument to `confstr'. */ +#include + +/* Get file-specific configuration information about PATH. */ +extern long int pathconf (const char *__path, int __name) + __THROW __nonnull ((1)); + +/* Get file-specific configuration about descriptor FD. */ +extern long int fpathconf (int __fd, int __name) __THROW; + +/* Get the value of the system variable NAME. */ +extern long int sysconf (int __name) __THROW; + +#ifdef __USE_POSIX2 +/* Get the value of the string-valued system variable NAME. */ +extern size_t confstr (int __name, char *__buf, size_t __len) __THROW + __fortified_attr_access (__write_only__, 2, 3); +#endif + + +/* Get the process ID of the calling process. */ +extern __pid_t getpid (void) __THROW; + +/* Get the process ID of the calling process's parent. */ +extern __pid_t getppid (void) __THROW; + +/* Get the process group ID of the calling process. */ +extern __pid_t getpgrp (void) __THROW; + +/* Get the process group ID of process PID. */ +extern __pid_t __getpgid (__pid_t __pid) __THROW; +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +extern __pid_t getpgid (__pid_t __pid) __THROW; +#endif + + +/* Set the process group ID of the process matching PID to PGID. + If PID is zero, the current process's process group ID is set. + If PGID is zero, the process ID of the process is used. */ +extern int setpgid (__pid_t __pid, __pid_t __pgid) __THROW; + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Both System V and BSD have `setpgrp' functions, but with different + calling conventions. The BSD function is the same as POSIX.1 `setpgid' + (above). The System V function takes no arguments and puts the calling + process in its on group like `setpgid (0, 0)'. + + New programs should always use `setpgid' instead. + + GNU provides the POSIX.1 function. */ + +/* Set the process group ID of the calling process to its own PID. + This is exactly the same as `setpgid (0, 0)'. */ +extern int setpgrp (void) __THROW; + +#endif /* Use misc or X/Open. */ + +/* Create a new session with the calling process as its leader. + The process group IDs of the session and the calling process + are set to the process ID of the calling process, which is returned. */ +extern __pid_t setsid (void) __THROW; + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +/* Return the session ID of the given process. */ +extern __pid_t getsid (__pid_t __pid) __THROW; +#endif + +/* Get the real user ID of the calling process. */ +extern __uid_t getuid (void) __THROW; + +/* Get the effective user ID of the calling process. */ +extern __uid_t geteuid (void) __THROW; + +/* Get the real group ID of the calling process. */ +extern __gid_t getgid (void) __THROW; + +/* Get the effective group ID of the calling process. */ +extern __gid_t getegid (void) __THROW; + +/* If SIZE is zero, return the number of supplementary groups + the calling process is in. Otherwise, fill in the group IDs + of its supplementary groups in LIST and return the number written. */ +extern int getgroups (int __size, __gid_t __list[]) __THROW __wur + __fortified_attr_access (__write_only__, 2, 1); +#ifdef __USE_GNU +/* Return nonzero iff the calling process is in group GID. */ +extern int group_member (__gid_t __gid) __THROW; +#endif + +/* Set the user ID of the calling process to UID. + If the calling process is the super-user, set the real + and effective user IDs, and the saved set-user-ID to UID; + if not, the effective user ID is set to UID. */ +extern int setuid (__uid_t __uid) __THROW __wur; + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Set the real user ID of the calling process to RUID, + and the effective user ID of the calling process to EUID. */ +extern int setreuid (__uid_t __ruid, __uid_t __euid) __THROW __wur; +#endif + +#ifdef __USE_XOPEN2K +/* Set the effective user ID of the calling process to UID. */ +extern int seteuid (__uid_t __uid) __THROW __wur; +#endif /* Use POSIX.1-2001. */ + +/* Set the group ID of the calling process to GID. + If the calling process is the super-user, set the real + and effective group IDs, and the saved set-group-ID to GID; + if not, the effective group ID is set to GID. */ +extern int setgid (__gid_t __gid) __THROW __wur; + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +/* Set the real group ID of the calling process to RGID, + and the effective group ID of the calling process to EGID. */ +extern int setregid (__gid_t __rgid, __gid_t __egid) __THROW __wur; +#endif + +#ifdef __USE_XOPEN2K +/* Set the effective group ID of the calling process to GID. */ +extern int setegid (__gid_t __gid) __THROW __wur; +#endif /* Use POSIX.1-2001. */ + +#ifdef __USE_GNU +/* Fetch the real user ID, effective user ID, and saved-set user ID, + of the calling process. */ +extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) + __THROW; + +/* Fetch the real group ID, effective group ID, and saved-set group ID, + of the calling process. */ +extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) + __THROW; + +/* Set the real user ID, effective user ID, and saved-set user ID, + of the calling process to RUID, EUID, and SUID, respectively. */ +extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) + __THROW __wur; + +/* Set the real group ID, effective group ID, and saved-set group ID, + of the calling process to RGID, EGID, and SGID, respectively. */ +extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) + __THROW __wur; +#endif + + +/* Clone the calling process, creating an exact copy. + Return -1 for errors, 0 to the new process, + and the process ID of the new process to the old process. */ +extern __pid_t fork (void) __THROWNL; + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K8) \ + || defined __USE_MISC +/* Clone the calling process, but without copying the whole address space. + The calling process is suspended until the new process exits or is + replaced by a call to `execve'. Return -1 for errors, 0 to the new process, + and the process ID of the new process to the old process. */ +extern __pid_t vfork (void) __THROW; +#endif /* Use misc or XPG < 7. */ + +#ifdef __USE_GNU +/* This is similar to fork, however it does not run the atfork handlers + neither reinitialize any internal locks in multithread case. + Different than fork, _Fork is async-signal-safe. */ +extern __pid_t _Fork (void) __THROW; +#endif + + +/* Return the pathname of the terminal FD is open on, or NULL on errors. + The returned storage is good only until the next call to this function. */ +extern char *ttyname (int __fd) __THROW; + +/* Store at most BUFLEN characters of the pathname of the terminal FD is + open on in BUF. Return 0 on success, otherwise an error number. */ +extern int ttyname_r (int __fd, char *__buf, size_t __buflen) + __THROW __nonnull ((2)) __wur + __fortified_attr_access (__write_only__, 2, 3); + +/* Return 1 if FD is a valid descriptor associated + with a terminal, zero if not. */ +extern int isatty (int __fd) __THROW; + +#ifdef __USE_MISC +/* Return the index into the active-logins file (utmp) for + the controlling terminal. */ +extern int ttyslot (void) __THROW; +#endif + + +/* Make a link to FROM named TO. */ +extern int link (const char *__from, const char *__to) + __THROW __nonnull ((1, 2)) __wur; + +#ifdef __USE_ATFILE +/* Like link but relative paths in TO and FROM are interpreted relative + to FROMFD and TOFD respectively. */ +extern int linkat (int __fromfd, const char *__from, int __tofd, + const char *__to, int __flags) + __THROW __nonnull ((2, 4)) __wur; +#endif + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +/* Make a symbolic link to FROM named TO. */ +extern int symlink (const char *__from, const char *__to) + __THROW __nonnull ((1, 2)) __wur; + +/* Read the contents of the symbolic link PATH into no more than + LEN bytes of BUF. The contents are not null-terminated. + Returns the number of characters read, or -1 for errors. */ +extern ssize_t readlink (const char *__restrict __path, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((1, 2)) __wur + __fortified_attr_access (__write_only__, 2, 3); + +#endif /* Use POSIX.1-2001. */ + +#ifdef __USE_ATFILE +/* Like symlink but a relative path in TO is interpreted relative to TOFD. */ +extern int symlinkat (const char *__from, int __tofd, + const char *__to) __THROW __nonnull ((1, 3)) __wur; + +/* Like readlink but a relative PATH is interpreted relative to FD. */ +extern ssize_t readlinkat (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len) + __THROW __nonnull ((2, 3)) __wur + __fortified_attr_access (__write_only__, 3, 4); +#endif + +/* Remove the link NAME. */ +extern int unlink (const char *__name) __THROW __nonnull ((1)); + +#ifdef __USE_ATFILE +/* Remove the link NAME relative to FD. */ +extern int unlinkat (int __fd, const char *__name, int __flag) + __THROW __nonnull ((2)); +#endif + +/* Remove the directory PATH. */ +extern int rmdir (const char *__path) __THROW __nonnull ((1)); + + +/* Return the foreground process group ID of FD. */ +extern __pid_t tcgetpgrp (int __fd) __THROW; + +/* Set the foreground process group ID of FD set PGRP_ID. */ +extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) __THROW; + + +/* Return the login name of the user. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern char *getlogin (void); +#ifdef __USE_POSIX199506 +/* Return at most NAME_LEN characters of the login name of the user in NAME. + If it cannot be determined or some other error occurred, return the error + code. Otherwise return 0. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int getlogin_r (char *__name, size_t __name_len) __nonnull ((1)) + __fortified_attr_access (__write_only__, 1, 2); +#endif + +#ifdef __USE_MISC +/* Set the login name returned by `getlogin'. */ +extern int setlogin (const char *__name) __THROW __nonnull ((1)); +#endif + + +#ifdef __USE_POSIX2 +/* Get definitions and prototypes for functions to process the + arguments in ARGV (ARGC of them, minus the program name) for + options given in OPTS. */ +# include +#endif + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K +/* Put the name of the current host in no more than LEN bytes of NAME. + The result is null-terminated if LEN is large enough for the full + name and the terminator. */ +extern int gethostname (char *__name, size_t __len) __THROW __nonnull ((1)) + __fortified_attr_access (__write_only__, 1, 2); +#endif + + +#if defined __USE_MISC +/* Set the name of the current host to NAME, which is LEN bytes long. + This call is restricted to the super-user. */ +extern int sethostname (const char *__name, size_t __len) + __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); + +/* Set the current machine's Internet number to ID. + This call is restricted to the super-user. */ +extern int sethostid (long int __id) __THROW __wur; + + +/* Get and set the NIS (aka YP) domain name, if any. + Called just like `gethostname' and `sethostname'. + The NIS domain name is usually the empty string when not using NIS. */ +extern int getdomainname (char *__name, size_t __len) + __THROW __nonnull ((1)) __wur + __fortified_attr_access (__write_only__, 1, 2); +extern int setdomainname (const char *__name, size_t __len) + __THROW __nonnull ((1)) __wur __attr_access ((__read_only__, 1, 2)); + +/* Revoke access permissions to all processes currently communicating + with the control terminal, and then send a SIGHUP signal to the process + group of the control terminal. */ +extern int vhangup (void) __THROW; + +/* Revoke the access of all descriptors currently open on FILE. */ +extern int revoke (const char *__file) __THROW __nonnull ((1)) __wur; + + +/* Enable statistical profiling, writing samples of the PC into at most + SIZE bytes of SAMPLE_BUFFER; every processor clock tick while profiling + is enabled, the system examines the user PC and increments + SAMPLE_BUFFER[((PC - OFFSET) / 2) * SCALE / 65536]. If SCALE is zero, + disable profiling. Returns zero on success, -1 on error. */ +extern int profil (unsigned short int *__sample_buffer, size_t __size, + size_t __offset, unsigned int __scale) + __THROW __nonnull ((1)); + + +/* Turn accounting on if NAME is an existing file. The system will then write + a record for each process as it terminates, to this file. If NAME is NULL, + turn accounting off. This call is restricted to the super-user. */ +extern int acct (const char *__name) __THROW; + + +/* Successive calls return the shells listed in `/etc/shells'. */ +extern char *getusershell (void) __THROW; +extern void endusershell (void) __THROW; /* Discard cached info. */ +extern void setusershell (void) __THROW; /* Rewind and re-read the file. */ + + +/* Put the program in the background, and dissociate from the controlling + terminal. If NOCHDIR is zero, do `chdir ("/")'. If NOCLOSE is zero, + redirects stdin, stdout, and stderr to /dev/null. */ +extern int daemon (int __nochdir, int __noclose) __THROW __wur; +#endif /* Use misc. */ + + +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +/* Make PATH be the root directory (the starting point for absolute paths). + This call is restricted to the super-user. */ +extern int chroot (const char *__path) __THROW __nonnull ((1)) __wur; + +/* Prompt with PROMPT and read a string from the terminal without echoing. + Uses /dev/tty if possible; otherwise stderr and stdin. */ +extern char *getpass (const char *__prompt) __nonnull ((1)); +#endif /* Use misc || X/Open. */ + + +/* Make all changes done to FD actually appear on disk. + + This function is a cancellation point and therefore not marked with + __THROW. */ +extern int fsync (int __fd); + + +#ifdef __USE_GNU +/* Make all changes done to all files on the file system associated + with FD actually appear on disk. */ +extern int syncfs (int __fd) __THROW; +#endif + + +#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED + +/* Return identifier for the current host. */ +extern long int gethostid (void); + +/* Make all changes done to all files actually appear on disk. */ +extern void sync (void) __THROW; + + +# if defined __USE_MISC || !defined __USE_XOPEN2K +/* Return the number of bytes in a page. This is the system's page size, + which is not necessarily the same as the hardware page size. */ +extern int getpagesize (void) __THROW __attribute__ ((__const__)); + + +/* Return the maximum number of file descriptors + the current process could possibly have. */ +extern int getdtablesize (void) __THROW; +# endif + +#endif /* Use misc || X/Open Unix. */ + + +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 + +/* Truncate FILE to LENGTH bytes. */ +# ifndef __USE_FILE_OFFSET64 +extern int truncate (const char *__file, __off_t __length) + __THROW __nonnull ((1)) __wur; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (truncate, + (const char *__file, __off64_t __length), + truncate64) __nonnull ((1)) __wur; +# else +# define truncate truncate64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int truncate64 (const char *__file, __off64_t __length) + __THROW __nonnull ((1)) __wur; +# endif + +#endif /* Use X/Open Unix || POSIX 2008. */ + +#if defined __USE_POSIX199309 \ + || defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K + +/* Truncate the file FD is open on to LENGTH bytes. */ +# ifndef __USE_FILE_OFFSET64 +extern int ftruncate (int __fd, __off_t __length) __THROW __wur; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (ftruncate, (int __fd, __off64_t __length), + ftruncate64) __wur; +# else +# define ftruncate ftruncate64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int ftruncate64 (int __fd, __off64_t __length) __THROW __wur; +# endif + +#endif /* Use POSIX.1b || X/Open Unix || XPG6. */ + + +#if (defined __USE_XOPEN_EXTENDED && !defined __USE_XOPEN2K) \ + || defined __USE_MISC + +/* Set the end of accessible data space (aka "the break") to ADDR. + Returns zero on success and -1 for errors (with errno set). */ +extern int brk (void *__addr) __THROW __wur; + +/* Increase or decrease the end of accessible data space by DELTA bytes. + If successful, returns the address the previous end of data space + (i.e. the beginning of the new space, if DELTA > 0); + returns (void *) -1 for errors (with errno set). */ +extern void *sbrk (intptr_t __delta) __THROW; +#endif + + +#ifdef __USE_MISC +/* Invoke `system call' number SYSNO, passing it the remaining arguments. + This is completely system-dependent, and not often useful. + + In Unix, `syscall' sets `errno' for all errors and most calls return -1 + for errors; in many systems you cannot pass arguments or get return + values for all system calls (`pipe', `fork', and `getppid' typically + among them). + + In Mach, all system calls take normal arguments and always return an + error code (zero for success). */ +extern long int syscall (long int __sysno, ...) __THROW; + +#endif /* Use misc. */ + + +#if (defined __USE_MISC || defined __USE_XOPEN_EXTENDED) && !defined F_LOCK +/* NOTE: These declarations also appear in ; be sure to keep both + files consistent. Some systems have them there and some here, and some + software depends on the macros being defined without including both. */ + +/* `lockf' is a simpler interface to the locking facilities of `fcntl'. + LEN is always relative to the current file position. + The CMD argument is one of the following. + + This function is a cancellation point and therefore not marked with + __THROW. */ + +# define F_ULOCK 0 /* Unlock a previously locked region. */ +# define F_LOCK 1 /* Lock a region for exclusive use. */ +# define F_TLOCK 2 /* Test and lock a region for exclusive use. */ +# define F_TEST 3 /* Test a region for other processes locks. */ + +# ifndef __USE_FILE_OFFSET64 +extern int lockf (int __fd, int __cmd, __off_t __len) __wur; +# else +# ifdef __REDIRECT +extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), + lockf64) __wur; +# else +# define lockf lockf64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int lockf64 (int __fd, int __cmd, __off64_t __len) __wur; +# endif +#endif /* Use misc and F_LOCK not already defined. */ + + +#ifdef __USE_GNU + +/* Evaluate EXPRESSION, and repeat as long as it returns -1 with `errno' + set to EINTR. */ + +# define TEMP_FAILURE_RETRY(expression) \ + (__extension__ \ + ({ long int __result; \ + do __result = (long int) (expression); \ + while (__result == -1L && errno == EINTR); \ + __result; })) + +/* Copy LENGTH bytes from INFD to OUTFD. */ +ssize_t copy_file_range (int __infd, __off64_t *__pinoff, + int __outfd, __off64_t *__poutoff, + size_t __length, unsigned int __flags); +#endif /* __USE_GNU */ + +#if defined __USE_POSIX199309 || defined __USE_UNIX98 +/* Synchronize at least the data part of a file with the underlying + media. */ +extern int fdatasync (int __fildes); +#endif /* Use POSIX199309 */ + +#ifdef __USE_MISC +/* One-way hash PHRASE, returning a string suitable for storage in the + user database. SALT selects the one-way function to use, and + ensures that no two users' hashes are the same, even if they use + the same passphrase. The return value points to static storage + which will be overwritten by the next call to crypt. + + This declaration is deprecated; applications should include + instead. */ +extern char *crypt (const char *__key, const char *__salt) + __THROW __nonnull ((1, 2)); +#endif + +#ifdef __USE_XOPEN +/* Swab pairs bytes in the first N bytes of the area pointed to by + FROM and copy the result to TO. The value of TO must not be in the + range [FROM - N + 1, FROM - 1]. If N is odd the first byte in FROM + is without partner. */ +extern void swab (const void *__restrict __from, void *__restrict __to, + ssize_t __n) __THROW __nonnull ((1, 2)) + __attr_access ((__read_only__, 1, 3)) + __attr_access ((__write_only__, 2, 3)); +#endif + + +/* Prior to Issue 6, the Single Unix Specification required these + prototypes to appear in this header. They are also found in + . */ +#if defined __USE_XOPEN && !defined __USE_XOPEN2K +/* Return the name of the controlling terminal. */ +extern char *ctermid (char *__s) __THROW; + +/* Return the name of the current user. */ +extern char *cuserid (char *__s); +#endif + + +/* Unix98 requires this function to be declared here. In other + standards it is in . */ +#if defined __USE_UNIX98 && !defined __USE_XOPEN2K +extern int pthread_atfork (void (*__prepare) (void), + void (*__parent) (void), + void (*__child) (void)) __THROW; +#endif + +#ifdef __USE_MISC +/* Write LENGTH bytes of randomness starting at BUFFER. Return 0 on + success or -1 on error. */ +int getentropy (void *__buffer, size_t __length) __wur + __attr_access ((__write_only__, 1, 2)); +#endif + +#ifdef __USE_GNU +// zig patch: check target glibc version +# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || __GLIBC__ > 2 +/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS + are define by the CLOSE_RANGE prefix. This function behaves like close + on the range and gaps where the file descriptor is invalid or errors + encountered while closing file descriptors are ignored. Returns 0 on + successor or -1 for failure (and sets errno accordingly). */ +extern int close_range (unsigned int __fd, unsigned int __max_fd, + int __flags) __THROW; +# endif +#endif + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +# include +#endif + +/* System-specific extensions. */ +#include + +__END_DECLS + +#endif /* unistd.h */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utime.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utime.h new file mode 100644 index 00000000..104fb07a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utime.h @@ -0,0 +1,66 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * POSIX Standard: 5.6.6 Set File Access and Modification Times + */ + +#ifndef _UTIME_H +#define _UTIME_H 1 + +#include + +__BEGIN_DECLS + +#include + +#if defined __USE_XOPEN || defined __USE_XOPEN2K +# include +#endif + +/* Structure describing file times. */ +struct utimbuf + { +#ifdef __USE_TIME64_REDIRECTS + __time64_t actime; /* Access time. */ + __time64_t modtime; /* Modification time. */ +#else + __time_t actime; /* Access time. */ + __time_t modtime; /* Modification time. */ +#endif + }; + +/* Set the access and modification times of FILE to those given in + *FILE_TIMES. If FILE_TIMES is NULL, set them to the current time. */ +#ifndef __USE_TIME64_REDIRECTS +extern int utime (const char *__file, + const struct utimbuf *__file_times) + __THROW __nonnull ((1)); + +#else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (utime, (const char *__file, + const struct utimbuf *__file_times), + __utime64); +# else +# define utime __utime64 +# endif +#endif + +__END_DECLS + +#endif /* utime.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmp.h new file mode 100644 index 00000000..7d9d41a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmp.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMP_H +#define _UTMP_H 1 + +#include + +#include + + +__BEGIN_DECLS + +/* Get system dependent values and data structures. */ +#include + +/* Compatibility names for the strings of the canonical file names. */ +#define UTMP_FILE _PATH_UTMP +#define UTMP_FILENAME _PATH_UTMP +#define WTMP_FILE _PATH_WTMP +#define WTMP_FILENAME _PATH_WTMP + + + +/* Make FD be the controlling terminal, stdin, stdout, and stderr; + then close FD. Returns 0 on success, nonzero on error. */ +extern int login_tty (int __fd) __THROW; + + +/* Write the given entry into utmp and wtmp. */ +extern void login (const struct utmp *__entry) __THROW; + +/* Write the utmp entry to say the user on UT_LINE has logged out. */ +extern int logout (const char *__ut_line) __THROW; + +/* Append to wtmp an entry for the current time and the given info. */ +extern void logwtmp (const char *__ut_line, const char *__ut_name, + const char *__ut_host) __THROW; + +/* Append entry UTMP to the wtmp-like file WTMP_FILE. */ +extern void updwtmp (const char *__wtmp_file, const struct utmp *__utmp) + __THROW; + +/* Change name of the utmp file to be examined. */ +extern int utmpname (const char *__file) __THROW; + +/* Read next entry from a utmp-like file. */ +extern struct utmp *getutent (void) __THROW; + +/* Reset the input stream to the beginning of the file. */ +extern void setutent (void) __THROW; + +/* Close the current open file. */ +extern void endutent (void) __THROW; + +/* Search forward from the current point in the utmp file until the + next entry with a ut_type matching ID->ut_type. */ +extern struct utmp *getutid (const struct utmp *__id) __THROW; + +/* Search forward from the current point in the utmp file until the + next entry with a ut_line matching LINE->ut_line. */ +extern struct utmp *getutline (const struct utmp *__line) __THROW; + +/* Write out entry pointed to by UTMP_PTR into the utmp file. */ +extern struct utmp *pututline (const struct utmp *__utmp_ptr) __THROW; + + +#ifdef __USE_MISC +/* Reentrant versions of the file for handling utmp files. */ +extern int getutent_r (struct utmp *__buffer, struct utmp **__result) __THROW; + +extern int getutid_r (const struct utmp *__id, struct utmp *__buffer, + struct utmp **__result) __THROW; + +extern int getutline_r (const struct utmp *__line, + struct utmp *__buffer, struct utmp **__result) __THROW; + +#endif /* Use misc. */ + +__END_DECLS + +#endif /* utmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmpx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmpx.h new file mode 100644 index 00000000..2409d604 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/utmpx.h @@ -0,0 +1,125 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMPX_H +#define _UTMPX_H 1 + +#include +#include + +/* Required according to Unix98. */ +#ifndef __pid_t_defined +typedef __pid_t pid_t; +# define __pid_t_defined +#endif + +/* Get system dependent values and data structures. */ +#include + +#ifdef __USE_GNU +/* Compatibility names for the strings of the canonical file names. */ +# define UTMPX_FILE _PATH_UTMPX +# define UTMPX_FILENAME _PATH_UTMPX +# define WTMPX_FILE _PATH_WTMPX +# define WTMPX_FILENAME _PATH_WTMPX +#endif + +/* For the getutmp{,x} functions we need the `struct utmp'. */ +#ifdef __USE_GNU +struct utmp; +#endif + + +__BEGIN_DECLS + +/* Open user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void setutxent (void); + +/* Close user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern void endutxent (void); + +/* Get the next entry from the user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxent (void); + +/* Get the user accounting database entry corresponding to ID. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxid (const struct utmpx *__id); + +/* Get the user accounting database entry corresponding to LINE. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *getutxline (const struct utmpx *__line); + +/* Write the entry UTMPX into the user accounting database. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern struct utmpx *pututxline (const struct utmpx *__utmpx); + + +#ifdef __USE_GNU +/* Change name of the utmpx file to be examined. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int utmpxname (const char *__file); + +/* Append entry UTMP to the wtmpx-like file WTMPX_FILE. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void updwtmpx (const char *__wtmpx_file, + const struct utmpx *__utmpx); + + +/* Copy the information in UTMPX to UTMP. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void getutmp (const struct utmpx *__utmpx, + struct utmp *__utmp); + +/* Copy the information in UTMP to UTMPX. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern void getutmpx (const struct utmp *__utmp, struct utmpx *__utmpx); +#endif + +__END_DECLS + +#endif /* utmpx.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/values.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/values.h new file mode 100644 index 00000000..af02e71c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/values.h @@ -0,0 +1,68 @@ +/* Old compatibility names for and constants. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This interface is obsolete. New programs should use + and/or instead of . */ + +#ifndef _VALUES_H +#define _VALUES_H 1 + +#include + +#include + +#define _TYPEBITS(type) (sizeof (type) * CHAR_BIT) + +#define CHARBITS _TYPEBITS (char) +#define SHORTBITS _TYPEBITS (short int) +#define INTBITS _TYPEBITS (int) +#define LONGBITS _TYPEBITS (long int) +#define PTRBITS _TYPEBITS (char *) +#define DOUBLEBITS _TYPEBITS (double) +#define FLOATBITS _TYPEBITS (float) + +#define MINSHORT SHRT_MIN +#define MININT INT_MIN +#define MINLONG LONG_MIN + +#define MAXSHORT SHRT_MAX +#define MAXINT INT_MAX +#define MAXLONG LONG_MAX + +#define HIBITS MINSHORT +#define HIBITL MINLONG + + +#include + +#define MAXDOUBLE DBL_MAX +#define MAXFLOAT FLT_MAX +#define MINDOUBLE DBL_MIN +#define MINFLOAT FLT_MIN +#define DMINEXP DBL_MIN_EXP +#define FMINEXP FLT_MIN_EXP +#define DMAXEXP DBL_MAX_EXP +#define FMAXEXP FLT_MAX_EXP + + +#ifdef __USE_MISC +/* Some systems define this name instead of CHAR_BIT or CHARBITS. */ +# define BITSPERBYTE CHAR_BIT +#endif + +#endif /* values.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wait.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wait.h new file mode 100644 index 00000000..6f268fca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wait.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wchar.h new file mode 100644 index 00000000..b8fb4b83 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wchar.h @@ -0,0 +1,1075 @@ +/* Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.24 + * Extended multibyte and wide character utilities + */ + +#ifndef _WCHAR_H +#define _WCHAR_H 1 + +#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION +#include + +/* Gather machine dependent type support. */ +#include + +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#include + +#define __need___va_list +#include + +#if defined __USE_XOPEN2K || defined __USE_XOPEN2K8 +# ifdef __GNUC__ +# ifndef _VA_LIST_DEFINED +typedef __gnuc_va_list va_list; +# define _VA_LIST_DEFINED +# endif +# else +# include +# endif +#endif + +#include +#include +#include +#include + +#if defined __USE_UNIX98 || defined __USE_XOPEN2K +# include +#endif +#ifdef __USE_XOPEN2K8 +# include +#endif + +/* Tell the caller that we provide correct C++ prototypes. */ +#if defined __cplusplus && __GNUC_PREREQ (4, 4) +# define __CORRECT_ISO_CPP_WCHAR_H_PROTO +#endif + +#ifndef WCHAR_MIN +/* These constants might also be defined in . */ +# define WCHAR_MIN __WCHAR_MIN +# define WCHAR_MAX __WCHAR_MAX +#endif + +#ifndef WEOF +# define WEOF (0xffffffffu) +#endif + +/* All versions of XPG prior to the publication of ISO C99 required + the bulk of 's declarations to appear in this header + (because did not exist prior to C99). In POSIX.1-2001 + those declarations were marked as XSI extensions; in -2008 they + were additionally marked as obsolescent. _GNU_SOURCE mode + anticipates the removal of these declarations in the next revision + of POSIX. */ +#if (defined __USE_XOPEN && !defined __USE_GNU \ + && !(defined __USE_XOPEN2K && !defined __USE_XOPEN2KXSI)) +# include +#endif + +__BEGIN_DECLS + +/* This incomplete type is defined in but needed here because + of `wcsftime'. */ +struct tm; + + +/* Copy SRC to DEST. */ +extern wchar_t *wcscpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) + __THROW __nonnull ((1, 2)); + +/* Copy no more than N wide-characters of SRC to DEST. */ +extern wchar_t *wcsncpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); + +#ifdef __USE_MISC +/* Copy at most N - 1 characters from SRC to DEST. */ +extern size_t wcslcpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__write_only__, 1, 3)); + +/* Append SRC to DEST, possibly with truncation to keep the total size + below N. */ +extern size_t wcslcat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)) __attr_access ((__read_write__, 1, 3)); +#endif + +/* Append SRC onto DEST. */ +extern wchar_t *wcscat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) + __THROW __nonnull ((1, 2)); +/* Append no more than N wide-characters of SRC onto DEST. */ +extern wchar_t *wcsncat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW __nonnull ((1, 2)); + +/* Compare S1 and S2. */ +extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) + __THROW __attribute_pure__ __nonnull ((1, 2)); +/* Compare N wide-characters of S1 and S2. */ +extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + __THROW __attribute_pure__ __nonnull ((1, 2)); + +#ifdef __USE_XOPEN2K8 +/* Compare S1 and S2, ignoring case. */ +extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW; + +/* Compare no more than N chars of S1 and S2, ignoring case. */ +extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, + size_t __n) __THROW; + +/* Similar to the two functions above but take the information from + the provided locale and not the global locale. */ +extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, + locale_t __loc) __THROW; + +extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, + size_t __n, locale_t __loc) __THROW; +#endif + +/* Compare S1 and S2, both interpreted as appropriate to the + LC_COLLATE category of the current locale. */ +extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __THROW; +/* Transform S2 into array pointed to by S1 such that if wcscmp is + applied to two transformed strings the result is the as applying + `wcscoll' to the original strings. */ +extern size_t wcsxfrm (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) __THROW; + +#ifdef __USE_XOPEN2K8 +/* Similar to the two functions above but take the information from + the provided locale and not the global locale. */ + +/* Compare S1 and S2, both interpreted as appropriate to the + LC_COLLATE category of the given locale. */ +extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, + locale_t __loc) __THROW; + +/* Transform S2 into array pointed to by S1 such that if wcscmp is + applied to two transformed strings the result is the as applying + `wcscoll' to the original strings. */ +extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, + size_t __n, locale_t __loc) __THROW; + +/* Duplicate S, returning an identical malloc'd string. */ +extern wchar_t *wcsdup (const wchar_t *__s) __THROW + __attribute_malloc__ __attr_dealloc_free; +#endif + +/* Find the first occurrence of WC in WCS. */ +#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc) + __THROW __asm ("wcschr") __attribute_pure__; +extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) + __THROW __asm ("wcschr") __attribute_pure__; +#else +extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) + __THROW __attribute_pure__; +#endif +/* Find the last occurrence of WC in WCS. */ +#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc) + __THROW __asm ("wcsrchr") __attribute_pure__; +extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) + __THROW __asm ("wcsrchr") __attribute_pure__; +#else +extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) + __THROW __attribute_pure__; +#endif + +#ifdef __USE_GNU +/* This function is similar to `wcschr'. But it returns a pointer to + the closing NUL wide character in case C is not found in S. */ +extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) + __THROW __attribute_pure__; +#endif + +/* Return the length of the initial segmet of WCS which + consists entirely of wide characters not in REJECT. */ +extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) + __THROW __attribute_pure__; +/* Return the length of the initial segmet of WCS which + consists entirely of wide characters in ACCEPT. */ +extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) + __THROW __attribute_pure__; +/* Find the first occurrence in WCS of any character in ACCEPT. */ +#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept) + __THROW __asm ("wcspbrk") __attribute_pure__; +extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs, + const wchar_t *__accept) + __THROW __asm ("wcspbrk") __attribute_pure__; +#else +extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) + __THROW __attribute_pure__; +#endif +/* Find the first occurrence of NEEDLE in HAYSTACK. */ +#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle) + __THROW __asm ("wcsstr") __attribute_pure__; +extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack, + const wchar_t *__needle) + __THROW __asm ("wcsstr") __attribute_pure__; +#else +extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) + __THROW __attribute_pure__; +#endif + +/* Divide WCS into tokens separated by characters in DELIM. */ +extern wchar_t *wcstok (wchar_t *__restrict __s, + const wchar_t *__restrict __delim, + wchar_t **__restrict __ptr) __THROW; + +/* Return the number of wide characters in S. */ +extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__; + +#ifdef __USE_XOPEN +/* Another name for `wcsstr' from XPG4. */ +# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle) + __THROW __asm ("wcswcs") __attribute_pure__; +extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack, + const wchar_t *__needle) + __THROW __asm ("wcswcs") __attribute_pure__; +# else +extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) + __THROW __attribute_pure__; +# endif +#endif + +#ifdef __USE_XOPEN2K8 +/* Return the number of wide characters in S, but at most MAXLEN. */ +extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) + __THROW __attribute_pure__; +#endif + + +/* Search N wide characters of S for C. */ +#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO +extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n) + __THROW __asm ("wmemchr") __attribute_pure__; +extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, + size_t __n) + __THROW __asm ("wmemchr") __attribute_pure__; +#else +extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) + __THROW __attribute_pure__; +#endif + +/* Compare N wide characters of S1 and S2. */ +extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + __THROW __attribute_pure__; + +/* Copy N wide characters of SRC to DEST. */ +extern wchar_t *wmemcpy (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) __THROW; + +/* Copy N wide characters of SRC to DEST, guaranteeing + correct behavior for overlapping strings. */ +extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) + __THROW; + +/* Set N wide characters of S to C. */ +extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW; + +#ifdef __USE_GNU +/* Copy N wide characters of SRC to DEST and return pointer to following + wide character. */ +extern wchar_t *wmempcpy (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) + __THROW; +#endif + + +/* Determine whether C constitutes a valid (one-byte) multibyte + character. */ +extern wint_t btowc (int __c) __THROW; + +/* Determine whether C corresponds to a member of the extended + character set whose multibyte representation is a single byte. */ +extern int wctob (wint_t __c) __THROW; + +/* Determine whether PS points to an object representing the initial + state. */ +extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__; + +/* Write wide character representation of multibyte character pointed + to by S to PWC. */ +extern size_t mbrtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) __THROW; + +/* Write multibyte representation of wide character WC to S. */ +extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, + mbstate_t *__restrict __ps) __THROW; + +/* Return number of bytes in multibyte character pointed to by S. */ +extern size_t __mbrlen (const char *__restrict __s, size_t __n, + mbstate_t *__restrict __ps) __THROW; +extern size_t mbrlen (const char *__restrict __s, size_t __n, + mbstate_t *__restrict __ps) __THROW; + +#ifdef __USE_EXTERN_INLINES +/* Define inline function as optimization. */ + +/* We can use the BTOWC and WCTOB optimizations since we know that all + locales must use ASCII encoding for the values in the ASCII range + and because the wchar_t encoding is always ISO 10646. */ +extern wint_t __btowc_alias (int __c) __asm ("btowc"); +__extern_inline wint_t +__NTH (btowc (int __c)) +{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' + ? (wint_t) __c : __btowc_alias (__c)); } + +extern int __wctob_alias (wint_t __c) __asm ("wctob"); +__extern_inline int +__NTH (wctob (wint_t __wc)) +{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' + ? (int) __wc : __wctob_alias (__wc)); } + +__extern_inline size_t +__NTH (mbrlen (const char *__restrict __s, size_t __n, + mbstate_t *__restrict __ps)) +{ return (__ps != NULL + ? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); } +#endif + +/* Write wide character representation of multibyte character string + SRC to DST. */ +extern size_t mbsrtowcs (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __len, + mbstate_t *__restrict __ps) __THROW; + +/* Write multibyte character representation of wide character string + SRC to DST. */ +extern size_t wcsrtombs (char *__restrict __dst, + const wchar_t **__restrict __src, size_t __len, + mbstate_t *__restrict __ps) __THROW; + + +#ifdef __USE_XOPEN2K8 +/* Write wide character representation of at most NMC bytes of the + multibyte character string SRC to DST. */ +extern size_t mbsnrtowcs (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps) __THROW; + +/* Write multibyte character representation of at most NWC characters + from the wide character string SRC to DST. */ +extern size_t wcsnrtombs (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps) __THROW; +#endif /* use POSIX 2008 */ + + +/* The following functions are extensions found in X/Open CAE. */ +#ifdef __USE_XOPEN +/* Determine number of column positions required for C. */ +extern int wcwidth (wchar_t __c) __THROW; + +/* Determine number of column positions required for first N wide + characters (or fewer if S ends before this) in S. */ +extern int wcswidth (const wchar_t *__s, size_t __n) __THROW; +#endif /* Use X/Open. */ + + +/* Convert initial portion of the wide string NPTR to `double' + representation. */ +extern double wcstod (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; + +#ifdef __USE_ISOC99 +/* Likewise for `float' and `long double' sizes of floating-point numbers. */ +extern float wcstof (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +extern long double wcstold (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +#endif /* C99 */ + +#if __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23) +/* Likewise for `_FloatN' and `_FloatNx' when support is enabled. */ + +# if __HAVE_FLOAT16 +extern _Float16 wcstof16 (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT32 +extern _Float32 wcstof32 (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT64 +extern _Float64 wcstof64 (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT128 +extern _Float128 wcstof128 (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT32X +extern _Float32x wcstof32x (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT64X +extern _Float64x wcstof64x (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif + +# if __HAVE_FLOAT128X +extern _Float128x wcstof128x (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) __THROW; +# endif +#endif /* __GLIBC_USE (IEC_60559_TYPES_EXT) && __GLIBC_USE (ISOC23) */ + + +/* Convert initial portion of wide string NPTR to `long int' + representation. */ +extern long int wcstol (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) __THROW; + +/* Convert initial portion of wide string NPTR to `unsigned long int' + representation. */ +extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; + +#ifdef __USE_ISOC99 +/* Convert initial portion of wide string NPTR to `long long int' + representation. */ +__extension__ +extern long long int wcstoll (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; + +/* Convert initial portion of wide string NPTR to `unsigned long long int' + representation. */ +__extension__ +extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) __THROW; +#endif /* ISO C99. */ + +#ifdef __USE_GNU +/* Convert initial portion of wide string NPTR to `long long int' + representation. */ +__extension__ +extern long long int wcstoq (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; + +/* Convert initial portion of wide string NPTR to `unsigned long long int' + representation. */ +__extension__ +extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) __THROW; +#endif /* Use GNU. */ + +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +#if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstol); +extern unsigned long int __REDIRECT_NTH (wcstoul, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoul); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# ifdef __USE_GNU +__extension__ +extern long long int __REDIRECT_NTH (wcstoq, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoll); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstouq, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base), __isoc23_wcstoull); +# endif +# else +extern long int __isoc23_wcstol (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + __THROW; +extern unsigned long int __isoc23_wcstoul (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) + __THROW; +# define wcstol __isoc23_wcstol +# define wcstoul __isoc23_wcstoul +# define wcstoll __isoc23_wcstoll +# define wcstoull __isoc23_wcstoull +# ifdef __USE_GNU +# define wcstoq __isoc23_wcstoll +# define wcstouq __isoc23_wcstoull +# endif +# endif +#endif + +#ifdef __USE_GNU +/* Parallel versions of the functions above which take the locale to + use as an additional parameter. These are GNU extensions inspired + by the POSIX.1-2008 extended locale API. */ +extern long int wcstol_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + locale_t __loc) __THROW; + +extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) __THROW; + +__extension__ +extern long long int wcstoll_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) __THROW; + +__extension__ +extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; + +/* Versions of the above functions that handle '0b' and '0B' prefixes + in base 0 or 2. */ +# if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern long int __REDIRECT_NTH (wcstol_l, (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstol_l); +extern unsigned long int __REDIRECT_NTH (wcstoul_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoul_l); +__extension__ +extern long long int __REDIRECT_NTH (wcstoll_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoll_l); +__extension__ +extern unsigned long long int __REDIRECT_NTH (wcstoull_l, + (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc), + __isoc23_wcstoull_l); +# else +extern long int __isoc23_wcstol_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + locale_t __loc) __THROW; +extern unsigned long int __isoc23_wcstoul_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern long long int __isoc23_wcstoll_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +__extension__ +extern unsigned long long int __isoc23_wcstoull_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, locale_t __loc) + __THROW; +# define wcstol_l __isoc23_wcstol_l +# define wcstoul_l __isoc23_wcstoul_l +# define wcstoll_l __isoc23_wcstoll_l +# define wcstoull_l __isoc23_wcstoull_l +# endif +# endif + +extern double wcstod_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, locale_t __loc) + __THROW; + +extern float wcstof_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, locale_t __loc) + __THROW; + +extern long double wcstold_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; + +# if __HAVE_FLOAT16 +extern _Float16 wcstof16_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT32 +extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT64 +extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT128 +extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT32X +extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT64X +extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif + +# if __HAVE_FLOAT128X +extern _Float128x wcstof128x_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + locale_t __loc) __THROW; +# endif +#endif /* use GNU */ + + +#ifdef __USE_XOPEN2K8 +/* Copy SRC to DEST, returning the address of the terminating L'\0' in + DEST. */ +extern wchar_t *wcpcpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) __THROW; + +/* Copy no more than N characters of SRC to DEST, returning the address of + the last character written into DEST. */ +extern wchar_t *wcpncpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + __THROW; +#endif + + +/* Wide character I/O functions. */ + +#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2) +# ifndef __attr_dealloc_fclose +# if defined __has_builtin +# if __has_builtin (__builtin_fclose) +/* If the attribute macro hasn't been defined yet (by ) and + fclose is a built-in, use it. */ +# define __attr_dealloc_fclose __attr_dealloc (__builtin_fclose, 1) +# endif +# endif +# endif +# ifndef __attr_dealloc_fclose +# define __attr_dealloc_fclose /* empty */ +# endif + +/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces + a wide character string. */ +extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW + __attribute_malloc__ __attr_dealloc_fclose; +#endif + +#if defined __USE_ISOC95 || defined __USE_UNIX98 + +/* Select orientation for stream. */ +extern int fwide (__FILE *__fp, int __mode) __THROW; + + +/* Write formatted output to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fwprintf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...) + /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */; +/* Write formatted output to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int wprintf (const wchar_t *__restrict __format, ...) + /* __attribute__ ((__format__ (__wprintf__, 1, 2))) */; +/* Write formatted output of at most N characters to S. */ +extern int swprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __format, ...) + __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */; + +/* Write formatted output to S from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfwprintf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */; +/* Write formatted output to stdout from argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vwprintf (const wchar_t *__restrict __format, + __gnuc_va_list __arg) + /* __attribute__ ((__format__ (__wprintf__, 1, 0))) */; +/* Write formatted output of at most N character to S from argument + list ARG. */ +extern int vswprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */; + + +/* Read formatted input from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +/* Read formatted input from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int wscanf (const wchar_t *__restrict __format, ...) + /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; +/* Read formatted input from S. */ +extern int swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; + +/* For historical reasons, the C99-compliant versions of the scanf + functions are at alternative names. When __LDBL_COMPAT or + __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI are in effect, this is handled in + bits/wchar-ldbl.h. */ +# if !__GLIBC_USE (DEPRECATED_SCANF) && !defined __LDBL_COMPAT \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +# if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...), + __isoc23_fwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), + __isoc23_wscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; +extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + ...), __isoc23_swscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +# else +extern int __isoc23_fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...); +extern int __isoc23_wscanf (const wchar_t *__restrict __format, ...); +extern int __isoc23_swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + __THROW; +# define fwscanf __isoc23_fwscanf +# define wscanf __isoc23_wscanf +# define swscanf __isoc23_swscanf +# endif +# else +# ifdef __REDIRECT +extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...), + __isoc99_fwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...), + __isoc99_wscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */; +extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + ...), __isoc99_swscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */; +# else +extern int __isoc99_fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...); +extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...); +extern int __isoc99_swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + __THROW; +# define fwscanf __isoc99_fwscanf +# define wscanf __isoc99_wscanf +# define swscanf __isoc99_swscanf +# endif +# endif +# endif + +#endif /* Use ISO C95, C99 and Unix98. */ + +#ifdef __USE_ISOC99 +/* Read formatted input from S into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +/* Read formatted input from stdin into argument list ARG. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg) + /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; +/* Read formatted input from S into argument list ARG. */ +extern int vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; + +/* Same redirection as above for the v*wscanf family. */ +# if !__GLIBC_USE (DEPRECATED_SCANF) \ + && (!defined __LDBL_COMPAT || !defined __REDIRECT) \ + && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K) \ + && __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 +# if __GLIBC_USE (C23_STRTOL) +# ifdef __REDIRECT +extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vfwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vwscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; +extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc23_vswscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +# else +extern int __isoc23_vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc23_vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfwscanf __isoc23_vfwscanf +# define vwscanf __isoc23_vwscanf +# define vswscanf __isoc23_vswscanf +# endif +# else +# ifdef __REDIRECT +extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc99_vfwscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc99_vwscanf) + /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */; +extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg), __isoc99_vswscanf) + /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */; +# else +extern int __isoc99_vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc99_vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg); +extern int __isoc99_vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) __THROW; +# define vfwscanf __isoc99_vfwscanf +# define vwscanf __isoc99_vwscanf +# define vswscanf __isoc99_vswscanf +# endif +# endif +# endif + +#endif /* Use ISO C99. */ + + +/* Read a character from STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern wint_t fgetwc (__FILE *__stream); +extern wint_t getwc (__FILE *__stream); + +/* Read a character from stdin. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern wint_t getwchar (void); + + +/* Write a character to STREAM. + + These functions are possible cancellation points and therefore not + marked with __THROW. */ +extern wint_t fputwc (wchar_t __wc, __FILE *__stream); +extern wint_t putwc (wchar_t __wc, __FILE *__stream); + +/* Write a character to stdout. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern wint_t putwchar (wchar_t __wc); + + +/* Get a newline-terminated wide character string of finite length + from STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, + __FILE *__restrict __stream); + +/* Write a string to STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern int fputws (const wchar_t *__restrict __ws, + __FILE *__restrict __stream); + + +/* Push a character back onto the input buffer of STREAM. + + This function is a possible cancellation point and therefore not + marked with __THROW. */ +extern wint_t ungetwc (wint_t __wc, __FILE *__stream); + + +#ifdef __USE_GNU +/* These are defined to be equivalent to the `char' functions defined + in POSIX.1:1996. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern wint_t getwc_unlocked (__FILE *__stream); +extern wint_t getwchar_unlocked (void); + +/* This is the wide character version of a GNU extension. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern wint_t fgetwc_unlocked (__FILE *__stream); + +/* Faster version when locking is not necessary. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); + +/* These are defined to be equivalent to the `char' functions defined + in POSIX.1:1996. + + These functions are not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation they are cancellation points and + therefore not marked with __THROW. */ +extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); +extern wint_t putwchar_unlocked (wchar_t __wc); + + +/* This function does the same as `fgetws' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, + __FILE *__restrict __stream); + +/* This function does the same as `fputws' but does not lock the stream. + + This function is not part of POSIX and therefore no official + cancellation point. But due to similarity with an POSIX interface + or due to the implementation it is a cancellation point and + therefore not marked with __THROW. */ +extern int fputws_unlocked (const wchar_t *__restrict __ws, + __FILE *__restrict __stream); +#endif + + +/* Format TP into S according to FORMAT. + Write no more than MAXSIZE wide characters and return the number + of wide characters written, or 0 if it would exceed MAXSIZE. */ +extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, + const wchar_t *__restrict __format, + const struct tm *__restrict __tp) __THROW; + +# ifdef __USE_GNU +/* Similar to `wcsftime' but takes the information from + the provided locale and not the global locale. */ +extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, + const wchar_t *__restrict __format, + const struct tm *__restrict __tp, + locale_t __loc) __THROW; +# endif + +/* Define some macros helping to catch buffer overflows. */ +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Declare all functions from bits/wchar2-decl.h first. */ +# include +#endif + +/* The following headers provide asm redirections. These redirections must + appear before the first usage of these functions, e.g. in bits/wchar.h. */ +#if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# include +#endif + +#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function +/* Now include the function definitions and redirects too. */ +# include +#endif + +__END_DECLS + +#endif /* wchar.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wctype.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wctype.h new file mode 100644 index 00000000..200c96e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wctype.h @@ -0,0 +1,148 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * ISO C99 Standard: 7.25 + * Wide character classification and mapping utilities + */ + +#ifndef _WCTYPE_H +#define _WCTYPE_H 1 + +#include +#include +#include + +/* Constant expression of type `wint_t' whose value does not correspond + to any member of the extended character set. */ +#ifndef WEOF +# define WEOF (0xffffffffu) +#endif + +/* Some definitions from this header also appear in in + Unix98 mode. */ +#include + +/* + * Extensible wide-character mapping functions: 7.15.3.2. + */ + +__BEGIN_DECLS + +/* Scalar type that can hold values which represent locale-specific + character mappings. */ +typedef const __int32_t *wctrans_t; + +/* Construct value that describes a mapping between wide characters + identified by the string argument PROPERTY. */ +extern wctrans_t wctrans (const char *__property) __THROW; + +/* Map the wide character WC using the mapping described by DESC. */ +extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __THROW; + +# ifdef __USE_XOPEN2K8 +/* POSIX.1-2008 extended locale interface (see locale.h). */ +# include + +/* Test for any wide character for which `iswalpha' or `iswdigit' is + true. */ +extern int iswalnum_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character for which `iswupper' or 'iswlower' is + true, or any wide character that is one of a locale-specific set of + wide-characters for which none of `iswcntrl', `iswdigit', + `iswpunct', or `iswspace' is true. */ +extern int iswalpha_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any control wide character. */ +extern int iswcntrl_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to a decimal-digit + character. */ +extern int iswdigit_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character for which `iswprint' is true and + `iswspace' is false. */ +extern int iswgraph_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to a lowercase letter + or is one of a locale-specific set of wide characters for which + none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ +extern int iswlower_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any printing wide character. */ +extern int iswprint_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any printing wide character that is one of a + locale-specific et of wide characters for which neither `iswspace' + nor `iswalnum' is true. */ +extern int iswpunct_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to a locale-specific + set of wide characters for which none of `iswalnum', `iswgraph', or + `iswpunct' is true. */ +extern int iswspace_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to an uppercase letter + or is one of a locale-specific set of wide character for which none + of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ +extern int iswupper_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to a hexadecimal-digit + character equivalent to that performed be the functions described + in the previous subclause. */ +extern int iswxdigit_l (wint_t __wc, locale_t __locale) __THROW; + +/* Test for any wide character that corresponds to a standard blank + wide character or a locale-specific set of wide characters for + which `iswalnum' is false. */ +extern int iswblank_l (wint_t __wc, locale_t __locale) __THROW; + +/* Construct value that describes a class of wide characters identified + by the string argument PROPERTY. */ +extern wctype_t wctype_l (const char *__property, locale_t __locale) + __THROW; + +/* Determine whether the wide-character WC has the property described by + DESC. */ +extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale) + __THROW; + +/* + * Wide-character case-mapping functions. + */ + +/* Converts an uppercase letter to the corresponding lowercase letter. */ +extern wint_t towlower_l (wint_t __wc, locale_t __locale) __THROW; + +/* Converts an lowercase letter to the corresponding uppercase letter. */ +extern wint_t towupper_l (wint_t __wc, locale_t __locale) __THROW; + +/* Construct value that describes a mapping between wide characters + identified by the string argument PROPERTY. */ +extern wctrans_t wctrans_l (const char *__property, locale_t __locale) + __THROW; + +/* Map the wide character WC using the mapping described by DESC. */ +extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc, + locale_t __locale) __THROW; + +# endif /* Use POSIX 2008. */ + +__END_DECLS + +#endif /* wctype.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wordexp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wordexp.h new file mode 100644 index 00000000..115723b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-glibc/wordexp.h @@ -0,0 +1,70 @@ +/* Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _WORDEXP_H +#define _WORDEXP_H 1 + +#include +#define __need_size_t +#include + +__BEGIN_DECLS + +/* Bits set in the FLAGS argument to `wordexp'. */ +enum + { + WRDE_DOOFFS = (1 << 0), /* Insert PWORDEXP->we_offs NULLs. */ + WRDE_APPEND = (1 << 1), /* Append to results of a previous call. */ + WRDE_NOCMD = (1 << 2), /* Don't do command substitution. */ + WRDE_REUSE = (1 << 3), /* Reuse storage in PWORDEXP. */ + WRDE_SHOWERR = (1 << 4), /* Don't redirect stderr to /dev/null. */ + WRDE_UNDEF = (1 << 5), /* Error for expanding undefined variables. */ + __WRDE_FLAGS = (WRDE_DOOFFS | WRDE_APPEND | WRDE_NOCMD + | WRDE_REUSE | WRDE_SHOWERR | WRDE_UNDEF) + }; + +/* Structure describing a word-expansion run. */ +typedef struct + { + size_t we_wordc; /* Count of words matched. */ + char **we_wordv; /* List of expanded words. */ + size_t we_offs; /* Slots to reserve in `we_wordv'. */ + } wordexp_t; + +/* Possible nonzero return values from `wordexp'. */ +enum + { +#ifdef __USE_XOPEN + WRDE_NOSYS = -1, /* Never used since we support `wordexp'. */ +#endif + WRDE_NOSPACE = 1, /* Ran out of memory. */ + WRDE_BADCHAR, /* A metachar appears in the wrong place. */ + WRDE_BADVAL, /* Undefined var reference with WRDE_UNDEF. */ + WRDE_CMDSUB, /* Command substitution with WRDE_NOCMD. */ + WRDE_SYNTAX /* Shell syntax error. */ + }; + +/* Do word expansion of WORDS into PWORDEXP. */ +extern int wordexp (const char *__restrict __words, + wordexp_t *__restrict __pwordexp, int __flags); + +/* Free the storage allocated by a `wordexp' call. */ +extern void wordfree (wordexp_t *__wordexp) __THROW; + +__END_DECLS + +#endif /* wordexp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/aio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/aio.h new file mode 100644 index 00000000..659853a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/aio.h @@ -0,0 +1,73 @@ +#ifndef _AIO_H +#define _AIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define __NEED_ssize_t +#define __NEED_off_t + +#include + +struct aiocb { + int aio_fildes, aio_lio_opcode, aio_reqprio; + volatile void *aio_buf; + size_t aio_nbytes; + struct sigevent aio_sigevent; + void *__td; + int __lock[2]; + volatile int __err; + ssize_t __ret; + off_t aio_offset; + void *__next, *__prev; + char __dummy4[32-2*sizeof(void *)]; +}; + +#define AIO_CANCELED 0 +#define AIO_NOTCANCELED 1 +#define AIO_ALLDONE 2 + +#define LIO_READ 0 +#define LIO_WRITE 1 +#define LIO_NOP 2 + +#define LIO_WAIT 0 +#define LIO_NOWAIT 1 + +int aio_read(struct aiocb *); +int aio_write(struct aiocb *); +int aio_error(const struct aiocb *); +ssize_t aio_return(struct aiocb *); +int aio_cancel(int, struct aiocb *); +int aio_suspend(const struct aiocb *const [], int, const struct timespec *); +int aio_fsync(int, struct aiocb *); + +int lio_listio(int, struct aiocb *__restrict const *__restrict, int, struct sigevent *__restrict); + +#if defined(_LARGEFILE64_SOURCE) +#define aiocb64 aiocb +#define aio_read64 aio_read +#define aio_write64 aio_write +#define aio_error64 aio_error +#define aio_return64 aio_return +#define aio_cancel64 aio_cancel +#define aio_suspend64 aio_suspend +#define aio_fsync64 aio_fsync +#define lio_listio64 lio_listio +#define off64_t off_t +#endif + +#if _REDIR_TIME64 +__REDIR(aio_suspend, __aio_suspend_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/alloca.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/alloca.h new file mode 100644 index 00000000..28390cee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/alloca.h @@ -0,0 +1,19 @@ +#ifndef _ALLOCA_H +#define _ALLOCA_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_size_t +#include + +void *alloca(size_t); + +#define alloca __builtin_alloca + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ar.h new file mode 100644 index 00000000..87b12ac7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ar.h @@ -0,0 +1,25 @@ +#ifndef _AR_H +#define _AR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define ARMAG "!\n" +#define SARMAG 8 +#define ARFMAG "`\n" + +struct ar_hdr { + char ar_name[16]; + char ar_date[12]; + char ar_uid[6], ar_gid[6]; + char ar_mode[8]; + char ar_size[10]; + char ar_fmag[2]; +}; + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/ftp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/ftp.h new file mode 100644 index 00000000..3ddc91d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/ftp.h @@ -0,0 +1,35 @@ +#ifndef _ARPA_FTP_H +#define _ARPA_FTP_H +#define PRELIM 1 +#define COMPLETE 2 +#define CONTINUE 3 +#define TRANSIENT 4 +#define ERROR 5 +#define TYPE_A 1 +#define TYPE_E 2 +#define TYPE_I 3 +#define TYPE_L 4 +#define FORM_N 1 +#define FORM_T 2 +#define FORM_C 3 +#define STRU_F 1 +#define STRU_R 2 +#define STRU_P 3 +#define MODE_S 1 +#define MODE_B 2 +#define MODE_C 3 +#define REC_ESC '\377' +#define REC_EOR '\001' +#define REC_EOF '\002' +#define BLK_EOR 0x80 +#define BLK_EOF 0x40 +#define BLK_ERRORS 0x20 +#define BLK_RESTART 0x10 +#define BLK_BYTECOUNT 2 +#ifdef FTP_NAMES +char *modenames[] = {"0", "Stream", "Block", "Compressed" }; +char *strunames[] = {"0", "File", "Record", "Page" }; +char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" }; +char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" }; +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/inet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/inet.h new file mode 100644 index 00000000..87bcbd8e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/inet.h @@ -0,0 +1,31 @@ +#ifndef _ARPA_INET_H +#define _ARPA_INET_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +uint32_t htonl(uint32_t); +uint16_t htons(uint16_t); +uint32_t ntohl(uint32_t); +uint16_t ntohs(uint16_t); + +in_addr_t inet_addr (const char *); +in_addr_t inet_network (const char *); +char *inet_ntoa (struct in_addr); +int inet_pton (int, const char *__restrict, void *__restrict); +const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t); + +int inet_aton (const char *, struct in_addr *); +struct in_addr inet_makeaddr(in_addr_t, in_addr_t); +in_addr_t inet_lnaof(struct in_addr); +in_addr_t inet_netof(struct in_addr); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser.h new file mode 100644 index 00000000..7f8e753b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser.h @@ -0,0 +1,526 @@ +#ifndef _ARPA_NAMESER_H +#define _ARPA_NAMESER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NAMESER 19991006 +#define NS_PACKETSZ 512 +#define NS_MAXDNAME 1025 +#define NS_MAXMSG 65535 +#define NS_MAXCDNAME 255 +#define NS_MAXLABEL 63 +#define NS_HFIXEDSZ 12 +#define NS_QFIXEDSZ 4 +#define NS_RRFIXEDSZ 10 +#define NS_INT32SZ 4 +#define NS_INT16SZ 2 +#define NS_INT8SZ 1 +#define NS_INADDRSZ 4 +#define NS_IN6ADDRSZ 16 +#define NS_CMPRSFLGS 0xc0 +#define NS_DEFAULTPORT 53 + +typedef enum __ns_sect { + ns_s_qd = 0, + ns_s_zn = 0, + ns_s_an = 1, + ns_s_pr = 1, + ns_s_ns = 2, + ns_s_ud = 2, + ns_s_ar = 3, + ns_s_max = 4 +} ns_sect; + +typedef struct __ns_msg { + const unsigned char *_msg, *_eom; + uint16_t _id, _flags, _counts[ns_s_max]; + const unsigned char *_sections[ns_s_max]; + ns_sect _sect; + int _rrnum; + const unsigned char *_msg_ptr; +} ns_msg; + +struct _ns_flagdata { int mask, shift; }; +extern const struct _ns_flagdata _ns_flagdata[]; + +#define ns_msg_id(handle) ((handle)._id + 0) +#define ns_msg_base(handle) ((handle)._msg + 0) +#define ns_msg_end(handle) ((handle)._eom + 0) +#define ns_msg_size(handle) ((handle)._eom - (handle)._msg) +#define ns_msg_count(handle, section) ((handle)._counts[section] + 0) +#define ns_msg_getflag(handle, flag) \ + (((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift) + +typedef struct __ns_rr { + char name[NS_MAXDNAME]; + uint16_t type; + uint16_t rr_class; + uint32_t ttl; + uint16_t rdlength; + const unsigned char *rdata; +} ns_rr; + +#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") +#define ns_rr_type(rr) ((ns_type)((rr).type + 0)) +#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0)) +#define ns_rr_ttl(rr) ((rr).ttl + 0) +#define ns_rr_rdlen(rr) ((rr).rdlength + 0) +#define ns_rr_rdata(rr) ((rr).rdata + 0) + +typedef enum __ns_flag { + ns_f_qr, + ns_f_opcode, + ns_f_aa, + ns_f_tc, + ns_f_rd, + ns_f_ra, + ns_f_z, + ns_f_ad, + ns_f_cd, + ns_f_rcode, + ns_f_max +} ns_flag; + +typedef enum __ns_opcode { + ns_o_query = 0, + ns_o_iquery = 1, + ns_o_status = 2, + ns_o_notify = 4, + ns_o_update = 5, + ns_o_max = 6 +} ns_opcode; + +typedef enum __ns_rcode { + ns_r_noerror = 0, + ns_r_formerr = 1, + ns_r_servfail = 2, + ns_r_nxdomain = 3, + ns_r_notimpl = 4, + ns_r_refused = 5, + ns_r_yxdomain = 6, + ns_r_yxrrset = 7, + ns_r_nxrrset = 8, + ns_r_notauth = 9, + ns_r_notzone = 10, + ns_r_max = 11, + ns_r_badvers = 16, + ns_r_badsig = 16, + ns_r_badkey = 17, + ns_r_badtime = 18 +} ns_rcode; + +typedef enum __ns_update_operation { + ns_uop_delete = 0, + ns_uop_add = 1, + ns_uop_max = 2 +} ns_update_operation; + +struct ns_tsig_key { + char name[NS_MAXDNAME], alg[NS_MAXDNAME]; + unsigned char *data; + int len; +}; +typedef struct ns_tsig_key ns_tsig_key; + +struct ns_tcp_tsig_state { + int counter; + struct dst_key *key; + void *ctx; + unsigned char sig[NS_PACKETSZ]; + int siglen; +}; +typedef struct ns_tcp_tsig_state ns_tcp_tsig_state; + +#define NS_TSIG_FUDGE 300 +#define NS_TSIG_TCP_COUNT 100 +#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" + +#define NS_TSIG_ERROR_NO_TSIG -10 +#define NS_TSIG_ERROR_NO_SPACE -11 +#define NS_TSIG_ERROR_FORMERR -12 + +typedef enum __ns_type { + ns_t_invalid = 0, + ns_t_a = 1, + ns_t_ns = 2, + ns_t_md = 3, + ns_t_mf = 4, + ns_t_cname = 5, + ns_t_soa = 6, + ns_t_mb = 7, + ns_t_mg = 8, + ns_t_mr = 9, + ns_t_null = 10, + ns_t_wks = 11, + ns_t_ptr = 12, + ns_t_hinfo = 13, + ns_t_minfo = 14, + ns_t_mx = 15, + ns_t_txt = 16, + ns_t_rp = 17, + ns_t_afsdb = 18, + ns_t_x25 = 19, + ns_t_isdn = 20, + ns_t_rt = 21, + ns_t_nsap = 22, + ns_t_nsap_ptr = 23, + ns_t_sig = 24, + ns_t_key = 25, + ns_t_px = 26, + ns_t_gpos = 27, + ns_t_aaaa = 28, + ns_t_loc = 29, + ns_t_nxt = 30, + ns_t_eid = 31, + ns_t_nimloc = 32, + ns_t_srv = 33, + ns_t_atma = 34, + ns_t_naptr = 35, + ns_t_kx = 36, + ns_t_cert = 37, + ns_t_a6 = 38, + ns_t_dname = 39, + ns_t_sink = 40, + ns_t_opt = 41, + ns_t_apl = 42, + ns_t_ds = 43, + ns_t_sshfp = 44, + ns_t_ipseckey = 45, + ns_t_rrsig = 46, + ns_t_nsec = 47, + ns_t_dnskey = 48, + ns_t_dhcid = 49, + ns_t_nsec3 = 50, + ns_t_nsec3param = 51, + ns_t_tlsa = 52, + ns_t_smimea = 53, + ns_t_hip = 55, + ns_t_ninfo = 56, + ns_t_rkey = 57, + ns_t_talink = 58, + ns_t_cds = 59, + ns_t_cdnskey = 60, + ns_t_openpgpkey = 61, + ns_t_csync = 62, + ns_t_spf = 99, + ns_t_uinfo = 100, + ns_t_uid = 101, + ns_t_gid = 102, + ns_t_unspec = 103, + ns_t_nid = 104, + ns_t_l32 = 105, + ns_t_l64 = 106, + ns_t_lp = 107, + ns_t_eui48 = 108, + ns_t_eui64 = 109, + ns_t_tkey = 249, + ns_t_tsig = 250, + ns_t_ixfr = 251, + ns_t_axfr = 252, + ns_t_mailb = 253, + ns_t_maila = 254, + ns_t_any = 255, + ns_t_zxfr = 256, + ns_t_uri = 256, + ns_t_caa = 257, + ns_t_avc = 258, + ns_t_ta = 32768, + ns_t_dlv = 32769, + ns_t_max = 65536 +} ns_type; + +#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \ + (t) == ns_t_mailb || (t) == ns_t_maila) +#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt) +#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t)) +#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr) +#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \ + (t) == ns_t_zxfr) + +typedef enum __ns_class { + ns_c_invalid = 0, + ns_c_in = 1, + ns_c_2 = 2, + ns_c_chaos = 3, + ns_c_hs = 4, + ns_c_none = 254, + ns_c_any = 255, + ns_c_max = 65536 +} ns_class; + +typedef enum __ns_key_types { + ns_kt_rsa = 1, + ns_kt_dh = 2, + ns_kt_dsa = 3, + ns_kt_private = 254 +} ns_key_types; + +typedef enum __ns_cert_types { + cert_t_pkix = 1, + cert_t_spki = 2, + cert_t_pgp = 3, + cert_t_url = 253, + cert_t_oid = 254 +} ns_cert_types; + +#define NS_KEY_TYPEMASK 0xC000 +#define NS_KEY_TYPE_AUTH_CONF 0x0000 +#define NS_KEY_TYPE_CONF_ONLY 0x8000 +#define NS_KEY_TYPE_AUTH_ONLY 0x4000 +#define NS_KEY_TYPE_NO_KEY 0xC000 +#define NS_KEY_NO_AUTH 0x8000 +#define NS_KEY_NO_CONF 0x4000 +#define NS_KEY_RESERVED2 0x2000 +#define NS_KEY_EXTENDED_FLAGS 0x1000 +#define NS_KEY_RESERVED4 0x0800 +#define NS_KEY_RESERVED5 0x0400 +#define NS_KEY_NAME_TYPE 0x0300 +#define NS_KEY_NAME_USER 0x0000 +#define NS_KEY_NAME_ENTITY 0x0200 +#define NS_KEY_NAME_ZONE 0x0100 +#define NS_KEY_NAME_RESERVED 0x0300 +#define NS_KEY_RESERVED8 0x0080 +#define NS_KEY_RESERVED9 0x0040 +#define NS_KEY_RESERVED10 0x0020 +#define NS_KEY_RESERVED11 0x0010 +#define NS_KEY_SIGNATORYMASK 0x000F +#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \ + NS_KEY_RESERVED4 | \ + NS_KEY_RESERVED5 | \ + NS_KEY_RESERVED8 | \ + NS_KEY_RESERVED9 | \ + NS_KEY_RESERVED10 | \ + NS_KEY_RESERVED11 ) +#define NS_KEY_RESERVED_BITMASK2 0xFFFF +#define NS_ALG_MD5RSA 1 +#define NS_ALG_DH 2 +#define NS_ALG_DSA 3 +#define NS_ALG_DSS NS_ALG_DSA +#define NS_ALG_EXPIRE_ONLY 253 +#define NS_ALG_PRIVATE_OID 254 + +#define NS_KEY_PROT_TLS 1 +#define NS_KEY_PROT_EMAIL 2 +#define NS_KEY_PROT_DNSSEC 3 +#define NS_KEY_PROT_IPSEC 4 +#define NS_KEY_PROT_ANY 255 + +#define NS_MD5RSA_MIN_BITS 512 +#define NS_MD5RSA_MAX_BITS 4096 +#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) +#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) +#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) +#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) + +#define NS_DSA_SIG_SIZE 41 +#define NS_DSA_MIN_SIZE 213 +#define NS_DSA_MAX_BYTES 405 + +#define NS_SIG_TYPE 0 +#define NS_SIG_ALG 2 +#define NS_SIG_LABELS 3 +#define NS_SIG_OTTL 4 +#define NS_SIG_EXPIR 8 +#define NS_SIG_SIGNED 12 +#define NS_SIG_FOOT 16 +#define NS_SIG_SIGNER 18 +#define NS_NXT_BITS 8 +#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_MAX 127 + +#define NS_OPT_DNSSEC_OK 0x8000U +#define NS_OPT_NSID 3 + +#define NS_GET16(s, cp) (void)((s) = ns_get16(((cp)+=2)-2)) +#define NS_GET32(l, cp) (void)((l) = ns_get32(((cp)+=4)-4)) +#define NS_PUT16(s, cp) ns_put16((s), ((cp)+=2)-2) +#define NS_PUT32(l, cp) ns_put32((l), ((cp)+=4)-4) + +unsigned ns_get16(const unsigned char *); +unsigned long ns_get32(const unsigned char *); +void ns_put16(unsigned, unsigned char *); +void ns_put32(unsigned long, unsigned char *); + +int ns_initparse(const unsigned char *, int, ns_msg *); +int ns_parserr(ns_msg *, ns_sect, int, ns_rr *); +int ns_skiprr(const unsigned char *, const unsigned char *, ns_sect, int); +int ns_name_uncompress(const unsigned char *, const unsigned char *, const unsigned char *, char *, size_t); + + +#define __BIND 19950621 + +typedef struct { + unsigned id :16; +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned qr: 1; + unsigned opcode: 4; + unsigned aa: 1; + unsigned tc: 1; + unsigned rd: 1; + unsigned ra: 1; + unsigned unused :1; + unsigned ad: 1; + unsigned cd: 1; + unsigned rcode :4; +#else + unsigned rd :1; + unsigned tc :1; + unsigned aa :1; + unsigned opcode :4; + unsigned qr :1; + unsigned rcode :4; + unsigned cd: 1; + unsigned ad: 1; + unsigned unused :1; + unsigned ra :1; +#endif + unsigned qdcount :16; + unsigned ancount :16; + unsigned nscount :16; + unsigned arcount :16; +} HEADER; + +#define PACKETSZ NS_PACKETSZ +#define MAXDNAME NS_MAXDNAME +#define MAXCDNAME NS_MAXCDNAME +#define MAXLABEL NS_MAXLABEL +#define HFIXEDSZ NS_HFIXEDSZ +#define QFIXEDSZ NS_QFIXEDSZ +#define RRFIXEDSZ NS_RRFIXEDSZ +#define INT32SZ NS_INT32SZ +#define INT16SZ NS_INT16SZ +#define INT8SZ NS_INT8SZ +#define INADDRSZ NS_INADDRSZ +#define IN6ADDRSZ NS_IN6ADDRSZ +#define INDIR_MASK NS_CMPRSFLGS +#define NAMESERVER_PORT NS_DEFAULTPORT + +#define S_ZONE ns_s_zn +#define S_PREREQ ns_s_pr +#define S_UPDATE ns_s_ud +#define S_ADDT ns_s_ar + +#define QUERY ns_o_query +#define IQUERY ns_o_iquery +#define STATUS ns_o_status +#define NS_NOTIFY_OP ns_o_notify +#define NS_UPDATE_OP ns_o_update + +#define NOERROR ns_r_noerror +#define FORMERR ns_r_formerr +#define SERVFAIL ns_r_servfail +#define NXDOMAIN ns_r_nxdomain +#define NOTIMP ns_r_notimpl +#define REFUSED ns_r_refused +#define YXDOMAIN ns_r_yxdomain +#define YXRRSET ns_r_yxrrset +#define NXRRSET ns_r_nxrrset +#define NOTAUTH ns_r_notauth +#define NOTZONE ns_r_notzone + +#define DELETE ns_uop_delete +#define ADD ns_uop_add + +#define T_A ns_t_a +#define T_NS ns_t_ns +#define T_MD ns_t_md +#define T_MF ns_t_mf +#define T_CNAME ns_t_cname +#define T_SOA ns_t_soa +#define T_MB ns_t_mb +#define T_MG ns_t_mg +#define T_MR ns_t_mr +#define T_NULL ns_t_null +#define T_WKS ns_t_wks +#define T_PTR ns_t_ptr +#define T_HINFO ns_t_hinfo +#define T_MINFO ns_t_minfo +#define T_MX ns_t_mx +#define T_TXT ns_t_txt +#define T_RP ns_t_rp +#define T_AFSDB ns_t_afsdb +#define T_X25 ns_t_x25 +#define T_ISDN ns_t_isdn +#define T_RT ns_t_rt +#define T_NSAP ns_t_nsap +#define T_NSAP_PTR ns_t_nsap_ptr +#define T_SIG ns_t_sig +#define T_KEY ns_t_key +#define T_PX ns_t_px +#define T_GPOS ns_t_gpos +#define T_AAAA ns_t_aaaa +#define T_LOC ns_t_loc +#define T_NXT ns_t_nxt +#define T_EID ns_t_eid +#define T_NIMLOC ns_t_nimloc +#define T_SRV ns_t_srv +#define T_ATMA ns_t_atma +#define T_NAPTR ns_t_naptr +#define T_A6 ns_t_a6 +#define T_DNAME ns_t_dname +#define T_DS ns_t_ds +#define T_SSHFP ns_t_sshfp +#define T_IPSECKEY ns_t_ipseckey +#define T_RRSIG ns_t_rrsig +#define T_NSEC ns_t_nsec +#define T_DNSKEY ns_t_dnskey +#define T_DHCID ns_t_dhcid +#define T_NSEC3 ns_t_nsec3 +#define T_NSEC3PARAM ns_t_nsec3param +#define T_TLSA ns_t_tlsa +#define T_SMIMEA ns_t_smimea +#define T_HIP ns_t_hip +#define T_NINFO ns_t_ninfo +#define T_RKEY ns_t_rkey +#define T_TALINK ns_t_talink +#define T_CDS ns_t_cds +#define T_CDNSKEY ns_t_cdnskey +#define T_OPENPGPKEY ns_t_openpgpkey +#define T_CSYNC ns_t_csync +#define T_SPF ns_t_spf +#define T_UINFO ns_t_uinfo +#define T_UID ns_t_uid +#define T_GID ns_t_gid +#define T_UNSPEC ns_t_unspec +#define T_NID ns_t_nid +#define T_L32 ns_t_l32 +#define T_L64 ns_t_l64 +#define T_LP ns_t_lp +#define T_EUI48 ns_t_eui48 +#define T_EUI64 ns_t_eui64 +#define T_TKEY ns_t_tkey +#define T_TSIG ns_t_tsig +#define T_IXFR ns_t_ixfr +#define T_AXFR ns_t_axfr +#define T_MAILB ns_t_mailb +#define T_MAILA ns_t_maila +#define T_ANY ns_t_any +#define T_URI ns_t_uri +#define T_CAA ns_t_caa +#define T_AVC ns_t_avc +#define T_TA ns_t_ta +#define T_DLV ns_t_dlv + +#define C_IN ns_c_in +#define C_CHAOS ns_c_chaos +#define C_HS ns_c_hs +#define C_NONE ns_c_none +#define C_ANY ns_c_any + +#define GETSHORT NS_GET16 +#define GETLONG NS_GET32 +#define PUTSHORT NS_PUT16 +#define PUTLONG NS_PUT32 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser_compat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser_compat.h new file mode 100644 index 00000000..e65601f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/nameser_compat.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/telnet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/telnet.h new file mode 100644 index 00000000..70de5b17 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/telnet.h @@ -0,0 +1,251 @@ +#ifndef _ARPA_TELNET_H +#define _ARPA_TELNET_H + +#define IAC 255 +#define DONT 254 +#define DO 253 +#define WONT 252 +#define WILL 251 +#define SB 250 +#define GA 249 +#define EL 248 +#define EC 247 +#define AYT 246 +#define AO 245 +#define IP 244 +#define BREAK 243 +#define DM 242 +#define NOP 241 +#define SE 240 +#define EOR 239 +#define ABORT 238 +#define SUSP 237 +#define xEOF 236 + +#define SYNCH 242 + +#define telcmds ((char [][6]){ "EOF", "SUSP", "ABORT", "EOR", "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", 0 }) + +#define TELCMD_FIRST xEOF +#define TELCMD_LAST IAC +#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \ + (unsigned int)(x) >= TELCMD_FIRST) +#define TELCMD(x) telcmds[(x)-TELCMD_FIRST] + +#define TELOPT_BINARY 0 +#define TELOPT_ECHO 1 +#define TELOPT_RCP 2 +#define TELOPT_SGA 3 +#define TELOPT_NAMS 4 +#define TELOPT_STATUS 5 +#define TELOPT_TM 6 +#define TELOPT_RCTE 7 +#define TELOPT_NAOL 8 +#define TELOPT_NAOP 9 +#define TELOPT_NAOCRD 10 +#define TELOPT_NAOHTS 11 +#define TELOPT_NAOHTD 12 +#define TELOPT_NAOFFD 13 +#define TELOPT_NAOVTS 14 +#define TELOPT_NAOVTD 15 +#define TELOPT_NAOLFD 16 +#define TELOPT_XASCII 17 +#define TELOPT_LOGOUT 18 +#define TELOPT_BM 19 +#define TELOPT_DET 20 +#define TELOPT_SUPDUP 21 +#define TELOPT_SUPDUPOUTPUT 22 +#define TELOPT_SNDLOC 23 +#define TELOPT_TTYPE 24 +#define TELOPT_EOR 25 +#define TELOPT_TUID 26 +#define TELOPT_OUTMRK 27 +#define TELOPT_TTYLOC 28 +#define TELOPT_3270REGIME 29 +#define TELOPT_X3PAD 30 +#define TELOPT_NAWS 31 +#define TELOPT_TSPEED 32 +#define TELOPT_LFLOW 33 +#define TELOPT_LINEMODE 34 +#define TELOPT_XDISPLOC 35 +#define TELOPT_OLD_ENVIRON 36 +#define TELOPT_AUTHENTICATION 37/* Authenticate */ +#define TELOPT_ENCRYPT 38 +#define TELOPT_NEW_ENVIRON 39 +#define TELOPT_EXOPL 255 + + +#define NTELOPTS (1+TELOPT_NEW_ENVIRON) +#ifdef TELOPTS +char *telopts[NTELOPTS+1] = { + "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", + "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", + "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", + "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", + "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT", + "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", + "TACACS UID", "OUTPUT MARKING", "TTYLOC", + "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW", + "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION", + "ENCRYPT", "NEW-ENVIRON", + 0, +}; +#define TELOPT_FIRST TELOPT_BINARY +#define TELOPT_LAST TELOPT_NEW_ENVIRON +#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST) +#define TELOPT(x) telopts[(x)-TELOPT_FIRST] +#endif + +#define TELQUAL_IS 0 +#define TELQUAL_SEND 1 +#define TELQUAL_INFO 2 +#define TELQUAL_REPLY 2 +#define TELQUAL_NAME 3 + +#define LFLOW_OFF 0 +#define LFLOW_ON 1 +#define LFLOW_RESTART_ANY 2 +#define LFLOW_RESTART_XON 3 + + +#define LM_MODE 1 +#define LM_FORWARDMASK 2 +#define LM_SLC 3 + +#define MODE_EDIT 0x01 +#define MODE_TRAPSIG 0x02 +#define MODE_ACK 0x04 +#define MODE_SOFT_TAB 0x08 +#define MODE_LIT_ECHO 0x10 + +#define MODE_MASK 0x1f + +#define MODE_FLOW 0x0100 +#define MODE_ECHO 0x0200 +#define MODE_INBIN 0x0400 +#define MODE_OUTBIN 0x0800 +#define MODE_FORCE 0x1000 + +#define SLC_SYNCH 1 +#define SLC_BRK 2 +#define SLC_IP 3 +#define SLC_AO 4 +#define SLC_AYT 5 +#define SLC_EOR 6 +#define SLC_ABORT 7 +#define SLC_EOF 8 +#define SLC_SUSP 9 +#define SLC_EC 10 +#define SLC_EL 11 +#define SLC_EW 12 +#define SLC_RP 13 +#define SLC_LNEXT 14 +#define SLC_XON 15 +#define SLC_XOFF 16 +#define SLC_FORW1 17 +#define SLC_FORW2 18 + +#define NSLC 18 + +#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \ + "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \ + "LNEXT", "XON", "XOFF", "FORW1", "FORW2", 0, +#ifdef SLC_NAMES +char *slc_names[] = { + SLC_NAMELIST +}; +#else +extern char *slc_names[]; +#define SLC_NAMES SLC_NAMELIST +#endif + +#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC) +#define SLC_NAME(x) slc_names[x] + +#define SLC_NOSUPPORT 0 +#define SLC_CANTCHANGE 1 +#define SLC_VARIABLE 2 +#define SLC_DEFAULT 3 +#define SLC_LEVELBITS 0x03 + +#define SLC_FUNC 0 +#define SLC_FLAGS 1 +#define SLC_VALUE 2 + +#define SLC_ACK 0x80 +#define SLC_FLUSHIN 0x40 +#define SLC_FLUSHOUT 0x20 + +#define OLD_ENV_VAR 1 +#define OLD_ENV_VALUE 0 +#define NEW_ENV_VAR 0 +#define NEW_ENV_VALUE 1 +#define ENV_ESC 2 +#define ENV_USERVAR 3 + +#define AUTH_WHO_CLIENT 0 +#define AUTH_WHO_SERVER 1 +#define AUTH_WHO_MASK 1 + +#define AUTH_HOW_ONE_WAY 0 +#define AUTH_HOW_MUTUAL 2 +#define AUTH_HOW_MASK 2 + +#define AUTHTYPE_NULL 0 +#define AUTHTYPE_KERBEROS_V4 1 +#define AUTHTYPE_KERBEROS_V5 2 +#define AUTHTYPE_SPX 3 +#define AUTHTYPE_MINK 4 +#define AUTHTYPE_CNT 5 + +#define AUTHTYPE_TEST 99 + +#ifdef AUTH_NAMES +char *authtype_names[] = { + "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", 0, +}; +#else +extern char *authtype_names[]; +#endif + +#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT) +#define AUTHTYPE_NAME(x) authtype_names[x] + +#define ENCRYPT_IS 0 +#define ENCRYPT_SUPPORT 1 +#define ENCRYPT_REPLY 2 +#define ENCRYPT_START 3 +#define ENCRYPT_END 4 +#define ENCRYPT_REQSTART 5 +#define ENCRYPT_REQEND 6 +#define ENCRYPT_ENC_KEYID 7 +#define ENCRYPT_DEC_KEYID 8 +#define ENCRYPT_CNT 9 + +#define ENCTYPE_ANY 0 +#define ENCTYPE_DES_CFB64 1 +#define ENCTYPE_DES_OFB64 2 +#define ENCTYPE_CNT 3 + +#ifdef ENCRYPT_NAMES +char *encrypt_names[] = { + "IS", "SUPPORT", "REPLY", "START", "END", + "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID", + 0, +}; +char *enctype_names[] = { + "ANY", "DES_CFB64", "DES_OFB64", 0, +}; +#else +extern char *encrypt_names[]; +extern char *enctype_names[]; +#endif + + +#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT) +#define ENCRYPT_NAME(x) encrypt_names[x] + +#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT) +#define ENCTYPE_NAME(x) enctype_names[x] + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/tftp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/tftp.h new file mode 100644 index 00000000..7e706dfe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/arpa/tftp.h @@ -0,0 +1,30 @@ +#ifndef _ARPA_TFTP_H +#define _ARPA_TFTP_H +#define SEGSIZE 512 +#define RRQ 01 +#define WRQ 02 +#define DATA 03 +#define ACK 04 +#define ERROR 05 +struct tftphdr { + short th_opcode; + union { + unsigned short tu_block; + short tu_code; + char tu_stuff[1]; + } th_u; + char th_data[1]; +}; +#define th_block th_u.tu_block +#define th_code th_u.tu_code +#define th_stuff th_u.tu_stuff +#define th_msg th_data +#define EUNDEF 0 +#define ENOTFOUND 1 +#define EACCESS 2 +#define ENOSPACE 3 +#define EBADOP 4 +#define EBADID 5 +#define EEXISTS 6 +#define ENOUSER 7 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/assert.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/assert.h new file mode 100644 index 00000000..41d075a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/assert.h @@ -0,0 +1,23 @@ +#include + +#undef assert + +#ifdef NDEBUG +#define assert(x) (void)0 +#else +#define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0))) +#endif + +#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus) +#define static_assert _Static_assert +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_Noreturn void __assert_fail (const char *, const char *, int, const char *); + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/alltypes.h new file mode 100644 index 00000000..46b309d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/alltypes.h @@ -0,0 +1,408 @@ +#define _REDIR_TIME64 1 +#define _Addr int +#define _Int64 long long +#define _Reg int + +#if _MIPSEL || __MIPSEL || __MIPSEL__ +#define __BYTE_ORDER 1234 +#else +#define __BYTE_ORDER 4321 +#endif + +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/dirent.h new file mode 100644 index 00000000..16f37f69 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/dirent.h @@ -0,0 +1,11 @@ +#define _DIRENT_HAVE_D_RECLEN +#define _DIRENT_HAVE_D_OFF +#define _DIRENT_HAVE_D_TYPE + +struct dirent { + ino_t d_ino; + off_t d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[256]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/errno.h new file mode 100644 index 00000000..843ad4f1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 +#define ELOOP 40 +#define EWOULDBLOCK EAGAIN +#define ENOMSG 42 +#define EIDRM 43 +#define ECHRNG 44 +#define EL2NSYNC 45 +#define EL3HLT 46 +#define EL3RST 47 +#define ELNRNG 48 +#define EUNATCH 49 +#define ENOCSI 50 +#define EL2HLT 51 +#define EBADE 52 +#define EBADR 53 +#define EXFULL 54 +#define ENOANO 55 +#define EBADRQC 56 +#define EBADSLT 57 +#define EDEADLOCK EDEADLK +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EMULTIHOP 72 +#define EDOTDOT 73 +#define EBADMSG 74 +#define EOVERFLOW 75 +#define ENOTUNIQ 76 +#define EBADFD 77 +#define EREMCHG 78 +#define ELIBACC 79 +#define ELIBBAD 80 +#define ELIBSCN 81 +#define ELIBMAX 82 +#define ELIBEXEC 83 +#define EILSEQ 84 +#define ERESTART 85 +#define ESTRPIPE 86 +#define EUSERS 87 +#define ENOTSOCK 88 +#define EDESTADDRREQ 89 +#define EMSGSIZE 90 +#define EPROTOTYPE 91 +#define ENOPROTOOPT 92 +#define EPROTONOSUPPORT 93 +#define ESOCKTNOSUPPORT 94 +#define EOPNOTSUPP 95 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 96 +#define EAFNOSUPPORT 97 +#define EADDRINUSE 98 +#define EADDRNOTAVAIL 99 +#define ENETDOWN 100 +#define ENETUNREACH 101 +#define ENETRESET 102 +#define ECONNABORTED 103 +#define ECONNRESET 104 +#define ENOBUFS 105 +#define EISCONN 106 +#define ENOTCONN 107 +#define ESHUTDOWN 108 +#define ETOOMANYREFS 109 +#define ETIMEDOUT 110 +#define ECONNREFUSED 111 +#define EHOSTDOWN 112 +#define EHOSTUNREACH 113 +#define EALREADY 114 +#define EINPROGRESS 115 +#define ESTALE 116 +#define EUCLEAN 117 +#define ENOTNAM 118 +#define ENAVAIL 119 +#define EISNAM 120 +#define EREMOTEIO 121 +#define EDQUOT 122 +#define ENOMEDIUM 123 +#define EMEDIUMTYPE 124 +#define ECANCELED 125 +#define ENOKEY 126 +#define EKEYEXPIRED 127 +#define EKEYREVOKED 128 +#define EKEYREJECTED 129 +#define EOWNERDEAD 130 +#define ENOTRECOVERABLE 131 +#define ERFKILL 132 +#define EHWPOISON 133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fcntl.h new file mode 100644 index 00000000..77c9b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fcntl.h @@ -0,0 +1,46 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 0200000 +#define O_NOFOLLOW 0400000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 040000 +#define O_LARGEFILE 0100000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#if __LONG_MAX == 0x7fffffffL +#define F_GETLK 12 +#define F_SETLK 13 +#define F_SETLKW 14 +#else +#define F_GETLK 5 +#define F_SETLK 6 +#define F_SETLKW 7 +#endif + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fenv.h new file mode 100644 index 00000000..1347e5f2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/fenv.h @@ -0,0 +1,34 @@ +#define FE_INVALID 1 +#define __FE_DENORM 2 +#define FE_DIVBYZERO 4 +#define FE_OVERFLOW 8 +#define FE_UNDERFLOW 16 +#define FE_INEXACT 32 + +#define FE_ALL_EXCEPT 63 + +#define FE_TONEAREST 0 +#define FE_DOWNWARD 0x400 +#define FE_UPWARD 0x800 +#define FE_TOWARDZERO 0xc00 + +typedef unsigned short fexcept_t; + +typedef struct { + unsigned short __control_word; + unsigned short __unused1; + unsigned short __status_word; + unsigned short __unused2; + unsigned short __tags; + unsigned short __unused3; + unsigned int __eip; + unsigned short __cs_selector; + unsigned int __opcode:11; + unsigned int __unused4:5; + unsigned int __data_offset; + unsigned short __data_selector; + unsigned short __unused5; + unsigned int __mxcsr; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/float.h new file mode 100644 index 00000000..f8cb54bb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L +#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L +#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L +#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L + +#define LDBL_MANT_DIG 113 +#define LDBL_MIN_EXP (-16381) +#define LDBL_MAX_EXP 16384 + +#define LDBL_DIG 33 +#define LDBL_MIN_10_EXP (-4931) +#define LDBL_MAX_10_EXP 4932 + +#define DECIMAL_DIG 36 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/hwcap.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/io.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/io.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ioctl.h new file mode 100644 index 00000000..1f814548 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ioctl.h @@ -0,0 +1,115 @@ +#define _IOC(a,b,c,d) ( ((a)<<30) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 0U +#define _IOC_WRITE 1U +#define _IOC_READ 2U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define TCGETS 0x5401 +#define TCSETS 0x5402 +#define TCSETSW 0x5403 +#define TCSETSF 0x5404 +#define TCGETA 0x5405 +#define TCSETA 0x5406 +#define TCSETAW 0x5407 +#define TCSETAF 0x5408 +#define TCSBRK 0x5409 +#define TCXONC 0x540A +#define TCFLSH 0x540B +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E +#define TIOCGPGRP 0x540F +#define TIOCSPGRP 0x5410 +#define TIOCOUTQ 0x5411 +#define TIOCSTI 0x5412 +#define TIOCGWINSZ 0x5413 +#define TIOCSWINSZ 0x5414 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define FIONREAD 0x541B +#define TIOCINQ FIONREAD +#define TIOCLINUX 0x541C +#define TIOCCONS 0x541D +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TIOCPKT 0x5420 +#define FIONBIO 0x5421 +#define TIOCNOTTY 0x5422 +#define TIOCSETD 0x5423 +#define TIOCGETD 0x5424 +#define TCSBRKP 0x5425 +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x5429 +#define TIOCGRS485 0x542E +#define TIOCSRS485 0x542F +#define TIOCGPTN 0x80045430 +#define TIOCSPTLCK 0x40045431 +#define TIOCGDEV 0x80045432 +#define TCGETX 0x5432 +#define TCSETX 0x5433 +#define TCSETXF 0x5434 +#define TCSETXW 0x5435 +#define TIOCSIG 0x40045436 +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT 0x80045438 +#define TIOCGPTLCK 0x80045439 +#define TIOCGEXCL 0x80045440 +#define TIOCGPTPEER 0x5441 +#define TIOCGISO7816 0x80285442 +#define TIOCSISO7816 0xc0285443 + +#define FIONCLEX 0x5450 +#define FIOCLEX 0x5451 +#define FIOASYNC 0x5452 +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 +#define TIOCSERGETLSR 0x5459 +#define TIOCSERGETMULTI 0x545A +#define TIOCSERSETMULTI 0x545B + +#define TIOCMIWAIT 0x545C +#define TIOCGICOUNT 0x545D +#define FIOQSIZE 0x5460 + +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define FIOSETOWN 0x8901 +#define SIOCSPGRP 0x8902 +#define FIOGETOWN 0x8903 +#define SIOCGPGRP 0x8904 +#define SIOCATMARK 0x8905 +#if __LONG_MAX == 0x7fffffff +#define SIOCGSTAMP _IOR(0x89, 6, char[16]) +#define SIOCGSTAMPNS _IOR(0x89, 7, char[16]) +#else +#define SIOCGSTAMP 0x8906 +#define SIOCGSTAMPNS 0x8907 +#endif + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ioctl_fix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ioctl_fix.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipc.h new file mode 100644 index 00000000..2c0d4402 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipc.h @@ -0,0 +1,11 @@ +struct ipc_perm { + key_t __ipc_perm_key; + uid_t uid; + gid_t gid; + uid_t cuid; + gid_t cgid; + mode_t mode; + int __ipc_perm_seq; + long __pad1; + long __pad2; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipcstat.h new file mode 100644 index 00000000..36917ea9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 2 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/kd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/kd.h new file mode 100644 index 00000000..d326b808 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/kd.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/limits.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/link.h new file mode 100644 index 00000000..73d72638 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/link.h @@ -0,0 +1 @@ +typedef uint32_t Elf_Symndx; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/mman.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/msg.h new file mode 100644 index 00000000..39bdf2a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/msg.h @@ -0,0 +1,12 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/poll.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/posix.h new file mode 100644 index 00000000..b0aba3e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/ptrace.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/reg.h new file mode 100644 index 00000000..0afb6bd0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/reg.h @@ -0,0 +1,2 @@ +#undef __WORDSIZE +#define __WORDSIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/resource.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/sem.h new file mode 100644 index 00000000..25ae3b4a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/sem.h @@ -0,0 +1,14 @@ +struct semid_ds { + struct ipc_perm sem_perm; + time_t sem_otime; + time_t sem_ctime; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + long __unused3; + long __unused4; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/setjmp.h new file mode 100644 index 00000000..a7cb9dbc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[23]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/shm.h new file mode 100644 index 00000000..13a81ca5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/shm.h @@ -0,0 +1,24 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __pad1; + unsigned long __pad2; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/signal.h new file mode 100644 index 00000000..475aae6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/signal.h @@ -0,0 +1,142 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long long greg_t, gregset_t[32]; + +typedef struct { + union { + double fp_dregs[32]; + struct { + float _fp_fregs; + unsigned _fp_pad; + } fp_fregs[32]; + } fp_r; +} fpregset_t; + +struct sigcontext { + unsigned long long sc_regs[32]; + unsigned long long sc_fpregs[32]; + unsigned long long sc_mdhi; + unsigned long long sc_hi1; + unsigned long long sc_hi2; + unsigned long long sc_hi3; + unsigned long long sc_mdlo; + unsigned long long sc_lo1; + unsigned long long sc_lo2; + unsigned long long sc_lo3; + unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +typedef struct { + gregset_t gregs; + fpregset_t fpregs; + greg_t mdhi; + greg_t hi1; + greg_t hi2; + greg_t hi3; + greg_t mdlo; + greg_t lo1; + greg_t lo2; + greg_t lo3; + greg_t pc; + unsigned int fpc_csr; + unsigned int used_math; + unsigned int dsp; + unsigned int reserved; +} mcontext_t; + +#else +typedef struct { + unsigned long long __mc1[32]; + double __mc2[32]; + unsigned long long __mc3[9]; + unsigned __mc4[4]; +} mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + size_t ss_size; + int ss_flags; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 0x10000 +#define SA_SIGINFO 8 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 + +#undef SIG_BLOCK +#undef SIG_UNBLOCK +#undef SIG_SETMASK +#define SIG_BLOCK 1 +#define SIG_UNBLOCK 2 +#define SIG_SETMASK 3 + +#undef SI_ASYNCIO +#undef SI_MESGQ +#undef SI_TIMER +#define SI_ASYNCIO (-2) +#define SI_MESGQ (-4) +#define SI_TIMER (-3) + +#define __SI_SWAP_ERRNO_CODE + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGEMT 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGBUS 10 +#define SIGSEGV 11 +#define SIGSYS 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGUSR1 16 +#define SIGUSR2 17 +#define SIGCHLD 18 +#define SIGPWR 19 +#define SIGWINCH 20 +#define SIGURG 21 +#define SIGIO 22 +#define SIGPOLL SIGIO +#define SIGSTOP 23 +#define SIGTSTP 24 +#define SIGCONT 25 +#define SIGTTIN 26 +#define SIGTTOU 27 +#define SIGVTALRM 28 +#define SIGPROF 29 +#define SIGXCPU 30 +#define SIGXFSZ 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 128 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/socket.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/soundcard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/soundcard.h new file mode 100644 index 00000000..afeb11d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/soundcard.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stat.h new file mode 100644 index 00000000..6ce9af11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stat.h @@ -0,0 +1,18 @@ +struct stat { + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + unsigned long __pad; + off_t st_size; + blksize_t st_blksize; + int __pad2; + blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + unsigned __unused[2]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/statfs.h new file mode 100644 index 00000000..f99a00be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/statfs.h @@ -0,0 +1,7 @@ +struct statfs { + unsigned long f_type, f_bsize; + fsblkcnt_t f_blocks, f_bfree, f_bavail; + fsfilcnt_t f_files, f_ffree; + fsid_t f_fsid; + unsigned long f_namelen, f_frsize, f_flags, f_spare[4]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/termios.h new file mode 100644 index 00000000..fce9689b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/termios.h @@ -0,0 +1,166 @@ +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VTIME 5 +#define VMIN 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VEOL 11 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOL2 16 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define FFDLY 0100000 +#define FF0 0000000 +#define FF1 0100000 +#endif + +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 + +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 + +#define ISIG 0000001 +#define ICANON 0000002 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define TOSTOP 0000400 +#define IEXTEN 0100000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 0010017 +#define CBAUDEX 0010000 +#define CIBAUD 002003600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0000004 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0010000 +#define PENDIN 0040000 +#define EXTPROC 0200000 + +#define XTABS 0014000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/user.h new file mode 100644 index 00000000..93ddf49b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/user.h @@ -0,0 +1,6 @@ +#include + +#define ELF_NGREG 32 +#define ELF_NFPREG 33 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef union __riscv_mc_fp_state elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/vt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/vt.h new file mode 100644 index 00000000..58335f1d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/bits/vt.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/byteswap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/byteswap.h new file mode 100644 index 00000000..165f2d61 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/byteswap.h @@ -0,0 +1,26 @@ +#ifndef _BYTESWAP_H +#define _BYTESWAP_H + +#include +#include + +static __inline uint16_t __bswap_16(uint16_t __x) +{ + return __x<<8 | __x>>8; +} + +static __inline uint32_t __bswap_32(uint32_t __x) +{ + return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; +} + +static __inline uint64_t __bswap_64(uint64_t __x) +{ + return __bswap_32(__x)+0ULL<<32 | __bswap_32(__x>>32); +} + +#define bswap_16(x) __bswap_16(x) +#define bswap_32(x) __bswap_32(x) +#define bswap_64(x) __bswap_64(x) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/complex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/complex.h new file mode 100644 index 00000000..69d423bb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/complex.h @@ -0,0 +1,133 @@ +#ifndef _COMPLEX_H +#define _COMPLEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define complex _Complex +#ifdef __GNUC__ +#define _Complex_I (__extension__ (0.0f+1.0fi)) +#else +#define _Complex_I (0.0f+1.0fi) +#endif +#define I _Complex_I + +double complex cacos(double complex); +float complex cacosf(float complex); +long double complex cacosl(long double complex); + +double complex casin(double complex); +float complex casinf(float complex); +long double complex casinl(long double complex); + +double complex catan(double complex); +float complex catanf(float complex); +long double complex catanl(long double complex); + +double complex ccos(double complex); +float complex ccosf(float complex); +long double complex ccosl(long double complex); + +double complex csin(double complex); +float complex csinf(float complex); +long double complex csinl(long double complex); + +double complex ctan(double complex); +float complex ctanf(float complex); +long double complex ctanl(long double complex); + +double complex cacosh(double complex); +float complex cacoshf(float complex); +long double complex cacoshl(long double complex); + +double complex casinh(double complex); +float complex casinhf(float complex); +long double complex casinhl(long double complex); + +double complex catanh(double complex); +float complex catanhf(float complex); +long double complex catanhl(long double complex); + +double complex ccosh(double complex); +float complex ccoshf(float complex); +long double complex ccoshl(long double complex); + +double complex csinh(double complex); +float complex csinhf(float complex); +long double complex csinhl(long double complex); + +double complex ctanh(double complex); +float complex ctanhf(float complex); +long double complex ctanhl(long double complex); + +double complex cexp(double complex); +float complex cexpf(float complex); +long double complex cexpl(long double complex); + +double complex clog(double complex); +float complex clogf(float complex); +long double complex clogl(long double complex); + +double cabs(double complex); +float cabsf(float complex); +long double cabsl(long double complex); + +double complex cpow(double complex, double complex); +float complex cpowf(float complex, float complex); +long double complex cpowl(long double complex, long double complex); + +double complex csqrt(double complex); +float complex csqrtf(float complex); +long double complex csqrtl(long double complex); + +double carg(double complex); +float cargf(float complex); +long double cargl(long double complex); + +double cimag(double complex); +float cimagf(float complex); +long double cimagl(long double complex); + +double complex conj(double complex); +float complex conjf(float complex); +long double complex conjl(long double complex); + +double complex cproj(double complex); +float complex cprojf(float complex); +long double complex cprojl(long double complex); + +double creal(double complex); +float crealf(float complex); +long double creall(long double complex); + +#ifndef __cplusplus +#define __CIMAG(x, t) \ + (+(union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1]) + +#define creal(x) ((double)(x)) +#define crealf(x) ((float)(x)) +#define creall(x) ((long double)(x)) + +#define cimag(x) __CIMAG(x, double) +#define cimagf(x) __CIMAG(x, float) +#define cimagl(x) __CIMAG(x, long double) +#endif + +#if __STDC_VERSION__ >= 201112L +#if defined(_Imaginary_I) +#define __CMPLX(x, y, t) ((t)(x) + _Imaginary_I*(t)(y)) +#elif defined(__clang__) +#define __CMPLX(x, y, t) (+(_Complex t){ (t)(x), (t)(y) }) +#else +#define __CMPLX(x, y, t) (__builtin_complex((t)(x), (t)(y))) +#endif +#define CMPLX(x, y) __CMPLX(x, y, double) +#define CMPLXF(x, y) __CMPLX(x, y, float) +#define CMPLXL(x, y) __CMPLX(x, y, long double) +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/cpio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/cpio.h new file mode 100644 index 00000000..931f601d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/cpio.h @@ -0,0 +1,29 @@ +#ifndef _CPIO_H +#define _CPIO_H + +#define MAGIC "070707" + +#define C_IRUSR 000400 +#define C_IWUSR 000200 +#define C_IXUSR 000100 +#define C_IRGRP 000040 +#define C_IWGRP 000020 +#define C_IXGRP 000010 +#define C_IROTH 000004 +#define C_IWOTH 000002 +#define C_IXOTH 000001 + +#define C_ISUID 004000 +#define C_ISGID 002000 +#define C_ISVTX 001000 + +#define C_ISBLK 060000 +#define C_ISCHR 020000 +#define C_ISDIR 040000 +#define C_ISFIFO 010000 +#define C_ISSOCK 0140000 +#define C_ISLNK 0120000 +#define C_ISCTG 0110000 +#define C_ISREG 0100000 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/crypt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/crypt.h new file mode 100644 index 00000000..65196e69 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/crypt.h @@ -0,0 +1,20 @@ +#ifndef _CRYPT_H +#define _CRYPT_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct crypt_data { + int initialized; + char __buf[256]; +}; + +char *crypt(const char *, const char *); +char *crypt_r(const char *, const char *, struct crypt_data *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ctype.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ctype.h new file mode 100644 index 00000000..a991158a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ctype.h @@ -0,0 +1,77 @@ +#ifndef _CTYPE_H +#define _CTYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int isalnum(int); +int isalpha(int); +int isblank(int); +int iscntrl(int); +int isdigit(int); +int isgraph(int); +int islower(int); +int isprint(int); +int ispunct(int); +int isspace(int); +int isupper(int); +int isxdigit(int); +int tolower(int); +int toupper(int); + +#ifndef __cplusplus +static __inline int __isspace(int _c) +{ + return _c == ' ' || (unsigned)_c-'\t' < 5; +} + +#define isalpha(a) (0 ? isalpha(a) : (((unsigned)(a)|32)-'a') < 26) +#define isdigit(a) (0 ? isdigit(a) : ((unsigned)(a)-'0') < 10) +#define islower(a) (0 ? islower(a) : ((unsigned)(a)-'a') < 26) +#define isupper(a) (0 ? isupper(a) : ((unsigned)(a)-'A') < 26) +#define isprint(a) (0 ? isprint(a) : ((unsigned)(a)-0x20) < 0x5f) +#define isgraph(a) (0 ? isgraph(a) : ((unsigned)(a)-0x21) < 0x5e) +#define isspace(a) __isspace(a) +#endif + + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#define __NEED_locale_t +#include + +int isalnum_l(int, locale_t); +int isalpha_l(int, locale_t); +int isblank_l(int, locale_t); +int iscntrl_l(int, locale_t); +int isdigit_l(int, locale_t); +int isgraph_l(int, locale_t); +int islower_l(int, locale_t); +int isprint_l(int, locale_t); +int ispunct_l(int, locale_t); +int isspace_l(int, locale_t); +int isupper_l(int, locale_t); +int isxdigit_l(int, locale_t); +int tolower_l(int, locale_t); +int toupper_l(int, locale_t); + +int isascii(int); +int toascii(int); +#define _tolower(a) ((a)|0x20) +#define _toupper(a) ((a)&0x5f) +#ifndef __cplusplus +#define isascii(a) (0 ? isascii(a) : (unsigned)(a) < 128) +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dirent.h new file mode 100644 index 00000000..c37f00a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dirent.h @@ -0,0 +1,75 @@ +#ifndef _DIRENT_H +#define _DIRENT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_ino_t +#define __NEED_off_t +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define __NEED_size_t +#endif + +#include + +#include + +typedef struct __dirstream DIR; + +#define d_fileno d_ino + +int closedir(DIR *); +DIR *fdopendir(int); +DIR *opendir(const char *); +struct dirent *readdir(DIR *); +int readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict); +void rewinddir(DIR *); +int dirfd(DIR *); + +int alphasort(const struct dirent **, const struct dirent **); +int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **)); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void seekdir(DIR *, long); +long telldir(DIR *); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 +#define IFTODT(x) ((x)>>12 & 017) +#define DTTOIF(x) ((x)<<12) +int getdents(int, struct dirent *, size_t); +#endif + +#ifdef _GNU_SOURCE +int versionsort(const struct dirent **, const struct dirent **); +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define dirent64 dirent +#define readdir64 readdir +#define readdir64_r readdir_r +#define scandir64 scandir +#define alphasort64 alphasort +#define versionsort64 versionsort +#define off64_t off_t +#define ino64_t ino_t +#define getdents64 getdents +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dlfcn.h new file mode 100644 index 00000000..c38b56c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/dlfcn.h @@ -0,0 +1,46 @@ +#ifndef _DLFCN_H +#define _DLFCN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define RTLD_LAZY 1 +#define RTLD_NOW 2 +#define RTLD_NOLOAD 4 +#define RTLD_NODELETE 4096 +#define RTLD_GLOBAL 256 +#define RTLD_LOCAL 0 + +#define RTLD_NEXT ((void *)-1) +#define RTLD_DEFAULT ((void *)0) + +#define RTLD_DI_LINKMAP 2 + +int dlclose(void *); +char *dlerror(void); +void *dlopen(const char *, int); +void *dlsym(void *__restrict, const char *__restrict); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef struct { + const char *dli_fname; + void *dli_fbase; + const char *dli_sname; + void *dli_saddr; +} Dl_info; +int dladdr(const void *, Dl_info *); +int dlinfo(void *, int, void *); +#endif + +#if _REDIR_TIME64 +__REDIR(dlsym, __dlsym_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/elf.h new file mode 100644 index 00000000..93db5025 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/elf.h @@ -0,0 +1,3414 @@ +#ifndef _ELF_H +#define _ELF_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +typedef uint16_t Elf32_Half; +typedef uint16_t Elf64_Half; + +typedef uint32_t Elf32_Word; +typedef int32_t Elf32_Sword; +typedef uint32_t Elf64_Word; +typedef int32_t Elf64_Sword; + +typedef uint64_t Elf32_Xword; +typedef int64_t Elf32_Sxword; +typedef uint64_t Elf64_Xword; +typedef int64_t Elf64_Sxword; + +typedef uint32_t Elf32_Addr; +typedef uint64_t Elf64_Addr; + +typedef uint32_t Elf32_Off; +typedef uint64_t Elf64_Off; + +typedef uint16_t Elf32_Section; +typedef uint16_t Elf64_Section; + +typedef Elf32_Half Elf32_Versym; +typedef Elf64_Half Elf64_Versym; + +#define EI_NIDENT (16) + +typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf32_Half e_type; + Elf32_Half e_machine; + Elf32_Word e_version; + Elf32_Addr e_entry; + Elf32_Off e_phoff; + Elf32_Off e_shoff; + Elf32_Word e_flags; + Elf32_Half e_ehsize; + Elf32_Half e_phentsize; + Elf32_Half e_phnum; + Elf32_Half e_shentsize; + Elf32_Half e_shnum; + Elf32_Half e_shstrndx; +} Elf32_Ehdr; + +typedef struct { + unsigned char e_ident[EI_NIDENT]; + Elf64_Half e_type; + Elf64_Half e_machine; + Elf64_Word e_version; + Elf64_Addr e_entry; + Elf64_Off e_phoff; + Elf64_Off e_shoff; + Elf64_Word e_flags; + Elf64_Half e_ehsize; + Elf64_Half e_phentsize; + Elf64_Half e_phnum; + Elf64_Half e_shentsize; + Elf64_Half e_shnum; + Elf64_Half e_shstrndx; +} Elf64_Ehdr; + +#define EI_MAG0 0 +#define ELFMAG0 0x7f + +#define EI_MAG1 1 +#define ELFMAG1 'E' + +#define EI_MAG2 2 +#define ELFMAG2 'L' + +#define EI_MAG3 3 +#define ELFMAG3 'F' + + +#define ELFMAG "\177ELF" +#define SELFMAG 4 + +#define EI_CLASS 4 +#define ELFCLASSNONE 0 +#define ELFCLASS32 1 +#define ELFCLASS64 2 +#define ELFCLASSNUM 3 + +#define EI_DATA 5 +#define ELFDATANONE 0 +#define ELFDATA2LSB 1 +#define ELFDATA2MSB 2 +#define ELFDATANUM 3 + +#define EI_VERSION 6 + + +#define EI_OSABI 7 +#define ELFOSABI_NONE 0 +#define ELFOSABI_SYSV 0 +#define ELFOSABI_HPUX 1 +#define ELFOSABI_NETBSD 2 +#define ELFOSABI_LINUX 3 +#define ELFOSABI_GNU 3 +#define ELFOSABI_SOLARIS 6 +#define ELFOSABI_AIX 7 +#define ELFOSABI_IRIX 8 +#define ELFOSABI_FREEBSD 9 +#define ELFOSABI_TRU64 10 +#define ELFOSABI_MODESTO 11 +#define ELFOSABI_OPENBSD 12 +#define ELFOSABI_ARM 97 +#define ELFOSABI_STANDALONE 255 + +#define EI_ABIVERSION 8 + +#define EI_PAD 9 + + + +#define ET_NONE 0 +#define ET_REL 1 +#define ET_EXEC 2 +#define ET_DYN 3 +#define ET_CORE 4 +#define ET_NUM 5 +#define ET_LOOS 0xfe00 +#define ET_HIOS 0xfeff +#define ET_LOPROC 0xff00 +#define ET_HIPROC 0xffff + + + +#define EM_NONE 0 +#define EM_M32 1 +#define EM_SPARC 2 +#define EM_386 3 +#define EM_68K 4 +#define EM_88K 5 +#define EM_860 7 +#define EM_MIPS 8 +#define EM_S370 9 +#define EM_MIPS_RS3_LE 10 + +#define EM_PARISC 15 +#define EM_VPP500 17 +#define EM_SPARC32PLUS 18 +#define EM_960 19 +#define EM_PPC 20 +#define EM_PPC64 21 +#define EM_S390 22 + +#define EM_V800 36 +#define EM_FR20 37 +#define EM_RH32 38 +#define EM_RCE 39 +#define EM_ARM 40 +#define EM_FAKE_ALPHA 41 +#define EM_SH 42 +#define EM_SPARCV9 43 +#define EM_TRICORE 44 +#define EM_ARC 45 +#define EM_H8_300 46 +#define EM_H8_300H 47 +#define EM_H8S 48 +#define EM_H8_500 49 +#define EM_IA_64 50 +#define EM_MIPS_X 51 +#define EM_COLDFIRE 52 +#define EM_68HC12 53 +#define EM_MMA 54 +#define EM_PCP 55 +#define EM_NCPU 56 +#define EM_NDR1 57 +#define EM_STARCORE 58 +#define EM_ME16 59 +#define EM_ST100 60 +#define EM_TINYJ 61 +#define EM_X86_64 62 +#define EM_PDSP 63 + +#define EM_FX66 66 +#define EM_ST9PLUS 67 +#define EM_ST7 68 +#define EM_68HC16 69 +#define EM_68HC11 70 +#define EM_68HC08 71 +#define EM_68HC05 72 +#define EM_SVX 73 +#define EM_ST19 74 +#define EM_VAX 75 +#define EM_CRIS 76 +#define EM_JAVELIN 77 +#define EM_FIREPATH 78 +#define EM_ZSP 79 +#define EM_MMIX 80 +#define EM_HUANY 81 +#define EM_PRISM 82 +#define EM_AVR 83 +#define EM_FR30 84 +#define EM_D10V 85 +#define EM_D30V 86 +#define EM_V850 87 +#define EM_M32R 88 +#define EM_MN10300 89 +#define EM_MN10200 90 +#define EM_PJ 91 +#define EM_OR1K 92 +#define EM_OPENRISC 92 +#define EM_ARC_A5 93 +#define EM_ARC_COMPACT 93 +#define EM_XTENSA 94 +#define EM_VIDEOCORE 95 +#define EM_TMM_GPP 96 +#define EM_NS32K 97 +#define EM_TPC 98 +#define EM_SNP1K 99 +#define EM_ST200 100 +#define EM_IP2K 101 +#define EM_MAX 102 +#define EM_CR 103 +#define EM_F2MC16 104 +#define EM_MSP430 105 +#define EM_BLACKFIN 106 +#define EM_SE_C33 107 +#define EM_SEP 108 +#define EM_ARCA 109 +#define EM_UNICORE 110 +#define EM_EXCESS 111 +#define EM_DXP 112 +#define EM_ALTERA_NIOS2 113 +#define EM_CRX 114 +#define EM_XGATE 115 +#define EM_C166 116 +#define EM_M16C 117 +#define EM_DSPIC30F 118 +#define EM_CE 119 +#define EM_M32C 120 +#define EM_TSK3000 131 +#define EM_RS08 132 +#define EM_SHARC 133 +#define EM_ECOG2 134 +#define EM_SCORE7 135 +#define EM_DSP24 136 +#define EM_VIDEOCORE3 137 +#define EM_LATTICEMICO32 138 +#define EM_SE_C17 139 +#define EM_TI_C6000 140 +#define EM_TI_C2000 141 +#define EM_TI_C5500 142 +#define EM_TI_ARP32 143 +#define EM_TI_PRU 144 +#define EM_MMDSP_PLUS 160 +#define EM_CYPRESS_M8C 161 +#define EM_R32C 162 +#define EM_TRIMEDIA 163 +#define EM_QDSP6 164 +#define EM_8051 165 +#define EM_STXP7X 166 +#define EM_NDS32 167 +#define EM_ECOG1X 168 +#define EM_MAXQ30 169 +#define EM_XIMO16 170 +#define EM_MANIK 171 +#define EM_CRAYNV2 172 +#define EM_RX 173 +#define EM_METAG 174 +#define EM_MCST_ELBRUS 175 +#define EM_ECOG16 176 +#define EM_CR16 177 +#define EM_ETPU 178 +#define EM_SLE9X 179 +#define EM_L10M 180 +#define EM_K10M 181 +#define EM_AARCH64 183 +#define EM_AVR32 185 +#define EM_STM8 186 +#define EM_TILE64 187 +#define EM_TILEPRO 188 +#define EM_MICROBLAZE 189 +#define EM_CUDA 190 +#define EM_TILEGX 191 +#define EM_CLOUDSHIELD 192 +#define EM_COREA_1ST 193 +#define EM_COREA_2ND 194 +#define EM_ARC_COMPACT2 195 +#define EM_OPEN8 196 +#define EM_RL78 197 +#define EM_VIDEOCORE5 198 +#define EM_78KOR 199 +#define EM_56800EX 200 +#define EM_BA1 201 +#define EM_BA2 202 +#define EM_XCORE 203 +#define EM_MCHP_PIC 204 +#define EM_KM32 210 +#define EM_KMX32 211 +#define EM_EMX16 212 +#define EM_EMX8 213 +#define EM_KVARC 214 +#define EM_CDP 215 +#define EM_COGE 216 +#define EM_COOL 217 +#define EM_NORC 218 +#define EM_CSR_KALIMBA 219 +#define EM_Z80 220 +#define EM_VISIUM 221 +#define EM_FT32 222 +#define EM_MOXIE 223 +#define EM_AMDGPU 224 +#define EM_RISCV 243 +#define EM_BPF 247 +#define EM_CSKY 252 +#define EM_LOONGARCH 258 +#define EM_NUM 259 + +#define EM_ALPHA 0x9026 + +#define EV_NONE 0 +#define EV_CURRENT 1 +#define EV_NUM 2 + +typedef struct { + Elf32_Word sh_name; + Elf32_Word sh_type; + Elf32_Word sh_flags; + Elf32_Addr sh_addr; + Elf32_Off sh_offset; + Elf32_Word sh_size; + Elf32_Word sh_link; + Elf32_Word sh_info; + Elf32_Word sh_addralign; + Elf32_Word sh_entsize; +} Elf32_Shdr; + +typedef struct { + Elf64_Word sh_name; + Elf64_Word sh_type; + Elf64_Xword sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + Elf64_Xword sh_size; + Elf64_Word sh_link; + Elf64_Word sh_info; + Elf64_Xword sh_addralign; + Elf64_Xword sh_entsize; +} Elf64_Shdr; + + + +#define SHN_UNDEF 0 +#define SHN_LORESERVE 0xff00 +#define SHN_LOPROC 0xff00 +#define SHN_BEFORE 0xff00 + +#define SHN_AFTER 0xff01 + +#define SHN_HIPROC 0xff1f +#define SHN_LOOS 0xff20 +#define SHN_HIOS 0xff3f +#define SHN_ABS 0xfff1 +#define SHN_COMMON 0xfff2 +#define SHN_XINDEX 0xffff +#define SHN_HIRESERVE 0xffff + + + +#define SHT_NULL 0 +#define SHT_PROGBITS 1 +#define SHT_SYMTAB 2 +#define SHT_STRTAB 3 +#define SHT_RELA 4 +#define SHT_HASH 5 +#define SHT_DYNAMIC 6 +#define SHT_NOTE 7 +#define SHT_NOBITS 8 +#define SHT_REL 9 +#define SHT_SHLIB 10 +#define SHT_DYNSYM 11 +#define SHT_INIT_ARRAY 14 +#define SHT_FINI_ARRAY 15 +#define SHT_PREINIT_ARRAY 16 +#define SHT_GROUP 17 +#define SHT_SYMTAB_SHNDX 18 +#define SHT_RELR 19 +#define SHT_NUM 20 +#define SHT_LOOS 0x60000000 +#define SHT_GNU_ATTRIBUTES 0x6ffffff5 +#define SHT_GNU_HASH 0x6ffffff6 +#define SHT_GNU_LIBLIST 0x6ffffff7 +#define SHT_CHECKSUM 0x6ffffff8 +#define SHT_LOSUNW 0x6ffffffa +#define SHT_SUNW_move 0x6ffffffa +#define SHT_SUNW_COMDAT 0x6ffffffb +#define SHT_SUNW_syminfo 0x6ffffffc +#define SHT_GNU_verdef 0x6ffffffd +#define SHT_GNU_verneed 0x6ffffffe +#define SHT_GNU_versym 0x6fffffff +#define SHT_HISUNW 0x6fffffff +#define SHT_HIOS 0x6fffffff +#define SHT_LOPROC 0x70000000 +#define SHT_HIPROC 0x7fffffff +#define SHT_LOUSER 0x80000000 +#define SHT_HIUSER 0x8fffffff + +#define SHF_WRITE (1 << 0) +#define SHF_ALLOC (1 << 1) +#define SHF_EXECINSTR (1 << 2) +#define SHF_MERGE (1 << 4) +#define SHF_STRINGS (1 << 5) +#define SHF_INFO_LINK (1 << 6) +#define SHF_LINK_ORDER (1 << 7) +#define SHF_OS_NONCONFORMING (1 << 8) + +#define SHF_GROUP (1 << 9) +#define SHF_TLS (1 << 10) +#define SHF_COMPRESSED (1 << 11) +#define SHF_MASKOS 0x0ff00000 +#define SHF_MASKPROC 0xf0000000 +#define SHF_ORDERED (1 << 30) +#define SHF_EXCLUDE (1U << 31) + +typedef struct { + Elf32_Word ch_type; + Elf32_Word ch_size; + Elf32_Word ch_addralign; +} Elf32_Chdr; + +typedef struct { + Elf64_Word ch_type; + Elf64_Word ch_reserved; + Elf64_Xword ch_size; + Elf64_Xword ch_addralign; +} Elf64_Chdr; + +#define ELFCOMPRESS_ZLIB 1 +#define ELFCOMPRESS_ZSTD 2 +#define ELFCOMPRESS_LOOS 0x60000000 +#define ELFCOMPRESS_HIOS 0x6fffffff +#define ELFCOMPRESS_LOPROC 0x70000000 +#define ELFCOMPRESS_HIPROC 0x7fffffff + + +#define GRP_COMDAT 0x1 + +typedef struct { + Elf32_Word st_name; + Elf32_Addr st_value; + Elf32_Word st_size; + unsigned char st_info; + unsigned char st_other; + Elf32_Section st_shndx; +} Elf32_Sym; + +typedef struct { + Elf64_Word st_name; + unsigned char st_info; + unsigned char st_other; + Elf64_Section st_shndx; + Elf64_Addr st_value; + Elf64_Xword st_size; +} Elf64_Sym; + +typedef struct { + Elf32_Half si_boundto; + Elf32_Half si_flags; +} Elf32_Syminfo; + +typedef struct { + Elf64_Half si_boundto; + Elf64_Half si_flags; +} Elf64_Syminfo; + +#define SYMINFO_BT_SELF 0xffff +#define SYMINFO_BT_PARENT 0xfffe +#define SYMINFO_BT_LOWRESERVE 0xff00 + +#define SYMINFO_FLG_DIRECT 0x0001 +#define SYMINFO_FLG_PASSTHRU 0x0002 +#define SYMINFO_FLG_COPY 0x0004 +#define SYMINFO_FLG_LAZYLOAD 0x0008 + +#define SYMINFO_NONE 0 +#define SYMINFO_CURRENT 1 +#define SYMINFO_NUM 2 + +#define ELF32_ST_BIND(val) (((unsigned char) (val)) >> 4) +#define ELF32_ST_TYPE(val) ((val) & 0xf) +#define ELF32_ST_INFO(bind, type) (((bind) << 4) + ((type) & 0xf)) + +#define ELF64_ST_BIND(val) ELF32_ST_BIND (val) +#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val) +#define ELF64_ST_INFO(bind, type) ELF32_ST_INFO ((bind), (type)) + +#define STB_LOCAL 0 +#define STB_GLOBAL 1 +#define STB_WEAK 2 +#define STB_NUM 3 +#define STB_LOOS 10 +#define STB_GNU_UNIQUE 10 +#define STB_HIOS 12 +#define STB_LOPROC 13 +#define STB_HIPROC 15 + +#define STT_NOTYPE 0 +#define STT_OBJECT 1 +#define STT_FUNC 2 +#define STT_SECTION 3 +#define STT_FILE 4 +#define STT_COMMON 5 +#define STT_TLS 6 +#define STT_NUM 7 +#define STT_LOOS 10 +#define STT_GNU_IFUNC 10 +#define STT_HIOS 12 +#define STT_LOPROC 13 +#define STT_HIPROC 15 + +#define STN_UNDEF 0 + +#define ELF32_ST_VISIBILITY(o) ((o) & 0x03) +#define ELF64_ST_VISIBILITY(o) ELF32_ST_VISIBILITY (o) + +#define STV_DEFAULT 0 +#define STV_INTERNAL 1 +#define STV_HIDDEN 2 +#define STV_PROTECTED 3 + + + + +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; +} Elf32_Rel; + +typedef struct { + Elf64_Addr r_offset; + Elf64_Xword r_info; +} Elf64_Rel; + + + +typedef struct { + Elf32_Addr r_offset; + Elf32_Word r_info; + Elf32_Sword r_addend; +} Elf32_Rela; + +typedef struct { + Elf64_Addr r_offset; + Elf64_Xword r_info; + Elf64_Sxword r_addend; +} Elf64_Rela; + + + +typedef Elf32_Word Elf32_Relr; +typedef Elf64_Xword Elf64_Relr; + + + +#define ELF32_R_SYM(val) ((val) >> 8) +#define ELF32_R_TYPE(val) ((val) & 0xff) +#define ELF32_R_INFO(sym, type) (((sym) << 8) + ((type) & 0xff)) + +#define ELF64_R_SYM(i) ((i) >> 32) +#define ELF64_R_TYPE(i) ((i) & 0xffffffff) +#define ELF64_R_INFO(sym,type) ((((Elf64_Xword) (sym)) << 32) + (type)) + + + +typedef struct { + Elf32_Word p_type; + Elf32_Off p_offset; + Elf32_Addr p_vaddr; + Elf32_Addr p_paddr; + Elf32_Word p_filesz; + Elf32_Word p_memsz; + Elf32_Word p_flags; + Elf32_Word p_align; +} Elf32_Phdr; + +typedef struct { + Elf64_Word p_type; + Elf64_Word p_flags; + Elf64_Off p_offset; + Elf64_Addr p_vaddr; + Elf64_Addr p_paddr; + Elf64_Xword p_filesz; + Elf64_Xword p_memsz; + Elf64_Xword p_align; +} Elf64_Phdr; + + + +#define PT_NULL 0 +#define PT_LOAD 1 +#define PT_DYNAMIC 2 +#define PT_INTERP 3 +#define PT_NOTE 4 +#define PT_SHLIB 5 +#define PT_PHDR 6 +#define PT_TLS 7 +#define PT_NUM 8 +#define PT_LOOS 0x60000000 +#define PT_GNU_EH_FRAME 0x6474e550 +#define PT_GNU_STACK 0x6474e551 +#define PT_GNU_RELRO 0x6474e552 +#define PT_GNU_PROPERTY 0x6474e553 +#define PT_LOSUNW 0x6ffffffa +#define PT_SUNWBSS 0x6ffffffa +#define PT_SUNWSTACK 0x6ffffffb +#define PT_HISUNW 0x6fffffff +#define PT_HIOS 0x6fffffff +#define PT_LOPROC 0x70000000 +#define PT_HIPROC 0x7fffffff + + +#define PN_XNUM 0xffff + + +#define PF_X (1 << 0) +#define PF_W (1 << 1) +#define PF_R (1 << 2) +#define PF_MASKOS 0x0ff00000 +#define PF_MASKPROC 0xf0000000 + + + +#define NT_PRSTATUS 1 +#define NT_PRFPREG 2 +#define NT_FPREGSET 2 +#define NT_PRPSINFO 3 +#define NT_PRXREG 4 +#define NT_TASKSTRUCT 4 +#define NT_PLATFORM 5 +#define NT_AUXV 6 +#define NT_GWINDOWS 7 +#define NT_ASRS 8 +#define NT_PSTATUS 10 +#define NT_PSINFO 13 +#define NT_PRCRED 14 +#define NT_UTSNAME 15 +#define NT_LWPSTATUS 16 +#define NT_LWPSINFO 17 +#define NT_PRFPXREG 20 +#define NT_SIGINFO 0x53494749 +#define NT_FILE 0x46494c45 +#define NT_PRXFPREG 0x46e62b7f +#define NT_PPC_VMX 0x100 +#define NT_PPC_SPE 0x101 +#define NT_PPC_VSX 0x102 +#define NT_PPC_TAR 0x103 +#define NT_PPC_PPR 0x104 +#define NT_PPC_DSCR 0x105 +#define NT_PPC_EBB 0x106 +#define NT_PPC_PMU 0x107 +#define NT_PPC_TM_CGPR 0x108 +#define NT_PPC_TM_CFPR 0x109 +#define NT_PPC_TM_CVMX 0x10a +#define NT_PPC_TM_CVSX 0x10b +#define NT_PPC_TM_SPR 0x10c +#define NT_PPC_TM_CTAR 0x10d +#define NT_PPC_TM_CPPR 0x10e +#define NT_PPC_TM_CDSCR 0x10f +#define NT_386_TLS 0x200 +#define NT_386_IOPERM 0x201 +#define NT_X86_XSTATE 0x202 +#define NT_S390_HIGH_GPRS 0x300 +#define NT_S390_TIMER 0x301 +#define NT_S390_TODCMP 0x302 +#define NT_S390_TODPREG 0x303 +#define NT_S390_CTRS 0x304 +#define NT_S390_PREFIX 0x305 +#define NT_S390_LAST_BREAK 0x306 +#define NT_S390_SYSTEM_CALL 0x307 +#define NT_S390_TDB 0x308 +#define NT_S390_VXRS_LOW 0x309 +#define NT_S390_VXRS_HIGH 0x30a +#define NT_S390_GS_CB 0x30b +#define NT_S390_GS_BC 0x30c +#define NT_S390_RI_CB 0x30d +#define NT_ARM_VFP 0x400 +#define NT_ARM_TLS 0x401 +#define NT_ARM_HW_BREAK 0x402 +#define NT_ARM_HW_WATCH 0x403 +#define NT_ARM_SYSTEM_CALL 0x404 +#define NT_ARM_SVE 0x405 +#define NT_ARM_PAC_MASK 0x406 +#define NT_ARM_PACA_KEYS 0x407 +#define NT_ARM_PACG_KEYS 0x408 +#define NT_ARM_TAGGED_ADDR_CTRL 0x409 +#define NT_ARM_PAC_ENABLED_KEYS 0x40a +#define NT_METAG_CBUF 0x500 +#define NT_METAG_RPIPE 0x501 +#define NT_METAG_TLS 0x502 +#define NT_ARC_V2 0x600 +#define NT_VMCOREDD 0x700 +#define NT_MIPS_DSP 0x800 +#define NT_MIPS_FP_MODE 0x801 +#define NT_MIPS_MSA 0x802 +#define NT_RISCV_CSR 0x900 +#define NT_RISCV_VECTOR 0x901 +#define NT_VERSION 1 +#define NT_LOONGARCH_CPUCFG 0xa00 +#define NT_LOONGARCH_CSR 0xa01 +#define NT_LOONGARCH_LSX 0xa02 +#define NT_LOONGARCH_LASX 0xa03 +#define NT_LOONGARCH_LBT 0xa04 + + + + +typedef struct { + Elf32_Sword d_tag; + union { + Elf32_Word d_val; + Elf32_Addr d_ptr; + } d_un; +} Elf32_Dyn; + +typedef struct { + Elf64_Sxword d_tag; + union { + Elf64_Xword d_val; + Elf64_Addr d_ptr; + } d_un; +} Elf64_Dyn; + + + +#define DT_NULL 0 +#define DT_NEEDED 1 +#define DT_PLTRELSZ 2 +#define DT_PLTGOT 3 +#define DT_HASH 4 +#define DT_STRTAB 5 +#define DT_SYMTAB 6 +#define DT_RELA 7 +#define DT_RELASZ 8 +#define DT_RELAENT 9 +#define DT_STRSZ 10 +#define DT_SYMENT 11 +#define DT_INIT 12 +#define DT_FINI 13 +#define DT_SONAME 14 +#define DT_RPATH 15 +#define DT_SYMBOLIC 16 +#define DT_REL 17 +#define DT_RELSZ 18 +#define DT_RELENT 19 +#define DT_PLTREL 20 +#define DT_DEBUG 21 +#define DT_TEXTREL 22 +#define DT_JMPREL 23 +#define DT_BIND_NOW 24 +#define DT_INIT_ARRAY 25 +#define DT_FINI_ARRAY 26 +#define DT_INIT_ARRAYSZ 27 +#define DT_FINI_ARRAYSZ 28 +#define DT_RUNPATH 29 +#define DT_FLAGS 30 +#define DT_ENCODING 32 +#define DT_PREINIT_ARRAY 32 +#define DT_PREINIT_ARRAYSZ 33 +#define DT_SYMTAB_SHNDX 34 +#define DT_RELRSZ 35 +#define DT_RELR 36 +#define DT_RELRENT 37 +#define DT_NUM 38 +#define DT_LOOS 0x6000000d +#define DT_HIOS 0x6ffff000 +#define DT_LOPROC 0x70000000 +#define DT_HIPROC 0x7fffffff +#define DT_PROCNUM DT_MIPS_NUM + +#define DT_VALRNGLO 0x6ffffd00 +#define DT_GNU_PRELINKED 0x6ffffdf5 +#define DT_GNU_CONFLICTSZ 0x6ffffdf6 +#define DT_GNU_LIBLISTSZ 0x6ffffdf7 +#define DT_CHECKSUM 0x6ffffdf8 +#define DT_PLTPADSZ 0x6ffffdf9 +#define DT_MOVEENT 0x6ffffdfa +#define DT_MOVESZ 0x6ffffdfb +#define DT_FEATURE_1 0x6ffffdfc +#define DT_POSFLAG_1 0x6ffffdfd + +#define DT_SYMINSZ 0x6ffffdfe +#define DT_SYMINENT 0x6ffffdff +#define DT_VALRNGHI 0x6ffffdff +#define DT_VALTAGIDX(tag) (DT_VALRNGHI - (tag)) +#define DT_VALNUM 12 + +#define DT_ADDRRNGLO 0x6ffffe00 +#define DT_GNU_HASH 0x6ffffef5 +#define DT_TLSDESC_PLT 0x6ffffef6 +#define DT_TLSDESC_GOT 0x6ffffef7 +#define DT_GNU_CONFLICT 0x6ffffef8 +#define DT_GNU_LIBLIST 0x6ffffef9 +#define DT_CONFIG 0x6ffffefa +#define DT_DEPAUDIT 0x6ffffefb +#define DT_AUDIT 0x6ffffefc +#define DT_PLTPAD 0x6ffffefd +#define DT_MOVETAB 0x6ffffefe +#define DT_SYMINFO 0x6ffffeff +#define DT_ADDRRNGHI 0x6ffffeff +#define DT_ADDRTAGIDX(tag) (DT_ADDRRNGHI - (tag)) +#define DT_ADDRNUM 11 + + + +#define DT_VERSYM 0x6ffffff0 + +#define DT_RELACOUNT 0x6ffffff9 +#define DT_RELCOUNT 0x6ffffffa + + +#define DT_FLAGS_1 0x6ffffffb +#define DT_VERDEF 0x6ffffffc + +#define DT_VERDEFNUM 0x6ffffffd +#define DT_VERNEED 0x6ffffffe + +#define DT_VERNEEDNUM 0x6fffffff +#define DT_VERSIONTAGIDX(tag) (DT_VERNEEDNUM - (tag)) +#define DT_VERSIONTAGNUM 16 + + + +#define DT_AUXILIARY 0x7ffffffd +#define DT_FILTER 0x7fffffff +#define DT_EXTRATAGIDX(tag) ((Elf32_Word)-((Elf32_Sword) (tag) <<1>>1)-1) +#define DT_EXTRANUM 3 + + +#define DF_ORIGIN 0x00000001 +#define DF_SYMBOLIC 0x00000002 +#define DF_TEXTREL 0x00000004 +#define DF_BIND_NOW 0x00000008 +#define DF_STATIC_TLS 0x00000010 + + + +#define DF_1_NOW 0x00000001 +#define DF_1_GLOBAL 0x00000002 +#define DF_1_GROUP 0x00000004 +#define DF_1_NODELETE 0x00000008 +#define DF_1_LOADFLTR 0x00000010 +#define DF_1_INITFIRST 0x00000020 +#define DF_1_NOOPEN 0x00000040 +#define DF_1_ORIGIN 0x00000080 +#define DF_1_DIRECT 0x00000100 +#define DF_1_TRANS 0x00000200 +#define DF_1_INTERPOSE 0x00000400 +#define DF_1_NODEFLIB 0x00000800 +#define DF_1_NODUMP 0x00001000 +#define DF_1_CONFALT 0x00002000 +#define DF_1_ENDFILTEE 0x00004000 +#define DF_1_DISPRELDNE 0x00008000 +#define DF_1_DISPRELPND 0x00010000 +#define DF_1_NODIRECT 0x00020000 +#define DF_1_IGNMULDEF 0x00040000 +#define DF_1_NOKSYMS 0x00080000 +#define DF_1_NOHDR 0x00100000 +#define DF_1_EDITED 0x00200000 +#define DF_1_NORELOC 0x00400000 +#define DF_1_SYMINTPOSE 0x00800000 +#define DF_1_GLOBAUDIT 0x01000000 +#define DF_1_SINGLETON 0x02000000 +#define DF_1_STUB 0x04000000 +#define DF_1_PIE 0x08000000 + +#define DTF_1_PARINIT 0x00000001 +#define DTF_1_CONFEXP 0x00000002 + + +#define DF_P1_LAZYLOAD 0x00000001 +#define DF_P1_GROUPPERM 0x00000002 + + + + +typedef struct { + Elf32_Half vd_version; + Elf32_Half vd_flags; + Elf32_Half vd_ndx; + Elf32_Half vd_cnt; + Elf32_Word vd_hash; + Elf32_Word vd_aux; + Elf32_Word vd_next; +} Elf32_Verdef; + +typedef struct { + Elf64_Half vd_version; + Elf64_Half vd_flags; + Elf64_Half vd_ndx; + Elf64_Half vd_cnt; + Elf64_Word vd_hash; + Elf64_Word vd_aux; + Elf64_Word vd_next; +} Elf64_Verdef; + + + +#define VER_DEF_NONE 0 +#define VER_DEF_CURRENT 1 +#define VER_DEF_NUM 2 + + +#define VER_FLG_BASE 0x1 +#define VER_FLG_WEAK 0x2 + + +#define VER_NDX_LOCAL 0 +#define VER_NDX_GLOBAL 1 +#define VER_NDX_LORESERVE 0xff00 +#define VER_NDX_ELIMINATE 0xff01 + + + +typedef struct { + Elf32_Word vda_name; + Elf32_Word vda_next; +} Elf32_Verdaux; + +typedef struct { + Elf64_Word vda_name; + Elf64_Word vda_next; +} Elf64_Verdaux; + + + + +typedef struct { + Elf32_Half vn_version; + Elf32_Half vn_cnt; + Elf32_Word vn_file; + Elf32_Word vn_aux; + Elf32_Word vn_next; +} Elf32_Verneed; + +typedef struct { + Elf64_Half vn_version; + Elf64_Half vn_cnt; + Elf64_Word vn_file; + Elf64_Word vn_aux; + Elf64_Word vn_next; +} Elf64_Verneed; + + + +#define VER_NEED_NONE 0 +#define VER_NEED_CURRENT 1 +#define VER_NEED_NUM 2 + + + +typedef struct { + Elf32_Word vna_hash; + Elf32_Half vna_flags; + Elf32_Half vna_other; + Elf32_Word vna_name; + Elf32_Word vna_next; +} Elf32_Vernaux; + +typedef struct { + Elf64_Word vna_hash; + Elf64_Half vna_flags; + Elf64_Half vna_other; + Elf64_Word vna_name; + Elf64_Word vna_next; +} Elf64_Vernaux; + + + +#define VER_FLG_WEAK 0x2 + + + +typedef struct { + uint32_t a_type; + union { + uint32_t a_val; + } a_un; +} Elf32_auxv_t; + +typedef struct { + uint64_t a_type; + union { + uint64_t a_val; + } a_un; +} Elf64_auxv_t; + + + +#define AT_NULL 0 +#define AT_IGNORE 1 +#define AT_EXECFD 2 +#define AT_PHDR 3 +#define AT_PHENT 4 +#define AT_PHNUM 5 +#define AT_PAGESZ 6 +#define AT_BASE 7 +#define AT_FLAGS 8 +#define AT_ENTRY 9 +#define AT_NOTELF 10 +#define AT_UID 11 +#define AT_EUID 12 +#define AT_GID 13 +#define AT_EGID 14 +#define AT_CLKTCK 17 + + +#define AT_PLATFORM 15 +#define AT_HWCAP 16 + + + + +#define AT_FPUCW 18 + + +#define AT_DCACHEBSIZE 19 +#define AT_ICACHEBSIZE 20 +#define AT_UCACHEBSIZE 21 + + + +#define AT_IGNOREPPC 22 + +#define AT_SECURE 23 + +#define AT_BASE_PLATFORM 24 + +#define AT_RANDOM 25 + +#define AT_HWCAP2 26 + +#define AT_EXECFN 31 + + + +#define AT_SYSINFO 32 +#define AT_SYSINFO_EHDR 33 + + + +#define AT_L1I_CACHESHAPE 34 +#define AT_L1D_CACHESHAPE 35 +#define AT_L2_CACHESHAPE 36 +#define AT_L3_CACHESHAPE 37 + +#define AT_L1I_CACHESIZE 40 +#define AT_L1I_CACHEGEOMETRY 41 +#define AT_L1D_CACHESIZE 42 +#define AT_L1D_CACHEGEOMETRY 43 +#define AT_L2_CACHESIZE 44 +#define AT_L2_CACHEGEOMETRY 45 +#define AT_L3_CACHESIZE 46 +#define AT_L3_CACHEGEOMETRY 47 + +#define AT_MINSIGSTKSZ 51 + + +typedef struct { + Elf32_Word n_namesz; + Elf32_Word n_descsz; + Elf32_Word n_type; +} Elf32_Nhdr; + +typedef struct { + Elf64_Word n_namesz; + Elf64_Word n_descsz; + Elf64_Word n_type; +} Elf64_Nhdr; + + + + +#define ELF_NOTE_SOLARIS "SUNW Solaris" + + +#define ELF_NOTE_GNU "GNU" + + + + + +#define ELF_NOTE_PAGESIZE_HINT 1 + + +#define NT_GNU_ABI_TAG 1 +#define ELF_NOTE_ABI NT_GNU_ABI_TAG + + + +#define ELF_NOTE_OS_LINUX 0 +#define ELF_NOTE_OS_GNU 1 +#define ELF_NOTE_OS_SOLARIS2 2 +#define ELF_NOTE_OS_FREEBSD 3 + +#define NT_GNU_BUILD_ID 3 +#define NT_GNU_GOLD_VERSION 4 +#define NT_GNU_PROPERTY_TYPE_0 5 + + + +typedef struct { + Elf32_Xword m_value; + Elf32_Word m_info; + Elf32_Word m_poffset; + Elf32_Half m_repeat; + Elf32_Half m_stride; +} Elf32_Move; + +typedef struct { + Elf64_Xword m_value; + Elf64_Xword m_info; + Elf64_Xword m_poffset; + Elf64_Half m_repeat; + Elf64_Half m_stride; +} Elf64_Move; + + +#define ELF32_M_SYM(info) ((info) >> 8) +#define ELF32_M_SIZE(info) ((unsigned char) (info)) +#define ELF32_M_INFO(sym, size) (((sym) << 8) + (unsigned char) (size)) + +#define ELF64_M_SYM(info) ELF32_M_SYM (info) +#define ELF64_M_SIZE(info) ELF32_M_SIZE (info) +#define ELF64_M_INFO(sym, size) ELF32_M_INFO (sym, size) + +#define EF_CPU32 0x00810000 + +#define R_68K_NONE 0 +#define R_68K_32 1 +#define R_68K_16 2 +#define R_68K_8 3 +#define R_68K_PC32 4 +#define R_68K_PC16 5 +#define R_68K_PC8 6 +#define R_68K_GOT32 7 +#define R_68K_GOT16 8 +#define R_68K_GOT8 9 +#define R_68K_GOT32O 10 +#define R_68K_GOT16O 11 +#define R_68K_GOT8O 12 +#define R_68K_PLT32 13 +#define R_68K_PLT16 14 +#define R_68K_PLT8 15 +#define R_68K_PLT32O 16 +#define R_68K_PLT16O 17 +#define R_68K_PLT8O 18 +#define R_68K_COPY 19 +#define R_68K_GLOB_DAT 20 +#define R_68K_JMP_SLOT 21 +#define R_68K_RELATIVE 22 +#define R_68K_TLS_GD32 25 +#define R_68K_TLS_GD16 26 +#define R_68K_TLS_GD8 27 +#define R_68K_TLS_LDM32 28 +#define R_68K_TLS_LDM16 29 +#define R_68K_TLS_LDM8 30 +#define R_68K_TLS_LDO32 31 +#define R_68K_TLS_LDO16 32 +#define R_68K_TLS_LDO8 33 +#define R_68K_TLS_IE32 34 +#define R_68K_TLS_IE16 35 +#define R_68K_TLS_IE8 36 +#define R_68K_TLS_LE32 37 +#define R_68K_TLS_LE16 38 +#define R_68K_TLS_LE8 39 +#define R_68K_TLS_DTPMOD32 40 +#define R_68K_TLS_DTPREL32 41 +#define R_68K_TLS_TPREL32 42 +#define R_68K_NUM 43 + +#define R_386_NONE 0 +#define R_386_32 1 +#define R_386_PC32 2 +#define R_386_GOT32 3 +#define R_386_PLT32 4 +#define R_386_COPY 5 +#define R_386_GLOB_DAT 6 +#define R_386_JMP_SLOT 7 +#define R_386_RELATIVE 8 +#define R_386_GOTOFF 9 +#define R_386_GOTPC 10 +#define R_386_32PLT 11 +#define R_386_TLS_TPOFF 14 +#define R_386_TLS_IE 15 +#define R_386_TLS_GOTIE 16 +#define R_386_TLS_LE 17 +#define R_386_TLS_GD 18 +#define R_386_TLS_LDM 19 +#define R_386_16 20 +#define R_386_PC16 21 +#define R_386_8 22 +#define R_386_PC8 23 +#define R_386_TLS_GD_32 24 +#define R_386_TLS_GD_PUSH 25 +#define R_386_TLS_GD_CALL 26 +#define R_386_TLS_GD_POP 27 +#define R_386_TLS_LDM_32 28 +#define R_386_TLS_LDM_PUSH 29 +#define R_386_TLS_LDM_CALL 30 +#define R_386_TLS_LDM_POP 31 +#define R_386_TLS_LDO_32 32 +#define R_386_TLS_IE_32 33 +#define R_386_TLS_LE_32 34 +#define R_386_TLS_DTPMOD32 35 +#define R_386_TLS_DTPOFF32 36 +#define R_386_TLS_TPOFF32 37 +#define R_386_SIZE32 38 +#define R_386_TLS_GOTDESC 39 +#define R_386_TLS_DESC_CALL 40 +#define R_386_TLS_DESC 41 +#define R_386_IRELATIVE 42 +#define R_386_GOT32X 43 +#define R_386_NUM 44 + + + + + +#define STT_SPARC_REGISTER 13 + + + +#define EF_SPARCV9_MM 3 +#define EF_SPARCV9_TSO 0 +#define EF_SPARCV9_PSO 1 +#define EF_SPARCV9_RMO 2 +#define EF_SPARC_LEDATA 0x800000 +#define EF_SPARC_EXT_MASK 0xFFFF00 +#define EF_SPARC_32PLUS 0x000100 +#define EF_SPARC_SUN_US1 0x000200 +#define EF_SPARC_HAL_R1 0x000400 +#define EF_SPARC_SUN_US3 0x000800 + + + +#define R_SPARC_NONE 0 +#define R_SPARC_8 1 +#define R_SPARC_16 2 +#define R_SPARC_32 3 +#define R_SPARC_DISP8 4 +#define R_SPARC_DISP16 5 +#define R_SPARC_DISP32 6 +#define R_SPARC_WDISP30 7 +#define R_SPARC_WDISP22 8 +#define R_SPARC_HI22 9 +#define R_SPARC_22 10 +#define R_SPARC_13 11 +#define R_SPARC_LO10 12 +#define R_SPARC_GOT10 13 +#define R_SPARC_GOT13 14 +#define R_SPARC_GOT22 15 +#define R_SPARC_PC10 16 +#define R_SPARC_PC22 17 +#define R_SPARC_WPLT30 18 +#define R_SPARC_COPY 19 +#define R_SPARC_GLOB_DAT 20 +#define R_SPARC_JMP_SLOT 21 +#define R_SPARC_RELATIVE 22 +#define R_SPARC_UA32 23 + + + +#define R_SPARC_PLT32 24 +#define R_SPARC_HIPLT22 25 +#define R_SPARC_LOPLT10 26 +#define R_SPARC_PCPLT32 27 +#define R_SPARC_PCPLT22 28 +#define R_SPARC_PCPLT10 29 +#define R_SPARC_10 30 +#define R_SPARC_11 31 +#define R_SPARC_64 32 +#define R_SPARC_OLO10 33 +#define R_SPARC_HH22 34 +#define R_SPARC_HM10 35 +#define R_SPARC_LM22 36 +#define R_SPARC_PC_HH22 37 +#define R_SPARC_PC_HM10 38 +#define R_SPARC_PC_LM22 39 +#define R_SPARC_WDISP16 40 +#define R_SPARC_WDISP19 41 +#define R_SPARC_GLOB_JMP 42 +#define R_SPARC_7 43 +#define R_SPARC_5 44 +#define R_SPARC_6 45 +#define R_SPARC_DISP64 46 +#define R_SPARC_PLT64 47 +#define R_SPARC_HIX22 48 +#define R_SPARC_LOX10 49 +#define R_SPARC_H44 50 +#define R_SPARC_M44 51 +#define R_SPARC_L44 52 +#define R_SPARC_REGISTER 53 +#define R_SPARC_UA64 54 +#define R_SPARC_UA16 55 +#define R_SPARC_TLS_GD_HI22 56 +#define R_SPARC_TLS_GD_LO10 57 +#define R_SPARC_TLS_GD_ADD 58 +#define R_SPARC_TLS_GD_CALL 59 +#define R_SPARC_TLS_LDM_HI22 60 +#define R_SPARC_TLS_LDM_LO10 61 +#define R_SPARC_TLS_LDM_ADD 62 +#define R_SPARC_TLS_LDM_CALL 63 +#define R_SPARC_TLS_LDO_HIX22 64 +#define R_SPARC_TLS_LDO_LOX10 65 +#define R_SPARC_TLS_LDO_ADD 66 +#define R_SPARC_TLS_IE_HI22 67 +#define R_SPARC_TLS_IE_LO10 68 +#define R_SPARC_TLS_IE_LD 69 +#define R_SPARC_TLS_IE_LDX 70 +#define R_SPARC_TLS_IE_ADD 71 +#define R_SPARC_TLS_LE_HIX22 72 +#define R_SPARC_TLS_LE_LOX10 73 +#define R_SPARC_TLS_DTPMOD32 74 +#define R_SPARC_TLS_DTPMOD64 75 +#define R_SPARC_TLS_DTPOFF32 76 +#define R_SPARC_TLS_DTPOFF64 77 +#define R_SPARC_TLS_TPOFF32 78 +#define R_SPARC_TLS_TPOFF64 79 +#define R_SPARC_GOTDATA_HIX22 80 +#define R_SPARC_GOTDATA_LOX10 81 +#define R_SPARC_GOTDATA_OP_HIX22 82 +#define R_SPARC_GOTDATA_OP_LOX10 83 +#define R_SPARC_GOTDATA_OP 84 +#define R_SPARC_H34 85 +#define R_SPARC_SIZE32 86 +#define R_SPARC_SIZE64 87 +#define R_SPARC_GNU_VTINHERIT 250 +#define R_SPARC_GNU_VTENTRY 251 +#define R_SPARC_REV32 252 + +#define R_SPARC_NUM 253 + + + +#define DT_SPARC_REGISTER 0x70000001 +#define DT_SPARC_NUM 2 + + +#define EF_MIPS_NOREORDER 1 +#define EF_MIPS_PIC 2 +#define EF_MIPS_CPIC 4 +#define EF_MIPS_XGOT 8 +#define EF_MIPS_64BIT_WHIRL 16 +#define EF_MIPS_ABI2 32 +#define EF_MIPS_ABI_ON32 64 +#define EF_MIPS_FP64 512 +#define EF_MIPS_NAN2008 1024 +#define EF_MIPS_ARCH 0xf0000000 + + + +#define EF_MIPS_ARCH_1 0x00000000 +#define EF_MIPS_ARCH_2 0x10000000 +#define EF_MIPS_ARCH_3 0x20000000 +#define EF_MIPS_ARCH_4 0x30000000 +#define EF_MIPS_ARCH_5 0x40000000 +#define EF_MIPS_ARCH_32 0x50000000 +#define EF_MIPS_ARCH_64 0x60000000 +#define EF_MIPS_ARCH_32R2 0x70000000 +#define EF_MIPS_ARCH_64R2 0x80000000 + + +#define E_MIPS_ARCH_1 0x00000000 +#define E_MIPS_ARCH_2 0x10000000 +#define E_MIPS_ARCH_3 0x20000000 +#define E_MIPS_ARCH_4 0x30000000 +#define E_MIPS_ARCH_5 0x40000000 +#define E_MIPS_ARCH_32 0x50000000 +#define E_MIPS_ARCH_64 0x60000000 + + + +#define SHN_MIPS_ACOMMON 0xff00 +#define SHN_MIPS_TEXT 0xff01 +#define SHN_MIPS_DATA 0xff02 +#define SHN_MIPS_SCOMMON 0xff03 +#define SHN_MIPS_SUNDEFINED 0xff04 + + + +#define SHT_MIPS_LIBLIST 0x70000000 +#define SHT_MIPS_MSYM 0x70000001 +#define SHT_MIPS_CONFLICT 0x70000002 +#define SHT_MIPS_GPTAB 0x70000003 +#define SHT_MIPS_UCODE 0x70000004 +#define SHT_MIPS_DEBUG 0x70000005 +#define SHT_MIPS_REGINFO 0x70000006 +#define SHT_MIPS_PACKAGE 0x70000007 +#define SHT_MIPS_PACKSYM 0x70000008 +#define SHT_MIPS_RELD 0x70000009 +#define SHT_MIPS_IFACE 0x7000000b +#define SHT_MIPS_CONTENT 0x7000000c +#define SHT_MIPS_OPTIONS 0x7000000d +#define SHT_MIPS_SHDR 0x70000010 +#define SHT_MIPS_FDESC 0x70000011 +#define SHT_MIPS_EXTSYM 0x70000012 +#define SHT_MIPS_DENSE 0x70000013 +#define SHT_MIPS_PDESC 0x70000014 +#define SHT_MIPS_LOCSYM 0x70000015 +#define SHT_MIPS_AUXSYM 0x70000016 +#define SHT_MIPS_OPTSYM 0x70000017 +#define SHT_MIPS_LOCSTR 0x70000018 +#define SHT_MIPS_LINE 0x70000019 +#define SHT_MIPS_RFDESC 0x7000001a +#define SHT_MIPS_DELTASYM 0x7000001b +#define SHT_MIPS_DELTAINST 0x7000001c +#define SHT_MIPS_DELTACLASS 0x7000001d +#define SHT_MIPS_DWARF 0x7000001e +#define SHT_MIPS_DELTADECL 0x7000001f +#define SHT_MIPS_SYMBOL_LIB 0x70000020 +#define SHT_MIPS_EVENTS 0x70000021 +#define SHT_MIPS_TRANSLATE 0x70000022 +#define SHT_MIPS_PIXIE 0x70000023 +#define SHT_MIPS_XLATE 0x70000024 +#define SHT_MIPS_XLATE_DEBUG 0x70000025 +#define SHT_MIPS_WHIRL 0x70000026 +#define SHT_MIPS_EH_REGION 0x70000027 +#define SHT_MIPS_XLATE_OLD 0x70000028 +#define SHT_MIPS_PDR_EXCEPTION 0x70000029 + + + +#define SHF_MIPS_GPREL 0x10000000 +#define SHF_MIPS_MERGE 0x20000000 +#define SHF_MIPS_ADDR 0x40000000 +#define SHF_MIPS_STRINGS 0x80000000 +#define SHF_MIPS_NOSTRIP 0x08000000 +#define SHF_MIPS_LOCAL 0x04000000 +#define SHF_MIPS_NAMES 0x02000000 +#define SHF_MIPS_NODUPE 0x01000000 + + + + + +#define STO_MIPS_DEFAULT 0x0 +#define STO_MIPS_INTERNAL 0x1 +#define STO_MIPS_HIDDEN 0x2 +#define STO_MIPS_PROTECTED 0x3 +#define STO_MIPS_PLT 0x8 +#define STO_MIPS_SC_ALIGN_UNUSED 0xff + + +#define STB_MIPS_SPLIT_COMMON 13 + + + +typedef union { + struct { + Elf32_Word gt_current_g_value; + Elf32_Word gt_unused; + } gt_header; + struct { + Elf32_Word gt_g_value; + Elf32_Word gt_bytes; + } gt_entry; +} Elf32_gptab; + + + +typedef struct { + Elf32_Word ri_gprmask; + Elf32_Word ri_cprmask[4]; + Elf32_Sword ri_gp_value; +} Elf32_RegInfo; + + + +typedef struct { + unsigned char kind; + + unsigned char size; + Elf32_Section section; + + Elf32_Word info; +} Elf_Options; + + + +#define ODK_NULL 0 +#define ODK_REGINFO 1 +#define ODK_EXCEPTIONS 2 +#define ODK_PAD 3 +#define ODK_HWPATCH 4 +#define ODK_FILL 5 +#define ODK_TAGS 6 +#define ODK_HWAND 7 +#define ODK_HWOR 8 + + + +#define OEX_FPU_MIN 0x1f +#define OEX_FPU_MAX 0x1f00 +#define OEX_PAGE0 0x10000 +#define OEX_SMM 0x20000 +#define OEX_FPDBUG 0x40000 +#define OEX_PRECISEFP OEX_FPDBUG +#define OEX_DISMISS 0x80000 + +#define OEX_FPU_INVAL 0x10 +#define OEX_FPU_DIV0 0x08 +#define OEX_FPU_OFLO 0x04 +#define OEX_FPU_UFLO 0x02 +#define OEX_FPU_INEX 0x01 + + + +#define OHW_R4KEOP 0x1 +#define OHW_R8KPFETCH 0x2 +#define OHW_R5KEOP 0x4 +#define OHW_R5KCVTL 0x8 + +#define OPAD_PREFIX 0x1 +#define OPAD_POSTFIX 0x2 +#define OPAD_SYMBOL 0x4 + + + +typedef struct { + Elf32_Word hwp_flags1; + Elf32_Word hwp_flags2; +} Elf_Options_Hw; + + + +#define OHWA0_R4KEOP_CHECKED 0x00000001 +#define OHWA1_R4KEOP_CLEAN 0x00000002 + + + +#define R_MIPS_NONE 0 +#define R_MIPS_16 1 +#define R_MIPS_32 2 +#define R_MIPS_REL32 3 +#define R_MIPS_26 4 +#define R_MIPS_HI16 5 +#define R_MIPS_LO16 6 +#define R_MIPS_GPREL16 7 +#define R_MIPS_LITERAL 8 +#define R_MIPS_GOT16 9 +#define R_MIPS_PC16 10 +#define R_MIPS_CALL16 11 +#define R_MIPS_GPREL32 12 + +#define R_MIPS_SHIFT5 16 +#define R_MIPS_SHIFT6 17 +#define R_MIPS_64 18 +#define R_MIPS_GOT_DISP 19 +#define R_MIPS_GOT_PAGE 20 +#define R_MIPS_GOT_OFST 21 +#define R_MIPS_GOT_HI16 22 +#define R_MIPS_GOT_LO16 23 +#define R_MIPS_SUB 24 +#define R_MIPS_INSERT_A 25 +#define R_MIPS_INSERT_B 26 +#define R_MIPS_DELETE 27 +#define R_MIPS_HIGHER 28 +#define R_MIPS_HIGHEST 29 +#define R_MIPS_CALL_HI16 30 +#define R_MIPS_CALL_LO16 31 +#define R_MIPS_SCN_DISP 32 +#define R_MIPS_REL16 33 +#define R_MIPS_ADD_IMMEDIATE 34 +#define R_MIPS_PJUMP 35 +#define R_MIPS_RELGOT 36 +#define R_MIPS_JALR 37 +#define R_MIPS_TLS_DTPMOD32 38 +#define R_MIPS_TLS_DTPREL32 39 +#define R_MIPS_TLS_DTPMOD64 40 +#define R_MIPS_TLS_DTPREL64 41 +#define R_MIPS_TLS_GD 42 +#define R_MIPS_TLS_LDM 43 +#define R_MIPS_TLS_DTPREL_HI16 44 +#define R_MIPS_TLS_DTPREL_LO16 45 +#define R_MIPS_TLS_GOTTPREL 46 +#define R_MIPS_TLS_TPREL32 47 +#define R_MIPS_TLS_TPREL64 48 +#define R_MIPS_TLS_TPREL_HI16 49 +#define R_MIPS_TLS_TPREL_LO16 50 +#define R_MIPS_GLOB_DAT 51 +#define R_MIPS_COPY 126 +#define R_MIPS_JUMP_SLOT 127 + +#define R_MIPS_NUM 128 + + + +#define PT_MIPS_REGINFO 0x70000000 +#define PT_MIPS_RTPROC 0x70000001 +#define PT_MIPS_OPTIONS 0x70000002 +#define PT_MIPS_ABIFLAGS 0x70000003 + + + +#define PF_MIPS_LOCAL 0x10000000 + + + +#define DT_MIPS_RLD_VERSION 0x70000001 +#define DT_MIPS_TIME_STAMP 0x70000002 +#define DT_MIPS_ICHECKSUM 0x70000003 +#define DT_MIPS_IVERSION 0x70000004 +#define DT_MIPS_FLAGS 0x70000005 +#define DT_MIPS_BASE_ADDRESS 0x70000006 +#define DT_MIPS_MSYM 0x70000007 +#define DT_MIPS_CONFLICT 0x70000008 +#define DT_MIPS_LIBLIST 0x70000009 +#define DT_MIPS_LOCAL_GOTNO 0x7000000a +#define DT_MIPS_CONFLICTNO 0x7000000b +#define DT_MIPS_LIBLISTNO 0x70000010 +#define DT_MIPS_SYMTABNO 0x70000011 +#define DT_MIPS_UNREFEXTNO 0x70000012 +#define DT_MIPS_GOTSYM 0x70000013 +#define DT_MIPS_HIPAGENO 0x70000014 +#define DT_MIPS_RLD_MAP 0x70000016 +#define DT_MIPS_DELTA_CLASS 0x70000017 +#define DT_MIPS_DELTA_CLASS_NO 0x70000018 + +#define DT_MIPS_DELTA_INSTANCE 0x70000019 +#define DT_MIPS_DELTA_INSTANCE_NO 0x7000001a + +#define DT_MIPS_DELTA_RELOC 0x7000001b +#define DT_MIPS_DELTA_RELOC_NO 0x7000001c + +#define DT_MIPS_DELTA_SYM 0x7000001d + +#define DT_MIPS_DELTA_SYM_NO 0x7000001e + +#define DT_MIPS_DELTA_CLASSSYM 0x70000020 + +#define DT_MIPS_DELTA_CLASSSYM_NO 0x70000021 + +#define DT_MIPS_CXX_FLAGS 0x70000022 +#define DT_MIPS_PIXIE_INIT 0x70000023 +#define DT_MIPS_SYMBOL_LIB 0x70000024 +#define DT_MIPS_LOCALPAGE_GOTIDX 0x70000025 +#define DT_MIPS_LOCAL_GOTIDX 0x70000026 +#define DT_MIPS_HIDDEN_GOTIDX 0x70000027 +#define DT_MIPS_PROTECTED_GOTIDX 0x70000028 +#define DT_MIPS_OPTIONS 0x70000029 +#define DT_MIPS_INTERFACE 0x7000002a +#define DT_MIPS_DYNSTR_ALIGN 0x7000002b +#define DT_MIPS_INTERFACE_SIZE 0x7000002c +#define DT_MIPS_RLD_TEXT_RESOLVE_ADDR 0x7000002d + +#define DT_MIPS_PERF_SUFFIX 0x7000002e + +#define DT_MIPS_COMPACT_SIZE 0x7000002f +#define DT_MIPS_GP_VALUE 0x70000030 +#define DT_MIPS_AUX_DYNAMIC 0x70000031 + +#define DT_MIPS_PLTGOT 0x70000032 + +#define DT_MIPS_RWPLT 0x70000034 +#define DT_MIPS_RLD_MAP_REL 0x70000035 +#define DT_MIPS_NUM 0x36 + + + +#define RHF_NONE 0 +#define RHF_QUICKSTART (1 << 0) +#define RHF_NOTPOT (1 << 1) +#define RHF_NO_LIBRARY_REPLACEMENT (1 << 2) +#define RHF_NO_MOVE (1 << 3) +#define RHF_SGI_ONLY (1 << 4) +#define RHF_GUARANTEE_INIT (1 << 5) +#define RHF_DELTA_C_PLUS_PLUS (1 << 6) +#define RHF_GUARANTEE_START_INIT (1 << 7) +#define RHF_PIXIE (1 << 8) +#define RHF_DEFAULT_DELAY_LOAD (1 << 9) +#define RHF_REQUICKSTART (1 << 10) +#define RHF_REQUICKSTARTED (1 << 11) +#define RHF_CORD (1 << 12) +#define RHF_NO_UNRES_UNDEF (1 << 13) +#define RHF_RLD_ORDER_SAFE (1 << 14) + + + +typedef struct { + Elf32_Word l_name; + Elf32_Word l_time_stamp; + Elf32_Word l_checksum; + Elf32_Word l_version; + Elf32_Word l_flags; +} Elf32_Lib; + +typedef struct { + Elf64_Word l_name; + Elf64_Word l_time_stamp; + Elf64_Word l_checksum; + Elf64_Word l_version; + Elf64_Word l_flags; +} Elf64_Lib; + + + + +#define LL_NONE 0 +#define LL_EXACT_MATCH (1 << 0) +#define LL_IGNORE_INT_VER (1 << 1) +#define LL_REQUIRE_MINOR (1 << 2) +#define LL_EXPORTS (1 << 3) +#define LL_DELAY_LOAD (1 << 4) +#define LL_DELTA (1 << 5) + + + +typedef Elf32_Addr Elf32_Conflict; + +typedef struct { + Elf32_Half version; + unsigned char isa_level; + unsigned char isa_rev; + unsigned char gpr_size; + unsigned char cpr1_size; + unsigned char cpr2_size; + unsigned char fp_abi; + Elf32_Word isa_ext; + Elf32_Word ases; + Elf32_Word flags1; + Elf32_Word flags2; +} Elf_MIPS_ABIFlags_v0; + +#define MIPS_AFL_REG_NONE 0x00 +#define MIPS_AFL_REG_32 0x01 +#define MIPS_AFL_REG_64 0x02 +#define MIPS_AFL_REG_128 0x03 + +#define MIPS_AFL_ASE_DSP 0x00000001 +#define MIPS_AFL_ASE_DSPR2 0x00000002 +#define MIPS_AFL_ASE_EVA 0x00000004 +#define MIPS_AFL_ASE_MCU 0x00000008 +#define MIPS_AFL_ASE_MDMX 0x00000010 +#define MIPS_AFL_ASE_MIPS3D 0x00000020 +#define MIPS_AFL_ASE_MT 0x00000040 +#define MIPS_AFL_ASE_SMARTMIPS 0x00000080 +#define MIPS_AFL_ASE_VIRT 0x00000100 +#define MIPS_AFL_ASE_MSA 0x00000200 +#define MIPS_AFL_ASE_MIPS16 0x00000400 +#define MIPS_AFL_ASE_MICROMIPS 0x00000800 +#define MIPS_AFL_ASE_XPA 0x00001000 +#define MIPS_AFL_ASE_MASK 0x00001fff + +#define MIPS_AFL_EXT_XLR 1 +#define MIPS_AFL_EXT_OCTEON2 2 +#define MIPS_AFL_EXT_OCTEONP 3 +#define MIPS_AFL_EXT_LOONGSON_3A 4 +#define MIPS_AFL_EXT_OCTEON 5 +#define MIPS_AFL_EXT_5900 6 +#define MIPS_AFL_EXT_4650 7 +#define MIPS_AFL_EXT_4010 8 +#define MIPS_AFL_EXT_4100 9 +#define MIPS_AFL_EXT_3900 10 +#define MIPS_AFL_EXT_10000 11 +#define MIPS_AFL_EXT_SB1 12 +#define MIPS_AFL_EXT_4111 13 +#define MIPS_AFL_EXT_4120 14 +#define MIPS_AFL_EXT_5400 15 +#define MIPS_AFL_EXT_5500 16 +#define MIPS_AFL_EXT_LOONGSON_2E 17 +#define MIPS_AFL_EXT_LOONGSON_2F 18 + +#define MIPS_AFL_FLAGS1_ODDSPREG 1 + +enum +{ + Val_GNU_MIPS_ABI_FP_ANY = 0, + Val_GNU_MIPS_ABI_FP_DOUBLE = 1, + Val_GNU_MIPS_ABI_FP_SINGLE = 2, + Val_GNU_MIPS_ABI_FP_SOFT = 3, + Val_GNU_MIPS_ABI_FP_OLD_64 = 4, + Val_GNU_MIPS_ABI_FP_XX = 5, + Val_GNU_MIPS_ABI_FP_64 = 6, + Val_GNU_MIPS_ABI_FP_64A = 7, + Val_GNU_MIPS_ABI_FP_MAX = 7 +}; + + + + +#define EF_PARISC_TRAPNIL 0x00010000 +#define EF_PARISC_EXT 0x00020000 +#define EF_PARISC_LSB 0x00040000 +#define EF_PARISC_WIDE 0x00080000 +#define EF_PARISC_NO_KABP 0x00100000 + +#define EF_PARISC_LAZYSWAP 0x00400000 +#define EF_PARISC_ARCH 0x0000ffff + + + +#define EFA_PARISC_1_0 0x020b +#define EFA_PARISC_1_1 0x0210 +#define EFA_PARISC_2_0 0x0214 + + + +#define SHN_PARISC_ANSI_COMMON 0xff00 + +#define SHN_PARISC_HUGE_COMMON 0xff01 + + + +#define SHT_PARISC_EXT 0x70000000 +#define SHT_PARISC_UNWIND 0x70000001 +#define SHT_PARISC_DOC 0x70000002 + + + +#define SHF_PARISC_SHORT 0x20000000 +#define SHF_PARISC_HUGE 0x40000000 +#define SHF_PARISC_SBP 0x80000000 + + + +#define STT_PARISC_MILLICODE 13 + +#define STT_HP_OPAQUE (STT_LOOS + 0x1) +#define STT_HP_STUB (STT_LOOS + 0x2) + + + +#define R_PARISC_NONE 0 +#define R_PARISC_DIR32 1 +#define R_PARISC_DIR21L 2 +#define R_PARISC_DIR17R 3 +#define R_PARISC_DIR17F 4 +#define R_PARISC_DIR14R 6 +#define R_PARISC_PCREL32 9 +#define R_PARISC_PCREL21L 10 +#define R_PARISC_PCREL17R 11 +#define R_PARISC_PCREL17F 12 +#define R_PARISC_PCREL14R 14 +#define R_PARISC_DPREL21L 18 +#define R_PARISC_DPREL14R 22 +#define R_PARISC_GPREL21L 26 +#define R_PARISC_GPREL14R 30 +#define R_PARISC_LTOFF21L 34 +#define R_PARISC_LTOFF14R 38 +#define R_PARISC_SECREL32 41 +#define R_PARISC_SEGBASE 48 +#define R_PARISC_SEGREL32 49 +#define R_PARISC_PLTOFF21L 50 +#define R_PARISC_PLTOFF14R 54 +#define R_PARISC_LTOFF_FPTR32 57 +#define R_PARISC_LTOFF_FPTR21L 58 +#define R_PARISC_LTOFF_FPTR14R 62 +#define R_PARISC_FPTR64 64 +#define R_PARISC_PLABEL32 65 +#define R_PARISC_PLABEL21L 66 +#define R_PARISC_PLABEL14R 70 +#define R_PARISC_PCREL64 72 +#define R_PARISC_PCREL22F 74 +#define R_PARISC_PCREL14WR 75 +#define R_PARISC_PCREL14DR 76 +#define R_PARISC_PCREL16F 77 +#define R_PARISC_PCREL16WF 78 +#define R_PARISC_PCREL16DF 79 +#define R_PARISC_DIR64 80 +#define R_PARISC_DIR14WR 83 +#define R_PARISC_DIR14DR 84 +#define R_PARISC_DIR16F 85 +#define R_PARISC_DIR16WF 86 +#define R_PARISC_DIR16DF 87 +#define R_PARISC_GPREL64 88 +#define R_PARISC_GPREL14WR 91 +#define R_PARISC_GPREL14DR 92 +#define R_PARISC_GPREL16F 93 +#define R_PARISC_GPREL16WF 94 +#define R_PARISC_GPREL16DF 95 +#define R_PARISC_LTOFF64 96 +#define R_PARISC_LTOFF14WR 99 +#define R_PARISC_LTOFF14DR 100 +#define R_PARISC_LTOFF16F 101 +#define R_PARISC_LTOFF16WF 102 +#define R_PARISC_LTOFF16DF 103 +#define R_PARISC_SECREL64 104 +#define R_PARISC_SEGREL64 112 +#define R_PARISC_PLTOFF14WR 115 +#define R_PARISC_PLTOFF14DR 116 +#define R_PARISC_PLTOFF16F 117 +#define R_PARISC_PLTOFF16WF 118 +#define R_PARISC_PLTOFF16DF 119 +#define R_PARISC_LTOFF_FPTR64 120 +#define R_PARISC_LTOFF_FPTR14WR 123 +#define R_PARISC_LTOFF_FPTR14DR 124 +#define R_PARISC_LTOFF_FPTR16F 125 +#define R_PARISC_LTOFF_FPTR16WF 126 +#define R_PARISC_LTOFF_FPTR16DF 127 +#define R_PARISC_LORESERVE 128 +#define R_PARISC_COPY 128 +#define R_PARISC_IPLT 129 +#define R_PARISC_EPLT 130 +#define R_PARISC_TPREL32 153 +#define R_PARISC_TPREL21L 154 +#define R_PARISC_TPREL14R 158 +#define R_PARISC_LTOFF_TP21L 162 +#define R_PARISC_LTOFF_TP14R 166 +#define R_PARISC_LTOFF_TP14F 167 +#define R_PARISC_TPREL64 216 +#define R_PARISC_TPREL14WR 219 +#define R_PARISC_TPREL14DR 220 +#define R_PARISC_TPREL16F 221 +#define R_PARISC_TPREL16WF 222 +#define R_PARISC_TPREL16DF 223 +#define R_PARISC_LTOFF_TP64 224 +#define R_PARISC_LTOFF_TP14WR 227 +#define R_PARISC_LTOFF_TP14DR 228 +#define R_PARISC_LTOFF_TP16F 229 +#define R_PARISC_LTOFF_TP16WF 230 +#define R_PARISC_LTOFF_TP16DF 231 +#define R_PARISC_GNU_VTENTRY 232 +#define R_PARISC_GNU_VTINHERIT 233 +#define R_PARISC_TLS_GD21L 234 +#define R_PARISC_TLS_GD14R 235 +#define R_PARISC_TLS_GDCALL 236 +#define R_PARISC_TLS_LDM21L 237 +#define R_PARISC_TLS_LDM14R 238 +#define R_PARISC_TLS_LDMCALL 239 +#define R_PARISC_TLS_LDO21L 240 +#define R_PARISC_TLS_LDO14R 241 +#define R_PARISC_TLS_DTPMOD32 242 +#define R_PARISC_TLS_DTPMOD64 243 +#define R_PARISC_TLS_DTPOFF32 244 +#define R_PARISC_TLS_DTPOFF64 245 +#define R_PARISC_TLS_LE21L R_PARISC_TPREL21L +#define R_PARISC_TLS_LE14R R_PARISC_TPREL14R +#define R_PARISC_TLS_IE21L R_PARISC_LTOFF_TP21L +#define R_PARISC_TLS_IE14R R_PARISC_LTOFF_TP14R +#define R_PARISC_TLS_TPREL32 R_PARISC_TPREL32 +#define R_PARISC_TLS_TPREL64 R_PARISC_TPREL64 +#define R_PARISC_HIRESERVE 255 + + + +#define PT_HP_TLS (PT_LOOS + 0x0) +#define PT_HP_CORE_NONE (PT_LOOS + 0x1) +#define PT_HP_CORE_VERSION (PT_LOOS + 0x2) +#define PT_HP_CORE_KERNEL (PT_LOOS + 0x3) +#define PT_HP_CORE_COMM (PT_LOOS + 0x4) +#define PT_HP_CORE_PROC (PT_LOOS + 0x5) +#define PT_HP_CORE_LOADABLE (PT_LOOS + 0x6) +#define PT_HP_CORE_STACK (PT_LOOS + 0x7) +#define PT_HP_CORE_SHM (PT_LOOS + 0x8) +#define PT_HP_CORE_MMF (PT_LOOS + 0x9) +#define PT_HP_PARALLEL (PT_LOOS + 0x10) +#define PT_HP_FASTBIND (PT_LOOS + 0x11) +#define PT_HP_OPT_ANNOT (PT_LOOS + 0x12) +#define PT_HP_HSL_ANNOT (PT_LOOS + 0x13) +#define PT_HP_STACK (PT_LOOS + 0x14) + +#define PT_PARISC_ARCHEXT 0x70000000 +#define PT_PARISC_UNWIND 0x70000001 + + + +#define PF_PARISC_SBP 0x08000000 + +#define PF_HP_PAGE_SIZE 0x00100000 +#define PF_HP_FAR_SHARED 0x00200000 +#define PF_HP_NEAR_SHARED 0x00400000 +#define PF_HP_CODE 0x01000000 +#define PF_HP_MODIFY 0x02000000 +#define PF_HP_LAZYSWAP 0x04000000 +#define PF_HP_SBP 0x08000000 + + + + + + +#define EF_ALPHA_32BIT 1 +#define EF_ALPHA_CANRELAX 2 + + + + +#define SHT_ALPHA_DEBUG 0x70000001 +#define SHT_ALPHA_REGINFO 0x70000002 + + + +#define SHF_ALPHA_GPREL 0x10000000 + + +#define STO_ALPHA_NOPV 0x80 +#define STO_ALPHA_STD_GPLOAD 0x88 + + + +#define R_ALPHA_NONE 0 +#define R_ALPHA_REFLONG 1 +#define R_ALPHA_REFQUAD 2 +#define R_ALPHA_GPREL32 3 +#define R_ALPHA_LITERAL 4 +#define R_ALPHA_LITUSE 5 +#define R_ALPHA_GPDISP 6 +#define R_ALPHA_BRADDR 7 +#define R_ALPHA_HINT 8 +#define R_ALPHA_SREL16 9 +#define R_ALPHA_SREL32 10 +#define R_ALPHA_SREL64 11 +#define R_ALPHA_GPRELHIGH 17 +#define R_ALPHA_GPRELLOW 18 +#define R_ALPHA_GPREL16 19 +#define R_ALPHA_COPY 24 +#define R_ALPHA_GLOB_DAT 25 +#define R_ALPHA_JMP_SLOT 26 +#define R_ALPHA_RELATIVE 27 +#define R_ALPHA_TLS_GD_HI 28 +#define R_ALPHA_TLSGD 29 +#define R_ALPHA_TLS_LDM 30 +#define R_ALPHA_DTPMOD64 31 +#define R_ALPHA_GOTDTPREL 32 +#define R_ALPHA_DTPREL64 33 +#define R_ALPHA_DTPRELHI 34 +#define R_ALPHA_DTPRELLO 35 +#define R_ALPHA_DTPREL16 36 +#define R_ALPHA_GOTTPREL 37 +#define R_ALPHA_TPREL64 38 +#define R_ALPHA_TPRELHI 39 +#define R_ALPHA_TPRELLO 40 +#define R_ALPHA_TPREL16 41 + +#define R_ALPHA_NUM 46 + + +#define LITUSE_ALPHA_ADDR 0 +#define LITUSE_ALPHA_BASE 1 +#define LITUSE_ALPHA_BYTOFF 2 +#define LITUSE_ALPHA_JSR 3 +#define LITUSE_ALPHA_TLS_GD 4 +#define LITUSE_ALPHA_TLS_LDM 5 + + +#define DT_ALPHA_PLTRO (DT_LOPROC + 0) +#define DT_ALPHA_NUM 1 + + + + +#define EF_PPC_EMB 0x80000000 + + +#define EF_PPC_RELOCATABLE 0x00010000 +#define EF_PPC_RELOCATABLE_LIB 0x00008000 + + + +#define R_PPC_NONE 0 +#define R_PPC_ADDR32 1 +#define R_PPC_ADDR24 2 +#define R_PPC_ADDR16 3 +#define R_PPC_ADDR16_LO 4 +#define R_PPC_ADDR16_HI 5 +#define R_PPC_ADDR16_HA 6 +#define R_PPC_ADDR14 7 +#define R_PPC_ADDR14_BRTAKEN 8 +#define R_PPC_ADDR14_BRNTAKEN 9 +#define R_PPC_REL24 10 +#define R_PPC_REL14 11 +#define R_PPC_REL14_BRTAKEN 12 +#define R_PPC_REL14_BRNTAKEN 13 +#define R_PPC_GOT16 14 +#define R_PPC_GOT16_LO 15 +#define R_PPC_GOT16_HI 16 +#define R_PPC_GOT16_HA 17 +#define R_PPC_PLTREL24 18 +#define R_PPC_COPY 19 +#define R_PPC_GLOB_DAT 20 +#define R_PPC_JMP_SLOT 21 +#define R_PPC_RELATIVE 22 +#define R_PPC_LOCAL24PC 23 +#define R_PPC_UADDR32 24 +#define R_PPC_UADDR16 25 +#define R_PPC_REL32 26 +#define R_PPC_PLT32 27 +#define R_PPC_PLTREL32 28 +#define R_PPC_PLT16_LO 29 +#define R_PPC_PLT16_HI 30 +#define R_PPC_PLT16_HA 31 +#define R_PPC_SDAREL16 32 +#define R_PPC_SECTOFF 33 +#define R_PPC_SECTOFF_LO 34 +#define R_PPC_SECTOFF_HI 35 +#define R_PPC_SECTOFF_HA 36 + + +#define R_PPC_TLS 67 +#define R_PPC_DTPMOD32 68 +#define R_PPC_TPREL16 69 +#define R_PPC_TPREL16_LO 70 +#define R_PPC_TPREL16_HI 71 +#define R_PPC_TPREL16_HA 72 +#define R_PPC_TPREL32 73 +#define R_PPC_DTPREL16 74 +#define R_PPC_DTPREL16_LO 75 +#define R_PPC_DTPREL16_HI 76 +#define R_PPC_DTPREL16_HA 77 +#define R_PPC_DTPREL32 78 +#define R_PPC_GOT_TLSGD16 79 +#define R_PPC_GOT_TLSGD16_LO 80 +#define R_PPC_GOT_TLSGD16_HI 81 +#define R_PPC_GOT_TLSGD16_HA 82 +#define R_PPC_GOT_TLSLD16 83 +#define R_PPC_GOT_TLSLD16_LO 84 +#define R_PPC_GOT_TLSLD16_HI 85 +#define R_PPC_GOT_TLSLD16_HA 86 +#define R_PPC_GOT_TPREL16 87 +#define R_PPC_GOT_TPREL16_LO 88 +#define R_PPC_GOT_TPREL16_HI 89 +#define R_PPC_GOT_TPREL16_HA 90 +#define R_PPC_GOT_DTPREL16 91 +#define R_PPC_GOT_DTPREL16_LO 92 +#define R_PPC_GOT_DTPREL16_HI 93 +#define R_PPC_GOT_DTPREL16_HA 94 +#define R_PPC_TLSGD 95 +#define R_PPC_TLSLD 96 + + +#define R_PPC_EMB_NADDR32 101 +#define R_PPC_EMB_NADDR16 102 +#define R_PPC_EMB_NADDR16_LO 103 +#define R_PPC_EMB_NADDR16_HI 104 +#define R_PPC_EMB_NADDR16_HA 105 +#define R_PPC_EMB_SDAI16 106 +#define R_PPC_EMB_SDA2I16 107 +#define R_PPC_EMB_SDA2REL 108 +#define R_PPC_EMB_SDA21 109 +#define R_PPC_EMB_MRKREF 110 +#define R_PPC_EMB_RELSEC16 111 +#define R_PPC_EMB_RELST_LO 112 +#define R_PPC_EMB_RELST_HI 113 +#define R_PPC_EMB_RELST_HA 114 +#define R_PPC_EMB_BIT_FLD 115 +#define R_PPC_EMB_RELSDA 116 + + +#define R_PPC_DIAB_SDA21_LO 180 +#define R_PPC_DIAB_SDA21_HI 181 +#define R_PPC_DIAB_SDA21_HA 182 +#define R_PPC_DIAB_RELSDA_LO 183 +#define R_PPC_DIAB_RELSDA_HI 184 +#define R_PPC_DIAB_RELSDA_HA 185 + + +#define R_PPC_IRELATIVE 248 + + +#define R_PPC_REL16 249 +#define R_PPC_REL16_LO 250 +#define R_PPC_REL16_HI 251 +#define R_PPC_REL16_HA 252 + + + +#define R_PPC_TOC16 255 + + +#define DT_PPC_GOT (DT_LOPROC + 0) +#define DT_PPC_OPT (DT_LOPROC + 1) +#define DT_PPC_NUM 2 + +#define PPC_OPT_TLS 1 + + +#define R_PPC64_NONE R_PPC_NONE +#define R_PPC64_ADDR32 R_PPC_ADDR32 +#define R_PPC64_ADDR24 R_PPC_ADDR24 +#define R_PPC64_ADDR16 R_PPC_ADDR16 +#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO +#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI +#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA +#define R_PPC64_ADDR14 R_PPC_ADDR14 +#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN +#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN +#define R_PPC64_REL24 R_PPC_REL24 +#define R_PPC64_REL14 R_PPC_REL14 +#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN +#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN +#define R_PPC64_GOT16 R_PPC_GOT16 +#define R_PPC64_GOT16_LO R_PPC_GOT16_LO +#define R_PPC64_GOT16_HI R_PPC_GOT16_HI +#define R_PPC64_GOT16_HA R_PPC_GOT16_HA + +#define R_PPC64_COPY R_PPC_COPY +#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT +#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT +#define R_PPC64_RELATIVE R_PPC_RELATIVE + +#define R_PPC64_UADDR32 R_PPC_UADDR32 +#define R_PPC64_UADDR16 R_PPC_UADDR16 +#define R_PPC64_REL32 R_PPC_REL32 +#define R_PPC64_PLT32 R_PPC_PLT32 +#define R_PPC64_PLTREL32 R_PPC_PLTREL32 +#define R_PPC64_PLT16_LO R_PPC_PLT16_LO +#define R_PPC64_PLT16_HI R_PPC_PLT16_HI +#define R_PPC64_PLT16_HA R_PPC_PLT16_HA + +#define R_PPC64_SECTOFF R_PPC_SECTOFF +#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO +#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI +#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA +#define R_PPC64_ADDR30 37 +#define R_PPC64_ADDR64 38 +#define R_PPC64_ADDR16_HIGHER 39 +#define R_PPC64_ADDR16_HIGHERA 40 +#define R_PPC64_ADDR16_HIGHEST 41 +#define R_PPC64_ADDR16_HIGHESTA 42 +#define R_PPC64_UADDR64 43 +#define R_PPC64_REL64 44 +#define R_PPC64_PLT64 45 +#define R_PPC64_PLTREL64 46 +#define R_PPC64_TOC16 47 +#define R_PPC64_TOC16_LO 48 +#define R_PPC64_TOC16_HI 49 +#define R_PPC64_TOC16_HA 50 +#define R_PPC64_TOC 51 +#define R_PPC64_PLTGOT16 52 +#define R_PPC64_PLTGOT16_LO 53 +#define R_PPC64_PLTGOT16_HI 54 +#define R_PPC64_PLTGOT16_HA 55 + +#define R_PPC64_ADDR16_DS 56 +#define R_PPC64_ADDR16_LO_DS 57 +#define R_PPC64_GOT16_DS 58 +#define R_PPC64_GOT16_LO_DS 59 +#define R_PPC64_PLT16_LO_DS 60 +#define R_PPC64_SECTOFF_DS 61 +#define R_PPC64_SECTOFF_LO_DS 62 +#define R_PPC64_TOC16_DS 63 +#define R_PPC64_TOC16_LO_DS 64 +#define R_PPC64_PLTGOT16_DS 65 +#define R_PPC64_PLTGOT16_LO_DS 66 + + +#define R_PPC64_TLS 67 +#define R_PPC64_DTPMOD64 68 +#define R_PPC64_TPREL16 69 +#define R_PPC64_TPREL16_LO 70 +#define R_PPC64_TPREL16_HI 71 +#define R_PPC64_TPREL16_HA 72 +#define R_PPC64_TPREL64 73 +#define R_PPC64_DTPREL16 74 +#define R_PPC64_DTPREL16_LO 75 +#define R_PPC64_DTPREL16_HI 76 +#define R_PPC64_DTPREL16_HA 77 +#define R_PPC64_DTPREL64 78 +#define R_PPC64_GOT_TLSGD16 79 +#define R_PPC64_GOT_TLSGD16_LO 80 +#define R_PPC64_GOT_TLSGD16_HI 81 +#define R_PPC64_GOT_TLSGD16_HA 82 +#define R_PPC64_GOT_TLSLD16 83 +#define R_PPC64_GOT_TLSLD16_LO 84 +#define R_PPC64_GOT_TLSLD16_HI 85 +#define R_PPC64_GOT_TLSLD16_HA 86 +#define R_PPC64_GOT_TPREL16_DS 87 +#define R_PPC64_GOT_TPREL16_LO_DS 88 +#define R_PPC64_GOT_TPREL16_HI 89 +#define R_PPC64_GOT_TPREL16_HA 90 +#define R_PPC64_GOT_DTPREL16_DS 91 +#define R_PPC64_GOT_DTPREL16_LO_DS 92 +#define R_PPC64_GOT_DTPREL16_HI 93 +#define R_PPC64_GOT_DTPREL16_HA 94 +#define R_PPC64_TPREL16_DS 95 +#define R_PPC64_TPREL16_LO_DS 96 +#define R_PPC64_TPREL16_HIGHER 97 +#define R_PPC64_TPREL16_HIGHERA 98 +#define R_PPC64_TPREL16_HIGHEST 99 +#define R_PPC64_TPREL16_HIGHESTA 100 +#define R_PPC64_DTPREL16_DS 101 +#define R_PPC64_DTPREL16_LO_DS 102 +#define R_PPC64_DTPREL16_HIGHER 103 +#define R_PPC64_DTPREL16_HIGHERA 104 +#define R_PPC64_DTPREL16_HIGHEST 105 +#define R_PPC64_DTPREL16_HIGHESTA 106 +#define R_PPC64_TLSGD 107 +#define R_PPC64_TLSLD 108 +#define R_PPC64_TOCSAVE 109 +#define R_PPC64_ADDR16_HIGH 110 +#define R_PPC64_ADDR16_HIGHA 111 +#define R_PPC64_TPREL16_HIGH 112 +#define R_PPC64_TPREL16_HIGHA 113 +#define R_PPC64_DTPREL16_HIGH 114 +#define R_PPC64_DTPREL16_HIGHA 115 + + +#define R_PPC64_JMP_IREL 247 +#define R_PPC64_IRELATIVE 248 +#define R_PPC64_REL16 249 +#define R_PPC64_REL16_LO 250 +#define R_PPC64_REL16_HI 251 +#define R_PPC64_REL16_HA 252 + +#define EF_PPC64_ABI 3 + +#define DT_PPC64_GLINK (DT_LOPROC + 0) +#define DT_PPC64_OPD (DT_LOPROC + 1) +#define DT_PPC64_OPDSZ (DT_LOPROC + 2) +#define DT_PPC64_OPT (DT_LOPROC + 3) +#define DT_PPC64_NUM 4 + +#define PPC64_OPT_TLS 1 +#define PPC64_OPT_MULTI_TOC 2 +#define PPC64_OPT_LOCALENTRY 4 + +#define STO_PPC64_LOCAL_BIT 5 +#define STO_PPC64_LOCAL_MASK 0xe0 +#define PPC64_LOCAL_ENTRY_OFFSET(x) (1 << (((x)&0xe0)>>5) & 0xfc) + + +#define EF_ARM_RELEXEC 0x01 +#define EF_ARM_HASENTRY 0x02 +#define EF_ARM_INTERWORK 0x04 +#define EF_ARM_APCS_26 0x08 +#define EF_ARM_APCS_FLOAT 0x10 +#define EF_ARM_PIC 0x20 +#define EF_ARM_ALIGN8 0x40 +#define EF_ARM_NEW_ABI 0x80 +#define EF_ARM_OLD_ABI 0x100 +#define EF_ARM_SOFT_FLOAT 0x200 +#define EF_ARM_VFP_FLOAT 0x400 +#define EF_ARM_MAVERICK_FLOAT 0x800 + +#define EF_ARM_ABI_FLOAT_SOFT 0x200 +#define EF_ARM_ABI_FLOAT_HARD 0x400 + + +#define EF_ARM_SYMSARESORTED 0x04 +#define EF_ARM_DYNSYMSUSESEGIDX 0x08 +#define EF_ARM_MAPSYMSFIRST 0x10 +#define EF_ARM_EABIMASK 0XFF000000 + + +#define EF_ARM_BE8 0x00800000 +#define EF_ARM_LE8 0x00400000 + +#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) +#define EF_ARM_EABI_UNKNOWN 0x00000000 +#define EF_ARM_EABI_VER1 0x01000000 +#define EF_ARM_EABI_VER2 0x02000000 +#define EF_ARM_EABI_VER3 0x03000000 +#define EF_ARM_EABI_VER4 0x04000000 +#define EF_ARM_EABI_VER5 0x05000000 + + +#define STT_ARM_TFUNC STT_LOPROC +#define STT_ARM_16BIT STT_HIPROC + + +#define SHF_ARM_ENTRYSECT 0x10000000 +#define SHF_ARM_COMDEF 0x80000000 + + + +#define PF_ARM_SB 0x10000000 + +#define PF_ARM_PI 0x20000000 +#define PF_ARM_ABS 0x40000000 + + +#define PT_ARM_EXIDX (PT_LOPROC + 1) + + +#define SHT_ARM_EXIDX (SHT_LOPROC + 1) +#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) +#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) + +#define R_AARCH64_NONE 0 +#define R_AARCH64_P32_ABS32 1 +#define R_AARCH64_P32_COPY 180 +#define R_AARCH64_P32_GLOB_DAT 181 +#define R_AARCH64_P32_JUMP_SLOT 182 +#define R_AARCH64_P32_RELATIVE 183 +#define R_AARCH64_P32_TLS_DTPMOD 184 +#define R_AARCH64_P32_TLS_DTPREL 185 +#define R_AARCH64_P32_TLS_TPREL 186 +#define R_AARCH64_P32_TLSDESC 187 +#define R_AARCH64_P32_IRELATIVE 188 +#define R_AARCH64_ABS64 257 +#define R_AARCH64_ABS32 258 +#define R_AARCH64_ABS16 259 +#define R_AARCH64_PREL64 260 +#define R_AARCH64_PREL32 261 +#define R_AARCH64_PREL16 262 +#define R_AARCH64_MOVW_UABS_G0 263 +#define R_AARCH64_MOVW_UABS_G0_NC 264 +#define R_AARCH64_MOVW_UABS_G1 265 +#define R_AARCH64_MOVW_UABS_G1_NC 266 +#define R_AARCH64_MOVW_UABS_G2 267 +#define R_AARCH64_MOVW_UABS_G2_NC 268 +#define R_AARCH64_MOVW_UABS_G3 269 +#define R_AARCH64_MOVW_SABS_G0 270 +#define R_AARCH64_MOVW_SABS_G1 271 +#define R_AARCH64_MOVW_SABS_G2 272 +#define R_AARCH64_LD_PREL_LO19 273 +#define R_AARCH64_ADR_PREL_LO21 274 +#define R_AARCH64_ADR_PREL_PG_HI21 275 +#define R_AARCH64_ADR_PREL_PG_HI21_NC 276 +#define R_AARCH64_ADD_ABS_LO12_NC 277 +#define R_AARCH64_LDST8_ABS_LO12_NC 278 +#define R_AARCH64_TSTBR14 279 +#define R_AARCH64_CONDBR19 280 +#define R_AARCH64_JUMP26 282 +#define R_AARCH64_CALL26 283 +#define R_AARCH64_LDST16_ABS_LO12_NC 284 +#define R_AARCH64_LDST32_ABS_LO12_NC 285 +#define R_AARCH64_LDST64_ABS_LO12_NC 286 +#define R_AARCH64_MOVW_PREL_G0 287 +#define R_AARCH64_MOVW_PREL_G0_NC 288 +#define R_AARCH64_MOVW_PREL_G1 289 +#define R_AARCH64_MOVW_PREL_G1_NC 290 +#define R_AARCH64_MOVW_PREL_G2 291 +#define R_AARCH64_MOVW_PREL_G2_NC 292 +#define R_AARCH64_MOVW_PREL_G3 293 +#define R_AARCH64_LDST128_ABS_LO12_NC 299 +#define R_AARCH64_MOVW_GOTOFF_G0 300 +#define R_AARCH64_MOVW_GOTOFF_G0_NC 301 +#define R_AARCH64_MOVW_GOTOFF_G1 302 +#define R_AARCH64_MOVW_GOTOFF_G1_NC 303 +#define R_AARCH64_MOVW_GOTOFF_G2 304 +#define R_AARCH64_MOVW_GOTOFF_G2_NC 305 +#define R_AARCH64_MOVW_GOTOFF_G3 306 +#define R_AARCH64_GOTREL64 307 +#define R_AARCH64_GOTREL32 308 +#define R_AARCH64_GOT_LD_PREL19 309 +#define R_AARCH64_LD64_GOTOFF_LO15 310 +#define R_AARCH64_ADR_GOT_PAGE 311 +#define R_AARCH64_LD64_GOT_LO12_NC 312 +#define R_AARCH64_LD64_GOTPAGE_LO15 313 +#define R_AARCH64_TLSGD_ADR_PREL21 512 +#define R_AARCH64_TLSGD_ADR_PAGE21 513 +#define R_AARCH64_TLSGD_ADD_LO12_NC 514 +#define R_AARCH64_TLSGD_MOVW_G1 515 +#define R_AARCH64_TLSGD_MOVW_G0_NC 516 +#define R_AARCH64_TLSLD_ADR_PREL21 517 +#define R_AARCH64_TLSLD_ADR_PAGE21 518 +#define R_AARCH64_TLSLD_ADD_LO12_NC 519 +#define R_AARCH64_TLSLD_MOVW_G1 520 +#define R_AARCH64_TLSLD_MOVW_G0_NC 521 +#define R_AARCH64_TLSLD_LD_PREL19 522 +#define R_AARCH64_TLSLD_MOVW_DTPREL_G2 523 +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1 524 +#define R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC 525 +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0 526 +#define R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC 527 +#define R_AARCH64_TLSLD_ADD_DTPREL_HI12 528 +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12 529 +#define R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC 530 +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12 531 +#define R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC 532 +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12 533 +#define R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC 534 +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12 535 +#define R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC 536 +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12 537 +#define R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC 538 +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 539 +#define R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC 540 +#define R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 541 +#define R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC 542 +#define R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 543 +#define R_AARCH64_TLSLE_MOVW_TPREL_G2 544 +#define R_AARCH64_TLSLE_MOVW_TPREL_G1 545 +#define R_AARCH64_TLSLE_MOVW_TPREL_G1_NC 546 +#define R_AARCH64_TLSLE_MOVW_TPREL_G0 547 +#define R_AARCH64_TLSLE_MOVW_TPREL_G0_NC 548 +#define R_AARCH64_TLSLE_ADD_TPREL_HI12 549 +#define R_AARCH64_TLSLE_ADD_TPREL_LO12 550 +#define R_AARCH64_TLSLE_ADD_TPREL_LO12_NC 551 +#define R_AARCH64_TLSLE_LDST8_TPREL_LO12 552 +#define R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC 553 +#define R_AARCH64_TLSLE_LDST16_TPREL_LO12 554 +#define R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC 555 +#define R_AARCH64_TLSLE_LDST32_TPREL_LO12 556 +#define R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC 557 +#define R_AARCH64_TLSLE_LDST64_TPREL_LO12 558 +#define R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC 559 +#define R_AARCH64_TLSDESC_LD_PREL19 560 +#define R_AARCH64_TLSDESC_ADR_PREL21 561 +#define R_AARCH64_TLSDESC_ADR_PAGE21 562 +#define R_AARCH64_TLSDESC_LD64_LO12 563 +#define R_AARCH64_TLSDESC_ADD_LO12 564 +#define R_AARCH64_TLSDESC_OFF_G1 565 +#define R_AARCH64_TLSDESC_OFF_G0_NC 566 +#define R_AARCH64_TLSDESC_LDR 567 +#define R_AARCH64_TLSDESC_ADD 568 +#define R_AARCH64_TLSDESC_CALL 569 +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12 570 +#define R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC 571 +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12 572 +#define R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC 573 +#define R_AARCH64_COPY 1024 +#define R_AARCH64_GLOB_DAT 1025 +#define R_AARCH64_JUMP_SLOT 1026 +#define R_AARCH64_RELATIVE 1027 +#define R_AARCH64_TLS_DTPMOD 1028 +#define R_AARCH64_TLS_DTPMOD64 1028 +#define R_AARCH64_TLS_DTPREL 1029 +#define R_AARCH64_TLS_DTPREL64 1029 +#define R_AARCH64_TLS_TPREL 1030 +#define R_AARCH64_TLS_TPREL64 1030 +#define R_AARCH64_TLSDESC 1031 + + +#define R_ARM_NONE 0 +#define R_ARM_PC24 1 +#define R_ARM_ABS32 2 +#define R_ARM_REL32 3 +#define R_ARM_PC13 4 +#define R_ARM_ABS16 5 +#define R_ARM_ABS12 6 +#define R_ARM_THM_ABS5 7 +#define R_ARM_ABS8 8 +#define R_ARM_SBREL32 9 +#define R_ARM_THM_PC22 10 +#define R_ARM_THM_PC8 11 +#define R_ARM_AMP_VCALL9 12 +#define R_ARM_TLS_DESC 13 +#define R_ARM_THM_SWI8 14 +#define R_ARM_XPC25 15 +#define R_ARM_THM_XPC22 16 +#define R_ARM_TLS_DTPMOD32 17 +#define R_ARM_TLS_DTPOFF32 18 +#define R_ARM_TLS_TPOFF32 19 +#define R_ARM_COPY 20 +#define R_ARM_GLOB_DAT 21 +#define R_ARM_JUMP_SLOT 22 +#define R_ARM_RELATIVE 23 +#define R_ARM_GOTOFF 24 +#define R_ARM_GOTPC 25 +#define R_ARM_GOT32 26 +#define R_ARM_PLT32 27 +#define R_ARM_CALL 28 +#define R_ARM_JUMP24 29 +#define R_ARM_THM_JUMP24 30 +#define R_ARM_BASE_ABS 31 +#define R_ARM_ALU_PCREL_7_0 32 +#define R_ARM_ALU_PCREL_15_8 33 +#define R_ARM_ALU_PCREL_23_15 34 +#define R_ARM_LDR_SBREL_11_0 35 +#define R_ARM_ALU_SBREL_19_12 36 +#define R_ARM_ALU_SBREL_27_20 37 +#define R_ARM_TARGET1 38 +#define R_ARM_SBREL31 39 +#define R_ARM_V4BX 40 +#define R_ARM_TARGET2 41 +#define R_ARM_PREL31 42 +#define R_ARM_MOVW_ABS_NC 43 +#define R_ARM_MOVT_ABS 44 +#define R_ARM_MOVW_PREL_NC 45 +#define R_ARM_MOVT_PREL 46 +#define R_ARM_THM_MOVW_ABS_NC 47 +#define R_ARM_THM_MOVT_ABS 48 +#define R_ARM_THM_MOVW_PREL_NC 49 +#define R_ARM_THM_MOVT_PREL 50 +#define R_ARM_THM_JUMP19 51 +#define R_ARM_THM_JUMP6 52 +#define R_ARM_THM_ALU_PREL_11_0 53 +#define R_ARM_THM_PC12 54 +#define R_ARM_ABS32_NOI 55 +#define R_ARM_REL32_NOI 56 +#define R_ARM_ALU_PC_G0_NC 57 +#define R_ARM_ALU_PC_G0 58 +#define R_ARM_ALU_PC_G1_NC 59 +#define R_ARM_ALU_PC_G1 60 +#define R_ARM_ALU_PC_G2 61 +#define R_ARM_LDR_PC_G1 62 +#define R_ARM_LDR_PC_G2 63 +#define R_ARM_LDRS_PC_G0 64 +#define R_ARM_LDRS_PC_G1 65 +#define R_ARM_LDRS_PC_G2 66 +#define R_ARM_LDC_PC_G0 67 +#define R_ARM_LDC_PC_G1 68 +#define R_ARM_LDC_PC_G2 69 +#define R_ARM_ALU_SB_G0_NC 70 +#define R_ARM_ALU_SB_G0 71 +#define R_ARM_ALU_SB_G1_NC 72 +#define R_ARM_ALU_SB_G1 73 +#define R_ARM_ALU_SB_G2 74 +#define R_ARM_LDR_SB_G0 75 +#define R_ARM_LDR_SB_G1 76 +#define R_ARM_LDR_SB_G2 77 +#define R_ARM_LDRS_SB_G0 78 +#define R_ARM_LDRS_SB_G1 79 +#define R_ARM_LDRS_SB_G2 80 +#define R_ARM_LDC_SB_G0 81 +#define R_ARM_LDC_SB_G1 82 +#define R_ARM_LDC_SB_G2 83 +#define R_ARM_MOVW_BREL_NC 84 +#define R_ARM_MOVT_BREL 85 +#define R_ARM_MOVW_BREL 86 +#define R_ARM_THM_MOVW_BREL_NC 87 +#define R_ARM_THM_MOVT_BREL 88 +#define R_ARM_THM_MOVW_BREL 89 +#define R_ARM_TLS_GOTDESC 90 +#define R_ARM_TLS_CALL 91 +#define R_ARM_TLS_DESCSEQ 92 +#define R_ARM_THM_TLS_CALL 93 +#define R_ARM_PLT32_ABS 94 +#define R_ARM_GOT_ABS 95 +#define R_ARM_GOT_PREL 96 +#define R_ARM_GOT_BREL12 97 +#define R_ARM_GOTOFF12 98 +#define R_ARM_GOTRELAX 99 +#define R_ARM_GNU_VTENTRY 100 +#define R_ARM_GNU_VTINHERIT 101 +#define R_ARM_THM_PC11 102 +#define R_ARM_THM_PC9 103 +#define R_ARM_TLS_GD32 104 + +#define R_ARM_TLS_LDM32 105 + +#define R_ARM_TLS_LDO32 106 + +#define R_ARM_TLS_IE32 107 + +#define R_ARM_TLS_LE32 108 +#define R_ARM_TLS_LDO12 109 +#define R_ARM_TLS_LE12 110 +#define R_ARM_TLS_IE12GP 111 +#define R_ARM_ME_TOO 128 +#define R_ARM_THM_TLS_DESCSEQ 129 +#define R_ARM_THM_TLS_DESCSEQ16 129 +#define R_ARM_THM_TLS_DESCSEQ32 130 +#define R_ARM_THM_GOT_BREL12 131 +#define R_ARM_IRELATIVE 160 +#define R_ARM_RXPC25 249 +#define R_ARM_RSBREL32 250 +#define R_ARM_THM_RPC22 251 +#define R_ARM_RREL32 252 +#define R_ARM_RABS22 253 +#define R_ARM_RPC24 254 +#define R_ARM_RBASE 255 + +#define R_ARM_NUM 256 + + +#define R_CKCORE_NONE 0 +#define R_CKCORE_ADDR32 1 +#define R_CKCORE_PCRELIMM8BY4 2 +#define R_CKCORE_PCRELIMM11BY2 3 +#define R_CKCORE_PCREL32 5 +#define R_CKCORE_PCRELJSR_IMM11BY2 6 +#define R_CKCORE_RELATIVE 9 +#define R_CKCORE_COPY 10 +#define R_CKCORE_GLOB_DAT 11 +#define R_CKCORE_JUMP_SLOT 12 +#define R_CKCORE_GOTOFF 13 +#define R_CKCORE_GOTPC 14 +#define R_CKCORE_GOT32 15 +#define R_CKCORE_PLT32 16 +#define R_CKCORE_ADDRGOT 17 +#define R_CKCORE_ADDRPLT 18 +#define R_CKCORE_PCREL_IMM26BY2 19 +#define R_CKCORE_PCREL_IMM16BY2 20 +#define R_CKCORE_PCREL_IMM16BY4 21 +#define R_CKCORE_PCREL_IMM10BY2 22 +#define R_CKCORE_PCREL_IMM10BY4 23 +#define R_CKCORE_ADDR_HI16 24 +#define R_CKCORE_ADDR_LO16 25 +#define R_CKCORE_GOTPC_HI16 26 +#define R_CKCORE_GOTPC_LO16 27 +#define R_CKCORE_GOTOFF_HI16 28 +#define R_CKCORE_GOTOFF_LO16 29 +#define R_CKCORE_GOT12 30 +#define R_CKCORE_GOT_HI16 31 +#define R_CKCORE_GOT_LO16 32 +#define R_CKCORE_PLT12 33 +#define R_CKCORE_PLT_HI16 34 +#define R_CKCORE_PLT_LO16 35 +#define R_CKCORE_ADDRGOT_HI16 36 +#define R_CKCORE_ADDRGOT_LO16 37 +#define R_CKCORE_ADDRPLT_HI16 38 +#define R_CKCORE_ADDRPLT_LO16 39 +#define R_CKCORE_PCREL_JSR_IMM26BY2 40 +#define R_CKCORE_TOFFSET_LO16 41 +#define R_CKCORE_DOFFSET_LO16 42 +#define R_CKCORE_PCREL_IMM18BY2 43 +#define R_CKCORE_DOFFSET_IMM18 44 +#define R_CKCORE_DOFFSET_IMM18BY2 45 +#define R_CKCORE_DOFFSET_IMM18BY4 46 +#define R_CKCORE_GOT_IMM18BY4 48 +#define R_CKCORE_PLT_IMM18BY4 49 +#define R_CKCORE_PCREL_IMM7BY4 50 +#define R_CKCORE_TLS_LE32 51 +#define R_CKCORE_TLS_IE32 52 +#define R_CKCORE_TLS_GD32 53 +#define R_CKCORE_TLS_LDM32 54 +#define R_CKCORE_TLS_LDO32 55 +#define R_CKCORE_TLS_DTPMOD32 56 +#define R_CKCORE_TLS_DTPOFF32 57 +#define R_CKCORE_TLS_TPOFF32 58 + + +#define EF_IA_64_MASKOS 0x0000000f +#define EF_IA_64_ABI64 0x00000010 +#define EF_IA_64_ARCH 0xff000000 + + +#define PT_IA_64_ARCHEXT (PT_LOPROC + 0) +#define PT_IA_64_UNWIND (PT_LOPROC + 1) +#define PT_IA_64_HP_OPT_ANOT (PT_LOOS + 0x12) +#define PT_IA_64_HP_HSL_ANOT (PT_LOOS + 0x13) +#define PT_IA_64_HP_STACK (PT_LOOS + 0x14) + + +#define PF_IA_64_NORECOV 0x80000000 + + +#define SHT_IA_64_EXT (SHT_LOPROC + 0) +#define SHT_IA_64_UNWIND (SHT_LOPROC + 1) + + +#define SHF_IA_64_SHORT 0x10000000 +#define SHF_IA_64_NORECOV 0x20000000 + + +#define DT_IA_64_PLT_RESERVE (DT_LOPROC + 0) +#define DT_IA_64_NUM 1 + + +#define R_IA64_NONE 0x00 +#define R_IA64_IMM14 0x21 +#define R_IA64_IMM22 0x22 +#define R_IA64_IMM64 0x23 +#define R_IA64_DIR32MSB 0x24 +#define R_IA64_DIR32LSB 0x25 +#define R_IA64_DIR64MSB 0x26 +#define R_IA64_DIR64LSB 0x27 +#define R_IA64_GPREL22 0x2a +#define R_IA64_GPREL64I 0x2b +#define R_IA64_GPREL32MSB 0x2c +#define R_IA64_GPREL32LSB 0x2d +#define R_IA64_GPREL64MSB 0x2e +#define R_IA64_GPREL64LSB 0x2f +#define R_IA64_LTOFF22 0x32 +#define R_IA64_LTOFF64I 0x33 +#define R_IA64_PLTOFF22 0x3a +#define R_IA64_PLTOFF64I 0x3b +#define R_IA64_PLTOFF64MSB 0x3e +#define R_IA64_PLTOFF64LSB 0x3f +#define R_IA64_FPTR64I 0x43 +#define R_IA64_FPTR32MSB 0x44 +#define R_IA64_FPTR32LSB 0x45 +#define R_IA64_FPTR64MSB 0x46 +#define R_IA64_FPTR64LSB 0x47 +#define R_IA64_PCREL60B 0x48 +#define R_IA64_PCREL21B 0x49 +#define R_IA64_PCREL21M 0x4a +#define R_IA64_PCREL21F 0x4b +#define R_IA64_PCREL32MSB 0x4c +#define R_IA64_PCREL32LSB 0x4d +#define R_IA64_PCREL64MSB 0x4e +#define R_IA64_PCREL64LSB 0x4f +#define R_IA64_LTOFF_FPTR22 0x52 +#define R_IA64_LTOFF_FPTR64I 0x53 +#define R_IA64_LTOFF_FPTR32MSB 0x54 +#define R_IA64_LTOFF_FPTR32LSB 0x55 +#define R_IA64_LTOFF_FPTR64MSB 0x56 +#define R_IA64_LTOFF_FPTR64LSB 0x57 +#define R_IA64_SEGREL32MSB 0x5c +#define R_IA64_SEGREL32LSB 0x5d +#define R_IA64_SEGREL64MSB 0x5e +#define R_IA64_SEGREL64LSB 0x5f +#define R_IA64_SECREL32MSB 0x64 +#define R_IA64_SECREL32LSB 0x65 +#define R_IA64_SECREL64MSB 0x66 +#define R_IA64_SECREL64LSB 0x67 +#define R_IA64_REL32MSB 0x6c +#define R_IA64_REL32LSB 0x6d +#define R_IA64_REL64MSB 0x6e +#define R_IA64_REL64LSB 0x6f +#define R_IA64_LTV32MSB 0x74 +#define R_IA64_LTV32LSB 0x75 +#define R_IA64_LTV64MSB 0x76 +#define R_IA64_LTV64LSB 0x77 +#define R_IA64_PCREL21BI 0x79 +#define R_IA64_PCREL22 0x7a +#define R_IA64_PCREL64I 0x7b +#define R_IA64_IPLTMSB 0x80 +#define R_IA64_IPLTLSB 0x81 +#define R_IA64_COPY 0x84 +#define R_IA64_SUB 0x85 +#define R_IA64_LTOFF22X 0x86 +#define R_IA64_LDXMOV 0x87 +#define R_IA64_TPREL14 0x91 +#define R_IA64_TPREL22 0x92 +#define R_IA64_TPREL64I 0x93 +#define R_IA64_TPREL64MSB 0x96 +#define R_IA64_TPREL64LSB 0x97 +#define R_IA64_LTOFF_TPREL22 0x9a +#define R_IA64_DTPMOD64MSB 0xa6 +#define R_IA64_DTPMOD64LSB 0xa7 +#define R_IA64_LTOFF_DTPMOD22 0xaa +#define R_IA64_DTPREL14 0xb1 +#define R_IA64_DTPREL22 0xb2 +#define R_IA64_DTPREL64I 0xb3 +#define R_IA64_DTPREL32MSB 0xb4 +#define R_IA64_DTPREL32LSB 0xb5 +#define R_IA64_DTPREL64MSB 0xb6 +#define R_IA64_DTPREL64LSB 0xb7 +#define R_IA64_LTOFF_DTPREL22 0xba + + +#define EF_SH_MACH_MASK 0x1f +#define EF_SH_UNKNOWN 0x0 +#define EF_SH1 0x1 +#define EF_SH2 0x2 +#define EF_SH3 0x3 +#define EF_SH_DSP 0x4 +#define EF_SH3_DSP 0x5 +#define EF_SH4AL_DSP 0x6 +#define EF_SH3E 0x8 +#define EF_SH4 0x9 +#define EF_SH2E 0xb +#define EF_SH4A 0xc +#define EF_SH2A 0xd +#define EF_SH4_NOFPU 0x10 +#define EF_SH4A_NOFPU 0x11 +#define EF_SH4_NOMMU_NOFPU 0x12 +#define EF_SH2A_NOFPU 0x13 +#define EF_SH3_NOMMU 0x14 +#define EF_SH2A_SH4_NOFPU 0x15 +#define EF_SH2A_SH3_NOFPU 0x16 +#define EF_SH2A_SH4 0x17 +#define EF_SH2A_SH3E 0x18 + +#define R_SH_NONE 0 +#define R_SH_DIR32 1 +#define R_SH_REL32 2 +#define R_SH_DIR8WPN 3 +#define R_SH_IND12W 4 +#define R_SH_DIR8WPL 5 +#define R_SH_DIR8WPZ 6 +#define R_SH_DIR8BP 7 +#define R_SH_DIR8W 8 +#define R_SH_DIR8L 9 +#define R_SH_SWITCH16 25 +#define R_SH_SWITCH32 26 +#define R_SH_USES 27 +#define R_SH_COUNT 28 +#define R_SH_ALIGN 29 +#define R_SH_CODE 30 +#define R_SH_DATA 31 +#define R_SH_LABEL 32 +#define R_SH_SWITCH8 33 +#define R_SH_GNU_VTINHERIT 34 +#define R_SH_GNU_VTENTRY 35 +#define R_SH_TLS_GD_32 144 +#define R_SH_TLS_LD_32 145 +#define R_SH_TLS_LDO_32 146 +#define R_SH_TLS_IE_32 147 +#define R_SH_TLS_LE_32 148 +#define R_SH_TLS_DTPMOD32 149 +#define R_SH_TLS_DTPOFF32 150 +#define R_SH_TLS_TPOFF32 151 +#define R_SH_GOT32 160 +#define R_SH_PLT32 161 +#define R_SH_COPY 162 +#define R_SH_GLOB_DAT 163 +#define R_SH_JMP_SLOT 164 +#define R_SH_RELATIVE 165 +#define R_SH_GOTOFF 166 +#define R_SH_GOTPC 167 +#define R_SH_GOT20 201 +#define R_SH_GOTOFF20 202 +#define R_SH_GOTFUNCDESC 203 +#define R_SH_GOTFUNCDEST20 204 +#define R_SH_GOTOFFFUNCDESC 205 +#define R_SH_GOTOFFFUNCDEST20 206 +#define R_SH_FUNCDESC 207 +#define R_SH_FUNCDESC_VALUE 208 + +#define R_SH_NUM 256 + + + +#define R_390_NONE 0 +#define R_390_8 1 +#define R_390_12 2 +#define R_390_16 3 +#define R_390_32 4 +#define R_390_PC32 5 +#define R_390_GOT12 6 +#define R_390_GOT32 7 +#define R_390_PLT32 8 +#define R_390_COPY 9 +#define R_390_GLOB_DAT 10 +#define R_390_JMP_SLOT 11 +#define R_390_RELATIVE 12 +#define R_390_GOTOFF32 13 +#define R_390_GOTPC 14 +#define R_390_GOT16 15 +#define R_390_PC16 16 +#define R_390_PC16DBL 17 +#define R_390_PLT16DBL 18 +#define R_390_PC32DBL 19 +#define R_390_PLT32DBL 20 +#define R_390_GOTPCDBL 21 +#define R_390_64 22 +#define R_390_PC64 23 +#define R_390_GOT64 24 +#define R_390_PLT64 25 +#define R_390_GOTENT 26 +#define R_390_GOTOFF16 27 +#define R_390_GOTOFF64 28 +#define R_390_GOTPLT12 29 +#define R_390_GOTPLT16 30 +#define R_390_GOTPLT32 31 +#define R_390_GOTPLT64 32 +#define R_390_GOTPLTENT 33 +#define R_390_PLTOFF16 34 +#define R_390_PLTOFF32 35 +#define R_390_PLTOFF64 36 +#define R_390_TLS_LOAD 37 +#define R_390_TLS_GDCALL 38 + +#define R_390_TLS_LDCALL 39 + +#define R_390_TLS_GD32 40 + +#define R_390_TLS_GD64 41 + +#define R_390_TLS_GOTIE12 42 + +#define R_390_TLS_GOTIE32 43 + +#define R_390_TLS_GOTIE64 44 + +#define R_390_TLS_LDM32 45 + +#define R_390_TLS_LDM64 46 + +#define R_390_TLS_IE32 47 + +#define R_390_TLS_IE64 48 + +#define R_390_TLS_IEENT 49 + +#define R_390_TLS_LE32 50 + +#define R_390_TLS_LE64 51 + +#define R_390_TLS_LDO32 52 + +#define R_390_TLS_LDO64 53 + +#define R_390_TLS_DTPMOD 54 +#define R_390_TLS_DTPOFF 55 +#define R_390_TLS_TPOFF 56 + +#define R_390_20 57 +#define R_390_GOT20 58 +#define R_390_GOTPLT20 59 +#define R_390_TLS_GOTIE20 60 + + +#define R_390_NUM 61 + + + +#define R_CRIS_NONE 0 +#define R_CRIS_8 1 +#define R_CRIS_16 2 +#define R_CRIS_32 3 +#define R_CRIS_8_PCREL 4 +#define R_CRIS_16_PCREL 5 +#define R_CRIS_32_PCREL 6 +#define R_CRIS_GNU_VTINHERIT 7 +#define R_CRIS_GNU_VTENTRY 8 +#define R_CRIS_COPY 9 +#define R_CRIS_GLOB_DAT 10 +#define R_CRIS_JUMP_SLOT 11 +#define R_CRIS_RELATIVE 12 +#define R_CRIS_16_GOT 13 +#define R_CRIS_32_GOT 14 +#define R_CRIS_16_GOTPLT 15 +#define R_CRIS_32_GOTPLT 16 +#define R_CRIS_32_GOTREL 17 +#define R_CRIS_32_PLT_GOTREL 18 +#define R_CRIS_32_PLT_PCREL 19 + +#define R_CRIS_NUM 20 + + + +#define R_X86_64_NONE 0 +#define R_X86_64_64 1 +#define R_X86_64_PC32 2 +#define R_X86_64_GOT32 3 +#define R_X86_64_PLT32 4 +#define R_X86_64_COPY 5 +#define R_X86_64_GLOB_DAT 6 +#define R_X86_64_JUMP_SLOT 7 +#define R_X86_64_RELATIVE 8 +#define R_X86_64_GOTPCREL 9 + +#define R_X86_64_32 10 +#define R_X86_64_32S 11 +#define R_X86_64_16 12 +#define R_X86_64_PC16 13 +#define R_X86_64_8 14 +#define R_X86_64_PC8 15 +#define R_X86_64_DTPMOD64 16 +#define R_X86_64_DTPOFF64 17 +#define R_X86_64_TPOFF64 18 +#define R_X86_64_TLSGD 19 + +#define R_X86_64_TLSLD 20 + +#define R_X86_64_DTPOFF32 21 +#define R_X86_64_GOTTPOFF 22 + +#define R_X86_64_TPOFF32 23 +#define R_X86_64_PC64 24 +#define R_X86_64_GOTOFF64 25 +#define R_X86_64_GOTPC32 26 +#define R_X86_64_GOT64 27 +#define R_X86_64_GOTPCREL64 28 +#define R_X86_64_GOTPC64 29 +#define R_X86_64_GOTPLT64 30 +#define R_X86_64_PLTOFF64 31 +#define R_X86_64_SIZE32 32 +#define R_X86_64_SIZE64 33 + +#define R_X86_64_GOTPC32_TLSDESC 34 +#define R_X86_64_TLSDESC_CALL 35 + +#define R_X86_64_TLSDESC 36 +#define R_X86_64_IRELATIVE 37 +#define R_X86_64_RELATIVE64 38 +#define R_X86_64_GOTPCRELX 41 +#define R_X86_64_REX_GOTPCRELX 42 +#define R_X86_64_NUM 43 + + + +#define R_MN10300_NONE 0 +#define R_MN10300_32 1 +#define R_MN10300_16 2 +#define R_MN10300_8 3 +#define R_MN10300_PCREL32 4 +#define R_MN10300_PCREL16 5 +#define R_MN10300_PCREL8 6 +#define R_MN10300_GNU_VTINHERIT 7 +#define R_MN10300_GNU_VTENTRY 8 +#define R_MN10300_24 9 +#define R_MN10300_GOTPC32 10 +#define R_MN10300_GOTPC16 11 +#define R_MN10300_GOTOFF32 12 +#define R_MN10300_GOTOFF24 13 +#define R_MN10300_GOTOFF16 14 +#define R_MN10300_PLT32 15 +#define R_MN10300_PLT16 16 +#define R_MN10300_GOT32 17 +#define R_MN10300_GOT24 18 +#define R_MN10300_GOT16 19 +#define R_MN10300_COPY 20 +#define R_MN10300_GLOB_DAT 21 +#define R_MN10300_JMP_SLOT 22 +#define R_MN10300_RELATIVE 23 + +#define R_MN10300_NUM 24 + + + +#define R_M32R_NONE 0 +#define R_M32R_16 1 +#define R_M32R_32 2 +#define R_M32R_24 3 +#define R_M32R_10_PCREL 4 +#define R_M32R_18_PCREL 5 +#define R_M32R_26_PCREL 6 +#define R_M32R_HI16_ULO 7 +#define R_M32R_HI16_SLO 8 +#define R_M32R_LO16 9 +#define R_M32R_SDA16 10 +#define R_M32R_GNU_VTINHERIT 11 +#define R_M32R_GNU_VTENTRY 12 + +#define R_M32R_16_RELA 33 +#define R_M32R_32_RELA 34 +#define R_M32R_24_RELA 35 +#define R_M32R_10_PCREL_RELA 36 +#define R_M32R_18_PCREL_RELA 37 +#define R_M32R_26_PCREL_RELA 38 +#define R_M32R_HI16_ULO_RELA 39 +#define R_M32R_HI16_SLO_RELA 40 +#define R_M32R_LO16_RELA 41 +#define R_M32R_SDA16_RELA 42 +#define R_M32R_RELA_GNU_VTINHERIT 43 +#define R_M32R_RELA_GNU_VTENTRY 44 +#define R_M32R_REL32 45 + +#define R_M32R_GOT24 48 +#define R_M32R_26_PLTREL 49 +#define R_M32R_COPY 50 +#define R_M32R_GLOB_DAT 51 +#define R_M32R_JMP_SLOT 52 +#define R_M32R_RELATIVE 53 +#define R_M32R_GOTOFF 54 +#define R_M32R_GOTPC24 55 +#define R_M32R_GOT16_HI_ULO 56 + +#define R_M32R_GOT16_HI_SLO 57 + +#define R_M32R_GOT16_LO 58 +#define R_M32R_GOTPC_HI_ULO 59 + +#define R_M32R_GOTPC_HI_SLO 60 + +#define R_M32R_GOTPC_LO 61 + +#define R_M32R_GOTOFF_HI_ULO 62 + +#define R_M32R_GOTOFF_HI_SLO 63 + +#define R_M32R_GOTOFF_LO 64 +#define R_M32R_NUM 256 + +#define R_MICROBLAZE_NONE 0 +#define R_MICROBLAZE_32 1 +#define R_MICROBLAZE_32_PCREL 2 +#define R_MICROBLAZE_64_PCREL 3 +#define R_MICROBLAZE_32_PCREL_LO 4 +#define R_MICROBLAZE_64 5 +#define R_MICROBLAZE_32_LO 6 +#define R_MICROBLAZE_SRO32 7 +#define R_MICROBLAZE_SRW32 8 +#define R_MICROBLAZE_64_NONE 9 +#define R_MICROBLAZE_32_SYM_OP_SYM 10 +#define R_MICROBLAZE_GNU_VTINHERIT 11 +#define R_MICROBLAZE_GNU_VTENTRY 12 +#define R_MICROBLAZE_GOTPC_64 13 +#define R_MICROBLAZE_GOT_64 14 +#define R_MICROBLAZE_PLT_64 15 +#define R_MICROBLAZE_REL 16 +#define R_MICROBLAZE_JUMP_SLOT 17 +#define R_MICROBLAZE_GLOB_DAT 18 +#define R_MICROBLAZE_GOTOFF_64 19 +#define R_MICROBLAZE_GOTOFF_32 20 +#define R_MICROBLAZE_COPY 21 +#define R_MICROBLAZE_TLS 22 +#define R_MICROBLAZE_TLSGD 23 +#define R_MICROBLAZE_TLSLD 24 +#define R_MICROBLAZE_TLSDTPMOD32 25 +#define R_MICROBLAZE_TLSDTPREL32 26 +#define R_MICROBLAZE_TLSDTPREL64 27 +#define R_MICROBLAZE_TLSGOTTPREL32 28 +#define R_MICROBLAZE_TLSTPREL32 29 + +#define DT_NIOS2_GP 0x70000002 + +#define R_NIOS2_NONE 0 +#define R_NIOS2_S16 1 +#define R_NIOS2_U16 2 +#define R_NIOS2_PCREL16 3 +#define R_NIOS2_CALL26 4 +#define R_NIOS2_IMM5 5 +#define R_NIOS2_CACHE_OPX 6 +#define R_NIOS2_IMM6 7 +#define R_NIOS2_IMM8 8 +#define R_NIOS2_HI16 9 +#define R_NIOS2_LO16 10 +#define R_NIOS2_HIADJ16 11 +#define R_NIOS2_BFD_RELOC_32 12 +#define R_NIOS2_BFD_RELOC_16 13 +#define R_NIOS2_BFD_RELOC_8 14 +#define R_NIOS2_GPREL 15 +#define R_NIOS2_GNU_VTINHERIT 16 +#define R_NIOS2_GNU_VTENTRY 17 +#define R_NIOS2_UJMP 18 +#define R_NIOS2_CJMP 19 +#define R_NIOS2_CALLR 20 +#define R_NIOS2_ALIGN 21 +#define R_NIOS2_GOT16 22 +#define R_NIOS2_CALL16 23 +#define R_NIOS2_GOTOFF_LO 24 +#define R_NIOS2_GOTOFF_HA 25 +#define R_NIOS2_PCREL_LO 26 +#define R_NIOS2_PCREL_HA 27 +#define R_NIOS2_TLS_GD16 28 +#define R_NIOS2_TLS_LDM16 29 +#define R_NIOS2_TLS_LDO16 30 +#define R_NIOS2_TLS_IE16 31 +#define R_NIOS2_TLS_LE16 32 +#define R_NIOS2_TLS_DTPMOD 33 +#define R_NIOS2_TLS_DTPREL 34 +#define R_NIOS2_TLS_TPREL 35 +#define R_NIOS2_COPY 36 +#define R_NIOS2_GLOB_DAT 37 +#define R_NIOS2_JUMP_SLOT 38 +#define R_NIOS2_RELATIVE 39 +#define R_NIOS2_GOTOFF 40 +#define R_NIOS2_CALL26_NOAT 41 +#define R_NIOS2_GOT_LO 42 +#define R_NIOS2_GOT_HA 43 +#define R_NIOS2_CALL_LO 44 +#define R_NIOS2_CALL_HA 45 + +#define R_OR1K_NONE 0 +#define R_OR1K_32 1 +#define R_OR1K_16 2 +#define R_OR1K_8 3 +#define R_OR1K_LO_16_IN_INSN 4 +#define R_OR1K_HI_16_IN_INSN 5 +#define R_OR1K_INSN_REL_26 6 +#define R_OR1K_GNU_VTENTRY 7 +#define R_OR1K_GNU_VTINHERIT 8 +#define R_OR1K_32_PCREL 9 +#define R_OR1K_16_PCREL 10 +#define R_OR1K_8_PCREL 11 +#define R_OR1K_GOTPC_HI16 12 +#define R_OR1K_GOTPC_LO16 13 +#define R_OR1K_GOT16 14 +#define R_OR1K_PLT26 15 +#define R_OR1K_GOTOFF_HI16 16 +#define R_OR1K_GOTOFF_LO16 17 +#define R_OR1K_COPY 18 +#define R_OR1K_GLOB_DAT 19 +#define R_OR1K_JMP_SLOT 20 +#define R_OR1K_RELATIVE 21 +#define R_OR1K_TLS_GD_HI16 22 +#define R_OR1K_TLS_GD_LO16 23 +#define R_OR1K_TLS_LDM_HI16 24 +#define R_OR1K_TLS_LDM_LO16 25 +#define R_OR1K_TLS_LDO_HI16 26 +#define R_OR1K_TLS_LDO_LO16 27 +#define R_OR1K_TLS_IE_HI16 28 +#define R_OR1K_TLS_IE_LO16 29 +#define R_OR1K_TLS_LE_HI16 30 +#define R_OR1K_TLS_LE_LO16 31 +#define R_OR1K_TLS_TPOFF 32 +#define R_OR1K_TLS_DTPOFF 33 +#define R_OR1K_TLS_DTPMOD 34 + +#define R_BPF_NONE 0 +#define R_BPF_MAP_FD 1 + +#define R_RISCV_NONE 0 +#define R_RISCV_32 1 +#define R_RISCV_64 2 +#define R_RISCV_RELATIVE 3 +#define R_RISCV_COPY 4 +#define R_RISCV_JUMP_SLOT 5 +#define R_RISCV_TLS_DTPMOD32 6 +#define R_RISCV_TLS_DTPMOD64 7 +#define R_RISCV_TLS_DTPREL32 8 +#define R_RISCV_TLS_DTPREL64 9 +#define R_RISCV_TLS_TPREL32 10 +#define R_RISCV_TLS_TPREL64 11 +#define R_RISCV_TLSDESC 12 + +#define R_RISCV_BRANCH 16 +#define R_RISCV_JAL 17 +#define R_RISCV_CALL 18 +#define R_RISCV_CALL_PLT 19 +#define R_RISCV_GOT_HI20 20 +#define R_RISCV_TLS_GOT_HI20 21 +#define R_RISCV_TLS_GD_HI20 22 +#define R_RISCV_PCREL_HI20 23 +#define R_RISCV_PCREL_LO12_I 24 +#define R_RISCV_PCREL_LO12_S 25 +#define R_RISCV_HI20 26 +#define R_RISCV_LO12_I 27 +#define R_RISCV_LO12_S 28 +#define R_RISCV_TPREL_HI20 29 +#define R_RISCV_TPREL_LO12_I 30 +#define R_RISCV_TPREL_LO12_S 31 +#define R_RISCV_TPREL_ADD 32 +#define R_RISCV_ADD8 33 +#define R_RISCV_ADD16 34 +#define R_RISCV_ADD32 35 +#define R_RISCV_ADD64 36 +#define R_RISCV_SUB8 37 +#define R_RISCV_SUB16 38 +#define R_RISCV_SUB32 39 +#define R_RISCV_SUB64 40 +#define R_RISCV_GOT32_PCREL 41 +#define R_RISCV_ALIGN 43 +#define R_RISCV_RVC_BRANCH 44 +#define R_RISCV_RVC_JUMP 45 +#define R_RISCV_RVC_LUI 46 +#define R_RISCV_RELAX 51 +#define R_RISCV_SUB6 52 +#define R_RISCV_SET6 53 +#define R_RISCV_SET8 54 +#define R_RISCV_SET16 55 +#define R_RISCV_SET32 56 +#define R_RISCV_32_PCREL 57 +#define R_RISCV_IRELATIVE 58 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 +#define R_RISCV_TLSDESC_HI20 62 +#define R_RISCV_TLSDESC_LOAD_LO12 63 +#define R_RISCV_TLSDESC_ADD_LO12 64 +#define R_RISCV_TLSDESC_CALL 65 + +#define EF_LARCH_ABI_MODIFIER_MASK 0x07 +#define EF_LARCH_ABI_SOFT_FLOAT 0x01 +#define EF_LARCH_ABI_SINGLE_FLOAT 0x02 +#define EF_LARCH_ABI_DOUBLE_FLOAT 0x03 +#define EF_LARCH_OBJABI_V1 0x40 + +#define R_LARCH_NONE 0 +#define R_LARCH_32 1 +#define R_LARCH_64 2 +#define R_LARCH_RELATIVE 3 +#define R_LARCH_COPY 4 +#define R_LARCH_JUMP_SLOT 5 +#define R_LARCH_TLS_DTPMOD32 6 +#define R_LARCH_TLS_DTPMOD64 7 +#define R_LARCH_TLS_DTPREL32 8 +#define R_LARCH_TLS_DTPREL64 9 +#define R_LARCH_TLS_TPREL32 10 +#define R_LARCH_TLS_TPREL64 11 +#define R_LARCH_IRELATIVE 12 +#define R_LARCH_MARK_LA 20 +#define R_LARCH_MARK_PCREL 21 +#define R_LARCH_SOP_PUSH_PCREL 22 +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 +#define R_LARCH_SOP_PUSH_DUP 24 +#define R_LARCH_SOP_PUSH_GPREL 25 +#define R_LARCH_SOP_PUSH_TLS_TPREL 26 +#define R_LARCH_SOP_PUSH_TLS_GOT 27 +#define R_LARCH_SOP_PUSH_TLS_GD 28 +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 +#define R_LARCH_SOP_ASSERT 30 +#define R_LARCH_SOP_NOT 31 +#define R_LARCH_SOP_SUB 32 +#define R_LARCH_SOP_SL 33 +#define R_LARCH_SOP_SR 34 +#define R_LARCH_SOP_ADD 35 +#define R_LARCH_SOP_AND 36 +#define R_LARCH_SOP_IF_ELSE 37 +#define R_LARCH_SOP_POP_32_S_10_5 38 +#define R_LARCH_SOP_POP_32_U_10_12 39 +#define R_LARCH_SOP_POP_32_S_10_12 40 +#define R_LARCH_SOP_POP_32_S_10_16 41 +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 +#define R_LARCH_SOP_POP_32_S_5_20 43 +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 +#define R_LARCH_SOP_POP_32_U 46 +#define R_LARCH_ADD8 47 +#define R_LARCH_ADD16 48 +#define R_LARCH_ADD24 49 +#define R_LARCH_ADD32 50 +#define R_LARCH_ADD64 51 +#define R_LARCH_SUB8 52 +#define R_LARCH_SUB16 53 +#define R_LARCH_SUB24 54 +#define R_LARCH_SUB32 55 +#define R_LARCH_SUB64 56 +#define R_LARCH_GNU_VTINHERIT 57 +#define R_LARCH_GNU_VTENTRY 58 +#define R_LARCH_B16 64 +#define R_LARCH_B21 65 +#define R_LARCH_B26 66 +#define R_LARCH_ABS_HI20 67 +#define R_LARCH_ABS_LO12 68 +#define R_LARCH_ABS64_LO20 69 +#define R_LARCH_ABS64_HI12 70 +#define R_LARCH_PCALA_HI20 71 +#define R_LARCH_PCALA_LO12 72 +#define R_LARCH_PCALA64_LO20 73 +#define R_LARCH_PCALA64_HI12 74 +#define R_LARCH_GOT_PC_HI20 75 +#define R_LARCH_GOT_PC_LO12 76 +#define R_LARCH_GOT64_PC_LO20 77 +#define R_LARCH_GOT64_PC_HI12 78 +#define R_LARCH_GOT_HI20 79 +#define R_LARCH_GOT_LO12 80 +#define R_LARCH_GOT64_LO20 81 +#define R_LARCH_GOT64_HI12 82 +#define R_LARCH_TLS_LE_HI20 83 +#define R_LARCH_TLS_LE_LO12 84 +#define R_LARCH_TLS_LE64_LO20 85 +#define R_LARCH_TLS_LE64_HI12 86 +#define R_LARCH_TLS_IE_PC_HI20 87 +#define R_LARCH_TLS_IE_PC_LO12 88 +#define R_LARCH_TLS_IE64_PC_LO20 89 +#define R_LARCH_TLS_IE64_PC_HI12 90 +#define R_LARCH_TLS_IE_HI20 91 +#define R_LARCH_TLS_IE_LO12 92 +#define R_LARCH_TLS_IE64_LO20 93 +#define R_LARCH_TLS_IE64_HI12 94 +#define R_LARCH_TLS_LD_PC_HI20 95 +#define R_LARCH_TLS_LD_HI20 96 +#define R_LARCH_TLS_GD_PC_HI20 97 +#define R_LARCH_TLS_GD_HI20 98 +#define R_LARCH_32_PCREL 99 +#define R_LARCH_RELAX 100 + +#ifdef __cplusplus +} +#endif + + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/endian.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/endian.h new file mode 100644 index 00000000..12b8d303 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/endian.h @@ -0,0 +1,80 @@ +#ifndef _ENDIAN_H +#define _ENDIAN_H + +#include + +#define __NEED_uint16_t +#define __NEED_uint32_t +#define __NEED_uint64_t + +#include + +#define __PDP_ENDIAN 3412 + +#define BIG_ENDIAN __BIG_ENDIAN +#define LITTLE_ENDIAN __LITTLE_ENDIAN +#define PDP_ENDIAN __PDP_ENDIAN +#define BYTE_ORDER __BYTE_ORDER + +static __inline uint16_t __bswap16(uint16_t __x) +{ + return __x<<8 | __x>>8; +} + +static __inline uint32_t __bswap32(uint32_t __x) +{ + return __x>>24 | __x>>8&0xff00 | __x<<8&0xff0000 | __x<<24; +} + +static __inline uint64_t __bswap64(uint64_t __x) +{ + return __bswap32(__x)+0ULL<<32 | __bswap32(__x>>32); +} + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define htobe16(x) __bswap16(x) +#define be16toh(x) __bswap16(x) +#define htobe32(x) __bswap32(x) +#define be32toh(x) __bswap32(x) +#define htobe64(x) __bswap64(x) +#define be64toh(x) __bswap64(x) +#define htole16(x) (uint16_t)(x) +#define le16toh(x) (uint16_t)(x) +#define htole32(x) (uint32_t)(x) +#define le32toh(x) (uint32_t)(x) +#define htole64(x) (uint64_t)(x) +#define le64toh(x) (uint64_t)(x) +#else +#define htobe16(x) (uint16_t)(x) +#define be16toh(x) (uint16_t)(x) +#define htobe32(x) (uint32_t)(x) +#define be32toh(x) (uint32_t)(x) +#define htobe64(x) (uint64_t)(x) +#define be64toh(x) (uint64_t)(x) +#define htole16(x) __bswap16(x) +#define le16toh(x) __bswap16(x) +#define htole32(x) __bswap32(x) +#define le32toh(x) __bswap32(x) +#define htole64(x) __bswap64(x) +#define le64toh(x) __bswap64(x) +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define betoh16(x) __bswap16(x) +#define betoh32(x) __bswap32(x) +#define betoh64(x) __bswap64(x) +#define letoh16(x) (uint16_t)(x) +#define letoh32(x) (uint32_t)(x) +#define letoh64(x) (uint64_t)(x) +#else +#define betoh16(x) (uint16_t)(x) +#define betoh32(x) (uint32_t)(x) +#define betoh64(x) (uint64_t)(x) +#define letoh16(x) __bswap16(x) +#define letoh32(x) __bswap32(x) +#define letoh64(x) __bswap64(x) +#endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/err.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/err.h new file mode 100644 index 00000000..b1f07682 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/err.h @@ -0,0 +1,25 @@ +#ifndef _ERR_H +#define _ERR_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void warn(const char *, ...); +void vwarn(const char *, va_list); +void warnx(const char *, ...); +void vwarnx(const char *, va_list); + +_Noreturn void err(int, const char *, ...); +_Noreturn void verr(int, const char *, va_list); +_Noreturn void errx(int, const char *, ...); +_Noreturn void verrx(int, const char *, va_list); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/errno.h new file mode 100644 index 00000000..3e240411 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/errno.h @@ -0,0 +1,26 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +#ifdef __GNUC__ +__attribute__((const)) +#endif +int *__errno_location(void); +#define errno (*__errno_location()) + +#ifdef _GNU_SOURCE +extern char *program_invocation_short_name, *program_invocation_name; +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fcntl.h new file mode 100644 index 00000000..91d5f777 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fcntl.h @@ -0,0 +1,218 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_mode_t + +#ifdef _GNU_SOURCE +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec +#endif + +#include + +#include + +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +int creat(const char *, mode_t); +int fcntl(int, int, ...); +int open(const char *, int, ...); +int openat(int, const char *, int, ...); +int posix_fadvise(int, off_t, off_t, int); +int posix_fallocate(int, off_t, off_t); + +#define O_SEARCH O_PATH +#define O_EXEC O_PATH +#define O_TTY_INIT 0 + +#define O_ACCMODE (03|O_SEARCH) +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 + +#define F_OFD_GETLK 36 +#define F_OFD_SETLK 37 +#define F_OFD_SETLKW 38 + +#define F_DUPFD_CLOEXEC 1030 + +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +#define FD_CLOEXEC 1 + +#define AT_FDCWD (-100) +#define AT_SYMLINK_NOFOLLOW 0x100 +#define AT_REMOVEDIR 0x200 +#define AT_SYMLINK_FOLLOW 0x400 +#define AT_EACCESS 0x200 + +#define POSIX_FADV_NORMAL 0 +#define POSIX_FADV_RANDOM 1 +#define POSIX_FADV_SEQUENTIAL 2 +#define POSIX_FADV_WILLNEED 3 +#ifndef POSIX_FADV_DONTNEED +#define POSIX_FADV_DONTNEED 4 +#define POSIX_FADV_NOREUSE 5 +#endif + +#undef SEEK_SET +#undef SEEK_CUR +#undef SEEK_END +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#ifndef S_IRUSR +#define S_ISUID 04000 +#define S_ISGID 02000 +#define S_ISVTX 01000 +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#define S_IRWXU 0700 +#define S_IRGRP 0040 +#define S_IWGRP 0020 +#define S_IXGRP 0010 +#define S_IRWXG 0070 +#define S_IROTH 0004 +#define S_IWOTH 0002 +#define S_IXOTH 0001 +#define S_IRWXO 0007 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define AT_NO_AUTOMOUNT 0x800 +#define AT_EMPTY_PATH 0x1000 +#define AT_STATX_SYNC_TYPE 0x6000 +#define AT_STATX_SYNC_AS_STAT 0x0000 +#define AT_STATX_FORCE_SYNC 0x2000 +#define AT_STATX_DONT_SYNC 0x4000 +#define AT_RECURSIVE 0x8000 + +#define FAPPEND O_APPEND +#define FFSYNC O_SYNC +#define FASYNC O_ASYNC +#define FNONBLOCK O_NONBLOCK +#define FNDELAY O_NDELAY + +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 + +#define F_SETLEASE 1024 +#define F_GETLEASE 1025 +#define F_NOTIFY 1026 +#define F_CANCELLK 1029 +#define F_SETPIPE_SZ 1031 +#define F_GETPIPE_SZ 1032 +#define F_ADD_SEALS 1033 +#define F_GET_SEALS 1034 + +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 +#define F_SEAL_FUTURE_WRITE 0x0010 + +#define F_GET_RW_HINT 1035 +#define F_SET_RW_HINT 1036 +#define F_GET_FILE_RW_HINT 1037 +#define F_SET_FILE_RW_HINT 1038 + +#define RWF_WRITE_LIFE_NOT_SET 0 +#define RWH_WRITE_LIFE_NONE 1 +#define RWH_WRITE_LIFE_SHORT 2 +#define RWH_WRITE_LIFE_MEDIUM 3 +#define RWH_WRITE_LIFE_LONG 4 +#define RWH_WRITE_LIFE_EXTREME 5 + +#define DN_ACCESS 0x00000001 +#define DN_MODIFY 0x00000002 +#define DN_CREATE 0x00000004 +#define DN_DELETE 0x00000008 +#define DN_RENAME 0x00000010 +#define DN_ATTRIB 0x00000020 +#define DN_MULTISHOT 0x80000000 + +int lockf(int, int, off_t); +#endif + +#if defined(_GNU_SOURCE) +#define F_OWNER_TID 0 +#define F_OWNER_PID 1 +#define F_OWNER_PGRP 2 +#define F_OWNER_GID 2 +struct file_handle { + unsigned handle_bytes; + int handle_type; + unsigned char f_handle[]; +}; +struct f_owner_ex { + int type; + pid_t pid; +}; +#define FALLOC_FL_KEEP_SIZE 1 +#define FALLOC_FL_PUNCH_HOLE 2 +#define MAX_HANDLE_SZ 128 +#define SYNC_FILE_RANGE_WAIT_BEFORE 1 +#define SYNC_FILE_RANGE_WRITE 2 +#define SYNC_FILE_RANGE_WAIT_AFTER 4 +#define SPLICE_F_MOVE 1 +#define SPLICE_F_NONBLOCK 2 +#define SPLICE_F_MORE 4 +#define SPLICE_F_GIFT 8 +int fallocate(int, int, off_t, off_t); +int name_to_handle_at(int, const char *, struct file_handle *, int *, int); +int open_by_handle_at(int, struct file_handle *, int); +ssize_t readahead(int, off_t, size_t); +int sync_file_range(int, off_t, off_t, unsigned); +ssize_t vmsplice(int, const struct iovec *, size_t, unsigned); +ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned); +ssize_t tee(int, int, size_t, unsigned); +#define loff_t off_t +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define F_GETLK64 F_GETLK +#define F_SETLK64 F_SETLK +#define F_SETLKW64 F_SETLKW +#define flock64 flock +#define open64 open +#define openat64 openat +#define creat64 creat +#define lockf64 lockf +#define posix_fadvise64 posix_fadvise +#define posix_fallocate64 posix_fallocate +#define off64_t off_t +#if defined(_GNU_SOURCE) +#define fallocate64 fallocate +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/features.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/features.h new file mode 100644 index 00000000..6b8e6aa2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/features.h @@ -0,0 +1,40 @@ +#ifndef _FEATURES_H +#define _FEATURES_H + +#if defined(_ALL_SOURCE) && !defined(_GNU_SOURCE) +#define _GNU_SOURCE 1 +#endif + +#if defined(_DEFAULT_SOURCE) && !defined(_BSD_SOURCE) +#define _BSD_SOURCE 1 +#endif + +#if !defined(_POSIX_SOURCE) && !defined(_POSIX_C_SOURCE) \ + && !defined(_XOPEN_SOURCE) && !defined(_GNU_SOURCE) \ + && !defined(_BSD_SOURCE) && !defined(__STRICT_ANSI__) +#define _BSD_SOURCE 1 +#define _XOPEN_SOURCE 700 +#endif + +#if __STDC_VERSION__ >= 199901L +#define __restrict restrict +#elif !defined(__GNUC__) +#define __restrict +#endif + +#if __STDC_VERSION__ >= 199901L || defined(__cplusplus) +#define __inline inline +#elif !defined(__GNUC__) +#define __inline +#endif + +#if __STDC_VERSION__ >= 201112L +#elif defined(__GNUC__) +#define _Noreturn __attribute__((__noreturn__)) +#else +#define _Noreturn +#endif + +#define __REDIR(x,y) __typeof__(x) x __asm__(#y) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fenv.h new file mode 100644 index 00000000..c06b8bc0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fenv.h @@ -0,0 +1,27 @@ +#ifndef _FENV_H +#define _FENV_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int feclearexcept(int); +int fegetexceptflag(fexcept_t *, int); +int feraiseexcept(int); +int fesetexceptflag(const fexcept_t *, int); +int fetestexcept(int); + +int fegetround(void); +int fesetround(int); + +int fegetenv(fenv_t *); +int feholdexcept(fenv_t *); +int fesetenv(const fenv_t *); +int feupdateenv(const fenv_t *); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/float.h new file mode 100644 index 00000000..bf0b9077 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/float.h @@ -0,0 +1,52 @@ +#ifndef _FLOAT_H +#define _FLOAT_H + +#ifdef __cplusplus +extern "C" { +#endif + +int __flt_rounds(void); +#define FLT_ROUNDS (__flt_rounds()) + +#define FLT_RADIX 2 + +#define FLT_TRUE_MIN 1.40129846432481707092e-45F +#define FLT_MIN 1.17549435082228750797e-38F +#define FLT_MAX 3.40282346638528859812e+38F +#define FLT_EPSILON 1.1920928955078125e-07F + +#define FLT_MANT_DIG 24 +#define FLT_MIN_EXP (-125) +#define FLT_MAX_EXP 128 +#define FLT_HAS_SUBNORM 1 + +#define FLT_DIG 6 +#define FLT_DECIMAL_DIG 9 +#define FLT_MIN_10_EXP (-37) +#define FLT_MAX_10_EXP 38 + +#define DBL_TRUE_MIN 4.94065645841246544177e-324 +#define DBL_MIN 2.22507385850720138309e-308 +#define DBL_MAX 1.79769313486231570815e+308 +#define DBL_EPSILON 2.22044604925031308085e-16 + +#define DBL_MANT_DIG 53 +#define DBL_MIN_EXP (-1021) +#define DBL_MAX_EXP 1024 +#define DBL_HAS_SUBNORM 1 + +#define DBL_DIG 15 +#define DBL_DECIMAL_DIG 17 +#define DBL_MIN_10_EXP (-307) +#define DBL_MAX_10_EXP 308 + +#define LDBL_HAS_SUBNORM 1 +#define LDBL_DECIMAL_DIG DECIMAL_DIG + +#include + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fmtmsg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fmtmsg.h new file mode 100644 index 00000000..1431751b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fmtmsg.h @@ -0,0 +1,47 @@ +#ifndef _FMTMSG_H +#define _FMTMSG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define MM_HARD 1 +#define MM_SOFT 2 +#define MM_FIRM 4 + +#define MM_APPL 8 +#define MM_UTIL 16 +#define MM_OPSYS 32 + +#define MM_RECOVER 64 +#define MM_NRECOV 128 + +#define MM_PRINT 256 +#define MM_CONSOLE 512 + +#define MM_NULLMC 0L + +#define MM_HALT 1 +#define MM_ERROR 2 +#define MM_WARNING 3 +#define MM_INFO 4 +#define MM_NOSEV 0 + +#define MM_OK 0 +#define MM_NOTOK (-1) +#define MM_NOMSG 1 +#define MM_NOCON 4 + +#define MM_NULLLBL ((char*)0) +#define MM_NULLTXT ((char*)0) +#define MM_NULLACT ((char*)0) +#define MM_NULLTAG ((char*)0) +#define MM_NULLSEV 0 + +int fmtmsg(long, const char *, int, const char *, const char *, const char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fnmatch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fnmatch.h new file mode 100644 index 00000000..1bbac277 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/fnmatch.h @@ -0,0 +1,24 @@ +#ifndef _FNMATCH_H +#define _FNMATCH_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define FNM_PATHNAME 0x1 +#define FNM_NOESCAPE 0x2 +#define FNM_PERIOD 0x4 +#define FNM_LEADING_DIR 0x8 +#define FNM_CASEFOLD 0x10 +#define FNM_FILE_NAME FNM_PATHNAME + +#define FNM_NOMATCH 1 +#define FNM_NOSYS (-1) + +int fnmatch(const char *, const char *, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ftw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ftw.h new file mode 100644 index 00000000..03278358 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ftw.h @@ -0,0 +1,41 @@ +#ifndef _FTW_H +#define _FTW_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define FTW_F 1 +#define FTW_D 2 +#define FTW_DNR 3 +#define FTW_NS 4 +#define FTW_SL 5 +#define FTW_DP 6 +#define FTW_SLN 7 + +#define FTW_PHYS 1 +#define FTW_MOUNT 2 +#define FTW_CHDIR 4 +#define FTW_DEPTH 8 + +struct FTW { + int base; + int level; +}; + +int ftw(const char *, int (*)(const char *, const struct stat *, int), int); +int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int); + +#if defined(_LARGEFILE64_SOURCE) +#define ftw64 ftw +#define nftw64 nftw +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/getopt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/getopt.h new file mode 100644 index 00000000..5469835c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/getopt.h @@ -0,0 +1,30 @@ +#ifndef _GETOPT_H +#define _GETOPT_H + +#ifdef __cplusplus +extern "C" { +#endif + +int getopt(int, char * const [], const char *); +extern char *optarg; +extern int optind, opterr, optopt, optreset; + +struct option { + const char *name; + int has_arg; + int *flag; + int val; +}; + +int getopt_long(int, char *const *, const char *, const struct option *, int *); +int getopt_long_only(int, char *const *, const char *, const struct option *, int *); + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/glob.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/glob.h new file mode 100644 index 00000000..4eadfe25 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/glob.h @@ -0,0 +1,52 @@ +#ifndef _GLOB_H +#define _GLOB_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t + +#include + +typedef struct { + size_t gl_pathc; + char **gl_pathv; + size_t gl_offs; + int __dummy1; + void *__dummy2[5]; +} glob_t; + +int glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict); +void globfree(glob_t *); + +#define GLOB_ERR 0x01 +#define GLOB_MARK 0x02 +#define GLOB_NOSORT 0x04 +#define GLOB_DOOFFS 0x08 +#define GLOB_NOCHECK 0x10 +#define GLOB_APPEND 0x20 +#define GLOB_NOESCAPE 0x40 +#define GLOB_PERIOD 0x80 + +#define GLOB_TILDE 0x1000 +#define GLOB_TILDE_CHECK 0x4000 + +#define GLOB_NOSPACE 1 +#define GLOB_ABORTED 2 +#define GLOB_NOMATCH 3 +#define GLOB_NOSYS 4 + +#if defined(_LARGEFILE64_SOURCE) +#define glob64 glob +#define globfree64 globfree +#define glob64_t glob_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/grp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/grp.h new file mode 100644 index 00000000..20797298 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/grp.h @@ -0,0 +1,53 @@ +#ifndef _GRP_H +#define _GRP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_gid_t + +#ifdef _GNU_SOURCE +#define __NEED_FILE +#endif + +#include + +struct group { + char *gr_name; + char *gr_passwd; + gid_t gr_gid; + char **gr_mem; +}; + +struct group *getgrgid(gid_t); +struct group *getgrnam(const char *); + +int getgrgid_r(gid_t, struct group *, char *, size_t, struct group **); +int getgrnam_r(const char *, struct group *, char *, size_t, struct group **); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct group *getgrent(void); +void endgrent(void); +void setgrent(void); +#endif + +#ifdef _GNU_SOURCE +struct group *fgetgrent(FILE *); +int putgrent(const struct group *, FILE *); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int getgrouplist(const char *, gid_t, gid_t *, int *); +int setgroups(size_t, const gid_t *); +int initgroups(const char *, gid_t); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iconv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iconv.h new file mode 100644 index 00000000..5972df8a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iconv.h @@ -0,0 +1,24 @@ +#ifndef _ICONV_H +#define _ICONV_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t + +#include + +typedef void *iconv_t; + +iconv_t iconv_open(const char *, const char *); +size_t iconv(iconv_t, char **__restrict, size_t *__restrict, char **__restrict, size_t *__restrict); +int iconv_close(iconv_t); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ifaddrs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ifaddrs.h new file mode 100644 index 00000000..595a5e65 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ifaddrs.h @@ -0,0 +1,34 @@ +#ifndef _IFADDRS_H +#define _IFADDRS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +struct ifaddrs { + struct ifaddrs *ifa_next; + char *ifa_name; + unsigned ifa_flags; + struct sockaddr *ifa_addr; + struct sockaddr *ifa_netmask; + union { + struct sockaddr *ifu_broadaddr; + struct sockaddr *ifu_dstaddr; + } ifa_ifu; + void *ifa_data; +}; +#define ifa_broadaddr ifa_ifu.ifu_broadaddr +#define ifa_dstaddr ifa_ifu.ifu_dstaddr + +void freeifaddrs(struct ifaddrs *); +int getifaddrs(struct ifaddrs **); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/inttypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/inttypes.h new file mode 100644 index 00000000..30eacbd1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/inttypes.h @@ -0,0 +1,228 @@ +#ifndef _INTTYPES_H +#define _INTTYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_wchar_t +#include + +typedef struct { intmax_t quot, rem; } imaxdiv_t; + +intmax_t imaxabs(intmax_t); +imaxdiv_t imaxdiv(intmax_t, intmax_t); + +intmax_t strtoimax(const char *__restrict, char **__restrict, int); +uintmax_t strtoumax(const char *__restrict, char **__restrict, int); + +intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); +uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); + +#if UINTPTR_MAX == UINT64_MAX +#define __PRI64 "l" +#define __PRIPTR "l" +#else +#define __PRI64 "ll" +#define __PRIPTR "" +#endif + +#define PRId8 "d" +#define PRId16 "d" +#define PRId32 "d" +#define PRId64 __PRI64 "d" + +#define PRIdLEAST8 "d" +#define PRIdLEAST16 "d" +#define PRIdLEAST32 "d" +#define PRIdLEAST64 __PRI64 "d" + +#define PRIdFAST8 "d" +#define PRIdFAST16 "d" +#define PRIdFAST32 "d" +#define PRIdFAST64 __PRI64 "d" + +#define PRIi8 "i" +#define PRIi16 "i" +#define PRIi32 "i" +#define PRIi64 __PRI64 "i" + +#define PRIiLEAST8 "i" +#define PRIiLEAST16 "i" +#define PRIiLEAST32 "i" +#define PRIiLEAST64 __PRI64 "i" + +#define PRIiFAST8 "i" +#define PRIiFAST16 "i" +#define PRIiFAST32 "i" +#define PRIiFAST64 __PRI64 "i" + +#define PRIo8 "o" +#define PRIo16 "o" +#define PRIo32 "o" +#define PRIo64 __PRI64 "o" + +#define PRIoLEAST8 "o" +#define PRIoLEAST16 "o" +#define PRIoLEAST32 "o" +#define PRIoLEAST64 __PRI64 "o" + +#define PRIoFAST8 "o" +#define PRIoFAST16 "o" +#define PRIoFAST32 "o" +#define PRIoFAST64 __PRI64 "o" + +#define PRIu8 "u" +#define PRIu16 "u" +#define PRIu32 "u" +#define PRIu64 __PRI64 "u" + +#define PRIuLEAST8 "u" +#define PRIuLEAST16 "u" +#define PRIuLEAST32 "u" +#define PRIuLEAST64 __PRI64 "u" + +#define PRIuFAST8 "u" +#define PRIuFAST16 "u" +#define PRIuFAST32 "u" +#define PRIuFAST64 __PRI64 "u" + +#define PRIx8 "x" +#define PRIx16 "x" +#define PRIx32 "x" +#define PRIx64 __PRI64 "x" + +#define PRIxLEAST8 "x" +#define PRIxLEAST16 "x" +#define PRIxLEAST32 "x" +#define PRIxLEAST64 __PRI64 "x" + +#define PRIxFAST8 "x" +#define PRIxFAST16 "x" +#define PRIxFAST32 "x" +#define PRIxFAST64 __PRI64 "x" + +#define PRIX8 "X" +#define PRIX16 "X" +#define PRIX32 "X" +#define PRIX64 __PRI64 "X" + +#define PRIXLEAST8 "X" +#define PRIXLEAST16 "X" +#define PRIXLEAST32 "X" +#define PRIXLEAST64 __PRI64 "X" + +#define PRIXFAST8 "X" +#define PRIXFAST16 "X" +#define PRIXFAST32 "X" +#define PRIXFAST64 __PRI64 "X" + +#define PRIdMAX __PRI64 "d" +#define PRIiMAX __PRI64 "i" +#define PRIoMAX __PRI64 "o" +#define PRIuMAX __PRI64 "u" +#define PRIxMAX __PRI64 "x" +#define PRIXMAX __PRI64 "X" + +#define PRIdPTR __PRIPTR "d" +#define PRIiPTR __PRIPTR "i" +#define PRIoPTR __PRIPTR "o" +#define PRIuPTR __PRIPTR "u" +#define PRIxPTR __PRIPTR "x" +#define PRIXPTR __PRIPTR "X" + +#define SCNd8 "hhd" +#define SCNd16 "hd" +#define SCNd32 "d" +#define SCNd64 __PRI64 "d" + +#define SCNdLEAST8 "hhd" +#define SCNdLEAST16 "hd" +#define SCNdLEAST32 "d" +#define SCNdLEAST64 __PRI64 "d" + +#define SCNdFAST8 "hhd" +#define SCNdFAST16 "d" +#define SCNdFAST32 "d" +#define SCNdFAST64 __PRI64 "d" + +#define SCNi8 "hhi" +#define SCNi16 "hi" +#define SCNi32 "i" +#define SCNi64 __PRI64 "i" + +#define SCNiLEAST8 "hhi" +#define SCNiLEAST16 "hi" +#define SCNiLEAST32 "i" +#define SCNiLEAST64 __PRI64 "i" + +#define SCNiFAST8 "hhi" +#define SCNiFAST16 "i" +#define SCNiFAST32 "i" +#define SCNiFAST64 __PRI64 "i" + +#define SCNu8 "hhu" +#define SCNu16 "hu" +#define SCNu32 "u" +#define SCNu64 __PRI64 "u" + +#define SCNuLEAST8 "hhu" +#define SCNuLEAST16 "hu" +#define SCNuLEAST32 "u" +#define SCNuLEAST64 __PRI64 "u" + +#define SCNuFAST8 "hhu" +#define SCNuFAST16 "u" +#define SCNuFAST32 "u" +#define SCNuFAST64 __PRI64 "u" + +#define SCNo8 "hho" +#define SCNo16 "ho" +#define SCNo32 "o" +#define SCNo64 __PRI64 "o" + +#define SCNoLEAST8 "hho" +#define SCNoLEAST16 "ho" +#define SCNoLEAST32 "o" +#define SCNoLEAST64 __PRI64 "o" + +#define SCNoFAST8 "hho" +#define SCNoFAST16 "o" +#define SCNoFAST32 "o" +#define SCNoFAST64 __PRI64 "o" + +#define SCNx8 "hhx" +#define SCNx16 "hx" +#define SCNx32 "x" +#define SCNx64 __PRI64 "x" + +#define SCNxLEAST8 "hhx" +#define SCNxLEAST16 "hx" +#define SCNxLEAST32 "x" +#define SCNxLEAST64 __PRI64 "x" + +#define SCNxFAST8 "hhx" +#define SCNxFAST16 "x" +#define SCNxFAST32 "x" +#define SCNxFAST64 __PRI64 "x" + +#define SCNdMAX __PRI64 "d" +#define SCNiMAX __PRI64 "i" +#define SCNoMAX __PRI64 "o" +#define SCNuMAX __PRI64 "u" +#define SCNxMAX __PRI64 "x" + +#define SCNdPTR __PRIPTR "d" +#define SCNiPTR __PRIPTR "i" +#define SCNoPTR __PRIPTR "o" +#define SCNuPTR __PRIPTR "u" +#define SCNxPTR __PRIPTR "x" + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iso646.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iso646.h new file mode 100644 index 00000000..3dc61d25 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/iso646.h @@ -0,0 +1,20 @@ +#ifndef _ISO646_H +#define _ISO646_H + +#ifndef __cplusplus + +#define and && +#define and_eq &= +#define bitand & +#define bitor | +#define compl ~ +#define not ! +#define not_eq != +#define or || +#define or_eq |= +#define xor ^ +#define xor_eq ^= + +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/langinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/langinfo.h new file mode 100644 index 00000000..560e654a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/langinfo.h @@ -0,0 +1,98 @@ +#ifndef _LANGINFO_H +#define _LANGINFO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_locale_t + +#include + +#define ABDAY_1 0x20000 +#define ABDAY_2 0x20001 +#define ABDAY_3 0x20002 +#define ABDAY_4 0x20003 +#define ABDAY_5 0x20004 +#define ABDAY_6 0x20005 +#define ABDAY_7 0x20006 + +#define DAY_1 0x20007 +#define DAY_2 0x20008 +#define DAY_3 0x20009 +#define DAY_4 0x2000A +#define DAY_5 0x2000B +#define DAY_6 0x2000C +#define DAY_7 0x2000D + +#define ABMON_1 0x2000E +#define ABMON_2 0x2000F +#define ABMON_3 0x20010 +#define ABMON_4 0x20011 +#define ABMON_5 0x20012 +#define ABMON_6 0x20013 +#define ABMON_7 0x20014 +#define ABMON_8 0x20015 +#define ABMON_9 0x20016 +#define ABMON_10 0x20017 +#define ABMON_11 0x20018 +#define ABMON_12 0x20019 + +#define MON_1 0x2001A +#define MON_2 0x2001B +#define MON_3 0x2001C +#define MON_4 0x2001D +#define MON_5 0x2001E +#define MON_6 0x2001F +#define MON_7 0x20020 +#define MON_8 0x20021 +#define MON_9 0x20022 +#define MON_10 0x20023 +#define MON_11 0x20024 +#define MON_12 0x20025 + +#define AM_STR 0x20026 +#define PM_STR 0x20027 + +#define D_T_FMT 0x20028 +#define D_FMT 0x20029 +#define T_FMT 0x2002A +#define T_FMT_AMPM 0x2002B + +#define ERA 0x2002C +#define ERA_D_FMT 0x2002E +#define ALT_DIGITS 0x2002F +#define ERA_D_T_FMT 0x20030 +#define ERA_T_FMT 0x20031 + +#define CODESET 14 + +#define CRNCYSTR 0x4000F + +#define RADIXCHAR 0x10000 +#define THOUSEP 0x10001 +#define YESEXPR 0x50000 +#define NOEXPR 0x50001 + +#define _NL_LOCALE_NAME(cat) (((cat)<<16) | 0xffff) + +#if defined(_GNU_SOURCE) +#define NL_LOCALE_NAME(cat) _NL_LOCALE_NAME(cat) +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define YESSTR 0x50002 +#define NOSTR 0x50003 +#endif + +char *nl_langinfo(nl_item); +char *nl_langinfo_l(nl_item, locale_t); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/lastlog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/lastlog.h new file mode 100644 index 00000000..cc092f73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/lastlog.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libgen.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libgen.h new file mode 100644 index 00000000..e0635f94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libgen.h @@ -0,0 +1,15 @@ +#ifndef _LIBGEN_H +#define _LIBGEN_H + +#ifdef __cplusplus +extern "C" { +#endif + +char *dirname(char *); +char *basename(char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libintl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libintl.h new file mode 100644 index 00000000..cd6480da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/libintl.h @@ -0,0 +1,33 @@ +#ifndef _LIBINTL_H +#define _LIBINTL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __USE_GNU_GETTEXT 1 +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 1 : -1) + +#if __GNUC__ >= 3 +#define __fa(n) __attribute__ ((__format_arg__ (n))) +#else +#define __fa(n) +#endif + +char *gettext(const char *) __fa(1); +char *dgettext(const char *, const char *) __fa(2); +char *dcgettext(const char *, const char *, int) __fa(2); +char *ngettext(const char *, const char *, unsigned long) __fa(1) __fa(2); +char *dngettext(const char *, const char *, const char *, unsigned long) __fa(2) __fa(3); +char *dcngettext(const char *, const char *, const char *, unsigned long, int) __fa(2) __fa(3); +char *textdomain(const char *); +char *bindtextdomain (const char *, const char *); +char *bind_textdomain_codeset(const char *, const char *); + +#undef __fa + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/limits.h new file mode 100644 index 00000000..78db5b77 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/limits.h @@ -0,0 +1,166 @@ +#ifndef _LIMITS_H +#define _LIMITS_H + +#include + +#include /* __LONG_MAX */ + +/* Support signed or unsigned plain-char */ + +#if '\xff' > 0 +#define CHAR_MIN 0 +#define CHAR_MAX 255 +#else +#define CHAR_MIN (-128) +#define CHAR_MAX 127 +#endif + +#define CHAR_BIT 8 +#define SCHAR_MIN (-128) +#define SCHAR_MAX 127 +#define UCHAR_MAX 255 +#define SHRT_MIN (-1-0x7fff) +#define SHRT_MAX 0x7fff +#define USHRT_MAX 0xffff +#define INT_MIN (-1-0x7fffffff) +#define INT_MAX 0x7fffffff +#define UINT_MAX 0xffffffffU +#define LONG_MIN (-LONG_MAX-1) +#define LONG_MAX __LONG_MAX +#define ULONG_MAX (2UL*LONG_MAX+1) +#define LLONG_MIN (-LLONG_MAX-1) +#define LLONG_MAX 0x7fffffffffffffffLL +#define ULLONG_MAX (2ULL*LLONG_MAX+1) + +#define MB_LEN_MAX 4 + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#include + +#define PIPE_BUF 4096 +#define FILESIZEBITS 64 +#ifndef NAME_MAX +#define NAME_MAX 255 +#endif +#define PATH_MAX 4096 +#define NGROUPS_MAX 32 +#define ARG_MAX 131072 +#define IOV_MAX 1024 +#define SYMLOOP_MAX 40 +#define WORD_BIT 32 +#define SSIZE_MAX LONG_MAX +#define TZNAME_MAX 6 +#define TTY_NAME_MAX 32 +#define HOST_NAME_MAX 255 + +#if LONG_MAX == 0x7fffffffL +#define LONG_BIT 32 +#else +#define LONG_BIT 64 +#endif + +/* Implementation choices... */ + +#define PTHREAD_KEYS_MAX 128 +#define PTHREAD_STACK_MIN 2048 +#define PTHREAD_DESTRUCTOR_ITERATIONS 4 +#define SEM_VALUE_MAX 0x7fffffff +#define SEM_NSEMS_MAX 256 +#define DELAYTIMER_MAX 0x7fffffff +#define MQ_PRIO_MAX 32768 +#define LOGIN_NAME_MAX 256 + +/* Arbitrary numbers... */ + +#define BC_BASE_MAX 99 +#define BC_DIM_MAX 2048 +#define BC_SCALE_MAX 99 +#define BC_STRING_MAX 1000 +#define CHARCLASS_NAME_MAX 14 +#define COLL_WEIGHTS_MAX 2 +#define EXPR_NEST_MAX 32 +#define LINE_MAX 4096 +#define RE_DUP_MAX 255 + +#define NL_ARGMAX 9 +#define NL_MSGMAX 32767 +#define NL_SETMAX 255 +#define NL_TEXTMAX 2048 + +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) + +#ifdef PAGESIZE +#define PAGE_SIZE PAGESIZE +#endif +#define NZERO 20 +#define NL_LANGMAX 32 + +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) + +#define NL_NMAX 16 + +#endif + +/* POSIX/SUS requirements follow. These numbers come directly + * from SUS and have nothing to do with the host system. */ + +#define _POSIX_AIO_LISTIO_MAX 2 +#define _POSIX_AIO_MAX 1 +#define _POSIX_ARG_MAX 4096 +#define _POSIX_CHILD_MAX 25 +#define _POSIX_CLOCKRES_MIN 20000000 +#define _POSIX_DELAYTIMER_MAX 32 +#define _POSIX_HOST_NAME_MAX 255 +#define _POSIX_LINK_MAX 8 +#define _POSIX_LOGIN_NAME_MAX 9 +#define _POSIX_MAX_CANON 255 +#define _POSIX_MAX_INPUT 255 +#define _POSIX_MQ_OPEN_MAX 8 +#define _POSIX_MQ_PRIO_MAX 32 +#define _POSIX_NAME_MAX 14 +#define _POSIX_NGROUPS_MAX 8 +#define _POSIX_OPEN_MAX 20 +#define _POSIX_PATH_MAX 256 +#define _POSIX_PIPE_BUF 512 +#define _POSIX_RE_DUP_MAX 255 +#define _POSIX_RTSIG_MAX 8 +#define _POSIX_SEM_NSEMS_MAX 256 +#define _POSIX_SEM_VALUE_MAX 32767 +#define _POSIX_SIGQUEUE_MAX 32 +#define _POSIX_SSIZE_MAX 32767 +#define _POSIX_STREAM_MAX 8 +#define _POSIX_SS_REPL_MAX 4 +#define _POSIX_SYMLINK_MAX 255 +#define _POSIX_SYMLOOP_MAX 8 +#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 +#define _POSIX_THREAD_KEYS_MAX 128 +#define _POSIX_THREAD_THREADS_MAX 64 +#define _POSIX_TIMER_MAX 32 +#define _POSIX_TRACE_EVENT_NAME_MAX 30 +#define _POSIX_TRACE_NAME_MAX 8 +#define _POSIX_TRACE_SYS_MAX 8 +#define _POSIX_TRACE_USER_EVENT_MAX 32 +#define _POSIX_TTY_NAME_MAX 9 +#define _POSIX_TZNAME_MAX 6 +#define _POSIX2_BC_BASE_MAX 99 +#define _POSIX2_BC_DIM_MAX 2048 +#define _POSIX2_BC_SCALE_MAX 99 +#define _POSIX2_BC_STRING_MAX 1000 +#define _POSIX2_CHARCLASS_NAME_MAX 14 +#define _POSIX2_COLL_WEIGHTS_MAX 2 +#define _POSIX2_EXPR_NEST_MAX 32 +#define _POSIX2_LINE_MAX 2048 +#define _POSIX2_RE_DUP_MAX 255 + +#define _XOPEN_IOV_MAX 16 +#define _XOPEN_NAME_MAX 255 +#define _XOPEN_PATH_MAX 1024 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/link.h new file mode 100644 index 00000000..b36a7e7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/link.h @@ -0,0 +1,53 @@ +#ifndef _LINK_H +#define _LINK_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#define __NEED_size_t +#define __NEED_uint32_t +#include + +#if UINTPTR_MAX > 0xffffffff +#define ElfW(type) Elf64_ ## type +#else +#define ElfW(type) Elf32_ ## type +#endif + +#include + +struct dl_phdr_info { + ElfW(Addr) dlpi_addr; + const char *dlpi_name; + const ElfW(Phdr) *dlpi_phdr; + ElfW(Half) dlpi_phnum; + unsigned long long int dlpi_adds; + unsigned long long int dlpi_subs; + size_t dlpi_tls_modid; + void *dlpi_tls_data; +}; + +struct link_map { + ElfW(Addr) l_addr; + char *l_name; + ElfW(Dyn) *l_ld; + struct link_map *l_next, *l_prev; +}; + +struct r_debug { + int r_version; + struct link_map *r_map; + ElfW(Addr) r_brk; + enum { RT_CONSISTENT, RT_ADD, RT_DELETE } r_state; + ElfW(Addr) r_ldbase; +}; + +int dl_iterate_phdr(int (*)(struct dl_phdr_info *, size_t, void *), void *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/locale.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/locale.h new file mode 100644 index 00000000..6328b5f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/locale.h @@ -0,0 +1,88 @@ +#ifndef _LOCALE_H +#define _LOCALE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 + +struct lconv { + char *decimal_point; + char *thousands_sep; + char *grouping; + + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; + char int_p_cs_precedes; + char int_p_sep_by_space; + char int_n_cs_precedes; + char int_n_sep_by_space; + char int_p_sign_posn; + char int_n_sign_posn; +}; + + +char *setlocale (int, const char *); +struct lconv *localeconv(void); + + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#define __NEED_locale_t + +#include + +#define LC_GLOBAL_LOCALE ((locale_t)-1) + +#define LC_CTYPE_MASK (1< + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); +void *valloc (size_t); +void *memalign(size_t, size_t); + +size_t malloc_usable_size(void *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/math.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/math.h new file mode 100644 index 00000000..f7e80586 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/math.h @@ -0,0 +1,442 @@ +#ifndef _MATH_H +#define _MATH_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_float_t +#define __NEED_double_t +#include + +#if 100*__GNUC__+__GNUC_MINOR__ >= 303 +#define NAN __builtin_nanf("") +#define INFINITY __builtin_inff() +#else +#define NAN (0.0f/0.0f) +#define INFINITY 1e5000f +#endif + +#define HUGE_VALF INFINITY +#define HUGE_VAL ((double)INFINITY) +#define HUGE_VALL ((long double)INFINITY) + +#define MATH_ERRNO 1 +#define MATH_ERREXCEPT 2 +#define math_errhandling 2 + +#define FP_ILOGBNAN (-1-0x7fffffff) +#define FP_ILOGB0 FP_ILOGBNAN + +#define FP_NAN 0 +#define FP_INFINITE 1 +#define FP_ZERO 2 +#define FP_SUBNORMAL 3 +#define FP_NORMAL 4 + +#ifdef __FP_FAST_FMA +#define FP_FAST_FMA 1 +#endif + +#ifdef __FP_FAST_FMAF +#define FP_FAST_FMAF 1 +#endif + +#ifdef __FP_FAST_FMAL +#define FP_FAST_FMAL 1 +#endif + +int __fpclassify(double); +int __fpclassifyf(float); +int __fpclassifyl(long double); + +static __inline unsigned __FLOAT_BITS(float __f) +{ + union {float __f; unsigned __i;} __u; + __u.__f = __f; + return __u.__i; +} +static __inline unsigned long long __DOUBLE_BITS(double __f) +{ + union {double __f; unsigned long long __i;} __u; + __u.__f = __f; + return __u.__i; +} + +#define fpclassify(x) ( \ + sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \ + sizeof(x) == sizeof(double) ? __fpclassify(x) : \ + __fpclassifyl(x) ) + +#define isinf(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) == 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) == 0x7ffULL<<52 : \ + __fpclassifyl(x) == FP_INFINITE) + +#define isnan(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) > 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) > 0x7ffULL<<52 : \ + __fpclassifyl(x) == FP_NAN) + +#define isnormal(x) ( \ + sizeof(x) == sizeof(float) ? ((__FLOAT_BITS(x)+0x00800000) & 0x7fffffff) >= 0x01000000 : \ + sizeof(x) == sizeof(double) ? ((__DOUBLE_BITS(x)+(1ULL<<52)) & -1ULL>>1) >= 1ULL<<53 : \ + __fpclassifyl(x) == FP_NORMAL) + +#define isfinite(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) < 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) < 0x7ffULL<<52 : \ + __fpclassifyl(x) > FP_INFINITE) + +int __signbit(double); +int __signbitf(float); +int __signbitl(long double); + +#define signbit(x) ( \ + sizeof(x) == sizeof(float) ? (int)(__FLOAT_BITS(x)>>31) : \ + sizeof(x) == sizeof(double) ? (int)(__DOUBLE_BITS(x)>>63) : \ + __signbitl(x) ) + +#define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y))) + +#define __ISREL_DEF(rel, op, type) \ +static __inline int __is##rel(type __x, type __y) \ +{ return !isunordered(__x,__y) && __x op __y; } + +__ISREL_DEF(lessf, <, float_t) +__ISREL_DEF(less, <, double_t) +__ISREL_DEF(lessl, <, long double) +__ISREL_DEF(lessequalf, <=, float_t) +__ISREL_DEF(lessequal, <=, double_t) +__ISREL_DEF(lessequall, <=, long double) +__ISREL_DEF(lessgreaterf, !=, float_t) +__ISREL_DEF(lessgreater, !=, double_t) +__ISREL_DEF(lessgreaterl, !=, long double) +__ISREL_DEF(greaterf, >, float_t) +__ISREL_DEF(greater, >, double_t) +__ISREL_DEF(greaterl, >, long double) +__ISREL_DEF(greaterequalf, >=, float_t) +__ISREL_DEF(greaterequal, >=, double_t) +__ISREL_DEF(greaterequall, >=, long double) + +#define __tg_pred_2(x, y, p) ( \ + sizeof((x)+(y)) == sizeof(float) ? p##f(x, y) : \ + sizeof((x)+(y)) == sizeof(double) ? p(x, y) : \ + p##l(x, y) ) + +#define isless(x, y) __tg_pred_2(x, y, __isless) +#define islessequal(x, y) __tg_pred_2(x, y, __islessequal) +#define islessgreater(x, y) __tg_pred_2(x, y, __islessgreater) +#define isgreater(x, y) __tg_pred_2(x, y, __isgreater) +#define isgreaterequal(x, y) __tg_pred_2(x, y, __isgreaterequal) + +double acos(double); +float acosf(float); +long double acosl(long double); + +double acosh(double); +float acoshf(float); +long double acoshl(long double); + +double asin(double); +float asinf(float); +long double asinl(long double); + +double asinh(double); +float asinhf(float); +long double asinhl(long double); + +double atan(double); +float atanf(float); +long double atanl(long double); + +double atan2(double, double); +float atan2f(float, float); +long double atan2l(long double, long double); + +double atanh(double); +float atanhf(float); +long double atanhl(long double); + +double cbrt(double); +float cbrtf(float); +long double cbrtl(long double); + +double ceil(double); +float ceilf(float); +long double ceill(long double); + +double copysign(double, double); +float copysignf(float, float); +long double copysignl(long double, long double); + +double cos(double); +float cosf(float); +long double cosl(long double); + +double cosh(double); +float coshf(float); +long double coshl(long double); + +double erf(double); +float erff(float); +long double erfl(long double); + +double erfc(double); +float erfcf(float); +long double erfcl(long double); + +double exp(double); +float expf(float); +long double expl(long double); + +double exp2(double); +float exp2f(float); +long double exp2l(long double); + +double expm1(double); +float expm1f(float); +long double expm1l(long double); + +double fabs(double); +float fabsf(float); +long double fabsl(long double); + +double fdim(double, double); +float fdimf(float, float); +long double fdiml(long double, long double); + +double floor(double); +float floorf(float); +long double floorl(long double); + +double fma(double, double, double); +float fmaf(float, float, float); +long double fmal(long double, long double, long double); + +double fmax(double, double); +float fmaxf(float, float); +long double fmaxl(long double, long double); + +double fmin(double, double); +float fminf(float, float); +long double fminl(long double, long double); + +double fmod(double, double); +float fmodf(float, float); +long double fmodl(long double, long double); + +double frexp(double, int *); +float frexpf(float, int *); +long double frexpl(long double, int *); + +double hypot(double, double); +float hypotf(float, float); +long double hypotl(long double, long double); + +int ilogb(double); +int ilogbf(float); +int ilogbl(long double); + +double ldexp(double, int); +float ldexpf(float, int); +long double ldexpl(long double, int); + +double lgamma(double); +float lgammaf(float); +long double lgammal(long double); + +long long llrint(double); +long long llrintf(float); +long long llrintl(long double); + +long long llround(double); +long long llroundf(float); +long long llroundl(long double); + +double log(double); +float logf(float); +long double logl(long double); + +double log10(double); +float log10f(float); +long double log10l(long double); + +double log1p(double); +float log1pf(float); +long double log1pl(long double); + +double log2(double); +float log2f(float); +long double log2l(long double); + +double logb(double); +float logbf(float); +long double logbl(long double); + +long lrint(double); +long lrintf(float); +long lrintl(long double); + +long lround(double); +long lroundf(float); +long lroundl(long double); + +double modf(double, double *); +float modff(float, float *); +long double modfl(long double, long double *); + +double nan(const char *); +float nanf(const char *); +long double nanl(const char *); + +double nearbyint(double); +float nearbyintf(float); +long double nearbyintl(long double); + +double nextafter(double, double); +float nextafterf(float, float); +long double nextafterl(long double, long double); + +double nexttoward(double, long double); +float nexttowardf(float, long double); +long double nexttowardl(long double, long double); + +double pow(double, double); +float powf(float, float); +long double powl(long double, long double); + +double remainder(double, double); +float remainderf(float, float); +long double remainderl(long double, long double); + +double remquo(double, double, int *); +float remquof(float, float, int *); +long double remquol(long double, long double, int *); + +double rint(double); +float rintf(float); +long double rintl(long double); + +double round(double); +float roundf(float); +long double roundl(long double); + +double scalbln(double, long); +float scalblnf(float, long); +long double scalblnl(long double, long); + +double scalbn(double, int); +float scalbnf(float, int); +long double scalbnl(long double, int); + +double sin(double); +float sinf(float); +long double sinl(long double); + +double sinh(double); +float sinhf(float); +long double sinhl(long double); + +double sqrt(double); +float sqrtf(float); +long double sqrtl(long double); + +double tan(double); +float tanf(float); +long double tanl(long double); + +double tanh(double); +float tanhf(float); +long double tanhl(long double); + +double tgamma(double); +float tgammaf(float); +long double tgammal(long double); + +double trunc(double); +float truncf(float); +long double truncl(long double); + + +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) +#undef MAXFLOAT +#define MAXFLOAT 3.40282346638528859812e+38F +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define M_E 2.7182818284590452354 /* e */ +#define M_LOG2E 1.4426950408889634074 /* log_2 e */ +#define M_LOG10E 0.43429448190325182765 /* log_10 e */ +#define M_LN2 0.69314718055994530942 /* log_e 2 */ +#define M_LN10 2.30258509299404568402 /* log_e 10 */ +#define M_PI 3.14159265358979323846 /* pi */ +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#define M_PI_4 0.78539816339744830962 /* pi/4 */ +#define M_1_PI 0.31830988618379067154 /* 1/pi */ +#define M_2_PI 0.63661977236758134308 /* 2/pi */ +#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ +#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ + +extern int signgam; + +double j0(double); +double j1(double); +double jn(int, double); + +double y0(double); +double y1(double); +double yn(int, double); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define HUGE 3.40282346638528859812e+38F + +double drem(double, double); +float dremf(float, float); + +int finite(double); +int finitef(float); + +double scalb(double, double); +float scalbf(float, float); + +double significand(double); +float significandf(float); + +double lgamma_r(double, int*); +float lgammaf_r(float, int*); + +float j0f(float); +float j1f(float); +float jnf(int, float); + +float y0f(float); +float y1f(float); +float ynf(int, float); +#endif + +#ifdef _GNU_SOURCE +long double lgammal_r(long double, int*); + +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); + +double exp10(double); +float exp10f(float); +long double exp10l(long double); + +double pow10(double); +float pow10f(float); +long double pow10l(long double); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/memory.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/memory.h new file mode 100644 index 00000000..de6c8e14 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/memory.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mntent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mntent.h new file mode 100644 index 00000000..ead7c835 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mntent.h @@ -0,0 +1,43 @@ +#ifndef _MNTENT_H +#define _MNTENT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_FILE +#include + +#define MOUNTED "/etc/mtab" + +#define MNTTYPE_IGNORE "ignore" +#define MNTTYPE_NFS "nfs" +#define MNTTYPE_SWAP "swap" +#define MNTOPT_DEFAULTS "defaults" +#define MNTOPT_RO "ro" +#define MNTOPT_RW "rw" +#define MNTOPT_SUID "suid" +#define MNTOPT_NOSUID "nosuid" +#define MNTOPT_NOAUTO "noauto" + +struct mntent { + char *mnt_fsname; + char *mnt_dir; + char *mnt_type; + char *mnt_opts; + int mnt_freq; + int mnt_passno; +}; + +FILE *setmntent(const char *, const char *); +int endmntent(FILE *); +struct mntent *getmntent(FILE *); +struct mntent *getmntent_r(FILE *, struct mntent *, char *, int); +int addmntent(FILE *, const struct mntent *); +char *hasmntopt(const struct mntent *, const char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/monetary.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/monetary.h new file mode 100644 index 00000000..10d8e90a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/monetary.h @@ -0,0 +1,23 @@ +#ifndef _MONETARY_H +#define _MONETARY_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_ssize_t +#define __NEED_size_t +#define __NEED_locale_t + +#include + +ssize_t strfmon(char *__restrict, size_t, const char *__restrict, ...); +ssize_t strfmon_l(char *__restrict, size_t, locale_t, const char *__restrict, ...); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mqueue.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mqueue.h new file mode 100644 index 00000000..1b0a1b16 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/mqueue.h @@ -0,0 +1,41 @@ +#ifndef _MQUEUE_H +#define _MQUEUE_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_pthread_attr_t +#define __NEED_time_t +#define __NEED_struct_timespec +#include + +typedef int mqd_t; +struct mq_attr { + long mq_flags, mq_maxmsg, mq_msgsize, mq_curmsgs, __unused[4]; +}; +struct sigevent; + +int mq_close(mqd_t); +int mq_getattr(mqd_t, struct mq_attr *); +int mq_notify(mqd_t, const struct sigevent *); +mqd_t mq_open(const char *, int, ...); +ssize_t mq_receive(mqd_t, char *, size_t, unsigned *); +int mq_send(mqd_t, const char *, size_t, unsigned); +int mq_setattr(mqd_t, const struct mq_attr *__restrict, struct mq_attr *__restrict); +ssize_t mq_timedreceive(mqd_t, char *__restrict, size_t, unsigned *__restrict, const struct timespec *__restrict); +int mq_timedsend(mqd_t, const char *, size_t, unsigned, const struct timespec *); +int mq_unlink(const char *); + +#if _REDIR_TIME64 +__REDIR(mq_timedreceive, __mq_timedreceive_time64); +__REDIR(mq_timedsend, __mq_timedsend_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/ethernet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/ethernet.h new file mode 100644 index 00000000..c75adb10 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/ethernet.h @@ -0,0 +1,55 @@ +#ifndef _NET_ETHERNET_H +#define _NET_ETHERNET_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +struct ether_addr { + uint8_t ether_addr_octet[ETH_ALEN]; +}; + +struct ether_header { + uint8_t ether_dhost[ETH_ALEN]; + uint8_t ether_shost[ETH_ALEN]; + uint16_t ether_type; +}; + +#define ETHERTYPE_PUP 0x0200 +#define ETHERTYPE_SPRITE 0x0500 +#define ETHERTYPE_IP 0x0800 +#define ETHERTYPE_ARP 0x0806 +#define ETHERTYPE_REVARP 0x8035 +#define ETHERTYPE_AT 0x809B +#define ETHERTYPE_AARP 0x80F3 +#define ETHERTYPE_VLAN 0x8100 +#define ETHERTYPE_IPX 0x8137 +#define ETHERTYPE_IPV6 0x86dd +#define ETHERTYPE_LOOPBACK 0x9000 + + +#define ETHER_ADDR_LEN ETH_ALEN +#define ETHER_TYPE_LEN 2 +#define ETHER_CRC_LEN 4 +#define ETHER_HDR_LEN ETH_HLEN +#define ETHER_MIN_LEN (ETH_ZLEN + ETHER_CRC_LEN) +#define ETHER_MAX_LEN (ETH_FRAME_LEN + ETHER_CRC_LEN) + +#define ETHER_IS_VALID_LEN(foo) \ + ((foo) >= ETHER_MIN_LEN && (foo) <= ETHER_MAX_LEN) + +#define ETHERTYPE_TRAIL 0x1000 +#define ETHERTYPE_NTRAILER 16 + +#define ETHERMTU ETH_DATA_LEN +#define ETHERMIN (ETHER_MIN_LEN - ETHER_HDR_LEN - ETHER_CRC_LEN) + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if.h new file mode 100644 index 00000000..ef00e61f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if.h @@ -0,0 +1,141 @@ +#ifndef _NET_IF_H +#define _NET_IF_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define IF_NAMESIZE 16 + +struct if_nameindex { + unsigned int if_index; + char *if_name; +}; + +unsigned int if_nametoindex (const char *); +char *if_indextoname (unsigned int, char *); +struct if_nameindex *if_nameindex (void); +void if_freenameindex (struct if_nameindex *); + + + + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#include + +#define IFF_UP 0x1 +#define IFF_BROADCAST 0x2 +#define IFF_DEBUG 0x4 +#define IFF_LOOPBACK 0x8 +#define IFF_POINTOPOINT 0x10 +#define IFF_NOTRAILERS 0x20 +#define IFF_RUNNING 0x40 +#define IFF_NOARP 0x80 +#define IFF_PROMISC 0x100 +#define IFF_ALLMULTI 0x200 +#define IFF_MASTER 0x400 +#define IFF_SLAVE 0x800 +#define IFF_MULTICAST 0x1000 +#define IFF_PORTSEL 0x2000 +#define IFF_AUTOMEDIA 0x4000 +#define IFF_DYNAMIC 0x8000 +#define IFF_LOWER_UP 0x10000 +#define IFF_DORMANT 0x20000 +#define IFF_ECHO 0x40000 +#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST| \ + IFF_ECHO|IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT) + +struct ifaddr { + struct sockaddr ifa_addr; + union { + struct sockaddr ifu_broadaddr; + struct sockaddr ifu_dstaddr; + } ifa_ifu; + struct iface *ifa_ifp; + struct ifaddr *ifa_next; +}; + +#define ifa_broadaddr ifa_ifu.ifu_broadaddr +#define ifa_dstaddr ifa_ifu.ifu_dstaddr + +struct ifmap { + unsigned long int mem_start; + unsigned long int mem_end; + unsigned short int base_addr; + unsigned char irq; + unsigned char dma; + unsigned char port; +}; + +#define IFHWADDRLEN 6 +#define IFNAMSIZ IF_NAMESIZE + +struct ifreq { + union { + char ifrn_name[IFNAMSIZ]; + } ifr_ifrn; + union { + struct sockaddr ifru_addr; + struct sockaddr ifru_dstaddr; + struct sockaddr ifru_broadaddr; + struct sockaddr ifru_netmask; + struct sockaddr ifru_hwaddr; + short int ifru_flags; + int ifru_ivalue; + int ifru_mtu; + struct ifmap ifru_map; + char ifru_slave[IFNAMSIZ]; + char ifru_newname[IFNAMSIZ]; + char *ifru_data; + } ifr_ifru; +}; + +#define ifr_name ifr_ifrn.ifrn_name +#define ifr_hwaddr ifr_ifru.ifru_hwaddr +#define ifr_addr ifr_ifru.ifru_addr +#define ifr_dstaddr ifr_ifru.ifru_dstaddr +#define ifr_broadaddr ifr_ifru.ifru_broadaddr +#define ifr_netmask ifr_ifru.ifru_netmask +#define ifr_flags ifr_ifru.ifru_flags +#define ifr_metric ifr_ifru.ifru_ivalue +#define ifr_mtu ifr_ifru.ifru_mtu +#define ifr_map ifr_ifru.ifru_map +#define ifr_slave ifr_ifru.ifru_slave +#define ifr_data ifr_ifru.ifru_data +#define ifr_ifindex ifr_ifru.ifru_ivalue +#define ifr_bandwidth ifr_ifru.ifru_ivalue +#define ifr_qlen ifr_ifru.ifru_ivalue +#define ifr_newname ifr_ifru.ifru_newname +#define _IOT_ifreq _IOT(_IOTS(char),IFNAMSIZ,_IOTS(char),16,0,0) +#define _IOT_ifreq_short _IOT(_IOTS(char),IFNAMSIZ,_IOTS(short),1,0,0) +#define _IOT_ifreq_int _IOT(_IOTS(char),IFNAMSIZ,_IOTS(int),1,0,0) + +struct ifconf { + int ifc_len; + union { + char *ifcu_buf; + struct ifreq *ifcu_req; + } ifc_ifcu; +}; + +#define ifc_buf ifc_ifcu.ifcu_buf +#define ifc_req ifc_ifcu.ifcu_req +#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0) + +#define __UAPI_DEF_IF_IFCONF 0 +#define __UAPI_DEF_IF_IFMAP 0 +#define __UAPI_DEF_IF_IFNAMSIZ 0 +#define __UAPI_DEF_IF_IFREQ 0 +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0 +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0 + +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if_arp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if_arp.h new file mode 100644 index 00000000..b2a65a5b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/if_arp.h @@ -0,0 +1,142 @@ +/* Nonstandard header */ +#ifndef _NET_IF_ARP_H +#define _NET_IF_ARP_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define MAX_ADDR_LEN 7 + +#define ARPOP_REQUEST 1 +#define ARPOP_REPLY 2 +#define ARPOP_RREQUEST 3 +#define ARPOP_RREPLY 4 +#define ARPOP_InREQUEST 8 +#define ARPOP_InREPLY 9 +#define ARPOP_NAK 10 + +struct arphdr { + uint16_t ar_hrd; + uint16_t ar_pro; + uint8_t ar_hln; + uint8_t ar_pln; + uint16_t ar_op; +}; + + +#define ARPHRD_NETROM 0 +#define ARPHRD_ETHER 1 +#define ARPHRD_EETHER 2 +#define ARPHRD_AX25 3 +#define ARPHRD_PRONET 4 +#define ARPHRD_CHAOS 5 +#define ARPHRD_IEEE802 6 +#define ARPHRD_ARCNET 7 +#define ARPHRD_APPLETLK 8 +#define ARPHRD_DLCI 15 +#define ARPHRD_ATM 19 +#define ARPHRD_METRICOM 23 +#define ARPHRD_IEEE1394 24 +#define ARPHRD_EUI64 27 +#define ARPHRD_INFINIBAND 32 +#define ARPHRD_SLIP 256 +#define ARPHRD_CSLIP 257 +#define ARPHRD_SLIP6 258 +#define ARPHRD_CSLIP6 259 +#define ARPHRD_RSRVD 260 +#define ARPHRD_ADAPT 264 +#define ARPHRD_ROSE 270 +#define ARPHRD_X25 271 +#define ARPHRD_HWX25 272 +#define ARPHRD_CAN 280 +#define ARPHRD_PPP 512 +#define ARPHRD_CISCO 513 +#define ARPHRD_HDLC ARPHRD_CISCO +#define ARPHRD_LAPB 516 +#define ARPHRD_DDCMP 517 +#define ARPHRD_RAWHDLC 518 +#define ARPHRD_RAWIP 519 + +#define ARPHRD_TUNNEL 768 +#define ARPHRD_TUNNEL6 769 +#define ARPHRD_FRAD 770 +#define ARPHRD_SKIP 771 +#define ARPHRD_LOOPBACK 772 +#define ARPHRD_LOCALTLK 773 +#define ARPHRD_FDDI 774 +#define ARPHRD_BIF 775 +#define ARPHRD_SIT 776 +#define ARPHRD_IPDDP 777 +#define ARPHRD_IPGRE 778 +#define ARPHRD_PIMREG 779 +#define ARPHRD_HIPPI 780 +#define ARPHRD_ASH 781 +#define ARPHRD_ECONET 782 +#define ARPHRD_IRDA 783 +#define ARPHRD_FCPP 784 +#define ARPHRD_FCAL 785 +#define ARPHRD_FCPL 786 +#define ARPHRD_FCFABRIC 787 +#define ARPHRD_IEEE802_TR 800 +#define ARPHRD_IEEE80211 801 +#define ARPHRD_IEEE80211_PRISM 802 +#define ARPHRD_IEEE80211_RADIOTAP 803 +#define ARPHRD_IEEE802154 804 +#define ARPHRD_IEEE802154_MONITOR 805 +#define ARPHRD_PHONET 820 +#define ARPHRD_PHONET_PIPE 821 +#define ARPHRD_CAIF 822 +#define ARPHRD_IP6GRE 823 +#define ARPHRD_NETLINK 824 +#define ARPHRD_6LOWPAN 825 +#define ARPHRD_VSOCKMON 826 + +#define ARPHRD_VOID 0xFFFF +#define ARPHRD_NONE 0xFFFE + +struct arpreq { + struct sockaddr arp_pa; + struct sockaddr arp_ha; + int arp_flags; + struct sockaddr arp_netmask; + char arp_dev[16]; +}; + +struct arpreq_old { + struct sockaddr arp_pa; + struct sockaddr arp_ha; + int arp_flags; + struct sockaddr arp_netmask; +}; + +#define ATF_COM 0x02 +#define ATF_PERM 0x04 +#define ATF_PUBL 0x08 +#define ATF_USETRAILERS 0x10 +#define ATF_NETMASK 0x20 +#define ATF_DONTPUB 0x40 +#define ATF_MAGIC 0x80 + +#define ARPD_UPDATE 0x01 +#define ARPD_LOOKUP 0x02 +#define ARPD_FLUSH 0x03 + +struct arpd_request { + unsigned short req; + uint32_t ip; + unsigned long dev; + unsigned long stamp; + unsigned long updated; + unsigned char ha[MAX_ADDR_LEN]; +}; + + + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/route.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/route.h new file mode 100644 index 00000000..ddc6e016 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/net/route.h @@ -0,0 +1,124 @@ +#ifndef _NET_ROUTE_H +#define _NET_ROUTE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include + + +struct rtentry { + unsigned long int rt_pad1; + struct sockaddr rt_dst; + struct sockaddr rt_gateway; + struct sockaddr rt_genmask; + unsigned short int rt_flags; + short int rt_pad2; + unsigned long int rt_pad3; + unsigned char rt_tos; + unsigned char rt_class; + short int rt_pad4[sizeof(long)/2-1]; + short int rt_metric; + char *rt_dev; + unsigned long int rt_mtu; + unsigned long int rt_window; + unsigned short int rt_irtt; +}; + +#define rt_mss rt_mtu + + +struct in6_rtmsg { + struct in6_addr rtmsg_dst; + struct in6_addr rtmsg_src; + struct in6_addr rtmsg_gateway; + uint32_t rtmsg_type; + uint16_t rtmsg_dst_len; + uint16_t rtmsg_src_len; + uint32_t rtmsg_metric; + unsigned long int rtmsg_info; + uint32_t rtmsg_flags; + int rtmsg_ifindex; +}; + + +#define RTF_UP 0x0001 +#define RTF_GATEWAY 0x0002 + +#define RTF_HOST 0x0004 +#define RTF_REINSTATE 0x0008 +#define RTF_DYNAMIC 0x0010 +#define RTF_MODIFIED 0x0020 +#define RTF_MTU 0x0040 +#define RTF_MSS RTF_MTU +#define RTF_WINDOW 0x0080 +#define RTF_IRTT 0x0100 +#define RTF_REJECT 0x0200 +#define RTF_STATIC 0x0400 +#define RTF_XRESOLVE 0x0800 +#define RTF_NOFORWARD 0x1000 +#define RTF_THROW 0x2000 +#define RTF_NOPMTUDISC 0x4000 + +#define RTF_DEFAULT 0x00010000 +#define RTF_ALLONLINK 0x00020000 +#define RTF_ADDRCONF 0x00040000 + +#define RTF_LINKRT 0x00100000 +#define RTF_NONEXTHOP 0x00200000 + +#define RTF_CACHE 0x01000000 +#define RTF_FLOW 0x02000000 +#define RTF_POLICY 0x04000000 + +#define RTCF_VALVE 0x00200000 +#define RTCF_MASQ 0x00400000 +#define RTCF_NAT 0x00800000 +#define RTCF_DOREDIRECT 0x01000000 +#define RTCF_LOG 0x02000000 +#define RTCF_DIRECTSRC 0x04000000 + +#define RTF_LOCAL 0x80000000 +#define RTF_INTERFACE 0x40000000 +#define RTF_MULTICAST 0x20000000 +#define RTF_BROADCAST 0x10000000 +#define RTF_NAT 0x08000000 + +#define RTF_ADDRCLASSMASK 0xF8000000 +#define RT_ADDRCLASS(flags) ((uint32_t) flags >> 23) + +#define RT_TOS(tos) ((tos) & IPTOS_TOS_MASK) + +#define RT_LOCALADDR(flags) ((flags & RTF_ADDRCLASSMASK) \ + == (RTF_LOCAL|RTF_INTERFACE)) + +#define RT_CLASS_UNSPEC 0 +#define RT_CLASS_DEFAULT 253 + +#define RT_CLASS_MAIN 254 +#define RT_CLASS_LOCAL 255 +#define RT_CLASS_MAX 255 + + +#define RTMSG_ACK NLMSG_ACK +#define RTMSG_OVERRUN NLMSG_OVERRUN + +#define RTMSG_NEWDEVICE 0x11 +#define RTMSG_DELDEVICE 0x12 +#define RTMSG_NEWROUTE 0x21 +#define RTMSG_DELROUTE 0x22 +#define RTMSG_NEWRULE 0x31 +#define RTMSG_DELRULE 0x32 +#define RTMSG_CONTROL 0x40 + +#define RTMSG_AR_FAILED 0x51 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netdb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netdb.h new file mode 100644 index 00000000..81abfaba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netdb.h @@ -0,0 +1,157 @@ +#ifndef _NETDB_H +#define _NETDB_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_size_t +#include +#endif + +struct addrinfo { + int ai_flags; + int ai_family; + int ai_socktype; + int ai_protocol; + socklen_t ai_addrlen; + struct sockaddr *ai_addr; + char *ai_canonname; + struct addrinfo *ai_next; +}; + +#define AI_PASSIVE 0x01 +#define AI_CANONNAME 0x02 +#define AI_NUMERICHOST 0x04 +#define AI_V4MAPPED 0x08 +#define AI_ALL 0x10 +#define AI_ADDRCONFIG 0x20 +#define AI_NUMERICSERV 0x400 + + +#define NI_NUMERICHOST 0x01 +#define NI_NUMERICSERV 0x02 +#define NI_NOFQDN 0x04 +#define NI_NAMEREQD 0x08 +#define NI_DGRAM 0x10 +#define NI_NUMERICSCOPE 0x100 + +#define EAI_BADFLAGS -1 +#define EAI_NONAME -2 +#define EAI_AGAIN -3 +#define EAI_FAIL -4 +#define EAI_NODATA -5 +#define EAI_FAMILY -6 +#define EAI_SOCKTYPE -7 +#define EAI_SERVICE -8 +#define EAI_MEMORY -10 +#define EAI_SYSTEM -11 +#define EAI_OVERFLOW -12 + +int getaddrinfo (const char *__restrict, const char *__restrict, const struct addrinfo *__restrict, struct addrinfo **__restrict); +void freeaddrinfo (struct addrinfo *); +int getnameinfo (const struct sockaddr *__restrict, socklen_t, char *__restrict, socklen_t, char *__restrict, socklen_t, int); +const char *gai_strerror(int); + + +/* Legacy functions follow (marked OBsolete in SUS) */ + +struct netent { + char *n_name; + char **n_aliases; + int n_addrtype; + uint32_t n_net; +}; + +struct hostent { + char *h_name; + char **h_aliases; + int h_addrtype; + int h_length; + char **h_addr_list; +}; +#define h_addr h_addr_list[0] + +struct servent { + char *s_name; + char **s_aliases; + int s_port; + char *s_proto; +}; + +struct protoent { + char *p_name; + char **p_aliases; + int p_proto; +}; + +void sethostent (int); +void endhostent (void); +struct hostent *gethostent (void); + +void setnetent (int); +void endnetent (void); +struct netent *getnetent (void); +struct netent *getnetbyaddr (uint32_t, int); +struct netent *getnetbyname (const char *); + +void setservent (int); +void endservent (void); +struct servent *getservent (void); +struct servent *getservbyname (const char *, const char *); +struct servent *getservbyport (int, const char *); + +void setprotoent (int); +void endprotoent (void); +struct protoent *getprotoent (void); +struct protoent *getprotobyname (const char *); +struct protoent *getprotobynumber (int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +struct hostent *gethostbyname (const char *); +struct hostent *gethostbyaddr (const void *, socklen_t, int); +#ifdef __GNUC__ +__attribute__((const)) +#endif +int *__h_errno_location(void); +#define h_errno (*__h_errno_location()) +#define HOST_NOT_FOUND 1 +#define TRY_AGAIN 2 +#define NO_RECOVERY 3 +#define NO_DATA 4 +#define NO_ADDRESS NO_DATA +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void herror(const char *); +const char *hstrerror(int); +int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *); +int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *); +struct hostent *gethostbyname2(const char *, int); +int gethostbyaddr_r(const void *, socklen_t, int, struct hostent *, char *, size_t, struct hostent **, int *); +int getservbyport_r(int, const char *, struct servent *, char *, size_t, struct servent **); +int getservbyname_r(const char *, const char *, struct servent *, char *, size_t, struct servent **); +#define EAI_NODATA -5 +#define EAI_ADDRFAMILY -9 +#define EAI_INPROGRESS -100 +#define EAI_CANCELED -101 +#define EAI_NOTCANCELED -102 +#define EAI_ALLDONE -103 +#define EAI_INTR -104 +#define EAI_IDN_ENCODE -105 +#define NI_MAXHOST 255 +#define NI_MAXSERV 32 +#endif + + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ether.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ether.h new file mode 100644 index 00000000..e399f744 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ether.h @@ -0,0 +1,22 @@ +#ifndef _NETINET_ETHER_H +#define _NETINET_ETHER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +char *ether_ntoa (const struct ether_addr *); +struct ether_addr *ether_aton (const char *); +char *ether_ntoa_r (const struct ether_addr *, char *); +struct ether_addr *ether_aton_r (const char *, struct ether_addr *); +int ether_line(const char *, struct ether_addr *, char *); +int ether_ntohost(char *, const struct ether_addr *); +int ether_hostton(const char *, struct ether_addr *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/icmp6.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/icmp6.h new file mode 100644 index 00000000..44a2d8b0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/icmp6.h @@ -0,0 +1,305 @@ +#ifndef _NETINET_ICMP6_H +#define _NETINET_ICMP6_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#include + +#define ICMP6_FILTER 1 + +#define ICMP6_FILTER_BLOCK 1 +#define ICMP6_FILTER_PASS 2 +#define ICMP6_FILTER_BLOCKOTHERS 3 +#define ICMP6_FILTER_PASSONLY 4 + +struct icmp6_filter { + uint32_t icmp6_filt[8]; +}; + +struct icmp6_hdr { + uint8_t icmp6_type; + uint8_t icmp6_code; + uint16_t icmp6_cksum; + union { + uint32_t icmp6_un_data32[1]; + uint16_t icmp6_un_data16[2]; + uint8_t icmp6_un_data8[4]; + } icmp6_dataun; +}; + +#define icmp6_data32 icmp6_dataun.icmp6_un_data32 +#define icmp6_data16 icmp6_dataun.icmp6_un_data16 +#define icmp6_data8 icmp6_dataun.icmp6_un_data8 +#define icmp6_pptr icmp6_data32[0] +#define icmp6_mtu icmp6_data32[0] +#define icmp6_id icmp6_data16[0] +#define icmp6_seq icmp6_data16[1] +#define icmp6_maxdelay icmp6_data16[0] + +#define ICMP6_DST_UNREACH 1 +#define ICMP6_PACKET_TOO_BIG 2 +#define ICMP6_TIME_EXCEEDED 3 +#define ICMP6_PARAM_PROB 4 + +#define ICMP6_INFOMSG_MASK 0x80 + +#define ICMP6_ECHO_REQUEST 128 +#define ICMP6_ECHO_REPLY 129 +#define MLD_LISTENER_QUERY 130 +#define MLD_LISTENER_REPORT 131 +#define MLD_LISTENER_REDUCTION 132 + +#define ICMP6_DST_UNREACH_NOROUTE 0 +#define ICMP6_DST_UNREACH_ADMIN 1 +#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 +#define ICMP6_DST_UNREACH_ADDR 3 +#define ICMP6_DST_UNREACH_NOPORT 4 + +#define ICMP6_TIME_EXCEED_TRANSIT 0 +#define ICMP6_TIME_EXCEED_REASSEMBLY 1 + +#define ICMP6_PARAMPROB_HEADER 0 +#define ICMP6_PARAMPROB_NEXTHEADER 1 +#define ICMP6_PARAMPROB_OPTION 2 + +#define ICMP6_FILTER_WILLPASS(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0) + +#define ICMP6_FILTER_WILLBLOCK(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0) + +#define ICMP6_FILTER_SETPASS(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31)))) + +#define ICMP6_FILTER_SETBLOCK(type, filterp) \ + ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31)))) + +#define ICMP6_FILTER_SETPASSALL(filterp) \ + memset (filterp, 0, sizeof (struct icmp6_filter)); + +#define ICMP6_FILTER_SETBLOCKALL(filterp) \ + memset (filterp, 0xFF, sizeof (struct icmp6_filter)); + +#define ND_ROUTER_SOLICIT 133 +#define ND_ROUTER_ADVERT 134 +#define ND_NEIGHBOR_SOLICIT 135 +#define ND_NEIGHBOR_ADVERT 136 +#define ND_REDIRECT 137 + +struct nd_router_solicit { + struct icmp6_hdr nd_rs_hdr; +}; + +#define nd_rs_type nd_rs_hdr.icmp6_type +#define nd_rs_code nd_rs_hdr.icmp6_code +#define nd_rs_cksum nd_rs_hdr.icmp6_cksum +#define nd_rs_reserved nd_rs_hdr.icmp6_data32[0] + +struct nd_router_advert { + struct icmp6_hdr nd_ra_hdr; + uint32_t nd_ra_reachable; + uint32_t nd_ra_retransmit; +}; + +#define nd_ra_type nd_ra_hdr.icmp6_type +#define nd_ra_code nd_ra_hdr.icmp6_code +#define nd_ra_cksum nd_ra_hdr.icmp6_cksum +#define nd_ra_curhoplimit nd_ra_hdr.icmp6_data8[0] +#define nd_ra_flags_reserved nd_ra_hdr.icmp6_data8[1] +#define ND_RA_FLAG_MANAGED 0x80 +#define ND_RA_FLAG_OTHER 0x40 +#define ND_RA_FLAG_HOME_AGENT 0x20 +#define nd_ra_router_lifetime nd_ra_hdr.icmp6_data16[1] + +struct nd_neighbor_solicit { + struct icmp6_hdr nd_ns_hdr; + struct in6_addr nd_ns_target; +}; + +#define nd_ns_type nd_ns_hdr.icmp6_type +#define nd_ns_code nd_ns_hdr.icmp6_code +#define nd_ns_cksum nd_ns_hdr.icmp6_cksum +#define nd_ns_reserved nd_ns_hdr.icmp6_data32[0] + +struct nd_neighbor_advert { + struct icmp6_hdr nd_na_hdr; + struct in6_addr nd_na_target; +}; + +#define nd_na_type nd_na_hdr.icmp6_type +#define nd_na_code nd_na_hdr.icmp6_code +#define nd_na_cksum nd_na_hdr.icmp6_cksum +#define nd_na_flags_reserved nd_na_hdr.icmp6_data32[0] +#if __BYTE_ORDER == __BIG_ENDIAN +#define ND_NA_FLAG_ROUTER 0x80000000 +#define ND_NA_FLAG_SOLICITED 0x40000000 +#define ND_NA_FLAG_OVERRIDE 0x20000000 +#else +#define ND_NA_FLAG_ROUTER 0x00000080 +#define ND_NA_FLAG_SOLICITED 0x00000040 +#define ND_NA_FLAG_OVERRIDE 0x00000020 +#endif + +struct nd_redirect { + struct icmp6_hdr nd_rd_hdr; + struct in6_addr nd_rd_target; + struct in6_addr nd_rd_dst; +}; + +#define nd_rd_type nd_rd_hdr.icmp6_type +#define nd_rd_code nd_rd_hdr.icmp6_code +#define nd_rd_cksum nd_rd_hdr.icmp6_cksum +#define nd_rd_reserved nd_rd_hdr.icmp6_data32[0] + +struct nd_opt_hdr { + uint8_t nd_opt_type; + uint8_t nd_opt_len; +}; + +#define ND_OPT_SOURCE_LINKADDR 1 +#define ND_OPT_TARGET_LINKADDR 2 +#define ND_OPT_PREFIX_INFORMATION 3 +#define ND_OPT_REDIRECTED_HEADER 4 +#define ND_OPT_MTU 5 +#define ND_OPT_RTR_ADV_INTERVAL 7 +#define ND_OPT_HOME_AGENT_INFO 8 + +struct nd_opt_prefix_info { + uint8_t nd_opt_pi_type; + uint8_t nd_opt_pi_len; + uint8_t nd_opt_pi_prefix_len; + uint8_t nd_opt_pi_flags_reserved; + uint32_t nd_opt_pi_valid_time; + uint32_t nd_opt_pi_preferred_time; + uint32_t nd_opt_pi_reserved2; + struct in6_addr nd_opt_pi_prefix; +}; + +#define ND_OPT_PI_FLAG_ONLINK 0x80 +#define ND_OPT_PI_FLAG_AUTO 0x40 +#define ND_OPT_PI_FLAG_RADDR 0x20 + +struct nd_opt_rd_hdr { + uint8_t nd_opt_rh_type; + uint8_t nd_opt_rh_len; + uint16_t nd_opt_rh_reserved1; + uint32_t nd_opt_rh_reserved2; +}; + +struct nd_opt_mtu { + uint8_t nd_opt_mtu_type; + uint8_t nd_opt_mtu_len; + uint16_t nd_opt_mtu_reserved; + uint32_t nd_opt_mtu_mtu; +}; + +struct mld_hdr { + struct icmp6_hdr mld_icmp6_hdr; + struct in6_addr mld_addr; +}; + +#define mld_type mld_icmp6_hdr.icmp6_type +#define mld_code mld_icmp6_hdr.icmp6_code +#define mld_cksum mld_icmp6_hdr.icmp6_cksum +#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0] +#define mld_reserved mld_icmp6_hdr.icmp6_data16[1] + +#define ICMP6_ROUTER_RENUMBERING 138 + +struct icmp6_router_renum { + struct icmp6_hdr rr_hdr; + uint8_t rr_segnum; + uint8_t rr_flags; + uint16_t rr_maxdelay; + uint32_t rr_reserved; +}; + +#define rr_type rr_hdr.icmp6_type +#define rr_code rr_hdr.icmp6_code +#define rr_cksum rr_hdr.icmp6_cksum +#define rr_seqnum rr_hdr.icmp6_data32[0] + +#define ICMP6_RR_FLAGS_TEST 0x80 +#define ICMP6_RR_FLAGS_REQRESULT 0x40 +#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20 +#define ICMP6_RR_FLAGS_SPECSITE 0x10 +#define ICMP6_RR_FLAGS_PREVDONE 0x08 + +struct rr_pco_match { + uint8_t rpm_code; + uint8_t rpm_len; + uint8_t rpm_ordinal; + uint8_t rpm_matchlen; + uint8_t rpm_minlen; + uint8_t rpm_maxlen; + uint16_t rpm_reserved; + struct in6_addr rpm_prefix; +}; + +#define RPM_PCO_ADD 1 +#define RPM_PCO_CHANGE 2 +#define RPM_PCO_SETGLOBAL 3 + +struct rr_pco_use { + uint8_t rpu_uselen; + uint8_t rpu_keeplen; + uint8_t rpu_ramask; + uint8_t rpu_raflags; + uint32_t rpu_vltime; + uint32_t rpu_pltime; + uint32_t rpu_flags; + struct in6_addr rpu_prefix; +}; + +#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20 +#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10 + +#if __BYTE_ORDER == __BIG_ENDIAN +#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000 +#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000 +#else +#define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80 +#define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40 +#endif + +struct rr_result { + uint16_t rrr_flags; + uint8_t rrr_ordinal; + uint8_t rrr_matchedlen; + uint32_t rrr_ifid; + struct in6_addr rrr_prefix; +}; + +#if __BYTE_ORDER == __BIG_ENDIAN +#define ICMP6_RR_RESULT_FLAGS_OOB 0x0002 +#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001 +#else +#define ICMP6_RR_RESULT_FLAGS_OOB 0x0200 +#define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100 +#endif + +struct nd_opt_adv_interval { + uint8_t nd_opt_adv_interval_type; + uint8_t nd_opt_adv_interval_len; + uint16_t nd_opt_adv_interval_reserved; + uint32_t nd_opt_adv_interval_ival; +}; + +struct nd_opt_home_agent_info { + uint8_t nd_opt_home_agent_info_type; + uint8_t nd_opt_home_agent_info_len; + uint16_t nd_opt_home_agent_info_reserved; + uint16_t nd_opt_home_agent_info_preference; + uint16_t nd_opt_home_agent_info_lifetime; +}; + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/if_ether.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/if_ether.h new file mode 100644 index 00000000..f9169287 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/if_ether.h @@ -0,0 +1,149 @@ +#ifndef _NETINET_IF_ETHER_H +#define _NETINET_IF_ETHER_H + +#include +#include + +#define ETH_ALEN 6 +#define ETH_TLEN 2 +#define ETH_HLEN 14 +#define ETH_ZLEN 60 +#define ETH_DATA_LEN 1500 +#define ETH_FRAME_LEN 1514 +#define ETH_FCS_LEN 4 +#define ETH_MIN_MTU 68 +#define ETH_MAX_MTU 0xFFFFU + +#define ETH_P_LOOP 0x0060 +#define ETH_P_PUP 0x0200 +#define ETH_P_PUPAT 0x0201 +#define ETH_P_TSN 0x22F0 +#define ETH_P_ERSPAN2 0x22EB +#define ETH_P_IP 0x0800 +#define ETH_P_X25 0x0805 +#define ETH_P_ARP 0x0806 +#define ETH_P_BPQ 0x08FF +#define ETH_P_IEEEPUP 0x0a00 +#define ETH_P_IEEEPUPAT 0x0a01 +#define ETH_P_BATMAN 0x4305 +#define ETH_P_DEC 0x6000 +#define ETH_P_DNA_DL 0x6001 +#define ETH_P_DNA_RC 0x6002 +#define ETH_P_DNA_RT 0x6003 +#define ETH_P_LAT 0x6004 +#define ETH_P_DIAG 0x6005 +#define ETH_P_CUST 0x6006 +#define ETH_P_SCA 0x6007 +#define ETH_P_TEB 0x6558 +#define ETH_P_RARP 0x8035 +#define ETH_P_ATALK 0x809B +#define ETH_P_AARP 0x80F3 +#define ETH_P_8021Q 0x8100 +#define ETH_P_IPX 0x8137 +#define ETH_P_IPV6 0x86DD +#define ETH_P_PAUSE 0x8808 +#define ETH_P_SLOW 0x8809 +#define ETH_P_WCCP 0x883E +#define ETH_P_MPLS_UC 0x8847 +#define ETH_P_MPLS_MC 0x8848 +#define ETH_P_ATMMPOA 0x884c +#define ETH_P_PPP_DISC 0x8863 +#define ETH_P_PPP_SES 0x8864 +#define ETH_P_LINK_CTL 0x886c +#define ETH_P_ATMFATE 0x8884 +#define ETH_P_PAE 0x888E +#define ETH_P_AOE 0x88A2 +#define ETH_P_8021AD 0x88A8 +#define ETH_P_802_EX1 0x88B5 +#define ETH_P_ERSPAN 0x88BE +#define ETH_P_PREAUTH 0x88C7 +#define ETH_P_TIPC 0x88CA +#define ETH_P_LLDP 0x88CC +#define ETH_P_MRP 0x88E3 +#define ETH_P_MACSEC 0x88E5 +#define ETH_P_8021AH 0x88E7 +#define ETH_P_MVRP 0x88F5 +#define ETH_P_1588 0x88F7 +#define ETH_P_NCSI 0x88F8 +#define ETH_P_PRP 0x88FB +#define ETH_P_CFM 0x8902 +#define ETH_P_FCOE 0x8906 +#define ETH_P_TDLS 0x890D +#define ETH_P_FIP 0x8914 +#define ETH_P_IBOE 0x8915 +#define ETH_P_80221 0x8917 +#define ETH_P_HSR 0x892F +#define ETH_P_NSH 0x894F +#define ETH_P_LOOPBACK 0x9000 +#define ETH_P_QINQ1 0x9100 +#define ETH_P_QINQ2 0x9200 +#define ETH_P_QINQ3 0x9300 +#define ETH_P_EDSA 0xDADA +#define ETH_P_DSA_8021Q 0xDADB +#define ETH_P_IFE 0xED3E +#define ETH_P_AF_IUCV 0xFBFB + +#define ETH_P_802_3_MIN 0x0600 + +#define ETH_P_802_3 0x0001 +#define ETH_P_AX25 0x0002 +#define ETH_P_ALL 0x0003 +#define ETH_P_802_2 0x0004 +#define ETH_P_SNAP 0x0005 +#define ETH_P_DDCMP 0x0006 +#define ETH_P_WAN_PPP 0x0007 +#define ETH_P_PPP_MP 0x0008 +#define ETH_P_LOCALTALK 0x0009 +#define ETH_P_CAN 0x000C +#define ETH_P_CANFD 0x000D +#define ETH_P_PPPTALK 0x0010 +#define ETH_P_TR_802_2 0x0011 +#define ETH_P_MOBITEX 0x0015 +#define ETH_P_CONTROL 0x0016 +#define ETH_P_IRDA 0x0017 +#define ETH_P_ECONET 0x0018 +#define ETH_P_HDLC 0x0019 +#define ETH_P_ARCNET 0x001A +#define ETH_P_DSA 0x001B +#define ETH_P_TRAILER 0x001C +#define ETH_P_PHONET 0x00F5 +#define ETH_P_IEEE802154 0x00F6 +#define ETH_P_CAIF 0x00F7 +#define ETH_P_XDSA 0x00F8 +#define ETH_P_MAP 0x00F9 + +struct ethhdr { + uint8_t h_dest[ETH_ALEN]; + uint8_t h_source[ETH_ALEN]; + uint16_t h_proto; +}; + +#include +#include + +struct ether_arp { + struct arphdr ea_hdr; + uint8_t arp_sha[ETH_ALEN]; + uint8_t arp_spa[4]; + uint8_t arp_tha[ETH_ALEN]; + uint8_t arp_tpa[4]; +}; +#define arp_hrd ea_hdr.ar_hrd +#define arp_pro ea_hdr.ar_pro +#define arp_hln ea_hdr.ar_hln +#define arp_pln ea_hdr.ar_pln +#define arp_op ea_hdr.ar_op + +#define ETHER_MAP_IP_MULTICAST(ipaddr, enaddr) \ +do { \ + (enaddr)[0] = 0x01; \ + (enaddr)[1] = 0x00; \ + (enaddr)[2] = 0x5e; \ + (enaddr)[3] = ((uint8_t *)ipaddr)[1] & 0x7f; \ + (enaddr)[4] = ((uint8_t *)ipaddr)[2]; \ + (enaddr)[5] = ((uint8_t *)ipaddr)[3]; \ +} while(0) + +#define __UAPI_DEF_ETHHDR 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/igmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/igmp.h new file mode 100644 index 00000000..4cbc60ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/igmp.h @@ -0,0 +1,45 @@ +#ifndef _NETINET_IGMP_H +#define _NETINET_IGMP_H + +#include +#include + +struct igmp { + uint8_t igmp_type; + uint8_t igmp_code; + uint16_t igmp_cksum; + struct in_addr igmp_group; +}; + +#define IGMP_MINLEN 8 + +#define IGMP_MEMBERSHIP_QUERY 0x11 +#define IGMP_V1_MEMBERSHIP_REPORT 0x12 +#define IGMP_V2_MEMBERSHIP_REPORT 0x16 +#define IGMP_V2_LEAVE_GROUP 0x17 + +#define IGMP_DVMRP 0x13 +#define IGMP_PIM 0x14 +#define IGMP_TRACE 0x15 + +#define IGMP_MTRACE_RESP 0x1e +#define IGMP_MTRACE 0x1f + +#define IGMP_MAX_HOST_REPORT_DELAY 10 +#define IGMP_TIMER_SCALE 10 + +#define IGMP_DELAYING_MEMBER 1 +#define IGMP_IDLE_MEMBER 2 +#define IGMP_LAZY_MEMBER 3 +#define IGMP_SLEEPING_MEMBER 4 +#define IGMP_AWAKENING_MEMBER 5 + +#define IGMP_v1_ROUTER 1 +#define IGMP_v2_ROUTER 2 + +#define IGMP_HOST_MEMBERSHIP_QUERY IGMP_MEMBERSHIP_QUERY +#define IGMP_HOST_MEMBERSHIP_REPORT IGMP_V1_MEMBERSHIP_REPORT +#define IGMP_HOST_NEW_MEMBERSHIP_REPORT IGMP_V2_MEMBERSHIP_REPORT +#define IGMP_HOST_LEAVE_MESSAGE IGMP_V2_LEAVE_GROUP + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in.h new file mode 100644 index 00000000..98202653 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in.h @@ -0,0 +1,417 @@ +#ifndef _NETINET_IN_H +#define _NETINET_IN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +typedef uint16_t in_port_t; +typedef uint32_t in_addr_t; +struct in_addr { in_addr_t s_addr; }; + +struct sockaddr_in { + sa_family_t sin_family; + in_port_t sin_port; + struct in_addr sin_addr; + uint8_t sin_zero[8]; +}; + +struct in6_addr { + union { + uint8_t __s6_addr[16]; + uint16_t __s6_addr16[8]; + uint32_t __s6_addr32[4]; + } __in6_union; +}; +#define s6_addr __in6_union.__s6_addr +#define s6_addr16 __in6_union.__s6_addr16 +#define s6_addr32 __in6_union.__s6_addr32 + +struct sockaddr_in6 { + sa_family_t sin6_family; + in_port_t sin6_port; + uint32_t sin6_flowinfo; + struct in6_addr sin6_addr; + uint32_t sin6_scope_id; +}; + +struct ipv6_mreq { + struct in6_addr ipv6mr_multiaddr; + unsigned ipv6mr_interface; +}; + +#define INADDR_ANY ((in_addr_t) 0x00000000) +#define INADDR_BROADCAST ((in_addr_t) 0xffffffff) +#define INADDR_NONE ((in_addr_t) 0xffffffff) +#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001) +#define INADDR_DUMMY ((in_addr_t) 0xc0000008) + +#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) +#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) +#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) +#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) +#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) + +#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } +#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } + +extern const struct in6_addr in6addr_any, in6addr_loopback; + +#define INET_ADDRSTRLEN 16 +#define INET6_ADDRSTRLEN 46 + +uint32_t htonl(uint32_t); +uint16_t htons(uint16_t); +uint32_t ntohl(uint32_t); +uint16_t ntohs(uint16_t); + +#define IPPORT_RESERVED 1024 + +#define IPPROTO_IP 0 +#define IPPROTO_HOPOPTS 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_IGMP 2 +#define IPPROTO_IPIP 4 +#define IPPROTO_TCP 6 +#define IPPROTO_EGP 8 +#define IPPROTO_PUP 12 +#define IPPROTO_UDP 17 +#define IPPROTO_IDP 22 +#define IPPROTO_TP 29 +#define IPPROTO_DCCP 33 +#define IPPROTO_IPV6 41 +#define IPPROTO_ROUTING 43 +#define IPPROTO_FRAGMENT 44 +#define IPPROTO_RSVP 46 +#define IPPROTO_GRE 47 +#define IPPROTO_ESP 50 +#define IPPROTO_AH 51 +#define IPPROTO_ICMPV6 58 +#define IPPROTO_NONE 59 +#define IPPROTO_DSTOPTS 60 +#define IPPROTO_MTP 92 +#define IPPROTO_BEETPH 94 +#define IPPROTO_ENCAP 98 +#define IPPROTO_PIM 103 +#define IPPROTO_COMP 108 +#define IPPROTO_SCTP 132 +#define IPPROTO_MH 135 +#define IPPROTO_UDPLITE 136 +#define IPPROTO_MPLS 137 +#define IPPROTO_ETHERNET 143 +#define IPPROTO_RAW 255 +#define IPPROTO_MPTCP 262 +#define IPPROTO_MAX 263 + +#define IN6_IS_ADDR_UNSPECIFIED(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0) + +#define IN6_IS_ADDR_LOOPBACK(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && \ + ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \ + ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 ) + +#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) + +#define IN6_IS_ADDR_LINKLOCAL(a) \ + ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80) + +#define IN6_IS_ADDR_SITELOCAL(a) \ + ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0) + +#define IN6_IS_ADDR_V4MAPPED(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \ + ((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff) + +#define IN6_IS_ADDR_V4COMPAT(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1) + +#define IN6_IS_ADDR_MC_NODELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1)) + +#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2)) + +#define IN6_IS_ADDR_MC_SITELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5)) + +#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8)) + +#define IN6_IS_ADDR_MC_GLOBAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe)) + +#define __ARE_4_EQUAL(a,b) \ + (!( (0[a]-0[b]) | (1[a]-1[b]) | (2[a]-2[b]) | (3[a]-3[b]) )) +#define IN6_ARE_ADDR_EQUAL(a,b) \ + __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b)) + +#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) +#define IN_CLASSA_MAX 128 +#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) +#define IN_CLASSB_MAX 65536 +#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) +#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000) +#define IN_MULTICAST(a) IN_CLASSD(a) +#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000) +#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000) + +#define IN_LOOPBACKNET 127 + + +#define IP_TOS 1 +#define IP_TTL 2 +#define IP_HDRINCL 3 +#define IP_OPTIONS 4 +#define IP_ROUTER_ALERT 5 +#define IP_RECVOPTS 6 +#define IP_RETOPTS 7 +#define IP_PKTINFO 8 +#define IP_PKTOPTIONS 9 +#define IP_PMTUDISC 10 +#define IP_MTU_DISCOVER 10 +#define IP_RECVERR 11 +#define IP_RECVTTL 12 +#define IP_RECVTOS 13 +#define IP_MTU 14 +#define IP_FREEBIND 15 +#define IP_IPSEC_POLICY 16 +#define IP_XFRM_POLICY 17 +#define IP_PASSSEC 18 +#define IP_TRANSPARENT 19 +#define IP_ORIGDSTADDR 20 +#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR +#define IP_MINTTL 21 +#define IP_NODEFRAG 22 +#define IP_CHECKSUM 23 +#define IP_BIND_ADDRESS_NO_PORT 24 +#define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 +#define IP_MULTICAST_IF 32 +#define IP_MULTICAST_TTL 33 +#define IP_MULTICAST_LOOP 34 +#define IP_ADD_MEMBERSHIP 35 +#define IP_DROP_MEMBERSHIP 36 +#define IP_UNBLOCK_SOURCE 37 +#define IP_BLOCK_SOURCE 38 +#define IP_ADD_SOURCE_MEMBERSHIP 39 +#define IP_DROP_SOURCE_MEMBERSHIP 40 +#define IP_MSFILTER 41 +#define IP_MULTICAST_ALL 49 +#define IP_UNICAST_IF 50 + +#define IP_RECVRETOPTS IP_RETOPTS + +#define IP_PMTUDISC_DONT 0 +#define IP_PMTUDISC_WANT 1 +#define IP_PMTUDISC_DO 2 +#define IP_PMTUDISC_PROBE 3 +#define IP_PMTUDISC_INTERFACE 4 +#define IP_PMTUDISC_OMIT 5 + +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#define IP_MAX_MEMBERSHIPS 20 + +struct ip_opts { + struct in_addr ip_dst; + char ip_opts[40]; +}; + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#define MCAST_JOIN_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_LEAVE_GROUP 45 +#define MCAST_JOIN_SOURCE_GROUP 46 +#define MCAST_LEAVE_SOURCE_GROUP 47 +#define MCAST_MSFILTER 48 + +#define MCAST_EXCLUDE 0 +#define MCAST_INCLUDE 1 + +struct ip_mreq { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; +}; + +struct ip_mreqn { + struct in_addr imr_multiaddr; + struct in_addr imr_address; + int imr_ifindex; +}; + +struct ip_mreq_source { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; + struct in_addr imr_sourceaddr; +}; + +struct ip_msfilter { + struct in_addr imsf_multiaddr; + struct in_addr imsf_interface; + uint32_t imsf_fmode; + uint32_t imsf_numsrc; + struct in_addr imsf_slist[1]; +}; +#define IP_MSFILTER_SIZE(numsrc) \ + (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \ + + (numsrc) * sizeof(struct in_addr)) + +struct group_req { + uint32_t gr_interface; + struct sockaddr_storage gr_group; +}; + +struct group_source_req { + uint32_t gsr_interface; + struct sockaddr_storage gsr_group; + struct sockaddr_storage gsr_source; +}; + +struct group_filter { + uint32_t gf_interface; + struct sockaddr_storage gf_group; + uint32_t gf_fmode; + uint32_t gf_numsrc; + struct sockaddr_storage gf_slist[1]; +}; +#define GROUP_FILTER_SIZE(numsrc) \ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) + +struct in_pktinfo { + int ipi_ifindex; + struct in_addr ipi_spec_dst; + struct in_addr ipi_addr; +}; + +struct in6_pktinfo { + struct in6_addr ipi6_addr; + unsigned ipi6_ifindex; +}; + +struct ip6_mtuinfo { + struct sockaddr_in6 ip6m_addr; + uint32_t ip6m_mtu; +}; +#endif + +#define IPV6_ADDRFORM 1 +#define IPV6_2292PKTINFO 2 +#define IPV6_2292HOPOPTS 3 +#define IPV6_2292DSTOPTS 4 +#define IPV6_2292RTHDR 5 +#define IPV6_2292PKTOPTIONS 6 +#define IPV6_CHECKSUM 7 +#define IPV6_2292HOPLIMIT 8 +#define IPV6_NEXTHOP 9 +#define IPV6_AUTHHDR 10 +#define IPV6_UNICAST_HOPS 16 +#define IPV6_MULTICAST_IF 17 +#define IPV6_MULTICAST_HOPS 18 +#define IPV6_MULTICAST_LOOP 19 +#define IPV6_JOIN_GROUP 20 +#define IPV6_LEAVE_GROUP 21 +#define IPV6_ROUTER_ALERT 22 +#define IPV6_MTU_DISCOVER 23 +#define IPV6_MTU 24 +#define IPV6_RECVERR 25 +#define IPV6_V6ONLY 26 +#define IPV6_JOIN_ANYCAST 27 +#define IPV6_LEAVE_ANYCAST 28 +#define IPV6_MULTICAST_ALL 29 +#define IPV6_ROUTER_ALERT_ISOLATE 30 +#define IPV6_IPSEC_POLICY 34 +#define IPV6_XFRM_POLICY 35 +#define IPV6_HDRINCL 36 + +#define IPV6_RECVPKTINFO 49 +#define IPV6_PKTINFO 50 +#define IPV6_RECVHOPLIMIT 51 +#define IPV6_HOPLIMIT 52 +#define IPV6_RECVHOPOPTS 53 +#define IPV6_HOPOPTS 54 +#define IPV6_RTHDRDSTOPTS 55 +#define IPV6_RECVRTHDR 56 +#define IPV6_RTHDR 57 +#define IPV6_RECVDSTOPTS 58 +#define IPV6_DSTOPTS 59 +#define IPV6_RECVPATHMTU 60 +#define IPV6_PATHMTU 61 +#define IPV6_DONTFRAG 62 +#define IPV6_RECVTCLASS 66 +#define IPV6_TCLASS 67 +#define IPV6_AUTOFLOWLABEL 70 +#define IPV6_ADDR_PREFERENCES 72 +#define IPV6_MINHOPCOUNT 73 +#define IPV6_ORIGDSTADDR 74 +#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR +#define IPV6_TRANSPARENT 75 +#define IPV6_UNICAST_IF 76 +#define IPV6_RECVFRAGSIZE 77 +#define IPV6_FREEBIND 78 + +#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP +#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP +#define IPV6_RXHOPOPTS IPV6_HOPOPTS +#define IPV6_RXDSTOPTS IPV6_DSTOPTS + +#define IPV6_PMTUDISC_DONT 0 +#define IPV6_PMTUDISC_WANT 1 +#define IPV6_PMTUDISC_DO 2 +#define IPV6_PMTUDISC_PROBE 3 +#define IPV6_PMTUDISC_INTERFACE 4 +#define IPV6_PMTUDISC_OMIT 5 + +#define IPV6_PREFER_SRC_TMP 0x0001 +#define IPV6_PREFER_SRC_PUBLIC 0x0002 +#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100 +#define IPV6_PREFER_SRC_COA 0x0004 +#define IPV6_PREFER_SRC_HOME 0x0400 +#define IPV6_PREFER_SRC_CGA 0x0008 +#define IPV6_PREFER_SRC_NONCGA 0x0800 + +#define IPV6_RTHDR_LOOSE 0 +#define IPV6_RTHDR_STRICT 1 + +#define IPV6_RTHDR_TYPE_0 0 + +#define __UAPI_DEF_IN_ADDR 0 +#define __UAPI_DEF_IN_IPPROTO 0 +#define __UAPI_DEF_IN_PKTINFO 0 +#define __UAPI_DEF_IP_MREQ 0 +#define __UAPI_DEF_SOCKADDR_IN 0 +#define __UAPI_DEF_IN_CLASS 0 +#define __UAPI_DEF_IN6_ADDR 0 +#define __UAPI_DEF_IN6_ADDR_ALT 0 +#define __UAPI_DEF_SOCKADDR_IN6 0 +#define __UAPI_DEF_IPV6_MREQ 0 +#define __UAPI_DEF_IPPROTO_V6 0 +#define __UAPI_DEF_IPV6_OPTIONS 0 +#define __UAPI_DEF_IN6_PKTINFO 0 +#define __UAPI_DEF_IP6_MTUINFO 0 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in_systm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in_systm.h new file mode 100644 index 00000000..0d5109ec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/in_systm.h @@ -0,0 +1,9 @@ +#ifndef _NETINET_IN_SYSTM_H +#define _NETINET_IN_SYSTM_H + +#include + +typedef uint16_t n_short; +typedef uint32_t n_long, n_time; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip.h new file mode 100644 index 00000000..4a8a746f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip.h @@ -0,0 +1,199 @@ +#ifndef _NETINET_IP_H +#define _NETINET_IP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +struct timestamp { + uint8_t len; + uint8_t ptr; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int flags:4; + unsigned int overflow:4; +#else + unsigned int overflow:4; + unsigned int flags:4; +#endif + uint32_t data[9]; + }; + +struct iphdr { +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ihl:4; + unsigned int version:4; +#else + unsigned int version:4; + unsigned int ihl:4; +#endif + uint8_t tos; + uint16_t tot_len; + uint16_t id; + uint16_t frag_off; + uint8_t ttl; + uint8_t protocol; + uint16_t check; + uint32_t saddr; + uint32_t daddr; +}; + +struct ip { +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ip_hl:4; + unsigned int ip_v:4; +#else + unsigned int ip_v:4; + unsigned int ip_hl:4; +#endif + uint8_t ip_tos; + uint16_t ip_len; + uint16_t ip_id; + uint16_t ip_off; + uint8_t ip_ttl; + uint8_t ip_p; + uint16_t ip_sum; + struct in_addr ip_src, ip_dst; +}; + +#define IP_RF 0x8000 +#define IP_DF 0x4000 +#define IP_MF 0x2000 +#define IP_OFFMASK 0x1fff + +struct ip_timestamp { + uint8_t ipt_code; + uint8_t ipt_len; + uint8_t ipt_ptr; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int ipt_flg:4; + unsigned int ipt_oflw:4; +#else + unsigned int ipt_oflw:4; + unsigned int ipt_flg:4; +#endif + uint32_t data[9]; +}; + +#define IPVERSION 4 +#define IP_MAXPACKET 65535 + +#define IPTOS_ECN_MASK 0x03 +#define IPTOS_ECN(x) ((x) & IPTOS_ECN_MASK) +#define IPTOS_ECN_NOT_ECT 0x00 +#define IPTOS_ECN_ECT1 0x01 +#define IPTOS_ECN_ECT0 0x02 +#define IPTOS_ECN_CE 0x03 + +#define IPTOS_DSCP_MASK 0xfc +#define IPTOS_DSCP(x) ((x) & IPTOS_DSCP_MASK) +#define IPTOS_DSCP_AF11 0x28 +#define IPTOS_DSCP_AF12 0x30 +#define IPTOS_DSCP_AF13 0x38 +#define IPTOS_DSCP_AF21 0x48 +#define IPTOS_DSCP_AF22 0x50 +#define IPTOS_DSCP_AF23 0x58 +#define IPTOS_DSCP_AF31 0x68 +#define IPTOS_DSCP_AF32 0x70 +#define IPTOS_DSCP_AF33 0x78 +#define IPTOS_DSCP_AF41 0x88 +#define IPTOS_DSCP_AF42 0x90 +#define IPTOS_DSCP_AF43 0x98 +#define IPTOS_DSCP_EF 0xb8 + +#define IPTOS_CLASS_MASK 0xe0 +#define IPTOS_CLASS(x) ((x) & IPTOS_CLASS_MASK) +#define IPTOS_CLASS_CS0 0x00 +#define IPTOS_CLASS_CS1 0x20 +#define IPTOS_CLASS_CS2 0x40 +#define IPTOS_CLASS_CS3 0x60 +#define IPTOS_CLASS_CS4 0x80 +#define IPTOS_CLASS_CS5 0xa0 +#define IPTOS_CLASS_CS6 0xc0 +#define IPTOS_CLASS_CS7 0xe0 +#define IPTOS_CLASS_DEFAULT IPTOS_CLASS_CS0 + +#define IPTOS_TOS_MASK 0x1E +#define IPTOS_TOS(tos) ((tos) & IPTOS_TOS_MASK) +#define IPTOS_LOWDELAY 0x10 +#define IPTOS_THROUGHPUT 0x08 +#define IPTOS_RELIABILITY 0x04 +#define IPTOS_LOWCOST 0x02 +#define IPTOS_MINCOST IPTOS_LOWCOST + +#define IPTOS_PREC_MASK 0xe0 +#define IPTOS_PREC(tos) ((tos) & IPTOS_PREC_MASK) +#define IPTOS_PREC_NETCONTROL 0xe0 +#define IPTOS_PREC_INTERNETCONTROL 0xc0 +#define IPTOS_PREC_CRITIC_ECP 0xa0 +#define IPTOS_PREC_FLASHOVERRIDE 0x80 +#define IPTOS_PREC_FLASH 0x60 +#define IPTOS_PREC_IMMEDIATE 0x40 +#define IPTOS_PREC_PRIORITY 0x20 +#define IPTOS_PREC_ROUTINE 0x00 + +#define IPOPT_COPY 0x80 +#define IPOPT_CLASS_MASK 0x60 +#define IPOPT_NUMBER_MASK 0x1f + +#define IPOPT_COPIED(o) ((o) & IPOPT_COPY) +#define IPOPT_CLASS(o) ((o) & IPOPT_CLASS_MASK) +#define IPOPT_NUMBER(o) ((o) & IPOPT_NUMBER_MASK) + +#define IPOPT_CONTROL 0x00 +#define IPOPT_RESERVED1 0x20 +#define IPOPT_DEBMEAS 0x40 +#define IPOPT_MEASUREMENT IPOPT_DEBMEAS +#define IPOPT_RESERVED2 0x60 + +#define IPOPT_EOL 0 +#define IPOPT_END IPOPT_EOL +#define IPOPT_NOP 1 +#define IPOPT_NOOP IPOPT_NOP + +#define IPOPT_RR 7 +#define IPOPT_TS 68 +#define IPOPT_TIMESTAMP IPOPT_TS +#define IPOPT_SECURITY 130 +#define IPOPT_SEC IPOPT_SECURITY +#define IPOPT_LSRR 131 +#define IPOPT_SATID 136 +#define IPOPT_SID IPOPT_SATID +#define IPOPT_SSRR 137 +#define IPOPT_RA 148 + +#define IPOPT_OPTVAL 0 +#define IPOPT_OLEN 1 +#define IPOPT_OFFSET 2 +#define IPOPT_MINOFF 4 + +#define MAX_IPOPTLEN 40 + +#define IPOPT_TS_TSONLY 0 +#define IPOPT_TS_TSANDADDR 1 +#define IPOPT_TS_PRESPEC 3 + +#define IPOPT_SECUR_UNCLASS 0x0000 +#define IPOPT_SECUR_CONFID 0xf135 +#define IPOPT_SECUR_EFTO 0x789a +#define IPOPT_SECUR_MMMM 0xbc4d +#define IPOPT_SECUR_RESTR 0xaf13 +#define IPOPT_SECUR_SECRET 0xd788 +#define IPOPT_SECUR_TOPSECRET 0x6bc5 + +#define MAXTTL 255 +#define IPDEFTTL 64 +#define IPFRAGTTL 60 +#define IPTTLDEC 1 + +#define IP_MSS 576 + +#define __UAPI_DEF_IPHDR 0 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip6.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip6.h new file mode 100644 index 00000000..dfb23779 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip6.h @@ -0,0 +1,141 @@ +#ifndef _NETINET_IP6_H +#define _NETINET_IP6_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +struct ip6_hdr { + union { + struct ip6_hdrctl { + uint32_t ip6_un1_flow; + uint16_t ip6_un1_plen; + uint8_t ip6_un1_nxt; + uint8_t ip6_un1_hlim; + } ip6_un1; + uint8_t ip6_un2_vfc; + } ip6_ctlun; + struct in6_addr ip6_src; + struct in6_addr ip6_dst; +}; + +#define ip6_vfc ip6_ctlun.ip6_un2_vfc +#define ip6_flow ip6_ctlun.ip6_un1.ip6_un1_flow +#define ip6_plen ip6_ctlun.ip6_un1.ip6_un1_plen +#define ip6_nxt ip6_ctlun.ip6_un1.ip6_un1_nxt +#define ip6_hlim ip6_ctlun.ip6_un1.ip6_un1_hlim +#define ip6_hops ip6_ctlun.ip6_un1.ip6_un1_hlim + +struct ip6_ext { + uint8_t ip6e_nxt; + uint8_t ip6e_len; +}; + +struct ip6_hbh { + uint8_t ip6h_nxt; + uint8_t ip6h_len; +}; + +struct ip6_dest { + uint8_t ip6d_nxt; + uint8_t ip6d_len; +}; + +struct ip6_rthdr { + uint8_t ip6r_nxt; + uint8_t ip6r_len; + uint8_t ip6r_type; + uint8_t ip6r_segleft; +}; + +struct ip6_rthdr0 { + uint8_t ip6r0_nxt; + uint8_t ip6r0_len; + uint8_t ip6r0_type; + uint8_t ip6r0_segleft; + uint8_t ip6r0_reserved; + uint8_t ip6r0_slmap[3]; + struct in6_addr ip6r0_addr[]; +}; + +struct ip6_frag { + uint8_t ip6f_nxt; + uint8_t ip6f_reserved; + uint16_t ip6f_offlg; + uint32_t ip6f_ident; +}; + +#if __BYTE_ORDER == __BIG_ENDIAN +#define IP6F_OFF_MASK 0xfff8 +#define IP6F_RESERVED_MASK 0x0006 +#define IP6F_MORE_FRAG 0x0001 +#else +#define IP6F_OFF_MASK 0xf8ff +#define IP6F_RESERVED_MASK 0x0600 +#define IP6F_MORE_FRAG 0x0100 +#endif + +struct ip6_opt { + uint8_t ip6o_type; + uint8_t ip6o_len; +}; + +#define IP6OPT_TYPE(o) ((o) & 0xc0) +#define IP6OPT_TYPE_SKIP 0x00 +#define IP6OPT_TYPE_DISCARD 0x40 +#define IP6OPT_TYPE_FORCEICMP 0x80 +#define IP6OPT_TYPE_ICMP 0xc0 +#define IP6OPT_TYPE_MUTABLE 0x20 + +#define IP6OPT_PAD1 0 +#define IP6OPT_PADN 1 + +#define IP6OPT_JUMBO 0xc2 +#define IP6OPT_NSAP_ADDR 0xc3 +#define IP6OPT_TUNNEL_LIMIT 0x04 +#define IP6OPT_ROUTER_ALERT 0x05 + +struct ip6_opt_jumbo { + uint8_t ip6oj_type; + uint8_t ip6oj_len; + uint8_t ip6oj_jumbo_len[4]; +}; +#define IP6OPT_JUMBO_LEN 6 + +struct ip6_opt_nsap { + uint8_t ip6on_type; + uint8_t ip6on_len; + uint8_t ip6on_src_nsap_len; + uint8_t ip6on_dst_nsap_len; +}; + +struct ip6_opt_tunnel { + uint8_t ip6ot_type; + uint8_t ip6ot_len; + uint8_t ip6ot_encap_limit; +}; + +struct ip6_opt_router { + uint8_t ip6or_type; + uint8_t ip6or_len; + uint8_t ip6or_value[2]; +}; + +#if __BYTE_ORDER == __BIG_ENDIAN +#define IP6_ALERT_MLD 0x0000 +#define IP6_ALERT_RSVP 0x0001 +#define IP6_ALERT_AN 0x0002 +#else +#define IP6_ALERT_MLD 0x0000 +#define IP6_ALERT_RSVP 0x0100 +#define IP6_ALERT_AN 0x0200 +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip_icmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip_icmp.h new file mode 100644 index 00000000..93fc97f2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/ip_icmp.h @@ -0,0 +1,193 @@ +#ifndef _NETINET_IP_ICMP_H +#define _NETINET_IP_ICMP_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +struct icmphdr { + uint8_t type; + uint8_t code; + uint16_t checksum; + union { + struct { + uint16_t id; + uint16_t sequence; + } echo; + uint32_t gateway; + struct { + uint16_t __unused; + uint16_t mtu; + } frag; + uint8_t reserved[4]; + } un; +}; + +#define ICMP_ECHOREPLY 0 +#define ICMP_DEST_UNREACH 3 +#define ICMP_SOURCE_QUENCH 4 +#define ICMP_REDIRECT 5 +#define ICMP_ECHO 8 +#define ICMP_TIME_EXCEEDED 11 +#define ICMP_PARAMETERPROB 12 +#define ICMP_TIMESTAMP 13 +#define ICMP_TIMESTAMPREPLY 14 +#define ICMP_INFO_REQUEST 15 +#define ICMP_INFO_REPLY 16 +#define ICMP_ADDRESS 17 +#define ICMP_ADDRESSREPLY 18 +#define NR_ICMP_TYPES 18 + + +#define ICMP_NET_UNREACH 0 +#define ICMP_HOST_UNREACH 1 +#define ICMP_PROT_UNREACH 2 +#define ICMP_PORT_UNREACH 3 +#define ICMP_FRAG_NEEDED 4 +#define ICMP_SR_FAILED 5 +#define ICMP_NET_UNKNOWN 6 +#define ICMP_HOST_UNKNOWN 7 +#define ICMP_HOST_ISOLATED 8 +#define ICMP_NET_ANO 9 +#define ICMP_HOST_ANO 10 +#define ICMP_NET_UNR_TOS 11 +#define ICMP_HOST_UNR_TOS 12 +#define ICMP_PKT_FILTERED 13 +#define ICMP_PREC_VIOLATION 14 +#define ICMP_PREC_CUTOFF 15 +#define NR_ICMP_UNREACH 15 + +#define ICMP_REDIR_NET 0 +#define ICMP_REDIR_HOST 1 +#define ICMP_REDIR_NETTOS 2 +#define ICMP_REDIR_HOSTTOS 3 + +#define ICMP_EXC_TTL 0 +#define ICMP_EXC_FRAGTIME 1 + + +struct icmp_ra_addr { + uint32_t ira_addr; + uint32_t ira_preference; +}; + +struct icmp { + uint8_t icmp_type; + uint8_t icmp_code; + uint16_t icmp_cksum; + union { + uint8_t ih_pptr; + struct in_addr ih_gwaddr; + struct ih_idseq { + uint16_t icd_id; + uint16_t icd_seq; + } ih_idseq; + uint32_t ih_void; + + struct ih_pmtu { + uint16_t ipm_void; + uint16_t ipm_nextmtu; + } ih_pmtu; + + struct ih_rtradv { + uint8_t irt_num_addrs; + uint8_t irt_wpa; + uint16_t irt_lifetime; + } ih_rtradv; + } icmp_hun; + union { + struct { + uint32_t its_otime; + uint32_t its_rtime; + uint32_t its_ttime; + } id_ts; + struct { + struct ip idi_ip; + } id_ip; + struct icmp_ra_addr id_radv; + uint32_t id_mask; + uint8_t id_data[1]; + } icmp_dun; +}; + +#define icmp_pptr icmp_hun.ih_pptr +#define icmp_gwaddr icmp_hun.ih_gwaddr +#define icmp_id icmp_hun.ih_idseq.icd_id +#define icmp_seq icmp_hun.ih_idseq.icd_seq +#define icmp_void icmp_hun.ih_void +#define icmp_pmvoid icmp_hun.ih_pmtu.ipm_void +#define icmp_nextmtu icmp_hun.ih_pmtu.ipm_nextmtu +#define icmp_num_addrs icmp_hun.ih_rtradv.irt_num_addrs +#define icmp_wpa icmp_hun.ih_rtradv.irt_wpa +#define icmp_lifetime icmp_hun.ih_rtradv.irt_lifetime +#define icmp_otime icmp_dun.id_ts.its_otime +#define icmp_rtime icmp_dun.id_ts.its_rtime +#define icmp_ttime icmp_dun.id_ts.its_ttime +#define icmp_ip icmp_dun.id_ip.idi_ip +#define icmp_radv icmp_dun.id_radv +#define icmp_mask icmp_dun.id_mask +#define icmp_data icmp_dun.id_data + +#define ICMP_MINLEN 8 +#define ICMP_TSLEN (8 + 3 * sizeof (n_time)) +#define ICMP_MASKLEN 12 +#define ICMP_ADVLENMIN (8 + sizeof (struct ip) + 8) +#define ICMP_ADVLEN(p) (8 + ((p)->icmp_ip.ip_hl << 2) + 8) + +#define ICMP_UNREACH 3 +#define ICMP_SOURCEQUENCH 4 +#define ICMP_ROUTERADVERT 9 +#define ICMP_ROUTERSOLICIT 10 +#define ICMP_TIMXCEED 11 +#define ICMP_PARAMPROB 12 +#define ICMP_TSTAMP 13 +#define ICMP_TSTAMPREPLY 14 +#define ICMP_IREQ 15 +#define ICMP_IREQREPLY 16 +#define ICMP_MASKREQ 17 +#define ICMP_MASKREPLY 18 +#define ICMP_MAXTYPE 18 + +#define ICMP_UNREACH_NET 0 +#define ICMP_UNREACH_HOST 1 +#define ICMP_UNREACH_PROTOCOL 2 +#define ICMP_UNREACH_PORT 3 +#define ICMP_UNREACH_NEEDFRAG 4 +#define ICMP_UNREACH_SRCFAIL 5 +#define ICMP_UNREACH_NET_UNKNOWN 6 +#define ICMP_UNREACH_HOST_UNKNOWN 7 +#define ICMP_UNREACH_ISOLATED 8 +#define ICMP_UNREACH_NET_PROHIB 9 +#define ICMP_UNREACH_HOST_PROHIB 10 +#define ICMP_UNREACH_TOSNET 11 +#define ICMP_UNREACH_TOSHOST 12 +#define ICMP_UNREACH_FILTER_PROHIB 13 +#define ICMP_UNREACH_HOST_PRECEDENCE 14 +#define ICMP_UNREACH_PRECEDENCE_CUTOFF 15 + +#define ICMP_REDIRECT_NET 0 +#define ICMP_REDIRECT_HOST 1 +#define ICMP_REDIRECT_TOSNET 2 +#define ICMP_REDIRECT_TOSHOST 3 + +#define ICMP_TIMXCEED_INTRANS 0 +#define ICMP_TIMXCEED_REASS 1 + +#define ICMP_PARAMPROB_OPTABSENT 1 + +#define ICMP_INFOTYPE(type) \ + ((type) == ICMP_ECHOREPLY || (type) == ICMP_ECHO || \ + (type) == ICMP_ROUTERADVERT || (type) == ICMP_ROUTERSOLICIT || \ + (type) == ICMP_TSTAMP || (type) == ICMP_TSTAMPREPLY || \ + (type) == ICMP_IREQ || (type) == ICMP_IREQREPLY || \ + (type) == ICMP_MASKREQ || (type) == ICMP_MASKREPLY) + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/tcp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/tcp.h new file mode 100644 index 00000000..3eb212c6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/tcp.h @@ -0,0 +1,305 @@ +#ifndef _NETINET_TCP_H +#define _NETINET_TCP_H + +#include + +#define TCP_NODELAY 1 +#define TCP_MAXSEG 2 +#define TCP_CORK 3 +#define TCP_KEEPIDLE 4 +#define TCP_KEEPINTVL 5 +#define TCP_KEEPCNT 6 +#define TCP_SYNCNT 7 +#define TCP_LINGER2 8 +#define TCP_DEFER_ACCEPT 9 +#define TCP_WINDOW_CLAMP 10 +#define TCP_INFO 11 +#define TCP_QUICKACK 12 +#define TCP_CONGESTION 13 +#define TCP_MD5SIG 14 +#define TCP_THIN_LINEAR_TIMEOUTS 16 +#define TCP_THIN_DUPACK 17 +#define TCP_USER_TIMEOUT 18 +#define TCP_REPAIR 19 +#define TCP_REPAIR_QUEUE 20 +#define TCP_QUEUE_SEQ 21 +#define TCP_REPAIR_OPTIONS 22 +#define TCP_FASTOPEN 23 +#define TCP_TIMESTAMP 24 +#define TCP_NOTSENT_LOWAT 25 +#define TCP_CC_INFO 26 +#define TCP_SAVE_SYN 27 +#define TCP_SAVED_SYN 28 +#define TCP_REPAIR_WINDOW 29 +#define TCP_FASTOPEN_CONNECT 30 +#define TCP_ULP 31 +#define TCP_MD5SIG_EXT 32 +#define TCP_FASTOPEN_KEY 33 +#define TCP_FASTOPEN_NO_COOKIE 34 +#define TCP_ZEROCOPY_RECEIVE 35 +#define TCP_INQ 36 +#define TCP_TX_DELAY 37 + +#define TCP_CM_INQ TCP_INQ + +#define TCP_ESTABLISHED 1 +#define TCP_SYN_SENT 2 +#define TCP_SYN_RECV 3 +#define TCP_FIN_WAIT1 4 +#define TCP_FIN_WAIT2 5 +#define TCP_TIME_WAIT 6 +#define TCP_CLOSE 7 +#define TCP_CLOSE_WAIT 8 +#define TCP_LAST_ACK 9 +#define TCP_LISTEN 10 +#define TCP_CLOSING 11 + +enum { + TCP_NLA_PAD, + TCP_NLA_BUSY, + TCP_NLA_RWND_LIMITED, + TCP_NLA_SNDBUF_LIMITED, + TCP_NLA_DATA_SEGS_OUT, + TCP_NLA_TOTAL_RETRANS, + TCP_NLA_PACING_RATE, + TCP_NLA_DELIVERY_RATE, + TCP_NLA_SND_CWND, + TCP_NLA_REORDERING, + TCP_NLA_MIN_RTT, + TCP_NLA_RECUR_RETRANS, + TCP_NLA_DELIVERY_RATE_APP_LMT, + TCP_NLA_SNDQ_SIZE, + TCP_NLA_CA_STATE, + TCP_NLA_SND_SSTHRESH, + TCP_NLA_DELIVERED, + TCP_NLA_DELIVERED_CE, + TCP_NLA_BYTES_SENT, + TCP_NLA_BYTES_RETRANS, + TCP_NLA_DSACK_DUPS, + TCP_NLA_REORD_SEEN, + TCP_NLA_SRTT, + TCP_NLA_TIMEOUT_REHASH, + TCP_NLA_BYTES_NOTSENT, + TCP_NLA_EDT, + TCP_NLA_TTL, +}; + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define TCPOPT_EOL 0 +#define TCPOPT_NOP 1 +#define TCPOPT_MAXSEG 2 +#define TCPOPT_WINDOW 3 +#define TCPOPT_SACK_PERMITTED 4 +#define TCPOPT_SACK 5 +#define TCPOPT_TIMESTAMP 8 +#define TCPOLEN_SACK_PERMITTED 2 +#define TCPOLEN_WINDOW 3 +#define TCPOLEN_MAXSEG 4 +#define TCPOLEN_TIMESTAMP 10 + +#define SOL_TCP 6 + +#include +#include +#include + +typedef uint32_t tcp_seq; + +#define TH_FIN 0x01 +#define TH_SYN 0x02 +#define TH_RST 0x04 +#define TH_PUSH 0x08 +#define TH_ACK 0x10 +#define TH_URG 0x20 + +struct tcphdr { +#ifdef _GNU_SOURCE +#ifdef __GNUC__ + __extension__ +#endif + union { struct { + + uint16_t source; + uint16_t dest; + uint32_t seq; + uint32_t ack_seq; +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint16_t res1:4; + uint16_t doff:4; + uint16_t fin:1; + uint16_t syn:1; + uint16_t rst:1; + uint16_t psh:1; + uint16_t ack:1; + uint16_t urg:1; + uint16_t res2:2; +#else + uint16_t doff:4; + uint16_t res1:4; + uint16_t res2:2; + uint16_t urg:1; + uint16_t ack:1; + uint16_t psh:1; + uint16_t rst:1; + uint16_t syn:1; + uint16_t fin:1; +#endif + uint16_t window; + uint16_t check; + uint16_t urg_ptr; + + }; struct { +#endif + + uint16_t th_sport; + uint16_t th_dport; + uint32_t th_seq; + uint32_t th_ack; +#if __BYTE_ORDER == __LITTLE_ENDIAN + uint8_t th_x2:4; + uint8_t th_off:4; +#else + uint8_t th_off:4; + uint8_t th_x2:4; +#endif + uint8_t th_flags; + uint16_t th_win; + uint16_t th_sum; + uint16_t th_urp; + +#ifdef _GNU_SOURCE + }; }; +#endif +}; +#endif + +#ifdef _GNU_SOURCE +#define TCPI_OPT_TIMESTAMPS 1 +#define TCPI_OPT_SACK 2 +#define TCPI_OPT_WSCALE 4 +#define TCPI_OPT_ECN 8 + +#define TCP_CA_Open 0 +#define TCP_CA_Disorder 1 +#define TCP_CA_CWR 2 +#define TCP_CA_Recovery 3 +#define TCP_CA_Loss 4 + +enum tcp_fastopen_client_fail { + TFO_STATUS_UNSPEC, + TFO_COOKIE_UNAVAILABLE, + TFO_DATA_NOT_ACKED, + TFO_SYN_RETRANSMITTED, +}; + +struct tcp_info { + uint8_t tcpi_state; + uint8_t tcpi_ca_state; + uint8_t tcpi_retransmits; + uint8_t tcpi_probes; + uint8_t tcpi_backoff; + uint8_t tcpi_options; + uint8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; + uint8_t tcpi_delivery_rate_app_limited : 1, tcpi_fastopen_client_fail : 2; + uint32_t tcpi_rto; + uint32_t tcpi_ato; + uint32_t tcpi_snd_mss; + uint32_t tcpi_rcv_mss; + uint32_t tcpi_unacked; + uint32_t tcpi_sacked; + uint32_t tcpi_lost; + uint32_t tcpi_retrans; + uint32_t tcpi_fackets; + uint32_t tcpi_last_data_sent; + uint32_t tcpi_last_ack_sent; + uint32_t tcpi_last_data_recv; + uint32_t tcpi_last_ack_recv; + uint32_t tcpi_pmtu; + uint32_t tcpi_rcv_ssthresh; + uint32_t tcpi_rtt; + uint32_t tcpi_rttvar; + uint32_t tcpi_snd_ssthresh; + uint32_t tcpi_snd_cwnd; + uint32_t tcpi_advmss; + uint32_t tcpi_reordering; + uint32_t tcpi_rcv_rtt; + uint32_t tcpi_rcv_space; + uint32_t tcpi_total_retrans; + uint64_t tcpi_pacing_rate; + uint64_t tcpi_max_pacing_rate; + uint64_t tcpi_bytes_acked; + uint64_t tcpi_bytes_received; + uint32_t tcpi_segs_out; + uint32_t tcpi_segs_in; + uint32_t tcpi_notsent_bytes; + uint32_t tcpi_min_rtt; + uint32_t tcpi_data_segs_in; + uint32_t tcpi_data_segs_out; + uint64_t tcpi_delivery_rate; + uint64_t tcpi_busy_time; + uint64_t tcpi_rwnd_limited; + uint64_t tcpi_sndbuf_limited; + uint32_t tcpi_delivered; + uint32_t tcpi_delivered_ce; + uint64_t tcpi_bytes_sent; + uint64_t tcpi_bytes_retrans; + uint32_t tcpi_dsack_dups; + uint32_t tcpi_reord_seen; + uint32_t tcpi_rcv_ooopack; + uint32_t tcpi_snd_wnd; +}; + +#define TCP_MD5SIG_MAXKEYLEN 80 + +#define TCP_MD5SIG_FLAG_PREFIX 0x1 +#define TCP_MD5SIG_FLAG_IFINDEX 0x2 + +struct tcp_md5sig { + struct sockaddr_storage tcpm_addr; + uint8_t tcpm_flags; + uint8_t tcpm_prefixlen; + uint16_t tcpm_keylen; + int tcpm_ifindex; + uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; +}; + +struct tcp_diag_md5sig { + uint8_t tcpm_family; + uint8_t tcpm_prefixlen; + uint16_t tcpm_keylen; + uint32_t tcpm_addr[4]; + uint8_t tcpm_key[TCP_MD5SIG_MAXKEYLEN]; +}; + +#define TCP_REPAIR_ON 1 +#define TCP_REPAIR_OFF 0 +#define TCP_REPAIR_OFF_NO_WP -1 + +struct tcp_repair_window { + uint32_t snd_wl1; + uint32_t snd_wnd; + uint32_t max_window; + uint32_t rcv_wnd; + uint32_t rcv_wup; +}; + +#define TCP_RECEIVE_ZEROCOPY_FLAG_TLB_CLEAN_HINT 0x1 + +struct tcp_zerocopy_receive { + uint64_t address; + uint32_t length; + uint32_t recv_skip_hint; + uint32_t inq; + int32_t err; + uint64_t copybuf_address; + int32_t copybuf_len; + uint32_t flags; + uint64_t msg_control; + uint64_t msg_controllen; + uint32_t msg_flags; + uint32_t reserved; +}; + +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/udp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/udp.h new file mode 100644 index 00000000..03557610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netinet/udp.h @@ -0,0 +1,46 @@ +#ifndef _NETINET_UDP_H +#define _NETINET_UDP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#ifdef _GNU_SOURCE +#define uh_sport source +#define uh_dport dest +#define uh_ulen len +#define uh_sum check +#endif + +struct udphdr { + uint16_t uh_sport; + uint16_t uh_dport; + uint16_t uh_ulen; + uint16_t uh_sum; +}; + +#define UDP_CORK 1 +#define UDP_ENCAP 100 +#define UDP_NO_CHECK6_TX 101 +#define UDP_NO_CHECK6_RX 102 +#define UDP_SEGMENT 103 +#define UDP_GRO 104 + +#define UDP_ENCAP_ESPINUDP_NON_IKE 1 +#define UDP_ENCAP_ESPINUDP 2 +#define UDP_ENCAP_L2TPINUDP 3 +#define UDP_ENCAP_GTP0 4 +#define UDP_ENCAP_GTP1U 5 +#define UDP_ENCAP_RXRPC 6 +#define TCP_ENCAP_ESPINTCP 7 + +#define SOL_UDP 17 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netpacket/packet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netpacket/packet.h new file mode 100644 index 00000000..65a6d2ae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/netpacket/packet.h @@ -0,0 +1,62 @@ +#ifndef _NETPACKET_PACKET_H +#define _NETPACKET_PACKET_H + +#ifdef __cplusplus +extern "C" { +#endif + +struct sockaddr_ll { + unsigned short sll_family, sll_protocol; + int sll_ifindex; + unsigned short sll_hatype; + unsigned char sll_pkttype, sll_halen; + unsigned char sll_addr[8]; +}; + +struct packet_mreq { + int mr_ifindex; + unsigned short int mr_type, mr_alen; + unsigned char mr_address[8]; +}; + +#define PACKET_HOST 0 +#define PACKET_BROADCAST 1 +#define PACKET_MULTICAST 2 +#define PACKET_OTHERHOST 3 +#define PACKET_OUTGOING 4 +#define PACKET_LOOPBACK 5 +#define PACKET_FASTROUTE 6 + +#define PACKET_ADD_MEMBERSHIP 1 +#define PACKET_DROP_MEMBERSHIP 2 +#define PACKET_RECV_OUTPUT 3 +#define PACKET_RX_RING 5 +#define PACKET_STATISTICS 6 +#define PACKET_COPY_THRESH 7 +#define PACKET_AUXDATA 8 +#define PACKET_ORIGDEV 9 +#define PACKET_VERSION 10 +#define PACKET_HDRLEN 11 +#define PACKET_RESERVE 12 +#define PACKET_TX_RING 13 +#define PACKET_LOSS 14 +#define PACKET_VNET_HDR 15 +#define PACKET_TX_TIMESTAMP 16 +#define PACKET_TIMESTAMP 17 +#define PACKET_FANOUT 18 +#define PACKET_TX_HAS_OFF 19 +#define PACKET_QDISC_BYPASS 20 +#define PACKET_ROLLOVER_STATS 21 +#define PACKET_FANOUT_DATA 22 +#define PACKET_IGNORE_OUTGOING 23 + +#define PACKET_MR_MULTICAST 0 +#define PACKET_MR_PROMISC 1 +#define PACKET_MR_ALLMULTI 2 +#define PACKET_MR_UNICAST 3 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/nl_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/nl_types.h new file mode 100644 index 00000000..3b8a555d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/nl_types.h @@ -0,0 +1,22 @@ +#ifndef _NL_TYPES_H +#define _NL_TYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define NL_SETD 1 +#define NL_CAT_LOCALE 1 + +typedef int nl_item; +typedef void *nl_catd; + +nl_catd catopen (const char *, int); +char *catgets (nl_catd, int, int, const char *); +int catclose (nl_catd); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/paths.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/paths.h new file mode 100644 index 00000000..92a35d1c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/paths.h @@ -0,0 +1,31 @@ +#ifndef _PATHS_H +#define _PATHS_H + +#define _PATH_DEFPATH "/usr/local/bin:/bin:/usr/bin" +#define _PATH_STDPATH "/bin:/usr/bin:/sbin:/usr/sbin" + +#define _PATH_BSHELL "/bin/sh" +#define _PATH_CONSOLE "/dev/console" +#define _PATH_DEVNULL "/dev/null" +#define _PATH_KLOG "/proc/kmsg" +#define _PATH_LASTLOG "/var/log/lastlog" +#define _PATH_MAILDIR "/var/mail" +#define _PATH_MAN "/usr/share/man" +#define _PATH_MNTTAB "/etc/fstab" +#define _PATH_MOUNTED "/etc/mtab" +#define _PATH_NOLOGIN "/etc/nologin" +#define _PATH_SENDMAIL "/usr/sbin/sendmail" +#define _PATH_SHADOW "/etc/shadow" +#define _PATH_SHELLS "/etc/shells" +#define _PATH_TTY "/dev/tty" +#define _PATH_UTMP "/dev/null/utmp" +#define _PATH_VI "/usr/bin/vi" +#define _PATH_WTMP "/dev/null/wtmp" + +#define _PATH_DEV "/dev/" +#define _PATH_TMP "/tmp/" +#define _PATH_VARDB "/var/lib/misc/" +#define _PATH_VARRUN "/var/run/" +#define _PATH_VARTMP "/var/tmp/" + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/poll.h new file mode 100644 index 00000000..5d833740 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/poll.h @@ -0,0 +1,57 @@ +#ifndef _POLL_H +#define _POLL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +#define POLLIN 0x001 +#define POLLPRI 0x002 +#define POLLOUT 0x004 +#define POLLERR 0x008 +#define POLLHUP 0x010 +#define POLLNVAL 0x020 +#define POLLRDNORM 0x040 +#define POLLRDBAND 0x080 +#ifndef POLLWRNORM +#define POLLWRNORM 0x100 +#define POLLWRBAND 0x200 +#endif +#ifndef POLLMSG +#define POLLMSG 0x400 +#define POLLRDHUP 0x2000 +#endif + +typedef unsigned long nfds_t; + +struct pollfd { + int fd; + short events; + short revents; +}; + +int poll (struct pollfd *, nfds_t, int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_time_t +#define __NEED_struct_timespec +#define __NEED_sigset_t +#include +int ppoll(struct pollfd *, nfds_t, const struct timespec *, const sigset_t *); +#endif + +#if _REDIR_TIME64 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(ppoll, __ppoll_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pthread.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pthread.h new file mode 100644 index 00000000..9552460b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pthread.h @@ -0,0 +1,244 @@ +#ifndef _PTHREAD_H +#define _PTHREAD_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_time_t +#define __NEED_clockid_t +#define __NEED_struct_timespec +#define __NEED_sigset_t +#define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_pthread_mutexattr_t +#define __NEED_pthread_condattr_t +#define __NEED_pthread_rwlockattr_t +#define __NEED_pthread_barrierattr_t +#define __NEED_pthread_mutex_t +#define __NEED_pthread_cond_t +#define __NEED_pthread_rwlock_t +#define __NEED_pthread_barrier_t +#define __NEED_pthread_spinlock_t +#define __NEED_pthread_key_t +#define __NEED_pthread_once_t +#define __NEED_size_t + +#include + +#include +#include + +#define PTHREAD_CREATE_JOINABLE 0 +#define PTHREAD_CREATE_DETACHED 1 + +#define PTHREAD_MUTEX_NORMAL 0 +#define PTHREAD_MUTEX_DEFAULT 0 +#define PTHREAD_MUTEX_RECURSIVE 1 +#define PTHREAD_MUTEX_ERRORCHECK 2 + +#define PTHREAD_MUTEX_STALLED 0 +#define PTHREAD_MUTEX_ROBUST 1 + +#define PTHREAD_PRIO_NONE 0 +#define PTHREAD_PRIO_INHERIT 1 +#define PTHREAD_PRIO_PROTECT 2 + +#define PTHREAD_INHERIT_SCHED 0 +#define PTHREAD_EXPLICIT_SCHED 1 + +#define PTHREAD_SCOPE_SYSTEM 0 +#define PTHREAD_SCOPE_PROCESS 1 + +#define PTHREAD_PROCESS_PRIVATE 0 +#define PTHREAD_PROCESS_SHARED 1 + + +#define PTHREAD_MUTEX_INITIALIZER {{{0}}} +#define PTHREAD_RWLOCK_INITIALIZER {{{0}}} +#define PTHREAD_COND_INITIALIZER {{{0}}} +#define PTHREAD_ONCE_INIT 0 + + +#define PTHREAD_CANCEL_ENABLE 0 +#define PTHREAD_CANCEL_DISABLE 1 +#define PTHREAD_CANCEL_MASKED 2 + +#define PTHREAD_CANCEL_DEFERRED 0 +#define PTHREAD_CANCEL_ASYNCHRONOUS 1 + +#define PTHREAD_CANCELED ((void *)-1) + + +#define PTHREAD_BARRIER_SERIAL_THREAD (-1) + + +#define PTHREAD_NULL ((pthread_t)0) + + +int pthread_create(pthread_t *__restrict, const pthread_attr_t *__restrict, void *(*)(void *), void *__restrict); +int pthread_detach(pthread_t); +_Noreturn void pthread_exit(void *); +int pthread_join(pthread_t, void **); + +#ifdef __GNUC__ +__attribute__((const)) +#endif +pthread_t pthread_self(void); + +int pthread_equal(pthread_t, pthread_t); +#ifndef __cplusplus +#define pthread_equal(x,y) ((x)==(y)) +#endif + +int pthread_setcancelstate(int, int *); +int pthread_setcanceltype(int, int *); +void pthread_testcancel(void); +int pthread_cancel(pthread_t); + +int pthread_getschedparam(pthread_t, int *__restrict, struct sched_param *__restrict); +int pthread_setschedparam(pthread_t, int, const struct sched_param *); +int pthread_setschedprio(pthread_t, int); + +int pthread_once(pthread_once_t *, void (*)(void)); + +int pthread_mutex_init(pthread_mutex_t *__restrict, const pthread_mutexattr_t *__restrict); +int pthread_mutex_lock(pthread_mutex_t *); +int pthread_mutex_unlock(pthread_mutex_t *); +int pthread_mutex_trylock(pthread_mutex_t *); +int pthread_mutex_timedlock(pthread_mutex_t *__restrict, const struct timespec *__restrict); +int pthread_mutex_destroy(pthread_mutex_t *); +int pthread_mutex_consistent(pthread_mutex_t *); + +int pthread_mutex_getprioceiling(const pthread_mutex_t *__restrict, int *__restrict); +int pthread_mutex_setprioceiling(pthread_mutex_t *__restrict, int, int *__restrict); + +int pthread_cond_init(pthread_cond_t *__restrict, const pthread_condattr_t *__restrict); +int pthread_cond_destroy(pthread_cond_t *); +int pthread_cond_wait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict); +int pthread_cond_timedwait(pthread_cond_t *__restrict, pthread_mutex_t *__restrict, const struct timespec *__restrict); +int pthread_cond_broadcast(pthread_cond_t *); +int pthread_cond_signal(pthread_cond_t *); + +int pthread_rwlock_init(pthread_rwlock_t *__restrict, const pthread_rwlockattr_t *__restrict); +int pthread_rwlock_destroy(pthread_rwlock_t *); +int pthread_rwlock_rdlock(pthread_rwlock_t *); +int pthread_rwlock_tryrdlock(pthread_rwlock_t *); +int pthread_rwlock_timedrdlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict); +int pthread_rwlock_wrlock(pthread_rwlock_t *); +int pthread_rwlock_trywrlock(pthread_rwlock_t *); +int pthread_rwlock_timedwrlock(pthread_rwlock_t *__restrict, const struct timespec *__restrict); +int pthread_rwlock_unlock(pthread_rwlock_t *); + +int pthread_spin_init(pthread_spinlock_t *, int); +int pthread_spin_destroy(pthread_spinlock_t *); +int pthread_spin_lock(pthread_spinlock_t *); +int pthread_spin_trylock(pthread_spinlock_t *); +int pthread_spin_unlock(pthread_spinlock_t *); + +int pthread_barrier_init(pthread_barrier_t *__restrict, const pthread_barrierattr_t *__restrict, unsigned); +int pthread_barrier_destroy(pthread_barrier_t *); +int pthread_barrier_wait(pthread_barrier_t *); + +int pthread_key_create(pthread_key_t *, void (*)(void *)); +int pthread_key_delete(pthread_key_t); +void *pthread_getspecific(pthread_key_t); +int pthread_setspecific(pthread_key_t, const void *); + +int pthread_attr_init(pthread_attr_t *); +int pthread_attr_destroy(pthread_attr_t *); + +int pthread_attr_getguardsize(const pthread_attr_t *__restrict, size_t *__restrict); +int pthread_attr_setguardsize(pthread_attr_t *, size_t); +int pthread_attr_getstacksize(const pthread_attr_t *__restrict, size_t *__restrict); +int pthread_attr_setstacksize(pthread_attr_t *, size_t); +int pthread_attr_getdetachstate(const pthread_attr_t *, int *); +int pthread_attr_setdetachstate(pthread_attr_t *, int); +int pthread_attr_getstack(const pthread_attr_t *__restrict, void **__restrict, size_t *__restrict); +int pthread_attr_setstack(pthread_attr_t *, void *, size_t); +int pthread_attr_getscope(const pthread_attr_t *__restrict, int *__restrict); +int pthread_attr_setscope(pthread_attr_t *, int); +int pthread_attr_getschedpolicy(const pthread_attr_t *__restrict, int *__restrict); +int pthread_attr_setschedpolicy(pthread_attr_t *, int); +int pthread_attr_getschedparam(const pthread_attr_t *__restrict, struct sched_param *__restrict); +int pthread_attr_setschedparam(pthread_attr_t *__restrict, const struct sched_param *__restrict); +int pthread_attr_getinheritsched(const pthread_attr_t *__restrict, int *__restrict); +int pthread_attr_setinheritsched(pthread_attr_t *, int); + +int pthread_mutexattr_destroy(pthread_mutexattr_t *); +int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *__restrict, int *__restrict); +int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *__restrict, int *__restrict); +int pthread_mutexattr_getpshared(const pthread_mutexattr_t *__restrict, int *__restrict); +int pthread_mutexattr_getrobust(const pthread_mutexattr_t *__restrict, int *__restrict); +int pthread_mutexattr_gettype(const pthread_mutexattr_t *__restrict, int *__restrict); +int pthread_mutexattr_init(pthread_mutexattr_t *); +int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); +int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); +int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); +int pthread_mutexattr_setrobust(pthread_mutexattr_t *, int); +int pthread_mutexattr_settype(pthread_mutexattr_t *, int); + +int pthread_condattr_init(pthread_condattr_t *); +int pthread_condattr_destroy(pthread_condattr_t *); +int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); +int pthread_condattr_setpshared(pthread_condattr_t *, int); +int pthread_condattr_getclock(const pthread_condattr_t *__restrict, clockid_t *__restrict); +int pthread_condattr_getpshared(const pthread_condattr_t *__restrict, int *__restrict); + +int pthread_rwlockattr_init(pthread_rwlockattr_t *); +int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); +int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); +int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *__restrict, int *__restrict); + +int pthread_barrierattr_destroy(pthread_barrierattr_t *); +int pthread_barrierattr_getpshared(const pthread_barrierattr_t *__restrict, int *__restrict); +int pthread_barrierattr_init(pthread_barrierattr_t *); +int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); + +int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); + +int pthread_getconcurrency(void); +int pthread_setconcurrency(int); + +int pthread_getcpuclockid(pthread_t, clockid_t *); + +struct __ptcb { + void (*__f)(void *); + void *__x; + struct __ptcb *__next; +}; + +void _pthread_cleanup_push(struct __ptcb *, void (*)(void *), void *); +void _pthread_cleanup_pop(struct __ptcb *, int); + +#define pthread_cleanup_push(f, x) do { struct __ptcb __cb; _pthread_cleanup_push(&__cb, f, x); +#define pthread_cleanup_pop(r) _pthread_cleanup_pop(&__cb, (r)); } while(0) + +#ifdef _GNU_SOURCE +struct cpu_set_t; +int pthread_getaffinity_np(pthread_t, size_t, struct cpu_set_t *); +int pthread_setaffinity_np(pthread_t, size_t, const struct cpu_set_t *); +int pthread_getattr_np(pthread_t, pthread_attr_t *); +int pthread_setname_np(pthread_t, const char *); +int pthread_getname_np(pthread_t, char *, size_t); +int pthread_getattr_default_np(pthread_attr_t *); +int pthread_setattr_default_np(const pthread_attr_t *); +int pthread_tryjoin_np(pthread_t, void **); +int pthread_timedjoin_np(pthread_t, void **, const struct timespec *); +#endif + +#if _REDIR_TIME64 +__REDIR(pthread_mutex_timedlock, __pthread_mutex_timedlock_time64); +__REDIR(pthread_cond_timedwait, __pthread_cond_timedwait_time64); +__REDIR(pthread_rwlock_timedrdlock, __pthread_rwlock_timedrdlock_time64); +__REDIR(pthread_rwlock_timedwrlock, __pthread_rwlock_timedwrlock_time64); +#ifdef _GNU_SOURCE +__REDIR(pthread_timedjoin_np, __pthread_timedjoin_np_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pty.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pty.h new file mode 100644 index 00000000..497d5a42 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pty.h @@ -0,0 +1,18 @@ +#ifndef _PTY_H +#define _PTY_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +int openpty(int *, int *, char *, const struct termios *, const struct winsize *); +int forkpty(int *, char *, const struct termios *, const struct winsize *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pwd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pwd.h new file mode 100644 index 00000000..b28a6ecc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/pwd.h @@ -0,0 +1,50 @@ +#ifndef _PWD_H +#define _PWD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_uid_t +#define __NEED_gid_t + +#ifdef _GNU_SOURCE +#define __NEED_FILE +#endif + +#include + +struct passwd { + char *pw_name; + char *pw_passwd; + uid_t pw_uid; + gid_t pw_gid; + char *pw_gecos; + char *pw_dir; + char *pw_shell; +}; + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void setpwent (void); +void endpwent (void); +struct passwd *getpwent (void); +#endif + +struct passwd *getpwuid (uid_t); +struct passwd *getpwnam (const char *); +int getpwuid_r (uid_t, struct passwd *, char *, size_t, struct passwd **); +int getpwnam_r (const char *, struct passwd *, char *, size_t, struct passwd **); + +#ifdef _GNU_SOURCE +struct passwd *fgetpwent(FILE *); +int putpwent(const struct passwd *, FILE *); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/regex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/regex.h new file mode 100644 index 00000000..79866412 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/regex.h @@ -0,0 +1,62 @@ +#ifndef _REGEX_H +#define _REGEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_regoff_t +#define __NEED_size_t + +#include + +typedef struct re_pattern_buffer { + size_t re_nsub; + void *__opaque, *__padding[4]; + size_t __nsub2; + char __padding2; +} regex_t; + +typedef struct { + regoff_t rm_so; + regoff_t rm_eo; +} regmatch_t; + +#define REG_EXTENDED 1 +#define REG_ICASE 2 +#define REG_NEWLINE 4 +#define REG_NOSUB 8 + +#define REG_NOTBOL 1 +#define REG_NOTEOL 2 + +#define REG_OK 0 +#define REG_NOMATCH 1 +#define REG_BADPAT 2 +#define REG_ECOLLATE 3 +#define REG_ECTYPE 4 +#define REG_EESCAPE 5 +#define REG_ESUBREG 6 +#define REG_EBRACK 7 +#define REG_EPAREN 8 +#define REG_EBRACE 9 +#define REG_BADBR 10 +#define REG_ERANGE 11 +#define REG_ESPACE 12 +#define REG_BADRPT 13 + +#define REG_ENOSYS -1 + +int regcomp(regex_t *__restrict, const char *__restrict, int); +int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int); +void regfree(regex_t *); + +size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/resolv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/resolv.h new file mode 100644 index 00000000..a8a2ce20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/resolv.h @@ -0,0 +1,142 @@ +#ifndef _RESOLV_H +#define _RESOLV_H + +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#define MAXNS 3 +#define MAXDFLSRCH 3 +#define MAXDNSRCH 6 +#define LOCALDOMAINPARTS 2 + +#define RES_TIMEOUT 5 +#define MAXRESOLVSORT 10 +#define RES_MAXNDOTS 15 +#define RES_MAXRETRANS 30 +#define RES_MAXRETRY 5 +#define RES_DFLRETRY 2 +#define RES_MAXTIME 65535 + +/* unused; purely for broken apps */ +typedef struct __res_state { + int retrans; + int retry; + unsigned long options; + int nscount; + struct sockaddr_in nsaddr_list[MAXNS]; +# define nsaddr nsaddr_list[0] + unsigned short id; + char *dnsrch[MAXDNSRCH+1]; + char defdname[256]; + unsigned long pfcode; + unsigned ndots:4; + unsigned nsort:4; + unsigned ipv6_unavail:1; + unsigned unused:23; + struct { + struct in_addr addr; + uint32_t mask; + } sort_list[MAXRESOLVSORT]; + void *qhook; + void *rhook; + int res_h_errno; + int _vcsock; + unsigned _flags; + union { + char pad[52]; + struct { + uint16_t nscount; + uint16_t nsmap[MAXNS]; + int nssocks[MAXNS]; + uint16_t nscount6; + uint16_t nsinit; + struct sockaddr_in6 *nsaddrs[MAXNS]; + unsigned int _initstamp[2]; + } _ext; + } _u; +} *res_state; + +#define __RES 19960801 + +#ifndef _PATH_RESCONF +#define _PATH_RESCONF "/etc/resolv.conf" +#endif + +struct res_sym { + int number; + char *name; + char *humanname; +}; + +#define RES_F_VC 0x00000001 +#define RES_F_CONN 0x00000002 +#define RES_F_EDNS0ERR 0x00000004 + +#define RES_EXHAUSTIVE 0x00000001 + +#define RES_INIT 0x00000001 +#define RES_DEBUG 0x00000002 +#define RES_AAONLY 0x00000004 +#define RES_USEVC 0x00000008 +#define RES_PRIMARY 0x00000010 +#define RES_IGNTC 0x00000020 +#define RES_RECURSE 0x00000040 +#define RES_DEFNAMES 0x00000080 +#define RES_STAYOPEN 0x00000100 +#define RES_DNSRCH 0x00000200 +#define RES_INSECURE1 0x00000400 +#define RES_INSECURE2 0x00000800 +#define RES_NOALIASES 0x00001000 +#define RES_USE_INET6 0x00002000 +#define RES_ROTATE 0x00004000 +#define RES_NOCHECKNAME 0x00008000 +#define RES_KEEPTSIG 0x00010000 +#define RES_BLAST 0x00020000 +#define RES_USEBSTRING 0x00040000 +#define RES_NOIP6DOTINT 0x00080000 +#define RES_USE_EDNS0 0x00100000 +#define RES_SNGLKUP 0x00200000 +#define RES_SNGLKUPREOP 0x00400000 +#define RES_USE_DNSSEC 0x00800000 + +#define RES_DEFAULT (RES_RECURSE|RES_DEFNAMES|RES_DNSRCH|RES_NOIP6DOTINT) + +#define RES_PRF_STATS 0x00000001 +#define RES_PRF_UPDATE 0x00000002 +#define RES_PRF_CLASS 0x00000004 +#define RES_PRF_CMD 0x00000008 +#define RES_PRF_QUES 0x00000010 +#define RES_PRF_ANS 0x00000020 +#define RES_PRF_AUTH 0x00000040 +#define RES_PRF_ADD 0x00000080 +#define RES_PRF_HEAD1 0x00000100 +#define RES_PRF_HEAD2 0x00000200 +#define RES_PRF_TTLID 0x00000400 +#define RES_PRF_HEADX 0x00000800 +#define RES_PRF_QUERY 0x00001000 +#define RES_PRF_REPLY 0x00002000 +#define RES_PRF_INIT 0x00004000 + +struct __res_state *__res_state(void); +#define _res (*__res_state()) + +int res_init(void); +int res_query(const char *, int, int, unsigned char *, int); +int res_querydomain(const char *, const char *, int, int, unsigned char *, int); +int res_search(const char *, int, int, unsigned char *, int); +int res_mkquery(int, const char *, int, int, const unsigned char *, int, const unsigned char*, unsigned char *, int); +int res_send(const unsigned char *, int, unsigned char *, int); +int dn_comp(const char *, unsigned char *, int, unsigned char **, unsigned char **); +int dn_expand(const unsigned char *, const unsigned char *, const unsigned char *, char *, int); +int dn_skipname(const unsigned char *, const unsigned char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sched.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sched.h new file mode 100644 index 00000000..933c2b20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sched.h @@ -0,0 +1,148 @@ +#ifndef _SCHED_H +#define _SCHED_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_struct_timespec +#define __NEED_pid_t +#define __NEED_time_t + +#ifdef _GNU_SOURCE +#define __NEED_size_t +#endif + +#include + +struct sched_param { + int sched_priority; + int __reserved1; +#if _REDIR_TIME64 + long __reserved2[4]; +#else + struct { + time_t __reserved1; + long __reserved2; + } __reserved2[2]; +#endif + int __reserved3; +}; + +int sched_get_priority_max(int); +int sched_get_priority_min(int); +int sched_getparam(pid_t, struct sched_param *); +int sched_getscheduler(pid_t); +int sched_rr_get_interval(pid_t, struct timespec *); +int sched_setparam(pid_t, const struct sched_param *); +int sched_setscheduler(pid_t, int, const struct sched_param *); +int sched_yield(void); + +#define SCHED_OTHER 0 +#define SCHED_FIFO 1 +#define SCHED_RR 2 +#define SCHED_BATCH 3 +#define SCHED_IDLE 5 +#define SCHED_DEADLINE 6 +#define SCHED_RESET_ON_FORK 0x40000000 + +#ifdef _GNU_SOURCE +#define CSIGNAL 0x000000ff +#define CLONE_NEWTIME 0x00000080 +#define CLONE_VM 0x00000100 +#define CLONE_FS 0x00000200 +#define CLONE_FILES 0x00000400 +#define CLONE_SIGHAND 0x00000800 +#define CLONE_PIDFD 0x00001000 +#define CLONE_PTRACE 0x00002000 +#define CLONE_VFORK 0x00004000 +#define CLONE_PARENT 0x00008000 +#define CLONE_THREAD 0x00010000 +#define CLONE_NEWNS 0x00020000 +#define CLONE_SYSVSEM 0x00040000 +#define CLONE_SETTLS 0x00080000 +#define CLONE_PARENT_SETTID 0x00100000 +#define CLONE_CHILD_CLEARTID 0x00200000 +#define CLONE_DETACHED 0x00400000 +#define CLONE_UNTRACED 0x00800000 +#define CLONE_CHILD_SETTID 0x01000000 +#define CLONE_NEWCGROUP 0x02000000 +#define CLONE_NEWUTS 0x04000000 +#define CLONE_NEWIPC 0x08000000 +#define CLONE_NEWUSER 0x10000000 +#define CLONE_NEWPID 0x20000000 +#define CLONE_NEWNET 0x40000000 +#define CLONE_IO 0x80000000 +int clone (int (*)(void *), void *, int, void *, ...); +int unshare(int); +int setns(int, int); + +void *memcpy(void *__restrict, const void *__restrict, size_t); +int memcmp(const void *, const void *, size_t); +void *memset (void *, int, size_t); +void *calloc(size_t, size_t); +void free(void *); + +typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; } cpu_set_t; +int __sched_cpucount(size_t, const cpu_set_t *); +int sched_getcpu(void); +int sched_getaffinity(pid_t, size_t, cpu_set_t *); +int sched_setaffinity(pid_t, size_t, const cpu_set_t *); + +#define __CPU_op_S(i, size, set, op) ( (i)/8U >= (size) ? 0 : \ + (((unsigned long *)(set))[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) ) + +#define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=) +#define CPU_CLR_S(i, size, set) __CPU_op_S(i, size, set, &=~) +#define CPU_ISSET_S(i, size, set) __CPU_op_S(i, size, set, &) + +#define __CPU_op_func_S(func, op) \ +static __inline void __CPU_##func##_S(size_t __size, cpu_set_t *__dest, \ + const cpu_set_t *__src1, const cpu_set_t *__src2) \ +{ \ + size_t __i; \ + for (__i=0; __i<__size/sizeof(long); __i++) \ + ((unsigned long *)__dest)[__i] = ((unsigned long *)__src1)[__i] \ + op ((unsigned long *)__src2)[__i] ; \ +} + +__CPU_op_func_S(AND, &) +__CPU_op_func_S(OR, |) +__CPU_op_func_S(XOR, ^) + +#define CPU_AND_S(a,b,c,d) __CPU_AND_S(a,b,c,d) +#define CPU_OR_S(a,b,c,d) __CPU_OR_S(a,b,c,d) +#define CPU_XOR_S(a,b,c,d) __CPU_XOR_S(a,b,c,d) + +#define CPU_COUNT_S(size,set) __sched_cpucount(size,set) +#define CPU_ZERO_S(size,set) memset(set,0,size) +#define CPU_EQUAL_S(size,set1,set2) (!memcmp(set1,set2,size)) + +#define CPU_ALLOC_SIZE(n) (sizeof(long) * ( (n)/(8*sizeof(long)) \ + + ((n)%(8*sizeof(long)) + 8*sizeof(long)-1)/(8*sizeof(long)) ) ) +#define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n))) +#define CPU_FREE(set) free(set) + +#define CPU_SETSIZE 1024 + +#define CPU_SET(i, set) CPU_SET_S(i,sizeof(cpu_set_t),set) +#define CPU_CLR(i, set) CPU_CLR_S(i,sizeof(cpu_set_t),set) +#define CPU_ISSET(i, set) CPU_ISSET_S(i,sizeof(cpu_set_t),set) +#define CPU_AND(d,s1,s2) CPU_AND_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_OR(d,s1,s2) CPU_OR_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_XOR(d,s1,s2) CPU_XOR_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t),set) +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set) +#define CPU_EQUAL(s1,s2) CPU_EQUAL_S(sizeof(cpu_set_t),s1,s2) + +#endif + +#if _REDIR_TIME64 +__REDIR(sched_rr_get_interval, __sched_rr_get_interval_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi.h new file mode 100644 index 00000000..14326a5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi.h @@ -0,0 +1,149 @@ +#ifndef _SCSI_SCSI_H +#define _SCSI_SCSI_H + +#define TEST_UNIT_READY 0x00 +#define REZERO_UNIT 0x01 +#define REQUEST_SENSE 0x03 +#define FORMAT_UNIT 0x04 +#define READ_BLOCK_LIMITS 0x05 +#define REASSIGN_BLOCKS 0x07 +#define READ_6 0x08 +#define WRITE_6 0x0a +#define SEEK_6 0x0b +#define READ_REVERSE 0x0f +#define WRITE_FILEMARKS 0x10 +#define SPACE 0x11 +#define INQUIRY 0x12 +#define RECOVER_BUFFERED_DATA 0x14 +#define MODE_SELECT 0x15 +#define RESERVE 0x16 +#define RELEASE 0x17 +#define COPY 0x18 +#define ERASE 0x19 +#define MODE_SENSE 0x1a +#define START_STOP 0x1b +#define RECEIVE_DIAGNOSTIC 0x1c +#define SEND_DIAGNOSTIC 0x1d +#define ALLOW_MEDIUM_REMOVAL 0x1e +#define SET_WINDOW 0x24 +#define READ_CAPACITY 0x25 +#define READ_10 0x28 +#define WRITE_10 0x2a +#define SEEK_10 0x2b +#define WRITE_VERIFY 0x2e +#define VERIFY 0x2f +#define SEARCH_HIGH 0x30 +#define SEARCH_EQUAL 0x31 +#define SEARCH_LOW 0x32 +#define SET_LIMITS 0x33 +#define PRE_FETCH 0x34 +#define READ_POSITION 0x34 +#define SYNCHRONIZE_CACHE 0x35 +#define LOCK_UNLOCK_CACHE 0x36 +#define READ_DEFECT_DATA 0x37 +#define MEDIUM_SCAN 0x38 +#define COMPARE 0x39 +#define COPY_VERIFY 0x3a +#define WRITE_BUFFER 0x3b +#define READ_BUFFER 0x3c +#define UPDATE_BLOCK 0x3d +#define READ_LONG 0x3e +#define WRITE_LONG 0x3f +#define CHANGE_DEFINITION 0x40 +#define WRITE_SAME 0x41 +#define READ_TOC 0x43 +#define LOG_SELECT 0x4c +#define LOG_SENSE 0x4d +#define MODE_SELECT_10 0x55 +#define RESERVE_10 0x56 +#define RELEASE_10 0x57 +#define MODE_SENSE_10 0x5a +#define PERSISTENT_RESERVE_IN 0x5e +#define PERSISTENT_RESERVE_OUT 0x5f +#define MOVE_MEDIUM 0xa5 +#define READ_12 0xa8 +#define WRITE_12 0xaa +#define WRITE_VERIFY_12 0xae +#define SEARCH_HIGH_12 0xb0 +#define SEARCH_EQUAL_12 0xb1 +#define SEARCH_LOW_12 0xb2 +#define READ_ELEMENT_STATUS 0xb8 +#define SEND_VOLUME_TAG 0xb6 +#define WRITE_LONG_2 0xea +#define GOOD 0x00 +#define CHECK_CONDITION 0x01 +#define CONDITION_GOOD 0x02 +#define BUSY 0x04 +#define INTERMEDIATE_GOOD 0x08 +#define INTERMEDIATE_C_GOOD 0x0a +#define RESERVATION_CONFLICT 0x0c +#define COMMAND_TERMINATED 0x11 +#define QUEUE_FULL 0x14 +#define STATUS_MASK 0x3e +#define NO_SENSE 0x00 +#define RECOVERED_ERROR 0x01 +#define NOT_READY 0x02 +#define MEDIUM_ERROR 0x03 +#define HARDWARE_ERROR 0x04 +#define ILLEGAL_REQUEST 0x05 +#define UNIT_ATTENTION 0x06 +#define DATA_PROTECT 0x07 +#define BLANK_CHECK 0x08 +#define COPY_ABORTED 0x0a +#define ABORTED_COMMAND 0x0b +#define VOLUME_OVERFLOW 0x0d +#define MISCOMPARE 0x0e +#define TYPE_DISK 0x00 +#define TYPE_TAPE 0x01 +#define TYPE_PROCESSOR 0x03 +#define TYPE_WORM 0x04 +#define TYPE_ROM 0x05 +#define TYPE_SCANNER 0x06 +#define TYPE_MOD 0x07 +#define TYPE_MEDIUM_CHANGER 0x08 +#define TYPE_ENCLOSURE 0x0d +#define TYPE_NO_LUN 0x7f +#define COMMAND_COMPLETE 0x00 +#define EXTENDED_MESSAGE 0x01 +#define EXTENDED_MODIFY_DATA_POINTER 0x00 +#define EXTENDED_SDTR 0x01 +#define EXTENDED_EXTENDED_IDENTIFY 0x02 +#define EXTENDED_WDTR 0x03 +#define SAVE_POINTERS 0x02 +#define RESTORE_POINTERS 0x03 +#define DISCONNECT 0x04 +#define INITIATOR_ERROR 0x05 +#define ABORT 0x06 +#define MESSAGE_REJECT 0x07 +#define NOP 0x08 +#define MSG_PARITY_ERROR 0x09 +#define LINKED_CMD_COMPLETE 0x0a +#define LINKED_FLG_CMD_COMPLETE 0x0b +#define BUS_DEVICE_RESET 0x0c +#define INITIATE_RECOVERY 0x0f +#define RELEASE_RECOVERY 0x10 +#define SIMPLE_QUEUE_TAG 0x20 +#define HEAD_OF_QUEUE_TAG 0x21 +#define ORDERED_QUEUE_TAG 0x22 +#define SCSI_IOCTL_GET_IDLUN 0x5382 +#define SCSI_IOCTL_TAGGED_ENABLE 0x5383 +#define SCSI_IOCTL_TAGGED_DISABLE 0x5384 +#define SCSI_IOCTL_PROBE_HOST 0x5385 +#define SCSI_IOCTL_GET_BUS_NUMBER 0x5386 + +struct ccs_modesel_head { + unsigned char _r1; + unsigned char medium; + unsigned char _r2; + unsigned char block_desc_length; + unsigned char density; + unsigned char number_blocks_hi; + unsigned char number_blocks_med; + unsigned char number_blocks_lo; + unsigned char _r3; + unsigned char block_length_hi; + unsigned char block_length_med; + unsigned char block_length_lo; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi_ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi_ioctl.h new file mode 100644 index 00000000..c0148170 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/scsi_ioctl.h @@ -0,0 +1,11 @@ +#ifndef _SCSI_IOCTL_H +#define _SCSI_IOCTL_H +#define SCSI_IOCTL_SEND_COMMAND 1 +#define SCSI_IOCTL_TEST_UNIT_READY 2 +#define SCSI_IOCTL_BENCHMARK_COMMAND 3 +#define SCSI_IOCTL_SYNC 4 +#define SCSI_IOCTL_START_UNIT 5 +#define SCSI_IOCTL_STOP_UNIT 6 +#define SCSI_IOCTL_DOORLOCK 0x5380 +#define SCSI_IOCTL_DOORUNLOCK 0x5381 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/sg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/sg.h new file mode 100644 index 00000000..bbc77ec9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/scsi/sg.h @@ -0,0 +1,129 @@ +#ifndef _SCSI_SG_H +#define _SCSI_SG_H + +#define SG_DXFER_NONE -1 +#define SG_DXFER_TO_DEV -2 +#define SG_DXFER_FROM_DEV -3 +#define SG_DXFER_TO_FROM_DEV -4 +#define SG_FLAG_DIRECT_IO 1 +#define SG_FLAG_LUN_INHIBIT 2 +#define SG_FLAG_NO_DXFER 0x10000 +#define SG_INFO_OK_MASK 0x1 +#define SG_INFO_OK 0x0 +#define SG_INFO_CHECK 0x1 +#define SG_INFO_DIRECT_IO_MASK 0x6 +#define SG_INFO_INDIRECT_IO 0x0 +#define SG_INFO_DIRECT_IO 0x2 +#define SG_INFO_MIXED_IO 0x4 +#define SG_EMULATED_HOST 0x2203 +#define SG_SET_TRANSFORM 0x2204 +#define SG_GET_TRANSFORM 0x2205 +#define SG_SET_RESERVED_SIZE 0x2275 +#define SG_GET_RESERVED_SIZE 0x2272 +#define SG_GET_SCSI_ID 0x2276 +#define SG_SET_FORCE_LOW_DMA 0x2279 +#define SG_GET_LOW_DMA 0x227a +#define SG_SET_FORCE_PACK_ID 0x227b +#define SG_GET_PACK_ID 0x227c +#define SG_GET_NUM_WAITING 0x227d +#define SG_GET_SG_TABLESIZE 0x227F +#define SG_GET_VERSION_NUM 0x2282 +#define SG_SCSI_RESET 0x2284 +#define SG_SCSI_RESET_NOTHING 0 +#define SG_SCSI_RESET_DEVICE 1 +#define SG_SCSI_RESET_BUS 2 +#define SG_SCSI_RESET_HOST 3 +#define SG_IO 0x2285 +#define SG_GET_REQUEST_TABLE 0x2286 +#define SG_SET_KEEP_ORPHAN 0x2287 +#define SG_GET_KEEP_ORPHAN 0x2288 +#define SG_SCATTER_SZ (8 * 4096) +#define SG_DEFAULT_RETRIES 1 +#define SG_DEF_FORCE_LOW_DMA 0 +#define SG_DEF_FORCE_PACK_ID 0 +#define SG_DEF_KEEP_ORPHAN 0 +#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ +#define SG_MAX_QUEUE 16 +#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE +#define SG_MAX_SENSE 16 +#define SG_SET_TIMEOUT 0x2201 +#define SG_GET_TIMEOUT 0x2202 +#define SG_GET_COMMAND_Q 0x2270 +#define SG_SET_COMMAND_Q 0x2271 +#define SG_SET_DEBUG 0x227e +#define SG_NEXT_CMD_LEN 0x2283 +#define SG_DEFAULT_TIMEOUT (60*100) /* 60*HZ */ +#define SG_DEF_COMMAND_Q 0 +#define SG_DEF_UNDERRUN_FLAG 0 + +typedef struct sg_iovec { + void *iov_base; + unsigned long iov_len; +} sg_iovec_t; + +typedef struct sg_io_hdr { + int interface_id; + int dxfer_direction; + unsigned char cmd_len; + unsigned char mx_sb_len; + unsigned short iovec_count; + unsigned dxfer_len; + void *dxferp; + unsigned char *cmdp; + unsigned char *sbp; + unsigned timeout; + unsigned flags; + int pack_id; + void *usr_ptr; + unsigned char status; + unsigned char masked_status; + unsigned char msg_status; + unsigned char sb_len_wr; + unsigned short host_status; + unsigned short driver_status; + int resid; + unsigned int duration; + unsigned int info; +} sg_io_hdr_t; + +struct sg_scsi_id { + int host_no; + int channel; + int scsi_id; + int lun; + int scsi_type; + short h_cmd_per_lun; + short d_queue_depth; + int unused[2]; +}; + +typedef struct sg_req_info { + char req_state; + char orphan; + char sg_io_owned; + char problem; + int pack_id; + void *usr_ptr; + unsigned duration; + int unused; +} sg_req_info_t; + +typedef struct sg_io_hdr Sg_io_hdr; +typedef struct sg_io_vec Sg_io_vec; +typedef struct sg_scsi_id Sg_scsi_id; +typedef struct sg_req_info Sg_req_info; + +struct sg_header { + int pack_len; + int reply_len; + int pack_id; + int result; + unsigned twelve_byte:1; + unsigned target_status:5; + unsigned host_status:8; + unsigned driver_status:8; + unsigned other_flags:10; + unsigned char sense_buffer[SG_MAX_SENSE]; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/search.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/search.h new file mode 100644 index 00000000..a033e698 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/search.h @@ -0,0 +1,63 @@ +#ifndef _SEARCH_H +#define _SEARCH_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#include + +typedef enum { FIND, ENTER } ACTION; +typedef enum { preorder, postorder, endorder, leaf } VISIT; + +typedef struct entry { + char *key; + void *data; +} ENTRY; + +int hcreate(size_t); +void hdestroy(void); +ENTRY *hsearch(ENTRY, ACTION); + +#ifdef _GNU_SOURCE +struct hsearch_data { + struct __tab *__tab; + unsigned int __unused1; + unsigned int __unused2; +}; + +int hcreate_r(size_t, struct hsearch_data *); +void hdestroy_r(struct hsearch_data *); +int hsearch_r(ENTRY, ACTION, ENTRY **, struct hsearch_data *); +#endif + +void insque(void *, void *); +void remque(void *); + +void *lsearch(const void *, void *, size_t *, size_t, + int (*)(const void *, const void *)); +void *lfind(const void *, const void *, size_t *, size_t, + int (*)(const void *, const void *)); + +void *tdelete(const void *__restrict, void **__restrict, int(*)(const void *, const void *)); +void *tfind(const void *, void *const *, int(*)(const void *, const void *)); +void *tsearch(const void *, void **, int (*)(const void *, const void *)); +void twalk(const void *, void (*)(const void *, VISIT, int)); + +#ifdef _GNU_SOURCE +struct qelem { + struct qelem *q_forw, *q_back; + char q_data[1]; +}; + +void tdestroy(void *, void (*)(void *)); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/semaphore.h new file mode 100644 index 00000000..8f26fb75 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/semaphore.h @@ -0,0 +1,39 @@ +#ifndef _SEMAPHORE_H +#define _SEMAPHORE_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_time_t +#define __NEED_struct_timespec +#include + +#include + +#define SEM_FAILED ((sem_t *)0) + +typedef struct { + volatile int __val[4*sizeof(long)/sizeof(int)]; +} sem_t; + +int sem_close(sem_t *); +int sem_destroy(sem_t *); +int sem_getvalue(sem_t *__restrict, int *__restrict); +int sem_init(sem_t *, int, unsigned); +sem_t *sem_open(const char *, int, ...); +int sem_post(sem_t *); +int sem_timedwait(sem_t *__restrict, const struct timespec *__restrict); +int sem_trywait(sem_t *); +int sem_unlink(const char *); +int sem_wait(sem_t *); + +#if _REDIR_TIME64 +__REDIR(sem_timedwait, __sem_timedwait_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/setjmp.h new file mode 100644 index 00000000..2ccc2ac8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/setjmp.h @@ -0,0 +1,49 @@ +#ifndef _SETJMP_H +#define _SETJMP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +typedef struct __jmp_buf_tag { + __jmp_buf __jb; + unsigned long __fl; + unsigned long __ss[128/sizeof(long)]; +} jmp_buf[1]; + +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) +#define __setjmp_attr __attribute__((__returns_twice__)) +#else +#define __setjmp_attr +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +typedef jmp_buf sigjmp_buf; +int sigsetjmp (sigjmp_buf, int) __setjmp_attr; +_Noreturn void siglongjmp (sigjmp_buf, int); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +int _setjmp (jmp_buf) __setjmp_attr; +_Noreturn void _longjmp (jmp_buf, int); +#endif + +int setjmp (jmp_buf) __setjmp_attr; +_Noreturn void longjmp (jmp_buf, int); + +#define setjmp setjmp + +#undef __setjmp_attr + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/shadow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/shadow.h new file mode 100644 index 00000000..f5306b2b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/shadow.h @@ -0,0 +1,44 @@ +#ifndef _SHADOW_H +#define _SHADOW_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_FILE +#define __NEED_size_t + +#include + +#define SHADOW "/etc/shadow" + +struct spwd { + char *sp_namp; + char *sp_pwdp; + long sp_lstchg; + long sp_min; + long sp_max; + long sp_warn; + long sp_inact; + long sp_expire; + unsigned long sp_flag; +}; + +void setspent(void); +void endspent(void); +struct spwd *getspent(void); +struct spwd *fgetspent(FILE *); +struct spwd *sgetspent(const char *); +int putspent(const struct spwd *, FILE *); + +struct spwd *getspnam(const char *); +int getspnam_r(const char *, struct spwd *, char *, size_t, struct spwd **); + +int lckpwdf(void); +int ulckpwdf(void); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/signal.h new file mode 100644 index 00000000..1fafc54e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/signal.h @@ -0,0 +1,304 @@ +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#ifdef _GNU_SOURCE +#define __ucontext ucontext +#endif + +#define __NEED_size_t +#define __NEED_pid_t +#define __NEED_uid_t +#define __NEED_struct_timespec +#define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_time_t +#define __NEED_clock_t +#define __NEED_sigset_t + +#include + +#define SIG_BLOCK 0 +#define SIG_UNBLOCK 1 +#define SIG_SETMASK 2 + +#define SI_ASYNCNL (-60) +#define SI_TKILL (-6) +#define SI_SIGIO (-5) +#define SI_ASYNCIO (-4) +#define SI_MESGQ (-3) +#define SI_TIMER (-2) +#define SI_QUEUE (-1) +#define SI_USER 0 +#define SI_KERNEL 128 + +typedef struct sigaltstack stack_t; + +#endif + +#include + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#define SIG_HOLD ((void (*)(int)) 2) + +#define FPE_INTDIV 1 +#define FPE_INTOVF 2 +#define FPE_FLTDIV 3 +#define FPE_FLTOVF 4 +#define FPE_FLTUND 5 +#define FPE_FLTRES 6 +#define FPE_FLTINV 7 +#define FPE_FLTSUB 8 + +#define ILL_ILLOPC 1 +#define ILL_ILLOPN 2 +#define ILL_ILLADR 3 +#define ILL_ILLTRP 4 +#define ILL_PRVOPC 5 +#define ILL_PRVREG 6 +#define ILL_COPROC 7 +#define ILL_BADSTK 8 + +#define SEGV_MAPERR 1 +#define SEGV_ACCERR 2 +#define SEGV_BNDERR 3 +#define SEGV_PKUERR 4 +#define SEGV_MTEAERR 8 +#define SEGV_MTESERR 9 + +#define BUS_ADRALN 1 +#define BUS_ADRERR 2 +#define BUS_OBJERR 3 +#define BUS_MCEERR_AR 4 +#define BUS_MCEERR_AO 5 + +#define CLD_EXITED 1 +#define CLD_KILLED 2 +#define CLD_DUMPED 3 +#define CLD_TRAPPED 4 +#define CLD_STOPPED 5 +#define CLD_CONTINUED 6 + +union sigval { + int sival_int; + void *sival_ptr; +}; + +typedef struct { +#ifdef __SI_SWAP_ERRNO_CODE + int si_signo, si_code, si_errno; +#else + int si_signo, si_errno, si_code; +#endif + union { + char __pad[128 - 2*sizeof(int) - sizeof(long)]; + struct { + union { + struct { + pid_t si_pid; + uid_t si_uid; + } __piduid; + struct { + int si_timerid; + int si_overrun; + } __timer; + } __first; + union { + union sigval si_value; + struct { + int si_status; + clock_t si_utime, si_stime; + } __sigchld; + } __second; + } __si_common; + struct { + void *si_addr; + short si_addr_lsb; + union { + struct { + void *si_lower; + void *si_upper; + } __addr_bnd; + unsigned si_pkey; + } __first; + } __sigfault; + struct { + long si_band; + int si_fd; + } __sigpoll; + struct { + void *si_call_addr; + int si_syscall; + unsigned si_arch; + } __sigsys; + } __si_fields; +} siginfo_t; +#define si_pid __si_fields.__si_common.__first.__piduid.si_pid +#define si_uid __si_fields.__si_common.__first.__piduid.si_uid +#define si_status __si_fields.__si_common.__second.__sigchld.si_status +#define si_utime __si_fields.__si_common.__second.__sigchld.si_utime +#define si_stime __si_fields.__si_common.__second.__sigchld.si_stime +#define si_value __si_fields.__si_common.__second.si_value +#define si_addr __si_fields.__sigfault.si_addr +#define si_addr_lsb __si_fields.__sigfault.si_addr_lsb +#define si_lower __si_fields.__sigfault.__first.__addr_bnd.si_lower +#define si_upper __si_fields.__sigfault.__first.__addr_bnd.si_upper +#define si_pkey __si_fields.__sigfault.__first.si_pkey +#define si_band __si_fields.__sigpoll.si_band +#define si_fd __si_fields.__sigpoll.si_fd +#define si_timerid __si_fields.__si_common.__first.__timer.si_timerid +#define si_overrun __si_fields.__si_common.__first.__timer.si_overrun +#define si_ptr si_value.sival_ptr +#define si_int si_value.sival_int +#define si_call_addr __si_fields.__sigsys.si_call_addr +#define si_syscall __si_fields.__sigsys.si_syscall +#define si_arch __si_fields.__sigsys.si_arch + +struct sigaction { + union { + void (*sa_handler)(int); + void (*sa_sigaction)(int, siginfo_t *, void *); + } __sa_handler; + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; +#define sa_handler __sa_handler.sa_handler +#define sa_sigaction __sa_handler.sa_sigaction + +#define SA_UNSUPPORTED 0x00000400 +#define SA_EXPOSE_TAGBITS 0x00000800 + +struct sigevent { + union sigval sigev_value; + int sigev_signo; + int sigev_notify; + union { + char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; + pid_t sigev_notify_thread_id; + struct { + void (*sigev_notify_function)(union sigval); + pthread_attr_t *sigev_notify_attributes; + } __sev_thread; + } __sev_fields; +}; + +#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id +#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function +#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes + +#define SIGEV_SIGNAL 0 +#define SIGEV_NONE 1 +#define SIGEV_THREAD 2 +#define SIGEV_THREAD_ID 4 + +int __libc_current_sigrtmin(void); +int __libc_current_sigrtmax(void); + +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) + +int kill(pid_t, int); + +int sigemptyset(sigset_t *); +int sigfillset(sigset_t *); +int sigaddset(sigset_t *, int); +int sigdelset(sigset_t *, int); +int sigismember(const sigset_t *, int); + +int sigprocmask(int, const sigset_t *__restrict, sigset_t *__restrict); +int sigsuspend(const sigset_t *); +int sigaction(int, const struct sigaction *__restrict, struct sigaction *__restrict); +int sigpending(sigset_t *); +int sigwait(const sigset_t *__restrict, int *__restrict); +int sigwaitinfo(const sigset_t *__restrict, siginfo_t *__restrict); +int sigtimedwait(const sigset_t *__restrict, siginfo_t *__restrict, const struct timespec *__restrict); +int sigqueue(pid_t, int, union sigval); + +int pthread_sigmask(int, const sigset_t *__restrict, sigset_t *__restrict); +int pthread_kill(pthread_t, int); + +void psiginfo(const siginfo_t *, const char *); +void psignal(int, const char *); + +#endif + +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +int killpg(pid_t, int); +int sigaltstack(const stack_t *__restrict, stack_t *__restrict); +int sighold(int); +int sigignore(int); +int siginterrupt(int, int); +int sigpause(int); +int sigrelse(int); +void (*sigset(int, void (*)(int)))(int); +#define TRAP_BRKPT 1 +#define TRAP_TRACE 2 +#define TRAP_BRANCH 3 +#define TRAP_HWBKPT 4 +#define TRAP_UNK 5 +#define POLL_IN 1 +#define POLL_OUT 2 +#define POLL_MSG 3 +#define POLL_ERR 4 +#define POLL_PRI 5 +#define POLL_HUP 6 +#define SS_ONSTACK 1 +#define SS_DISABLE 2 +#define SS_AUTODISARM (1U << 31) +#define SS_FLAG_BITS SS_AUTODISARM +#endif + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define NSIG _NSIG +typedef void (*sig_t)(int); + +#define SYS_SECCOMP 1 +#define SYS_USER_DISPATCH 2 +#endif + +#ifdef _GNU_SOURCE +typedef void (*sighandler_t)(int); +void (*bsd_signal(int, void (*)(int)))(int); +int sigisemptyset(const sigset_t *); +int sigorset (sigset_t *, const sigset_t *, const sigset_t *); +int sigandset(sigset_t *, const sigset_t *, const sigset_t *); + +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND +#endif + +#define SIG_ERR ((void (*)(int))-1) +#define SIG_DFL ((void (*)(int)) 0) +#define SIG_IGN ((void (*)(int)) 1) + +typedef int sig_atomic_t; + +void (*signal(int, void (*)(int)))(int); +int raise(int); + +#if _REDIR_TIME64 +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +__REDIR(sigtimedwait, __sigtimedwait_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/spawn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/spawn.h new file mode 100644 index 00000000..399945bd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/spawn.h @@ -0,0 +1,83 @@ +#ifndef _SPAWN_H +#define _SPAWN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_mode_t +#define __NEED_pid_t +#define __NEED_sigset_t + +#include + +struct sched_param; + +#define POSIX_SPAWN_RESETIDS 1 +#define POSIX_SPAWN_SETPGROUP 2 +#define POSIX_SPAWN_SETSIGDEF 4 +#define POSIX_SPAWN_SETSIGMASK 8 +#define POSIX_SPAWN_SETSCHEDPARAM 16 +#define POSIX_SPAWN_SETSCHEDULER 32 +#define POSIX_SPAWN_USEVFORK 64 +#define POSIX_SPAWN_SETSID 128 + +typedef struct { + int __flags; + pid_t __pgrp; + sigset_t __def, __mask; + int __prio, __pol; + void *__fn; + char __pad[64-sizeof(void *)]; +} posix_spawnattr_t; + +typedef struct { + int __pad0[2]; + void *__actions; + int __pad[16]; +} posix_spawn_file_actions_t; + +int posix_spawn(pid_t *__restrict, const char *__restrict, const posix_spawn_file_actions_t *, + const posix_spawnattr_t *__restrict, char *const *__restrict, char *const *__restrict); +int posix_spawnp(pid_t *__restrict, const char *__restrict, const posix_spawn_file_actions_t *, + const posix_spawnattr_t *__restrict, char *const *__restrict, char *const *__restrict); + +int posix_spawnattr_init(posix_spawnattr_t *); +int posix_spawnattr_destroy(posix_spawnattr_t *); + +int posix_spawnattr_setflags(posix_spawnattr_t *, short); +int posix_spawnattr_getflags(const posix_spawnattr_t *__restrict, short *__restrict); + +int posix_spawnattr_setpgroup(posix_spawnattr_t *, pid_t); +int posix_spawnattr_getpgroup(const posix_spawnattr_t *__restrict, pid_t *__restrict); + +int posix_spawnattr_setsigmask(posix_spawnattr_t *__restrict, const sigset_t *__restrict); +int posix_spawnattr_getsigmask(const posix_spawnattr_t *__restrict, sigset_t *__restrict); + +int posix_spawnattr_setsigdefault(posix_spawnattr_t *__restrict, const sigset_t *__restrict); +int posix_spawnattr_getsigdefault(const posix_spawnattr_t *__restrict, sigset_t *__restrict); + +int posix_spawnattr_setschedparam(posix_spawnattr_t *__restrict, const struct sched_param *__restrict); +int posix_spawnattr_getschedparam(const posix_spawnattr_t *__restrict, struct sched_param *__restrict); +int posix_spawnattr_setschedpolicy(posix_spawnattr_t *, int); +int posix_spawnattr_getschedpolicy(const posix_spawnattr_t *__restrict, int *__restrict); + +int posix_spawn_file_actions_init(posix_spawn_file_actions_t *); +int posix_spawn_file_actions_destroy(posix_spawn_file_actions_t *); + +int posix_spawn_file_actions_addopen(posix_spawn_file_actions_t *__restrict, int, const char *__restrict, int, mode_t); +int posix_spawn_file_actions_addclose(posix_spawn_file_actions_t *, int); +int posix_spawn_file_actions_adddup2(posix_spawn_file_actions_t *, int, int); + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +int posix_spawn_file_actions_addchdir_np(posix_spawn_file_actions_t *__restrict, const char *__restrict); +int posix_spawn_file_actions_addfchdir_np(posix_spawn_file_actions_t *, int); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdalign.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdalign.h new file mode 100644 index 00000000..bad91921 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdalign.h @@ -0,0 +1,20 @@ +#ifndef _STDALIGN_H +#define _STDALIGN_H + +#ifndef __cplusplus + +/* this whole header only works in C11 or with compiler extensions */ +#if __STDC_VERSION__ < 201112L && defined( __GNUC__) +#define _Alignas(t) __attribute__((__aligned__(t))) +#define _Alignof(t) __alignof__(t) +#endif + +#define alignas _Alignas +#define alignof _Alignof + +#endif + +#define __alignas_is_defined 1 +#define __alignof_is_defined 1 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdarg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdarg.h new file mode 100644 index 00000000..ac422d04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdarg.h @@ -0,0 +1,21 @@ +#ifndef _STDARG_H +#define _STDARG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_va_list + +#include + +#define va_start(v,l) __builtin_va_start(v,l) +#define va_end(v) __builtin_va_end(v) +#define va_arg(v,l) __builtin_va_arg(v,l) +#define va_copy(d,s) __builtin_va_copy(d,s) + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdbool.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdbool.h new file mode 100644 index 00000000..cc77948d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdbool.h @@ -0,0 +1,14 @@ +#ifndef _STDBOOL_H +#define _STDBOOL_H + +#ifndef __cplusplus + +#define true 1 +#define false 0 +#define bool _Bool + +#endif + +#define __bool_true_false_are_defined 1 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdc-predef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdc-predef.h new file mode 100644 index 00000000..0af589e1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdc-predef.h @@ -0,0 +1,18 @@ +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H + +#define __STDC_ISO_10646__ 201206L + +#if !defined(__GCC_IEC_559) || __GCC_IEC_559 > 0 +#define __STDC_IEC_559__ 1 +#endif + +#if !defined(__STDC_UTF_16__) +#define __STDC_UTF_16__ 1 +#endif + +#if !defined(__STDC_UTF_32__) +#define __STDC_UTF_32__ 1 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stddef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stddef.h new file mode 100644 index 00000000..08cd5227 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stddef.h @@ -0,0 +1,27 @@ +#ifndef _STDDEF_H +#define _STDDEF_H + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#define __NEED_ptrdiff_t +#define __NEED_size_t +#define __NEED_wchar_t +#if __STDC_VERSION__ >= 201112L || __cplusplus >= 201103L +#define __NEED_max_align_t +#endif + +#include + +#if __GNUC__ > 3 +#define offsetof(type, member) __builtin_offsetof(type, member) +#else +#define offsetof(type, member) ((size_t)( (char *)&(((type *)0)->member) - (char *)0 )) +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdint.h new file mode 100644 index 00000000..d1774004 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdint.h @@ -0,0 +1,117 @@ +#ifndef _STDINT_H +#define _STDINT_H + +#define __NEED_int8_t +#define __NEED_int16_t +#define __NEED_int32_t +#define __NEED_int64_t + +#define __NEED_uint8_t +#define __NEED_uint16_t +#define __NEED_uint32_t +#define __NEED_uint64_t + +#define __NEED_intptr_t +#define __NEED_uintptr_t + +#define __NEED_intmax_t +#define __NEED_uintmax_t + +#include + +typedef int8_t int_fast8_t; +typedef int64_t int_fast64_t; + +typedef int8_t int_least8_t; +typedef int16_t int_least16_t; +typedef int32_t int_least32_t; +typedef int64_t int_least64_t; + +typedef uint8_t uint_fast8_t; +typedef uint64_t uint_fast64_t; + +typedef uint8_t uint_least8_t; +typedef uint16_t uint_least16_t; +typedef uint32_t uint_least32_t; +typedef uint64_t uint_least64_t; + +#define INT8_MIN (-1-0x7f) +#define INT16_MIN (-1-0x7fff) +#define INT32_MIN (-1-0x7fffffff) +#define INT64_MIN (-1-0x7fffffffffffffff) + +#define INT8_MAX (0x7f) +#define INT16_MAX (0x7fff) +#define INT32_MAX (0x7fffffff) +#define INT64_MAX (0x7fffffffffffffff) + +#define UINT8_MAX (0xff) +#define UINT16_MAX (0xffff) +#define UINT32_MAX (0xffffffffu) +#define UINT64_MAX (0xffffffffffffffffu) + +#define INT_FAST8_MIN INT8_MIN +#define INT_FAST64_MIN INT64_MIN + +#define INT_LEAST8_MIN INT8_MIN +#define INT_LEAST16_MIN INT16_MIN +#define INT_LEAST32_MIN INT32_MIN +#define INT_LEAST64_MIN INT64_MIN + +#define INT_FAST8_MAX INT8_MAX +#define INT_FAST64_MAX INT64_MAX + +#define INT_LEAST8_MAX INT8_MAX +#define INT_LEAST16_MAX INT16_MAX +#define INT_LEAST32_MAX INT32_MAX +#define INT_LEAST64_MAX INT64_MAX + +#define UINT_FAST8_MAX UINT8_MAX +#define UINT_FAST64_MAX UINT64_MAX + +#define UINT_LEAST8_MAX UINT8_MAX +#define UINT_LEAST16_MAX UINT16_MAX +#define UINT_LEAST32_MAX UINT32_MAX +#define UINT_LEAST64_MAX UINT64_MAX + +#define INTMAX_MIN INT64_MIN +#define INTMAX_MAX INT64_MAX +#define UINTMAX_MAX UINT64_MAX + +#define WINT_MIN 0U +#define WINT_MAX UINT32_MAX + +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') +#else +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') +#endif + +#define SIG_ATOMIC_MIN INT32_MIN +#define SIG_ATOMIC_MAX INT32_MAX + +#include + +#define INT8_C(c) c +#define INT16_C(c) c +#define INT32_C(c) c + +#define UINT8_C(c) c +#define UINT16_C(c) c +#define UINT32_C(c) c ## U + +#if UINTPTR_MAX == UINT64_MAX +#define INT64_C(c) c ## L +#define UINT64_C(c) c ## UL +#define INTMAX_C(c) c ## L +#define UINTMAX_C(c) c ## UL +#else +#define INT64_C(c) c ## LL +#define UINT64_C(c) c ## ULL +#define INTMAX_C(c) c ## LL +#define UINTMAX_C(c) c ## ULL +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio.h new file mode 100644 index 00000000..c6144c7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio.h @@ -0,0 +1,224 @@ +#ifndef _STDIO_H +#define _STDIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_FILE +#define __NEED___isoc_va_list +#define __NEED_size_t + +#if __STDC_VERSION__ < 201112L +#define __NEED_struct__IO_FILE +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_ssize_t +#define __NEED_off_t +#define __NEED_va_list +#endif + +#include + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#undef EOF +#define EOF (-1) + +#undef SEEK_SET +#undef SEEK_CUR +#undef SEEK_END +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#define _IOFBF 0 +#define _IOLBF 1 +#define _IONBF 2 + +#define BUFSIZ 1024 +#define FILENAME_MAX 4096 +#define FOPEN_MAX 1000 +#define TMP_MAX 10000 +#define L_tmpnam 20 + +typedef union _G_fpos64_t { + char __opaque[16]; + long long __lldata; + double __align; +} fpos_t; + +extern FILE *const stdin; +extern FILE *const stdout; +extern FILE *const stderr; + +#define stdin (stdin) +#define stdout (stdout) +#define stderr (stderr) + +FILE *fopen(const char *__restrict, const char *__restrict); +FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict); +int fclose(FILE *); + +int remove(const char *); +int rename(const char *, const char *); + +int feof(FILE *); +int ferror(FILE *); +int fflush(FILE *); +void clearerr(FILE *); + +int fseek(FILE *, long, int); +long ftell(FILE *); +void rewind(FILE *); + +int fgetpos(FILE *__restrict, fpos_t *__restrict); +int fsetpos(FILE *, const fpos_t *); + +size_t fread(void *__restrict, size_t, size_t, FILE *__restrict); +size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict); + +int fgetc(FILE *); +int getc(FILE *); +int getchar(void); +int ungetc(int, FILE *); + +int fputc(int, FILE *); +int putc(int, FILE *); +int putchar(int); + +char *fgets(char *__restrict, int, FILE *__restrict); +#if __STDC_VERSION__ < 201112L +char *gets(char *); +#endif + +int fputs(const char *__restrict, FILE *__restrict); +int puts(const char *); + +int printf(const char *__restrict, ...); +int fprintf(FILE *__restrict, const char *__restrict, ...); +int sprintf(char *__restrict, const char *__restrict, ...); +int snprintf(char *__restrict, size_t, const char *__restrict, ...); + +int vprintf(const char *__restrict, __isoc_va_list); +int vfprintf(FILE *__restrict, const char *__restrict, __isoc_va_list); +int vsprintf(char *__restrict, const char *__restrict, __isoc_va_list); +int vsnprintf(char *__restrict, size_t, const char *__restrict, __isoc_va_list); + +int scanf(const char *__restrict, ...); +int fscanf(FILE *__restrict, const char *__restrict, ...); +int sscanf(const char *__restrict, const char *__restrict, ...); +int vscanf(const char *__restrict, __isoc_va_list); +int vfscanf(FILE *__restrict, const char *__restrict, __isoc_va_list); +int vsscanf(const char *__restrict, const char *__restrict, __isoc_va_list); + +void perror(const char *); + +int setvbuf(FILE *__restrict, char *__restrict, int, size_t); +void setbuf(FILE *__restrict, char *__restrict); + +char *tmpnam(char *); +FILE *tmpfile(void); + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +FILE *fmemopen(void *__restrict, size_t, const char *__restrict); +FILE *open_memstream(char **, size_t *); +FILE *fdopen(int, const char *); +FILE *popen(const char *, const char *); +int pclose(FILE *); +int fileno(FILE *); +int fseeko(FILE *, off_t, int); +off_t ftello(FILE *); +int dprintf(int, const char *__restrict, ...); +int vdprintf(int, const char *__restrict, __isoc_va_list); +void flockfile(FILE *); +int ftrylockfile(FILE *); +void funlockfile(FILE *); +int getc_unlocked(FILE *); +int getchar_unlocked(void); +int putc_unlocked(int, FILE *); +int putchar_unlocked(int); +ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict); +ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict); +int renameat(int, const char *, int, const char *); +char *ctermid(char *); +#define L_ctermid 20 +#endif + + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define P_tmpdir "/tmp" +char *tempnam(const char *, const char *); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_cuserid 20 +char *cuserid(char *); +void setlinebuf(FILE *); +void setbuffer(FILE *, char *, size_t); +int fgetc_unlocked(FILE *); +int fputc_unlocked(int, FILE *); +int fflush_unlocked(FILE *); +size_t fread_unlocked(void *, size_t, size_t, FILE *); +size_t fwrite_unlocked(const void *, size_t, size_t, FILE *); +void clearerr_unlocked(FILE *); +int feof_unlocked(FILE *); +int ferror_unlocked(FILE *); +int fileno_unlocked(FILE *); +int getw(FILE *); +int putw(int, FILE *); +char *fgetln(FILE *, size_t *); +int asprintf(char **, const char *, ...); +int vasprintf(char **, const char *, __isoc_va_list); +#endif + +#ifdef _GNU_SOURCE +char *fgets_unlocked(char *, int, FILE *); +int fputs_unlocked(const char *, FILE *); + +typedef ssize_t (cookie_read_function_t)(void *, char *, size_t); +typedef ssize_t (cookie_write_function_t)(void *, const char *, size_t); +typedef int (cookie_seek_function_t)(void *, off_t *, int); +typedef int (cookie_close_function_t)(void *); + +typedef struct _IO_cookie_io_functions_t { + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; + +FILE *fopencookie(void *, const char *, cookie_io_functions_t); +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define tmpfile64 tmpfile +#define fopen64 fopen +#define freopen64 freopen +#define fseeko64 fseeko +#define ftello64 ftello +#define fgetpos64 fgetpos +#define fsetpos64 fsetpos +#define fpos64_t fpos_t +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio_ext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio_ext.h new file mode 100644 index 00000000..3df0f802 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdio_ext.h @@ -0,0 +1,34 @@ +#ifndef _STDIO_EXT_H +#define _STDIO_EXT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define FSETLOCKING_QUERY 0 +#define FSETLOCKING_INTERNAL 1 +#define FSETLOCKING_BYCALLER 2 + +void _flushlbf(void); +int __fsetlocking(FILE *, int); +int __fwriting(FILE *); +int __freading(FILE *); +int __freadable(FILE *); +int __fwritable(FILE *); +int __flbf(FILE *); +size_t __fbufsize(FILE *); +size_t __fpending(FILE *); +int __fpurge(FILE *); + +size_t __freadahead(FILE *); +const char *__freadptr(FILE *, size_t *); +void __freadptrinc(FILE *, size_t); +void __fseterr(FILE *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdlib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdlib.h new file mode 100644 index 00000000..b8ced1d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdlib.h @@ -0,0 +1,179 @@ +#ifndef _STDLIB_H +#define _STDLIB_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#define __NEED_size_t +#define __NEED_wchar_t + +#include + +int atoi (const char *); +long atol (const char *); +long long atoll (const char *); +double atof (const char *); + +float strtof (const char *__restrict, char **__restrict); +double strtod (const char *__restrict, char **__restrict); +long double strtold (const char *__restrict, char **__restrict); + +long strtol (const char *__restrict, char **__restrict, int); +unsigned long strtoul (const char *__restrict, char **__restrict, int); +long long strtoll (const char *__restrict, char **__restrict, int); +unsigned long long strtoull (const char *__restrict, char **__restrict, int); + +int rand (void); +void srand (unsigned); + +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); +void *aligned_alloc(size_t, size_t); + +_Noreturn void abort (void); +int atexit (void (*) (void)); +_Noreturn void exit (int); +_Noreturn void _Exit (int); +int at_quick_exit (void (*) (void)); +_Noreturn void quick_exit (int); + +char *getenv (const char *); + +int system (const char *); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); +void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); +long long llabs (long long); + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; +typedef struct { long long quot, rem; } lldiv_t; + +div_t div (int, int); +ldiv_t ldiv (long, long); +lldiv_t lldiv (long long, long long); + +int mblen (const char *, size_t); +int mbtowc (wchar_t *__restrict, const char *__restrict, size_t); +int wctomb (char *, wchar_t); +size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t); +size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); + +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +size_t __ctype_get_mb_cur_max(void); +#define MB_CUR_MAX (__ctype_get_mb_cur_max()) + +#define RAND_MAX (0x7fffffff) + + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WEXITSTATUS(s) (((s) & 0xff00) >> 8) +#define WTERMSIG(s) ((s) & 0x7f) +#define WSTOPSIG(s) WEXITSTATUS(s) +#define WIFEXITED(s) (!WTERMSIG(s)) +#define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001U)>>8) > 0x7f00) +#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) + +int posix_memalign (void **, size_t, size_t); +int setenv (const char *, const char *, int); +int unsetenv (const char *); +int mkstemp (char *); +int mkostemp (char *, int); +char *mkdtemp (char *); +int getsubopt (char **, char *const *, char **); +int rand_r (unsigned *); + +#endif + + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +char *realpath (const char *__restrict, char *__restrict); +long int random (void); +void srandom (unsigned int); +char *initstate (unsigned int, char *, size_t); +char *setstate (char *); +int putenv (char *); +int posix_openpt (int); +int grantpt (int); +int unlockpt (int); +char *ptsname (int); +char *l64a (long); +long a64l (const char *); +void setkey (const char *); +double drand48 (void); +double erand48 (unsigned short [3]); +long int lrand48 (void); +long int nrand48 (unsigned short [3]); +long mrand48 (void); +long jrand48 (unsigned short [3]); +void srand48 (long); +unsigned short *seed48 (unsigned short [3]); +void lcong48 (unsigned short [7]); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include +char *mktemp (char *); +int mkstemps (char *, int); +int mkostemps (char *, int, int); +void *valloc (size_t); +void *memalign(size_t, size_t); +int getloadavg(double *, int); +int clearenv(void); +#define WCOREDUMP(s) ((s) & 0x80) +#define WIFCONTINUED(s) ((s) == 0xffff) +void *reallocarray (void *, size_t, size_t); +void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *); +#endif + +#ifdef _GNU_SOURCE +int ptsname_r(int, char *, size_t); +char *ecvt(double, int, int *, int *); +char *fcvt(double, int, int *, int *); +char *gcvt(double, int, char *); +char *secure_getenv(const char *); +struct __locale_struct; +float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *); +double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); +long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *); +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define mkstemp64 mkstemp +#define mkostemp64 mkostemp +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define mkstemps64 mkstemps +#define mkostemps64 mkostemps +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdnoreturn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdnoreturn.h new file mode 100644 index 00000000..fb389966 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stdnoreturn.h @@ -0,0 +1,7 @@ +#ifndef _STDNORETURN_H +#define _STDNORETURN_H +#ifndef __cplusplus +#include +#define noreturn _Noreturn +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/string.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/string.h new file mode 100644 index 00000000..f82dc2f1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/string.h @@ -0,0 +1,104 @@ +#ifndef _STRING_H +#define _STRING_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#define __NEED_size_t +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_locale_t +#endif + +#include + +void *memcpy (void *__restrict, const void *__restrict, size_t); +void *memmove (void *, const void *, size_t); +void *memset (void *, int, size_t); +int memcmp (const void *, const void *, size_t); +void *memchr (const void *, int, size_t); + +char *strcpy (char *__restrict, const char *__restrict); +char *strncpy (char *__restrict, const char *__restrict, size_t); + +char *strcat (char *__restrict, const char *__restrict); +char *strncat (char *__restrict, const char *__restrict, size_t); + +int strcmp (const char *, const char *); +int strncmp (const char *, const char *, size_t); + +int strcoll (const char *, const char *); +size_t strxfrm (char *__restrict, const char *__restrict, size_t); + +char *strchr (const char *, int); +char *strrchr (const char *, int); + +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); +char *strpbrk (const char *, const char *); +char *strstr (const char *, const char *); +char *strtok (char *__restrict, const char *__restrict); + +size_t strlen (const char *); + +char *strerror (int); + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#include +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +char *strtok_r (char *__restrict, const char *__restrict, char **__restrict); +int strerror_r (int, char *, size_t); +char *stpcpy(char *__restrict, const char *__restrict); +char *stpncpy(char *__restrict, const char *__restrict, size_t); +size_t strnlen (const char *, size_t); +char *strdup (const char *); +char *strndup (const char *, size_t); +char *strsignal(int); +char *strerror_l (int, locale_t); +int strcoll_l (const char *, const char *, locale_t); +size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t); +void *memmem(const void *, size_t, const void *, size_t); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +void *memccpy (void *__restrict, const void *__restrict, int, size_t); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +char *strsep(char **, const char *); +size_t strlcat (char *, const char *, size_t); +size_t strlcpy (char *, const char *, size_t); +void explicit_bzero (void *, size_t); +#endif + +#ifdef _GNU_SOURCE +#define strdupa(x) strcpy(alloca(strlen(x)+1),x) +int strverscmp (const char *, const char *); +char *strchrnul(const char *, int); +char *strcasestr(const char *, const char *); +void *memrchr(const void *, int, size_t); +void *mempcpy(void *, const void *, size_t); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/strings.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/strings.h new file mode 100644 index 00000000..7e99ee91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/strings.h @@ -0,0 +1,40 @@ +#ifndef _STRINGS_H +#define _STRINGS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_locale_t +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +int bcmp (const void *, const void *, size_t); +void bcopy (const void *, void *, size_t); +void bzero (void *, size_t); +char *index (const char *, int); +char *rindex (const char *, int); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int ffs (int); +int ffsl (long); +int ffsll (long long); +#endif + +int strcasecmp (const char *, const char *); +int strncasecmp (const char *, const char *, size_t); + +int strcasecmp_l (const char *, const char *, locale_t); +int strncasecmp_l (const char *, const char *, size_t, locale_t); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stropts.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stropts.h new file mode 100644 index 00000000..1c06a5a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/stropts.h @@ -0,0 +1,139 @@ +#ifndef _STROPTS_H +#define _STROPTS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __SID ('S' << 8) + +#define I_NREAD (__SID | 1) +#define I_PUSH (__SID | 2) +#define I_POP (__SID | 3) +#define I_LOOK (__SID | 4) +#define I_FLUSH (__SID | 5) +#define I_SRDOPT (__SID | 6) +#define I_GRDOPT (__SID | 7) +#define I_STR (__SID | 8) +#define I_SETSIG (__SID | 9) +#define I_GETSIG (__SID |10) +#define I_FIND (__SID |11) +#define I_LINK (__SID |12) +#define I_UNLINK (__SID |13) +#define I_PEEK (__SID |15) +#define I_FDINSERT (__SID |16) +#define I_SENDFD (__SID |17) +#define I_RECVFD (__SID |14) +#define I_SWROPT (__SID |19) +#define I_GWROPT (__SID |20) +#define I_LIST (__SID |21) +#define I_PLINK (__SID |22) +#define I_PUNLINK (__SID |23) +#define I_FLUSHBAND (__SID |28) +#define I_CKBAND (__SID |29) +#define I_GETBAND (__SID |30) +#define I_ATMARK (__SID |31) +#define I_SETCLTIME (__SID |32) +#define I_GETCLTIME (__SID |33) +#define I_CANPUT (__SID |34) + +#define FMNAMESZ 8 + +#define FLUSHR 0x01 +#define FLUSHW 0x02 +#define FLUSHRW 0x03 +#define FLUSHBAND 0x04 + +#define S_INPUT 0x0001 +#define S_HIPRI 0x0002 +#define S_OUTPUT 0x0004 +#define S_MSG 0x0008 +#define S_ERROR 0x0010 +#define S_HANGUP 0x0020 +#define S_RDNORM 0x0040 +#define S_WRNORM S_OUTPUT +#define S_RDBAND 0x0080 +#define S_WRBAND 0x0100 +#define S_BANDURG 0x0200 + +#define RS_HIPRI 0x01 + +#define RNORM 0x0000 +#define RMSGD 0x0001 +#define RMSGN 0x0002 +#define RPROTDAT 0x0004 +#define RPROTDIS 0x0008 +#define RPROTNORM 0x0010 +#define RPROTMASK 0x001C + +#define SNDZERO 0x001 +#define SNDPIPE 0x002 + +#define ANYMARK 0x01 +#define LASTMARK 0x02 + +#define MUXID_ALL (-1) + +#define MSG_HIPRI 0x01 +#define MSG_ANY 0x02 +#define MSG_BAND 0x04 + +#define MORECTL 1 +#define MOREDATA 2 + +struct bandinfo { + unsigned char bi_pri; + int bi_flag; +}; + +struct strbuf { + int maxlen; + int len; + char *buf; +}; + +struct strpeek { + struct strbuf ctlbuf; + struct strbuf databuf; + unsigned flags; +}; + +struct strfdinsert { + struct strbuf ctlbuf; + struct strbuf databuf; + unsigned flags; + int fildes; + int offset; +}; + +struct strioctl { + int ic_cmd; + int ic_timout; + int ic_len; + char *ic_dp; +}; + +struct strrecvfd { + int fd; + int uid; + int gid; + char __fill[8]; +}; + +struct str_mlist { + char l_name[FMNAMESZ + 1]; +}; + +struct str_list { + int sl_nmods; + struct str_mlist *sl_modlist; +}; + +int isastream(int); +int ioctl(int, int, ...); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/acct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/acct.h new file mode 100644 index 00000000..b4161dec --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/acct.h @@ -0,0 +1,72 @@ +#ifndef _SYS_ACCT_H +#define _SYS_ACCT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ACCT_COMM 16 + +typedef uint16_t comp_t; + +struct acct { + char ac_flag; + uint16_t ac_uid; + uint16_t ac_gid; + uint16_t ac_tty; + uint32_t ac_btime; + comp_t ac_utime; + comp_t ac_stime; + comp_t ac_etime; + comp_t ac_mem; + comp_t ac_io; + comp_t ac_rw; + comp_t ac_minflt; + comp_t ac_majflt; + comp_t ac_swaps; + uint32_t ac_exitcode; + char ac_comm[ACCT_COMM+1]; + char ac_pad[10]; +}; + + +struct acct_v3 { + char ac_flag; + char ac_version; + uint16_t ac_tty; + uint32_t ac_exitcode; + uint32_t ac_uid; + uint32_t ac_gid; + uint32_t ac_pid; + uint32_t ac_ppid; + uint32_t ac_btime; + float ac_etime; + comp_t ac_utime; + comp_t ac_stime; + comp_t ac_mem; + comp_t ac_io; + comp_t ac_rw; + comp_t ac_minflt; + comp_t ac_majflt; + comp_t ac_swaps; + char ac_comm[ACCT_COMM]; +}; + +#define AFORK 1 +#define ASU 2 +#define ACORE 8 +#define AXSIG 16 +#define ACCT_BYTEORDER (128*(__BYTE_ORDER==__BIG_ENDIAN)) +#define AHZ 100 + +int acct(const char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/auxv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/auxv.h new file mode 100644 index 00000000..59d4df1c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/auxv.h @@ -0,0 +1,17 @@ +#ifndef _SYS_AUXV_H +#define _SYS_AUXV_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +unsigned long getauxval(unsigned long); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/cachectl.h new file mode 100644 index 00000000..c97dbe4a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/cachectl.h @@ -0,0 +1,22 @@ +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define ICACHE (1<<0) +#define DCACHE (1<<1) +#define BCACHE (ICACHE|DCACHE) +#define CACHEABLE 0 +#define UNCACHEABLE 1 + +int cachectl(void *, int, int); +int cacheflush(void *, int, int); +int _flush_cache(void *, int, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/dir.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/dir.h new file mode 100644 index 00000000..922ef258 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/dir.h @@ -0,0 +1,2 @@ +#include +#define direct dirent \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/epoll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/epoll.h new file mode 100644 index 00000000..ef31307c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/epoll.h @@ -0,0 +1,69 @@ +#ifndef _SYS_EPOLL_H +#define _SYS_EPOLL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define __NEED_sigset_t + +#include + +#define EPOLL_CLOEXEC O_CLOEXEC +#define EPOLL_NONBLOCK O_NONBLOCK + +enum EPOLL_EVENTS { __EPOLL_DUMMY }; +#define EPOLLIN 0x001 +#define EPOLLPRI 0x002 +#define EPOLLOUT 0x004 +#define EPOLLRDNORM 0x040 +#define EPOLLNVAL 0x020 +#define EPOLLRDBAND 0x080 +#define EPOLLWRNORM 0x100 +#define EPOLLWRBAND 0x200 +#define EPOLLMSG 0x400 +#define EPOLLERR 0x008 +#define EPOLLHUP 0x010 +#define EPOLLRDHUP 0x2000 +#define EPOLLEXCLUSIVE (1U<<28) +#define EPOLLWAKEUP (1U<<29) +#define EPOLLONESHOT (1U<<30) +#define EPOLLET (1U<<31) + +#define EPOLL_CTL_ADD 1 +#define EPOLL_CTL_DEL 2 +#define EPOLL_CTL_MOD 3 + +typedef union epoll_data { + void *ptr; + int fd; + uint32_t u32; + uint64_t u64; +} epoll_data_t; + +struct epoll_event { + uint32_t events; + epoll_data_t data; +} +#ifdef __x86_64__ +__attribute__ ((__packed__)) +#endif +; + + +int epoll_create(int); +int epoll_create1(int); +int epoll_ctl(int, int, int, struct epoll_event *); +int epoll_wait(int, struct epoll_event *, int, int); +int epoll_pwait(int, struct epoll_event *, int, int, const sigset_t *); + + +#ifdef __cplusplus +} +#endif + +#endif /* sys/epoll.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/errno.h new file mode 100644 index 00000000..8711cd05 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/errno.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/eventfd.h new file mode 100644 index 00000000..be766ae2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/eventfd.h @@ -0,0 +1,26 @@ +#ifndef _SYS_EVENTFD_H +#define _SYS_EVENTFD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +typedef uint64_t eventfd_t; + +#define EFD_SEMAPHORE 1 +#define EFD_CLOEXEC O_CLOEXEC +#define EFD_NONBLOCK O_NONBLOCK + +int eventfd(unsigned int, int); +int eventfd_read(int, eventfd_t *); +int eventfd_write(int, eventfd_t); + + +#ifdef __cplusplus +} +#endif + +#endif /* sys/eventfd.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fanotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fanotify.h new file mode 100644 index 00000000..601e0e72 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fanotify.h @@ -0,0 +1,111 @@ +#ifndef _FANOTIFY_H +#define _FANOTIFY_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +struct fanotify_event_metadata { + unsigned event_len; + unsigned char vers; + unsigned char reserved; + unsigned short metadata_len; + unsigned long long mask +#ifdef __GNUC__ + __attribute__((__aligned__(8))) +#endif + ; + int fd; + int pid; +}; + +struct fanotify_event_info_header { + unsigned char info_type; + unsigned char pad; + unsigned short len; +}; + +struct fanotify_event_info_fid { + struct fanotify_event_info_header hdr; + fsid_t fsid; + unsigned char handle[]; +}; + +struct fanotify_response { + int fd; + unsigned response; +}; + +#define FAN_ACCESS 0x01 +#define FAN_MODIFY 0x02 +#define FAN_ATTRIB 0x04 +#define FAN_CLOSE_WRITE 0x08 +#define FAN_CLOSE_NOWRITE 0x10 +#define FAN_OPEN 0x20 +#define FAN_MOVED_FROM 0x40 +#define FAN_MOVED_TO 0x80 +#define FAN_CREATE 0x100 +#define FAN_DELETE 0x200 +#define FAN_DELETE_SELF 0x400 +#define FAN_MOVE_SELF 0x800 +#define FAN_OPEN_EXEC 0x1000 +#define FAN_Q_OVERFLOW 0x4000 +#define FAN_OPEN_PERM 0x10000 +#define FAN_ACCESS_PERM 0x20000 +#define FAN_OPEN_EXEC_PERM 0x40000 +#define FAN_DIR_MODIFY 0x00080000 +#define FAN_EVENT_ON_CHILD 0x08000000 +#define FAN_ONDIR 0x40000000 +#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) +#define FAN_MOVE (FAN_MOVED_FROM | FAN_MOVED_TO) +#define FAN_CLOEXEC 0x01 +#define FAN_NONBLOCK 0x02 +#define FAN_CLASS_NOTIF 0 +#define FAN_CLASS_CONTENT 0x04 +#define FAN_CLASS_PRE_CONTENT 0x08 +#define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | FAN_CLASS_PRE_CONTENT) +#define FAN_UNLIMITED_QUEUE 0x10 +#define FAN_UNLIMITED_MARKS 0x20 +#define FAN_ENABLE_AUDIT 0x40 +#define FAN_REPORT_TID 0x100 +#define FAN_REPORT_FID 0x200 +#define FAN_REPORT_DIR_FID 0x00000400 +#define FAN_REPORT_NAME 0x00000800 +#define FAN_REPORT_DFID_NAME (FAN_REPORT_DIR_FID | FAN_REPORT_NAME) +#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE | FAN_UNLIMITED_MARKS) +#define FAN_MARK_ADD 0x01 +#define FAN_MARK_REMOVE 0x02 +#define FAN_MARK_DONT_FOLLOW 0x04 +#define FAN_MARK_ONLYDIR 0x08 +#define FAN_MARK_IGNORED_MASK 0x20 +#define FAN_MARK_IGNORED_SURV_MODIFY 0x40 +#define FAN_MARK_FLUSH 0x80 +#define FAN_MARK_INODE 0x00 +#define FAN_MARK_MOUNT 0x10 +#define FAN_MARK_FILESYSTEM 0x100 +#define FAN_MARK_TYPE_MASK (FAN_MARK_INODE | FAN_MARK_MOUNT | FAN_MARK_FILESYSTEM) +#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD | FAN_MARK_REMOVE | FAN_MARK_DONT_FOLLOW | FAN_MARK_ONLYDIR | FAN_MARK_MOUNT | FAN_MARK_IGNORED_MASK | FAN_MARK_IGNORED_SURV_MODIFY | FAN_MARK_FLUSH) +#define FAN_ALL_EVENTS (FAN_ACCESS | FAN_MODIFY | FAN_CLOSE | FAN_OPEN) +#define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM | FAN_ACCESS_PERM) +#define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS | FAN_ALL_PERM_EVENTS | FAN_Q_OVERFLOW) +#define FANOTIFY_METADATA_VERSION 3 +#define FAN_EVENT_INFO_TYPE_FID 1 +#define FAN_EVENT_INFO_TYPE_DFID_NAME 2 +#define FAN_EVENT_INFO_TYPE_DFID 3 +#define FAN_ALLOW 0x01 +#define FAN_DENY 0x02 +#define FAN_AUDIT 0x10 +#define FAN_NOFD -1 +#define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata)) +#define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, (struct fanotify_event_metadata*)(((char *)(meta)) + (meta)->event_len)) +#define FAN_EVENT_OK(meta, len) ((long)(len) >= (long)FAN_EVENT_METADATA_LEN && (long)(meta)->event_len >= (long)FAN_EVENT_METADATA_LEN && (long)(meta)->event_len <= (long)(len)) + +int fanotify_init(unsigned, unsigned); +int fanotify_mark(int, unsigned, unsigned long long, int, const char *); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fcntl.h new file mode 100644 index 00000000..80dc71e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fcntl.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/file.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/file.h new file mode 100644 index 00000000..dbb11dd7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/file.h @@ -0,0 +1,21 @@ +#ifndef _SYS_FILE_H +#define _SYS_FILE_H +#ifdef __cplusplus +extern "C" { +#endif + +#define LOCK_SH 1 +#define LOCK_EX 2 +#define LOCK_NB 4 +#define LOCK_UN 8 + +#define L_SET 0 +#define L_INCR 1 +#define L_XTND 2 + +int flock(int, int); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fsuid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fsuid.h new file mode 100644 index 00000000..465afdb6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/fsuid.h @@ -0,0 +1,20 @@ +#ifndef _SYS_FSUID_H +#define _SYS_FSUID_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_uid_t +#define __NEED_gid_t + +#include + +int setfsuid(uid_t); +int setfsgid(gid_t); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/inotify.h new file mode 100644 index 00000000..95833a2c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/inotify.h @@ -0,0 +1,58 @@ +#ifndef _SYS_INOTIFY_H +#define _SYS_INOTIFY_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +struct inotify_event { + int wd; + uint32_t mask, cookie, len; + char name[]; +}; + +#define IN_CLOEXEC O_CLOEXEC +#define IN_NONBLOCK O_NONBLOCK + +#define IN_ACCESS 0x00000001 +#define IN_MODIFY 0x00000002 +#define IN_ATTRIB 0x00000004 +#define IN_CLOSE_WRITE 0x00000008 +#define IN_CLOSE_NOWRITE 0x00000010 +#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) +#define IN_OPEN 0x00000020 +#define IN_MOVED_FROM 0x00000040 +#define IN_MOVED_TO 0x00000080 +#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) +#define IN_CREATE 0x00000100 +#define IN_DELETE 0x00000200 +#define IN_DELETE_SELF 0x00000400 +#define IN_MOVE_SELF 0x00000800 +#define IN_ALL_EVENTS 0x00000fff + +#define IN_UNMOUNT 0x00002000 +#define IN_Q_OVERFLOW 0x00004000 +#define IN_IGNORED 0x00008000 + +#define IN_ONLYDIR 0x01000000 +#define IN_DONT_FOLLOW 0x02000000 +#define IN_EXCL_UNLINK 0x04000000 +#define IN_MASK_CREATE 0x10000000 +#define IN_MASK_ADD 0x20000000 + +#define IN_ISDIR 0x40000000 +#define IN_ONESHOT 0x80000000 + +int inotify_init(void); +int inotify_init1(int); +int inotify_add_watch(int, const char *, uint32_t); +int inotify_rm_watch(int, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/io.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/io.h new file mode 100644 index 00000000..92e13779 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/io.h @@ -0,0 +1,17 @@ +#ifndef _SYS_IO_H +#define _SYS_IO_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +int iopl(int); +int ioperm(unsigned long, unsigned long, int); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ioctl.h new file mode 100644 index 00000000..a741ae18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ioctl.h @@ -0,0 +1,120 @@ +#ifndef _SYS_IOCTL_H +#define _SYS_IOCTL_H +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_struct_winsize + +#include +#include + +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 +#define N_6PACK 7 +#define N_MASC 8 +#define N_R3964 9 +#define N_PROFIBUS_FDL 10 +#define N_IRDA 11 +#define N_SMSBLOCK 12 +#define N_HDLC 13 +#define N_SYNC_PPP 14 +#define N_HCI 15 +#define N_GIGASET_M101 16 +#define N_SLCAN 17 +#define N_PPS 18 +#define N_V253 19 +#define N_CAIF 20 +#define N_GSM0710 21 +#define N_TI_WL 22 +#define N_TRACESINK 23 +#define N_TRACEROUTER 24 +#define N_NCI 25 +#define N_SPEAKUP 26 +#define N_NULL 27 + +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 +#define TIOCPKT_IOCTL 64 + +#define TIOCSER_TEMT 1 + +#define SIOCADDRT 0x890B +#define SIOCDELRT 0x890C +#define SIOCRTMSG 0x890D + +#define SIOCGIFNAME 0x8910 +#define SIOCSIFLINK 0x8911 +#define SIOCGIFCONF 0x8912 +#define SIOCGIFFLAGS 0x8913 +#define SIOCSIFFLAGS 0x8914 +#define SIOCGIFADDR 0x8915 +#define SIOCSIFADDR 0x8916 +#define SIOCGIFDSTADDR 0x8917 +#define SIOCSIFDSTADDR 0x8918 +#define SIOCGIFBRDADDR 0x8919 +#define SIOCSIFBRDADDR 0x891a +#define SIOCGIFNETMASK 0x891b +#define SIOCSIFNETMASK 0x891c +#define SIOCGIFMETRIC 0x891d +#define SIOCSIFMETRIC 0x891e +#define SIOCGIFMEM 0x891f +#define SIOCSIFMEM 0x8920 +#define SIOCGIFMTU 0x8921 +#define SIOCSIFMTU 0x8922 +#define SIOCSIFNAME 0x8923 +#define SIOCSIFHWADDR 0x8924 +#define SIOCGIFENCAP 0x8925 +#define SIOCSIFENCAP 0x8926 +#define SIOCGIFHWADDR 0x8927 +#define SIOCGIFSLAVE 0x8929 +#define SIOCSIFSLAVE 0x8930 +#define SIOCADDMULTI 0x8931 +#define SIOCDELMULTI 0x8932 +#define SIOCGIFINDEX 0x8933 +#define SIOGIFINDEX SIOCGIFINDEX +#define SIOCSIFPFLAGS 0x8934 +#define SIOCGIFPFLAGS 0x8935 +#define SIOCDIFADDR 0x8936 +#define SIOCSIFHWBROADCAST 0x8937 +#define SIOCGIFCOUNT 0x8938 + +#define SIOCGIFBR 0x8940 +#define SIOCSIFBR 0x8941 + +#define SIOCGIFTXQLEN 0x8942 +#define SIOCSIFTXQLEN 0x8943 + +#define SIOCDARP 0x8953 +#define SIOCGARP 0x8954 +#define SIOCSARP 0x8955 + +#define SIOCDRARP 0x8960 +#define SIOCGRARP 0x8961 +#define SIOCSRARP 0x8962 + +#define SIOCGIFMAP 0x8970 +#define SIOCSIFMAP 0x8971 + +#define SIOCADDDLCI 0x8980 +#define SIOCDELDLCI 0x8981 + +#define SIOCDEVPRIVATE 0x89F0 +#define SIOCPROTOPRIVATE 0x89E0 + +int ioctl (int, int, ...); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ipc.h new file mode 100644 index 00000000..99a4f015 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ipc.h @@ -0,0 +1,42 @@ +#ifndef _SYS_IPC_H +#define _SYS_IPC_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_mode_t +#define __NEED_key_t + +#include + +#define __ipc_perm_key __key +#define __ipc_perm_seq __seq + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __key key +#define __seq seq +#endif + +#include +#include + +#define IPC_CREAT 01000 +#define IPC_EXCL 02000 +#define IPC_NOWAIT 04000 + +#define IPC_RMID 0 +#define IPC_SET 1 +#define IPC_INFO 3 + +#define IPC_PRIVATE ((key_t) 0) + +key_t ftok (const char *, int); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/kd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/kd.h new file mode 100644 index 00000000..da5eb825 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/kd.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/klog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/klog.h new file mode 100644 index 00000000..23bd1b5e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/klog.h @@ -0,0 +1,14 @@ +#ifndef _SYS_KLOG_H +#define _SYS_KLOG_H + +#ifdef __cplusplus +extern "C" { +#endif + +int klogctl (int, char *, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/membarrier.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/membarrier.h new file mode 100644 index 00000000..73e8b2a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/membarrier.h @@ -0,0 +1,21 @@ +#ifndef _SYS_MEMBARRIER_H +#define _SYS_MEMBARRIER_H + +#define MEMBARRIER_CMD_QUERY 0 +#define MEMBARRIER_CMD_GLOBAL 1 +#define MEMBARRIER_CMD_GLOBAL_EXPEDITED 2 +#define MEMBARRIER_CMD_REGISTER_GLOBAL_EXPEDITED 4 +#define MEMBARRIER_CMD_PRIVATE_EXPEDITED 8 +#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED 16 +#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_SYNC_CORE 32 +#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_SYNC_CORE 64 +#define MEMBARRIER_CMD_PRIVATE_EXPEDITED_RSEQ 128 +#define MEMBARRIER_CMD_REGISTER_PRIVATE_EXPEDITED_RSEQ 256 + +#define MEMBARRIER_CMD_SHARED MEMBARRIER_CMD_GLOBAL + +#define MEMBARRIER_CMD_FLAG_CPU 1 + +int membarrier(int, int); + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mman.h new file mode 100644 index 00000000..75e9b681 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mman.h @@ -0,0 +1,152 @@ +#ifndef _SYS_MMAN_H +#define _SYS_MMAN_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_mode_t +#define __NEED_size_t +#define __NEED_off_t + +#if defined(_GNU_SOURCE) +#define __NEED_ssize_t +#endif + +#include + +#define MAP_FAILED ((void *) -1) + +#define MAP_SHARED 0x01 +#define MAP_PRIVATE 0x02 +#define MAP_SHARED_VALIDATE 0x03 +#define MAP_TYPE 0x0f +#define MAP_FIXED 0x10 +#define MAP_ANON 0x20 +#define MAP_ANONYMOUS MAP_ANON +#define MAP_NORESERVE 0x4000 +#define MAP_GROWSDOWN 0x0100 +#define MAP_DENYWRITE 0x0800 +#define MAP_EXECUTABLE 0x1000 +#define MAP_LOCKED 0x2000 +#define MAP_POPULATE 0x8000 +#define MAP_NONBLOCK 0x10000 +#define MAP_STACK 0x20000 +#define MAP_HUGETLB 0x40000 +#define MAP_SYNC 0x80000 +#define MAP_FIXED_NOREPLACE 0x100000 +#define MAP_FILE 0 + +#define MAP_HUGE_SHIFT 26 +#define MAP_HUGE_MASK 0x3f +#define MAP_HUGE_16KB (14 << 26) +#define MAP_HUGE_64KB (16 << 26) +#define MAP_HUGE_512KB (19 << 26) +#define MAP_HUGE_1MB (20 << 26) +#define MAP_HUGE_2MB (21 << 26) +#define MAP_HUGE_8MB (23 << 26) +#define MAP_HUGE_16MB (24 << 26) +#define MAP_HUGE_32MB (25 << 26) +#define MAP_HUGE_256MB (28 << 26) +#define MAP_HUGE_512MB (29 << 26) +#define MAP_HUGE_1GB (30 << 26) +#define MAP_HUGE_2GB (31 << 26) +#define MAP_HUGE_16GB (34U << 26) + +#define PROT_NONE 0 +#define PROT_READ 1 +#define PROT_WRITE 2 +#define PROT_EXEC 4 +#define PROT_GROWSDOWN 0x01000000 +#define PROT_GROWSUP 0x02000000 + +#define MS_ASYNC 1 +#define MS_INVALIDATE 2 +#define MS_SYNC 4 + +#define MCL_CURRENT 1 +#define MCL_FUTURE 2 +#define MCL_ONFAULT 4 + +#define POSIX_MADV_NORMAL 0 +#define POSIX_MADV_RANDOM 1 +#define POSIX_MADV_SEQUENTIAL 2 +#define POSIX_MADV_WILLNEED 3 +#define POSIX_MADV_DONTNEED 4 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MADV_NORMAL 0 +#define MADV_RANDOM 1 +#define MADV_SEQUENTIAL 2 +#define MADV_WILLNEED 3 +#define MADV_DONTNEED 4 +#define MADV_FREE 8 +#define MADV_REMOVE 9 +#define MADV_DONTFORK 10 +#define MADV_DOFORK 11 +#define MADV_MERGEABLE 12 +#define MADV_UNMERGEABLE 13 +#define MADV_HUGEPAGE 14 +#define MADV_NOHUGEPAGE 15 +#define MADV_DONTDUMP 16 +#define MADV_DODUMP 17 +#define MADV_WIPEONFORK 18 +#define MADV_KEEPONFORK 19 +#define MADV_COLD 20 +#define MADV_PAGEOUT 21 +#define MADV_HWPOISON 100 +#define MADV_SOFT_OFFLINE 101 +#endif + +#ifdef _GNU_SOURCE +#define MREMAP_MAYMOVE 1 +#define MREMAP_FIXED 2 +#define MREMAP_DONTUNMAP 4 + +#define MLOCK_ONFAULT 0x01 + +#define MFD_CLOEXEC 0x0001U +#define MFD_ALLOW_SEALING 0x0002U +#define MFD_HUGETLB 0x0004U +#endif + +#include + +void *mmap (void *, size_t, int, int, int, off_t); +int munmap (void *, size_t); + +int mprotect (void *, size_t, int); +int msync (void *, size_t, int); + +int posix_madvise (void *, size_t, int); + +int mlock (const void *, size_t); +int munlock (const void *, size_t); +int mlockall (int); +int munlockall (void); + +#ifdef _GNU_SOURCE +void *mremap (void *, size_t, size_t, int, ...); +int remap_file_pages (void *, size_t, int, size_t, int); +int memfd_create (const char *, unsigned); +int mlock2 (const void *, size_t, unsigned); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int madvise (void *, size_t, int); +int mincore (void *, size_t, unsigned char *); +#endif + +int shm_open (const char *, int, mode_t); +int shm_unlink (const char *); + +#if defined(_LARGEFILE64_SOURCE) +#define mmap64 mmap +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mount.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mount.h new file mode 100644 index 00000000..fc2b8333 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mount.h @@ -0,0 +1,75 @@ +#ifndef _SYS_MOUNT_H +#define _SYS_MOUNT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define BLKROSET _IO(0x12, 93) +#define BLKROGET _IO(0x12, 94) +#define BLKRRPART _IO(0x12, 95) +#define BLKGETSIZE _IO(0x12, 96) +#define BLKFLSBUF _IO(0x12, 97) +#define BLKRASET _IO(0x12, 98) +#define BLKRAGET _IO(0x12, 99) +#define BLKFRASET _IO(0x12,100) +#define BLKFRAGET _IO(0x12,101) +#define BLKSECTSET _IO(0x12,102) +#define BLKSECTGET _IO(0x12,103) +#define BLKSSZGET _IO(0x12,104) +#define BLKBSZGET _IOR(0x12,112,size_t) +#define BLKBSZSET _IOW(0x12,113,size_t) +#define BLKGETSIZE64 _IOR(0x12,114,size_t) + +#define MS_RDONLY 1 +#define MS_NOSUID 2 +#define MS_NODEV 4 +#define MS_NOEXEC 8 +#define MS_SYNCHRONOUS 16 +#define MS_REMOUNT 32 +#define MS_MANDLOCK 64 +#define MS_DIRSYNC 128 +#define MS_NOSYMFOLLOW 256 +#define MS_NOATIME 1024 +#define MS_NODIRATIME 2048 +#define MS_BIND 4096 +#define MS_MOVE 8192 +#define MS_REC 16384 +#define MS_SILENT 32768 +#define MS_POSIXACL (1<<16) +#define MS_UNBINDABLE (1<<17) +#define MS_PRIVATE (1<<18) +#define MS_SLAVE (1<<19) +#define MS_SHARED (1<<20) +#define MS_RELATIME (1<<21) +#define MS_KERNMOUNT (1<<22) +#define MS_I_VERSION (1<<23) +#define MS_STRICTATIME (1<<24) +#define MS_LAZYTIME (1<<25) +#define MS_NOREMOTELOCK (1<<27) +#define MS_NOSEC (1<<28) +#define MS_BORN (1<<29) +#define MS_ACTIVE (1<<30) +#define MS_NOUSER (1U<<31) + +#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|MS_LAZYTIME) + +#define MS_MGC_VAL 0xc0ed0000 +#define MS_MGC_MSK 0xffff0000 + +#define MNT_FORCE 1 +#define MNT_DETACH 2 +#define MNT_EXPIRE 4 +#define UMOUNT_NOFOLLOW 8 + +int mount(const char *, const char *, const char *, unsigned long, const void *); +int umount(const char *); +int umount2(const char *, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/msg.h new file mode 100644 index 00000000..7d3ec96a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/msg.h @@ -0,0 +1,53 @@ +#ifndef _SYS_MSG_H +#define _SYS_MSG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_pid_t +#define __NEED_key_t +#define __NEED_time_t +#define __NEED_size_t +#define __NEED_ssize_t + +#include + +typedef unsigned long msgqnum_t; +typedef unsigned long msglen_t; + +#include + +#define __msg_cbytes msg_cbytes + +#define MSG_NOERROR 010000 +#define MSG_EXCEPT 020000 + +#define MSG_STAT (11 | (IPC_STAT & 0x100)) +#define MSG_INFO 12 +#define MSG_STAT_ANY (13 | (IPC_STAT & 0x100)) + +struct msginfo { + int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql; + unsigned short msgseg; +}; + +int msgctl (int, int, struct msqid_ds *); +int msgget (key_t, int); +ssize_t msgrcv (int, void *, size_t, long, int); +int msgsnd (int, const void *, size_t, int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct msgbuf { + long mtype; + char mtext[1]; +}; +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mtio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mtio.h new file mode 100644 index 00000000..e73b2eb2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/mtio.h @@ -0,0 +1,188 @@ +#ifndef _SYS_MTIO_H +#define _SYS_MTIO_H + +#include +#include + +struct mtop { + short mt_op; + int mt_count; +}; + +#define _IOT_mtop _IOT (_IOTS (short), 1, _IOTS (int), 1, 0, 0) +#define _IOT_mtget _IOT (_IOTS (long), 7, 0, 0, 0, 0) +#define _IOT_mtpos _IOT_SIMPLE (long) +#define _IOT_mtconfiginfo _IOT (_IOTS (long), 2, _IOTS (short), 3, _IOTS (long), 1) + + +#define MTRESET 0 +#define MTFSF 1 +#define MTBSF 2 +#define MTFSR 3 +#define MTBSR 4 +#define MTWEOF 5 +#define MTREW 6 +#define MTOFFL 7 +#define MTNOP 8 +#define MTRETEN 9 +#define MTBSFM 10 +#define MTFSFM 11 +#define MTEOM 12 +#define MTERASE 13 +#define MTRAS1 14 +#define MTRAS2 15 +#define MTRAS3 16 +#define MTSETBLK 20 +#define MTSETDENSITY 21 +#define MTSEEK 22 +#define MTTELL 23 +#define MTSETDRVBUFFER 24 +#define MTFSS 25 +#define MTBSS 26 +#define MTWSM 27 +#define MTLOCK 28 +#define MTUNLOCK 29 +#define MTLOAD 30 +#define MTUNLOAD 31 +#define MTCOMPRESSION 32 +#define MTSETPART 33 +#define MTMKPART 34 + +struct mtget { + long mt_type; + long mt_resid; + long mt_dsreg; + long mt_gstat; + long mt_erreg; + int mt_fileno; + int mt_blkno; +}; + +#define MT_ISUNKNOWN 0x01 +#define MT_ISQIC02 0x02 +#define MT_ISWT5150 0x03 +#define MT_ISARCHIVE_5945L2 0x04 +#define MT_ISCMSJ500 0x05 +#define MT_ISTDC3610 0x06 +#define MT_ISARCHIVE_VP60I 0x07 +#define MT_ISARCHIVE_2150L 0x08 +#define MT_ISARCHIVE_2060L 0x09 +#define MT_ISARCHIVESC499 0x0A +#define MT_ISQIC02_ALL_FEATURES 0x0F +#define MT_ISWT5099EEN24 0x11 +#define MT_ISTEAC_MT2ST 0x12 +#define MT_ISEVEREX_FT40A 0x32 +#define MT_ISDDS1 0x51 +#define MT_ISDDS2 0x52 +#define MT_ISSCSI1 0x71 +#define MT_ISSCSI2 0x72 +#define MT_ISFTAPE_UNKNOWN 0x800000 +#define MT_ISFTAPE_FLAG 0x800000 + +struct mt_tape_info { + long t_type; + char *t_name; +}; + +#define MT_TAPE_INFO \ +{ \ + {MT_ISUNKNOWN, "Unknown type of tape device"}, \ + {MT_ISQIC02, "Generic QIC-02 tape streamer"}, \ + {MT_ISWT5150, "Wangtek 5150, QIC-150"}, \ + {MT_ISARCHIVE_5945L2, "Archive 5945L-2"}, \ + {MT_ISCMSJ500, "CMS Jumbo 500"}, \ + {MT_ISTDC3610, "Tandberg TDC 3610, QIC-24"}, \ + {MT_ISARCHIVE_VP60I, "Archive VP60i, QIC-02"}, \ + {MT_ISARCHIVE_2150L, "Archive Viper 2150L"}, \ + {MT_ISARCHIVE_2060L, "Archive Viper 2060L"}, \ + {MT_ISARCHIVESC499, "Archive SC-499 QIC-36 controller"}, \ + {MT_ISQIC02_ALL_FEATURES, "Generic QIC-02 tape, all features"}, \ + {MT_ISWT5099EEN24, "Wangtek 5099-een24, 60MB"}, \ + {MT_ISTEAC_MT2ST, "Teac MT-2ST 155mb data cassette drive"}, \ + {MT_ISEVEREX_FT40A, "Everex FT40A, QIC-40"}, \ + {MT_ISSCSI1, "Generic SCSI-1 tape"}, \ + {MT_ISSCSI2, "Generic SCSI-2 tape"}, \ + {0, 0} \ +} + +struct mtpos { + long mt_blkno; +}; + +struct mtconfiginfo { + long mt_type; + long ifc_type; + unsigned short irqnr; + unsigned short dmanr; + unsigned short port; + unsigned long debug; + unsigned have_dens:1; + unsigned have_bsf:1; + unsigned have_fsr:1; + unsigned have_bsr:1; + unsigned have_eod:1; + unsigned have_seek:1; + unsigned have_tell:1; + unsigned have_ras1:1; + unsigned have_ras2:1; + unsigned have_ras3:1; + unsigned have_qfa:1; + unsigned pad1:5; + char reserved[10]; +}; + +#define MTIOCTOP _IOW('m', 1, struct mtop) +#define MTIOCGET _IOR('m', 2, struct mtget) +#define MTIOCPOS _IOR('m', 3, struct mtpos) + +#define MTIOCGETCONFIG _IOR('m', 4, struct mtconfiginfo) +#define MTIOCSETCONFIG _IOW('m', 5, struct mtconfiginfo) + +#define GMT_EOF(x) ((x) & 0x80000000) +#define GMT_BOT(x) ((x) & 0x40000000) +#define GMT_EOT(x) ((x) & 0x20000000) +#define GMT_SM(x) ((x) & 0x10000000) +#define GMT_EOD(x) ((x) & 0x08000000) +#define GMT_WR_PROT(x) ((x) & 0x04000000) +#define GMT_ONLINE(x) ((x) & 0x01000000) +#define GMT_D_6250(x) ((x) & 0x00800000) +#define GMT_D_1600(x) ((x) & 0x00400000) +#define GMT_D_800(x) ((x) & 0x00200000) +#define GMT_DR_OPEN(x) ((x) & 0x00040000) +#define GMT_IM_REP_EN(x) ((x) & 0x00010000) + +#define MT_ST_BLKSIZE_SHIFT 0 +#define MT_ST_BLKSIZE_MASK 0xffffff +#define MT_ST_DENSITY_SHIFT 24 +#define MT_ST_DENSITY_MASK 0xff000000 +#define MT_ST_SOFTERR_SHIFT 0 +#define MT_ST_SOFTERR_MASK 0xffff +#define MT_ST_OPTIONS 0xf0000000 +#define MT_ST_BOOLEANS 0x10000000 +#define MT_ST_SETBOOLEANS 0x30000000 +#define MT_ST_CLEARBOOLEANS 0x40000000 +#define MT_ST_WRITE_THRESHOLD 0x20000000 +#define MT_ST_DEF_BLKSIZE 0x50000000 +#define MT_ST_DEF_OPTIONS 0x60000000 +#define MT_ST_BUFFER_WRITES 0x1 +#define MT_ST_ASYNC_WRITES 0x2 +#define MT_ST_READ_AHEAD 0x4 +#define MT_ST_DEBUGGING 0x8 +#define MT_ST_TWO_FM 0x10 +#define MT_ST_FAST_MTEOM 0x20 +#define MT_ST_AUTO_LOCK 0x40 +#define MT_ST_DEF_WRITES 0x80 +#define MT_ST_CAN_BSR 0x100 +#define MT_ST_NO_BLKLIMS 0x200 +#define MT_ST_CAN_PARTITIONS 0x400 +#define MT_ST_SCSI2LOGICAL 0x800 +#define MT_ST_CLEAR_DEFAULT 0xfffff +#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000) +#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000) +#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000) +#define MT_ST_HPLOADER_OFFSET 10000 +#ifndef DEFTAPE +# define DEFTAPE "/dev/tape" +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/param.h new file mode 100644 index 00000000..13f9b843 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/param.h @@ -0,0 +1,35 @@ +#ifndef _SYS_PARAM_H +#define _SYS_PARAM_H + +#define MAXSYMLINKS 20 +#define MAXHOSTNAMELEN 64 +#define MAXNAMLEN 255 +#define MAXPATHLEN 4096 +#define NBBY 8 +#define NGROUPS 32 +#define CANBSIZ 255 +#define NOFILE 256 +#define NCARGS 131072 +#define DEV_BSIZE 512 +#define NOGROUP (-1) + +#undef MIN +#undef MAX +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +#define __bitop(x,i,o) ((x)[(i)/8] o (1<<(i)%8)) +#define setbit(x,i) __bitop(x,i,|=) +#define clrbit(x,i) __bitop(x,i,&=~) +#define isset(x,i) __bitop(x,i,&) +#define isclr(x,i) !isset(x,i) + +#define howmany(n,d) (((n)+((d)-1))/(d)) +#define roundup(n,d) (howmany(n,d)*(d)) +#define powerof2(n) !(((n)-1) & (n)) + +#include +#include +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/personality.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/personality.h new file mode 100644 index 00000000..8c8a278c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/personality.h @@ -0,0 +1,49 @@ +#ifndef _PERSONALITY_H +#define _PERSONALITY_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define UNAME26 0x0020000 +#define ADDR_NO_RANDOMIZE 0x0040000 +#define FDPIC_FUNCPTRS 0x0080000 +#define MMAP_PAGE_ZERO 0x0100000 +#define ADDR_COMPAT_LAYOUT 0x0200000 +#define READ_IMPLIES_EXEC 0x0400000 +#define ADDR_LIMIT_32BIT 0x0800000 +#define SHORT_INODE 0x1000000 +#define WHOLE_SECONDS 0x2000000 +#define STICKY_TIMEOUTS 0x4000000 +#define ADDR_LIMIT_3GB 0x8000000 + +#define PER_LINUX 0 +#define PER_LINUX_32BIT ADDR_LIMIT_32BIT +#define PER_LINUX_FDPIC FDPIC_FUNCPTRS +#define PER_SVR4 (1 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) +#define PER_SVR3 (2 | STICKY_TIMEOUTS | SHORT_INODE) +#define PER_SCOSVR3 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS | SHORT_INODE) +#define PER_OSR5 (3 | STICKY_TIMEOUTS | WHOLE_SECONDS) +#define PER_WYSEV386 (4 | STICKY_TIMEOUTS | SHORT_INODE) +#define PER_ISCR4 (5 | STICKY_TIMEOUTS) +#define PER_BSD 6 +#define PER_SUNOS (6 | STICKY_TIMEOUTS) +#define PER_XENIX (7 | STICKY_TIMEOUTS | SHORT_INODE) +#define PER_LINUX32 8 +#define PER_LINUX32_3GB (8 | ADDR_LIMIT_3GB) +#define PER_IRIX32 (9 | STICKY_TIMEOUTS) +#define PER_IRIXN32 (0xa | STICKY_TIMEOUTS) +#define PER_IRIX64 (0x0b | STICKY_TIMEOUTS) +#define PER_RISCOS 0xc +#define PER_SOLARIS (0xd | STICKY_TIMEOUTS) +#define PER_UW7 (0xe | STICKY_TIMEOUTS | MMAP_PAGE_ZERO) +#define PER_OSF4 0xf +#define PER_HPUX 0x10 +#define PER_MASK 0xff + +int personality(unsigned long); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/poll.h new file mode 100644 index 00000000..ddc60e84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/poll.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/prctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/prctl.h new file mode 100644 index 00000000..76c06586 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/prctl.h @@ -0,0 +1,186 @@ +#ifndef _SYS_PRCTL_H +#define _SYS_PRCTL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define PR_SET_PDEATHSIG 1 +#define PR_GET_PDEATHSIG 2 +#define PR_GET_DUMPABLE 3 +#define PR_SET_DUMPABLE 4 +#define PR_GET_UNALIGN 5 +#define PR_SET_UNALIGN 6 +#define PR_UNALIGN_NOPRINT 1 +#define PR_UNALIGN_SIGBUS 2 +#define PR_GET_KEEPCAPS 7 +#define PR_SET_KEEPCAPS 8 +#define PR_GET_FPEMU 9 +#define PR_SET_FPEMU 10 +#define PR_FPEMU_NOPRINT 1 +#define PR_FPEMU_SIGFPE 2 +#define PR_GET_FPEXC 11 +#define PR_SET_FPEXC 12 +#define PR_FP_EXC_SW_ENABLE 0x80 +#define PR_FP_EXC_DIV 0x010000 +#define PR_FP_EXC_OVF 0x020000 +#define PR_FP_EXC_UND 0x040000 +#define PR_FP_EXC_RES 0x080000 +#define PR_FP_EXC_INV 0x100000 +#define PR_FP_EXC_DISABLED 0 +#define PR_FP_EXC_NONRECOV 1 +#define PR_FP_EXC_ASYNC 2 +#define PR_FP_EXC_PRECISE 3 +#define PR_GET_TIMING 13 +#define PR_SET_TIMING 14 +#define PR_TIMING_STATISTICAL 0 +#define PR_TIMING_TIMESTAMP 1 +#define PR_SET_NAME 15 +#define PR_GET_NAME 16 +#define PR_GET_ENDIAN 19 +#define PR_SET_ENDIAN 20 +#define PR_ENDIAN_BIG 0 +#define PR_ENDIAN_LITTLE 1 +#define PR_ENDIAN_PPC_LITTLE 2 +#define PR_GET_SECCOMP 21 +#define PR_SET_SECCOMP 22 +#define PR_CAPBSET_READ 23 +#define PR_CAPBSET_DROP 24 +#define PR_GET_TSC 25 +#define PR_SET_TSC 26 +#define PR_TSC_ENABLE 1 +#define PR_TSC_SIGSEGV 2 +#define PR_GET_SECUREBITS 27 +#define PR_SET_SECUREBITS 28 +#define PR_SET_TIMERSLACK 29 +#define PR_GET_TIMERSLACK 30 + +#define PR_TASK_PERF_EVENTS_DISABLE 31 +#define PR_TASK_PERF_EVENTS_ENABLE 32 + +#define PR_MCE_KILL 33 +#define PR_MCE_KILL_CLEAR 0 +#define PR_MCE_KILL_SET 1 +#define PR_MCE_KILL_LATE 0 +#define PR_MCE_KILL_EARLY 1 +#define PR_MCE_KILL_DEFAULT 2 +#define PR_MCE_KILL_GET 34 + +#define PR_SET_MM 35 +#define PR_SET_MM_START_CODE 1 +#define PR_SET_MM_END_CODE 2 +#define PR_SET_MM_START_DATA 3 +#define PR_SET_MM_END_DATA 4 +#define PR_SET_MM_START_STACK 5 +#define PR_SET_MM_START_BRK 6 +#define PR_SET_MM_BRK 7 +#define PR_SET_MM_ARG_START 8 +#define PR_SET_MM_ARG_END 9 +#define PR_SET_MM_ENV_START 10 +#define PR_SET_MM_ENV_END 11 +#define PR_SET_MM_AUXV 12 +#define PR_SET_MM_EXE_FILE 13 +#define PR_SET_MM_MAP 14 +#define PR_SET_MM_MAP_SIZE 15 + +struct prctl_mm_map { + uint64_t start_code; + uint64_t end_code; + uint64_t start_data; + uint64_t end_data; + uint64_t start_brk; + uint64_t brk; + uint64_t start_stack; + uint64_t arg_start; + uint64_t arg_end; + uint64_t env_start; + uint64_t env_end; + uint64_t *auxv; + uint32_t auxv_size; + uint32_t exe_fd; +}; + +#define PR_SET_PTRACER 0x59616d61 +#define PR_SET_PTRACER_ANY (-1UL) + +#define PR_SET_CHILD_SUBREAPER 36 +#define PR_GET_CHILD_SUBREAPER 37 + +#define PR_SET_NO_NEW_PRIVS 38 +#define PR_GET_NO_NEW_PRIVS 39 + +#define PR_GET_TID_ADDRESS 40 + +#define PR_SET_THP_DISABLE 41 +#define PR_GET_THP_DISABLE 42 + +#define PR_MPX_ENABLE_MANAGEMENT 43 +#define PR_MPX_DISABLE_MANAGEMENT 44 + +#define PR_SET_FP_MODE 45 +#define PR_GET_FP_MODE 46 +#define PR_FP_MODE_FR (1 << 0) +#define PR_FP_MODE_FRE (1 << 1) + +#define PR_CAP_AMBIENT 47 +#define PR_CAP_AMBIENT_IS_SET 1 +#define PR_CAP_AMBIENT_RAISE 2 +#define PR_CAP_AMBIENT_LOWER 3 +#define PR_CAP_AMBIENT_CLEAR_ALL 4 + +#define PR_SVE_SET_VL 50 +#define PR_SVE_SET_VL_ONEXEC (1 << 18) +#define PR_SVE_GET_VL 51 +#define PR_SVE_VL_LEN_MASK 0xffff +#define PR_SVE_VL_INHERIT (1 << 17) + +#define PR_GET_SPECULATION_CTRL 52 +#define PR_SET_SPECULATION_CTRL 53 +#define PR_SPEC_STORE_BYPASS 0 +#define PR_SPEC_INDIRECT_BRANCH 1 +#define PR_SPEC_NOT_AFFECTED 0 +#define PR_SPEC_PRCTL (1UL << 0) +#define PR_SPEC_ENABLE (1UL << 1) +#define PR_SPEC_DISABLE (1UL << 2) +#define PR_SPEC_FORCE_DISABLE (1UL << 3) +#define PR_SPEC_DISABLE_NOEXEC (1UL << 4) + +#define PR_PAC_RESET_KEYS 54 +#define PR_PAC_APIAKEY (1UL << 0) +#define PR_PAC_APIBKEY (1UL << 1) +#define PR_PAC_APDAKEY (1UL << 2) +#define PR_PAC_APDBKEY (1UL << 3) +#define PR_PAC_APGAKEY (1UL << 4) + +#define PR_SET_TAGGED_ADDR_CTRL 55 +#define PR_GET_TAGGED_ADDR_CTRL 56 +#define PR_TAGGED_ADDR_ENABLE (1UL << 0) +#define PR_MTE_TCF_SHIFT 1 +#define PR_MTE_TCF_NONE (0UL << 1) +#define PR_MTE_TCF_SYNC (1UL << 1) +#define PR_MTE_TCF_ASYNC (2UL << 1) +#define PR_MTE_TCF_MASK (3UL << 1) +#define PR_MTE_TAG_SHIFT 3 +#define PR_MTE_TAG_MASK (0xffffUL << 3) + +#define PR_SET_IO_FLUSHER 57 +#define PR_GET_IO_FLUSHER 58 + +#define PR_SET_SYSCALL_USER_DISPATCH 59 +#define PR_SYS_DISPATCH_OFF 0 +#define PR_SYS_DISPATCH_ON 1 +#define SYSCALL_DISPATCH_FILTER_ALLOW 0 +#define SYSCALL_DISPATCH_FILTER_BLOCK 1 + +#define PR_PAC_SET_ENABLED_KEYS 60 +#define PR_PAC_GET_ENABLED_KEYS 61 + +int prctl (int, ...); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/procfs.h new file mode 100644 index 00000000..03db62ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/procfs.h @@ -0,0 +1,63 @@ +#ifndef _SYS_PROCFS_H +#define _SYS_PROCFS_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +struct elf_siginfo { + int si_signo; + int si_code; + int si_errno; +}; + +struct elf_prstatus { + struct elf_siginfo pr_info; + short int pr_cursig; + unsigned long int pr_sigpend; + unsigned long int pr_sighold; + pid_t pr_pid; + pid_t pr_ppid; + pid_t pr_pgrp; + pid_t pr_sid; + struct { + long tv_sec, tv_usec; + } pr_utime, pr_stime, pr_cutime, pr_cstime; + elf_gregset_t pr_reg; + int pr_fpvalid; +}; + +#define ELF_PRARGSZ 80 + +struct elf_prpsinfo { + char pr_state; + char pr_sname; + char pr_zomb; + char pr_nice; + unsigned long int pr_flag; +#if UINTPTR_MAX == 0xffffffff + unsigned short int pr_uid; + unsigned short int pr_gid; +#else + unsigned int pr_uid; + unsigned int pr_gid; +#endif + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + char pr_fname[16]; + char pr_psargs[ELF_PRARGSZ]; +}; + +typedef void *psaddr_t; +typedef elf_gregset_t prgregset_t; +typedef elf_fpregset_t prfpregset_t; +typedef pid_t lwpid_t; +typedef struct elf_prstatus prstatus_t; +typedef struct elf_prpsinfo prpsinfo_t; + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ptrace.h new file mode 100644 index 00000000..09f65cbc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ptrace.h @@ -0,0 +1,147 @@ +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define PTRACE_TRACEME 0 +#define PT_TRACE_ME PTRACE_TRACEME + +#define PTRACE_PEEKTEXT 1 +#define PTRACE_PEEKDATA 2 +#define PTRACE_PEEKUSER 3 +#define PTRACE_POKETEXT 4 +#define PTRACE_POKEDATA 5 +#define PTRACE_POKEUSER 6 +#define PTRACE_CONT 7 +#define PTRACE_KILL 8 +#define PTRACE_SINGLESTEP 9 +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_ATTACH 16 +#define PTRACE_DETACH 17 +#define PTRACE_GETFPXREGS 18 +#define PTRACE_SETFPXREGS 19 +#define PTRACE_SYSCALL 24 +#define PTRACE_SETOPTIONS 0x4200 +#define PTRACE_GETEVENTMSG 0x4201 +#define PTRACE_GETSIGINFO 0x4202 +#define PTRACE_SETSIGINFO 0x4203 +#define PTRACE_GETREGSET 0x4204 +#define PTRACE_SETREGSET 0x4205 +#define PTRACE_SEIZE 0x4206 +#define PTRACE_INTERRUPT 0x4207 +#define PTRACE_LISTEN 0x4208 +#define PTRACE_PEEKSIGINFO 0x4209 +#define PTRACE_GETSIGMASK 0x420a +#define PTRACE_SETSIGMASK 0x420b +#define PTRACE_SECCOMP_GET_FILTER 0x420c +#define PTRACE_SECCOMP_GET_METADATA 0x420d +#define PTRACE_GET_SYSCALL_INFO 0x420e +#define PTRACE_GET_RSEQ_CONFIGURATION 0x420f + +#define PT_READ_I PTRACE_PEEKTEXT +#define PT_READ_D PTRACE_PEEKDATA +#define PT_READ_U PTRACE_PEEKUSER +#define PT_WRITE_I PTRACE_POKETEXT +#define PT_WRITE_D PTRACE_POKEDATA +#define PT_WRITE_U PTRACE_POKEUSER +#define PT_CONTINUE PTRACE_CONT +#define PT_KILL PTRACE_KILL +#define PT_STEP PTRACE_SINGLESTEP +#define PT_GETREGS PTRACE_GETREGS +#define PT_SETREGS PTRACE_SETREGS +#define PT_GETFPREGS PTRACE_GETFPREGS +#define PT_SETFPREGS PTRACE_SETFPREGS +#define PT_ATTACH PTRACE_ATTACH +#define PT_DETACH PTRACE_DETACH +#define PT_GETFPXREGS PTRACE_GETFPXREGS +#define PT_SETFPXREGS PTRACE_SETFPXREGS +#define PT_SYSCALL PTRACE_SYSCALL +#define PT_SETOPTIONS PTRACE_SETOPTIONS +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG +#define PT_GETSIGINFO PTRACE_GETSIGINFO +#define PT_SETSIGINFO PTRACE_SETSIGINFO + +#define PTRACE_O_TRACESYSGOOD 0x00000001 +#define PTRACE_O_TRACEFORK 0x00000002 +#define PTRACE_O_TRACEVFORK 0x00000004 +#define PTRACE_O_TRACECLONE 0x00000008 +#define PTRACE_O_TRACEEXEC 0x00000010 +#define PTRACE_O_TRACEVFORKDONE 0x00000020 +#define PTRACE_O_TRACEEXIT 0x00000040 +#define PTRACE_O_TRACESECCOMP 0x00000080 +#define PTRACE_O_EXITKILL 0x00100000 +#define PTRACE_O_SUSPEND_SECCOMP 0x00200000 +#define PTRACE_O_MASK 0x003000ff + +#define PTRACE_EVENT_FORK 1 +#define PTRACE_EVENT_VFORK 2 +#define PTRACE_EVENT_CLONE 3 +#define PTRACE_EVENT_EXEC 4 +#define PTRACE_EVENT_VFORK_DONE 5 +#define PTRACE_EVENT_EXIT 6 +#define PTRACE_EVENT_SECCOMP 7 +#define PTRACE_EVENT_STOP 128 + +#define PTRACE_PEEKSIGINFO_SHARED 1 + +#define PTRACE_SYSCALL_INFO_NONE 0 +#define PTRACE_SYSCALL_INFO_ENTRY 1 +#define PTRACE_SYSCALL_INFO_EXIT 2 +#define PTRACE_SYSCALL_INFO_SECCOMP 3 + +#include + +struct __ptrace_peeksiginfo_args { + uint64_t off; + uint32_t flags; + int32_t nr; +}; + +struct __ptrace_seccomp_metadata { + uint64_t filter_off; + uint64_t flags; +}; + +struct __ptrace_syscall_info { + uint8_t op; + uint8_t __pad[3]; + uint32_t arch; + uint64_t instruction_pointer; + uint64_t stack_pointer; + union { + struct { + uint64_t nr; + uint64_t args[6]; + } entry; + struct { + int64_t rval; + uint8_t is_error; + } exit; + struct { + uint64_t nr; + uint64_t args[6]; + uint32_t ret_data; + } seccomp; + }; +}; + +struct __ptrace_rseq_configuration { + uint64_t rseq_abi_pointer; + uint32_t rseq_abi_size; + uint32_t signature; + uint32_t flags; + uint32_t pad; +}; + +long ptrace(int, ...); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/quota.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/quota.h new file mode 100644 index 00000000..5064294b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/quota.h @@ -0,0 +1,102 @@ +#ifndef _SYS_QUOTA_H +#define _SYS_QUOTA_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define _LINUX_QUOTA_VERSION 2 + +#define dbtob(num) ((num) << 10) +#define btodb(num) ((num) >> 10) +#define fs_to_dq_blocks(num, blksize) (((num) * (blksize)) / 1024) + +#define MAX_IQ_TIME 604800 +#define MAX_DQ_TIME 604800 + +#define MAXQUOTAS 2 +#define USRQUOTA 0 +#define GRPQUOTA 1 + +#define INITQFNAMES { "user", "group", "undefined" }; + +#define QUOTAFILENAME "quota" +#define QUOTAGROUP "staff" + +#define NR_DQHASH 43 +#define NR_DQUOTS 256 + +#define SUBCMDMASK 0x00ff +#define SUBCMDSHIFT 8 +#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK)) + +#define Q_SYNC 0x800001 +#define Q_QUOTAON 0x800002 +#define Q_QUOTAOFF 0x800003 +#define Q_GETFMT 0x800004 +#define Q_GETINFO 0x800005 +#define Q_SETINFO 0x800006 +#define Q_GETQUOTA 0x800007 +#define Q_SETQUOTA 0x800008 + +#define QFMT_VFS_OLD 1 +#define QFMT_VFS_V0 2 +#define QFMT_OCFS2 3 +#define QFMT_VFS_V1 4 + +#define QIF_BLIMITS 1 +#define QIF_SPACE 2 +#define QIF_ILIMITS 4 +#define QIF_INODES 8 +#define QIF_BTIME 16 +#define QIF_ITIME 32 +#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS) +#define QIF_USAGE (QIF_SPACE | QIF_INODES) +#define QIF_TIMES (QIF_BTIME | QIF_ITIME) +#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES) + +struct dqblk { + uint64_t dqb_bhardlimit; + uint64_t dqb_bsoftlimit; + uint64_t dqb_curspace; + uint64_t dqb_ihardlimit; + uint64_t dqb_isoftlimit; + uint64_t dqb_curinodes; + uint64_t dqb_btime; + uint64_t dqb_itime; + uint32_t dqb_valid; +}; + +#define dq_bhardlimit dq_dqb.dqb_bhardlimit +#define dq_bsoftlimit dq_dqb.dqb_bsoftlimit +#define dq_curspace dq_dqb.dqb_curspace +#define dq_valid dq_dqb.dqb_valid +#define dq_ihardlimit dq_dqb.dqb_ihardlimit +#define dq_isoftlimit dq_dqb.dqb_isoftlimit +#define dq_curinodes dq_dqb.dqb_curinodes +#define dq_btime dq_dqb.dqb_btime +#define dq_itime dq_dqb.dqb_itime + +#define dqoff(UID) ((long long)(UID) * sizeof (struct dqblk)) + +#define IIF_BGRACE 1 +#define IIF_IGRACE 2 +#define IIF_FLAGS 4 +#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS) + +struct dqinfo { + uint64_t dqi_bgrace; + uint64_t dqi_igrace; + uint32_t dqi_flags; + uint32_t dqi_valid; +}; + +int quotactl(int, const char *, int, char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/random.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/random.h new file mode 100644 index 00000000..e5ee99a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/random.h @@ -0,0 +1,20 @@ +#ifndef _SYS_RANDOM_H +#define _SYS_RANDOM_H +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_size_t +#define __NEED_ssize_t +#include + +#define GRND_NONBLOCK 0x0001 +#define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 + +ssize_t getrandom(void *, size_t, unsigned); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reboot.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reboot.h new file mode 100644 index 00000000..306d5ca0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reboot.h @@ -0,0 +1,20 @@ +#ifndef _SYS_REBOOT_H +#define _SYS_REBOOT_H +#ifdef __cplusplus +extern "C" { +#endif + +#define RB_AUTOBOOT 0x01234567 +#define RB_HALT_SYSTEM 0xcdef0123 +#define RB_ENABLE_CAD 0x89abcdef +#define RB_DISABLE_CAD 0 +#define RB_POWER_OFF 0x4321fedc +#define RB_SW_SUSPEND 0xd000fce2 +#define RB_KEXEC 0x45584543 + +int reboot(int); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reg.h new file mode 100644 index 00000000..56755a8e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/reg.h @@ -0,0 +1,9 @@ +#ifndef _SYS_REG_H +#define _SYS_REG_H + +#include +#include + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/resource.h new file mode 100644 index 00000000..cffd4db8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/resource.h @@ -0,0 +1,116 @@ +#ifndef _SYS_RESOURCE_H +#define _SYS_RESOURCE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_id_t + +#ifdef _GNU_SOURCE +#define __NEED_pid_t +#endif + +#include +#include + +typedef unsigned long long rlim_t; + +struct rlimit { + rlim_t rlim_cur; + rlim_t rlim_max; +}; + +struct rusage { + struct timeval ru_utime; + struct timeval ru_stime; + /* linux extentions, but useful */ + long ru_maxrss; + long ru_ixrss; + long ru_idrss; + long ru_isrss; + long ru_minflt; + long ru_majflt; + long ru_nswap; + long ru_inblock; + long ru_oublock; + long ru_msgsnd; + long ru_msgrcv; + long ru_nsignals; + long ru_nvcsw; + long ru_nivcsw; + /* room for more... */ + long __reserved[16]; +}; + +int getrlimit (int, struct rlimit *); +int setrlimit (int, const struct rlimit *); +int getrusage (int, struct rusage *); + +int getpriority (int, id_t); +int setpriority (int, id_t, int); + +#ifdef _GNU_SOURCE +int prlimit(pid_t, int, const struct rlimit *, struct rlimit *); +#define prlimit64 prlimit +#endif + +#define PRIO_MIN (-20) +#define PRIO_MAX 20 + +#define PRIO_PROCESS 0 +#define PRIO_PGRP 1 +#define PRIO_USER 2 + +#define RUSAGE_SELF 0 +#define RUSAGE_CHILDREN (-1) +#define RUSAGE_THREAD 1 + +#define RLIM_INFINITY (~0ULL) +#define RLIM_SAVED_CUR RLIM_INFINITY +#define RLIM_SAVED_MAX RLIM_INFINITY + +#define RLIMIT_CPU 0 +#define RLIMIT_FSIZE 1 +#define RLIMIT_DATA 2 +#define RLIMIT_STACK 3 +#define RLIMIT_CORE 4 +#ifndef RLIMIT_RSS +#define RLIMIT_RSS 5 +#define RLIMIT_NPROC 6 +#define RLIMIT_NOFILE 7 +#define RLIMIT_MEMLOCK 8 +#define RLIMIT_AS 9 +#endif +#define RLIMIT_LOCKS 10 +#define RLIMIT_SIGPENDING 11 +#define RLIMIT_MSGQUEUE 12 +#define RLIMIT_NICE 13 +#define RLIMIT_RTPRIO 14 +#define RLIMIT_RTTIME 15 +#define RLIMIT_NLIMITS 16 + +#define RLIM_NLIMITS RLIMIT_NLIMITS + +#if defined(_LARGEFILE64_SOURCE) +#define RLIM64_INFINITY RLIM_INFINITY +#define RLIM64_SAVED_CUR RLIM_SAVED_CUR +#define RLIM64_SAVED_MAX RLIM_SAVED_MAX +#define getrlimit64 getrlimit +#define setrlimit64 setrlimit +#define rlimit64 rlimit +#define rlim64_t rlim_t +#endif + +#if _REDIR_TIME64 +__REDIR(getrusage, __getrusage_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/select.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/select.h new file mode 100644 index 00000000..8ebe0c8b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/select.h @@ -0,0 +1,46 @@ +#ifndef _SYS_SELECT_H +#define _SYS_SELECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_time_t +#define __NEED_suseconds_t +#define __NEED_struct_timeval +#define __NEED_struct_timespec +#define __NEED_sigset_t + +#include + +#define FD_SETSIZE 1024 + +typedef unsigned long fd_mask; + +typedef struct { + unsigned long fds_bits[FD_SETSIZE / 8 / sizeof(long)]; +} fd_set; + +#define FD_ZERO(s) do { int __i; unsigned long *__b=(s)->fds_bits; for(__i=sizeof (fd_set)/sizeof (long); __i; __i--) *__b++=0; } while(0) +#define FD_SET(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] |= (1UL<<((d)%(8*sizeof(long))))) +#define FD_CLR(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long))))) +#define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long))))) + +int select (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, struct timeval *__restrict); +int pselect (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define NFDBITS (8*(int)sizeof(long)) +#endif + +#if _REDIR_TIME64 +__REDIR(select, __select_time64); +__REDIR(pselect, __pselect_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sem.h new file mode 100644 index 00000000..41362fab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sem.h @@ -0,0 +1,72 @@ +#ifndef _SYS_SEM_H +#define _SYS_SEM_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_pid_t +#define __NEED_time_t +#ifdef _GNU_SOURCE +#define __NEED_struct_timespec +#endif +#include + +#include + +#define SEM_UNDO 0x1000 +#define GETPID 11 +#define GETVAL 12 +#define GETALL 13 +#define GETNCNT 14 +#define GETZCNT 15 +#define SETVAL 16 +#define SETALL 17 + +#include + +#define _SEM_SEMUN_UNDEFINED 1 + +#define SEM_STAT (18 | (IPC_STAT & 0x100)) +#define SEM_INFO 19 +#define SEM_STAT_ANY (20 | (IPC_STAT & 0x100)) + +struct seminfo { + int semmap; + int semmni; + int semmns; + int semmnu; + int semmsl; + int semopm; + int semume; + int semusz; + int semvmx; + int semaem; +}; + +struct sembuf { + unsigned short sem_num; + short sem_op; + short sem_flg; +}; + +int semctl(int, int, int, ...); +int semget(key_t, int, int); +int semop(int, struct sembuf *, size_t); + +#ifdef _GNU_SOURCE +int semtimedop(int, struct sembuf *, size_t, const struct timespec *); +#endif + +#if _REDIR_TIME64 +#ifdef _GNU_SOURCE +__REDIR(semtimedop, __semtimedop_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sendfile.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sendfile.h new file mode 100644 index 00000000..ed9c39e0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sendfile.h @@ -0,0 +1,22 @@ +#ifndef _SYS_SENDFILE_H +#define _SYS_SENDFILE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +ssize_t sendfile(int, int, off_t *, size_t); + +#if defined(_LARGEFILE64_SOURCE) +#define sendfile64 sendfile +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/shm.h new file mode 100644 index 00000000..e0bcf255 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/shm.h @@ -0,0 +1,70 @@ +#ifndef _SYS_SHM_H +#define _SYS_SHM_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_time_t +#define __NEED_size_t +#define __NEED_pid_t + +#include + +#include + +#ifdef _GNU_SOURCE +#define __used_ids used_ids +#define __swap_attempts swap_attempts +#define __swap_successes swap_successes +#endif + +#include + +#define SHM_R 0400 +#define SHM_W 0200 + +#define SHM_RDONLY 010000 +#define SHM_RND 020000 +#define SHM_REMAP 040000 +#define SHM_EXEC 0100000 + +#define SHM_LOCK 11 +#define SHM_UNLOCK 12 +#define SHM_STAT (13 | (IPC_STAT & 0x100)) +#define SHM_INFO 14 +#define SHM_STAT_ANY (15 | (IPC_STAT & 0x100)) +#define SHM_DEST 01000 +#define SHM_LOCKED 02000 +#define SHM_HUGETLB 04000 +#define SHM_NORESERVE 010000 + +#define SHM_HUGE_SHIFT 26 +#define SHM_HUGE_MASK 0x3f +#define SHM_HUGE_64KB (16 << 26) +#define SHM_HUGE_512KB (19 << 26) +#define SHM_HUGE_1MB (20 << 26) +#define SHM_HUGE_2MB (21 << 26) +#define SHM_HUGE_8MB (23 << 26) +#define SHM_HUGE_16MB (24 << 26) +#define SHM_HUGE_32MB (25 << 26) +#define SHM_HUGE_256MB (28 << 26) +#define SHM_HUGE_512MB (29 << 26) +#define SHM_HUGE_1GB (30 << 26) +#define SHM_HUGE_2GB (31 << 26) +#define SHM_HUGE_16GB (34U << 26) + +typedef unsigned long shmatt_t; + +void *shmat(int, const void *, int); +int shmctl(int, int, struct shmid_ds *); +int shmdt(const void *); +int shmget(key_t, size_t, int); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signal.h new file mode 100644 index 00000000..46df261d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signal.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signalfd.h new file mode 100644 index 00000000..4bab32ed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/signalfd.h @@ -0,0 +1,49 @@ +#ifndef _SYS_SIGNALFD_H +#define _SYS_SIGNALFD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_sigset_t + +#include + +#define SFD_CLOEXEC O_CLOEXEC +#define SFD_NONBLOCK O_NONBLOCK + +int signalfd(int, const sigset_t *, int); + +struct signalfd_siginfo { + uint32_t ssi_signo; + int32_t ssi_errno; + int32_t ssi_code; + uint32_t ssi_pid; + uint32_t ssi_uid; + int32_t ssi_fd; + uint32_t ssi_tid; + uint32_t ssi_band; + uint32_t ssi_overrun; + uint32_t ssi_trapno; + int32_t ssi_status; + int32_t ssi_int; + uint64_t ssi_ptr; + uint64_t ssi_utime; + uint64_t ssi_stime; + uint64_t ssi_addr; + uint16_t ssi_addr_lsb; + uint16_t __pad2; + int32_t ssi_syscall; + uint64_t ssi_call_addr; + uint32_t ssi_arch; + uint8_t __pad[128-14*4-5*8-2*2]; +}; + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/socket.h new file mode 100644 index 00000000..8308d578 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/socket.h @@ -0,0 +1,415 @@ +#ifndef _SYS_SOCKET_H +#define _SYS_SOCKET_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_socklen_t +#define __NEED_sa_family_t +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_uid_t +#define __NEED_pid_t +#define __NEED_gid_t +#define __NEED_struct_iovec + +#include + +#include + +struct msghdr { + void *msg_name; + socklen_t msg_namelen; + struct iovec *msg_iov; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad1; +#endif + int msg_iovlen; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad1; +#endif + void *msg_control; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad2; +#endif + socklen_t msg_controllen; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad2; +#endif + int msg_flags; +}; + +struct cmsghdr { +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad1; +#endif + socklen_t cmsg_len; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad1; +#endif + int cmsg_level; + int cmsg_type; +}; + +#ifdef _GNU_SOURCE +struct ucred { + pid_t pid; + uid_t uid; + gid_t gid; +}; + +struct mmsghdr { + struct msghdr msg_hdr; + unsigned int msg_len; +}; + +struct timespec; + +int sendmmsg (int, struct mmsghdr *, unsigned int, unsigned int); +int recvmmsg (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *); +#endif + +struct linger { + int l_onoff; + int l_linger; +}; + +#define SHUT_RD 0 +#define SHUT_WR 1 +#define SHUT_RDWR 2 + +#ifndef SOCK_STREAM +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#endif + +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 +#define SOCK_DCCP 6 +#define SOCK_PACKET 10 + +#ifndef SOCK_CLOEXEC +#define SOCK_CLOEXEC 02000000 +#define SOCK_NONBLOCK 04000 +#endif + +#define PF_UNSPEC 0 +#define PF_LOCAL 1 +#define PF_UNIX PF_LOCAL +#define PF_FILE PF_LOCAL +#define PF_INET 2 +#define PF_AX25 3 +#define PF_IPX 4 +#define PF_APPLETALK 5 +#define PF_NETROM 6 +#define PF_BRIDGE 7 +#define PF_ATMPVC 8 +#define PF_X25 9 +#define PF_INET6 10 +#define PF_ROSE 11 +#define PF_DECnet 12 +#define PF_NETBEUI 13 +#define PF_SECURITY 14 +#define PF_KEY 15 +#define PF_NETLINK 16 +#define PF_ROUTE PF_NETLINK +#define PF_PACKET 17 +#define PF_ASH 18 +#define PF_ECONET 19 +#define PF_ATMSVC 20 +#define PF_RDS 21 +#define PF_SNA 22 +#define PF_IRDA 23 +#define PF_PPPOX 24 +#define PF_WANPIPE 25 +#define PF_LLC 26 +#define PF_IB 27 +#define PF_MPLS 28 +#define PF_CAN 29 +#define PF_TIPC 30 +#define PF_BLUETOOTH 31 +#define PF_IUCV 32 +#define PF_RXRPC 33 +#define PF_ISDN 34 +#define PF_PHONET 35 +#define PF_IEEE802154 36 +#define PF_CAIF 37 +#define PF_ALG 38 +#define PF_NFC 39 +#define PF_VSOCK 40 +#define PF_KCM 41 +#define PF_QIPCRTR 42 +#define PF_SMC 43 +#define PF_XDP 44 +#define PF_MAX 45 + +#define AF_UNSPEC PF_UNSPEC +#define AF_LOCAL PF_LOCAL +#define AF_UNIX AF_LOCAL +#define AF_FILE AF_LOCAL +#define AF_INET PF_INET +#define AF_AX25 PF_AX25 +#define AF_IPX PF_IPX +#define AF_APPLETALK PF_APPLETALK +#define AF_NETROM PF_NETROM +#define AF_BRIDGE PF_BRIDGE +#define AF_ATMPVC PF_ATMPVC +#define AF_X25 PF_X25 +#define AF_INET6 PF_INET6 +#define AF_ROSE PF_ROSE +#define AF_DECnet PF_DECnet +#define AF_NETBEUI PF_NETBEUI +#define AF_SECURITY PF_SECURITY +#define AF_KEY PF_KEY +#define AF_NETLINK PF_NETLINK +#define AF_ROUTE PF_ROUTE +#define AF_PACKET PF_PACKET +#define AF_ASH PF_ASH +#define AF_ECONET PF_ECONET +#define AF_ATMSVC PF_ATMSVC +#define AF_RDS PF_RDS +#define AF_SNA PF_SNA +#define AF_IRDA PF_IRDA +#define AF_PPPOX PF_PPPOX +#define AF_WANPIPE PF_WANPIPE +#define AF_LLC PF_LLC +#define AF_IB PF_IB +#define AF_MPLS PF_MPLS +#define AF_CAN PF_CAN +#define AF_TIPC PF_TIPC +#define AF_BLUETOOTH PF_BLUETOOTH +#define AF_IUCV PF_IUCV +#define AF_RXRPC PF_RXRPC +#define AF_ISDN PF_ISDN +#define AF_PHONET PF_PHONET +#define AF_IEEE802154 PF_IEEE802154 +#define AF_CAIF PF_CAIF +#define AF_ALG PF_ALG +#define AF_NFC PF_NFC +#define AF_VSOCK PF_VSOCK +#define AF_KCM PF_KCM +#define AF_QIPCRTR PF_QIPCRTR +#define AF_SMC PF_SMC +#define AF_XDP PF_XDP +#define AF_MAX PF_MAX + +#ifndef SO_DEBUG +#define SO_DEBUG 1 +#define SO_REUSEADDR 2 +#define SO_TYPE 3 +#define SO_ERROR 4 +#define SO_DONTROUTE 5 +#define SO_BROADCAST 6 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_KEEPALIVE 9 +#define SO_OOBINLINE 10 +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_LINGER 13 +#define SO_BSDCOMPAT 14 +#define SO_REUSEPORT 15 +#define SO_PASSCRED 16 +#define SO_PEERCRED 17 +#define SO_RCVLOWAT 18 +#define SO_SNDLOWAT 19 +#define SO_ACCEPTCONN 30 +#define SO_PEERSEC 31 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 +#endif + +#ifndef SO_RCVTIMEO +#if __LONG_MAX == 0x7fffffff +#define SO_RCVTIMEO 66 +#define SO_SNDTIMEO 67 +#else +#define SO_RCVTIMEO 20 +#define SO_SNDTIMEO 21 +#endif +#endif + +#ifndef SO_TIMESTAMP +#if __LONG_MAX == 0x7fffffff +#define SO_TIMESTAMP 63 +#define SO_TIMESTAMPNS 64 +#define SO_TIMESTAMPING 65 +#else +#define SO_TIMESTAMP 29 +#define SO_TIMESTAMPNS 35 +#define SO_TIMESTAMPING 37 +#endif +#endif + +#define SO_SECURITY_AUTHENTICATION 22 +#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#define SO_SECURITY_ENCRYPTION_NETWORK 24 + +#define SO_BINDTODEVICE 25 + +#define SO_ATTACH_FILTER 26 +#define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER + +#define SO_PEERNAME 28 +#define SCM_TIMESTAMP SO_TIMESTAMP +#define SO_PASSSEC 34 +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SO_MARK 36 +#define SCM_TIMESTAMPING SO_TIMESTAMPING +#define SO_RXQ_OVFL 40 +#define SO_WIFI_STATUS 41 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 42 +#define SO_NOFCS 43 +#define SO_LOCK_FILTER 44 +#define SO_SELECT_ERR_QUEUE 45 +#define SO_BUSY_POLL 46 +#define SO_MAX_PACING_RATE 47 +#define SO_BPF_EXTENSIONS 48 +#define SO_INCOMING_CPU 49 +#define SO_ATTACH_BPF 50 +#define SO_DETACH_BPF SO_DETACH_FILTER +#define SO_ATTACH_REUSEPORT_CBPF 51 +#define SO_ATTACH_REUSEPORT_EBPF 52 +#define SO_CNX_ADVICE 53 +#define SCM_TIMESTAMPING_OPT_STATS 54 +#define SO_MEMINFO 55 +#define SO_INCOMING_NAPI_ID 56 +#define SO_COOKIE 57 +#define SCM_TIMESTAMPING_PKTINFO 58 +#define SO_PEERGROUPS 59 +#define SO_ZEROCOPY 60 +#define SO_TXTIME 61 +#define SCM_TXTIME SO_TXTIME +#define SO_BINDTOIFINDEX 62 +#define SO_DETACH_REUSEPORT_BPF 68 +#define SO_PREFER_BUSY_POLL 69 +#define SO_BUSY_POLL_BUDGET 70 + +#ifndef SOL_SOCKET +#define SOL_SOCKET 1 +#endif + +#define SOL_IP 0 +#define SOL_IPV6 41 +#define SOL_ICMPV6 58 + +#define SOL_RAW 255 +#define SOL_DECNET 261 +#define SOL_X25 262 +#define SOL_PACKET 263 +#define SOL_ATM 264 +#define SOL_AAL 265 +#define SOL_IRDA 266 +#define SOL_NETBEUI 267 +#define SOL_LLC 268 +#define SOL_DCCP 269 +#define SOL_NETLINK 270 +#define SOL_TIPC 271 +#define SOL_RXRPC 272 +#define SOL_PPPOL2TP 273 +#define SOL_BLUETOOTH 274 +#define SOL_PNPIPE 275 +#define SOL_RDS 276 +#define SOL_IUCV 277 +#define SOL_CAIF 278 +#define SOL_ALG 279 +#define SOL_NFC 280 +#define SOL_KCM 281 +#define SOL_TLS 282 +#define SOL_XDP 283 + +#define SOMAXCONN 128 + +#define MSG_OOB 0x0001 +#define MSG_PEEK 0x0002 +#define MSG_DONTROUTE 0x0004 +#define MSG_CTRUNC 0x0008 +#define MSG_PROXY 0x0010 +#define MSG_TRUNC 0x0020 +#define MSG_DONTWAIT 0x0040 +#define MSG_EOR 0x0080 +#define MSG_WAITALL 0x0100 +#define MSG_FIN 0x0200 +#define MSG_SYN 0x0400 +#define MSG_CONFIRM 0x0800 +#define MSG_RST 0x1000 +#define MSG_ERRQUEUE 0x2000 +#define MSG_NOSIGNAL 0x4000 +#define MSG_MORE 0x8000 +#define MSG_WAITFORONE 0x10000 +#define MSG_BATCH 0x40000 +#define MSG_ZEROCOPY 0x4000000 +#define MSG_FASTOPEN 0x20000000 +#define MSG_CMSG_CLOEXEC 0x40000000 + +#define __CMSG_LEN(cmsg) (((cmsg)->cmsg_len + sizeof(long) - 1) & ~(long)(sizeof(long) - 1)) +#define __CMSG_NEXT(cmsg) ((unsigned char *)(cmsg) + __CMSG_LEN(cmsg)) +#define __MHDR_END(mhdr) ((unsigned char *)(mhdr)->msg_control + (mhdr)->msg_controllen) + +#define CMSG_DATA(cmsg) ((unsigned char *) (((struct cmsghdr *)(cmsg)) + 1)) +#define CMSG_NXTHDR(mhdr, cmsg) ((cmsg)->cmsg_len < sizeof (struct cmsghdr) || \ + __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ + ? 0 : (struct cmsghdr *)__CMSG_NEXT(cmsg)) +#define CMSG_FIRSTHDR(mhdr) ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) + +#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) +#define CMSG_SPACE(len) (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr))) +#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) + +#define SCM_RIGHTS 0x01 +#define SCM_CREDENTIALS 0x02 + +struct sockaddr { + sa_family_t sa_family; + char sa_data[14]; +}; + +struct sockaddr_storage { + sa_family_t ss_family; + char __ss_padding[128-sizeof(long)-sizeof(sa_family_t)]; + unsigned long __ss_align; +}; + +int socket (int, int, int); +int socketpair (int, int, int, int [2]); + +int shutdown (int, int); + +int bind (int, const struct sockaddr *, socklen_t); +int connect (int, const struct sockaddr *, socklen_t); +int listen (int, int); +int accept (int, struct sockaddr *__restrict, socklen_t *__restrict); +int accept4(int, struct sockaddr *__restrict, socklen_t *__restrict, int); + +int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict); +int getpeername (int, struct sockaddr *__restrict, socklen_t *__restrict); + +ssize_t send (int, const void *, size_t, int); +ssize_t recv (int, void *, size_t, int); +ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t); +ssize_t recvfrom (int, void *__restrict, size_t, int, struct sockaddr *__restrict, socklen_t *__restrict); +ssize_t sendmsg (int, const struct msghdr *, int); +ssize_t recvmsg (int, struct msghdr *, int); + +int getsockopt (int, int, int, void *__restrict, socklen_t *__restrict); +int setsockopt (int, int, int, const void *, socklen_t); + +int sockatmark (int); + +#if _REDIR_TIME64 +#ifdef _GNU_SOURCE +__REDIR(recvmmsg, __recvmmsg_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/soundcard.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/soundcard.h new file mode 100644 index 00000000..d92f0e25 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/soundcard.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stat.h new file mode 100644 index 00000000..b2c7045a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stat.h @@ -0,0 +1,180 @@ +#ifndef _SYS_STAT_H +#define _SYS_STAT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_dev_t +#define __NEED_ino_t +#define __NEED_mode_t +#define __NEED_nlink_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_off_t +#define __NEED_time_t +#define __NEED_blksize_t +#define __NEED_blkcnt_t +#define __NEED_struct_timespec + +#ifdef _GNU_SOURCE +#define __NEED_int64_t +#define __NEED_uint64_t +#define __NEED_uint32_t +#define __NEED_uint16_t +#endif + +#include + +#include + +#define st_atime st_atim.tv_sec +#define st_mtime st_mtim.tv_sec +#define st_ctime st_ctim.tv_sec + +#define S_IFMT 0170000 + +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFBLK 0060000 +#define S_IFREG 0100000 +#define S_IFIFO 0010000 +#define S_IFLNK 0120000 +#define S_IFSOCK 0140000 + +#define S_TYPEISMQ(buf) 0 +#define S_TYPEISSEM(buf) 0 +#define S_TYPEISSHM(buf) 0 +#define S_TYPEISTMO(buf) 0 + +#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) +#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) +#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO) +#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) +#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) + +#ifndef S_IRUSR +#define S_ISUID 04000 +#define S_ISGID 02000 +#define S_ISVTX 01000 +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#define S_IRWXU 0700 +#define S_IRGRP 0040 +#define S_IWGRP 0020 +#define S_IXGRP 0010 +#define S_IRWXG 0070 +#define S_IROTH 0004 +#define S_IWOTH 0002 +#define S_IXOTH 0001 +#define S_IRWXO 0007 +#endif + +#define UTIME_NOW 0x3fffffff +#define UTIME_OMIT 0x3ffffffe + +int stat(const char *__restrict, struct stat *__restrict); +int fstat(int, struct stat *); +int lstat(const char *__restrict, struct stat *__restrict); +int fstatat(int, const char *__restrict, struct stat *__restrict, int); +int chmod(const char *, mode_t); +int fchmod(int, mode_t); +int fchmodat(int, const char *, mode_t, int); +mode_t umask(mode_t); +int mkdir(const char *, mode_t); +int mkfifo(const char *, mode_t); +int mkdirat(int, const char *, mode_t); +int mkfifoat(int, const char *, mode_t); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int mknod(const char *, mode_t, dev_t); +int mknodat(int, const char *, mode_t, dev_t); +#endif + +int futimens(int, const struct timespec [2]); +int utimensat(int, const char *, const struct timespec [2], int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int lchmod(const char *, mode_t); +#define S_IREAD S_IRUSR +#define S_IWRITE S_IWUSR +#define S_IEXEC S_IXUSR +#endif + +#if defined(_GNU_SOURCE) +#define STATX_TYPE 1U +#define STATX_MODE 2U +#define STATX_NLINK 4U +#define STATX_UID 8U +#define STATX_GID 0x10U +#define STATX_ATIME 0x20U +#define STATX_MTIME 0x40U +#define STATX_CTIME 0x80U +#define STATX_INO 0x100U +#define STATX_SIZE 0x200U +#define STATX_BLOCKS 0x400U +#define STATX_BASIC_STATS 0x7ffU +#define STATX_BTIME 0x800U +#define STATX_ALL 0xfffU + +struct statx_timestamp { + int64_t tv_sec; + uint32_t tv_nsec, __pad; +}; + +struct statx { + uint32_t stx_mask; + uint32_t stx_blksize; + uint64_t stx_attributes; + uint32_t stx_nlink; + uint32_t stx_uid; + uint32_t stx_gid; + uint16_t stx_mode; + uint16_t __pad0[1]; + uint64_t stx_ino; + uint64_t stx_size; + uint64_t stx_blocks; + uint64_t stx_attributes_mask; + struct statx_timestamp stx_atime; + struct statx_timestamp stx_btime; + struct statx_timestamp stx_ctime; + struct statx_timestamp stx_mtime; + uint32_t stx_rdev_major; + uint32_t stx_rdev_minor; + uint32_t stx_dev_major; + uint32_t stx_dev_minor; + uint64_t __pad1[14]; +}; + +int statx(int, const char *__restrict, int, unsigned, struct statx *__restrict); +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define stat64 stat +#define fstat64 fstat +#define lstat64 lstat +#define fstatat64 fstatat +#define blkcnt64_t blkcnt_t +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#define ino64_t ino_t +#define off64_t off_t +#endif + +#if _REDIR_TIME64 +__REDIR(stat, __stat_time64); +__REDIR(fstat, __fstat_time64); +__REDIR(lstat, __lstat_time64); +__REDIR(fstatat, __fstatat_time64); +__REDIR(futimens, __futimens_time64); +__REDIR(utimensat, __utimensat_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statfs.h new file mode 100644 index 00000000..ae92a3d1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statfs.h @@ -0,0 +1,32 @@ +#ifndef _SYS_STATFS_H +#define _SYS_STATFS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +typedef struct __fsid_t { + int __val[2]; +} fsid_t; + +#include + +int statfs (const char *, struct statfs *); +int fstatfs (int, struct statfs *); + +#if defined(_LARGEFILE64_SOURCE) +#define statfs64 statfs +#define fstatfs64 fstatfs +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statvfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statvfs.h new file mode 100644 index 00000000..393fcce6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/statvfs.h @@ -0,0 +1,57 @@ +#ifndef _SYS_STATVFS_H +#define _SYS_STATVFS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_fsblkcnt_t +#define __NEED_fsfilcnt_t +#include + +struct statvfs { + unsigned long f_bsize, f_frsize; + fsblkcnt_t f_blocks, f_bfree, f_bavail; + fsfilcnt_t f_files, f_ffree, f_favail; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned long f_fsid; + unsigned :8*(2*sizeof(int)-sizeof(long)); +#else + unsigned :8*(2*sizeof(int)-sizeof(long)); + unsigned long f_fsid; +#endif + unsigned long f_flag, f_namemax; + unsigned int f_type; + int __reserved[5]; +}; + +int statvfs (const char *__restrict, struct statvfs *__restrict); +int fstatvfs (int, struct statvfs *); + +#define ST_RDONLY 1 +#define ST_NOSUID 2 +#define ST_NODEV 4 +#define ST_NOEXEC 8 +#define ST_SYNCHRONOUS 16 +#define ST_MANDLOCK 64 +#define ST_WRITE 128 +#define ST_APPEND 256 +#define ST_IMMUTABLE 512 +#define ST_NOATIME 1024 +#define ST_NODIRATIME 2048 +#define ST_RELATIME 4096 + +#if defined(_LARGEFILE64_SOURCE) +#define statvfs64 statvfs +#define fstatvfs64 fstatvfs +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stropts.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stropts.h new file mode 100644 index 00000000..27152138 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/stropts.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/swap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/swap.h new file mode 100644 index 00000000..e76d072a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/swap.h @@ -0,0 +1,21 @@ +#ifndef _SYS_SWAP_H +#define _SYS_SWAP_H + +#ifdef __cplusplus +extern "C" { +#endif + + +#define SWAP_FLAG_PREFER 0x8000 +#define SWAP_FLAG_PRIO_MASK 0x7fff +#define SWAP_FLAG_PRIO_SHIFT 0 +#define SWAP_FLAG_DISCARD 0x10000 + +int swapon (const char *, int); +int swapoff (const char *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syscall.h new file mode 100644 index 00000000..280614bc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syscall.h @@ -0,0 +1,6 @@ +#ifndef _SYS_SYSCALL_H +#define _SYS_SYSCALL_H + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysinfo.h new file mode 100644 index 00000000..53387177 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysinfo.h @@ -0,0 +1,36 @@ +#ifndef _SYS_SYSINFO_H +#define _SYS_SYSINFO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define SI_LOAD_SHIFT 16 + +struct sysinfo { + unsigned long uptime; + unsigned long loads[3]; + unsigned long totalram; + unsigned long freeram; + unsigned long sharedram; + unsigned long bufferram; + unsigned long totalswap; + unsigned long freeswap; + unsigned short procs, pad; + unsigned long totalhigh; + unsigned long freehigh; + unsigned mem_unit; + char __reserved[256]; +}; + +int sysinfo (struct sysinfo *); +int get_nprocs_conf (void); +int get_nprocs (void); +long get_phys_pages (void); +long get_avphys_pages (void); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syslog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syslog.h new file mode 100644 index 00000000..b564b431 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/syslog.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysmacros.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysmacros.h new file mode 100644 index 00000000..d52ec18b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/sysmacros.h @@ -0,0 +1,15 @@ +#ifndef _SYS_SYSMACROS_H +#define _SYS_SYSMACROS_H + +#define major(x) \ + ((unsigned)( (((x)>>31>>1) & 0xfffff000) | (((x)>>8) & 0x00000fff) )) +#define minor(x) \ + ((unsigned)( (((x)>>12) & 0xffffff00) | ((x) & 0x000000ff) )) + +#define makedev(x,y) ( \ + (((x)&0xfffff000ULL) << 32) | \ + (((x)&0x00000fffULL) << 8) | \ + (((y)&0xffffff00ULL) << 12) | \ + (((y)&0x000000ffULL)) ) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/termios.h new file mode 100644 index 00000000..f56665a0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/termios.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/time.h new file mode 100644 index 00000000..301c098a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/time.h @@ -0,0 +1,76 @@ +#ifndef _SYS_TIME_H +#define _SYS_TIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +int gettimeofday (struct timeval *__restrict, void *__restrict); + +#define ITIMER_REAL 0 +#define ITIMER_VIRTUAL 1 +#define ITIMER_PROF 2 + +struct itimerval { + struct timeval it_interval; + struct timeval it_value; +}; + +int getitimer (int, struct itimerval *); +int setitimer (int, const struct itimerval *__restrict, struct itimerval *__restrict); +int utimes (const char *, const struct timeval [2]); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; +int futimes(int, const struct timeval [2]); +int futimesat(int, const char *, const struct timeval [2]); +int lutimes(const char *, const struct timeval [2]); +int settimeofday(const struct timeval *, const struct timezone *); +int adjtime (const struct timeval *, struct timeval *); +#define timerisset(t) ((t)->tv_sec || (t)->tv_usec) +#define timerclear(t) ((t)->tv_sec = (t)->tv_usec = 0) +#define timercmp(s,t,op) ((s)->tv_sec == (t)->tv_sec ? \ + (s)->tv_usec op (t)->tv_usec : (s)->tv_sec op (t)->tv_sec) +#define timeradd(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec + (t)->tv_sec, \ + ((a)->tv_usec = (s)->tv_usec + (t)->tv_usec) >= 1000000 && \ + ((a)->tv_usec -= 1000000, (a)->tv_sec++) ) +#define timersub(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec - (t)->tv_sec, \ + ((a)->tv_usec = (s)->tv_usec - (t)->tv_usec) < 0 && \ + ((a)->tv_usec += 1000000, (a)->tv_sec--) ) +#endif + +#if defined(_GNU_SOURCE) +#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \ + (ts)->tv_sec = (tv)->tv_sec, \ + (ts)->tv_nsec = (tv)->tv_usec * 1000, \ + (void)0 ) +#define TIMESPEC_TO_TIMEVAL(tv, ts) ( \ + (tv)->tv_sec = (ts)->tv_sec, \ + (tv)->tv_usec = (ts)->tv_nsec / 1000, \ + (void)0 ) +#endif + +#if _REDIR_TIME64 +__REDIR(gettimeofday, __gettimeofday_time64); +__REDIR(getitimer, __getitimer_time64); +__REDIR(setitimer, __setitimer_time64); +__REDIR(utimes, __utimes_time64); +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(futimes, __futimes_time64); +__REDIR(futimesat, __futimesat_time64); +__REDIR(lutimes, __lutimes_time64); +__REDIR(settimeofday, __settimeofday_time64); +__REDIR(adjtime, __adjtime64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timeb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timeb.h new file mode 100644 index 00000000..6da1226b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timeb.h @@ -0,0 +1,28 @@ +#ifndef _SYS_TIMEB_H +#define _SYS_TIMEB_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_time_t + +#include + +struct timeb { + time_t time; + unsigned short millitm; + short timezone, dstflag; +}; + +int ftime(struct timeb *); + +#if _REDIR_TIME64 +__REDIR(ftime, __ftime64); +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timerfd.h new file mode 100644 index 00000000..ff158861 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timerfd.h @@ -0,0 +1,32 @@ +#ifndef _SYS_TIMERFD_H +#define _SYS_TIMERFD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define TFD_NONBLOCK O_NONBLOCK +#define TFD_CLOEXEC O_CLOEXEC + +#define TFD_TIMER_ABSTIME 1 +#define TFD_TIMER_CANCEL_ON_SET (1 << 1) + +struct itimerspec; + +int timerfd_create(int, int); +int timerfd_settime(int, int, const struct itimerspec *, struct itimerspec *); +int timerfd_gettime(int, struct itimerspec *); + +#if _REDIR_TIME64 +__REDIR(timerfd_settime, __timerfd_settime64); +__REDIR(timerfd_gettime, __timerfd_gettime64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/times.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/times.h new file mode 100644 index 00000000..9b30acf4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/times.h @@ -0,0 +1,24 @@ +#ifndef _SYS_TIMES_H +#define _SYS_TIMES_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_clock_t +#include + +struct tms { + clock_t tms_utime; + clock_t tms_stime; + clock_t tms_cutime; + clock_t tms_cstime; +}; + +clock_t times (struct tms *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timex.h new file mode 100644 index 00000000..cab33a95 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/timex.h @@ -0,0 +1,103 @@ +#ifndef _SYS_TIMEX_H +#define _SYS_TIMEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_clockid_t + +#include + +#include + +struct ntptimeval { + struct timeval time; + long maxerror, esterror; +}; + +struct timex { + unsigned modes; + long offset, freq, maxerror, esterror; + int status; + long constant, precision, tolerance; + struct timeval time; + long tick, ppsfreq, jitter; + int shift; + long stabil, jitcnt, calcnt, errcnt, stbcnt; + int tai; + int __padding[11]; +}; + +#define ADJ_OFFSET 0x0001 +#define ADJ_FREQUENCY 0x0002 +#define ADJ_MAXERROR 0x0004 +#define ADJ_ESTERROR 0x0008 +#define ADJ_STATUS 0x0010 +#define ADJ_TIMECONST 0x0020 +#define ADJ_TAI 0x0080 +#define ADJ_SETOFFSET 0x0100 +#define ADJ_MICRO 0x1000 +#define ADJ_NANO 0x2000 +#define ADJ_TICK 0x4000 +#define ADJ_OFFSET_SINGLESHOT 0x8001 +#define ADJ_OFFSET_SS_READ 0xa001 + +#define MOD_OFFSET ADJ_OFFSET +#define MOD_FREQUENCY ADJ_FREQUENCY +#define MOD_MAXERROR ADJ_MAXERROR +#define MOD_ESTERROR ADJ_ESTERROR +#define MOD_STATUS ADJ_STATUS +#define MOD_TIMECONST ADJ_TIMECONST +#define MOD_CLKB ADJ_TICK +#define MOD_CLKA ADJ_OFFSET_SINGLESHOT +#define MOD_TAI ADJ_TAI +#define MOD_MICRO ADJ_MICRO +#define MOD_NANO ADJ_NANO + +#define STA_PLL 0x0001 +#define STA_PPSFREQ 0x0002 +#define STA_PPSTIME 0x0004 +#define STA_FLL 0x0008 + +#define STA_INS 0x0010 +#define STA_DEL 0x0020 +#define STA_UNSYNC 0x0040 +#define STA_FREQHOLD 0x0080 + +#define STA_PPSSIGNAL 0x0100 +#define STA_PPSJITTER 0x0200 +#define STA_PPSWANDER 0x0400 +#define STA_PPSERROR 0x0800 + +#define STA_CLOCKERR 0x1000 +#define STA_NANO 0x2000 +#define STA_MODE 0x4000 +#define STA_CLK 0x8000 + +#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \ + STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK) + +#define TIME_OK 0 +#define TIME_INS 1 +#define TIME_DEL 2 +#define TIME_OOP 3 +#define TIME_WAIT 4 +#define TIME_ERROR 5 +#define TIME_BAD TIME_ERROR + +#define MAXTC 6 + +int adjtimex(struct timex *); +int clock_adjtime(clockid_t, struct timex *); + +#if _REDIR_TIME64 +__REDIR(adjtimex, __adjtimex_time64); +__REDIR(clock_adjtime, __clock_adjtime64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ttydefaults.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ttydefaults.h new file mode 100644 index 00000000..602a4af7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ttydefaults.h @@ -0,0 +1,34 @@ +#ifndef _SYS_TTYDEFAULTS_H +#define _SYS_TTYDEFAULTS_H + +#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) +#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) +#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) +#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) +#define TTYDEF_SPEED (B9600) +#define CTRL(x) ((x)&037) +#define CEOF CTRL('d') + +#define CEOL '\0' +#define CSTATUS '\0' + +#define CERASE 0177 +#define CINTR CTRL('c') +#define CKILL CTRL('u') +#define CMIN 1 +#define CQUIT 034 +#define CSUSP CTRL('z') +#define CTIME 0 +#define CDSUSP CTRL('y') +#define CSTART CTRL('q') +#define CSTOP CTRL('s') +#define CLNEXT CTRL('v') +#define CDISCARD CTRL('o') +#define CWERASE CTRL('w') +#define CREPRINT CTRL('r') +#define CEOT CEOF +#define CBRK CEOL +#define CRPRNT CREPRINT +#define CFLUSH CDISCARD + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/types.h new file mode 100644 index 00000000..550786e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/types.h @@ -0,0 +1,85 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_ino_t +#define __NEED_dev_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_mode_t +#define __NEED_nlink_t +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_time_t +#define __NEED_timer_t +#define __NEED_clockid_t + +#define __NEED_blkcnt_t +#define __NEED_fsblkcnt_t +#define __NEED_fsfilcnt_t + +#define __NEED_id_t +#define __NEED_key_t +#define __NEED_clock_t +#define __NEED_suseconds_t +#define __NEED_blksize_t + +#define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_pthread_mutexattr_t +#define __NEED_pthread_condattr_t +#define __NEED_pthread_rwlockattr_t +#define __NEED_pthread_barrierattr_t +#define __NEED_pthread_mutex_t +#define __NEED_pthread_cond_t +#define __NEED_pthread_rwlock_t +#define __NEED_pthread_barrier_t +#define __NEED_pthread_spinlock_t +#define __NEED_pthread_key_t +#define __NEED_pthread_once_t +#define __NEED_useconds_t + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_int8_t +#define __NEED_int16_t +#define __NEED_int32_t +#define __NEED_int64_t +#define __NEED_u_int64_t +#define __NEED_register_t +#endif + +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned char u_int8_t; +typedef unsigned short u_int16_t; +typedef unsigned u_int32_t; +typedef char *caddr_t; +typedef unsigned char u_char; +typedef unsigned short u_short, ushort; +typedef unsigned u_int, uint; +typedef unsigned long u_long, ulong; +typedef long long quad_t; +typedef unsigned long long u_quad_t; +#include +#include +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define blkcnt64_t blkcnt_t +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#define ino64_t ino_t +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ucontext.h new file mode 100644 index 00000000..18d94cfc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/ucontext.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/uio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/uio.h new file mode 100644 index 00000000..445ab7cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/uio.h @@ -0,0 +1,55 @@ +#ifndef _SYS_UIO_H +#define _SYS_UIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_off_t +#endif + +#ifdef _GNU_SOURCE +#define __NEED_pid_t +#endif + +#include + +#define UIO_MAXIOV 1024 + +ssize_t readv (int, const struct iovec *, int); +ssize_t writev (int, const struct iovec *, int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +ssize_t preadv (int, const struct iovec *, int, off_t); +ssize_t pwritev (int, const struct iovec *, int, off_t); +#if defined(_LARGEFILE64_SOURCE) +#define preadv64 preadv +#define pwritev64 pwritev +#define off64_t off_t +#endif +#endif + +#ifdef _GNU_SOURCE +ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); +ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); +ssize_t preadv2 (int, const struct iovec *, int, off_t, int); +ssize_t pwritev2 (int, const struct iovec *, int, off_t, int); +#define RWF_HIPRI 0x00000001 +#define RWF_DSYNC 0x00000002 +#define RWF_SYNC 0x00000004 +#define RWF_NOWAIT 0x00000008 +#define RWF_APPEND 0x00000010 +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/un.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/un.h new file mode 100644 index 00000000..6de4d181 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/un.h @@ -0,0 +1,31 @@ +#ifndef _SYS_UN_H +#define _SYS_UN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_sa_family_t +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_size_t +#endif + +#include + +struct sockaddr_un { + sa_family_t sun_family; + char sun_path[108]; +}; + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +size_t strlen(const char *); +#define SUN_LEN(s) (2+strlen((s)->sun_path)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/user.h new file mode 100644 index 00000000..abbbcf3c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/user.h @@ -0,0 +1,16 @@ +#ifndef _SYS_USER_H +#define _SYS_USER_H +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#include + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/utsname.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/utsname.h new file mode 100644 index 00000000..13282215 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/utsname.h @@ -0,0 +1,29 @@ +#ifndef _SYS_UTSNAME_H +#define _SYS_UTSNAME_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +struct utsname { + char sysname[65]; + char nodename[65]; + char release[65]; + char version[65]; + char machine[65]; +#ifdef _GNU_SOURCE + char domainname[65]; +#else + char __domainname[65]; +#endif +}; + +int uname (struct utsname *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vfs.h new file mode 100644 index 00000000..31991ede --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vfs.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vt.h new file mode 100644 index 00000000..b40e59e3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/vt.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/wait.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/wait.h new file mode 100644 index 00000000..dd20daa5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/wait.h @@ -0,0 +1,67 @@ +#ifndef _SYS_WAIT_H +#define _SYS_WAIT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_pid_t +#define __NEED_id_t +#include + +typedef enum { + P_ALL = 0, + P_PID = 1, + P_PGID = 2, + P_PIDFD = 3 +} idtype_t; + +pid_t wait (int *); +pid_t waitpid (pid_t, int *, int ); + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#include +int waitid (idtype_t, id_t, siginfo_t *, int); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include +pid_t wait3 (int *, int, struct rusage *); +pid_t wait4 (pid_t, int *, int, struct rusage *); +#endif + +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WSTOPPED 2 +#define WEXITED 4 +#define WCONTINUED 8 +#define WNOWAIT 0x1000000 + +#define __WNOTHREAD 0x20000000 +#define __WALL 0x40000000 +#define __WCLONE 0x80000000 + +#define WEXITSTATUS(s) (((s) & 0xff00) >> 8) +#define WTERMSIG(s) ((s) & 0x7f) +#define WSTOPSIG(s) WEXITSTATUS(s) +#define WCOREDUMP(s) ((s) & 0x80) +#define WIFEXITED(s) (!WTERMSIG(s)) +#define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001U)>>8) > 0x7f00) +#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) +#define WIFCONTINUED(s) ((s) == 0xffff) + +#if _REDIR_TIME64 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(wait3, __wait3_time64); +__REDIR(wait4, __wait4_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/xattr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/xattr.h new file mode 100644 index 00000000..6f026aed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sys/xattr.h @@ -0,0 +1,32 @@ +#ifndef _SYS_XATTR_H +#define _SYS_XATTR_H +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_ssize_t +#define __NEED_size_t +#include + +#define XATTR_CREATE 1 +#define XATTR_REPLACE 2 + +ssize_t getxattr(const char *, const char *, void *, size_t); +ssize_t lgetxattr(const char *, const char *, void *, size_t); +ssize_t fgetxattr(int, const char *, void *, size_t); +ssize_t listxattr(const char *, char *, size_t); +ssize_t llistxattr(const char *, char *, size_t); +ssize_t flistxattr(int, char *, size_t); +int setxattr(const char *, const char *, const void *, size_t, int); +int lsetxattr(const char *, const char *, const void *, size_t, int); +int fsetxattr(int, const char *, const void *, size_t, int); +int removexattr(const char *, const char *); +int lremovexattr(const char *, const char *); +int fremovexattr(int, const char *); + +#define __UAPI_DEF_XATTR 0 + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syscall.h new file mode 100644 index 00000000..f2043aa8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syscall.h @@ -0,0 +1 @@ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sysexits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sysexits.h new file mode 100644 index 00000000..5b598e6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/sysexits.h @@ -0,0 +1,21 @@ +#ifndef _SYSEXITS_H +#define _SYSEXITS_H +#define EX_OK 0 +#define EX__BASE 64 +#define EX_USAGE 64 +#define EX_DATAERR 65 +#define EX_NOINPUT 66 +#define EX_NOUSER 67 +#define EX_NOHOST 68 +#define EX_UNAVAILABLE 69 +#define EX_SOFTWARE 70 +#define EX_OSERR 71 +#define EX_OSFILE 72 +#define EX_CANTCREAT 73 +#define EX_IOERR 74 +#define EX_TEMPFAIL 75 +#define EX_PROTOCOL 76 +#define EX_NOPERM 77 +#define EX_CONFIG 78 +#define EX__MAX 78 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syslog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syslog.h new file mode 100644 index 00000000..0f14bba1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/syslog.h @@ -0,0 +1,100 @@ +#ifndef _SYSLOG_H +#define _SYSLOG_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define LOG_EMERG 0 +#define LOG_ALERT 1 +#define LOG_CRIT 2 +#define LOG_ERR 3 +#define LOG_WARNING 4 +#define LOG_NOTICE 5 +#define LOG_INFO 6 +#define LOG_DEBUG 7 + +#define LOG_PRIMASK 7 +#define LOG_PRI(p) ((p)&LOG_PRIMASK) +#define LOG_MAKEPRI(f, p) (((f)<<3)|(p)) + +#define LOG_MASK(p) (1<<(p)) +#define LOG_UPTO(p) ((1<<((p)+1))-1) + +#define LOG_KERN (0<<3) +#define LOG_USER (1<<3) +#define LOG_MAIL (2<<3) +#define LOG_DAEMON (3<<3) +#define LOG_AUTH (4<<3) +#define LOG_SYSLOG (5<<3) +#define LOG_LPR (6<<3) +#define LOG_NEWS (7<<3) +#define LOG_UUCP (8<<3) +#define LOG_CRON (9<<3) +#define LOG_AUTHPRIV (10<<3) +#define LOG_FTP (11<<3) + +#define LOG_LOCAL0 (16<<3) +#define LOG_LOCAL1 (17<<3) +#define LOG_LOCAL2 (18<<3) +#define LOG_LOCAL3 (19<<3) +#define LOG_LOCAL4 (20<<3) +#define LOG_LOCAL5 (21<<3) +#define LOG_LOCAL6 (22<<3) +#define LOG_LOCAL7 (23<<3) + +#define LOG_NFACILITIES 24 +#define LOG_FACMASK 0x3f8 +#define LOG_FAC(p) (((p)&LOG_FACMASK)>>3) + +#define LOG_PID 0x01 +#define LOG_CONS 0x02 +#define LOG_ODELAY 0x04 +#define LOG_NDELAY 0x08 +#define LOG_NOWAIT 0x10 +#define LOG_PERROR 0x20 + +void closelog (void); +void openlog (const char *, int, int); +int setlogmask (int); +void syslog (int, const char *, ...); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define _PATH_LOG "/dev/log" +#define __NEED_va_list +#include +void vsyslog (int, const char *, va_list); +#if defined(SYSLOG_NAMES) +#define INTERNAL_NOPRI 0x10 +#define INTERNAL_MARK (LOG_NFACILITIES<<3) +typedef struct { + char *c_name; + int c_val; +} CODE; +#define prioritynames ((CODE *)(const CODE []){ \ + { "alert", LOG_ALERT }, { "crit", LOG_CRIT }, { "debug", LOG_DEBUG }, \ + { "emerg", LOG_EMERG }, { "err", LOG_ERR }, { "error", LOG_ERR }, \ + { "info", LOG_INFO }, { "none", INTERNAL_NOPRI }, \ + { "notice", LOG_NOTICE }, { "panic", LOG_EMERG }, \ + { "warn", LOG_WARNING }, { "warning", LOG_WARNING }, { 0, -1 } }) +#define facilitynames ((CODE *)(const CODE []){ \ + { "auth", LOG_AUTH }, { "authpriv", LOG_AUTHPRIV }, \ + { "cron", LOG_CRON }, { "daemon", LOG_DAEMON }, { "ftp", LOG_FTP }, \ + { "kern", LOG_KERN }, { "lpr", LOG_LPR }, { "mail", LOG_MAIL }, \ + { "mark", INTERNAL_MARK }, { "news", LOG_NEWS }, \ + { "security", LOG_AUTH }, { "syslog", LOG_SYSLOG }, \ + { "user", LOG_USER }, { "uucp", LOG_UUCP }, \ + { "local0", LOG_LOCAL0 }, { "local1", LOG_LOCAL1 }, \ + { "local2", LOG_LOCAL2 }, { "local3", LOG_LOCAL3 }, \ + { "local4", LOG_LOCAL4 }, { "local5", LOG_LOCAL5 }, \ + { "local6", LOG_LOCAL6 }, { "local7", LOG_LOCAL7 }, { 0, -1 } }) +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tar.h new file mode 100644 index 00000000..7bdb412c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tar.h @@ -0,0 +1,33 @@ +#ifndef _TAR_H +#define _TAR_H + +#define TSUID 04000 +#define TSGID 02000 +#define TSVTX 01000 +#define TUREAD 00400 +#define TUWRITE 00200 +#define TUEXEC 00100 +#define TGREAD 00040 +#define TGWRITE 00020 +#define TGEXEC 00010 +#define TOREAD 00004 +#define TOWRITE 00002 +#define TOEXEC 00001 + +#define REGTYPE '0' +#define AREGTYPE '\0' +#define LNKTYPE '1' +#define SYMTYPE '2' +#define CHRTYPE '3' +#define BLKTYPE '4' +#define DIRTYPE '5' +#define FIFOTYPE '6' +#define CONTTYPE '7' + +#define TMAGIC "ustar" +#define TMAGLEN 6 + +#define TVERSION "00" +#define TVERSLEN 2 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/termios.h new file mode 100644 index 00000000..735c7599 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/termios.h @@ -0,0 +1,50 @@ +#ifndef _TERMIOS_H +#define _TERMIOS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_pid_t +#define __NEED_struct_winsize + +#include + +typedef unsigned char cc_t; +typedef unsigned int speed_t; +typedef unsigned int tcflag_t; + +#define NCCS 32 + +#include + +speed_t cfgetospeed (const struct termios *); +speed_t cfgetispeed (const struct termios *); +int cfsetospeed (struct termios *, speed_t); +int cfsetispeed (struct termios *, speed_t); + +int tcgetattr (int, struct termios *); +int tcsetattr (int, int, const struct termios *); + +int tcgetwinsize (int, struct winsize *); +int tcsetwinsize (int, const struct winsize *); + +int tcsendbreak (int, int); +int tcdrain (int); +int tcflush (int, int); +int tcflow (int, int); + +pid_t tcgetsid (int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void cfmakeraw(struct termios *); +int cfsetspeed(struct termios *, speed_t); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tgmath.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tgmath.h new file mode 100644 index 00000000..649d6c51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/tgmath.h @@ -0,0 +1,270 @@ +#ifndef _TGMATH_H +#define _TGMATH_H + +/* +the return types are only correct with gcc (__GNUC__) +otherwise they are long double or long double complex + +the long double version of a function is never chosen when +sizeof(double) == sizeof(long double) +(but the return type is set correctly with gcc) +*/ + +#include +#include + +#define __IS_FP(x) (sizeof((x)+1ULL) == sizeof((x)+1.0f)) +#define __IS_CX(x) (__IS_FP(x) && sizeof(x) == sizeof((x)+I)) +#define __IS_REAL(x) (__IS_FP(x) && 2*sizeof(x) == sizeof((x)+I)) + +#define __FLT(x) (__IS_REAL(x) && sizeof(x) == sizeof(float)) +#define __LDBL(x) (__IS_REAL(x) && sizeof(x) == sizeof(long double) && sizeof(long double) != sizeof(double)) + +#define __FLTCX(x) (__IS_CX(x) && sizeof(x) == sizeof(float complex)) +#define __DBLCX(x) (__IS_CX(x) && sizeof(x) == sizeof(double complex)) +#define __LDBLCX(x) (__IS_CX(x) && sizeof(x) == sizeof(long double complex) && sizeof(long double) != sizeof(double)) + +/* return type */ + +#ifdef __GNUC__ +/* +the result must be casted to the right type +(otherwise the result type is determined by the conversion +rules applied to all the function return types so it is long +double or long double complex except for integral functions) + +this cannot be done in c99, so the typeof gcc extension is +used and that the type of ?: depends on wether an operand is +a null pointer constant or not +(in c11 _Generic can be used) + +the c arguments below must be integer constant expressions +so they can be in null pointer constants +(__IS_FP above was carefully chosen this way) +*/ +/* if c then t else void */ +#define __type1(c,t) __typeof__(*(0?(t*)0:(void*)!(c))) +/* if c then t1 else t2 */ +#define __type2(c,t1,t2) __typeof__(*(0?(__type1(c,t1)*)0:(__type1(!(c),t2)*)0)) +/* cast to double when x is integral, otherwise use typeof(x) */ +#define __RETCAST(x) ( \ + __type2(__IS_FP(x), __typeof__(x), double)) +/* 2 args case, should work for complex types (cpow) */ +#define __RETCAST_2(x, y) ( \ + __type2(__IS_FP(x) && __IS_FP(y), \ + __typeof__((x)+(y)), \ + __typeof__((x)+(y)+1.0))) +/* 3 args case (fma only) */ +#define __RETCAST_3(x, y, z) ( \ + __type2(__IS_FP(x) && __IS_FP(y) && __IS_FP(z), \ + __typeof__((x)+(y)+(z)), \ + __typeof__((x)+(y)+(z)+1.0))) +/* drop complex from the type of x */ +/* TODO: wrong when sizeof(long double)==sizeof(double) */ +#define __RETCAST_REAL(x) ( \ + __type2(__IS_FP(x) && sizeof((x)+I) == sizeof(float complex), float, \ + __type2(sizeof((x)+1.0+I) == sizeof(double complex), double, \ + long double))) +/* add complex to the type of x */ +#define __RETCAST_CX(x) (__typeof__(__RETCAST(x)0+I)) +#else +#define __RETCAST(x) +#define __RETCAST_2(x, y) +#define __RETCAST_3(x, y, z) +#define __RETCAST_REAL(x) +#define __RETCAST_CX(x) +#endif + +/* function selection */ + +#define __tg_real_nocast(fun, x) ( \ + __FLT(x) ? fun ## f (x) : \ + __LDBL(x) ? fun ## l (x) : \ + fun(x) ) + +#define __tg_real(fun, x) (__RETCAST(x)__tg_real_nocast(fun, x)) + +#define __tg_real_2_1(fun, x, y) (__RETCAST(x)( \ + __FLT(x) ? fun ## f (x, y) : \ + __LDBL(x) ? fun ## l (x, y) : \ + fun(x, y) )) + +#define __tg_real_2(fun, x, y) (__RETCAST_2(x, y)( \ + __FLT(x) && __FLT(y) ? fun ## f (x, y) : \ + __LDBL((x)+(y)) ? fun ## l (x, y) : \ + fun(x, y) )) + +#define __tg_complex(fun, x) (__RETCAST_CX(x)( \ + __FLTCX((x)+I) && __IS_FP(x) ? fun ## f (x) : \ + __LDBLCX((x)+I) ? fun ## l (x) : \ + fun(x) )) + +#define __tg_complex_retreal(fun, x) (__RETCAST_REAL(x)( \ + __FLTCX((x)+I) && __IS_FP(x) ? fun ## f (x) : \ + __LDBLCX((x)+I) ? fun ## l (x) : \ + fun(x) )) + +#define __tg_real_complex(fun, x) (__RETCAST(x)( \ + __FLTCX(x) ? c ## fun ## f (x) : \ + __DBLCX(x) ? c ## fun (x) : \ + __LDBLCX(x) ? c ## fun ## l (x) : \ + __FLT(x) ? fun ## f (x) : \ + __LDBL(x) ? fun ## l (x) : \ + fun(x) )) + +/* special cases */ + +#define __tg_real_remquo(x, y, z) (__RETCAST_2(x, y)( \ + __FLT(x) && __FLT(y) ? remquof(x, y, z) : \ + __LDBL((x)+(y)) ? remquol(x, y, z) : \ + remquo(x, y, z) )) + +#define __tg_real_fma(x, y, z) (__RETCAST_3(x, y, z)( \ + __FLT(x) && __FLT(y) && __FLT(z) ? fmaf(x, y, z) : \ + __LDBL((x)+(y)+(z)) ? fmal(x, y, z) : \ + fma(x, y, z) )) + +#define __tg_real_complex_pow(x, y) (__RETCAST_2(x, y)( \ + __FLTCX((x)+(y)) && __IS_FP(x) && __IS_FP(y) ? cpowf(x, y) : \ + __FLTCX((x)+(y)) ? cpow(x, y) : \ + __DBLCX((x)+(y)) ? cpow(x, y) : \ + __LDBLCX((x)+(y)) ? cpowl(x, y) : \ + __FLT(x) && __FLT(y) ? powf(x, y) : \ + __LDBL((x)+(y)) ? powl(x, y) : \ + pow(x, y) )) + +#define __tg_real_complex_fabs(x) (__RETCAST_REAL(x)( \ + __FLTCX(x) ? cabsf(x) : \ + __DBLCX(x) ? cabs(x) : \ + __LDBLCX(x) ? cabsl(x) : \ + __FLT(x) ? fabsf(x) : \ + __LDBL(x) ? fabsl(x) : \ + fabs(x) )) + +/* suppress any macros in math.h or complex.h */ + +#undef acos +#undef acosh +#undef asin +#undef asinh +#undef atan +#undef atan2 +#undef atanh +#undef carg +#undef cbrt +#undef ceil +#undef cimag +#undef conj +#undef copysign +#undef cos +#undef cosh +#undef cproj +#undef creal +#undef erf +#undef erfc +#undef exp +#undef exp2 +#undef expm1 +#undef fabs +#undef fdim +#undef floor +#undef fma +#undef fmax +#undef fmin +#undef fmod +#undef frexp +#undef hypot +#undef ilogb +#undef ldexp +#undef lgamma +#undef llrint +#undef llround +#undef log +#undef log10 +#undef log1p +#undef log2 +#undef logb +#undef lrint +#undef lround +#undef nearbyint +#undef nextafter +#undef nexttoward +#undef pow +#undef remainder +#undef remquo +#undef rint +#undef round +#undef scalbln +#undef scalbn +#undef sin +#undef sinh +#undef sqrt +#undef tan +#undef tanh +#undef tgamma +#undef trunc + +/* tg functions */ + +#define acos(x) __tg_real_complex(acos, (x)) +#define acosh(x) __tg_real_complex(acosh, (x)) +#define asin(x) __tg_real_complex(asin, (x)) +#define asinh(x) __tg_real_complex(asinh, (x)) +#define atan(x) __tg_real_complex(atan, (x)) +#define atan2(x,y) __tg_real_2(atan2, (x), (y)) +#define atanh(x) __tg_real_complex(atanh, (x)) +#define carg(x) __tg_complex_retreal(carg, (x)) +#define cbrt(x) __tg_real(cbrt, (x)) +#define ceil(x) __tg_real(ceil, (x)) +#define cimag(x) __tg_complex_retreal(cimag, (x)) +#define conj(x) __tg_complex(conj, (x)) +#define copysign(x,y) __tg_real_2(copysign, (x), (y)) +#define cos(x) __tg_real_complex(cos, (x)) +#define cosh(x) __tg_real_complex(cosh, (x)) +#define cproj(x) __tg_complex(cproj, (x)) +#define creal(x) __tg_complex_retreal(creal, (x)) +#define erf(x) __tg_real(erf, (x)) +#define erfc(x) __tg_real(erfc, (x)) +#define exp(x) __tg_real_complex(exp, (x)) +#define exp2(x) __tg_real(exp2, (x)) +#define expm1(x) __tg_real(expm1, (x)) +#define fabs(x) __tg_real_complex_fabs(x) +#define fdim(x,y) __tg_real_2(fdim, (x), (y)) +#define floor(x) __tg_real(floor, (x)) +#define fma(x,y,z) __tg_real_fma((x), (y), (z)) +#define fmax(x,y) __tg_real_2(fmax, (x), (y)) +#define fmin(x,y) __tg_real_2(fmin, (x), (y)) +#define fmod(x,y) __tg_real_2(fmod, (x), (y)) +#define frexp(x,y) __tg_real_2_1(frexp, (x), (y)) +#define hypot(x,y) __tg_real_2(hypot, (x), (y)) +#define ilogb(x) __tg_real_nocast(ilogb, (x)) +#define ldexp(x,y) __tg_real_2_1(ldexp, (x), (y)) +#define lgamma(x) __tg_real(lgamma, (x)) +#define llrint(x) __tg_real_nocast(llrint, (x)) +#define llround(x) __tg_real_nocast(llround, (x)) +#define log(x) __tg_real_complex(log, (x)) +#define log10(x) __tg_real(log10, (x)) +#define log1p(x) __tg_real(log1p, (x)) +#define log2(x) __tg_real(log2, (x)) +#define logb(x) __tg_real(logb, (x)) +#define lrint(x) __tg_real_nocast(lrint, (x)) +#define lround(x) __tg_real_nocast(lround, (x)) +#define nearbyint(x) __tg_real(nearbyint, (x)) +#define nextafter(x,y) __tg_real_2(nextafter, (x), (y)) +#define nexttoward(x,y) __tg_real_2(nexttoward, (x), (y)) +#define pow(x,y) __tg_real_complex_pow((x), (y)) +#define remainder(x,y) __tg_real_2(remainder, (x), (y)) +#define remquo(x,y,z) __tg_real_remquo((x), (y), (z)) +#define rint(x) __tg_real(rint, (x)) +#define round(x) __tg_real(round, (x)) +#define scalbln(x,y) __tg_real_2_1(scalbln, (x), (y)) +#define scalbn(x,y) __tg_real_2_1(scalbn, (x), (y)) +#define sin(x) __tg_real_complex(sin, (x)) +#define sinh(x) __tg_real_complex(sinh, (x)) +#define sqrt(x) __tg_real_complex(sqrt, (x)) +#define tan(x) __tg_real_complex(tan, (x)) +#define tanh(x) __tg_real_complex(tanh, (x)) +#define tgamma(x) __tg_real(tgamma, (x)) +#define trunc(x) __tg_real(trunc, (x)) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/threads.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/threads.h new file mode 100644 index 00000000..cecff664 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/threads.h @@ -0,0 +1,93 @@ +#ifndef _THREADS_H +#define _THREADS_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +typedef unsigned long thrd_t; +#else +typedef struct __pthread *thrd_t; +#define thread_local _Thread_local +#endif + +typedef int once_flag; +typedef unsigned tss_t; +typedef int (*thrd_start_t)(void *); +typedef void (*tss_dtor_t)(void *); + +#define __NEED_cnd_t +#define __NEED_mtx_t + +#include + +#define TSS_DTOR_ITERATIONS 4 + +enum { + thrd_success = 0, + thrd_busy = 1, + thrd_error = 2, + thrd_nomem = 3, + thrd_timedout = 4, +}; + +enum { + mtx_plain = 0, + mtx_recursive = 1, + mtx_timed = 2, +}; + +#define ONCE_FLAG_INIT 0 + +int thrd_create(thrd_t *, thrd_start_t, void *); +_Noreturn void thrd_exit(int); + +int thrd_detach(thrd_t); +int thrd_join(thrd_t, int *); + +int thrd_sleep(const struct timespec *, struct timespec *); +void thrd_yield(void); + +thrd_t thrd_current(void); +int thrd_equal(thrd_t, thrd_t); +#ifndef __cplusplus +#define thrd_equal(A, B) ((A) == (B)) +#endif + +void call_once(once_flag *, void (*)(void)); + +int mtx_init(mtx_t *, int); +void mtx_destroy(mtx_t *); + +int mtx_lock(mtx_t *); +int mtx_timedlock(mtx_t *__restrict, const struct timespec *__restrict); +int mtx_trylock(mtx_t *); +int mtx_unlock(mtx_t *); + +int cnd_init(cnd_t *); +void cnd_destroy(cnd_t *); + +int cnd_broadcast(cnd_t *); +int cnd_signal(cnd_t *); + +int cnd_timedwait(cnd_t *__restrict, mtx_t *__restrict, const struct timespec *__restrict); +int cnd_wait(cnd_t *, mtx_t *); + +int tss_create(tss_t *, tss_dtor_t); +void tss_delete(tss_t); + +int tss_set(tss_t, void *); +void *tss_get(tss_t); + +#if _REDIR_TIME64 +__REDIR(thrd_sleep, __thrd_sleep_time64); +__REDIR(mtx_timedlock, __mtx_timedlock_time64); +__REDIR(cnd_timedwait, __cnd_timedwait_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/time.h new file mode 100644 index 00000000..a5bb2d2b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/time.h @@ -0,0 +1,168 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + + +#define __NEED_size_t +#define __NEED_time_t +#define __NEED_clock_t +#define __NEED_struct_timespec + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_clockid_t +#define __NEED_timer_t +#define __NEED_pid_t +#define __NEED_locale_t +#endif + +#include + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define __tm_gmtoff tm_gmtoff +#define __tm_zone tm_zone +#endif + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + long __tm_gmtoff; + const char *__tm_zone; +}; + +clock_t clock (void); +time_t time (time_t *); +double difftime (time_t, time_t); +time_t mktime (struct tm *); +size_t strftime (char *__restrict, size_t, const char *__restrict, const struct tm *__restrict); +struct tm *gmtime (const time_t *); +struct tm *localtime (const time_t *); +char *asctime (const struct tm *); +char *ctime (const time_t *); +int timespec_get(struct timespec *, int); + +#define CLOCKS_PER_SEC 1000000L + +#define TIME_UTC 1 + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +size_t strftime_l (char * __restrict, size_t, const char * __restrict, const struct tm * __restrict, locale_t); + +struct tm *gmtime_r (const time_t *__restrict, struct tm *__restrict); +struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict); +char *asctime_r (const struct tm *__restrict, char *__restrict); +char *ctime_r (const time_t *, char *); + +void tzset (void); + +struct itimerspec { + struct timespec it_interval; + struct timespec it_value; +}; + +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 1 +#define CLOCK_PROCESS_CPUTIME_ID 2 +#define CLOCK_THREAD_CPUTIME_ID 3 +#define CLOCK_MONOTONIC_RAW 4 +#define CLOCK_REALTIME_COARSE 5 +#define CLOCK_MONOTONIC_COARSE 6 +#define CLOCK_BOOTTIME 7 +#define CLOCK_REALTIME_ALARM 8 +#define CLOCK_BOOTTIME_ALARM 9 +#define CLOCK_SGI_CYCLE 10 +#define CLOCK_TAI 11 + +#define TIMER_ABSTIME 1 + +int nanosleep (const struct timespec *, struct timespec *); +int clock_getres (clockid_t, struct timespec *); +int clock_gettime (clockid_t, struct timespec *); +int clock_settime (clockid_t, const struct timespec *); +int clock_nanosleep (clockid_t, int, const struct timespec *, struct timespec *); +int clock_getcpuclockid (pid_t, clockid_t *); + +struct sigevent; +int timer_create (clockid_t, struct sigevent *__restrict, timer_t *__restrict); +int timer_delete (timer_t); +int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict); +int timer_gettime (timer_t, struct itimerspec *); +int timer_getoverrun (timer_t); + +extern char *tzname[2]; + +#endif + + +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict); +extern int daylight; +extern long timezone; +extern int getdate_err; +struct tm *getdate (const char *); +#endif + + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int stime(const time_t *); +time_t timegm(struct tm *); +#endif + +#if _REDIR_TIME64 +__REDIR(time, __time64); +__REDIR(difftime, __difftime64); +__REDIR(mktime, __mktime64); +__REDIR(gmtime, __gmtime64); +__REDIR(localtime, __localtime64); +__REDIR(ctime, __ctime64); +__REDIR(timespec_get, __timespec_get_time64); +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +__REDIR(gmtime_r, __gmtime64_r); +__REDIR(localtime_r, __localtime64_r); +__REDIR(ctime_r, __ctime64_r); +__REDIR(nanosleep, __nanosleep_time64); +__REDIR(clock_getres, __clock_getres_time64); +__REDIR(clock_gettime, __clock_gettime64); +__REDIR(clock_settime, __clock_settime64); +__REDIR(clock_nanosleep, __clock_nanosleep_time64); +__REDIR(timer_settime, __timer_settime64); +__REDIR(timer_gettime, __timer_gettime64); +#endif +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(stime, __stime64); +__REDIR(timegm, __timegm_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif + + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/uchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/uchar.h new file mode 100644 index 00000000..f83bafde --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/uchar.h @@ -0,0 +1,29 @@ +#ifndef _UCHAR_H +#define _UCHAR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#if __cplusplus < 201103L +typedef unsigned short char16_t; +typedef unsigned char32_t; +#endif + +#define __NEED_mbstate_t +#define __NEED_size_t + +#include +#include + +size_t c16rtomb(char *__restrict, char16_t, mbstate_t *__restrict); +size_t mbrtoc16(char16_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); + +size_t c32rtomb(char *__restrict, char32_t, mbstate_t *__restrict); +size_t mbrtoc32(char32_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ucontext.h new file mode 100644 index 00000000..a99b20d7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ucontext.h @@ -0,0 +1,25 @@ +#ifndef _UCONTEXT_H +#define _UCONTEXT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define NGREG (sizeof(gregset_t)/sizeof(greg_t)) +#endif + +struct __ucontext; + +int getcontext(struct __ucontext *); +void makecontext(struct __ucontext *, void (*)(), int, ...); +int setcontext(const struct __ucontext *); +int swapcontext(struct __ucontext *, const struct __ucontext *); + +#ifdef __cplusplus +} +#endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ulimit.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ulimit.h new file mode 100644 index 00000000..28688187 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/ulimit.h @@ -0,0 +1,17 @@ +#ifndef _ULIMIT_H +#define _ULIMIT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define UL_GETFSIZE 1 +#define UL_SETFSIZE 2 + +long ulimit (int, ...); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/unistd.h new file mode 100644 index 00000000..200a7d94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/unistd.h @@ -0,0 +1,479 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#define SEEK_DATA 3 +#define SEEK_HOLE 4 + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_intptr_t +#define __NEED_useconds_t + +#include + +int pipe(int [2]); +int pipe2(int [2], int); +int close(int); +int posix_close(int, int); +int dup(int); +int dup2(int, int); +int dup3(int, int, int); +off_t lseek(int, off_t, int); +int fsync(int); +int fdatasync(int); + +ssize_t read(int, void *, size_t); +ssize_t write(int, const void *, size_t); +ssize_t pread(int, void *, size_t, off_t); +ssize_t pwrite(int, const void *, size_t, off_t); + +int chown(const char *, uid_t, gid_t); +int fchown(int, uid_t, gid_t); +int lchown(const char *, uid_t, gid_t); +int fchownat(int, const char *, uid_t, gid_t, int); + +int link(const char *, const char *); +int linkat(int, const char *, int, const char *, int); +int symlink(const char *, const char *); +int symlinkat(const char *, int, const char *); +ssize_t readlink(const char *__restrict, char *__restrict, size_t); +ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t); +int unlink(const char *); +int unlinkat(int, const char *, int); +int rmdir(const char *); +int truncate(const char *, off_t); +int ftruncate(int, off_t); + +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 + +int access(const char *, int); +int faccessat(int, const char *, int, int); + +int chdir(const char *); +int fchdir(int); +char *getcwd(char *, size_t); + +unsigned alarm(unsigned); +unsigned sleep(unsigned); +int pause(void); + +pid_t fork(void); +pid_t _Fork(void); +int execve(const char *, char *const [], char *const []); +int execv(const char *, char *const []); +int execle(const char *, const char *, ...); +int execl(const char *, const char *, ...); +int execvp(const char *, char *const []); +int execlp(const char *, const char *, ...); +int fexecve(int, char *const [], char *const []); +_Noreturn void _exit(int); + +pid_t getpid(void); +pid_t getppid(void); +pid_t getpgrp(void); +pid_t getpgid(pid_t); +int setpgid(pid_t, pid_t); +pid_t setsid(void); +pid_t getsid(pid_t); +char *ttyname(int); +int ttyname_r(int, char *, size_t); +int isatty(int); +pid_t tcgetpgrp(int); +int tcsetpgrp(int, pid_t); + +uid_t getuid(void); +uid_t geteuid(void); +gid_t getgid(void); +gid_t getegid(void); +int getgroups(int, gid_t []); +int setuid(uid_t); +int seteuid(uid_t); +int setgid(gid_t); +int setegid(gid_t); + +char *getlogin(void); +int getlogin_r(char *, size_t); +int gethostname(char *, size_t); +char *ctermid(char *); + +int getopt(int, char * const [], const char *); +extern char *optarg; +extern int optind, opterr, optopt; + +long pathconf(const char *, int); +long fpathconf(int, int); +long sysconf(int); +size_t confstr(int, char *, size_t); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 +int setreuid(uid_t, uid_t); +int setregid(gid_t, gid_t); +int lockf(int, int, off_t); +long gethostid(void); +int nice(int); +void sync(void); +pid_t setpgrp(void); +char *crypt(const char *, const char *); +void encrypt(char *, int); +void swab(const void *__restrict, void *__restrict, ssize_t); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +int usleep(unsigned); +unsigned ualarm(unsigned, unsigned); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_SET 0 +#define L_INCR 1 +#define L_XTND 2 +int brk(void *); +void *sbrk(intptr_t); +pid_t vfork(void); +int vhangup(void); +int chroot(const char *); +int getpagesize(void); +int getdtablesize(void); +int sethostname(const char *, size_t); +int getdomainname(char *, size_t); +int setdomainname(const char *, size_t); +int setgroups(size_t, const gid_t *); +char *getpass(const char *); +int daemon(int, int); +void setusershell(void); +void endusershell(void); +char *getusershell(void); +int acct(const char *); +long syscall(long, ...); +int execvpe(const char *, char *const [], char *const []); +int issetugid(void); +int getentropy(void *, size_t); +extern int optreset; +#endif + +#ifdef _GNU_SOURCE +extern char **environ; +int setresuid(uid_t, uid_t, uid_t); +int setresgid(gid_t, gid_t, gid_t); +int getresuid(uid_t *, uid_t *, uid_t *); +int getresgid(gid_t *, gid_t *, gid_t *); +char *get_current_dir_name(void); +int syncfs(int); +int euidaccess(const char *, int); +int eaccess(const char *, int); +ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); +pid_t gettid(void); +#endif + +#if defined(_LARGEFILE64_SOURCE) +#define lseek64 lseek +#define pread64 pread +#define pwrite64 pwrite +#define truncate64 truncate +#define ftruncate64 ftruncate +#define lockf64 lockf +#define off64_t off_t +#endif + +#define POSIX_CLOSE_RESTART 0 + +#define _XOPEN_VERSION 700 +#define _XOPEN_UNIX 1 +#define _XOPEN_ENH_I18N 1 + +#define _POSIX_VERSION 200809L +#define _POSIX2_VERSION _POSIX_VERSION + +#define _POSIX_ADVISORY_INFO _POSIX_VERSION +#define _POSIX_CHOWN_RESTRICTED 1 +#define _POSIX_IPV6 _POSIX_VERSION +#define _POSIX_JOB_CONTROL 1 +#define _POSIX_MAPPED_FILES _POSIX_VERSION +#define _POSIX_MEMLOCK _POSIX_VERSION +#define _POSIX_MEMLOCK_RANGE _POSIX_VERSION +#define _POSIX_MEMORY_PROTECTION _POSIX_VERSION +#define _POSIX_MESSAGE_PASSING _POSIX_VERSION +#define _POSIX_FSYNC _POSIX_VERSION +#define _POSIX_NO_TRUNC 1 +#define _POSIX_RAW_SOCKETS _POSIX_VERSION +#define _POSIX_REALTIME_SIGNALS _POSIX_VERSION +#define _POSIX_REGEXP 1 +#define _POSIX_SAVED_IDS 1 +#define _POSIX_SHELL 1 +#define _POSIX_SPAWN _POSIX_VERSION +#define _POSIX_VDISABLE 0 + +#define _POSIX_THREADS _POSIX_VERSION +#define _POSIX_THREAD_PROCESS_SHARED _POSIX_VERSION +#define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION +#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION +#define _POSIX_THREAD_CPUTIME _POSIX_VERSION +#define _POSIX_TIMERS _POSIX_VERSION +#define _POSIX_TIMEOUTS _POSIX_VERSION +#define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION +#define _POSIX_CPUTIME _POSIX_VERSION +#define _POSIX_CLOCK_SELECTION _POSIX_VERSION +#define _POSIX_BARRIERS _POSIX_VERSION +#define _POSIX_SPIN_LOCKS _POSIX_VERSION +#define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION +#define _POSIX_ASYNCHRONOUS_IO _POSIX_VERSION +#define _POSIX_SEMAPHORES _POSIX_VERSION +#define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION + +#define _POSIX2_C_BIND _POSIX_VERSION + +#include + + + +#define _PC_LINK_MAX 0 +#define _PC_MAX_CANON 1 +#define _PC_MAX_INPUT 2 +#define _PC_NAME_MAX 3 +#define _PC_PATH_MAX 4 +#define _PC_PIPE_BUF 5 +#define _PC_CHOWN_RESTRICTED 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_SYNC_IO 9 +#define _PC_ASYNC_IO 10 +#define _PC_PRIO_IO 11 +#define _PC_SOCK_MAXBUF 12 +#define _PC_FILESIZEBITS 13 +#define _PC_REC_INCR_XFER_SIZE 14 +#define _PC_REC_MAX_XFER_SIZE 15 +#define _PC_REC_MIN_XFER_SIZE 16 +#define _PC_REC_XFER_ALIGN 17 +#define _PC_ALLOC_SIZE_MIN 18 +#define _PC_SYMLINK_MAX 19 +#define _PC_2_SYMLINKS 20 + +#define _SC_ARG_MAX 0 +#define _SC_CHILD_MAX 1 +#define _SC_CLK_TCK 2 +#define _SC_NGROUPS_MAX 3 +#define _SC_OPEN_MAX 4 +#define _SC_STREAM_MAX 5 +#define _SC_TZNAME_MAX 6 +#define _SC_JOB_CONTROL 7 +#define _SC_SAVED_IDS 8 +#define _SC_REALTIME_SIGNALS 9 +#define _SC_PRIORITY_SCHEDULING 10 +#define _SC_TIMERS 11 +#define _SC_ASYNCHRONOUS_IO 12 +#define _SC_PRIORITIZED_IO 13 +#define _SC_SYNCHRONIZED_IO 14 +#define _SC_FSYNC 15 +#define _SC_MAPPED_FILES 16 +#define _SC_MEMLOCK 17 +#define _SC_MEMLOCK_RANGE 18 +#define _SC_MEMORY_PROTECTION 19 +#define _SC_MESSAGE_PASSING 20 +#define _SC_SEMAPHORES 21 +#define _SC_SHARED_MEMORY_OBJECTS 22 +#define _SC_AIO_LISTIO_MAX 23 +#define _SC_AIO_MAX 24 +#define _SC_AIO_PRIO_DELTA_MAX 25 +#define _SC_DELAYTIMER_MAX 26 +#define _SC_MQ_OPEN_MAX 27 +#define _SC_MQ_PRIO_MAX 28 +#define _SC_VERSION 29 +#define _SC_PAGE_SIZE 30 +#define _SC_PAGESIZE 30 /* !! */ +#define _SC_RTSIG_MAX 31 +#define _SC_SEM_NSEMS_MAX 32 +#define _SC_SEM_VALUE_MAX 33 +#define _SC_SIGQUEUE_MAX 34 +#define _SC_TIMER_MAX 35 +#define _SC_BC_BASE_MAX 36 +#define _SC_BC_DIM_MAX 37 +#define _SC_BC_SCALE_MAX 38 +#define _SC_BC_STRING_MAX 39 +#define _SC_COLL_WEIGHTS_MAX 40 +#define _SC_EXPR_NEST_MAX 42 +#define _SC_LINE_MAX 43 +#define _SC_RE_DUP_MAX 44 +#define _SC_2_VERSION 46 +#define _SC_2_C_BIND 47 +#define _SC_2_C_DEV 48 +#define _SC_2_FORT_DEV 49 +#define _SC_2_FORT_RUN 50 +#define _SC_2_SW_DEV 51 +#define _SC_2_LOCALEDEF 52 +#define _SC_UIO_MAXIOV 60 /* !! */ +#define _SC_IOV_MAX 60 +#define _SC_THREADS 67 +#define _SC_THREAD_SAFE_FUNCTIONS 68 +#define _SC_GETGR_R_SIZE_MAX 69 +#define _SC_GETPW_R_SIZE_MAX 70 +#define _SC_LOGIN_NAME_MAX 71 +#define _SC_TTY_NAME_MAX 72 +#define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 +#define _SC_THREAD_KEYS_MAX 74 +#define _SC_THREAD_STACK_MIN 75 +#define _SC_THREAD_THREADS_MAX 76 +#define _SC_THREAD_ATTR_STACKADDR 77 +#define _SC_THREAD_ATTR_STACKSIZE 78 +#define _SC_THREAD_PRIORITY_SCHEDULING 79 +#define _SC_THREAD_PRIO_INHERIT 80 +#define _SC_THREAD_PRIO_PROTECT 81 +#define _SC_THREAD_PROCESS_SHARED 82 +#define _SC_NPROCESSORS_CONF 83 +#define _SC_NPROCESSORS_ONLN 84 +#define _SC_PHYS_PAGES 85 +#define _SC_AVPHYS_PAGES 86 +#define _SC_ATEXIT_MAX 87 +#define _SC_PASS_MAX 88 +#define _SC_XOPEN_VERSION 89 +#define _SC_XOPEN_XCU_VERSION 90 +#define _SC_XOPEN_UNIX 91 +#define _SC_XOPEN_CRYPT 92 +#define _SC_XOPEN_ENH_I18N 93 +#define _SC_XOPEN_SHM 94 +#define _SC_2_CHAR_TERM 95 +#define _SC_2_UPE 97 +#define _SC_XOPEN_XPG2 98 +#define _SC_XOPEN_XPG3 99 +#define _SC_XOPEN_XPG4 100 +#define _SC_NZERO 109 +#define _SC_XBS5_ILP32_OFF32 125 +#define _SC_XBS5_ILP32_OFFBIG 126 +#define _SC_XBS5_LP64_OFF64 127 +#define _SC_XBS5_LPBIG_OFFBIG 128 +#define _SC_XOPEN_LEGACY 129 +#define _SC_XOPEN_REALTIME 130 +#define _SC_XOPEN_REALTIME_THREADS 131 +#define _SC_ADVISORY_INFO 132 +#define _SC_BARRIERS 133 +#define _SC_CLOCK_SELECTION 137 +#define _SC_CPUTIME 138 +#define _SC_THREAD_CPUTIME 139 +#define _SC_MONOTONIC_CLOCK 149 +#define _SC_READER_WRITER_LOCKS 153 +#define _SC_SPIN_LOCKS 154 +#define _SC_REGEXP 155 +#define _SC_SHELL 157 +#define _SC_SPAWN 159 +#define _SC_SPORADIC_SERVER 160 +#define _SC_THREAD_SPORADIC_SERVER 161 +#define _SC_TIMEOUTS 164 +#define _SC_TYPED_MEMORY_OBJECTS 165 +#define _SC_2_PBS 168 +#define _SC_2_PBS_ACCOUNTING 169 +#define _SC_2_PBS_LOCATE 170 +#define _SC_2_PBS_MESSAGE 171 +#define _SC_2_PBS_TRACK 172 +#define _SC_SYMLOOP_MAX 173 +#define _SC_STREAMS 174 +#define _SC_2_PBS_CHECKPOINT 175 +#define _SC_V6_ILP32_OFF32 176 +#define _SC_V6_ILP32_OFFBIG 177 +#define _SC_V6_LP64_OFF64 178 +#define _SC_V6_LPBIG_OFFBIG 179 +#define _SC_HOST_NAME_MAX 180 +#define _SC_TRACE 181 +#define _SC_TRACE_EVENT_FILTER 182 +#define _SC_TRACE_INHERIT 183 +#define _SC_TRACE_LOG 184 + +#define _SC_IPV6 235 +#define _SC_RAW_SOCKETS 236 +#define _SC_V7_ILP32_OFF32 237 +#define _SC_V7_ILP32_OFFBIG 238 +#define _SC_V7_LP64_OFF64 239 +#define _SC_V7_LPBIG_OFFBIG 240 +#define _SC_SS_REPL_MAX 241 +#define _SC_TRACE_EVENT_NAME_MAX 242 +#define _SC_TRACE_NAME_MAX 243 +#define _SC_TRACE_SYS_MAX 244 +#define _SC_TRACE_USER_EVENT_MAX 245 +#define _SC_XOPEN_STREAMS 246 +#define _SC_THREAD_ROBUST_PRIO_INHERIT 247 +#define _SC_THREAD_ROBUST_PRIO_PROTECT 248 +#define _SC_MINSIGSTKSZ 249 +#define _SC_SIGSTKSZ 250 + +#define _CS_PATH 0 +#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 1 +#define _CS_GNU_LIBC_VERSION 2 +#define _CS_GNU_LIBPTHREAD_VERSION 3 +#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS 4 +#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS 5 + +#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 1116 +#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 1117 +#define _CS_POSIX_V6_ILP32_OFF32_LIBS 1118 +#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS 1119 +#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 1120 +#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 1121 +#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 1122 +#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS 1123 +#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 1124 +#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 1125 +#define _CS_POSIX_V6_LP64_OFF64_LIBS 1126 +#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS 1127 +#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 1128 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 1129 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 1130 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS 1131 +#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS 1132 +#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS 1133 +#define _CS_POSIX_V7_ILP32_OFF32_LIBS 1134 +#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS 1135 +#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS 1136 +#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS 1137 +#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS 1138 +#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS 1139 +#define _CS_POSIX_V7_LP64_OFF64_CFLAGS 1140 +#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS 1141 +#define _CS_POSIX_V7_LP64_OFF64_LIBS 1142 +#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS 1143 +#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS 1144 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS 1145 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS 1146 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS 1147 +#define _CS_V6_ENV 1148 +#define _CS_V7_ENV 1149 +#define _CS_POSIX_V7_THREADS_CFLAGS 1150 +#define _CS_POSIX_V7_THREADS_LDFLAGS 1151 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utime.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utime.h new file mode 100644 index 00000000..1ad5c49c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utime.h @@ -0,0 +1,29 @@ +#ifndef _UTIME_H +#define _UTIME_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_time_t + +#include + +struct utimbuf { + time_t actime; + time_t modtime; +}; + +int utime (const char *, const struct utimbuf *); + +#if _REDIR_TIME64 +__REDIR(utime, __utime64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmp.h new file mode 100644 index 00000000..9ba659cc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmp.h @@ -0,0 +1,52 @@ +#ifndef _UTMP_H +#define _UTMP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define ACCOUNTING 9 +#define UT_NAMESIZE 32 +#define UT_HOSTSIZE 256 +#define UT_LINESIZE 32 + +struct lastlog { + time_t ll_time; + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; +}; + +#define ut_time ut_tv.tv_sec +#define ut_name ut_user +#define ut_addr ut_addr_v6[0] +#define utmp utmpx +#define e_exit __e_exit +#define e_termination __e_termination + +void endutent(void); +struct utmp *getutent(void); +struct utmp *getutid(const struct utmp *); +struct utmp *getutline(const struct utmp *); +struct utmp *pututline(const struct utmp *); +void setutent(void); + +void updwtmp(const char *, const struct utmp *); +int utmpname(const char *); + +int login_tty(int); + +#define _PATH_UTMP "/dev/null/utmp" +#define _PATH_WTMP "/dev/null/wtmp" + +#define UTMP_FILE _PATH_UTMP +#define WTMP_FILE _PATH_WTMP +#define UTMP_FILENAME _PATH_UTMP +#define WTMP_FILENAME _PATH_WTMP + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmpx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmpx.h new file mode 100644 index 00000000..29fa60d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/utmpx.h @@ -0,0 +1,67 @@ +#ifndef _UTMPX_H +#define _UTMPX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_pid_t +#define __NEED_time_t +#define __NEED_suseconds_t +#define __NEED_struct_timeval + +#include + +struct utmpx { + short ut_type; + short __ut_pad1; + pid_t ut_pid; + char ut_line[32]; + char ut_id[4]; + char ut_user[32]; + char ut_host[256]; + struct { + short __e_termination; + short __e_exit; + } ut_exit; +#if __BYTE_ORDER == 1234 + int ut_session, __ut_pad2; +#else + int __ut_pad2, ut_session; +#endif + struct timeval ut_tv; + unsigned ut_addr_v6[4]; + char __unused[20]; +}; + +void endutxent(void); +struct utmpx *getutxent(void); +struct utmpx *getutxid(const struct utmpx *); +struct utmpx *getutxline(const struct utmpx *); +struct utmpx *pututxline(const struct utmpx *); +void setutxent(void); + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define e_exit __e_exit +#define e_termination __e_termination +void updwtmpx(const char *, const struct utmpx *); +int utmpxname(const char *); +#endif + +#define EMPTY 0 +#define RUN_LVL 1 +#define BOOT_TIME 2 +#define NEW_TIME 3 +#define OLD_TIME 4 +#define INIT_PROCESS 5 +#define LOGIN_PROCESS 6 +#define USER_PROCESS 7 +#define DEAD_PROCESS 8 + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/values.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/values.h new file mode 100644 index 00000000..f7fd784f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/values.h @@ -0,0 +1,39 @@ +#ifndef _VALUES_H +#define _VALUES_H + +#include + +#define CHARBITS (sizeof(char) * 8) +#define SHORTBITS (sizeof(short) * 8) +#define INTBITS (sizeof(int) * 8) +#define LONGBITS (sizeof(long) * 8) +#define PTRBITS (sizeof(char *) * 8) +#define DOUBLEBITS (sizeof(double) * 8) +#define FLOATBITS (sizeof(float) * 8) + +#define MINSHORT SHRT_MIN +#define MININT INT_MIN +#define MINLONG LONG_MIN + +#define MAXSHORT SHRT_MAX +#define MAXINT INT_MAX +#define MAXLONG LONG_MAX + +#define HIBITS MINSHORT +#define HIBITL MINLONG + +#include + +#define MAXDOUBLE DBL_MAX +#undef MAXFLOAT +#define MAXFLOAT FLT_MAX +#define MINDOUBLE DBL_MIN +#define MINFLOAT FLT_MIN +#define DMINEXP DBL_MIN_EXP +#define FMINEXP FLT_MIN_EXP +#define DMAXEXP DBL_MAX_EXP +#define FMAXEXP FLT_MAX_EXP + +#define BITSPERBYTE CHAR_BIT + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wait.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wait.h new file mode 100644 index 00000000..52aa3642 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wait.h @@ -0,0 +1,2 @@ +#warning redirecting incorrect #include to +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wchar.h new file mode 100644 index 00000000..25577789 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wchar.h @@ -0,0 +1,207 @@ +#ifndef _WCHAR_H +#define _WCHAR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_FILE +#define __NEED___isoc_va_list +#define __NEED_size_t +#define __NEED_wchar_t +#define __NEED_wint_t +#define __NEED_mbstate_t + +#if __STDC_VERSION__ < 201112L +#define __NEED_struct__IO_FILE +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_locale_t +#define __NEED_va_list +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_wctype_t +#endif + +#include + +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') +#else +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') +#endif + +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif + +#undef WEOF +#define WEOF 0xffffffffU + +wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +int wcscmp (const wchar_t *, const wchar_t *); +int wcsncmp (const wchar_t *, const wchar_t *, size_t); + +int wcscoll(const wchar_t *, const wchar_t *); +size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +wchar_t *wcschr (const wchar_t *, wchar_t); +wchar_t *wcsrchr (const wchar_t *, wchar_t); + +size_t wcscspn (const wchar_t *, const wchar_t *); +size_t wcsspn (const wchar_t *, const wchar_t *); +wchar_t *wcspbrk (const wchar_t *, const wchar_t *); + +wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict); + +size_t wcslen (const wchar_t *); + +wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcswcs (const wchar_t *, const wchar_t *); + +wchar_t *wmemchr (const wchar_t *, wchar_t, size_t); +int wmemcmp (const wchar_t *, const wchar_t *, size_t); +wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); +wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t); +wchar_t *wmemset (wchar_t *, wchar_t, size_t); + +wint_t btowc (int); +int wctob (wint_t); + +int mbsinit (const mbstate_t *); +size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); +size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict); + +size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict); + +size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict); +size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict); + +float wcstof (const wchar_t *__restrict, wchar_t **__restrict); +double wcstod (const wchar_t *__restrict, wchar_t **__restrict); +long double wcstold (const wchar_t *__restrict, wchar_t **__restrict); + +long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int); + +long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int); + + + +int fwide (FILE *, int); + + +int wprintf (const wchar_t *__restrict, ...); +int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...); +int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...); + +int vwprintf (const wchar_t *__restrict, __isoc_va_list); +int vfwprintf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); +int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, __isoc_va_list); + +int wscanf (const wchar_t *__restrict, ...); +int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...); +int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...); + +int vwscanf (const wchar_t *__restrict, __isoc_va_list); +int vfwscanf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); +int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, __isoc_va_list); + +wint_t fgetwc (FILE *); +wint_t getwc (FILE *); +wint_t getwchar (void); + +wint_t fputwc (wchar_t, FILE *); +wint_t putwc (wchar_t, FILE *); +wint_t putwchar (wchar_t); + +wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict); +int fputws (const wchar_t *__restrict, FILE *__restrict); + +wint_t ungetwc (wint_t, FILE *); + +struct tm; +size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict); + +#undef iswdigit + +#if defined(_GNU_SOURCE) +wint_t fgetwc_unlocked (FILE *); +wint_t getwc_unlocked (FILE *); +wint_t getwchar_unlocked (void); +wint_t fputwc_unlocked (wchar_t, FILE *); +wint_t putwc_unlocked (wchar_t, FILE *); +wint_t putwchar_unlocked (wchar_t); +wchar_t *fgetws_unlocked (wchar_t *__restrict, int, FILE *__restrict); +int fputws_unlocked (const wchar_t *__restrict, FILE *__restrict); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +size_t wcsftime_l (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict, locale_t); +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +FILE *open_wmemstream(wchar_t **, size_t *); +size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict); +size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict); +wchar_t *wcsdup(const wchar_t *); +size_t wcsnlen (const wchar_t *, size_t); +wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); +int wcscasecmp(const wchar_t *, const wchar_t *); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); +int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t, locale_t); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int wcwidth (wchar_t); +int wcswidth (const wchar_t *, size_t); +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswblank(wint_t); +int iswcntrl(wint_t); +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); +int iswctype(wint_t, wctype_t); +wint_t towlower(wint_t); +wint_t towupper(wint_t); +wctype_t wctype(const char *); + +#ifndef __cplusplus +#undef iswdigit +#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10) +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wctype.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wctype.h new file mode 100644 index 00000000..31f33c42 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wctype.h @@ -0,0 +1,79 @@ +#ifndef _WCTYPE_H +#define _WCTYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_wint_t +#define __NEED_wctype_t + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_locale_t +#endif + +#include + +typedef const int * wctrans_t; + +#undef WEOF +#define WEOF 0xffffffffU + +#undef iswdigit + +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswblank(wint_t); +int iswcntrl(wint_t); +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); +int iswctype(wint_t, wctype_t); +wint_t towctrans(wint_t, wctrans_t); +wint_t towlower(wint_t); +wint_t towupper(wint_t); +wctrans_t wctrans(const char *); +wctype_t wctype(const char *); + +#ifndef __cplusplus +#undef iswdigit +#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10) +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +int iswalnum_l(wint_t, locale_t); +int iswalpha_l(wint_t, locale_t); +int iswblank_l(wint_t, locale_t); +int iswcntrl_l(wint_t, locale_t); +int iswdigit_l(wint_t, locale_t); +int iswgraph_l(wint_t, locale_t); +int iswlower_l(wint_t, locale_t); +int iswprint_l(wint_t, locale_t); +int iswpunct_l(wint_t, locale_t); +int iswspace_l(wint_t, locale_t); +int iswupper_l(wint_t, locale_t); +int iswxdigit_l(wint_t, locale_t); +int iswctype_l(wint_t, wctype_t, locale_t); +wint_t towlower_l(wint_t, locale_t); +wint_t towupper_l(wint_t, locale_t); +wint_t towctrans_l(wint_t, wctrans_t, locale_t); +wctrans_t wctrans_l(const char *, locale_t); +wctype_t wctype_l(const char *, locale_t); + +#endif + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wordexp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wordexp.h new file mode 100644 index 00000000..3acc4f48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/generic-musl/wordexp.h @@ -0,0 +1,41 @@ +#ifndef _WORDEXP_H +#define _WORDEXP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t + +#include + +#define WRDE_DOOFFS 1 +#define WRDE_APPEND 2 +#define WRDE_NOCMD 4 +#define WRDE_REUSE 8 +#define WRDE_SHOWERR 16 +#define WRDE_UNDEF 32 + +typedef struct { + size_t we_wordc; + char **we_wordv; + size_t we_offs; +} wordexp_t; + +#define WRDE_NOSYS -1 +#define WRDE_NOSPACE 1 +#define WRDE_BADCHAR 2 +#define WRDE_BADVAL 3 +#define WRDE_CMDSUB 4 +#define WRDE_SYNTAX 5 + +int wordexp (const char *__restrict, wordexp_t *__restrict, int); +void wordfree (wordexp_t *); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/byteorder.h new file mode 100644 index 00000000..af2cf67c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/byteorder.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_BYTEORDER_H +#define _ASM_BYTEORDER_H + +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) +# define __BYTEORDER_HAS_U64__ +#endif + +#include + +#endif /* _ASM_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/param.h new file mode 100644 index 00000000..4d354160 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/param.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_PARAM_H +#define _ASM_PARAM_H + +#define EXEC_PAGESIZE 16384 + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/ptrace.h new file mode 100644 index 00000000..bbea6040 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/ptrace.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Ptrace definitions for the Hexagon architecture + * + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_PTRACE_H +#define _ASM_PTRACE_H + +#include + +#define instruction_pointer(regs) pt_elr(regs) +#define user_stack_pointer(regs) ((regs)->r29) + +#define profile_pc(regs) instruction_pointer(regs) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/registers.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/registers.h new file mode 100644 index 00000000..8a06dc15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/registers.h @@ -0,0 +1,229 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Register definitions for the Hexagon architecture + */ + + +#ifndef _ASM_REGISTERS_H +#define _ASM_REGISTERS_H + +#ifndef __ASSEMBLY__ + +/* See kernel/entry.S for further documentation. */ + +/* + * Entry code copies the event record out of guest registers into + * this structure (which is on the stack). + */ + +struct hvm_event_record { + unsigned long vmel; /* Event Linkage (return address) */ + unsigned long vmest; /* Event context - pre-event SSR values */ + unsigned long vmpsp; /* Previous stack pointer */ + unsigned long vmbadva; /* Bad virtual address for addressing events */ +}; + +struct pt_regs { + long restart_r0; /* R0 checkpoint for syscall restart */ + long syscall_nr; /* Only used in system calls */ + union { + struct { + unsigned long usr; + unsigned long preds; + }; + long long int predsusr; + }; + union { + struct { + unsigned long m0; + unsigned long m1; + }; + long long int m1m0; + }; + union { + struct { + unsigned long sa1; + unsigned long lc1; + }; + long long int lc1sa1; + }; + union { + struct { + unsigned long sa0; + unsigned long lc0; + }; + long long int lc0sa0; + }; + union { + struct { + unsigned long ugp; + unsigned long gp; + }; + long long int gpugp; + }; + union { + struct { + unsigned long cs0; + unsigned long cs1; + }; + long long int cs1cs0; + }; + /* + * Be extremely careful with rearranging these, if at all. Some code + * assumes the 32 registers exist exactly like this in memory; + * e.g. kernel/ptrace.c + * e.g. kernel/signal.c (restore_sigcontext) + */ + union { + struct { + unsigned long r00; + unsigned long r01; + }; + long long int r0100; + }; + union { + struct { + unsigned long r02; + unsigned long r03; + }; + long long int r0302; + }; + union { + struct { + unsigned long r04; + unsigned long r05; + }; + long long int r0504; + }; + union { + struct { + unsigned long r06; + unsigned long r07; + }; + long long int r0706; + }; + union { + struct { + unsigned long r08; + unsigned long r09; + }; + long long int r0908; + }; + union { + struct { + unsigned long r10; + unsigned long r11; + }; + long long int r1110; + }; + union { + struct { + unsigned long r12; + unsigned long r13; + }; + long long int r1312; + }; + union { + struct { + unsigned long r14; + unsigned long r15; + }; + long long int r1514; + }; + union { + struct { + unsigned long r16; + unsigned long r17; + }; + long long int r1716; + }; + union { + struct { + unsigned long r18; + unsigned long r19; + }; + long long int r1918; + }; + union { + struct { + unsigned long r20; + unsigned long r21; + }; + long long int r2120; + }; + union { + struct { + unsigned long r22; + unsigned long r23; + }; + long long int r2322; + }; + union { + struct { + unsigned long r24; + unsigned long r25; + }; + long long int r2524; + }; + union { + struct { + unsigned long r26; + unsigned long r27; + }; + long long int r2726; + }; + union { + struct { + unsigned long r28; + unsigned long r29; + }; + long long int r2928; + }; + union { + struct { + unsigned long r30; + unsigned long r31; + }; + long long int r3130; + }; + /* VM dispatch pushes event record onto stack - we can build on it */ + struct hvm_event_record hvmer; +}; + +/* Defines to conveniently access the values */ + +/* + * As of the VM spec 0.5, these registers are now set/retrieved via a + * VM call. On the in-bound side, we just fetch the values + * at the entry points and stuff them into the old record in pt_regs. + * However, on the outbound side, probably at VM rte, we set the + * registers back. + */ + +#define pt_elr(regs) ((regs)->hvmer.vmel) +#define pt_set_elr(regs, val) ((regs)->hvmer.vmel = (val)) +#define pt_cause(regs) ((regs)->hvmer.vmest & (HVM_VMEST_CAUSE_MSK)) +#define user_mode(regs) \ + (((regs)->hvmer.vmest & (HVM_VMEST_UM_MSK << HVM_VMEST_UM_SFT)) != 0) +#define ints_enabled(regs) \ + (((regs)->hvmer.vmest & (HVM_VMEST_IE_MSK << HVM_VMEST_IE_SFT)) != 0) +#define pt_psp(regs) ((regs)->hvmer.vmpsp) +#define pt_badva(regs) ((regs)->hvmer.vmbadva) + +#define pt_set_singlestep(regs) ((regs)->hvmer.vmest |= (1<hvmer.vmest &= ~(1<r29 = (sp);\ + } while (0) + +#define pt_set_kmode(regs) \ + (regs)->hvmer.vmest = (HVM_VMEST_IE_MSK << HVM_VMEST_IE_SFT) + +#define pt_set_usermode(regs) \ + (regs)->hvmer.vmest = (HVM_VMEST_UM_MSK << HVM_VMEST_UM_SFT) \ + | (HVM_VMEST_IE_MSK << HVM_VMEST_IE_SFT) + +#endif /* ifndef __ASSEMBLY */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/setup.h new file mode 100644 index 00000000..987aebdc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/setup.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_SETUP_H +#define _ASM_SETUP_H + +#define __init + +#include + +extern char external_cmdline_buffer; + +void __init setup_arch_memory(void); + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..7064daf5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/sigcontext.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_SIGCONTEXT_H +#define _ASM_SIGCONTEXT_H + +#include + +/* + * Signal context structure - contains all info to do with the state + * before the signal handler was invoked. Note: only add new entries + * to the end of the structure. + */ +struct sigcontext { + struct user_regs_struct sc_regs; +} __aligned(8); + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/signal.h new file mode 100644 index 00000000..177bc240 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/signal.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_SIGNAL_H +#define _ASM_SIGNAL_H + +extern unsigned long __rt_sigtramp_template[2]; + +void do_signal(struct pt_regs *regs); + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/swab.h new file mode 100644 index 00000000..0c188ce2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/swab.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +#ifndef _ASM_SWAB_H +#define _ASM_SWAB_H + +#define __SWAB_64_THRU_32__ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd.h new file mode 100644 index 00000000..a611a27f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Syscall support for Hexagon + * + * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 and + * only version 2 as published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301, USA. + */ + +/* + * The kernel pulls this unistd.h in three different ways: + * 1. the "normal" way which gets all the __NR defines + * 2. with __SYSCALL defined to produce function declarations + * 3. with __SYSCALL defined to produce syscall table initialization + * See also: syscalltab.c + */ + +#include + +#define __NR_sync_file_range2 84 +#undef __NR_sync_file_range \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..59b4516c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/unistd_32.h @@ -0,0 +1,347 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl64 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_renameat 38 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs64 43 +#define __NR_fstatfs64 44 +#define __NR_truncate64 45 +#define __NR_ftruncate64 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_llseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile64 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_fstatat64 79 +#define __NR_fstat64 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrlimit 163 +#define __NR_setrlimit 164 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap2 222 +#define __NR_fadvise64_64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/user.h new file mode 100644 index 00000000..622e9380 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/hexagon-linux-any/asm/user.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef HEXAGON_ASM_USER_H +#define HEXAGON_ASM_USER_H + +/* + * Layout for registers passed in elf core dumps to userspace. + * + * Basically a rearranged subset of "pt_regs". + * + * Interested parties: libc, gdb... + */ + +struct user_regs_struct { + unsigned long r0; + unsigned long r1; + unsigned long r2; + unsigned long r3; + unsigned long r4; + unsigned long r5; + unsigned long r6; + unsigned long r7; + unsigned long r8; + unsigned long r9; + unsigned long r10; + unsigned long r11; + unsigned long r12; + unsigned long r13; + unsigned long r14; + unsigned long r15; + unsigned long r16; + unsigned long r17; + unsigned long r18; + unsigned long r19; + unsigned long r20; + unsigned long r21; + unsigned long r22; + unsigned long r23; + unsigned long r24; + unsigned long r25; + unsigned long r26; + unsigned long r27; + unsigned long r28; + unsigned long r29; + unsigned long r30; + unsigned long r31; + unsigned long sa0; + unsigned long lc0; + unsigned long sa1; + unsigned long lc1; + unsigned long m0; + unsigned long m1; + unsigned long usr; + unsigned long p3_0; + unsigned long gp; + unsigned long ugp; + unsigned long pc; + unsigned long cause; + unsigned long badva; + /* cs0 and cs1 are only available with HEXAGON_ARCH_VERSION >= 4 */ + unsigned long cs0; + unsigned long cs1; + unsigned long pad1; /* pad out to 48 words total */ +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/auxvec.h new file mode 100644 index 00000000..3e4d958b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/auxvec.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Author: Hanlu Li + * Huacai Chen + * + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ + +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H + +/* Location of VDSO image. */ +#define AT_SYSINFO_EHDR 33 + +#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */ + +#endif /* __ASM_AUXVEC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/bpf_perf_event.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/bpf_perf_event.h new file mode 100644 index 00000000..13351cb4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/bpf_perf_event.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_BPF_PERF_EVENT_H__ +#define __ASM_BPF_PERF_EVENT_H__ + +#include + +typedef struct user_pt_regs bpf_user_pt_regs_t; + +#endif /* __ASM_BPF_PERF_EVENT_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/break.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/break.h new file mode 100644 index 00000000..79769a12 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/break.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef __UAPI_ASM_BREAK_H +#define __UAPI_ASM_BREAK_H + +#define BRK_DEFAULT 0 /* Used as default */ +#define BRK_BUG 1 /* Used by BUG() */ +#define BRK_KDB 2 /* Used in KDB_ENTER() */ +#define BRK_MATHEMU 3 /* Used by FPU emulator */ +#define BRK_USERBP 4 /* User bp (used by debuggers) */ +#define BRK_SSTEPBP 5 /* User bp (used by debuggers) */ +#define BRK_OVERFLOW 6 /* Overflow check */ +#define BRK_DIVZERO 7 /* Divide by zero check */ +#define BRK_RANGE 8 /* Range error check */ +#define BRK_MULOVFL 9 /* Multiply overflow */ +#define BRK_KPROBE_BP 10 /* Kprobe break */ +#define BRK_KPROBE_SSTEPBP 11 /* Kprobe single step break */ +#define BRK_UPROBE_BP 12 /* See */ +#define BRK_UPROBE_XOLBP 13 /* See */ + +#endif /* __UAPI_ASM_BREAK_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/byteorder.h new file mode 100644 index 00000000..59a90c2a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/byteorder.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Author: Hanlu Li + * Huacai Chen + * + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef _ASM_BYTEORDER_H +#define _ASM_BYTEORDER_H + +#include + +#endif /* _ASM_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/hwcap.h new file mode 100644 index 00000000..a5d51031 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/hwcap.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_HWCAP_H +#define _ASM_HWCAP_H + +/* HWCAP flags */ +#define HWCAP_LOONGARCH_CPUCFG (1 << 0) +#define HWCAP_LOONGARCH_LAM (1 << 1) +#define HWCAP_LOONGARCH_UAL (1 << 2) +#define HWCAP_LOONGARCH_FPU (1 << 3) +#define HWCAP_LOONGARCH_LSX (1 << 4) +#define HWCAP_LOONGARCH_LASX (1 << 5) +#define HWCAP_LOONGARCH_CRC32 (1 << 6) +#define HWCAP_LOONGARCH_COMPLEX (1 << 7) +#define HWCAP_LOONGARCH_CRYPTO (1 << 8) +#define HWCAP_LOONGARCH_LVZ (1 << 9) +#define HWCAP_LOONGARCH_LBT_X86 (1 << 10) +#define HWCAP_LOONGARCH_LBT_ARM (1 << 11) +#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12) +#define HWCAP_LOONGARCH_PTW (1 << 13) +#define HWCAP_LOONGARCH_LSPW (1 << 14) + +#endif /* _ASM_HWCAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm.h new file mode 100644 index 00000000..4d43a769 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm.h @@ -0,0 +1,155 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2020-2023 Loongson Technology Corporation Limited + */ + +#ifndef __UAPI_ASM_LOONGARCH_KVM_H +#define __UAPI_ASM_LOONGARCH_KVM_H + +#include + +#define __KVM_HAVE_IRQ_LINE + +/* + * KVM LoongArch specific structures and definitions. + * + * Some parts derived from the x86 version of this file. + */ + +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 +#define KVM_DIRTY_LOG_PAGE_OFFSET 64 + +#define KVM_GUESTDBG_USE_SW_BP 0x00010000 + +/* + * for KVM_GET_REGS and KVM_SET_REGS + */ +struct kvm_regs { + /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */ + __u64 gpr[32]; + __u64 pc; +}; + +/* + * for KVM_GET_FPU and KVM_SET_FPU + */ +struct kvm_fpu { + __u32 fcsr; + __u64 fcc; /* 8x8 */ + struct kvm_fpureg { + __u64 val64[4]; + } fpr[32]; +}; + +/* + * For LoongArch, we use KVM_SET_ONE_REG and KVM_GET_ONE_REG to access various + * registers. The id field is broken down as follows: + * + * bits[63..52] - As per linux/kvm.h + * bits[51..32] - Must be zero. + * bits[31..16] - Register set. + * + * Register set = 0: GP registers from kvm_regs (see definitions below). + * + * Register set = 1: CSR registers. + * + * Register set = 2: KVM specific registers (see definitions below). + * + * Register set = 3: FPU / SIMD registers (see definitions below). + * + * Other sets registers may be added in the future. Each set would + * have its own identifier in bits[31..16]. + */ + +#define KVM_REG_LOONGARCH_GPR (KVM_REG_LOONGARCH | 0x00000ULL) +#define KVM_REG_LOONGARCH_CSR (KVM_REG_LOONGARCH | 0x10000ULL) +#define KVM_REG_LOONGARCH_KVM (KVM_REG_LOONGARCH | 0x20000ULL) +#define KVM_REG_LOONGARCH_FPSIMD (KVM_REG_LOONGARCH | 0x30000ULL) +#define KVM_REG_LOONGARCH_CPUCFG (KVM_REG_LOONGARCH | 0x40000ULL) +#define KVM_REG_LOONGARCH_LBT (KVM_REG_LOONGARCH | 0x50000ULL) +#define KVM_REG_LOONGARCH_MASK (KVM_REG_LOONGARCH | 0x70000ULL) +#define KVM_CSR_IDX_MASK 0x7fff +#define KVM_CPUCFG_IDX_MASK 0x7fff + +/* + * KVM_REG_LOONGARCH_KVM - KVM specific control registers. + */ + +#define KVM_REG_LOONGARCH_COUNTER (KVM_REG_LOONGARCH_KVM | KVM_REG_SIZE_U64 | 1) +#define KVM_REG_LOONGARCH_VCPU_RESET (KVM_REG_LOONGARCH_KVM | KVM_REG_SIZE_U64 | 2) +/* Debugging: Special instruction for software breakpoint */ +#define KVM_REG_LOONGARCH_DEBUG_INST (KVM_REG_LOONGARCH_KVM | KVM_REG_SIZE_U64 | 3) + +/* LBT registers */ +#define KVM_REG_LOONGARCH_LBT_SCR0 (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 1) +#define KVM_REG_LOONGARCH_LBT_SCR1 (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 2) +#define KVM_REG_LOONGARCH_LBT_SCR2 (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 3) +#define KVM_REG_LOONGARCH_LBT_SCR3 (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 4) +#define KVM_REG_LOONGARCH_LBT_EFLAGS (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 5) +#define KVM_REG_LOONGARCH_LBT_FTOP (KVM_REG_LOONGARCH_LBT | KVM_REG_SIZE_U64 | 6) + +#define LOONGARCH_REG_SHIFT 3 +#define LOONGARCH_REG_64(TYPE, REG) (TYPE | KVM_REG_SIZE_U64 | (REG << LOONGARCH_REG_SHIFT)) +#define KVM_IOC_CSRID(REG) LOONGARCH_REG_64(KVM_REG_LOONGARCH_CSR, REG) +#define KVM_IOC_CPUCFG(REG) LOONGARCH_REG_64(KVM_REG_LOONGARCH_CPUCFG, REG) + +/* Device Control API on vm fd */ +#define KVM_LOONGARCH_VM_FEAT_CTRL 0 +#define KVM_LOONGARCH_VM_FEAT_LSX 0 +#define KVM_LOONGARCH_VM_FEAT_LASX 1 +#define KVM_LOONGARCH_VM_FEAT_X86BT 2 +#define KVM_LOONGARCH_VM_FEAT_ARMBT 3 +#define KVM_LOONGARCH_VM_FEAT_MIPSBT 4 +#define KVM_LOONGARCH_VM_FEAT_PMU 5 +#define KVM_LOONGARCH_VM_FEAT_PV_IPI 6 +#define KVM_LOONGARCH_VM_FEAT_PV_STEALTIME 7 + +/* Device Control API on vcpu fd */ +#define KVM_LOONGARCH_VCPU_CPUCFG 0 +#define KVM_LOONGARCH_VCPU_PVTIME_CTRL 1 +#define KVM_LOONGARCH_VCPU_PVTIME_GPA 0 + +struct kvm_debug_exit_arch { +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { +}; + +/* definition of registers in kvm_run */ +struct kvm_sync_regs { +}; + +/* dummy definition */ +struct kvm_sregs { +}; + +struct kvm_iocsr_entry { + __u32 addr; + __u32 pad; + __u64 data; +}; + +#define KVM_NR_IRQCHIPS 1 +#define KVM_IRQCHIP_NUM_PINS 64 +#define KVM_MAX_CORES 256 + +#define KVM_DEV_LOONGARCH_IPI_GRP_REGS 0x40000001 + +#define KVM_DEV_LOONGARCH_EXTIOI_GRP_REGS 0x40000002 + +#define KVM_DEV_LOONGARCH_EXTIOI_GRP_SW_STATUS 0x40000003 +#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_NUM_CPU 0x0 +#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_FEATURE 0x1 +#define KVM_DEV_LOONGARCH_EXTIOI_SW_STATUS_STATE 0x2 + +#define KVM_DEV_LOONGARCH_EXTIOI_GRP_CTRL 0x40000004 +#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_INIT_NUM_CPU 0x0 +#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_INIT_FEATURE 0x1 +#define KVM_DEV_LOONGARCH_EXTIOI_CTRL_LOAD_FINISHED 0x3 + +#define KVM_DEV_LOONGARCH_PCH_PIC_GRP_REGS 0x40000005 +#define KVM_DEV_LOONGARCH_PCH_PIC_GRP_CTRL 0x40000006 +#define KVM_DEV_LOONGARCH_PCH_PIC_CTRL_INIT 0 + +#endif /* __UAPI_ASM_LOONGARCH_KVM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm_para.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm_para.h new file mode 100644 index 00000000..b2e1a6a4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/kvm_para.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_KVM_PARA_H +#define _ASM_KVM_PARA_H + +#include + +/* + * CPUCFG index area: 0x40000000 -- 0x400000ff + * SW emulation for KVM hypervirsor + */ +#define CPUCFG_KVM_BASE 0x40000000 +#define CPUCFG_KVM_SIZE 0x100 +#define CPUCFG_KVM_SIG (CPUCFG_KVM_BASE + 0) +#define KVM_SIGNATURE "KVM\0" +#define CPUCFG_KVM_FEATURE (CPUCFG_KVM_BASE + 4) +#define KVM_FEATURE_IPI 1 +#define KVM_FEATURE_STEAL_TIME 2 +/* BIT 24 - 31 are features configurable by user space vmm */ +#define KVM_FEATURE_VIRT_EXTIOI 24 + +#endif /* _ASM_KVM_PARA_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..661aa1f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/perf_regs.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_LOONGARCH_PERF_REGS_H +#define _ASM_LOONGARCH_PERF_REGS_H + +enum perf_event_loongarch_regs { + PERF_REG_LOONGARCH_PC, + PERF_REG_LOONGARCH_R1, + PERF_REG_LOONGARCH_R2, + PERF_REG_LOONGARCH_R3, + PERF_REG_LOONGARCH_R4, + PERF_REG_LOONGARCH_R5, + PERF_REG_LOONGARCH_R6, + PERF_REG_LOONGARCH_R7, + PERF_REG_LOONGARCH_R8, + PERF_REG_LOONGARCH_R9, + PERF_REG_LOONGARCH_R10, + PERF_REG_LOONGARCH_R11, + PERF_REG_LOONGARCH_R12, + PERF_REG_LOONGARCH_R13, + PERF_REG_LOONGARCH_R14, + PERF_REG_LOONGARCH_R15, + PERF_REG_LOONGARCH_R16, + PERF_REG_LOONGARCH_R17, + PERF_REG_LOONGARCH_R18, + PERF_REG_LOONGARCH_R19, + PERF_REG_LOONGARCH_R20, + PERF_REG_LOONGARCH_R21, + PERF_REG_LOONGARCH_R22, + PERF_REG_LOONGARCH_R23, + PERF_REG_LOONGARCH_R24, + PERF_REG_LOONGARCH_R25, + PERF_REG_LOONGARCH_R26, + PERF_REG_LOONGARCH_R27, + PERF_REG_LOONGARCH_R28, + PERF_REG_LOONGARCH_R29, + PERF_REG_LOONGARCH_R30, + PERF_REG_LOONGARCH_R31, + PERF_REG_LOONGARCH_MAX, +}; +#endif /* _ASM_LOONGARCH_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ptrace.h new file mode 100644 index 00000000..800edc83 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ptrace.h @@ -0,0 +1,86 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Author: Hanlu Li + * Huacai Chen + * + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef _ASM_PTRACE_H +#define _ASM_PTRACE_H + +#include + +#include + +/* + * For PTRACE_{POKE,PEEK}USR. 0 - 31 are GPRs, + * 32 is syscall's original ARG0, 33 is PC, 34 is BADVADDR. + */ +#define GPR_BASE 0 +#define GPR_NUM 32 +#define GPR_END (GPR_BASE + GPR_NUM - 1) +#define ARG0 (GPR_END + 1) +#define PC (GPR_END + 2) +#define BADVADDR (GPR_END + 3) + +#define NUM_FPU_REGS 32 + +struct user_pt_regs { + /* Main processor registers. */ + unsigned long regs[32]; + + /* Original syscall arg0. */ + unsigned long orig_a0; + + /* Special CSR registers. */ + unsigned long csr_era; + unsigned long csr_badv; + unsigned long reserved[10]; +} __attribute__((aligned(8))); + +struct user_fp_state { + uint64_t fpr[32]; + uint64_t fcc; + uint32_t fcsr; +}; + +struct user_lsx_state { + /* 32 registers, 128 bits width per register. */ + uint64_t vregs[32*2]; +}; + +struct user_lasx_state { + /* 32 registers, 256 bits width per register. */ + uint64_t vregs[32*4]; +}; + +struct user_lbt_state { + uint64_t scr[4]; + uint32_t eflags; + uint32_t ftop; +}; + +struct user_watch_state { + uint64_t dbg_info; + struct { + uint64_t addr; + uint64_t mask; + uint32_t ctrl; + uint32_t pad; + } dbg_regs[8]; +}; + +struct user_watch_state_v2 { + uint64_t dbg_info; + struct { + uint64_t addr; + uint64_t mask; + uint32_t ctrl; + uint32_t pad; + } dbg_regs[14]; +}; + +#define PTRACE_SYSEMU 0x1f +#define PTRACE_SYSEMU_SINGLESTEP 0x20 + +#endif /* _ASM_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/reg.h new file mode 100644 index 00000000..6560b755 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/reg.h @@ -0,0 +1,59 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Various register offset definitions for debuggers, core file + * examiners and whatnot. + * + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ + +#ifndef __UAPI_ASM_LOONGARCH_REG_H +#define __UAPI_ASM_LOONGARCH_REG_H + +#define LOONGARCH_EF_R0 0 +#define LOONGARCH_EF_R1 1 +#define LOONGARCH_EF_R2 2 +#define LOONGARCH_EF_R3 3 +#define LOONGARCH_EF_R4 4 +#define LOONGARCH_EF_R5 5 +#define LOONGARCH_EF_R6 6 +#define LOONGARCH_EF_R7 7 +#define LOONGARCH_EF_R8 8 +#define LOONGARCH_EF_R9 9 +#define LOONGARCH_EF_R10 10 +#define LOONGARCH_EF_R11 11 +#define LOONGARCH_EF_R12 12 +#define LOONGARCH_EF_R13 13 +#define LOONGARCH_EF_R14 14 +#define LOONGARCH_EF_R15 15 +#define LOONGARCH_EF_R16 16 +#define LOONGARCH_EF_R17 17 +#define LOONGARCH_EF_R18 18 +#define LOONGARCH_EF_R19 19 +#define LOONGARCH_EF_R20 20 +#define LOONGARCH_EF_R21 21 +#define LOONGARCH_EF_R22 22 +#define LOONGARCH_EF_R23 23 +#define LOONGARCH_EF_R24 24 +#define LOONGARCH_EF_R25 25 +#define LOONGARCH_EF_R26 26 +#define LOONGARCH_EF_R27 27 +#define LOONGARCH_EF_R28 28 +#define LOONGARCH_EF_R29 29 +#define LOONGARCH_EF_R30 30 +#define LOONGARCH_EF_R31 31 + +/* + * Saved special registers + */ +#define LOONGARCH_EF_ORIG_A0 32 +#define LOONGARCH_EF_CSR_ERA 33 +#define LOONGARCH_EF_CSR_BADV 34 +#define LOONGARCH_EF_CSR_CRMD 35 +#define LOONGARCH_EF_CSR_PRMD 36 +#define LOONGARCH_EF_CSR_EUEN 37 +#define LOONGARCH_EF_CSR_ECFG 38 +#define LOONGARCH_EF_CSR_ESTAT 39 + +#define LOONGARCH_EF_SIZE 320 /* size in bytes */ + +#endif /* __UAPI_ASM_LOONGARCH_REG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..0ea813ba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/sigcontext.h @@ -0,0 +1,71 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Author: Hanlu Li + * Huacai Chen + * + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef _ASM_SIGCONTEXT_H +#define _ASM_SIGCONTEXT_H + +#include + +/* FP context was used */ +#define SC_USED_FP (1 << 0) +/* Address error was due to memory load */ +#define SC_ADDRERR_RD (1 << 30) +/* Address error was due to memory store */ +#define SC_ADDRERR_WR (1 << 31) + +struct sigcontext { + __u64 sc_pc; + __u64 sc_regs[32]; + __u32 sc_flags; + __u64 sc_extcontext[0] __attribute__((__aligned__(16))); +}; + +#define CONTEXT_INFO_ALIGN 16 +struct sctx_info { + __u32 magic; + __u32 size; + __u64 padding; /* padding to 16 bytes */ +}; + +/* FPU context */ +#define FPU_CTX_MAGIC 0x46505501 +#define FPU_CTX_ALIGN 8 +struct fpu_context { + __u64 regs[32]; + __u64 fcc; + __u32 fcsr; +}; + +/* LSX context */ +#define LSX_CTX_MAGIC 0x53580001 +#define LSX_CTX_ALIGN 16 +struct lsx_context { + __u64 regs[2*32]; + __u64 fcc; + __u32 fcsr; +}; + +/* LASX context */ +#define LASX_CTX_MAGIC 0x41535801 +#define LASX_CTX_ALIGN 32 +struct lasx_context { + __u64 regs[4*32]; + __u64 fcc; + __u32 fcsr; +}; + +/* LBT context */ +#define LBT_CTX_MAGIC 0x42540001 +#define LBT_CTX_ALIGN 8 +struct lbt_context { + __u64 regs[4]; + __u32 eflags; + __u32 ftop; +}; + + +#endif /* _ASM_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/signal.h new file mode 100644 index 00000000..844fe675 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/signal.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2020-2022 Loongson Technology Corporation Limited + */ +#ifndef _ASM_SIGNAL_H +#define _ASM_SIGNAL_H + +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 16384 + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ucontext.h new file mode 100644 index 00000000..4ef1fbe2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/ucontext.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __LOONGARCH_UAPI_ASM_UCONTEXT_H +#define __LOONGARCH_UAPI_ASM_UCONTEXT_H + +/** + * struct ucontext - user context structure + * @uc_flags: + * @uc_link: + * @uc_stack: + * @uc_mcontext: holds basic processor state + * @uc_sigmask: + * @uc_extcontext: holds extended processor state + */ +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + /* There's some padding here to allow sigset_t to be expanded in the + * future. Though this is unlikely, other architectures put uc_sigmask + * at the end of this structure and explicitly state it can be + * expanded, so we didn't want to box ourselves in here. */ + __u8 __unused[1024 / 8 - sizeof(sigset_t)]; + /* We can't put uc_sigmask at the end of this structure because we need + * to be able to expand sigcontext in the future. For example, the + * vector ISA extension will almost certainly add ISA state. We want + * to ensure all user-visible ISA state can be saved and restored via a + * ucontext, so we're putting this at the end in order to allow for + * infinite extensibility. Since we know this will be extended and we + * assume sigset_t won't be extended an extreme amount, we're + * prioritizing this. */ + struct sigcontext uc_mcontext; +}; + +#endif /* __LOONGARCH_UAPI_ASM_UCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd.h new file mode 100644 index 00000000..07af3ba9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd.h @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd_64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd_64.h new file mode 100644 index 00000000..bdd1bfb9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch-linux-any/asm/unistd_64.h @@ -0,0 +1,324 @@ +#ifndef _ASM_UNISTD_64_H +#define _ASM_UNISTD_64_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs 43 +#define __NR_fstatfs 44 +#define __NR_truncate 45 +#define __NR_ftruncate 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_lseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_newfstatat 79 +#define __NR_fstat 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap 222 +#define __NR_fadvise64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..989463fb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +#error "Never use directly; include instead." +#endif + +/* LoongArch is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..8b96b7a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fcntl.h @@ -0,0 +1,61 @@ +/* O_*, F_*, FD_* bit values for the generic Linux/LoongArch ABI. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +#error "Never use directly; include instead." +#endif + +#include + +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as + non-64-bit versions. It will need to be revised for 128-bit. */ +#if __WORDSIZE == 64 +#define __O_LARGEFILE 0 + +#define F_GETLK64 5 /* Get record locking info. */ +#define F_SETLK64 6 /* Set record locking info (non-blocking). */ +#define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +struct flock +{ + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ +}; + +#ifdef __USE_LARGEFILE64 +struct flock64 +{ + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ +}; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..318c579e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/fenv.h @@ -0,0 +1,90 @@ +/* Floating point environment. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +#error "Never use directly; include instead." +#endif + +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum +{ + FE_INEXACT = +#define FE_INEXACT 0x010000 + FE_INEXACT, + FE_UNDERFLOW = +#define FE_UNDERFLOW 0x020000 + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW 0x040000 + FE_OVERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO 0x080000 + FE_DIVBYZERO, + FE_INVALID = +#define FE_INVALID 0x100000 + FE_INVALID, +}; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The LoongArch FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum +{ + FE_TONEAREST = +#define FE_TONEAREST 0x000 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0x100 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 0x200 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x300 + FE_DOWNWARD +}; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. This function corresponds + to the layout of the block written by the `fstenv'. */ +typedef struct +{ + unsigned int __fp_control_register; +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exception is masked. */ +#define FE_NOMASK_ENV ((const fenv_t *) -257) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +#define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..4cdf84fe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/hwcap.h @@ -0,0 +1,39 @@ +/* Defines for bits in AT_HWCAP. LoongArch64 Linux version. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +/* HWCAP flags */ +#define HWCAP_LOONGARCH_CPUCFG (1 << 0) +#define HWCAP_LOONGARCH_LAM (1 << 1) +#define HWCAP_LOONGARCH_UAL (1 << 2) +#define HWCAP_LOONGARCH_FPU (1 << 3) +#define HWCAP_LOONGARCH_LSX (1 << 4) +#define HWCAP_LOONGARCH_LASX (1 << 5) +#define HWCAP_LOONGARCH_CRC32 (1 << 6) +#define HWCAP_LOONGARCH_COMPLEX (1 << 7) +#define HWCAP_LOONGARCH_CRYPTO (1 << 8) +#define HWCAP_LOONGARCH_LVZ (1 << 9) +#define HWCAP_LOONGARCH_LBT_X86 (1 << 10) +#define HWCAP_LOONGARCH_LBT_ARM (1 << 11) +#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12) +#define HWCAP_LOONGARCH_PTW (1 << 13) +#define HWCAP_LOONGARCH_LSPW (1 << 14) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link.h new file mode 100644 index 00000000..78751844 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link.h @@ -0,0 +1,76 @@ +/* Machine-specific declarations for dynamic linker interface. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +#error "Never include directly; use instead." +#endif + +#ifndef __loongarch_soft_float +typedef float La_loongarch_vr + __attribute__ ((__vector_size__ (16), __aligned__ (16))); +typedef float La_loongarch_xr + __attribute__ ((__vector_size__ (32), __aligned__ (16))); + +typedef union +{ + double fpreg[4]; + La_loongarch_vr vr[2]; + La_loongarch_xr xr[1]; +} La_loongarch_vector __attribute__ ((__aligned__ (16))); +#endif + +typedef struct La_loongarch_regs +{ + unsigned long int lr_reg[8]; /* a0 - a7 */ +#ifndef __loongarch_soft_float + La_loongarch_vector lr_vec[8]; /* fa0 - fa7 or vr0 - vr7 or xr0 - xr7*/ +#endif + unsigned long int lr_ra; + unsigned long int lr_sp; +} La_loongarch_regs; + +/* Return values for calls from PLT on LoongArch. */ +typedef struct La_loongarch_retval +{ + unsigned long int lrv_a0; + unsigned long int lrv_a1; +#ifndef __loongarch_soft_float + La_loongarch_vector lrv_vec0; + La_loongarch_vector lrv_vec1; +#endif +} La_loongarch_retval; + +__BEGIN_DECLS + +extern ElfW (Addr) la_loongarch_gnu_pltenter (ElfW (Sym) *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_loongarch_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_loongarch_gnu_pltexit (ElfW (Sym) *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_loongarch_regs *__inregs, + La_loongarch_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link_lavcurrent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link_lavcurrent.h new file mode 100644 index 00000000..0d0fcc21 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/link_lavcurrent.h @@ -0,0 +1,25 @@ +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. LAV_CURRENT definition. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Version numbers for la_version handshake interface. */ +#define LAV_CURRENT 3 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..57d7be04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/long-double.h @@ -0,0 +1,21 @@ +/* Properties of long double type. ldbl-128 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* long double is distinct from double, so there is nothing to + define here. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..757bcd0f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/procfs.h @@ -0,0 +1,52 @@ +/* Types for registers for sys/procfs.h. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef __uint64_t elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + pt_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#define ELF_NFPREG 34 /* 32 FPRs + 8-byte byte-vec for fcc + 4-byte FCR */ +typedef union +{ + double d; + float f; +} elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +typedef union +{ + double d[2]; + float f[4]; +} __attribute__ ((__aligned__ (16))) elf_lsxregset_t[32]; + +typedef union +{ + double d[4]; + float f[8]; +} __attribute__ ((__aligned__ (32))) elf_lasxregset_t[32]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 00000000..aea77125 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. LoongArch Linux version. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..dd0e4a7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/rseq.h @@ -0,0 +1,36 @@ +/* Restartable Sequences Linux LoongArch architecture header. + Copyright (C) 2024-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following break instruction: + + 0x002a0010 break 0x10 +*/ + +#define RSEQ_SIG 0x002a0010 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..dc384c17 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/setjmp.h @@ -0,0 +1,42 @@ +/* Define the machine-dependent type `jmp_buf'. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LOONGARCH_BITS_SETJMP_H +#define _LOONGARCH_BITS_SETJMP_H + +typedef struct __jmp_buf_internal_tag +{ + /* Program counter. */ + long int __pc; + /* Stack pointer. */ + long int __sp; + /* Reserved */ + long int __x; + /* Frame pointer. */ + long int __fp; + /* Callee-saved registers. */ + long int __regs[9]; + +#ifndef __loongarch_soft_float + /* Callee-saved floating point registers. */ + double __fpregs[8]; +#endif + +} __jmp_buf[1]; + +#endif /* _LOONGARCH_BITS_SETJMP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/shmlba.h new file mode 100644 index 00000000..202e6b65 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. LoongArch version. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x10000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/sigstack.h new file mode 100644 index 00000000..ee18b492 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..724450a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/struct_stat.h @@ -0,0 +1,127 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..04251ea7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..5e7e1d15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/bits/wordsize.h @@ -0,0 +1,19 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 64 +#define __WORDSIZE_TIME64_COMPAT32 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/fpu_control.h new file mode 100644 index 00000000..8b39333c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/fpu_control.h @@ -0,0 +1,119 @@ +/* FPU control word bits. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* LoongArch FPU floating point control register bits. + * + * 31-29 -> reserved (read as 0, can not changed by software) + * 28 -> cause bit for invalid exception + * 27 -> cause bit for division by zero exception + * 26 -> cause bit for overflow exception + * 25 -> cause bit for underflow exception + * 24 -> cause bit for inexact exception + * 23-21 -> reserved (read as 0, can not changed by software) + * 20 -> flag invalid exception + * 19 -> flag division by zero exception + * 18 -> flag overflow exception + * 17 -> flag underflow exception + * 16 -> flag inexact exception + * 9-8 -> rounding control + * 7-5 -> reserved (read as 0, can not changed by software) + * 4 -> enable exception for invalid exception + * 3 -> enable exception for division by zero exception + * 2 -> enable exception for overflow exception + * 1 -> enable exception for underflow exception + * 0 -> enable exception for inexact exception + * + * + * Rounding Control: + * 00 - rounding ties to even (RNE) + * 01 - rounding toward zero (RZ) + * 10 - rounding (up) toward plus infinity (RP) + * 11 - rounding (down) toward minus infinity (RM) + */ + +#include + +#ifdef __loongarch_soft_float + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* __loongarch_soft_float */ + +/* Masks for interrupts. */ +#define _FPU_MASK_V 0x10 /* Invalid operation */ +#define _FPU_MASK_Z 0x08 /* Division by zero */ +#define _FPU_MASK_O 0x04 /* Overflow */ +#define _FPU_MASK_U 0x02 /* Underflow */ +#define _FPU_MASK_I 0x01 /* Inexact operation */ + +/* Flush denormalized numbers to zero. */ +#define _FPU_FLUSH_TZ 0x1000000 + +/* Rounding control. */ +#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */ +#define _FPU_RC_ZERO 0x100 +#define _FPU_RC_UP 0x200 +#define _FPU_RC_DOWN 0x300 +/* Mask for rounding control. */ +#define _FPU_RC_MASK 0x300 + +#define _FPU_RESERVED 0x0 + +#define _FPU_DEFAULT 0x0 +#define _FPU_IEEE 0x1F + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Macros for accessing the hardware control word. */ +extern fpu_control_t __loongarch_fpu_getcw (void) __THROW; +extern void __loongarch_fpu_setcw (fpu_control_t) __THROW; +#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw)) +#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw)) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +# define _FCLASS_SNAN (1 << 0) +# define _FCLASS_QNAN (1 << 1) +# define _FCLASS_MINF (1 << 2) +# define _FCLASS_MNORM (1 << 3) +# define _FCLASS_MSUBNORM (1 << 4) +# define _FCLASS_MZERO (1 << 5) +# define _FCLASS_PINF (1 << 6) +# define _FCLASS_PNORM (1 << 7) +# define _FCLASS_PSUBNORM (1 << 8) +# define _FCLASS_PZERO (1 << 9) + +# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO) +# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM) +# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM) +# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF) +# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN) + +#endif /* __loongarch_soft_float */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..c3eba41e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 64 && defined __loongarch_soft_float +# include +#endif +#if __WORDSIZE == 64 && defined __loongarch_double_float +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..ea3f10c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 64 && defined __loongarch_soft_float +# include +#endif +#if __WORDSIZE == 64 && defined __loongarch_double_float +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/asm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/asm.h new file mode 100644 index 00000000..9bedcac8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/asm.h @@ -0,0 +1,78 @@ +/* Miscellaneous macros. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ASM_H +#define _SYS_ASM_H + +#include +#include + +/* Macros to handle different pointer/register sizes for 32/64-bit code. */ +#define SZREG 8 +#define SZFREG 8 +#define SZVREG 16 +#define SZXREG 32 +#define REG_L ld.d +#define REG_S st.d +#define SRLI srli.d +#define SLLI slli.d +#define ADDI addi.d +#define ADD add.d +#define SUB sub.d +#define BSTRINS bstrins.d +#define LI li.d +#define FREG_L fld.d +#define FREG_S fst.d + +/* Declare leaf routine. + The usage of macro LEAF/ENTRY is as follows: + 1. LEAF(fcn) -- the align value of fcn is .align 3 (default value) + 2. LEAF(fcn, 6) -- the align value of fcn is .align 6 +*/ +#define LEAF_IMPL(symbol, aln, ...) \ + .text; \ + .globl symbol; \ + .align aln; \ + .type symbol, @function; \ +symbol: \ + cfi_startproc; + + +#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3) +#define ENTRY(...) LEAF(__VA_ARGS__) + +#define LEAF_NO_ALIGN(symbol) \ + .text; \ + .globl symbol; \ + .type symbol, @function; \ +symbol: \ + cfi_startproc; + +#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol) + + +/* Mark end of function. */ +#undef END +#define END(function) \ + cfi_endproc; \ + .size function, .- function; + +/* Stack alignment. */ +#define ALMASK ~15 + +#endif /* sys/asm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..a36bb814 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/ucontext.h @@ -0,0 +1,64 @@ +/* struct ucontext definition. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Don't rely on this, the interface is currently messed up and may need to + be broken to be fixed. */ +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#ifdef __USE_MISC +#define LARCH_NGREG 32 + +#define LARCH_REG_RA 1 +#define LARCH_REG_SP 3 +#define LARCH_REG_S0 23 +#define LARCH_REG_S1 24 +#define LARCH_REG_A0 4 +#define LARCH_REG_S2 25 +#define LARCH_REG_NARGS 8 + +typedef unsigned long int greg_t; +/* Container for all general registers. */ +typedef greg_t gregset_t[32]; +#endif + +typedef struct mcontext_t +{ + unsigned long long __pc; + unsigned long long __gregs[32]; + unsigned int __flags; + unsigned long long __extcontext[0] __attribute__((__aligned__(16))); +} mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t +{ + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/user.h new file mode 100644 index 00000000..12259063 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnu/sys/user.h @@ -0,0 +1,42 @@ +/* struct user_regs_struct definition for LoongArch. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include + +struct user_regs_struct +{ + /* Saved main processor registers. */ + uint64_t regs[32]; + + /* Saved special registers. */ + uint64_t orig_a0; + uint64_t csr_era; + uint64_t csr_badv; + uint64_t reserved[10]; +}; + +struct user_fp_struct { + uint64_t fpr[32]; + uint64_t fcc; + uint32_t fcsr; +}; + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/endianness.h new file mode 100644 index 00000000..989463fb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +#error "Never use directly; include instead." +#endif + +/* LoongArch is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fcntl.h new file mode 100644 index 00000000..8b96b7a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fcntl.h @@ -0,0 +1,61 @@ +/* O_*, F_*, FD_* bit values for the generic Linux/LoongArch ABI. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +#error "Never use directly; include instead." +#endif + +#include + +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as + non-64-bit versions. It will need to be revised for 128-bit. */ +#if __WORDSIZE == 64 +#define __O_LARGEFILE 0 + +#define F_GETLK64 5 /* Get record locking info. */ +#define F_SETLK64 6 /* Set record locking info (non-blocking). */ +#define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +struct flock +{ + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ +}; + +#ifdef __USE_LARGEFILE64 +struct flock64 +{ + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ +}; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fenv.h new file mode 100644 index 00000000..318c579e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/fenv.h @@ -0,0 +1,90 @@ +/* Floating point environment. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +#error "Never use directly; include instead." +#endif + +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum +{ + FE_INEXACT = +#define FE_INEXACT 0x010000 + FE_INEXACT, + FE_UNDERFLOW = +#define FE_UNDERFLOW 0x020000 + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW 0x040000 + FE_OVERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO 0x080000 + FE_DIVBYZERO, + FE_INVALID = +#define FE_INVALID 0x100000 + FE_INVALID, +}; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The LoongArch FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum +{ + FE_TONEAREST = +#define FE_TONEAREST 0x000 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0x100 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 0x200 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 0x300 + FE_DOWNWARD +}; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. This function corresponds + to the layout of the block written by the `fstenv'. */ +typedef struct +{ + unsigned int __fp_control_register; +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exception is masked. */ +#define FE_NOMASK_ENV ((const fenv_t *) -257) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +#define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/hwcap.h new file mode 100644 index 00000000..4cdf84fe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/hwcap.h @@ -0,0 +1,39 @@ +/* Defines for bits in AT_HWCAP. LoongArch64 Linux version. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined (_SYS_AUXV_H) +# error "Never include directly; use instead." +#endif + +/* The following must match the kernel's . */ +/* HWCAP flags */ +#define HWCAP_LOONGARCH_CPUCFG (1 << 0) +#define HWCAP_LOONGARCH_LAM (1 << 1) +#define HWCAP_LOONGARCH_UAL (1 << 2) +#define HWCAP_LOONGARCH_FPU (1 << 3) +#define HWCAP_LOONGARCH_LSX (1 << 4) +#define HWCAP_LOONGARCH_LASX (1 << 5) +#define HWCAP_LOONGARCH_CRC32 (1 << 6) +#define HWCAP_LOONGARCH_COMPLEX (1 << 7) +#define HWCAP_LOONGARCH_CRYPTO (1 << 8) +#define HWCAP_LOONGARCH_LVZ (1 << 9) +#define HWCAP_LOONGARCH_LBT_X86 (1 << 10) +#define HWCAP_LOONGARCH_LBT_ARM (1 << 11) +#define HWCAP_LOONGARCH_LBT_MIPS (1 << 12) +#define HWCAP_LOONGARCH_PTW (1 << 13) +#define HWCAP_LOONGARCH_LSPW (1 << 14) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link.h new file mode 100644 index 00000000..78751844 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link.h @@ -0,0 +1,76 @@ +/* Machine-specific declarations for dynamic linker interface. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +#error "Never include directly; use instead." +#endif + +#ifndef __loongarch_soft_float +typedef float La_loongarch_vr + __attribute__ ((__vector_size__ (16), __aligned__ (16))); +typedef float La_loongarch_xr + __attribute__ ((__vector_size__ (32), __aligned__ (16))); + +typedef union +{ + double fpreg[4]; + La_loongarch_vr vr[2]; + La_loongarch_xr xr[1]; +} La_loongarch_vector __attribute__ ((__aligned__ (16))); +#endif + +typedef struct La_loongarch_regs +{ + unsigned long int lr_reg[8]; /* a0 - a7 */ +#ifndef __loongarch_soft_float + La_loongarch_vector lr_vec[8]; /* fa0 - fa7 or vr0 - vr7 or xr0 - xr7*/ +#endif + unsigned long int lr_ra; + unsigned long int lr_sp; +} La_loongarch_regs; + +/* Return values for calls from PLT on LoongArch. */ +typedef struct La_loongarch_retval +{ + unsigned long int lrv_a0; + unsigned long int lrv_a1; +#ifndef __loongarch_soft_float + La_loongarch_vector lrv_vec0; + La_loongarch_vector lrv_vec1; +#endif +} La_loongarch_retval; + +__BEGIN_DECLS + +extern ElfW (Addr) la_loongarch_gnu_pltenter (ElfW (Sym) *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_loongarch_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_loongarch_gnu_pltexit (ElfW (Sym) *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_loongarch_regs *__inregs, + La_loongarch_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link_lavcurrent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link_lavcurrent.h new file mode 100644 index 00000000..0d0fcc21 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/link_lavcurrent.h @@ -0,0 +1,25 @@ +/* Data structure for communication from the run-time dynamic linker for + loaded ELF shared objects. LAV_CURRENT definition. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +/* Version numbers for la_version handshake interface. */ +#define LAV_CURRENT 3 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/long-double.h new file mode 100644 index 00000000..57d7be04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/long-double.h @@ -0,0 +1,21 @@ +/* Properties of long double type. ldbl-128 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* long double is distinct from double, so there is nothing to + define here. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/procfs.h new file mode 100644 index 00000000..757bcd0f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/procfs.h @@ -0,0 +1,52 @@ +/* Types for registers for sys/procfs.h. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef __uint64_t elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + pt_regs' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +#define ELF_NFPREG 34 /* 32 FPRs + 8-byte byte-vec for fcc + 4-byte FCR */ +typedef union +{ + double d; + float f; +} elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +typedef union +{ + double d[2]; + float f[4]; +} __attribute__ ((__aligned__ (16))) elf_lsxregset_t[32]; + +typedef union +{ + double d[4]; + float f[8]; +} __attribute__ ((__aligned__ (32))) elf_lasxregset_t[32]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/pthread_stack_min.h new file mode 100644 index 00000000..aea77125 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. LoongArch Linux version. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/rseq.h new file mode 100644 index 00000000..dd0e4a7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/rseq.h @@ -0,0 +1,36 @@ +/* Restartable Sequences Linux LoongArch architecture header. + Copyright (C) 2024-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following break instruction: + + 0x002a0010 break 0x10 +*/ + +#define RSEQ_SIG 0x002a0010 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/setjmp.h new file mode 100644 index 00000000..dc384c17 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/setjmp.h @@ -0,0 +1,42 @@ +/* Define the machine-dependent type `jmp_buf'. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LOONGARCH_BITS_SETJMP_H +#define _LOONGARCH_BITS_SETJMP_H + +typedef struct __jmp_buf_internal_tag +{ + /* Program counter. */ + long int __pc; + /* Stack pointer. */ + long int __sp; + /* Reserved */ + long int __x; + /* Frame pointer. */ + long int __fp; + /* Callee-saved registers. */ + long int __regs[9]; + +#ifndef __loongarch_soft_float + /* Callee-saved floating point registers. */ + double __fpregs[8]; +#endif + +} __jmp_buf[1]; + +#endif /* _LOONGARCH_BITS_SETJMP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/shmlba.h new file mode 100644 index 00000000..202e6b65 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. LoongArch version. + Copyright (C) 2023-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x10000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/sigstack.h new file mode 100644 index 00000000..ee18b492 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/struct_stat.h new file mode 100644 index 00000000..724450a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/struct_stat.h @@ -0,0 +1,127 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/timesize.h new file mode 100644 index 00000000..04251ea7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/wordsize.h new file mode 100644 index 00000000..5e7e1d15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/bits/wordsize.h @@ -0,0 +1,19 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 64 +#define __WORDSIZE_TIME64_COMPAT32 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/fpu_control.h new file mode 100644 index 00000000..8b39333c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/fpu_control.h @@ -0,0 +1,119 @@ +/* FPU control word bits. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* LoongArch FPU floating point control register bits. + * + * 31-29 -> reserved (read as 0, can not changed by software) + * 28 -> cause bit for invalid exception + * 27 -> cause bit for division by zero exception + * 26 -> cause bit for overflow exception + * 25 -> cause bit for underflow exception + * 24 -> cause bit for inexact exception + * 23-21 -> reserved (read as 0, can not changed by software) + * 20 -> flag invalid exception + * 19 -> flag division by zero exception + * 18 -> flag overflow exception + * 17 -> flag underflow exception + * 16 -> flag inexact exception + * 9-8 -> rounding control + * 7-5 -> reserved (read as 0, can not changed by software) + * 4 -> enable exception for invalid exception + * 3 -> enable exception for division by zero exception + * 2 -> enable exception for overflow exception + * 1 -> enable exception for underflow exception + * 0 -> enable exception for inexact exception + * + * + * Rounding Control: + * 00 - rounding ties to even (RNE) + * 01 - rounding toward zero (RZ) + * 10 - rounding (up) toward plus infinity (RP) + * 11 - rounding (down) toward minus infinity (RM) + */ + +#include + +#ifdef __loongarch_soft_float + +#define _FPU_RESERVED 0xffffffff +#define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +#define _FPU_GETCW(cw) (cw) = 0 +#define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* __loongarch_soft_float */ + +/* Masks for interrupts. */ +#define _FPU_MASK_V 0x10 /* Invalid operation */ +#define _FPU_MASK_Z 0x08 /* Division by zero */ +#define _FPU_MASK_O 0x04 /* Overflow */ +#define _FPU_MASK_U 0x02 /* Underflow */ +#define _FPU_MASK_I 0x01 /* Inexact operation */ + +/* Flush denormalized numbers to zero. */ +#define _FPU_FLUSH_TZ 0x1000000 + +/* Rounding control. */ +#define _FPU_RC_NEAREST 0x000 /* RECOMMENDED */ +#define _FPU_RC_ZERO 0x100 +#define _FPU_RC_UP 0x200 +#define _FPU_RC_DOWN 0x300 +/* Mask for rounding control. */ +#define _FPU_RC_MASK 0x300 + +#define _FPU_RESERVED 0x0 + +#define _FPU_DEFAULT 0x0 +#define _FPU_IEEE 0x1F + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Macros for accessing the hardware control word. */ +extern fpu_control_t __loongarch_fpu_getcw (void) __THROW; +extern void __loongarch_fpu_setcw (fpu_control_t) __THROW; +#define _FPU_GETCW(cw) __asm__ volatile ("movfcsr2gr %0,$fcsr0" : "=r"(cw)) +#define _FPU_SETCW(cw) __asm__ volatile ("movgr2fcsr $fcsr0,%0" : : "r"(cw)) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +# define _FCLASS_SNAN (1 << 0) +# define _FCLASS_QNAN (1 << 1) +# define _FCLASS_MINF (1 << 2) +# define _FCLASS_MNORM (1 << 3) +# define _FCLASS_MSUBNORM (1 << 4) +# define _FCLASS_MZERO (1 << 5) +# define _FCLASS_PINF (1 << 6) +# define _FCLASS_PNORM (1 << 7) +# define _FCLASS_PSUBNORM (1 << 8) +# define _FCLASS_PZERO (1 << 9) + +# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO) +# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM) +# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM) +# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF) +# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN) + +#endif /* __loongarch_soft_float */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/lib-names.h new file mode 100644 index 00000000..c3eba41e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 64 && defined __loongarch_soft_float +# include +#endif +#if __WORDSIZE == 64 && defined __loongarch_double_float +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs-lp64s.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs-lp64s.h new file mode 100644 index 00000000..b9af3961 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs-lp64s.h @@ -0,0 +1,38 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_feclearexcept +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetenv +#define __stub_fegetexcept +#define __stub_fegetexceptflag +#define __stub_fegetmode +#define __stub_fegetround +#define __stub_feholdexcept +#define __stub_feraiseexcept +#define __stub_fesetenv +#define __stub_fesetexcept +#define __stub_fesetexceptflag +#define __stub_fesetmode +#define __stub_fesetround +#define __stub_fetestexcept +#define __stub_feupdateenv +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs.h new file mode 100644 index 00000000..ea3f10c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 64 && defined __loongarch_soft_float +# include +#endif +#if __WORDSIZE == 64 && defined __loongarch_double_float +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/asm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/asm.h new file mode 100644 index 00000000..9bedcac8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/asm.h @@ -0,0 +1,78 @@ +/* Miscellaneous macros. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ASM_H +#define _SYS_ASM_H + +#include +#include + +/* Macros to handle different pointer/register sizes for 32/64-bit code. */ +#define SZREG 8 +#define SZFREG 8 +#define SZVREG 16 +#define SZXREG 32 +#define REG_L ld.d +#define REG_S st.d +#define SRLI srli.d +#define SLLI slli.d +#define ADDI addi.d +#define ADD add.d +#define SUB sub.d +#define BSTRINS bstrins.d +#define LI li.d +#define FREG_L fld.d +#define FREG_S fst.d + +/* Declare leaf routine. + The usage of macro LEAF/ENTRY is as follows: + 1. LEAF(fcn) -- the align value of fcn is .align 3 (default value) + 2. LEAF(fcn, 6) -- the align value of fcn is .align 6 +*/ +#define LEAF_IMPL(symbol, aln, ...) \ + .text; \ + .globl symbol; \ + .align aln; \ + .type symbol, @function; \ +symbol: \ + cfi_startproc; + + +#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3) +#define ENTRY(...) LEAF(__VA_ARGS__) + +#define LEAF_NO_ALIGN(symbol) \ + .text; \ + .globl symbol; \ + .type symbol, @function; \ +symbol: \ + cfi_startproc; + +#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol) + + +/* Mark end of function. */ +#undef END +#define END(function) \ + cfi_endproc; \ + .size function, .- function; + +/* Stack alignment. */ +#define ALMASK ~15 + +#endif /* sys/asm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/ucontext.h new file mode 100644 index 00000000..a36bb814 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/ucontext.h @@ -0,0 +1,64 @@ +/* struct ucontext definition. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Don't rely on this, the interface is currently messed up and may need to + be broken to be fixed. */ +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#ifdef __USE_MISC +#define LARCH_NGREG 32 + +#define LARCH_REG_RA 1 +#define LARCH_REG_SP 3 +#define LARCH_REG_S0 23 +#define LARCH_REG_S1 24 +#define LARCH_REG_A0 4 +#define LARCH_REG_S2 25 +#define LARCH_REG_NARGS 8 + +typedef unsigned long int greg_t; +/* Container for all general registers. */ +typedef greg_t gregset_t[32]; +#endif + +typedef struct mcontext_t +{ + unsigned long long __pc; + unsigned long long __gregs[32]; + unsigned int __flags; + unsigned long long __extcontext[0] __attribute__((__aligned__(16))); +} mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t +{ + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/user.h new file mode 100644 index 00000000..12259063 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-gnusf/sys/user.h @@ -0,0 +1,42 @@ +/* struct user_regs_struct definition for LoongArch. + Copyright (C) 2022-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include + +struct user_regs_struct +{ + /* Saved main processor registers. */ + uint64_t regs[32]; + + /* Saved special registers. */ + uint64_t orig_a0; + uint64_t csr_era; + uint64_t csr_badv; + uint64_t reserved[10]; +}; + +struct user_fp_struct { + uint64_t fpr[32]; + uint64_t fcc; + uint32_t fcsr; +}; + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..7a558e34 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/alltypes.h @@ -0,0 +1,413 @@ +#define _Addr long +#define _Int64 long +#define _Reg long + +#define __BYTE_ORDER 1234 +#define __LONG_MAX 0x7fffffffffffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef int blksize_t; +#define __DEFINED_blksize_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/fenv.h new file mode 100644 index 00000000..548677f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/fenv.h @@ -0,0 +1,20 @@ +#define FE_INEXACT 0x010000 +#define FE_UNDERFLOW 0x020000 +#define FE_OVERFLOW 0x040000 +#define FE_DIVBYZERO 0x080000 +#define FE_INVALID 0x100000 + +#define FE_ALL_EXCEPT 0x1F0000 + +#define FE_TONEAREST 0x000 +#define FE_TOWARDZERO 0x100 +#define FE_UPWARD 0x200 +#define FE_DOWNWARD 0x300 + +typedef unsigned fexcept_t; + +typedef struct { + unsigned __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/posix.h new file mode 100644 index 00000000..b33ac2f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_LP64_OFF64 1 +#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..4c44236b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long __jmp_buf[23]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/signal.h new file mode 100644 index 00000000..b403ad46 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/signal.h @@ -0,0 +1,101 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 16384 +#endif + +#if defined(_GNU_SOURCE) +#define LARCH_NGREG 32 +#define LARCH_REG_RA 1 +#define LARCH_REG_SP 3 +#define LARCH_REG_S0 23 +#define LARCH_REG_S1 24 +#define LARCH_REG_A0 4 +#define LARCH_REG_S2 25 +#define LARCH_REG_NARGS 8 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long greg_t, gregset_t[32]; + +struct sigcontext { + unsigned long sc_pc; + unsigned long sc_regs[32]; + unsigned sc_flags; + unsigned long sc_extcontext[] __attribute__((__aligned__(16))); +}; +#endif + +typedef struct { + unsigned long __pc; + unsigned long __gregs[32]; + unsigned __flags; + unsigned long __extcontext[] __attribute__((__aligned__(16))); +} mcontext_t; + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext +{ + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + long __uc_pad; + mcontext_t uc_mcontext; +} ucontext_t; + +#define __uc_flags uc_flags + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 2 +#define SA_SIGINFO 4 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/stdint.h new file mode 100644 index 00000000..02714d73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/syscall.h new file mode 100644 index 00000000..b7352424 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/syscall.h @@ -0,0 +1,623 @@ +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR3264_fcntl 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR3264_statfs 43 +#define __NR3264_fstatfs 44 +#define __NR3264_truncate 45 +#define __NR3264_ftruncate 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR3264_lseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR3264_sendfile 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR3264_mmap 222 +#define __NR3264_fadvise64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_arch_specific_syscall 244 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_fcntl __NR3264_fcntl +#define __NR_statfs __NR3264_statfs +#define __NR_fstatfs __NR3264_fstatfs +#define __NR_truncate __NR3264_truncate +#define __NR_ftruncate __NR3264_ftruncate +#define __NR_lseek __NR3264_lseek +#define __NR_sendfile __NR3264_sendfile +#define __NR_mmap __NR3264_mmap +#define __NR_fadvise64 __NR3264_fadvise64 +#define SYS_io_setup 0 +#define SYS_io_destroy 1 +#define SYS_io_submit 2 +#define SYS_io_cancel 3 +#define SYS_io_getevents 4 +#define SYS_setxattr 5 +#define SYS_lsetxattr 6 +#define SYS_fsetxattr 7 +#define SYS_getxattr 8 +#define SYS_lgetxattr 9 +#define SYS_fgetxattr 10 +#define SYS_listxattr 11 +#define SYS_llistxattr 12 +#define SYS_flistxattr 13 +#define SYS_removexattr 14 +#define SYS_lremovexattr 15 +#define SYS_fremovexattr 16 +#define SYS_getcwd 17 +#define SYS_lookup_dcookie 18 +#define SYS_eventfd2 19 +#define SYS_epoll_create1 20 +#define SYS_epoll_ctl 21 +#define SYS_epoll_pwait 22 +#define SYS_dup 23 +#define SYS_dup3 24 +#define SYS_inotify_init1 26 +#define SYS_inotify_add_watch 27 +#define SYS_inotify_rm_watch 28 +#define SYS_ioctl 29 +#define SYS_ioprio_set 30 +#define SYS_ioprio_get 31 +#define SYS_flock 32 +#define SYS_mknodat 33 +#define SYS_mkdirat 34 +#define SYS_unlinkat 35 +#define SYS_symlinkat 36 +#define SYS_linkat 37 +#define SYS_umount2 39 +#define SYS_mount 40 +#define SYS_pivot_root 41 +#define SYS_nfsservctl 42 +#define SYS_fallocate 47 +#define SYS_faccessat 48 +#define SYS_chdir 49 +#define SYS_fchdir 50 +#define SYS_chroot 51 +#define SYS_fchmod 52 +#define SYS_fchmodat 53 +#define SYS_fchownat 54 +#define SYS_fchown 55 +#define SYS_openat 56 +#define SYS_close 57 +#define SYS_vhangup 58 +#define SYS_pipe2 59 +#define SYS_quotactl 60 +#define SYS_getdents64 61 +#define SYS_read 63 +#define SYS_write 64 +#define SYS_readv 65 +#define SYS_writev 66 +#define SYS_pread64 67 +#define SYS_pwrite64 68 +#define SYS_preadv 69 +#define SYS_pwritev 70 +#define SYS_pselect6 72 +#define SYS_ppoll 73 +#define SYS_signalfd4 74 +#define SYS_vmsplice 75 +#define SYS_splice 76 +#define SYS_tee 77 +#define SYS_readlinkat 78 +#define SYS_sync 81 +#define SYS_fsync 82 +#define SYS_fdatasync 83 +#define SYS_sync_file_range 84 +#define SYS_timerfd_create 85 +#define SYS_timerfd_settime 86 +#define SYS_timerfd_gettime 87 +#define SYS_utimensat 88 +#define SYS_acct 89 +#define SYS_capget 90 +#define SYS_capset 91 +#define SYS_personality 92 +#define SYS_exit 93 +#define SYS_exit_group 94 +#define SYS_waitid 95 +#define SYS_set_tid_address 96 +#define SYS_unshare 97 +#define SYS_futex 98 +#define SYS_set_robust_list 99 +#define SYS_get_robust_list 100 +#define SYS_nanosleep 101 +#define SYS_getitimer 102 +#define SYS_setitimer 103 +#define SYS_kexec_load 104 +#define SYS_init_module 105 +#define SYS_delete_module 106 +#define SYS_timer_create 107 +#define SYS_timer_gettime 108 +#define SYS_timer_getoverrun 109 +#define SYS_timer_settime 110 +#define SYS_timer_delete 111 +#define SYS_clock_settime 112 +#define SYS_clock_gettime 113 +#define SYS_clock_getres 114 +#define SYS_clock_nanosleep 115 +#define SYS_syslog 116 +#define SYS_ptrace 117 +#define SYS_sched_setparam 118 +#define SYS_sched_setscheduler 119 +#define SYS_sched_getscheduler 120 +#define SYS_sched_getparam 121 +#define SYS_sched_setaffinity 122 +#define SYS_sched_getaffinity 123 +#define SYS_sched_yield 124 +#define SYS_sched_get_priority_max 125 +#define SYS_sched_get_priority_min 126 +#define SYS_sched_rr_get_interval 127 +#define SYS_restart_syscall 128 +#define SYS_kill 129 +#define SYS_tkill 130 +#define SYS_tgkill 131 +#define SYS_sigaltstack 132 +#define SYS_rt_sigsuspend 133 +#define SYS_rt_sigaction 134 +#define SYS_rt_sigprocmask 135 +#define SYS_rt_sigpending 136 +#define SYS_rt_sigtimedwait 137 +#define SYS_rt_sigqueueinfo 138 +#define SYS_rt_sigreturn 139 +#define SYS_setpriority 140 +#define SYS_getpriority 141 +#define SYS_reboot 142 +#define SYS_setregid 143 +#define SYS_setgid 144 +#define SYS_setreuid 145 +#define SYS_setuid 146 +#define SYS_setresuid 147 +#define SYS_getresuid 148 +#define SYS_setresgid 149 +#define SYS_getresgid 150 +#define SYS_setfsuid 151 +#define SYS_setfsgid 152 +#define SYS_times 153 +#define SYS_setpgid 154 +#define SYS_getpgid 155 +#define SYS_getsid 156 +#define SYS_setsid 157 +#define SYS_getgroups 158 +#define SYS_setgroups 159 +#define SYS_uname 160 +#define SYS_sethostname 161 +#define SYS_setdomainname 162 +#define SYS_getrusage 165 +#define SYS_umask 166 +#define SYS_prctl 167 +#define SYS_getcpu 168 +#define SYS_gettimeofday 169 +#define SYS_settimeofday 170 +#define SYS_adjtimex 171 +#define SYS_getpid 172 +#define SYS_getppid 173 +#define SYS_getuid 174 +#define SYS_geteuid 175 +#define SYS_getgid 176 +#define SYS_getegid 177 +#define SYS_gettid 178 +#define SYS_sysinfo 179 +#define SYS_mq_open 180 +#define SYS_mq_unlink 181 +#define SYS_mq_timedsend 182 +#define SYS_mq_timedreceive 183 +#define SYS_mq_notify 184 +#define SYS_mq_getsetattr 185 +#define SYS_msgget 186 +#define SYS_msgctl 187 +#define SYS_msgrcv 188 +#define SYS_msgsnd 189 +#define SYS_semget 190 +#define SYS_semctl 191 +#define SYS_semtimedop 192 +#define SYS_semop 193 +#define SYS_shmget 194 +#define SYS_shmctl 195 +#define SYS_shmat 196 +#define SYS_shmdt 197 +#define SYS_socket 198 +#define SYS_socketpair 199 +#define SYS_bind 200 +#define SYS_listen 201 +#define SYS_accept 202 +#define SYS_connect 203 +#define SYS_getsockname 204 +#define SYS_getpeername 205 +#define SYS_sendto 206 +#define SYS_recvfrom 207 +#define SYS_setsockopt 208 +#define SYS_getsockopt 209 +#define SYS_shutdown 210 +#define SYS_sendmsg 211 +#define SYS_recvmsg 212 +#define SYS_readahead 213 +#define SYS_brk 214 +#define SYS_munmap 215 +#define SYS_mremap 216 +#define SYS_add_key 217 +#define SYS_request_key 218 +#define SYS_keyctl 219 +#define SYS_clone 220 +#define SYS_execve 221 +#define SYS_swapon 224 +#define SYS_swapoff 225 +#define SYS_mprotect 226 +#define SYS_msync 227 +#define SYS_mlock 228 +#define SYS_munlock 229 +#define SYS_mlockall 230 +#define SYS_munlockall 231 +#define SYS_mincore 232 +#define SYS_madvise 233 +#define SYS_remap_file_pages 234 +#define SYS_mbind 235 +#define SYS_get_mempolicy 236 +#define SYS_set_mempolicy 237 +#define SYS_migrate_pages 238 +#define SYS_move_pages 239 +#define SYS_rt_tgsigqueueinfo 240 +#define SYS_perf_event_open 241 +#define SYS_accept4 242 +#define SYS_recvmmsg 243 +#define SYS_arch_specific_syscall 244 +#define SYS_wait4 260 +#define SYS_prlimit64 261 +#define SYS_fanotify_init 262 +#define SYS_fanotify_mark 263 +#define SYS_name_to_handle_at 264 +#define SYS_open_by_handle_at 265 +#define SYS_clock_adjtime 266 +#define SYS_syncfs 267 +#define SYS_setns 268 +#define SYS_sendmmsg 269 +#define SYS_process_vm_readv 270 +#define SYS_process_vm_writev 271 +#define SYS_kcmp 272 +#define SYS_finit_module 273 +#define SYS_sched_setattr 274 +#define SYS_sched_getattr 275 +#define SYS_renameat2 276 +#define SYS_seccomp 277 +#define SYS_getrandom 278 +#define SYS_memfd_create 279 +#define SYS_bpf 280 +#define SYS_execveat 281 +#define SYS_userfaultfd 282 +#define SYS_membarrier 283 +#define SYS_mlock2 284 +#define SYS_copy_file_range 285 +#define SYS_preadv2 286 +#define SYS_pwritev2 287 +#define SYS_pkey_mprotect 288 +#define SYS_pkey_alloc 289 +#define SYS_pkey_free 290 +#define SYS_statx 291 +#define SYS_io_pgetevents 292 +#define SYS_rseq 293 +#define SYS_kexec_file_load 294 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_quotactl_fd 443 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 +#define SYS_map_shadow_stack 453 +#define SYS_futex_wake 454 +#define SYS_futex_wait 455 +#define SYS_futex_requeue 456 +#define SYS_fcntl __NR3264_fcntl +#define SYS_statfs __NR3264_statfs +#define SYS_fstatfs __NR3264_fstatfs +#define SYS_truncate __NR3264_truncate +#define SYS_ftruncate __NR3264_ftruncate +#define SYS_lseek __NR3264_lseek +#define SYS_sendfile __NR3264_sendfile +#define SYS_mmap __NR3264_mmap +#define SYS_fadvise64 __NR3264_fadvise64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/user.h new file mode 100644 index 00000000..a5ad31f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/loongarch64-linux-musl/bits/user.h @@ -0,0 +1,24 @@ +#define ELF_NGREG 45 +#define ELF_NFPREG 34 + +struct user_regs_struct { + unsigned long regs[32]; + unsigned long orig_a0; + unsigned long csr_era; + unsigned long csr_badv; + unsigned long reserved[10]; +}; + +struct user_fp_struct { + unsigned long fpr[32]; + unsigned long fcc; + unsigned int fcsr; +}; + +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; + +typedef union { + double d; + float f; +} elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/a.out.h new file mode 100644 index 00000000..b8792665 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/a.out.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __M68K_A_OUT_H__ +#define __M68K_A_OUT_H__ + +struct exec +{ + unsigned long a_info; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) + +#endif /* __M68K_A_OUT_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-amiga.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-amiga.h new file mode 100644 index 00000000..b6244949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-amiga.h @@ -0,0 +1,64 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-amiga.h -- Amiga-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_AMIGA_H +#define _ASM_M68K_BOOTINFO_AMIGA_H + + + /* + * Amiga-specific tags + */ + +#define BI_AMIGA_MODEL 0x8000 /* model (__be32) */ +#define BI_AMIGA_AUTOCON 0x8001 /* AutoConfig device */ + /* (AmigaOS struct ConfigDev) */ +#define BI_AMIGA_CHIP_SIZE 0x8002 /* size of Chip RAM (__be32) */ +#define BI_AMIGA_VBLANK 0x8003 /* VBLANK frequency (__u8) */ +#define BI_AMIGA_PSFREQ 0x8004 /* power supply frequency (__u8) */ +#define BI_AMIGA_ECLOCK 0x8005 /* EClock frequency (__be32) */ +#define BI_AMIGA_CHIPSET 0x8006 /* native chipset present (__be32) */ +#define BI_AMIGA_SERPER 0x8007 /* serial port period (__be16) */ + + + /* + * Amiga models (BI_AMIGA_MODEL) + */ + +#define AMI_UNKNOWN 0 +#define AMI_500 1 +#define AMI_500PLUS 2 +#define AMI_600 3 +#define AMI_1000 4 +#define AMI_1200 5 +#define AMI_2000 6 +#define AMI_2500 7 +#define AMI_3000 8 +#define AMI_3000T 9 +#define AMI_3000PLUS 10 +#define AMI_4000 11 +#define AMI_4000T 12 +#define AMI_CDTV 13 +#define AMI_CD32 14 +#define AMI_DRACO 15 + + + /* + * Amiga chipsets (BI_AMIGA_CHIPSET) + */ + +#define CS_STONEAGE 0 +#define CS_OCS 1 +#define CS_ECS 2 +#define CS_AGA 3 + + + /* + * Latest Amiga bootinfo version + */ + +#define AMIGA_BOOTI_VERSION MK_BI_VERSION(2, 0) + + +#endif /* _ASM_M68K_BOOTINFO_AMIGA_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-apollo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-apollo.h new file mode 100644 index 00000000..a2f64347 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-apollo.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-apollo.h -- Apollo-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_APOLLO_H +#define _ASM_M68K_BOOTINFO_APOLLO_H + + + /* + * Apollo-specific tags + */ + +#define BI_APOLLO_MODEL 0x8000 /* model (__be32) */ + + + /* + * Apollo models (BI_APOLLO_MODEL) + */ + +#define APOLLO_UNKNOWN 0 +#define APOLLO_DN3000 1 +#define APOLLO_DN3010 2 +#define APOLLO_DN3500 3 +#define APOLLO_DN4000 4 +#define APOLLO_DN4500 5 + + +#endif /* _ASM_M68K_BOOTINFO_APOLLO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-atari.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-atari.h new file mode 100644 index 00000000..854bda64 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-atari.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-atari.h -- Atari-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_ATARI_H +#define _ASM_M68K_BOOTINFO_ATARI_H + + + /* + * Atari-specific tags + */ + +#define BI_ATARI_MCH_COOKIE 0x8000 /* _MCH cookie from TOS (__be32) */ +#define BI_ATARI_MCH_TYPE 0x8001 /* special machine type (__be32) */ + + + /* + * mch_cookie values (upper word of BI_ATARI_MCH_COOKIE) + */ + +#define ATARI_MCH_ST 0 +#define ATARI_MCH_STE 1 +#define ATARI_MCH_TT 2 +#define ATARI_MCH_FALCON 3 + + + /* + * Atari machine types (BI_ATARI_MCH_TYPE) + */ + +#define ATARI_MACH_NORMAL 0 /* no special machine type */ +#define ATARI_MACH_MEDUSA 1 /* Medusa 040 */ +#define ATARI_MACH_HADES 2 /* Hades 040 or 060 */ +#define ATARI_MACH_AB40 3 /* Afterburner040 on Falcon */ + + + /* + * Latest Atari bootinfo version + */ + +#define ATARI_BOOTI_VERSION MK_BI_VERSION(2, 1) + + +#endif /* _ASM_M68K_BOOTINFO_ATARI_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-hp300.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-hp300.h new file mode 100644 index 00000000..f4efdada --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-hp300.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-hp300.h -- HP9000/300-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_HP300_H +#define _ASM_M68K_BOOTINFO_HP300_H + + + /* + * HP9000/300-specific tags + */ + +#define BI_HP300_MODEL 0x8000 /* model (__be32) */ +#define BI_HP300_UART_SCODE 0x8001 /* UART select code (__be32) */ +#define BI_HP300_UART_ADDR 0x8002 /* phys. addr of UART (__be32) */ + + + /* + * HP9000/300 and /400 models (BI_HP300_MODEL) + * + * This information was taken from NetBSD + */ + +#define HP_320 0 /* 16MHz 68020+HP MMU+16K external cache */ +#define HP_330 1 /* 16MHz 68020+68851 MMU */ +#define HP_340 2 /* 16MHz 68030 */ +#define HP_345 3 /* 50MHz 68030+32K external cache */ +#define HP_350 4 /* 25MHz 68020+HP MMU+32K external cache */ +#define HP_360 5 /* 25MHz 68030 */ +#define HP_370 6 /* 33MHz 68030+64K external cache */ +#define HP_375 7 /* 50MHz 68030+32K external cache */ +#define HP_380 8 /* 25MHz 68040 */ +#define HP_385 9 /* 33MHz 68040 */ + +#define HP_400 10 /* 50MHz 68030+32K external cache */ +#define HP_425T 11 /* 25MHz 68040 - model 425t */ +#define HP_425S 12 /* 25MHz 68040 - model 425s */ +#define HP_425E 13 /* 25MHz 68040 - model 425e */ +#define HP_433T 14 /* 33MHz 68040 - model 433t */ +#define HP_433S 15 /* 33MHz 68040 - model 433s */ + + + /* + * Latest HP9000/300 bootinfo version + */ + +#define HP300_BOOTI_VERSION MK_BI_VERSION(2, 0) + + +#endif /* _ASM_M68K_BOOTINFO_HP300_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-mac.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-mac.h new file mode 100644 index 00000000..61f77318 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-mac.h @@ -0,0 +1,120 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_MAC_H +#define _ASM_M68K_BOOTINFO_MAC_H + + + /* + * Macintosh-specific tags (all __be32) + */ + +#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */ +#define BI_MAC_VADDR 0x8001 /* Mac video base address */ +#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */ +#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */ +#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */ +#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */ +#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */ +#define BI_MAC_BTIME 0x8007 /* Mac boot time */ +#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */ +#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */ +#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */ +#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */ + + + /* + * Macintosh hardware profile data - unused, see macintosh.h for + * reasonable type values + */ + +#define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */ +#define BI_MAC_VIA2BASE 0x8011 /* Mac VIA2 base address (type varies) */ +#define BI_MAC_VIA2TYPE 0x8012 /* Mac VIA2 type (VIA, RBV, OSS) */ +#define BI_MAC_ADBTYPE 0x8013 /* Mac ADB interface type */ +#define BI_MAC_ASCBASE 0x8014 /* Mac Apple Sound Chip base address */ +#define BI_MAC_SCSI5380 0x8015 /* Mac NCR 5380 SCSI (base address, multi) */ +#define BI_MAC_SCSIDMA 0x8016 /* Mac SCSI DMA (base address) */ +#define BI_MAC_SCSI5396 0x8017 /* Mac NCR 53C96 SCSI (base address, multi) */ +#define BI_MAC_IDETYPE 0x8018 /* Mac IDE interface type */ +#define BI_MAC_IDEBASE 0x8019 /* Mac IDE interface base address */ +#define BI_MAC_NUBUS 0x801a /* Mac Nubus type (none, regular, pseudo) */ +#define BI_MAC_SLOTMASK 0x801b /* Mac Nubus slots present */ +#define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */ +#define BI_MAC_ETHTYPE 0x801d /* Mac builtin ethernet type (Sonic, MACE */ +#define BI_MAC_ETHBASE 0x801e /* Mac builtin ethernet base address */ +#define BI_MAC_PMU 0x801f /* Mac power management / poweroff hardware */ +#define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */ +#define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */ + + + /* + * Macintosh Gestalt numbers (BI_MAC_MODEL) + */ + +#define MAC_MODEL_II 6 +#define MAC_MODEL_IIX 7 +#define MAC_MODEL_IICX 8 +#define MAC_MODEL_SE30 9 +#define MAC_MODEL_IICI 11 +#define MAC_MODEL_IIFX 13 /* And well numbered it is too */ +#define MAC_MODEL_IISI 18 +#define MAC_MODEL_LC 19 +#define MAC_MODEL_Q900 20 +#define MAC_MODEL_PB170 21 +#define MAC_MODEL_Q700 22 +#define MAC_MODEL_CLII 23 /* aka: P200 */ +#define MAC_MODEL_PB140 25 +#define MAC_MODEL_Q950 26 /* aka: WGS95 */ +#define MAC_MODEL_LCIII 27 /* aka: P450 */ +#define MAC_MODEL_PB210 29 +#define MAC_MODEL_C650 30 +#define MAC_MODEL_PB230 32 +#define MAC_MODEL_PB180 33 +#define MAC_MODEL_PB160 34 +#define MAC_MODEL_Q800 35 /* aka: WGS80 */ +#define MAC_MODEL_Q650 36 +#define MAC_MODEL_LCII 37 /* aka: P400/405/410/430 */ +#define MAC_MODEL_PB250 38 +#define MAC_MODEL_IIVI 44 +#define MAC_MODEL_P600 45 /* aka: P600CD */ +#define MAC_MODEL_IIVX 48 +#define MAC_MODEL_CCL 49 /* aka: P250 */ +#define MAC_MODEL_PB165C 50 +#define MAC_MODEL_C610 52 /* aka: WGS60 */ +#define MAC_MODEL_Q610 53 +#define MAC_MODEL_PB145 54 /* aka: PB145B */ +#define MAC_MODEL_P520 56 /* aka: LC520 */ +#define MAC_MODEL_C660 60 +#define MAC_MODEL_P460 62 /* aka: LCIII+, P466/P467 */ +#define MAC_MODEL_PB180C 71 +#define MAC_MODEL_PB520 72 /* aka: PB520C, PB540, PB540C, PB550C */ +#define MAC_MODEL_PB270C 77 +#define MAC_MODEL_Q840 78 +#define MAC_MODEL_P550 80 /* aka: LC550, P560 */ +#define MAC_MODEL_CCLII 83 /* aka: P275 */ +#define MAC_MODEL_PB165 84 +#define MAC_MODEL_PB190 85 /* aka: PB190CS */ +#define MAC_MODEL_TV 88 +#define MAC_MODEL_P475 89 /* aka: LC475, P476 */ +#define MAC_MODEL_P475F 90 /* aka: P475 w/ FPU (no LC040) */ +#define MAC_MODEL_P575 92 /* aka: LC575, P577/P578 */ +#define MAC_MODEL_Q605 94 +#define MAC_MODEL_Q605_ACC 95 /* Q605 accelerated to 33 MHz */ +#define MAC_MODEL_Q630 98 /* aka: LC630, P630/631/635/636/637/638/640 */ +#define MAC_MODEL_P588 99 /* aka: LC580, P580 */ +#define MAC_MODEL_PB280 102 +#define MAC_MODEL_PB280C 103 +#define MAC_MODEL_PB150 115 + + + /* + * Latest Macintosh bootinfo version + */ + +#define MAC_BOOTI_VERSION MK_BI_VERSION(2, 0) + + +#endif /* _ASM_M68K_BOOTINFO_MAC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-q40.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-q40.h new file mode 100644 index 00000000..83ef92eb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-q40.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-q40.h -- Q40-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_Q40_H +#define _ASM_M68K_BOOTINFO_Q40_H + + + /* + * Latest Q40 bootinfo version + */ + +#define Q40_BOOTI_VERSION MK_BI_VERSION(2, 0) + + +#endif /* _ASM_M68K_BOOTINFO_Q40_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-virt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-virt.h new file mode 100644 index 00000000..ddaf4502 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-virt.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * asm/bootinfo-virt.h -- Virtual-m68k-specific boot information definitions + */ + +#ifndef _ASM_M68K_BOOTINFO_VIRT_H +#define _ASM_M68K_BOOTINFO_VIRT_H + +#define BI_VIRT_QEMU_VERSION 0x8000 +#define BI_VIRT_GF_PIC_BASE 0x8001 +#define BI_VIRT_GF_RTC_BASE 0x8002 +#define BI_VIRT_GF_TTY_BASE 0x8003 +#define BI_VIRT_VIRTIO_BASE 0x8004 +#define BI_VIRT_CTRL_BASE 0x8005 + +/* No longer used -- replaced with BI_RNG_SEED -- but don't reuse this index: + * #define BI_VIRT_RNG_SEED 0x8006 */ + +#define VIRT_BOOTI_VERSION MK_BI_VERSION(2, 0) + +#endif /* _ASM_M68K_BOOTINFO_MAC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-vme.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-vme.h new file mode 100644 index 00000000..f9fd5a0a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo-vme.h @@ -0,0 +1,71 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/bootinfo-vme.h -- VME-specific boot information definitions +*/ + +#ifndef _ASM_M68K_BOOTINFO_VME_H +#define _ASM_M68K_BOOTINFO_VME_H + + +#include + + + /* + * VME-specific tags + */ + +#define BI_VME_TYPE 0x8000 /* VME sub-architecture (__be32) */ +#define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */ + + + /* + * VME models (BI_VME_TYPE) + */ + +#define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */ +#define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */ +#define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */ +#define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */ +#define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */ +#define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */ +#define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */ +#define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */ +#define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */ + + +#ifndef __ASSEMBLY__ + +/* + * Board ID data structure - pointer to this retrieved from Bug by head.S + * + * BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on + * Motorola VME boards. Contains board number, Bug version, board + * configuration options, etc. + * + * Note, bytes 12 and 13 are board no in BCD (0162,0166,0167,0177,etc) + */ + +typedef struct { + char bdid[4]; + __u8 rev, mth, day, yr; + __be16 size, reserved; + __be16 brdno; + char brdsuffix[2]; + __be32 options; + __be16 clun, dlun, ctype, dnum; + __be32 option2; +} t_bdid, *p_bdid; + +#endif /* __ASSEMBLY__ */ + + + /* + * Latest VME bootinfo versions + */ + +#define MVME147_BOOTI_VERSION MK_BI_VERSION(2, 0) +#define MVME16x_BOOTI_VERSION MK_BI_VERSION(2, 0) +#define BVME6000_BOOTI_VERSION MK_BI_VERSION(2, 0) + + +#endif /* _ASM_M68K_BOOTINFO_VME_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo.h new file mode 100644 index 00000000..ae68806f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/bootinfo.h @@ -0,0 +1,184 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * asm/bootinfo.h -- Definition of the Linux/m68k boot information structure + * + * Copyright 1992 by Greg Harp + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file COPYING in the main directory of this archive + * for more details. + */ + +#ifndef _ASM_M68K_BOOTINFO_H +#define _ASM_M68K_BOOTINFO_H + + +#include + + +#ifndef __ASSEMBLY__ + + /* + * Bootinfo definitions + * + * This is an easily parsable and extendable structure containing all + * information to be passed from the bootstrap to the kernel. + * + * This way I hope to keep all future changes back/forewards compatible. + * Thus, keep your fingers crossed... + * + * This structure is copied right after the kernel by the bootstrap + * routine. + */ + +struct bi_record { + __be16 tag; /* tag ID */ + __be16 size; /* size of record (in bytes) */ + __be32 data[]; /* data */ +}; + + +struct mem_info { + __be32 addr; /* physical address of memory chunk */ + __be32 size; /* length of memory chunk (in bytes) */ +}; + +#endif /* __ASSEMBLY__ */ + + + /* + * Tag Definitions + * + * Machine independent tags start counting from 0x0000 + * Machine dependent tags start counting from 0x8000 + */ + +#define BI_LAST 0x0000 /* last record (sentinel) */ +#define BI_MACHTYPE 0x0001 /* machine type (__be32) */ +#define BI_CPUTYPE 0x0002 /* cpu type (__be32) */ +#define BI_FPUTYPE 0x0003 /* fpu type (__be32) */ +#define BI_MMUTYPE 0x0004 /* mmu type (__be32) */ +#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */ + /* (struct mem_info) */ +#define BI_RAMDISK 0x0006 /* ramdisk address and size */ + /* (struct mem_info) */ +#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */ + /* (string) */ +/* + * A random seed used to initialize the RNG. Record format: + * + * - length [ 2 bytes, 16-bit big endian ] + * - seed data [ `length` bytes, padded to preserve 4-byte struct alignment ] + */ +#define BI_RNG_SEED 0x0008 + + + /* + * Linux/m68k Architectures (BI_MACHTYPE) + */ + +#define MACH_AMIGA 1 +#define MACH_ATARI 2 +#define MACH_MAC 3 +#define MACH_APOLLO 4 +#define MACH_SUN3 5 +#define MACH_MVME147 6 +#define MACH_MVME16x 7 +#define MACH_BVME6000 8 +#define MACH_HP300 9 +#define MACH_Q40 10 +#define MACH_SUN3X 11 +#define MACH_M54XX 12 +#define MACH_M5441X 13 +#define MACH_VIRT 14 + + + /* + * CPU, FPU and MMU types (BI_CPUTYPE, BI_FPUTYPE, BI_MMUTYPE) + * + * Note: we may rely on the following equalities: + * + * CPU_68020 == MMU_68851 + * CPU_68030 == MMU_68030 + * CPU_68040 == FPU_68040 == MMU_68040 + * CPU_68060 == FPU_68060 == MMU_68060 + */ + +#define CPUB_68020 0 +#define CPUB_68030 1 +#define CPUB_68040 2 +#define CPUB_68060 3 +#define CPUB_COLDFIRE 4 + +#define CPU_68020 (1 << CPUB_68020) +#define CPU_68030 (1 << CPUB_68030) +#define CPU_68040 (1 << CPUB_68040) +#define CPU_68060 (1 << CPUB_68060) +#define CPU_COLDFIRE (1 << CPUB_COLDFIRE) + +#define FPUB_68881 0 +#define FPUB_68882 1 +#define FPUB_68040 2 /* Internal FPU */ +#define FPUB_68060 3 /* Internal FPU */ +#define FPUB_SUNFPA 4 /* Sun-3 FPA */ +#define FPUB_COLDFIRE 5 /* ColdFire FPU */ + +#define FPU_68881 (1 << FPUB_68881) +#define FPU_68882 (1 << FPUB_68882) +#define FPU_68040 (1 << FPUB_68040) +#define FPU_68060 (1 << FPUB_68060) +#define FPU_SUNFPA (1 << FPUB_SUNFPA) +#define FPU_COLDFIRE (1 << FPUB_COLDFIRE) + +#define MMUB_68851 0 +#define MMUB_68030 1 /* Internal MMU */ +#define MMUB_68040 2 /* Internal MMU */ +#define MMUB_68060 3 /* Internal MMU */ +#define MMUB_APOLLO 4 /* Custom Apollo */ +#define MMUB_SUN3 5 /* Custom Sun-3 */ +#define MMUB_COLDFIRE 6 /* Internal MMU */ + +#define MMU_68851 (1 << MMUB_68851) +#define MMU_68030 (1 << MMUB_68030) +#define MMU_68040 (1 << MMUB_68040) +#define MMU_68060 (1 << MMUB_68060) +#define MMU_SUN3 (1 << MMUB_SUN3) +#define MMU_APOLLO (1 << MMUB_APOLLO) +#define MMU_COLDFIRE (1 << MMUB_COLDFIRE) + + + /* + * Stuff for bootinfo interface versioning + * + * At the start of kernel code, a 'struct bootversion' is located. + * bootstrap checks for a matching version of the interface before booting + * a kernel, to avoid user confusion if kernel and bootstrap don't work + * together :-) + * + * If incompatible changes are made to the bootinfo interface, the major + * number below should be stepped (and the minor reset to 0) for the + * appropriate machine. If a change is backward-compatible, the minor + * should be stepped. "Backwards-compatible" means that booting will work, + * but certain features may not. + */ + +#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */ +#define MK_BI_VERSION(major, minor) (((major) << 16) + (minor)) +#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff) +#define BI_VERSION_MINOR(v) ((v) & 0xffff) + +#ifndef __ASSEMBLY__ + +struct bootversion { + __be16 branch; + __be32 magic; + struct { + __be32 machtype; + __be32 version; + } machversions[]; +} __attribute__((packed)); + +#endif /* __ASSEMBLY__ */ + + +#endif /* _ASM_M68K_BOOTINFO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/byteorder.h new file mode 100644 index 00000000..984224f9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/byteorder.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_BYTEORDER_H +#define _M68K_BYTEORDER_H + +#include + +#endif /* _M68K_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/cachectl.h new file mode 100644 index 00000000..dd7af10c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/cachectl.h @@ -0,0 +1,15 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_CACHECTL_H +#define _M68K_CACHECTL_H + +/* Definitions for the cacheflush system call. */ + +#define FLUSH_SCOPE_LINE 1 /* Flush a cache line */ +#define FLUSH_SCOPE_PAGE 2 /* Flush a page */ +#define FLUSH_SCOPE_ALL 3 /* Flush the whole cache -- superuser only */ + +#define FLUSH_CACHE_DATA 1 /* Writeback and flush data cache */ +#define FLUSH_CACHE_INSN 2 /* Flush instruction cache */ +#define FLUSH_CACHE_BOTH 3 /* Flush both caches */ + +#endif /* _M68K_CACHECTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/fcntl.h new file mode 100644 index 00000000..b30dec48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/fcntl.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_FCNTL_H +#define _M68K_FCNTL_H + +#define O_DIRECTORY 040000 /* must be a directory */ +#define O_NOFOLLOW 0100000 /* don't follow links */ +#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */ +#define O_LARGEFILE 0400000 + +#include + +#endif /* _M68K_FCNTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ioctls.h new file mode 100644 index 00000000..2e4005f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ioctls.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ARCH_M68K_IOCTLS_H__ +#define __ARCH_M68K_IOCTLS_H__ + +#define FIOQSIZE 0x545E + +#include + +#endif /* __ARCH_M68K_IOCTLS_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/param.h new file mode 100644 index 00000000..3eb338ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/param.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_PARAM_H +#define _M68K_PARAM_H + +#ifdef __uClinux__ +#define EXEC_PAGESIZE 4096 +#else +#define EXEC_PAGESIZE 8192 +#endif + +#include + +#endif /* _M68K_PARAM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/poll.h new file mode 100644 index 00000000..604cbd22 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/poll.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __m68k_POLL_H +#define __m68k_POLL_H + +#define POLLWRNORM POLLOUT +#define POLLWRBAND 256 + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/posix_types.h new file mode 100644 index 00000000..4b2d4921 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/posix_types.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ARCH_M68K_POSIX_TYPES_H +#define __ARCH_M68K_POSIX_TYPES_H + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +typedef unsigned short __kernel_mode_t; +#define __kernel_mode_t __kernel_mode_t + +typedef unsigned short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t + +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +#define __kernel_uid_t __kernel_uid_t + +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ptrace.h new file mode 100644 index 00000000..09f02a89 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/ptrace.h @@ -0,0 +1,85 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_PTRACE_H +#define _M68K_PTRACE_H + +#define PT_D1 0 +#define PT_D2 1 +#define PT_D3 2 +#define PT_D4 3 +#define PT_D5 4 +#define PT_D6 5 +#define PT_D7 6 +#define PT_A0 7 +#define PT_A1 8 +#define PT_A2 9 +#define PT_A3 10 +#define PT_A4 11 +#define PT_A5 12 +#define PT_A6 13 +#define PT_D0 14 +#define PT_USP 15 +#define PT_ORIG_D0 16 +#define PT_SR 17 +#define PT_PC 18 + +#ifndef __ASSEMBLY__ + +/* this struct defines the way the registers are stored on the + stack during a system call. */ + +struct pt_regs { + long d1; + long d2; + long d3; + long d4; + long d5; + long a0; + long a1; + long a2; + long d0; + long orig_d0; + long stkadj; +#ifdef __mcoldfire__ + unsigned format : 4; /* frame format specifier */ + unsigned vector : 12; /* vector offset */ + unsigned short sr; + unsigned long pc; +#else + unsigned short sr; + unsigned long pc; + unsigned format : 4; /* frame format specifier */ + unsigned vector : 12; /* vector offset */ +#endif +}; + +/* + * This is the extended stack used by signal handlers and the context + * switcher: it's pushed after the normal "struct pt_regs". + */ +struct switch_stack { + unsigned long d6; + unsigned long d7; + unsigned long a3; + unsigned long a4; + unsigned long a5; + unsigned long a6; + unsigned long retpc; +}; + +/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 + +#define PTRACE_GET_THREAD_AREA 25 + +#define PTRACE_GETFDPIC 31 + +#define PTRACE_SINGLEBLOCK 33 /* resume execution until next branch */ + +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 + +#endif /* __ASSEMBLY__ */ +#endif /* _M68K_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/setup.h new file mode 100644 index 00000000..a97f1523 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/setup.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* +** asm/setup.h -- Definition of the Linux/m68k setup information +** +** Copyright 1992 by Greg Harp +** +** This file is subject to the terms and conditions of the GNU General Public +** License. See the file COPYING in the main directory of this archive +** for more details. +*/ + +#ifndef _M68K_SETUP_H +#define _M68K_SETUP_H + +#define COMMAND_LINE_SIZE 256 + +#endif /* _M68K_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..27e6671d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/sigcontext.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_M68k_SIGCONTEXT_H +#define _ASM_M68k_SIGCONTEXT_H + +struct sigcontext { + unsigned long sc_mask; /* old sigmask */ + unsigned long sc_usp; /* old user stack pointer */ + unsigned long sc_d0; + unsigned long sc_d1; + unsigned long sc_a0; + unsigned long sc_a1; +#ifdef __uClinux__ + unsigned long sc_a5; +#endif + unsigned short sc_sr; + unsigned long sc_pc; + unsigned short sc_formatvec; +#ifndef __uClinux__ + unsigned long sc_fpregs[2*3]; /* room for two fp registers */ + unsigned long sc_fpcntl[3]; + unsigned char sc_fpstate[216]; +#endif +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/signal.h new file mode 100644 index 00000000..f55ac318 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/signal.h @@ -0,0 +1,85 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_SIGNAL_H +#define _M68K_SIGNAL_H + +#include + +/* Avoid too many header ordering problems. */ +struct siginfo; + +/* Here we must cater to libcs that poke about in kernel headers. */ + +#define NSIG 32 +typedef unsigned long sigset_t; + + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +/* +#define SIGLOST 29 +*/ +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 + +/* These should not be considered constants from userland. */ +#define SIGRTMIN 32 +#define SIGRTMAX _NSIG + +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 + +#include + +/* Here we must cater to libcs that poke about in kernel headers. */ + +struct sigaction { + union { + __sighandler_t _sa_handler; + void (*_sa_sigaction)(int, struct siginfo *, void *); + } _u; + sigset_t sa_mask; + unsigned long sa_flags; + void (*sa_restorer)(void); +}; + +#define sa_handler _u._sa_handler +#define sa_sigaction _u._sa_sigaction + + +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +} stack_t; + +#endif /* _M68K_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/stat.h new file mode 100644 index 00000000..de8354a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/stat.h @@ -0,0 +1,78 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_STAT_H +#define _M68K_STAT_H + +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; + +struct stat { + unsigned short st_dev; + unsigned short __pad1; + unsigned long st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned short __pad2; + unsigned long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long __unused1; + unsigned long st_mtime; + unsigned long __unused2; + unsigned long st_ctime; + unsigned long __unused3; + unsigned long __unused4; + unsigned long __unused5; +}; + +/* This matches struct stat64 in glibc2.1, hence the absolutely + * insane amounts of padding around dev_t's. + */ +struct stat64 { + unsigned long long st_dev; + unsigned char __pad1[2]; + +#define STAT64_HAS_BROKEN_ST_INO 1 + unsigned long __st_ino; + + unsigned int st_mode; + unsigned int st_nlink; + + unsigned long st_uid; + unsigned long st_gid; + + unsigned long long st_rdev; + unsigned char __pad3[2]; + + long long st_size; + unsigned long st_blksize; + + unsigned long long st_blocks; /* Number 512-byte blocks allocated. */ + + unsigned long st_atime; + unsigned long st_atime_nsec; + + unsigned long st_mtime; + unsigned long st_mtime_nsec; + + unsigned long st_ctime; + unsigned long st_ctime_nsec; + + unsigned long long st_ino; +}; + +#endif /* _M68K_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/swab.h new file mode 100644 index 00000000..99293117 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/swab.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _M68K_SWAB_H +#define _M68K_SWAB_H + +#include + + +#define __SWAB_64_THRU_32__ + +#if defined (__mcfisaaplus__) || defined (__mcfisac__) +static __inline__ __u32 __arch_swab32(__u32 val) +{ + __asm__("byterev %0" : "=d" (val) : "0" (val)); + return val; +} + +#define __arch_swab32 __arch_swab32 +#elif !defined(__mcoldfire__) + +static __inline__ __u32 __arch_swab32(__u32 val) +{ + __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val)); + return val; +} +#define __arch_swab32 __arch_swab32 +#endif + +#endif /* _M68K_SWAB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd.h new file mode 100644 index 00000000..6cdb7914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_M68K_UNISTD_H_ +#define _ASM_M68K_UNISTD_H_ + +#include + +#endif /* _ASM_M68K_UNISTD_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..4f5542cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-any/asm/unistd_32.h @@ -0,0 +1,444 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_vhangup 111 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_cacheflush 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_getpagesize 166 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_setresgid 170 +#define __NR_getresgid 171 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_lchown 182 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 +#define __NR_putpmsg 189 +#define __NR_vfork 190 +#define __NR_ugetrlimit 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_chown32 198 +#define __NR_getuid32 199 +#define __NR_getgid32 200 +#define __NR_geteuid32 201 +#define __NR_getegid32 202 +#define __NR_setreuid32 203 +#define __NR_setregid32 204 +#define __NR_getgroups32 205 +#define __NR_setgroups32 206 +#define __NR_fchown32 207 +#define __NR_setresuid32 208 +#define __NR_getresuid32 209 +#define __NR_setresgid32 210 +#define __NR_getresgid32 211 +#define __NR_lchown32 212 +#define __NR_setuid32 213 +#define __NR_setgid32 214 +#define __NR_setfsuid32 215 +#define __NR_setfsgid32 216 +#define __NR_pivot_root 217 +#define __NR_getdents64 220 +#define __NR_gettid 221 +#define __NR_tkill 222 +#define __NR_setxattr 223 +#define __NR_lsetxattr 224 +#define __NR_fsetxattr 225 +#define __NR_getxattr 226 +#define __NR_lgetxattr 227 +#define __NR_fgetxattr 228 +#define __NR_listxattr 229 +#define __NR_llistxattr 230 +#define __NR_flistxattr 231 +#define __NR_removexattr 232 +#define __NR_lremovexattr 233 +#define __NR_fremovexattr 234 +#define __NR_futex 235 +#define __NR_sendfile64 236 +#define __NR_mincore 237 +#define __NR_madvise 238 +#define __NR_fcntl64 239 +#define __NR_readahead 240 +#define __NR_io_setup 241 +#define __NR_io_destroy 242 +#define __NR_io_getevents 243 +#define __NR_io_submit 244 +#define __NR_io_cancel 245 +#define __NR_fadvise64 246 +#define __NR_exit_group 247 +#define __NR_lookup_dcookie 248 +#define __NR_epoll_create 249 +#define __NR_epoll_ctl 250 +#define __NR_epoll_wait 251 +#define __NR_remap_file_pages 252 +#define __NR_set_tid_address 253 +#define __NR_timer_create 254 +#define __NR_timer_settime 255 +#define __NR_timer_gettime 256 +#define __NR_timer_getoverrun 257 +#define __NR_timer_delete 258 +#define __NR_clock_settime 259 +#define __NR_clock_gettime 260 +#define __NR_clock_getres 261 +#define __NR_clock_nanosleep 262 +#define __NR_statfs64 263 +#define __NR_fstatfs64 264 +#define __NR_tgkill 265 +#define __NR_utimes 266 +#define __NR_fadvise64_64 267 +#define __NR_mbind 268 +#define __NR_get_mempolicy 269 +#define __NR_set_mempolicy 270 +#define __NR_mq_open 271 +#define __NR_mq_unlink 272 +#define __NR_mq_timedsend 273 +#define __NR_mq_timedreceive 274 +#define __NR_mq_notify 275 +#define __NR_mq_getsetattr 276 +#define __NR_waitid 277 +#define __NR_add_key 279 +#define __NR_request_key 280 +#define __NR_keyctl 281 +#define __NR_ioprio_set 282 +#define __NR_ioprio_get 283 +#define __NR_inotify_init 284 +#define __NR_inotify_add_watch 285 +#define __NR_inotify_rm_watch 286 +#define __NR_migrate_pages 287 +#define __NR_openat 288 +#define __NR_mkdirat 289 +#define __NR_mknodat 290 +#define __NR_fchownat 291 +#define __NR_futimesat 292 +#define __NR_fstatat64 293 +#define __NR_unlinkat 294 +#define __NR_renameat 295 +#define __NR_linkat 296 +#define __NR_symlinkat 297 +#define __NR_readlinkat 298 +#define __NR_fchmodat 299 +#define __NR_faccessat 300 +#define __NR_pselect6 301 +#define __NR_ppoll 302 +#define __NR_unshare 303 +#define __NR_set_robust_list 304 +#define __NR_get_robust_list 305 +#define __NR_splice 306 +#define __NR_sync_file_range 307 +#define __NR_tee 308 +#define __NR_vmsplice 309 +#define __NR_move_pages 310 +#define __NR_sched_setaffinity 311 +#define __NR_sched_getaffinity 312 +#define __NR_kexec_load 313 +#define __NR_getcpu 314 +#define __NR_epoll_pwait 315 +#define __NR_utimensat 316 +#define __NR_signalfd 317 +#define __NR_timerfd_create 318 +#define __NR_eventfd 319 +#define __NR_fallocate 320 +#define __NR_timerfd_settime 321 +#define __NR_timerfd_gettime 322 +#define __NR_signalfd4 323 +#define __NR_eventfd2 324 +#define __NR_epoll_create1 325 +#define __NR_dup3 326 +#define __NR_pipe2 327 +#define __NR_inotify_init1 328 +#define __NR_preadv 329 +#define __NR_pwritev 330 +#define __NR_rt_tgsigqueueinfo 331 +#define __NR_perf_event_open 332 +#define __NR_get_thread_area 333 +#define __NR_set_thread_area 334 +#define __NR_atomic_cmpxchg_32 335 +#define __NR_atomic_barrier 336 +#define __NR_fanotify_init 337 +#define __NR_fanotify_mark 338 +#define __NR_prlimit64 339 +#define __NR_name_to_handle_at 340 +#define __NR_open_by_handle_at 341 +#define __NR_clock_adjtime 342 +#define __NR_syncfs 343 +#define __NR_setns 344 +#define __NR_process_vm_readv 345 +#define __NR_process_vm_writev 346 +#define __NR_kcmp 347 +#define __NR_finit_module 348 +#define __NR_sched_setattr 349 +#define __NR_sched_getattr 350 +#define __NR_renameat2 351 +#define __NR_getrandom 352 +#define __NR_memfd_create 353 +#define __NR_bpf 354 +#define __NR_execveat 355 +#define __NR_socket 356 +#define __NR_socketpair 357 +#define __NR_bind 358 +#define __NR_connect 359 +#define __NR_listen 360 +#define __NR_accept4 361 +#define __NR_getsockopt 362 +#define __NR_setsockopt 363 +#define __NR_getsockname 364 +#define __NR_getpeername 365 +#define __NR_sendto 366 +#define __NR_sendmsg 367 +#define __NR_recvfrom 368 +#define __NR_recvmsg 369 +#define __NR_shutdown 370 +#define __NR_recvmmsg 371 +#define __NR_sendmmsg 372 +#define __NR_userfaultfd 373 +#define __NR_membarrier 374 +#define __NR_mlock2 375 +#define __NR_copy_file_range 376 +#define __NR_preadv2 377 +#define __NR_pwritev2 378 +#define __NR_statx 379 +#define __NR_seccomp 380 +#define __NR_pkey_mprotect 381 +#define __NR_pkey_alloc 382 +#define __NR_pkey_free 383 +#define __NR_rseq 384 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/a.out.h new file mode 100644 index 00000000..398f4c27 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/a.out.h @@ -0,0 +1,3 @@ +#ifndef __A_OUT_GNU_H__ +# error "Never use directly; include instead." +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..f0dc4ef1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* m68k is big-endian. */ +#define __BYTE_ORDER __BIG_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..a9dc395f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fcntl.h @@ -0,0 +1,54 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0200000 /* Direct disk access. */ +#define __O_LARGEFILE 0400000 + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..1edbdff7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fenv.h @@ -0,0 +1,131 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +#if defined __HAVE_68881__ || defined __HAVE_FPU__ || defined __mcffpu__ + +/* Define bits representing the exception. We use the bit positions of + the appropriate bits in the FPSR Accrued Exception Byte. */ +enum + { + FE_INEXACT = +# define FE_INEXACT (1 << 3) + FE_INEXACT, + FE_DIVBYZERO = +# define FE_DIVBYZERO (1 << 4) + FE_DIVBYZERO, + FE_UNDERFLOW = +# define FE_UNDERFLOW (1 << 5) + FE_UNDERFLOW, + FE_OVERFLOW = +# define FE_OVERFLOW (1 << 6) + FE_OVERFLOW, + FE_INVALID = +# define FE_INVALID (1 << 7) + FE_INVALID + }; + +# define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The m68k FPU supports all of the four defined rounding modes. We use + the bit positions in the FPCR Mode Control Byte as the values for the + appropriate macros. */ +enum + { + FE_TONEAREST = +# define FE_TONEAREST 0 + FE_TONEAREST, + FE_TOWARDZERO = +# define FE_TOWARDZERO (1 << 4) + FE_TOWARDZERO, + FE_DOWNWARD = +# define FE_DOWNWARD (2 << 4) + FE_DOWNWARD, + FE_UPWARD = +# define FE_UPWARD (3 << 4) + FE_UPWARD + }; + +#else + +/* In the soft-float case, only rounding to nearest is supported, with + no exceptions. */ + +# define FE_ALL_EXCEPT 0 + +enum + { + __FE_UNDEFINED = -1, + + FE_TONEAREST = +# define FE_TONEAREST 0 + FE_TONEAREST + }; + +#endif + + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + + +#if defined __HAVE_68881__ || defined __HAVE_FPU__ || defined __mcffpu__ + +/* Type representing floating-point environment. This structure + corresponds to the layout of the block written by `fmovem'. */ +typedef struct + { + unsigned int __control_register; + unsigned int __status_register; + unsigned int __instruction_address; + } +fenv_t; + +#else + +/* Keep ABI compatibility with the type used in the generic + bits/fenv.h, formerly used for no-FPU ColdFire. */ +typedef struct + { + fexcept_t __excepts; + } +fenv_t; + +#endif + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#if defined __USE_GNU && (defined __HAVE_68881__ \ + || defined __HAVE_FPU__ \ + || defined __mcffpu__) +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/floatn.h new file mode 100644 index 00000000..9005dc86 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/floatn.h @@ -0,0 +1,52 @@ +/* Macros to control TS 18661-3 glibc features. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#define __HAVE_FLOAT128 0 + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X 0 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. + E.g.: #define __f128(x) x##f128. */ +# undef __f128 + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. + E.g.: #define __CFLOAT128 _Complex _Float128. */ +# undef __CFLOAT128 + +#endif /* !__ASSEMBLER__. */ + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h new file mode 100644 index 00000000..ff2e29d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/flt-eval-method.h @@ -0,0 +1,25 @@ +/* Define __GLIBC_FLT_EVAL_METHOD. M68K version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +/* The m68k FPUs evaluate all values in the 96-bit floating-point + format which is also available for the user as 'long double'. */ +#define __GLIBC_FLT_EVAL_METHOD 2 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h new file mode 100644 index 00000000..582b3892 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/fp-logb.h @@ -0,0 +1,24 @@ +/* Define __FP_LOGB0_IS_MIN and __FP_LOGBNAN_IS_MIN. M68K version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#define __FP_LOGB0_IS_MIN 1 +#define __FP_LOGBNAN_IS_MIN 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h new file mode 100644 index 00000000..4d0b3c8c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/iscanonical.h @@ -0,0 +1,54 @@ +/* Define iscanonical macro. ldbl-96 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +extern int __iscanonicall (long double __x) + __THROW __attribute__ ((__const__)); +#define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1) +#define __iscanonical(x) ((void) (__typeof (x)) (x), 1) +#if __HAVE_DISTINCT_FLOAT128 +# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1) +#endif + +/* Return nonzero value if X is canonical. In IEEE interchange binary + formats, all values are canonical, but the argument must still be + converted to its semantic type for any exceptions arising from the + conversion, before being discarded; in extended precision, there + are encodings that are not consistently handled as corresponding to + any particular value of the type, and we return 0 for those. */ +#ifndef __cplusplus +# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x)) +#else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int iscanonical (float __val) { return __iscanonicalf (__val); } +inline int iscanonical (double __val) { return __iscanonical (__val); } +inline int iscanonical (long double __val) { return __iscanonicall (__val); } +# if __HAVE_DISTINCT_FLOAT128 +inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); } +# endif +} +#endif /* __cplusplus */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/link.h new file mode 100644 index 00000000..f7cff8ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/link.h @@ -0,0 +1,57 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +/* Registers for entry into PLT on M68K. */ +typedef struct La_m68k_regs +{ + uint32_t lr_a0; + uint32_t lr_a1; + uint32_t lr_sp; +} La_m68k_regs; + +/* Return values for calls from PLT on M68K. */ +typedef struct La_m68k_retval +{ + uint32_t lrv_d0; + uint32_t lrv_d1; + uint32_t lrv_a0; + long double lrv_fp0; +} La_m68k_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_m68k_gnu_pltenter (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_m68k_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_m68k_gnu_pltexit (Elf32_Sym *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_m68k_regs *__inregs, + La_m68k_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..601eef7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/long-double.h @@ -0,0 +1,21 @@ +/* Properties of long double type. ldbl-96 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* long double is distinct from double, so there is nothing to + define here. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h new file mode 100644 index 00000000..29aba43c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs-id.h @@ -0,0 +1,25 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. M68K version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..b9e89239 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/procfs.h @@ -0,0 +1,34 @@ +/* Types for registers for sys/procfs.h. M68K version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +/* Type for a general-purpose register. */ +typedef unsigned long elf_greg_t; + +/* And the whole bunch of them. We could have used `struct + user_regs_struct' directly in the typedef, but tradition says that + the register set is an array, which does have some peculiar + semantics, so leave it that way. */ +#define ELF_NGREG (sizeof (struct user_regs_struct) / sizeof (elf_greg_t)) +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +/* Register set for the floating-point registers. */ +typedef struct user_m68kfp_struct elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..9fbaf82a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/pthreadtypes-arch.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2010-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#define __SIZEOF_PTHREAD_ATTR_T 36 +#define __SIZEOF_PTHREAD_MUTEX_T 24 +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCK_T 32 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIER_T 20 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT __attribute__ ((__aligned__ (4))) +#define __ONCE_ALIGNMENT __attribute__ ((__aligned__ (4))) + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/semaphore.h new file mode 100644 index 00000000..a4487453 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/semaphore.h @@ -0,0 +1,34 @@ +/* Copyright (C) 2010-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + + +#define __SIZEOF_SEM_T 16 + + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align __attribute__ ((__aligned__ (4))); +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..dd73bb69 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/setjmp.h @@ -0,0 +1,46 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. m68k version. */ +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +typedef struct __jmp_buf_internal_tag + { + /* There are eight 4-byte data registers, but D0 is not saved. */ + long int __dregs[7]; + + /* There are six 4-byte address registers, plus the FP and SP. */ + int *__aregs[6]; + int *__fp; + int *__sp; + +#if defined __HAVE_68881__ || defined __HAVE_FPU__ + /* There are eight floating point registers which + are saved in IEEE 96-bit extended format. */ + char __fpregs[8 * (96 / 8)]; +#elif defined __mcffpu__ + char __fpregs[8 * (64 / 8)]; +#endif + + } __jmp_buf[1]; + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h new file mode 100644 index 00000000..0c44604c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/sockaddr.h @@ -0,0 +1,42 @@ +/* Definition of struct sockaddr_* members and sizes, Linux/m68k version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* + * Never include this file directly; use instead. + */ + +#ifndef _BITS_SOCKADDR_H +#define _BITS_SOCKADDR_H 1 + + +/* POSIX.1g specifies this type name for the `sa_family' member. */ +typedef unsigned short int sa_family_t; + +/* This macro is used to declare the initial common members + of the data types used for socket addresses, `struct sockaddr', + `struct sockaddr_in', `struct sockaddr_un', etc. */ + +#define __SOCKADDR_COMMON(sa_prefix) \ + sa_family_t sa_prefix##family + +#define __SOCKADDR_COMMON_SIZE (sizeof (unsigned short int)) + +/* Size of struct sockaddr_storage. */ +#define _SS_SIZE 126 + +#endif /* bits/sockaddr.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..4ac869dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/struct_stat.h @@ -0,0 +1,135 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned short int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..36ba5733 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, Linux/m68k. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..74ad928d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/typesizes.h @@ -0,0 +1,74 @@ +/* bits/typesizes.h -- underlying types for *_t. m68k version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#define __RLIM_T_MATCHES_RLIM64_T 0 +#define __STATFS_MATCHES_STATFS64 0 +/* And for getitimer, setitimer and rusage */ +#define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..db329914 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/bits/wordsize.h @@ -0,0 +1,21 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#define __WORDSIZE 32 +#define __WORDSIZE_TIME64_COMPAT32 1 +#define __WORDSIZE32_SIZE_ULONG 0 +#define __WORDSIZE32_PTRDIFF_LONG 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/fpu_control.h new file mode 100644 index 00000000..a9ee0ef2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/fpu_control.h @@ -0,0 +1,118 @@ +/* 68k FPU control word definitions. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +/* + * Motorola floating point control register bits. + * + * 31-16 -> reserved (read as 0, ignored on write) + * 15 -> enable trap for BSUN exception + * 14 -> enable trap for SNAN exception + * 13 -> enable trap for OPERR exception + * 12 -> enable trap for OVFL exception + * 11 -> enable trap for UNFL exception + * 10 -> enable trap for DZ exception + * 9 -> enable trap for INEX2 exception (INEX on Coldfire) + * 8 -> enable trap for INEX1 exception (IDE on Coldfire) + * 7-6 -> Precision Control (only bit 6 is used on Coldfire) + * 5-4 -> Rounding Control + * 3-0 -> zero (read as 0, write as 0) + * + * + * Precision Control: + * 00 - round to extended precision + * 01 - round to single precision + * 10 - round to double precision + * 11 - undefined + * + * Rounding Control: + * 00 - rounding to nearest (RN) + * 01 - rounding toward zero (RZ) + * 10 - rounding (down)toward minus infinity (RM) + * 11 - rounding (up) toward plus infinity (RP) + * + * The hardware default is 0x0000. I choose 0x5400. + */ + +#include + +#if defined (__mcoldfire__) && !defined (__mcffpu__) + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +# define _FPU_GETCW(cw) ((cw) = 0) +# define _FPU_SETCW(cw) ((void) (cw)) + +#else + +/* masking of interrupts */ +# define _FPU_MASK_BSUN 0x8000 +# define _FPU_MASK_SNAN 0x4000 +# define _FPU_MASK_OPERR 0x2000 +# define _FPU_MASK_OVFL 0x1000 +# define _FPU_MASK_UNFL 0x0800 +# define _FPU_MASK_DZ 0x0400 +# define _FPU_MASK_INEX1 0x0200 +# define _FPU_MASK_INEX2 0x0100 + +/* precision control */ +# ifdef __mcoldfire__ +# define _FPU_DOUBLE 0x00 +# else +# define _FPU_EXTENDED 0x00 /* RECOMMENDED */ +# define _FPU_DOUBLE 0x80 +# endif +# define _FPU_SINGLE 0x40 /* DO NOT USE */ + +/* rounding control */ +# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +# define _FPU_RC_ZERO 0x10 +# define _FPU_RC_DOWN 0x20 +# define _FPU_RC_UP 0x30 + +# ifdef __mcoldfire__ +# define _FPU_RESERVED 0xFFFF800F +# else +# define _FPU_RESERVED 0xFFFF000F /* Reserved bits in fpucr */ +# endif + + +/* Now two recommended fpucr */ + +/* The fdlibm code requires no interrupts for exceptions. Don't + change the rounding mode, it would break long double I/O! */ +# define _FPU_DEFAULT 0x00000000 + +/* IEEE: same as above, but exceptions. We must make it non-zero so + that __setfpucw works. This bit will be ignored. */ +# define _FPU_IEEE 0x00000001 + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) __asm__ ("fmove%.l %!, %0" : "=dm" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("fmove%.l %0, %!" : : "dm" (cw)) +#endif + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* _M68K_FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..f72e37a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/lib-names.h @@ -0,0 +1,29 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.2" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/gnu/stubs.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/reg.h new file mode 100644 index 00000000..c2477b54 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/reg.h @@ -0,0 +1,101 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_REG_H +#define _SYS_REG_H 1 + +/* Index into an array of 4 byte integers returned from ptrace for + location of the users' stored general purpose registers. */ + +enum +{ + PT_D1 = 0, +#define PT_D1 PT_D1 + PT_D2 = 1, +#define PT_D2 PT_D2 + PT_D3 = 2, +#define PT_D3 PT_D3 + PT_D4 = 3, +#define PT_D4 PT_D4 + PT_D5 = 4, +#define PT_D5 PT_D5 + PT_D6 = 5, +#define PT_D6 PT_D6 + PT_D7 = 6, +#define PT_D7 PT_D7 + PT_A0 = 7, +#define PT_A0 PT_A0 + PT_A1 = 8, +#define PT_A1 PT_A1 + PT_A2 = 9, +#define PT_A2 PT_A2 + PT_A3 = 10, +#define PT_A3 PT_A3 + PT_A4 = 11, +#define PT_A4 PT_A4 + PT_A5 = 12, +#define PT_A5 PT_A5 + PT_A6 = 13, +#define PT_A6 PT_A6 + PT_D0 = 14, +#define PT_D0 PT_D0 + PT_USP = 15, +#define PT_USP PT_USP + PT_ORIG_D0 = 16, +#define PT_ORIG_D0 PT_ORIG_D0 + PT_SR = 17, +#define PT_SR PT_SR + PT_PC = 18, +#define PT_PC PT_PC + +#ifdef __mcoldfire__ + PT_FP0 = 21, + PT_FP1 = 23, + PT_FP2 = 25, + PT_FP3 = 27, + PT_FP4 = 29, + PT_FP5 = 31, + PT_FP6 = 33, + PT_FP7 = 35, +#else + PT_FP0 = 21, + PT_FP1 = 24, + PT_FP2 = 27, + PT_FP3 = 30, + PT_FP4 = 33, + PT_FP5 = 36, + PT_FP6 = 39, + PT_FP7 = 42, +#endif +#define PT_FP0 PT_FP0 +#define PT_FP1 PT_FP1 +#define PT_FP2 PT_FP2 +#define PT_FP3 PT_FP3 +#define PT_FP4 PT_FP4 +#define PT_FP5 PT_FP5 +#define PT_FP6 PT_FP6 +#define PT_FP7 PT_FP7 + + PT_FPCR = 45, +#define PT_FPCR PT_FPCR + PT_FPSR = 46, +#define PT_FPSR PT_FPSR + PT_FPIAR = 47 +#define PT_FPIAR PT_FPIAR +}; + +#endif /* _SYS_REG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..fe4b8b29 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/ucontext.h @@ -0,0 +1,130 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* System V/m68k ABI compliant context switching support. */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +/* Type for general register. */ +typedef int greg_t; + +/* Number of general registers. */ +#define __NGREG 18 +#ifdef __USE_MISC +# define NGREG __NGREG +#endif + +/* Container for all general registers. */ +typedef greg_t gregset_t[__NGREG]; + +#ifdef __USE_MISC +/* Number of each register is the `gregset_t' array. */ +enum +{ + R_D0 = 0, +# define R_D0 R_D0 + R_D1 = 1, +# define R_D1 R_D1 + R_D2 = 2, +# define R_D2 R_D2 + R_D3 = 3, +# define R_D3 R_D3 + R_D4 = 4, +# define R_D4 R_D4 + R_D5 = 5, +# define R_D5 R_D5 + R_D6 = 6, +# define R_D6 R_D6 + R_D7 = 7, +# define R_D7 R_D7 + R_A0 = 8, +# define R_A0 R_A0 + R_A1 = 9, +# define R_A1 R_A1 + R_A2 = 10, +# define R_A2 R_A2 + R_A3 = 11, +# define R_A3 R_A3 + R_A4 = 12, +# define R_A4 R_A4 + R_A5 = 13, +# define R_A5 R_A5 + R_A6 = 14, +# define R_A6 R_A6 + R_A7 = 15, +# define R_A7 R_A7 + R_SP = 15, +# define R_SP R_SP + R_PC = 16, +# define R_PC R_PC + R_PS = 17 +# define R_PS R_PS +}; +#endif + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +/* Structure to describe FPU registers. */ +typedef struct +{ + int __ctx(f_pcr); + int __ctx(f_psr); + int __ctx(f_fpiaddr); +#ifdef __mcoldfire__ + int __ctx(f_fpregs)[8][2]; +#else + int __ctx(f_fpregs)[8][3]; +#endif +} fpregset_t; + +/* Context to describe whole processor state. */ +typedef struct +{ + int __ctx(version); + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); +} mcontext_t; + +#ifdef __USE_MISC +# define MCONTEXT_VERSION 2 +#endif + +/* Userlevel context. */ +typedef struct ucontext_t +{ + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + unsigned long __glibc_reserved1[80]; + sigset_t uc_sigmask; +} ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/user.h new file mode 100644 index 00000000..577e775b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-gnu/sys/user.h @@ -0,0 +1,65 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct user_m68kfp_struct { + unsigned long fpregs[8*3]; + unsigned long fpcntl[3]; +}; + +struct user_regs_struct { + long d1, d2, d3, d4, d5, d6, d7; + long a0, a1, a2, a3, a4, a5, a6; + long d0; + long usp; + long orig_d0; + short stkadj; + short sr; + long pc; + short fmtvec; + short __fill; +}; + +struct user { + struct user_regs_struct regs; + int u_fpvalid; + struct user_m68kfp_struct m68kfp; + unsigned long int u_tsize; + unsigned long int u_dsize; + unsigned long int u_ssize; + unsigned long start_code; + unsigned long start_stack; + long int signal; + int reserved; + unsigned long u_ar0; + struct user_m68kfp_struct *u_fpstate; + unsigned long magic; + char u_comm[32]; +}; + +#define NBPG 4096 +#define UPAGES 1 +#define HOST_TEXT_START_ADDR u.start_code +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..12744ba5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/alltypes.h @@ -0,0 +1,424 @@ +#define _REDIR_TIME64 1 +#define _Addr int +#define _Int64 long long +#define _Reg int + +#define __BYTE_ORDER 4321 +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#ifdef __WCHAR_TYPE__ +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef __WCHAR_TYPE__ wchar_t; +#define __DEFINED_wchar_t +#endif + +#else +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef long wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif +#endif + +#if __mcffpu__ +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + +#else +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef long double float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef long double double_t; +#define __DEFINED_double_t +#endif + +#endif + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..5896a00f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 0200000 +#define O_LARGEFILE 0400000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 12 +#define F_SETLK 13 +#define F_SETLKW 14 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fenv.h new file mode 100644 index 00000000..6c9bbca0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/fenv.h @@ -0,0 +1,29 @@ +#if __HAVE_68881__ || __mcffpu__ + +#define FE_INEXACT 8 +#define FE_DIVBYZERO 16 +#define FE_UNDERFLOW 32 +#define FE_OVERFLOW 64 +#define FE_INVALID 128 + +#define FE_ALL_EXCEPT 0xf8 + +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 16 +#define FE_DOWNWARD 32 +#define FE_UPWARD 48 + +#else + +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 + +#endif + +typedef unsigned fexcept_t; + +typedef struct { + unsigned __control_register, __status_register, __instruction_address; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/float.h new file mode 100644 index 00000000..e1e76892 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/float.h @@ -0,0 +1,39 @@ +#if !__mcffpu__ + +#define FLT_EVAL_METHOD 2 + +#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L +#define LDBL_MIN 1.68105157155604675313e-4932L +#define LDBL_MAX 1.1897314953572317650e+4932L +#define LDBL_EPSILON 1.0842021724855044340e-19L + +#define LDBL_MANT_DIG 64 +#define LDBL_MIN_EXP (-16382) +#define LDBL_MAX_EXP 16384 + +#define LDBL_DIG 18 +#define LDBL_MIN_10_EXP (-4931) +#define LDBL_MAX_10_EXP 4932 + +#define DECIMAL_DIG 21 + +#else + +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 4.94065645841246544177e-324L +#define LDBL_MIN 2.22507385850720138309e-308L +#define LDBL_MAX 1.79769313486231570815e+308L +#define LDBL_EPSILON 2.22044604925031308085e-16L + +#define LDBL_MANT_DIG 53 +#define LDBL_MIN_EXP (-1021) +#define LDBL_MAX_EXP 1024 + +#define LDBL_DIG 15 +#define LDBL_MIN_10_EXP (-307) +#define LDBL_MAX_10_EXP 308 + +#define DECIMAL_DIG 17 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/msg.h new file mode 100644 index 00000000..037fd956 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/msg.h @@ -0,0 +1,18 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..aa271974 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/ptrace.h @@ -0,0 +1,2 @@ +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SINGLEBLOCK 33 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/reg.h new file mode 100644 index 00000000..b1d52554 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/reg.h @@ -0,0 +1,45 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 +#define PT_D1 0 +#define PT_D2 1 +#define PT_D3 2 +#define PT_D4 3 +#define PT_D5 4 +#define PT_D6 5 +#define PT_D7 6 +#define PT_A0 7 +#define PT_A1 8 +#define PT_A2 9 +#define PT_A3 10 +#define PT_A4 11 +#define PT_A5 12 +#define PT_A6 13 +#define PT_D0 14 +#define PT_USP 15 +#define PT_ORIG_D0 16 +#define PT_SR 17 +#define PT_PC 18 + +#if __mcffpu__ +#define PT_FP0 21 +#define PT_FP1 23 +#define PT_FP2 25 +#define PT_FP3 27 +#define PT_FP4 29 +#define PT_FP5 31 +#define PT_FP6 33 +#define PT_FP7 35 +#else +#define PT_FP0 21 +#define PT_FP1 24 +#define PT_FP2 27 +#define PT_FP3 30 +#define PT_FP4 33 +#define PT_FP5 36 +#define PT_FP6 39 +#define PT_FP7 42 +#endif + +#define PT_FPCR 45 +#define PT_FPSR 46 +#define PT_FPIAR 47 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/sem.h new file mode 100644 index 00000000..97738aaf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/sem.h @@ -0,0 +1,13 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_lo; + unsigned long __sem_otime_hi; + unsigned long __sem_ctime_lo; + unsigned long __sem_ctime_hi; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; + long __unused3; + long __unused4; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..f4491c93 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long __jmp_buf[39]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/shm.h new file mode 100644 index 00000000..1ecb03ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/shm.h @@ -0,0 +1,31 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + unsigned long __shm_atime_lo; + unsigned long __shm_atime_hi; + unsigned long __shm_dtime_lo; + unsigned long __shm_dtime_hi; + unsigned long __shm_ctime_lo; + unsigned long __shm_ctime_hi; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __pad1; + unsigned long __pad2; + unsigned long __pad3; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/signal.h new file mode 100644 index 00000000..17cd3ad4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/signal.h @@ -0,0 +1,140 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#ifdef _GNU_SOURCE +enum { R_D0 = 0 }; +#define R_D0 R_D0 +enum { R_D1 = 1 }; +#define R_D1 R_D1 +enum { R_D2 = 2 }; +#define R_D2 R_D2 +enum { R_D3 = 3 }; +#define R_D3 R_D3 +enum { R_D4 = 4 }; +#define R_D4 R_D4 +enum { R_D5 = 5 }; +#define R_D5 R_D5 +enum { R_D6 = 6 }; +#define R_D6 R_D6 +enum { R_D7 = 7 }; +#define R_D7 R_D7 +enum { R_A0 = 8 }; +#define R_A0 R_A0 +enum { R_A1 = 9 }; +#define R_A1 R_A1 +enum { R_A2 = 10 }; +#define R_A2 R_A2 +enum { R_A3 = 11 }; +#define R_A3 R_A3 +enum { R_A4 = 12 }; +#define R_A4 R_A4 +enum { R_A5 = 13 }; +#define R_A5 R_A5 +enum { R_A6 = 14 }; +#define R_A6 R_A6 +enum { R_A7 = 15 }; +#define R_A7 R_A7 +enum { R_SP = 15 }; +#define R_SP R_SP +enum { R_PC = 16 }; +#define R_PC R_PC +enum { R_PS = 17 }; +#define R_PS R_PS +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +struct sigcontext { + unsigned long sc_mask, sc_usp, sc_d0, sc_d1, sc_a0, sc_a1; + unsigned short sc_sr; + unsigned long sc_pc; + unsigned short sc_formatvec; + unsigned long sc_fpregs[6], sc_fpcntl[3]; + unsigned char sc_fpstate[216]; +}; + +typedef int greg_t, gregset_t[18]; +typedef struct { + int f_pcr, f_psr, f_fpiaddr, f_fpregs[8][3]; +} fpregset_t; + +typedef struct { + int version; + gregset_t gregs; + fpregset_t fpregs; +} mcontext_t; +#else +typedef struct { + int __version; + int __gregs[18]; + int __fpregs[27]; +} mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + long __reserved[80]; + sigset_t uc_sigmask; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 2 +#define SA_SIGINFO 4 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_RESTORER 0x04000000 + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL 29 +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stat.h new file mode 100644 index 00000000..9a0d732f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stat.h @@ -0,0 +1,25 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + +struct stat { + dev_t st_dev; + short __st_dev_padding; + long __st_ino_truncated; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + short __st_rdev_padding; + off_t st_size; + blksize_t st_blksize; + blkcnt_t st_blocks; + struct { + long tv_sec; + long tv_nsec; + } __st_atim32, __st_mtim32, __st_ctim32; + ino_t st_ino; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/syscall.h new file mode 100644 index 00000000..89888dc3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/syscall.h @@ -0,0 +1,846 @@ +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_chown 16 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday_time32 78 +#define __NR_settimeofday_time32 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_vhangup 111 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_cacheflush 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_getpagesize 166 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_setresgid 170 +#define __NR_getresgid 171 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_lchown 182 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 +#define __NR_putpmsg 189 +#define __NR_vfork 190 +#define __NR_ugetrlimit 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_chown32 198 +#define __NR_getuid32 199 +#define __NR_getgid32 200 +#define __NR_geteuid32 201 +#define __NR_getegid32 202 +#define __NR_setreuid32 203 +#define __NR_setregid32 204 +#define __NR_getgroups32 205 +#define __NR_setgroups32 206 +#define __NR_fchown32 207 +#define __NR_setresuid32 208 +#define __NR_getresuid32 209 +#define __NR_setresgid32 210 +#define __NR_getresgid32 211 +#define __NR_lchown32 212 +#define __NR_setuid32 213 +#define __NR_setgid32 214 +#define __NR_setfsuid32 215 +#define __NR_setfsgid32 216 +#define __NR_pivot_root 217 +#define __NR_getdents64 220 +#define __NR_gettid 221 +#define __NR_tkill 222 +#define __NR_setxattr 223 +#define __NR_lsetxattr 224 +#define __NR_fsetxattr 225 +#define __NR_getxattr 226 +#define __NR_lgetxattr 227 +#define __NR_fgetxattr 228 +#define __NR_listxattr 229 +#define __NR_llistxattr 230 +#define __NR_flistxattr 231 +#define __NR_removexattr 232 +#define __NR_lremovexattr 233 +#define __NR_fremovexattr 234 +#define __NR_futex 235 +#define __NR_sendfile64 236 +#define __NR_mincore 237 +#define __NR_madvise 238 +#define __NR_fcntl64 239 +#define __NR_readahead 240 +#define __NR_io_setup 241 +#define __NR_io_destroy 242 +#define __NR_io_getevents 243 +#define __NR_io_submit 244 +#define __NR_io_cancel 245 +#define __NR_fadvise64 246 +#define __NR_exit_group 247 +#define __NR_lookup_dcookie 248 +#define __NR_epoll_create 249 +#define __NR_epoll_ctl 250 +#define __NR_epoll_wait 251 +#define __NR_remap_file_pages 252 +#define __NR_set_tid_address 253 +#define __NR_timer_create 254 +#define __NR_timer_settime32 255 +#define __NR_timer_gettime32 256 +#define __NR_timer_getoverrun 257 +#define __NR_timer_delete 258 +#define __NR_clock_settime32 259 +#define __NR_clock_gettime32 260 +#define __NR_clock_getres_time32 261 +#define __NR_clock_nanosleep_time32 262 +#define __NR_statfs64 263 +#define __NR_fstatfs64 264 +#define __NR_tgkill 265 +#define __NR_utimes 266 +#define __NR_fadvise64_64 267 +#define __NR_mbind 268 +#define __NR_get_mempolicy 269 +#define __NR_set_mempolicy 270 +#define __NR_mq_open 271 +#define __NR_mq_unlink 272 +#define __NR_mq_timedsend 273 +#define __NR_mq_timedreceive 274 +#define __NR_mq_notify 275 +#define __NR_mq_getsetattr 276 +#define __NR_waitid 277 +#define __NR_add_key 279 +#define __NR_request_key 280 +#define __NR_keyctl 281 +#define __NR_ioprio_set 282 +#define __NR_ioprio_get 283 +#define __NR_inotify_init 284 +#define __NR_inotify_add_watch 285 +#define __NR_inotify_rm_watch 286 +#define __NR_migrate_pages 287 +#define __NR_openat 288 +#define __NR_mkdirat 289 +#define __NR_mknodat 290 +#define __NR_fchownat 291 +#define __NR_futimesat 292 +#define __NR_fstatat64 293 +#define __NR_unlinkat 294 +#define __NR_renameat 295 +#define __NR_linkat 296 +#define __NR_symlinkat 297 +#define __NR_readlinkat 298 +#define __NR_fchmodat 299 +#define __NR_faccessat 300 +#define __NR_pselect6 301 +#define __NR_ppoll 302 +#define __NR_unshare 303 +#define __NR_set_robust_list 304 +#define __NR_get_robust_list 305 +#define __NR_splice 306 +#define __NR_sync_file_range 307 +#define __NR_tee 308 +#define __NR_vmsplice 309 +#define __NR_move_pages 310 +#define __NR_sched_setaffinity 311 +#define __NR_sched_getaffinity 312 +#define __NR_kexec_load 313 +#define __NR_getcpu 314 +#define __NR_epoll_pwait 315 +#define __NR_utimensat 316 +#define __NR_signalfd 317 +#define __NR_timerfd_create 318 +#define __NR_eventfd 319 +#define __NR_fallocate 320 +#define __NR_timerfd_settime32 321 +#define __NR_timerfd_gettime32 322 +#define __NR_signalfd4 323 +#define __NR_eventfd2 324 +#define __NR_epoll_create1 325 +#define __NR_dup3 326 +#define __NR_pipe2 327 +#define __NR_inotify_init1 328 +#define __NR_preadv 329 +#define __NR_pwritev 330 +#define __NR_rt_tgsigqueueinfo 331 +#define __NR_perf_event_open 332 +#define __NR_get_thread_area 333 +#define __NR_set_thread_area 334 +#define __NR_atomic_cmpxchg_32 335 +#define __NR_atomic_barrier 336 +#define __NR_fanotify_init 337 +#define __NR_fanotify_mark 338 +#define __NR_prlimit64 339 +#define __NR_name_to_handle_at 340 +#define __NR_open_by_handle_at 341 +#define __NR_clock_adjtime 342 +#define __NR_syncfs 343 +#define __NR_setns 344 +#define __NR_process_vm_readv 345 +#define __NR_process_vm_writev 346 +#define __NR_kcmp 347 +#define __NR_finit_module 348 +#define __NR_sched_setattr 349 +#define __NR_sched_getattr 350 +#define __NR_renameat2 351 +#define __NR_getrandom 352 +#define __NR_memfd_create 353 +#define __NR_bpf 354 +#define __NR_execveat 355 +#define __NR_socket 356 +#define __NR_socketpair 357 +#define __NR_bind 358 +#define __NR_connect 359 +#define __NR_listen 360 +#define __NR_accept4 361 +#define __NR_getsockopt 362 +#define __NR_setsockopt 363 +#define __NR_getsockname 364 +#define __NR_getpeername 365 +#define __NR_sendto 366 +#define __NR_sendmsg 367 +#define __NR_recvfrom 368 +#define __NR_recvmsg 369 +#define __NR_shutdown 370 +#define __NR_recvmmsg 371 +#define __NR_sendmmsg 372 +#define __NR_userfaultfd 373 +#define __NR_membarrier 374 +#define __NR_mlock2 375 +#define __NR_copy_file_range 376 +#define __NR_preadv2 377 +#define __NR_pwritev2 378 +#define __NR_statx 379 +#define __NR_seccomp 380 +#define __NR_pkey_mprotect 381 +#define __NR_pkey_alloc 382 +#define __NR_pkey_free 383 +#define __NR_rseq 384 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define SYS_restart_syscall 0 +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_waitpid 7 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execve 11 +#define SYS_chdir 12 +#define SYS_time 13 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_chown 16 +#define SYS_oldstat 18 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_mount 21 +#define SYS_umount 22 +#define SYS_setuid 23 +#define SYS_getuid 24 +#define SYS_stime 25 +#define SYS_ptrace 26 +#define SYS_alarm 27 +#define SYS_oldfstat 28 +#define SYS_pause 29 +#define SYS_utime 30 +#define SYS_access 33 +#define SYS_nice 34 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_rename 38 +#define SYS_mkdir 39 +#define SYS_rmdir 40 +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_times 43 +#define SYS_brk 45 +#define SYS_setgid 46 +#define SYS_getgid 47 +#define SYS_signal 48 +#define SYS_geteuid 49 +#define SYS_getegid 50 +#define SYS_acct 51 +#define SYS_umount2 52 +#define SYS_ioctl 54 +#define SYS_fcntl 55 +#define SYS_setpgid 57 +#define SYS_umask 60 +#define SYS_chroot 61 +#define SYS_ustat 62 +#define SYS_dup2 63 +#define SYS_getppid 64 +#define SYS_getpgrp 65 +#define SYS_setsid 66 +#define SYS_sigaction 67 +#define SYS_sgetmask 68 +#define SYS_ssetmask 69 +#define SYS_setreuid 70 +#define SYS_setregid 71 +#define SYS_sigsuspend 72 +#define SYS_sigpending 73 +#define SYS_sethostname 74 +#define SYS_setrlimit 75 +#define SYS_getrlimit 76 +#define SYS_getrusage 77 +#define SYS_gettimeofday_time32 78 +#define SYS_settimeofday_time32 79 +#define SYS_getgroups 80 +#define SYS_setgroups 81 +#define SYS_select 82 +#define SYS_symlink 83 +#define SYS_oldlstat 84 +#define SYS_readlink 85 +#define SYS_uselib 86 +#define SYS_swapon 87 +#define SYS_reboot 88 +#define SYS_readdir 89 +#define SYS_mmap 90 +#define SYS_munmap 91 +#define SYS_truncate 92 +#define SYS_ftruncate 93 +#define SYS_fchmod 94 +#define SYS_fchown 95 +#define SYS_getpriority 96 +#define SYS_setpriority 97 +#define SYS_statfs 99 +#define SYS_fstatfs 100 +#define SYS_socketcall 102 +#define SYS_syslog 103 +#define SYS_setitimer 104 +#define SYS_getitimer 105 +#define SYS_stat 106 +#define SYS_lstat 107 +#define SYS_fstat 108 +#define SYS_vhangup 111 +#define SYS_wait4 114 +#define SYS_swapoff 115 +#define SYS_sysinfo 116 +#define SYS_ipc 117 +#define SYS_fsync 118 +#define SYS_sigreturn 119 +#define SYS_clone 120 +#define SYS_setdomainname 121 +#define SYS_uname 122 +#define SYS_cacheflush 123 +#define SYS_adjtimex 124 +#define SYS_mprotect 125 +#define SYS_sigprocmask 126 +#define SYS_create_module 127 +#define SYS_init_module 128 +#define SYS_delete_module 129 +#define SYS_get_kernel_syms 130 +#define SYS_quotactl 131 +#define SYS_getpgid 132 +#define SYS_fchdir 133 +#define SYS_bdflush 134 +#define SYS_sysfs 135 +#define SYS_personality 136 +#define SYS_setfsuid 138 +#define SYS_setfsgid 139 +#define SYS__llseek 140 +#define SYS_getdents 141 +#define SYS__newselect 142 +#define SYS_flock 143 +#define SYS_msync 144 +#define SYS_readv 145 +#define SYS_writev 146 +#define SYS_getsid 147 +#define SYS_fdatasync 148 +#define SYS__sysctl 149 +#define SYS_mlock 150 +#define SYS_munlock 151 +#define SYS_mlockall 152 +#define SYS_munlockall 153 +#define SYS_sched_setparam 154 +#define SYS_sched_getparam 155 +#define SYS_sched_setscheduler 156 +#define SYS_sched_getscheduler 157 +#define SYS_sched_yield 158 +#define SYS_sched_get_priority_max 159 +#define SYS_sched_get_priority_min 160 +#define SYS_sched_rr_get_interval 161 +#define SYS_nanosleep 162 +#define SYS_mremap 163 +#define SYS_setresuid 164 +#define SYS_getresuid 165 +#define SYS_getpagesize 166 +#define SYS_query_module 167 +#define SYS_poll 168 +#define SYS_nfsservctl 169 +#define SYS_setresgid 170 +#define SYS_getresgid 171 +#define SYS_prctl 172 +#define SYS_rt_sigreturn 173 +#define SYS_rt_sigaction 174 +#define SYS_rt_sigprocmask 175 +#define SYS_rt_sigpending 176 +#define SYS_rt_sigtimedwait 177 +#define SYS_rt_sigqueueinfo 178 +#define SYS_rt_sigsuspend 179 +#define SYS_pread64 180 +#define SYS_pwrite64 181 +#define SYS_lchown 182 +#define SYS_getcwd 183 +#define SYS_capget 184 +#define SYS_capset 185 +#define SYS_sigaltstack 186 +#define SYS_sendfile 187 +#define SYS_getpmsg 188 +#define SYS_putpmsg 189 +#define SYS_vfork 190 +#define SYS_ugetrlimit 191 +#define SYS_mmap2 192 +#define SYS_truncate64 193 +#define SYS_ftruncate64 194 +#define SYS_stat64 195 +#define SYS_lstat64 196 +#define SYS_fstat64 197 +#define SYS_chown32 198 +#define SYS_getuid32 199 +#define SYS_getgid32 200 +#define SYS_geteuid32 201 +#define SYS_getegid32 202 +#define SYS_setreuid32 203 +#define SYS_setregid32 204 +#define SYS_getgroups32 205 +#define SYS_setgroups32 206 +#define SYS_fchown32 207 +#define SYS_setresuid32 208 +#define SYS_getresuid32 209 +#define SYS_setresgid32 210 +#define SYS_getresgid32 211 +#define SYS_lchown32 212 +#define SYS_setuid32 213 +#define SYS_setgid32 214 +#define SYS_setfsuid32 215 +#define SYS_setfsgid32 216 +#define SYS_pivot_root 217 +#define SYS_getdents64 220 +#define SYS_gettid 221 +#define SYS_tkill 222 +#define SYS_setxattr 223 +#define SYS_lsetxattr 224 +#define SYS_fsetxattr 225 +#define SYS_getxattr 226 +#define SYS_lgetxattr 227 +#define SYS_fgetxattr 228 +#define SYS_listxattr 229 +#define SYS_llistxattr 230 +#define SYS_flistxattr 231 +#define SYS_removexattr 232 +#define SYS_lremovexattr 233 +#define SYS_fremovexattr 234 +#define SYS_futex 235 +#define SYS_sendfile64 236 +#define SYS_mincore 237 +#define SYS_madvise 238 +#define SYS_fcntl64 239 +#define SYS_readahead 240 +#define SYS_io_setup 241 +#define SYS_io_destroy 242 +#define SYS_io_getevents 243 +#define SYS_io_submit 244 +#define SYS_io_cancel 245 +#define SYS_fadvise64 246 +#define SYS_exit_group 247 +#define SYS_lookup_dcookie 248 +#define SYS_epoll_create 249 +#define SYS_epoll_ctl 250 +#define SYS_epoll_wait 251 +#define SYS_remap_file_pages 252 +#define SYS_set_tid_address 253 +#define SYS_timer_create 254 +#define SYS_timer_settime32 255 +#define SYS_timer_gettime32 256 +#define SYS_timer_getoverrun 257 +#define SYS_timer_delete 258 +#define SYS_clock_settime32 259 +#define SYS_clock_gettime32 260 +#define SYS_clock_getres_time32 261 +#define SYS_clock_nanosleep_time32 262 +#define SYS_statfs64 263 +#define SYS_fstatfs64 264 +#define SYS_tgkill 265 +#define SYS_utimes 266 +#define SYS_fadvise64_64 267 +#define SYS_mbind 268 +#define SYS_get_mempolicy 269 +#define SYS_set_mempolicy 270 +#define SYS_mq_open 271 +#define SYS_mq_unlink 272 +#define SYS_mq_timedsend 273 +#define SYS_mq_timedreceive 274 +#define SYS_mq_notify 275 +#define SYS_mq_getsetattr 276 +#define SYS_waitid 277 +#define SYS_add_key 279 +#define SYS_request_key 280 +#define SYS_keyctl 281 +#define SYS_ioprio_set 282 +#define SYS_ioprio_get 283 +#define SYS_inotify_init 284 +#define SYS_inotify_add_watch 285 +#define SYS_inotify_rm_watch 286 +#define SYS_migrate_pages 287 +#define SYS_openat 288 +#define SYS_mkdirat 289 +#define SYS_mknodat 290 +#define SYS_fchownat 291 +#define SYS_futimesat 292 +#define SYS_fstatat64 293 +#define SYS_unlinkat 294 +#define SYS_renameat 295 +#define SYS_linkat 296 +#define SYS_symlinkat 297 +#define SYS_readlinkat 298 +#define SYS_fchmodat 299 +#define SYS_faccessat 300 +#define SYS_pselect6 301 +#define SYS_ppoll 302 +#define SYS_unshare 303 +#define SYS_set_robust_list 304 +#define SYS_get_robust_list 305 +#define SYS_splice 306 +#define SYS_sync_file_range 307 +#define SYS_tee 308 +#define SYS_vmsplice 309 +#define SYS_move_pages 310 +#define SYS_sched_setaffinity 311 +#define SYS_sched_getaffinity 312 +#define SYS_kexec_load 313 +#define SYS_getcpu 314 +#define SYS_epoll_pwait 315 +#define SYS_utimensat 316 +#define SYS_signalfd 317 +#define SYS_timerfd_create 318 +#define SYS_eventfd 319 +#define SYS_fallocate 320 +#define SYS_timerfd_settime32 321 +#define SYS_timerfd_gettime32 322 +#define SYS_signalfd4 323 +#define SYS_eventfd2 324 +#define SYS_epoll_create1 325 +#define SYS_dup3 326 +#define SYS_pipe2 327 +#define SYS_inotify_init1 328 +#define SYS_preadv 329 +#define SYS_pwritev 330 +#define SYS_rt_tgsigqueueinfo 331 +#define SYS_perf_event_open 332 +#define SYS_get_thread_area 333 +#define SYS_set_thread_area 334 +#define SYS_atomic_cmpxchg_32 335 +#define SYS_atomic_barrier 336 +#define SYS_fanotify_init 337 +#define SYS_fanotify_mark 338 +#define SYS_prlimit64 339 +#define SYS_name_to_handle_at 340 +#define SYS_open_by_handle_at 341 +#define SYS_clock_adjtime 342 +#define SYS_syncfs 343 +#define SYS_setns 344 +#define SYS_process_vm_readv 345 +#define SYS_process_vm_writev 346 +#define SYS_kcmp 347 +#define SYS_finit_module 348 +#define SYS_sched_setattr 349 +#define SYS_sched_getattr 350 +#define SYS_renameat2 351 +#define SYS_getrandom 352 +#define SYS_memfd_create 353 +#define SYS_bpf 354 +#define SYS_execveat 355 +#define SYS_socket 356 +#define SYS_socketpair 357 +#define SYS_bind 358 +#define SYS_connect 359 +#define SYS_listen 360 +#define SYS_accept4 361 +#define SYS_getsockopt 362 +#define SYS_setsockopt 363 +#define SYS_getsockname 364 +#define SYS_getpeername 365 +#define SYS_sendto 366 +#define SYS_sendmsg 367 +#define SYS_recvfrom 368 +#define SYS_recvmsg 369 +#define SYS_shutdown 370 +#define SYS_recvmmsg 371 +#define SYS_sendmmsg 372 +#define SYS_userfaultfd 373 +#define SYS_membarrier 374 +#define SYS_mlock2 375 +#define SYS_copy_file_range 376 +#define SYS_preadv2 377 +#define SYS_pwritev2 378 +#define SYS_statx 379 +#define SYS_seccomp 380 +#define SYS_pkey_mprotect 381 +#define SYS_pkey_alloc 382 +#define SYS_pkey_free 383 +#define SYS_rseq 384 +#define SYS_semget 393 +#define SYS_semctl 394 +#define SYS_shmget 395 +#define SYS_shmctl 396 +#define SYS_shmat 397 +#define SYS_shmdt 398 +#define SYS_msgget 399 +#define SYS_msgsnd 400 +#define SYS_msgrcv 401 +#define SYS_msgctl 402 +#define SYS_clock_gettime64 403 +#define SYS_clock_settime64 404 +#define SYS_clock_adjtime64 405 +#define SYS_clock_getres_time64 406 +#define SYS_clock_nanosleep_time64 407 +#define SYS_timer_gettime64 408 +#define SYS_timer_settime64 409 +#define SYS_timerfd_gettime64 410 +#define SYS_timerfd_settime64 411 +#define SYS_utimensat_time64 412 +#define SYS_pselect6_time64 413 +#define SYS_ppoll_time64 414 +#define SYS_io_pgetevents_time64 416 +#define SYS_recvmmsg_time64 417 +#define SYS_mq_timedsend_time64 418 +#define SYS_mq_timedreceive_time64 419 +#define SYS_semtimedop_time64 420 +#define SYS_rt_sigtimedwait_time64 421 +#define SYS_futex_time64 422 +#define SYS_sched_rr_get_interval_time64 423 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/user.h new file mode 100644 index 00000000..a18c06ce --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/m68k-linux-musl/bits/user.h @@ -0,0 +1,38 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 + +struct user_m68kfp_struct { + unsigned long fpregs[24], fpcntl[3]; +}; + +struct user_regs_struct { + long d1, d2, d3, d4, d5, d6, d7; + long a0, a1, a2, a3, a4, a5, a6; + long d0, usp, orig_d0; + short stkadj, sr; + long pc; + short fmtvec, __pad; +}; + +struct user { + struct user_regs_struct regs; + int u_fpvalid; + struct user_m68kfp_struct m68kfp; + unsigned long u_tsize, u_dsize, u_ssize, start_code, start_stack; + long signal; + int reserved; + unsigned long u_ar0; + struct user_m68kfp_struct *u_fpstate; + unsigned long magic; + char u_comm[32]; +}; + +#define ELF_NGREG 20 +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; +typedef struct user_m68kfp_struct elf_fpregset_t; + +#define NBPG 4096 +#define UPAGES 1 +#define HOST_TEXT_START_ADDR (u.start_code) +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/auxvec.h new file mode 100644 index 00000000..abd96461 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/auxvec.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Copyright (C) 2015 Imagination Technologies + * Author: Alex Smith + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + */ + +#ifndef __ASM_AUXVEC_H +#define __ASM_AUXVEC_H + +/* Location of VDSO image. */ +#define AT_SYSINFO_EHDR 33 + +#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */ + +#endif /* __ASM_AUXVEC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitfield.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitfield.h new file mode 100644 index 00000000..5e04a8a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitfield.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2014 by Ralf Baechle + */ +#ifndef __UAPI_ASM_BITFIELD_H +#define __UAPI_ASM_BITFIELD_H + +/* + * * Damn ... bitfields depend from byteorder :-( + * */ +#ifdef __MIPSEB__ +#define __BITFIELD_FIELD(field, more) \ + field; \ + more + +#elif defined(__MIPSEL__) + +#define __BITFIELD_FIELD(field, more) \ + more \ + field; + +#else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */ +#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?" +#endif + +#endif /* __UAPI_ASM_BITFIELD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..68551ef9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/bitsperlong.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_MIPS_BITSPERLONG_H +#define __ASM_MIPS_BITSPERLONG_H + +#define __BITS_PER_LONG _MIPS_SZLONG + +#include + +#endif /* __ASM_MIPS_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/break.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/break.h new file mode 100644 index 00000000..62eb54af --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/break.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 2003 by Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + */ +#ifndef __UAPI_ASM_BREAK_H +#define __UAPI_ASM_BREAK_H + +/* + * The following break codes are or were in use for specific purposes in + * other MIPS operating systems. Linux/MIPS doesn't use all of them. The + * unused ones are here as placeholders; we might encounter them in + * non-Linux/MIPS object files or make use of them in the future. + */ +#define BRK_USERBP 0 /* User bp (used by debuggers) */ +#define BRK_SSTEPBP 5 /* User bp (used by debuggers) */ +#define BRK_OVERFLOW 6 /* Overflow check */ +#define BRK_DIVZERO 7 /* Divide by zero check */ +#define BRK_RANGE 8 /* Range error check */ +#define BRK_BUG 12 /* Used by BUG() */ +#define BRK_UPROBE 13 /* See */ +#define BRK_UPROBE_XOL 14 /* See */ +#define BRK_MEMU 514 /* Used by FPU emulator */ +#define BRK_KPROBE_BP 515 /* Kprobe break */ +#define BRK_KPROBE_SSTEPBP 516 /* Kprobe single step software implementation */ +#define BRK_MULOVF 1023 /* Multiply overflow */ + +#endif /* __UAPI_ASM_BREAK_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/byteorder.h new file mode 100644 index 00000000..e9b9eaf5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/byteorder.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 99, 2003 by Ralf Baechle + */ +#ifndef _ASM_BYTEORDER_H +#define _ASM_BYTEORDER_H + +#if defined(__MIPSEB__) +#include +#elif defined(__MIPSEL__) +#include +#else +# error "MIPS, but neither __MIPSEB__, nor __MIPSEL__???" +#endif + +#endif /* _ASM_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/cachectl.h new file mode 100644 index 00000000..77df511a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/cachectl.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1994, 1995, 1996 by Ralf Baechle + */ +#ifndef _ASM_CACHECTL +#define _ASM_CACHECTL + +/* + * Options for cacheflush system call + */ +#define ICACHE (1<<0) /* flush instruction cache */ +#define DCACHE (1<<1) /* writeback and flush data cache */ +#define BCACHE (ICACHE|DCACHE) /* flush both caches */ + +/* + * Caching modes for the cachectl(2) call + * + * cachectl(2) is currently not supported and returns ENOSYS. + */ +#define CACHEABLE 0 /* make pages cacheable */ +#define UNCACHEABLE 1 /* make pages uncacheable */ + +#endif /* _ASM_CACHECTL */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/errno.h new file mode 100644 index 00000000..7d6ae0ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/errno.h @@ -0,0 +1,130 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999, 2001, 2002 by Ralf Baechle + */ +#ifndef _ASM_ERRNO_H +#define _ASM_ERRNO_H + +/* + * These error numbers are intended to be MIPS ABI compatible + */ + +#include + +#define ENOMSG 35 /* No message of desired type */ +#define EIDRM 36 /* Identifier removed */ +#define ECHRNG 37 /* Channel number out of range */ +#define EL2NSYNC 38 /* Level 2 not synchronized */ +#define EL3HLT 39 /* Level 3 halted */ +#define EL3RST 40 /* Level 3 reset */ +#define ELNRNG 41 /* Link number out of range */ +#define EUNATCH 42 /* Protocol driver not attached */ +#define ENOCSI 43 /* No CSI structure available */ +#define EL2HLT 44 /* Level 2 halted */ +#define EDEADLK 45 /* Resource deadlock would occur */ +#define ENOLCK 46 /* No record locks available */ +#define EBADE 50 /* Invalid exchange */ +#define EBADR 51 /* Invalid request descriptor */ +#define EXFULL 52 /* Exchange full */ +#define ENOANO 53 /* No anode */ +#define EBADRQC 54 /* Invalid request code */ +#define EBADSLT 55 /* Invalid slot */ +#define EDEADLOCK 56 /* File locking deadlock error */ +#define EBFONT 59 /* Bad font file format */ +#define ENOSTR 60 /* Device not a stream */ +#define ENODATA 61 /* No data available */ +#define ETIME 62 /* Timer expired */ +#define ENOSR 63 /* Out of streams resources */ +#define ENONET 64 /* Machine is not on the network */ +#define ENOPKG 65 /* Package not installed */ +#define EREMOTE 66 /* Object is remote */ +#define ENOLINK 67 /* Link has been severed */ +#define EADV 68 /* Advertise error */ +#define ESRMNT 69 /* Srmount error */ +#define ECOMM 70 /* Communication error on send */ +#define EPROTO 71 /* Protocol error */ +#define EDOTDOT 73 /* RFS specific error */ +#define EMULTIHOP 74 /* Multihop attempted */ +#define EBADMSG 77 /* Not a data message */ +#define ENAMETOOLONG 78 /* File name too long */ +#define EOVERFLOW 79 /* Value too large for defined data type */ +#define ENOTUNIQ 80 /* Name not unique on network */ +#define EBADFD 81 /* File descriptor in bad state */ +#define EREMCHG 82 /* Remote address changed */ +#define ELIBACC 83 /* Can not access a needed shared library */ +#define ELIBBAD 84 /* Accessing a corrupted shared library */ +#define ELIBSCN 85 /* .lib section in a.out corrupted */ +#define ELIBMAX 86 /* Attempting to link in too many shared libraries */ +#define ELIBEXEC 87 /* Cannot exec a shared library directly */ +#define EILSEQ 88 /* Illegal byte sequence */ +#define ENOSYS 89 /* Function not implemented */ +#define ELOOP 90 /* Too many symbolic links encountered */ +#define ERESTART 91 /* Interrupted system call should be restarted */ +#define ESTRPIPE 92 /* Streams pipe error */ +#define ENOTEMPTY 93 /* Directory not empty */ +#define EUSERS 94 /* Too many users */ +#define ENOTSOCK 95 /* Socket operation on non-socket */ +#define EDESTADDRREQ 96 /* Destination address required */ +#define EMSGSIZE 97 /* Message too long */ +#define EPROTOTYPE 98 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 99 /* Protocol not available */ +#define EPROTONOSUPPORT 120 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 121 /* Socket type not supported */ +#define EOPNOTSUPP 122 /* Operation not supported on transport endpoint */ +#define EPFNOSUPPORT 123 /* Protocol family not supported */ +#define EAFNOSUPPORT 124 /* Address family not supported by protocol */ +#define EADDRINUSE 125 /* Address already in use */ +#define EADDRNOTAVAIL 126 /* Cannot assign requested address */ +#define ENETDOWN 127 /* Network is down */ +#define ENETUNREACH 128 /* Network is unreachable */ +#define ENETRESET 129 /* Network dropped connection because of reset */ +#define ECONNABORTED 130 /* Software caused connection abort */ +#define ECONNRESET 131 /* Connection reset by peer */ +#define ENOBUFS 132 /* No buffer space available */ +#define EISCONN 133 /* Transport endpoint is already connected */ +#define ENOTCONN 134 /* Transport endpoint is not connected */ +#define EUCLEAN 135 /* Structure needs cleaning */ +#define ENOTNAM 137 /* Not a XENIX named type file */ +#define ENAVAIL 138 /* No XENIX semaphores available */ +#define EISNAM 139 /* Is a named type file */ +#define EREMOTEIO 140 /* Remote I/O error */ +#define EINIT 141 /* Reserved */ +#define EREMDEV 142 /* Error 142 */ +#define ESHUTDOWN 143 /* Cannot send after transport endpoint shutdown */ +#define ETOOMANYREFS 144 /* Too many references: cannot splice */ +#define ETIMEDOUT 145 /* Connection timed out */ +#define ECONNREFUSED 146 /* Connection refused */ +#define EHOSTDOWN 147 /* Host is down */ +#define EHOSTUNREACH 148 /* No route to host */ +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define EALREADY 149 /* Operation already in progress */ +#define EINPROGRESS 150 /* Operation now in progress */ +#define ESTALE 151 /* Stale file handle */ +#define ECANCELED 158 /* AIO operation canceled */ + +/* + * These error are Linux extensions. + */ +#define ENOMEDIUM 159 /* No medium found */ +#define EMEDIUMTYPE 160 /* Wrong medium type */ +#define ENOKEY 161 /* Required key not available */ +#define EKEYEXPIRED 162 /* Key has expired */ +#define EKEYREVOKED 163 /* Key has been revoked */ +#define EKEYREJECTED 164 /* Key was rejected by service */ + +/* for robust mutexes */ +#define EOWNERDEAD 165 /* Owner died */ +#define ENOTRECOVERABLE 166 /* State not recoverable */ + +#define ERFKILL 167 /* Operation not possible due to RF-kill */ + +#define EHWPOISON 168 /* Memory page has hardware error */ + +#define EDQUOT 1133 /* Quota exceeded */ + + +#endif /* _ASM_ERRNO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/fcntl.h new file mode 100644 index 00000000..e20d6a10 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/fcntl.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 97, 98, 99, 2003, 05 Ralf Baechle + */ +#ifndef _ASM_FCNTL_H +#define _ASM_FCNTL_H + +#include + +#define O_APPEND 0x0008 +#define O_DSYNC 0x0010 /* used to be O_SYNC, see below */ +#define O_NONBLOCK 0x0080 +#define O_CREAT 0x0100 /* not fcntl */ +#define O_TRUNC 0x0200 /* not fcntl */ +#define O_EXCL 0x0400 /* not fcntl */ +#define O_NOCTTY 0x0800 /* not fcntl */ +#define FASYNC 0x1000 /* fcntl, for BSD compatibility */ +#define O_LARGEFILE 0x2000 /* allow large file opens */ +/* + * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using + * the O_SYNC flag. We continue to use the existing numerical value + * for O_DSYNC semantics now, but using the correct symbolic name for it. + * This new value is used to request true Posix O_SYNC semantics. It is + * defined in this strange way to make sure applications compiled against + * new headers get at least O_DSYNC semantics on older kernels. + * + * This has the nice side-effect that we can simply test for O_DSYNC + * wherever we do not care if O_DSYNC or O_SYNC is used. + * + * Note: __O_SYNC must never be used directly. + */ +#define __O_SYNC 0x4000 +#define O_SYNC (__O_SYNC|O_DSYNC) +#define O_DIRECT 0x8000 /* direct disk access hint */ + +#define F_GETLK 14 +#define F_SETLK 6 +#define F_SETLKW 7 + +#define F_SETOWN 24 /* for sockets. */ +#define F_GETOWN 23 /* for sockets. */ + +#if __BITS_PER_LONG == 32 || defined(__KERNEL__) +#define F_GETLK64 33 /* using 'struct flock64' */ +#define F_SETLK64 34 +#define F_SETLKW64 35 +#endif /* __BITS_PER_LONG == 32 || defined(__KERNEL__) */ + +#if _MIPS_SIM != _MIPS_SIM_ABI64 +#define __ARCH_FLOCK_EXTRA_SYSID long l_sysid; +#define __ARCH_FLOCK_PAD long pad[4]; +#endif + +#include + +#endif /* _ASM_FCNTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/hwcap.h new file mode 100644 index 00000000..791fd93a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/hwcap.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_HWCAP_H +#define _ASM_HWCAP_H + +/* HWCAP flags */ +#define HWCAP_MIPS_R6 (1 << 0) +#define HWCAP_MIPS_MSA (1 << 1) +#define HWCAP_MIPS_CRC32 (1 << 2) +#define HWCAP_MIPS_MIPS16 (1 << 3) +#define HWCAP_MIPS_MDMX (1 << 4) +#define HWCAP_MIPS_MIPS3D (1 << 5) +#define HWCAP_MIPS_SMARTMIPS (1 << 6) +#define HWCAP_MIPS_DSP (1 << 7) +#define HWCAP_MIPS_DSP2 (1 << 8) +#define HWCAP_MIPS_DSP3 (1 << 9) +#define HWCAP_MIPS_MIPS16E2 (1 << 10) +#define HWCAP_LOONGSON_MMI (1 << 11) +#define HWCAP_LOONGSON_EXT (1 << 12) +#define HWCAP_LOONGSON_EXT2 (1 << 13) +#define HWCAP_LOONGSON_CPUCFG (1 << 14) + +#endif /* _ASM_HWCAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/inst.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/inst.h new file mode 100644 index 00000000..ef42c555 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/inst.h @@ -0,0 +1,1174 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Format of an instruction in memory. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 2000 by Ralf Baechle + * Copyright (C) 2006 by Thiemo Seufer + * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. + * Copyright (C) 2014 Imagination Technologies Ltd. + */ +#ifndef _ASM_INST_H +#define _ASM_INST_H + +#include + +/* + * Major opcodes; before MIPS IV cop1x was called cop3. + */ +enum major_op { + spec_op, bcond_op, j_op, jal_op, + beq_op, bne_op, blez_op, bgtz_op, + addi_op, pop10_op = addi_op, addiu_op, slti_op, sltiu_op, + andi_op, ori_op, xori_op, lui_op, + cop0_op, cop1_op, cop2_op, cop1x_op, + beql_op, bnel_op, blezl_op, bgtzl_op, + daddi_op, pop30_op = daddi_op, daddiu_op, ldl_op, ldr_op, + spec2_op, jalx_op, mdmx_op, msa_op = mdmx_op, spec3_op, + lb_op, lh_op, lwl_op, lw_op, + lbu_op, lhu_op, lwr_op, lwu_op, + sb_op, sh_op, swl_op, sw_op, + sdl_op, sdr_op, swr_op, cache_op, + ll_op, lwc1_op, lwc2_op, bc6_op = lwc2_op, pref_op, + lld_op, ldc1_op, ldc2_op, pop66_op = ldc2_op, ld_op, + sc_op, swc1_op, swc2_op, balc6_op = swc2_op, major_3b_op, + scd_op, sdc1_op, sdc2_op, pop76_op = sdc2_op, sd_op +}; + +/* + * func field of spec opcode. + */ +enum spec_op { + sll_op, movc_op, srl_op, sra_op, + sllv_op, pmon_op, srlv_op, srav_op, + jr_op, jalr_op, movz_op, movn_op, + syscall_op, break_op, spim_op, sync_op, + mfhi_op, mthi_op, mflo_op, mtlo_op, + dsllv_op, spec2_unused_op, dsrlv_op, dsrav_op, + mult_op, multu_op, div_op, divu_op, + dmult_op, dmultu_op, ddiv_op, ddivu_op, + add_op, addu_op, sub_op, subu_op, + and_op, or_op, xor_op, nor_op, + spec3_unused_op, spec4_unused_op, slt_op, sltu_op, + dadd_op, daddu_op, dsub_op, dsubu_op, + tge_op, tgeu_op, tlt_op, tltu_op, + teq_op, seleqz_op, tne_op, selnez_op, + dsll_op, spec5_unused_op, dsrl_op, dsra_op, + dsll32_op, spec6_unused_op, dsrl32_op, dsra32_op +}; + +/* + * func field of spec2 opcode. + */ +enum spec2_op { + madd_op, maddu_op, mul_op, spec2_3_unused_op, + msub_op, msubu_op, /* more unused ops */ + clz_op = 0x20, clo_op, + dclz_op = 0x24, dclo_op, + sdbpp_op = 0x3f +}; + +/* + * func field of spec3 opcode. + */ +enum spec3_op { + ext_op, dextm_op, dextu_op, dext_op, + ins_op, dinsm_op, dinsu_op, dins_op, + yield_op = 0x09, lx_op = 0x0a, + lwle_op = 0x19, lwre_op = 0x1a, + cachee_op = 0x1b, sbe_op = 0x1c, + she_op = 0x1d, sce_op = 0x1e, + swe_op = 0x1f, bshfl_op = 0x20, + swle_op = 0x21, swre_op = 0x22, + prefe_op = 0x23, dbshfl_op = 0x24, + cache6_op = 0x25, sc6_op = 0x26, + scd6_op = 0x27, lbue_op = 0x28, + lhue_op = 0x29, lbe_op = 0x2c, + lhe_op = 0x2d, lle_op = 0x2e, + lwe_op = 0x2f, pref6_op = 0x35, + ll6_op = 0x36, lld6_op = 0x37, + rdhwr_op = 0x3b +}; + +/* + * Bits 10-6 minor opcode for r6 spec mult/div encodings + */ +enum mult_op { + mult_mult_op = 0x0, + mult_mul_op = 0x2, + mult_muh_op = 0x3, +}; +enum multu_op { + multu_multu_op = 0x0, + multu_mulu_op = 0x2, + multu_muhu_op = 0x3, +}; +enum div_op { + div_div_op = 0x0, + div_div6_op = 0x2, + div_mod_op = 0x3, +}; +enum divu_op { + divu_divu_op = 0x0, + divu_divu6_op = 0x2, + divu_modu_op = 0x3, +}; +enum dmult_op { + dmult_dmult_op = 0x0, + dmult_dmul_op = 0x2, + dmult_dmuh_op = 0x3, +}; +enum dmultu_op { + dmultu_dmultu_op = 0x0, + dmultu_dmulu_op = 0x2, + dmultu_dmuhu_op = 0x3, +}; +enum ddiv_op { + ddiv_ddiv_op = 0x0, + ddiv_ddiv6_op = 0x2, + ddiv_dmod_op = 0x3, +}; +enum ddivu_op { + ddivu_ddivu_op = 0x0, + ddivu_ddivu6_op = 0x2, + ddivu_dmodu_op = 0x3, +}; + +/* + * rt field of bcond opcodes. + */ +enum rt_op { + bltz_op, bgez_op, bltzl_op, bgezl_op, + spimi_op, unused_rt_op_0x05, unused_rt_op_0x06, unused_rt_op_0x07, + tgei_op, tgeiu_op, tlti_op, tltiu_op, + teqi_op, unused_0x0d_rt_op, tnei_op, unused_0x0f_rt_op, + bltzal_op, bgezal_op, bltzall_op, bgezall_op, + rt_op_0x14, rt_op_0x15, rt_op_0x16, rt_op_0x17, + rt_op_0x18, rt_op_0x19, rt_op_0x1a, rt_op_0x1b, + bposge32_op, rt_op_0x1d, rt_op_0x1e, synci_op +}; + +/* + * rs field of cop opcodes. + */ +enum cop_op { + mfc_op = 0x00, dmfc_op = 0x01, + cfc_op = 0x02, mfhc0_op = 0x02, + mfhc_op = 0x03, mtc_op = 0x04, + dmtc_op = 0x05, ctc_op = 0x06, + mthc0_op = 0x06, mthc_op = 0x07, + bc_op = 0x08, bc1eqz_op = 0x09, + mfmc0_op = 0x0b, bc1nez_op = 0x0d, + wrpgpr_op = 0x0e, cop_op = 0x10, + copm_op = 0x18 +}; + +/* + * rt field of cop.bc_op opcodes + */ +enum bcop_op { + bcf_op, bct_op, bcfl_op, bctl_op +}; + +/* + * func field of cop0 coi opcodes. + */ +enum cop0_coi_func { + tlbr_op = 0x01, tlbwi_op = 0x02, + tlbwr_op = 0x06, tlbp_op = 0x08, + rfe_op = 0x10, eret_op = 0x18, + wait_op = 0x20, hypcall_op = 0x28 +}; + +/* + * func field of cop0 com opcodes. + */ +enum cop0_com_func { + tlbr1_op = 0x01, tlbw_op = 0x02, + tlbp1_op = 0x08, dctr_op = 0x09, + dctw_op = 0x0a +}; + +/* + * fmt field of cop1 opcodes. + */ +enum cop1_fmt { + s_fmt, d_fmt, e_fmt, q_fmt, + w_fmt, l_fmt +}; + +/* + * func field of cop1 instructions using d, s or w format. + */ +enum cop1_sdw_func { + fadd_op = 0x00, fsub_op = 0x01, + fmul_op = 0x02, fdiv_op = 0x03, + fsqrt_op = 0x04, fabs_op = 0x05, + fmov_op = 0x06, fneg_op = 0x07, + froundl_op = 0x08, ftruncl_op = 0x09, + fceill_op = 0x0a, ffloorl_op = 0x0b, + fround_op = 0x0c, ftrunc_op = 0x0d, + fceil_op = 0x0e, ffloor_op = 0x0f, + fsel_op = 0x10, + fmovc_op = 0x11, fmovz_op = 0x12, + fmovn_op = 0x13, fseleqz_op = 0x14, + frecip_op = 0x15, frsqrt_op = 0x16, + fselnez_op = 0x17, fmaddf_op = 0x18, + fmsubf_op = 0x19, frint_op = 0x1a, + fclass_op = 0x1b, fmin_op = 0x1c, + fmina_op = 0x1d, fmax_op = 0x1e, + fmaxa_op = 0x1f, fcvts_op = 0x20, + fcvtd_op = 0x21, fcvte_op = 0x22, + fcvtw_op = 0x24, fcvtl_op = 0x25, + fcmp_op = 0x30 +}; + +/* + * func field of cop1x opcodes (MIPS IV). + */ +enum cop1x_func { + lwxc1_op = 0x00, ldxc1_op = 0x01, + swxc1_op = 0x08, sdxc1_op = 0x09, + pfetch_op = 0x0f, madd_s_op = 0x20, + madd_d_op = 0x21, madd_e_op = 0x22, + msub_s_op = 0x28, msub_d_op = 0x29, + msub_e_op = 0x2a, nmadd_s_op = 0x30, + nmadd_d_op = 0x31, nmadd_e_op = 0x32, + nmsub_s_op = 0x38, nmsub_d_op = 0x39, + nmsub_e_op = 0x3a +}; + +/* + * func field for mad opcodes (MIPS IV). + */ +enum mad_func { + madd_fp_op = 0x08, msub_fp_op = 0x0a, + nmadd_fp_op = 0x0c, nmsub_fp_op = 0x0e +}; + +/* + * func field for page table walker (Loongson-3). + */ +enum ptw_func { + lwdir_op = 0x00, + lwpte_op = 0x01, + lddir_op = 0x02, + ldpte_op = 0x03, +}; + +/* + * func field for special3 lx opcodes (Cavium Octeon). + */ +enum lx_func { + lwx_op = 0x00, + lhx_op = 0x04, + lbux_op = 0x06, + ldx_op = 0x08, + lwux_op = 0x10, + lhux_op = 0x14, + lbx_op = 0x16, +}; + +/* + * func field for special2 MXU opcodes (Ingenic XBurst MXU). + */ +enum mxu_func { + /* TODO, other MXU funcs */ + mxu_lx_op = 0x28, +}; + +/* + * op field for special2 MXU LX opcodes (Ingenic XBurst MXU). + */ +enum lx_ingenic_func { + mxu_lxb_op, + mxu_lxh_op, + /* reserved */ + mxu_lxw_op = 3, + mxu_lxbu_op, + mxu_lxhu_op, + /* more reserved */ +}; + +/* + * BSHFL opcodes + */ +enum bshfl_func { + wsbh_op = 0x2, + seb_op = 0x10, + seh_op = 0x18, +}; + +/* + * DBSHFL opcodes + */ +enum dbshfl_func { + dsbh_op = 0x2, + dshd_op = 0x5, +}; + +/* + * MSA minor opcodes. + */ +enum msa_func { + msa_elm_op = 0x19, +}; + +/* + * MSA ELM opcodes. + */ +enum msa_elm { + msa_ctc_op = 0x3e, + msa_cfc_op = 0x7e, +}; + +/* + * func field for MSA MI10 format. + */ +enum msa_mi10_func { + msa_ld_op = 8, + msa_st_op = 9, +}; + +/* + * MSA 2 bit format fields. + */ +enum msa_2b_fmt { + msa_fmt_b = 0, + msa_fmt_h = 1, + msa_fmt_w = 2, + msa_fmt_d = 3, +}; + +/* + * (microMIPS) Major opcodes. + */ +enum mm_major_op { + mm_pool32a_op, mm_pool16a_op, mm_lbu16_op, mm_move16_op, + mm_addi32_op, mm_lbu32_op, mm_sb32_op, mm_lb32_op, + mm_pool32b_op, mm_pool16b_op, mm_lhu16_op, mm_andi16_op, + mm_addiu32_op, mm_lhu32_op, mm_sh32_op, mm_lh32_op, + mm_pool32i_op, mm_pool16c_op, mm_lwsp16_op, mm_pool16d_op, + mm_ori32_op, mm_pool32f_op, mm_pool32s_op, mm_reserved2_op, + mm_pool32c_op, mm_lwgp16_op, mm_lw16_op, mm_pool16e_op, + mm_xori32_op, mm_jals32_op, mm_addiupc_op, mm_reserved3_op, + mm_reserved4_op, mm_pool16f_op, mm_sb16_op, mm_beqz16_op, + mm_slti32_op, mm_beq32_op, mm_swc132_op, mm_lwc132_op, + mm_reserved5_op, mm_reserved6_op, mm_sh16_op, mm_bnez16_op, + mm_sltiu32_op, mm_bne32_op, mm_sdc132_op, mm_ldc132_op, + mm_reserved7_op, mm_reserved8_op, mm_swsp16_op, mm_b16_op, + mm_andi32_op, mm_j32_op, mm_sd32_op, mm_ld32_op, + mm_reserved11_op, mm_reserved12_op, mm_sw16_op, mm_li16_op, + mm_jalx32_op, mm_jal32_op, mm_sw32_op, mm_lw32_op, +}; + +/* + * (microMIPS) POOL32I minor opcodes. + */ +enum mm_32i_minor_op { + mm_bltz_op, mm_bltzal_op, mm_bgez_op, mm_bgezal_op, + mm_blez_op, mm_bnezc_op, mm_bgtz_op, mm_beqzc_op, + mm_tlti_op, mm_tgei_op, mm_tltiu_op, mm_tgeiu_op, + mm_tnei_op, mm_lui_op, mm_teqi_op, mm_reserved13_op, + mm_synci_op, mm_bltzals_op, mm_reserved14_op, mm_bgezals_op, + mm_bc2f_op, mm_bc2t_op, mm_reserved15_op, mm_reserved16_op, + mm_reserved17_op, mm_reserved18_op, mm_bposge64_op, mm_bposge32_op, + mm_bc1f_op, mm_bc1t_op, mm_reserved19_op, mm_reserved20_op, + mm_bc1any2f_op, mm_bc1any2t_op, mm_bc1any4f_op, mm_bc1any4t_op, +}; + +/* + * (microMIPS) POOL32A minor opcodes. + */ +enum mm_32a_minor_op { + mm_sll32_op = 0x000, + mm_ins_op = 0x00c, + mm_sllv32_op = 0x010, + mm_ext_op = 0x02c, + mm_pool32axf_op = 0x03c, + mm_srl32_op = 0x040, + mm_srlv32_op = 0x050, + mm_sra_op = 0x080, + mm_srav_op = 0x090, + mm_rotr_op = 0x0c0, + mm_lwxs_op = 0x118, + mm_addu32_op = 0x150, + mm_subu32_op = 0x1d0, + mm_wsbh_op = 0x1ec, + mm_mul_op = 0x210, + mm_and_op = 0x250, + mm_or32_op = 0x290, + mm_xor32_op = 0x310, + mm_slt_op = 0x350, + mm_sltu_op = 0x390, +}; + +/* + * (microMIPS) POOL32B functions. + */ +enum mm_32b_func { + mm_lwc2_func = 0x0, + mm_lwp_func = 0x1, + mm_ldc2_func = 0x2, + mm_ldp_func = 0x4, + mm_lwm32_func = 0x5, + mm_cache_func = 0x6, + mm_ldm_func = 0x7, + mm_swc2_func = 0x8, + mm_swp_func = 0x9, + mm_sdc2_func = 0xa, + mm_sdp_func = 0xc, + mm_swm32_func = 0xd, + mm_sdm_func = 0xf, +}; + +/* + * (microMIPS) POOL32C functions. + */ +enum mm_32c_func { + mm_pref_func = 0x2, + mm_ll_func = 0x3, + mm_swr_func = 0x9, + mm_sc_func = 0xb, + mm_lwu_func = 0xe, +}; + +/* + * (microMIPS) POOL32AXF minor opcodes. + */ +enum mm_32axf_minor_op { + mm_mfc0_op = 0x003, + mm_mtc0_op = 0x00b, + mm_tlbp_op = 0x00d, + mm_mfhi32_op = 0x035, + mm_jalr_op = 0x03c, + mm_tlbr_op = 0x04d, + mm_mflo32_op = 0x075, + mm_jalrhb_op = 0x07c, + mm_tlbwi_op = 0x08d, + mm_mthi32_op = 0x0b5, + mm_tlbwr_op = 0x0cd, + mm_mtlo32_op = 0x0f5, + mm_di_op = 0x11d, + mm_jalrs_op = 0x13c, + mm_jalrshb_op = 0x17c, + mm_sync_op = 0x1ad, + mm_syscall_op = 0x22d, + mm_wait_op = 0x24d, + mm_eret_op = 0x3cd, + mm_divu_op = 0x5dc, +}; + +/* + * (microMIPS) POOL32F minor opcodes. + */ +enum mm_32f_minor_op { + mm_32f_00_op = 0x00, + mm_32f_01_op = 0x01, + mm_32f_02_op = 0x02, + mm_32f_10_op = 0x08, + mm_32f_11_op = 0x09, + mm_32f_12_op = 0x0a, + mm_32f_20_op = 0x10, + mm_32f_30_op = 0x18, + mm_32f_40_op = 0x20, + mm_32f_41_op = 0x21, + mm_32f_42_op = 0x22, + mm_32f_50_op = 0x28, + mm_32f_51_op = 0x29, + mm_32f_52_op = 0x2a, + mm_32f_60_op = 0x30, + mm_32f_70_op = 0x38, + mm_32f_73_op = 0x3b, + mm_32f_74_op = 0x3c, +}; + +/* + * (microMIPS) POOL32F secondary minor opcodes. + */ +enum mm_32f_10_minor_op { + mm_lwxc1_op = 0x1, + mm_swxc1_op, + mm_ldxc1_op, + mm_sdxc1_op, + mm_luxc1_op, + mm_suxc1_op, +}; + +enum mm_32f_func { + mm_lwxc1_func = 0x048, + mm_swxc1_func = 0x088, + mm_ldxc1_func = 0x0c8, + mm_sdxc1_func = 0x108, +}; + +/* + * (microMIPS) POOL32F secondary minor opcodes. + */ +enum mm_32f_40_minor_op { + mm_fmovf_op, + mm_fmovt_op, +}; + +/* + * (microMIPS) POOL32F secondary minor opcodes. + */ +enum mm_32f_60_minor_op { + mm_fadd_op, + mm_fsub_op, + mm_fmul_op, + mm_fdiv_op, +}; + +/* + * (microMIPS) POOL32F secondary minor opcodes. + */ +enum mm_32f_70_minor_op { + mm_fmovn_op, + mm_fmovz_op, +}; + +/* + * (microMIPS) POOL32FXF secondary minor opcodes for POOL32F. + */ +enum mm_32f_73_minor_op { + mm_fmov0_op = 0x01, + mm_fcvtl_op = 0x04, + mm_movf0_op = 0x05, + mm_frsqrt_op = 0x08, + mm_ffloorl_op = 0x0c, + mm_fabs0_op = 0x0d, + mm_fcvtw_op = 0x24, + mm_movt0_op = 0x25, + mm_fsqrt_op = 0x28, + mm_ffloorw_op = 0x2c, + mm_fneg0_op = 0x2d, + mm_cfc1_op = 0x40, + mm_frecip_op = 0x48, + mm_fceill_op = 0x4c, + mm_fcvtd0_op = 0x4d, + mm_ctc1_op = 0x60, + mm_fceilw_op = 0x6c, + mm_fcvts0_op = 0x6d, + mm_mfc1_op = 0x80, + mm_fmov1_op = 0x81, + mm_movf1_op = 0x85, + mm_ftruncl_op = 0x8c, + mm_fabs1_op = 0x8d, + mm_mtc1_op = 0xa0, + mm_movt1_op = 0xa5, + mm_ftruncw_op = 0xac, + mm_fneg1_op = 0xad, + mm_mfhc1_op = 0xc0, + mm_froundl_op = 0xcc, + mm_fcvtd1_op = 0xcd, + mm_mthc1_op = 0xe0, + mm_froundw_op = 0xec, + mm_fcvts1_op = 0xed, +}; + +/* + * (microMIPS) POOL32S minor opcodes. + */ +enum mm_32s_minor_op { + mm_32s_elm_op = 0x16, +}; + +/* + * (microMIPS) POOL16C minor opcodes. + */ +enum mm_16c_minor_op { + mm_lwm16_op = 0x04, + mm_swm16_op = 0x05, + mm_jr16_op = 0x0c, + mm_jrc_op = 0x0d, + mm_jalr16_op = 0x0e, + mm_jalrs16_op = 0x0f, + mm_jraddiusp_op = 0x18, +}; + +/* + * (microMIPS) POOL16D minor opcodes. + */ +enum mm_16d_minor_op { + mm_addius5_func, + mm_addiusp_func, +}; + +/* + * (MIPS16e) opcodes. + */ +enum MIPS16e_ops { + MIPS16e_jal_op = 003, + MIPS16e_ld_op = 007, + MIPS16e_i8_op = 014, + MIPS16e_sd_op = 017, + MIPS16e_lb_op = 020, + MIPS16e_lh_op = 021, + MIPS16e_lwsp_op = 022, + MIPS16e_lw_op = 023, + MIPS16e_lbu_op = 024, + MIPS16e_lhu_op = 025, + MIPS16e_lwpc_op = 026, + MIPS16e_lwu_op = 027, + MIPS16e_sb_op = 030, + MIPS16e_sh_op = 031, + MIPS16e_swsp_op = 032, + MIPS16e_sw_op = 033, + MIPS16e_rr_op = 035, + MIPS16e_extend_op = 036, + MIPS16e_i64_op = 037, +}; + +enum MIPS16e_i64_func { + MIPS16e_ldsp_func, + MIPS16e_sdsp_func, + MIPS16e_sdrasp_func, + MIPS16e_dadjsp_func, + MIPS16e_ldpc_func, +}; + +enum MIPS16e_rr_func { + MIPS16e_jr_func, +}; + +enum MIPS6e_i8_func { + MIPS16e_swrasp_func = 02, +}; + +/* + * (microMIPS) NOP instruction. + */ +#define MM_NOP16 0x0c00 + +struct j_format { + __BITFIELD_FIELD(unsigned int opcode : 6, /* Jump format */ + __BITFIELD_FIELD(unsigned int target : 26, + ;)) +}; + +struct i_format { /* signed immediate format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(signed int simmediate : 16, + ;)))) +}; + +struct u_format { /* unsigned immediate format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int uimmediate : 16, + ;)))) +}; + +struct c_format { /* Cache (>= R6000) format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int c_op : 3, + __BITFIELD_FIELD(unsigned int cache : 2, + __BITFIELD_FIELD(unsigned int simmediate : 16, + ;))))) +}; + +struct r_format { /* Register format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int re : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct c0r_format { /* C0 register format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int z: 8, + __BITFIELD_FIELD(unsigned int sel : 3, + ;)))))) +}; + +struct mfmc0_format { /* MFMC0 register format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int re : 5, + __BITFIELD_FIELD(unsigned int sc : 1, + __BITFIELD_FIELD(unsigned int : 2, + __BITFIELD_FIELD(unsigned int sel : 3, + ;)))))))) +}; + +struct co_format { /* C0 CO format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int co : 1, + __BITFIELD_FIELD(unsigned int code : 19, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))) +}; + +struct p_format { /* Performance counter format (R10000) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int re : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct f_format { /* FPU register format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int : 1, + __BITFIELD_FIELD(unsigned int fmt : 4, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int re : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + +struct ma_format { /* FPU multiply and add format (MIPS IV) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int fr : 5, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 4, + __BITFIELD_FIELD(unsigned int fmt : 2, + ;))))))) +}; + +struct b_format { /* BREAK and SYSCALL */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int code : 20, + __BITFIELD_FIELD(unsigned int func : 6, + ;))) +}; + +struct ps_format { /* MIPS-3D / paired single format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct v_format { /* MDMX vector format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int sel : 4, + __BITFIELD_FIELD(unsigned int fmt : 1, + __BITFIELD_FIELD(unsigned int vt : 5, + __BITFIELD_FIELD(unsigned int vs : 5, + __BITFIELD_FIELD(unsigned int vd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + +struct msa_mi10_format { /* MSA MI10 */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(signed int s10 : 10, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int wd : 5, + __BITFIELD_FIELD(unsigned int func : 4, + __BITFIELD_FIELD(unsigned int df : 2, + ;)))))) +}; + +struct dsp_format { /* SPEC3 DSP format instructions */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int index : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int op : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mxu_lx_format { /* SPEC2 MXU LX format instructions */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int strd : 2, + __BITFIELD_FIELD(unsigned int op : 3, + __BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + +struct spec3_format { /* SPEC3 */ + __BITFIELD_FIELD(unsigned int opcode:6, + __BITFIELD_FIELD(unsigned int rs:5, + __BITFIELD_FIELD(unsigned int rt:5, + __BITFIELD_FIELD(signed int simmediate:9, + __BITFIELD_FIELD(unsigned int func:7, + ;))))) +}; + +/* + * microMIPS instruction formats (32-bit length) + * + * NOTE: + * Parenthesis denote whether the format is a microMIPS instruction or + * if it is MIPS32 instruction re-encoded for use in the microMIPS ASE. + */ +struct fb_format { /* FPU branch format (MIPS32) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int bc : 5, + __BITFIELD_FIELD(unsigned int cc : 3, + __BITFIELD_FIELD(unsigned int flag : 2, + __BITFIELD_FIELD(signed int simmediate : 16, + ;))))) +}; + +struct fp0_format { /* FPU multiply and add format (MIPS32) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int fmt : 5, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_fp0_format { /* FPU multiply and add format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int fmt : 3, + __BITFIELD_FIELD(unsigned int op : 2, + __BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + +struct fp1_format { /* FPU mfc1 and cfc1 format (MIPS32) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int op : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_fp1_format { /* FPU mfc1 and cfc1 format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fmt : 2, + __BITFIELD_FIELD(unsigned int op : 8, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_fp2_format { /* FPU movt and movf format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int cc : 3, + __BITFIELD_FIELD(unsigned int zero : 2, + __BITFIELD_FIELD(unsigned int fmt : 2, + __BITFIELD_FIELD(unsigned int op : 3, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))))) +}; + +struct mm_fp3_format { /* FPU abs and neg format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fmt : 3, + __BITFIELD_FIELD(unsigned int op : 7, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_fp4_format { /* FPU c.cond format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int cc : 3, + __BITFIELD_FIELD(unsigned int fmt : 3, + __BITFIELD_FIELD(unsigned int cond : 4, + __BITFIELD_FIELD(unsigned int func : 6, + ;))))))) +}; + +struct mm_fp5_format { /* FPU lwxc1 and swxc1 format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int index : 5, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int op : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct fp6_format { /* FPU madd and msub format (MIPS IV) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int fr : 5, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_fp6_format { /* FPU madd and msub format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int ft : 5, + __BITFIELD_FIELD(unsigned int fs : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int fr : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +struct mm_i_format { /* Immediate format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(signed int simmediate : 16, + ;)))) +}; + +struct mm_m_format { /* Multi-word load/store format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int func : 4, + __BITFIELD_FIELD(signed int simmediate : 12, + ;))))) +}; + +struct mm_x_format { /* Scaled indexed load format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int index : 5, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int func : 11, + ;))))) +}; + +struct mm_a_format { /* ADDIUPC format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 3, + __BITFIELD_FIELD(signed int simmediate : 23, + ;))) +}; + +/* + * microMIPS instruction formats (16-bit length) + */ +struct mm_b0_format { /* Unconditional branch format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(signed int simmediate : 10, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;))) +}; + +struct mm_b1_format { /* Conditional branch format (microMIPS) */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 3, + __BITFIELD_FIELD(signed int simmediate : 7, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;)))) +}; + +struct mm16_m_format { /* Multi-word load/store format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int func : 4, + __BITFIELD_FIELD(unsigned int rlist : 2, + __BITFIELD_FIELD(unsigned int imm : 4, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;))))) +}; + +struct mm16_rb_format { /* Signed immediate format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 3, + __BITFIELD_FIELD(unsigned int base : 3, + __BITFIELD_FIELD(signed int simmediate : 4, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;))))) +}; + +struct mm16_r3_format { /* Load from global pointer format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 3, + __BITFIELD_FIELD(signed int simmediate : 7, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;)))) +}; + +struct mm16_r5_format { /* Load/store from stack pointer format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int imm : 5, + __BITFIELD_FIELD(unsigned int : 16, /* Ignored */ + ;)))) +}; + +/* + * Loongson-3 overridden COP2 instruction formats (32-bit length) + */ +struct loongson3_lswc2_format { /* Loongson-3 overridden lwc2/swc2 Load/Store format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int fr : 1, + __BITFIELD_FIELD(unsigned int offset : 9, + __BITFIELD_FIELD(unsigned int ls : 1, + __BITFIELD_FIELD(unsigned int rq : 5, + ;))))))) +}; + +struct loongson3_lsdc2_format { /* Loongson-3 overridden ldc2/sdc2 Load/Store format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int base : 5, + __BITFIELD_FIELD(unsigned int rt : 5, + __BITFIELD_FIELD(unsigned int index : 5, + __BITFIELD_FIELD(unsigned int offset : 8, + __BITFIELD_FIELD(unsigned int opcode1 : 3, + ;)))))) +}; + +struct loongson3_lscsr_format { /* Loongson-3 CPUCFG&CSR read/write format */ + __BITFIELD_FIELD(unsigned int opcode : 6, + __BITFIELD_FIELD(unsigned int rs : 5, + __BITFIELD_FIELD(unsigned int fr : 5, + __BITFIELD_FIELD(unsigned int rd : 5, + __BITFIELD_FIELD(unsigned int fd : 5, + __BITFIELD_FIELD(unsigned int func : 6, + ;)))))) +}; + +/* + * MIPS16e instruction formats (16-bit length) + */ +struct m16e_rr { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int rx : 3, + __BITFIELD_FIELD(unsigned int nd : 1, + __BITFIELD_FIELD(unsigned int l : 1, + __BITFIELD_FIELD(unsigned int ra : 1, + __BITFIELD_FIELD(unsigned int func : 5, + ;)))))) +}; + +struct m16e_jal { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int x : 1, + __BITFIELD_FIELD(unsigned int imm20_16 : 5, + __BITFIELD_FIELD(signed int imm25_21 : 5, + ;)))) +}; + +struct m16e_i64 { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int func : 3, + __BITFIELD_FIELD(unsigned int imm : 8, + ;))) +}; + +struct m16e_ri64 { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int func : 3, + __BITFIELD_FIELD(unsigned int ry : 3, + __BITFIELD_FIELD(unsigned int imm : 5, + ;)))) +}; + +struct m16e_ri { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int rx : 3, + __BITFIELD_FIELD(unsigned int imm : 8, + ;))) +}; + +struct m16e_rri { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int rx : 3, + __BITFIELD_FIELD(unsigned int ry : 3, + __BITFIELD_FIELD(unsigned int imm : 5, + ;)))) +}; + +struct m16e_i8 { + __BITFIELD_FIELD(unsigned int opcode : 5, + __BITFIELD_FIELD(unsigned int func : 3, + __BITFIELD_FIELD(unsigned int imm : 8, + ;))) +}; + +union mips_instruction { + unsigned int word; + unsigned short halfword[2]; + unsigned char byte[4]; + struct j_format j_format; + struct i_format i_format; + struct u_format u_format; + struct c_format c_format; + struct r_format r_format; + struct c0r_format c0r_format; + struct mfmc0_format mfmc0_format; + struct co_format co_format; + struct p_format p_format; + struct f_format f_format; + struct ma_format ma_format; + struct msa_mi10_format msa_mi10_format; + struct b_format b_format; + struct ps_format ps_format; + struct v_format v_format; + struct dsp_format dsp_format; + struct spec3_format spec3_format; + struct fb_format fb_format; + struct fp0_format fp0_format; + struct mm_fp0_format mm_fp0_format; + struct fp1_format fp1_format; + struct mm_fp1_format mm_fp1_format; + struct mm_fp2_format mm_fp2_format; + struct mm_fp3_format mm_fp3_format; + struct mm_fp4_format mm_fp4_format; + struct mm_fp5_format mm_fp5_format; + struct fp6_format fp6_format; + struct mm_fp6_format mm_fp6_format; + struct mm_i_format mm_i_format; + struct mm_m_format mm_m_format; + struct mm_x_format mm_x_format; + struct mm_a_format mm_a_format; + struct mm_b0_format mm_b0_format; + struct mm_b1_format mm_b1_format; + struct mm16_m_format mm16_m_format ; + struct mm16_rb_format mm16_rb_format; + struct mm16_r3_format mm16_r3_format; + struct mm16_r5_format mm16_r5_format; + struct loongson3_lswc2_format loongson3_lswc2_format; + struct loongson3_lsdc2_format loongson3_lsdc2_format; + struct loongson3_lscsr_format loongson3_lscsr_format; + struct mxu_lx_format mxu_lx_format; +}; + +union mips16e_instruction { + unsigned int full : 16; + struct m16e_rr rr; + struct m16e_jal jal; + struct m16e_i64 i64; + struct m16e_ri64 ri64; + struct m16e_ri ri; + struct m16e_rri rri; + struct m16e_i8 i8; +}; + +#endif /* _ASM_INST_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctl.h new file mode 100644 index 00000000..a2d327bd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctl.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 99, 2001 Ralf Baechle + * Copyright (C) 2009 Wind River Systems + * Written by Ralf Baechle + */ +#ifndef __ASM_IOCTL_H +#define __ASM_IOCTL_H + +#define _IOC_SIZEBITS 13 +#define _IOC_DIRBITS 3 + +/* + * Direction bits _IOC_NONE could be 0, but OSF/1 gives it a bit. + * And this turns out useful to catch old ioctl numbers in header + * files for us. + */ +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#include + +#endif /* __ASM_IOCTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctls.h new file mode 100644 index 00000000..8b166049 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ioctls.h @@ -0,0 +1,119 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1996, 2001 Ralf Baechle + * Copyright (C) 2001 MIPS Technologies, Inc. + */ +#ifndef __ASM_IOCTLS_H +#define __ASM_IOCTLS_H + +#include + +#define TCGETA 0x5401 +#define TCSETA 0x5402 /* Clashes with SNDCTL_TMR_START sound ioctl */ +#define TCSETAW 0x5403 +#define TCSETAF 0x5404 + +#define TCSBRK 0x5405 +#define TCXONC 0x5406 +#define TCFLSH 0x5407 + +#define TCGETS 0x540d +#define TCSETS 0x540e +#define TCSETSW 0x540f +#define TCSETSF 0x5410 + +#define TIOCEXCL 0x740d /* set exclusive use of tty */ +#define TIOCNXCL 0x740e /* reset exclusive use of tty */ +#define TIOCOUTQ 0x7472 /* output queue size */ +#define TIOCSTI 0x5472 /* simulate terminal input */ +#define TIOCMGET 0x741d /* get all modem bits */ +#define TIOCMBIS 0x741b /* bis modem bits */ +#define TIOCMBIC 0x741c /* bic modem bits */ +#define TIOCMSET 0x741a /* set all modem bits */ +#define TIOCPKT 0x5470 /* pty: set/clear packet mode */ +#define TIOCPKT_DATA 0x00 /* data packet */ +#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ +#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ +#define TIOCPKT_STOP 0x04 /* stop output */ +#define TIOCPKT_START 0x08 /* start output */ +#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ +#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ +#define TIOCPKT_IOCTL 0x40 /* state change of pty driver */ +#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ +#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ +#define TIOCNOTTY 0x5471 /* void tty association */ +#define TIOCSETD 0x7401 +#define TIOCGETD 0x7400 + +#define FIOCLEX 0x6601 +#define FIONCLEX 0x6602 +#define FIOASYNC 0x667d +#define FIONBIO 0x667e +#define FIOQSIZE 0x667f + +#define TIOCGLTC 0x7474 /* get special local chars */ +#define TIOCSLTC 0x7475 /* set special local chars */ +#define TIOCSPGRP _IOW('t', 118, int) /* set pgrp of tty */ +#define TIOCGPGRP _IOR('t', 119, int) /* get pgrp of tty */ +#define TIOCCONS _IOW('t', 120, int) /* become virtual console */ + +#define FIONREAD 0x467f +#define TIOCINQ FIONREAD + +#define TIOCGETP 0x7408 +#define TIOCSETP 0x7409 +#define TIOCSETN 0x740a /* TIOCSETP wo flush */ + +/* #define TIOCSETA _IOW('t', 20, struct termios) set termios struct */ +/* #define TIOCSETAW _IOW('t', 21, struct termios) drain output, set */ +/* #define TIOCSETAF _IOW('t', 22, struct termios) drn out, fls in, set */ +/* #define TIOCGETD _IOR('t', 26, int) get line discipline */ +/* #define TIOCSETD _IOW('t', 27, int) set line discipline */ + /* 127-124 compat */ + +#define TIOCSBRK 0x5427 /* BSD compatibility */ +#define TIOCCBRK 0x5428 /* BSD compatibility */ +#define TIOCGSID 0x7416 /* Return the session ID of FD */ +#define TCGETS2 _IOR('T', 0x2A, struct termios2) +#define TCSETS2 _IOW('T', 0x2B, struct termios2) +#define TCSETSW2 _IOW('T', 0x2C, struct termios2) +#define TCSETSF2 _IOW('T', 0x2D, struct termios2) +#define TIOCGRS485 _IOR('T', 0x2E, struct serial_rs485) +#define TIOCSRS485 _IOWR('T', 0x2F, struct serial_rs485) +#define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ +#define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ +#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */ +#define TIOCSIG _IOW('T', 0x36, int) /* Generate signal on Pty slave */ +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */ +#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */ +#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */ +#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */ +#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816) +#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816) + +/* I hope the range from 0x5480 on is free ... */ +#define TIOCSCTTY 0x5480 /* become controlling tty */ +#define TIOCGSOFTCAR 0x5481 +#define TIOCSSOFTCAR 0x5482 +#define TIOCLINUX 0x5483 +#define TIOCGSERIAL 0x5484 +#define TIOCSSERIAL 0x5485 +#define TCSBRKP 0x5486 /* Needed for POSIX tcsendbreak() */ +#define TIOCSERCONFIG 0x5488 +#define TIOCSERGWILD 0x5489 +#define TIOCSERSWILD 0x548a +#define TIOCGLCKTRMIOS 0x548b +#define TIOCSLCKTRMIOS 0x548c +#define TIOCSERGSTRUCT 0x548d /* For debugging only */ +#define TIOCSERGETLSR 0x548e /* Get line status register */ +#define TIOCSERGETMULTI 0x548f /* Get multiport config */ +#define TIOCSERSETMULTI 0x5490 /* Set multiport config */ +#define TIOCMIWAIT 0x5491 /* wait for a change on serial input line(s) */ +#define TIOCGICOUNT 0x5492 /* read serial port __inline__ interrupt counts */ + +#endif /* __ASM_IOCTLS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/kvm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/kvm.h new file mode 100644 index 00000000..8238aa39 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/kvm.h @@ -0,0 +1,225 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. + * Copyright (C) 2013 Cavium, Inc. + * Authors: Sanjay Lal + */ + +#ifndef __LINUX_KVM_MIPS_H +#define __LINUX_KVM_MIPS_H + +#include + +/* + * KVM MIPS specific structures and definitions. + * + * Some parts derived from the x86 version of this file. + */ + +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 + +/* + * for KVM_GET_REGS and KVM_SET_REGS + * + * If Config[AT] is zero (32-bit CPU), the register contents are + * stored in the lower 32-bits of the struct kvm_regs fields and sign + * extended to 64-bits. + */ +struct kvm_regs { + /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */ + __u64 gpr[32]; + __u64 hi; + __u64 lo; + __u64 pc; +}; + +/* + * for KVM_GET_FPU and KVM_SET_FPU + */ +struct kvm_fpu { +}; + + +/* + * For MIPS, we use KVM_SET_ONE_REG and KVM_GET_ONE_REG to access various + * registers. The id field is broken down as follows: + * + * bits[63..52] - As per linux/kvm.h + * bits[51..32] - Must be zero. + * bits[31..16] - Register set. + * + * Register set = 0: GP registers from kvm_regs (see definitions below). + * + * Register set = 1: CP0 registers. + * bits[15..8] - COP0 register set. + * + * COP0 register set = 0: Main CP0 registers. + * bits[7..3] - Register 'rd' index. + * bits[2..0] - Register 'sel' index. + * + * COP0 register set = 1: MAARs. + * bits[7..0] - MAAR index. + * + * Register set = 2: KVM specific registers (see definitions below). + * + * Register set = 3: FPU / MSA registers (see definitions below). + * + * Other sets registers may be added in the future. Each set would + * have its own identifier in bits[31..16]. + */ + +#define KVM_REG_MIPS_GP (KVM_REG_MIPS | 0x0000000000000000ULL) +#define KVM_REG_MIPS_CP0 (KVM_REG_MIPS | 0x0000000000010000ULL) +#define KVM_REG_MIPS_KVM (KVM_REG_MIPS | 0x0000000000020000ULL) +#define KVM_REG_MIPS_FPU (KVM_REG_MIPS | 0x0000000000030000ULL) + + +/* + * KVM_REG_MIPS_GP - General purpose registers from kvm_regs. + */ + +#define KVM_REG_MIPS_R0 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 0) +#define KVM_REG_MIPS_R1 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 1) +#define KVM_REG_MIPS_R2 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 2) +#define KVM_REG_MIPS_R3 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 3) +#define KVM_REG_MIPS_R4 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 4) +#define KVM_REG_MIPS_R5 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 5) +#define KVM_REG_MIPS_R6 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 6) +#define KVM_REG_MIPS_R7 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 7) +#define KVM_REG_MIPS_R8 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 8) +#define KVM_REG_MIPS_R9 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 9) +#define KVM_REG_MIPS_R10 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 10) +#define KVM_REG_MIPS_R11 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 11) +#define KVM_REG_MIPS_R12 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 12) +#define KVM_REG_MIPS_R13 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 13) +#define KVM_REG_MIPS_R14 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 14) +#define KVM_REG_MIPS_R15 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 15) +#define KVM_REG_MIPS_R16 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 16) +#define KVM_REG_MIPS_R17 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 17) +#define KVM_REG_MIPS_R18 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 18) +#define KVM_REG_MIPS_R19 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 19) +#define KVM_REG_MIPS_R20 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 20) +#define KVM_REG_MIPS_R21 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 21) +#define KVM_REG_MIPS_R22 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 22) +#define KVM_REG_MIPS_R23 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 23) +#define KVM_REG_MIPS_R24 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 24) +#define KVM_REG_MIPS_R25 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 25) +#define KVM_REG_MIPS_R26 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 26) +#define KVM_REG_MIPS_R27 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 27) +#define KVM_REG_MIPS_R28 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 28) +#define KVM_REG_MIPS_R29 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 29) +#define KVM_REG_MIPS_R30 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 30) +#define KVM_REG_MIPS_R31 (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 31) + +#define KVM_REG_MIPS_HI (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 32) +#define KVM_REG_MIPS_LO (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 33) +#define KVM_REG_MIPS_PC (KVM_REG_MIPS_GP | KVM_REG_SIZE_U64 | 34) + + +/* + * KVM_REG_MIPS_CP0 - Coprocessor 0 registers. + */ + +#define KVM_REG_MIPS_MAAR (KVM_REG_MIPS_CP0 | (1 << 8)) +#define KVM_REG_MIPS_CP0_MAAR(n) (KVM_REG_MIPS_MAAR | \ + KVM_REG_SIZE_U64 | (n)) + + +/* + * KVM_REG_MIPS_KVM - KVM specific control registers. + */ + +/* + * CP0_Count control + * DC: Set 0: Master disable CP0_Count and set COUNT_RESUME to now + * Set 1: Master re-enable CP0_Count with unchanged bias, handling timer + * interrupts since COUNT_RESUME + * This can be used to freeze the timer to get a consistent snapshot of + * the CP0_Count and timer interrupt pending state, while also resuming + * safely without losing time or guest timer interrupts. + * Other: Reserved, do not change. + */ +#define KVM_REG_MIPS_COUNT_CTL (KVM_REG_MIPS_KVM | KVM_REG_SIZE_U64 | 0) +#define KVM_REG_MIPS_COUNT_CTL_DC 0x00000001 + +/* + * CP0_Count resume monotonic nanoseconds + * The monotonic nanosecond time of the last set of COUNT_CTL.DC (master + * disable). Any reads and writes of Count related registers while + * COUNT_CTL.DC=1 will appear to occur at this time. When COUNT_CTL.DC is + * cleared again (master enable) any timer interrupts since this time will be + * emulated. + * Modifications to times in the future are rejected. + */ +#define KVM_REG_MIPS_COUNT_RESUME (KVM_REG_MIPS_KVM | KVM_REG_SIZE_U64 | 1) +/* + * CP0_Count rate in Hz + * Specifies the rate of the CP0_Count timer in Hz. Modifications occur without + * discontinuities in CP0_Count. + */ +#define KVM_REG_MIPS_COUNT_HZ (KVM_REG_MIPS_KVM | KVM_REG_SIZE_U64 | 2) + + +/* + * KVM_REG_MIPS_FPU - Floating Point and MIPS SIMD Architecture (MSA) registers. + * + * bits[15..8] - Register subset (see definitions below). + * bits[7..5] - Must be zero. + * bits[4..0] - Register number within register subset. + */ + +#define KVM_REG_MIPS_FPR (KVM_REG_MIPS_FPU | 0x0000000000000000ULL) +#define KVM_REG_MIPS_FCR (KVM_REG_MIPS_FPU | 0x0000000000000100ULL) +#define KVM_REG_MIPS_MSACR (KVM_REG_MIPS_FPU | 0x0000000000000200ULL) + +/* + * KVM_REG_MIPS_FPR - Floating point / Vector registers. + */ +#define KVM_REG_MIPS_FPR_32(n) (KVM_REG_MIPS_FPR | KVM_REG_SIZE_U32 | (n)) +#define KVM_REG_MIPS_FPR_64(n) (KVM_REG_MIPS_FPR | KVM_REG_SIZE_U64 | (n)) +#define KVM_REG_MIPS_VEC_128(n) (KVM_REG_MIPS_FPR | KVM_REG_SIZE_U128 | (n)) + +/* + * KVM_REG_MIPS_FCR - Floating point control registers. + */ +#define KVM_REG_MIPS_FCR_IR (KVM_REG_MIPS_FCR | KVM_REG_SIZE_U32 | 0) +#define KVM_REG_MIPS_FCR_CSR (KVM_REG_MIPS_FCR | KVM_REG_SIZE_U32 | 31) + +/* + * KVM_REG_MIPS_MSACR - MIPS SIMD Architecture (MSA) control registers. + */ +#define KVM_REG_MIPS_MSA_IR (KVM_REG_MIPS_MSACR | KVM_REG_SIZE_U32 | 0) +#define KVM_REG_MIPS_MSA_CSR (KVM_REG_MIPS_MSACR | KVM_REG_SIZE_U32 | 1) + + +/* + * KVM MIPS specific structures and definitions + * + */ +struct kvm_debug_exit_arch { + __u64 epc; +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { +}; + +/* definition of registers in kvm_run */ +struct kvm_sync_regs { +}; + +/* dummy definition */ +struct kvm_sregs { +}; + +struct kvm_mips_interrupt { + /* in */ + __u32 cpu; + __u32 irq; +}; + +#endif /* __LINUX_KVM_MIPS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/mman.h new file mode 100644 index 00000000..2a9adaee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/mman.h @@ -0,0 +1,119 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999, 2002 by Ralf Baechle + */ +#ifndef _ASM_MMAN_H +#define _ASM_MMAN_H + +/* + * Protections are chosen from these bits, OR'd together. The + * implementation does not necessarily support PROT_EXEC or PROT_WRITE + * without PROT_READ. The only guarantees are that no writing will be + * allowed without PROT_WRITE and no access will be allowed for PROT_NONE. + */ +#define PROT_NONE 0x00 /* page can not be accessed */ +#define PROT_READ 0x01 /* page can be read */ +#define PROT_WRITE 0x02 /* page can be written */ +#define PROT_EXEC 0x04 /* page can be executed */ +/* 0x08 reserved for PROT_EXEC_NOFLUSH */ +#define PROT_SEM 0x10 /* page may be used for atomic ops */ +#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */ +#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */ + +/* + * Flags for mmap + */ +/* 0x01 - 0x03 are defined in linux/mman.h */ +#define MAP_TYPE 0x00f /* Mask for type of mapping */ +#define MAP_FIXED 0x010 /* Interpret addr exactly */ + +/* not used by linux, but here to make sure we don't clash with ABI defines */ +#define MAP_RENAME 0x020 /* Assign page to file */ +#define MAP_AUTOGROW 0x040 /* File may grow by writing */ +#define MAP_LOCAL 0x080 /* Copy on fork/sproc */ +#define MAP_AUTORSRV 0x100 /* Logical swap reserved on demand */ + +/* These are linux-specific */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_ANONYMOUS 0x0800 /* don't use a file */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* give out an address that is best suited for process/thread stacks */ +#define MAP_HUGETLB 0x80000 /* create a huge page mapping */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */ + +/* + * Flags for msync + */ +#define MS_ASYNC 0x0001 /* sync memory asynchronously */ +#define MS_INVALIDATE 0x0002 /* invalidate mappings & caches */ +#define MS_SYNC 0x0004 /* synchronous memory sync */ + +/* + * Flags for mlockall + */ +#define MCL_CURRENT 1 /* lock all current mappings */ +#define MCL_FUTURE 2 /* lock all future mappings */ +#define MCL_ONFAULT 4 /* lock all pages that are faulted in */ + +/* + * Flags for mlock + */ +#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */ + +#define MADV_NORMAL 0 /* no further special treatment */ +#define MADV_RANDOM 1 /* expect random page references */ +#define MADV_SEQUENTIAL 2 /* expect sequential page references */ +#define MADV_WILLNEED 3 /* will need these pages */ +#define MADV_DONTNEED 4 /* don't need these pages */ + +/* common parameters: try to keep these consistent across architectures */ +#define MADV_FREE 8 /* free pages only if memory pressure */ +#define MADV_REMOVE 9 /* remove these pages & resources */ +#define MADV_DONTFORK 10 /* don't inherit across fork */ +#define MADV_DOFORK 11 /* do inherit across fork */ + +#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ +#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */ +#define MADV_HWPOISON 100 /* poison a page for testing */ + +#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ +#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ + +#define MADV_DONTDUMP 16 /* Explicitly exclude from core dump, + overrides the coredump filter bits */ +#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ + +#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */ +#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */ + +#define MADV_COLD 20 /* deactivate these pages */ +#define MADV_PAGEOUT 21 /* reclaim these pages */ + +#define MADV_POPULATE_READ 22 /* populate (prefault) page tables readable */ +#define MADV_POPULATE_WRITE 23 /* populate (prefault) page tables writable */ + +#define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */ + +#define MADV_COLLAPSE 25 /* Synchronous hugepage collapse */ + +#define MADV_GUARD_INSTALL 102 /* fatal signal on access to range */ +#define MADV_GUARD_REMOVE 103 /* unguard range */ + +/* compatibility flags */ +#define MAP_FILE 0 + +#define PKEY_DISABLE_ACCESS 0x1 +#define PKEY_DISABLE_WRITE 0x2 +#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\ + PKEY_DISABLE_WRITE) + +#endif /* _ASM_MMAN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/msgbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/msgbuf.h new file mode 100644 index 00000000..8adfeb4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/msgbuf.h @@ -0,0 +1,68 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_MSGBUF_H +#define _ASM_MSGBUF_H + +#include + +/* + * The msqid64_ds structure for the MIPS architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous unsigned long values + */ + +#if defined(__mips64) +struct msqid64_ds { + struct ipc64_perm msg_perm; + long msg_stime; /* last msgsnd time */ + long msg_rtime; /* last msgrcv time */ + long msg_ctime; /* last change time */ + unsigned long msg_cbytes; /* current number of bytes on queue */ + unsigned long msg_qnum; /* number of messages in queue */ + unsigned long msg_qbytes; /* max number of bytes on queue */ + __kernel_pid_t msg_lspid; /* pid of last msgsnd */ + __kernel_pid_t msg_lrpid; /* last receive pid */ + unsigned long __unused4; + unsigned long __unused5; +}; +#elif defined (__MIPSEB__) +struct msqid64_ds { + struct ipc64_perm msg_perm; + unsigned long msg_stime_high; + unsigned long msg_stime; /* last msgsnd time */ + unsigned long msg_rtime_high; + unsigned long msg_rtime; /* last msgrcv time */ + unsigned long msg_ctime_high; + unsigned long msg_ctime; /* last change time */ + unsigned long msg_cbytes; /* current number of bytes on queue */ + unsigned long msg_qnum; /* number of messages in queue */ + unsigned long msg_qbytes; /* max number of bytes on queue */ + __kernel_pid_t msg_lspid; /* pid of last msgsnd */ + __kernel_pid_t msg_lrpid; /* last receive pid */ + unsigned long __unused4; + unsigned long __unused5; +}; +#elif defined (__MIPSEL__) +struct msqid64_ds { + struct ipc64_perm msg_perm; + unsigned long msg_stime; /* last msgsnd time */ + unsigned long msg_stime_high; + unsigned long msg_rtime; /* last msgrcv time */ + unsigned long msg_rtime_high; + unsigned long msg_ctime; /* last change time */ + unsigned long msg_ctime_high; + unsigned long msg_cbytes; /* current number of bytes on queue */ + unsigned long msg_qnum; /* number of messages in queue */ + unsigned long msg_qbytes; /* max number of bytes on queue */ + __kernel_pid_t msg_lspid; /* pid of last msgsnd */ + __kernel_pid_t msg_lrpid; /* last receive pid */ + unsigned long __unused4; + unsigned long __unused5; +}; +#else +#warning no endianness set +#endif + +#endif /* _ASM_MSGBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/param.h new file mode 100644 index 00000000..91eb58fe --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/param.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright 1994 - 2000, 2002 Ralf Baechle (ralf@gnu.org) + * Copyright 2000 Silicon Graphics, Inc. + */ +#ifndef _ASM_PARAM_H +#define _ASM_PARAM_H + +#define EXEC_PAGESIZE 65536 + +#include + +#endif /* _ASM_PARAM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..a1dd8fe0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/perf_regs.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_MIPS_PERF_REGS_H +#define _ASM_MIPS_PERF_REGS_H + +enum perf_event_mips_regs { + PERF_REG_MIPS_PC, + PERF_REG_MIPS_R1, + PERF_REG_MIPS_R2, + PERF_REG_MIPS_R3, + PERF_REG_MIPS_R4, + PERF_REG_MIPS_R5, + PERF_REG_MIPS_R6, + PERF_REG_MIPS_R7, + PERF_REG_MIPS_R8, + PERF_REG_MIPS_R9, + PERF_REG_MIPS_R10, + PERF_REG_MIPS_R11, + PERF_REG_MIPS_R12, + PERF_REG_MIPS_R13, + PERF_REG_MIPS_R14, + PERF_REG_MIPS_R15, + PERF_REG_MIPS_R16, + PERF_REG_MIPS_R17, + PERF_REG_MIPS_R18, + PERF_REG_MIPS_R19, + PERF_REG_MIPS_R20, + PERF_REG_MIPS_R21, + PERF_REG_MIPS_R22, + PERF_REG_MIPS_R23, + PERF_REG_MIPS_R24, + PERF_REG_MIPS_R25, + PERF_REG_MIPS_R26, + PERF_REG_MIPS_R27, + PERF_REG_MIPS_R28, + PERF_REG_MIPS_R29, + PERF_REG_MIPS_R30, + PERF_REG_MIPS_R31, + PERF_REG_MIPS_MAX = PERF_REG_MIPS_R31 + 1, +}; +#endif /* _ASM_MIPS_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/poll.h new file mode 100644 index 00000000..dea2bfbc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/poll.h @@ -0,0 +1,10 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_POLL_H +#define __ASM_POLL_H + +#define POLLWRNORM POLLOUT +#define POLLWRBAND 0x0100 + +#include + +#endif /* __ASM_POLL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/posix_types.h new file mode 100644 index 00000000..2f0a5834 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/posix_types.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 97, 98, 99, 2000 by Ralf Baechle + * Copyright (C) 1999, 2000 Silicon Graphics, Inc. + */ +#ifndef _ASM_POSIX_TYPES_H +#define _ASM_POSIX_TYPES_H + +#include + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +typedef long __kernel_daddr_t; +#define __kernel_daddr_t __kernel_daddr_t + +#include + +#endif /* _ASM_POSIX_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ptrace.h new file mode 100644 index 00000000..01280eb3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ptrace.h @@ -0,0 +1,105 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1994, 95, 96, 97, 98, 99, 2000 by Ralf Baechle + * Copyright (C) 1999, 2000 Silicon Graphics, Inc. + */ +#ifndef _ASM_PTRACE_H +#define _ASM_PTRACE_H + +#include + +/* 0 - 31 are integer registers, 32 - 63 are fp registers. */ +#define FPR_BASE 32 +#define PC 64 +#define CAUSE 65 +#define BADVADDR 66 +#define MMHI 67 +#define MMLO 68 +#define FPC_CSR 69 +#define FPC_EIR 70 +#define DSP_BASE 71 /* 3 more hi / lo register pairs */ +#define DSP_CONTROL 77 +#define ACX 78 + +/* + * This struct defines the registers as used by PTRACE_{GET,SET}REGS. The + * format is the same for both 32- and 64-bit processes. Registers for 32-bit + * processes are sign extended. + */ +struct pt_regs { + /* Saved main processor registers. */ + __u64 regs[32]; + + /* Saved special registers. */ + __u64 lo; + __u64 hi; + __u64 cp0_epc; + __u64 cp0_badvaddr; + __u64 cp0_status; + __u64 cp0_cause; +} __attribute__ ((aligned (8))); + +/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +/* #define PTRACE_GETFPXREGS 18 */ +/* #define PTRACE_SETFPXREGS 19 */ + +#define PTRACE_OLDSETOPTIONS 21 + +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 + +/* Calls to trace a 64bit program from a 32bit program. */ +#define PTRACE_PEEKTEXT_3264 0xc0 +#define PTRACE_PEEKDATA_3264 0xc1 +#define PTRACE_POKETEXT_3264 0xc2 +#define PTRACE_POKEDATA_3264 0xc3 +#define PTRACE_GET_THREAD_AREA_3264 0xc4 + +/* Read and write watchpoint registers. */ +enum pt_watch_style { + pt_watch_style_mips32, + pt_watch_style_mips64 +}; +struct mips32_watch_regs { + unsigned int watchlo[8]; + /* Lower 16 bits of watchhi. */ + unsigned short watchhi[8]; + /* Valid mask and I R W bits. + * bit 0 -- 1 if W bit is usable. + * bit 1 -- 1 if R bit is usable. + * bit 2 -- 1 if I bit is usable. + * bits 3 - 11 -- Valid watchhi mask bits. + */ + unsigned short watch_masks[8]; + /* The number of valid watch register pairs. */ + unsigned int num_valid; +} __attribute__((aligned(8))); + +struct mips64_watch_regs { + unsigned long long watchlo[8]; + unsigned short watchhi[8]; + unsigned short watch_masks[8]; + unsigned int num_valid; +} __attribute__((aligned(8))); + +struct pt_watch_regs { + enum pt_watch_style style; + union { + struct mips32_watch_regs mips32; + struct mips64_watch_regs mips64; + }; +}; + +#define PTRACE_GET_WATCH_REGS 0xd0 +#define PTRACE_SET_WATCH_REGS 0xd1 + + +#endif /* _ASM_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/reg.h new file mode 100644 index 00000000..c93bd9b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/reg.h @@ -0,0 +1,207 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Various register offset definitions for debuggers, core file + * examiners and whatnot. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999 Ralf Baechle + * Copyright (C) 1995, 1999 Silicon Graphics + */ +#ifndef __UAPI_ASM_MIPS_REG_H +#define __UAPI_ASM_MIPS_REG_H + +#define MIPS32_EF_R0 6 +#define MIPS32_EF_R1 7 +#define MIPS32_EF_R2 8 +#define MIPS32_EF_R3 9 +#define MIPS32_EF_R4 10 +#define MIPS32_EF_R5 11 +#define MIPS32_EF_R6 12 +#define MIPS32_EF_R7 13 +#define MIPS32_EF_R8 14 +#define MIPS32_EF_R9 15 +#define MIPS32_EF_R10 16 +#define MIPS32_EF_R11 17 +#define MIPS32_EF_R12 18 +#define MIPS32_EF_R13 19 +#define MIPS32_EF_R14 20 +#define MIPS32_EF_R15 21 +#define MIPS32_EF_R16 22 +#define MIPS32_EF_R17 23 +#define MIPS32_EF_R18 24 +#define MIPS32_EF_R19 25 +#define MIPS32_EF_R20 26 +#define MIPS32_EF_R21 27 +#define MIPS32_EF_R22 28 +#define MIPS32_EF_R23 29 +#define MIPS32_EF_R24 30 +#define MIPS32_EF_R25 31 + +/* + * k0/k1 unsaved + */ +#define MIPS32_EF_R26 32 +#define MIPS32_EF_R27 33 + +#define MIPS32_EF_R28 34 +#define MIPS32_EF_R29 35 +#define MIPS32_EF_R30 36 +#define MIPS32_EF_R31 37 + +/* + * Saved special registers + */ +#define MIPS32_EF_LO 38 +#define MIPS32_EF_HI 39 + +#define MIPS32_EF_CP0_EPC 40 +#define MIPS32_EF_CP0_BADVADDR 41 +#define MIPS32_EF_CP0_STATUS 42 +#define MIPS32_EF_CP0_CAUSE 43 +#define MIPS32_EF_UNUSED0 44 + +#define MIPS32_EF_SIZE 180 + +#define MIPS64_EF_R0 0 +#define MIPS64_EF_R1 1 +#define MIPS64_EF_R2 2 +#define MIPS64_EF_R3 3 +#define MIPS64_EF_R4 4 +#define MIPS64_EF_R5 5 +#define MIPS64_EF_R6 6 +#define MIPS64_EF_R7 7 +#define MIPS64_EF_R8 8 +#define MIPS64_EF_R9 9 +#define MIPS64_EF_R10 10 +#define MIPS64_EF_R11 11 +#define MIPS64_EF_R12 12 +#define MIPS64_EF_R13 13 +#define MIPS64_EF_R14 14 +#define MIPS64_EF_R15 15 +#define MIPS64_EF_R16 16 +#define MIPS64_EF_R17 17 +#define MIPS64_EF_R18 18 +#define MIPS64_EF_R19 19 +#define MIPS64_EF_R20 20 +#define MIPS64_EF_R21 21 +#define MIPS64_EF_R22 22 +#define MIPS64_EF_R23 23 +#define MIPS64_EF_R24 24 +#define MIPS64_EF_R25 25 + +/* + * k0/k1 unsaved + */ +#define MIPS64_EF_R26 26 +#define MIPS64_EF_R27 27 + + +#define MIPS64_EF_R28 28 +#define MIPS64_EF_R29 29 +#define MIPS64_EF_R30 30 +#define MIPS64_EF_R31 31 + +/* + * Saved special registers + */ +#define MIPS64_EF_LO 32 +#define MIPS64_EF_HI 33 + +#define MIPS64_EF_CP0_EPC 34 +#define MIPS64_EF_CP0_BADVADDR 35 +#define MIPS64_EF_CP0_STATUS 36 +#define MIPS64_EF_CP0_CAUSE 37 + +#define MIPS64_EF_SIZE 304 /* size in bytes */ + +#if _MIPS_SIM == _MIPS_SIM_ABI32 + +#define EF_R0 MIPS32_EF_R0 +#define EF_R1 MIPS32_EF_R1 +#define EF_R2 MIPS32_EF_R2 +#define EF_R3 MIPS32_EF_R3 +#define EF_R4 MIPS32_EF_R4 +#define EF_R5 MIPS32_EF_R5 +#define EF_R6 MIPS32_EF_R6 +#define EF_R7 MIPS32_EF_R7 +#define EF_R8 MIPS32_EF_R8 +#define EF_R9 MIPS32_EF_R9 +#define EF_R10 MIPS32_EF_R10 +#define EF_R11 MIPS32_EF_R11 +#define EF_R12 MIPS32_EF_R12 +#define EF_R13 MIPS32_EF_R13 +#define EF_R14 MIPS32_EF_R14 +#define EF_R15 MIPS32_EF_R15 +#define EF_R16 MIPS32_EF_R16 +#define EF_R17 MIPS32_EF_R17 +#define EF_R18 MIPS32_EF_R18 +#define EF_R19 MIPS32_EF_R19 +#define EF_R20 MIPS32_EF_R20 +#define EF_R21 MIPS32_EF_R21 +#define EF_R22 MIPS32_EF_R22 +#define EF_R23 MIPS32_EF_R23 +#define EF_R24 MIPS32_EF_R24 +#define EF_R25 MIPS32_EF_R25 +#define EF_R26 MIPS32_EF_R26 +#define EF_R27 MIPS32_EF_R27 +#define EF_R28 MIPS32_EF_R28 +#define EF_R29 MIPS32_EF_R29 +#define EF_R30 MIPS32_EF_R30 +#define EF_R31 MIPS32_EF_R31 +#define EF_LO MIPS32_EF_LO +#define EF_HI MIPS32_EF_HI +#define EF_CP0_EPC MIPS32_EF_CP0_EPC +#define EF_CP0_BADVADDR MIPS32_EF_CP0_BADVADDR +#define EF_CP0_STATUS MIPS32_EF_CP0_STATUS +#define EF_CP0_CAUSE MIPS32_EF_CP0_CAUSE +#define EF_UNUSED0 MIPS32_EF_UNUSED0 +#define EF_SIZE MIPS32_EF_SIZE + +#elif _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 + +#define EF_R0 MIPS64_EF_R0 +#define EF_R1 MIPS64_EF_R1 +#define EF_R2 MIPS64_EF_R2 +#define EF_R3 MIPS64_EF_R3 +#define EF_R4 MIPS64_EF_R4 +#define EF_R5 MIPS64_EF_R5 +#define EF_R6 MIPS64_EF_R6 +#define EF_R7 MIPS64_EF_R7 +#define EF_R8 MIPS64_EF_R8 +#define EF_R9 MIPS64_EF_R9 +#define EF_R10 MIPS64_EF_R10 +#define EF_R11 MIPS64_EF_R11 +#define EF_R12 MIPS64_EF_R12 +#define EF_R13 MIPS64_EF_R13 +#define EF_R14 MIPS64_EF_R14 +#define EF_R15 MIPS64_EF_R15 +#define EF_R16 MIPS64_EF_R16 +#define EF_R17 MIPS64_EF_R17 +#define EF_R18 MIPS64_EF_R18 +#define EF_R19 MIPS64_EF_R19 +#define EF_R20 MIPS64_EF_R20 +#define EF_R21 MIPS64_EF_R21 +#define EF_R22 MIPS64_EF_R22 +#define EF_R23 MIPS64_EF_R23 +#define EF_R24 MIPS64_EF_R24 +#define EF_R25 MIPS64_EF_R25 +#define EF_R26 MIPS64_EF_R26 +#define EF_R27 MIPS64_EF_R27 +#define EF_R28 MIPS64_EF_R28 +#define EF_R29 MIPS64_EF_R29 +#define EF_R30 MIPS64_EF_R30 +#define EF_R31 MIPS64_EF_R31 +#define EF_LO MIPS64_EF_LO +#define EF_HI MIPS64_EF_HI +#define EF_CP0_EPC MIPS64_EF_CP0_EPC +#define EF_CP0_BADVADDR MIPS64_EF_CP0_BADVADDR +#define EF_CP0_STATUS MIPS64_EF_CP0_STATUS +#define EF_CP0_CAUSE MIPS64_EF_CP0_CAUSE +#define EF_SIZE MIPS64_EF_SIZE + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ + +#endif /* __UAPI_ASM_MIPS_REG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/resource.h new file mode 100644 index 00000000..e1cebaf8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/resource.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 98, 99, 2000 by Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + */ +#ifndef _ASM_RESOURCE_H +#define _ASM_RESOURCE_H + + +/* + * These five resource limit IDs have a MIPS/Linux-specific ordering, + * the rest comes from the generic header: + */ +#define RLIMIT_NOFILE 5 /* max number of open files */ +#define RLIMIT_AS 6 /* address space limit */ +#define RLIMIT_RSS 7 /* max resident set size */ +#define RLIMIT_NPROC 8 /* max number of processes */ +#define RLIMIT_MEMLOCK 9 /* max locked-in-memory address space */ + +/* + * SuS says limits have to be unsigned. + * Which makes a ton more sense anyway, + * but we keep the old value on MIPS32, + * for compatibility: + */ +#ifndef __mips64 +# define RLIM_INFINITY 0x7fffffffUL +#endif + +#include + +#endif /* _ASM_RESOURCE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sembuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sembuf.h new file mode 100644 index 00000000..91119d94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sembuf.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_SEMBUF_H +#define _ASM_SEMBUF_H + +#include + +/* + * The semid64_ds structure for the MIPS architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for 2 miscellaneous 64-bit values on mips64, + * but used for the upper 32 bit of the time values on mips32. + */ + +#ifdef __mips64 +struct semid64_ds { + struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ + long sem_otime; /* last semop time */ + long sem_ctime; /* last change time */ + unsigned long sem_nsems; /* no. of semaphores in array */ + unsigned long __unused1; + unsigned long __unused2; +}; +#else +struct semid64_ds { + struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ + unsigned long sem_otime; /* last semop time */ + unsigned long sem_ctime; /* last change time */ + unsigned long sem_nsems; /* no. of semaphores in array */ + unsigned long sem_otime_high; + unsigned long sem_ctime_high; +}; +#endif + +#endif /* _ASM_SEMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/setup.h new file mode 100644 index 00000000..6b1aea4f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/setup.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _MIPS_SETUP_H +#define _MIPS_SETUP_H + +#define COMMAND_LINE_SIZE 4096 + + +#endif /* _MIPS_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sgidefs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sgidefs.h new file mode 100644 index 00000000..3690ce51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sgidefs.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 1999, 2001 Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + * Copyright (C) 2001 MIPS Technologies, Inc. + */ +#ifndef __ASM_SGIDEFS_H +#define __ASM_SGIDEFS_H + +/* + * Definitions for the ISA levels + * + * With the introduction of MIPS32 / MIPS64 instruction sets definitions + * MIPS ISAs are no longer subsets of each other. Therefore comparisons + * on these symbols except with == may result in unexpected results and + * are forbidden! + */ +#define _MIPS_ISA_MIPS1 1 +#define _MIPS_ISA_MIPS2 2 +#define _MIPS_ISA_MIPS3 3 +#define _MIPS_ISA_MIPS4 4 +#define _MIPS_ISA_MIPS5 5 +#define _MIPS_ISA_MIPS32 6 +#define _MIPS_ISA_MIPS64 7 + +/* + * Subprogram calling convention + */ +#define _MIPS_SIM_ABI32 1 +#define _MIPS_SIM_NABI32 2 +#define _MIPS_SIM_ABI64 3 + +#endif /* __ASM_SGIDEFS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/shmbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/shmbuf.h new file mode 100644 index 00000000..4078d51c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/shmbuf.h @@ -0,0 +1,61 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_SHMBUF_H +#define _ASM_SHMBUF_H + +#include +#include + +/* + * The shmid64_ds structure for the MIPS architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * As MIPS was lacking proper padding after shm_?time, we use 48 bits + * of the padding at the end to store a few additional bits of the time. + * libc implementations need to take care to convert this into a proper + * data structure when moving to 64-bit time_t. + */ + +#ifdef __mips64 +struct shmid64_ds { + struct ipc64_perm shm_perm; /* operation perms */ + __kernel_size_t shm_segsz; /* size of segment (bytes) */ + long shm_atime; /* last attach time */ + long shm_dtime; /* last detach time */ + long shm_ctime; /* last change time */ + __kernel_pid_t shm_cpid; /* pid of creator */ + __kernel_pid_t shm_lpid; /* pid of last operator */ + unsigned long shm_nattch; /* no. of current attaches */ + unsigned long __unused1; + unsigned long __unused2; +}; +#else +struct shmid64_ds { + struct ipc64_perm shm_perm; /* operation perms */ + __kernel_size_t shm_segsz; /* size of segment (bytes) */ + unsigned long shm_atime; /* last attach time */ + unsigned long shm_dtime; /* last detach time */ + unsigned long shm_ctime; /* last change time */ + __kernel_pid_t shm_cpid; /* pid of creator */ + __kernel_pid_t shm_lpid; /* pid of last operator */ + unsigned long shm_nattch; /* no. of current attaches */ + unsigned short shm_atime_high; + unsigned short shm_dtime_high; + unsigned short shm_ctime_high; + unsigned short __unused1; +}; +#endif + +struct shminfo64 { + unsigned long shmmax; + unsigned long shmmin; + unsigned long shmmni; + unsigned long shmseg; + unsigned long shmall; + unsigned long __unused1; + unsigned long __unused2; + unsigned long __unused3; + unsigned long __unused4; +}; + +#endif /* _ASM_SHMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..ba3e61b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sigcontext.h @@ -0,0 +1,90 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 1997, 1999 by Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + */ +#ifndef _ASM_SIGCONTEXT_H +#define _ASM_SIGCONTEXT_H + +#include +#include + +/* scalar FP context was used */ +#define USED_FP (1 << 0) + +/* the value of Status.FR when context was saved */ +#define USED_FR1 (1 << 1) + +/* FR=1, but with odd singles in bits 63:32 of preceding even double */ +#define USED_HYBRID_FPRS (1 << 2) + +/* extended context was used, see struct extcontext for details */ +#define USED_EXTCONTEXT (1 << 3) + +#if _MIPS_SIM == _MIPS_SIM_ABI32 + +/* + * Keep this struct definition in sync with the sigcontext fragment + * in arch/mips/kernel/asm-offsets.c + */ +struct sigcontext { + unsigned int sc_regmask; /* Unused */ + unsigned int sc_status; /* Unused */ + unsigned long long sc_pc; + unsigned long long sc_regs[32]; + unsigned long long sc_fpregs[32]; + unsigned int sc_acx; /* Was sc_ownedfp */ + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; /* Unused */ + unsigned int sc_used_math; + unsigned int sc_dsp; /* dsp status, was sc_ssflags */ + unsigned long long sc_mdhi; + unsigned long long sc_mdlo; + unsigned long sc_hi1; /* Was sc_cause */ + unsigned long sc_lo1; /* Was sc_badvaddr */ + unsigned long sc_hi2; /* Was sc_sigset[4] */ + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ + +#if _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 + +/* + * Keep this struct definition in sync with the sigcontext fragment + * in arch/mips/kernel/asm-offsets.c + * + * Warning: this structure illdefined with sc_badvaddr being just an unsigned + * int so it was changed to unsigned long in 2.6.0-test1. This may break + * binary compatibility - no prisoners. + * DSP ASE in 2.6.12-rc4. Turn sc_mdhi and sc_mdlo into an array of four + * entries, add sc_dsp and sc_reserved for padding. No prisoners. + */ +struct sigcontext { + __u64 sc_regs[32]; + __u64 sc_fpregs[32]; + __u64 sc_mdhi; + __u64 sc_hi1; + __u64 sc_hi2; + __u64 sc_hi3; + __u64 sc_mdlo; + __u64 sc_lo1; + __u64 sc_lo2; + __u64 sc_lo3; + __u64 sc_pc; + __u32 sc_fpc_csr; + __u32 sc_used_math; + __u32 sc_dsp; + __u32 sc_reserved; +}; + + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32 */ + +#endif /* _ASM_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/siginfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/siginfo.h new file mode 100644 index 00000000..12fd8ab6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/siginfo.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1998, 1999, 2001, 2003 Ralf Baechle + * Copyright (C) 2000, 2001 Silicon Graphics, Inc. + */ +#ifndef _ASM_SIGINFO_H +#define _ASM_SIGINFO_H + +#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(long) + 2*sizeof(int)) + +#define __ARCH_HAS_SWAPPED_SIGINFO + +#include + +/* + * si_code values + * Again these have been chosen to be IRIX compatible. + */ +#undef SI_ASYNCIO +#undef SI_TIMER +#undef SI_MESGQ +#define SI_ASYNCIO -2 /* sent by AIO completion */ +#define SI_TIMER -3 /* sent by timer expiration */ +#define SI_MESGQ -4 /* sent by real time mesq state change */ + +#endif /* _ASM_SIGINFO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/signal.h new file mode 100644 index 00000000..bb11adb3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/signal.h @@ -0,0 +1,106 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 97, 98, 99, 2003 by Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + */ +#ifndef _ASM_SIGNAL_H +#define _ASM_SIGNAL_H + +#include + +#define _NSIG 128 +#define _NSIG_BPW (sizeof(unsigned long) * 8) +#define _NSIG_WORDS (_NSIG / _NSIG_BPW) + +typedef struct { + unsigned long sig[_NSIG_WORDS]; +} sigset_t; + +typedef unsigned long old_sigset_t; /* at least 32 bits */ + +#define SIGHUP 1 /* Hangup (POSIX). */ +#define SIGINT 2 /* Interrupt (ANSI). */ +#define SIGQUIT 3 /* Quit (POSIX). */ +#define SIGILL 4 /* Illegal instruction (ANSI). */ +#define SIGTRAP 5 /* Trace trap (POSIX). */ +#define SIGIOT 6 /* IOT trap (4.2 BSD). */ +#define SIGABRT SIGIOT /* Abort (ANSI). */ +#define SIGEMT 7 +#define SIGFPE 8 /* Floating-point exception (ANSI). */ +#define SIGKILL 9 /* Kill, unblockable (POSIX). */ +#define SIGBUS 10 /* BUS error (4.2 BSD). */ +#define SIGSEGV 11 /* Segmentation violation (ANSI). */ +#define SIGSYS 12 +#define SIGPIPE 13 /* Broken pipe (POSIX). */ +#define SIGALRM 14 /* Alarm clock (POSIX). */ +#define SIGTERM 15 /* Termination (ANSI). */ +#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ +#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ +#define SIGCHLD 18 /* Child status has changed (POSIX). */ +#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ +#define SIGPWR 19 /* Power failure restart (System V). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ +#define SIGURG 21 /* Urgent condition on socket (4.2 BSD). */ +#define SIGIO 22 /* I/O now possible (4.2 BSD). */ +#define SIGPOLL SIGIO /* Pollable event occurred (System V). */ +#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ +#define SIGTSTP 24 /* Keyboard stop (POSIX). */ +#define SIGCONT 25 /* Continue (POSIX). */ +#define SIGTTIN 26 /* Background read from tty (POSIX). */ +#define SIGTTOU 27 /* Background write to tty (POSIX). */ +#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ +#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ +#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ +#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ + +/* These should not be considered constants from userland. */ +#define SIGRTMIN 32 +#define SIGRTMAX _NSIG + +/* + * SA_RESTORER used to be defined as 0x04000000 but only the O32 ABI ever + * supported its use and no libc was using it, so the entire sa-restorer + * functionality was removed with lmo commit 39bffc12c3580ab for 2.5.48 + * retaining only the SA_RESTORER definition as a reminder to avoid + * accidental reuse of the mask bit. + */ +#define SA_ONSTACK 0x08000000 +#define SA_RESETHAND 0x80000000 +#define SA_RESTART 0x10000000 +#define SA_SIGINFO 0x00000008 +#define SA_NODEFER 0x40000000 +#define SA_NOCLDWAIT 0x00010000 +#define SA_NOCLDSTOP 0x00000001 + +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND + +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 + + +#define SIG_BLOCK 1 /* for blocking signals */ +#define SIG_UNBLOCK 2 /* for unblocking signals */ +#define SIG_SETMASK 3 /* for setting the signal mask */ + +#include + +struct sigaction { + unsigned int sa_flags; + __sighandler_t sa_handler; + sigset_t sa_mask; +}; + +/* IRIX compatible stack_t */ +typedef struct sigaltstack { + void *ss_sp; + __kernel_size_t ss_size; + int ss_flags; +} stack_t; + + +#endif /* _ASM_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/socket.h new file mode 100644 index 00000000..28b0647a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/socket.h @@ -0,0 +1,184 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1997, 1999, 2000, 2001 Ralf Baechle + * Copyright (C) 2000, 2001 Silicon Graphics, Inc. + */ +#ifndef _ASM_SOCKET_H +#define _ASM_SOCKET_H + +#include +#include + +/* + * For setsockopt(2) + * + * This defines are ABI conformant as far as Linux supports these ... + */ +#define SOL_SOCKET 0xffff + +#define SO_DEBUG 0x0001 /* Record debugging information. */ +#define SO_REUSEADDR 0x0004 /* Allow reuse of local addresses. */ +#define SO_KEEPALIVE 0x0008 /* Keep connections alive and send + SIGPIPE when they die. */ +#define SO_DONTROUTE 0x0010 /* Don't do local routing. */ +#define SO_BROADCAST 0x0020 /* Allow transmission of + broadcast messages. */ +#define SO_LINGER 0x0080 /* Block on close of a reliable + socket to transmit pending data. */ +#define SO_OOBINLINE 0x0100 /* Receive out-of-band data in-band. */ +#define SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */ + +#define SO_TYPE 0x1008 /* Compatible name for SO_STYLE. */ +#define SO_STYLE SO_TYPE /* Synonym */ +#define SO_ERROR 0x1007 /* get error status and clear */ +#define SO_SNDBUF 0x1001 /* Send buffer size. */ +#define SO_RCVBUF 0x1002 /* Receive buffer. */ +#define SO_SNDLOWAT 0x1003 /* send low-water mark */ +#define SO_RCVLOWAT 0x1004 /* receive low-water mark */ +#define SO_SNDTIMEO_OLD 0x1005 /* send timeout */ +#define SO_RCVTIMEO_OLD 0x1006 /* receive timeout */ +#define SO_ACCEPTCONN 0x1009 +#define SO_PROTOCOL 0x1028 /* protocol type */ +#define SO_DOMAIN 0x1029 /* domain/socket family */ + +/* linux-specific, might as well be the same as on i386 */ +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_BSDCOMPAT 14 + +#define SO_PASSCRED 17 +#define SO_PEERCRED 18 + +/* Security levels - as per NRL IPv6 - don't actually do anything */ +#define SO_SECURITY_AUTHENTICATION 22 +#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#define SO_SECURITY_ENCRYPTION_NETWORK 24 + +#define SO_BINDTODEVICE 25 + +/* Socket filtering */ +#define SO_ATTACH_FILTER 26 +#define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER + +#define SO_PEERNAME 28 + +#define SO_PEERSEC 30 +#define SO_SNDBUFFORCE 31 +#define SO_RCVBUFFORCE 33 +#define SO_PASSSEC 34 + +#define SO_MARK 36 + +#define SO_RXQ_OVFL 40 + +#define SO_WIFI_STATUS 41 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 42 + +/* Instruct lower device to use last 4-bytes of skb data as FCS */ +#define SO_NOFCS 43 + +#define SO_LOCK_FILTER 44 + +#define SO_SELECT_ERR_QUEUE 45 + +#define SO_BUSY_POLL 46 + +#define SO_MAX_PACING_RATE 47 + +#define SO_BPF_EXTENSIONS 48 + +#define SO_INCOMING_CPU 49 + +#define SO_ATTACH_BPF 50 +#define SO_DETACH_BPF SO_DETACH_FILTER + +#define SO_ATTACH_REUSEPORT_CBPF 51 +#define SO_ATTACH_REUSEPORT_EBPF 52 + +#define SO_CNX_ADVICE 53 + +#define SCM_TIMESTAMPING_OPT_STATS 54 + +#define SO_MEMINFO 55 + +#define SO_INCOMING_NAPI_ID 56 + +#define SO_COOKIE 57 + +#define SCM_TIMESTAMPING_PKTINFO 58 + +#define SO_PEERGROUPS 59 + +#define SO_ZEROCOPY 60 + +#define SO_TXTIME 61 +#define SCM_TXTIME SO_TXTIME + +#define SO_BINDTOIFINDEX 62 + +#define SO_TIMESTAMP_OLD 29 +#define SO_TIMESTAMPNS_OLD 35 +#define SO_TIMESTAMPING_OLD 37 + +#define SO_TIMESTAMP_NEW 63 +#define SO_TIMESTAMPNS_NEW 64 +#define SO_TIMESTAMPING_NEW 65 + +#define SO_RCVTIMEO_NEW 66 +#define SO_SNDTIMEO_NEW 67 + +#define SO_DETACH_REUSEPORT_BPF 68 + +#define SO_PREFER_BUSY_POLL 69 +#define SO_BUSY_POLL_BUDGET 70 + +#define SO_NETNS_COOKIE 71 + +#define SO_BUF_LOCK 72 + +#define SO_RESERVE_MEM 73 + +#define SO_TXREHASH 74 + +#define SO_RCVMARK 75 + +#define SO_PASSPIDFD 76 +#define SO_PEERPIDFD 77 + +#define SO_DEVMEM_LINEAR 78 +#define SCM_DEVMEM_LINEAR SO_DEVMEM_LINEAR +#define SO_DEVMEM_DMABUF 79 +#define SCM_DEVMEM_DMABUF SO_DEVMEM_DMABUF +#define SO_DEVMEM_DONTNEED 80 + +#define SCM_TS_OPT_ID 81 + + +#if __BITS_PER_LONG == 64 +#define SO_TIMESTAMP SO_TIMESTAMP_OLD +#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD + +#define SO_RCVTIMEO SO_RCVTIMEO_OLD +#define SO_SNDTIMEO SO_SNDTIMEO_OLD +#else +#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) +#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) +#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) + +#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) +#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) +#endif + +#define SCM_TIMESTAMP SO_TIMESTAMP +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SCM_TIMESTAMPING SO_TIMESTAMPING + + +#endif /* _ASM_SOCKET_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sockios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sockios.h new file mode 100644 index 00000000..a170c829 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sockios.h @@ -0,0 +1,27 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Socket-level I/O control calls. + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995 by Ralf Baechle + */ +#ifndef _ASM_SOCKIOS_H +#define _ASM_SOCKIOS_H + +#include + +/* Socket-level I/O control calls. */ +#define FIOGETOWN _IOR('f', 123, int) +#define FIOSETOWN _IOW('f', 124, int) + +#define SIOCATMARK _IOR('s', 7, int) +#define SIOCSPGRP _IOW('s', 8, pid_t) +#define SIOCGPGRP _IOR('s', 9, pid_t) + +#define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */ +#define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */ + +#endif /* _ASM_SOCKIOS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/stat.h new file mode 100644 index 00000000..544a542e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/stat.h @@ -0,0 +1,133 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999, 2000 Ralf Baechle + * Copyright (C) 2000 Silicon Graphics, Inc. + */ +#ifndef _ASM_STAT_H +#define _ASM_STAT_H + +#include + +#include + +#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32) + +struct stat { + unsigned st_dev; + long st_pad1[3]; /* Reserved for network id */ + __kernel_ino_t st_ino; + __kernel_mode_t st_mode; + __u32 st_nlink; + __kernel_uid32_t st_uid; + __kernel_gid32_t st_gid; + unsigned st_rdev; + long st_pad2[2]; + long st_size; + long st_pad3; + /* + * Actually this should be timestruc_t st_atime, st_mtime and st_ctime + * but we don't have it under Linux. + */ + long st_atime; + long st_atime_nsec; + long st_mtime; + long st_mtime_nsec; + long st_ctime; + long st_ctime_nsec; + long st_blksize; + long st_blocks; + long st_pad4[14]; +}; + +/* + * This matches struct stat64 in glibc2.1, hence the absolutely insane + * amounts of padding around dev_t's. The memory layout is the same as of + * struct stat of the 64-bit kernel. + */ + +struct stat64 { + unsigned long st_dev; + unsigned long st_pad0[3]; /* Reserved for st_dev expansion */ + + unsigned long long st_ino; + + __kernel_mode_t st_mode; + __u32 st_nlink; + + __kernel_uid32_t st_uid; + __kernel_gid32_t st_gid; + + unsigned long st_rdev; + unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */ + + long long st_size; + + /* + * Actually this should be timestruc_t st_atime, st_mtime and st_ctime + * but we don't have it under Linux. + */ + long st_atime; + unsigned long st_atime_nsec; /* Reserved for st_atime expansion */ + + long st_mtime; + unsigned long st_mtime_nsec; /* Reserved for st_mtime expansion */ + + long st_ctime; + unsigned long st_ctime_nsec; /* Reserved for st_ctime expansion */ + + unsigned long st_blksize; + unsigned long st_pad2; + + long long st_blocks; +}; + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ + +#if _MIPS_SIM == _MIPS_SIM_ABI64 + +/* The memory layout is the same as of struct stat64 of the 32-bit kernel. */ +struct stat { + unsigned int st_dev; + unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ + + unsigned long st_ino; + + __kernel_mode_t st_mode; + __u32 st_nlink; + + __kernel_uid32_t st_uid; + __kernel_gid32_t st_gid; + + unsigned int st_rdev; + unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ + + long st_size; + + /* + * Actually this should be timestruc_t st_atime, st_mtime and st_ctime + * but we don't have it under Linux. + */ + unsigned int st_atime; + unsigned int st_atime_nsec; + + unsigned int st_mtime; + unsigned int st_mtime_nsec; + + unsigned int st_ctime; + unsigned int st_ctime_nsec; + + unsigned int st_blksize; + unsigned int st_pad2; + + unsigned long st_blocks; +}; + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ + +#define STAT_HAVE_NSEC 1 + +#endif /* _ASM_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/statfs.h new file mode 100644 index 00000000..60502598 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/statfs.h @@ -0,0 +1,101 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1999 by Ralf Baechle + */ +#ifndef _ASM_STATFS_H +#define _ASM_STATFS_H + +#include +#include + +#ifndef __KERNEL_STRICT_NAMES + +#include + +typedef __kernel_fsid_t fsid_t; + +#endif + +struct statfs { + long f_type; +#define f_fstyp f_type + long f_bsize; + long f_frsize; /* Fragment size - unsupported */ + long f_blocks; + long f_bfree; + long f_files; + long f_ffree; + long f_bavail; + + /* Linux specials */ + __kernel_fsid_t f_fsid; + long f_namelen; + long f_flags; + long f_spare[5]; +}; + +#if (_MIPS_SIM == _MIPS_SIM_ABI32) || (_MIPS_SIM == _MIPS_SIM_NABI32) + +/* + * Unlike the traditional version the LFAPI version has none of the ABI junk + */ +struct statfs64 { + __u32 f_type; + __u32 f_bsize; + __u32 f_frsize; /* Fragment size - unsupported */ + __u32 __pad; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_files; + __u64 f_ffree; + __u64 f_bavail; + __kernel_fsid_t f_fsid; + __u32 f_namelen; + __u32 f_flags; + __u32 f_spare[5]; +}; + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ + +#if _MIPS_SIM == _MIPS_SIM_ABI64 + +struct statfs64 { /* Same as struct statfs */ + long f_type; + long f_bsize; + long f_frsize; /* Fragment size - unsupported */ + long f_blocks; + long f_bfree; + long f_files; + long f_ffree; + long f_bavail; + + /* Linux specials */ + __kernel_fsid_t f_fsid; + long f_namelen; + long f_flags; + long f_spare[5]; +}; + +struct compat_statfs64 { + __u32 f_type; + __u32 f_bsize; + __u32 f_frsize; /* Fragment size - unsupported */ + __u32 __pad; + __u64 f_blocks; + __u64 f_bfree; + __u64 f_files; + __u64 f_ffree; + __u64 f_bavail; + __kernel_fsid_t f_fsid; + __u32 f_namelen; + __u32 f_flags; + __u32 f_spare[5]; +}; + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ + +#endif /* _ASM_STATFS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/swab.h new file mode 100644 index 00000000..7459a59b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/swab.h @@ -0,0 +1,71 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1996, 99, 2003 by Ralf Baechle + */ +#ifndef _ASM_SWAB_H +#define _ASM_SWAB_H + + +#include + +#define __SWAB_64_THRU_32__ + +#if !defined(__mips16) && \ + ((defined(__mips_isa_rev) && (__mips_isa_rev >= 2)) || \ + defined(_MIPS_ARCH_LOONGSON3A)) + +static __inline__ __u16 __arch_swab16(__u16 x) +{ + __asm__( + " .set push \n" + " .set arch=mips32r2 \n" + " wsbh %0, %1 \n" + " .set pop \n" + : "=r" (x) + : "r" (x)); + + return x; +} +#define __arch_swab16 __arch_swab16 + +static __inline__ __u32 __arch_swab32(__u32 x) +{ + __asm__( + " .set push \n" + " .set arch=mips32r2 \n" + " wsbh %0, %1 \n" + " rotr %0, %0, 16 \n" + " .set pop \n" + : "=r" (x) + : "r" (x)); + + return x; +} +#define __arch_swab32 __arch_swab32 + +/* + * Having already checked for MIPS R2, enable the optimized version for + * 64-bit kernel on r2 CPUs. + */ +#ifdef __mips64 +static __inline__ __u64 __arch_swab64(__u64 x) +{ + __asm__( + " .set push \n" + " .set arch=mips64r2 \n" + " dsbh %0, %1 \n" + " dshd %0, %0 \n" + " .set pop \n" + : "=r" (x) + : "r" (x)); + + return x; +} +#define __arch_swab64 __arch_swab64 +#endif /* __mips64 */ +#endif /* (not __mips16) and (MIPS R2 or newer or Loongson 3A) */ +#endif /* _ASM_SWAB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sysmips.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sysmips.h new file mode 100644 index 00000000..a56f433d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/sysmips.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Definitions for the MIPS sysmips(2) call + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995 by Ralf Baechle + */ +#ifndef _ASM_SYSMIPS_H +#define _ASM_SYSMIPS_H + +/* + * Commands for the sysmips(2) call + * + * sysmips(2) is deprecated - though some existing software uses it. + * We only support the following commands. + */ +#define SETNAME 1 /* set hostname */ +#define FLUSH_CACHE 3 /* writeback and invalidate caches */ +#define MIPS_FIXADE 7 /* control address error fixing */ +#define MIPS_RDNVRAM 10 /* read NVRAM */ +#define MIPS_ATOMIC_SET 2001 /* atomically set variable */ + +#endif /* _ASM_SYSMIPS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termbits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termbits.h new file mode 100644 index 00000000..177ac4b8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termbits.h @@ -0,0 +1,177 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 99, 2001, 06 Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + * Copyright (C) 2001 MIPS Technologies, Inc. + */ +#ifndef _ASM_TERMBITS_H +#define _ASM_TERMBITS_H + +#include + +typedef unsigned int tcflag_t; + +/* + * The ABI says nothing about NCC but seems to use NCCS as + * replacement for it in struct termio + */ +#define NCCS 23 +struct termios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +}; + +struct termios2 { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +struct ktermios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG] */ +#define VQUIT 1 /* Quit character [ISIG] */ +#define VERASE 2 /* Erase character [ICANON] */ +#define VKILL 3 /* Kill-line character [ICANON] */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON] */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON] */ +#define VEOL2 6 /* Second EOL character [ICANON] */ +#define VSWTC 7 /* ??? */ +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF] */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF] */ +#define VSUSP 10 /* Suspend character [ISIG] */ +#if 0 +/* + * VDSUSP is not supported + */ +#define VDSUSP 11 /* Delayed suspend character [ISIG] */ +#endif +#define VREPRINT 12 /* Reprint-line character [ICANON] */ +#define VDISCARD 13 /* Discard character [IEXTEN] */ +#define VWERASE 14 /* Word-erase character [ICANON] */ +#define VLNEXT 15 /* Literal-next character [IEXTEN] */ +#define VEOF 16 /* End-of-file character [ICANON] */ +#define VEOL 17 /* End-of-line character [ICANON] */ + +/* c_iflag bits */ +#define IUCLC 0x0200 /* Map upper case to lower case on input */ +#define IXON 0x0400 /* Enable start/stop output control */ +#define IXOFF 0x1000 /* Enable start/stop input control */ +#define IMAXBEL 0x2000 /* Ring bell when input queue is full */ +#define IUTF8 0x4000 /* Input is UTF-8 */ + +/* c_oflag bits */ +#define OLCUC 0x00002 /* Map lower case to upper case on output */ +#define ONLCR 0x00004 /* Map NL to CR-NL on output */ +#define NLDLY 0x00100 +#define NL0 0x00000 +#define NL1 0x00100 +#define CRDLY 0x00600 +#define CR0 0x00000 +#define CR1 0x00200 +#define CR2 0x00400 +#define CR3 0x00600 +#define TABDLY 0x01800 +#define TAB0 0x00000 +#define TAB1 0x00800 +#define TAB2 0x01000 +#define TAB3 0x01800 +#define XTABS 0x01800 +#define BSDLY 0x02000 +#define BS0 0x00000 +#define BS1 0x02000 +#define VTDLY 0x04000 +#define VT0 0x00000 +#define VT1 0x04000 +#define FFDLY 0x08000 +#define FF0 0x00000 +#define FF1 0x08000 +/* +#define PAGEOUT ??? +#define WRAP ??? + */ + +/* c_cflag bit meaning */ +#define CBAUD 0x0000100f +#define CSIZE 0x00000030 /* Number of bits per byte (mask) */ +#define CS5 0x00000000 /* 5 bits per byte */ +#define CS6 0x00000010 /* 6 bits per byte */ +#define CS7 0x00000020 /* 7 bits per byte */ +#define CS8 0x00000030 /* 8 bits per byte */ +#define CSTOPB 0x00000040 /* Two stop bits instead of one */ +#define CREAD 0x00000080 /* Enable receiver */ +#define PARENB 0x00000100 /* Parity enable */ +#define PARODD 0x00000200 /* Odd parity instead of even */ +#define HUPCL 0x00000400 /* Hang up on last close */ +#define CLOCAL 0x00000800 /* Ignore modem status lines */ +#define CBAUDEX 0x00001000 +#define BOTHER 0x00001000 +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +#define B500000 0x00001005 +#define B576000 0x00001006 +#define B921600 0x00001007 +#define B1000000 0x00001008 +#define B1152000 0x00001009 +#define B1500000 0x0000100a +#define B2000000 0x0000100b +#define B2500000 0x0000100c +#define B3000000 0x0000100d +#define B3500000 0x0000100e +#define B4000000 0x0000100f +#define CIBAUD 0x100f0000 /* input baud rate */ + +/* c_lflag bits */ +#define ISIG 0x00001 /* Enable signals */ +#define ICANON 0x00002 /* Do erase and kill processing */ +#define XCASE 0x00004 +#define ECHO 0x00008 /* Enable echo */ +#define ECHOE 0x00010 /* Visual erase for ERASE */ +#define ECHOK 0x00020 /* Echo NL after KILL */ +#define ECHONL 0x00040 /* Echo NL even if ECHO is off */ +#define NOFLSH 0x00080 /* Disable flush after interrupt */ +#define IEXTEN 0x00100 /* Enable DISCARD and LNEXT */ +#define ECHOCTL 0x00200 /* Echo control characters as ^X */ +#define ECHOPRT 0x00400 /* Hardcopy visual erase */ +#define ECHOKE 0x00800 /* Visual erase for KILL */ +#define FLUSHO 0x02000 +#define PENDIN 0x04000 /* Retype pending input (state) */ +#define TOSTOP 0x08000 /* Send SIGTTOU for background output */ +#define ITOSTOP TOSTOP +#define EXTPROC 0x10000 /* External processing on pty */ + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ +#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ + +/* tcsetattr uses these */ +#define TCSANOW TCSETS /* Change immediately */ +#define TCSADRAIN TCSETSW /* Change when pending output is written */ +#define TCSAFLUSH TCSETSF /* Flush pending input before changing */ + +#endif /* _ASM_TERMBITS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termios.h new file mode 100644 index 00000000..7a62d307 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/termios.h @@ -0,0 +1,81 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 1996, 2000, 2001 by Ralf Baechle + * Copyright (C) 2000, 2001 Silicon Graphics, Inc. + */ +#ifndef _ASM_TERMIOS_H +#define _ASM_TERMIOS_H + +#include +#include +#include + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + int sg_flags; /* SGI special - int, not short */ +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; /* stop process signal */ + char t_dsuspc; /* delayed stop process signal */ + char t_rprntc; /* reprint line */ + char t_flushc; /* flush output (toggles) */ + char t_werasc; /* word erase */ + char t_lnextc; /* literal next character */ +}; + +/* TIOCGSIZE, TIOCSSIZE not defined yet. Only needed for SunOS source + compatibility anyway ... */ + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + unsigned char c_cc[NCCS]; /* control characters */ +}; + + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + + +#endif /* _ASM_TERMIOS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/types.h new file mode 100644 index 00000000..d0a43448 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/types.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1994, 1995, 1996, 1999 by Ralf Baechle + * Copyright (C) 2008 Wind River Systems, + * written by Ralf Baechle + * Copyright (C) 1999 Silicon Graphics, Inc. + */ +#ifndef _ASM_TYPES_H +#define _ASM_TYPES_H + +/* + * We don't use int-l64.h for the kernel anymore but still use it for + * userspace to avoid code changes. + * + * However, some user programs (e.g. perf) may not want this. They can + * flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here. + */ +# if _MIPS_SZLONG == 64 && !defined(__SANE_USERSPACE_TYPES__) +# include +# else +# include +# endif + + +#endif /* _ASM_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ucontext.h new file mode 100644 index 00000000..b48ae929 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/ucontext.h @@ -0,0 +1,66 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __MIPS_UAPI_ASM_UCONTEXT_H +#define __MIPS_UAPI_ASM_UCONTEXT_H + +/** + * struct extcontext - extended context header structure + * @magic: magic value identifying the type of extended context + * @size: the size in bytes of the enclosing structure + * + * Extended context structures provide context which does not fit within struct + * sigcontext. They are placed sequentially in memory at the end of struct + * ucontext and struct sigframe, with each extended context structure beginning + * with a header defined by this struct. The type of context represented is + * indicated by the magic field. Userland may check each extended context + * structure against magic values that it recognises. The size field allows any + * unrecognised context to be skipped, allowing for future expansion. The end + * of the extended context data is indicated by the magic value + * END_EXTCONTEXT_MAGIC. + */ +struct extcontext { + unsigned int magic; + unsigned int size; +}; + +/** + * struct msa_extcontext - MSA extended context structure + * @ext: the extended context header, with magic == MSA_EXTCONTEXT_MAGIC + * @wr: the most significant 64 bits of each MSA vector register + * @csr: the value of the MSA control & status register + * + * If MSA context is live for a task at the time a signal is delivered to it, + * this structure will hold the MSA context of the task as it was prior to the + * signal delivery. + */ +struct msa_extcontext { + struct extcontext ext; +#define MSA_EXTCONTEXT_MAGIC 0x784d5341 /* xMSA */ + + unsigned long long wr[32]; + unsigned int csr; +}; + +#define END_EXTCONTEXT_MAGIC 0x78454e44 /* xEND */ + +/** + * struct ucontext - user context structure + * @uc_flags: + * @uc_link: + * @uc_stack: + * @uc_mcontext: holds basic processor state + * @uc_sigmask: + * @uc_extcontext: holds extended processor state + */ +struct ucontext { + /* Historic fields matching asm-generic */ + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + struct sigcontext uc_mcontext; + sigset_t uc_sigmask; + + /* Extended context structures may follow ucontext */ + unsigned long long uc_extcontext[]; +}; + +#endif /* __MIPS_UAPI_ASM_UCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd.h new file mode 100644 index 00000000..6eb1224a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + * + * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle + * Copyright (C) 1999, 2000 Silicon Graphics, Inc. + * + * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto + * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A + */ +#ifndef _ASM_UNISTD_H +#define _ASM_UNISTD_H + +#include + +#if _MIPS_SIM == _MIPS_SIM_ABI32 + +#define __NR_Linux 4000 +#include + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ + +#if _MIPS_SIM == _MIPS_SIM_ABI64 + +#define __NR_Linux 5000 +#include + +#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ + +#if _MIPS_SIM == _MIPS_SIM_NABI32 + +#define __NR_Linux 6000 +#include + +#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ + +#endif /* _ASM_UNISTD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n32.h new file mode 100644 index 00000000..64213aae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n32.h @@ -0,0 +1,399 @@ +#ifndef _ASM_UNISTD_N32_H +#define _ASM_UNISTD_N32_H + +#define __NR_read (__NR_Linux + 0) +#define __NR_write (__NR_Linux + 1) +#define __NR_open (__NR_Linux + 2) +#define __NR_close (__NR_Linux + 3) +#define __NR_stat (__NR_Linux + 4) +#define __NR_fstat (__NR_Linux + 5) +#define __NR_lstat (__NR_Linux + 6) +#define __NR_poll (__NR_Linux + 7) +#define __NR_lseek (__NR_Linux + 8) +#define __NR_mmap (__NR_Linux + 9) +#define __NR_mprotect (__NR_Linux + 10) +#define __NR_munmap (__NR_Linux + 11) +#define __NR_brk (__NR_Linux + 12) +#define __NR_rt_sigaction (__NR_Linux + 13) +#define __NR_rt_sigprocmask (__NR_Linux + 14) +#define __NR_ioctl (__NR_Linux + 15) +#define __NR_pread64 (__NR_Linux + 16) +#define __NR_pwrite64 (__NR_Linux + 17) +#define __NR_readv (__NR_Linux + 18) +#define __NR_writev (__NR_Linux + 19) +#define __NR_access (__NR_Linux + 20) +#define __NR_pipe (__NR_Linux + 21) +#define __NR__newselect (__NR_Linux + 22) +#define __NR_sched_yield (__NR_Linux + 23) +#define __NR_mremap (__NR_Linux + 24) +#define __NR_msync (__NR_Linux + 25) +#define __NR_mincore (__NR_Linux + 26) +#define __NR_madvise (__NR_Linux + 27) +#define __NR_shmget (__NR_Linux + 28) +#define __NR_shmat (__NR_Linux + 29) +#define __NR_shmctl (__NR_Linux + 30) +#define __NR_dup (__NR_Linux + 31) +#define __NR_dup2 (__NR_Linux + 32) +#define __NR_pause (__NR_Linux + 33) +#define __NR_nanosleep (__NR_Linux + 34) +#define __NR_getitimer (__NR_Linux + 35) +#define __NR_setitimer (__NR_Linux + 36) +#define __NR_alarm (__NR_Linux + 37) +#define __NR_getpid (__NR_Linux + 38) +#define __NR_sendfile (__NR_Linux + 39) +#define __NR_socket (__NR_Linux + 40) +#define __NR_connect (__NR_Linux + 41) +#define __NR_accept (__NR_Linux + 42) +#define __NR_sendto (__NR_Linux + 43) +#define __NR_recvfrom (__NR_Linux + 44) +#define __NR_sendmsg (__NR_Linux + 45) +#define __NR_recvmsg (__NR_Linux + 46) +#define __NR_shutdown (__NR_Linux + 47) +#define __NR_bind (__NR_Linux + 48) +#define __NR_listen (__NR_Linux + 49) +#define __NR_getsockname (__NR_Linux + 50) +#define __NR_getpeername (__NR_Linux + 51) +#define __NR_socketpair (__NR_Linux + 52) +#define __NR_setsockopt (__NR_Linux + 53) +#define __NR_getsockopt (__NR_Linux + 54) +#define __NR_clone (__NR_Linux + 55) +#define __NR_fork (__NR_Linux + 56) +#define __NR_execve (__NR_Linux + 57) +#define __NR_exit (__NR_Linux + 58) +#define __NR_wait4 (__NR_Linux + 59) +#define __NR_kill (__NR_Linux + 60) +#define __NR_uname (__NR_Linux + 61) +#define __NR_semget (__NR_Linux + 62) +#define __NR_semop (__NR_Linux + 63) +#define __NR_semctl (__NR_Linux + 64) +#define __NR_shmdt (__NR_Linux + 65) +#define __NR_msgget (__NR_Linux + 66) +#define __NR_msgsnd (__NR_Linux + 67) +#define __NR_msgrcv (__NR_Linux + 68) +#define __NR_msgctl (__NR_Linux + 69) +#define __NR_fcntl (__NR_Linux + 70) +#define __NR_flock (__NR_Linux + 71) +#define __NR_fsync (__NR_Linux + 72) +#define __NR_fdatasync (__NR_Linux + 73) +#define __NR_truncate (__NR_Linux + 74) +#define __NR_ftruncate (__NR_Linux + 75) +#define __NR_getdents (__NR_Linux + 76) +#define __NR_getcwd (__NR_Linux + 77) +#define __NR_chdir (__NR_Linux + 78) +#define __NR_fchdir (__NR_Linux + 79) +#define __NR_rename (__NR_Linux + 80) +#define __NR_mkdir (__NR_Linux + 81) +#define __NR_rmdir (__NR_Linux + 82) +#define __NR_creat (__NR_Linux + 83) +#define __NR_link (__NR_Linux + 84) +#define __NR_unlink (__NR_Linux + 85) +#define __NR_symlink (__NR_Linux + 86) +#define __NR_readlink (__NR_Linux + 87) +#define __NR_chmod (__NR_Linux + 88) +#define __NR_fchmod (__NR_Linux + 89) +#define __NR_chown (__NR_Linux + 90) +#define __NR_fchown (__NR_Linux + 91) +#define __NR_lchown (__NR_Linux + 92) +#define __NR_umask (__NR_Linux + 93) +#define __NR_gettimeofday (__NR_Linux + 94) +#define __NR_getrlimit (__NR_Linux + 95) +#define __NR_getrusage (__NR_Linux + 96) +#define __NR_sysinfo (__NR_Linux + 97) +#define __NR_times (__NR_Linux + 98) +#define __NR_ptrace (__NR_Linux + 99) +#define __NR_getuid (__NR_Linux + 100) +#define __NR_syslog (__NR_Linux + 101) +#define __NR_getgid (__NR_Linux + 102) +#define __NR_setuid (__NR_Linux + 103) +#define __NR_setgid (__NR_Linux + 104) +#define __NR_geteuid (__NR_Linux + 105) +#define __NR_getegid (__NR_Linux + 106) +#define __NR_setpgid (__NR_Linux + 107) +#define __NR_getppid (__NR_Linux + 108) +#define __NR_getpgrp (__NR_Linux + 109) +#define __NR_setsid (__NR_Linux + 110) +#define __NR_setreuid (__NR_Linux + 111) +#define __NR_setregid (__NR_Linux + 112) +#define __NR_getgroups (__NR_Linux + 113) +#define __NR_setgroups (__NR_Linux + 114) +#define __NR_setresuid (__NR_Linux + 115) +#define __NR_getresuid (__NR_Linux + 116) +#define __NR_setresgid (__NR_Linux + 117) +#define __NR_getresgid (__NR_Linux + 118) +#define __NR_getpgid (__NR_Linux + 119) +#define __NR_setfsuid (__NR_Linux + 120) +#define __NR_setfsgid (__NR_Linux + 121) +#define __NR_getsid (__NR_Linux + 122) +#define __NR_capget (__NR_Linux + 123) +#define __NR_capset (__NR_Linux + 124) +#define __NR_rt_sigpending (__NR_Linux + 125) +#define __NR_rt_sigtimedwait (__NR_Linux + 126) +#define __NR_rt_sigqueueinfo (__NR_Linux + 127) +#define __NR_rt_sigsuspend (__NR_Linux + 128) +#define __NR_sigaltstack (__NR_Linux + 129) +#define __NR_utime (__NR_Linux + 130) +#define __NR_mknod (__NR_Linux + 131) +#define __NR_personality (__NR_Linux + 132) +#define __NR_ustat (__NR_Linux + 133) +#define __NR_statfs (__NR_Linux + 134) +#define __NR_fstatfs (__NR_Linux + 135) +#define __NR_sysfs (__NR_Linux + 136) +#define __NR_getpriority (__NR_Linux + 137) +#define __NR_setpriority (__NR_Linux + 138) +#define __NR_sched_setparam (__NR_Linux + 139) +#define __NR_sched_getparam (__NR_Linux + 140) +#define __NR_sched_setscheduler (__NR_Linux + 141) +#define __NR_sched_getscheduler (__NR_Linux + 142) +#define __NR_sched_get_priority_max (__NR_Linux + 143) +#define __NR_sched_get_priority_min (__NR_Linux + 144) +#define __NR_sched_rr_get_interval (__NR_Linux + 145) +#define __NR_mlock (__NR_Linux + 146) +#define __NR_munlock (__NR_Linux + 147) +#define __NR_mlockall (__NR_Linux + 148) +#define __NR_munlockall (__NR_Linux + 149) +#define __NR_vhangup (__NR_Linux + 150) +#define __NR_pivot_root (__NR_Linux + 151) +#define __NR__sysctl (__NR_Linux + 152) +#define __NR_prctl (__NR_Linux + 153) +#define __NR_adjtimex (__NR_Linux + 154) +#define __NR_setrlimit (__NR_Linux + 155) +#define __NR_chroot (__NR_Linux + 156) +#define __NR_sync (__NR_Linux + 157) +#define __NR_acct (__NR_Linux + 158) +#define __NR_settimeofday (__NR_Linux + 159) +#define __NR_mount (__NR_Linux + 160) +#define __NR_umount2 (__NR_Linux + 161) +#define __NR_swapon (__NR_Linux + 162) +#define __NR_swapoff (__NR_Linux + 163) +#define __NR_reboot (__NR_Linux + 164) +#define __NR_sethostname (__NR_Linux + 165) +#define __NR_setdomainname (__NR_Linux + 166) +#define __NR_create_module (__NR_Linux + 167) +#define __NR_init_module (__NR_Linux + 168) +#define __NR_delete_module (__NR_Linux + 169) +#define __NR_get_kernel_syms (__NR_Linux + 170) +#define __NR_query_module (__NR_Linux + 171) +#define __NR_quotactl (__NR_Linux + 172) +#define __NR_nfsservctl (__NR_Linux + 173) +#define __NR_getpmsg (__NR_Linux + 174) +#define __NR_putpmsg (__NR_Linux + 175) +#define __NR_afs_syscall (__NR_Linux + 176) +#define __NR_reserved177 (__NR_Linux + 177) +#define __NR_gettid (__NR_Linux + 178) +#define __NR_readahead (__NR_Linux + 179) +#define __NR_setxattr (__NR_Linux + 180) +#define __NR_lsetxattr (__NR_Linux + 181) +#define __NR_fsetxattr (__NR_Linux + 182) +#define __NR_getxattr (__NR_Linux + 183) +#define __NR_lgetxattr (__NR_Linux + 184) +#define __NR_fgetxattr (__NR_Linux + 185) +#define __NR_listxattr (__NR_Linux + 186) +#define __NR_llistxattr (__NR_Linux + 187) +#define __NR_flistxattr (__NR_Linux + 188) +#define __NR_removexattr (__NR_Linux + 189) +#define __NR_lremovexattr (__NR_Linux + 190) +#define __NR_fremovexattr (__NR_Linux + 191) +#define __NR_tkill (__NR_Linux + 192) +#define __NR_reserved193 (__NR_Linux + 193) +#define __NR_futex (__NR_Linux + 194) +#define __NR_sched_setaffinity (__NR_Linux + 195) +#define __NR_sched_getaffinity (__NR_Linux + 196) +#define __NR_cacheflush (__NR_Linux + 197) +#define __NR_cachectl (__NR_Linux + 198) +#define __NR_sysmips (__NR_Linux + 199) +#define __NR_io_setup (__NR_Linux + 200) +#define __NR_io_destroy (__NR_Linux + 201) +#define __NR_io_getevents (__NR_Linux + 202) +#define __NR_io_submit (__NR_Linux + 203) +#define __NR_io_cancel (__NR_Linux + 204) +#define __NR_exit_group (__NR_Linux + 205) +#define __NR_lookup_dcookie (__NR_Linux + 206) +#define __NR_epoll_create (__NR_Linux + 207) +#define __NR_epoll_ctl (__NR_Linux + 208) +#define __NR_epoll_wait (__NR_Linux + 209) +#define __NR_remap_file_pages (__NR_Linux + 210) +#define __NR_rt_sigreturn (__NR_Linux + 211) +#define __NR_fcntl64 (__NR_Linux + 212) +#define __NR_set_tid_address (__NR_Linux + 213) +#define __NR_restart_syscall (__NR_Linux + 214) +#define __NR_semtimedop (__NR_Linux + 215) +#define __NR_fadvise64 (__NR_Linux + 216) +#define __NR_statfs64 (__NR_Linux + 217) +#define __NR_fstatfs64 (__NR_Linux + 218) +#define __NR_sendfile64 (__NR_Linux + 219) +#define __NR_timer_create (__NR_Linux + 220) +#define __NR_timer_settime (__NR_Linux + 221) +#define __NR_timer_gettime (__NR_Linux + 222) +#define __NR_timer_getoverrun (__NR_Linux + 223) +#define __NR_timer_delete (__NR_Linux + 224) +#define __NR_clock_settime (__NR_Linux + 225) +#define __NR_clock_gettime (__NR_Linux + 226) +#define __NR_clock_getres (__NR_Linux + 227) +#define __NR_clock_nanosleep (__NR_Linux + 228) +#define __NR_tgkill (__NR_Linux + 229) +#define __NR_utimes (__NR_Linux + 230) +#define __NR_mbind (__NR_Linux + 231) +#define __NR_get_mempolicy (__NR_Linux + 232) +#define __NR_set_mempolicy (__NR_Linux + 233) +#define __NR_mq_open (__NR_Linux + 234) +#define __NR_mq_unlink (__NR_Linux + 235) +#define __NR_mq_timedsend (__NR_Linux + 236) +#define __NR_mq_timedreceive (__NR_Linux + 237) +#define __NR_mq_notify (__NR_Linux + 238) +#define __NR_mq_getsetattr (__NR_Linux + 239) +#define __NR_vserver (__NR_Linux + 240) +#define __NR_waitid (__NR_Linux + 241) +#define __NR_add_key (__NR_Linux + 243) +#define __NR_request_key (__NR_Linux + 244) +#define __NR_keyctl (__NR_Linux + 245) +#define __NR_set_thread_area (__NR_Linux + 246) +#define __NR_inotify_init (__NR_Linux + 247) +#define __NR_inotify_add_watch (__NR_Linux + 248) +#define __NR_inotify_rm_watch (__NR_Linux + 249) +#define __NR_migrate_pages (__NR_Linux + 250) +#define __NR_openat (__NR_Linux + 251) +#define __NR_mkdirat (__NR_Linux + 252) +#define __NR_mknodat (__NR_Linux + 253) +#define __NR_fchownat (__NR_Linux + 254) +#define __NR_futimesat (__NR_Linux + 255) +#define __NR_newfstatat (__NR_Linux + 256) +#define __NR_unlinkat (__NR_Linux + 257) +#define __NR_renameat (__NR_Linux + 258) +#define __NR_linkat (__NR_Linux + 259) +#define __NR_symlinkat (__NR_Linux + 260) +#define __NR_readlinkat (__NR_Linux + 261) +#define __NR_fchmodat (__NR_Linux + 262) +#define __NR_faccessat (__NR_Linux + 263) +#define __NR_pselect6 (__NR_Linux + 264) +#define __NR_ppoll (__NR_Linux + 265) +#define __NR_unshare (__NR_Linux + 266) +#define __NR_splice (__NR_Linux + 267) +#define __NR_sync_file_range (__NR_Linux + 268) +#define __NR_tee (__NR_Linux + 269) +#define __NR_vmsplice (__NR_Linux + 270) +#define __NR_move_pages (__NR_Linux + 271) +#define __NR_set_robust_list (__NR_Linux + 272) +#define __NR_get_robust_list (__NR_Linux + 273) +#define __NR_kexec_load (__NR_Linux + 274) +#define __NR_getcpu (__NR_Linux + 275) +#define __NR_epoll_pwait (__NR_Linux + 276) +#define __NR_ioprio_set (__NR_Linux + 277) +#define __NR_ioprio_get (__NR_Linux + 278) +#define __NR_utimensat (__NR_Linux + 279) +#define __NR_signalfd (__NR_Linux + 280) +#define __NR_timerfd (__NR_Linux + 281) +#define __NR_eventfd (__NR_Linux + 282) +#define __NR_fallocate (__NR_Linux + 283) +#define __NR_timerfd_create (__NR_Linux + 284) +#define __NR_timerfd_gettime (__NR_Linux + 285) +#define __NR_timerfd_settime (__NR_Linux + 286) +#define __NR_signalfd4 (__NR_Linux + 287) +#define __NR_eventfd2 (__NR_Linux + 288) +#define __NR_epoll_create1 (__NR_Linux + 289) +#define __NR_dup3 (__NR_Linux + 290) +#define __NR_pipe2 (__NR_Linux + 291) +#define __NR_inotify_init1 (__NR_Linux + 292) +#define __NR_preadv (__NR_Linux + 293) +#define __NR_pwritev (__NR_Linux + 294) +#define __NR_rt_tgsigqueueinfo (__NR_Linux + 295) +#define __NR_perf_event_open (__NR_Linux + 296) +#define __NR_accept4 (__NR_Linux + 297) +#define __NR_recvmmsg (__NR_Linux + 298) +#define __NR_getdents64 (__NR_Linux + 299) +#define __NR_fanotify_init (__NR_Linux + 300) +#define __NR_fanotify_mark (__NR_Linux + 301) +#define __NR_prlimit64 (__NR_Linux + 302) +#define __NR_name_to_handle_at (__NR_Linux + 303) +#define __NR_open_by_handle_at (__NR_Linux + 304) +#define __NR_clock_adjtime (__NR_Linux + 305) +#define __NR_syncfs (__NR_Linux + 306) +#define __NR_sendmmsg (__NR_Linux + 307) +#define __NR_setns (__NR_Linux + 308) +#define __NR_process_vm_readv (__NR_Linux + 309) +#define __NR_process_vm_writev (__NR_Linux + 310) +#define __NR_kcmp (__NR_Linux + 311) +#define __NR_finit_module (__NR_Linux + 312) +#define __NR_sched_setattr (__NR_Linux + 313) +#define __NR_sched_getattr (__NR_Linux + 314) +#define __NR_renameat2 (__NR_Linux + 315) +#define __NR_seccomp (__NR_Linux + 316) +#define __NR_getrandom (__NR_Linux + 317) +#define __NR_memfd_create (__NR_Linux + 318) +#define __NR_bpf (__NR_Linux + 319) +#define __NR_execveat (__NR_Linux + 320) +#define __NR_userfaultfd (__NR_Linux + 321) +#define __NR_membarrier (__NR_Linux + 322) +#define __NR_mlock2 (__NR_Linux + 323) +#define __NR_copy_file_range (__NR_Linux + 324) +#define __NR_preadv2 (__NR_Linux + 325) +#define __NR_pwritev2 (__NR_Linux + 326) +#define __NR_pkey_mprotect (__NR_Linux + 327) +#define __NR_pkey_alloc (__NR_Linux + 328) +#define __NR_pkey_free (__NR_Linux + 329) +#define __NR_statx (__NR_Linux + 330) +#define __NR_rseq (__NR_Linux + 331) +#define __NR_io_pgetevents (__NR_Linux + 332) +#define __NR_clock_gettime64 (__NR_Linux + 403) +#define __NR_clock_settime64 (__NR_Linux + 404) +#define __NR_clock_adjtime64 (__NR_Linux + 405) +#define __NR_clock_getres_time64 (__NR_Linux + 406) +#define __NR_clock_nanosleep_time64 (__NR_Linux + 407) +#define __NR_timer_gettime64 (__NR_Linux + 408) +#define __NR_timer_settime64 (__NR_Linux + 409) +#define __NR_timerfd_gettime64 (__NR_Linux + 410) +#define __NR_timerfd_settime64 (__NR_Linux + 411) +#define __NR_utimensat_time64 (__NR_Linux + 412) +#define __NR_pselect6_time64 (__NR_Linux + 413) +#define __NR_ppoll_time64 (__NR_Linux + 414) +#define __NR_io_pgetevents_time64 (__NR_Linux + 416) +#define __NR_recvmmsg_time64 (__NR_Linux + 417) +#define __NR_mq_timedsend_time64 (__NR_Linux + 418) +#define __NR_mq_timedreceive_time64 (__NR_Linux + 419) +#define __NR_semtimedop_time64 (__NR_Linux + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_Linux + 421) +#define __NR_futex_time64 (__NR_Linux + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_Linux + 423) +#define __NR_pidfd_send_signal (__NR_Linux + 424) +#define __NR_io_uring_setup (__NR_Linux + 425) +#define __NR_io_uring_enter (__NR_Linux + 426) +#define __NR_io_uring_register (__NR_Linux + 427) +#define __NR_open_tree (__NR_Linux + 428) +#define __NR_move_mount (__NR_Linux + 429) +#define __NR_fsopen (__NR_Linux + 430) +#define __NR_fsconfig (__NR_Linux + 431) +#define __NR_fsmount (__NR_Linux + 432) +#define __NR_fspick (__NR_Linux + 433) +#define __NR_pidfd_open (__NR_Linux + 434) +#define __NR_clone3 (__NR_Linux + 435) +#define __NR_close_range (__NR_Linux + 436) +#define __NR_openat2 (__NR_Linux + 437) +#define __NR_pidfd_getfd (__NR_Linux + 438) +#define __NR_faccessat2 (__NR_Linux + 439) +#define __NR_process_madvise (__NR_Linux + 440) +#define __NR_epoll_pwait2 (__NR_Linux + 441) +#define __NR_mount_setattr (__NR_Linux + 442) +#define __NR_quotactl_fd (__NR_Linux + 443) +#define __NR_landlock_create_ruleset (__NR_Linux + 444) +#define __NR_landlock_add_rule (__NR_Linux + 445) +#define __NR_landlock_restrict_self (__NR_Linux + 446) +#define __NR_process_mrelease (__NR_Linux + 448) +#define __NR_futex_waitv (__NR_Linux + 449) +#define __NR_set_mempolicy_home_node (__NR_Linux + 450) +#define __NR_cachestat (__NR_Linux + 451) +#define __NR_fchmodat2 (__NR_Linux + 452) +#define __NR_map_shadow_stack (__NR_Linux + 453) +#define __NR_futex_wake (__NR_Linux + 454) +#define __NR_futex_wait (__NR_Linux + 455) +#define __NR_futex_requeue (__NR_Linux + 456) +#define __NR_statmount (__NR_Linux + 457) +#define __NR_listmount (__NR_Linux + 458) +#define __NR_lsm_get_self_attr (__NR_Linux + 459) +#define __NR_lsm_set_self_attr (__NR_Linux + 460) +#define __NR_lsm_list_modules (__NR_Linux + 461) +#define __NR_mseal (__NR_Linux + 462) +#define __NR_setxattrat (__NR_Linux + 463) +#define __NR_getxattrat (__NR_Linux + 464) +#define __NR_listxattrat (__NR_Linux + 465) +#define __NR_removexattrat (__NR_Linux + 466) + +#endif /* _ASM_UNISTD_N32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n64.h new file mode 100644 index 00000000..84225d04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_n64.h @@ -0,0 +1,375 @@ +#ifndef _ASM_UNISTD_N64_H +#define _ASM_UNISTD_N64_H + +#define __NR_read (__NR_Linux + 0) +#define __NR_write (__NR_Linux + 1) +#define __NR_open (__NR_Linux + 2) +#define __NR_close (__NR_Linux + 3) +#define __NR_stat (__NR_Linux + 4) +#define __NR_fstat (__NR_Linux + 5) +#define __NR_lstat (__NR_Linux + 6) +#define __NR_poll (__NR_Linux + 7) +#define __NR_lseek (__NR_Linux + 8) +#define __NR_mmap (__NR_Linux + 9) +#define __NR_mprotect (__NR_Linux + 10) +#define __NR_munmap (__NR_Linux + 11) +#define __NR_brk (__NR_Linux + 12) +#define __NR_rt_sigaction (__NR_Linux + 13) +#define __NR_rt_sigprocmask (__NR_Linux + 14) +#define __NR_ioctl (__NR_Linux + 15) +#define __NR_pread64 (__NR_Linux + 16) +#define __NR_pwrite64 (__NR_Linux + 17) +#define __NR_readv (__NR_Linux + 18) +#define __NR_writev (__NR_Linux + 19) +#define __NR_access (__NR_Linux + 20) +#define __NR_pipe (__NR_Linux + 21) +#define __NR__newselect (__NR_Linux + 22) +#define __NR_sched_yield (__NR_Linux + 23) +#define __NR_mremap (__NR_Linux + 24) +#define __NR_msync (__NR_Linux + 25) +#define __NR_mincore (__NR_Linux + 26) +#define __NR_madvise (__NR_Linux + 27) +#define __NR_shmget (__NR_Linux + 28) +#define __NR_shmat (__NR_Linux + 29) +#define __NR_shmctl (__NR_Linux + 30) +#define __NR_dup (__NR_Linux + 31) +#define __NR_dup2 (__NR_Linux + 32) +#define __NR_pause (__NR_Linux + 33) +#define __NR_nanosleep (__NR_Linux + 34) +#define __NR_getitimer (__NR_Linux + 35) +#define __NR_setitimer (__NR_Linux + 36) +#define __NR_alarm (__NR_Linux + 37) +#define __NR_getpid (__NR_Linux + 38) +#define __NR_sendfile (__NR_Linux + 39) +#define __NR_socket (__NR_Linux + 40) +#define __NR_connect (__NR_Linux + 41) +#define __NR_accept (__NR_Linux + 42) +#define __NR_sendto (__NR_Linux + 43) +#define __NR_recvfrom (__NR_Linux + 44) +#define __NR_sendmsg (__NR_Linux + 45) +#define __NR_recvmsg (__NR_Linux + 46) +#define __NR_shutdown (__NR_Linux + 47) +#define __NR_bind (__NR_Linux + 48) +#define __NR_listen (__NR_Linux + 49) +#define __NR_getsockname (__NR_Linux + 50) +#define __NR_getpeername (__NR_Linux + 51) +#define __NR_socketpair (__NR_Linux + 52) +#define __NR_setsockopt (__NR_Linux + 53) +#define __NR_getsockopt (__NR_Linux + 54) +#define __NR_clone (__NR_Linux + 55) +#define __NR_fork (__NR_Linux + 56) +#define __NR_execve (__NR_Linux + 57) +#define __NR_exit (__NR_Linux + 58) +#define __NR_wait4 (__NR_Linux + 59) +#define __NR_kill (__NR_Linux + 60) +#define __NR_uname (__NR_Linux + 61) +#define __NR_semget (__NR_Linux + 62) +#define __NR_semop (__NR_Linux + 63) +#define __NR_semctl (__NR_Linux + 64) +#define __NR_shmdt (__NR_Linux + 65) +#define __NR_msgget (__NR_Linux + 66) +#define __NR_msgsnd (__NR_Linux + 67) +#define __NR_msgrcv (__NR_Linux + 68) +#define __NR_msgctl (__NR_Linux + 69) +#define __NR_fcntl (__NR_Linux + 70) +#define __NR_flock (__NR_Linux + 71) +#define __NR_fsync (__NR_Linux + 72) +#define __NR_fdatasync (__NR_Linux + 73) +#define __NR_truncate (__NR_Linux + 74) +#define __NR_ftruncate (__NR_Linux + 75) +#define __NR_getdents (__NR_Linux + 76) +#define __NR_getcwd (__NR_Linux + 77) +#define __NR_chdir (__NR_Linux + 78) +#define __NR_fchdir (__NR_Linux + 79) +#define __NR_rename (__NR_Linux + 80) +#define __NR_mkdir (__NR_Linux + 81) +#define __NR_rmdir (__NR_Linux + 82) +#define __NR_creat (__NR_Linux + 83) +#define __NR_link (__NR_Linux + 84) +#define __NR_unlink (__NR_Linux + 85) +#define __NR_symlink (__NR_Linux + 86) +#define __NR_readlink (__NR_Linux + 87) +#define __NR_chmod (__NR_Linux + 88) +#define __NR_fchmod (__NR_Linux + 89) +#define __NR_chown (__NR_Linux + 90) +#define __NR_fchown (__NR_Linux + 91) +#define __NR_lchown (__NR_Linux + 92) +#define __NR_umask (__NR_Linux + 93) +#define __NR_gettimeofday (__NR_Linux + 94) +#define __NR_getrlimit (__NR_Linux + 95) +#define __NR_getrusage (__NR_Linux + 96) +#define __NR_sysinfo (__NR_Linux + 97) +#define __NR_times (__NR_Linux + 98) +#define __NR_ptrace (__NR_Linux + 99) +#define __NR_getuid (__NR_Linux + 100) +#define __NR_syslog (__NR_Linux + 101) +#define __NR_getgid (__NR_Linux + 102) +#define __NR_setuid (__NR_Linux + 103) +#define __NR_setgid (__NR_Linux + 104) +#define __NR_geteuid (__NR_Linux + 105) +#define __NR_getegid (__NR_Linux + 106) +#define __NR_setpgid (__NR_Linux + 107) +#define __NR_getppid (__NR_Linux + 108) +#define __NR_getpgrp (__NR_Linux + 109) +#define __NR_setsid (__NR_Linux + 110) +#define __NR_setreuid (__NR_Linux + 111) +#define __NR_setregid (__NR_Linux + 112) +#define __NR_getgroups (__NR_Linux + 113) +#define __NR_setgroups (__NR_Linux + 114) +#define __NR_setresuid (__NR_Linux + 115) +#define __NR_getresuid (__NR_Linux + 116) +#define __NR_setresgid (__NR_Linux + 117) +#define __NR_getresgid (__NR_Linux + 118) +#define __NR_getpgid (__NR_Linux + 119) +#define __NR_setfsuid (__NR_Linux + 120) +#define __NR_setfsgid (__NR_Linux + 121) +#define __NR_getsid (__NR_Linux + 122) +#define __NR_capget (__NR_Linux + 123) +#define __NR_capset (__NR_Linux + 124) +#define __NR_rt_sigpending (__NR_Linux + 125) +#define __NR_rt_sigtimedwait (__NR_Linux + 126) +#define __NR_rt_sigqueueinfo (__NR_Linux + 127) +#define __NR_rt_sigsuspend (__NR_Linux + 128) +#define __NR_sigaltstack (__NR_Linux + 129) +#define __NR_utime (__NR_Linux + 130) +#define __NR_mknod (__NR_Linux + 131) +#define __NR_personality (__NR_Linux + 132) +#define __NR_ustat (__NR_Linux + 133) +#define __NR_statfs (__NR_Linux + 134) +#define __NR_fstatfs (__NR_Linux + 135) +#define __NR_sysfs (__NR_Linux + 136) +#define __NR_getpriority (__NR_Linux + 137) +#define __NR_setpriority (__NR_Linux + 138) +#define __NR_sched_setparam (__NR_Linux + 139) +#define __NR_sched_getparam (__NR_Linux + 140) +#define __NR_sched_setscheduler (__NR_Linux + 141) +#define __NR_sched_getscheduler (__NR_Linux + 142) +#define __NR_sched_get_priority_max (__NR_Linux + 143) +#define __NR_sched_get_priority_min (__NR_Linux + 144) +#define __NR_sched_rr_get_interval (__NR_Linux + 145) +#define __NR_mlock (__NR_Linux + 146) +#define __NR_munlock (__NR_Linux + 147) +#define __NR_mlockall (__NR_Linux + 148) +#define __NR_munlockall (__NR_Linux + 149) +#define __NR_vhangup (__NR_Linux + 150) +#define __NR_pivot_root (__NR_Linux + 151) +#define __NR__sysctl (__NR_Linux + 152) +#define __NR_prctl (__NR_Linux + 153) +#define __NR_adjtimex (__NR_Linux + 154) +#define __NR_setrlimit (__NR_Linux + 155) +#define __NR_chroot (__NR_Linux + 156) +#define __NR_sync (__NR_Linux + 157) +#define __NR_acct (__NR_Linux + 158) +#define __NR_settimeofday (__NR_Linux + 159) +#define __NR_mount (__NR_Linux + 160) +#define __NR_umount2 (__NR_Linux + 161) +#define __NR_swapon (__NR_Linux + 162) +#define __NR_swapoff (__NR_Linux + 163) +#define __NR_reboot (__NR_Linux + 164) +#define __NR_sethostname (__NR_Linux + 165) +#define __NR_setdomainname (__NR_Linux + 166) +#define __NR_create_module (__NR_Linux + 167) +#define __NR_init_module (__NR_Linux + 168) +#define __NR_delete_module (__NR_Linux + 169) +#define __NR_get_kernel_syms (__NR_Linux + 170) +#define __NR_query_module (__NR_Linux + 171) +#define __NR_quotactl (__NR_Linux + 172) +#define __NR_nfsservctl (__NR_Linux + 173) +#define __NR_getpmsg (__NR_Linux + 174) +#define __NR_putpmsg (__NR_Linux + 175) +#define __NR_afs_syscall (__NR_Linux + 176) +#define __NR_reserved177 (__NR_Linux + 177) +#define __NR_gettid (__NR_Linux + 178) +#define __NR_readahead (__NR_Linux + 179) +#define __NR_setxattr (__NR_Linux + 180) +#define __NR_lsetxattr (__NR_Linux + 181) +#define __NR_fsetxattr (__NR_Linux + 182) +#define __NR_getxattr (__NR_Linux + 183) +#define __NR_lgetxattr (__NR_Linux + 184) +#define __NR_fgetxattr (__NR_Linux + 185) +#define __NR_listxattr (__NR_Linux + 186) +#define __NR_llistxattr (__NR_Linux + 187) +#define __NR_flistxattr (__NR_Linux + 188) +#define __NR_removexattr (__NR_Linux + 189) +#define __NR_lremovexattr (__NR_Linux + 190) +#define __NR_fremovexattr (__NR_Linux + 191) +#define __NR_tkill (__NR_Linux + 192) +#define __NR_reserved193 (__NR_Linux + 193) +#define __NR_futex (__NR_Linux + 194) +#define __NR_sched_setaffinity (__NR_Linux + 195) +#define __NR_sched_getaffinity (__NR_Linux + 196) +#define __NR_cacheflush (__NR_Linux + 197) +#define __NR_cachectl (__NR_Linux + 198) +#define __NR_sysmips (__NR_Linux + 199) +#define __NR_io_setup (__NR_Linux + 200) +#define __NR_io_destroy (__NR_Linux + 201) +#define __NR_io_getevents (__NR_Linux + 202) +#define __NR_io_submit (__NR_Linux + 203) +#define __NR_io_cancel (__NR_Linux + 204) +#define __NR_exit_group (__NR_Linux + 205) +#define __NR_lookup_dcookie (__NR_Linux + 206) +#define __NR_epoll_create (__NR_Linux + 207) +#define __NR_epoll_ctl (__NR_Linux + 208) +#define __NR_epoll_wait (__NR_Linux + 209) +#define __NR_remap_file_pages (__NR_Linux + 210) +#define __NR_rt_sigreturn (__NR_Linux + 211) +#define __NR_set_tid_address (__NR_Linux + 212) +#define __NR_restart_syscall (__NR_Linux + 213) +#define __NR_semtimedop (__NR_Linux + 214) +#define __NR_fadvise64 (__NR_Linux + 215) +#define __NR_timer_create (__NR_Linux + 216) +#define __NR_timer_settime (__NR_Linux + 217) +#define __NR_timer_gettime (__NR_Linux + 218) +#define __NR_timer_getoverrun (__NR_Linux + 219) +#define __NR_timer_delete (__NR_Linux + 220) +#define __NR_clock_settime (__NR_Linux + 221) +#define __NR_clock_gettime (__NR_Linux + 222) +#define __NR_clock_getres (__NR_Linux + 223) +#define __NR_clock_nanosleep (__NR_Linux + 224) +#define __NR_tgkill (__NR_Linux + 225) +#define __NR_utimes (__NR_Linux + 226) +#define __NR_mbind (__NR_Linux + 227) +#define __NR_get_mempolicy (__NR_Linux + 228) +#define __NR_set_mempolicy (__NR_Linux + 229) +#define __NR_mq_open (__NR_Linux + 230) +#define __NR_mq_unlink (__NR_Linux + 231) +#define __NR_mq_timedsend (__NR_Linux + 232) +#define __NR_mq_timedreceive (__NR_Linux + 233) +#define __NR_mq_notify (__NR_Linux + 234) +#define __NR_mq_getsetattr (__NR_Linux + 235) +#define __NR_vserver (__NR_Linux + 236) +#define __NR_waitid (__NR_Linux + 237) +#define __NR_add_key (__NR_Linux + 239) +#define __NR_request_key (__NR_Linux + 240) +#define __NR_keyctl (__NR_Linux + 241) +#define __NR_set_thread_area (__NR_Linux + 242) +#define __NR_inotify_init (__NR_Linux + 243) +#define __NR_inotify_add_watch (__NR_Linux + 244) +#define __NR_inotify_rm_watch (__NR_Linux + 245) +#define __NR_migrate_pages (__NR_Linux + 246) +#define __NR_openat (__NR_Linux + 247) +#define __NR_mkdirat (__NR_Linux + 248) +#define __NR_mknodat (__NR_Linux + 249) +#define __NR_fchownat (__NR_Linux + 250) +#define __NR_futimesat (__NR_Linux + 251) +#define __NR_newfstatat (__NR_Linux + 252) +#define __NR_unlinkat (__NR_Linux + 253) +#define __NR_renameat (__NR_Linux + 254) +#define __NR_linkat (__NR_Linux + 255) +#define __NR_symlinkat (__NR_Linux + 256) +#define __NR_readlinkat (__NR_Linux + 257) +#define __NR_fchmodat (__NR_Linux + 258) +#define __NR_faccessat (__NR_Linux + 259) +#define __NR_pselect6 (__NR_Linux + 260) +#define __NR_ppoll (__NR_Linux + 261) +#define __NR_unshare (__NR_Linux + 262) +#define __NR_splice (__NR_Linux + 263) +#define __NR_sync_file_range (__NR_Linux + 264) +#define __NR_tee (__NR_Linux + 265) +#define __NR_vmsplice (__NR_Linux + 266) +#define __NR_move_pages (__NR_Linux + 267) +#define __NR_set_robust_list (__NR_Linux + 268) +#define __NR_get_robust_list (__NR_Linux + 269) +#define __NR_kexec_load (__NR_Linux + 270) +#define __NR_getcpu (__NR_Linux + 271) +#define __NR_epoll_pwait (__NR_Linux + 272) +#define __NR_ioprio_set (__NR_Linux + 273) +#define __NR_ioprio_get (__NR_Linux + 274) +#define __NR_utimensat (__NR_Linux + 275) +#define __NR_signalfd (__NR_Linux + 276) +#define __NR_timerfd (__NR_Linux + 277) +#define __NR_eventfd (__NR_Linux + 278) +#define __NR_fallocate (__NR_Linux + 279) +#define __NR_timerfd_create (__NR_Linux + 280) +#define __NR_timerfd_gettime (__NR_Linux + 281) +#define __NR_timerfd_settime (__NR_Linux + 282) +#define __NR_signalfd4 (__NR_Linux + 283) +#define __NR_eventfd2 (__NR_Linux + 284) +#define __NR_epoll_create1 (__NR_Linux + 285) +#define __NR_dup3 (__NR_Linux + 286) +#define __NR_pipe2 (__NR_Linux + 287) +#define __NR_inotify_init1 (__NR_Linux + 288) +#define __NR_preadv (__NR_Linux + 289) +#define __NR_pwritev (__NR_Linux + 290) +#define __NR_rt_tgsigqueueinfo (__NR_Linux + 291) +#define __NR_perf_event_open (__NR_Linux + 292) +#define __NR_accept4 (__NR_Linux + 293) +#define __NR_recvmmsg (__NR_Linux + 294) +#define __NR_fanotify_init (__NR_Linux + 295) +#define __NR_fanotify_mark (__NR_Linux + 296) +#define __NR_prlimit64 (__NR_Linux + 297) +#define __NR_name_to_handle_at (__NR_Linux + 298) +#define __NR_open_by_handle_at (__NR_Linux + 299) +#define __NR_clock_adjtime (__NR_Linux + 300) +#define __NR_syncfs (__NR_Linux + 301) +#define __NR_sendmmsg (__NR_Linux + 302) +#define __NR_setns (__NR_Linux + 303) +#define __NR_process_vm_readv (__NR_Linux + 304) +#define __NR_process_vm_writev (__NR_Linux + 305) +#define __NR_kcmp (__NR_Linux + 306) +#define __NR_finit_module (__NR_Linux + 307) +#define __NR_getdents64 (__NR_Linux + 308) +#define __NR_sched_setattr (__NR_Linux + 309) +#define __NR_sched_getattr (__NR_Linux + 310) +#define __NR_renameat2 (__NR_Linux + 311) +#define __NR_seccomp (__NR_Linux + 312) +#define __NR_getrandom (__NR_Linux + 313) +#define __NR_memfd_create (__NR_Linux + 314) +#define __NR_bpf (__NR_Linux + 315) +#define __NR_execveat (__NR_Linux + 316) +#define __NR_userfaultfd (__NR_Linux + 317) +#define __NR_membarrier (__NR_Linux + 318) +#define __NR_mlock2 (__NR_Linux + 319) +#define __NR_copy_file_range (__NR_Linux + 320) +#define __NR_preadv2 (__NR_Linux + 321) +#define __NR_pwritev2 (__NR_Linux + 322) +#define __NR_pkey_mprotect (__NR_Linux + 323) +#define __NR_pkey_alloc (__NR_Linux + 324) +#define __NR_pkey_free (__NR_Linux + 325) +#define __NR_statx (__NR_Linux + 326) +#define __NR_rseq (__NR_Linux + 327) +#define __NR_io_pgetevents (__NR_Linux + 328) +#define __NR_pidfd_send_signal (__NR_Linux + 424) +#define __NR_io_uring_setup (__NR_Linux + 425) +#define __NR_io_uring_enter (__NR_Linux + 426) +#define __NR_io_uring_register (__NR_Linux + 427) +#define __NR_open_tree (__NR_Linux + 428) +#define __NR_move_mount (__NR_Linux + 429) +#define __NR_fsopen (__NR_Linux + 430) +#define __NR_fsconfig (__NR_Linux + 431) +#define __NR_fsmount (__NR_Linux + 432) +#define __NR_fspick (__NR_Linux + 433) +#define __NR_pidfd_open (__NR_Linux + 434) +#define __NR_clone3 (__NR_Linux + 435) +#define __NR_close_range (__NR_Linux + 436) +#define __NR_openat2 (__NR_Linux + 437) +#define __NR_pidfd_getfd (__NR_Linux + 438) +#define __NR_faccessat2 (__NR_Linux + 439) +#define __NR_process_madvise (__NR_Linux + 440) +#define __NR_epoll_pwait2 (__NR_Linux + 441) +#define __NR_mount_setattr (__NR_Linux + 442) +#define __NR_quotactl_fd (__NR_Linux + 443) +#define __NR_landlock_create_ruleset (__NR_Linux + 444) +#define __NR_landlock_add_rule (__NR_Linux + 445) +#define __NR_landlock_restrict_self (__NR_Linux + 446) +#define __NR_process_mrelease (__NR_Linux + 448) +#define __NR_futex_waitv (__NR_Linux + 449) +#define __NR_set_mempolicy_home_node (__NR_Linux + 450) +#define __NR_cachestat (__NR_Linux + 451) +#define __NR_fchmodat2 (__NR_Linux + 452) +#define __NR_map_shadow_stack (__NR_Linux + 453) +#define __NR_futex_wake (__NR_Linux + 454) +#define __NR_futex_wait (__NR_Linux + 455) +#define __NR_futex_requeue (__NR_Linux + 456) +#define __NR_statmount (__NR_Linux + 457) +#define __NR_listmount (__NR_Linux + 458) +#define __NR_lsm_get_self_attr (__NR_Linux + 459) +#define __NR_lsm_set_self_attr (__NR_Linux + 460) +#define __NR_lsm_list_modules (__NR_Linux + 461) +#define __NR_mseal (__NR_Linux + 462) +#define __NR_setxattrat (__NR_Linux + 463) +#define __NR_getxattrat (__NR_Linux + 464) +#define __NR_listxattrat (__NR_Linux + 465) +#define __NR_removexattrat (__NR_Linux + 466) + +#endif /* _ASM_UNISTD_N64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_o32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_o32.h new file mode 100644 index 00000000..c271d309 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-any/asm/unistd_o32.h @@ -0,0 +1,445 @@ +#ifndef _ASM_UNISTD_O32_H +#define _ASM_UNISTD_O32_H + +#define __NR_syscall (__NR_Linux + 0) +#define __NR_exit (__NR_Linux + 1) +#define __NR_fork (__NR_Linux + 2) +#define __NR_read (__NR_Linux + 3) +#define __NR_write (__NR_Linux + 4) +#define __NR_open (__NR_Linux + 5) +#define __NR_close (__NR_Linux + 6) +#define __NR_waitpid (__NR_Linux + 7) +#define __NR_creat (__NR_Linux + 8) +#define __NR_link (__NR_Linux + 9) +#define __NR_unlink (__NR_Linux + 10) +#define __NR_execve (__NR_Linux + 11) +#define __NR_chdir (__NR_Linux + 12) +#define __NR_time (__NR_Linux + 13) +#define __NR_mknod (__NR_Linux + 14) +#define __NR_chmod (__NR_Linux + 15) +#define __NR_lchown (__NR_Linux + 16) +#define __NR_break (__NR_Linux + 17) +#define __NR_unused18 (__NR_Linux + 18) +#define __NR_lseek (__NR_Linux + 19) +#define __NR_getpid (__NR_Linux + 20) +#define __NR_mount (__NR_Linux + 21) +#define __NR_umount (__NR_Linux + 22) +#define __NR_setuid (__NR_Linux + 23) +#define __NR_getuid (__NR_Linux + 24) +#define __NR_stime (__NR_Linux + 25) +#define __NR_ptrace (__NR_Linux + 26) +#define __NR_alarm (__NR_Linux + 27) +#define __NR_unused28 (__NR_Linux + 28) +#define __NR_pause (__NR_Linux + 29) +#define __NR_utime (__NR_Linux + 30) +#define __NR_stty (__NR_Linux + 31) +#define __NR_gtty (__NR_Linux + 32) +#define __NR_access (__NR_Linux + 33) +#define __NR_nice (__NR_Linux + 34) +#define __NR_ftime (__NR_Linux + 35) +#define __NR_sync (__NR_Linux + 36) +#define __NR_kill (__NR_Linux + 37) +#define __NR_rename (__NR_Linux + 38) +#define __NR_mkdir (__NR_Linux + 39) +#define __NR_rmdir (__NR_Linux + 40) +#define __NR_dup (__NR_Linux + 41) +#define __NR_pipe (__NR_Linux + 42) +#define __NR_times (__NR_Linux + 43) +#define __NR_prof (__NR_Linux + 44) +#define __NR_brk (__NR_Linux + 45) +#define __NR_setgid (__NR_Linux + 46) +#define __NR_getgid (__NR_Linux + 47) +#define __NR_signal (__NR_Linux + 48) +#define __NR_geteuid (__NR_Linux + 49) +#define __NR_getegid (__NR_Linux + 50) +#define __NR_acct (__NR_Linux + 51) +#define __NR_umount2 (__NR_Linux + 52) +#define __NR_lock (__NR_Linux + 53) +#define __NR_ioctl (__NR_Linux + 54) +#define __NR_fcntl (__NR_Linux + 55) +#define __NR_mpx (__NR_Linux + 56) +#define __NR_setpgid (__NR_Linux + 57) +#define __NR_ulimit (__NR_Linux + 58) +#define __NR_unused59 (__NR_Linux + 59) +#define __NR_umask (__NR_Linux + 60) +#define __NR_chroot (__NR_Linux + 61) +#define __NR_ustat (__NR_Linux + 62) +#define __NR_dup2 (__NR_Linux + 63) +#define __NR_getppid (__NR_Linux + 64) +#define __NR_getpgrp (__NR_Linux + 65) +#define __NR_setsid (__NR_Linux + 66) +#define __NR_sigaction (__NR_Linux + 67) +#define __NR_sgetmask (__NR_Linux + 68) +#define __NR_ssetmask (__NR_Linux + 69) +#define __NR_setreuid (__NR_Linux + 70) +#define __NR_setregid (__NR_Linux + 71) +#define __NR_sigsuspend (__NR_Linux + 72) +#define __NR_sigpending (__NR_Linux + 73) +#define __NR_sethostname (__NR_Linux + 74) +#define __NR_setrlimit (__NR_Linux + 75) +#define __NR_getrlimit (__NR_Linux + 76) +#define __NR_getrusage (__NR_Linux + 77) +#define __NR_gettimeofday (__NR_Linux + 78) +#define __NR_settimeofday (__NR_Linux + 79) +#define __NR_getgroups (__NR_Linux + 80) +#define __NR_setgroups (__NR_Linux + 81) +#define __NR_reserved82 (__NR_Linux + 82) +#define __NR_symlink (__NR_Linux + 83) +#define __NR_unused84 (__NR_Linux + 84) +#define __NR_readlink (__NR_Linux + 85) +#define __NR_uselib (__NR_Linux + 86) +#define __NR_swapon (__NR_Linux + 87) +#define __NR_reboot (__NR_Linux + 88) +#define __NR_readdir (__NR_Linux + 89) +#define __NR_mmap (__NR_Linux + 90) +#define __NR_munmap (__NR_Linux + 91) +#define __NR_truncate (__NR_Linux + 92) +#define __NR_ftruncate (__NR_Linux + 93) +#define __NR_fchmod (__NR_Linux + 94) +#define __NR_fchown (__NR_Linux + 95) +#define __NR_getpriority (__NR_Linux + 96) +#define __NR_setpriority (__NR_Linux + 97) +#define __NR_profil (__NR_Linux + 98) +#define __NR_statfs (__NR_Linux + 99) +#define __NR_fstatfs (__NR_Linux + 100) +#define __NR_ioperm (__NR_Linux + 101) +#define __NR_socketcall (__NR_Linux + 102) +#define __NR_syslog (__NR_Linux + 103) +#define __NR_setitimer (__NR_Linux + 104) +#define __NR_getitimer (__NR_Linux + 105) +#define __NR_stat (__NR_Linux + 106) +#define __NR_lstat (__NR_Linux + 107) +#define __NR_fstat (__NR_Linux + 108) +#define __NR_unused109 (__NR_Linux + 109) +#define __NR_iopl (__NR_Linux + 110) +#define __NR_vhangup (__NR_Linux + 111) +#define __NR_idle (__NR_Linux + 112) +#define __NR_vm86 (__NR_Linux + 113) +#define __NR_wait4 (__NR_Linux + 114) +#define __NR_swapoff (__NR_Linux + 115) +#define __NR_sysinfo (__NR_Linux + 116) +#define __NR_ipc (__NR_Linux + 117) +#define __NR_fsync (__NR_Linux + 118) +#define __NR_sigreturn (__NR_Linux + 119) +#define __NR_clone (__NR_Linux + 120) +#define __NR_setdomainname (__NR_Linux + 121) +#define __NR_uname (__NR_Linux + 122) +#define __NR_modify_ldt (__NR_Linux + 123) +#define __NR_adjtimex (__NR_Linux + 124) +#define __NR_mprotect (__NR_Linux + 125) +#define __NR_sigprocmask (__NR_Linux + 126) +#define __NR_create_module (__NR_Linux + 127) +#define __NR_init_module (__NR_Linux + 128) +#define __NR_delete_module (__NR_Linux + 129) +#define __NR_get_kernel_syms (__NR_Linux + 130) +#define __NR_quotactl (__NR_Linux + 131) +#define __NR_getpgid (__NR_Linux + 132) +#define __NR_fchdir (__NR_Linux + 133) +#define __NR_bdflush (__NR_Linux + 134) +#define __NR_sysfs (__NR_Linux + 135) +#define __NR_personality (__NR_Linux + 136) +#define __NR_afs_syscall (__NR_Linux + 137) +#define __NR_setfsuid (__NR_Linux + 138) +#define __NR_setfsgid (__NR_Linux + 139) +#define __NR__llseek (__NR_Linux + 140) +#define __NR_getdents (__NR_Linux + 141) +#define __NR__newselect (__NR_Linux + 142) +#define __NR_flock (__NR_Linux + 143) +#define __NR_msync (__NR_Linux + 144) +#define __NR_readv (__NR_Linux + 145) +#define __NR_writev (__NR_Linux + 146) +#define __NR_cacheflush (__NR_Linux + 147) +#define __NR_cachectl (__NR_Linux + 148) +#define __NR_sysmips (__NR_Linux + 149) +#define __NR_unused150 (__NR_Linux + 150) +#define __NR_getsid (__NR_Linux + 151) +#define __NR_fdatasync (__NR_Linux + 152) +#define __NR__sysctl (__NR_Linux + 153) +#define __NR_mlock (__NR_Linux + 154) +#define __NR_munlock (__NR_Linux + 155) +#define __NR_mlockall (__NR_Linux + 156) +#define __NR_munlockall (__NR_Linux + 157) +#define __NR_sched_setparam (__NR_Linux + 158) +#define __NR_sched_getparam (__NR_Linux + 159) +#define __NR_sched_setscheduler (__NR_Linux + 160) +#define __NR_sched_getscheduler (__NR_Linux + 161) +#define __NR_sched_yield (__NR_Linux + 162) +#define __NR_sched_get_priority_max (__NR_Linux + 163) +#define __NR_sched_get_priority_min (__NR_Linux + 164) +#define __NR_sched_rr_get_interval (__NR_Linux + 165) +#define __NR_nanosleep (__NR_Linux + 166) +#define __NR_mremap (__NR_Linux + 167) +#define __NR_accept (__NR_Linux + 168) +#define __NR_bind (__NR_Linux + 169) +#define __NR_connect (__NR_Linux + 170) +#define __NR_getpeername (__NR_Linux + 171) +#define __NR_getsockname (__NR_Linux + 172) +#define __NR_getsockopt (__NR_Linux + 173) +#define __NR_listen (__NR_Linux + 174) +#define __NR_recv (__NR_Linux + 175) +#define __NR_recvfrom (__NR_Linux + 176) +#define __NR_recvmsg (__NR_Linux + 177) +#define __NR_send (__NR_Linux + 178) +#define __NR_sendmsg (__NR_Linux + 179) +#define __NR_sendto (__NR_Linux + 180) +#define __NR_setsockopt (__NR_Linux + 181) +#define __NR_shutdown (__NR_Linux + 182) +#define __NR_socket (__NR_Linux + 183) +#define __NR_socketpair (__NR_Linux + 184) +#define __NR_setresuid (__NR_Linux + 185) +#define __NR_getresuid (__NR_Linux + 186) +#define __NR_query_module (__NR_Linux + 187) +#define __NR_poll (__NR_Linux + 188) +#define __NR_nfsservctl (__NR_Linux + 189) +#define __NR_setresgid (__NR_Linux + 190) +#define __NR_getresgid (__NR_Linux + 191) +#define __NR_prctl (__NR_Linux + 192) +#define __NR_rt_sigreturn (__NR_Linux + 193) +#define __NR_rt_sigaction (__NR_Linux + 194) +#define __NR_rt_sigprocmask (__NR_Linux + 195) +#define __NR_rt_sigpending (__NR_Linux + 196) +#define __NR_rt_sigtimedwait (__NR_Linux + 197) +#define __NR_rt_sigqueueinfo (__NR_Linux + 198) +#define __NR_rt_sigsuspend (__NR_Linux + 199) +#define __NR_pread64 (__NR_Linux + 200) +#define __NR_pwrite64 (__NR_Linux + 201) +#define __NR_chown (__NR_Linux + 202) +#define __NR_getcwd (__NR_Linux + 203) +#define __NR_capget (__NR_Linux + 204) +#define __NR_capset (__NR_Linux + 205) +#define __NR_sigaltstack (__NR_Linux + 206) +#define __NR_sendfile (__NR_Linux + 207) +#define __NR_getpmsg (__NR_Linux + 208) +#define __NR_putpmsg (__NR_Linux + 209) +#define __NR_mmap2 (__NR_Linux + 210) +#define __NR_truncate64 (__NR_Linux + 211) +#define __NR_ftruncate64 (__NR_Linux + 212) +#define __NR_stat64 (__NR_Linux + 213) +#define __NR_lstat64 (__NR_Linux + 214) +#define __NR_fstat64 (__NR_Linux + 215) +#define __NR_pivot_root (__NR_Linux + 216) +#define __NR_mincore (__NR_Linux + 217) +#define __NR_madvise (__NR_Linux + 218) +#define __NR_getdents64 (__NR_Linux + 219) +#define __NR_fcntl64 (__NR_Linux + 220) +#define __NR_reserved221 (__NR_Linux + 221) +#define __NR_gettid (__NR_Linux + 222) +#define __NR_readahead (__NR_Linux + 223) +#define __NR_setxattr (__NR_Linux + 224) +#define __NR_lsetxattr (__NR_Linux + 225) +#define __NR_fsetxattr (__NR_Linux + 226) +#define __NR_getxattr (__NR_Linux + 227) +#define __NR_lgetxattr (__NR_Linux + 228) +#define __NR_fgetxattr (__NR_Linux + 229) +#define __NR_listxattr (__NR_Linux + 230) +#define __NR_llistxattr (__NR_Linux + 231) +#define __NR_flistxattr (__NR_Linux + 232) +#define __NR_removexattr (__NR_Linux + 233) +#define __NR_lremovexattr (__NR_Linux + 234) +#define __NR_fremovexattr (__NR_Linux + 235) +#define __NR_tkill (__NR_Linux + 236) +#define __NR_sendfile64 (__NR_Linux + 237) +#define __NR_futex (__NR_Linux + 238) +#define __NR_sched_setaffinity (__NR_Linux + 239) +#define __NR_sched_getaffinity (__NR_Linux + 240) +#define __NR_io_setup (__NR_Linux + 241) +#define __NR_io_destroy (__NR_Linux + 242) +#define __NR_io_getevents (__NR_Linux + 243) +#define __NR_io_submit (__NR_Linux + 244) +#define __NR_io_cancel (__NR_Linux + 245) +#define __NR_exit_group (__NR_Linux + 246) +#define __NR_lookup_dcookie (__NR_Linux + 247) +#define __NR_epoll_create (__NR_Linux + 248) +#define __NR_epoll_ctl (__NR_Linux + 249) +#define __NR_epoll_wait (__NR_Linux + 250) +#define __NR_remap_file_pages (__NR_Linux + 251) +#define __NR_set_tid_address (__NR_Linux + 252) +#define __NR_restart_syscall (__NR_Linux + 253) +#define __NR_fadvise64 (__NR_Linux + 254) +#define __NR_statfs64 (__NR_Linux + 255) +#define __NR_fstatfs64 (__NR_Linux + 256) +#define __NR_timer_create (__NR_Linux + 257) +#define __NR_timer_settime (__NR_Linux + 258) +#define __NR_timer_gettime (__NR_Linux + 259) +#define __NR_timer_getoverrun (__NR_Linux + 260) +#define __NR_timer_delete (__NR_Linux + 261) +#define __NR_clock_settime (__NR_Linux + 262) +#define __NR_clock_gettime (__NR_Linux + 263) +#define __NR_clock_getres (__NR_Linux + 264) +#define __NR_clock_nanosleep (__NR_Linux + 265) +#define __NR_tgkill (__NR_Linux + 266) +#define __NR_utimes (__NR_Linux + 267) +#define __NR_mbind (__NR_Linux + 268) +#define __NR_get_mempolicy (__NR_Linux + 269) +#define __NR_set_mempolicy (__NR_Linux + 270) +#define __NR_mq_open (__NR_Linux + 271) +#define __NR_mq_unlink (__NR_Linux + 272) +#define __NR_mq_timedsend (__NR_Linux + 273) +#define __NR_mq_timedreceive (__NR_Linux + 274) +#define __NR_mq_notify (__NR_Linux + 275) +#define __NR_mq_getsetattr (__NR_Linux + 276) +#define __NR_vserver (__NR_Linux + 277) +#define __NR_waitid (__NR_Linux + 278) +#define __NR_add_key (__NR_Linux + 280) +#define __NR_request_key (__NR_Linux + 281) +#define __NR_keyctl (__NR_Linux + 282) +#define __NR_set_thread_area (__NR_Linux + 283) +#define __NR_inotify_init (__NR_Linux + 284) +#define __NR_inotify_add_watch (__NR_Linux + 285) +#define __NR_inotify_rm_watch (__NR_Linux + 286) +#define __NR_migrate_pages (__NR_Linux + 287) +#define __NR_openat (__NR_Linux + 288) +#define __NR_mkdirat (__NR_Linux + 289) +#define __NR_mknodat (__NR_Linux + 290) +#define __NR_fchownat (__NR_Linux + 291) +#define __NR_futimesat (__NR_Linux + 292) +#define __NR_fstatat64 (__NR_Linux + 293) +#define __NR_unlinkat (__NR_Linux + 294) +#define __NR_renameat (__NR_Linux + 295) +#define __NR_linkat (__NR_Linux + 296) +#define __NR_symlinkat (__NR_Linux + 297) +#define __NR_readlinkat (__NR_Linux + 298) +#define __NR_fchmodat (__NR_Linux + 299) +#define __NR_faccessat (__NR_Linux + 300) +#define __NR_pselect6 (__NR_Linux + 301) +#define __NR_ppoll (__NR_Linux + 302) +#define __NR_unshare (__NR_Linux + 303) +#define __NR_splice (__NR_Linux + 304) +#define __NR_sync_file_range (__NR_Linux + 305) +#define __NR_tee (__NR_Linux + 306) +#define __NR_vmsplice (__NR_Linux + 307) +#define __NR_move_pages (__NR_Linux + 308) +#define __NR_set_robust_list (__NR_Linux + 309) +#define __NR_get_robust_list (__NR_Linux + 310) +#define __NR_kexec_load (__NR_Linux + 311) +#define __NR_getcpu (__NR_Linux + 312) +#define __NR_epoll_pwait (__NR_Linux + 313) +#define __NR_ioprio_set (__NR_Linux + 314) +#define __NR_ioprio_get (__NR_Linux + 315) +#define __NR_utimensat (__NR_Linux + 316) +#define __NR_signalfd (__NR_Linux + 317) +#define __NR_timerfd (__NR_Linux + 318) +#define __NR_eventfd (__NR_Linux + 319) +#define __NR_fallocate (__NR_Linux + 320) +#define __NR_timerfd_create (__NR_Linux + 321) +#define __NR_timerfd_gettime (__NR_Linux + 322) +#define __NR_timerfd_settime (__NR_Linux + 323) +#define __NR_signalfd4 (__NR_Linux + 324) +#define __NR_eventfd2 (__NR_Linux + 325) +#define __NR_epoll_create1 (__NR_Linux + 326) +#define __NR_dup3 (__NR_Linux + 327) +#define __NR_pipe2 (__NR_Linux + 328) +#define __NR_inotify_init1 (__NR_Linux + 329) +#define __NR_preadv (__NR_Linux + 330) +#define __NR_pwritev (__NR_Linux + 331) +#define __NR_rt_tgsigqueueinfo (__NR_Linux + 332) +#define __NR_perf_event_open (__NR_Linux + 333) +#define __NR_accept4 (__NR_Linux + 334) +#define __NR_recvmmsg (__NR_Linux + 335) +#define __NR_fanotify_init (__NR_Linux + 336) +#define __NR_fanotify_mark (__NR_Linux + 337) +#define __NR_prlimit64 (__NR_Linux + 338) +#define __NR_name_to_handle_at (__NR_Linux + 339) +#define __NR_open_by_handle_at (__NR_Linux + 340) +#define __NR_clock_adjtime (__NR_Linux + 341) +#define __NR_syncfs (__NR_Linux + 342) +#define __NR_sendmmsg (__NR_Linux + 343) +#define __NR_setns (__NR_Linux + 344) +#define __NR_process_vm_readv (__NR_Linux + 345) +#define __NR_process_vm_writev (__NR_Linux + 346) +#define __NR_kcmp (__NR_Linux + 347) +#define __NR_finit_module (__NR_Linux + 348) +#define __NR_sched_setattr (__NR_Linux + 349) +#define __NR_sched_getattr (__NR_Linux + 350) +#define __NR_renameat2 (__NR_Linux + 351) +#define __NR_seccomp (__NR_Linux + 352) +#define __NR_getrandom (__NR_Linux + 353) +#define __NR_memfd_create (__NR_Linux + 354) +#define __NR_bpf (__NR_Linux + 355) +#define __NR_execveat (__NR_Linux + 356) +#define __NR_userfaultfd (__NR_Linux + 357) +#define __NR_membarrier (__NR_Linux + 358) +#define __NR_mlock2 (__NR_Linux + 359) +#define __NR_copy_file_range (__NR_Linux + 360) +#define __NR_preadv2 (__NR_Linux + 361) +#define __NR_pwritev2 (__NR_Linux + 362) +#define __NR_pkey_mprotect (__NR_Linux + 363) +#define __NR_pkey_alloc (__NR_Linux + 364) +#define __NR_pkey_free (__NR_Linux + 365) +#define __NR_statx (__NR_Linux + 366) +#define __NR_rseq (__NR_Linux + 367) +#define __NR_io_pgetevents (__NR_Linux + 368) +#define __NR_semget (__NR_Linux + 393) +#define __NR_semctl (__NR_Linux + 394) +#define __NR_shmget (__NR_Linux + 395) +#define __NR_shmctl (__NR_Linux + 396) +#define __NR_shmat (__NR_Linux + 397) +#define __NR_shmdt (__NR_Linux + 398) +#define __NR_msgget (__NR_Linux + 399) +#define __NR_msgsnd (__NR_Linux + 400) +#define __NR_msgrcv (__NR_Linux + 401) +#define __NR_msgctl (__NR_Linux + 402) +#define __NR_clock_gettime64 (__NR_Linux + 403) +#define __NR_clock_settime64 (__NR_Linux + 404) +#define __NR_clock_adjtime64 (__NR_Linux + 405) +#define __NR_clock_getres_time64 (__NR_Linux + 406) +#define __NR_clock_nanosleep_time64 (__NR_Linux + 407) +#define __NR_timer_gettime64 (__NR_Linux + 408) +#define __NR_timer_settime64 (__NR_Linux + 409) +#define __NR_timerfd_gettime64 (__NR_Linux + 410) +#define __NR_timerfd_settime64 (__NR_Linux + 411) +#define __NR_utimensat_time64 (__NR_Linux + 412) +#define __NR_pselect6_time64 (__NR_Linux + 413) +#define __NR_ppoll_time64 (__NR_Linux + 414) +#define __NR_io_pgetevents_time64 (__NR_Linux + 416) +#define __NR_recvmmsg_time64 (__NR_Linux + 417) +#define __NR_mq_timedsend_time64 (__NR_Linux + 418) +#define __NR_mq_timedreceive_time64 (__NR_Linux + 419) +#define __NR_semtimedop_time64 (__NR_Linux + 420) +#define __NR_rt_sigtimedwait_time64 (__NR_Linux + 421) +#define __NR_futex_time64 (__NR_Linux + 422) +#define __NR_sched_rr_get_interval_time64 (__NR_Linux + 423) +#define __NR_pidfd_send_signal (__NR_Linux + 424) +#define __NR_io_uring_setup (__NR_Linux + 425) +#define __NR_io_uring_enter (__NR_Linux + 426) +#define __NR_io_uring_register (__NR_Linux + 427) +#define __NR_open_tree (__NR_Linux + 428) +#define __NR_move_mount (__NR_Linux + 429) +#define __NR_fsopen (__NR_Linux + 430) +#define __NR_fsconfig (__NR_Linux + 431) +#define __NR_fsmount (__NR_Linux + 432) +#define __NR_fspick (__NR_Linux + 433) +#define __NR_pidfd_open (__NR_Linux + 434) +#define __NR_clone3 (__NR_Linux + 435) +#define __NR_close_range (__NR_Linux + 436) +#define __NR_openat2 (__NR_Linux + 437) +#define __NR_pidfd_getfd (__NR_Linux + 438) +#define __NR_faccessat2 (__NR_Linux + 439) +#define __NR_process_madvise (__NR_Linux + 440) +#define __NR_epoll_pwait2 (__NR_Linux + 441) +#define __NR_mount_setattr (__NR_Linux + 442) +#define __NR_quotactl_fd (__NR_Linux + 443) +#define __NR_landlock_create_ruleset (__NR_Linux + 444) +#define __NR_landlock_add_rule (__NR_Linux + 445) +#define __NR_landlock_restrict_self (__NR_Linux + 446) +#define __NR_process_mrelease (__NR_Linux + 448) +#define __NR_futex_waitv (__NR_Linux + 449) +#define __NR_set_mempolicy_home_node (__NR_Linux + 450) +#define __NR_cachestat (__NR_Linux + 451) +#define __NR_fchmodat2 (__NR_Linux + 452) +#define __NR_map_shadow_stack (__NR_Linux + 453) +#define __NR_futex_wake (__NR_Linux + 454) +#define __NR_futex_wait (__NR_Linux + 455) +#define __NR_futex_requeue (__NR_Linux + 456) +#define __NR_statmount (__NR_Linux + 457) +#define __NR_listmount (__NR_Linux + 458) +#define __NR_lsm_get_self_attr (__NR_Linux + 459) +#define __NR_lsm_set_self_attr (__NR_Linux + 460) +#define __NR_lsm_list_modules (__NR_Linux + 461) +#define __NR_mseal (__NR_Linux + 462) +#define __NR_setxattrat (__NR_Linux + 463) +#define __NR_getxattrat (__NR_Linux + 464) +#define __NR_listxattrat (__NR_Linux + 465) +#define __NR_removexattrat (__NR_Linux + 466) + +#endif /* _ASM_UNISTD_O32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabi/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-gnueabihf/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..46b309d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/alltypes.h @@ -0,0 +1,408 @@ +#define _REDIR_TIME64 1 +#define _Addr int +#define _Int64 long long +#define _Reg int + +#if _MIPSEL || __MIPSEL || __MIPSEL__ +#define __BYTE_ORDER 1234 +#else +#define __BYTE_ORDER 4321 +#endif + +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/errno.h new file mode 100644 index 00000000..54adcccf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define ENOMSG 35 +#define EIDRM 36 +#define ECHRNG 37 +#define EL2NSYNC 38 +#define EL3HLT 39 +#define EL3RST 40 +#define ELNRNG 41 +#define EUNATCH 42 +#define ENOCSI 43 +#define EL2HLT 44 +#define EDEADLK 45 +#define ENOLCK 46 +#define EBADE 50 +#define EBADR 51 +#define EXFULL 52 +#define ENOANO 53 +#define EBADRQC 54 +#define EBADSLT 55 +#define EDEADLOCK 56 +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EDOTDOT 73 +#define EMULTIHOP 74 +#define EBADMSG 77 +#define ENAMETOOLONG 78 +#define EOVERFLOW 79 +#define ENOTUNIQ 80 +#define EBADFD 81 +#define EREMCHG 82 +#define ELIBACC 83 +#define ELIBBAD 84 +#define ELIBSCN 85 +#define ELIBMAX 86 +#define ELIBEXEC 87 +#define EILSEQ 88 +#define ENOSYS 89 +#define ELOOP 90 +#define ERESTART 91 +#define ESTRPIPE 92 +#define ENOTEMPTY 93 +#define EUSERS 94 +#define ENOTSOCK 95 +#define EDESTADDRREQ 96 +#define EMSGSIZE 97 +#define EPROTOTYPE 98 +#define ENOPROTOOPT 99 +#define EPROTONOSUPPORT 120 +#define ESOCKTNOSUPPORT 121 +#define EOPNOTSUPP 122 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 123 +#define EAFNOSUPPORT 124 +#define EADDRINUSE 125 +#define EADDRNOTAVAIL 126 +#define ENETDOWN 127 +#define ENETUNREACH 128 +#define ENETRESET 129 +#define ECONNABORTED 130 +#define ECONNRESET 131 +#define ENOBUFS 132 +#define EISCONN 133 +#define ENOTCONN 134 +#define EUCLEAN 135 +#define ENOTNAM 137 +#define ENAVAIL 138 +#define EISNAM 139 +#define EREMOTEIO 140 +#define ESHUTDOWN 143 +#define ETOOMANYREFS 144 +#define ETIMEDOUT 145 +#define ECONNREFUSED 146 +#define EHOSTDOWN 147 +#define EHOSTUNREACH 148 +#define EWOULDBLOCK EAGAIN +#define EALREADY 149 +#define EINPROGRESS 150 +#define ESTALE 151 +#define ECANCELED 158 +#define ENOMEDIUM 159 +#define EMEDIUMTYPE 160 +#define ENOKEY 161 +#define EKEYEXPIRED 162 +#define EKEYREVOKED 163 +#define EKEYREJECTED 164 +#define EOWNERDEAD 165 +#define ENOTRECOVERABLE 166 +#define ERFKILL 167 +#define EHWPOISON 168 +#define EDQUOT 1133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..911a8adc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0400 +#define O_EXCL 02000 +#define O_NOCTTY 04000 +#define O_TRUNC 01000 +#define O_APPEND 0010 +#define O_NONBLOCK 0200 +#define O_DSYNC 0020 +#define O_SYNC 040020 +#define O_RSYNC 040020 +#define O_DIRECTORY 0200000 +#define O_NOFOLLOW 0400000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 010000 +#define O_DIRECT 0100000 +#define O_LARGEFILE 020000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 24 +#define F_GETOWN 23 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 33 +#define F_SETLK 34 +#define F_SETLKW 35 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fenv.h new file mode 100644 index 00000000..dbf9b368 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/fenv.h @@ -0,0 +1,25 @@ +#ifdef __mips_soft_float +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 +#else +#define FE_INEXACT 4 +#define FE_UNDERFLOW 8 +#define FE_OVERFLOW 16 +#define FE_DIVBYZERO 32 +#define FE_INVALID 64 + +#define FE_ALL_EXCEPT 124 + +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 +#endif + +typedef unsigned short fexcept_t; + +typedef struct { + unsigned __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/float.h new file mode 100644 index 00000000..7523476b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 4.94065645841246544177e-324L +#define LDBL_MIN 2.22507385850720138309e-308L +#define LDBL_MAX 1.79769313486231570815e+308L +#define LDBL_EPSILON 2.22044604925031308085e-16L + +#define LDBL_MANT_DIG 53 +#define LDBL_MIN_EXP (-1021) +#define LDBL_MAX_EXP 1024 + +#define LDBL_DIG 15 +#define LDBL_MIN_10_EXP (-307) +#define LDBL_MAX_10_EXP 308 + +#define DECIMAL_DIG 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..bcdd936f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/hwcap.h @@ -0,0 +1,14 @@ +#define HWCAP_MIPS_R6 (1 << 0) +#define HWCAP_MIPS_MSA (1 << 1) +#define HWCAP_MIPS_CRC32 (1 << 2) +#define HWCAP_MIPS_MIPS16 (1 << 3) +#define HWCAP_MIPS_MDMX (1 << 4) +#define HWCAP_MIPS_MIPS3D (1 << 5) +#define HWCAP_MIPS_SMARTMIPS (1 << 6) +#define HWCAP_MIPS_DSP (1 << 7) +#define HWCAP_MIPS_DSP2 (1 << 8) +#define HWCAP_MIPS_DSP3 (1 << 9) +#define HWCAP_MIPS_MIPS16E2 (1 << 10) +#define HWCAP_LOONGSON_MMI (1 << 11) +#define HWCAP_LOONGSON_EXT (1 << 12) +#define HWCAP_LOONGSON_EXT2 (1 << 13) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ioctl.h new file mode 100644 index 00000000..c4fbd0d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ioctl.h @@ -0,0 +1,114 @@ +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define TCGETA 0x5401 +#define TCSETA 0x5402 +#define TCSETAW 0x5403 +#define TCSETAF 0x5404 +#define TCSBRK 0x5405 +#define TCXONC 0x5406 +#define TCFLSH 0x5407 +#define TCGETS 0x540D +#define TCSETS 0x540E +#define TCSETSW 0x540F +#define TCSETSF 0x5410 + +#define TIOCEXCL 0x740D +#define TIOCNXCL 0x740E +#define TIOCOUTQ 0x7472 +#define TIOCSTI 0x5472 +#define TIOCMGET 0x741D +#define TIOCMBIS 0x741B +#define TIOCMBIC 0x741C +#define TIOCMSET 0x741A + +#define TIOCPKT 0x5470 +#define TIOCSWINSZ _IOW('t', 103, struct winsize) +#define TIOCGWINSZ _IOR('t', 104, struct winsize) +#define TIOCNOTTY 0x5471 +#define TIOCSETD 0x7401 +#define TIOCGETD 0x7400 + +#define FIOCLEX 0x6601 +#define FIONCLEX 0x6602 +#define FIOASYNC 0x667D +#define FIONBIO 0x667E +#define FIOQSIZE 0x667F + +#define TIOCGLTC 0x7474 +#define TIOCSLTC 0x7475 +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) +#define TIOCCONS _IOW('t', 120, int) + +#define FIONREAD 0x467F +#define TIOCINQ FIONREAD + +#define TIOCGETP 0x7408 +#define TIOCSETP 0x7409 +#define TIOCSETN 0x740A + +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x7416 +#define TIOCGRS485 _IOR('T', 0x2E, char[32]) +#define TIOCSRS485 _IOWR('T', 0x2F, char[32]) +#define TIOCGPTN _IOR('T', 0x30, unsigned int) +#define TIOCSPTLCK _IOW('T', 0x31, int) +#define TIOCGDEV _IOR('T', 0x32, unsigned int) +#define TIOCSIG _IOW('T', 0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) + +#define TIOCSCTTY 0x5480 +#define TIOCGSOFTCAR 0x5481 +#define TIOCSSOFTCAR 0x5482 +#define TIOCLINUX 0x5483 +#define TIOCGSERIAL 0x5484 +#define TIOCSSERIAL 0x5485 +#define TCSBRKP 0x5486 + +#define TIOCSERCONFIG 0x5488 +#define TIOCSERGWILD 0x5489 +#define TIOCSERSWILD 0x548A +#define TIOCGLCKTRMIOS 0x548B +#define TIOCSLCKTRMIOS 0x548C +#define TIOCSERGSTRUCT 0x548D +#define TIOCSERGETLSR 0x548E +#define TIOCSERGETMULTI 0x548F +#define TIOCSERSETMULTI 0x5490 +#define TIOCMIWAIT 0x5491 +#define TIOCGICOUNT 0x5492 + +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x010 +#define TIOCM_SR 0x020 +#define TIOCM_CTS 0x040 +#define TIOCM_CAR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define FIOGETOWN _IOR('f', 123, int) +#define FIOSETOWN _IOW('f', 124, int) +#define SIOCATMARK _IOR('s', 7, int) +#define SIOCSPGRP _IOW('s', 8, pid_t) +#define SIOCGPGRP _IOR('s', 9, pid_t) +#define SIOCGSTAMP _IOR(0x89, 6, char[16]) +#define SIOCGSTAMPNS _IOR(0x89, 7, char[16]) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/mman.h new file mode 100644 index 00000000..54231d15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/mman.h @@ -0,0 +1,25 @@ +#undef MAP_ANON +#define MAP_ANON 0x800 +#undef MAP_NORESERVE +#define MAP_NORESERVE 0x0400 +#undef MAP_GROWSDOWN +#define MAP_GROWSDOWN 0x1000 +#undef MAP_DENYWRITE +#define MAP_DENYWRITE 0x2000 +#undef MAP_EXECUTABLE +#define MAP_EXECUTABLE 0x4000 +#undef MAP_LOCKED +#define MAP_LOCKED 0x8000 +#undef MAP_POPULATE +#define MAP_POPULATE 0x10000 +#undef MAP_NONBLOCK +#define MAP_NONBLOCK 0x20000 +#undef MAP_STACK +#define MAP_STACK 0x40000 +#undef MAP_HUGETLB +#define MAP_HUGETLB 0x80000 +#undef MAP_SYNC + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#undef MADV_SOFT_OFFLINE +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/msg.h new file mode 100644 index 00000000..9e428cab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/msg.h @@ -0,0 +1,27 @@ +struct msqid_ds { + struct ipc_perm msg_perm; +#if _MIPSEL || __MIPSEL || __MIPSEL__ + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; +#else + unsigned long __msg_stime_hi; + unsigned long __msg_stime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_ctime_hi; + unsigned long __msg_ctime_lo; +#endif + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/poll.h new file mode 100644 index 00000000..cefdd9be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/poll.h @@ -0,0 +1,2 @@ +#define POLLWRNORM POLLOUT +#define POLLWRBAND 0x100 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..275462de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/ptrace.h @@ -0,0 +1,9 @@ +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 +#define PTRACE_PEEKTEXT_3264 0xc0 +#define PTRACE_PEEKDATA_3264 0xc1 +#define PTRACE_POKETEXT_3264 0xc2 +#define PTRACE_POKEDATA_3264 0xc3 +#define PTRACE_GET_THREAD_AREA_3264 0xc4 +#define PTRACE_GET_WATCH_REGS 0xd0 +#define PTRACE_SET_WATCH_REGS 0xd1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/reg.h new file mode 100644 index 00000000..945e565c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/reg.h @@ -0,0 +1,47 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 + +#define EF_R0 6 +#define EF_R1 7 +#define EF_R2 8 +#define EF_R3 9 +#define EF_R4 10 +#define EF_R5 11 +#define EF_R6 12 +#define EF_R7 13 +#define EF_R8 14 +#define EF_R9 15 +#define EF_R10 16 +#define EF_R11 17 +#define EF_R12 18 +#define EF_R13 19 +#define EF_R14 20 +#define EF_R15 21 +#define EF_R16 22 +#define EF_R17 23 +#define EF_R18 24 +#define EF_R19 25 +#define EF_R20 26 +#define EF_R21 27 +#define EF_R22 28 +#define EF_R23 29 +#define EF_R24 30 +#define EF_R25 31 + +#define EF_R26 32 +#define EF_R27 33 +#define EF_R28 34 +#define EF_R29 35 +#define EF_R30 36 +#define EF_R31 37 + +#define EF_LO 38 +#define EF_HI 39 + +#define EF_CP0_EPC 40 +#define EF_CP0_BADVADDR 41 +#define EF_CP0_STATUS 42 +#define EF_CP0_CAUSE 43 +#define EF_UNUSED0 44 + +#define EF_SIZE 180 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/resource.h new file mode 100644 index 00000000..ef7ada7c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/resource.h @@ -0,0 +1,5 @@ +#define RLIMIT_NOFILE 5 +#define RLIMIT_AS 6 +#define RLIMIT_RSS 7 +#define RLIMIT_NPROC 8 +#define RLIMIT_MEMLOCK 9 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/sem.h new file mode 100644 index 00000000..87b05d48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/sem.h @@ -0,0 +1,16 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_lo; + unsigned long __sem_ctime_lo; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + unsigned long __sem_otime_hi; + unsigned long __sem_ctime_hi; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..7bee1318 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[13]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/shm.h new file mode 100644 index 00000000..4e5357d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/shm.h @@ -0,0 +1,29 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + unsigned long __shm_atime_lo; + unsigned long __shm_dtime_lo; + unsigned long __shm_ctime_lo; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned short __shm_atime_hi; + unsigned short __shm_dtime_hi; + unsigned short __shm_ctime_hi; + unsigned short __pad1; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/signal.h new file mode 100644 index 00000000..9a882e94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/signal.h @@ -0,0 +1,123 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long long greg_t, gregset_t[32]; +typedef struct { + union { + double fp_dregs[32]; + struct { + float _fp_fregs; + unsigned _fp_pad; + } fp_fregs[32]; + } fp_r; +} fpregset_t; +struct sigcontext { + unsigned sc_regmask, sc_status; + unsigned long long sc_pc; + gregset_t sc_regs; + fpregset_t sc_fpregs; + unsigned sc_ownedfp, sc_fpc_csr, sc_fpc_eir, sc_used_math, sc_dsp; + unsigned long long sc_mdhi, sc_mdlo; + unsigned long sc_hi1, sc_lo1, sc_hi2, sc_lo2, sc_hi3, sc_lo3; +}; +typedef struct { + unsigned regmask, status; + unsigned long long pc; + gregset_t gregs; + fpregset_t fpregs; + unsigned ownedfp, fpc_csr, fpc_eir, used_math, dsp; + unsigned long long mdhi, mdlo; + unsigned long hi1, lo1, hi2, lo2, hi3, lo3; +} mcontext_t; +#else +typedef struct { + unsigned __mc1[2]; + unsigned long long __mc2[65]; + unsigned __mc3[5]; + unsigned long long __mc4[2]; + unsigned __mc5[6]; +} mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + size_t ss_size; + int ss_flags; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 0x10000 +#define SA_SIGINFO 8 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 + +#undef SIG_BLOCK +#undef SIG_UNBLOCK +#undef SIG_SETMASK +#define SIG_BLOCK 1 +#define SIG_UNBLOCK 2 +#define SIG_SETMASK 3 + +#undef SI_ASYNCIO +#undef SI_MESGQ +#undef SI_TIMER +#define SI_ASYNCIO (-2) +#define SI_MESGQ (-4) +#define SI_TIMER (-3) + +#define __SI_SWAP_ERRNO_CODE + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGEMT 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGBUS 10 +#define SIGSEGV 11 +#define SIGSYS 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGUSR1 16 +#define SIGUSR2 17 +#define SIGCHLD 18 +#define SIGPWR 19 +#define SIGWINCH 20 +#define SIGURG 21 +#define SIGIO 22 +#define SIGPOLL SIGIO +#define SIGSTOP 23 +#define SIGTSTP 24 +#define SIGCONT 25 +#define SIGTTIN 26 +#define SIGTTOU 27 +#define SIGVTALRM 28 +#define SIGPROF 29 +#define SIGXCPU 30 +#define SIGXFSZ 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 128 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/socket.h new file mode 100644 index 00000000..751f71fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/socket.h @@ -0,0 +1,35 @@ +#define SOCK_STREAM 2 +#define SOCK_DGRAM 1 + +#define SOL_SOCKET 65535 + +#define SO_DEBUG 1 + +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 +#define SO_REUSEPORT 0x0200 +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 +#define SO_ACCEPTCONN 0x1009 +#define SO_PROTOCOL 0x1028 +#define SO_DOMAIN 0x1029 + +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_BSDCOMPAT 14 +#define SO_PASSCRED 17 +#define SO_PEERCRED 18 +#define SO_PEERSEC 30 +#define SO_SNDBUFFORCE 31 +#define SO_RCVBUFFORCE 33 + +#define SOCK_NONBLOCK 0200 +#define SOCK_CLOEXEC 02000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stat.h new file mode 100644 index 00000000..f247f698 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stat.h @@ -0,0 +1,26 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + +struct stat { + dev_t st_dev; + long __st_padding1[2]; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + long __st_padding2[2]; + off_t st_size; + struct { + long tv_sec; + long tv_nsec; + } __st_atim32, __st_mtim32, __st_ctim32; + blksize_t st_blksize; + long __st_padding3; + blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + long __st_padding4[2]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/statfs.h new file mode 100644 index 00000000..8fdd34ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/statfs.h @@ -0,0 +1,8 @@ +struct statfs { + unsigned long f_type, f_bsize, f_frsize; + fsblkcnt_t f_blocks, f_bfree; + fsfilcnt_t f_files, f_ffree; + fsblkcnt_t f_bavail; + fsid_t f_fsid; + unsigned long f_namelen, f_flags, f_spare[5]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/syscall.h new file mode 100644 index 00000000..968aeabd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/syscall.h @@ -0,0 +1,851 @@ +#define __NR_syscall 4000 +#define __NR_exit 4001 +#define __NR_fork 4002 +#define __NR_read 4003 +#define __NR_write 4004 +#define __NR_open 4005 +#define __NR_close 4006 +#define __NR_waitpid 4007 +#define __NR_creat 4008 +#define __NR_link 4009 +#define __NR_unlink 4010 +#define __NR_execve 4011 +#define __NR_chdir 4012 +#define __NR_time 4013 +#define __NR_mknod 4014 +#define __NR_chmod 4015 +#define __NR_lchown 4016 +#define __NR_break 4017 +#define __NR_unused18 4018 +#define __NR_lseek 4019 +#define __NR_getpid 4020 +#define __NR_mount 4021 +#define __NR_umount 4022 +#define __NR_setuid 4023 +#define __NR_getuid 4024 +#define __NR_stime 4025 +#define __NR_ptrace 4026 +#define __NR_alarm 4027 +#define __NR_unused28 4028 +#define __NR_pause 4029 +#define __NR_utime 4030 +#define __NR_stty 4031 +#define __NR_gtty 4032 +#define __NR_access 4033 +#define __NR_nice 4034 +#define __NR_ftime 4035 +#define __NR_sync 4036 +#define __NR_kill 4037 +#define __NR_rename 4038 +#define __NR_mkdir 4039 +#define __NR_rmdir 4040 +#define __NR_dup 4041 +#define __NR_pipe 4042 +#define __NR_times 4043 +#define __NR_prof 4044 +#define __NR_brk 4045 +#define __NR_setgid 4046 +#define __NR_getgid 4047 +#define __NR_signal 4048 +#define __NR_geteuid 4049 +#define __NR_getegid 4050 +#define __NR_acct 4051 +#define __NR_umount2 4052 +#define __NR_lock 4053 +#define __NR_ioctl 4054 +#define __NR_fcntl 4055 +#define __NR_mpx 4056 +#define __NR_setpgid 4057 +#define __NR_ulimit 4058 +#define __NR_unused59 4059 +#define __NR_umask 4060 +#define __NR_chroot 4061 +#define __NR_ustat 4062 +#define __NR_dup2 4063 +#define __NR_getppid 4064 +#define __NR_getpgrp 4065 +#define __NR_setsid 4066 +#define __NR_sigaction 4067 +#define __NR_sgetmask 4068 +#define __NR_ssetmask 4069 +#define __NR_setreuid 4070 +#define __NR_setregid 4071 +#define __NR_sigsuspend 4072 +#define __NR_sigpending 4073 +#define __NR_sethostname 4074 +#define __NR_setrlimit 4075 +#define __NR_getrlimit 4076 +#define __NR_getrusage 4077 +#define __NR_gettimeofday_time32 4078 +#define __NR_settimeofday_time32 4079 +#define __NR_getgroups 4080 +#define __NR_setgroups 4081 +#define __NR_reserved82 4082 +#define __NR_symlink 4083 +#define __NR_unused84 4084 +#define __NR_readlink 4085 +#define __NR_uselib 4086 +#define __NR_swapon 4087 +#define __NR_reboot 4088 +#define __NR_readdir 4089 +#define __NR_mmap 4090 +#define __NR_munmap 4091 +#define __NR_truncate 4092 +#define __NR_ftruncate 4093 +#define __NR_fchmod 4094 +#define __NR_fchown 4095 +#define __NR_getpriority 4096 +#define __NR_setpriority 4097 +#define __NR_profil 4098 +#define __NR_statfs 4099 +#define __NR_fstatfs 4100 +#define __NR_ioperm 4101 +#define __NR_socketcall 4102 +#define __NR_syslog 4103 +#define __NR_setitimer 4104 +#define __NR_getitimer 4105 +#define __NR_stat 4106 +#define __NR_lstat 4107 +#define __NR_fstat 4108 +#define __NR_unused109 4109 +#define __NR_iopl 4110 +#define __NR_vhangup 4111 +#define __NR_idle 4112 +#define __NR_vm86 4113 +#define __NR_wait4 4114 +#define __NR_swapoff 4115 +#define __NR_sysinfo 4116 +#define __NR_ipc 4117 +#define __NR_fsync 4118 +#define __NR_sigreturn 4119 +#define __NR_clone 4120 +#define __NR_setdomainname 4121 +#define __NR_uname 4122 +#define __NR_modify_ldt 4123 +#define __NR_adjtimex 4124 +#define __NR_mprotect 4125 +#define __NR_sigprocmask 4126 +#define __NR_create_module 4127 +#define __NR_init_module 4128 +#define __NR_delete_module 4129 +#define __NR_get_kernel_syms 4130 +#define __NR_quotactl 4131 +#define __NR_getpgid 4132 +#define __NR_fchdir 4133 +#define __NR_bdflush 4134 +#define __NR_sysfs 4135 +#define __NR_personality 4136 +#define __NR_afs_syscall 4137 +#define __NR_setfsuid 4138 +#define __NR_setfsgid 4139 +#define __NR__llseek 4140 +#define __NR_getdents 4141 +#define __NR__newselect 4142 +#define __NR_flock 4143 +#define __NR_msync 4144 +#define __NR_readv 4145 +#define __NR_writev 4146 +#define __NR_cacheflush 4147 +#define __NR_cachectl 4148 +#define __NR_sysmips 4149 +#define __NR_unused150 4150 +#define __NR_getsid 4151 +#define __NR_fdatasync 4152 +#define __NR__sysctl 4153 +#define __NR_mlock 4154 +#define __NR_munlock 4155 +#define __NR_mlockall 4156 +#define __NR_munlockall 4157 +#define __NR_sched_setparam 4158 +#define __NR_sched_getparam 4159 +#define __NR_sched_setscheduler 4160 +#define __NR_sched_getscheduler 4161 +#define __NR_sched_yield 4162 +#define __NR_sched_get_priority_max 4163 +#define __NR_sched_get_priority_min 4164 +#define __NR_sched_rr_get_interval 4165 +#define __NR_nanosleep 4166 +#define __NR_mremap 4167 +#define __NR_accept 4168 +#define __NR_bind 4169 +#define __NR_connect 4170 +#define __NR_getpeername 4171 +#define __NR_getsockname 4172 +#define __NR_getsockopt 4173 +#define __NR_listen 4174 +#define __NR_recv 4175 +#define __NR_recvfrom 4176 +#define __NR_recvmsg 4177 +#define __NR_send 4178 +#define __NR_sendmsg 4179 +#define __NR_sendto 4180 +#define __NR_setsockopt 4181 +#define __NR_shutdown 4182 +#define __NR_socket 4183 +#define __NR_socketpair 4184 +#define __NR_setresuid 4185 +#define __NR_getresuid 4186 +#define __NR_query_module 4187 +#define __NR_poll 4188 +#define __NR_nfsservctl 4189 +#define __NR_setresgid 4190 +#define __NR_getresgid 4191 +#define __NR_prctl 4192 +#define __NR_rt_sigreturn 4193 +#define __NR_rt_sigaction 4194 +#define __NR_rt_sigprocmask 4195 +#define __NR_rt_sigpending 4196 +#define __NR_rt_sigtimedwait 4197 +#define __NR_rt_sigqueueinfo 4198 +#define __NR_rt_sigsuspend 4199 +#define __NR_pread64 4200 +#define __NR_pwrite64 4201 +#define __NR_chown 4202 +#define __NR_getcwd 4203 +#define __NR_capget 4204 +#define __NR_capset 4205 +#define __NR_sigaltstack 4206 +#define __NR_sendfile 4207 +#define __NR_getpmsg 4208 +#define __NR_putpmsg 4209 +#define __NR_mmap2 4210 +#define __NR_truncate64 4211 +#define __NR_ftruncate64 4212 +#define __NR_stat64 4213 +#define __NR_lstat64 4214 +#define __NR_fstat64 4215 +#define __NR_pivot_root 4216 +#define __NR_mincore 4217 +#define __NR_madvise 4218 +#define __NR_getdents64 4219 +#define __NR_fcntl64 4220 +#define __NR_reserved221 4221 +#define __NR_gettid 4222 +#define __NR_readahead 4223 +#define __NR_setxattr 4224 +#define __NR_lsetxattr 4225 +#define __NR_fsetxattr 4226 +#define __NR_getxattr 4227 +#define __NR_lgetxattr 4228 +#define __NR_fgetxattr 4229 +#define __NR_listxattr 4230 +#define __NR_llistxattr 4231 +#define __NR_flistxattr 4232 +#define __NR_removexattr 4233 +#define __NR_lremovexattr 4234 +#define __NR_fremovexattr 4235 +#define __NR_tkill 4236 +#define __NR_sendfile64 4237 +#define __NR_futex 4238 +#define __NR_sched_setaffinity 4239 +#define __NR_sched_getaffinity 4240 +#define __NR_io_setup 4241 +#define __NR_io_destroy 4242 +#define __NR_io_getevents 4243 +#define __NR_io_submit 4244 +#define __NR_io_cancel 4245 +#define __NR_exit_group 4246 +#define __NR_lookup_dcookie 4247 +#define __NR_epoll_create 4248 +#define __NR_epoll_ctl 4249 +#define __NR_epoll_wait 4250 +#define __NR_remap_file_pages 4251 +#define __NR_set_tid_address 4252 +#define __NR_restart_syscall 4253 +#define __NR_fadvise64 4254 +#define __NR_statfs64 4255 +#define __NR_fstatfs64 4256 +#define __NR_timer_create 4257 +#define __NR_timer_settime32 4258 +#define __NR_timer_gettime32 4259 +#define __NR_timer_getoverrun 4260 +#define __NR_timer_delete 4261 +#define __NR_clock_settime32 4262 +#define __NR_clock_gettime32 4263 +#define __NR_clock_getres_time32 4264 +#define __NR_clock_nanosleep_time32 4265 +#define __NR_tgkill 4266 +#define __NR_utimes 4267 +#define __NR_mbind 4268 +#define __NR_get_mempolicy 4269 +#define __NR_set_mempolicy 4270 +#define __NR_mq_open 4271 +#define __NR_mq_unlink 4272 +#define __NR_mq_timedsend 4273 +#define __NR_mq_timedreceive 4274 +#define __NR_mq_notify 4275 +#define __NR_mq_getsetattr 4276 +#define __NR_vserver 4277 +#define __NR_waitid 4278 +#define __NR_add_key 4280 +#define __NR_request_key 4281 +#define __NR_keyctl 4282 +#define __NR_set_thread_area 4283 +#define __NR_inotify_init 4284 +#define __NR_inotify_add_watch 4285 +#define __NR_inotify_rm_watch 4286 +#define __NR_migrate_pages 4287 +#define __NR_openat 4288 +#define __NR_mkdirat 4289 +#define __NR_mknodat 4290 +#define __NR_fchownat 4291 +#define __NR_futimesat 4292 +#define __NR_fstatat64 4293 +#define __NR_unlinkat 4294 +#define __NR_renameat 4295 +#define __NR_linkat 4296 +#define __NR_symlinkat 4297 +#define __NR_readlinkat 4298 +#define __NR_fchmodat 4299 +#define __NR_faccessat 4300 +#define __NR_pselect6 4301 +#define __NR_ppoll 4302 +#define __NR_unshare 4303 +#define __NR_splice 4304 +#define __NR_sync_file_range 4305 +#define __NR_tee 4306 +#define __NR_vmsplice 4307 +#define __NR_move_pages 4308 +#define __NR_set_robust_list 4309 +#define __NR_get_robust_list 4310 +#define __NR_kexec_load 4311 +#define __NR_getcpu 4312 +#define __NR_epoll_pwait 4313 +#define __NR_ioprio_set 4314 +#define __NR_ioprio_get 4315 +#define __NR_utimensat 4316 +#define __NR_signalfd 4317 +#define __NR_timerfd 4318 +#define __NR_eventfd 4319 +#define __NR_fallocate 4320 +#define __NR_timerfd_create 4321 +#define __NR_timerfd_gettime32 4322 +#define __NR_timerfd_settime32 4323 +#define __NR_signalfd4 4324 +#define __NR_eventfd2 4325 +#define __NR_epoll_create1 4326 +#define __NR_dup3 4327 +#define __NR_pipe2 4328 +#define __NR_inotify_init1 4329 +#define __NR_preadv 4330 +#define __NR_pwritev 4331 +#define __NR_rt_tgsigqueueinfo 4332 +#define __NR_perf_event_open 4333 +#define __NR_accept4 4334 +#define __NR_recvmmsg 4335 +#define __NR_fanotify_init 4336 +#define __NR_fanotify_mark 4337 +#define __NR_prlimit64 4338 +#define __NR_name_to_handle_at 4339 +#define __NR_open_by_handle_at 4340 +#define __NR_clock_adjtime 4341 +#define __NR_syncfs 4342 +#define __NR_sendmmsg 4343 +#define __NR_setns 4344 +#define __NR_process_vm_readv 4345 +#define __NR_process_vm_writev 4346 +#define __NR_kcmp 4347 +#define __NR_finit_module 4348 +#define __NR_sched_setattr 4349 +#define __NR_sched_getattr 4350 +#define __NR_renameat2 4351 +#define __NR_seccomp 4352 +#define __NR_getrandom 4353 +#define __NR_memfd_create 4354 +#define __NR_bpf 4355 +#define __NR_execveat 4356 +#define __NR_userfaultfd 4357 +#define __NR_membarrier 4358 +#define __NR_mlock2 4359 +#define __NR_copy_file_range 4360 +#define __NR_preadv2 4361 +#define __NR_pwritev2 4362 +#define __NR_pkey_mprotect 4363 +#define __NR_pkey_alloc 4364 +#define __NR_pkey_free 4365 +#define __NR_statx 4366 +#define __NR_rseq 4367 +#define __NR_io_pgetevents 4368 +#define __NR_semget 4393 +#define __NR_semctl 4394 +#define __NR_shmget 4395 +#define __NR_shmctl 4396 +#define __NR_shmat 4397 +#define __NR_shmdt 4398 +#define __NR_msgget 4399 +#define __NR_msgsnd 4400 +#define __NR_msgrcv 4401 +#define __NR_msgctl 4402 +#define __NR_clock_gettime64 4403 +#define __NR_clock_settime64 4404 +#define __NR_clock_adjtime64 4405 +#define __NR_clock_getres_time64 4406 +#define __NR_clock_nanosleep_time64 4407 +#define __NR_timer_gettime64 4408 +#define __NR_timer_settime64 4409 +#define __NR_timerfd_gettime64 4410 +#define __NR_timerfd_settime64 4411 +#define __NR_utimensat_time64 4412 +#define __NR_pselect6_time64 4413 +#define __NR_ppoll_time64 4414 +#define __NR_io_pgetevents_time64 4416 +#define __NR_recvmmsg_time64 4417 +#define __NR_mq_timedsend_time64 4418 +#define __NR_mq_timedreceive_time64 4419 +#define __NR_semtimedop_time64 4420 +#define __NR_rt_sigtimedwait_time64 4421 +#define __NR_futex_time64 4422 +#define __NR_sched_rr_get_interval_time64 4423 +#define __NR_pidfd_send_signal 4424 +#define __NR_io_uring_setup 4425 +#define __NR_io_uring_enter 4426 +#define __NR_io_uring_register 4427 +#define __NR_open_tree 4428 +#define __NR_move_mount 4429 +#define __NR_fsopen 4430 +#define __NR_fsconfig 4431 +#define __NR_fsmount 4432 +#define __NR_fspick 4433 +#define __NR_pidfd_open 4434 +#define __NR_clone3 4435 +#define __NR_close_range 4436 +#define __NR_openat2 4437 +#define __NR_pidfd_getfd 4438 +#define __NR_faccessat2 4439 +#define __NR_process_madvise 4440 +#define __NR_epoll_pwait2 4441 +#define __NR_mount_setattr 4442 +#define __NR_landlock_create_ruleset 4444 +#define __NR_landlock_add_rule 4445 +#define __NR_landlock_restrict_self 4446 +#define __NR_process_mrelease 4448 +#define __NR_futex_waitv 4449 +#define __NR_set_mempolicy_home_node 4450 +#define __NR_cachestat 4451 +#define __NR_fchmodat2 4452 + +#define SYS_syscall 4000 +#define SYS_exit 4001 +#define SYS_fork 4002 +#define SYS_read 4003 +#define SYS_write 4004 +#define SYS_open 4005 +#define SYS_close 4006 +#define SYS_waitpid 4007 +#define SYS_creat 4008 +#define SYS_link 4009 +#define SYS_unlink 4010 +#define SYS_execve 4011 +#define SYS_chdir 4012 +#define SYS_time 4013 +#define SYS_mknod 4014 +#define SYS_chmod 4015 +#define SYS_lchown 4016 +#define SYS_break 4017 +#define SYS_unused18 4018 +#define SYS_lseek 4019 +#define SYS_getpid 4020 +#define SYS_mount 4021 +#define SYS_umount 4022 +#define SYS_setuid 4023 +#define SYS_getuid 4024 +#define SYS_stime 4025 +#define SYS_ptrace 4026 +#define SYS_alarm 4027 +#define SYS_unused28 4028 +#define SYS_pause 4029 +#define SYS_utime 4030 +#define SYS_stty 4031 +#define SYS_gtty 4032 +#define SYS_access 4033 +#define SYS_nice 4034 +#define SYS_ftime 4035 +#define SYS_sync 4036 +#define SYS_kill 4037 +#define SYS_rename 4038 +#define SYS_mkdir 4039 +#define SYS_rmdir 4040 +#define SYS_dup 4041 +#define SYS_pipe 4042 +#define SYS_times 4043 +#define SYS_prof 4044 +#define SYS_brk 4045 +#define SYS_setgid 4046 +#define SYS_getgid 4047 +#define SYS_signal 4048 +#define SYS_geteuid 4049 +#define SYS_getegid 4050 +#define SYS_acct 4051 +#define SYS_umount2 4052 +#define SYS_lock 4053 +#define SYS_ioctl 4054 +#define SYS_fcntl 4055 +#define SYS_mpx 4056 +#define SYS_setpgid 4057 +#define SYS_ulimit 4058 +#define SYS_unused59 4059 +#define SYS_umask 4060 +#define SYS_chroot 4061 +#define SYS_ustat 4062 +#define SYS_dup2 4063 +#define SYS_getppid 4064 +#define SYS_getpgrp 4065 +#define SYS_setsid 4066 +#define SYS_sigaction 4067 +#define SYS_sgetmask 4068 +#define SYS_ssetmask 4069 +#define SYS_setreuid 4070 +#define SYS_setregid 4071 +#define SYS_sigsuspend 4072 +#define SYS_sigpending 4073 +#define SYS_sethostname 4074 +#define SYS_setrlimit 4075 +#define SYS_getrlimit 4076 +#define SYS_getrusage 4077 +#define SYS_gettimeofday_time32 4078 +#define SYS_settimeofday_time32 4079 +#define SYS_getgroups 4080 +#define SYS_setgroups 4081 +#define SYS_reserved82 4082 +#define SYS_symlink 4083 +#define SYS_unused84 4084 +#define SYS_readlink 4085 +#define SYS_uselib 4086 +#define SYS_swapon 4087 +#define SYS_reboot 4088 +#define SYS_readdir 4089 +#define SYS_mmap 4090 +#define SYS_munmap 4091 +#define SYS_truncate 4092 +#define SYS_ftruncate 4093 +#define SYS_fchmod 4094 +#define SYS_fchown 4095 +#define SYS_getpriority 4096 +#define SYS_setpriority 4097 +#define SYS_profil 4098 +#define SYS_statfs 4099 +#define SYS_fstatfs 4100 +#define SYS_ioperm 4101 +#define SYS_socketcall 4102 +#define SYS_syslog 4103 +#define SYS_setitimer 4104 +#define SYS_getitimer 4105 +#define SYS_stat 4106 +#define SYS_lstat 4107 +#define SYS_fstat 4108 +#define SYS_unused109 4109 +#define SYS_iopl 4110 +#define SYS_vhangup 4111 +#define SYS_idle 4112 +#define SYS_vm86 4113 +#define SYS_wait4 4114 +#define SYS_swapoff 4115 +#define SYS_sysinfo 4116 +#define SYS_ipc 4117 +#define SYS_fsync 4118 +#define SYS_sigreturn 4119 +#define SYS_clone 4120 +#define SYS_setdomainname 4121 +#define SYS_uname 4122 +#define SYS_modify_ldt 4123 +#define SYS_adjtimex 4124 +#define SYS_mprotect 4125 +#define SYS_sigprocmask 4126 +#define SYS_create_module 4127 +#define SYS_init_module 4128 +#define SYS_delete_module 4129 +#define SYS_get_kernel_syms 4130 +#define SYS_quotactl 4131 +#define SYS_getpgid 4132 +#define SYS_fchdir 4133 +#define SYS_bdflush 4134 +#define SYS_sysfs 4135 +#define SYS_personality 4136 +#define SYS_afs_syscall 4137 +#define SYS_setfsuid 4138 +#define SYS_setfsgid 4139 +#define SYS__llseek 4140 +#define SYS_getdents 4141 +#define SYS__newselect 4142 +#define SYS_flock 4143 +#define SYS_msync 4144 +#define SYS_readv 4145 +#define SYS_writev 4146 +#define SYS_cacheflush 4147 +#define SYS_cachectl 4148 +#define SYS_sysmips 4149 +#define SYS_unused150 4150 +#define SYS_getsid 4151 +#define SYS_fdatasync 4152 +#define SYS__sysctl 4153 +#define SYS_mlock 4154 +#define SYS_munlock 4155 +#define SYS_mlockall 4156 +#define SYS_munlockall 4157 +#define SYS_sched_setparam 4158 +#define SYS_sched_getparam 4159 +#define SYS_sched_setscheduler 4160 +#define SYS_sched_getscheduler 4161 +#define SYS_sched_yield 4162 +#define SYS_sched_get_priority_max 4163 +#define SYS_sched_get_priority_min 4164 +#define SYS_sched_rr_get_interval 4165 +#define SYS_nanosleep 4166 +#define SYS_mremap 4167 +#define SYS_accept 4168 +#define SYS_bind 4169 +#define SYS_connect 4170 +#define SYS_getpeername 4171 +#define SYS_getsockname 4172 +#define SYS_getsockopt 4173 +#define SYS_listen 4174 +#define SYS_recv 4175 +#define SYS_recvfrom 4176 +#define SYS_recvmsg 4177 +#define SYS_send 4178 +#define SYS_sendmsg 4179 +#define SYS_sendto 4180 +#define SYS_setsockopt 4181 +#define SYS_shutdown 4182 +#define SYS_socket 4183 +#define SYS_socketpair 4184 +#define SYS_setresuid 4185 +#define SYS_getresuid 4186 +#define SYS_query_module 4187 +#define SYS_poll 4188 +#define SYS_nfsservctl 4189 +#define SYS_setresgid 4190 +#define SYS_getresgid 4191 +#define SYS_prctl 4192 +#define SYS_rt_sigreturn 4193 +#define SYS_rt_sigaction 4194 +#define SYS_rt_sigprocmask 4195 +#define SYS_rt_sigpending 4196 +#define SYS_rt_sigtimedwait 4197 +#define SYS_rt_sigqueueinfo 4198 +#define SYS_rt_sigsuspend 4199 +#define SYS_pread64 4200 +#define SYS_pwrite64 4201 +#define SYS_chown 4202 +#define SYS_getcwd 4203 +#define SYS_capget 4204 +#define SYS_capset 4205 +#define SYS_sigaltstack 4206 +#define SYS_sendfile 4207 +#define SYS_getpmsg 4208 +#define SYS_putpmsg 4209 +#define SYS_mmap2 4210 +#define SYS_truncate64 4211 +#define SYS_ftruncate64 4212 +#define SYS_stat64 4213 +#define SYS_lstat64 4214 +#define SYS_fstat64 4215 +#define SYS_pivot_root 4216 +#define SYS_mincore 4217 +#define SYS_madvise 4218 +#define SYS_getdents64 4219 +#define SYS_fcntl64 4220 +#define SYS_reserved221 4221 +#define SYS_gettid 4222 +#define SYS_readahead 4223 +#define SYS_setxattr 4224 +#define SYS_lsetxattr 4225 +#define SYS_fsetxattr 4226 +#define SYS_getxattr 4227 +#define SYS_lgetxattr 4228 +#define SYS_fgetxattr 4229 +#define SYS_listxattr 4230 +#define SYS_llistxattr 4231 +#define SYS_flistxattr 4232 +#define SYS_removexattr 4233 +#define SYS_lremovexattr 4234 +#define SYS_fremovexattr 4235 +#define SYS_tkill 4236 +#define SYS_sendfile64 4237 +#define SYS_futex 4238 +#define SYS_sched_setaffinity 4239 +#define SYS_sched_getaffinity 4240 +#define SYS_io_setup 4241 +#define SYS_io_destroy 4242 +#define SYS_io_getevents 4243 +#define SYS_io_submit 4244 +#define SYS_io_cancel 4245 +#define SYS_exit_group 4246 +#define SYS_lookup_dcookie 4247 +#define SYS_epoll_create 4248 +#define SYS_epoll_ctl 4249 +#define SYS_epoll_wait 4250 +#define SYS_remap_file_pages 4251 +#define SYS_set_tid_address 4252 +#define SYS_restart_syscall 4253 +#define SYS_fadvise64 4254 +#define SYS_statfs64 4255 +#define SYS_fstatfs64 4256 +#define SYS_timer_create 4257 +#define SYS_timer_settime32 4258 +#define SYS_timer_gettime32 4259 +#define SYS_timer_getoverrun 4260 +#define SYS_timer_delete 4261 +#define SYS_clock_settime32 4262 +#define SYS_clock_gettime32 4263 +#define SYS_clock_getres_time32 4264 +#define SYS_clock_nanosleep_time32 4265 +#define SYS_tgkill 4266 +#define SYS_utimes 4267 +#define SYS_mbind 4268 +#define SYS_get_mempolicy 4269 +#define SYS_set_mempolicy 4270 +#define SYS_mq_open 4271 +#define SYS_mq_unlink 4272 +#define SYS_mq_timedsend 4273 +#define SYS_mq_timedreceive 4274 +#define SYS_mq_notify 4275 +#define SYS_mq_getsetattr 4276 +#define SYS_vserver 4277 +#define SYS_waitid 4278 +#define SYS_add_key 4280 +#define SYS_request_key 4281 +#define SYS_keyctl 4282 +#define SYS_set_thread_area 4283 +#define SYS_inotify_init 4284 +#define SYS_inotify_add_watch 4285 +#define SYS_inotify_rm_watch 4286 +#define SYS_migrate_pages 4287 +#define SYS_openat 4288 +#define SYS_mkdirat 4289 +#define SYS_mknodat 4290 +#define SYS_fchownat 4291 +#define SYS_futimesat 4292 +#define SYS_fstatat64 4293 +#define SYS_unlinkat 4294 +#define SYS_renameat 4295 +#define SYS_linkat 4296 +#define SYS_symlinkat 4297 +#define SYS_readlinkat 4298 +#define SYS_fchmodat 4299 +#define SYS_faccessat 4300 +#define SYS_pselect6 4301 +#define SYS_ppoll 4302 +#define SYS_unshare 4303 +#define SYS_splice 4304 +#define SYS_sync_file_range 4305 +#define SYS_tee 4306 +#define SYS_vmsplice 4307 +#define SYS_move_pages 4308 +#define SYS_set_robust_list 4309 +#define SYS_get_robust_list 4310 +#define SYS_kexec_load 4311 +#define SYS_getcpu 4312 +#define SYS_epoll_pwait 4313 +#define SYS_ioprio_set 4314 +#define SYS_ioprio_get 4315 +#define SYS_utimensat 4316 +#define SYS_signalfd 4317 +#define SYS_timerfd 4318 +#define SYS_eventfd 4319 +#define SYS_fallocate 4320 +#define SYS_timerfd_create 4321 +#define SYS_timerfd_gettime32 4322 +#define SYS_timerfd_settime32 4323 +#define SYS_signalfd4 4324 +#define SYS_eventfd2 4325 +#define SYS_epoll_create1 4326 +#define SYS_dup3 4327 +#define SYS_pipe2 4328 +#define SYS_inotify_init1 4329 +#define SYS_preadv 4330 +#define SYS_pwritev 4331 +#define SYS_rt_tgsigqueueinfo 4332 +#define SYS_perf_event_open 4333 +#define SYS_accept4 4334 +#define SYS_recvmmsg 4335 +#define SYS_fanotify_init 4336 +#define SYS_fanotify_mark 4337 +#define SYS_prlimit64 4338 +#define SYS_name_to_handle_at 4339 +#define SYS_open_by_handle_at 4340 +#define SYS_clock_adjtime 4341 +#define SYS_syncfs 4342 +#define SYS_sendmmsg 4343 +#define SYS_setns 4344 +#define SYS_process_vm_readv 4345 +#define SYS_process_vm_writev 4346 +#define SYS_kcmp 4347 +#define SYS_finit_module 4348 +#define SYS_sched_setattr 4349 +#define SYS_sched_getattr 4350 +#define SYS_renameat2 4351 +#define SYS_seccomp 4352 +#define SYS_getrandom 4353 +#define SYS_memfd_create 4354 +#define SYS_bpf 4355 +#define SYS_execveat 4356 +#define SYS_userfaultfd 4357 +#define SYS_membarrier 4358 +#define SYS_mlock2 4359 +#define SYS_copy_file_range 4360 +#define SYS_preadv2 4361 +#define SYS_pwritev2 4362 +#define SYS_pkey_mprotect 4363 +#define SYS_pkey_alloc 4364 +#define SYS_pkey_free 4365 +#define SYS_statx 4366 +#define SYS_rseq 4367 +#define SYS_io_pgetevents 4368 +#define SYS_semget 4393 +#define SYS_semctl 4394 +#define SYS_shmget 4395 +#define SYS_shmctl 4396 +#define SYS_shmat 4397 +#define SYS_shmdt 4398 +#define SYS_msgget 4399 +#define SYS_msgsnd 4400 +#define SYS_msgrcv 4401 +#define SYS_msgctl 4402 +#define SYS_clock_gettime64 4403 +#define SYS_clock_settime64 4404 +#define SYS_clock_adjtime64 4405 +#define SYS_clock_getres_time64 4406 +#define SYS_clock_nanosleep_time64 4407 +#define SYS_timer_gettime64 4408 +#define SYS_timer_settime64 4409 +#define SYS_timerfd_gettime64 4410 +#define SYS_timerfd_settime64 4411 +#define SYS_utimensat_time64 4412 +#define SYS_pselect6_time64 4413 +#define SYS_ppoll_time64 4414 +#define SYS_io_pgetevents_time64 4416 +#define SYS_recvmmsg_time64 4417 +#define SYS_mq_timedsend_time64 4418 +#define SYS_mq_timedreceive_time64 4419 +#define SYS_semtimedop_time64 4420 +#define SYS_rt_sigtimedwait_time64 4421 +#define SYS_futex_time64 4422 +#define SYS_sched_rr_get_interval_time64 4423 +#define SYS_pidfd_send_signal 4424 +#define SYS_io_uring_setup 4425 +#define SYS_io_uring_enter 4426 +#define SYS_io_uring_register 4427 +#define SYS_open_tree 4428 +#define SYS_move_mount 4429 +#define SYS_fsopen 4430 +#define SYS_fsconfig 4431 +#define SYS_fsmount 4432 +#define SYS_fspick 4433 +#define SYS_pidfd_open 4434 +#define SYS_clone3 4435 +#define SYS_close_range 4436 +#define SYS_openat2 4437 +#define SYS_pidfd_getfd 4438 +#define SYS_faccessat2 4439 +#define SYS_process_madvise 4440 +#define SYS_epoll_pwait2 4441 +#define SYS_mount_setattr 4442 +#define SYS_landlock_create_ruleset 4444 +#define SYS_landlock_add_rule 4445 +#define SYS_landlock_restrict_self 4446 +#define SYS_process_mrelease 4448 +#define SYS_futex_waitv 4449 +#define SYS_set_mempolicy_home_node 4450 +#define SYS_cachestat 4451 +#define SYS_fchmodat2 4452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/termios.h new file mode 100644 index 00000000..0940ce20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/termios.h @@ -0,0 +1,169 @@ +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VMIN 4 +#define VTIME 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSWTCH 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOF 16 +#define VEOL 17 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define FFDLY 0100000 +#define FF0 0000000 +#define FF1 0100000 +#endif + +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 + +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 + +#define ISIG 0000001 +#define ICANON 0000002 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define IEXTEN 0000400 +#define TOSTOP 0100000 +#define ITOSTOP 0100000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 0010017 +#define CBAUDEX 0010000 +#define CIBAUD 002003600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0000004 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0020000 +#define PENDIN 0040000 +#define EXTPROC 0200000 + +#define XTABS 0014000 +#define TIOCSER_TEMT 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/user.h new file mode 100644 index 00000000..a76e81c9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips-linux-musl/bits/user.h @@ -0,0 +1,13 @@ +struct user { + unsigned long regs[45+64]; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long start_code, start_data, start_stack; + long signal; + void *u_ar0; + unsigned long magic; + char u_comm[32]; +}; +#define ELF_NGREG 45 +#define ELF_NFPREG 33 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabi64/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-gnuabin32/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..4ab49779 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/alltypes.h @@ -0,0 +1,413 @@ +#define _Addr long +#define _Int64 long +#define _Reg long + +#if _MIPSEL || __MIPSEL || __MIPSEL__ +#define __BYTE_ORDER 1234 +#else +#define __BYTE_ORDER 4321 +#endif + +#define __LONG_MAX 0x7fffffffffffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned nlink_t; +#define __DEFINED_nlink_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/errno.h new file mode 100644 index 00000000..54adcccf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define ENOMSG 35 +#define EIDRM 36 +#define ECHRNG 37 +#define EL2NSYNC 38 +#define EL3HLT 39 +#define EL3RST 40 +#define ELNRNG 41 +#define EUNATCH 42 +#define ENOCSI 43 +#define EL2HLT 44 +#define EDEADLK 45 +#define ENOLCK 46 +#define EBADE 50 +#define EBADR 51 +#define EXFULL 52 +#define ENOANO 53 +#define EBADRQC 54 +#define EBADSLT 55 +#define EDEADLOCK 56 +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EDOTDOT 73 +#define EMULTIHOP 74 +#define EBADMSG 77 +#define ENAMETOOLONG 78 +#define EOVERFLOW 79 +#define ENOTUNIQ 80 +#define EBADFD 81 +#define EREMCHG 82 +#define ELIBACC 83 +#define ELIBBAD 84 +#define ELIBSCN 85 +#define ELIBMAX 86 +#define ELIBEXEC 87 +#define EILSEQ 88 +#define ENOSYS 89 +#define ELOOP 90 +#define ERESTART 91 +#define ESTRPIPE 92 +#define ENOTEMPTY 93 +#define EUSERS 94 +#define ENOTSOCK 95 +#define EDESTADDRREQ 96 +#define EMSGSIZE 97 +#define EPROTOTYPE 98 +#define ENOPROTOOPT 99 +#define EPROTONOSUPPORT 120 +#define ESOCKTNOSUPPORT 121 +#define EOPNOTSUPP 122 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 123 +#define EAFNOSUPPORT 124 +#define EADDRINUSE 125 +#define EADDRNOTAVAIL 126 +#define ENETDOWN 127 +#define ENETUNREACH 128 +#define ENETRESET 129 +#define ECONNABORTED 130 +#define ECONNRESET 131 +#define ENOBUFS 132 +#define EISCONN 133 +#define ENOTCONN 134 +#define EUCLEAN 135 +#define ENOTNAM 137 +#define ENAVAIL 138 +#define EISNAM 139 +#define EREMOTEIO 140 +#define ESHUTDOWN 143 +#define ETOOMANYREFS 144 +#define ETIMEDOUT 145 +#define ECONNREFUSED 146 +#define EHOSTDOWN 147 +#define EHOSTUNREACH 148 +#define EWOULDBLOCK EAGAIN +#define EALREADY 149 +#define EINPROGRESS 150 +#define ESTALE 151 +#define ECANCELED 158 +#define ENOMEDIUM 159 +#define EMEDIUMTYPE 160 +#define ENOKEY 161 +#define EKEYEXPIRED 162 +#define EKEYREVOKED 163 +#define EKEYREJECTED 164 +#define EOWNERDEAD 165 +#define ENOTRECOVERABLE 166 +#define ERFKILL 167 +#define EHWPOISON 168 +#define EDQUOT 1133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..cba13902 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0400 +#define O_EXCL 02000 +#define O_NOCTTY 04000 +#define O_TRUNC 01000 +#define O_APPEND 0010 +#define O_NONBLOCK 0200 +#define O_DSYNC 0020 +#define O_SYNC 040020 +#define O_RSYNC 040020 +#define O_DIRECTORY 0200000 +#define O_NOFOLLOW 0400000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 010000 +#define O_DIRECT 0100000 +#define O_LARGEFILE 020000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 24 +#define F_GETOWN 23 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 14 +#define F_SETLK 6 +#define F_SETLKW 7 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fenv.h new file mode 100644 index 00000000..38799ccf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/fenv.h @@ -0,0 +1,25 @@ +#ifdef __mips_soft_float +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 +#else +#define FE_INEXACT 4 +#define FE_UNDERFLOW 8 +#define FE_OVERFLOW 16 +#define FE_DIVBYZERO 32 +#define FE_INVALID 64 + +#define FE_ALL_EXCEPT 124 + +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 +#endif + +typedef unsigned short fexcept_t; + +typedef struct { + unsigned __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..0cc1faa9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/hwcap.h @@ -0,0 +1,3 @@ +#define HWCAP_MIPS_R6 (1 << 0) +#define HWCAP_MIPS_MSA (1 << 1) +#define HWCAP_MIPS_CRC32 (1 << 2) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ioctl.h new file mode 100644 index 00000000..ce20d2e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ioctl.h @@ -0,0 +1,114 @@ +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define TCGETA 0x5401 +#define TCSETA 0x5402 +#define TCSETAW 0x5403 +#define TCSETAF 0x5404 +#define TCSBRK 0x5405 +#define TCXONC 0x5406 +#define TCFLSH 0x5407 +#define TCGETS 0x540D +#define TCSETS 0x540E +#define TCSETSW 0x540F +#define TCSETSF 0x5410 + +#define TIOCEXCL 0x740D +#define TIOCNXCL 0x740E +#define TIOCOUTQ 0x7472 +#define TIOCSTI 0x5472 +#define TIOCMGET 0x741D +#define TIOCMBIS 0x741B +#define TIOCMBIC 0x741C +#define TIOCMSET 0x741A + +#define TIOCPKT 0x5470 +#define TIOCSWINSZ _IOW('t', 103, struct winsize) +#define TIOCGWINSZ _IOR('t', 104, struct winsize) +#define TIOCNOTTY 0x5471 +#define TIOCSETD 0x7401 +#define TIOCGETD 0x7400 + +#define FIOCLEX 0x6601 +#define FIONCLEX 0x6602 +#define FIOASYNC 0x667D +#define FIONBIO 0x667E +#define FIOQSIZE 0x667F + +#define TIOCGLTC 0x7474 +#define TIOCSLTC 0x7475 +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) +#define TIOCCONS _IOW('t', 120, int) + +#define FIONREAD 0x467F +#define TIOCINQ FIONREAD + +#define TIOCGETP 0x7408 +#define TIOCSETP 0x7409 +#define TIOCSETN 0x740A + +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x7416 +#define TIOCGRS485 _IOR('T', 0x2E, char[32]) +#define TIOCSRS485 _IOWR('T', 0x2F, char[32]) +#define TIOCGPTN _IOR('T', 0x30, unsigned int) +#define TIOCSPTLCK _IOW('T', 0x31, int) +#define TIOCGDEV _IOR('T', 0x32, unsigned int) +#define TIOCSIG _IOW('T', 0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) + +#define TIOCSCTTY 0x5480 +#define TIOCGSOFTCAR 0x5481 +#define TIOCSSOFTCAR 0x5482 +#define TIOCLINUX 0x5483 +#define TIOCGSERIAL 0x5484 +#define TIOCSSERIAL 0x5485 +#define TCSBRKP 0x5486 + +#define TIOCSERCONFIG 0x5488 +#define TIOCSERGWILD 0x5489 +#define TIOCSERSWILD 0x548A +#define TIOCGLCKTRMIOS 0x548B +#define TIOCSLCKTRMIOS 0x548C +#define TIOCSERGSTRUCT 0x548D +#define TIOCSERGETLSR 0x548E +#define TIOCSERGETMULTI 0x548F +#define TIOCSERSETMULTI 0x5490 +#define TIOCMIWAIT 0x5491 +#define TIOCGICOUNT 0x5492 + +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x010 +#define TIOCM_SR 0x020 +#define TIOCM_CTS 0x040 +#define TIOCM_CAR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define FIOGETOWN _IOR('f', 123, int) +#define FIOSETOWN _IOW('f', 124, int) +#define SIOCATMARK _IOR('s', 7, int) +#define SIOCSPGRP _IOW('s', 8, pid_t) +#define SIOCGPGRP _IOR('s', 9, pid_t) +#define SIOCGSTAMP 0x8906 +#define SIOCGSTAMPNS 0x8907 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ipc.h new file mode 100644 index 00000000..bfcc76a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ipc.h @@ -0,0 +1,12 @@ +struct ipc_perm { + key_t __ipc_perm_key; + uid_t uid; + gid_t gid; + uid_t cuid; + gid_t cgid; + mode_t mode; + int __ipc_perm_seq; + int __pad1; + unsigned long __unused1; + unsigned long __unused2; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/mman.h new file mode 100644 index 00000000..54231d15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/mman.h @@ -0,0 +1,25 @@ +#undef MAP_ANON +#define MAP_ANON 0x800 +#undef MAP_NORESERVE +#define MAP_NORESERVE 0x0400 +#undef MAP_GROWSDOWN +#define MAP_GROWSDOWN 0x1000 +#undef MAP_DENYWRITE +#define MAP_DENYWRITE 0x2000 +#undef MAP_EXECUTABLE +#define MAP_EXECUTABLE 0x4000 +#undef MAP_LOCKED +#define MAP_LOCKED 0x8000 +#undef MAP_POPULATE +#define MAP_POPULATE 0x10000 +#undef MAP_NONBLOCK +#define MAP_NONBLOCK 0x20000 +#undef MAP_STACK +#define MAP_STACK 0x40000 +#undef MAP_HUGETLB +#define MAP_HUGETLB 0x80000 +#undef MAP_SYNC + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#undef MADV_SOFT_OFFLINE +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/poll.h new file mode 100644 index 00000000..cefdd9be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/poll.h @@ -0,0 +1,2 @@ +#define POLLWRNORM POLLOUT +#define POLLWRBAND 0x100 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/posix.h new file mode 100644 index 00000000..a463a878 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_LP64_OFFBIG 1 +#define _POSIX_V7_LP64_OFFBIG 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..275462de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/ptrace.h @@ -0,0 +1,9 @@ +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 +#define PTRACE_PEEKTEXT_3264 0xc0 +#define PTRACE_PEEKDATA_3264 0xc1 +#define PTRACE_POKETEXT_3264 0xc2 +#define PTRACE_POKEDATA_3264 0xc3 +#define PTRACE_GET_THREAD_AREA_3264 0xc4 +#define PTRACE_GET_WATCH_REGS 0xd0 +#define PTRACE_SET_WATCH_REGS 0xd1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/reg.h new file mode 100644 index 00000000..e40c44d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/reg.h @@ -0,0 +1,47 @@ +#undef __WORDSIZE +#define __WORDSIZE 64 + +#define EF_R0 0 +#define EF_R1 1 +#define EF_R2 2 +#define EF_R3 3 +#define EF_R4 4 +#define EF_R5 5 +#define EF_R6 6 +#define EF_R7 7 +#define EF_R8 8 +#define EF_R9 9 +#define EF_R10 10 +#define EF_R11 11 +#define EF_R12 12 +#define EF_R13 13 +#define EF_R14 14 +#define EF_R15 15 +#define EF_R16 16 +#define EF_R17 17 +#define EF_R18 18 +#define EF_R19 19 +#define EF_R20 20 +#define EF_R21 21 +#define EF_R22 22 +#define EF_R23 23 +#define EF_R24 24 +#define EF_R25 25 + +#define EF_R26 26 +#define EF_R27 27 +#define EF_R28 28 +#define EF_R29 29 +#define EF_R30 30 +#define EF_R31 31 + +#define EF_LO 32 +#define EF_HI 33 + +#define EF_CP0_EPC 34 +#define EF_CP0_BADVADDR 35 +#define EF_CP0_STATUS 36 +#define EF_CP0_CAUSE 37 +#define EF_UNUSED0 38 + +#define EF_SIZE 304 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/resource.h new file mode 100644 index 00000000..ef7ada7c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/resource.h @@ -0,0 +1,5 @@ +#define RLIMIT_NOFILE 5 +#define RLIMIT_AS 6 +#define RLIMIT_RSS 7 +#define RLIMIT_NPROC 8 +#define RLIMIT_MEMLOCK 9 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..a7cb9dbc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[23]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/signal.h new file mode 100644 index 00000000..475aae6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/signal.h @@ -0,0 +1,142 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long long greg_t, gregset_t[32]; + +typedef struct { + union { + double fp_dregs[32]; + struct { + float _fp_fregs; + unsigned _fp_pad; + } fp_fregs[32]; + } fp_r; +} fpregset_t; + +struct sigcontext { + unsigned long long sc_regs[32]; + unsigned long long sc_fpregs[32]; + unsigned long long sc_mdhi; + unsigned long long sc_hi1; + unsigned long long sc_hi2; + unsigned long long sc_hi3; + unsigned long long sc_mdlo; + unsigned long long sc_lo1; + unsigned long long sc_lo2; + unsigned long long sc_lo3; + unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +typedef struct { + gregset_t gregs; + fpregset_t fpregs; + greg_t mdhi; + greg_t hi1; + greg_t hi2; + greg_t hi3; + greg_t mdlo; + greg_t lo1; + greg_t lo2; + greg_t lo3; + greg_t pc; + unsigned int fpc_csr; + unsigned int used_math; + unsigned int dsp; + unsigned int reserved; +} mcontext_t; + +#else +typedef struct { + unsigned long long __mc1[32]; + double __mc2[32]; + unsigned long long __mc3[9]; + unsigned __mc4[4]; +} mcontext_t; +#endif + +struct sigaltstack { + void *ss_sp; + size_t ss_size; + int ss_flags; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 0x10000 +#define SA_SIGINFO 8 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 + +#undef SIG_BLOCK +#undef SIG_UNBLOCK +#undef SIG_SETMASK +#define SIG_BLOCK 1 +#define SIG_UNBLOCK 2 +#define SIG_SETMASK 3 + +#undef SI_ASYNCIO +#undef SI_MESGQ +#undef SI_TIMER +#define SI_ASYNCIO (-2) +#define SI_MESGQ (-4) +#define SI_TIMER (-3) + +#define __SI_SWAP_ERRNO_CODE + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGEMT 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGBUS 10 +#define SIGSEGV 11 +#define SIGSYS 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGUSR1 16 +#define SIGUSR2 17 +#define SIGCHLD 18 +#define SIGPWR 19 +#define SIGWINCH 20 +#define SIGURG 21 +#define SIGIO 22 +#define SIGPOLL SIGIO +#define SIGSTOP 23 +#define SIGTSTP 24 +#define SIGCONT 25 +#define SIGTTIN 26 +#define SIGTTOU 27 +#define SIGVTALRM 28 +#define SIGPROF 29 +#define SIGXCPU 30 +#define SIGXFSZ 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 128 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/socket.h new file mode 100644 index 00000000..42070845 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/socket.h @@ -0,0 +1,35 @@ +#define SOCK_STREAM 2 +#define SOCK_DGRAM 1 +#define SOL_SOCKET 65535 +#define SO_DEBUG 1 + +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 +#define SO_REUSEPORT 0x0200 +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_RCVTIMEO 0x1006 +#define SO_SNDTIMEO 0x1005 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 +#define SO_ACCEPTCONN 0x1009 +#define SO_PROTOCOL 0x1028 +#define SO_DOMAIN 0x1029 + +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_BSDCOMPAT 14 +#define SO_PASSCRED 17 +#define SO_PEERCRED 18 +#define SO_PEERSEC 30 +#define SO_SNDBUFFORCE 31 +#define SO_RCVBUFFORCE 33 + +#define SOCK_NONBLOCK 0200 +#define SOCK_CLOEXEC 02000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stat.h new file mode 100644 index 00000000..d464618b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stat.h @@ -0,0 +1,20 @@ +struct stat { + dev_t st_dev; + int __pad1[3]; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + unsigned int __pad2[2]; + off_t st_size; + int __pad3; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + blksize_t st_blksize; + unsigned int __pad4; + blkcnt_t st_blocks; + int __pad5[14]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/statfs.h new file mode 100644 index 00000000..8fdd34ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/statfs.h @@ -0,0 +1,8 @@ +struct statfs { + unsigned long f_type, f_bsize, f_frsize; + fsblkcnt_t f_blocks, f_bfree; + fsfilcnt_t f_files, f_ffree; + fsblkcnt_t f_bavail; + fsid_t f_fsid; + unsigned long f_namelen, f_flags, f_spare[5]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stdint.h new file mode 100644 index 00000000..02714d73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/syscall.h new file mode 100644 index 00000000..b1f66b34 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/syscall.h @@ -0,0 +1,711 @@ +#define __NR_read 5000 +#define __NR_write 5001 +#define __NR_open 5002 +#define __NR_close 5003 +#define __NR_stat 5004 +#define __NR_fstat 5005 +#define __NR_lstat 5006 +#define __NR_poll 5007 +#define __NR_lseek 5008 +#define __NR_mmap 5009 +#define __NR_mprotect 5010 +#define __NR_munmap 5011 +#define __NR_brk 5012 +#define __NR_rt_sigaction 5013 +#define __NR_rt_sigprocmask 5014 +#define __NR_ioctl 5015 +#define __NR_pread64 5016 +#define __NR_pwrite64 5017 +#define __NR_readv 5018 +#define __NR_writev 5019 +#define __NR_access 5020 +#define __NR_pipe 5021 +#define __NR__newselect 5022 +#define __NR_sched_yield 5023 +#define __NR_mremap 5024 +#define __NR_msync 5025 +#define __NR_mincore 5026 +#define __NR_madvise 5027 +#define __NR_shmget 5028 +#define __NR_shmat 5029 +#define __NR_shmctl 5030 +#define __NR_dup 5031 +#define __NR_dup2 5032 +#define __NR_pause 5033 +#define __NR_nanosleep 5034 +#define __NR_getitimer 5035 +#define __NR_setitimer 5036 +#define __NR_alarm 5037 +#define __NR_getpid 5038 +#define __NR_sendfile 5039 +#define __NR_socket 5040 +#define __NR_connect 5041 +#define __NR_accept 5042 +#define __NR_sendto 5043 +#define __NR_recvfrom 5044 +#define __NR_sendmsg 5045 +#define __NR_recvmsg 5046 +#define __NR_shutdown 5047 +#define __NR_bind 5048 +#define __NR_listen 5049 +#define __NR_getsockname 5050 +#define __NR_getpeername 5051 +#define __NR_socketpair 5052 +#define __NR_setsockopt 5053 +#define __NR_getsockopt 5054 +#define __NR_clone 5055 +#define __NR_fork 5056 +#define __NR_execve 5057 +#define __NR_exit 5058 +#define __NR_wait4 5059 +#define __NR_kill 5060 +#define __NR_uname 5061 +#define __NR_semget 5062 +#define __NR_semop 5063 +#define __NR_semctl 5064 +#define __NR_shmdt 5065 +#define __NR_msgget 5066 +#define __NR_msgsnd 5067 +#define __NR_msgrcv 5068 +#define __NR_msgctl 5069 +#define __NR_fcntl 5070 +#define __NR_flock 5071 +#define __NR_fsync 5072 +#define __NR_fdatasync 5073 +#define __NR_truncate 5074 +#define __NR_ftruncate 5075 +#define __NR_getdents 5076 +#define __NR_getcwd 5077 +#define __NR_chdir 5078 +#define __NR_fchdir 5079 +#define __NR_rename 5080 +#define __NR_mkdir 5081 +#define __NR_rmdir 5082 +#define __NR_creat 5083 +#define __NR_link 5084 +#define __NR_unlink 5085 +#define __NR_symlink 5086 +#define __NR_readlink 5087 +#define __NR_chmod 5088 +#define __NR_fchmod 5089 +#define __NR_chown 5090 +#define __NR_fchown 5091 +#define __NR_lchown 5092 +#define __NR_umask 5093 +#define __NR_gettimeofday 5094 +#define __NR_getrlimit 5095 +#define __NR_getrusage 5096 +#define __NR_sysinfo 5097 +#define __NR_times 5098 +#define __NR_ptrace 5099 +#define __NR_getuid 5100 +#define __NR_syslog 5101 +#define __NR_getgid 5102 +#define __NR_setuid 5103 +#define __NR_setgid 5104 +#define __NR_geteuid 5105 +#define __NR_getegid 5106 +#define __NR_setpgid 5107 +#define __NR_getppid 5108 +#define __NR_getpgrp 5109 +#define __NR_setsid 5110 +#define __NR_setreuid 5111 +#define __NR_setregid 5112 +#define __NR_getgroups 5113 +#define __NR_setgroups 5114 +#define __NR_setresuid 5115 +#define __NR_getresuid 5116 +#define __NR_setresgid 5117 +#define __NR_getresgid 5118 +#define __NR_getpgid 5119 +#define __NR_setfsuid 5120 +#define __NR_setfsgid 5121 +#define __NR_getsid 5122 +#define __NR_capget 5123 +#define __NR_capset 5124 +#define __NR_rt_sigpending 5125 +#define __NR_rt_sigtimedwait 5126 +#define __NR_rt_sigqueueinfo 5127 +#define __NR_rt_sigsuspend 5128 +#define __NR_sigaltstack 5129 +#define __NR_utime 5130 +#define __NR_mknod 5131 +#define __NR_personality 5132 +#define __NR_ustat 5133 +#define __NR_statfs 5134 +#define __NR_fstatfs 5135 +#define __NR_sysfs 5136 +#define __NR_getpriority 5137 +#define __NR_setpriority 5138 +#define __NR_sched_setparam 5139 +#define __NR_sched_getparam 5140 +#define __NR_sched_setscheduler 5141 +#define __NR_sched_getscheduler 5142 +#define __NR_sched_get_priority_max 5143 +#define __NR_sched_get_priority_min 5144 +#define __NR_sched_rr_get_interval 5145 +#define __NR_mlock 5146 +#define __NR_munlock 5147 +#define __NR_mlockall 5148 +#define __NR_munlockall 5149 +#define __NR_vhangup 5150 +#define __NR_pivot_root 5151 +#define __NR__sysctl 5152 +#define __NR_prctl 5153 +#define __NR_adjtimex 5154 +#define __NR_setrlimit 5155 +#define __NR_chroot 5156 +#define __NR_sync 5157 +#define __NR_acct 5158 +#define __NR_settimeofday 5159 +#define __NR_mount 5160 +#define __NR_umount2 5161 +#define __NR_swapon 5162 +#define __NR_swapoff 5163 +#define __NR_reboot 5164 +#define __NR_sethostname 5165 +#define __NR_setdomainname 5166 +#define __NR_create_module 5167 +#define __NR_init_module 5168 +#define __NR_delete_module 5169 +#define __NR_get_kernel_syms 5170 +#define __NR_query_module 5171 +#define __NR_quotactl 5172 +#define __NR_nfsservctl 5173 +#define __NR_getpmsg 5174 +#define __NR_putpmsg 5175 +#define __NR_afs_syscall 5176 +#define __NR_reserved177 5177 +#define __NR_gettid 5178 +#define __NR_readahead 5179 +#define __NR_setxattr 5180 +#define __NR_lsetxattr 5181 +#define __NR_fsetxattr 5182 +#define __NR_getxattr 5183 +#define __NR_lgetxattr 5184 +#define __NR_fgetxattr 5185 +#define __NR_listxattr 5186 +#define __NR_llistxattr 5187 +#define __NR_flistxattr 5188 +#define __NR_removexattr 5189 +#define __NR_lremovexattr 5190 +#define __NR_fremovexattr 5191 +#define __NR_tkill 5192 +#define __NR_reserved193 5193 +#define __NR_futex 5194 +#define __NR_sched_setaffinity 5195 +#define __NR_sched_getaffinity 5196 +#define __NR_cacheflush 5197 +#define __NR_cachectl 5198 +#define __NR_sysmips 5199 +#define __NR_io_setup 5200 +#define __NR_io_destroy 5201 +#define __NR_io_getevents 5202 +#define __NR_io_submit 5203 +#define __NR_io_cancel 5204 +#define __NR_exit_group 5205 +#define __NR_lookup_dcookie 5206 +#define __NR_epoll_create 5207 +#define __NR_epoll_ctl 5208 +#define __NR_epoll_wait 5209 +#define __NR_remap_file_pages 5210 +#define __NR_rt_sigreturn 5211 +#define __NR_set_tid_address 5212 +#define __NR_restart_syscall 5213 +#define __NR_semtimedop 5214 +#define __NR_fadvise64 5215 +#define __NR_timer_create 5216 +#define __NR_timer_settime 5217 +#define __NR_timer_gettime 5218 +#define __NR_timer_getoverrun 5219 +#define __NR_timer_delete 5220 +#define __NR_clock_settime 5221 +#define __NR_clock_gettime 5222 +#define __NR_clock_getres 5223 +#define __NR_clock_nanosleep 5224 +#define __NR_tgkill 5225 +#define __NR_utimes 5226 +#define __NR_mbind 5227 +#define __NR_get_mempolicy 5228 +#define __NR_set_mempolicy 5229 +#define __NR_mq_open 5230 +#define __NR_mq_unlink 5231 +#define __NR_mq_timedsend 5232 +#define __NR_mq_timedreceive 5233 +#define __NR_mq_notify 5234 +#define __NR_mq_getsetattr 5235 +#define __NR_vserver 5236 +#define __NR_waitid 5237 +#define __NR_add_key 5239 +#define __NR_request_key 5240 +#define __NR_keyctl 5241 +#define __NR_set_thread_area 5242 +#define __NR_inotify_init 5243 +#define __NR_inotify_add_watch 5244 +#define __NR_inotify_rm_watch 5245 +#define __NR_migrate_pages 5246 +#define __NR_openat 5247 +#define __NR_mkdirat 5248 +#define __NR_mknodat 5249 +#define __NR_fchownat 5250 +#define __NR_futimesat 5251 +#define __NR_newfstatat 5252 +#define __NR_unlinkat 5253 +#define __NR_renameat 5254 +#define __NR_linkat 5255 +#define __NR_symlinkat 5256 +#define __NR_readlinkat 5257 +#define __NR_fchmodat 5258 +#define __NR_faccessat 5259 +#define __NR_pselect6 5260 +#define __NR_ppoll 5261 +#define __NR_unshare 5262 +#define __NR_splice 5263 +#define __NR_sync_file_range 5264 +#define __NR_tee 5265 +#define __NR_vmsplice 5266 +#define __NR_move_pages 5267 +#define __NR_set_robust_list 5268 +#define __NR_get_robust_list 5269 +#define __NR_kexec_load 5270 +#define __NR_getcpu 5271 +#define __NR_epoll_pwait 5272 +#define __NR_ioprio_set 5273 +#define __NR_ioprio_get 5274 +#define __NR_utimensat 5275 +#define __NR_signalfd 5276 +#define __NR_timerfd 5277 +#define __NR_eventfd 5278 +#define __NR_fallocate 5279 +#define __NR_timerfd_create 5280 +#define __NR_timerfd_gettime 5281 +#define __NR_timerfd_settime 5282 +#define __NR_signalfd4 5283 +#define __NR_eventfd2 5284 +#define __NR_epoll_create1 5285 +#define __NR_dup3 5286 +#define __NR_pipe2 5287 +#define __NR_inotify_init1 5288 +#define __NR_preadv 5289 +#define __NR_pwritev 5290 +#define __NR_rt_tgsigqueueinfo 5291 +#define __NR_perf_event_open 5292 +#define __NR_accept4 5293 +#define __NR_recvmmsg 5294 +#define __NR_fanotify_init 5295 +#define __NR_fanotify_mark 5296 +#define __NR_prlimit64 5297 +#define __NR_name_to_handle_at 5298 +#define __NR_open_by_handle_at 5299 +#define __NR_clock_adjtime 5300 +#define __NR_syncfs 5301 +#define __NR_sendmmsg 5302 +#define __NR_setns 5303 +#define __NR_process_vm_readv 5304 +#define __NR_process_vm_writev 5305 +#define __NR_kcmp 5306 +#define __NR_finit_module 5307 +#define __NR_getdents64 5308 +#define __NR_sched_setattr 5309 +#define __NR_sched_getattr 5310 +#define __NR_renameat2 5311 +#define __NR_seccomp 5312 +#define __NR_getrandom 5313 +#define __NR_memfd_create 5314 +#define __NR_bpf 5315 +#define __NR_execveat 5316 +#define __NR_userfaultfd 5317 +#define __NR_membarrier 5318 +#define __NR_mlock2 5319 +#define __NR_copy_file_range 5320 +#define __NR_preadv2 5321 +#define __NR_pwritev2 5322 +#define __NR_pkey_mprotect 5323 +#define __NR_pkey_alloc 5324 +#define __NR_pkey_free 5325 +#define __NR_statx 5326 +#define __NR_rseq 5327 +#define __NR_io_pgetevents 5328 +#define __NR_pidfd_send_signal 5424 +#define __NR_io_uring_setup 5425 +#define __NR_io_uring_enter 5426 +#define __NR_io_uring_register 5427 +#define __NR_open_tree 5428 +#define __NR_move_mount 5429 +#define __NR_fsopen 5430 +#define __NR_fsconfig 5431 +#define __NR_fsmount 5432 +#define __NR_fspick 5433 +#define __NR_pidfd_open 5434 +#define __NR_clone3 5435 +#define __NR_close_range 5436 +#define __NR_openat2 5437 +#define __NR_pidfd_getfd 5438 +#define __NR_faccessat2 5439 +#define __NR_process_madvise 5440 +#define __NR_epoll_pwait2 5441 +#define __NR_mount_setattr 5442 +#define __NR_landlock_create_ruleset 5444 +#define __NR_landlock_add_rule 5445 +#define __NR_landlock_restrict_self 5446 +#define __NR_process_mrelease 5448 +#define __NR_futex_waitv 5449 +#define __NR_set_mempolicy_home_node 5450 +#define __NR_cachestat 5451 +#define __NR_fchmodat2 5452 + +#define SYS_read 5000 +#define SYS_write 5001 +#define SYS_open 5002 +#define SYS_close 5003 +#define SYS_stat 5004 +#define SYS_fstat 5005 +#define SYS_lstat 5006 +#define SYS_poll 5007 +#define SYS_lseek 5008 +#define SYS_mmap 5009 +#define SYS_mprotect 5010 +#define SYS_munmap 5011 +#define SYS_brk 5012 +#define SYS_rt_sigaction 5013 +#define SYS_rt_sigprocmask 5014 +#define SYS_ioctl 5015 +#define SYS_pread64 5016 +#define SYS_pwrite64 5017 +#define SYS_readv 5018 +#define SYS_writev 5019 +#define SYS_access 5020 +#define SYS_pipe 5021 +#define SYS__newselect 5022 +#define SYS_sched_yield 5023 +#define SYS_mremap 5024 +#define SYS_msync 5025 +#define SYS_mincore 5026 +#define SYS_madvise 5027 +#define SYS_shmget 5028 +#define SYS_shmat 5029 +#define SYS_shmctl 5030 +#define SYS_dup 5031 +#define SYS_dup2 5032 +#define SYS_pause 5033 +#define SYS_nanosleep 5034 +#define SYS_getitimer 5035 +#define SYS_setitimer 5036 +#define SYS_alarm 5037 +#define SYS_getpid 5038 +#define SYS_sendfile 5039 +#define SYS_socket 5040 +#define SYS_connect 5041 +#define SYS_accept 5042 +#define SYS_sendto 5043 +#define SYS_recvfrom 5044 +#define SYS_sendmsg 5045 +#define SYS_recvmsg 5046 +#define SYS_shutdown 5047 +#define SYS_bind 5048 +#define SYS_listen 5049 +#define SYS_getsockname 5050 +#define SYS_getpeername 5051 +#define SYS_socketpair 5052 +#define SYS_setsockopt 5053 +#define SYS_getsockopt 5054 +#define SYS_clone 5055 +#define SYS_fork 5056 +#define SYS_execve 5057 +#define SYS_exit 5058 +#define SYS_wait4 5059 +#define SYS_kill 5060 +#define SYS_uname 5061 +#define SYS_semget 5062 +#define SYS_semop 5063 +#define SYS_semctl 5064 +#define SYS_shmdt 5065 +#define SYS_msgget 5066 +#define SYS_msgsnd 5067 +#define SYS_msgrcv 5068 +#define SYS_msgctl 5069 +#define SYS_fcntl 5070 +#define SYS_flock 5071 +#define SYS_fsync 5072 +#define SYS_fdatasync 5073 +#define SYS_truncate 5074 +#define SYS_ftruncate 5075 +#define SYS_getdents 5076 +#define SYS_getcwd 5077 +#define SYS_chdir 5078 +#define SYS_fchdir 5079 +#define SYS_rename 5080 +#define SYS_mkdir 5081 +#define SYS_rmdir 5082 +#define SYS_creat 5083 +#define SYS_link 5084 +#define SYS_unlink 5085 +#define SYS_symlink 5086 +#define SYS_readlink 5087 +#define SYS_chmod 5088 +#define SYS_fchmod 5089 +#define SYS_chown 5090 +#define SYS_fchown 5091 +#define SYS_lchown 5092 +#define SYS_umask 5093 +#define SYS_gettimeofday 5094 +#define SYS_getrlimit 5095 +#define SYS_getrusage 5096 +#define SYS_sysinfo 5097 +#define SYS_times 5098 +#define SYS_ptrace 5099 +#define SYS_getuid 5100 +#define SYS_syslog 5101 +#define SYS_getgid 5102 +#define SYS_setuid 5103 +#define SYS_setgid 5104 +#define SYS_geteuid 5105 +#define SYS_getegid 5106 +#define SYS_setpgid 5107 +#define SYS_getppid 5108 +#define SYS_getpgrp 5109 +#define SYS_setsid 5110 +#define SYS_setreuid 5111 +#define SYS_setregid 5112 +#define SYS_getgroups 5113 +#define SYS_setgroups 5114 +#define SYS_setresuid 5115 +#define SYS_getresuid 5116 +#define SYS_setresgid 5117 +#define SYS_getresgid 5118 +#define SYS_getpgid 5119 +#define SYS_setfsuid 5120 +#define SYS_setfsgid 5121 +#define SYS_getsid 5122 +#define SYS_capget 5123 +#define SYS_capset 5124 +#define SYS_rt_sigpending 5125 +#define SYS_rt_sigtimedwait 5126 +#define SYS_rt_sigqueueinfo 5127 +#define SYS_rt_sigsuspend 5128 +#define SYS_sigaltstack 5129 +#define SYS_utime 5130 +#define SYS_mknod 5131 +#define SYS_personality 5132 +#define SYS_ustat 5133 +#define SYS_statfs 5134 +#define SYS_fstatfs 5135 +#define SYS_sysfs 5136 +#define SYS_getpriority 5137 +#define SYS_setpriority 5138 +#define SYS_sched_setparam 5139 +#define SYS_sched_getparam 5140 +#define SYS_sched_setscheduler 5141 +#define SYS_sched_getscheduler 5142 +#define SYS_sched_get_priority_max 5143 +#define SYS_sched_get_priority_min 5144 +#define SYS_sched_rr_get_interval 5145 +#define SYS_mlock 5146 +#define SYS_munlock 5147 +#define SYS_mlockall 5148 +#define SYS_munlockall 5149 +#define SYS_vhangup 5150 +#define SYS_pivot_root 5151 +#define SYS__sysctl 5152 +#define SYS_prctl 5153 +#define SYS_adjtimex 5154 +#define SYS_setrlimit 5155 +#define SYS_chroot 5156 +#define SYS_sync 5157 +#define SYS_acct 5158 +#define SYS_settimeofday 5159 +#define SYS_mount 5160 +#define SYS_umount2 5161 +#define SYS_swapon 5162 +#define SYS_swapoff 5163 +#define SYS_reboot 5164 +#define SYS_sethostname 5165 +#define SYS_setdomainname 5166 +#define SYS_create_module 5167 +#define SYS_init_module 5168 +#define SYS_delete_module 5169 +#define SYS_get_kernel_syms 5170 +#define SYS_query_module 5171 +#define SYS_quotactl 5172 +#define SYS_nfsservctl 5173 +#define SYS_getpmsg 5174 +#define SYS_putpmsg 5175 +#define SYS_afs_syscall 5176 +#define SYS_reserved177 5177 +#define SYS_gettid 5178 +#define SYS_readahead 5179 +#define SYS_setxattr 5180 +#define SYS_lsetxattr 5181 +#define SYS_fsetxattr 5182 +#define SYS_getxattr 5183 +#define SYS_lgetxattr 5184 +#define SYS_fgetxattr 5185 +#define SYS_listxattr 5186 +#define SYS_llistxattr 5187 +#define SYS_flistxattr 5188 +#define SYS_removexattr 5189 +#define SYS_lremovexattr 5190 +#define SYS_fremovexattr 5191 +#define SYS_tkill 5192 +#define SYS_reserved193 5193 +#define SYS_futex 5194 +#define SYS_sched_setaffinity 5195 +#define SYS_sched_getaffinity 5196 +#define SYS_cacheflush 5197 +#define SYS_cachectl 5198 +#define SYS_sysmips 5199 +#define SYS_io_setup 5200 +#define SYS_io_destroy 5201 +#define SYS_io_getevents 5202 +#define SYS_io_submit 5203 +#define SYS_io_cancel 5204 +#define SYS_exit_group 5205 +#define SYS_lookup_dcookie 5206 +#define SYS_epoll_create 5207 +#define SYS_epoll_ctl 5208 +#define SYS_epoll_wait 5209 +#define SYS_remap_file_pages 5210 +#define SYS_rt_sigreturn 5211 +#define SYS_set_tid_address 5212 +#define SYS_restart_syscall 5213 +#define SYS_semtimedop 5214 +#define SYS_fadvise64 5215 +#define SYS_timer_create 5216 +#define SYS_timer_settime 5217 +#define SYS_timer_gettime 5218 +#define SYS_timer_getoverrun 5219 +#define SYS_timer_delete 5220 +#define SYS_clock_settime 5221 +#define SYS_clock_gettime 5222 +#define SYS_clock_getres 5223 +#define SYS_clock_nanosleep 5224 +#define SYS_tgkill 5225 +#define SYS_utimes 5226 +#define SYS_mbind 5227 +#define SYS_get_mempolicy 5228 +#define SYS_set_mempolicy 5229 +#define SYS_mq_open 5230 +#define SYS_mq_unlink 5231 +#define SYS_mq_timedsend 5232 +#define SYS_mq_timedreceive 5233 +#define SYS_mq_notify 5234 +#define SYS_mq_getsetattr 5235 +#define SYS_vserver 5236 +#define SYS_waitid 5237 +#define SYS_add_key 5239 +#define SYS_request_key 5240 +#define SYS_keyctl 5241 +#define SYS_set_thread_area 5242 +#define SYS_inotify_init 5243 +#define SYS_inotify_add_watch 5244 +#define SYS_inotify_rm_watch 5245 +#define SYS_migrate_pages 5246 +#define SYS_openat 5247 +#define SYS_mkdirat 5248 +#define SYS_mknodat 5249 +#define SYS_fchownat 5250 +#define SYS_futimesat 5251 +#define SYS_newfstatat 5252 +#define SYS_unlinkat 5253 +#define SYS_renameat 5254 +#define SYS_linkat 5255 +#define SYS_symlinkat 5256 +#define SYS_readlinkat 5257 +#define SYS_fchmodat 5258 +#define SYS_faccessat 5259 +#define SYS_pselect6 5260 +#define SYS_ppoll 5261 +#define SYS_unshare 5262 +#define SYS_splice 5263 +#define SYS_sync_file_range 5264 +#define SYS_tee 5265 +#define SYS_vmsplice 5266 +#define SYS_move_pages 5267 +#define SYS_set_robust_list 5268 +#define SYS_get_robust_list 5269 +#define SYS_kexec_load 5270 +#define SYS_getcpu 5271 +#define SYS_epoll_pwait 5272 +#define SYS_ioprio_set 5273 +#define SYS_ioprio_get 5274 +#define SYS_utimensat 5275 +#define SYS_signalfd 5276 +#define SYS_timerfd 5277 +#define SYS_eventfd 5278 +#define SYS_fallocate 5279 +#define SYS_timerfd_create 5280 +#define SYS_timerfd_gettime 5281 +#define SYS_timerfd_settime 5282 +#define SYS_signalfd4 5283 +#define SYS_eventfd2 5284 +#define SYS_epoll_create1 5285 +#define SYS_dup3 5286 +#define SYS_pipe2 5287 +#define SYS_inotify_init1 5288 +#define SYS_preadv 5289 +#define SYS_pwritev 5290 +#define SYS_rt_tgsigqueueinfo 5291 +#define SYS_perf_event_open 5292 +#define SYS_accept4 5293 +#define SYS_recvmmsg 5294 +#define SYS_fanotify_init 5295 +#define SYS_fanotify_mark 5296 +#define SYS_prlimit64 5297 +#define SYS_name_to_handle_at 5298 +#define SYS_open_by_handle_at 5299 +#define SYS_clock_adjtime 5300 +#define SYS_syncfs 5301 +#define SYS_sendmmsg 5302 +#define SYS_setns 5303 +#define SYS_process_vm_readv 5304 +#define SYS_process_vm_writev 5305 +#define SYS_kcmp 5306 +#define SYS_finit_module 5307 +#define SYS_getdents64 5308 +#define SYS_sched_setattr 5309 +#define SYS_sched_getattr 5310 +#define SYS_renameat2 5311 +#define SYS_seccomp 5312 +#define SYS_getrandom 5313 +#define SYS_memfd_create 5314 +#define SYS_bpf 5315 +#define SYS_execveat 5316 +#define SYS_userfaultfd 5317 +#define SYS_membarrier 5318 +#define SYS_mlock2 5319 +#define SYS_copy_file_range 5320 +#define SYS_preadv2 5321 +#define SYS_pwritev2 5322 +#define SYS_pkey_mprotect 5323 +#define SYS_pkey_alloc 5324 +#define SYS_pkey_free 5325 +#define SYS_statx 5326 +#define SYS_rseq 5327 +#define SYS_io_pgetevents 5328 +#define SYS_pidfd_send_signal 5424 +#define SYS_io_uring_setup 5425 +#define SYS_io_uring_enter 5426 +#define SYS_io_uring_register 5427 +#define SYS_open_tree 5428 +#define SYS_move_mount 5429 +#define SYS_fsopen 5430 +#define SYS_fsconfig 5431 +#define SYS_fsmount 5432 +#define SYS_fspick 5433 +#define SYS_pidfd_open 5434 +#define SYS_clone3 5435 +#define SYS_close_range 5436 +#define SYS_openat2 5437 +#define SYS_pidfd_getfd 5438 +#define SYS_faccessat2 5439 +#define SYS_process_madvise 5440 +#define SYS_epoll_pwait2 5441 +#define SYS_mount_setattr 5442 +#define SYS_landlock_create_ruleset 5444 +#define SYS_landlock_add_rule 5445 +#define SYS_landlock_restrict_self 5446 +#define SYS_process_mrelease 5448 +#define SYS_futex_waitv 5449 +#define SYS_set_mempolicy_home_node 5450 +#define SYS_cachestat 5451 +#define SYS_fchmodat2 5452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/termios.h new file mode 100644 index 00000000..0940ce20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/termios.h @@ -0,0 +1,169 @@ +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VMIN 4 +#define VTIME 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSWTCH 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOF 16 +#define VEOL 17 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define FFDLY 0100000 +#define FF0 0000000 +#define FF1 0100000 +#endif + +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 + +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 + +#define ISIG 0000001 +#define ICANON 0000002 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define IEXTEN 0000400 +#define TOSTOP 0100000 +#define ITOSTOP 0100000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 0010017 +#define CBAUDEX 0010000 +#define CIBAUD 002003600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0000004 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0020000 +#define PENDIN 0040000 +#define EXTPROC 0200000 + +#define XTABS 0014000 +#define TIOCSER_TEMT 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/user.h new file mode 100644 index 00000000..0c2b245f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-musl/bits/user.h @@ -0,0 +1,15 @@ +struct user { + unsigned long regs[102]; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long long start_code, start_data, start_stack; + long long signal; + unsigned long long *u_ar0; + unsigned long long magic; + char u_comm[32]; +}; + +#define ELF_NGREG 45 +#define ELF_NFPREG 33 + +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/errno.h new file mode 100644 index 00000000..54adcccf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define ENOMSG 35 +#define EIDRM 36 +#define ECHRNG 37 +#define EL2NSYNC 38 +#define EL3HLT 39 +#define EL3RST 40 +#define ELNRNG 41 +#define EUNATCH 42 +#define ENOCSI 43 +#define EL2HLT 44 +#define EDEADLK 45 +#define ENOLCK 46 +#define EBADE 50 +#define EBADR 51 +#define EXFULL 52 +#define ENOANO 53 +#define EBADRQC 54 +#define EBADSLT 55 +#define EDEADLOCK 56 +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EDOTDOT 73 +#define EMULTIHOP 74 +#define EBADMSG 77 +#define ENAMETOOLONG 78 +#define EOVERFLOW 79 +#define ENOTUNIQ 80 +#define EBADFD 81 +#define EREMCHG 82 +#define ELIBACC 83 +#define ELIBBAD 84 +#define ELIBSCN 85 +#define ELIBMAX 86 +#define ELIBEXEC 87 +#define EILSEQ 88 +#define ENOSYS 89 +#define ELOOP 90 +#define ERESTART 91 +#define ESTRPIPE 92 +#define ENOTEMPTY 93 +#define EUSERS 94 +#define ENOTSOCK 95 +#define EDESTADDRREQ 96 +#define EMSGSIZE 97 +#define EPROTOTYPE 98 +#define ENOPROTOOPT 99 +#define EPROTONOSUPPORT 120 +#define ESOCKTNOSUPPORT 121 +#define EOPNOTSUPP 122 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 123 +#define EAFNOSUPPORT 124 +#define EADDRINUSE 125 +#define EADDRNOTAVAIL 126 +#define ENETDOWN 127 +#define ENETUNREACH 128 +#define ENETRESET 129 +#define ECONNABORTED 130 +#define ECONNRESET 131 +#define ENOBUFS 132 +#define EISCONN 133 +#define ENOTCONN 134 +#define EUCLEAN 135 +#define ENOTNAM 137 +#define ENAVAIL 138 +#define EISNAM 139 +#define EREMOTEIO 140 +#define ESHUTDOWN 143 +#define ETOOMANYREFS 144 +#define ETIMEDOUT 145 +#define ECONNREFUSED 146 +#define EHOSTDOWN 147 +#define EHOSTUNREACH 148 +#define EWOULDBLOCK EAGAIN +#define EALREADY 149 +#define EINPROGRESS 150 +#define ESTALE 151 +#define ECANCELED 158 +#define ENOMEDIUM 159 +#define EMEDIUMTYPE 160 +#define ENOKEY 161 +#define EKEYEXPIRED 162 +#define EKEYREVOKED 163 +#define EKEYREJECTED 164 +#define EOWNERDEAD 165 +#define ENOTRECOVERABLE 166 +#define ERFKILL 167 +#define EHWPOISON 168 +#define EDQUOT 1133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fcntl.h new file mode 100644 index 00000000..911a8adc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0400 +#define O_EXCL 02000 +#define O_NOCTTY 04000 +#define O_TRUNC 01000 +#define O_APPEND 0010 +#define O_NONBLOCK 0200 +#define O_DSYNC 0020 +#define O_SYNC 040020 +#define O_RSYNC 040020 +#define O_DIRECTORY 0200000 +#define O_NOFOLLOW 0400000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 010000 +#define O_DIRECT 0100000 +#define O_LARGEFILE 020000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 24 +#define F_GETOWN 23 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 33 +#define F_SETLK 34 +#define F_SETLKW 35 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fenv.h new file mode 100644 index 00000000..dbf9b368 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/fenv.h @@ -0,0 +1,25 @@ +#ifdef __mips_soft_float +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 +#else +#define FE_INEXACT 4 +#define FE_UNDERFLOW 8 +#define FE_OVERFLOW 16 +#define FE_DIVBYZERO 32 +#define FE_INVALID 64 + +#define FE_ALL_EXCEPT 124 + +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 +#endif + +typedef unsigned short fexcept_t; + +typedef struct { + unsigned __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/hwcap.h new file mode 100644 index 00000000..0cc1faa9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/hwcap.h @@ -0,0 +1,3 @@ +#define HWCAP_MIPS_R6 (1 << 0) +#define HWCAP_MIPS_MSA (1 << 1) +#define HWCAP_MIPS_CRC32 (1 << 2) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ioctl.h new file mode 100644 index 00000000..c4fbd0d8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ioctl.h @@ -0,0 +1,114 @@ +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define TCGETA 0x5401 +#define TCSETA 0x5402 +#define TCSETAW 0x5403 +#define TCSETAF 0x5404 +#define TCSBRK 0x5405 +#define TCXONC 0x5406 +#define TCFLSH 0x5407 +#define TCGETS 0x540D +#define TCSETS 0x540E +#define TCSETSW 0x540F +#define TCSETSF 0x5410 + +#define TIOCEXCL 0x740D +#define TIOCNXCL 0x740E +#define TIOCOUTQ 0x7472 +#define TIOCSTI 0x5472 +#define TIOCMGET 0x741D +#define TIOCMBIS 0x741B +#define TIOCMBIC 0x741C +#define TIOCMSET 0x741A + +#define TIOCPKT 0x5470 +#define TIOCSWINSZ _IOW('t', 103, struct winsize) +#define TIOCGWINSZ _IOR('t', 104, struct winsize) +#define TIOCNOTTY 0x5471 +#define TIOCSETD 0x7401 +#define TIOCGETD 0x7400 + +#define FIOCLEX 0x6601 +#define FIONCLEX 0x6602 +#define FIOASYNC 0x667D +#define FIONBIO 0x667E +#define FIOQSIZE 0x667F + +#define TIOCGLTC 0x7474 +#define TIOCSLTC 0x7475 +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) +#define TIOCCONS _IOW('t', 120, int) + +#define FIONREAD 0x467F +#define TIOCINQ FIONREAD + +#define TIOCGETP 0x7408 +#define TIOCSETP 0x7409 +#define TIOCSETN 0x740A + +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x7416 +#define TIOCGRS485 _IOR('T', 0x2E, char[32]) +#define TIOCSRS485 _IOWR('T', 0x2F, char[32]) +#define TIOCGPTN _IOR('T', 0x30, unsigned int) +#define TIOCSPTLCK _IOW('T', 0x31, int) +#define TIOCGDEV _IOR('T', 0x32, unsigned int) +#define TIOCSIG _IOW('T', 0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) + +#define TIOCSCTTY 0x5480 +#define TIOCGSOFTCAR 0x5481 +#define TIOCSSOFTCAR 0x5482 +#define TIOCLINUX 0x5483 +#define TIOCGSERIAL 0x5484 +#define TIOCSSERIAL 0x5485 +#define TCSBRKP 0x5486 + +#define TIOCSERCONFIG 0x5488 +#define TIOCSERGWILD 0x5489 +#define TIOCSERSWILD 0x548A +#define TIOCGLCKTRMIOS 0x548B +#define TIOCSLCKTRMIOS 0x548C +#define TIOCSERGSTRUCT 0x548D +#define TIOCSERGETLSR 0x548E +#define TIOCSERGETMULTI 0x548F +#define TIOCSERSETMULTI 0x5490 +#define TIOCMIWAIT 0x5491 +#define TIOCGICOUNT 0x5492 + +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x010 +#define TIOCM_SR 0x020 +#define TIOCM_CTS 0x040 +#define TIOCM_CAR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define FIOGETOWN _IOR('f', 123, int) +#define FIOSETOWN _IOW('f', 124, int) +#define SIOCATMARK _IOR('s', 7, int) +#define SIOCSPGRP _IOW('s', 8, pid_t) +#define SIOCGPGRP _IOR('s', 9, pid_t) +#define SIOCGSTAMP _IOR(0x89, 6, char[16]) +#define SIOCGSTAMPNS _IOR(0x89, 7, char[16]) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/mman.h new file mode 100644 index 00000000..54231d15 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/mman.h @@ -0,0 +1,25 @@ +#undef MAP_ANON +#define MAP_ANON 0x800 +#undef MAP_NORESERVE +#define MAP_NORESERVE 0x0400 +#undef MAP_GROWSDOWN +#define MAP_GROWSDOWN 0x1000 +#undef MAP_DENYWRITE +#define MAP_DENYWRITE 0x2000 +#undef MAP_EXECUTABLE +#define MAP_EXECUTABLE 0x4000 +#undef MAP_LOCKED +#define MAP_LOCKED 0x8000 +#undef MAP_POPULATE +#define MAP_POPULATE 0x10000 +#undef MAP_NONBLOCK +#define MAP_NONBLOCK 0x20000 +#undef MAP_STACK +#define MAP_STACK 0x40000 +#undef MAP_HUGETLB +#define MAP_HUGETLB 0x80000 +#undef MAP_SYNC + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#undef MADV_SOFT_OFFLINE +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/msg.h new file mode 100644 index 00000000..9e428cab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/msg.h @@ -0,0 +1,27 @@ +struct msqid_ds { + struct ipc_perm msg_perm; +#if _MIPSEL || __MIPSEL || __MIPSEL__ + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; +#else + unsigned long __msg_stime_hi; + unsigned long __msg_stime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_ctime_hi; + unsigned long __msg_ctime_lo; +#endif + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/poll.h new file mode 100644 index 00000000..cefdd9be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/poll.h @@ -0,0 +1,2 @@ +#define POLLWRNORM POLLOUT +#define POLLWRBAND 0x100 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ptrace.h new file mode 100644 index 00000000..275462de --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/ptrace.h @@ -0,0 +1,9 @@ +#define PTRACE_GET_THREAD_AREA 25 +#define PTRACE_SET_THREAD_AREA 26 +#define PTRACE_PEEKTEXT_3264 0xc0 +#define PTRACE_PEEKDATA_3264 0xc1 +#define PTRACE_POKETEXT_3264 0xc2 +#define PTRACE_POKEDATA_3264 0xc3 +#define PTRACE_GET_THREAD_AREA_3264 0xc4 +#define PTRACE_GET_WATCH_REGS 0xd0 +#define PTRACE_SET_WATCH_REGS 0xd1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/reg.h new file mode 100644 index 00000000..e40c44d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/reg.h @@ -0,0 +1,47 @@ +#undef __WORDSIZE +#define __WORDSIZE 64 + +#define EF_R0 0 +#define EF_R1 1 +#define EF_R2 2 +#define EF_R3 3 +#define EF_R4 4 +#define EF_R5 5 +#define EF_R6 6 +#define EF_R7 7 +#define EF_R8 8 +#define EF_R9 9 +#define EF_R10 10 +#define EF_R11 11 +#define EF_R12 12 +#define EF_R13 13 +#define EF_R14 14 +#define EF_R15 15 +#define EF_R16 16 +#define EF_R17 17 +#define EF_R18 18 +#define EF_R19 19 +#define EF_R20 20 +#define EF_R21 21 +#define EF_R22 22 +#define EF_R23 23 +#define EF_R24 24 +#define EF_R25 25 + +#define EF_R26 26 +#define EF_R27 27 +#define EF_R28 28 +#define EF_R29 29 +#define EF_R30 30 +#define EF_R31 31 + +#define EF_LO 32 +#define EF_HI 33 + +#define EF_CP0_EPC 34 +#define EF_CP0_BADVADDR 35 +#define EF_CP0_STATUS 36 +#define EF_CP0_CAUSE 37 +#define EF_UNUSED0 38 + +#define EF_SIZE 304 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/resource.h new file mode 100644 index 00000000..ef7ada7c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/resource.h @@ -0,0 +1,5 @@ +#define RLIMIT_NOFILE 5 +#define RLIMIT_AS 6 +#define RLIMIT_RSS 7 +#define RLIMIT_NPROC 8 +#define RLIMIT_MEMLOCK 9 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/sem.h new file mode 100644 index 00000000..87b05d48 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/sem.h @@ -0,0 +1,16 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_lo; + unsigned long __sem_ctime_lo; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + unsigned long __sem_otime_hi; + unsigned long __sem_ctime_hi; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/shm.h new file mode 100644 index 00000000..4e5357d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/shm.h @@ -0,0 +1,29 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + unsigned long __shm_atime_lo; + unsigned long __shm_dtime_lo; + unsigned long __shm_ctime_lo; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned short __shm_atime_hi; + unsigned short __shm_dtime_hi; + unsigned short __shm_ctime_hi; + unsigned short __pad1; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/socket.h new file mode 100644 index 00000000..751f71fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/socket.h @@ -0,0 +1,35 @@ +#define SOCK_STREAM 2 +#define SOCK_DGRAM 1 + +#define SOL_SOCKET 65535 + +#define SO_DEBUG 1 + +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 +#define SO_REUSEPORT 0x0200 +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDLOWAT 0x1003 +#define SO_RCVLOWAT 0x1004 +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 +#define SO_ACCEPTCONN 0x1009 +#define SO_PROTOCOL 0x1028 +#define SO_DOMAIN 0x1029 + +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_BSDCOMPAT 14 +#define SO_PASSCRED 17 +#define SO_PEERCRED 18 +#define SO_PEERSEC 30 +#define SO_SNDBUFFORCE 31 +#define SO_RCVBUFFORCE 33 + +#define SOCK_NONBLOCK 0200 +#define SOCK_CLOEXEC 02000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/stat.h new file mode 100644 index 00000000..31dcbd46 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/stat.h @@ -0,0 +1,23 @@ +struct stat { + dev_t st_dev; + long __pad1[2]; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + long __pad2[2]; + off_t st_size; + struct { + long tv_sec; + long tv_nsec; + } __st_atim32, __st_mtim32, __st_ctim32; + blksize_t st_blksize; + long __pad3; + blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + long __pad4[2]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/statfs.h new file mode 100644 index 00000000..8fdd34ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/statfs.h @@ -0,0 +1,8 @@ +struct statfs { + unsigned long f_type, f_bsize, f_frsize; + fsblkcnt_t f_blocks, f_bfree; + fsfilcnt_t f_files, f_ffree; + fsblkcnt_t f_bavail; + fsid_t f_fsid; + unsigned long f_namelen, f_flags, f_spare[5]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/syscall.h new file mode 100644 index 00000000..2fa9aa09 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/syscall.h @@ -0,0 +1,759 @@ +#define __NR_read 6000 +#define __NR_write 6001 +#define __NR_open 6002 +#define __NR_close 6003 +#define __NR_stat 6004 +#define __NR_fstat 6005 +#define __NR_lstat 6006 +#define __NR_poll 6007 +#define __NR_lseek 6008 +#define __NR_mmap 6009 +#define __NR_mprotect 6010 +#define __NR_munmap 6011 +#define __NR_brk 6012 +#define __NR_rt_sigaction 6013 +#define __NR_rt_sigprocmask 6014 +#define __NR_ioctl 6015 +#define __NR_pread64 6016 +#define __NR_pwrite64 6017 +#define __NR_readv 6018 +#define __NR_writev 6019 +#define __NR_access 6020 +#define __NR_pipe 6021 +#define __NR__newselect 6022 +#define __NR_sched_yield 6023 +#define __NR_mremap 6024 +#define __NR_msync 6025 +#define __NR_mincore 6026 +#define __NR_madvise 6027 +#define __NR_shmget 6028 +#define __NR_shmat 6029 +#define __NR_shmctl 6030 +#define __NR_dup 6031 +#define __NR_dup2 6032 +#define __NR_pause 6033 +#define __NR_nanosleep 6034 +#define __NR_getitimer 6035 +#define __NR_setitimer 6036 +#define __NR_alarm 6037 +#define __NR_getpid 6038 +#define __NR_sendfile 6039 +#define __NR_socket 6040 +#define __NR_connect 6041 +#define __NR_accept 6042 +#define __NR_sendto 6043 +#define __NR_recvfrom 6044 +#define __NR_sendmsg 6045 +#define __NR_recvmsg 6046 +#define __NR_shutdown 6047 +#define __NR_bind 6048 +#define __NR_listen 6049 +#define __NR_getsockname 6050 +#define __NR_getpeername 6051 +#define __NR_socketpair 6052 +#define __NR_setsockopt 6053 +#define __NR_getsockopt 6054 +#define __NR_clone 6055 +#define __NR_fork 6056 +#define __NR_execve 6057 +#define __NR_exit 6058 +#define __NR_wait4 6059 +#define __NR_kill 6060 +#define __NR_uname 6061 +#define __NR_semget 6062 +#define __NR_semop 6063 +#define __NR_semctl 6064 +#define __NR_shmdt 6065 +#define __NR_msgget 6066 +#define __NR_msgsnd 6067 +#define __NR_msgrcv 6068 +#define __NR_msgctl 6069 +#define __NR_fcntl 6070 +#define __NR_flock 6071 +#define __NR_fsync 6072 +#define __NR_fdatasync 6073 +#define __NR_truncate 6074 +#define __NR_ftruncate 6075 +#define __NR_getdents 6076 +#define __NR_getcwd 6077 +#define __NR_chdir 6078 +#define __NR_fchdir 6079 +#define __NR_rename 6080 +#define __NR_mkdir 6081 +#define __NR_rmdir 6082 +#define __NR_creat 6083 +#define __NR_link 6084 +#define __NR_unlink 6085 +#define __NR_symlink 6086 +#define __NR_readlink 6087 +#define __NR_chmod 6088 +#define __NR_fchmod 6089 +#define __NR_chown 6090 +#define __NR_fchown 6091 +#define __NR_lchown 6092 +#define __NR_umask 6093 +#define __NR_gettimeofday_time32 6094 +#define __NR_getrlimit 6095 +#define __NR_getrusage 6096 +#define __NR_sysinfo 6097 +#define __NR_times 6098 +#define __NR_ptrace 6099 +#define __NR_getuid 6100 +#define __NR_syslog 6101 +#define __NR_getgid 6102 +#define __NR_setuid 6103 +#define __NR_setgid 6104 +#define __NR_geteuid 6105 +#define __NR_getegid 6106 +#define __NR_setpgid 6107 +#define __NR_getppid 6108 +#define __NR_getpgrp 6109 +#define __NR_setsid 6110 +#define __NR_setreuid 6111 +#define __NR_setregid 6112 +#define __NR_getgroups 6113 +#define __NR_setgroups 6114 +#define __NR_setresuid 6115 +#define __NR_getresuid 6116 +#define __NR_setresgid 6117 +#define __NR_getresgid 6118 +#define __NR_getpgid 6119 +#define __NR_setfsuid 6120 +#define __NR_setfsgid 6121 +#define __NR_getsid 6122 +#define __NR_capget 6123 +#define __NR_capset 6124 +#define __NR_rt_sigpending 6125 +#define __NR_rt_sigtimedwait 6126 +#define __NR_rt_sigqueueinfo 6127 +#define __NR_rt_sigsuspend 6128 +#define __NR_sigaltstack 6129 +#define __NR_utime 6130 +#define __NR_mknod 6131 +#define __NR_personality 6132 +#define __NR_ustat 6133 +#define __NR_statfs 6134 +#define __NR_fstatfs 6135 +#define __NR_sysfs 6136 +#define __NR_getpriority 6137 +#define __NR_setpriority 6138 +#define __NR_sched_setparam 6139 +#define __NR_sched_getparam 6140 +#define __NR_sched_setscheduler 6141 +#define __NR_sched_getscheduler 6142 +#define __NR_sched_get_priority_max 6143 +#define __NR_sched_get_priority_min 6144 +#define __NR_sched_rr_get_interval 6145 +#define __NR_mlock 6146 +#define __NR_munlock 6147 +#define __NR_mlockall 6148 +#define __NR_munlockall 6149 +#define __NR_vhangup 6150 +#define __NR_pivot_root 6151 +#define __NR__sysctl 6152 +#define __NR_prctl 6153 +#define __NR_adjtimex 6154 +#define __NR_setrlimit 6155 +#define __NR_chroot 6156 +#define __NR_sync 6157 +#define __NR_acct 6158 +#define __NR_settimeofday_time32 6159 +#define __NR_mount 6160 +#define __NR_umount2 6161 +#define __NR_swapon 6162 +#define __NR_swapoff 6163 +#define __NR_reboot 6164 +#define __NR_sethostname 6165 +#define __NR_setdomainname 6166 +#define __NR_create_module 6167 +#define __NR_init_module 6168 +#define __NR_delete_module 6169 +#define __NR_get_kernel_syms 6170 +#define __NR_query_module 6171 +#define __NR_quotactl 6172 +#define __NR_nfsservctl 6173 +#define __NR_getpmsg 6174 +#define __NR_putpmsg 6175 +#define __NR_afs_syscall 6176 +#define __NR_reserved177 6177 +#define __NR_gettid 6178 +#define __NR_readahead 6179 +#define __NR_setxattr 6180 +#define __NR_lsetxattr 6181 +#define __NR_fsetxattr 6182 +#define __NR_getxattr 6183 +#define __NR_lgetxattr 6184 +#define __NR_fgetxattr 6185 +#define __NR_listxattr 6186 +#define __NR_llistxattr 6187 +#define __NR_flistxattr 6188 +#define __NR_removexattr 6189 +#define __NR_lremovexattr 6190 +#define __NR_fremovexattr 6191 +#define __NR_tkill 6192 +#define __NR_reserved193 6193 +#define __NR_futex 6194 +#define __NR_sched_setaffinity 6195 +#define __NR_sched_getaffinity 6196 +#define __NR_cacheflush 6197 +#define __NR_cachectl 6198 +#define __NR_sysmips 6199 +#define __NR_io_setup 6200 +#define __NR_io_destroy 6201 +#define __NR_io_getevents 6202 +#define __NR_io_submit 6203 +#define __NR_io_cancel 6204 +#define __NR_exit_group 6205 +#define __NR_lookup_dcookie 6206 +#define __NR_epoll_create 6207 +#define __NR_epoll_ctl 6208 +#define __NR_epoll_wait 6209 +#define __NR_remap_file_pages 6210 +#define __NR_rt_sigreturn 6211 +#define __NR_fcntl64 6212 +#define __NR_set_tid_address 6213 +#define __NR_restart_syscall 6214 +#define __NR_semtimedop 6215 +#define __NR_fadvise64 6216 +#define __NR_statfs64 6217 +#define __NR_fstatfs64 6218 +#define __NR_sendfile64 6219 +#define __NR_timer_create 6220 +#define __NR_timer_settime32 6221 +#define __NR_timer_gettime32 6222 +#define __NR_timer_getoverrun 6223 +#define __NR_timer_delete 6224 +#define __NR_clock_settime32 6225 +#define __NR_clock_gettime32 6226 +#define __NR_clock_getres_time32 6227 +#define __NR_clock_nanosleep_time32 6228 +#define __NR_tgkill 6229 +#define __NR_utimes 6230 +#define __NR_mbind 6231 +#define __NR_get_mempolicy 6232 +#define __NR_set_mempolicy 6233 +#define __NR_mq_open 6234 +#define __NR_mq_unlink 6235 +#define __NR_mq_timedsend 6236 +#define __NR_mq_timedreceive 6237 +#define __NR_mq_notify 6238 +#define __NR_mq_getsetattr 6239 +#define __NR_vserver 6240 +#define __NR_waitid 6241 +#define __NR_add_key 6243 +#define __NR_request_key 6244 +#define __NR_keyctl 6245 +#define __NR_set_thread_area 6246 +#define __NR_inotify_init 6247 +#define __NR_inotify_add_watch 6248 +#define __NR_inotify_rm_watch 6249 +#define __NR_migrate_pages 6250 +#define __NR_openat 6251 +#define __NR_mkdirat 6252 +#define __NR_mknodat 6253 +#define __NR_fchownat 6254 +#define __NR_futimesat 6255 +#define __NR_newfstatat 6256 +#define __NR_unlinkat 6257 +#define __NR_renameat 6258 +#define __NR_linkat 6259 +#define __NR_symlinkat 6260 +#define __NR_readlinkat 6261 +#define __NR_fchmodat 6262 +#define __NR_faccessat 6263 +#define __NR_pselect6 6264 +#define __NR_ppoll 6265 +#define __NR_unshare 6266 +#define __NR_splice 6267 +#define __NR_sync_file_range 6268 +#define __NR_tee 6269 +#define __NR_vmsplice 6270 +#define __NR_move_pages 6271 +#define __NR_set_robust_list 6272 +#define __NR_get_robust_list 6273 +#define __NR_kexec_load 6274 +#define __NR_getcpu 6275 +#define __NR_epoll_pwait 6276 +#define __NR_ioprio_set 6277 +#define __NR_ioprio_get 6278 +#define __NR_utimensat 6279 +#define __NR_signalfd 6280 +#define __NR_timerfd 6281 +#define __NR_eventfd 6282 +#define __NR_fallocate 6283 +#define __NR_timerfd_create 6284 +#define __NR_timerfd_gettime32 6285 +#define __NR_timerfd_settime32 6286 +#define __NR_signalfd4 6287 +#define __NR_eventfd2 6288 +#define __NR_epoll_create1 6289 +#define __NR_dup3 6290 +#define __NR_pipe2 6291 +#define __NR_inotify_init1 6292 +#define __NR_preadv 6293 +#define __NR_pwritev 6294 +#define __NR_rt_tgsigqueueinfo 6295 +#define __NR_perf_event_open 6296 +#define __NR_accept4 6297 +#define __NR_recvmmsg 6298 +#define __NR_getdents64 6299 +#define __NR_fanotify_init 6300 +#define __NR_fanotify_mark 6301 +#define __NR_prlimit64 6302 +#define __NR_name_to_handle_at 6303 +#define __NR_open_by_handle_at 6304 +#define __NR_clock_adjtime 6305 +#define __NR_syncfs 6306 +#define __NR_sendmmsg 6307 +#define __NR_setns 6308 +#define __NR_process_vm_readv 6309 +#define __NR_process_vm_writev 6310 +#define __NR_kcmp 6311 +#define __NR_finit_module 6312 +#define __NR_sched_setattr 6313 +#define __NR_sched_getattr 6314 +#define __NR_renameat2 6315 +#define __NR_seccomp 6316 +#define __NR_getrandom 6317 +#define __NR_memfd_create 6318 +#define __NR_bpf 6319 +#define __NR_execveat 6320 +#define __NR_userfaultfd 6321 +#define __NR_membarrier 6322 +#define __NR_mlock2 6323 +#define __NR_copy_file_range 6324 +#define __NR_preadv2 6325 +#define __NR_pwritev2 6326 +#define __NR_pkey_mprotect 6327 +#define __NR_pkey_alloc 6328 +#define __NR_pkey_free 6329 +#define __NR_statx 6330 +#define __NR_rseq 6331 +#define __NR_io_pgetevents 6332 +#define __NR_clock_gettime64 6403 +#define __NR_clock_settime64 6404 +#define __NR_clock_adjtime64 6405 +#define __NR_clock_getres_time64 6406 +#define __NR_clock_nanosleep_time64 6407 +#define __NR_timer_gettime64 6408 +#define __NR_timer_settime64 6409 +#define __NR_timerfd_gettime64 6410 +#define __NR_timerfd_settime64 6411 +#define __NR_utimensat_time64 6412 +#define __NR_pselect6_time64 6413 +#define __NR_ppoll_time64 6414 +#define __NR_io_pgetevents_time64 6416 +#define __NR_recvmmsg_time64 6417 +#define __NR_mq_timedsend_time64 6418 +#define __NR_mq_timedreceive_time64 6419 +#define __NR_semtimedop_time64 6420 +#define __NR_rt_sigtimedwait_time64 6421 +#define __NR_futex_time64 6422 +#define __NR_sched_rr_get_interval_time64 6423 +#define __NR_pidfd_send_signal 6424 +#define __NR_io_uring_setup 6425 +#define __NR_io_uring_enter 6426 +#define __NR_io_uring_register 6427 +#define __NR_open_tree 6428 +#define __NR_move_mount 6429 +#define __NR_fsopen 6430 +#define __NR_fsconfig 6431 +#define __NR_fsmount 6432 +#define __NR_fspick 6433 +#define __NR_pidfd_open 6434 +#define __NR_clone3 6435 +#define __NR_close_range 6436 +#define __NR_openat2 6437 +#define __NR_pidfd_getfd 6438 +#define __NR_faccessat2 6439 +#define __NR_process_madvise 6440 +#define __NR_epoll_pwait2 6441 +#define __NR_mount_setattr 6442 +#define __NR_landlock_create_ruleset 6444 +#define __NR_landlock_add_rule 6445 +#define __NR_landlock_restrict_self 6446 +#define __NR_process_mrelease 6448 +#define __NR_futex_waitv 6449 +#define __NR_set_mempolicy_home_node 6450 +#define __NR_cachestat 6451 +#define __NR_fchmodat2 6452 + +#define SYS_read 6000 +#define SYS_write 6001 +#define SYS_open 6002 +#define SYS_close 6003 +#define SYS_stat 6004 +#define SYS_fstat 6005 +#define SYS_lstat 6006 +#define SYS_poll 6007 +#define SYS_lseek 6008 +#define SYS_mmap 6009 +#define SYS_mprotect 6010 +#define SYS_munmap 6011 +#define SYS_brk 6012 +#define SYS_rt_sigaction 6013 +#define SYS_rt_sigprocmask 6014 +#define SYS_ioctl 6015 +#define SYS_pread64 6016 +#define SYS_pwrite64 6017 +#define SYS_readv 6018 +#define SYS_writev 6019 +#define SYS_access 6020 +#define SYS_pipe 6021 +#define SYS__newselect 6022 +#define SYS_sched_yield 6023 +#define SYS_mremap 6024 +#define SYS_msync 6025 +#define SYS_mincore 6026 +#define SYS_madvise 6027 +#define SYS_shmget 6028 +#define SYS_shmat 6029 +#define SYS_shmctl 6030 +#define SYS_dup 6031 +#define SYS_dup2 6032 +#define SYS_pause 6033 +#define SYS_nanosleep 6034 +#define SYS_getitimer 6035 +#define SYS_setitimer 6036 +#define SYS_alarm 6037 +#define SYS_getpid 6038 +#define SYS_sendfile 6039 +#define SYS_socket 6040 +#define SYS_connect 6041 +#define SYS_accept 6042 +#define SYS_sendto 6043 +#define SYS_recvfrom 6044 +#define SYS_sendmsg 6045 +#define SYS_recvmsg 6046 +#define SYS_shutdown 6047 +#define SYS_bind 6048 +#define SYS_listen 6049 +#define SYS_getsockname 6050 +#define SYS_getpeername 6051 +#define SYS_socketpair 6052 +#define SYS_setsockopt 6053 +#define SYS_getsockopt 6054 +#define SYS_clone 6055 +#define SYS_fork 6056 +#define SYS_execve 6057 +#define SYS_exit 6058 +#define SYS_wait4 6059 +#define SYS_kill 6060 +#define SYS_uname 6061 +#define SYS_semget 6062 +#define SYS_semop 6063 +#define SYS_semctl 6064 +#define SYS_shmdt 6065 +#define SYS_msgget 6066 +#define SYS_msgsnd 6067 +#define SYS_msgrcv 6068 +#define SYS_msgctl 6069 +#define SYS_fcntl 6070 +#define SYS_flock 6071 +#define SYS_fsync 6072 +#define SYS_fdatasync 6073 +#define SYS_truncate 6074 +#define SYS_ftruncate 6075 +#define SYS_getdents 6076 +#define SYS_getcwd 6077 +#define SYS_chdir 6078 +#define SYS_fchdir 6079 +#define SYS_rename 6080 +#define SYS_mkdir 6081 +#define SYS_rmdir 6082 +#define SYS_creat 6083 +#define SYS_link 6084 +#define SYS_unlink 6085 +#define SYS_symlink 6086 +#define SYS_readlink 6087 +#define SYS_chmod 6088 +#define SYS_fchmod 6089 +#define SYS_chown 6090 +#define SYS_fchown 6091 +#define SYS_lchown 6092 +#define SYS_umask 6093 +#define SYS_gettimeofday_time32 6094 +#define SYS_getrlimit 6095 +#define SYS_getrusage 6096 +#define SYS_sysinfo 6097 +#define SYS_times 6098 +#define SYS_ptrace 6099 +#define SYS_getuid 6100 +#define SYS_syslog 6101 +#define SYS_getgid 6102 +#define SYS_setuid 6103 +#define SYS_setgid 6104 +#define SYS_geteuid 6105 +#define SYS_getegid 6106 +#define SYS_setpgid 6107 +#define SYS_getppid 6108 +#define SYS_getpgrp 6109 +#define SYS_setsid 6110 +#define SYS_setreuid 6111 +#define SYS_setregid 6112 +#define SYS_getgroups 6113 +#define SYS_setgroups 6114 +#define SYS_setresuid 6115 +#define SYS_getresuid 6116 +#define SYS_setresgid 6117 +#define SYS_getresgid 6118 +#define SYS_getpgid 6119 +#define SYS_setfsuid 6120 +#define SYS_setfsgid 6121 +#define SYS_getsid 6122 +#define SYS_capget 6123 +#define SYS_capset 6124 +#define SYS_rt_sigpending 6125 +#define SYS_rt_sigtimedwait 6126 +#define SYS_rt_sigqueueinfo 6127 +#define SYS_rt_sigsuspend 6128 +#define SYS_sigaltstack 6129 +#define SYS_utime 6130 +#define SYS_mknod 6131 +#define SYS_personality 6132 +#define SYS_ustat 6133 +#define SYS_statfs 6134 +#define SYS_fstatfs 6135 +#define SYS_sysfs 6136 +#define SYS_getpriority 6137 +#define SYS_setpriority 6138 +#define SYS_sched_setparam 6139 +#define SYS_sched_getparam 6140 +#define SYS_sched_setscheduler 6141 +#define SYS_sched_getscheduler 6142 +#define SYS_sched_get_priority_max 6143 +#define SYS_sched_get_priority_min 6144 +#define SYS_sched_rr_get_interval 6145 +#define SYS_mlock 6146 +#define SYS_munlock 6147 +#define SYS_mlockall 6148 +#define SYS_munlockall 6149 +#define SYS_vhangup 6150 +#define SYS_pivot_root 6151 +#define SYS__sysctl 6152 +#define SYS_prctl 6153 +#define SYS_adjtimex 6154 +#define SYS_setrlimit 6155 +#define SYS_chroot 6156 +#define SYS_sync 6157 +#define SYS_acct 6158 +#define SYS_settimeofday_time32 6159 +#define SYS_mount 6160 +#define SYS_umount2 6161 +#define SYS_swapon 6162 +#define SYS_swapoff 6163 +#define SYS_reboot 6164 +#define SYS_sethostname 6165 +#define SYS_setdomainname 6166 +#define SYS_create_module 6167 +#define SYS_init_module 6168 +#define SYS_delete_module 6169 +#define SYS_get_kernel_syms 6170 +#define SYS_query_module 6171 +#define SYS_quotactl 6172 +#define SYS_nfsservctl 6173 +#define SYS_getpmsg 6174 +#define SYS_putpmsg 6175 +#define SYS_afs_syscall 6176 +#define SYS_reserved177 6177 +#define SYS_gettid 6178 +#define SYS_readahead 6179 +#define SYS_setxattr 6180 +#define SYS_lsetxattr 6181 +#define SYS_fsetxattr 6182 +#define SYS_getxattr 6183 +#define SYS_lgetxattr 6184 +#define SYS_fgetxattr 6185 +#define SYS_listxattr 6186 +#define SYS_llistxattr 6187 +#define SYS_flistxattr 6188 +#define SYS_removexattr 6189 +#define SYS_lremovexattr 6190 +#define SYS_fremovexattr 6191 +#define SYS_tkill 6192 +#define SYS_reserved193 6193 +#define SYS_futex 6194 +#define SYS_sched_setaffinity 6195 +#define SYS_sched_getaffinity 6196 +#define SYS_cacheflush 6197 +#define SYS_cachectl 6198 +#define SYS_sysmips 6199 +#define SYS_io_setup 6200 +#define SYS_io_destroy 6201 +#define SYS_io_getevents 6202 +#define SYS_io_submit 6203 +#define SYS_io_cancel 6204 +#define SYS_exit_group 6205 +#define SYS_lookup_dcookie 6206 +#define SYS_epoll_create 6207 +#define SYS_epoll_ctl 6208 +#define SYS_epoll_wait 6209 +#define SYS_remap_file_pages 6210 +#define SYS_rt_sigreturn 6211 +#define SYS_fcntl64 6212 +#define SYS_set_tid_address 6213 +#define SYS_restart_syscall 6214 +#define SYS_semtimedop 6215 +#define SYS_fadvise64 6216 +#define SYS_statfs64 6217 +#define SYS_fstatfs64 6218 +#define SYS_sendfile64 6219 +#define SYS_timer_create 6220 +#define SYS_timer_settime32 6221 +#define SYS_timer_gettime32 6222 +#define SYS_timer_getoverrun 6223 +#define SYS_timer_delete 6224 +#define SYS_clock_settime32 6225 +#define SYS_clock_gettime32 6226 +#define SYS_clock_getres_time32 6227 +#define SYS_clock_nanosleep_time32 6228 +#define SYS_tgkill 6229 +#define SYS_utimes 6230 +#define SYS_mbind 6231 +#define SYS_get_mempolicy 6232 +#define SYS_set_mempolicy 6233 +#define SYS_mq_open 6234 +#define SYS_mq_unlink 6235 +#define SYS_mq_timedsend 6236 +#define SYS_mq_timedreceive 6237 +#define SYS_mq_notify 6238 +#define SYS_mq_getsetattr 6239 +#define SYS_vserver 6240 +#define SYS_waitid 6241 +#define SYS_add_key 6243 +#define SYS_request_key 6244 +#define SYS_keyctl 6245 +#define SYS_set_thread_area 6246 +#define SYS_inotify_init 6247 +#define SYS_inotify_add_watch 6248 +#define SYS_inotify_rm_watch 6249 +#define SYS_migrate_pages 6250 +#define SYS_openat 6251 +#define SYS_mkdirat 6252 +#define SYS_mknodat 6253 +#define SYS_fchownat 6254 +#define SYS_futimesat 6255 +#define SYS_newfstatat 6256 +#define SYS_unlinkat 6257 +#define SYS_renameat 6258 +#define SYS_linkat 6259 +#define SYS_symlinkat 6260 +#define SYS_readlinkat 6261 +#define SYS_fchmodat 6262 +#define SYS_faccessat 6263 +#define SYS_pselect6 6264 +#define SYS_ppoll 6265 +#define SYS_unshare 6266 +#define SYS_splice 6267 +#define SYS_sync_file_range 6268 +#define SYS_tee 6269 +#define SYS_vmsplice 6270 +#define SYS_move_pages 6271 +#define SYS_set_robust_list 6272 +#define SYS_get_robust_list 6273 +#define SYS_kexec_load 6274 +#define SYS_getcpu 6275 +#define SYS_epoll_pwait 6276 +#define SYS_ioprio_set 6277 +#define SYS_ioprio_get 6278 +#define SYS_utimensat 6279 +#define SYS_signalfd 6280 +#define SYS_timerfd 6281 +#define SYS_eventfd 6282 +#define SYS_fallocate 6283 +#define SYS_timerfd_create 6284 +#define SYS_timerfd_gettime32 6285 +#define SYS_timerfd_settime32 6286 +#define SYS_signalfd4 6287 +#define SYS_eventfd2 6288 +#define SYS_epoll_create1 6289 +#define SYS_dup3 6290 +#define SYS_pipe2 6291 +#define SYS_inotify_init1 6292 +#define SYS_preadv 6293 +#define SYS_pwritev 6294 +#define SYS_rt_tgsigqueueinfo 6295 +#define SYS_perf_event_open 6296 +#define SYS_accept4 6297 +#define SYS_recvmmsg 6298 +#define SYS_getdents64 6299 +#define SYS_fanotify_init 6300 +#define SYS_fanotify_mark 6301 +#define SYS_prlimit64 6302 +#define SYS_name_to_handle_at 6303 +#define SYS_open_by_handle_at 6304 +#define SYS_clock_adjtime 6305 +#define SYS_syncfs 6306 +#define SYS_sendmmsg 6307 +#define SYS_setns 6308 +#define SYS_process_vm_readv 6309 +#define SYS_process_vm_writev 6310 +#define SYS_kcmp 6311 +#define SYS_finit_module 6312 +#define SYS_sched_setattr 6313 +#define SYS_sched_getattr 6314 +#define SYS_renameat2 6315 +#define SYS_seccomp 6316 +#define SYS_getrandom 6317 +#define SYS_memfd_create 6318 +#define SYS_bpf 6319 +#define SYS_execveat 6320 +#define SYS_userfaultfd 6321 +#define SYS_membarrier 6322 +#define SYS_mlock2 6323 +#define SYS_copy_file_range 6324 +#define SYS_preadv2 6325 +#define SYS_pwritev2 6326 +#define SYS_pkey_mprotect 6327 +#define SYS_pkey_alloc 6328 +#define SYS_pkey_free 6329 +#define SYS_statx 6330 +#define SYS_rseq 6331 +#define SYS_io_pgetevents 6332 +#define SYS_clock_gettime64 6403 +#define SYS_clock_settime64 6404 +#define SYS_clock_adjtime64 6405 +#define SYS_clock_getres_time64 6406 +#define SYS_clock_nanosleep_time64 6407 +#define SYS_timer_gettime64 6408 +#define SYS_timer_settime64 6409 +#define SYS_timerfd_gettime64 6410 +#define SYS_timerfd_settime64 6411 +#define SYS_utimensat_time64 6412 +#define SYS_pselect6_time64 6413 +#define SYS_ppoll_time64 6414 +#define SYS_io_pgetevents_time64 6416 +#define SYS_recvmmsg_time64 6417 +#define SYS_mq_timedsend_time64 6418 +#define SYS_mq_timedreceive_time64 6419 +#define SYS_semtimedop_time64 6420 +#define SYS_rt_sigtimedwait_time64 6421 +#define SYS_futex_time64 6422 +#define SYS_sched_rr_get_interval_time64 6423 +#define SYS_pidfd_send_signal 6424 +#define SYS_io_uring_setup 6425 +#define SYS_io_uring_enter 6426 +#define SYS_io_uring_register 6427 +#define SYS_open_tree 6428 +#define SYS_move_mount 6429 +#define SYS_fsopen 6430 +#define SYS_fsconfig 6431 +#define SYS_fsmount 6432 +#define SYS_fspick 6433 +#define SYS_pidfd_open 6434 +#define SYS_clone3 6435 +#define SYS_close_range 6436 +#define SYS_openat2 6437 +#define SYS_pidfd_getfd 6438 +#define SYS_faccessat2 6439 +#define SYS_process_madvise 6440 +#define SYS_epoll_pwait2 6441 +#define SYS_mount_setattr 6442 +#define SYS_landlock_create_ruleset 6444 +#define SYS_landlock_add_rule 6445 +#define SYS_landlock_restrict_self 6446 +#define SYS_process_mrelease 6448 +#define SYS_futex_waitv 6449 +#define SYS_set_mempolicy_home_node 6450 +#define SYS_cachestat 6451 +#define SYS_fchmodat2 6452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/termios.h new file mode 100644 index 00000000..0940ce20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/termios.h @@ -0,0 +1,169 @@ +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_line; + cc_t c_cc[NCCS]; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VMIN 4 +#define VTIME 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSWTCH 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 +#define VEOF 16 +#define VEOL 17 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IUCLC 0001000 +#define IXON 0002000 +#define IXANY 0004000 +#define IXOFF 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define OLCUC 0000002 +#define ONLCR 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0000400 +#define NL0 0000000 +#define NL1 0000400 +#define CRDLY 0003000 +#define CR0 0000000 +#define CR1 0001000 +#define CR2 0002000 +#define CR3 0003000 +#define TABDLY 0014000 +#define TAB0 0000000 +#define TAB1 0004000 +#define TAB2 0010000 +#define TAB3 0014000 +#define BSDLY 0020000 +#define BS0 0000000 +#define BS1 0020000 +#define FFDLY 0100000 +#define FF0 0000000 +#define FF1 0100000 +#endif + +#define VTDLY 0040000 +#define VT0 0000000 +#define VT1 0040000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 0010001 +#define B115200 0010002 +#define B230400 0010003 +#define B460800 0010004 +#define B500000 0010005 +#define B576000 0010006 +#define B921600 0010007 +#define B1000000 0010010 +#define B1152000 0010011 +#define B1500000 0010012 +#define B2000000 0010013 +#define B2500000 0010014 +#define B3000000 0010015 +#define B3500000 0010016 +#define B4000000 0010017 + +#define CSIZE 0000060 +#define CS5 0000000 +#define CS6 0000020 +#define CS7 0000040 +#define CS8 0000060 +#define CSTOPB 0000100 +#define CREAD 0000200 +#define PARENB 0000400 +#define PARODD 0001000 +#define HUPCL 0002000 +#define CLOCAL 0004000 + +#define ISIG 0000001 +#define ICANON 0000002 +#define ECHO 0000010 +#define ECHOE 0000020 +#define ECHOK 0000040 +#define ECHONL 0000100 +#define NOFLSH 0000200 +#define IEXTEN 0000400 +#define TOSTOP 0100000 +#define ITOSTOP 0100000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 0010017 +#define CBAUDEX 0010000 +#define CIBAUD 002003600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0000004 +#define ECHOCTL 0001000 +#define ECHOPRT 0002000 +#define ECHOKE 0004000 +#define FLUSHO 0020000 +#define PENDIN 0040000 +#define EXTPROC 0200000 + +#define XTABS 0014000 +#define TIOCSER_TEMT 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/user.h new file mode 100644 index 00000000..0c2b245f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64-linux-muslabin32/bits/user.h @@ -0,0 +1,15 @@ +struct user { + unsigned long regs[102]; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long long start_code, start_data, start_stack; + long long signal; + unsigned long long *u_ar0; + unsigned long long magic; + char u_comm[32]; +}; + +#define ELF_NGREG 45 +#define ELF_NFPREG 33 + +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabi64/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mips64el-linux-gnuabin32/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabi/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h new file mode 100644 index 00000000..65b934d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/dlfcn.h @@ -0,0 +1,64 @@ +/* System dependent definitions for run-time dynamic loading. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _DLFCN_H +# error "Never use directly; include instead." +#endif + +/* The MODE argument to `dlopen' contains one of the following: */ +#define RTLD_LAZY 0x0001 /* Lazy function call binding. */ +#define RTLD_NOW 0x0002 /* Immediate function call binding. */ +#define RTLD_BINDING_MASK 0x3 /* Mask of binding time value. */ +#define RTLD_NOLOAD 0x00008 /* Do not load the object. */ +#define RTLD_DEEPBIND 0x00010 /* Use deep binding. */ + +/* If the following bit is set in the MODE argument to `dlopen', + the symbols of the loaded object and its dependencies are made + visible as if the object were linked directly into the program. */ +#define RTLD_GLOBAL 0x0004 + +/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. + The implementation does this by default and so we can define the + value to zero. */ +#define RTLD_LOCAL 0 + +/* Do not delete object when closed. */ +#define RTLD_NODELETE 0x01000 + +#ifdef __USE_GNU +/* To support profiling of shared objects it is a good idea to call + the function found using `dlsym' using the following macro since + these calls do not use the PLT. But this would mean the dynamic + loader has no chance to find out when the function is called. The + macro applies the necessary magic so that profiling is possible. + Rewrite + foo = (*fctp) (arg1, arg2); + into + foo = DL_CALL_FCT (fctp, (arg1, arg2)); +*/ +# define DL_CALL_FCT(fctp, args) \ + (_dl_mcount_wrapper_check ((void *) (fctp)), (*(fctp)) args) + +__BEGIN_DECLS + +/* This function calls the profiling functions. */ +extern void _dl_mcount_wrapper_check (void *__selfpc) __THROW; + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h new file mode 100644 index 00000000..73757ea5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/errno.h @@ -0,0 +1,52 @@ +/* Error constants. MIPS/Linux specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_ERRNO_H + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 158 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 165 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 166 +# endif + +# ifndef ERFKILL +# define ERFKILL 167 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 168 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h new file mode 100644 index 00000000..9527e5f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 00000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 02000000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 00000200 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..3a2de29d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,97 @@ +/* Macros to control TS 18661-3 glibc features on MIPS platforms. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this + glibc includes corresponding *f128 interfaces for it. */ +#ifndef __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +/* glibc does not support _Float128 for platforms where long double is + normally binary128 when building with long double as binary64. + GCC's default for supported scalar modes does not support it either + in that case. */ +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc. */ +#define __HAVE_DISTINCT_FLOAT128 0 + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix f128 exists only since GCC 7.0. */ +# define __f128(x) x##l +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +# define __CFLOAT128 _Complex long double +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 + +/* The type _Float128 exists only since GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +typedef long double _Float128; +# endif + +/* Various built-in functions do not exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() (__builtin_huge_vall ()) +# define __builtin_inff128() (__builtin_infl ()) +# define __builtin_nanf128(x) (__builtin_nanl (x)) +# define __builtin_nansf128(x) (__builtin_nansl (x)) +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h new file mode 100644 index 00000000..20e56c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 02000000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 00000200 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h new file mode 100644 index 00000000..0b157b68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ioctl-types.h @@ -0,0 +1,75 @@ +/* Structure types for pre-termios terminal ioctls. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 8 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + char c_line; /* line discipline */ + /* Yes, this is really NCCS. */ + unsigned char c_cc[32 /* NCCS */]; /* control characters */ + }; + +/* modem lines */ +#define TIOCM_LE 0x001 /* line enable */ +#define TIOCM_DTR 0x002 /* data terminal ready */ +#define TIOCM_RTS 0x004 /* request to send */ +#define TIOCM_ST 0x010 /* secondary transmit */ +#define TIOCM_SR 0x020 /* secondary receive */ +#define TIOCM_CTS 0x040 /* clear to send */ +#define TIOCM_CAR 0x100 /* carrier detect */ +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RNG 0x200 /* ring */ +#define TIOCM_RI TIOCM_RNG +#define TIOCM_DSR 0x400 /* data set ready */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h new file mode 100644 index 00000000..b7bec615 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/ipctypes.h @@ -0,0 +1,31 @@ +/* bits/ipctypes.h -- Define some types used by SysV IPC/MSG/SHM. MIPS version + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* + * Never include directly. + */ + +#ifndef _BITS_IPCTYPES_H +#define _BITS_IPCTYPES_H 1 + +#include + +typedef __SLONG32_TYPE __ipc_pid_t; + + +#endif /* bits/ipctypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h new file mode 100644 index 00000000..ee158cf7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/mman.h @@ -0,0 +1,44 @@ +/* Definitions for POSIX memory map interface. Linux/MIPS version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +/* These are Linux-specific. */ +#define MAP_NORESERVE 0x0400 /* don't check for reservations */ +#define MAP_GROWSDOWN 0x1000 /* stack-like segment */ +#define MAP_DENYWRITE 0x2000 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x4000 /* mark it as an executable */ +#define MAP_LOCKED 0x8000 /* pages are locked */ +#define MAP_POPULATE 0x10000 /* populate (prefault) pagetables */ +#define MAP_NONBLOCK 0x20000 /* do not block on IO */ +#define MAP_STACK 0x40000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x80000 /* Create huge page mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +#define __MAP_ANONYMOUS 0x0800 + +/* Include generic Linux declarations. */ +#include + +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h new file mode 100644 index 00000000..7043ba84 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x400 +# define POLLREMOVE 0x1000 +# define POLLRDHUP 0x2000 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h new file mode 100644 index 00000000..6bc41570 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. MIPS Linux version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Minimum size for a thread. At least two pages with 64k pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..226d51c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/pthreadtypes-arch.h @@ -0,0 +1,44 @@ +/* Machine-specific pthread type layouts. MIPS version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 36 +# define __SIZEOF_PTHREAD_MUTEX_T 24 +# define __SIZEOF_PTHREAD_RWLOCK_T 32 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h new file mode 100644 index 00000000..021ce359 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/resource.h @@ -0,0 +1,231 @@ +/* Bit values & structures for resource limits. Linux/MIPS version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 7, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 8, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if _MIPS_SIM == _ABI64 +/* The N64 syscall uses this value. */ +# define RLIM_INFINITY 0xffffffffffffffffUL +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffUL +# endif +#else +/* The O32 and N32 syscalls use 0x7fffffff. */ +# ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +# else +# define RLIM_INFINITY 0xffffffffffffffffULL +# endif +# ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffULL +# endif +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h new file mode 100644 index 00000000..b220656c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/semaphore.h @@ -0,0 +1,36 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SEMAPHORE_H +# error "Never use directly; include instead." +#endif + +#if _MIPS_SIM == _ABI64 +# define __SIZEOF_SEM_T 32 +#else +# define __SIZEOF_SEM_T 16 +#endif + +/* Value returned if `sem_open' failed. */ +#define SEM_FAILED ((sem_t *) 0) + + +typedef union +{ + char __size[__SIZEOF_SEM_T]; + long int __align; +} sem_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h new file mode 100644 index 00000000..350b518b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/shmlba.h @@ -0,0 +1,24 @@ +/* Define SHMLBA. MIPS version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +/* Segment low boundary address multiple. */ +#define SHMLBA 0x40000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h new file mode 100644 index 00000000..5505891b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigaction.h @@ -0,0 +1,94 @@ +/* The proper definitions for Linux/MIPS's sigaction. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Special flags. */ + int sa_flags; + + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* The ABI says here are two unused ints following. */ + /* Restore handler. */ + void (*sa_restorer) (void); + +#if _MIPS_SZPTR < 64 + int sa_resv[1]; +#endif + }; + +/* Bits in `sa_flags'. */ +/* Please note that some Linux kernels versions use different values for these + flags which is a bug in those kernel versions. */ +#define SA_NOCLDSTOP 0x00000001 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_NOP 0 /* 0 is unused to catch errors */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 3 /* Set the set of blocked signals. */ +#ifdef __USE_MISC +# define SIG_SETMASK32 256 /* Goodie from SGI for BSD compatibility: + set only the low 32 bit of the sigset. */ +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h new file mode 100644 index 00000000..f605e22d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if _MIPS_SIM == _ABIO32 + +/* Certain unused fields were replaced with new ones in 2.6.12-rc4. + The changes were as follows: + + sc_cause -> sc_hi1 + sc_badvaddr -> sc_lo1 + sc_sigset[0] -> sc_hi2 + sc_sigset[1] -> sc_lo2 + sc_sigset[2] -> sc_hi3 + sc_sigset[3] -> sc_lo3 + + sc_regmask, sc_ownedfp and sc_fpc_eir are not used. */ +struct sigcontext { + unsigned int sc_regmask; + unsigned int sc_status; + __extension__ unsigned long long sc_pc; + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + unsigned int sc_ownedfp; + unsigned int sc_fpc_csr; + unsigned int sc_fpc_eir; + unsigned int sc_used_math; + unsigned int sc_dsp; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_mdlo; + unsigned long sc_hi1; + unsigned long sc_lo1; + unsigned long sc_hi2; + unsigned long sc_lo2; + unsigned long sc_hi3; + unsigned long sc_lo3; +}; + +#else + +/* This structure changed in 2.6.12-rc4 when DSP support was added. */ +struct sigcontext { + __extension__ unsigned long long sc_regs[32]; + __extension__ unsigned long long sc_fpregs[32]; + __extension__ unsigned long long sc_mdhi; + __extension__ unsigned long long sc_hi1; + __extension__ unsigned long long sc_hi2; + __extension__ unsigned long long sc_hi3; + __extension__ unsigned long long sc_mdlo; + __extension__ unsigned long long sc_lo1; + __extension__ unsigned long long sc_lo2; + __extension__ unsigned long long sc_lo3; + __extension__ unsigned long long sc_pc; + unsigned int sc_fpc_csr; + unsigned int sc_used_math; + unsigned int sc_dsp; + unsigned int sc_reserved; +}; + +#endif /* _MIPS_SIM != _ABIO32 */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/siginfo-arch.h new file mode 100644 index 00000000..d639ba20 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/siginfo-arch.h @@ -0,0 +1,13 @@ +/* Architecture-specific adjustments to siginfo_t. MIPS version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* MIPS has the si_code and si_errno fields in the opposite order from + all other architectures. */ +#define __SI_ERRNO_THEN_CODE 0 + +/* MIPS also has different values for SI_ASYNCIO, SI_MESGQ, and SI_TIMER + than all other architectures. */ +#define __SI_ASYNCIO_AFTER_SIGIO 0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h new file mode 100644 index 00000000..af0460ab --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 02000000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 00000200 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h new file mode 100644 index 00000000..f8201472 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/signum-arch.h @@ -0,0 +1,65 @@ +/* Signal number definitions. Linux/MIPS version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGNUM_H +#define _BITS_SIGNUM_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/MIPS. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGPWR 19 /* Power failure imminent. */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 21 /* Urgent data is available at a socket. */ +#define SIGSTOP 23 /* Stop, unblockable. */ +#define SIGTSTP 24 /* Keyboard stop. */ +#define SIGCONT 25 /* Continue. */ +#define SIGCHLD 18 /* Child terminated or stopped. */ +#define SIGTTIN 26 /* Background read from control terminal. */ +#define SIGTTOU 27 /* Background write to control terminal. */ +#define SIGPOLL 22 /* Pollable event occurred (System V). */ +#define SIGXCPU 30 /* CPU time limit exceeded. */ +#define SIGVTALRM 28 /* Virtual timer expired. */ +#define SIGPROF 29 /* Profiling timer expired. */ +#define SIGXFSZ 31 /* File size limit exceeded. */ +#define SIGUSR1 16 /* User-defined signal 1. */ +#define SIGUSR2 17 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +/* By default no real-time signals are supported. */ +#define __SIGRTMIN 32 +#define __SIGRTMAX 127 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h new file mode 100644 index 00000000..ec962210 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for MIPS. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 4105 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 4100 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4099 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 4102 +# define SO_SNDTIMEO 4101 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 4102 +# define SO_SNDTIMEO_OLD 4101 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h new file mode 100644 index 00000000..50649dcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/MIPS. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_DGRAM = 1, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_STREAM = 2, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, +#define SOCK_DCCP SOCK_DCCP /* Datagram Congestion Control Protocol. */ + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 02000000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 00000200 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h new file mode 100644 index 00000000..179b003f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/statfs.h @@ -0,0 +1,73 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t*/ + +struct statfs + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_files; + __fsblkcnt_t f_ffree; + __fsblkcnt_t f_bavail; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; +#endif + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + long int f_type; +#define f_fstyp f_type + long int f_bsize; + long int f_frsize; /* Fragment size - unsupported */ + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_files; + __fsblkcnt64_t f_ffree; + __fsblkcnt64_t f_bavail; + + /* Linux specials */ + __fsid_t f_fsid; + long int f_namelen; + long int f_flags; + long int f_spare[5]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATFS_F_NAMELEN \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h new file mode 100644 index 00000000..fd005c0b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_mutex.h @@ -0,0 +1,56 @@ +/* MIPS internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if _MIPS_SIM == _ABI64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if _MIPS_SIM == _ABI64 + int __spins; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { 0 } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_rwlock.h new file mode 100644 index 00000000..f1daa949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/struct_rwlock.h @@ -0,0 +1,71 @@ +/* MIPS internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if _MIPS_SIM == _ABI64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; +# else + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if _MIPS_SIM == _ABI64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# if __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +# else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +# endif +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h new file mode 100644 index 00000000..530680ff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 /* Interrupt character [ISIG]. */ +#define VQUIT 1 /* Quit character [ISIG]. */ +#define VERASE 2 /* Erase character [ICANON]. */ +#define VKILL 3 /* Kill-line character [ICANON]. */ +#define VMIN 4 /* Minimum number of bytes read at once [!ICANON]. */ +#define VTIME 5 /* Time-out value (tenths of a second) [!ICANON]. */ +#define VEOL2 6 /* Second EOL character [ICANON]. */ +#define VSWTC 7 +#define VSWTCH VSWTC +#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ +#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ +#define VSUSP 10 /* Suspend character [ISIG]. */ + /* VDSUSP is not supported on Linux. */ +/* #define VDSUSP 11 / * Delayed suspend character [ISIG]. */ +#define VREPRINT 12 /* Reprint-line character [ICANON]. */ +#define VDISCARD 13 /* Discard character [IEXTEN]. */ +#define VWERASE 14 /* Word-erase character [ICANON]. */ +#define VLNEXT 15 /* Literal-next character [IEXTEN]. */ +#define VEOF 16 /* End-of-file character [ICANON]. */ +#define VEOL 17 /* End-of-line character [ICANON]. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h new file mode 100644 index 00000000..0920d035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-c_lflag.h @@ -0,0 +1,46 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0000001 /* Enable signals. */ +#define ICANON 0000002 /* Do erase and kill processing. */ +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0000004 +#endif +#define ECHO 0000010 /* Enable echo. */ +#define ECHOE 0000020 /* Visual erase for ERASE. */ +#define ECHOK 0000040 /* Echo NL after KILL. */ +#define ECHONL 0000100 /* Echo NL even if ECHO is off. */ +#define NOFLSH 0000200 /* Disable flush after interrupt. */ +#define IEXTEN 0000400 /* Enable DISCARD and LNEXT. */ +#ifdef __USE_MISC +# define ECHOCTL 0001000 /* Echo control characters as ^X. */ +# define ECHOPRT 0002000 /* Hardcopy visual erase. */ +# define ECHOKE 0004000 /* Visual erase for KILL. */ +# define FLUSHO 0020000 +# define PENDIN 0040000 /* Retype pending input (state). */ +#endif +#define TOSTOP 0100000 /* Send SIGTTOU for background output. */ +#define ITOSTOP TOSTOP +#ifdef __USE_MISC +# define EXTPROC 0200000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h new file mode 100644 index 00000000..f6dd2de6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 32 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h new file mode 100644 index 00000000..97705b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/termios-tcflow.h @@ -0,0 +1,26 @@ +/* termios local mode definitions. Linux/mips version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* tcsetattr uses these */ +#define TCSANOW 0x540e /* Same as TCSETS; change immediately. */ +#define TCSADRAIN 0x540f /* Same as TCSETSW; change when pending output is written. */ +#define TCSAFLUSH 0x5410 /* Same as TCSETSF; flush pending input before changing. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h new file mode 100644 index 00000000..58172ec3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 02000000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 00000200 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h new file mode 100644 index 00000000..ca303c5d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/stack_t.h @@ -0,0 +1,33 @@ +/* Define stack_t. MIPS Linux version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __stack_t_defined +#define __stack_t_defined 1 + +#define __need_size_t +#include + +/* Structure describing a signal stack. */ +typedef struct + { + void *ss_sp; + size_t ss_size; + int ss_flags; + } stack_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..5539b03f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -0,0 +1,62 @@ +/* Linux/MIPS implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 +# ifdef __MIPSEL__ + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_stime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_ctime; /* time of last change */ + unsigned long int __msg_ctime_high; +# else + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# endif +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..2545ab94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -0,0 +1,36 @@ +/* MIPS implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __sem_otime_high; + __syscall_ulong_t __sem_ctime_high; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..bf252474 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -0,0 +1,53 @@ +/* Linux/MIPS implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ + size_t shm_segsz; /* size of segment in bytes */ +# if __TIMESIZE == 32 + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ +# if __TIMESIZE == 32 + unsigned short int __shm_atime_high; + unsigned short int __shm_dtime_high; + unsigned short int __shm_ctime_high; + unsigned short int __glibc_reserved4; +# else + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +# endif +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 00000000..8e99e59d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. MIPS version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h new file mode 100644 index 00000000..b3800f55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/mipsel-linux-gnueabihf/ieee754.h @@ -0,0 +1,326 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +#ifndef __LDBL_MANT_DIG__ +# include +# define __LDBL_MANT_DIG__ LDBL_MANT_DIG +#endif + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#if __LDBL_MANT_DIG__ == 113 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +#elif __LDBL_MANT_DIG__ == 64 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:32; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:32; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee; + + /* This is for NaNs in the IEEE 854 double-extended-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int empty:16; + unsigned int one:1; + unsigned int quiet_nan:1; + unsigned int mantissa0:30; + unsigned int mantissa1:32; +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int mantissa1:32; +# else + unsigned int mantissa1:32; + unsigned int mantissa0:30; + unsigned int quiet_nan:1; + unsigned int one:1; + unsigned int exponent:15; + unsigned int negative:1; + unsigned int empty:16; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff + +#elif __LDBL_MANT_DIG__ == 53 + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else +# if __FLOAT_WORD_ORDER == __BIG_ENDIAN + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; + unsigned int mantissa1:32; +# else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +# endif +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + +#endif /* __LDBL_MANT_DIG__ == 53 */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/auxvec.h new file mode 100644 index 00000000..668dcedf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/auxvec.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_AUXVEC_H +#define _ASM_POWERPC_AUXVEC_H + +/* + * We need to put in some extra aux table entries to tell glibc what + * the cache block size is, so it can use the dcbz instruction safely. + */ +#define AT_DCACHEBSIZE 19 +#define AT_ICACHEBSIZE 20 +#define AT_UCACHEBSIZE 21 +/* A special ignored type value for PPC, for glibc compatibility. */ +#define AT_IGNOREPPC 22 + +/* The vDSO location. We have to use the same value as x86 for glibc's + * sake :-) + */ +#define AT_SYSINFO_EHDR 33 + +/* + * AT_*CACHEBSIZE above represent the cache *block* size which is + * the size that is affected by the cache management instructions. + * + * It doesn't nececssarily matches the cache *line* size which is + * more of a performance tuning hint. Additionally the latter can + * be different for the different cache levels. + * + * The set of entries below represent more extensive information + * about the caches, in the form of two entry per cache type, + * one entry containing the cache size in bytes, and the other + * containing the cache line size in bytes in the bottom 16 bits + * and the cache associativity in the next 16 bits. + * + * The associativity is such that if N is the 16-bit value, the + * cache is N way set associative. A value if 0xffff means fully + * associative, a value of 1 means directly mapped. + * + * For all these fields, a value of 0 means that the information + * is not known. + */ + +#define AT_L1I_CACHESIZE 40 +#define AT_L1I_CACHEGEOMETRY 41 +#define AT_L1D_CACHESIZE 42 +#define AT_L1D_CACHEGEOMETRY 43 +#define AT_L2_CACHESIZE 44 +#define AT_L2_CACHEGEOMETRY 45 +#define AT_L3_CACHESIZE 46 +#define AT_L3_CACHEGEOMETRY 47 + +#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */ + +#define AT_VECTOR_SIZE_ARCH 15 /* entries in ARCH_DLINFO */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..a4fe6867 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bitsperlong.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_POWERPC_BITSPERLONG_H +#define __ASM_POWERPC_BITSPERLONG_H + +#if defined(__powerpc64__) +# define __BITS_PER_LONG 64 +#else +# define __BITS_PER_LONG 32 +#endif + +#include + +#endif /* __ASM_POWERPC_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bootx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bootx.h new file mode 100644 index 00000000..5a96c99e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/bootx.h @@ -0,0 +1,133 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file describes the structure passed from the BootX application + * (for MacOS) when it is used to boot Linux. + * + * Written by Benjamin Herrenschmidt. + */ + + +#ifndef __ASM_BOOTX_H__ +#define __ASM_BOOTX_H__ + +#include + +#ifdef macintosh +#include +#include "linux_type_defs.h" +#endif + +#ifdef macintosh +/* All this requires PowerPC alignment */ +#pragma options align=power +#endif + +/* On kernel entry: + * + * r3 = 0x426f6f58 ('BooX') + * r4 = pointer to boot_infos + * r5 = NULL + * + * Data and instruction translation disabled, interrupts + * disabled, kernel loaded at physical 0x00000000 on PCI + * machines (will be different on NuBus). + */ + +#define BOOT_INFO_VERSION 5 +#define BOOT_INFO_COMPATIBLE_VERSION 1 + +/* Bit in the architecture flag mask. More to be defined in + future versions. Note that either BOOT_ARCH_PCI or + BOOT_ARCH_NUBUS is set. The other BOOT_ARCH_NUBUS_xxx are + set additionally when BOOT_ARCH_NUBUS is set. + */ +#define BOOT_ARCH_PCI 0x00000001UL +#define BOOT_ARCH_NUBUS 0x00000002UL +#define BOOT_ARCH_NUBUS_PDM 0x00000010UL +#define BOOT_ARCH_NUBUS_PERFORMA 0x00000020UL +#define BOOT_ARCH_NUBUS_POWERBOOK 0x00000040UL + +/* Maximum number of ranges in phys memory map */ +#define MAX_MEM_MAP_SIZE 26 + +/* This is the format of an element in the physical memory map. Note that + the map is optional and current BootX will only build it for pre-PCI + machines */ +typedef struct boot_info_map_entry +{ + __u32 physAddr; /* Physical starting address */ + __u32 size; /* Size in bytes */ +} boot_info_map_entry_t; + + +/* Here are the boot informations that are passed to the bootstrap + * Note that the kernel arguments and the device tree are appended + * at the end of this structure. */ +typedef struct boot_infos +{ + /* Version of this structure */ + __u32 version; + /* backward compatible down to version: */ + __u32 compatible_version; + + /* NEW (vers. 2) this holds the current _logical_ base addr of + the frame buffer (for use by early boot message) */ + __u8* logicalDisplayBase; + + /* NEW (vers. 4) Apple's machine identification */ + __u32 machineID; + + /* NEW (vers. 4) Detected hw architecture */ + __u32 architecture; + + /* The device tree (internal addresses relative to the beginning of the tree, + * device tree offset relative to the beginning of this structure). + * On pre-PCI macintosh (BOOT_ARCH_PCI bit set to 0 in architecture), this + * field is 0. + */ + __u32 deviceTreeOffset; /* Device tree offset */ + __u32 deviceTreeSize; /* Size of the device tree */ + + /* Some infos about the current MacOS display */ + __u32 dispDeviceRect[4]; /* left,top,right,bottom */ + __u32 dispDeviceDepth; /* (8, 16 or 32) */ + __u8* dispDeviceBase; /* base address (physical) */ + __u32 dispDeviceRowBytes; /* rowbytes (in bytes) */ + __u32 dispDeviceColorsOffset; /* Colormap (8 bits only) or 0 (*) */ + /* Optional offset in the registry to the current + * MacOS display. (Can be 0 when not detected) */ + __u32 dispDeviceRegEntryOffset; + + /* Optional pointer to boot ramdisk (offset from this structure) */ + __u32 ramDisk; + __u32 ramDiskSize; /* size of ramdisk image */ + + /* Kernel command line arguments (offset from this structure) */ + __u32 kernelParamsOffset; + + /* ALL BELOW NEW (vers. 4) */ + + /* This defines the physical memory. Valid with BOOT_ARCH_NUBUS flag + (non-PCI) only. On PCI, memory is contiguous and its size is in the + device-tree. */ + boot_info_map_entry_t + physMemoryMap[MAX_MEM_MAP_SIZE]; /* Where the phys memory is */ + __u32 physMemoryMapSize; /* How many entries in map */ + + + /* The framebuffer size (optional, currently 0) */ + __u32 frameBufferSize; /* Represents a max size, can be 0. */ + + /* NEW (vers. 5) */ + + /* Total params size (args + colormap + device tree + ramdisk) */ + __u32 totalParamsSize; + +} boot_infos_t; + + +#ifdef macintosh +#pragma options align=reset +#endif + +#endif /* __ASM_BOOTX_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/byteorder.h new file mode 100644 index 00000000..3688b555 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/byteorder.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_BYTEORDER_H +#define _ASM_POWERPC_BYTEORDER_H + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifdef __LITTLE_ENDIAN__ +#include +#else +#include +#endif + +#endif /* _ASM_POWERPC_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/cputable.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/cputable.h new file mode 100644 index 00000000..f3098571 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/cputable.h @@ -0,0 +1,63 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_POWERPC_CPUTABLE_H +#define __ASM_POWERPC_CPUTABLE_H + +/* in AT_HWCAP */ +#define PPC_FEATURE_32 0x80000000 +#define PPC_FEATURE_64 0x40000000 +#define PPC_FEATURE_601_INSTR 0x20000000 +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 +#define PPC_FEATURE_HAS_FPU 0x08000000 +#define PPC_FEATURE_HAS_MMU 0x04000000 +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 +#define PPC_FEATURE_HAS_SPE 0x00800000 +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 +#define PPC_FEATURE_NO_TB 0x00100000 +#define PPC_FEATURE_POWER4 0x00080000 +#define PPC_FEATURE_POWER5 0x00040000 +#define PPC_FEATURE_POWER5_PLUS 0x00020000 +#define PPC_FEATURE_CELL 0x00010000 +#define PPC_FEATURE_BOOKE 0x00008000 +#define PPC_FEATURE_SMT 0x00004000 +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 +#define PPC_FEATURE_PA6T 0x00000800 +#define PPC_FEATURE_HAS_DFP 0x00000400 +#define PPC_FEATURE_POWER6_EXT 0x00000200 +#define PPC_FEATURE_ARCH_2_06 0x00000100 +#define PPC_FEATURE_HAS_VSX 0x00000080 + +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT \ + 0x00000040 + +/* Reserved - do not use 0x00000004 */ +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +/* in AT_HWCAP2 */ +#define PPC_FEATURE2_ARCH_2_07 0x80000000 +#define PPC_FEATURE2_HTM 0x40000000 +#define PPC_FEATURE2_DSCR 0x20000000 +#define PPC_FEATURE2_EBB 0x10000000 +#define PPC_FEATURE2_ISEL 0x08000000 +#define PPC_FEATURE2_TAR 0x04000000 +#define PPC_FEATURE2_VEC_CRYPTO 0x02000000 +#define PPC_FEATURE2_HTM_NOSC 0x01000000 +#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.00 */ +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float 128-bit */ +#define PPC_FEATURE2_DARN 0x00200000 /* darn random number insn */ +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall */ +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM w/out suspended state */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1 */ +#define PPC_FEATURE2_MMA 0x00020000 /* Matrix Multiply Assist */ + +/* + * IMPORTANT! + * All future PPC_FEATURE definitions should be allocated in cooperation with + * OPAL / skiboot firmware, in accordance with the ibm,powerpc-cpu-features + * device tree binding. + */ + +#endif /* __ASM_POWERPC_CPUTABLE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/eeh.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/eeh.h new file mode 100644 index 00000000..e2f84dc0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/eeh.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Copyright IBM Corp. 2015 + * + * Authors: Gavin Shan + */ + +#ifndef _ASM_POWERPC_EEH_H +#define _ASM_POWERPC_EEH_H + +/* PE states */ +#define EEH_PE_STATE_NORMAL 0 /* Normal state */ +#define EEH_PE_STATE_RESET 1 /* PE reset asserted */ +#define EEH_PE_STATE_STOPPED_IO_DMA 2 /* Frozen PE */ +#define EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */ +#define EEH_PE_STATE_UNAVAIL 5 /* Unavailable */ + +/* EEH error types and functions */ +#define EEH_ERR_TYPE_32 0 /* 32-bits error */ +#define EEH_ERR_TYPE_64 1 /* 64-bits error */ +#define EEH_ERR_FUNC_MIN 0 +#define EEH_ERR_FUNC_LD_MEM_ADDR 0 /* Memory load */ +#define EEH_ERR_FUNC_LD_MEM_DATA 1 +#define EEH_ERR_FUNC_LD_IO_ADDR 2 /* IO load */ +#define EEH_ERR_FUNC_LD_IO_DATA 3 +#define EEH_ERR_FUNC_LD_CFG_ADDR 4 /* Config load */ +#define EEH_ERR_FUNC_LD_CFG_DATA 5 +#define EEH_ERR_FUNC_ST_MEM_ADDR 6 /* Memory store */ +#define EEH_ERR_FUNC_ST_MEM_DATA 7 +#define EEH_ERR_FUNC_ST_IO_ADDR 8 /* IO store */ +#define EEH_ERR_FUNC_ST_IO_DATA 9 +#define EEH_ERR_FUNC_ST_CFG_ADDR 10 /* Config store */ +#define EEH_ERR_FUNC_ST_CFG_DATA 11 +#define EEH_ERR_FUNC_DMA_RD_ADDR 12 /* DMA read */ +#define EEH_ERR_FUNC_DMA_RD_DATA 13 +#define EEH_ERR_FUNC_DMA_RD_MASTER 14 +#define EEH_ERR_FUNC_DMA_RD_TARGET 15 +#define EEH_ERR_FUNC_DMA_WR_ADDR 16 /* DMA write */ +#define EEH_ERR_FUNC_DMA_WR_DATA 17 +#define EEH_ERR_FUNC_DMA_WR_MASTER 18 +#define EEH_ERR_FUNC_DMA_WR_TARGET 19 +#define EEH_ERR_FUNC_MAX 19 + +#endif /* _ASM_POWERPC_EEH_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/elf.h new file mode 100644 index 00000000..81bcec6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/elf.h @@ -0,0 +1,298 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * ELF register definitions.. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_ELF_H +#define _ASM_POWERPC_ELF_H + + +#include + +#include +#include +#include + +/* PowerPC relocations defined by the ABIs */ +#define R_PPC_NONE 0 +#define R_PPC_ADDR32 1 /* 32bit absolute address */ +#define R_PPC_ADDR24 2 /* 26bit address, 2 bits ignored. */ +#define R_PPC_ADDR16 3 /* 16bit absolute address */ +#define R_PPC_ADDR16_LO 4 /* lower 16bit of absolute address */ +#define R_PPC_ADDR16_HI 5 /* high 16bit of absolute address */ +#define R_PPC_ADDR16_HA 6 /* adjusted high 16bit */ +#define R_PPC_ADDR14 7 /* 16bit address, 2 bits ignored */ +#define R_PPC_ADDR14_BRTAKEN 8 +#define R_PPC_ADDR14_BRNTAKEN 9 +#define R_PPC_REL24 10 /* PC relative 26 bit */ +#define R_PPC_REL14 11 /* PC relative 16 bit */ +#define R_PPC_REL14_BRTAKEN 12 +#define R_PPC_REL14_BRNTAKEN 13 +#define R_PPC_GOT16 14 +#define R_PPC_GOT16_LO 15 +#define R_PPC_GOT16_HI 16 +#define R_PPC_GOT16_HA 17 +#define R_PPC_PLTREL24 18 +#define R_PPC_COPY 19 +#define R_PPC_GLOB_DAT 20 +#define R_PPC_JMP_SLOT 21 +#define R_PPC_RELATIVE 22 +#define R_PPC_LOCAL24PC 23 +#define R_PPC_UADDR32 24 +#define R_PPC_UADDR16 25 +#define R_PPC_REL32 26 +#define R_PPC_PLT32 27 +#define R_PPC_PLTREL32 28 +#define R_PPC_PLT16_LO 29 +#define R_PPC_PLT16_HI 30 +#define R_PPC_PLT16_HA 31 +#define R_PPC_SDAREL16 32 +#define R_PPC_SECTOFF 33 +#define R_PPC_SECTOFF_LO 34 +#define R_PPC_SECTOFF_HI 35 +#define R_PPC_SECTOFF_HA 36 + +/* PowerPC relocations defined for the TLS access ABI. */ +#define R_PPC_TLS 67 /* none (sym+add)@tls */ +#define R_PPC_DTPMOD32 68 /* word32 (sym+add)@dtpmod */ +#define R_PPC_TPREL16 69 /* half16* (sym+add)@tprel */ +#define R_PPC_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ +#define R_PPC_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ +#define R_PPC_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ +#define R_PPC_TPREL32 73 /* word32 (sym+add)@tprel */ +#define R_PPC_DTPREL16 74 /* half16* (sym+add)@dtprel */ +#define R_PPC_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ +#define R_PPC_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ +#define R_PPC_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ +#define R_PPC_DTPREL32 78 /* word32 (sym+add)@dtprel */ +#define R_PPC_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ +#define R_PPC_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ +#define R_PPC_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ +#define R_PPC_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ +#define R_PPC_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ +#define R_PPC_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ +#define R_PPC_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ +#define R_PPC_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ +#define R_PPC_GOT_TPREL16 87 /* half16* (sym+add)@got@tprel */ +#define R_PPC_GOT_TPREL16_LO 88 /* half16 (sym+add)@got@tprel@l */ +#define R_PPC_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ +#define R_PPC_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ +#define R_PPC_GOT_DTPREL16 91 /* half16* (sym+add)@got@dtprel */ +#define R_PPC_GOT_DTPREL16_LO 92 /* half16* (sym+add)@got@dtprel@l */ +#define R_PPC_GOT_DTPREL16_HI 93 /* half16* (sym+add)@got@dtprel@h */ +#define R_PPC_GOT_DTPREL16_HA 94 /* half16* (sym+add)@got@dtprel@ha */ + +/* keep this the last entry. */ +#define R_PPC_NUM 95 + + +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#define ELF_NVMX 34 /* includes all vector registers */ +#define ELF_NVSX 32 /* includes all VSX registers */ +#define ELF_NTMSPRREG 3 /* include tfhar, tfiar, texasr */ +#define ELF_NEBB 3 /* includes ebbrr, ebbhr, bescr */ +#define ELF_NPMU 5 /* includes siar, sdar, sier, mmcr2, mmcr0 */ +#define ELF_NPKEY 3 /* includes amr, iamr, uamor */ +#define ELF_NDEXCR 2 /* includes dexcr, hdexcr */ +#define ELF_NHASHKEYR 1 /* includes hashkeyr */ + +typedef unsigned long elf_greg_t64; +typedef elf_greg_t64 elf_gregset_t64[ELF_NGREG]; + +typedef unsigned int elf_greg_t32; +typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG]; +typedef elf_gregset_t32 compat_elf_gregset_t; + +/* + * ELF_ARCH, CLASS, and DATA are used to set parameters in the core dumps. + */ +#ifdef __powerpc64__ +# define ELF_NVRREG32 33 /* includes vscr & vrsave stuffed together */ +# define ELF_NVRREG 34 /* includes vscr & vrsave in split vectors */ +# define ELF_NVSRHALFREG 32 /* Half the vsx registers */ +# define ELF_GREG_TYPE elf_greg_t64 +# define ELF_ARCH EM_PPC64 +# define ELF_CLASS ELFCLASS64 +typedef elf_greg_t64 elf_greg_t; +typedef elf_gregset_t64 elf_gregset_t; +#else +# define ELF_NEVRREG 34 /* includes acc (as 2) */ +# define ELF_NVRREG 33 /* includes vscr */ +# define ELF_GREG_TYPE elf_greg_t32 +# define ELF_ARCH EM_PPC +# define ELF_CLASS ELFCLASS32 +typedef elf_greg_t32 elf_greg_t; +typedef elf_gregset_t32 elf_gregset_t; +#endif /* __powerpc64__ */ + +#ifdef __BIG_ENDIAN__ +#define ELF_DATA ELFDATA2MSB +#else +#define ELF_DATA ELFDATA2LSB +#endif + +/* Floating point registers */ +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* Altivec registers */ +/* + * The entries with indexes 0-31 contain the corresponding vector registers. + * The entry with index 32 contains the vscr as the last word (offset 12) + * within the quadword. This allows the vscr to be stored as either a + * quadword (since it must be copied via a vector register to/from storage) + * or as a word. + * + * 64-bit kernel notes: The entry at index 33 contains the vrsave as the first + * word (offset 0) within the quadword. + * + * This definition of the VMX state is compatible with the current PPC32 + * ptrace interface. This allows signal handling and ptrace to use the same + * structures. This also simplifies the implementation of a bi-arch + * (combined (32- and 64-bit) gdb. + * + * Note that it's _not_ compatible with 32 bits ucontext which stuffs the + * vrsave along with vscr and so only uses 33 vectors for the register set + */ +typedef __vector128 elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; +#ifdef __powerpc64__ +typedef elf_vrreg_t elf_vrregset_t32[ELF_NVRREG32]; +typedef elf_fpreg_t elf_vsrreghalf_t32[ELF_NVSRHALFREG]; +#endif + +/* PowerPC64 relocations defined by the ABIs */ +#define R_PPC64_NONE R_PPC_NONE +#define R_PPC64_ADDR32 R_PPC_ADDR32 /* 32bit absolute address. */ +#define R_PPC64_ADDR24 R_PPC_ADDR24 /* 26bit address, word aligned. */ +#define R_PPC64_ADDR16 R_PPC_ADDR16 /* 16bit absolute address. */ +#define R_PPC64_ADDR16_LO R_PPC_ADDR16_LO /* lower 16bits of abs. address. */ +#define R_PPC64_ADDR16_HI R_PPC_ADDR16_HI /* high 16bits of abs. address. */ +#define R_PPC64_ADDR16_HA R_PPC_ADDR16_HA /* adjusted high 16bits. */ +#define R_PPC64_ADDR14 R_PPC_ADDR14 /* 16bit address, word aligned. */ +#define R_PPC64_ADDR14_BRTAKEN R_PPC_ADDR14_BRTAKEN +#define R_PPC64_ADDR14_BRNTAKEN R_PPC_ADDR14_BRNTAKEN +#define R_PPC64_REL24 R_PPC_REL24 /* PC relative 26 bit, word aligned. */ +#define R_PPC64_REL14 R_PPC_REL14 /* PC relative 16 bit. */ +#define R_PPC64_REL14_BRTAKEN R_PPC_REL14_BRTAKEN +#define R_PPC64_REL14_BRNTAKEN R_PPC_REL14_BRNTAKEN +#define R_PPC64_GOT16 R_PPC_GOT16 +#define R_PPC64_GOT16_LO R_PPC_GOT16_LO +#define R_PPC64_GOT16_HI R_PPC_GOT16_HI +#define R_PPC64_GOT16_HA R_PPC_GOT16_HA + +#define R_PPC64_COPY R_PPC_COPY +#define R_PPC64_GLOB_DAT R_PPC_GLOB_DAT +#define R_PPC64_JMP_SLOT R_PPC_JMP_SLOT +#define R_PPC64_RELATIVE R_PPC_RELATIVE + +#define R_PPC64_UADDR32 R_PPC_UADDR32 +#define R_PPC64_UADDR16 R_PPC_UADDR16 +#define R_PPC64_REL32 R_PPC_REL32 +#define R_PPC64_PLT32 R_PPC_PLT32 +#define R_PPC64_PLTREL32 R_PPC_PLTREL32 +#define R_PPC64_PLT16_LO R_PPC_PLT16_LO +#define R_PPC64_PLT16_HI R_PPC_PLT16_HI +#define R_PPC64_PLT16_HA R_PPC_PLT16_HA + +#define R_PPC64_SECTOFF R_PPC_SECTOFF +#define R_PPC64_SECTOFF_LO R_PPC_SECTOFF_LO +#define R_PPC64_SECTOFF_HI R_PPC_SECTOFF_HI +#define R_PPC64_SECTOFF_HA R_PPC_SECTOFF_HA +#define R_PPC64_ADDR30 37 /* word30 (S + A - P) >> 2. */ +#define R_PPC64_ADDR64 38 /* doubleword64 S + A. */ +#define R_PPC64_ADDR16_HIGHER 39 /* half16 #higher(S + A). */ +#define R_PPC64_ADDR16_HIGHERA 40 /* half16 #highera(S + A). */ +#define R_PPC64_ADDR16_HIGHEST 41 /* half16 #highest(S + A). */ +#define R_PPC64_ADDR16_HIGHESTA 42 /* half16 #highesta(S + A). */ +#define R_PPC64_UADDR64 43 /* doubleword64 S + A. */ +#define R_PPC64_REL64 44 /* doubleword64 S + A - P. */ +#define R_PPC64_PLT64 45 /* doubleword64 L + A. */ +#define R_PPC64_PLTREL64 46 /* doubleword64 L + A - P. */ +#define R_PPC64_TOC16 47 /* half16* S + A - .TOC. */ +#define R_PPC64_TOC16_LO 48 /* half16 #lo(S + A - .TOC.). */ +#define R_PPC64_TOC16_HI 49 /* half16 #hi(S + A - .TOC.). */ +#define R_PPC64_TOC16_HA 50 /* half16 #ha(S + A - .TOC.). */ +#define R_PPC64_TOC 51 /* doubleword64 .TOC. */ +#define R_PPC64_PLTGOT16 52 /* half16* M + A. */ +#define R_PPC64_PLTGOT16_LO 53 /* half16 #lo(M + A). */ +#define R_PPC64_PLTGOT16_HI 54 /* half16 #hi(M + A). */ +#define R_PPC64_PLTGOT16_HA 55 /* half16 #ha(M + A). */ + +#define R_PPC64_ADDR16_DS 56 /* half16ds* (S + A) >> 2. */ +#define R_PPC64_ADDR16_LO_DS 57 /* half16ds #lo(S + A) >> 2. */ +#define R_PPC64_GOT16_DS 58 /* half16ds* (G + A) >> 2. */ +#define R_PPC64_GOT16_LO_DS 59 /* half16ds #lo(G + A) >> 2. */ +#define R_PPC64_PLT16_LO_DS 60 /* half16ds #lo(L + A) >> 2. */ +#define R_PPC64_SECTOFF_DS 61 /* half16ds* (R + A) >> 2. */ +#define R_PPC64_SECTOFF_LO_DS 62 /* half16ds #lo(R + A) >> 2. */ +#define R_PPC64_TOC16_DS 63 /* half16ds* (S + A - .TOC.) >> 2. */ +#define R_PPC64_TOC16_LO_DS 64 /* half16ds #lo(S + A - .TOC.) >> 2. */ +#define R_PPC64_PLTGOT16_DS 65 /* half16ds* (M + A) >> 2. */ +#define R_PPC64_PLTGOT16_LO_DS 66 /* half16ds #lo(M + A) >> 2. */ + +/* PowerPC64 relocations defined for the TLS access ABI. */ +#define R_PPC64_TLS 67 /* none (sym+add)@tls */ +#define R_PPC64_DTPMOD64 68 /* doubleword64 (sym+add)@dtpmod */ +#define R_PPC64_TPREL16 69 /* half16* (sym+add)@tprel */ +#define R_PPC64_TPREL16_LO 70 /* half16 (sym+add)@tprel@l */ +#define R_PPC64_TPREL16_HI 71 /* half16 (sym+add)@tprel@h */ +#define R_PPC64_TPREL16_HA 72 /* half16 (sym+add)@tprel@ha */ +#define R_PPC64_TPREL64 73 /* doubleword64 (sym+add)@tprel */ +#define R_PPC64_DTPREL16 74 /* half16* (sym+add)@dtprel */ +#define R_PPC64_DTPREL16_LO 75 /* half16 (sym+add)@dtprel@l */ +#define R_PPC64_DTPREL16_HI 76 /* half16 (sym+add)@dtprel@h */ +#define R_PPC64_DTPREL16_HA 77 /* half16 (sym+add)@dtprel@ha */ +#define R_PPC64_DTPREL64 78 /* doubleword64 (sym+add)@dtprel */ +#define R_PPC64_GOT_TLSGD16 79 /* half16* (sym+add)@got@tlsgd */ +#define R_PPC64_GOT_TLSGD16_LO 80 /* half16 (sym+add)@got@tlsgd@l */ +#define R_PPC64_GOT_TLSGD16_HI 81 /* half16 (sym+add)@got@tlsgd@h */ +#define R_PPC64_GOT_TLSGD16_HA 82 /* half16 (sym+add)@got@tlsgd@ha */ +#define R_PPC64_GOT_TLSLD16 83 /* half16* (sym+add)@got@tlsld */ +#define R_PPC64_GOT_TLSLD16_LO 84 /* half16 (sym+add)@got@tlsld@l */ +#define R_PPC64_GOT_TLSLD16_HI 85 /* half16 (sym+add)@got@tlsld@h */ +#define R_PPC64_GOT_TLSLD16_HA 86 /* half16 (sym+add)@got@tlsld@ha */ +#define R_PPC64_GOT_TPREL16_DS 87 /* half16ds* (sym+add)@got@tprel */ +#define R_PPC64_GOT_TPREL16_LO_DS 88 /* half16ds (sym+add)@got@tprel@l */ +#define R_PPC64_GOT_TPREL16_HI 89 /* half16 (sym+add)@got@tprel@h */ +#define R_PPC64_GOT_TPREL16_HA 90 /* half16 (sym+add)@got@tprel@ha */ +#define R_PPC64_GOT_DTPREL16_DS 91 /* half16ds* (sym+add)@got@dtprel */ +#define R_PPC64_GOT_DTPREL16_LO_DS 92 /* half16ds (sym+add)@got@dtprel@l */ +#define R_PPC64_GOT_DTPREL16_HI 93 /* half16 (sym+add)@got@dtprel@h */ +#define R_PPC64_GOT_DTPREL16_HA 94 /* half16 (sym+add)@got@dtprel@ha */ +#define R_PPC64_TPREL16_DS 95 /* half16ds* (sym+add)@tprel */ +#define R_PPC64_TPREL16_LO_DS 96 /* half16ds (sym+add)@tprel@l */ +#define R_PPC64_TPREL16_HIGHER 97 /* half16 (sym+add)@tprel@higher */ +#define R_PPC64_TPREL16_HIGHERA 98 /* half16 (sym+add)@tprel@highera */ +#define R_PPC64_TPREL16_HIGHEST 99 /* half16 (sym+add)@tprel@highest */ +#define R_PPC64_TPREL16_HIGHESTA 100 /* half16 (sym+add)@tprel@highesta */ +#define R_PPC64_DTPREL16_DS 101 /* half16ds* (sym+add)@dtprel */ +#define R_PPC64_DTPREL16_LO_DS 102 /* half16ds (sym+add)@dtprel@l */ +#define R_PPC64_DTPREL16_HIGHER 103 /* half16 (sym+add)@dtprel@higher */ +#define R_PPC64_DTPREL16_HIGHERA 104 /* half16 (sym+add)@dtprel@highera */ +#define R_PPC64_DTPREL16_HIGHEST 105 /* half16 (sym+add)@dtprel@highest */ +#define R_PPC64_DTPREL16_HIGHESTA 106 /* half16 (sym+add)@dtprel@highesta */ +#define R_PPC64_TLSGD 107 +#define R_PPC64_TLSLD 108 +#define R_PPC64_TOCSAVE 109 + +#define R_PPC64_REL24_NOTOC 116 +#define R_PPC64_ENTRY 118 + +#define R_PPC64_PCREL34 132 +#define R_PPC64_GOT_PCREL34 133 + +#define R_PPC64_REL16 249 +#define R_PPC64_REL16_LO 250 +#define R_PPC64_REL16_HI 251 +#define R_PPC64_REL16_HA 252 + +/* Keep this the last entry. */ +#define R_PPC64_NUM 253 + +#endif /* _ASM_POWERPC_ELF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/epapr_hcalls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/epapr_hcalls.h new file mode 100644 index 00000000..59cc6631 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/epapr_hcalls.h @@ -0,0 +1,99 @@ +/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */ +/* + * ePAPR hcall interface + * + * Copyright 2008-2011 Freescale Semiconductor, Inc. + * + * Author: Timur Tabi + * + * This file is provided under a dual BSD/GPL license. When using or + * redistributing this file, you may do so under either license. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Freescale Semiconductor nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _ASM_POWERPC_EPAPR_HCALLS_H +#define _ASM_POWERPC_EPAPR_HCALLS_H + +#define EV_BYTE_CHANNEL_SEND 1 +#define EV_BYTE_CHANNEL_RECEIVE 2 +#define EV_BYTE_CHANNEL_POLL 3 +#define EV_INT_SET_CONFIG 4 +#define EV_INT_GET_CONFIG 5 +#define EV_INT_SET_MASK 6 +#define EV_INT_GET_MASK 7 +#define EV_INT_IACK 9 +#define EV_INT_EOI 10 +#define EV_INT_SEND_IPI 11 +#define EV_INT_SET_TASK_PRIORITY 12 +#define EV_INT_GET_TASK_PRIORITY 13 +#define EV_DOORBELL_SEND 14 +#define EV_MSGSND 15 +#define EV_IDLE 16 + +/* vendor ID: epapr */ +#define EV_LOCAL_VENDOR_ID 0 /* for private use */ +#define EV_EPAPR_VENDOR_ID 1 +#define EV_FSL_VENDOR_ID 2 /* Freescale Semiconductor */ +#define EV_IBM_VENDOR_ID 3 /* IBM */ +#define EV_GHS_VENDOR_ID 4 /* Green Hills Software */ +#define EV_ENEA_VENDOR_ID 5 /* Enea */ +#define EV_WR_VENDOR_ID 6 /* Wind River Systems */ +#define EV_AMCC_VENDOR_ID 7 /* Applied Micro Circuits */ +#define EV_KVM_VENDOR_ID 42 /* KVM */ + +/* The max number of bytes that a byte channel can send or receive per call */ +#define EV_BYTE_CHANNEL_MAX_BYTES 16 + + +#define _EV_HCALL_TOKEN(id, num) (((id) << 16) | (num)) +#define EV_HCALL_TOKEN(hcall_num) _EV_HCALL_TOKEN(EV_EPAPR_VENDOR_ID, hcall_num) + +/* epapr return codes */ +#define EV_SUCCESS 0 +#define EV_EPERM 1 /* Operation not permitted */ +#define EV_ENOENT 2 /* Entry Not Found */ +#define EV_EIO 3 /* I/O error occurred */ +#define EV_EAGAIN 4 /* The operation had insufficient + * resources to complete and should be + * retried + */ +#define EV_ENOMEM 5 /* There was insufficient memory to + * complete the operation */ +#define EV_EFAULT 6 /* Bad guest address */ +#define EV_ENODEV 7 /* No such device */ +#define EV_EINVAL 8 /* An argument supplied to the hcall + was out of range or invalid */ +#define EV_INTERNAL 9 /* An internal error occurred */ +#define EV_CONFIG 10 /* A configuration error was detected */ +#define EV_INVALID_STATE 11 /* The object is in an invalid state */ +#define EV_UNIMPLEMENTED 12 /* Unimplemented hypercall */ +#define EV_BUFFER_OVERFLOW 13 /* Caller-supplied buffer too small */ + +#endif /* _ASM_POWERPC_EPAPR_HCALLS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/errno.h new file mode 100644 index 00000000..aac2e88b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/errno.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_ERRNO_H +#define _ASM_POWERPC_ERRNO_H + +#undef EDEADLOCK +#include + +#undef EDEADLOCK +#define EDEADLOCK 58 /* File locking deadlock error */ + +#endif /* _ASM_POWERPC_ERRNO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/fcntl.h new file mode 100644 index 00000000..eab979db --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/fcntl.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_FCNTL_H +#define _ASM_FCNTL_H + +#define O_DIRECTORY 040000 /* must be a directory */ +#define O_NOFOLLOW 0100000 /* don't follow links */ +#define O_LARGEFILE 0200000 +#define O_DIRECT 0400000 /* direct disk access hint */ + +#include + +#endif /* _ASM_FCNTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctl.h new file mode 100644 index 00000000..11a08029 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctl.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_IOCTL_H +#define _ASM_POWERPC_IOCTL_H + +#define _IOC_SIZEBITS 13 +#define _IOC_DIRBITS 3 + +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#include + +#endif /* _ASM_POWERPC_IOCTL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctls.h new file mode 100644 index 00000000..ea4bc253 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ioctls.h @@ -0,0 +1,123 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_IOCTLS_H +#define _ASM_POWERPC_IOCTLS_H + +#include + +#define FIOCLEX _IO('f', 1) +#define FIONCLEX _IO('f', 2) +#define FIOASYNC _IOW('f', 125, int) +#define FIONBIO _IOW('f', 126, int) +#define FIONREAD _IOR('f', 127, int) +#define TIOCINQ FIONREAD +#define FIOQSIZE _IOR('f', 128, loff_t) + +#define TIOCGETP _IOR('t', 8, struct sgttyb) +#define TIOCSETP _IOW('t', 9, struct sgttyb) +#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */ + +#define TIOCSETC _IOW('t', 17, struct tchars) +#define TIOCGETC _IOR('t', 18, struct tchars) +#define TCGETS _IOR('t', 19, struct termios) +#define TCSETS _IOW('t', 20, struct termios) +#define TCSETSW _IOW('t', 21, struct termios) +#define TCSETSF _IOW('t', 22, struct termios) + +#define TCGETA _IOR('t', 23, struct termio) +#define TCSETA _IOW('t', 24, struct termio) +#define TCSETAW _IOW('t', 25, struct termio) +#define TCSETAF _IOW('t', 28, struct termio) + +#define TCSBRK _IO('t', 29) +#define TCXONC _IO('t', 30) +#define TCFLSH _IO('t', 31) + +#define TIOCSWINSZ _IOW('t', 103, struct winsize) +#define TIOCGWINSZ _IOR('t', 104, struct winsize) +#define TIOCSTART _IO('t', 110) /* start output, like ^Q */ +#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */ +#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ + +#define TIOCGLTC _IOR('t', 116, struct ltchars) +#define TIOCSLTC _IOW('t', 117, struct ltchars) +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) + +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E + +#define TIOCSTI 0x5412 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +# define TIOCM_LE 0x001 +# define TIOCM_DTR 0x002 +# define TIOCM_RTS 0x004 +# define TIOCM_ST 0x008 +# define TIOCM_SR 0x010 +# define TIOCM_CTS 0x020 +# define TIOCM_CAR 0x040 +# define TIOCM_RNG 0x080 +# define TIOCM_DSR 0x100 +# define TIOCM_CD TIOCM_CAR +# define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCLINUX 0x541C +#define TIOCCONS 0x541D +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TIOCPKT 0x5420 +# define TIOCPKT_DATA 0 +# define TIOCPKT_FLUSHREAD 1 +# define TIOCPKT_FLUSHWRITE 2 +# define TIOCPKT_STOP 4 +# define TIOCPKT_START 8 +# define TIOCPKT_NOSTOP 16 +# define TIOCPKT_DOSTOP 32 +# define TIOCPKT_IOCTL 64 + + +#define TIOCNOTTY 0x5422 +#define TIOCSETD 0x5423 +#define TIOCGETD 0x5424 +#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ +#define TIOCSBRK 0x5427 /* BSD compatibility */ +#define TIOCCBRK 0x5428 /* BSD compatibility */ +#define TIOCGSID 0x5429 /* Return the session ID of FD */ +#define TIOCGRS485 0x542e +#define TIOCSRS485 0x542f +#define TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ +#define TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ +#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */ +#define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */ +#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */ +#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */ +#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */ +#define TIOCGISO7816 _IOR('T', 0x42, struct serial_iso7816) +#define TIOCSISO7816 _IOWR('T', 0x43, struct serial_iso7816) + +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 /* For debugging only */ +#define TIOCSERGETLSR 0x5459 /* Get line status register */ + /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ +# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ +#define TIOCSERGETMULTI 0x545A /* Get multiport config */ +#define TIOCSERSETMULTI 0x545B /* Set multiport config */ + +#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */ +#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */ + +#endif /* _ASM_POWERPC_IOCTLS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ipcbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ipcbuf.h new file mode 100644 index 00000000..3e612180 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ipcbuf.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_IPCBUF_H +#define _ASM_POWERPC_IPCBUF_H + +/* + * The ipc64_perm structure for the powerpc is identical to + * kern_ipc_perm as we have always had 32-bit UIDs and GIDs in the + * kernel. Note extra padding because this structure is passed back + * and forth between kernel and user space. Pad space is left for: + * - 1 32-bit value to fill up for 8-byte alignment + * - 2 miscellaneous 64-bit values + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#include + +struct ipc64_perm +{ + __kernel_key_t key; + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_uid_t cuid; + __kernel_gid_t cgid; + __kernel_mode_t mode; + unsigned int seq; + unsigned int __pad1; + unsigned long long __unused1; + unsigned long long __unused2; +}; + +#endif /* _ASM_POWERPC_IPCBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm.h new file mode 100644 index 00000000..31121598 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm.h @@ -0,0 +1,782 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Copyright IBM Corp. 2007 + * + * Authors: Hollis Blanchard + */ + +#ifndef __LINUX_KVM_POWERPC_H +#define __LINUX_KVM_POWERPC_H + +#include + +/* Select powerpc specific features in */ +#define __KVM_HAVE_SPAPR_TCE +#define __KVM_HAVE_PPC_SMT +#define __KVM_HAVE_IRQCHIP +#define __KVM_HAVE_IRQ_LINE + +/* Not always available, but if it is, this is the correct offset. */ +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 + +struct kvm_regs { + __u64 pc; + __u64 cr; + __u64 ctr; + __u64 lr; + __u64 xer; + __u64 msr; + __u64 srr0; + __u64 srr1; + __u64 pid; + + __u64 sprg0; + __u64 sprg1; + __u64 sprg2; + __u64 sprg3; + __u64 sprg4; + __u64 sprg5; + __u64 sprg6; + __u64 sprg7; + + __u64 gpr[32]; +}; + +#define KVM_SREGS_E_IMPL_NONE 0 +#define KVM_SREGS_E_IMPL_FSL 1 + +#define KVM_SREGS_E_FSL_PIDn (1 << 0) /* PID1/PID2 */ + +/* flags for kvm_run.flags */ +#define KVM_RUN_PPC_NMI_DISP_MASK (3 << 0) +#define KVM_RUN_PPC_NMI_DISP_FULLY_RECOV (1 << 0) +#define KVM_RUN_PPC_NMI_DISP_LIMITED_RECOV (2 << 0) +#define KVM_RUN_PPC_NMI_DISP_NOT_RECOV (3 << 0) + +/* + * Feature bits indicate which sections of the sregs struct are valid, + * both in KVM_GET_SREGS and KVM_SET_SREGS. On KVM_SET_SREGS, registers + * corresponding to unset feature bits will not be modified. This allows + * restoring a checkpoint made without that feature, while keeping the + * default values of the new registers. + * + * KVM_SREGS_E_BASE contains: + * CSRR0/1 (refers to SRR2/3 on 40x) + * ESR + * DEAR + * MCSR + * TSR + * TCR + * DEC + * TB + * VRSAVE (USPRG0) + */ +#define KVM_SREGS_E_BASE (1 << 0) + +/* + * KVM_SREGS_E_ARCH206 contains: + * + * PIR + * MCSRR0/1 + * DECAR + * IVPR + */ +#define KVM_SREGS_E_ARCH206 (1 << 1) + +/* + * Contains EPCR, plus the upper half of 64-bit registers + * that are 32-bit on 32-bit implementations. + */ +#define KVM_SREGS_E_64 (1 << 2) + +#define KVM_SREGS_E_SPRG8 (1 << 3) +#define KVM_SREGS_E_MCIVPR (1 << 4) + +/* + * IVORs are used -- contains IVOR0-15, plus additional IVORs + * in combination with an appropriate feature bit. + */ +#define KVM_SREGS_E_IVOR (1 << 5) + +/* + * Contains MAS0-4, MAS6-7, TLBnCFG, MMUCFG. + * Also TLBnPS if MMUCFG[MAVN] = 1. + */ +#define KVM_SREGS_E_ARCH206_MMU (1 << 6) + +/* DBSR, DBCR, IAC, DAC, DVC */ +#define KVM_SREGS_E_DEBUG (1 << 7) + +/* Enhanced debug -- DSRR0/1, SPRG9 */ +#define KVM_SREGS_E_ED (1 << 8) + +/* Embedded Floating Point (SPE) -- IVOR32-34 if KVM_SREGS_E_IVOR */ +#define KVM_SREGS_E_SPE (1 << 9) + +/* + * DEPRECATED! USE ONE_REG FOR THIS ONE! + * External Proxy (EXP) -- EPR + */ +#define KVM_SREGS_EXP (1 << 10) + +/* External PID (E.PD) -- EPSC/EPLC */ +#define KVM_SREGS_E_PD (1 << 11) + +/* Processor Control (E.PC) -- IVOR36-37 if KVM_SREGS_E_IVOR */ +#define KVM_SREGS_E_PC (1 << 12) + +/* Page table (E.PT) -- EPTCFG */ +#define KVM_SREGS_E_PT (1 << 13) + +/* Embedded Performance Monitor (E.PM) -- IVOR35 if KVM_SREGS_E_IVOR */ +#define KVM_SREGS_E_PM (1 << 14) + +/* + * Special updates: + * + * Some registers may change even while a vcpu is not running. + * To avoid losing these changes, by default these registers are + * not updated by KVM_SET_SREGS. To force an update, set the bit + * in u.e.update_special corresponding to the register to be updated. + * + * The update_special field is zero on return from KVM_GET_SREGS. + * + * When restoring a checkpoint, the caller can set update_special + * to 0xffffffff to ensure that everything is restored, even new features + * that the caller doesn't know about. + */ +#define KVM_SREGS_E_UPDATE_MCSR (1 << 0) +#define KVM_SREGS_E_UPDATE_TSR (1 << 1) +#define KVM_SREGS_E_UPDATE_DEC (1 << 2) +#define KVM_SREGS_E_UPDATE_DBSR (1 << 3) + +/* + * In KVM_SET_SREGS, reserved/pad fields must be left untouched from a + * previous KVM_GET_REGS. + * + * Unless otherwise indicated, setting any register with KVM_SET_SREGS + * directly sets its value. It does not trigger any special semantics such + * as write-one-to-clear. Calling KVM_SET_SREGS on an unmodified struct + * just received from KVM_GET_SREGS is always a no-op. + */ +struct kvm_sregs { + __u32 pvr; + union { + struct { + __u64 sdr1; + struct { + struct { + __u64 slbe; + __u64 slbv; + } slb[64]; + } ppc64; + struct { + __u32 sr[16]; + __u64 ibat[8]; + __u64 dbat[8]; + } ppc32; + } s; + struct { + union { + struct { /* KVM_SREGS_E_IMPL_FSL */ + __u32 features; /* KVM_SREGS_E_FSL_ */ + __u32 svr; + __u64 mcar; + __u32 hid0; + + /* KVM_SREGS_E_FSL_PIDn */ + __u32 pid1, pid2; + } fsl; + __u8 pad[256]; + } impl; + + __u32 features; /* KVM_SREGS_E_ */ + __u32 impl_id; /* KVM_SREGS_E_IMPL_ */ + __u32 update_special; /* KVM_SREGS_E_UPDATE_ */ + __u32 pir; /* read-only */ + __u64 sprg8; + __u64 sprg9; /* E.ED */ + __u64 csrr0; + __u64 dsrr0; /* E.ED */ + __u64 mcsrr0; + __u32 csrr1; + __u32 dsrr1; /* E.ED */ + __u32 mcsrr1; + __u32 esr; + __u64 dear; + __u64 ivpr; + __u64 mcivpr; + __u64 mcsr; /* KVM_SREGS_E_UPDATE_MCSR */ + + __u32 tsr; /* KVM_SREGS_E_UPDATE_TSR */ + __u32 tcr; + __u32 decar; + __u32 dec; /* KVM_SREGS_E_UPDATE_DEC */ + + /* + * Userspace can read TB directly, but the + * value reported here is consistent with "dec". + * + * Read-only. + */ + __u64 tb; + + __u32 dbsr; /* KVM_SREGS_E_UPDATE_DBSR */ + __u32 dbcr[3]; + /* + * iac/dac registers are 64bit wide, while this API + * interface provides only lower 32 bits on 64 bit + * processors. ONE_REG interface is added for 64bit + * iac/dac registers. + */ + __u32 iac[4]; + __u32 dac[2]; + __u32 dvc[2]; + __u8 num_iac; /* read-only */ + __u8 num_dac; /* read-only */ + __u8 num_dvc; /* read-only */ + __u8 pad; + + __u32 epr; /* EXP */ + __u32 vrsave; /* a.k.a. USPRG0 */ + __u32 epcr; /* KVM_SREGS_E_64 */ + + __u32 mas0; + __u32 mas1; + __u64 mas2; + __u64 mas7_3; + __u32 mas4; + __u32 mas6; + + __u32 ivor_low[16]; /* IVOR0-15 */ + __u32 ivor_high[18]; /* IVOR32+, plus room to expand */ + + __u32 mmucfg; /* read-only */ + __u32 eptcfg; /* E.PT, read-only */ + __u32 tlbcfg[4];/* read-only */ + __u32 tlbps[4]; /* read-only */ + + __u32 eplc, epsc; /* E.PD */ + } e; + __u8 pad[1020]; + } u; +}; + +struct kvm_fpu { + __u64 fpr[32]; +}; + +/* + * Defines for h/w breakpoint, watchpoint (read, write or both) and + * software breakpoint. + * These are used as "type" in KVM_SET_GUEST_DEBUG ioctl and "status" + * for KVM_DEBUG_EXIT. + */ +#define KVMPPC_DEBUG_NONE 0x0 +#define KVMPPC_DEBUG_BREAKPOINT (1UL << 1) +#define KVMPPC_DEBUG_WATCH_WRITE (1UL << 2) +#define KVMPPC_DEBUG_WATCH_READ (1UL << 3) +struct kvm_debug_exit_arch { + __u64 address; + /* + * exiting to userspace because of h/w breakpoint, watchpoint + * (read, write or both) and software breakpoint. + */ + __u32 status; + __u32 reserved; +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { + struct { + /* H/W breakpoint/watchpoint address */ + __u64 addr; + /* + * Type denotes h/w breakpoint, read watchpoint, write + * watchpoint or watchpoint (both read and write). + */ + __u32 type; + __u32 reserved; + } bp[16]; +}; + +/* Debug related defines */ +/* + * kvm_guest_debug->control is a 32 bit field. The lower 16 bits are generic + * and upper 16 bits are architecture specific. Architecture specific defines + * that ioctl is for setting hardware breakpoint or software breakpoint. + */ +#define KVM_GUESTDBG_USE_SW_BP 0x00010000 +#define KVM_GUESTDBG_USE_HW_BP 0x00020000 + +/* definition of registers in kvm_run */ +struct kvm_sync_regs { +}; + +#define KVM_INTERRUPT_SET -1U +#define KVM_INTERRUPT_UNSET -2U +#define KVM_INTERRUPT_SET_LEVEL -3U + +#define KVM_CPU_440 1 +#define KVM_CPU_E500V2 2 +#define KVM_CPU_3S_32 3 +#define KVM_CPU_3S_64 4 +#define KVM_CPU_E500MC 5 + +/* for KVM_CAP_SPAPR_TCE */ +struct kvm_create_spapr_tce { + __u64 liobn; + __u32 window_size; +}; + +/* for KVM_CAP_SPAPR_TCE_64 */ +struct kvm_create_spapr_tce_64 { + __u64 liobn; + __u32 page_shift; + __u32 flags; + __u64 offset; /* in pages */ + __u64 size; /* in pages */ +}; + +/* for KVM_ALLOCATE_RMA */ +struct kvm_allocate_rma { + __u64 rma_size; +}; + +/* for KVM_CAP_PPC_RTAS */ +struct kvm_rtas_token_args { + char name[120]; + __u64 token; /* Use a token of 0 to undefine a mapping */ +}; + +struct kvm_book3e_206_tlb_entry { + __u32 mas8; + __u32 mas1; + __u64 mas2; + __u64 mas7_3; +}; + +struct kvm_book3e_206_tlb_params { + /* + * For mmu types KVM_MMU_FSL_BOOKE_NOHV and KVM_MMU_FSL_BOOKE_HV: + * + * - The number of ways of TLB0 must be a power of two between 2 and + * 16. + * - TLB1 must be fully associative. + * - The size of TLB0 must be a multiple of the number of ways, and + * the number of sets must be a power of two. + * - The size of TLB1 may not exceed 64 entries. + * - TLB0 supports 4 KiB pages. + * - The page sizes supported by TLB1 are as indicated by + * TLB1CFG (if MMUCFG[MAVN] = 0) or TLB1PS (if MMUCFG[MAVN] = 1) + * as returned by KVM_GET_SREGS. + * - TLB2 and TLB3 are reserved, and their entries in tlb_sizes[] + * and tlb_ways[] must be zero. + * + * tlb_ways[n] = tlb_sizes[n] means the array is fully associative. + * + * KVM will adjust TLBnCFG based on the sizes configured here, + * though arrays greater than 2048 entries will have TLBnCFG[NENTRY] + * set to zero. + */ + __u32 tlb_sizes[4]; + __u32 tlb_ways[4]; + __u32 reserved[8]; +}; + +/* For KVM_PPC_GET_HTAB_FD */ +struct kvm_get_htab_fd { + __u64 flags; + __u64 start_index; + __u64 reserved[2]; +}; + +/* Values for kvm_get_htab_fd.flags */ +#define KVM_GET_HTAB_BOLTED_ONLY ((__u64)0x1) +#define KVM_GET_HTAB_WRITE ((__u64)0x2) + +/* + * Data read on the file descriptor is formatted as a series of + * records, each consisting of a header followed by a series of + * `n_valid' HPTEs (16 bytes each), which are all valid. Following + * those valid HPTEs there are `n_invalid' invalid HPTEs, which + * are not represented explicitly in the stream. The same format + * is used for writing. + */ +struct kvm_get_htab_header { + __u32 index; + __u16 n_valid; + __u16 n_invalid; +}; + +/* For KVM_PPC_CONFIGURE_V3_MMU */ +struct kvm_ppc_mmuv3_cfg { + __u64 flags; + __u64 process_table; /* second doubleword of partition table entry */ +}; + +/* Flag values for KVM_PPC_CONFIGURE_V3_MMU */ +#define KVM_PPC_MMUV3_RADIX 1 /* 1 = radix mode, 0 = HPT */ +#define KVM_PPC_MMUV3_GTSE 2 /* global translation shootdown enb. */ + +/* For KVM_PPC_GET_RMMU_INFO */ +struct kvm_ppc_rmmu_info { + struct kvm_ppc_radix_geom { + __u8 page_shift; + __u8 level_bits[4]; + __u8 pad[3]; + } geometries[8]; + __u32 ap_encodings[8]; +}; + +/* For KVM_PPC_GET_CPU_CHAR */ +struct kvm_ppc_cpu_char { + __u64 character; /* characteristics of the CPU */ + __u64 behaviour; /* recommended software behaviour */ + __u64 character_mask; /* valid bits in character */ + __u64 behaviour_mask; /* valid bits in behaviour */ +}; + +/* + * Values for character and character_mask. + * These are identical to the values used by H_GET_CPU_CHARACTERISTICS. + */ +#define KVM_PPC_CPU_CHAR_SPEC_BAR_ORI31 (1ULL << 63) +#define KVM_PPC_CPU_CHAR_BCCTRL_SERIALISED (1ULL << 62) +#define KVM_PPC_CPU_CHAR_L1D_FLUSH_ORI30 (1ULL << 61) +#define KVM_PPC_CPU_CHAR_L1D_FLUSH_TRIG2 (1ULL << 60) +#define KVM_PPC_CPU_CHAR_L1D_THREAD_PRIV (1ULL << 59) +#define KVM_PPC_CPU_CHAR_BR_HINT_HONOURED (1ULL << 58) +#define KVM_PPC_CPU_CHAR_MTTRIG_THR_RECONF (1ULL << 57) +#define KVM_PPC_CPU_CHAR_COUNT_CACHE_DIS (1ULL << 56) +#define KVM_PPC_CPU_CHAR_BCCTR_FLUSH_ASSIST (1ull << 54) + +#define KVM_PPC_CPU_BEHAV_FAVOUR_SECURITY (1ULL << 63) +#define KVM_PPC_CPU_BEHAV_L1D_FLUSH_PR (1ULL << 62) +#define KVM_PPC_CPU_BEHAV_BNDS_CHK_SPEC_BAR (1ULL << 61) +#define KVM_PPC_CPU_BEHAV_FLUSH_COUNT_CACHE (1ull << 58) + +/* Per-vcpu XICS interrupt controller state */ +#define KVM_REG_PPC_ICP_STATE (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8c) + +#define KVM_REG_PPC_ICP_CPPR_SHIFT 56 /* current proc priority */ +#define KVM_REG_PPC_ICP_CPPR_MASK 0xff +#define KVM_REG_PPC_ICP_XISR_SHIFT 32 /* interrupt status field */ +#define KVM_REG_PPC_ICP_XISR_MASK 0xffffff +#define KVM_REG_PPC_ICP_MFRR_SHIFT 24 /* pending IPI priority */ +#define KVM_REG_PPC_ICP_MFRR_MASK 0xff +#define KVM_REG_PPC_ICP_PPRI_SHIFT 16 /* pending irq priority */ +#define KVM_REG_PPC_ICP_PPRI_MASK 0xff + +#define KVM_REG_PPC_VP_STATE (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x8d) + +/* Device control API: PPC-specific devices */ +#define KVM_DEV_MPIC_GRP_MISC 1 +#define KVM_DEV_MPIC_BASE_ADDR 0 /* 64-bit */ + +#define KVM_DEV_MPIC_GRP_REGISTER 2 /* 32-bit */ +#define KVM_DEV_MPIC_GRP_IRQ_ACTIVE 3 /* 32-bit */ + +/* One-Reg API: PPC-specific registers */ +#define KVM_REG_PPC_HIOR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x1) +#define KVM_REG_PPC_IAC1 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x2) +#define KVM_REG_PPC_IAC2 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x3) +#define KVM_REG_PPC_IAC3 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x4) +#define KVM_REG_PPC_IAC4 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x5) +#define KVM_REG_PPC_DAC1 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x6) +#define KVM_REG_PPC_DAC2 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x7) +#define KVM_REG_PPC_DABR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8) +#define KVM_REG_PPC_DSCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x9) +#define KVM_REG_PPC_PURR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa) +#define KVM_REG_PPC_SPURR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb) +#define KVM_REG_PPC_DAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc) +#define KVM_REG_PPC_DSISR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xd) +#define KVM_REG_PPC_AMR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xe) +#define KVM_REG_PPC_UAMOR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xf) + +#define KVM_REG_PPC_MMCR0 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x10) +#define KVM_REG_PPC_MMCR1 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x11) +#define KVM_REG_PPC_MMCRA (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x12) +#define KVM_REG_PPC_MMCR2 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x13) +#define KVM_REG_PPC_MMCRS (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x14) +#define KVM_REG_PPC_SIAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x15) +#define KVM_REG_PPC_SDAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x16) +#define KVM_REG_PPC_SIER (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x17) + +#define KVM_REG_PPC_PMC1 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x18) +#define KVM_REG_PPC_PMC2 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x19) +#define KVM_REG_PPC_PMC3 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1a) +#define KVM_REG_PPC_PMC4 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1b) +#define KVM_REG_PPC_PMC5 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1c) +#define KVM_REG_PPC_PMC6 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1d) +#define KVM_REG_PPC_PMC7 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1e) +#define KVM_REG_PPC_PMC8 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x1f) + +/* 32 floating-point registers */ +#define KVM_REG_PPC_FPR0 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x20) +#define KVM_REG_PPC_FPR(n) (KVM_REG_PPC_FPR0 + (n)) +#define KVM_REG_PPC_FPR31 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x3f) + +/* 32 VMX/Altivec vector registers */ +#define KVM_REG_PPC_VR0 (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x40) +#define KVM_REG_PPC_VR(n) (KVM_REG_PPC_VR0 + (n)) +#define KVM_REG_PPC_VR31 (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x5f) + +/* 32 double-width FP registers for VSX */ +/* High-order halves overlap with FP regs */ +#define KVM_REG_PPC_VSR0 (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x60) +#define KVM_REG_PPC_VSR(n) (KVM_REG_PPC_VSR0 + (n)) +#define KVM_REG_PPC_VSR31 (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x7f) + +/* FP and vector status/control registers */ +#define KVM_REG_PPC_FPSCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x80) +/* + * VSCR register is documented as a 32-bit register in the ISA, but it can + * only be accesses via a vector register. Expose VSCR as a 32-bit register + * even though the kernel represents it as a 128-bit vector. + */ +#define KVM_REG_PPC_VSCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x81) + +/* Virtual processor areas */ +/* For SLB & DTL, address in high (first) half, length in low half */ +#define KVM_REG_PPC_VPA_ADDR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x82) +#define KVM_REG_PPC_VPA_SLB (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x83) +#define KVM_REG_PPC_VPA_DTL (KVM_REG_PPC | KVM_REG_SIZE_U128 | 0x84) + +#define KVM_REG_PPC_EPCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x85) +#define KVM_REG_PPC_EPR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x86) + +/* Timer Status Register OR/CLEAR interface */ +#define KVM_REG_PPC_OR_TSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x87) +#define KVM_REG_PPC_CLEAR_TSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x88) +#define KVM_REG_PPC_TCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x89) +#define KVM_REG_PPC_TSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8a) + +/* Debugging: Special instruction for software breakpoint */ +#define KVM_REG_PPC_DEBUG_INST (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8b) + +/* MMU registers */ +#define KVM_REG_PPC_MAS0 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8c) +#define KVM_REG_PPC_MAS1 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x8d) +#define KVM_REG_PPC_MAS2 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8e) +#define KVM_REG_PPC_MAS7_3 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x8f) +#define KVM_REG_PPC_MAS4 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x90) +#define KVM_REG_PPC_MAS6 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x91) +#define KVM_REG_PPC_MMUCFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x92) +/* + * TLBnCFG fields TLBnCFG_N_ENTRY and TLBnCFG_ASSOC can be changed only using + * KVM_CAP_SW_TLB ioctl + */ +#define KVM_REG_PPC_TLB0CFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x93) +#define KVM_REG_PPC_TLB1CFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x94) +#define KVM_REG_PPC_TLB2CFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x95) +#define KVM_REG_PPC_TLB3CFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x96) +#define KVM_REG_PPC_TLB0PS (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x97) +#define KVM_REG_PPC_TLB1PS (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x98) +#define KVM_REG_PPC_TLB2PS (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x99) +#define KVM_REG_PPC_TLB3PS (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x9a) +#define KVM_REG_PPC_EPTCFG (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x9b) + +/* Timebase offset */ +#define KVM_REG_PPC_TB_OFFSET (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x9c) + +/* POWER8 registers */ +#define KVM_REG_PPC_SPMC1 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x9d) +#define KVM_REG_PPC_SPMC2 (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0x9e) +#define KVM_REG_PPC_IAMR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0x9f) +#define KVM_REG_PPC_TFHAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa0) +#define KVM_REG_PPC_TFIAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa1) +#define KVM_REG_PPC_TEXASR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa2) +#define KVM_REG_PPC_FSCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa3) +#define KVM_REG_PPC_PSPB (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xa4) +#define KVM_REG_PPC_EBBHR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa5) +#define KVM_REG_PPC_EBBRR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa6) +#define KVM_REG_PPC_BESCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa7) +#define KVM_REG_PPC_TAR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa8) +#define KVM_REG_PPC_DPDES (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xa9) +#define KVM_REG_PPC_DAWR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xaa) +#define KVM_REG_PPC_DAWRX (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xab) +#define KVM_REG_PPC_CIABR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xac) +#define KVM_REG_PPC_IC (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xad) +#define KVM_REG_PPC_VTB (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xae) +#define KVM_REG_PPC_CSIGR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xaf) +#define KVM_REG_PPC_TACR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb0) +#define KVM_REG_PPC_TCSCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb1) +#define KVM_REG_PPC_PID (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb2) +#define KVM_REG_PPC_ACOP (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb3) + +#define KVM_REG_PPC_VRSAVE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb4) +#define KVM_REG_PPC_LPCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb5) +#define KVM_REG_PPC_LPCR_64 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb5) +#define KVM_REG_PPC_PPR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb6) + +/* Architecture compatibility level */ +#define KVM_REG_PPC_ARCH_COMPAT (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb7) + +#define KVM_REG_PPC_DABRX (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb8) +#define KVM_REG_PPC_WORT (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb9) +#define KVM_REG_PPC_SPRG9 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xba) +#define KVM_REG_PPC_DBSR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbb) + +/* POWER9 registers */ +#define KVM_REG_PPC_TIDR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbc) +#define KVM_REG_PPC_PSSCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbd) + +#define KVM_REG_PPC_DEC_EXPIRY (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe) +#define KVM_REG_PPC_ONLINE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xbf) +#define KVM_REG_PPC_PTCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc0) + +/* POWER10 registers */ +#define KVM_REG_PPC_MMCR3 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc1) +#define KVM_REG_PPC_SIER2 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc2) +#define KVM_REG_PPC_SIER3 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc3) +#define KVM_REG_PPC_DAWR1 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc4) +#define KVM_REG_PPC_DAWRX1 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc5) +#define KVM_REG_PPC_DEXCR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc6) +#define KVM_REG_PPC_HASHKEYR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc7) +#define KVM_REG_PPC_HASHPKEYR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xc8) + +/* Transactional Memory checkpointed state: + * This is all GPRs, all VSX regs and a subset of SPRs + */ +#define KVM_REG_PPC_TM (KVM_REG_PPC | 0x80000000) +/* TM GPRs */ +#define KVM_REG_PPC_TM_GPR0 (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0) +#define KVM_REG_PPC_TM_GPR(n) (KVM_REG_PPC_TM_GPR0 + (n)) +#define KVM_REG_PPC_TM_GPR31 (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x1f) +/* TM VSX */ +#define KVM_REG_PPC_TM_VSR0 (KVM_REG_PPC_TM | KVM_REG_SIZE_U128 | 0x20) +#define KVM_REG_PPC_TM_VSR(n) (KVM_REG_PPC_TM_VSR0 + (n)) +#define KVM_REG_PPC_TM_VSR63 (KVM_REG_PPC_TM | KVM_REG_SIZE_U128 | 0x5f) +/* TM SPRS */ +#define KVM_REG_PPC_TM_CR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x60) +#define KVM_REG_PPC_TM_LR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x61) +#define KVM_REG_PPC_TM_CTR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x62) +#define KVM_REG_PPC_TM_FPSCR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x63) +#define KVM_REG_PPC_TM_AMR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x64) +#define KVM_REG_PPC_TM_PPR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x65) +#define KVM_REG_PPC_TM_VRSAVE (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x66) +#define KVM_REG_PPC_TM_VSCR (KVM_REG_PPC_TM | KVM_REG_SIZE_U32 | 0x67) +#define KVM_REG_PPC_TM_DSCR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x68) +#define KVM_REG_PPC_TM_TAR (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x69) +#define KVM_REG_PPC_TM_XER (KVM_REG_PPC_TM | KVM_REG_SIZE_U64 | 0x6a) + +/* PPC64 eXternal Interrupt Controller Specification */ +#define KVM_DEV_XICS_GRP_SOURCES 1 /* 64-bit source attributes */ +#define KVM_DEV_XICS_GRP_CTRL 2 +#define KVM_DEV_XICS_NR_SERVERS 1 + +/* Layout of 64-bit source attribute values */ +#define KVM_XICS_DESTINATION_SHIFT 0 +#define KVM_XICS_DESTINATION_MASK 0xffffffffULL +#define KVM_XICS_PRIORITY_SHIFT 32 +#define KVM_XICS_PRIORITY_MASK 0xff +#define KVM_XICS_LEVEL_SENSITIVE (1ULL << 40) +#define KVM_XICS_MASKED (1ULL << 41) +#define KVM_XICS_PENDING (1ULL << 42) +#define KVM_XICS_PRESENTED (1ULL << 43) +#define KVM_XICS_QUEUED (1ULL << 44) + +/* POWER9 XIVE Native Interrupt Controller */ +#define KVM_DEV_XIVE_GRP_CTRL 1 +#define KVM_DEV_XIVE_RESET 1 +#define KVM_DEV_XIVE_EQ_SYNC 2 +#define KVM_DEV_XIVE_NR_SERVERS 3 +#define KVM_DEV_XIVE_GRP_SOURCE 2 /* 64-bit source identifier */ +#define KVM_DEV_XIVE_GRP_SOURCE_CONFIG 3 /* 64-bit source identifier */ +#define KVM_DEV_XIVE_GRP_EQ_CONFIG 4 /* 64-bit EQ identifier */ +#define KVM_DEV_XIVE_GRP_SOURCE_SYNC 5 /* 64-bit source identifier */ + +/* Layout of 64-bit XIVE source attribute values */ +#define KVM_XIVE_LEVEL_SENSITIVE (1ULL << 0) +#define KVM_XIVE_LEVEL_ASSERTED (1ULL << 1) + +/* Layout of 64-bit XIVE source configuration attribute values */ +#define KVM_XIVE_SOURCE_PRIORITY_SHIFT 0 +#define KVM_XIVE_SOURCE_PRIORITY_MASK 0x7 +#define KVM_XIVE_SOURCE_SERVER_SHIFT 3 +#define KVM_XIVE_SOURCE_SERVER_MASK 0xfffffff8ULL +#define KVM_XIVE_SOURCE_MASKED_SHIFT 32 +#define KVM_XIVE_SOURCE_MASKED_MASK 0x100000000ULL +#define KVM_XIVE_SOURCE_EISN_SHIFT 33 +#define KVM_XIVE_SOURCE_EISN_MASK 0xfffffffe00000000ULL + +/* Layout of 64-bit EQ identifier */ +#define KVM_XIVE_EQ_PRIORITY_SHIFT 0 +#define KVM_XIVE_EQ_PRIORITY_MASK 0x7 +#define KVM_XIVE_EQ_SERVER_SHIFT 3 +#define KVM_XIVE_EQ_SERVER_MASK 0xfffffff8ULL + +/* Layout of EQ configuration values (64 bytes) */ +struct kvm_ppc_xive_eq { + __u32 flags; + __u32 qshift; + __u64 qaddr; + __u32 qtoggle; + __u32 qindex; + __u8 pad[40]; +}; + +#define KVM_XIVE_EQ_ALWAYS_NOTIFY 0x00000001 + +#define KVM_XIVE_TIMA_PAGE_OFFSET 0 +#define KVM_XIVE_ESB_PAGE_OFFSET 4 + +/* for KVM_PPC_GET_PVINFO */ + +#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1<<0) + +struct kvm_ppc_pvinfo { + /* out */ + __u32 flags; + __u32 hcall[4]; + __u8 pad[108]; +}; + +/* for KVM_PPC_GET_SMMU_INFO */ +#define KVM_PPC_PAGE_SIZES_MAX_SZ 8 + +struct kvm_ppc_one_page_size { + __u32 page_shift; /* Page shift (or 0) */ + __u32 pte_enc; /* Encoding in the HPTE (>>12) */ +}; + +struct kvm_ppc_one_seg_page_size { + __u32 page_shift; /* Base page shift of segment (or 0) */ + __u32 slb_enc; /* SLB encoding for BookS */ + struct kvm_ppc_one_page_size enc[KVM_PPC_PAGE_SIZES_MAX_SZ]; +}; + +#define KVM_PPC_PAGE_SIZES_REAL 0x00000001 +#define KVM_PPC_1T_SEGMENTS 0x00000002 +#define KVM_PPC_NO_HASH 0x00000004 + +struct kvm_ppc_smmu_info { + __u64 flags; + __u32 slb_size; + __u16 data_keys; /* # storage keys supported for data */ + __u16 instr_keys; /* # storage keys supported for instructions */ + struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ]; +}; + +/* for KVM_PPC_RESIZE_HPT_{PREPARE,COMMIT} */ +struct kvm_ppc_resize_hpt { + __u64 flags; + __u32 shift; + __u32 pad; +}; + +#endif /* __LINUX_KVM_POWERPC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm_para.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm_para.h new file mode 100644 index 00000000..7a9d0c14 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/kvm_para.h @@ -0,0 +1,98 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License, version 2, as + * published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Copyright IBM Corp. 2008 + * + * Authors: Hollis Blanchard + */ + +#ifndef __POWERPC_KVM_PARA_H__ +#define __POWERPC_KVM_PARA_H__ + +#include + +/* + * Additions to this struct must only occur at the end, and should be + * accompanied by a KVM_MAGIC_FEAT flag to advertise that they are present + * (albeit not necessarily relevant to the current target hardware platform). + * + * Struct fields are always 32 or 64 bit aligned, depending on them being 32 + * or 64 bit wide respectively. + * + * See Documentation/virt/kvm/ppc-pv.rst + */ +struct kvm_vcpu_arch_shared { + __u64 scratch1; + __u64 scratch2; + __u64 scratch3; + __u64 critical; /* Guest may not get interrupts if == r1 */ + __u64 sprg0; + __u64 sprg1; + __u64 sprg2; + __u64 sprg3; + __u64 srr0; + __u64 srr1; + __u64 dar; /* dear on BookE */ + __u64 msr; + __u32 dsisr; + __u32 int_pending; /* Tells the guest if we have an interrupt */ + __u32 sr[16]; + __u32 mas0; + __u32 mas1; + __u64 mas7_3; + __u64 mas2; + __u32 mas4; + __u32 mas6; + __u32 esr; + __u32 pir; + + /* + * SPRG4-7 are user-readable, so we can only keep these consistent + * between the shared area and the real registers when there's an + * intervening exit to KVM. This also applies to SPRG3 on some + * chips. + * + * This suffices for access by guest userspace, since in PR-mode + * KVM, an exit must occur when changing the guest's MSR[PR]. + * If the guest kernel writes to SPRG3-7 via the shared area, it + * must also use the shared area for reading while in kernel space. + */ + __u64 sprg4; + __u64 sprg5; + __u64 sprg6; + __u64 sprg7; +}; + +#define KVM_SC_MAGIC_R0 0x4b564d21 /* "KVM!" */ + +#define KVM_HCALL_TOKEN(num) _EV_HCALL_TOKEN(EV_KVM_VENDOR_ID, num) + +#include + +#define KVM_FEATURE_MAGIC_PAGE 1 + +/* Magic page flags from host to guest */ + +#define KVM_MAGIC_FEAT_SR (1 << 0) + +/* MASn, ESR, PIR, and high SPRGs */ +#define KVM_MAGIC_FEAT_MAS0_TO_SPRG7 (1 << 1) + +/* Magic page flags from guest to host */ + +#define MAGIC_PAGE_FLAG_NOT_MAPPED_NX (1 << 0) + + +#endif /* __POWERPC_KVM_PARA_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/mman.h new file mode 100644 index 00000000..cfa25049 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/mman.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_MMAN_H +#define _ASM_POWERPC_MMAN_H + +#include + + +#define PROT_SAO 0x10 /* Strong Access Ordering */ + +#define MAP_RENAME MAP_ANONYMOUS /* In SunOS terminology */ +#define MAP_NORESERVE 0x40 /* don't reserve swap pages */ +#define MAP_LOCKED 0x80 + +#define MAP_GROWSDOWN 0x0100 /* stack-like segment */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ + + +#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */ +#define MCL_FUTURE 0x4000 /* lock all additions to address space */ +#define MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */ + +/* Override any generic PKEY permission defines */ +#define PKEY_DISABLE_EXECUTE 0x4 +#undef PKEY_ACCESS_MASK +#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\ + PKEY_DISABLE_WRITE |\ + PKEY_DISABLE_EXECUTE) +#endif /* _ASM_POWERPC_MMAN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/msgbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/msgbuf.h new file mode 100644 index 00000000..1be640a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/msgbuf.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_MSGBUF_H +#define _ASM_POWERPC_MSGBUF_H + +#include + +/* + * The msqid64_ds structure for the PowerPC architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + */ + +struct msqid64_ds { + struct ipc64_perm msg_perm; +#ifdef __powerpc64__ + long msg_stime; /* last msgsnd time */ + long msg_rtime; /* last msgrcv time */ + long msg_ctime; /* last change time */ +#else + unsigned long msg_stime_high; + unsigned long msg_stime; /* last msgsnd time */ + unsigned long msg_rtime_high; + unsigned long msg_rtime; /* last msgrcv time */ + unsigned long msg_ctime_high; + unsigned long msg_ctime; /* last change time */ +#endif + unsigned long msg_cbytes; /* current number of bytes on queue */ + unsigned long msg_qnum; /* number of messages in queue */ + unsigned long msg_qbytes; /* max number of bytes on queue */ + __kernel_pid_t msg_lspid; /* pid of last msgsnd */ + __kernel_pid_t msg_lrpid; /* last receive pid */ + unsigned long __unused4; + unsigned long __unused5; +}; + +#endif /* _ASM_POWERPC_MSGBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/nvram.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/nvram.h new file mode 100644 index 00000000..a65e7d7d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/nvram.h @@ -0,0 +1,63 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * NVRAM definitions and access functions. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#ifndef _ASM_POWERPC_NVRAM_H +#define _ASM_POWERPC_NVRAM_H + +/* Signatures for nvram partitions */ +#define NVRAM_SIG_SP 0x02 /* support processor */ +#define NVRAM_SIG_OF 0x50 /* open firmware config */ +#define NVRAM_SIG_FW 0x51 /* general firmware */ +#define NVRAM_SIG_HW 0x52 /* hardware (VPD) */ +#define NVRAM_SIG_FLIP 0x5a /* Apple flip/flop header */ +#define NVRAM_SIG_APPL 0x5f /* Apple "system" (???) */ +#define NVRAM_SIG_SYS 0x70 /* system env vars */ +#define NVRAM_SIG_CFG 0x71 /* config data */ +#define NVRAM_SIG_ELOG 0x72 /* error log */ +#define NVRAM_SIG_VEND 0x7e /* vendor defined */ +#define NVRAM_SIG_FREE 0x7f /* Free space */ +#define NVRAM_SIG_OS 0xa0 /* OS defined */ +#define NVRAM_SIG_PANIC 0xa1 /* Apple OSX "panic" */ + + +/* PowerMac specific nvram stuffs */ + +enum { + pmac_nvram_OF, /* Open Firmware partition */ + pmac_nvram_XPRAM, /* MacOS XPRAM partition */ + pmac_nvram_NR /* MacOS Name Registry partition */ +}; + + +/* Some offsets in XPRAM */ +#define PMAC_XPRAM_MACHINE_LOC 0xe4 +#define PMAC_XPRAM_SOUND_VOLUME 0x08 + +/* Machine location structure in PowerMac XPRAM */ +struct pmac_machine_location { + unsigned int latitude; /* 2+30 bit Fractional number */ + unsigned int longitude; /* 2+30 bit Fractional number */ + unsigned int delta; /* mix of GMT delta and DLS */ +}; + +/* + * /dev/nvram ioctls + * + * Note that PMAC_NVRAM_GET_OFFSET is still supported, but is + * definitely obsolete. Do not use it if you can avoid it + */ + +#define OBSOLETE_PMAC_NVRAM_GET_OFFSET \ + _IOWR('p', 0x40, int) + +#define IOC_NVRAM_GET_OFFSET _IOWR('p', 0x42, int) /* Get NVRAM partition offset */ +#define IOC_NVRAM_SYNC _IO('p', 0x43) /* Sync NVRAM image */ + +#endif /* _ASM_POWERPC_NVRAM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/opal-prd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/opal-prd.h new file mode 100644 index 00000000..087b068a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/opal-prd.h @@ -0,0 +1,59 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * OPAL Runtime Diagnostics interface driver + * Supported on POWERNV platform + * + * (C) Copyright IBM 2015 + * + * Author: Vaidyanathan Srinivasan + * Author: Jeremy Kerr + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program 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 General Public License for more details. + */ + +#ifndef _ASM_POWERPC_OPAL_PRD_H_ +#define _ASM_POWERPC_OPAL_PRD_H_ + +#include + +/** + * The version of the kernel interface of the PRD system. This describes the + * interface available for the /dev/opal-prd device. The actual PRD message + * layout and content is private to the firmware <--> userspace interface, so + * is not covered by this versioning. + * + * Future interface versions are backwards-compatible; if a later kernel + * version is encountered, functionality provided in earlier versions + * will work. + */ +#define OPAL_PRD_KERNEL_VERSION 1 + +#define OPAL_PRD_GET_INFO _IOR('o', 0x01, struct opal_prd_info) +#define OPAL_PRD_SCOM_READ _IOR('o', 0x02, struct opal_prd_scom) +#define OPAL_PRD_SCOM_WRITE _IOW('o', 0x03, struct opal_prd_scom) + +#ifndef __ASSEMBLY__ + +struct opal_prd_info { + __u64 version; + __u64 reserved[3]; +}; + +struct opal_prd_scom { + __u64 chip; + __u64 addr; + __u64 data; + __s64 rc; +}; + +#endif /* __ASSEMBLY__ */ + +#endif /* _ASM_POWERPC_OPAL_PRD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-miscdev.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-miscdev.h new file mode 100644 index 00000000..4c062dfa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-miscdev.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _PAPR_MISCDEV_H_ +#define _PAPR_MISCDEV_H_ + +enum { + PAPR_MISCDEV_IOC_ID = 0xb2, +}; + +#endif /* _PAPR_MISCDEV_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-sysparm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-sysparm.h new file mode 100644 index 00000000..bb4ee11a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-sysparm.h @@ -0,0 +1,58 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _PAPR_SYSPARM_H_ +#define _PAPR_SYSPARM_H_ + +#include +#include +#include + +enum { + PAPR_SYSPARM_MAX_INPUT = 1024, + PAPR_SYSPARM_MAX_OUTPUT = 4000, +}; + +struct papr_sysparm_io_block { + __u32 parameter; + __u16 length; + __u8 data[PAPR_SYSPARM_MAX_OUTPUT]; +}; + +/** + * PAPR_SYSPARM_IOC_GET - Retrieve the value of a PAPR system parameter. + * + * Uses _IOWR because of one corner case: Retrieving the value of the + * "OS Service Entitlement Status" parameter (60) requires the caller + * to supply input data (a date string) in the buffer passed to + * firmware. So the @length and @data of the incoming + * papr_sysparm_io_block are always used to initialize the work area + * supplied to ibm,get-system-parameter. No other parameters are known + * to parameterize the result this way, and callers are encouraged + * (but not required) to zero-initialize @length and @data in the + * common case. + * + * On error the contents of the ioblock are indeterminate. + * + * Return: + * 0: Success; @length is the length of valid data in @data, not to exceed @PAPR_SYSPARM_MAX_OUTPUT. + * -EIO: Platform error. (-1) + * -EINVAL: Incorrect data length or format. (-9999) + * -EPERM: The calling partition is not allowed to access this parameter. (-9002) + * -EOPNOTSUPP: Parameter not supported on this platform (-3) + */ +#define PAPR_SYSPARM_IOC_GET _IOWR(PAPR_MISCDEV_IOC_ID, 1, struct papr_sysparm_io_block) + +/** + * PAPR_SYSPARM_IOC_SET - Update the value of a PAPR system parameter. + * + * The contents of the ioblock are unchanged regardless of success. + * + * Return: + * 0: Success; the parameter has been updated. + * -EIO: Platform error. (-1) + * -EINVAL: Incorrect data length or format. (-9999) + * -EPERM: The calling partition is not allowed to access this parameter. (-9002) + * -EOPNOTSUPP: Parameter not supported on this platform (-3) + */ +#define PAPR_SYSPARM_IOC_SET _IOW(PAPR_MISCDEV_IOC_ID, 2, struct papr_sysparm_io_block) + +#endif /* _PAPR_SYSPARM_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-vpd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-vpd.h new file mode 100644 index 00000000..c01da241 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/papr-vpd.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _PAPR_VPD_H_ +#define _PAPR_VPD_H_ + +#include +#include + +struct papr_location_code { + /* + * PAPR+ v2.13 12.3.2.4 Converged Location Code Rules - Length + * Restrictions. 79 characters plus nul. + */ + char str[80]; +}; + +/* + * ioctl for /dev/papr-vpd. Returns a VPD handle fd corresponding to + * the location code. + */ +#define PAPR_VPD_IOC_CREATE_HANDLE _IOW(PAPR_MISCDEV_IOC_ID, 0, struct papr_location_code) + +#endif /* _PAPR_VPD_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_event.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_event.h new file mode 100644 index 00000000..2df515fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_event.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright 2013 Michael Ellerman, IBM Corp. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; version 2 of the + * License. + */ + +#ifndef _ASM_POWERPC_PERF_EVENT_H +#define _ASM_POWERPC_PERF_EVENT_H + +/* + * We use bit 63 of perf_event_attr.config as a flag to request EBB. + */ +#define PERF_EVENT_CONFIG_EBB_SHIFT 63 + +#endif /* _ASM_POWERPC_PERF_EVENT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..8c8280ce --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/perf_regs.h @@ -0,0 +1,95 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_PERF_REGS_H +#define _ASM_POWERPC_PERF_REGS_H + +enum perf_event_powerpc_regs { + PERF_REG_POWERPC_R0, + PERF_REG_POWERPC_R1, + PERF_REG_POWERPC_R2, + PERF_REG_POWERPC_R3, + PERF_REG_POWERPC_R4, + PERF_REG_POWERPC_R5, + PERF_REG_POWERPC_R6, + PERF_REG_POWERPC_R7, + PERF_REG_POWERPC_R8, + PERF_REG_POWERPC_R9, + PERF_REG_POWERPC_R10, + PERF_REG_POWERPC_R11, + PERF_REG_POWERPC_R12, + PERF_REG_POWERPC_R13, + PERF_REG_POWERPC_R14, + PERF_REG_POWERPC_R15, + PERF_REG_POWERPC_R16, + PERF_REG_POWERPC_R17, + PERF_REG_POWERPC_R18, + PERF_REG_POWERPC_R19, + PERF_REG_POWERPC_R20, + PERF_REG_POWERPC_R21, + PERF_REG_POWERPC_R22, + PERF_REG_POWERPC_R23, + PERF_REG_POWERPC_R24, + PERF_REG_POWERPC_R25, + PERF_REG_POWERPC_R26, + PERF_REG_POWERPC_R27, + PERF_REG_POWERPC_R28, + PERF_REG_POWERPC_R29, + PERF_REG_POWERPC_R30, + PERF_REG_POWERPC_R31, + PERF_REG_POWERPC_NIP, + PERF_REG_POWERPC_MSR, + PERF_REG_POWERPC_ORIG_R3, + PERF_REG_POWERPC_CTR, + PERF_REG_POWERPC_LINK, + PERF_REG_POWERPC_XER, + PERF_REG_POWERPC_CCR, + PERF_REG_POWERPC_SOFTE, + PERF_REG_POWERPC_TRAP, + PERF_REG_POWERPC_DAR, + PERF_REG_POWERPC_DSISR, + PERF_REG_POWERPC_SIER, + PERF_REG_POWERPC_MMCRA, + /* Extended registers */ + PERF_REG_POWERPC_MMCR0, + PERF_REG_POWERPC_MMCR1, + PERF_REG_POWERPC_MMCR2, + PERF_REG_POWERPC_MMCR3, + PERF_REG_POWERPC_SIER2, + PERF_REG_POWERPC_SIER3, + PERF_REG_POWERPC_PMC1, + PERF_REG_POWERPC_PMC2, + PERF_REG_POWERPC_PMC3, + PERF_REG_POWERPC_PMC4, + PERF_REG_POWERPC_PMC5, + PERF_REG_POWERPC_PMC6, + PERF_REG_POWERPC_SDAR, + PERF_REG_POWERPC_SIAR, + /* Max mask value for interrupt regs w/o extended regs */ + PERF_REG_POWERPC_MAX = PERF_REG_POWERPC_MMCRA + 1, + /* Max mask value for interrupt regs including extended regs */ + PERF_REG_EXTENDED_MAX = PERF_REG_POWERPC_SIAR + 1, +}; + +#define PERF_REG_PMU_MASK ((1ULL << PERF_REG_POWERPC_MAX) - 1) + +/* + * PERF_REG_EXTENDED_MASK value for CPU_FTR_ARCH_300 + * includes 11 SPRS from MMCR0 to SIAR excluding the + * unsupported SPRS MMCR3, SIER2 and SIER3. + */ +#define PERF_REG_PMU_MASK_300 \ + ((1ULL << PERF_REG_POWERPC_MMCR0) | (1ULL << PERF_REG_POWERPC_MMCR1) | \ + (1ULL << PERF_REG_POWERPC_MMCR2) | (1ULL << PERF_REG_POWERPC_PMC1) | \ + (1ULL << PERF_REG_POWERPC_PMC2) | (1ULL << PERF_REG_POWERPC_PMC3) | \ + (1ULL << PERF_REG_POWERPC_PMC4) | (1ULL << PERF_REG_POWERPC_PMC5) | \ + (1ULL << PERF_REG_POWERPC_PMC6) | (1ULL << PERF_REG_POWERPC_SDAR) | \ + (1ULL << PERF_REG_POWERPC_SIAR)) + +/* + * PERF_REG_EXTENDED_MASK value for CPU_FTR_ARCH_31 + * includes 14 SPRs from MMCR0 to SIAR. + */ +#define PERF_REG_PMU_MASK_31 \ + (PERF_REG_PMU_MASK_300 | (1ULL << PERF_REG_POWERPC_MMCR3) | \ + (1ULL << PERF_REG_POWERPC_SIER2) | (1ULL << PERF_REG_POWERPC_SIER3)) + +#endif /* _ASM_POWERPC_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/posix_types.h new file mode 100644 index 00000000..aaeda20f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/posix_types.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_POSIX_TYPES_H +#define _ASM_POWERPC_POSIX_TYPES_H + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +#ifdef __powerpc64__ +typedef unsigned long __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t +#else +typedef short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t +#endif + +#include + +#endif /* _ASM_POWERPC_POSIX_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ps3fb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ps3fb.h new file mode 100644 index 00000000..842981c2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ps3fb.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2006 Sony Computer Entertainment Inc. + * Copyright 2006, 2007 Sony Corporation + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published + * by the Free Software Foundation; version 2 of the License. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _ASM_POWERPC_PS3FB_H_ +#define _ASM_POWERPC_PS3FB_H_ + +#include +#include + +/* ioctl */ +#define PS3FB_IOCTL_SETMODE _IOW('r', 1, int) /* set video mode */ +#define PS3FB_IOCTL_GETMODE _IOR('r', 2, int) /* get video mode */ +#define PS3FB_IOCTL_SCREENINFO _IOR('r', 3, int) /* get screen info */ +#define PS3FB_IOCTL_ON _IO('r', 4) /* use IOCTL_FSEL */ +#define PS3FB_IOCTL_OFF _IO('r', 5) /* return to normal-flip */ +#define PS3FB_IOCTL_FSEL _IOW('r', 6, int) /* blit and flip request */ + +#ifndef FBIO_WAITFORVSYNC +#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32) /* wait for vsync */ +#endif + +struct ps3fb_ioctl_res { + __u32 xres; /* frame buffer x_size */ + __u32 yres; /* frame buffer y_size */ + __u32 xoff; /* margine x */ + __u32 yoff; /* margine y */ + __u32 num_frames; /* num of frame buffers */ +}; + +#endif /* _ASM_POWERPC_PS3FB_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ptrace.h new file mode 100644 index 00000000..62f6b235 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ptrace.h @@ -0,0 +1,268 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Copyright (C) 2001 PPC64 Team, IBM Corp + * + * This struct defines the way the registers are stored on the + * kernel stack during a system call or other kernel entry. + * + * this should only contain __volatile__ regs + * since we can keep non-volatile in the thread_struct + * should set this up when only volatiles are saved + * by intr code. + * + * Since this is going on the stack, *CARE MUST BE TAKEN* to insure + * that the overall structure is a multiple of 16 bytes in length. + * + * Note that the offsets of the fields in this struct correspond with + * the PT_* values below. This simplifies arch/powerpc/kernel/ptrace.c. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_PTRACE_H +#define _ASM_POWERPC_PTRACE_H + + +#include + +#ifndef __ASSEMBLY__ + +struct pt_regs +{ + unsigned long gpr[32]; + unsigned long nip; + unsigned long msr; + unsigned long orig_gpr3; /* Used for restarting system calls */ + unsigned long ctr; + unsigned long link; + unsigned long xer; + unsigned long ccr; +#ifdef __powerpc64__ + unsigned long softe; /* Soft enabled/disabled */ +#else + unsigned long mq; /* 601 only (not used at present) */ + /* Used on APUS to hold IPL value. */ +#endif + unsigned long trap; /* Reason for being here */ + /* N.B. for critical exceptions on 4xx, the dar and dsisr + fields are overloaded to hold srr0 and srr1. */ + unsigned long dar; /* Fault registers */ + unsigned long dsisr; /* on 4xx/Book-E used for ESR */ + unsigned long result; /* Result of a system call */ +}; + +#endif /* __ASSEMBLY__ */ + + +/* + * Offsets used by 'ptrace' system call interface. + * These can't be changed without breaking binary compatibility + * with MkLinux, etc. + */ +#define PT_R0 0 +#define PT_R1 1 +#define PT_R2 2 +#define PT_R3 3 +#define PT_R4 4 +#define PT_R5 5 +#define PT_R6 6 +#define PT_R7 7 +#define PT_R8 8 +#define PT_R9 9 +#define PT_R10 10 +#define PT_R11 11 +#define PT_R12 12 +#define PT_R13 13 +#define PT_R14 14 +#define PT_R15 15 +#define PT_R16 16 +#define PT_R17 17 +#define PT_R18 18 +#define PT_R19 19 +#define PT_R20 20 +#define PT_R21 21 +#define PT_R22 22 +#define PT_R23 23 +#define PT_R24 24 +#define PT_R25 25 +#define PT_R26 26 +#define PT_R27 27 +#define PT_R28 28 +#define PT_R29 29 +#define PT_R30 30 +#define PT_R31 31 + +#define PT_NIP 32 +#define PT_MSR 33 +#define PT_ORIG_R3 34 +#define PT_CTR 35 +#define PT_LNK 36 +#define PT_XER 37 +#define PT_CCR 38 +#ifndef __powerpc64__ +#define PT_MQ 39 +#else +#define PT_SOFTE 39 +#endif +#define PT_TRAP 40 +#define PT_DAR 41 +#define PT_DSISR 42 +#define PT_RESULT 43 +#define PT_DSCR 44 +#define PT_REGS_COUNT 44 + +#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */ + +#ifndef __powerpc64__ + +#define PT_FPR31 (PT_FPR0 + 2*31) +#define PT_FPSCR (PT_FPR0 + 2*32 + 1) + +#else /* __powerpc64__ */ + +#define PT_FPSCR (PT_FPR0 + 32) /* each FP reg occupies 1 slot in 64-bit space */ + + +#define PT_VR0 82 /* each Vector reg occupies 2 slots in 64-bit */ +#define PT_VSCR (PT_VR0 + 32*2 + 1) +#define PT_VRSAVE (PT_VR0 + 33*2) + + +/* + * Only store first 32 VSRs here. The second 32 VSRs in VR0-31 + */ +#define PT_VSR0 150 /* each VSR reg occupies 2 slots in 64-bit */ +#define PT_VSR31 (PT_VSR0 + 2*31) +#endif /* __powerpc64__ */ + +/* + * Get/set all the altivec registers v0..v31, vscr, vrsave, in one go. + * The transfer totals 34 quadword. Quadwords 0-31 contain the + * corresponding vector registers. Quadword 32 contains the vscr as the + * last word (offset 12) within that quadword. Quadword 33 contains the + * vrsave as the first word (offset 0) within the quadword. + * + * This definition of the VMX state is compatible with the current PPC32 + * ptrace interface. This allows signal handling and ptrace to use the same + * structures. This also simplifies the implementation of a bi-arch + * (combined (32- and 64-bit) gdb. + */ +#define PTRACE_GETVRREGS 0x12 +#define PTRACE_SETVRREGS 0x13 + +/* Get/set all the upper 32-bits of the SPE registers, accumulator, and + * spefscr, in one go */ +#define PTRACE_GETEVRREGS 0x14 +#define PTRACE_SETEVRREGS 0x15 + +/* Get the first 32 128bit VSX registers */ +#define PTRACE_GETVSRREGS 0x1b +#define PTRACE_SETVSRREGS 0x1c + +/* Syscall emulation defines */ +#define PTRACE_SYSEMU 0x1d +#define PTRACE_SYSEMU_SINGLESTEP 0x1e + +/* + * Get or set a debug register. The first 16 are DABR registers and the + * second 16 are IABR registers. + */ +#define PTRACE_GET_DEBUGREG 0x19 +#define PTRACE_SET_DEBUGREG 0x1a + +/* (new) PTRACE requests using the same numbers as x86 and the same + * argument ordering. Additionally, they support more registers too + */ +#define PTRACE_GETREGS 0xc +#define PTRACE_SETREGS 0xd +#define PTRACE_GETFPREGS 0xe +#define PTRACE_SETFPREGS 0xf +#define PTRACE_GETREGS64 0x16 +#define PTRACE_SETREGS64 0x17 + +/* Calls to trace a 64bit program from a 32bit program */ +#define PPC_PTRACE_PEEKTEXT_3264 0x95 +#define PPC_PTRACE_PEEKDATA_3264 0x94 +#define PPC_PTRACE_POKETEXT_3264 0x93 +#define PPC_PTRACE_POKEDATA_3264 0x92 +#define PPC_PTRACE_PEEKUSR_3264 0x91 +#define PPC_PTRACE_POKEUSR_3264 0x90 + +#define PTRACE_SINGLEBLOCK 0x100 /* resume execution until next branch */ + +#define PPC_PTRACE_GETHWDBGINFO 0x89 +#define PPC_PTRACE_SETHWDEBUG 0x88 +#define PPC_PTRACE_DELHWDEBUG 0x87 + +#ifndef __ASSEMBLY__ + +struct ppc_debug_info { + __u32 version; /* Only version 1 exists to date */ + __u32 num_instruction_bps; + __u32 num_data_bps; + __u32 num_condition_regs; + __u32 data_bp_alignment; + __u32 sizeof_condition; /* size of the DVC register */ + __u64 features; +}; + +#endif /* __ASSEMBLY__ */ + +/* + * features will have bits indication whether there is support for: + */ +#define PPC_DEBUG_FEATURE_INSN_BP_RANGE 0x0000000000000001 +#define PPC_DEBUG_FEATURE_INSN_BP_MASK 0x0000000000000002 +#define PPC_DEBUG_FEATURE_DATA_BP_RANGE 0x0000000000000004 +#define PPC_DEBUG_FEATURE_DATA_BP_MASK 0x0000000000000008 +#define PPC_DEBUG_FEATURE_DATA_BP_DAWR 0x0000000000000010 +#define PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 0x0000000000000020 + +#ifndef __ASSEMBLY__ + +struct ppc_hw_breakpoint { + __u32 version; /* currently, version must be 1 */ + __u32 trigger_type; /* only some combinations allowed */ + __u32 addr_mode; /* address match mode */ + __u32 condition_mode; /* break/watchpoint condition flags */ + __u64 addr; /* break/watchpoint address */ + __u64 addr2; /* range end or mask */ + __u64 condition_value; /* contents of the DVC register */ +}; + +#endif /* __ASSEMBLY__ */ + +/* + * Trigger Type + */ +#define PPC_BREAKPOINT_TRIGGER_EXECUTE 0x00000001 +#define PPC_BREAKPOINT_TRIGGER_READ 0x00000002 +#define PPC_BREAKPOINT_TRIGGER_WRITE 0x00000004 +#define PPC_BREAKPOINT_TRIGGER_RW \ + (PPC_BREAKPOINT_TRIGGER_READ | PPC_BREAKPOINT_TRIGGER_WRITE) + +/* + * Address Mode + */ +#define PPC_BREAKPOINT_MODE_EXACT 0x00000000 +#define PPC_BREAKPOINT_MODE_RANGE_INCLUSIVE 0x00000001 +#define PPC_BREAKPOINT_MODE_RANGE_EXCLUSIVE 0x00000002 +#define PPC_BREAKPOINT_MODE_MASK 0x00000003 + +/* + * Condition Mode + */ +#define PPC_BREAKPOINT_CONDITION_MODE 0x00000003 +#define PPC_BREAKPOINT_CONDITION_NONE 0x00000000 +#define PPC_BREAKPOINT_CONDITION_AND 0x00000001 +#define PPC_BREAKPOINT_CONDITION_EXACT PPC_BREAKPOINT_CONDITION_AND +#define PPC_BREAKPOINT_CONDITION_OR 0x00000002 +#define PPC_BREAKPOINT_CONDITION_AND_OR 0x00000003 +#define PPC_BREAKPOINT_CONDITION_BE_ALL 0x00ff0000 +#define PPC_BREAKPOINT_CONDITION_BE_SHIFT 16 +#define PPC_BREAKPOINT_CONDITION_BE(n) \ + (1<<((n)+PPC_BREAKPOINT_CONDITION_BE_SHIFT)) + +#endif /* _ASM_POWERPC_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sembuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sembuf.h new file mode 100644 index 00000000..6bf7966e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sembuf.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SEMBUF_H +#define _ASM_POWERPC_SEMBUF_H + +#include + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +/* + * The semid64_ds structure for PPC architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous 32/64-bit values + */ + +struct semid64_ds { + struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ +#ifndef __powerpc64__ + unsigned long sem_otime_high; + unsigned long sem_otime; /* last semop time */ + unsigned long sem_ctime_high; + unsigned long sem_ctime; /* last change time */ +#else + long sem_otime; /* last semop time */ + long sem_ctime; /* last change time */ +#endif + unsigned long sem_nsems; /* no. of semaphores in array */ + unsigned long __unused3; + unsigned long __unused4; +}; + +#endif /* _ASM_POWERPC_SEMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/setup.h new file mode 100644 index 00000000..bab853d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/setup.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SETUP_H +#define _ASM_POWERPC_SETUP_H + +#define COMMAND_LINE_SIZE 2048 + +#endif /* _ASM_POWERPC_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/shmbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/shmbuf.h new file mode 100644 index 00000000..0c290c32 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/shmbuf.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SHMBUF_H +#define _ASM_POWERPC_SHMBUF_H + +#include +#include + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +/* + * The shmid64_ds structure for PPC architecture. + * + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous 32-bit values + */ + +struct shmid64_ds { + struct ipc64_perm shm_perm; /* operation perms */ +#ifdef __powerpc64__ + long shm_atime; /* last attach time */ + long shm_dtime; /* last detach time */ + long shm_ctime; /* last change time */ +#else + unsigned long shm_atime_high; + unsigned long shm_atime; /* last attach time */ + unsigned long shm_dtime_high; + unsigned long shm_dtime; /* last detach time */ + unsigned long shm_ctime_high; + unsigned long shm_ctime; /* last change time */ + unsigned long __unused4; +#endif + __kernel_size_t shm_segsz; /* size of segment (bytes) */ + __kernel_pid_t shm_cpid; /* pid of creator */ + __kernel_pid_t shm_lpid; /* pid of last operator */ + unsigned long shm_nattch; /* no. of current attaches */ + unsigned long __unused5; + unsigned long __unused6; +}; + +struct shminfo64 { + unsigned long shmmax; + unsigned long shmmin; + unsigned long shmmni; + unsigned long shmseg; + unsigned long shmall; + unsigned long __unused1; + unsigned long __unused2; + unsigned long __unused3; + unsigned long __unused4; +}; + +#endif /* _ASM_POWERPC_SHMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..994b556d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/sigcontext.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SIGCONTEXT_H +#define _ASM_POWERPC_SIGCONTEXT_H + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#include +#ifdef __powerpc64__ +#include +#endif + +struct sigcontext { + unsigned long _unused[4]; + int signal; +#ifdef __powerpc64__ + int _pad0; +#endif + unsigned long handler; + unsigned long oldmask; + struct pt_regs *regs; +#ifdef __powerpc64__ + elf_gregset_t gp_regs; + elf_fpregset_t fp_regs; +/* + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 101 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the + * address of the first quadword within the allocated (vmx_reserve) area. + * + * The pointer (v_regs) of vector type (elf_vrreg_t) is type compatible with + * an array of 34 quadword entries (elf_vrregset_t). The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) + * within the quadword. + * + * Part of the VSX data is stored here also by extending vmx_restore + * by an additional 32 double words. Architecturally the layout of + * the VSR registers and how they overlap on top of the legacy FPR and + * VR registers is shown below: + * + * VSR doubleword 0 VSR doubleword 1 + * ---------------------------------------------------------------- + * VSR[0] | FPR[0] | | + * ---------------------------------------------------------------- + * VSR[1] | FPR[1] | | + * ---------------------------------------------------------------- + * | ... | | + * | ... | | + * ---------------------------------------------------------------- + * VSR[30] | FPR[30] | | + * ---------------------------------------------------------------- + * VSR[31] | FPR[31] | | + * ---------------------------------------------------------------- + * VSR[32] | VR[0] | + * ---------------------------------------------------------------- + * VSR[33] | VR[1] | + * ---------------------------------------------------------------- + * | ... | + * | ... | + * ---------------------------------------------------------------- + * VSR[62] | VR[30] | + * ---------------------------------------------------------------- + * VSR[63] | VR[31] | + * ---------------------------------------------------------------- + * + * FPR/VSR 0-31 doubleword 0 is stored in fp_regs, and VMX/VSR 32-63 + * is stored at the start of vmx_reserve. vmx_reserve is extended for + * backwards compatility to store VSR 0-31 doubleword 1 after the VMX + * registers and vscr/vrsave. + */ + elf_vrreg_t *v_regs; + long vmx_reserve[ELF_NVRREG + ELF_NVRREG + 1 + 32]; +#endif +}; + +#endif /* _ASM_POWERPC_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/signal.h new file mode 100644 index 00000000..f0b0a8e5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/signal.h @@ -0,0 +1,117 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SIGNAL_H +#define _ASM_POWERPC_SIGNAL_H + +#include + +#define _NSIG 64 +#ifdef __powerpc64__ +#define _NSIG_BPW 64 +#else +#define _NSIG_BPW 32 +#endif +#define _NSIG_WORDS (_NSIG / _NSIG_BPW) + +typedef unsigned long old_sigset_t; /* at least 32 bits */ + +typedef struct { + unsigned long sig[_NSIG_WORDS]; +} sigset_t; + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +/* +#define SIGLOST 29 +*/ +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 + +/* These should not be considered constants from userland. */ +#define SIGRTMIN 32 +#define SIGRTMAX _NSIG + +#define SA_RESTORER 0x04000000U + +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 +#endif + +#include + +struct old_sigaction { + __sighandler_t sa_handler; + old_sigset_t sa_mask; + unsigned long sa_flags; + __sigrestore_t sa_restorer; +}; + +struct sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + __sigrestore_t sa_restorer; + sigset_t sa_mask; /* mask last for extensibility */ +}; + +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +} stack_t; + + +#ifndef __powerpc64__ +/* + * These are parameters to dbg_sigreturn syscall. They enable or + * disable certain debugging things that can be done from signal + * handlers. The dbg_sigreturn syscall *must* be called from a + * SA_SIGINFO signal so the ucontext can be passed to it. It takes an + * array of struct sig_dbg_op, which has the debug operations to + * perform before returning from the signal. + */ +struct sig_dbg_op { + int dbg_type; + unsigned long dbg_value; +}; + +/* Enable or disable single-stepping. The value sets the state. */ +#define SIG_DBG_SINGLE_STEPPING 1 + +/* Enable or disable branch tracing. The value sets the state. */ +#define SIG_DBG_BRANCH_TRACING 2 +#endif /* ! __powerpc64__ */ + +#endif /* _ASM_POWERPC_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/socket.h new file mode 100644 index 00000000..6cee9bdd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/socket.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_SOCKET_H +#define _ASM_POWERPC_SOCKET_H + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#define SO_RCVLOWAT 16 +#define SO_SNDLOWAT 17 +#define SO_RCVTIMEO_OLD 18 +#define SO_SNDTIMEO_OLD 19 +#define SO_PASSCRED 20 +#define SO_PEERCRED 21 + +#include + +#endif /* _ASM_POWERPC_SOCKET_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/spu_info.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/spu_info.h new file mode 100644 index 00000000..d3d853fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/spu_info.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * SPU info structures + * + * (C) Copyright 2006 IBM Corp. + * + * Author: Dwayne Grant McConnell + */ + +#ifndef _SPU_INFO_H +#define _SPU_INFO_H + +#include + +struct mfc_cq_sr { + __u64 mfc_cq_data0_RW; + __u64 mfc_cq_data1_RW; + __u64 mfc_cq_data2_RW; + __u64 mfc_cq_data3_RW; +}; + +struct spu_dma_info { + __u64 dma_info_type; + __u64 dma_info_mask; + __u64 dma_info_status; + __u64 dma_info_stall_and_notify; + __u64 dma_info_atomic_command_status; + struct mfc_cq_sr dma_info_command_data[16]; +}; + +struct spu_proxydma_info { + __u64 proxydma_info_type; + __u64 proxydma_info_mask; + __u64 proxydma_info_status; + struct mfc_cq_sr proxydma_info_command_data[8]; +}; + +#endif /* _SPU_INFO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/stat.h new file mode 100644 index 00000000..142f4df9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/stat.h @@ -0,0 +1,82 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_STAT_H +#define _ASM_POWERPC_STAT_H +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#include + +#define STAT_HAVE_NSEC 1 + +#ifndef __powerpc64__ +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; +#endif /* !__powerpc64__ */ + +struct stat { + unsigned long st_dev; + __kernel_ino_t st_ino; +#ifdef __powerpc64__ + unsigned long st_nlink; + __kernel_mode_t st_mode; +#else + __kernel_mode_t st_mode; + unsigned short st_nlink; +#endif + __kernel_uid32_t st_uid; + __kernel_gid32_t st_gid; + unsigned long st_rdev; + long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long __unused4; + unsigned long __unused5; +#ifdef __powerpc64__ + unsigned long __unused6; +#endif +}; + +/* This matches struct stat64 in glibc2.1. Only used for 32 bit. */ +struct stat64 { + unsigned long long st_dev; /* Device. */ + unsigned long long st_ino; /* File serial number. */ + unsigned int st_mode; /* File mode. */ + unsigned int st_nlink; /* Link count. */ + unsigned int st_uid; /* User ID of the file's owner. */ + unsigned int st_gid; /* Group ID of the file's group. */ + unsigned long long st_rdev; /* Device number, if device. */ + unsigned short __pad2; + long long st_size; /* Size of file, in bytes. */ + int st_blksize; /* Optimal block size for I/O. */ + long long st_blocks; /* Number 512-byte blocks allocated. */ + int st_atime; /* Time of last access. */ + unsigned int st_atime_nsec; + int st_mtime; /* Time of last modification. */ + unsigned int st_mtime_nsec; + int st_ctime; /* Time of last status change. */ + unsigned int st_ctime_nsec; + unsigned int __unused4; + unsigned int __unused5; +}; + +#endif /* _ASM_POWERPC_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/swab.h new file mode 100644 index 00000000..f6251b18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/swab.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_SWAB_H +#define _ASM_POWERPC_SWAB_H + + +#include + + +#ifdef __GNUC__ + +#ifndef __powerpc64__ +#define __SWAB_64_THRU_32__ +#endif /* __powerpc64__ */ + + +#endif /* __GNUC__ */ + +#endif /* _ASM_POWERPC_SWAB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termbits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termbits.h new file mode 100644 index 00000000..0e36b064 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termbits.h @@ -0,0 +1,157 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_TERMBITS_H +#define _ASM_POWERPC_TERMBITS_H + +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ + +#include + +typedef unsigned int tcflag_t; + +/* + * termios type and macro definitions. Be careful about adding stuff + * to this file since it's used in GNU libc and there are strict rules + * concerning namespace pollution. + */ + +#define NCCS 19 +struct termios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_cc[NCCS]; /* control characters */ + cc_t c_line; /* line discipline (== c_cc[19]) */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +/* For PowerPC the termios and ktermios are the same */ + +struct ktermios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_cc[NCCS]; /* control characters */ + cc_t c_line; /* line discipline (== c_cc[19]) */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 + +/* c_iflag bits */ +#define IXON 0x0200 +#define IXOFF 0x0400 +#define IUCLC 0x1000 +#define IMAXBEL 0x2000 +#define IUTF8 0x4000 + +/* c_oflag bits */ +#define ONLCR 0x00002 +#define OLCUC 0x00004 +#define NLDLY 0x00300 +#define NL0 0x00000 +#define NL1 0x00100 +#define NL2 0x00200 +#define NL3 0x00300 +#define TABDLY 0x00c00 +#define TAB0 0x00000 +#define TAB1 0x00400 +#define TAB2 0x00800 +#define TAB3 0x00c00 +#define XTABS 0x00c00 /* required by POSIX to == TAB3 */ +#define CRDLY 0x03000 +#define CR0 0x00000 +#define CR1 0x01000 +#define CR2 0x02000 +#define CR3 0x03000 +#define FFDLY 0x04000 +#define FF0 0x00000 +#define FF1 0x04000 +#define BSDLY 0x08000 +#define BS0 0x00000 +#define BS1 0x08000 +#define VTDLY 0x10000 +#define VT0 0x00000 +#define VT1 0x10000 + +/* c_cflag bit meaning */ +#define CBAUD 0x000000ff +#define CBAUDEX 0x00000000 +#define BOTHER 0x0000001f +#define B57600 0x00000010 +#define B115200 0x00000011 +#define B230400 0x00000012 +#define B460800 0x00000013 +#define B500000 0x00000014 +#define B576000 0x00000015 +#define B921600 0x00000016 +#define B1000000 0x00000017 +#define B1152000 0x00000018 +#define B1500000 0x00000019 +#define B2000000 0x0000001a +#define B2500000 0x0000001b +#define B3000000 0x0000001c +#define B3500000 0x0000001d +#define B4000000 0x0000001e +#define CSIZE 0x00000300 +#define CS5 0x00000000 +#define CS6 0x00000100 +#define CS7 0x00000200 +#define CS8 0x00000300 +#define CSTOPB 0x00000400 +#define CREAD 0x00000800 +#define PARENB 0x00001000 +#define PARODD 0x00002000 +#define HUPCL 0x00004000 +#define CLOCAL 0x00008000 +#define CIBAUD 0x00ff0000 + +/* c_lflag bits */ +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#define XCASE 0x00004000 +#define ECHO 0x00000008 +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHONL 0x00000010 +#define NOFLSH 0x80000000 +#define TOSTOP 0x00400000 +#define ECHOCTL 0x00000040 +#define ECHOPRT 0x00000020 +#define ECHOKE 0x00000001 +#define FLUSHO 0x00800000 +#define PENDIN 0x20000000 +#define IEXTEN 0x00000400 +#define EXTPROC 0x10000000 + +/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#endif /* _ASM_POWERPC_TERMBITS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termios.h new file mode 100644 index 00000000..d3f3363a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/termios.h @@ -0,0 +1,77 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Liberally adapted from alpha/termios.h. In particular, the c_cc[] + * fields have been reordered so that termio & termios share the + * common subset in the same order (for brain dead programs that don't + * know or care about the differences). + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_TERMIOS_H +#define _ASM_POWERPC_TERMIOS_H + + +#include +#include + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 10 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* c_cc characters */ +#define _VINTR 0 +#define _VQUIT 1 +#define _VERASE 2 +#define _VKILL 3 +#define _VEOF 4 +#define _VMIN 5 +#define _VEOL 6 +#define _VTIME 7 +#define _VEOL2 8 +#define _VSWTC 9 + + + +#endif /* _ASM_POWERPC_TERMIOS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/tm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/tm.h new file mode 100644 index 00000000..c07a65ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/tm.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_TM_H +#define _ASM_POWERPC_TM_H + +/* Reason codes describing kernel causes for transaction aborts. By + * convention, bit0 is copied to TEXASR[56] (IBM bit 7) which is set if + * the failure is persistent. PAPR saves 0xff-0xe0 for the hypervisor. + */ +#define TM_CAUSE_PERSISTENT 0x01 +#define TM_CAUSE_KVM_RESCHED 0xe0 /* From PAPR */ +#define TM_CAUSE_KVM_FAC_UNAV 0xe2 /* From PAPR */ +#define TM_CAUSE_RESCHED 0xde +#define TM_CAUSE_TLBI 0xdc +#define TM_CAUSE_FAC_UNAV 0xda +#define TM_CAUSE_SYSCALL 0xd8 +#define TM_CAUSE_MISC 0xd6 /* future use */ +#define TM_CAUSE_SIGNAL 0xd4 +#define TM_CAUSE_ALIGNMENT 0xd2 +#define TM_CAUSE_EMULATE 0xd0 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/types.h new file mode 100644 index 00000000..f2a0da7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/types.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * This file is never included by application software unless + * explicitly requested (e.g., via linux/types.h) in which case the + * application is Linux specific so (user-) name space pollution is + * not a major issue. However, for interoperability, libraries still + * need to be careful to avoid a name clashes. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_TYPES_H +#define _ASM_POWERPC_TYPES_H + +/* + * This is here because we used to use l64 for 64bit powerpc + * and we don't want to impact user mode with our change to ll64 + * in the kernel. + * + * However, some user programs are fine with this. They can + * flag __SANE_USERSPACE_TYPES__ to get int-ll64.h here. + */ +#if !defined(__SANE_USERSPACE_TYPES__) && defined(__powerpc64__) && !defined(__KERNEL__) +# include +#else +# include +#endif + +#ifndef __ASSEMBLY__ + + +typedef struct { + __u32 u[4]; +} __attribute__((aligned(16))) __vector128; + +#endif /* __ASSEMBLY__ */ + + +#endif /* _ASM_POWERPC_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ucontext.h new file mode 100644 index 00000000..3903ed3a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/ucontext.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_POWERPC_UCONTEXT_H +#define _ASM_POWERPC_UCONTEXT_H + +#ifdef __powerpc64__ +#include +#else +#include +#endif +#include + +#ifndef __powerpc64__ +struct mcontext { + elf_gregset_t mc_gregs; + elf_fpregset_t mc_fregs; + unsigned long mc_pad[2]; + elf_vrregset_t mc_vregs __attribute__((__aligned__(16))); +}; +#endif + +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; +#ifndef __powerpc64__ + int uc_pad[7]; + struct mcontext *uc_regs;/* points to uc_mcontext field */ +#endif + sigset_t uc_sigmask; + /* glibc has 1024-bit signal masks, ours are 64-bit */ +#ifdef __powerpc64__ + sigset_t __unused[15]; /* Allow for uc_sigmask growth */ + struct sigcontext uc_mcontext; /* last for extensibility */ +#else + int uc_maskext[30]; + int uc_pad2[3]; + struct mcontext uc_mcontext; +#endif +}; + +#endif /* _ASM_POWERPC_UCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd.h new file mode 100644 index 00000000..5b040e9d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * This file contains the system call numbers. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version + * 2 of the License, or (at your option) any later version. + */ +#ifndef _ASM_POWERPC_UNISTD_H_ +#define _ASM_POWERPC_UNISTD_H_ + +#ifndef __powerpc64__ +#include +#else +#include +#endif + +#endif /* _ASM_POWERPC_UNISTD_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..46ca225f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_32.h @@ -0,0 +1,453 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_break 17 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_oldolduname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_profil 98 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_olduname 109 +#define __NR_iopl 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_vm86 113 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_modify_ldt 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_query_module 166 +#define __NR_poll 167 +#define __NR_nfsservctl 168 +#define __NR_setresgid 169 +#define __NR_getresgid 170 +#define __NR_prctl 171 +#define __NR_rt_sigreturn 172 +#define __NR_rt_sigaction 173 +#define __NR_rt_sigprocmask 174 +#define __NR_rt_sigpending 175 +#define __NR_rt_sigtimedwait 176 +#define __NR_rt_sigqueueinfo 177 +#define __NR_rt_sigsuspend 178 +#define __NR_pread64 179 +#define __NR_pwrite64 180 +#define __NR_chown 181 +#define __NR_getcwd 182 +#define __NR_capget 183 +#define __NR_capset 184 +#define __NR_sigaltstack 185 +#define __NR_sendfile 186 +#define __NR_getpmsg 187 +#define __NR_putpmsg 188 +#define __NR_vfork 189 +#define __NR_ugetrlimit 190 +#define __NR_readahead 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_pciconfig_read 198 +#define __NR_pciconfig_write 199 +#define __NR_pciconfig_iobase 200 +#define __NR_multiplexer 201 +#define __NR_getdents64 202 +#define __NR_pivot_root 203 +#define __NR_fcntl64 204 +#define __NR_madvise 205 +#define __NR_mincore 206 +#define __NR_gettid 207 +#define __NR_tkill 208 +#define __NR_setxattr 209 +#define __NR_lsetxattr 210 +#define __NR_fsetxattr 211 +#define __NR_getxattr 212 +#define __NR_lgetxattr 213 +#define __NR_fgetxattr 214 +#define __NR_listxattr 215 +#define __NR_llistxattr 216 +#define __NR_flistxattr 217 +#define __NR_removexattr 218 +#define __NR_lremovexattr 219 +#define __NR_fremovexattr 220 +#define __NR_futex 221 +#define __NR_sched_setaffinity 222 +#define __NR_sched_getaffinity 223 +#define __NR_tuxcall 225 +#define __NR_sendfile64 226 +#define __NR_io_setup 227 +#define __NR_io_destroy 228 +#define __NR_io_getevents 229 +#define __NR_io_submit 230 +#define __NR_io_cancel 231 +#define __NR_set_tid_address 232 +#define __NR_fadvise64 233 +#define __NR_exit_group 234 +#define __NR_lookup_dcookie 235 +#define __NR_epoll_create 236 +#define __NR_epoll_ctl 237 +#define __NR_epoll_wait 238 +#define __NR_remap_file_pages 239 +#define __NR_timer_create 240 +#define __NR_timer_settime 241 +#define __NR_timer_gettime 242 +#define __NR_timer_getoverrun 243 +#define __NR_timer_delete 244 +#define __NR_clock_settime 245 +#define __NR_clock_gettime 246 +#define __NR_clock_getres 247 +#define __NR_clock_nanosleep 248 +#define __NR_swapcontext 249 +#define __NR_tgkill 250 +#define __NR_utimes 251 +#define __NR_statfs64 252 +#define __NR_fstatfs64 253 +#define __NR_fadvise64_64 254 +#define __NR_rtas 255 +#define __NR_sys_debug_setcontext 256 +#define __NR_migrate_pages 258 +#define __NR_mbind 259 +#define __NR_get_mempolicy 260 +#define __NR_set_mempolicy 261 +#define __NR_mq_open 262 +#define __NR_mq_unlink 263 +#define __NR_mq_timedsend 264 +#define __NR_mq_timedreceive 265 +#define __NR_mq_notify 266 +#define __NR_mq_getsetattr 267 +#define __NR_kexec_load 268 +#define __NR_add_key 269 +#define __NR_request_key 270 +#define __NR_keyctl 271 +#define __NR_waitid 272 +#define __NR_ioprio_set 273 +#define __NR_ioprio_get 274 +#define __NR_inotify_init 275 +#define __NR_inotify_add_watch 276 +#define __NR_inotify_rm_watch 277 +#define __NR_spu_run 278 +#define __NR_spu_create 279 +#define __NR_pselect6 280 +#define __NR_ppoll 281 +#define __NR_unshare 282 +#define __NR_splice 283 +#define __NR_tee 284 +#define __NR_vmsplice 285 +#define __NR_openat 286 +#define __NR_mkdirat 287 +#define __NR_mknodat 288 +#define __NR_fchownat 289 +#define __NR_futimesat 290 +#define __NR_fstatat64 291 +#define __NR_unlinkat 292 +#define __NR_renameat 293 +#define __NR_linkat 294 +#define __NR_symlinkat 295 +#define __NR_readlinkat 296 +#define __NR_fchmodat 297 +#define __NR_faccessat 298 +#define __NR_get_robust_list 299 +#define __NR_set_robust_list 300 +#define __NR_move_pages 301 +#define __NR_getcpu 302 +#define __NR_epoll_pwait 303 +#define __NR_utimensat 304 +#define __NR_signalfd 305 +#define __NR_timerfd_create 306 +#define __NR_eventfd 307 +#define __NR_sync_file_range2 308 +#define __NR_fallocate 309 +#define __NR_subpage_prot 310 +#define __NR_timerfd_settime 311 +#define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 +#define __NR_perf_event_open 319 +#define __NR_preadv 320 +#define __NR_pwritev 321 +#define __NR_rt_tgsigqueueinfo 322 +#define __NR_fanotify_init 323 +#define __NR_fanotify_mark 324 +#define __NR_prlimit64 325 +#define __NR_socket 326 +#define __NR_bind 327 +#define __NR_connect 328 +#define __NR_listen 329 +#define __NR_accept 330 +#define __NR_getsockname 331 +#define __NR_getpeername 332 +#define __NR_socketpair 333 +#define __NR_send 334 +#define __NR_sendto 335 +#define __NR_recv 336 +#define __NR_recvfrom 337 +#define __NR_shutdown 338 +#define __NR_setsockopt 339 +#define __NR_getsockopt 340 +#define __NR_sendmsg 341 +#define __NR_recvmsg 342 +#define __NR_recvmmsg 343 +#define __NR_accept4 344 +#define __NR_name_to_handle_at 345 +#define __NR_open_by_handle_at 346 +#define __NR_clock_adjtime 347 +#define __NR_syncfs 348 +#define __NR_sendmmsg 349 +#define __NR_setns 350 +#define __NR_process_vm_readv 351 +#define __NR_process_vm_writev 352 +#define __NR_finit_module 353 +#define __NR_kcmp 354 +#define __NR_sched_setattr 355 +#define __NR_sched_getattr 356 +#define __NR_renameat2 357 +#define __NR_seccomp 358 +#define __NR_getrandom 359 +#define __NR_memfd_create 360 +#define __NR_bpf 361 +#define __NR_execveat 362 +#define __NR_switch_endian 363 +#define __NR_userfaultfd 364 +#define __NR_membarrier 365 +#define __NR_mlock2 378 +#define __NR_copy_file_range 379 +#define __NR_preadv2 380 +#define __NR_pwritev2 381 +#define __NR_kexec_file_load 382 +#define __NR_statx 383 +#define __NR_pkey_alloc 384 +#define __NR_pkey_free 385 +#define __NR_pkey_mprotect 386 +#define __NR_rseq 387 +#define __NR_io_pgetevents 388 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_64.h new file mode 100644 index 00000000..d3cbaa6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/unistd_64.h @@ -0,0 +1,425 @@ +#ifndef _ASM_UNISTD_64_H +#define _ASM_UNISTD_64_H + +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_break 17 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_oldolduname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_profil 98 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_olduname 109 +#define __NR_iopl 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_vm86 113 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_modify_ldt 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_query_module 166 +#define __NR_poll 167 +#define __NR_nfsservctl 168 +#define __NR_setresgid 169 +#define __NR_getresgid 170 +#define __NR_prctl 171 +#define __NR_rt_sigreturn 172 +#define __NR_rt_sigaction 173 +#define __NR_rt_sigprocmask 174 +#define __NR_rt_sigpending 175 +#define __NR_rt_sigtimedwait 176 +#define __NR_rt_sigqueueinfo 177 +#define __NR_rt_sigsuspend 178 +#define __NR_pread64 179 +#define __NR_pwrite64 180 +#define __NR_chown 181 +#define __NR_getcwd 182 +#define __NR_capget 183 +#define __NR_capset 184 +#define __NR_sigaltstack 185 +#define __NR_sendfile 186 +#define __NR_getpmsg 187 +#define __NR_putpmsg 188 +#define __NR_vfork 189 +#define __NR_ugetrlimit 190 +#define __NR_readahead 191 +#define __NR_pciconfig_read 198 +#define __NR_pciconfig_write 199 +#define __NR_pciconfig_iobase 200 +#define __NR_multiplexer 201 +#define __NR_getdents64 202 +#define __NR_pivot_root 203 +#define __NR_madvise 205 +#define __NR_mincore 206 +#define __NR_gettid 207 +#define __NR_tkill 208 +#define __NR_setxattr 209 +#define __NR_lsetxattr 210 +#define __NR_fsetxattr 211 +#define __NR_getxattr 212 +#define __NR_lgetxattr 213 +#define __NR_fgetxattr 214 +#define __NR_listxattr 215 +#define __NR_llistxattr 216 +#define __NR_flistxattr 217 +#define __NR_removexattr 218 +#define __NR_lremovexattr 219 +#define __NR_fremovexattr 220 +#define __NR_futex 221 +#define __NR_sched_setaffinity 222 +#define __NR_sched_getaffinity 223 +#define __NR_tuxcall 225 +#define __NR_io_setup 227 +#define __NR_io_destroy 228 +#define __NR_io_getevents 229 +#define __NR_io_submit 230 +#define __NR_io_cancel 231 +#define __NR_set_tid_address 232 +#define __NR_fadvise64 233 +#define __NR_exit_group 234 +#define __NR_lookup_dcookie 235 +#define __NR_epoll_create 236 +#define __NR_epoll_ctl 237 +#define __NR_epoll_wait 238 +#define __NR_remap_file_pages 239 +#define __NR_timer_create 240 +#define __NR_timer_settime 241 +#define __NR_timer_gettime 242 +#define __NR_timer_getoverrun 243 +#define __NR_timer_delete 244 +#define __NR_clock_settime 245 +#define __NR_clock_gettime 246 +#define __NR_clock_getres 247 +#define __NR_clock_nanosleep 248 +#define __NR_swapcontext 249 +#define __NR_tgkill 250 +#define __NR_utimes 251 +#define __NR_statfs64 252 +#define __NR_fstatfs64 253 +#define __NR_rtas 255 +#define __NR_sys_debug_setcontext 256 +#define __NR_migrate_pages 258 +#define __NR_mbind 259 +#define __NR_get_mempolicy 260 +#define __NR_set_mempolicy 261 +#define __NR_mq_open 262 +#define __NR_mq_unlink 263 +#define __NR_mq_timedsend 264 +#define __NR_mq_timedreceive 265 +#define __NR_mq_notify 266 +#define __NR_mq_getsetattr 267 +#define __NR_kexec_load 268 +#define __NR_add_key 269 +#define __NR_request_key 270 +#define __NR_keyctl 271 +#define __NR_waitid 272 +#define __NR_ioprio_set 273 +#define __NR_ioprio_get 274 +#define __NR_inotify_init 275 +#define __NR_inotify_add_watch 276 +#define __NR_inotify_rm_watch 277 +#define __NR_spu_run 278 +#define __NR_spu_create 279 +#define __NR_pselect6 280 +#define __NR_ppoll 281 +#define __NR_unshare 282 +#define __NR_splice 283 +#define __NR_tee 284 +#define __NR_vmsplice 285 +#define __NR_openat 286 +#define __NR_mkdirat 287 +#define __NR_mknodat 288 +#define __NR_fchownat 289 +#define __NR_futimesat 290 +#define __NR_newfstatat 291 +#define __NR_unlinkat 292 +#define __NR_renameat 293 +#define __NR_linkat 294 +#define __NR_symlinkat 295 +#define __NR_readlinkat 296 +#define __NR_fchmodat 297 +#define __NR_faccessat 298 +#define __NR_get_robust_list 299 +#define __NR_set_robust_list 300 +#define __NR_move_pages 301 +#define __NR_getcpu 302 +#define __NR_epoll_pwait 303 +#define __NR_utimensat 304 +#define __NR_signalfd 305 +#define __NR_timerfd_create 306 +#define __NR_eventfd 307 +#define __NR_sync_file_range2 308 +#define __NR_fallocate 309 +#define __NR_subpage_prot 310 +#define __NR_timerfd_settime 311 +#define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 +#define __NR_perf_event_open 319 +#define __NR_preadv 320 +#define __NR_pwritev 321 +#define __NR_rt_tgsigqueueinfo 322 +#define __NR_fanotify_init 323 +#define __NR_fanotify_mark 324 +#define __NR_prlimit64 325 +#define __NR_socket 326 +#define __NR_bind 327 +#define __NR_connect 328 +#define __NR_listen 329 +#define __NR_accept 330 +#define __NR_getsockname 331 +#define __NR_getpeername 332 +#define __NR_socketpair 333 +#define __NR_send 334 +#define __NR_sendto 335 +#define __NR_recv 336 +#define __NR_recvfrom 337 +#define __NR_shutdown 338 +#define __NR_setsockopt 339 +#define __NR_getsockopt 340 +#define __NR_sendmsg 341 +#define __NR_recvmsg 342 +#define __NR_recvmmsg 343 +#define __NR_accept4 344 +#define __NR_name_to_handle_at 345 +#define __NR_open_by_handle_at 346 +#define __NR_clock_adjtime 347 +#define __NR_syncfs 348 +#define __NR_sendmmsg 349 +#define __NR_setns 350 +#define __NR_process_vm_readv 351 +#define __NR_process_vm_writev 352 +#define __NR_finit_module 353 +#define __NR_kcmp 354 +#define __NR_sched_setattr 355 +#define __NR_sched_getattr 356 +#define __NR_renameat2 357 +#define __NR_seccomp 358 +#define __NR_getrandom 359 +#define __NR_memfd_create 360 +#define __NR_bpf 361 +#define __NR_execveat 362 +#define __NR_switch_endian 363 +#define __NR_userfaultfd 364 +#define __NR_membarrier 365 +#define __NR_mlock2 378 +#define __NR_copy_file_range 379 +#define __NR_preadv2 380 +#define __NR_pwritev2 381 +#define __NR_kexec_file_load 382 +#define __NR_statx 383 +#define __NR_pkey_alloc 384 +#define __NR_pkey_free 385 +#define __NR_pkey_mprotect 386 +#define __NR_rseq 387 +#define __NR_io_pgetevents 388 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/vas-api.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/vas-api.h new file mode 100644 index 00000000..c7fc3578 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-any/asm/vas-api.h @@ -0,0 +1,28 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * Copyright 2019 IBM Corp. + */ + +#ifndef _MISC_VAS_H +#define _MISC_VAS_H + +#include + +#include + +#define VAS_MAGIC 'v' +#define VAS_TX_WIN_OPEN _IOW(VAS_MAGIC, 0x20, struct vas_tx_win_open_attr) + +/* Flags to VAS TX open window ioctl */ +/* To allocate a window with QoS credit, otherwise use default credit */ +#define VAS_TX_WIN_FLAG_QOS_CREDIT 0x0000000000000001 + +struct vas_tx_win_open_attr { + __u32 version; + __s16 vas_id; /* specific instance of vas or -1 for default */ + __u16 reserved1; + __u64 flags; + __u64 reserved2[6]; +}; + +#endif /* _MISC_VAS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/endianness.h new file mode 100644 index 00000000..91892fa1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* PowerPC has selectable endianness. */ +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h new file mode 100644 index 00000000..8e255ea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fcntl.h @@ -0,0 +1,68 @@ +/* O_*, F_*, FD_* bit values for Linux/PowerPC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0400000 /* Direct disk access. */ + +#if __WORDSIZE == 64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0200000 +#endif + +#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h new file mode 100644 index 00000000..464f6523 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fenv.h @@ -0,0 +1,180 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +/* Define bits representing the exception. We use the bit positions of + the appropriate bits in the FPSCR... */ +enum + { + FE_INEXACT = +#define FE_INEXACT (1 << (31 - 6)) + FE_INEXACT, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << (31 - 5)) + FE_DIVBYZERO, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << (31 - 4)) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << (31 - 3)) + FE_OVERFLOW, + + /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID + actually corresponds to bits 7 through 12 and 21 through 23 + in the FPSCR, but we can't use that because the current draft + says that it must be a power of 2. Instead we use bit 2 which + is the summary bit for all the FE_INVALID exceptions, which + kind of makes sense. */ + FE_INVALID = +#define FE_INVALID (1 << (31 - 2)) + FE_INVALID, + +#ifdef __USE_GNU + /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an + input to a routine is equivalent to setting all of these bits; + FE_INVALID will be set on output from a routine iff one of + these bits is set. Note, though, that you can't disable or + enable these exceptions individually. */ + + /* Operation with a sNaN. */ + FE_INVALID_SNAN = +# define FE_INVALID_SNAN (1 << (31 - 7)) + FE_INVALID_SNAN, + + /* Inf - Inf */ + FE_INVALID_ISI = +# define FE_INVALID_ISI (1 << (31 - 8)) + FE_INVALID_ISI, + + /* Inf / Inf */ + FE_INVALID_IDI = +# define FE_INVALID_IDI (1 << (31 - 9)) + FE_INVALID_IDI, + + /* 0 / 0 */ + FE_INVALID_ZDZ = +# define FE_INVALID_ZDZ (1 << (31 - 10)) + FE_INVALID_ZDZ, + + /* Inf * 0 */ + FE_INVALID_IMZ = +# define FE_INVALID_IMZ (1 << (31 - 11)) + FE_INVALID_IMZ, + + /* Comparison with a NaN. */ + FE_INVALID_COMPARE = +# define FE_INVALID_COMPARE (1 << (31 - 12)) + FE_INVALID_COMPARE, + + /* Invalid operation flag for software (not set by hardware). */ + /* Note that some chips don't have this implemented, presumably + because no-one expected anyone to write software for them %-). */ + FE_INVALID_SOFTWARE = +# define FE_INVALID_SOFTWARE (1 << (31 - 21)) + FE_INVALID_SOFTWARE, + + /* Square root of negative number (including -Inf). */ + /* Note that some chips don't have this implemented. */ + FE_INVALID_SQRT = +# define FE_INVALID_SQRT (1 << (31 - 22)) + FE_INVALID_SQRT, + + /* Conversion-to-integer of a NaN or a number too large or too small. */ + FE_INVALID_INTEGER_CONVERSION = +# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23)) + FE_INVALID_INTEGER_CONVERSION + +# define FE_ALL_INVALID \ + (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \ + | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \ + | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION) +#endif + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* PowerPC chips support all of the four defined rounding modes. We + use the bit pattern in the FPSCR as the values for the + appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 1 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 2 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 3 + FE_DOWNWARD + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. We leave it as 'double' + for efficiency reasons (rather than writing it to a 32-bit integer). */ +typedef double fenv_t; + +/* If the default argument is used we use this value. */ +extern const fenv_t __fe_dfl_env; +#define FE_DFL_ENV (&__fe_dfl_env) + +#ifdef __USE_GNU +/* Floating-point environment where all exceptions are enabled. Note that + this is not sufficient to give you SIGFPE. */ +extern const fenv_t __fe_enabled_env; +# define FE_ENABLED_ENV (&__fe_enabled_env) + +/* Floating-point environment with (processor-dependent) non-IEEE floating + point. */ +extern const fenv_t __fe_nonieee_env; +# define FE_NONIEEE_ENV (&__fe_nonieee_env) + +/* Floating-point environment with all exceptions enabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Precise Mode". On some processors this will + result in slower floating point execution. This will last until an + fenv or exception mask is installed that disables all FP exceptions. */ +# define FE_NOMASK_ENV FE_ENABLED_ENV + +/* Floating-point environment with all exceptions disabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors + this allows the fastest possible floating point execution.*/ +# define FE_MASK_ENV FE_DFL_ENV + +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef double femode_t; + +/* Default floating-point control modes. */ +extern const femode_t __fe_dfl_mode; +# define FE_DFL_MODE (&__fe_dfl_mode) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h new file mode 100644 index 00000000..b07b9abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/floatn.h @@ -0,0 +1,122 @@ +/* Macros to control TS 18661-3 glibc features on powerpc. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ + && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc, i.e. + calls to the binary128 functions go to *f128 symbols instead of *l. */ +#if __HAVE_FLOAT128 +# define __HAVE_DISTINCT_FLOAT128 1 +#else +# define __HAVE_DISTINCT_FLOAT128 0 +#endif + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ +# if __LDBL_MANT_DIG__ == 113 +# define __f128(x) x##l +# else +# define __f128(x) x##q +# endif +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) +typedef long double _Float128; +# define __CFLOAT128 _Complex long double +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The type _Float128 exist for powerpc only since GCC 7.0. */ +typedef __float128 _Float128; +/* Add a typedef for older GCC and C++ compilers which don't natively support + _Complex _Float128. */ +typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); +# define __CFLOAT128 __cfloat128 +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 +/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) +# endif + +/* The following builtins (suffixed with 'q') are available in GCC >= 6.2, + which is the minimum version required for float128 support on powerpc64le. + Since GCC 7.0 the builtins suffixed with f128 are also available, then + there is no need to redefined them. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_copysignf128 __builtin_copysignq +# define __builtin_fabsf128 __builtin_fabsq +# define __builtin_inff128 __builtin_infq +# define __builtin_nanf128 __builtin_nanq +# define __builtin_nansf128 __builtin_nansq +# endif + +/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is + only available since GCC 6. */ +# if !__GNUC_PREREQ (6, 0) +# define __builtin_signbitf128 __signbitf128 +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h new file mode 100644 index 00000000..4d38958f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/fp-fast.h @@ -0,0 +1,39 @@ +/* Define FP_FAST_* macros. PowerPC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_ISOC99 + +/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} + builtins are supported. */ +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA +# define FP_FAST_FMA 1 +# endif + +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF +# define FP_FAST_FMAF 1 +# endif + +# ifdef __FP_FAST_FMAL +# define FP_FAST_FMAL 1 +# endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h new file mode 100644 index 00000000..5e3ab018 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/hwcap.h @@ -0,0 +1,78 @@ +/* Defines for bits in AT_HWCAP and AT_HWCAP2. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The bit numbers must match those in the kernel's asm/cputable.h. */ + +/* Feature definitions in AT_HWCAP. */ +#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */ +#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */ +#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */ +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */ +#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */ +#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */ +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */ +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */ +#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */ +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */ +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */ +#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */ +#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */ +#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */ +#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */ +#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */ +#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */ +#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous + Multi-Threading */ +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */ +#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */ +#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */ +#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */ +#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */ +#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */ +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 +/* Reserved by the kernel. 0x00000004 Do not use. */ +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +/* Feature definitions in AT_HWCAP2. */ +#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */ +#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional + Memory */ +#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control + Register */ +#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */ +#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */ +#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */ +#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector + instruction. */ +#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction + when a syscall is made. */ +#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */ +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float + 128-bit */ +#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */ +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */ +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended + state. */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */ +#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h new file mode 100644 index 00000000..1744e55f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ioctl-types.h @@ -0,0 +1,77 @@ +/* Structure types for pre-termios terminal ioctls. Linux/powerpc version. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 10 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h new file mode 100644 index 00000000..06ba7e6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/powerpc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + __uint32_t __seq; /* Sequence number. */ + __uint32_t __pad1; + __uint64_t __glibc_reserved1; + __uint64_t __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h new file mode 100644 index 00000000..49ea731c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/iscanonical.h @@ -0,0 +1,58 @@ +/* Define iscanonical macro. ldbl-128ibm version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define iscanonical(x) ((void) (__typeof (x)) (x), 1) +#else +extern int __iscanonicall (long double __x) + __THROW __attribute__ ((__const__)); +# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1) +# define __iscanonical(x) ((void) (__typeof (x)) (x), 1) +# if __HAVE_DISTINCT_FLOAT128 +# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1) +# endif + +/* Return nonzero value if X is canonical. In IEEE interchange binary + formats, all values are canonical, but the argument must still be + converted to its semantic type for any exceptions arising from the + conversion, before being discarded; in IBM long double, there are + encodings that are not consistently handled as corresponding to any + particular value of the type, and we return 0 for those. */ +# ifndef __cplusplus +# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x)) +# else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int iscanonical (float __val) { return __iscanonicalf (__val); } +inline int iscanonical (double __val) { return __iscanonical (__val); } +inline int iscanonical (long double __val) { return __iscanonicall (__val); } +# if __HAVE_DISTINCT_FLOAT128 +inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); } +# endif +} +# endif /* __cplusplus */ +#endif /* __NO_LONG_DOUBLE_MATH */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/link.h new file mode 100644 index 00000000..90aaa912 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/link.h @@ -0,0 +1,156 @@ +/* Machine-specific declarations for dynamic linker interface. PowerPC version + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +#if __ELF_NATIVE_CLASS == 32 + +/* Registers for entry into PLT on PPC32. */ +typedef struct La_ppc32_regs +{ + uint32_t lr_reg[8]; + double lr_fp[8]; + uint32_t lr_vreg[12][4]; + uint32_t lr_r1; + uint32_t lr_lr; +} La_ppc32_regs; + +/* Return values for calls from PLT on PPC32. */ +typedef struct La_ppc32_retval +{ + uint32_t lrv_r3; + uint32_t lrv_r4; + double lrv_fp[8]; + uint32_t lrv_v2[4]; +} La_ppc32_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc32_regs *__inregs, + La_ppc32_retval *__outregs, + const char *__symname); + +__END_DECLS + +#elif __ELF_NATIVE_CLASS == 64 +# if _CALL_ELF != 2 + +/* Registers for entry into PLT on PPC64. */ +typedef struct La_ppc64_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4]; + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64_regs; + +/* Return values for calls from PLT on PPC64. */ +typedef struct La_ppc64_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[4]; /* f1-f4, float - complex long double. */ + uint32_t lrv_v2[4]; /* v2. */ +} La_ppc64_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64_regs *__inregs, + La_ppc64_retval *__outregs, + const char *__symname); + +__END_DECLS + +# else + +/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4] __attribute__ ((aligned (16))); + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64v2_regs; + +/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[10]; + uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16))); +} La_ppc64v2_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64v2_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64v2_regs *__inregs, + La_ppc64v2_retval *__outregs, + const char *__symname); + +__END_DECLS + +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h new file mode 100644 index 00000000..c83ef568 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/long-double.h @@ -0,0 +1,25 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h new file mode 100644 index 00000000..1fc6762a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/mman.h @@ -0,0 +1,51 @@ +/* Definitions for POSIX memory map interface. Linux/PowerPC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +#define PROT_SAO 0x10 /* Strong Access Ordering. */ + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h new file mode 100644 index 00000000..14652268 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/procfs.h @@ -0,0 +1,49 @@ +/* Types for registers for sys/procfs.h. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include + +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ +#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#if __WORDSIZE == 32 +# define ELF_NVRREG 33 /* includes vscr */ +#else +# define ELF_NVRREG 34 /* includes vscr */ +#endif + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* Altivec registers */ +typedef struct { + unsigned int u[4]; +} __attribute__ ((__aligned__ (16))) elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h new file mode 100644 index 00000000..0b6dcb91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/pthread_stack_min.h @@ -0,0 +1,21 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/PPC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. At least two pages for systems with 64k + pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h new file mode 100644 index 00000000..5ba28090 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h new file mode 100644 index 00000000..b8774299 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/setjmp.h @@ -0,0 +1,50 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +/* The previous bits/setjmp.h had __jmp_buf defined as a structure. + We use an array of 'long int' instead, to make writing the + assembler easier. Naturally, user code should not depend on + either representation. */ + +#include + +/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI + the vrsave must be at byte 248 & v20 at byte 256. So we must pad this + correctly on 32 bit. It also insists that vecregs are only guaranteed + 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. + We have to version the code because members like int __mask_was_saved + in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We + cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */ +#ifndef _ASM +# if __WORDSIZE == 64 +typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16))); +# else +/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte + aligned buffer as per the ABI it is just added for performance reasons. */ +typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16))); +# endif +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h new file mode 100644 index 00000000..cc26e7b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/sigstack.h @@ -0,0 +1,37 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 +#endif + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h new file mode 100644 index 00000000..b5b6051a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for POWER. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 1 +#define SO_ACCEPTCONN 30 +#define SO_BROADCAST 6 +#define SO_DONTROUTE 5 +#define SO_ERROR 4 +#define SO_KEEPALIVE 9 +#define SO_LINGER 13 +#define SO_OOBINLINE 10 +#define SO_RCVBUF 8 +#define SO_RCVLOWAT 16 +#define SO_REUSEADDR 2 +#define SO_SNDBUF 7 +#define SO_SNDLOWAT 17 +#define SO_TYPE 3 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 18 +# define SO_SNDTIMEO 19 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 18 +# define SO_SNDTIMEO_OLD 19 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h new file mode 100644 index 00000000..c7f90aa4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_mutex.h @@ -0,0 +1,63 @@ +/* PowerPC internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if __WORDSIZE == 64 + short __spins; + short __elision; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + struct + { + short __espins; + short __elision; +# define __spins __elision_data.__espins +# define __elision __elision_data.__elision + } __elision_data; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { { 0, 0 } } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h new file mode 100644 index 00000000..6ca8f577 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_rwlock.h @@ -0,0 +1,61 @@ +/* PowerPC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned char __rwelision; + unsigned char __pad1[7]; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 } +#else + unsigned char __rwelision; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h new file mode 100644 index 00000000..4b2c05e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/struct_stat.h @@ -0,0 +1,231 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if __WORDSIZE == 32 +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +# endif /* __USE_LARGEFILE64 */ + +#else /* __WORDSIZE == 32 */ + +struct stat + { + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; +# endif /* __USE_LARGEFILE64 */ +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h new file mode 100644 index 00000000..b61756d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-baud.h @@ -0,0 +1,45 @@ +/* termios baud rate selection definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000377 +# define CBAUDEX 0000020 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 +#define __MAX_BAUD B4000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h new file mode 100644 index 00000000..2a533e98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cc.h @@ -0,0 +1,41 @@ +/* termios c_cc symbolic constant definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 + +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h new file mode 100644 index 00000000..1532bbe4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_cflag.h @@ -0,0 +1,39 @@ +/* termios control mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 + +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 + +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h new file mode 100644 index 00000000..b19f14d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h new file mode 100644 index 00000000..28d36181 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_lflag.h @@ -0,0 +1,45 @@ +/* termios local mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0x00004000 +#endif +#define ECHO 0x00000008 +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHONL 0x00000010 +#define NOFLSH 0x80000000 +#define TOSTOP 0x00400000 +#ifdef __USE_MISC +# define ECHOCTL 0x00000040 +# define ECHOPRT 0x00000020 +# define ECHOKE 0x00000001 +# define FLUSHO 0x00800000 +# define PENDIN 0x20000000 +#endif +#define IEXTEN 0x00000400 +#ifdef __USE_MISC +# define EXTPROC 0x10000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h new file mode 100644 index 00000000..78844942 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-c_oflag.h @@ -0,0 +1,65 @@ +/* termios output mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 + +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 + +#define OFILL 00000100 +#define OFDEL 00000200 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 00001400 +# define NL0 00000000 +# define NL1 00000400 +# if defined __USE_MISC +# define NL2 00001000 +# define NL3 00001400 +# endif +# define TABDLY 00006000 +# define TAB0 00000000 +# define TAB1 00002000 +# define TAB2 00004000 +# define TAB3 00006000 +# define CRDLY 00030000 +# define CR0 00000000 +# define CR1 00010000 +# define CR2 00020000 +# define CR3 00030000 +# define FFDLY 00040000 +# define FF0 00000000 +# define FF1 00040000 +# define BSDLY 00100000 +# define BS0 00000000 +# define BS1 00100000 +#endif +#define VTDLY 00200000 +#define VT0 00000000 +#define VT1 00200000 + +#ifdef __USE_MISC +# define XTABS 00006000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h new file mode 100644 index 00000000..8d350447 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/termios-misc.h @@ -0,0 +1,72 @@ +/* termios baud platform specific definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; + +/* Used for packet mode */ +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 + +/* c_cc characters */ +#define _VINTR 0 +#define _VQUIT 1 +#define _VERASE 2 +#define _VKILL 3 +#define _VEOF 4 +#define _VMIN 5 +#define _VEOL 6 +#define _VTIME 7 +#define _VEOL2 8 +#define _VSWTC 9 + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h new file mode 100644 index 00000000..9cbad9b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..f6b3e4d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/PowerPC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..3b208ff2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* PowerPC implementation of the semaphore struct semid_ds. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..2ed27e03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/types/struct_shmid_ds.h @@ -0,0 +1,50 @@ +/* Linux/PowerPC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ + unsigned long int __glibc_reserved4; +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h new file mode 100644 index 00000000..47bb8610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/wordsize.h new file mode 100644 index 00000000..7b51c673 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __powerpc64__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h new file mode 100644 index 00000000..cdedca96 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/fpu_control.h @@ -0,0 +1,114 @@ +/* FPU control word definitions. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT) +# error "SPE/e500 is no longer supported" +#endif + +#ifdef _SOFT_FLOAT + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 /* Default value. */ +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* PowerPC 6xx floating-point. */ + +/* rounding control */ +# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +# define _FPU_RC_DOWN 0x03 +# define _FPU_RC_UP 0x02 +# define _FPU_RC_ZERO 0x01 + +# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO) + +# define _FPU_MASK_NI 0x04 /* non-ieee mode */ + +/* masking of interrupts */ +# define _FPU_MASK_ZM 0x10 /* zero divide */ +# define _FPU_MASK_OM 0x40 /* overflow */ +# define _FPU_MASK_UM 0x20 /* underflow */ +# define _FPU_MASK_XM 0x08 /* inexact */ +# define _FPU_MASK_IM 0x80 /* invalid operation */ + +# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ + +/* The fdlibm code requires no interrupts for exceptions. */ +# define _FPU_DEFAULT 0x00000000 /* Default value. */ + +/* IEEE: same as above, but (some) exceptions; + we leave the 'inexact' exception off. + */ +# define _FPU_IEEE 0x000000f0 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \ + (cw) = (fpu_control_t) __u.__ll; \ + (fpu_control_t) __u.__ll; \ + }) + +# define _FPU_GET_RC_ISA300() \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__( \ + ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \ + : "=f" (__u.__d)); \ + (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \ + }) + +# ifdef _ARCH_PWR9 +# define _FPU_GET_RC() _FPU_GET_RC_ISA300() +# elif defined __BUILTIN_CPU_SUPPORTS__ +# define _FPU_GET_RC() \ + ({fpu_control_t __rc; \ + __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \ + ? _FPU_GET_RC_ISA300 () \ + : _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# else +# define _FPU_GET_RC() \ + ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# endif + +# define _FPU_SETCW(cw) \ + { union { double __d; unsigned long long __ll; } __u; \ + register double __fr; \ + __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \ + __u.__ll |= (cw) & 0xffffffffLL; \ + __fr = __u.__d; \ + __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \ + } + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* PowerPC 6xx floating-point. */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h new file mode 100644 index 00000000..af615a3d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names-32.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names.h new file mode 100644 index 00000000..a6fbab80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/lib-names.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/stubs.h new file mode 100644 index 00000000..d130565a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/gnu/stubs.h @@ -0,0 +1,15 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/ieee754.h new file mode 100644 index 00000000..38008b56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/ieee754.h @@ -0,0 +1,197 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +/* long double is IEEE 128 bit */ +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ +#endif + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0) +/* IBM extended format for long double. + + Each long double is made up of two IEEE doubles. The value of the + long double is the sum of the values of the two parts. The most + significant part is required to be the value of the long double + rounded to the nearest double, as specified by IEEE. For Inf + values, the least significant part is required to be one of +0.0 or + -0.0. No other requirements are made; so, for example, 1.0 may be + represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a + NaN is don't-care. */ +union ibm_extended_long_double + { +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0) + __ibm128 ld; +# else + long double ld; +# endif + union ieee754_double d[2]; + }; +#endif + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h new file mode 100644 index 00000000..99cf115c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ptrace.h @@ -0,0 +1,289 @@ +/* `ptrace' debugger support interface. Linux/PowerPC version. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H +/* Do not let Linux headers macros interfere with enum __ptrace_request. */ +# undef PTRACE_ATTACH +# undef PTRACE_CONT +# undef PTRACE_DETACH +# undef PTRACE_GET_DEBUGREG +# undef PTRACE_GETEVENTMSG +# undef PTRACE_GETEVRREGS +# undef PTRACE_GETFPREGS +# undef PTRACE_GETREGS +# undef PTRACE_GETREGS64 +# undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION +# undef PTRACE_GETSIGINFO +# undef PTRACE_GETSIGMASK +# undef PTRACE_GET_SYSCALL_INFO +# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_GETVRREGS +# undef PTRACE_GETVSRREGS +# undef PTRACE_INTERRUPT +# undef PTRACE_KILL +# undef PTRACE_LISTEN +# undef PTRACE_PEEKDATA +# undef PTRACE_PEEKSIGINFO +# undef PTRACE_PEEKTEXT +# undef PTRACE_POKEDATA +# undef PTRACE_POKETEXT +# undef PTRACE_SECCOMP_GET_FILTER +# undef PTRACE_SECCOMP_GET_METADATA +# undef PTRACE_SEIZE +# undef PTRACE_SET_DEBUGREG +# undef PTRACE_SETEVRREGS +# undef PTRACE_SETFPREGS +# undef PTRACE_SETOPTIONS +# undef PTRACE_SETREGS +# undef PTRACE_SETREGS64 +# undef PTRACE_SETREGSET +# undef PTRACE_SETSIGINFO +# undef PTRACE_SETSIGMASK +# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_SETVRREGS +# undef PTRACE_SETVSRREGS +# undef PTRACE_SINGLEBLOCK +# undef PTRACE_SINGLESTEP +# undef PTRACE_SYSCALL +# undef PTRACE_SYSCALL_INFO_NONE +# undef PTRACE_SYSCALL_INFO_ENTRY +# undef PTRACE_SYSCALL_INFO_EXIT +# undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_SYSEMU +# undef PTRACE_SYSEMU_SINGLESTEP +# undef PTRACE_TRACEME +#endif + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get all altivec registers used by a process. */ + PTRACE_GETVRREGS = 18, +#define PT_GETVRREGS PTRACE_GETVRREGS + + /* Set all altivec registers used by a process. */ + PTRACE_SETVRREGS = 19, +#define PT_SETVRREGS PTRACE_SETVRREGS + + /* Get all SPE registers used by a process. */ + PTRACE_GETEVRREGS = 20, +#define PT_GETEVRREGS PTRACE_GETEVRREGS + + /* Set all SPE registers used by a process. */ + PTRACE_SETEVRREGS = 21, +#define PT_SETEVRREGS PTRACE_SETEVRREGS + + /* Same as PTRACE_GETREGS except a 32-bit process will obtain + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_GETREGS64 = 22, +#define PT_GETREGS64 PTRACE_GETREGS64 + + /* Same as PTRACE_SETREGS except a 32-bit process will set + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_SETREGS64 = 23, +#define PT_SETREGS64 PTRACE_SETREGS64 + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get a debug register of a process. */ + PTRACE_GET_DEBUGREG = 25, +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG + + /* Set a debug register of a process. */ + PTRACE_SET_DEBUGREG = 26, +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG + + /* Get the first 32 VSX registers of a process. */ + PTRACE_GETVSRREGS = 27, +#define PT_GETVSRREGS PTRACE_GETVSRREGS + + /* Set the first 32 VSX registers of a process. */ + PTRACE_SETVSRREGS = 28, +#define PT_SETVSRREGS PTRACE_SETVSRREGS + + /* Continue and stop at the next syscall, it will not be executed. */ + PTRACE_SYSEMU = 29, +#define PT_SYSEMU PTRACE_SYSEMU + + /* Single step the process, the next syscall will not be executed. */ + PTRACE_SYSEMU_SINGLESTEP = 30, +#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 256, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h new file mode 100644 index 00000000..7d354e52 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/ucontext.h @@ -0,0 +1,200 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +struct __ctx(pt_regs); + +#if __WORDSIZE == 32 + +/* Number of general registers. */ +# define __NGREG 48 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif + +/* Container for all general registers. */ +typedef unsigned long gregset_t[__NGREG]; + +/* Container for floating-point registers and status */ +typedef struct _libc_fpstate +{ + double __ctx(fpregs)[32]; + double __ctx(fpscr); + unsigned int _pad[2]; +} fpregset_t; + +/* Container for Altivec/VMX registers and status. + Needs to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + unsigned int __ctx(vrsave); + unsigned int _pad[2]; + unsigned int __ctx(vscr); +} vrregset_t; + +/* Context to describe whole processor state. */ +typedef struct +{ + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + vrregset_t __ctx(vrregs) __attribute__((__aligned__(16))); +} mcontext_t; + +#else + +/* For 64-bit kernels with Altivec support, a machine context is exactly + * a sigcontext. For older kernel (without Altivec) the sigcontext matches + * the mcontext upto but not including the v_regs field. For kernels that + * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the + * v_regs field may not exist and should not be referenced. The v_regs field + * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC + * is set in AT_HWCAP. */ + +/* Number of general registers. */ +# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ +# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */ +# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in + split vectors */ +# ifdef __USE_MISC +# define NGREG __NGREG +# define NFPREG __NFPREG +# define NVRREG __NVRREG +# endif + +typedef unsigned long gregset_t[__NGREG]; +typedef double fpregset_t[__NFPREG]; + +/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits + but can only be copied to/from a 128-bit vector register. So we allocated + a whole quadword speedup save/restore. */ +typedef struct _libc_vscr +{ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + unsigned int __pad[3]; + unsigned int __ctx(vscr_word); +#else + unsigned int __ctx(vscr_word); + unsigned int __pad[3]; +#endif +} vscr_t; + +/* Container for Altivec/VMX registers and status. + Must to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + vscr_t __ctx(vscr); + unsigned int __ctx(vrsave); + unsigned int __pad[3]; +} vrregset_t __attribute__((__aligned__(16))); + +typedef struct { + unsigned long __glibc_reserved[4]; + int __ctx(signal); + int __pad0; + unsigned long __ctx(handler); + unsigned long __ctx(oldmask); + struct __ctx(pt_regs) *__ctx(regs); + gregset_t __ctx(gp_regs); + fpregset_t __ctx(fp_regs); +/* + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 69 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the + * address of the first quadword within the allocated (vmx_reserve) area. + * + * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially + * an array of 34 quadword entries. The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) + * within the quadword. + */ + vrregset_t *__ctx(v_regs); + long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1]; +} mcontext_t; + +#endif + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; +#if __WORDSIZE == 32 + /* + * These fields are set up this way to maximize source and + * binary compatibility with code written for the old + * ucontext_t definition, which didn't include space for the + * registers. + * + * Different versions of the kernel have stored the registers on + * signal delivery at different offsets from the ucontext struct. + * Programs should thus use the uc_mcontext.uc_regs pointer to + * find where the registers are actually stored. The registers + * will be stored within the ucontext_t struct but not necessarily + * at a fixed address. As a side-effect, this lets us achieve + * 16-byte alignment for the register storage space if the + * Altivec registers are to be saved, without requiring 16-byte + * alignment on the whole ucontext_t. + * + * The uc_mcontext.regs field is included for source compatibility + * with programs written against the older ucontext_t definition, + * and its name should therefore not change. The uc_pad field + * is for binary compatibility with programs compiled against the + * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask + * are at the same offset as previously. + */ + int __glibc_reserved1[7]; + union __ctx(uc_regs_ptr) { + struct __ctx(pt_regs) *__ctx(regs); + mcontext_t *__ctx(uc_regs); + } uc_mcontext; + sigset_t uc_sigmask; + /* last for extensibility */ + char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12]; +#else /* 64-bit */ + sigset_t uc_sigmask; + mcontext_t uc_mcontext; /* last for extensibility */ +#endif + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/user.h new file mode 100644 index 00000000..19396e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabi/sys/user.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H + +#define _SYS_USER_H 1 +#include +#include + +#include + +struct user { + struct pt_regs regs; /* entire machine state */ + size_t u_tsize; /* text size (pages) */ + size_t u_dsize; /* data size (pages) */ + size_t u_ssize; /* stack size (pages) */ + unsigned long start_code; /* text starting address */ + unsigned long start_data; /* data starting address */ + unsigned long start_stack; /* stack starting address */ + long int signal; /* signal causing core dump */ + struct regs * u_ar0; /* help gdb find registers */ + unsigned long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/endianness.h new file mode 100644 index 00000000..91892fa1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* PowerPC has selectable endianness. */ +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h new file mode 100644 index 00000000..8e255ea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fcntl.h @@ -0,0 +1,68 @@ +/* O_*, F_*, FD_* bit values for Linux/PowerPC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0400000 /* Direct disk access. */ + +#if __WORDSIZE == 64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0200000 +#endif + +#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h new file mode 100644 index 00000000..464f6523 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fenv.h @@ -0,0 +1,180 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +/* Define bits representing the exception. We use the bit positions of + the appropriate bits in the FPSCR... */ +enum + { + FE_INEXACT = +#define FE_INEXACT (1 << (31 - 6)) + FE_INEXACT, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << (31 - 5)) + FE_DIVBYZERO, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << (31 - 4)) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << (31 - 3)) + FE_OVERFLOW, + + /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID + actually corresponds to bits 7 through 12 and 21 through 23 + in the FPSCR, but we can't use that because the current draft + says that it must be a power of 2. Instead we use bit 2 which + is the summary bit for all the FE_INVALID exceptions, which + kind of makes sense. */ + FE_INVALID = +#define FE_INVALID (1 << (31 - 2)) + FE_INVALID, + +#ifdef __USE_GNU + /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an + input to a routine is equivalent to setting all of these bits; + FE_INVALID will be set on output from a routine iff one of + these bits is set. Note, though, that you can't disable or + enable these exceptions individually. */ + + /* Operation with a sNaN. */ + FE_INVALID_SNAN = +# define FE_INVALID_SNAN (1 << (31 - 7)) + FE_INVALID_SNAN, + + /* Inf - Inf */ + FE_INVALID_ISI = +# define FE_INVALID_ISI (1 << (31 - 8)) + FE_INVALID_ISI, + + /* Inf / Inf */ + FE_INVALID_IDI = +# define FE_INVALID_IDI (1 << (31 - 9)) + FE_INVALID_IDI, + + /* 0 / 0 */ + FE_INVALID_ZDZ = +# define FE_INVALID_ZDZ (1 << (31 - 10)) + FE_INVALID_ZDZ, + + /* Inf * 0 */ + FE_INVALID_IMZ = +# define FE_INVALID_IMZ (1 << (31 - 11)) + FE_INVALID_IMZ, + + /* Comparison with a NaN. */ + FE_INVALID_COMPARE = +# define FE_INVALID_COMPARE (1 << (31 - 12)) + FE_INVALID_COMPARE, + + /* Invalid operation flag for software (not set by hardware). */ + /* Note that some chips don't have this implemented, presumably + because no-one expected anyone to write software for them %-). */ + FE_INVALID_SOFTWARE = +# define FE_INVALID_SOFTWARE (1 << (31 - 21)) + FE_INVALID_SOFTWARE, + + /* Square root of negative number (including -Inf). */ + /* Note that some chips don't have this implemented. */ + FE_INVALID_SQRT = +# define FE_INVALID_SQRT (1 << (31 - 22)) + FE_INVALID_SQRT, + + /* Conversion-to-integer of a NaN or a number too large or too small. */ + FE_INVALID_INTEGER_CONVERSION = +# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23)) + FE_INVALID_INTEGER_CONVERSION + +# define FE_ALL_INVALID \ + (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \ + | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \ + | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION) +#endif + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* PowerPC chips support all of the four defined rounding modes. We + use the bit pattern in the FPSCR as the values for the + appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 1 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 2 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 3 + FE_DOWNWARD + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. We leave it as 'double' + for efficiency reasons (rather than writing it to a 32-bit integer). */ +typedef double fenv_t; + +/* If the default argument is used we use this value. */ +extern const fenv_t __fe_dfl_env; +#define FE_DFL_ENV (&__fe_dfl_env) + +#ifdef __USE_GNU +/* Floating-point environment where all exceptions are enabled. Note that + this is not sufficient to give you SIGFPE. */ +extern const fenv_t __fe_enabled_env; +# define FE_ENABLED_ENV (&__fe_enabled_env) + +/* Floating-point environment with (processor-dependent) non-IEEE floating + point. */ +extern const fenv_t __fe_nonieee_env; +# define FE_NONIEEE_ENV (&__fe_nonieee_env) + +/* Floating-point environment with all exceptions enabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Precise Mode". On some processors this will + result in slower floating point execution. This will last until an + fenv or exception mask is installed that disables all FP exceptions. */ +# define FE_NOMASK_ENV FE_ENABLED_ENV + +/* Floating-point environment with all exceptions disabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors + this allows the fastest possible floating point execution.*/ +# define FE_MASK_ENV FE_DFL_ENV + +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef double femode_t; + +/* Default floating-point control modes. */ +extern const femode_t __fe_dfl_mode; +# define FE_DFL_MODE (&__fe_dfl_mode) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h new file mode 100644 index 00000000..b07b9abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/floatn.h @@ -0,0 +1,122 @@ +/* Macros to control TS 18661-3 glibc features on powerpc. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ + && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc, i.e. + calls to the binary128 functions go to *f128 symbols instead of *l. */ +#if __HAVE_FLOAT128 +# define __HAVE_DISTINCT_FLOAT128 1 +#else +# define __HAVE_DISTINCT_FLOAT128 0 +#endif + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ +# if __LDBL_MANT_DIG__ == 113 +# define __f128(x) x##l +# else +# define __f128(x) x##q +# endif +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) +typedef long double _Float128; +# define __CFLOAT128 _Complex long double +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The type _Float128 exist for powerpc only since GCC 7.0. */ +typedef __float128 _Float128; +/* Add a typedef for older GCC and C++ compilers which don't natively support + _Complex _Float128. */ +typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); +# define __CFLOAT128 __cfloat128 +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 +/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) +# endif + +/* The following builtins (suffixed with 'q') are available in GCC >= 6.2, + which is the minimum version required for float128 support on powerpc64le. + Since GCC 7.0 the builtins suffixed with f128 are also available, then + there is no need to redefined them. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_copysignf128 __builtin_copysignq +# define __builtin_fabsf128 __builtin_fabsq +# define __builtin_inff128 __builtin_infq +# define __builtin_nanf128 __builtin_nanq +# define __builtin_nansf128 __builtin_nansq +# endif + +/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is + only available since GCC 6. */ +# if !__GNUC_PREREQ (6, 0) +# define __builtin_signbitf128 __signbitf128 +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h new file mode 100644 index 00000000..4d38958f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/fp-fast.h @@ -0,0 +1,39 @@ +/* Define FP_FAST_* macros. PowerPC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_ISOC99 + +/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} + builtins are supported. */ +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA +# define FP_FAST_FMA 1 +# endif + +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF +# define FP_FAST_FMAF 1 +# endif + +# ifdef __FP_FAST_FMAL +# define FP_FAST_FMAL 1 +# endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h new file mode 100644 index 00000000..5e3ab018 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/hwcap.h @@ -0,0 +1,78 @@ +/* Defines for bits in AT_HWCAP and AT_HWCAP2. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The bit numbers must match those in the kernel's asm/cputable.h. */ + +/* Feature definitions in AT_HWCAP. */ +#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */ +#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */ +#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */ +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */ +#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */ +#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */ +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */ +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */ +#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */ +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */ +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */ +#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */ +#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */ +#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */ +#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */ +#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */ +#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */ +#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous + Multi-Threading */ +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */ +#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */ +#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */ +#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */ +#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */ +#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */ +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 +/* Reserved by the kernel. 0x00000004 Do not use. */ +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +/* Feature definitions in AT_HWCAP2. */ +#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */ +#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional + Memory */ +#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control + Register */ +#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */ +#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */ +#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */ +#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector + instruction. */ +#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction + when a syscall is made. */ +#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */ +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float + 128-bit */ +#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */ +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */ +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended + state. */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */ +#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h new file mode 100644 index 00000000..1744e55f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ioctl-types.h @@ -0,0 +1,77 @@ +/* Structure types for pre-termios terminal ioctls. Linux/powerpc version. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 10 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h new file mode 100644 index 00000000..06ba7e6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/powerpc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + __uint32_t __seq; /* Sequence number. */ + __uint32_t __pad1; + __uint64_t __glibc_reserved1; + __uint64_t __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h new file mode 100644 index 00000000..49ea731c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/iscanonical.h @@ -0,0 +1,58 @@ +/* Define iscanonical macro. ldbl-128ibm version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define iscanonical(x) ((void) (__typeof (x)) (x), 1) +#else +extern int __iscanonicall (long double __x) + __THROW __attribute__ ((__const__)); +# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1) +# define __iscanonical(x) ((void) (__typeof (x)) (x), 1) +# if __HAVE_DISTINCT_FLOAT128 +# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1) +# endif + +/* Return nonzero value if X is canonical. In IEEE interchange binary + formats, all values are canonical, but the argument must still be + converted to its semantic type for any exceptions arising from the + conversion, before being discarded; in IBM long double, there are + encodings that are not consistently handled as corresponding to any + particular value of the type, and we return 0 for those. */ +# ifndef __cplusplus +# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x)) +# else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int iscanonical (float __val) { return __iscanonicalf (__val); } +inline int iscanonical (double __val) { return __iscanonical (__val); } +inline int iscanonical (long double __val) { return __iscanonicall (__val); } +# if __HAVE_DISTINCT_FLOAT128 +inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); } +# endif +} +# endif /* __cplusplus */ +#endif /* __NO_LONG_DOUBLE_MATH */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h new file mode 100644 index 00000000..90aaa912 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/link.h @@ -0,0 +1,156 @@ +/* Machine-specific declarations for dynamic linker interface. PowerPC version + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +#if __ELF_NATIVE_CLASS == 32 + +/* Registers for entry into PLT on PPC32. */ +typedef struct La_ppc32_regs +{ + uint32_t lr_reg[8]; + double lr_fp[8]; + uint32_t lr_vreg[12][4]; + uint32_t lr_r1; + uint32_t lr_lr; +} La_ppc32_regs; + +/* Return values for calls from PLT on PPC32. */ +typedef struct La_ppc32_retval +{ + uint32_t lrv_r3; + uint32_t lrv_r4; + double lrv_fp[8]; + uint32_t lrv_v2[4]; +} La_ppc32_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc32_regs *__inregs, + La_ppc32_retval *__outregs, + const char *__symname); + +__END_DECLS + +#elif __ELF_NATIVE_CLASS == 64 +# if _CALL_ELF != 2 + +/* Registers for entry into PLT on PPC64. */ +typedef struct La_ppc64_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4]; + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64_regs; + +/* Return values for calls from PLT on PPC64. */ +typedef struct La_ppc64_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[4]; /* f1-f4, float - complex long double. */ + uint32_t lrv_v2[4]; /* v2. */ +} La_ppc64_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64_regs *__inregs, + La_ppc64_retval *__outregs, + const char *__symname); + +__END_DECLS + +# else + +/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4] __attribute__ ((aligned (16))); + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64v2_regs; + +/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[10]; + uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16))); +} La_ppc64v2_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64v2_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64v2_regs *__inregs, + La_ppc64v2_retval *__outregs, + const char *__symname); + +__END_DECLS + +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h new file mode 100644 index 00000000..c83ef568 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/long-double.h @@ -0,0 +1,25 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h new file mode 100644 index 00000000..1fc6762a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/mman.h @@ -0,0 +1,51 @@ +/* Definitions for POSIX memory map interface. Linux/PowerPC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +#define PROT_SAO 0x10 /* Strong Access Ordering. */ + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h new file mode 100644 index 00000000..14652268 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/procfs.h @@ -0,0 +1,49 @@ +/* Types for registers for sys/procfs.h. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include + +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ +#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#if __WORDSIZE == 32 +# define ELF_NVRREG 33 /* includes vscr */ +#else +# define ELF_NVRREG 34 /* includes vscr */ +#endif + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* Altivec registers */ +typedef struct { + unsigned int u[4]; +} __attribute__ ((__aligned__ (16))) elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h new file mode 100644 index 00000000..0b6dcb91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/pthread_stack_min.h @@ -0,0 +1,21 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/PPC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. At least two pages for systems with 64k + pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h new file mode 100644 index 00000000..5ba28090 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h new file mode 100644 index 00000000..b8774299 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/setjmp.h @@ -0,0 +1,50 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +/* The previous bits/setjmp.h had __jmp_buf defined as a structure. + We use an array of 'long int' instead, to make writing the + assembler easier. Naturally, user code should not depend on + either representation. */ + +#include + +/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI + the vrsave must be at byte 248 & v20 at byte 256. So we must pad this + correctly on 32 bit. It also insists that vecregs are only guaranteed + 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. + We have to version the code because members like int __mask_was_saved + in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We + cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */ +#ifndef _ASM +# if __WORDSIZE == 64 +typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16))); +# else +/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte + aligned buffer as per the ABI it is just added for performance reasons. */ +typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16))); +# endif +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h new file mode 100644 index 00000000..cc26e7b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/sigstack.h @@ -0,0 +1,37 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 +#endif + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h new file mode 100644 index 00000000..b5b6051a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for POWER. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 1 +#define SO_ACCEPTCONN 30 +#define SO_BROADCAST 6 +#define SO_DONTROUTE 5 +#define SO_ERROR 4 +#define SO_KEEPALIVE 9 +#define SO_LINGER 13 +#define SO_OOBINLINE 10 +#define SO_RCVBUF 8 +#define SO_RCVLOWAT 16 +#define SO_REUSEADDR 2 +#define SO_SNDBUF 7 +#define SO_SNDLOWAT 17 +#define SO_TYPE 3 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 18 +# define SO_SNDTIMEO 19 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 18 +# define SO_SNDTIMEO_OLD 19 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h new file mode 100644 index 00000000..c7f90aa4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_mutex.h @@ -0,0 +1,63 @@ +/* PowerPC internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if __WORDSIZE == 64 + short __spins; + short __elision; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + struct + { + short __espins; + short __elision; +# define __spins __elision_data.__espins +# define __elision __elision_data.__elision + } __elision_data; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { { 0, 0 } } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h new file mode 100644 index 00000000..6ca8f577 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_rwlock.h @@ -0,0 +1,61 @@ +/* PowerPC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned char __rwelision; + unsigned char __pad1[7]; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 } +#else + unsigned char __rwelision; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h new file mode 100644 index 00000000..4b2c05e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/struct_stat.h @@ -0,0 +1,231 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if __WORDSIZE == 32 +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +# endif /* __USE_LARGEFILE64 */ + +#else /* __WORDSIZE == 32 */ + +struct stat + { + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; +# endif /* __USE_LARGEFILE64 */ +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h new file mode 100644 index 00000000..b61756d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-baud.h @@ -0,0 +1,45 @@ +/* termios baud rate selection definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000377 +# define CBAUDEX 0000020 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 +#define __MAX_BAUD B4000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h new file mode 100644 index 00000000..2a533e98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cc.h @@ -0,0 +1,41 @@ +/* termios c_cc symbolic constant definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 + +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h new file mode 100644 index 00000000..1532bbe4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_cflag.h @@ -0,0 +1,39 @@ +/* termios control mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 + +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 + +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h new file mode 100644 index 00000000..b19f14d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h new file mode 100644 index 00000000..28d36181 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_lflag.h @@ -0,0 +1,45 @@ +/* termios local mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0x00004000 +#endif +#define ECHO 0x00000008 +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHONL 0x00000010 +#define NOFLSH 0x80000000 +#define TOSTOP 0x00400000 +#ifdef __USE_MISC +# define ECHOCTL 0x00000040 +# define ECHOPRT 0x00000020 +# define ECHOKE 0x00000001 +# define FLUSHO 0x00800000 +# define PENDIN 0x20000000 +#endif +#define IEXTEN 0x00000400 +#ifdef __USE_MISC +# define EXTPROC 0x10000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h new file mode 100644 index 00000000..78844942 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-c_oflag.h @@ -0,0 +1,65 @@ +/* termios output mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 + +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 + +#define OFILL 00000100 +#define OFDEL 00000200 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 00001400 +# define NL0 00000000 +# define NL1 00000400 +# if defined __USE_MISC +# define NL2 00001000 +# define NL3 00001400 +# endif +# define TABDLY 00006000 +# define TAB0 00000000 +# define TAB1 00002000 +# define TAB2 00004000 +# define TAB3 00006000 +# define CRDLY 00030000 +# define CR0 00000000 +# define CR1 00010000 +# define CR2 00020000 +# define CR3 00030000 +# define FFDLY 00040000 +# define FF0 00000000 +# define FF1 00040000 +# define BSDLY 00100000 +# define BS0 00000000 +# define BS1 00100000 +#endif +#define VTDLY 00200000 +#define VT0 00000000 +#define VT1 00200000 + +#ifdef __USE_MISC +# define XTABS 00006000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h new file mode 100644 index 00000000..8d350447 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/termios-misc.h @@ -0,0 +1,72 @@ +/* termios baud platform specific definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; + +/* Used for packet mode */ +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 + +/* c_cc characters */ +#define _VINTR 0 +#define _VQUIT 1 +#define _VERASE 2 +#define _VKILL 3 +#define _VEOF 4 +#define _VMIN 5 +#define _VEOL 6 +#define _VTIME 7 +#define _VEOL2 8 +#define _VSWTC 9 + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h new file mode 100644 index 00000000..9cbad9b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..f6b3e4d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/PowerPC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..3b208ff2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* PowerPC implementation of the semaphore struct semid_ds. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..2ed27e03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/types/struct_shmid_ds.h @@ -0,0 +1,50 @@ +/* Linux/PowerPC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ + unsigned long int __glibc_reserved4; +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h new file mode 100644 index 00000000..47bb8610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/wordsize.h new file mode 100644 index 00000000..7b51c673 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __powerpc64__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h new file mode 100644 index 00000000..cdedca96 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/fpu_control.h @@ -0,0 +1,114 @@ +/* FPU control word definitions. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT) +# error "SPE/e500 is no longer supported" +#endif + +#ifdef _SOFT_FLOAT + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 /* Default value. */ +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* PowerPC 6xx floating-point. */ + +/* rounding control */ +# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +# define _FPU_RC_DOWN 0x03 +# define _FPU_RC_UP 0x02 +# define _FPU_RC_ZERO 0x01 + +# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO) + +# define _FPU_MASK_NI 0x04 /* non-ieee mode */ + +/* masking of interrupts */ +# define _FPU_MASK_ZM 0x10 /* zero divide */ +# define _FPU_MASK_OM 0x40 /* overflow */ +# define _FPU_MASK_UM 0x20 /* underflow */ +# define _FPU_MASK_XM 0x08 /* inexact */ +# define _FPU_MASK_IM 0x80 /* invalid operation */ + +# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ + +/* The fdlibm code requires no interrupts for exceptions. */ +# define _FPU_DEFAULT 0x00000000 /* Default value. */ + +/* IEEE: same as above, but (some) exceptions; + we leave the 'inexact' exception off. + */ +# define _FPU_IEEE 0x000000f0 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \ + (cw) = (fpu_control_t) __u.__ll; \ + (fpu_control_t) __u.__ll; \ + }) + +# define _FPU_GET_RC_ISA300() \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__( \ + ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \ + : "=f" (__u.__d)); \ + (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \ + }) + +# ifdef _ARCH_PWR9 +# define _FPU_GET_RC() _FPU_GET_RC_ISA300() +# elif defined __BUILTIN_CPU_SUPPORTS__ +# define _FPU_GET_RC() \ + ({fpu_control_t __rc; \ + __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \ + ? _FPU_GET_RC_ISA300 () \ + : _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# else +# define _FPU_GET_RC() \ + ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# endif + +# define _FPU_SETCW(cw) \ + { union { double __d; unsigned long long __ll; } __u; \ + register double __fr; \ + __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \ + __u.__ll |= (cw) & 0xffffffffLL; \ + __fr = __u.__d; \ + __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \ + } + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* PowerPC 6xx floating-point. */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h new file mode 100644 index 00000000..af615a3d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names-32.h @@ -0,0 +1,26 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_SO "ld.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names.h new file mode 100644 index 00000000..a6fbab80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/lib-names.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/stubs.h new file mode 100644 index 00000000..d130565a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/gnu/stubs.h @@ -0,0 +1,15 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h new file mode 100644 index 00000000..38008b56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/ieee754.h @@ -0,0 +1,197 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +/* long double is IEEE 128 bit */ +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ +#endif + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0) +/* IBM extended format for long double. + + Each long double is made up of two IEEE doubles. The value of the + long double is the sum of the values of the two parts. The most + significant part is required to be the value of the long double + rounded to the nearest double, as specified by IEEE. For Inf + values, the least significant part is required to be one of +0.0 or + -0.0. No other requirements are made; so, for example, 1.0 may be + represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a + NaN is don't-care. */ +union ibm_extended_long_double + { +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0) + __ibm128 ld; +# else + long double ld; +# endif + union ieee754_double d[2]; + }; +#endif + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h new file mode 100644 index 00000000..99cf115c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ptrace.h @@ -0,0 +1,289 @@ +/* `ptrace' debugger support interface. Linux/PowerPC version. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H +/* Do not let Linux headers macros interfere with enum __ptrace_request. */ +# undef PTRACE_ATTACH +# undef PTRACE_CONT +# undef PTRACE_DETACH +# undef PTRACE_GET_DEBUGREG +# undef PTRACE_GETEVENTMSG +# undef PTRACE_GETEVRREGS +# undef PTRACE_GETFPREGS +# undef PTRACE_GETREGS +# undef PTRACE_GETREGS64 +# undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION +# undef PTRACE_GETSIGINFO +# undef PTRACE_GETSIGMASK +# undef PTRACE_GET_SYSCALL_INFO +# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_GETVRREGS +# undef PTRACE_GETVSRREGS +# undef PTRACE_INTERRUPT +# undef PTRACE_KILL +# undef PTRACE_LISTEN +# undef PTRACE_PEEKDATA +# undef PTRACE_PEEKSIGINFO +# undef PTRACE_PEEKTEXT +# undef PTRACE_POKEDATA +# undef PTRACE_POKETEXT +# undef PTRACE_SECCOMP_GET_FILTER +# undef PTRACE_SECCOMP_GET_METADATA +# undef PTRACE_SEIZE +# undef PTRACE_SET_DEBUGREG +# undef PTRACE_SETEVRREGS +# undef PTRACE_SETFPREGS +# undef PTRACE_SETOPTIONS +# undef PTRACE_SETREGS +# undef PTRACE_SETREGS64 +# undef PTRACE_SETREGSET +# undef PTRACE_SETSIGINFO +# undef PTRACE_SETSIGMASK +# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_SETVRREGS +# undef PTRACE_SETVSRREGS +# undef PTRACE_SINGLEBLOCK +# undef PTRACE_SINGLESTEP +# undef PTRACE_SYSCALL +# undef PTRACE_SYSCALL_INFO_NONE +# undef PTRACE_SYSCALL_INFO_ENTRY +# undef PTRACE_SYSCALL_INFO_EXIT +# undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_SYSEMU +# undef PTRACE_SYSEMU_SINGLESTEP +# undef PTRACE_TRACEME +#endif + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get all altivec registers used by a process. */ + PTRACE_GETVRREGS = 18, +#define PT_GETVRREGS PTRACE_GETVRREGS + + /* Set all altivec registers used by a process. */ + PTRACE_SETVRREGS = 19, +#define PT_SETVRREGS PTRACE_SETVRREGS + + /* Get all SPE registers used by a process. */ + PTRACE_GETEVRREGS = 20, +#define PT_GETEVRREGS PTRACE_GETEVRREGS + + /* Set all SPE registers used by a process. */ + PTRACE_SETEVRREGS = 21, +#define PT_SETEVRREGS PTRACE_SETEVRREGS + + /* Same as PTRACE_GETREGS except a 32-bit process will obtain + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_GETREGS64 = 22, +#define PT_GETREGS64 PTRACE_GETREGS64 + + /* Same as PTRACE_SETREGS except a 32-bit process will set + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_SETREGS64 = 23, +#define PT_SETREGS64 PTRACE_SETREGS64 + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get a debug register of a process. */ + PTRACE_GET_DEBUGREG = 25, +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG + + /* Set a debug register of a process. */ + PTRACE_SET_DEBUGREG = 26, +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG + + /* Get the first 32 VSX registers of a process. */ + PTRACE_GETVSRREGS = 27, +#define PT_GETVSRREGS PTRACE_GETVSRREGS + + /* Set the first 32 VSX registers of a process. */ + PTRACE_SETVSRREGS = 28, +#define PT_SETVSRREGS PTRACE_SETVSRREGS + + /* Continue and stop at the next syscall, it will not be executed. */ + PTRACE_SYSEMU = 29, +#define PT_SYSEMU PTRACE_SYSEMU + + /* Single step the process, the next syscall will not be executed. */ + PTRACE_SYSEMU_SINGLESTEP = 30, +#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 256, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h new file mode 100644 index 00000000..7d354e52 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/ucontext.h @@ -0,0 +1,200 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +struct __ctx(pt_regs); + +#if __WORDSIZE == 32 + +/* Number of general registers. */ +# define __NGREG 48 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif + +/* Container for all general registers. */ +typedef unsigned long gregset_t[__NGREG]; + +/* Container for floating-point registers and status */ +typedef struct _libc_fpstate +{ + double __ctx(fpregs)[32]; + double __ctx(fpscr); + unsigned int _pad[2]; +} fpregset_t; + +/* Container for Altivec/VMX registers and status. + Needs to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + unsigned int __ctx(vrsave); + unsigned int _pad[2]; + unsigned int __ctx(vscr); +} vrregset_t; + +/* Context to describe whole processor state. */ +typedef struct +{ + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + vrregset_t __ctx(vrregs) __attribute__((__aligned__(16))); +} mcontext_t; + +#else + +/* For 64-bit kernels with Altivec support, a machine context is exactly + * a sigcontext. For older kernel (without Altivec) the sigcontext matches + * the mcontext upto but not including the v_regs field. For kernels that + * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the + * v_regs field may not exist and should not be referenced. The v_regs field + * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC + * is set in AT_HWCAP. */ + +/* Number of general registers. */ +# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ +# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */ +# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in + split vectors */ +# ifdef __USE_MISC +# define NGREG __NGREG +# define NFPREG __NFPREG +# define NVRREG __NVRREG +# endif + +typedef unsigned long gregset_t[__NGREG]; +typedef double fpregset_t[__NFPREG]; + +/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits + but can only be copied to/from a 128-bit vector register. So we allocated + a whole quadword speedup save/restore. */ +typedef struct _libc_vscr +{ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + unsigned int __pad[3]; + unsigned int __ctx(vscr_word); +#else + unsigned int __ctx(vscr_word); + unsigned int __pad[3]; +#endif +} vscr_t; + +/* Container for Altivec/VMX registers and status. + Must to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + vscr_t __ctx(vscr); + unsigned int __ctx(vrsave); + unsigned int __pad[3]; +} vrregset_t __attribute__((__aligned__(16))); + +typedef struct { + unsigned long __glibc_reserved[4]; + int __ctx(signal); + int __pad0; + unsigned long __ctx(handler); + unsigned long __ctx(oldmask); + struct __ctx(pt_regs) *__ctx(regs); + gregset_t __ctx(gp_regs); + fpregset_t __ctx(fp_regs); +/* + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 69 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the + * address of the first quadword within the allocated (vmx_reserve) area. + * + * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially + * an array of 34 quadword entries. The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) + * within the quadword. + */ + vrregset_t *__ctx(v_regs); + long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1]; +} mcontext_t; + +#endif + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; +#if __WORDSIZE == 32 + /* + * These fields are set up this way to maximize source and + * binary compatibility with code written for the old + * ucontext_t definition, which didn't include space for the + * registers. + * + * Different versions of the kernel have stored the registers on + * signal delivery at different offsets from the ucontext struct. + * Programs should thus use the uc_mcontext.uc_regs pointer to + * find where the registers are actually stored. The registers + * will be stored within the ucontext_t struct but not necessarily + * at a fixed address. As a side-effect, this lets us achieve + * 16-byte alignment for the register storage space if the + * Altivec registers are to be saved, without requiring 16-byte + * alignment on the whole ucontext_t. + * + * The uc_mcontext.regs field is included for source compatibility + * with programs written against the older ucontext_t definition, + * and its name should therefore not change. The uc_pad field + * is for binary compatibility with programs compiled against the + * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask + * are at the same offset as previously. + */ + int __glibc_reserved1[7]; + union __ctx(uc_regs_ptr) { + struct __ctx(pt_regs) *__ctx(regs); + mcontext_t *__ctx(uc_regs); + } uc_mcontext; + sigset_t uc_sigmask; + /* last for extensibility */ + char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12]; +#else /* 64-bit */ + sigset_t uc_sigmask; + mcontext_t uc_mcontext; /* last for extensibility */ +#endif + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h new file mode 100644 index 00000000..19396e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-gnueabihf/sys/user.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H + +#define _SYS_USER_H 1 +#include +#include + +#include + +struct user { + struct pt_regs regs; /* entire machine state */ + size_t u_tsize; /* text size (pages) */ + size_t u_dsize; /* data size (pages) */ + size_t u_ssize; /* stack size (pages) */ + unsigned long start_code; /* text starting address */ + unsigned long start_data; /* data starting address */ + unsigned long start_stack; /* stack starting address */ + long int signal; /* signal causing core dump */ + struct regs * u_ar0; /* help gdb find registers */ + unsigned long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..43153d41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/alltypes.h @@ -0,0 +1,411 @@ +#define _REDIR_TIME64 1 +#define _Addr int +#define _Int64 long long +#define _Reg int + +#define __BYTE_ORDER 4321 +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#ifdef __WCHAR_TYPE__ +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef __WCHAR_TYPE__ wchar_t; +#define __DEFINED_wchar_t +#endif + +#else +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef long wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/errno.h new file mode 100644 index 00000000..56544f79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 +#define ELOOP 40 +#define EWOULDBLOCK EAGAIN +#define ENOMSG 42 +#define EIDRM 43 +#define ECHRNG 44 +#define EL2NSYNC 45 +#define EL3HLT 46 +#define EL3RST 47 +#define ELNRNG 48 +#define EUNATCH 49 +#define ENOCSI 50 +#define EL2HLT 51 +#define EBADE 52 +#define EBADR 53 +#define EXFULL 54 +#define ENOANO 55 +#define EBADRQC 56 +#define EBADSLT 57 +#define EDEADLOCK 58 +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EMULTIHOP 72 +#define EDOTDOT 73 +#define EBADMSG 74 +#define EOVERFLOW 75 +#define ENOTUNIQ 76 +#define EBADFD 77 +#define EREMCHG 78 +#define ELIBACC 79 +#define ELIBBAD 80 +#define ELIBSCN 81 +#define ELIBMAX 82 +#define ELIBEXEC 83 +#define EILSEQ 84 +#define ERESTART 85 +#define ESTRPIPE 86 +#define EUSERS 87 +#define ENOTSOCK 88 +#define EDESTADDRREQ 89 +#define EMSGSIZE 90 +#define EPROTOTYPE 91 +#define ENOPROTOOPT 92 +#define EPROTONOSUPPORT 93 +#define ESOCKTNOSUPPORT 94 +#define EOPNOTSUPP 95 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 96 +#define EAFNOSUPPORT 97 +#define EADDRINUSE 98 +#define EADDRNOTAVAIL 99 +#define ENETDOWN 100 +#define ENETUNREACH 101 +#define ENETRESET 102 +#define ECONNABORTED 103 +#define ECONNRESET 104 +#define ENOBUFS 105 +#define EISCONN 106 +#define ENOTCONN 107 +#define ESHUTDOWN 108 +#define ETOOMANYREFS 109 +#define ETIMEDOUT 110 +#define ECONNREFUSED 111 +#define EHOSTDOWN 112 +#define EHOSTUNREACH 113 +#define EALREADY 114 +#define EINPROGRESS 115 +#define ESTALE 116 +#define EUCLEAN 117 +#define ENOTNAM 118 +#define ENAVAIL 119 +#define EISNAM 120 +#define EREMOTEIO 121 +#define EDQUOT 122 +#define ENOMEDIUM 123 +#define EMEDIUMTYPE 124 +#define ECANCELED 125 +#define ENOKEY 126 +#define EKEYEXPIRED 127 +#define EKEYREVOKED 128 +#define EKEYREJECTED 129 +#define EOWNERDEAD 130 +#define ENOTRECOVERABLE 131 +#define ERFKILL 132 +#define EHWPOISON 133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..9f785c41 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 0400000 +#define O_LARGEFILE 0200000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020040000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_GETLK 12 +#define F_SETLK 13 +#define F_SETLKW 14 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fenv.h new file mode 100644 index 00000000..b3e0ba51 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/fenv.h @@ -0,0 +1,36 @@ +#if defined(_SOFT_FLOAT) || defined(__NO_FPRS__) +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 +#else +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 + +#define FE_INEXACT 0x02000000 +#define FE_DIVBYZERO 0x04000000 +#define FE_UNDERFLOW 0x08000000 +#define FE_OVERFLOW 0x10000000 +#define FE_INVALID 0x20000000 + +#define FE_ALL_EXCEPT 0x3e000000 + +#ifdef _GNU_SOURCE +#define FE_INVALID_SNAN 0x01000000 +#define FE_INVALID_ISI 0x00800000 +#define FE_INVALID_IDI 0x00400000 +#define FE_INVALID_ZDZ 0x00200000 +#define FE_INVALID_IMZ 0x00100000 +#define FE_INVALID_COMPARE 0x00080000 +#define FE_INVALID_SOFTWARE 0x00000400 +#define FE_INVALID_SQRT 0x00000200 +#define FE_INVALID_INTEGER_CONVERSION 0x00000100 + +#define FE_ALL_INVALID 0x01f80700 +#endif +#endif + +typedef unsigned fexcept_t; +typedef double fenv_t; + +#define FE_DFL_ENV ((const fenv_t *)-1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/float.h new file mode 100644 index 00000000..7523476b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 4.94065645841246544177e-324L +#define LDBL_MIN 2.22507385850720138309e-308L +#define LDBL_MAX 1.79769313486231570815e+308L +#define LDBL_EPSILON 2.22044604925031308085e-16L + +#define LDBL_MANT_DIG 53 +#define LDBL_MIN_EXP (-1021) +#define LDBL_MAX_EXP 1024 + +#define LDBL_DIG 15 +#define LDBL_MIN_10_EXP (-307) +#define LDBL_MAX_10_EXP 308 + +#define DECIMAL_DIG 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..fff9d1e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/hwcap.h @@ -0,0 +1,43 @@ +#define PPC_FEATURE_32 0x80000000 +#define PPC_FEATURE_64 0x40000000 +#define PPC_FEATURE_601_INSTR 0x20000000 +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 +#define PPC_FEATURE_HAS_FPU 0x08000000 +#define PPC_FEATURE_HAS_MMU 0x04000000 +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 +#define PPC_FEATURE_HAS_SPE 0x00800000 +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 +#define PPC_FEATURE_NO_TB 0x00100000 +#define PPC_FEATURE_POWER4 0x00080000 +#define PPC_FEATURE_POWER5 0x00040000 +#define PPC_FEATURE_POWER5_PLUS 0x00020000 +#define PPC_FEATURE_CELL 0x00010000 +#define PPC_FEATURE_BOOKE 0x00008000 +#define PPC_FEATURE_SMT 0x00004000 +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 +#define PPC_FEATURE_PA6T 0x00000800 +#define PPC_FEATURE_HAS_DFP 0x00000400 +#define PPC_FEATURE_POWER6_EXT 0x00000200 +#define PPC_FEATURE_ARCH_2_06 0x00000100 +#define PPC_FEATURE_HAS_VSX 0x00000080 +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 + +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +#define PPC_FEATURE2_ARCH_2_07 0x80000000 +#define PPC_FEATURE2_HTM 0x40000000 +#define PPC_FEATURE2_DSCR 0x20000000 +#define PPC_FEATURE2_EBB 0x10000000 +#define PPC_FEATURE2_ISEL 0x08000000 +#define PPC_FEATURE2_TAR 0x04000000 +#define PPC_FEATURE2_VEC_CRYPTO 0x02000000 +#define PPC_FEATURE2_HTM_NOSC 0x01000000 +#define PPC_FEATURE2_ARCH_3_00 0x00800000 +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 +#define PPC_FEATURE2_DARN 0x00200000 +#define PPC_FEATURE2_SCV 0x00100000 +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ioctl.h new file mode 100644 index 00000000..bce4b193 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ioctl.h @@ -0,0 +1,120 @@ +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_WRITE 4U +#define _IOC_READ 2U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define FIONCLEX _IO('f', 2) +#define FIOCLEX _IO('f', 1) +#define FIOASYNC _IOW('f', 125, int) +#define FIONBIO _IOW('f', 126, int) +#define FIONREAD _IOR('f', 127, int) +#define TIOCINQ FIONREAD +#define FIOQSIZE _IOR('f', 128, char[8]) +#define TIOCGETP _IOR('t', 8, char[6]) +#define TIOCSETP _IOW('t', 9, char[6]) +#define TIOCSETN _IOW('t', 10, char[6]) + +#define TIOCSETC _IOW('t', 17, char[6]) +#define TIOCGETC _IOR('t', 18, char[6]) +#define TCGETS _IOR('t', 19, char[44]) +#define TCSETS _IOW('t', 20, char[44]) +#define TCSETSW _IOW('t', 21, char[44]) +#define TCSETSF _IOW('t', 22, char[44]) + +#define TCGETA _IOR('t', 23, char[20]) +#define TCSETA _IOW('t', 24, char[20]) +#define TCSETAW _IOW('t', 25, char[20]) +#define TCSETAF _IOW('t', 28, char[20]) + +#define TCSBRK _IO('t', 29) +#define TCXONC _IO('t', 30) +#define TCFLSH _IO('t', 31) + +#define TIOCSWINSZ _IOW('t', 103, char[8]) +#define TIOCGWINSZ _IOR('t', 104, char[8]) +#define TIOCSTART _IO('t', 110) +#define TIOCSTOP _IO('t', 111) + +#define TIOCOUTQ _IOR('t', 115, int) + +#define TIOCGLTC _IOR('t', 116, char[6]) +#define TIOCSLTC _IOW('t', 117, char[6]) +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) + +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E + +#define TIOCSTI 0x5412 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCLINUX 0x541C +#define TIOCCONS 0x541D +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TIOCPKT 0x5420 + +#define TIOCNOTTY 0x5422 +#define TIOCSETD 0x5423 +#define TIOCGETD 0x5424 +#define TCSBRKP 0x5425 +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x5429 +#define TIOCGRS485 0x542e +#define TIOCSRS485 0x542f +#define TIOCGPTN _IOR('T',0x30, unsigned int) +#define TIOCSPTLCK _IOW('T',0x31, int) +#define TIOCGDEV _IOR('T',0x32, unsigned int) +#define TIOCSIG _IOW('T',0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) + +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 +#define TIOCSERGETLSR 0x5459 +#define TIOCSERGETMULTI 0x545A +#define TIOCSERSETMULTI 0x545B + +#define TIOCMIWAIT 0x545C +#define TIOCGICOUNT 0x545D + +#define FIOSETOWN 0x8901 +#define SIOCSPGRP 0x8902 +#define FIOGETOWN 0x8903 +#define SIOCGPGRP 0x8904 +#define SIOCATMARK 0x8905 +#define SIOCGSTAMP _IOR(0x89, 6, char[16]) +#define SIOCGSTAMPNS _IOR(0x89, 7, char[16]) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipc.h new file mode 100644 index 00000000..4c4aedd2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipc.h @@ -0,0 +1,12 @@ +struct ipc_perm { + key_t __ipc_perm_key; + uid_t uid; + gid_t gid; + uid_t cuid; + gid_t cgid; + mode_t mode; + int __ipc_perm_seq; + int __pad1; + long long __pad2; + long long __pad3; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/mman.h new file mode 100644 index 00000000..2b30bf75 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/mman.h @@ -0,0 +1,13 @@ +#define PROT_SAO 0x10 + +#undef MAP_NORESERVE +#define MAP_NORESERVE 0x40 +#undef MAP_LOCKED +#define MAP_LOCKED 0x80 + +#undef MCL_CURRENT +#define MCL_CURRENT 0x2000 +#undef MCL_FUTURE +#define MCL_FUTURE 0x4000 +#undef MCL_ONFAULT +#define MCL_ONFAULT 0x8000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/msg.h new file mode 100644 index 00000000..9232e038 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/msg.h @@ -0,0 +1,18 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + unsigned long __msg_stime_hi; + unsigned long __msg_stime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_ctime_hi; + unsigned long __msg_ctime_lo; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..ba4cc8e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/ptrace.h @@ -0,0 +1,25 @@ +#define PTRACE_GETVRREGS 0x12 +#define PTRACE_SETVRREGS 0x13 +#define PTRACE_GETEVRREGS 0x14 +#define PTRACE_SETEVRREGS 0x15 +#define PTRACE_GETREGS64 0x16 +#define PTRACE_SETREGS64 0x17 +#define PTRACE_GET_DEBUGREG 0x19 +#define PTRACE_SET_DEBUGREG 0x1a +#define PTRACE_GETVSRREGS 0x1b +#define PTRACE_SETVSRREGS 0x1c +#define PTRACE_SYSEMU 0x1d +#define PTRACE_SYSEMU_SINGLESTEP 0x1e +#define PTRACE_SINGLEBLOCK 0x100 + +#define PT_GETVRREGS PTRACE_GETVRREGS +#define PT_SETVRREGS PTRACE_SETVRREGS +#define PT_GETEVRREGS PTRACE_GETEVRREGS +#define PT_SETEVRREGS PTRACE_SETEVRREGS +#define PT_GETREGS64 PTRACE_GETREGS64 +#define PT_SETREGS64 PTRACE_SETREGS64 +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG +#define PT_GETVSRREGS PTRACE_GETVSRREGS +#define PT_SETVSRREGS PTRACE_SETVSRREGS +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/reg.h new file mode 100644 index 00000000..e30a80ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/reg.h @@ -0,0 +1,3 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 +/* FIXME */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/sem.h new file mode 100644 index 00000000..715a0ac8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/sem.h @@ -0,0 +1,12 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_hi; + unsigned long __sem_otime_lo; + unsigned long __sem_ctime_hi; + unsigned long __sem_ctime_lo; + unsigned short __sem_nsems_pad, sem_nsems; + long __unused3; + long __unused4; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..fbefa366 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[56]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/shm.h new file mode 100644 index 00000000..dae17319 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/shm.h @@ -0,0 +1,30 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + unsigned long __shm_atime_hi; + unsigned long __shm_atime_lo; + unsigned long __shm_dtime_hi; + unsigned long __shm_dtime_lo; + unsigned long __shm_ctime_hi; + unsigned long __shm_ctime_lo; + unsigned long __pad1; + size_t shm_segsz; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __pad2; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/signal.h new file mode 100644 index 00000000..48051afb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/signal.h @@ -0,0 +1,119 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 10240 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +typedef unsigned long greg_t, gregset_t[48]; + +typedef struct { + double fpregs[32]; + double fpscr; + unsigned _pad[2]; +} fpregset_t; + +typedef struct { + unsigned vrregs[32][4]; + unsigned vrsave; + unsigned _pad[2]; + unsigned vscr; +} vrregset_t; + +struct sigcontext { + unsigned long _unused[4]; + int signal; + unsigned long handler; + unsigned long oldmask; + struct pt_regs *regs; +}; + +typedef struct { + gregset_t gregs; + fpregset_t fpregs; + vrregset_t vrregs +#ifdef __GNUC__ + __attribute__((__aligned__(16))) +#endif + ; +} mcontext_t; + +#else + +typedef struct { + long __regs[48+68+4*32+4] +#ifdef __GNUC__ + __attribute__((__aligned__(16))) +#endif + ; +} mcontext_t; + +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + int uc_pad[7]; + mcontext_t *uc_regs; + sigset_t uc_sigmask; + int uc_pad2[3]; + mcontext_t uc_mcontext; +} ucontext_t; + +#define SA_NOCLDSTOP 1U +#define SA_NOCLDWAIT 2U +#define SA_SIGINFO 4U +#define SA_ONSTACK 0x08000000U +#define SA_RESTART 0x10000000U +#define SA_NODEFER 0x40000000U +#define SA_RESETHAND 0x80000000U +#define SA_RESTORER 0x04000000U + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL 29 +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/socket.h new file mode 100644 index 00000000..4225b917 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/socket.h @@ -0,0 +1,25 @@ +#define SO_DEBUG 1 +#define SO_REUSEADDR 2 +#define SO_TYPE 3 +#define SO_ERROR 4 +#define SO_DONTROUTE 5 +#define SO_BROADCAST 6 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_KEEPALIVE 9 +#define SO_OOBINLINE 10 +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_LINGER 13 +#define SO_BSDCOMPAT 14 +#define SO_REUSEPORT 15 +#define SO_RCVLOWAT 16 +#define SO_SNDLOWAT 17 +#define SO_PASSCRED 20 +#define SO_PEERCRED 21 +#define SO_ACCEPTCONN 30 +#define SO_PEERSEC 31 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stat.h new file mode 100644 index 00000000..fa6d8dfd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stat.h @@ -0,0 +1,24 @@ +/* copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. */ + +struct stat { + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + short __st_rdev_padding; + off_t st_size; + blksize_t st_blksize; + blkcnt_t st_blocks; + struct { + long tv_sec; + long tv_nsec; + } __st_atim32, __st_mtim32, __st_ctim32; + unsigned __unused[2]; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/syscall.h new file mode 100644 index 00000000..0597a865 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/syscall.h @@ -0,0 +1,865 @@ +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_break 17 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_oldolduname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday_time32 78 +#define __NR_settimeofday_time32 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_profil 98 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_olduname 109 +#define __NR_iopl 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_vm86 113 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_modify_ldt 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_query_module 166 +#define __NR_poll 167 +#define __NR_nfsservctl 168 +#define __NR_setresgid 169 +#define __NR_getresgid 170 +#define __NR_prctl 171 +#define __NR_rt_sigreturn 172 +#define __NR_rt_sigaction 173 +#define __NR_rt_sigprocmask 174 +#define __NR_rt_sigpending 175 +#define __NR_rt_sigtimedwait 176 +#define __NR_rt_sigqueueinfo 177 +#define __NR_rt_sigsuspend 178 +#define __NR_pread64 179 +#define __NR_pwrite64 180 +#define __NR_chown 181 +#define __NR_getcwd 182 +#define __NR_capget 183 +#define __NR_capset 184 +#define __NR_sigaltstack 185 +#define __NR_sendfile 186 +#define __NR_getpmsg 187 +#define __NR_putpmsg 188 +#define __NR_vfork 189 +#define __NR_ugetrlimit 190 +#define __NR_readahead 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_pciconfig_read 198 +#define __NR_pciconfig_write 199 +#define __NR_pciconfig_iobase 200 +#define __NR_multiplexer 201 +#define __NR_getdents64 202 +#define __NR_pivot_root 203 +#define __NR_fcntl64 204 +#define __NR_madvise 205 +#define __NR_mincore 206 +#define __NR_gettid 207 +#define __NR_tkill 208 +#define __NR_setxattr 209 +#define __NR_lsetxattr 210 +#define __NR_fsetxattr 211 +#define __NR_getxattr 212 +#define __NR_lgetxattr 213 +#define __NR_fgetxattr 214 +#define __NR_listxattr 215 +#define __NR_llistxattr 216 +#define __NR_flistxattr 217 +#define __NR_removexattr 218 +#define __NR_lremovexattr 219 +#define __NR_fremovexattr 220 +#define __NR_futex 221 +#define __NR_sched_setaffinity 222 +#define __NR_sched_getaffinity 223 +#define __NR_tuxcall 225 +#define __NR_sendfile64 226 +#define __NR_io_setup 227 +#define __NR_io_destroy 228 +#define __NR_io_getevents 229 +#define __NR_io_submit 230 +#define __NR_io_cancel 231 +#define __NR_set_tid_address 232 +#define __NR_fadvise64 233 +#define __NR_exit_group 234 +#define __NR_lookup_dcookie 235 +#define __NR_epoll_create 236 +#define __NR_epoll_ctl 237 +#define __NR_epoll_wait 238 +#define __NR_remap_file_pages 239 +#define __NR_timer_create 240 +#define __NR_timer_settime32 241 +#define __NR_timer_gettime32 242 +#define __NR_timer_getoverrun 243 +#define __NR_timer_delete 244 +#define __NR_clock_settime32 245 +#define __NR_clock_gettime32 246 +#define __NR_clock_getres_time32 247 +#define __NR_clock_nanosleep_time32 248 +#define __NR_swapcontext 249 +#define __NR_tgkill 250 +#define __NR_utimes 251 +#define __NR_statfs64 252 +#define __NR_fstatfs64 253 +#define __NR_fadvise64_64 254 +#define __NR_rtas 255 +#define __NR_sys_debug_setcontext 256 +#define __NR_migrate_pages 258 +#define __NR_mbind 259 +#define __NR_get_mempolicy 260 +#define __NR_set_mempolicy 261 +#define __NR_mq_open 262 +#define __NR_mq_unlink 263 +#define __NR_mq_timedsend 264 +#define __NR_mq_timedreceive 265 +#define __NR_mq_notify 266 +#define __NR_mq_getsetattr 267 +#define __NR_kexec_load 268 +#define __NR_add_key 269 +#define __NR_request_key 270 +#define __NR_keyctl 271 +#define __NR_waitid 272 +#define __NR_ioprio_set 273 +#define __NR_ioprio_get 274 +#define __NR_inotify_init 275 +#define __NR_inotify_add_watch 276 +#define __NR_inotify_rm_watch 277 +#define __NR_spu_run 278 +#define __NR_spu_create 279 +#define __NR_pselect6 280 +#define __NR_ppoll 281 +#define __NR_unshare 282 +#define __NR_splice 283 +#define __NR_tee 284 +#define __NR_vmsplice 285 +#define __NR_openat 286 +#define __NR_mkdirat 287 +#define __NR_mknodat 288 +#define __NR_fchownat 289 +#define __NR_futimesat 290 +#define __NR_fstatat64 291 +#define __NR_unlinkat 292 +#define __NR_renameat 293 +#define __NR_linkat 294 +#define __NR_symlinkat 295 +#define __NR_readlinkat 296 +#define __NR_fchmodat 297 +#define __NR_faccessat 298 +#define __NR_get_robust_list 299 +#define __NR_set_robust_list 300 +#define __NR_move_pages 301 +#define __NR_getcpu 302 +#define __NR_epoll_pwait 303 +#define __NR_utimensat 304 +#define __NR_signalfd 305 +#define __NR_timerfd_create 306 +#define __NR_eventfd 307 +#define __NR_sync_file_range2 308 +#define __NR_fallocate 309 +#define __NR_subpage_prot 310 +#define __NR_timerfd_settime32 311 +#define __NR_timerfd_gettime32 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 +#define __NR_perf_event_open 319 +#define __NR_preadv 320 +#define __NR_pwritev 321 +#define __NR_rt_tgsigqueueinfo 322 +#define __NR_fanotify_init 323 +#define __NR_fanotify_mark 324 +#define __NR_prlimit64 325 +#define __NR_socket 326 +#define __NR_bind 327 +#define __NR_connect 328 +#define __NR_listen 329 +#define __NR_accept 330 +#define __NR_getsockname 331 +#define __NR_getpeername 332 +#define __NR_socketpair 333 +#define __NR_send 334 +#define __NR_sendto 335 +#define __NR_recv 336 +#define __NR_recvfrom 337 +#define __NR_shutdown 338 +#define __NR_setsockopt 339 +#define __NR_getsockopt 340 +#define __NR_sendmsg 341 +#define __NR_recvmsg 342 +#define __NR_recvmmsg 343 +#define __NR_accept4 344 +#define __NR_name_to_handle_at 345 +#define __NR_open_by_handle_at 346 +#define __NR_clock_adjtime 347 +#define __NR_syncfs 348 +#define __NR_sendmmsg 349 +#define __NR_setns 350 +#define __NR_process_vm_readv 351 +#define __NR_process_vm_writev 352 +#define __NR_finit_module 353 +#define __NR_kcmp 354 +#define __NR_sched_setattr 355 +#define __NR_sched_getattr 356 +#define __NR_renameat2 357 +#define __NR_seccomp 358 +#define __NR_getrandom 359 +#define __NR_memfd_create 360 +#define __NR_bpf 361 +#define __NR_execveat 362 +#define __NR_switch_endian 363 +#define __NR_userfaultfd 364 +#define __NR_membarrier 365 +#define __NR_mlock2 378 +#define __NR_copy_file_range 379 +#define __NR_preadv2 380 +#define __NR_pwritev2 381 +#define __NR_kexec_file_load 382 +#define __NR_statx 383 +#define __NR_pkey_alloc 384 +#define __NR_pkey_free 385 +#define __NR_pkey_mprotect 386 +#define __NR_rseq 387 +#define __NR_io_pgetevents 388 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 + +#define SYS_restart_syscall 0 +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_waitpid 7 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execve 11 +#define SYS_chdir 12 +#define SYS_time 13 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_lchown 16 +#define SYS_break 17 +#define SYS_oldstat 18 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_mount 21 +#define SYS_umount 22 +#define SYS_setuid 23 +#define SYS_getuid 24 +#define SYS_stime 25 +#define SYS_ptrace 26 +#define SYS_alarm 27 +#define SYS_oldfstat 28 +#define SYS_pause 29 +#define SYS_utime 30 +#define SYS_stty 31 +#define SYS_gtty 32 +#define SYS_access 33 +#define SYS_nice 34 +#define SYS_ftime 35 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_rename 38 +#define SYS_mkdir 39 +#define SYS_rmdir 40 +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_times 43 +#define SYS_prof 44 +#define SYS_brk 45 +#define SYS_setgid 46 +#define SYS_getgid 47 +#define SYS_signal 48 +#define SYS_geteuid 49 +#define SYS_getegid 50 +#define SYS_acct 51 +#define SYS_umount2 52 +#define SYS_lock 53 +#define SYS_ioctl 54 +#define SYS_fcntl 55 +#define SYS_mpx 56 +#define SYS_setpgid 57 +#define SYS_ulimit 58 +#define SYS_oldolduname 59 +#define SYS_umask 60 +#define SYS_chroot 61 +#define SYS_ustat 62 +#define SYS_dup2 63 +#define SYS_getppid 64 +#define SYS_getpgrp 65 +#define SYS_setsid 66 +#define SYS_sigaction 67 +#define SYS_sgetmask 68 +#define SYS_ssetmask 69 +#define SYS_setreuid 70 +#define SYS_setregid 71 +#define SYS_sigsuspend 72 +#define SYS_sigpending 73 +#define SYS_sethostname 74 +#define SYS_setrlimit 75 +#define SYS_getrlimit 76 +#define SYS_getrusage 77 +#define SYS_gettimeofday_time32 78 +#define SYS_settimeofday_time32 79 +#define SYS_getgroups 80 +#define SYS_setgroups 81 +#define SYS_select 82 +#define SYS_symlink 83 +#define SYS_oldlstat 84 +#define SYS_readlink 85 +#define SYS_uselib 86 +#define SYS_swapon 87 +#define SYS_reboot 88 +#define SYS_readdir 89 +#define SYS_mmap 90 +#define SYS_munmap 91 +#define SYS_truncate 92 +#define SYS_ftruncate 93 +#define SYS_fchmod 94 +#define SYS_fchown 95 +#define SYS_getpriority 96 +#define SYS_setpriority 97 +#define SYS_profil 98 +#define SYS_statfs 99 +#define SYS_fstatfs 100 +#define SYS_ioperm 101 +#define SYS_socketcall 102 +#define SYS_syslog 103 +#define SYS_setitimer 104 +#define SYS_getitimer 105 +#define SYS_stat 106 +#define SYS_lstat 107 +#define SYS_fstat 108 +#define SYS_olduname 109 +#define SYS_iopl 110 +#define SYS_vhangup 111 +#define SYS_idle 112 +#define SYS_vm86 113 +#define SYS_wait4 114 +#define SYS_swapoff 115 +#define SYS_sysinfo 116 +#define SYS_ipc 117 +#define SYS_fsync 118 +#define SYS_sigreturn 119 +#define SYS_clone 120 +#define SYS_setdomainname 121 +#define SYS_uname 122 +#define SYS_modify_ldt 123 +#define SYS_adjtimex 124 +#define SYS_mprotect 125 +#define SYS_sigprocmask 126 +#define SYS_create_module 127 +#define SYS_init_module 128 +#define SYS_delete_module 129 +#define SYS_get_kernel_syms 130 +#define SYS_quotactl 131 +#define SYS_getpgid 132 +#define SYS_fchdir 133 +#define SYS_bdflush 134 +#define SYS_sysfs 135 +#define SYS_personality 136 +#define SYS_afs_syscall 137 +#define SYS_setfsuid 138 +#define SYS_setfsgid 139 +#define SYS__llseek 140 +#define SYS_getdents 141 +#define SYS__newselect 142 +#define SYS_flock 143 +#define SYS_msync 144 +#define SYS_readv 145 +#define SYS_writev 146 +#define SYS_getsid 147 +#define SYS_fdatasync 148 +#define SYS__sysctl 149 +#define SYS_mlock 150 +#define SYS_munlock 151 +#define SYS_mlockall 152 +#define SYS_munlockall 153 +#define SYS_sched_setparam 154 +#define SYS_sched_getparam 155 +#define SYS_sched_setscheduler 156 +#define SYS_sched_getscheduler 157 +#define SYS_sched_yield 158 +#define SYS_sched_get_priority_max 159 +#define SYS_sched_get_priority_min 160 +#define SYS_sched_rr_get_interval 161 +#define SYS_nanosleep 162 +#define SYS_mremap 163 +#define SYS_setresuid 164 +#define SYS_getresuid 165 +#define SYS_query_module 166 +#define SYS_poll 167 +#define SYS_nfsservctl 168 +#define SYS_setresgid 169 +#define SYS_getresgid 170 +#define SYS_prctl 171 +#define SYS_rt_sigreturn 172 +#define SYS_rt_sigaction 173 +#define SYS_rt_sigprocmask 174 +#define SYS_rt_sigpending 175 +#define SYS_rt_sigtimedwait 176 +#define SYS_rt_sigqueueinfo 177 +#define SYS_rt_sigsuspend 178 +#define SYS_pread64 179 +#define SYS_pwrite64 180 +#define SYS_chown 181 +#define SYS_getcwd 182 +#define SYS_capget 183 +#define SYS_capset 184 +#define SYS_sigaltstack 185 +#define SYS_sendfile 186 +#define SYS_getpmsg 187 +#define SYS_putpmsg 188 +#define SYS_vfork 189 +#define SYS_ugetrlimit 190 +#define SYS_readahead 191 +#define SYS_mmap2 192 +#define SYS_truncate64 193 +#define SYS_ftruncate64 194 +#define SYS_stat64 195 +#define SYS_lstat64 196 +#define SYS_fstat64 197 +#define SYS_pciconfig_read 198 +#define SYS_pciconfig_write 199 +#define SYS_pciconfig_iobase 200 +#define SYS_multiplexer 201 +#define SYS_getdents64 202 +#define SYS_pivot_root 203 +#define SYS_fcntl64 204 +#define SYS_madvise 205 +#define SYS_mincore 206 +#define SYS_gettid 207 +#define SYS_tkill 208 +#define SYS_setxattr 209 +#define SYS_lsetxattr 210 +#define SYS_fsetxattr 211 +#define SYS_getxattr 212 +#define SYS_lgetxattr 213 +#define SYS_fgetxattr 214 +#define SYS_listxattr 215 +#define SYS_llistxattr 216 +#define SYS_flistxattr 217 +#define SYS_removexattr 218 +#define SYS_lremovexattr 219 +#define SYS_fremovexattr 220 +#define SYS_futex 221 +#define SYS_sched_setaffinity 222 +#define SYS_sched_getaffinity 223 +#define SYS_tuxcall 225 +#define SYS_sendfile64 226 +#define SYS_io_setup 227 +#define SYS_io_destroy 228 +#define SYS_io_getevents 229 +#define SYS_io_submit 230 +#define SYS_io_cancel 231 +#define SYS_set_tid_address 232 +#define SYS_fadvise64 233 +#define SYS_exit_group 234 +#define SYS_lookup_dcookie 235 +#define SYS_epoll_create 236 +#define SYS_epoll_ctl 237 +#define SYS_epoll_wait 238 +#define SYS_remap_file_pages 239 +#define SYS_timer_create 240 +#define SYS_timer_settime32 241 +#define SYS_timer_gettime32 242 +#define SYS_timer_getoverrun 243 +#define SYS_timer_delete 244 +#define SYS_clock_settime32 245 +#define SYS_clock_gettime32 246 +#define SYS_clock_getres_time32 247 +#define SYS_clock_nanosleep_time32 248 +#define SYS_swapcontext 249 +#define SYS_tgkill 250 +#define SYS_utimes 251 +#define SYS_statfs64 252 +#define SYS_fstatfs64 253 +#define SYS_fadvise64_64 254 +#define SYS_rtas 255 +#define SYS_sys_debug_setcontext 256 +#define SYS_migrate_pages 258 +#define SYS_mbind 259 +#define SYS_get_mempolicy 260 +#define SYS_set_mempolicy 261 +#define SYS_mq_open 262 +#define SYS_mq_unlink 263 +#define SYS_mq_timedsend 264 +#define SYS_mq_timedreceive 265 +#define SYS_mq_notify 266 +#define SYS_mq_getsetattr 267 +#define SYS_kexec_load 268 +#define SYS_add_key 269 +#define SYS_request_key 270 +#define SYS_keyctl 271 +#define SYS_waitid 272 +#define SYS_ioprio_set 273 +#define SYS_ioprio_get 274 +#define SYS_inotify_init 275 +#define SYS_inotify_add_watch 276 +#define SYS_inotify_rm_watch 277 +#define SYS_spu_run 278 +#define SYS_spu_create 279 +#define SYS_pselect6 280 +#define SYS_ppoll 281 +#define SYS_unshare 282 +#define SYS_splice 283 +#define SYS_tee 284 +#define SYS_vmsplice 285 +#define SYS_openat 286 +#define SYS_mkdirat 287 +#define SYS_mknodat 288 +#define SYS_fchownat 289 +#define SYS_futimesat 290 +#define SYS_fstatat64 291 +#define SYS_unlinkat 292 +#define SYS_renameat 293 +#define SYS_linkat 294 +#define SYS_symlinkat 295 +#define SYS_readlinkat 296 +#define SYS_fchmodat 297 +#define SYS_faccessat 298 +#define SYS_get_robust_list 299 +#define SYS_set_robust_list 300 +#define SYS_move_pages 301 +#define SYS_getcpu 302 +#define SYS_epoll_pwait 303 +#define SYS_utimensat 304 +#define SYS_signalfd 305 +#define SYS_timerfd_create 306 +#define SYS_eventfd 307 +#define SYS_sync_file_range2 308 +#define SYS_fallocate 309 +#define SYS_subpage_prot 310 +#define SYS_timerfd_settime32 311 +#define SYS_timerfd_gettime32 312 +#define SYS_signalfd4 313 +#define SYS_eventfd2 314 +#define SYS_epoll_create1 315 +#define SYS_dup3 316 +#define SYS_pipe2 317 +#define SYS_inotify_init1 318 +#define SYS_perf_event_open 319 +#define SYS_preadv 320 +#define SYS_pwritev 321 +#define SYS_rt_tgsigqueueinfo 322 +#define SYS_fanotify_init 323 +#define SYS_fanotify_mark 324 +#define SYS_prlimit64 325 +#define SYS_socket 326 +#define SYS_bind 327 +#define SYS_connect 328 +#define SYS_listen 329 +#define SYS_accept 330 +#define SYS_getsockname 331 +#define SYS_getpeername 332 +#define SYS_socketpair 333 +#define SYS_send 334 +#define SYS_sendto 335 +#define SYS_recv 336 +#define SYS_recvfrom 337 +#define SYS_shutdown 338 +#define SYS_setsockopt 339 +#define SYS_getsockopt 340 +#define SYS_sendmsg 341 +#define SYS_recvmsg 342 +#define SYS_recvmmsg 343 +#define SYS_accept4 344 +#define SYS_name_to_handle_at 345 +#define SYS_open_by_handle_at 346 +#define SYS_clock_adjtime 347 +#define SYS_syncfs 348 +#define SYS_sendmmsg 349 +#define SYS_setns 350 +#define SYS_process_vm_readv 351 +#define SYS_process_vm_writev 352 +#define SYS_finit_module 353 +#define SYS_kcmp 354 +#define SYS_sched_setattr 355 +#define SYS_sched_getattr 356 +#define SYS_renameat2 357 +#define SYS_seccomp 358 +#define SYS_getrandom 359 +#define SYS_memfd_create 360 +#define SYS_bpf 361 +#define SYS_execveat 362 +#define SYS_switch_endian 363 +#define SYS_userfaultfd 364 +#define SYS_membarrier 365 +#define SYS_mlock2 378 +#define SYS_copy_file_range 379 +#define SYS_preadv2 380 +#define SYS_pwritev2 381 +#define SYS_kexec_file_load 382 +#define SYS_statx 383 +#define SYS_pkey_alloc 384 +#define SYS_pkey_free 385 +#define SYS_pkey_mprotect 386 +#define SYS_rseq 387 +#define SYS_io_pgetevents 388 +#define SYS_semget 393 +#define SYS_semctl 394 +#define SYS_shmget 395 +#define SYS_shmctl 396 +#define SYS_shmat 397 +#define SYS_shmdt 398 +#define SYS_msgget 399 +#define SYS_msgsnd 400 +#define SYS_msgrcv 401 +#define SYS_msgctl 402 +#define SYS_clock_gettime64 403 +#define SYS_clock_settime64 404 +#define SYS_clock_adjtime64 405 +#define SYS_clock_getres_time64 406 +#define SYS_clock_nanosleep_time64 407 +#define SYS_timer_gettime64 408 +#define SYS_timer_settime64 409 +#define SYS_timerfd_gettime64 410 +#define SYS_timerfd_settime64 411 +#define SYS_utimensat_time64 412 +#define SYS_pselect6_time64 413 +#define SYS_ppoll_time64 414 +#define SYS_io_pgetevents_time64 416 +#define SYS_recvmmsg_time64 417 +#define SYS_mq_timedsend_time64 418 +#define SYS_mq_timedreceive_time64 419 +#define SYS_semtimedop_time64 420 +#define SYS_rt_sigtimedwait_time64 421 +#define SYS_futex_time64 422 +#define SYS_sched_rr_get_interval_time64 423 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/termios.h new file mode 100644 index 00000000..0613854d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/termios.h @@ -0,0 +1,171 @@ +#undef NCCS +#define NCCS 19 +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_cc[NCCS]; + cc_t c_line; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0001400 +#define NL0 0000000 +#define NL1 0000400 +#define NL2 0001000 +#define NL3 0001400 +#define TABDLY 0006000 +#define TAB0 0000000 +#define TAB1 0002000 +#define TAB2 0004000 +#define TAB3 0006000 +#define CRDLY 0030000 +#define CR0 0000000 +#define CR1 0010000 +#define CR2 0020000 +#define CR3 0030000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 +#define BSDLY 0100000 +#define BS0 0000000 +#define BS1 0100000 +#endif + +#define VTDLY 0200000 +#define VT0 0000000 +#define VT1 0200000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 +#define CLOCAL 00100000 + +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHO 0x00000008 +#define ECHONL 0x00000010 +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#define IEXTEN 0x00000400 +#define TOSTOP 0x00400000 +#define NOFLSH 0x80000000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 00377 +#define CBAUDEX 0000020 +#define CIBAUD 077600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0x00004000 +#define ECHOCTL 0x00000040 +#define ECHOPRT 0x00000020 +#define ECHOKE 0x00000001 +#define FLUSHO 0x00800000 +#define PENDIN 0x20000000 +#define EXTPROC 0x10000000 + +#define XTABS 00006000 +#define TIOCSER_TEMT 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/user.h new file mode 100644 index 00000000..9aec1b4c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc-linux-musl/bits/user.h @@ -0,0 +1,23 @@ +struct user { + struct { + unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, mq; + unsigned long trap, dar, dsisr, result; + } regs; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long start_code, start_data, start_stack; + long signal; + void *u_ar0; + unsigned long magic; + char u_comm[32]; +}; + +#define ELF_NGREG 48 +#define ELF_NFPREG 33 +#define ELF_NVRREG 33 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; +typedef struct { unsigned u[4]; } +#ifdef __GNUC__ +__attribute__((__aligned__(16))) +#endif + elf_vrreg_t, elf_vrregset_t[ELF_NVRREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..91892fa1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* PowerPC has selectable endianness. */ +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..8e255ea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fcntl.h @@ -0,0 +1,68 @@ +/* O_*, F_*, FD_* bit values for Linux/PowerPC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0400000 /* Direct disk access. */ + +#if __WORDSIZE == 64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0200000 +#endif + +#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..464f6523 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fenv.h @@ -0,0 +1,180 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +/* Define bits representing the exception. We use the bit positions of + the appropriate bits in the FPSCR... */ +enum + { + FE_INEXACT = +#define FE_INEXACT (1 << (31 - 6)) + FE_INEXACT, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << (31 - 5)) + FE_DIVBYZERO, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << (31 - 4)) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << (31 - 3)) + FE_OVERFLOW, + + /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID + actually corresponds to bits 7 through 12 and 21 through 23 + in the FPSCR, but we can't use that because the current draft + says that it must be a power of 2. Instead we use bit 2 which + is the summary bit for all the FE_INVALID exceptions, which + kind of makes sense. */ + FE_INVALID = +#define FE_INVALID (1 << (31 - 2)) + FE_INVALID, + +#ifdef __USE_GNU + /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an + input to a routine is equivalent to setting all of these bits; + FE_INVALID will be set on output from a routine iff one of + these bits is set. Note, though, that you can't disable or + enable these exceptions individually. */ + + /* Operation with a sNaN. */ + FE_INVALID_SNAN = +# define FE_INVALID_SNAN (1 << (31 - 7)) + FE_INVALID_SNAN, + + /* Inf - Inf */ + FE_INVALID_ISI = +# define FE_INVALID_ISI (1 << (31 - 8)) + FE_INVALID_ISI, + + /* Inf / Inf */ + FE_INVALID_IDI = +# define FE_INVALID_IDI (1 << (31 - 9)) + FE_INVALID_IDI, + + /* 0 / 0 */ + FE_INVALID_ZDZ = +# define FE_INVALID_ZDZ (1 << (31 - 10)) + FE_INVALID_ZDZ, + + /* Inf * 0 */ + FE_INVALID_IMZ = +# define FE_INVALID_IMZ (1 << (31 - 11)) + FE_INVALID_IMZ, + + /* Comparison with a NaN. */ + FE_INVALID_COMPARE = +# define FE_INVALID_COMPARE (1 << (31 - 12)) + FE_INVALID_COMPARE, + + /* Invalid operation flag for software (not set by hardware). */ + /* Note that some chips don't have this implemented, presumably + because no-one expected anyone to write software for them %-). */ + FE_INVALID_SOFTWARE = +# define FE_INVALID_SOFTWARE (1 << (31 - 21)) + FE_INVALID_SOFTWARE, + + /* Square root of negative number (including -Inf). */ + /* Note that some chips don't have this implemented. */ + FE_INVALID_SQRT = +# define FE_INVALID_SQRT (1 << (31 - 22)) + FE_INVALID_SQRT, + + /* Conversion-to-integer of a NaN or a number too large or too small. */ + FE_INVALID_INTEGER_CONVERSION = +# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23)) + FE_INVALID_INTEGER_CONVERSION + +# define FE_ALL_INVALID \ + (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \ + | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \ + | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION) +#endif + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* PowerPC chips support all of the four defined rounding modes. We + use the bit pattern in the FPSCR as the values for the + appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 1 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 2 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 3 + FE_DOWNWARD + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. We leave it as 'double' + for efficiency reasons (rather than writing it to a 32-bit integer). */ +typedef double fenv_t; + +/* If the default argument is used we use this value. */ +extern const fenv_t __fe_dfl_env; +#define FE_DFL_ENV (&__fe_dfl_env) + +#ifdef __USE_GNU +/* Floating-point environment where all exceptions are enabled. Note that + this is not sufficient to give you SIGFPE. */ +extern const fenv_t __fe_enabled_env; +# define FE_ENABLED_ENV (&__fe_enabled_env) + +/* Floating-point environment with (processor-dependent) non-IEEE floating + point. */ +extern const fenv_t __fe_nonieee_env; +# define FE_NONIEEE_ENV (&__fe_nonieee_env) + +/* Floating-point environment with all exceptions enabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Precise Mode". On some processors this will + result in slower floating point execution. This will last until an + fenv or exception mask is installed that disables all FP exceptions. */ +# define FE_NOMASK_ENV FE_ENABLED_ENV + +/* Floating-point environment with all exceptions disabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors + this allows the fastest possible floating point execution.*/ +# define FE_MASK_ENV FE_DFL_ENV + +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef double femode_t; + +/* Default floating-point control modes. */ +extern const femode_t __fe_dfl_mode; +# define FE_DFL_MODE (&__fe_dfl_mode) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h new file mode 100644 index 00000000..b07b9abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/floatn.h @@ -0,0 +1,122 @@ +/* Macros to control TS 18661-3 glibc features on powerpc. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ + && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc, i.e. + calls to the binary128 functions go to *f128 symbols instead of *l. */ +#if __HAVE_FLOAT128 +# define __HAVE_DISTINCT_FLOAT128 1 +#else +# define __HAVE_DISTINCT_FLOAT128 0 +#endif + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ +# if __LDBL_MANT_DIG__ == 113 +# define __f128(x) x##l +# else +# define __f128(x) x##q +# endif +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) +typedef long double _Float128; +# define __CFLOAT128 _Complex long double +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The type _Float128 exist for powerpc only since GCC 7.0. */ +typedef __float128 _Float128; +/* Add a typedef for older GCC and C++ compilers which don't natively support + _Complex _Float128. */ +typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); +# define __CFLOAT128 __cfloat128 +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 +/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) +# endif + +/* The following builtins (suffixed with 'q') are available in GCC >= 6.2, + which is the minimum version required for float128 support on powerpc64le. + Since GCC 7.0 the builtins suffixed with f128 are also available, then + there is no need to redefined them. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_copysignf128 __builtin_copysignq +# define __builtin_fabsf128 __builtin_fabsq +# define __builtin_inff128 __builtin_infq +# define __builtin_nanf128 __builtin_nanq +# define __builtin_nansf128 __builtin_nansq +# endif + +/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is + only available since GCC 6. */ +# if !__GNUC_PREREQ (6, 0) +# define __builtin_signbitf128 __signbitf128 +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h new file mode 100644 index 00000000..4d38958f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/fp-fast.h @@ -0,0 +1,39 @@ +/* Define FP_FAST_* macros. PowerPC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_ISOC99 + +/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} + builtins are supported. */ +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA +# define FP_FAST_FMA 1 +# endif + +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF +# define FP_FAST_FMAF 1 +# endif + +# ifdef __FP_FAST_FMAL +# define FP_FAST_FMAL 1 +# endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..5e3ab018 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/hwcap.h @@ -0,0 +1,78 @@ +/* Defines for bits in AT_HWCAP and AT_HWCAP2. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The bit numbers must match those in the kernel's asm/cputable.h. */ + +/* Feature definitions in AT_HWCAP. */ +#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */ +#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */ +#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */ +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */ +#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */ +#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */ +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */ +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */ +#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */ +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */ +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */ +#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */ +#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */ +#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */ +#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */ +#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */ +#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */ +#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous + Multi-Threading */ +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */ +#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */ +#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */ +#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */ +#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */ +#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */ +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 +/* Reserved by the kernel. 0x00000004 Do not use. */ +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +/* Feature definitions in AT_HWCAP2. */ +#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */ +#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional + Memory */ +#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control + Register */ +#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */ +#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */ +#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */ +#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector + instruction. */ +#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction + when a syscall is made. */ +#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */ +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float + 128-bit */ +#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */ +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */ +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended + state. */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */ +#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h new file mode 100644 index 00000000..1744e55f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ioctl-types.h @@ -0,0 +1,77 @@ +/* Structure types for pre-termios terminal ioctls. Linux/powerpc version. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 10 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h new file mode 100644 index 00000000..06ba7e6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/powerpc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + __uint32_t __seq; /* Sequence number. */ + __uint32_t __pad1; + __uint64_t __glibc_reserved1; + __uint64_t __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h new file mode 100644 index 00000000..49ea731c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/iscanonical.h @@ -0,0 +1,58 @@ +/* Define iscanonical macro. ldbl-128ibm version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define iscanonical(x) ((void) (__typeof (x)) (x), 1) +#else +extern int __iscanonicall (long double __x) + __THROW __attribute__ ((__const__)); +# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1) +# define __iscanonical(x) ((void) (__typeof (x)) (x), 1) +# if __HAVE_DISTINCT_FLOAT128 +# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1) +# endif + +/* Return nonzero value if X is canonical. In IEEE interchange binary + formats, all values are canonical, but the argument must still be + converted to its semantic type for any exceptions arising from the + conversion, before being discarded; in IBM long double, there are + encodings that are not consistently handled as corresponding to any + particular value of the type, and we return 0 for those. */ +# ifndef __cplusplus +# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x)) +# else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int iscanonical (float __val) { return __iscanonicalf (__val); } +inline int iscanonical (double __val) { return __iscanonical (__val); } +inline int iscanonical (long double __val) { return __iscanonicall (__val); } +# if __HAVE_DISTINCT_FLOAT128 +inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); } +# endif +} +# endif /* __cplusplus */ +#endif /* __NO_LONG_DOUBLE_MATH */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/link.h new file mode 100644 index 00000000..90aaa912 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/link.h @@ -0,0 +1,156 @@ +/* Machine-specific declarations for dynamic linker interface. PowerPC version + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +#if __ELF_NATIVE_CLASS == 32 + +/* Registers for entry into PLT on PPC32. */ +typedef struct La_ppc32_regs +{ + uint32_t lr_reg[8]; + double lr_fp[8]; + uint32_t lr_vreg[12][4]; + uint32_t lr_r1; + uint32_t lr_lr; +} La_ppc32_regs; + +/* Return values for calls from PLT on PPC32. */ +typedef struct La_ppc32_retval +{ + uint32_t lrv_r3; + uint32_t lrv_r4; + double lrv_fp[8]; + uint32_t lrv_v2[4]; +} La_ppc32_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc32_regs *__inregs, + La_ppc32_retval *__outregs, + const char *__symname); + +__END_DECLS + +#elif __ELF_NATIVE_CLASS == 64 +# if _CALL_ELF != 2 + +/* Registers for entry into PLT on PPC64. */ +typedef struct La_ppc64_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4]; + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64_regs; + +/* Return values for calls from PLT on PPC64. */ +typedef struct La_ppc64_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[4]; /* f1-f4, float - complex long double. */ + uint32_t lrv_v2[4]; /* v2. */ +} La_ppc64_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64_regs *__inregs, + La_ppc64_retval *__outregs, + const char *__symname); + +__END_DECLS + +# else + +/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4] __attribute__ ((aligned (16))); + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64v2_regs; + +/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[10]; + uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16))); +} La_ppc64v2_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64v2_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64v2_regs *__inregs, + La_ppc64v2_retval *__outregs, + const char *__symname); + +__END_DECLS + +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..c83ef568 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/long-double.h @@ -0,0 +1,25 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/mman.h new file mode 100644 index 00000000..1fc6762a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/mman.h @@ -0,0 +1,51 @@ +/* Definitions for POSIX memory map interface. Linux/PowerPC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +#define PROT_SAO 0x10 /* Strong Access Ordering. */ + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..14652268 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/procfs.h @@ -0,0 +1,49 @@ +/* Types for registers for sys/procfs.h. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include + +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ +#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#if __WORDSIZE == 32 +# define ELF_NVRREG 33 /* includes vscr */ +#else +# define ELF_NVRREG 34 /* includes vscr */ +#endif + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* Altivec registers */ +typedef struct { + unsigned int u[4]; +} __attribute__ ((__aligned__ (16))) elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 00000000..0b6dcb91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,21 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/PPC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. At least two pages for systems with 64k + pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..5ba28090 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..b8774299 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/setjmp.h @@ -0,0 +1,50 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +/* The previous bits/setjmp.h had __jmp_buf defined as a structure. + We use an array of 'long int' instead, to make writing the + assembler easier. Naturally, user code should not depend on + either representation. */ + +#include + +/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI + the vrsave must be at byte 248 & v20 at byte 256. So we must pad this + correctly on 32 bit. It also insists that vecregs are only guaranteed + 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. + We have to version the code because members like int __mask_was_saved + in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We + cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */ +#ifndef _ASM +# if __WORDSIZE == 64 +typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16))); +# else +/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte + aligned buffer as per the ABI it is just added for performance reasons. */ +typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16))); +# endif +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h new file mode 100644 index 00000000..cc26e7b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/sigstack.h @@ -0,0 +1,37 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 +#endif + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h new file mode 100644 index 00000000..b5b6051a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for POWER. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 1 +#define SO_ACCEPTCONN 30 +#define SO_BROADCAST 6 +#define SO_DONTROUTE 5 +#define SO_ERROR 4 +#define SO_KEEPALIVE 9 +#define SO_LINGER 13 +#define SO_OOBINLINE 10 +#define SO_RCVBUF 8 +#define SO_RCVLOWAT 16 +#define SO_REUSEADDR 2 +#define SO_SNDBUF 7 +#define SO_SNDLOWAT 17 +#define SO_TYPE 3 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 18 +# define SO_SNDTIMEO 19 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 18 +# define SO_SNDTIMEO_OLD 19 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h new file mode 100644 index 00000000..c7f90aa4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_mutex.h @@ -0,0 +1,63 @@ +/* PowerPC internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if __WORDSIZE == 64 + short __spins; + short __elision; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + struct + { + short __espins; + short __elision; +# define __spins __elision_data.__espins +# define __elision __elision_data.__elision + } __elision_data; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { { 0, 0 } } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..6ca8f577 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,61 @@ +/* PowerPC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned char __rwelision; + unsigned char __pad1[7]; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 } +#else + unsigned char __rwelision; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..4b2c05e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/struct_stat.h @@ -0,0 +1,231 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if __WORDSIZE == 32 +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +# endif /* __USE_LARGEFILE64 */ + +#else /* __WORDSIZE == 32 */ + +struct stat + { + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; +# endif /* __USE_LARGEFILE64 */ +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h new file mode 100644 index 00000000..b61756d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-baud.h @@ -0,0 +1,45 @@ +/* termios baud rate selection definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000377 +# define CBAUDEX 0000020 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 +#define __MAX_BAUD B4000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h new file mode 100644 index 00000000..2a533e98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cc.h @@ -0,0 +1,41 @@ +/* termios c_cc symbolic constant definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 + +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h new file mode 100644 index 00000000..1532bbe4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_cflag.h @@ -0,0 +1,39 @@ +/* termios control mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 + +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 + +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h new file mode 100644 index 00000000..b19f14d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h new file mode 100644 index 00000000..28d36181 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_lflag.h @@ -0,0 +1,45 @@ +/* termios local mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0x00004000 +#endif +#define ECHO 0x00000008 +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHONL 0x00000010 +#define NOFLSH 0x80000000 +#define TOSTOP 0x00400000 +#ifdef __USE_MISC +# define ECHOCTL 0x00000040 +# define ECHOPRT 0x00000020 +# define ECHOKE 0x00000001 +# define FLUSHO 0x00800000 +# define PENDIN 0x20000000 +#endif +#define IEXTEN 0x00000400 +#ifdef __USE_MISC +# define EXTPROC 0x10000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h new file mode 100644 index 00000000..78844942 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-c_oflag.h @@ -0,0 +1,65 @@ +/* termios output mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 + +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 + +#define OFILL 00000100 +#define OFDEL 00000200 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 00001400 +# define NL0 00000000 +# define NL1 00000400 +# if defined __USE_MISC +# define NL2 00001000 +# define NL3 00001400 +# endif +# define TABDLY 00006000 +# define TAB0 00000000 +# define TAB1 00002000 +# define TAB2 00004000 +# define TAB3 00006000 +# define CRDLY 00030000 +# define CR0 00000000 +# define CR1 00010000 +# define CR2 00020000 +# define CR3 00030000 +# define FFDLY 00040000 +# define FF0 00000000 +# define FF1 00040000 +# define BSDLY 00100000 +# define BS0 00000000 +# define BS1 00100000 +#endif +#define VTDLY 00200000 +#define VT0 00000000 +#define VT1 00200000 + +#ifdef __USE_MISC +# define XTABS 00006000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h new file mode 100644 index 00000000..8d350447 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/termios-misc.h @@ -0,0 +1,72 @@ +/* termios baud platform specific definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; + +/* Used for packet mode */ +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 + +/* c_cc characters */ +#define _VINTR 0 +#define _VQUIT 1 +#define _VERASE 2 +#define _VKILL 3 +#define _VEOF 4 +#define _VMIN 5 +#define _VEOL 6 +#define _VTIME 7 +#define _VEOL2 8 +#define _VSWTC 9 + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..9cbad9b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..f6b3e4d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/PowerPC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..3b208ff2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* PowerPC implementation of the semaphore struct semid_ds. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..2ed27e03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -0,0 +1,50 @@ +/* Linux/PowerPC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ + unsigned long int __glibc_reserved4; +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..47bb8610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..7b51c673 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __powerpc64__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/fpu_control.h new file mode 100644 index 00000000..cdedca96 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/fpu_control.h @@ -0,0 +1,114 @@ +/* FPU control word definitions. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT) +# error "SPE/e500 is no longer supported" +#endif + +#ifdef _SOFT_FLOAT + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 /* Default value. */ +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* PowerPC 6xx floating-point. */ + +/* rounding control */ +# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +# define _FPU_RC_DOWN 0x03 +# define _FPU_RC_UP 0x02 +# define _FPU_RC_ZERO 0x01 + +# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO) + +# define _FPU_MASK_NI 0x04 /* non-ieee mode */ + +/* masking of interrupts */ +# define _FPU_MASK_ZM 0x10 /* zero divide */ +# define _FPU_MASK_OM 0x40 /* overflow */ +# define _FPU_MASK_UM 0x20 /* underflow */ +# define _FPU_MASK_XM 0x08 /* inexact */ +# define _FPU_MASK_IM 0x80 /* invalid operation */ + +# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ + +/* The fdlibm code requires no interrupts for exceptions. */ +# define _FPU_DEFAULT 0x00000000 /* Default value. */ + +/* IEEE: same as above, but (some) exceptions; + we leave the 'inexact' exception off. + */ +# define _FPU_IEEE 0x000000f0 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \ + (cw) = (fpu_control_t) __u.__ll; \ + (fpu_control_t) __u.__ll; \ + }) + +# define _FPU_GET_RC_ISA300() \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__( \ + ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \ + : "=f" (__u.__d)); \ + (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \ + }) + +# ifdef _ARCH_PWR9 +# define _FPU_GET_RC() _FPU_GET_RC_ISA300() +# elif defined __BUILTIN_CPU_SUPPORTS__ +# define _FPU_GET_RC() \ + ({fpu_control_t __rc; \ + __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \ + ? _FPU_GET_RC_ISA300 () \ + : _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# else +# define _FPU_GET_RC() \ + ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# endif + +# define _FPU_SETCW(cw) \ + { union { double __d; unsigned long long __ll; } __u; \ + register double __fr; \ + __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \ + __u.__ll |= (cw) & 0xffffffffLL; \ + __fr = __u.__d; \ + __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \ + } + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* PowerPC 6xx floating-point. */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h new file mode 100644 index 00000000..4b2c00bb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names-64-v1.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD64_SO "ld64.so.1" +#define LD_SO "ld64.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..a6fbab80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/lib-names.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs-64-v1.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..d130565a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/gnu/stubs.h @@ -0,0 +1,15 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/ieee754.h new file mode 100644 index 00000000..38008b56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/ieee754.h @@ -0,0 +1,197 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +/* long double is IEEE 128 bit */ +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ +#endif + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0) +/* IBM extended format for long double. + + Each long double is made up of two IEEE doubles. The value of the + long double is the sum of the values of the two parts. The most + significant part is required to be the value of the long double + rounded to the nearest double, as specified by IEEE. For Inf + values, the least significant part is required to be one of +0.0 or + -0.0. No other requirements are made; so, for example, 1.0 may be + represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a + NaN is don't-care. */ +union ibm_extended_long_double + { +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0) + __ibm128 ld; +# else + long double ld; +# endif + union ieee754_double d[2]; + }; +#endif + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h new file mode 100644 index 00000000..99cf115c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ptrace.h @@ -0,0 +1,289 @@ +/* `ptrace' debugger support interface. Linux/PowerPC version. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H +/* Do not let Linux headers macros interfere with enum __ptrace_request. */ +# undef PTRACE_ATTACH +# undef PTRACE_CONT +# undef PTRACE_DETACH +# undef PTRACE_GET_DEBUGREG +# undef PTRACE_GETEVENTMSG +# undef PTRACE_GETEVRREGS +# undef PTRACE_GETFPREGS +# undef PTRACE_GETREGS +# undef PTRACE_GETREGS64 +# undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION +# undef PTRACE_GETSIGINFO +# undef PTRACE_GETSIGMASK +# undef PTRACE_GET_SYSCALL_INFO +# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_GETVRREGS +# undef PTRACE_GETVSRREGS +# undef PTRACE_INTERRUPT +# undef PTRACE_KILL +# undef PTRACE_LISTEN +# undef PTRACE_PEEKDATA +# undef PTRACE_PEEKSIGINFO +# undef PTRACE_PEEKTEXT +# undef PTRACE_POKEDATA +# undef PTRACE_POKETEXT +# undef PTRACE_SECCOMP_GET_FILTER +# undef PTRACE_SECCOMP_GET_METADATA +# undef PTRACE_SEIZE +# undef PTRACE_SET_DEBUGREG +# undef PTRACE_SETEVRREGS +# undef PTRACE_SETFPREGS +# undef PTRACE_SETOPTIONS +# undef PTRACE_SETREGS +# undef PTRACE_SETREGS64 +# undef PTRACE_SETREGSET +# undef PTRACE_SETSIGINFO +# undef PTRACE_SETSIGMASK +# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_SETVRREGS +# undef PTRACE_SETVSRREGS +# undef PTRACE_SINGLEBLOCK +# undef PTRACE_SINGLESTEP +# undef PTRACE_SYSCALL +# undef PTRACE_SYSCALL_INFO_NONE +# undef PTRACE_SYSCALL_INFO_ENTRY +# undef PTRACE_SYSCALL_INFO_EXIT +# undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_SYSEMU +# undef PTRACE_SYSEMU_SINGLESTEP +# undef PTRACE_TRACEME +#endif + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get all altivec registers used by a process. */ + PTRACE_GETVRREGS = 18, +#define PT_GETVRREGS PTRACE_GETVRREGS + + /* Set all altivec registers used by a process. */ + PTRACE_SETVRREGS = 19, +#define PT_SETVRREGS PTRACE_SETVRREGS + + /* Get all SPE registers used by a process. */ + PTRACE_GETEVRREGS = 20, +#define PT_GETEVRREGS PTRACE_GETEVRREGS + + /* Set all SPE registers used by a process. */ + PTRACE_SETEVRREGS = 21, +#define PT_SETEVRREGS PTRACE_SETEVRREGS + + /* Same as PTRACE_GETREGS except a 32-bit process will obtain + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_GETREGS64 = 22, +#define PT_GETREGS64 PTRACE_GETREGS64 + + /* Same as PTRACE_SETREGS except a 32-bit process will set + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_SETREGS64 = 23, +#define PT_SETREGS64 PTRACE_SETREGS64 + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get a debug register of a process. */ + PTRACE_GET_DEBUGREG = 25, +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG + + /* Set a debug register of a process. */ + PTRACE_SET_DEBUGREG = 26, +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG + + /* Get the first 32 VSX registers of a process. */ + PTRACE_GETVSRREGS = 27, +#define PT_GETVSRREGS PTRACE_GETVSRREGS + + /* Set the first 32 VSX registers of a process. */ + PTRACE_SETVSRREGS = 28, +#define PT_SETVSRREGS PTRACE_SETVSRREGS + + /* Continue and stop at the next syscall, it will not be executed. */ + PTRACE_SYSEMU = 29, +#define PT_SYSEMU PTRACE_SYSEMU + + /* Single step the process, the next syscall will not be executed. */ + PTRACE_SYSEMU_SINGLESTEP = 30, +#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 256, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..7d354e52 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/ucontext.h @@ -0,0 +1,200 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +struct __ctx(pt_regs); + +#if __WORDSIZE == 32 + +/* Number of general registers. */ +# define __NGREG 48 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif + +/* Container for all general registers. */ +typedef unsigned long gregset_t[__NGREG]; + +/* Container for floating-point registers and status */ +typedef struct _libc_fpstate +{ + double __ctx(fpregs)[32]; + double __ctx(fpscr); + unsigned int _pad[2]; +} fpregset_t; + +/* Container for Altivec/VMX registers and status. + Needs to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + unsigned int __ctx(vrsave); + unsigned int _pad[2]; + unsigned int __ctx(vscr); +} vrregset_t; + +/* Context to describe whole processor state. */ +typedef struct +{ + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + vrregset_t __ctx(vrregs) __attribute__((__aligned__(16))); +} mcontext_t; + +#else + +/* For 64-bit kernels with Altivec support, a machine context is exactly + * a sigcontext. For older kernel (without Altivec) the sigcontext matches + * the mcontext upto but not including the v_regs field. For kernels that + * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the + * v_regs field may not exist and should not be referenced. The v_regs field + * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC + * is set in AT_HWCAP. */ + +/* Number of general registers. */ +# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ +# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */ +# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in + split vectors */ +# ifdef __USE_MISC +# define NGREG __NGREG +# define NFPREG __NFPREG +# define NVRREG __NVRREG +# endif + +typedef unsigned long gregset_t[__NGREG]; +typedef double fpregset_t[__NFPREG]; + +/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits + but can only be copied to/from a 128-bit vector register. So we allocated + a whole quadword speedup save/restore. */ +typedef struct _libc_vscr +{ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + unsigned int __pad[3]; + unsigned int __ctx(vscr_word); +#else + unsigned int __ctx(vscr_word); + unsigned int __pad[3]; +#endif +} vscr_t; + +/* Container for Altivec/VMX registers and status. + Must to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + vscr_t __ctx(vscr); + unsigned int __ctx(vrsave); + unsigned int __pad[3]; +} vrregset_t __attribute__((__aligned__(16))); + +typedef struct { + unsigned long __glibc_reserved[4]; + int __ctx(signal); + int __pad0; + unsigned long __ctx(handler); + unsigned long __ctx(oldmask); + struct __ctx(pt_regs) *__ctx(regs); + gregset_t __ctx(gp_regs); + fpregset_t __ctx(fp_regs); +/* + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 69 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the + * address of the first quadword within the allocated (vmx_reserve) area. + * + * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially + * an array of 34 quadword entries. The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) + * within the quadword. + */ + vrregset_t *__ctx(v_regs); + long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1]; +} mcontext_t; + +#endif + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; +#if __WORDSIZE == 32 + /* + * These fields are set up this way to maximize source and + * binary compatibility with code written for the old + * ucontext_t definition, which didn't include space for the + * registers. + * + * Different versions of the kernel have stored the registers on + * signal delivery at different offsets from the ucontext struct. + * Programs should thus use the uc_mcontext.uc_regs pointer to + * find where the registers are actually stored. The registers + * will be stored within the ucontext_t struct but not necessarily + * at a fixed address. As a side-effect, this lets us achieve + * 16-byte alignment for the register storage space if the + * Altivec registers are to be saved, without requiring 16-byte + * alignment on the whole ucontext_t. + * + * The uc_mcontext.regs field is included for source compatibility + * with programs written against the older ucontext_t definition, + * and its name should therefore not change. The uc_pad field + * is for binary compatibility with programs compiled against the + * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask + * are at the same offset as previously. + */ + int __glibc_reserved1[7]; + union __ctx(uc_regs_ptr) { + struct __ctx(pt_regs) *__ctx(regs); + mcontext_t *__ctx(uc_regs); + } uc_mcontext; + sigset_t uc_sigmask; + /* last for extensibility */ + char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12]; +#else /* 64-bit */ + sigset_t uc_sigmask; + mcontext_t uc_mcontext; /* last for extensibility */ +#endif + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/user.h new file mode 100644 index 00000000..19396e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-gnu/sys/user.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H + +#define _SYS_USER_H 1 +#include +#include + +#include + +struct user { + struct pt_regs regs; /* entire machine state */ + size_t u_tsize; /* text size (pages) */ + size_t u_dsize; /* data size (pages) */ + size_t u_ssize; /* stack size (pages) */ + unsigned long start_code; /* text starting address */ + unsigned long start_data; /* data starting address */ + unsigned long start_stack; /* stack starting address */ + long int signal; /* signal causing core dump */ + struct regs * u_ar0; /* help gdb find registers */ + unsigned long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..e0deec33 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/alltypes.h @@ -0,0 +1,407 @@ +#define _Addr long +#define _Int64 long +#define _Reg long + +#if __BIG_ENDIAN__ +#define __BYTE_ORDER 4321 +#else +#define __BYTE_ORDER 1234 +#endif + +#define __LONG_MAX 0x7fffffffffffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/errno.h new file mode 100644 index 00000000..56544f79 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/errno.h @@ -0,0 +1,134 @@ +#define EPERM 1 +#define ENOENT 2 +#define ESRCH 3 +#define EINTR 4 +#define EIO 5 +#define ENXIO 6 +#define E2BIG 7 +#define ENOEXEC 8 +#define EBADF 9 +#define ECHILD 10 +#define EAGAIN 11 +#define ENOMEM 12 +#define EACCES 13 +#define EFAULT 14 +#define ENOTBLK 15 +#define EBUSY 16 +#define EEXIST 17 +#define EXDEV 18 +#define ENODEV 19 +#define ENOTDIR 20 +#define EISDIR 21 +#define EINVAL 22 +#define ENFILE 23 +#define EMFILE 24 +#define ENOTTY 25 +#define ETXTBSY 26 +#define EFBIG 27 +#define ENOSPC 28 +#define ESPIPE 29 +#define EROFS 30 +#define EMLINK 31 +#define EPIPE 32 +#define EDOM 33 +#define ERANGE 34 +#define EDEADLK 35 +#define ENAMETOOLONG 36 +#define ENOLCK 37 +#define ENOSYS 38 +#define ENOTEMPTY 39 +#define ELOOP 40 +#define EWOULDBLOCK EAGAIN +#define ENOMSG 42 +#define EIDRM 43 +#define ECHRNG 44 +#define EL2NSYNC 45 +#define EL3HLT 46 +#define EL3RST 47 +#define ELNRNG 48 +#define EUNATCH 49 +#define ENOCSI 50 +#define EL2HLT 51 +#define EBADE 52 +#define EBADR 53 +#define EXFULL 54 +#define ENOANO 55 +#define EBADRQC 56 +#define EBADSLT 57 +#define EDEADLOCK 58 +#define EBFONT 59 +#define ENOSTR 60 +#define ENODATA 61 +#define ETIME 62 +#define ENOSR 63 +#define ENONET 64 +#define ENOPKG 65 +#define EREMOTE 66 +#define ENOLINK 67 +#define EADV 68 +#define ESRMNT 69 +#define ECOMM 70 +#define EPROTO 71 +#define EMULTIHOP 72 +#define EDOTDOT 73 +#define EBADMSG 74 +#define EOVERFLOW 75 +#define ENOTUNIQ 76 +#define EBADFD 77 +#define EREMCHG 78 +#define ELIBACC 79 +#define ELIBBAD 80 +#define ELIBSCN 81 +#define ELIBMAX 82 +#define ELIBEXEC 83 +#define EILSEQ 84 +#define ERESTART 85 +#define ESTRPIPE 86 +#define EUSERS 87 +#define ENOTSOCK 88 +#define EDESTADDRREQ 89 +#define EMSGSIZE 90 +#define EPROTOTYPE 91 +#define ENOPROTOOPT 92 +#define EPROTONOSUPPORT 93 +#define ESOCKTNOSUPPORT 94 +#define EOPNOTSUPP 95 +#define ENOTSUP EOPNOTSUPP +#define EPFNOSUPPORT 96 +#define EAFNOSUPPORT 97 +#define EADDRINUSE 98 +#define EADDRNOTAVAIL 99 +#define ENETDOWN 100 +#define ENETUNREACH 101 +#define ENETRESET 102 +#define ECONNABORTED 103 +#define ECONNRESET 104 +#define ENOBUFS 105 +#define EISCONN 106 +#define ENOTCONN 107 +#define ESHUTDOWN 108 +#define ETOOMANYREFS 109 +#define ETIMEDOUT 110 +#define ECONNREFUSED 111 +#define EHOSTDOWN 112 +#define EHOSTUNREACH 113 +#define EALREADY 114 +#define EINPROGRESS 115 +#define ESTALE 116 +#define EUCLEAN 117 +#define ENOTNAM 118 +#define ENAVAIL 119 +#define EISNAM 120 +#define EREMOTEIO 121 +#define EDQUOT 122 +#define ENOMEDIUM 123 +#define EMEDIUMTYPE 124 +#define ECANCELED 125 +#define ENOKEY 126 +#define EKEYEXPIRED 127 +#define EKEYREVOKED 128 +#define EKEYREJECTED 129 +#define EOWNERDEAD 130 +#define ENOTRECOVERABLE 131 +#define ERFKILL 132 +#define EHWPOISON 133 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..90f6f3a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fcntl.h @@ -0,0 +1,40 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 040000 +#define O_NOFOLLOW 0100000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 0400000 +#define O_LARGEFILE 0200000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020040000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_GETLK 5 +#define F_SETLK 6 +#define F_SETLKW 7 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fenv.h new file mode 100644 index 00000000..7374134b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/fenv.h @@ -0,0 +1,31 @@ +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 + +#define FE_INEXACT 0x02000000 +#define FE_DIVBYZERO 0x04000000 +#define FE_UNDERFLOW 0x08000000 +#define FE_OVERFLOW 0x10000000 +#define FE_INVALID 0x20000000 + +#define FE_ALL_EXCEPT 0x3e000000 + +#ifdef _GNU_SOURCE +#define FE_INVALID_SNAN 0x01000000 +#define FE_INVALID_ISI 0x00800000 +#define FE_INVALID_IDI 0x00400000 +#define FE_INVALID_ZDZ 0x00200000 +#define FE_INVALID_IMZ 0x00100000 +#define FE_INVALID_COMPARE 0x00080000 +#define FE_INVALID_SOFTWARE 0x00000400 +#define FE_INVALID_SQRT 0x00000200 +#define FE_INVALID_INTEGER_CONVERSION 0x00000100 + +#define FE_ALL_INVALID 0x01f80700 +#endif + +typedef unsigned fexcept_t; +typedef double fenv_t; + +#define FE_DFL_ENV ((const fenv_t *)-1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/float.h new file mode 100644 index 00000000..7523476b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/float.h @@ -0,0 +1,16 @@ +#define FLT_EVAL_METHOD 0 + +#define LDBL_TRUE_MIN 4.94065645841246544177e-324L +#define LDBL_MIN 2.22507385850720138309e-308L +#define LDBL_MAX 1.79769313486231570815e+308L +#define LDBL_EPSILON 2.22044604925031308085e-16L + +#define LDBL_MANT_DIG 53 +#define LDBL_MIN_EXP (-1021) +#define LDBL_MAX_EXP 1024 + +#define LDBL_DIG 15 +#define LDBL_MIN_10_EXP (-307) +#define LDBL_MAX_10_EXP 308 + +#define DECIMAL_DIG 17 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..fff9d1e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/hwcap.h @@ -0,0 +1,43 @@ +#define PPC_FEATURE_32 0x80000000 +#define PPC_FEATURE_64 0x40000000 +#define PPC_FEATURE_601_INSTR 0x20000000 +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 +#define PPC_FEATURE_HAS_FPU 0x08000000 +#define PPC_FEATURE_HAS_MMU 0x04000000 +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 +#define PPC_FEATURE_HAS_SPE 0x00800000 +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 +#define PPC_FEATURE_NO_TB 0x00100000 +#define PPC_FEATURE_POWER4 0x00080000 +#define PPC_FEATURE_POWER5 0x00040000 +#define PPC_FEATURE_POWER5_PLUS 0x00020000 +#define PPC_FEATURE_CELL 0x00010000 +#define PPC_FEATURE_BOOKE 0x00008000 +#define PPC_FEATURE_SMT 0x00004000 +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 +#define PPC_FEATURE_PA6T 0x00000800 +#define PPC_FEATURE_HAS_DFP 0x00000400 +#define PPC_FEATURE_POWER6_EXT 0x00000200 +#define PPC_FEATURE_ARCH_2_06 0x00000100 +#define PPC_FEATURE_HAS_VSX 0x00000080 +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 + +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +#define PPC_FEATURE2_ARCH_2_07 0x80000000 +#define PPC_FEATURE2_HTM 0x40000000 +#define PPC_FEATURE2_DSCR 0x20000000 +#define PPC_FEATURE2_EBB 0x10000000 +#define PPC_FEATURE2_ISEL 0x08000000 +#define PPC_FEATURE2_TAR 0x04000000 +#define PPC_FEATURE2_VEC_CRYPTO 0x02000000 +#define PPC_FEATURE2_HTM_NOSC 0x01000000 +#define PPC_FEATURE2_ARCH_3_00 0x00800000 +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 +#define PPC_FEATURE2_DARN 0x00200000 +#define PPC_FEATURE2_SCV 0x00100000 +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ioctl.h new file mode 100644 index 00000000..98eff9a7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ioctl.h @@ -0,0 +1,120 @@ +#define _IOC(a,b,c,d) ( ((a)<<29) | ((b)<<8) | (c) | ((d)<<16) ) +#define _IOC_NONE 1U +#define _IOC_WRITE 4U +#define _IOC_READ 2U + +#define _IO(a,b) _IOC(_IOC_NONE,(a),(b),0) +#define _IOW(a,b,c) _IOC(_IOC_WRITE,(a),(b),sizeof(c)) +#define _IOR(a,b,c) _IOC(_IOC_READ,(a),(b),sizeof(c)) +#define _IOWR(a,b,c) _IOC(_IOC_READ|_IOC_WRITE,(a),(b),sizeof(c)) + +#define FIONCLEX _IO('f', 2) +#define FIOCLEX _IO('f', 1) +#define FIOASYNC _IOW('f', 125, int) +#define FIONBIO _IOW('f', 126, int) +#define FIONREAD _IOR('f', 127, int) +#define TIOCINQ FIONREAD +#define FIOQSIZE _IOR('f', 128, char[8]) +#define TIOCGETP _IOR('t', 8, char[6]) +#define TIOCSETP _IOW('t', 9, char[6]) +#define TIOCSETN _IOW('t', 10, char[6]) + +#define TIOCSETC _IOW('t', 17, char[6]) +#define TIOCGETC _IOR('t', 18, char[6]) +#define TCGETS _IOR('t', 19, char[44]) +#define TCSETS _IOW('t', 20, char[44]) +#define TCSETSW _IOW('t', 21, char[44]) +#define TCSETSF _IOW('t', 22, char[44]) + +#define TCGETA _IOR('t', 23, char[20]) +#define TCSETA _IOW('t', 24, char[20]) +#define TCSETAW _IOW('t', 25, char[20]) +#define TCSETAF _IOW('t', 28, char[20]) + +#define TCSBRK _IO('t', 29) +#define TCXONC _IO('t', 30) +#define TCFLSH _IO('t', 31) + +#define TIOCSWINSZ _IOW('t', 103, char[8]) +#define TIOCGWINSZ _IOR('t', 104, char[8]) +#define TIOCSTART _IO('t', 110) +#define TIOCSTOP _IO('t', 111) + +#define TIOCOUTQ _IOR('t', 115, int) + +#define TIOCGLTC _IOR('t', 116, char[6]) +#define TIOCSLTC _IOW('t', 117, char[6]) +#define TIOCSPGRP _IOW('t', 118, int) +#define TIOCGPGRP _IOR('t', 119, int) + +#define TIOCEXCL 0x540C +#define TIOCNXCL 0x540D +#define TIOCSCTTY 0x540E + +#define TIOCSTI 0x5412 +#define TIOCMGET 0x5415 +#define TIOCMBIS 0x5416 +#define TIOCMBIC 0x5417 +#define TIOCMSET 0x5418 +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +#define TIOCGSOFTCAR 0x5419 +#define TIOCSSOFTCAR 0x541A +#define TIOCLINUX 0x541C +#define TIOCCONS 0x541D +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TIOCPKT 0x5420 + +#define TIOCNOTTY 0x5422 +#define TIOCSETD 0x5423 +#define TIOCGETD 0x5424 +#define TCSBRKP 0x5425 +#define TIOCSBRK 0x5427 +#define TIOCCBRK 0x5428 +#define TIOCGSID 0x5429 +#define TIOCGRS485 0x542e +#define TIOCSRS485 0x542f +#define TIOCGPTN _IOR('T',0x30, unsigned int) +#define TIOCSPTLCK _IOW('T',0x31, int) +#define TIOCGDEV _IOR('T',0x32, unsigned int) +#define TIOCSIG _IOW('T',0x36, int) +#define TIOCVHANGUP 0x5437 +#define TIOCGPKT _IOR('T', 0x38, int) +#define TIOCGPTLCK _IOR('T', 0x39, int) +#define TIOCGEXCL _IOR('T', 0x40, int) +#define TIOCGPTPEER _IO('T', 0x41) + +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 +#define TIOCSERGETLSR 0x5459 +#define TIOCSERGETMULTI 0x545A +#define TIOCSERSETMULTI 0x545B + +#define TIOCMIWAIT 0x545C +#define TIOCGICOUNT 0x545D + +#define FIOSETOWN 0x8901 +#define SIOCSPGRP 0x8902 +#define FIOGETOWN 0x8903 +#define SIOCGPGRP 0x8904 +#define SIOCATMARK 0x8905 +#define SIOCGSTAMP 0x8906 +#define SIOCGSTAMPNS 0x8907 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ipc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ipc.h new file mode 100644 index 00000000..4c4aedd2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ipc.h @@ -0,0 +1,12 @@ +struct ipc_perm { + key_t __ipc_perm_key; + uid_t uid; + gid_t gid; + uid_t cuid; + gid_t cgid; + mode_t mode; + int __ipc_perm_seq; + int __pad1; + long long __pad2; + long long __pad3; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/mman.h new file mode 100644 index 00000000..2b30bf75 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/mman.h @@ -0,0 +1,13 @@ +#define PROT_SAO 0x10 + +#undef MAP_NORESERVE +#define MAP_NORESERVE 0x40 +#undef MAP_LOCKED +#define MAP_LOCKED 0x80 + +#undef MCL_CURRENT +#define MCL_CURRENT 0x2000 +#undef MCL_FUTURE +#define MCL_FUTURE 0x4000 +#undef MCL_ONFAULT +#define MCL_ONFAULT 0x8000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/posix.h new file mode 100644 index 00000000..9fcc205c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_LP64_OFF64 1 +#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..ba4cc8e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/ptrace.h @@ -0,0 +1,25 @@ +#define PTRACE_GETVRREGS 0x12 +#define PTRACE_SETVRREGS 0x13 +#define PTRACE_GETEVRREGS 0x14 +#define PTRACE_SETEVRREGS 0x15 +#define PTRACE_GETREGS64 0x16 +#define PTRACE_SETREGS64 0x17 +#define PTRACE_GET_DEBUGREG 0x19 +#define PTRACE_SET_DEBUGREG 0x1a +#define PTRACE_GETVSRREGS 0x1b +#define PTRACE_SETVSRREGS 0x1c +#define PTRACE_SYSEMU 0x1d +#define PTRACE_SYSEMU_SINGLESTEP 0x1e +#define PTRACE_SINGLEBLOCK 0x100 + +#define PT_GETVRREGS PTRACE_GETVRREGS +#define PT_SETVRREGS PTRACE_SETVRREGS +#define PT_GETEVRREGS PTRACE_GETEVRREGS +#define PT_SETEVRREGS PTRACE_SETEVRREGS +#define PT_GETREGS64 PTRACE_GETREGS64 +#define PT_SETREGS64 PTRACE_SETREGS64 +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG +#define PT_GETVSRREGS PTRACE_GETVSRREGS +#define PT_SETVSRREGS PTRACE_SETVSRREGS +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/reg.h new file mode 100644 index 00000000..5affe032 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/reg.h @@ -0,0 +1,3 @@ +#undef __WORDSIZE +#define __WORDSIZE 64 +/* FIXME */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..8aeb660b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned __int128 __jmp_buf[32]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/shm.h new file mode 100644 index 00000000..0d958692 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/shm.h @@ -0,0 +1,23 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; + size_t shm_segsz; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __unused[2]; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/signal.h new file mode 100644 index 00000000..de82cf9e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/signal.h @@ -0,0 +1,110 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 10240 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +typedef unsigned long greg_t, gregset_t[48]; +typedef double fpregset_t[33]; + +typedef struct { +#ifdef __GNUC__ + __attribute__((__aligned__(16))) +#endif + unsigned vrregs[32][4]; + struct { +#if __BIG_ENDIAN__ + unsigned _pad[3], vscr_word; +#else + unsigned vscr_word, _pad[3]; +#endif + } vscr; + unsigned vrsave, _pad[3]; +} vrregset_t; + +typedef struct sigcontext { + unsigned long _unused[4]; + int signal; + int _pad0; + unsigned long handler; + unsigned long oldmask; + struct pt_regs *regs; + gregset_t gp_regs; + fpregset_t fp_regs; + vrregset_t *v_regs; + long vmx_reserve[34+34+32+1]; +} mcontext_t; + +#else + +typedef struct { + long __regs[4+4+48+33+1+34+34+32+1]; +} mcontext_t; + +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#define SA_NOCLDSTOP 1U +#define SA_NOCLDWAIT 2U +#define SA_SIGINFO 4U +#define SA_ONSTACK 0x08000000U +#define SA_RESTART 0x10000000U +#define SA_NODEFER 0x40000000U +#define SA_RESETHAND 0x80000000U +#define SA_RESTORER 0x04000000U + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/socket.h new file mode 100644 index 00000000..1fa551d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/socket.h @@ -0,0 +1,27 @@ +#define SO_DEBUG 1 +#define SO_REUSEADDR 2 +#define SO_TYPE 3 +#define SO_ERROR 4 +#define SO_DONTROUTE 5 +#define SO_BROADCAST 6 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_KEEPALIVE 9 +#define SO_OOBINLINE 10 +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_LINGER 13 +#define SO_BSDCOMPAT 14 +#define SO_REUSEPORT 15 +#define SO_RCVLOWAT 16 +#define SO_SNDLOWAT 17 +#define SO_RCVTIMEO 18 +#define SO_SNDTIMEO 19 +#define SO_PASSCRED 20 +#define SO_PEERCRED 21 +#define SO_ACCEPTCONN 30 +#define SO_PEERSEC 31 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stat.h new file mode 100644 index 00000000..5953fb9c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stat.h @@ -0,0 +1,16 @@ +struct stat { + dev_t st_dev; + ino_t st_ino; + nlink_t st_nlink; + mode_t st_mode; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + blksize_t st_blksize; + blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + unsigned long __unused[3]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stdint.h new file mode 100644 index 00000000..02714d73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/syscall.h new file mode 100644 index 00000000..0a904333 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/syscall.h @@ -0,0 +1,809 @@ +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_waitpid 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_break 17 +#define __NR_oldstat 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_oldfstat 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_stty 31 +#define __NR_gtty 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_ftime 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_prof 44 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_lock 53 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_mpx 56 +#define __NR_setpgid 57 +#define __NR_ulimit 58 +#define __NR_oldolduname 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sgetmask 68 +#define __NR_ssetmask 69 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_select 82 +#define __NR_symlink 83 +#define __NR_oldlstat 84 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_profil 98 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_olduname 109 +#define __NR_iopl 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_vm86 113 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_modify_ldt 123 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_query_module 166 +#define __NR_poll 167 +#define __NR_nfsservctl 168 +#define __NR_setresgid 169 +#define __NR_getresgid 170 +#define __NR_prctl 171 +#define __NR_rt_sigreturn 172 +#define __NR_rt_sigaction 173 +#define __NR_rt_sigprocmask 174 +#define __NR_rt_sigpending 175 +#define __NR_rt_sigtimedwait 176 +#define __NR_rt_sigqueueinfo 177 +#define __NR_rt_sigsuspend 178 +#define __NR_pread64 179 +#define __NR_pwrite64 180 +#define __NR_chown 181 +#define __NR_getcwd 182 +#define __NR_capget 183 +#define __NR_capset 184 +#define __NR_sigaltstack 185 +#define __NR_sendfile 186 +#define __NR_getpmsg 187 +#define __NR_putpmsg 188 +#define __NR_vfork 189 +#define __NR_ugetrlimit 190 +#define __NR_readahead 191 +#define __NR_pciconfig_read 198 +#define __NR_pciconfig_write 199 +#define __NR_pciconfig_iobase 200 +#define __NR_multiplexer 201 +#define __NR_getdents64 202 +#define __NR_pivot_root 203 +#define __NR_madvise 205 +#define __NR_mincore 206 +#define __NR_gettid 207 +#define __NR_tkill 208 +#define __NR_setxattr 209 +#define __NR_lsetxattr 210 +#define __NR_fsetxattr 211 +#define __NR_getxattr 212 +#define __NR_lgetxattr 213 +#define __NR_fgetxattr 214 +#define __NR_listxattr 215 +#define __NR_llistxattr 216 +#define __NR_flistxattr 217 +#define __NR_removexattr 218 +#define __NR_lremovexattr 219 +#define __NR_fremovexattr 220 +#define __NR_futex 221 +#define __NR_sched_setaffinity 222 +#define __NR_sched_getaffinity 223 +#define __NR_tuxcall 225 +#define __NR_io_setup 227 +#define __NR_io_destroy 228 +#define __NR_io_getevents 229 +#define __NR_io_submit 230 +#define __NR_io_cancel 231 +#define __NR_set_tid_address 232 +#define __NR_fadvise64 233 +#define __NR_exit_group 234 +#define __NR_lookup_dcookie 235 +#define __NR_epoll_create 236 +#define __NR_epoll_ctl 237 +#define __NR_epoll_wait 238 +#define __NR_remap_file_pages 239 +#define __NR_timer_create 240 +#define __NR_timer_settime 241 +#define __NR_timer_gettime 242 +#define __NR_timer_getoverrun 243 +#define __NR_timer_delete 244 +#define __NR_clock_settime 245 +#define __NR_clock_gettime 246 +#define __NR_clock_getres 247 +#define __NR_clock_nanosleep 248 +#define __NR_swapcontext 249 +#define __NR_tgkill 250 +#define __NR_utimes 251 +#define __NR_statfs64 252 +#define __NR_fstatfs64 253 +#define __NR_rtas 255 +#define __NR_sys_debug_setcontext 256 +#define __NR_migrate_pages 258 +#define __NR_mbind 259 +#define __NR_get_mempolicy 260 +#define __NR_set_mempolicy 261 +#define __NR_mq_open 262 +#define __NR_mq_unlink 263 +#define __NR_mq_timedsend 264 +#define __NR_mq_timedreceive 265 +#define __NR_mq_notify 266 +#define __NR_mq_getsetattr 267 +#define __NR_kexec_load 268 +#define __NR_add_key 269 +#define __NR_request_key 270 +#define __NR_keyctl 271 +#define __NR_waitid 272 +#define __NR_ioprio_set 273 +#define __NR_ioprio_get 274 +#define __NR_inotify_init 275 +#define __NR_inotify_add_watch 276 +#define __NR_inotify_rm_watch 277 +#define __NR_spu_run 278 +#define __NR_spu_create 279 +#define __NR_pselect6 280 +#define __NR_ppoll 281 +#define __NR_unshare 282 +#define __NR_splice 283 +#define __NR_tee 284 +#define __NR_vmsplice 285 +#define __NR_openat 286 +#define __NR_mkdirat 287 +#define __NR_mknodat 288 +#define __NR_fchownat 289 +#define __NR_futimesat 290 +#define __NR_newfstatat 291 +#define __NR_unlinkat 292 +#define __NR_renameat 293 +#define __NR_linkat 294 +#define __NR_symlinkat 295 +#define __NR_readlinkat 296 +#define __NR_fchmodat 297 +#define __NR_faccessat 298 +#define __NR_get_robust_list 299 +#define __NR_set_robust_list 300 +#define __NR_move_pages 301 +#define __NR_getcpu 302 +#define __NR_epoll_pwait 303 +#define __NR_utimensat 304 +#define __NR_signalfd 305 +#define __NR_timerfd_create 306 +#define __NR_eventfd 307 +#define __NR_sync_file_range2 308 +#define __NR_fallocate 309 +#define __NR_subpage_prot 310 +#define __NR_timerfd_settime 311 +#define __NR_timerfd_gettime 312 +#define __NR_signalfd4 313 +#define __NR_eventfd2 314 +#define __NR_epoll_create1 315 +#define __NR_dup3 316 +#define __NR_pipe2 317 +#define __NR_inotify_init1 318 +#define __NR_perf_event_open 319 +#define __NR_preadv 320 +#define __NR_pwritev 321 +#define __NR_rt_tgsigqueueinfo 322 +#define __NR_fanotify_init 323 +#define __NR_fanotify_mark 324 +#define __NR_prlimit64 325 +#define __NR_socket 326 +#define __NR_bind 327 +#define __NR_connect 328 +#define __NR_listen 329 +#define __NR_accept 330 +#define __NR_getsockname 331 +#define __NR_getpeername 332 +#define __NR_socketpair 333 +#define __NR_send 334 +#define __NR_sendto 335 +#define __NR_recv 336 +#define __NR_recvfrom 337 +#define __NR_shutdown 338 +#define __NR_setsockopt 339 +#define __NR_getsockopt 340 +#define __NR_sendmsg 341 +#define __NR_recvmsg 342 +#define __NR_recvmmsg 343 +#define __NR_accept4 344 +#define __NR_name_to_handle_at 345 +#define __NR_open_by_handle_at 346 +#define __NR_clock_adjtime 347 +#define __NR_syncfs 348 +#define __NR_sendmmsg 349 +#define __NR_setns 350 +#define __NR_process_vm_readv 351 +#define __NR_process_vm_writev 352 +#define __NR_finit_module 353 +#define __NR_kcmp 354 +#define __NR_sched_setattr 355 +#define __NR_sched_getattr 356 +#define __NR_renameat2 357 +#define __NR_seccomp 358 +#define __NR_getrandom 359 +#define __NR_memfd_create 360 +#define __NR_bpf 361 +#define __NR_execveat 362 +#define __NR_switch_endian 363 +#define __NR_userfaultfd 364 +#define __NR_membarrier 365 +#define __NR_mlock2 378 +#define __NR_copy_file_range 379 +#define __NR_preadv2 380 +#define __NR_pwritev2 381 +#define __NR_kexec_file_load 382 +#define __NR_statx 383 +#define __NR_pkey_alloc 384 +#define __NR_pkey_free 385 +#define __NR_pkey_mprotect 386 +#define __NR_rseq 387 +#define __NR_io_pgetevents 388 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 + +#define SYS_restart_syscall 0 +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_waitpid 7 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execve 11 +#define SYS_chdir 12 +#define SYS_time 13 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_lchown 16 +#define SYS_break 17 +#define SYS_oldstat 18 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_mount 21 +#define SYS_umount 22 +#define SYS_setuid 23 +#define SYS_getuid 24 +#define SYS_stime 25 +#define SYS_ptrace 26 +#define SYS_alarm 27 +#define SYS_oldfstat 28 +#define SYS_pause 29 +#define SYS_utime 30 +#define SYS_stty 31 +#define SYS_gtty 32 +#define SYS_access 33 +#define SYS_nice 34 +#define SYS_ftime 35 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_rename 38 +#define SYS_mkdir 39 +#define SYS_rmdir 40 +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_times 43 +#define SYS_prof 44 +#define SYS_brk 45 +#define SYS_setgid 46 +#define SYS_getgid 47 +#define SYS_signal 48 +#define SYS_geteuid 49 +#define SYS_getegid 50 +#define SYS_acct 51 +#define SYS_umount2 52 +#define SYS_lock 53 +#define SYS_ioctl 54 +#define SYS_fcntl 55 +#define SYS_mpx 56 +#define SYS_setpgid 57 +#define SYS_ulimit 58 +#define SYS_oldolduname 59 +#define SYS_umask 60 +#define SYS_chroot 61 +#define SYS_ustat 62 +#define SYS_dup2 63 +#define SYS_getppid 64 +#define SYS_getpgrp 65 +#define SYS_setsid 66 +#define SYS_sigaction 67 +#define SYS_sgetmask 68 +#define SYS_ssetmask 69 +#define SYS_setreuid 70 +#define SYS_setregid 71 +#define SYS_sigsuspend 72 +#define SYS_sigpending 73 +#define SYS_sethostname 74 +#define SYS_setrlimit 75 +#define SYS_getrlimit 76 +#define SYS_getrusage 77 +#define SYS_gettimeofday 78 +#define SYS_settimeofday 79 +#define SYS_getgroups 80 +#define SYS_setgroups 81 +#define SYS_select 82 +#define SYS_symlink 83 +#define SYS_oldlstat 84 +#define SYS_readlink 85 +#define SYS_uselib 86 +#define SYS_swapon 87 +#define SYS_reboot 88 +#define SYS_readdir 89 +#define SYS_mmap 90 +#define SYS_munmap 91 +#define SYS_truncate 92 +#define SYS_ftruncate 93 +#define SYS_fchmod 94 +#define SYS_fchown 95 +#define SYS_getpriority 96 +#define SYS_setpriority 97 +#define SYS_profil 98 +#define SYS_statfs 99 +#define SYS_fstatfs 100 +#define SYS_ioperm 101 +#define SYS_socketcall 102 +#define SYS_syslog 103 +#define SYS_setitimer 104 +#define SYS_getitimer 105 +#define SYS_stat 106 +#define SYS_lstat 107 +#define SYS_fstat 108 +#define SYS_olduname 109 +#define SYS_iopl 110 +#define SYS_vhangup 111 +#define SYS_idle 112 +#define SYS_vm86 113 +#define SYS_wait4 114 +#define SYS_swapoff 115 +#define SYS_sysinfo 116 +#define SYS_ipc 117 +#define SYS_fsync 118 +#define SYS_sigreturn 119 +#define SYS_clone 120 +#define SYS_setdomainname 121 +#define SYS_uname 122 +#define SYS_modify_ldt 123 +#define SYS_adjtimex 124 +#define SYS_mprotect 125 +#define SYS_sigprocmask 126 +#define SYS_create_module 127 +#define SYS_init_module 128 +#define SYS_delete_module 129 +#define SYS_get_kernel_syms 130 +#define SYS_quotactl 131 +#define SYS_getpgid 132 +#define SYS_fchdir 133 +#define SYS_bdflush 134 +#define SYS_sysfs 135 +#define SYS_personality 136 +#define SYS_afs_syscall 137 +#define SYS_setfsuid 138 +#define SYS_setfsgid 139 +#define SYS__llseek 140 +#define SYS_getdents 141 +#define SYS__newselect 142 +#define SYS_flock 143 +#define SYS_msync 144 +#define SYS_readv 145 +#define SYS_writev 146 +#define SYS_getsid 147 +#define SYS_fdatasync 148 +#define SYS__sysctl 149 +#define SYS_mlock 150 +#define SYS_munlock 151 +#define SYS_mlockall 152 +#define SYS_munlockall 153 +#define SYS_sched_setparam 154 +#define SYS_sched_getparam 155 +#define SYS_sched_setscheduler 156 +#define SYS_sched_getscheduler 157 +#define SYS_sched_yield 158 +#define SYS_sched_get_priority_max 159 +#define SYS_sched_get_priority_min 160 +#define SYS_sched_rr_get_interval 161 +#define SYS_nanosleep 162 +#define SYS_mremap 163 +#define SYS_setresuid 164 +#define SYS_getresuid 165 +#define SYS_query_module 166 +#define SYS_poll 167 +#define SYS_nfsservctl 168 +#define SYS_setresgid 169 +#define SYS_getresgid 170 +#define SYS_prctl 171 +#define SYS_rt_sigreturn 172 +#define SYS_rt_sigaction 173 +#define SYS_rt_sigprocmask 174 +#define SYS_rt_sigpending 175 +#define SYS_rt_sigtimedwait 176 +#define SYS_rt_sigqueueinfo 177 +#define SYS_rt_sigsuspend 178 +#define SYS_pread64 179 +#define SYS_pwrite64 180 +#define SYS_chown 181 +#define SYS_getcwd 182 +#define SYS_capget 183 +#define SYS_capset 184 +#define SYS_sigaltstack 185 +#define SYS_sendfile 186 +#define SYS_getpmsg 187 +#define SYS_putpmsg 188 +#define SYS_vfork 189 +#define SYS_ugetrlimit 190 +#define SYS_readahead 191 +#define SYS_pciconfig_read 198 +#define SYS_pciconfig_write 199 +#define SYS_pciconfig_iobase 200 +#define SYS_multiplexer 201 +#define SYS_getdents64 202 +#define SYS_pivot_root 203 +#define SYS_madvise 205 +#define SYS_mincore 206 +#define SYS_gettid 207 +#define SYS_tkill 208 +#define SYS_setxattr 209 +#define SYS_lsetxattr 210 +#define SYS_fsetxattr 211 +#define SYS_getxattr 212 +#define SYS_lgetxattr 213 +#define SYS_fgetxattr 214 +#define SYS_listxattr 215 +#define SYS_llistxattr 216 +#define SYS_flistxattr 217 +#define SYS_removexattr 218 +#define SYS_lremovexattr 219 +#define SYS_fremovexattr 220 +#define SYS_futex 221 +#define SYS_sched_setaffinity 222 +#define SYS_sched_getaffinity 223 +#define SYS_tuxcall 225 +#define SYS_io_setup 227 +#define SYS_io_destroy 228 +#define SYS_io_getevents 229 +#define SYS_io_submit 230 +#define SYS_io_cancel 231 +#define SYS_set_tid_address 232 +#define SYS_fadvise64 233 +#define SYS_exit_group 234 +#define SYS_lookup_dcookie 235 +#define SYS_epoll_create 236 +#define SYS_epoll_ctl 237 +#define SYS_epoll_wait 238 +#define SYS_remap_file_pages 239 +#define SYS_timer_create 240 +#define SYS_timer_settime 241 +#define SYS_timer_gettime 242 +#define SYS_timer_getoverrun 243 +#define SYS_timer_delete 244 +#define SYS_clock_settime 245 +#define SYS_clock_gettime 246 +#define SYS_clock_getres 247 +#define SYS_clock_nanosleep 248 +#define SYS_swapcontext 249 +#define SYS_tgkill 250 +#define SYS_utimes 251 +#define SYS_statfs64 252 +#define SYS_fstatfs64 253 +#define SYS_rtas 255 +#define SYS_sys_debug_setcontext 256 +#define SYS_migrate_pages 258 +#define SYS_mbind 259 +#define SYS_get_mempolicy 260 +#define SYS_set_mempolicy 261 +#define SYS_mq_open 262 +#define SYS_mq_unlink 263 +#define SYS_mq_timedsend 264 +#define SYS_mq_timedreceive 265 +#define SYS_mq_notify 266 +#define SYS_mq_getsetattr 267 +#define SYS_kexec_load 268 +#define SYS_add_key 269 +#define SYS_request_key 270 +#define SYS_keyctl 271 +#define SYS_waitid 272 +#define SYS_ioprio_set 273 +#define SYS_ioprio_get 274 +#define SYS_inotify_init 275 +#define SYS_inotify_add_watch 276 +#define SYS_inotify_rm_watch 277 +#define SYS_spu_run 278 +#define SYS_spu_create 279 +#define SYS_pselect6 280 +#define SYS_ppoll 281 +#define SYS_unshare 282 +#define SYS_splice 283 +#define SYS_tee 284 +#define SYS_vmsplice 285 +#define SYS_openat 286 +#define SYS_mkdirat 287 +#define SYS_mknodat 288 +#define SYS_fchownat 289 +#define SYS_futimesat 290 +#define SYS_newfstatat 291 +#define SYS_unlinkat 292 +#define SYS_renameat 293 +#define SYS_linkat 294 +#define SYS_symlinkat 295 +#define SYS_readlinkat 296 +#define SYS_fchmodat 297 +#define SYS_faccessat 298 +#define SYS_get_robust_list 299 +#define SYS_set_robust_list 300 +#define SYS_move_pages 301 +#define SYS_getcpu 302 +#define SYS_epoll_pwait 303 +#define SYS_utimensat 304 +#define SYS_signalfd 305 +#define SYS_timerfd_create 306 +#define SYS_eventfd 307 +#define SYS_sync_file_range2 308 +#define SYS_fallocate 309 +#define SYS_subpage_prot 310 +#define SYS_timerfd_settime 311 +#define SYS_timerfd_gettime 312 +#define SYS_signalfd4 313 +#define SYS_eventfd2 314 +#define SYS_epoll_create1 315 +#define SYS_dup3 316 +#define SYS_pipe2 317 +#define SYS_inotify_init1 318 +#define SYS_perf_event_open 319 +#define SYS_preadv 320 +#define SYS_pwritev 321 +#define SYS_rt_tgsigqueueinfo 322 +#define SYS_fanotify_init 323 +#define SYS_fanotify_mark 324 +#define SYS_prlimit64 325 +#define SYS_socket 326 +#define SYS_bind 327 +#define SYS_connect 328 +#define SYS_listen 329 +#define SYS_accept 330 +#define SYS_getsockname 331 +#define SYS_getpeername 332 +#define SYS_socketpair 333 +#define SYS_send 334 +#define SYS_sendto 335 +#define SYS_recv 336 +#define SYS_recvfrom 337 +#define SYS_shutdown 338 +#define SYS_setsockopt 339 +#define SYS_getsockopt 340 +#define SYS_sendmsg 341 +#define SYS_recvmsg 342 +#define SYS_recvmmsg 343 +#define SYS_accept4 344 +#define SYS_name_to_handle_at 345 +#define SYS_open_by_handle_at 346 +#define SYS_clock_adjtime 347 +#define SYS_syncfs 348 +#define SYS_sendmmsg 349 +#define SYS_setns 350 +#define SYS_process_vm_readv 351 +#define SYS_process_vm_writev 352 +#define SYS_finit_module 353 +#define SYS_kcmp 354 +#define SYS_sched_setattr 355 +#define SYS_sched_getattr 356 +#define SYS_renameat2 357 +#define SYS_seccomp 358 +#define SYS_getrandom 359 +#define SYS_memfd_create 360 +#define SYS_bpf 361 +#define SYS_execveat 362 +#define SYS_switch_endian 363 +#define SYS_userfaultfd 364 +#define SYS_membarrier 365 +#define SYS_mlock2 378 +#define SYS_copy_file_range 379 +#define SYS_preadv2 380 +#define SYS_pwritev2 381 +#define SYS_kexec_file_load 382 +#define SYS_statx 383 +#define SYS_pkey_alloc 384 +#define SYS_pkey_free 385 +#define SYS_pkey_mprotect 386 +#define SYS_rseq 387 +#define SYS_io_pgetevents 388 +#define SYS_semtimedop 392 +#define SYS_semget 393 +#define SYS_semctl 394 +#define SYS_shmget 395 +#define SYS_shmctl 396 +#define SYS_shmat 397 +#define SYS_shmdt 398 +#define SYS_msgget 399 +#define SYS_msgsnd 400 +#define SYS_msgrcv 401 +#define SYS_msgctl 402 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/termios.h new file mode 100644 index 00000000..0613854d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/termios.h @@ -0,0 +1,171 @@ +#undef NCCS +#define NCCS 19 +struct termios { + tcflag_t c_iflag; + tcflag_t c_oflag; + tcflag_t c_cflag; + tcflag_t c_lflag; + cc_t c_cc[NCCS]; + cc_t c_line; + speed_t __c_ispeed; + speed_t __c_ospeed; +}; + +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 + +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 + +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 +#define OFILL 0000100 +#define OFDEL 0000200 +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) +#define NLDLY 0001400 +#define NL0 0000000 +#define NL1 0000400 +#define NL2 0001000 +#define NL3 0001400 +#define TABDLY 0006000 +#define TAB0 0000000 +#define TAB1 0002000 +#define TAB2 0004000 +#define TAB3 0006000 +#define CRDLY 0030000 +#define CR0 0000000 +#define CR1 0010000 +#define CR2 0020000 +#define CR3 0030000 +#define FFDLY 0040000 +#define FF0 0000000 +#define FF1 0040000 +#define BSDLY 0100000 +#define BS0 0000000 +#define BS1 0100000 +#endif + +#define VTDLY 0200000 +#define VT0 0000000 +#define VT1 0200000 + +#define B0 0000000 +#define B50 0000001 +#define B75 0000002 +#define B110 0000003 +#define B134 0000004 +#define B150 0000005 +#define B200 0000006 +#define B300 0000007 +#define B600 0000010 +#define B1200 0000011 +#define B1800 0000012 +#define B2400 0000013 +#define B4800 0000014 +#define B9600 0000015 +#define B19200 0000016 +#define B38400 0000017 + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 +#define CLOCAL 00100000 + +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHO 0x00000008 +#define ECHONL 0x00000010 +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#define IEXTEN 0x00000400 +#define TOSTOP 0x00400000 +#define NOFLSH 0x80000000 + +#define TCOOFF 0 +#define TCOON 1 +#define TCIOFF 2 +#define TCION 3 + +#define TCIFLUSH 0 +#define TCOFLUSH 1 +#define TCIOFLUSH 2 + +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define EXTA 0000016 +#define EXTB 0000017 +#define CBAUD 00377 +#define CBAUDEX 0000020 +#define CIBAUD 077600000 +#define CMSPAR 010000000000 +#define CRTSCTS 020000000000 + +#define XCASE 0x00004000 +#define ECHOCTL 0x00000040 +#define ECHOPRT 0x00000020 +#define ECHOKE 0x00000001 +#define FLUSHO 0x00800000 +#define PENDIN 0x20000000 +#define EXTPROC 0x10000000 + +#define XTABS 00006000 +#define TIOCSER_TEMT 1 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/user.h new file mode 100644 index 00000000..25d86ab5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64-linux-musl/bits/user.h @@ -0,0 +1,23 @@ +struct user { + struct { + unsigned long gpr[32], nip, msr, orig_gpr3, ctr, link, xer, ccr, softe; + unsigned long trap, dar, dsisr, result; + } regs; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long start_code, start_data, start_stack; + long signal; + void *u_ar0; + unsigned long magic; + char u_comm[32]; +}; + +#define ELF_NGREG 48 +#define ELF_NFPREG 33 +#define ELF_NVRREG 34 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; +typedef double elf_fpreg_t, elf_fpregset_t[ELF_NFPREG]; +typedef struct { unsigned u[4]; } +#ifdef __GNUC__ +__attribute__((__aligned__(16))) +#endif + elf_vrreg_t, elf_vrregset_t[ELF_NVRREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..91892fa1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* PowerPC has selectable endianness. */ +#if defined __BIG_ENDIAN__ || defined _BIG_ENDIAN +# define __BYTE_ORDER __BIG_ENDIAN +#endif +#if defined __LITTLE_ENDIAN__ || defined _LITTLE_ENDIAN +# define __BYTE_ORDER __LITTLE_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..8e255ea4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fcntl.h @@ -0,0 +1,68 @@ +/* O_*, F_*, FD_* bit values for Linux/PowerPC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define __O_DIRECTORY 040000 /* Must be a directory. */ +#define __O_NOFOLLOW 0100000 /* Do not follow links. */ +#define __O_DIRECT 0400000 /* Direct disk access. */ + +#if __WORDSIZE == 64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0200000 +#endif + +#if __WORDSIZE == 64 && !defined __USE_FILE_OFFSET64 +# define F_GETLK 5 +# define F_SETLK 6 +# define F_SETLKW 7 +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..464f6523 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fenv.h @@ -0,0 +1,180 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + + +/* Define bits representing the exception. We use the bit positions of + the appropriate bits in the FPSCR... */ +enum + { + FE_INEXACT = +#define FE_INEXACT (1 << (31 - 6)) + FE_INEXACT, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << (31 - 5)) + FE_DIVBYZERO, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << (31 - 4)) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << (31 - 3)) + FE_OVERFLOW, + + /* ... except for FE_INVALID, for which we use bit 31. FE_INVALID + actually corresponds to bits 7 through 12 and 21 through 23 + in the FPSCR, but we can't use that because the current draft + says that it must be a power of 2. Instead we use bit 2 which + is the summary bit for all the FE_INVALID exceptions, which + kind of makes sense. */ + FE_INVALID = +#define FE_INVALID (1 << (31 - 2)) + FE_INVALID, + +#ifdef __USE_GNU + /* Breakdown of the FE_INVALID bits. Setting FE_INVALID on an + input to a routine is equivalent to setting all of these bits; + FE_INVALID will be set on output from a routine iff one of + these bits is set. Note, though, that you can't disable or + enable these exceptions individually. */ + + /* Operation with a sNaN. */ + FE_INVALID_SNAN = +# define FE_INVALID_SNAN (1 << (31 - 7)) + FE_INVALID_SNAN, + + /* Inf - Inf */ + FE_INVALID_ISI = +# define FE_INVALID_ISI (1 << (31 - 8)) + FE_INVALID_ISI, + + /* Inf / Inf */ + FE_INVALID_IDI = +# define FE_INVALID_IDI (1 << (31 - 9)) + FE_INVALID_IDI, + + /* 0 / 0 */ + FE_INVALID_ZDZ = +# define FE_INVALID_ZDZ (1 << (31 - 10)) + FE_INVALID_ZDZ, + + /* Inf * 0 */ + FE_INVALID_IMZ = +# define FE_INVALID_IMZ (1 << (31 - 11)) + FE_INVALID_IMZ, + + /* Comparison with a NaN. */ + FE_INVALID_COMPARE = +# define FE_INVALID_COMPARE (1 << (31 - 12)) + FE_INVALID_COMPARE, + + /* Invalid operation flag for software (not set by hardware). */ + /* Note that some chips don't have this implemented, presumably + because no-one expected anyone to write software for them %-). */ + FE_INVALID_SOFTWARE = +# define FE_INVALID_SOFTWARE (1 << (31 - 21)) + FE_INVALID_SOFTWARE, + + /* Square root of negative number (including -Inf). */ + /* Note that some chips don't have this implemented. */ + FE_INVALID_SQRT = +# define FE_INVALID_SQRT (1 << (31 - 22)) + FE_INVALID_SQRT, + + /* Conversion-to-integer of a NaN or a number too large or too small. */ + FE_INVALID_INTEGER_CONVERSION = +# define FE_INVALID_INTEGER_CONVERSION (1 << (31 - 23)) + FE_INVALID_INTEGER_CONVERSION + +# define FE_ALL_INVALID \ + (FE_INVALID_SNAN | FE_INVALID_ISI | FE_INVALID_IDI | FE_INVALID_ZDZ \ + | FE_INVALID_IMZ | FE_INVALID_COMPARE | FE_INVALID_SOFTWARE \ + | FE_INVALID_SQRT | FE_INVALID_INTEGER_CONVERSION) +#endif + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* PowerPC chips support all of the four defined rounding modes. We + use the bit pattern in the FPSCR as the values for the + appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO 1 + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD 2 + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD 3 + FE_DOWNWARD + }; + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; + +/* Type representing floating-point environment. We leave it as 'double' + for efficiency reasons (rather than writing it to a 32-bit integer). */ +typedef double fenv_t; + +/* If the default argument is used we use this value. */ +extern const fenv_t __fe_dfl_env; +#define FE_DFL_ENV (&__fe_dfl_env) + +#ifdef __USE_GNU +/* Floating-point environment where all exceptions are enabled. Note that + this is not sufficient to give you SIGFPE. */ +extern const fenv_t __fe_enabled_env; +# define FE_ENABLED_ENV (&__fe_enabled_env) + +/* Floating-point environment with (processor-dependent) non-IEEE floating + point. */ +extern const fenv_t __fe_nonieee_env; +# define FE_NONIEEE_ENV (&__fe_nonieee_env) + +/* Floating-point environment with all exceptions enabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Precise Mode". On some processors this will + result in slower floating point execution. This will last until an + fenv or exception mask is installed that disables all FP exceptions. */ +# define FE_NOMASK_ENV FE_ENABLED_ENV + +/* Floating-point environment with all exceptions disabled. Note that + just evaluating this value does not change the processor exception mode. + Passing this mask to fesetenv will result in a prctl syscall to change + the MSR FE0/FE1 bits to "Ignore Exceptions Mode". On most processors + this allows the fastest possible floating point execution.*/ +# define FE_MASK_ENV FE_DFL_ENV + +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef double femode_t; + +/* Default floating-point control modes. */ +extern const femode_t __fe_dfl_mode; +# define FE_DFL_MODE (&__fe_dfl_mode) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h new file mode 100644 index 00000000..b07b9abf --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/floatn.h @@ -0,0 +1,122 @@ +/* Macros to control TS 18661-3 glibc features on powerpc. + Copyright (C) 2017-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_FLOATN_H +#define _BITS_FLOATN_H + +#include +#include + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the IEEE 754 binary128 format, and this glibc + includes corresponding *f128 interfaces for it. */ +#if defined _ARCH_PWR8 && defined __LITTLE_ENDIAN__ && (_CALL_ELF == 2) \ + && defined __FLOAT128__ && !defined __NO_LONG_DOUBLE_MATH +# define __HAVE_FLOAT128 1 +#else +# define __HAVE_FLOAT128 0 +#endif + +/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct + from the default float, double and long double types in this glibc, i.e. + calls to the binary128 functions go to *f128 symbols instead of *l. */ +#if __HAVE_FLOAT128 +# define __HAVE_DISTINCT_FLOAT128 1 +#else +# define __HAVE_DISTINCT_FLOAT128 0 +#endif + +/* Defined to 1 if the current compiler invocation provides a + floating-point type with the right format for _Float64x, and this + glibc includes corresponding *f64x interfaces for it. */ +#define __HAVE_FLOAT64X __HAVE_FLOAT128 + +/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format + of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has + the format of _Float128, which must be different from that of long + double. */ +#define __HAVE_FLOAT64X_LONG_DOUBLE 0 + +#ifndef __ASSEMBLER__ + +/* Defined to concatenate the literal suffix to be used with _Float128 + types, if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The literal suffix (f128) exist for powerpc only since GCC 7.0. */ +# if __LDBL_MANT_DIG__ == 113 +# define __f128(x) x##l +# else +# define __f128(x) x##q +# endif +# else +# define __f128(x) x##f128 +# endif +# endif + +/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */ +# if __HAVE_FLOAT128 +# if __LDBL_MANT_DIG__ == 113 && defined __cplusplus && !__GNUC_PREREQ (13, 0) +typedef long double _Float128; +# define __CFLOAT128 _Complex long double +# elif !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0)) +/* The type _Float128 exist for powerpc only since GCC 7.0. */ +typedef __float128 _Float128; +/* Add a typedef for older GCC and C++ compilers which don't natively support + _Complex _Float128. */ +typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__KC__))); +# define __CFLOAT128 __cfloat128 +# else +# define __CFLOAT128 _Complex _Float128 +# endif +# endif + +/* The remaining of this file provides support for older compilers. */ +# if __HAVE_FLOAT128 +/* Builtin __builtin_huge_valf128 doesn't exist before GCC 7.0. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ()) +# endif + +/* The following builtins (suffixed with 'q') are available in GCC >= 6.2, + which is the minimum version required for float128 support on powerpc64le. + Since GCC 7.0 the builtins suffixed with f128 are also available, then + there is no need to redefined them. */ +# if !__GNUC_PREREQ (7, 0) +# define __builtin_copysignf128 __builtin_copysignq +# define __builtin_fabsf128 __builtin_fabsq +# define __builtin_inff128 __builtin_infq +# define __builtin_nanf128 __builtin_nanq +# define __builtin_nansf128 __builtin_nansq +# endif + +/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*, + e.g.: __builtin_signbitf128, before GCC 6. However, there has never + been a __builtin_signbitf128 in GCC and the type-generic builtin is + only available since GCC 6. */ +# if !__GNUC_PREREQ (6, 0) +# define __builtin_signbitf128 __signbitf128 +# endif + +# endif + +#endif /* !__ASSEMBLER__. */ + +#include + +#endif /* _BITS_FLOATN_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h new file mode 100644 index 00000000..4d38958f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/fp-fast.h @@ -0,0 +1,39 @@ +/* Define FP_FAST_* macros. PowerPC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#ifdef __USE_ISOC99 + +/* The GCC 4.6 compiler will define __FP_FAST_FMA{,F,L} if the fma{,f,l} + builtins are supported. */ +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMA +# define FP_FAST_FMA 1 +# endif + +# if (!defined _SOFT_FLOAT && !defined __NO_FPRS__) || defined __FP_FAST_FMAF +# define FP_FAST_FMAF 1 +# endif + +# ifdef __FP_FAST_FMAL +# define FP_FAST_FMAL 1 +# endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..5e3ab018 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/hwcap.h @@ -0,0 +1,78 @@ +/* Defines for bits in AT_HWCAP and AT_HWCAP2. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +/* The bit numbers must match those in the kernel's asm/cputable.h. */ + +/* Feature definitions in AT_HWCAP. */ +#define PPC_FEATURE_32 0x80000000 /* 32-bit mode. */ +#define PPC_FEATURE_64 0x40000000 /* 64-bit mode. */ +#define PPC_FEATURE_601_INSTR 0x20000000 /* 601 chip, Old POWER ISA. */ +#define PPC_FEATURE_HAS_ALTIVEC 0x10000000 /* SIMD/Vector Unit. */ +#define PPC_FEATURE_HAS_FPU 0x08000000 /* Floating Point Unit. */ +#define PPC_FEATURE_HAS_MMU 0x04000000 /* Memory Management Unit. */ +#define PPC_FEATURE_HAS_4xxMAC 0x02000000 /* 4xx Multiply Accumulator. */ +#define PPC_FEATURE_UNIFIED_CACHE 0x01000000 /* Unified I/D cache. */ +#define PPC_FEATURE_HAS_SPE 0x00800000 /* Signal Processing ext. */ +#define PPC_FEATURE_HAS_EFP_SINGLE 0x00400000 /* SPE Float. */ +#define PPC_FEATURE_HAS_EFP_DOUBLE 0x00200000 /* SPE Double. */ +#define PPC_FEATURE_NO_TB 0x00100000 /* 601/403gx have no timebase */ +#define PPC_FEATURE_POWER4 0x00080000 /* POWER4 ISA 2.00 */ +#define PPC_FEATURE_POWER5 0x00040000 /* POWER5 ISA 2.02 */ +#define PPC_FEATURE_POWER5_PLUS 0x00020000 /* POWER5+ ISA 2.03 */ +#define PPC_FEATURE_CELL_BE 0x00010000 /* CELL Broadband Engine */ +#define PPC_FEATURE_BOOKE 0x00008000 /* ISA Category Embedded */ +#define PPC_FEATURE_SMT 0x00004000 /* Simultaneous + Multi-Threading */ +#define PPC_FEATURE_ICACHE_SNOOP 0x00002000 +#define PPC_FEATURE_ARCH_2_05 0x00001000 /* ISA 2.05 */ +#define PPC_FEATURE_PA6T 0x00000800 /* PA Semi 6T Core */ +#define PPC_FEATURE_HAS_DFP 0x00000400 /* Decimal FP Unit */ +#define PPC_FEATURE_POWER6_EXT 0x00000200 /* P6 + mffgpr/mftgpr */ +#define PPC_FEATURE_ARCH_2_06 0x00000100 /* ISA 2.06 */ +#define PPC_FEATURE_HAS_VSX 0x00000080 /* P7 Vector Extension. */ +#define PPC_FEATURE_PSERIES_PERFMON_COMPAT 0x00000040 +/* Reserved by the kernel. 0x00000004 Do not use. */ +#define PPC_FEATURE_TRUE_LE 0x00000002 +#define PPC_FEATURE_PPC_LE 0x00000001 + +/* Feature definitions in AT_HWCAP2. */ +#define PPC_FEATURE2_ARCH_2_07 0x80000000 /* ISA 2.07 */ +#define PPC_FEATURE2_HAS_HTM 0x40000000 /* Hardware Transactional + Memory */ +#define PPC_FEATURE2_HAS_DSCR 0x20000000 /* Data Stream Control + Register */ +#define PPC_FEATURE2_HAS_EBB 0x10000000 /* Event Base Branching */ +#define PPC_FEATURE2_HAS_ISEL 0x08000000 /* Integer Select */ +#define PPC_FEATURE2_HAS_TAR 0x04000000 /* Target Address Register */ +#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 /* Target supports vector + instruction. */ +#define PPC_FEATURE2_HTM_NOSC 0x01000000 /* Kernel aborts transaction + when a syscall is made. */ +#define PPC_FEATURE2_ARCH_3_00 0x00800000 /* ISA 3.0 */ +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 /* VSX IEEE Binary Float + 128-bit */ +#define PPC_FEATURE2_DARN 0x00200000 /* darn instruction. */ +#define PPC_FEATURE2_SCV 0x00100000 /* scv syscall. */ +#define PPC_FEATURE2_HTM_NO_SUSPEND 0x00080000 /* TM without suspended + state. */ +#define PPC_FEATURE2_ARCH_3_1 0x00040000 /* ISA 3.1. */ +#define PPC_FEATURE2_MMA 0x00020000 /* Matrix-Multiply Assist. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h new file mode 100644 index 00000000..1744e55f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ioctl-types.h @@ -0,0 +1,77 @@ +/* Structure types for pre-termios terminal ioctls. Linux/powerpc version. + Copyright (C) 2014-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Get definition of constants for use with `ioctl'. */ +#include + + +struct winsize + { + unsigned short int ws_row; + unsigned short int ws_col; + unsigned short int ws_xpixel; + unsigned short int ws_ypixel; + }; + +#define NCC 10 +struct termio + { + unsigned short int c_iflag; /* input mode flags */ + unsigned short int c_oflag; /* output mode flags */ + unsigned short int c_cflag; /* control mode flags */ + unsigned short int c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ + +/* line disciplines */ +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ +#define N_HCI 15 /* Bluetooth HCI UART */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h new file mode 100644 index 00000000..06ba7e6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/powerpc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + __uint32_t __seq; /* Sequence number. */ + __uint32_t __pad1; + __uint64_t __glibc_reserved1; + __uint64_t __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h new file mode 100644 index 00000000..49ea731c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/iscanonical.h @@ -0,0 +1,58 @@ +/* Define iscanonical macro. ldbl-128ibm version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _MATH_H +# error "Never use directly; include instead." +#endif + +#if defined (__NO_LONG_DOUBLE_MATH) || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +# define iscanonical(x) ((void) (__typeof (x)) (x), 1) +#else +extern int __iscanonicall (long double __x) + __THROW __attribute__ ((__const__)); +# define __iscanonicalf(x) ((void) (__typeof (x)) (x), 1) +# define __iscanonical(x) ((void) (__typeof (x)) (x), 1) +# if __HAVE_DISTINCT_FLOAT128 +# define __iscanonicalf128(x) ((void) (__typeof (x)) (x), 1) +# endif + +/* Return nonzero value if X is canonical. In IEEE interchange binary + formats, all values are canonical, but the argument must still be + converted to its semantic type for any exceptions arising from the + conversion, before being discarded; in IBM long double, there are + encodings that are not consistently handled as corresponding to any + particular value of the type, and we return 0 for those. */ +# ifndef __cplusplus +# define iscanonical(x) __MATH_TG ((x), __iscanonical, (x)) +# else +/* In C++ mode, __MATH_TG cannot be used, because it relies on + __builtin_types_compatible_p, which is a C-only builtin. On the + other hand, overloading provides the means to distinguish between + the floating-point types. The overloading resolution will match + the correct parameter (regardless of type qualifiers (i.e.: const + and volatile)). */ +extern "C++" { +inline int iscanonical (float __val) { return __iscanonicalf (__val); } +inline int iscanonical (double __val) { return __iscanonical (__val); } +inline int iscanonical (long double __val) { return __iscanonicall (__val); } +# if __HAVE_DISTINCT_FLOAT128 +inline int iscanonical (_Float128 __val) { return __iscanonicalf128 (__val); } +# endif +} +# endif /* __cplusplus */ +#endif /* __NO_LONG_DOUBLE_MATH */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/link.h new file mode 100644 index 00000000..90aaa912 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/link.h @@ -0,0 +1,156 @@ +/* Machine-specific declarations for dynamic linker interface. PowerPC version + Copyright (C) 2004-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + + +#if __ELF_NATIVE_CLASS == 32 + +/* Registers for entry into PLT on PPC32. */ +typedef struct La_ppc32_regs +{ + uint32_t lr_reg[8]; + double lr_fp[8]; + uint32_t lr_vreg[12][4]; + uint32_t lr_r1; + uint32_t lr_lr; +} La_ppc32_regs; + +/* Return values for calls from PLT on PPC32. */ +typedef struct La_ppc32_retval +{ + uint32_t lrv_r3; + uint32_t lrv_r4; + double lrv_fp[8]; + uint32_t lrv_v2[4]; +} La_ppc32_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_ppc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc32_regs *__inregs, + La_ppc32_retval *__outregs, + const char *__symname); + +__END_DECLS + +#elif __ELF_NATIVE_CLASS == 64 +# if _CALL_ELF != 2 + +/* Registers for entry into PLT on PPC64. */ +typedef struct La_ppc64_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4]; + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64_regs; + +/* Return values for calls from PLT on PPC64. */ +typedef struct La_ppc64_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[4]; /* f1-f4, float - complex long double. */ + uint32_t lrv_v2[4]; /* v2. */ +} La_ppc64_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64_regs *__inregs, + La_ppc64_retval *__outregs, + const char *__symname); + +__END_DECLS + +# else + +/* Registers for entry into PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_regs +{ + uint64_t lr_reg[8]; + double lr_fp[13]; + uint32_t __padding; + uint32_t lr_vrsave; + uint32_t lr_vreg[12][4] __attribute__ ((aligned (16))); + uint64_t lr_r1; + uint64_t lr_lr; +} La_ppc64v2_regs; + +/* Return values for calls from PLT on PPC64 in the ELFv2 ABI. */ +typedef struct La_ppc64v2_retval +{ + uint64_t lrv_r3; + uint64_t lrv_r4; + double lrv_fp[10]; + uint32_t lrv_vreg[8][4] __attribute__ ((aligned (16))); +} La_ppc64v2_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_ppc64v2_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_ppc64v2_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_ppc64v2_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_ppc64v2_regs *__inregs, + La_ppc64v2_retval *__outregs, + const char *__symname); + +__END_DECLS + +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..ac3a6686 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/long-double.h @@ -0,0 +1,26 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif + +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI (__LDBL_MANT_DIG__ == 113) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h new file mode 100644 index 00000000..1fc6762a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/mman.h @@ -0,0 +1,51 @@ +/* Definitions for POSIX memory map interface. Linux/PowerPC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + +#define PROT_SAO 0x10 /* Strong Access Ordering. */ + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x00100 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x00800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x01000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x00080 /* Lock the mapping. */ +#define MAP_NORESERVE 0x00040 /* Don't check for reservations. */ +#define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..14652268 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/procfs.h @@ -0,0 +1,49 @@ +/* Types for registers for sys/procfs.h. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include + +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ +#if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#if __WORDSIZE == 32 +# define ELF_NVRREG 33 /* includes vscr */ +#else +# define ELF_NVRREG 34 /* includes vscr */ +#endif + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* Altivec registers */ +typedef struct { + unsigned int u[4]; +} __attribute__ ((__aligned__ (16))) elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 00000000..0b6dcb91 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,21 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/PPC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. At least two pages for systems with 64k + pages. */ +#define PTHREAD_STACK_MIN 131072 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..5ba28090 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux powerpc architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the following trap instruction: + + powerpc-be: 0f e5 00 0b twui r5,11 + powerpc64-le: 0b 00 e5 0f twui r5,11 + powerpc64-be: 0f e5 00 0b twui r5,11 */ + +#define RSEQ_SIG 0x0fe5000b \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..b8774299 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/setjmp.h @@ -0,0 +1,50 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +/* The previous bits/setjmp.h had __jmp_buf defined as a structure. + We use an array of 'long int' instead, to make writing the + assembler easier. Naturally, user code should not depend on + either representation. */ + +#include + +/* The current powerpc 32-bit Altivec ABI specifies for SVR4 ABI and EABI + the vrsave must be at byte 248 & v20 at byte 256. So we must pad this + correctly on 32 bit. It also insists that vecregs are only guaranteed + 4 byte alignment so we need to use vperm in the setjmp/longjmp routines. + We have to version the code because members like int __mask_was_saved + in the jmp_buf will move as jmp_buf is now larger than 248 bytes. We + cannot keep the altivec jmp_buf backward compatible with the jmp_buf. */ +#ifndef _ASM +# if __WORDSIZE == 64 +typedef long int __jmp_buf[64] __attribute__ ((__aligned__ (16))); +# else +/* The alignment is not essential, i.e.the buffer can be copied to a 4 byte + aligned buffer as per the ABI it is just added for performance reasons. */ +typedef long int __jmp_buf[64 + (12 * 4)] __attribute__ ((__aligned__ (16))); +# endif +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h new file mode 100644 index 00000000..cc26e7b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/sigstack.h @@ -0,0 +1,37 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +#ifdef __powerpc64__ +#define MINSIGSTKSZ 8192 +#define SIGSTKSZ 32768 +#else +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 +#endif + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h new file mode 100644 index 00000000..b5b6051a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for POWER. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 1 +#define SO_ACCEPTCONN 30 +#define SO_BROADCAST 6 +#define SO_DONTROUTE 5 +#define SO_ERROR 4 +#define SO_KEEPALIVE 9 +#define SO_LINGER 13 +#define SO_OOBINLINE 10 +#define SO_RCVBUF 8 +#define SO_RCVLOWAT 16 +#define SO_REUSEADDR 2 +#define SO_SNDBUF 7 +#define SO_SNDLOWAT 17 +#define SO_TYPE 3 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 18 +# define SO_SNDTIMEO 19 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 35 +# define SO_TIMESTAMPING 37 +#else +# define SO_RCVTIMEO_OLD 18 +# define SO_SNDTIMEO_OLD 19 +# define SO_RCVTIMEO_NEW 66 +# define SO_SNDTIMEO_NEW 67 + +# define SO_TIMESTAMP_OLD 29 +# define SO_TIMESTAMPNS_OLD 35 +# define SO_TIMESTAMPING_OLD 37 +# define SO_TIMESTAMP_NEW 63 +# define SO_TIMESTAMPNS_NEW 64 +# define SO_TIMESTAMPING_NEW 65 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h new file mode 100644 index 00000000..c7f90aa4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_mutex.h @@ -0,0 +1,63 @@ +/* PowerPC internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if __WORDSIZE == 64 + short __spins; + short __elision; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + struct + { + short __espins; + short __elision; +# define __spins __elision_data.__espins +# define __elision __elision_data.__elision + } __elision_data; + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { { 0, 0 } } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..6ca8f577 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,61 @@ +/* PowerPC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned char __rwelision; + unsigned char __pad1[7]; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, {0, 0, 0, 0, 0, 0, 0 } +#else + unsigned char __rwelision; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +# define __PTHREAD_RWLOCK_ELISION_EXTRA 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..4b2c05e4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/struct_stat.h @@ -0,0 +1,231 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if __WORDSIZE == 32 +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +# endif /* __USE_LARGEFILE64 */ + +#else /* __WORDSIZE == 32 */ + +struct stat + { + __dev_t st_dev; /* Device. */ +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; + +# ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __pad2; + __dev_t st_rdev; /* Device number, if device. */ + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; + unsigned long int __glibc_reserved6; + }; +# endif /* __USE_LARGEFILE64 */ +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h new file mode 100644 index 00000000..b61756d3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-baud.h @@ -0,0 +1,45 @@ +/* termios baud rate selection definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0000377 +# define CBAUDEX 0000020 +# define CMSPAR 010000000000 /* mark or space (stick) parity */ +# define CRTSCTS 020000000000 /* flow control */ +#endif + +#define B57600 00020 +#define B115200 00021 +#define B230400 00022 +#define B460800 00023 +#define B500000 00024 +#define B576000 00025 +#define B921600 00026 +#define B1000000 00027 +#define B1152000 00030 +#define B1500000 00031 +#define B2000000 00032 +#define B2500000 00033 +#define B3000000 00034 +#define B3500000 00035 +#define B4000000 00036 +#define __MAX_BAUD B4000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h new file mode 100644 index 00000000..2a533e98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cc.h @@ -0,0 +1,41 @@ +/* termios c_cc symbolic constant definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VMIN 5 +#define VEOL 6 +#define VTIME 7 +#define VEOL2 8 +#define VSWTC 9 + +#define VWERASE 10 +#define VREPRINT 11 +#define VSUSP 12 +#define VSTART 13 +#define VSTOP 14 +#define VLNEXT 15 +#define VDISCARD 16 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h new file mode 100644 index 00000000..1532bbe4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_cflag.h @@ -0,0 +1,39 @@ +/* termios control mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define CSIZE 00001400 +#define CS5 00000000 +#define CS6 00000400 +#define CS7 00001000 +#define CS8 00001400 + +#define CSTOPB 00002000 +#define CREAD 00004000 +#define PARENB 00010000 +#define PARODD 00020000 +#define HUPCL 00040000 + +#define CLOCAL 00100000 + +#ifdef __USE_MISC +# define ADDRB 04000000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h new file mode 100644 index 00000000..b19f14d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_iflag.h @@ -0,0 +1,38 @@ +/* termios input mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_iflag bits */ +#define IGNBRK 0000001 +#define BRKINT 0000002 +#define IGNPAR 0000004 +#define PARMRK 0000010 +#define INPCK 0000020 +#define ISTRIP 0000040 +#define INLCR 0000100 +#define IGNCR 0000200 +#define ICRNL 0000400 +#define IXON 0001000 +#define IXOFF 0002000 +#define IXANY 0004000 +#define IUCLC 0010000 +#define IMAXBEL 0020000 +#define IUTF8 0040000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h new file mode 100644 index 00000000..28d36181 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_lflag.h @@ -0,0 +1,45 @@ +/* termios local mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_lflag bits */ +#define ISIG 0x00000080 +#define ICANON 0x00000100 +#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K) +# define XCASE 0x00004000 +#endif +#define ECHO 0x00000008 +#define ECHOE 0x00000002 +#define ECHOK 0x00000004 +#define ECHONL 0x00000010 +#define NOFLSH 0x80000000 +#define TOSTOP 0x00400000 +#ifdef __USE_MISC +# define ECHOCTL 0x00000040 +# define ECHOPRT 0x00000020 +# define ECHOKE 0x00000001 +# define FLUSHO 0x00800000 +# define PENDIN 0x20000000 +#endif +#define IEXTEN 0x00000400 +#ifdef __USE_MISC +# define EXTPROC 0x10000000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h new file mode 100644 index 00000000..78844942 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-c_oflag.h @@ -0,0 +1,65 @@ +/* termios output mode definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0000001 +#define ONLCR 0000002 +#define OLCUC 0000004 + +#define OCRNL 0000010 +#define ONOCR 0000020 +#define ONLRET 0000040 + +#define OFILL 00000100 +#define OFDEL 00000200 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 00001400 +# define NL0 00000000 +# define NL1 00000400 +# if defined __USE_MISC +# define NL2 00001000 +# define NL3 00001400 +# endif +# define TABDLY 00006000 +# define TAB0 00000000 +# define TAB1 00002000 +# define TAB2 00004000 +# define TAB3 00006000 +# define CRDLY 00030000 +# define CR0 00000000 +# define CR1 00010000 +# define CR2 00020000 +# define CR3 00030000 +# define FFDLY 00040000 +# define FF0 00000000 +# define FF1 00040000 +# define BSDLY 00100000 +# define BS0 00000000 +# define BS1 00100000 +#endif +#define VTDLY 00200000 +#define VT0 00000000 +#define VT1 00200000 + +#ifdef __USE_MISC +# define XTABS 00006000 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h new file mode 100644 index 00000000..8d350447 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/termios-misc.h @@ -0,0 +1,72 @@ +/* termios baud platform specific definitions. Linux/powerpc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC + +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; + +/* Used for packet mode */ +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 + +/* c_cc characters */ +#define _VINTR 0 +#define _VQUIT 1 +#define _VERASE 2 +#define _VKILL 3 +#define _VEOF 4 +#define _VMIN 5 +#define _VEOL 6 +#define _VTIME 7 +#define _VEOL2 8 +#define _VSWTC 9 + +#endif /* __USE_MISC */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..9cbad9b5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/PowerPC. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..f6b3e4d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/PowerPC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..3b208ff2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* PowerPC implementation of the semaphore struct semid_ds. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..2ed27e03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/types/struct_shmid_ds.h @@ -0,0 +1,50 @@ +/* Linux/PowerPC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ + unsigned long int __glibc_reserved4; +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..47bb8610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. PowerPC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __LP64__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for rlim_t and rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..7b51c673 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __powerpc64__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h new file mode 100644 index 00000000..cdedca96 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/fpu_control.h @@ -0,0 +1,114 @@ +/* FPU control word definitions. PowerPC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT) +# error "SPE/e500 is no longer supported" +#endif + +#ifdef _SOFT_FLOAT + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 /* Default value. */ +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) (void) (cw) +extern fpu_control_t __fpu_control; + +#else /* PowerPC 6xx floating-point. */ + +/* rounding control */ +# define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */ +# define _FPU_RC_DOWN 0x03 +# define _FPU_RC_UP 0x02 +# define _FPU_RC_ZERO 0x01 + +# define _FPU_MASK_RC (_FPU_RC_NEAREST|_FPU_RC_DOWN|_FPU_RC_UP|_FPU_RC_ZERO) + +# define _FPU_MASK_NI 0x04 /* non-ieee mode */ + +/* masking of interrupts */ +# define _FPU_MASK_ZM 0x10 /* zero divide */ +# define _FPU_MASK_OM 0x40 /* overflow */ +# define _FPU_MASK_UM 0x20 /* underflow */ +# define _FPU_MASK_XM 0x08 /* inexact */ +# define _FPU_MASK_IM 0x80 /* invalid operation */ + +# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */ + +/* The fdlibm code requires no interrupts for exceptions. */ +# define _FPU_DEFAULT 0x00000000 /* Default value. */ + +/* IEEE: same as above, but (some) exceptions; + we leave the 'inexact' exception off. + */ +# define _FPU_IEEE 0x000000f0 + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__("mffs %0" : "=f" (__u.__d)); \ + (cw) = (fpu_control_t) __u.__ll; \ + (fpu_control_t) __u.__ll; \ + }) + +# define _FPU_GET_RC_ISA300() \ + ({union { double __d; unsigned long long __ll; } __u; \ + __asm__ __volatile__( \ + ".machine push; .machine \"power9\"; mffsl %0; .machine pop" \ + : "=f" (__u.__d)); \ + (fpu_control_t) (__u.__ll & _FPU_MASK_RC); \ + }) + +# ifdef _ARCH_PWR9 +# define _FPU_GET_RC() _FPU_GET_RC_ISA300() +# elif defined __BUILTIN_CPU_SUPPORTS__ +# define _FPU_GET_RC() \ + ({fpu_control_t __rc; \ + __rc = __glibc_likely (__builtin_cpu_supports ("arch_3_00")) \ + ? _FPU_GET_RC_ISA300 () \ + : _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# else +# define _FPU_GET_RC() \ + ({fpu_control_t __rc = _FPU_GETCW (__rc) & _FPU_MASK_RC; \ + __rc; \ + }) +# endif + +# define _FPU_SETCW(cw) \ + { union { double __d; unsigned long long __ll; } __u; \ + register double __fr; \ + __u.__ll = 0xfff80000LL << 32; /* This is a QNaN. */ \ + __u.__ll |= (cw) & 0xffffffffLL; \ + __fr = __u.__d; \ + __asm__ __volatile__("mtfsf 255,%0" : : "f" (__fr)); \ + } + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* PowerPC 6xx floating-point. */ + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h new file mode 100644 index 00000000..36329b69 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names-64-v2.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD64_SO "ld64.so.2" +#define LD_SO "ld64.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..a6fbab80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/lib-names.h @@ -0,0 +1,19 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h new file mode 100644 index 00000000..636dc732 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs-64-v2.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub_chflags +#define __stub_fchflags +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..d130565a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/gnu/stubs.h @@ -0,0 +1,15 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF != 2 +# include +#endif +#if __WORDSIZE == 64 && _CALL_ELF == 2 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/ieee754.h new file mode 100644 index 00000000..38008b56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/ieee754.h @@ -0,0 +1,197 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 +/* long double is IEEE 128 bit */ +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ +#endif + + +#if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 0 || __GNUC_PREREQ (7, 0) +/* IBM extended format for long double. + + Each long double is made up of two IEEE doubles. The value of the + long double is the sum of the values of the two parts. The most + significant part is required to be the value of the long double + rounded to the nearest double, as specified by IEEE. For Inf + values, the least significant part is required to be one of +0.0 or + -0.0. No other requirements are made; so, for example, 1.0 may be + represented as (1.0, +0.0) or (1.0, -0.0), and the low part of a + NaN is don't-care. */ +union ibm_extended_long_double + { +# if __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 && __GNUC_PREREQ (7, 0) + __ibm128 ld; +# else + long double ld; +# endif + union ieee754_double d[2]; + }; +#endif + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h new file mode 100644 index 00000000..99cf115c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ptrace.h @@ -0,0 +1,289 @@ +/* `ptrace' debugger support interface. Linux/PowerPC version. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS + +#if defined _LINUX_PTRACE_H || defined _ASM_POWERPC_PTRACE_H +/* Do not let Linux headers macros interfere with enum __ptrace_request. */ +# undef PTRACE_ATTACH +# undef PTRACE_CONT +# undef PTRACE_DETACH +# undef PTRACE_GET_DEBUGREG +# undef PTRACE_GETEVENTMSG +# undef PTRACE_GETEVRREGS +# undef PTRACE_GETFPREGS +# undef PTRACE_GETREGS +# undef PTRACE_GETREGS64 +# undef PTRACE_GETREGSET +# undef PTRACE_GET_RSEQ_CONFIGURATION +# undef PTRACE_GETSIGINFO +# undef PTRACE_GETSIGMASK +# undef PTRACE_GET_SYSCALL_INFO +# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_GETVRREGS +# undef PTRACE_GETVSRREGS +# undef PTRACE_INTERRUPT +# undef PTRACE_KILL +# undef PTRACE_LISTEN +# undef PTRACE_PEEKDATA +# undef PTRACE_PEEKSIGINFO +# undef PTRACE_PEEKTEXT +# undef PTRACE_POKEDATA +# undef PTRACE_POKETEXT +# undef PTRACE_SECCOMP_GET_FILTER +# undef PTRACE_SECCOMP_GET_METADATA +# undef PTRACE_SEIZE +# undef PTRACE_SET_DEBUGREG +# undef PTRACE_SETEVRREGS +# undef PTRACE_SETFPREGS +# undef PTRACE_SETOPTIONS +# undef PTRACE_SETREGS +# undef PTRACE_SETREGS64 +# undef PTRACE_SETREGSET +# undef PTRACE_SETSIGINFO +# undef PTRACE_SETSIGMASK +# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_SETVRREGS +# undef PTRACE_SETVSRREGS +# undef PTRACE_SINGLEBLOCK +# undef PTRACE_SINGLESTEP +# undef PTRACE_SYSCALL +# undef PTRACE_SYSCALL_INFO_NONE +# undef PTRACE_SYSCALL_INFO_ENTRY +# undef PTRACE_SYSCALL_INFO_EXIT +# undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_SYSEMU +# undef PTRACE_SYSEMU_SINGLESTEP +# undef PTRACE_TRACEME +#endif + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Get all general purpose registers used by a process. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a process. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a process. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a process. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Get all altivec registers used by a process. */ + PTRACE_GETVRREGS = 18, +#define PT_GETVRREGS PTRACE_GETVRREGS + + /* Set all altivec registers used by a process. */ + PTRACE_SETVRREGS = 19, +#define PT_SETVRREGS PTRACE_SETVRREGS + + /* Get all SPE registers used by a process. */ + PTRACE_GETEVRREGS = 20, +#define PT_GETEVRREGS PTRACE_GETEVRREGS + + /* Set all SPE registers used by a process. */ + PTRACE_SETEVRREGS = 21, +#define PT_SETEVRREGS PTRACE_SETEVRREGS + + /* Same as PTRACE_GETREGS except a 32-bit process will obtain + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_GETREGS64 = 22, +#define PT_GETREGS64 PTRACE_GETREGS64 + + /* Same as PTRACE_SETREGS except a 32-bit process will set + the full 64-bit registers. Implemented by 64-bit kernels only. */ + PTRACE_SETREGS64 = 23, +#define PT_SETREGS64 PTRACE_SETREGS64 + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Get a debug register of a process. */ + PTRACE_GET_DEBUGREG = 25, +#define PT_GET_DEBUGREG PTRACE_GET_DEBUGREG + + /* Set a debug register of a process. */ + PTRACE_SET_DEBUGREG = 26, +#define PT_SET_DEBUGREG PTRACE_SET_DEBUGREG + + /* Get the first 32 VSX registers of a process. */ + PTRACE_GETVSRREGS = 27, +#define PT_GETVSRREGS PTRACE_GETVSRREGS + + /* Set the first 32 VSX registers of a process. */ + PTRACE_SETVSRREGS = 28, +#define PT_SETVSRREGS PTRACE_SETVSRREGS + + /* Continue and stop at the next syscall, it will not be executed. */ + PTRACE_SYSEMU = 29, +#define PT_SYSEMU PTRACE_SYSEMU + + /* Single step the process, the next syscall will not be executed. */ + PTRACE_SYSEMU_SINGLESTEP = 30, +#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 256, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..7d354e52 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/ucontext.h @@ -0,0 +1,200 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +struct __ctx(pt_regs); + +#if __WORDSIZE == 32 + +/* Number of general registers. */ +# define __NGREG 48 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif + +/* Container for all general registers. */ +typedef unsigned long gregset_t[__NGREG]; + +/* Container for floating-point registers and status */ +typedef struct _libc_fpstate +{ + double __ctx(fpregs)[32]; + double __ctx(fpscr); + unsigned int _pad[2]; +} fpregset_t; + +/* Container for Altivec/VMX registers and status. + Needs to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + unsigned int __ctx(vrsave); + unsigned int _pad[2]; + unsigned int __ctx(vscr); +} vrregset_t; + +/* Context to describe whole processor state. */ +typedef struct +{ + gregset_t __ctx(gregs); + fpregset_t __ctx(fpregs); + vrregset_t __ctx(vrregs) __attribute__((__aligned__(16))); +} mcontext_t; + +#else + +/* For 64-bit kernels with Altivec support, a machine context is exactly + * a sigcontext. For older kernel (without Altivec) the sigcontext matches + * the mcontext upto but not including the v_regs field. For kernels that + * don't set AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the + * v_regs field may not exist and should not be referenced. The v_regs field + * can be referenced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC + * is set in AT_HWCAP. */ + +/* Number of general registers. */ +# define __NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ +# define __NFPREG 33 /* includes fp0-fp31 &fpscr. */ +# define __NVRREG 34 /* includes v0-v31, vscr, & vrsave in + split vectors */ +# ifdef __USE_MISC +# define NGREG __NGREG +# define NFPREG __NFPREG +# define NVRREG __NVRREG +# endif + +typedef unsigned long gregset_t[__NGREG]; +typedef double fpregset_t[__NFPREG]; + +/* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits + but can only be copied to/from a 128-bit vector register. So we allocated + a whole quadword speedup save/restore. */ +typedef struct _libc_vscr +{ +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + unsigned int __pad[3]; + unsigned int __ctx(vscr_word); +#else + unsigned int __ctx(vscr_word); + unsigned int __pad[3]; +#endif +} vscr_t; + +/* Container for Altivec/VMX registers and status. + Must to be aligned on a 16-byte boundary. */ +typedef struct _libc_vrstate +{ + unsigned int __ctx(vrregs)[32][4]; + vscr_t __ctx(vscr); + unsigned int __ctx(vrsave); + unsigned int __pad[3]; +} vrregset_t __attribute__((__aligned__(16))); + +typedef struct { + unsigned long __glibc_reserved[4]; + int __ctx(signal); + int __pad0; + unsigned long __ctx(handler); + unsigned long __ctx(oldmask); + struct __ctx(pt_regs) *__ctx(regs); + gregset_t __ctx(gp_regs); + fpregset_t __ctx(fp_regs); +/* + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 69 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the + * address of the first quadword within the allocated (vmx_reserve) area. + * + * The pointer (v_regs) of vector type (elf_vrreg_t) is essentially + * an array of 34 quadword entries. The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) + * within the quadword. + */ + vrregset_t *__ctx(v_regs); + long __ctx(vmx_reserve)[__NVRREG+__NVRREG+1]; +} mcontext_t; + +#endif + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; +#if __WORDSIZE == 32 + /* + * These fields are set up this way to maximize source and + * binary compatibility with code written for the old + * ucontext_t definition, which didn't include space for the + * registers. + * + * Different versions of the kernel have stored the registers on + * signal delivery at different offsets from the ucontext struct. + * Programs should thus use the uc_mcontext.uc_regs pointer to + * find where the registers are actually stored. The registers + * will be stored within the ucontext_t struct but not necessarily + * at a fixed address. As a side-effect, this lets us achieve + * 16-byte alignment for the register storage space if the + * Altivec registers are to be saved, without requiring 16-byte + * alignment on the whole ucontext_t. + * + * The uc_mcontext.regs field is included for source compatibility + * with programs written against the older ucontext_t definition, + * and its name should therefore not change. The uc_pad field + * is for binary compatibility with programs compiled against the + * old ucontext_t; it ensures that uc_mcontext.regs and uc_sigmask + * are at the same offset as previously. + */ + int __glibc_reserved1[7]; + union __ctx(uc_regs_ptr) { + struct __ctx(pt_regs) *__ctx(regs); + mcontext_t *__ctx(uc_regs); + } uc_mcontext; + sigset_t uc_sigmask; + /* last for extensibility */ + char __ctx(uc_reg_space)[sizeof (mcontext_t) + 12]; +#else /* 64-bit */ + sigset_t uc_sigmask; + mcontext_t uc_mcontext; /* last for extensibility */ +#endif + } ucontext_t; + +#undef __ctx + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/user.h new file mode 100644 index 00000000..19396e1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/powerpc64le-linux-gnu/sys/user.h @@ -0,0 +1,40 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H + +#define _SYS_USER_H 1 +#include +#include + +#include + +struct user { + struct pt_regs regs; /* entire machine state */ + size_t u_tsize; /* text size (pages) */ + size_t u_dsize; /* data size (pages) */ + size_t u_ssize; /* stack size (pages) */ + unsigned long start_code; /* text starting address */ + unsigned long start_data; /* data starting address */ + unsigned long start_stack; /* stack starting address */ + long int signal; /* signal causing core dump */ + struct regs * u_ar0; /* help gdb find registers */ + unsigned long magic; /* identifies a core file */ + char u_comm[32]; /* user command name */ +}; + +#endif /* sys/user.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/auxvec.h new file mode 100644 index 00000000..ce87d183 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/auxvec.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 ARM Ltd. + * Copyright (C) 2015 Regents of the University of California + */ + +#ifndef _ASM_RISCV_AUXVEC_H +#define _ASM_RISCV_AUXVEC_H + +/* vDSO location */ +#define AT_SYSINFO_EHDR 33 + +/* + * The set of entries below represent more extensive information + * about the caches, in the form of two entry per cache type, + * one entry containing the cache size in bytes, and the other + * containing the cache line size in bytes in the bottom 16 bits + * and the cache associativity in the next 16 bits. + * + * The associativity is such that if N is the 16-bit value, the + * cache is N way set associative. A value if 0xffff means fully + * associative, a value of 1 means directly mapped. + * + * For all these fields, a value of 0 means that the information + * is not known. + */ +#define AT_L1I_CACHESIZE 40 +#define AT_L1I_CACHEGEOMETRY 41 +#define AT_L1D_CACHESIZE 42 +#define AT_L1D_CACHEGEOMETRY 43 +#define AT_L2_CACHESIZE 44 +#define AT_L2_CACHEGEOMETRY 45 +#define AT_L3_CACHESIZE 46 +#define AT_L3_CACHEGEOMETRY 47 + +/* entries in ARCH_DLINFO */ +#define AT_VECTOR_SIZE_ARCH 10 +#define AT_MINSIGSTKSZ 51 + +#endif /* _ASM_RISCV_AUXVEC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..2c65e8e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bitsperlong.h @@ -0,0 +1,14 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 ARM Ltd. + * Copyright (C) 2015 Regents of the University of California + */ + +#ifndef _ASM_RISCV_BITSPERLONG_H +#define _ASM_RISCV_BITSPERLONG_H + +#define __BITS_PER_LONG (__SIZEOF_POINTER__ * 8) + +#include + +#endif /* _ASM_RISCV_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bpf_perf_event.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bpf_perf_event.h new file mode 100644 index 00000000..0ca42307 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/bpf_perf_event.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_BPF_PERF_EVENT_H__ +#define __ASM_BPF_PERF_EVENT_H__ + +#include + +typedef struct user_regs_struct bpf_user_pt_regs_t; + +#endif /* __ASM_BPF_PERF_EVENT_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/byteorder.h new file mode 100644 index 00000000..7e953e66 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/byteorder.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 ARM Ltd. + * Copyright (C) 2015 Regents of the University of California + */ + +#ifndef _ASM_RISCV_BYTEORDER_H +#define _ASM_RISCV_BYTEORDER_H + +#include + +#endif /* _ASM_RISCV_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/elf.h new file mode 100644 index 00000000..b63aa784 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/elf.h @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2003 Matjaz Breskvar + * Copyright (C) 2010-2011 Jonas Bonn + * Copyright (C) 2012 Regents of the University of California + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +#ifndef _ASM_RISCV_ELF_H +#define _ASM_RISCV_ELF_H + +#include + +/* ELF register definitions */ +typedef unsigned long elf_greg_t; +typedef struct user_regs_struct elf_gregset_t; +#define ELF_NGREG (sizeof(elf_gregset_t) / sizeof(elf_greg_t)) + +/* We don't support f without d, or q. */ +typedef __u64 elf_fpreg_t; +typedef union __riscv_fp_state elf_fpregset_t; +#define ELF_NFPREG (sizeof(struct __riscv_d_ext_state) / sizeof(elf_fpreg_t)) + +#if __riscv_xlen == 64 +#define ELF_RISCV_R_SYM(r_info) ELF64_R_SYM(r_info) +#define ELF_RISCV_R_TYPE(r_info) ELF64_R_TYPE(r_info) +#else +#define ELF_RISCV_R_SYM(r_info) ELF32_R_SYM(r_info) +#define ELF_RISCV_R_TYPE(r_info) ELF32_R_TYPE(r_info) +#endif + +/* + * RISC-V relocation types + */ + +/* Relocation types used by the dynamic linker */ +#define R_RISCV_NONE 0 +#define R_RISCV_32 1 +#define R_RISCV_64 2 +#define R_RISCV_RELATIVE 3 +#define R_RISCV_COPY 4 +#define R_RISCV_JUMP_SLOT 5 +#define R_RISCV_TLS_DTPMOD32 6 +#define R_RISCV_TLS_DTPMOD64 7 +#define R_RISCV_TLS_DTPREL32 8 +#define R_RISCV_TLS_DTPREL64 9 +#define R_RISCV_TLS_TPREL32 10 +#define R_RISCV_TLS_TPREL64 11 +#define R_RISCV_IRELATIVE 58 + +/* Relocation types not used by the dynamic linker */ +#define R_RISCV_BRANCH 16 +#define R_RISCV_JAL 17 +#define R_RISCV_CALL 18 +#define R_RISCV_CALL_PLT 19 +#define R_RISCV_GOT_HI20 20 +#define R_RISCV_TLS_GOT_HI20 21 +#define R_RISCV_TLS_GD_HI20 22 +#define R_RISCV_PCREL_HI20 23 +#define R_RISCV_PCREL_LO12_I 24 +#define R_RISCV_PCREL_LO12_S 25 +#define R_RISCV_HI20 26 +#define R_RISCV_LO12_I 27 +#define R_RISCV_LO12_S 28 +#define R_RISCV_TPREL_HI20 29 +#define R_RISCV_TPREL_LO12_I 30 +#define R_RISCV_TPREL_LO12_S 31 +#define R_RISCV_TPREL_ADD 32 +#define R_RISCV_ADD8 33 +#define R_RISCV_ADD16 34 +#define R_RISCV_ADD32 35 +#define R_RISCV_ADD64 36 +#define R_RISCV_SUB8 37 +#define R_RISCV_SUB16 38 +#define R_RISCV_SUB32 39 +#define R_RISCV_SUB64 40 +#define R_RISCV_GNU_VTINHERIT 41 +#define R_RISCV_GNU_VTENTRY 42 +#define R_RISCV_ALIGN 43 +#define R_RISCV_RVC_BRANCH 44 +#define R_RISCV_RVC_JUMP 45 +#define R_RISCV_GPREL_I 47 +#define R_RISCV_GPREL_S 48 +#define R_RISCV_TPREL_I 49 +#define R_RISCV_TPREL_S 50 +#define R_RISCV_RELAX 51 +#define R_RISCV_SUB6 52 +#define R_RISCV_SET6 53 +#define R_RISCV_SET8 54 +#define R_RISCV_SET16 55 +#define R_RISCV_SET32 56 +#define R_RISCV_32_PCREL 57 +#define R_RISCV_PLT32 59 +#define R_RISCV_SET_ULEB128 60 +#define R_RISCV_SUB_ULEB128 61 + + +#endif /* _ASM_RISCV_ELF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwcap.h new file mode 100644 index 00000000..27878be8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwcap.h @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copied from arch/arm64/include/asm/hwcap.h + * + * Copyright (C) 2012 ARM Ltd. + * Copyright (C) 2017 SiFive + */ +#ifndef _ASM_RISCV_HWCAP_H +#define _ASM_RISCV_HWCAP_H + +/* + * Linux saves the floating-point registers according to the ISA Linux is + * executing on, as opposed to the ISA the user program is compiled for. This + * is necessary for a handful of esoteric use cases: for example, userspace + * threading libraries must be able to examine the actual machine state in + * order to fully reconstruct the state of a thread. + */ +#define COMPAT_HWCAP_ISA_I (1 << ('I' - 'A')) +#define COMPAT_HWCAP_ISA_M (1 << ('M' - 'A')) +#define COMPAT_HWCAP_ISA_A (1 << ('A' - 'A')) +#define COMPAT_HWCAP_ISA_F (1 << ('F' - 'A')) +#define COMPAT_HWCAP_ISA_D (1 << ('D' - 'A')) +#define COMPAT_HWCAP_ISA_C (1 << ('C' - 'A')) +#define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A')) + +#endif /* _ASM_RISCV_HWCAP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwprobe.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwprobe.h new file mode 100644 index 00000000..7587739e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/hwprobe.h @@ -0,0 +1,102 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright 2023 Rivos, Inc + */ + +#ifndef _ASM_HWPROBE_H +#define _ASM_HWPROBE_H + +#include + +/* + * Interface for probing hardware capabilities from userspace, see + * Documentation/arch/riscv/hwprobe.rst for more information. + */ +struct riscv_hwprobe { + __s64 key; + __u64 value; +}; + +#define RISCV_HWPROBE_KEY_MVENDORID 0 +#define RISCV_HWPROBE_KEY_MARCHID 1 +#define RISCV_HWPROBE_KEY_MIMPID 2 +#define RISCV_HWPROBE_KEY_BASE_BEHAVIOR 3 +#define RISCV_HWPROBE_BASE_BEHAVIOR_IMA (1 << 0) +#define RISCV_HWPROBE_KEY_IMA_EXT_0 4 +#define RISCV_HWPROBE_IMA_FD (1 << 0) +#define RISCV_HWPROBE_IMA_C (1 << 1) +#define RISCV_HWPROBE_IMA_V (1 << 2) +#define RISCV_HWPROBE_EXT_ZBA (1 << 3) +#define RISCV_HWPROBE_EXT_ZBB (1 << 4) +#define RISCV_HWPROBE_EXT_ZBS (1 << 5) +#define RISCV_HWPROBE_EXT_ZICBOZ (1 << 6) +#define RISCV_HWPROBE_EXT_ZBC (1 << 7) +#define RISCV_HWPROBE_EXT_ZBKB (1 << 8) +#define RISCV_HWPROBE_EXT_ZBKC (1 << 9) +#define RISCV_HWPROBE_EXT_ZBKX (1 << 10) +#define RISCV_HWPROBE_EXT_ZKND (1 << 11) +#define RISCV_HWPROBE_EXT_ZKNE (1 << 12) +#define RISCV_HWPROBE_EXT_ZKNH (1 << 13) +#define RISCV_HWPROBE_EXT_ZKSED (1 << 14) +#define RISCV_HWPROBE_EXT_ZKSH (1 << 15) +#define RISCV_HWPROBE_EXT_ZKT (1 << 16) +#define RISCV_HWPROBE_EXT_ZVBB (1 << 17) +#define RISCV_HWPROBE_EXT_ZVBC (1 << 18) +#define RISCV_HWPROBE_EXT_ZVKB (1 << 19) +#define RISCV_HWPROBE_EXT_ZVKG (1 << 20) +#define RISCV_HWPROBE_EXT_ZVKNED (1 << 21) +#define RISCV_HWPROBE_EXT_ZVKNHA (1 << 22) +#define RISCV_HWPROBE_EXT_ZVKNHB (1 << 23) +#define RISCV_HWPROBE_EXT_ZVKSED (1 << 24) +#define RISCV_HWPROBE_EXT_ZVKSH (1 << 25) +#define RISCV_HWPROBE_EXT_ZVKT (1 << 26) +#define RISCV_HWPROBE_EXT_ZFH (1 << 27) +#define RISCV_HWPROBE_EXT_ZFHMIN (1 << 28) +#define RISCV_HWPROBE_EXT_ZIHINTNTL (1 << 29) +#define RISCV_HWPROBE_EXT_ZVFH (1 << 30) +#define RISCV_HWPROBE_EXT_ZVFHMIN (1ULL << 31) +#define RISCV_HWPROBE_EXT_ZFA (1ULL << 32) +#define RISCV_HWPROBE_EXT_ZTSO (1ULL << 33) +#define RISCV_HWPROBE_EXT_ZACAS (1ULL << 34) +#define RISCV_HWPROBE_EXT_ZICOND (1ULL << 35) +#define RISCV_HWPROBE_EXT_ZIHINTPAUSE (1ULL << 36) +#define RISCV_HWPROBE_EXT_ZVE32X (1ULL << 37) +#define RISCV_HWPROBE_EXT_ZVE32F (1ULL << 38) +#define RISCV_HWPROBE_EXT_ZVE64X (1ULL << 39) +#define RISCV_HWPROBE_EXT_ZVE64F (1ULL << 40) +#define RISCV_HWPROBE_EXT_ZVE64D (1ULL << 41) +#define RISCV_HWPROBE_EXT_ZIMOP (1ULL << 42) +#define RISCV_HWPROBE_EXT_ZCA (1ULL << 43) +#define RISCV_HWPROBE_EXT_ZCB (1ULL << 44) +#define RISCV_HWPROBE_EXT_ZCD (1ULL << 45) +#define RISCV_HWPROBE_EXT_ZCF (1ULL << 46) +#define RISCV_HWPROBE_EXT_ZCMOP (1ULL << 47) +#define RISCV_HWPROBE_EXT_ZAWRS (1ULL << 48) +#define RISCV_HWPROBE_EXT_SUPM (1ULL << 49) +#define RISCV_HWPROBE_KEY_CPUPERF_0 5 +#define RISCV_HWPROBE_MISALIGNED_UNKNOWN (0 << 0) +#define RISCV_HWPROBE_MISALIGNED_EMULATED (1 << 0) +#define RISCV_HWPROBE_MISALIGNED_SLOW (2 << 0) +#define RISCV_HWPROBE_MISALIGNED_FAST (3 << 0) +#define RISCV_HWPROBE_MISALIGNED_UNSUPPORTED (4 << 0) +#define RISCV_HWPROBE_MISALIGNED_MASK (7 << 0) +#define RISCV_HWPROBE_KEY_ZICBOZ_BLOCK_SIZE 6 +#define RISCV_HWPROBE_KEY_HIGHEST_VIRT_ADDRESS 7 +#define RISCV_HWPROBE_KEY_TIME_CSR_FREQ 8 +#define RISCV_HWPROBE_KEY_MISALIGNED_SCALAR_PERF 9 +#define RISCV_HWPROBE_MISALIGNED_SCALAR_UNKNOWN 0 +#define RISCV_HWPROBE_MISALIGNED_SCALAR_EMULATED 1 +#define RISCV_HWPROBE_MISALIGNED_SCALAR_SLOW 2 +#define RISCV_HWPROBE_MISALIGNED_SCALAR_FAST 3 +#define RISCV_HWPROBE_MISALIGNED_SCALAR_UNSUPPORTED 4 +#define RISCV_HWPROBE_KEY_MISALIGNED_VECTOR_PERF 10 +#define RISCV_HWPROBE_MISALIGNED_VECTOR_UNKNOWN 0 +#define RISCV_HWPROBE_MISALIGNED_VECTOR_SLOW 2 +#define RISCV_HWPROBE_MISALIGNED_VECTOR_FAST 3 +#define RISCV_HWPROBE_MISALIGNED_VECTOR_UNSUPPORTED 4 +/* Increase RISCV_HWPROBE_MAX_KEY when adding items. */ + +/* Flags */ +#define RISCV_HWPROBE_WHICH_CPUS (1 << 0) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/kvm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/kvm.h new file mode 100644 index 00000000..4fe36610 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/kvm.h @@ -0,0 +1,370 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2019 Western Digital Corporation or its affiliates. + * + * Authors: + * Anup Patel + */ + +#ifndef __LINUX_KVM_RISCV_H +#define __LINUX_KVM_RISCV_H + +#ifndef __ASSEMBLY__ + +#include +#include +#include + +#define __KVM_HAVE_IRQ_LINE + +#define KVM_COALESCED_MMIO_PAGE_OFFSET 1 + +#define KVM_INTERRUPT_SET -1U +#define KVM_INTERRUPT_UNSET -2U + +/* for KVM_GET_REGS and KVM_SET_REGS */ +struct kvm_regs { +}; + +/* for KVM_GET_FPU and KVM_SET_FPU */ +struct kvm_fpu { +}; + +/* KVM Debug exit structure */ +struct kvm_debug_exit_arch { +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { +}; + +/* definition of registers in kvm_run */ +struct kvm_sync_regs { +}; + +/* for KVM_GET_SREGS and KVM_SET_SREGS */ +struct kvm_sregs { +}; + +/* CONFIG registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_config { + unsigned long isa; + unsigned long zicbom_block_size; + unsigned long mvendorid; + unsigned long marchid; + unsigned long mimpid; + unsigned long zicboz_block_size; + unsigned long satp_mode; +}; + +/* CORE registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_core { + struct user_regs_struct regs; + unsigned long mode; +}; + +/* Possible privilege modes for kvm_riscv_core */ +#define KVM_RISCV_MODE_S 1 +#define KVM_RISCV_MODE_U 0 + +/* General CSR registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_csr { + unsigned long sstatus; + unsigned long sie; + unsigned long stvec; + unsigned long sscratch; + unsigned long sepc; + unsigned long scause; + unsigned long stval; + unsigned long sip; + unsigned long satp; + unsigned long scounteren; + unsigned long senvcfg; +}; + +/* AIA CSR registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_aia_csr { + unsigned long siselect; + unsigned long iprio1; + unsigned long iprio2; + unsigned long sieh; + unsigned long siph; + unsigned long iprio1h; + unsigned long iprio2h; +}; + +/* Smstateen CSR for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_smstateen_csr { + unsigned long sstateen0; +}; + +/* TIMER registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_timer { + __u64 frequency; + __u64 time; + __u64 compare; + __u64 state; +}; + +/* + * ISA extension IDs specific to KVM. This is not the same as the host ISA + * extension IDs as that is internal to the host and should not be exposed + * to the guest. This should always be contiguous to keep the mapping simple + * in KVM implementation. + */ +enum KVM_RISCV_ISA_EXT_ID { + KVM_RISCV_ISA_EXT_A = 0, + KVM_RISCV_ISA_EXT_C, + KVM_RISCV_ISA_EXT_D, + KVM_RISCV_ISA_EXT_F, + KVM_RISCV_ISA_EXT_H, + KVM_RISCV_ISA_EXT_I, + KVM_RISCV_ISA_EXT_M, + KVM_RISCV_ISA_EXT_SVPBMT, + KVM_RISCV_ISA_EXT_SSTC, + KVM_RISCV_ISA_EXT_SVINVAL, + KVM_RISCV_ISA_EXT_ZIHINTPAUSE, + KVM_RISCV_ISA_EXT_ZICBOM, + KVM_RISCV_ISA_EXT_ZICBOZ, + KVM_RISCV_ISA_EXT_ZBB, + KVM_RISCV_ISA_EXT_SSAIA, + KVM_RISCV_ISA_EXT_V, + KVM_RISCV_ISA_EXT_SVNAPOT, + KVM_RISCV_ISA_EXT_ZBA, + KVM_RISCV_ISA_EXT_ZBS, + KVM_RISCV_ISA_EXT_ZICNTR, + KVM_RISCV_ISA_EXT_ZICSR, + KVM_RISCV_ISA_EXT_ZIFENCEI, + KVM_RISCV_ISA_EXT_ZIHPM, + KVM_RISCV_ISA_EXT_SMSTATEEN, + KVM_RISCV_ISA_EXT_ZICOND, + KVM_RISCV_ISA_EXT_ZBC, + KVM_RISCV_ISA_EXT_ZBKB, + KVM_RISCV_ISA_EXT_ZBKC, + KVM_RISCV_ISA_EXT_ZBKX, + KVM_RISCV_ISA_EXT_ZKND, + KVM_RISCV_ISA_EXT_ZKNE, + KVM_RISCV_ISA_EXT_ZKNH, + KVM_RISCV_ISA_EXT_ZKR, + KVM_RISCV_ISA_EXT_ZKSED, + KVM_RISCV_ISA_EXT_ZKSH, + KVM_RISCV_ISA_EXT_ZKT, + KVM_RISCV_ISA_EXT_ZVBB, + KVM_RISCV_ISA_EXT_ZVBC, + KVM_RISCV_ISA_EXT_ZVKB, + KVM_RISCV_ISA_EXT_ZVKG, + KVM_RISCV_ISA_EXT_ZVKNED, + KVM_RISCV_ISA_EXT_ZVKNHA, + KVM_RISCV_ISA_EXT_ZVKNHB, + KVM_RISCV_ISA_EXT_ZVKSED, + KVM_RISCV_ISA_EXT_ZVKSH, + KVM_RISCV_ISA_EXT_ZVKT, + KVM_RISCV_ISA_EXT_ZFH, + KVM_RISCV_ISA_EXT_ZFHMIN, + KVM_RISCV_ISA_EXT_ZIHINTNTL, + KVM_RISCV_ISA_EXT_ZVFH, + KVM_RISCV_ISA_EXT_ZVFHMIN, + KVM_RISCV_ISA_EXT_ZFA, + KVM_RISCV_ISA_EXT_ZTSO, + KVM_RISCV_ISA_EXT_ZACAS, + KVM_RISCV_ISA_EXT_SSCOFPMF, + KVM_RISCV_ISA_EXT_ZIMOP, + KVM_RISCV_ISA_EXT_ZCA, + KVM_RISCV_ISA_EXT_ZCB, + KVM_RISCV_ISA_EXT_ZCD, + KVM_RISCV_ISA_EXT_ZCF, + KVM_RISCV_ISA_EXT_ZCMOP, + KVM_RISCV_ISA_EXT_ZAWRS, + KVM_RISCV_ISA_EXT_SMNPM, + KVM_RISCV_ISA_EXT_SSNPM, + KVM_RISCV_ISA_EXT_SVADE, + KVM_RISCV_ISA_EXT_SVADU, + KVM_RISCV_ISA_EXT_MAX, +}; + +/* + * SBI extension IDs specific to KVM. This is not the same as the SBI + * extension IDs defined by the RISC-V SBI specification. + */ +enum KVM_RISCV_SBI_EXT_ID { + KVM_RISCV_SBI_EXT_V01 = 0, + KVM_RISCV_SBI_EXT_TIME, + KVM_RISCV_SBI_EXT_IPI, + KVM_RISCV_SBI_EXT_RFENCE, + KVM_RISCV_SBI_EXT_SRST, + KVM_RISCV_SBI_EXT_HSM, + KVM_RISCV_SBI_EXT_PMU, + KVM_RISCV_SBI_EXT_EXPERIMENTAL, + KVM_RISCV_SBI_EXT_VENDOR, + KVM_RISCV_SBI_EXT_DBCN, + KVM_RISCV_SBI_EXT_STA, + KVM_RISCV_SBI_EXT_MAX, +}; + +/* SBI STA extension registers for KVM_GET_ONE_REG and KVM_SET_ONE_REG */ +struct kvm_riscv_sbi_sta { + unsigned long shmem_lo; + unsigned long shmem_hi; +}; + +/* Possible states for kvm_riscv_timer */ +#define KVM_RISCV_TIMER_STATE_OFF 0 +#define KVM_RISCV_TIMER_STATE_ON 1 + +#define KVM_REG_SIZE(id) \ + (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT)) + +/* If you need to interpret the index values, here is the key: */ +#define KVM_REG_RISCV_TYPE_MASK 0x00000000FF000000 +#define KVM_REG_RISCV_TYPE_SHIFT 24 +#define KVM_REG_RISCV_SUBTYPE_MASK 0x0000000000FF0000 +#define KVM_REG_RISCV_SUBTYPE_SHIFT 16 + +/* Config registers are mapped as type 1 */ +#define KVM_REG_RISCV_CONFIG (0x01 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CONFIG_REG(name) \ + (offsetof(struct kvm_riscv_config, name) / sizeof(unsigned long)) + +/* Core registers are mapped as type 2 */ +#define KVM_REG_RISCV_CORE (0x02 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CORE_REG(name) \ + (offsetof(struct kvm_riscv_core, name) / sizeof(unsigned long)) + +/* Control and status registers are mapped as type 3 */ +#define KVM_REG_RISCV_CSR (0x03 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_CSR_GENERAL (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_CSR_AIA (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_CSR_SMSTATEEN (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_CSR_REG(name) \ + (offsetof(struct kvm_riscv_csr, name) / sizeof(unsigned long)) +#define KVM_REG_RISCV_CSR_AIA_REG(name) \ + (offsetof(struct kvm_riscv_aia_csr, name) / sizeof(unsigned long)) +#define KVM_REG_RISCV_CSR_SMSTATEEN_REG(name) \ + (offsetof(struct kvm_riscv_smstateen_csr, name) / sizeof(unsigned long)) + +/* Timer registers are mapped as type 4 */ +#define KVM_REG_RISCV_TIMER (0x04 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_TIMER_REG(name) \ + (offsetof(struct kvm_riscv_timer, name) / sizeof(__u64)) + +/* F extension registers are mapped as type 5 */ +#define KVM_REG_RISCV_FP_F (0x05 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_FP_F_REG(name) \ + (offsetof(struct __riscv_f_ext_state, name) / sizeof(__u32)) + +/* D extension registers are mapped as type 6 */ +#define KVM_REG_RISCV_FP_D (0x06 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_FP_D_REG(name) \ + (offsetof(struct __riscv_d_ext_state, name) / sizeof(__u64)) + +/* ISA Extension registers are mapped as type 7 */ +#define KVM_REG_RISCV_ISA_EXT (0x07 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_ISA_SINGLE (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_ISA_MULTI_EN (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_ISA_MULTI_DIS (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_ISA_MULTI_REG(__ext_id) \ + ((__ext_id) / __BITS_PER_LONG) +#define KVM_REG_RISCV_ISA_MULTI_MASK(__ext_id) \ + (1UL << ((__ext_id) % __BITS_PER_LONG)) +#define KVM_REG_RISCV_ISA_MULTI_REG_LAST \ + KVM_REG_RISCV_ISA_MULTI_REG(KVM_RISCV_ISA_EXT_MAX - 1) + +/* SBI extension registers are mapped as type 8 */ +#define KVM_REG_RISCV_SBI_EXT (0x08 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_SBI_SINGLE (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_SBI_MULTI_EN (0x1 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_SBI_MULTI_DIS (0x2 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_SBI_MULTI_REG(__ext_id) \ + ((__ext_id) / __BITS_PER_LONG) +#define KVM_REG_RISCV_SBI_MULTI_MASK(__ext_id) \ + (1UL << ((__ext_id) % __BITS_PER_LONG)) +#define KVM_REG_RISCV_SBI_MULTI_REG_LAST \ + KVM_REG_RISCV_SBI_MULTI_REG(KVM_RISCV_SBI_EXT_MAX - 1) + +/* V extension registers are mapped as type 9 */ +#define KVM_REG_RISCV_VECTOR (0x09 << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_VECTOR_CSR_REG(name) \ + (offsetof(struct __riscv_v_ext_state, name) / sizeof(unsigned long)) +#define KVM_REG_RISCV_VECTOR_REG(n) \ + ((n) + sizeof(struct __riscv_v_ext_state) / sizeof(unsigned long)) + +/* Registers for specific SBI extensions are mapped as type 10 */ +#define KVM_REG_RISCV_SBI_STATE (0x0a << KVM_REG_RISCV_TYPE_SHIFT) +#define KVM_REG_RISCV_SBI_STA (0x0 << KVM_REG_RISCV_SUBTYPE_SHIFT) +#define KVM_REG_RISCV_SBI_STA_REG(name) \ + (offsetof(struct kvm_riscv_sbi_sta, name) / sizeof(unsigned long)) + +/* Device Control API: RISC-V AIA */ +#define KVM_DEV_RISCV_APLIC_ALIGN 0x1000 +#define KVM_DEV_RISCV_APLIC_SIZE 0x4000 +#define KVM_DEV_RISCV_APLIC_MAX_HARTS 0x4000 +#define KVM_DEV_RISCV_IMSIC_ALIGN 0x1000 +#define KVM_DEV_RISCV_IMSIC_SIZE 0x1000 + +#define KVM_DEV_RISCV_AIA_GRP_CONFIG 0 +#define KVM_DEV_RISCV_AIA_CONFIG_MODE 0 +#define KVM_DEV_RISCV_AIA_CONFIG_IDS 1 +#define KVM_DEV_RISCV_AIA_CONFIG_SRCS 2 +#define KVM_DEV_RISCV_AIA_CONFIG_GROUP_BITS 3 +#define KVM_DEV_RISCV_AIA_CONFIG_GROUP_SHIFT 4 +#define KVM_DEV_RISCV_AIA_CONFIG_HART_BITS 5 +#define KVM_DEV_RISCV_AIA_CONFIG_GUEST_BITS 6 + +/* + * Modes of RISC-V AIA device: + * 1) EMUL (aka Emulation): Trap-n-emulate IMSIC + * 2) HWACCEL (aka HW Acceleration): Virtualize IMSIC using IMSIC guest files + * 3) AUTO (aka Automatic): Virtualize IMSIC using IMSIC guest files whenever + * available otherwise fallback to trap-n-emulation + */ +#define KVM_DEV_RISCV_AIA_MODE_EMUL 0 +#define KVM_DEV_RISCV_AIA_MODE_HWACCEL 1 +#define KVM_DEV_RISCV_AIA_MODE_AUTO 2 + +#define KVM_DEV_RISCV_AIA_IDS_MIN 63 +#define KVM_DEV_RISCV_AIA_IDS_MAX 2048 +#define KVM_DEV_RISCV_AIA_SRCS_MAX 1024 +#define KVM_DEV_RISCV_AIA_GROUP_BITS_MAX 8 +#define KVM_DEV_RISCV_AIA_GROUP_SHIFT_MIN 24 +#define KVM_DEV_RISCV_AIA_GROUP_SHIFT_MAX 56 +#define KVM_DEV_RISCV_AIA_HART_BITS_MAX 16 +#define KVM_DEV_RISCV_AIA_GUEST_BITS_MAX 8 + +#define KVM_DEV_RISCV_AIA_GRP_ADDR 1 +#define KVM_DEV_RISCV_AIA_ADDR_APLIC 0 +#define KVM_DEV_RISCV_AIA_ADDR_IMSIC(__vcpu) (1 + (__vcpu)) +#define KVM_DEV_RISCV_AIA_ADDR_MAX \ + (1 + KVM_DEV_RISCV_APLIC_MAX_HARTS) + +#define KVM_DEV_RISCV_AIA_GRP_CTRL 2 +#define KVM_DEV_RISCV_AIA_CTRL_INIT 0 + +/* + * The device attribute type contains the memory mapped offset of the + * APLIC register (range 0x0000-0x3FFF) and it must be 4-byte aligned. + */ +#define KVM_DEV_RISCV_AIA_GRP_APLIC 3 + +/* + * The lower 12-bits of the device attribute type contains the iselect + * value of the IMSIC register (range 0x70-0xFF) whereas the higher order + * bits contains the VCPU id. + */ +#define KVM_DEV_RISCV_AIA_GRP_IMSIC 4 +#define KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS 12 +#define KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK \ + ((1U << KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS) - 1) +#define KVM_DEV_RISCV_AIA_IMSIC_MKATTR(__vcpu, __isel) \ + (((__vcpu) << KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS) | \ + ((__isel) & KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK)) +#define KVM_DEV_RISCV_AIA_IMSIC_GET_ISEL(__attr) \ + ((__attr) & KVM_DEV_RISCV_AIA_IMSIC_ISEL_MASK) +#define KVM_DEV_RISCV_AIA_IMSIC_GET_VCPU(__attr) \ + ((__attr) >> KVM_DEV_RISCV_AIA_IMSIC_ISEL_BITS) + +/* One single KVM irqchip, ie. the AIA */ +#define KVM_NR_IRQCHIPS 1 + +#endif + +#endif /* __LINUX_KVM_RISCV_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..f05a4990 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/perf_regs.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd. */ + +#ifndef _ASM_RISCV_PERF_REGS_H +#define _ASM_RISCV_PERF_REGS_H + +enum perf_event_riscv_regs { + PERF_REG_RISCV_PC, + PERF_REG_RISCV_RA, + PERF_REG_RISCV_SP, + PERF_REG_RISCV_GP, + PERF_REG_RISCV_TP, + PERF_REG_RISCV_T0, + PERF_REG_RISCV_T1, + PERF_REG_RISCV_T2, + PERF_REG_RISCV_S0, + PERF_REG_RISCV_S1, + PERF_REG_RISCV_A0, + PERF_REG_RISCV_A1, + PERF_REG_RISCV_A2, + PERF_REG_RISCV_A3, + PERF_REG_RISCV_A4, + PERF_REG_RISCV_A5, + PERF_REG_RISCV_A6, + PERF_REG_RISCV_A7, + PERF_REG_RISCV_S2, + PERF_REG_RISCV_S3, + PERF_REG_RISCV_S4, + PERF_REG_RISCV_S5, + PERF_REG_RISCV_S6, + PERF_REG_RISCV_S7, + PERF_REG_RISCV_S8, + PERF_REG_RISCV_S9, + PERF_REG_RISCV_S10, + PERF_REG_RISCV_S11, + PERF_REG_RISCV_T3, + PERF_REG_RISCV_T4, + PERF_REG_RISCV_T5, + PERF_REG_RISCV_T6, + PERF_REG_RISCV_MAX, +}; +#endif /* _ASM_RISCV_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ptrace.h new file mode 100644 index 00000000..607bb0a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ptrace.h @@ -0,0 +1,132 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 Regents of the University of California + */ + +#ifndef _ASM_RISCV_PTRACE_H +#define _ASM_RISCV_PTRACE_H + +#ifndef __ASSEMBLY__ + +#include + +#define PTRACE_GETFDPIC 33 + +#define PTRACE_GETFDPIC_EXEC 0 +#define PTRACE_GETFDPIC_INTERP 1 + +/* + * User-mode register state for core dumps, ptrace, sigcontext + * + * This decouples struct pt_regs from the userspace ABI. + * struct user_regs_struct must form a prefix of struct pt_regs. + */ +struct user_regs_struct { + unsigned long pc; + unsigned long ra; + unsigned long sp; + unsigned long gp; + unsigned long tp; + unsigned long t0; + unsigned long t1; + unsigned long t2; + unsigned long s0; + unsigned long s1; + unsigned long a0; + unsigned long a1; + unsigned long a2; + unsigned long a3; + unsigned long a4; + unsigned long a5; + unsigned long a6; + unsigned long a7; + unsigned long s2; + unsigned long s3; + unsigned long s4; + unsigned long s5; + unsigned long s6; + unsigned long s7; + unsigned long s8; + unsigned long s9; + unsigned long s10; + unsigned long s11; + unsigned long t3; + unsigned long t4; + unsigned long t5; + unsigned long t6; +}; + +struct __riscv_f_ext_state { + __u32 f[32]; + __u32 fcsr; +}; + +struct __riscv_d_ext_state { + __u64 f[32]; + __u32 fcsr; +}; + +struct __riscv_q_ext_state { + __u64 f[64] __attribute__((aligned(16))); + __u32 fcsr; + /* + * Reserved for expansion of sigcontext structure. Currently zeroed + * upon signal, and must be zero upon sigreturn. + */ + __u32 reserved[3]; +}; + +struct __riscv_ctx_hdr { + __u32 magic; + __u32 size; +}; + +struct __riscv_extra_ext_header { + __u32 __padding[129] __attribute__((aligned(16))); + /* + * Reserved for expansion of sigcontext structure. Currently zeroed + * upon signal, and must be zero upon sigreturn. + */ + __u32 reserved; + struct __riscv_ctx_hdr hdr; +}; + +union __riscv_fp_state { + struct __riscv_f_ext_state f; + struct __riscv_d_ext_state d; + struct __riscv_q_ext_state q; +}; + +struct __riscv_v_ext_state { + unsigned long vstart; + unsigned long vl; + unsigned long vtype; + unsigned long vcsr; + unsigned long vlenb; + void *datap; + /* + * In signal handler, datap will be set a correct user stack offset + * and vector registers will be copied to the address of datap + * pointer. + */ +}; + +struct __riscv_v_regset_state { + unsigned long vstart; + unsigned long vl; + unsigned long vtype; + unsigned long vcsr; + unsigned long vlenb; + char vreg[]; +}; + +/* + * According to spec: The number of bits in a single vector register, + * VLEN >= ELEN, which must be a power of 2, and must be no greater than + * 2^16 = 65536bits = 8192bytes + */ +#define RISCV_MAX_VLENB (8192) + +#endif /* __ASSEMBLY__ */ + +#endif /* _ASM_RISCV_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/setup.h new file mode 100644 index 00000000..1094751b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/setup.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ + +#ifndef _ASM_RISCV_SETUP_H +#define _ASM_RISCV_SETUP_H + +#define COMMAND_LINE_SIZE 1024 + +#endif /* _ASM_RISCV_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..2fec9bd5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/sigcontext.h @@ -0,0 +1,40 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 Regents of the University of California + */ + +#ifndef _ASM_RISCV_SIGCONTEXT_H +#define _ASM_RISCV_SIGCONTEXT_H + +#include + +/* The Magic number for signal context frame header. */ +#define RISCV_V_MAGIC 0x53465457 +#define END_MAGIC 0x0 + +/* The size of END signal context header. */ +#define END_HDR_SIZE 0x0 + +#ifndef __ASSEMBLY__ + +struct __sc_riscv_v_state { + struct __riscv_v_ext_state v_state; +} __attribute__((aligned(16))); + +/* + * Signal context structure + * + * This contains the context saved before a signal handler is invoked; + * it is restored by sys_rt_sigreturn. + */ +struct sigcontext { + struct user_regs_struct sc_regs; + union { + union __riscv_fp_state sc_fpregs; + struct __riscv_extra_ext_header sc_extdesc; + }; +}; + +#endif /*!__ASSEMBLY__*/ + +#endif /* _ASM_RISCV_SIGCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ucontext.h new file mode 100644 index 00000000..6a5f12d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/ucontext.h @@ -0,0 +1,38 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* + * Copyright (C) 2012 ARM Ltd. + * Copyright (C) 2017 SiFive, Inc. + * + * This file was copied from arch/arm64/include/uapi/asm/ucontext.h + */ +#ifndef _ASM_RISCV_UCONTEXT_H +#define _ASM_RISCV_UCONTEXT_H + +#include + +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + /* + * There's some padding here to allow sigset_t to be expanded in the + * future. Though this is unlikely, other architectures put uc_sigmask + * at the end of this structure and explicitly state it can be + * expanded, so we didn't want to box ourselves in here. + */ + __u8 __unused[1024 / 8 - sizeof(sigset_t)]; + /* + * We can't put uc_sigmask at the end of this structure because we need + * to be able to expand sigcontext in the future. For example, the + * vector ISA extension will almost certainly add ISA state. We want + * to ensure all user-visible ISA state can be saved and restored via a + * ucontext, so we're putting this at the end in order to allow for + * infinite extensibility. Since we know this will be extended and we + * assume sigset_t won't be extended an extreme amount, we're + * prioritizing this. + */ + struct sigcontext uc_mcontext; +}; + +#endif /* _ASM_RISCV_UCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd.h new file mode 100644 index 00000000..7a981efc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright (C) 2018 David Abdurachmanov + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include + +#if __BITS_PER_LONG == 64 +#include +#else +#include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..308bd624 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_32.h @@ -0,0 +1,319 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl64 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs64 43 +#define __NR_fstatfs64 44 +#define __NR_truncate64 45 +#define __NR_ftruncate64 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_llseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile64 71 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_getoverrun 109 +#define __NR_timer_delete 111 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap2 222 +#define __NR_fadvise64_64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_riscv_hwprobe 258 +#define __NR_riscv_flush_icache 259 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_memfd_secret 447 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_64.h new file mode 100644 index 00000000..77ba6aa7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv-linux-any/asm/unistd_64.h @@ -0,0 +1,329 @@ +#ifndef _ASM_UNISTD_64_H +#define _ASM_UNISTD_64_H + +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs 43 +#define __NR_fstatfs 44 +#define __NR_truncate 45 +#define __NR_ftruncate 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_lseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_newfstatat 79 +#define __NR_fstat 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrlimit 163 +#define __NR_setrlimit 164 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap 222 +#define __NR_fadvise64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_riscv_hwprobe 258 +#define __NR_riscv_flush_icache 259 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_memfd_secret 447 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..16a1549c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* RISC-V is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/environments.h new file mode 100644 index 00000000..26a15733 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/environments.h @@ -0,0 +1,81 @@ +/* Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V7_ILP32_OFFBIG -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFFBIG -1 +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* RISC-V requires 64-bit off_t */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFF32 -1 + +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We can never provide environments with 64-bit wide pointers. */ +# define _POSIX_V7_LP64_OFF64 -1 +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LP64_OFF64 -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +#endif /* __WORDSIZE == 32 */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..7a8e74e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fcntl.h @@ -0,0 +1,62 @@ +/* O_*, F_*, FD_* bit values for Linux / RISC-V. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as + non-64-bit versions. It will need to be revised for 128-bit. */ +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 + +# define F_GETLK64 5 /* Get record locking info. */ +# define F_SETLK64 6 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..385b2d68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/fenv.h @@ -0,0 +1,74 @@ +/* Floating point environment, RISC-V version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +enum + { + FE_INEXACT = +#define FE_INEXACT (0x01) + FE_INEXACT, + FE_UNDERFLOW = +#define FE_UNDERFLOW (0x02) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (0x04) + FE_OVERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO (0x08) + FE_DIVBYZERO, + FE_INVALID = +#define FE_INVALID (0x10) + FE_INVALID + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0x0) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (0x1) + FE_TOWARDZERO, + FE_DOWNWARD = +#define FE_DOWNWARD (0x2) + FE_DOWNWARD, + FE_UPWARD = +#define FE_UPWARD (0x3) + FE_UPWARD + }; + + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((__const fenv_t *) -1) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/link.h new file mode 100644 index 00000000..04407779 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/link.h @@ -0,0 +1,56 @@ +/* Machine-specific declarations for dynamic linker interface. RISC-V version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +typedef struct La_riscv_regs +{ + unsigned long int lr_reg[8]; /* a0 - a7 */ + double lr_fpreg[8]; /* fa0 - fa7 */ + unsigned long int lr_ra; + unsigned long int lr_sp; +} La_riscv_regs; + +/* Return values for calls from PLT on RISC-V. */ +typedef struct La_riscv_retval +{ + unsigned long int lrv_a0; + unsigned long int lrv_a1; + double lrv_fa0; + double lrv_fa1; +} La_riscv_retval; + +__BEGIN_DECLS + +extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_riscv_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_riscv_regs *__inregs, + La_riscv_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..57d7be04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/long-double.h @@ -0,0 +1,21 @@ +/* Properties of long double type. ldbl-128 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* long double is distinct from double, so there is nothing to + define here. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..41fe44e0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/procfs.h @@ -0,0 +1,31 @@ +/* Types for registers for sys/procfs.h. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* ELF register definitions */ +#define ELF_NGREG NGREG +#define ELF_NFPREG NFPREG + +typedef unsigned long int elf_greg_t; +typedef unsigned long int elf_gregset_t[32]; +typedef union __riscv_mc_fp_state elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..1e0839e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/pthreadtypes-arch.h @@ -0,0 +1,45 @@ +/* Machine-specific pthread type layouts. RISC-V version. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#if __WORDSIZE == 64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 32 +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_RWLOCK_T 48 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..0300604a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/rseq.h @@ -0,0 +1,44 @@ +/* Restartable Sequences Linux riscv architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + Select the instruction "csrw mhartid, x0" as the RSEQ_SIG. Unlike + other architectures, the ebreak instruction has no immediate field for + distinguishing purposes. Hence, ebreak is not suitable as RSEQ_SIG. + "csrw mhartid, x0" can also satisfy the RSEQ requirement because it + is an uncommon instruction and will raise an illegal instruction + exception when executed in all modes. */ + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define RSEQ_SIG 0xf1401073 +#else +/* RSEQ is currently only supported on Little-Endian. */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..d3dca3d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/setjmp.h @@ -0,0 +1,39 @@ +/* Define the machine-dependent type `jmp_buf'. RISC-V version. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _RISCV_BITS_SETJMP_H +#define _RISCV_BITS_SETJMP_H + +typedef struct __jmp_buf_internal_tag + { + /* Program counter. */ + long int __pc; + /* Callee-saved registers. */ + long int __regs[12]; + /* Stack pointer. */ + long int __sp; + + /* Callee-saved floating point registers. */ +#if defined __riscv_float_abi_double + double __fpregs[12]; +#elif !defined __riscv_float_abi_soft +# error unsupported FLEN +#endif + } __jmp_buf[1]; + +#endif /* _RISCV_BITS_SETJMP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/sigcontext.h new file mode 100644 index 00000000..7634c22c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/sigcontext.h @@ -0,0 +1,31 @@ +/* Machine-dependent signal context structure for Linux. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +struct sigcontext { + /* gregs[0] holds the program counter. */ + unsigned long int gregs[32]; + unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16))); +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..b0674ce8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,68 @@ +/* RISC-V internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +/* There is a lot of padding in this structure. While it's not strictly + necessary on RISC-V, we're going to leave it in to be on the safe side in + case it's needed in the future. Most other architectures have the padding, + so this gives us the same extensibility as everyone else has. */ +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + unsigned int __flags; +#else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + unsigned char __flags; +# else + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..724450a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/struct_stat.h @@ -0,0 +1,127 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/time64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/time64.h new file mode 100644 index 00000000..1f823752 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. RISC-V version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TIME64_H +#define _BITS_TIME64_H 1 + +/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ + +#if __WORDSIZE == 64 +/* If we already have 64-bit time type then use it. */ +# define __TIME64_T_TYPE __TIME_T_TYPE +#else +/* Define a 64-bit time type alongsize the 32-bit one. */ +# define __TIME64_T_TYPE __SQUAD_TYPE +#endif + +#endif /* bits/time64.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..04251ea7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..45cc378a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/bits/wordsize.h @@ -0,0 +1,30 @@ +/* Determine the wordsize from the preprocessor defines. RISC-V version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if __riscv_xlen == (__SIZEOF_POINTER__ * 8) +# define __WORDSIZE __riscv_xlen +#else +# error unsupported ABI +#endif + +#define __WORDSIZE_TIME64_COMPAT32 1 + +#if __WORDSIZE == 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/fpu_control.h new file mode 100644 index 00000000..6a621ca8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/fpu_control.h @@ -0,0 +1,74 @@ +/* FPU control word bits. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#include + +#ifndef __riscv_flen + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) do { } while (0) +extern fpu_control_t __fpu_control; + +#else /* __riscv_flen */ + +# define _FPU_RESERVED 0 +# define _FPU_DEFAULT 0 +# define _FPU_IEEE _FPU_DEFAULT + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) __asm__ volatile ("frsr %0" : "=r" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("fssr %z0" : : "rJ" (cw)) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +# define _FCLASS(x) (__extension__ ({ int __res; \ + if (sizeof (x) * 8 > __riscv_flen) __builtin_trap (); \ + if (sizeof (x) == 4) asm ("fclass.s %0, %1" : "=r" (__res) : "f" (x)); \ + else if (sizeof (x) == 8) asm ("fclass.d %0, %1" : "=r" (__res) : "f" (x)); \ + else __builtin_trap (); \ + __res; })) + +# define _FCLASS_MINF (1 << 0) +# define _FCLASS_MNORM (1 << 1) +# define _FCLASS_MSUBNORM (1 << 2) +# define _FCLASS_MZERO (1 << 3) +# define _FCLASS_PZERO (1 << 4) +# define _FCLASS_PSUBNORM (1 << 5) +# define _FCLASS_PNORM (1 << 6) +# define _FCLASS_PINF (1 << 7) +# define _FCLASS_SNAN (1 << 8) +# define _FCLASS_QNAN (1 << 9) +# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO) +# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM) +# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM) +# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF) +# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN) + +#endif /* __riscv_flen */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names-ilp32d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names-ilp32d.h new file mode 100644 index 00000000..33fd7061 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names-ilp32d.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_RISCV32_ILP32D_SO "ld-linux-riscv32-ilp32d.so.1" +#define LD_SO "ld-linux-riscv32-ilp32d.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..bd225932 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/lib-names.h @@ -0,0 +1,22 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 32 && defined __riscv_float_abi_double +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_double +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs-ilp32d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs-ilp32d.h new file mode 100644 index 00000000..a0a20640 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs-ilp32d.h @@ -0,0 +1,24 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetexcept +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..833e9c36 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/gnu/stubs.h @@ -0,0 +1,18 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 32 && defined __riscv_float_abi_double +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_double +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/asm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/asm.h new file mode 100644 index 00000000..ff8205da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/asm.h @@ -0,0 +1,66 @@ +/* Miscellaneous macros. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ASM_H +#define _SYS_ASM_H + +/* Macros to handle different pointer/register sizes for 32/64-bit code. */ +#if __riscv_xlen == 64 +# define PTRLOG 3 +# define SZREG 8 +# define REG_S sd +# define REG_L ld +#elif __riscv_xlen == 32 +# define PTRLOG 2 +# define SZREG 4 +# define REG_S sw +# define REG_L lw +#else +# error __riscv_xlen must equal 32 or 64 +#endif + +#if !defined __riscv_float_abi_soft +/* For ABI uniformity, reserve 8 bytes for floats, even if double-precision + floating-point is not supported in hardware. */ +# if defined __riscv_float_abi_double +# define FREG_L fld +# define FREG_S fsd +# define SZFREG 8 +# else +# error unsupported FLEN +# endif +#endif + +/* Declare leaf routine. */ +#define LEAF(symbol) \ + .globl symbol; \ + .align 2; \ + .type symbol,@function; \ +symbol: \ + cfi_startproc; + +/* Mark end of function. */ +#undef END +#define END(function) \ + cfi_endproc; \ + .size function,.-function + +/* Stack alignment. */ +#define ALMASK ~15 + +#endif /* sys/asm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/cachectl.h new file mode 100644 index 00000000..599118a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/cachectl.h @@ -0,0 +1,32 @@ +/* RISC-V instruction cache flushing interface + Copyright (C) 2017-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +__BEGIN_DECLS + +extern int __riscv_flush_icache (void *__start, void *__end, + unsigned long int __flags); + +__END_DECLS + +#endif /* sys/cachectl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..4a110dba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/ucontext.h @@ -0,0 +1,110 @@ +/* struct ucontext definition, RISC-V version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Don't rely on this, the interface is currently messed up and may need to + be broken to be fixed. */ +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +typedef unsigned long int __riscv_mc_gp_state[32]; + +#ifdef __USE_MISC +# define NGREG 32 + +# define REG_PC 0 +# define REG_RA 1 +# define REG_SP 2 +# define REG_TP 4 +# define REG_S0 8 +# define REG_S1 9 +# define REG_A0 10 +# define REG_S2 18 +# define REG_NARGS 8 + +typedef unsigned long int greg_t; + +/* Container for all general registers. */ +typedef __riscv_mc_gp_state gregset_t; + +/* Container for floating-point state. */ +typedef union __riscv_mc_fp_state fpregset_t; +#endif + +struct __riscv_mc_f_ext_state + { + unsigned int __f[32]; + unsigned int __fcsr; + }; + +struct __riscv_mc_d_ext_state + { + unsigned long long int __f[32]; + unsigned int __fcsr; + }; + +struct __riscv_mc_q_ext_state + { + unsigned long long int __f[64] __attribute__ ((__aligned__ (16))); + unsigned int __fcsr; + /* Reserved for expansion of sigcontext structure. Currently zeroed + upon signal, and must be zero upon sigreturn. */ + unsigned int __glibc_reserved[3]; + }; + +union __riscv_mc_fp_state + { + struct __riscv_mc_f_ext_state __f; + struct __riscv_mc_d_ext_state __d; + struct __riscv_mc_q_ext_state __q; + }; + +typedef struct mcontext_t + { + __riscv_mc_gp_state __gregs; + union __riscv_mc_fp_state __fpregs; + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + /* There's some padding here to allow sigset_t to be expanded in the + future. Though this is unlikely, other architectures put uc_sigmask + at the end of this structure and explicitly state it can be + expanded, so we didn't want to box ourselves in here. */ + char __glibc_reserved[1024 / 8 - sizeof (sigset_t)]; + /* We can't put uc_sigmask at the end of this structure because we need + to be able to expand sigcontext in the future. For example, the + vector ISA extension will almost certainly add ISA state. We want + to ensure all user-visible ISA state can be saved and restored via a + ucontext, so we're putting this at the end in order to allow for + infinite extensibility. Since we know this will be extended and we + assume sigset_t won't be extended an extreme amount, we're + prioritizing this. */ + mcontext_t uc_mcontext; + } ucontext_t; + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/user.h new file mode 100644 index 00000000..3b4e3e94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-gnu/sys/user.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + + + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..d0ad12ac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/alltypes.h @@ -0,0 +1,413 @@ +#define _Addr int +#define _Int64 long long +#define _Reg int + +#define __BYTE_ORDER 1234 +#define __LONG_MAX 0x7fffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef int blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned int nlink_t; +#define __DEFINED_nlink_t +#endif + + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/fenv.h new file mode 100644 index 00000000..b260c6f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/fenv.h @@ -0,0 +1,17 @@ +#define FE_INVALID 16 +#define FE_DIVBYZERO 8 +#define FE_OVERFLOW 4 +#define FE_UNDERFLOW 2 +#define FE_INEXACT 1 + +#define FE_ALL_EXCEPT 31 + +#define FE_TONEAREST 0 +#define FE_DOWNWARD 2 +#define FE_UPWARD 3 +#define FE_TOWARDZERO 1 + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/ipcstat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/ipcstat.h new file mode 100644 index 00000000..d055f3e8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/ipcstat.h @@ -0,0 +1 @@ +#define IPC_STAT 0x102 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/msg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/msg.h new file mode 100644 index 00000000..037fd956 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/msg.h @@ -0,0 +1,18 @@ +struct msqid_ds { + struct ipc_perm msg_perm; + unsigned long __msg_stime_lo; + unsigned long __msg_stime_hi; + unsigned long __msg_rtime_lo; + unsigned long __msg_rtime_hi; + unsigned long __msg_ctime_lo; + unsigned long __msg_ctime_hi; + unsigned long msg_cbytes; + msgqnum_t msg_qnum; + msglen_t msg_qbytes; + pid_t msg_lspid; + pid_t msg_lrpid; + unsigned long __unused[2]; + time_t msg_stime; + time_t msg_rtime; + time_t msg_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/posix.h new file mode 100644 index 00000000..3b302e26 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG 1 +#define _POSIX_V7_ILP32_OFFBIG 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/reg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/reg.h new file mode 100644 index 00000000..5f9cd9dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/reg.h @@ -0,0 +1,2 @@ +#undef __WORDSIZE +#define __WORDSIZE 32 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/sem.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/sem.h new file mode 100644 index 00000000..eaa885a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/sem.h @@ -0,0 +1,18 @@ +struct semid_ds { + struct ipc_perm sem_perm; + unsigned long __sem_otime_lo; + unsigned long __sem_otime_hi; + unsigned long __sem_ctime_lo; + unsigned long __sem_ctime_hi; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + long __unused3; + long __unused4; + time_t sem_otime; + time_t sem_ctime; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..8148ec10 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long long __jmp_buf[19]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/shm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/shm.h new file mode 100644 index 00000000..1ecb03ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/shm.h @@ -0,0 +1,31 @@ +#define SHMLBA 4096 + +struct shmid_ds { + struct ipc_perm shm_perm; + size_t shm_segsz; + unsigned long __shm_atime_lo; + unsigned long __shm_atime_hi; + unsigned long __shm_dtime_lo; + unsigned long __shm_dtime_hi; + unsigned long __shm_ctime_lo; + unsigned long __shm_ctime_hi; + pid_t shm_cpid; + pid_t shm_lpid; + unsigned long shm_nattch; + unsigned long __pad1; + unsigned long __pad2; + unsigned long __pad3; + time_t shm_atime; + time_t shm_dtime; + time_t shm_ctime; +}; + +struct shminfo { + unsigned long shmmax, shmmin, shmmni, shmseg, shmall, __unused[4]; +}; + +struct shm_info { + int __used_ids; + unsigned long shm_tot, shm_rss, shm_swp; + unsigned long __swap_attempts, __swap_successes; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/signal.h new file mode 100644 index 00000000..6a5d87d4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/signal.h @@ -0,0 +1,120 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +# define MINSIGSTKSZ 2048 +# define SIGSTKSZ 8192 +#endif + +typedef unsigned long __riscv_mc_gp_state[32]; + +struct __riscv_mc_f_ext_state { + unsigned int __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_d_ext_state { + unsigned long long __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_q_ext_state { + unsigned long long __f[64] __attribute__((aligned(16))); + unsigned int __fcsr; + unsigned int __reserved[3]; +}; + +union __riscv_mc_fp_state { + struct __riscv_mc_f_ext_state __f; + struct __riscv_mc_d_ext_state __d; + struct __riscv_mc_q_ext_state __q; +}; + +typedef struct mcontext_t { + __riscv_mc_gp_state __gregs; + union __riscv_mc_fp_state __fpregs; +} mcontext_t; + +#if defined(_GNU_SOURCE) +#define REG_PC 0 +#define REG_RA 1 +#define REG_SP 2 +#define REG_TP 4 +#define REG_S0 8 +#define REG_S1 9 +#define REG_A0 10 +#define REG_S2 18 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long greg_t; +typedef unsigned long gregset_t[32]; +typedef union __riscv_mc_fp_state fpregset_t; +struct sigcontext { + gregset_t gregs; + fpregset_t fpregs; +}; +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext +{ + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 2 +#define SA_SIGINFO 4 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 +#define SA_RESTORER 0x04000000 + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stat.h new file mode 100644 index 00000000..fdf5bbcc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stat.h @@ -0,0 +1,18 @@ +struct stat { + dev_t st_dev; + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + unsigned long long __pad; + off_t st_size; + blksize_t st_blksize; + int __pad2; + blkcnt_t st_blocks; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + unsigned __unused[2]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stdint.h new file mode 100644 index 00000000..b70a87dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/syscall.h new file mode 100644 index 00000000..6f2efd7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv32-linux-musl/bits/syscall.h @@ -0,0 +1,599 @@ +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl64 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs64 43 +#define __NR_fstatfs64 44 +#define __NR_truncate64 45 +#define __NR_ftruncate64 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR__llseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile64 71 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_getoverrun 109 +#define __NR_timer_delete 111 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap2 222 +#define __NR_fadvise64_64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_arch_specific_syscall 244 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_futex __NR_futex_time64 + +#define __NR_sysriscv __NR_arch_specific_syscall +#define __NR_riscv_flush_icache (__NR_sysriscv + 15) +#define SYS_io_setup 0 +#define SYS_io_destroy 1 +#define SYS_io_submit 2 +#define SYS_io_cancel 3 +#define SYS_setxattr 5 +#define SYS_lsetxattr 6 +#define SYS_fsetxattr 7 +#define SYS_getxattr 8 +#define SYS_lgetxattr 9 +#define SYS_fgetxattr 10 +#define SYS_listxattr 11 +#define SYS_llistxattr 12 +#define SYS_flistxattr 13 +#define SYS_removexattr 14 +#define SYS_lremovexattr 15 +#define SYS_fremovexattr 16 +#define SYS_getcwd 17 +#define SYS_lookup_dcookie 18 +#define SYS_eventfd2 19 +#define SYS_epoll_create1 20 +#define SYS_epoll_ctl 21 +#define SYS_epoll_pwait 22 +#define SYS_dup 23 +#define SYS_dup3 24 +#define SYS_fcntl64 25 +#define SYS_inotify_init1 26 +#define SYS_inotify_add_watch 27 +#define SYS_inotify_rm_watch 28 +#define SYS_ioctl 29 +#define SYS_ioprio_set 30 +#define SYS_ioprio_get 31 +#define SYS_flock 32 +#define SYS_mknodat 33 +#define SYS_mkdirat 34 +#define SYS_unlinkat 35 +#define SYS_symlinkat 36 +#define SYS_linkat 37 +#define SYS_umount2 39 +#define SYS_mount 40 +#define SYS_pivot_root 41 +#define SYS_nfsservctl 42 +#define SYS_statfs64 43 +#define SYS_fstatfs64 44 +#define SYS_truncate64 45 +#define SYS_ftruncate64 46 +#define SYS_fallocate 47 +#define SYS_faccessat 48 +#define SYS_chdir 49 +#define SYS_fchdir 50 +#define SYS_chroot 51 +#define SYS_fchmod 52 +#define SYS_fchmodat 53 +#define SYS_fchownat 54 +#define SYS_fchown 55 +#define SYS_openat 56 +#define SYS_close 57 +#define SYS_vhangup 58 +#define SYS_pipe2 59 +#define SYS_quotactl 60 +#define SYS_getdents64 61 +#define SYS__llseek 62 +#define SYS_read 63 +#define SYS_write 64 +#define SYS_readv 65 +#define SYS_writev 66 +#define SYS_pread64 67 +#define SYS_pwrite64 68 +#define SYS_preadv 69 +#define SYS_pwritev 70 +#define SYS_sendfile64 71 +#define SYS_signalfd4 74 +#define SYS_vmsplice 75 +#define SYS_splice 76 +#define SYS_tee 77 +#define SYS_readlinkat 78 +#define SYS_sync 81 +#define SYS_fsync 82 +#define SYS_fdatasync 83 +#define SYS_sync_file_range 84 +#define SYS_timerfd_create 85 +#define SYS_acct 89 +#define SYS_capget 90 +#define SYS_capset 91 +#define SYS_personality 92 +#define SYS_exit 93 +#define SYS_exit_group 94 +#define SYS_waitid 95 +#define SYS_set_tid_address 96 +#define SYS_unshare 97 +#define SYS_set_robust_list 99 +#define SYS_get_robust_list 100 +#define SYS_nanosleep 101 +#define SYS_getitimer 102 +#define SYS_setitimer 103 +#define SYS_kexec_load 104 +#define SYS_init_module 105 +#define SYS_delete_module 106 +#define SYS_timer_create 107 +#define SYS_timer_getoverrun 109 +#define SYS_timer_delete 111 +#define SYS_syslog 116 +#define SYS_ptrace 117 +#define SYS_sched_setparam 118 +#define SYS_sched_setscheduler 119 +#define SYS_sched_getscheduler 120 +#define SYS_sched_getparam 121 +#define SYS_sched_setaffinity 122 +#define SYS_sched_getaffinity 123 +#define SYS_sched_yield 124 +#define SYS_sched_get_priority_max 125 +#define SYS_sched_get_priority_min 126 +#define SYS_restart_syscall 128 +#define SYS_kill 129 +#define SYS_tkill 130 +#define SYS_tgkill 131 +#define SYS_sigaltstack 132 +#define SYS_rt_sigsuspend 133 +#define SYS_rt_sigaction 134 +#define SYS_rt_sigprocmask 135 +#define SYS_rt_sigpending 136 +#define SYS_rt_sigqueueinfo 138 +#define SYS_rt_sigreturn 139 +#define SYS_setpriority 140 +#define SYS_getpriority 141 +#define SYS_reboot 142 +#define SYS_setregid 143 +#define SYS_setgid 144 +#define SYS_setreuid 145 +#define SYS_setuid 146 +#define SYS_setresuid 147 +#define SYS_getresuid 148 +#define SYS_setresgid 149 +#define SYS_getresgid 150 +#define SYS_setfsuid 151 +#define SYS_setfsgid 152 +#define SYS_times 153 +#define SYS_setpgid 154 +#define SYS_getpgid 155 +#define SYS_getsid 156 +#define SYS_setsid 157 +#define SYS_getgroups 158 +#define SYS_setgroups 159 +#define SYS_uname 160 +#define SYS_sethostname 161 +#define SYS_setdomainname 162 +#define SYS_getrusage 165 +#define SYS_umask 166 +#define SYS_prctl 167 +#define SYS_getcpu 168 +#define SYS_getpid 172 +#define SYS_getppid 173 +#define SYS_getuid 174 +#define SYS_geteuid 175 +#define SYS_getgid 176 +#define SYS_getegid 177 +#define SYS_gettid 178 +#define SYS_sysinfo 179 +#define SYS_mq_open 180 +#define SYS_mq_unlink 181 +#define SYS_mq_notify 184 +#define SYS_mq_getsetattr 185 +#define SYS_msgget 186 +#define SYS_msgctl 187 +#define SYS_msgrcv 188 +#define SYS_msgsnd 189 +#define SYS_semget 190 +#define SYS_semctl 191 +#define SYS_semop 193 +#define SYS_shmget 194 +#define SYS_shmctl 195 +#define SYS_shmat 196 +#define SYS_shmdt 197 +#define SYS_socket 198 +#define SYS_socketpair 199 +#define SYS_bind 200 +#define SYS_listen 201 +#define SYS_accept 202 +#define SYS_connect 203 +#define SYS_getsockname 204 +#define SYS_getpeername 205 +#define SYS_sendto 206 +#define SYS_recvfrom 207 +#define SYS_setsockopt 208 +#define SYS_getsockopt 209 +#define SYS_shutdown 210 +#define SYS_sendmsg 211 +#define SYS_recvmsg 212 +#define SYS_readahead 213 +#define SYS_brk 214 +#define SYS_munmap 215 +#define SYS_mremap 216 +#define SYS_add_key 217 +#define SYS_request_key 218 +#define SYS_keyctl 219 +#define SYS_clone 220 +#define SYS_execve 221 +#define SYS_mmap2 222 +#define SYS_fadvise64_64 223 +#define SYS_swapon 224 +#define SYS_swapoff 225 +#define SYS_mprotect 226 +#define SYS_msync 227 +#define SYS_mlock 228 +#define SYS_munlock 229 +#define SYS_mlockall 230 +#define SYS_munlockall 231 +#define SYS_mincore 232 +#define SYS_madvise 233 +#define SYS_remap_file_pages 234 +#define SYS_mbind 235 +#define SYS_get_mempolicy 236 +#define SYS_set_mempolicy 237 +#define SYS_migrate_pages 238 +#define SYS_move_pages 239 +#define SYS_rt_tgsigqueueinfo 240 +#define SYS_perf_event_open 241 +#define SYS_accept4 242 +#define SYS_arch_specific_syscall 244 +#define SYS_prlimit64 261 +#define SYS_fanotify_init 262 +#define SYS_fanotify_mark 263 +#define SYS_name_to_handle_at 264 +#define SYS_open_by_handle_at 265 +#define SYS_syncfs 267 +#define SYS_setns 268 +#define SYS_sendmmsg 269 +#define SYS_process_vm_readv 270 +#define SYS_process_vm_writev 271 +#define SYS_kcmp 272 +#define SYS_finit_module 273 +#define SYS_sched_setattr 274 +#define SYS_sched_getattr 275 +#define SYS_renameat2 276 +#define SYS_seccomp 277 +#define SYS_getrandom 278 +#define SYS_memfd_create 279 +#define SYS_bpf 280 +#define SYS_execveat 281 +#define SYS_userfaultfd 282 +#define SYS_membarrier 283 +#define SYS_mlock2 284 +#define SYS_copy_file_range 285 +#define SYS_preadv2 286 +#define SYS_pwritev2 287 +#define SYS_pkey_mprotect 288 +#define SYS_pkey_alloc 289 +#define SYS_pkey_free 290 +#define SYS_statx 291 +#define SYS_rseq 293 +#define SYS_kexec_file_load 294 +#define SYS_clock_gettime64 403 +#define SYS_clock_settime64 404 +#define SYS_clock_adjtime64 405 +#define SYS_clock_getres_time64 406 +#define SYS_clock_nanosleep_time64 407 +#define SYS_timer_gettime64 408 +#define SYS_timer_settime64 409 +#define SYS_timerfd_gettime64 410 +#define SYS_timerfd_settime64 411 +#define SYS_utimensat_time64 412 +#define SYS_pselect6_time64 413 +#define SYS_ppoll_time64 414 +#define SYS_io_pgetevents_time64 416 +#define SYS_recvmmsg_time64 417 +#define SYS_mq_timedsend_time64 418 +#define SYS_mq_timedreceive_time64 419 +#define SYS_semtimedop_time64 420 +#define SYS_rt_sigtimedwait_time64 421 +#define SYS_futex_time64 422 +#define SYS_sched_rr_get_interval_time64 423 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 +#define SYS_futex __NR_futex_time64 +#define SYS_sysriscv __NR_arch_specific_syscall +#define SYS_riscv_flush_icache (__NR_sysriscv + 15) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..16a1549c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* RISC-V is little-endian. */ +#define __BYTE_ORDER __LITTLE_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/environments.h new file mode 100644 index 00000000..26a15733 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/environments.h @@ -0,0 +1,81 @@ +/* Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* We can never provide environments with 32-bit wide pointers. */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V7_ILP32_OFFBIG -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFFBIG -1 +# define _XBS5_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFFBIG -1 +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* RISC-V requires 64-bit off_t */ +# define _POSIX_V7_ILP32_OFF32 -1 +# define _POSIX_V6_ILP32_OFF32 -1 +# define _XBS5_ILP32_OFF32 -1 + +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We can never provide environments with 64-bit wide pointers. */ +# define _POSIX_V7_LP64_OFF64 -1 +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LP64_OFF64 -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LP64_OFF64 -1 +# define _XBS5_LPBIG_OFFBIG -1 + +#endif /* __WORDSIZE == 32 */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..7a8e74e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fcntl.h @@ -0,0 +1,62 @@ +/* O_*, F_*, FD_* bit values for Linux / RISC-V. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as + non-64-bit versions. It will need to be revised for 128-bit. */ +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 + +# define F_GETLK64 5 /* Get record locking info. */ +# define F_SETLK64 6 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..385b2d68 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/fenv.h @@ -0,0 +1,74 @@ +/* Floating point environment, RISC-V version. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +enum + { + FE_INEXACT = +#define FE_INEXACT (0x01) + FE_INEXACT, + FE_UNDERFLOW = +#define FE_UNDERFLOW (0x02) + FE_UNDERFLOW, + FE_OVERFLOW = +#define FE_OVERFLOW (0x04) + FE_OVERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO (0x08) + FE_DIVBYZERO, + FE_INVALID = +#define FE_INVALID (0x10) + FE_INVALID + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0x0) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (0x1) + FE_TOWARDZERO, + FE_DOWNWARD = +#define FE_DOWNWARD (0x2) + FE_DOWNWARD, + FE_UPWARD = +#define FE_UPWARD (0x3) + FE_UPWARD + }; + + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((__const fenv_t *) -1) + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/link.h new file mode 100644 index 00000000..04407779 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/link.h @@ -0,0 +1,56 @@ +/* Machine-specific declarations for dynamic linker interface. RISC-V version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +typedef struct La_riscv_regs +{ + unsigned long int lr_reg[8]; /* a0 - a7 */ + double lr_fpreg[8]; /* fa0 - fa7 */ + unsigned long int lr_ra; + unsigned long int lr_sp; +} La_riscv_regs; + +/* Return values for calls from PLT on RISC-V. */ +typedef struct La_riscv_retval +{ + unsigned long int lrv_a0; + unsigned long int lrv_a1; + double lrv_fa0; + double lrv_fa1; +} La_riscv_retval; + +__BEGIN_DECLS + +extern ElfW(Addr) la_riscv_gnu_pltenter (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_riscv_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_riscv_gnu_pltexit (ElfW(Sym) *__sym, unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_riscv_regs *__inregs, + La_riscv_retval *__outregs, + const char *__symname); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..57d7be04 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/long-double.h @@ -0,0 +1,21 @@ +/* Properties of long double type. ldbl-128 version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* long double is distinct from double, so there is nothing to + define here. */ +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..41fe44e0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/procfs.h @@ -0,0 +1,31 @@ +/* Types for registers for sys/procfs.h. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +/* ELF register definitions */ +#define ELF_NGREG NGREG +#define ELF_NFPREG NFPREG + +typedef unsigned long int elf_greg_t; +typedef unsigned long int elf_gregset_t[32]; +typedef union __riscv_mc_fp_state elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h new file mode 100644 index 00000000..1e0839e9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/pthreadtypes-arch.h @@ -0,0 +1,45 @@ +/* Machine-specific pthread type layouts. RISC-V version. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_PTHREADTYPES_ARCH_H +#define _BITS_PTHREADTYPES_ARCH_H 1 + +#include + +#define __SIZEOF_PTHREAD_MUTEXATTR_T 4 +#define __SIZEOF_PTHREAD_COND_T 48 +#define __SIZEOF_PTHREAD_CONDATTR_T 4 +#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8 +#define __SIZEOF_PTHREAD_BARRIERATTR_T 4 + +#if __WORDSIZE == 64 +# define __SIZEOF_PTHREAD_ATTR_T 56 +# define __SIZEOF_PTHREAD_MUTEX_T 40 +# define __SIZEOF_PTHREAD_RWLOCK_T 56 +# define __SIZEOF_PTHREAD_BARRIER_T 32 +#else +# define __SIZEOF_PTHREAD_ATTR_T 32 +# define __SIZEOF_PTHREAD_MUTEX_T 32 +# define __SIZEOF_PTHREAD_RWLOCK_T 48 +# define __SIZEOF_PTHREAD_BARRIER_T 20 +#endif + +#define __LOCK_ALIGNMENT +#define __ONCE_ALIGNMENT + +#endif /* bits/pthreadtypes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..0300604a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/rseq.h @@ -0,0 +1,44 @@ +/* Restartable Sequences Linux riscv architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + Select the instruction "csrw mhartid, x0" as the RSEQ_SIG. Unlike + other architectures, the ebreak instruction has no immediate field for + distinguishing purposes. Hence, ebreak is not suitable as RSEQ_SIG. + "csrw mhartid, x0" can also satisfy the RSEQ requirement because it + is an uncommon instruction and will raise an illegal instruction + exception when executed in all modes. */ + +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define RSEQ_SIG 0xf1401073 +#else +/* RSEQ is currently only supported on Little-Endian. */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..d3dca3d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/setjmp.h @@ -0,0 +1,39 @@ +/* Define the machine-dependent type `jmp_buf'. RISC-V version. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _RISCV_BITS_SETJMP_H +#define _RISCV_BITS_SETJMP_H + +typedef struct __jmp_buf_internal_tag + { + /* Program counter. */ + long int __pc; + /* Callee-saved registers. */ + long int __regs[12]; + /* Stack pointer. */ + long int __sp; + + /* Callee-saved floating point registers. */ +#if defined __riscv_float_abi_double + double __fpregs[12]; +#elif !defined __riscv_float_abi_soft +# error unsupported FLEN +#endif + } __jmp_buf[1]; + +#endif /* _RISCV_BITS_SETJMP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h new file mode 100644 index 00000000..7634c22c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/sigcontext.h @@ -0,0 +1,31 @@ +/* Machine-dependent signal context structure for Linux. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +struct sigcontext { + /* gregs[0] holds the program counter. */ + unsigned long int gregs[32]; + unsigned long long int fpregs[66] __attribute__ ((__aligned__ (16))); +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..b0674ce8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,68 @@ +/* RISC-V internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +/* There is a lot of padding in this structure. While it's not strictly + necessary on RISC-V, we're going to leave it in to be on the safe side in + case it's needed in the future. Most other architectures have the padding, + so this gives us the same extensibility as everyone else has. */ +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + unsigned int __flags; +#else +# if __BYTE_ORDER == __BIG_ENDIAN + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + unsigned char __flags; +# else + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; +# endif + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#elif __BYTE_ORDER == __BIG_ENDIAN +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..724450a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/struct_stat.h @@ -0,0 +1,127 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +#if defined __USE_FILE_OFFSET64 +# define __field64(type, type64, name) type64 name +#elif __WORDSIZE == 64 || defined __INO_T_MATCHES_INO64_T +# if defined __INO_T_MATCHES_INO64_T && !defined __OFF_T_MATCHES_OFF64_T +# error "ino_t and off_t must both be the same type" +# endif +# define __field64(type, type64, name) type name +#elif __BYTE_ORDER == __LITTLE_ENDIAN +# define __field64(type, type64, name) \ + type name __attribute__((__aligned__ (__alignof__ (type64)))); int __##name##_pad +#else +# define __field64(type, type64, name) \ + int __##name##_pad __attribute__((__aligned__ (__alignof__ (type64)))); type name +#endif + +struct stat + { + __dev_t st_dev; /* Device. */ + __field64(__ino_t, __ino64_t, st_ino); /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __field64(__off_t, __off64_t, st_size); /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __field64(__blkcnt_t, __blkcnt64_t, st_blocks); /* 512-byte blocks */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; + +#undef __field64 + +#ifdef __USE_LARGEFILE64 +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __dev_t __pad1; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + int __pad2; + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + int __glibc_reserved[2]; + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/time64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/time64.h new file mode 100644 index 00000000..1f823752 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/time64.h @@ -0,0 +1,36 @@ +/* bits/time64.h -- underlying types for __time64_t. RISC-V version. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TIME64_H +#define _BITS_TIME64_H 1 + +/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */ + +#if __WORDSIZE == 64 +/* If we already have 64-bit time type then use it. */ +# define __TIME64_T_TYPE __TIME_T_TYPE +#else +/* Define a 64-bit time type alongsize the 32-bit one. */ +# define __TIME64_T_TYPE __SQUAD_TYPE +#endif + +#endif /* bits/time64.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..04251ea7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/timesize.h @@ -0,0 +1,20 @@ +/* Bit size of the time_t type at glibc build time, general case. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE 64 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..45cc378a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/bits/wordsize.h @@ -0,0 +1,30 @@ +/* Determine the wordsize from the preprocessor defines. RISC-V version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if __riscv_xlen == (__SIZEOF_POINTER__ * 8) +# define __WORDSIZE __riscv_xlen +#else +# error unsupported ABI +#endif + +#define __WORDSIZE_TIME64_COMPAT32 1 + +#if __WORDSIZE == 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/fpu_control.h new file mode 100644 index 00000000..6a621ca8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/fpu_control.h @@ -0,0 +1,74 @@ +/* FPU control word bits. RISC-V version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#include + +#ifndef __riscv_flen + +# define _FPU_RESERVED 0xffffffff +# define _FPU_DEFAULT 0x00000000 +typedef unsigned int fpu_control_t; +# define _FPU_GETCW(cw) (cw) = 0 +# define _FPU_SETCW(cw) do { } while (0) +extern fpu_control_t __fpu_control; + +#else /* __riscv_flen */ + +# define _FPU_RESERVED 0 +# define _FPU_DEFAULT 0 +# define _FPU_IEEE _FPU_DEFAULT + +/* Type of the control word. */ +typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__))); + +/* Macros for accessing the hardware control word. */ +# define _FPU_GETCW(cw) __asm__ volatile ("frsr %0" : "=r" (cw)) +# define _FPU_SETCW(cw) __asm__ volatile ("fssr %z0" : : "rJ" (cw)) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +# define _FCLASS(x) (__extension__ ({ int __res; \ + if (sizeof (x) * 8 > __riscv_flen) __builtin_trap (); \ + if (sizeof (x) == 4) asm ("fclass.s %0, %1" : "=r" (__res) : "f" (x)); \ + else if (sizeof (x) == 8) asm ("fclass.d %0, %1" : "=r" (__res) : "f" (x)); \ + else __builtin_trap (); \ + __res; })) + +# define _FCLASS_MINF (1 << 0) +# define _FCLASS_MNORM (1 << 1) +# define _FCLASS_MSUBNORM (1 << 2) +# define _FCLASS_MZERO (1 << 3) +# define _FCLASS_PZERO (1 << 4) +# define _FCLASS_PSUBNORM (1 << 5) +# define _FCLASS_PNORM (1 << 6) +# define _FCLASS_PINF (1 << 7) +# define _FCLASS_SNAN (1 << 8) +# define _FCLASS_QNAN (1 << 9) +# define _FCLASS_ZERO (_FCLASS_MZERO | _FCLASS_PZERO) +# define _FCLASS_SUBNORM (_FCLASS_MSUBNORM | _FCLASS_PSUBNORM) +# define _FCLASS_NORM (_FCLASS_MNORM | _FCLASS_PNORM) +# define _FCLASS_INF (_FCLASS_MINF | _FCLASS_PINF) +# define _FCLASS_NAN (_FCLASS_SNAN | _FCLASS_QNAN) + +#endif /* __riscv_flen */ + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h new file mode 100644 index 00000000..0b66bda6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names-lp64d.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_RISCV64_LP64D_SO "ld-linux-riscv64-lp64d.so.1" +#define LD_SO "ld-linux-riscv64-lp64d.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..bd225932 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/lib-names.h @@ -0,0 +1,22 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 32 && defined __riscv_float_abi_double +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_double +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h new file mode 100644 index 00000000..a0a20640 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs-lp64d.h @@ -0,0 +1,24 @@ +/* This file is automatically generated. + It defines a symbol `__stub_FUNCTION' for each function + in the C library which is a stub, meaning it will fail + every time called, usually setting errno to ENOSYS. */ + +#ifdef _LIBC + #error Applications may not define the macro _LIBC +#endif + +#define __stub___compat_bdflush +#define __stub___compat_create_module +#define __stub___compat_get_kernel_syms +#define __stub___compat_query_module +#define __stub___compat_uselib +#define __stub_chflags +#define __stub_fchflags +#define __stub_fedisableexcept +#define __stub_feenableexcept +#define __stub_fegetexcept +#define __stub_gtty +#define __stub_revoke +#define __stub_setlogin +#define __stub_sigreturn +#define __stub_stty \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..833e9c36 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/gnu/stubs.h @@ -0,0 +1,18 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 32 && defined __riscv_float_abi_double +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_soft +# include +#endif +#if __WORDSIZE == 64 && defined __riscv_float_abi_double +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/asm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/asm.h new file mode 100644 index 00000000..ff8205da --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/asm.h @@ -0,0 +1,66 @@ +/* Miscellaneous macros. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_ASM_H +#define _SYS_ASM_H + +/* Macros to handle different pointer/register sizes for 32/64-bit code. */ +#if __riscv_xlen == 64 +# define PTRLOG 3 +# define SZREG 8 +# define REG_S sd +# define REG_L ld +#elif __riscv_xlen == 32 +# define PTRLOG 2 +# define SZREG 4 +# define REG_S sw +# define REG_L lw +#else +# error __riscv_xlen must equal 32 or 64 +#endif + +#if !defined __riscv_float_abi_soft +/* For ABI uniformity, reserve 8 bytes for floats, even if double-precision + floating-point is not supported in hardware. */ +# if defined __riscv_float_abi_double +# define FREG_L fld +# define FREG_S fsd +# define SZFREG 8 +# else +# error unsupported FLEN +# endif +#endif + +/* Declare leaf routine. */ +#define LEAF(symbol) \ + .globl symbol; \ + .align 2; \ + .type symbol,@function; \ +symbol: \ + cfi_startproc; + +/* Mark end of function. */ +#undef END +#define END(function) \ + cfi_endproc; \ + .size function,.-function + +/* Stack alignment. */ +#define ALMASK ~15 + +#endif /* sys/asm.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h new file mode 100644 index 00000000..599118a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/cachectl.h @@ -0,0 +1,32 @@ +/* RISC-V instruction cache flushing interface + Copyright (C) 2017-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _SYS_CACHECTL_H +#define _SYS_CACHECTL_H 1 + +#include + +__BEGIN_DECLS + +extern int __riscv_flush_icache (void *__start, void *__end, + unsigned long int __flags); + +__END_DECLS + +#endif /* sys/cachectl.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..4a110dba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/ucontext.h @@ -0,0 +1,110 @@ +/* struct ucontext definition, RISC-V version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +/* Don't rely on this, the interface is currently messed up and may need to + be broken to be fixed. */ +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +typedef unsigned long int __riscv_mc_gp_state[32]; + +#ifdef __USE_MISC +# define NGREG 32 + +# define REG_PC 0 +# define REG_RA 1 +# define REG_SP 2 +# define REG_TP 4 +# define REG_S0 8 +# define REG_S1 9 +# define REG_A0 10 +# define REG_S2 18 +# define REG_NARGS 8 + +typedef unsigned long int greg_t; + +/* Container for all general registers. */ +typedef __riscv_mc_gp_state gregset_t; + +/* Container for floating-point state. */ +typedef union __riscv_mc_fp_state fpregset_t; +#endif + +struct __riscv_mc_f_ext_state + { + unsigned int __f[32]; + unsigned int __fcsr; + }; + +struct __riscv_mc_d_ext_state + { + unsigned long long int __f[32]; + unsigned int __fcsr; + }; + +struct __riscv_mc_q_ext_state + { + unsigned long long int __f[64] __attribute__ ((__aligned__ (16))); + unsigned int __fcsr; + /* Reserved for expansion of sigcontext structure. Currently zeroed + upon signal, and must be zero upon sigreturn. */ + unsigned int __glibc_reserved[3]; + }; + +union __riscv_mc_fp_state + { + struct __riscv_mc_f_ext_state __f; + struct __riscv_mc_d_ext_state __d; + struct __riscv_mc_q_ext_state __q; + }; + +typedef struct mcontext_t + { + __riscv_mc_gp_state __gregs; + union __riscv_mc_fp_state __fpregs; + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __uc_flags; + struct ucontext_t *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + /* There's some padding here to allow sigset_t to be expanded in the + future. Though this is unlikely, other architectures put uc_sigmask + at the end of this structure and explicitly state it can be + expanded, so we didn't want to box ourselves in here. */ + char __glibc_reserved[1024 / 8 - sizeof (sigset_t)]; + /* We can't put uc_sigmask at the end of this structure because we need + to be able to expand sigcontext in the future. For example, the + vector ISA extension will almost certainly add ISA state. We want + to ensure all user-visible ISA state can be saved and restored via a + ucontext, so we're putting this at the end in order to allow for + infinite extensibility. Since we know this will be extended and we + assume sigset_t won't be extended an extreme amount, we're + prioritizing this. */ + mcontext_t uc_mcontext; + } ucontext_t; + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/user.h new file mode 100644 index 00000000..3b4e3e94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-gnu/sys/user.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + + + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..0f79bc56 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/alltypes.h @@ -0,0 +1,413 @@ +#define _Addr long +#define _Int64 long +#define _Reg long + +#define __BYTE_ORDER 1234 +#define __LONG_MAX 0x7fffffffffffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef int blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned int nlink_t; +#define __DEFINED_nlink_t +#endif + + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/fenv.h new file mode 100644 index 00000000..b260c6f6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/fenv.h @@ -0,0 +1,17 @@ +#define FE_INVALID 16 +#define FE_DIVBYZERO 8 +#define FE_OVERFLOW 4 +#define FE_UNDERFLOW 2 +#define FE_INEXACT 1 + +#define FE_ALL_EXCEPT 31 + +#define FE_TONEAREST 0 +#define FE_DOWNWARD 2 +#define FE_UPWARD 3 +#define FE_TOWARDZERO 1 + +typedef unsigned int fexcept_t; +typedef unsigned int fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/posix.h new file mode 100644 index 00000000..b33ac2f0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_LP64_OFF64 1 +#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..3a0b69a6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long __jmp_buf[26]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/signal.h new file mode 100644 index 00000000..bd8e3ffc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/signal.h @@ -0,0 +1,119 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +# define MINSIGSTKSZ 2048 +# define SIGSTKSZ 8192 +#endif + +typedef unsigned long __riscv_mc_gp_state[32]; + +struct __riscv_mc_f_ext_state { + unsigned int __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_d_ext_state { + unsigned long long __f[32]; + unsigned int __fcsr; +}; + +struct __riscv_mc_q_ext_state { + unsigned long long __f[64] __attribute__((aligned(16))); + unsigned int __fcsr; + unsigned int __reserved[3]; +}; + +union __riscv_mc_fp_state { + struct __riscv_mc_f_ext_state __f; + struct __riscv_mc_d_ext_state __d; + struct __riscv_mc_q_ext_state __q; +}; + +typedef struct mcontext_t { + __riscv_mc_gp_state __gregs; + union __riscv_mc_fp_state __fpregs; +} mcontext_t; + +#if defined(_GNU_SOURCE) +#define REG_PC 0 +#define REG_RA 1 +#define REG_SP 2 +#define REG_TP 4 +#define REG_S0 8 +#define REG_S1 9 +#define REG_A0 10 +#define REG_S2 18 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned long greg_t; +typedef unsigned long gregset_t[32]; +typedef union __riscv_mc_fp_state fpregset_t; +struct sigcontext { + gregset_t gregs; + fpregset_t fpregs; +}; +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext +{ + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +} ucontext_t; + +#define SA_NOCLDSTOP 1 +#define SA_NOCLDWAIT 2 +#define SA_SIGINFO 4 +#define SA_ONSTACK 0x08000000 +#define SA_RESTART 0x10000000 +#define SA_NODEFER 0x40000000 +#define SA_RESETHAND 0x80000000 + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/stdint.h new file mode 100644 index 00000000..02714d73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/syscall.h new file mode 100644 index 00000000..63c6dd80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/riscv64-linux-musl/bits/syscall.h @@ -0,0 +1,617 @@ +#define __NR_io_setup 0 +#define __NR_io_destroy 1 +#define __NR_io_submit 2 +#define __NR_io_cancel 3 +#define __NR_io_getevents 4 +#define __NR_setxattr 5 +#define __NR_lsetxattr 6 +#define __NR_fsetxattr 7 +#define __NR_getxattr 8 +#define __NR_lgetxattr 9 +#define __NR_fgetxattr 10 +#define __NR_listxattr 11 +#define __NR_llistxattr 12 +#define __NR_flistxattr 13 +#define __NR_removexattr 14 +#define __NR_lremovexattr 15 +#define __NR_fremovexattr 16 +#define __NR_getcwd 17 +#define __NR_lookup_dcookie 18 +#define __NR_eventfd2 19 +#define __NR_epoll_create1 20 +#define __NR_epoll_ctl 21 +#define __NR_epoll_pwait 22 +#define __NR_dup 23 +#define __NR_dup3 24 +#define __NR_fcntl 25 +#define __NR_inotify_init1 26 +#define __NR_inotify_add_watch 27 +#define __NR_inotify_rm_watch 28 +#define __NR_ioctl 29 +#define __NR_ioprio_set 30 +#define __NR_ioprio_get 31 +#define __NR_flock 32 +#define __NR_mknodat 33 +#define __NR_mkdirat 34 +#define __NR_unlinkat 35 +#define __NR_symlinkat 36 +#define __NR_linkat 37 +#define __NR_umount2 39 +#define __NR_mount 40 +#define __NR_pivot_root 41 +#define __NR_nfsservctl 42 +#define __NR_statfs 43 +#define __NR_fstatfs 44 +#define __NR_truncate 45 +#define __NR_ftruncate 46 +#define __NR_fallocate 47 +#define __NR_faccessat 48 +#define __NR_chdir 49 +#define __NR_fchdir 50 +#define __NR_chroot 51 +#define __NR_fchmod 52 +#define __NR_fchmodat 53 +#define __NR_fchownat 54 +#define __NR_fchown 55 +#define __NR_openat 56 +#define __NR_close 57 +#define __NR_vhangup 58 +#define __NR_pipe2 59 +#define __NR_quotactl 60 +#define __NR_getdents64 61 +#define __NR_lseek 62 +#define __NR_read 63 +#define __NR_write 64 +#define __NR_readv 65 +#define __NR_writev 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_preadv 69 +#define __NR_pwritev 70 +#define __NR_sendfile 71 +#define __NR_pselect6 72 +#define __NR_ppoll 73 +#define __NR_signalfd4 74 +#define __NR_vmsplice 75 +#define __NR_splice 76 +#define __NR_tee 77 +#define __NR_readlinkat 78 +#define __NR_newfstatat 79 +#define __NR_fstat 80 +#define __NR_sync 81 +#define __NR_fsync 82 +#define __NR_fdatasync 83 +#define __NR_sync_file_range 84 +#define __NR_timerfd_create 85 +#define __NR_timerfd_settime 86 +#define __NR_timerfd_gettime 87 +#define __NR_utimensat 88 +#define __NR_acct 89 +#define __NR_capget 90 +#define __NR_capset 91 +#define __NR_personality 92 +#define __NR_exit 93 +#define __NR_exit_group 94 +#define __NR_waitid 95 +#define __NR_set_tid_address 96 +#define __NR_unshare 97 +#define __NR_futex 98 +#define __NR_set_robust_list 99 +#define __NR_get_robust_list 100 +#define __NR_nanosleep 101 +#define __NR_getitimer 102 +#define __NR_setitimer 103 +#define __NR_kexec_load 104 +#define __NR_init_module 105 +#define __NR_delete_module 106 +#define __NR_timer_create 107 +#define __NR_timer_gettime 108 +#define __NR_timer_getoverrun 109 +#define __NR_timer_settime 110 +#define __NR_timer_delete 111 +#define __NR_clock_settime 112 +#define __NR_clock_gettime 113 +#define __NR_clock_getres 114 +#define __NR_clock_nanosleep 115 +#define __NR_syslog 116 +#define __NR_ptrace 117 +#define __NR_sched_setparam 118 +#define __NR_sched_setscheduler 119 +#define __NR_sched_getscheduler 120 +#define __NR_sched_getparam 121 +#define __NR_sched_setaffinity 122 +#define __NR_sched_getaffinity 123 +#define __NR_sched_yield 124 +#define __NR_sched_get_priority_max 125 +#define __NR_sched_get_priority_min 126 +#define __NR_sched_rr_get_interval 127 +#define __NR_restart_syscall 128 +#define __NR_kill 129 +#define __NR_tkill 130 +#define __NR_tgkill 131 +#define __NR_sigaltstack 132 +#define __NR_rt_sigsuspend 133 +#define __NR_rt_sigaction 134 +#define __NR_rt_sigprocmask 135 +#define __NR_rt_sigpending 136 +#define __NR_rt_sigtimedwait 137 +#define __NR_rt_sigqueueinfo 138 +#define __NR_rt_sigreturn 139 +#define __NR_setpriority 140 +#define __NR_getpriority 141 +#define __NR_reboot 142 +#define __NR_setregid 143 +#define __NR_setgid 144 +#define __NR_setreuid 145 +#define __NR_setuid 146 +#define __NR_setresuid 147 +#define __NR_getresuid 148 +#define __NR_setresgid 149 +#define __NR_getresgid 150 +#define __NR_setfsuid 151 +#define __NR_setfsgid 152 +#define __NR_times 153 +#define __NR_setpgid 154 +#define __NR_getpgid 155 +#define __NR_getsid 156 +#define __NR_setsid 157 +#define __NR_getgroups 158 +#define __NR_setgroups 159 +#define __NR_uname 160 +#define __NR_sethostname 161 +#define __NR_setdomainname 162 +#define __NR_getrlimit 163 +#define __NR_setrlimit 164 +#define __NR_getrusage 165 +#define __NR_umask 166 +#define __NR_prctl 167 +#define __NR_getcpu 168 +#define __NR_gettimeofday 169 +#define __NR_settimeofday 170 +#define __NR_adjtimex 171 +#define __NR_getpid 172 +#define __NR_getppid 173 +#define __NR_getuid 174 +#define __NR_geteuid 175 +#define __NR_getgid 176 +#define __NR_getegid 177 +#define __NR_gettid 178 +#define __NR_sysinfo 179 +#define __NR_mq_open 180 +#define __NR_mq_unlink 181 +#define __NR_mq_timedsend 182 +#define __NR_mq_timedreceive 183 +#define __NR_mq_notify 184 +#define __NR_mq_getsetattr 185 +#define __NR_msgget 186 +#define __NR_msgctl 187 +#define __NR_msgrcv 188 +#define __NR_msgsnd 189 +#define __NR_semget 190 +#define __NR_semctl 191 +#define __NR_semtimedop 192 +#define __NR_semop 193 +#define __NR_shmget 194 +#define __NR_shmctl 195 +#define __NR_shmat 196 +#define __NR_shmdt 197 +#define __NR_socket 198 +#define __NR_socketpair 199 +#define __NR_bind 200 +#define __NR_listen 201 +#define __NR_accept 202 +#define __NR_connect 203 +#define __NR_getsockname 204 +#define __NR_getpeername 205 +#define __NR_sendto 206 +#define __NR_recvfrom 207 +#define __NR_setsockopt 208 +#define __NR_getsockopt 209 +#define __NR_shutdown 210 +#define __NR_sendmsg 211 +#define __NR_recvmsg 212 +#define __NR_readahead 213 +#define __NR_brk 214 +#define __NR_munmap 215 +#define __NR_mremap 216 +#define __NR_add_key 217 +#define __NR_request_key 218 +#define __NR_keyctl 219 +#define __NR_clone 220 +#define __NR_execve 221 +#define __NR_mmap 222 +#define __NR_fadvise64 223 +#define __NR_swapon 224 +#define __NR_swapoff 225 +#define __NR_mprotect 226 +#define __NR_msync 227 +#define __NR_mlock 228 +#define __NR_munlock 229 +#define __NR_mlockall 230 +#define __NR_munlockall 231 +#define __NR_mincore 232 +#define __NR_madvise 233 +#define __NR_remap_file_pages 234 +#define __NR_mbind 235 +#define __NR_get_mempolicy 236 +#define __NR_set_mempolicy 237 +#define __NR_migrate_pages 238 +#define __NR_move_pages 239 +#define __NR_rt_tgsigqueueinfo 240 +#define __NR_perf_event_open 241 +#define __NR_accept4 242 +#define __NR_recvmmsg 243 +#define __NR_arch_specific_syscall 244 +#define __NR_wait4 260 +#define __NR_prlimit64 261 +#define __NR_fanotify_init 262 +#define __NR_fanotify_mark 263 +#define __NR_name_to_handle_at 264 +#define __NR_open_by_handle_at 265 +#define __NR_clock_adjtime 266 +#define __NR_syncfs 267 +#define __NR_setns 268 +#define __NR_sendmmsg 269 +#define __NR_process_vm_readv 270 +#define __NR_process_vm_writev 271 +#define __NR_kcmp 272 +#define __NR_finit_module 273 +#define __NR_sched_setattr 274 +#define __NR_sched_getattr 275 +#define __NR_renameat2 276 +#define __NR_seccomp 277 +#define __NR_getrandom 278 +#define __NR_memfd_create 279 +#define __NR_bpf 280 +#define __NR_execveat 281 +#define __NR_userfaultfd 282 +#define __NR_membarrier 283 +#define __NR_mlock2 284 +#define __NR_copy_file_range 285 +#define __NR_preadv2 286 +#define __NR_pwritev2 287 +#define __NR_pkey_mprotect 288 +#define __NR_pkey_alloc 289 +#define __NR_pkey_free 290 +#define __NR_statx 291 +#define __NR_io_pgetevents 292 +#define __NR_rseq 293 +#define __NR_kexec_file_load 294 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 + +#define __NR_sysriscv __NR_arch_specific_syscall +#define __NR_riscv_flush_icache (__NR_sysriscv + 15) +#define SYS_io_setup 0 +#define SYS_io_destroy 1 +#define SYS_io_submit 2 +#define SYS_io_cancel 3 +#define SYS_io_getevents 4 +#define SYS_setxattr 5 +#define SYS_lsetxattr 6 +#define SYS_fsetxattr 7 +#define SYS_getxattr 8 +#define SYS_lgetxattr 9 +#define SYS_fgetxattr 10 +#define SYS_listxattr 11 +#define SYS_llistxattr 12 +#define SYS_flistxattr 13 +#define SYS_removexattr 14 +#define SYS_lremovexattr 15 +#define SYS_fremovexattr 16 +#define SYS_getcwd 17 +#define SYS_lookup_dcookie 18 +#define SYS_eventfd2 19 +#define SYS_epoll_create1 20 +#define SYS_epoll_ctl 21 +#define SYS_epoll_pwait 22 +#define SYS_dup 23 +#define SYS_dup3 24 +#define SYS_fcntl 25 +#define SYS_inotify_init1 26 +#define SYS_inotify_add_watch 27 +#define SYS_inotify_rm_watch 28 +#define SYS_ioctl 29 +#define SYS_ioprio_set 30 +#define SYS_ioprio_get 31 +#define SYS_flock 32 +#define SYS_mknodat 33 +#define SYS_mkdirat 34 +#define SYS_unlinkat 35 +#define SYS_symlinkat 36 +#define SYS_linkat 37 +#define SYS_umount2 39 +#define SYS_mount 40 +#define SYS_pivot_root 41 +#define SYS_nfsservctl 42 +#define SYS_statfs 43 +#define SYS_fstatfs 44 +#define SYS_truncate 45 +#define SYS_ftruncate 46 +#define SYS_fallocate 47 +#define SYS_faccessat 48 +#define SYS_chdir 49 +#define SYS_fchdir 50 +#define SYS_chroot 51 +#define SYS_fchmod 52 +#define SYS_fchmodat 53 +#define SYS_fchownat 54 +#define SYS_fchown 55 +#define SYS_openat 56 +#define SYS_close 57 +#define SYS_vhangup 58 +#define SYS_pipe2 59 +#define SYS_quotactl 60 +#define SYS_getdents64 61 +#define SYS_lseek 62 +#define SYS_read 63 +#define SYS_write 64 +#define SYS_readv 65 +#define SYS_writev 66 +#define SYS_pread64 67 +#define SYS_pwrite64 68 +#define SYS_preadv 69 +#define SYS_pwritev 70 +#define SYS_sendfile 71 +#define SYS_pselect6 72 +#define SYS_ppoll 73 +#define SYS_signalfd4 74 +#define SYS_vmsplice 75 +#define SYS_splice 76 +#define SYS_tee 77 +#define SYS_readlinkat 78 +#define SYS_newfstatat 79 +#define SYS_fstat 80 +#define SYS_sync 81 +#define SYS_fsync 82 +#define SYS_fdatasync 83 +#define SYS_sync_file_range 84 +#define SYS_timerfd_create 85 +#define SYS_timerfd_settime 86 +#define SYS_timerfd_gettime 87 +#define SYS_utimensat 88 +#define SYS_acct 89 +#define SYS_capget 90 +#define SYS_capset 91 +#define SYS_personality 92 +#define SYS_exit 93 +#define SYS_exit_group 94 +#define SYS_waitid 95 +#define SYS_set_tid_address 96 +#define SYS_unshare 97 +#define SYS_futex 98 +#define SYS_set_robust_list 99 +#define SYS_get_robust_list 100 +#define SYS_nanosleep 101 +#define SYS_getitimer 102 +#define SYS_setitimer 103 +#define SYS_kexec_load 104 +#define SYS_init_module 105 +#define SYS_delete_module 106 +#define SYS_timer_create 107 +#define SYS_timer_gettime 108 +#define SYS_timer_getoverrun 109 +#define SYS_timer_settime 110 +#define SYS_timer_delete 111 +#define SYS_clock_settime 112 +#define SYS_clock_gettime 113 +#define SYS_clock_getres 114 +#define SYS_clock_nanosleep 115 +#define SYS_syslog 116 +#define SYS_ptrace 117 +#define SYS_sched_setparam 118 +#define SYS_sched_setscheduler 119 +#define SYS_sched_getscheduler 120 +#define SYS_sched_getparam 121 +#define SYS_sched_setaffinity 122 +#define SYS_sched_getaffinity 123 +#define SYS_sched_yield 124 +#define SYS_sched_get_priority_max 125 +#define SYS_sched_get_priority_min 126 +#define SYS_sched_rr_get_interval 127 +#define SYS_restart_syscall 128 +#define SYS_kill 129 +#define SYS_tkill 130 +#define SYS_tgkill 131 +#define SYS_sigaltstack 132 +#define SYS_rt_sigsuspend 133 +#define SYS_rt_sigaction 134 +#define SYS_rt_sigprocmask 135 +#define SYS_rt_sigpending 136 +#define SYS_rt_sigtimedwait 137 +#define SYS_rt_sigqueueinfo 138 +#define SYS_rt_sigreturn 139 +#define SYS_setpriority 140 +#define SYS_getpriority 141 +#define SYS_reboot 142 +#define SYS_setregid 143 +#define SYS_setgid 144 +#define SYS_setreuid 145 +#define SYS_setuid 146 +#define SYS_setresuid 147 +#define SYS_getresuid 148 +#define SYS_setresgid 149 +#define SYS_getresgid 150 +#define SYS_setfsuid 151 +#define SYS_setfsgid 152 +#define SYS_times 153 +#define SYS_setpgid 154 +#define SYS_getpgid 155 +#define SYS_getsid 156 +#define SYS_setsid 157 +#define SYS_getgroups 158 +#define SYS_setgroups 159 +#define SYS_uname 160 +#define SYS_sethostname 161 +#define SYS_setdomainname 162 +#define SYS_getrlimit 163 +#define SYS_setrlimit 164 +#define SYS_getrusage 165 +#define SYS_umask 166 +#define SYS_prctl 167 +#define SYS_getcpu 168 +#define SYS_gettimeofday 169 +#define SYS_settimeofday 170 +#define SYS_adjtimex 171 +#define SYS_getpid 172 +#define SYS_getppid 173 +#define SYS_getuid 174 +#define SYS_geteuid 175 +#define SYS_getgid 176 +#define SYS_getegid 177 +#define SYS_gettid 178 +#define SYS_sysinfo 179 +#define SYS_mq_open 180 +#define SYS_mq_unlink 181 +#define SYS_mq_timedsend 182 +#define SYS_mq_timedreceive 183 +#define SYS_mq_notify 184 +#define SYS_mq_getsetattr 185 +#define SYS_msgget 186 +#define SYS_msgctl 187 +#define SYS_msgrcv 188 +#define SYS_msgsnd 189 +#define SYS_semget 190 +#define SYS_semctl 191 +#define SYS_semtimedop 192 +#define SYS_semop 193 +#define SYS_shmget 194 +#define SYS_shmctl 195 +#define SYS_shmat 196 +#define SYS_shmdt 197 +#define SYS_socket 198 +#define SYS_socketpair 199 +#define SYS_bind 200 +#define SYS_listen 201 +#define SYS_accept 202 +#define SYS_connect 203 +#define SYS_getsockname 204 +#define SYS_getpeername 205 +#define SYS_sendto 206 +#define SYS_recvfrom 207 +#define SYS_setsockopt 208 +#define SYS_getsockopt 209 +#define SYS_shutdown 210 +#define SYS_sendmsg 211 +#define SYS_recvmsg 212 +#define SYS_readahead 213 +#define SYS_brk 214 +#define SYS_munmap 215 +#define SYS_mremap 216 +#define SYS_add_key 217 +#define SYS_request_key 218 +#define SYS_keyctl 219 +#define SYS_clone 220 +#define SYS_execve 221 +#define SYS_mmap 222 +#define SYS_fadvise64 223 +#define SYS_swapon 224 +#define SYS_swapoff 225 +#define SYS_mprotect 226 +#define SYS_msync 227 +#define SYS_mlock 228 +#define SYS_munlock 229 +#define SYS_mlockall 230 +#define SYS_munlockall 231 +#define SYS_mincore 232 +#define SYS_madvise 233 +#define SYS_remap_file_pages 234 +#define SYS_mbind 235 +#define SYS_get_mempolicy 236 +#define SYS_set_mempolicy 237 +#define SYS_migrate_pages 238 +#define SYS_move_pages 239 +#define SYS_rt_tgsigqueueinfo 240 +#define SYS_perf_event_open 241 +#define SYS_accept4 242 +#define SYS_recvmmsg 243 +#define SYS_arch_specific_syscall 244 +#define SYS_wait4 260 +#define SYS_prlimit64 261 +#define SYS_fanotify_init 262 +#define SYS_fanotify_mark 263 +#define SYS_name_to_handle_at 264 +#define SYS_open_by_handle_at 265 +#define SYS_clock_adjtime 266 +#define SYS_syncfs 267 +#define SYS_setns 268 +#define SYS_sendmmsg 269 +#define SYS_process_vm_readv 270 +#define SYS_process_vm_writev 271 +#define SYS_kcmp 272 +#define SYS_finit_module 273 +#define SYS_sched_setattr 274 +#define SYS_sched_getattr 275 +#define SYS_renameat2 276 +#define SYS_seccomp 277 +#define SYS_getrandom 278 +#define SYS_memfd_create 279 +#define SYS_bpf 280 +#define SYS_execveat 281 +#define SYS_userfaultfd 282 +#define SYS_membarrier 283 +#define SYS_mlock2 284 +#define SYS_copy_file_range 285 +#define SYS_preadv2 286 +#define SYS_pwritev2 287 +#define SYS_pkey_mprotect 288 +#define SYS_pkey_alloc 289 +#define SYS_pkey_free 290 +#define SYS_statx 291 +#define SYS_io_pgetevents 292 +#define SYS_rseq 293 +#define SYS_kexec_file_load 294 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 +#define SYS_sysriscv __NR_arch_specific_syscall +#define SYS_riscv_flush_icache (__NR_sysriscv + 15) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/auxvec.h new file mode 100644 index 00000000..26c9f0ee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/auxvec.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASMS390_AUXVEC_H +#define __ASMS390_AUXVEC_H + +#define AT_SYSINFO_EHDR 33 + +#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..a296696b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bitsperlong.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_S390_BITSPERLONG_H +#define __ASM_S390_BITSPERLONG_H + +#ifndef __s390x__ +#define __BITS_PER_LONG 32 +#else +#define __BITS_PER_LONG 64 +#endif + +#include + +#endif /* __ASM_S390_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bpf_perf_event.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bpf_perf_event.h new file mode 100644 index 00000000..f1310f85 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/bpf_perf_event.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_BPF_PERF_EVENT_H__ +#define __ASM_BPF_PERF_EVENT_H__ + +#include + +typedef user_pt_regs bpf_user_pt_regs_t; + +#endif /* __ASM_BPF_PERF_EVENT_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/byteorder.h new file mode 100644 index 00000000..b1405c0a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/byteorder.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _S390_BYTEORDER_H +#define _S390_BYTEORDER_H + +#include + +#endif /* _S390_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chpid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chpid.h new file mode 100644 index 00000000..aff64a6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chpid.h @@ -0,0 +1,23 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright IBM Corp. 2007, 2012 + * Author(s): Peter Oberparleiter + */ + +#ifndef _ASM_S390_CHPID_H +#define _ASM_S390_CHPID_H + +#include +#include + +#define __MAX_CHPID 255 + +struct chp_id { + __u8 reserved1; + __u8 cssid; + __u8 reserved2; + __u8 id; +} __attribute__((packed)); + + +#endif /* _ASM_S390_CHPID_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chsc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chsc.h new file mode 100644 index 00000000..0a36f790 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/chsc.h @@ -0,0 +1,144 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * ioctl interface for /dev/chsc + * + * Copyright IBM Corp. 2008, 2012 + * Author(s): Cornelia Huck + */ + +#ifndef _ASM_CHSC_H +#define _ASM_CHSC_H + +#include +#include +#include +#include + +#define CHSC_SIZE 0x1000 + +struct chsc_async_header { + __u16 length; + __u16 code; + __u32 cmd_dependend; + __u32 key : 4; + __u32 : 28; + struct subchannel_id sid; +}; + +struct chsc_async_area { + struct chsc_async_header header; + __u8 data[CHSC_SIZE - sizeof(struct chsc_async_header)]; +}; + +struct chsc_header { + __u16 length; + __u16 code; +}; + +struct chsc_sync_area { + struct chsc_header header; + __u8 data[CHSC_SIZE - sizeof(struct chsc_header)]; +}; + +struct chsc_response_struct { + __u16 length; + __u16 code; + __u32 parms; + __u8 data[CHSC_SIZE - 2 * sizeof(__u16) - sizeof(__u32)]; +}; + +struct chsc_chp_cd { + struct chp_id chpid; + int m; + int fmt; + struct chsc_response_struct cpcb; +}; + +struct chsc_cu_cd { + __u16 cun; + __u8 cssid; + int m; + int fmt; + struct chsc_response_struct cucb; +}; + +struct chsc_sch_cud { + struct subchannel_id schid; + int fmt; + struct chsc_response_struct scub; +}; + +struct conf_id { + int m; + __u8 cssid; + __u8 ssid; +}; + +struct chsc_conf_info { + struct conf_id id; + int fmt; + struct chsc_response_struct scid; +}; + +struct ccl_parm_chpid { + int m; + struct chp_id chp; +}; + +struct ccl_parm_cssids { + __u8 f_cssid; + __u8 l_cssid; +}; + +struct chsc_comp_list { + struct { + enum { + CCL_CU_ON_CHP = 1, + CCL_CHP_TYPE_CAP = 2, + CCL_CSS_IMG = 4, + CCL_CSS_IMG_CONF_CHAR = 5, + CCL_IOP_CHP = 6, + } ctype; + int fmt; + struct ccl_parm_chpid chpid; + struct ccl_parm_cssids cssids; + } req; + struct chsc_response_struct sccl; +}; + +struct chsc_dcal { + struct { + enum { + DCAL_CSS_IID_PN = 4, + } atype; + __u32 list_parm[2]; + int fmt; + } req; + struct chsc_response_struct sdcal; +}; + +struct chsc_cpd_info { + struct chp_id chpid; + int m; + int fmt; + int rfmt; + int c; + struct chsc_response_struct chpdb; +}; + +#define CHSC_IOCTL_MAGIC 'c' + +#define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area) +#define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \ + struct chsc_chp_cd) +#define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd) +#define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud) +#define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info) +#define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list) +#define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info) +#define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal) +#define CHSC_START_SYNC _IOWR(CHSC_IOCTL_MAGIC, 0x89, struct chsc_sync_area) +#define CHSC_ON_CLOSE_SET _IOWR(CHSC_IOCTL_MAGIC, 0x8a, struct chsc_async_area) +#define CHSC_ON_CLOSE_REMOVE _IO(CHSC_IOCTL_MAGIC, 0x8b) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/clp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/clp.h new file mode 100644 index 00000000..51155bda --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/clp.h @@ -0,0 +1,29 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * ioctl interface for /dev/clp + * + * Copyright IBM Corp. 2016 + * Author(s): Martin Schwidefsky + */ + +#ifndef _ASM_CLP_H +#define _ASM_CLP_H + +#include +#include + +struct clp_req { + unsigned int c : 1; + unsigned int r : 1; + unsigned int lps : 6; + unsigned int cmd : 8; + unsigned int : 16; + unsigned int reserved; + __u64 data_p; +}; + +#define CLP_IOCTL_MAGIC 'c' + +#define CLP_SYNC _IOWR(CLP_IOCTL_MAGIC, 0xC1, struct clp_req) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/cmb.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/cmb.h new file mode 100644 index 00000000..40ba499b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/cmb.h @@ -0,0 +1,54 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef S390_CMB_H +#define S390_CMB_H + +#include + +/** + * struct cmbdata - channel measurement block data for user space + * @size: size of the stored data + * @elapsed_time: time since last sampling + * @ssch_rsch_count: number of ssch and rsch + * @sample_count: number of samples + * @device_connect_time: time of device connect + * @function_pending_time: time of function pending + * @device_disconnect_time: time of device disconnect + * @control_unit_queuing_time: time of control unit queuing + * @device_active_only_time: time of device active only + * @device_busy_time: time of device busy (ext. format) + * @initial_command_response_time: initial command response time (ext. format) + * + * All values are stored as 64 bit for simplicity, especially + * in 32 bit emulation mode. All time values are normalized to + * nanoseconds. + * Currently, two formats are known, which differ by the size of + * this structure, i.e. the last two members are only set when + * the extended channel measurement facility (first shipped in + * z990 machines) is activated. + * Potentially, more fields could be added, which would result in a + * new ioctl number. + */ +struct cmbdata { + __u64 size; + __u64 elapsed_time; + /* basic and extended format: */ + __u64 ssch_rsch_count; + __u64 sample_count; + __u64 device_connect_time; + __u64 function_pending_time; + __u64 device_disconnect_time; + __u64 control_unit_queuing_time; + __u64 device_active_only_time; + /* extended format only: */ + __u64 device_busy_time; + __u64 initial_command_response_time; +}; + +/* enable channel measurement */ +#define BIODASDCMFENABLE _IO(DASD_IOCTL_LETTER, 32) +/* enable channel measurement */ +#define BIODASDCMFDISABLE _IO(DASD_IOCTL_LETTER, 33) +/* read channel measurement data */ +#define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER, 33, struct cmbdata) + +#endif /* S390_CMB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/dasd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/dasd.h new file mode 100644 index 00000000..961a582d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/dasd.h @@ -0,0 +1,353 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Author(s)......: Holger Smolinski + * Bugreports.to..: + * Copyright IBM Corp. 1999, 2000 + * EMC Symmetrix ioctl Copyright EMC Corporation, 2008 + * Author.........: Nigel Hislop + * + * This file is the interface of the DASD device driver, which is exported to user space + * any future changes wrt the API will result in a change of the APIVERSION reported + * to userspace by the DASDAPIVER-ioctl + * + */ + +#ifndef DASD_H +#define DASD_H +#include +#include + +#define DASD_IOCTL_LETTER 'D' + +#define DASD_API_VERSION 6 + +/* + * struct dasd_information2_t + * represents any data about the device, which is visible to userspace. + * including format and featueres. + */ +typedef struct dasd_information2_t { + unsigned int devno; /* S/390 devno */ + unsigned int real_devno; /* for aliases */ + unsigned int schid; /* S/390 subchannel identifier */ + unsigned int cu_type : 16; /* from SenseID */ + unsigned int cu_model : 8; /* from SenseID */ + unsigned int dev_type : 16; /* from SenseID */ + unsigned int dev_model : 8; /* from SenseID */ + unsigned int open_count; + unsigned int req_queue_len; + unsigned int chanq_len; /* length of chanq */ + char type[4]; /* from discipline.name, 'none' for unknown */ + unsigned int status; /* current device level */ + unsigned int label_block; /* where to find the VOLSER */ + unsigned int FBA_layout; /* fixed block size (like AIXVOL) */ + unsigned int characteristics_size; + unsigned int confdata_size; + char characteristics[64]; /* from read_device_characteristics */ + char configuration_data[256]; /* from read_configuration_data */ + unsigned int format; /* format info like formatted/cdl/ldl/... */ + unsigned int features; /* dasd features like 'ro',... */ + unsigned int reserved0; /* reserved for further use ,... */ + unsigned int reserved1; /* reserved for further use ,... */ + unsigned int reserved2; /* reserved for further use ,... */ + unsigned int reserved3; /* reserved for further use ,... */ + unsigned int reserved4; /* reserved for further use ,... */ + unsigned int reserved5; /* reserved for further use ,... */ + unsigned int reserved6; /* reserved for further use ,... */ + unsigned int reserved7; /* reserved for further use ,... */ +} dasd_information2_t; + +/* + * values to be used for dasd_information_t.format + * 0x00: NOT formatted + * 0x01: Linux disc layout + * 0x02: Common disc layout + */ +#define DASD_FORMAT_NONE 0 +#define DASD_FORMAT_LDL 1 +#define DASD_FORMAT_CDL 2 +/* + * values to be used for dasd_information_t.features + * 0x100: default features + * 0x001: readonly (ro) + * 0x002: use diag discipline (diag) + * 0x004: set the device initially online (internal use only) + * 0x008: enable ERP related logging + * 0x010: allow I/O to fail on lost paths + * 0x020: allow I/O to fail when a lock was stolen + * 0x040: give access to raw eckd data + * 0x080: enable discard support + * 0x100: enable autodisable for IFCC errors (default) + * 0x200: enable requeue of all requests on autoquiesce + */ +#define DASD_FEATURE_READONLY 0x001 +#define DASD_FEATURE_USEDIAG 0x002 +#define DASD_FEATURE_INITIAL_ONLINE 0x004 +#define DASD_FEATURE_ERPLOG 0x008 +#define DASD_FEATURE_FAILFAST 0x010 +#define DASD_FEATURE_FAILONSLCK 0x020 +#define DASD_FEATURE_USERAW 0x040 +#define DASD_FEATURE_DISCARD 0x080 +#define DASD_FEATURE_PATH_AUTODISABLE 0x100 +#define DASD_FEATURE_REQUEUEQUIESCE 0x200 +#define DASD_FEATURE_DEFAULT DASD_FEATURE_PATH_AUTODISABLE + +#define DASD_PARTN_BITS 2 + +/* + * struct dasd_information_t + * represents any data about the data, which is visible to userspace + */ +typedef struct dasd_information_t { + unsigned int devno; /* S/390 devno */ + unsigned int real_devno; /* for aliases */ + unsigned int schid; /* S/390 subchannel identifier */ + unsigned int cu_type : 16; /* from SenseID */ + unsigned int cu_model : 8; /* from SenseID */ + unsigned int dev_type : 16; /* from SenseID */ + unsigned int dev_model : 8; /* from SenseID */ + unsigned int open_count; + unsigned int req_queue_len; + unsigned int chanq_len; /* length of chanq */ + char type[4]; /* from discipline.name, 'none' for unknown */ + unsigned int status; /* current device level */ + unsigned int label_block; /* where to find the VOLSER */ + unsigned int FBA_layout; /* fixed block size (like AIXVOL) */ + unsigned int characteristics_size; + unsigned int confdata_size; + char characteristics[64]; /* from read_device_characteristics */ + char configuration_data[256]; /* from read_configuration_data */ +} dasd_information_t; + +/* + * Read Subsystem Data - Performance Statistics + */ +typedef struct dasd_rssd_perf_stats_t { + unsigned char invalid:1; + unsigned char format:3; + unsigned char data_format:4; + unsigned char unit_address; + unsigned short device_status; + unsigned int nr_read_normal; + unsigned int nr_read_normal_hits; + unsigned int nr_write_normal; + unsigned int nr_write_fast_normal_hits; + unsigned int nr_read_seq; + unsigned int nr_read_seq_hits; + unsigned int nr_write_seq; + unsigned int nr_write_fast_seq_hits; + unsigned int nr_read_cache; + unsigned int nr_read_cache_hits; + unsigned int nr_write_cache; + unsigned int nr_write_fast_cache_hits; + unsigned int nr_inhibit_cache; + unsigned int nr_bybass_cache; + unsigned int nr_seq_dasd_to_cache; + unsigned int nr_dasd_to_cache; + unsigned int nr_cache_to_dasd; + unsigned int nr_delayed_fast_write; + unsigned int nr_normal_fast_write; + unsigned int nr_seq_fast_write; + unsigned int nr_cache_miss; + unsigned char status2; + unsigned int nr_quick_write_promotes; + unsigned char reserved; + unsigned short ssid; + unsigned char reseved2[96]; +} __attribute__((packed)) dasd_rssd_perf_stats_t; + +/* + * struct profile_info_t + * holds the profinling information + */ +typedef struct dasd_profile_info_t { + unsigned int dasd_io_reqs; /* number of requests processed at all */ + unsigned int dasd_io_sects; /* number of sectors processed at all */ + unsigned int dasd_io_secs[32]; /* histogram of request's sizes */ + unsigned int dasd_io_times[32]; /* histogram of requests's times */ + unsigned int dasd_io_timps[32]; /* histogram of requests's times per sector */ + unsigned int dasd_io_time1[32]; /* histogram of time from build to start */ + unsigned int dasd_io_time2[32]; /* histogram of time from start to irq */ + unsigned int dasd_io_time2ps[32]; /* histogram of time from start to irq */ + unsigned int dasd_io_time3[32]; /* histogram of time from irq to end */ + unsigned int dasd_io_nr_req[32]; /* histogram of # of requests in chanq */ +} dasd_profile_info_t; + +/* + * struct format_data_t + * represents all data necessary to format a dasd + */ +typedef struct format_data_t { + unsigned int start_unit; /* from track */ + unsigned int stop_unit; /* to track */ + unsigned int blksize; /* sectorsize */ + unsigned int intensity; +} format_data_t; + +/* + * struct dasd_copypair_swap_data_t + * represents all data necessary to issue a swap of the copy pair relation + */ +struct dasd_copypair_swap_data_t { + char primary[20]; /* BUSID of primary */ + char secondary[20]; /* BUSID of secondary */ + + /* Reserved for future updates. */ + __u8 reserved[64]; +}; + +/* + * values to be used for format_data_t.intensity + * 0/8: normal format + * 1/9: also write record zero + * 3/11: also write home address + * 4/12: invalidate track + */ +#define DASD_FMT_INT_FMT_R0 1 /* write record zero */ +#define DASD_FMT_INT_FMT_HA 2 /* write home address, also set FMT_R0 ! */ +#define DASD_FMT_INT_INVAL 4 /* invalidate tracks */ +#define DASD_FMT_INT_COMPAT 8 /* use OS/390 compatible disk layout */ +#define DASD_FMT_INT_FMT_NOR0 16 /* remove permission to write record zero */ +#define DASD_FMT_INT_ESE_FULL 32 /* release space for entire volume */ + +/* + * struct format_check_t + * represents all data necessary to evaluate the format of + * different tracks of a dasd + */ +typedef struct format_check_t { + /* Input */ + struct format_data_t expect; + + /* Output */ + unsigned int result; /* Error indication (DASD_FMT_ERR_*) */ + unsigned int unit; /* Track that is in error */ + unsigned int rec; /* Record that is in error */ + unsigned int num_records; /* Records in the track in error */ + unsigned int blksize; /* Blocksize of first record in error */ + unsigned int key_length; /* Key length of first record in error */ +} format_check_t; + +/* Values returned in format_check_t when a format error is detected: */ +/* Too few records were found on a single track */ +#define DASD_FMT_ERR_TOO_FEW_RECORDS 1 +/* Too many records were found on a single track */ +#define DASD_FMT_ERR_TOO_MANY_RECORDS 2 +/* Blocksize/data-length of a record was wrong */ +#define DASD_FMT_ERR_BLKSIZE 3 +/* A record ID is defined by cylinder, head, and record number (CHR). */ +/* On mismatch, this error is set */ +#define DASD_FMT_ERR_RECORD_ID 4 +/* If key-length was != 0 */ +#define DASD_FMT_ERR_KEY_LENGTH 5 + +/* + * struct attrib_data_t + * represents the operation (cache) bits for the device. + * Used in DE to influence caching of the DASD. + */ +typedef struct attrib_data_t { + unsigned char operation:3; /* cache operation mode */ + unsigned char reserved:5; /* cache operation mode */ + __u16 nr_cyl; /* no of cyliners for read ahaed */ + __u8 reserved2[29]; /* for future use */ +} __attribute__ ((packed)) attrib_data_t; + +/* definition of operation (cache) bits within attributes of DE */ +#define DASD_NORMAL_CACHE 0x0 +#define DASD_BYPASS_CACHE 0x1 +#define DASD_INHIBIT_LOAD 0x2 +#define DASD_SEQ_ACCESS 0x3 +#define DASD_SEQ_PRESTAGE 0x4 +#define DASD_REC_ACCESS 0x5 + +/* + * Perform EMC Symmetrix I/O + */ +typedef struct dasd_symmio_parms { + unsigned char reserved[8]; /* compat with older releases */ + unsigned long long psf_data; /* char * cast to u64 */ + unsigned long long rssd_result; /* char * cast to u64 */ + int psf_data_len; + int rssd_result_len; +} __attribute__ ((packed)) dasd_symmio_parms_t; + +/* + * Data returned by Sense Path Group ID (SNID) + */ +struct dasd_snid_data { + struct { + __u8 group:2; + __u8 reserve:2; + __u8 mode:1; + __u8 res:3; + } __attribute__ ((packed)) path_state; + __u8 pgid[11]; +} __attribute__ ((packed)); + +struct dasd_snid_ioctl_data { + struct dasd_snid_data data; + __u8 path_mask; +} __attribute__ ((packed)); + + +/******************************************************************************** + * SECTION: Definition of IOCTLs + * + * Here is how the ioctl-nr should be used: + * 0 - 31 DASD driver itself + * 32 - 239 still open + * 240 - 255 reserved for EMC + *******************************************************************************/ + +/* Disable the volume (for Linux) */ +#define BIODASDDISABLE _IO(DASD_IOCTL_LETTER,0) +/* Enable the volume (for Linux) */ +#define BIODASDENABLE _IO(DASD_IOCTL_LETTER,1) +/* Issue a reserve/release command, rsp. */ +#define BIODASDRSRV _IO(DASD_IOCTL_LETTER,2) /* reserve */ +#define BIODASDRLSE _IO(DASD_IOCTL_LETTER,3) /* release */ +#define BIODASDSLCK _IO(DASD_IOCTL_LETTER,4) /* steal lock */ +/* reset profiling information of a device */ +#define BIODASDPRRST _IO(DASD_IOCTL_LETTER,5) +/* Quiesce IO on device */ +#define BIODASDQUIESCE _IO(DASD_IOCTL_LETTER,6) +/* Resume IO on device */ +#define BIODASDRESUME _IO(DASD_IOCTL_LETTER,7) +/* Abort all I/O on a device */ +#define BIODASDABORTIO _IO(DASD_IOCTL_LETTER, 240) +/* Allow I/O on a device */ +#define BIODASDALLOWIO _IO(DASD_IOCTL_LETTER, 241) + + +/* retrieve API version number */ +#define DASDAPIVER _IOR(DASD_IOCTL_LETTER,0,int) +/* Get information on a dasd device */ +#define BIODASDINFO _IOR(DASD_IOCTL_LETTER,1,dasd_information_t) +/* retrieve profiling information of a device */ +#define BIODASDPRRD _IOR(DASD_IOCTL_LETTER,2,dasd_profile_info_t) +/* Get information on a dasd device (enhanced) */ +#define BIODASDINFO2 _IOR(DASD_IOCTL_LETTER,3,dasd_information2_t) +/* Performance Statistics Read */ +#define BIODASDPSRD _IOR(DASD_IOCTL_LETTER,4,dasd_rssd_perf_stats_t) +/* Get Attributes (cache operations) */ +#define BIODASDGATTR _IOR(DASD_IOCTL_LETTER,5,attrib_data_t) + + +/* #define BIODASDFORMAT _IOW(IOCTL_LETTER,0,format_data_t) , deprecated */ +#define BIODASDFMT _IOW(DASD_IOCTL_LETTER,1,format_data_t) +/* Set Attributes (cache operations) */ +#define BIODASDSATTR _IOW(DASD_IOCTL_LETTER,2,attrib_data_t) +/* Release Allocated Space */ +#define BIODASDRAS _IOW(DASD_IOCTL_LETTER, 3, format_data_t) +/* Swap copy pair relation */ +#define BIODASDCOPYPAIRSWAP _IOW(DASD_IOCTL_LETTER, 4, struct dasd_copypair_swap_data_t) + +/* Get Sense Path Group ID (SNID) data */ +#define BIODASDSNID _IOWR(DASD_IOCTL_LETTER, 1, struct dasd_snid_ioctl_data) +/* Check device format according to format_check_t */ +#define BIODASDCHECKFMT _IOWR(DASD_IOCTL_LETTER, 2, format_check_t) + +#define BIODASDSYMMIO _IOWR(DASD_IOCTL_LETTER, 240, dasd_symmio_parms_t) + +#endif /* DASD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/fs3270.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/fs3270.h new file mode 100644 index 00000000..4d231ec1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/fs3270.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_S390_UAPI_FS3270_H +#define __ASM_S390_UAPI_FS3270_H + +#include +#include + +/* ioctls for fullscreen 3270 */ +#define TUBICMD _IO('3', 3) /* set ccw command for fs reads. */ +#define TUBOCMD _IO('3', 4) /* set ccw command for fs writes. */ +#define TUBGETI _IO('3', 7) /* get ccw command for fs reads. */ +#define TUBGETO _IO('3', 8) /* get ccw command for fs writes. */ +#define TUBGETMOD _IO('3', 13) /* get characteristics like model, cols, rows */ + +/* For TUBGETMOD */ +struct raw3270_iocb { + __u16 model; + __u16 line_cnt; + __u16 col_cnt; + __u16 pf_cnt; + __u16 re_cnt; + __u16 map; +}; + +#endif /* __ASM_S390_UAPI_FS3270_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/guarded_storage.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/guarded_storage.h new file mode 100644 index 00000000..4348ba1f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/guarded_storage.h @@ -0,0 +1,78 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _GUARDED_STORAGE_H +#define _GUARDED_STORAGE_H + +#include + +struct gs_cb { + __u64 reserved; + __u64 gsd; + __u64 gssm; + __u64 gs_epl_a; +}; + +struct gs_epl { + __u8 pad1; + union { + __u8 gs_eam; + struct { + __u8 : 6; + __u8 e : 1; + __u8 b : 1; + }; + }; + union { + __u8 gs_eci; + struct { + __u8 tx : 1; + __u8 cx : 1; + __u8 : 5; + __u8 in : 1; + }; + }; + union { + __u8 gs_eai; + struct { + __u8 : 1; + __u8 t : 1; + __u8 as : 2; + __u8 ar : 4; + }; + }; + __u32 pad2; + __u64 gs_eha; + __u64 gs_eia; + __u64 gs_eoa; + __u64 gs_eir; + __u64 gs_era; +}; + +#define GS_ENABLE 0 +#define GS_DISABLE 1 +#define GS_SET_BC_CB 2 +#define GS_CLEAR_BC_CB 3 +#define GS_BROADCAST 4 + +static __inline__ void load_gs_cb(struct gs_cb *gs_cb) +{ + __asm__ volatile(".insn rxy,0xe3000000004d,0,%0" : : "Q" (*gs_cb)); +} + +static __inline__ void store_gs_cb(struct gs_cb *gs_cb) +{ + __asm__ volatile(".insn rxy,0xe30000000049,0,%0" : : "Q" (*gs_cb)); +} + +static __inline__ void save_gs_cb(struct gs_cb *gs_cb) +{ + if (gs_cb) + store_gs_cb(gs_cb); +} + +static __inline__ void restore_gs_cb(struct gs_cb *gs_cb) +{ + if (gs_cb) + load_gs_cb(gs_cb); +} + +#endif /* _GUARDED_STORAGE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hwctrset.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hwctrset.h new file mode 100644 index 00000000..f9d1fcd2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hwctrset.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright IBM Corp. 2021 + * Interface implementation for communication with the CPU Measurement + * counter facility device driver. + * + * Author(s): Thomas Richter + * + * Define for ioctl() commands to communicate with the CPU Measurement + * counter facility device driver. + */ + +#ifndef _PERF_CPUM_CF_DIAG_H +#define _PERF_CPUM_CF_DIAG_H + +#include +#include + +#define S390_HWCTR_DEVICE "hwctr" +#define S390_HWCTR_START_VERSION 1 + +struct s390_ctrset_start { /* Set CPUs to operate on */ + __u64 version; /* Version of interface */ + __u64 data_bytes; /* # of bytes required */ + __u64 cpumask_len; /* Length of CPU mask in bytes */ + __u64 *cpumask; /* Pointer to CPU mask */ + __u64 counter_sets; /* Bit mask of counter sets to get */ +}; + +struct s390_ctrset_setdata { /* Counter set data */ + __u32 set; /* Counter set number */ + __u32 no_cnts; /* # of counters stored in cv[] */ + __u64 cv[]; /* Counter values (variable length) */ +}; + +struct s390_ctrset_cpudata { /* Counter set data per CPU */ + __u32 cpu_nr; /* CPU number */ + __u32 no_sets; /* # of counters sets in data[] */ + struct s390_ctrset_setdata data[]; +}; + +struct s390_ctrset_read { /* Structure to get all ctr sets */ + __u64 no_cpus; /* Total # of CPUs data taken from */ + struct s390_ctrset_cpudata data[]; +}; + +#define S390_HWCTR_MAGIC 'C' /* Random magic # for ioctls */ +#define S390_HWCTR_START _IOWR(S390_HWCTR_MAGIC, 1, struct s390_ctrset_start) +#define S390_HWCTR_STOP _IO(S390_HWCTR_MAGIC, 2) +#define S390_HWCTR_READ _IOWR(S390_HWCTR_MAGIC, 3, struct s390_ctrset_read) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hypfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hypfs.h new file mode 100644 index 00000000..742adc93 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/hypfs.h @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Structures for hypfs interface + * + * Copyright IBM Corp. 2013 + * + * Author: Martin Schwidefsky + */ + +#ifndef _ASM_HYPFS_H +#define _ASM_HYPFS_H + +#include + +/* + * IOCTL for binary interface /sys/kernel/debug/diag_304 + */ +struct hypfs_diag304 { + __u32 args[2]; + __u64 data; + __u64 rc; +} __attribute__((packed)); + +#define HYPFS_IOCTL_MAGIC 0x10 + +#define HYPFS_DIAG304 \ + _IOWR(HYPFS_IOCTL_MAGIC, 0x20, struct hypfs_diag304) + +/* + * Structures for binary interface /sys/kernel/debug/diag_0c + */ +struct hypfs_diag0c_hdr { + __u64 len; /* Length of diag0c buffer without header */ + __u16 version; /* Version of header */ + char reserved1[6]; /* Reserved */ + char tod_ext[16]; /* TOD clock for diag0c */ + __u64 count; /* Number of entries (CPUs) in diag0c array */ + char reserved2[24]; /* Reserved */ +}; + +struct hypfs_diag0c_entry { + char date[8]; /* MM/DD/YY in EBCDIC */ + char time[8]; /* HH:MM:SS in EBCDIC */ + __u64 virtcpu; /* Virtual time consumed by the virt CPU (us) */ + __u64 totalproc; /* Total of virtual and simulation time (us) */ + __u32 cpu; /* Linux logical CPU number */ + __u32 reserved; /* Align to 8 byte */ +}; + +struct hypfs_diag0c_data { + struct hypfs_diag0c_hdr hdr; /* 64 byte header */ + struct hypfs_diag0c_entry entry[]; /* diag0c entry array */ +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ioctls.h new file mode 100644 index 00000000..9b2f7544 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ioctls.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ARCH_S390_IOCTLS_H__ +#define __ARCH_S390_IOCTLS_H__ + +#define FIOQSIZE 0x545E + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipcbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipcbuf.h new file mode 100644 index 00000000..96747787 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipcbuf.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __S390_IPCBUF_H__ +#define __S390_IPCBUF_H__ + +#include + +/* + * The user_ipc_perm structure for S/390 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 32-bit mode_t and seq + * - 2 miscellaneous 32-bit values + */ + +struct ipc64_perm +{ + __kernel_key_t key; + __kernel_uid32_t uid; + __kernel_gid32_t gid; + __kernel_uid32_t cuid; + __kernel_gid32_t cgid; + __kernel_mode_t mode; + unsigned short __pad1; + unsigned short seq; +#ifndef __s390x__ + unsigned short __pad2; +#endif /* ! __s390x__ */ + unsigned long __unused1; + unsigned long __unused2; +}; + +#endif /* __S390_IPCBUF_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipl.h new file mode 100644 index 00000000..9d9197ba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ipl.h @@ -0,0 +1,208 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_S390_UAPI_IPL_H +#define _ASM_S390_UAPI_IPL_H + +#include + +/* IPL Parameter List header */ +struct ipl_pl_hdr { + __u32 len; + __u8 flags; + __u8 reserved1[2]; + __u8 version; +} __attribute__((packed)); + +#define IPL_PL_FLAG_IPLPS 0x80 +#define IPL_PL_FLAG_SIPL 0x40 +#define IPL_PL_FLAG_IPLSR 0x20 + +/* IPL Parameter Block header */ +struct ipl_pb_hdr { + __u32 len; + __u8 pbt; +} __attribute__((packed)); + +/* IPL Parameter Block types */ +enum ipl_pbt { + IPL_PBT_FCP = 0, + IPL_PBT_SCP_DATA = 1, + IPL_PBT_CCW = 2, + IPL_PBT_ECKD = 3, + IPL_PBT_NVME = 4, +}; + +/* IPL Parameter Block 0 with common fields */ +struct ipl_pb0_common { + __u32 len; + __u8 pbt; + __u8 flags; + __u8 reserved1[2]; + __u8 loadparm[8]; + __u8 reserved2[84]; +} __attribute__((packed)); + +#define IPL_PB0_FLAG_LOADPARM 0x80 + +/* IPL Parameter Block 0 for FCP */ +struct ipl_pb0_fcp { + __u32 len; + __u8 pbt; + __u8 reserved1[3]; + __u8 loadparm[8]; + __u8 reserved2[304]; + __u8 opt; + __u8 reserved3[3]; + __u8 cssid; + __u8 reserved4[1]; + __u16 devno; + __u8 reserved5[4]; + __u64 wwpn; + __u64 lun; + __u32 bootprog; + __u8 reserved6[12]; + __u64 br_lba; + __u32 scp_data_len; + __u8 reserved7[260]; + __u8 scp_data[]; +} __attribute__((packed)); + +#define IPL_PB0_FCP_OPT_IPL 0x10 +#define IPL_PB0_FCP_OPT_DUMP 0x20 + +/* IPL Parameter Block 0 for NVMe */ +struct ipl_pb0_nvme { + __u32 len; + __u8 pbt; + __u8 reserved1[3]; + __u8 loadparm[8]; + __u8 reserved2[304]; + __u8 opt; + __u8 reserved3[3]; + __u32 fid; + __u8 reserved4[12]; + __u32 nsid; + __u8 reserved5[4]; + __u32 bootprog; + __u8 reserved6[12]; + __u64 br_lba; + __u32 scp_data_len; + __u8 reserved7[260]; + __u8 scp_data[]; +} __attribute__((packed)); + +#define IPL_PB0_NVME_OPT_IPL 0x10 +#define IPL_PB0_NVME_OPT_DUMP 0x20 + +/* IPL Parameter Block 0 for CCW */ +struct ipl_pb0_ccw { + __u32 len; + __u8 pbt; + __u8 flags; + __u8 reserved1[2]; + __u8 loadparm[8]; + __u8 reserved2[84]; + __u16 reserved3 : 13; + __u8 ssid : 3; + __u16 devno; + __u8 vm_flags; + __u8 reserved4[3]; + __u32 vm_parm_len; + __u8 nss_name[8]; + __u8 vm_parm[64]; + __u8 reserved5[8]; +} __attribute__((packed)); + +/* IPL Parameter Block 0 for ECKD */ +struct ipl_pb0_eckd { + __u32 len; + __u8 pbt; + __u8 reserved1[3]; + __u32 reserved2[78]; + __u8 opt; + __u8 reserved4[4]; + __u8 reserved5:5; + __u8 ssid:3; + __u16 devno; + __u32 reserved6[5]; + __u32 bootprog; + __u8 reserved7[12]; + struct { + __u16 cyl; + __u8 head; + __u8 record; + __u32 reserved; + } br_chr __attribute__((packed)); + __u32 scp_data_len; + __u8 reserved8[260]; + __u8 scp_data[]; +} __attribute__((packed)); + +#define IPL_PB0_ECKD_OPT_IPL 0x10 +#define IPL_PB0_ECKD_OPT_DUMP 0x20 + +#define IPL_PB0_CCW_VM_FLAG_NSS 0x80 +#define IPL_PB0_CCW_VM_FLAG_VP 0x40 + +/* IPL Parameter Block 1 for additional SCP data */ +struct ipl_pb1_scp_data { + __u32 len; + __u8 pbt; + __u8 scp_data[]; +} __attribute__((packed)); + +/* IPL Report List header */ +struct ipl_rl_hdr { + __u32 len; + __u8 flags; + __u8 reserved1[2]; + __u8 version; + __u8 reserved2[8]; +} __attribute__((packed)); + +/* IPL Report Block header */ +struct ipl_rb_hdr { + __u32 len; + __u8 rbt; + __u8 reserved1[11]; +} __attribute__((packed)); + +/* IPL Report Block types */ +enum ipl_rbt { + IPL_RBT_CERTIFICATES = 1, + IPL_RBT_COMPONENTS = 2, +}; + +/* IPL Report Block for the certificate list */ +struct ipl_rb_certificate_entry { + __u64 addr; + __u64 len; +} __attribute__((packed)); + +struct ipl_rb_certificates { + __u32 len; + __u8 rbt; + __u8 reserved1[11]; + struct ipl_rb_certificate_entry entries[]; +} __attribute__((packed)); + +/* IPL Report Block for the component list */ +struct ipl_rb_component_entry { + __u64 addr; + __u64 len; + __u8 flags; + __u8 reserved1[5]; + __u16 certificate_index; + __u8 reserved2[8]; +}; + +#define IPL_RB_COMPONENT_FLAG_SIGNED 0x80 +#define IPL_RB_COMPONENT_FLAG_VERIFIED 0x40 + +struct ipl_rb_components { + __u32 len; + __u8 rbt; + __u8 reserved1[11]; + struct ipl_rb_component_entry entries[]; +} __attribute__((packed)); + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm.h new file mode 100644 index 00000000..584beba3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm.h @@ -0,0 +1,622 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __LINUX_KVM_S390_H +#define __LINUX_KVM_S390_H +/* + * KVM s390 specific structures and definitions + * + * Copyright IBM Corp. 2008, 2018 + * + * Author(s): Carsten Otte + * Christian Borntraeger + */ +#include + +#define __KVM_S390 + +struct kvm_s390_skeys { + __u64 start_gfn; + __u64 count; + __u64 skeydata_addr; + __u32 flags; + __u32 reserved[9]; +}; + +#define KVM_S390_CMMA_PEEK (1 << 0) + +/** + * kvm_s390_cmma_log - Used for CMMA migration. + * + * Used both for input and output. + * + * @start_gfn: Guest page number to start from. + * @count: Size of the result buffer. + * @flags: Control operation mode via KVM_S390_CMMA_* flags + * @remaining: Used with KVM_S390_GET_CMMA_BITS. Indicates how many dirty + * pages are still remaining. + * @mask: Used with KVM_S390_SET_CMMA_BITS. Bitmap of bits to actually set + * in the PGSTE. + * @values: Pointer to the values buffer. + * + * Used in KVM_S390_{G,S}ET_CMMA_BITS ioctls. + */ +struct kvm_s390_cmma_log { + __u64 start_gfn; + __u32 count; + __u32 flags; + union { + __u64 remaining; + __u64 mask; + }; + __u64 values; +}; + +#define KVM_S390_RESET_POR 1 +#define KVM_S390_RESET_CLEAR 2 +#define KVM_S390_RESET_SUBSYSTEM 4 +#define KVM_S390_RESET_CPU_INIT 8 +#define KVM_S390_RESET_IPL 16 + +/* for KVM_S390_MEM_OP */ +struct kvm_s390_mem_op { + /* in */ + __u64 gaddr; /* the guest address */ + __u64 flags; /* flags */ + __u32 size; /* amount of bytes */ + __u32 op; /* type of operation */ + __u64 buf; /* buffer in userspace */ + union { + struct { + __u8 ar; /* the access register number */ + __u8 key; /* access key, ignored if flag unset */ + __u8 pad1[6]; /* ignored */ + __u64 old_addr; /* ignored if cmpxchg flag unset */ + }; + __u32 sida_offset; /* offset into the sida */ + __u8 reserved[32]; /* ignored */ + }; +}; +/* types for kvm_s390_mem_op->op */ +#define KVM_S390_MEMOP_LOGICAL_READ 0 +#define KVM_S390_MEMOP_LOGICAL_WRITE 1 +#define KVM_S390_MEMOP_SIDA_READ 2 +#define KVM_S390_MEMOP_SIDA_WRITE 3 +#define KVM_S390_MEMOP_ABSOLUTE_READ 4 +#define KVM_S390_MEMOP_ABSOLUTE_WRITE 5 +#define KVM_S390_MEMOP_ABSOLUTE_CMPXCHG 6 + +/* flags for kvm_s390_mem_op->flags */ +#define KVM_S390_MEMOP_F_CHECK_ONLY (1ULL << 0) +#define KVM_S390_MEMOP_F_INJECT_EXCEPTION (1ULL << 1) +#define KVM_S390_MEMOP_F_SKEY_PROTECTION (1ULL << 2) + +/* flags specifying extension support via KVM_CAP_S390_MEM_OP_EXTENSION */ +#define KVM_S390_MEMOP_EXTENSION_CAP_BASE (1 << 0) +#define KVM_S390_MEMOP_EXTENSION_CAP_CMPXCHG (1 << 1) + +struct kvm_s390_psw { + __u64 mask; + __u64 addr; +}; + +/* valid values for type in kvm_s390_interrupt */ +#define KVM_S390_SIGP_STOP 0xfffe0000u +#define KVM_S390_PROGRAM_INT 0xfffe0001u +#define KVM_S390_SIGP_SET_PREFIX 0xfffe0002u +#define KVM_S390_RESTART 0xfffe0003u +#define KVM_S390_INT_PFAULT_INIT 0xfffe0004u +#define KVM_S390_INT_PFAULT_DONE 0xfffe0005u +#define KVM_S390_MCHK 0xfffe1000u +#define KVM_S390_INT_CLOCK_COMP 0xffff1004u +#define KVM_S390_INT_CPU_TIMER 0xffff1005u +#define KVM_S390_INT_VIRTIO 0xffff2603u +#define KVM_S390_INT_SERVICE 0xffff2401u +#define KVM_S390_INT_EMERGENCY 0xffff1201u +#define KVM_S390_INT_EXTERNAL_CALL 0xffff1202u +/* Anything below 0xfffe0000u is taken by INT_IO */ +#define KVM_S390_INT_IO(ai,cssid,ssid,schid) \ + (((schid)) | \ + ((ssid) << 16) | \ + ((cssid) << 18) | \ + ((ai) << 26)) +#define KVM_S390_INT_IO_MIN 0x00000000u +#define KVM_S390_INT_IO_MAX 0xfffdffffu +#define KVM_S390_INT_IO_AI_MASK 0x04000000u + + +struct kvm_s390_interrupt { + __u32 type; + __u32 parm; + __u64 parm64; +}; + +struct kvm_s390_io_info { + __u16 subchannel_id; + __u16 subchannel_nr; + __u32 io_int_parm; + __u32 io_int_word; +}; + +struct kvm_s390_ext_info { + __u32 ext_params; + __u32 pad; + __u64 ext_params2; +}; + +struct kvm_s390_pgm_info { + __u64 trans_exc_code; + __u64 mon_code; + __u64 per_address; + __u32 data_exc_code; + __u16 code; + __u16 mon_class_nr; + __u8 per_code; + __u8 per_atmid; + __u8 exc_access_id; + __u8 per_access_id; + __u8 op_access_id; +#define KVM_S390_PGM_FLAGS_ILC_VALID 0x01 +#define KVM_S390_PGM_FLAGS_ILC_0 0x02 +#define KVM_S390_PGM_FLAGS_ILC_1 0x04 +#define KVM_S390_PGM_FLAGS_ILC_MASK 0x06 +#define KVM_S390_PGM_FLAGS_NO_REWIND 0x08 + __u8 flags; + __u8 pad[2]; +}; + +struct kvm_s390_prefix_info { + __u32 address; +}; + +struct kvm_s390_extcall_info { + __u16 code; +}; + +struct kvm_s390_emerg_info { + __u16 code; +}; + +#define KVM_S390_STOP_FLAG_STORE_STATUS 0x01 +struct kvm_s390_stop_info { + __u32 flags; +}; + +struct kvm_s390_mchk_info { + __u64 cr14; + __u64 mcic; + __u64 failing_storage_address; + __u32 ext_damage_code; + __u32 pad; + __u8 fixed_logout[16]; +}; + +struct kvm_s390_irq { + __u64 type; + union { + struct kvm_s390_io_info io; + struct kvm_s390_ext_info ext; + struct kvm_s390_pgm_info pgm; + struct kvm_s390_emerg_info emerg; + struct kvm_s390_extcall_info extcall; + struct kvm_s390_prefix_info prefix; + struct kvm_s390_stop_info stop; + struct kvm_s390_mchk_info mchk; + char reserved[64]; + } u; +}; + +struct kvm_s390_irq_state { + __u64 buf; + __u32 flags; /* will stay unused for compatibility reasons */ + __u32 len; + __u32 reserved[4]; /* will stay unused for compatibility reasons */ +}; + +struct kvm_s390_ucas_mapping { + __u64 user_addr; + __u64 vcpu_addr; + __u64 length; +}; + +struct kvm_s390_pv_sec_parm { + __u64 origin; + __u64 length; +}; + +struct kvm_s390_pv_unp { + __u64 addr; + __u64 size; + __u64 tweak; +}; + +enum pv_cmd_dmp_id { + KVM_PV_DUMP_INIT, + KVM_PV_DUMP_CONFIG_STOR_STATE, + KVM_PV_DUMP_COMPLETE, + KVM_PV_DUMP_CPU, +}; + +struct kvm_s390_pv_dmp { + __u64 subcmd; + __u64 buff_addr; + __u64 buff_len; + __u64 gaddr; /* For dump storage state */ + __u64 reserved[4]; +}; + +enum pv_cmd_info_id { + KVM_PV_INFO_VM, + KVM_PV_INFO_DUMP, +}; + +struct kvm_s390_pv_info_dump { + __u64 dump_cpu_buffer_len; + __u64 dump_config_mem_buffer_per_1m; + __u64 dump_config_finalize_len; +}; + +struct kvm_s390_pv_info_vm { + __u64 inst_calls_list[4]; + __u64 max_cpus; + __u64 max_guests; + __u64 max_guest_addr; + __u64 feature_indication; +}; + +struct kvm_s390_pv_info_header { + __u32 id; + __u32 len_max; + __u32 len_written; + __u32 reserved; +}; + +struct kvm_s390_pv_info { + struct kvm_s390_pv_info_header header; + union { + struct kvm_s390_pv_info_dump dump; + struct kvm_s390_pv_info_vm vm; + }; +}; + +enum pv_cmd_id { + KVM_PV_ENABLE, + KVM_PV_DISABLE, + KVM_PV_SET_SEC_PARMS, + KVM_PV_UNPACK, + KVM_PV_VERIFY, + KVM_PV_PREP_RESET, + KVM_PV_UNSHARE_ALL, + KVM_PV_INFO, + KVM_PV_DUMP, + KVM_PV_ASYNC_CLEANUP_PREPARE, + KVM_PV_ASYNC_CLEANUP_PERFORM, +}; + +struct kvm_pv_cmd { + __u32 cmd; /* Command to be executed */ + __u16 rc; /* Ultravisor return code */ + __u16 rrc; /* Ultravisor return reason code */ + __u64 data; /* Data or address */ + __u32 flags; /* flags for future extensions. Must be 0 for now */ + __u32 reserved[3]; +}; + +struct kvm_s390_zpci_op { + /* in */ + __u32 fh; /* target device */ + __u8 op; /* operation to perform */ + __u8 pad[3]; + union { + /* for KVM_S390_ZPCIOP_REG_AEN */ + struct { + __u64 ibv; /* Guest addr of interrupt bit vector */ + __u64 sb; /* Guest addr of summary bit */ + __u32 flags; + __u32 noi; /* Number of interrupts */ + __u8 isc; /* Guest interrupt subclass */ + __u8 sbo; /* Offset of guest summary bit vector */ + __u16 pad; + } reg_aen; + __u64 reserved[8]; + } u; +}; + +/* types for kvm_s390_zpci_op->op */ +#define KVM_S390_ZPCIOP_REG_AEN 0 +#define KVM_S390_ZPCIOP_DEREG_AEN 1 + +/* flags for kvm_s390_zpci_op->u.reg_aen.flags */ +#define KVM_S390_ZPCIOP_REGAEN_HOST (1 << 0) + +/* Device control API: s390-specific devices */ +#define KVM_DEV_FLIC_GET_ALL_IRQS 1 +#define KVM_DEV_FLIC_ENQUEUE 2 +#define KVM_DEV_FLIC_CLEAR_IRQS 3 +#define KVM_DEV_FLIC_APF_ENABLE 4 +#define KVM_DEV_FLIC_APF_DISABLE_WAIT 5 +#define KVM_DEV_FLIC_ADAPTER_REGISTER 6 +#define KVM_DEV_FLIC_ADAPTER_MODIFY 7 +#define KVM_DEV_FLIC_CLEAR_IO_IRQ 8 +#define KVM_DEV_FLIC_AISM 9 +#define KVM_DEV_FLIC_AIRQ_INJECT 10 +#define KVM_DEV_FLIC_AISM_ALL 11 +/* + * We can have up to 4*64k pending subchannels + 8 adapter interrupts, + * as well as up to ASYNC_PF_PER_VCPU*KVM_MAX_VCPUS pfault done interrupts. + * There are also sclp and machine checks. This gives us + * sizeof(kvm_s390_irq)*(4*65536+8+64*64+1+1) = 72 * 266250 = 19170000 + * Lets round up to 8192 pages. + */ +#define KVM_S390_MAX_FLOAT_IRQS 266250 +#define KVM_S390_FLIC_MAX_BUFFER 0x2000000 + +struct kvm_s390_io_adapter { + __u32 id; + __u8 isc; + __u8 maskable; + __u8 swap; + __u8 flags; +}; + +#define KVM_S390_ADAPTER_SUPPRESSIBLE 0x01 + +struct kvm_s390_ais_req { + __u8 isc; + __u16 mode; +}; + +struct kvm_s390_ais_all { + __u8 simm; + __u8 nimm; +}; + +#define KVM_S390_IO_ADAPTER_MASK 1 +#define KVM_S390_IO_ADAPTER_MAP 2 +#define KVM_S390_IO_ADAPTER_UNMAP 3 + +struct kvm_s390_io_adapter_req { + __u32 id; + __u8 type; + __u8 mask; + __u16 pad0; + __u64 addr; +}; + +/* kvm attr_group on vm fd */ +#define KVM_S390_VM_MEM_CTRL 0 +#define KVM_S390_VM_TOD 1 +#define KVM_S390_VM_CRYPTO 2 +#define KVM_S390_VM_CPU_MODEL 3 +#define KVM_S390_VM_MIGRATION 4 +#define KVM_S390_VM_CPU_TOPOLOGY 5 + +/* kvm attributes for mem_ctrl */ +#define KVM_S390_VM_MEM_ENABLE_CMMA 0 +#define KVM_S390_VM_MEM_CLR_CMMA 1 +#define KVM_S390_VM_MEM_LIMIT_SIZE 2 + +#define KVM_S390_NO_MEM_LIMIT U64_MAX + +/* kvm attributes for KVM_S390_VM_TOD */ +#define KVM_S390_VM_TOD_LOW 0 +#define KVM_S390_VM_TOD_HIGH 1 +#define KVM_S390_VM_TOD_EXT 2 + +struct kvm_s390_vm_tod_clock { + __u8 epoch_idx; + __u64 tod; +}; + +/* kvm attributes for KVM_S390_VM_CPU_MODEL */ +/* processor related attributes are r/w */ +#define KVM_S390_VM_CPU_PROCESSOR 0 +struct kvm_s390_vm_cpu_processor { + __u64 cpuid; + __u16 ibc; + __u8 pad[6]; + __u64 fac_list[256]; +}; + +/* machine related attributes are r/o */ +#define KVM_S390_VM_CPU_MACHINE 1 +struct kvm_s390_vm_cpu_machine { + __u64 cpuid; + __u32 ibc; + __u8 pad[4]; + __u64 fac_mask[256]; + __u64 fac_list[256]; +}; + +#define KVM_S390_VM_CPU_PROCESSOR_FEAT 2 +#define KVM_S390_VM_CPU_MACHINE_FEAT 3 + +#define KVM_S390_VM_CPU_FEAT_NR_BITS 1024 +#define KVM_S390_VM_CPU_FEAT_ESOP 0 +#define KVM_S390_VM_CPU_FEAT_SIEF2 1 +#define KVM_S390_VM_CPU_FEAT_64BSCAO 2 +#define KVM_S390_VM_CPU_FEAT_SIIF 3 +#define KVM_S390_VM_CPU_FEAT_GPERE 4 +#define KVM_S390_VM_CPU_FEAT_GSLS 5 +#define KVM_S390_VM_CPU_FEAT_IB 6 +#define KVM_S390_VM_CPU_FEAT_CEI 7 +#define KVM_S390_VM_CPU_FEAT_IBS 8 +#define KVM_S390_VM_CPU_FEAT_SKEY 9 +#define KVM_S390_VM_CPU_FEAT_CMMA 10 +#define KVM_S390_VM_CPU_FEAT_PFMFI 11 +#define KVM_S390_VM_CPU_FEAT_SIGPIF 12 +#define KVM_S390_VM_CPU_FEAT_KSS 13 +struct kvm_s390_vm_cpu_feat { + __u64 feat[16]; +}; + +#define KVM_S390_VM_CPU_PROCESSOR_SUBFUNC 4 +#define KVM_S390_VM_CPU_MACHINE_SUBFUNC 5 +/* for "test bit" instructions MSB 0 bit ordering, for "query" raw blocks */ +struct kvm_s390_vm_cpu_subfunc { + __u8 plo[32]; /* always */ + __u8 ptff[16]; /* with TOD-clock steering */ + __u8 kmac[16]; /* with MSA */ + __u8 kmc[16]; /* with MSA */ + __u8 km[16]; /* with MSA */ + __u8 kimd[16]; /* with MSA */ + __u8 klmd[16]; /* with MSA */ + __u8 pckmo[16]; /* with MSA3 */ + __u8 kmctr[16]; /* with MSA4 */ + __u8 kmf[16]; /* with MSA4 */ + __u8 kmo[16]; /* with MSA4 */ + __u8 pcc[16]; /* with MSA4 */ + __u8 ppno[16]; /* with MSA5 */ + __u8 kma[16]; /* with MSA8 */ + __u8 kdsa[16]; /* with MSA9 */ + __u8 sortl[32]; /* with STFLE.150 */ + __u8 dfltcc[32]; /* with STFLE.151 */ + __u8 pfcr[16]; /* with STFLE.201 */ + __u8 reserved[1712]; +}; + +#define KVM_S390_VM_CPU_PROCESSOR_UV_FEAT_GUEST 6 +#define KVM_S390_VM_CPU_MACHINE_UV_FEAT_GUEST 7 + +#define KVM_S390_VM_CPU_UV_FEAT_NR_BITS 64 +struct kvm_s390_vm_cpu_uv_feat { + union { + struct { + __u64 : 4; + __u64 ap : 1; /* bit 4 */ + __u64 ap_intr : 1; /* bit 5 */ + __u64 : 58; + }; + __u64 feat; + }; +}; + +/* kvm attributes for crypto */ +#define KVM_S390_VM_CRYPTO_ENABLE_AES_KW 0 +#define KVM_S390_VM_CRYPTO_ENABLE_DEA_KW 1 +#define KVM_S390_VM_CRYPTO_DISABLE_AES_KW 2 +#define KVM_S390_VM_CRYPTO_DISABLE_DEA_KW 3 +#define KVM_S390_VM_CRYPTO_ENABLE_APIE 4 +#define KVM_S390_VM_CRYPTO_DISABLE_APIE 5 + +/* kvm attributes for migration mode */ +#define KVM_S390_VM_MIGRATION_STOP 0 +#define KVM_S390_VM_MIGRATION_START 1 +#define KVM_S390_VM_MIGRATION_STATUS 2 + +/* for KVM_GET_REGS and KVM_SET_REGS */ +struct kvm_regs { + /* general purpose regs for s390 */ + __u64 gprs[16]; +}; + +/* for KVM_GET_SREGS and KVM_SET_SREGS */ +struct kvm_sregs { + __u32 acrs[16]; + __u64 crs[16]; +}; + +/* for KVM_GET_FPU and KVM_SET_FPU */ +struct kvm_fpu { + __u32 fpc; + __u64 fprs[16]; +}; + +#define KVM_GUESTDBG_USE_HW_BP 0x00010000 + +#define KVM_HW_BP 1 +#define KVM_HW_WP_WRITE 2 +#define KVM_SINGLESTEP 4 + +struct kvm_debug_exit_arch { + __u64 addr; + __u8 type; + __u8 pad[7]; /* Should be set to 0 */ +}; + +struct kvm_hw_breakpoint { + __u64 addr; + __u64 phys_addr; + __u64 len; + __u8 type; + __u8 pad[7]; /* Should be set to 0 */ +}; + +/* for KVM_SET_GUEST_DEBUG */ +struct kvm_guest_debug_arch { + __u32 nr_hw_bp; + __u32 pad; /* Should be set to 0 */ + struct kvm_hw_breakpoint *hw_bp; +}; + +/* for KVM_SYNC_PFAULT and KVM_REG_S390_PFTOKEN */ +#define KVM_S390_PFAULT_TOKEN_INVALID 0xffffffffffffffffULL + +#define KVM_SYNC_PREFIX (1UL << 0) +#define KVM_SYNC_GPRS (1UL << 1) +#define KVM_SYNC_ACRS (1UL << 2) +#define KVM_SYNC_CRS (1UL << 3) +#define KVM_SYNC_ARCH0 (1UL << 4) +#define KVM_SYNC_PFAULT (1UL << 5) +#define KVM_SYNC_VRS (1UL << 6) +#define KVM_SYNC_RICCB (1UL << 7) +#define KVM_SYNC_FPRS (1UL << 8) +#define KVM_SYNC_GSCB (1UL << 9) +#define KVM_SYNC_BPBC (1UL << 10) +#define KVM_SYNC_ETOKEN (1UL << 11) +#define KVM_SYNC_DIAG318 (1UL << 12) + +#define KVM_SYNC_S390_VALID_FIELDS \ + (KVM_SYNC_PREFIX | KVM_SYNC_GPRS | KVM_SYNC_ACRS | KVM_SYNC_CRS | \ + KVM_SYNC_ARCH0 | KVM_SYNC_PFAULT | KVM_SYNC_VRS | KVM_SYNC_RICCB | \ + KVM_SYNC_FPRS | KVM_SYNC_GSCB | KVM_SYNC_BPBC | KVM_SYNC_ETOKEN | \ + KVM_SYNC_DIAG318) + +/* length and alignment of the sdnx as a power of two */ +#define SDNXC 8 +#define SDNXL (1UL << SDNXC) +/* definition of registers in kvm_run */ +struct kvm_sync_regs { + __u64 prefix; /* prefix register */ + __u64 gprs[16]; /* general purpose registers */ + __u32 acrs[16]; /* access registers */ + __u64 crs[16]; /* control registers */ + __u64 todpr; /* tod programmable register [ARCH0] */ + __u64 cputm; /* cpu timer [ARCH0] */ + __u64 ckc; /* clock comparator [ARCH0] */ + __u64 pp; /* program parameter [ARCH0] */ + __u64 gbea; /* guest breaking-event address [ARCH0] */ + __u64 pft; /* pfault token [PFAULT] */ + __u64 pfs; /* pfault select [PFAULT] */ + __u64 pfc; /* pfault compare [PFAULT] */ + union { + __u64 vrs[32][2]; /* vector registers (KVM_SYNC_VRS) */ + __u64 fprs[16]; /* fp registers (KVM_SYNC_FPRS) */ + }; + __u8 reserved[512]; /* for future vector expansion */ + __u32 fpc; /* valid on KVM_SYNC_VRS or KVM_SYNC_FPRS */ + __u8 bpbc : 1; /* bp mode */ + __u8 reserved2 : 7; + __u8 padding1[51]; /* riccb needs to be 64byte aligned */ + __u8 riccb[64]; /* runtime instrumentation controls block */ + __u64 diag318; /* diagnose 0x318 info */ + __u8 padding2[184]; /* sdnx needs to be 256byte aligned */ + union { + __u8 sdnx[SDNXL]; /* state description annex */ + struct { + __u64 reserved1[2]; + __u64 gscb[4]; + __u64 etoken; + __u64 etoken_extension; + }; + }; +}; + +#define KVM_REG_S390_TODPR (KVM_REG_S390 | KVM_REG_SIZE_U32 | 0x1) +#define KVM_REG_S390_EPOCHDIFF (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x2) +#define KVM_REG_S390_CPU_TIMER (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x3) +#define KVM_REG_S390_CLOCK_COMP (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x4) +#define KVM_REG_S390_PFTOKEN (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x5) +#define KVM_REG_S390_PFCOMPARE (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x6) +#define KVM_REG_S390_PFSELECT (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x7) +#define KVM_REG_S390_PP (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x8) +#define KVM_REG_S390_GBEA (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x9) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_para.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_para.h new file mode 100644 index 00000000..bf0ec80b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_para.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * User API definitions for paravirtual devices on s390 + * + * Copyright IBM Corp. 2008 + * + * Author(s): Christian Borntraeger + */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_perf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_perf.h new file mode 100644 index 00000000..75f6eae7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/kvm_perf.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Definitions for perf-kvm on s390 + * + * Copyright 2014 IBM Corp. + * Author(s): Alexander Yarygin + */ + +#ifndef __LINUX_KVM_PERF_S390_H +#define __LINUX_KVM_PERF_S390_H + +#include + +#define DECODE_STR_LEN 40 + +#define VCPU_ID "id" + +#define KVM_ENTRY_TRACE "kvm:kvm_s390_sie_enter" +#define KVM_EXIT_TRACE "kvm:kvm_s390_sie_exit" +#define KVM_EXIT_REASON "icptcode" + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/monwriter.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/monwriter.h new file mode 100644 index 00000000..5ca17637 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/monwriter.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright IBM Corp. 2006 + * Character device driver for writing z/VM APPLDATA monitor records + * Version 1.0 + * Author(s): Melissa Howland + * + */ + +#ifndef _ASM_390_MONWRITER_H +#define _ASM_390_MONWRITER_H + +/* mon_function values */ +#define MONWRITE_START_INTERVAL 0x00 /* start interval recording */ +#define MONWRITE_STOP_INTERVAL 0x01 /* stop interval or config recording */ +#define MONWRITE_GEN_EVENT 0x02 /* generate event record */ +#define MONWRITE_START_CONFIG 0x03 /* start configuration recording */ + +/* the header the app uses in its write() data */ +struct monwrite_hdr { + unsigned char mon_function; + unsigned short applid; + unsigned char record_num; + unsigned short version; + unsigned short release; + unsigned short mod_level; + unsigned short datalen; + unsigned char hdrlen; + +} __attribute__((packed)); + +#endif /* _ASM_390_MONWRITER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/perf_regs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/perf_regs.h new file mode 100644 index 00000000..73d00374 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/perf_regs.h @@ -0,0 +1,44 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_S390_PERF_REGS_H +#define _ASM_S390_PERF_REGS_H + +enum perf_event_s390_regs { + PERF_REG_S390_R0, + PERF_REG_S390_R1, + PERF_REG_S390_R2, + PERF_REG_S390_R3, + PERF_REG_S390_R4, + PERF_REG_S390_R5, + PERF_REG_S390_R6, + PERF_REG_S390_R7, + PERF_REG_S390_R8, + PERF_REG_S390_R9, + PERF_REG_S390_R10, + PERF_REG_S390_R11, + PERF_REG_S390_R12, + PERF_REG_S390_R13, + PERF_REG_S390_R14, + PERF_REG_S390_R15, + PERF_REG_S390_FP0, + PERF_REG_S390_FP1, + PERF_REG_S390_FP2, + PERF_REG_S390_FP3, + PERF_REG_S390_FP4, + PERF_REG_S390_FP5, + PERF_REG_S390_FP6, + PERF_REG_S390_FP7, + PERF_REG_S390_FP8, + PERF_REG_S390_FP9, + PERF_REG_S390_FP10, + PERF_REG_S390_FP11, + PERF_REG_S390_FP12, + PERF_REG_S390_FP13, + PERF_REG_S390_FP14, + PERF_REG_S390_FP15, + PERF_REG_S390_MASK, + PERF_REG_S390_PC, + + PERF_REG_S390_MAX +}; + +#endif /* _ASM_S390_PERF_REGS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/pkey.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/pkey.h new file mode 100644 index 00000000..ea7df0cd --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/pkey.h @@ -0,0 +1,473 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Userspace interface to the pkey device driver + * + * Copyright IBM Corp. 2017, 2023 + * + * Author: Harald Freudenberger + * + */ + +#ifndef _PKEY_H +#define _PKEY_H + +#include +#include + +/* + * Ioctl calls supported by the pkey device driver + */ + +#define PKEY_IOCTL_MAGIC 'p' + +#define SECKEYBLOBSIZE 64 /* secure key blob size is always 64 bytes */ +#define PROTKEYBLOBSIZE 80 /* protected key blob size is always 80 bytes */ +#define MAXPROTKEYSIZE 64 /* a protected key blob may be up to 64 bytes */ +#define MAXCLRKEYSIZE 32 /* a clear key value may be up to 32 bytes */ +#define MAXAESCIPHERKEYSIZE 136 /* our aes cipher keys have always 136 bytes */ +#define MINEP11AESKEYBLOBSIZE 256 /* min EP11 AES key blob size */ +#define MAXEP11AESKEYBLOBSIZE 336 /* max EP11 AES key blob size */ + +/* Minimum size of a key blob */ +#define MINKEYBLOBSIZE SECKEYBLOBSIZE + +/* defines for the type field within the pkey_protkey struct */ +#define PKEY_KEYTYPE_AES_128 1 +#define PKEY_KEYTYPE_AES_192 2 +#define PKEY_KEYTYPE_AES_256 3 +#define PKEY_KEYTYPE_ECC 4 +#define PKEY_KEYTYPE_ECC_P256 5 +#define PKEY_KEYTYPE_ECC_P384 6 +#define PKEY_KEYTYPE_ECC_P521 7 +#define PKEY_KEYTYPE_ECC_ED25519 8 +#define PKEY_KEYTYPE_ECC_ED448 9 +#define PKEY_KEYTYPE_AES_XTS_128 10 +#define PKEY_KEYTYPE_AES_XTS_256 11 +#define PKEY_KEYTYPE_HMAC_512 12 +#define PKEY_KEYTYPE_HMAC_1024 13 + +/* the newer ioctls use a pkey_key_type enum for type information */ +enum pkey_key_type { + PKEY_TYPE_CCA_DATA = (__u32)1, + PKEY_TYPE_CCA_CIPHER = (__u32)2, + PKEY_TYPE_EP11 = (__u32)3, + PKEY_TYPE_CCA_ECC = (__u32)0x1f, + PKEY_TYPE_EP11_AES = (__u32)6, + PKEY_TYPE_EP11_ECC = (__u32)7, + PKEY_TYPE_PROTKEY = (__u32)8, + PKEY_TYPE_UVSECRET = (__u32)9, +}; + +/* the newer ioctls use a pkey_key_size enum for key size information */ +enum pkey_key_size { + PKEY_SIZE_AES_128 = (__u32)128, + PKEY_SIZE_AES_192 = (__u32)192, + PKEY_SIZE_AES_256 = (__u32)256, + PKEY_SIZE_UNKNOWN = (__u32)0xFFFFFFFF, +}; + +/* some of the newer ioctls use these flags */ +#define PKEY_FLAGS_MATCH_CUR_MKVP 0x00000002 +#define PKEY_FLAGS_MATCH_ALT_MKVP 0x00000004 + +/* keygenflags defines for CCA AES cipher keys */ +#define PKEY_KEYGEN_XPRT_SYM 0x00008000 +#define PKEY_KEYGEN_XPRT_UASY 0x00004000 +#define PKEY_KEYGEN_XPRT_AASY 0x00002000 +#define PKEY_KEYGEN_XPRT_RAW 0x00001000 +#define PKEY_KEYGEN_XPRT_CPAC 0x00000800 +#define PKEY_KEYGEN_XPRT_DES 0x00000080 +#define PKEY_KEYGEN_XPRT_AES 0x00000040 +#define PKEY_KEYGEN_XPRT_RSA 0x00000008 + +/* Struct to hold apqn target info (card/domain pair) */ +struct pkey_apqn { + __u16 card; + __u16 domain; +}; + +/* Struct to hold a CCA AES secure key blob */ +struct pkey_seckey { + __u8 seckey[SECKEYBLOBSIZE]; /* the secure key blob */ +}; + +/* Struct to hold protected key and length info */ +struct pkey_protkey { + __u32 type; /* key type, one of the PKEY_KEYTYPE_AES values */ + __u32 len; /* bytes actually stored in protkey[] */ + __u8 protkey[MAXPROTKEYSIZE]; /* the protected key blob */ +}; + +/* Struct to hold an AES clear key value */ +struct pkey_clrkey { + __u8 clrkey[MAXCLRKEYSIZE]; /* 16, 24, or 32 byte clear key value */ +}; + +/* + * EP11 key blobs of type PKEY_TYPE_EP11_AES and PKEY_TYPE_EP11_ECC + * are ep11 blobs prepended by this header: + */ +struct ep11kblob_header { + __u8 type; /* always 0x00 */ + __u8 hver; /* header version, currently needs to be 0x00 */ + __u16 len; /* total length in bytes (including this header) */ + __u8 version; /* PKEY_TYPE_EP11_AES or PKEY_TYPE_EP11_ECC */ + __u8 res0; /* unused */ + __u16 bitlen; /* clear key bit len, 0 for unknown */ + __u8 res1[8]; /* unused */ +} __attribute__((packed)); + +/* + * Generate CCA AES secure key. + */ +struct pkey_genseck { + __u16 cardnr; /* in: card to use or FFFF for any */ + __u16 domain; /* in: domain or FFFF for any */ + __u32 keytype; /* in: key type to generate */ + struct pkey_seckey seckey; /* out: the secure key blob */ +}; + +#define PKEY_GENSECK _IOWR(PKEY_IOCTL_MAGIC, 0x01, struct pkey_genseck) + +/* + * Construct CCA AES secure key from clear key value + */ +struct pkey_clr2seck { + __u16 cardnr; /* in: card to use or FFFF for any */ + __u16 domain; /* in: domain or FFFF for any */ + __u32 keytype; /* in: key type to generate */ + struct pkey_clrkey clrkey; /* in: the clear key value */ + struct pkey_seckey seckey; /* out: the secure key blob */ +}; + +#define PKEY_CLR2SECK _IOWR(PKEY_IOCTL_MAGIC, 0x02, struct pkey_clr2seck) + +/* + * Fabricate AES protected key from a CCA AES secure key + */ +struct pkey_sec2protk { + __u16 cardnr; /* in: card to use or FFFF for any */ + __u16 domain; /* in: domain or FFFF for any */ + struct pkey_seckey seckey; /* in: the secure key blob */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_SEC2PROTK _IOWR(PKEY_IOCTL_MAGIC, 0x03, struct pkey_sec2protk) + +/* + * Fabricate AES protected key from clear key value + */ +struct pkey_clr2protk { + __u32 keytype; /* in: key type to generate */ + struct pkey_clrkey clrkey; /* in: the clear key value */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_CLR2PROTK _IOWR(PKEY_IOCTL_MAGIC, 0x04, struct pkey_clr2protk) + +/* + * Search for matching crypto card based on the Master Key + * Verification Pattern provided inside a CCA AES secure key. + */ +struct pkey_findcard { + struct pkey_seckey seckey; /* in: the secure key blob */ + __u16 cardnr; /* out: card number */ + __u16 domain; /* out: domain number */ +}; + +#define PKEY_FINDCARD _IOWR(PKEY_IOCTL_MAGIC, 0x05, struct pkey_findcard) + +/* + * Combined together: findcard + sec2prot + */ +struct pkey_skey2pkey { + struct pkey_seckey seckey; /* in: the secure key blob */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_SKEY2PKEY _IOWR(PKEY_IOCTL_MAGIC, 0x06, struct pkey_skey2pkey) + +/* + * Verify the given CCA AES secure key for being able to be usable with + * the pkey module. Check for correct key type and check for having at + * least one crypto card being able to handle this key (master key + * or old master key verification pattern matches). + * Return some info about the key: keysize in bits, keytype (currently + * only AES), flag if key is wrapped with an old MKVP. + */ +struct pkey_verifykey { + struct pkey_seckey seckey; /* in: the secure key blob */ + __u16 cardnr; /* out: card number */ + __u16 domain; /* out: domain number */ + __u16 keysize; /* out: key size in bits */ + __u32 attributes; /* out: attribute bits */ +}; + +#define PKEY_VERIFYKEY _IOWR(PKEY_IOCTL_MAGIC, 0x07, struct pkey_verifykey) +#define PKEY_VERIFY_ATTR_AES 0x00000001 /* key is an AES key */ +#define PKEY_VERIFY_ATTR_OLD_MKVP 0x00000100 /* key has old MKVP value */ + +/* + * Generate AES random protected key. + */ +struct pkey_genprotk { + __u32 keytype; /* in: key type to generate */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_GENPROTK _IOWR(PKEY_IOCTL_MAGIC, 0x08, struct pkey_genprotk) + +/* + * Verify an AES protected key. + */ +struct pkey_verifyprotk { + struct pkey_protkey protkey; /* in: the protected key to verify */ +}; + +#define PKEY_VERIFYPROTK _IOW(PKEY_IOCTL_MAGIC, 0x09, struct pkey_verifyprotk) + +/* + * Transform an key blob (of any type) into a protected key + */ +struct pkey_kblob2pkey { + __u8 *key; /* in: the key blob */ + __u32 keylen; /* in: the key blob length */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_KBLOB2PROTK _IOWR(PKEY_IOCTL_MAGIC, 0x0A, struct pkey_kblob2pkey) + +/* + * Generate secure key, version 2. + * Generate CCA AES secure key, CCA AES cipher key or EP11 AES secure key. + * There needs to be a list of apqns given with at least one entry in there. + * All apqns in the list need to be exact apqns, 0xFFFF as ANY card or domain + * is not supported. The implementation walks through the list of apqns and + * tries to send the request to each apqn without any further checking (like + * card type or online state). If the apqn fails, simple the next one in the + * list is tried until success (return 0) or the end of the list is reached + * (return -1 with errno ENODEV). You may use the PKEY_APQNS4KT ioctl to + * generate a list of apqns based on the key type to generate. + * The keygenflags argument is passed to the low level generation functions + * individual for the key type and has a key type specific meaning. When + * generating CCA cipher keys you can use one or more of the PKEY_KEYGEN_* + * flags to widen the export possibilities. By default a cipher key is + * only exportable for CPACF (PKEY_KEYGEN_XPRT_CPAC). + * The keygenflag argument for generating an EP11 AES key should either be 0 + * to use the defaults which are XCP_BLOB_ENCRYPT, XCP_BLOB_DECRYPT and + * XCP_BLOB_PROTKEY_EXTRACTABLE or a valid combination of XCP_BLOB_* flags. + */ +struct pkey_genseck2 { + struct pkey_apqn *apqns; /* in: ptr to list of apqn targets*/ + __u32 apqn_entries; /* in: # of apqn target list entries */ + enum pkey_key_type type; /* in: key type to generate */ + enum pkey_key_size size; /* in: key size to generate */ + __u32 keygenflags; /* in: key generation flags */ + __u8 *key; /* in: pointer to key blob buffer */ + __u32 keylen; /* in: available key blob buffer size */ + /* out: actual key blob size */ +}; + +#define PKEY_GENSECK2 _IOWR(PKEY_IOCTL_MAGIC, 0x11, struct pkey_genseck2) + +/* + * Generate secure key from clear key value, version 2. + * Construct an CCA AES secure key, CCA AES cipher key or EP11 AES secure + * key from a given clear key value. + * There needs to be a list of apqns given with at least one entry in there. + * All apqns in the list need to be exact apqns, 0xFFFF as ANY card or domain + * is not supported. The implementation walks through the list of apqns and + * tries to send the request to each apqn without any further checking (like + * card type or online state). If the apqn fails, simple the next one in the + * list is tried until success (return 0) or the end of the list is reached + * (return -1 with errno ENODEV). You may use the PKEY_APQNS4KT ioctl to + * generate a list of apqns based on the key type to generate. + * The keygenflags argument is passed to the low level generation functions + * individual for the key type and has a key type specific meaning. When + * generating CCA cipher keys you can use one or more of the PKEY_KEYGEN_* + * flags to widen the export possibilities. By default a cipher key is + * only exportable for CPACF (PKEY_KEYGEN_XPRT_CPAC). + * The keygenflag argument for generating an EP11 AES key should either be 0 + * to use the defaults which are XCP_BLOB_ENCRYPT, XCP_BLOB_DECRYPT and + * XCP_BLOB_PROTKEY_EXTRACTABLE or a valid combination of XCP_BLOB_* flags. + */ +struct pkey_clr2seck2 { + struct pkey_apqn *apqns; /* in: ptr to list of apqn targets */ + __u32 apqn_entries; /* in: # of apqn target list entries */ + enum pkey_key_type type; /* in: key type to generate */ + enum pkey_key_size size; /* in: key size to generate */ + __u32 keygenflags; /* in: key generation flags */ + struct pkey_clrkey clrkey; /* in: the clear key value */ + __u8 *key; /* in: pointer to key blob buffer */ + __u32 keylen; /* in: available key blob buffer size */ + /* out: actual key blob size */ +}; + +#define PKEY_CLR2SECK2 _IOWR(PKEY_IOCTL_MAGIC, 0x12, struct pkey_clr2seck2) + +/* + * Verify the given secure key, version 2. + * Check for correct key type. If cardnr and domain are given (are not + * 0xFFFF) also check if this apqn is able to handle this type of key. + * If cardnr and/or domain is 0xFFFF, on return these values are filled + * with one apqn able to handle this key. + * The function also checks for the master key verification patterns + * of the key matching to the current or alternate mkvp of the apqn. + * For CCA AES secure keys and CCA AES cipher keys this means to check + * the key's mkvp against the current or old mkvp of the apqns. The flags + * field is updated with some additional info about the apqn mkvp + * match: If the current mkvp matches to the key's mkvp then the + * PKEY_FLAGS_MATCH_CUR_MKVP bit is set, if the alternate mkvp matches to + * the key's mkvp the PKEY_FLAGS_MATCH_ALT_MKVP is set. For CCA keys the + * alternate mkvp is the old master key verification pattern. + * CCA AES secure keys are also checked to have the CPACF export allowed + * bit enabled (XPRTCPAC) in the kmf1 field. + * EP11 keys are also supported and the wkvp of the key is checked against + * the current wkvp of the apqns. There is no alternate for this type of + * key and so on a match the flag PKEY_FLAGS_MATCH_CUR_MKVP always is set. + * EP11 keys are also checked to have XCP_BLOB_PROTKEY_EXTRACTABLE set. + * The ioctl returns 0 as long as the given or found apqn matches to + * matches with the current or alternate mkvp to the key's mkvp. If the given + * apqn does not match or there is no such apqn found, -1 with errno + * ENODEV is returned. + */ +struct pkey_verifykey2 { + __u8 *key; /* in: pointer to key blob */ + __u32 keylen; /* in: key blob size */ + __u16 cardnr; /* in/out: card number */ + __u16 domain; /* in/out: domain number */ + enum pkey_key_type type; /* out: the key type */ + enum pkey_key_size size; /* out: the key size */ + __u32 flags; /* out: additional key info flags */ +}; + +#define PKEY_VERIFYKEY2 _IOWR(PKEY_IOCTL_MAGIC, 0x17, struct pkey_verifykey2) + +/* + * Transform a key blob into a protected key, version 2. + * There needs to be a list of apqns given with at least one entry in there. + * All apqns in the list need to be exact apqns, 0xFFFF as ANY card or domain + * is not supported. The implementation walks through the list of apqns and + * tries to send the request to each apqn without any further checking (like + * card type or online state). If the apqn fails, simple the next one in the + * list is tried until success (return 0) or the end of the list is reached + * (return -1 with errno ENODEV). You may use the PKEY_APQNS4K ioctl to + * generate a list of apqns based on the key. + * Deriving ECC protected keys from ECC secure keys is not supported with + * this ioctl, use PKEY_KBLOB2PROTK3 for this purpose. + */ +struct pkey_kblob2pkey2 { + __u8 *key; /* in: pointer to key blob */ + __u32 keylen; /* in: key blob size */ + struct pkey_apqn *apqns; /* in: ptr to list of apqn targets */ + __u32 apqn_entries; /* in: # of apqn target list entries */ + struct pkey_protkey protkey; /* out: the protected key */ +}; + +#define PKEY_KBLOB2PROTK2 _IOWR(PKEY_IOCTL_MAGIC, 0x1A, struct pkey_kblob2pkey2) + +/* + * Build a list of APQNs based on a key blob given. + * Is able to find out which type of secure key is given (CCA AES secure + * key, CCA AES cipher key, CCA ECC private key, EP11 AES key, EP11 ECC private + * key) and tries to find all matching crypto cards based on the MKVP and maybe + * other criteria (like CCA AES cipher keys need a CEX5C or higher, EP11 keys + * with BLOB_PKEY_EXTRACTABLE need a CEX7 and EP11 api version 4). The list of + * APQNs is further filtered by the key's mkvp which needs to match to either + * the current mkvp (CCA and EP11) or the alternate mkvp (old mkvp, CCA adapters + * only) of the apqns. The flags argument may be used to limit the matching + * apqns. If the PKEY_FLAGS_MATCH_CUR_MKVP is given, only the current mkvp of + * each apqn is compared. Likewise with the PKEY_FLAGS_MATCH_ALT_MKVP. If both + * are given, it is assumed to return apqns where either the current or the + * alternate mkvp matches. At least one of the matching flags needs to be given. + * The flags argument for EP11 keys has no further action and is currently + * ignored (but needs to be given as PKEY_FLAGS_MATCH_CUR_MKVP) as there is only + * the wkvp from the key to match against the apqn's wkvp. + * The list of matching apqns is stored into the space given by the apqns + * argument and the number of stored entries goes into apqn_entries. If the list + * is empty (apqn_entries is 0) the apqn_entries field is updated to the number + * of apqn targets found and the ioctl returns with 0. If apqn_entries is > 0 + * but the number of apqn targets does not fit into the list, the apqn_targets + * field is updated with the number of required entries but there are no apqn + * values stored in the list and the ioctl returns with ENOSPC. If no matching + * APQN is found, the ioctl returns with 0 but the apqn_entries value is 0. + */ +struct pkey_apqns4key { + __u8 *key; /* in: pointer to key blob */ + __u32 keylen; /* in: key blob size */ + __u32 flags; /* in: match controlling flags */ + struct pkey_apqn *apqns; /* in/out: ptr to list of apqn targets*/ + __u32 apqn_entries; /* in: max # of apqn entries in the list */ + /* out: # apqns stored into the list */ +}; + +#define PKEY_APQNS4K _IOWR(PKEY_IOCTL_MAGIC, 0x1B, struct pkey_apqns4key) + +/* + * Build a list of APQNs based on a key type given. + * Build a list of APQNs based on a given key type and maybe further + * restrict the list by given master key verification patterns. + * For different key types there may be different ways to match the + * master key verification patterns. For CCA keys (CCA data key and CCA + * cipher key) the first 8 bytes of cur_mkvp refer to the current AES mkvp value + * of the apqn and the first 8 bytes of the alt_mkvp refer to the old AES mkvp. + * For CCA ECC keys it is similar but the match is against the APKA current/old + * mkvp. The flags argument controls if the apqns current and/or alternate mkvp + * should match. If the PKEY_FLAGS_MATCH_CUR_MKVP is given, only the current + * mkvp of each apqn is compared. Likewise with the PKEY_FLAGS_MATCH_ALT_MKVP. + * If both are given, it is assumed to return apqns where either the + * current or the alternate mkvp matches. If no match flag is given + * (flags is 0) the mkvp values are ignored for the match process. + * For EP11 keys there is only the current wkvp. So if the apqns should also + * match to a given wkvp, then the PKEY_FLAGS_MATCH_CUR_MKVP flag should be + * set. The wkvp value is 32 bytes but only the leftmost 16 bytes are compared + * against the leftmost 16 byte of the wkvp of the apqn. + * The list of matching apqns is stored into the space given by the apqns + * argument and the number of stored entries goes into apqn_entries. If the list + * is empty (apqn_entries is 0) the apqn_entries field is updated to the number + * of apqn targets found and the ioctl returns with 0. If apqn_entries is > 0 + * but the number of apqn targets does not fit into the list, the apqn_targets + * field is updated with the number of required entries but there are no apqn + * values stored in the list and the ioctl returns with ENOSPC. If no matching + * APQN is found, the ioctl returns with 0 but the apqn_entries value is 0. + */ +struct pkey_apqns4keytype { + enum pkey_key_type type; /* in: key type */ + __u8 cur_mkvp[32]; /* in: current mkvp */ + __u8 alt_mkvp[32]; /* in: alternate mkvp */ + __u32 flags; /* in: match controlling flags */ + struct pkey_apqn *apqns; /* in/out: ptr to list of apqn targets*/ + __u32 apqn_entries; /* in: max # of apqn entries in the list */ + /* out: # apqns stored into the list */ +}; + +#define PKEY_APQNS4KT _IOWR(PKEY_IOCTL_MAGIC, 0x1C, struct pkey_apqns4keytype) + +/* + * Transform a key blob into a protected key, version 3. + * The difference to version 2 of this ioctl is that the protected key + * buffer is now explicitly and not within a struct pkey_protkey any more. + * So this ioctl is also able to handle EP11 and CCA ECC secure keys and + * provide ECC protected keys. + * There needs to be a list of apqns given with at least one entry in there. + * All apqns in the list need to be exact apqns, 0xFFFF as ANY card or domain + * is not supported. The implementation walks through the list of apqns and + * tries to send the request to each apqn without any further checking (like + * card type or online state). If the apqn fails, simple the next one in the + * list is tried until success (return 0) or the end of the list is reached + * (return -1 with errno ENODEV). You may use the PKEY_APQNS4K ioctl to + * generate a list of apqns based on the key. + */ +struct pkey_kblob2pkey3 { + __u8 *key; /* in: pointer to key blob */ + __u32 keylen; /* in: key blob size */ + struct pkey_apqn *apqns; /* in: ptr to list of apqn targets */ + __u32 apqn_entries; /* in: # of apqn target list entries */ + __u32 pkeytype; /* out: prot key type (enum pkey_key_type) */ + __u32 pkeylen; /* in/out: size of pkey buffer/actual len of pkey */ + __u8 *pkey; /* in: pkey blob buffer space ptr */ +}; + +#define PKEY_KBLOB2PROTK3 _IOWR(PKEY_IOCTL_MAGIC, 0x1D, struct pkey_kblob2pkey3) + +#endif /* _PKEY_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/posix_types.h new file mode 100644 index 00000000..df0e7373 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/posix_types.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + */ + +#ifndef __ARCH_S390_POSIX_TYPES_H +#define __ARCH_S390_POSIX_TYPES_H + +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +typedef unsigned long __kernel_size_t; +typedef long __kernel_ssize_t; +#define __kernel_size_t __kernel_size_t + +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t + + +#ifndef __s390x__ + +typedef unsigned long __kernel_ino_t; +typedef unsigned short __kernel_mode_t; +typedef unsigned short __kernel_ipc_pid_t; +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +typedef int __kernel_ptrdiff_t; + +#else /* __s390x__ */ + +typedef unsigned int __kernel_ino_t; +typedef unsigned int __kernel_mode_t; +typedef int __kernel_ipc_pid_t; +typedef unsigned int __kernel_uid_t; +typedef unsigned int __kernel_gid_t; +typedef long __kernel_ptrdiff_t; +typedef unsigned long __kernel_sigset_t; /* at least 32 bits */ + +#endif /* __s390x__ */ + +#define __kernel_ino_t __kernel_ino_t +#define __kernel_mode_t __kernel_mode_t +#define __kernel_ipc_pid_t __kernel_ipc_pid_t +#define __kernel_uid_t __kernel_uid_t +#define __kernel_gid_t __kernel_gid_t + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ptrace.h new file mode 100644 index 00000000..094fe932 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ptrace.h @@ -0,0 +1,455 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * Copyright IBM Corp. 1999, 2000 + * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) + */ + +#ifndef _S390_PTRACE_H +#define _S390_PTRACE_H + +#include + +/* + * Offsets in the user_regs_struct. They are used for the ptrace + * system call and in entry.S + */ +#ifndef __s390x__ + +#define PT_PSWMASK 0x00 +#define PT_PSWADDR 0x04 +#define PT_GPR0 0x08 +#define PT_GPR1 0x0C +#define PT_GPR2 0x10 +#define PT_GPR3 0x14 +#define PT_GPR4 0x18 +#define PT_GPR5 0x1C +#define PT_GPR6 0x20 +#define PT_GPR7 0x24 +#define PT_GPR8 0x28 +#define PT_GPR9 0x2C +#define PT_GPR10 0x30 +#define PT_GPR11 0x34 +#define PT_GPR12 0x38 +#define PT_GPR13 0x3C +#define PT_GPR14 0x40 +#define PT_GPR15 0x44 +#define PT_ACR0 0x48 +#define PT_ACR1 0x4C +#define PT_ACR2 0x50 +#define PT_ACR3 0x54 +#define PT_ACR4 0x58 +#define PT_ACR5 0x5C +#define PT_ACR6 0x60 +#define PT_ACR7 0x64 +#define PT_ACR8 0x68 +#define PT_ACR9 0x6C +#define PT_ACR10 0x70 +#define PT_ACR11 0x74 +#define PT_ACR12 0x78 +#define PT_ACR13 0x7C +#define PT_ACR14 0x80 +#define PT_ACR15 0x84 +#define PT_ORIGGPR2 0x88 +#define PT_FPC 0x90 +/* + * A nasty fact of life that the ptrace api + * only supports passing of longs. + */ +#define PT_FPR0_HI 0x98 +#define PT_FPR0_LO 0x9C +#define PT_FPR1_HI 0xA0 +#define PT_FPR1_LO 0xA4 +#define PT_FPR2_HI 0xA8 +#define PT_FPR2_LO 0xAC +#define PT_FPR3_HI 0xB0 +#define PT_FPR3_LO 0xB4 +#define PT_FPR4_HI 0xB8 +#define PT_FPR4_LO 0xBC +#define PT_FPR5_HI 0xC0 +#define PT_FPR5_LO 0xC4 +#define PT_FPR6_HI 0xC8 +#define PT_FPR6_LO 0xCC +#define PT_FPR7_HI 0xD0 +#define PT_FPR7_LO 0xD4 +#define PT_FPR8_HI 0xD8 +#define PT_FPR8_LO 0XDC +#define PT_FPR9_HI 0xE0 +#define PT_FPR9_LO 0xE4 +#define PT_FPR10_HI 0xE8 +#define PT_FPR10_LO 0xEC +#define PT_FPR11_HI 0xF0 +#define PT_FPR11_LO 0xF4 +#define PT_FPR12_HI 0xF8 +#define PT_FPR12_LO 0xFC +#define PT_FPR13_HI 0x100 +#define PT_FPR13_LO 0x104 +#define PT_FPR14_HI 0x108 +#define PT_FPR14_LO 0x10C +#define PT_FPR15_HI 0x110 +#define PT_FPR15_LO 0x114 +#define PT_CR_9 0x118 +#define PT_CR_10 0x11C +#define PT_CR_11 0x120 +#define PT_IEEE_IP 0x13C +#define PT_LASTOFF PT_IEEE_IP +#define PT_ENDREGS 0x140-1 + +#define GPR_SIZE 4 +#define CR_SIZE 4 + +#define STACK_FRAME_OVERHEAD 96 /* size of minimum stack frame */ + +#else /* __s390x__ */ + +#define PT_PSWMASK 0x00 +#define PT_PSWADDR 0x08 +#define PT_GPR0 0x10 +#define PT_GPR1 0x18 +#define PT_GPR2 0x20 +#define PT_GPR3 0x28 +#define PT_GPR4 0x30 +#define PT_GPR5 0x38 +#define PT_GPR6 0x40 +#define PT_GPR7 0x48 +#define PT_GPR8 0x50 +#define PT_GPR9 0x58 +#define PT_GPR10 0x60 +#define PT_GPR11 0x68 +#define PT_GPR12 0x70 +#define PT_GPR13 0x78 +#define PT_GPR14 0x80 +#define PT_GPR15 0x88 +#define PT_ACR0 0x90 +#define PT_ACR1 0x94 +#define PT_ACR2 0x98 +#define PT_ACR3 0x9C +#define PT_ACR4 0xA0 +#define PT_ACR5 0xA4 +#define PT_ACR6 0xA8 +#define PT_ACR7 0xAC +#define PT_ACR8 0xB0 +#define PT_ACR9 0xB4 +#define PT_ACR10 0xB8 +#define PT_ACR11 0xBC +#define PT_ACR12 0xC0 +#define PT_ACR13 0xC4 +#define PT_ACR14 0xC8 +#define PT_ACR15 0xCC +#define PT_ORIGGPR2 0xD0 +#define PT_FPC 0xD8 +#define PT_FPR0 0xE0 +#define PT_FPR1 0xE8 +#define PT_FPR2 0xF0 +#define PT_FPR3 0xF8 +#define PT_FPR4 0x100 +#define PT_FPR5 0x108 +#define PT_FPR6 0x110 +#define PT_FPR7 0x118 +#define PT_FPR8 0x120 +#define PT_FPR9 0x128 +#define PT_FPR10 0x130 +#define PT_FPR11 0x138 +#define PT_FPR12 0x140 +#define PT_FPR13 0x148 +#define PT_FPR14 0x150 +#define PT_FPR15 0x158 +#define PT_CR_9 0x160 +#define PT_CR_10 0x168 +#define PT_CR_11 0x170 +#define PT_IEEE_IP 0x1A8 +#define PT_LASTOFF PT_IEEE_IP +#define PT_ENDREGS 0x1B0-1 + +#define GPR_SIZE 8 +#define CR_SIZE 8 + +#define STACK_FRAME_OVERHEAD 160 /* size of minimum stack frame */ + +#endif /* __s390x__ */ + +#ifndef __s390x__ + +#define PSW_MASK_PER _AC(0x40000000, UL) +#define PSW_MASK_DAT _AC(0x04000000, UL) +#define PSW_MASK_IO _AC(0x02000000, UL) +#define PSW_MASK_EXT _AC(0x01000000, UL) +#define PSW_MASK_KEY _AC(0x00F00000, UL) +#define PSW_MASK_BASE _AC(0x00080000, UL) /* always one */ +#define PSW_MASK_MCHECK _AC(0x00040000, UL) +#define PSW_MASK_WAIT _AC(0x00020000, UL) +#define PSW_MASK_PSTATE _AC(0x00010000, UL) +#define PSW_MASK_ASC _AC(0x0000C000, UL) +#define PSW_MASK_CC _AC(0x00003000, UL) +#define PSW_MASK_PM _AC(0x00000F00, UL) +#define PSW_MASK_RI _AC(0x00000000, UL) +#define PSW_MASK_EA _AC(0x00000000, UL) +#define PSW_MASK_BA _AC(0x00000000, UL) + +#define PSW_MASK_USER _AC(0x0000FF00, UL) + +#define PSW_ADDR_AMODE _AC(0x80000000, UL) +#define PSW_ADDR_INSN _AC(0x7FFFFFFF, UL) + +#define PSW_ASC_PRIMARY _AC(0x00000000, UL) +#define PSW_ASC_ACCREG _AC(0x00004000, UL) +#define PSW_ASC_SECONDARY _AC(0x00008000, UL) +#define PSW_ASC_HOME _AC(0x0000C000, UL) + +#else /* __s390x__ */ + +#define PSW_MASK_PER _AC(0x4000000000000000, UL) +#define PSW_MASK_DAT _AC(0x0400000000000000, UL) +#define PSW_MASK_IO _AC(0x0200000000000000, UL) +#define PSW_MASK_EXT _AC(0x0100000000000000, UL) +#define PSW_MASK_BASE _AC(0x0000000000000000, UL) +#define PSW_MASK_KEY _AC(0x00F0000000000000, UL) +#define PSW_MASK_MCHECK _AC(0x0004000000000000, UL) +#define PSW_MASK_WAIT _AC(0x0002000000000000, UL) +#define PSW_MASK_PSTATE _AC(0x0001000000000000, UL) +#define PSW_MASK_ASC _AC(0x0000C00000000000, UL) +#define PSW_MASK_CC _AC(0x0000300000000000, UL) +#define PSW_MASK_PM _AC(0x00000F0000000000, UL) +#define PSW_MASK_RI _AC(0x0000008000000000, UL) +#define PSW_MASK_EA _AC(0x0000000100000000, UL) +#define PSW_MASK_BA _AC(0x0000000080000000, UL) + +#define PSW_MASK_USER _AC(0x0000FF0180000000, UL) + +#define PSW_ADDR_AMODE _AC(0x0000000000000000, UL) +#define PSW_ADDR_INSN _AC(0xFFFFFFFFFFFFFFFF, UL) + +#define PSW_ASC_PRIMARY _AC(0x0000000000000000, UL) +#define PSW_ASC_ACCREG _AC(0x0000400000000000, UL) +#define PSW_ASC_SECONDARY _AC(0x0000800000000000, UL) +#define PSW_ASC_HOME _AC(0x0000C00000000000, UL) + +#endif /* __s390x__ */ + +#define NUM_GPRS 16 +#define NUM_FPRS 16 +#define NUM_CRS 16 +#define NUM_ACRS 16 + +#define NUM_CR_WORDS 3 + +#define FPR_SIZE 8 +#define FPC_SIZE 4 +#define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */ +#define ACR_SIZE 4 + + +#define PTRACE_OLDSETOPTIONS 21 +#define PTRACE_SYSEMU 31 +#define PTRACE_SYSEMU_SINGLESTEP 32 +#ifndef __ASSEMBLY__ +#include +#include + +typedef union { + float f; + double d; + __u64 ui; + struct + { + __u32 hi; + __u32 lo; + } fp; +} freg_t; + +typedef struct { + __u32 fpc; + __u32 pad; + freg_t fprs[NUM_FPRS]; +} s390_fp_regs; + +#define FPC_EXCEPTION_MASK 0xF8000000 +#define FPC_FLAGS_MASK 0x00F80000 +#define FPC_DXC_MASK 0x0000FF00 +#define FPC_RM_MASK 0x00000003 + +/* this typedef defines how a Program Status Word looks like */ +typedef struct { + unsigned long mask; + unsigned long addr; +} __attribute__ ((aligned(8))) psw_t; + +/* + * The s390_regs structure is used to define the elf_gregset_t. + */ +typedef struct { + psw_t psw; + unsigned long gprs[NUM_GPRS]; + unsigned int acrs[NUM_ACRS]; + unsigned long orig_gpr2; +} s390_regs; + +/* + * The user_pt_regs structure exports the beginning of + * the in-kernel pt_regs structure to user space. + */ +typedef struct { + unsigned long args[1]; + psw_t psw; + unsigned long gprs[NUM_GPRS]; +} user_pt_regs; + +/* + * Now for the user space program event recording (trace) definitions. + * The following structures are used only for the ptrace interface, don't + * touch or even look at it if you don't want to modify the user-space + * ptrace interface. In particular stay away from it for in-kernel PER. + */ +typedef struct { + unsigned long cr[NUM_CR_WORDS]; +} per_cr_words; + +#define PER_EM_MASK 0xE8000000UL + +typedef struct { +#ifdef __s390x__ + unsigned : 32; +#endif /* __s390x__ */ + unsigned em_branching : 1; + unsigned em_instruction_fetch : 1; + /* + * Switching on storage alteration automatically fixes + * the storage alteration event bit in the users std. + */ + unsigned em_storage_alteration : 1; + unsigned em_gpr_alt_unused : 1; + unsigned em_store_real_address : 1; + unsigned : 3; + unsigned branch_addr_ctl : 1; + unsigned : 1; + unsigned storage_alt_space_ctl : 1; + unsigned : 21; + unsigned long starting_addr; + unsigned long ending_addr; +} per_cr_bits; + +typedef struct { + unsigned short perc_atmid; + unsigned long address; + unsigned char access_id; +} per_lowcore_words; + +typedef struct { + unsigned perc_branching : 1; + unsigned perc_instruction_fetch : 1; + unsigned perc_storage_alteration : 1; + unsigned perc_gpr_alt_unused : 1; + unsigned perc_store_real_address : 1; + unsigned : 3; + unsigned atmid_psw_bit_31 : 1; + unsigned atmid_validity_bit : 1; + unsigned atmid_psw_bit_32 : 1; + unsigned atmid_psw_bit_5 : 1; + unsigned atmid_psw_bit_16 : 1; + unsigned atmid_psw_bit_17 : 1; + unsigned si : 2; + unsigned long address; + unsigned : 4; + unsigned access_id : 4; +} per_lowcore_bits; + +typedef struct { + union { + per_cr_words words; + per_cr_bits bits; + } control_regs; + /* + * The single_step and instruction_fetch bits are obsolete, + * the kernel always sets them to zero. To enable single + * stepping use ptrace(PTRACE_SINGLESTEP) instead. + */ + unsigned single_step : 1; + unsigned instruction_fetch : 1; + unsigned : 30; + /* + * These addresses are copied into cr10 & cr11 if single + * stepping is switched off + */ + unsigned long starting_addr; + unsigned long ending_addr; + union { + per_lowcore_words words; + per_lowcore_bits bits; + } lowcore; +} per_struct; + +typedef struct { + unsigned int len; + unsigned long kernel_addr; + unsigned long process_addr; +} ptrace_area; + +/* + * S/390 specific non posix ptrace requests. I chose unusual values so + * they are unlikely to clash with future ptrace definitions. + */ +#define PTRACE_PEEKUSR_AREA 0x5000 +#define PTRACE_POKEUSR_AREA 0x5001 +#define PTRACE_PEEKTEXT_AREA 0x5002 +#define PTRACE_PEEKDATA_AREA 0x5003 +#define PTRACE_POKETEXT_AREA 0x5004 +#define PTRACE_POKEDATA_AREA 0x5005 +#define PTRACE_GET_LAST_BREAK 0x5006 +#define PTRACE_PEEK_SYSTEM_CALL 0x5007 +#define PTRACE_POKE_SYSTEM_CALL 0x5008 +#define PTRACE_ENABLE_TE 0x5009 +#define PTRACE_DISABLE_TE 0x5010 +#define PTRACE_TE_ABORT_RAND 0x5011 + +/* + * The numbers chosen here are somewhat arbitrary but absolutely MUST + * not overlap with any of the number assigned in . + */ +#define PTRACE_SINGLEBLOCK 12 /* resume execution until next branch */ + +/* + * PT_PROT definition is loosely based on hppa bsd definition in + * gdb/hppab-nat.c + */ +#define PTRACE_PROT 21 + +typedef enum { + ptprot_set_access_watchpoint, + ptprot_set_write_watchpoint, + ptprot_disable_watchpoint +} ptprot_flags; + +typedef struct { + unsigned long lowaddr; + unsigned long hiaddr; + ptprot_flags prot; +} ptprot_area; + +/* Sequence of bytes for breakpoint illegal instruction. */ +#define S390_BREAKPOINT {0x0,0x1} +#define S390_BREAKPOINT_U16 ((__u16)0x0001) +#define S390_SYSCALL_OPCODE ((__u16)0x0a00) +#define S390_SYSCALL_SIZE 2 + +/* + * The user_regs_struct defines the way the user registers are + * store on the stack for signal handling. + */ +struct user_regs_struct { + psw_t psw; + unsigned long gprs[NUM_GPRS]; + unsigned int acrs[NUM_ACRS]; + unsigned long orig_gpr2; + s390_fp_regs fp_regs; + /* + * These per registers are in here so that gdb can modify them + * itself as there is no "official" ptrace interface for hardware + * watchpoints. This is the way intel does it. + */ + per_struct per_info; + unsigned long ieee_instruction_pointer; /* obsolete, always 0 */ +}; + +#endif /* __ASSEMBLY__ */ + +#endif /* _S390_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/qeth.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/qeth.h new file mode 100644 index 00000000..378f2995 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/qeth.h @@ -0,0 +1,116 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * ioctl definitions for qeth driver + * + * Copyright IBM Corp. 2004 + * + * Author(s): Thomas Spatzier + * + */ +#ifndef __ASM_S390_QETH_IOCTL_H__ +#define __ASM_S390_QETH_IOCTL_H__ +#include +#include + +#define SIOC_QETH_ARP_SET_NO_ENTRIES (SIOCDEVPRIVATE) +#define SIOC_QETH_ARP_QUERY_INFO (SIOCDEVPRIVATE + 1) +#define SIOC_QETH_ARP_ADD_ENTRY (SIOCDEVPRIVATE + 2) +#define SIOC_QETH_ARP_REMOVE_ENTRY (SIOCDEVPRIVATE + 3) +#define SIOC_QETH_ARP_FLUSH_CACHE (SIOCDEVPRIVATE + 4) +#define SIOC_QETH_ADP_SET_SNMP_CONTROL (SIOCDEVPRIVATE + 5) +#define SIOC_QETH_GET_CARD_TYPE (SIOCDEVPRIVATE + 6) +#define SIOC_QETH_QUERY_OAT (SIOCDEVPRIVATE + 7) + +struct qeth_arp_cache_entry { + __u8 macaddr[6]; + __u8 reserved1[2]; + __u8 ipaddr[16]; /* for both IPv4 and IPv6 */ + __u8 reserved2[32]; +} __attribute__ ((packed)); + +enum qeth_arp_ipaddrtype { + QETHARP_IP_ADDR_V4 = 1, + QETHARP_IP_ADDR_V6 = 2, +}; +struct qeth_arp_entrytype { + __u8 mac; + __u8 ip; +} __attribute__((packed)); + +#define QETH_QARP_MEDIASPECIFIC_BYTES 32 +#define QETH_QARP_MACADDRTYPE_BYTES 1 +struct qeth_arp_qi_entry7 { + __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; + struct qeth_arp_entrytype type; + __u8 macaddr[6]; + __u8 ipaddr[4]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry7_ipv6 { + __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; + struct qeth_arp_entrytype type; + __u8 macaddr[6]; + __u8 ipaddr[16]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry7_short { + struct qeth_arp_entrytype type; + __u8 macaddr[6]; + __u8 ipaddr[4]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry7_short_ipv6 { + struct qeth_arp_entrytype type; + __u8 macaddr[6]; + __u8 ipaddr[16]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry5 { + __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; + struct qeth_arp_entrytype type; + __u8 ipaddr[4]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry5_ipv6 { + __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; + struct qeth_arp_entrytype type; + __u8 ipaddr[16]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry5_short { + struct qeth_arp_entrytype type; + __u8 ipaddr[4]; +} __attribute__((packed)); + +struct qeth_arp_qi_entry5_short_ipv6 { + struct qeth_arp_entrytype type; + __u8 ipaddr[16]; +} __attribute__((packed)); +/* + * can be set by user if no "media specific information" is wanted + * -> saves a lot of space in user space buffer + */ +#define QETH_QARP_STRIP_ENTRIES 0x8000 +#define QETH_QARP_WITH_IPV6 0x4000 +#define QETH_QARP_REQUEST_MASK 0x00ff + +/* data sent to user space as result of query arp ioctl */ +#define QETH_QARP_USER_DATA_SIZE 20000 +#define QETH_QARP_MASK_OFFSET 4 +#define QETH_QARP_ENTRIES_OFFSET 6 +struct qeth_arp_query_user_data { + union { + __u32 data_len; /* set by user space program */ + __u32 no_entries; /* set by kernel */ + } u; + __u16 mask_bits; + char *entries; +} __attribute__((packed)); + +struct qeth_query_oat_data { + __u32 command; + __u32 buffer_len; + __u32 response_len; + __u64 ptr; +}; +#endif /* __ASM_S390_QETH_IOCTL_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/raw3270.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/raw3270.h new file mode 100644 index 00000000..733cd508 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/raw3270.h @@ -0,0 +1,75 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_S390_UAPI_RAW3270_H +#define __ASM_S390_UAPI_RAW3270_H + +/* Local Channel Commands */ +#define TC_WRITE 0x01 /* Write */ +#define TC_RDBUF 0x02 /* Read Buffer */ +#define TC_EWRITE 0x05 /* Erase write */ +#define TC_READMOD 0x06 /* Read modified */ +#define TC_EWRITEA 0x0d /* Erase write alternate */ +#define TC_WRITESF 0x11 /* Write structured field */ + +/* Buffer Control Orders */ +#define TO_GE 0x08 /* Graphics Escape */ +#define TO_SF 0x1d /* Start field */ +#define TO_SBA 0x11 /* Set buffer address */ +#define TO_IC 0x13 /* Insert cursor */ +#define TO_PT 0x05 /* Program tab */ +#define TO_RA 0x3c /* Repeat to address */ +#define TO_SFE 0x29 /* Start field extended */ +#define TO_EUA 0x12 /* Erase unprotected to address */ +#define TO_MF 0x2c /* Modify field */ +#define TO_SA 0x28 /* Set attribute */ + +/* Field Attribute Bytes */ +#define TF_INPUT 0x40 /* Visible input */ +#define TF_INPUTN 0x4c /* Invisible input */ +#define TF_INMDT 0xc1 /* Visible, Set-MDT */ +#define TF_LOG 0x60 + +/* Character Attribute Bytes */ +#define TAT_RESET 0x00 +#define TAT_FIELD 0xc0 +#define TAT_EXTHI 0x41 +#define TAT_FGCOLOR 0x42 +#define TAT_CHARS 0x43 +#define TAT_BGCOLOR 0x45 +#define TAT_TRANS 0x46 + +/* Extended-Highlighting Bytes */ +#define TAX_RESET 0x00 +#define TAX_BLINK 0xf1 +#define TAX_REVER 0xf2 +#define TAX_UNDER 0xf4 + +/* Reset value */ +#define TAR_RESET 0x00 + +/* Color values */ +#define TAC_RESET 0x00 +#define TAC_BLUE 0xf1 +#define TAC_RED 0xf2 +#define TAC_PINK 0xf3 +#define TAC_GREEN 0xf4 +#define TAC_TURQ 0xf5 +#define TAC_YELLOW 0xf6 +#define TAC_WHITE 0xf7 +#define TAC_DEFAULT 0x00 + +/* Write Control Characters */ +#define TW_NONE 0x40 /* No particular action */ +#define TW_KR 0xc2 /* Keyboard restore */ +#define TW_PLUSALARM 0x04 /* Add this bit for alarm */ + +#define RAW3270_FIRSTMINOR 1 /* First minor number */ +#define RAW3270_MAXDEVS 255 /* Max number of 3270 devices */ + +#define AID_CLEAR 0x6d +#define AID_ENTER 0x7d +#define AID_PF3 0xf3 +#define AID_PF7 0xf7 +#define AID_PF8 0xf8 +#define AID_READ_PARTITION 0x88 + +#endif /* __ASM_S390_UAPI_RAW3270_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/runtime_instr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/runtime_instr.h new file mode 100644 index 00000000..04f5feee --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/runtime_instr.h @@ -0,0 +1,74 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _S390_UAPI_RUNTIME_INSTR_H +#define _S390_UAPI_RUNTIME_INSTR_H + +#include + +#define S390_RUNTIME_INSTR_START 0x1 +#define S390_RUNTIME_INSTR_STOP 0x2 + +struct runtime_instr_cb { + __u64 rca; + __u64 roa; + __u64 rla; + + __u32 v : 1; + __u32 s : 1; + __u32 k : 1; + __u32 h : 1; + __u32 a : 1; + __u32 reserved1 : 3; + __u32 ps : 1; + __u32 qs : 1; + __u32 pc : 1; + __u32 qc : 1; + __u32 reserved2 : 1; + __u32 g : 1; + __u32 u : 1; + __u32 l : 1; + __u32 key : 4; + __u32 reserved3 : 8; + __u32 t : 1; + __u32 rgs : 3; + + __u32 m : 4; + __u32 n : 1; + __u32 mae : 1; + __u32 reserved4 : 2; + __u32 c : 1; + __u32 r : 1; + __u32 b : 1; + __u32 j : 1; + __u32 e : 1; + __u32 x : 1; + __u32 reserved5 : 2; + __u32 bpxn : 1; + __u32 bpxt : 1; + __u32 bpti : 1; + __u32 bpni : 1; + __u32 reserved6 : 2; + + __u32 d : 1; + __u32 f : 1; + __u32 ic : 4; + __u32 dc : 4; + + __u64 reserved7; + __u64 sf; + __u64 rsic; + __u64 reserved8; +} __attribute__((__packed__, __aligned__(8))); + +static __inline__ void load_runtime_instr_cb(struct runtime_instr_cb *cb) +{ + __asm__ volatile(".insn rsy,0xeb0000000060,0,0,%0" /* LRIC */ + : : "Q" (*cb)); +} + +static __inline__ void store_runtime_instr_cb(struct runtime_instr_cb *cb) +{ + __asm__ volatile(".insn rsy,0xeb0000000061,0,0,%0" /* STRIC */ + : "=Q" (*cb) : : "cc"); +} + +#endif /* _S390_UAPI_RUNTIME_INSTR_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/schid.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/schid.h new file mode 100644 index 00000000..02f25ab9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/schid.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef ASM_SCHID_H +#define ASM_SCHID_H + +#include + +#ifndef __ASSEMBLY__ + +struct subchannel_id { + __u32 cssid : 8; + __u32 : 4; + __u32 m : 1; + __u32 ssid : 2; + __u32 one : 1; + __u32 sch_no : 16; +} __attribute__ ((packed, aligned(4))); + +#endif /* __ASSEMBLY__ */ + +#endif /* ASM_SCHID_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sclp_ctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sclp_ctl.h new file mode 100644 index 00000000..3fc2a35f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sclp_ctl.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * IOCTL interface for SCLP + * + * Copyright IBM Corp. 2012 + * + * Author: Michael Holzheu + */ + +#ifndef _ASM_SCLP_CTL_H +#define _ASM_SCLP_CTL_H + +#include + +struct sclp_ctl_sccb { + __u32 cmdw; + __u64 sccb; +} __attribute__((packed)); + +#define SCLP_CTL_IOCTL_MAGIC 0x10 + +#define SCLP_CTL_SCCB \ + _IOWR(SCLP_CTL_IOCTL_MAGIC, 0x10, struct sclp_ctl_sccb) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/setup.h new file mode 100644 index 00000000..d5df3994 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/setup.h @@ -0,0 +1 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sie.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sie.h new file mode 100644 index 00000000..b55af253 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sie.h @@ -0,0 +1,252 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_S390_SIE_H +#define _ASM_S390_SIE_H + +#define diagnose_codes \ + { 0x10, "DIAG (0x10) release pages" }, \ + { 0x44, "DIAG (0x44) time slice end" }, \ + { 0x9c, "DIAG (0x9c) time slice end directed" }, \ + { 0x204, "DIAG (0x204) logical-cpu utilization" }, \ + { 0x258, "DIAG (0x258) page-reference services" }, \ + { 0x288, "DIAG (0x288) watchdog functions" }, \ + { 0x308, "DIAG (0x308) ipl functions" }, \ + { 0x500, "DIAG (0x500) KVM virtio functions" }, \ + { 0x501, "DIAG (0x501) KVM breakpoint" } + +#define sigp_order_codes \ + { 0x01, "SIGP sense" }, \ + { 0x02, "SIGP external call" }, \ + { 0x03, "SIGP emergency signal" }, \ + { 0x04, "SIGP start" }, \ + { 0x05, "SIGP stop" }, \ + { 0x06, "SIGP restart" }, \ + { 0x09, "SIGP stop and store status" }, \ + { 0x0b, "SIGP initial cpu reset" }, \ + { 0x0c, "SIGP cpu reset" }, \ + { 0x0d, "SIGP set prefix" }, \ + { 0x0e, "SIGP store status at address" }, \ + { 0x12, "SIGP set architecture" }, \ + { 0x13, "SIGP conditional emergency signal" }, \ + { 0x15, "SIGP sense running" }, \ + { 0x16, "SIGP set multithreading"}, \ + { 0x17, "SIGP store additional status at address"} + +#define icpt_prog_codes \ + { 0x0001, "Prog Operation" }, \ + { 0x0002, "Prog Privileged Operation" }, \ + { 0x0003, "Prog Execute" }, \ + { 0x0004, "Prog Protection" }, \ + { 0x0005, "Prog Addressing" }, \ + { 0x0006, "Prog Specification" }, \ + { 0x0007, "Prog Data" }, \ + { 0x0008, "Prog Fixedpoint overflow" }, \ + { 0x0009, "Prog Fixedpoint divide" }, \ + { 0x000A, "Prog Decimal overflow" }, \ + { 0x000B, "Prog Decimal divide" }, \ + { 0x000C, "Prog HFP exponent overflow" }, \ + { 0x000D, "Prog HFP exponent underflow" }, \ + { 0x000E, "Prog HFP significance" }, \ + { 0x000F, "Prog HFP divide" }, \ + { 0x0010, "Prog Segment translation" }, \ + { 0x0011, "Prog Page translation" }, \ + { 0x0012, "Prog Translation specification" }, \ + { 0x0013, "Prog Special operation" }, \ + { 0x0015, "Prog Operand" }, \ + { 0x0016, "Prog Trace table" }, \ + { 0x0017, "Prog ASNtranslation specification" }, \ + { 0x001C, "Prog Spaceswitch event" }, \ + { 0x001D, "Prog HFP square root" }, \ + { 0x001F, "Prog PCtranslation specification" }, \ + { 0x0020, "Prog AFX translation" }, \ + { 0x0021, "Prog ASX translation" }, \ + { 0x0022, "Prog LX translation" }, \ + { 0x0023, "Prog EX translation" }, \ + { 0x0024, "Prog Primary authority" }, \ + { 0x0025, "Prog Secondary authority" }, \ + { 0x0026, "Prog LFXtranslation exception" }, \ + { 0x0027, "Prog LSXtranslation exception" }, \ + { 0x0028, "Prog ALET specification" }, \ + { 0x0029, "Prog ALEN translation" }, \ + { 0x002A, "Prog ALE sequence" }, \ + { 0x002B, "Prog ASTE validity" }, \ + { 0x002C, "Prog ASTE sequence" }, \ + { 0x002D, "Prog Extended authority" }, \ + { 0x002E, "Prog LSTE sequence" }, \ + { 0x002F, "Prog ASTE instance" }, \ + { 0x0030, "Prog Stack full" }, \ + { 0x0031, "Prog Stack empty" }, \ + { 0x0032, "Prog Stack specification" }, \ + { 0x0033, "Prog Stack type" }, \ + { 0x0034, "Prog Stack operation" }, \ + { 0x0039, "Prog Region first translation" }, \ + { 0x003A, "Prog Region second translation" }, \ + { 0x003B, "Prog Region third translation" }, \ + { 0x0040, "Prog Monitor event" }, \ + { 0x0080, "Prog PER event" }, \ + { 0x0119, "Prog Crypto operation" } + +#define exit_code_ipa0(ipa0, opcode, mnemonic) \ + { (ipa0 << 8 | opcode), #ipa0 " " mnemonic } +#define exit_code(opcode, mnemonic) \ + { opcode, mnemonic } + +#define icpt_insn_codes \ + exit_code_ipa0(0x01, 0x01, "PR"), \ + exit_code_ipa0(0x01, 0x04, "PTFF"), \ + exit_code_ipa0(0x01, 0x07, "SCKPF"), \ + exit_code_ipa0(0xAA, 0x00, "RINEXT"), \ + exit_code_ipa0(0xAA, 0x01, "RION"), \ + exit_code_ipa0(0xAA, 0x02, "TRIC"), \ + exit_code_ipa0(0xAA, 0x03, "RIOFF"), \ + exit_code_ipa0(0xAA, 0x04, "RIEMIT"), \ + exit_code_ipa0(0xB2, 0x02, "STIDP"), \ + exit_code_ipa0(0xB2, 0x04, "SCK"), \ + exit_code_ipa0(0xB2, 0x05, "STCK"), \ + exit_code_ipa0(0xB2, 0x06, "SCKC"), \ + exit_code_ipa0(0xB2, 0x07, "STCKC"), \ + exit_code_ipa0(0xB2, 0x08, "SPT"), \ + exit_code_ipa0(0xB2, 0x09, "STPT"), \ + exit_code_ipa0(0xB2, 0x0d, "PTLB"), \ + exit_code_ipa0(0xB2, 0x10, "SPX"), \ + exit_code_ipa0(0xB2, 0x11, "STPX"), \ + exit_code_ipa0(0xB2, 0x12, "STAP"), \ + exit_code_ipa0(0xB2, 0x14, "SIE"), \ + exit_code_ipa0(0xB2, 0x16, "SETR"), \ + exit_code_ipa0(0xB2, 0x17, "STETR"), \ + exit_code_ipa0(0xB2, 0x18, "PC"), \ + exit_code_ipa0(0xB2, 0x20, "SERVC"), \ + exit_code_ipa0(0xB2, 0x21, "IPTE"), \ + exit_code_ipa0(0xB2, 0x28, "PT"), \ + exit_code_ipa0(0xB2, 0x29, "ISKE"), \ + exit_code_ipa0(0xB2, 0x2a, "RRBE"), \ + exit_code_ipa0(0xB2, 0x2b, "SSKE"), \ + exit_code_ipa0(0xB2, 0x2c, "TB"), \ + exit_code_ipa0(0xB2, 0x2e, "PGIN"), \ + exit_code_ipa0(0xB2, 0x2f, "PGOUT"), \ + exit_code_ipa0(0xB2, 0x30, "CSCH"), \ + exit_code_ipa0(0xB2, 0x31, "HSCH"), \ + exit_code_ipa0(0xB2, 0x32, "MSCH"), \ + exit_code_ipa0(0xB2, 0x33, "SSCH"), \ + exit_code_ipa0(0xB2, 0x34, "STSCH"), \ + exit_code_ipa0(0xB2, 0x35, "TSCH"), \ + exit_code_ipa0(0xB2, 0x36, "TPI"), \ + exit_code_ipa0(0xB2, 0x37, "SAL"), \ + exit_code_ipa0(0xB2, 0x38, "RSCH"), \ + exit_code_ipa0(0xB2, 0x39, "STCRW"), \ + exit_code_ipa0(0xB2, 0x3a, "STCPS"), \ + exit_code_ipa0(0xB2, 0x3b, "RCHP"), \ + exit_code_ipa0(0xB2, 0x3c, "SCHM"), \ + exit_code_ipa0(0xB2, 0x40, "BAKR"), \ + exit_code_ipa0(0xB2, 0x48, "PALB"), \ + exit_code_ipa0(0xB2, 0x4c, "TAR"), \ + exit_code_ipa0(0xB2, 0x50, "CSP"), \ + exit_code_ipa0(0xB2, 0x54, "MVPG"), \ + exit_code_ipa0(0xB2, 0x56, "STHYI"), \ + exit_code_ipa0(0xB2, 0x58, "BSG"), \ + exit_code_ipa0(0xB2, 0x5a, "BSA"), \ + exit_code_ipa0(0xB2, 0x5f, "CHSC"), \ + exit_code_ipa0(0xB2, 0x74, "SIGA"), \ + exit_code_ipa0(0xB2, 0x76, "XSCH"), \ + exit_code_ipa0(0xB2, 0x78, "STCKE"), \ + exit_code_ipa0(0xB2, 0x7c, "STCKF"), \ + exit_code_ipa0(0xB2, 0x7d, "STSI"), \ + exit_code_ipa0(0xB2, 0xb0, "STFLE"), \ + exit_code_ipa0(0xB2, 0xb1, "STFL"), \ + exit_code_ipa0(0xB2, 0xb2, "LPSWE"), \ + exit_code_ipa0(0xB2, 0xf8, "TEND"), \ + exit_code_ipa0(0xB2, 0xfc, "TABORT"), \ + exit_code_ipa0(0xB9, 0x1e, "KMAC"), \ + exit_code_ipa0(0xB9, 0x28, "PCKMO"), \ + exit_code_ipa0(0xB9, 0x2a, "KMF"), \ + exit_code_ipa0(0xB9, 0x2b, "KMO"), \ + exit_code_ipa0(0xB9, 0x2d, "KMCTR"), \ + exit_code_ipa0(0xB9, 0x2e, "KM"), \ + exit_code_ipa0(0xB9, 0x2f, "KMC"), \ + exit_code_ipa0(0xB9, 0x3e, "KIMD"), \ + exit_code_ipa0(0xB9, 0x3f, "KLMD"), \ + exit_code_ipa0(0xB9, 0x8a, "CSPG"), \ + exit_code_ipa0(0xB9, 0x8d, "EPSW"), \ + exit_code_ipa0(0xB9, 0x8e, "IDTE"), \ + exit_code_ipa0(0xB9, 0x8f, "CRDTE"), \ + exit_code_ipa0(0xB9, 0x9c, "EQBS"), \ + exit_code_ipa0(0xB9, 0xa2, "PTF"), \ + exit_code_ipa0(0xB9, 0xab, "ESSA"), \ + exit_code_ipa0(0xB9, 0xae, "RRBM"), \ + exit_code_ipa0(0xB9, 0xaf, "PFMF"), \ + exit_code_ipa0(0xE3, 0x03, "LRAG"), \ + exit_code_ipa0(0xE3, 0x13, "LRAY"), \ + exit_code_ipa0(0xE3, 0x25, "NTSTG"), \ + exit_code_ipa0(0xE5, 0x00, "LASP"), \ + exit_code_ipa0(0xE5, 0x01, "TPROT"), \ + exit_code_ipa0(0xE5, 0x60, "TBEGIN"), \ + exit_code_ipa0(0xE5, 0x61, "TBEGINC"), \ + exit_code_ipa0(0xEB, 0x25, "STCTG"), \ + exit_code_ipa0(0xEB, 0x2f, "LCTLG"), \ + exit_code_ipa0(0xEB, 0x60, "LRIC"), \ + exit_code_ipa0(0xEB, 0x61, "STRIC"), \ + exit_code_ipa0(0xEB, 0x62, "MRIC"), \ + exit_code_ipa0(0xEB, 0x8a, "SQBS"), \ + exit_code_ipa0(0xC8, 0x01, "ECTG"), \ + exit_code(0x0a, "SVC"), \ + exit_code(0x80, "SSM"), \ + exit_code(0x82, "LPSW"), \ + exit_code(0x83, "DIAG"), \ + exit_code(0xae, "SIGP"), \ + exit_code(0xac, "STNSM"), \ + exit_code(0xad, "STOSM"), \ + exit_code(0xb1, "LRA"), \ + exit_code(0xb6, "STCTL"), \ + exit_code(0xb7, "LCTL"), \ + exit_code(0xee, "PLO") + +#define sie_intercept_code \ + { 0x00, "Host interruption" }, \ + { 0x04, "Instruction" }, \ + { 0x08, "Program interruption" }, \ + { 0x0c, "Instruction and program interruption" }, \ + { 0x10, "External request" }, \ + { 0x14, "External interruption" }, \ + { 0x18, "I/O request" }, \ + { 0x1c, "Wait state" }, \ + { 0x20, "Validity" }, \ + { 0x28, "Stop request" }, \ + { 0x2c, "Operation exception" }, \ + { 0x38, "Partial-execution" }, \ + { 0x3c, "I/O interruption" }, \ + { 0x40, "I/O instruction" }, \ + { 0x48, "Timing subset" } + +/* + * This is the simple interceptable instructions decoder. + * + * It will be used as userspace interface and it can be used in places + * that does not allow to use general decoder functions, + * such as trace events declarations. + * + * Some userspace tools may want to parse this code + * and would be confused by switch(), if() and other statements, + * but they can understand conditional operator. + */ +#define INSN_DECODE_IPA0(ipa0, insn, rshift, mask) \ + (insn >> 56) == (ipa0) ? \ + ((ipa0 << 8) | ((insn >> rshift) & mask)) : + +#define INSN_DECODE(insn) (insn >> 56) + +/* + * The macro icpt_insn_decoder() takes an intercepted instruction + * and returns a key, which can be used to find a mnemonic name + * of the instruction in the icpt_insn_codes table. + */ +#define icpt_insn_decoder(insn) ( \ + INSN_DECODE_IPA0(0x01, insn, 48, 0xff) \ + INSN_DECODE_IPA0(0xaa, insn, 48, 0x0f) \ + INSN_DECODE_IPA0(0xb2, insn, 48, 0xff) \ + INSN_DECODE_IPA0(0xb9, insn, 48, 0xff) \ + INSN_DECODE_IPA0(0xe3, insn, 48, 0xff) \ + INSN_DECODE_IPA0(0xe5, insn, 48, 0xff) \ + INSN_DECODE_IPA0(0xeb, insn, 16, 0xff) \ + INSN_DECODE_IPA0(0xc8, insn, 48, 0x0f) \ + INSN_DECODE(insn)) + +#endif /* _ASM_S390_SIE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..f6e4f24f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sigcontext.h @@ -0,0 +1,84 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * Copyright IBM Corp. 1999, 2000 + */ + +#ifndef _ASM_S390_SIGCONTEXT_H +#define _ASM_S390_SIGCONTEXT_H + + +#include + +#define __NUM_GPRS 16 +#define __NUM_FPRS 16 +#define __NUM_ACRS 16 +#define __NUM_VXRS 32 +#define __NUM_VXRS_LOW 16 +#define __NUM_VXRS_HIGH 16 + +#ifndef __s390x__ + +/* Has to be at least _NSIG_WORDS from asm/signal.h */ +#define _SIGCONTEXT_NSIG 64 +#define _SIGCONTEXT_NSIG_BPW 32 +/* Size of stack frame allocated when calling signal handler. */ +#define __SIGNAL_FRAMESIZE 96 + +#else /* __s390x__ */ + +/* Has to be at least _NSIG_WORDS from asm/signal.h */ +#define _SIGCONTEXT_NSIG 64 +#define _SIGCONTEXT_NSIG_BPW 64 +/* Size of stack frame allocated when calling signal handler. */ +#define __SIGNAL_FRAMESIZE 160 + +#endif /* __s390x__ */ + +#define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW) +#define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS) + +typedef struct +{ + unsigned long mask; + unsigned long addr; +} __attribute__ ((aligned(8))) _psw_t; + +typedef struct +{ + _psw_t psw; + unsigned long gprs[__NUM_GPRS]; + unsigned int acrs[__NUM_ACRS]; +} _s390_regs_common; + +typedef struct +{ + unsigned int fpc; + unsigned int pad; + double fprs[__NUM_FPRS]; +} _s390_fp_regs; + +typedef struct +{ + _s390_regs_common regs; + _s390_fp_regs fpregs; +} _sigregs; + +typedef struct +{ +#ifndef __s390x__ + unsigned long gprs_high[__NUM_GPRS]; +#endif + unsigned long long vxrs_low[__NUM_VXRS_LOW]; + __vector128 vxrs_high[__NUM_VXRS_HIGH]; + unsigned char __reserved[128]; +} _sigregs_ext; + +struct sigcontext +{ + unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS]; + _sigregs *sregs; +}; + + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/signal.h new file mode 100644 index 00000000..082459a1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/signal.h @@ -0,0 +1,111 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/signal.h" + */ + +#ifndef _ASMS390_SIGNAL_H +#define _ASMS390_SIGNAL_H + +#include +#include + +/* Avoid too many header ordering problems. */ +struct siginfo; +struct pt_regs; + +/* Here we must cater to libcs that poke about in kernel headers. */ + +#define NSIG 32 +typedef unsigned long sigset_t; + + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +/* +#define SIGLOST 29 +*/ +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED 31 + +/* These should not be considered constants from userland. */ +#define SIGRTMIN 32 +#define SIGRTMAX _NSIG + +#define SA_RESTORER 0x04000000 + +#define MINSIGSTKSZ 2048 +#define SIGSTKSZ 8192 + +#include + + +/* + * There are two system calls in regard to sigaction, sys_rt_sigaction + * and sys_sigaction. Internally the kernel uses the struct old_sigaction + * for the older sys_sigaction system call, and the kernel version of the + * struct sigaction for the newer sys_rt_sigaction. + * + * The uapi definition for struct sigaction has made a strange distinction + * between 31-bit and 64-bit in the past. For 64-bit the uapi structure + * looks like the kernel struct sigaction, but for 31-bit it used to + * look like the kernel struct old_sigaction. That practically made the + * structure unusable for either system call. To get around this problem + * the glibc always had its own definitions for the sigaction structures. + * + * The current struct sigaction uapi definition below is suitable for the + * sys_rt_sigaction system call only. + */ +struct sigaction { + union { + __sighandler_t _sa_handler; + void (*_sa_sigaction)(int, struct siginfo *, void *); + } _u; + unsigned long sa_flags; + void (*sa_restorer)(void); + sigset_t sa_mask; +}; + +#define sa_handler _u._sa_handler +#define sa_sigaction _u._sa_sigaction + + +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +} stack_t; + + +#endif /* _ASMS390_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/stat.h new file mode 100644 index 00000000..d80b769e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/stat.h @@ -0,0 +1,104 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/stat.h" + */ + +#ifndef _S390_STAT_H +#define _S390_STAT_H + +#ifndef __s390x__ +struct __old_kernel_stat { + unsigned short st_dev; + unsigned short st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_mtime; + unsigned long st_ctime; +}; + +struct stat { + unsigned short st_dev; + unsigned short __pad1; + unsigned long st_ino; + unsigned short st_mode; + unsigned short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + unsigned short __pad2; + unsigned long st_size; + unsigned long st_blksize; + unsigned long st_blocks; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long __unused4; + unsigned long __unused5; +}; + +/* This matches struct stat64 in glibc2.1, hence the absolutely + * insane amounts of padding around dev_t's. + */ +struct stat64 { + unsigned long long st_dev; + unsigned int __pad1; +#define STAT64_HAS_BROKEN_ST_INO 1 + unsigned long __st_ino; + unsigned int st_mode; + unsigned int st_nlink; + unsigned long st_uid; + unsigned long st_gid; + unsigned long long st_rdev; + unsigned int __pad3; + long long st_size; + unsigned long st_blksize; + unsigned char __pad4[4]; + unsigned long __pad5; /* future possible st_blocks high bits */ + unsigned long st_blocks; /* Number 512-byte blocks allocated. */ + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; /* will be high 32 bits of ctime someday */ + unsigned long long st_ino; +}; + +#else /* __s390x__ */ + +struct stat { + unsigned long st_dev; + unsigned long st_ino; + unsigned long st_nlink; + unsigned int st_mode; + unsigned int st_uid; + unsigned int st_gid; + unsigned int __pad1; + unsigned long st_rdev; + unsigned long st_size; + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + unsigned long st_blksize; + long st_blocks; + unsigned long __unused[3]; +}; + +#endif /* __s390x__ */ + +#define STAT_HAVE_NSEC 1 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/statfs.h new file mode 100644 index 00000000..a8793313 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/statfs.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/statfs.h" + */ + +#ifndef _S390_STATFS_H +#define _S390_STATFS_H + +/* + * We can't use because in 64-bit mode + * we mix ints of different sizes in our struct statfs. + */ + +#ifndef __KERNEL_STRICT_NAMES +#include +typedef __kernel_fsid_t fsid_t; +#endif + +struct statfs { + unsigned int f_type; + unsigned int f_bsize; + unsigned long f_blocks; + unsigned long f_bfree; + unsigned long f_bavail; + unsigned long f_files; + unsigned long f_ffree; + __kernel_fsid_t f_fsid; + unsigned int f_namelen; + unsigned int f_frsize; + unsigned int f_flags; + unsigned int f_spare[5]; +}; + +struct statfs64 { + unsigned int f_type; + unsigned int f_bsize; + unsigned long long f_blocks; + unsigned long long f_bfree; + unsigned long long f_bavail; + unsigned long long f_files; + unsigned long long f_ffree; + __kernel_fsid_t f_fsid; + unsigned int f_namelen; + unsigned int f_frsize; + unsigned int f_flags; + unsigned int f_spare[5]; +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sthyi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sthyi.h new file mode 100644 index 00000000..02875b98 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/sthyi.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_STHYI_H +#define _ASM_STHYI_H + +#define STHYI_FC_CP_IFL_CAP 0 + +#endif /* _ASM_STHYI_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/tape390.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/tape390.h new file mode 100644 index 00000000..29b7ffd0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/tape390.h @@ -0,0 +1,103 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/************************************************************************* + * + * enables user programs to display messages and control encryption + * on s390 tape devices + * + * Copyright IBM Corp. 2001, 2006 + * Author(s): Michael Holzheu + * + *************************************************************************/ + +#ifndef _TAPE390_H +#define _TAPE390_H + +#define TAPE390_DISPLAY _IOW('d', 1, struct display_struct) + +/* + * The TAPE390_DISPLAY ioctl calls the Load Display command + * which transfers 17 bytes of data from the channel to the subsystem: + * - 1 format control byte, and + * - two 8-byte messages + * + * Format control byte: + * 0-2: New Message Overlay + * 3: Alternate Messages + * 4: Blink Message + * 5: Display Low/High Message + * 6: Reserved + * 7: Automatic Load Request + * + */ + +typedef struct display_struct { + char cntrl; + char message1[8]; + char message2[8]; +} display_struct; + +/* + * Tape encryption support + */ + +struct tape390_crypt_info { + char capability; + char status; + char medium_status; +} __attribute__ ((packed)); + + +/* Macros for "capable" field */ +#define TAPE390_CRYPT_SUPPORTED_MASK 0x01 +#define TAPE390_CRYPT_SUPPORTED(x) \ + ((x.capability & TAPE390_CRYPT_SUPPORTED_MASK)) + +/* Macros for "status" field */ +#define TAPE390_CRYPT_ON_MASK 0x01 +#define TAPE390_CRYPT_ON(x) (((x.status) & TAPE390_CRYPT_ON_MASK)) + +/* Macros for "medium status" field */ +#define TAPE390_MEDIUM_LOADED_MASK 0x01 +#define TAPE390_MEDIUM_ENCRYPTED_MASK 0x02 +#define TAPE390_MEDIUM_ENCRYPTED(x) \ + (((x.medium_status) & TAPE390_MEDIUM_ENCRYPTED_MASK)) +#define TAPE390_MEDIUM_LOADED(x) \ + (((x.medium_status) & TAPE390_MEDIUM_LOADED_MASK)) + +/* + * The TAPE390_CRYPT_SET ioctl is used to switch on/off encryption. + * The "encryption_capable" and "tape_status" fields are ignored for this ioctl! + */ +#define TAPE390_CRYPT_SET _IOW('d', 2, struct tape390_crypt_info) + +/* + * The TAPE390_CRYPT_QUERY ioctl is used to query the encryption state. + */ +#define TAPE390_CRYPT_QUERY _IOR('d', 3, struct tape390_crypt_info) + +/* Values for "kekl1/2_type" and "kekl1/2_type_on_tape" fields */ +#define TAPE390_KEKL_TYPE_NONE 0 +#define TAPE390_KEKL_TYPE_LABEL 1 +#define TAPE390_KEKL_TYPE_HASH 2 + +struct tape390_kekl { + unsigned char type; + unsigned char type_on_tape; + char label[65]; +} __attribute__ ((packed)); + +struct tape390_kekl_pair { + struct tape390_kekl kekl[2]; +} __attribute__ ((packed)); + +/* + * The TAPE390_KEKL_SET ioctl is used to set Key Encrypting Key labels. + */ +#define TAPE390_KEKL_SET _IOW('d', 4, struct tape390_kekl_pair) + +/* + * The TAPE390_KEKL_QUERY ioctl is used to query Key Encrypting Key labels. + */ +#define TAPE390_KEKL_QUERY _IOR('d', 5, struct tape390_kekl_pair) + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/types.h new file mode 100644 index 00000000..9c31c500 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/types.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/types.h" + */ + +#ifndef _S390_TYPES_H +#define _S390_TYPES_H + +#include + +#ifndef __ASSEMBLY__ + +typedef unsigned long addr_t; +typedef __signed__ long saddr_t; + +typedef struct { + union { + struct { + __u64 high; + __u64 low; + }; + __u32 u[4]; + }; +} __attribute__((packed, aligned(4))) __vector128; + +#endif /* __ASSEMBLY__ */ + +#endif /* _S390_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ucontext.h new file mode 100644 index 00000000..1b3faea1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/ucontext.h @@ -0,0 +1,41 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/ucontext.h" + */ + +#ifndef _ASM_S390_UCONTEXT_H +#define _ASM_S390_UCONTEXT_H + +#define UC_GPRS_HIGH 1 /* uc_mcontext_ext has valid high gprs */ +#define UC_VXRS 2 /* uc_mcontext_ext has valid vector regs */ + +/* + * The struct ucontext_extended describes how the registers are stored + * on a rt signal frame. Please note that the structure is not fixed, + * if new CPU registers are added to the user state the size of the + * struct ucontext_extended will increase. + */ +struct ucontext_extended { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + _sigregs uc_mcontext; + sigset_t uc_sigmask; + /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ + unsigned char __unused[128 - sizeof(sigset_t)]; + _sigregs_ext uc_mcontext_ext; +}; + +struct ucontext { + unsigned long uc_flags; + struct ucontext *uc_link; + stack_t uc_stack; + _sigregs uc_mcontext; + sigset_t uc_sigmask; + /* Allow for uc_sigmask growth. Glibc uses a 1024-bit sigset_t. */ + unsigned char __unused[128 - sizeof(sigset_t)]; +}; + +#endif /* !_ASM_S390_UCONTEXT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd.h new file mode 100644 index 00000000..ff8aef3f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd.h @@ -0,0 +1,17 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * S390 version + * + * Derived from "include/asm-i386/unistd.h" + */ + +#ifndef _ASM_S390_UNISTD_H_ +#define _ASM_S390_UNISTD_H_ + +#ifdef __s390x__ +#include +#else +#include +#endif + +#endif /* _ASM_S390_UNISTD_H_ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..5c9387ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_32.h @@ -0,0 +1,443 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_S390_UNISTD_32_H +#define _ASM_S390_UNISTD_32_H + +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_restart_syscall 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_time 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_stime 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_setreuid 70 +#define __NR_setregid 71 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrlimit 76 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_getgroups 80 +#define __NR_setgroups 81 +#define __NR_symlink 83 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_fchown 95 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_ioperm 101 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_lookup_dcookie 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_setfsuid 138 +#define __NR_setfsgid 139 +#define __NR__llseek 140 +#define __NR_getdents 141 +#define __NR__newselect 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_setresuid 164 +#define __NR_getresuid 165 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_setresgid 170 +#define __NR_getresgid 171 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_chown 182 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 +#define __NR_putpmsg 189 +#define __NR_vfork 190 +#define __NR_ugetrlimit 191 +#define __NR_mmap2 192 +#define __NR_truncate64 193 +#define __NR_ftruncate64 194 +#define __NR_stat64 195 +#define __NR_lstat64 196 +#define __NR_fstat64 197 +#define __NR_lchown32 198 +#define __NR_getuid32 199 +#define __NR_getgid32 200 +#define __NR_geteuid32 201 +#define __NR_getegid32 202 +#define __NR_setreuid32 203 +#define __NR_setregid32 204 +#define __NR_getgroups32 205 +#define __NR_setgroups32 206 +#define __NR_fchown32 207 +#define __NR_setresuid32 208 +#define __NR_getresuid32 209 +#define __NR_setresgid32 210 +#define __NR_getresgid32 211 +#define __NR_chown32 212 +#define __NR_setuid32 213 +#define __NR_setgid32 214 +#define __NR_setfsuid32 215 +#define __NR_setfsgid32 216 +#define __NR_pivot_root 217 +#define __NR_mincore 218 +#define __NR_madvise 219 +#define __NR_getdents64 220 +#define __NR_fcntl64 221 +#define __NR_readahead 222 +#define __NR_sendfile64 223 +#define __NR_setxattr 224 +#define __NR_lsetxattr 225 +#define __NR_fsetxattr 226 +#define __NR_getxattr 227 +#define __NR_lgetxattr 228 +#define __NR_fgetxattr 229 +#define __NR_listxattr 230 +#define __NR_llistxattr 231 +#define __NR_flistxattr 232 +#define __NR_removexattr 233 +#define __NR_lremovexattr 234 +#define __NR_fremovexattr 235 +#define __NR_gettid 236 +#define __NR_tkill 237 +#define __NR_futex 238 +#define __NR_sched_setaffinity 239 +#define __NR_sched_getaffinity 240 +#define __NR_tgkill 241 +#define __NR_io_setup 243 +#define __NR_io_destroy 244 +#define __NR_io_getevents 245 +#define __NR_io_submit 246 +#define __NR_io_cancel 247 +#define __NR_exit_group 248 +#define __NR_epoll_create 249 +#define __NR_epoll_ctl 250 +#define __NR_epoll_wait 251 +#define __NR_set_tid_address 252 +#define __NR_fadvise64 253 +#define __NR_timer_create 254 +#define __NR_timer_settime 255 +#define __NR_timer_gettime 256 +#define __NR_timer_getoverrun 257 +#define __NR_timer_delete 258 +#define __NR_clock_settime 259 +#define __NR_clock_gettime 260 +#define __NR_clock_getres 261 +#define __NR_clock_nanosleep 262 +#define __NR_fadvise64_64 264 +#define __NR_statfs64 265 +#define __NR_fstatfs64 266 +#define __NR_remap_file_pages 267 +#define __NR_mbind 268 +#define __NR_get_mempolicy 269 +#define __NR_set_mempolicy 270 +#define __NR_mq_open 271 +#define __NR_mq_unlink 272 +#define __NR_mq_timedsend 273 +#define __NR_mq_timedreceive 274 +#define __NR_mq_notify 275 +#define __NR_mq_getsetattr 276 +#define __NR_kexec_load 277 +#define __NR_add_key 278 +#define __NR_request_key 279 +#define __NR_keyctl 280 +#define __NR_waitid 281 +#define __NR_ioprio_set 282 +#define __NR_ioprio_get 283 +#define __NR_inotify_init 284 +#define __NR_inotify_add_watch 285 +#define __NR_inotify_rm_watch 286 +#define __NR_migrate_pages 287 +#define __NR_openat 288 +#define __NR_mkdirat 289 +#define __NR_mknodat 290 +#define __NR_fchownat 291 +#define __NR_futimesat 292 +#define __NR_fstatat64 293 +#define __NR_unlinkat 294 +#define __NR_renameat 295 +#define __NR_linkat 296 +#define __NR_symlinkat 297 +#define __NR_readlinkat 298 +#define __NR_fchmodat 299 +#define __NR_faccessat 300 +#define __NR_pselect6 301 +#define __NR_ppoll 302 +#define __NR_unshare 303 +#define __NR_set_robust_list 304 +#define __NR_get_robust_list 305 +#define __NR_splice 306 +#define __NR_sync_file_range 307 +#define __NR_tee 308 +#define __NR_vmsplice 309 +#define __NR_move_pages 310 +#define __NR_getcpu 311 +#define __NR_epoll_pwait 312 +#define __NR_utimes 313 +#define __NR_fallocate 314 +#define __NR_utimensat 315 +#define __NR_signalfd 316 +#define __NR_timerfd 317 +#define __NR_eventfd 318 +#define __NR_timerfd_create 319 +#define __NR_timerfd_settime 320 +#define __NR_timerfd_gettime 321 +#define __NR_signalfd4 322 +#define __NR_eventfd2 323 +#define __NR_inotify_init1 324 +#define __NR_pipe2 325 +#define __NR_dup3 326 +#define __NR_epoll_create1 327 +#define __NR_preadv 328 +#define __NR_pwritev 329 +#define __NR_rt_tgsigqueueinfo 330 +#define __NR_perf_event_open 331 +#define __NR_fanotify_init 332 +#define __NR_fanotify_mark 333 +#define __NR_prlimit64 334 +#define __NR_name_to_handle_at 335 +#define __NR_open_by_handle_at 336 +#define __NR_clock_adjtime 337 +#define __NR_syncfs 338 +#define __NR_setns 339 +#define __NR_process_vm_readv 340 +#define __NR_process_vm_writev 341 +#define __NR_s390_runtime_instr 342 +#define __NR_kcmp 343 +#define __NR_finit_module 344 +#define __NR_sched_setattr 345 +#define __NR_sched_getattr 346 +#define __NR_renameat2 347 +#define __NR_seccomp 348 +#define __NR_getrandom 349 +#define __NR_memfd_create 350 +#define __NR_bpf 351 +#define __NR_s390_pci_mmio_write 352 +#define __NR_s390_pci_mmio_read 353 +#define __NR_execveat 354 +#define __NR_userfaultfd 355 +#define __NR_membarrier 356 +#define __NR_recvmmsg 357 +#define __NR_sendmmsg 358 +#define __NR_socket 359 +#define __NR_socketpair 360 +#define __NR_bind 361 +#define __NR_connect 362 +#define __NR_listen 363 +#define __NR_accept4 364 +#define __NR_getsockopt 365 +#define __NR_setsockopt 366 +#define __NR_getsockname 367 +#define __NR_getpeername 368 +#define __NR_sendto 369 +#define __NR_sendmsg 370 +#define __NR_recvfrom 371 +#define __NR_recvmsg 372 +#define __NR_shutdown 373 +#define __NR_mlock2 374 +#define __NR_copy_file_range 375 +#define __NR_preadv2 376 +#define __NR_pwritev2 377 +#define __NR_s390_guarded_storage 378 +#define __NR_statx 379 +#define __NR_s390_sthyi 380 +#define __NR_kexec_file_load 381 +#define __NR_io_pgetevents 382 +#define __NR_rseq 383 +#define __NR_pkey_mprotect 384 +#define __NR_pkey_alloc 385 +#define __NR_pkey_free 386 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_memfd_secret 447 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + +#endif /* _ASM_S390_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_64.h new file mode 100644 index 00000000..08d0b677 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/unistd_64.h @@ -0,0 +1,391 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_S390_UNISTD_64_H +#define _ASM_S390_UNISTD_64_H + +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_restart_syscall 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_signal 48 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_symlink 83 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_lookup_dcookie 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_getdents 141 +#define __NR_select 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 +#define __NR_putpmsg 189 +#define __NR_vfork 190 +#define __NR_getrlimit 191 +#define __NR_lchown 198 +#define __NR_getuid 199 +#define __NR_getgid 200 +#define __NR_geteuid 201 +#define __NR_getegid 202 +#define __NR_setreuid 203 +#define __NR_setregid 204 +#define __NR_getgroups 205 +#define __NR_setgroups 206 +#define __NR_fchown 207 +#define __NR_setresuid 208 +#define __NR_getresuid 209 +#define __NR_setresgid 210 +#define __NR_getresgid 211 +#define __NR_chown 212 +#define __NR_setuid 213 +#define __NR_setgid 214 +#define __NR_setfsuid 215 +#define __NR_setfsgid 216 +#define __NR_pivot_root 217 +#define __NR_mincore 218 +#define __NR_madvise 219 +#define __NR_getdents64 220 +#define __NR_readahead 222 +#define __NR_setxattr 224 +#define __NR_lsetxattr 225 +#define __NR_fsetxattr 226 +#define __NR_getxattr 227 +#define __NR_lgetxattr 228 +#define __NR_fgetxattr 229 +#define __NR_listxattr 230 +#define __NR_llistxattr 231 +#define __NR_flistxattr 232 +#define __NR_removexattr 233 +#define __NR_lremovexattr 234 +#define __NR_fremovexattr 235 +#define __NR_gettid 236 +#define __NR_tkill 237 +#define __NR_futex 238 +#define __NR_sched_setaffinity 239 +#define __NR_sched_getaffinity 240 +#define __NR_tgkill 241 +#define __NR_io_setup 243 +#define __NR_io_destroy 244 +#define __NR_io_getevents 245 +#define __NR_io_submit 246 +#define __NR_io_cancel 247 +#define __NR_exit_group 248 +#define __NR_epoll_create 249 +#define __NR_epoll_ctl 250 +#define __NR_epoll_wait 251 +#define __NR_set_tid_address 252 +#define __NR_fadvise64 253 +#define __NR_timer_create 254 +#define __NR_timer_settime 255 +#define __NR_timer_gettime 256 +#define __NR_timer_getoverrun 257 +#define __NR_timer_delete 258 +#define __NR_clock_settime 259 +#define __NR_clock_gettime 260 +#define __NR_clock_getres 261 +#define __NR_clock_nanosleep 262 +#define __NR_statfs64 265 +#define __NR_fstatfs64 266 +#define __NR_remap_file_pages 267 +#define __NR_mbind 268 +#define __NR_get_mempolicy 269 +#define __NR_set_mempolicy 270 +#define __NR_mq_open 271 +#define __NR_mq_unlink 272 +#define __NR_mq_timedsend 273 +#define __NR_mq_timedreceive 274 +#define __NR_mq_notify 275 +#define __NR_mq_getsetattr 276 +#define __NR_kexec_load 277 +#define __NR_add_key 278 +#define __NR_request_key 279 +#define __NR_keyctl 280 +#define __NR_waitid 281 +#define __NR_ioprio_set 282 +#define __NR_ioprio_get 283 +#define __NR_inotify_init 284 +#define __NR_inotify_add_watch 285 +#define __NR_inotify_rm_watch 286 +#define __NR_migrate_pages 287 +#define __NR_openat 288 +#define __NR_mkdirat 289 +#define __NR_mknodat 290 +#define __NR_fchownat 291 +#define __NR_futimesat 292 +#define __NR_newfstatat 293 +#define __NR_unlinkat 294 +#define __NR_renameat 295 +#define __NR_linkat 296 +#define __NR_symlinkat 297 +#define __NR_readlinkat 298 +#define __NR_fchmodat 299 +#define __NR_faccessat 300 +#define __NR_pselect6 301 +#define __NR_ppoll 302 +#define __NR_unshare 303 +#define __NR_set_robust_list 304 +#define __NR_get_robust_list 305 +#define __NR_splice 306 +#define __NR_sync_file_range 307 +#define __NR_tee 308 +#define __NR_vmsplice 309 +#define __NR_move_pages 310 +#define __NR_getcpu 311 +#define __NR_epoll_pwait 312 +#define __NR_utimes 313 +#define __NR_fallocate 314 +#define __NR_utimensat 315 +#define __NR_signalfd 316 +#define __NR_timerfd 317 +#define __NR_eventfd 318 +#define __NR_timerfd_create 319 +#define __NR_timerfd_settime 320 +#define __NR_timerfd_gettime 321 +#define __NR_signalfd4 322 +#define __NR_eventfd2 323 +#define __NR_inotify_init1 324 +#define __NR_pipe2 325 +#define __NR_dup3 326 +#define __NR_epoll_create1 327 +#define __NR_preadv 328 +#define __NR_pwritev 329 +#define __NR_rt_tgsigqueueinfo 330 +#define __NR_perf_event_open 331 +#define __NR_fanotify_init 332 +#define __NR_fanotify_mark 333 +#define __NR_prlimit64 334 +#define __NR_name_to_handle_at 335 +#define __NR_open_by_handle_at 336 +#define __NR_clock_adjtime 337 +#define __NR_syncfs 338 +#define __NR_setns 339 +#define __NR_process_vm_readv 340 +#define __NR_process_vm_writev 341 +#define __NR_s390_runtime_instr 342 +#define __NR_kcmp 343 +#define __NR_finit_module 344 +#define __NR_sched_setattr 345 +#define __NR_sched_getattr 346 +#define __NR_renameat2 347 +#define __NR_seccomp 348 +#define __NR_getrandom 349 +#define __NR_memfd_create 350 +#define __NR_bpf 351 +#define __NR_s390_pci_mmio_write 352 +#define __NR_s390_pci_mmio_read 353 +#define __NR_execveat 354 +#define __NR_userfaultfd 355 +#define __NR_membarrier 356 +#define __NR_recvmmsg 357 +#define __NR_sendmmsg 358 +#define __NR_socket 359 +#define __NR_socketpair 360 +#define __NR_bind 361 +#define __NR_connect 362 +#define __NR_listen 363 +#define __NR_accept4 364 +#define __NR_getsockopt 365 +#define __NR_setsockopt 366 +#define __NR_getsockname 367 +#define __NR_getpeername 368 +#define __NR_sendto 369 +#define __NR_sendmsg 370 +#define __NR_recvfrom 371 +#define __NR_recvmsg 372 +#define __NR_shutdown 373 +#define __NR_mlock2 374 +#define __NR_copy_file_range 375 +#define __NR_preadv2 376 +#define __NR_pwritev2 377 +#define __NR_s390_guarded_storage 378 +#define __NR_statx 379 +#define __NR_s390_sthyi 380 +#define __NR_kexec_file_load 381 +#define __NR_io_pgetevents 382 +#define __NR_rseq 383 +#define __NR_pkey_mprotect 384 +#define __NR_pkey_alloc 385 +#define __NR_pkey_free 386 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_memfd_secret 447 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + +#endif /* _ASM_S390_UNISTD_64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/uvdevice.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/uvdevice.h new file mode 100644 index 00000000..205ab546 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/uvdevice.h @@ -0,0 +1,106 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright IBM Corp. 2022, 2024 + * Author(s): Steffen Eiden + */ +#ifndef __S390_ASM_UVDEVICE_H +#define __S390_ASM_UVDEVICE_H + +#include + +struct uvio_ioctl_cb { + __u32 flags; + __u16 uv_rc; /* UV header rc value */ + __u16 uv_rrc; /* UV header rrc value */ + __u64 argument_addr; /* Userspace address of uvio argument */ + __u32 argument_len; + __u8 reserved14[0x40 - 0x14]; /* must be zero */ +}; + +#define UVIO_ATT_USER_DATA_LEN 0x100 +#define UVIO_ATT_UID_LEN 0x10 +struct uvio_attest { + __u64 arcb_addr; /* 0x0000 */ + __u64 meas_addr; /* 0x0008 */ + __u64 add_data_addr; /* 0x0010 */ + __u8 user_data[UVIO_ATT_USER_DATA_LEN]; /* 0x0018 */ + __u8 config_uid[UVIO_ATT_UID_LEN]; /* 0x0118 */ + __u32 arcb_len; /* 0x0128 */ + __u32 meas_len; /* 0x012c */ + __u32 add_data_len; /* 0x0130 */ + __u16 user_data_len; /* 0x0134 */ + __u16 reserved136; /* 0x0136 */ +}; + +/** + * uvio_uvdev_info - Information of supported functions + * @supp_uvio_cmds - supported IOCTLs by this device + * @supp_uv_cmds - supported UVCs corresponding to the IOCTL + * + * UVIO request to get information about supported request types by this + * uvdevice and the Ultravisor. Everything is output. Bits are in LSB0 + * ordering. If the bit is set in both, @supp_uvio_cmds and @supp_uv_cmds, the + * uvdevice and the Ultravisor support that call. + * + * Note that bit 0 (UVIO_IOCTL_UVDEV_INFO_NR) is always zero for `supp_uv_cmds` + * as there is no corresponding UV-call. + */ +struct uvio_uvdev_info { + /* + * If bit `n` is set, this device supports the IOCTL with nr `n`. + */ + __u64 supp_uvio_cmds; + /* + * If bit `n` is set, the Ultravisor(UV) supports the UV-call + * corresponding to the IOCTL with nr `n` in the calling context (host + * or guest). The value is only valid if the corresponding bit in + * @supp_uvio_cmds is set as well. + */ + __u64 supp_uv_cmds; +}; + +/* + * The following max values define an upper length for the IOCTL in/out buffers. + * However, they do not represent the maximum the Ultravisor allows which is + * often way smaller. By allowing larger buffer sizes we hopefully do not need + * to update the code with every machine update. It is therefore possible for + * userspace to request more memory than actually used by kernel/UV. + */ +#define UVIO_ATT_ARCB_MAX_LEN 0x100000 +#define UVIO_ATT_MEASUREMENT_MAX_LEN 0x8000 +#define UVIO_ATT_ADDITIONAL_MAX_LEN 0x8000 +#define UVIO_ADD_SECRET_MAX_LEN 0x100000 +#define UVIO_LIST_SECRETS_LEN 0x1000 +#define UVIO_RETR_SECRET_MAX_LEN 0x2000 + +#define UVIO_DEVICE_NAME "uv" +#define UVIO_TYPE_UVC 'u' + +enum UVIO_IOCTL_NR { + UVIO_IOCTL_UVDEV_INFO_NR = 0x00, + UVIO_IOCTL_ATT_NR, + UVIO_IOCTL_ADD_SECRET_NR, + UVIO_IOCTL_LIST_SECRETS_NR, + UVIO_IOCTL_LOCK_SECRETS_NR, + UVIO_IOCTL_RETR_SECRET_NR, + /* must be the last entry */ + UVIO_IOCTL_NUM_IOCTLS +}; + +#define UVIO_IOCTL(nr) _IOWR(UVIO_TYPE_UVC, nr, struct uvio_ioctl_cb) +#define UVIO_IOCTL_UVDEV_INFO UVIO_IOCTL(UVIO_IOCTL_UVDEV_INFO_NR) +#define UVIO_IOCTL_ATT UVIO_IOCTL(UVIO_IOCTL_ATT_NR) +#define UVIO_IOCTL_ADD_SECRET UVIO_IOCTL(UVIO_IOCTL_ADD_SECRET_NR) +#define UVIO_IOCTL_LIST_SECRETS UVIO_IOCTL(UVIO_IOCTL_LIST_SECRETS_NR) +#define UVIO_IOCTL_LOCK_SECRETS UVIO_IOCTL(UVIO_IOCTL_LOCK_SECRETS_NR) +#define UVIO_IOCTL_RETR_SECRET UVIO_IOCTL(UVIO_IOCTL_RETR_SECRET_NR) + +#define UVIO_SUPP_CALL(nr) (1ULL << (nr)) +#define UVIO_SUPP_UDEV_INFO UVIO_SUPP_CALL(UVIO_IOCTL_UDEV_INFO_NR) +#define UVIO_SUPP_ATT UVIO_SUPP_CALL(UVIO_IOCTL_ATT_NR) +#define UVIO_SUPP_ADD_SECRET UVIO_SUPP_CALL(UVIO_IOCTL_ADD_SECRET_NR) +#define UVIO_SUPP_LIST_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LIST_SECRETS_NR) +#define UVIO_SUPP_LOCK_SECRETS UVIO_SUPP_CALL(UVIO_IOCTL_LOCK_SECRETS_NR) +#define UVIO_SUPP_RETR_SECRET UVIO_SUPP_CALL(UVIO_IOCTL_RETR_SECRET_NR) + +#endif /* __S390_ASM_UVDEVICE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/virtio-ccw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/virtio-ccw.h new file mode 100644 index 00000000..6d76f89a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/virtio-ccw.h @@ -0,0 +1,18 @@ +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ +/* + * Definitions for virtio-ccw devices. + * + * Copyright IBM Corp. 2013 + * + * Author(s): Cornelia Huck + */ +#ifndef __KVM_VIRTIO_CCW_H +#define __KVM_VIRTIO_CCW_H + +/* Alignment of vring buffers. */ +#define KVM_VIRTIO_CCW_RING_ALIGN 4096 + +/* Subcode for diagnose 500 (virtio hypercall). */ +#define KVM_S390_VIRTIO_CCW_NOTIFY 3 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vmcp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vmcp.h new file mode 100644 index 00000000..57f4e6c5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vmcp.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Copyright IBM Corp. 2004, 2005 + * Interface implementation for communication with the z/VM control program + * Version 1.0 + * Author(s): Christian Borntraeger + * + * + * z/VMs CP offers the possibility to issue commands via the diagnose code 8 + * this driver implements a character device that issues these commands and + * returns the answer of CP. + * + * The idea of this driver is based on cpint from Neale Ferguson + */ + +#ifndef _ASM_VMCP_H +#define _ASM_VMCP_H + +#include + +#define VMCP_GETCODE _IOR(0x10, 1, int) +#define VMCP_SETBUF _IOW(0x10, 2, int) +#define VMCP_GETSIZE _IOR(0x10, 3, int) + +#endif /* _ASM_VMCP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vtoc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vtoc.h new file mode 100644 index 00000000..e519d25d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/vtoc.h @@ -0,0 +1,214 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file contains volume label definitions for DASD devices. + * + * Copyright IBM Corp. 2005 + * + * Author(s): Volker Sameske + * + */ + +#ifndef _ASM_S390_VTOC_H +#define _ASM_S390_VTOC_H + +#include + +struct vtoc_ttr +{ + __u16 tt; + __u8 r; +} __attribute__ ((packed)); + +struct vtoc_cchhb +{ + __u16 cc; + __u16 hh; + __u8 b; +} __attribute__ ((packed)); + +struct vtoc_cchh +{ + __u16 cc; + __u16 hh; +} __attribute__ ((packed)); + +struct vtoc_labeldate +{ + __u8 year; + __u16 day; +} __attribute__ ((packed)); + +struct vtoc_volume_label_cdl +{ + char volkey[4]; /* volume key = volume label */ + char vollbl[4]; /* volume label */ + char volid[6]; /* volume identifier */ + __u8 security; /* security byte */ + struct vtoc_cchhb vtoc; /* VTOC address */ + char res1[5]; /* reserved */ + char cisize[4]; /* CI-size for FBA,... */ + /* ...blanks for CKD */ + char blkperci[4]; /* no of blocks per CI (FBA), blanks for CKD */ + char labperci[4]; /* no of labels per CI (FBA), blanks for CKD */ + char res2[4]; /* reserved */ + char lvtoc[14]; /* owner code for LVTOC */ + char res3[29]; /* reserved */ +} __attribute__ ((packed)); + +struct vtoc_volume_label_ldl { + char vollbl[4]; /* volume label */ + char volid[6]; /* volume identifier */ + char res3[69]; /* reserved */ + char ldl_version; /* version number, valid for ldl format */ + __u64 formatted_blocks; /* valid when ldl_version >= f2 */ +} __attribute__ ((packed)); + +struct vtoc_extent +{ + __u8 typeind; /* extent type indicator */ + __u8 seqno; /* extent sequence number */ + struct vtoc_cchh llimit; /* starting point of this extent */ + struct vtoc_cchh ulimit; /* ending point of this extent */ +} __attribute__ ((packed)); + +struct vtoc_dev_const +{ + __u16 DS4DSCYL; /* number of logical cyls */ + __u16 DS4DSTRK; /* number of tracks in a logical cylinder */ + __u16 DS4DEVTK; /* device track length */ + __u8 DS4DEVI; /* non-last keyed record overhead */ + __u8 DS4DEVL; /* last keyed record overhead */ + __u8 DS4DEVK; /* non-keyed record overhead differential */ + __u8 DS4DEVFG; /* flag byte */ + __u16 DS4DEVTL; /* device tolerance */ + __u8 DS4DEVDT; /* number of DSCB's per track */ + __u8 DS4DEVDB; /* number of directory blocks per track */ +} __attribute__ ((packed)); + +struct vtoc_format1_label +{ + char DS1DSNAM[44]; /* data set name */ + __u8 DS1FMTID; /* format identifier */ + char DS1DSSN[6]; /* data set serial number */ + __u16 DS1VOLSQ; /* volume sequence number */ + struct vtoc_labeldate DS1CREDT; /* creation date: ydd */ + struct vtoc_labeldate DS1EXPDT; /* expiration date */ + __u8 DS1NOEPV; /* number of extents on volume */ + __u8 DS1NOBDB; /* no. of bytes used in last direction blk */ + __u8 DS1FLAG1; /* flag 1 */ + char DS1SYSCD[13]; /* system code */ + struct vtoc_labeldate DS1REFD; /* date last referenced */ + __u8 DS1SMSFG; /* system managed storage indicators */ + __u8 DS1SCXTF; /* sec. space extension flag byte */ + __u16 DS1SCXTV; /* secondary space extension value */ + __u8 DS1DSRG1; /* data set organisation byte 1 */ + __u8 DS1DSRG2; /* data set organisation byte 2 */ + __u8 DS1RECFM; /* record format */ + __u8 DS1OPTCD; /* option code */ + __u16 DS1BLKL; /* block length */ + __u16 DS1LRECL; /* record length */ + __u8 DS1KEYL; /* key length */ + __u16 DS1RKP; /* relative key position */ + __u8 DS1DSIND; /* data set indicators */ + __u8 DS1SCAL1; /* secondary allocation flag byte */ + char DS1SCAL3[3]; /* secondary allocation quantity */ + struct vtoc_ttr DS1LSTAR; /* last used track and block on track */ + __u16 DS1TRBAL; /* space remaining on last used track */ + __u16 res1; /* reserved */ + struct vtoc_extent DS1EXT1; /* first extent description */ + struct vtoc_extent DS1EXT2; /* second extent description */ + struct vtoc_extent DS1EXT3; /* third extent description */ + struct vtoc_cchhb DS1PTRDS; /* possible pointer to f2 or f3 DSCB */ +} __attribute__ ((packed)); + +struct vtoc_format4_label +{ + char DS4KEYCD[44]; /* key code for VTOC labels: 44 times 0x04 */ + __u8 DS4IDFMT; /* format identifier */ + struct vtoc_cchhb DS4HPCHR; /* highest address of a format 1 DSCB */ + __u16 DS4DSREC; /* number of available DSCB's */ + struct vtoc_cchh DS4HCCHH; /* CCHH of next available alternate track */ + __u16 DS4NOATK; /* number of remaining alternate tracks */ + __u8 DS4VTOCI; /* VTOC indicators */ + __u8 DS4NOEXT; /* number of extents in VTOC */ + __u8 DS4SMSFG; /* system managed storage indicators */ + __u8 DS4DEVAC; /* number of alternate cylinders. + * Subtract from first two bytes of + * DS4DEVSZ to get number of usable + * cylinders. can be zero. valid + * only if DS4DEVAV on. */ + struct vtoc_dev_const DS4DEVCT; /* device constants */ + char DS4AMTIM[8]; /* VSAM time stamp */ + char DS4AMCAT[3]; /* VSAM catalog indicator */ + char DS4R2TIM[8]; /* VSAM volume/catalog match time stamp */ + char res1[5]; /* reserved */ + char DS4F6PTR[5]; /* pointer to first format 6 DSCB */ + struct vtoc_extent DS4VTOCE; /* VTOC extent description */ + char res2[10]; /* reserved */ + __u8 DS4EFLVL; /* extended free-space management level */ + struct vtoc_cchhb DS4EFPTR; /* pointer to extended free-space info */ + char res3; /* reserved */ + __u32 DS4DCYL; /* number of logical cyls */ + char res4[2]; /* reserved */ + __u8 DS4DEVF2; /* device flags */ + char res5; /* reserved */ +} __attribute__ ((packed)); + +struct vtoc_ds5ext +{ + __u16 t; /* RTA of the first track of free extent */ + __u16 fc; /* number of whole cylinders in free ext. */ + __u8 ft; /* number of remaining free tracks */ +} __attribute__ ((packed)); + +struct vtoc_format5_label +{ + char DS5KEYID[4]; /* key identifier */ + struct vtoc_ds5ext DS5AVEXT; /* first available (free-space) extent. */ + struct vtoc_ds5ext DS5EXTAV[7]; /* seven available extents */ + __u8 DS5FMTID; /* format identifier */ + struct vtoc_ds5ext DS5MAVET[18]; /* eighteen available extents */ + struct vtoc_cchhb DS5PTRDS; /* pointer to next format5 DSCB */ +} __attribute__ ((packed)); + +struct vtoc_ds7ext +{ + __u32 a; /* starting RTA value */ + __u32 b; /* ending RTA value + 1 */ +} __attribute__ ((packed)); + +struct vtoc_format7_label +{ + char DS7KEYID[4]; /* key identifier */ + struct vtoc_ds7ext DS7EXTNT[5]; /* space for 5 extent descriptions */ + __u8 DS7FMTID; /* format identifier */ + struct vtoc_ds7ext DS7ADEXT[11]; /* space for 11 extent descriptions */ + char res1[2]; /* reserved */ + struct vtoc_cchhb DS7PTRDS; /* pointer to next FMT7 DSCB */ +} __attribute__ ((packed)); + +struct vtoc_cms_label { + __u8 label_id[4]; /* Label identifier */ + __u8 vol_id[6]; /* Volid */ + __u16 version_id; /* Version identifier */ + __u32 block_size; /* Disk block size */ + __u32 origin_ptr; /* Disk origin pointer */ + __u32 usable_count; /* Number of usable cylinders/blocks */ + __u32 formatted_count; /* Maximum number of formatted cylinders/ + * blocks */ + __u32 block_count; /* Disk size in CMS blocks */ + __u32 used_count; /* Number of CMS blocks in use */ + __u32 fst_size; /* File Status Table (FST) size */ + __u32 fst_count; /* Number of FSTs per CMS block */ + __u8 format_date[6]; /* Disk FORMAT date */ + __u8 reserved1[2]; + __u32 disk_offset; /* Disk offset when reserved*/ + __u32 map_block; /* Allocation Map Block with next hole */ + __u32 hblk_disp; /* Displacement into HBLK data of next hole */ + __u32 user_disp; /* Displacement into user part of Allocation + * map */ + __u8 reserved2[4]; + __u8 segment_name[8]; /* Name of shared segment */ +} __attribute__ ((packed)); + +#endif /* _ASM_S390_VTOC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/zcrypt.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/zcrypt.h new file mode 100644 index 00000000..63f9293d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-any/asm/zcrypt.h @@ -0,0 +1,373 @@ +/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ +/* + * include/asm-s390/zcrypt.h + * + * zcrypt 2.2.1 (user-visible header) + * + * Copyright IBM Corp. 2001, 2022 + * Author(s): Robert Burroughs + * Eric Rossman (edrossma@us.ibm.com) + * + * Hotplug & misc device support: Jochen Roehrig (roehrig@de.ibm.com) + */ + +#ifndef __ASM_S390_ZCRYPT_H +#define __ASM_S390_ZCRYPT_H + +#define ZCRYPT_VERSION 2 +#define ZCRYPT_RELEASE 2 +#define ZCRYPT_VARIANT 1 + +#include + +#include + +/* Name of the zcrypt device driver. */ +#define ZCRYPT_NAME "zcrypt" + +/** + * struct ica_rsa_modexpo + * + * Requirements: + * - outputdatalength is at least as large as inputdatalength. + * - All key parts are right justified in their fields, padded on + * the left with zeroes. + * - length(b_key) = inputdatalength + * - length(n_modulus) = inputdatalength + */ +struct ica_rsa_modexpo { + __u8 *inputdata; + __u32 inputdatalength; + __u8 *outputdata; + __u32 outputdatalength; + __u8 *b_key; + __u8 *n_modulus; +}; + +/** + * struct ica_rsa_modexpo_crt + * + * Requirements: + * - inputdatalength is even. + * - outputdatalength is at least as large as inputdatalength. + * - All key parts are right justified in their fields, padded on + * the left with zeroes. + * - length(bp_key) = inputdatalength/2 + 8 + * - length(bq_key) = inputdatalength/2 + * - length(np_key) = inputdatalength/2 + 8 + * - length(nq_key) = inputdatalength/2 + * - length(u_mult_inv) = inputdatalength/2 + 8 + */ +struct ica_rsa_modexpo_crt { + __u8 *inputdata; + __u32 inputdatalength; + __u8 *outputdata; + __u32 outputdatalength; + __u8 *bp_key; + __u8 *bq_key; + __u8 *np_prime; + __u8 *nq_prime; + __u8 *u_mult_inv; +}; + +/** + * CPRBX + * Note that all shorts and ints are big-endian. + * All pointer fields are 16 bytes long, and mean nothing. + * + * A request CPRB is followed by a request_parameter_block. + * + * The request (or reply) parameter block is organized thus: + * function code + * VUD block + * key block + */ +struct CPRBX { + __u16 cprb_len; /* CPRB length 220 */ + __u8 cprb_ver_id; /* CPRB version id. 0x02 */ + __u8 ctfm; /* Command Type Filtering Mask */ + __u8 pad_000[2]; /* Alignment pad bytes */ + __u8 func_id[2]; /* function id 0x5432 */ + __u8 cprb_flags[4]; /* Flags */ + __u32 req_parml; /* request parameter buffer len */ + __u32 req_datal; /* request data buffer */ + __u32 rpl_msgbl; /* reply message block length */ + __u32 rpld_parml; /* replied parameter block len */ + __u32 rpl_datal; /* reply data block len */ + __u32 rpld_datal; /* replied data block len */ + __u32 req_extbl; /* request extension block len */ + __u8 _pad_001[4]; /* reserved */ + __u32 rpld_extbl; /* replied extension block len */ + __u8 _pad_002[16 - sizeof(__u8 *)]; + __u8 *req_parmb; /* request parm block 'address' */ + __u8 _pad_003[16 - sizeof(__u8 *)]; + __u8 *req_datab; /* request data block 'address' */ + __u8 _pad_004[16 - sizeof(__u8 *)]; + __u8 *rpl_parmb; /* reply parm block 'address' */ + __u8 _pad_005[16 - sizeof(__u8 *)]; + __u8 *rpl_datab; /* reply data block 'address' */ + __u8 _pad_006[16 - sizeof(__u8 *)]; + __u8 *req_extb; /* request extension block 'addr'*/ + __u8 _pad_007[16 - sizeof(__u8 *)]; + __u8 *rpl_extb; /* reply extension block 'address'*/ + __u16 ccp_rtcode; /* server return code */ + __u16 ccp_rscode; /* server reason code */ + __u32 mac_data_len; /* Mac Data Length */ + __u8 logon_id[8]; /* Logon Identifier */ + __u8 mac_value[8]; /* Mac Value */ + __u8 mac_content_flgs; /* Mac content flag byte */ + __u8 _pad_008; /* Alignment */ + __u16 domain; /* Domain */ + __u8 _pad_009[12]; /* reserved, checked for zeros */ + __u8 _pad_010[36]; /* reserved */ +} __attribute__((packed)); + +/** + * xcRB + */ +struct ica_xcRB { + __u16 agent_ID; + __u32 user_defined; + __u16 request_ID; + __u32 request_control_blk_length; + __u8 _padding1[16 - sizeof(__u8 *)]; + __u8 *request_control_blk_addr; + __u32 request_data_length; + __u8 _padding2[16 - sizeof(__u8 *)]; + __u8 *request_data_address; + __u32 reply_control_blk_length; + __u8 _padding3[16 - sizeof(__u8 *)]; + __u8 *reply_control_blk_addr; + __u32 reply_data_length; + __u8 __padding4[16 - sizeof(__u8 *)]; + __u8 *reply_data_addr; + __u16 priority_window; + __u32 status; +} __attribute__((packed)); + +/** + * struct ep11_cprb - EP11 connectivity programming request block + * @cprb_len: CPRB header length [0x0020] + * @cprb_ver_id: CPRB version id. [0x04] + * @pad_000: Alignment pad bytes + * @flags: Admin bit [0x80], Special bit [0x20] + * @func_id: Function id / subtype [0x5434] "T4" + * @source_id: Source id [originator id] + * @target_id: Target id [usage/ctrl domain id] + * @ret_code: Return code + * @reserved1: Reserved + * @reserved2: Reserved + * @payload_len: Payload length + */ +struct ep11_cprb { + __u16 cprb_len; + __u8 cprb_ver_id; + __u8 pad_000[2]; + __u8 flags; + __u8 func_id[2]; + __u32 source_id; + __u32 target_id; + __u32 ret_code; + __u32 reserved1; + __u32 reserved2; + __u32 payload_len; +} __attribute__((packed)); + +/** + * struct ep11_target_dev - EP11 target device list + * @ap_id: AP device id + * @dom_id: Usage domain id + */ +struct ep11_target_dev { + __u16 ap_id; + __u16 dom_id; +}; + +/** + * struct ep11_urb - EP11 user request block + * @targets_num: Number of target adapters + * @targets: Addr to target adapter list + * @weight: Level of request priority + * @req_no: Request id/number + * @req_len: Request length + * @req: Addr to request block + * @resp_len: Response length + * @resp: Addr to response block + */ +struct ep11_urb { + __u16 targets_num; + __u8 *targets; + __u64 weight; + __u64 req_no; + __u64 req_len; + __u8 *req; + __u64 resp_len; + __u8 *resp; +} __attribute__((packed)); + +/** + * struct zcrypt_device_status_ext + * @hwtype: raw hardware type + * @qid: 8 bit device index, 8 bit domain + * @functions: AP device function bit field 'abcdef' + * a, b, c = reserved + * d = CCA coprocessor + * e = Accelerator + * f = EP11 coprocessor + * @online online status + * @reserved reserved + */ +struct zcrypt_device_status_ext { + unsigned int hwtype:8; + unsigned int qid:16; + unsigned int online:1; + unsigned int functions:6; + unsigned int reserved:1; +}; + +#define MAX_ZDEV_CARDIDS_EXT 256 +#define MAX_ZDEV_DOMAINS_EXT 256 + +/* Maximum number of zcrypt devices */ +#define MAX_ZDEV_ENTRIES_EXT (MAX_ZDEV_CARDIDS_EXT * MAX_ZDEV_DOMAINS_EXT) + +/* Device matrix of all zcrypt devices */ +struct zcrypt_device_matrix_ext { + struct zcrypt_device_status_ext device[MAX_ZDEV_ENTRIES_EXT]; +}; + +#define AUTOSELECT 0xFFFFFFFF +#define AUTOSEL_AP ((__u16)0xFFFF) +#define AUTOSEL_DOM ((__u16)0xFFFF) + +#define ZCRYPT_IOCTL_MAGIC 'z' + +/** + * Interface notes: + * + * The ioctl()s which are implemented (along with relevant details) + * are: + * + * ICARSAMODEXPO + * Perform an RSA operation using a Modulus-Exponent pair + * This takes an ica_rsa_modexpo struct as its arg. + * + * NOTE: please refer to the comments preceding this structure + * for the implementation details for the contents of the + * block + * + * ICARSACRT + * Perform an RSA operation using a Chinese-Remainder Theorem key + * This takes an ica_rsa_modexpo_crt struct as its arg. + * + * NOTE: please refer to the comments preceding this structure + * for the implementation details for the contents of the + * block + * + * ZSECSENDCPRB + * Send an arbitrary CPRB to a crypto card. + * + * ZSENDEP11CPRB + * Send an arbitrary EP11 CPRB to an EP11 coprocessor crypto card. + * + * ZCRYPT_DEVICE_STATUS + * The given struct zcrypt_device_matrix_ext is updated with + * status information for each currently known apqn. + * + * ZCRYPT_STATUS_MASK + * Return an MAX_ZDEV_CARDIDS_EXT element array of unsigned chars for the + * status of all devices. + * 0x01: PCICA + * 0x02: PCICC + * 0x03: PCIXCC_MCL2 + * 0x04: PCIXCC_MCL3 + * 0x05: CEX2C + * 0x06: CEX2A + * 0x07: CEX3C + * 0x08: CEX3A + * 0x0a: CEX4 + * 0x0b: CEX5 + * 0x0c: CEX6, CEX7 or CEX8 + * 0x0d: device is disabled + * + * ZCRYPT_QDEPTH_MASK + * Return an MAX_ZDEV_CARDIDS_EXT element array of unsigned chars for the + * queue depth of all devices. + * + * ZCRYPT_PERDEV_REQCNT + * Return an MAX_ZDEV_CARDIDS_EXT element array of unsigned integers for + * the number of successfully completed requests per device since the + * device was detected and made available. + * + */ + +/** + * Supported ioctl calls + */ +#define ICARSAMODEXPO _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x05, 0) +#define ICARSACRT _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x06, 0) +#define ZSECSENDCPRB _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x81, 0) +#define ZSENDEP11CPRB _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x04, 0) + +#define ZCRYPT_DEVICE_STATUS _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x5f, 0) +#define ZCRYPT_STATUS_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x58, char[MAX_ZDEV_CARDIDS_EXT]) +#define ZCRYPT_QDEPTH_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x59, char[MAX_ZDEV_CARDIDS_EXT]) +#define ZCRYPT_PERDEV_REQCNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x5a, int[MAX_ZDEV_CARDIDS_EXT]) + +/* + * Support for multiple zcrypt device nodes. + */ + +/* Nr of minor device node numbers to allocate. */ +#define ZCRYPT_MAX_MINOR_NODES 256 + +/* Max amount of possible ioctls */ +#define MAX_ZDEV_IOCTLS (1 << _IOC_NRBITS) + +/* + * Only deprecated defines, structs and ioctls below this line. + */ + +/* Deprecated: use MAX_ZDEV_CARDIDS_EXT */ +#define MAX_ZDEV_CARDIDS 64 +/* Deprecated: use MAX_ZDEV_DOMAINS_EXT */ +#define MAX_ZDEV_DOMAINS 256 + +/* Deprecated: use MAX_ZDEV_ENTRIES_EXT */ +#define MAX_ZDEV_ENTRIES (MAX_ZDEV_CARDIDS * MAX_ZDEV_DOMAINS) + +/* Deprecated: use struct zcrypt_device_status_ext */ +struct zcrypt_device_status { + unsigned int hwtype:8; + unsigned int qid:14; + unsigned int online:1; + unsigned int functions:6; + unsigned int reserved:3; +}; + +/* Deprecated: use struct zcrypt_device_matrix_ext */ +struct zcrypt_device_matrix { + struct zcrypt_device_status device[MAX_ZDEV_ENTRIES]; +}; + +/* Deprecated: use ZCRYPT_DEVICE_STATUS */ +#define ZDEVICESTATUS _IOC(_IOC_READ | _IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x4f, 0) +/* Deprecated: use ZCRYPT_STATUS_MASK */ +#define Z90STAT_STATUS_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x48, char[64]) +/* Deprecated: use ZCRYPT_QDEPTH_MASK */ +#define Z90STAT_QDEPTH_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x49, char[64]) +/* Deprecated: use ZCRYPT_PERDEV_REQCNT */ +#define Z90STAT_PERDEV_REQCNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4a, int[64]) + +/* Deprecated: use sysfs to query these values */ +#define Z90STAT_REQUESTQ_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x44, int) +#define Z90STAT_PENDINGQ_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x45, int) +#define Z90STAT_TOTALOPEN_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x46, int) +#define Z90STAT_DOMAIN_INDEX _IOR(ZCRYPT_IOCTL_MAGIC, 0x47, int) + +/* + * The ioctl number ranges 0x40 - 0x42 and 0x4b - 0x4e had been used in the + * past, don't assign new ioctls for these. + */ + +#endif /* __ASM_S390_ZCRYPT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/elfclass.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/elfclass.h new file mode 100644 index 00000000..a71bd938 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/elfclass.h @@ -0,0 +1,37 @@ +/* Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* This file specifies the native word size of the machine, which indicates + the ELF file class used for executables and shared objects on this + machine. */ + +#ifndef _LINK_H +# error "Never use directly; include instead." +#endif + +#include + +#define __ELF_NATIVE_CLASS __WORDSIZE + +#if __WORDSIZE == 64 +/* 64 bit Linux for S/390 is exceptional as it has .hash section with + 64 bit entries. */ +typedef uint64_t Elf_Symndx; +#else +/* 32 bit Linux for S/390 has normal .hash section entries with 32 bits. */ +typedef uint32_t Elf_Symndx; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..00f80f03 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/endianness.h @@ -0,0 +1,11 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* S/390 is big-endian. */ +#define __BYTE_ORDER __BIG_ENDIAN + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/environments.h new file mode 100644 index 00000000..2bfd9501 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m31" +#define __ILP32_OFFBIG_CFLAGS "-m31 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m31" +#define __ILP32_OFFBIG_LDFLAGS "-m31" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..4d58e01a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fcntl.h @@ -0,0 +1,71 @@ +/* O_*, F_*, FD_* bit values for Linux. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 +/* Not necessary, files are always with 64bit off_t. */ +# define __O_LARGEFILE 0 +#endif + +#if __WORDSIZE == 64 +/* Not necessary, we always have 64-bit offsets. */ +# define F_GETLK64 5 /* Get record locking info. */ +# define F_SETLK64 6 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 7 /* Set record locking info (blocking). */ +#endif + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + }; +#endif + +#if __WORDSIZE == 64 +# define __POSIX_FADV_DONTNEED 6 /* Don't need these pages. */ +# define __POSIX_FADV_NOREUSE 7 /* Data will be accessed once. */ +#else +# define __POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ +# define __POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..d24ac918 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/fenv.h @@ -0,0 +1,99 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +/* Define bits representing the exception. We use the bit positions + of the appropriate bits in the FPU control word. */ +enum + { + FE_INVALID = +#define FE_INVALID 0x80 + FE_INVALID, + FE_DIVBYZERO = +#define FE_DIVBYZERO 0x40 + FE_DIVBYZERO, + FE_OVERFLOW = +#define FE_OVERFLOW 0x20 + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW 0x10 + FE_UNDERFLOW, + FE_INEXACT = +#define FE_INEXACT 0x08 + FE_INEXACT + }; +/* We dont use the y bit of the DXC in the floating point control register + as glibc has no FE encoding for fe inexact incremented + or fe inexact truncated. + We currently use the flag bits in the fpc + as these are sticky for feholdenv & feupdatenv as it is defined + in the HP Manpages. */ + + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +enum + { + FE_TONEAREST = +#define FE_TONEAREST 0 + FE_TONEAREST, + FE_DOWNWARD = +#define FE_DOWNWARD 0x3 + FE_DOWNWARD, + FE_UPWARD = +#define FE_UPWARD 0x2 + FE_UPWARD, + FE_TOWARDZERO = +#define FE_TOWARDZERO 0x1 + FE_TOWARDZERO + }; + + +/* Type representing exception flags. */ +typedef unsigned int fexcept_t; /* size of fpc */ + + +/* Type representing floating-point environment. This function corresponds + to the layout of the block used by fegetenv and fesetenv. */ +typedef struct +{ + fexcept_t __fpc; + void *__unused; + /* The field __unused (formerly __ieee_instruction_pointer) is a relict from + commit "Remove PTRACE_PEEKUSER" (87b9b50f0d4b92248905e95a06a13c513dc45e59) + and isn't used anymore. */ +} fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exceptions are masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..3c98a2d6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/hwcap.h @@ -0,0 +1,57 @@ +/* Defines for bits in AT_HWCAP. + Copyright (C) 2012-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_AUXV_H +# error "Never include directly; use instead." +#endif + +/* + * The following must match the kernels asm/elf.h. + * Note: The kernel commit 511ad531afd4090625def4d9aba1f5227bd44b8e + * "s390/hwcaps: shorten HWCAP defines" has shortened the prefix of the macros + * from "HWCAP_S390_" to "HWCAP_". For compatibility reasons, we do not + * change the prefix in public glibc header file. + * + * Note that these are *not* the same as the STORE FACILITY LIST bits. + */ +#define HWCAP_S390_ESAN3 1 +#define HWCAP_S390_ZARCH 2 +#define HWCAP_S390_STFLE 4 +#define HWCAP_S390_MSA 8 +#define HWCAP_S390_LDISP 16 +#define HWCAP_S390_EIMM 32 +#define HWCAP_S390_DFP 64 +#define HWCAP_S390_HPAGE 128 +#define HWCAP_S390_ETF3EH 256 +#define HWCAP_S390_HIGH_GPRS 512 +#define HWCAP_S390_TE 1024 +#define HWCAP_S390_VX 2048 +#define HWCAP_S390_VXRS HWCAP_S390_VX +#define HWCAP_S390_VXD 4096 +#define HWCAP_S390_VXRS_BCD HWCAP_S390_VXD +#define HWCAP_S390_VXE 8192 +#define HWCAP_S390_VXRS_EXT HWCAP_S390_VXE +#define HWCAP_S390_GS 16384 +#define HWCAP_S390_VXRS_EXT2 32768 +#define HWCAP_S390_VXRS_PDE 65536 +#define HWCAP_S390_SORT 131072 +#define HWCAP_S390_DFLT 262144 +#define HWCAP_S390_VXRS_PDE2 524288 +#define HWCAP_S390_NNPA 1048576 +#define HWCAP_S390_PCI_MIO 2097152 +#define HWCAP_S390_SIE 4194304 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/link.h new file mode 100644 index 00000000..059bd600 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/link.h @@ -0,0 +1,139 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +#if defined HAVE_S390_VX_ASM_SUPPORT +typedef char La_s390_vr[16]; +#endif + +#if __ELF_NATIVE_CLASS == 32 + +/* Registers for entry into PLT on s390-32. */ +typedef struct La_s390_32_regs +{ + uint32_t lr_r2; + uint32_t lr_r3; + uint32_t lr_r4; + uint32_t lr_r5; + uint32_t lr_r6; + double lr_fp0; + double lr_fp2; +# if defined HAVE_S390_VX_ASM_SUPPORT + La_s390_vr lr_v24; + La_s390_vr lr_v25; + La_s390_vr lr_v26; + La_s390_vr lr_v27; + La_s390_vr lr_v28; + La_s390_vr lr_v29; + La_s390_vr lr_v30; + La_s390_vr lr_v31; +# endif +} La_s390_32_regs; + +/* Return values for calls from PLT on s390-32. */ +typedef struct La_s390_32_retval +{ + uint32_t lrv_r2; + uint32_t lrv_r3; + double lrv_fp0; +# if defined HAVE_S390_VX_ASM_SUPPORT + La_s390_vr lrv_v24; +# endif +} La_s390_32_retval; + + +__BEGIN_DECLS + +extern Elf32_Addr la_s390_32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_s390_32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_s390_32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_s390_32_regs *__inregs, + La_s390_32_retval *__outregs, + const char *symname); + +__END_DECLS + +#else + +/* Registers for entry into PLT on s390-64. */ +typedef struct La_s390_64_regs +{ + uint64_t lr_r2; + uint64_t lr_r3; + uint64_t lr_r4; + uint64_t lr_r5; + uint64_t lr_r6; + double lr_fp0; + double lr_fp2; + double lr_fp4; + double lr_fp6; +# if defined HAVE_S390_VX_ASM_SUPPORT + La_s390_vr lr_v24; + La_s390_vr lr_v25; + La_s390_vr lr_v26; + La_s390_vr lr_v27; + La_s390_vr lr_v28; + La_s390_vr lr_v29; + La_s390_vr lr_v30; + La_s390_vr lr_v31; +# endif +} La_s390_64_regs; + +/* Return values for calls from PLT on s390-64. */ +typedef struct La_s390_64_retval +{ + uint64_t lrv_r2; + double lrv_fp0; +# if defined HAVE_S390_VX_ASM_SUPPORT + La_s390_vr lrv_v24; +# endif +} La_s390_64_retval; + + +__BEGIN_DECLS + +extern Elf64_Addr la_s390_64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_s390_64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_s390_64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_s390_64_regs *__inregs, + La_s390_64_retval *__outregs, + const char *__symname); + +__END_DECLS + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..c83ef568 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/long-double.h @@ -0,0 +1,25 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h new file mode 100644 index 00000000..166e4749 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-extra.h @@ -0,0 +1,75 @@ +/* Extra sys/procfs.h definitions. S/390 version. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 + +/* Provide 32-bit variants so that BFD can read 32-bit + core files. */ +#define ELF_NGREG32 36 +typedef unsigned int elf_greg_t32; +typedef elf_greg_t32 + elf_gregset_t32[ELF_NGREG32] __attribute__ ((__aligned__ (8))); +typedef elf_fpregset_t elf_fpregset_t32; + +struct elf_prstatus32 + { + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned int pr_sigpend; /* Set of pending signals. */ + unsigned int pr_sighold; /* Set of held signals. */ + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct + { + int tv_sec, tv_usec; + } pr_utime, /* User time. */ + pr_stime, /* System time. */ + pr_cutime, /* Cumulative user time. */ + pr_cstime; /* Cumulative system time. */ + elf_gregset_t32 pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + +struct elf_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned int pr_flag; /* Flags. */ + unsigned short int pr_uid; + unsigned short int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +typedef elf_gregset_t32 prgregset32_t; +typedef elf_fpregset_t32 prfpregset32_t; + +typedef struct elf_prstatus32 prstatus32_t; +typedef struct elf_prpsinfo32 prpsinfo32_t; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h new file mode 100644 index 00000000..cf3fd750 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs-id.h @@ -0,0 +1,30 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. S/390 version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 +typedef unsigned int __pr_uid_t; +typedef unsigned int __pr_gid_t; +#else +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..b725d099 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/procfs.h @@ -0,0 +1,29 @@ +/* Types for registers for sys/procfs.h. S/390 version. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include + +typedef greg_t elf_greg_t; +#define ELF_NGREG NGREG +typedef gregset_t elf_gregset_t; +typedef fpreg_t elf_fpreg_t; +typedef fpregset_t elf_fpregset_t; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..ec56973f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/rseq.h @@ -0,0 +1,37 @@ +/* Restartable Sequences Linux s390 architecture header. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. + + RSEQ_SIG uses the trap4 instruction. As Linux does not make use of the + access-register mode nor the linkage stack this instruction will always + cause a special-operation exception (the trap-enabled bit in the DUCT + is and will stay 0). The instruction pattern is + b2 ff 0f ff trap4 4095(%r0) */ + +#define RSEQ_SIG 0xB2FF0FFF \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..822f0fb3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/setjmp.h @@ -0,0 +1,47 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +/* Define the machine-dependent type `jmp_buf'. IBM s390 version. */ + +#ifndef __S390_SETJMP_H__ +#define __S390_SETJMP_H__ + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#include + +#ifndef _ASM + +typedef struct __s390_jmp_buf +{ + /* We save registers 6-15. */ + long int __gregs[10]; + +# if __WORDSIZE == 64 + /* We save fpu registers f8 - f15. */ + long __fpregs[8]; +# else + /* We save fpu registers 4 and 6. */ + long __fpregs[4]; +# endif +} __jmp_buf[1]; + +#endif + +#endif /* __S390_SETJMP_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/sigaction.h new file mode 100644 index 00000000..5f38a9cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/sigaction.h @@ -0,0 +1,117 @@ +/* Definitions for 31 & 64 bit S/390 sigaction. + Copyright (C) 2001-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#include + +#if __WORDSIZE == 64 +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Special flags. */ + int __glibc_reserved0; + int sa_flags; + + /* Restore handler. */ + void (*sa_restorer) (void); + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + }; +#else +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* Special flags. */ + int sa_flags; + + /* Restore handler. */ + void (*sa_restorer) (void); + }; +#endif + +/* Bits in `sa_flags'. */ +#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */ +#define SA_SIGINFO 4 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when + its handler is being executed. */ +# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x20000000 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_BLOCK 0 /* Block signals. */ +#define SIG_UNBLOCK 1 /* Unblock signals. */ +#define SIG_SETMASK 2 /* Set the set of blocked signals. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/statfs.h new file mode 100644 index 00000000..577bb4ea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/statfs.h @@ -0,0 +1,69 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_STATFS_H +# error "Never include directly; use instead." +#endif + +#include /* for __fsid_t and __fsblkcnt_t. */ + +struct statfs + { + unsigned int f_type; + unsigned int f_bsize; +#ifndef __USE_FILE_OFFSET64 + __fsblkcnt_t f_blocks; + __fsblkcnt_t f_bfree; + __fsblkcnt_t f_bavail; + __fsfilcnt_t f_files; + __fsfilcnt_t f_ffree; +#else + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; +#endif + __fsid_t f_fsid; + unsigned int f_namelen; + unsigned int f_frsize; + unsigned int f_flags; + unsigned int f_spare[4]; + }; + +#ifdef __USE_LARGEFILE64 +struct statfs64 + { + unsigned int f_type; + unsigned int f_bsize; + __fsblkcnt64_t f_blocks; + __fsblkcnt64_t f_bfree; + __fsblkcnt64_t f_bavail; + __fsfilcnt64_t f_files; + __fsfilcnt64_t f_ffree; + __fsid_t f_fsid; + unsigned int f_namelen; + unsigned int f_frsize; + unsigned int f_flags; + unsigned int f_spare[4]; + }; +#endif + +/* Tell code we have this member. */ +#define _STATFS_F_NAMELEN +#define _STATFS_F_FRSIZE +#define _STATFS_F_FLAGS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h new file mode 100644 index 00000000..504aec7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_mutex.h @@ -0,0 +1,63 @@ +/* S390 internal mutex struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _THREAD_MUTEX_INTERNAL_H +#define _THREAD_MUTEX_INTERNAL_H 1 + +struct __pthread_mutex_s +{ + int __lock; + unsigned int __count; + int __owner; +#if __WORDSIZE == 64 + unsigned int __nusers; +#endif + /* KIND must stay at this position in the structure to maintain + binary compatibility with static initializers. */ + int __kind; +#if __WORDSIZE == 64 + short __spins; + short __elision; + __pthread_list_t __list; +# define __PTHREAD_MUTEX_HAVE_PREV 1 +#else + unsigned int __nusers; + __extension__ union + { + struct + { + short __espins; + short __elision; + } _d; +# define __spins _d.__espins +# define __elision _d.__elision + __pthread_slist_t __list; + }; +# define __PTHREAD_MUTEX_HAVE_PREV 0 +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, 0, __kind, 0, 0, { 0, 0 } +#else +# define __PTHREAD_MUTEX_INITIALIZER(__kind) \ + 0, 0, 0, __kind, 0, { { 0, 0 } } +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..d7abdf7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,58 @@ +/* S390 internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +# else + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..95897d90 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/struct_stat.h @@ -0,0 +1,219 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include + +#if __WORDSIZE == 64 +struct stat + { + __dev_t st_dev; /* Device. */ + __ino_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __glibc_reserved0; + __dev_t st_rdev; /* Device number, if device. */ + __off_t st_size; /* Size of file, in bytes. */ +#ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +#else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +#endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt_t st_blocks; /* Nr. 512-byte blocks allocated. */ + long int __glibc_reserved[3]; + }; +#else +struct stat + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; +# ifndef __USE_FILE_OFFSET64 + __ino_t st_ino; /* File serial number. */ +# else + __ino_t __st_ino; /* 32bit file serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif +# ifndef __USE_FILE_OFFSET64 + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# else + __ino64_t st_ino; /* File serial number. */ +# endif +# endif + }; +# endif + +#ifdef __USE_LARGEFILE64 +# if __WORDSIZE == 64 +/* Note stat64 is the same shape as stat. */ +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __nlink_t st_nlink; /* Link count. */ + __mode_t st_mode; /* File mode. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + int __glibc_reserved0; + __dev_t st_rdev; /* Device number, if device. */ + __off_t st_size; /* Size of file, in bytes. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ + long int __glibc_reserved[3]; + }; +# else +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ + unsigned int __pad1; + + __ino_t __st_ino; /* 32bit file serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + __ino64_t st_ino; /* File serial number. */ +# endif + }; +# endif +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..95574667 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/s390. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..1a9765ac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/typesizes.h @@ -0,0 +1,101 @@ +/* bits/typesizes.h -- underlying types for *_t. Linux/s390 version. + Copyright (C) 2003-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __UWORD_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __SLONGWORD_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#if defined __GNUC__ && __GNUC__ <= 2 +/* Compatibility with g++ 2.95.x. */ +#define __SSIZE_T_TYPE __SWORD_TYPE +#else +/* size_t is unsigned long int on s390 -m31. */ +#define __SSIZE_T_TYPE __SLONGWORD_TYPE +#endif +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#ifdef __s390x__ +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmp.h new file mode 100644 index 00000000..dfb546be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmp.h @@ -0,0 +1,127 @@ +/* The `struct utmp' type, describing entries in the utmp file. GNU version. + Copyright (C) 1993-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMP_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include +#include + + +#define UT_LINESIZE 32 +#define UT_NAMESIZE 32 +#define UT_HOSTSIZE 256 + + +/* The structure describing an entry in the database of + previous logins. */ +struct lastlog + { +#if __WORDSIZE == 32 + int64_t ll_time; +#else + __time_t ll_time; +#endif + char ll_line[UT_LINESIZE]; + char ll_host[UT_HOSTSIZE]; + }; + + +/* The structure describing the status of a terminated process. This + type is used in `struct utmp' below. */ +struct exit_status + { + short int e_termination; /* Process termination status. */ + short int e_exit; /* Process exit status. */ + }; + + +/* The structure describing an entry in the user accounting database. */ +struct utmp +{ + short int ut_type; /* Type of login. */ + pid_t ut_pid; /* Process ID of login process. */ + char ut_line[UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ +/* The ut_session and ut_tv fields must be the same size when compiled + 32- and 64-bit. This allows data files and shared memory to be + shared between 32- and 64-bit applications. */ +#if __WORDSIZE == 32 + int64_t ut_session; /* Session ID, used for windowing. */ + struct + { + int64_t tv_sec; /* Seconds. */ + int64_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + + int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; + +/* Backwards compatibility hacks. */ +#define ut_name ut_user +#ifndef _NO_UT_TIME +/* We have a problem here: `ut_time' is also used otherwise. Define + _NO_UT_TIME if the compiler complains. */ +# define ut_time ut_tv.tv_sec +#endif +#define ut_xtime ut_tv.tv_sec +#define ut_addr ut_addr_v6[0] + + +/* Values for the `ut_type' field of a `struct utmp'. */ +#define EMPTY 0 /* No valid user accounting information. */ + +#define RUN_LVL 1 /* The system's runlevel. */ +#define BOOT_TIME 2 /* Time of system boot. */ +#define NEW_TIME 3 /* Time after system clock changed. */ +#define OLD_TIME 4 /* Time when system clock changed. */ + +#define INIT_PROCESS 5 /* Process spawned by the init process. */ +#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ +#define USER_PROCESS 7 /* Normal process. */ +#define DEAD_PROCESS 8 /* Terminated process. */ + +#define ACCOUNTING 9 + +/* Old Linux name for the EMPTY type. */ +#define UT_UNKNOWN EMPTY + + +/* Tell the user that we have a modern system with UT_HOST, UT_PID, + UT_TYPE, UT_ID and UT_TV fields. */ +#define _HAVE_UT_TYPE 1 +#define _HAVE_UT_PID 1 +#define _HAVE_UT_ID 1 +#define _HAVE_UT_TV 1 +#define _HAVE_UT_HOST 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmpx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmpx.h new file mode 100644 index 00000000..5ee9a5ca --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/utmpx.h @@ -0,0 +1,106 @@ +/* Structures and definitions for the user accounting database. GNU version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UTMPX_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + + +#ifdef __USE_GNU +# include +# define _PATH_UTMPX _PATH_UTMP +# define _PATH_WTMPX _PATH_WTMP +#endif + + +#define __UT_LINESIZE 32 +#define __UT_NAMESIZE 32 +#define __UT_HOSTSIZE 256 + + +/* The structure describing the status of a terminated process. This + type is used in `struct utmpx' below. */ +struct __exit_status + { +#ifdef __USE_GNU + short int e_termination; /* Process termination status. */ + short int e_exit; /* Process exit status. */ +#else + short int __e_termination; /* Process termination status. */ + short int __e_exit; /* Process exit status. */ +#endif + }; + + +/* The structure describing an entry in the user accounting database. */ +struct utmpx +{ + short int ut_type; /* Type of login. */ + __pid_t ut_pid; /* Process ID of login process. */ + char ut_line[__UT_LINESIZE] + __attribute_nonstring__; /* Devicename. */ + char ut_id[4] + __attribute_nonstring__; /* Inittab ID. */ + char ut_user[__UT_NAMESIZE] + __attribute_nonstring__; /* Username. */ + char ut_host[__UT_HOSTSIZE] + __attribute_nonstring__; /* Hostname for remote login. */ + struct __exit_status ut_exit; /* Exit status of a process marked + as DEAD_PROCESS. */ + +/* The fields ut_session and ut_tv must be the same size when compiled + 32- and 64-bit. This allows files and shared memory to be shared + between 32- and 64-bit applications. */ +#if __WORDSIZE == 32 + __int64_t ut_session; /* Session ID, used for windowing. */ + struct + { + __int64_t tv_sec; /* Seconds. */ + __int64_t tv_usec; /* Microseconds. */ + } ut_tv; /* Time entry was made. */ +#else + long int ut_session; /* Session ID, used for windowing. */ + struct timeval ut_tv; /* Time entry was made. */ +#endif + __int32_t ut_addr_v6[4]; /* Internet address of remote host. */ + char __glibc_reserved[20]; /* Reserved for future use. */ +}; + + +/* Values for the `ut_type' field of a `struct utmpx'. */ +#define EMPTY 0 /* No valid user accounting information. */ + +#ifdef __USE_GNU +# define RUN_LVL 1 /* The system's runlevel. */ +#endif +#define BOOT_TIME 2 /* Time of system boot. */ +#define NEW_TIME 3 /* Time after system clock changed. */ +#define OLD_TIME 4 /* Time when system clock changed. */ + +#define INIT_PROCESS 5 /* Process spawned by the init process. */ +#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ +#define USER_PROCESS 7 /* Normal process. */ +#define DEAD_PROCESS 8 /* Terminated process. */ + +#ifdef __USE_GNU +# define ACCOUNTING 9 /* System accounting. */ +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..8f330464 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/bits/wordsize.h @@ -0,0 +1,11 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __s390x__ +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 1 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif + +#define __WORDSIZE_TIME64_COMPAT32 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/fpu_control.h new file mode 100644 index 00000000..ed1ced78 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/fpu_control.h @@ -0,0 +1,41 @@ +/* FPU control word definitions. Stub version. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H + +#include + +/* These bits are reserved are not changed. */ +#define _FPU_RESERVED 0x0707FFFC + +/* The fdlibm code requires no interrupts for exceptions. Don't + change the rounding mode, it would break long double I/O! */ +#define _FPU_DEFAULT 0x00000000 /* Default value. */ + +/* Type of the control word. */ +typedef unsigned int fpu_control_t; + +/* Macros for accessing the hardware control word. */ +#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0" : "=d" (cw)) +#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0" : : "d" (cw)) + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* _FPU_CONTROL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h new file mode 100644 index 00000000..0df63282 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names-64.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD64_SO "ld64.so.1" +#define LD_SO "ld64.so.1" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..ad647150 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..120171a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/elf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/elf.h new file mode 100644 index 00000000..ae26bc6b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/elf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_ELF_H +#define _SYS_ELF_H 1 + +#warning "This header is obsolete; use instead." + +#include + +#endif /* _SYS_ELF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ptrace.h new file mode 100644 index 00000000..524fdcae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ptrace.h @@ -0,0 +1,260 @@ +/* `ptrace' debugger support interface. Linux/S390 version. + Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include + +__BEGIN_DECLS +#if defined _LINUX_PTRACE_H || defined _S390_PTRACE_H +/* Kludge to stop stuff gdb & strace compiles from getting upset + */ +# undef PTRACE_TRACEME +# undef PTRACE_PEEKTEXT +# undef PTRACE_PEEKDATA +# undef PTRACE_POKETEXT +# undef PTRACE_POKEDATA +# undef PTRACE_CONT +# undef PTRACE_KILL +# undef PTRACE_SINGLESTEP +# undef PTRACE_SINGLEBLOCK +# undef PTRACE_ATTACH +# undef PTRACE_DETACH +# undef PTRACE_SYSCALL +# undef PTRACE_SYSEMU +# undef PTRACE_SYSEMU_SINGLESTEP +# undef PTRACE_SETOPTIONS +# undef PTRACE_GETEVENTMSG +# undef PTRACE_GETSIGINFO +# undef PTRACE_SETSIGINFO +# undef PTRACE_GETREGSET +# undef PTRACE_SETREGSET +# undef PTRACE_SEIZE +# undef PTRACE_INTERRUPT +# undef PTRACE_LISTEN +# undef PTRACE_PEEKSIGINFO +# undef PTRACE_GETSIGMASK +# undef PTRACE_SETSIGMASK +# undef PTRACE_SECCOMP_GET_FILTER +# undef PTRACE_SECCOMP_GET_METADATA +# undef PTRACE_PEEKUSR_AREA +# undef PTRACE_POKEUSR_AREA +# undef PTRACE_GET_LAST_BREAK +# undef PTRACE_ENABLE_TE +# undef PTRACE_DISABLE_TE +# undef PTRACE_TE_ABORT_RAND +# undef PTRACE_O_TRACESYSGOOD +# undef PTRACE_O_TRACEFORK +# undef PTRACE_O_TRACEVFORK +# undef PTRACE_O_TRACECLONE +# undef PTRACE_O_TRACEEXEC +# undef PTRACE_O_TRACEVFORKDONE +# undef PTRACE_O_TRACEEXIT +# undef PTRACE_O_TRACESECCOMP +# undef PTRACE_O_EXITKILL +# undef PTRACE_O_SUSPEND_SECCOMP +# undef PTRACE_O_MASK +# undef PTRACE_EVENT_FORK +# undef PTRACE_EVENT_VFORK +# undef PTRACE_EVENT_CLONE +# undef PTRACE_EVENT_EXEC +# undef PTRACE_EVENT_VFORK_DONE +# undef PTRACE_EVENT_EXIT +# undef PTRACE_EVENT_SECCOMP +# undef PTRACE_EVENT_STOP +# undef PTRACE_PEEKSIGINFO_SHARED +# undef PTRACE_GET_SYSCALL_INFO +# undef PTRACE_SYSCALL_INFO_NONE +# undef PTRACE_SYSCALL_INFO_ENTRY +# undef PTRACE_SYSCALL_INFO_EXIT +# undef PTRACE_SYSCALL_INFO_SECCOMP +# undef PTRACE_GET_RSEQ_CONFIGURATION +# undef PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG +# undef PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +#endif +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Execute process until next taken branch. */ + PTRACE_SINGLEBLOCK = 12, +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 17, +#define PT_DETACH PTRACE_DETACH + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PT_SYSCALL PTRACE_SYSCALL + + /* Continue and stop at the next syscall, it will not be executed. */ + PTRACE_SYSEMU = 31, +#define PT_SYSEMU PTRACE_SYSEMU + + /* Single step the process, the next syscall will not be executed. */ + PTRACE_SYSEMU_SINGLESTEP = 32, +#define PT_SYSEMU_SINGLESTEP PTRACE_SYSEMU_SINGLESTEP + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211, +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG + + PTRACE_PEEKUSR_AREA = 0x5000, +#define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA + + PTRACE_POKEUSR_AREA = 0x5001, +#define PTRACE_POKEUSR_AREA PTRACE_POKEUSR_AREA + + PTRACE_GET_LAST_BREAK = 0x5006, +#define PTRACE_GET_LAST_BREAK PTRACE_GET_LAST_BREAK + + PTRACE_ENABLE_TE = 0x5009, +#define PTRACE_ENABLE_TE PTRACE_ENABLE_TE + + PTRACE_DISABLE_TE = 0x5010, +#define PTRACE_DISABLE_TE PTRACE_DISABLE_TE + + PTRACE_TE_ABORT_RAND = 0x5011 +#define PTRACE_TE_ABORT_RAND PTRACE_TE_ABORT_RAND +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..4e3ece22 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/ucontext.h @@ -0,0 +1,94 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +/* Type for a program status word. */ +typedef struct +{ + unsigned long __ctx(mask); + unsigned long __ctx(addr); +} __attribute__ ((__aligned__(8))) __psw_t; + +/* Type for a general-purpose register. */ +typedef unsigned long greg_t; + +/* And the whole bunch of them. We should have used `struct s390_regs', + but to avoid name space pollution and since the tradition says that + the register set is an array, we make gregset_t a simple array + that has the same size as s390_regs. This is needed for the + elf_prstatus structure. */ +#if __WORDSIZE == 64 +# define __NGREG 27 +#else +# define __NGREG 36 +#endif +#ifdef __USE_MISC +# define NGREG __NGREG +#endif +/* Must match kernels psw_t alignment. */ +typedef greg_t gregset_t[__NGREG] __attribute__ ((__aligned__(8))); + +typedef union + { + double __ctx(d); + float __ctx(f); + } fpreg_t; + +/* Register set for the floating-point registers. */ +typedef struct + { + unsigned int __ctx(fpc); + fpreg_t __ctx(fprs)[16]; + } fpregset_t; + +/* Context to describe whole processor state. */ +typedef struct + { + __psw_t __ctx(psw); + unsigned long __ctx(gregs)[16]; + unsigned int __ctx(aregs)[16]; + fpregset_t __ctx(fpregs); + } mcontext_t; + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long int __ctx(uc_flags); + struct ucontext_t *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + } ucontext_t; + +#undef __ctx + + +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/user.h new file mode 100644 index 00000000..6e93a49d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-gnu/sys/user.h @@ -0,0 +1,82 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +/* The whole purpose of this file is for GDB and GDB only. Don't read + too much into it. Don't use it for anything other than GDB unless + you know what you are doing. */ + +struct _user_psw_struct +{ + unsigned long mask; + unsigned long addr; +}; + +struct _user_fpregs_struct +{ + unsigned int fpc; + double fprs[16]; +}; + +struct _user_per_struct +{ + unsigned long control_regs[3]; + unsigned single_step : 1; + unsigned instruction_fetch : 1; + unsigned : 30; + unsigned long starting_addr; + unsigned long ending_addr; + unsigned short perc_atmid; + unsigned long address; + unsigned char access_id; +}; + +struct _user_regs_struct +{ + struct _user_psw_struct psw; /* Program status word. */ + unsigned long gprs[16]; /* General purpose registers. */ + unsigned int acrs[16]; /* Access registers. */ + unsigned long orig_gpr2; /* Original gpr2. */ + struct _user_fpregs_struct fp_regs; /* Floating point registers. */ + struct _user_per_struct per_info; /* Hardware tracing registers. */ + unsigned long ieee_instruction_pointer; /* Always 0. */ +}; + +struct user { + struct _user_regs_struct regs; /* User registers. */ + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + unsigned long start_code; /* Starting address of text. */ + unsigned long start_stack; /* Starting address of stack area. */ + long int signal; /* Signal causing the core dump. */ + struct _user_regs_struct *u_ar0; /* Help gdb find registers. */ + unsigned long magic; /* Identifies a core file. */ + char u_comm[32]; /* User command naem. */ +}; + +#define PAGE_SHIFT 12 +#define PAGE_SIZE (1UL << PAGE_SHIFT) +#define PAGE_MASK (~(PAGE_SIZE-1)) +#define NBPG PAGE_SIZE +#define UPAGES 1 +#define HOST_TEXT_START_ADDR (u.start_code) +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) + +#endif /* _SYS_USER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/alltypes.h new file mode 100644 index 00000000..c1b9e7b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/alltypes.h @@ -0,0 +1,410 @@ +#define _Addr long +#define _Int64 long +#define _Reg long + +#define __BYTE_ORDER 4321 +#define __LONG_MAX 0x7fffffffffffffffL + +#ifndef __cplusplus +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +typedef int wchar_t; +#define __DEFINED_wchar_t +#endif + +#endif + +#if defined(__FLT_EVAL_METHOD__) && __FLT_EVAL_METHOD__ == 1 +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef double float_t; +#define __DEFINED_float_t +#endif + +#else +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#endif +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +typedef struct { long long __ll; long double __ld; } max_align_t; +#define __DEFINED_max_align_t +#endif + +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fcntl.h new file mode 100644 index 00000000..c496dd06 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fcntl.h @@ -0,0 +1,43 @@ +#define O_CREAT 0100 +#define O_EXCL 0200 +#define O_NOCTTY 0400 +#define O_TRUNC 01000 +#define O_APPEND 02000 +#define O_NONBLOCK 04000 +#define O_DSYNC 010000 +#define O_SYNC 04010000 +#define O_RSYNC 04010000 +#define O_DIRECTORY 0200000 +#define O_NOFOLLOW 0400000 +#define O_CLOEXEC 02000000 + +#define O_ASYNC 020000 +#define O_DIRECT 040000 +#define O_LARGEFILE 0100000 +#define O_NOATIME 01000000 +#define O_PATH 010000000 +#define O_TMPFILE 020200000 +#define O_NDELAY O_NONBLOCK + +#define F_DUPFD 0 +#define F_GETFD 1 +#define F_SETFD 2 +#define F_GETFL 3 +#define F_SETFL 4 + +#define F_GETLK 5 +#define F_SETLK 6 +#define F_SETLKW 7 + +#define F_SETOWN 8 +#define F_GETOWN 9 +#define F_SETSIG 10 +#define F_GETSIG 11 + +#define F_SETOWN_EX 15 +#define F_GETOWN_EX 16 + +#define F_GETOWNER_UIDS 17 + +#define POSIX_FADV_DONTNEED 6 +#define POSIX_FADV_NOREUSE 7 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fenv.h new file mode 100644 index 00000000..988a615d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/fenv.h @@ -0,0 +1,17 @@ +#define FE_TONEAREST 0 +#define FE_TOWARDZERO 1 +#define FE_UPWARD 2 +#define FE_DOWNWARD 3 + +#define FE_INEXACT 0x00080000 +#define FE_UNDERFLOW 0x00100000 +#define FE_OVERFLOW 0x00200000 +#define FE_DIVBYZERO 0x00400000 +#define FE_INVALID 0x00800000 + +#define FE_ALL_EXCEPT 0x00f80000 + +typedef unsigned fexcept_t; +typedef unsigned fenv_t; + +#define FE_DFL_ENV ((const fenv_t *)-1) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/float.h new file mode 100644 index 00000000..127787d2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/float.h @@ -0,0 +1,20 @@ +#ifdef __FLT_EVAL_METHOD__ +#define FLT_EVAL_METHOD __FLT_EVAL_METHOD__ +#else +#define FLT_EVAL_METHOD 0 +#endif + +#define LDBL_TRUE_MIN 6.47517511943802511092443895822764655e-4966L +#define LDBL_MIN 3.36210314311209350626267781732175260e-4932L +#define LDBL_MAX 1.18973149535723176508575932662800702e+4932L +#define LDBL_EPSILON 1.92592994438723585305597794258492732e-34L + +#define LDBL_MANT_DIG 113 +#define LDBL_MIN_EXP (-16381) +#define LDBL_MAX_EXP 16384 + +#define LDBL_DIG 33 +#define LDBL_MIN_10_EXP (-4931) +#define LDBL_MAX_10_EXP 4932 + +#define DECIMAL_DIG 36 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/hwcap.h new file mode 100644 index 00000000..b27c8a1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/hwcap.h @@ -0,0 +1,15 @@ +#define HWCAP_S390_ESAN3 1 +#define HWCAP_S390_ZARCH 2 +#define HWCAP_S390_STFLE 4 +#define HWCAP_S390_MSA 8 +#define HWCAP_S390_LDISP 16 +#define HWCAP_S390_EIMM 32 +#define HWCAP_S390_DFP 64 +#define HWCAP_S390_HPAGE 128 +#define HWCAP_S390_ETF3EH 256 +#define HWCAP_S390_HIGH_GPRS 512 +#define HWCAP_S390_TE 1024 +#define HWCAP_S390_VXRS 2048 +#define HWCAP_S390_VXRS_BCD 4096 +#define HWCAP_S390_VXRS_EXT 8192 +#define HWCAP_S390_GS 16384 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ioctl_fix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ioctl_fix.h new file mode 100644 index 00000000..9c177f76 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ioctl_fix.h @@ -0,0 +1,2 @@ +#undef FIOQSIZE +#define FIOQSIZE 0x545e \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/limits.h new file mode 100644 index 00000000..fc11433d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/limits.h @@ -0,0 +1 @@ +#define PAGESIZE 4096 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/link.h new file mode 100644 index 00000000..5b237733 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/link.h @@ -0,0 +1 @@ +typedef uint64_t Elf_Symndx; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/posix.h new file mode 100644 index 00000000..9fcc205c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_LP64_OFF64 1 +#define _POSIX_V7_LP64_OFF64 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ptrace.h new file mode 100644 index 00000000..a47ef428 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/ptrace.h @@ -0,0 +1,12 @@ +#define PTRACE_SINGLEBLOCK 12 +#define PTRACE_OLDSETOPTIONS 21 +#define PTRACE_SYSEMU 31 +#define PTRACE_SYSEMU_SINGLESTEP 32 +#define PTRACE_PEEKUSR_AREA 0x5000 +#define PTRACE_POKEUSR_AREA 0x5001 +#define PTRACE_GET_LAST_BREAK 0x5006 +#define PTRACE_ENABLE_TE 0x5009 +#define PTRACE_DISABLE_TE 0x5010 +#define PTRACE_TE_ABORT_RAND 0x5011 + +#define PT_STEPBLOCK PTRACE_SINGLEBLOCK \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/setjmp.h new file mode 100644 index 00000000..ebbeb571 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long __jmp_buf[18]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/signal.h new file mode 100644 index 00000000..bb1282c1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/signal.h @@ -0,0 +1,121 @@ +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 10240 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +typedef unsigned long greg_t, gregset_t[27]; + +typedef struct { + unsigned long mask; + unsigned long addr; +} __psw_t; + +typedef union { + double d; + float f; +} fpreg_t; + +typedef struct { + unsigned fpc; + fpreg_t fprs[16]; +} fpregset_t; + +typedef struct +{ + __psw_t psw; + unsigned long gregs[16]; + unsigned aregs[16]; + fpregset_t fpregs; +} mcontext_t; + +struct sigcontext { + unsigned long oldmask[1]; + struct { + struct { + __psw_t psw; + unsigned long gprs[16]; + unsigned acrs[16]; + } regs; + struct { + unsigned fpc; + double fprs[16]; + } fpregs; + } *sregs; +}; + +#else + +typedef struct { + unsigned long __regs1[18]; + unsigned __regs2[18]; + double __regs3[16]; +} mcontext_t; + +#endif + +struct sigaltstack { + void *ss_sp; + int ss_flags; + size_t ss_size; +}; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; +} ucontext_t; + +#define SA_NOCLDSTOP 1U +#define SA_NOCLDWAIT 2U +#define SA_SIGINFO 4U +#define SA_ONSTACK 0x08000000U +#define SA_RESTART 0x10000000U +#define SA_NODEFER 0x40000000U +#define SA_RESETHAND 0x80000000U +#define SA_RESTORER 0x04000000U + +#endif + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL SIGIO +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stat.h new file mode 100644 index 00000000..d5ef714c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stat.h @@ -0,0 +1,16 @@ +struct stat { + dev_t st_dev; + ino_t st_ino; + nlink_t st_nlink; + mode_t st_mode; + uid_t st_uid; + gid_t st_gid; + dev_t st_rdev; + off_t st_size; + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + blksize_t st_blksize; + blkcnt_t st_blocks; + unsigned long __unused[3]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/statfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/statfs.h new file mode 100644 index 00000000..4540d0f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/statfs.h @@ -0,0 +1,7 @@ +struct statfs { + unsigned f_type, f_bsize; + fsblkcnt_t f_blocks, f_bfree, f_bavail; + fsfilcnt_t f_files, f_ffree; + fsid_t f_fsid; + unsigned f_namelen, f_frsize, f_flags, f_spare[4]; +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stdint.h new file mode 100644 index 00000000..02714d73 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int32_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint32_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT32_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT32_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT32_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT64_MIN +#define INTPTR_MAX INT64_MAX +#define UINTPTR_MAX UINT64_MAX +#define PTRDIFF_MIN INT64_MIN +#define PTRDIFF_MAX INT64_MAX +#define SIZE_MAX UINT64_MAX \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/syscall.h new file mode 100644 index 00000000..7e26564b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/syscall.h @@ -0,0 +1,741 @@ +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_restart_syscall 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execve 11 +#define __NR_chdir 12 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_mount 21 +#define __NR_umount 22 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_rename 38 +#define __NR_mkdir 39 +#define __NR_rmdir 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_brk 45 +#define __NR_signal 48 +#define __NR_acct 51 +#define __NR_umount2 52 +#define __NR_ioctl 54 +#define __NR_fcntl 55 +#define __NR_setpgid 57 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_ustat 62 +#define __NR_dup2 63 +#define __NR_getppid 64 +#define __NR_getpgrp 65 +#define __NR_setsid 66 +#define __NR_sigaction 67 +#define __NR_sigsuspend 72 +#define __NR_sigpending 73 +#define __NR_sethostname 74 +#define __NR_setrlimit 75 +#define __NR_getrusage 77 +#define __NR_gettimeofday 78 +#define __NR_settimeofday 79 +#define __NR_symlink 83 +#define __NR_readlink 85 +#define __NR_uselib 86 +#define __NR_swapon 87 +#define __NR_reboot 88 +#define __NR_readdir 89 +#define __NR_mmap 90 +#define __NR_munmap 91 +#define __NR_truncate 92 +#define __NR_ftruncate 93 +#define __NR_fchmod 94 +#define __NR_getpriority 96 +#define __NR_setpriority 97 +#define __NR_statfs 99 +#define __NR_fstatfs 100 +#define __NR_socketcall 102 +#define __NR_syslog 103 +#define __NR_setitimer 104 +#define __NR_getitimer 105 +#define __NR_stat 106 +#define __NR_lstat 107 +#define __NR_fstat 108 +#define __NR_lookup_dcookie 110 +#define __NR_vhangup 111 +#define __NR_idle 112 +#define __NR_wait4 114 +#define __NR_swapoff 115 +#define __NR_sysinfo 116 +#define __NR_ipc 117 +#define __NR_fsync 118 +#define __NR_sigreturn 119 +#define __NR_clone 120 +#define __NR_setdomainname 121 +#define __NR_uname 122 +#define __NR_adjtimex 124 +#define __NR_mprotect 125 +#define __NR_sigprocmask 126 +#define __NR_create_module 127 +#define __NR_init_module 128 +#define __NR_delete_module 129 +#define __NR_get_kernel_syms 130 +#define __NR_quotactl 131 +#define __NR_getpgid 132 +#define __NR_fchdir 133 +#define __NR_bdflush 134 +#define __NR_sysfs 135 +#define __NR_personality 136 +#define __NR_afs_syscall 137 +#define __NR_getdents 141 +#define __NR_select 142 +#define __NR_flock 143 +#define __NR_msync 144 +#define __NR_readv 145 +#define __NR_writev 146 +#define __NR_getsid 147 +#define __NR_fdatasync 148 +#define __NR__sysctl 149 +#define __NR_mlock 150 +#define __NR_munlock 151 +#define __NR_mlockall 152 +#define __NR_munlockall 153 +#define __NR_sched_setparam 154 +#define __NR_sched_getparam 155 +#define __NR_sched_setscheduler 156 +#define __NR_sched_getscheduler 157 +#define __NR_sched_yield 158 +#define __NR_sched_get_priority_max 159 +#define __NR_sched_get_priority_min 160 +#define __NR_sched_rr_get_interval 161 +#define __NR_nanosleep 162 +#define __NR_mremap 163 +#define __NR_query_module 167 +#define __NR_poll 168 +#define __NR_nfsservctl 169 +#define __NR_prctl 172 +#define __NR_rt_sigreturn 173 +#define __NR_rt_sigaction 174 +#define __NR_rt_sigprocmask 175 +#define __NR_rt_sigpending 176 +#define __NR_rt_sigtimedwait 177 +#define __NR_rt_sigqueueinfo 178 +#define __NR_rt_sigsuspend 179 +#define __NR_pread64 180 +#define __NR_pwrite64 181 +#define __NR_getcwd 183 +#define __NR_capget 184 +#define __NR_capset 185 +#define __NR_sigaltstack 186 +#define __NR_sendfile 187 +#define __NR_getpmsg 188 +#define __NR_putpmsg 189 +#define __NR_vfork 190 +#define __NR_getrlimit 191 +#define __NR_lchown 198 +#define __NR_getuid 199 +#define __NR_getgid 200 +#define __NR_geteuid 201 +#define __NR_getegid 202 +#define __NR_setreuid 203 +#define __NR_setregid 204 +#define __NR_getgroups 205 +#define __NR_setgroups 206 +#define __NR_fchown 207 +#define __NR_setresuid 208 +#define __NR_getresuid 209 +#define __NR_setresgid 210 +#define __NR_getresgid 211 +#define __NR_chown 212 +#define __NR_setuid 213 +#define __NR_setgid 214 +#define __NR_setfsuid 215 +#define __NR_setfsgid 216 +#define __NR_pivot_root 217 +#define __NR_mincore 218 +#define __NR_madvise 219 +#define __NR_getdents64 220 +#define __NR_readahead 222 +#define __NR_setxattr 224 +#define __NR_lsetxattr 225 +#define __NR_fsetxattr 226 +#define __NR_getxattr 227 +#define __NR_lgetxattr 228 +#define __NR_fgetxattr 229 +#define __NR_listxattr 230 +#define __NR_llistxattr 231 +#define __NR_flistxattr 232 +#define __NR_removexattr 233 +#define __NR_lremovexattr 234 +#define __NR_fremovexattr 235 +#define __NR_gettid 236 +#define __NR_tkill 237 +#define __NR_futex 238 +#define __NR_sched_setaffinity 239 +#define __NR_sched_getaffinity 240 +#define __NR_tgkill 241 +#define __NR_io_setup 243 +#define __NR_io_destroy 244 +#define __NR_io_getevents 245 +#define __NR_io_submit 246 +#define __NR_io_cancel 247 +#define __NR_exit_group 248 +#define __NR_epoll_create 249 +#define __NR_epoll_ctl 250 +#define __NR_epoll_wait 251 +#define __NR_set_tid_address 252 +#define __NR_fadvise64 253 +#define __NR_timer_create 254 +#define __NR_timer_settime 255 +#define __NR_timer_gettime 256 +#define __NR_timer_getoverrun 257 +#define __NR_timer_delete 258 +#define __NR_clock_settime 259 +#define __NR_clock_gettime 260 +#define __NR_clock_getres 261 +#define __NR_clock_nanosleep 262 +#define __NR_statfs64 265 +#define __NR_fstatfs64 266 +#define __NR_remap_file_pages 267 +#define __NR_mbind 268 +#define __NR_get_mempolicy 269 +#define __NR_set_mempolicy 270 +#define __NR_mq_open 271 +#define __NR_mq_unlink 272 +#define __NR_mq_timedsend 273 +#define __NR_mq_timedreceive 274 +#define __NR_mq_notify 275 +#define __NR_mq_getsetattr 276 +#define __NR_kexec_load 277 +#define __NR_add_key 278 +#define __NR_request_key 279 +#define __NR_keyctl 280 +#define __NR_waitid 281 +#define __NR_ioprio_set 282 +#define __NR_ioprio_get 283 +#define __NR_inotify_init 284 +#define __NR_inotify_add_watch 285 +#define __NR_inotify_rm_watch 286 +#define __NR_migrate_pages 287 +#define __NR_openat 288 +#define __NR_mkdirat 289 +#define __NR_mknodat 290 +#define __NR_fchownat 291 +#define __NR_futimesat 292 +#define __NR_newfstatat 293 +#define __NR_unlinkat 294 +#define __NR_renameat 295 +#define __NR_linkat 296 +#define __NR_symlinkat 297 +#define __NR_readlinkat 298 +#define __NR_fchmodat 299 +#define __NR_faccessat 300 +#define __NR_pselect6 301 +#define __NR_ppoll 302 +#define __NR_unshare 303 +#define __NR_set_robust_list 304 +#define __NR_get_robust_list 305 +#define __NR_splice 306 +#define __NR_sync_file_range 307 +#define __NR_tee 308 +#define __NR_vmsplice 309 +#define __NR_move_pages 310 +#define __NR_getcpu 311 +#define __NR_epoll_pwait 312 +#define __NR_utimes 313 +#define __NR_fallocate 314 +#define __NR_utimensat 315 +#define __NR_signalfd 316 +#define __NR_timerfd 317 +#define __NR_eventfd 318 +#define __NR_timerfd_create 319 +#define __NR_timerfd_settime 320 +#define __NR_timerfd_gettime 321 +#define __NR_signalfd4 322 +#define __NR_eventfd2 323 +#define __NR_inotify_init1 324 +#define __NR_pipe2 325 +#define __NR_dup3 326 +#define __NR_epoll_create1 327 +#define __NR_preadv 328 +#define __NR_pwritev 329 +#define __NR_rt_tgsigqueueinfo 330 +#define __NR_perf_event_open 331 +#define __NR_fanotify_init 332 +#define __NR_fanotify_mark 333 +#define __NR_prlimit64 334 +#define __NR_name_to_handle_at 335 +#define __NR_open_by_handle_at 336 +#define __NR_clock_adjtime 337 +#define __NR_syncfs 338 +#define __NR_setns 339 +#define __NR_process_vm_readv 340 +#define __NR_process_vm_writev 341 +#define __NR_s390_runtime_instr 342 +#define __NR_kcmp 343 +#define __NR_finit_module 344 +#define __NR_sched_setattr 345 +#define __NR_sched_getattr 346 +#define __NR_renameat2 347 +#define __NR_seccomp 348 +#define __NR_getrandom 349 +#define __NR_memfd_create 350 +#define __NR_bpf 351 +#define __NR_s390_pci_mmio_write 352 +#define __NR_s390_pci_mmio_read 353 +#define __NR_execveat 354 +#define __NR_userfaultfd 355 +#define __NR_membarrier 356 +#define __NR_recvmmsg 357 +#define __NR_sendmmsg 358 +#define __NR_socket 359 +#define __NR_socketpair 360 +#define __NR_bind 361 +#define __NR_connect 362 +#define __NR_listen 363 +#define __NR_accept4 364 +#define __NR_getsockopt 365 +#define __NR_setsockopt 366 +#define __NR_getsockname 367 +#define __NR_getpeername 368 +#define __NR_sendto 369 +#define __NR_sendmsg 370 +#define __NR_recvfrom 371 +#define __NR_recvmsg 372 +#define __NR_shutdown 373 +#define __NR_mlock2 374 +#define __NR_copy_file_range 375 +#define __NR_preadv2 376 +#define __NR_pwritev2 377 +#define __NR_s390_guarded_storage 378 +#define __NR_statx 379 +#define __NR_s390_sthyi 380 +#define __NR_kexec_file_load 381 +#define __NR_io_pgetevents 382 +#define __NR_rseq 383 +#define __NR_pkey_mprotect 384 +#define __NR_pkey_alloc 385 +#define __NR_pkey_free 386 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_clone3 435 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_memfd_secret 447 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 + +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_restart_syscall 7 +#define SYS_creat 8 +#define SYS_link 9 +#define SYS_unlink 10 +#define SYS_execve 11 +#define SYS_chdir 12 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_lseek 19 +#define SYS_getpid 20 +#define SYS_mount 21 +#define SYS_umount 22 +#define SYS_ptrace 26 +#define SYS_alarm 27 +#define SYS_pause 29 +#define SYS_utime 30 +#define SYS_access 33 +#define SYS_nice 34 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_rename 38 +#define SYS_mkdir 39 +#define SYS_rmdir 40 +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_times 43 +#define SYS_brk 45 +#define SYS_signal 48 +#define SYS_acct 51 +#define SYS_umount2 52 +#define SYS_ioctl 54 +#define SYS_fcntl 55 +#define SYS_setpgid 57 +#define SYS_umask 60 +#define SYS_chroot 61 +#define SYS_ustat 62 +#define SYS_dup2 63 +#define SYS_getppid 64 +#define SYS_getpgrp 65 +#define SYS_setsid 66 +#define SYS_sigaction 67 +#define SYS_sigsuspend 72 +#define SYS_sigpending 73 +#define SYS_sethostname 74 +#define SYS_setrlimit 75 +#define SYS_getrusage 77 +#define SYS_gettimeofday 78 +#define SYS_settimeofday 79 +#define SYS_symlink 83 +#define SYS_readlink 85 +#define SYS_uselib 86 +#define SYS_swapon 87 +#define SYS_reboot 88 +#define SYS_readdir 89 +#define SYS_mmap 90 +#define SYS_munmap 91 +#define SYS_truncate 92 +#define SYS_ftruncate 93 +#define SYS_fchmod 94 +#define SYS_getpriority 96 +#define SYS_setpriority 97 +#define SYS_statfs 99 +#define SYS_fstatfs 100 +#define SYS_socketcall 102 +#define SYS_syslog 103 +#define SYS_setitimer 104 +#define SYS_getitimer 105 +#define SYS_stat 106 +#define SYS_lstat 107 +#define SYS_fstat 108 +#define SYS_lookup_dcookie 110 +#define SYS_vhangup 111 +#define SYS_idle 112 +#define SYS_wait4 114 +#define SYS_swapoff 115 +#define SYS_sysinfo 116 +#define SYS_ipc 117 +#define SYS_fsync 118 +#define SYS_sigreturn 119 +#define SYS_clone 120 +#define SYS_setdomainname 121 +#define SYS_uname 122 +#define SYS_adjtimex 124 +#define SYS_mprotect 125 +#define SYS_sigprocmask 126 +#define SYS_create_module 127 +#define SYS_init_module 128 +#define SYS_delete_module 129 +#define SYS_get_kernel_syms 130 +#define SYS_quotactl 131 +#define SYS_getpgid 132 +#define SYS_fchdir 133 +#define SYS_bdflush 134 +#define SYS_sysfs 135 +#define SYS_personality 136 +#define SYS_afs_syscall 137 +#define SYS_getdents 141 +#define SYS_select 142 +#define SYS_flock 143 +#define SYS_msync 144 +#define SYS_readv 145 +#define SYS_writev 146 +#define SYS_getsid 147 +#define SYS_fdatasync 148 +#define SYS__sysctl 149 +#define SYS_mlock 150 +#define SYS_munlock 151 +#define SYS_mlockall 152 +#define SYS_munlockall 153 +#define SYS_sched_setparam 154 +#define SYS_sched_getparam 155 +#define SYS_sched_setscheduler 156 +#define SYS_sched_getscheduler 157 +#define SYS_sched_yield 158 +#define SYS_sched_get_priority_max 159 +#define SYS_sched_get_priority_min 160 +#define SYS_sched_rr_get_interval 161 +#define SYS_nanosleep 162 +#define SYS_mremap 163 +#define SYS_query_module 167 +#define SYS_poll 168 +#define SYS_nfsservctl 169 +#define SYS_prctl 172 +#define SYS_rt_sigreturn 173 +#define SYS_rt_sigaction 174 +#define SYS_rt_sigprocmask 175 +#define SYS_rt_sigpending 176 +#define SYS_rt_sigtimedwait 177 +#define SYS_rt_sigqueueinfo 178 +#define SYS_rt_sigsuspend 179 +#define SYS_pread64 180 +#define SYS_pwrite64 181 +#define SYS_getcwd 183 +#define SYS_capget 184 +#define SYS_capset 185 +#define SYS_sigaltstack 186 +#define SYS_sendfile 187 +#define SYS_getpmsg 188 +#define SYS_putpmsg 189 +#define SYS_vfork 190 +#define SYS_getrlimit 191 +#define SYS_lchown 198 +#define SYS_getuid 199 +#define SYS_getgid 200 +#define SYS_geteuid 201 +#define SYS_getegid 202 +#define SYS_setreuid 203 +#define SYS_setregid 204 +#define SYS_getgroups 205 +#define SYS_setgroups 206 +#define SYS_fchown 207 +#define SYS_setresuid 208 +#define SYS_getresuid 209 +#define SYS_setresgid 210 +#define SYS_getresgid 211 +#define SYS_chown 212 +#define SYS_setuid 213 +#define SYS_setgid 214 +#define SYS_setfsuid 215 +#define SYS_setfsgid 216 +#define SYS_pivot_root 217 +#define SYS_mincore 218 +#define SYS_madvise 219 +#define SYS_getdents64 220 +#define SYS_readahead 222 +#define SYS_setxattr 224 +#define SYS_lsetxattr 225 +#define SYS_fsetxattr 226 +#define SYS_getxattr 227 +#define SYS_lgetxattr 228 +#define SYS_fgetxattr 229 +#define SYS_listxattr 230 +#define SYS_llistxattr 231 +#define SYS_flistxattr 232 +#define SYS_removexattr 233 +#define SYS_lremovexattr 234 +#define SYS_fremovexattr 235 +#define SYS_gettid 236 +#define SYS_tkill 237 +#define SYS_futex 238 +#define SYS_sched_setaffinity 239 +#define SYS_sched_getaffinity 240 +#define SYS_tgkill 241 +#define SYS_io_setup 243 +#define SYS_io_destroy 244 +#define SYS_io_getevents 245 +#define SYS_io_submit 246 +#define SYS_io_cancel 247 +#define SYS_exit_group 248 +#define SYS_epoll_create 249 +#define SYS_epoll_ctl 250 +#define SYS_epoll_wait 251 +#define SYS_set_tid_address 252 +#define SYS_fadvise64 253 +#define SYS_timer_create 254 +#define SYS_timer_settime 255 +#define SYS_timer_gettime 256 +#define SYS_timer_getoverrun 257 +#define SYS_timer_delete 258 +#define SYS_clock_settime 259 +#define SYS_clock_gettime 260 +#define SYS_clock_getres 261 +#define SYS_clock_nanosleep 262 +#define SYS_statfs64 265 +#define SYS_fstatfs64 266 +#define SYS_remap_file_pages 267 +#define SYS_mbind 268 +#define SYS_get_mempolicy 269 +#define SYS_set_mempolicy 270 +#define SYS_mq_open 271 +#define SYS_mq_unlink 272 +#define SYS_mq_timedsend 273 +#define SYS_mq_timedreceive 274 +#define SYS_mq_notify 275 +#define SYS_mq_getsetattr 276 +#define SYS_kexec_load 277 +#define SYS_add_key 278 +#define SYS_request_key 279 +#define SYS_keyctl 280 +#define SYS_waitid 281 +#define SYS_ioprio_set 282 +#define SYS_ioprio_get 283 +#define SYS_inotify_init 284 +#define SYS_inotify_add_watch 285 +#define SYS_inotify_rm_watch 286 +#define SYS_migrate_pages 287 +#define SYS_openat 288 +#define SYS_mkdirat 289 +#define SYS_mknodat 290 +#define SYS_fchownat 291 +#define SYS_futimesat 292 +#define SYS_newfstatat 293 +#define SYS_unlinkat 294 +#define SYS_renameat 295 +#define SYS_linkat 296 +#define SYS_symlinkat 297 +#define SYS_readlinkat 298 +#define SYS_fchmodat 299 +#define SYS_faccessat 300 +#define SYS_pselect6 301 +#define SYS_ppoll 302 +#define SYS_unshare 303 +#define SYS_set_robust_list 304 +#define SYS_get_robust_list 305 +#define SYS_splice 306 +#define SYS_sync_file_range 307 +#define SYS_tee 308 +#define SYS_vmsplice 309 +#define SYS_move_pages 310 +#define SYS_getcpu 311 +#define SYS_epoll_pwait 312 +#define SYS_utimes 313 +#define SYS_fallocate 314 +#define SYS_utimensat 315 +#define SYS_signalfd 316 +#define SYS_timerfd 317 +#define SYS_eventfd 318 +#define SYS_timerfd_create 319 +#define SYS_timerfd_settime 320 +#define SYS_timerfd_gettime 321 +#define SYS_signalfd4 322 +#define SYS_eventfd2 323 +#define SYS_inotify_init1 324 +#define SYS_pipe2 325 +#define SYS_dup3 326 +#define SYS_epoll_create1 327 +#define SYS_preadv 328 +#define SYS_pwritev 329 +#define SYS_rt_tgsigqueueinfo 330 +#define SYS_perf_event_open 331 +#define SYS_fanotify_init 332 +#define SYS_fanotify_mark 333 +#define SYS_prlimit64 334 +#define SYS_name_to_handle_at 335 +#define SYS_open_by_handle_at 336 +#define SYS_clock_adjtime 337 +#define SYS_syncfs 338 +#define SYS_setns 339 +#define SYS_process_vm_readv 340 +#define SYS_process_vm_writev 341 +#define SYS_s390_runtime_instr 342 +#define SYS_kcmp 343 +#define SYS_finit_module 344 +#define SYS_sched_setattr 345 +#define SYS_sched_getattr 346 +#define SYS_renameat2 347 +#define SYS_seccomp 348 +#define SYS_getrandom 349 +#define SYS_memfd_create 350 +#define SYS_bpf 351 +#define SYS_s390_pci_mmio_write 352 +#define SYS_s390_pci_mmio_read 353 +#define SYS_execveat 354 +#define SYS_userfaultfd 355 +#define SYS_membarrier 356 +#define SYS_recvmmsg 357 +#define SYS_sendmmsg 358 +#define SYS_socket 359 +#define SYS_socketpair 360 +#define SYS_bind 361 +#define SYS_connect 362 +#define SYS_listen 363 +#define SYS_accept4 364 +#define SYS_getsockopt 365 +#define SYS_setsockopt 366 +#define SYS_getsockname 367 +#define SYS_getpeername 368 +#define SYS_sendto 369 +#define SYS_sendmsg 370 +#define SYS_recvfrom 371 +#define SYS_recvmsg 372 +#define SYS_shutdown 373 +#define SYS_mlock2 374 +#define SYS_copy_file_range 375 +#define SYS_preadv2 376 +#define SYS_pwritev2 377 +#define SYS_s390_guarded_storage 378 +#define SYS_statx 379 +#define SYS_s390_sthyi 380 +#define SYS_kexec_file_load 381 +#define SYS_io_pgetevents 382 +#define SYS_rseq 383 +#define SYS_pkey_mprotect 384 +#define SYS_pkey_alloc 385 +#define SYS_pkey_free 386 +#define SYS_semtimedop 392 +#define SYS_semget 393 +#define SYS_semctl 394 +#define SYS_shmget 395 +#define SYS_shmctl 396 +#define SYS_shmat 397 +#define SYS_shmdt 398 +#define SYS_msgget 399 +#define SYS_msgsnd 400 +#define SYS_msgrcv 401 +#define SYS_msgctl 402 +#define SYS_pidfd_send_signal 424 +#define SYS_io_uring_setup 425 +#define SYS_io_uring_enter 426 +#define SYS_io_uring_register 427 +#define SYS_open_tree 428 +#define SYS_move_mount 429 +#define SYS_fsopen 430 +#define SYS_fsconfig 431 +#define SYS_fsmount 432 +#define SYS_fspick 433 +#define SYS_pidfd_open 434 +#define SYS_clone3 435 +#define SYS_close_range 436 +#define SYS_openat2 437 +#define SYS_pidfd_getfd 438 +#define SYS_faccessat2 439 +#define SYS_process_madvise 440 +#define SYS_epoll_pwait2 441 +#define SYS_mount_setattr 442 +#define SYS_landlock_create_ruleset 444 +#define SYS_landlock_add_rule 445 +#define SYS_landlock_restrict_self 446 +#define SYS_memfd_secret 447 +#define SYS_process_mrelease 448 +#define SYS_futex_waitv 449 +#define SYS_set_mempolicy_home_node 450 +#define SYS_cachestat 451 +#define SYS_fchmodat2 452 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/user.h new file mode 100644 index 00000000..c73ae682 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/s390x-linux-musl/bits/user.h @@ -0,0 +1,61 @@ +#undef __WORDSIZE +#define __WORDSIZE 64 + +typedef union { + double d; + float f; +} elf_fpreg_t; + +typedef struct { + unsigned fpc; + elf_fpreg_t fprs[16]; +} elf_fpregset_t; + +#define ELF_NGREG 27 +typedef unsigned long elf_greg_t, elf_gregset_t[ELF_NGREG]; + +struct _user_psw_struct { + unsigned long mask, addr; +}; + +struct _user_fpregs_struct { + unsigned fpc; + double fprs[16]; +}; + +struct _user_per_struct { + unsigned long control_regs[3]; + unsigned single_step : 1; + unsigned instruction_fetch : 1; + unsigned : 30; + unsigned long starting_addr, ending_addr; + unsigned short perc_atmid; + unsigned long address; + unsigned char access_id; +}; + +struct _user_regs_struct { + struct _user_psw_struct psw; + unsigned long gprs[16]; + unsigned acrs[16]; + unsigned long orig_gpr2; + struct _user_fpregs_struct fp_regs; + struct _user_per_struct per_info; + unsigned long ieee_instruction_pointer; +}; + +struct user { + struct _user_regs_struct regs; + unsigned long u_tsize, u_dsize, u_ssize; + unsigned long start_code, start_stack; + long signal; + struct _user_regs_struct *u_ar0; + unsigned long magic; + char u_comm[32]; +}; + +#define PAGE_MASK (~(PAGESIZE-1)) +#define NBPG PAGESIZE +#define UPAGES 1 +#define HOST_TEXT_START_ADDR (u.start_code) +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/apc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/apc.h new file mode 100644 index 00000000..664f96c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/apc.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* apc - Driver definitions for power management functions + * of Aurora Personality Chip (APC) on SPARCstation-4/5 and + * derivatives + * + * Copyright (c) 2001 Eric Brower (ebrower@usa.net) + * + */ + +#ifndef _SPARC_APC_H +#define _SPARC_APC_H + +#include + +#define APC_IOC 'A' + +#define APCIOCGFANCTL _IOR(APC_IOC, 0x00, int) /* Get fan speed */ +#define APCIOCSFANCTL _IOW(APC_IOC, 0x01, int) /* Set fan speed */ + +#define APCIOCGCPWR _IOR(APC_IOC, 0x02, int) /* Get CPOWER state */ +#define APCIOCSCPWR _IOW(APC_IOC, 0x03, int) /* Set CPOWER state */ + +#define APCIOCGBPORT _IOR(APC_IOC, 0x04, int) /* Get BPORT state */ +#define APCIOCSBPORT _IOW(APC_IOC, 0x05, int) /* Set BPORT state */ + +/* + * Register offsets + */ +#define APC_IDLE_REG 0x00 +#define APC_FANCTL_REG 0x20 +#define APC_CPOWER_REG 0x24 +#define APC_BPORT_REG 0x30 + +#define APC_REGMASK 0x01 +#define APC_BPMASK 0x03 + +/* + * IDLE - CPU standby values (set to initiate standby) + */ +#define APC_IDLE_ON 0x01 + +/* + * FANCTL - Fan speed control state values + */ +#define APC_FANCTL_HI 0x00 /* Fan speed high */ +#define APC_FANCTL_LO 0x01 /* Fan speed low */ + +/* + * CPWR - Convenience power outlet state values + */ +#define APC_CPOWER_ON 0x00 /* Conv power on */ +#define APC_CPOWER_OFF 0x01 /* Conv power off */ + +/* + * BPA/BPB - Read-Write "Bit Ports" state values (reset to 0 at power-on) + * + * WARNING: Internal usage of bit ports is platform dependent-- + * don't modify BPORT settings unless you know what you are doing. + * + * On SS5 BPA seems to toggle onboard ethernet loopback... -E + */ +#define APC_BPORT_A 0x01 /* Bit Port A */ +#define APC_BPORT_B 0x02 /* Bit Port B */ + +#endif /* !(_SPARC_APC_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/asi.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/asi.h new file mode 100644 index 00000000..afe612b4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/asi.h @@ -0,0 +1,303 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_ASI_H +#define _SPARC_ASI_H + +/* asi.h: Address Space Identifier values for the sparc. + * + * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu) + * + * Pioneer work for sun4m: Paul Hatchman (paul@sfe.com.au) + * Joint edition for sun4c+sun4m: Pete A. Zaitcev + */ + +/* The first batch are for the sun4c. */ + +#define ASI_NULL1 0x00 +#define ASI_NULL2 0x01 + +/* sun4c and sun4 control registers and mmu/vac ops */ +#define ASI_CONTROL 0x02 +#define ASI_SEGMAP 0x03 +#define ASI_PTE 0x04 +#define ASI_HWFLUSHSEG 0x05 +#define ASI_HWFLUSHPAGE 0x06 +#define ASI_REGMAP 0x06 +#define ASI_HWFLUSHCONTEXT 0x07 + +#define ASI_USERTXT 0x08 +#define ASI_KERNELTXT 0x09 +#define ASI_USERDATA 0x0a +#define ASI_KERNELDATA 0x0b + +/* VAC Cache flushing on sun4c and sun4 */ +#define ASI_FLUSHSEG 0x0c +#define ASI_FLUSHPG 0x0d +#define ASI_FLUSHCTX 0x0e + +/* SPARCstation-5: only 6 bits are decoded. */ +/* wo = Write Only, rw = Read Write; */ +/* ss = Single Size, as = All Sizes; */ +#define ASI_M_RES00 0x00 /* Don't touch... */ +#define ASI_M_UNA01 0x01 /* Same here... */ +#define ASI_M_MXCC 0x02 /* Access to TI VIKING MXCC registers */ +#define ASI_M_FLUSH_PROBE 0x03 /* Reference MMU Flush/Probe; rw, ss */ +#define ASI_M_MMUREGS 0x04 /* MMU Registers; rw, ss */ +#define ASI_M_TLBDIAG 0x05 /* MMU TLB only Diagnostics */ +#define ASI_M_DIAGS 0x06 /* Reference MMU Diagnostics */ +#define ASI_M_IODIAG 0x07 /* MMU I/O TLB only Diagnostics */ +#define ASI_M_USERTXT 0x08 /* Same as ASI_USERTXT; rw, as */ +#define ASI_M_KERNELTXT 0x09 /* Same as ASI_KERNELTXT; rw, as */ +#define ASI_M_USERDATA 0x0A /* Same as ASI_USERDATA; rw, as */ +#define ASI_M_KERNELDATA 0x0B /* Same as ASI_KERNELDATA; rw, as */ +#define ASI_M_TXTC_TAG 0x0C /* Instruction Cache Tag; rw, ss */ +#define ASI_M_TXTC_DATA 0x0D /* Instruction Cache Data; rw, ss */ +#define ASI_M_DATAC_TAG 0x0E /* Data Cache Tag; rw, ss */ +#define ASI_M_DATAC_DATA 0x0F /* Data Cache Data; rw, ss */ + +/* The following cache flushing ASIs work only with the 'sta' + * instruction. Results are unpredictable for 'swap' and 'ldstuba', + * so don't do it. + */ + +/* These ASI flushes affect external caches too. */ +#define ASI_M_FLUSH_PAGE 0x10 /* Flush I&D Cache Line (page); wo, ss */ +#define ASI_M_FLUSH_SEG 0x11 /* Flush I&D Cache Line (seg); wo, ss */ +#define ASI_M_FLUSH_REGION 0x12 /* Flush I&D Cache Line (region); wo, ss */ +#define ASI_M_FLUSH_CTX 0x13 /* Flush I&D Cache Line (context); wo, ss */ +#define ASI_M_FLUSH_USER 0x14 /* Flush I&D Cache Line (user); wo, ss */ + +/* Block-copy operations are available only on certain V8 cpus. */ +#define ASI_M_BCOPY 0x17 /* Block copy */ + +/* These affect only the ICACHE and are Ross HyperSparc and TurboSparc specific. */ +#define ASI_M_IFLUSH_PAGE 0x18 /* Flush I Cache Line (page); wo, ss */ +#define ASI_M_IFLUSH_SEG 0x19 /* Flush I Cache Line (seg); wo, ss */ +#define ASI_M_IFLUSH_REGION 0x1A /* Flush I Cache Line (region); wo, ss */ +#define ASI_M_IFLUSH_CTX 0x1B /* Flush I Cache Line (context); wo, ss */ +#define ASI_M_IFLUSH_USER 0x1C /* Flush I Cache Line (user); wo, ss */ + +/* Block-fill operations are available on certain V8 cpus */ +#define ASI_M_BFILL 0x1F + +/* This allows direct access to main memory, actually 0x20 to 0x2f are + * the available ASI's for physical ram pass-through, but I don't have + * any idea what the other ones do.... + */ + +#define ASI_M_BYPASS 0x20 /* Reference MMU bypass; rw, as */ +#define ASI_M_FBMEM 0x29 /* Graphics card frame buffer access */ +#define ASI_M_VMEUS 0x2A /* VME user 16-bit access */ +#define ASI_M_VMEPS 0x2B /* VME priv 16-bit access */ +#define ASI_M_VMEUT 0x2C /* VME user 32-bit access */ +#define ASI_M_VMEPT 0x2D /* VME priv 32-bit access */ +#define ASI_M_SBUS 0x2E /* Direct SBus access */ +#define ASI_M_CTL 0x2F /* Control Space (ECC and MXCC are here) */ + + +/* This is ROSS HyperSparc only. */ +#define ASI_M_FLUSH_IWHOLE 0x31 /* Flush entire ICACHE; wo, ss */ + +/* Tsunami/Viking/TurboSparc i/d cache flash clear. */ +#define ASI_M_IC_FLCLEAR 0x36 +#define ASI_M_DC_FLCLEAR 0x37 + +#define ASI_M_DCDR 0x39 /* Data Cache Diagnostics Register rw, ss */ + +#define ASI_M_VIKING_TMP1 0x40 /* Emulation temporary 1 on Viking */ +/* only available on SuperSparc I */ +/* #define ASI_M_VIKING_TMP2 0x41 */ /* Emulation temporary 2 on Viking */ + +#define ASI_M_ACTION 0x4c /* Breakpoint Action Register (GNU/Viking) */ + +/* LEON ASI */ +#define ASI_LEON_NOCACHE 0x01 + +#define ASI_LEON_DCACHE_MISS 0x01 + +#define ASI_LEON_CACHEREGS 0x02 +#define ASI_LEON_IFLUSH 0x10 +#define ASI_LEON_DFLUSH 0x11 + +#define ASI_LEON_MMUFLUSH 0x18 +#define ASI_LEON_MMUREGS 0x19 +#define ASI_LEON_BYPASS 0x1c +#define ASI_LEON_FLUSH_PAGE 0x10 + +/* V9 Architecture mandary ASIs. */ +#define ASI_N 0x04 /* Nucleus */ +#define ASI_NL 0x0c /* Nucleus, little endian */ +#define ASI_AIUP 0x10 /* Primary, user */ +#define ASI_AIUS 0x11 /* Secondary, user */ +#define ASI_AIUPL 0x18 /* Primary, user, little endian */ +#define ASI_AIUSL 0x19 /* Secondary, user, little endian */ +#define ASI_P 0x80 /* Primary, implicit */ +#define ASI_S 0x81 /* Secondary, implicit */ +#define ASI_PNF 0x82 /* Primary, no fault */ +#define ASI_SNF 0x83 /* Secondary, no fault */ +#define ASI_PL 0x88 /* Primary, implicit, l-endian */ +#define ASI_SL 0x89 /* Secondary, implicit, l-endian */ +#define ASI_PNFL 0x8a /* Primary, no fault, l-endian */ +#define ASI_SNFL 0x8b /* Secondary, no fault, l-endian */ + +/* SpitFire and later extended ASIs. The "(III)" marker designates + * UltraSparc-III and later specific ASIs. The "(CMT)" marker designates + * Chip Multi Threading specific ASIs. "(NG)" designates Niagara specific + * ASIs, "(4V)" designates SUN4V specific ASIs. "(NG4)" designates SPARC-T4 + * and later ASIs. + */ +#define ASI_MCD_PRIV_PRIMARY 0x02 /* (NG7) Privileged MCD version VA */ +#define ASI_MCD_REAL 0x05 /* (NG7) Privileged MCD version PA */ +#define ASI_PHYS_USE_EC 0x14 /* PADDR, E-cachable */ +#define ASI_PHYS_BYPASS_EC_E 0x15 /* PADDR, E-bit */ +#define ASI_BLK_AIUP_4V 0x16 /* (4V) Prim, user, block ld/st */ +#define ASI_BLK_AIUS_4V 0x17 /* (4V) Sec, user, block ld/st */ +#define ASI_PHYS_USE_EC_L 0x1c /* PADDR, E-cachable, little endian*/ +#define ASI_PHYS_BYPASS_EC_E_L 0x1d /* PADDR, E-bit, little endian */ +#define ASI_BLK_AIUP_L_4V 0x1e /* (4V) Prim, user, block, l-endian*/ +#define ASI_BLK_AIUS_L_4V 0x1f /* (4V) Sec, user, block, l-endian */ +#define ASI_SCRATCHPAD 0x20 /* (4V) Scratch Pad Registers */ +#define ASI_MMU 0x21 /* (4V) MMU Context Registers */ +#define ASI_BLK_INIT_QUAD_LDD_AIUS 0x23 /* (NG) init-store, twin load, + * secondary, user + */ +#define ASI_NUCLEUS_QUAD_LDD 0x24 /* Cachable, qword load */ +#define ASI_QUEUE 0x25 /* (4V) Interrupt Queue Registers */ +#define ASI_QUAD_LDD_PHYS_4V 0x26 /* (4V) Physical, qword load */ +#define ASI_NUCLEUS_QUAD_LDD_L 0x2c /* Cachable, qword load, l-endian */ +#define ASI_QUAD_LDD_PHYS_L_4V 0x2e /* (4V) Phys, qword load, l-endian */ +#define ASI_PCACHE_DATA_STATUS 0x30 /* (III) PCache data stat RAM diag */ +#define ASI_PCACHE_DATA 0x31 /* (III) PCache data RAM diag */ +#define ASI_PCACHE_TAG 0x32 /* (III) PCache tag RAM diag */ +#define ASI_PCACHE_SNOOP_TAG 0x33 /* (III) PCache snoop tag RAM diag */ +#define ASI_QUAD_LDD_PHYS 0x34 /* (III+) PADDR, qword load */ +#define ASI_WCACHE_VALID_BITS 0x38 /* (III) WCache Valid Bits diag */ +#define ASI_WCACHE_DATA 0x39 /* (III) WCache data RAM diag */ +#define ASI_WCACHE_TAG 0x3a /* (III) WCache tag RAM diag */ +#define ASI_WCACHE_SNOOP_TAG 0x3b /* (III) WCache snoop tag RAM diag */ +#define ASI_QUAD_LDD_PHYS_L 0x3c /* (III+) PADDR, qw-load, l-endian */ +#define ASI_SRAM_FAST_INIT 0x40 /* (III+) Fast SRAM init */ +#define ASI_CORE_AVAILABLE 0x41 /* (CMT) LP Available */ +#define ASI_CORE_ENABLE_STAT 0x41 /* (CMT) LP Enable Status */ +#define ASI_CORE_ENABLE 0x41 /* (CMT) LP Enable RW */ +#define ASI_XIR_STEERING 0x41 /* (CMT) XIR Steering RW */ +#define ASI_CORE_RUNNING_RW 0x41 /* (CMT) LP Running RW */ +#define ASI_CORE_RUNNING_W1S 0x41 /* (CMT) LP Running Write-One Set */ +#define ASI_CORE_RUNNING_W1C 0x41 /* (CMT) LP Running Write-One Clr */ +#define ASI_CORE_RUNNING_STAT 0x41 /* (CMT) LP Running Status */ +#define ASI_CMT_ERROR_STEERING 0x41 /* (CMT) Error Steering RW */ +#define ASI_DCACHE_INVALIDATE 0x42 /* (III) DCache Invalidate diag */ +#define ASI_DCACHE_UTAG 0x43 /* (III) DCache uTag diag */ +#define ASI_DCACHE_SNOOP_TAG 0x44 /* (III) DCache snoop tag RAM diag */ +#define ASI_LSU_CONTROL 0x45 /* Load-store control unit */ +#define ASI_DCU_CONTROL_REG 0x45 /* (III) DCache Unit Control reg */ +#define ASI_DCACHE_DATA 0x46 /* DCache data-ram diag access */ +#define ASI_DCACHE_TAG 0x47 /* Dcache tag/valid ram diag access*/ +#define ASI_INTR_DISPATCH_STAT 0x48 /* IRQ vector dispatch status */ +#define ASI_INTR_RECEIVE 0x49 /* IRQ vector receive status */ +#define ASI_UPA_CONFIG 0x4a /* UPA config space */ +#define ASI_JBUS_CONFIG 0x4a /* (IIIi) JBUS Config Register */ +#define ASI_SAFARI_CONFIG 0x4a /* (III) Safari Config Register */ +#define ASI_SAFARI_ADDRESS 0x4a /* (III) Safari Address Register */ +#define ASI_ESTATE_ERROR_EN 0x4b /* E-cache error enable space */ +#define ASI_AFSR 0x4c /* Async fault status register */ +#define ASI_AFAR 0x4d /* Async fault address register */ +#define ASI_EC_TAG_DATA 0x4e /* E-cache tag/valid ram diag acc */ +#define ASI_IMMU 0x50 /* Insn-MMU main register space */ +#define ASI_IMMU_TSB_8KB_PTR 0x51 /* Insn-MMU 8KB TSB pointer reg */ +#define ASI_IMMU_TSB_64KB_PTR 0x52 /* Insn-MMU 64KB TSB pointer reg */ +#define ASI_ITLB_DATA_IN 0x54 /* Insn-MMU TLB data in reg */ +#define ASI_ITLB_DATA_ACCESS 0x55 /* Insn-MMU TLB data access reg */ +#define ASI_ITLB_TAG_READ 0x56 /* Insn-MMU TLB tag read reg */ +#define ASI_IMMU_DEMAP 0x57 /* Insn-MMU TLB demap */ +#define ASI_DMMU 0x58 /* Data-MMU main register space */ +#define ASI_DMMU_TSB_8KB_PTR 0x59 /* Data-MMU 8KB TSB pointer reg */ +#define ASI_DMMU_TSB_64KB_PTR 0x5a /* Data-MMU 16KB TSB pointer reg */ +#define ASI_DMMU_TSB_DIRECT_PTR 0x5b /* Data-MMU TSB direct pointer reg */ +#define ASI_DTLB_DATA_IN 0x5c /* Data-MMU TLB data in reg */ +#define ASI_DTLB_DATA_ACCESS 0x5d /* Data-MMU TLB data access reg */ +#define ASI_DTLB_TAG_READ 0x5e /* Data-MMU TLB tag read reg */ +#define ASI_DMMU_DEMAP 0x5f /* Data-MMU TLB demap */ +#define ASI_IIU_INST_TRAP 0x60 /* (III) Instruction Breakpoint */ +#define ASI_INTR_ID 0x63 /* (CMT) Interrupt ID register */ +#define ASI_CORE_ID 0x63 /* (CMT) LP ID register */ +#define ASI_CESR_ID 0x63 /* (CMT) CESR ID register */ +#define ASI_IC_INSTR 0x66 /* Insn cache instrucion ram diag */ +#define ASI_IC_TAG 0x67 /* Insn cache tag/valid ram diag */ +#define ASI_IC_STAG 0x68 /* (III) Insn cache snoop tag ram */ +#define ASI_IC_PRE_DECODE 0x6e /* Insn cache pre-decode ram diag */ +#define ASI_IC_NEXT_FIELD 0x6f /* Insn cache next-field ram diag */ +#define ASI_BRPRED_ARRAY 0x6f /* (III) Branch Prediction RAM diag*/ +#define ASI_BLK_AIUP 0x70 /* Primary, user, block load/store */ +#define ASI_BLK_AIUS 0x71 /* Secondary, user, block ld/st */ +#define ASI_MCU_CTRL_REG 0x72 /* (III) Memory controller regs */ +#define ASI_EC_DATA 0x74 /* (III) E-cache data staging reg */ +#define ASI_EC_CTRL 0x75 /* (III) E-cache control reg */ +#define ASI_EC_W 0x76 /* E-cache diag write access */ +#define ASI_UDB_ERROR_W 0x77 /* External UDB error regs W */ +#define ASI_UDB_CONTROL_W 0x77 /* External UDB control regs W */ +#define ASI_INTR_W 0x77 /* IRQ vector dispatch write */ +#define ASI_INTR_DATAN_W 0x77 /* (III) Out irq vector data reg N */ +#define ASI_INTR_DISPATCH_W 0x77 /* (III) Interrupt vector dispatch */ +#define ASI_BLK_AIUPL 0x78 /* Primary, user, little, blk ld/st*/ +#define ASI_BLK_AIUSL 0x79 /* Secondary, user, little, blk ld/st*/ +#define ASI_EC_R 0x7e /* E-cache diag read access */ +#define ASI_UDBH_ERROR_R 0x7f /* External UDB error regs rd hi */ +#define ASI_UDBL_ERROR_R 0x7f /* External UDB error regs rd low */ +#define ASI_UDBH_CONTROL_R 0x7f /* External UDB control regs rd hi */ +#define ASI_UDBL_CONTROL_R 0x7f /* External UDB control regs rd low*/ +#define ASI_INTR_R 0x7f /* IRQ vector dispatch read */ +#define ASI_INTR_DATAN_R 0x7f /* (III) In irq vector data reg N */ +#define ASI_MCD_PRIMARY 0x90 /* (NG7) MCD version load/store */ +#define ASI_MCD_ST_BLKINIT_PRIMARY \ + 0x92 /* (NG7) MCD store BLKINIT primary */ +#define ASI_PIC 0xb0 /* (NG4) PIC registers */ +#define ASI_PST8_P 0xc0 /* Primary, 8 8-bit, partial */ +#define ASI_PST8_S 0xc1 /* Secondary, 8 8-bit, partial */ +#define ASI_PST16_P 0xc2 /* Primary, 4 16-bit, partial */ +#define ASI_PST16_S 0xc3 /* Secondary, 4 16-bit, partial */ +#define ASI_PST32_P 0xc4 /* Primary, 2 32-bit, partial */ +#define ASI_PST32_S 0xc5 /* Secondary, 2 32-bit, partial */ +#define ASI_PST8_PL 0xc8 /* Primary, 8 8-bit, partial, L */ +#define ASI_PST8_SL 0xc9 /* Secondary, 8 8-bit, partial, L */ +#define ASI_PST16_PL 0xca /* Primary, 4 16-bit, partial, L */ +#define ASI_PST16_SL 0xcb /* Secondary, 4 16-bit, partial, L */ +#define ASI_PST32_PL 0xcc /* Primary, 2 32-bit, partial, L */ +#define ASI_PST32_SL 0xcd /* Secondary, 2 32-bit, partial, L */ +#define ASI_FL8_P 0xd0 /* Primary, 1 8-bit, fpu ld/st */ +#define ASI_FL8_S 0xd1 /* Secondary, 1 8-bit, fpu ld/st */ +#define ASI_FL16_P 0xd2 /* Primary, 1 16-bit, fpu ld/st */ +#define ASI_FL16_S 0xd3 /* Secondary, 1 16-bit, fpu ld/st */ +#define ASI_FL8_PL 0xd8 /* Primary, 1 8-bit, fpu ld/st, L */ +#define ASI_FL8_SL 0xd9 /* Secondary, 1 8-bit, fpu ld/st, L*/ +#define ASI_FL16_PL 0xda /* Primary, 1 16-bit, fpu ld/st, L */ +#define ASI_FL16_SL 0xdb /* Secondary, 1 16-bit, fpu ld/st,L*/ +#define ASI_BLK_COMMIT_P 0xe0 /* Primary, blk store commit */ +#define ASI_BLK_COMMIT_S 0xe1 /* Secondary, blk store commit */ +#define ASI_BLK_INIT_QUAD_LDD_P 0xe2 /* (NG) init-store, twin load, + * primary, implicit + */ +#define ASI_BLK_INIT_QUAD_LDD_S 0xe3 /* (NG) init-store, twin load, + * secondary, implicit + */ +#define ASI_BLK_P 0xf0 /* Primary, blk ld/st */ +#define ASI_BLK_S 0xf1 /* Secondary, blk ld/st */ +#define ASI_ST_BLKINIT_MRU_P 0xf2 /* (NG4) init-store, twin load, + * Most-Recently-Used, primary, + * implicit + */ +#define ASI_ST_BLKINIT_MRU_S 0xf3 /* (NG4) init-store, twin load, + * Most-Recently-Used, secondary, + * implicit + */ +#define ASI_BLK_PL 0xf8 /* Primary, blk ld/st, little */ +#define ASI_BLK_SL 0xf9 /* Secondary, blk ld/st, little */ +#define ASI_ST_BLKINIT_MRU_PL 0xfa /* (NG4) init-store, twin load, + * Most-Recently-Used, primary, + * implicit, little-endian + */ +#define ASI_ST_BLKINIT_MRU_SL 0xfb /* (NG4) init-store, twin load, + * Most-Recently-Used, secondary, + * implicit, little-endian + */ + +#endif /* _SPARC_ASI_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/auxvec.h new file mode 100644 index 00000000..22b085e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/auxvec.h @@ -0,0 +1,15 @@ +#ifndef __ASMSPARC_AUXVEC_H +#define __ASMSPARC_AUXVEC_H + +#define AT_SYSINFO_EHDR 33 + +/* Avoid overlap with other AT_* values since they are consolidated in + * glibc and any overlaps can cause problems + */ +#define AT_ADI_BLKSZ 48 +#define AT_ADI_NBITS 49 +#define AT_ADI_UEONADI 50 + +#define AT_VECTOR_SIZE_ARCH 4 + +#endif /* !(__ASMSPARC_AUXVEC_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..72f34c1b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/bitsperlong.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_ALPHA_BITSPERLONG_H +#define __ASM_ALPHA_BITSPERLONG_H + +#if defined(__sparc__) && defined(__arch64__) +#define __BITS_PER_LONG 64 +#else +#define __BITS_PER_LONG 32 +#endif + +#include + +#endif /* __ASM_ALPHA_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/byteorder.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/byteorder.h new file mode 100644 index 00000000..d0a5ae19 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/byteorder.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_BYTEORDER_H +#define _SPARC_BYTEORDER_H + +#include + +#endif /* _SPARC_BYTEORDER_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/display7seg.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/display7seg.h new file mode 100644 index 00000000..921368c0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/display7seg.h @@ -0,0 +1,80 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * + * display7seg - Driver interface for the 7-segment display + * present on Sun Microsystems CP1400 and CP1500 + * + * Copyright (c) 2000 Eric Brower + * + */ + +#ifndef __display7seg_h__ +#define __display7seg_h__ + +#define D7S_IOC 'p' + +#define D7SIOCRD _IOR(D7S_IOC, 0x45, int) /* Read device state */ +#define D7SIOCWR _IOW(D7S_IOC, 0x46, int) /* Write device state */ +#define D7SIOCTM _IO (D7S_IOC, 0x47) /* Translate mode (FLIP)*/ + +/* + * ioctl flag definitions + * + * POINT - Toggle decimal point (0=absent 1=present) + * ALARM - Toggle alarm LED (0=green 1=red) + * FLIP - Toggle inverted mode (0=normal 1=flipped) + * bits 0-4 - Character displayed (see definitions below) + * + * Display segments are defined as follows, + * subject to D7S_FLIP register state: + * + * a + * --- + * f| |b + * -g- + * e| |c + * --- + * d + */ + +#define D7S_POINT (1 << 7) /* Decimal point*/ +#define D7S_ALARM (1 << 6) /* Alarm LED */ +#define D7S_FLIP (1 << 5) /* Flip display */ + +#define D7S_0 0x00 /* Numerals 0-9 */ +#define D7S_1 0x01 +#define D7S_2 0x02 +#define D7S_3 0x03 +#define D7S_4 0x04 +#define D7S_5 0x05 +#define D7S_6 0x06 +#define D7S_7 0x07 +#define D7S_8 0x08 +#define D7S_9 0x09 +#define D7S_A 0x0A /* Letters A-F, H, L, P */ +#define D7S_B 0x0B +#define D7S_C 0x0C +#define D7S_D 0x0D +#define D7S_E 0x0E +#define D7S_F 0x0F +#define D7S_H 0x10 +#define D7S_E2 0x11 +#define D7S_L 0x12 +#define D7S_P 0x13 +#define D7S_SEGA 0x14 /* Individual segments */ +#define D7S_SEGB 0x15 +#define D7S_SEGC 0x16 +#define D7S_SEGD 0x17 +#define D7S_SEGE 0x18 +#define D7S_SEGF 0x19 +#define D7S_SEGG 0x1A +#define D7S_SEGABFG 0x1B /* Segment groupings */ +#define D7S_SEGCDEG 0x1C +#define D7S_SEGBCEF 0x1D +#define D7S_SEGADG 0x1E +#define D7S_BLANK 0x1F /* Clear all segments */ + +#define D7S_MIN_VAL 0x0 +#define D7S_MAX_VAL 0x1F + +#endif /* ifndef __display7seg_h__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/envctrl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/envctrl.h new file mode 100644 index 00000000..7927c420 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/envctrl.h @@ -0,0 +1,104 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * + * envctrl.h: Definitions for access to the i2c environment + * monitoring on Ultrasparc systems. + * + * Copyright (C) 1998 Eddie C. Dost (ecd@skynet.be) + * Copyright (C) 2000 Vinh Truong (vinh.truong@eng.sun.com) + * VT - Add all ioctl commands and environment status definitions + * VT - Add application note + */ +#ifndef _SPARC64_ENVCTRL_H +#define _SPARC64_ENVCTRL_H 1 + +#include + +/* Application note: + * + * The driver supports 4 operations: open(), close(), ioctl(), read() + * The device name is /dev/envctrl. + * Below is sample usage: + * + * fd = open("/dev/envtrl", O_RDONLY); + * if (ioctl(fd, ENVCTRL_READ_SHUTDOWN_TEMPERATURE, 0) < 0) + * printf("error\n"); + * ret = read(fd, buf, 10); + * close(fd); + * + * Notice in the case of cpu voltage and temperature, the default is + * cpu0. If we need to know the info of cpu1, cpu2, cpu3, we need to + * pass in cpu number in ioctl() last parameter. For example, to + * get the voltage of cpu2: + * + * ioctlbuf[0] = 2; + * if (ioctl(fd, ENVCTRL_READ_CPU_VOLTAGE, ioctlbuf) < 0) + * printf("error\n"); + * ret = read(fd, buf, 10); + * + * All the return values are in ascii. So check read return value + * and do appropriate conversions in your application. + */ + +/* IOCTL commands */ + +/* Note: these commands reflect possible monitor features. + * Some boards choose to support some of the features only. + */ +#define ENVCTRL_RD_CPU_TEMPERATURE _IOR('p', 0x40, int) +#define ENVCTRL_RD_CPU_VOLTAGE _IOR('p', 0x41, int) +#define ENVCTRL_RD_FAN_STATUS _IOR('p', 0x42, int) +#define ENVCTRL_RD_WARNING_TEMPERATURE _IOR('p', 0x43, int) +#define ENVCTRL_RD_SHUTDOWN_TEMPERATURE _IOR('p', 0x44, int) +#define ENVCTRL_RD_VOLTAGE_STATUS _IOR('p', 0x45, int) +#define ENVCTRL_RD_SCSI_TEMPERATURE _IOR('p', 0x46, int) +#define ENVCTRL_RD_ETHERNET_TEMPERATURE _IOR('p', 0x47, int) +#define ENVCTRL_RD_MTHRBD_TEMPERATURE _IOR('p', 0x48, int) + +#define ENVCTRL_RD_GLOBALADDRESS _IOR('p', 0x49, int) + +/* Read return values for a voltage status request. */ +#define ENVCTRL_VOLTAGE_POWERSUPPLY_GOOD 0x01 +#define ENVCTRL_VOLTAGE_BAD 0x02 +#define ENVCTRL_POWERSUPPLY_BAD 0x03 +#define ENVCTRL_VOLTAGE_POWERSUPPLY_BAD 0x04 + +/* Read return values for a fan status request. + * A failure match means either the fan fails or + * the fan is not connected. Some boards have optional + * connectors to connect extra fans. + * + * There are maximum 8 monitor fans. Some are cpu fans + * some are system fans. The mask below only indicates + * fan by order number. + * Below is a sample application: + * + * if (ioctl(fd, ENVCTRL_READ_FAN_STATUS, 0) < 0) { + * printf("ioctl fan failed\n"); + * } + * if (read(fd, rslt, 1) <= 0) { + * printf("error or fan not monitored\n"); + * } else { + * if (rslt[0] == ENVCTRL_ALL_FANS_GOOD) { + * printf("all fans good\n"); + * } else if (rslt[0] == ENVCTRL_ALL_FANS_BAD) { + * printf("all fans bad\n"); + * } else { + * if (rslt[0] & ENVCTRL_FAN0_FAILURE_MASK) { + * printf("fan 0 failed or not connected\n"); + * } + * ...... + */ + +#define ENVCTRL_ALL_FANS_GOOD 0x00 +#define ENVCTRL_FAN0_FAILURE_MASK 0x01 +#define ENVCTRL_FAN1_FAILURE_MASK 0x02 +#define ENVCTRL_FAN2_FAILURE_MASK 0x04 +#define ENVCTRL_FAN3_FAILURE_MASK 0x08 +#define ENVCTRL_FAN4_FAILURE_MASK 0x10 +#define ENVCTRL_FAN5_FAILURE_MASK 0x20 +#define ENVCTRL_FAN6_FAILURE_MASK 0x40 +#define ENVCTRL_FAN7_FAILURE_MASK 0x80 +#define ENVCTRL_ALL_FANS_BAD 0xFF + +#endif /* !(_SPARC64_ENVCTRL_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/errno.h new file mode 100644 index 00000000..8d27dd14 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/errno.h @@ -0,0 +1,118 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_ERRNO_H +#define _SPARC_ERRNO_H + +/* These match the SunOS error numbering scheme. */ + +#include + +#define EWOULDBLOCK EAGAIN /* Operation would block */ +#define EINPROGRESS 36 /* Operation now in progress */ +#define EALREADY 37 /* Operation already in progress */ +#define ENOTSOCK 38 /* Socket operation on non-socket */ +#define EDESTADDRREQ 39 /* Destination address required */ +#define EMSGSIZE 40 /* Message too long */ +#define EPROTOTYPE 41 /* Protocol wrong type for socket */ +#define ENOPROTOOPT 42 /* Protocol not available */ +#define EPROTONOSUPPORT 43 /* Protocol not supported */ +#define ESOCKTNOSUPPORT 44 /* Socket type not supported */ +#define EOPNOTSUPP 45 /* Op not supported on transport endpoint */ +#define EPFNOSUPPORT 46 /* Protocol family not supported */ +#define EAFNOSUPPORT 47 /* Address family not supported by protocol */ +#define EADDRINUSE 48 /* Address already in use */ +#define EADDRNOTAVAIL 49 /* Cannot assign requested address */ +#define ENETDOWN 50 /* Network is down */ +#define ENETUNREACH 51 /* Network is unreachable */ +#define ENETRESET 52 /* Net dropped connection because of reset */ +#define ECONNABORTED 53 /* Software caused connection abort */ +#define ECONNRESET 54 /* Connection reset by peer */ +#define ENOBUFS 55 /* No buffer space available */ +#define EISCONN 56 /* Transport endpoint is already connected */ +#define ENOTCONN 57 /* Transport endpoint is not connected */ +#define ESHUTDOWN 58 /* No send after transport endpoint shutdown */ +#define ETOOMANYREFS 59 /* Too many references: cannot splice */ +#define ETIMEDOUT 60 /* Connection timed out */ +#define ECONNREFUSED 61 /* Connection refused */ +#define ELOOP 62 /* Too many symbolic links encountered */ +#define ENAMETOOLONG 63 /* File name too long */ +#define EHOSTDOWN 64 /* Host is down */ +#define EHOSTUNREACH 65 /* No route to host */ +#define ENOTEMPTY 66 /* Directory not empty */ +#define EPROCLIM 67 /* SUNOS: Too many processes */ +#define EUSERS 68 /* Too many users */ +#define EDQUOT 69 /* Quota exceeded */ +#define ESTALE 70 /* Stale file handle */ +#define EREMOTE 71 /* Object is remote */ +#define ENOSTR 72 /* Device not a stream */ +#define ETIME 73 /* Timer expired */ +#define ENOSR 74 /* Out of streams resources */ +#define ENOMSG 75 /* No message of desired type */ +#define EBADMSG 76 /* Not a data message */ +#define EIDRM 77 /* Identifier removed */ +#define EDEADLK 78 /* Resource deadlock would occur */ +#define ENOLCK 79 /* No record locks available */ +#define ENONET 80 /* Machine is not on the network */ +#define ERREMOTE 81 /* SunOS: Too many lvls of remote in path */ +#define ENOLINK 82 /* Link has been severed */ +#define EADV 83 /* Advertise error */ +#define ESRMNT 84 /* Srmount error */ +#define ECOMM 85 /* Communication error on send */ +#define EPROTO 86 /* Protocol error */ +#define EMULTIHOP 87 /* Multihop attempted */ +#define EDOTDOT 88 /* RFS specific error */ +#define EREMCHG 89 /* Remote address changed */ +#define ENOSYS 90 /* Function not implemented */ + +/* The rest have no SunOS equivalent. */ +#define ESTRPIPE 91 /* Streams pipe error */ +#define EOVERFLOW 92 /* Value too large for defined data type */ +#define EBADFD 93 /* File descriptor in bad state */ +#define ECHRNG 94 /* Channel number out of range */ +#define EL2NSYNC 95 /* Level 2 not synchronized */ +#define EL3HLT 96 /* Level 3 halted */ +#define EL3RST 97 /* Level 3 reset */ +#define ELNRNG 98 /* Link number out of range */ +#define EUNATCH 99 /* Protocol driver not attached */ +#define ENOCSI 100 /* No CSI structure available */ +#define EL2HLT 101 /* Level 2 halted */ +#define EBADE 102 /* Invalid exchange */ +#define EBADR 103 /* Invalid request descriptor */ +#define EXFULL 104 /* Exchange full */ +#define ENOANO 105 /* No anode */ +#define EBADRQC 106 /* Invalid request code */ +#define EBADSLT 107 /* Invalid slot */ +#define EDEADLOCK 108 /* File locking deadlock error */ +#define EBFONT 109 /* Bad font file format */ +#define ELIBEXEC 110 /* Cannot exec a shared library directly */ +#define ENODATA 111 /* No data available */ +#define ELIBBAD 112 /* Accessing a corrupted shared library */ +#define ENOPKG 113 /* Package not installed */ +#define ELIBACC 114 /* Can not access a needed shared library */ +#define ENOTUNIQ 115 /* Name not unique on network */ +#define ERESTART 116 /* Interrupted syscall should be restarted */ +#define EUCLEAN 117 /* Structure needs cleaning */ +#define ENOTNAM 118 /* Not a XENIX named type file */ +#define ENAVAIL 119 /* No XENIX semaphores available */ +#define EISNAM 120 /* Is a named type file */ +#define EREMOTEIO 121 /* Remote I/O error */ +#define EILSEQ 122 /* Illegal byte sequence */ +#define ELIBMAX 123 /* Atmpt to link in too many shared libs */ +#define ELIBSCN 124 /* .lib section in a.out corrupted */ + +#define ENOMEDIUM 125 /* No medium found */ +#define EMEDIUMTYPE 126 /* Wrong medium type */ +#define ECANCELED 127 /* Operation Cancelled */ +#define ENOKEY 128 /* Required key not available */ +#define EKEYEXPIRED 129 /* Key has expired */ +#define EKEYREVOKED 130 /* Key has been revoked */ +#define EKEYREJECTED 131 /* Key was rejected by service */ + +/* for robust mutexes */ +#define EOWNERDEAD 132 /* Owner died */ +#define ENOTRECOVERABLE 133 /* State not recoverable */ + +#define ERFKILL 134 /* Operation not possible due to RF-kill */ + +#define EHWPOISON 135 /* Memory page has hardware error */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fbio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fbio.h new file mode 100644 index 00000000..ebdcbec6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fbio.h @@ -0,0 +1,258 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __LINUX_FBIO_H +#define __LINUX_FBIO_H + + +#include + +/* Constants used for fbio SunOS compatibility */ +/* (C) 1996 Miguel de Icaza */ + +/* Frame buffer types */ +#define FBTYPE_NOTYPE -1 +#define FBTYPE_SUN1BW 0 /* mono */ +#define FBTYPE_SUN1COLOR 1 +#define FBTYPE_SUN2BW 2 +#define FBTYPE_SUN2COLOR 3 +#define FBTYPE_SUN2GP 4 +#define FBTYPE_SUN5COLOR 5 +#define FBTYPE_SUN3COLOR 6 +#define FBTYPE_MEMCOLOR 7 +#define FBTYPE_SUN4COLOR 8 + +#define FBTYPE_NOTSUN1 9 +#define FBTYPE_NOTSUN2 10 +#define FBTYPE_NOTSUN3 11 + +#define FBTYPE_SUNFAST_COLOR 12 /* cg6 */ +#define FBTYPE_SUNROP_COLOR 13 +#define FBTYPE_SUNFB_VIDEO 14 +#define FBTYPE_SUNGIFB 15 +#define FBTYPE_SUNGPLAS 16 +#define FBTYPE_SUNGP3 17 +#define FBTYPE_SUNGT 18 +#define FBTYPE_SUNLEO 19 /* zx Leo card */ +#define FBTYPE_MDICOLOR 20 /* cg14 */ +#define FBTYPE_TCXCOLOR 21 /* SUNW,tcx card */ + +#define FBTYPE_LASTPLUSONE 21 /* This is not last + 1 in fact... */ + +/* Does not seem to be listed in the Sun file either */ +#define FBTYPE_CREATOR 22 +#define FBTYPE_PCI_IGA1682 23 +#define FBTYPE_P9100COLOR 24 + +#define FBTYPE_PCI_GENERIC 1000 +#define FBTYPE_PCI_MACH64 1001 + +/* fbio ioctls */ +/* Returned by FBIOGTYPE */ +struct fbtype { + int fb_type; /* fb type, see above */ + int fb_height; /* pixels */ + int fb_width; /* pixels */ + int fb_depth; + int fb_cmsize; /* color map entries */ + int fb_size; /* fb size in bytes */ +}; +#define FBIOGTYPE _IOR('F', 0, struct fbtype) + +struct fbcmap { + int index; /* first element (0 origin) */ + int count; + unsigned char *red; + unsigned char *green; + unsigned char *blue; +}; + +#define FBIOPUTCMAP _IOW('F', 3, struct fbcmap) +#define FBIOGETCMAP _IOW('F', 4, struct fbcmap) + +/* # of device specific values */ +#define FB_ATTR_NDEVSPECIFIC 8 +/* # of possible emulations */ +#define FB_ATTR_NEMUTYPES 4 + +struct fbsattr { + int flags; + int emu_type; /* -1 if none */ + int dev_specific[FB_ATTR_NDEVSPECIFIC]; +}; + +struct fbgattr { + int real_type; /* real frame buffer type */ + int owner; /* unknown */ + struct fbtype fbtype; /* real frame buffer fbtype */ + struct fbsattr sattr; + int emu_types[FB_ATTR_NEMUTYPES]; /* supported emulations */ +}; +#define FBIOSATTR _IOW('F', 5, struct fbgattr) /* Unsupported: */ +#define FBIOGATTR _IOR('F', 6, struct fbgattr) /* supported */ + +#define FBIOSVIDEO _IOW('F', 7, int) +#define FBIOGVIDEO _IOR('F', 8, int) + +struct fbcursor { + short set; /* what to set, choose from the list above */ + short enable; /* cursor on/off */ + struct fbcurpos pos; /* cursor position */ + struct fbcurpos hot; /* cursor hot spot */ + struct fbcmap cmap; /* color map info */ + struct fbcurpos size; /* cursor bit map size */ + char *image; /* cursor image bits */ + char *mask; /* cursor mask bits */ +}; + +/* set/get cursor attributes/shape */ +#define FBIOSCURSOR _IOW('F', 24, struct fbcursor) +#define FBIOGCURSOR _IOWR('F', 25, struct fbcursor) + +/* set/get cursor position */ +#define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) +#define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) + +/* get max cursor size */ +#define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) + +/* wid manipulation */ +struct fb_wid_alloc { +#define FB_WID_SHARED_8 0 +#define FB_WID_SHARED_24 1 +#define FB_WID_DBL_8 2 +#define FB_WID_DBL_24 3 + __u32 wa_type; + __s32 wa_index; /* Set on return */ + __u32 wa_count; +}; +struct fb_wid_item { + __u32 wi_type; + __s32 wi_index; + __u32 wi_attrs; + __u32 wi_values[32]; +}; +struct fb_wid_list { + __u32 wl_flags; + __u32 wl_count; + struct fb_wid_item *wl_list; +}; + +#define FBIO_WID_ALLOC _IOWR('F', 30, struct fb_wid_alloc) +#define FBIO_WID_FREE _IOW('F', 31, struct fb_wid_alloc) +#define FBIO_WID_PUT _IOW('F', 32, struct fb_wid_list) +#define FBIO_WID_GET _IOWR('F', 33, struct fb_wid_list) + +/* Creator ioctls */ +#define FFB_IOCTL ('F'<<8) +#define FFB_SYS_INFO (FFB_IOCTL|80) +#define FFB_CLUTREAD (FFB_IOCTL|81) +#define FFB_CLUTPOST (FFB_IOCTL|82) +#define FFB_SETDIAGMODE (FFB_IOCTL|83) +#define FFB_GETMONITORID (FFB_IOCTL|84) +#define FFB_GETVIDEOMODE (FFB_IOCTL|85) +#define FFB_SETVIDEOMODE (FFB_IOCTL|86) +#define FFB_SETSERVER (FFB_IOCTL|87) +#define FFB_SETOVCTL (FFB_IOCTL|88) +#define FFB_GETOVCTL (FFB_IOCTL|89) +#define FFB_GETSAXNUM (FFB_IOCTL|90) +#define FFB_FBDEBUG (FFB_IOCTL|91) + +/* Cg14 ioctls */ +#define MDI_IOCTL ('M'<<8) +#define MDI_RESET (MDI_IOCTL|1) +#define MDI_GET_CFGINFO (MDI_IOCTL|2) +#define MDI_SET_PIXELMODE (MDI_IOCTL|3) +# define MDI_32_PIX 32 +# define MDI_16_PIX 16 +# define MDI_8_PIX 8 + +struct mdi_cfginfo { + int mdi_ncluts; /* Number of implemented CLUTs in this MDI */ + int mdi_type; /* FBTYPE name */ + int mdi_height; /* height */ + int mdi_width; /* width */ + int mdi_size; /* available ram */ + int mdi_mode; /* 8bpp, 16bpp or 32bpp */ + int mdi_pixfreq; /* pixel clock (from PROM) */ +}; + +/* SparcLinux specific ioctl for the MDI, should be replaced for + * the SET_XLUT/SET_CLUTn ioctls instead + */ +#define MDI_CLEAR_XLUT (MDI_IOCTL|9) + +/* leo & ffb ioctls */ +struct fb_clut_alloc { + __u32 clutid; /* Set on return */ + __u32 flag; + __u32 index; +}; + +struct fb_clut { +#define FB_CLUT_WAIT 0x00000001 /* Not yet implemented */ + __u32 flag; + __u32 clutid; + __u32 offset; + __u32 count; + char * red; + char * green; + char * blue; +}; + +struct fb_clut32 { + __u32 flag; + __u32 clutid; + __u32 offset; + __u32 count; + __u32 red; + __u32 green; + __u32 blue; +}; + +#define LEO_CLUTALLOC _IOWR('L', 53, struct fb_clut_alloc) +#define LEO_CLUTFREE _IOW('L', 54, struct fb_clut_alloc) +#define LEO_CLUTREAD _IOW('L', 55, struct fb_clut) +#define LEO_CLUTPOST _IOW('L', 56, struct fb_clut) +#define LEO_SETGAMMA _IOW('L', 68, int) /* Not yet implemented */ +#define LEO_GETGAMMA _IOR('L', 69, int) /* Not yet implemented */ + + +/* These are exported to userland for applications to use */ +/* Mappable offsets for the cg14: control registers */ +#define MDI_DIRECT_MAP 0x10000000 +#define MDI_CTLREG_MAP 0x20000000 +#define MDI_CURSOR_MAP 0x30000000 +#define MDI_SHDW_VRT_MAP 0x40000000 + +/* Mappable offsets for the cg14: frame buffer resolutions */ +/* 32 bits */ +#define MDI_CHUNKY_XBGR_MAP 0x50000000 +#define MDI_CHUNKY_BGR_MAP 0x60000000 + +/* 16 bits */ +#define MDI_PLANAR_X16_MAP 0x70000000 +#define MDI_PLANAR_C16_MAP 0x80000000 + +/* 8 bit is done as CG3 MMAP offset */ +/* 32 bits, planar */ +#define MDI_PLANAR_X32_MAP 0x90000000 +#define MDI_PLANAR_B32_MAP 0xa0000000 +#define MDI_PLANAR_G32_MAP 0xb0000000 +#define MDI_PLANAR_R32_MAP 0xc0000000 + +/* Mappable offsets on leo */ +#define LEO_SS0_MAP 0x00000000 +#define LEO_LC_SS0_USR_MAP 0x00800000 +#define LEO_LD_SS0_MAP 0x00801000 +#define LEO_LX_CURSOR_MAP 0x00802000 +#define LEO_SS1_MAP 0x00803000 +#define LEO_LC_SS1_USR_MAP 0x01003000 +#define LEO_LD_SS1_MAP 0x01004000 +#define LEO_UNK_MAP 0x01005000 +#define LEO_LX_KRN_MAP 0x01006000 +#define LEO_LC_SS0_KRN_MAP 0x01007000 +#define LEO_LC_SS1_KRN_MAP 0x01008000 +#define LEO_LD_GBL_MAP 0x01009000 +#define LEO_UNK2_MAP 0x0100a000 + + +#endif /* __LINUX_FBIO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fcntl.h new file mode 100644 index 00000000..7e380a8f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/fcntl.h @@ -0,0 +1,57 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_FCNTL_H +#define _SPARC_FCNTL_H + +#define O_APPEND 0x0008 +#define FASYNC 0x0040 /* fcntl, for BSD compatibility */ +#define O_CREAT 0x0200 /* not fcntl */ +#define O_TRUNC 0x0400 /* not fcntl */ +#define O_EXCL 0x0800 /* not fcntl */ +#define O_DSYNC 0x2000 /* used to be O_SYNC, see below */ +#define O_NONBLOCK 0x4000 +#if defined(__sparc__) && defined(__arch64__) +#define O_NDELAY 0x0004 +#else +#define O_NDELAY (0x0004 | O_NONBLOCK) +#endif +#define O_NOCTTY 0x8000 /* not fcntl */ +#define O_LARGEFILE 0x40000 +#define O_DIRECT 0x100000 /* direct disk access hint */ +#define O_NOATIME 0x200000 +#define O_CLOEXEC 0x400000 +/* + * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using + * the O_SYNC flag. We continue to use the existing numerical value + * for O_DSYNC semantics now, but using the correct symbolic name for it. + * This new value is used to request true Posix O_SYNC semantics. It is + * defined in this strange way to make sure applications compiled against + * new headers get at least O_DSYNC semantics on older kernels. + * + * This has the nice side-effect that we can simply test for O_DSYNC + * wherever we do not care if O_DSYNC or O_SYNC is used. + * + * Note: __O_SYNC must never be used directly. + */ +#define __O_SYNC 0x800000 +#define O_SYNC (__O_SYNC|O_DSYNC) + +#define O_PATH 0x1000000 +#define __O_TMPFILE 0x2000000 + +#define F_GETOWN 5 /* for sockets. */ +#define F_SETOWN 6 /* for sockets. */ +#define F_GETLK 7 +#define F_SETLK 8 +#define F_SETLKW 9 + +/* for posix fcntl() and lockf() */ +#define F_RDLCK 1 +#define F_WRLCK 2 +#define F_UNLCK 3 + +#define __ARCH_FLOCK_PAD short __unused; +#define __ARCH_FLOCK64_PAD short __unused; + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctl.h new file mode 100644 index 00000000..6ddb77bb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctl.h @@ -0,0 +1,68 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_IOCTL_H +#define _SPARC_IOCTL_H + +/* + * Our DIR and SIZE overlap in order to simulteneously provide + * a non-zero _IOC_NONE (for binary compatibility) and + * 14 bits of size as on i386. Here's the layout: + * + * 0xE0000000 DIR + * 0x80000000 DIR = WRITE + * 0x40000000 DIR = READ + * 0x20000000 DIR = NONE + * 0x3FFF0000 SIZE (overlaps NONE bit) + * 0x0000FF00 TYPE + * 0x000000FF NR (CMD) + */ + +#define _IOC_NRBITS 8 +#define _IOC_TYPEBITS 8 +#define _IOC_SIZEBITS 13 /* Actually 14, see below. */ +#define _IOC_DIRBITS 3 + +#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1) +#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1) +#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1) +#define _IOC_XSIZEMASK ((1 << (_IOC_SIZEBITS+1))-1) +#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1) + +#define _IOC_NRSHIFT 0 +#define _IOC_TYPESHIFT (_IOC_NRSHIFT + _IOC_NRBITS) +#define _IOC_SIZESHIFT (_IOC_TYPESHIFT + _IOC_TYPEBITS) +#define _IOC_DIRSHIFT (_IOC_SIZESHIFT + _IOC_SIZEBITS) + +#define _IOC_NONE 1U +#define _IOC_READ 2U +#define _IOC_WRITE 4U + +#define _IOC(dir,type,nr,size) \ + (((dir) << _IOC_DIRSHIFT) | \ + ((type) << _IOC_TYPESHIFT) | \ + ((nr) << _IOC_NRSHIFT) | \ + ((size) << _IOC_SIZESHIFT)) + +#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0) +#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size)) +#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size)) +#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size)) + +/* Used to decode ioctl numbers in drivers despite the leading underscore... */ +#define _IOC_DIR(nr) \ + ( (((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) != 0)? \ + (((nr) >> _IOC_DIRSHIFT) & (_IOC_WRITE|_IOC_READ)): \ + (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) ) +#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) +#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) +#define _IOC_SIZE(nr) \ + ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)? \ + 0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK)) + +/* ...and for the PCMCIA and sound. */ +#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) +#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT) +#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT) +#define IOCSIZE_MASK (_IOC_XSIZEMASK << _IOC_SIZESHIFT) +#define IOCSIZE_SHIFT (_IOC_SIZESHIFT) + +#endif /* !(_SPARC_IOCTL_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctls.h new file mode 100644 index 00000000..9bae8491 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ioctls.h @@ -0,0 +1,140 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_SPARC_IOCTLS_H +#define _ASM_SPARC_IOCTLS_H + +#include + +/* Big T */ +#define TCGETA _IOR('T', 1, struct termio) +#define TCSETA _IOW('T', 2, struct termio) +#define TCSETAW _IOW('T', 3, struct termio) +#define TCSETAF _IOW('T', 4, struct termio) +#define TCSBRK _IO('T', 5) +#define TCXONC _IO('T', 6) +#define TCFLSH _IO('T', 7) +#define TCGETS _IOR('T', 8, struct termios) +#define TCSETS _IOW('T', 9, struct termios) +#define TCSETSW _IOW('T', 10, struct termios) +#define TCSETSF _IOW('T', 11, struct termios) +#define TCGETS2 _IOR('T', 12, struct termios2) +#define TCSETS2 _IOW('T', 13, struct termios2) +#define TCSETSW2 _IOW('T', 14, struct termios2) +#define TCSETSF2 _IOW('T', 15, struct termios2) +#define TIOCGDEV _IOR('T',0x32, unsigned int) /* Get primary device node of /dev/console */ +#define TIOCVHANGUP _IO('T', 0x37) +#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */ +#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */ +#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */ +#define TIOCGRS485 _IOR('T', 0x41, struct serial_rs485) +#define TIOCSRS485 _IOWR('T', 0x42, struct serial_rs485) +#define TIOCGISO7816 _IOR('T', 0x43, struct serial_iso7816) +#define TIOCSISO7816 _IOWR('T', 0x44, struct serial_iso7816) + +/* Note that all the ioctls that are not available in Linux have a + * double underscore on the front to: a) avoid some programs to + * think we support some ioctls under Linux (autoconfiguration stuff) + */ +/* Little t */ +#define TIOCGETD _IOR('t', 0, int) +#define TIOCSETD _IOW('t', 1, int) +#define __TIOCHPCL _IO('t', 2) /* SunOS Specific */ +#define __TIOCMODG _IOR('t', 3, int) /* SunOS Specific */ +#define __TIOCMODS _IOW('t', 4, int) /* SunOS Specific */ +#define __TIOCGETP _IOR('t', 8, struct sgttyb) /* SunOS Specific */ +#define __TIOCSETP _IOW('t', 9, struct sgttyb) /* SunOS Specific */ +#define __TIOCSETN _IOW('t', 10, struct sgttyb) /* SunOS Specific */ +#define TIOCEXCL _IO('t', 13) +#define TIOCNXCL _IO('t', 14) +#define __TIOCFLUSH _IOW('t', 16, int) /* SunOS Specific */ +#define __TIOCSETC _IOW('t', 17, struct tchars) /* SunOS Specific */ +#define __TIOCGETC _IOR('t', 18, struct tchars) /* SunOS Specific */ +#define __TIOCTCNTL _IOW('t', 32, int) /* SunOS Specific */ +#define __TIOCSIGNAL _IOW('t', 33, int) /* SunOS Specific */ +#define __TIOCSETX _IOW('t', 34, int) /* SunOS Specific */ +#define __TIOCGETX _IOR('t', 35, int) /* SunOS Specific */ +#define TIOCCONS _IO('t', 36) +#define TIOCGSOFTCAR _IOR('t', 100, int) +#define TIOCSSOFTCAR _IOW('t', 101, int) +#define __TIOCUCNTL _IOW('t', 102, int) /* SunOS Specific */ +#define TIOCSWINSZ _IOW('t', 103, struct winsize) +#define TIOCGWINSZ _IOR('t', 104, struct winsize) +#define __TIOCREMOTE _IOW('t', 105, int) /* SunOS Specific */ +#define TIOCMGET _IOR('t', 106, int) +#define TIOCMBIC _IOW('t', 107, int) +#define TIOCMBIS _IOW('t', 108, int) +#define TIOCMSET _IOW('t', 109, int) +#define TIOCSTART _IO('t', 110) +#define TIOCSTOP _IO('t', 111) +#define TIOCPKT _IOW('t', 112, int) +#define TIOCNOTTY _IO('t', 113) +#define TIOCSTI _IOW('t', 114, char) +#define TIOCOUTQ _IOR('t', 115, int) +#define __TIOCGLTC _IOR('t', 116, struct ltchars) /* SunOS Specific */ +#define __TIOCSLTC _IOW('t', 117, struct ltchars) /* SunOS Specific */ +/* 118 is the non-posix setpgrp tty ioctl */ +/* 119 is the non-posix getpgrp tty ioctl */ +#define __TIOCCDTR _IO('t', 120) /* SunOS Specific */ +#define __TIOCSDTR _IO('t', 121) /* SunOS Specific */ +#define TIOCCBRK _IO('t', 122) +#define TIOCSBRK _IO('t', 123) +#define __TIOCLGET _IOW('t', 124, int) /* SunOS Specific */ +#define __TIOCLSET _IOW('t', 125, int) /* SunOS Specific */ +#define __TIOCLBIC _IOW('t', 126, int) /* SunOS Specific */ +#define __TIOCLBIS _IOW('t', 127, int) /* SunOS Specific */ +#define __TIOCISPACE _IOR('t', 128, int) /* SunOS Specific */ +#define __TIOCISIZE _IOR('t', 129, int) /* SunOS Specific */ +#define TIOCSPGRP _IOW('t', 130, int) +#define TIOCGPGRP _IOR('t', 131, int) +#define TIOCSCTTY _IO('t', 132) +#define TIOCGSID _IOR('t', 133, int) +/* Get minor device of a pty master's FD -- Solaris equiv is ISPTM */ +#define TIOCGPTN _IOR('t', 134, unsigned int) /* Get Pty Number */ +#define TIOCSPTLCK _IOW('t', 135, int) /* Lock/unlock PTY */ +#define TIOCSIG _IOW('t', 136, int) /* Generate signal on Pty slave */ +#define TIOCGPTPEER _IO('t', 137) /* Safely open the slave */ + +/* Little f */ +#define FIOCLEX _IO('f', 1) +#define FIONCLEX _IO('f', 2) +#define FIOASYNC _IOW('f', 125, int) +#define FIONBIO _IOW('f', 126, int) +#define FIONREAD _IOR('f', 127, int) +#define TIOCINQ FIONREAD +#define FIOQSIZE _IOR('f', 128, loff_t) + +/* SCARY Rutgers local SunOS kernel hackery, perhaps I will support it + * someday. This is completely bogus, I know... + */ +#define __TCGETSTAT _IO('T', 200) /* Rutgers specific */ +#define __TCSETSTAT _IO('T', 201) /* Rutgers specific */ + +/* Linux specific, no SunOS equivalent. */ +#define TIOCLINUX 0x541C +#define TIOCGSERIAL 0x541E +#define TIOCSSERIAL 0x541F +#define TCSBRKP 0x5425 +#define TIOCSERCONFIG 0x5453 +#define TIOCSERGWILD 0x5454 +#define TIOCSERSWILD 0x5455 +#define TIOCGLCKTRMIOS 0x5456 +#define TIOCSLCKTRMIOS 0x5457 +#define TIOCSERGSTRUCT 0x5458 /* For debugging only */ +#define TIOCSERGETLSR 0x5459 /* Get line status register */ +#define TIOCSERGETMULTI 0x545A /* Get multiport config */ +#define TIOCSERSETMULTI 0x545B /* Set multiport config */ +#define TIOCMIWAIT 0x545C /* Wait for change on serial input line(s) */ +#define TIOCGICOUNT 0x545D /* Read serial port __inline__ interrupt counts */ + +/* Kernel definitions */ + +/* Used for packet mode */ +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 +#define TIOCPKT_IOCTL 64 + +#endif /* _ASM_SPARC_IOCTLS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ipcbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ipcbuf.h new file mode 100644 index 00000000..4fd7e4d0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ipcbuf.h @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_IPCBUF_H +#define __SPARC_IPCBUF_H + +#include + +/* + * The ipc64_perm structure for sparc/sparc64 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 32-bit seq + * - on sparc for 32 bit mode (it is 32 bit on sparc64) + * - 2 miscellaneous 64-bit values + */ + +struct ipc64_perm +{ + __kernel_key_t key; + __kernel_uid32_t uid; + __kernel_gid32_t gid; + __kernel_uid32_t cuid; + __kernel_gid32_t cgid; +#ifndef __arch64__ + unsigned short __pad0; +#endif + __kernel_mode_t mode; + unsigned short __pad1; + unsigned short seq; + unsigned long long __unused1; + unsigned long long __unused2; +}; + +#endif /* __SPARC_IPCBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/mman.h new file mode 100644 index 00000000..13115777 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/mman.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_MMAN_H__ +#define __SPARC_MMAN_H__ + +#include + +/* SunOS'ified... */ + +#define PROT_ADI 0x10 /* ADI enabled */ + +#define MAP_RENAME MAP_ANONYMOUS /* In SunOS terminology */ +#define MAP_NORESERVE 0x40 /* don't reserve swap pages */ +#define MAP_INHERIT 0x80 /* SunOS doesn't do this, but... */ +#define MAP_LOCKED 0x100 /* lock the mapping */ +#define _MAP_NEW 0x80000000 /* Binary compatibility is fun... */ + +#define MAP_GROWSDOWN 0x0200 /* stack-like segment */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */ + +#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */ +#define MCL_FUTURE 0x4000 /* lock all additions to address space */ +#define MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */ + +#endif /* __SPARC_MMAN_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/msgbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/msgbuf.h new file mode 100644 index 00000000..7c914ed4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/msgbuf.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_MSGBUF_H +#define _SPARC_MSGBUF_H + +#include + +/* + * The msqid64_ds structure for sparc64 architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous 32-bit values + */ +struct msqid64_ds { + struct ipc64_perm msg_perm; +#if defined(__sparc__) && defined(__arch64__) + long msg_stime; /* last msgsnd time */ + long msg_rtime; /* last msgrcv time */ + long msg_ctime; /* last change time */ +#else + unsigned long msg_stime_high; + unsigned long msg_stime; /* last msgsnd time */ + unsigned long msg_rtime_high; + unsigned long msg_rtime; /* last msgrcv time */ + unsigned long msg_ctime_high; + unsigned long msg_ctime; /* last change time */ +#endif + unsigned long msg_cbytes; /* current number of bytes on queue */ + unsigned long msg_qnum; /* number of messages in queue */ + unsigned long msg_qbytes; /* max number of bytes on queue */ + __kernel_pid_t msg_lspid; /* pid of last msgsnd */ + __kernel_pid_t msg_lrpid; /* last receive pid */ + unsigned long __unused1; + unsigned long __unused2; +}; +#endif /* _SPARC_MSGBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/openpromio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/openpromio.h new file mode 100644 index 00000000..fe426fe7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/openpromio.h @@ -0,0 +1,67 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_OPENPROMIO_H +#define _SPARC_OPENPROMIO_H + + +#include + +/* + * SunOS and Solaris /dev/openprom definitions. The ioctl values + * were chosen to be exactly equal to the SunOS equivalents. + */ + +struct openpromio { + unsigned int oprom_size; /* Actual size of the oprom_array. */ + char oprom_array[]; /* Holds property names and values. */ +}; + +#define OPROMMAXPARAM 4096 /* Maximum size of oprom_array. */ + +#define OPROMGETOPT 0x20004F01 +#define OPROMSETOPT 0x20004F02 +#define OPROMNXTOPT 0x20004F03 +#define OPROMSETOPT2 0x20004F04 +#define OPROMNEXT 0x20004F05 +#define OPROMCHILD 0x20004F06 +#define OPROMGETPROP 0x20004F07 +#define OPROMNXTPROP 0x20004F08 +#define OPROMU2P 0x20004F09 +#define OPROMGETCONS 0x20004F0A +#define OPROMGETFBNAME 0x20004F0B +#define OPROMGETBOOTARGS 0x20004F0C +/* Linux extensions */ /* Arguments in oprom_array: */ +#define OPROMSETCUR 0x20004FF0 /* int node - Sets current node */ +#define OPROMPCI2NODE 0x20004FF1 /* int pci_bus, pci_devfn - Sets current node to PCI device's node */ +#define OPROMPATH2NODE 0x20004FF2 /* char path[] - Set current node from fully qualified PROM path */ + +/* + * Return values from OPROMGETCONS: + */ + +#define OPROMCONS_NOT_WSCONS 0 +#define OPROMCONS_STDIN_IS_KBD 0x1 /* stdin device is kbd */ +#define OPROMCONS_STDOUT_IS_FB 0x2 /* stdout is a framebuffer */ +#define OPROMCONS_OPENPROM 0x4 /* supports openboot */ + + +/* + * NetBSD/OpenBSD /dev/openprom definitions. + */ + +struct opiocdesc +{ + int op_nodeid; /* PROM Node ID (value-result) */ + int op_namelen; /* Length of op_name. */ + char *op_name; /* Pointer to the property name. */ + int op_buflen; /* Length of op_buf (value-result) */ + char *op_buf; /* Pointer to buffer. */ +}; + +#define OPIOCGET _IOWR('O', 1, struct opiocdesc) +#define OPIOCSET _IOW('O', 2, struct opiocdesc) +#define OPIOCNEXTPROP _IOWR('O', 3, struct opiocdesc) +#define OPIOCGETOPTNODE _IOR('O', 4, int) +#define OPIOCGETNEXT _IOWR('O', 5, int) +#define OPIOCGETCHILD _IOWR('O', 6, int) + +#endif /* _SPARC_OPENPROMIO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/oradax.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/oradax.h new file mode 100644 index 00000000..afba82a7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/oradax.h @@ -0,0 +1,79 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */ +/* + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. + */ + +/* + * Oracle DAX driver API definitions + */ + +#ifndef _ORADAX_H +#define _ORADAX_H + +#include + +#define CCB_KILL 0 +#define CCB_INFO 1 +#define CCB_DEQUEUE 2 + +struct dax_command { + __u16 command; /* CCB_KILL/INFO/DEQUEUE */ + __u16 ca_offset; /* offset into mmapped completion area */ +}; + +struct ccb_kill_result { + __u16 action; /* action taken to kill ccb */ +}; + +struct ccb_info_result { + __u16 state; /* state of enqueued ccb */ + __u16 inst_num; /* dax instance number of enqueued ccb */ + __u16 q_num; /* queue number of enqueued ccb */ + __u16 q_pos; /* ccb position in queue */ +}; + +struct ccb_exec_result { + __u64 status_data; /* additional status data (e.g. bad VA) */ + __u32 status; /* one of DAX_SUBMIT_* */ +}; + +union ccb_result { + struct ccb_exec_result exec; + struct ccb_info_result info; + struct ccb_kill_result kill; +}; + +#define DAX_MMAP_LEN (16 * 1024) +#define DAX_MAX_CCBS 15 +#define DAX_CCB_BUF_MAXLEN (DAX_MAX_CCBS * 64) +#define DAX_NAME "oradax" + +/* CCB_EXEC status */ +#define DAX_SUBMIT_OK 0 +#define DAX_SUBMIT_ERR_RETRY 1 +#define DAX_SUBMIT_ERR_WOULDBLOCK 2 +#define DAX_SUBMIT_ERR_BUSY 3 +#define DAX_SUBMIT_ERR_THR_INIT 4 +#define DAX_SUBMIT_ERR_ARG_INVAL 5 +#define DAX_SUBMIT_ERR_CCB_INVAL 6 +#define DAX_SUBMIT_ERR_NO_CA_AVAIL 7 +#define DAX_SUBMIT_ERR_CCB_ARR_MMU_MISS 8 +#define DAX_SUBMIT_ERR_NOMAP 9 +#define DAX_SUBMIT_ERR_NOACCESS 10 +#define DAX_SUBMIT_ERR_TOOMANY 11 +#define DAX_SUBMIT_ERR_UNAVAIL 12 +#define DAX_SUBMIT_ERR_INTERNAL 13 + +/* CCB_INFO states - must match HV_CCB_STATE_* definitions */ +#define DAX_CCB_COMPLETED 0 +#define DAX_CCB_ENQUEUED 1 +#define DAX_CCB_INPROGRESS 2 +#define DAX_CCB_NOTFOUND 3 + +/* CCB_KILL actions - must match HV_CCB_KILL_* definitions */ +#define DAX_KILL_COMPLETED 0 +#define DAX_KILL_DEQUEUED 1 +#define DAX_KILL_KILLED 2 +#define DAX_KILL_NOTFOUND 3 + +#endif /* _ORADAX_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/param.h new file mode 100644 index 00000000..d02f3085 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/param.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASMSPARC_PARAM_H +#define _ASMSPARC_PARAM_H + +#define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */ +#include + +#endif /* _ASMSPARC_PARAM_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/perfctr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/perfctr.h new file mode 100644 index 00000000..9af7d996 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/perfctr.h @@ -0,0 +1,167 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/*---------------------------------------- + PERFORMANCE INSTRUMENTATION + Guillaume Thouvenin 08/10/98 + David S. Miller 10/06/98 + ---------------------------------------*/ +#ifndef PERF_COUNTER_API +#define PERF_COUNTER_API + +/* sys_perfctr() interface. First arg is operation code + * from enumeration below. The meaning of further arguments + * are determined by the operation code. + * + * NOTE: This system call is no longer provided, use the perf_events + * infrastructure. + * + * Pointers which are passed by the user are pointers to 64-bit + * integers. + * + * Once enabled, performance counter state is retained until the + * process either exits or performs an exec. That is, performance + * counters remain enabled for fork/clone children. + */ +enum perfctr_opcode { + /* Enable UltraSparc performance counters, ARG0 is pointer + * to 64-bit accumulator for D0 counter in PIC, ARG1 is pointer + * to 64-bit accumulator for D1 counter. ARG2 is a pointer to + * the initial PCR register value to use. + */ + PERFCTR_ON, + + /* Disable UltraSparc performance counters. The PCR is written + * with zero and the user counter accumulator pointers and + * working PCR register value are forgotten. + */ + PERFCTR_OFF, + + /* Add current D0 and D1 PIC values into user pointers given + * in PERFCTR_ON operation. The PIC is cleared before returning. + */ + PERFCTR_READ, + + /* Clear the PIC register. */ + PERFCTR_CLRPIC, + + /* Begin using a new PCR value, the pointer to which is passed + * in ARG0. The PIC is also cleared after the new PCR value is + * written. + */ + PERFCTR_SETPCR, + + /* Store in pointer given in ARG0 the current PCR register value + * being used. + */ + PERFCTR_GETPCR +}; + +#define PRIV 0x00000001 +#define SYS 0x00000002 +#define USR 0x00000004 + +/* Pic.S0 Selection Bit Field Encoding, Ultra-I/II */ +#define CYCLE_CNT 0x00000000 +#define INSTR_CNT 0x00000010 +#define DISPATCH0_IC_MISS 0x00000020 +#define DISPATCH0_STOREBUF 0x00000030 +#define IC_REF 0x00000080 +#define DC_RD 0x00000090 +#define DC_WR 0x000000A0 +#define LOAD_USE 0x000000B0 +#define EC_REF 0x000000C0 +#define EC_WRITE_HIT_RDO 0x000000D0 +#define EC_SNOOP_INV 0x000000E0 +#define EC_RD_HIT 0x000000F0 + +/* Pic.S0 Selection Bit Field Encoding, Ultra-III */ +#define US3_CYCLE_CNT 0x00000000 +#define US3_INSTR_CNT 0x00000010 +#define US3_DISPATCH0_IC_MISS 0x00000020 +#define US3_DISPATCH0_BR_TGT 0x00000030 +#define US3_DISPATCH0_2ND_BR 0x00000040 +#define US3_RSTALL_STOREQ 0x00000050 +#define US3_RSTALL_IU_USE 0x00000060 +#define US3_IC_REF 0x00000080 +#define US3_DC_RD 0x00000090 +#define US3_DC_WR 0x000000a0 +#define US3_EC_REF 0x000000c0 +#define US3_EC_WR_HIT_RTO 0x000000d0 +#define US3_EC_SNOOP_INV 0x000000e0 +#define US3_EC_RD_MISS 0x000000f0 +#define US3_PC_PORT0_RD 0x00000100 +#define US3_SI_SNOOP 0x00000110 +#define US3_SI_CIQ_FLOW 0x00000120 +#define US3_SI_OWNED 0x00000130 +#define US3_SW_COUNT_0 0x00000140 +#define US3_IU_BR_MISS_TAKEN 0x00000150 +#define US3_IU_BR_COUNT_TAKEN 0x00000160 +#define US3_DISP_RS_MISPRED 0x00000170 +#define US3_FA_PIPE_COMPL 0x00000180 +#define US3_MC_READS_0 0x00000200 +#define US3_MC_READS_1 0x00000210 +#define US3_MC_READS_2 0x00000220 +#define US3_MC_READS_3 0x00000230 +#define US3_MC_STALLS_0 0x00000240 +#define US3_MC_STALLS_2 0x00000250 + +/* Pic.S1 Selection Bit Field Encoding, Ultra-I/II */ +#define CYCLE_CNT_D1 0x00000000 +#define INSTR_CNT_D1 0x00000800 +#define DISPATCH0_IC_MISPRED 0x00001000 +#define DISPATCH0_FP_USE 0x00001800 +#define IC_HIT 0x00004000 +#define DC_RD_HIT 0x00004800 +#define DC_WR_HIT 0x00005000 +#define LOAD_USE_RAW 0x00005800 +#define EC_HIT 0x00006000 +#define EC_WB 0x00006800 +#define EC_SNOOP_CB 0x00007000 +#define EC_IT_HIT 0x00007800 + +/* Pic.S1 Selection Bit Field Encoding, Ultra-III */ +#define US3_CYCLE_CNT_D1 0x00000000 +#define US3_INSTR_CNT_D1 0x00000800 +#define US3_DISPATCH0_MISPRED 0x00001000 +#define US3_IC_MISS_CANCELLED 0x00001800 +#define US3_RE_ENDIAN_MISS 0x00002000 +#define US3_RE_FPU_BYPASS 0x00002800 +#define US3_RE_DC_MISS 0x00003000 +#define US3_RE_EC_MISS 0x00003800 +#define US3_IC_MISS 0x00004000 +#define US3_DC_RD_MISS 0x00004800 +#define US3_DC_WR_MISS 0x00005000 +#define US3_RSTALL_FP_USE 0x00005800 +#define US3_EC_MISSES 0x00006000 +#define US3_EC_WB 0x00006800 +#define US3_EC_SNOOP_CB 0x00007000 +#define US3_EC_IC_MISS 0x00007800 +#define US3_RE_PC_MISS 0x00008000 +#define US3_ITLB_MISS 0x00008800 +#define US3_DTLB_MISS 0x00009000 +#define US3_WC_MISS 0x00009800 +#define US3_WC_SNOOP_CB 0x0000a000 +#define US3_WC_SCRUBBED 0x0000a800 +#define US3_WC_WB_WO_READ 0x0000b000 +#define US3_PC_SOFT_HIT 0x0000c000 +#define US3_PC_SNOOP_INV 0x0000c800 +#define US3_PC_HARD_HIT 0x0000d000 +#define US3_PC_PORT1_RD 0x0000d800 +#define US3_SW_COUNT_1 0x0000e000 +#define US3_IU_STAT_BR_MIS_UNTAKEN 0x0000e800 +#define US3_IU_STAT_BR_COUNT_UNTAKEN 0x0000f000 +#define US3_PC_MS_MISSES 0x0000f800 +#define US3_MC_WRITES_0 0x00010800 +#define US3_MC_WRITES_1 0x00011000 +#define US3_MC_WRITES_2 0x00011800 +#define US3_MC_WRITES_3 0x00012000 +#define US3_MC_STALLS_1 0x00012800 +#define US3_MC_STALLS_3 0x00013000 +#define US3_RE_RAW_MISS 0x00013800 +#define US3_FM_PIPE_COMPLETION 0x00014000 + +struct vcounter_struct { + unsigned long long vcnt0; + unsigned long long vcnt1; +}; + +#endif /* !(PERF_COUNTER_API) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/poll.h new file mode 100644 index 00000000..9b874cc9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/poll.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_POLL_H +#define __SPARC_POLL_H + +#define POLLWRNORM POLLOUT +#define POLLWRBAND 256 +#define POLLMSG 512 +#define POLLREMOVE 1024 +#define POLLRDHUP 2048 + +#include + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/posix_types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/posix_types.h new file mode 100644 index 00000000..36755806 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/posix_types.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * This file is generally used by user-level software, so you need to + * be a little careful about namespace pollution etc. Also, we cannot + * assume GCC is being used. + */ + +#ifndef __SPARC_POSIX_TYPES_H +#define __SPARC_POSIX_TYPES_H + +#if defined(__sparc__) && defined(__arch64__) +/* sparc 64 bit */ + +typedef unsigned short __kernel_old_uid_t; +typedef unsigned short __kernel_old_gid_t; +#define __kernel_old_uid_t __kernel_old_uid_t + +/* Note this piece of asymmetry from the v9 ABI. */ +typedef int __kernel_suseconds_t; +#define __kernel_suseconds_t __kernel_suseconds_t + +typedef long __kernel_long_t; +typedef unsigned long __kernel_ulong_t; +#define __kernel_long_t __kernel_long_t + +struct __kernel_old_timeval { + __kernel_long_t tv_sec; + __kernel_suseconds_t tv_usec; +}; +#define __kernel_old_timeval __kernel_old_timeval + +#else +/* sparc 32 bit */ + +typedef unsigned int __kernel_size_t; +typedef int __kernel_ssize_t; +typedef long int __kernel_ptrdiff_t; +#define __kernel_size_t __kernel_size_t + +typedef unsigned short __kernel_ipc_pid_t; +#define __kernel_ipc_pid_t __kernel_ipc_pid_t + +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; +#define __kernel_uid_t __kernel_uid_t + +typedef unsigned short __kernel_mode_t; +#define __kernel_mode_t __kernel_mode_t + +typedef long __kernel_daddr_t; +#define __kernel_daddr_t __kernel_daddr_t + +typedef unsigned short __kernel_old_dev_t; +#define __kernel_old_dev_t __kernel_old_dev_t + +#endif /* defined(__sparc__) && defined(__arch64__) */ + +#include + +#endif /* __SPARC_POSIX_TYPES_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psr.h new file mode 100644 index 00000000..287f0774 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psr.h @@ -0,0 +1,48 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * psr.h: This file holds the macros for masking off various parts of + * the processor status register on the Sparc. This is valid + * for Version 8. On the V9 this is renamed to the PSTATE + * register and its members are accessed as fields like + * PSTATE.PRIV for the current CPU privilege level. + * + * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu) + */ + +#ifndef __LINUX_SPARC_PSR_H +#define __LINUX_SPARC_PSR_H + +/* The Sparc PSR fields are laid out as the following: + * + * ------------------------------------------------------------------------ + * | impl | vers | icc | resv | EC | EF | PIL | S | PS | ET | CWP | + * | 31-28 | 27-24 | 23-20 | 19-14 | 13 | 12 | 11-8 | 7 | 6 | 5 | 4-0 | + * ------------------------------------------------------------------------ + */ +#define PSR_CWP 0x0000001f /* current window pointer */ +#define PSR_ET 0x00000020 /* enable traps field */ +#define PSR_PS 0x00000040 /* previous privilege level */ +#define PSR_S 0x00000080 /* current privilege level */ +#define PSR_PIL 0x00000f00 /* processor interrupt level */ +#define PSR_EF 0x00001000 /* enable floating point */ +#define PSR_EC 0x00002000 /* enable co-processor */ +#define PSR_SYSCALL 0x00004000 /* inside of a syscall */ +#define PSR_LE 0x00008000 /* SuperSparcII little-endian */ +#define PSR_ICC 0x00f00000 /* integer condition codes */ +#define PSR_C 0x00100000 /* carry bit */ +#define PSR_V 0x00200000 /* overflow bit */ +#define PSR_Z 0x00400000 /* zero bit */ +#define PSR_N 0x00800000 /* negative bit */ +#define PSR_VERS 0x0f000000 /* cpu-version field */ +#define PSR_IMPL 0xf0000000 /* cpu-implementation field */ + +#define PSR_VERS_SHIFT 24 +#define PSR_IMPL_SHIFT 28 +#define PSR_VERS_SHIFTED_MASK 0xf +#define PSR_IMPL_SHIFTED_MASK 0xf + +#define PSR_IMPL_TI 0x4 +#define PSR_IMPL_LEON 0xf + + +#endif /* __LINUX_SPARC_PSR_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psrcompat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psrcompat.h new file mode 100644 index 00000000..289da712 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/psrcompat.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC64_PSRCOMPAT_H +#define _SPARC64_PSRCOMPAT_H + +#include + +/* Old 32-bit PSR fields for the compatibility conversion code. */ +#define PSR_CWP 0x0000001f /* current window pointer */ +#define PSR_ET 0x00000020 /* enable traps field */ +#define PSR_PS 0x00000040 /* previous privilege level */ +#define PSR_S 0x00000080 /* current privilege level */ +#define PSR_PIL 0x00000f00 /* processor interrupt level */ +#define PSR_EF 0x00001000 /* enable floating point */ +#define PSR_EC 0x00002000 /* enable co-processor */ +#define PSR_SYSCALL 0x00004000 /* inside of a syscall */ +#define PSR_LE 0x00008000 /* SuperSparcII little-endian */ +#define PSR_ICC 0x00f00000 /* integer condition codes */ +#define PSR_C 0x00100000 /* carry bit */ +#define PSR_V 0x00200000 /* overflow bit */ +#define PSR_Z 0x00400000 /* zero bit */ +#define PSR_N 0x00800000 /* negative bit */ +#define PSR_VERS 0x0f000000 /* cpu-version field */ +#define PSR_IMPL 0xf0000000 /* cpu-implementation field */ + +#define PSR_V8PLUS 0xff000000 /* fake impl/ver, meaning a 64bit CPU is present */ +#define PSR_XCC 0x000f0000 /* if PSR_V8PLUS, this is %xcc */ + +static __inline__ unsigned int tstate_to_psr(unsigned long tstate) +{ + return ((tstate & TSTATE_CWP) | + PSR_S | + ((tstate & TSTATE_ICC) >> 12) | + ((tstate & TSTATE_XCC) >> 20) | + ((tstate & TSTATE_SYSCALL) ? PSR_SYSCALL : 0) | + PSR_V8PLUS); +} + +static __inline__ unsigned long psr_to_tstate_icc(unsigned int psr) +{ + unsigned long tstate = ((unsigned long)(psr & PSR_ICC)) << 12; + if ((psr & (PSR_VERS|PSR_IMPL)) == PSR_V8PLUS) + tstate |= ((unsigned long)(psr & PSR_XCC)) << 20; + return tstate; +} + +#endif /* !(_SPARC64_PSRCOMPAT_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/pstate.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/pstate.h new file mode 100644 index 00000000..d350bf14 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/pstate.h @@ -0,0 +1,116 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC64_PSTATE_H +#define _SPARC64_PSTATE_H + +#include + +/* The V9 PSTATE Register (with SpitFire extensions). + * + * ----------------------------------------------------------------------- + * | Resv | IG | MG | CLE | TLE | MM | RED | PEF | AM | PRIV | IE | AG | + * ----------------------------------------------------------------------- + * 63 12 11 10 9 8 7 6 5 4 3 2 1 0 + */ +/* IG on V9 conflicts with MCDE on M7. PSTATE_MCDE will only be used on + * processors that support ADI which do not use IG, hence there is no + * functional conflict + */ +#define PSTATE_IG _AC(0x0000000000000800,UL) /* Interrupt Globals. */ +#define PSTATE_MCDE _AC(0x0000000000000800,UL) /* MCD Enable */ +#define PSTATE_MG _AC(0x0000000000000400,UL) /* MMU Globals. */ +#define PSTATE_CLE _AC(0x0000000000000200,UL) /* Current Little Endian.*/ +#define PSTATE_TLE _AC(0x0000000000000100,UL) /* Trap Little Endian. */ +#define PSTATE_MM _AC(0x00000000000000c0,UL) /* Memory Model. */ +#define PSTATE_TSO _AC(0x0000000000000000,UL) /* MM: TotalStoreOrder */ +#define PSTATE_PSO _AC(0x0000000000000040,UL) /* MM: PartialStoreOrder */ +#define PSTATE_RMO _AC(0x0000000000000080,UL) /* MM: RelaxedMemoryOrder*/ +#define PSTATE_RED _AC(0x0000000000000020,UL) /* Reset Error Debug. */ +#define PSTATE_PEF _AC(0x0000000000000010,UL) /* Floating Point Enable.*/ +#define PSTATE_AM _AC(0x0000000000000008,UL) /* Address Mask. */ +#define PSTATE_PRIV _AC(0x0000000000000004,UL) /* Privilege. */ +#define PSTATE_IE _AC(0x0000000000000002,UL) /* Interrupt Enable. */ +#define PSTATE_AG _AC(0x0000000000000001,UL) /* Alternate Globals. */ + +/* The V9 TSTATE Register (with SpitFire and Linux extensions). + * + * --------------------------------------------------------------------- + * | Resv | GL | CCR | ASI | %pil | PSTATE | Resv | CWP | + * --------------------------------------------------------------------- + * 63 43 42 40 39 32 31 24 23 20 19 8 7 5 4 0 + */ +#define TSTATE_GL _AC(0x0000070000000000,UL) /* Global reg level */ +#define TSTATE_CCR _AC(0x000000ff00000000,UL) /* Condition Codes. */ +#define TSTATE_XCC _AC(0x000000f000000000,UL) /* Condition Codes. */ +#define TSTATE_XNEG _AC(0x0000008000000000,UL) /* %xcc Negative. */ +#define TSTATE_XZERO _AC(0x0000004000000000,UL) /* %xcc Zero. */ +#define TSTATE_XOVFL _AC(0x0000002000000000,UL) /* %xcc Overflow. */ +#define TSTATE_XCARRY _AC(0x0000001000000000,UL) /* %xcc Carry. */ +#define TSTATE_ICC _AC(0x0000000f00000000,UL) /* Condition Codes. */ +#define TSTATE_INEG _AC(0x0000000800000000,UL) /* %icc Negative. */ +#define TSTATE_IZERO _AC(0x0000000400000000,UL) /* %icc Zero. */ +#define TSTATE_IOVFL _AC(0x0000000200000000,UL) /* %icc Overflow. */ +#define TSTATE_ICARRY _AC(0x0000000100000000,UL) /* %icc Carry. */ +#define TSTATE_ASI _AC(0x00000000ff000000,UL) /* AddrSpace ID. */ +#define TSTATE_PIL _AC(0x0000000000f00000,UL) /* %pil (Linux traps)*/ +#define TSTATE_PSTATE _AC(0x00000000000fff00,UL) /* PSTATE. */ +/* IG on V9 conflicts with MCDE on M7. TSTATE_MCDE will only be used on + * processors that support ADI which do not support IG, hence there is + * no functional conflict + */ +#define TSTATE_IG _AC(0x0000000000080000,UL) /* Interrupt Globals.*/ +#define TSTATE_MCDE _AC(0x0000000000080000,UL) /* MCD enable. */ +#define TSTATE_MG _AC(0x0000000000040000,UL) /* MMU Globals. */ +#define TSTATE_CLE _AC(0x0000000000020000,UL) /* CurrLittleEndian. */ +#define TSTATE_TLE _AC(0x0000000000010000,UL) /* TrapLittleEndian. */ +#define TSTATE_MM _AC(0x000000000000c000,UL) /* Memory Model. */ +#define TSTATE_TSO _AC(0x0000000000000000,UL) /* MM: TSO */ +#define TSTATE_PSO _AC(0x0000000000004000,UL) /* MM: PSO */ +#define TSTATE_RMO _AC(0x0000000000008000,UL) /* MM: RMO */ +#define TSTATE_RED _AC(0x0000000000002000,UL) /* Reset Error Debug.*/ +#define TSTATE_PEF _AC(0x0000000000001000,UL) /* FPU Enable. */ +#define TSTATE_AM _AC(0x0000000000000800,UL) /* Address Mask. */ +#define TSTATE_PRIV _AC(0x0000000000000400,UL) /* Privilege. */ +#define TSTATE_IE _AC(0x0000000000000200,UL) /* Interrupt Enable. */ +#define TSTATE_AG _AC(0x0000000000000100,UL) /* Alternate Globals.*/ +#define TSTATE_SYSCALL _AC(0x0000000000000020,UL) /* in syscall trap */ +#define TSTATE_CWP _AC(0x000000000000001f,UL) /* Curr Win-Pointer. */ + +/* Floating-Point Registers State Register. + * + * -------------------------------- + * | Resv | FEF | DU | DL | + * -------------------------------- + * 63 3 2 1 0 + */ +#define FPRS_FEF _AC(0x0000000000000004,UL) /* FPU Enable. */ +#define FPRS_DU _AC(0x0000000000000002,UL) /* Dirty Upper. */ +#define FPRS_DL _AC(0x0000000000000001,UL) /* Dirty Lower. */ + +/* Version Register. + * + * ------------------------------------------------------ + * | MANUF | IMPL | MASK | Resv | MAXTL | Resv | MAXWIN | + * ------------------------------------------------------ + * 63 48 47 32 31 24 23 16 15 8 7 5 4 0 + */ +#define VERS_MANUF _AC(0xffff000000000000,UL) /* Manufacturer. */ +#define VERS_IMPL _AC(0x0000ffff00000000,UL) /* Implementation. */ +#define VERS_MASK _AC(0x00000000ff000000,UL) /* Mask Set Revision.*/ +#define VERS_MAXTL _AC(0x000000000000ff00,UL) /* Max Trap Level. */ +#define VERS_MAXWIN _AC(0x000000000000001f,UL) /* Max RegWindow Idx.*/ + +/* Compatibility Feature Register (%asr26), SPARC-T4 and later */ +#define CFR_AES _AC(0x0000000000000001,UL) /* Supports AES opcodes */ +#define CFR_DES _AC(0x0000000000000002,UL) /* Supports DES opcodes */ +#define CFR_KASUMI _AC(0x0000000000000004,UL) /* Supports KASUMI opcodes */ +#define CFR_CAMELLIA _AC(0x0000000000000008,UL) /* Supports CAMELLIA opcodes*/ +#define CFR_MD5 _AC(0x0000000000000010,UL) /* Supports MD5 opcodes */ +#define CFR_SHA1 _AC(0x0000000000000020,UL) /* Supports SHA1 opcodes */ +#define CFR_SHA256 _AC(0x0000000000000040,UL) /* Supports SHA256 opcodes */ +#define CFR_SHA512 _AC(0x0000000000000080,UL) /* Supports SHA512 opcodes */ +#define CFR_MPMUL _AC(0x0000000000000100,UL) /* Supports MPMUL opcodes */ +#define CFR_MONTMUL _AC(0x0000000000000200,UL) /* Supports MONTMUL opcodes */ +#define CFR_MONTSQR _AC(0x0000000000000400,UL) /* Supports MONTSQR opcodes */ +#define CFR_CRC32C _AC(0x0000000000000800,UL) /* Supports CRC32C opcodes */ + +#endif /* !(_SPARC64_PSTATE_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ptrace.h new file mode 100644 index 00000000..7035096c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/ptrace.h @@ -0,0 +1,353 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_PTRACE_H +#define __SPARC_PTRACE_H + +#if defined(__sparc__) && defined(__arch64__) +/* 64 bit sparc */ +#include + +/* This struct defines the way the registers are stored on the + * stack during a system call and basically all traps. + */ + +/* This magic value must have the low 9 bits clear, + * as that is where we encode the %tt value, see below. + */ +#define PT_REGS_MAGIC 0x57ac6c00 + +#ifndef __ASSEMBLY__ + +#include + +struct pt_regs { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + + /* We encode a magic number, PT_REGS_MAGIC, along + * with the %tt (trap type) register value at trap + * entry time. The magic number allows us to identify + * accurately a trap stack frame in the stack + * unwinder, and the %tt value allows us to test + * things like "in a system call" etc. for an arbitray + * process. + * + * The PT_REGS_MAGIC is chosen such that it can be + * loaded completely using just a sethi instruction. + */ + unsigned int magic; +}; + +struct pt_regs32 { + unsigned int psr; + unsigned int pc; + unsigned int npc; + unsigned int y; + unsigned int u_regs[16]; /* globals and ins */ +}; + +/* A V9 register window */ +struct reg_window { + unsigned long locals[8]; + unsigned long ins[8]; +}; + +/* A 32-bit register window. */ +struct reg_window32 { + unsigned int locals[8]; + unsigned int ins[8]; +}; + +/* A V9 Sparc stack frame */ +struct sparc_stackf { + unsigned long locals[8]; + unsigned long ins[6]; + struct sparc_stackf *fp; + unsigned long callers_pc; + char *structptr; + unsigned long xargs[6]; + unsigned long xxargs[1]; +}; + +/* A 32-bit Sparc stack frame */ +struct sparc_stackf32 { + unsigned int locals[8]; + unsigned int ins[6]; + unsigned int fp; + unsigned int callers_pc; + unsigned int structptr; + unsigned int xargs[6]; + unsigned int xxargs[1]; +}; + +struct sparc_trapf { + unsigned long locals[8]; + unsigned long ins[8]; + unsigned long _unused; + struct pt_regs *regs; +}; +#endif /* (!__ASSEMBLY__) */ +#else +/* 32 bit sparc */ + +#include + +/* This struct defines the way the registers are stored on the + * stack during a system call and basically all traps. + */ +#ifndef __ASSEMBLY__ + +#include + +struct pt_regs { + unsigned long psr; + unsigned long pc; + unsigned long npc; + unsigned long y; + unsigned long u_regs[16]; /* globals and ins */ +}; + +/* A 32-bit register window. */ +struct reg_window32 { + unsigned long locals[8]; + unsigned long ins[8]; +}; + +/* A Sparc stack frame */ +struct sparc_stackf { + unsigned long locals[8]; + unsigned long ins[6]; + struct sparc_stackf *fp; + unsigned long callers_pc; + char *structptr; + unsigned long xargs[6]; + unsigned long xxargs[1]; +}; +#endif /* (!__ASSEMBLY__) */ + +#endif /* (defined(__sparc__) && defined(__arch64__))*/ + +#ifndef __ASSEMBLY__ + +#define TRACEREG_SZ sizeof(struct pt_regs) +#define STACKFRAME_SZ sizeof(struct sparc_stackf) + +#define TRACEREG32_SZ sizeof(struct pt_regs32) +#define STACKFRAME32_SZ sizeof(struct sparc_stackf32) + +#endif /* (!__ASSEMBLY__) */ + +#define UREG_G0 0 +#define UREG_G1 1 +#define UREG_G2 2 +#define UREG_G3 3 +#define UREG_G4 4 +#define UREG_G5 5 +#define UREG_G6 6 +#define UREG_G7 7 +#define UREG_I0 8 +#define UREG_I1 9 +#define UREG_I2 10 +#define UREG_I3 11 +#define UREG_I4 12 +#define UREG_I5 13 +#define UREG_I6 14 +#define UREG_I7 15 +#define UREG_FP UREG_I6 +#define UREG_RETPC UREG_I7 + +#if defined(__sparc__) && defined(__arch64__) +/* 64 bit sparc */ + +#ifndef __ASSEMBLY__ + + +#else /* __ASSEMBLY__ */ +/* For assembly code. */ +#define TRACEREG_SZ 0xa0 +#define STACKFRAME_SZ 0xc0 + +#define TRACEREG32_SZ 0x50 +#define STACKFRAME32_SZ 0x60 +#endif /* __ASSEMBLY__ */ + +#else /* (defined(__sparc__) && defined(__arch64__)) */ + +/* 32 bit sparc */ + +#ifndef __ASSEMBLY__ + + +#else /* (!__ASSEMBLY__) */ +/* For assembly code. */ +#define TRACEREG_SZ 0x50 +#define STACKFRAME_SZ 0x60 +#endif /* (!__ASSEMBLY__) */ + +#endif /* (defined(__sparc__) && defined(__arch64__)) */ + + +/* These are for pt_regs. */ +#define PT_V9_G0 0x00 +#define PT_V9_G1 0x08 +#define PT_V9_G2 0x10 +#define PT_V9_G3 0x18 +#define PT_V9_G4 0x20 +#define PT_V9_G5 0x28 +#define PT_V9_G6 0x30 +#define PT_V9_G7 0x38 +#define PT_V9_I0 0x40 +#define PT_V9_I1 0x48 +#define PT_V9_I2 0x50 +#define PT_V9_I3 0x58 +#define PT_V9_I4 0x60 +#define PT_V9_I5 0x68 +#define PT_V9_I6 0x70 +#define PT_V9_FP PT_V9_I6 +#define PT_V9_I7 0x78 +#define PT_V9_TSTATE 0x80 +#define PT_V9_TPC 0x88 +#define PT_V9_TNPC 0x90 +#define PT_V9_Y 0x98 +#define PT_V9_MAGIC 0x9c +#define PT_TSTATE PT_V9_TSTATE +#define PT_TPC PT_V9_TPC +#define PT_TNPC PT_V9_TNPC + +/* These for pt_regs32. */ +#define PT_PSR 0x0 +#define PT_PC 0x4 +#define PT_NPC 0x8 +#define PT_Y 0xc +#define PT_G0 0x10 +#define PT_WIM PT_G0 +#define PT_G1 0x14 +#define PT_G2 0x18 +#define PT_G3 0x1c +#define PT_G4 0x20 +#define PT_G5 0x24 +#define PT_G6 0x28 +#define PT_G7 0x2c +#define PT_I0 0x30 +#define PT_I1 0x34 +#define PT_I2 0x38 +#define PT_I3 0x3c +#define PT_I4 0x40 +#define PT_I5 0x44 +#define PT_I6 0x48 +#define PT_FP PT_I6 +#define PT_I7 0x4c + +/* Reg_window offsets */ +#define RW_V9_L0 0x00 +#define RW_V9_L1 0x08 +#define RW_V9_L2 0x10 +#define RW_V9_L3 0x18 +#define RW_V9_L4 0x20 +#define RW_V9_L5 0x28 +#define RW_V9_L6 0x30 +#define RW_V9_L7 0x38 +#define RW_V9_I0 0x40 +#define RW_V9_I1 0x48 +#define RW_V9_I2 0x50 +#define RW_V9_I3 0x58 +#define RW_V9_I4 0x60 +#define RW_V9_I5 0x68 +#define RW_V9_I6 0x70 +#define RW_V9_I7 0x78 + +#define RW_L0 0x00 +#define RW_L1 0x04 +#define RW_L2 0x08 +#define RW_L3 0x0c +#define RW_L4 0x10 +#define RW_L5 0x14 +#define RW_L6 0x18 +#define RW_L7 0x1c +#define RW_I0 0x20 +#define RW_I1 0x24 +#define RW_I2 0x28 +#define RW_I3 0x2c +#define RW_I4 0x30 +#define RW_I5 0x34 +#define RW_I6 0x38 +#define RW_I7 0x3c + +/* Stack_frame offsets */ +#define SF_V9_L0 0x00 +#define SF_V9_L1 0x08 +#define SF_V9_L2 0x10 +#define SF_V9_L3 0x18 +#define SF_V9_L4 0x20 +#define SF_V9_L5 0x28 +#define SF_V9_L6 0x30 +#define SF_V9_L7 0x38 +#define SF_V9_I0 0x40 +#define SF_V9_I1 0x48 +#define SF_V9_I2 0x50 +#define SF_V9_I3 0x58 +#define SF_V9_I4 0x60 +#define SF_V9_I5 0x68 +#define SF_V9_FP 0x70 +#define SF_V9_PC 0x78 +#define SF_V9_RETP 0x80 +#define SF_V9_XARG0 0x88 +#define SF_V9_XARG1 0x90 +#define SF_V9_XARG2 0x98 +#define SF_V9_XARG3 0xa0 +#define SF_V9_XARG4 0xa8 +#define SF_V9_XARG5 0xb0 +#define SF_V9_XXARG 0xb8 + +#define SF_L0 0x00 +#define SF_L1 0x04 +#define SF_L2 0x08 +#define SF_L3 0x0c +#define SF_L4 0x10 +#define SF_L5 0x14 +#define SF_L6 0x18 +#define SF_L7 0x1c +#define SF_I0 0x20 +#define SF_I1 0x24 +#define SF_I2 0x28 +#define SF_I3 0x2c +#define SF_I4 0x30 +#define SF_I5 0x34 +#define SF_FP 0x38 +#define SF_PC 0x3c +#define SF_RETP 0x40 +#define SF_XARG0 0x44 +#define SF_XARG1 0x48 +#define SF_XARG2 0x4c +#define SF_XARG3 0x50 +#define SF_XARG4 0x54 +#define SF_XARG5 0x58 +#define SF_XXARG 0x5c + + +/* Stuff for the ptrace system call */ +#define PTRACE_SPARC_DETACH 11 +#define PTRACE_GETREGS 12 +#define PTRACE_SETREGS 13 +#define PTRACE_GETFPREGS 14 +#define PTRACE_SETFPREGS 15 +#define PTRACE_READDATA 16 +#define PTRACE_WRITEDATA 17 +#define PTRACE_READTEXT 18 +#define PTRACE_WRITETEXT 19 +#define PTRACE_GETFPAREGS 20 +#define PTRACE_SETFPAREGS 21 + +/* There are for debugging 64-bit processes, either from a 32 or 64 bit + * parent. Thus their complements are for debugging 32-bit processes only. + */ + +#define PTRACE_GETREGS64 22 +#define PTRACE_SETREGS64 23 +/* PTRACE_SYSCALL is 24 */ +#define PTRACE_GETFPREGS64 25 +#define PTRACE_SETFPREGS64 26 + +#endif /* __SPARC_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/resource.h new file mode 100644 index 00000000..e0ebd141 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/resource.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * resource.h: Resource definitions. + * + * Copyright (C) 1995,1996 David S. Miller (davem@caip.rutgers.edu) + */ + +#ifndef _SPARC_RESOURCE_H +#define _SPARC_RESOURCE_H + +/* + * These two resource limit IDs have a Sparc/Linux-specific ordering, + * the rest comes from the generic header: + */ +#define RLIMIT_NOFILE 6 /* max number of open files */ +#define RLIMIT_NPROC 7 /* max number of processes */ + +#if defined(__sparc__) && defined(__arch64__) +/* Use generic version */ +#else +/* + * SuS says limits have to be unsigned. + * We make this unsigned, but keep the + * old value for compatibility: + */ +#define RLIM_INFINITY 0x7fffffff +#endif + +#include + +#endif /* !(_SPARC_RESOURCE_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sembuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sembuf.h new file mode 100644 index 00000000..9a1da662 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sembuf.h @@ -0,0 +1,32 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_SEMBUF_H +#define _SPARC_SEMBUF_H + +#include + +/* + * The semid64_ds structure for sparc architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous 32-bit values + */ + +struct semid64_ds { + struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ +#if defined(__sparc__) && defined(__arch64__) + long sem_otime; /* last semop time */ + long sem_ctime; /* last change time */ +#else + unsigned long sem_otime_high; + unsigned long sem_otime; /* last semop time */ + unsigned long sem_ctime_high; + unsigned long sem_ctime; /* last change time */ +#endif + unsigned long sem_nsems; /* no. of semaphores in array */ + unsigned long __unused1; + unsigned long __unused2; +}; + +#endif /* _SPARC64_SEMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/setup.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/setup.h new file mode 100644 index 00000000..6ac4992f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/setup.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Just a place holder. + */ + +#ifndef _SPARC_SETUP_H +#define _SPARC_SETUP_H + +#if defined(__sparc__) && defined(__arch64__) +# define COMMAND_LINE_SIZE 2048 +#else +# define COMMAND_LINE_SIZE 256 +#endif + + +#endif /* _SPARC_SETUP_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/shmbuf.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/shmbuf.h new file mode 100644 index 00000000..bc79627a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/shmbuf.h @@ -0,0 +1,51 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_SHMBUF_H +#define _SPARC_SHMBUF_H + +#include +#include + +/* + * The shmid64_ds structure for sparc architecture. + * Note extra padding because this structure is passed back and forth + * between kernel and user space. + * + * Pad space is left for: + * - 2 miscellaneous 32-bit values + */ + +struct shmid64_ds { + struct ipc64_perm shm_perm; /* operation perms */ +#if defined(__sparc__) && defined(__arch64__) + long shm_atime; /* last attach time */ + long shm_dtime; /* last detach time */ + long shm_ctime; /* last change time */ +#else + unsigned long shm_atime_high; + unsigned long shm_atime; /* last attach time */ + unsigned long shm_dtime_high; + unsigned long shm_dtime; /* last detach time */ + unsigned long shm_ctime_high; + unsigned long shm_ctime; /* last change time */ +#endif + __kernel_size_t shm_segsz; /* size of segment (bytes) */ + __kernel_pid_t shm_cpid; /* pid of creator */ + __kernel_pid_t shm_lpid; /* pid of last operator */ + unsigned long shm_nattch; /* no. of current attaches */ + unsigned long __unused1; + unsigned long __unused2; +}; + +struct shminfo64 { + unsigned long shmmax; + unsigned long shmmin; + unsigned long shmmni; + unsigned long shmseg; + unsigned long shmall; + unsigned long __unused1; + unsigned long __unused2; + unsigned long __unused3; + unsigned long __unused4; +}; + +#endif /* _SPARC_SHMBUF_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sigcontext.h new file mode 100644 index 00000000..003b56f8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/sigcontext.h @@ -0,0 +1,5 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * There isn't anything here anymore, but the file must not be empty or patch + * will delete it. + */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/siginfo.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/siginfo.h new file mode 100644 index 00000000..abfd4d6f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/siginfo.h @@ -0,0 +1,16 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_SIGINFO_H +#define __SPARC_SIGINFO_H + +#if defined(__sparc__) && defined(__arch64__) + +#define __ARCH_SI_BAND_T int + +#endif /* defined(__sparc__) && defined(__arch64__) */ + +#include + + +#define SI_NOINFO 32767 /* no information in siginfo_t */ + +#endif /* __SPARC_SIGINFO_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/signal.h new file mode 100644 index 00000000..cf7a24e5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/signal.h @@ -0,0 +1,179 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_SIGNAL_H +#define __SPARC_SIGNAL_H + +#include + + + +/* On the Sparc the signal handlers get passed a 'sub-signal' code + * for certain signal types, which we document here. + */ +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SUBSIG_STACK 0 +#define SUBSIG_ILLINST 2 +#define SUBSIG_PRIVINST 3 +#define SUBSIG_BADTRAP(t) (0x80 + (t)) + +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT 6 + +#define SIGEMT 7 +#define SUBSIG_TAG 10 + +#define SIGFPE 8 +#define SUBSIG_FPDISABLED 0x400 +#define SUBSIG_FPERROR 0x404 +#define SUBSIG_FPINTOVFL 0x001 +#define SUBSIG_FPSTSIG 0x002 +#define SUBSIG_IDIVZERO 0x014 +#define SUBSIG_FPINEXACT 0x0c4 +#define SUBSIG_FPDIVZERO 0x0c8 +#define SUBSIG_FPUNFLOW 0x0cc +#define SUBSIG_FPOPERROR 0x0d0 +#define SUBSIG_FPOVFLOW 0x0d4 + +#define SIGKILL 9 +#define SIGBUS 10 +#define SUBSIG_BUSTIMEOUT 1 +#define SUBSIG_ALIGNMENT 2 +#define SUBSIG_MISCERROR 5 + +#define SIGSEGV 11 +#define SUBSIG_NOMAPPING 3 +#define SUBSIG_PROTECTION 4 +#define SUBSIG_SEGERROR 5 + +#define SIGSYS 12 + +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGURG 16 + +/* SunOS values which deviate from the Linux/i386 ones */ +#define SIGSTOP 17 +#define SIGTSTP 18 +#define SIGCONT 19 +#define SIGCHLD 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGIO 23 +#define SIGPOLL SIGIO /* SysV name for SIGIO */ +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGLOST 29 +#define SIGPWR SIGLOST +#define SIGUSR1 30 +#define SIGUSR2 31 + +/* Most things should be clean enough to redefine this at will, if care + is taken to make libc match. */ + +#define __OLD_NSIG 32 +#define __NEW_NSIG 64 +#ifdef __arch64__ +#define _NSIG_BPW 64 +#else +#define _NSIG_BPW 32 +#endif +#define _NSIG_WORDS (__NEW_NSIG / _NSIG_BPW) + +#define SIGRTMIN 32 +#define SIGRTMAX __NEW_NSIG + +#if defined(__KERNEL__) || defined(__WANT_POSIX1B_SIGNALS__) +#define _NSIG __NEW_NSIG +#define __new_sigset_t sigset_t +#define __new_sigaction sigaction +#define __new_sigaction32 sigaction32 +#define __old_sigset_t old_sigset_t +#define __old_sigaction old_sigaction +#define __old_sigaction32 old_sigaction32 +#else +#define _NSIG __OLD_NSIG +#define NSIG _NSIG +#define __old_sigset_t sigset_t +#define __old_sigaction sigaction +#define __old_sigaction32 sigaction32 +#endif + +#ifndef __ASSEMBLY__ + +typedef unsigned long __old_sigset_t; /* at least 32 bits */ + +typedef struct { + unsigned long sig[_NSIG_WORDS]; +} __new_sigset_t; + +/* A SunOS sigstack */ +struct sigstack { + /* XXX 32-bit pointers pinhead XXX */ + char *the_stack; + int cur_status; +}; + +/* Sigvec flags */ +#define _SV_SSTACK 1u /* This signal handler should use sig-stack */ +#define _SV_INTR 2u /* Sig return should not restart system call */ +#define _SV_RESET 4u /* Set handler to SIG_DFL upon taken signal */ +#define _SV_IGNCHILD 8u /* Do not send SIGCHLD */ + +/* + * sa_flags values: SA_STACK is not currently supported, but will allow the + * usage of signal stacks by using the (now obsolete) sa_restorer field in + * the sigaction structure as a stack pointer. This is now possible due to + * the changes in signal handling. LBT 010493. + * SA_RESTART flag to get restarting signals (which were the default long ago) + */ +#define SA_NOCLDSTOP _SV_IGNCHILD +#define SA_STACK _SV_SSTACK +#define SA_ONSTACK _SV_SSTACK +#define SA_RESTART _SV_INTR +#define SA_RESETHAND _SV_RESET +#define SA_NODEFER 0x20u +#define SA_NOCLDWAIT 0x100u +#define SA_SIGINFO 0x200u + +#define SIG_BLOCK 0x01 /* for blocking signals */ +#define SIG_UNBLOCK 0x02 /* for unblocking signals */ +#define SIG_SETMASK 0x04 /* for setting the signal mask */ + +#define MINSIGSTKSZ 4096 +#define SIGSTKSZ 16384 + + +#include +#include + +struct __new_sigaction { + __sighandler_t sa_handler; + unsigned long sa_flags; + __sigrestore_t sa_restorer; /* not used by Linux/SPARC yet */ + __new_sigset_t sa_mask; +}; + +struct __old_sigaction { + __sighandler_t sa_handler; + __old_sigset_t sa_mask; + unsigned long sa_flags; + void (*sa_restorer)(void); /* not used by Linux/SPARC yet */ +}; + +typedef struct sigaltstack { + void *ss_sp; + int ss_flags; + __kernel_size_t ss_size; +} stack_t; + + +#endif /* !(__ASSEMBLY__) */ + +#endif /* __SPARC_SIGNAL_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/socket.h new file mode 100644 index 00000000..4a725048 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/socket.h @@ -0,0 +1,167 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_SOCKET_H +#define _ASM_SOCKET_H + +#include +#include + +/* For setsockopt(2) */ +#define SOL_SOCKET 0xffff + +#define SO_DEBUG 0x0001 +#define SO_PASSCRED 0x0002 +#define SO_REUSEADDR 0x0004 +#define SO_KEEPALIVE 0x0008 +#define SO_DONTROUTE 0x0010 +#define SO_BROADCAST 0x0020 +#define SO_PEERCRED 0x0040 +#define SO_LINGER 0x0080 +#define SO_OOBINLINE 0x0100 +#define SO_REUSEPORT 0x0200 +#define SO_BSDCOMPAT 0x0400 +#define SO_RCVLOWAT 0x0800 +#define SO_SNDLOWAT 0x1000 +#define SO_RCVTIMEO_OLD 0x2000 +#define SO_SNDTIMEO_OLD 0x4000 +#define SO_ACCEPTCONN 0x8000 + +#define SO_SNDBUF 0x1001 +#define SO_RCVBUF 0x1002 +#define SO_SNDBUFFORCE 0x100a +#define SO_RCVBUFFORCE 0x100b +#define SO_ERROR 0x1007 +#define SO_TYPE 0x1008 +#define SO_PROTOCOL 0x1028 +#define SO_DOMAIN 0x1029 + +/* Linux specific, keep the same. */ +#define SO_NO_CHECK 0x000b +#define SO_PRIORITY 0x000c + +#define SO_BINDTODEVICE 0x000d + +#define SO_ATTACH_FILTER 0x001a +#define SO_DETACH_FILTER 0x001b +#define SO_GET_FILTER SO_ATTACH_FILTER + +#define SO_PEERNAME 0x001c + +#define SO_PEERSEC 0x001e +#define SO_PASSSEC 0x001f + +#define SO_MARK 0x0022 + +#define SO_RXQ_OVFL 0x0024 + +#define SO_WIFI_STATUS 0x0025 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 0x0026 + +/* Instruct lower device to use last 4-bytes of skb data as FCS */ +#define SO_NOFCS 0x0027 + +#define SO_LOCK_FILTER 0x0028 + +#define SO_SELECT_ERR_QUEUE 0x0029 + +#define SO_BUSY_POLL 0x0030 + +#define SO_MAX_PACING_RATE 0x0031 + +#define SO_BPF_EXTENSIONS 0x0032 + +#define SO_INCOMING_CPU 0x0033 + +#define SO_ATTACH_BPF 0x0034 +#define SO_DETACH_BPF SO_DETACH_FILTER + +#define SO_ATTACH_REUSEPORT_CBPF 0x0035 +#define SO_ATTACH_REUSEPORT_EBPF 0x0036 + +#define SO_CNX_ADVICE 0x0037 + +#define SCM_TIMESTAMPING_OPT_STATS 0x0038 + +#define SO_MEMINFO 0x0039 + +#define SO_INCOMING_NAPI_ID 0x003a + +#define SO_COOKIE 0x003b + +#define SCM_TIMESTAMPING_PKTINFO 0x003c + +#define SO_PEERGROUPS 0x003d + +#define SO_ZEROCOPY 0x003e + +#define SO_TXTIME 0x003f +#define SCM_TXTIME SO_TXTIME + +#define SO_BINDTOIFINDEX 0x0041 + +/* Security levels - as per NRL IPv6 - don't actually do anything */ +#define SO_SECURITY_AUTHENTICATION 0x5001 +#define SO_SECURITY_ENCRYPTION_TRANSPORT 0x5002 +#define SO_SECURITY_ENCRYPTION_NETWORK 0x5004 + +#define SO_TIMESTAMP_OLD 0x001d +#define SO_TIMESTAMPNS_OLD 0x0021 +#define SO_TIMESTAMPING_OLD 0x0023 + +#define SO_TIMESTAMP_NEW 0x0046 +#define SO_TIMESTAMPNS_NEW 0x0042 +#define SO_TIMESTAMPING_NEW 0x0043 + +#define SO_RCVTIMEO_NEW 0x0044 +#define SO_SNDTIMEO_NEW 0x0045 + +#define SO_DETACH_REUSEPORT_BPF 0x0047 + +#define SO_PREFER_BUSY_POLL 0x0048 +#define SO_BUSY_POLL_BUDGET 0x0049 + +#define SO_NETNS_COOKIE 0x0050 + +#define SO_BUF_LOCK 0x0051 + +#define SO_RESERVE_MEM 0x0052 + +#define SO_TXREHASH 0x0053 + +#define SO_RCVMARK 0x0054 + +#define SO_PASSPIDFD 0x0055 +#define SO_PEERPIDFD 0x0056 + +#define SO_DEVMEM_LINEAR 0x0057 +#define SCM_DEVMEM_LINEAR SO_DEVMEM_LINEAR +#define SO_DEVMEM_DMABUF 0x0058 +#define SCM_DEVMEM_DMABUF SO_DEVMEM_DMABUF +#define SO_DEVMEM_DONTNEED 0x0059 + +#define SCM_TS_OPT_ID 0x005a + + + +#if __BITS_PER_LONG == 64 +#define SO_TIMESTAMP SO_TIMESTAMP_OLD +#define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +#define SO_TIMESTAMPING SO_TIMESTAMPING_OLD + +#define SO_RCVTIMEO SO_RCVTIMEO_OLD +#define SO_SNDTIMEO SO_SNDTIMEO_OLD +#else +#define SO_TIMESTAMP (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMP_OLD : SO_TIMESTAMP_NEW) +#define SO_TIMESTAMPNS (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPNS_OLD : SO_TIMESTAMPNS_NEW) +#define SO_TIMESTAMPING (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_TIMESTAMPING_OLD : SO_TIMESTAMPING_NEW) + +#define SO_RCVTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_RCVTIMEO_OLD : SO_RCVTIMEO_NEW) +#define SO_SNDTIMEO (sizeof(time_t) == sizeof(__kernel_long_t) ? SO_SNDTIMEO_OLD : SO_SNDTIMEO_NEW) +#endif + +#define SCM_TIMESTAMP SO_TIMESTAMP +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SCM_TIMESTAMPING SO_TIMESTAMPING + + +#endif /* _ASM_SOCKET_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/stat.h new file mode 100644 index 00000000..e088eba8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/stat.h @@ -0,0 +1,108 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __SPARC_STAT_H +#define __SPARC_STAT_H + +#include + +#if defined(__sparc__) && defined(__arch64__) +/* 64 bit sparc */ +struct stat { + unsigned int st_dev; + __kernel_ino_t st_ino; + __kernel_mode_t st_mode; + short st_nlink; + __kernel_uid32_t st_uid; + __kernel_gid32_t st_gid; + unsigned int st_rdev; + long st_size; + long st_atime; + long st_mtime; + long st_ctime; + long st_blksize; + long st_blocks; + unsigned long __unused4[2]; +}; + +struct stat64 { + unsigned long st_dev; + unsigned long st_ino; + unsigned long st_nlink; + + unsigned int st_mode; + unsigned int st_uid; + unsigned int st_gid; + unsigned int __pad0; + + unsigned long st_rdev; + long st_size; + long st_blksize; + long st_blocks; + + unsigned long st_atime; + unsigned long st_atime_nsec; + unsigned long st_mtime; + unsigned long st_mtime_nsec; + unsigned long st_ctime; + unsigned long st_ctime_nsec; + long __unused[3]; +}; + +#else +/* 32 bit sparc */ +struct stat { + unsigned short st_dev; + __kernel_ino_t st_ino; + __kernel_mode_t st_mode; + short st_nlink; + unsigned short st_uid; + unsigned short st_gid; + unsigned short st_rdev; + long st_size; + long st_atime; + unsigned long st_atime_nsec; + long st_mtime; + unsigned long st_mtime_nsec; + long st_ctime; + unsigned long st_ctime_nsec; + long st_blksize; + long st_blocks; + unsigned long __unused4[2]; +}; + +#define STAT_HAVE_NSEC 1 + +struct stat64 { + unsigned long long st_dev; + + unsigned long long st_ino; + + unsigned int st_mode; + unsigned int st_nlink; + + unsigned int st_uid; + unsigned int st_gid; + + unsigned long long st_rdev; + + unsigned char __pad3[8]; + + long long st_size; + unsigned int st_blksize; + + unsigned char __pad4[8]; + unsigned int st_blocks; + + unsigned int st_atime; + unsigned int st_atime_nsec; + + unsigned int st_mtime; + unsigned int st_mtime_nsec; + + unsigned int st_ctime; + unsigned int st_ctime_nsec; + + unsigned int __unused4; + unsigned int __unused5; +}; +#endif /* defined(__sparc__) && defined(__arch64__) */ +#endif /* __SPARC_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/swab.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/swab.h new file mode 100644 index 00000000..5a27900e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/swab.h @@ -0,0 +1,46 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_SWAB_H +#define _SPARC_SWAB_H + +#include +#include + +#if defined(__sparc__) && defined(__arch64__) +static __inline__ __u16 __arch_swab16p(const __u16 *addr) +{ + __u16 ret; + + __asm__ __volatile__ ("lduha [%2] %3, %0" + : "=r" (ret) + : "m" (*addr), "r" (addr), "i" (ASI_PL)); + return ret; +} +#define __arch_swab16p __arch_swab16p + +static __inline__ __u32 __arch_swab32p(const __u32 *addr) +{ + __u32 ret; + + __asm__ __volatile__ ("lduwa [%2] %3, %0" + : "=r" (ret) + : "m" (*addr), "r" (addr), "i" (ASI_PL)); + return ret; +} +#define __arch_swab32p __arch_swab32p + +static __inline__ __u64 __arch_swab64p(const __u64 *addr) +{ + __u64 ret; + + __asm__ __volatile__ ("ldxa [%2] %3, %0" + : "=r" (ret) + : "m" (*addr), "r" (addr), "i" (ASI_PL)); + return ret; +} +#define __arch_swab64p __arch_swab64p + +#else +#define __SWAB_64_THRU_32__ +#endif /* defined(__sparc__) && defined(__arch64__) */ + +#endif /* _SPARC_SWAB_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termbits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termbits.h new file mode 100644 index 00000000..95daadf5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termbits.h @@ -0,0 +1,192 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_TERMBITS_H +#define _SPARC_TERMBITS_H + +#include + +#if defined(__sparc__) && defined(__arch64__) +typedef unsigned int tcflag_t; +#else +typedef unsigned long tcflag_t; +#endif + +#define NCCS 17 +struct termios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +}; + +struct termios2 { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS+2]; /* control characters */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +struct ktermios { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS+2]; /* control characters */ + speed_t c_ispeed; /* input speed */ + speed_t c_ospeed; /* output speed */ +}; + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VEOL 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 + +#define VSUSP 10 +#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 + +/* Kernel keeps vmin/vtime separated, user apps assume vmin/vtime is + * shared with eof/eol + */ +#define VMIN VEOF +#define VTIME VEOL + +/* c_iflag bits */ +#define IUCLC 0x0200 +#define IXON 0x0400 +#define IXOFF 0x1000 +#define IMAXBEL 0x2000 +#define IUTF8 0x4000 + +/* c_oflag bits */ +#define OLCUC 0x00002 +#define ONLCR 0x00004 +#define NLDLY 0x00100 +#define NL0 0x00000 +#define NL1 0x00100 +#define CRDLY 0x00600 +#define CR0 0x00000 +#define CR1 0x00200 +#define CR2 0x00400 +#define CR3 0x00600 +#define TABDLY 0x01800 +#define TAB0 0x00000 +#define TAB1 0x00800 +#define TAB2 0x01000 +#define TAB3 0x01800 +#define XTABS 0x01800 +#define BSDLY 0x02000 +#define BS0 0x00000 +#define BS1 0x02000 +#define VTDLY 0x04000 +#define VT0 0x00000 +#define VT1 0x04000 +#define FFDLY 0x08000 +#define FF0 0x00000 +#define FF1 0x08000 +#define PAGEOUT 0x10000 /* SUNOS specific */ +#define WRAP 0x20000 /* SUNOS specific */ + +/* c_cflag bit meaning */ +#define CBAUD 0x0000100f +#define CSIZE 0x00000030 +#define CS5 0x00000000 +#define CS6 0x00000010 +#define CS7 0x00000020 +#define CS8 0x00000030 +#define CSTOPB 0x00000040 +#define CREAD 0x00000080 +#define PARENB 0x00000100 +#define PARODD 0x00000200 +#define HUPCL 0x00000400 +#define CLOCAL 0x00000800 +#define CBAUDEX 0x00001000 +/* We'll never see these speeds with the Zilogs, but for completeness... */ +#define BOTHER 0x00001000 +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +/* This is what we can do with the Zilogs. */ +#define B76800 0x00001005 +/* This is what we can do with the SAB82532. */ +#define B153600 0x00001006 +#define B307200 0x00001007 +#define B614400 0x00001008 +#define B921600 0x00001009 +/* And these are the rest... */ +#define B500000 0x0000100a +#define B576000 0x0000100b +#define B1000000 0x0000100c +#define B1152000 0x0000100d +#define B1500000 0x0000100e +#define B2000000 0x0000100f +/* These have totally bogus values and nobody uses them + so far. Later on we'd have to use say 0x10000x and + adjust CBAUD constant and drivers accordingly. +#define B2500000 0x00001010 +#define B3000000 0x00001011 +#define B3500000 0x00001012 +#define B4000000 0x00001013 */ +#define CIBAUD 0x100f0000 /* input baud rate (not used) */ + +/* c_lflag bits */ +#define ISIG 0x00000001 +#define ICANON 0x00000002 +#define XCASE 0x00000004 +#define ECHO 0x00000008 +#define ECHOE 0x00000010 +#define ECHOK 0x00000020 +#define ECHONL 0x00000040 +#define NOFLSH 0x00000080 +#define TOSTOP 0x00000100 +#define ECHOCTL 0x00000200 +#define ECHOPRT 0x00000400 +#define ECHOKE 0x00000800 +#define DEFECHO 0x00001000 /* SUNOS thing, what is it? */ +#define FLUSHO 0x00002000 +#define PENDIN 0x00004000 +#define IEXTEN 0x00008000 +#define EXTPROC 0x00010000 + +/* modem lines */ +#define TIOCM_LE 0x001 +#define TIOCM_DTR 0x002 +#define TIOCM_RTS 0x004 +#define TIOCM_ST 0x008 +#define TIOCM_SR 0x010 +#define TIOCM_CTS 0x020 +#define TIOCM_CAR 0x040 +#define TIOCM_RNG 0x080 +#define TIOCM_DSR 0x100 +#define TIOCM_CD TIOCM_CAR +#define TIOCM_RI TIOCM_RNG +#define TIOCM_OUT1 0x2000 +#define TIOCM_OUT2 0x4000 +#define TIOCM_LOOP 0x8000 + +/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ +#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */ + +/* tcsetattr uses these */ +#define TCSANOW 0 +#define TCSADRAIN 1 +#define TCSAFLUSH 2 + +#endif /* _SPARC_TERMBITS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termios.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termios.h new file mode 100644 index 00000000..f02a8655 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/termios.h @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _SPARC_TERMIOS_H +#define _SPARC_TERMIOS_H + +#include +#include + +#if defined(__KERNEL__) || defined(__DEFINE_BSD_TERMIOS) +struct sgttyb { + char sg_ispeed; + char sg_ospeed; + char sg_erase; + char sg_kill; + short sg_flags; +}; + +struct tchars { + char t_intrc; + char t_quitc; + char t_startc; + char t_stopc; + char t_eofc; + char t_brkc; +}; + +struct ltchars { + char t_suspc; + char t_dsuspc; + char t_rprntc; + char t_flushc; + char t_werasc; + char t_lnextc; +}; +#endif /* __KERNEL__ */ + +struct winsize { + unsigned short ws_row; + unsigned short ws_col; + unsigned short ws_xpixel; + unsigned short ws_ypixel; +}; + +#define NCC 8 +struct termio { + unsigned short c_iflag; /* input mode flags */ + unsigned short c_oflag; /* output mode flags */ + unsigned short c_cflag; /* control mode flags */ + unsigned short c_lflag; /* local mode flags */ + unsigned char c_line; /* line discipline */ + unsigned char c_cc[NCC]; /* control characters */ +}; + +#endif /* _SPARC_TERMIOS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/traps.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/traps.h new file mode 100644 index 00000000..f8ea8f6c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/traps.h @@ -0,0 +1,121 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * traps.h: Format of entries for the Sparc trap table. + * + * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) + */ + +#ifndef _SPARC_TRAPS_H +#define _SPARC_TRAPS_H + +#define NUM_SPARC_TRAPS 255 + +#ifndef __ASSEMBLY__ +#endif /* !(__ASSEMBLY__) */ + +/* For patching the trap table at boot time, we need to know how to + * form various common Sparc instructions. Thus these macros... + */ + +#define SPARC_MOV_CONST_L3(const) (0xa6102000 | (const&0xfff)) + +/* The following assumes that the branch lies before the place we + * are branching to. This is the case for a trap vector... + * You have been warned. + */ +#define SPARC_BRANCH(dest_addr, inst_addr) \ + (0x10800000 | (((dest_addr-inst_addr)>>2)&0x3fffff)) + +#define SPARC_RD_PSR_L0 (0xa1480000) +#define SPARC_RD_WIM_L3 (0xa7500000) +#define SPARC_NOP (0x01000000) + +/* Various interesting trap levels. */ +/* First, hardware traps. */ +#define SP_TRAP_TFLT 0x1 /* Text fault */ +#define SP_TRAP_II 0x2 /* Illegal Instruction */ +#define SP_TRAP_PI 0x3 /* Privileged Instruction */ +#define SP_TRAP_FPD 0x4 /* Floating Point Disabled */ +#define SP_TRAP_WOVF 0x5 /* Window Overflow */ +#define SP_TRAP_WUNF 0x6 /* Window Underflow */ +#define SP_TRAP_MNA 0x7 /* Memory Address Unaligned */ +#define SP_TRAP_FPE 0x8 /* Floating Point Exception */ +#define SP_TRAP_DFLT 0x9 /* Data Fault */ +#define SP_TRAP_TOF 0xa /* Tag Overflow */ +#define SP_TRAP_WDOG 0xb /* Watchpoint Detected */ +#define SP_TRAP_IRQ1 0x11 /* IRQ level 1 */ +#define SP_TRAP_IRQ2 0x12 /* IRQ level 2 */ +#define SP_TRAP_IRQ3 0x13 /* IRQ level 3 */ +#define SP_TRAP_IRQ4 0x14 /* IRQ level 4 */ +#define SP_TRAP_IRQ5 0x15 /* IRQ level 5 */ +#define SP_TRAP_IRQ6 0x16 /* IRQ level 6 */ +#define SP_TRAP_IRQ7 0x17 /* IRQ level 7 */ +#define SP_TRAP_IRQ8 0x18 /* IRQ level 8 */ +#define SP_TRAP_IRQ9 0x19 /* IRQ level 9 */ +#define SP_TRAP_IRQ10 0x1a /* IRQ level 10 */ +#define SP_TRAP_IRQ11 0x1b /* IRQ level 11 */ +#define SP_TRAP_IRQ12 0x1c /* IRQ level 12 */ +#define SP_TRAP_IRQ13 0x1d /* IRQ level 13 */ +#define SP_TRAP_IRQ14 0x1e /* IRQ level 14 */ +#define SP_TRAP_IRQ15 0x1f /* IRQ level 15 Non-maskable */ +#define SP_TRAP_RACC 0x20 /* Register Access Error ??? */ +#define SP_TRAP_IACC 0x21 /* Instruction Access Error */ +#define SP_TRAP_CPDIS 0x24 /* Co-Processor Disabled */ +#define SP_TRAP_BADFL 0x25 /* Unimplemented Flush Instruction */ +#define SP_TRAP_CPEXP 0x28 /* Co-Processor Exception */ +#define SP_TRAP_DACC 0x29 /* Data Access Error */ +#define SP_TRAP_DIVZ 0x2a /* Divide By Zero */ +#define SP_TRAP_DSTORE 0x2b /* Data Store Error ??? */ +#define SP_TRAP_DMM 0x2c /* Data Access MMU Miss ??? */ +#define SP_TRAP_IMM 0x3c /* Instruction Access MMU Miss ??? */ + +/* Now the Software Traps... */ +#define SP_TRAP_SUNOS 0x80 /* SunOS System Call */ +#define SP_TRAP_SBPT 0x81 /* Software Breakpoint */ +#define SP_TRAP_SDIVZ 0x82 /* Software Divide-by-Zero trap */ +#define SP_TRAP_FWIN 0x83 /* Flush Windows */ +#define SP_TRAP_CWIN 0x84 /* Clean Windows */ +#define SP_TRAP_RCHK 0x85 /* Range Check */ +#define SP_TRAP_FUNA 0x86 /* Fix Unaligned Access */ +#define SP_TRAP_IOWFL 0x87 /* Integer Overflow */ +#define SP_TRAP_SOLARIS 0x88 /* Solaris System Call */ +#define SP_TRAP_NETBSD 0x89 /* NetBSD System Call */ +#define SP_TRAP_LINUX 0x90 /* Linux System Call */ + +/* Names used for compatibility with SunOS */ +#define ST_SYSCALL 0x00 +#define ST_BREAKPOINT 0x01 +#define ST_DIV0 0x02 +#define ST_FLUSH_WINDOWS 0x03 +#define ST_CLEAN_WINDOWS 0x04 +#define ST_RANGE_CHECK 0x05 +#define ST_FIX_ALIGN 0x06 +#define ST_INT_OVERFLOW 0x07 + +/* Special traps... */ +#define SP_TRAP_KBPT1 0xfe /* KADB/PROM Breakpoint one */ +#define SP_TRAP_KBPT2 0xff /* KADB/PROM Breakpoint two */ + +/* Handy Macros */ +/* Is this a trap we never expect to get? */ +#define BAD_TRAP_P(level) \ + ((level > SP_TRAP_WDOG && level < SP_TRAP_IRQ1) || \ + (level > SP_TRAP_IACC && level < SP_TRAP_CPDIS) || \ + (level > SP_TRAP_BADFL && level < SP_TRAP_CPEXP) || \ + (level > SP_TRAP_DMM && level < SP_TRAP_IMM) || \ + (level > SP_TRAP_IMM && level < SP_TRAP_SUNOS) || \ + (level > SP_TRAP_LINUX && level < SP_TRAP_KBPT1)) + +/* Is this a Hardware trap? */ +#define HW_TRAP_P(level) ((level > 0) && (level < SP_TRAP_SUNOS)) + +/* Is this a Software trap? */ +#define SW_TRAP_P(level) ((level >= SP_TRAP_SUNOS) && (level <= SP_TRAP_KBPT2)) + +/* Is this a system call for some OS we know about? */ +#define SCALL_TRAP_P(level) ((level == SP_TRAP_SUNOS) || \ + (level == SP_TRAP_SOLARIS) || \ + (level == SP_TRAP_NETBSD) || \ + (level == SP_TRAP_LINUX)) + +#endif /* _SPARC_TRAPS_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/uctx.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/uctx.h new file mode 100644 index 00000000..7d0e2084 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/uctx.h @@ -0,0 +1,72 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * uctx.h: Sparc64 {set,get}context() register state layouts. + * + * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu) + */ + +#ifndef __SPARC64_UCTX_H +#define __SPARC64_UCTX_H + +#define MC_TSTATE 0 +#define MC_PC 1 +#define MC_NPC 2 +#define MC_Y 3 +#define MC_G1 4 +#define MC_G2 5 +#define MC_G3 6 +#define MC_G4 7 +#define MC_G5 8 +#define MC_G6 9 +#define MC_G7 10 +#define MC_O0 11 +#define MC_O1 12 +#define MC_O2 13 +#define MC_O3 14 +#define MC_O4 15 +#define MC_O5 16 +#define MC_O6 17 +#define MC_O7 18 +#define MC_NGREG 19 + +typedef unsigned long mc_greg_t; +typedef mc_greg_t mc_gregset_t[MC_NGREG]; + +#define MC_MAXFPQ 16 +struct mc_fq { + unsigned long *mcfq_addr; + unsigned int mcfq_insn; +}; + +struct mc_fpu { + union { + unsigned int sregs[32]; + unsigned long dregs[32]; + long double qregs[16]; + } mcfpu_fregs; + unsigned long mcfpu_fsr; + unsigned long mcfpu_fprs; + unsigned long mcfpu_gsr; + struct mc_fq *mcfpu_fq; + unsigned char mcfpu_qcnt; + unsigned char mcfpu_qentsz; + unsigned char mcfpu_enab; +}; +typedef struct mc_fpu mc_fpu_t; + +typedef struct { + mc_gregset_t mc_gregs; + mc_greg_t mc_fp; + mc_greg_t mc_i7; + mc_fpu_t mc_fpregs; +} mcontext_t; + +struct ucontext { + struct ucontext *uc_link; + unsigned long uc_flags; + sigset_t uc_sigmask; + mcontext_t uc_mcontext; +}; +typedef struct ucontext ucontext_t; + +#endif /* __SPARC64_UCTX_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd.h new file mode 100644 index 00000000..3de909e3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * System calls under the Sparc. + * + * Don't be scared by the ugly clobbers, it is the only way I can + * think of right now to force the arguments into fixed registers + * before the trap into the system call with gcc 'asm' statements. + * + * Copyright (C) 1995, 2007 David S. Miller (davem@davemloft.net) + * + * SunOS compatibility based upon preliminary work which is: + * + * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) + */ +#ifndef _SPARC_UNISTD_H +#define _SPARC_UNISTD_H + +#ifndef __32bit_syscall_numbers__ +#ifndef __arch64__ +#define __32bit_syscall_numbers__ +#endif +#endif + +#ifdef __arch64__ +#include +#else +#include +#endif + +/* Bitmask values returned from kern_features system call. */ +#define KERN_FEATURE_MIXED_MODE_STACK 0x00000001 + +#endif /* _SPARC_UNISTD_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_32.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_32.h new file mode 100644 index 00000000..676ee907 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_32.h @@ -0,0 +1,441 @@ +#ifndef _ASM_UNISTD_32_H +#define _ASM_UNISTD_32_H + +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_wait4 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execv 11 +#define __NR_chdir 12 +#define __NR_chown 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_brk 17 +#define __NR_perfctr 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_capget 21 +#define __NR_capset 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_vmsplice 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_sigaltstack 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_lchown32 31 +#define __NR_fchown32 32 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_chown32 35 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_stat 38 +#define __NR_sendfile 39 +#define __NR_lstat 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_getuid32 44 +#define __NR_umount2 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_getgid32 53 +#define __NR_ioctl 54 +#define __NR_reboot 55 +#define __NR_mmap2 56 +#define __NR_symlink 57 +#define __NR_readlink 58 +#define __NR_execve 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_fstat 62 +#define __NR_fstat64 63 +#define __NR_getpagesize 64 +#define __NR_msync 65 +#define __NR_vfork 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_geteuid32 69 +#define __NR_getegid32 70 +#define __NR_mmap 71 +#define __NR_setreuid32 72 +#define __NR_munmap 73 +#define __NR_mprotect 74 +#define __NR_madvise 75 +#define __NR_vhangup 76 +#define __NR_truncate64 77 +#define __NR_mincore 78 +#define __NR_getgroups 79 +#define __NR_setgroups 80 +#define __NR_getpgrp 81 +#define __NR_setgroups32 82 +#define __NR_setitimer 83 +#define __NR_ftruncate64 84 +#define __NR_swapon 85 +#define __NR_getitimer 86 +#define __NR_setuid32 87 +#define __NR_sethostname 88 +#define __NR_setgid32 89 +#define __NR_dup2 90 +#define __NR_setfsuid32 91 +#define __NR_fcntl 92 +#define __NR_select 93 +#define __NR_setfsgid32 94 +#define __NR_fsync 95 +#define __NR_setpriority 96 +#define __NR_socket 97 +#define __NR_connect 98 +#define __NR_accept 99 +#define __NR_getpriority 100 +#define __NR_rt_sigreturn 101 +#define __NR_rt_sigaction 102 +#define __NR_rt_sigprocmask 103 +#define __NR_rt_sigpending 104 +#define __NR_rt_sigtimedwait 105 +#define __NR_rt_sigqueueinfo 106 +#define __NR_rt_sigsuspend 107 +#define __NR_setresuid32 108 +#define __NR_getresuid32 109 +#define __NR_setresgid32 110 +#define __NR_getresgid32 111 +#define __NR_setregid32 112 +#define __NR_recvmsg 113 +#define __NR_sendmsg 114 +#define __NR_getgroups32 115 +#define __NR_gettimeofday 116 +#define __NR_getrusage 117 +#define __NR_getsockopt 118 +#define __NR_getcwd 119 +#define __NR_readv 120 +#define __NR_writev 121 +#define __NR_settimeofday 122 +#define __NR_fchown 123 +#define __NR_fchmod 124 +#define __NR_recvfrom 125 +#define __NR_setreuid 126 +#define __NR_setregid 127 +#define __NR_rename 128 +#define __NR_truncate 129 +#define __NR_ftruncate 130 +#define __NR_flock 131 +#define __NR_lstat64 132 +#define __NR_sendto 133 +#define __NR_shutdown 134 +#define __NR_socketpair 135 +#define __NR_mkdir 136 +#define __NR_rmdir 137 +#define __NR_utimes 138 +#define __NR_stat64 139 +#define __NR_sendfile64 140 +#define __NR_getpeername 141 +#define __NR_futex 142 +#define __NR_gettid 143 +#define __NR_getrlimit 144 +#define __NR_setrlimit 145 +#define __NR_pivot_root 146 +#define __NR_prctl 147 +#define __NR_pciconfig_read 148 +#define __NR_pciconfig_write 149 +#define __NR_getsockname 150 +#define __NR_inotify_init 151 +#define __NR_inotify_add_watch 152 +#define __NR_poll 153 +#define __NR_getdents64 154 +#define __NR_fcntl64 155 +#define __NR_inotify_rm_watch 156 +#define __NR_statfs 157 +#define __NR_fstatfs 158 +#define __NR_umount 159 +#define __NR_sched_set_affinity 160 +#define __NR_sched_get_affinity 161 +#define __NR_getdomainname 162 +#define __NR_setdomainname 163 +#define __NR_quotactl 165 +#define __NR_set_tid_address 166 +#define __NR_mount 167 +#define __NR_ustat 168 +#define __NR_setxattr 169 +#define __NR_lsetxattr 170 +#define __NR_fsetxattr 171 +#define __NR_getxattr 172 +#define __NR_lgetxattr 173 +#define __NR_getdents 174 +#define __NR_setsid 175 +#define __NR_fchdir 176 +#define __NR_fgetxattr 177 +#define __NR_listxattr 178 +#define __NR_llistxattr 179 +#define __NR_flistxattr 180 +#define __NR_removexattr 181 +#define __NR_lremovexattr 182 +#define __NR_sigpending 183 +#define __NR_query_module 184 +#define __NR_setpgid 185 +#define __NR_fremovexattr 186 +#define __NR_tkill 187 +#define __NR_exit_group 188 +#define __NR_uname 189 +#define __NR_init_module 190 +#define __NR_personality 191 +#define __NR_remap_file_pages 192 +#define __NR_epoll_create 193 +#define __NR_epoll_ctl 194 +#define __NR_epoll_wait 195 +#define __NR_ioprio_set 196 +#define __NR_getppid 197 +#define __NR_sigaction 198 +#define __NR_sgetmask 199 +#define __NR_ssetmask 200 +#define __NR_sigsuspend 201 +#define __NR_oldlstat 202 +#define __NR_uselib 203 +#define __NR_readdir 204 +#define __NR_readahead 205 +#define __NR_socketcall 206 +#define __NR_syslog 207 +#define __NR_lookup_dcookie 208 +#define __NR_fadvise64 209 +#define __NR_fadvise64_64 210 +#define __NR_tgkill 211 +#define __NR_waitpid 212 +#define __NR_swapoff 213 +#define __NR_sysinfo 214 +#define __NR_ipc 215 +#define __NR_sigreturn 216 +#define __NR_clone 217 +#define __NR_ioprio_get 218 +#define __NR_adjtimex 219 +#define __NR_sigprocmask 220 +#define __NR_create_module 221 +#define __NR_delete_module 222 +#define __NR_get_kernel_syms 223 +#define __NR_getpgid 224 +#define __NR_bdflush 225 +#define __NR_sysfs 226 +#define __NR_afs_syscall 227 +#define __NR_setfsuid 228 +#define __NR_setfsgid 229 +#define __NR__newselect 230 +#define __NR_time 231 +#define __NR_splice 232 +#define __NR_stime 233 +#define __NR_statfs64 234 +#define __NR_fstatfs64 235 +#define __NR__llseek 236 +#define __NR_mlock 237 +#define __NR_munlock 238 +#define __NR_mlockall 239 +#define __NR_munlockall 240 +#define __NR_sched_setparam 241 +#define __NR_sched_getparam 242 +#define __NR_sched_setscheduler 243 +#define __NR_sched_getscheduler 244 +#define __NR_sched_yield 245 +#define __NR_sched_get_priority_max 246 +#define __NR_sched_get_priority_min 247 +#define __NR_sched_rr_get_interval 248 +#define __NR_nanosleep 249 +#define __NR_mremap 250 +#define __NR__sysctl 251 +#define __NR_getsid 252 +#define __NR_fdatasync 253 +#define __NR_nfsservctl 254 +#define __NR_sync_file_range 255 +#define __NR_clock_settime 256 +#define __NR_clock_gettime 257 +#define __NR_clock_getres 258 +#define __NR_clock_nanosleep 259 +#define __NR_sched_getaffinity 260 +#define __NR_sched_setaffinity 261 +#define __NR_timer_settime 262 +#define __NR_timer_gettime 263 +#define __NR_timer_getoverrun 264 +#define __NR_timer_delete 265 +#define __NR_timer_create 266 +#define __NR_vserver 267 +#define __NR_io_setup 268 +#define __NR_io_destroy 269 +#define __NR_io_submit 270 +#define __NR_io_cancel 271 +#define __NR_io_getevents 272 +#define __NR_mq_open 273 +#define __NR_mq_unlink 274 +#define __NR_mq_timedsend 275 +#define __NR_mq_timedreceive 276 +#define __NR_mq_notify 277 +#define __NR_mq_getsetattr 278 +#define __NR_waitid 279 +#define __NR_tee 280 +#define __NR_add_key 281 +#define __NR_request_key 282 +#define __NR_keyctl 283 +#define __NR_openat 284 +#define __NR_mkdirat 285 +#define __NR_mknodat 286 +#define __NR_fchownat 287 +#define __NR_futimesat 288 +#define __NR_fstatat64 289 +#define __NR_unlinkat 290 +#define __NR_renameat 291 +#define __NR_linkat 292 +#define __NR_symlinkat 293 +#define __NR_readlinkat 294 +#define __NR_fchmodat 295 +#define __NR_faccessat 296 +#define __NR_pselect6 297 +#define __NR_ppoll 298 +#define __NR_unshare 299 +#define __NR_set_robust_list 300 +#define __NR_get_robust_list 301 +#define __NR_migrate_pages 302 +#define __NR_mbind 303 +#define __NR_get_mempolicy 304 +#define __NR_set_mempolicy 305 +#define __NR_kexec_load 306 +#define __NR_move_pages 307 +#define __NR_getcpu 308 +#define __NR_epoll_pwait 309 +#define __NR_utimensat 310 +#define __NR_signalfd 311 +#define __NR_timerfd_create 312 +#define __NR_eventfd 313 +#define __NR_fallocate 314 +#define __NR_timerfd_settime 315 +#define __NR_timerfd_gettime 316 +#define __NR_signalfd4 317 +#define __NR_eventfd2 318 +#define __NR_epoll_create1 319 +#define __NR_dup3 320 +#define __NR_pipe2 321 +#define __NR_inotify_init1 322 +#define __NR_accept4 323 +#define __NR_preadv 324 +#define __NR_pwritev 325 +#define __NR_rt_tgsigqueueinfo 326 +#define __NR_perf_event_open 327 +#define __NR_recvmmsg 328 +#define __NR_fanotify_init 329 +#define __NR_fanotify_mark 330 +#define __NR_prlimit64 331 +#define __NR_name_to_handle_at 332 +#define __NR_open_by_handle_at 333 +#define __NR_clock_adjtime 334 +#define __NR_syncfs 335 +#define __NR_sendmmsg 336 +#define __NR_setns 337 +#define __NR_process_vm_readv 338 +#define __NR_process_vm_writev 339 +#define __NR_kern_features 340 +#define __NR_kcmp 341 +#define __NR_finit_module 342 +#define __NR_sched_setattr 343 +#define __NR_sched_getattr 344 +#define __NR_renameat2 345 +#define __NR_seccomp 346 +#define __NR_getrandom 347 +#define __NR_memfd_create 348 +#define __NR_bpf 349 +#define __NR_execveat 350 +#define __NR_membarrier 351 +#define __NR_userfaultfd 352 +#define __NR_bind 353 +#define __NR_listen 354 +#define __NR_setsockopt 355 +#define __NR_mlock2 356 +#define __NR_copy_file_range 357 +#define __NR_preadv2 358 +#define __NR_pwritev2 359 +#define __NR_statx 360 +#define __NR_io_pgetevents 361 +#define __NR_pkey_mprotect 362 +#define __NR_pkey_alloc 363 +#define __NR_pkey_free 364 +#define __NR_rseq 365 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_clock_gettime64 403 +#define __NR_clock_settime64 404 +#define __NR_clock_adjtime64 405 +#define __NR_clock_getres_time64 406 +#define __NR_clock_nanosleep_time64 407 +#define __NR_timer_gettime64 408 +#define __NR_timer_settime64 409 +#define __NR_timerfd_gettime64 410 +#define __NR_timerfd_settime64 411 +#define __NR_utimensat_time64 412 +#define __NR_pselect6_time64 413 +#define __NR_ppoll_time64 414 +#define __NR_io_pgetevents_time64 416 +#define __NR_recvmmsg_time64 417 +#define __NR_mq_timedsend_time64 418 +#define __NR_mq_timedreceive_time64 419 +#define __NR_semtimedop_time64 420 +#define __NR_rt_sigtimedwait_time64 421 +#define __NR_futex_time64 422 +#define __NR_sched_rr_get_interval_time64 423 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_32_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_64.h new file mode 100644 index 00000000..c98e7794 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/unistd_64.h @@ -0,0 +1,404 @@ +#ifndef _ASM_UNISTD_64_H +#define _ASM_UNISTD_64_H + +#define __NR_restart_syscall 0 +#define __NR_exit 1 +#define __NR_fork 2 +#define __NR_read 3 +#define __NR_write 4 +#define __NR_open 5 +#define __NR_close 6 +#define __NR_wait4 7 +#define __NR_creat 8 +#define __NR_link 9 +#define __NR_unlink 10 +#define __NR_execv 11 +#define __NR_chdir 12 +#define __NR_chown 13 +#define __NR_mknod 14 +#define __NR_chmod 15 +#define __NR_lchown 16 +#define __NR_brk 17 +#define __NR_perfctr 18 +#define __NR_lseek 19 +#define __NR_getpid 20 +#define __NR_capget 21 +#define __NR_capset 22 +#define __NR_setuid 23 +#define __NR_getuid 24 +#define __NR_vmsplice 25 +#define __NR_ptrace 26 +#define __NR_alarm 27 +#define __NR_sigaltstack 28 +#define __NR_pause 29 +#define __NR_utime 30 +#define __NR_access 33 +#define __NR_nice 34 +#define __NR_sync 36 +#define __NR_kill 37 +#define __NR_stat 38 +#define __NR_sendfile 39 +#define __NR_lstat 40 +#define __NR_dup 41 +#define __NR_pipe 42 +#define __NR_times 43 +#define __NR_umount2 45 +#define __NR_setgid 46 +#define __NR_getgid 47 +#define __NR_signal 48 +#define __NR_geteuid 49 +#define __NR_getegid 50 +#define __NR_acct 51 +#define __NR_memory_ordering 52 +#define __NR_ioctl 54 +#define __NR_reboot 55 +#define __NR_symlink 57 +#define __NR_readlink 58 +#define __NR_execve 59 +#define __NR_umask 60 +#define __NR_chroot 61 +#define __NR_fstat 62 +#define __NR_fstat64 63 +#define __NR_getpagesize 64 +#define __NR_msync 65 +#define __NR_vfork 66 +#define __NR_pread64 67 +#define __NR_pwrite64 68 +#define __NR_mmap 71 +#define __NR_munmap 73 +#define __NR_mprotect 74 +#define __NR_madvise 75 +#define __NR_vhangup 76 +#define __NR_mincore 78 +#define __NR_getgroups 79 +#define __NR_setgroups 80 +#define __NR_getpgrp 81 +#define __NR_setitimer 83 +#define __NR_swapon 85 +#define __NR_getitimer 86 +#define __NR_sethostname 88 +#define __NR_dup2 90 +#define __NR_fcntl 92 +#define __NR_select 93 +#define __NR_fsync 95 +#define __NR_setpriority 96 +#define __NR_socket 97 +#define __NR_connect 98 +#define __NR_accept 99 +#define __NR_getpriority 100 +#define __NR_rt_sigreturn 101 +#define __NR_rt_sigaction 102 +#define __NR_rt_sigprocmask 103 +#define __NR_rt_sigpending 104 +#define __NR_rt_sigtimedwait 105 +#define __NR_rt_sigqueueinfo 106 +#define __NR_rt_sigsuspend 107 +#define __NR_setresuid 108 +#define __NR_getresuid 109 +#define __NR_setresgid 110 +#define __NR_getresgid 111 +#define __NR_recvmsg 113 +#define __NR_sendmsg 114 +#define __NR_gettimeofday 116 +#define __NR_getrusage 117 +#define __NR_getsockopt 118 +#define __NR_getcwd 119 +#define __NR_readv 120 +#define __NR_writev 121 +#define __NR_settimeofday 122 +#define __NR_fchown 123 +#define __NR_fchmod 124 +#define __NR_recvfrom 125 +#define __NR_setreuid 126 +#define __NR_setregid 127 +#define __NR_rename 128 +#define __NR_truncate 129 +#define __NR_ftruncate 130 +#define __NR_flock 131 +#define __NR_lstat64 132 +#define __NR_sendto 133 +#define __NR_shutdown 134 +#define __NR_socketpair 135 +#define __NR_mkdir 136 +#define __NR_rmdir 137 +#define __NR_utimes 138 +#define __NR_stat64 139 +#define __NR_sendfile64 140 +#define __NR_getpeername 141 +#define __NR_futex 142 +#define __NR_gettid 143 +#define __NR_getrlimit 144 +#define __NR_setrlimit 145 +#define __NR_pivot_root 146 +#define __NR_prctl 147 +#define __NR_pciconfig_read 148 +#define __NR_pciconfig_write 149 +#define __NR_getsockname 150 +#define __NR_inotify_init 151 +#define __NR_inotify_add_watch 152 +#define __NR_poll 153 +#define __NR_getdents64 154 +#define __NR_inotify_rm_watch 156 +#define __NR_statfs 157 +#define __NR_fstatfs 158 +#define __NR_umount 159 +#define __NR_sched_set_affinity 160 +#define __NR_sched_get_affinity 161 +#define __NR_getdomainname 162 +#define __NR_setdomainname 163 +#define __NR_utrap_install 164 +#define __NR_quotactl 165 +#define __NR_set_tid_address 166 +#define __NR_mount 167 +#define __NR_ustat 168 +#define __NR_setxattr 169 +#define __NR_lsetxattr 170 +#define __NR_fsetxattr 171 +#define __NR_getxattr 172 +#define __NR_lgetxattr 173 +#define __NR_getdents 174 +#define __NR_setsid 175 +#define __NR_fchdir 176 +#define __NR_fgetxattr 177 +#define __NR_listxattr 178 +#define __NR_llistxattr 179 +#define __NR_flistxattr 180 +#define __NR_removexattr 181 +#define __NR_lremovexattr 182 +#define __NR_sigpending 183 +#define __NR_query_module 184 +#define __NR_setpgid 185 +#define __NR_fremovexattr 186 +#define __NR_tkill 187 +#define __NR_exit_group 188 +#define __NR_uname 189 +#define __NR_init_module 190 +#define __NR_personality 191 +#define __NR_remap_file_pages 192 +#define __NR_epoll_create 193 +#define __NR_epoll_ctl 194 +#define __NR_epoll_wait 195 +#define __NR_ioprio_set 196 +#define __NR_getppid 197 +#define __NR_sigaction 198 +#define __NR_sgetmask 199 +#define __NR_ssetmask 200 +#define __NR_sigsuspend 201 +#define __NR_oldlstat 202 +#define __NR_uselib 203 +#define __NR_readdir 204 +#define __NR_readahead 205 +#define __NR_socketcall 206 +#define __NR_syslog 207 +#define __NR_lookup_dcookie 208 +#define __NR_fadvise64 209 +#define __NR_fadvise64_64 210 +#define __NR_tgkill 211 +#define __NR_waitpid 212 +#define __NR_swapoff 213 +#define __NR_sysinfo 214 +#define __NR_ipc 215 +#define __NR_sigreturn 216 +#define __NR_clone 217 +#define __NR_ioprio_get 218 +#define __NR_adjtimex 219 +#define __NR_sigprocmask 220 +#define __NR_create_module 221 +#define __NR_delete_module 222 +#define __NR_get_kernel_syms 223 +#define __NR_getpgid 224 +#define __NR_bdflush 225 +#define __NR_sysfs 226 +#define __NR_afs_syscall 227 +#define __NR_setfsuid 228 +#define __NR_setfsgid 229 +#define __NR__newselect 230 +#define __NR_splice 232 +#define __NR_stime 233 +#define __NR_statfs64 234 +#define __NR_fstatfs64 235 +#define __NR__llseek 236 +#define __NR_mlock 237 +#define __NR_munlock 238 +#define __NR_mlockall 239 +#define __NR_munlockall 240 +#define __NR_sched_setparam 241 +#define __NR_sched_getparam 242 +#define __NR_sched_setscheduler 243 +#define __NR_sched_getscheduler 244 +#define __NR_sched_yield 245 +#define __NR_sched_get_priority_max 246 +#define __NR_sched_get_priority_min 247 +#define __NR_sched_rr_get_interval 248 +#define __NR_nanosleep 249 +#define __NR_mremap 250 +#define __NR__sysctl 251 +#define __NR_getsid 252 +#define __NR_fdatasync 253 +#define __NR_nfsservctl 254 +#define __NR_sync_file_range 255 +#define __NR_clock_settime 256 +#define __NR_clock_gettime 257 +#define __NR_clock_getres 258 +#define __NR_clock_nanosleep 259 +#define __NR_sched_getaffinity 260 +#define __NR_sched_setaffinity 261 +#define __NR_timer_settime 262 +#define __NR_timer_gettime 263 +#define __NR_timer_getoverrun 264 +#define __NR_timer_delete 265 +#define __NR_timer_create 266 +#define __NR_vserver 267 +#define __NR_io_setup 268 +#define __NR_io_destroy 269 +#define __NR_io_submit 270 +#define __NR_io_cancel 271 +#define __NR_io_getevents 272 +#define __NR_mq_open 273 +#define __NR_mq_unlink 274 +#define __NR_mq_timedsend 275 +#define __NR_mq_timedreceive 276 +#define __NR_mq_notify 277 +#define __NR_mq_getsetattr 278 +#define __NR_waitid 279 +#define __NR_tee 280 +#define __NR_add_key 281 +#define __NR_request_key 282 +#define __NR_keyctl 283 +#define __NR_openat 284 +#define __NR_mkdirat 285 +#define __NR_mknodat 286 +#define __NR_fchownat 287 +#define __NR_futimesat 288 +#define __NR_fstatat64 289 +#define __NR_unlinkat 290 +#define __NR_renameat 291 +#define __NR_linkat 292 +#define __NR_symlinkat 293 +#define __NR_readlinkat 294 +#define __NR_fchmodat 295 +#define __NR_faccessat 296 +#define __NR_pselect6 297 +#define __NR_ppoll 298 +#define __NR_unshare 299 +#define __NR_set_robust_list 300 +#define __NR_get_robust_list 301 +#define __NR_migrate_pages 302 +#define __NR_mbind 303 +#define __NR_get_mempolicy 304 +#define __NR_set_mempolicy 305 +#define __NR_kexec_load 306 +#define __NR_move_pages 307 +#define __NR_getcpu 308 +#define __NR_epoll_pwait 309 +#define __NR_utimensat 310 +#define __NR_signalfd 311 +#define __NR_timerfd_create 312 +#define __NR_eventfd 313 +#define __NR_fallocate 314 +#define __NR_timerfd_settime 315 +#define __NR_timerfd_gettime 316 +#define __NR_signalfd4 317 +#define __NR_eventfd2 318 +#define __NR_epoll_create1 319 +#define __NR_dup3 320 +#define __NR_pipe2 321 +#define __NR_inotify_init1 322 +#define __NR_accept4 323 +#define __NR_preadv 324 +#define __NR_pwritev 325 +#define __NR_rt_tgsigqueueinfo 326 +#define __NR_perf_event_open 327 +#define __NR_recvmmsg 328 +#define __NR_fanotify_init 329 +#define __NR_fanotify_mark 330 +#define __NR_prlimit64 331 +#define __NR_name_to_handle_at 332 +#define __NR_open_by_handle_at 333 +#define __NR_clock_adjtime 334 +#define __NR_syncfs 335 +#define __NR_sendmmsg 336 +#define __NR_setns 337 +#define __NR_process_vm_readv 338 +#define __NR_process_vm_writev 339 +#define __NR_kern_features 340 +#define __NR_kcmp 341 +#define __NR_finit_module 342 +#define __NR_sched_setattr 343 +#define __NR_sched_getattr 344 +#define __NR_renameat2 345 +#define __NR_seccomp 346 +#define __NR_getrandom 347 +#define __NR_memfd_create 348 +#define __NR_bpf 349 +#define __NR_execveat 350 +#define __NR_membarrier 351 +#define __NR_userfaultfd 352 +#define __NR_bind 353 +#define __NR_listen 354 +#define __NR_setsockopt 355 +#define __NR_mlock2 356 +#define __NR_copy_file_range 357 +#define __NR_preadv2 358 +#define __NR_pwritev2 359 +#define __NR_statx 360 +#define __NR_io_pgetevents 361 +#define __NR_pkey_mprotect 362 +#define __NR_pkey_alloc 363 +#define __NR_pkey_free 364 +#define __NR_rseq 365 +#define __NR_semtimedop 392 +#define __NR_semget 393 +#define __NR_semctl 394 +#define __NR_shmget 395 +#define __NR_shmctl 396 +#define __NR_shmat 397 +#define __NR_shmdt 398 +#define __NR_msgget 399 +#define __NR_msgsnd 400 +#define __NR_msgrcv 401 +#define __NR_msgctl 402 +#define __NR_pidfd_send_signal 424 +#define __NR_io_uring_setup 425 +#define __NR_io_uring_enter 426 +#define __NR_io_uring_register 427 +#define __NR_open_tree 428 +#define __NR_move_mount 429 +#define __NR_fsopen 430 +#define __NR_fsconfig 431 +#define __NR_fsmount 432 +#define __NR_fspick 433 +#define __NR_pidfd_open 434 +#define __NR_close_range 436 +#define __NR_openat2 437 +#define __NR_pidfd_getfd 438 +#define __NR_faccessat2 439 +#define __NR_process_madvise 440 +#define __NR_epoll_pwait2 441 +#define __NR_mount_setattr 442 +#define __NR_quotactl_fd 443 +#define __NR_landlock_create_ruleset 444 +#define __NR_landlock_add_rule 445 +#define __NR_landlock_restrict_self 446 +#define __NR_process_mrelease 448 +#define __NR_futex_waitv 449 +#define __NR_set_mempolicy_home_node 450 +#define __NR_cachestat 451 +#define __NR_fchmodat2 452 +#define __NR_map_shadow_stack 453 +#define __NR_futex_wake 454 +#define __NR_futex_wait 455 +#define __NR_futex_requeue 456 +#define __NR_statmount 457 +#define __NR_listmount 458 +#define __NR_lsm_get_self_attr 459 +#define __NR_lsm_set_self_attr 460 +#define __NR_lsm_list_modules 461 +#define __NR_mseal 462 +#define __NR_setxattrat 463 +#define __NR_getxattrat 464 +#define __NR_listxattrat 465 +#define __NR_removexattrat 466 + + +#endif /* _ASM_UNISTD_64_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/utrap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/utrap.h new file mode 100644 index 00000000..4bc0f926 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/utrap.h @@ -0,0 +1,52 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * include/asm/utrap.h + * + * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) + */ + +#ifndef __ASM_SPARC64_UTRAP_H +#define __ASM_SPARC64_UTRAP_H + +#define UT_INSTRUCTION_EXCEPTION 1 +#define UT_INSTRUCTION_ERROR 2 +#define UT_INSTRUCTION_PROTECTION 3 +#define UT_ILLTRAP_INSTRUCTION 4 +#define UT_ILLEGAL_INSTRUCTION 5 +#define UT_PRIVILEGED_OPCODE 6 +#define UT_FP_DISABLED 7 +#define UT_FP_EXCEPTION_IEEE_754 8 +#define UT_FP_EXCEPTION_OTHER 9 +#define UT_TAG_OVERVIEW 10 +#define UT_DIVISION_BY_ZERO 11 +#define UT_DATA_EXCEPTION 12 +#define UT_DATA_ERROR 13 +#define UT_DATA_PROTECTION 14 +#define UT_MEM_ADDRESS_NOT_ALIGNED 15 +#define UT_PRIVILEGED_ACTION 16 +#define UT_ASYNC_DATA_ERROR 17 +#define UT_TRAP_INSTRUCTION_16 18 +#define UT_TRAP_INSTRUCTION_17 19 +#define UT_TRAP_INSTRUCTION_18 20 +#define UT_TRAP_INSTRUCTION_19 21 +#define UT_TRAP_INSTRUCTION_20 22 +#define UT_TRAP_INSTRUCTION_21 23 +#define UT_TRAP_INSTRUCTION_22 24 +#define UT_TRAP_INSTRUCTION_23 25 +#define UT_TRAP_INSTRUCTION_24 26 +#define UT_TRAP_INSTRUCTION_25 27 +#define UT_TRAP_INSTRUCTION_26 28 +#define UT_TRAP_INSTRUCTION_27 29 +#define UT_TRAP_INSTRUCTION_28 30 +#define UT_TRAP_INSTRUCTION_29 31 +#define UT_TRAP_INSTRUCTION_30 32 +#define UT_TRAP_INSTRUCTION_31 33 + +#define UTH_NOCHANGE (-1) + +#ifndef __ASSEMBLY__ +typedef int utrap_entry_t; +typedef void *utrap_handler_t; +#endif /* __ASSEMBLY__ */ + +#endif /* !(__ASM_SPARC64_PROCESSOR_H) */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/watchdog.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/watchdog.h new file mode 100644 index 00000000..fadb4c83 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-any/asm/watchdog.h @@ -0,0 +1,31 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * + * watchdog - Driver interface for the hardware watchdog timers + * present on Sun Microsystems boardsets + * + * Copyright (c) 2000 Eric Brower + * + */ + +#ifndef _SPARC64_WATCHDOG_H +#define _SPARC64_WATCHDOG_H + +#include + +/* Solaris compatibility ioctls-- + * Ref. for standard linux watchdog ioctls + */ +#define WIOCSTART _IO (WATCHDOG_IOCTL_BASE, 10) /* Start Timer */ +#define WIOCSTOP _IO (WATCHDOG_IOCTL_BASE, 11) /* Stop Timer */ +#define WIOCGSTAT _IOR(WATCHDOG_IOCTL_BASE, 12, int)/* Get Timer Status */ + +/* Status flags from WIOCGSTAT ioctl + */ +#define WD_FREERUN 0x01 /* timer is running, interrupts disabled */ +#define WD_EXPIRED 0x02 /* timer has expired */ +#define WD_RUNNING 0x04 /* timer is running, interrupts enabled */ +#define WD_STOPPED 0x08 /* timer has not been started */ +#define WD_SERVICED 0x10 /* timer interrupt was serviced */ + +#endif /* ifndef _SPARC64_WATCHDOG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/a.out.h new file mode 100644 index 00000000..4002e18c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/a.out.h @@ -0,0 +1,174 @@ +#ifndef __A_OUT_GNU_H__ +#define __A_OUT_GNU_H__ + +#include + +#define __GNU_EXEC_MACROS__ + +struct exec +{ + unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ + unsigned char a_toolversion:7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; /* Length of text, in bytes. */ + unsigned int a_data; /* Length of data, in bytes. */ + unsigned int a_bss; /* Length of bss, in bytes. */ + unsigned int a_syms; /* Length of symbol table, in bytes. */ + unsigned int a_entry; /* Where program begins. */ + unsigned int a_trsize; + unsigned int a_drsize; +}; + +enum machine_type +{ + M_OLDSUN2 = 0, + M_68010 = 1, + M_68020 = 2, + M_SPARC = 3, + M_386 = 100, + M_MIPS1 = 151, + M_MIPS2 = 152 +}; + +#define N_MAGIC(exec) ((exec).a_info & 0xffff) +#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) +#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) +#define N_SET_INFO(exec, magic, type, flags) \ + ((exec).a_info = ((magic) & 0xffff) \ + | (((int)(type) & 0xff) << 16) \ + | (((flags) & 0xff) << 24)) +#define N_SET_MAGIC(exec, magic) \ + ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) +#define N_SET_MACHTYPE(exec, machtype) \ + ((exec).a_info = \ + ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) +#define N_SET_FLAGS(exec, flags) \ + ((exec).a_info = \ + ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) + +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +/* This indicates a demand-paged executable with the header in the text. + The first page is unmapped to help trap NULL pointer references. */ +#define QMAGIC 0314 +/* Code indicating core file. */ +#define CMAGIC 0421 + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) +#define _N_HDROFF(x) (1024 - sizeof (struct exec)) +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) +#define N_SYMOFF(x) \ + (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) +#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) + +#define SPARC_PGSIZE 0x2000 + +/* Address of text segment in memory after it is loaded. */ +#define N_TXTADDR(x) \ + (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ + ? 0 : SPARC_PGSIZE) + +/* Address of data segment in memory after it is loaded. */ +#define SEGMENT_SIZE SPARC_PGSIZE + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC \ + ? (N_TXTADDR(x) + (x).a_text) \ + : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) + +#if !defined (N_NLIST_DECLARED) +struct nlist +{ + union + { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif /* no N_NLIST_DECLARED. */ + +#define N_UNDF 0 +#define N_ABS 2 +#define N_TEXT 4 +#define N_DATA 6 +#define N_BSS 8 +#define N_FN 15 +#define N_EXT 1 +#define N_TYPE 036 +#define N_STAB 0340 +#define N_INDR 0xa +#define N_SETA 0x14 /* Absolute set element symbol. */ +#define N_SETT 0x16 /* Text set element symbol. */ +#define N_SETD 0x18 /* Data set element symbol. */ +#define N_SETB 0x1A /* Bss set element symbol. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#if !defined (N_RELOCATION_INFO_DECLARED) +enum reloc_type +{ + RELOC_8, + RELOC_16, + RELOC_32, + RELOC_DISP8, + RELOC_DISP16, + RELOC_DISP32, + RELOC_WDISP30, + RELOC_WDISP22, + RELOC_HI22, + RELOC_22, + RELOC_13, + RELOC_LO10, + RELOC_SFA_BASE, + RELOC_SFA_OFF13, + RELOC_BASE10, + RELOC_BASE13, + RELOC_BASE22, + RELOC_PC10, + RELOC_PC22, + RELOC_JMP_TBL, + RELOC_SEGOFF16, + RELOC_GLOB_DAT, + RELOC_JMP_SLOT, + RELOC_RELATIVE +}; + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + unsigned int r_address; + unsigned int r_index:24; + unsigned int r_extern:1; + int r_pad:2; + enum reloc_type r_type:5; + int r_addend; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + +#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/a.out.h new file mode 100644 index 00000000..c189482c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/a.out.h @@ -0,0 +1,13 @@ +#ifndef __A_OUT_GNU_H__ +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 + +/* Signal to users of this header that this architecture really doesn't + support a.out binary format. */ +#define __NO_A_OUT_SUPPORT 1 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..8b14090d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* Sparc is big-endian, but v9 supports endian conversion on loads/stores + and GCC supports such a mode. Be prepared. */ +#ifdef __LITTLE_ENDIAN__ +# define __BYTE_ORDER __LITTLE_ENDIAN +#else +# define __BYTE_ORDER __BIG_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/epoll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/epoll.h new file mode 100644 index 00000000..424774be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/epoll.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EPOLL_H +# error "Never use directly; include instead." +#endif + +/* Flags to be passed to epoll_create1. */ +enum + { + EPOLL_CLOEXEC = 0x400000 +#define EPOLL_CLOEXEC EPOLL_CLOEXEC + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/errno.h new file mode 100644 index 00000000..64526c7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/errno.h @@ -0,0 +1,53 @@ +/* Error constants. Linux/Sparc specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_ERRNO_H +#define _BITS_ERRNO_H 1 + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 127 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 132 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 133 +# endif + +# ifndef ERFKILL +# define ERFKILL 134 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 135 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/eventfd.h new file mode 100644 index 00000000..fac0f292 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 0x000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 0x400000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 0x004000 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..d51a7873 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fcntl.h @@ -0,0 +1,101 @@ +/* O_*, F_*, FD_* bit values for Linux/SPARC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define O_APPEND 0x0008 +#define O_ASYNC 0x0040 +#define O_CREAT 0x0200 /* not fcntl */ +#define O_TRUNC 0x0400 /* not fcntl */ +#define O_EXCL 0x0800 /* not fcntl */ +#define O_SYNC 0x802000 +#define O_NONBLOCK 0x4000 +#define O_NDELAY (0x0004 | O_NONBLOCK) +#define O_NOCTTY 0x8000 /* not fcntl */ + +#define __O_DIRECTORY 0x10000 /* must be a directory */ +#define __O_NOFOLLOW 0x20000 /* don't follow links */ +#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ + +#define __O_DIRECT 0x100000 /* direct disk access hint */ +#define __O_NOATIME 0x200000 /* Do not set atime. */ +#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ +#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0x40000 +#endif + +#define __O_DSYNC 0x2000 /* Synchronize data. */ + + +#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ +#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ + +#ifndef __USE_FILE_OFFSET64 +# define F_GETLK 7 /* Get record locking info. */ +# define F_SETLK 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW 9 /* Set record locking info (blocking). */ +#endif + +#if __WORDSIZE == 64 +# define F_GETLK64 7 /* Get record locking info. */ +# define F_SETLK64 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 9 /* Set record locking info (blocking). */ +#endif + +/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ +#define F_RDLCK 1 /* Read lock. */ +#define F_WRLCK 2 /* Write lock. */ +#define F_UNLCK 3 /* Remove lock. */ + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..2fac0487 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/fenv.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +#include + + +/* Define bits representing the exception. We use the bit positions + of the appropriate accrued exception bits from the FSR. */ +enum + { + FE_INVALID = +#define FE_INVALID (1 << 9) + FE_INVALID, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << 8) + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << 7) + FE_UNDERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << 6) + FE_DIVBYZERO, + FE_INEXACT = +#define FE_INEXACT (1 << 5) + FE_INEXACT + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The Sparc FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0 << 30) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (1 << 30) + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ + FE_DOWNWARD + }; + +#define __FE_ROUND_MASK (3U << 30) + + +/* Type representing exception flags. */ +typedef unsigned long int fexcept_t; + + +/* Type representing floating-point environment. */ +typedef unsigned long int fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exception is masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned long int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..409da7f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/hwcap.h @@ -0,0 +1,51 @@ +/* Defines for bits in AT_HWCAP. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +#define HWCAP_SPARC_FLUSH 0x00000001 +#define HWCAP_SPARC_STBAR 0x00000002 +#define HWCAP_SPARC_SWAP 0x00000004 +#define HWCAP_SPARC_MULDIV 0x00000008 +#define HWCAP_SPARC_V9 0x00000010 +#define HWCAP_SPARC_ULTRA3 0x00000020 +#define HWCAP_SPARC_BLKINIT 0x00000040 +#define HWCAP_SPARC_N2 0x00000080 +#define HWCAP_SPARC_MUL32 0x00000100 +#define HWCAP_SPARC_DIV32 0x00000200 +#define HWCAP_SPARC_FSMULD 0x00000400 +#define HWCAP_SPARC_V8PLUS 0x00000800 +#define HWCAP_SPARC_POPC 0x00001000 +#define HWCAP_SPARC_VIS 0x00002000 +#define HWCAP_SPARC_VIS2 0x00004000 +#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 +#define HWCAP_SPARC_FMAF 0x00010000 +#define HWCAP_SPARC_VIS3 0x00020000 +#define HWCAP_SPARC_HPC 0x00040000 +#define HWCAP_SPARC_RANDOM 0x00080000 +#define HWCAP_SPARC_TRANS 0x00100000 +#define HWCAP_SPARC_FJFMAU 0x00200000 +#define HWCAP_SPARC_IMA 0x00400000 +#define HWCAP_SPARC_ASI_CACHE_SPARING \ + 0x00800000 +#define HWCAP_SPARC_PAUSE 0x01000000 +#define HWCAP_SPARC_CBCOND 0x02000000 +#define HWCAP_SPARC_CRYPTO 0x04000000 +#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/inotify.h new file mode 100644 index 00000000..e6875618 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 0x400000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 0x004000 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ioctls.h new file mode 100644 index 00000000..f3589421 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ioctls.h @@ -0,0 +1,36 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Use the definitions from the kernel header files. */ +#include + +/* Oh well, this is necessary since the kernel data structure is + different from the user-level version. */ +#undef TCGETS +#undef TCSETS +#undef TCSETSW +#undef TCSETSF +#define TCGETS _IOR ('T', 8, char[36]) +#define TCSETS _IOW ('T', 9, char[36]) +#define TCSETSW _IOW ('T', 10, char[36]) +#define TCSETSF _IOW ('T', 11, char[36]) + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h new file mode 100644 index 00000000..cfa9c532 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/sparc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + unsigned short int __pad1; + unsigned short int __seq; /* Sequence number. */ + __extension__ unsigned long long int __glibc_reserved1; + __extension__ unsigned long long int __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/link.h new file mode 100644 index 00000000..b7852726 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/link.h @@ -0,0 +1,99 @@ +/* Machine-specific audit interfaces for dynamic linker. SPARC version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 32 + +typedef struct La_sparc32_regs +{ + uint32_t lr_lreg[8]; /* %l0 through %l7 */ + uint32_t lr_reg[6]; /* %o0 through %o5 */ + uint32_t lr_sp; /* %o6 */ + uint32_t lr_ra; /* %o7 */ + uint32_t lr_struct; /* Pass-by-reference struct pointer */ +} La_sparc32_regs; + +typedef struct La_sparc32_retval +{ + uint32_t lrv_reg[2]; /* %o0 and %o1 */ + double lrv_fpreg[2]; /* %f0 and %f2 */ +} La_sparc32_retval; + +#else + +typedef struct La_sparc64_regs +{ + uint64_t lr_lreg[8]; /* %l0 through %l7 */ + uint64_t lr_reg[6]; /* %o0 through %o5 */ + uint64_t lr_sp; /* %o6 */ + uint64_t lr_ra; /* %o7 */ + double lr_fpreg[16]; /* %f0 through %f30 */ +} La_sparc64_regs; + +typedef struct La_sparc64_retval +{ + uint64_t lrv_reg[4]; /* %o0 through %o3 */ + double lrv_fprev[4]; /* %f0 through %f8 */ +} La_sparc64_retval; + +#endif + +__BEGIN_DECLS + +#if __WORDSIZE == 32 + +extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc32_regs *__inregs, + La_sparc32_retval *__outregs, + const char *__symname); + +#else + +extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc64_regs *__inregs, + La_sparc64_retval *__outregs, + const char *__symname); + +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..608d7e06 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/long-double.h @@ -0,0 +1,27 @@ +/* Properties of long double type. SPARC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/mman.h new file mode 100644 index 00000000..28c384b7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/mman.h @@ -0,0 +1,53 @@ +/* Definitions for POSIX memory map interface. Linux/SPARC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x0100 /* Lock the mapping. */ +#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ +#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ +#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ +/* Include generic Linux declarations. */ +#include + +/* Other flags. */ +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/poll.h new file mode 100644 index 00000000..b881b080 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x200 +# define POLLREMOVE 0x400 +# define POLLRDHUP 0x800 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h new file mode 100644 index 00000000..3149f4c8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-extra.h @@ -0,0 +1,88 @@ +/* Extra sys/procfs.h definitions. SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 + +/* Provide 32-bit variants so that BFD can read 32-bit + core files. */ +#define ELF_NGREG32 38 +typedef struct + { + union + { + unsigned int pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned int __glibc_reserved; + unsigned int pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t32; + +typedef unsigned int elf_greg_t32; +typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; + +struct elf_prstatus32 + { + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned int pr_sigpend; /* Set of pending signals. */ + unsigned int pr_sighold; /* Set of held signals. */ + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct + { + int tv_sec, tv_usec; + } pr_utime, /* User time. */ + pr_stime, /* System time. */ + pr_cutime, /* Cumulative user time. */ + pr_cstime; /* Cumulative system time. */ + elf_gregset_t32 pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + +struct elf_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned int pr_flag; /* Flags. */ + unsigned short int pr_uid; + unsigned short int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +typedef elf_gregset_t32 prgregset32_t; +typedef elf_fpregset_t32 prfpregset32_t; + +typedef struct elf_prstatus32 prstatus32_t; +typedef struct elf_prpsinfo32 prpsinfo32_t; + +#endif /* sparc64 */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h new file mode 100644 index 00000000..08db45b7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs-id.h @@ -0,0 +1,30 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 +typedef unsigned int __pr_uid_t; +typedef unsigned int __pr_gid_t; +#else +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..f4f204a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/procfs.h @@ -0,0 +1,61 @@ +/* Types for registers for sys/procfs.h. SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +#if __WORDSIZE == 64 + +#define ELF_NGREG 36 + +typedef struct + { + unsigned long pr_regs[32]; + unsigned long pr_fsr; + unsigned long pr_gsr; + unsigned long pr_fprs; + } elf_fpregset_t; + +#else /* sparc32 */ + +#define ELF_NGREG 38 + +typedef struct + { + union + { + unsigned long pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned long __glibc_reserved; + unsigned long pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t; + +#endif /* sparc32 */ + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 00000000..baa588c0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. We are free to choose a reasonable value. */ +#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/resource.h new file mode 100644 index 00000000..c9b20dff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/resource.h @@ -0,0 +1,238 @@ +/* Bit values & structures for resource limits. Linux/SPARC version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 5, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 6, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 7, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if __WORDSIZE == 64 + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((unsigned long int)(~0UL)) +#else +# define RLIM_INFINITY 0xffffffffffffffffuLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffuLL +#endif + +#else + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0xffffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffLL +#endif + +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..8fb2bb11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/setjmp.h @@ -0,0 +1,67 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#include + +#if __WORDSIZE == 64 + +#ifndef _ASM +typedef struct __sparc64_jmp_buf + { + struct __sparc64_jmp_buf *__uc_link; + unsigned long __uc_flags; + unsigned long __uc_sigmask; + struct __sparc64_jmp_buf_mcontext + { + unsigned long __mc_gregs[19]; + unsigned long __mc_fp; + unsigned long __mc_i7; + struct __sparc64_jmp_buf_fpu + { + union + { + unsigned int __sregs[32]; + unsigned long __dregs[32]; + long double __qregs[16]; + } __mcfpu_fpregs; + unsigned long __mcfpu_fprs; + unsigned long __mcfpu_gsr; + void *__mcfpu_fq; + unsigned char __mcfpu_qcnt; + unsigned char __mcfpu_qentsz; + unsigned char __mcfpu_enab; + } __mc_fpregs; + } __uc_mcontext; + } __jmp_buf[1]; +#endif + +#else + +#ifndef _ASM +typedef int __jmp_buf[3]; +#endif + +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/shmlba.h new file mode 100644 index 00000000..49f9ae58 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. SPARC version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getshmlba ()) +extern int __getshmlba (void) __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigaction.h new file mode 100644 index 00000000..3ef3e0d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigaction.h @@ -0,0 +1,89 @@ +/* The proper definitions for Linux/SPARC sigaction. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#include + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* Special flags. */ +#if __WORDSIZE == 64 + int __glibc_reserved0; +#endif + int sa_flags; + + /* Not used by Linux/Sparc yet. */ + void (*sa_restorer) (void); + }; + + +/* Bits in `sa_flags'. */ +#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when + its handler is being executed. */ +# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 4 /* Set the set of blocked signals. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h new file mode 100644 index 00000000..20ca9e24 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 32 + +/* It is quite hard to choose what to put here, because + Linux/sparc32 had at least 3 totally incompatible + signal stack layouts. + This one is for the "new" style signals, which are + now delivered unless SA_SIGINFO is requested. */ + +struct sigcontext + { + struct + { + unsigned int psr; + unsigned int pc; + unsigned int npc; + unsigned int y; + unsigned int u_regs[16]; /* globals and ins */ + } si_regs; + int si_mask; + }; + +#else /* sparc64 */ + +typedef struct + { + unsigned int si_float_regs [64]; + unsigned long si_fsr; + unsigned long si_gsr; + unsigned long si_fprs; + } __siginfo_fpu_t; + +struct sigcontext + { + char sigc_info[128]; + struct + { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + unsigned int fprs; + } sigc_regs; + __siginfo_fpu_t * sigc_fpu_save; + struct + { + void * ss_sp; + int ss_flags; + unsigned long ss_size; + } sigc_stack; + unsigned long sigc_mask; +}; + +#endif /* sparc64 */ + +#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h new file mode 100644 index 00000000..f3360b0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-arch.h @@ -0,0 +1,17 @@ +/* Architecture-specific adjustments to siginfo_t. SPARC version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* The kernel uses int instead of long int (as in POSIX). In 32-bit + mode, we can still use long int, but in 64-bit mode, we need to + deviate from POSIX. */ +#if __WORDSIZE == 64 +# define __SI_BAND_TYPE int +#endif + +#define __SI_SIGFAULT_ADDL \ + int _si_trapno; + +#define si_trapno _sifields._sigfault._si_trapno + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h new file mode 100644 index 00000000..a1dd324e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/siginfo-consts-arch.h @@ -0,0 +1,12 @@ +/* Architecture-specific additional siginfo constants. SPARC version. */ +#ifndef _BITS_SIGINFO_CONSTS_ARCH_H +#define _BITS_SIGINFO_CONSTS_ARCH_H 1 + +/* `si_code' values for SIGEMT signal. */ +enum +{ + EMT_TAGOVF = 1 /* Tag overflow. */ +#define EMT_TAGOVF EMT_TAGOVF +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signalfd.h new file mode 100644 index 00000000..2dc0e606 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 0x400000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 0x004000 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h new file mode 100644 index 00000000..152e9a40 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/signum-arch.h @@ -0,0 +1,66 @@ +/* Signal number definitions. Linux/SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_ARCH_H +#define _BITS_SIGNUM_ARCH_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/SPARC systems. Signal values on this platform were chosen + for SunOS binary compatibility. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ +#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 16 /* Urgent data is available at a socket. */ +#define SIGSTOP 17 /* Stop, unblockable. */ +#define SIGTSTP 18 /* Keyboard stop. */ +#define SIGCONT 19 /* Continue. */ +#define SIGCHLD 20 /* Child terminated or stopped. */ +#define SIGTTIN 21 /* Background read from control terminal. */ +#define SIGTTOU 22 /* Background write to control terminal. */ +#define SIGPOLL 23 /* Pollable event occurred (System V). */ +#define SIGXCPU 24 /* CPU time limit exceeded. */ +#define SIGVTALRM 26 /* Virtual timer expired. */ +#define SIGPROF 27 /* Profiling timer expired. */ +#define SIGXFSZ 25 /* File size limit exceeded. */ +#define SIGUSR1 30 /* User-defined signal 1. */ +#define SIGUSR2 31 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +#define __SIGRTMIN 32 +#define __SIGRTMAX 64 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigstack.h new file mode 100644 index 00000000..42d3c1ba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h new file mode 100644 index 00000000..e9e2715d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for SPARC. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 32768 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 2048 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4096 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 8192 +# define SO_SNDTIMEO 16384 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 33 +# define SO_TIMESTAMPING 35 +#else +# define SO_RCVTIMEO_OLD 8192 +# define SO_SNDTIMEO_OLD 16384 +# define SO_RCVTIMEO_NEW 68 +# define SO_SNDTIMEO_NEW 69 + +# define SO_TIMESTAMP_OLD 0x001d +# define SO_TIMESTAMPNS_OLD 0x0021 +# define SO_TIMESTAMPING_OLD 0x0023 +# define SO_TIMESTAMP_NEW 0x0046 +# define SO_TIMESTAMPNS_NEW 0x0042 +# define SO_TIMESTAMPING_NEW 0x0043 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket_type.h new file mode 100644 index 00000000..f9acac32 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/SPARC. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..46246087 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,58 @@ +/* SPARC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +#else + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..a43cb63d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 + unsigned short int __pad1; +# endif + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h new file mode 100644 index 00000000..465e9bbb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-baud.h @@ -0,0 +1,46 @@ +/* termios baud rate selection definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0x0000100f +# define CBAUDEX 0x00001000 +# define CIBAUD 0x100f0000 /* input baud rate (not used) */ +# define CMSPAR 0x40000000 /* mark or space (stick) parity */ +# define CRTSCTS 0x80000000 /* flow control */ +#endif + +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +#define B76800 0x00001005 +#define B153600 0x00001006 +#define B307200 0x00001007 +#define B614400 0x00001008 +#define B921600 0x00001009 +#define B500000 0x0000100a +#define B576000 0x0000100b +#define B1000000 0x0000100c +#define B1152000 0x0000100d +#define B1500000 0x0000100e +#define B2000000 0x0000100f +#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h new file mode 100644 index 00000000..989b895d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VEOL 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 + +/* User apps assume vmin/vtime is shared with eof/eol */ +#define VMIN VEOF +#define VTIME VEOL \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h new file mode 100644 index 00000000..036be524 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-c_oflag.h @@ -0,0 +1,64 @@ +/* termios output mode definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0x00000001 +#define OLCUC 0x00000002 +#define ONLCR 0x00000004 +#define OCRNL 0x00000008 +#define ONOCR 0x00000010 +#define ONLRET 0x00000020 +#define OFILL 0x00000040 +#define OFDEL 0x00000080 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 0x00000100 +# define NL0 0x00000000 +# define NL1 0x00000100 +# define CRDLY 0x00000600 +# define CR0 0x00000000 +# define CR1 0x00000200 +# define CR2 0x00000400 +# define CR3 0x00000600 +# define TABDLY 0x00001800 +# define TAB0 0x00000000 +# define TAB1 0x00000800 +# define TAB2 0x00001000 +# define TAB3 0x00001800 +# define BSDLY 0x00002000 +# define BS0 0x00000000 +# define BS1 0x00002000 +#define FFDLY 0x00008000 +#define FF0 0x00000000 +#define FF1 0x00008000 +#endif +#define VTDLY 0x00004000 +#define VT0 0x00000000 +#define VT1 0x00004000 + +# if defined __USE_GNU +#define PAGEOUT 0x00010000 /* SUNOS specific */ +#define WRAP 0x00020000 /* SUNOS specific */ +# endif + +#ifdef __USE_MISC +# define XTABS 0x00001800 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h new file mode 100644 index 00000000..815227e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 17 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timerfd.h new file mode 100644 index 00000000..32e03256 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 0x400000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 0x004000 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..d020c10c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/sparc. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..6d0f2b9a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/SPARC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..f8db7f00 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* Sparc implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..88d72bb4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/types/struct_shmid_ds.h @@ -0,0 +1,49 @@ +/* Linux/SPARC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..e2837872 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __U32_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __S32_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#if defined __arch64__ || defined __sparcv9 +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..89de82e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __arch64__ || defined __sparcv9 +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/fpu_control.h new file mode 100644 index 00000000..94d7424e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/fpu_control.h @@ -0,0 +1,76 @@ +/* FPU control word bits. SPARC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H 1 + + +#include +#include + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x08000000 +#define _FPU_MASK_OM 0x04000000 +#define _FPU_MASK_UM 0x02000000 +#define _FPU_MASK_ZM 0x01000000 +#define _FPU_MASK_PM 0x00800000 + +/* precision control */ +#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ +#define _FPU_DOUBLE 0x20000000 +#define _FPU_80BIT 0x30000000 +#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ + +/* rounding control / Sparc */ +#define _FPU_RC_DOWN 0xc0000000 +#define _FPU_RC_UP 0x80000000 +#define _FPU_RC_ZERO 0x40000000 +#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ + +#define _FPU_RESERVED 0x303e0000 /* Reserved bits in cw */ + + +/* Now two recommended cw */ + +/* Linux and IEEE default: + - extended precision + - rounding to nearest + - no exceptions */ +#define _FPU_DEFAULT 0x0 +#define _FPU_IEEE 0x0 + +/* Type of the control word. */ +typedef unsigned long int fpu_control_t; + +#if __WORDSIZE == 64 +# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) +#else +# ifdef __leon__ + /* Prevent stfsr from being placed directly after other fp instruction. */ +# define _FPU_GETCW(cw) __asm__ __volatile__ ("nop; st %%fsr,%0" : "=m" (*&cw)) +# else +# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) +# endif +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..ad647150 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..120171a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ptrace.h new file mode 100644 index 00000000..3add6c11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ptrace.h @@ -0,0 +1,247 @@ +/* `ptrace' debugger support interface. Linux/SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include +#include + +/* Linux/SPARC kernels up to 2.3.18 do not care much + about what namespace pollution, so use a kludge now. */ +#undef PTRACE_GETREGS +#undef PTRACE_SETREGS +#undef PTRACE_GETFPREGS +#undef PTRACE_SETFPREGS +#undef PTRACE_READDATA +#undef PTRACE_WRITEDATA +#undef PTRACE_READTEXT +#undef PTRACE_WRITETEXT +#undef PTRACE_SUNDETACH + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 11, +#define PT_DETACH PTRACE_DETACH + + /* This define is needed for older programs which were + trying to work around sparc-linux ptrace nastiness. */ +#define PTRACE_SUNDETACH PTRACE_DETACH + +#if __WORDSIZE == 32 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Write several bytes at a time. */ + PTRACE_WRITEDATA = 17, +#define PTRACE_WRITEDATA PTRACE_WRITEDATA + + /* Read several bytes at a time. */ + PTRACE_READTEXT = 18, +#define PTRACE_READTEXT PTRACE_READTEXT +#define PTRACE_READDATA PTRACE_READTEXT + + /* Write several bytes at a time. */ + PTRACE_WRITETEXT = 19, +#define PTRACE_WRITETEXT PTRACE_WRITETEXT + +#if __WORDSIZE == 64 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 22, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 23, +#define PT_SETREGS PTRACE_SETREGS + +#endif + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PTRACE_SYSCALL PTRACE_SYSCALL + +#if __WORDSIZE == 64 + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 25, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 26, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..cd5938a7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/ucontext.h @@ -0,0 +1,304 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#if __WORDSIZE == 64 + +#define __MC_NGREG 19 +#ifdef __USE_MISC +# define MC_TSTATE 0 +# define MC_PC 1 +# define MC_NPC 2 +# define MC_Y 3 +# define MC_G1 4 +# define MC_G2 5 +# define MC_G3 6 +# define MC_G4 7 +# define MC_G5 8 +# define MC_G6 9 +# define MC_G7 10 +# define MC_O0 11 +# define MC_O1 12 +# define MC_O2 13 +# define MC_O3 14 +# define MC_O4 15 +# define MC_O5 16 +# define MC_O6 17 +# define MC_O7 18 +# define MC_NGREG __MC_NGREG +#endif + +typedef unsigned long mc_greg_t; +typedef mc_greg_t mc_gregset_t[__MC_NGREG]; + +#ifdef __USE_MISC +# define MC_MAXFPQ 16 +#endif +struct __mc_fq { + unsigned long *__ctx(mcfq_addr); + unsigned int __ctx(mcfq_insn); +}; + +typedef struct { + union { + unsigned int __ctx(sregs)[32]; + unsigned long __ctx(dregs)[32]; + long double __ctx(qregs)[16]; + } __ctx(mcfpu_fregs); + unsigned long __ctx(mcfpu_fsr); + unsigned long __ctx(mcfpu_fprs); + unsigned long __ctx(mcfpu_gsr); + struct __mc_fq *__ctx(mcfpu_fq); + unsigned char __ctx(mcfpu_qcnt); + unsigned char __ctx(mcfpu_qentsz); + unsigned char __ctx(mcfpu_enab); +} mc_fpu_t; + +typedef struct { + mc_gregset_t __ctx(mc_gregs); + mc_greg_t __ctx(mc_fp); + mc_greg_t __ctx(mc_i7); + mc_fpu_t __ctx(mc_fpregs); +} mcontext_t; + +typedef struct ucontext_t { + struct ucontext_t *uc_link; + unsigned long __ctx(uc_flags); + unsigned long __uc_sigmask; + mcontext_t uc_mcontext; + stack_t uc_stack; + sigset_t uc_sigmask; +} ucontext_t; + +#endif /* __WORDISIZE == 64 */ + +/* + * Location of the users' stored registers relative to R0. + * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. + */ +#ifdef __USE_MISC +# define REG_PSR (0) +# define REG_PC (1) +# define REG_nPC (2) +# define REG_Y (3) +# define REG_G1 (4) +# define REG_G2 (5) +# define REG_G3 (6) +# define REG_G4 (7) +# define REG_G5 (8) +# define REG_G6 (9) +# define REG_G7 (10) +# define REG_O0 (11) +# define REG_O1 (12) +# define REG_O2 (13) +# define REG_O3 (14) +# define REG_O4 (15) +# define REG_O5 (16) +# define REG_O6 (17) +# define REG_O7 (18) +#endif + +/* + * A gregset_t is defined as an array type for compatibility with the reference + * source. This is important due to differences in the way the C language + * treats arrays and structures as parameters. + * + * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), + * but that the ABI defines it absolutely to be 21 (resp. 19). + */ + +#if __WORDSIZE == 64 + +# define __NGREG 21 +# ifdef __USE_MISC +# define REG_ASI (19) +# define REG_FPRS (20) + +# define NGREG __NGREG +# endif +typedef long greg_t; + +#else /* __WORDSIZE == 32 */ + +# define __NGREG 19 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif +typedef int greg_t; + +#endif /* __WORDSIZE == 32 */ + +typedef greg_t gregset_t[__NGREG]; + +/* + * The following structures define how a register window can appear on the + * stack. This structure is available (when required) through the `gwins' + * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the + * maximum number of outstanding registers window defined in the SPARC + * architecture (*not* implementation). + */ +# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ +#ifdef __USE_MISC +# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW +#endif +struct __rwindow + { + greg_t __ctx(rw_local)[8]; /* locals */ + greg_t __ctx(rw_in)[8]; /* ins */ + }; + +#ifdef __USE_MISC +# define rw_fp __ctx(rw_in)[6] /* frame pointer */ +# define rw_rtn __ctx(rw_in)[7] /* return address */ +#endif + +typedef struct + { + int __ctx(wbcnt); + int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; + struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; + } gwindows_t; + +/* + * Floating point definitions. + */ + +#ifdef __USE_MISC +# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ +#endif + +/* + * struct fq defines the minimal format of a floating point instruction queue + * entry. The size of entries in the floating point queue are implementation + * dependent. The union FQu is guaranteed to be the first field in any ABI + * conformant system implementation. Any additional fields provided by an + * implementation should not be used applications designed to be ABI conformant. */ + +struct __fpq + { + unsigned long *__ctx(fpq_addr); /* address */ + unsigned long __ctx(fpq_instr); /* instruction */ + }; + +struct __fq + { + union /* FPU inst/addr queue */ + { + double __ctx(whole); + struct __fpq __ctx(fpq); + } __ctx(FQu); + }; + +#ifdef __USE_MISC +# define FPU_REGS_TYPE unsigned +# define FPU_DREGS_TYPE unsigned long long +# define V7_FPU_FSR_TYPE unsigned +# define V9_FPU_FSR_TYPE unsigned long long +# define V9_FPU_FPRS_TYPE unsigned +#endif + +#if __WORDSIZE == 64 + +typedef struct + { + union { /* FPU floating point regs */ + unsigned __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[32]; /* 32 doubles */ + long double __ctx(fpu_qregs)[16]; /* 16 quads */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned long __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +#else /* __WORDSIZE == 32 */ + +typedef struct + { + union { /* FPU floating point regs */ + __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[16]; /* 16 doubles */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +/* + * The following structure is for associating extra register state with + * the ucontext structure and is kept within the uc_mcontext filler area. + * + * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to + * extra register state. The exact format of the extra register state + * pointed to by xrs_ptr is platform-dependent. + * + * Note: a platform may or may not manage extra register state. + */ +typedef struct + { + unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ + void * __ctx(xrs_ptr); /* ptr to extra reg state */ + } xrs_t; + +#ifdef __USE_MISC +# define XRS_ID 0x78727300 /* the string "xrs" */ +#endif + +typedef struct + { + gregset_t __ctx(gregs); /* general register set */ + gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register + windows */ + fpregset_t __ctx(fpregs); /* floating point register set */ + xrs_t __ctx(xrs); /* POSSIBLE extra register state + association */ + long __glibc_reserved1[19]; + } mcontext_t; + + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + sigset_t uc_sigmask; + stack_t uc_stack; + mcontext_t uc_mcontext; + } ucontext_t; + +#endif /* __WORDSIZE == 32 */ +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/user.h new file mode 100644 index 00000000..b45cb81a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc-linux-gnu/sys/user.h @@ -0,0 +1,86 @@ +/* Copyright (C) 2003-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include + +struct sunos_regs +{ + unsigned int psr, pc, npc, y; + unsigned int regs[15]; +}; + +struct sunos_fpqueue +{ + unsigned int *addr; + unsigned int inst; +}; + +struct sunos_fp +{ + union + { + unsigned int regs[32]; + double reg_dbls[16]; + } fregs; + unsigned int fsr; + unsigned int flags; + unsigned int extra; + unsigned int fpq_count; + struct sunos_fpqueue fpq[16]; +}; + +struct sunos_fpu +{ + struct sunos_fp fpstatus; +}; + +/* The SunOS core file header layout. */ +struct user { + unsigned int magic; + unsigned int len; + struct sunos_regs regs; + struct + { + unsigned char a_dynamic :1; + unsigned char a_toolversion :7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; + unsigned int a_data; + unsigned int a_bss; + unsigned int a_syms; + unsigned int a_entry; + unsigned int a_trsize; + unsigned int a_drsize; + } uexec; + int signal; + size_t u_tsize; + size_t u_dsize; + size_t u_ssize; + char u_comm[17]; + struct sunos_fpu fpu; + unsigned int sigcode; +}; + +#define NBPG 0x2000 +#define UPAGES 1 +#define SUNOS_CORE_MAGIC 0x080456 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/a.out.h new file mode 100644 index 00000000..4002e18c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/a.out.h @@ -0,0 +1,174 @@ +#ifndef __A_OUT_GNU_H__ +#define __A_OUT_GNU_H__ + +#include + +#define __GNU_EXEC_MACROS__ + +struct exec +{ + unsigned char a_dynamic:1; /* A __DYNAMIC is in this image. */ + unsigned char a_toolversion:7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; /* Length of text, in bytes. */ + unsigned int a_data; /* Length of data, in bytes. */ + unsigned int a_bss; /* Length of bss, in bytes. */ + unsigned int a_syms; /* Length of symbol table, in bytes. */ + unsigned int a_entry; /* Where program begins. */ + unsigned int a_trsize; + unsigned int a_drsize; +}; + +enum machine_type +{ + M_OLDSUN2 = 0, + M_68010 = 1, + M_68020 = 2, + M_SPARC = 3, + M_386 = 100, + M_MIPS1 = 151, + M_MIPS2 = 152 +}; + +#define N_MAGIC(exec) ((exec).a_info & 0xffff) +#define N_MACHTYPE(exec) ((enum machine_type)(((exec).a_info >> 16) & 0xff)) +#define N_FLAGS(exec) (((exec).a_info >> 24) & 0xff) +#define N_SET_INFO(exec, magic, type, flags) \ + ((exec).a_info = ((magic) & 0xffff) \ + | (((int)(type) & 0xff) << 16) \ + | (((flags) & 0xff) << 24)) +#define N_SET_MAGIC(exec, magic) \ + ((exec).a_info = ((exec).a_info & 0xffff0000) | ((magic) & 0xffff)) +#define N_SET_MACHTYPE(exec, machtype) \ + ((exec).a_info = \ + ((exec).a_info&0xff00ffff) | ((((int)(machtype))&0xff) << 16)) +#define N_SET_FLAGS(exec, flags) \ + ((exec).a_info = \ + ((exec).a_info&0x00ffffff) | (((flags) & 0xff) << 24)) + +/* Code indicating object file or impure executable. */ +#define OMAGIC 0407 +/* Code indicating pure executable. */ +#define NMAGIC 0410 +/* Code indicating demand-paged executable. */ +#define ZMAGIC 0413 +/* This indicates a demand-paged executable with the header in the text. + The first page is unmapped to help trap NULL pointer references. */ +#define QMAGIC 0314 +/* Code indicating core file. */ +#define CMAGIC 0421 + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) +#define N_BADMAG(x) \ + (N_MAGIC(x) != OMAGIC && N_MAGIC(x) != NMAGIC \ + && N_MAGIC(x) != ZMAGIC && N_MAGIC(x) != QMAGIC) +#define _N_HDROFF(x) (1024 - sizeof (struct exec)) +#define N_TXTOFF(x) \ + (N_MAGIC(x) == ZMAGIC ? 0 : sizeof (struct exec)) +#define N_DATOFF(x) (N_TXTOFF(x) + (x).a_text) +#define N_TRELOFF(x) (N_DATOFF(x) + (x).a_data) +#define N_DRELOFF(x) (N_TRELOFF(x) + N_TRSIZE(x)) +#define N_SYMOFF(x) \ + (N_TXTOFF(x) + (x).a_text + (x).a_data + (x).a_trsize + (x).a_drsize) +#define N_STROFF(x) (N_SYMOFF(x) + N_SYMSIZE(x)) + +#define SPARC_PGSIZE 0x2000 + +/* Address of text segment in memory after it is loaded. */ +#define N_TXTADDR(x) \ + (unsigned long)(((N_MAGIC(x) == ZMAGIC) && ((x).a_entry < SPARC_PGSIZE)) \ + ? 0 : SPARC_PGSIZE) + +/* Address of data segment in memory after it is loaded. */ +#define SEGMENT_SIZE SPARC_PGSIZE + +#define _N_SEGMENT_ROUND(x) (((x) + SEGMENT_SIZE - 1) & ~(SEGMENT_SIZE - 1)) +#define _N_TXTENDADDR(x) (N_TXTADDR(x)+(x).a_text) + +#define N_DATADDR(x) \ + (N_MAGIC(x)==OMAGIC \ + ? (N_TXTADDR(x) + (x).a_text) \ + : (unsigned long)(_N_SEGMENT_ROUND (_N_TXTENDADDR(x)))) +#define N_BSSADDR(x) (N_DATADDR(x) + (x).a_data) + +#if !defined (N_NLIST_DECLARED) +struct nlist +{ + union + { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; +#endif /* no N_NLIST_DECLARED. */ + +#define N_UNDF 0 +#define N_ABS 2 +#define N_TEXT 4 +#define N_DATA 6 +#define N_BSS 8 +#define N_FN 15 +#define N_EXT 1 +#define N_TYPE 036 +#define N_STAB 0340 +#define N_INDR 0xa +#define N_SETA 0x14 /* Absolute set element symbol. */ +#define N_SETT 0x16 /* Text set element symbol. */ +#define N_SETD 0x18 /* Data set element symbol. */ +#define N_SETB 0x1A /* Bss set element symbol. */ +#define N_SETV 0x1C /* Pointer to set vector in data area. */ + +#if !defined (N_RELOCATION_INFO_DECLARED) +enum reloc_type +{ + RELOC_8, + RELOC_16, + RELOC_32, + RELOC_DISP8, + RELOC_DISP16, + RELOC_DISP32, + RELOC_WDISP30, + RELOC_WDISP22, + RELOC_HI22, + RELOC_22, + RELOC_13, + RELOC_LO10, + RELOC_SFA_BASE, + RELOC_SFA_OFF13, + RELOC_BASE10, + RELOC_BASE13, + RELOC_BASE22, + RELOC_PC10, + RELOC_PC22, + RELOC_JMP_TBL, + RELOC_SEGOFF16, + RELOC_GLOB_DAT, + RELOC_JMP_SLOT, + RELOC_RELATIVE +}; + +/* This structure describes a single relocation to be performed. + The text-relocation section of the file is a vector of these structures, + all of which apply to the text section. + Likewise, the data-relocation section applies to the data section. */ + +struct relocation_info +{ + unsigned int r_address; + unsigned int r_index:24; + unsigned int r_extern:1; + int r_pad:2; + enum reloc_type r_type:5; + int r_addend; +}; +#endif /* no N_RELOCATION_INFO_DECLARED. */ + +#endif /* __A_OUT_GNU_H__ */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/a.out.h new file mode 100644 index 00000000..c189482c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/a.out.h @@ -0,0 +1,13 @@ +#ifndef __A_OUT_GNU_H__ +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 64 + +/* Signal to users of this header that this architecture really doesn't + support a.out binary format. */ +#define __NO_A_OUT_SUPPORT 1 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/endianness.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/endianness.h new file mode 100644 index 00000000..8b14090d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/endianness.h @@ -0,0 +1,16 @@ +#ifndef _BITS_ENDIANNESS_H +#define _BITS_ENDIANNESS_H 1 + +#ifndef _BITS_ENDIAN_H +# error "Never use directly; include instead." +#endif + +/* Sparc is big-endian, but v9 supports endian conversion on loads/stores + and GCC supports such a mode. Be prepared. */ +#ifdef __LITTLE_ENDIAN__ +# define __BYTE_ORDER __LITTLE_ENDIAN +#else +# define __BYTE_ORDER __BIG_ENDIAN +#endif + +#endif /* bits/endianness.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/environments.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/environments.h new file mode 100644 index 00000000..5a19b4cb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/environments.h @@ -0,0 +1,96 @@ +/* Copyright (C) 1999-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _UNISTD_H +# error "Never include this file directly. Use instead" +#endif + +#include + +/* This header should define the following symbols under the described + situations. A value `1' means that the model is always supported, + `-1' means it is never supported. Undefined means it cannot be + statically decided. + + _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type + _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type + + _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type + _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type + + The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG, + _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32, + _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were + used in previous versions of the Unix standard and are available + only for compatibility. +*/ + +#if __WORDSIZE == 64 + +/* Environments with 32-bit wide pointers are optionally provided. + Therefore following macros aren't defined: + # undef _POSIX_V7_ILP32_OFF32 + # undef _POSIX_V7_ILP32_OFFBIG + # undef _POSIX_V6_ILP32_OFF32 + # undef _POSIX_V6_ILP32_OFFBIG + # undef _XBS5_ILP32_OFF32 + # undef _XBS5_ILP32_OFFBIG + and users need to check at runtime. */ + +/* We also have no use (for now) for an environment with bigger pointers + and offsets. */ +# define _POSIX_V7_LPBIG_OFFBIG -1 +# define _POSIX_V6_LPBIG_OFFBIG -1 +# define _XBS5_LPBIG_OFFBIG -1 + +/* By default we have 64-bit wide `long int', pointers and `off_t'. */ +# define _POSIX_V7_LP64_OFF64 1 +# define _POSIX_V6_LP64_OFF64 1 +# define _XBS5_LP64_OFF64 1 + +#else /* __WORDSIZE == 32 */ + +/* By default we have 32-bit wide `int', `long int', pointers and `off_t' + and all platforms support LFS. */ +# define _POSIX_V7_ILP32_OFF32 1 +# define _POSIX_V7_ILP32_OFFBIG 1 +# define _POSIX_V6_ILP32_OFF32 1 +# define _POSIX_V6_ILP32_OFFBIG 1 +# define _XBS5_ILP32_OFF32 1 +# define _XBS5_ILP32_OFFBIG 1 + +/* We optionally provide an environment with the above size but an 64-bit + side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */ + +/* Environments with 64-bit wide pointers can be provided, + so these macros aren't defined: + # undef _POSIX_V7_LP64_OFF64 + # undef _POSIX_V7_LPBIG_OFFBIG + # undef _POSIX_V6_LP64_OFF64 + # undef _POSIX_V6_LPBIG_OFFBIG + # undef _XBS5_LP64_OFF64 + # undef _XBS5_LPBIG_OFFBIG + and sysconf tests for it at runtime. */ + +#endif /* __WORDSIZE == 32 */ + +#define __ILP32_OFF32_CFLAGS "-m32" +#define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" +#define __ILP32_OFF32_LDFLAGS "-m32" +#define __ILP32_OFFBIG_LDFLAGS "-m32" +#define __LP64_OFF64_CFLAGS "-m64" +#define __LP64_OFF64_LDFLAGS "-m64" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/epoll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/epoll.h new file mode 100644 index 00000000..424774be --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/epoll.h @@ -0,0 +1,27 @@ +/* Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EPOLL_H +# error "Never use directly; include instead." +#endif + +/* Flags to be passed to epoll_create1. */ +enum + { + EPOLL_CLOEXEC = 0x400000 +#define EPOLL_CLOEXEC EPOLL_CLOEXEC + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/errno.h new file mode 100644 index 00000000..64526c7b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/errno.h @@ -0,0 +1,53 @@ +/* Error constants. Linux/Sparc specific version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_ERRNO_H +#define _BITS_ERRNO_H 1 + +#if !defined _ERRNO_H +# error "Never include directly; use instead." +#endif + +# include + +/* Older Linux headers do not define these constants. */ +# ifndef ENOTSUP +# define ENOTSUP EOPNOTSUPP +# endif + +# ifndef ECANCELED +# define ECANCELED 127 +# endif + +# ifndef EOWNERDEAD +# define EOWNERDEAD 132 +# endif + +# ifndef ENOTRECOVERABLE +# define ENOTRECOVERABLE 133 +# endif + +# ifndef ERFKILL +# define ERFKILL 134 +# endif + +# ifndef EHWPOISON +# define EHWPOISON 135 +# endif + +#endif /* bits/errno.h. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h new file mode 100644 index 00000000..fac0f292 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/eventfd.h @@ -0,0 +1,31 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_EVENTFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for eventfd. */ +enum + { + EFD_SEMAPHORE = 0x000001, +#define EFD_SEMAPHORE EFD_SEMAPHORE + EFD_CLOEXEC = 0x400000, +#define EFD_CLOEXEC EFD_CLOEXEC + EFD_NONBLOCK = 0x004000 +#define EFD_NONBLOCK EFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h new file mode 100644 index 00000000..d51a7873 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fcntl.h @@ -0,0 +1,101 @@ +/* O_*, F_*, FD_* bit values for Linux/SPARC. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FCNTL_H +# error "Never use directly; include instead." +#endif + +#include + +#define O_APPEND 0x0008 +#define O_ASYNC 0x0040 +#define O_CREAT 0x0200 /* not fcntl */ +#define O_TRUNC 0x0400 /* not fcntl */ +#define O_EXCL 0x0800 /* not fcntl */ +#define O_SYNC 0x802000 +#define O_NONBLOCK 0x4000 +#define O_NDELAY (0x0004 | O_NONBLOCK) +#define O_NOCTTY 0x8000 /* not fcntl */ + +#define __O_DIRECTORY 0x10000 /* must be a directory */ +#define __O_NOFOLLOW 0x20000 /* don't follow links */ +#define __O_CLOEXEC 0x400000 /* Set close_on_exit. */ + +#define __O_DIRECT 0x100000 /* direct disk access hint */ +#define __O_NOATIME 0x200000 /* Do not set atime. */ +#define __O_PATH 0x1000000 /* Resolve pathname but do not open file. */ +#define __O_TMPFILE 0x2010000 /* Atomically create nameless file. */ + +#if __WORDSIZE == 64 +# define __O_LARGEFILE 0 +#else +# define __O_LARGEFILE 0x40000 +#endif + +#define __O_DSYNC 0x2000 /* Synchronize data. */ + + +#define __F_GETOWN 5 /* Get owner (process receiving SIGIO). */ +#define __F_SETOWN 6 /* Set owner (process receiving SIGIO). */ + +#ifndef __USE_FILE_OFFSET64 +# define F_GETLK 7 /* Get record locking info. */ +# define F_SETLK 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW 9 /* Set record locking info (blocking). */ +#endif + +#if __WORDSIZE == 64 +# define F_GETLK64 7 /* Get record locking info. */ +# define F_SETLK64 8 /* Set record locking info (non-blocking). */ +# define F_SETLKW64 9 /* Set record locking info (blocking). */ +#endif + +/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ +#define F_RDLCK 1 /* Read lock. */ +#define F_WRLCK 2 /* Write lock. */ +#define F_UNLCK 3 /* Remove lock. */ + +struct flock + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ +#ifndef __USE_FILE_OFFSET64 + __off_t l_start; /* Offset where the lock begins. */ + __off_t l_len; /* Size of the locked area; zero means until EOF. */ +#else + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ +#endif + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; + +#ifdef __USE_LARGEFILE64 +struct flock64 + { + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ + __off64_t l_start; /* Offset where the lock begins. */ + __off64_t l_len; /* Size of the locked area; zero means until EOF. */ + __pid_t l_pid; /* Process holding the lock. */ + short int __glibc_reserved; + }; +#endif + +/* Include generic Linux declarations. */ +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fenv.h new file mode 100644 index 00000000..2fac0487 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/fenv.h @@ -0,0 +1,92 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FENV_H +# error "Never use directly; include instead." +#endif + +#include + + +/* Define bits representing the exception. We use the bit positions + of the appropriate accrued exception bits from the FSR. */ +enum + { + FE_INVALID = +#define FE_INVALID (1 << 9) + FE_INVALID, + FE_OVERFLOW = +#define FE_OVERFLOW (1 << 8) + FE_OVERFLOW, + FE_UNDERFLOW = +#define FE_UNDERFLOW (1 << 7) + FE_UNDERFLOW, + FE_DIVBYZERO = +#define FE_DIVBYZERO (1 << 6) + FE_DIVBYZERO, + FE_INEXACT = +#define FE_INEXACT (1 << 5) + FE_INEXACT + }; + +#define FE_ALL_EXCEPT \ + (FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID) + +/* The Sparc FPU supports all of the four defined rounding modes. We + use again the bit positions in the FPU control word as the values + for the appropriate macros. */ +enum + { + FE_TONEAREST = +#define FE_TONEAREST (0 << 30) + FE_TONEAREST, + FE_TOWARDZERO = +#define FE_TOWARDZERO (1 << 30) + FE_TOWARDZERO, + FE_UPWARD = +#define FE_UPWARD (-0x7fffffff - 1) /* (2 << 30) */ + FE_UPWARD, + FE_DOWNWARD = +#define FE_DOWNWARD (-0x40000000) /* (3 << 30) */ + FE_DOWNWARD + }; + +#define __FE_ROUND_MASK (3U << 30) + + +/* Type representing exception flags. */ +typedef unsigned long int fexcept_t; + + +/* Type representing floating-point environment. */ +typedef unsigned long int fenv_t; + +/* If the default argument is used we use this value. */ +#define FE_DFL_ENV ((const fenv_t *) -1) + +#ifdef __USE_GNU +/* Floating-point environment where none of the exception is masked. */ +# define FE_NOMASK_ENV ((const fenv_t *) -2) +#endif + +#if __GLIBC_USE (IEC_60559_BFP_EXT_C23) +/* Type representing floating-point control modes. */ +typedef unsigned long int femode_t; + +/* Default floating-point control modes. */ +# define FE_DFL_MODE ((const femode_t *) -1L) +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h new file mode 100644 index 00000000..409da7f3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/hwcap.h @@ -0,0 +1,51 @@ +/* Defines for bits in AT_HWCAP. + Copyright (C) 2011-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#if !defined(_SYS_AUXV_H) && !defined(_SYSDEPS_SYSDEP_H) +# error "Never include directly; use instead." +#endif + +#define HWCAP_SPARC_FLUSH 0x00000001 +#define HWCAP_SPARC_STBAR 0x00000002 +#define HWCAP_SPARC_SWAP 0x00000004 +#define HWCAP_SPARC_MULDIV 0x00000008 +#define HWCAP_SPARC_V9 0x00000010 +#define HWCAP_SPARC_ULTRA3 0x00000020 +#define HWCAP_SPARC_BLKINIT 0x00000040 +#define HWCAP_SPARC_N2 0x00000080 +#define HWCAP_SPARC_MUL32 0x00000100 +#define HWCAP_SPARC_DIV32 0x00000200 +#define HWCAP_SPARC_FSMULD 0x00000400 +#define HWCAP_SPARC_V8PLUS 0x00000800 +#define HWCAP_SPARC_POPC 0x00001000 +#define HWCAP_SPARC_VIS 0x00002000 +#define HWCAP_SPARC_VIS2 0x00004000 +#define HWCAP_SPARC_ASI_BLK_INIT 0x00008000 +#define HWCAP_SPARC_FMAF 0x00010000 +#define HWCAP_SPARC_VIS3 0x00020000 +#define HWCAP_SPARC_HPC 0x00040000 +#define HWCAP_SPARC_RANDOM 0x00080000 +#define HWCAP_SPARC_TRANS 0x00100000 +#define HWCAP_SPARC_FJFMAU 0x00200000 +#define HWCAP_SPARC_IMA 0x00400000 +#define HWCAP_SPARC_ASI_CACHE_SPARING \ + 0x00800000 +#define HWCAP_SPARC_PAUSE 0x01000000 +#define HWCAP_SPARC_CBCOND 0x02000000 +#define HWCAP_SPARC_CRYPTO 0x04000000 +#define HWCAP_SPARC_ADP 0x08000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/inotify.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/inotify.h new file mode 100644 index 00000000..e6875618 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/inotify.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_INOTIFY_H +# error "Never use directly; include instead." +#endif + +/* Flags for the parameter of inotify_init1. */ +enum + { + IN_CLOEXEC = 0x400000, +#define IN_CLOEXEC IN_CLOEXEC + IN_NONBLOCK = 0x004000 +#define IN_NONBLOCK IN_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h new file mode 100644 index 00000000..f3589421 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ioctls.h @@ -0,0 +1,36 @@ +/* Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IOCTL_H +# error "Never use directly; include instead." +#endif + +/* Use the definitions from the kernel header files. */ +#include + +/* Oh well, this is necessary since the kernel data structure is + different from the user-level version. */ +#undef TCGETS +#undef TCSETS +#undef TCSETSW +#undef TCSETSF +#define TCGETS _IOR ('T', 8, char[36]) +#define TCSETS _IOW ('T', 9, char[36]) +#define TCSETSW _IOW ('T', 10, char[36]) +#define TCSETSF _IOW ('T', 11, char[36]) + +#include \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h new file mode 100644 index 00000000..cfa9c532 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/ipc-perm.h @@ -0,0 +1,36 @@ +/* struct ipc_perm definition. Linux/sparc version. + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_IPC_H +# error "Never use directly; include instead." +#endif + +/* Data structure used to pass permission information to IPC operations. */ +struct ipc_perm + { + __key_t __key; /* Key. */ + __uid_t uid; /* Owner's user ID. */ + __gid_t gid; /* Owner's group ID. */ + __uid_t cuid; /* Creator's user ID. */ + __gid_t cgid; /* Creator's group ID. */ + __mode_t mode; /* Read/write permission. */ + unsigned short int __pad1; + unsigned short int __seq; /* Sequence number. */ + __extension__ unsigned long long int __glibc_reserved1; + __extension__ unsigned long long int __glibc_reserved2; + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/link.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/link.h new file mode 100644 index 00000000..b7852726 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/link.h @@ -0,0 +1,99 @@ +/* Machine-specific audit interfaces for dynamic linker. SPARC version. + Copyright (C) 2005-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _LINK_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 32 + +typedef struct La_sparc32_regs +{ + uint32_t lr_lreg[8]; /* %l0 through %l7 */ + uint32_t lr_reg[6]; /* %o0 through %o5 */ + uint32_t lr_sp; /* %o6 */ + uint32_t lr_ra; /* %o7 */ + uint32_t lr_struct; /* Pass-by-reference struct pointer */ +} La_sparc32_regs; + +typedef struct La_sparc32_retval +{ + uint32_t lrv_reg[2]; /* %o0 and %o1 */ + double lrv_fpreg[2]; /* %f0 and %f2 */ +} La_sparc32_retval; + +#else + +typedef struct La_sparc64_regs +{ + uint64_t lr_lreg[8]; /* %l0 through %l7 */ + uint64_t lr_reg[6]; /* %o0 through %o5 */ + uint64_t lr_sp; /* %o6 */ + uint64_t lr_ra; /* %o7 */ + double lr_fpreg[16]; /* %f0 through %f30 */ +} La_sparc64_regs; + +typedef struct La_sparc64_retval +{ + uint64_t lrv_reg[4]; /* %o0 through %o3 */ + double lrv_fprev[4]; /* %f0 through %f8 */ +} La_sparc64_retval; + +#endif + +__BEGIN_DECLS + +#if __WORDSIZE == 32 + +extern Elf32_Addr la_sparc32_gnu_pltenter (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc32_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc32_gnu_pltexit (Elf32_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc32_regs *__inregs, + La_sparc32_retval *__outregs, + const char *__symname); + +#else + +extern Elf64_Addr la_sparc64_gnu_pltenter (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + La_sparc64_regs *__regs, + unsigned int *__flags, + const char *__symname, + long int *__framesizep); +extern unsigned int la_sparc64_gnu_pltexit (Elf64_Sym *__sym, + unsigned int __ndx, + uintptr_t *__refcook, + uintptr_t *__defcook, + const La_sparc64_regs *__inregs, + La_sparc64_retval *__outregs, + const char *__symname); + +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/long-double.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/long-double.h new file mode 100644 index 00000000..608d7e06 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/long-double.h @@ -0,0 +1,27 @@ +/* Properties of long double type. SPARC version. + Copyright (C) 2016-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +#if !defined __NO_LONG_DOUBLE_MATH && __WORDSIZE == 32 +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif +#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/mman.h new file mode 100644 index 00000000..28c384b7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/mman.h @@ -0,0 +1,53 @@ +/* Definitions for POSIX memory map interface. Linux/SPARC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MMAN_H +# error "Never use directly; include instead." +#endif + +/* The following definitions basically come from the kernel headers. + But the kernel header is not namespace clean. */ + + +/* These are Linux-specific. */ +#define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ +#define MAP_DENYWRITE 0x0800 /* ETXTBSY */ +#define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ +#define MAP_LOCKED 0x0100 /* Lock the mapping. */ +#define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ +#define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ +#define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +#define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ +#define MAP_STACK 0x20000 /* Allocation is for a stack. */ +#define MAP_HUGETLB 0x40000 /* Create huge page mapping. */ +#define MAP_SYNC 0x80000 /* Perform synchronous page + faults for the mapping. */ +#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED but do not unmap + underlying mapping. */ + +/* Flags for `mlockall'. */ +#define MCL_CURRENT 0x2000 /* Lock all currently mapped pages. */ +#define MCL_FUTURE 0x4000 /* Lock all additions to address + space. */ +#define MCL_ONFAULT 0x8000 /* Lock all pages that are + faulted in. */ +/* Include generic Linux declarations. */ +#include + +/* Other flags. */ +#define MAP_RENAME MAP_ANONYMOUS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/poll.h new file mode 100644 index 00000000..b881b080 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/poll.h @@ -0,0 +1,49 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_POLL_H +# error "Never use directly; include instead." +#endif + +/* Event types that can be polled for. These bits may be set in `events' + to indicate the interesting event types; they will appear in `revents' + to indicate the status of the file descriptor. */ +#define POLLIN 0x001 /* There is data to read. */ +#define POLLPRI 0x002 /* There is urgent data to read. */ +#define POLLOUT 0x004 /* Writing now will not block. */ + +#if defined __USE_XOPEN || defined __USE_XOPEN2K8 +/* These values are defined in XPG4.2. */ +# define POLLRDNORM 0x040 /* Normal data may be read. */ +# define POLLRDBAND 0x080 /* Priority data may be read. */ +# define POLLWRNORM POLLOUT /* Writing now will not block. */ +# define POLLWRBAND 0x100 /* Priority data may be written. */ +#endif + +#ifdef __USE_GNU +/* These are extensions for Linux. */ +# define POLLMSG 0x200 +# define POLLREMOVE 0x400 +# define POLLRDHUP 0x800 +#endif + +/* Event types always implicitly polled for. These bits need not be set in + `events', but they will appear in `revents' to indicate the status of + the file descriptor. */ +#define POLLERR 0x008 /* Error condition. */ +#define POLLHUP 0x010 /* Hung up. */ +#define POLLNVAL 0x020 /* Invalid polling request. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h new file mode 100644 index 00000000..3149f4c8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-extra.h @@ -0,0 +1,88 @@ +/* Extra sys/procfs.h definitions. SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 + +/* Provide 32-bit variants so that BFD can read 32-bit + core files. */ +#define ELF_NGREG32 38 +typedef struct + { + union + { + unsigned int pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned int __glibc_reserved; + unsigned int pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t32; + +typedef unsigned int elf_greg_t32; +typedef elf_greg_t32 elf_gregset_t32[ELF_NGREG32]; + +struct elf_prstatus32 + { + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned int pr_sigpend; /* Set of pending signals. */ + unsigned int pr_sighold; /* Set of held signals. */ + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct + { + int tv_sec, tv_usec; + } pr_utime, /* User time. */ + pr_stime, /* System time. */ + pr_cutime, /* Cumulative user time. */ + pr_cstime; /* Cumulative system time. */ + elf_gregset_t32 pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + +struct elf_prpsinfo32 + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned int pr_flag; /* Flags. */ + unsigned short int pr_uid; + unsigned short int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +typedef elf_gregset_t32 prgregset32_t; +typedef elf_fpregset_t32 prfpregset32_t; + +typedef struct elf_prstatus32 prstatus32_t; +typedef struct elf_prpsinfo32 prpsinfo32_t; + +#endif /* sparc64 */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h new file mode 100644 index 00000000..08db45b7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs-id.h @@ -0,0 +1,30 @@ +/* Types of pr_uid and pr_gid in struct elf_prpsinfo. SPARC version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#if __WORDSIZE == 64 +typedef unsigned int __pr_uid_t; +typedef unsigned int __pr_gid_t; +#else +typedef unsigned short int __pr_uid_t; +typedef unsigned short int __pr_gid_t; +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs.h new file mode 100644 index 00000000..f4f204a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/procfs.h @@ -0,0 +1,61 @@ +/* Types for registers for sys/procfs.h. SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PROCFS_H +# error "Never include directly; use instead." +#endif + +#include +#include +#include + +#if __WORDSIZE == 64 + +#define ELF_NGREG 36 + +typedef struct + { + unsigned long pr_regs[32]; + unsigned long pr_fsr; + unsigned long pr_gsr; + unsigned long pr_fprs; + } elf_fpregset_t; + +#else /* sparc32 */ + +#define ELF_NGREG 38 + +typedef struct + { + union + { + unsigned long pr_regs[32]; + double pr_dregs[16]; + } pr_fr; + unsigned long __glibc_reserved; + unsigned long pr_fsr; + unsigned char pr_qcnt; + unsigned char pr_q_entrysize; + unsigned char pr_en; + unsigned int pr_q[64]; + } elf_fpregset_t; + +#endif /* sparc32 */ + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h new file mode 100644 index 00000000..baa588c0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/pthread_stack_min.h @@ -0,0 +1,20 @@ +/* Definition of PTHREAD_STACK_MIN. Linux/SPARC version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If + not, see . */ + +/* Minimum size for a thread. We are free to choose a reasonable value. */ +#define PTHREAD_STACK_MIN 24576 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/resource.h new file mode 100644 index 00000000..c9b20dff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/resource.h @@ -0,0 +1,238 @@ +/* Bit values & structures for resource limits. Linux/SPARC version. + Copyright (C) 1994-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RESOURCE_H +# error "Never use directly; include instead." +#endif + +#include + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + __RLIMIT_RSS = 5, +#define RLIMIT_RSS __RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 6, + __RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE __RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + __RLIMIT_NPROC = 7, +#define RLIMIT_NPROC __RLIMIT_NPROC + + /* Locked-in-memory address space. */ + __RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK __RLIMIT_MEMLOCK + + /* Maximum number of file locks. */ + __RLIMIT_LOCKS = 10, +#define RLIMIT_LOCKS __RLIMIT_LOCKS + + /* Maximum number of pending signals. */ + __RLIMIT_SIGPENDING = 11, +#define RLIMIT_SIGPENDING __RLIMIT_SIGPENDING + + /* Maximum bytes in POSIX message queues. */ + __RLIMIT_MSGQUEUE = 12, +#define RLIMIT_MSGQUEUE __RLIMIT_MSGQUEUE + + /* Maximum nice priority allowed to raise to. + Nice levels 19 .. -20 correspond to 0 .. 39 + values of this resource limit. */ + __RLIMIT_NICE = 13, +#define RLIMIT_NICE __RLIMIT_NICE + + /* Maximum realtime priority allowed for non-priviledged + processes. */ + __RLIMIT_RTPRIO = 14, +#define RLIMIT_RTPRIO __RLIMIT_RTPRIO + + /* Maximum CPU time in microseconds that a process scheduled under a real-time + scheduling policy may consume without making a blocking system + call before being forcibly descheduled. */ + __RLIMIT_RTTIME = 15, +#define RLIMIT_RTTIME __RLIMIT_RTTIME + + __RLIMIT_NLIMITS = 16, + __RLIM_NLIMITS = __RLIMIT_NLIMITS +#define RLIMIT_NLIMITS __RLIMIT_NLIMITS +#define RLIM_NLIMITS __RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if __WORDSIZE == 64 + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((unsigned long int)(~0UL)) +#else +# define RLIM_INFINITY 0xffffffffffffffffuLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffuLL +#endif + +#else + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0xffffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffLL +#endif + +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1 +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + +#ifdef __USE_GNU + , + /* The calling thread. */ + RUSAGE_THREAD = 1 +# define RUSAGE_THREAD RUSAGE_THREAD + /* Name for the same functionality on Solaris. */ +# define RUSAGE_LWP RUSAGE_THREAD +#endif +}; + +#include +#include + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; + +__BEGIN_DECLS + +#ifdef __USE_GNU +/* Modify and return resource limits of a process atomically. */ +# ifndef __USE_FILE_OFFSET64 +extern int prlimit (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit) __THROW; +# else +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (prlimit, (__pid_t __pid, + enum __rlimit_resource __resource, + const struct rlimit *__new_limit, + struct rlimit *__old_limit), prlimit64); +# else +# define prlimit prlimit64 +# endif +# endif +# ifdef __USE_LARGEFILE64 +extern int prlimit64 (__pid_t __pid, enum __rlimit_resource __resource, + const struct rlimit64 *__new_limit, + struct rlimit64 *__old_limit) __THROW; +# endif +#endif + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/rseq.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/rseq.h new file mode 100644 index 00000000..90b3e980 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/rseq.h @@ -0,0 +1,29 @@ +/* Restartable Sequences architecture header. Stub version. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_RSEQ_H +# error "Never use directly; include instead." +#endif + +/* RSEQ_SIG is a signature required before each abort handler code. + + It is a 32-bit value that maps to actual architecture code compiled + into applications and libraries. It needs to be defined for each + architecture. When choosing this value, it needs to be taken into + account that generating invalid instructions may have ill effects on + tools like objdump, and may also have impact on the CPU speculative + execution efficiency in some cases. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h new file mode 100644 index 00000000..8fb2bb11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/setjmp.h @@ -0,0 +1,67 @@ +/* Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SETJMP_H +#define _BITS_SETJMP_H 1 + +#if !defined _SETJMP_H && !defined _PTHREAD_H +# error "Never include directly; use instead." +#endif + +#include + +#if __WORDSIZE == 64 + +#ifndef _ASM +typedef struct __sparc64_jmp_buf + { + struct __sparc64_jmp_buf *__uc_link; + unsigned long __uc_flags; + unsigned long __uc_sigmask; + struct __sparc64_jmp_buf_mcontext + { + unsigned long __mc_gregs[19]; + unsigned long __mc_fp; + unsigned long __mc_i7; + struct __sparc64_jmp_buf_fpu + { + union + { + unsigned int __sregs[32]; + unsigned long __dregs[32]; + long double __qregs[16]; + } __mcfpu_fpregs; + unsigned long __mcfpu_fprs; + unsigned long __mcfpu_gsr; + void *__mcfpu_fq; + unsigned char __mcfpu_qcnt; + unsigned char __mcfpu_qentsz; + unsigned char __mcfpu_enab; + } __mc_fpregs; + } __uc_mcontext; + } __jmp_buf[1]; +#endif + +#else + +#ifndef _ASM +typedef int __jmp_buf[3]; +#endif + +#endif + +#endif /* bits/setjmp.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h new file mode 100644 index 00000000..49f9ae58 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/shmlba.h @@ -0,0 +1,29 @@ +/* Define SHMLBA. SPARC version. + Copyright (C) 2018-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never use directly; include instead." +#endif + +__BEGIN_DECLS + +/* Segment low boundary address multiple. */ +#define SHMLBA (__getshmlba ()) +extern int __getshmlba (void) __attribute__ ((__const__)); + +__END_DECLS \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h new file mode 100644 index 00000000..3ef3e0d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigaction.h @@ -0,0 +1,89 @@ +/* The proper definitions for Linux/SPARC sigaction. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGACTION_H +#define _BITS_SIGACTION_H 1 + +#ifndef _SIGNAL_H +# error "Never include directly; use instead." +#endif + +#include + +/* Structure describing the action to be taken when a signal arrives. */ +struct sigaction + { + /* Signal handler. */ +#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) (int, siginfo_t *, void *); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else + __sighandler_t sa_handler; +#endif + + /* Additional set of signals to be blocked. */ + __sigset_t sa_mask; + + /* Special flags. */ +#if __WORDSIZE == 64 + int __glibc_reserved0; +#endif + int sa_flags; + + /* Not used by Linux/Sparc yet. */ + void (*sa_restorer) (void); + }; + + +/* Bits in `sa_flags'. */ +#define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with + three arguments instead of one. */ +#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC +# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ +#endif +#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 +# define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ +# define SA_NODEFER 0x00000020 /* Don't automatically block the signal when + its handler is being executed. */ +# define SA_RESETHAND 0x00000004 /* Reset to SIG_DFL on entry to handler. */ +#endif +#ifdef __USE_MISC +# define SA_INTERRUPT 0x00000010 /* Historical no-op. */ + +/* Some aliases for the SA_ constants. */ +# define SA_NOMASK SA_NODEFER +# define SA_ONESHOT SA_RESETHAND +# define SA_STACK SA_ONSTACK +#endif + +/* Values for the HOW argument to `sigprocmask'. */ +#define SIG_BLOCK 1 /* Block signals. */ +#define SIG_UNBLOCK 2 /* Unblock signals. */ +#define SIG_SETMASK 4 /* Set the set of blocked signals. */ + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h new file mode 100644 index 00000000..20ca9e24 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigcontext.h @@ -0,0 +1,82 @@ +/* Copyright (C) 2000-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGCONTEXT_H +#define _BITS_SIGCONTEXT_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never use directly; include instead." +#endif + +#include + +#if __WORDSIZE == 32 + +/* It is quite hard to choose what to put here, because + Linux/sparc32 had at least 3 totally incompatible + signal stack layouts. + This one is for the "new" style signals, which are + now delivered unless SA_SIGINFO is requested. */ + +struct sigcontext + { + struct + { + unsigned int psr; + unsigned int pc; + unsigned int npc; + unsigned int y; + unsigned int u_regs[16]; /* globals and ins */ + } si_regs; + int si_mask; + }; + +#else /* sparc64 */ + +typedef struct + { + unsigned int si_float_regs [64]; + unsigned long si_fsr; + unsigned long si_gsr; + unsigned long si_fprs; + } __siginfo_fpu_t; + +struct sigcontext + { + char sigc_info[128]; + struct + { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + unsigned int fprs; + } sigc_regs; + __siginfo_fpu_t * sigc_fpu_save; + struct + { + void * ss_sp; + int ss_flags; + unsigned long ss_size; + } sigc_stack; + unsigned long sigc_mask; +}; + +#endif /* sparc64 */ + +#endif /* bits/sigcontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h new file mode 100644 index 00000000..f3360b0c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-arch.h @@ -0,0 +1,17 @@ +/* Architecture-specific adjustments to siginfo_t. SPARC version. */ +#ifndef _BITS_SIGINFO_ARCH_H +#define _BITS_SIGINFO_ARCH_H 1 + +/* The kernel uses int instead of long int (as in POSIX). In 32-bit + mode, we can still use long int, but in 64-bit mode, we need to + deviate from POSIX. */ +#if __WORDSIZE == 64 +# define __SI_BAND_TYPE int +#endif + +#define __SI_SIGFAULT_ADDL \ + int _si_trapno; + +#define si_trapno _sifields._sigfault._si_trapno + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h new file mode 100644 index 00000000..a1dd324e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/siginfo-consts-arch.h @@ -0,0 +1,12 @@ +/* Architecture-specific additional siginfo constants. SPARC version. */ +#ifndef _BITS_SIGINFO_CONSTS_ARCH_H +#define _BITS_SIGINFO_CONSTS_ARCH_H 1 + +/* `si_code' values for SIGEMT signal. */ +enum +{ + EMT_TAGOVF = 1 /* Tag overflow. */ +#define EMT_TAGOVF EMT_TAGOVF +}; + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h new file mode 100644 index 00000000..2dc0e606 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signalfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2007-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SIGNALFD_H +# error "Never use directly; include instead." +#endif + +/* Flags for signalfd. */ +enum + { + SFD_CLOEXEC = 0x400000, +#define SFD_CLOEXEC SFD_CLOEXEC + SFD_NONBLOCK = 0x004000 +#define SFD_NONBLOCK SFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h new file mode 100644 index 00000000..152e9a40 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/signum-arch.h @@ -0,0 +1,66 @@ +/* Signal number definitions. Linux/SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGNUM_ARCH_H +#define _BITS_SIGNUM_ARCH_H 1 + +#ifndef _SIGNAL_H +#error "Never include directly; use instead." +#endif + +/* Adjustments and additions to the signal number constants for + Linux/SPARC systems. Signal values on this platform were chosen + for SunOS binary compatibility. */ + +#define SIGEMT 7 /* Emulator trap. */ +#define SIGLOST 29 /* Resource lost (Sun); server died (GNU). */ +#define SIGPWR SIGLOST /* Power failure imminent (SysV). */ + +/* Historical signals specified by POSIX. */ +#define SIGBUS 10 /* Bus error. */ +#define SIGSYS 12 /* Bad system call. */ + +/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */ +#define SIGURG 16 /* Urgent data is available at a socket. */ +#define SIGSTOP 17 /* Stop, unblockable. */ +#define SIGTSTP 18 /* Keyboard stop. */ +#define SIGCONT 19 /* Continue. */ +#define SIGCHLD 20 /* Child terminated or stopped. */ +#define SIGTTIN 21 /* Background read from control terminal. */ +#define SIGTTOU 22 /* Background write to control terminal. */ +#define SIGPOLL 23 /* Pollable event occurred (System V). */ +#define SIGXCPU 24 /* CPU time limit exceeded. */ +#define SIGVTALRM 26 /* Virtual timer expired. */ +#define SIGPROF 27 /* Profiling timer expired. */ +#define SIGXFSZ 25 /* File size limit exceeded. */ +#define SIGUSR1 30 /* User-defined signal 1. */ +#define SIGUSR2 31 /* User-defined signal 2. */ + +/* Nonstandard signals found in all modern POSIX systems + (including both BSD and Linux). */ +#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ + +/* Archaic names for compatibility. */ +#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ +#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */ +#define SIGCLD SIGCHLD /* Old System V name */ + +#define __SIGRTMIN 32 +#define __SIGRTMAX 64 + +#endif /* included. */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h new file mode 100644 index 00000000..42d3c1ba --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/sigstack.h @@ -0,0 +1,32 @@ +/* sigstack, sigaltstack definitions. + Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_SIGSTACK_H +#define _BITS_SIGSTACK_H 1 + +#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H +# error "Never include this file directly. Use instead" +#endif + +/* Minimum stack size for a signal handler. */ +#define MINSIGSTKSZ 4096 + +/* System default stack size. */ +#define SIGSTKSZ 16384 + +#endif /* bits/sigstack.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h new file mode 100644 index 00000000..e9e2715d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket-constants.h @@ -0,0 +1,70 @@ +/* Socket constants which vary among Linux architectures. Version for SPARC. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +#define SOL_SOCKET 65535 +#define SO_ACCEPTCONN 32768 +#define SO_BROADCAST 32 +#define SO_DONTROUTE 16 +#define SO_ERROR 4103 +#define SO_KEEPALIVE 8 +#define SO_LINGER 128 +#define SO_OOBINLINE 256 +#define SO_RCVBUF 4098 +#define SO_RCVLOWAT 2048 +#define SO_REUSEADDR 4 +#define SO_SNDBUF 4097 +#define SO_SNDLOWAT 4096 +#define SO_TYPE 4104 + +#if __TIMESIZE == 64 +# define SO_RCVTIMEO 8192 +# define SO_SNDTIMEO 16384 +# define SO_TIMESTAMP 29 +# define SO_TIMESTAMPNS 33 +# define SO_TIMESTAMPING 35 +#else +# define SO_RCVTIMEO_OLD 8192 +# define SO_SNDTIMEO_OLD 16384 +# define SO_RCVTIMEO_NEW 68 +# define SO_SNDTIMEO_NEW 69 + +# define SO_TIMESTAMP_OLD 0x001d +# define SO_TIMESTAMPNS_OLD 0x0021 +# define SO_TIMESTAMPING_OLD 0x0023 +# define SO_TIMESTAMP_NEW 0x0046 +# define SO_TIMESTAMPNS_NEW 0x0042 +# define SO_TIMESTAMPING_NEW 0x0043 + +# ifdef __USE_TIME64_REDIRECTS +# define SO_RCVTIMEO SO_RCVTIMEO_NEW +# define SO_SNDTIMEO SO_SNDTIMEO_NEW +# define SO_TIMESTAMP SO_TIMESTAMP_NEW +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_NEW +# define SO_TIMESTAMPING SO_TIMESTAMPING_NEW +# else +# define SO_RCVTIMEO SO_RCVTIMEO_OLD +# define SO_SNDTIMEO SO_SNDTIMEO_OLD +# define SO_TIMESTAMP SO_TIMESTAMP_OLD +# define SO_TIMESTAMPNS SO_TIMESTAMPNS_OLD +# define SO_TIMESTAMPING SO_TIMESTAMPING_OLD +# endif +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h new file mode 100644 index 00000000..f9acac32 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/socket_type.h @@ -0,0 +1,55 @@ +/* Define enum __socket_type for Linux/SPARC. + Copyright (C) 1991-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SOCKET_H +# error "Never include directly; use instead." +#endif + +/* Types of sockets. */ +enum __socket_type +{ + SOCK_STREAM = 1, /* Sequenced, reliable, connection-based + byte streams. */ +#define SOCK_STREAM SOCK_STREAM + SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams + of fixed maximum length. */ +#define SOCK_DGRAM SOCK_DGRAM + SOCK_RAW = 3, /* Raw protocol interface. */ +#define SOCK_RAW SOCK_RAW + SOCK_RDM = 4, /* Reliably-delivered messages. */ +#define SOCK_RDM SOCK_RDM + SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + datagrams of fixed maximum length. */ +#define SOCK_SEQPACKET SOCK_SEQPACKET + SOCK_DCCP = 6, /* Datagram Congestion Control Protocol. */ +#define SOCK_DCCP SOCK_DCCP + SOCK_PACKET = 10, /* Linux specific way of getting packets + at the dev level. For writing rarp and + other similar things on the user level. */ +#define SOCK_PACKET SOCK_PACKET + + /* Flags to be ORed into the type parameter of socket and socketpair and + used for the flags parameter of paccept. */ + + SOCK_CLOEXEC = 0x400000, /* Atomically set close-on-exec flag for the + new descriptor(s). */ +#define SOCK_CLOEXEC SOCK_CLOEXEC + SOCK_NONBLOCK = 0x004000 /* Atomically mark descriptor(s) as + non-blocking. */ +#define SOCK_NONBLOCK SOCK_NONBLOCK +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h new file mode 100644 index 00000000..46246087 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_rwlock.h @@ -0,0 +1,58 @@ +/* SPARC internal rwlock struct definitions. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _RWLOCK_INTERNAL_H +#define _RWLOCK_INTERNAL_H + +struct __pthread_rwlock_arch_t +{ + unsigned int __readers; + unsigned int __writers; + unsigned int __wrphase_futex; + unsigned int __writers_futex; + unsigned int __pad3; + unsigned int __pad4; +#if __WORDSIZE == 64 + int __cur_writer; + int __shared; + unsigned long int __pad1; + unsigned long int __pad2; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned int __flags; +#else + unsigned char __pad1; + unsigned char __pad2; + unsigned char __shared; + /* FLAGS must stay at this position in the structure to maintain + binary compatibility. */ + unsigned char __flags; + int __cur_writer; +#endif +}; + +#if __WORDSIZE == 64 +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags +#else +# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \ + 0, 0, 0, 0, 0, 0, 0, 0, 0, __flags, 0 +#endif + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h new file mode 100644 index 00000000..a43cb63d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/struct_stat.h @@ -0,0 +1,139 @@ +/* Definition for struct stat. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#if !defined _SYS_STAT_H && !defined _FCNTL_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 + +#include +#include + +struct stat + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 || !defined __USE_FILE_OFFSET64 + unsigned short int __pad1; + __ino_t st_ino; /* File serial number. */ +# else + __ino64_t st_ino; /* File serial number. */ +# endif + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; +# ifndef __USE_FILE_OFFSET64 + __off_t st_size; /* Size of file, in bytes. */ +# else + __off64_t st_size; /* Size of file, in bytes. */ +# endif + __blksize_t st_blksize; /* Optimal block size for I/O. */ + +# ifndef __USE_FILE_OFFSET64 + __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ +# else + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# endif +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +#endif /* __USE_TIME64_REDIRECTS */ + }; + +#ifdef __USE_LARGEFILE64 +struct stat64 + { +# ifdef __USE_TIME64_REDIRECTS +# include +# else + __dev_t st_dev; /* Device. */ +# if __WORDSIZE == 64 + unsigned short int __pad1; +# endif + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + unsigned short int __pad2; + __off64_t st_size; /* Size of file, in bytes. */ + __blksize_t st_blksize; /* Optimal block size for I/O. */ + + __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ +# ifdef __USE_XOPEN2K8 + /* Nanosecond resolution timestamps are stored in a format + equivalent to 'struct timespec'. This is the type used + whenever possible but the Unix namespace rules do not allow the + identifier 'timespec' to appear in the header. + Therefore we have to handle the use of this header in strictly + standard-compliant sources special. */ + struct timespec st_atim; /* Time of last access. */ + struct timespec st_mtim; /* Time of last modification. */ + struct timespec st_ctim; /* Time of last status change. */ +# define st_atime st_atim.tv_sec /* Backward compatibility. */ +# define st_mtime st_mtim.tv_sec +# define st_ctime st_ctim.tv_sec +# else + __time_t st_atime; /* Time of last access. */ + unsigned long int st_atimensec; /* Nscecs of last access. */ + __time_t st_mtime; /* Time of last modification. */ + unsigned long int st_mtimensec; /* Nsecs of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + unsigned long int st_ctimensec; /* Nsecs of last status change. */ +# endif + unsigned long int __glibc_reserved4; + unsigned long int __glibc_reserved5; +# endif /* __USE_TIME64_REDIRECTS */ + }; +#endif + +/* Tell code we have these members. */ +#define _STATBUF_ST_BLKSIZE +#define _STATBUF_ST_RDEV +/* Nanosecond resolution time values are supported. */ +#define _STATBUF_ST_NSEC + +#endif /* _BITS_STRUCT_STAT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h new file mode 100644 index 00000000..465e9bbb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-baud.h @@ -0,0 +1,46 @@ +/* termios baud rate selection definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#ifdef __USE_MISC +# define CBAUD 0x0000100f +# define CBAUDEX 0x00001000 +# define CIBAUD 0x100f0000 /* input baud rate (not used) */ +# define CMSPAR 0x40000000 /* mark or space (stick) parity */ +# define CRTSCTS 0x80000000 /* flow control */ +#endif + +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +#define B76800 0x00001005 +#define B153600 0x00001006 +#define B307200 0x00001007 +#define B614400 0x00001008 +#define B921600 0x00001009 +#define B500000 0x0000100a +#define B576000 0x0000100b +#define B1000000 0x0000100c +#define B1152000 0x0000100d +#define B1500000 0x0000100e +#define B2000000 0x0000100f +#define __MAX_BAUD B2000000 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h new file mode 100644 index 00000000..989b895d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_cc.h @@ -0,0 +1,43 @@ +/* termios c_cc symbolic constant definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_cc characters */ +#define VINTR 0 +#define VQUIT 1 +#define VERASE 2 +#define VKILL 3 +#define VEOF 4 +#define VEOL 5 +#define VEOL2 6 +#define VSWTC 7 +#define VSTART 8 +#define VSTOP 9 +#define VSUSP 10 +#define VDSUSP 11 /* SunOS POSIX nicety I do believe... */ +#define VREPRINT 12 +#define VDISCARD 13 +#define VWERASE 14 +#define VLNEXT 15 + +/* User apps assume vmin/vtime is shared with eof/eol */ +#define VMIN VEOF +#define VTIME VEOL \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h new file mode 100644 index 00000000..036be524 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-c_oflag.h @@ -0,0 +1,64 @@ +/* termios output mode definitions. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +/* c_oflag bits */ +#define OPOST 0x00000001 +#define OLCUC 0x00000002 +#define ONLCR 0x00000004 +#define OCRNL 0x00000008 +#define ONOCR 0x00000010 +#define ONLRET 0x00000020 +#define OFILL 0x00000040 +#define OFDEL 0x00000080 +#if defined __USE_MISC || defined __USE_XOPEN +# define NLDLY 0x00000100 +# define NL0 0x00000000 +# define NL1 0x00000100 +# define CRDLY 0x00000600 +# define CR0 0x00000000 +# define CR1 0x00000200 +# define CR2 0x00000400 +# define CR3 0x00000600 +# define TABDLY 0x00001800 +# define TAB0 0x00000000 +# define TAB1 0x00000800 +# define TAB2 0x00001000 +# define TAB3 0x00001800 +# define BSDLY 0x00002000 +# define BS0 0x00000000 +# define BS1 0x00002000 +#define FFDLY 0x00008000 +#define FF0 0x00000000 +#define FF1 0x00008000 +#endif +#define VTDLY 0x00004000 +#define VT0 0x00000000 +#define VT1 0x00004000 + +# if defined __USE_GNU +#define PAGEOUT 0x00010000 /* SUNOS specific */ +#define WRAP 0x00020000 /* SUNOS specific */ +# endif + +#ifdef __USE_MISC +# define XTABS 0x00001800 +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h new file mode 100644 index 00000000..815227e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/termios-struct.h @@ -0,0 +1,34 @@ +/* struct termios definition. Linux/sparc version. + Copyright (C) 2019-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library. If not, see + . */ + +#ifndef _TERMIOS_H +# error "Never include directly; use instead." +#endif + +#define NCCS 17 +struct termios + { + tcflag_t c_iflag; /* input mode flags */ + tcflag_t c_oflag; /* output mode flags */ + tcflag_t c_cflag; /* control mode flags */ + tcflag_t c_lflag; /* local mode flags */ + cc_t c_line; /* line discipline */ + cc_t c_cc[NCCS]; /* control characters */ +#define _HAVE_STRUCT_TERMIOS_C_ISPEED 0 +#define _HAVE_STRUCT_TERMIOS_C_OSPEED 0 + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h new file mode 100644 index 00000000..32e03256 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timerfd.h @@ -0,0 +1,29 @@ +/* Copyright (C) 2008-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_TIMERFD_H +# error "Never use directly; include instead." +#endif + +/* Bits to be set in the FLAGS parameter of `timerfd_create'. */ +enum + { + TFD_CLOEXEC = 0x400000, +#define TFD_CLOEXEC TFD_CLOEXEC + TFD_NONBLOCK = 0x004000 +#define TFD_NONBLOCK TFD_NONBLOCK + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timesize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timesize.h new file mode 100644 index 00000000..d020c10c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/timesize.h @@ -0,0 +1,22 @@ +/* Bit size of the time_t type at glibc build time, Linux/sparc. + Copyright (C) 2021-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#include + +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h new file mode 100644 index 00000000..6d0f2b9a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_msqid_ds.h @@ -0,0 +1,53 @@ +/* Linux/SPARC implementation of the SysV message struct msqid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_MSG_H +# error "Never use directly; include instead." +#endif + +#include + +/* Structure of record for one message inside the kernel. + The type `struct msg' is opaque. */ +struct msqid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm msg_perm; /* structure describing operation permission */ +# if __TIMESIZE == 32 + unsigned long int __msg_stime_high; + __time_t msg_stime; /* time of last msgsnd command */ + unsigned long int __msg_rtime_high; + __time_t msg_rtime; /* time of last msgsnd command */ + unsigned long int __msg_ctime_high; + __time_t msg_ctime; /* time of last change */ +# else + __time_t msg_stime; /* time of last msgsnd command */ + __time_t msg_rtime; /* time of last msgsnd command */ + __time_t msg_ctime; /* time of last change */ +# endif + __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */ + msgqnum_t msg_qnum; /* number of messages currently on queue */ + msglen_t msg_qbytes; /* max number of bytes allowed on queue */ + __pid_t msg_lspid; /* pid of last msgsnd() */ + __pid_t msg_lrpid; /* pid of last msgrcv() */ + __syscall_ulong_t __glibc_reserved4; + __syscall_ulong_t __glibc_reserved5; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h new file mode 100644 index 00000000..f8db7f00 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_semid_ds.h @@ -0,0 +1,43 @@ +/* Sparc implementation of the semaphore struct semid_ds + Copyright (C) 1995-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SEM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a set of semaphores. */ +struct semid_ds +{ +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm sem_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + __syscall_ulong_t __sem_otime_high; + __time_t sem_otime; /* last semop() time */ + __syscall_ulong_t __sem_ctime_high; + __time_t sem_ctime; /* last time changed by semctl() */ +# else + __time_t sem_otime; /* last semop() time */ + __time_t sem_ctime; /* last time changed by semctl() */ +# endif + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +#endif +}; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h new file mode 100644 index 00000000..88d72bb4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/types/struct_shmid_ds.h @@ -0,0 +1,49 @@ +/* Linux/SPARC implementation of the shared memory struct shmid_ds. + Copyright (C) 2020-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_SHM_H +# error "Never include directly; use instead." +#endif + +/* Data structure describing a shared memory segment. */ +struct shmid_ds + { +#ifdef __USE_TIME64_REDIRECTS +# include +#else + struct ipc_perm shm_perm; /* operation permission struct */ +# if __TIMESIZE == 32 + unsigned long int __shm_atime_high; + __time_t shm_atime; /* time of last shmat() */ + unsigned long int __shm_dtime_high; + __time_t shm_dtime; /* time of last shmdt() */ + unsigned long int __shm_ctime_high; + __time_t shm_ctime; /* time of last change by shmctl() */ +# else + __time_t shm_atime; /* time of last shmat() */ + __time_t shm_dtime; /* time of last shmdt() */ + __time_t shm_ctime; /* time of last change by shmctl() */ +# endif + size_t shm_segsz; /* size of segment in bytes */ + __pid_t shm_cpid; /* pid of creator */ + __pid_t shm_lpid; /* pid of last shmop */ + shmatt_t shm_nattch; /* number of current attaches */ + __syscall_ulong_t __glibc_reserved5; + __syscall_ulong_t __glibc_reserved6; +#endif + }; \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h new file mode 100644 index 00000000..e2837872 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/typesizes.h @@ -0,0 +1,95 @@ +/* bits/typesizes.h -- underlying types for *_t. Linux/SPARC version. + Copyright (C) 2002-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _BITS_TYPES_H +# error "Never include directly; use instead." +#endif + +#ifndef _BITS_TYPESIZES_H +#define _BITS_TYPESIZES_H 1 + +/* See for the meaning of these macros. This file exists so + that need not vary across different GNU platforms. */ + +#define __DEV_T_TYPE __UQUAD_TYPE +#define __UID_T_TYPE __U32_TYPE +#define __GID_T_TYPE __U32_TYPE +#define __INO_T_TYPE __ULONGWORD_TYPE +#define __INO64_T_TYPE __UQUAD_TYPE +#define __MODE_T_TYPE __U32_TYPE +#define __NLINK_T_TYPE __U32_TYPE +#define __OFF_T_TYPE __SLONGWORD_TYPE +#define __OFF64_T_TYPE __SQUAD_TYPE +#define __PID_T_TYPE __S32_TYPE +#define __RLIM_T_TYPE __ULONGWORD_TYPE +#define __RLIM64_T_TYPE __UQUAD_TYPE +#define __BLKCNT_T_TYPE __SLONGWORD_TYPE +#define __BLKCNT64_T_TYPE __SQUAD_TYPE +#define __FSBLKCNT_T_TYPE __ULONGWORD_TYPE +#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE +#define __FSFILCNT_T_TYPE __ULONGWORD_TYPE +#define __FSFILCNT64_T_TYPE __UQUAD_TYPE +#define __FSWORD_T_TYPE __SWORD_TYPE +#define __ID_T_TYPE __U32_TYPE +#define __CLOCK_T_TYPE __SLONGWORD_TYPE +#define __TIME_T_TYPE __SLONGWORD_TYPE +#define __USECONDS_T_TYPE __U32_TYPE +#define __SUSECONDS_T_TYPE __S32_TYPE +#define __SUSECONDS64_T_TYPE __SQUAD_TYPE +#define __DADDR_T_TYPE __S32_TYPE +#define __KEY_T_TYPE __S32_TYPE +#define __CLOCKID_T_TYPE __S32_TYPE +#define __TIMER_T_TYPE void * +#define __BLKSIZE_T_TYPE __SLONGWORD_TYPE +#define __FSID_T_TYPE struct { int __val[2]; } +#define __SSIZE_T_TYPE __SWORD_TYPE +#define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE +#define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE +#define __CPU_MASK_TYPE __ULONGWORD_TYPE + +#if defined __arch64__ || defined __sparcv9 +/* Tell the libc code that off_t and off64_t are actually the same type + for all ABI purposes, even if possibly expressed as different base types + for C type-checking purposes. */ +# define __OFF_T_MATCHES_OFF64_T 1 + +/* Same for ino_t and ino64_t. */ +# define __INO_T_MATCHES_INO64_T 1 + +/* And for __rlim_t and __rlim64_t. */ +# define __RLIM_T_MATCHES_RLIM64_T 1 + +/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */ +# define __STATFS_MATCHES_STATFS64 1 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1 +#else +# define __RLIM_T_MATCHES_RLIM64_T 0 + +# define __STATFS_MATCHES_STATFS64 0 + +/* And for getitimer, setitimer and rusage */ +# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0 +#endif + +/* Number of descriptors that can fit in an `fd_set'. */ +#define __FD_SETSIZE 1024 + + +#endif /* bits/typesizes.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h new file mode 100644 index 00000000..89de82e2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/bits/wordsize.h @@ -0,0 +1,10 @@ +/* Determine the wordsize from the preprocessor defines. */ + +#if defined __arch64__ || defined __sparcv9 +# define __WORDSIZE 64 +#else +# define __WORDSIZE 32 +# define __WORDSIZE32_SIZE_ULONG 0 +# define __WORDSIZE32_PTRDIFF_LONG 0 +#endif +#define __WORDSIZE_TIME64_COMPAT32 1 \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/fpu_control.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/fpu_control.h new file mode 100644 index 00000000..94d7424e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/fpu_control.h @@ -0,0 +1,76 @@ +/* FPU control word bits. SPARC version. + Copyright (C) 1997-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _FPU_CONTROL_H +#define _FPU_CONTROL_H 1 + + +#include +#include + +/* masking of interrupts */ +#define _FPU_MASK_IM 0x08000000 +#define _FPU_MASK_OM 0x04000000 +#define _FPU_MASK_UM 0x02000000 +#define _FPU_MASK_ZM 0x01000000 +#define _FPU_MASK_PM 0x00800000 + +/* precision control */ +#define _FPU_EXTENDED 0x00000000 /* RECOMMENDED */ +#define _FPU_DOUBLE 0x20000000 +#define _FPU_80BIT 0x30000000 +#define _FPU_SINGLE 0x10000000 /* DO NOT USE */ + +/* rounding control / Sparc */ +#define _FPU_RC_DOWN 0xc0000000 +#define _FPU_RC_UP 0x80000000 +#define _FPU_RC_ZERO 0x40000000 +#define _FPU_RC_NEAREST 0x0 /* RECOMMENDED */ + +#define _FPU_RESERVED 0x303e0000 /* Reserved bits in cw */ + + +/* Now two recommended cw */ + +/* Linux and IEEE default: + - extended precision + - rounding to nearest + - no exceptions */ +#define _FPU_DEFAULT 0x0 +#define _FPU_IEEE 0x0 + +/* Type of the control word. */ +typedef unsigned long int fpu_control_t; + +#if __WORDSIZE == 64 +# define _FPU_GETCW(cw) __asm__ __volatile__ ("stx %%fsr,%0" : "=m" (*&cw)) +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ldx %0,%%fsr" : : "m" (*&cw)) +#else +# ifdef __leon__ + /* Prevent stfsr from being placed directly after other fp instruction. */ +# define _FPU_GETCW(cw) __asm__ __volatile__ ("nop; st %%fsr,%0" : "=m" (*&cw)) +# else +# define _FPU_GETCW(cw) __asm__ __volatile__ ("st %%fsr,%0" : "=m" (*&cw)) +# endif +# define _FPU_SETCW(cw) __asm__ __volatile__ ("ld %0,%%fsr" : : "m" (*&cw)) +#endif + +/* Default control word set at startup. */ +extern fpu_control_t __fpu_control; + +#endif /* fpu_control.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h new file mode 100644 index 00000000..7e53ae0e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names-64.h @@ -0,0 +1,27 @@ +/* This file is automatically generated. */ +#ifndef __GNU_LIB_NAMES_H +# error "Never use directly; include instead." +#endif + +#define LD_LINUX_SO "ld-linux.so.2" +#define LD_SO "ld-linux.so.2" +#define LIBANL_SO "libanl.so.1" +#define LIBBROKENLOCALE_SO "libBrokenLocale.so.1" +#define LIBC_MALLOC_DEBUG_SO "libc_malloc_debug.so.0" +#define LIBC_SO "libc.so.6" +#define LIBDL_SO "libdl.so.2" +#define LIBGCC_S_SO "libgcc_s.so.1" +#define LIBMVEC_SO "libmvec.so.1" +#define LIBM_SO "libm.so.6" +#define LIBNSL_SO "libnsl.so.1" +#define LIBNSS_COMPAT_SO "libnss_compat.so.2" +#define LIBNSS_DB_SO "libnss_db.so.2" +#define LIBNSS_DNS_SO "libnss_dns.so.2" +#define LIBNSS_FILES_SO "libnss_files.so.2" +#define LIBNSS_HESIOD_SO "libnss_hesiod.so.2" +#define LIBNSS_LDAP_SO "libnss_ldap.so.2" +#define LIBPTHREAD_SO "libpthread.so.0" +#define LIBRESOLV_SO "libresolv.so.2" +#define LIBRT_SO "librt.so.1" +#define LIBTHREAD_DB_SO "libthread_db.so.1" +#define LIBUTIL_SO "libutil.so.1" \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h new file mode 100644 index 00000000..ad647150 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/lib-names.h @@ -0,0 +1,16 @@ +/* This file is automatically generated. + It defines macros to allow user program to find the shared + library files which come as part of GNU libc. */ +#ifndef __GNU_LIB_NAMES_H +#define __GNU_LIB_NAMES_H 1 + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif + +#endif /* gnu/lib-names.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h new file mode 100644 index 00000000..120171a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/gnu/stubs.h @@ -0,0 +1,12 @@ +/* This file is automatically generated. + This file selects the right generated file of `__stub_FUNCTION' macros + based on the architecture being compiled for. */ + +#include + +#if __WORDSIZE == 32 +# include +#endif +#if __WORDSIZE == 64 +# include +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/ieee754.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/ieee754.h new file mode 100644 index 00000000..a49523c3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/ieee754.h @@ -0,0 +1,170 @@ +/* Copyright (C) 1992-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _IEEE754_H +#define _IEEE754_H 1 + +#include + +#include + +__BEGIN_DECLS + +union ieee754_float + { + float f; + + /* This is the IEEE 754 single-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int mantissa:23; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:23; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:8; + unsigned int quiet_nan:1; + unsigned int mantissa:22; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned int mantissa:22; + unsigned int quiet_nan:1; + unsigned int exponent:8; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee_nan; + }; + +#define IEEE754_FLOAT_BIAS 0x7f /* Added to exponent. */ + + +union ieee754_double + { + double d; + + /* This is the IEEE 754 double-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:20; + unsigned int mantissa1:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:20; + unsigned int exponent:11; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:11; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:19; + unsigned int mantissa1:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa1:32; + unsigned int mantissa0:19; + unsigned int quiet_nan:1; + unsigned int exponent:11; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE754_DOUBLE_BIAS 0x3ff /* Added to exponent. */ + + +union ieee854_long_double + { + long double d; + + /* This is the IEEE 854 quad-precision format. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:16; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#endif /* Big endian. */ +#if __BYTE_ORDER == __LITTLE_ENDIAN + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:16; + unsigned int exponent:15; + unsigned int negative:1; +#endif /* Little endian. */ + } ieee; + + /* This format makes it easier to see if a NaN is a signalling NaN. */ + struct + { +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned int negative:1; + unsigned int exponent:15; + unsigned int quiet_nan:1; + /* Together these comprise the mantissa. */ + unsigned int mantissa0:15; + unsigned int mantissa1:32; + unsigned int mantissa2:32; + unsigned int mantissa3:32; +#else + /* Together these comprise the mantissa. */ + unsigned int mantissa3:32; + unsigned int mantissa2:32; + unsigned int mantissa1:32; + unsigned int mantissa0:15; + unsigned int quiet_nan:1; + unsigned int exponent:15; + unsigned int negative:1; +#endif + } ieee_nan; + }; + +#define IEEE854_LONG_DOUBLE_BIAS 0x3fff /* Added to exponent. */ + +__END_DECLS + +#endif /* ieee754.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h new file mode 100644 index 00000000..3add6c11 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ptrace.h @@ -0,0 +1,247 @@ +/* `ptrace' debugger support interface. Linux/SPARC version. + Copyright (C) 1996-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include +#include +#include + +/* Linux/SPARC kernels up to 2.3.18 do not care much + about what namespace pollution, so use a kludge now. */ +#undef PTRACE_GETREGS +#undef PTRACE_SETREGS +#undef PTRACE_GETFPREGS +#undef PTRACE_SETFPREGS +#undef PTRACE_READDATA +#undef PTRACE_WRITEDATA +#undef PTRACE_READTEXT +#undef PTRACE_WRITETEXT +#undef PTRACE_SUNDETACH + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 11, +#define PT_DETACH PTRACE_DETACH + + /* This define is needed for older programs which were + trying to work around sparc-linux ptrace nastiness. */ +#define PTRACE_SUNDETACH PTRACE_DETACH + +#if __WORDSIZE == 32 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Write several bytes at a time. */ + PTRACE_WRITEDATA = 17, +#define PTRACE_WRITEDATA PTRACE_WRITEDATA + + /* Read several bytes at a time. */ + PTRACE_READTEXT = 18, +#define PTRACE_READTEXT PTRACE_READTEXT +#define PTRACE_READDATA PTRACE_READTEXT + + /* Write several bytes at a time. */ + PTRACE_WRITETEXT = 19, +#define PTRACE_WRITETEXT PTRACE_WRITETEXT + +#if __WORDSIZE == 64 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 22, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 23, +#define PT_SETREGS PTRACE_SETREGS + +#endif + + /* Continue and stop at the next entry to or return from syscall. */ + PTRACE_SYSCALL = 24, +#define PTRACE_SYSCALL PTRACE_SYSCALL + +#if __WORDSIZE == 64 + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 25, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 26, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Set ptrace filter options. */ + PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + + /* Get last ptrace message. */ + PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + + /* Get siginfo for process. */ + PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + + /* Set new siginfo for process. */ + PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + + /* Get register content. */ + PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + + /* Set register content. */ + PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + + /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect + signal or group stop state. */ + PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + + /* Trap seized tracee. */ + PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + + /* Wait for next group event. */ + PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + + /* Retrieve siginfo_t structures without removing signals from a queue. */ + PTRACE_PEEKSIGINFO = 0x4209, +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO + + /* Get the mask of blocked signals. */ + PTRACE_GETSIGMASK = 0x420a, +#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK + + /* Change the mask of blocked signals. */ + PTRACE_SETSIGMASK = 0x420b, +#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK + + /* Get seccomp BPF filters. */ + PTRACE_SECCOMP_GET_FILTER = 0x420c, +#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER + + /* Get seccomp BPF filter metadata. */ + PTRACE_SECCOMP_GET_METADATA = 0x420d, +#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA + + /* Get information about system call. */ + PTRACE_GET_SYSCALL_INFO = 0x420e, +#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO + + /* Get rseq configuration information. */ + PTRACE_GET_RSEQ_CONFIGURATION = 0x420f, +#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION + + /* Set configuration for syscall user dispatch. */ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG = 0x4210, +#define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG + + /* Get configuration for syscall user dispatch. */ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG = 0x4211 +#define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG \ + PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG +}; + + +#include + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h new file mode 100644 index 00000000..cd5938a7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/ucontext.h @@ -0,0 +1,304 @@ +/* Copyright (C) 1998-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_UCONTEXT_H +#define _SYS_UCONTEXT_H 1 + +#include + +#include +#include + +#include + + +#ifdef __USE_MISC +# define __ctx(fld) fld +#else +# define __ctx(fld) __ ## fld +#endif + +#if __WORDSIZE == 64 + +#define __MC_NGREG 19 +#ifdef __USE_MISC +# define MC_TSTATE 0 +# define MC_PC 1 +# define MC_NPC 2 +# define MC_Y 3 +# define MC_G1 4 +# define MC_G2 5 +# define MC_G3 6 +# define MC_G4 7 +# define MC_G5 8 +# define MC_G6 9 +# define MC_G7 10 +# define MC_O0 11 +# define MC_O1 12 +# define MC_O2 13 +# define MC_O3 14 +# define MC_O4 15 +# define MC_O5 16 +# define MC_O6 17 +# define MC_O7 18 +# define MC_NGREG __MC_NGREG +#endif + +typedef unsigned long mc_greg_t; +typedef mc_greg_t mc_gregset_t[__MC_NGREG]; + +#ifdef __USE_MISC +# define MC_MAXFPQ 16 +#endif +struct __mc_fq { + unsigned long *__ctx(mcfq_addr); + unsigned int __ctx(mcfq_insn); +}; + +typedef struct { + union { + unsigned int __ctx(sregs)[32]; + unsigned long __ctx(dregs)[32]; + long double __ctx(qregs)[16]; + } __ctx(mcfpu_fregs); + unsigned long __ctx(mcfpu_fsr); + unsigned long __ctx(mcfpu_fprs); + unsigned long __ctx(mcfpu_gsr); + struct __mc_fq *__ctx(mcfpu_fq); + unsigned char __ctx(mcfpu_qcnt); + unsigned char __ctx(mcfpu_qentsz); + unsigned char __ctx(mcfpu_enab); +} mc_fpu_t; + +typedef struct { + mc_gregset_t __ctx(mc_gregs); + mc_greg_t __ctx(mc_fp); + mc_greg_t __ctx(mc_i7); + mc_fpu_t __ctx(mc_fpregs); +} mcontext_t; + +typedef struct ucontext_t { + struct ucontext_t *uc_link; + unsigned long __ctx(uc_flags); + unsigned long __uc_sigmask; + mcontext_t uc_mcontext; + stack_t uc_stack; + sigset_t uc_sigmask; +} ucontext_t; + +#endif /* __WORDISIZE == 64 */ + +/* + * Location of the users' stored registers relative to R0. + * Usage is as an index into a gregset_t array or as u.u_ar0[XX]. + */ +#ifdef __USE_MISC +# define REG_PSR (0) +# define REG_PC (1) +# define REG_nPC (2) +# define REG_Y (3) +# define REG_G1 (4) +# define REG_G2 (5) +# define REG_G3 (6) +# define REG_G4 (7) +# define REG_G5 (8) +# define REG_G6 (9) +# define REG_G7 (10) +# define REG_O0 (11) +# define REG_O1 (12) +# define REG_O2 (13) +# define REG_O3 (14) +# define REG_O4 (15) +# define REG_O5 (16) +# define REG_O6 (17) +# define REG_O7 (18) +#endif + +/* + * A gregset_t is defined as an array type for compatibility with the reference + * source. This is important due to differences in the way the C language + * treats arrays and structures as parameters. + * + * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)), + * but that the ABI defines it absolutely to be 21 (resp. 19). + */ + +#if __WORDSIZE == 64 + +# define __NGREG 21 +# ifdef __USE_MISC +# define REG_ASI (19) +# define REG_FPRS (20) + +# define NGREG __NGREG +# endif +typedef long greg_t; + +#else /* __WORDSIZE == 32 */ + +# define __NGREG 19 +# ifdef __USE_MISC +# define NGREG __NGREG +# endif +typedef int greg_t; + +#endif /* __WORDSIZE == 32 */ + +typedef greg_t gregset_t[__NGREG]; + +/* + * The following structures define how a register window can appear on the + * stack. This structure is available (when required) through the `gwins' + * field of an mcontext (nested within ucontext). SPARC_MAXWINDOW is the + * maximum number of outstanding registers window defined in the SPARC + * architecture (*not* implementation). + */ +# define __SPARC_MAXREGWINDOW 31 /* max windows in SPARC arch. */ +#ifdef __USE_MISC +# define SPARC_MAXREGWINDOW __SPARC_MAXREGWINDOW +#endif +struct __rwindow + { + greg_t __ctx(rw_local)[8]; /* locals */ + greg_t __ctx(rw_in)[8]; /* ins */ + }; + +#ifdef __USE_MISC +# define rw_fp __ctx(rw_in)[6] /* frame pointer */ +# define rw_rtn __ctx(rw_in)[7] /* return address */ +#endif + +typedef struct + { + int __ctx(wbcnt); + int *__ctx(spbuf)[__SPARC_MAXREGWINDOW]; + struct __rwindow __ctx(wbuf)[__SPARC_MAXREGWINDOW]; + } gwindows_t; + +/* + * Floating point definitions. + */ + +#ifdef __USE_MISC +# define MAXFPQ 16 /* max # of fpu queue entries currently supported */ +#endif + +/* + * struct fq defines the minimal format of a floating point instruction queue + * entry. The size of entries in the floating point queue are implementation + * dependent. The union FQu is guaranteed to be the first field in any ABI + * conformant system implementation. Any additional fields provided by an + * implementation should not be used applications designed to be ABI conformant. */ + +struct __fpq + { + unsigned long *__ctx(fpq_addr); /* address */ + unsigned long __ctx(fpq_instr); /* instruction */ + }; + +struct __fq + { + union /* FPU inst/addr queue */ + { + double __ctx(whole); + struct __fpq __ctx(fpq); + } __ctx(FQu); + }; + +#ifdef __USE_MISC +# define FPU_REGS_TYPE unsigned +# define FPU_DREGS_TYPE unsigned long long +# define V7_FPU_FSR_TYPE unsigned +# define V9_FPU_FSR_TYPE unsigned long long +# define V9_FPU_FPRS_TYPE unsigned +#endif + +#if __WORDSIZE == 64 + +typedef struct + { + union { /* FPU floating point regs */ + unsigned __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[32]; /* 32 doubles */ + long double __ctx(fpu_qregs)[16]; /* 16 quads */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned long __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +#else /* __WORDSIZE == 32 */ + +typedef struct + { + union { /* FPU floating point regs */ + __extension__ unsigned long long __ctx(fpu_regs)[32]; /* 32 singles */ + double __ctx(fpu_dregs)[16]; /* 16 doubles */ + } __ctx(fpu_fr); + struct __fq *__ctx(fpu_q); /* ptr to array of FQ entries */ + unsigned __ctx(fpu_fsr); /* FPU status register */ + unsigned char __ctx(fpu_qcnt); /* # of entries in saved FQ */ + unsigned char __ctx(fpu_q_entrysize); /* # of bytes per FQ entry */ + unsigned char __ctx(fpu_en); /* flag signifying fpu in use */ + } fpregset_t; + +/* + * The following structure is for associating extra register state with + * the ucontext structure and is kept within the uc_mcontext filler area. + * + * If (xrs_id == XRS_ID) then the xrs_ptr field is a valid pointer to + * extra register state. The exact format of the extra register state + * pointed to by xrs_ptr is platform-dependent. + * + * Note: a platform may or may not manage extra register state. + */ +typedef struct + { + unsigned int __ctx(xrs_id); /* indicates xrs_ptr validity */ + void * __ctx(xrs_ptr); /* ptr to extra reg state */ + } xrs_t; + +#ifdef __USE_MISC +# define XRS_ID 0x78727300 /* the string "xrs" */ +#endif + +typedef struct + { + gregset_t __ctx(gregs); /* general register set */ + gwindows_t *__ctx(gwins); /* POSSIBLE pointer to register + windows */ + fpregset_t __ctx(fpregs); /* floating point register set */ + xrs_t __ctx(xrs); /* POSSIBLE extra register state + association */ + long __glibc_reserved1[19]; + } mcontext_t; + + +/* Userlevel context. */ +typedef struct ucontext_t + { + unsigned long __ctx(uc_flags); + struct ucontext_t *uc_link; + sigset_t uc_sigmask; + stack_t uc_stack; + mcontext_t uc_mcontext; + } ucontext_t; + +#endif /* __WORDSIZE == 32 */ +#endif /* sys/ucontext.h */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/user.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/user.h new file mode 100644 index 00000000..b45cb81a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/sparc64-linux-gnu/sys/user.h @@ -0,0 +1,86 @@ +/* Copyright (C) 2003-2025 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C 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. + + The GNU C 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 the GNU C Library; if not, see + . */ + +#ifndef _SYS_USER_H +#define _SYS_USER_H 1 + +#include + +struct sunos_regs +{ + unsigned int psr, pc, npc, y; + unsigned int regs[15]; +}; + +struct sunos_fpqueue +{ + unsigned int *addr; + unsigned int inst; +}; + +struct sunos_fp +{ + union + { + unsigned int regs[32]; + double reg_dbls[16]; + } fregs; + unsigned int fsr; + unsigned int flags; + unsigned int extra; + unsigned int fpq_count; + struct sunos_fpqueue fpq[16]; +}; + +struct sunos_fpu +{ + struct sunos_fp fpstatus; +}; + +/* The SunOS core file header layout. */ +struct user { + unsigned int magic; + unsigned int len; + struct sunos_regs regs; + struct + { + unsigned char a_dynamic :1; + unsigned char a_toolversion :7; + unsigned char a_machtype; + unsigned short a_info; + unsigned int a_text; + unsigned int a_data; + unsigned int a_bss; + unsigned int a_syms; + unsigned int a_entry; + unsigned int a_trsize; + unsigned int a_drsize; + } uexec; + int signal; + size_t u_tsize; + size_t u_dsize; + size_t u_ssize; + char u_comm[17]; + struct sunos_fpu fpu; + unsigned int sigcode; +}; + +#define NBPG 0x2000 +#define UPAGES 1 +#define SUNOS_CORE_MAGIC 0x080456 + +#endif \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno.h new file mode 100644 index 00000000..008245d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno.h @@ -0,0 +1,15 @@ +#ifndef __wasilibc___errno_h +#define __wasilibc___errno_h + +#ifdef __cplusplus +extern "C" { +#endif + +extern _Thread_local int errno; + +#define errno errno + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno_values.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno_values.h new file mode 100644 index 00000000..6d6d4120 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__errno_values.h @@ -0,0 +1,86 @@ +#ifndef __wasilibc___errno_values_h +#define __wasilibc___errno_values_h + +#include + +#define E2BIG __WASI_ERRNO_2BIG +#define EACCES __WASI_ERRNO_ACCES +#define EADDRINUSE __WASI_ERRNO_ADDRINUSE +#define EADDRNOTAVAIL __WASI_ERRNO_ADDRNOTAVAIL +#define EAFNOSUPPORT __WASI_ERRNO_AFNOSUPPORT +#define EAGAIN __WASI_ERRNO_AGAIN +#define EALREADY __WASI_ERRNO_ALREADY +#define EBADF __WASI_ERRNO_BADF +#define EBADMSG __WASI_ERRNO_BADMSG +#define EBUSY __WASI_ERRNO_BUSY +#define ECANCELED __WASI_ERRNO_CANCELED +#define ECHILD __WASI_ERRNO_CHILD +#define ECONNABORTED __WASI_ERRNO_CONNABORTED +#define ECONNREFUSED __WASI_ERRNO_CONNREFUSED +#define ECONNRESET __WASI_ERRNO_CONNRESET +#define EDEADLK __WASI_ERRNO_DEADLK +#define EDESTADDRREQ __WASI_ERRNO_DESTADDRREQ +#define EDOM __WASI_ERRNO_DOM +#define EDQUOT __WASI_ERRNO_DQUOT +#define EEXIST __WASI_ERRNO_EXIST +#define EFAULT __WASI_ERRNO_FAULT +#define EFBIG __WASI_ERRNO_FBIG +#define EHOSTUNREACH __WASI_ERRNO_HOSTUNREACH +#define EIDRM __WASI_ERRNO_IDRM +#define EILSEQ __WASI_ERRNO_ILSEQ +#define EINPROGRESS __WASI_ERRNO_INPROGRESS +#define EINTR __WASI_ERRNO_INTR +#define EINVAL __WASI_ERRNO_INVAL +#define EIO __WASI_ERRNO_IO +#define EISCONN __WASI_ERRNO_ISCONN +#define EISDIR __WASI_ERRNO_ISDIR +#define ELOOP __WASI_ERRNO_LOOP +#define EMFILE __WASI_ERRNO_MFILE +#define EMLINK __WASI_ERRNO_MLINK +#define EMSGSIZE __WASI_ERRNO_MSGSIZE +#define EMULTIHOP __WASI_ERRNO_MULTIHOP +#define ENAMETOOLONG __WASI_ERRNO_NAMETOOLONG +#define ENETDOWN __WASI_ERRNO_NETDOWN +#define ENETRESET __WASI_ERRNO_NETRESET +#define ENETUNREACH __WASI_ERRNO_NETUNREACH +#define ENFILE __WASI_ERRNO_NFILE +#define ENOBUFS __WASI_ERRNO_NOBUFS +#define ENODEV __WASI_ERRNO_NODEV +#define ENOENT __WASI_ERRNO_NOENT +#define ENOEXEC __WASI_ERRNO_NOEXEC +#define ENOLCK __WASI_ERRNO_NOLCK +#define ENOLINK __WASI_ERRNO_NOLINK +#define ENOMEM __WASI_ERRNO_NOMEM +#define ENOMSG __WASI_ERRNO_NOMSG +#define ENOPROTOOPT __WASI_ERRNO_NOPROTOOPT +#define ENOSPC __WASI_ERRNO_NOSPC +#define ENOSYS __WASI_ERRNO_NOSYS +#define ENOTCONN __WASI_ERRNO_NOTCONN +#define ENOTDIR __WASI_ERRNO_NOTDIR +#define ENOTEMPTY __WASI_ERRNO_NOTEMPTY +#define ENOTRECOVERABLE __WASI_ERRNO_NOTRECOVERABLE +#define ENOTSOCK __WASI_ERRNO_NOTSOCK +#define ENOTSUP __WASI_ERRNO_NOTSUP +#define ENOTTY __WASI_ERRNO_NOTTY +#define ENXIO __WASI_ERRNO_NXIO +#define EOVERFLOW __WASI_ERRNO_OVERFLOW +#define EOWNERDEAD __WASI_ERRNO_OWNERDEAD +#define EPERM __WASI_ERRNO_PERM +#define EPIPE __WASI_ERRNO_PIPE +#define EPROTO __WASI_ERRNO_PROTO +#define EPROTONOSUPPORT __WASI_ERRNO_PROTONOSUPPORT +#define EPROTOTYPE __WASI_ERRNO_PROTOTYPE +#define ERANGE __WASI_ERRNO_RANGE +#define EROFS __WASI_ERRNO_ROFS +#define ESPIPE __WASI_ERRNO_SPIPE +#define ESRCH __WASI_ERRNO_SRCH +#define ESTALE __WASI_ERRNO_STALE +#define ETIMEDOUT __WASI_ERRNO_TIMEDOUT +#define ETXTBSY __WASI_ERRNO_TXTBSY +#define EXDEV __WASI_ERRNO_XDEV +#define ENOTCAPABLE __WASI_ERRNO_NOTCAPABLE + +#define EOPNOTSUPP ENOTSUP +#define EWOULDBLOCK EAGAIN + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__fd_set.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__fd_set.h new file mode 100644 index 00000000..7be0b9fc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__fd_set.h @@ -0,0 +1,76 @@ +#ifndef __wasilibc___fd_set_h +#define __wasilibc___fd_set_h + +#include <__typedef_fd_set.h> + +#ifdef __cplusplus +extern "C" { +#endif + +static __inline void FD_CLR(int __fd, fd_set *__set) { + size_t __n = __set->__nfds; + for (int *__p = __set->__fds, *__e = __p + __n; + __p < __e; ++__p) + { + if (*__p == __fd) { + *__p = __e[-1]; + __set->__nfds = __n - 1; + return; + } + } +} + +static __inline +#ifdef __cplusplus +bool +#else +_Bool +#endif +FD_ISSET(int __fd, const fd_set *__set) +{ + size_t __n = __set->__nfds; + for (const int *__p = __set->__fds, *__e = __p + __n; + __p < __e; ++__p) + { + if (*__p == __fd) { + return 1; + } + } + return 0; +} + +static __inline void FD_SET(int __fd, fd_set *__set) { + size_t __n = __set->__nfds; + for (const int *__p = __set->__fds, *__e = __p + __n; + __p < __e; ++__p) + { + if (*__p == __fd) { + return; + } + } + __set->__nfds = __n + 1; + __set->__fds[__n] = __fd; +} + +static __inline void FD_ZERO(fd_set *__set) { + __set->__nfds = 0; +} + +static __inline void FD_COPY(const fd_set *__restrict __from, + fd_set *__restrict __to) { + size_t __n = __from->__nfds; + __to->__nfds = __n; + __builtin_memcpy(__to->__fds, __from->__fds, __n * sizeof(int)); +} + +#define FD_CLR(fd, set) (FD_CLR((fd), (set))) +#define FD_ISSET(fd, set) (FD_ISSET((fd), (set))) +#define FD_SET(fd, set) (FD_SET((fd), (set))) +#define FD_ZERO(set) (FD_ZERO((set))) +#define FD_COPY(from, to) (FD_COPY((from), (to))) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__function___isatty.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__function___isatty.h new file mode 100644 index 00000000..7c046451 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__function___isatty.h @@ -0,0 +1,14 @@ +#ifndef __wasilibc___function___isatty_h +#define __wasilibc___function___isatty_h + +#ifdef __cplusplus +extern "C" { +#endif + +int __isatty(int fd); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_malloc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_malloc.h new file mode 100644 index 00000000..d516bc34 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_malloc.h @@ -0,0 +1,26 @@ +#ifndef __wasilibc___functions_malloc_h +#define __wasilibc___functions_malloc_h + +#define __need_size_t +#define __need_wchar_t +#define __need_NULL +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void *malloc(size_t __size) __attribute__((__malloc__, __warn_unused_result__)); +void free(void *__ptr); +void *calloc(size_t __nmemb, size_t __size) __attribute__((__malloc__, __warn_unused_result__)); +void *realloc(void *__ptr, size_t __size) __attribute__((__warn_unused_result__)); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void *reallocarray(void *__ptr, size_t __nmemb, size_t __size) __attribute__((__warn_unused_result__)); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_memcpy.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_memcpy.h new file mode 100644 index 00000000..253b0658 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__functions_memcpy.h @@ -0,0 +1,20 @@ +#ifndef __wasilibc___functions_memcpy_h +#define __wasilibc___functions_memcpy_h + +#define __need_size_t +#define __need_NULL +#include + +#ifdef __cplusplus +extern "C" { +#endif + +void *memcpy(void *__restrict__ __dst, const void *__restrict__ __src, size_t __n) __attribute__((__nothrow__, __leaf__, __nonnull__(1, 2))); +void *memmove(void *__dst, const void *__src, size_t __n) __attribute__((__nothrow__, __leaf__, __nonnull__(1, 2))); +void *memset(void *__dst, int __c, size_t __n) __attribute__((__nothrow__, __leaf__, __nonnull__(1))); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_dirent.h new file mode 100644 index 00000000..027fc07a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_dirent.h @@ -0,0 +1,52 @@ +#ifndef __wasilibc___header_dirent_h +#define __wasilibc___header_dirent_h + +#include + +#define DT_BLK __WASI_FILETYPE_BLOCK_DEVICE +#define DT_CHR __WASI_FILETYPE_CHARACTER_DEVICE +#define DT_DIR __WASI_FILETYPE_DIRECTORY +#define DT_FIFO __WASI_FILETYPE_SOCKET_STREAM +#define DT_LNK __WASI_FILETYPE_SYMBOLIC_LINK +#define DT_REG __WASI_FILETYPE_REGULAR_FILE +#define DT_UNKNOWN __WASI_FILETYPE_UNKNOWN + +// DT_SOCK is not supported in WASI Preview 1 (but will be in Preview 2). We +// define it regardless so that libc++'s `` implementation builds. +// The exact value is mostly arbitrary, but chosen so it doesn't conflict with +// any of the existing `__WASI_FILETYPE_*` flags. We do not expect any new +// flags to be added to WASI Preview 1, so that should be sufficient. +#define DT_SOCK 20 + +#define IFTODT(x) (__wasilibc_iftodt(x)) +#define DTTOIF(x) (__wasilibc_dttoif(x)) + +#include <__struct_dirent.h> +#include <__typedef_DIR.h> + +#ifdef __cplusplus +extern "C" { +#endif + +int __wasilibc_iftodt(int x); +int __wasilibc_dttoif(int x); + +int closedir(DIR *); +DIR *opendir(const char *); +DIR *fdopendir(int); +int fdclosedir(DIR *); +struct dirent *readdir(DIR *); +void rewinddir(DIR *); +void seekdir(DIR *, long); +long telldir(DIR *); +DIR *opendirat(int, const char *); +void rewinddir(DIR *); +int scandirat(int, const char *, struct dirent ***, + int (*)(const struct dirent *), + int (*)(const struct dirent **, const struct dirent **)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_fcntl.h new file mode 100644 index 00000000..04252acc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_fcntl.h @@ -0,0 +1,61 @@ +#ifndef __wasilibc___header_fcntl_h +#define __wasilibc___header_fcntl_h + +#include +#include <__seek.h> +#include <__mode_t.h> + +#define O_APPEND __WASI_FDFLAGS_APPEND +#define O_DSYNC __WASI_FDFLAGS_DSYNC +#define O_NONBLOCK __WASI_FDFLAGS_NONBLOCK +#define O_RSYNC __WASI_FDFLAGS_RSYNC +#define O_SYNC __WASI_FDFLAGS_SYNC +#define O_CREAT (__WASI_OFLAGS_CREAT << 12) +#define O_DIRECTORY (__WASI_OFLAGS_DIRECTORY << 12) +#define O_EXCL (__WASI_OFLAGS_EXCL << 12) +#define O_TRUNC (__WASI_OFLAGS_TRUNC << 12) + +#define O_NOFOLLOW (0x01000000) +#define O_EXEC (0x02000000) +#define O_RDONLY (0x04000000) +#define O_SEARCH (0x08000000) +#define O_WRONLY (0x10000000) + +/* + * O_CLOEXEC is defined to be zero, as WASI has no exec-style functions. + */ +#define O_CLOEXEC (0) + +/* + * O_TTY_INIT is defined to be zero, meaning that WASI implementations are + * expected to always initialize a terminal the first time it's opened. + */ +#define O_TTY_INIT (0) + +#define O_NOCTTY (0) + +#define O_RDWR (O_RDONLY | O_WRONLY) +#define O_ACCMODE (O_EXEC | O_RDWR | O_SEARCH) + +#define POSIX_FADV_DONTNEED __WASI_ADVICE_DONTNEED +#define POSIX_FADV_NOREUSE __WASI_ADVICE_NOREUSE +#define POSIX_FADV_NORMAL __WASI_ADVICE_NORMAL +#define POSIX_FADV_RANDOM __WASI_ADVICE_RANDOM +#define POSIX_FADV_SEQUENTIAL __WASI_ADVICE_SEQUENTIAL +#define POSIX_FADV_WILLNEED __WASI_ADVICE_WILLNEED + +#define F_GETFD (1) +#define F_SETFD (2) +#define F_GETFL (3) +#define F_SETFL (4) + +#define FD_CLOEXEC (1) + +#define AT_EACCESS (0x0) +#define AT_SYMLINK_NOFOLLOW (0x1) +#define AT_SYMLINK_FOLLOW (0x2) +#define AT_REMOVEDIR (0x4) + +#define AT_FDCWD (-2) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_inttypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_inttypes.h new file mode 100644 index 00000000..47c5c9b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_inttypes.h @@ -0,0 +1,182 @@ +#ifndef __wasilibc___include_inttypes_h +#define __wasilibc___include_inttypes_h + +#include + +#define __need_wchar_t +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { intmax_t quot, rem; } imaxdiv_t; + +intmax_t imaxabs(intmax_t); +imaxdiv_t imaxdiv(intmax_t, intmax_t); +intmax_t strtoimax(const char *__restrict, char **__restrict, int); +uintmax_t strtoumax(const char *__restrict, char **__restrict, int); +intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); +uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); + +#define PRId16 __INT16_FMTd__ +#define PRIi16 __INT16_FMTi__ +#define PRId32 __INT32_FMTd__ +#define PRIi32 __INT32_FMTi__ +#define PRId64 __INT64_FMTd__ +#define PRIi64 __INT64_FMTi__ +#define PRId8 __INT8_FMTd__ +#define PRIi8 __INT8_FMTi__ +#define PRIdMAX __INTMAX_FMTd__ +#define PRIiMAX __INTMAX_FMTi__ +#define PRIdPTR __INTPTR_FMTd__ +#define PRIiPTR __INTPTR_FMTi__ +#define PRIdFAST16 __INT_FAST16_FMTd__ +#define PRIiFAST16 __INT_FAST16_FMTi__ +#define PRIdFAST32 __INT_FAST32_FMTd__ +#define PRIiFAST32 __INT_FAST32_FMTi__ +#define PRIdFAST64 __INT_FAST64_FMTd__ +#define PRIiFAST64 __INT_FAST64_FMTi__ +#define PRIdFAST8 __INT_FAST8_FMTd__ +#define PRIiFAST8 __INT_FAST8_FMTi__ +#define PRIdLEAST16 __INT_LEAST16_FMTd__ +#define PRIiLEAST16 __INT_LEAST16_FMTi__ +#define PRIdLEAST32 __INT_LEAST32_FMTd__ +#define PRIiLEAST32 __INT_LEAST32_FMTi__ +#define PRIdLEAST64 __INT_LEAST64_FMTd__ +#define PRIiLEAST64 __INT_LEAST64_FMTi__ +#define PRIdLEAST8 __INT_LEAST8_FMTd__ +#define PRIiLEAST8 __INT_LEAST8_FMTi__ +#define PRIX16 __UINT16_FMTX__ +#define PRIo16 __UINT16_FMTo__ +#define PRIu16 __UINT16_FMTu__ +#define PRIx16 __UINT16_FMTx__ +#define PRIX32 __UINT32_FMTX__ +#define PRIo32 __UINT32_FMTo__ +#define PRIu32 __UINT32_FMTu__ +#define PRIx32 __UINT32_FMTx__ +#define PRIX64 __UINT64_FMTX__ +#define PRIo64 __UINT64_FMTo__ +#define PRIu64 __UINT64_FMTu__ +#define PRIx64 __UINT64_FMTx__ +#define PRIX8 __UINT8_FMTX__ +#define PRIo8 __UINT8_FMTo__ +#define PRIu8 __UINT8_FMTu__ +#define PRIx8 __UINT8_FMTx__ +#define PRIXMAX __UINTMAX_FMTX__ +#define PRIoMAX __UINTMAX_FMTo__ +#define PRIuMAX __UINTMAX_FMTu__ +#define PRIxMAX __UINTMAX_FMTx__ +#define PRIXPTR __UINTPTR_FMTX__ +#define PRIoPTR __UINTPTR_FMTo__ +#define PRIuPTR __UINTPTR_FMTu__ +#define PRIxPTR __UINTPTR_FMTx__ +#define PRIXFAST16 __UINT_FAST16_FMTX__ +#define PRIoFAST16 __UINT_FAST16_FMTo__ +#define PRIuFAST16 __UINT_FAST16_FMTu__ +#define PRIxFAST16 __UINT_FAST16_FMTx__ +#define PRIXFAST32 __UINT_FAST32_FMTX__ +#define PRIoFAST32 __UINT_FAST32_FMTo__ +#define PRIuFAST32 __UINT_FAST32_FMTu__ +#define PRIxFAST32 __UINT_FAST32_FMTx__ +#define PRIXFAST64 __UINT_FAST64_FMTX__ +#define PRIoFAST64 __UINT_FAST64_FMTo__ +#define PRIuFAST64 __UINT_FAST64_FMTu__ +#define PRIxFAST64 __UINT_FAST64_FMTx__ +#define PRIXFAST8 __UINT_FAST8_FMTX__ +#define PRIoFAST8 __UINT_FAST8_FMTo__ +#define PRIuFAST8 __UINT_FAST8_FMTu__ +#define PRIxFAST8 __UINT_FAST8_FMTx__ +#define PRIXLEAST16 __UINT_LEAST16_FMTX__ +#define PRIoLEAST16 __UINT_LEAST16_FMTo__ +#define PRIuLEAST16 __UINT_LEAST16_FMTu__ +#define PRIxLEAST16 __UINT_LEAST16_FMTx__ +#define PRIXLEAST32 __UINT_LEAST32_FMTX__ +#define PRIoLEAST32 __UINT_LEAST32_FMTo__ +#define PRIuLEAST32 __UINT_LEAST32_FMTu__ +#define PRIxLEAST32 __UINT_LEAST32_FMTx__ +#define PRIXLEAST64 __UINT_LEAST64_FMTX__ +#define PRIoLEAST64 __UINT_LEAST64_FMTo__ +#define PRIuLEAST64 __UINT_LEAST64_FMTu__ +#define PRIxLEAST64 __UINT_LEAST64_FMTx__ +#define PRIXLEAST8 __UINT_LEAST8_FMTX__ +#define PRIoLEAST8 __UINT_LEAST8_FMTo__ +#define PRIuLEAST8 __UINT_LEAST8_FMTu__ +#define PRIxLEAST8 __UINT_LEAST8_FMTx__ + +#define SCNd16 __INT16_FMTd__ +#define SCNi16 __INT16_FMTi__ +#define SCNd32 __INT32_FMTd__ +#define SCNi32 __INT32_FMTi__ +#define SCNd64 __INT64_FMTd__ +#define SCNi64 __INT64_FMTi__ +#define SCNd8 __INT8_FMTd__ +#define SCNi8 __INT8_FMTi__ +#define SCNdMAX __INTMAX_FMTd__ +#define SCNiMAX __INTMAX_FMTi__ +#define SCNdPTR __INTPTR_FMTd__ +#define SCNiPTR __INTPTR_FMTi__ +#define SCNdFAST16 __INT_FAST16_FMTd__ +#define SCNiFAST16 __INT_FAST16_FMTi__ +#define SCNdFAST32 __INT_FAST32_FMTd__ +#define SCNiFAST32 __INT_FAST32_FMTi__ +#define SCNdFAST64 __INT_FAST64_FMTd__ +#define SCNiFAST64 __INT_FAST64_FMTi__ +#define SCNdFAST8 __INT_FAST8_FMTd__ +#define SCNiFAST8 __INT_FAST8_FMTi__ +#define SCNdLEAST16 __INT_LEAST16_FMTd__ +#define SCNiLEAST16 __INT_LEAST16_FMTi__ +#define SCNdLEAST32 __INT_LEAST32_FMTd__ +#define SCNiLEAST32 __INT_LEAST32_FMTi__ +#define SCNdLEAST64 __INT_LEAST64_FMTd__ +#define SCNiLEAST64 __INT_LEAST64_FMTi__ +#define SCNdLEAST8 __INT_LEAST8_FMTd__ +#define SCNiLEAST8 __INT_LEAST8_FMTi__ +#define SCNo16 __UINT16_FMTo__ +#define SCNu16 __UINT16_FMTu__ +#define SCNx16 __UINT16_FMTx__ +#define SCNo32 __UINT32_FMTo__ +#define SCNu32 __UINT32_FMTu__ +#define SCNx32 __UINT32_FMTx__ +#define SCNo64 __UINT64_FMTo__ +#define SCNu64 __UINT64_FMTu__ +#define SCNx64 __UINT64_FMTx__ +#define SCNo8 __UINT8_FMTo__ +#define SCNu8 __UINT8_FMTu__ +#define SCNx8 __UINT8_FMTx__ +#define SCNoMAX __UINTMAX_FMTo__ +#define SCNuMAX __UINTMAX_FMTu__ +#define SCNxMAX __UINTMAX_FMTx__ +#define SCNoPTR __UINTPTR_FMTo__ +#define SCNuPTR __UINTPTR_FMTu__ +#define SCNxPTR __UINTPTR_FMTx__ +#define SCNoFAST16 __UINT_FAST16_FMTo__ +#define SCNuFAST16 __UINT_FAST16_FMTu__ +#define SCNxFAST16 __UINT_FAST16_FMTx__ +#define SCNoFAST32 __UINT_FAST32_FMTo__ +#define SCNuFAST32 __UINT_FAST32_FMTu__ +#define SCNxFAST32 __UINT_FAST32_FMTx__ +#define SCNoFAST64 __UINT_FAST64_FMTo__ +#define SCNuFAST64 __UINT_FAST64_FMTu__ +#define SCNxFAST64 __UINT_FAST64_FMTx__ +#define SCNoFAST8 __UINT_FAST8_FMTo__ +#define SCNuFAST8 __UINT_FAST8_FMTu__ +#define SCNxFAST8 __UINT_FAST8_FMTx__ +#define SCNoLEAST16 __UINT_LEAST16_FMTo__ +#define SCNuLEAST16 __UINT_LEAST16_FMTu__ +#define SCNxLEAST16 __UINT_LEAST16_FMTx__ +#define SCNoLEAST32 __UINT_LEAST32_FMTo__ +#define SCNuLEAST32 __UINT_LEAST32_FMTu__ +#define SCNxLEAST32 __UINT_LEAST32_FMTx__ +#define SCNoLEAST64 __UINT_LEAST64_FMTo__ +#define SCNuLEAST64 __UINT_LEAST64_FMTu__ +#define SCNxLEAST64 __UINT_LEAST64_FMTx__ +#define SCNoLEAST8 __UINT_LEAST8_FMTo__ +#define SCNuLEAST8 __UINT_LEAST8_FMTu__ +#define SCNxLEAST8 __UINT_LEAST8_FMTx__ + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_netinet_in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_netinet_in.h new file mode 100644 index 00000000..30359c88 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_netinet_in.h @@ -0,0 +1,30 @@ +#ifndef __wasilibc___header_netinet_in_h +#define __wasilibc___header_netinet_in_h + +#include <__struct_in_addr.h> +#include <__struct_in6_addr.h> +#include <__struct_sockaddr_in.h> +#include <__struct_sockaddr_in6.h> + +#define IPPROTO_IP 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_TCP 6 +#define IPPROTO_UDP 17 +#define IPPROTO_IPV6 41 +#define IPPROTO_RAW 255 + +#define IN6ADDR_ANY_INIT { { \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00 \ +} } + +#define IN6ADDR_LOOPBACK_INIT { { \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x00, \ + 0x00, 0x00, 0x00, 0x01 \ +} } + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_poll.h new file mode 100644 index 00000000..23b36f2f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_poll.h @@ -0,0 +1,27 @@ +#ifndef __wasilibc___header_poll_h +#define __wasilibc___header_poll_h + +#include <__struct_pollfd.h> +#include <__typedef_nfds_t.h> + +#define POLLRDNORM 0x1 +#define POLLWRNORM 0x2 + +#define POLLIN POLLRDNORM +#define POLLOUT POLLWRNORM + +#define POLLERR 0x1000 +#define POLLHUP 0x2000 +#define POLLNVAL 0x4000 + +#ifdef __cplusplus +extern "C" { +#endif + +int poll(struct pollfd[], nfds_t, int); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_stdlib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_stdlib.h new file mode 100644 index 00000000..a6c49a53 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_stdlib.h @@ -0,0 +1,21 @@ +#ifndef __wasilibc___header_stdlib_h +#define __wasilibc___header_stdlib_h + +#define __need_size_t +#include + +#include <__functions_malloc.h> + +#ifdef __cplusplus +extern "C" { +#endif + +void abort(void) __attribute__((__noreturn__)); +void qsort(void *, size_t, size_t, int (*)(const void *, const void *)); +void _Exit(int) __attribute__((__noreturn__)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_string.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_string.h new file mode 100644 index 00000000..eb98a8a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_string.h @@ -0,0 +1,23 @@ +#ifndef __wasilibc___header_string_h +#define __wasilibc___header_string_h + +#define __need_size_t +#define __need_NULL +#include + +#include <__functions_memcpy.h> + +#ifdef __cplusplus +extern "C" { +#endif + +size_t strlen(const char *) __attribute__((__nothrow__, __leaf__, __pure__, __nonnull__(1))); +char *strdup(const char *) __attribute__((__nothrow__, __nonnull__(1))); +int strcmp(const char *, const char *) __attribute__((__nothrow__, __pure__, __nonnull__(1, 2))); +void *memchr(const void *, int, size_t) __attribute__((__nothrow__, __pure__, __nonnull__(1))); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_ioctl.h new file mode 100644 index 00000000..f2cf4ee7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_ioctl.h @@ -0,0 +1,17 @@ +#ifndef __wasilibc___header_sys_ioctl_h +#define __wasilibc___header_sys_ioctl_h + +#define FIONREAD 1 +#define FIONBIO 2 + +#ifdef __cplusplus +extern "C" { +#endif + +int ioctl(int, int, ...); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_resource.h new file mode 100644 index 00000000..bae9d5aa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_resource.h @@ -0,0 +1,19 @@ +#ifndef __wasilibc___header_sys_resource_h +#define __wasilibc___header_sys_resource_h + +#include <__struct_rusage.h> + +#define RUSAGE_SELF 1 +#define RUSAGE_CHILDREN 2 + +#ifdef __cplusplus +extern "C" { +#endif + +int getrusage(int who, struct rusage *usage); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_socket.h new file mode 100644 index 00000000..fa98ccac --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_socket.h @@ -0,0 +1,79 @@ +#ifndef __wasilibc___header_sys_socket_h +#define __wasilibc___header_sys_socket_h + +#include <__wasi_snapshot.h> +#include <__struct_msghdr.h> +#include <__struct_sockaddr.h> +#include <__struct_sockaddr_storage.h> + +#include + +#define SHUT_RD __WASI_SDFLAGS_RD +#define SHUT_WR __WASI_SDFLAGS_WR +#define SHUT_RDWR (SHUT_RD | SHUT_WR) + +#ifdef __wasilibc_use_wasip2 +#define MSG_DONTWAIT 0x0040 +#define MSG_NOSIGNAL 0x4000 +#define MSG_PEEK 0x0002 +#define MSG_WAITALL 0x0100 +#define MSG_TRUNC 0x0020 + +#define SOL_IP 0 +#define SOL_TCP 6 +#define SOL_UDP 17 +#define SOL_IPV6 41 + +#define SOMAXCONN 128 + +#define SO_REUSEADDR 2 +#define SO_ERROR 4 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_KEEPALIVE 9 +#define SO_ACCEPTCONN 30 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 + +#if __LONG_MAX == 0x7fffffff +#define SO_RCVTIMEO 66 +#define SO_SNDTIMEO 67 +#else +#define SO_RCVTIMEO 20 +#define SO_SNDTIMEO 21 +#endif + +#else // __wasilibc_use_wasip2 +#define MSG_PEEK __WASI_RIFLAGS_RECV_PEEK +#define MSG_WAITALL __WASI_RIFLAGS_RECV_WAITALL +#define MSG_TRUNC __WASI_ROFLAGS_RECV_DATA_TRUNCATED +#endif // __wasilibc_use_wasip2 + +#define SOCK_DGRAM __WASI_FILETYPE_SOCKET_DGRAM +#define SOCK_STREAM __WASI_FILETYPE_SOCKET_STREAM + +#define SOCK_NONBLOCK (0x00004000) +#define SOCK_CLOEXEC (0x00002000) + +#define SOL_SOCKET 0x7fffffff + +#define SO_TYPE 3 + +#define PF_UNSPEC 0 +#define PF_INET 1 +#define PF_INET6 2 + +#define AF_UNSPEC PF_UNSPEC +#define AF_INET PF_INET +#define AF_INET6 PF_INET6 +#define AF_UNIX 3 + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_stat.h new file mode 100644 index 00000000..f965cf3d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_sys_stat.h @@ -0,0 +1,15 @@ +#ifndef __wasilibc___header_sys_stat_h +#define __wasilibc___header_sys_stat_h + +#include <__struct_stat.h> + +#define st_atime st_atim.tv_sec +#define st_mtime st_mtim.tv_sec +#define st_ctime st_ctim.tv_sec + +#include <__mode_t.h> + +#define UTIME_NOW (-1) +#define UTIME_OMIT (-2) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_time.h new file mode 100644 index 00000000..2a2ff91d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_time.h @@ -0,0 +1,33 @@ +#ifndef __wasilibc___header_time_h +#define __wasilibc___header_time_h + +#define __need_size_t +#define __need_NULL +#include + +#include <__typedef_time_t.h> +#include <__struct_timespec.h> +#include <__struct_tm.h> +#include <__typedef_clockid_t.h> + +#include + +#define TIMER_ABSTIME __WASI_SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME + +extern const struct __clockid _CLOCK_MONOTONIC; +#define CLOCK_MONOTONIC (&_CLOCK_MONOTONIC) +extern const struct __clockid _CLOCK_REALTIME; +#define CLOCK_REALTIME (&_CLOCK_REALTIME) + +/* + * TIME_UTC is the only standardized time base value. + */ +#define TIME_UTC 1 + +/* + * Note that XSI specifies CLOCKS_PER_SEC to be 1000000, rather than + * 1000000000; the clock API is providing more precision than XSI specifies. + */ +#define CLOCKS_PER_SEC ((clock_t)1000000000) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_unistd.h new file mode 100644 index 00000000..6b80d637 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__header_unistd.h @@ -0,0 +1,28 @@ +#ifndef __wasilibc___header_unistd_h +#define __wasilibc___header_unistd_h + +struct stat; + +#include <__seek.h> + +#define F_OK (0) +#define X_OK (1) +#define W_OK (2) +#define R_OK (4) + +#ifdef __cplusplus +extern "C" { +#endif + +int close(int fd); +int faccessat(int, const char *, int, int); +int fstatat(int, const char *__restrict, struct stat *__restrict, int); +int renameat(int, const char *, int, const char *); +int openat(int, const char *, int, ...); +void *sbrk(intptr_t increment); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_FD_SETSIZE.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_FD_SETSIZE.h new file mode 100644 index 00000000..bb88e45c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_FD_SETSIZE.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___macro_FD_SETSIZE_h +#define __wasilibc___macro_FD_SETSIZE_h + +#define FD_SETSIZE 1024 + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_PAGESIZE.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_PAGESIZE.h new file mode 100644 index 00000000..d8922205 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__macro_PAGESIZE.h @@ -0,0 +1,16 @@ +#ifndef __wasilibc___macro_PAGESIZE_h +#define __wasilibc___macro_PAGESIZE_h + +/* + * The page size in WebAssembly is fixed at 64 KiB. If this ever changes, + * it's expected that applications will need to opt in, so we can change + * this. + * + * If this ever needs to be a value outside the range of an `int`, the + * `getpagesize` function which returns this value will need special + * consideration. POSIX has deprecated `getpagesize` in favor of + * `sysconf(_SC_PAGESIZE)` which does not have this problem. + */ +#define PAGESIZE (0x10000) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__mode_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__mode_t.h new file mode 100644 index 00000000..d2dbe047 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__mode_t.h @@ -0,0 +1,38 @@ +#ifndef __wasilibc___mode_t_h +#define __wasilibc___mode_t_h + +#define S_IFMT \ + (S_IFBLK | S_IFCHR | S_IFDIR | S_IFIFO | S_IFLNK | S_IFREG | S_IFSOCK) +#define S_IFBLK (0x6000) +#define S_IFCHR (0x2000) +#define S_IFDIR (0x4000) +#define S_IFLNK (0xa000) +#define S_IFREG (0x8000) +#define S_IFSOCK (0xc000) +#define S_IFIFO (0x1000) + +#define S_ISBLK(m) (((m)&S_IFMT) == S_IFBLK) +#define S_ISCHR(m) (((m)&S_IFMT) == S_IFCHR) +#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) +#define S_ISFIFO(m) (((m)&S_IFMT) == S_IFIFO) +#define S_ISLNK(m) (((m)&S_IFMT) == S_IFLNK) +#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) +#define S_ISSOCK(m) (((m)&S_IFMT) == S_IFSOCK) + +#define S_IXOTH (0x1) +#define S_IWOTH (0x2) +#define S_IROTH (0x4) +#define S_IRWXO (S_IXOTH | S_IWOTH | S_IROTH) +#define S_IXGRP (0x8) +#define S_IWGRP (0x10) +#define S_IRGRP (0x20) +#define S_IRWXG (S_IXGRP | S_IWGRP | S_IRGRP) +#define S_IXUSR (0x40) +#define S_IWUSR (0x80) +#define S_IRUSR (0x100) +#define S_IRWXU (S_IXUSR | S_IWUSR | S_IRUSR) +#define S_ISVTX (0x200) +#define S_ISGID (0x400) +#define S_ISUID (0x800) + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__seek.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__seek.h new file mode 100644 index 00000000..8824adb1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__seek.h @@ -0,0 +1,10 @@ +#ifndef __wasilibc___seek_h +#define __wasilibc___seek_h + +#include + +#define SEEK_CUR __WASI_WHENCE_CUR +#define SEEK_END __WASI_WHENCE_END +#define SEEK_SET __WASI_WHENCE_SET + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_dirent.h new file mode 100644 index 00000000..9d2ece81 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_dirent.h @@ -0,0 +1,14 @@ +#ifndef __wasilibc___struct_dirent_h +#define __wasilibc___struct_dirent_h + +#include <__typedef_ino_t.h> + +#define _DIRENT_HAVE_D_TYPE + +struct dirent { + ino_t d_ino; + unsigned char d_type; + char d_name[]; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in6_addr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in6_addr.h new file mode 100644 index 00000000..cf2fafeb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in6_addr.h @@ -0,0 +1,8 @@ +#ifndef __wasilibc___struct_in6_addr_h +#define __wasilibc___struct_in6_addr_h + +struct in6_addr { + _Alignas(int32_t) unsigned char s6_addr[16]; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in_addr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in_addr.h new file mode 100644 index 00000000..881ffa6d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_in_addr.h @@ -0,0 +1,10 @@ +#ifndef __wasilibc___struct_in_addr_h +#define __wasilibc___struct_in_addr_h + +#include <__typedef_in_addr_t.h> + +struct in_addr { + in_addr_t s_addr; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_iovec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_iovec.h new file mode 100644 index 00000000..da3e1c7d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_iovec.h @@ -0,0 +1,12 @@ +#ifndef __wasilibc___struct_iovec_h +#define __wasilibc___struct_iovec_h + +#define __need_size_t +#include + +struct iovec { + void *iov_base; + size_t iov_len; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_msghdr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_msghdr.h new file mode 100644 index 00000000..0c0877dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_msghdr.h @@ -0,0 +1,16 @@ +#ifndef __wasilibc___struct_msghdr_h +#define __wasilibc___struct_msghdr_h + +#include <__typedef_socklen_t.h> + +struct msghdr { + void *msg_name; + socklen_t msg_namelen; + struct iovec *msg_iov; + int msg_iovlen; + void *msg_control; + socklen_t msg_controllen; + int msg_flags; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_pollfd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_pollfd.h new file mode 100644 index 00000000..45874c59 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_pollfd.h @@ -0,0 +1,10 @@ +#ifndef __wasilibc___struct_pollfd_h +#define __wasilibc___struct_pollfd_h + +struct pollfd { + int fd; + short events; + short revents; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_rusage.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_rusage.h new file mode 100644 index 00000000..69fe2fef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_rusage.h @@ -0,0 +1,12 @@ +#ifndef __wasilibc___struct_rusage_h +#define __wasilibc___struct_rusage_h + +#include <__struct_timeval.h> + +/* TODO: Add more features here. */ +struct rusage { + struct timeval ru_utime; + struct timeval ru_stime; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr.h new file mode 100644 index 00000000..2e14d952 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr.h @@ -0,0 +1,11 @@ +#ifndef __wasilibc___struct_sockaddr_h +#define __wasilibc___struct_sockaddr_h + +#include <__typedef_sa_family_t.h> + +struct sockaddr { + __attribute__((aligned(__BIGGEST_ALIGNMENT__))) sa_family_t sa_family; + char sa_data[0]; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in.h new file mode 100644 index 00000000..5d4ce51b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in.h @@ -0,0 +1,14 @@ +#ifndef __wasilibc___struct_sockaddr_in_h +#define __wasilibc___struct_sockaddr_in_h + +#include <__typedef_sa_family_t.h> +#include <__typedef_in_port_t.h> +#include <__struct_in_addr.h> + +struct sockaddr_in { + __attribute__((aligned(__BIGGEST_ALIGNMENT__))) sa_family_t sin_family; + in_port_t sin_port; + struct in_addr sin_addr; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in6.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in6.h new file mode 100644 index 00000000..98703dcb --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_in6.h @@ -0,0 +1,16 @@ +#ifndef __wasilibc___struct_sockaddr_in6_h +#define __wasilibc___struct_sockaddr_in6_h + +#include <__typedef_sa_family_t.h> +#include <__typedef_in_port_t.h> +#include <__struct_in6_addr.h> + +struct sockaddr_in6 { + __attribute__((aligned(__BIGGEST_ALIGNMENT__))) sa_family_t sin6_family; + in_port_t sin6_port; + unsigned sin6_flowinfo; + struct in6_addr sin6_addr; + unsigned sin6_scope_id; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_storage.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_storage.h new file mode 100644 index 00000000..b4ebad2f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_storage.h @@ -0,0 +1,11 @@ +#ifndef __wasilibc___struct_sockaddr_storage_h +#define __wasilibc___struct_sockaddr_storage_h + +#include <__typedef_sa_family_t.h> + +struct sockaddr_storage { + __attribute__((aligned(__BIGGEST_ALIGNMENT__))) sa_family_t ss_family; + char __ss_data[32]; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_un.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_un.h new file mode 100644 index 00000000..63711949 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_sockaddr_un.h @@ -0,0 +1,10 @@ +#ifndef __wasilibc___struct_sockaddr_un_h +#define __wasilibc___struct_sockaddr_un_h + +#include <__typedef_sa_family_t.h> + +struct sockaddr_un { + __attribute__((aligned(__BIGGEST_ALIGNMENT__))) sa_family_t sun_family; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_stat.h new file mode 100644 index 00000000..5e345da1 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_stat.h @@ -0,0 +1,35 @@ +#ifndef __wasilibc___struct_stat_h +#define __wasilibc___struct_stat_h + +#include <__typedef_dev_t.h> +#include <__typedef_ino_t.h> +#include <__typedef_nlink_t.h> +#include <__typedef_mode_t.h> +#include <__typedef_uid_t.h> +#include <__typedef_gid_t.h> +#include <__typedef_off_t.h> +#include <__typedef_blksize_t.h> +#include <__typedef_blkcnt_t.h> +#include <__struct_timespec.h> + +struct stat { + dev_t st_dev; + ino_t st_ino; + nlink_t st_nlink; + + mode_t st_mode; + uid_t st_uid; + gid_t st_gid; + unsigned int __pad0; + dev_t st_rdev; + off_t st_size; + blksize_t st_blksize; + blkcnt_t st_blocks; + + struct timespec st_atim; + struct timespec st_mtim; + struct timespec st_ctim; + long long __reserved[3]; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timespec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timespec.h new file mode 100644 index 00000000..10d83f99 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timespec.h @@ -0,0 +1,12 @@ +#ifndef __wasilibc___struct_timespec_h +#define __wasilibc___struct_timespec_h + +#include <__typedef_time_t.h> + +/* As specified in POSIX. */ +struct timespec { + time_t tv_sec; + long tv_nsec; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timeval.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timeval.h new file mode 100644 index 00000000..b09f1a9d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_timeval.h @@ -0,0 +1,13 @@ +#ifndef __wasilibc___struct_timeval_h +#define __wasilibc___struct_timeval_h + +#include <__typedef_time_t.h> +#include <__typedef_suseconds_t.h> + +/* As specified in POSIX. */ +struct timeval { + time_t tv_sec; + suseconds_t tv_usec; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tm.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tm.h new file mode 100644 index 00000000..3c83dc5b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tm.h @@ -0,0 +1,19 @@ +#ifndef __wasilibc___struct_tm_h +#define __wasilibc___struct_tm_h + +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + int __tm_gmtoff; + const char *__tm_zone; + int __tm_nsec; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tms.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tms.h new file mode 100644 index 00000000..9914097b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__struct_tms.h @@ -0,0 +1,13 @@ +#ifndef __wasilibc___struct_tms_h +#define __wasilibc___struct_tms_h + +#include <__typedef_clock_t.h> + +struct tms { + clock_t tms_utime; + clock_t tms_stime; + clock_t tms_cutime; + clock_t tms_cstime; +}; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_DIR.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_DIR.h new file mode 100644 index 00000000..f07cfc18 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_DIR.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_DIR_h +#define __wasilibc___typedef_DIR_h + +typedef struct _DIR DIR; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blkcnt_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blkcnt_t.h new file mode 100644 index 00000000..e8d7b3dc --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blkcnt_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_blkcnt_t_h +#define __wasilibc___typedef_blkcnt_t_h + +/* Define these as 64-bit signed integers to support files larger than 2 GiB. */ +typedef long long blkcnt_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blksize_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blksize_t.h new file mode 100644 index 00000000..8816e0a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_blksize_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_blksize_t_h +#define __wasilibc___typedef_blksize_t_h + +typedef long blksize_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clock_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clock_t.h new file mode 100644 index 00000000..68cb5884 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clock_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_clock_t_h +#define __wasilibc___typedef_clock_t_h + +/* Define this as a 64-bit signed integer to avoid wraparounds. */ +typedef long long clock_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clockid_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clockid_t.h new file mode 100644 index 00000000..6de42444 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_clockid_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_clockid_t_h +#define __wasilibc___typedef_clockid_t_h + +typedef const struct __clockid *clockid_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_dev_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_dev_t.h new file mode 100644 index 00000000..353e94f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_dev_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_dev_t_h +#define __wasilibc___typedef_dev_t_h + +/* Define these as 64-bit integers to support billions of devices. */ +typedef unsigned long long dev_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_fd_set.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_fd_set.h new file mode 100644 index 00000000..35ea958f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_fd_set.h @@ -0,0 +1,14 @@ +#ifndef __wasilibc___typedef_fd_set_h +#define __wasilibc___typedef_fd_set_h + +#define __need_size_t +#include + +#include <__macro_FD_SETSIZE.h> + +typedef struct { + size_t __nfds; + int __fds[FD_SETSIZE]; +} fd_set; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_gid_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_gid_t.h new file mode 100644 index 00000000..6eb82f27 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_gid_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_gid_t_h +#define __wasilibc___typedef_gid_t_h + +typedef unsigned gid_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_addr_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_addr_t.h new file mode 100644 index 00000000..68ab5122 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_addr_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_in_addr_t_h +#define __wasilibc___typedef_in_addr_t_h + +typedef unsigned in_addr_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_port_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_port_t.h new file mode 100644 index 00000000..890a2c87 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_in_port_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_in_port_t_h +#define __wasilibc___typedef_in_port_t_h + +typedef unsigned short in_port_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ino_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ino_t.h new file mode 100644 index 00000000..f3e11e43 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ino_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_ino_t_h +#define __wasilibc___typedef_ino_t_h + +/* Define these as 64-bit integers to support billions of inodes. */ +typedef unsigned long long ino_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_mode_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_mode_t.h new file mode 100644 index 00000000..51b927d9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_mode_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_mode_t_h +#define __wasilibc___typedef_mode_t_h + +typedef unsigned mode_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nfds_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nfds_t.h new file mode 100644 index 00000000..ea0a93e7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nfds_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_nfds_t_h +#define __wasilibc___typedef_nfds_t_h + +typedef unsigned long nfds_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nlink_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nlink_t.h new file mode 100644 index 00000000..ae34c79f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_nlink_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_nlink_t_h +#define __wasilibc___typedef_nlink_t_h + +/* Define these as 64-bit unsigned integers to support billions of links. */ +typedef unsigned long long nlink_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_off_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_off_t.h new file mode 100644 index 00000000..115ffdd9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_off_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_off_t_h +#define __wasilibc___typedef_off_t_h + +/* Define these as 64-bit signed integers to support files larger than 2 GiB. */ +typedef long long off_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sa_family_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sa_family_t.h new file mode 100644 index 00000000..0ad18c94 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sa_family_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_sa_family_t_h +#define __wasilibc___typedef_sa_family_t_h + +typedef unsigned short sa_family_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sigset_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sigset_t.h new file mode 100644 index 00000000..f7e48675 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_sigset_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_sigset_t_h +#define __wasilibc___typedef_sigset_t_h + +/* TODO: This is just a placeholder for now. Keep this in sync with musl. */ +typedef unsigned char sigset_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_socklen_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_socklen_t.h new file mode 100644 index 00000000..bd68e555 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_socklen_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_socklen_t_h +#define __wasilibc___typedef_socklen_t_h + +typedef unsigned socklen_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ssize_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ssize_t.h new file mode 100644 index 00000000..25dc15a8 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_ssize_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_ssize_t_h +#define __wasilibc___typedef_ssize_t_h + +/* This is defined to be the same size as size_t. */ +typedef long ssize_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_suseconds_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_suseconds_t.h new file mode 100644 index 00000000..92667e2a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_suseconds_t.h @@ -0,0 +1,8 @@ +#ifndef __wasilibc___typedef_suseconds_t_h +#define __wasilibc___typedef_suseconds_t_h + +/* Define this to be 64-bit as its main use is in struct timeval where the + extra space would otherwise be padding. */ +typedef long long suseconds_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_time_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_time_t.h new file mode 100644 index 00000000..6ee0f86b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_time_t.h @@ -0,0 +1,7 @@ +#ifndef __wasilibc___typedef_time_t_h +#define __wasilibc___typedef_time_t_h + +/* Define this as a 64-bit signed integer to avoid the 2038 bug. */ +typedef long long time_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_uid_t.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_uid_t.h new file mode 100644 index 00000000..c9da3003 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__typedef_uid_t.h @@ -0,0 +1,6 @@ +#ifndef __wasilibc___typedef_uid_t_h +#define __wasilibc___typedef_uid_t_h + +typedef unsigned uid_t; + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__wasi_snapshot.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/__wasi_snapshot.h new file mode 100644 index 00000000..e69de29b diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/inet.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/inet.h new file mode 100644 index 00000000..f657c30e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/inet.h @@ -0,0 +1,35 @@ +#ifndef _ARPA_INET_H +#define _ARPA_INET_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +uint32_t htonl(uint32_t); +uint16_t htons(uint16_t); +uint32_t ntohl(uint32_t); +uint16_t ntohs(uint16_t); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no inet_addr */ +in_addr_t inet_addr (const char *); +in_addr_t inet_network (const char *); +char *inet_ntoa (struct in_addr); +#endif +int inet_pton (int, const char *__restrict, void *__restrict); +const char *inet_ntop (int, const void *__restrict, char *__restrict, socklen_t); + +int inet_aton (const char *, struct in_addr *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no inet_makeaddr */ +struct in_addr inet_makeaddr(in_addr_t, in_addr_t); +in_addr_t inet_lnaof(struct in_addr); +in_addr_t inet_netof(struct in_addr); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser.h new file mode 100644 index 00000000..581925a4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser.h @@ -0,0 +1,455 @@ +#ifndef _ARPA_NAMESER_H +#define _ARPA_NAMESER_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NAMESER 19991006 +#define NS_PACKETSZ 512 +#define NS_MAXDNAME 1025 +#define NS_MAXMSG 65535 +#define NS_MAXCDNAME 255 +#define NS_MAXLABEL 63 +#define NS_HFIXEDSZ 12 +#define NS_QFIXEDSZ 4 +#define NS_RRFIXEDSZ 10 +#define NS_INT32SZ 4 +#define NS_INT16SZ 2 +#define NS_INT8SZ 1 +#define NS_INADDRSZ 4 +#define NS_IN6ADDRSZ 16 +#define NS_CMPRSFLGS 0xc0 +#define NS_DEFAULTPORT 53 + +typedef enum __ns_sect { + ns_s_qd = 0, + ns_s_zn = 0, + ns_s_an = 1, + ns_s_pr = 1, + ns_s_ns = 2, + ns_s_ud = 2, + ns_s_ar = 3, + ns_s_max = 4 +} ns_sect; + +typedef struct __ns_msg { + const unsigned char *_msg, *_eom; + uint16_t _id, _flags, _counts[ns_s_max]; + const unsigned char *_sections[ns_s_max]; + ns_sect _sect; + int _rrnum; + const unsigned char *_msg_ptr; +} ns_msg; + +struct _ns_flagdata { int mask, shift; }; +extern const struct _ns_flagdata _ns_flagdata[]; + +#define ns_msg_id(handle) ((handle)._id + 0) +#define ns_msg_base(handle) ((handle)._msg + 0) +#define ns_msg_end(handle) ((handle)._eom + 0) +#define ns_msg_size(handle) ((handle)._eom - (handle)._msg) +#define ns_msg_count(handle, section) ((handle)._counts[section] + 0) +#define ns_msg_getflag(handle, flag) \ + (((handle)._flags & _ns_flagdata[flag].mask) >> _ns_flagdata[flag].shift) + +typedef struct __ns_rr { + char name[NS_MAXDNAME]; + uint16_t type; + uint16_t rr_class; + uint32_t ttl; + uint16_t rdlength; + const unsigned char *rdata; +} ns_rr; + +#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") +#define ns_rr_type(rr) ((ns_type)((rr).type + 0)) +#define ns_rr_class(rr) ((ns_class)((rr).rr_class + 0)) +#define ns_rr_ttl(rr) ((rr).ttl + 0) +#define ns_rr_rdlen(rr) ((rr).rdlength + 0) +#define ns_rr_rdata(rr) ((rr).rdata + 0) + +typedef enum __ns_flag { + ns_f_qr, + ns_f_opcode, + ns_f_aa, + ns_f_tc, + ns_f_rd, + ns_f_ra, + ns_f_z, + ns_f_ad, + ns_f_cd, + ns_f_rcode, + ns_f_max +} ns_flag; + +typedef enum __ns_opcode { + ns_o_query = 0, + ns_o_iquery = 1, + ns_o_status = 2, + ns_o_notify = 4, + ns_o_update = 5, + ns_o_max = 6 +} ns_opcode; + +typedef enum __ns_rcode { + ns_r_noerror = 0, + ns_r_formerr = 1, + ns_r_servfail = 2, + ns_r_nxdomain = 3, + ns_r_notimpl = 4, + ns_r_refused = 5, + ns_r_yxdomain = 6, + ns_r_yxrrset = 7, + ns_r_nxrrset = 8, + ns_r_notauth = 9, + ns_r_notzone = 10, + ns_r_max = 11, + ns_r_badvers = 16, + ns_r_badsig = 16, + ns_r_badkey = 17, + ns_r_badtime = 18 +} ns_rcode; + +typedef enum __ns_update_operation { + ns_uop_delete = 0, + ns_uop_add = 1, + ns_uop_max = 2 +} ns_update_operation; + +struct ns_tsig_key { + char name[NS_MAXDNAME], alg[NS_MAXDNAME]; + unsigned char *data; + int len; +}; +typedef struct ns_tsig_key ns_tsig_key; + +struct ns_tcp_tsig_state { + int counter; + struct dst_key *key; + void *ctx; + unsigned char sig[NS_PACKETSZ]; + int siglen; +}; +typedef struct ns_tcp_tsig_state ns_tcp_tsig_state; + +#define NS_TSIG_FUDGE 300 +#define NS_TSIG_TCP_COUNT 100 +#define NS_TSIG_ALG_HMAC_MD5 "HMAC-MD5.SIG-ALG.REG.INT" + +#define NS_TSIG_ERROR_NO_TSIG -10 +#define NS_TSIG_ERROR_NO_SPACE -11 +#define NS_TSIG_ERROR_FORMERR -12 + +typedef enum __ns_type { + ns_t_invalid = 0, + ns_t_a = 1, + ns_t_ns = 2, + ns_t_md = 3, + ns_t_mf = 4, + ns_t_cname = 5, + ns_t_soa = 6, + ns_t_mb = 7, + ns_t_mg = 8, + ns_t_mr = 9, + ns_t_null = 10, + ns_t_wks = 11, + ns_t_ptr = 12, + ns_t_hinfo = 13, + ns_t_minfo = 14, + ns_t_mx = 15, + ns_t_txt = 16, + ns_t_rp = 17, + ns_t_afsdb = 18, + ns_t_x25 = 19, + ns_t_isdn = 20, + ns_t_rt = 21, + ns_t_nsap = 22, + ns_t_nsap_ptr = 23, + ns_t_sig = 24, + ns_t_key = 25, + ns_t_px = 26, + ns_t_gpos = 27, + ns_t_aaaa = 28, + ns_t_loc = 29, + ns_t_nxt = 30, + ns_t_eid = 31, + ns_t_nimloc = 32, + ns_t_srv = 33, + ns_t_atma = 34, + ns_t_naptr = 35, + ns_t_kx = 36, + ns_t_cert = 37, + ns_t_a6 = 38, + ns_t_dname = 39, + ns_t_sink = 40, + ns_t_opt = 41, + ns_t_apl = 42, + ns_t_tkey = 249, + ns_t_tsig = 250, + ns_t_ixfr = 251, + ns_t_axfr = 252, + ns_t_mailb = 253, + ns_t_maila = 254, + ns_t_any = 255, + ns_t_zxfr = 256, + ns_t_max = 65536 +} ns_type; + +#define ns_t_qt_p(t) (ns_t_xfr_p(t) || (t) == ns_t_any || \ + (t) == ns_t_mailb || (t) == ns_t_maila) +#define ns_t_mrr_p(t) ((t) == ns_t_tsig || (t) == ns_t_opt) +#define ns_t_rr_p(t) (!ns_t_qt_p(t) && !ns_t_mrr_p(t)) +#define ns_t_udp_p(t) ((t) != ns_t_axfr && (t) != ns_t_zxfr) +#define ns_t_xfr_p(t) ((t) == ns_t_axfr || (t) == ns_t_ixfr || \ + (t) == ns_t_zxfr) + +typedef enum __ns_class { + ns_c_invalid = 0, + ns_c_in = 1, + ns_c_2 = 2, + ns_c_chaos = 3, + ns_c_hs = 4, + ns_c_none = 254, + ns_c_any = 255, + ns_c_max = 65536 +} ns_class; + +typedef enum __ns_key_types { + ns_kt_rsa = 1, + ns_kt_dh = 2, + ns_kt_dsa = 3, + ns_kt_private = 254 +} ns_key_types; + +typedef enum __ns_cert_types { + cert_t_pkix = 1, + cert_t_spki = 2, + cert_t_pgp = 3, + cert_t_url = 253, + cert_t_oid = 254 +} ns_cert_types; + +#define NS_KEY_TYPEMASK 0xC000 +#define NS_KEY_TYPE_AUTH_CONF 0x0000 +#define NS_KEY_TYPE_CONF_ONLY 0x8000 +#define NS_KEY_TYPE_AUTH_ONLY 0x4000 +#define NS_KEY_TYPE_NO_KEY 0xC000 +#define NS_KEY_NO_AUTH 0x8000 +#define NS_KEY_NO_CONF 0x4000 +#define NS_KEY_RESERVED2 0x2000 +#define NS_KEY_EXTENDED_FLAGS 0x1000 +#define NS_KEY_RESERVED4 0x0800 +#define NS_KEY_RESERVED5 0x0400 +#define NS_KEY_NAME_TYPE 0x0300 +#define NS_KEY_NAME_USER 0x0000 +#define NS_KEY_NAME_ENTITY 0x0200 +#define NS_KEY_NAME_ZONE 0x0100 +#define NS_KEY_NAME_RESERVED 0x0300 +#define NS_KEY_RESERVED8 0x0080 +#define NS_KEY_RESERVED9 0x0040 +#define NS_KEY_RESERVED10 0x0020 +#define NS_KEY_RESERVED11 0x0010 +#define NS_KEY_SIGNATORYMASK 0x000F +#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED2 | \ + NS_KEY_RESERVED4 | \ + NS_KEY_RESERVED5 | \ + NS_KEY_RESERVED8 | \ + NS_KEY_RESERVED9 | \ + NS_KEY_RESERVED10 | \ + NS_KEY_RESERVED11 ) +#define NS_KEY_RESERVED_BITMASK2 0xFFFF +#define NS_ALG_MD5RSA 1 +#define NS_ALG_DH 2 +#define NS_ALG_DSA 3 +#define NS_ALG_DSS NS_ALG_DSA +#define NS_ALG_EXPIRE_ONLY 253 +#define NS_ALG_PRIVATE_OID 254 + +#define NS_KEY_PROT_TLS 1 +#define NS_KEY_PROT_EMAIL 2 +#define NS_KEY_PROT_DNSSEC 3 +#define NS_KEY_PROT_IPSEC 4 +#define NS_KEY_PROT_ANY 255 + +#define NS_MD5RSA_MIN_BITS 512 +#define NS_MD5RSA_MAX_BITS 4096 +#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) +#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) +#define NS_MD5RSA_MIN_SIZE ((NS_MD5RSA_MIN_BITS+7)/8) +#define NS_MD5RSA_MAX_SIZE ((NS_MD5RSA_MAX_BITS+7)/8) + +#define NS_DSA_SIG_SIZE 41 +#define NS_DSA_MIN_SIZE 213 +#define NS_DSA_MAX_BYTES 405 + +#define NS_SIG_TYPE 0 +#define NS_SIG_ALG 2 +#define NS_SIG_LABELS 3 +#define NS_SIG_OTTL 4 +#define NS_SIG_EXPIR 8 +#define NS_SIG_SIGNED 12 +#define NS_SIG_FOOT 16 +#define NS_SIG_SIGNER 18 +#define NS_NXT_BITS 8 +#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS))) +#define NS_NXT_MAX 127 + +#define NS_OPT_DNSSEC_OK 0x8000U +#define NS_OPT_NSID 3 + +#define NS_GET16(s, cp) (void)((s) = ns_get16(((cp)+=2)-2)) +#define NS_GET32(l, cp) (void)((l) = ns_get32(((cp)+=4)-4)) +#define NS_PUT16(s, cp) ns_put16((s), ((cp)+=2)-2) +#define NS_PUT32(l, cp) ns_put32((l), ((cp)+=4)-4) + +unsigned ns_get16(const unsigned char *); +unsigned long ns_get32(const unsigned char *); +void ns_put16(unsigned, unsigned char *); +void ns_put32(unsigned long, unsigned char *); + +int ns_initparse(const unsigned char *, int, ns_msg *); +int ns_parserr(ns_msg *, ns_sect, int, ns_rr *); +int ns_skiprr(const unsigned char *, const unsigned char *, ns_sect, int); +int ns_name_uncompress(const unsigned char *, const unsigned char *, const unsigned char *, char *, size_t); + + +#define __BIND 19950621 + +typedef struct { + unsigned id :16; +#if __BYTE_ORDER == __BIG_ENDIAN + unsigned qr: 1; + unsigned opcode: 4; + unsigned aa: 1; + unsigned tc: 1; + unsigned rd: 1; + unsigned ra: 1; + unsigned unused :1; + unsigned ad: 1; + unsigned cd: 1; + unsigned rcode :4; +#else + unsigned rd :1; + unsigned tc :1; + unsigned aa :1; + unsigned opcode :4; + unsigned qr :1; + unsigned rcode :4; + unsigned cd: 1; + unsigned ad: 1; + unsigned unused :1; + unsigned ra :1; +#endif + unsigned qdcount :16; + unsigned ancount :16; + unsigned nscount :16; + unsigned arcount :16; +} HEADER; + +#define PACKETSZ NS_PACKETSZ +#define MAXDNAME NS_MAXDNAME +#define MAXCDNAME NS_MAXCDNAME +#define MAXLABEL NS_MAXLABEL +#define HFIXEDSZ NS_HFIXEDSZ +#define QFIXEDSZ NS_QFIXEDSZ +#define RRFIXEDSZ NS_RRFIXEDSZ +#define INT32SZ NS_INT32SZ +#define INT16SZ NS_INT16SZ +#define INT8SZ NS_INT8SZ +#define INADDRSZ NS_INADDRSZ +#define IN6ADDRSZ NS_IN6ADDRSZ +#define INDIR_MASK NS_CMPRSFLGS +#define NAMESERVER_PORT NS_DEFAULTPORT + +#define S_ZONE ns_s_zn +#define S_PREREQ ns_s_pr +#define S_UPDATE ns_s_ud +#define S_ADDT ns_s_ar + +#define QUERY ns_o_query +#define IQUERY ns_o_iquery +#define STATUS ns_o_status +#define NS_NOTIFY_OP ns_o_notify +#define NS_UPDATE_OP ns_o_update + +#define NOERROR ns_r_noerror +#define FORMERR ns_r_formerr +#define SERVFAIL ns_r_servfail +#define NXDOMAIN ns_r_nxdomain +#define NOTIMP ns_r_notimpl +#define REFUSED ns_r_refused +#define YXDOMAIN ns_r_yxdomain +#define YXRRSET ns_r_yxrrset +#define NXRRSET ns_r_nxrrset +#define NOTAUTH ns_r_notauth +#define NOTZONE ns_r_notzone + +#define DELETE ns_uop_delete +#define ADD ns_uop_add + +#define T_A ns_t_a +#define T_NS ns_t_ns +#define T_MD ns_t_md +#define T_MF ns_t_mf +#define T_CNAME ns_t_cname +#define T_SOA ns_t_soa +#define T_MB ns_t_mb +#define T_MG ns_t_mg +#define T_MR ns_t_mr +#define T_NULL ns_t_null +#define T_WKS ns_t_wks +#define T_PTR ns_t_ptr +#define T_HINFO ns_t_hinfo +#define T_MINFO ns_t_minfo +#define T_MX ns_t_mx +#define T_TXT ns_t_txt +#define T_RP ns_t_rp +#define T_AFSDB ns_t_afsdb +#define T_X25 ns_t_x25 +#define T_ISDN ns_t_isdn +#define T_RT ns_t_rt +#define T_NSAP ns_t_nsap +#define T_NSAP_PTR ns_t_nsap_ptr +#define T_SIG ns_t_sig +#define T_KEY ns_t_key +#define T_PX ns_t_px +#define T_GPOS ns_t_gpos +#define T_AAAA ns_t_aaaa +#define T_LOC ns_t_loc +#define T_NXT ns_t_nxt +#define T_EID ns_t_eid +#define T_NIMLOC ns_t_nimloc +#define T_SRV ns_t_srv +#define T_ATMA ns_t_atma +#define T_NAPTR ns_t_naptr +#define T_A6 ns_t_a6 +#define T_DNAME ns_t_dname +#define T_TSIG ns_t_tsig +#define T_IXFR ns_t_ixfr +#define T_AXFR ns_t_axfr +#define T_MAILB ns_t_mailb +#define T_MAILA ns_t_maila +#define T_ANY ns_t_any + +#define C_IN ns_c_in +#define C_CHAOS ns_c_chaos +#define C_HS ns_c_hs +#define C_NONE ns_c_none +#define C_ANY ns_c_any + +#define GETSHORT NS_GET16 +#define GETLONG NS_GET32 +#define PUTSHORT NS_PUT16 +#define PUTLONG NS_PUT32 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser_compat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser_compat.h new file mode 100644 index 00000000..3aac25c9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/nameser_compat.h @@ -0,0 +1,2 @@ +#include + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/tftp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/tftp.h new file mode 100644 index 00000000..799c54f2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/arpa/tftp.h @@ -0,0 +1,31 @@ +#ifndef _ARPA_TFTP_H +#define _ARPA_TFTP_H +#define SEGSIZE 512 +#define RRQ 01 +#define WRQ 02 +#define DATA 03 +#define ACK 04 +#define ERROR 05 +struct tftphdr { + short th_opcode; + union { + unsigned short tu_block; + short tu_code; + char tu_stuff[1]; + } th_u; + char th_data[1]; +}; +#define th_block th_u.tu_block +#define th_code th_u.tu_code +#define th_stuff th_u.tu_stuff +#define th_msg th_data +#define EUNDEF 0 +#define ENOTFOUND 1 +#define EACCESS 2 +#define ENOSPACE 3 +#define EBADOP 4 +#define EBADID 5 +#define EEXISTS 6 +#define ENOUSER 7 +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/alltypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/alltypes.h new file mode 100644 index 00000000..4e3a97ef --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/alltypes.h @@ -0,0 +1,460 @@ +#define _Addr long +#define _Int64 long long +#define _Reg long long + +#define __BYTE_ORDER __BYTE_ORDER__ + +#define __LONG_MAX __LONG_MAX__ + +/* + * Rather than define everything ourselves here in the musl layer, for + * WASI, reference the definitions in the lower layers. + */ + +#if defined(__NEED_wchar_t) && !defined(__DEFINED_wchar_t) +#define __need_wchar_t +#include +#define __DEFINED_wchar_t +#endif + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +#define __need_wint_t +#include +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_float_t) && !defined(__DEFINED_float_t) +typedef float float_t; +#define __DEFINED_float_t +#endif + +#if defined(__NEED_double_t) && !defined(__DEFINED_double_t) +typedef double double_t; +#define __DEFINED_double_t +#endif + + +#if defined(__NEED_max_align_t) && !defined(__DEFINED_max_align_t) +#define __need_max_align_t +#include +#define __DEFINED_max_align_t +#endif + +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +#include <__typedef_time_t.h> +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +#include <__typedef_suseconds_t.h> +#define __DEFINED_suseconds_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +#include <__typedef_clockid_t.h> +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +#include <__typedef_sigset_t.h> +#define __DEFINED_sigset_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +#include <__typedef_clock_t.h> +#define __DEFINED_clock_t +#endif +#define __LITTLE_ENDIAN 1234 +#define __BIG_ENDIAN 4321 +#define __USE_TIME_BITS64 1 + +#if defined(__NEED_size_t) && !defined(__DEFINED_size_t) +typedef unsigned _Addr size_t; +#define __DEFINED_size_t +#endif + +#if defined(__NEED_uintptr_t) && !defined(__DEFINED_uintptr_t) +typedef unsigned _Addr uintptr_t; +#define __DEFINED_uintptr_t +#endif + +#if defined(__NEED_ptrdiff_t) && !defined(__DEFINED_ptrdiff_t) +typedef _Addr ptrdiff_t; +#define __DEFINED_ptrdiff_t +#endif + +#if defined(__NEED_ssize_t) && !defined(__DEFINED_ssize_t) +typedef _Addr ssize_t; +#define __DEFINED_ssize_t +#endif + +#if defined(__NEED_intptr_t) && !defined(__DEFINED_intptr_t) +typedef _Addr intptr_t; +#define __DEFINED_intptr_t +#endif + +#if defined(__NEED_regoff_t) && !defined(__DEFINED_regoff_t) +typedef _Addr regoff_t; +#define __DEFINED_regoff_t +#endif + +#if defined(__NEED_register_t) && !defined(__DEFINED_register_t) +typedef _Reg register_t; +#define __DEFINED_register_t +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +typedef _Int64 time_t; +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +typedef _Int64 suseconds_t; +#define __DEFINED_suseconds_t +#endif + +#else +#if defined(__NEED_time_t) && !defined(__DEFINED_time_t) +#include <__typedef_time_t.h> +#define __DEFINED_time_t +#endif + +#if defined(__NEED_suseconds_t) && !defined(__DEFINED_suseconds_t) +#include <__typedef_suseconds_t.h> +#define __DEFINED_suseconds_t +#endif +#endif + +#if defined(__NEED_int8_t) && !defined(__DEFINED_int8_t) +typedef signed char int8_t; +#define __DEFINED_int8_t +#endif + +#if defined(__NEED_int16_t) && !defined(__DEFINED_int16_t) +typedef signed short int16_t; +#define __DEFINED_int16_t +#endif + +#if defined(__NEED_int32_t) && !defined(__DEFINED_int32_t) +typedef signed int int32_t; +#define __DEFINED_int32_t +#endif + +#if defined(__NEED_int64_t) && !defined(__DEFINED_int64_t) +typedef signed _Int64 int64_t; +#define __DEFINED_int64_t +#endif + +#if defined(__NEED_intmax_t) && !defined(__DEFINED_intmax_t) +typedef signed _Int64 intmax_t; +#define __DEFINED_intmax_t +#endif + +#if defined(__NEED_uint8_t) && !defined(__DEFINED_uint8_t) +typedef unsigned char uint8_t; +#define __DEFINED_uint8_t +#endif + +#if defined(__NEED_uint16_t) && !defined(__DEFINED_uint16_t) +typedef unsigned short uint16_t; +#define __DEFINED_uint16_t +#endif + +#if defined(__NEED_uint32_t) && !defined(__DEFINED_uint32_t) +typedef unsigned int uint32_t; +#define __DEFINED_uint32_t +#endif + +#if defined(__NEED_uint64_t) && !defined(__DEFINED_uint64_t) +typedef unsigned _Int64 uint64_t; +#define __DEFINED_uint64_t +#endif + +#if defined(__NEED_u_int64_t) && !defined(__DEFINED_u_int64_t) +typedef unsigned _Int64 u_int64_t; +#define __DEFINED_u_int64_t +#endif + +#if defined(__NEED_uintmax_t) && !defined(__DEFINED_uintmax_t) +typedef unsigned _Int64 uintmax_t; +#define __DEFINED_uintmax_t +#endif + + +#if defined(__NEED_mode_t) && !defined(__DEFINED_mode_t) +typedef unsigned mode_t; +#define __DEFINED_mode_t +#endif + +#if defined(__NEED_nlink_t) && !defined(__DEFINED_nlink_t) +typedef unsigned _Reg nlink_t; +#define __DEFINED_nlink_t +#endif + +#if defined(__NEED_off_t) && !defined(__DEFINED_off_t) +typedef _Int64 off_t; +#define __DEFINED_off_t +#endif + +#if defined(__NEED_ino_t) && !defined(__DEFINED_ino_t) +typedef unsigned _Int64 ino_t; +#define __DEFINED_ino_t +#endif + +#if defined(__NEED_dev_t) && !defined(__DEFINED_dev_t) +typedef unsigned _Int64 dev_t; +#define __DEFINED_dev_t +#endif + +#if defined(__NEED_blksize_t) && !defined(__DEFINED_blksize_t) +typedef long blksize_t; +#define __DEFINED_blksize_t +#endif + +#if defined(__NEED_blkcnt_t) && !defined(__DEFINED_blkcnt_t) +typedef _Int64 blkcnt_t; +#define __DEFINED_blkcnt_t +#endif + +#if defined(__NEED_fsblkcnt_t) && !defined(__DEFINED_fsblkcnt_t) +typedef unsigned _Int64 fsblkcnt_t; +#define __DEFINED_fsblkcnt_t +#endif + +#if defined(__NEED_fsfilcnt_t) && !defined(__DEFINED_fsfilcnt_t) +typedef unsigned _Int64 fsfilcnt_t; +#define __DEFINED_fsfilcnt_t +#endif + + +#if defined(__NEED_wint_t) && !defined(__DEFINED_wint_t) +typedef unsigned wint_t; +#define __DEFINED_wint_t +#endif + +#if defined(__NEED_wctype_t) && !defined(__DEFINED_wctype_t) +typedef unsigned long wctype_t; +#define __DEFINED_wctype_t +#endif + + +#if defined(__NEED_timer_t) && !defined(__DEFINED_timer_t) +typedef void * timer_t; +#define __DEFINED_timer_t +#endif + +#if defined(__NEED_clockid_t) && !defined(__DEFINED_clockid_t) +typedef int clockid_t; +#define __DEFINED_clockid_t +#endif + +#if defined(__NEED_clock_t) && !defined(__DEFINED_clock_t) +typedef long clock_t; +#define __DEFINED_clock_t +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#if defined(__NEED_struct_timeval) && !defined(__DEFINED_struct_timeval) +struct timeval { time_t tv_sec; suseconds_t tv_usec; }; +#define __DEFINED_struct_timeval +#endif + +#if defined(__NEED_struct_timespec) && !defined(__DEFINED_struct_timespec) +struct timespec { time_t tv_sec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER==4321); long tv_nsec; int :8*(sizeof(time_t)-sizeof(long))*(__BYTE_ORDER!=4321); }; +#define __DEFINED_struct_timespec +#endif + +#else +#include <__struct_timeval.h> +#include <__struct_timespec.h> +#endif + +#if defined(__NEED_pid_t) && !defined(__DEFINED_pid_t) +typedef int pid_t; +#define __DEFINED_pid_t +#endif + +#if defined(__NEED_id_t) && !defined(__DEFINED_id_t) +typedef unsigned id_t; +#define __DEFINED_id_t +#endif + +#if defined(__NEED_uid_t) && !defined(__DEFINED_uid_t) +typedef unsigned uid_t; +#define __DEFINED_uid_t +#endif + +#if defined(__NEED_gid_t) && !defined(__DEFINED_gid_t) +typedef unsigned gid_t; +#define __DEFINED_gid_t +#endif + +#if defined(__NEED_key_t) && !defined(__DEFINED_key_t) +typedef int key_t; +#define __DEFINED_key_t +#endif + +#if defined(__NEED_useconds_t) && !defined(__DEFINED_useconds_t) +typedef unsigned useconds_t; +#define __DEFINED_useconds_t +#endif + + +#ifdef __cplusplus +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef unsigned long pthread_t; +#define __DEFINED_pthread_t +#endif + +#else +#if defined(__NEED_pthread_t) && !defined(__DEFINED_pthread_t) +typedef struct __pthread * pthread_t; +#define __DEFINED_pthread_t +#endif + +#endif +#if defined(__NEED_pthread_once_t) && !defined(__DEFINED_pthread_once_t) +typedef int pthread_once_t; +#define __DEFINED_pthread_once_t +#endif + +#if defined(__NEED_pthread_key_t) && !defined(__DEFINED_pthread_key_t) +typedef unsigned pthread_key_t; +#define __DEFINED_pthread_key_t +#endif + +#if defined(__NEED_pthread_spinlock_t) && !defined(__DEFINED_pthread_spinlock_t) +typedef int pthread_spinlock_t; +#define __DEFINED_pthread_spinlock_t +#endif + +#if defined(__NEED_pthread_mutexattr_t) && !defined(__DEFINED_pthread_mutexattr_t) +typedef struct { unsigned __attr; } pthread_mutexattr_t; +#define __DEFINED_pthread_mutexattr_t +#endif + +#if defined(__NEED_pthread_condattr_t) && !defined(__DEFINED_pthread_condattr_t) +typedef struct { unsigned __attr; } pthread_condattr_t; +#define __DEFINED_pthread_condattr_t +#endif + +#if defined(__NEED_pthread_barrierattr_t) && !defined(__DEFINED_pthread_barrierattr_t) +typedef struct { unsigned __attr; } pthread_barrierattr_t; +#define __DEFINED_pthread_barrierattr_t +#endif + +#if defined(__NEED_pthread_rwlockattr_t) && !defined(__DEFINED_pthread_rwlockattr_t) +typedef struct { unsigned __attr[2]; } pthread_rwlockattr_t; +#define __DEFINED_pthread_rwlockattr_t +#endif + + +#ifdef __wasilibc_unmodified_upstream /* WASI doesn't need to define FILE as a complete type */ +#if defined(__NEED_struct__IO_FILE) && !defined(__DEFINED_struct__IO_FILE) +struct _IO_FILE { char __x; }; +#define __DEFINED_struct__IO_FILE +#endif + +#endif +#if defined(__NEED_FILE) && !defined(__DEFINED_FILE) +typedef struct _IO_FILE FILE; +#define __DEFINED_FILE +#endif + + +#if defined(__NEED_va_list) && !defined(__DEFINED_va_list) +typedef __builtin_va_list va_list; +#define __DEFINED_va_list +#endif + +#if defined(__NEED___isoc_va_list) && !defined(__DEFINED___isoc_va_list) +typedef __builtin_va_list __isoc_va_list; +#define __DEFINED___isoc_va_list +#endif + + +#if defined(__NEED_mbstate_t) && !defined(__DEFINED_mbstate_t) +typedef struct __mbstate_t { unsigned __opaque1, __opaque2; } mbstate_t; +#define __DEFINED_mbstate_t +#endif + + +#if defined(__NEED_locale_t) && !defined(__DEFINED_locale_t) +typedef struct __locale_struct * locale_t; +#define __DEFINED_locale_t +#endif + + +#if defined(__NEED_sigset_t) && !defined(__DEFINED_sigset_t) +typedef struct __sigset_t { unsigned long __bits[128/sizeof(long)]; } sigset_t; +#define __DEFINED_sigset_t +#endif + + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#if defined(__NEED_struct_iovec) && !defined(__DEFINED_struct_iovec) +struct iovec { void *iov_base; size_t iov_len; }; +#define __DEFINED_struct_iovec +#endif + +#else +#include <__struct_iovec.h> +#endif + +#if defined(__NEED_struct_winsize) && !defined(__DEFINED_struct_winsize) +struct winsize { unsigned short ws_row, ws_col, ws_xpixel, ws_ypixel; }; +#define __DEFINED_struct_winsize +#endif + + +#if defined(__NEED_socklen_t) && !defined(__DEFINED_socklen_t) +typedef unsigned socklen_t; +#define __DEFINED_socklen_t +#endif + +#if defined(__NEED_sa_family_t) && !defined(__DEFINED_sa_family_t) +typedef unsigned short sa_family_t; +#define __DEFINED_sa_family_t +#endif + + +#if defined(__NEED_pthread_attr_t) && !defined(__DEFINED_pthread_attr_t) +typedef struct { union { int __i[sizeof(long)==8?14:9]; volatile int __vi[sizeof(long)==8?14:9]; unsigned long __s[sizeof(long)==8?7:9]; } __u; } pthread_attr_t; +#define __DEFINED_pthread_attr_t +#endif + +#if defined(__NEED_pthread_mutex_t) && !defined(__DEFINED_pthread_mutex_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } pthread_mutex_t; +#define __DEFINED_pthread_mutex_t +#endif + +#if defined(__NEED_mtx_t) && !defined(__DEFINED_mtx_t) +typedef struct { union { int __i[sizeof(long)==8?10:6]; volatile int __vi[sizeof(long)==8?10:6]; volatile void *volatile __p[sizeof(long)==8?5:6]; } __u; } mtx_t; +#define __DEFINED_mtx_t +#endif + +#if defined(__NEED_pthread_cond_t) && !defined(__DEFINED_pthread_cond_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } pthread_cond_t; +#define __DEFINED_pthread_cond_t +#endif + +#if defined(__NEED_cnd_t) && !defined(__DEFINED_cnd_t) +typedef struct { union { int __i[12]; volatile int __vi[12]; void *__p[12*sizeof(int)/sizeof(void*)]; } __u; } cnd_t; +#define __DEFINED_cnd_t +#endif + +#if defined(__NEED_pthread_rwlock_t) && !defined(__DEFINED_pthread_rwlock_t) +typedef struct { union { int __i[sizeof(long)==8?14:8]; volatile int __vi[sizeof(long)==8?14:8]; void *__p[sizeof(long)==8?7:8]; } __u; } pthread_rwlock_t; +#define __DEFINED_pthread_rwlock_t +#endif + +#if defined(__NEED_pthread_barrier_t) && !defined(__DEFINED_pthread_barrier_t) +typedef struct { union { int __i[sizeof(long)==8?8:5]; volatile int __vi[sizeof(long)==8?8:5]; void *__p[sizeof(long)==8?4:5]; } __u; } pthread_barrier_t; +#define __DEFINED_pthread_barrier_t +#endif + + +#undef _Addr +#undef _Int64 +#undef _Reg diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/dirent.h new file mode 100644 index 00000000..55f2bc9d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/dirent.h @@ -0,0 +1 @@ +#include <__struct_dirent.h> diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fcntl.h new file mode 100644 index 00000000..a2f33416 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fcntl.h @@ -0,0 +1 @@ +/* Use the WASI libc fcntl implementation bits. */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fenv.h new file mode 100644 index 00000000..edbdea2a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/fenv.h @@ -0,0 +1,10 @@ +#define FE_ALL_EXCEPT 0 +#define FE_TONEAREST 0 + +typedef unsigned long fexcept_t; + +typedef struct { + unsigned long __cw; +} fenv_t; + +#define FE_DFL_ENV ((const fenv_t *) -1) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/ioctl.h new file mode 100644 index 00000000..b4bf7c71 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/ioctl.h @@ -0,0 +1 @@ +/* Use the WASI libc ioctl implementation bits. */ diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/limits.h new file mode 100644 index 00000000..801bc48f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/limits.h @@ -0,0 +1 @@ +#include <__macro_PAGESIZE.h> diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/posix.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/posix.h new file mode 100644 index 00000000..387a3e47 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/posix.h @@ -0,0 +1,2 @@ +#define _POSIX_V6_ILP32_OFFBIG (1) +#define _POSIX_V7_ILP32_OFFBIG (1) diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/setjmp.h new file mode 100644 index 00000000..63973a80 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/setjmp.h @@ -0,0 +1 @@ +typedef unsigned long __jmp_buf[8]; diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/signal.h new file mode 100644 index 00000000..77e8d8c6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/signal.h @@ -0,0 +1,40 @@ +#ifdef _WASI_EMULATED_SIGNAL + +#define SIGHUP 1 +#define SIGINT 2 +#define SIGQUIT 3 +#define SIGILL 4 +#define SIGTRAP 5 +#define SIGABRT 6 +#define SIGIOT SIGABRT +#define SIGBUS 7 +#define SIGFPE 8 +#define SIGKILL 9 +#define SIGUSR1 10 +#define SIGSEGV 11 +#define SIGUSR2 12 +#define SIGPIPE 13 +#define SIGALRM 14 +#define SIGTERM 15 +#define SIGSTKFLT 16 +#define SIGCHLD 17 +#define SIGCONT 18 +#define SIGSTOP 19 +#define SIGTSTP 20 +#define SIGTTIN 21 +#define SIGTTOU 22 +#define SIGURG 23 +#define SIGXCPU 24 +#define SIGXFSZ 25 +#define SIGVTALRM 26 +#define SIGPROF 27 +#define SIGWINCH 28 +#define SIGIO 29 +#define SIGPOLL 29 +#define SIGPWR 30 +#define SIGSYS 31 +#define SIGUNUSED SIGSYS + +#define _NSIG 65 + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stat.h new file mode 100644 index 00000000..67a0e726 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stat.h @@ -0,0 +1 @@ +#include <__struct_stat.h> diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stdint.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stdint.h new file mode 100644 index 00000000..6e7c7705 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/bits/stdint.h @@ -0,0 +1,20 @@ +typedef int16_t int_fast16_t; +typedef int32_t int_fast32_t; +typedef uint16_t uint_fast16_t; +typedef uint32_t uint_fast32_t; + +#define INT_FAST16_MIN INT16_MIN +#define INT_FAST32_MIN INT32_MIN + +#define INT_FAST16_MAX INT16_MAX +#define INT_FAST32_MAX INT32_MAX + +#define UINT_FAST16_MAX UINT16_MAX +#define UINT_FAST32_MAX UINT32_MAX + +#define INTPTR_MIN INT32_MIN +#define INTPTR_MAX INT32_MAX +#define UINTPTR_MAX UINT32_MAX +#define PTRDIFF_MIN INT32_MIN +#define PTRDIFF_MAX INT32_MAX +#define SIZE_MAX UINT32_MAX diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/complex.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/complex.h new file mode 100644 index 00000000..a645eb13 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/complex.h @@ -0,0 +1,143 @@ +#ifndef _COMPLEX_H +#define _COMPLEX_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define complex _Complex +#ifdef __GNUC__ +#define _Complex_I (__extension__ (0.0f+1.0fi)) +#else +#define _Complex_I (0.0f+1.0fi) +#endif +#define I _Complex_I + +double complex cacos(double complex); +float complex cacosf(float complex); +long double complex cacosl(long double complex); + +double complex casin(double complex); +float complex casinf(float complex); +long double complex casinl(long double complex); + +double complex catan(double complex); +float complex catanf(float complex); +long double complex catanl(long double complex); + +double complex ccos(double complex); +float complex ccosf(float complex); +long double complex ccosl(long double complex); + +double complex csin(double complex); +float complex csinf(float complex); +long double complex csinl(long double complex); + +double complex ctan(double complex); +float complex ctanf(float complex); +long double complex ctanl(long double complex); + +double complex cacosh(double complex); +float complex cacoshf(float complex); +long double complex cacoshl(long double complex); + +double complex casinh(double complex); +float complex casinhf(float complex); +long double complex casinhl(long double complex); + +double complex catanh(double complex); +float complex catanhf(float complex); +long double complex catanhl(long double complex); + +double complex ccosh(double complex); +float complex ccoshf(float complex); +long double complex ccoshl(long double complex); + +double complex csinh(double complex); +float complex csinhf(float complex); +long double complex csinhl(long double complex); + +double complex ctanh(double complex); +float complex ctanhf(float complex); +long double complex ctanhl(long double complex); + +double complex cexp(double complex); +float complex cexpf(float complex); +long double complex cexpl(long double complex); + +double complex clog(double complex); +float complex clogf(float complex); +long double complex clogl(long double complex); + +double cabs(double complex); +float cabsf(float complex); +long double cabsl(long double complex); + +double complex cpow(double complex, double complex); +float complex cpowf(float complex, float complex); +long double complex cpowl(long double complex, long double complex); + +double complex csqrt(double complex); +float complex csqrtf(float complex); +long double complex csqrtl(long double complex); + +double carg(double complex); +float cargf(float complex); +long double cargl(long double complex); + +double cimag(double complex); +float cimagf(float complex); +long double cimagl(long double complex); + +double complex conj(double complex); +float complex conjf(float complex); +long double complex conjl(long double complex); + +double complex cproj(double complex); +float complex cprojf(float complex); +long double complex cprojl(long double complex); + +double creal(double complex); +float crealf(float complex); +long double creall(long double complex); + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's real/imag operators rather than union type punning */ +#ifndef __cplusplus +#define __CIMAG(x, t) \ + (+(union { _Complex t __z; t __xy[2]; }){(_Complex t)(x)}.__xy[1]) + +#define creal(x) ((double)(x)) +#define crealf(x) ((float)(x)) +#define creall(x) ((long double)(x)) + +#define cimag(x) __CIMAG(x, double) +#define cimagf(x) __CIMAG(x, float) +#define cimagl(x) __CIMAG(x, long double) +#endif +#else +#define creal(x) (__builtin_creal(x)) +#define crealf(x) (__builtin_crealf(x)) +#define creall(x) (__builtin_creall(x)) + +#define cimag(x) (__builtin_cimag(x)) +#define cimagf(x) (__builtin_cimagf(x)) +#define cimagl(x) (__builtin_cimagl(x)) +#endif + +#if __STDC_VERSION__ >= 201112L +#if defined(_Imaginary_I) +#define __CMPLX(x, y, t) ((t)(x) + _Imaginary_I*(t)(y)) +#elif defined(__clang__) +#define __CMPLX(x, y, t) (+(_Complex t){ (t)(x), (t)(y) }) +#else +#define __CMPLX(x, y, t) (__builtin_complex((t)(x), (t)(y))) +#endif +#define CMPLX(x, y) __CMPLX(x, y, double) +#define CMPLXF(x, y) __CMPLX(x, y, float) +#define CMPLXL(x, y) __CMPLX(x, y, long double) +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dirent.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dirent.h new file mode 100644 index 00000000..52a3b16a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dirent.h @@ -0,0 +1,89 @@ +#ifndef _DIRENT_H +#define _DIRENT_H + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__header_dirent.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_ino_t +#define __NEED_off_t +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define __NEED_size_t +#endif + +#include + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +typedef struct __dirstream DIR; +#else +#include <__typedef_DIR.h> +#endif + +#define d_fileno d_ino + +int closedir(DIR *); +DIR *fdopendir(int); +DIR *opendir(const char *); +struct dirent *readdir(DIR *); +#ifdef __wasilibc_unmodified_upstream /* readdir_r is obsolete */ +int readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict); +#endif +void rewinddir(DIR *); +int dirfd(DIR *); + +int alphasort(const struct dirent **, const struct dirent **); +int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **)); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +void seekdir(DIR *, long); +long telldir(DIR *); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 +#define IFTODT(x) ((x)>>12 & 017) +#define DTTOIF(x) ((x)<<12) +#endif +int getdents(int, struct dirent *, size_t); +#endif + +#ifdef _GNU_SOURCE +int versionsort(const struct dirent **, const struct dirent **); +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define dirent64 dirent +#define readdir64 readdir +#ifdef __wasilibc_unmodified_upstream /* readdir_r is obsolete */ +#define readdir64_r readdir_r +#endif +#define scandir64 scandir +#define alphasort64 alphasort +#define versionsort64 versionsort +#define off64_t off_t +#define ino64_t ino_t +#define getdents64 getdents +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dlfcn.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dlfcn.h new file mode 100644 index 00000000..e802de88 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/dlfcn.h @@ -0,0 +1,56 @@ +#ifndef _DLFCN_H +#define _DLFCN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define RTLD_LAZY 1 +#define RTLD_NOW 2 +#define RTLD_NOLOAD 4 +#define RTLD_NODELETE 4096 +#define RTLD_GLOBAL 256 +#ifdef __wasilibc_unmodified_upstream +#define RTLD_LOCAL 0 +#else +/* For WASI, we give `RTLD_LOCAL` a non-zero value, avoiding ambiguity and + * allowing us to defer the decision of whether `RTLD_LOCAL` or `RTLD_GLOBAL` + * should be the default when neither is specified. + */ +#define RTLD_LOCAL 8 +#endif + +#define RTLD_NEXT ((void *)-1) +#define RTLD_DEFAULT ((void *)0) + +#ifdef __wasilibc_unmodified_upstream +#define RTLD_DI_LINKMAP 2 +#endif + +int dlclose(void *); +char *dlerror(void); +void *dlopen(const char *, int); +void *dlsym(void *__restrict, const char *__restrict); + +#if defined(__wasilibc_unmodified_upstream) && (defined(_GNU_SOURCE) || defined(_BSD_SOURCE)) +typedef struct { + const char *dli_fname; + void *dli_fbase; + const char *dli_sname; + void *dli_saddr; +} Dl_info; +int dladdr(const void *, Dl_info *); +int dlinfo(void *, int, void *); +#endif + +#if _REDIR_TIME64 +__REDIR(dlsym, __dlsym_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/errno.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/errno.h new file mode 100644 index 00000000..0252e1b0 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/errno.h @@ -0,0 +1,32 @@ +#ifndef _ERRNO_H +#define _ERRNO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#include + +#ifdef __GNUC__ +__attribute__((const)) +#endif +int *__errno_location(void); +#define errno (*__errno_location()) +#else +#include <__errno.h> +#include <__errno_values.h> +#endif + +#ifdef _GNU_SOURCE +extern char *program_invocation_short_name, *program_invocation_name; +#endif + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fcntl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fcntl.h new file mode 100644 index 00000000..15bef288 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fcntl.h @@ -0,0 +1,246 @@ +#ifndef _FCNTL_H +#define _FCNTL_H + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__header_fcntl.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_mode_t + +#ifdef _GNU_SOURCE +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec +#endif + +#include + +#include + +struct flock { + short l_type; + short l_whence; + off_t l_start; + off_t l_len; + pid_t l_pid; +}; + +int creat(const char *, mode_t); +int fcntl(int, int, ...); +int open(const char *, int, ...); +int openat(int, const char *, int, ...); +int posix_fadvise(int, off_t, off_t, int); +int posix_fallocate(int, off_t, off_t); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define O_SEARCH O_PATH +#define O_EXEC O_PATH +#define O_TTY_INIT 0 + +#define O_ACCMODE (03|O_SEARCH) +#define O_RDONLY 00 +#define O_WRONLY 01 +#define O_RDWR 02 + +#define F_OFD_GETLK 36 +#define F_OFD_SETLK 37 +#define F_OFD_SETLKW 38 + +#define F_DUPFD_CLOEXEC 1030 + +#define F_RDLCK 0 +#define F_WRLCK 1 +#define F_UNLCK 2 + +#define FD_CLOEXEC 1 + +#define AT_FDCWD (-100) +#define AT_SYMLINK_NOFOLLOW 0x100 +#define AT_REMOVEDIR 0x200 +#define AT_SYMLINK_FOLLOW 0x400 +#define AT_EACCESS 0x200 + +#define POSIX_FADV_NORMAL 0 +#define POSIX_FADV_RANDOM 1 +#define POSIX_FADV_SEQUENTIAL 2 +#define POSIX_FADV_WILLNEED 3 +#ifndef POSIX_FADV_DONTNEED +#define POSIX_FADV_DONTNEED 4 +#define POSIX_FADV_NOREUSE 5 +#endif + +#undef SEEK_SET +#undef SEEK_CUR +#undef SEEK_END +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#ifndef S_IRUSR +#define S_ISUID 04000 +#define S_ISGID 02000 +#define S_ISVTX 01000 +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#define S_IRWXU 0700 +#define S_IRGRP 0040 +#define S_IWGRP 0020 +#define S_IXGRP 0010 +#define S_IRWXG 0070 +#define S_IROTH 0004 +#define S_IWOTH 0002 +#define S_IXOTH 0001 +#define S_IRWXO 0007 +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define AT_NO_AUTOMOUNT 0x800 +#define AT_EMPTY_PATH 0x1000 +#define AT_STATX_SYNC_TYPE 0x6000 +#define AT_STATX_SYNC_AS_STAT 0x0000 +#define AT_STATX_FORCE_SYNC 0x2000 +#define AT_STATX_DONT_SYNC 0x4000 +#define AT_RECURSIVE 0x8000 + +#define FAPPEND O_APPEND +#define FFSYNC O_SYNC +#define FASYNC O_ASYNC +#define FNONBLOCK O_NONBLOCK +#define FNDELAY O_NDELAY + +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 + +#define F_SETLEASE 1024 +#define F_GETLEASE 1025 +#define F_NOTIFY 1026 +#define F_CANCELLK 1029 +#define F_SETPIPE_SZ 1031 +#define F_GETPIPE_SZ 1032 +#define F_ADD_SEALS 1033 +#define F_GET_SEALS 1034 + +#define F_SEAL_SEAL 0x0001 +#define F_SEAL_SHRINK 0x0002 +#define F_SEAL_GROW 0x0004 +#define F_SEAL_WRITE 0x0008 +#define F_SEAL_FUTURE_WRITE 0x0010 + +#define F_GET_RW_HINT 1035 +#define F_SET_RW_HINT 1036 +#define F_GET_FILE_RW_HINT 1037 +#define F_SET_FILE_RW_HINT 1038 + +#define RWF_WRITE_LIFE_NOT_SET 0 +#define RWH_WRITE_LIFE_NONE 1 +#define RWH_WRITE_LIFE_SHORT 2 +#define RWH_WRITE_LIFE_MEDIUM 3 +#define RWH_WRITE_LIFE_LONG 4 +#define RWH_WRITE_LIFE_EXTREME 5 + +#define DN_ACCESS 0x00000001 +#define DN_MODIFY 0x00000002 +#define DN_CREATE 0x00000004 +#define DN_DELETE 0x00000008 +#define DN_RENAME 0x00000010 +#define DN_ATTRIB 0x00000020 +#define DN_MULTISHOT 0x80000000 + +int lockf(int, int, off_t); +#endif +#endif + +#if defined(_GNU_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI has no name_to_handle_at */ +#define F_OWNER_TID 0 +#define F_OWNER_PID 1 +#define F_OWNER_PGRP 2 +#define F_OWNER_GID 2 +struct file_handle { + unsigned handle_bytes; + int handle_type; + unsigned char f_handle[]; +}; +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no F_GETOWN_EX */ +struct f_owner_ex { + int type; + pid_t pid; +}; +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no fallocate */ +#define FALLOC_FL_KEEP_SIZE 1 +#define FALLOC_FL_PUNCH_HOLE 2 +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no name_to_handle_at */ +#define MAX_HANDLE_SZ 128 +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no syc_file_range */ +#define SYNC_FILE_RANGE_WAIT_BEFORE 1 +#define SYNC_FILE_RANGE_WRITE 2 +#define SYNC_FILE_RANGE_WAIT_AFTER 4 +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no splice */ +#define SPLICE_F_MOVE 1 +#define SPLICE_F_NONBLOCK 2 +#define SPLICE_F_MORE 4 +#define SPLICE_F_GIFT 8 +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no fallocate */ +int fallocate(int, int, off_t, off_t); +#define fallocate64 fallocate +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no name_to_handle_at */ +int name_to_handle_at(int, const char *, struct file_handle *, int *, int); +int open_by_handle_at(int, struct file_handle *, int); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no readahead */ +ssize_t readahead(int, off_t, size_t); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no splice, syc_file_range, or tee */ +int sync_file_range(int, off_t, off_t, unsigned); +ssize_t vmsplice(int, const struct iovec *, size_t, unsigned); +ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned); +ssize_t tee(int, int, size_t, unsigned); +#endif +#define loff_t off_t +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI has no POSIX file locking */ +#define F_GETLK64 F_GETLK +#define F_SETLK64 F_SETLK +#define F_SETLKW64 F_SETLKW +#define flock64 flock +#endif +#define open64 open +#define openat64 openat +#define creat64 creat +#ifdef __wasilibc_unmodified_upstream /* WASI has no POSIX file locking */ +#define lockf64 lockf +#endif +#define posix_fadvise64 posix_fadvise +#define posix_fallocate64 posix_fallocate +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fenv.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fenv.h new file mode 100644 index 00000000..05de990c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/fenv.h @@ -0,0 +1,28 @@ +#ifndef _FENV_H +#define _FENV_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +int feclearexcept(int); +int fegetexceptflag(fexcept_t *, int); +int feraiseexcept(int); +int fesetexceptflag(const fexcept_t *, int); +int fetestexcept(int); + +int fegetround(void); +int fesetround(int); + +int fegetenv(fenv_t *); +int feholdexcept(fenv_t *); +int fesetenv(const fenv_t *); +int feupdateenv(const fenv_t *); + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/float.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/float.h new file mode 100644 index 00000000..85ce20c4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/float.h @@ -0,0 +1,56 @@ +#ifndef _FLOAT_H +#define _FLOAT_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of FLT_ROUNDS */ +int __flt_rounds(void); +#define FLT_ROUNDS (__flt_rounds()) +#else +#define FLT_ROUNDS (__builtin_flt_rounds()) +#endif + +#define FLT_RADIX 2 + +#define FLT_TRUE_MIN 1.40129846432481707092e-45F +#define FLT_MIN 1.17549435082228750797e-38F +#define FLT_MAX 3.40282346638528859812e+38F +#define FLT_EPSILON 1.1920928955078125e-07F + +#define FLT_MANT_DIG 24 +#define FLT_MIN_EXP (-125) +#define FLT_MAX_EXP 128 +#define FLT_HAS_SUBNORM 1 + +#define FLT_DIG 6 +#define FLT_DECIMAL_DIG 9 +#define FLT_MIN_10_EXP (-37) +#define FLT_MAX_10_EXP 38 + +#define DBL_TRUE_MIN 4.94065645841246544177e-324 +#define DBL_MIN 2.22507385850720138309e-308 +#define DBL_MAX 1.79769313486231570815e+308 +#define DBL_EPSILON 2.22044604925031308085e-16 + +#define DBL_MANT_DIG 53 +#define DBL_MIN_EXP (-1021) +#define DBL_MAX_EXP 1024 +#define DBL_HAS_SUBNORM 1 + +#define DBL_DIG 15 +#define DBL_DECIMAL_DIG 17 +#define DBL_MIN_10_EXP (-307) +#define DBL_MAX_10_EXP 308 + +#define LDBL_HAS_SUBNORM 1 +#define LDBL_DECIMAL_DIG DECIMAL_DIG + +#include + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ftw.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ftw.h new file mode 100644 index 00000000..2b1b270c --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ftw.h @@ -0,0 +1,45 @@ +#ifndef _FTW_H +#define _FTW_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define FTW_F 1 +#define FTW_D 2 +#define FTW_DNR 3 +#define FTW_NS 4 +#define FTW_SL 5 +#define FTW_DP 6 +#define FTW_SLN 7 + +#define FTW_PHYS 1 +#define FTW_MOUNT 2 +#define FTW_CHDIR 4 +#define FTW_DEPTH 8 + +struct FTW { + int base; + int level; +}; + +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +int ftw(const char *, int (*)(const char *, const struct stat *, int), int); +#endif +int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int); + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +#define ftw64 ftw +#endif +#define nftw64 nftw +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/glob.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/glob.h new file mode 100644 index 00000000..8c4bf158 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/glob.h @@ -0,0 +1,54 @@ +#ifndef _GLOB_H +#define _GLOB_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t + +#include + +typedef struct { + size_t gl_pathc; + char **gl_pathv; + size_t gl_offs; + int __dummy1; + void *__dummy2[5]; +} glob_t; + +int glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict); +void globfree(glob_t *); + +#define GLOB_ERR 0x01 +#define GLOB_MARK 0x02 +#define GLOB_NOSORT 0x04 +#define GLOB_DOOFFS 0x08 +#define GLOB_NOCHECK 0x10 +#define GLOB_APPEND 0x20 +#define GLOB_NOESCAPE 0x40 +#define GLOB_PERIOD 0x80 + +#ifdef __wasilibc_unmodified_upstream // WASI has no usernames +#define GLOB_TILDE 0x1000 +#define GLOB_TILDE_CHECK 0x4000 +#endif + +#define GLOB_NOSPACE 1 +#define GLOB_ABORTED 2 +#define GLOB_NOMATCH 3 +#define GLOB_NOSYS 4 + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define glob64 glob +#define globfree64 globfree +#define glob64_t glob_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ifaddrs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ifaddrs.h new file mode 100644 index 00000000..c0328a8e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/ifaddrs.h @@ -0,0 +1,35 @@ +#ifndef _IFADDRS_H +#define _IFADDRS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +struct ifaddrs { + struct ifaddrs *ifa_next; + char *ifa_name; + unsigned ifa_flags; + struct sockaddr *ifa_addr; + struct sockaddr *ifa_netmask; + union { + struct sockaddr *ifu_broadaddr; + struct sockaddr *ifu_dstaddr; + } ifa_ifu; + void *ifa_data; +}; +#define ifa_broadaddr ifa_ifu.ifu_broadaddr +#define ifa_dstaddr ifa_ifu.ifu_dstaddr + +void freeifaddrs(struct ifaddrs *); +int getifaddrs(struct ifaddrs **); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/inttypes.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/inttypes.h new file mode 100644 index 00000000..71b39043 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/inttypes.h @@ -0,0 +1,233 @@ +#ifndef _INTTYPES_H +#define _INTTYPES_H + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_wchar_t +#include + +typedef struct { intmax_t quot, rem; } imaxdiv_t; + +intmax_t imaxabs(intmax_t); +imaxdiv_t imaxdiv(intmax_t, intmax_t); + +intmax_t strtoimax(const char *__restrict, char **__restrict, int); +uintmax_t strtoumax(const char *__restrict, char **__restrict, int); + +intmax_t wcstoimax(const wchar_t *__restrict, wchar_t **__restrict, int); +uintmax_t wcstoumax(const wchar_t *__restrict, wchar_t **__restrict, int); + +#if UINTPTR_MAX == UINT64_MAX +#define __PRI64 "l" +#define __PRIPTR "l" +#else +#define __PRI64 "ll" +#define __PRIPTR "" +#endif + +#define PRId8 "d" +#define PRId16 "d" +#define PRId32 "d" +#define PRId64 __PRI64 "d" + +#define PRIdLEAST8 "d" +#define PRIdLEAST16 "d" +#define PRIdLEAST32 "d" +#define PRIdLEAST64 __PRI64 "d" + +#define PRIdFAST8 "d" +#define PRIdFAST16 "d" +#define PRIdFAST32 "d" +#define PRIdFAST64 __PRI64 "d" + +#define PRIi8 "i" +#define PRIi16 "i" +#define PRIi32 "i" +#define PRIi64 __PRI64 "i" + +#define PRIiLEAST8 "i" +#define PRIiLEAST16 "i" +#define PRIiLEAST32 "i" +#define PRIiLEAST64 __PRI64 "i" + +#define PRIiFAST8 "i" +#define PRIiFAST16 "i" +#define PRIiFAST32 "i" +#define PRIiFAST64 __PRI64 "i" + +#define PRIo8 "o" +#define PRIo16 "o" +#define PRIo32 "o" +#define PRIo64 __PRI64 "o" + +#define PRIoLEAST8 "o" +#define PRIoLEAST16 "o" +#define PRIoLEAST32 "o" +#define PRIoLEAST64 __PRI64 "o" + +#define PRIoFAST8 "o" +#define PRIoFAST16 "o" +#define PRIoFAST32 "o" +#define PRIoFAST64 __PRI64 "o" + +#define PRIu8 "u" +#define PRIu16 "u" +#define PRIu32 "u" +#define PRIu64 __PRI64 "u" + +#define PRIuLEAST8 "u" +#define PRIuLEAST16 "u" +#define PRIuLEAST32 "u" +#define PRIuLEAST64 __PRI64 "u" + +#define PRIuFAST8 "u" +#define PRIuFAST16 "u" +#define PRIuFAST32 "u" +#define PRIuFAST64 __PRI64 "u" + +#define PRIx8 "x" +#define PRIx16 "x" +#define PRIx32 "x" +#define PRIx64 __PRI64 "x" + +#define PRIxLEAST8 "x" +#define PRIxLEAST16 "x" +#define PRIxLEAST32 "x" +#define PRIxLEAST64 __PRI64 "x" + +#define PRIxFAST8 "x" +#define PRIxFAST16 "x" +#define PRIxFAST32 "x" +#define PRIxFAST64 __PRI64 "x" + +#define PRIX8 "X" +#define PRIX16 "X" +#define PRIX32 "X" +#define PRIX64 __PRI64 "X" + +#define PRIXLEAST8 "X" +#define PRIXLEAST16 "X" +#define PRIXLEAST32 "X" +#define PRIXLEAST64 __PRI64 "X" + +#define PRIXFAST8 "X" +#define PRIXFAST16 "X" +#define PRIXFAST32 "X" +#define PRIXFAST64 __PRI64 "X" + +#define PRIdMAX __PRI64 "d" +#define PRIiMAX __PRI64 "i" +#define PRIoMAX __PRI64 "o" +#define PRIuMAX __PRI64 "u" +#define PRIxMAX __PRI64 "x" +#define PRIXMAX __PRI64 "X" + +#define PRIdPTR __PRIPTR "d" +#define PRIiPTR __PRIPTR "i" +#define PRIoPTR __PRIPTR "o" +#define PRIuPTR __PRIPTR "u" +#define PRIxPTR __PRIPTR "x" +#define PRIXPTR __PRIPTR "X" + +#define SCNd8 "hhd" +#define SCNd16 "hd" +#define SCNd32 "d" +#define SCNd64 __PRI64 "d" + +#define SCNdLEAST8 "hhd" +#define SCNdLEAST16 "hd" +#define SCNdLEAST32 "d" +#define SCNdLEAST64 __PRI64 "d" + +#define SCNdFAST8 "hhd" +#define SCNdFAST16 "d" +#define SCNdFAST32 "d" +#define SCNdFAST64 __PRI64 "d" + +#define SCNi8 "hhi" +#define SCNi16 "hi" +#define SCNi32 "i" +#define SCNi64 __PRI64 "i" + +#define SCNiLEAST8 "hhi" +#define SCNiLEAST16 "hi" +#define SCNiLEAST32 "i" +#define SCNiLEAST64 __PRI64 "i" + +#define SCNiFAST8 "hhi" +#define SCNiFAST16 "i" +#define SCNiFAST32 "i" +#define SCNiFAST64 __PRI64 "i" + +#define SCNu8 "hhu" +#define SCNu16 "hu" +#define SCNu32 "u" +#define SCNu64 __PRI64 "u" + +#define SCNuLEAST8 "hhu" +#define SCNuLEAST16 "hu" +#define SCNuLEAST32 "u" +#define SCNuLEAST64 __PRI64 "u" + +#define SCNuFAST8 "hhu" +#define SCNuFAST16 "u" +#define SCNuFAST32 "u" +#define SCNuFAST64 __PRI64 "u" + +#define SCNo8 "hho" +#define SCNo16 "ho" +#define SCNo32 "o" +#define SCNo64 __PRI64 "o" + +#define SCNoLEAST8 "hho" +#define SCNoLEAST16 "ho" +#define SCNoLEAST32 "o" +#define SCNoLEAST64 __PRI64 "o" + +#define SCNoFAST8 "hho" +#define SCNoFAST16 "o" +#define SCNoFAST32 "o" +#define SCNoFAST64 __PRI64 "o" + +#define SCNx8 "hhx" +#define SCNx16 "hx" +#define SCNx32 "x" +#define SCNx64 __PRI64 "x" + +#define SCNxLEAST8 "hhx" +#define SCNxLEAST16 "hx" +#define SCNxLEAST32 "x" +#define SCNxLEAST64 __PRI64 "x" + +#define SCNxFAST8 "hhx" +#define SCNxFAST16 "x" +#define SCNxFAST32 "x" +#define SCNxFAST64 __PRI64 "x" + +#define SCNdMAX __PRI64 "d" +#define SCNiMAX __PRI64 "i" +#define SCNoMAX __PRI64 "o" +#define SCNuMAX __PRI64 "u" +#define SCNxMAX __PRI64 "x" + +#define SCNdPTR __PRIPTR "d" +#define SCNiPTR __PRIPTR "i" +#define SCNoPTR __PRIPTR "o" +#define SCNuPTR __PRIPTR "u" +#define SCNxPTR __PRIPTR "x" + +#ifdef __cplusplus +} +#endif +#else +#include <__header_inttypes.h> +#endif + +#endif + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/limits.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/limits.h new file mode 100644 index 00000000..2fc0d2a3 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/limits.h @@ -0,0 +1,180 @@ +#ifndef _LIMITS_H +#define _LIMITS_H + +#include + +#include /* __LONG_MAX */ + +/* Support signed or unsigned plain-char */ + +#if '\xff' > 0 +#define CHAR_MIN 0 +#define CHAR_MAX 255 +#else +#define CHAR_MIN (-128) +#define CHAR_MAX 127 +#endif + +#define CHAR_BIT 8 +#define SCHAR_MIN (-128) +#define SCHAR_MAX 127 +#define UCHAR_MAX 255 +#define SHRT_MIN (-1-0x7fff) +#define SHRT_MAX 0x7fff +#define USHRT_MAX 0xffff +#define INT_MIN (-1-0x7fffffff) +#define INT_MAX 0x7fffffff +#define UINT_MAX 0xffffffffU +#define LONG_MIN (-LONG_MAX-1) +#define LONG_MAX __LONG_MAX +#define ULONG_MAX (2UL*LONG_MAX+1) +#define LLONG_MIN (-LLONG_MAX-1) +#define LLONG_MAX 0x7fffffffffffffffLL +#define ULLONG_MAX (2ULL*LLONG_MAX+1) + +#define MB_LEN_MAX 4 + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#include + +#ifdef __wasilibc_unmodified_upstream /* WASI has no pipes */ +#define PIPE_BUF 4096 +#endif +#define FILESIZEBITS 64 +#ifndef NAME_MAX +#define NAME_MAX 255 +#endif +#define PATH_MAX 4096 +#define NGROUPS_MAX 32 +#define ARG_MAX 131072 +#define IOV_MAX 1024 +#define SYMLOOP_MAX 40 +#define WORD_BIT 32 +#define SSIZE_MAX LONG_MAX +#define TZNAME_MAX 6 +#define TTY_NAME_MAX 32 +#define HOST_NAME_MAX 255 + +#if LONG_MAX == 0x7fffffffL +#define LONG_BIT 32 +#else +#define LONG_BIT 64 +#endif + +/* Implementation choices... */ + +#if defined(__wasilibc_unmodified_upstream) || defined(_REENTRANT) +#define PTHREAD_KEYS_MAX 128 +#define PTHREAD_STACK_MIN 2048 +#define PTHREAD_DESTRUCTOR_ITERATIONS 4 +#endif +#if defined(__wasilibc_unmodified_upstream) || defined(_REENTRANT) +#define SEM_VALUE_MAX 0x7fffffff +#define SEM_NSEMS_MAX 256 +#endif +#define DELAYTIMER_MAX 0x7fffffff +#ifdef __wasilibc_unmodified_upstream /* WASI has no mq */ +#define MQ_PRIO_MAX 32768 +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no usernames */ +#define LOGIN_NAME_MAX 256 +#endif + +/* Arbitrary numbers... */ + +#ifdef __wasilibc_unmodified_upstream /* WASI has no shell commands */ +#define BC_BASE_MAX 99 +#define BC_DIM_MAX 2048 +#define BC_SCALE_MAX 99 +#define BC_STRING_MAX 1000 +#endif +#define CHARCLASS_NAME_MAX 14 +#define COLL_WEIGHTS_MAX 2 +#ifdef __wasilibc_unmodified_upstream /* WASI has no shell commands */ +#define EXPR_NEST_MAX 32 +#define LINE_MAX 4096 +#endif +#define RE_DUP_MAX 255 + +#define NL_ARGMAX 9 +#define NL_MSGMAX 32767 +#define NL_SETMAX 255 +#define NL_TEXTMAX 2048 + +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE) + +#ifdef PAGESIZE +#define PAGE_SIZE PAGESIZE +#endif +#define NZERO 20 +#define NL_LANGMAX 32 + +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) + +#define NL_NMAX 16 + +#endif + +/* POSIX/SUS requirements follow. These numbers come directly + * from SUS and have nothing to do with the host system. */ + +#define _POSIX_AIO_LISTIO_MAX 2 +#define _POSIX_AIO_MAX 1 +#define _POSIX_ARG_MAX 4096 +#define _POSIX_CHILD_MAX 25 +#define _POSIX_CLOCKRES_MIN 20000000 +#define _POSIX_DELAYTIMER_MAX 32 +#define _POSIX_HOST_NAME_MAX 255 +#define _POSIX_LINK_MAX 8 +#define _POSIX_LOGIN_NAME_MAX 9 +#define _POSIX_MAX_CANON 255 +#define _POSIX_MAX_INPUT 255 +#define _POSIX_MQ_OPEN_MAX 8 +#define _POSIX_MQ_PRIO_MAX 32 +#define _POSIX_NAME_MAX 14 +#define _POSIX_NGROUPS_MAX 8 +#define _POSIX_OPEN_MAX 20 +#define _POSIX_PATH_MAX 256 +#define _POSIX_PIPE_BUF 512 +#define _POSIX_RE_DUP_MAX 255 +#define _POSIX_RTSIG_MAX 8 +#define _POSIX_SEM_NSEMS_MAX 256 +#define _POSIX_SEM_VALUE_MAX 32767 +#define _POSIX_SIGQUEUE_MAX 32 +#define _POSIX_SSIZE_MAX 32767 +#define _POSIX_STREAM_MAX 8 +#define _POSIX_SS_REPL_MAX 4 +#define _POSIX_SYMLINK_MAX 255 +#define _POSIX_SYMLOOP_MAX 8 +#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 +#define _POSIX_THREAD_KEYS_MAX 128 +#define _POSIX_THREAD_THREADS_MAX 64 +#define _POSIX_TIMER_MAX 32 +#define _POSIX_TRACE_EVENT_NAME_MAX 30 +#define _POSIX_TRACE_NAME_MAX 8 +#define _POSIX_TRACE_SYS_MAX 8 +#define _POSIX_TRACE_USER_EVENT_MAX 32 +#define _POSIX_TTY_NAME_MAX 9 +#define _POSIX_TZNAME_MAX 6 +#define _POSIX2_BC_BASE_MAX 99 +#define _POSIX2_BC_DIM_MAX 2048 +#define _POSIX2_BC_SCALE_MAX 99 +#define _POSIX2_BC_STRING_MAX 1000 +#define _POSIX2_CHARCLASS_NAME_MAX 14 +#define _POSIX2_COLL_WEIGHTS_MAX 2 +#define _POSIX2_EXPR_NEST_MAX 32 +#define _POSIX2_LINE_MAX 2048 +#define _POSIX2_RE_DUP_MAX 255 + +#define _XOPEN_IOV_MAX 16 +#define _XOPEN_NAME_MAX 255 +#define _XOPEN_PATH_MAX 1024 + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/locale.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/locale.h new file mode 100644 index 00000000..6a62d1f5 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/locale.h @@ -0,0 +1,93 @@ +#ifndef _LOCALE_H +#define _LOCALE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#define LC_CTYPE 0 +#define LC_NUMERIC 1 +#define LC_TIME 2 +#define LC_COLLATE 3 +#define LC_MONETARY 4 +#define LC_MESSAGES 5 +#define LC_ALL 6 + +struct lconv { + char *decimal_point; + char *thousands_sep; + char *grouping; + + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; + char int_p_cs_precedes; + char int_p_sep_by_space; + char int_n_cs_precedes; + char int_n_sep_by_space; + char int_p_sign_posn; + char int_n_sign_posn; +}; + + +char *setlocale (int, const char *); +struct lconv *localeconv(void); + + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#define __NEED_locale_t + +#include + +#define LC_GLOBAL_LOCALE ((locale_t)-1) + +#define LC_CTYPE_MASK (1< +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_size_t + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +void *valloc (size_t); +void *memalign(size_t, size_t); +#endif + +size_t malloc_usable_size(void *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/math.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/math.h new file mode 100644 index 00000000..515cc66b --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/math.h @@ -0,0 +1,459 @@ +#ifndef _MATH_H +#define _MATH_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_float_t +#define __NEED_double_t +#include + +#if 100*__GNUC__+__GNUC_MINOR__ >= 303 +#define NAN __builtin_nanf("") +#define INFINITY __builtin_inff() +#else +#define NAN (0.0f/0.0f) +#define INFINITY 1e5000f +#endif + +#define HUGE_VALF INFINITY +#define HUGE_VAL ((double)INFINITY) +#define HUGE_VALL ((long double)INFINITY) + +#define MATH_ERRNO 1 +#define MATH_ERREXCEPT 2 +#define math_errhandling 2 + +#define FP_ILOGBNAN (-1-0x7fffffff) +#define FP_ILOGB0 FP_ILOGBNAN + +#define FP_NAN 0 +#define FP_INFINITE 1 +#define FP_ZERO 2 +#define FP_SUBNORMAL 3 +#define FP_NORMAL 4 + +#ifdef __FP_FAST_FMA +#define FP_FAST_FMA 1 +#endif + +#ifdef __FP_FAST_FMAF +#define FP_FAST_FMAF 1 +#endif + +#ifdef __FP_FAST_FMAL +#define FP_FAST_FMAL 1 +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of the fpclassify-like operations */ +int __fpclassify(double); +int __fpclassifyf(float); +int __fpclassifyl(long double); + +static __inline unsigned __FLOAT_BITS(float __f) +{ + union {float __f; unsigned __i;} __u; + __u.__f = __f; + return __u.__i; +} +static __inline unsigned long long __DOUBLE_BITS(double __f) +{ + union {double __f; unsigned long long __i;} __u; + __u.__f = __f; + return __u.__i; +} + +#define fpclassify(x) ( \ + sizeof(x) == sizeof(float) ? __fpclassifyf(x) : \ + sizeof(x) == sizeof(double) ? __fpclassify(x) : \ + __fpclassifyl(x) ) + +#define isinf(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) == 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) == 0x7ffULL<<52 : \ + __fpclassifyl(x) == FP_INFINITE) + +#define isnan(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) > 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) > 0x7ffULL<<52 : \ + __fpclassifyl(x) == FP_NAN) + +#define isnormal(x) ( \ + sizeof(x) == sizeof(float) ? ((__FLOAT_BITS(x)+0x00800000) & 0x7fffffff) >= 0x01000000 : \ + sizeof(x) == sizeof(double) ? ((__DOUBLE_BITS(x)+(1ULL<<52)) & -1ULL>>1) >= 1ULL<<53 : \ + __fpclassifyl(x) == FP_NORMAL) + +#define isfinite(x) ( \ + sizeof(x) == sizeof(float) ? (__FLOAT_BITS(x) & 0x7fffffff) < 0x7f800000 : \ + sizeof(x) == sizeof(double) ? (__DOUBLE_BITS(x) & -1ULL>>1) < 0x7ffULL<<52 : \ + __fpclassifyl(x) > FP_INFINITE) + +int __signbit(double); +int __signbitf(float); +int __signbitl(long double); + +#define signbit(x) ( \ + sizeof(x) == sizeof(float) ? (int)(__FLOAT_BITS(x)>>31) : \ + sizeof(x) == sizeof(double) ? (int)(__DOUBLE_BITS(x)>>63) : \ + __signbitl(x) ) + +#define isunordered(x,y) (isnan((x)) ? ((void)(y),1) : isnan((y))) + +#define __ISREL_DEF(rel, op, type) \ +static __inline int __is##rel(type __x, type __y) \ +{ return !isunordered(__x,__y) && __x op __y; } + +__ISREL_DEF(lessf, <, float_t) +__ISREL_DEF(less, <, double_t) +__ISREL_DEF(lessl, <, long double) +__ISREL_DEF(lessequalf, <=, float_t) +__ISREL_DEF(lessequal, <=, double_t) +__ISREL_DEF(lessequall, <=, long double) +__ISREL_DEF(lessgreaterf, !=, float_t) +__ISREL_DEF(lessgreater, !=, double_t) +__ISREL_DEF(lessgreaterl, !=, long double) +__ISREL_DEF(greaterf, >, float_t) +__ISREL_DEF(greater, >, double_t) +__ISREL_DEF(greaterl, >, long double) +__ISREL_DEF(greaterequalf, >=, float_t) +__ISREL_DEF(greaterequal, >=, double_t) +__ISREL_DEF(greaterequall, >=, long double) + +#define __tg_pred_2(x, y, p) ( \ + sizeof((x)+(y)) == sizeof(float) ? p##f(x, y) : \ + sizeof((x)+(y)) == sizeof(double) ? p(x, y) : \ + p##l(x, y) ) + +#define isless(x, y) __tg_pred_2(x, y, __isless) +#define islessequal(x, y) __tg_pred_2(x, y, __islessequal) +#define islessgreater(x, y) __tg_pred_2(x, y, __islessgreater) +#define isgreater(x, y) __tg_pred_2(x, y, __isgreater) +#define isgreaterequal(x, y) __tg_pred_2(x, y, __isgreaterequal) +#else +#define fpclassify(x) (__builtin_fpclassify(FP_NAN, FP_INFINITE, \ + FP_NORMAL, FP_SUBNORMAL, \ + FP_ZERO, x)) +#define isinf(x) (__builtin_isinf(x)) +#define isnan(x) (__builtin_isnan(x)) +#define isnormal(x) (__builtin_isnormal(x)) +#define isfinite(x) (__builtin_isfinite(x)) +#define signbit(x) (__builtin_signbit(x)) +#define isunordered(x, y) (__builtin_isunordered(x, y)) +#define isless(x, y) (__builtin_isless(x, y)) +#define islessequal(x, y) (__builtin_islessequal(x, y)) +#define islessgreater(x, y) (__builtin_islessgreater(x, y)) +#define isgreater(x, y) (__builtin_isgreater(x, y)) +#define isgreaterequal(x, y) (__builtin_isgreaterequal(x, y)) +#endif + +double acos(double); +float acosf(float); +long double acosl(long double); + +double acosh(double); +float acoshf(float); +long double acoshl(long double); + +double asin(double); +float asinf(float); +long double asinl(long double); + +double asinh(double); +float asinhf(float); +long double asinhl(long double); + +double atan(double); +float atanf(float); +long double atanl(long double); + +double atan2(double, double); +float atan2f(float, float); +long double atan2l(long double, long double); + +double atanh(double); +float atanhf(float); +long double atanhl(long double); + +double cbrt(double); +float cbrtf(float); +long double cbrtl(long double); + +double ceil(double); +float ceilf(float); +long double ceill(long double); + +double copysign(double, double); +float copysignf(float, float); +long double copysignl(long double, long double); + +double cos(double); +float cosf(float); +long double cosl(long double); + +double cosh(double); +float coshf(float); +long double coshl(long double); + +double erf(double); +float erff(float); +long double erfl(long double); + +double erfc(double); +float erfcf(float); +long double erfcl(long double); + +double exp(double); +float expf(float); +long double expl(long double); + +double exp2(double); +float exp2f(float); +long double exp2l(long double); + +double expm1(double); +float expm1f(float); +long double expm1l(long double); + +double fabs(double); +float fabsf(float); +long double fabsl(long double); + +double fdim(double, double); +float fdimf(float, float); +long double fdiml(long double, long double); + +double floor(double); +float floorf(float); +long double floorl(long double); + +double fma(double, double, double); +float fmaf(float, float, float); +long double fmal(long double, long double, long double); + +double fmax(double, double); +float fmaxf(float, float); +long double fmaxl(long double, long double); + +double fmin(double, double); +float fminf(float, float); +long double fminl(long double, long double); + +double fmod(double, double); +float fmodf(float, float); +long double fmodl(long double, long double); + +double frexp(double, int *); +float frexpf(float, int *); +long double frexpl(long double, int *); + +double hypot(double, double); +float hypotf(float, float); +long double hypotl(long double, long double); + +int ilogb(double); +int ilogbf(float); +int ilogbl(long double); + +double ldexp(double, int); +float ldexpf(float, int); +long double ldexpl(long double, int); + +double lgamma(double); +float lgammaf(float); +long double lgammal(long double); + +long long llrint(double); +long long llrintf(float); +long long llrintl(long double); + +long long llround(double); +long long llroundf(float); +long long llroundl(long double); + +double log(double); +float logf(float); +long double logl(long double); + +double log10(double); +float log10f(float); +long double log10l(long double); + +double log1p(double); +float log1pf(float); +long double log1pl(long double); + +double log2(double); +float log2f(float); +long double log2l(long double); + +double logb(double); +float logbf(float); +long double logbl(long double); + +long lrint(double); +long lrintf(float); +long lrintl(long double); + +long lround(double); +long lroundf(float); +long lroundl(long double); + +double modf(double, double *); +float modff(float, float *); +long double modfl(long double, long double *); + +double nan(const char *); +float nanf(const char *); +long double nanl(const char *); + +double nearbyint(double); +float nearbyintf(float); +long double nearbyintl(long double); + +double nextafter(double, double); +float nextafterf(float, float); +long double nextafterl(long double, long double); + +double nexttoward(double, long double); +float nexttowardf(float, long double); +long double nexttowardl(long double, long double); + +double pow(double, double); +float powf(float, float); +long double powl(long double, long double); + +double remainder(double, double); +float remainderf(float, float); +long double remainderl(long double, long double); + +double remquo(double, double, int *); +float remquof(float, float, int *); +long double remquol(long double, long double, int *); + +double rint(double); +float rintf(float); +long double rintl(long double); + +double round(double); +float roundf(float); +long double roundl(long double); + +double scalbln(double, long); +float scalblnf(float, long); +long double scalblnl(long double, long); + +double scalbn(double, int); +float scalbnf(float, int); +long double scalbnl(long double, int); + +double sin(double); +float sinf(float); +long double sinl(long double); + +double sinh(double); +float sinhf(float); +long double sinhl(long double); + +double sqrt(double); +float sqrtf(float); +long double sqrtl(long double); + +double tan(double); +float tanf(float); +long double tanl(long double); + +double tanh(double); +float tanhf(float); +long double tanhl(long double); + +double tgamma(double); +float tgammaf(float); +long double tgammal(long double); + +double trunc(double); +float truncf(float); +long double truncl(long double); + + +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) +#undef MAXFLOAT +#define MAXFLOAT 3.40282346638528859812e+38F +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define M_E 2.7182818284590452354 /* e */ +#define M_LOG2E 1.4426950408889634074 /* log_2 e */ +#define M_LOG10E 0.43429448190325182765 /* log_10 e */ +#define M_LN2 0.69314718055994530942 /* log_e 2 */ +#define M_LN10 2.30258509299404568402 /* log_e 10 */ +#define M_PI 3.14159265358979323846 /* pi */ +#define M_PI_2 1.57079632679489661923 /* pi/2 */ +#define M_PI_4 0.78539816339744830962 /* pi/4 */ +#define M_1_PI 0.31830988618379067154 /* 1/pi */ +#define M_2_PI 0.63661977236758134308 /* 2/pi */ +#define M_2_SQRTPI 1.12837916709551257390 /* 2/sqrt(pi) */ +#define M_SQRT2 1.41421356237309504880 /* sqrt(2) */ +#define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */ + +extern int signgam; + +double j0(double); +double j1(double); +double jn(int, double); + +double y0(double); +double y1(double); +double yn(int, double); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define HUGE 3.40282346638528859812e+38F + +double drem(double, double); +float dremf(float, float); + +int finite(double); +int finitef(float); + +double scalb(double, double); +float scalbf(float, float); + +double significand(double); +float significandf(float); + +double lgamma_r(double, int*); +float lgammaf_r(float, int*); + +float j0f(float); +float j1f(float); +float jnf(int, float); + +float y0f(float); +float y1f(float); +float ynf(int, float); +#endif + +#ifdef _GNU_SOURCE +long double lgammal_r(long double, int*); + +void sincos(double, double*, double*); +void sincosf(float, float*, float*); +void sincosl(long double, long double*, long double*); + +double exp10(double); +float exp10f(float); +long double exp10l(long double); + +double pow10(double); +float pow10f(float); +long double pow10l(long double); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/netinet/in.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/netinet/in.h new file mode 100644 index 00000000..d9422af2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/netinet/in.h @@ -0,0 +1,433 @@ +#ifndef _NETINET_IN_H +#define _NETINET_IN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__header_netinet_in.h> +#endif + +typedef uint16_t in_port_t; +typedef uint32_t in_addr_t; +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct in_addr { in_addr_t s_addr; }; +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct sockaddr_in { + sa_family_t sin_family; + in_port_t sin_port; + struct in_addr sin_addr; + uint8_t sin_zero[8]; +}; +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct in6_addr { + union { + uint8_t __s6_addr[16]; + uint16_t __s6_addr16[8]; + uint32_t __s6_addr32[4]; + } __in6_union; +}; +#define s6_addr __in6_union.__s6_addr +#define s6_addr16 __in6_union.__s6_addr16 +#define s6_addr32 __in6_union.__s6_addr32 +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct sockaddr_in6 { + sa_family_t sin6_family; + in_port_t sin6_port; + uint32_t sin6_flowinfo; + struct in6_addr sin6_addr; + uint32_t sin6_scope_id; +}; +#endif + +struct ipv6_mreq { + struct in6_addr ipv6mr_multiaddr; + unsigned ipv6mr_interface; +}; + +#define INADDR_ANY ((in_addr_t) 0x00000000) +#define INADDR_BROADCAST ((in_addr_t) 0xffffffff) +#define INADDR_NONE ((in_addr_t) 0xffffffff) +#define INADDR_LOOPBACK ((in_addr_t) 0x7f000001) +#define INADDR_DUMMY ((in_addr_t) 0xc0000008) + +#define INADDR_UNSPEC_GROUP ((in_addr_t) 0xe0000000) +#define INADDR_ALLHOSTS_GROUP ((in_addr_t) 0xe0000001) +#define INADDR_ALLRTRS_GROUP ((in_addr_t) 0xe0000002) +#define INADDR_ALLSNOOPERS_GROUP ((in_addr_t) 0xe000006a) +#define INADDR_MAX_LOCAL_GROUP ((in_addr_t) 0xe00000ff) + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } +#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } +#endif + +extern const struct in6_addr in6addr_any, in6addr_loopback; + +#define INET_ADDRSTRLEN 16 +#define INET6_ADDRSTRLEN 46 + +uint32_t htonl(uint32_t); +uint16_t htons(uint16_t); +uint32_t ntohl(uint32_t); +uint16_t ntohs(uint16_t); + +#define IPPORT_RESERVED 1024 + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define IPPROTO_IP 0 +#define IPPROTO_HOPOPTS 0 +#define IPPROTO_ICMP 1 +#define IPPROTO_IGMP 2 +#define IPPROTO_IPIP 4 +#define IPPROTO_TCP 6 +#define IPPROTO_EGP 8 +#define IPPROTO_PUP 12 +#define IPPROTO_UDP 17 +#define IPPROTO_IDP 22 +#define IPPROTO_TP 29 +#define IPPROTO_DCCP 33 +#define IPPROTO_IPV6 41 +#define IPPROTO_ROUTING 43 +#define IPPROTO_FRAGMENT 44 +#define IPPROTO_RSVP 46 +#define IPPROTO_GRE 47 +#define IPPROTO_ESP 50 +#define IPPROTO_AH 51 +#define IPPROTO_ICMPV6 58 +#define IPPROTO_NONE 59 +#define IPPROTO_DSTOPTS 60 +#define IPPROTO_MTP 92 +#define IPPROTO_BEETPH 94 +#define IPPROTO_ENCAP 98 +#define IPPROTO_PIM 103 +#define IPPROTO_COMP 108 +#define IPPROTO_SCTP 132 +#define IPPROTO_MH 135 +#define IPPROTO_UDPLITE 136 +#define IPPROTO_MPLS 137 +#define IPPROTO_ETHERNET 143 +#define IPPROTO_RAW 255 +#define IPPROTO_MPTCP 262 +#define IPPROTO_MAX 263 +#endif + +#define IN6_IS_ADDR_UNSPECIFIED(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && ((uint32_t *) (a))[3] == 0) + +#define IN6_IS_ADDR_LOOPBACK(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && \ + ((uint8_t *) (a))[12] == 0 && ((uint8_t *) (a))[13] == 0 && \ + ((uint8_t *) (a))[14] == 0 && ((uint8_t *) (a))[15] == 1 ) + +#define IN6_IS_ADDR_MULTICAST(a) (((uint8_t *) (a))[0] == 0xff) + +#define IN6_IS_ADDR_LINKLOCAL(a) \ + ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0x80) + +#define IN6_IS_ADDR_SITELOCAL(a) \ + ((((uint8_t *) (a))[0]) == 0xfe && (((uint8_t *) (a))[1] & 0xc0) == 0xc0) + +#define IN6_IS_ADDR_V4MAPPED(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint8_t *) (a))[8] == 0 && ((uint8_t *) (a))[9] == 0 && \ + ((uint8_t *) (a))[10] == 0xff && ((uint8_t *) (a))[11] == 0xff) + +#define IN6_IS_ADDR_V4COMPAT(a) \ + (((uint32_t *) (a))[0] == 0 && ((uint32_t *) (a))[1] == 0 && \ + ((uint32_t *) (a))[2] == 0 && ((uint8_t *) (a))[15] > 1) + +#define IN6_IS_ADDR_MC_NODELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x1)) + +#define IN6_IS_ADDR_MC_LINKLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x2)) + +#define IN6_IS_ADDR_MC_SITELOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x5)) + +#define IN6_IS_ADDR_MC_ORGLOCAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0x8)) + +#define IN6_IS_ADDR_MC_GLOBAL(a) \ + (IN6_IS_ADDR_MULTICAST(a) && ((((uint8_t *) (a))[1] & 0xf) == 0xe)) + +#define __ARE_4_EQUAL(a,b) \ + (!( (0[a]-0[b]) | (1[a]-1[b]) | (2[a]-2[b]) | (3[a]-3[b]) )) +#define IN6_ARE_ADDR_EQUAL(a,b) \ + __ARE_4_EQUAL((const uint32_t *)(a), (const uint32_t *)(b)) + +#define IN_CLASSA(a) ((((in_addr_t)(a)) & 0x80000000) == 0) +#define IN_CLASSA_NET 0xff000000 +#define IN_CLASSA_NSHIFT 24 +#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET) +#define IN_CLASSA_MAX 128 +#define IN_CLASSB(a) ((((in_addr_t)(a)) & 0xc0000000) == 0x80000000) +#define IN_CLASSB_NET 0xffff0000 +#define IN_CLASSB_NSHIFT 16 +#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET) +#define IN_CLASSB_MAX 65536 +#define IN_CLASSC(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xc0000000) +#define IN_CLASSC_NET 0xffffff00 +#define IN_CLASSC_NSHIFT 8 +#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET) +#define IN_CLASSD(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xe0000000) +#define IN_MULTICAST(a) IN_CLASSD(a) +#define IN_EXPERIMENTAL(a) ((((in_addr_t)(a)) & 0xe0000000) == 0xe0000000) +#define IN_BADCLASS(a) ((((in_addr_t)(a)) & 0xf0000000) == 0xf0000000) + +#define IN_LOOPBACKNET 127 + + +#define IP_TOS 1 +#define IP_TTL 2 +#define IP_HDRINCL 3 +#define IP_OPTIONS 4 +#define IP_ROUTER_ALERT 5 +#define IP_RECVOPTS 6 +#define IP_RETOPTS 7 +#define IP_PKTINFO 8 +#define IP_PKTOPTIONS 9 +#define IP_PMTUDISC 10 +#define IP_MTU_DISCOVER 10 +#define IP_RECVERR 11 +#define IP_RECVTTL 12 +#define IP_RECVTOS 13 +#define IP_MTU 14 +#define IP_FREEBIND 15 +#define IP_IPSEC_POLICY 16 +#define IP_XFRM_POLICY 17 +#define IP_PASSSEC 18 +#define IP_TRANSPARENT 19 +#define IP_ORIGDSTADDR 20 +#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR +#define IP_MINTTL 21 +#define IP_NODEFRAG 22 +#define IP_CHECKSUM 23 +#define IP_BIND_ADDRESS_NO_PORT 24 +#define IP_RECVFRAGSIZE 25 +#define IP_RECVERR_RFC4884 26 +#define IP_MULTICAST_IF 32 +#define IP_MULTICAST_TTL 33 +#define IP_MULTICAST_LOOP 34 +#define IP_ADD_MEMBERSHIP 35 +#define IP_DROP_MEMBERSHIP 36 +#define IP_UNBLOCK_SOURCE 37 +#define IP_BLOCK_SOURCE 38 +#define IP_ADD_SOURCE_MEMBERSHIP 39 +#define IP_DROP_SOURCE_MEMBERSHIP 40 +#define IP_MSFILTER 41 +#define IP_MULTICAST_ALL 49 +#define IP_UNICAST_IF 50 + +#define IP_RECVRETOPTS IP_RETOPTS + +#define IP_PMTUDISC_DONT 0 +#define IP_PMTUDISC_WANT 1 +#define IP_PMTUDISC_DO 2 +#define IP_PMTUDISC_PROBE 3 +#define IP_PMTUDISC_INTERFACE 4 +#define IP_PMTUDISC_OMIT 5 + +#define IP_DEFAULT_MULTICAST_TTL 1 +#define IP_DEFAULT_MULTICAST_LOOP 1 +#define IP_MAX_MEMBERSHIPS 20 + +struct ip_opts { + struct in_addr ip_dst; + char ip_opts[40]; +}; + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#define MCAST_JOIN_GROUP 42 +#define MCAST_BLOCK_SOURCE 43 +#define MCAST_UNBLOCK_SOURCE 44 +#define MCAST_LEAVE_GROUP 45 +#define MCAST_JOIN_SOURCE_GROUP 46 +#define MCAST_LEAVE_SOURCE_GROUP 47 +#define MCAST_MSFILTER 48 + +#define MCAST_EXCLUDE 0 +#define MCAST_INCLUDE 1 + +struct ip_mreq { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; +}; + +struct ip_mreqn { + struct in_addr imr_multiaddr; + struct in_addr imr_address; + int imr_ifindex; +}; + +struct ip_mreq_source { + struct in_addr imr_multiaddr; + struct in_addr imr_interface; + struct in_addr imr_sourceaddr; +}; + +struct ip_msfilter { + struct in_addr imsf_multiaddr; + struct in_addr imsf_interface; + uint32_t imsf_fmode; + uint32_t imsf_numsrc; + struct in_addr imsf_slist[1]; +}; +#define IP_MSFILTER_SIZE(numsrc) \ + (sizeof(struct ip_msfilter) - sizeof(struct in_addr) \ + + (numsrc) * sizeof(struct in_addr)) + +struct group_req { + uint32_t gr_interface; + struct sockaddr_storage gr_group; +}; + +struct group_source_req { + uint32_t gsr_interface; + struct sockaddr_storage gsr_group; + struct sockaddr_storage gsr_source; +}; + +struct group_filter { + uint32_t gf_interface; + struct sockaddr_storage gf_group; + uint32_t gf_fmode; + uint32_t gf_numsrc; + struct sockaddr_storage gf_slist[1]; +}; +#define GROUP_FILTER_SIZE(numsrc) \ + (sizeof(struct group_filter) - sizeof(struct sockaddr_storage) \ + + (numsrc) * sizeof(struct sockaddr_storage)) + +struct in_pktinfo { + int ipi_ifindex; + struct in_addr ipi_spec_dst; + struct in_addr ipi_addr; +}; + +struct in6_pktinfo { + struct in6_addr ipi6_addr; + unsigned ipi6_ifindex; +}; + +struct ip6_mtuinfo { + struct sockaddr_in6 ip6m_addr; + uint32_t ip6m_mtu; +}; +#endif + +#define IPV6_ADDRFORM 1 +#define IPV6_2292PKTINFO 2 +#define IPV6_2292HOPOPTS 3 +#define IPV6_2292DSTOPTS 4 +#define IPV6_2292RTHDR 5 +#define IPV6_2292PKTOPTIONS 6 +#define IPV6_CHECKSUM 7 +#define IPV6_2292HOPLIMIT 8 +#define IPV6_NEXTHOP 9 +#define IPV6_AUTHHDR 10 +#define IPV6_UNICAST_HOPS 16 +#define IPV6_MULTICAST_IF 17 +#define IPV6_MULTICAST_HOPS 18 +#define IPV6_MULTICAST_LOOP 19 +#define IPV6_JOIN_GROUP 20 +#define IPV6_LEAVE_GROUP 21 +#define IPV6_ROUTER_ALERT 22 +#define IPV6_MTU_DISCOVER 23 +#define IPV6_MTU 24 +#define IPV6_RECVERR 25 +#define IPV6_V6ONLY 26 +#define IPV6_JOIN_ANYCAST 27 +#define IPV6_LEAVE_ANYCAST 28 +#define IPV6_MULTICAST_ALL 29 +#define IPV6_ROUTER_ALERT_ISOLATE 30 +#define IPV6_IPSEC_POLICY 34 +#define IPV6_XFRM_POLICY 35 +#define IPV6_HDRINCL 36 + +#define IPV6_RECVPKTINFO 49 +#define IPV6_PKTINFO 50 +#define IPV6_RECVHOPLIMIT 51 +#define IPV6_HOPLIMIT 52 +#define IPV6_RECVHOPOPTS 53 +#define IPV6_HOPOPTS 54 +#define IPV6_RTHDRDSTOPTS 55 +#define IPV6_RECVRTHDR 56 +#define IPV6_RTHDR 57 +#define IPV6_RECVDSTOPTS 58 +#define IPV6_DSTOPTS 59 +#define IPV6_RECVPATHMTU 60 +#define IPV6_PATHMTU 61 +#define IPV6_DONTFRAG 62 +#define IPV6_RECVTCLASS 66 +#define IPV6_TCLASS 67 +#define IPV6_AUTOFLOWLABEL 70 +#define IPV6_ADDR_PREFERENCES 72 +#define IPV6_MINHOPCOUNT 73 +#define IPV6_ORIGDSTADDR 74 +#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR +#define IPV6_TRANSPARENT 75 +#define IPV6_UNICAST_IF 76 +#define IPV6_RECVFRAGSIZE 77 +#define IPV6_FREEBIND 78 + +#define IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP +#define IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP +#define IPV6_RXHOPOPTS IPV6_HOPOPTS +#define IPV6_RXDSTOPTS IPV6_DSTOPTS + +#define IPV6_PMTUDISC_DONT 0 +#define IPV6_PMTUDISC_WANT 1 +#define IPV6_PMTUDISC_DO 2 +#define IPV6_PMTUDISC_PROBE 3 +#define IPV6_PMTUDISC_INTERFACE 4 +#define IPV6_PMTUDISC_OMIT 5 + +#define IPV6_PREFER_SRC_TMP 0x0001 +#define IPV6_PREFER_SRC_PUBLIC 0x0002 +#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100 +#define IPV6_PREFER_SRC_COA 0x0004 +#define IPV6_PREFER_SRC_HOME 0x0400 +#define IPV6_PREFER_SRC_CGA 0x0008 +#define IPV6_PREFER_SRC_NONCGA 0x0800 + +#define IPV6_RTHDR_LOOSE 0 +#define IPV6_RTHDR_STRICT 1 + +#define IPV6_RTHDR_TYPE_0 0 + +#define __UAPI_DEF_IN_ADDR 0 +#define __UAPI_DEF_IN_IPPROTO 0 +#define __UAPI_DEF_IN_PKTINFO 0 +#define __UAPI_DEF_IP_MREQ 0 +#define __UAPI_DEF_SOCKADDR_IN 0 +#define __UAPI_DEF_IN_CLASS 0 +#define __UAPI_DEF_IN6_ADDR 0 +#define __UAPI_DEF_IN6_ADDR_ALT 0 +#define __UAPI_DEF_SOCKADDR_IN6 0 +#define __UAPI_DEF_IPV6_MREQ 0 +#define __UAPI_DEF_IPPROTO_V6 0 +#define __UAPI_DEF_IPV6_OPTIONS 0 +#define __UAPI_DEF_IN6_PKTINFO 0 +#define __UAPI_DEF_IP6_MTUINFO 0 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/poll.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/poll.h new file mode 100644 index 00000000..cdbd29a2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/poll.h @@ -0,0 +1,69 @@ +#ifndef _POLL_H +#define _POLL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define POLLIN 0x001 +#define POLLPRI 0x002 +#define POLLOUT 0x004 +#define POLLERR 0x008 +#define POLLHUP 0x010 +#define POLLNVAL 0x020 +#define POLLRDNORM 0x040 +#define POLLRDBAND 0x080 +#ifndef POLLWRNORM +#define POLLWRNORM 0x100 +#define POLLWRBAND 0x200 +#endif +#ifndef POLLMSG +#define POLLMSG 0x400 +#define POLLRDHUP 0x2000 +#endif +#else +#include <__header_poll.h> +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +typedef unsigned long nfds_t; +#else +#include <__typedef_nfds_t.h> +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct pollfd { + int fd; + short events; + short revents; +}; +#else +#include <__struct_pollfd.h> +#endif + +int poll (struct pollfd *, nfds_t, int); + +#ifdef _GNU_SOURCE +#define __NEED_time_t +#define __NEED_struct_timespec +#define __NEED_sigset_t +#include +int ppoll(struct pollfd *, nfds_t, const struct timespec *, const sigset_t *); +#endif + +#if _REDIR_TIME64 +#ifdef _GNU_SOURCE +__REDIR(ppoll, __ppoll_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sched.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sched.h new file mode 100644 index 00000000..a3a7f569 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sched.h @@ -0,0 +1,152 @@ +#ifndef _SCHED_H +#define _SCHED_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_struct_timespec +#define __NEED_pid_t +#define __NEED_time_t + +#ifdef _GNU_SOURCE +#define __NEED_size_t +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* WASI has no CPU scheduling support. */ +struct sched_param { + int sched_priority; + int __reserved1; +#if _REDIR_TIME64 + long __reserved2[4]; +#else + struct { + time_t __reserved1; + long __reserved2; + } __reserved2[2]; +#endif + int __reserved3; +}; + +int sched_get_priority_max(int); +int sched_get_priority_min(int); +int sched_getparam(pid_t, struct sched_param *); +int sched_getscheduler(pid_t); +int sched_rr_get_interval(pid_t, struct timespec *); +int sched_setparam(pid_t, const struct sched_param *); +int sched_setscheduler(pid_t, int, const struct sched_param *); +#endif +int sched_yield(void); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no CPU scheduling support. */ +#define SCHED_OTHER 0 +#define SCHED_FIFO 1 +#define SCHED_RR 2 +#define SCHED_BATCH 3 +#define SCHED_IDLE 5 +#define SCHED_DEADLINE 6 +#define SCHED_RESET_ON_FORK 0x40000000 + +#ifdef _GNU_SOURCE +#define CSIGNAL 0x000000ff +#define CLONE_NEWTIME 0x00000080 +#define CLONE_VM 0x00000100 +#define CLONE_FS 0x00000200 +#define CLONE_FILES 0x00000400 +#define CLONE_SIGHAND 0x00000800 +#define CLONE_PIDFD 0x00001000 +#define CLONE_PTRACE 0x00002000 +#define CLONE_VFORK 0x00004000 +#define CLONE_PARENT 0x00008000 +#define CLONE_THREAD 0x00010000 +#define CLONE_NEWNS 0x00020000 +#define CLONE_SYSVSEM 0x00040000 +#define CLONE_SETTLS 0x00080000 +#define CLONE_PARENT_SETTID 0x00100000 +#define CLONE_CHILD_CLEARTID 0x00200000 +#define CLONE_DETACHED 0x00400000 +#define CLONE_UNTRACED 0x00800000 +#define CLONE_CHILD_SETTID 0x01000000 +#define CLONE_NEWCGROUP 0x02000000 +#define CLONE_NEWUTS 0x04000000 +#define CLONE_NEWIPC 0x08000000 +#define CLONE_NEWUSER 0x10000000 +#define CLONE_NEWPID 0x20000000 +#define CLONE_NEWNET 0x40000000 +#define CLONE_IO 0x80000000 +int clone (int (*)(void *), void *, int, void *, ...); +int unshare(int); +int setns(int, int); + +void *memcpy(void *__restrict, const void *__restrict, size_t); +int memcmp(const void *, const void *, size_t); +void *memset (void *, int, size_t); +void *calloc(size_t, size_t); +void free(void *); + +typedef struct cpu_set_t { unsigned long __bits[128/sizeof(long)]; } cpu_set_t; +int __sched_cpucount(size_t, const cpu_set_t *); +int sched_getcpu(void); +int sched_getaffinity(pid_t, size_t, cpu_set_t *); +int sched_setaffinity(pid_t, size_t, const cpu_set_t *); + +#define __CPU_op_S(i, size, set, op) ( (i)/8U >= (size) ? 0 : \ + (((unsigned long *)(set))[(i)/8/sizeof(long)] op (1UL<<((i)%(8*sizeof(long))))) ) + +#define CPU_SET_S(i, size, set) __CPU_op_S(i, size, set, |=) +#define CPU_CLR_S(i, size, set) __CPU_op_S(i, size, set, &=~) +#define CPU_ISSET_S(i, size, set) __CPU_op_S(i, size, set, &) + +#define __CPU_op_func_S(func, op) \ +static __inline void __CPU_##func##_S(size_t __size, cpu_set_t *__dest, \ + const cpu_set_t *__src1, const cpu_set_t *__src2) \ +{ \ + size_t __i; \ + for (__i=0; __i<__size/sizeof(long); __i++) \ + ((unsigned long *)__dest)[__i] = ((unsigned long *)__src1)[__i] \ + op ((unsigned long *)__src2)[__i] ; \ +} + +__CPU_op_func_S(AND, &) +__CPU_op_func_S(OR, |) +__CPU_op_func_S(XOR, ^) + +#define CPU_AND_S(a,b,c,d) __CPU_AND_S(a,b,c,d) +#define CPU_OR_S(a,b,c,d) __CPU_OR_S(a,b,c,d) +#define CPU_XOR_S(a,b,c,d) __CPU_XOR_S(a,b,c,d) + +#define CPU_COUNT_S(size,set) __sched_cpucount(size,set) +#define CPU_ZERO_S(size,set) memset(set,0,size) +#define CPU_EQUAL_S(size,set1,set2) (!memcmp(set1,set2,size)) + +#define CPU_ALLOC_SIZE(n) (sizeof(long) * ( (n)/(8*sizeof(long)) \ + + ((n)%(8*sizeof(long)) + 8*sizeof(long)-1)/(8*sizeof(long)) ) ) +#define CPU_ALLOC(n) ((cpu_set_t *)calloc(1,CPU_ALLOC_SIZE(n))) +#define CPU_FREE(set) free(set) + +#define CPU_SETSIZE 128 + +#define CPU_SET(i, set) CPU_SET_S(i,sizeof(cpu_set_t),set) +#define CPU_CLR(i, set) CPU_CLR_S(i,sizeof(cpu_set_t),set) +#define CPU_ISSET(i, set) CPU_ISSET_S(i,sizeof(cpu_set_t),set) +#define CPU_AND(d,s1,s2) CPU_AND_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_OR(d,s1,s2) CPU_OR_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_XOR(d,s1,s2) CPU_XOR_S(sizeof(cpu_set_t),d,s1,s2) +#define CPU_COUNT(set) CPU_COUNT_S(sizeof(cpu_set_t),set) +#define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set) +#define CPU_EQUAL(s1,s2) CPU_EQUAL_S(sizeof(cpu_set_t),s1,s2) + +#endif +#endif + +#if _REDIR_TIME64 +__REDIR(sched_rr_get_interval, __sched_rr_get_interval_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/setjmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/setjmp.h new file mode 100644 index 00000000..b57999ed --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/setjmp.h @@ -0,0 +1,55 @@ +#ifndef _SETJMP_H +#define _SETJMP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifndef __wasilibc_unmodified_upstream +/* WASI has no setjmp */ +#if !defined(__wasm_exception_handling__) +#error Setjmp/longjmp support requires Exception handling support, which is [not yet standardized](https://github.com/WebAssembly/proposals?tab=readme-ov-file#phase-3---implementation-phase-cg--wg). To enable it, compile with `-mllvm -wasm-enable-sjlj` and use an engine that implements the Exception handling proposal. +#endif +#endif +#include + +typedef struct __jmp_buf_tag { + __jmp_buf __jb; + unsigned long __fl; + unsigned long __ss[128/sizeof(long)]; +} jmp_buf[1]; + +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) +#define __setjmp_attr __attribute__((__returns_twice__)) +#else +#define __setjmp_attr +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +typedef jmp_buf sigjmp_buf; +int sigsetjmp (sigjmp_buf, int) __setjmp_attr; +_Noreturn void siglongjmp (sigjmp_buf, int); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +int _setjmp (jmp_buf) __setjmp_attr; +_Noreturn void _longjmp (jmp_buf, int); +#endif + +int setjmp (jmp_buf) __setjmp_attr; +_Noreturn void longjmp (jmp_buf, int); + +#define setjmp setjmp + +#undef __setjmp_attr + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/signal.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/signal.h new file mode 100644 index 00000000..75b5e552 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/signal.h @@ -0,0 +1,339 @@ +#ifndef _WASI_EMULATED_SIGNAL +#error "wasm lacks signal support; to enable minimal signal emulation, \ +compile with -D_WASI_EMULATED_SIGNAL and link with -lwasi-emulated-signal" +#else +#ifndef _SIGNAL_H +#define _SIGNAL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#ifdef __wasilibc_unmodified_upstream /* WASI has no ucontext support */ +#ifdef _GNU_SOURCE +#define __ucontext ucontext +#endif + +#define __NEED_size_t +#define __NEED_pid_t +#define __NEED_uid_t +#define __NEED_struct_timespec +#define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_time_t +#define __NEED_clock_t +#define __NEED_sigset_t + +#include + +#define SIG_BLOCK 0 +#define SIG_UNBLOCK 1 +#define SIG_SETMASK 2 + +#define SI_ASYNCNL (-60) +#define SI_TKILL (-6) +#define SI_SIGIO (-5) +#define SI_ASYNCIO (-4) +#define SI_MESGQ (-3) +#define SI_TIMER (-2) +#define SI_QUEUE (-1) +#define SI_USER 0 +#define SI_KERNEL 128 + +typedef struct sigaltstack stack_t; +#endif + +#endif + +#include + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#ifdef __wasilibc_unmodified_upstream /* WASI has no sigaction */ +#define SIG_HOLD ((void (*)(int)) 2) + +#define FPE_INTDIV 1 +#define FPE_INTOVF 2 +#define FPE_FLTDIV 3 +#define FPE_FLTOVF 4 +#define FPE_FLTUND 5 +#define FPE_FLTRES 6 +#define FPE_FLTINV 7 +#define FPE_FLTSUB 8 + +#define ILL_ILLOPC 1 +#define ILL_ILLOPN 2 +#define ILL_ILLADR 3 +#define ILL_ILLTRP 4 +#define ILL_PRVOPC 5 +#define ILL_PRVREG 6 +#define ILL_COPROC 7 +#define ILL_BADSTK 8 + +#define SEGV_MAPERR 1 +#define SEGV_ACCERR 2 +#define SEGV_BNDERR 3 +#define SEGV_PKUERR 4 +#define SEGV_MTEAERR 8 +#define SEGV_MTESERR 9 + +#define BUS_ADRALN 1 +#define BUS_ADRERR 2 +#define BUS_OBJERR 3 +#define BUS_MCEERR_AR 4 +#define BUS_MCEERR_AO 5 + +#define CLD_EXITED 1 +#define CLD_KILLED 2 +#define CLD_DUMPED 3 +#define CLD_TRAPPED 4 +#define CLD_STOPPED 5 +#define CLD_CONTINUED 6 + +union sigval { + int sival_int; + void *sival_ptr; +}; + +typedef struct { +#ifdef __SI_SWAP_ERRNO_CODE + int si_signo, si_code, si_errno; +#else + int si_signo, si_errno, si_code; +#endif + union { + char __pad[128 - 2*sizeof(int) - sizeof(long)]; + struct { + union { + struct { + pid_t si_pid; + uid_t si_uid; + } __piduid; + struct { + int si_timerid; + int si_overrun; + } __timer; + } __first; + union { + union sigval si_value; + struct { + int si_status; + clock_t si_utime, si_stime; + } __sigchld; + } __second; + } __si_common; + struct { + void *si_addr; + short si_addr_lsb; + union { + struct { + void *si_lower; + void *si_upper; + } __addr_bnd; + unsigned si_pkey; + } __first; + } __sigfault; + struct { + long si_band; + int si_fd; + } __sigpoll; + struct { + void *si_call_addr; + int si_syscall; + unsigned si_arch; + } __sigsys; + } __si_fields; +} siginfo_t; +#define si_pid __si_fields.__si_common.__first.__piduid.si_pid +#define si_uid __si_fields.__si_common.__first.__piduid.si_uid +#define si_status __si_fields.__si_common.__second.__sigchld.si_status +#define si_utime __si_fields.__si_common.__second.__sigchld.si_utime +#define si_stime __si_fields.__si_common.__second.__sigchld.si_stime +#define si_value __si_fields.__si_common.__second.si_value +#define si_addr __si_fields.__sigfault.si_addr +#define si_addr_lsb __si_fields.__sigfault.si_addr_lsb +#define si_lower __si_fields.__sigfault.__first.__addr_bnd.si_lower +#define si_upper __si_fields.__sigfault.__first.__addr_bnd.si_upper +#define si_pkey __si_fields.__sigfault.__first.si_pkey +#define si_band __si_fields.__sigpoll.si_band +#define si_fd __si_fields.__sigpoll.si_fd +#define si_timerid __si_fields.__si_common.__first.__timer.si_timerid +#define si_overrun __si_fields.__si_common.__first.__timer.si_overrun +#define si_ptr si_value.sival_ptr +#define si_int si_value.sival_int +#define si_call_addr __si_fields.__sigsys.si_call_addr +#define si_syscall __si_fields.__sigsys.si_syscall +#define si_arch __si_fields.__sigsys.si_arch + +struct sigaction { + union { + void (*sa_handler)(int); + void (*sa_sigaction)(int, siginfo_t *, void *); + } __sa_handler; + sigset_t sa_mask; + int sa_flags; + void (*sa_restorer)(void); +}; +#define sa_handler __sa_handler.sa_handler +#define sa_sigaction __sa_handler.sa_sigaction + +#define SA_UNSUPPORTED 0x00000400 +#define SA_EXPOSE_TAGBITS 0x00000800 + +struct sigevent { + union sigval sigev_value; + int sigev_signo; + int sigev_notify; + union { + char __pad[64 - 2*sizeof(int) - sizeof(union sigval)]; + pid_t sigev_notify_thread_id; + struct { + void (*sigev_notify_function)(union sigval); + pthread_attr_t *sigev_notify_attributes; + } __sev_thread; + } __sev_fields; +}; + +#define sigev_notify_thread_id __sev_fields.sigev_notify_thread_id +#define sigev_notify_function __sev_fields.__sev_thread.sigev_notify_function +#define sigev_notify_attributes __sev_fields.__sev_thread.sigev_notify_attributes + +#define SIGEV_SIGNAL 0 +#define SIGEV_NONE 1 +#define SIGEV_THREAD 2 +#define SIGEV_THREAD_ID 4 +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no realtime signals */ +int __libc_current_sigrtmin(void); +int __libc_current_sigrtmax(void); + +#define SIGRTMIN (__libc_current_sigrtmin()) +#define SIGRTMAX (__libc_current_sigrtmax()) +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no signals */ +int kill(pid_t, int); + +int sigemptyset(sigset_t *); +int sigfillset(sigset_t *); +int sigaddset(sigset_t *, int); +int sigdelset(sigset_t *, int); +int sigismember(const sigset_t *, int); + +int sigprocmask(int, const sigset_t *__restrict, sigset_t *__restrict); +int sigsuspend(const sigset_t *); +int sigaction(int, const struct sigaction *__restrict, struct sigaction *__restrict); +int sigpending(sigset_t *); +int sigwait(const sigset_t *__restrict, int *__restrict); +int sigwaitinfo(const sigset_t *__restrict, siginfo_t *__restrict); +int sigtimedwait(const sigset_t *__restrict, siginfo_t *__restrict, const struct timespec *__restrict); +int sigqueue(pid_t, int, union sigval); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no threads yet */ +int pthread_sigmask(int, const sigset_t *__restrict, sigset_t *__restrict); +int pthread_kill(pthread_t, int); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no siginfo */ +void psiginfo(const siginfo_t *, const char *); +#endif +void psignal(int, const char *); + +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no signals */ +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +int killpg(pid_t, int); +int sigaltstack(const stack_t *__restrict, stack_t *__restrict); +int sighold(int); +int sigignore(int); +int siginterrupt(int, int); +int sigpause(int); +int sigrelse(int); +void (*sigset(int, void (*)(int)))(int); +#define TRAP_BRKPT 1 +#define TRAP_TRACE 2 +#define TRAP_BRANCH 3 +#define TRAP_HWBKPT 4 +#define TRAP_UNK 5 +#define POLL_IN 1 +#define POLL_OUT 2 +#define POLL_MSG 3 +#define POLL_ERR 4 +#define POLL_PRI 5 +#define POLL_HUP 6 +#define SS_ONSTACK 1 +#define SS_DISABLE 2 +#define SS_AUTODISARM (1U << 31) +#define SS_FLAG_BITS SS_AUTODISARM +#endif +#endif + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define NSIG _NSIG +typedef void (*sig_t)(int); + +#define SYS_SECCOMP 1 +#define SYS_USER_DISPATCH 2 +#endif + +#ifdef _GNU_SOURCE +typedef void (*sighandler_t)(int); +void (*bsd_signal(int, void (*)(int)))(int); +#ifdef __wasilibc_unmodified_upstream /* WASI has no signal sets */ +int sigisemptyset(const sigset_t *); +int sigorset (sigset_t *, const sigset_t *, const sigset_t *); +int sigandset(sigset_t *, const sigset_t *, const sigset_t *); + +#define SA_NOMASK SA_NODEFER +#define SA_ONESHOT SA_RESETHAND +#endif +#endif + +#ifdef __wasilibc_unmodified_upstream /* 1 is a valid function pointer on wasm */ +#define SIG_ERR ((void (*)(int))-1) +#define SIG_DFL ((void (*)(int)) 0) +#define SIG_IGN ((void (*)(int)) 1) +#else +void __SIG_ERR(int); +void __SIG_IGN(int); +#define SIG_ERR (__SIG_ERR) +#define SIG_DFL ((void (*)(int)) 0) +#define SIG_IGN (__SIG_IGN) +#endif + +#ifdef __wasilibc_unmodified_upstream /* Make sig_atomic_t 64-bit on wasm64 */ +typedef int sig_atomic_t; +#else +typedef long sig_atomic_t; +#endif + +void (*signal(int, void (*)(int)))(int); +int raise(int); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no sigtimedwait */ +#if _REDIR_TIME64 +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +__REDIR(sigtimedwait, __sigtimedwait_time64); +#endif +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdc-predef.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdc-predef.h new file mode 100644 index 00000000..af1a2799 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdc-predef.h @@ -0,0 +1,13 @@ +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H + +#define __STDC_ISO_10646__ 201206L + +#if !defined(__GCC_IEC_559) || __GCC_IEC_559 > 0 +#define __STDC_IEC_559__ 1 +#endif + +#define __STDC_UTF_16__ 1 +#define __STDC_UTF_32__ 1 + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdio.h new file mode 100644 index 00000000..d63d739f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdio.h @@ -0,0 +1,254 @@ +#ifndef _STDIO_H +#define _STDIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_FILE +#define __NEED___isoc_va_list +#define __NEED_size_t + +#ifdef __wasilibc_unmodified_upstream /* WASI doesn't need to define FILE as a complete type */ +#if __STDC_VERSION__ < 201112L +#define __NEED_struct__IO_FILE +#endif +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_ssize_t +#define __NEED_off_t +#define __NEED_va_list +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#undef EOF +#define EOF (-1) + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#undef SEEK_SET +#undef SEEK_CUR +#undef SEEK_END +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#else +#include <__seek.h> +#endif + +#define _IOFBF 0 +#define _IOLBF 1 +#define _IONBF 2 + +#define BUFSIZ 1024 +#define FILENAME_MAX 4096 +#define FOPEN_MAX 1000 +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +#define TMP_MAX 10000 +#define L_tmpnam 20 +#endif + +typedef union _G_fpos64_t { + char __opaque[16]; + long long __lldata; + double __align; +} fpos_t; + +extern FILE *const stdin; +extern FILE *const stdout; +extern FILE *const stderr; + +#define stdin (stdin) +#define stdout (stdout) +#define stderr (stderr) + +FILE *fopen(const char *__restrict, const char *__restrict); +FILE *freopen(const char *__restrict, const char *__restrict, FILE *__restrict); +int fclose(FILE *); + +int remove(const char *); +int rename(const char *, const char *); + +int feof(FILE *); +int ferror(FILE *); +int fflush(FILE *); +void clearerr(FILE *); + +int fseek(FILE *, long, int); +long ftell(FILE *); +void rewind(FILE *); + +int fgetpos(FILE *__restrict, fpos_t *__restrict); +int fsetpos(FILE *, const fpos_t *); + +size_t fread(void *__restrict, size_t, size_t, FILE *__restrict); +size_t fwrite(const void *__restrict, size_t, size_t, FILE *__restrict); + +int fgetc(FILE *); +int getc(FILE *); +int getchar(void); +int ungetc(int, FILE *); + +int fputc(int, FILE *); +int putc(int, FILE *); +int putchar(int); + +char *fgets(char *__restrict, int, FILE *__restrict); +#if __STDC_VERSION__ < 201112L +#ifdef __wasilibc_unmodified_upstream /* gets is obsolete */ +char *gets(char *); +#else +char *gets(char *) __attribute__((__deprecated__("gets is not defined on WASI"))); +#endif +#endif + +int fputs(const char *__restrict, FILE *__restrict); +int puts(const char *); + +int printf(const char *__restrict, ...); +int fprintf(FILE *__restrict, const char *__restrict, ...); +int sprintf(char *__restrict, const char *__restrict, ...); +int snprintf(char *__restrict, size_t, const char *__restrict, ...); + +int vprintf(const char *__restrict, __isoc_va_list); +int vfprintf(FILE *__restrict, const char *__restrict, __isoc_va_list); +int vsprintf(char *__restrict, const char *__restrict, __isoc_va_list); +int vsnprintf(char *__restrict, size_t, const char *__restrict, __isoc_va_list); + +int scanf(const char *__restrict, ...); +int fscanf(FILE *__restrict, const char *__restrict, ...); +int sscanf(const char *__restrict, const char *__restrict, ...); +int vscanf(const char *__restrict, __isoc_va_list); +int vfscanf(FILE *__restrict, const char *__restrict, __isoc_va_list); +int vsscanf(const char *__restrict, const char *__restrict, __isoc_va_list); + +void perror(const char *); + +int setvbuf(FILE *__restrict, char *__restrict, int, size_t); +void setbuf(FILE *__restrict, char *__restrict); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +char *tmpnam(char *); +FILE *tmpfile(void); +#else +char *tmpnam(char *) __attribute__((__deprecated__("tmpnam is not defined on WASI"))); +FILE *tmpfile(void) __attribute__((__deprecated__("tmpfile is not defined on WASI"))); +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +FILE *fmemopen(void *__restrict, size_t, const char *__restrict); +FILE *open_memstream(char **, size_t *); +FILE *fdopen(int, const char *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no popen */ +FILE *popen(const char *, const char *); +int pclose(FILE *); +#endif +int fileno(FILE *); +int fseeko(FILE *, off_t, int); +off_t ftello(FILE *); +int dprintf(int, const char *__restrict, ...); +int vdprintf(int, const char *__restrict, __isoc_va_list); +#if defined(__wasilibc_unmodified_upstream) || defined(_REENTRANT) +void flockfile(FILE *); +int ftrylockfile(FILE *); +void funlockfile(FILE *); +#endif +int getc_unlocked(FILE *); +int getchar_unlocked(void); +int putc_unlocked(int, FILE *); +int putchar_unlocked(int); +ssize_t getdelim(char **__restrict, size_t *__restrict, int, FILE *__restrict); +ssize_t getline(char **__restrict, size_t *__restrict, FILE *__restrict); +int renameat(int, const char *, int, const char *); +char *ctermid(char *); +#define L_ctermid 20 +#endif + + +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define P_tmpdir "/tmp" +char *tempnam(const char *, const char *); +#endif +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_cuserid 20 +char *cuserid(char *); +void setlinebuf(FILE *); +void setbuffer(FILE *, char *, size_t); +int fgetc_unlocked(FILE *); +int fputc_unlocked(int, FILE *); +int fflush_unlocked(FILE *); +size_t fread_unlocked(void *, size_t, size_t, FILE *); +size_t fwrite_unlocked(const void *, size_t, size_t, FILE *); +void clearerr_unlocked(FILE *); +int feof_unlocked(FILE *); +int ferror_unlocked(FILE *); +int fileno_unlocked(FILE *); +int getw(FILE *); +int putw(int, FILE *); +char *fgetln(FILE *, size_t *); +int asprintf(char **, const char *, ...); +int vasprintf(char **, const char *, __isoc_va_list); +#endif + +#ifdef _GNU_SOURCE +char *fgets_unlocked(char *, int, FILE *); +int fputs_unlocked(const char *, FILE *); + +typedef ssize_t (cookie_read_function_t)(void *, char *, size_t); +typedef ssize_t (cookie_write_function_t)(void *, const char *, size_t); +typedef int (cookie_seek_function_t)(void *, off_t *, int); +typedef int (cookie_close_function_t)(void *); + +typedef struct _IO_cookie_io_functions_t { + cookie_read_function_t *read; + cookie_write_function_t *write; + cookie_seek_function_t *seek; + cookie_close_function_t *close; +} cookie_io_functions_t; + +FILE *fopencookie(void *, const char *, cookie_io_functions_t); +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +#define tmpfile64 tmpfile +#endif +#define fopen64 fopen +#define freopen64 freopen +#define fseeko64 fseeko +#define ftello64 ftello +#define fgetpos64 fgetpos +#define fsetpos64 fsetpos +#define fpos64_t fpos_t +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdlib.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdlib.h new file mode 100644 index 00000000..553e9aea --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/stdlib.h @@ -0,0 +1,217 @@ +#ifndef _STDLIB_H +#define _STDLIB_H + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__functions_malloc.h> +#include <__header_stdlib.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#define __NEED_size_t +#define __NEED_wchar_t + +#include + +int atoi (const char *); +long atol (const char *); +long long atoll (const char *); +double atof (const char *); + +float strtof (const char *__restrict, char **__restrict); +double strtod (const char *__restrict, char **__restrict); +long double strtold (const char *__restrict, char **__restrict); + +long strtol (const char *__restrict, char **__restrict, int); +unsigned long strtoul (const char *__restrict, char **__restrict, int); +long long strtoll (const char *__restrict, char **__restrict, int); +unsigned long long strtoull (const char *__restrict, char **__restrict, int); + +int rand (void); +void srand (unsigned); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +void *malloc (size_t); +void *calloc (size_t, size_t); +void *realloc (void *, size_t); +void free (void *); +#endif +void *aligned_alloc(size_t, size_t); + +_Noreturn void abort (void); +int atexit (void (*) (void)); +_Noreturn void exit (int); +_Noreturn void _Exit (int); +int at_quick_exit (void (*) (void)); +_Noreturn void quick_exit (int); + +char *getenv (const char *); + +int system (const char *); + +void *bsearch (const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); +void qsort (void *, size_t, size_t, int (*)(const void *, const void *)); + +int abs (int); +long labs (long); +long long llabs (long long); + +typedef struct { int quot, rem; } div_t; +typedef struct { long quot, rem; } ldiv_t; +typedef struct { long long quot, rem; } lldiv_t; + +div_t div (int, int); +ldiv_t ldiv (long, long); +lldiv_t lldiv (long long, long long); + +int mblen (const char *, size_t); +int mbtowc (wchar_t *__restrict, const char *__restrict, size_t); +int wctomb (char *, wchar_t); +size_t mbstowcs (wchar_t *__restrict, const char *__restrict, size_t); +size_t wcstombs (char *__restrict, const wchar_t *__restrict, size_t); + +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +size_t __ctype_get_mb_cur_max(void); +#define MB_CUR_MAX (__ctype_get_mb_cur_max()) + +#define RAND_MAX (0x7fffffff) + + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +#ifdef __wasilibc_unmodified_upstream /* WASI has no wait */ +#define WNOHANG 1 +#define WUNTRACED 2 + +#define WEXITSTATUS(s) (((s) & 0xff00) >> 8) +#define WTERMSIG(s) ((s) & 0x7f) +#define WSTOPSIG(s) WEXITSTATUS(s) +#define WIFEXITED(s) (!WTERMSIG(s)) +#define WIFSTOPPED(s) ((short)((((s)&0xffff)*0x10001)>>8) > 0x7f00) +#define WIFSIGNALED(s) (((s)&0xffff)-1U < 0xffu) +#endif + +int posix_memalign (void **, size_t, size_t); +int setenv (const char *, const char *, int); +int unsetenv (const char *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +int mkstemp (char *); +int mkostemp (char *, int); +char *mkdtemp (char *); +#endif +int getsubopt (char **, char *const *, char **); +int rand_r (unsigned *); + +#endif + + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +char *realpath (const char *__restrict, char *__restrict); +long int random (void); +void srandom (unsigned int); +char *initstate (unsigned int, char *, size_t); +char *setstate (char *); +int putenv (char *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no pseudo-terminals */ +int posix_openpt (int); +int grantpt (int); +int unlockpt (int); +char *ptsname (int); +#endif +char *l64a (long); +long a64l (const char *); +void setkey (const char *); +double drand48 (void); +double erand48 (unsigned short [3]); +long int lrand48 (void); +long int nrand48 (unsigned short [3]); +long mrand48 (void); +long jrand48 (unsigned short [3]); +void srand48 (long); +unsigned short *seed48 (unsigned short [3]); +void lcong48 (unsigned short [7]); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +char *mktemp (char *); +int mkstemps (char *, int); +int mkostemps (char *, int, int); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +void *valloc (size_t); +void *memalign(size_t, size_t); +int getloadavg(double *, int); +#endif +int clearenv(void); +#ifdef __wasilibc_unmodified_upstream /* WASI has no wait */ +#define WCOREDUMP(s) ((s) & 0x80) +#define WIFCONTINUED(s) ((s) == 0xffff) +void *reallocarray (void *, size_t, size_t); +void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *); +#endif +#endif + +#ifdef _GNU_SOURCE +#ifdef __wasilibc_unmodified_upstream /* WASI has no pseudo-terminals */ +int ptsname_r(int, char *, size_t); +#endif +char *ecvt(double, int, int *, int *); +char *fcvt(double, int, int *, int *); +char *gcvt(double, int, char *); +char *secure_getenv(const char *); +struct __locale_struct; +float strtof_l(const char *__restrict, char **__restrict, struct __locale_struct *); +double strtod_l(const char *__restrict, char **__restrict, struct __locale_struct *); +long double strtold_l(const char *__restrict, char **__restrict, struct __locale_struct *); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no temp directories */ +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define mkstemp64 mkstemp +#define mkostemp64 mkostemp +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define mkstemps64 mkstemps +#define mkostemps64 mkostemps +#endif +#endif +#endif + +#ifdef __wasilibc_unmodified_upstream /* Declare arc4random functions */ +#else +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#include +uint32_t arc4random(void); +void arc4random_buf(void *, size_t); +uint32_t arc4random_uniform(uint32_t); +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/string.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/string.h new file mode 100644 index 00000000..dc47b7ae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/string.h @@ -0,0 +1,128 @@ +#ifndef _STRING_H +#define _STRING_H + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__header_string.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#define __NEED_size_t +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_locale_t +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +void *memcpy (void *__restrict, const void *__restrict, size_t); +void *memmove (void *, const void *, size_t); +void *memset (void *, int, size_t); +#endif +int memcmp (const void *, const void *, size_t); +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +void *memchr (const void *, int, size_t); +#endif + +char *strcpy (char *__restrict, const char *__restrict); +char *strncpy (char *__restrict, const char *__restrict, size_t); + +char *strcat (char *__restrict, const char *__restrict); +char *strncat (char *__restrict, const char *__restrict, size_t); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +int strcmp (const char *, const char *); +#endif +int strncmp (const char *, const char *, size_t); + +int strcoll (const char *, const char *); +size_t strxfrm (char *__restrict, const char *__restrict, size_t); + +char *strchr (const char *, int); +char *strrchr (const char *, int); + +size_t strcspn (const char *, const char *); +size_t strspn (const char *, const char *); +char *strpbrk (const char *, const char *); +char *strstr (const char *, const char *); +char *strtok (char *__restrict, const char *__restrict); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +size_t strlen (const char *); +#endif + +char *strerror (int); + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#include +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +char *strtok_r (char *__restrict, const char *__restrict, char **__restrict); +int strerror_r (int, char *, size_t); +char *stpcpy(char *__restrict, const char *__restrict); +char *stpncpy(char *__restrict, const char *__restrict, size_t); +size_t strnlen (const char *, size_t); +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +char *strdup (const char *); +#endif +char *strndup (const char *, size_t); +char *strsignal(int); +char *strerror_l (int, locale_t); +int strcoll_l (const char *, const char *, locale_t); +size_t strxfrm_l (char *__restrict, const char *__restrict, size_t, locale_t); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +void *memccpy (void *__restrict, const void *__restrict, int, size_t); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +char *strsep(char **, const char *); +size_t strlcat (char *, const char *, size_t); +size_t strlcpy (char *, const char *, size_t); +void explicit_bzero (void *, size_t); +#endif + +#ifdef _GNU_SOURCE +#define strdupa(x) strcpy(alloca(strlen(x)+1),x) +int strverscmp (const char *, const char *); +char *strchrnul(const char *, int); +char *strcasestr(const char *, const char *); +void *memmem(const void *, size_t, const void *, size_t); +void *memrchr(const void *, int, size_t); +void *mempcpy(void *, const void *, size_t); +#ifdef __wasilibc_unmodified_upstream /* avoid unprototyped decls; use */ +#ifndef __cplusplus +char *basename(); +#endif +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/strings.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/strings.h new file mode 100644 index 00000000..db0960b4 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/strings.h @@ -0,0 +1,39 @@ +#ifndef _STRINGS_H +#define _STRINGS_H + +#ifdef __cplusplus +extern "C" { +#endif + + +#define __NEED_size_t +#define __NEED_locale_t +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_POSIX_SOURCE) \ + || (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE+0 < 200809L) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +int bcmp (const void *, const void *, size_t); +void bcopy (const void *, void *, size_t); +void bzero (void *, size_t); +char *index (const char *, int); +char *rindex (const char *, int); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int ffs (int); +int ffsl (long); +int ffsll (long long); +#endif + +int strcasecmp (const char *, const char *); +int strncasecmp (const char *, const char *, size_t); + +int strcasecmp_l (const char *, const char *, locale_t); +int strncasecmp_l (const char *, const char *, size_t, locale_t); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/ioctl.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/ioctl.h new file mode 100644 index 00000000..cf3acb3a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/ioctl.h @@ -0,0 +1,124 @@ +#ifndef _SYS_IOCTL_H +#define _SYS_IOCTL_H +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_struct_winsize + +#include +#include + +#define N_TTY 0 +#define N_SLIP 1 +#define N_MOUSE 2 +#define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 +#define N_6PACK 7 +#define N_MASC 8 +#define N_R3964 9 +#define N_PROFIBUS_FDL 10 +#define N_IRDA 11 +#define N_SMSBLOCK 12 +#define N_HDLC 13 +#define N_SYNC_PPP 14 +#define N_HCI 15 +#define N_GIGASET_M101 16 +#define N_SLCAN 17 +#define N_PPS 18 +#define N_V253 19 +#define N_CAIF 20 +#define N_GSM0710 21 +#define N_TI_WL 22 +#define N_TRACESINK 23 +#define N_TRACEROUTER 24 +#define N_NCI 25 +#define N_SPEAKUP 26 +#define N_NULL 27 + +#define TIOCPKT_DATA 0 +#define TIOCPKT_FLUSHREAD 1 +#define TIOCPKT_FLUSHWRITE 2 +#define TIOCPKT_STOP 4 +#define TIOCPKT_START 8 +#define TIOCPKT_NOSTOP 16 +#define TIOCPKT_DOSTOP 32 +#define TIOCPKT_IOCTL 64 + +#define TIOCSER_TEMT 1 + +#define SIOCADDRT 0x890B +#define SIOCDELRT 0x890C +#define SIOCRTMSG 0x890D + +#define SIOCGIFNAME 0x8910 +#define SIOCSIFLINK 0x8911 +#define SIOCGIFCONF 0x8912 +#define SIOCGIFFLAGS 0x8913 +#define SIOCSIFFLAGS 0x8914 +#define SIOCGIFADDR 0x8915 +#define SIOCSIFADDR 0x8916 +#define SIOCGIFDSTADDR 0x8917 +#define SIOCSIFDSTADDR 0x8918 +#define SIOCGIFBRDADDR 0x8919 +#define SIOCSIFBRDADDR 0x891a +#define SIOCGIFNETMASK 0x891b +#define SIOCSIFNETMASK 0x891c +#define SIOCGIFMETRIC 0x891d +#define SIOCSIFMETRIC 0x891e +#define SIOCGIFMEM 0x891f +#define SIOCSIFMEM 0x8920 +#define SIOCGIFMTU 0x8921 +#define SIOCSIFMTU 0x8922 +#define SIOCSIFNAME 0x8923 +#define SIOCSIFHWADDR 0x8924 +#define SIOCGIFENCAP 0x8925 +#define SIOCSIFENCAP 0x8926 +#define SIOCGIFHWADDR 0x8927 +#define SIOCGIFSLAVE 0x8929 +#define SIOCSIFSLAVE 0x8930 +#define SIOCADDMULTI 0x8931 +#define SIOCDELMULTI 0x8932 +#define SIOCGIFINDEX 0x8933 +#define SIOGIFINDEX SIOCGIFINDEX +#define SIOCSIFPFLAGS 0x8934 +#define SIOCGIFPFLAGS 0x8935 +#define SIOCDIFADDR 0x8936 +#define SIOCSIFHWBROADCAST 0x8937 +#define SIOCGIFCOUNT 0x8938 + +#define SIOCGIFBR 0x8940 +#define SIOCSIFBR 0x8941 + +#define SIOCGIFTXQLEN 0x8942 +#define SIOCSIFTXQLEN 0x8943 + +#define SIOCDARP 0x8953 +#define SIOCGARP 0x8954 +#define SIOCSARP 0x8955 + +#define SIOCDRARP 0x8960 +#define SIOCGRARP 0x8961 +#define SIOCSRARP 0x8962 + +#define SIOCGIFMAP 0x8970 +#define SIOCSIFMAP 0x8971 + +#define SIOCADDDLCI 0x8980 +#define SIOCDELDLCI 0x8981 + +#define SIOCDEVPRIVATE 0x89F0 +#define SIOCPROTOPRIVATE 0x89E0 + +int ioctl (int, int, ...); + +#ifdef __cplusplus +} +#endif +#else +#include <__header_sys_ioctl.h> +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/mman.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/mman.h new file mode 100644 index 00000000..335ba2d7 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/mman.h @@ -0,0 +1,157 @@ +#ifndef _WASI_EMULATED_MMAN +#error "WASI lacks a true mmap; to enable minimal mmap emulation, \ +compile with -D_WASI_EMULATED_MMAN and link with -lwasi-emulated-mman" +#else +#ifndef _SYS_MMAN_H +#define _SYS_MMAN_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_mode_t +#define __NEED_size_t +#define __NEED_off_t + +#if defined(_GNU_SOURCE) +#define __NEED_ssize_t +#endif + +#include + +#define MAP_FAILED ((void *) -1) + +#define MAP_SHARED 0x01 +#define MAP_PRIVATE 0x02 +#define MAP_SHARED_VALIDATE 0x03 +#define MAP_TYPE 0x0f +#define MAP_FIXED 0x10 +#define MAP_ANON 0x20 +#define MAP_ANONYMOUS MAP_ANON +#define MAP_NORESERVE 0x4000 +#define MAP_GROWSDOWN 0x0100 +#define MAP_DENYWRITE 0x0800 +#define MAP_EXECUTABLE 0x1000 +#define MAP_LOCKED 0x2000 +#define MAP_POPULATE 0x8000 +#define MAP_NONBLOCK 0x10000 +#define MAP_STACK 0x20000 +#define MAP_HUGETLB 0x40000 +#define MAP_SYNC 0x80000 +#define MAP_FIXED_NOREPLACE 0x100000 +#define MAP_FILE 0 + +#define MAP_HUGE_SHIFT 26 +#define MAP_HUGE_MASK 0x3f +#define MAP_HUGE_16KB (14 << 26) +#define MAP_HUGE_64KB (16 << 26) +#define MAP_HUGE_512KB (19 << 26) +#define MAP_HUGE_1MB (20 << 26) +#define MAP_HUGE_2MB (21 << 26) +#define MAP_HUGE_8MB (23 << 26) +#define MAP_HUGE_16MB (24 << 26) +#define MAP_HUGE_32MB (25 << 26) +#define MAP_HUGE_256MB (28 << 26) +#define MAP_HUGE_512MB (29 << 26) +#define MAP_HUGE_1GB (30 << 26) +#define MAP_HUGE_2GB (31 << 26) +#define MAP_HUGE_16GB (34U << 26) + +#define PROT_NONE 0 +#define PROT_READ 1 +#define PROT_WRITE 2 +#define PROT_EXEC 4 +#define PROT_GROWSDOWN 0x01000000 +#define PROT_GROWSUP 0x02000000 + +#define MS_ASYNC 1 +#define MS_INVALIDATE 2 +#define MS_SYNC 4 + +#define MCL_CURRENT 1 +#define MCL_FUTURE 2 +#define MCL_ONFAULT 4 + +#define POSIX_MADV_NORMAL 0 +#define POSIX_MADV_RANDOM 1 +#define POSIX_MADV_SEQUENTIAL 2 +#define POSIX_MADV_WILLNEED 3 +#define POSIX_MADV_DONTNEED 4 + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define MADV_NORMAL 0 +#define MADV_RANDOM 1 +#define MADV_SEQUENTIAL 2 +#define MADV_WILLNEED 3 +#define MADV_DONTNEED 4 +#define MADV_FREE 8 +#define MADV_REMOVE 9 +#define MADV_DONTFORK 10 +#define MADV_DOFORK 11 +#define MADV_MERGEABLE 12 +#define MADV_UNMERGEABLE 13 +#define MADV_HUGEPAGE 14 +#define MADV_NOHUGEPAGE 15 +#define MADV_DONTDUMP 16 +#define MADV_DODUMP 17 +#define MADV_WIPEONFORK 18 +#define MADV_KEEPONFORK 19 +#define MADV_COLD 20 +#define MADV_PAGEOUT 21 +#define MADV_HWPOISON 100 +#define MADV_SOFT_OFFLINE 101 +#endif + +#ifdef _GNU_SOURCE +#define MREMAP_MAYMOVE 1 +#define MREMAP_FIXED 2 +#define MREMAP_DONTUNMAP 4 + +#define MLOCK_ONFAULT 0x01 + +#define MFD_CLOEXEC 0x0001U +#define MFD_ALLOW_SEALING 0x0002U +#define MFD_HUGETLB 0x0004U +#endif + +#include + +void *mmap (void *, size_t, int, int, int, off_t); +int munmap (void *, size_t); + +int mprotect (void *, size_t, int); +int msync (void *, size_t, int); + +int posix_madvise (void *, size_t, int); + +int mlock (const void *, size_t); +int munlock (const void *, size_t); +int mlockall (int); +int munlockall (void); + +#ifdef _GNU_SOURCE +void *mremap (void *, size_t, size_t, int, ...); +int remap_file_pages (void *, size_t, int, size_t, int); +int memfd_create (const char *, unsigned); +int mlock2 (const void *, size_t, unsigned); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int madvise (void *, size_t, int); +int mincore (void *, size_t, unsigned char *); +#endif + +int shm_open (const char *, int, mode_t); +int shm_unlink (const char *); + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define mmap64 mmap +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/param.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/param.h new file mode 100644 index 00000000..01411725 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/param.h @@ -0,0 +1,37 @@ +#ifndef _SYS_PARAM_H +#define _SYS_PARAM_H + +#define MAXSYMLINKS 20 +#define MAXHOSTNAMELEN 64 +#define MAXNAMLEN 255 +#define MAXPATHLEN 4096 +#define NBBY 8 +#define NGROUPS 32 +#define CANBSIZ 255 +#define NOFILE 256 +#define NCARGS 131072 +#define DEV_BSIZE 512 +#define NOGROUP (-1) + +#undef MIN +#undef MAX +#define MIN(a,b) (((a)<(b))?(a):(b)) +#define MAX(a,b) (((a)>(b))?(a):(b)) + +#define __bitop(x,i,o) ((x)[(i)/8] o (1<<(i)%8)) +#define setbit(x,i) __bitop(x,i,|=) +#define clrbit(x,i) __bitop(x,i,&=~) +#define isset(x,i) __bitop(x,i,&) +#define isclr(x,i) !isset(x,i) + +#define howmany(n,d) (((n)+((d)-1))/(d)) +#define roundup(n,d) (howmany(n,d)*(d)) +#define powerof2(n) !(((n)-1) & (n)) + +#if defined(__wasilibc_unmodified_upstream) || defined(_WASI_EMULATED_PROCESS_CLOCKS) +#include +#endif +#include +#include + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/random.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/random.h new file mode 100644 index 00000000..51cf9d7f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/random.h @@ -0,0 +1,27 @@ +#ifndef _SYS_RANDOM_H +#define _SYS_RANDOM_H +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no getrandom, but it does have getentropy */ +#define __NEED_size_t +#define __NEED_ssize_t +#include + +#define GRND_NONBLOCK 0x0001 +#define GRND_RANDOM 0x0002 +#define GRND_INSECURE 0x0004 + +ssize_t getrandom(void *, size_t, unsigned); +#else +#define __NEED_size_t +#include + +int getentropy(void *, size_t); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/resource.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/resource.h new file mode 100644 index 00000000..6c3a7ff2 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/resource.h @@ -0,0 +1,126 @@ +#ifndef _WASI_EMULATED_PROCESS_CLOCKS +#error WASI lacks process-associated clocks; to enable emulation of the `getrusage` function using \ +the wall clock, which isn't sensitive to whether the program is running or suspended, \ +compile with -D_WASI_EMULATED_PROCESS_CLOCKS and link with -lwasi-emulated-process-clocks +#else +#ifndef _SYS_RESOURCE_H +#define _SYS_RESOURCE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include + +#define __NEED_id_t + +#ifdef _GNU_SOURCE +#define __NEED_pid_t +#endif + +#include +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +typedef unsigned long long rlim_t; + +struct rlimit { + rlim_t rlim_cur; + rlim_t rlim_max; +}; + +struct rusage { + struct timeval ru_utime; + struct timeval ru_stime; + /* linux extentions, but useful */ + long ru_maxrss; + long ru_ixrss; + long ru_idrss; + long ru_isrss; + long ru_minflt; + long ru_majflt; + long ru_nswap; + long ru_inblock; + long ru_oublock; + long ru_msgsnd; + long ru_msgrcv; + long ru_nsignals; + long ru_nvcsw; + long ru_nivcsw; + /* room for more... */ + long __reserved[16]; +}; + +int getrlimit (int, struct rlimit *); +int setrlimit (int, const struct rlimit *); +int getrusage (int, struct rusage *); + +int getpriority (int, id_t); +int setpriority (int, id_t, int); + +#ifdef _GNU_SOURCE +int prlimit(pid_t, int, const struct rlimit *, struct rlimit *); +#define prlimit64 prlimit +#endif + +#define PRIO_MIN (-20) +#define PRIO_MAX 20 + +#define PRIO_PROCESS 0 +#define PRIO_PGRP 1 +#define PRIO_USER 2 + +#define RUSAGE_SELF 0 +#define RUSAGE_CHILDREN (-1) +#define RUSAGE_THREAD 1 + +#define RLIM_INFINITY (~0ULL) +#define RLIM_SAVED_CUR RLIM_INFINITY +#define RLIM_SAVED_MAX RLIM_INFINITY + +#define RLIMIT_CPU 0 +#define RLIMIT_FSIZE 1 +#define RLIMIT_DATA 2 +#define RLIMIT_STACK 3 +#define RLIMIT_CORE 4 +#ifndef RLIMIT_RSS +#define RLIMIT_RSS 5 +#define RLIMIT_NPROC 6 +#define RLIMIT_NOFILE 7 +#define RLIMIT_MEMLOCK 8 +#define RLIMIT_AS 9 +#endif +#define RLIMIT_LOCKS 10 +#define RLIMIT_SIGPENDING 11 +#define RLIMIT_MSGQUEUE 12 +#define RLIMIT_NICE 13 +#define RLIMIT_RTPRIO 14 +#define RLIMIT_RTTIME 15 +#define RLIMIT_NLIMITS 16 + +#define RLIM_NLIMITS RLIMIT_NLIMITS + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define RLIM64_INFINITY RLIM_INFINITY +#define RLIM64_SAVED_CUR RLIM_SAVED_CUR +#define RLIM64_SAVED_MAX RLIM_SAVED_MAX +#define getrlimit64 getrlimit +#define setrlimit64 setrlimit +#define rlimit64 rlimit +#define rlim64_t rlim_t +#endif +#else +#include <__header_sys_resource.h> +#endif + +#if _REDIR_TIME64 +__REDIR(getrusage, __getrusage_time64); +#endif + +#ifdef __cplusplus +} +#endif + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/select.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/select.h new file mode 100644 index 00000000..1c1adfff --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/select.h @@ -0,0 +1,54 @@ +#ifndef _SYS_SELECT_H +#define _SYS_SELECT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_time_t +#define __NEED_suseconds_t +#define __NEED_struct_timeval +#define __NEED_struct_timespec +#define __NEED_sigset_t + +#include + +#define FD_SETSIZE 1024 + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +typedef unsigned long fd_mask; +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +typedef struct { + unsigned long fds_bits[FD_SETSIZE / 8 / sizeof(long)]; +} fd_set; + +#define FD_ZERO(s) do { int __i; unsigned long *__b=(s)->fds_bits; for(__i=sizeof (fd_set)/sizeof (long); __i; __i--) *__b++=0; } while(0) +#define FD_SET(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] |= (1UL<<((d)%(8*sizeof(long))))) +#define FD_CLR(d, s) ((s)->fds_bits[(d)/(8*sizeof(long))] &= ~(1UL<<((d)%(8*sizeof(long))))) +#define FD_ISSET(d, s) !!((s)->fds_bits[(d)/(8*sizeof(long))] & (1UL<<((d)%(8*sizeof(long))))) +#else +#include <__fd_set.h> +#endif + +int select (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, struct timeval *__restrict); +int pselect (int, fd_set *__restrict, fd_set *__restrict, fd_set *__restrict, const struct timespec *__restrict, const sigset_t *__restrict); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define NFDBITS (8*(int)sizeof(long)) +#endif +#endif + +#if _REDIR_TIME64 +__REDIR(select, __select_time64); +__REDIR(pselect, __pselect_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/socket.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/socket.h new file mode 100644 index 00000000..29189e39 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/socket.h @@ -0,0 +1,454 @@ +#ifndef _SYS_SOCKET_H +#define _SYS_SOCKET_H + +#include <__wasi_snapshot.h> + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#else +#include <__header_sys_socket.h> +#endif +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_socklen_t +#define __NEED_sa_family_t +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_uid_t +#define __NEED_pid_t +#define __NEED_gid_t +#define __NEED_struct_iovec + +#include + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct msghdr { + void *msg_name; + socklen_t msg_namelen; + struct iovec *msg_iov; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad1; +#endif + int msg_iovlen; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad1; +#endif + void *msg_control; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad2; +#endif + socklen_t msg_controllen; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad2; +#endif + int msg_flags; +}; + +struct cmsghdr { +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __BIG_ENDIAN + int __pad1; +#endif + socklen_t cmsg_len; +#if __LONG_MAX > 0x7fffffff && __BYTE_ORDER == __LITTLE_ENDIAN + int __pad1; +#endif + int cmsg_level; + int cmsg_type; +}; +#else +#include <__struct_msghdr.h> +#endif + +#ifdef _GNU_SOURCE +struct ucred { + pid_t pid; + uid_t uid; + gid_t gid; +}; + +struct mmsghdr { + struct msghdr msg_hdr; + unsigned int msg_len; +}; + +struct timespec; + +int sendmmsg (int, struct mmsghdr *, unsigned int, unsigned int); +int recvmmsg (int, struct mmsghdr *, unsigned int, unsigned int, struct timespec *); +#endif + +struct linger { + int l_onoff; + int l_linger; +}; + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define SHUT_RD 0 +#define SHUT_WR 1 +#define SHUT_RDWR 2 + +#ifndef SOCK_STREAM +#define SOCK_STREAM 1 +#define SOCK_DGRAM 2 +#endif + +#define SOCK_RAW 3 +#define SOCK_RDM 4 +#define SOCK_SEQPACKET 5 +#define SOCK_DCCP 6 +#define SOCK_PACKET 10 + +#ifndef SOCK_CLOEXEC +#define SOCK_CLOEXEC 02000000 +#define SOCK_NONBLOCK 04000 +#endif + +#define PF_UNSPEC 0 +#define PF_LOCAL 1 +#define PF_UNIX PF_LOCAL +#define PF_FILE PF_LOCAL +#define PF_INET 2 +#define PF_AX25 3 +#define PF_IPX 4 +#define PF_APPLETALK 5 +#define PF_NETROM 6 +#define PF_BRIDGE 7 +#define PF_ATMPVC 8 +#define PF_X25 9 +#define PF_INET6 10 +#define PF_ROSE 11 +#define PF_DECnet 12 +#define PF_NETBEUI 13 +#define PF_SECURITY 14 +#define PF_KEY 15 +#define PF_NETLINK 16 +#define PF_ROUTE PF_NETLINK +#define PF_PACKET 17 +#define PF_ASH 18 +#define PF_ECONET 19 +#define PF_ATMSVC 20 +#define PF_RDS 21 +#define PF_SNA 22 +#define PF_IRDA 23 +#define PF_PPPOX 24 +#define PF_WANPIPE 25 +#define PF_LLC 26 +#define PF_IB 27 +#define PF_MPLS 28 +#define PF_CAN 29 +#define PF_TIPC 30 +#define PF_BLUETOOTH 31 +#define PF_IUCV 32 +#define PF_RXRPC 33 +#define PF_ISDN 34 +#define PF_PHONET 35 +#define PF_IEEE802154 36 +#define PF_CAIF 37 +#define PF_ALG 38 +#define PF_NFC 39 +#define PF_VSOCK 40 +#define PF_KCM 41 +#define PF_QIPCRTR 42 +#define PF_SMC 43 +#define PF_XDP 44 +#define PF_MAX 45 + +#define AF_UNSPEC PF_UNSPEC +#define AF_LOCAL PF_LOCAL +#define AF_UNIX AF_LOCAL +#define AF_FILE AF_LOCAL +#define AF_INET PF_INET +#define AF_AX25 PF_AX25 +#define AF_IPX PF_IPX +#define AF_APPLETALK PF_APPLETALK +#define AF_NETROM PF_NETROM +#define AF_BRIDGE PF_BRIDGE +#define AF_ATMPVC PF_ATMPVC +#define AF_X25 PF_X25 +#define AF_INET6 PF_INET6 +#define AF_ROSE PF_ROSE +#define AF_DECnet PF_DECnet +#define AF_NETBEUI PF_NETBEUI +#define AF_SECURITY PF_SECURITY +#define AF_KEY PF_KEY +#define AF_NETLINK PF_NETLINK +#define AF_ROUTE PF_ROUTE +#define AF_PACKET PF_PACKET +#define AF_ASH PF_ASH +#define AF_ECONET PF_ECONET +#define AF_ATMSVC PF_ATMSVC +#define AF_RDS PF_RDS +#define AF_SNA PF_SNA +#define AF_IRDA PF_IRDA +#define AF_PPPOX PF_PPPOX +#define AF_WANPIPE PF_WANPIPE +#define AF_LLC PF_LLC +#define AF_IB PF_IB +#define AF_MPLS PF_MPLS +#define AF_CAN PF_CAN +#define AF_TIPC PF_TIPC +#define AF_BLUETOOTH PF_BLUETOOTH +#define AF_IUCV PF_IUCV +#define AF_RXRPC PF_RXRPC +#define AF_ISDN PF_ISDN +#define AF_PHONET PF_PHONET +#define AF_IEEE802154 PF_IEEE802154 +#define AF_CAIF PF_CAIF +#define AF_ALG PF_ALG +#define AF_NFC PF_NFC +#define AF_VSOCK PF_VSOCK +#define AF_KCM PF_KCM +#define AF_QIPCRTR PF_QIPCRTR +#define AF_SMC PF_SMC +#define AF_XDP PF_XDP +#define AF_MAX PF_MAX + +#ifndef SO_DEBUG +#define SO_DEBUG 1 +#define SO_REUSEADDR 2 +#define SO_TYPE 3 +#define SO_ERROR 4 +#define SO_DONTROUTE 5 +#define SO_BROADCAST 6 +#define SO_SNDBUF 7 +#define SO_RCVBUF 8 +#define SO_KEEPALIVE 9 +#define SO_OOBINLINE 10 +#define SO_NO_CHECK 11 +#define SO_PRIORITY 12 +#define SO_LINGER 13 +#define SO_BSDCOMPAT 14 +#define SO_REUSEPORT 15 +#define SO_PASSCRED 16 +#define SO_PEERCRED 17 +#define SO_RCVLOWAT 18 +#define SO_SNDLOWAT 19 +#define SO_ACCEPTCONN 30 +#define SO_PEERSEC 31 +#define SO_SNDBUFFORCE 32 +#define SO_RCVBUFFORCE 33 +#define SO_PROTOCOL 38 +#define SO_DOMAIN 39 +#endif + +#ifndef SO_RCVTIMEO +#if __LONG_MAX == 0x7fffffff +#define SO_RCVTIMEO 66 +#define SO_SNDTIMEO 67 +#else +#define SO_RCVTIMEO 20 +#define SO_SNDTIMEO 21 +#endif +#endif + +#ifndef SO_TIMESTAMP +#if __LONG_MAX == 0x7fffffff +#define SO_TIMESTAMP 63 +#define SO_TIMESTAMPNS 64 +#define SO_TIMESTAMPING 65 +#else +#define SO_TIMESTAMP 29 +#define SO_TIMESTAMPNS 35 +#define SO_TIMESTAMPING 37 +#endif +#endif + +#define SO_SECURITY_AUTHENTICATION 22 +#define SO_SECURITY_ENCRYPTION_TRANSPORT 23 +#define SO_SECURITY_ENCRYPTION_NETWORK 24 + +#define SO_BINDTODEVICE 25 + +#define SO_ATTACH_FILTER 26 +#define SO_DETACH_FILTER 27 +#define SO_GET_FILTER SO_ATTACH_FILTER + +#define SO_PEERNAME 28 +#define SCM_TIMESTAMP SO_TIMESTAMP +#define SO_PASSSEC 34 +#define SCM_TIMESTAMPNS SO_TIMESTAMPNS +#define SO_MARK 36 +#define SCM_TIMESTAMPING SO_TIMESTAMPING +#define SO_RXQ_OVFL 40 +#define SO_WIFI_STATUS 41 +#define SCM_WIFI_STATUS SO_WIFI_STATUS +#define SO_PEEK_OFF 42 +#define SO_NOFCS 43 +#define SO_LOCK_FILTER 44 +#define SO_SELECT_ERR_QUEUE 45 +#define SO_BUSY_POLL 46 +#define SO_MAX_PACING_RATE 47 +#define SO_BPF_EXTENSIONS 48 +#define SO_INCOMING_CPU 49 +#define SO_ATTACH_BPF 50 +#define SO_DETACH_BPF SO_DETACH_FILTER +#define SO_ATTACH_REUSEPORT_CBPF 51 +#define SO_ATTACH_REUSEPORT_EBPF 52 +#define SO_CNX_ADVICE 53 +#define SCM_TIMESTAMPING_OPT_STATS 54 +#define SO_MEMINFO 55 +#define SO_INCOMING_NAPI_ID 56 +#define SO_COOKIE 57 +#define SCM_TIMESTAMPING_PKTINFO 58 +#define SO_PEERGROUPS 59 +#define SO_ZEROCOPY 60 +#define SO_TXTIME 61 +#define SCM_TXTIME SO_TXTIME +#define SO_BINDTOIFINDEX 62 +#define SO_DETACH_REUSEPORT_BPF 68 +#define SO_PREFER_BUSY_POLL 69 +#define SO_BUSY_POLL_BUDGET 70 + +#ifndef SOL_SOCKET +#define SOL_SOCKET 1 +#endif + +#define SOL_IP 0 +#define SOL_IPV6 41 +#define SOL_ICMPV6 58 + +#define SOL_RAW 255 +#define SOL_DECNET 261 +#define SOL_X25 262 +#define SOL_PACKET 263 +#define SOL_ATM 264 +#define SOL_AAL 265 +#define SOL_IRDA 266 +#define SOL_NETBEUI 267 +#define SOL_LLC 268 +#define SOL_DCCP 269 +#define SOL_NETLINK 270 +#define SOL_TIPC 271 +#define SOL_RXRPC 272 +#define SOL_PPPOL2TP 273 +#define SOL_BLUETOOTH 274 +#define SOL_PNPIPE 275 +#define SOL_RDS 276 +#define SOL_IUCV 277 +#define SOL_CAIF 278 +#define SOL_ALG 279 +#define SOL_NFC 280 +#define SOL_KCM 281 +#define SOL_TLS 282 +#define SOL_XDP 283 + +#define SOMAXCONN 128 + +#define MSG_OOB 0x0001 +#define MSG_PEEK 0x0002 +#define MSG_DONTROUTE 0x0004 +#define MSG_CTRUNC 0x0008 +#define MSG_PROXY 0x0010 +#define MSG_TRUNC 0x0020 +#define MSG_DONTWAIT 0x0040 +#define MSG_EOR 0x0080 +#define MSG_WAITALL 0x0100 +#define MSG_FIN 0x0200 +#define MSG_SYN 0x0400 +#define MSG_CONFIRM 0x0800 +#define MSG_RST 0x1000 +#define MSG_ERRQUEUE 0x2000 +#define MSG_NOSIGNAL 0x4000 +#define MSG_MORE 0x8000 +#define MSG_WAITFORONE 0x10000 +#define MSG_BATCH 0x40000 +#define MSG_ZEROCOPY 0x4000000 +#define MSG_FASTOPEN 0x20000000 +#define MSG_CMSG_CLOEXEC 0x40000000 + +#define __CMSG_LEN(cmsg) (((cmsg)->cmsg_len + sizeof(long) - 1) & ~(long)(sizeof(long) - 1)) +#define __CMSG_NEXT(cmsg) ((unsigned char *)(cmsg) + __CMSG_LEN(cmsg)) +#define __MHDR_END(mhdr) ((unsigned char *)(mhdr)->msg_control + (mhdr)->msg_controllen) + +#define CMSG_DATA(cmsg) ((unsigned char *) (((struct cmsghdr *)(cmsg)) + 1)) +#define CMSG_NXTHDR(mhdr, cmsg) ((cmsg)->cmsg_len < sizeof (struct cmsghdr) || \ + __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ + ? 0 : (struct cmsghdr *)__CMSG_NEXT(cmsg)) +#define CMSG_FIRSTHDR(mhdr) ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) 0) + +#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) & (size_t) ~(sizeof (size_t) - 1)) +#define CMSG_SPACE(len) (CMSG_ALIGN (len) + CMSG_ALIGN (sizeof (struct cmsghdr))) +#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) + +#define SCM_RIGHTS 0x01 +#define SCM_CREDENTIALS 0x02 +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct sockaddr { + sa_family_t sa_family; + char sa_data[14]; +}; +#else +#include <__struct_sockaddr.h> +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct sockaddr_storage { + sa_family_t ss_family; + char __ss_padding[128-sizeof(long)-sizeof(sa_family_t)]; + unsigned long __ss_align; +}; +#else +#include <__struct_sockaddr_storage.h> +#endif + +#if (defined __wasilibc_unmodified_upstream) || (defined __wasilibc_use_wasip2) +int socket (int, int, int); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no socketpair */ +int socketpair (int, int, int, int [2]); +#endif + +int shutdown (int, int); + +#if (defined __wasilibc_unmodified_upstream) || (defined __wasilibc_use_wasip2) +int connect (int, const struct sockaddr *, socklen_t); +int bind (int, const struct sockaddr *, socklen_t); +int listen (int, int); +#endif + +int accept (int, struct sockaddr *__restrict, socklen_t *__restrict); +int accept4(int, struct sockaddr *__restrict, socklen_t *__restrict, int); + +#if (defined __wasilibc_unmodified_upstream) || (defined __wasilibc_use_wasip2) +int getsockname (int, struct sockaddr *__restrict, socklen_t *__restrict); +int getpeername (int, struct sockaddr *__restrict, socklen_t *__restrict); +#endif + +ssize_t send (int, const void *, size_t, int); +ssize_t recv (int, void *, size_t, int); +#if (defined __wasilibc_unmodified_upstream) || (defined __wasilibc_use_wasip2) +ssize_t sendto (int, const void *, size_t, int, const struct sockaddr *, socklen_t); +ssize_t recvfrom (int, void *__restrict, size_t, int, struct sockaddr *__restrict, socklen_t *__restrict); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no sendmsg/recvmsg */ +ssize_t sendmsg (int, const struct msghdr *, int); +ssize_t recvmsg (int, struct msghdr *, int); +#endif + +int getsockopt (int, int, int, void *__restrict, socklen_t *__restrict); +#if (defined __wasilibc_unmodified_upstream) || (defined __wasilibc_use_wasip2) +int setsockopt (int, int, int, const void *, socklen_t); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no sockatmark */ +int sockatmark (int); +#endif + +#if _REDIR_TIME64 +#ifdef _GNU_SOURCE +__REDIR(recvmmsg, __recvmmsg_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/stat.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/stat.h new file mode 100644 index 00000000..c0090f75 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/stat.h @@ -0,0 +1,141 @@ +#ifndef _SYS_STAT_H +#define _SYS_STAT_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_dev_t +#define __NEED_ino_t +#define __NEED_mode_t +#define __NEED_nlink_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_off_t +#define __NEED_time_t +#define __NEED_blksize_t +#define __NEED_blkcnt_t +#define __NEED_struct_timespec + +#include + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define st_atime st_atim.tv_sec +#define st_mtime st_mtim.tv_sec +#define st_ctime st_ctim.tv_sec + +#define S_IFMT 0170000 + +#define S_IFDIR 0040000 +#define S_IFCHR 0020000 +#define S_IFBLK 0060000 +#define S_IFREG 0100000 +#define S_IFIFO 0010000 +#define S_IFLNK 0120000 +#define S_IFSOCK 0140000 + +#define S_TYPEISMQ(buf) 0 +#define S_TYPEISSEM(buf) 0 +#define S_TYPEISSHM(buf) 0 +#define S_TYPEISTMO(buf) 0 + +#define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) +#define S_ISCHR(mode) (((mode) & S_IFMT) == S_IFCHR) +#define S_ISBLK(mode) (((mode) & S_IFMT) == S_IFBLK) +#define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) +#define S_ISFIFO(mode) (((mode) & S_IFMT) == S_IFIFO) +#define S_ISLNK(mode) (((mode) & S_IFMT) == S_IFLNK) +#define S_ISSOCK(mode) (((mode) & S_IFMT) == S_IFSOCK) + +#ifndef S_IRUSR +#define S_ISUID 04000 +#define S_ISGID 02000 +#define S_ISVTX 01000 +#define S_IRUSR 0400 +#define S_IWUSR 0200 +#define S_IXUSR 0100 +#define S_IRWXU 0700 +#define S_IRGRP 0040 +#define S_IWGRP 0020 +#define S_IXGRP 0010 +#define S_IRWXG 0070 +#define S_IROTH 0004 +#define S_IWOTH 0002 +#define S_IXOTH 0001 +#define S_IRWXO 0007 +#endif + +#define UTIME_NOW 0x3fffffff +#define UTIME_OMIT 0x3ffffffe +#else +#include <__header_sys_stat.h> +#endif + +int stat(const char *__restrict, struct stat *__restrict); +int fstat(int, struct stat *); +int lstat(const char *__restrict, struct stat *__restrict); +int fstatat(int, const char *__restrict, struct stat *__restrict, int); +int chmod(const char *, mode_t); +int fchmod(int, mode_t); +int fchmodat(int, const char *, mode_t, int); +#ifdef __wasilibc_unmodified_upstream /* WASI has no umask */ +mode_t umask(mode_t); +#endif +int mkdir(const char *, mode_t); +#ifdef __wasilibc_unmodified_upstream /* WASI has no fifo */ +int mkfifo(const char *, mode_t); +#endif +int mkdirat(int, const char *, mode_t); +#ifdef __wasilibc_unmodified_upstream /* WASI has no fifo */ +int mkfifoat(int, const char *, mode_t); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no mknod */ +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int mknod(const char *, mode_t, dev_t); +int mknodat(int, const char *, mode_t, dev_t); +#endif +#endif + +int futimens(int, const struct timespec [2]); +int utimensat(int, const char *, const struct timespec [2], int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI has no chmod */ +int lchmod(const char *, mode_t); +#endif +#define S_IREAD S_IRUSR +#define S_IWRITE S_IWUSR +#define S_IEXEC S_IXUSR +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define stat64 stat +#define fstat64 fstat +#define lstat64 lstat +#define fstatat64 fstatat +#define blkcnt64_t blkcnt_t +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#define ino64_t ino_t +#define off64_t off_t +#endif + +#if _REDIR_TIME64 +__REDIR(stat, __stat_time64); +__REDIR(fstat, __fstat_time64); +__REDIR(lstat, __lstat_time64); +__REDIR(fstatat, __fstatat_time64); +__REDIR(futimens, __futimens_time64); +__REDIR(utimensat, __utimensat_time64); +#endif + +#ifdef __cplusplus +} +#endif +#endif + + diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/statvfs.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/statvfs.h new file mode 100644 index 00000000..793490b6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/statvfs.h @@ -0,0 +1,56 @@ +#ifndef _SYS_STATVFS_H +#define _SYS_STATVFS_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_fsblkcnt_t +#define __NEED_fsfilcnt_t +#include + +struct statvfs { + unsigned long f_bsize, f_frsize; + fsblkcnt_t f_blocks, f_bfree, f_bavail; + fsfilcnt_t f_files, f_ffree, f_favail; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned long f_fsid; + unsigned :8*(2*sizeof(int)-sizeof(long)); +#else + unsigned :8*(2*sizeof(int)-sizeof(long)); + unsigned long f_fsid; +#endif + unsigned long f_flag, f_namemax; + int __reserved[6]; +}; + +int statvfs (const char *__restrict, struct statvfs *__restrict); +int fstatvfs (int, struct statvfs *); + +#define ST_RDONLY 1 +#define ST_NOSUID 2 +#define ST_NODEV 4 +#define ST_NOEXEC 8 +#define ST_SYNCHRONOUS 16 +#define ST_MANDLOCK 64 +#define ST_WRITE 128 +#define ST_APPEND 256 +#define ST_IMMUTABLE 512 +#define ST_NOATIME 1024 +#define ST_NODIRATIME 2048 +#define ST_RELATIME 4096 + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define statvfs64 statvfs +#define fstatvfs64 fstatvfs +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/syscall.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/syscall.h new file mode 100644 index 00000000..ceed6b59 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/syscall.h @@ -0,0 +1,10 @@ +#ifndef _SYS_SYSCALL_H +#define _SYS_SYSCALL_H + +#ifdef __wasilibc_unmodified_upstream /* WASI has no syscall */ +#include +#else +/* The generic syscall funtion is not yet implemented. */ +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/time.h new file mode 100644 index 00000000..0f736551 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/time.h @@ -0,0 +1,84 @@ +#ifndef _SYS_TIME_H +#define _SYS_TIME_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#include + +int gettimeofday (struct timeval *__restrict, void *__restrict); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no getitimer */ +#define ITIMER_REAL 0 +#define ITIMER_VIRTUAL 1 +#define ITIMER_PROF 2 + +struct itimerval { + struct timeval it_interval; + struct timeval it_value; +}; + +int getitimer (int, struct itimerval *); +int setitimer (int, const struct itimerval *__restrict, struct itimerval *__restrict); +#endif +int utimes (const char *, const struct timeval [2]); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct timezone { + int tz_minuteswest; + int tz_dsttime; +}; +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +int futimes(int, const struct timeval [2]); +#endif +int futimesat(int, const char *, const struct timeval [2]); +#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */ +int lutimes(const char *, const struct timeval [2]); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no way to set the time */ +int settimeofday(const struct timeval *, const struct timezone *); +int adjtime (const struct timeval *, struct timeval *); +#endif +#define timerisset(t) ((t)->tv_sec || (t)->tv_usec) +#define timerclear(t) ((t)->tv_sec = (t)->tv_usec = 0) +#define timercmp(s,t,op) ((s)->tv_sec == (t)->tv_sec ? \ + (s)->tv_usec op (t)->tv_usec : (s)->tv_sec op (t)->tv_sec) +#define timeradd(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec + (t)->tv_sec, \ + ((a)->tv_usec = (s)->tv_usec + (t)->tv_usec) >= 1000000 && \ + ((a)->tv_usec -= 1000000, (a)->tv_sec++) ) +#define timersub(s,t,a) (void) ( (a)->tv_sec = (s)->tv_sec - (t)->tv_sec, \ + ((a)->tv_usec = (s)->tv_usec - (t)->tv_usec) < 0 && \ + ((a)->tv_usec += 1000000, (a)->tv_sec--) ) +#endif + +#if defined(_GNU_SOURCE) +#define TIMEVAL_TO_TIMESPEC(tv, ts) ( \ + (ts)->tv_sec = (tv)->tv_sec, \ + (ts)->tv_nsec = (tv)->tv_usec * 1000, \ + (void)0 ) +#define TIMESPEC_TO_TIMEVAL(tv, ts) ( \ + (tv)->tv_sec = (ts)->tv_sec, \ + (tv)->tv_usec = (ts)->tv_nsec / 1000, \ + (void)0 ) +#endif + +#if _REDIR_TIME64 +__REDIR(gettimeofday, __gettimeofday_time64); +__REDIR(getitimer, __getitimer_time64); +__REDIR(setitimer, __setitimer_time64); +__REDIR(utimes, __utimes_time64); +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(futimes, __futimes_time64); +__REDIR(futimesat, __futimesat_time64); +__REDIR(lutimes, __lutimes_time64); +__REDIR(settimeofday, __settimeofday_time64); +__REDIR(adjtime, __adjtime64); +#endif +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/times.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/times.h new file mode 100644 index 00000000..cdaeeee9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/times.h @@ -0,0 +1,34 @@ +#ifndef _WASI_EMULATED_PROCESS_CLOCKS +#error WASI lacks process-associated clocks; to enable emulation of the `times` function using \ +the wall clock, which isn't sensitive to whether the program is running or suspended, \ +compile with -D_WASI_EMULATED_PROCESS_CLOCKS and link with -lwasi-emulated-process-clocks +#else +#ifndef _SYS_TIMES_H +#define _SYS_TIMES_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define __NEED_clock_t +#include + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct tms { + clock_t tms_utime; + clock_t tms_stime; + clock_t tms_cutime; + clock_t tms_cstime; +}; +#else +#include <__struct_tms.h> +#endif + +clock_t times (struct tms *); + +#ifdef __cplusplus +} +#endif + +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/types.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/types.h new file mode 100644 index 00000000..0c35541d --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/types.h @@ -0,0 +1,85 @@ +#ifndef _SYS_TYPES_H +#define _SYS_TYPES_H +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_ino_t +#define __NEED_dev_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_mode_t +#define __NEED_nlink_t +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_time_t +#define __NEED_timer_t +#define __NEED_clockid_t + +#define __NEED_blkcnt_t +#define __NEED_fsblkcnt_t +#define __NEED_fsfilcnt_t + +#define __NEED_id_t +#define __NEED_key_t +#define __NEED_clock_t +#define __NEED_suseconds_t +#define __NEED_blksize_t + +#define __NEED_pthread_t +#define __NEED_pthread_attr_t +#define __NEED_pthread_mutexattr_t +#define __NEED_pthread_condattr_t +#define __NEED_pthread_rwlockattr_t +#define __NEED_pthread_barrierattr_t +#define __NEED_pthread_mutex_t +#define __NEED_pthread_cond_t +#define __NEED_pthread_rwlock_t +#define __NEED_pthread_barrier_t +#define __NEED_pthread_spinlock_t +#define __NEED_pthread_key_t +#define __NEED_pthread_once_t +#define __NEED_useconds_t + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_int8_t +#define __NEED_int16_t +#define __NEED_int32_t +#define __NEED_int64_t +#define __NEED_u_int64_t +#define __NEED_register_t +#endif + +#include + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +typedef unsigned char u_int8_t; +typedef unsigned short u_int16_t; +typedef unsigned u_int32_t; +typedef char *caddr_t; +typedef unsigned char u_char; +typedef unsigned short u_short, ushort; +typedef unsigned u_int, uint; +typedef unsigned long u_long, ulong; +typedef long long quad_t; +typedef unsigned long long u_quad_t; +#include +#include +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define blkcnt64_t blkcnt_t +#define fsblkcnt64_t fsblkcnt_t +#define fsfilcnt64_t fsfilcnt_t +#define ino64_t ino_t +#define off64_t off_t +#endif + +#ifdef __cplusplus +} +#endif +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/uio.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/uio.h new file mode 100644 index 00000000..00f73a2f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/uio.h @@ -0,0 +1,48 @@ +#ifndef _SYS_UIO_H +#define _SYS_UIO_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_struct_iovec + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_off_t +#endif + +#ifdef _GNU_SOURCE +#define __NEED_pid_t +#endif + +#include + +#define UIO_MAXIOV 1024 + +ssize_t readv (int, const struct iovec *, int); +ssize_t writev (int, const struct iovec *, int); + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +ssize_t preadv (int, const struct iovec *, int, off_t); +ssize_t pwritev (int, const struct iovec *, int, off_t); +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define preadv64 preadv +#define pwritev64 pwritev +#define off64_t off_t +#endif +#endif + +#ifdef _GNU_SOURCE +ssize_t process_vm_writev(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); +ssize_t process_vm_readv(pid_t, const struct iovec *, unsigned long, const struct iovec *, unsigned long, unsigned long); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/un.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/un.h new file mode 100644 index 00000000..71169567 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/sys/un.h @@ -0,0 +1,39 @@ +#ifndef _SYS_UN_H +#define _SYS_UN_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_sa_family_t +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_size_t +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* WASI has no UNIX-domain sockets */ +struct sockaddr_un { + sa_family_t sun_family; + char sun_path[108]; +}; +#else +#include <__struct_sockaddr_un.h> +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* Declare strlen with the same attributes as uses */ +size_t strlen(const char *); +#else +size_t strlen(const char *) __attribute__((__nothrow__, __leaf__, __pure__, __nonnull__(1))); +#endif +#define SUN_LEN(s) (2+strlen((s)->sun_path)) +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/time.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/time.h new file mode 100644 index 00000000..f5341487 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/time.h @@ -0,0 +1,204 @@ +#ifndef _TIME_H +#define _TIME_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + + +#define __NEED_size_t +#define __NEED_time_t +#define __NEED_clock_t +#define __NEED_struct_timespec + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +#define __NEED_clockid_t +#define __NEED_timer_t +#define __NEED_pid_t +#define __NEED_locale_t +#endif + +#include + +#if defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +#define __tm_gmtoff tm_gmtoff +#define __tm_zone tm_zone +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +struct tm { + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + long __tm_gmtoff; + const char *__tm_zone; +}; +#else +#include <__header_time.h> +#endif + +#if defined(__wasilibc_unmodified_upstream) || defined(_WASI_EMULATED_PROCESS_CLOCKS) +clock_t clock (void); +#else +__attribute__((__deprecated__( +"WASI lacks process-associated clocks; to enable emulation of the `clock` function using " +"the wall clock, which isn't sensitive to whether the program is running or suspended, " +"compile with -D_WASI_EMULATED_PROCESS_CLOCKS and link with -lwasi-emulated-process-clocks" +))) +clock_t clock (void); +#endif +time_t time (time_t *); +double difftime (time_t, time_t); +time_t mktime (struct tm *); +size_t strftime (char *__restrict, size_t, const char *__restrict, const struct tm *__restrict); +struct tm *gmtime (const time_t *); +struct tm *localtime (const time_t *); +char *asctime (const struct tm *); +char *ctime (const time_t *); +int timespec_get(struct timespec *, int); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define CLOCKS_PER_SEC 1000000L + +#define TIME_UTC 1 +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) + +size_t strftime_l (char * __restrict, size_t, const char * __restrict, const struct tm * __restrict, locale_t); + +struct tm *gmtime_r (const time_t *__restrict, struct tm *__restrict); +struct tm *localtime_r (const time_t *__restrict, struct tm *__restrict); +char *asctime_r (const struct tm *__restrict, char *__restrict); +char *ctime_r (const time_t *, char *); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no timezone tables */ +void tzset (void); +#endif + +struct itimerspec { + struct timespec it_interval; + struct timespec it_value; +}; + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define CLOCK_REALTIME 0 +#define CLOCK_MONOTONIC 1 +#define CLOCK_PROCESS_CPUTIME_ID 2 +#define CLOCK_THREAD_CPUTIME_ID 3 +#define CLOCK_MONOTONIC_RAW 4 +#define CLOCK_REALTIME_COARSE 5 +#define CLOCK_MONOTONIC_COARSE 6 +#define CLOCK_BOOTTIME 7 +#define CLOCK_REALTIME_ALARM 8 +#define CLOCK_BOOTTIME_ALARM 9 +#define CLOCK_SGI_CYCLE 10 +#define CLOCK_TAI 11 + +#define TIMER_ABSTIME 1 +#endif + +int nanosleep (const struct timespec *, struct timespec *); +int clock_getres (clockid_t, struct timespec *); +int clock_gettime (clockid_t, struct timespec *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no clock_settime */ +int clock_settime (clockid_t, const struct timespec *); +#endif +int clock_nanosleep (clockid_t, int, const struct timespec *, struct timespec *); +#ifdef __wasilibc_unmodified_upstream /* WASI has no clock_getcpuclockid */ +int clock_getcpuclockid (pid_t, clockid_t *); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no timers */ +struct sigevent; +int timer_create (clockid_t, struct sigevent *__restrict, timer_t *__restrict); +int timer_delete (timer_t); +int timer_settime (timer_t, int, const struct itimerspec *__restrict, struct itimerspec *__restrict); +int timer_gettime (timer_t, struct itimerspec *); +int timer_getoverrun (timer_t); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no timezone tables */ +extern char *tzname[2]; +#endif + +#endif + + +#if defined(_XOPEN_SOURCE) || defined(_BSD_SOURCE) || defined(_GNU_SOURCE) +char *strptime (const char *__restrict, const char *__restrict, struct tm *__restrict); +#ifdef __wasilibc_unmodified_upstream /* WASI has no timezone tables */ +extern int daylight; +extern long timezone; +#endif +extern int getdate_err; +struct tm *getdate (const char *); +#endif + + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#ifdef __wasilibc_unmodified_upstream /* WASI has no stime */ +int stime(const time_t *); +#endif +time_t timegm(struct tm *); +#endif + +#if _REDIR_TIME64 +__REDIR(time, __time64); +__REDIR(difftime, __difftime64); +__REDIR(mktime, __mktime64); +__REDIR(gmtime, __gmtime64); +__REDIR(localtime, __localtime64); +__REDIR(ctime, __ctime64); +__REDIR(timespec_get, __timespec_get_time64); +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) \ + || defined(_BSD_SOURCE) +__REDIR(gmtime_r, __gmtime64_r); +__REDIR(localtime_r, __localtime64_r); +__REDIR(ctime_r, __ctime64_r); +__REDIR(nanosleep, __nanosleep_time64); +__REDIR(clock_getres, __clock_getres_time64); +__REDIR(clock_gettime, __clock_gettime64); +__REDIR(clock_settime, __clock_settime64); +__REDIR(clock_nanosleep, __clock_nanosleep_time64); +__REDIR(timer_settime, __timer_settime64); +__REDIR(timer_gettime, __timer_gettime64); +#endif +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +__REDIR(stime, __stime64); +__REDIR(timegm, __timegm_time64); +#endif +#endif + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/unistd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/unistd.h new file mode 100644 index 00000000..0be83e36 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/unistd.h @@ -0,0 +1,579 @@ +#ifndef _UNISTD_H +#define _UNISTD_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#define STDERR_FILENO 2 + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#define SEEK_DATA 3 +#define SEEK_HOLE 4 +#else +#include <__header_unistd.h> +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#define __NEED_size_t +#define __NEED_ssize_t +#define __NEED_uid_t +#define __NEED_gid_t +#define __NEED_off_t +#define __NEED_pid_t +#define __NEED_intptr_t +#define __NEED_useconds_t + +#include + +#ifdef __wasilibc_unmodified_upstream /* WASI has no pipe */ +int pipe(int [2]); +int pipe2(int [2], int); +#endif +int close(int); +int posix_close(int, int); +#ifdef __wasilibc_unmodified_upstream /* WASI has no dup */ +int dup(int); +int dup2(int, int); +int dup3(int, int, int); +#endif +off_t lseek(int, off_t, int); +#ifdef __wasilibc_unmodified_upstream /* Optimize the readonly case of lseek */ +#else +off_t __wasilibc_tell(int); + +#ifndef __cplusplus +/* + * Optimize lseek in the case where it's just returning the current offset. + * This avoids importing `__wasi_fd_seek` altogether in many common cases. + * + * But don't do this for C++ because a simple macro wouldn't handle namespaces + * correctly: + * - User code could qualify the `lseek` call with `::`. + * - There may be another `lseek` in scope from a `using` declaration. + */ +#define lseek(fd, offset, whence) \ + ({ \ + off_t __f = (fd); \ + off_t __o = (offset); \ + off_t __w = (whence); \ + __builtin_constant_p((offset)) && \ + __builtin_constant_p((whence)) && \ + __o == 0 && \ + __w == SEEK_CUR \ + ? __wasilibc_tell(__f) \ + : lseek(__f, __o, __w); \ + }) +#endif +#endif +int fsync(int); +int fdatasync(int); + +ssize_t read(int, void *, size_t); +ssize_t write(int, const void *, size_t); +ssize_t pread(int, void *, size_t, off_t); +ssize_t pwrite(int, const void *, size_t, off_t); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no chown */ +int chown(const char *, uid_t, gid_t); +int fchown(int, uid_t, gid_t); +int lchown(const char *, uid_t, gid_t); +int fchownat(int, const char *, uid_t, gid_t, int); +#endif + +int link(const char *, const char *); +int linkat(int, const char *, int, const char *, int); +int symlink(const char *, const char *); +int symlinkat(const char *, int, const char *); +ssize_t readlink(const char *__restrict, char *__restrict, size_t); +ssize_t readlinkat(int, const char *__restrict, char *__restrict, size_t); +int unlink(const char *); +int unlinkat(int, const char *, int); +int rmdir(const char *); +int truncate(const char *, off_t); +int ftruncate(int, off_t); + +#ifdef __wasilibc_unmodified_upstream /* Use alternate WASI libc headers */ +#define F_OK 0 +#define R_OK 4 +#define W_OK 2 +#define X_OK 1 +#endif + +int access(const char *, int); +int faccessat(int, const char *, int, int); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no fchdir */ +int fchdir(int); +#endif +int chdir(const char *); +char *getcwd(char *, size_t); + +#ifdef __wasilibc_unmodified_upstream /* WASI has no signals */ +unsigned alarm(unsigned); +#endif +unsigned sleep(unsigned); +#ifdef __wasilibc_unmodified_upstream /* WASI has no pause */ +int pause(void); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no fork/exec */ +pid_t fork(void); +pid_t _Fork(void); +int execve(const char *, char *const [], char *const []); +int execv(const char *, char *const []); +int execle(const char *, const char *, ...); +int execl(const char *, const char *, ...); +int execvp(const char *, char *const []); +int execlp(const char *, const char *, ...); +int fexecve(int, char *const [], char *const []); +#endif +_Noreturn void _exit(int); + +#if defined(__wasilibc_unmodified_upstream) || defined(_WASI_EMULATED_GETPID) +pid_t getpid(void); +#else +__attribute__((__deprecated__( +"WASI lacks process identifiers; to enable emulation of the `getpid` function using " +"a placeholder value, which doesn't reflect the host PID of the program, " +"compile with -D_WASI_EMULATED_GETPID and link with -lwasi-emulated-getpid" +))) +pid_t getpid(void); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no getpid etc. */ +pid_t getppid(void); +pid_t getpgrp(void); +pid_t getpgid(pid_t); +int setpgid(pid_t, pid_t); +pid_t setsid(void); +pid_t getsid(pid_t); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no ttyname */ +char *ttyname(int); +int ttyname_r(int, char *, size_t); +#endif +int isatty(int); +#ifdef __wasilibc_unmodified_upstream /* WASI has no process groups */ +pid_t tcgetpgrp(int); +int tcsetpgrp(int, pid_t); +#endif + +#ifdef __wasilibc_unmodified_upstream /* WASI has no getuid etc. */ +uid_t getuid(void); +uid_t geteuid(void); +gid_t getgid(void); +gid_t getegid(void); +int getgroups(int, gid_t []); +int setuid(uid_t); +int seteuid(uid_t); +int setgid(gid_t); +int setegid(gid_t); +#endif + +char *getlogin(void); +int getlogin_r(char *, size_t); +int gethostname(char *, size_t); +char *ctermid(char *); + +int getopt(int, char * const [], const char *); +extern char *optarg; +extern int optind, opterr, optopt; + +long pathconf(const char *, int); +long fpathconf(int, int); +long sysconf(int); +size_t confstr(int, char *, size_t); + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define F_ULOCK 0 +#define F_LOCK 1 +#define F_TLOCK 2 +#define F_TEST 3 +#ifdef __wasilibc_unmodified_upstream /* WASI has no setreuid */ +int setreuid(uid_t, uid_t); +int setregid(gid_t, gid_t); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no POSIX file locking */ +int lockf(int, int, off_t); +#endif +long gethostid(void); +#ifdef __wasilibc_unmodified_upstream /* WASI has no nice, sync, or setpgrp */ +int nice(int); +void sync(void); +pid_t setpgrp(void); +#endif +char *crypt(const char *, const char *); +void encrypt(char *, int); +void swab(const void *__restrict, void *__restrict, ssize_t); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) \ + || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE+0 < 700) +int usleep(unsigned); +unsigned ualarm(unsigned, unsigned); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define L_SET 0 +#define L_INCR 1 +#define L_XTND 2 +#ifdef __wasilibc_unmodified_upstream /* WASI has no brk */ +int brk(void *); +#endif +void *sbrk(intptr_t); +#ifdef __wasilibc_unmodified_upstream /* WASI has no processes */ +pid_t vfork(void); +int vhangup(void); +int chroot(const char *); +#endif +int getpagesize(void); +#ifdef __wasilibc_unmodified_upstream /* WASI has no processes */ +int getdtablesize(void); +int sethostname(const char *, size_t); +int getdomainname(char *, size_t); +int setdomainname(const char *, size_t); +int setgroups(size_t, const gid_t *); +char *getpass(const char *); +int daemon(int, int); +void setusershell(void); +void endusershell(void); +char *getusershell(void); +int acct(const char *); +long syscall(long, ...); +int execvpe(const char *, char *const [], char *const []); +int issetugid(void); +#endif +int getentropy(void *, size_t); +extern int optreset; +#endif + +#ifdef _GNU_SOURCE +extern char **environ; +#ifdef __wasilibc_unmodified_upstream /* WASI has no get/setresuid */ +int setresuid(uid_t, uid_t, uid_t); +int setresgid(gid_t, gid_t, gid_t); +int getresuid(uid_t *, uid_t *, uid_t *); +int getresgid(gid_t *, gid_t *, gid_t *); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no cwd */ +char *get_current_dir_name(void); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no syncfs */ +int syncfs(int); +#endif +#ifdef __wasilibc_unmodified_upstream /* WASI has no eaccess */ +int euidaccess(const char *, int); +int eaccess(const char *, int); +ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned); +pid_t gettid(void); +#endif +#endif + +#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) +#define lseek64 lseek +#define pread64 pread +#define pwrite64 pwrite +#ifdef __wasilibc_unmodified_upstream /* WASI has no truncate */ +#define truncate64 truncate +#endif +#define ftruncate64 ftruncate +#ifdef __wasilibc_unmodified_upstream /* WASI has no POSIX file locking */ +#define lockf64 lockf +#endif +#define off64_t off_t +#endif + +#define POSIX_CLOSE_RESTART 0 + +#define _XOPEN_VERSION 700 +#define _XOPEN_UNIX 1 +#define _XOPEN_ENH_I18N 1 + +#define _POSIX_VERSION 200809L +#define _POSIX2_VERSION _POSIX_VERSION + +#define _POSIX_ADVISORY_INFO _POSIX_VERSION +#define _POSIX_CHOWN_RESTRICTED 1 +#define _POSIX_IPV6 _POSIX_VERSION +#ifdef __wasilibc_unmodified_upstream /* WASI has no processes, mmap, or mq */ +#define _POSIX_JOB_CONTROL 1 +#define _POSIX_MAPPED_FILES _POSIX_VERSION +#define _POSIX_MEMLOCK _POSIX_VERSION +#define _POSIX_MEMLOCK_RANGE _POSIX_VERSION +#define _POSIX_MEMORY_PROTECTION _POSIX_VERSION +#define _POSIX_MESSAGE_PASSING _POSIX_VERSION +#endif +#define _POSIX_FSYNC _POSIX_VERSION +#define _POSIX_NO_TRUNC 1 +#ifdef __wasilibc_unmodified_upstream /* WASI has no raw sockets */ +#define _POSIX_RAW_SOCKETS _POSIX_VERSION +#endif +#define _POSIX_REALTIME_SIGNALS _POSIX_VERSION +#define _POSIX_REGEXP 1 +#ifdef __wasilibc_unmodified_upstream /* WASI has no processes */ +#define _POSIX_SAVED_IDS 1 +#define _POSIX_SHELL 1 +#define _POSIX_SPAWN _POSIX_VERSION +#endif +#define _POSIX_VDISABLE 0 + +#if defined(__wasilibc_unmodified_upstream) || defined(_REENTRANT) +#define _POSIX_THREADS _POSIX_VERSION +#endif +#define _POSIX_THREAD_PROCESS_SHARED _POSIX_VERSION +#define _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKADDR _POSIX_VERSION +#define _POSIX_THREAD_ATTR_STACKSIZE _POSIX_VERSION +#define _POSIX_THREAD_PRIORITY_SCHEDULING _POSIX_VERSION +#define _POSIX_THREAD_CPUTIME _POSIX_VERSION +#define _POSIX_TIMERS _POSIX_VERSION +#define _POSIX_TIMEOUTS _POSIX_VERSION +#define _POSIX_MONOTONIC_CLOCK _POSIX_VERSION +#define _POSIX_CPUTIME _POSIX_VERSION +#define _POSIX_CLOCK_SELECTION _POSIX_VERSION +#define _POSIX_BARRIERS _POSIX_VERSION +#define _POSIX_SPIN_LOCKS _POSIX_VERSION +#define _POSIX_READER_WRITER_LOCKS _POSIX_VERSION +#ifdef __wasilibc_unmodified_upstream /* WASI has no POSIX async I/O, semaphores, or shared memory */ +#define _POSIX_ASYNCHRONOUS_IO _POSIX_VERSION +#define _POSIX_SEMAPHORES _POSIX_VERSION +#define _POSIX_SHARED_MEMORY_OBJECTS _POSIX_VERSION +#endif + +#define _POSIX2_C_BIND _POSIX_VERSION + +#include + + + +#define _PC_LINK_MAX 0 +#define _PC_MAX_CANON 1 +#define _PC_MAX_INPUT 2 +#define _PC_NAME_MAX 3 +#define _PC_PATH_MAX 4 +#define _PC_PIPE_BUF 5 +#define _PC_CHOWN_RESTRICTED 6 +#define _PC_NO_TRUNC 7 +#define _PC_VDISABLE 8 +#define _PC_SYNC_IO 9 +#define _PC_ASYNC_IO 10 +#define _PC_PRIO_IO 11 +#define _PC_SOCK_MAXBUF 12 +#define _PC_FILESIZEBITS 13 +#define _PC_REC_INCR_XFER_SIZE 14 +#define _PC_REC_MAX_XFER_SIZE 15 +#define _PC_REC_MIN_XFER_SIZE 16 +#define _PC_REC_XFER_ALIGN 17 +#define _PC_ALLOC_SIZE_MIN 18 +#define _PC_SYMLINK_MAX 19 +#define _PC_2_SYMLINKS 20 + +#define _SC_ARG_MAX 0 +#define _SC_CHILD_MAX 1 +#define _SC_CLK_TCK 2 +#define _SC_NGROUPS_MAX 3 +#define _SC_OPEN_MAX 4 +#define _SC_STREAM_MAX 5 +#define _SC_TZNAME_MAX 6 +#define _SC_JOB_CONTROL 7 +#define _SC_SAVED_IDS 8 +#define _SC_REALTIME_SIGNALS 9 +#define _SC_PRIORITY_SCHEDULING 10 +#define _SC_TIMERS 11 +#define _SC_ASYNCHRONOUS_IO 12 +#define _SC_PRIORITIZED_IO 13 +#define _SC_SYNCHRONIZED_IO 14 +#define _SC_FSYNC 15 +#define _SC_MAPPED_FILES 16 +#define _SC_MEMLOCK 17 +#define _SC_MEMLOCK_RANGE 18 +#define _SC_MEMORY_PROTECTION 19 +#define _SC_MESSAGE_PASSING 20 +#define _SC_SEMAPHORES 21 +#define _SC_SHARED_MEMORY_OBJECTS 22 +#define _SC_AIO_LISTIO_MAX 23 +#define _SC_AIO_MAX 24 +#define _SC_AIO_PRIO_DELTA_MAX 25 +#define _SC_DELAYTIMER_MAX 26 +#define _SC_MQ_OPEN_MAX 27 +#define _SC_MQ_PRIO_MAX 28 +#define _SC_VERSION 29 +#define _SC_PAGE_SIZE 30 +#define _SC_PAGESIZE 30 /* !! */ +#define _SC_RTSIG_MAX 31 +#define _SC_SEM_NSEMS_MAX 32 +#define _SC_SEM_VALUE_MAX 33 +#define _SC_SIGQUEUE_MAX 34 +#define _SC_TIMER_MAX 35 +#define _SC_BC_BASE_MAX 36 +#define _SC_BC_DIM_MAX 37 +#define _SC_BC_SCALE_MAX 38 +#define _SC_BC_STRING_MAX 39 +#define _SC_COLL_WEIGHTS_MAX 40 +#define _SC_EXPR_NEST_MAX 42 +#define _SC_LINE_MAX 43 +#define _SC_RE_DUP_MAX 44 +#define _SC_2_VERSION 46 +#define _SC_2_C_BIND 47 +#define _SC_2_C_DEV 48 +#define _SC_2_FORT_DEV 49 +#define _SC_2_FORT_RUN 50 +#define _SC_2_SW_DEV 51 +#define _SC_2_LOCALEDEF 52 +#define _SC_UIO_MAXIOV 60 /* !! */ +#define _SC_IOV_MAX 60 +#define _SC_THREADS 67 +#define _SC_THREAD_SAFE_FUNCTIONS 68 +#define _SC_GETGR_R_SIZE_MAX 69 +#define _SC_GETPW_R_SIZE_MAX 70 +#define _SC_LOGIN_NAME_MAX 71 +#define _SC_TTY_NAME_MAX 72 +#define _SC_THREAD_DESTRUCTOR_ITERATIONS 73 +#define _SC_THREAD_KEYS_MAX 74 +#define _SC_THREAD_STACK_MIN 75 +#define _SC_THREAD_THREADS_MAX 76 +#define _SC_THREAD_ATTR_STACKADDR 77 +#define _SC_THREAD_ATTR_STACKSIZE 78 +#define _SC_THREAD_PRIORITY_SCHEDULING 79 +#define _SC_THREAD_PRIO_INHERIT 80 +#define _SC_THREAD_PRIO_PROTECT 81 +#define _SC_THREAD_PROCESS_SHARED 82 +#define _SC_NPROCESSORS_CONF 83 +#define _SC_NPROCESSORS_ONLN 84 +#define _SC_PHYS_PAGES 85 +#define _SC_AVPHYS_PAGES 86 +#define _SC_ATEXIT_MAX 87 +#define _SC_PASS_MAX 88 +#define _SC_XOPEN_VERSION 89 +#define _SC_XOPEN_XCU_VERSION 90 +#define _SC_XOPEN_UNIX 91 +#define _SC_XOPEN_CRYPT 92 +#define _SC_XOPEN_ENH_I18N 93 +#define _SC_XOPEN_SHM 94 +#define _SC_2_CHAR_TERM 95 +#define _SC_2_UPE 97 +#define _SC_XOPEN_XPG2 98 +#define _SC_XOPEN_XPG3 99 +#define _SC_XOPEN_XPG4 100 +#define _SC_NZERO 109 +#define _SC_XBS5_ILP32_OFF32 125 +#define _SC_XBS5_ILP32_OFFBIG 126 +#define _SC_XBS5_LP64_OFF64 127 +#define _SC_XBS5_LPBIG_OFFBIG 128 +#define _SC_XOPEN_LEGACY 129 +#define _SC_XOPEN_REALTIME 130 +#define _SC_XOPEN_REALTIME_THREADS 131 +#define _SC_ADVISORY_INFO 132 +#define _SC_BARRIERS 133 +#define _SC_CLOCK_SELECTION 137 +#define _SC_CPUTIME 138 +#define _SC_THREAD_CPUTIME 139 +#define _SC_MONOTONIC_CLOCK 149 +#define _SC_READER_WRITER_LOCKS 153 +#define _SC_SPIN_LOCKS 154 +#define _SC_REGEXP 155 +#define _SC_SHELL 157 +#define _SC_SPAWN 159 +#define _SC_SPORADIC_SERVER 160 +#define _SC_THREAD_SPORADIC_SERVER 161 +#define _SC_TIMEOUTS 164 +#define _SC_TYPED_MEMORY_OBJECTS 165 +#define _SC_2_PBS 168 +#define _SC_2_PBS_ACCOUNTING 169 +#define _SC_2_PBS_LOCATE 170 +#define _SC_2_PBS_MESSAGE 171 +#define _SC_2_PBS_TRACK 172 +#define _SC_SYMLOOP_MAX 173 +#define _SC_STREAMS 174 +#define _SC_2_PBS_CHECKPOINT 175 +#define _SC_V6_ILP32_OFF32 176 +#define _SC_V6_ILP32_OFFBIG 177 +#define _SC_V6_LP64_OFF64 178 +#define _SC_V6_LPBIG_OFFBIG 179 +#define _SC_HOST_NAME_MAX 180 +#define _SC_TRACE 181 +#define _SC_TRACE_EVENT_FILTER 182 +#define _SC_TRACE_INHERIT 183 +#define _SC_TRACE_LOG 184 + +#define _SC_IPV6 235 +#define _SC_RAW_SOCKETS 236 +#define _SC_V7_ILP32_OFF32 237 +#define _SC_V7_ILP32_OFFBIG 238 +#define _SC_V7_LP64_OFF64 239 +#define _SC_V7_LPBIG_OFFBIG 240 +#define _SC_SS_REPL_MAX 241 +#define _SC_TRACE_EVENT_NAME_MAX 242 +#define _SC_TRACE_NAME_MAX 243 +#define _SC_TRACE_SYS_MAX 244 +#define _SC_TRACE_USER_EVENT_MAX 245 +#define _SC_XOPEN_STREAMS 246 +#define _SC_THREAD_ROBUST_PRIO_INHERIT 247 +#define _SC_THREAD_ROBUST_PRIO_PROTECT 248 + +#define _CS_PATH 0 +#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS 1 +#define _CS_GNU_LIBC_VERSION 2 +#define _CS_GNU_LIBPTHREAD_VERSION 3 +#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS 4 +#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS 5 + +#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS 1116 +#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS 1117 +#define _CS_POSIX_V6_ILP32_OFF32_LIBS 1118 +#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS 1119 +#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS 1120 +#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS 1121 +#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS 1122 +#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS 1123 +#define _CS_POSIX_V6_LP64_OFF64_CFLAGS 1124 +#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS 1125 +#define _CS_POSIX_V6_LP64_OFF64_LIBS 1126 +#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS 1127 +#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS 1128 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS 1129 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS 1130 +#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS 1131 +#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS 1132 +#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS 1133 +#define _CS_POSIX_V7_ILP32_OFF32_LIBS 1134 +#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS 1135 +#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS 1136 +#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS 1137 +#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS 1138 +#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS 1139 +#define _CS_POSIX_V7_LP64_OFF64_CFLAGS 1140 +#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS 1141 +#define _CS_POSIX_V7_LP64_OFF64_LIBS 1142 +#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS 1143 +#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS 1144 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS 1145 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS 1146 +#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS 1147 +#define _CS_V6_ENV 1148 +#define _CS_V7_ENV 1149 + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/api.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/api.h new file mode 100644 index 00000000..45a6506e --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/api.h @@ -0,0 +1,2115 @@ +/** + * . This file contains declarations describing the WASI ABI + * as of "snapshot preview1". It was originally auto-generated from + * wasi_snapshot_preview1.witx, however WASI is in the process of + * transitioning to a new IDL and header file generator, and this file + * is temporarily being manually maintained. + * + * @file + * This file describes the [WASI] interface, consisting of functions, types, + * and defined values (macros). + * + * The interface described here is greatly inspired by [CloudABI]'s clean, + * thoughtfully-designed, capability-oriented, POSIX-style API. + * + * [CloudABI]: https://github.com/NuxiNL/cloudlibc + * [WASI]: https://github.com/WebAssembly/WASI/ + */ + +#ifndef __wasi_api_h +#define __wasi_api_h + +#ifndef __wasi__ +#error is only supported on WASI platforms. +#endif + +#ifndef __wasm32__ +#error only supports wasm32; doesn't yet support wasm64 +#endif + +#include +#include + +_Static_assert(_Alignof(int8_t) == 1, "non-wasi data layout"); +_Static_assert(_Alignof(uint8_t) == 1, "non-wasi data layout"); +_Static_assert(_Alignof(int16_t) == 2, "non-wasi data layout"); +_Static_assert(_Alignof(uint16_t) == 2, "non-wasi data layout"); +_Static_assert(_Alignof(int32_t) == 4, "non-wasi data layout"); +_Static_assert(_Alignof(uint32_t) == 4, "non-wasi data layout"); +_Static_assert(_Alignof(int64_t) == 8, "non-wasi data layout"); +_Static_assert(_Alignof(uint64_t) == 8, "non-wasi data layout"); +_Static_assert(_Alignof(void*) == 4, "non-wasi data layout"); + +#ifdef __cplusplus +extern "C" { +#endif + +// TODO: Encoding this in witx. +#define __WASI_DIRCOOKIE_START (UINT64_C(0)) +typedef __SIZE_TYPE__ __wasi_size_t; + +_Static_assert(sizeof(__wasi_size_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_size_t) == 4, "witx calculated align"); + +/** + * Non-negative file size or length of a region within a file. + */ +typedef uint64_t __wasi_filesize_t; + +_Static_assert(sizeof(__wasi_filesize_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_filesize_t) == 8, "witx calculated align"); + +/** + * Timestamp in nanoseconds. + */ +typedef uint64_t __wasi_timestamp_t; + +_Static_assert(sizeof(__wasi_timestamp_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_timestamp_t) == 8, "witx calculated align"); + +/** + * Identifiers for clocks. + */ +typedef uint32_t __wasi_clockid_t; + +/** + * The clock measuring real time. Time value zero corresponds with + * 1970-01-01T00:00:00Z. + */ +#define __WASI_CLOCKID_REALTIME (UINT32_C(0)) + +/** + * The store-wide monotonic clock, which is defined as a clock measuring + * real time, whose value cannot be adjusted and which cannot have negative + * clock jumps. The epoch of this clock is undefined. The absolute time + * value of this clock therefore has no meaning. + */ +#define __WASI_CLOCKID_MONOTONIC (UINT32_C(1)) + +/** + * The CPU-time clock associated with the current process. + */ +#define __WASI_CLOCKID_PROCESS_CPUTIME_ID (UINT32_C(2)) + +/** + * The CPU-time clock associated with the current thread. + */ +#define __WASI_CLOCKID_THREAD_CPUTIME_ID (UINT32_C(3)) + +_Static_assert(sizeof(__wasi_clockid_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_clockid_t) == 4, "witx calculated align"); + +/** + * Error codes returned by functions. + * Not all of these error codes are returned by the functions provided by this + * API; some are used in higher-level library layers, and others are provided + * merely for alignment with POSIX. + */ +typedef uint16_t __wasi_errno_t; + +/** + * No error occurred. System call completed successfully. + */ +#define __WASI_ERRNO_SUCCESS (UINT16_C(0)) + +/** + * Argument list too long. + */ +#define __WASI_ERRNO_2BIG (UINT16_C(1)) + +/** + * Permission denied. + */ +#define __WASI_ERRNO_ACCES (UINT16_C(2)) + +/** + * Address in use. + */ +#define __WASI_ERRNO_ADDRINUSE (UINT16_C(3)) + +/** + * Address not available. + */ +#define __WASI_ERRNO_ADDRNOTAVAIL (UINT16_C(4)) + +/** + * Address family not supported. + */ +#define __WASI_ERRNO_AFNOSUPPORT (UINT16_C(5)) + +/** + * Resource unavailable, or operation would block. + */ +#define __WASI_ERRNO_AGAIN (UINT16_C(6)) + +/** + * Connection already in progress. + */ +#define __WASI_ERRNO_ALREADY (UINT16_C(7)) + +/** + * Bad file descriptor. + */ +#define __WASI_ERRNO_BADF (UINT16_C(8)) + +/** + * Bad message. + */ +#define __WASI_ERRNO_BADMSG (UINT16_C(9)) + +/** + * Device or resource busy. + */ +#define __WASI_ERRNO_BUSY (UINT16_C(10)) + +/** + * Operation canceled. + */ +#define __WASI_ERRNO_CANCELED (UINT16_C(11)) + +/** + * No child processes. + */ +#define __WASI_ERRNO_CHILD (UINT16_C(12)) + +/** + * Connection aborted. + */ +#define __WASI_ERRNO_CONNABORTED (UINT16_C(13)) + +/** + * Connection refused. + */ +#define __WASI_ERRNO_CONNREFUSED (UINT16_C(14)) + +/** + * Connection reset. + */ +#define __WASI_ERRNO_CONNRESET (UINT16_C(15)) + +/** + * Resource deadlock would occur. + */ +#define __WASI_ERRNO_DEADLK (UINT16_C(16)) + +/** + * Destination address required. + */ +#define __WASI_ERRNO_DESTADDRREQ (UINT16_C(17)) + +/** + * Mathematics argument out of domain of function. + */ +#define __WASI_ERRNO_DOM (UINT16_C(18)) + +/** + * Reserved. + */ +#define __WASI_ERRNO_DQUOT (UINT16_C(19)) + +/** + * File exists. + */ +#define __WASI_ERRNO_EXIST (UINT16_C(20)) + +/** + * Bad address. + */ +#define __WASI_ERRNO_FAULT (UINT16_C(21)) + +/** + * File too large. + */ +#define __WASI_ERRNO_FBIG (UINT16_C(22)) + +/** + * Host is unreachable. + */ +#define __WASI_ERRNO_HOSTUNREACH (UINT16_C(23)) + +/** + * Identifier removed. + */ +#define __WASI_ERRNO_IDRM (UINT16_C(24)) + +/** + * Illegal byte sequence. + */ +#define __WASI_ERRNO_ILSEQ (UINT16_C(25)) + +/** + * Operation in progress. + */ +#define __WASI_ERRNO_INPROGRESS (UINT16_C(26)) + +/** + * Interrupted function. + */ +#define __WASI_ERRNO_INTR (UINT16_C(27)) + +/** + * Invalid argument. + */ +#define __WASI_ERRNO_INVAL (UINT16_C(28)) + +/** + * I/O error. + */ +#define __WASI_ERRNO_IO (UINT16_C(29)) + +/** + * Socket is connected. + */ +#define __WASI_ERRNO_ISCONN (UINT16_C(30)) + +/** + * Is a directory. + */ +#define __WASI_ERRNO_ISDIR (UINT16_C(31)) + +/** + * Too many levels of symbolic links. + */ +#define __WASI_ERRNO_LOOP (UINT16_C(32)) + +/** + * File descriptor value too large. + */ +#define __WASI_ERRNO_MFILE (UINT16_C(33)) + +/** + * Too many links. + */ +#define __WASI_ERRNO_MLINK (UINT16_C(34)) + +/** + * Message too large. + */ +#define __WASI_ERRNO_MSGSIZE (UINT16_C(35)) + +/** + * Reserved. + */ +#define __WASI_ERRNO_MULTIHOP (UINT16_C(36)) + +/** + * Filename too long. + */ +#define __WASI_ERRNO_NAMETOOLONG (UINT16_C(37)) + +/** + * Network is down. + */ +#define __WASI_ERRNO_NETDOWN (UINT16_C(38)) + +/** + * Connection aborted by network. + */ +#define __WASI_ERRNO_NETRESET (UINT16_C(39)) + +/** + * Network unreachable. + */ +#define __WASI_ERRNO_NETUNREACH (UINT16_C(40)) + +/** + * Too many files open in system. + */ +#define __WASI_ERRNO_NFILE (UINT16_C(41)) + +/** + * No buffer space available. + */ +#define __WASI_ERRNO_NOBUFS (UINT16_C(42)) + +/** + * No such device. + */ +#define __WASI_ERRNO_NODEV (UINT16_C(43)) + +/** + * No such file or directory. + */ +#define __WASI_ERRNO_NOENT (UINT16_C(44)) + +/** + * Executable file format error. + */ +#define __WASI_ERRNO_NOEXEC (UINT16_C(45)) + +/** + * No locks available. + */ +#define __WASI_ERRNO_NOLCK (UINT16_C(46)) + +/** + * Reserved. + */ +#define __WASI_ERRNO_NOLINK (UINT16_C(47)) + +/** + * Not enough space. + */ +#define __WASI_ERRNO_NOMEM (UINT16_C(48)) + +/** + * No message of the desired type. + */ +#define __WASI_ERRNO_NOMSG (UINT16_C(49)) + +/** + * Protocol not available. + */ +#define __WASI_ERRNO_NOPROTOOPT (UINT16_C(50)) + +/** + * No space left on device. + */ +#define __WASI_ERRNO_NOSPC (UINT16_C(51)) + +/** + * Function not supported. + */ +#define __WASI_ERRNO_NOSYS (UINT16_C(52)) + +/** + * The socket is not connected. + */ +#define __WASI_ERRNO_NOTCONN (UINT16_C(53)) + +/** + * Not a directory or a symbolic link to a directory. + */ +#define __WASI_ERRNO_NOTDIR (UINT16_C(54)) + +/** + * Directory not empty. + */ +#define __WASI_ERRNO_NOTEMPTY (UINT16_C(55)) + +/** + * State not recoverable. + */ +#define __WASI_ERRNO_NOTRECOVERABLE (UINT16_C(56)) + +/** + * Not a socket. + */ +#define __WASI_ERRNO_NOTSOCK (UINT16_C(57)) + +/** + * Not supported, or operation not supported on socket. + */ +#define __WASI_ERRNO_NOTSUP (UINT16_C(58)) + +/** + * Inappropriate I/O control operation. + */ +#define __WASI_ERRNO_NOTTY (UINT16_C(59)) + +/** + * No such device or address. + */ +#define __WASI_ERRNO_NXIO (UINT16_C(60)) + +/** + * Value too large to be stored in data type. + */ +#define __WASI_ERRNO_OVERFLOW (UINT16_C(61)) + +/** + * Previous owner died. + */ +#define __WASI_ERRNO_OWNERDEAD (UINT16_C(62)) + +/** + * Operation not permitted. + */ +#define __WASI_ERRNO_PERM (UINT16_C(63)) + +/** + * Broken pipe. + */ +#define __WASI_ERRNO_PIPE (UINT16_C(64)) + +/** + * Protocol error. + */ +#define __WASI_ERRNO_PROTO (UINT16_C(65)) + +/** + * Protocol not supported. + */ +#define __WASI_ERRNO_PROTONOSUPPORT (UINT16_C(66)) + +/** + * Protocol wrong type for socket. + */ +#define __WASI_ERRNO_PROTOTYPE (UINT16_C(67)) + +/** + * Result too large. + */ +#define __WASI_ERRNO_RANGE (UINT16_C(68)) + +/** + * Read-only file system. + */ +#define __WASI_ERRNO_ROFS (UINT16_C(69)) + +/** + * Invalid seek. + */ +#define __WASI_ERRNO_SPIPE (UINT16_C(70)) + +/** + * No such process. + */ +#define __WASI_ERRNO_SRCH (UINT16_C(71)) + +/** + * Reserved. + */ +#define __WASI_ERRNO_STALE (UINT16_C(72)) + +/** + * Connection timed out. + */ +#define __WASI_ERRNO_TIMEDOUT (UINT16_C(73)) + +/** + * Text file busy. + */ +#define __WASI_ERRNO_TXTBSY (UINT16_C(74)) + +/** + * Cross-device link. + */ +#define __WASI_ERRNO_XDEV (UINT16_C(75)) + +/** + * Extension: Capabilities insufficient. + */ +#define __WASI_ERRNO_NOTCAPABLE (UINT16_C(76)) + +_Static_assert(sizeof(__wasi_errno_t) == 2, "witx calculated size"); +_Static_assert(_Alignof(__wasi_errno_t) == 2, "witx calculated align"); + +/** + * File descriptor rights, determining which actions may be performed. + */ +typedef uint64_t __wasi_rights_t; + +/** + * The right to invoke `fd_datasync`. + * If `path_open` is set, includes the right to invoke + * `path_open` with `fdflags::dsync`. + */ +#define __WASI_RIGHTS_FD_DATASYNC ((__wasi_rights_t)(1 << 0)) + +/** + * The right to invoke `fd_read` and `sock_recv`. + * If `rights::fd_seek` is set, includes the right to invoke `fd_pread`. + */ +#define __WASI_RIGHTS_FD_READ ((__wasi_rights_t)(1 << 1)) + +/** + * The right to invoke `fd_seek`. This flag implies `rights::fd_tell`. + */ +#define __WASI_RIGHTS_FD_SEEK ((__wasi_rights_t)(1 << 2)) + +/** + * The right to invoke `fd_fdstat_set_flags`. + */ +#define __WASI_RIGHTS_FD_FDSTAT_SET_FLAGS ((__wasi_rights_t)(1 << 3)) + +/** + * The right to invoke `fd_sync`. + * If `path_open` is set, includes the right to invoke + * `path_open` with `fdflags::rsync` and `fdflags::dsync`. + */ +#define __WASI_RIGHTS_FD_SYNC ((__wasi_rights_t)(1 << 4)) + +/** + * The right to invoke `fd_seek` in such a way that the file offset + * remains unaltered (i.e., `whence::cur` with offset zero), or to + * invoke `fd_tell`. + */ +#define __WASI_RIGHTS_FD_TELL ((__wasi_rights_t)(1 << 5)) + +/** + * The right to invoke `fd_write` and `sock_send`. + * If `rights::fd_seek` is set, includes the right to invoke `fd_pwrite`. + */ +#define __WASI_RIGHTS_FD_WRITE ((__wasi_rights_t)(1 << 6)) + +/** + * The right to invoke `fd_advise`. + */ +#define __WASI_RIGHTS_FD_ADVISE ((__wasi_rights_t)(1 << 7)) + +/** + * The right to invoke `fd_allocate`. + */ +#define __WASI_RIGHTS_FD_ALLOCATE ((__wasi_rights_t)(1 << 8)) + +/** + * The right to invoke `path_create_directory`. + */ +#define __WASI_RIGHTS_PATH_CREATE_DIRECTORY ((__wasi_rights_t)(1 << 9)) + +/** + * If `path_open` is set, the right to invoke `path_open` with `oflags::creat`. + */ +#define __WASI_RIGHTS_PATH_CREATE_FILE ((__wasi_rights_t)(1 << 10)) + +/** + * The right to invoke `path_link` with the file descriptor as the + * source directory. + */ +#define __WASI_RIGHTS_PATH_LINK_SOURCE ((__wasi_rights_t)(1 << 11)) + +/** + * The right to invoke `path_link` with the file descriptor as the + * target directory. + */ +#define __WASI_RIGHTS_PATH_LINK_TARGET ((__wasi_rights_t)(1 << 12)) + +/** + * The right to invoke `path_open`. + */ +#define __WASI_RIGHTS_PATH_OPEN ((__wasi_rights_t)(1 << 13)) + +/** + * The right to invoke `fd_readdir`. + */ +#define __WASI_RIGHTS_FD_READDIR ((__wasi_rights_t)(1 << 14)) + +/** + * The right to invoke `path_readlink`. + */ +#define __WASI_RIGHTS_PATH_READLINK ((__wasi_rights_t)(1 << 15)) + +/** + * The right to invoke `path_rename` with the file descriptor as the source directory. + */ +#define __WASI_RIGHTS_PATH_RENAME_SOURCE ((__wasi_rights_t)(1 << 16)) + +/** + * The right to invoke `path_rename` with the file descriptor as the target directory. + */ +#define __WASI_RIGHTS_PATH_RENAME_TARGET ((__wasi_rights_t)(1 << 17)) + +/** + * The right to invoke `path_filestat_get`. + */ +#define __WASI_RIGHTS_PATH_FILESTAT_GET ((__wasi_rights_t)(1 << 18)) + +/** + * The right to change a file's size (there is no `path_filestat_set_size`). + * If `path_open` is set, includes the right to invoke `path_open` with `oflags::trunc`. + */ +#define __WASI_RIGHTS_PATH_FILESTAT_SET_SIZE ((__wasi_rights_t)(1 << 19)) + +/** + * The right to invoke `path_filestat_set_times`. + */ +#define __WASI_RIGHTS_PATH_FILESTAT_SET_TIMES ((__wasi_rights_t)(1 << 20)) + +/** + * The right to invoke `fd_filestat_get`. + */ +#define __WASI_RIGHTS_FD_FILESTAT_GET ((__wasi_rights_t)(1 << 21)) + +/** + * The right to invoke `fd_filestat_set_size`. + */ +#define __WASI_RIGHTS_FD_FILESTAT_SET_SIZE ((__wasi_rights_t)(1 << 22)) + +/** + * The right to invoke `fd_filestat_set_times`. + */ +#define __WASI_RIGHTS_FD_FILESTAT_SET_TIMES ((__wasi_rights_t)(1 << 23)) + +/** + * The right to invoke `path_symlink`. + */ +#define __WASI_RIGHTS_PATH_SYMLINK ((__wasi_rights_t)(1 << 24)) + +/** + * The right to invoke `path_remove_directory`. + */ +#define __WASI_RIGHTS_PATH_REMOVE_DIRECTORY ((__wasi_rights_t)(1 << 25)) + +/** + * The right to invoke `path_unlink_file`. + */ +#define __WASI_RIGHTS_PATH_UNLINK_FILE ((__wasi_rights_t)(1 << 26)) + +/** + * If `rights::fd_read` is set, includes the right to invoke `poll_oneoff` to subscribe to `eventtype::fd_read`. + * If `rights::fd_write` is set, includes the right to invoke `poll_oneoff` to subscribe to `eventtype::fd_write`. + */ +#define __WASI_RIGHTS_POLL_FD_READWRITE ((__wasi_rights_t)(1 << 27)) + +/** + * The right to invoke `sock_shutdown`. + */ +#define __WASI_RIGHTS_SOCK_SHUTDOWN ((__wasi_rights_t)(1 << 28)) + +/** + * The right to invoke `sock_accept`. + */ +#define __WASI_RIGHTS_SOCK_ACCEPT ((__wasi_rights_t)(1 << 29)) + +/** + * A file descriptor handle. + */ +typedef int __wasi_fd_t; + +_Static_assert(sizeof(__wasi_fd_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_fd_t) == 4, "witx calculated align"); + +/** + * A region of memory for scatter/gather reads. + */ +typedef struct __wasi_iovec_t { + /** + * The address of the buffer to be filled. + */ + uint8_t * buf; + + /** + * The length of the buffer to be filled. + */ + __wasi_size_t buf_len; + +} __wasi_iovec_t; + +_Static_assert(sizeof(__wasi_iovec_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_iovec_t) == 4, "witx calculated align"); +_Static_assert(offsetof(__wasi_iovec_t, buf) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_iovec_t, buf_len) == 4, "witx calculated offset"); + +/** + * A region of memory for scatter/gather writes. + */ +typedef struct __wasi_ciovec_t { + /** + * The address of the buffer to be written. + */ + const uint8_t * buf; + + /** + * The length of the buffer to be written. + */ + __wasi_size_t buf_len; + +} __wasi_ciovec_t; + +_Static_assert(sizeof(__wasi_ciovec_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_ciovec_t) == 4, "witx calculated align"); +_Static_assert(offsetof(__wasi_ciovec_t, buf) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_ciovec_t, buf_len) == 4, "witx calculated offset"); + +/** + * Relative offset within a file. + */ +typedef int64_t __wasi_filedelta_t; + +_Static_assert(sizeof(__wasi_filedelta_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_filedelta_t) == 8, "witx calculated align"); + +/** + * The position relative to which to set the offset of the file descriptor. + */ +typedef uint8_t __wasi_whence_t; + +/** + * Seek relative to start-of-file. + */ +#define __WASI_WHENCE_SET (UINT8_C(0)) + +/** + * Seek relative to current position. + */ +#define __WASI_WHENCE_CUR (UINT8_C(1)) + +/** + * Seek relative to end-of-file. + */ +#define __WASI_WHENCE_END (UINT8_C(2)) + +_Static_assert(sizeof(__wasi_whence_t) == 1, "witx calculated size"); +_Static_assert(_Alignof(__wasi_whence_t) == 1, "witx calculated align"); + +/** + * A reference to the offset of a directory entry. + * + * The value 0 signifies the start of the directory. + */ +typedef uint64_t __wasi_dircookie_t; + +_Static_assert(sizeof(__wasi_dircookie_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_dircookie_t) == 8, "witx calculated align"); + +/** + * The type for the `dirent::d_namlen` field of `dirent` struct. + */ +typedef uint32_t __wasi_dirnamlen_t; + +_Static_assert(sizeof(__wasi_dirnamlen_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_dirnamlen_t) == 4, "witx calculated align"); + +/** + * File serial number that is unique within its file system. + */ +typedef uint64_t __wasi_inode_t; + +_Static_assert(sizeof(__wasi_inode_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_inode_t) == 8, "witx calculated align"); + +/** + * The type of a file descriptor or file. + */ +typedef uint8_t __wasi_filetype_t; + +/** + * The type of the file descriptor or file is unknown or is different from any of the other types specified. + */ +#define __WASI_FILETYPE_UNKNOWN (UINT8_C(0)) + +/** + * The file descriptor or file refers to a block device inode. + */ +#define __WASI_FILETYPE_BLOCK_DEVICE (UINT8_C(1)) + +/** + * The file descriptor or file refers to a character device inode. + */ +#define __WASI_FILETYPE_CHARACTER_DEVICE (UINT8_C(2)) + +/** + * The file descriptor or file refers to a directory inode. + */ +#define __WASI_FILETYPE_DIRECTORY (UINT8_C(3)) + +/** + * The file descriptor or file refers to a regular file inode. + */ +#define __WASI_FILETYPE_REGULAR_FILE (UINT8_C(4)) + +/** + * The file descriptor or file refers to a datagram socket. + */ +#define __WASI_FILETYPE_SOCKET_DGRAM (UINT8_C(5)) + +/** + * The file descriptor or file refers to a byte-stream socket. + */ +#define __WASI_FILETYPE_SOCKET_STREAM (UINT8_C(6)) + +/** + * The file refers to a symbolic link inode. + */ +#define __WASI_FILETYPE_SYMBOLIC_LINK (UINT8_C(7)) + +_Static_assert(sizeof(__wasi_filetype_t) == 1, "witx calculated size"); +_Static_assert(_Alignof(__wasi_filetype_t) == 1, "witx calculated align"); + +/** + * A directory entry. + */ +typedef struct __wasi_dirent_t { + /** + * The offset of the next directory entry stored in this directory. + */ + __wasi_dircookie_t d_next; + + /** + * The serial number of the file referred to by this directory entry. + */ + __wasi_inode_t d_ino; + + /** + * The length of the name of the directory entry. + */ + __wasi_dirnamlen_t d_namlen; + + /** + * The type of the file referred to by this directory entry. + */ + __wasi_filetype_t d_type; + +} __wasi_dirent_t; + +_Static_assert(sizeof(__wasi_dirent_t) == 24, "witx calculated size"); +_Static_assert(_Alignof(__wasi_dirent_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_dirent_t, d_next) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_dirent_t, d_ino) == 8, "witx calculated offset"); +_Static_assert(offsetof(__wasi_dirent_t, d_namlen) == 16, "witx calculated offset"); +_Static_assert(offsetof(__wasi_dirent_t, d_type) == 20, "witx calculated offset"); + +/** + * File or memory access pattern advisory information. + */ +typedef uint8_t __wasi_advice_t; + +/** + * The application has no advice to give on its behavior with respect to the specified data. + */ +#define __WASI_ADVICE_NORMAL (UINT8_C(0)) + +/** + * The application expects to access the specified data sequentially from lower offsets to higher offsets. + */ +#define __WASI_ADVICE_SEQUENTIAL (UINT8_C(1)) + +/** + * The application expects to access the specified data in a random order. + */ +#define __WASI_ADVICE_RANDOM (UINT8_C(2)) + +/** + * The application expects to access the specified data in the near future. + */ +#define __WASI_ADVICE_WILLNEED (UINT8_C(3)) + +/** + * The application expects that it will not access the specified data in the near future. + */ +#define __WASI_ADVICE_DONTNEED (UINT8_C(4)) + +/** + * The application expects to access the specified data once and then not reuse it thereafter. + */ +#define __WASI_ADVICE_NOREUSE (UINT8_C(5)) + +_Static_assert(sizeof(__wasi_advice_t) == 1, "witx calculated size"); +_Static_assert(_Alignof(__wasi_advice_t) == 1, "witx calculated align"); + +/** + * File descriptor flags. + */ +typedef uint16_t __wasi_fdflags_t; + +/** + * Append mode: Data written to the file is always appended to the file's end. + */ +#define __WASI_FDFLAGS_APPEND ((__wasi_fdflags_t)(1 << 0)) + +/** + * Write according to synchronized I/O data integrity completion. Only the data stored in the file is synchronized. + */ +#define __WASI_FDFLAGS_DSYNC ((__wasi_fdflags_t)(1 << 1)) + +/** + * Non-blocking mode. + */ +#define __WASI_FDFLAGS_NONBLOCK ((__wasi_fdflags_t)(1 << 2)) + +/** + * Synchronized read I/O operations. + */ +#define __WASI_FDFLAGS_RSYNC ((__wasi_fdflags_t)(1 << 3)) + +/** + * Write according to synchronized I/O file integrity completion. In + * addition to synchronizing the data stored in the file, the implementation + * may also synchronously update the file's metadata. + */ +#define __WASI_FDFLAGS_SYNC ((__wasi_fdflags_t)(1 << 4)) + +/** + * File descriptor attributes. + */ +typedef struct __wasi_fdstat_t { + /** + * File type. + */ + __wasi_filetype_t fs_filetype; + + /** + * File descriptor flags. + */ + __wasi_fdflags_t fs_flags; + + /** + * Rights that apply to this file descriptor. + */ + __wasi_rights_t fs_rights_base; + + /** + * Maximum set of rights that may be installed on new file descriptors that + * are created through this file descriptor, e.g., through `path_open`. + */ + __wasi_rights_t fs_rights_inheriting; + +} __wasi_fdstat_t; + +_Static_assert(sizeof(__wasi_fdstat_t) == 24, "witx calculated size"); +_Static_assert(_Alignof(__wasi_fdstat_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_fdstat_t, fs_filetype) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_fdstat_t, fs_flags) == 2, "witx calculated offset"); +_Static_assert(offsetof(__wasi_fdstat_t, fs_rights_base) == 8, "witx calculated offset"); +_Static_assert(offsetof(__wasi_fdstat_t, fs_rights_inheriting) == 16, "witx calculated offset"); + +/** + * Identifier for a device containing a file system. Can be used in combination + * with `inode` to uniquely identify a file or directory in the filesystem. + */ +typedef uint64_t __wasi_device_t; + +_Static_assert(sizeof(__wasi_device_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_device_t) == 8, "witx calculated align"); + +/** + * Which file time attributes to adjust. + */ +typedef uint16_t __wasi_fstflags_t; + +/** + * Adjust the last data access timestamp to the value stored in `filestat::atim`. + */ +#define __WASI_FSTFLAGS_ATIM ((__wasi_fstflags_t)(1 << 0)) + +/** + * Adjust the last data access timestamp to the time of clock `clockid::realtime`. + */ +#define __WASI_FSTFLAGS_ATIM_NOW ((__wasi_fstflags_t)(1 << 1)) + +/** + * Adjust the last data modification timestamp to the value stored in `filestat::mtim`. + */ +#define __WASI_FSTFLAGS_MTIM ((__wasi_fstflags_t)(1 << 2)) + +/** + * Adjust the last data modification timestamp to the time of clock `clockid::realtime`. + */ +#define __WASI_FSTFLAGS_MTIM_NOW ((__wasi_fstflags_t)(1 << 3)) + +/** + * Flags determining the method of how paths are resolved. + */ +typedef uint32_t __wasi_lookupflags_t; + +/** + * As long as the resolved path corresponds to a symbolic link, it is expanded. + */ +#define __WASI_LOOKUPFLAGS_SYMLINK_FOLLOW ((__wasi_lookupflags_t)(1 << 0)) + +/** + * Open flags used by `path_open`. + */ +typedef uint16_t __wasi_oflags_t; + +/** + * Create file if it does not exist. + */ +#define __WASI_OFLAGS_CREAT ((__wasi_oflags_t)(1 << 0)) + +/** + * Fail if not a directory. + */ +#define __WASI_OFLAGS_DIRECTORY ((__wasi_oflags_t)(1 << 1)) + +/** + * Fail if file already exists. + */ +#define __WASI_OFLAGS_EXCL ((__wasi_oflags_t)(1 << 2)) + +/** + * Truncate file to size 0. + */ +#define __WASI_OFLAGS_TRUNC ((__wasi_oflags_t)(1 << 3)) + +/** + * Number of hard links to an inode. + */ +typedef uint64_t __wasi_linkcount_t; + +_Static_assert(sizeof(__wasi_linkcount_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_linkcount_t) == 8, "witx calculated align"); + +/** + * File attributes. + */ +typedef struct __wasi_filestat_t { + /** + * Device ID of device containing the file. + */ + __wasi_device_t dev; + + /** + * File serial number. + */ + __wasi_inode_t ino; + + /** + * File type. + */ + __wasi_filetype_t filetype; + + /** + * Number of hard links to the file. + */ + __wasi_linkcount_t nlink; + + /** + * For regular files, the file size in bytes. For symbolic links, the length in bytes of the pathname contained in the symbolic link. + */ + __wasi_filesize_t size; + + /** + * Last data access timestamp. + */ + __wasi_timestamp_t atim; + + /** + * Last data modification timestamp. + */ + __wasi_timestamp_t mtim; + + /** + * Last file status change timestamp. + */ + __wasi_timestamp_t ctim; + +} __wasi_filestat_t; + +_Static_assert(sizeof(__wasi_filestat_t) == 64, "witx calculated size"); +_Static_assert(_Alignof(__wasi_filestat_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_filestat_t, dev) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, ino) == 8, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, filetype) == 16, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, nlink) == 24, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, size) == 32, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, atim) == 40, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, mtim) == 48, "witx calculated offset"); +_Static_assert(offsetof(__wasi_filestat_t, ctim) == 56, "witx calculated offset"); + +/** + * User-provided value that may be attached to objects that is retained when + * extracted from the implementation. + */ +typedef uint64_t __wasi_userdata_t; + +_Static_assert(sizeof(__wasi_userdata_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_userdata_t) == 8, "witx calculated align"); + +/** + * Type of a subscription to an event or its occurrence. + */ +typedef uint8_t __wasi_eventtype_t; + +/** + * The time value of clock `subscription_clock::id` has + * reached timestamp `subscription_clock::timeout`. + */ +#define __WASI_EVENTTYPE_CLOCK (UINT8_C(0)) + +/** + * File descriptor `subscription_fd_readwrite::file_descriptor` has data + * available for reading. This event always triggers for regular files. + */ +#define __WASI_EVENTTYPE_FD_READ (UINT8_C(1)) + +/** + * File descriptor `subscription_fd_readwrite::file_descriptor` has capacity + * available for writing. This event always triggers for regular files. + */ +#define __WASI_EVENTTYPE_FD_WRITE (UINT8_C(2)) + +_Static_assert(sizeof(__wasi_eventtype_t) == 1, "witx calculated size"); +_Static_assert(_Alignof(__wasi_eventtype_t) == 1, "witx calculated align"); + +/** + * The state of the file descriptor subscribed to with + * `eventtype::fd_read` or `eventtype::fd_write`. + */ +typedef uint16_t __wasi_eventrwflags_t; + +/** + * The peer of this socket has closed or disconnected. + */ +#define __WASI_EVENTRWFLAGS_FD_READWRITE_HANGUP ((__wasi_eventrwflags_t)(1 << 0)) + +/** + * The contents of an `event` when type is `eventtype::fd_read` or + * `eventtype::fd_write`. + */ +typedef struct __wasi_event_fd_readwrite_t { + /** + * The number of bytes available for reading or writing. + */ + __wasi_filesize_t nbytes; + + /** + * The state of the file descriptor. + */ + __wasi_eventrwflags_t flags; + +} __wasi_event_fd_readwrite_t; + +_Static_assert(sizeof(__wasi_event_fd_readwrite_t) == 16, "witx calculated size"); +_Static_assert(_Alignof(__wasi_event_fd_readwrite_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_event_fd_readwrite_t, nbytes) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_event_fd_readwrite_t, flags) == 8, "witx calculated offset"); + +/** + * An event that occurred. + */ +typedef struct __wasi_event_t { + /** + * User-provided value that got attached to `subscription::userdata`. + */ + __wasi_userdata_t userdata; + + /** + * If non-zero, an error that occurred while processing the subscription request. + */ + __wasi_errno_t error; + + /** + * The type of event that occured + */ + __wasi_eventtype_t type; + + /** + * The contents of the event, if it is an `eventtype::fd_read` or + * `eventtype::fd_write`. `eventtype::clock` events ignore this field. + */ + __wasi_event_fd_readwrite_t fd_readwrite; + +} __wasi_event_t; + +_Static_assert(sizeof(__wasi_event_t) == 32, "witx calculated size"); +_Static_assert(_Alignof(__wasi_event_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_event_t, userdata) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_event_t, error) == 8, "witx calculated offset"); +_Static_assert(offsetof(__wasi_event_t, type) == 10, "witx calculated offset"); +_Static_assert(offsetof(__wasi_event_t, fd_readwrite) == 16, "witx calculated offset"); + +/** + * Flags determining how to interpret the timestamp provided in + * `subscription_clock::timeout`. + */ +typedef uint16_t __wasi_subclockflags_t; + +/** + * If set, treat the timestamp provided in + * `subscription_clock::timeout` as an absolute timestamp of clock + * `subscription_clock::id`. If clear, treat the timestamp + * provided in `subscription_clock::timeout` relative to the + * current time value of clock `subscription_clock::id`. + */ +#define __WASI_SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME ((__wasi_subclockflags_t)(1 << 0)) + +/** + * The contents of a `subscription` when type is `eventtype::clock`. + */ +typedef struct __wasi_subscription_clock_t { + /** + * The clock against which to compare the timestamp. + */ + __wasi_clockid_t id; + + /** + * The absolute or relative timestamp. + */ + __wasi_timestamp_t timeout; + + /** + * The amount of time that the implementation may wait additionally + * to coalesce with other events. + */ + __wasi_timestamp_t precision; + + /** + * Flags specifying whether the timeout is absolute or relative + */ + __wasi_subclockflags_t flags; + +} __wasi_subscription_clock_t; + +_Static_assert(sizeof(__wasi_subscription_clock_t) == 32, "witx calculated size"); +_Static_assert(_Alignof(__wasi_subscription_clock_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_subscription_clock_t, id) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_subscription_clock_t, timeout) == 8, "witx calculated offset"); +_Static_assert(offsetof(__wasi_subscription_clock_t, precision) == 16, "witx calculated offset"); +_Static_assert(offsetof(__wasi_subscription_clock_t, flags) == 24, "witx calculated offset"); + +/** + * The contents of a `subscription` when type is type is + * `eventtype::fd_read` or `eventtype::fd_write`. + */ +typedef struct __wasi_subscription_fd_readwrite_t { + /** + * The file descriptor on which to wait for it to become ready for reading or writing. + */ + __wasi_fd_t file_descriptor; + +} __wasi_subscription_fd_readwrite_t; + +_Static_assert(sizeof(__wasi_subscription_fd_readwrite_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_subscription_fd_readwrite_t) == 4, "witx calculated align"); +_Static_assert(offsetof(__wasi_subscription_fd_readwrite_t, file_descriptor) == 0, "witx calculated offset"); + +/** + * The contents of a `subscription`. + */ +typedef union __wasi_subscription_u_u_t { + __wasi_subscription_clock_t clock; + __wasi_subscription_fd_readwrite_t fd_read; + __wasi_subscription_fd_readwrite_t fd_write; +} __wasi_subscription_u_u_t; +typedef struct __wasi_subscription_u_t { + uint8_t tag; + __wasi_subscription_u_u_t u; +} __wasi_subscription_u_t; + +_Static_assert(sizeof(__wasi_subscription_u_t) == 40, "witx calculated size"); +_Static_assert(_Alignof(__wasi_subscription_u_t) == 8, "witx calculated align"); + +/** + * Subscription to an event. + */ +typedef struct __wasi_subscription_t { + /** + * User-provided value that is attached to the subscription in the + * implementation and returned through `event::userdata`. + */ + __wasi_userdata_t userdata; + + /** + * The type of the event to which to subscribe, and its contents + */ + __wasi_subscription_u_t u; + +} __wasi_subscription_t; + +_Static_assert(sizeof(__wasi_subscription_t) == 48, "witx calculated size"); +_Static_assert(_Alignof(__wasi_subscription_t) == 8, "witx calculated align"); +_Static_assert(offsetof(__wasi_subscription_t, userdata) == 0, "witx calculated offset"); +_Static_assert(offsetof(__wasi_subscription_t, u) == 8, "witx calculated offset"); + +/** + * Exit code generated by a process when exiting. + */ +typedef uint32_t __wasi_exitcode_t; + +_Static_assert(sizeof(__wasi_exitcode_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_exitcode_t) == 4, "witx calculated align"); + +/** + * Flags provided to `sock_recv`. + */ +typedef uint16_t __wasi_riflags_t; + +/** + * Returns the message without removing it from the socket's receive queue. + */ +#define __WASI_RIFLAGS_RECV_PEEK ((__wasi_riflags_t)(1 << 0)) + +/** + * On byte-stream sockets, block until the full amount of data can be returned. + */ +#define __WASI_RIFLAGS_RECV_WAITALL ((__wasi_riflags_t)(1 << 1)) + +/** + * Flags returned by `sock_recv`. + */ +typedef uint16_t __wasi_roflags_t; + +/** + * Returned by `sock_recv`: Message data has been truncated. + */ +#define __WASI_ROFLAGS_RECV_DATA_TRUNCATED ((__wasi_roflags_t)(1 << 0)) + +/** + * Flags provided to `sock_send`. As there are currently no flags + * defined, it must be set to zero. + */ +typedef uint16_t __wasi_siflags_t; + +_Static_assert(sizeof(__wasi_siflags_t) == 2, "witx calculated size"); +_Static_assert(_Alignof(__wasi_siflags_t) == 2, "witx calculated align"); + +/** + * Which channels on a socket to shut down. + */ +typedef uint8_t __wasi_sdflags_t; + +/** + * Disables further receive operations. + */ +#define __WASI_SDFLAGS_RD ((__wasi_sdflags_t)(1 << 0)) + +/** + * Disables further send operations. + */ +#define __WASI_SDFLAGS_WR ((__wasi_sdflags_t)(1 << 1)) + +/** + * Identifiers for preopened capabilities. + */ +typedef uint8_t __wasi_preopentype_t; + +/** + * A pre-opened directory. + */ +#define __WASI_PREOPENTYPE_DIR (UINT8_C(0)) + +_Static_assert(sizeof(__wasi_preopentype_t) == 1, "witx calculated size"); +_Static_assert(_Alignof(__wasi_preopentype_t) == 1, "witx calculated align"); + +/** + * The contents of a $prestat when type is `preopentype::dir`. + */ +typedef struct __wasi_prestat_dir_t { + /** + * The length of the directory name for use with `fd_prestat_dir_name`. + */ + __wasi_size_t pr_name_len; + +} __wasi_prestat_dir_t; + +_Static_assert(sizeof(__wasi_prestat_dir_t) == 4, "witx calculated size"); +_Static_assert(_Alignof(__wasi_prestat_dir_t) == 4, "witx calculated align"); +_Static_assert(offsetof(__wasi_prestat_dir_t, pr_name_len) == 0, "witx calculated offset"); + +/** + * Information about a pre-opened capability. + */ +typedef union __wasi_prestat_u_t { + __wasi_prestat_dir_t dir; +} __wasi_prestat_u_t; +typedef struct __wasi_prestat_t { + uint8_t tag; + __wasi_prestat_u_t u; +} __wasi_prestat_t; + +_Static_assert(sizeof(__wasi_prestat_t) == 8, "witx calculated size"); +_Static_assert(_Alignof(__wasi_prestat_t) == 4, "witx calculated align"); + +/** + * @defgroup wasi_snapshot_preview1 + * @{ + */ + +/** + * Read command-line argument data. + * The size of the array should match that returned by `args_sizes_get`. + * Each argument is expected to be `\0` terminated. + */ +__wasi_errno_t __wasi_args_get( + uint8_t * * argv, + uint8_t * argv_buf +) __attribute__((__warn_unused_result__)); +/** + * Return command-line argument data sizes. + * @return + * Returns the number of arguments and the size of the argument string + * data, or an error. + */ +__wasi_errno_t __wasi_args_sizes_get( + __wasi_size_t *retptr0, + __wasi_size_t *retptr1 +) __attribute__((__warn_unused_result__)); +/** + * Read environment variable data. + * The sizes of the buffers should match that returned by `environ_sizes_get`. + * Key/value pairs are expected to be joined with `=`s, and terminated with `\0`s. + */ +__wasi_errno_t __wasi_environ_get( + uint8_t * * environ, + uint8_t * environ_buf +) __attribute__((__warn_unused_result__)); +/** + * Return environment variable data sizes. + * @return + * Returns the number of environment variable arguments and the size of the + * environment variable data. + */ +__wasi_errno_t __wasi_environ_sizes_get( + __wasi_size_t *retptr0, + __wasi_size_t *retptr1 +) __attribute__((__warn_unused_result__)); +/** + * Return the resolution of a clock. + * Implementations are required to provide a non-zero value for supported clocks. For unsupported clocks, + * return `errno::inval`. + * Note: This is similar to `clock_getres` in POSIX. + * @return + * The resolution of the clock, or an error if one happened. + */ +__wasi_errno_t __wasi_clock_res_get( + /** + * The clock for which to return the resolution. + */ + __wasi_clockid_t id, + __wasi_timestamp_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Return the time value of a clock. + * Note: This is similar to `clock_gettime` in POSIX. + * @return + * The time value of the clock. + */ +__wasi_errno_t __wasi_clock_time_get( + /** + * The clock for which to return the time. + */ + __wasi_clockid_t id, + /** + * The maximum lag (exclusive) that the returned time value may have, compared to its actual value. + */ + __wasi_timestamp_t precision, + __wasi_timestamp_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Provide file advisory information on a file descriptor. + * Note: This is similar to `posix_fadvise` in POSIX. + */ +__wasi_errno_t __wasi_fd_advise( + __wasi_fd_t fd, + /** + * The offset within the file to which the advisory applies. + */ + __wasi_filesize_t offset, + /** + * The length of the region to which the advisory applies. + */ + __wasi_filesize_t len, + /** + * The advice. + */ + __wasi_advice_t advice +) __attribute__((__warn_unused_result__)); +/** + * Force the allocation of space in a file. + * Note: This is similar to `posix_fallocate` in POSIX. + */ +__wasi_errno_t __wasi_fd_allocate( + __wasi_fd_t fd, + /** + * The offset at which to start the allocation. + */ + __wasi_filesize_t offset, + /** + * The length of the area that is allocated. + */ + __wasi_filesize_t len +) __attribute__((__warn_unused_result__)); +/** + * Close a file descriptor. + * Note: This is similar to `close` in POSIX. + */ +__wasi_errno_t __wasi_fd_close( + __wasi_fd_t fd +) __attribute__((__warn_unused_result__)); +/** + * Synchronize the data of a file to disk. + * Note: This is similar to `fdatasync` in POSIX. + */ +__wasi_errno_t __wasi_fd_datasync( + __wasi_fd_t fd +) __attribute__((__warn_unused_result__)); +/** + * Get the attributes of a file descriptor. + * Note: This returns similar flags to `fsync(fd, F_GETFL)` in POSIX, as well as additional fields. + * @return + * The buffer where the file descriptor's attributes are stored. + */ +__wasi_errno_t __wasi_fd_fdstat_get( + __wasi_fd_t fd, + __wasi_fdstat_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Adjust the flags associated with a file descriptor. + * Note: This is similar to `fcntl(fd, F_SETFL, flags)` in POSIX. + */ +__wasi_errno_t __wasi_fd_fdstat_set_flags( + __wasi_fd_t fd, + /** + * The desired values of the file descriptor flags. + */ + __wasi_fdflags_t flags +) __attribute__((__warn_unused_result__)); +/** + * Adjust the rights associated with a file descriptor. + * This can only be used to remove rights, and returns `errno::notcapable` if called in a way that would attempt to add rights + */ +__wasi_errno_t __wasi_fd_fdstat_set_rights( + __wasi_fd_t fd, + /** + * The desired rights of the file descriptor. + */ + __wasi_rights_t fs_rights_base, + __wasi_rights_t fs_rights_inheriting +) __attribute__((__warn_unused_result__)); +/** + * Return the attributes of an open file. + * @return + * The buffer where the file's attributes are stored. + */ +__wasi_errno_t __wasi_fd_filestat_get( + __wasi_fd_t fd, + __wasi_filestat_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Adjust the size of an open file. If this increases the file's size, the extra bytes are filled with zeros. + * Note: This is similar to `ftruncate` in POSIX. + */ +__wasi_errno_t __wasi_fd_filestat_set_size( + __wasi_fd_t fd, + /** + * The desired file size. + */ + __wasi_filesize_t size +) __attribute__((__warn_unused_result__)); +/** + * Adjust the timestamps of an open file or directory. + * Note: This is similar to `futimens` in POSIX. + */ +__wasi_errno_t __wasi_fd_filestat_set_times( + __wasi_fd_t fd, + /** + * The desired values of the data access timestamp. + */ + __wasi_timestamp_t atim, + /** + * The desired values of the data modification timestamp. + */ + __wasi_timestamp_t mtim, + /** + * A bitmask indicating which timestamps to adjust. + */ + __wasi_fstflags_t fst_flags +) __attribute__((__warn_unused_result__)); +/** + * Read from a file descriptor, without using and updating the file descriptor's offset. + * Note: This is similar to `preadv` in POSIX. + * @return + * The number of bytes read. + */ +__wasi_errno_t __wasi_fd_pread( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors in which to store data. + */ + const __wasi_iovec_t *iovs, + /** + * The length of the array pointed to by `iovs`. + */ + size_t iovs_len, + /** + * The offset within the file at which to read. + */ + __wasi_filesize_t offset, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Return a description of the given preopened file descriptor. + * @return + * The buffer where the description is stored. + */ +__wasi_errno_t __wasi_fd_prestat_get( + __wasi_fd_t fd, + __wasi_prestat_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Return a description of the given preopened file descriptor. + */ +__wasi_errno_t __wasi_fd_prestat_dir_name( + __wasi_fd_t fd, + /** + * A buffer into which to write the preopened directory name. + */ + uint8_t * path, + __wasi_size_t path_len +) __attribute__((__warn_unused_result__)); +/** + * Write to a file descriptor, without using and updating the file descriptor's offset. + * Note: This is similar to `pwritev` in POSIX. + * @return + * The number of bytes written. + */ +__wasi_errno_t __wasi_fd_pwrite( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors from which to retrieve data. + */ + const __wasi_ciovec_t *iovs, + /** + * The length of the array pointed to by `iovs`. + */ + size_t iovs_len, + /** + * The offset within the file at which to write. + */ + __wasi_filesize_t offset, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Read from a file descriptor. + * Note: This is similar to `readv` in POSIX. + * @return + * The number of bytes read. + */ +__wasi_errno_t __wasi_fd_read( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors to which to store data. + */ + const __wasi_iovec_t *iovs, + /** + * The length of the array pointed to by `iovs`. + */ + size_t iovs_len, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Read directory entries from a directory. + * When successful, the contents of the output buffer consist of a sequence of + * directory entries. Each directory entry consists of a `dirent` object, + * followed by `dirent::d_namlen` bytes holding the name of the directory + * entry. + * This function fills the output buffer as much as possible, potentially + * truncating the last directory entry. This allows the caller to grow its + * read buffer size in case it's too small to fit a single large directory + * entry, or skip the oversized directory entry. + * @return + * The number of bytes stored in the read buffer. If less than the size of the read buffer, the end of the directory has been reached. + */ +__wasi_errno_t __wasi_fd_readdir( + __wasi_fd_t fd, + /** + * The buffer where directory entries are stored + */ + uint8_t * buf, + __wasi_size_t buf_len, + /** + * The location within the directory to start reading + */ + __wasi_dircookie_t cookie, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Atomically replace a file descriptor by renumbering another file descriptor. + * Due to the strong focus on thread safety, this environment does not provide + * a mechanism to duplicate or renumber a file descriptor to an arbitrary + * number, like `dup2()`. This would be prone to race conditions, as an actual + * file descriptor with the same number could be allocated by a different + * thread at the same time. + * This function provides a way to atomically renumber file descriptors, which + * would disappear if `dup2()` were to be removed entirely. + */ +__wasi_errno_t __wasi_fd_renumber( + __wasi_fd_t fd, + /** + * The file descriptor to overwrite. + */ + __wasi_fd_t to +) __attribute__((__warn_unused_result__)); +/** + * Move the offset of a file descriptor. + * Note: This is similar to `lseek` in POSIX. + * @return + * The new offset of the file descriptor, relative to the start of the file. + */ +__wasi_errno_t __wasi_fd_seek( + __wasi_fd_t fd, + /** + * The number of bytes to move. + */ + __wasi_filedelta_t offset, + /** + * The base from which the offset is relative. + */ + __wasi_whence_t whence, + __wasi_filesize_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Synchronize the data and metadata of a file to disk. + * Note: This is similar to `fsync` in POSIX. + */ +__wasi_errno_t __wasi_fd_sync( + __wasi_fd_t fd +) __attribute__((__warn_unused_result__)); +/** + * Return the current offset of a file descriptor. + * Note: This is similar to `lseek(fd, 0, SEEK_CUR)` in POSIX. + * @return + * The current offset of the file descriptor, relative to the start of the file. + */ +__wasi_errno_t __wasi_fd_tell( + __wasi_fd_t fd, + __wasi_filesize_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Write to a file descriptor. + * Note: This is similar to `writev` in POSIX. + */ +__wasi_errno_t __wasi_fd_write( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors from which to retrieve data. + */ + const __wasi_ciovec_t *iovs, + /** + * The length of the array pointed to by `iovs`. + */ + size_t iovs_len, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Create a directory. + * Note: This is similar to `mkdirat` in POSIX. + */ +__wasi_errno_t __wasi_path_create_directory( + __wasi_fd_t fd, + /** + * The path at which to create the directory. + */ + const char *path +) __attribute__((__warn_unused_result__)); +/** + * Return the attributes of a file or directory. + * Note: This is similar to `stat` in POSIX. + * @return + * The buffer where the file's attributes are stored. + */ +__wasi_errno_t __wasi_path_filestat_get( + __wasi_fd_t fd, + /** + * Flags determining the method of how the path is resolved. + */ + __wasi_lookupflags_t flags, + /** + * The path of the file or directory to inspect. + */ + const char *path, + __wasi_filestat_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Adjust the timestamps of a file or directory. + * Note: This is similar to `utimensat` in POSIX. + */ +__wasi_errno_t __wasi_path_filestat_set_times( + __wasi_fd_t fd, + /** + * Flags determining the method of how the path is resolved. + */ + __wasi_lookupflags_t flags, + /** + * The path of the file or directory to operate on. + */ + const char *path, + /** + * The desired values of the data access timestamp. + */ + __wasi_timestamp_t atim, + /** + * The desired values of the data modification timestamp. + */ + __wasi_timestamp_t mtim, + /** + * A bitmask indicating which timestamps to adjust. + */ + __wasi_fstflags_t fst_flags +) __attribute__((__warn_unused_result__)); +/** + * Create a hard link. + * Note: This is similar to `linkat` in POSIX. + */ +__wasi_errno_t __wasi_path_link( + __wasi_fd_t old_fd, + /** + * Flags determining the method of how the path is resolved. + */ + __wasi_lookupflags_t old_flags, + /** + * The source path from which to link. + */ + const char *old_path, + /** + * The working directory at which the resolution of the new path starts. + */ + __wasi_fd_t new_fd, + /** + * The destination path at which to create the hard link. + */ + const char *new_path +) __attribute__((__warn_unused_result__)); +/** + * Open a file or directory. + * The returned file descriptor is not guaranteed to be the lowest-numbered + * file descriptor not currently open; it is randomized to prevent + * applications from depending on making assumptions about indexes, since this + * is error-prone in multi-threaded contexts. The returned file descriptor is + * guaranteed to be less than 2**31. + * Note: This is similar to `openat` in POSIX. + * @return + * The file descriptor of the file that has been opened. + */ +__wasi_errno_t __wasi_path_open( + __wasi_fd_t fd, + /** + * Flags determining the method of how the path is resolved. + */ + __wasi_lookupflags_t dirflags, + /** + * The relative path of the file or directory to open, relative to the + * `path_open::fd` directory. + */ + const char *path, + /** + * The method by which to open the file. + */ + __wasi_oflags_t oflags, + /** + * The initial rights of the newly created file descriptor. The + * implementation is allowed to return a file descriptor with fewer rights + * than specified, if and only if those rights do not apply to the type of + * file being opened. + * The *base* rights are rights that will apply to operations using the file + * descriptor itself, while the *inheriting* rights are rights that apply to + * file descriptors derived from it. + */ + __wasi_rights_t fs_rights_base, + __wasi_rights_t fs_rights_inheriting, + __wasi_fdflags_t fdflags, + __wasi_fd_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Read the contents of a symbolic link. + * Note: This is similar to `readlinkat` in POSIX. + * @return + * The number of bytes placed in the buffer. + */ +__wasi_errno_t __wasi_path_readlink( + __wasi_fd_t fd, + /** + * The path of the symbolic link from which to read. + */ + const char *path, + /** + * The buffer to which to write the contents of the symbolic link. + */ + uint8_t * buf, + __wasi_size_t buf_len, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Remove a directory. + * Return `errno::notempty` if the directory is not empty. + * Note: This is similar to `unlinkat(fd, path, AT_REMOVEDIR)` in POSIX. + */ +__wasi_errno_t __wasi_path_remove_directory( + __wasi_fd_t fd, + /** + * The path to a directory to remove. + */ + const char *path +) __attribute__((__warn_unused_result__)); +/** + * Rename a file or directory. + * Note: This is similar to `renameat` in POSIX. + */ +__wasi_errno_t __wasi_path_rename( + __wasi_fd_t fd, + /** + * The source path of the file or directory to rename. + */ + const char *old_path, + /** + * The working directory at which the resolution of the new path starts. + */ + __wasi_fd_t new_fd, + /** + * The destination path to which to rename the file or directory. + */ + const char *new_path +) __attribute__((__warn_unused_result__)); +/** + * Create a symbolic link. + * Note: This is similar to `symlinkat` in POSIX. + */ +__wasi_errno_t __wasi_path_symlink( + /** + * The contents of the symbolic link. + */ + const char *old_path, + __wasi_fd_t fd, + /** + * The destination path at which to create the symbolic link. + */ + const char *new_path +) __attribute__((__warn_unused_result__)); +/** + * Unlink a file. + * Return `errno::isdir` if the path refers to a directory. + * Note: This is similar to `unlinkat(fd, path, 0)` in POSIX. + */ +__wasi_errno_t __wasi_path_unlink_file( + __wasi_fd_t fd, + /** + * The path to a file to unlink. + */ + const char *path +) __attribute__((__warn_unused_result__)); +/** + * Concurrently poll for the occurrence of a set of events. + * @return + * The number of events stored. + */ +__wasi_errno_t __wasi_poll_oneoff( + /** + * The events to which to subscribe. + */ + const __wasi_subscription_t * in, + /** + * The events that have occurred. + */ + __wasi_event_t * out, + /** + * Both the number of subscriptions and events. + */ + __wasi_size_t nsubscriptions, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Terminate the process normally. An exit code of 0 indicates successful + * termination of the program. The meanings of other values is dependent on + * the environment. + */ +_Noreturn void __wasi_proc_exit( + /** + * The exit code returned by the process. + */ + __wasi_exitcode_t rval +); +/** + * Temporarily yield execution of the calling thread. + * Note: This is similar to `sched_yield` in POSIX. + */ +__wasi_errno_t __wasi_sched_yield( + void +) __attribute__((__warn_unused_result__)); +/** + * Write high-quality random data into a buffer. + * This function blocks when the implementation is unable to immediately + * provide sufficient high-quality random data. + * This function may execute slowly, so when large mounts of random data are + * required, it's advisable to use this function to seed a pseudo-random + * number generator, rather than to provide the random data directly. + */ +__wasi_errno_t __wasi_random_get( + /** + * The buffer to fill with random data. + */ + uint8_t * buf, + __wasi_size_t buf_len +) __attribute__((__warn_unused_result__)); +/** + * Accept a new incoming connection. + * Note: This is similar to `accept` in POSIX. + * @return + * New socket connection + */ +__wasi_errno_t __wasi_sock_accept( + /** + * The listening socket. + */ + __wasi_fd_t fd, + /** + * The desired values of the file descriptor flags. + */ + __wasi_fdflags_t flags, + __wasi_fd_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Receive a message from a socket. + * Note: This is similar to `recv` in POSIX, though it also supports reading + * the data into multiple buffers in the manner of `readv`. + * @return + * Number of bytes stored in ri_data and message flags. + */ +__wasi_errno_t __wasi_sock_recv( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors to which to store data. + */ + const __wasi_iovec_t *ri_data, + /** + * The length of the array pointed to by `ri_data`. + */ + size_t ri_data_len, + /** + * Message flags. + */ + __wasi_riflags_t ri_flags, + __wasi_size_t *retptr0, + __wasi_roflags_t *retptr1 +) __attribute__((__warn_unused_result__)); +/** + * Send a message on a socket. + * Note: This is similar to `send` in POSIX, though it also supports writing + * the data from multiple buffers in the manner of `writev`. + * @return + * Number of bytes transmitted. + */ +__wasi_errno_t __wasi_sock_send( + __wasi_fd_t fd, + /** + * List of scatter/gather vectors to which to retrieve data + */ + const __wasi_ciovec_t *si_data, + /** + * The length of the array pointed to by `si_data`. + */ + size_t si_data_len, + /** + * Message flags. + */ + __wasi_siflags_t si_flags, + __wasi_size_t *retptr0 +) __attribute__((__warn_unused_result__)); +/** + * Shut down socket send and receive channels. + * Note: This is similar to `shutdown` in POSIX. + */ +__wasi_errno_t __wasi_sock_shutdown( + __wasi_fd_t fd, + /** + * Which channels on the socket to shut down. + */ + __wasi_sdflags_t how +) __attribute__((__warn_unused_result__)); +/** @} */ + +#ifdef _REENTRANT +/** + * Request a new thread to be created by the host. + * + * The host will create a new instance of the current module sharing its + * memory, find an exported entry function--`wasi_thread_start`--, and call the + * entry function with `start_arg` in the new thread. + * + * @see https://github.com/WebAssembly/wasi-threads/#readme + */ +int32_t __wasi_thread_spawn( + /** + * A pointer to an opaque struct to be passed to the module's entry + * function. + */ + void *start_arg +) __attribute__((__warn_unused_result__)); +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-environ.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-environ.h new file mode 100644 index 00000000..f84ba8e6 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-environ.h @@ -0,0 +1,36 @@ +#ifndef __wasi_libc_environ_h +#define __wasi_libc_environ_h + +/// This header file is a WASI-libc-specific interface, and is not needed by +/// most programs. Most programs should just use the standard `getenv` and +/// related APIs, which take care of all of the details automatically. + +#ifdef __cplusplus +extern "C" { +#endif + +/// Initialize the global environment variable state. Only needs to be +/// called once; most users should call `__wasilibc_ensure_environ` instead. +void __wasilibc_initialize_environ(void); + +/// If `__wasilibc_initialize_environ` has not yet been called, call it. +void __wasilibc_ensure_environ(void); + +/// De-initialize the global environment variable state, so that subsequent +/// calls to `__wasilibc_ensure_environ` call `__wasilibc_initialize_environ`. +void __wasilibc_deinitialize_environ(void); + +/// Call `__wasilibc_initialize_environ` only if `environ` and `_environ` are +/// referenced in the program. +void __wasilibc_maybe_reinitialize_environ_eagerly(void); + +/// Return the value of the `environ` variable. Using `environ` directly +/// requires eager initialization of the environment variables. Using this +/// function instead of `environ` allows initialization to happen lazily. +char **__wasilibc_get_environ(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-find-relpath.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-find-relpath.h new file mode 100644 index 00000000..32dbb035 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-find-relpath.h @@ -0,0 +1,79 @@ +#ifndef __wasi_libc_find_relpath_h +#define __wasi_libc_find_relpath_h + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Look up the given `path`, relative to the cwd, in the preopened directory + * map. If a suitable entry is found, then the file descriptor for that entry + * is returned. Additionally the absolute path of the directory's file + * descriptor is returned in `abs_prefix` and the relative portion that needs + * to be opened is stored in `*relative_path`. + * + * The `relative_path` argument must be a pointer to a buffer valid for + * `relative_path_len` bytes, and this may be used as storage for the relative + * portion of the path being returned through `*relative_path`. + * + * See documentation on `__wasilibc_find_abspath` for more info about what the + * paths look like. + * + * Returns -1 on failure. Errno is set to either: + * + * * ENOMEM - failed to allocate memory for internal routines. + * * ENOENT - the `path` could not be found relative to any preopened dir. + * * ERANGE - the `relative_path` buffer is too small to hold the relative path. + */ +int __wasilibc_find_relpath(const char *path, + const char **__restrict__ abs_prefix, + char **relative_path, + size_t relative_path_len); + +/** + * Look up the given `path`, which is interpreted as absolute, in the preopened + * directory map. If a suitable entry is found, then the file descriptor for + * that entry is returned. Additionally the relative portion of the path to + * where the fd is opened is returned through `relative_path`, the absolute + * prefix which was matched is stored to `abs_prefix`, and `relative_path` may + * be an interior pointer to the `abspath` string. + * + * The `abs_prefix` returned string will not contain a leading `/`. Note that + * this may be the empty string. Additionally the returned `relative_path` will + * not contain a leading `/`. The `relative_path` return will not return an + * empty string, it will return `"."` instead if it would otherwise do so. + * + * Returns -1 on failure. Errno is set to either: + * + * * ENOMEM - failed to allocate memory for internal routines. + * * ENOENT - the `path` could not be found relative to any preopened dir. + */ +int __wasilibc_find_abspath(const char *abspath, + const char **__restrict__ abs_prefix, + const char **__restrict__ relative_path); + +/** + * Same as `__wasilibc_find_relpath`, except that this function will interpret + * `relative` as a malloc'd buffer that will be `realloc`'d to the appropriate + * size to contain the relative path. + * + * Note that this is a weak symbol and if it's not defined you can use + * `__wasilibc_find_relpath`. The weak-nature of this symbols means that if it's + * not otherwise included in the compilation then `chdir` wasn't used an there's + * no need for this symbol. + * + * See documentation on `__wasilibc_find_relpath` for more information. + */ +int __wasilibc_find_relpath_alloc( + const char *path, + const char **abs, + char **relative, + size_t *relative_len, + int can_realloc +) __attribute__((__weak__)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-nocwd.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-nocwd.h new file mode 100644 index 00000000..a9885030 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc-nocwd.h @@ -0,0 +1,58 @@ +#ifndef __wasi_libc_nocwd_h +#define __wasi_libc_nocwd_h + +/* + * In order to support AT_FDCWD, we need to wrap the *at functions to handle + * it by calling back into the non-at versions which perform libpreopen + * queries. These __wasilibc_nocwd_* forms are the underlying calls which + * assume AT_FDCWD has already been resolved. + */ + +#define __need_size_t +#include +#include <__typedef_ssize_t.h> +#include <__typedef_mode_t.h> +#include <__typedef_DIR.h> + +#ifdef __cplusplus +extern "C" { +#endif + +struct timespec; +struct stat; +struct dirent; + +int __wasilibc_nocwd___wasilibc_unlinkat(int, const char *) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd___wasilibc_rmdirat(int, const char *) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_linkat(int, const char *, int, const char *, int) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_symlinkat(const char *, int, const char *) + __attribute__((__warn_unused_result__)); +ssize_t __wasilibc_nocwd_readlinkat(int, const char *__restrict, char *__restrict, size_t) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_faccessat(int, const char *, int, int) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_renameat(int, const char *, int, const char *) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_openat_nomode(int, const char *, int) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_fstatat(int, const char *__restrict, struct stat *__restrict, int) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_mkdirat_nomode(int, const char *) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_utimensat(int, const char *, const struct timespec [2], int) + __attribute__((__warn_unused_result__)); +DIR *__wasilibc_nocwd_opendirat(int, const char *) + __attribute__((__warn_unused_result__)); +int __wasilibc_nocwd_scandirat(int, const char *, struct dirent ***, + int (*)(const struct dirent *), + int (*)(const struct dirent **, const struct dirent **)) + __attribute__((__warn_unused_result__)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc.h new file mode 100644 index 00000000..6acb672a --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wasi/libc.h @@ -0,0 +1,75 @@ +#ifndef __wasi_libc_h +#define __wasi_libc_h + +#include <__typedef_off_t.h> +#include <__struct_timespec.h> + +#ifdef __cplusplus +extern "C" { +#endif + +struct stat; +struct timespec; + +/// Populate libc's preopen tables. This is normally done automatically +/// just before it's needed, however if you call `__wasi_fd_renumber` or +/// `__wasi_fd_close` directly, and you need the preopens to be accurate +/// afterward, you should call this before doing so. +void __wasilibc_populate_preopens(void); + +/// Reset the preopens table to an uninitialized state, forcing it to be +/// reinitialized next time it is needed. +void __wasilibc_reset_preopens(void); + +/// Register the given pre-opened file descriptor under the given path. +/// +/// This function does not take ownership of `prefix` (it makes its own copy). +int __wasilibc_register_preopened_fd(int fd, const char *prefix); + +/// Renumber `fd` to `newfd`; similar to `dup2` but does a move rather than a +/// copy. +int __wasilibc_fd_renumber(int fd, int newfd) + __attribute__((__warn_unused_result__)); + +/// Like `unlinkat`, but without depending on `__wasi_path_remove_directory`. +int __wasilibc_unlinkat(int fd, const char *path) + __attribute__((__warn_unused_result__)); + +/// An `*at` version of rmdir. +int __wasilibc_rmdirat(int fd, const char *path) + __attribute__((__warn_unused_result__)); + +/// Like `open`, but without the varargs in the signature. +int __wasilibc_open_nomode(const char *path, int oflag); + +/// Like `openat`, but without the varargs in the signature. +int __wasilibc_openat_nomode(int fd, const char *path, int oflag); + +/// Return the current file offset. Like `lseek(fd, 0, SEEK_CUR)`, but without +/// depending on `lseek`. +off_t __wasilibc_tell(int fd) + __attribute__((__warn_unused_result__)); + +/* Non-`at` forms of various `*at` functions. */ +int __wasilibc_access(const char *pathname, int mode, int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_stat(const char *__restrict pathname, struct stat *__restrict statbuf, int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_utimens(const char *pathname, const struct timespec times[2], int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_link(const char *oldpath, const char *newpath, int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_link_oldat(int olddirfd, const char *oldpath, const char *newpath, int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_link_newat(const char *oldpath, int newdirfd, const char *newpath, int flags) + __attribute__((__warn_unused_result__)); +int __wasilibc_rename_oldat(int olddirfd, const char *oldpath, const char *newpath) + __attribute__((__warn_unused_result__)); +int __wasilibc_rename_newat(const char *oldpath, int newdirfd, const char *newpath) + __attribute__((__warn_unused_result__)); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wchar.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wchar.h new file mode 100644 index 00000000..06b088aa --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/wasm-wasi-musl/wchar.h @@ -0,0 +1,214 @@ +#ifndef _WCHAR_H +#define _WCHAR_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +#define __NEED_FILE +#define __NEED___isoc_va_list +#define __NEED_size_t +#define __NEED_wchar_t +#define __NEED_wint_t +#define __NEED_mbstate_t + +#ifdef __wasilibc_unmodified_upstream /* WASI doesn't need to define FILE as a complete type */ +#if __STDC_VERSION__ < 201112L +#define __NEED_struct__IO_FILE +#endif +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_locale_t +#define __NEED_va_list +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +#define __NEED_wctype_t +#endif + +#include + +#if L'\0'-1 > 0 +#define WCHAR_MAX (0xffffffffu+L'\0') +#define WCHAR_MIN (0+L'\0') +#else +#define WCHAR_MAX (0x7fffffff+L'\0') +#define WCHAR_MIN (-1-0x7fffffff+L'\0') +#endif + +#ifdef __wasilibc_unmodified_upstream /* Use the compiler's definition of NULL */ +#if __cplusplus >= 201103L +#define NULL nullptr +#elif defined(__cplusplus) +#define NULL 0L +#else +#define NULL ((void*)0) +#endif +#else +#define __need_NULL +#include +#endif + +#undef WEOF +#define WEOF 0xffffffffU + +wchar_t *wcscpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +wchar_t *wcscat (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcsncat (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +int wcscmp (const wchar_t *, const wchar_t *); +int wcsncmp (const wchar_t *, const wchar_t *, size_t); + +int wcscoll(const wchar_t *, const wchar_t *); +size_t wcsxfrm (wchar_t *__restrict, const wchar_t *__restrict, size_t); + +wchar_t *wcschr (const wchar_t *, wchar_t); +wchar_t *wcsrchr (const wchar_t *, wchar_t); + +size_t wcscspn (const wchar_t *, const wchar_t *); +size_t wcsspn (const wchar_t *, const wchar_t *); +wchar_t *wcspbrk (const wchar_t *, const wchar_t *); + +wchar_t *wcstok (wchar_t *__restrict, const wchar_t *__restrict, wchar_t **__restrict); + +size_t wcslen (const wchar_t *); + +wchar_t *wcsstr (const wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcswcs (const wchar_t *, const wchar_t *); + +wchar_t *wmemchr (const wchar_t *, wchar_t, size_t); +int wmemcmp (const wchar_t *, const wchar_t *, size_t); +wchar_t *wmemcpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); +wchar_t *wmemmove (wchar_t *, const wchar_t *, size_t); +wchar_t *wmemset (wchar_t *, wchar_t, size_t); + +wint_t btowc (int); +int wctob (wint_t); + +int mbsinit (const mbstate_t *); +size_t mbrtowc (wchar_t *__restrict, const char *__restrict, size_t, mbstate_t *__restrict); +size_t wcrtomb (char *__restrict, wchar_t, mbstate_t *__restrict); + +size_t mbrlen (const char *__restrict, size_t, mbstate_t *__restrict); + +size_t mbsrtowcs (wchar_t *__restrict, const char **__restrict, size_t, mbstate_t *__restrict); +size_t wcsrtombs (char *__restrict, const wchar_t **__restrict, size_t, mbstate_t *__restrict); + +float wcstof (const wchar_t *__restrict, wchar_t **__restrict); +double wcstod (const wchar_t *__restrict, wchar_t **__restrict); +long double wcstold (const wchar_t *__restrict, wchar_t **__restrict); + +long wcstol (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long wcstoul (const wchar_t *__restrict, wchar_t **__restrict, int); + +long long wcstoll (const wchar_t *__restrict, wchar_t **__restrict, int); +unsigned long long wcstoull (const wchar_t *__restrict, wchar_t **__restrict, int); + + + +int fwide (FILE *, int); + + +int wprintf (const wchar_t *__restrict, ...); +int fwprintf (FILE *__restrict, const wchar_t *__restrict, ...); +int swprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, ...); + +int vwprintf (const wchar_t *__restrict, __isoc_va_list); +int vfwprintf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); +int vswprintf (wchar_t *__restrict, size_t, const wchar_t *__restrict, __isoc_va_list); + +int wscanf (const wchar_t *__restrict, ...); +int fwscanf (FILE *__restrict, const wchar_t *__restrict, ...); +int swscanf (const wchar_t *__restrict, const wchar_t *__restrict, ...); + +int vwscanf (const wchar_t *__restrict, __isoc_va_list); +int vfwscanf (FILE *__restrict, const wchar_t *__restrict, __isoc_va_list); +int vswscanf (const wchar_t *__restrict, const wchar_t *__restrict, __isoc_va_list); + +wint_t fgetwc (FILE *); +wint_t getwc (FILE *); +wint_t getwchar (void); + +wint_t fputwc (wchar_t, FILE *); +wint_t putwc (wchar_t, FILE *); +wint_t putwchar (wchar_t); + +wchar_t *fgetws (wchar_t *__restrict, int, FILE *__restrict); +int fputws (const wchar_t *__restrict, FILE *__restrict); + +wint_t ungetwc (wint_t, FILE *); + +struct tm; +size_t wcsftime (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict); + +#undef iswdigit + +#if defined(_GNU_SOURCE) +wint_t fgetwc_unlocked (FILE *); +wint_t getwc_unlocked (FILE *); +wint_t getwchar_unlocked (void); +wint_t fputwc_unlocked (wchar_t, FILE *); +wint_t putwc_unlocked (wchar_t, FILE *); +wint_t putwchar_unlocked (wchar_t); +wchar_t *fgetws_unlocked (wchar_t *__restrict, int, FILE *__restrict); +int fputws_unlocked (const wchar_t *__restrict, FILE *__restrict); +#endif + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +size_t wcsftime_l (wchar_t *__restrict, size_t, const wchar_t *__restrict, const struct tm *__restrict, locale_t); +#endif + +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +FILE *open_wmemstream(wchar_t **, size_t *); +size_t mbsnrtowcs(wchar_t *__restrict, const char **__restrict, size_t, size_t, mbstate_t *__restrict); +size_t wcsnrtombs(char *__restrict, const wchar_t **__restrict, size_t, size_t, mbstate_t *__restrict); +wchar_t *wcsdup(const wchar_t *); +size_t wcsnlen (const wchar_t *, size_t); +wchar_t *wcpcpy (wchar_t *__restrict, const wchar_t *__restrict); +wchar_t *wcpncpy (wchar_t *__restrict, const wchar_t *__restrict, size_t); +int wcscasecmp(const wchar_t *, const wchar_t *); +int wcscasecmp_l(const wchar_t *, const wchar_t *, locale_t); +int wcsncasecmp(const wchar_t *, const wchar_t *, size_t); +int wcsncasecmp_l(const wchar_t *, const wchar_t *, size_t, locale_t); +int wcscoll_l(const wchar_t *, const wchar_t *, locale_t); +size_t wcsxfrm_l(wchar_t *__restrict, const wchar_t *__restrict, size_t, locale_t); +#endif + +#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +int wcwidth (wchar_t); +int wcswidth (const wchar_t *, size_t); +int iswalnum(wint_t); +int iswalpha(wint_t); +int iswblank(wint_t); +int iswcntrl(wint_t); +int iswdigit(wint_t); +int iswgraph(wint_t); +int iswlower(wint_t); +int iswprint(wint_t); +int iswpunct(wint_t); +int iswspace(wint_t); +int iswupper(wint_t); +int iswxdigit(wint_t); +int iswctype(wint_t, wctype_t); +wint_t towlower(wint_t); +wint_t towupper(wint_t); +wctype_t wctype(const char *); + +#ifndef __cplusplus +#undef iswdigit +#define iswdigit(a) (0 ? iswdigit(a) : ((unsigned)(a)-'0') < 10) +#endif +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/a.out.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/a.out.h new file mode 100644 index 00000000..db1281a9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/a.out.h @@ -0,0 +1,21 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_A_OUT_H +#define _ASM_X86_A_OUT_H + +struct exec +{ + unsigned int a_info; /* Use macros N_MAGIC, etc for access */ + unsigned a_text; /* length of text, in bytes */ + unsigned a_data; /* length of data, in bytes */ + unsigned a_bss; /* length of uninitialized data area for file, in bytes */ + unsigned a_syms; /* length of symbol table data in file, in bytes */ + unsigned a_entry; /* start address */ + unsigned a_trsize; /* length of relocation info for text, in bytes */ + unsigned a_drsize; /* length of relocation info for data, in bytes */ +}; + +#define N_TRSIZE(a) ((a).a_trsize) +#define N_DRSIZE(a) ((a).a_drsize) +#define N_SYMSIZE(a) ((a).a_syms) + +#endif /* _ASM_X86_A_OUT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/amd_hsmp.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/amd_hsmp.h new file mode 100644 index 00000000..5e1847f9 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/amd_hsmp.h @@ -0,0 +1,417 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef _ASM_X86_AMD_HSMP_H_ +#define _ASM_X86_AMD_HSMP_H_ + +#include + +#pragma pack(4) + +#define HSMP_MAX_MSG_LEN 8 + +/* + * HSMP Messages supported + */ +enum hsmp_message_ids { + HSMP_TEST = 1, /* 01h Increments input value by 1 */ + HSMP_GET_SMU_VER, /* 02h SMU FW version */ + HSMP_GET_PROTO_VER, /* 03h HSMP interface version */ + HSMP_GET_SOCKET_POWER, /* 04h average package power consumption */ + HSMP_SET_SOCKET_POWER_LIMIT, /* 05h Set the socket power limit */ + HSMP_GET_SOCKET_POWER_LIMIT, /* 06h Get current socket power limit */ + HSMP_GET_SOCKET_POWER_LIMIT_MAX,/* 07h Get maximum socket power value */ + HSMP_SET_BOOST_LIMIT, /* 08h Set a core maximum frequency limit */ + HSMP_SET_BOOST_LIMIT_SOCKET, /* 09h Set socket maximum frequency level */ + HSMP_GET_BOOST_LIMIT, /* 0Ah Get current frequency limit */ + HSMP_GET_PROC_HOT, /* 0Bh Get PROCHOT status */ + HSMP_SET_XGMI_LINK_WIDTH, /* 0Ch Set max and min width of xGMI Link */ + HSMP_SET_DF_PSTATE, /* 0Dh Alter APEnable/Disable messages behavior */ + HSMP_SET_AUTO_DF_PSTATE, /* 0Eh Enable DF P-State Performance Boost algorithm */ + HSMP_GET_FCLK_MCLK, /* 0Fh Get FCLK and MEMCLK for current socket */ + HSMP_GET_CCLK_THROTTLE_LIMIT, /* 10h Get CCLK frequency limit in socket */ + HSMP_GET_C0_PERCENT, /* 11h Get average C0 residency in socket */ + HSMP_SET_NBIO_DPM_LEVEL, /* 12h Set max/min LCLK DPM Level for a given NBIO */ + HSMP_GET_NBIO_DPM_LEVEL, /* 13h Get LCLK DPM level min and max for a given NBIO */ + HSMP_GET_DDR_BANDWIDTH, /* 14h Get theoretical maximum and current DDR Bandwidth */ + HSMP_GET_TEMP_MONITOR, /* 15h Get socket temperature */ + HSMP_GET_DIMM_TEMP_RANGE, /* 16h Get per-DIMM temperature range and refresh rate */ + HSMP_GET_DIMM_POWER, /* 17h Get per-DIMM power consumption */ + HSMP_GET_DIMM_THERMAL, /* 18h Get per-DIMM thermal sensors */ + HSMP_GET_SOCKET_FREQ_LIMIT, /* 19h Get current active frequency per socket */ + HSMP_GET_CCLK_CORE_LIMIT, /* 1Ah Get CCLK frequency limit per core */ + HSMP_GET_RAILS_SVI, /* 1Bh Get SVI-based Telemetry for all rails */ + HSMP_GET_SOCKET_FMAX_FMIN, /* 1Ch Get Fmax and Fmin per socket */ + HSMP_GET_IOLINK_BANDWITH, /* 1Dh Get current bandwidth on IO Link */ + HSMP_GET_XGMI_BANDWITH, /* 1Eh Get current bandwidth on xGMI Link */ + HSMP_SET_GMI3_WIDTH, /* 1Fh Set max and min GMI3 Link width */ + HSMP_SET_PCI_RATE, /* 20h Control link rate on PCIe devices */ + HSMP_SET_POWER_MODE, /* 21h Select power efficiency profile policy */ + HSMP_SET_PSTATE_MAX_MIN, /* 22h Set the max and min DF P-State */ + HSMP_GET_METRIC_TABLE_VER, /* 23h Get metrics table version */ + HSMP_GET_METRIC_TABLE, /* 24h Get metrics table */ + HSMP_GET_METRIC_TABLE_DRAM_ADDR,/* 25h Get metrics table dram address */ + HSMP_MSG_ID_MAX, +}; + +struct hsmp_message { + __u32 msg_id; /* Message ID */ + __u16 num_args; /* Number of input argument words in message */ + __u16 response_sz; /* Number of expected output/response words */ + __u32 args[HSMP_MAX_MSG_LEN]; /* argument/response buffer */ + __u16 sock_ind; /* socket number */ +}; + +enum hsmp_msg_type { + HSMP_RSVD = -1, + HSMP_SET = 0, + HSMP_GET = 1, +}; + +enum hsmp_proto_versions { + HSMP_PROTO_VER2 = 2, + HSMP_PROTO_VER3, + HSMP_PROTO_VER4, + HSMP_PROTO_VER5, + HSMP_PROTO_VER6 +}; + +struct hsmp_msg_desc { + int num_args; + int response_sz; + enum hsmp_msg_type type; +}; + +/* + * User may use these comments as reference, please find the + * supported list of messages and message definition in the + * HSMP chapter of respective family/model PPR. + * + * Not supported messages would return -ENOMSG. + */ +static const struct hsmp_msg_desc hsmp_msg_desc_table[] + __attribute__((unused)) = { + /* RESERVED */ + {0, 0, HSMP_RSVD}, + + /* + * HSMP_TEST, num_args = 1, response_sz = 1 + * input: args[0] = xx + * output: args[0] = xx + 1 + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_SMU_VER, num_args = 0, response_sz = 1 + * output: args[0] = smu fw ver + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_PROTO_VER, num_args = 0, response_sz = 1 + * output: args[0] = proto version + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_SOCKET_POWER, num_args = 0, response_sz = 1 + * output: args[0] = socket power in mWatts + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_SET_SOCKET_POWER_LIMIT, num_args = 1, response_sz = 0 + * input: args[0] = power limit value in mWatts + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_GET_SOCKET_POWER_LIMIT, num_args = 0, response_sz = 1 + * output: args[0] = socket power limit value in mWatts + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_SOCKET_POWER_LIMIT_MAX, num_args = 0, response_sz = 1 + * output: args[0] = maximuam socket power limit in mWatts + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_SET_BOOST_LIMIT, num_args = 1, response_sz = 0 + * input: args[0] = apic id[31:16] + boost limit value in MHz[15:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_SET_BOOST_LIMIT_SOCKET, num_args = 1, response_sz = 0 + * input: args[0] = boost limit value in MHz + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_GET_BOOST_LIMIT, num_args = 1, response_sz = 1 + * input: args[0] = apic id + * output: args[0] = boost limit value in MHz + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_PROC_HOT, num_args = 0, response_sz = 1 + * output: args[0] = proc hot status + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_SET_XGMI_LINK_WIDTH, num_args = 1, response_sz = 0 + * input: args[0] = min link width[15:8] + max link width[7:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_SET_DF_PSTATE, num_args = 1, response_sz = 0 + * input: args[0] = df pstate[7:0] + */ + {1, 0, HSMP_SET}, + + /* HSMP_SET_AUTO_DF_PSTATE, num_args = 0, response_sz = 0 */ + {0, 0, HSMP_SET}, + + /* + * HSMP_GET_FCLK_MCLK, num_args = 0, response_sz = 2 + * output: args[0] = fclk in MHz, args[1] = mclk in MHz + */ + {0, 2, HSMP_GET}, + + /* + * HSMP_GET_CCLK_THROTTLE_LIMIT, num_args = 0, response_sz = 1 + * output: args[0] = core clock in MHz + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_C0_PERCENT, num_args = 0, response_sz = 1 + * output: args[0] = average c0 residency + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_SET_NBIO_DPM_LEVEL, num_args = 1, response_sz = 0 + * input: args[0] = nbioid[23:16] + max dpm level[15:8] + min dpm level[7:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_GET_NBIO_DPM_LEVEL, num_args = 1, response_sz = 1 + * input: args[0] = nbioid[23:16] + * output: args[0] = max dpm level[15:8] + min dpm level[7:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_DDR_BANDWIDTH, num_args = 0, response_sz = 1 + * output: args[0] = max bw in Gbps[31:20] + utilised bw in Gbps[19:8] + + * bw in percentage[7:0] + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_TEMP_MONITOR, num_args = 0, response_sz = 1 + * output: args[0] = temperature in degree celsius. [15:8] integer part + + * [7:5] fractional part + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_DIMM_TEMP_RANGE, num_args = 1, response_sz = 1 + * input: args[0] = DIMM address[7:0] + * output: args[0] = refresh rate[3] + temperature range[2:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_DIMM_POWER, num_args = 1, response_sz = 1 + * input: args[0] = DIMM address[7:0] + * output: args[0] = DIMM power in mW[31:17] + update rate in ms[16:8] + + * DIMM address[7:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_DIMM_THERMAL, num_args = 1, response_sz = 1 + * input: args[0] = DIMM address[7:0] + * output: args[0] = temperature in degree celsius[31:21] + update rate in ms[16:8] + + * DIMM address[7:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_SOCKET_FREQ_LIMIT, num_args = 0, response_sz = 1 + * output: args[0] = frequency in MHz[31:16] + frequency source[15:0] + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_CCLK_CORE_LIMIT, num_args = 1, response_sz = 1 + * input: args[0] = apic id [31:0] + * output: args[0] = frequency in MHz[31:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_RAILS_SVI, num_args = 0, response_sz = 1 + * output: args[0] = power in mW[31:0] + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_SOCKET_FMAX_FMIN, num_args = 0, response_sz = 1 + * output: args[0] = fmax in MHz[31:16] + fmin in MHz[15:0] + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_IOLINK_BANDWITH, num_args = 1, response_sz = 1 + * input: args[0] = link id[15:8] + bw type[2:0] + * output: args[0] = io bandwidth in Mbps[31:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_GET_XGMI_BANDWITH, num_args = 1, response_sz = 1 + * input: args[0] = link id[15:8] + bw type[2:0] + * output: args[0] = xgmi bandwidth in Mbps[31:0] + */ + {1, 1, HSMP_GET}, + + /* + * HSMP_SET_GMI3_WIDTH, num_args = 1, response_sz = 0 + * input: args[0] = min link width[15:8] + max link width[7:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_SET_PCI_RATE, num_args = 1, response_sz = 1 + * input: args[0] = link rate control value + * output: args[0] = previous link rate control value + */ + {1, 1, HSMP_SET}, + + /* + * HSMP_SET_POWER_MODE, num_args = 1, response_sz = 0 + * input: args[0] = power efficiency mode[2:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_SET_PSTATE_MAX_MIN, num_args = 1, response_sz = 0 + * input: args[0] = min df pstate[15:8] + max df pstate[7:0] + */ + {1, 0, HSMP_SET}, + + /* + * HSMP_GET_METRIC_TABLE_VER, num_args = 0, response_sz = 1 + * output: args[0] = metrics table version + */ + {0, 1, HSMP_GET}, + + /* + * HSMP_GET_METRIC_TABLE, num_args = 0, response_sz = 0 + */ + {0, 0, HSMP_GET}, + + /* + * HSMP_GET_METRIC_TABLE_DRAM_ADDR, num_args = 0, response_sz = 2 + * output: args[0] = lower 32 bits of the address + * output: args[1] = upper 32 bits of the address + */ + {0, 2, HSMP_GET}, +}; + +/* Metrics table (supported only with proto version 6) */ +struct hsmp_metric_table { + __u32 accumulation_counter; + + /* TEMPERATURE */ + __u32 max_socket_temperature; + __u32 max_vr_temperature; + __u32 max_hbm_temperature; + __u64 max_socket_temperature_acc; + __u64 max_vr_temperature_acc; + __u64 max_hbm_temperature_acc; + + /* POWER */ + __u32 socket_power_limit; + __u32 max_socket_power_limit; + __u32 socket_power; + + /* ENERGY */ + __u64 timestamp; + __u64 socket_energy_acc; + __u64 ccd_energy_acc; + __u64 xcd_energy_acc; + __u64 aid_energy_acc; + __u64 hbm_energy_acc; + + /* FREQUENCY */ + __u32 cclk_frequency_limit; + __u32 gfxclk_frequency_limit; + __u32 fclk_frequency; + __u32 uclk_frequency; + __u32 socclk_frequency[4]; + __u32 vclk_frequency[4]; + __u32 dclk_frequency[4]; + __u32 lclk_frequency[4]; + __u64 gfxclk_frequency_acc[8]; + __u64 cclk_frequency_acc[96]; + + /* FREQUENCY RANGE */ + __u32 max_cclk_frequency; + __u32 min_cclk_frequency; + __u32 max_gfxclk_frequency; + __u32 min_gfxclk_frequency; + __u32 fclk_frequency_table[4]; + __u32 uclk_frequency_table[4]; + __u32 socclk_frequency_table[4]; + __u32 vclk_frequency_table[4]; + __u32 dclk_frequency_table[4]; + __u32 lclk_frequency_table[4]; + __u32 max_lclk_dpm_range; + __u32 min_lclk_dpm_range; + + /* XGMI */ + __u32 xgmi_width; + __u32 xgmi_bitrate; + __u64 xgmi_read_bandwidth_acc[8]; + __u64 xgmi_write_bandwidth_acc[8]; + + /* ACTIVITY */ + __u32 socket_c0_residency; + __u32 socket_gfx_busy; + __u32 dram_bandwidth_utilization; + __u64 socket_c0_residency_acc; + __u64 socket_gfx_busy_acc; + __u64 dram_bandwidth_acc; + __u32 max_dram_bandwidth; + __u64 dram_bandwidth_utilization_acc; + __u64 pcie_bandwidth_acc[4]; + + /* THROTTLERS */ + __u32 prochot_residency_acc; + __u32 ppt_residency_acc; + __u32 socket_thm_residency_acc; + __u32 vr_thm_residency_acc; + __u32 hbm_thm_residency_acc; + __u32 spare; + + /* New items at the end to maintain driver compatibility */ + __u32 gfxclk_frequency[8]; +}; + +/* Reset to default packing */ +#pragma pack() + +/* Define unique ioctl command for hsmp msgs using generic _IOWR */ +#define HSMP_BASE_IOCTL_NR 0xF8 +#define HSMP_IOCTL_CMD _IOWR(HSMP_BASE_IOCTL_NR, 0, struct hsmp_message) + +#endif /*_ASM_X86_AMD_HSMP_H_*/ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/auxvec.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/auxvec.h new file mode 100644 index 00000000..1e7e4312 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/auxvec.h @@ -0,0 +1,20 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_AUXVEC_H +#define _ASM_X86_AUXVEC_H +/* + * Architecture-neutral AT_ values in 0-17, leave some room + * for more of them, start the x86-specific ones at 32. + */ +#ifdef __i386__ +#define AT_SYSINFO 32 +#endif +#define AT_SYSINFO_EHDR 33 + +/* entries in ARCH_DLINFO: */ +#if defined(CONFIG_IA32_EMULATION) || !defined(CONFIG_X86_64) +# define AT_VECTOR_SIZE_ARCH 3 +#else /* else it's non-compat x86-64 */ +# define AT_VECTOR_SIZE_ARCH 2 +#endif + +#endif /* _ASM_X86_AUXVEC_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bitsperlong.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bitsperlong.h new file mode 100644 index 00000000..2586bdae --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bitsperlong.h @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef __ASM_X86_BITSPERLONG_H +#define __ASM_X86_BITSPERLONG_H + +#if defined(__x86_64__) && !defined(__ILP32__) +# define __BITS_PER_LONG 64 +#else +# define __BITS_PER_LONG 32 +#endif + +#include + +#endif /* __ASM_X86_BITSPERLONG_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/boot.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/boot.h new file mode 100644 index 00000000..0f676d55 --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/boot.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_BOOT_H +#define _ASM_X86_BOOT_H + +/* Internal svga startup constants */ +#define NORMAL_VGA 0xffff /* 80x25 mode */ +#define EXTENDED_VGA 0xfffe /* 80x50 mode */ +#define ASK_VGA 0xfffd /* ask for it at bootup */ + + +#endif /* _ASM_X86_BOOT_H */ \ No newline at end of file diff --git a/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bootparam.h b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bootparam.h new file mode 100644 index 00000000..35599e1f --- /dev/null +++ b/tools/zig-x86_64-windows-0.14.1/lib/libc/include/x86-linux-any/asm/bootparam.h @@ -0,0 +1,215 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +#ifndef _ASM_X86_BOOTPARAM_H +#define _ASM_X86_BOOTPARAM_H + +#include + +/* ram_size flags */ +#define RAMDISK_IMAGE_START_MASK 0x07FF +#define RAMDISK_PROMPT_FLAG 0x8000 +#define RAMDISK_LOAD_FLAG 0x4000 + +/* loadflags */ +#define LOADED_HIGH (1<<0) +#define KASLR_FLAG (1<<1) +#define QUIET_FLAG (1<<5) +#define KEEP_SEGMENTS (1<<6) +#define CAN_USE_HEAP (1<<7) + +/* xloadflags */ +#define XLF_KERNEL_64 (1<<0) +#define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1) +#define XLF_EFI_HANDOVER_32 (1<<2) +#define XLF_EFI_HANDOVER_64 (1<<3) +#define XLF_EFI_KEXEC (1<<4) +#define XLF_5LEVEL (1<<5) +#define XLF_5LEVEL_ENABLED (1<<6) +#define XLF_MEM_ENCRYPTION (1<<7) + +#ifndef __ASSEMBLY__ + +#include +#include +#include +#include +#include +#include